diff --git a/CMakeLists.txt b/CMakeLists.txt index 79b0855..8dfd410 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,8 @@ set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) -add_compile_options( +# Store our strict compile options for later use +set(STRICT_COMPILE_OPTIONS -Wall -Wextra -Woverloaded-virtual @@ -34,16 +35,31 @@ FetchContent_Declare( ) FetchContent_MakeAvailable(xxHash) +FetchContent_Declare( + zlib + GIT_REPOSITORY https://github.com/madler/zlib.git + GIT_TAG v1.3.1 +) +FetchContent_MakeAvailable(zlib) + add_executable(beamsim main.cpp) target_include_directories(beamsim PRIVATE ${PROJECT_SOURCE_DIR}/src) target_link_libraries(beamsim yaml-cpp::yaml-cpp xxhash) +target_compile_options(beamsim PRIVATE ${STRICT_COMPILE_OPTIONS}) find_package(ns3 CONFIG) if(ns3_FOUND) find_package(MPI REQUIRED) + include(external/lsquic.cmake) + + add_executable(lsquic-test lsquic-test.cpp) + target_link_libraries(lsquic-test lsquic) + target_compile_options(lsquic-test PRIVATE ${STRICT_COMPILE_OPTIONS}) + target_compile_definitions(beamsim PRIVATE ns3_FOUND) target_link_libraries(beamsim + lsquic ns3::applications ns3::core ns3::internet @@ -55,3 +71,4 @@ endif() add_executable(gml2bin gml2bin.cpp) target_include_directories(gml2bin PRIVATE ${PROJECT_SOURCE_DIR}/src) +target_compile_options(gml2bin PRIVATE ${STRICT_COMPILE_OPTIONS}) diff --git a/cli.hpp b/cli.hpp index 72d8745..08ccaad 100644 --- a/cli.hpp +++ b/cli.hpp @@ -6,6 +6,7 @@ #include #include #include +#include struct Bitrate { uint64_t v; @@ -506,6 +507,10 @@ struct SimulationConfig { {Topology::GOSSIP, "gossip"}, {Topology::GRID, "grid"}, }}; + const Args::Enum enum_protocol_{{ + {beamsim::ns3_::Protocol::TCP, "tcp"}, + {beamsim::ns3_::Protocol::QUIC, "quic"}, + }}; beamsim::example::RolesConfig roles_config; @@ -529,6 +534,13 @@ struct SimulationConfig { "Communication topology", enum_topology_, }; + beamsim::ns3_::Protocol protocol = beamsim::ns3_::Protocol::TCP; + Args::FlagEnum flag_protocol{ + {"-p", "--protocol"}, + protocol, + "Network protocol (TCP/UDP)", + enum_protocol_, + }; Args::FlagInt flag_group_count{{ {"-g", "--groups"}, roles_config.group_count, @@ -617,6 +629,7 @@ struct SimulationConfig { return f(flag_config_path, flag_backend, flag_topology, + flag_protocol, flag_group_count, flag_validators_per_group, flag_shuffle, @@ -682,6 +695,7 @@ struct SimulationConfig { Yaml yaml{YAML::LoadFile(path)}; yaml.at({"backend"}).get(backend, enum_backend_); yaml.at({"topology"}).get(topology, enum_topology_); + yaml.at({"protocol"}).get(protocol, enum_protocol_); yaml.at({"shuffle"}).get(shuffle); yaml.at({"snark1_group_once"}).get(snark1_group_once); yaml.at({"snark1_pull"}).get(snark1_pull); @@ -759,6 +773,7 @@ struct SimulationConfig { std::println("Configuration:"); std::println(" Backend: {}", enum_backend_.str(backend)); std::println(" Topology: {}", enum_topology_.str(topology)); + std::println(" Protocol: {}", enum_protocol_.str(protocol)); std::println(" Groups: {}", roles_config.group_count); std::println(" Validators per group: {}", roles_config.group_validator_count); diff --git a/external/lsquic.cmake b/external/lsquic.cmake new file mode 100644 index 0000000..a4ae7ba --- /dev/null +++ b/external/lsquic.cmake @@ -0,0 +1,110 @@ +set(lsquic_dir ${CMAKE_CURRENT_LIST_DIR}/lsquic) + +add_library(lsquic + ${lsquic_dir}/src/liblsquic/ls-qpack/lsqpack.c + ${lsquic_dir}/src/liblsquic/ls-sfparser.c + ${lsquic_dir}/src/liblsquic/lsquic_adaptive_cc.c + ${lsquic_dir}/src/liblsquic/lsquic_alarmset.c + ${lsquic_dir}/src/liblsquic/lsquic_arr.c + ${lsquic_dir}/src/liblsquic/lsquic_attq.c + ${lsquic_dir}/src/liblsquic/lsquic_bbr.c + ${lsquic_dir}/src/liblsquic/lsquic_bw_sampler.c + ${lsquic_dir}/src/liblsquic/lsquic_cfcw.c + ${lsquic_dir}/src/liblsquic/lsquic_chsk_stream.c + ${lsquic_dir}/src/liblsquic/lsquic_conn.c + ${lsquic_dir}/src/liblsquic/lsquic_crand.c + ${lsquic_dir}/src/liblsquic/lsquic_crt_compress.c + ${lsquic_dir}/src/liblsquic/lsquic_crypto.c + ${lsquic_dir}/src/liblsquic/lsquic_cubic.c + ${lsquic_dir}/src/liblsquic/lsquic_di_error.c + ${lsquic_dir}/src/liblsquic/lsquic_di_hash.c + ${lsquic_dir}/src/liblsquic/lsquic_di_nocopy.c + ${lsquic_dir}/src/liblsquic/lsquic_enc_sess_common.c + ${lsquic_dir}/src/liblsquic/lsquic_enc_sess_ietf.c + ${lsquic_dir}/src/liblsquic/lsquic_eng_hist.c + ${lsquic_dir}/src/liblsquic/lsquic_engine.c + ${lsquic_dir}/src/liblsquic/lsquic_ev_log.c + ${lsquic_dir}/src/liblsquic/lsquic_frab_list.c + ${lsquic_dir}/src/liblsquic/lsquic_frame_common.c + ${lsquic_dir}/src/liblsquic/lsquic_frame_reader.c + ${lsquic_dir}/src/liblsquic/lsquic_frame_writer.c + ${lsquic_dir}/src/liblsquic/lsquic_full_conn.c + ${lsquic_dir}/src/liblsquic/lsquic_full_conn_ietf.c + ${lsquic_dir}/src/liblsquic/lsquic_global.c + ${lsquic_dir}/src/liblsquic/lsquic_handshake.c + ${lsquic_dir}/src/liblsquic/lsquic_hash.c + ${lsquic_dir}/src/liblsquic/lsquic_hcsi_reader.c + ${lsquic_dir}/src/liblsquic/lsquic_hcso_writer.c + ${lsquic_dir}/src/liblsquic/lsquic_headers_stream.c + ${lsquic_dir}/src/liblsquic/lsquic_hkdf.c + ${lsquic_dir}/src/liblsquic/lsquic_hpi.c + ${lsquic_dir}/src/liblsquic/lsquic_hspack_valid.c + ${lsquic_dir}/src/liblsquic/lsquic_http.c + ${lsquic_dir}/src/liblsquic/lsquic_http1x_if.c + ${lsquic_dir}/src/liblsquic/lsquic_logger.c + ${lsquic_dir}/src/liblsquic/lsquic_malo.c + ${lsquic_dir}/src/liblsquic/lsquic_min_heap.c + ${lsquic_dir}/src/liblsquic/lsquic_mini_conn.c + ${lsquic_dir}/src/liblsquic/lsquic_mini_conn_ietf.c + ${lsquic_dir}/src/liblsquic/lsquic_minmax.c + ${lsquic_dir}/src/liblsquic/lsquic_mm.c + ${lsquic_dir}/src/liblsquic/lsquic_pacer.c + ${lsquic_dir}/src/liblsquic/lsquic_packet_common.c + ${lsquic_dir}/src/liblsquic/lsquic_packet_gquic.c + ${lsquic_dir}/src/liblsquic/lsquic_packet_in.c + ${lsquic_dir}/src/liblsquic/lsquic_packet_out.c + ${lsquic_dir}/src/liblsquic/lsquic_packet_resize.c + ${lsquic_dir}/src/liblsquic/lsquic_parse_Q046.c + ${lsquic_dir}/src/liblsquic/lsquic_parse_Q050.c + ${lsquic_dir}/src/liblsquic/lsquic_parse_common.c + ${lsquic_dir}/src/liblsquic/lsquic_parse_gquic_be.c + ${lsquic_dir}/src/liblsquic/lsquic_parse_gquic_common.c + ${lsquic_dir}/src/liblsquic/lsquic_parse_ietf_v1.c + ${lsquic_dir}/src/liblsquic/lsquic_parse_iquic_common.c + ${lsquic_dir}/src/liblsquic/lsquic_pr_queue.c + ${lsquic_dir}/src/liblsquic/lsquic_purga.c + ${lsquic_dir}/src/liblsquic/lsquic_qdec_hdl.c + ${lsquic_dir}/src/liblsquic/lsquic_qenc_hdl.c + ${lsquic_dir}/src/liblsquic/lsquic_qlog.c + ${lsquic_dir}/src/liblsquic/lsquic_qpack_exp.c + ${lsquic_dir}/src/liblsquic/lsquic_rechist.c + ${lsquic_dir}/src/liblsquic/lsquic_rtt.c + ${lsquic_dir}/src/liblsquic/lsquic_send_ctl.c + ${lsquic_dir}/src/liblsquic/lsquic_senhist.c + ${lsquic_dir}/src/liblsquic/lsquic_set.c + ${lsquic_dir}/src/liblsquic/lsquic_sfcw.c + ${lsquic_dir}/src/liblsquic/lsquic_shsk_stream.c + ${lsquic_dir}/src/liblsquic/lsquic_spi.c + ${lsquic_dir}/src/liblsquic/lsquic_stock_shi.c + ${lsquic_dir}/src/liblsquic/lsquic_str.c + ${lsquic_dir}/src/liblsquic/lsquic_stream.c + ${lsquic_dir}/src/liblsquic/lsquic_tokgen.c + ${lsquic_dir}/src/liblsquic/lsquic_trans_params.c + ${lsquic_dir}/src/liblsquic/lsquic_trechist.c + ${lsquic_dir}/src/liblsquic/lsquic_util.c + ${lsquic_dir}/src/liblsquic/lsquic_varint.c + ${lsquic_dir}/src/liblsquic/lsquic_version.c + ${lsquic_dir}/src/lshpack/lshpack.c + + ${lsquic_dir}/src/boringssl.cpp + ${lsquic_dir}/src/lsquic-ns3.cpp +) +target_compile_definitions(lsquic PRIVATE + XXH_HEADER_NAME="../liblsquic/lsquic_xxhash.h" +) +target_compile_options(lsquic PRIVATE + -Wno-unused-parameter + -Wno-sign-compare +) +target_include_directories(lsquic PUBLIC + ${lsquic_dir}/include + ${lsquic_dir}/src/liblsquic/ls-qpack + ${lsquic_dir}/src/lshpack +) +target_link_libraries(lsquic + ns3::applications + ns3::internet + ns3::point-to-point + xxhash + zlibstatic +) diff --git a/external/lsquic/.gitmodules b/external/lsquic/.gitmodules new file mode 100644 index 0000000..25eb1b8 --- /dev/null +++ b/external/lsquic/.gitmodules @@ -0,0 +1,6 @@ +[submodule "src/liblsquic/ls-qpack"] + path = src/liblsquic/ls-qpack + url = https://github.com/litespeedtech/ls-qpack +[submodule "src/lshpack"] + path = src/lshpack + url = https://github.com/litespeedtech/ls-hpack diff --git a/external/lsquic/include/lsquic-ns3.hpp b/external/lsquic/include/lsquic-ns3.hpp new file mode 100644 index 0000000..6412b0d --- /dev/null +++ b/external/lsquic/include/lsquic-ns3.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include + +namespace ns3 { + class Node; + + void InstallLsquic(const Ptr &node); +} // namespace ns3 diff --git a/external/lsquic/include/lsquic.h b/external/lsquic/include/lsquic.h new file mode 100644 index 0000000..8c21ae4 --- /dev/null +++ b/external/lsquic/include/lsquic.h @@ -0,0 +1,2249 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Copyright (c) 2017 - 2023 LiteSpeed Technologies Inc. See LICENSE. */ + +#ifndef __LSQUIC_H__ +#define __LSQUIC_H__ + +/** + * @file + * public API for using liblsquic is defined in this file. + * + */ + +#include +#include "lsquic_types.h" +#ifndef WIN32 +#include +#include +#else +#include +#endif + +struct sockaddr; + +#ifdef __cplusplus +extern "C" { +#endif + +#define LSQUIC_MAJOR_VERSION 4 +#define LSQUIC_MINOR_VERSION 3 +#define LSQUIC_PATCH_VERSION 1 + +#define LSQUIC_QUOTE(x) #x +#define LSQUIC_SVAL(v) LSQUIC_QUOTE(v) +#define LSQUIC_VERSION_STR LSQUIC_SVAL(LSQUIC_MAJOR_VERSION) "." \ + LSQUIC_SVAL(LSQUIC_MINOR_VERSION) "." LSQUIC_SVAL(LSQUIC_PATCH_VERSION) + +/** + * Engine flags: + */ + +/** Server mode */ +#define LSENG_SERVER (1 << 0) + +/** Use HTTP behavior */ +#define LSENG_HTTP (1 << 1) + +#define LSENG_HTTP_SERVER (LSENG_SERVER|LSENG_HTTP) + +/** + * This is a list of QUIC versions that we know of. List of supported + * versions is in LSQUIC_SUPPORTED_VERSIONS. + */ +enum lsquic_version +{ + /** + * Q043. Support for processing PRIORITY frames. Since this library + * has supported PRIORITY frames from the beginning, this version is + * exactly the same as LSQVER_042. + */ + LSQVER_043, + + /** + * Q046. Use IETF Draft-17 compatible packet headers. + */ + LSQVER_046, + + /** + * Q050. Variable-length QUIC server connection IDs. Use CRYPTO frames + * for handshake. IETF header format matching invariants-06. Packet + * number encryption. Initial packets are obfuscated. + */ + LSQVER_050, + + /** + * IETF QUIC Draft-27 + */ + LSQVER_ID27, + + /** + * IETF QUIC Draft-29 + */ + LSQVER_ID29, + + /** + * IETF QUIC v1. + */ + LSQVER_I001, + + /** + * IETF QUIC v2. + */ + LSQVER_I002, + + /** + * Reserved version to trigger version negotiation. + * [rfc9000], Section 15. + */ + LSQVER_RESVED, + + N_LSQVER, + + /** + * The version 0x00000000 is reserved to represent version negotiation. + * [rfc9000], Section 15. + */ + LSQVER_VERNEG +}; + +/** + * We currently support versions 43, 46, 50, Draft-27, Draft-29, + * and IETF QUIC v1. + * @see lsquic_version + */ +#define LSQUIC_SUPPORTED_VERSIONS ((1 << N_LSQVER) - 1) + +/** + * List of versions in which the server never includes CID in short packets. + */ +#define LSQUIC_FORCED_TCID0_VERSIONS ((1 << LSQVER_046)|(1 << LSQVER_050)) + +#define LSQUIC_EXPERIMENTAL_VERSIONS ( \ + (1 << LSQVER_RESVED)) + +#define LSQUIC_DEPRECATED_VERSIONS ((1 << LSQVER_ID27)) + +#define LSQUIC_GQUIC_HEADER_VERSIONS (1 << LSQVER_043) + +#define LSQUIC_IETF_VERSIONS ((1 << LSQVER_ID27) \ + | (1 << LSQVER_ID29) | (1 << LSQVER_I001) \ + | (1 << LSQVER_I002) | (1 << LSQVER_RESVED)) + +#define LSQUIC_IETF_DRAFT_VERSIONS ((1 << LSQVER_ID27) \ + | (1 << LSQVER_ID29) \ + | (1 << LSQVER_RESVED)) + +enum lsquic_hsk_status +{ + /** + * The handshake failed. + */ + LSQ_HSK_FAIL, + /** + * The handshake succeeded without session resumption. + */ + LSQ_HSK_OK, + /** + * The handshake succeeded with session resumption. + */ + LSQ_HSK_RESUMED_OK, + /** + * Session resumption failed. Retry the connection without session + * resumption. + */ + LSQ_HSK_RESUMED_FAIL, +}; + +/** + * @struct lsquic_stream_if + * @brief The definitions of callback functions called by lsquic_stream to + * process events. + * + */ +struct lsquic_stream_if { + + /** + * Use @ref lsquic_conn_get_ctx to get back the context. It is + * OK for this function to return NULL. + */ + lsquic_conn_ctx_t *(*on_new_conn)(void *stream_if_ctx, + lsquic_conn_t *c); + + /** This is called when our side received GOAWAY frame. After this, + * new streams should not be created. The callback is optional. + */ + void (*on_goaway_received)(lsquic_conn_t *c); + void (*on_conn_closed)(lsquic_conn_t *c); + + /** If you need to initiate a connection, call lsquic_conn_make_stream(). + * This will cause `on_new_stream' callback to be called when appropriate + * (this operation is delayed when maximum number of outgoing streams is + * reached). + * + * After `on_close' is called, the stream is no longer accessible. + */ + lsquic_stream_ctx_t * + (*on_new_stream)(void *stream_if_ctx, lsquic_stream_t *s); + + void (*on_read) (lsquic_stream_t *s, lsquic_stream_ctx_t *h); + void (*on_write) (lsquic_stream_t *s, lsquic_stream_ctx_t *h); + void (*on_close) (lsquic_stream_t *s, lsquic_stream_ctx_t *h); + /* Called when datagram is ready to be written */ + ssize_t (*on_dg_write)(lsquic_conn_t *c, void *, size_t); + /* Called when datagram is read from a packet. This callback is required + * when es_datagrams is true. Take care to process it quickly, as this + * is called during lsquic_engine_packet_in(). + */ + void (*on_datagram)(lsquic_conn_t *, const void *buf, size_t); + /* This callback in only called in client mode */ + /** + * When handshake is completed, this optional callback is called. + */ + void (*on_hsk_done)(lsquic_conn_t *c, enum lsquic_hsk_status s); + /** + * When client receives a token in NEW_TOKEN frame, this callback is called. + * The callback is optional. + */ + void (*on_new_token)(lsquic_conn_t *c, const unsigned char *token, + size_t token_size); + /** + * This optional callback lets client record information needed to + * perform a session resumption next time around. + * + * For IETF QUIC, this is called only if ea_get_ssl_ctx() is *not* set, + * in which case the library creates its own SSL_CTX. + * + * Note: this callback will be deprecated when gQUIC support is removed. + */ + void (*on_sess_resume_info)(lsquic_conn_t *c, const unsigned char *, size_t); + /** + * Optional callback is called as soon as the peer resets a stream. + * The argument `how' is either 0, 1, or 2, meaning "read", "write", and + * "read and write", respectively (just like in shutdown(2)). This + * signals the user to stop reading, writing, or both. + * + * Note that resets differ in gQUIC and IETF QUIC. In gQUIC, `how' is + * always 2; in IETF QUIC, `how' is either 0 or 1 because one can reset + * just one direction in IETF QUIC. + */ + void (*on_reset) (lsquic_stream_t *s, lsquic_stream_ctx_t *h, int how); + /** + * Optional callback is called when a CONNECTION_CLOSE frame is received. + * This allows the application to log low-level diagnostic information about + * errors received with the CONNECTION_CLOSE frame. If app_error is -1 then + * it is considered unknown if this is an app_error or not. + */ + void (*on_conncloseframe_received)(lsquic_conn_t *c, + int app_error, uint64_t error_code, + const char *reason, int reason_len); +}; + +struct ssl_ctx_st; +struct ssl_st; +struct ssl_session_st; +struct lsxpack_header; + +/** + * QUIC engine in server mode needs access to certificates. This is + * accomplished by providing a callback and a context to the engine + * constructor. + */ + +/* `sni' may be NULL if engine is not HTTP mode and client TLS transport + * parameters did not include the SNI. + */ +typedef struct ssl_ctx_st * (*lsquic_lookup_cert_f)( + void *lsquic_cert_lookup_ctx, const struct sockaddr *local, const char *sni); + +/** + * Minimum flow control window is set to 16 KB for both client and server. + * This means we can send up to this amount of data before handshake gets + * completed. + */ +#define LSQUIC_MIN_FCW (16 * 1024) + +/* Each LSQUIC_DF_* value corresponds to es_* entry in + * lsquic_engine_settings below. + */ + +/** + * By default, deprecated and experimental versions are not included. + */ +#define LSQUIC_DF_VERSIONS (LSQUIC_SUPPORTED_VERSIONS & \ + ~LSQUIC_DEPRECATED_VERSIONS & \ + ~LSQUIC_EXPERIMENTAL_VERSIONS) + +#define LSQUIC_DF_CFCW_SERVER (3 * 1024 * 1024 / 2) +#define LSQUIC_DF_CFCW_CLIENT (15 * 1024 * 1024) +#define LSQUIC_DF_SFCW_SERVER (1 * 1024 * 1024) +#define LSQUIC_DF_SFCW_CLIENT (6 * 1024 * 1024) +#define LSQUIC_DF_MAX_STREAMS_IN 100 + +/* IQUIC uses different names for these: */ +#define LSQUIC_DF_INIT_MAX_DATA_SERVER LSQUIC_DF_CFCW_SERVER +#define LSQUIC_DF_INIT_MAX_DATA_CLIENT LSQUIC_DF_CFCW_CLIENT +#define LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_REMOTE_SERVER LSQUIC_DF_SFCW_SERVER +#define LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_LOCAL_SERVER 0 +#define LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_REMOTE_CLIENT 0 +#define LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_LOCAL_CLIENT LSQUIC_DF_SFCW_CLIENT +#define LSQUIC_DF_INIT_MAX_STREAMS_BIDI LSQUIC_DF_MAX_STREAMS_IN +#define LSQUIC_DF_INIT_MAX_STREAMS_UNI_CLIENT 100 +#define LSQUIC_DF_INIT_MAX_STREAMS_UNI_SERVER 3 +/* XXX What's a good value here? */ +#define LSQUIC_DF_INIT_MAX_STREAM_DATA_UNI_CLIENT (32 * 1024) +#define LSQUIC_DF_INIT_MAX_STREAM_DATA_UNI_SERVER (12 * 1024) + +/** + * Default idle connection time in seconds. + */ +#define LSQUIC_DF_IDLE_TIMEOUT 30 + +/** + * Default ping period in seconds. + */ +#define LSQUIC_DF_PING_PERIOD 15 + +/** + * Default handshake timeout in microseconds. + */ +#define LSQUIC_DF_HANDSHAKE_TO (10 * 1000 * 1000) + +#define LSQUIC_DF_IDLE_CONN_TO (LSQUIC_DF_IDLE_TIMEOUT * 1000 * 1000) +#define LSQUIC_DF_SILENT_CLOSE 1 + +/** Default value of maximum header list size. If set to non-zero value, + * SETTINGS_MAX_HEADER_LIST_SIZE will be sent to peer after handshake is + * completed (assuming the peer supports this setting frame type). + */ +#define LSQUIC_DF_MAX_HEADER_LIST_SIZE 0 + +/** Default value of UAID (user-agent ID). */ +#define LSQUIC_DF_UA "LSQUIC" + +#define LSQUIC_DF_STTL 86400 +#define LSQUIC_DF_MAX_INCHOATE (1 * 1000 * 1000) + +#define LSQUIC_DF_SUPPORT_SREJ_SERVER 1 +#define LSQUIC_DF_SUPPORT_SREJ_CLIENT 0 + +/** Do not use NSTP by default */ +#define LSQUIC_DF_SUPPORT_NSTP 0 +/** TODO: IETF QUIC clients do not support push */ +#define LSQUIC_DF_SUPPORT_PUSH 1 +#define LSQUIC_DF_SUPPORT_TCID0 1 +/** By default, LSQUIC ignores Public Reset packets. */ +#define LSQUIC_DF_HONOR_PRST 0 + +/** + * By default, LSQUIC will not send Public Reset packets in response to + * packets that specify unknown connections. + */ +#define LSQUIC_DF_SEND_PRST 0 + +/** + * By default, LSQUIC will send Version Negotiation packets in response to + * packets that specify unknown versions. + */ +#define LSQUIC_DF_SEND_VERNEG 1 + +/** By default, infinite loop checks are turned on */ +#define LSQUIC_DF_PROGRESS_CHECK 1000 + +/** By default, read/write events are dispatched in a loop */ +#define LSQUIC_DF_RW_ONCE 0 + +/** By default, the threshold is not enabled */ +#define LSQUIC_DF_PROC_TIME_THRESH 0 + +/** By default, packets are paced */ +#define LSQUIC_DF_PACE_PACKETS 1 + +/** Default clock granularity is 1000 microseconds */ +#define LSQUIC_DF_CLOCK_GRANULARITY 1000 + +/** The default value is 8 for simplicity */ +#define LSQUIC_DF_SCID_LEN 8 + +/** The default value is 60 CIDs per minute */ +#define LSQUIC_DF_SCID_ISS_RATE 60 + +#define LSQUIC_DF_QPACK_DEC_MAX_BLOCKED 100 +#define LSQUIC_DF_QPACK_DEC_MAX_SIZE 4096 +#define LSQUIC_DF_QPACK_ENC_MAX_BLOCKED 100 +#define LSQUIC_DF_QPACK_ENC_MAX_SIZE 4096 + +/* By default, QPACK experiments are turned off */ +#define LSQUIC_DF_QPACK_EXPERIMENT 0 + +/** ECN is disabled by default */ +#define LSQUIC_DF_ECN 0 + +/** Allow migration by default */ +#define LSQUIC_DF_ALLOW_MIGRATION 1 + +/** Default retry token duration. */ /* Do not set this value to zero. */ +#define LSQUIC_DF_RETRY_TOKEN_DURATION 10 + +/** Use QL loss bits by default */ +#define LSQUIC_DF_QL_BITS 2 + +/** Turn spin bit on by default */ +#define LSQUIC_DF_SPIN 1 + +/** Turn on delayed ACKs extension by default */ +#define LSQUIC_DF_DELAYED_ACKS 1 + +/** + * Defaults for the Packet Tolerance PID Controller (PTPC) used by the + * Delayed ACKs extension: + */ +#define LSQUIC_DF_PTPC_PERIODICITY 3 +#define LSQUIC_DF_PTPC_MAX_PACKTOL 150 +#define LSQUIC_DF_PTPC_DYN_TARGET 1 +#define LSQUIC_DF_PTPC_TARGET 1.0 +#define LSQUIC_DF_PTPC_PROP_GAIN 0.8 +#define LSQUIC_DF_PTPC_INT_GAIN 0.35 +#define LSQUIC_DF_PTPC_ERR_THRESH 0.05 +#define LSQUIC_DF_PTPC_ERR_DIVISOR 0.05 + +/** Turn on timestamp extension by default */ +#define LSQUIC_DF_TIMESTAMPS 1 + +/** default anti-amplification factor is 3 */ +#define LSQUIC_DF_AMP_FACTOR 3 + +/* Use Adaptive CC by default */ +#define LSQUIC_DF_CC_ALGO 3 + +/* Default value of the CC RTT threshold is 1.5 ms */ +#define LSQUIC_DF_CC_RTT_THRESH 1500 + +/** Turn off datagram extension by default */ +#define LSQUIC_DF_DATAGRAMS 0 + +/** Assume optimistic NAT by default. */ +#define LSQUIC_DF_OPTIMISTIC_NAT 1 + +/** Turn on Extensible HTTP Priorities by default. */ +#define LSQUIC_DF_EXT_HTTP_PRIO 1 + +/** By default, incoming packet size is not limited. */ +#define LSQUIC_DF_MAX_UDP_PAYLOAD_SIZE_RX 0 + +/** + * By default, greasing the QUIC bit is enabled (if peer sent + * the "grease_quic_bit" transport parameter). + */ +#define LSQUIC_DF_GREASE_QUIC_BIT 1 + +/** By default, DPLPMTUD is enabled */ +#define LSQUIC_DF_DPLPMTUD 1 + +/** By default, this value is left up to the engine. */ +#define LSQUIC_DF_BASE_PLPMTU 0 + +/** By default, this value is left up to the engine. */ +#define LSQUIC_DF_MAX_PLPMTU 0 + +/** By default, drop no-progress connections after 60 seconds on the server */ +#define LSQUIC_DF_NOPROGRESS_TIMEOUT_SERVER 60 + +/** By default, do not use no-progress timeout on the client */ +#define LSQUIC_DF_NOPROGRESS_TIMEOUT_CLIENT 0 + +/** By default, we use the minimum timer of 1000 milliseconds */ +#define LSQUIC_DF_MTU_PROBE_TIMER 1000 + +/** By default, calling on_close() is not delayed */ +#define LSQUIC_DF_DELAY_ONCLOSE 0 + +/** + * By default, maximum batch size is not specified, leaving it up to the + * library. + */ +#define LSQUIC_DF_MAX_BATCH_SIZE 0 + +/** Transport parameter sanity checks are performed by default. */ +#define LSQUIC_DF_CHECK_TP_SANITY 1 + +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT +/** Turn off webtransport extension for server by default */ +#define LSQUIC_DF_WEBTRANSPORT_SERVER 0 + +/** Default allowed server webtransport streams count */ +#define LSQUIC_DF_MAX_WEBTRANSPORT_SERVER_STREAMS 10 +#endif +struct lsquic_engine_settings { + /** + * This is a bit mask wherein each bit corresponds to a value in + * enum lsquic_version. Client starts negotiating with the highest + * version and goes down. Server supports either of the versions + * specified here. + * + * This setting applies to both Google and IETF QUIC. + * + * @see lsquic_version + */ + unsigned es_versions; + + /** + * Initial default CFCW. + * + * In server mode, per-connection values may be set lower than + * this if resources are scarce. + * + * Do not set es_cfcw and es_sfcw lower than @ref LSQUIC_MIN_FCW. + * + * @see es_max_cfcw + */ + unsigned es_cfcw; + + /** + * Initial default SFCW. + * + * In server mode, per-connection values may be set lower than + * this if resources are scarce. + * + * Do not set es_cfcw and es_sfcw lower than @ref LSQUIC_MIN_FCW. + * + * @see es_max_sfcw + */ + unsigned es_sfcw; + + /** + * This value is used to specify maximum allowed value CFCW is allowed + * to reach due to window auto-tuning. By default, this value is zero, + * which means that CFCW is not allowed to increase from its initial + * value. + * + * This setting is applicable to both gQUIC and IETF QUIC. + * + * @see es_cfcw, @see es_init_max_data. + */ + unsigned es_max_cfcw; + + /** + * This value is used to specify the maximum value stream flow control + * window is allowed to reach due to auto-tuning. By default, this + * value is zero, meaning that auto-tuning is turned off. + * + * This setting is applicable to both gQUIC and IETF QUIC. + * + * @see es_sfcw, @see es_init_max_stream_data_bidi_remote, + * @see es_init_max_stream_data_bidi_local. + */ + unsigned es_max_sfcw; + + /** MIDS */ + unsigned es_max_streams_in; + + /** + * Handshake timeout in microseconds. + * + * For client, this can be set to an arbitrary value (zero turns the + * timeout off). + * + * For server, this value is limited to about 16 seconds. Do not set + * it to zero. + */ + unsigned long es_handshake_to; + + /** ICSL in microseconds; GQUIC only */ + unsigned long es_idle_conn_to; + + /** + * When true, CONNECTION_CLOSE is not sent when connection times out. + * The server will also not send a reply to client's CONNECTION_CLOSE. + * + * Corresponds to SCLS (silent close) gQUIC option. + */ + int es_silent_close; + + /** + * This corresponds to SETTINGS_MAX_HEADER_LIST_SIZE + * (RFC 7540, Section 6.5.2). 0 means no limit. Defaults + * to @ref LSQUIC_DF_MAX_HEADER_LIST_SIZE. + */ + unsigned es_max_header_list_size; + + /** UAID -- User-Agent ID. Defaults to @ref LSQUIC_DF_UA. */ + const char *es_ua; + + /** + * More parameters for server + */ + uint64_t es_sttl; /* SCFG TTL in seconds */ + + uint32_t es_pdmd; /* One fixed value X509 */ + uint32_t es_aead; /* One fixed value AESG */ + uint32_t es_kexs; /* One fixed value C255 */ + + /* Maximum number of incoming connections in inchoate state. This is + * only applicable in server mode. + */ + unsigned es_max_inchoate; + + /** + * Support SREJ: for client side, this means supporting server's SREJ + * responses (this does not work yet) and for server side, this means + * generating SREJ instead of REJ when appropriate. + * + * For IETF QUIC, this sending stateless retries when appropriate. + * The IETF client always supports stateless retries and knows how to + * handle them. + */ + int es_support_srej; + + /** + * Setting this value to 0 means that + * + * For client: + * a) we send a SETTINGS frame to indicate that we do not support server + * push; and + * b) All incoming pushed streams get reset immediately. + * (For maximum effect, set es_max_streams_in to 0.) + * + * For server: + * lsquic_conn_push_stream() will return -1. + */ + int es_support_push; + + /** + * If set to true value, the server will not include connection ID in + * outgoing packets if client's CHLO specifies TCID=0. + * + * For client, this means including TCID=0 into CHLO message. Note that + * in this case, the engine tracks connections by the + * (source-addr, dest-addr) tuple, thereby making it necessary to create + * a socket for each connection. + * + * This option has no effect in Q046 and Q050, as the server never includes + * CIDs in the short packets. + * + * This setting is applicable to gQUIC only. + * + * The default is @ref LSQUIC_DF_SUPPORT_TCID0. + */ + int es_support_tcid0; + + /** + * Q037 and higher support "No STOP_WAITING frame" mode. When set, the + * client will send NSTP option in its Client Hello message and will not + * sent STOP_WAITING frames, while ignoring incoming STOP_WAITING frames, + * if any. Note that if the version negotiation happens to downgrade the + * client below Q037, this mode will *not* be used. + * + * This option does not affect the server, as it must support NSTP mode + * if it was specified by the client. + * + * This setting is applicable to gQUIC only. + */ + int es_support_nstp; + + /** + * If set to true value, the library will drop connections when it + * receives corresponding Public Reset packet. The default is to + * ignore these packets. + * + * The default is @ref LSQUIC_DF_HONOR_PRST. + */ + int es_honor_prst; + + /** + * If set to true value, the library will send Public Reset packets + * in response to incoming packets with unknown Connection IDs. + * The default is @ref LSQUIC_DF_SEND_PRST. + */ + int es_send_prst; + + /** + * A non-zero value enables internal checks that identify suspected + * infinite loops in user @ref on_read and @ref on_write callbacks + * and break them. An infinite loop may occur if user code keeps + * on performing the same operation without checking status, e.g. + * reading from a closed stream etc. + * + * The value of this parameter is as follows: should a callback return + * this number of times in a row without making progress (that is, + * reading, writing, or changing stream state), loop break will occur. + * + * The defaut value is @ref LSQUIC_DF_PROGRESS_CHECK. + */ + unsigned es_progress_check; + + /** + * A non-zero value make stream dispatch its read-write events once + * per call. + * + * When zero, read and write events are dispatched until the stream + * is no longer readable or writeable, respectively, or until the + * user signals unwillingness to read or write using + * @ref lsquic_stream_wantread() or @ref lsquic_stream_wantwrite() + * or shuts down the stream. + * + * This also applies to the on_dg_write() callback. + * + * The default value is @ref LSQUIC_DF_RW_ONCE. + */ + int es_rw_once; + + /** + * If set, this value specifies the number of microseconds that + * @ref lsquic_engine_process_conns() and + * @ref lsquic_engine_send_unsent_packets() are allowed to spend + * before returning. + * + * This is not an exact science and the connections must make + * progress, so the deadline is checked after all connections get + * a chance to tick (in the case of @ref lsquic_engine_process_conns()) + * and at least one batch of packets is sent out. + * + * When processing function runs out of its time slice, immediate + * calls to @ref lsquic_engine_has_unsent_packets() return false. + * + * The default value is @ref LSQUIC_DF_PROC_TIME_THRESH. + */ + unsigned es_proc_time_thresh; + + /** + * If set to true, packet pacing is implemented per connection. + * + * The default value is @ref LSQUIC_DF_PACE_PACKETS. + */ + int es_pace_packets; + + /** + * Clock granularity information is used by the pacer. The value + * is in microseconds; default is @ref LSQUIC_DF_CLOCK_GRANULARITY. + */ + unsigned es_clock_granularity; + + /** + * Congestion control algorithm to use. + * + * 0: Use default (@ref LSQUIC_DF_CC_ALGO) + * 1: Cubic + * 2: BBRv1 + * 3: Adaptive (Cubic or BBRv1) + */ + unsigned es_cc_algo; + + /** + * Congestion controller RTT threshold in microseconds. + * + * Adaptive congestion control uses BBRv1 until RTT is determined. At + * that point a permanent choice of congestion controller is made. If + * RTT is smaller than or equal to es_cc_rtt_thresh, congestion + * controller is switched to Cubic; otherwise, BBRv1 is picked. + * + * The default value is @ref LSQUIC_DF_CC_RTT_THRESH. + */ + unsigned es_cc_rtt_thresh; + + /** + * No progress timeout. + * + * If connection does not make progress for this number of seconds, the + * connection is dropped. Here, progress is defined as user streams + * being written to or read from. + * + * If this value is zero, this timeout is disabled. + * + * Default value is @ref LSQUIC_DF_NOPROGRESS_TIMEOUT_SERVER in server + * mode and @ref LSQUIC_DF_NOPROGRESS_TIMEOUT_CLIENT in client mode. + */ + unsigned es_noprogress_timeout; + + /* The following settings are specific to IETF QUIC. */ + /* vvvvvvvvvvv */ + + /** + * Initial max data. + * + * This is a transport parameter. + * + * Depending on the engine mode, the default value is either + * @ref LSQUIC_DF_INIT_MAX_DATA_CLIENT or + * @ref LSQUIC_DF_INIT_MAX_DATA_SERVER. + */ + unsigned es_init_max_data; + + /** + * Initial maximum amount of stream data allowed to be sent on streams + * created by remote end (peer). + * + * This is a transport parameter. + * + * Depending on the engine mode, the default value is either + * @ref LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_REMOTE_CLIENT or + * @ref LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_REMOTE_SERVER. + */ + unsigned es_init_max_stream_data_bidi_remote; + + /** + * Initial maximum amount of stream data allowed to be sent on streams + * created by remote end (peer). + * + * This is a transport parameter. + * + * Depending on the engine mode, the default value is either + * @ref LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_LOCAL_CLIENT or + * @ref LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_LOCAL_SERVER. + */ + unsigned es_init_max_stream_data_bidi_local; + + /** + * Initial max stream data for unidirectional streams initiated + * by remote endpoint. + * + * This is a transport parameter. + * + * Depending on the engine mode, the default value is either + * @ref LSQUIC_DF_INIT_MAX_STREAM_DATA_UNI_CLIENT or + * @ref LSQUIC_DF_INIT_MAX_STREAM_DATA_UNI_SERVER. + */ + unsigned es_init_max_stream_data_uni; + + /** + * Maximum initial number of bidirectional stream. + * + * This is a transport parameter. + * + * Default value is @ref LSQUIC_DF_INIT_MAX_STREAMS_BIDI. + */ + unsigned es_init_max_streams_bidi; + + /** + * Maximum initial number of unidirectional stream. + * + * This is a transport parameter. + * + * Default value is @ref LSQUIC_DF_INIT_MAX_STREAMS_UNI_CLIENT or + * @ref LSQUIC_DF_INIT_MAX_STREAM_DATA_UNI_SERVER. + */ + unsigned es_init_max_streams_uni; + + /** + * Idle connection timeout. + * + * This is a transport parameter. + * + * (Note: es_idle_conn_to is not reused because it is in microseconds, + * which, I now realize, was not a good choice. Since it will be + * obsoleted some time after the switchover to IETF QUIC, we do not + * have to keep on using strange units.) + * + * Default value is @ref LSQUIC_DF_IDLE_TIMEOUT. + * + * Maximum value is 600 seconds. + */ + unsigned es_idle_timeout; + + /** + * Ping period. If set to non-zero value, the connection will generate and + * send PING frames in the absence of other activity. + * + * By default, the server does not send PINGs and the period is set to zero. + * The client's defaut value is @ref LSQUIC_DF_PING_PERIOD. + */ + unsigned es_ping_period; + + /** + * Source Connection ID length. Only applicable to the IETF QUIC + * versions. Valid values are 0 through 20, inclusive. + * + * Default value is @ref LSQUIC_DF_SCID_LEN. + */ + unsigned es_scid_len; + + /** + * Source Connection ID issuance rate. Only applicable to the IETF QUIC + * versions. This field is measured in CIDs per minute. Using value 0 + * indicates that there is no rate limit for CID issuance. + * + * Default value is @ref LSQUIC_DF_SCID_ISS_RATE. + */ + unsigned es_scid_iss_rate; + + /** + * Maximum size of the QPACK dynamic table that the QPACK decoder will + * use. + * + * The default is @ref LSQUIC_DF_QPACK_DEC_MAX_SIZE. + */ + unsigned es_qpack_dec_max_size; + + /** + * Maximum number of blocked streams that the QPACK decoder is willing + * to tolerate. + * + * The default is @ref LSQUIC_DF_QPACK_DEC_MAX_BLOCKED. + */ + unsigned es_qpack_dec_max_blocked; + + /** + * Maximum size of the dynamic table that the encoder is willing to use. + * The actual size of the dynamic table will not exceed the minimum of + * this value and the value advertized by peer. + * + * The default is @ref LSQUIC_DF_QPACK_ENC_MAX_SIZE. + */ + unsigned es_qpack_enc_max_size; + + /** + * Maximum number of blocked streams that the QPACK encoder is willing + * to risk. The actual number of blocked streams will not exceed the + * minimum of this value and the value advertized by peer. + * + * The default is @ref LSQUIC_DF_QPACK_ENC_MAX_BLOCKED. + */ + unsigned es_qpack_enc_max_blocked; + + /** + * Enable ECN support. + * + * The default is @ref LSQUIC_DF_ECN + */ + int es_ecn; + + /** + * Allow peer to migrate connection. + * + * The default is @ref LSQUIC_DF_ALLOW_MIGRATION + */ + int es_allow_migration; + + /** + * Amount of time, in seconds, after which the server token included in + * a stateless retry expires. If set to zero, the default value is + * used, which is @ref LSQUIC_DF_RETRY_TOKEN_DURATION + */ + unsigned es_retry_token_duration; + + /** + * Use QL loss bits. Allowed values are: + * 0: Do not use loss bits + * 1: Allow loss bits + * 2: Allow and send loss bits + * + * Default value is @ref LSQUIC_DF_QL_BITS + */ + int es_ql_bits; + + /** + * Enable spin bit. Allowed values are 0 and 1. + * + * Default value is @ref LSQUIC_DF_SPIN + */ + int es_spin; + + /** + * Enable delayed ACKs extension. Allowed values are 0 and 1. + * + * Default value is @ref LSQUIC_DF_DELAYED_ACKS + */ + int es_delayed_acks; + + /** + * Enable timestamps extension. Allowed values are 0 and 1. + * + * Default value is @ref LSQUIC_DF_TIMESTAMPS + */ + int es_timestamps; + + /** + * Maximum packet size we are willing to receive. This is sent to + * peer in transport parameters: the library does not enforce this + * limit for incoming packets. + * + * If set to zero, limit is not set. + * + * Default value is @ref LSQUIC_DF_MAX_UDP_PAYLOAD_SIZE_RX + */ + unsigned short es_max_udp_payload_size_rx; + + /** + * Enable the "QUIC bit grease" extension. When set to a true value, + * lsquic will grease the QUIC bit on the outgoing QUIC packets if + * the peer sent the "grease_quic_bit" transport parameter. + * + * Default value is @ref LSQUIC_DF_GREASE_QUIC_BIT + */ + int es_grease_quic_bit; + + /** + * If set to true value, enable DPLPMTUD -- Datagram Packetization + * Layer Path MTU Discovery. + * + * Default value is @ref LSQUIC_DF_DPLPMTUD + */ + int es_dplpmtud; + + /** + * PLPMTU size expected to work for most paths. + * + * If set to zero, this value is calculated based on QUIC and IP versions. + * + * Default value is @ref LSQUIC_DF_BASE_PLPMTU. + */ + unsigned short es_base_plpmtu; + + /** + * Largest PLPMTU size the engine will try. + * + * If set to zero, picking this value is left to the engine. + * + * Default value is @ref LSQUIC_DF_MAX_PLPMTU. + */ + unsigned short es_max_plpmtu; + + /** + * This value specifies how long the DPLPMTUD probe timer is, in + * milliseconds. [draft-ietf-tsvwg-datagram-plpmtud-17] says: + * + " PROBE_TIMER: The PROBE_TIMER is configured to expire after a period + " longer than the maximum time to receive an acknowledgment to a + " probe packet. This value MUST NOT be smaller than 1 second, and + " SHOULD be larger than 15 seconds. Guidance on selection of the + " timer value are provided in section 3.1.1 of the UDP Usage + " Guidelines [RFC8085]. + * + * If set to zero, the default is used. + * + * Default value is @ref LSQUIC_DF_MTU_PROBE_TIMER. + */ + unsigned es_mtu_probe_timer; + + /** + * Enable datagram extension. Allowed values are 0 and 1. + * + * Default value is @ref LSQUIC_DF_DATAGRAMS + */ + int es_datagrams; + + /** + * If set to true, changes in peer port are assumed to be due to a + * benign NAT rebinding and path characteristics -- MTU, RTT, and + * CC state -- are not reset. + * + * Default value is @ref LSQUIC_DF_OPTIMISTIC_NAT. + */ + int es_optimistic_nat; + + /** + * If set to true, Extensible HTTP Priorities are enabled. This + * is HTTP/3-only setting. + * + * Default value is @ref LSQUIC_DF_EXT_HTTP_PRIO + */ + int es_ext_http_prio; + + /** + * If set to 1, QPACK statistics are logged per connection. + * + * If set to 2, QPACK experiments are run. In this mode, encoder + * and decoder setting values are randomly selected (from the range + * [0, whatever is specified in es_qpack_(enc|dec)_*]) and these + * values along with compression ratio and user agent are logged at + * NOTICE level when connection is destroyed. The purpose of these + * experiments is to use compression performance statistics to figure + * out a good set of default values. + * + * Default value is @ref LSQUIC_DF_QPACK_EXPERIMENT. + */ + int es_qpack_experiment; + + /** + * Settings for the Packet Tolerance PID Controller (PTPC) used for + * the Delayed ACKs logic. Periodicity is how often the number of + * incoming ACKs is sampled. Periodicity's units is the number of + * RTTs. Target is the average number of incoming ACKs per RTT we + * want to achieve. Error threshold defines the range of error values + * within which no action is taken. For example, error threshold of + * 0.03 means that adjustment actions will be taken only when the + * error is outside of the [-0.03, 0.03] range. Proportional and + * integral gains have their usual meanings described here: + * https://en.wikipedia.org/wiki/PID_controller#Controller_theory + * + * The average is normalized as follows: + * AvgNormalized = Avg * e / Target # Where 'e' is 2.71828... + * + * The error is then calculated as ln(AvgNormalized) - 1. This gives + * us a logarithmic scale that is convenient to use for adjustment + * calculations. The error divisor is used to calculate the packet + * tolerance adjustment: + * Adjustment = Error / ErrorDivisor + * + * WARNING. The library comes with sane defaults. Only fiddle with + * these knobs if you know what you are doing. + */ + unsigned es_ptpc_periodicity; /* LSQUIC_DF_PTPC_PERIODICITY */ + unsigned es_ptpc_max_packtol; /* LSQUIC_DF_PTPC_MAX_PACKTOL */ + int es_ptpc_dyn_target; /* LSQUIC_DF_PTPC_DYN_TARGET */ + float es_ptpc_target, /* LSQUIC_DF_PTPC_TARGET */ + es_ptpc_prop_gain, /* LSQUIC_DF_PTPC_PROP_GAIN */ + es_ptpc_int_gain, /* LSQUIC_DF_PTPC_INT_GAIN */ + es_ptpc_err_thresh, /* LSQUIC_DF_PTPC_ERR_THRESH */ + es_ptpc_err_divisor; /* LSQUIC_DF_PTPC_ERR_DIVISOR */ + + /** + * When set to true, the on_close() callback will be delayed until the + * peer acknowledges all data sent on the stream. (Or until the connection + * is destroyed in some manner -- either explicitly closed by the user or + * as a result of an engine shutdown.) + * + * Default value is @ref LSQUIC_DF_DELAY_ONCLOSE + */ + int es_delay_onclose; + + /** + * If set to a non-zero value, specified maximum batch size. (The + * batch of packets passed to @ref ea_packets_out() callback). Must + * be no larger than 1024. + * + * Default value is @ref LSQUIC_DF_MAX_BATCH_SIZE + */ + unsigned es_max_batch_size; + + /** + * When true, sanity checks are performed on peer's transport parameter + * values. If some limits are set suspiciously low, the connection won't + * be established. + * + * Default value is @ref LSQUIC_DF_CHECK_TP_SANITY + */ + int es_check_tp_sanity; + + /** + * This is the anti-amplification factor when peer address has not be verified. + * + * Default value is @ref LSQUIC_DF_AMP_FACTOR + */ + int es_amp_factor; + + /** + * If set to true value, the library will send Version Negotiation packets + * in response to incoming packets with unsupported versions. + * The default is @ref LSQUIC_DF_SEND_VERNEG. + */ + int es_send_verneg; + + /** + * This is the preferred_address used in server's transport parameter + * It contains an address and port for both IPv4 and IPv6. It is copied directly + * as the addresses part of preferred_address value. Includes: + * Four-byte IPv4 Address, two-byte IPv4 Port, + * a 16-byte IPv6 Address, two-byte IPv6 Port. + * + * The default is all zero, which indicates perferred_address is not set + */ + uint8_t es_preferred_address[24]; + +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + /** + * Enable datagram extension for http3 server. Allowed values are 0 and 1. + * + * Default value is @ref LSQUIC_DF_WEBTRANSPORT_SERVER + */ + int es_webtransport_server; + + /** + * Maximum number of webtransport streams allowed by server for a connection. + * + * Default value is @ref LSQUIC_DF_MAX_WEBTRANSPORT_SERVER_STREAMS. + */ + unsigned es_max_webtransport_server_streams; +#endif +}; + +/* Initialize `settings' to default values */ +void +lsquic_engine_init_settings (struct lsquic_engine_settings *, + unsigned lsquic_engine_flags); + +/** + * Check settings for errors. + * + * @param settings Settings struct. + * + * @param flags Engine flags. + * + * @param err_buf Optional pointer to buffer into which error string + * is written. + + * @param err_buf_sz Size of err_buf. No more than this number of bytes + * will be written to err_buf, including the NUL byte. + * + * @retval 0 Settings have no errors. + * @retval -1 There are errors in settings. + */ +int +lsquic_engine_check_settings (const struct lsquic_engine_settings *settings, + unsigned lsquic_engine_flags, + char *err_buf, size_t err_buf_sz); + +struct lsquic_out_spec +{ + struct iovec *iov; + size_t iovlen; + const struct sockaddr *local_sa; + const struct sockaddr *dest_sa; + void *peer_ctx; + lsquic_conn_ctx_t *conn_ctx; /* will be NULL when sending out the first batch of handshake packets */ + int ecn; /* Valid values are 0 - 3. See RFC 3168 */ +}; + +/** + * Returns number of packets successfully sent out or -1 on error. -1 should + * only be returned if no packets were sent out. If -1 is returned or if the + * return value is smaller than `n_packets_out', this indicates that sending + * of packets is not possible. + * + * If not all packets could be sent out, errno is examined. If it is not + * EAGAIN or EWOULDBLOCK, the connection whose packet cause the error is + * closed forthwith. + * + * No packets will be attempted to be sent out until + * @ref lsquic_engine_send_unsent_packets() is called. + */ +typedef int (*lsquic_packets_out_f)( + void *packets_out_ctx, + const struct lsquic_out_spec *out_spec, + unsigned n_packets_out +); + +/** + * The shared hash interface is used to share data between multiple LSQUIC + * instances. + */ +struct lsquic_shared_hash_if +{ + /** + * If you want your item to never expire, set `expiry' to zero. + * Returns 0 on success, -1 on failure. + * + * If inserted successfully, `free()' will be called on `data' and 'key' + * pointer when the element is deleted, whether due to expiration + * or explicit deletion. + */ + int (*shi_insert)(void *shi_ctx, void *key, unsigned key_sz, + void *data, unsigned data_sz, time_t expiry); + /** + * Returns 0 on success, -1 on failure. + */ + int (*shi_delete)(void *shi_ctx, const void *key, unsigned key_sz); + + /** + * `data' is pointed to the result and `data_sz' is set to the + * object size. The implementation may choose to copy the object + * into buffer pointed to by `data', so you should have it ready. + * + * @retval 1 found. + * @retval 0 not found. + * @retval -1 error (perhaps not enough room in `data' if copy was + * attempted). + */ + int (*shi_lookup)(void *shi_ctx, const void *key, unsigned key_sz, + void **data, unsigned *data_sz); +}; + +/** + * The packet out memory interface is used by LSQUIC to get buffers to + * which outgoing packets will be written before they are passed to + * ea_packets_out callback. + * + * If not specified, malloc() and free() are used. + */ +struct lsquic_packout_mem_if +{ + /** + * Allocate buffer for sending. + */ + void * (*pmi_allocate) (void *pmi_ctx, void *peer_ctx, lsquic_conn_ctx_t *, unsigned short sz, + char is_ipv6); + /** + * This function is used to release the allocated buffer after it is + * sent via @ref ea_packets_out. + */ + void (*pmi_release) (void *pmi_ctx, void *peer_ctx, void *buf, + char is_ipv6); + /** + * If allocated buffer is not going to be sent, return it to the caller + * using this function. + */ + void (*pmi_return) (void *pmi_ctx, void *peer_ctx, void *buf, + char is_ipv6); +}; + +typedef void (*lsquic_cids_update_f)(void *ctx, void **peer_ctx, + const lsquic_cid_t *cids, unsigned n_cids); + +struct stack_st_X509; + +enum lsquic_hsi_flag { + /** + * Turn HTTP/1.x mode on or off. In this mode, decoded name and value + * pair are separated by ": " and "\r\n" is appended to the end of the + * string. By default, this mode is off. + */ + LSQUIC_HSI_HTTP1X = 1 << 1, + /** Include name hash into lsxpack_header */ + LSQUIC_HSI_HASH_NAME = 1 << 2, + /** Include nameval hash into lsxpack_header */ + LSQUIC_HSI_HASH_NAMEVAL = 1 << 3, +}; + +struct lsquic_hset_if +{ + /** + * Create a new header set. This object is (and must be) fetched from a + * stream by calling @ref lsquic_stream_get_hset() before the stream can + * be read. + * + * `stream' may be set to NULL in server mode. + */ + void * (*hsi_create_header_set)(void *hsi_ctx, lsquic_stream_t *stream, + int is_push_promise); + /** + * Return a header set prepared for decoding. If `hdr' is NULL, this + * means return a new structure with at least `space' bytes available + * in the decoder buffer. On success, a newly prepared header is + * returned. + * + * If `hdr' is not NULL, it means there was not enough decoder buffer + * and it must be increased to at least `space' bytes. `buf', `val_len', + * and `name_offset' member of the `hdr' structure may change. On + * success, the return value is the same as `hdr'. + * + * If NULL is returned, the space cannot be allocated. + */ + struct lsxpack_header * + (*hsi_prepare_decode)(void *hdr_set, + struct lsxpack_header *hdr, + size_t space); + /** + * Process new header. Return 0 on success, a positive value if a header + * error occured, or a negative value on any other error. + * + * A positive return value will result in cancellation of associated + * stream. + * + * A negative return value will result in connection being aborted. + * + * `hdr_set' is the header set object returned by + * @ref hsi_create_header_set(). + * + * `hdr' is the header returned by @ref `hsi_prepare_decode'. + * + * If `hdr' is NULL, this means that no more header are going to be + * added to the set. + */ + int (*hsi_process_header)(void *hdr_set, struct lsxpack_header *hdr); + /** + * Discard header set. This is called for unclaimed header sets and + * header sets that had an error. + */ + void (*hsi_discard_header_set)(void *hdr_set); + /** + * These flags specify properties of decoded headers passed to + * hsi_process_header(). This is only applicable to QPACK headers; + * HPACK library header properties are based on compilation, not + * run-time, options. + */ + enum lsquic_hsi_flag hsi_flags; +}; + +/** + * This struct contains a list of all callbacks that are used by the engine + * to communicate with the user code. Most of these are optional, while + * the following are mandatory: + * + * @ref ea_stream_if The stream interface. + * @ref ea_packets_out Function to send packets. + * @ref ea_lookup_cert Function to look up certificates by SNI (used + * in server mode). + * + * A pointer to this structure is passed to engine constructor + * @ref lsquic_engine_new(). + */ +struct lsquic_engine_api +{ + const struct lsquic_engine_settings *ea_settings; /* Optional */ + /** Stream interface is required to manage connections and streams. */ + const struct lsquic_stream_if *ea_stream_if; + void *ea_stream_if_ctx; + /** Function to send packets out is required. */ + lsquic_packets_out_f ea_packets_out; + void *ea_packets_out_ctx; + /** Function to look up certificates by SNI is used in server mode. */ + lsquic_lookup_cert_f ea_lookup_cert; + void *ea_cert_lu_ctx; + /** Mandatory callback for server, optional for client. */ + struct ssl_ctx_st * (*ea_get_ssl_ctx)(void *peer_ctx, + const struct sockaddr *local); + /** + * Shared hash interface is optional. If set to zero, performance of + * multiple LSQUIC instances will be degraded. + */ + const struct lsquic_shared_hash_if *ea_shi; + void *ea_shi_ctx; + /** + * Memory interface is optional. + */ + const struct lsquic_packout_mem_if *ea_pmi; + void *ea_pmi_ctx; + /** + * Optional interface to report new and old source connection IDs. + */ + lsquic_cids_update_f ea_new_scids; + lsquic_cids_update_f ea_live_scids; + lsquic_cids_update_f ea_old_scids; + void *ea_cids_update_ctx; + /** + * Function to verify server certificate. The chain contains at least + * one element. The first element in the chain is the server + * certificate. The chain belongs to the library. If you want to + * retain it, call sk_X509_up_ref(). + * + * 0 is returned on success, -1 on error. + * + * If the function pointer is not set, no verification is performed + * (the connection is allowed to proceed). + */ + int (*ea_verify_cert)(void *verify_ctx, + struct stack_st_X509 *chain); + void *ea_verify_ctx; + + /** + * Optional header set interface. If not specified, the incoming headers + * are converted to HTTP/1.x format and are read from stream and have to + * be parsed again. + */ + const struct lsquic_hset_if *ea_hsi_if; + void *ea_hsi_ctx; + + /** + * If set, engine will print cumulative connection statistics to this + * file just before it is destroyed. (Must be compiled with + * -DLSQUIC_CONN_STATS=1). + */ + void /* FILE, really */ *ea_stats_fh; + + /** + * The optional ALPN string is used by the client if @ref LSENG_HTTP + * is not set. + */ + const char *ea_alpn; + + /** + * Optional interface to control the creation of connection IDs + */ + void (*ea_generate_scid)(void *ctx, + lsquic_conn_t *, uint8_t *, unsigned); + /** Passed to ea_generate_scid() */ + void *ea_gen_scid_ctx; +}; + +/** + * Returns current number of connections processed by the engine. Both mini and full connections included + */ +unsigned +lsquic_engine_get_conns_count (lsquic_engine_t *engine); + +/** + * Create new engine. + * + * @param lsquic_engine_flags A bitmask of @ref LSENG_SERVER and + * @ref LSENG_HTTP + * + * @param api Required parameter that specifies + * various callbacks. + * + * The engine can be instantiated either in server mode (when LSENG_SERVER + * is set) or client mode. If you need both server and client in your + * program, create two engines (or as many as you'd like). + */ +lsquic_engine_t * +lsquic_engine_new (unsigned lsquic_engine_flags, + const struct lsquic_engine_api *api); + +/** + * Create a client connection to peer identified by `peer_ctx'. + * + * To let the engine specify QUIC version, use N_LSQVER. If session resumption + * information is supplied, version is picked from there instead. + * + * If `base_plpmtu' is set to zero, it is selected based on the + * engine settings, QUIC version, and IP version. + */ +lsquic_conn_t * +lsquic_engine_connect (lsquic_engine_t *, enum lsquic_version, + const struct sockaddr *local_sa, + const struct sockaddr *peer_sa, + void *peer_ctx, lsquic_conn_ctx_t *conn_ctx, + const char *hostname, unsigned short base_plpmtu, + const unsigned char *sess_resume, size_t sess_resume_len, + /** Resumption token: optional */ + const unsigned char *token, size_t token_sz); + +/** + * Pass incoming packet to the QUIC engine. This function can be called + * more than once in a row. After you add one or more packets, call + * lsquic_engine_process_conns() to schedule output, if any. + * + * @retval 0 Packet was processed by a real connection. + * + * @retval 1 Packet was handled successfully, but not by a connection. + * This may happen with version negotiation and public reset + * packets as well as some packets that may be ignored. + * + * @retval -1 An error occurred. Possible reasons are failure to allocate + * memory and invalid @param sa_local in client mode. + */ +int +lsquic_engine_packet_in (lsquic_engine_t *, + const unsigned char *packet_in_data, size_t packet_in_size, + const struct sockaddr *sa_local, const struct sockaddr *sa_peer, + void *peer_ctx, int ecn); + +/** + * Process tickable connections. This function must be called often enough so + * that packets and connections do not expire. + */ +void +lsquic_engine_process_conns (lsquic_engine_t *engine); + +/** + * Returns true if engine has some unsent packets. This happens if + * @ref ea_packets_out() could not send everything out or if processing + * deadline was exceeded (see @ref es_proc_time_thresh). + */ +int +lsquic_engine_has_unsent_packets (lsquic_engine_t *engine); + +/** + * Send out as many unsent packets as possibe: until we are out of unsent + * packets or until @ref ea_packets_out() fails. + * + * If @ref ea_packets_out() does fail cannot send all packets, this + * function must be called to signify that sending of packets is possible + * again. + */ +void +lsquic_engine_send_unsent_packets (lsquic_engine_t *engine); + +/** + * Destroy engine and all connections and streams in it and free all + * memory associated with this engine. + */ +void +lsquic_engine_destroy (lsquic_engine_t *); + +/** Return max allowed outbound streams less current outbound streams. */ +unsigned +lsquic_conn_n_avail_streams (const lsquic_conn_t *); + +/** + * Create a new request stream. This causes @ref on_new_stream() callback + * to be called. If creating more requests is not permitted at the moment + * (due to number of concurrent streams limit), stream creation is registered + * as "pending" and the stream is created later when number of streams dips + * under the limit again. Any number of pending streams can be created. + * Use @ref lsquic_conn_n_pending_streams() and + * @ref lsquic_conn_cancel_pending_streams() to manage pending streams. + * + * If connection is going away, @ref on_new_stream() is called with the + * stream parameter set to NULL. + */ +void +lsquic_conn_make_stream (lsquic_conn_t *); + +/** Return number of delayed streams currently pending */ +unsigned +lsquic_conn_n_pending_streams (const lsquic_conn_t *); + +/** Cancel `n' pending streams. Returns new number of pending streams. */ +unsigned +lsquic_conn_cancel_pending_streams (lsquic_conn_t *, unsigned n); + +/** + * Mark connection as going away: send GOAWAY frame and do not accept + * any more incoming streams, nor generate streams of our own. + * + * Only applicable to HTTP/3 and GQUIC connections. Otherwise a no-op. + */ +void +lsquic_conn_going_away (lsquic_conn_t *); + +/** + * This forces connection close. on_conn_closed and on_close callbacks + * will be called. + */ +void +lsquic_conn_close (lsquic_conn_t *); + +/** + * Set whether you want to read from stream. If @param is_want is true, + * @ref on_read() will be called when there is readable data in the + * stream. If @param is false, @ref on_read() will not be called. + * + * Returns previous value of this flag. + */ +int +lsquic_stream_wantread (lsquic_stream_t *s, int is_want); + +/** + * Read up to @param len bytes from stream into @param buf. Returns number + * of bytes read or -1 on error, in which case errno is set. Possible + * errno values: + * + * EBADF The stream is closed. + * ECONNRESET The stream has been reset. + * EWOULDBLOCK There is no data to be read. + * + * Return value of zero indicates EOF. + */ +ssize_t +lsquic_stream_read (lsquic_stream_t *s, void *buf, size_t len); + +/** + * Similar to @ref lsquic_stream_read(), but reads data into @param vec. + */ +ssize_t +lsquic_stream_readv (lsquic_stream_t *s, const struct iovec *vec, int iovcnt); + +/** + * This function allows user-supplied callback to read the stream contents. + * It is meant to be used for zero-copy stream processing. + * + * Return value and errors are same as in @ref lsquic_stream_read(). + */ +ssize_t +lsquic_stream_readf (lsquic_stream_t *s, + /** + * The callback takes four parameters: + * - Pointer to user-supplied context; + * - Pointer to the data; + * - Data size (can be zero); and + * - Indicator whether the FIN follows the data. + * + * The callback returns number of bytes processed. If this number is zero + * or is smaller than `len', reading from stream stops. + */ + size_t (*readf)(void *ctx, const unsigned char *buf, size_t len, int fin), + void *ctx); + +/** + * Set whether you want to write to stream. If @param is_want is true, + * @ref on_write() will be called when it is possible to write data to + * the stream. If @param is false, @ref on_write() will not be called. + * + * Returns previous value of this flag. + */ +int +lsquic_stream_wantwrite (lsquic_stream_t *s, int is_want); + +/** + * Write `len' bytes to the stream. Returns number of bytes written, which + * may be smaller that `len'. + * + * A negative return value indicates a serious error (the library is likely + * to have aborted the connection because of it). + */ +ssize_t +lsquic_stream_write (lsquic_stream_t *s, const void *buf, size_t len); + +/** + * Like @ref lsquic_stream_write(), but read data from @param vec. + */ +ssize_t +lsquic_stream_writev (lsquic_stream_t *s, const struct iovec *vec, int count); + +/** + * Write to streams using a single call to a preadv-like function. + */ +ssize_t +lsquic_stream_pwritev (lsquic_stream_t *s, + ssize_t (*preadv)(void *user_data, const struct iovec *iov, int iovcnt), + void *user_data, size_t n_to_write); + +/** + * Used as argument to @ref lsquic_stream_writef() + */ +struct lsquic_reader +{ + /** + * Not a ssize_t because the read function is not supposed to return + * an error. If an error occurs in the read function (for example, when + * reading from a file fails), it is supposed to deal with the error + * itself. + */ + size_t (*lsqr_read) (void *lsqr_ctx, void *buf, size_t count); + /** + * Return number of bytes remaining in the reader. + */ + size_t (*lsqr_size) (void *lsqr_ctx); + void *lsqr_ctx; +}; + +/** + * Write to stream using @ref lsquic_reader. This is the most generic of + * the write functions -- @ref lsquic_stream_write() and + * @ref lsquic_stream_writev() utilize the same mechanism. + * + * @retval Number of bytes written or -1 on error. + */ +ssize_t +lsquic_stream_writef (lsquic_stream_t *, struct lsquic_reader *); + +/** + * Flush any buffered data. This triggers packetizing even a single byte + * into a separate frame. Flushing a closed stream is an error. + * + * @retval 0 Success + * @retval -1 Failure + */ +int +lsquic_stream_flush (lsquic_stream_t *s); + +/** + * @typedef lsquic_http_headers_t + * @brief HTTP header list structure. Contains a list of HTTP headers in key/value pairs. + * used in API functions to pass headers. + */ +struct lsquic_http_headers +{ + int count; + struct lsxpack_header *headers; +}; + +/** + * Send headers in @param headers. This function must be called before + * writing to the stream. The value of @param eos is ignored in IETF QUIC. + */ +int +lsquic_stream_send_headers (lsquic_stream_t *s, + const lsquic_http_headers_t *headers, int eos); + +/** + * Get header set associated with the stream. The header set is created by + * @ref hsi_create_header_set() callback. After this call, the ownership of + * the header set is transferred to the caller. + * + * This call must precede calls to @ref lsquic_stream_read() and + * @ref lsquic_stream_readv(). + * + * If the optional header set interface (@ref ea_hsi_if) is not specified, + * this function returns NULL. + */ +void * +lsquic_stream_get_hset (lsquic_stream_t *); + +/** + * A server may push a stream. This call creates a new stream in reference + * to stream `s'. It will behave as if the client made a request: it will + * trigger on_new_stream() event and it can be used as a regular client- + * initiated stream. + * + * `hdr_set' must be set. It is passed as-is to @lsquic_stream_get_hset. + * + * @retval 0 Stream pushed successfully. + * @retval 1 Stream push failed because it is disabled or because we hit + * stream limit or connection is going away. + * @retval -1 Stream push failed because of an internal error. + */ +int +lsquic_conn_push_stream (lsquic_conn_t *c, void *hdr_set, lsquic_stream_t *s, + const lsquic_http_headers_t *headers); + +/** + * Only makes sense in server mode: the client cannot push a stream and this + * function always returns false in client mode. + */ +int +lsquic_conn_is_push_enabled (lsquic_conn_t *); + +/** Possible values for how are 0, 1, and 2. See shutdown(2). */ +int lsquic_stream_shutdown(lsquic_stream_t *s, int how); + +int lsquic_stream_close(lsquic_stream_t *s); + +/** + * Return true if peer has not ACKed all data written to the stream. This + * includes both packetized and buffered data. + */ +int +lsquic_stream_has_unacked_data (lsquic_stream_t *s); + +/** + * Get certificate chain returned by the server. This can be used for + * server certificate verification. + * + * The caller releases the stack using sk_X509_free(). + */ +struct stack_st_X509 * +lsquic_conn_get_server_cert_chain (lsquic_conn_t *); + +/** Returns ID of the stream */ +lsquic_stream_id_t +lsquic_stream_id (const lsquic_stream_t *s); + +/** + * Returns stream ctx associated with the stream. (The context is what + * is returned by @ref on_new_stream callback). + */ +lsquic_stream_ctx_t * +lsquic_stream_get_ctx (const lsquic_stream_t *s); + +/** + * Set user-supplied context associated with the stream. + */ +void +lsquic_stream_set_ctx (lsquic_stream_t *stream, lsquic_stream_ctx_t *ctx); + +/** Returns true if this is a pushed stream */ +int +lsquic_stream_is_pushed (const lsquic_stream_t *s); + +/** + * Returns true if this stream was rejected, false otherwise. Use this as + * an aid to distinguish between errors. + */ +int +lsquic_stream_is_rejected (const lsquic_stream_t *s); + +/** + * Refuse pushed stream. Call it from @ref on_new_stream. + * + * No need to call lsquic_stream_close() after this. on_close will be called. + * + * @see lsquic_stream_is_pushed + */ +int +lsquic_stream_refuse_push (lsquic_stream_t *s); + +/** + * Get information associated with pushed stream: + * + * @param ref_stream_id Stream ID in response to which push promise was + * sent. + * @param hdr_set Header set. This object was passed to or generated + * by @ref lsquic_conn_push_stream(). + * + * @retval 0 Success. + * @retval -1 This is not a pushed stream. + */ +int +lsquic_stream_push_info (const lsquic_stream_t *, + lsquic_stream_id_t *ref_stream_id, void **hdr_set); + +/** Return current priority of the stream */ +unsigned lsquic_stream_priority (const lsquic_stream_t *s); + +/** + * Set stream priority. Valid priority values are 1 through 256, inclusive. + * Lower value means higher priority. + * + * @retval 0 Success. + * @retval -1 Priority value is invalid. + */ +int lsquic_stream_set_priority (lsquic_stream_t *s, unsigned priority); + +/* + * Definitions for Extensible HTTP Priorities: + * https://tools.ietf.org/html/draft-ietf-httpbis-priority-01 + */ +/* This is maximum *value* -- but it's the lowest *priority* */ +#define LSQUIC_MAX_HTTP_URGENCY 7 +#define LSQUIC_DEF_HTTP_URGENCY 3 +#define LSQUIC_DEF_HTTP_INCREMENTAL 0 + +struct lsquic_ext_http_prio +{ + unsigned char urgency; + signed char incremental; +}; + +/** + * Get Extensible HTTP Priorities associated with the stream. + * + * Returns zero on success of a negative value on failure. A failure occurs + * if this is not an HTTP/3 stream or if Extensible HTTP Priorities haven't + * been enabled. See @ref es_ext_http_prio. + */ +int +lsquic_stream_get_http_prio (lsquic_stream_t *, struct lsquic_ext_http_prio *); + +/** + * Set Extensible HTTP Priorities of the stream. + * + * Returns zero on success of a negative value on failure. A failure occurs + * if some internal error occured or if this is not an HTTP/3 stream or if + * Extensible HTTP Priorities haven't been enabled. See @ref es_ext_http_prio. + */ +int +lsquic_stream_set_http_prio (lsquic_stream_t *, + const struct lsquic_ext_http_prio *); + +/** + * Get a pointer to the connection object. Use it with lsquic_conn_* + * functions. + */ +lsquic_conn_t * lsquic_stream_conn(const lsquic_stream_t *s); + +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT +void +lsquic_stream_set_webtransport_session(lsquic_stream_t *s); + +int +lsquic_stream_is_webtransport_session (const lsquic_stream_t *s); + +int +lsquic_stream_is_webtransport_client_bidi_stream(const lsquic_stream_t *s); + +int +lsquic_stream_get_webtransport_session_stream_id(const lsquic_stream_t *s); +#endif + +/** Get connection ID */ +const lsquic_cid_t * +lsquic_conn_id (const lsquic_conn_t *c); + +/** Get pointer to the engine */ +lsquic_engine_t * +lsquic_conn_get_engine (lsquic_conn_t *c); + +int +lsquic_conn_get_sockaddr(lsquic_conn_t *c, + const struct sockaddr **local, const struct sockaddr **peer); + +/* Returns previous value */ +int +lsquic_conn_want_datagram_write (lsquic_conn_t *, int is_want); + +/* Get minimum datagram size. By default, this value is zero. */ +size_t +lsquic_conn_get_min_datagram_size (lsquic_conn_t *); + +/* Set minimum datagram size. This is the minumum value of the buffer passed + * to the on_dg_write() callback. + */ +int +lsquic_conn_set_min_datagram_size (lsquic_conn_t *, size_t sz); + +struct lsquic_logger_if { + int (*log_buf)(void *logger_ctx, const char *buf, size_t len); +}; + +/** + * Enumerate timestamp styles supported by LSQUIC logger mechanism. + */ +enum lsquic_logger_timestamp_style { + /** + * No timestamp is generated. + */ + LLTS_NONE, + + /** + * The timestamp consists of 24 hours, minutes, seconds, and + * milliseconds. Example: 13:43:46.671 + */ + LLTS_HHMMSSMS, + + /** + * Like above, plus date, e.g: 2017-03-21 13:43:46.671 + */ + LLTS_YYYYMMDD_HHMMSSMS, + + /** + * This is Chrome-like timestamp used by proto-quic. The timestamp + * includes month, date, hours, minutes, seconds, and microseconds. + * + * Example: 1223/104613.946956 (instead of 12/23 10:46:13.946956). + * + * This is to facilitate reading two logs side-by-side. + */ + LLTS_CHROMELIKE, + + /** + * The timestamp consists of 24 hours, minutes, seconds, and + * microseconds. Example: 13:43:46.671123 + */ + LLTS_HHMMSSUS, + + /** + * Date and time using microsecond resolution, + * e.g: 2017-03-21 13:43:46.671123 + */ + LLTS_YYYYMMDD_HHMMSSUS, + + N_LLTS +}; + +/** + * Call this if you want to do something with LSQUIC log messages, as they + * are thrown out by default. + */ +void lsquic_logger_init(const struct lsquic_logger_if *, void *logger_ctx, + enum lsquic_logger_timestamp_style); + +/** + * Set log level for all LSQUIC modules. Acceptable values are debug, info, + * notice, warning, error, alert, emerg, crit (case-insensitive). + * + * @retval 0 Success. + * @retval -1 Failure: log_level is not valid. + */ +int +lsquic_set_log_level (const char *log_level); + +/** + * E.g. "event=debug" + */ +int +lsquic_logger_lopt (const char *optarg); + +/** + * Return the list of QUIC versions (as bitmask) this engine instance + * supports. + */ +unsigned lsquic_engine_quic_versions (const lsquic_engine_t *); + +/** + * This is one of the flags that can be passed to @ref lsquic_global_init. + * Use it to initialize LSQUIC for use in client mode. + */ +#define LSQUIC_GLOBAL_CLIENT (1 << 0) + +/** + * This is one of the flags that can be passed to @ref lsquic_global_init. + * Use it to initialize LSQUIC for use in server mode. + */ +#define LSQUIC_GLOBAL_SERVER (1 << 1) + +/** + * Initialize LSQUIC. This must be called before any other LSQUIC function + * is called. Returns 0 on success and -1 on failure. + * + * @param flags This a bitmask of @ref LSQUIC_GLOBAL_CLIENT and + * @ref LSQUIC_GLOBAL_SERVER. At least one of these + * flags should be specified. + * + * @retval 0 Success. + * @retval -1 Initialization failed. + * + * @see LSQUIC_GLOBAL_CLIENT + * @see LSQUIC_GLOBAL_SERVER + */ +int +lsquic_global_init (int flags); + +/** + * Clean up global state created by @ref lsquic_global_init. Should be + * called after all LSQUIC engine instances are gone. + */ +void +lsquic_global_cleanup (void); + +/** + * Get QUIC version used by the connection. + * + * @see lsquic_version + */ +enum lsquic_version +lsquic_conn_quic_version (const lsquic_conn_t *c); + +/* Return keysize or -1 on error */ +int +lsquic_conn_crypto_keysize (const lsquic_conn_t *c); + +/* Return algorithm keysize or -1 on error */ +int +lsquic_conn_crypto_alg_keysize (const lsquic_conn_t *c); + +enum lsquic_crypto_ver +{ + LSQ_CRY_QUIC, + LSQ_CRY_TLSv13, +}; + +enum lsquic_crypto_ver +lsquic_conn_crypto_ver (const lsquic_conn_t *c); + +/* Return cipher or NULL on error */ +const char * +lsquic_conn_crypto_cipher (const lsquic_conn_t *c); + +/** Translate string QUIC version to LSQUIC QUIC version representation */ +enum lsquic_version +lsquic_str2ver (const char *str, size_t len); + +/** Translate ALPN (e.g. "h3", "h3-23", "h3-Q046") to LSQUIC enum */ +enum lsquic_version +lsquic_alpn2ver (const char *alpn, size_t len); + +/** + * This function closes all mini connections and marks all full connections + * as going away. In server mode, this also causes the engine to stop + * creating new connections. + */ +void +lsquic_engine_cooldown (lsquic_engine_t *); + +/** + * Get user-supplied context associated with the connection. + */ +lsquic_conn_ctx_t * +lsquic_conn_get_ctx (const lsquic_conn_t *); + +/** + * Set user-supplied context associated with the connection. + */ +void +lsquic_conn_set_ctx (lsquic_conn_t *, lsquic_conn_ctx_t *); + +/** + * Get peer context associated with the connection. + */ +void * +lsquic_conn_get_peer_ctx (lsquic_conn_t *, const struct sockaddr *local_sa); + +/** Get SNI sent by the client */ +const char * +lsquic_conn_get_sni (lsquic_conn_t *); + +/** + * Abort connection. + */ +void +lsquic_conn_abort (lsquic_conn_t *); + +struct lsquic_conn_info +{ + uint32_t lci_cwnd; + uint32_t lci_pmtu; + uint32_t lci_rtt; + uint32_t lci_rttvar; + uint32_t lci_rtt_min; + uint64_t lci_bytes_rcvd; + uint64_t lci_bytes_sent; + uint64_t lci_pkts_rcvd; + uint64_t lci_pkts_sent; + uint64_t lci_pkts_lost; + uint64_t lci_pkts_retx; + uint64_t lci_bw_estimate; +}; + +int +lsquic_conn_get_info (lsquic_conn_t *conn, struct lsquic_conn_info *info); + +/** + * Helper function: convert list of versions as specified in the argument + * bitmask to string that can be included as argument to "v=" part of the + * Alt-Svc header. + * + * For example (1< "37,38" + * + * This is only applicable to Google QUIC versions. + */ +const char * +lsquic_get_alt_svc_versions (unsigned versions); + +/** + * Return a NULL-terminated list of HTTP/3 ALPNs, e.g "h3-17", "h3-18", "h3". + */ +const char *const * +lsquic_get_h3_alpns (unsigned versions); + +/** + * Returns true if provided buffer could be a valid handshake-stage packet, + * false otherwise. Do not call this function if a connection has already + * been established: it will return incorrect result. + */ +int +lsquic_is_valid_hs_packet (lsquic_engine_t *, const unsigned char *, size_t); + +/** + * Parse cid from packet stored in `buf' and store it to `cid'. Returns 0 + * on success and -1 on failure. + */ +int +lsquic_cid_from_packet (const unsigned char *, size_t bufsz, lsquic_cid_t *cid); + +/** + * On success, offset to the CID is returned (a non-negative value). + * `cid_len' is set to the length of the CID. The server perspective + * is assumed. `server_cid_len' is set to the length of the CIDs that + * server generates. + * + * On failure, a negative value is returned. + */ +int +lsquic_dcid_from_packet (const unsigned char *, size_t bufsz, + unsigned server_cid_len, uint8_t *cid_len); + +/** + * Returns true if there are connections to be processed, false otherwise. + * If true, `diff' is set to the difference between the earliest advisory + * tick time and now. If the former is in the past, the value of `diff' + * is negative. + */ +int +lsquic_engine_earliest_adv_tick (lsquic_engine_t *engine, int *diff); + +/** + * Return number of connections whose advisory tick time is before current + * time plus `from_now' microseconds from now. `from_now' can be negative. + */ +unsigned +lsquic_engine_count_attq (lsquic_engine_t *engine, int from_now); + +enum LSQUIC_CONN_STATUS +{ + LSCONN_ST_HSK_IN_PROGRESS, + LSCONN_ST_CONNECTED, + LSCONN_ST_HSK_FAILURE, + LSCONN_ST_GOING_AWAY, + LSCONN_ST_TIMED_OUT, + /* If es_honor_prst is not set, the connection will never get public + * reset packets and this flag will not be set. + */ + LSCONN_ST_RESET, + LSCONN_ST_USER_ABORTED, + LSCONN_ST_ERROR, + LSCONN_ST_CLOSED, + LSCONN_ST_PEER_GOING_AWAY, + LSCONN_ST_VERNEG_FAILURE, +}; + +enum LSQUIC_CONN_STATUS +lsquic_conn_status (lsquic_conn_t *, char *errbuf, size_t bufsz); + +extern const char *const +lsquic_ver2str[N_LSQVER]; + +/* Return connection associated with this SSL object */ +lsquic_conn_t * +lsquic_ssl_to_conn (const struct ssl_st *); + +/* Return session resumption information that can be used on subsequenct + * connection as argument to lsquic_engine_connect(). Call from inside + * SSL's new session callback. + * + * Returns 0 on success. In this case, `buf' is made to point to newly + * allocated memory containing `buf_sz' bytes. It is the caller's + * responsibility to free the memory. + */ +int +lsquic_ssl_sess_to_resume_info (struct ssl_st *, struct ssl_session_st *, + unsigned char **buf, size_t *buf_sz); + +size_t +lsquic_stream_write_avail (lsquic_stream_t *stream); + +#ifdef __cplusplus +} +#endif + +#endif //__LSQUIC_H__ + diff --git a/external/lsquic/include/lsquic_types.h b/external/lsquic/include/lsquic_types.h new file mode 100644 index 0000000..4687b0d --- /dev/null +++ b/external/lsquic/include/lsquic_types.h @@ -0,0 +1,60 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef __LSQUIC_TYPES_H__ +#define __LSQUIC_TYPES_H__ + +/** + * @file + * LSQUIC types. + */ + +#include +#include + +#define MAX_CID_LEN 20 +#define GQUIC_CID_LEN 8 + +#if defined(_MSC_VER) +#define ALIGNED_(x) __declspec(align(x)) +#else +#if defined(__GNUC__) +#define ALIGNED_(x) __attribute__ ((aligned(x))) +#endif +#endif + +/** + * Connection ID + */ +typedef struct ALIGNED_(8) lsquic_cid +{ + uint8_t buf[MAX_CID_LEN]; +#define idbuf buf + uint_fast8_t len; +} lsquic_cid_t; + + +#define LSQUIC_CIDS_EQ(a, b) ((a)->len == 8 ? \ + (b)->len == 8 && *(uint64_t *)((a)->buf) == *(uint64_t *)((b)->buf) : \ + (a)->len == (b)->len && 0 == memcmp((a)->idbuf, (b)->idbuf, (a)->len)) + +/** Stream ID */ +typedef uint64_t lsquic_stream_id_t; + +/** LSQUIC engine */ +typedef struct lsquic_engine lsquic_engine_t; + +/** Connection */ +typedef struct lsquic_conn lsquic_conn_t; + +/** Connection context. This is the return value of @ref on_new_conn. */ +typedef struct lsquic_conn_ctx lsquic_conn_ctx_t; + +/** Stream */ +typedef struct lsquic_stream lsquic_stream_t; + +/** Stream context. This is the return value of @ref on_new_stream. */ +typedef struct lsquic_stream_ctx lsquic_stream_ctx_t; + +/** HTTP headers */ +typedef struct lsquic_http_headers lsquic_http_headers_t; + +#endif diff --git a/external/lsquic/include/lsxpack_header.h b/external/lsquic/include/lsxpack_header.h new file mode 100644 index 0000000..9fd5a8b --- /dev/null +++ b/external/lsquic/include/lsxpack_header.h @@ -0,0 +1,170 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSXPACK_HEADER_H_v208 +#define LSXPACK_HEADER_H_v208 + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#ifndef LSXPACK_MAX_STRLEN +#define LSXPACK_MAX_STRLEN UINT16_MAX +#endif + +typedef int32_t lsxpack_offset_t; +#if LSXPACK_MAX_STRLEN == UINT16_MAX +typedef uint16_t lsxpack_strlen_t; +#elif LSXPACK_MAX_STRLEN == UINT32_MAX +typedef uint32_t lsxpack_strlen_t; +#else +#error unexpected LSXPACK_MAX_STRLEN +#endif + +#define LSXPACK_DEL ((char *)NULL) + +enum lsxpack_flag +{ + LSXPACK_HPACK_VAL_MATCHED = 1, + LSXPACK_QPACK_IDX = 2, + LSXPACK_APP_IDX = 4, + LSXPACK_NAME_HASH = 8, + LSXPACK_NAMEVAL_HASH = 16, + LSXPACK_VAL_MATCHED = 32, + LSXPACK_NEVER_INDEX = 64, +}; + +/** + * When header are decoded, it should be stored to @buf starting from @name_offset, + * : \r\n + * So, it can be used directly as HTTP/1.1 header. there are 4 extra characters + * added. + * + * limitation: we currently does not support total header size > 64KB. + */ + +struct lsxpack_header +{ + char *buf; /* the buffer for headers */ + uint32_t name_hash; /* hash value for name */ + uint32_t nameval_hash; /* hash value for name + value */ + lsxpack_offset_t name_offset; /* the offset for name in the buffer */ + lsxpack_offset_t val_offset; /* the offset for value in the buffer */ + lsxpack_strlen_t name_len; /* the length of name */ + lsxpack_strlen_t val_len; /* the length of value */ + uint16_t chain_next_idx; /* mainly for cookie value chain */ + uint8_t hpack_index; /* HPACK static table index */ + uint8_t qpack_index; /* QPACK static table index */ + uint8_t app_index; /* APP header index */ + enum lsxpack_flag flags:8; /* combination of lsxpack_flag */ + uint8_t indexed_type; /* control to disable index or not */ + uint8_t dec_overhead; /* num of extra bytes written to decoded buffer */ +}; + +typedef struct lsxpack_header lsxpack_header_t; + + +static inline void +lsxpack_header_set_idx(lsxpack_header_t *hdr, int hpack_idx, + const char *val, size_t val_len) +{ + memset(hdr, 0, sizeof(*hdr)); + hdr->buf = (char *)val; + hdr->hpack_index = (uint8_t)hpack_idx; + assert(hpack_idx != 0); + assert(val_len <= LSXPACK_MAX_STRLEN); + hdr->val_len = (lsxpack_strlen_t)val_len; +} + + +static inline void +lsxpack_header_set_qpack_idx(lsxpack_header_t *hdr, int qpack_idx, + const char *val, size_t val_len) +{ + memset(hdr, 0, sizeof(*hdr)); + hdr->buf = (char *)val; + hdr->qpack_index = (uint8_t)qpack_idx; + assert(qpack_idx != -1); + hdr->flags = LSXPACK_QPACK_IDX; + assert(val_len <= LSXPACK_MAX_STRLEN); + hdr->val_len = (lsxpack_strlen_t)val_len; +} + + +static inline void +lsxpack_header_set_offset(lsxpack_header_t *hdr, const char *buf, + size_t name_offset, size_t name_len, + size_t val_len) +{ + memset(hdr, 0, sizeof(*hdr)); + hdr->buf = (char *)buf; + hdr->name_offset = (lsxpack_offset_t)name_offset; + assert(name_len <= LSXPACK_MAX_STRLEN); + hdr->name_len = (lsxpack_strlen_t)name_len; + assert(name_offset + name_len + 2 <= LSXPACK_MAX_STRLEN); + hdr->val_offset = (lsxpack_offset_t)(name_offset + name_len + 2); + assert(val_len <= LSXPACK_MAX_STRLEN); + hdr->val_len = (lsxpack_strlen_t)val_len; +} + + +static inline void +lsxpack_header_set_offset2(lsxpack_header_t *hdr, const char *buf, + size_t name_offset, size_t name_len, + size_t val_offset, size_t val_len) +{ + memset(hdr, 0, sizeof(*hdr)); + hdr->buf = (char *)buf; + hdr->name_offset = (lsxpack_offset_t)name_offset; + assert(name_len <= LSXPACK_MAX_STRLEN); + hdr->name_len = (lsxpack_strlen_t)name_len; + assert(val_offset <= LSXPACK_MAX_STRLEN); + hdr->val_offset = (lsxpack_offset_t)val_offset; + assert(val_len <= LSXPACK_MAX_STRLEN); + hdr->val_len = (lsxpack_strlen_t)val_len; +} + + +static inline void +lsxpack_header_prepare_decode(lsxpack_header_t *hdr, + char *out, size_t offset, size_t len) +{ + memset(hdr, 0, sizeof(*hdr)); + hdr->buf = out; + assert(offset <= LSXPACK_MAX_STRLEN); + hdr->name_offset = (lsxpack_offset_t)offset; + if (len > LSXPACK_MAX_STRLEN) + hdr->val_len = LSXPACK_MAX_STRLEN; + else + hdr->val_len = (lsxpack_strlen_t)len; +} + + +static inline const char * +lsxpack_header_get_name(const lsxpack_header_t *hdr) +{ + return (hdr->name_len)? hdr->buf + hdr->name_offset : NULL; +} + + +static inline const char * +lsxpack_header_get_value(const lsxpack_header_t *hdr) +{ return hdr->buf + hdr->val_offset; } + +static inline size_t +lsxpack_header_get_dec_size(const lsxpack_header_t *hdr) +{ return hdr->name_len + hdr->val_len + hdr->dec_overhead; } + +static inline void +lsxpack_header_mark_val_changed(lsxpack_header_t *hdr) +{ + hdr->flags = (enum lsxpack_flag)(hdr->flags & + ~(LSXPACK_HPACK_VAL_MATCHED|LSXPACK_VAL_MATCHED|LSXPACK_NAMEVAL_HASH)); +} +#ifdef __cplusplus +} +#endif + +#endif //LSXPACK_HEADER_H_v208 diff --git a/external/lsquic/include/openssl/aead.h b/external/lsquic/include/openssl/aead.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/aead.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/bn.h b/external/lsquic/include/openssl/bn.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/bn.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/boringssl.hpp b/external/lsquic/include/openssl/boringssl.hpp new file mode 100644 index 0000000..693cd92 --- /dev/null +++ b/external/lsquic/include/openssl/boringssl.hpp @@ -0,0 +1,223 @@ +#pragma once + +#include +#include +#include + +#if defined(__cplusplus) +#define OPENSSL_EXPORT extern "C" +#else +#define OPENSSL_EXPORT +#endif + +#define STACK_OF(x) STACK_OF_##x + +#define LN_aes_128_gcm "aes-128-gcm" +#define SHA256_DIGEST_LENGTH 32 +#define EVP_MAX_BLOCK_LENGTH 32 +#define TLSEXT_NAMETYPE_host_name 0 +#define SSL_OP_NO_TLSv1_3 0x20000000L +#define SSL_ERROR_EARLY_DATA_REJECTED 15 +#define SSL_ERROR_WANT_READ 2 +#define SSL_ERROR_WANT_WRITE 3 +#define EVP_MAX_KEY_LENGTH 64 +#define ERR_ERROR_STRING_BUF_LEN 120 +#define TLS1_3_VERSION 0x0304 +#define SSL_SESS_CACHE_CLIENT 0x0001 +#define SSL_VERIFY_PEER 0x01 +#define EVP_MAX_MD_SIZE 64 +#define EVP_MAX_IV_LENGTH 16 +#define RSA_PKCS1_PSS_PADDING 6 +#define RSA_PKCS1_PSS_PADDING 6 + +enum evp_aead_direction_t { + evp_aead_open, + evp_aead_seal, +}; +enum ssl_verify_result_t { + ssl_verify_ok, + ssl_verify_invalid, + ssl_verify_retry, +}; +enum ssl_encryption_level_t { + ssl_encryption_initial = 0, + ssl_encryption_early_data = 1, + ssl_encryption_handshake = 2, + ssl_encryption_application = 3, +}; + +typedef struct x509_store_ctx_st X509_STORE_CTX; +typedef struct sha256_state_st SHA256_CTX; +typedef struct env_md_st EVP_MD; +typedef struct bignum_st BIGNUM; +typedef struct evp_aead_ctx_st EVP_AEAD_CTX; +typedef struct ssl_method_st SSL_METHOD; +typedef struct x509_st X509; +typedef struct bio_st BIO; +typedef ptrdiff_t ossl_ssize_t; +typedef struct asn1_string_st ASN1_INTEGER; +typedef struct x509_st X509; +typedef struct evp_pkey_st EVP_PKEY; +typedef struct env_md_ctx_st EVP_MD_CTX; +typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; +typedef struct engine_st ENGINE; +typedef struct X509_name_st X509_NAME; +typedef struct ssl_quic_method_st SSL_QUIC_METHOD; +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; +typedef struct ssl_st SSL; +typedef struct ssl_session_st SSL_SESSION; +typedef struct ssl_cipher_st SSL_CIPHER; +typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; +typedef struct evp_cipher_st EVP_CIPHER; +typedef struct stack_st_X509 STACK_OF_X509; +typedef struct ssl_ctx_st SSL_CTX; +typedef struct evp_aead_st EVP_AEAD; + +typedef int pem_password_cb(char *buf, int size, int rwflag, void *userdata); + +typedef int CRYPTO_EX_unused; +typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, void **from_d, int index, long argl, void *argp); +typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int index, long argl, void *argp); + +OPENSSL_EXPORT int RAND_bytes(uint8_t *buf, size_t len); +OPENSSL_EXPORT int SHA256_Init(SHA256_CTX *sha); +OPENSSL_EXPORT int SHA256_Update(SHA256_CTX *sha, const void *data, size_t len); +OPENSSL_EXPORT int SHA256_Final(uint8_t out[SHA256_DIGEST_LENGTH], SHA256_CTX *sha); +OPENSSL_EXPORT uint8_t *HMAC(const EVP_MD *evp_md, const void *key, size_t key_len, const uint8_t *data, size_t data_len, uint8_t *out, unsigned int *out_len); +OPENSSL_EXPORT const EVP_MD *EVP_sha256(void); +OPENSSL_EXPORT int HKDF_expand(uint8_t *out_key, size_t out_len, const EVP_MD *digest, const uint8_t *prk, size_t prk_len, const uint8_t *info, size_t info_len); +OPENSSL_EXPORT void X25519_public_from_private(uint8_t out_public_value[32], const uint8_t private_key[32]); +OPENSSL_EXPORT int X25519(uint8_t out_shared_key[32], const uint8_t private_key[32], const uint8_t peer_public_value[32]); +OPENSSL_EXPORT int EVP_AEAD_CTX_seal(const EVP_AEAD_CTX *ctx, uint8_t *out, size_t *out_len, size_t max_out_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *ad, size_t ad_len); +OPENSSL_EXPORT int EVP_AEAD_CTX_open(const EVP_AEAD_CTX *ctx, uint8_t *out, size_t *out_len, size_t max_out_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *ad, size_t ad_len); +OPENSSL_EXPORT BIO *BIO_new_mem_buf(const void *buf, ossl_ssize_t len); +OPENSSL_EXPORT X509 *d2i_X509_bio(BIO *bp, X509 **x509); +OPENSSL_EXPORT int BIO_free(BIO *bio); +OPENSSL_EXPORT void EVP_MD_CTX_init(EVP_MD_CTX *ctx); +OPENSSL_EXPORT int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); +OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int padding); +OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int salt_len); +OPENSSL_EXPORT int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t len); +OPENSSL_EXPORT int EVP_DigestSignFinal(EVP_MD_CTX *ctx, uint8_t *out_sig, size_t *out_sig_len); +OPENSSL_EXPORT int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); +OPENSSL_EXPORT int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); +OPENSSL_EXPORT int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t len); +OPENSSL_EXPORT int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const uint8_t *sig, size_t sig_len); +OPENSSL_EXPORT void CRYPTO_library_init(void); +OPENSSL_EXPORT size_t EVP_AEAD_key_length(const EVP_AEAD *aead); +OPENSSL_EXPORT size_t EVP_AEAD_nonce_length(const EVP_AEAD *aead); +OPENSSL_EXPORT int EVP_AEAD_CTX_init_with_direction( EVP_AEAD_CTX *ctx, const EVP_AEAD *aead, const uint8_t *key, size_t key_len, size_t tag_len, enum evp_aead_direction_t dir); +OPENSSL_EXPORT void EVP_AEAD_CTX_cleanup(EVP_AEAD_CTX *ctx); +OPENSSL_EXPORT int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len, const uint8_t *in, int in_len); +OPENSSL_EXPORT uint32_t ERR_get_error(void); +OPENSSL_EXPORT void CRYPTO_chacha_20(uint8_t *out, const uint8_t *in, size_t in_len, const uint8_t key[32], const uint8_t nonce[12], uint32_t counter); +OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_from_bytes(const uint8_t *in, size_t in_len, const SSL_CTX *ctx); +OPENSSL_EXPORT int SSL_SESSION_early_data_capable(const SSL_SESSION *session); +OPENSSL_EXPORT void SSL_SESSION_free(SSL_SESSION *session); +OPENSSL_EXPORT SSL_CTX *SSL_CTX_new(const SSL_METHOD *method); +OPENSSL_EXPORT const SSL_METHOD *TLS_method(void); +OPENSSL_EXPORT char *ERR_error_string(uint32_t packed_error, char *buf); +OPENSSL_EXPORT int SSL_CTX_set_min_proto_version(SSL_CTX *ctx, uint16_t version); +OPENSSL_EXPORT int SSL_CTX_set_max_proto_version(SSL_CTX *ctx, uint16_t version); +OPENSSL_EXPORT int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); +OPENSSL_EXPORT int SSL_CTX_set_session_cache_mode(SSL_CTX *ctx, int mode); +OPENSSL_EXPORT void SSL_CTX_sess_set_new_cb( SSL_CTX *ctx, int (*new_session_cb)(SSL *ssl, SSL_SESSION *session)); +OPENSSL_EXPORT void SSL_CTX_set_custom_verify( SSL_CTX *ctx, int mode, enum ssl_verify_result_t (*callback)(SSL *ssl, uint8_t *out_alert)); +OPENSSL_EXPORT void SSL_CTX_set_early_data_enabled(SSL_CTX *ctx, int enabled); +OPENSSL_EXPORT SSL *SSL_new(SSL_CTX *ctx); +OPENSSL_EXPORT int SSL_set_quic_transport_params(SSL *ssl, const uint8_t *params, size_t params_len); +OPENSSL_EXPORT int SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method); +OPENSSL_EXPORT int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos, size_t protos_len); +OPENSSL_EXPORT int SSL_set_tlsext_host_name(SSL *ssl, const char *name); +OPENSSL_EXPORT int SSL_set_session(SSL *ssl, SSL_SESSION *session); +OPENSSL_EXPORT int SSL_set_ex_data(SSL *ssl, int idx, void *data); +OPENSSL_EXPORT void SSL_set_connect_state(SSL *ssl); +OPENSSL_EXPORT int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))( SSL *ssl, SSL_SESSION *session); +OPENSSL_EXPORT void SSL_CTX_free(SSL_CTX *ctx); +OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm(void); +OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_128_ecb(void); +OPENSSL_EXPORT int HKDF_extract(uint8_t *out_key, size_t *out_len, const EVP_MD *digest, const uint8_t *secret, size_t secret_len, const uint8_t *salt, size_t salt_len); +OPENSSL_EXPORT void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx); +OPENSSL_EXPORT int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const uint8_t *key, const uint8_t *iv); +OPENSSL_EXPORT int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx); +OPENSSL_EXPORT void *SSL_get_ex_data(const SSL *ssl, int idx); +OPENSSL_EXPORT STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *ssl); +OPENSSL_EXPORT const char *SSL_get_servername(const SSL *ssl, const int type); +OPENSSL_EXPORT SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx); +OPENSSL_EXPORT void SSL_set_verify(SSL *ssl, int mode, int (*callback)(int ok, X509_STORE_CTX *store_ctx)); +OPENSSL_EXPORT int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); +OPENSSL_EXPORT void SSL_set_verify_depth(SSL *ssl, int depth); +OPENSSL_EXPORT int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); +OPENSSL_EXPORT uint32_t SSL_clear_options(SSL *ssl, uint32_t options); +OPENSSL_EXPORT uint32_t SSL_get_options(const SSL *ssl); +OPENSSL_EXPORT uint32_t SSL_set_options(SSL *ssl, uint32_t options); +OPENSSL_EXPORT uint32_t SSL_CTX_get_options(const SSL_CTX *ctx); +OPENSSL_EXPORT int SSL_set_quic_early_data_context(SSL *ssl, const uint8_t *context, size_t context_len); +OPENSSL_EXPORT void SSL_set_cert_cb(SSL *ssl, int (*cb)(SSL *ssl, void *arg), void *arg); +OPENSSL_EXPORT void SSL_set_accept_state(SSL *ssl); +OPENSSL_EXPORT void SSL_get_peer_quic_transport_params( const SSL *ssl, const uint8_t **out_params, size_t *out_params_len); +OPENSSL_EXPORT int SSL_SESSION_to_bytes(const SSL_SESSION *in, uint8_t **out_data, size_t *out_len); +OPENSSL_EXPORT void OPENSSL_free(void *ptr); +OPENSSL_EXPORT uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *cipher); +OPENSSL_EXPORT const EVP_MD *EVP_sha384(void); +OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm(void); +OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_256_ecb(void); +OPENSSL_EXPORT const EVP_AEAD *EVP_aead_chacha20_poly1305(void); +OPENSSL_EXPORT int SSL_do_handshake(SSL *ssl); +OPENSSL_EXPORT int SSL_get_error(const SSL *ssl, int ret_code); +OPENSSL_EXPORT void SSL_reset_early_data_reject(SSL *ssl); +OPENSSL_EXPORT int SSL_in_early_data(const SSL *ssl); +OPENSSL_EXPORT int SSL_process_quic_post_handshake(SSL *ssl); +OPENSSL_EXPORT void SSL_free(SSL *ssl); +OPENSSL_EXPORT int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func); +OPENSSL_EXPORT STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); +OPENSSL_EXPORT const SSL_CIPHER *SSL_get_current_cipher(const SSL *ssl); +OPENSSL_EXPORT const char *SSL_CIPHER_get_name(const SSL_CIPHER *cipher); +OPENSSL_EXPORT int SSL_in_init(const SSL *ssl); +OPENSSL_EXPORT int SSL_provide_quic_data(SSL *ssl, enum ssl_encryption_level_t level, const uint8_t *data, size_t len); +OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *out_alg_bits); +OPENSSL_EXPORT void SSL_get0_alpn_selected(const SSL *ssl, const uint8_t **out_data, unsigned *out_len); +OPENSSL_EXPORT int SSL_send_fatal_alert(SSL *ssl, uint8_t alert); +OPENSSL_EXPORT int EVP_AEAD_CTX_init(EVP_AEAD_CTX *ctx, const EVP_AEAD *aead, const uint8_t *key, size_t key_len, size_t tag_len, ENGINE *impl); +OPENSSL_EXPORT X509_NAME *X509_get_subject_name(const X509 *x509); +OPENSSL_EXPORT char *X509_NAME_oneline(const X509_NAME *name, char *buf, int size); +OPENSSL_EXPORT int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func); +OPENSSL_EXPORT int SSL_CTX_get0_chain_certs(const SSL_CTX *ctx, STACK_OF(X509) **out_chain); +OPENSSL_EXPORT int i2d_X509(X509 *x509, uint8_t **outp); +OPENSSL_EXPORT int SSL_CTX_set_ex_data(SSL_CTX *ctx, int idx, void *data); +OPENSSL_EXPORT EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); +OPENSSL_EXPORT int EVP_PKEY_size(const EVP_PKEY *pkey); +OPENSSL_EXPORT void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx); +OPENSSL_EXPORT X509_NAME *X509_get_issuer_name(const X509 *x509); +OPENSSL_EXPORT int X509_NAME_get0_der(X509_NAME *name, const uint8_t **out_der, size_t *out_der_len); +OPENSSL_EXPORT ASN1_INTEGER *X509_get_serialNumber(X509 *x509); +OPENSSL_EXPORT BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); +OPENSSL_EXPORT unsigned BN_num_bytes(const BIGNUM *bn); +OPENSSL_EXPORT void BN_free(BIGNUM *bn); +OPENSSL_EXPORT size_t BN_bn2bin(const BIGNUM *in, uint8_t *out); +OPENSSL_EXPORT X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); +OPENSSL_EXPORT EVP_PKEY *X509_get_pubkey(const X509 *x509); +OPENSSL_EXPORT void EVP_PKEY_free(EVP_PKEY *pkey); +OPENSSL_EXPORT void X509_free(X509 *x509); + +OPENSSL_EXPORT X509 *PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb, void *u); +OPENSSL_EXPORT size_t sk_X509_num(const STACK_OF_X509 *sk); +OPENSSL_EXPORT X509 *sk_X509_value(const STACK_OF_X509 *sk, size_t i); +OPENSSL_EXPORT STACK_OF_X509 *sk_X509_new_null(void); +OPENSSL_EXPORT size_t sk_X509_push(STACK_OF_X509 *sk, X509 *p); +OPENSSL_EXPORT void sk_X509_free(STACK_OF_X509 *sk); + +struct env_md_ctx_st {}; +struct sha256_state_st {}; +struct evp_aead_ctx_st { + char _; +}; +struct evp_cipher_ctx_st {}; + +struct ssl_quic_method_st { + int (*set_read_secret)(SSL *ssl, enum ssl_encryption_level_t level, const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len); + int (*set_write_secret)(SSL *ssl, enum ssl_encryption_level_t level, const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len); + int (*add_handshake_data)(SSL *ssl, enum ssl_encryption_level_t level, const uint8_t *data, size_t len); + int (*flush_flight)(SSL *ssl); + int (*send_alert)(SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert); +}; diff --git a/external/lsquic/include/openssl/chacha.h b/external/lsquic/include/openssl/chacha.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/chacha.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/crypto.h b/external/lsquic/include/openssl/crypto.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/crypto.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/curve25519.h b/external/lsquic/include/openssl/curve25519.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/curve25519.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/hkdf.h b/external/lsquic/include/openssl/hkdf.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/hkdf.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/hmac.h b/external/lsquic/include/openssl/hmac.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/hmac.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/nid.h b/external/lsquic/include/openssl/nid.h new file mode 100644 index 0000000..6f70f09 --- /dev/null +++ b/external/lsquic/include/openssl/nid.h @@ -0,0 +1 @@ +#pragma once diff --git a/external/lsquic/include/openssl/rand.h b/external/lsquic/include/openssl/rand.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/rand.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/ssl.h b/external/lsquic/include/openssl/ssl.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/ssl.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/include/openssl/stack.h b/external/lsquic/include/openssl/stack.h new file mode 100644 index 0000000..6f70f09 --- /dev/null +++ b/external/lsquic/include/openssl/stack.h @@ -0,0 +1 @@ +#pragma once diff --git a/external/lsquic/include/openssl/x509.h b/external/lsquic/include/openssl/x509.h new file mode 100644 index 0000000..84ee25e --- /dev/null +++ b/external/lsquic/include/openssl/x509.h @@ -0,0 +1,3 @@ +#pragma once + +#include "boringssl.hpp" diff --git a/external/lsquic/src/boringssl.cpp b/external/lsquic/src/boringssl.cpp new file mode 100644 index 0000000..41678f3 --- /dev/null +++ b/external/lsquic/src/boringssl.cpp @@ -0,0 +1,573 @@ +#include + +#include +#include +#include +#include + +template +struct LineStub { + template + operator T() { + return (T)line; + } +}; +#define LINE_STUB \ + LineStub<__LINE__> {} + +#define CONST(x) x + +#define TODO std::println("TODO: {}", __FUNCTION__), abort() + +#define IQUIC_TAG_LEN 16 + +struct ssl_st { + enum State { + INIT, + CLIENT_CONNECT, + CLIENT_WRITE_L0, + SERVER_READ_L0, + SERVER_WRITE_L0, + CLIENT_READ_L0, + CLIENT_SET_WL2_RL2, + SERVER_SET_TP, + SERVER_WRITE_L2, + CLIENT_READ_L2, + CLIENT_WRITE_L2, + SERVER_READ_L2, + SERVER_WRITE_L3, + ESTABLISHED, + }; + + void setWriteSecret(ssl_encryption_level_t level) { + uint8_t secret[32]{}; + io->set_write_secret(this, level, nullptr, secret, sizeof(secret)); + } + + void setReadSecret(ssl_encryption_level_t level) { + uint8_t secret[32]{}; + io->set_read_secret(this, level, nullptr, secret, sizeof(secret)); + } + + std::optional client; + std::optional ex_data; + const SSL_QUIC_METHOD *io = nullptr; + std::optional> transport_params; + std::optional> peer_transport_params; + State state = INIT; +}; + +inline auto &randomEngine() { + static std::default_random_engine random_engine; + return random_engine; +} + +inline void mix(std::span out, std::span in) { + auto n = std::max(out.size(), in.size()); + for (size_t i = 0; i < n; ++i) { + out[i % out.size()] ^= in[i % in.size()]; + } +} + +// clang-format off + +OPENSSL_EXPORT int RAND_bytes(uint8_t *buf, size_t len) { + for (auto &byte : std::span{buf, len}) { + byte = std::uniform_int_distribution{}(randomEngine()); + } + return true; +} + +OPENSSL_EXPORT int SHA256_Init(SHA256_CTX *sha) { TODO; } + +OPENSSL_EXPORT int SHA256_Update(SHA256_CTX *sha, const void *data, size_t len) { TODO; } + +OPENSSL_EXPORT int SHA256_Final(uint8_t out[SHA256_DIGEST_LENGTH], SHA256_CTX *sha) { TODO; } + +OPENSSL_EXPORT uint8_t *HMAC(const EVP_MD *evp_md, const void *key, size_t key_len, const uint8_t *data, size_t data_len, uint8_t *out, unsigned int *out_len) { TODO; } + +OPENSSL_EXPORT const EVP_MD *EVP_sha256(void) { + return LINE_STUB; +} + +OPENSSL_EXPORT int HKDF_expand(uint8_t *out_key, size_t out_len, const EVP_MD *digest, const uint8_t *prk, size_t prk_len, const uint8_t *info, size_t info_len) { + memset(out_key, 0, out_len); + mix({out_key, out_len}, {prk, prk_len}); + mix({out_key, out_len}, {info, info_len}); + return true; +} + +OPENSSL_EXPORT void X25519_public_from_private(uint8_t out_public_value[32], const uint8_t private_key[32]) { TODO; } + +OPENSSL_EXPORT int X25519(uint8_t out_shared_key[32], const uint8_t private_key[32], const uint8_t peer_public_value[32]) { TODO; } + +OPENSSL_EXPORT int EVP_AEAD_CTX_seal(const EVP_AEAD_CTX *ctx, uint8_t *out, size_t *out_len, size_t max_out_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *ad, size_t ad_len) { + NS_ASSERT(max_out_len > IQUIC_TAG_LEN); + *out_len = std::min(in_len + IQUIC_TAG_LEN, max_out_len); + memcpy(out, in, *out_len - IQUIC_TAG_LEN); + memset(out + *out_len - IQUIC_TAG_LEN, 0, IQUIC_TAG_LEN); + return true; +} + +OPENSSL_EXPORT int EVP_AEAD_CTX_open(const EVP_AEAD_CTX *ctx, uint8_t *out, size_t *out_len, size_t max_out_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *ad, size_t ad_len) { + NS_ASSERT(in_len > IQUIC_TAG_LEN); + *out_len = std::min(in_len - IQUIC_TAG_LEN, max_out_len); + memcpy(out, in, *out_len); + return true; +} + +OPENSSL_EXPORT BIO *BIO_new_mem_buf(const void *buf, ossl_ssize_t len) { TODO; } + +OPENSSL_EXPORT X509 *d2i_X509_bio(BIO *bp, X509 **x509) { TODO; } + +OPENSSL_EXPORT int BIO_free(BIO *bio) { TODO; } + +OPENSSL_EXPORT void EVP_MD_CTX_init(EVP_MD_CTX *ctx) { TODO; } + +OPENSSL_EXPORT int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey) { TODO; } + +OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int padding) { TODO; } + +OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int salt_len) { TODO; } + +OPENSSL_EXPORT int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t len) { TODO; } + +OPENSSL_EXPORT int EVP_DigestSignFinal(EVP_MD_CTX *ctx, uint8_t *out_sig, size_t *out_sig_len) { TODO; } + +OPENSSL_EXPORT int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx) { TODO; } + +OPENSSL_EXPORT int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey) { TODO; } + +OPENSSL_EXPORT int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t len) { TODO; } + +OPENSSL_EXPORT int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const uint8_t *sig, size_t sig_len) { TODO; } + +OPENSSL_EXPORT void CRYPTO_library_init(void) { +} + +OPENSSL_EXPORT size_t EVP_AEAD_key_length(const EVP_AEAD *aead) { + return CONST(1); +} + +OPENSSL_EXPORT size_t EVP_AEAD_nonce_length(const EVP_AEAD *aead) { + return CONST(1); +} + +OPENSSL_EXPORT int EVP_AEAD_CTX_init_with_direction( EVP_AEAD_CTX *ctx, const EVP_AEAD *aead, const uint8_t *key, size_t key_len, size_t tag_len, enum evp_aead_direction_t dir) { + NS_ASSERT(tag_len == IQUIC_TAG_LEN); + return true; +} + +OPENSSL_EXPORT void EVP_AEAD_CTX_cleanup(EVP_AEAD_CTX *ctx) { +} + +OPENSSL_EXPORT int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len, const uint8_t *in, int in_len) { + *out_len = in_len; + memcpy(out, in, in_len); + return true; +} + +OPENSSL_EXPORT uint32_t ERR_get_error(void) { TODO; } + +OPENSSL_EXPORT void CRYPTO_chacha_20(uint8_t *out, const uint8_t *in, size_t in_len, const uint8_t key[32], const uint8_t nonce[12], uint32_t counter) { TODO; } + +OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_from_bytes(const uint8_t *in, size_t in_len, const SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT int SSL_SESSION_early_data_capable(const SSL_SESSION *session) { TODO; } + +OPENSSL_EXPORT void SSL_SESSION_free(SSL_SESSION *session) { TODO; } + +OPENSSL_EXPORT SSL_CTX *SSL_CTX_new(const SSL_METHOD *method) { + return LINE_STUB; +} + +OPENSSL_EXPORT const SSL_METHOD *TLS_method(void) { + return LINE_STUB; +} + +OPENSSL_EXPORT char *ERR_error_string(uint32_t packed_error, char *buf) { TODO; } + +OPENSSL_EXPORT int SSL_CTX_set_min_proto_version(SSL_CTX *ctx, uint16_t version) { TODO; } + +OPENSSL_EXPORT int SSL_CTX_set_max_proto_version(SSL_CTX *ctx, uint16_t version) { TODO; } + +OPENSSL_EXPORT int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT int SSL_CTX_set_session_cache_mode(SSL_CTX *ctx, int mode) { TODO; } + +OPENSSL_EXPORT void SSL_CTX_sess_set_new_cb( SSL_CTX *ctx, int (*new_session_cb)(SSL *ssl, SSL_SESSION *session)) { TODO; } + +OPENSSL_EXPORT void SSL_CTX_set_custom_verify( SSL_CTX *ctx, int mode, enum ssl_verify_result_t (*callback)(SSL *ssl, uint8_t *out_alert)) { TODO; } + +OPENSSL_EXPORT void SSL_CTX_set_early_data_enabled(SSL_CTX *ctx, int enabled) { TODO; } + +OPENSSL_EXPORT SSL *SSL_new(SSL_CTX *ctx) { + return new SSL{}; +} + +OPENSSL_EXPORT int SSL_set_quic_transport_params(SSL *ssl, const uint8_t *params, size_t params_len) { + NS_ASSERT(not ssl->transport_params.has_value()); + if (ssl->state == SSL::INIT) { + ssl->state = SSL::CLIENT_CONNECT; + } else { + NS_ASSERT(ssl->client.has_value() and not ssl->client.value()); + NS_ASSERT(ssl->state == SSL::SERVER_SET_TP); + ssl->state = SSL::SERVER_WRITE_L2; + } + ssl->transport_params.emplace(params, params + params_len); + return true; +} + +OPENSSL_EXPORT int SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method) { + NS_ASSERT(ssl->io == nullptr); + ssl->io = quic_method; + return true; +} + +OPENSSL_EXPORT int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos, size_t protos_len) { TODO; } + +OPENSSL_EXPORT int SSL_set_tlsext_host_name(SSL *ssl, const char *name) { + return true; +} + +OPENSSL_EXPORT int SSL_set_session(SSL *ssl, SSL_SESSION *session) { TODO; } + +OPENSSL_EXPORT int SSL_set_ex_data(SSL *ssl, int idx, void *data) { + NS_ASSERT(not ssl->ex_data.has_value()); + ssl->ex_data.emplace(data); + return true; +} + +OPENSSL_EXPORT void SSL_set_connect_state(SSL *ssl) { + NS_ASSERT(not ssl->client.has_value()); + NS_ASSERT(ssl->state == SSL::CLIENT_CONNECT); + ssl->client.emplace(true); + ssl->state = SSL::CLIENT_WRITE_L0; +} + +OPENSSL_EXPORT int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))( SSL *ssl, SSL_SESSION *session) { + return nullptr; +} + +OPENSSL_EXPORT void SSL_CTX_free(SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm(void) { + return LINE_STUB; +} + +OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_128_ecb(void) { + return LINE_STUB; +} + +OPENSSL_EXPORT int HKDF_extract(uint8_t *out_key, size_t *out_len, const EVP_MD *digest, const uint8_t *secret, size_t secret_len, const uint8_t *salt, size_t salt_len) { + *out_len = 32; + memset(out_key, 0, *out_len); + mix({out_key, *out_len}, {secret, secret_len}); + mix({out_key, *out_len}, {salt, salt_len}); + return true; +} + +OPENSSL_EXPORT void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx) { +} + +OPENSSL_EXPORT int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const uint8_t *key, const uint8_t *iv) { + return true; +} + +OPENSSL_EXPORT int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx) { + return true; +} + +OPENSSL_EXPORT void *SSL_get_ex_data(const SSL *ssl, int idx) { + return ssl->ex_data.value(); +} + +OPENSSL_EXPORT STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *ssl) { TODO; } + +OPENSSL_EXPORT const char *SSL_get_servername(const SSL *ssl, const int type) { TODO; } + +OPENSSL_EXPORT SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT void SSL_set_verify(SSL *ssl, int mode, int (*callback)(int ok, X509_STORE_CTX *store_ctx)) { TODO; } + +OPENSSL_EXPORT int SSL_CTX_get_verify_mode(const SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT void SSL_set_verify_depth(SSL *ssl, int depth) { TODO; } + +OPENSSL_EXPORT int SSL_CTX_get_verify_depth(const SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT uint32_t SSL_clear_options(SSL *ssl, uint32_t options) { + return 0; +} + +OPENSSL_EXPORT uint32_t SSL_get_options(const SSL *ssl) { TODO; } + +OPENSSL_EXPORT uint32_t SSL_set_options(SSL *ssl, uint32_t options) { TODO; } + +OPENSSL_EXPORT uint32_t SSL_CTX_get_options(const SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT int SSL_set_quic_early_data_context(SSL *ssl, const uint8_t *context, size_t context_len) { + return true; +} + +OPENSSL_EXPORT void SSL_set_cert_cb(SSL *ssl, int (*cb)(SSL *ssl, void *arg), void *arg) { TODO; } + +OPENSSL_EXPORT void SSL_set_accept_state(SSL *ssl) { + NS_ASSERT(not ssl->client.has_value()); + NS_ASSERT(ssl->state == SSL::INIT); + ssl->client.emplace(false); + ssl->state = SSL::SERVER_READ_L0; +} + +OPENSSL_EXPORT void SSL_get_peer_quic_transport_params( const SSL *ssl, const uint8_t **out_params, size_t *out_params_len) { + NS_ASSERT(ssl->peer_transport_params.has_value()); + auto &peer_transport_params = ssl->peer_transport_params.value(); + *out_params = peer_transport_params.data(); + *out_params_len = peer_transport_params.size(); +} + +OPENSSL_EXPORT int SSL_SESSION_to_bytes(const SSL_SESSION *in, uint8_t **out_data, size_t *out_len) { TODO; } + +OPENSSL_EXPORT void OPENSSL_free(void *ptr) { TODO; } + +OPENSSL_EXPORT uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *cipher) { + return 0x03000000 | 0x1301; +} + +OPENSSL_EXPORT const EVP_MD *EVP_sha384(void) { TODO; } + +OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm(void) { TODO; } + +OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_256_ecb(void) { TODO; } + +OPENSSL_EXPORT const EVP_AEAD *EVP_aead_chacha20_poly1305(void) { + return LINE_STUB; +} + +OPENSSL_EXPORT int SSL_do_handshake(SSL *ssl) { + auto _write = [&](ssl_encryption_level_t level, std::vector s) { + NS_ASSERT(ssl->io->add_handshake_data(ssl, level, s.data(), s.size()) == 1); + }; + auto write = [&](ssl_encryption_level_t level, std::string_view s) { + _write(level, {s.data(), s.data() + s.size()}); + }; + auto write_tp = [&](ssl_encryption_level_t level) { + NS_ASSERT(ssl->transport_params.has_value()); + auto s = ssl->transport_params.value(); + if (ssl->client.value()) { + NS_ASSERT(s.size() <= 255); + uint8_t chlo[4]{1, 0, 0, (uint8_t)s.size()}; + s.insert_range(s.begin(), chlo); + } + _write(level, s); + }; + NS_ASSERT(ssl->client.has_value()); + switch (ssl->state) { + case SSL::SERVER_READ_L0: + case SSL::CLIENT_READ_L0: + case SSL::CLIENT_READ_L2: + case SSL::SERVER_READ_L2: + return -1; + + case SSL::CLIENT_SET_WL2_RL2: { + ssl->setWriteSecret(ssl_encryption_handshake); + ssl->setReadSecret(ssl_encryption_handshake); + ssl->state = SSL::CLIENT_READ_L2; + return -1; + } + + case SSL::CLIENT_WRITE_L0: { + write_tp(ssl_encryption_initial); + ssl->state = SSL::CLIENT_READ_L0; + break; + } + case SSL::SERVER_WRITE_L0: { + ssl->state = SSL::SERVER_SET_TP; + write(ssl_encryption_initial, "SERVER_WRITE_L0"); + NS_ASSERT(ssl->state == SSL::SERVER_WRITE_L2); + ssl->setWriteSecret(ssl_encryption_handshake); + write_tp(ssl_encryption_handshake); + ssl->setWriteSecret(ssl_encryption_application); + ssl->state = SSL::SERVER_READ_L2; + NS_ASSERT(ssl->io->flush_flight(ssl) == 1); + ssl->setReadSecret(ssl_encryption_handshake); + return -1; + } + case SSL::SERVER_WRITE_L2: + abort(); + case SSL::CLIENT_WRITE_L2: { + write(ssl_encryption_handshake, "CLIENT_WRITE_L2"); + ssl->setWriteSecret(ssl_encryption_application); + ssl->setReadSecret(ssl_encryption_application); + ssl->state = SSL::ESTABLISHED; + break; + } + case SSL::SERVER_WRITE_L3: { + ssl->setReadSecret(ssl_encryption_application); + write(ssl_encryption_application, "SERVER_WRITE_L3"); + ssl->state = SSL::ESTABLISHED; + break; + } + + default: + abort(); + } + NS_ASSERT(ssl->io->flush_flight(ssl) == 1); + return ssl->state == SSL::ESTABLISHED ? true : -1; +} + +OPENSSL_EXPORT int SSL_get_error(const SSL *ssl, int ret_code) { + switch (ssl->state) { + case SSL::CLIENT_WRITE_L0: + case SSL::SERVER_WRITE_L0: + case SSL::SERVER_WRITE_L2: + case SSL::CLIENT_WRITE_L2: + case SSL::SERVER_WRITE_L3: + return SSL_ERROR_WANT_WRITE; + case SSL::SERVER_READ_L0: + case SSL::CLIENT_READ_L0: + case SSL::CLIENT_READ_L2: + case SSL::SERVER_READ_L2: + return SSL_ERROR_WANT_READ; + default: + abort(); + } +} + +OPENSSL_EXPORT void SSL_reset_early_data_reject(SSL *ssl) { TODO; } + +OPENSSL_EXPORT int SSL_in_early_data(const SSL *ssl) { + return false; +} + +OPENSSL_EXPORT int SSL_process_quic_post_handshake(SSL *ssl) { + return true; +} + +OPENSSL_EXPORT void SSL_free(SSL *ssl) { + delete ssl; +} + +OPENSSL_EXPORT int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func) { + return LINE_STUB; +} + +OPENSSL_EXPORT STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain) { TODO; } + +OPENSSL_EXPORT const SSL_CIPHER *SSL_get_current_cipher(const SSL *ssl) { + return nullptr; +} + +OPENSSL_EXPORT const char *SSL_CIPHER_get_name(const SSL_CIPHER *cipher) { + NS_ASSERT(cipher == nullptr); + return "TLS_AES_128_GCM_SHA256"; +} + +OPENSSL_EXPORT int SSL_in_init(const SSL *ssl) { + return ssl->state != SSL::ESTABLISHED; +} + +OPENSSL_EXPORT int SSL_provide_quic_data(SSL *ssl, enum ssl_encryption_level_t level, const uint8_t *data, size_t len) { + auto set_tp = [&] { + NS_ASSERT(not ssl->peer_transport_params.has_value()); + auto client = ssl->client.value(); + auto i = client ? 0 : 4; + auto n = len - i; + ssl->peer_transport_params.emplace(data + i, data + i + n); + }; + switch (ssl->state) { + case SSL::SERVER_READ_L0: { + NS_ASSERT(level == ssl_encryption_initial); + set_tp(); + ssl->state = SSL::SERVER_WRITE_L0; + break; + } + case SSL::CLIENT_READ_L0: { + NS_ASSERT(level == ssl_encryption_initial); + ssl->state = SSL::CLIENT_SET_WL2_RL2; + break; + } + case SSL::CLIENT_READ_L2: { + NS_ASSERT(level == ssl_encryption_handshake); + set_tp(); + ssl->state = SSL::CLIENT_WRITE_L2; + break; + } + case SSL::SERVER_READ_L2: { + ssl->state = SSL::SERVER_WRITE_L3; + break; + } + default: + abort(); + } + return true; +} + +OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *out_alg_bits) { + NS_ASSERT(cipher == nullptr); + *out_alg_bits = 128; + return 128; +} + +OPENSSL_EXPORT void SSL_get0_alpn_selected(const SSL *ssl, const uint8_t **out_data, unsigned *out_len) { TODO; } + +OPENSSL_EXPORT int SSL_send_fatal_alert(SSL *ssl, uint8_t alert) { TODO; } + +OPENSSL_EXPORT int EVP_AEAD_CTX_init(EVP_AEAD_CTX *ctx, const EVP_AEAD *aead, const uint8_t *key, size_t key_len, size_t tag_len, ENGINE *impl) { + NS_ASSERT(tag_len == IQUIC_TAG_LEN); + return true; +} + +OPENSSL_EXPORT X509_NAME *X509_get_subject_name(const X509 *x509) { TODO; } + +OPENSSL_EXPORT char *X509_NAME_oneline(const X509_NAME *name, char *buf, int size) { TODO; } + +OPENSSL_EXPORT int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func) { + return LINE_STUB; +} + +OPENSSL_EXPORT int SSL_CTX_get0_chain_certs(const SSL_CTX *ctx, STACK_OF(X509) **out_chain) { TODO; } + +OPENSSL_EXPORT int i2d_X509(X509 *x509, uint8_t **outp) { TODO; } + +OPENSSL_EXPORT int SSL_CTX_set_ex_data(SSL_CTX *ctx, int idx, void *data) { TODO; } + +OPENSSL_EXPORT EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT int EVP_PKEY_size(const EVP_PKEY *pkey) { TODO; } + +OPENSSL_EXPORT void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) { TODO; } + +OPENSSL_EXPORT X509_NAME *X509_get_issuer_name(const X509 *x509) { TODO; } + +OPENSSL_EXPORT int X509_NAME_get0_der(X509_NAME *name, const uint8_t **out_der, size_t *out_der_len) { TODO; } + +OPENSSL_EXPORT ASN1_INTEGER *X509_get_serialNumber(X509 *x509) { TODO; } + +OPENSSL_EXPORT BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn) { TODO; } + +OPENSSL_EXPORT unsigned BN_num_bytes(const BIGNUM *bn) { TODO; } + +OPENSSL_EXPORT void BN_free(BIGNUM *bn) { TODO; } + +OPENSSL_EXPORT size_t BN_bn2bin(const BIGNUM *in, uint8_t *out) { TODO; } + +OPENSSL_EXPORT X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx) { TODO; } + +OPENSSL_EXPORT EVP_PKEY *X509_get_pubkey(const X509 *x509) { TODO; } + +OPENSSL_EXPORT void EVP_PKEY_free(EVP_PKEY *pkey) { TODO; } + +OPENSSL_EXPORT void X509_free(X509 *x509) { TODO; } + +OPENSSL_EXPORT X509 *PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb, void *u) { TODO; } + +OPENSSL_EXPORT size_t sk_X509_num(const STACK_OF_X509 *sk) { TODO; } + +OPENSSL_EXPORT X509 *sk_X509_value(const STACK_OF_X509 *sk, size_t i) { TODO; } + +OPENSSL_EXPORT STACK_OF_X509 *sk_X509_new_null(void) { TODO; } + +OPENSSL_EXPORT size_t sk_X509_push(STACK_OF_X509 *sk, X509 *p) { TODO; } + +OPENSSL_EXPORT void sk_X509_free(STACK_OF_X509 *sk) { TODO; } diff --git a/external/lsquic/src/liblsquic/common_cert_set_2.c b/external/lsquic/src/liblsquic/common_cert_set_2.c new file mode 100644 index 0000000..fb0e06f --- /dev/null +++ b/external/lsquic/src/liblsquic/common_cert_set_2.c @@ -0,0 +1,136 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Copyright (c) 2015 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE.chrome file. + */ + +/* This file contains common certificates. It's designed to be #included in + * another file, in a namespace. */ + +/* Updated for C style, David Shue */ +/* + * Replace "kDERCert" to "der_cert2_" + * + */ + +#include + +#include "common_cert_set_2a.inc" +#include "common_cert_set_2b.inc" + +#define common_certs2_num 54 +static const unsigned char * const common_certs2[common_certs2_num] = { + der_cert2_0, + der_cert2_1, + der_cert2_2, + der_cert2_3, + der_cert2_4, + der_cert2_5, + der_cert2_6, + der_cert2_7, + der_cert2_8, + der_cert2_9, + der_cert2_10, + der_cert2_11, + der_cert2_12, + der_cert2_13, + der_cert2_14, + der_cert2_15, + der_cert2_16, + der_cert2_17, + der_cert2_18, + der_cert2_19, + der_cert2_20, + der_cert2_21, + der_cert2_22, + der_cert2_23, + der_cert2_24, + der_cert2_25, + der_cert2_26, + der_cert2_27, + der_cert2_28, + der_cert2_29, + der_cert2_30, + der_cert2_31, + der_cert2_32, + der_cert2_33, + der_cert2_34, + der_cert2_35, + der_cert2_36, + der_cert2_37, + der_cert2_38, + der_cert2_39, + der_cert2_40, + der_cert2_41, + der_cert2_42, + der_cert2_43, + der_cert2_44, + der_cert2_45, + der_cert2_46, + der_cert2_47, + der_cert2_48, + der_cert2_49, + der_cert2_50, + der_cert2_51, + der_cert2_52, + der_cert2_53, +}; + +static const size_t common_certs2_lens[common_certs2_num] = { + 897, + 911, + 985, + 1012, + 1049, + 1062, + 1065, + 1071, + 1084, + 1096, + 1097, + 1105, + 1107, + 1117, + 1127, + 1133, + 1136, + 1138, + 1153, + 1171, + 1172, + 1176, + 1182, + 1188, + 1194, + 1203, + 1205, + 1206, + 1210, + 1222, + 1226, + 1236, + 1236, + 1236, + 1238, + 1256, + 1270, + 1280, + 1283, + 1284, + 1287, + 1315, + 1327, + 1340, + 1418, + 1447, + 1509, + 1520, + 1570, + 1581, + 1592, + 1628, + 1632, + 1770, +}; + +#define common_certs2_hash UINT64_C(0xe81a92926081e801) diff --git a/external/lsquic/src/liblsquic/common_cert_set_2a.inc b/external/lsquic/src/liblsquic/common_cert_set_2a.inc new file mode 100644 index 0000000..e9ea3cf --- /dev/null +++ b/external/lsquic/src/liblsquic/common_cert_set_2a.inc @@ -0,0 +1,5628 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Copyright (c) 2015 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE.chrome file. + */ + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1227750 (0x12bbe6) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority + Validity + Not Before: May 21 04:00:00 2002 GMT + Not After : Aug 21 04:00:00 2018 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df: + 3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8: + 43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29: + bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4: + 60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3: + ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92: + 2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d: + 80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14: + 15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd: + d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6: + d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5: + 5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39: + 19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05: + 9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2: + fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32: + eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07: + 36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b: + e4:f9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 + + X509v3 Subject Key Identifier: + C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.geotrust.com/crls/secureca.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.geotrust.com/resources/repository + + Signature Algorithm: sha1WithRSAEncryption + 76:e1:12:6e:4e:4b:16:12:86:30:06:b2:81:08:cf:f0:08:c7: + c7:71:7e:66:ee:c2:ed:d4:3b:1f:ff:f0:f0:c8:4e:d6:43:38: + b0:b9:30:7d:18:d0:55:83:a2:6a:cb:36:11:9c:e8:48:66:a3: + 6d:7f:b8:13:d4:47:fe:8b:5a:5c:73:fc:ae:d9:1b:32:19:38: + ab:97:34:14:aa:96:d2:eb:a3:1c:14:08:49:b6:bb:e5:91:ef: + 83:36:eb:1d:56:6f:ca:da:bc:73:63:90:e4:7f:7b:3e:22:cb: + 3d:07:ed:5f:38:74:9c:e3:03:50:4e:a1:af:98:ee:61:f2:84: + 3f:12 +-----BEGIN CERTIFICATE----- +MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT +MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0 +aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAw +WjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE +AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9m +OSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu +T8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6c +JmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR +Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5asz +PeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjm +aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrM +TjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+g +LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBO +BgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2Vv +dHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GB +AHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrL +NhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1W +b8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_0[] = { + 0x30, 0x82, 0x03, 0x7d, 0x30, 0x82, 0x02, 0xe6, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x12, 0xbb, 0xe6, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4e, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07, 0x45, + 0x71, 0x75, 0x69, 0x66, 0x61, 0x78, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, + 0x55, 0x04, 0x0b, 0x13, 0x24, 0x45, 0x71, 0x75, 0x69, 0x66, 0x61, 0x78, + 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x32, 0x30, + 0x35, 0x32, 0x31, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, + 0x31, 0x38, 0x30, 0x38, 0x32, 0x31, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, + 0x5a, 0x30, 0x42, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x12, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xda, 0xcc, 0x18, 0x63, 0x30, 0xfd, + 0xf4, 0x17, 0x23, 0x1a, 0x56, 0x7e, 0x5b, 0xdf, 0x3c, 0x6c, 0x38, 0xe4, + 0x71, 0xb7, 0x78, 0x91, 0xd4, 0xbc, 0xa1, 0xd8, 0x4c, 0xf8, 0xa8, 0x43, + 0xb6, 0x03, 0xe9, 0x4d, 0x21, 0x07, 0x08, 0x88, 0xda, 0x58, 0x2f, 0x66, + 0x39, 0x29, 0xbd, 0x05, 0x78, 0x8b, 0x9d, 0x38, 0xe8, 0x05, 0xb7, 0x6a, + 0x7e, 0x71, 0xa4, 0xe6, 0xc4, 0x60, 0xa6, 0xb0, 0xef, 0x80, 0xe4, 0x89, + 0x28, 0x0f, 0x9e, 0x25, 0xd6, 0xed, 0x83, 0xf3, 0xad, 0xa6, 0x91, 0xc7, + 0x98, 0xc9, 0x42, 0x18, 0x35, 0x14, 0x9d, 0xad, 0x98, 0x46, 0x92, 0x2e, + 0x4f, 0xca, 0xf1, 0x87, 0x43, 0xc1, 0x16, 0x95, 0x57, 0x2d, 0x50, 0xef, + 0x89, 0x2d, 0x80, 0x7a, 0x57, 0xad, 0xf2, 0xee, 0x5f, 0x6b, 0xd2, 0x00, + 0x8d, 0xb9, 0x14, 0xf8, 0x14, 0x15, 0x35, 0xd9, 0xc0, 0x46, 0xa3, 0x7b, + 0x72, 0xc8, 0x91, 0xbf, 0xc9, 0x55, 0x2b, 0xcd, 0xd0, 0x97, 0x3e, 0x9c, + 0x26, 0x64, 0xcc, 0xdf, 0xce, 0x83, 0x19, 0x71, 0xca, 0x4e, 0xe6, 0xd4, + 0xd5, 0x7b, 0xa9, 0x19, 0xcd, 0x55, 0xde, 0xc8, 0xec, 0xd2, 0x5e, 0x38, + 0x53, 0xe5, 0x5c, 0x4f, 0x8c, 0x2d, 0xfe, 0x50, 0x23, 0x36, 0xfc, 0x66, + 0xe6, 0xcb, 0x8e, 0xa4, 0x39, 0x19, 0x00, 0xb7, 0x95, 0x02, 0x39, 0x91, + 0x0b, 0x0e, 0xfe, 0x38, 0x2e, 0xd1, 0x1d, 0x05, 0x9a, 0xf6, 0x4d, 0x3e, + 0x6f, 0x0f, 0x07, 0x1d, 0xaf, 0x2c, 0x1e, 0x8f, 0x60, 0x39, 0xe2, 0xfa, + 0x36, 0x53, 0x13, 0x39, 0xd4, 0x5e, 0x26, 0x2b, 0xdb, 0x3d, 0xa8, 0x14, + 0xbd, 0x32, 0xeb, 0x18, 0x03, 0x28, 0x52, 0x04, 0x71, 0xe5, 0xab, 0x33, + 0x3d, 0xe1, 0x38, 0xbb, 0x07, 0x36, 0x84, 0x62, 0x9c, 0x79, 0xea, 0x16, + 0x30, 0xf4, 0x5f, 0xc0, 0x2b, 0xe8, 0x71, 0x6b, 0xe4, 0xf9, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x81, 0xf0, 0x30, 0x81, 0xed, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x48, 0xe6, + 0x68, 0xf9, 0x2b, 0xd2, 0xb2, 0x95, 0xd7, 0x47, 0xd8, 0x23, 0x20, 0x10, + 0x4f, 0x33, 0x98, 0x90, 0x9f, 0xd4, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, + 0xab, 0x05, 0x64, 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, + 0x4e, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3a, + 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x33, 0x30, 0x31, 0x30, 0x2f, 0xa0, + 0x2d, 0xa0, 0x2b, 0x86, 0x29, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x63, 0x72, 0x6c, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x4e, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x47, 0x30, 0x45, 0x30, 0x43, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x3b, 0x30, 0x39, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x2d, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, + 0x00, 0x76, 0xe1, 0x12, 0x6e, 0x4e, 0x4b, 0x16, 0x12, 0x86, 0x30, 0x06, + 0xb2, 0x81, 0x08, 0xcf, 0xf0, 0x08, 0xc7, 0xc7, 0x71, 0x7e, 0x66, 0xee, + 0xc2, 0xed, 0xd4, 0x3b, 0x1f, 0xff, 0xf0, 0xf0, 0xc8, 0x4e, 0xd6, 0x43, + 0x38, 0xb0, 0xb9, 0x30, 0x7d, 0x18, 0xd0, 0x55, 0x83, 0xa2, 0x6a, 0xcb, + 0x36, 0x11, 0x9c, 0xe8, 0x48, 0x66, 0xa3, 0x6d, 0x7f, 0xb8, 0x13, 0xd4, + 0x47, 0xfe, 0x8b, 0x5a, 0x5c, 0x73, 0xfc, 0xae, 0xd9, 0x1b, 0x32, 0x19, + 0x38, 0xab, 0x97, 0x34, 0x14, 0xaa, 0x96, 0xd2, 0xeb, 0xa3, 0x1c, 0x14, + 0x08, 0x49, 0xb6, 0xbb, 0xe5, 0x91, 0xef, 0x83, 0x36, 0xeb, 0x1d, 0x56, + 0x6f, 0xca, 0xda, 0xbc, 0x73, 0x63, 0x90, 0xe4, 0x7f, 0x7b, 0x3e, 0x22, + 0xcb, 0x3d, 0x07, 0xed, 0x5f, 0x38, 0x74, 0x9c, 0xe3, 0x03, 0x50, 0x4e, + 0xa1, 0xaf, 0x98, 0xee, 0x61, 0xf2, 0x84, 0x3f, 0x12, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 880226 (0xd6e62) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority + Validity + Not Before: Nov 27 00:00:00 2006 GMT + Not After : Aug 21 16:15:00 2018 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:be:b8:15:7b:ff:d4:7c:7d:67:ad:83:64:7b:c8: + 42:53:2d:df:f6:84:08:20:61:d6:01:59:6a:9c:44: + 11:af:ef:76:fd:95:7e:ce:61:30:bb:7a:83:5f:02: + bd:01:66:ca:ee:15:8d:6f:a1:30:9c:bd:a1:85:9e: + 94:3a:f3:56:88:00:31:cf:d8:ee:6a:96:02:d9:ed: + 03:8c:fb:75:6d:e7:ea:b8:55:16:05:16:9a:f4:e0: + 5e:b1:88:c0:64:85:5c:15:4d:88:c7:b7:ba:e0:75: + e9:ad:05:3d:9d:c7:89:48:e0:bb:28:c8:03:e1:30: + 93:64:5e:52:c0:59:70:22:35:57:88:8a:f1:95:0a: + 83:d7:bc:31:73:01:34:ed:ef:46:71:e0:6b:02:a8: + 35:72:6b:97:9b:66:e0:cb:1c:79:5f:d8:1a:04:68: + 1e:47:02:e6:9d:60:e2:36:97:01:df:ce:35:92:df: + be:67:c7:6d:77:59:3b:8f:9d:d6:90:15:94:bc:42: + 34:10:c1:39:f9:b1:27:3e:7e:d6:8a:75:c5:b2:af: + 96:d3:a2:de:9b:e4:98:be:7d:e1:e9:81:ad:b6:6f: + fc:d7:0e:da:e0:34:b0:0d:1a:77:e7:e3:08:98:ef: + 58:fa:9c:84:b7:36:af:c2:df:ac:d2:f4:10:06:70: + 71:35 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 2C:D5:50:41:97:15:8B:F0:8F:36:61:5B:4A:FB:6B:D9:99:C9:33:92 + X509v3 Authority Key Identifier: + keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 + + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.geotrust.com/crls/secureca.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.geotrust.com/resources/cps + + Signature Algorithm: sha1WithRSAEncryption + af:f3:0e:d6:72:ab:c7:a9:97:ca:2a:6b:84:39:de:79:a9:f0: + 81:e5:08:67:ab:d7:2f:20:02:01:71:0c:04:22:c9:1e:88:95: + 03:c9:49:3a:af:67:08:49:b0:d5:08:f5:20:3d:80:91:a0:c5: + 87:a3:fb:c9:a3:17:91:f9:a8:2f:ae:e9:0f:df:96:72:0f:75: + 17:80:5d:78:01:4d:9f:1f:6d:7b:d8:f5:42:38:23:1a:99:93: + f4:83:be:3b:35:74:e7:37:13:35:7a:ac:b4:b6:90:82:6c:27: + a4:e0:ec:9e:35:bd:bf:e5:29:a1:47:9f:5b:32:fc:e9:99:7d: + 2b:39 +-----BEGIN CERTIFICATE----- +MIIDizCCAvSgAwIBAgIDDW5iMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT +MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0 +aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMTI3MDAwMDAwWhcNMTgwODIxMTYxNTAw +WjBYMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UE +AxMoR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL64FXv/1Hx9Z62DZHvIQlMt3/aE +CCBh1gFZapxEEa/vdv2Vfs5hMLt6g18CvQFmyu4VjW+hMJy9oYWelDrzVogAMc/Y +7mqWAtntA4z7dW3n6rhVFgUWmvTgXrGIwGSFXBVNiMe3uuB16a0FPZ3HiUjguyjI +A+Ewk2ReUsBZcCI1V4iK8ZUKg9e8MXMBNO3vRnHgawKoNXJrl5tm4MsceV/YGgRo +HkcC5p1g4jaXAd/ONZLfvmfHbXdZO4+d1pAVlLxCNBDBOfmxJz5+1op1xbKvltOi +3pvkmL594emBrbZv/NcO2uA0sA0ad+fjCJjvWPqchLc2r8LfrNL0EAZwcTUCAwEA +AaOB6DCB5TAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFCzVUEGXFYvwjzZhW0r7 +a9mZyTOSMB8GA1UdIwQYMBaAFEjmaPkr0rKV10fYIyAQTzOYkJ/UMA8GA1UdEwEB +/wQFMAMBAf8wOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5j +b20vY3Jscy9zZWN1cmVjYS5jcmwwRgYDVR0gBD8wPTA7BgRVHSAAMDMwMQYIKwYB +BQUHAgEWJWh0dHA6Ly93d3cuZ2VvdHJ1c3QuY29tL3Jlc291cmNlcy9jcHMwDQYJ +KoZIhvcNAQEFBQADgYEAr/MO1nKrx6mXyiprhDneeanwgeUIZ6vXLyACAXEMBCLJ +HoiVA8lJOq9nCEmw1Qj1ID2AkaDFh6P7yaMXkfmoL67pD9+Wcg91F4BdeAFNnx9t +e9j1QjgjGpmT9IO+OzV05zcTNXqstLaQgmwnpODsnjW9v+UpoUefWzL86Zl9Kzk= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_1[] = { + 0x30, 0x82, 0x03, 0x8b, 0x30, 0x82, 0x02, 0xf4, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x0d, 0x6e, 0x62, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4e, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07, 0x45, + 0x71, 0x75, 0x69, 0x66, 0x61, 0x78, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, + 0x55, 0x04, 0x0b, 0x13, 0x24, 0x45, 0x71, 0x75, 0x69, 0x66, 0x61, 0x78, + 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, + 0x31, 0x32, 0x37, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, + 0x31, 0x38, 0x30, 0x38, 0x32, 0x31, 0x31, 0x36, 0x31, 0x35, 0x30, 0x30, + 0x5a, 0x30, 0x58, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x28, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xbe, 0xb8, 0x15, 0x7b, 0xff, 0xd4, 0x7c, 0x7d, + 0x67, 0xad, 0x83, 0x64, 0x7b, 0xc8, 0x42, 0x53, 0x2d, 0xdf, 0xf6, 0x84, + 0x08, 0x20, 0x61, 0xd6, 0x01, 0x59, 0x6a, 0x9c, 0x44, 0x11, 0xaf, 0xef, + 0x76, 0xfd, 0x95, 0x7e, 0xce, 0x61, 0x30, 0xbb, 0x7a, 0x83, 0x5f, 0x02, + 0xbd, 0x01, 0x66, 0xca, 0xee, 0x15, 0x8d, 0x6f, 0xa1, 0x30, 0x9c, 0xbd, + 0xa1, 0x85, 0x9e, 0x94, 0x3a, 0xf3, 0x56, 0x88, 0x00, 0x31, 0xcf, 0xd8, + 0xee, 0x6a, 0x96, 0x02, 0xd9, 0xed, 0x03, 0x8c, 0xfb, 0x75, 0x6d, 0xe7, + 0xea, 0xb8, 0x55, 0x16, 0x05, 0x16, 0x9a, 0xf4, 0xe0, 0x5e, 0xb1, 0x88, + 0xc0, 0x64, 0x85, 0x5c, 0x15, 0x4d, 0x88, 0xc7, 0xb7, 0xba, 0xe0, 0x75, + 0xe9, 0xad, 0x05, 0x3d, 0x9d, 0xc7, 0x89, 0x48, 0xe0, 0xbb, 0x28, 0xc8, + 0x03, 0xe1, 0x30, 0x93, 0x64, 0x5e, 0x52, 0xc0, 0x59, 0x70, 0x22, 0x35, + 0x57, 0x88, 0x8a, 0xf1, 0x95, 0x0a, 0x83, 0xd7, 0xbc, 0x31, 0x73, 0x01, + 0x34, 0xed, 0xef, 0x46, 0x71, 0xe0, 0x6b, 0x02, 0xa8, 0x35, 0x72, 0x6b, + 0x97, 0x9b, 0x66, 0xe0, 0xcb, 0x1c, 0x79, 0x5f, 0xd8, 0x1a, 0x04, 0x68, + 0x1e, 0x47, 0x02, 0xe6, 0x9d, 0x60, 0xe2, 0x36, 0x97, 0x01, 0xdf, 0xce, + 0x35, 0x92, 0xdf, 0xbe, 0x67, 0xc7, 0x6d, 0x77, 0x59, 0x3b, 0x8f, 0x9d, + 0xd6, 0x90, 0x15, 0x94, 0xbc, 0x42, 0x34, 0x10, 0xc1, 0x39, 0xf9, 0xb1, + 0x27, 0x3e, 0x7e, 0xd6, 0x8a, 0x75, 0xc5, 0xb2, 0xaf, 0x96, 0xd3, 0xa2, + 0xde, 0x9b, 0xe4, 0x98, 0xbe, 0x7d, 0xe1, 0xe9, 0x81, 0xad, 0xb6, 0x6f, + 0xfc, 0xd7, 0x0e, 0xda, 0xe0, 0x34, 0xb0, 0x0d, 0x1a, 0x77, 0xe7, 0xe3, + 0x08, 0x98, 0xef, 0x58, 0xfa, 0x9c, 0x84, 0xb7, 0x36, 0xaf, 0xc2, 0xdf, + 0xac, 0xd2, 0xf4, 0x10, 0x06, 0x70, 0x71, 0x35, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xa3, 0x81, 0xe8, 0x30, 0x81, 0xe5, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2c, 0xd5, + 0x50, 0x41, 0x97, 0x15, 0x8b, 0xf0, 0x8f, 0x36, 0x61, 0x5b, 0x4a, 0xfb, + 0x6b, 0xd9, 0x99, 0xc9, 0x33, 0x92, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x48, 0xe6, 0x68, 0xf9, 0x2b, + 0xd2, 0xb2, 0x95, 0xd7, 0x47, 0xd8, 0x23, 0x20, 0x10, 0x4f, 0x33, 0x98, + 0x90, 0x9f, 0xd4, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x3a, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x33, 0x30, 0x31, 0x30, 0x2f, 0xa0, 0x2d, 0xa0, + 0x2b, 0x86, 0x29, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x46, 0x06, 0x03, + 0x55, 0x1d, 0x20, 0x04, 0x3f, 0x30, 0x3d, 0x30, 0x3b, 0x06, 0x04, 0x55, + 0x1d, 0x20, 0x00, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, + 0x81, 0x81, 0x00, 0xaf, 0xf3, 0x0e, 0xd6, 0x72, 0xab, 0xc7, 0xa9, 0x97, + 0xca, 0x2a, 0x6b, 0x84, 0x39, 0xde, 0x79, 0xa9, 0xf0, 0x81, 0xe5, 0x08, + 0x67, 0xab, 0xd7, 0x2f, 0x20, 0x02, 0x01, 0x71, 0x0c, 0x04, 0x22, 0xc9, + 0x1e, 0x88, 0x95, 0x03, 0xc9, 0x49, 0x3a, 0xaf, 0x67, 0x08, 0x49, 0xb0, + 0xd5, 0x08, 0xf5, 0x20, 0x3d, 0x80, 0x91, 0xa0, 0xc5, 0x87, 0xa3, 0xfb, + 0xc9, 0xa3, 0x17, 0x91, 0xf9, 0xa8, 0x2f, 0xae, 0xe9, 0x0f, 0xdf, 0x96, + 0x72, 0x0f, 0x75, 0x17, 0x80, 0x5d, 0x78, 0x01, 0x4d, 0x9f, 0x1f, 0x6d, + 0x7b, 0xd8, 0xf5, 0x42, 0x38, 0x23, 0x1a, 0x99, 0x93, 0xf4, 0x83, 0xbe, + 0x3b, 0x35, 0x74, 0xe7, 0x37, 0x13, 0x35, 0x7a, 0xac, 0xb4, 0xb6, 0x90, + 0x82, 0x6c, 0x27, 0xa4, 0xe0, 0xec, 0x9e, 0x35, 0xbd, 0xbf, 0xe5, 0x29, + 0xa1, 0x47, 0x9f, 0x5b, 0x32, 0xfc, 0xe9, 0x99, 0x7d, 0x2b, 0x39, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 145105 (0x236d1) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Feb 19 22:45:05 2010 GMT + Not After : Feb 18 22:45:05 2020 GMT + Subject: C=US, O=GeoTrust, Inc., CN=RapidSSL CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c7:71:f8:56:c7:1e:d9:cc:b5:ad:f6:b4:97:a3: + fb:a1:e6:0b:50:5f:50:aa:3a:da:0f:fc:3d:29:24: + 43:c6:10:29:c1:fc:55:40:72:ee:bd:ea:df:9f:b6: + 41:f4:48:4b:c8:6e:fe:4f:57:12:8b:5b:fa:92:dd: + 5e:e8:ad:f3:f0:1b:b1:7b:4d:fb:cf:fd:d1:e5:f8: + e3:dc:e7:f5:73:7f:df:01:49:cf:8c:56:c1:bd:37: + e3:5b:be:b5:4f:8b:8b:f0:da:4f:c7:e3:dd:55:47: + 69:df:f2:5b:7b:07:4f:3d:e5:ac:21:c1:c8:1d:7a: + e8:e7:f6:0f:a1:aa:f5:6f:de:a8:65:4f:10:89:9c: + 03:f3:89:7a:a5:5e:01:72:33:ed:a9:e9:5a:1e:79: + f3:87:c8:df:c8:c5:fc:37:c8:9a:9a:d7:b8:76:cc: + b0:3e:e7:fd:e6:54:ea:df:5f:52:41:78:59:57:ad: + f1:12:d6:7f:bc:d5:9f:70:d3:05:6c:fa:a3:7d:67: + 58:dd:26:62:1d:31:92:0c:79:79:1c:8e:cf:ca:7b: + c1:66:af:a8:74:48:fb:8e:82:c2:9e:2c:99:5c:7b: + 2d:5d:9b:bc:5b:57:9e:7c:3a:7a:13:ad:f2:a3:18: + 5b:2b:59:0f:cd:5c:3a:eb:68:33:c6:28:1d:82:d1: + 50:8b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 6B:69:3D:6A:18:42:4A:DD:8F:02:65:39:FD:35:24:86:78:91:16:30 + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.geotrust.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://ocsp.geotrust.com + + Signature Algorithm: sha1WithRSAEncryption + ab:bc:bc:0a:5d:18:94:e3:c1:b1:c3:a8:4c:55:d6:be:b4:98: + f1:ee:3c:1c:cd:cf:f3:24:24:5c:96:03:27:58:fc:36:ae:a2: + 2f:8f:f1:fe:da:2b:02:c3:33:bd:c8:dd:48:22:2b:60:0f:a5: + 03:10:fd:77:f8:d0:ed:96:67:4f:fd:ea:47:20:70:54:dc:a9: + 0c:55:7e:e1:96:25:8a:d9:b5:da:57:4a:be:8d:8e:49:43:63: + a5:6c:4e:27:87:25:eb:5b:6d:fe:a2:7f:38:28:e0:36:ab:ad: + 39:a5:a5:62:c4:b7:5c:58:2c:aa:5d:01:60:a6:62:67:a3:c0: + c7:62:23:f4:e7:6c:46:ee:b5:d3:80:6a:22:13:d2:2d:3f:74: + 4f:ea:af:8c:5f:b4:38:9c:db:ae:ce:af:84:1e:a6:f6:34:51: + 59:79:d3:e3:75:dc:bc:d7:f3:73:df:92:ec:d2:20:59:6f:9c: + fb:95:f8:92:76:18:0a:7c:0f:2c:a6:ca:de:8a:62:7b:d8:f3: + ce:5f:68:bd:8f:3e:c1:74:bb:15:72:3a:16:83:a9:0b:e6:4d: + 99:9c:d8:57:ec:a8:01:51:c7:6f:57:34:5e:ab:4a:2c:42:f6: + 4f:1c:89:78:de:26:4e:f5:6f:93:4c:15:6b:27:56:4d:00:54: + 6c:7a:b7:b7 +-----BEGIN CERTIFICATE----- +MIID1TCCAr2gAwIBAgIDAjbRMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTAwMjE5MjI0NTA1WhcNMjAwMjE4MjI0NTA1WjA8MQswCQYDVQQG +EwJVUzEXMBUGA1UEChMOR2VvVHJ1c3QsIEluYy4xFDASBgNVBAMTC1JhcGlkU1NM +IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx3H4Vsce2cy1rfa0 +l6P7oeYLUF9QqjraD/w9KSRDxhApwfxVQHLuverfn7ZB9EhLyG7+T1cSi1v6kt1e +6K3z8Buxe037z/3R5fjj3Of1c3/fAUnPjFbBvTfjW761T4uL8NpPx+PdVUdp3/Jb +ewdPPeWsIcHIHXro5/YPoar1b96oZU8QiZwD84l6pV4BcjPtqelaHnnzh8jfyMX8 +N8iamte4dsywPuf95lTq319SQXhZV63xEtZ/vNWfcNMFbPqjfWdY3SZiHTGSDHl5 +HI7PynvBZq+odEj7joLCniyZXHstXZu8W1eefDp6E63yoxhbK1kPzVw662gzxigd +gtFQiwIDAQABo4HZMIHWMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUa2k9ahhC +St2PAmU5/TUkhniRFjAwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwRfap9ZbjKzE4w +EgYDVR0TAQH/BAgwBgEB/wIBADA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3Js +Lmdlb3RydXN0LmNvbS9jcmxzL2d0Z2xvYmFsLmNybDA0BggrBgEFBQcBAQQoMCYw +JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdlb3RydXN0LmNvbTANBgkqhkiG9w0B +AQUFAAOCAQEAq7y8Cl0YlOPBscOoTFXWvrSY8e48HM3P8yQkXJYDJ1j8Nq6iL4/x +/torAsMzvcjdSCIrYA+lAxD9d/jQ7ZZnT/3qRyBwVNypDFV+4ZYlitm12ldKvo2O +SUNjpWxOJ4cl61tt/qJ/OCjgNqutOaWlYsS3XFgsql0BYKZiZ6PAx2Ij9OdsRu61 +04BqIhPSLT90T+qvjF+0OJzbrs6vhB6m9jRRWXnT43XcvNfzc9+S7NIgWW+c+5X4 +knYYCnwPLKbK3opie9jzzl9ovY8+wXS7FXI6FoOpC+ZNmZzYV+yoAVHHb1c0XqtK +LEL2TxyJeN4mTvVvk0wVaydWTQBUbHq3tw== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_2[] = { + 0x30, 0x82, 0x03, 0xd5, 0x30, 0x82, 0x02, 0xbd, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x36, 0xd1, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, + 0x32, 0x31, 0x39, 0x32, 0x32, 0x34, 0x35, 0x30, 0x35, 0x5a, 0x17, 0x0d, + 0x32, 0x30, 0x30, 0x32, 0x31, 0x38, 0x32, 0x32, 0x34, 0x35, 0x30, 0x35, + 0x5a, 0x30, 0x3c, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0e, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x2c, + 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x0b, 0x52, 0x61, 0x70, 0x69, 0x64, 0x53, 0x53, 0x4c, + 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xc7, 0x71, 0xf8, 0x56, 0xc7, 0x1e, 0xd9, 0xcc, 0xb5, 0xad, 0xf6, 0xb4, + 0x97, 0xa3, 0xfb, 0xa1, 0xe6, 0x0b, 0x50, 0x5f, 0x50, 0xaa, 0x3a, 0xda, + 0x0f, 0xfc, 0x3d, 0x29, 0x24, 0x43, 0xc6, 0x10, 0x29, 0xc1, 0xfc, 0x55, + 0x40, 0x72, 0xee, 0xbd, 0xea, 0xdf, 0x9f, 0xb6, 0x41, 0xf4, 0x48, 0x4b, + 0xc8, 0x6e, 0xfe, 0x4f, 0x57, 0x12, 0x8b, 0x5b, 0xfa, 0x92, 0xdd, 0x5e, + 0xe8, 0xad, 0xf3, 0xf0, 0x1b, 0xb1, 0x7b, 0x4d, 0xfb, 0xcf, 0xfd, 0xd1, + 0xe5, 0xf8, 0xe3, 0xdc, 0xe7, 0xf5, 0x73, 0x7f, 0xdf, 0x01, 0x49, 0xcf, + 0x8c, 0x56, 0xc1, 0xbd, 0x37, 0xe3, 0x5b, 0xbe, 0xb5, 0x4f, 0x8b, 0x8b, + 0xf0, 0xda, 0x4f, 0xc7, 0xe3, 0xdd, 0x55, 0x47, 0x69, 0xdf, 0xf2, 0x5b, + 0x7b, 0x07, 0x4f, 0x3d, 0xe5, 0xac, 0x21, 0xc1, 0xc8, 0x1d, 0x7a, 0xe8, + 0xe7, 0xf6, 0x0f, 0xa1, 0xaa, 0xf5, 0x6f, 0xde, 0xa8, 0x65, 0x4f, 0x10, + 0x89, 0x9c, 0x03, 0xf3, 0x89, 0x7a, 0xa5, 0x5e, 0x01, 0x72, 0x33, 0xed, + 0xa9, 0xe9, 0x5a, 0x1e, 0x79, 0xf3, 0x87, 0xc8, 0xdf, 0xc8, 0xc5, 0xfc, + 0x37, 0xc8, 0x9a, 0x9a, 0xd7, 0xb8, 0x76, 0xcc, 0xb0, 0x3e, 0xe7, 0xfd, + 0xe6, 0x54, 0xea, 0xdf, 0x5f, 0x52, 0x41, 0x78, 0x59, 0x57, 0xad, 0xf1, + 0x12, 0xd6, 0x7f, 0xbc, 0xd5, 0x9f, 0x70, 0xd3, 0x05, 0x6c, 0xfa, 0xa3, + 0x7d, 0x67, 0x58, 0xdd, 0x26, 0x62, 0x1d, 0x31, 0x92, 0x0c, 0x79, 0x79, + 0x1c, 0x8e, 0xcf, 0xca, 0x7b, 0xc1, 0x66, 0xaf, 0xa8, 0x74, 0x48, 0xfb, + 0x8e, 0x82, 0xc2, 0x9e, 0x2c, 0x99, 0x5c, 0x7b, 0x2d, 0x5d, 0x9b, 0xbc, + 0x5b, 0x57, 0x9e, 0x7c, 0x3a, 0x7a, 0x13, 0xad, 0xf2, 0xa3, 0x18, 0x5b, + 0x2b, 0x59, 0x0f, 0xcd, 0x5c, 0x3a, 0xeb, 0x68, 0x33, 0xc6, 0x28, 0x1d, + 0x82, 0xd1, 0x50, 0x8b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xd9, + 0x30, 0x81, 0xd6, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x6b, 0x69, 0x3d, 0x6a, 0x18, 0x42, + 0x4a, 0xdd, 0x8f, 0x02, 0x65, 0x39, 0xfd, 0x35, 0x24, 0x86, 0x78, 0x91, + 0x16, 0x30, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, + 0x64, 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, + 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, + 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x3a, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x33, 0x30, 0x31, 0x30, 0x2f, 0xa0, 0x2d, 0xa0, 0x2b, + 0x86, 0x29, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, + 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x34, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, + 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, + 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, + 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xab, 0xbc, 0xbc, + 0x0a, 0x5d, 0x18, 0x94, 0xe3, 0xc1, 0xb1, 0xc3, 0xa8, 0x4c, 0x55, 0xd6, + 0xbe, 0xb4, 0x98, 0xf1, 0xee, 0x3c, 0x1c, 0xcd, 0xcf, 0xf3, 0x24, 0x24, + 0x5c, 0x96, 0x03, 0x27, 0x58, 0xfc, 0x36, 0xae, 0xa2, 0x2f, 0x8f, 0xf1, + 0xfe, 0xda, 0x2b, 0x02, 0xc3, 0x33, 0xbd, 0xc8, 0xdd, 0x48, 0x22, 0x2b, + 0x60, 0x0f, 0xa5, 0x03, 0x10, 0xfd, 0x77, 0xf8, 0xd0, 0xed, 0x96, 0x67, + 0x4f, 0xfd, 0xea, 0x47, 0x20, 0x70, 0x54, 0xdc, 0xa9, 0x0c, 0x55, 0x7e, + 0xe1, 0x96, 0x25, 0x8a, 0xd9, 0xb5, 0xda, 0x57, 0x4a, 0xbe, 0x8d, 0x8e, + 0x49, 0x43, 0x63, 0xa5, 0x6c, 0x4e, 0x27, 0x87, 0x25, 0xeb, 0x5b, 0x6d, + 0xfe, 0xa2, 0x7f, 0x38, 0x28, 0xe0, 0x36, 0xab, 0xad, 0x39, 0xa5, 0xa5, + 0x62, 0xc4, 0xb7, 0x5c, 0x58, 0x2c, 0xaa, 0x5d, 0x01, 0x60, 0xa6, 0x62, + 0x67, 0xa3, 0xc0, 0xc7, 0x62, 0x23, 0xf4, 0xe7, 0x6c, 0x46, 0xee, 0xb5, + 0xd3, 0x80, 0x6a, 0x22, 0x13, 0xd2, 0x2d, 0x3f, 0x74, 0x4f, 0xea, 0xaf, + 0x8c, 0x5f, 0xb4, 0x38, 0x9c, 0xdb, 0xae, 0xce, 0xaf, 0x84, 0x1e, 0xa6, + 0xf6, 0x34, 0x51, 0x59, 0x79, 0xd3, 0xe3, 0x75, 0xdc, 0xbc, 0xd7, 0xf3, + 0x73, 0xdf, 0x92, 0xec, 0xd2, 0x20, 0x59, 0x6f, 0x9c, 0xfb, 0x95, 0xf8, + 0x92, 0x76, 0x18, 0x0a, 0x7c, 0x0f, 0x2c, 0xa6, 0xca, 0xde, 0x8a, 0x62, + 0x7b, 0xd8, 0xf3, 0xce, 0x5f, 0x68, 0xbd, 0x8f, 0x3e, 0xc1, 0x74, 0xbb, + 0x15, 0x72, 0x3a, 0x16, 0x83, 0xa9, 0x0b, 0xe6, 0x4d, 0x99, 0x9c, 0xd8, + 0x57, 0xec, 0xa8, 0x01, 0x51, 0xc7, 0x6f, 0x57, 0x34, 0x5e, 0xab, 0x4a, + 0x2c, 0x42, 0xf6, 0x4f, 0x1c, 0x89, 0x78, 0xde, 0x26, 0x4e, 0xf5, 0x6f, + 0x93, 0x4c, 0x15, 0x6b, 0x27, 0x56, 0x4d, 0x00, 0x54, 0x6c, 0x7a, 0xb7, + 0xb7, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146051 (0x23a83) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Apr 5 15:15:56 2013 GMT + Not After : Dec 31 23:59:59 2016 GMT + Subject: C=US, O=Google Inc, CN=Google Internet Authority G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:9c:2a:04:77:5c:d8:50:91:3a:06:a3:82:e0:d8: + 50:48:bc:89:3f:f1:19:70:1a:88:46:7e:e0:8f:c5: + f1:89:ce:21:ee:5a:fe:61:0d:b7:32:44:89:a0:74: + 0b:53:4f:55:a4:ce:82:62:95:ee:eb:59:5f:c6:e1: + 05:80:12:c4:5e:94:3f:bc:5b:48:38:f4:53:f7:24: + e6:fb:91:e9:15:c4:cf:f4:53:0d:f4:4a:fc:9f:54: + de:7d:be:a0:6b:6f:87:c0:d0:50:1f:28:30:03:40: + da:08:73:51:6c:7f:ff:3a:3c:a7:37:06:8e:bd:4b: + 11:04:eb:7d:24:de:e6:f9:fc:31:71:fb:94:d5:60: + f3:2e:4a:af:42:d2:cb:ea:c4:6a:1a:b2:cc:53:dd: + 15:4b:8b:1f:c8:19:61:1f:cd:9d:a8:3e:63:2b:84: + 35:69:65:84:c8:19:c5:46:22:f8:53:95:be:e3:80: + 4a:10:c6:2a:ec:ba:97:20:11:c7:39:99:10:04:a0: + f0:61:7a:95:25:8c:4e:52:75:e2:b6:ed:08:ca:14: + fc:ce:22:6a:b3:4e:cf:46:03:97:97:03:7e:c0:b1: + de:7b:af:45:33:cf:ba:3e:71:b7:de:f4:25:25:c2: + 0d:35:89:9d:9d:fb:0e:11:79:89:1e:37:c5:af:8e: + 72:69 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + 4A:DD:06:16:1B:BC:F6:68:B5:76:F5:81:B6:BB:62:1A:BA:5A:81:2F + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/crls/gtglobal.crl + + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.11129.2.5.1 + + Signature Algorithm: sha256WithRSAEncryption + aa:fa:a9:20:cd:6a:67:83:ed:5e:d4:7e:de:1d:c4:7f:e0:25: + 06:00:c5:24:fb:a9:c8:2d:6d:7e:de:9d:82:65:2c:81:63:34: + 66:3e:e9:52:c2:08:b4:cb:2f:f7:5f:99:3a:6a:9c:50:7a:85: + 05:8c:7d:d1:2a:48:84:d3:09:6c:7c:c2:cd:35:9f:f3:82:ee: + 52:de:68:5f:e4:00:8a:17:20:96:f7:29:8d:9a:4d:cb:a8:de: + 86:c8:0d:6f:56:87:03:7d:03:3f:dc:fa:79:7d:21:19:f9:c8: + 3a:2f:51:76:8c:c7:41:92:71:8f:25:ce:37:f8:4a:4c:00:23: + ef:c4:35:10:ae:e0:23:80:73:7c:4d:34:2e:c8:6e:90:d6:10: + 1e:99:84:73:1a:70:f2:ed:55:0e:ee:17:06:ea:67:ee:32:eb: + 2c:dd:67:07:3f:f6:8b:c2:70:de:5b:00:e6:bb:1b:d3:36:1a: + 22:6c:6c:b0:35:42:6c:90:09:3d:93:e9:64:09:22:0e:85:06: + 9f:c2:73:21:d3:e6:5f:80:e4:8d:85:22:3a:73:03:b1:60:8e: + ae:68:e2:f4:3e:97:e7:60:12:09:68:36:de:3a:d6:e2:43:95: + 5b:37:81:92:81:1f:bb:8d:d7:ad:52:64:16:57:96:d9:5e:34: + 7e:c8:35:d8 +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIDAjqDMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTMwNDA1MTUxNTU2WhcNMTYxMjMxMjM1OTU5WjBJMQswCQYDVQQG +EwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzElMCMGA1UEAxMcR29vZ2xlIEludGVy +bmV0IEF1dGhvcml0eSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AJwqBHdc2FCROgajguDYUEi8iT/xGXAaiEZ+4I/F8YnOIe5a/mENtzJEiaB0C1NP +VaTOgmKV7utZX8bhBYASxF6UP7xbSDj0U/ck5vuR6RXEz/RTDfRK/J9U3n2+oGtv +h8DQUB8oMANA2ghzUWx//zo8pzcGjr1LEQTrfSTe5vn8MXH7lNVg8y5Kr0LSy+rE +ahqyzFPdFUuLH8gZYR/Nnag+YyuENWllhMgZxUYi+FOVvuOAShDGKuy6lyARxzmZ +EASg8GF6lSWMTlJ14rbtCMoU/M4iarNOz0YDl5cDfsCx3nuvRTPPuj5xt970JSXC +DTWJnZ37DhF5iR43xa+OcmkCAwEAAaOB5zCB5DAfBgNVHSMEGDAWgBTAephojYn7 +qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUSt0GFhu89mi1dvWBtrtiGrpagS8wDgYD +VR0PAQH/BAQDAgEGMC4GCCsGAQUFBwEBBCIwIDAeBggrBgEFBQcwAYYSaHR0cDov +L2cuc3ltY2QuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAwNQYDVR0fBC4wLDAqoCig +JoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMBcGA1UdIAQQ +MA4wDAYKKwYBBAHWeQIFATANBgkqhkiG9w0BAQsFAAOCAQEAqvqpIM1qZ4PtXtR+ +3h3Ef+AlBgDFJPupyC1tft6dgmUsgWM0Zj7pUsIItMsv91+ZOmqcUHqFBYx90SpI +hNMJbHzCzTWf84LuUt5oX+QAihcglvcpjZpNy6jehsgNb1aHA30DP9z6eX0hGfnI +Oi9RdozHQZJxjyXON/hKTAAj78Q1EK7gI4BzfE00LshukNYQHpmEcxpw8u1VDu4X +Bupn7jLrLN1nBz/2i8Jw3lsA5rsb0zYaImxssDVCbJAJPZPpZAkiDoUGn8JzIdPm +X4DkjYUiOnMDsWCOrmji9D6X52ASCWg23jrW4kOVWzeBkoEfu43XrVJkFleW2V40 +fsg12A== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_3[] = { + 0x30, 0x82, 0x03, 0xf0, 0x30, 0x82, 0x02, 0xd8, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x83, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x30, + 0x34, 0x30, 0x35, 0x31, 0x35, 0x31, 0x35, 0x35, 0x36, 0x5a, 0x17, 0x0d, + 0x31, 0x36, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, + 0x5a, 0x30, 0x49, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x49, 0x6e, + 0x63, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1c, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, + 0x00, 0x9c, 0x2a, 0x04, 0x77, 0x5c, 0xd8, 0x50, 0x91, 0x3a, 0x06, 0xa3, + 0x82, 0xe0, 0xd8, 0x50, 0x48, 0xbc, 0x89, 0x3f, 0xf1, 0x19, 0x70, 0x1a, + 0x88, 0x46, 0x7e, 0xe0, 0x8f, 0xc5, 0xf1, 0x89, 0xce, 0x21, 0xee, 0x5a, + 0xfe, 0x61, 0x0d, 0xb7, 0x32, 0x44, 0x89, 0xa0, 0x74, 0x0b, 0x53, 0x4f, + 0x55, 0xa4, 0xce, 0x82, 0x62, 0x95, 0xee, 0xeb, 0x59, 0x5f, 0xc6, 0xe1, + 0x05, 0x80, 0x12, 0xc4, 0x5e, 0x94, 0x3f, 0xbc, 0x5b, 0x48, 0x38, 0xf4, + 0x53, 0xf7, 0x24, 0xe6, 0xfb, 0x91, 0xe9, 0x15, 0xc4, 0xcf, 0xf4, 0x53, + 0x0d, 0xf4, 0x4a, 0xfc, 0x9f, 0x54, 0xde, 0x7d, 0xbe, 0xa0, 0x6b, 0x6f, + 0x87, 0xc0, 0xd0, 0x50, 0x1f, 0x28, 0x30, 0x03, 0x40, 0xda, 0x08, 0x73, + 0x51, 0x6c, 0x7f, 0xff, 0x3a, 0x3c, 0xa7, 0x37, 0x06, 0x8e, 0xbd, 0x4b, + 0x11, 0x04, 0xeb, 0x7d, 0x24, 0xde, 0xe6, 0xf9, 0xfc, 0x31, 0x71, 0xfb, + 0x94, 0xd5, 0x60, 0xf3, 0x2e, 0x4a, 0xaf, 0x42, 0xd2, 0xcb, 0xea, 0xc4, + 0x6a, 0x1a, 0xb2, 0xcc, 0x53, 0xdd, 0x15, 0x4b, 0x8b, 0x1f, 0xc8, 0x19, + 0x61, 0x1f, 0xcd, 0x9d, 0xa8, 0x3e, 0x63, 0x2b, 0x84, 0x35, 0x69, 0x65, + 0x84, 0xc8, 0x19, 0xc5, 0x46, 0x22, 0xf8, 0x53, 0x95, 0xbe, 0xe3, 0x80, + 0x4a, 0x10, 0xc6, 0x2a, 0xec, 0xba, 0x97, 0x20, 0x11, 0xc7, 0x39, 0x99, + 0x10, 0x04, 0xa0, 0xf0, 0x61, 0x7a, 0x95, 0x25, 0x8c, 0x4e, 0x52, 0x75, + 0xe2, 0xb6, 0xed, 0x08, 0xca, 0x14, 0xfc, 0xce, 0x22, 0x6a, 0xb3, 0x4e, + 0xcf, 0x46, 0x03, 0x97, 0x97, 0x03, 0x7e, 0xc0, 0xb1, 0xde, 0x7b, 0xaf, + 0x45, 0x33, 0xcf, 0xba, 0x3e, 0x71, 0xb7, 0xde, 0xf4, 0x25, 0x25, 0xc2, + 0x0d, 0x35, 0x89, 0x9d, 0x9d, 0xfb, 0x0e, 0x11, 0x79, 0x89, 0x1e, 0x37, + 0xc5, 0xaf, 0x8e, 0x72, 0x69, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, + 0xe7, 0x30, 0x81, 0xe4, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, + 0xab, 0x05, 0x64, 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, + 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x4a, 0xdd, 0x06, 0x16, 0x1b, 0xbc, 0xf6, 0x68, 0xb5, 0x76, 0xf5, 0x81, + 0xb6, 0xbb, 0x62, 0x1a, 0xba, 0x5a, 0x81, 0x2f, 0x30, 0x0e, 0x06, 0x03, + 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x22, 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, + 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x35, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, + 0x26, 0x86, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, + 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, + 0x6c, 0x73, 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x17, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x10, + 0x30, 0x0e, 0x30, 0x0c, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xd6, + 0x79, 0x02, 0x05, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, + 0xaa, 0xfa, 0xa9, 0x20, 0xcd, 0x6a, 0x67, 0x83, 0xed, 0x5e, 0xd4, 0x7e, + 0xde, 0x1d, 0xc4, 0x7f, 0xe0, 0x25, 0x06, 0x00, 0xc5, 0x24, 0xfb, 0xa9, + 0xc8, 0x2d, 0x6d, 0x7e, 0xde, 0x9d, 0x82, 0x65, 0x2c, 0x81, 0x63, 0x34, + 0x66, 0x3e, 0xe9, 0x52, 0xc2, 0x08, 0xb4, 0xcb, 0x2f, 0xf7, 0x5f, 0x99, + 0x3a, 0x6a, 0x9c, 0x50, 0x7a, 0x85, 0x05, 0x8c, 0x7d, 0xd1, 0x2a, 0x48, + 0x84, 0xd3, 0x09, 0x6c, 0x7c, 0xc2, 0xcd, 0x35, 0x9f, 0xf3, 0x82, 0xee, + 0x52, 0xde, 0x68, 0x5f, 0xe4, 0x00, 0x8a, 0x17, 0x20, 0x96, 0xf7, 0x29, + 0x8d, 0x9a, 0x4d, 0xcb, 0xa8, 0xde, 0x86, 0xc8, 0x0d, 0x6f, 0x56, 0x87, + 0x03, 0x7d, 0x03, 0x3f, 0xdc, 0xfa, 0x79, 0x7d, 0x21, 0x19, 0xf9, 0xc8, + 0x3a, 0x2f, 0x51, 0x76, 0x8c, 0xc7, 0x41, 0x92, 0x71, 0x8f, 0x25, 0xce, + 0x37, 0xf8, 0x4a, 0x4c, 0x00, 0x23, 0xef, 0xc4, 0x35, 0x10, 0xae, 0xe0, + 0x23, 0x80, 0x73, 0x7c, 0x4d, 0x34, 0x2e, 0xc8, 0x6e, 0x90, 0xd6, 0x10, + 0x1e, 0x99, 0x84, 0x73, 0x1a, 0x70, 0xf2, 0xed, 0x55, 0x0e, 0xee, 0x17, + 0x06, 0xea, 0x67, 0xee, 0x32, 0xeb, 0x2c, 0xdd, 0x67, 0x07, 0x3f, 0xf6, + 0x8b, 0xc2, 0x70, 0xde, 0x5b, 0x00, 0xe6, 0xbb, 0x1b, 0xd3, 0x36, 0x1a, + 0x22, 0x6c, 0x6c, 0xb0, 0x35, 0x42, 0x6c, 0x90, 0x09, 0x3d, 0x93, 0xe9, + 0x64, 0x09, 0x22, 0x0e, 0x85, 0x06, 0x9f, 0xc2, 0x73, 0x21, 0xd3, 0xe6, + 0x5f, 0x80, 0xe4, 0x8d, 0x85, 0x22, 0x3a, 0x73, 0x03, 0xb1, 0x60, 0x8e, + 0xae, 0x68, 0xe2, 0xf4, 0x3e, 0x97, 0xe7, 0x60, 0x12, 0x09, 0x68, 0x36, + 0xde, 0x3a, 0xd6, 0xe2, 0x43, 0x95, 0x5b, 0x37, 0x81, 0x92, 0x81, 0x1f, + 0xbb, 0x8d, 0xd7, 0xad, 0x52, 0x64, 0x16, 0x57, 0x96, 0xd9, 0x5e, 0x34, + 0x7e, 0xc8, 0x35, 0xd8, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120033005 (0x7278eed) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root + Validity + Not Before: Apr 18 16:36:18 2012 GMT + Not After : Aug 13 16:35:17 2018 GMT + Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79: + d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a: + 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2: + 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01: + 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7: + 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6: + 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c: + a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70: + 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77: + d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae: + 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18: + 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85: + ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9: + 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5: + c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a: + ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0: + 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27: + 1a:39 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:3 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://cybertrust.omniroot.com/repository + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Authority Key Identifier: + DirName:/C=US/O=GTE Corporation/OU=GTE CyberTrust Solutions, Inc./CN=GTE CyberTrust Global Root + serial:01:A5 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://www.public-trust.com/cgi-bin/CRL/2018/cdp.crl + + Signature Algorithm: sha1WithRSAEncryption + 93:1d:fe:8b:ae:46:ec:cb:a9:0f:ab:e5:ef:ca:b2:68:16:68: + d8:8f:fa:13:a9:af:b3:cb:2d:e7:4b:6e:8e:69:2a:c2:2b:10: + 0a:8d:f6:ae:73:b6:b9:fb:14:fd:5f:6d:b8:50:b6:c4:8a:d6: + 40:7e:d7:c3:cb:73:dc:c9:5d:5b:af:b0:41:b5:37:eb:ea:dc: + 20:91:c4:34:6a:f4:a1:f3:96:9d:37:86:97:e1:71:a4:dd:7d: + fa:44:84:94:ae:d7:09:04:22:76:0f:64:51:35:a9:24:0f:f9: + 0b:db:32:da:c2:fe:c1:b9:2a:5c:7a:27:13:ca:b1:48:3a:71: + d0:43 +-----BEGIN CERTIFICATE----- +MIIEFTCCA36gAwIBAgIEByeO7TANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV +UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU +cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds +b2JhbCBSb290MB4XDTEyMDQxODE2MzYxOFoXDTE4MDgxMzE2MzUxN1owWjELMAkG +A1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVz +dDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKrmD1X6CZymrV51Cni4eiVgLGw41uO +KymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsBUnuId9Mcj8e6uYi1agnn +c+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/CG9VwcPCP +wBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPg +kAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFc +B5kpvcY67Oduhjprl3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaOCAUcw +ggFDMBIGA1UdEwEB/wQIMAYBAf8CAQMwSgYDVR0gBEMwQTA/BgRVHSAAMDcwNQYI +KwYBBQUHAgEWKWh0dHA6Ly9jeWJlcnRydXN0Lm9tbmlyb290LmNvbS9yZXBvc2l0 +b3J5MA4GA1UdDwEB/wQEAwIBBjCBiQYDVR0jBIGBMH+heaR3MHUxCzAJBgNVBAYT +AlVTMRgwFgYDVQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJl +clRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3Qg +R2xvYmFsIFJvb3SCAgGlMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly93d3cucHVi +bGljLXRydXN0LmNvbS9jZ2ktYmluL0NSTC8yMDE4L2NkcC5jcmwwDQYJKoZIhvcN +AQEFBQADgYEAkx3+i65G7MupD6vl78qyaBZo2I/6E6mvs8st50tujmkqwisQCo32 +rnO2ufsU/V9tuFC2xIrWQH7Xw8tz3MldW6+wQbU36+rcIJHENGr0ofOWnTeGl+Fx +pN19+kSElK7XCQQidg9kUTWpJA/5C9sy2sL+wbkqXHonE8qxSDpx0EM= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_4[] = { + 0x30, 0x82, 0x04, 0x15, 0x30, 0x82, 0x03, 0x7e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0x8e, 0xed, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x75, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0f, + 0x47, 0x54, 0x45, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x1e, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x53, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x23, 0x30, 0x21, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x47, 0x54, 0x45, 0x20, 0x43, + 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x32, 0x30, 0x34, 0x31, 0x38, 0x31, 0x36, 0x33, 0x36, 0x31, + 0x38, 0x5a, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x38, 0x31, 0x33, 0x31, 0x36, + 0x33, 0x35, 0x31, 0x37, 0x5a, 0x30, 0x5a, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, 0x45, 0x31, 0x12, 0x30, 0x10, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, 0x42, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x43, 0x79, + 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6f, + 0x74, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, + 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa3, 0x04, + 0xbb, 0x22, 0xab, 0x98, 0x3d, 0x57, 0xe8, 0x26, 0x72, 0x9a, 0xb5, 0x79, + 0xd4, 0x29, 0xe2, 0xe1, 0xe8, 0x95, 0x80, 0xb1, 0xb0, 0xe3, 0x5b, 0x8e, + 0x2b, 0x29, 0x9a, 0x64, 0xdf, 0xa1, 0x5d, 0xed, 0xb0, 0x09, 0x05, 0x6d, + 0xdb, 0x28, 0x2e, 0xce, 0x62, 0xa2, 0x62, 0xfe, 0xb4, 0x88, 0xda, 0x12, + 0xeb, 0x38, 0xeb, 0x21, 0x9d, 0xc0, 0x41, 0x2b, 0x01, 0x52, 0x7b, 0x88, + 0x77, 0xd3, 0x1c, 0x8f, 0xc7, 0xba, 0xb9, 0x88, 0xb5, 0x6a, 0x09, 0xe7, + 0x73, 0xe8, 0x11, 0x40, 0xa7, 0xd1, 0xcc, 0xca, 0x62, 0x8d, 0x2d, 0xe5, + 0x8f, 0x0b, 0xa6, 0x50, 0xd2, 0xa8, 0x50, 0xc3, 0x28, 0xea, 0xf5, 0xab, + 0x25, 0x87, 0x8a, 0x9a, 0x96, 0x1c, 0xa9, 0x67, 0xb8, 0x3f, 0x0c, 0xd5, + 0xf7, 0xf9, 0x52, 0x13, 0x2f, 0xc2, 0x1b, 0xd5, 0x70, 0x70, 0xf0, 0x8f, + 0xc0, 0x12, 0xca, 0x06, 0xcb, 0x9a, 0xe1, 0xd9, 0xca, 0x33, 0x7a, 0x77, + 0xd6, 0xf8, 0xec, 0xb9, 0xf1, 0x68, 0x44, 0x42, 0x48, 0x13, 0xd2, 0xc0, + 0xc2, 0xa4, 0xae, 0x5e, 0x60, 0xfe, 0xb6, 0xa6, 0x05, 0xfc, 0xb4, 0xdd, + 0x07, 0x59, 0x02, 0xd4, 0x59, 0x18, 0x98, 0x63, 0xf5, 0xa5, 0x63, 0xe0, + 0x90, 0x0c, 0x7d, 0x5d, 0xb2, 0x06, 0x7a, 0xf3, 0x85, 0xea, 0xeb, 0xd4, + 0x03, 0xae, 0x5e, 0x84, 0x3e, 0x5f, 0xff, 0x15, 0xed, 0x69, 0xbc, 0xf9, + 0x39, 0x36, 0x72, 0x75, 0xcf, 0x77, 0x52, 0x4d, 0xf3, 0xc9, 0x90, 0x2c, + 0xb9, 0x3d, 0xe5, 0xc9, 0x23, 0x53, 0x3f, 0x1f, 0x24, 0x98, 0x21, 0x5c, + 0x07, 0x99, 0x29, 0xbd, 0xc6, 0x3a, 0xec, 0xe7, 0x6e, 0x86, 0x3a, 0x6b, + 0x97, 0x74, 0x63, 0x33, 0xbd, 0x68, 0x18, 0x31, 0xf0, 0x78, 0x8d, 0x76, + 0xbf, 0xfc, 0x9e, 0x8e, 0x5d, 0x2a, 0x86, 0xa7, 0x4d, 0x90, 0xdc, 0x27, + 0x1a, 0x39, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x47, 0x30, + 0x82, 0x01, 0x43, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x03, 0x30, + 0x4a, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x43, 0x30, 0x41, 0x30, 0x3f, + 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x37, 0x30, 0x35, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x29, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x81, 0x89, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x81, 0x81, 0x30, 0x7f, 0xa1, 0x79, 0xa4, 0x77, + 0x30, 0x75, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x0f, 0x47, 0x54, 0x45, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x1e, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x53, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x23, + 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x47, 0x54, 0x45, + 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x82, + 0x02, 0x01, 0xa5, 0x30, 0x45, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x3e, + 0x30, 0x3c, 0x30, 0x3a, 0xa0, 0x38, 0xa0, 0x36, 0x86, 0x34, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, 0x6e, 0x2f, 0x43, 0x52, + 0x4c, 0x2f, 0x32, 0x30, 0x31, 0x38, 0x2f, 0x63, 0x64, 0x70, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x93, 0x1d, 0xfe, + 0x8b, 0xae, 0x46, 0xec, 0xcb, 0xa9, 0x0f, 0xab, 0xe5, 0xef, 0xca, 0xb2, + 0x68, 0x16, 0x68, 0xd8, 0x8f, 0xfa, 0x13, 0xa9, 0xaf, 0xb3, 0xcb, 0x2d, + 0xe7, 0x4b, 0x6e, 0x8e, 0x69, 0x2a, 0xc2, 0x2b, 0x10, 0x0a, 0x8d, 0xf6, + 0xae, 0x73, 0xb6, 0xb9, 0xfb, 0x14, 0xfd, 0x5f, 0x6d, 0xb8, 0x50, 0xb6, + 0xc4, 0x8a, 0xd6, 0x40, 0x7e, 0xd7, 0xc3, 0xcb, 0x73, 0xdc, 0xc9, 0x5d, + 0x5b, 0xaf, 0xb0, 0x41, 0xb5, 0x37, 0xeb, 0xea, 0xdc, 0x20, 0x91, 0xc4, + 0x34, 0x6a, 0xf4, 0xa1, 0xf3, 0x96, 0x9d, 0x37, 0x86, 0x97, 0xe1, 0x71, + 0xa4, 0xdd, 0x7d, 0xfa, 0x44, 0x84, 0x94, 0xae, 0xd7, 0x09, 0x04, 0x22, + 0x76, 0x0f, 0x64, 0x51, 0x35, 0xa9, 0x24, 0x0f, 0xf9, 0x0b, 0xdb, 0x32, + 0xda, 0xc2, 0xfe, 0xc1, 0xb9, 0x2a, 0x5c, 0x7a, 0x27, 0x13, 0xca, 0xb1, + 0x48, 0x3a, 0x71, 0xd0, 0x43, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146041 (0x23a79) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Sep 8 20:41:10 2014 GMT + Not After : May 20 20:41:10 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust SSL CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:9a:7d:98:68:11:40:c1:5f:72:ec:55:b3:b1:63: + f3:32:22:72:91:c6:16:05:bb:08:82:31:b4:f6:ee: + d4:18:39:11:2f:2e:da:47:fe:51:31:6e:5b:f2:a9: + 0a:eb:2f:bb:f5:61:59:65:57:02:cd:80:ff:c7:70: + 32:54:89:fd:db:ae:99:72:d4:4f:0c:26:b9:2e:63: + 30:7d:de:14:5b:6a:d7:52:78:21:f9:bf:bc:50:d5: + 54:12:59:d8:b5:36:d9:21:47:b8:3f:6a:58:1d:8c: + 72:e1:97:95:d3:e1:45:a8:f1:5a:e5:be:fe:e3:53: + 7c:a5:f0:52:e0:cf:39:94:0c:19:71:f2:c0:25:07: + 48:7d:1c:e6:f1:39:25:2f:98:79:43:e8:18:72:f4: + 65:86:98:5a:00:04:47:da:4b:58:1e:7c:86:b1:4b: + 35:a6:20:00:1c:cd:1b:3b:22:5d:d1:93:28:33:12: + 23:94:08:aa:c3:3a:f5:d1:c6:8c:7e:99:d3:18:a0: + ad:9d:18:cf:49:ad:10:03:f7:99:33:26:86:46:9a: + 2f:a0:ba:6c:6e:c8:88:02:b7:6e:fa:7a:9e:98:4a: + ee:9a:31:7d:19:14:60:0c:ec:8f:20:23:3c:da:97: + 26:b6:ea:80:6c:8a:57:9e:20:ee:6f:17:25:4a:32: + ad:35 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + AC:32:ED:5A:C9:E0:DE:30:9C:90:58:55:26:63:F6:72:A6:54:5F:E3 + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + Signature Algorithm: sha256WithRSAEncryption + 61:40:ad:21:0f:03:bb:95:dc:89:fc:a3:cb:05:71:e9:1c:59: + 97:35:c2:fa:6b:05:a4:16:c6:56:46:37:74:1b:1b:f1:3e:2c: + e8:37:19:b7:94:d2:0f:0e:c5:bf:14:07:2b:34:cd:5b:b4:8d: + c7:56:9d:19:fc:02:b4:9e:90:31:fa:a4:44:c6:75:dd:dd:1f: + 25:54:a3:30:4c:ac:db:fe:c4:88:f7:31:26:18:47:ae:4c:20: + 19:1a:c7:ae:3e:98:0a:16:3d:d2:c2:a6:5d:0d:2e:29:7d:b2: + 9d:c7:41:32:17:ca:9d:ae:39:bf:91:98:de:e7:44:e2:95:9c: + 94:5c:6c:42:1b:59:c9:7b:68:13:a8:96:09:74:ee:40:14:a4: + d5:d7:c9:7b:33:a3:0f:5a:69:9c:1a:fa:6f:12:47:1c:df:1e: + 4c:70:4e:6d:dd:fe:1c:87:b5:9d:e1:54:07:09:8a:cd:be:aa: + a8:46:78:6e:16:f2:e7:91:0e:c3:af:da:76:00:d1:d8:a2:46: + 24:03:a5:1a:85:81:56:83:63:27:ba:90:8e:f9:62:11:ba:a7: + 7c:90:a9:1a:66:b4:c5:bc:8f:29:41:ab:eb:8d:99:a6:cc:91: + 64:ba:dc:c6:a6:4c:b3:b4:23:26:51:72:56:f9:f3:74:55:9f: + 25:75:4f:2b +-----BEGIN CERTIFICATE----- +MIIEIjCCAwqgAwIBAgIDAjp5MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTQwOTA4MjA0MTEwWhcNMjIwNTIwMjA0MTEwWjBEMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg +U1NMIENBIC0gRzQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCafZho +EUDBX3LsVbOxY/MyInKRxhYFuwiCMbT27tQYOREvLtpH/lExblvyqQrrL7v1YVll +VwLNgP/HcDJUif3brply1E8MJrkuYzB93hRbatdSeCH5v7xQ1VQSWdi1NtkhR7g/ +algdjHLhl5XT4UWo8Vrlvv7jU3yl8FLgzzmUDBlx8sAlB0h9HObxOSUvmHlD6Bhy +9GWGmFoABEfaS1gefIaxSzWmIAAczRs7Il3RkygzEiOUCKrDOvXRxox+mdMYoK2d +GM9JrRAD95kzJoZGmi+gumxuyIgCt276ep6YSu6aMX0ZFGAM7I8gIzzalya26oBs +ileeIO5vFyVKMq01AgMBAAGjggEdMIIBGTAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjAdBgNVHQ4EFgQUrDLtWsng3jCckFhVJmP2cqZUX+MwEgYDVR0T +AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNQYDVR0fBC4wLDAqoCigJoYk +aHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMC4GCCsGAQUFBwEB +BCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMEwGA1UdIARFMEMw +QQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3RydXN0 +LmNvbS9yZXNvdXJjZXMvY3BzMA0GCSqGSIb3DQEBCwUAA4IBAQBhQK0hDwO7ldyJ +/KPLBXHpHFmXNcL6awWkFsZWRjd0GxvxPizoNxm3lNIPDsW/FAcrNM1btI3HVp0Z +/AK0npAx+qRExnXd3R8lVKMwTKzb/sSI9zEmGEeuTCAZGseuPpgKFj3SwqZdDS4p +fbKdx0EyF8qdrjm/kZje50TilZyUXGxCG1nJe2gTqJYJdO5AFKTV18l7M6MPWmmc +GvpvEkcc3x5McE5t3f4ch7Wd4VQHCYrNvqqoRnhuFvLnkQ7Dr9p2ANHYokYkA6Ua +hYFWg2MnupCO+WIRuqd8kKkaZrTFvI8pQavrjZmmzJFkutzGpkyztCMmUXJW+fN0 +VZ8ldU8r +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_5[] = { + 0x30, 0x82, 0x04, 0x22, 0x30, 0x82, 0x03, 0x0a, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x79, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, + 0x39, 0x30, 0x38, 0x32, 0x30, 0x34, 0x31, 0x31, 0x30, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x30, 0x34, 0x31, 0x31, 0x30, + 0x5a, 0x30, 0x44, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x14, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x34, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x9a, 0x7d, 0x98, 0x68, + 0x11, 0x40, 0xc1, 0x5f, 0x72, 0xec, 0x55, 0xb3, 0xb1, 0x63, 0xf3, 0x32, + 0x22, 0x72, 0x91, 0xc6, 0x16, 0x05, 0xbb, 0x08, 0x82, 0x31, 0xb4, 0xf6, + 0xee, 0xd4, 0x18, 0x39, 0x11, 0x2f, 0x2e, 0xda, 0x47, 0xfe, 0x51, 0x31, + 0x6e, 0x5b, 0xf2, 0xa9, 0x0a, 0xeb, 0x2f, 0xbb, 0xf5, 0x61, 0x59, 0x65, + 0x57, 0x02, 0xcd, 0x80, 0xff, 0xc7, 0x70, 0x32, 0x54, 0x89, 0xfd, 0xdb, + 0xae, 0x99, 0x72, 0xd4, 0x4f, 0x0c, 0x26, 0xb9, 0x2e, 0x63, 0x30, 0x7d, + 0xde, 0x14, 0x5b, 0x6a, 0xd7, 0x52, 0x78, 0x21, 0xf9, 0xbf, 0xbc, 0x50, + 0xd5, 0x54, 0x12, 0x59, 0xd8, 0xb5, 0x36, 0xd9, 0x21, 0x47, 0xb8, 0x3f, + 0x6a, 0x58, 0x1d, 0x8c, 0x72, 0xe1, 0x97, 0x95, 0xd3, 0xe1, 0x45, 0xa8, + 0xf1, 0x5a, 0xe5, 0xbe, 0xfe, 0xe3, 0x53, 0x7c, 0xa5, 0xf0, 0x52, 0xe0, + 0xcf, 0x39, 0x94, 0x0c, 0x19, 0x71, 0xf2, 0xc0, 0x25, 0x07, 0x48, 0x7d, + 0x1c, 0xe6, 0xf1, 0x39, 0x25, 0x2f, 0x98, 0x79, 0x43, 0xe8, 0x18, 0x72, + 0xf4, 0x65, 0x86, 0x98, 0x5a, 0x00, 0x04, 0x47, 0xda, 0x4b, 0x58, 0x1e, + 0x7c, 0x86, 0xb1, 0x4b, 0x35, 0xa6, 0x20, 0x00, 0x1c, 0xcd, 0x1b, 0x3b, + 0x22, 0x5d, 0xd1, 0x93, 0x28, 0x33, 0x12, 0x23, 0x94, 0x08, 0xaa, 0xc3, + 0x3a, 0xf5, 0xd1, 0xc6, 0x8c, 0x7e, 0x99, 0xd3, 0x18, 0xa0, 0xad, 0x9d, + 0x18, 0xcf, 0x49, 0xad, 0x10, 0x03, 0xf7, 0x99, 0x33, 0x26, 0x86, 0x46, + 0x9a, 0x2f, 0xa0, 0xba, 0x6c, 0x6e, 0xc8, 0x88, 0x02, 0xb7, 0x6e, 0xfa, + 0x7a, 0x9e, 0x98, 0x4a, 0xee, 0x9a, 0x31, 0x7d, 0x19, 0x14, 0x60, 0x0c, + 0xec, 0x8f, 0x20, 0x23, 0x3c, 0xda, 0x97, 0x26, 0xb6, 0xea, 0x80, 0x6c, + 0x8a, 0x57, 0x9e, 0x20, 0xee, 0x6f, 0x17, 0x25, 0x4a, 0x32, 0xad, 0x35, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x1d, 0x30, 0x82, 0x01, + 0x19, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, + 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xac, 0x32, 0xed, + 0x5a, 0xc9, 0xe0, 0xde, 0x30, 0x9c, 0x90, 0x58, 0x55, 0x26, 0x63, 0xf6, + 0x72, 0xa6, 0x54, 0x5f, 0xe3, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x35, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, 0x26, 0x86, 0x24, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, + 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, + 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x22, 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, + 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, + 0x36, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x01, 0x00, 0x61, 0x40, 0xad, 0x21, 0x0f, 0x03, 0xbb, 0x95, 0xdc, 0x89, + 0xfc, 0xa3, 0xcb, 0x05, 0x71, 0xe9, 0x1c, 0x59, 0x97, 0x35, 0xc2, 0xfa, + 0x6b, 0x05, 0xa4, 0x16, 0xc6, 0x56, 0x46, 0x37, 0x74, 0x1b, 0x1b, 0xf1, + 0x3e, 0x2c, 0xe8, 0x37, 0x19, 0xb7, 0x94, 0xd2, 0x0f, 0x0e, 0xc5, 0xbf, + 0x14, 0x07, 0x2b, 0x34, 0xcd, 0x5b, 0xb4, 0x8d, 0xc7, 0x56, 0x9d, 0x19, + 0xfc, 0x02, 0xb4, 0x9e, 0x90, 0x31, 0xfa, 0xa4, 0x44, 0xc6, 0x75, 0xdd, + 0xdd, 0x1f, 0x25, 0x54, 0xa3, 0x30, 0x4c, 0xac, 0xdb, 0xfe, 0xc4, 0x88, + 0xf7, 0x31, 0x26, 0x18, 0x47, 0xae, 0x4c, 0x20, 0x19, 0x1a, 0xc7, 0xae, + 0x3e, 0x98, 0x0a, 0x16, 0x3d, 0xd2, 0xc2, 0xa6, 0x5d, 0x0d, 0x2e, 0x29, + 0x7d, 0xb2, 0x9d, 0xc7, 0x41, 0x32, 0x17, 0xca, 0x9d, 0xae, 0x39, 0xbf, + 0x91, 0x98, 0xde, 0xe7, 0x44, 0xe2, 0x95, 0x9c, 0x94, 0x5c, 0x6c, 0x42, + 0x1b, 0x59, 0xc9, 0x7b, 0x68, 0x13, 0xa8, 0x96, 0x09, 0x74, 0xee, 0x40, + 0x14, 0xa4, 0xd5, 0xd7, 0xc9, 0x7b, 0x33, 0xa3, 0x0f, 0x5a, 0x69, 0x9c, + 0x1a, 0xfa, 0x6f, 0x12, 0x47, 0x1c, 0xdf, 0x1e, 0x4c, 0x70, 0x4e, 0x6d, + 0xdd, 0xfe, 0x1c, 0x87, 0xb5, 0x9d, 0xe1, 0x54, 0x07, 0x09, 0x8a, 0xcd, + 0xbe, 0xaa, 0xa8, 0x46, 0x78, 0x6e, 0x16, 0xf2, 0xe7, 0x91, 0x0e, 0xc3, + 0xaf, 0xda, 0x76, 0x00, 0xd1, 0xd8, 0xa2, 0x46, 0x24, 0x03, 0xa5, 0x1a, + 0x85, 0x81, 0x56, 0x83, 0x63, 0x27, 0xba, 0x90, 0x8e, 0xf9, 0x62, 0x11, + 0xba, 0xa7, 0x7c, 0x90, 0xa9, 0x1a, 0x66, 0xb4, 0xc5, 0xbc, 0x8f, 0x29, + 0x41, 0xab, 0xeb, 0x8d, 0x99, 0xa6, 0xcc, 0x91, 0x64, 0xba, 0xdc, 0xc6, + 0xa6, 0x4c, 0xb3, 0xb4, 0x23, 0x26, 0x51, 0x72, 0x56, 0xf9, 0xf3, 0x74, + 0x55, 0x9f, 0x25, 0x75, 0x4f, 0x2b, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146039 (0x23a77) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Aug 29 21:39:32 2014 GMT + Not After : May 20 21:39:32 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:54:9b:d9:58:5d:1e:2c:56:c6:d5:e8:7f:f4: + 7d:16:03:ff:d0:8b:5a:e4:8e:a7:dd:54:2e:d4:04: + c0:5d:98:9c:8d:90:0f:bc:10:65:5f:da:9a:d6:44: + 7c:c0:9f:b5:e9:4a:8c:0b:06:43:04:bb:f4:96:e2: + 26:f6:61:01:91:66:31:22:c3:34:34:5f:3f:3f:91: + 2f:44:5f:dc:c7:14:b6:03:9f:86:4b:0e:a3:ff:a0: + 80:02:83:c3:d3:1f:69:52:d6:9d:64:0f:c9:83:e7: + 1b:c4:70:ac:94:e7:c3:a4:6a:2c:bd:b8:9e:69:d8: + be:0a:8f:16:63:5a:68:71:80:7b:30:de:15:04:bf: + cc:d3:bf:3e:48:05:55:7a:b3:d7:10:0c:03:fc:9b: + fd:08:a7:8c:8c:db:a7:8e:f1:1e:63:dc:b3:01:2f: + 7f:af:57:c3:3c:48:a7:83:68:21:a7:2f:e7:a7:3f: + f0:b5:0c:fc:f5:84:d1:53:bc:0e:72:4f:60:0c:42: + b8:98:ad:19:88:57:d7:04:ec:87:bf:7e:87:4e:a3: + 21:f9:53:fd:36:98:48:8d:d6:f8:bb:48:f2:29:c8: + 64:d1:cc:54:48:53:8b:af:b7:65:1e:bf:29:33:29: + d9:29:60:48:f8:ff:91:bc:57:58:e5:35:2e:bb:69: + b6:59 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + C3:9C:F3:FC:D3:46:08:34:BB:CE:46:7F:A0:7C:5B:F3:E2:08:CB:59 + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + Signature Algorithm: sha256WithRSAEncryption + a3:58:1e:c6:43:32:ac:ac:2f:93:78:b7:ea:ae:54:40:47:2d: + 7e:78:8d:50:f6:f8:66:ac:d6:4f:73:d6:44:ef:af:0b:cc:5b: + c1:f4:4f:9a:8f:49:7e:60:af:c2:27:c7:16:f1:fb:93:81:90: + a9:7c:ef:6f:7e:6e:45:94:16:84:bd:ec:49:f1:c4:0e:f4:af: + 04:59:83:87:0f:2c:3b:97:c3:5a:12:9b:7b:04:35:7b:a3:95: + 33:08:7b:93:71:22:42:b3:a9:d9:6f:4f:81:92:fc:07:b6:79: + bc:84:4a:9d:77:09:f1:c5:89:f2:f0:b4:9c:54:aa:12:7b:0d: + ba:4f:ef:93:19:ec:ef:7d:4e:61:a3:8e:76:9c:59:cf:8c:94: + b1:84:97:f7:1a:b9:07:b8:b2:c6:4f:13:79:db:bf:4f:51:1b: + 7f:69:0d:51:2a:c1:d6:15:ff:37:51:34:65:51:f4:1e:be:38: + 6a:ec:0e:ab:bf:3d:7b:39:05:7b:f4:f3:fb:1a:a1:d0:c8:7e: + 4e:64:8d:cd:8c:61:55:90:fe:3a:ca:5d:25:0f:f8:1d:a3:4a: + 74:56:4f:1a:55:40:70:75:25:a6:33:2e:ba:4b:a5:5d:53:9a: + 0d:30:e1:8d:5f:61:2c:af:cc:ef:b0:99:a1:80:ff:0b:f2:62: + 4c:70:26:98 +-----BEGIN CERTIFICATE----- +MIIEJTCCAw2gAwIBAgIDAjp3MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTQwODI5MjEzOTMyWhcNMjIwNTIwMjEzOTMyWjBHMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXUmFwaWRTU0wg +U0hBMjU2IENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv +VJvZWF0eLFbG1eh/9H0WA//Qi1rkjqfdVC7UBMBdmJyNkA+8EGVf2prWRHzAn7Xp +SowLBkMEu/SW4ib2YQGRZjEiwzQ0Xz8/kS9EX9zHFLYDn4ZLDqP/oIACg8PTH2lS +1p1kD8mD5xvEcKyU58Okaiy9uJ5p2L4KjxZjWmhxgHsw3hUEv8zTvz5IBVV6s9cQ +DAP8m/0Ip4yM26eO8R5j3LMBL3+vV8M8SKeDaCGnL+enP/C1DPz1hNFTvA5yT2AM +QriYrRmIV9cE7Ie/fodOoyH5U/02mEiN1vi7SPIpyGTRzFRIU4uvt2UevykzKdkp +YEj4/5G8V1jlNS67abZZAgMBAAGjggEdMIIBGTAfBgNVHSMEGDAWgBTAephojYn7 +qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUw5zz/NNGCDS7zkZ/oHxb8+IIy1kwEgYD +VR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNQYDVR0fBC4wLDAqoCig +JoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMC4GCCsGAQUF +BwEBBCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMEwGA1UdIARF +MEMwQQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3Ry +dXN0LmNvbS9yZXNvdXJjZXMvY3BzMA0GCSqGSIb3DQEBCwUAA4IBAQCjWB7GQzKs +rC+TeLfqrlRARy1+eI1Q9vhmrNZPc9ZE768LzFvB9E+aj0l+YK/CJ8cW8fuTgZCp +fO9vfm5FlBaEvexJ8cQO9K8EWYOHDyw7l8NaEpt7BDV7o5UzCHuTcSJCs6nZb0+B +kvwHtnm8hEqddwnxxYny8LScVKoSew26T++TGezvfU5ho452nFnPjJSxhJf3GrkH +uLLGTxN5279PURt/aQ1RKsHWFf83UTRlUfQevjhq7A6rvz17OQV79PP7GqHQyH5O +ZI3NjGFVkP46yl0lD/gdo0p0Vk8aVUBwdSWmMy66S6VdU5oNMOGNX2Esr8zvsJmh +gP8L8mJMcCaY +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_6[] = { + 0x30, 0x82, 0x04, 0x25, 0x30, 0x82, 0x03, 0x0d, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x77, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, + 0x38, 0x32, 0x39, 0x32, 0x31, 0x33, 0x39, 0x33, 0x32, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x31, 0x33, 0x39, 0x33, 0x32, + 0x5a, 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x17, 0x52, 0x61, 0x70, 0x69, 0x64, 0x53, 0x53, 0x4c, 0x20, + 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, + 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xaf, + 0x54, 0x9b, 0xd9, 0x58, 0x5d, 0x1e, 0x2c, 0x56, 0xc6, 0xd5, 0xe8, 0x7f, + 0xf4, 0x7d, 0x16, 0x03, 0xff, 0xd0, 0x8b, 0x5a, 0xe4, 0x8e, 0xa7, 0xdd, + 0x54, 0x2e, 0xd4, 0x04, 0xc0, 0x5d, 0x98, 0x9c, 0x8d, 0x90, 0x0f, 0xbc, + 0x10, 0x65, 0x5f, 0xda, 0x9a, 0xd6, 0x44, 0x7c, 0xc0, 0x9f, 0xb5, 0xe9, + 0x4a, 0x8c, 0x0b, 0x06, 0x43, 0x04, 0xbb, 0xf4, 0x96, 0xe2, 0x26, 0xf6, + 0x61, 0x01, 0x91, 0x66, 0x31, 0x22, 0xc3, 0x34, 0x34, 0x5f, 0x3f, 0x3f, + 0x91, 0x2f, 0x44, 0x5f, 0xdc, 0xc7, 0x14, 0xb6, 0x03, 0x9f, 0x86, 0x4b, + 0x0e, 0xa3, 0xff, 0xa0, 0x80, 0x02, 0x83, 0xc3, 0xd3, 0x1f, 0x69, 0x52, + 0xd6, 0x9d, 0x64, 0x0f, 0xc9, 0x83, 0xe7, 0x1b, 0xc4, 0x70, 0xac, 0x94, + 0xe7, 0xc3, 0xa4, 0x6a, 0x2c, 0xbd, 0xb8, 0x9e, 0x69, 0xd8, 0xbe, 0x0a, + 0x8f, 0x16, 0x63, 0x5a, 0x68, 0x71, 0x80, 0x7b, 0x30, 0xde, 0x15, 0x04, + 0xbf, 0xcc, 0xd3, 0xbf, 0x3e, 0x48, 0x05, 0x55, 0x7a, 0xb3, 0xd7, 0x10, + 0x0c, 0x03, 0xfc, 0x9b, 0xfd, 0x08, 0xa7, 0x8c, 0x8c, 0xdb, 0xa7, 0x8e, + 0xf1, 0x1e, 0x63, 0xdc, 0xb3, 0x01, 0x2f, 0x7f, 0xaf, 0x57, 0xc3, 0x3c, + 0x48, 0xa7, 0x83, 0x68, 0x21, 0xa7, 0x2f, 0xe7, 0xa7, 0x3f, 0xf0, 0xb5, + 0x0c, 0xfc, 0xf5, 0x84, 0xd1, 0x53, 0xbc, 0x0e, 0x72, 0x4f, 0x60, 0x0c, + 0x42, 0xb8, 0x98, 0xad, 0x19, 0x88, 0x57, 0xd7, 0x04, 0xec, 0x87, 0xbf, + 0x7e, 0x87, 0x4e, 0xa3, 0x21, 0xf9, 0x53, 0xfd, 0x36, 0x98, 0x48, 0x8d, + 0xd6, 0xf8, 0xbb, 0x48, 0xf2, 0x29, 0xc8, 0x64, 0xd1, 0xcc, 0x54, 0x48, + 0x53, 0x8b, 0xaf, 0xb7, 0x65, 0x1e, 0xbf, 0x29, 0x33, 0x29, 0xd9, 0x29, + 0x60, 0x48, 0xf8, 0xff, 0x91, 0xbc, 0x57, 0x58, 0xe5, 0x35, 0x2e, 0xbb, + 0x69, 0xb6, 0x59, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x1d, + 0x30, 0x82, 0x01, 0x19, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, + 0xab, 0x05, 0x64, 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, + 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0xc3, 0x9c, 0xf3, 0xfc, 0xd3, 0x46, 0x08, 0x34, 0xbb, 0xce, 0x46, 0x7f, + 0xa0, 0x7c, 0x5b, 0xf3, 0xe2, 0x08, 0xcb, 0x59, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, + 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x35, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, + 0x26, 0x86, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, + 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, + 0x6c, 0x73, 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x22, 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, + 0x30, 0x43, 0x30, 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, + 0x45, 0x01, 0x07, 0x36, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0xa3, 0x58, 0x1e, 0xc6, 0x43, 0x32, 0xac, + 0xac, 0x2f, 0x93, 0x78, 0xb7, 0xea, 0xae, 0x54, 0x40, 0x47, 0x2d, 0x7e, + 0x78, 0x8d, 0x50, 0xf6, 0xf8, 0x66, 0xac, 0xd6, 0x4f, 0x73, 0xd6, 0x44, + 0xef, 0xaf, 0x0b, 0xcc, 0x5b, 0xc1, 0xf4, 0x4f, 0x9a, 0x8f, 0x49, 0x7e, + 0x60, 0xaf, 0xc2, 0x27, 0xc7, 0x16, 0xf1, 0xfb, 0x93, 0x81, 0x90, 0xa9, + 0x7c, 0xef, 0x6f, 0x7e, 0x6e, 0x45, 0x94, 0x16, 0x84, 0xbd, 0xec, 0x49, + 0xf1, 0xc4, 0x0e, 0xf4, 0xaf, 0x04, 0x59, 0x83, 0x87, 0x0f, 0x2c, 0x3b, + 0x97, 0xc3, 0x5a, 0x12, 0x9b, 0x7b, 0x04, 0x35, 0x7b, 0xa3, 0x95, 0x33, + 0x08, 0x7b, 0x93, 0x71, 0x22, 0x42, 0xb3, 0xa9, 0xd9, 0x6f, 0x4f, 0x81, + 0x92, 0xfc, 0x07, 0xb6, 0x79, 0xbc, 0x84, 0x4a, 0x9d, 0x77, 0x09, 0xf1, + 0xc5, 0x89, 0xf2, 0xf0, 0xb4, 0x9c, 0x54, 0xaa, 0x12, 0x7b, 0x0d, 0xba, + 0x4f, 0xef, 0x93, 0x19, 0xec, 0xef, 0x7d, 0x4e, 0x61, 0xa3, 0x8e, 0x76, + 0x9c, 0x59, 0xcf, 0x8c, 0x94, 0xb1, 0x84, 0x97, 0xf7, 0x1a, 0xb9, 0x07, + 0xb8, 0xb2, 0xc6, 0x4f, 0x13, 0x79, 0xdb, 0xbf, 0x4f, 0x51, 0x1b, 0x7f, + 0x69, 0x0d, 0x51, 0x2a, 0xc1, 0xd6, 0x15, 0xff, 0x37, 0x51, 0x34, 0x65, + 0x51, 0xf4, 0x1e, 0xbe, 0x38, 0x6a, 0xec, 0x0e, 0xab, 0xbf, 0x3d, 0x7b, + 0x39, 0x05, 0x7b, 0xf4, 0xf3, 0xfb, 0x1a, 0xa1, 0xd0, 0xc8, 0x7e, 0x4e, + 0x64, 0x8d, 0xcd, 0x8c, 0x61, 0x55, 0x90, 0xfe, 0x3a, 0xca, 0x5d, 0x25, + 0x0f, 0xf8, 0x1d, 0xa3, 0x4a, 0x74, 0x56, 0x4f, 0x1a, 0x55, 0x40, 0x70, + 0x75, 0x25, 0xa6, 0x33, 0x2e, 0xba, 0x4b, 0xa5, 0x5d, 0x53, 0x9a, 0x0d, + 0x30, 0xe1, 0x8d, 0x5f, 0x61, 0x2c, 0xaf, 0xcc, 0xef, 0xb0, 0x99, 0xa1, + 0x80, 0xff, 0x0b, 0xf2, 0x62, 0x4c, 0x70, 0x26, 0x98, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 11:20:96:f6:c8:03:7c:9e:07:b1:38:bf:2e:72:10:8a:d7:ed + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=FR, O=Certplus, CN=Class 2 Primary CA + Validity + Not Before: Jun 5 00:00:00 2007 GMT + Not After : Jun 20 00:00:00 2019 GMT + Subject: C=FR, O=KEYNECTIS, CN=CLASS 2 KEYNECTIS CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c6:be:fe:44:23:04:d4:ef:2f:3b:86:aa:35:58: + 81:d1:e1:9a:d6:b1:d4:27:45:28:fc:d1:1e:46:85: + ba:54:23:11:7d:e0:66:3f:d4:a3:57:66:78:f9:6b: + eb:74:7c:2a:b8:37:a5:e8:70:ae:82:b5:4e:d4:81: + fe:5b:e2:ea:e7:22:16:f8:f9:d7:ba:3a:f6:88:56: + dc:c4:f2:a0:a4:e5:75:06:60:72:2b:fb:f5:94:ee: + 2c:83:28:de:91:9a:b3:83:3a:b0:9f:08:fa:dd:d8: + 9e:8c:24:e6:df:66:5b:c8:7e:a3:62:4d:3f:3a:85: + 23:ec:e8:71:8f:0a:00:ac:89:6d:7e:d8:72:e5:dd: + c1:94:8e:5f:e4:73:e6:c1:c6:0c:87:58:4f:37:da: + d1:a9:88:26:76:b4:ee:11:8d:f6:ad:b2:a7:bc:73: + c4:cd:1c:6e:1a:e6:8d:72:56:44:a0:98:f7:92:f9: + d7:79:9b:03:e6:68:5f:a4:5c:7c:3d:50:b4:83:cc: + e5:ac:0d:e1:3e:4f:14:f2:b4:e4:7d:bf:71:a4:c3: + 97:73:38:d6:52:7c:c8:a4:b5:ea:e9:b2:54:56:d4: + eb:b8:57:3a:40:52:5a:5e:46:27:a3:7b:30:2d:08: + 3d:85:1e:9a:f0:32:a8:f2:10:a2:83:9b:e2:28:f6: + 9d:cb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 1.3.6.4.1.22234.2.5.3.3 + CPS: http://www.keynectis.com/PC + Policy: 1.3.6.4.1.22234.2.5.1.3 + CPS: http://www.keynectis.com/PC + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://www.certplus.com/CRL/class2.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 00:11:41:DF:3B:9D:3B:CB:B8:A2:C1:33:92:A8:81:CC:E5:7D:E7:99 + X509v3 Authority Key Identifier: + keyid:E3:73:2D:DF:CB:0E:28:0C:DE:DD:B3:A4:CA:79:B8:8E:BB:E8:30:89 + + Signature Algorithm: sha1WithRSAEncryption + 08:88:fe:1f:a2:ca:cd:e2:a0:f1:2e:7c:67:49:fb:dc:94:ac: + 7f:41:0d:78:01:ba:31:f7:9b:fb:31:18:77:2f:66:25:94:b8: + 6d:16:74:81:f1:c0:ae:67:c6:14:45:7a:01:d1:13:88:fc:e2: + 8d:22:1d:bd:1e:0c:c7:a9:7e:d0:c3:97:f6:37:5b:41:5e:67: + 94:8e:ab:69:02:17:18:f5:4d:38:c2:49:28:09:6e:5a:9b:a6: + 27:db:c0:5f:8f:44:9c:90:65:99:d8:b3:2e:c1:92:ee:1a:9d: + 0f:72:45:20:fa:2c:0c:9c:5d:cd:5b:54:41:54:4f:d3:e2:c7: + 59:84:3f:17:7b:7d:0e:c2:ef:62:c7:ba:b1:26:6c:83:4e:d3: + 19:c5:ff:56:a7:b4:45:3f:7a:9e:fa:d0:39:3e:80:46:75:5d: + 5a:79:7a:33:c5:01:bc:02:44:ce:1b:c0:31:4e:47:96:15:6e: + e7:e4:76:f0:c2:90:0d:a1:78:f4:38:00:91:2b:65:7c:79:13: + a8:3e:91:14:dc:88:05:08:d7:6f:53:f6:15:43:ee:c5:53:56: + 1a:02:b5:a6:a2:46:8d:1e:13:e4:67:c2:45:5f:40:5e:10:42: + 58:b5:cd:44:a3:94:4c:1c:54:90:4d:91:9a:26:8b:ad:a2:80: + 50:8d:14:14 +-----BEGIN CERTIFICATE----- +MIIEKzCCAxOgAwIBAgISESCW9sgDfJ4HsTi/LnIQitftMA0GCSqGSIb3DQEBBQUA +MD0xCzAJBgNVBAYTAkZSMREwDwYDVQQKEwhDZXJ0cGx1czEbMBkGA1UEAxMSQ2xh +c3MgMiBQcmltYXJ5IENBMB4XDTA3MDYwNTAwMDAwMFoXDTE5MDYyMDAwMDAwMFow +QDELMAkGA1UEBhMCRlIxEjAQBgNVBAoTCUtFWU5FQ1RJUzEdMBsGA1UEAxMUQ0xB +U1MgMiBLRVlORUNUSVMgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQDGvv5EIwTU7y87hqo1WIHR4ZrWsdQnRSj80R5GhbpUIxF94GY/1KNXZnj5a+t0 +fCq4N6XocK6CtU7Ugf5b4urnIhb4+de6OvaIVtzE8qCk5XUGYHIr+/WU7iyDKN6R +mrODOrCfCPrd2J6MJObfZlvIfqNiTT86hSPs6HGPCgCsiW1+2HLl3cGUjl/kc+bB +xgyHWE832tGpiCZ2tO4Rjfatsqe8c8TNHG4a5o1yVkSgmPeS+dd5mwPmaF+kXHw9 +ULSDzOWsDeE+TxTytOR9v3Gkw5dzONZSfMikterpslRW1Ou4VzpAUlpeRiejezAt +CD2FHprwMqjyEKKDm+Io9p3LAgMBAAGjggEgMIIBHDASBgNVHRMBAf8ECDAGAQH/ +AgEAMH0GA1UdIAR2MHQwOAYLKwYEAYGtWgIFAwMwKTAnBggrBgEFBQcCARYbaHR0 +cDovL3d3dy5rZXluZWN0aXMuY29tL1BDMDgGCysGBAGBrVoCBQEDMCkwJwYIKwYB +BQUHAgEWG2h0dHA6Ly93d3cua2V5bmVjdGlzLmNvbS9QQzA3BgNVHR8EMDAuMCyg +KqAohiZodHRwOi8vd3d3LmNlcnRwbHVzLmNvbS9DUkwvY2xhc3MyLmNybDAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFAARQd87nTvLuKLBM5KogczlfeeZMB8GA1Ud +IwQYMBaAFONzLd/LDigM3t2zpMp5uI676DCJMA0GCSqGSIb3DQEBBQUAA4IBAQAI +iP4fosrN4qDxLnxnSfvclKx/QQ14Abox95v7MRh3L2YllLhtFnSB8cCuZ8YURXoB +0ROI/OKNIh29HgzHqX7Qw5f2N1tBXmeUjqtpAhcY9U04wkkoCW5am6Yn28Bfj0Sc +kGWZ2LMuwZLuGp0PckUg+iwMnF3NW1RBVE/T4sdZhD8Xe30Owu9ix7qxJmyDTtMZ +xf9Wp7RFP3qe+tA5PoBGdV1aeXozxQG8AkTOG8AxTkeWFW7n5HbwwpANoXj0OACR +K2V8eROoPpEU3IgFCNdvU/YVQ+7FU1YaArWmokaNHhPkZ8JFX0BeEEJYtc1Eo5RM +HFSQTZGaJoutooBQjRQU +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_7[] = { + 0x30, 0x82, 0x04, 0x2b, 0x30, 0x82, 0x03, 0x13, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x12, 0x11, 0x20, 0x96, 0xf6, 0xc8, 0x03, 0x7c, 0x9e, 0x07, + 0xb1, 0x38, 0xbf, 0x2e, 0x72, 0x10, 0x8a, 0xd7, 0xed, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, + 0x30, 0x3d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x46, 0x52, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x08, 0x43, 0x65, 0x72, 0x74, 0x70, 0x6c, 0x75, 0x73, 0x31, 0x1b, + 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x20, 0x32, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x37, 0x30, 0x36, 0x30, + 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x39, + 0x30, 0x36, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, + 0x40, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x46, 0x52, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x09, 0x4b, 0x45, 0x59, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x53, 0x31, 0x1d, + 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x43, 0x4c, 0x41, + 0x53, 0x53, 0x20, 0x32, 0x20, 0x4b, 0x45, 0x59, 0x4e, 0x45, 0x43, 0x54, + 0x49, 0x53, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xc6, 0xbe, 0xfe, 0x44, 0x23, 0x04, 0xd4, 0xef, 0x2f, 0x3b, + 0x86, 0xaa, 0x35, 0x58, 0x81, 0xd1, 0xe1, 0x9a, 0xd6, 0xb1, 0xd4, 0x27, + 0x45, 0x28, 0xfc, 0xd1, 0x1e, 0x46, 0x85, 0xba, 0x54, 0x23, 0x11, 0x7d, + 0xe0, 0x66, 0x3f, 0xd4, 0xa3, 0x57, 0x66, 0x78, 0xf9, 0x6b, 0xeb, 0x74, + 0x7c, 0x2a, 0xb8, 0x37, 0xa5, 0xe8, 0x70, 0xae, 0x82, 0xb5, 0x4e, 0xd4, + 0x81, 0xfe, 0x5b, 0xe2, 0xea, 0xe7, 0x22, 0x16, 0xf8, 0xf9, 0xd7, 0xba, + 0x3a, 0xf6, 0x88, 0x56, 0xdc, 0xc4, 0xf2, 0xa0, 0xa4, 0xe5, 0x75, 0x06, + 0x60, 0x72, 0x2b, 0xfb, 0xf5, 0x94, 0xee, 0x2c, 0x83, 0x28, 0xde, 0x91, + 0x9a, 0xb3, 0x83, 0x3a, 0xb0, 0x9f, 0x08, 0xfa, 0xdd, 0xd8, 0x9e, 0x8c, + 0x24, 0xe6, 0xdf, 0x66, 0x5b, 0xc8, 0x7e, 0xa3, 0x62, 0x4d, 0x3f, 0x3a, + 0x85, 0x23, 0xec, 0xe8, 0x71, 0x8f, 0x0a, 0x00, 0xac, 0x89, 0x6d, 0x7e, + 0xd8, 0x72, 0xe5, 0xdd, 0xc1, 0x94, 0x8e, 0x5f, 0xe4, 0x73, 0xe6, 0xc1, + 0xc6, 0x0c, 0x87, 0x58, 0x4f, 0x37, 0xda, 0xd1, 0xa9, 0x88, 0x26, 0x76, + 0xb4, 0xee, 0x11, 0x8d, 0xf6, 0xad, 0xb2, 0xa7, 0xbc, 0x73, 0xc4, 0xcd, + 0x1c, 0x6e, 0x1a, 0xe6, 0x8d, 0x72, 0x56, 0x44, 0xa0, 0x98, 0xf7, 0x92, + 0xf9, 0xd7, 0x79, 0x9b, 0x03, 0xe6, 0x68, 0x5f, 0xa4, 0x5c, 0x7c, 0x3d, + 0x50, 0xb4, 0x83, 0xcc, 0xe5, 0xac, 0x0d, 0xe1, 0x3e, 0x4f, 0x14, 0xf2, + 0xb4, 0xe4, 0x7d, 0xbf, 0x71, 0xa4, 0xc3, 0x97, 0x73, 0x38, 0xd6, 0x52, + 0x7c, 0xc8, 0xa4, 0xb5, 0xea, 0xe9, 0xb2, 0x54, 0x56, 0xd4, 0xeb, 0xb8, + 0x57, 0x3a, 0x40, 0x52, 0x5a, 0x5e, 0x46, 0x27, 0xa3, 0x7b, 0x30, 0x2d, + 0x08, 0x3d, 0x85, 0x1e, 0x9a, 0xf0, 0x32, 0xa8, 0xf2, 0x10, 0xa2, 0x83, + 0x9b, 0xe2, 0x28, 0xf6, 0x9d, 0xcb, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, + 0x82, 0x01, 0x20, 0x30, 0x82, 0x01, 0x1c, 0x30, 0x12, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, + 0x02, 0x01, 0x00, 0x30, 0x7d, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x76, + 0x30, 0x74, 0x30, 0x38, 0x06, 0x0b, 0x2b, 0x06, 0x04, 0x01, 0x81, 0xad, + 0x5a, 0x02, 0x05, 0x03, 0x03, 0x30, 0x29, 0x30, 0x27, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1b, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6b, 0x65, 0x79, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x43, + 0x30, 0x38, 0x06, 0x0b, 0x2b, 0x06, 0x04, 0x01, 0x81, 0xad, 0x5a, 0x02, + 0x05, 0x01, 0x03, 0x30, 0x29, 0x30, 0x27, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6b, 0x65, 0x79, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x43, 0x30, 0x37, + 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x30, 0x30, 0x2e, 0x30, 0x2c, 0xa0, + 0x2a, 0xa0, 0x28, 0x86, 0x26, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x63, 0x65, 0x72, 0x74, 0x70, 0x6c, 0x75, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x52, 0x4c, 0x2f, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x00, 0x11, + 0x41, 0xdf, 0x3b, 0x9d, 0x3b, 0xcb, 0xb8, 0xa2, 0xc1, 0x33, 0x92, 0xa8, + 0x81, 0xcc, 0xe5, 0x7d, 0xe7, 0x99, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe3, 0x73, 0x2d, 0xdf, 0xcb, + 0x0e, 0x28, 0x0c, 0xde, 0xdd, 0xb3, 0xa4, 0xca, 0x79, 0xb8, 0x8e, 0xbb, + 0xe8, 0x30, 0x89, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x08, + 0x88, 0xfe, 0x1f, 0xa2, 0xca, 0xcd, 0xe2, 0xa0, 0xf1, 0x2e, 0x7c, 0x67, + 0x49, 0xfb, 0xdc, 0x94, 0xac, 0x7f, 0x41, 0x0d, 0x78, 0x01, 0xba, 0x31, + 0xf7, 0x9b, 0xfb, 0x31, 0x18, 0x77, 0x2f, 0x66, 0x25, 0x94, 0xb8, 0x6d, + 0x16, 0x74, 0x81, 0xf1, 0xc0, 0xae, 0x67, 0xc6, 0x14, 0x45, 0x7a, 0x01, + 0xd1, 0x13, 0x88, 0xfc, 0xe2, 0x8d, 0x22, 0x1d, 0xbd, 0x1e, 0x0c, 0xc7, + 0xa9, 0x7e, 0xd0, 0xc3, 0x97, 0xf6, 0x37, 0x5b, 0x41, 0x5e, 0x67, 0x94, + 0x8e, 0xab, 0x69, 0x02, 0x17, 0x18, 0xf5, 0x4d, 0x38, 0xc2, 0x49, 0x28, + 0x09, 0x6e, 0x5a, 0x9b, 0xa6, 0x27, 0xdb, 0xc0, 0x5f, 0x8f, 0x44, 0x9c, + 0x90, 0x65, 0x99, 0xd8, 0xb3, 0x2e, 0xc1, 0x92, 0xee, 0x1a, 0x9d, 0x0f, + 0x72, 0x45, 0x20, 0xfa, 0x2c, 0x0c, 0x9c, 0x5d, 0xcd, 0x5b, 0x54, 0x41, + 0x54, 0x4f, 0xd3, 0xe2, 0xc7, 0x59, 0x84, 0x3f, 0x17, 0x7b, 0x7d, 0x0e, + 0xc2, 0xef, 0x62, 0xc7, 0xba, 0xb1, 0x26, 0x6c, 0x83, 0x4e, 0xd3, 0x19, + 0xc5, 0xff, 0x56, 0xa7, 0xb4, 0x45, 0x3f, 0x7a, 0x9e, 0xfa, 0xd0, 0x39, + 0x3e, 0x80, 0x46, 0x75, 0x5d, 0x5a, 0x79, 0x7a, 0x33, 0xc5, 0x01, 0xbc, + 0x02, 0x44, 0xce, 0x1b, 0xc0, 0x31, 0x4e, 0x47, 0x96, 0x15, 0x6e, 0xe7, + 0xe4, 0x76, 0xf0, 0xc2, 0x90, 0x0d, 0xa1, 0x78, 0xf4, 0x38, 0x00, 0x91, + 0x2b, 0x65, 0x7c, 0x79, 0x13, 0xa8, 0x3e, 0x91, 0x14, 0xdc, 0x88, 0x05, + 0x08, 0xd7, 0x6f, 0x53, 0xf6, 0x15, 0x43, 0xee, 0xc5, 0x53, 0x56, 0x1a, + 0x02, 0xb5, 0xa6, 0xa2, 0x46, 0x8d, 0x1e, 0x13, 0xe4, 0x67, 0xc2, 0x45, + 0x5f, 0x40, 0x5e, 0x10, 0x42, 0x58, 0xb5, 0xcd, 0x44, 0xa3, 0x94, 0x4c, + 0x1c, 0x54, 0x90, 0x4d, 0x91, 0x9a, 0x26, 0x8b, 0xad, 0xa2, 0x80, 0x50, + 0x8d, 0x14, 0x14, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120024505 (0x7276db9) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root + Validity + Not Before: Nov 30 16:35:21 2010 GMT + Not After : Aug 10 15:34:26 2018 GMT + Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79: + d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a: + 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2: + 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01: + 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7: + 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6: + 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c: + a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70: + 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77: + d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae: + 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18: + 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85: + ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9: + 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5: + c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a: + ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0: + 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27: + 1a:39 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:3 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://cybertrust.omniroot.com/repository.cfm + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Authority Key Identifier: + DirName:/C=US/O=GTE Corporation/OU=GTE CyberTrust Solutions, Inc./CN=GTE CyberTrust Global Root + serial:01:A5 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://www.public-trust.com/cgi-bin/CRL/2018/cdp.crl + + X509v3 Subject Key Identifier: + E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 + Signature Algorithm: sha1WithRSAEncryption + 16:b4:2c:c9:f1:5e:e1:a2:7b:9b:78:20:7a:4a:70:70:86:19: + 00:b7:05:2a:e8:c9:25:39:0f:c3:64:3c:75:09:d9:89:15:80: + 07:c2:8d:bc:29:a5:64:50:cf:71:75:47:23:bd:4d:d8:7f:77: + 9a:51:10:6e:4e:1f:20:3c:47:9c:43:74:7f:96:84:10:4c:13: + 43:be:f8:e0:72:2e:ff:bf:ae:3c:0a:03:60:82:4b:6f:f9:9a: + c5:1e:f6:af:90:3b:9f:61:3b:3e:de:9b:05:1a:c6:2c:3c:57: + 21:08:0f:54:fa:28:63:6c:e8:1b:9c:0f:cf:dd:30:44:13:b9: + 57:fe +-----BEGIN CERTIFICATE----- +MIIEODCCA6GgAwIBAgIEBydtuTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV +UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU +cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds +b2JhbCBSb290MB4XDTEwMTEzMDE2MzUyMVoXDTE4MDgxMDE1MzQyNlowWjELMAkG +A1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVz +dDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKrmD1X6CZymrV51Cni4eiVgLGw41uO +KymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsBUnuId9Mcj8e6uYi1agnn +c+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/CG9VwcPCP +wBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPg +kAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFc +B5kpvcY67Oduhjprl3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaOCAWow +ggFmMBIGA1UdEwEB/wQIMAYBAf8CAQMwTgYDVR0gBEcwRTBDBgRVHSAAMDswOQYI +KwYBBQUHAgEWLWh0dHA6Ly9jeWJlcnRydXN0Lm9tbmlyb290LmNvbS9yZXBvc2l0 +b3J5LmNmbTAOBgNVHQ8BAf8EBAMCAQYwgYkGA1UdIwSBgTB/oXmkdzB1MQswCQYD +VQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUg +Q3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRy +dXN0IEdsb2JhbCBSb290ggIBpTBFBgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vd3d3 +LnB1YmxpYy10cnVzdC5jb20vY2dpLWJpbi9DUkwvMjAxOC9jZHAuY3JsMB0GA1Ud +DgQWBBTlnVkwgkdYzKz6CFQ2hns6tQRN8DANBgkqhkiG9w0BAQUFAAOBgQAWtCzJ +8V7honubeCB6SnBwhhkAtwUq6MklOQ/DZDx1CdmJFYAHwo28KaVkUM9xdUcjvU3Y +f3eaURBuTh8gPEecQ3R/loQQTBNDvvjgci7/v648CgNggktv+ZrFHvavkDufYTs+ +3psFGsYsPFchCA9U+ihjbOgbnA/P3TBEE7lX/g== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_8[] = { + 0x30, 0x82, 0x04, 0x38, 0x30, 0x82, 0x03, 0xa1, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0x6d, 0xb9, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x75, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0f, + 0x47, 0x54, 0x45, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x1e, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x53, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x23, 0x30, 0x21, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x47, 0x54, 0x45, 0x20, 0x43, + 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x30, 0x31, 0x31, 0x33, 0x30, 0x31, 0x36, 0x33, 0x35, 0x32, + 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x38, 0x31, 0x30, 0x31, 0x35, + 0x33, 0x34, 0x32, 0x36, 0x5a, 0x30, 0x5a, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, 0x45, 0x31, 0x12, 0x30, 0x10, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, 0x42, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x43, 0x79, + 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6f, + 0x74, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, + 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa3, 0x04, + 0xbb, 0x22, 0xab, 0x98, 0x3d, 0x57, 0xe8, 0x26, 0x72, 0x9a, 0xb5, 0x79, + 0xd4, 0x29, 0xe2, 0xe1, 0xe8, 0x95, 0x80, 0xb1, 0xb0, 0xe3, 0x5b, 0x8e, + 0x2b, 0x29, 0x9a, 0x64, 0xdf, 0xa1, 0x5d, 0xed, 0xb0, 0x09, 0x05, 0x6d, + 0xdb, 0x28, 0x2e, 0xce, 0x62, 0xa2, 0x62, 0xfe, 0xb4, 0x88, 0xda, 0x12, + 0xeb, 0x38, 0xeb, 0x21, 0x9d, 0xc0, 0x41, 0x2b, 0x01, 0x52, 0x7b, 0x88, + 0x77, 0xd3, 0x1c, 0x8f, 0xc7, 0xba, 0xb9, 0x88, 0xb5, 0x6a, 0x09, 0xe7, + 0x73, 0xe8, 0x11, 0x40, 0xa7, 0xd1, 0xcc, 0xca, 0x62, 0x8d, 0x2d, 0xe5, + 0x8f, 0x0b, 0xa6, 0x50, 0xd2, 0xa8, 0x50, 0xc3, 0x28, 0xea, 0xf5, 0xab, + 0x25, 0x87, 0x8a, 0x9a, 0x96, 0x1c, 0xa9, 0x67, 0xb8, 0x3f, 0x0c, 0xd5, + 0xf7, 0xf9, 0x52, 0x13, 0x2f, 0xc2, 0x1b, 0xd5, 0x70, 0x70, 0xf0, 0x8f, + 0xc0, 0x12, 0xca, 0x06, 0xcb, 0x9a, 0xe1, 0xd9, 0xca, 0x33, 0x7a, 0x77, + 0xd6, 0xf8, 0xec, 0xb9, 0xf1, 0x68, 0x44, 0x42, 0x48, 0x13, 0xd2, 0xc0, + 0xc2, 0xa4, 0xae, 0x5e, 0x60, 0xfe, 0xb6, 0xa6, 0x05, 0xfc, 0xb4, 0xdd, + 0x07, 0x59, 0x02, 0xd4, 0x59, 0x18, 0x98, 0x63, 0xf5, 0xa5, 0x63, 0xe0, + 0x90, 0x0c, 0x7d, 0x5d, 0xb2, 0x06, 0x7a, 0xf3, 0x85, 0xea, 0xeb, 0xd4, + 0x03, 0xae, 0x5e, 0x84, 0x3e, 0x5f, 0xff, 0x15, 0xed, 0x69, 0xbc, 0xf9, + 0x39, 0x36, 0x72, 0x75, 0xcf, 0x77, 0x52, 0x4d, 0xf3, 0xc9, 0x90, 0x2c, + 0xb9, 0x3d, 0xe5, 0xc9, 0x23, 0x53, 0x3f, 0x1f, 0x24, 0x98, 0x21, 0x5c, + 0x07, 0x99, 0x29, 0xbd, 0xc6, 0x3a, 0xec, 0xe7, 0x6e, 0x86, 0x3a, 0x6b, + 0x97, 0x74, 0x63, 0x33, 0xbd, 0x68, 0x18, 0x31, 0xf0, 0x78, 0x8d, 0x76, + 0xbf, 0xfc, 0x9e, 0x8e, 0x5d, 0x2a, 0x86, 0xa7, 0x4d, 0x90, 0xdc, 0x27, + 0x1a, 0x39, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x6a, 0x30, + 0x82, 0x01, 0x66, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x03, 0x30, + 0x4e, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x47, 0x30, 0x45, 0x30, 0x43, + 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x3b, 0x30, 0x39, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x2d, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x63, 0x66, 0x6d, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, + 0x81, 0x89, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x81, 0x81, 0x30, 0x7f, + 0xa1, 0x79, 0xa4, 0x77, 0x30, 0x75, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, + 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0f, 0x47, 0x54, 0x45, 0x20, 0x43, 0x6f, + 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x27, 0x30, + 0x25, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1e, 0x47, 0x54, 0x45, 0x20, + 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x53, + 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x1a, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, + 0x6f, 0x6f, 0x74, 0x82, 0x02, 0x01, 0xa5, 0x30, 0x45, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x3e, 0x30, 0x3c, 0x30, 0x3a, 0xa0, 0x38, 0xa0, 0x36, + 0x86, 0x34, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, + 0x6e, 0x2f, 0x43, 0x52, 0x4c, 0x2f, 0x32, 0x30, 0x31, 0x38, 0x2f, 0x63, + 0x64, 0x70, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0xe5, 0x9d, 0x59, 0x30, 0x82, 0x47, 0x58, + 0xcc, 0xac, 0xfa, 0x08, 0x54, 0x36, 0x86, 0x7b, 0x3a, 0xb5, 0x04, 0x4d, + 0xf0, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x16, 0xb4, 0x2c, 0xc9, + 0xf1, 0x5e, 0xe1, 0xa2, 0x7b, 0x9b, 0x78, 0x20, 0x7a, 0x4a, 0x70, 0x70, + 0x86, 0x19, 0x00, 0xb7, 0x05, 0x2a, 0xe8, 0xc9, 0x25, 0x39, 0x0f, 0xc3, + 0x64, 0x3c, 0x75, 0x09, 0xd9, 0x89, 0x15, 0x80, 0x07, 0xc2, 0x8d, 0xbc, + 0x29, 0xa5, 0x64, 0x50, 0xcf, 0x71, 0x75, 0x47, 0x23, 0xbd, 0x4d, 0xd8, + 0x7f, 0x77, 0x9a, 0x51, 0x10, 0x6e, 0x4e, 0x1f, 0x20, 0x3c, 0x47, 0x9c, + 0x43, 0x74, 0x7f, 0x96, 0x84, 0x10, 0x4c, 0x13, 0x43, 0xbe, 0xf8, 0xe0, + 0x72, 0x2e, 0xff, 0xbf, 0xae, 0x3c, 0x0a, 0x03, 0x60, 0x82, 0x4b, 0x6f, + 0xf9, 0x9a, 0xc5, 0x1e, 0xf6, 0xaf, 0x90, 0x3b, 0x9f, 0x61, 0x3b, 0x3e, + 0xde, 0x9b, 0x05, 0x1a, 0xc6, 0x2c, 0x3c, 0x57, 0x21, 0x08, 0x0f, 0x54, + 0xfa, 0x28, 0x63, 0x6c, 0xe8, 0x1b, 0x9c, 0x0f, 0xcf, 0xdd, 0x30, 0x44, + 0x13, 0xb9, 0x57, 0xfe, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146040 (0x23a78) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Aug 29 22:24:58 2014 GMT + Not After : May 20 22:24:58 2022 GMT + Subject: C=US, O=GeoTrust Inc., OU=Domain Validated SSL, CN=GeoTrust DV SSL CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:df:41:94:7a:da:f7:e4:31:43:b6:ea:01:1b:5c: + ce:63:ea:fa:6d:a3:d9:6a:ee:2d:9a:75:f9:d5:9c: + 5b:bd:34:df:d8:1c:c9:6d:d8:04:88:da:6e:b5:b7: + b5:f0:30:ae:40:d6:5d:fa:c4:53:c1:d4:22:9d:04: + 4e:11:a6:95:d5:45:7c:41:05:58:e0:4c:dd:f9:ee: + 55:bd:5f:46:dc:ad:13:08:9d:2c:e4:f7:82:e6:07: + 2b:9e:0e:8c:34:a1:ce:c4:a1:e0:81:70:86:00:06: + 3f:2d:ea:7c:9b:28:ae:1b:28:8b:39:09:d3:e7:f0: + 45:a4:b1:ba:11:67:90:55:7b:8f:de:ed:38:5c:a1: + e1:e3:83:c4:c3:72:91:4f:98:ee:1c:c2:80:aa:64: + a5:3e:83:62:1c:cc:e0:9e:f8:5a:c0:13:12:7d:a2: + a7:8b:a3:e7:9f:2a:d7:9b:ca:cb:ed:97:01:9c:28: + 84:51:04:50:41:bc:b4:fc:78:e9:1b:cf:14:ea:1f: + 0f:fc:2e:01:32:8d:b6:35:cb:0a:18:3b:ec:5a:3e: + 3c:1b:d3:99:43:1e:2f:f7:bd:f3:5b:12:b9:07:5e: + ed:3e:d1:a9:87:cc:77:72:27:d4:d9:75:a2:63:4b: + 93:36:bd:e5:5c:d7:bf:5f:79:0d:b3:32:a7:0b:b2: + 63:23 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + 0B:50:EC:77:EF:2A:9B:FF:EC:03:A1:0A:FF:AD:C6:E4:2A:18:C7:3E + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + Signature Algorithm: sha256WithRSAEncryption + 33:24:d5:90:aa:29:0c:35:b9:2f:c3:c7:42:93:c0:c6:10:4b: + 03:08:76:84:10:a2:e0:e7:53:12:27:f2:0a:da:7f:3a:dc:fd: + 5c:79:5a:8f:17:74:43:53:b1:d5:d1:5d:59:b9:a6:84:64:ca: + f1:3a:0a:59:96:10:bf:a9:81:57:8b:5c:87:dc:7f:e3:e4:bb: + 05:7a:a0:32:09:13:4e:10:81:28:1f:9c:03:62:bc:f4:01:b5: + 29:83:46:07:b9:e7:b8:5d:c8:e9:d1:dd:ad:3b:f8:34:db:c1: + d1:95:a9:91:18:ed:3c:2c:37:11:4d:cc:fe:53:3e:50:43:f9: + c3:56:41:ac:53:9b:6c:05:b2:9a:e2:e0:59:57:30:32:b6:26: + 4e:13:25:cd:fa:48:70:0f:75:55:60:11:f5:3b:d5:5e:5a:3c: + 8b:5b:0f:0f:62:42:48:61:85:8b:10:f4:c1:88:bf:7f:5f:8a: + c2:d7:cd:2b:94:5c:1f:34:4a:08:af:eb:ae:89:a8:48:75:55: + 95:1d:bb:c0:9a:01:b9:f4:03:22:3e:d4:e6:52:30:0d:67:b9: + c0:91:fd:2d:4c:30:8e:bd:8c:a5:04:91:bb:a4:ab:7f:0f:d8: + 6f:f0:66:00:c9:a3:5c:f5:b0:8f:83:e6:9c:5a:e6:b6:b9:c5: + bc:be:e4:02 +-----BEGIN CERTIFICATE----- +MIIERDCCAyygAwIBAgIDAjp4MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTQwODI5MjIyNDU4WhcNMjIwNTIwMjIyNDU4WjBmMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UECxMURG9tYWluIFZh +bGlkYXRlZCBTU0wxIDAeBgNVBAMTF0dlb1RydXN0IERWIFNTTCBDQSAtIEc0MIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA30GUetr35DFDtuoBG1zOY+r6 +baPZau4tmnX51ZxbvTTf2BzJbdgEiNputbe18DCuQNZd+sRTwdQinQROEaaV1UV8 +QQVY4Ezd+e5VvV9G3K0TCJ0s5PeC5gcrng6MNKHOxKHggXCGAAY/Lep8myiuGyiL +OQnT5/BFpLG6EWeQVXuP3u04XKHh44PEw3KRT5juHMKAqmSlPoNiHMzgnvhawBMS +faKni6PnnyrXm8rL7ZcBnCiEUQRQQby0/HjpG88U6h8P/C4BMo22NcsKGDvsWj48 +G9OZQx4v973zWxK5B17tPtGph8x3cifU2XWiY0uTNr3lXNe/X3kNszKnC7JjIwID +AQABo4IBHTCCARkwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwRfap9ZbjKzE4wHQYD +VR0OBBYEFAtQ7HfvKpv/7AOhCv+txuQqGMc+MBIGA1UdEwEB/wQIMAYBAf8CAQAw +DgYDVR0PAQH/BAQDAgEGMDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9nLnN5bWNi +LmNvbS9jcmxzL2d0Z2xvYmFsLmNybDAuBggrBgEFBQcBAQQiMCAwHgYIKwYBBQUH +MAGGEmh0dHA6Ly9nLnN5bWNkLmNvbTBMBgNVHSAERTBDMEEGCmCGSAGG+EUBBzYw +MzAxBggrBgEFBQcCARYlaHR0cDovL3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2Vz +L2NwczANBgkqhkiG9w0BAQsFAAOCAQEAMyTVkKopDDW5L8PHQpPAxhBLAwh2hBCi +4OdTEifyCtp/Otz9XHlajxd0Q1Ox1dFdWbmmhGTK8ToKWZYQv6mBV4tch9x/4+S7 +BXqgMgkTThCBKB+cA2K89AG1KYNGB7nnuF3I6dHdrTv4NNvB0ZWpkRjtPCw3EU3M +/lM+UEP5w1ZBrFObbAWymuLgWVcwMrYmThMlzfpIcA91VWAR9TvVXlo8i1sPD2JC +SGGFixD0wYi/f1+KwtfNK5RcHzRKCK/rromoSHVVlR27wJoBufQDIj7U5lIwDWe5 +wJH9LUwwjr2MpQSRu6Srfw/Yb/BmAMmjXPWwj4PmnFrmtrnFvL7kAg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_9[] = { + 0x30, 0x82, 0x04, 0x44, 0x30, 0x82, 0x03, 0x2c, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x78, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, + 0x38, 0x32, 0x39, 0x32, 0x32, 0x32, 0x34, 0x35, 0x38, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x32, 0x32, 0x34, 0x35, 0x38, + 0x5a, 0x30, 0x66, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x14, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x53, 0x53, 0x4c, 0x31, + 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x17, 0x47, 0x65, + 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x44, 0x56, 0x20, 0x53, 0x53, + 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x34, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xdf, 0x41, 0x94, 0x7a, 0xda, 0xf7, + 0xe4, 0x31, 0x43, 0xb6, 0xea, 0x01, 0x1b, 0x5c, 0xce, 0x63, 0xea, 0xfa, + 0x6d, 0xa3, 0xd9, 0x6a, 0xee, 0x2d, 0x9a, 0x75, 0xf9, 0xd5, 0x9c, 0x5b, + 0xbd, 0x34, 0xdf, 0xd8, 0x1c, 0xc9, 0x6d, 0xd8, 0x04, 0x88, 0xda, 0x6e, + 0xb5, 0xb7, 0xb5, 0xf0, 0x30, 0xae, 0x40, 0xd6, 0x5d, 0xfa, 0xc4, 0x53, + 0xc1, 0xd4, 0x22, 0x9d, 0x04, 0x4e, 0x11, 0xa6, 0x95, 0xd5, 0x45, 0x7c, + 0x41, 0x05, 0x58, 0xe0, 0x4c, 0xdd, 0xf9, 0xee, 0x55, 0xbd, 0x5f, 0x46, + 0xdc, 0xad, 0x13, 0x08, 0x9d, 0x2c, 0xe4, 0xf7, 0x82, 0xe6, 0x07, 0x2b, + 0x9e, 0x0e, 0x8c, 0x34, 0xa1, 0xce, 0xc4, 0xa1, 0xe0, 0x81, 0x70, 0x86, + 0x00, 0x06, 0x3f, 0x2d, 0xea, 0x7c, 0x9b, 0x28, 0xae, 0x1b, 0x28, 0x8b, + 0x39, 0x09, 0xd3, 0xe7, 0xf0, 0x45, 0xa4, 0xb1, 0xba, 0x11, 0x67, 0x90, + 0x55, 0x7b, 0x8f, 0xde, 0xed, 0x38, 0x5c, 0xa1, 0xe1, 0xe3, 0x83, 0xc4, + 0xc3, 0x72, 0x91, 0x4f, 0x98, 0xee, 0x1c, 0xc2, 0x80, 0xaa, 0x64, 0xa5, + 0x3e, 0x83, 0x62, 0x1c, 0xcc, 0xe0, 0x9e, 0xf8, 0x5a, 0xc0, 0x13, 0x12, + 0x7d, 0xa2, 0xa7, 0x8b, 0xa3, 0xe7, 0x9f, 0x2a, 0xd7, 0x9b, 0xca, 0xcb, + 0xed, 0x97, 0x01, 0x9c, 0x28, 0x84, 0x51, 0x04, 0x50, 0x41, 0xbc, 0xb4, + 0xfc, 0x78, 0xe9, 0x1b, 0xcf, 0x14, 0xea, 0x1f, 0x0f, 0xfc, 0x2e, 0x01, + 0x32, 0x8d, 0xb6, 0x35, 0xcb, 0x0a, 0x18, 0x3b, 0xec, 0x5a, 0x3e, 0x3c, + 0x1b, 0xd3, 0x99, 0x43, 0x1e, 0x2f, 0xf7, 0xbd, 0xf3, 0x5b, 0x12, 0xb9, + 0x07, 0x5e, 0xed, 0x3e, 0xd1, 0xa9, 0x87, 0xcc, 0x77, 0x72, 0x27, 0xd4, + 0xd9, 0x75, 0xa2, 0x63, 0x4b, 0x93, 0x36, 0xbd, 0xe5, 0x5c, 0xd7, 0xbf, + 0x5f, 0x79, 0x0d, 0xb3, 0x32, 0xa7, 0x0b, 0xb2, 0x63, 0x23, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x1d, 0x30, 0x82, 0x01, 0x19, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, 0x0c, 0x11, + 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x0b, 0x50, 0xec, 0x77, 0xef, + 0x2a, 0x9b, 0xff, 0xec, 0x03, 0xa1, 0x0a, 0xff, 0xad, 0xc6, 0xe4, 0x2a, + 0x18, 0xc7, 0x3e, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x35, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2e, + 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, 0x26, 0x86, 0x24, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x67, 0x74, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x2e, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x22, + 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, + 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4c, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, + 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, 0x36, 0x30, + 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, + 0x33, 0x24, 0xd5, 0x90, 0xaa, 0x29, 0x0c, 0x35, 0xb9, 0x2f, 0xc3, 0xc7, + 0x42, 0x93, 0xc0, 0xc6, 0x10, 0x4b, 0x03, 0x08, 0x76, 0x84, 0x10, 0xa2, + 0xe0, 0xe7, 0x53, 0x12, 0x27, 0xf2, 0x0a, 0xda, 0x7f, 0x3a, 0xdc, 0xfd, + 0x5c, 0x79, 0x5a, 0x8f, 0x17, 0x74, 0x43, 0x53, 0xb1, 0xd5, 0xd1, 0x5d, + 0x59, 0xb9, 0xa6, 0x84, 0x64, 0xca, 0xf1, 0x3a, 0x0a, 0x59, 0x96, 0x10, + 0xbf, 0xa9, 0x81, 0x57, 0x8b, 0x5c, 0x87, 0xdc, 0x7f, 0xe3, 0xe4, 0xbb, + 0x05, 0x7a, 0xa0, 0x32, 0x09, 0x13, 0x4e, 0x10, 0x81, 0x28, 0x1f, 0x9c, + 0x03, 0x62, 0xbc, 0xf4, 0x01, 0xb5, 0x29, 0x83, 0x46, 0x07, 0xb9, 0xe7, + 0xb8, 0x5d, 0xc8, 0xe9, 0xd1, 0xdd, 0xad, 0x3b, 0xf8, 0x34, 0xdb, 0xc1, + 0xd1, 0x95, 0xa9, 0x91, 0x18, 0xed, 0x3c, 0x2c, 0x37, 0x11, 0x4d, 0xcc, + 0xfe, 0x53, 0x3e, 0x50, 0x43, 0xf9, 0xc3, 0x56, 0x41, 0xac, 0x53, 0x9b, + 0x6c, 0x05, 0xb2, 0x9a, 0xe2, 0xe0, 0x59, 0x57, 0x30, 0x32, 0xb6, 0x26, + 0x4e, 0x13, 0x25, 0xcd, 0xfa, 0x48, 0x70, 0x0f, 0x75, 0x55, 0x60, 0x11, + 0xf5, 0x3b, 0xd5, 0x5e, 0x5a, 0x3c, 0x8b, 0x5b, 0x0f, 0x0f, 0x62, 0x42, + 0x48, 0x61, 0x85, 0x8b, 0x10, 0xf4, 0xc1, 0x88, 0xbf, 0x7f, 0x5f, 0x8a, + 0xc2, 0xd7, 0xcd, 0x2b, 0x94, 0x5c, 0x1f, 0x34, 0x4a, 0x08, 0xaf, 0xeb, + 0xae, 0x89, 0xa8, 0x48, 0x75, 0x55, 0x95, 0x1d, 0xbb, 0xc0, 0x9a, 0x01, + 0xb9, 0xf4, 0x03, 0x22, 0x3e, 0xd4, 0xe6, 0x52, 0x30, 0x0d, 0x67, 0xb9, + 0xc0, 0x91, 0xfd, 0x2d, 0x4c, 0x30, 0x8e, 0xbd, 0x8c, 0xa5, 0x04, 0x91, + 0xbb, 0xa4, 0xab, 0x7f, 0x0f, 0xd8, 0x6f, 0xf0, 0x66, 0x00, 0xc9, 0xa3, + 0x5c, 0xf5, 0xb0, 0x8f, 0x83, 0xe6, 0x9c, 0x5a, 0xe6, 0xb6, 0xb9, 0xc5, + 0xbc, 0xbe, 0xe4, 0x02, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 33:65:50:08:79:ad:73:e2:30:b9:e0:1d:0d:7f:ac:91 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com + Validity + Not Before: Nov 17 00:00:00 2006 GMT + Not After : Dec 30 23:59:59 2020 GMT + Subject: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ac:a0:f0:fb:80:59:d4:9c:c7:a4:cf:9d:a1:59: + 73:09:10:45:0c:0d:2c:6e:68:f1:6c:5b:48:68:49: + 59:37:fc:0b:33:19:c2:77:7f:cc:10:2d:95:34:1c: + e6:eb:4d:09:a7:1c:d2:b8:c9:97:36:02:b7:89:d4: + 24:5f:06:c0:cc:44:94:94:8d:02:62:6f:eb:5a:dd: + 11:8d:28:9a:5c:84:90:10:7a:0d:bd:74:66:2f:6a: + 38:a0:e2:d5:54:44:eb:1d:07:9f:07:ba:6f:ee:e9: + fd:4e:0b:29:f5:3e:84:a0:01:f1:9c:ab:f8:1c:7e: + 89:a4:e8:a1:d8:71:65:0d:a3:51:7b:ee:bc:d2:22: + 60:0d:b9:5b:9d:df:ba:fc:51:5b:0b:af:98:b2:e9: + 2e:e9:04:e8:62:87:de:2b:c8:d7:4e:c1:4c:64:1e: + dd:cf:87:58:ba:4a:4f:ca:68:07:1d:1c:9d:4a:c6: + d5:2f:91:cc:7c:71:72:1c:c5:c0:67:eb:32:fd:c9: + 92:5c:94:da:85:c0:9b:bf:53:7d:2b:09:f4:8c:9d: + 91:1f:97:6a:52:cb:de:09:36:a4:77:d8:7b:87:50: + 44:d5:3e:6e:29:69:fb:39:49:26:1e:09:a5:80:7b: + 40:2d:eb:e8:27:85:c9:fe:61:fd:7e:e6:7c:97:1d: + d5:9d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.thawte.com/cps + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.thawte.com/ThawtePremiumServerCA.crl + + Signature Algorithm: sha1WithRSAEncryption + 84:a8:4c:c9:3e:2a:bc:9a:e2:cc:8f:0b:b2:25:77:c4:61:89: + 89:63:5a:d4:a3:15:40:d4:fb:5e:3f:b4:43:ea:63:17:2b:6b: + 99:74:9e:09:a8:dd:d4:56:15:2e:7a:79:31:5f:63:96:53:1b: + 34:d9:15:ea:4f:6d:70:ca:be:f6:82:a9:ed:da:85:77:cc:76: + 1c:6a:81:0a:21:d8:41:99:7f:5e:2e:82:c1:e8:aa:f7:93:81: + 05:aa:92:b4:1f:b7:9a:c0:07:17:f5:cb:c6:b4:4c:0e:d7:56: + dc:71:20:74:38:d6:74:c6:d6:8f:6b:af:8b:8d:a0:6c:29:0b: + 61:e0 +-----BEGIN CERTIFICATE----- +MIIERTCCA66gAwIBAgIQM2VQCHmtc+IwueAdDX+skTANBgkqhkiG9w0BAQUFADCB +zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ +Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE +CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh +d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl +cnZlckB0aGF3dGUuY29tMB4XDTA2MTExNzAwMDAwMFoXDTIwMTIzMDIzNTk1OVow +gakxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAsT +H0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAy +MDA2IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYD +VQQDExZ0aGF3dGUgUHJpbWFyeSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEArKDw+4BZ1JzHpM+doVlzCRBFDA0sbmjxbFtIaElZN/wLMxnC +d3/MEC2VNBzm600JpxzSuMmXNgK3idQkXwbAzESUlI0CYm/rWt0RjSiaXISQEHoN +vXRmL2o4oOLVVETrHQefB7pv7un9Tgsp9T6EoAHxnKv4HH6JpOih2HFlDaNRe+68 +0iJgDblbnd+6/FFbC6+Ysuku6QToYofeK8jXTsFMZB7dz4dYukpPymgHHRydSsbV +L5HMfHFyHMXAZ+sy/cmSXJTahcCbv1N9Kwn0jJ2RH5dqUsveCTakd9h7h1BE1T5u +KWn7OUkmHgmlgHtALevoJ4XJ/mH9fuZ8lx3VnQIDAQABo4HCMIG/MA8GA1UdEwEB +/wQFMAMBAf8wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBz +Oi8vd3d3LnRoYXd0ZS5jb20vY3BzMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +e1tFz6/Oy3r9MZIaarbzRutXSFAwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cDovL2Ny +bC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1TZXJ2ZXJDQS5jcmwwDQYJKoZIhvcN +AQEFBQADgYEAhKhMyT4qvJrizI8LsiV3xGGJiWNa1KMVQNT7Xj+0Q+pjFytrmXSe +Cajd1FYVLnp5MV9jllMbNNkV6k9tcMq+9oKp7dqFd8x2HGqBCiHYQZl/Xi6Cweiq +95OBBaqStB+3msAHF/XLxrRMDtdW3HEgdDjWdMbWj2uvi42gbCkLYeA= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_10[] = { + 0x30, 0x82, 0x04, 0x45, 0x30, 0x82, 0x03, 0xae, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x33, 0x65, 0x50, 0x08, 0x79, 0xad, 0x73, 0xe2, 0x30, + 0xb9, 0xe0, 0x1d, 0x0d, 0x7f, 0xac, 0x91, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xce, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x5a, 0x41, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, + 0x0c, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x43, 0x61, 0x70, + 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x09, + 0x43, 0x61, 0x70, 0x65, 0x20, 0x54, 0x6f, 0x77, 0x6e, 0x31, 0x1d, 0x30, + 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x54, 0x68, 0x61, 0x77, + 0x74, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x63, 0x63, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x1f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x20, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x21, + 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, 0x54, 0x68, 0x61, + 0x77, 0x74, 0x65, 0x20, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x20, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x31, 0x28, 0x30, + 0x26, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, + 0x16, 0x19, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x2d, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x40, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x31, 0x31, + 0x37, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, + 0x31, 0x32, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, + 0x81, 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x1f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, + 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, + 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, + 0x30, 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, + 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xac, 0xa0, 0xf0, 0xfb, 0x80, 0x59, 0xd4, 0x9c, 0xc7, 0xa4, 0xcf, 0x9d, + 0xa1, 0x59, 0x73, 0x09, 0x10, 0x45, 0x0c, 0x0d, 0x2c, 0x6e, 0x68, 0xf1, + 0x6c, 0x5b, 0x48, 0x68, 0x49, 0x59, 0x37, 0xfc, 0x0b, 0x33, 0x19, 0xc2, + 0x77, 0x7f, 0xcc, 0x10, 0x2d, 0x95, 0x34, 0x1c, 0xe6, 0xeb, 0x4d, 0x09, + 0xa7, 0x1c, 0xd2, 0xb8, 0xc9, 0x97, 0x36, 0x02, 0xb7, 0x89, 0xd4, 0x24, + 0x5f, 0x06, 0xc0, 0xcc, 0x44, 0x94, 0x94, 0x8d, 0x02, 0x62, 0x6f, 0xeb, + 0x5a, 0xdd, 0x11, 0x8d, 0x28, 0x9a, 0x5c, 0x84, 0x90, 0x10, 0x7a, 0x0d, + 0xbd, 0x74, 0x66, 0x2f, 0x6a, 0x38, 0xa0, 0xe2, 0xd5, 0x54, 0x44, 0xeb, + 0x1d, 0x07, 0x9f, 0x07, 0xba, 0x6f, 0xee, 0xe9, 0xfd, 0x4e, 0x0b, 0x29, + 0xf5, 0x3e, 0x84, 0xa0, 0x01, 0xf1, 0x9c, 0xab, 0xf8, 0x1c, 0x7e, 0x89, + 0xa4, 0xe8, 0xa1, 0xd8, 0x71, 0x65, 0x0d, 0xa3, 0x51, 0x7b, 0xee, 0xbc, + 0xd2, 0x22, 0x60, 0x0d, 0xb9, 0x5b, 0x9d, 0xdf, 0xba, 0xfc, 0x51, 0x5b, + 0x0b, 0xaf, 0x98, 0xb2, 0xe9, 0x2e, 0xe9, 0x04, 0xe8, 0x62, 0x87, 0xde, + 0x2b, 0xc8, 0xd7, 0x4e, 0xc1, 0x4c, 0x64, 0x1e, 0xdd, 0xcf, 0x87, 0x58, + 0xba, 0x4a, 0x4f, 0xca, 0x68, 0x07, 0x1d, 0x1c, 0x9d, 0x4a, 0xc6, 0xd5, + 0x2f, 0x91, 0xcc, 0x7c, 0x71, 0x72, 0x1c, 0xc5, 0xc0, 0x67, 0xeb, 0x32, + 0xfd, 0xc9, 0x92, 0x5c, 0x94, 0xda, 0x85, 0xc0, 0x9b, 0xbf, 0x53, 0x7d, + 0x2b, 0x09, 0xf4, 0x8c, 0x9d, 0x91, 0x1f, 0x97, 0x6a, 0x52, 0xcb, 0xde, + 0x09, 0x36, 0xa4, 0x77, 0xd8, 0x7b, 0x87, 0x50, 0x44, 0xd5, 0x3e, 0x6e, + 0x29, 0x69, 0xfb, 0x39, 0x49, 0x26, 0x1e, 0x09, 0xa5, 0x80, 0x7b, 0x40, + 0x2d, 0xeb, 0xe8, 0x27, 0x85, 0xc9, 0xfe, 0x61, 0xfd, 0x7e, 0xe6, 0x7c, + 0x97, 0x1d, 0xd5, 0x9d, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xc2, + 0x30, 0x81, 0xbf, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x3b, 0x06, 0x03, + 0x55, 0x1d, 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0x06, 0x04, 0x55, + 0x1d, 0x20, 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x7b, 0x5b, 0x45, 0xcf, 0xaf, 0xce, 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, + 0x6a, 0xb6, 0xf3, 0x46, 0xeb, 0x57, 0x48, 0x50, 0x30, 0x40, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x39, 0x30, 0x37, 0x30, 0x35, 0xa0, 0x33, 0xa0, + 0x31, 0x86, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, 0x72, 0x65, 0x6d, 0x69, + 0x75, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x41, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x84, 0xa8, 0x4c, + 0xc9, 0x3e, 0x2a, 0xbc, 0x9a, 0xe2, 0xcc, 0x8f, 0x0b, 0xb2, 0x25, 0x77, + 0xc4, 0x61, 0x89, 0x89, 0x63, 0x5a, 0xd4, 0xa3, 0x15, 0x40, 0xd4, 0xfb, + 0x5e, 0x3f, 0xb4, 0x43, 0xea, 0x63, 0x17, 0x2b, 0x6b, 0x99, 0x74, 0x9e, + 0x09, 0xa8, 0xdd, 0xd4, 0x56, 0x15, 0x2e, 0x7a, 0x79, 0x31, 0x5f, 0x63, + 0x96, 0x53, 0x1b, 0x34, 0xd9, 0x15, 0xea, 0x4f, 0x6d, 0x70, 0xca, 0xbe, + 0xf6, 0x82, 0xa9, 0xed, 0xda, 0x85, 0x77, 0xcc, 0x76, 0x1c, 0x6a, 0x81, + 0x0a, 0x21, 0xd8, 0x41, 0x99, 0x7f, 0x5e, 0x2e, 0x82, 0xc1, 0xe8, 0xaa, + 0xf7, 0x93, 0x81, 0x05, 0xaa, 0x92, 0xb4, 0x1f, 0xb7, 0x9a, 0xc0, 0x07, + 0x17, 0xf5, 0xcb, 0xc6, 0xb4, 0x4c, 0x0e, 0xd7, 0x56, 0xdc, 0x71, 0x20, + 0x74, 0x38, 0xd6, 0x74, 0xc6, 0xd6, 0x8f, 0x6b, 0xaf, 0x8b, 0x8d, 0xa0, + 0x6c, 0x29, 0x0b, 0x61, 0xe0, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 04:00:00:00:00:01:44:4e:f0:36:31 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA + Validity + Not Before: Feb 20 10:00:00 2014 GMT + Not After : Feb 20 10:00:00 2024 GMT + Subject: C=BE, O=GlobalSign nv-sa, CN=AlphaSSL CA - SHA256 - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:da:01:ec:e4:ec:73:60:fb:7e:8f:6a:b7:c6:17: + e3:92:64:32:d4:ac:00:d9:a2:0f:b9:ed:ee:6b:8a: + 86:ca:92:67:d9:74:d7:5d:47:02:3c:8f:40:d6:9e: + 6d:14:cd:c3:da:29:39:a7:0f:05:0a:68:a2:66:1a: + 1e:c4:b2:8b:76:58:e5:ab:5d:1d:8f:40:b3:39:8b: + ef:1e:83:7d:22:d0:e3:a9:00:2e:ec:53:cf:62:19: + 85:44:28:4c:c0:27:cb:7b:0e:ec:10:64:00:10:a4: + 05:cc:a0:72:be:41:6c:31:5b:48:e4:b1:ec:b9:23: + eb:55:4d:d0:7d:62:4a:a5:b4:a5:a4:59:85:c5:25: + 91:a6:fe:a6:09:9f:06:10:6d:8f:81:0c:64:40:5e: + 73:00:9a:e0:2e:65:98:54:10:00:70:98:c8:e1:ed: + 34:5f:d8:9c:c7:0d:c0:d6:23:59:45:fc:fe:55:7a: + 86:ee:94:60:22:f1:ae:d1:e6:55:46:f6:99:c5:1b: + 08:74:5f:ac:b0:64:84:8f:89:38:1c:a1:a7:90:21: + 4f:02:6e:bd:e0:61:67:d4:f8:42:87:0f:0a:f7:c9: + 04:6d:2a:a9:2f:ef:42:a5:df:dd:a3:53:db:98:1e: + 81:f9:9a:72:7b:5a:de:4f:3e:7f:a2:58:a0:e2:17: + ad:67 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Subject Key Identifier: + F5:CD:D5:3C:08:50:F9:6A:4F:3A:B7:97:DA:56:83:E6:69:D2:68:F7 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.alphassl.com/repository/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.globalsign.net/root.crl + + Authority Information Access: + OCSP - URI:http://ocsp.globalsign.com/rootr1 + + X509v3 Authority Key Identifier: + keyid:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B + + Signature Algorithm: sha256WithRSAEncryption + 60:40:68:16:47:e7:16:8d:db:5c:a1:56:2a:cb:f4:5c:9b:b0: + 1e:a2:4b:f5:cb:02:3f:f8:0b:a1:f2:a7:42:d4:b7:4c:eb:e3: + 66:80:f3:25:43:78:2e:1b:17:56:07:52:18:cb:d1:a8:ec:e6: + fb:73:3e:a4:62:8c:80:b4:d2:c5:12:73:a3:d3:fa:02:38:be: + 63:3d:84:b8:99:c1:f1:ba:f7:9f:c3:40:d1:58:18:53:c1:62: + dd:af:18:42:7f:34:4e:c5:43:d5:71:b0:30:00:c7:e3:90:ae: + 3f:57:86:97:ce:ea:0c:12:8e:22:70:e3:66:a7:54:7f:2e:28: + cb:d4:54:d0:b3:1e:62:67:08:f9:27:e1:cb:e3:66:b8:24:1b: + 89:6a:89:44:65:f2:d9:4c:d2:58:1c:8c:4e:c0:95:a1:d4:ef: + 67:2f:38:20:e8:2e:ff:96:51:f0:ba:d8:3d:92:70:47:65:1c: + 9e:73:72:b4:60:0c:5c:e2:d1:73:76:e0:af:4e:e2:e5:37:a5: + 45:2f:8a:23:3e:87:c7:30:e6:31:38:7c:f4:dd:52:ca:f3:53: + 04:25:57:56:66:94:e8:0b:ee:e6:03:14:4e:ee:fd:6d:94:64: + 9e:5e:ce:79:d4:b2:a6:cf:40:b1:44:a8:3e:87:19:5e:e9:f8: + 21:16:59:53 +-----BEGIN CERTIFICATE----- +MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEwDQYJKoZIhvcNAQELBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw +MDBaFw0yNDAyMjAxMDAwMDBaMEwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMSIwIAYDVQQDExlBbHBoYVNTTCBDQSAtIFNIQTI1NiAtIEcy +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gHs5OxzYPt+j2q3xhfj +kmQy1KwA2aIPue3ua4qGypJn2XTXXUcCPI9A1p5tFM3D2ik5pw8FCmiiZhoexLKL +dljlq10dj0CzOYvvHoN9ItDjqQAu7FPPYhmFRChMwCfLew7sEGQAEKQFzKByvkFs +MVtI5LHsuSPrVU3QfWJKpbSlpFmFxSWRpv6mCZ8GEG2PgQxkQF5zAJrgLmWYVBAA +cJjI4e00X9icxw3A1iNZRfz+VXqG7pRgIvGu0eZVRvaZxRsIdF+ssGSEj4k4HKGn +kCFPAm694GFn1PhChw8K98kEbSqpL+9Cpd/do1PbmB6B+Zpye1reTz5/olig4het +ZwIDAQABo4IBIzCCAR8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C +AQAwHQYDVR0OBBYEFPXN1TwIUPlqTzq3l9pWg+Zp0mj3MEUGA1UdIAQ+MDwwOgYE +VR0gADAyMDAGCCsGAQUFBwIBFiRodHRwczovL3d3dy5hbHBoYXNzbC5jb20vcmVw +b3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWdu +Lm5ldC9yb290LmNybDA9BggrBgEFBQcBAQQxMC8wLQYIKwYBBQUHMAGGIWh0dHA6 +Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMTAfBgNVHSMEGDAWgBRge2YaRQ2X +yolQL30EzTSo//z9SzANBgkqhkiG9w0BAQsFAAOCAQEAYEBoFkfnFo3bXKFWKsv0 +XJuwHqJL9csCP/gLofKnQtS3TOvjZoDzJUN4LhsXVgdSGMvRqOzm+3M+pGKMgLTS +xRJzo9P6Aji+Yz2EuJnB8br3n8NA0VgYU8Fi3a8YQn80TsVD1XGwMADH45CuP1eG +l87qDBKOInDjZqdUfy4oy9RU0LMeYmcI+Sfhy+NmuCQbiWqJRGXy2UzSWByMTsCV +odTvZy84IOgu/5ZR8LrYPZJwR2UcnnNytGAMXOLRc3bgr07i5TelRS+KIz6HxzDm +MTh89N1SyvNTBCVXVmaU6Avu5gMUTu79bZRknl7OedSyps9AsUSoPocZXun4IRZZ +Uw== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_11[] = { + 0x30, 0x82, 0x04, 0x4d, 0x30, 0x82, 0x03, 0x35, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x4e, 0xf0, + 0x36, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x57, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, 0x17, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x07, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x41, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, + 0x67, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, + 0x17, 0x0d, 0x31, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x4c, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, + 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, + 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, 0x41, + 0x6c, 0x70, 0x68, 0x61, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, + 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x2d, 0x20, 0x47, 0x32, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xda, 0x01, 0xec, + 0xe4, 0xec, 0x73, 0x60, 0xfb, 0x7e, 0x8f, 0x6a, 0xb7, 0xc6, 0x17, 0xe3, + 0x92, 0x64, 0x32, 0xd4, 0xac, 0x00, 0xd9, 0xa2, 0x0f, 0xb9, 0xed, 0xee, + 0x6b, 0x8a, 0x86, 0xca, 0x92, 0x67, 0xd9, 0x74, 0xd7, 0x5d, 0x47, 0x02, + 0x3c, 0x8f, 0x40, 0xd6, 0x9e, 0x6d, 0x14, 0xcd, 0xc3, 0xda, 0x29, 0x39, + 0xa7, 0x0f, 0x05, 0x0a, 0x68, 0xa2, 0x66, 0x1a, 0x1e, 0xc4, 0xb2, 0x8b, + 0x76, 0x58, 0xe5, 0xab, 0x5d, 0x1d, 0x8f, 0x40, 0xb3, 0x39, 0x8b, 0xef, + 0x1e, 0x83, 0x7d, 0x22, 0xd0, 0xe3, 0xa9, 0x00, 0x2e, 0xec, 0x53, 0xcf, + 0x62, 0x19, 0x85, 0x44, 0x28, 0x4c, 0xc0, 0x27, 0xcb, 0x7b, 0x0e, 0xec, + 0x10, 0x64, 0x00, 0x10, 0xa4, 0x05, 0xcc, 0xa0, 0x72, 0xbe, 0x41, 0x6c, + 0x31, 0x5b, 0x48, 0xe4, 0xb1, 0xec, 0xb9, 0x23, 0xeb, 0x55, 0x4d, 0xd0, + 0x7d, 0x62, 0x4a, 0xa5, 0xb4, 0xa5, 0xa4, 0x59, 0x85, 0xc5, 0x25, 0x91, + 0xa6, 0xfe, 0xa6, 0x09, 0x9f, 0x06, 0x10, 0x6d, 0x8f, 0x81, 0x0c, 0x64, + 0x40, 0x5e, 0x73, 0x00, 0x9a, 0xe0, 0x2e, 0x65, 0x98, 0x54, 0x10, 0x00, + 0x70, 0x98, 0xc8, 0xe1, 0xed, 0x34, 0x5f, 0xd8, 0x9c, 0xc7, 0x0d, 0xc0, + 0xd6, 0x23, 0x59, 0x45, 0xfc, 0xfe, 0x55, 0x7a, 0x86, 0xee, 0x94, 0x60, + 0x22, 0xf1, 0xae, 0xd1, 0xe6, 0x55, 0x46, 0xf6, 0x99, 0xc5, 0x1b, 0x08, + 0x74, 0x5f, 0xac, 0xb0, 0x64, 0x84, 0x8f, 0x89, 0x38, 0x1c, 0xa1, 0xa7, + 0x90, 0x21, 0x4f, 0x02, 0x6e, 0xbd, 0xe0, 0x61, 0x67, 0xd4, 0xf8, 0x42, + 0x87, 0x0f, 0x0a, 0xf7, 0xc9, 0x04, 0x6d, 0x2a, 0xa9, 0x2f, 0xef, 0x42, + 0xa5, 0xdf, 0xdd, 0xa3, 0x53, 0xdb, 0x98, 0x1e, 0x81, 0xf9, 0x9a, 0x72, + 0x7b, 0x5a, 0xde, 0x4f, 0x3e, 0x7f, 0xa2, 0x58, 0xa0, 0xe2, 0x17, 0xad, + 0x67, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x23, 0x30, 0x82, + 0x01, 0x1f, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0xf5, 0xcd, 0xd5, 0x3c, 0x08, 0x50, 0xf9, 0x6a, 0x4f, 0x3a, 0xb7, + 0x97, 0xda, 0x56, 0x83, 0xe6, 0x69, 0xd2, 0x68, 0xf7, 0x30, 0x45, 0x06, + 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3e, 0x30, 0x3c, 0x30, 0x3a, 0x06, 0x04, + 0x55, 0x1d, 0x20, 0x00, 0x30, 0x32, 0x30, 0x30, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x24, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x30, 0x33, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x2c, 0x30, 0x2a, 0x30, 0x28, 0xa0, 0x26, 0xa0, + 0x24, 0x86, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, + 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, + 0x6c, 0x30, 0x3d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, + 0x01, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, + 0x6f, 0x74, 0x72, 0x31, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0x60, 0x7b, 0x66, 0x1a, 0x45, 0x0d, 0x97, + 0xca, 0x89, 0x50, 0x2f, 0x7d, 0x04, 0xcd, 0x34, 0xa8, 0xff, 0xfc, 0xfd, + 0x4b, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x60, 0x40, 0x68, + 0x16, 0x47, 0xe7, 0x16, 0x8d, 0xdb, 0x5c, 0xa1, 0x56, 0x2a, 0xcb, 0xf4, + 0x5c, 0x9b, 0xb0, 0x1e, 0xa2, 0x4b, 0xf5, 0xcb, 0x02, 0x3f, 0xf8, 0x0b, + 0xa1, 0xf2, 0xa7, 0x42, 0xd4, 0xb7, 0x4c, 0xeb, 0xe3, 0x66, 0x80, 0xf3, + 0x25, 0x43, 0x78, 0x2e, 0x1b, 0x17, 0x56, 0x07, 0x52, 0x18, 0xcb, 0xd1, + 0xa8, 0xec, 0xe6, 0xfb, 0x73, 0x3e, 0xa4, 0x62, 0x8c, 0x80, 0xb4, 0xd2, + 0xc5, 0x12, 0x73, 0xa3, 0xd3, 0xfa, 0x02, 0x38, 0xbe, 0x63, 0x3d, 0x84, + 0xb8, 0x99, 0xc1, 0xf1, 0xba, 0xf7, 0x9f, 0xc3, 0x40, 0xd1, 0x58, 0x18, + 0x53, 0xc1, 0x62, 0xdd, 0xaf, 0x18, 0x42, 0x7f, 0x34, 0x4e, 0xc5, 0x43, + 0xd5, 0x71, 0xb0, 0x30, 0x00, 0xc7, 0xe3, 0x90, 0xae, 0x3f, 0x57, 0x86, + 0x97, 0xce, 0xea, 0x0c, 0x12, 0x8e, 0x22, 0x70, 0xe3, 0x66, 0xa7, 0x54, + 0x7f, 0x2e, 0x28, 0xcb, 0xd4, 0x54, 0xd0, 0xb3, 0x1e, 0x62, 0x67, 0x08, + 0xf9, 0x27, 0xe1, 0xcb, 0xe3, 0x66, 0xb8, 0x24, 0x1b, 0x89, 0x6a, 0x89, + 0x44, 0x65, 0xf2, 0xd9, 0x4c, 0xd2, 0x58, 0x1c, 0x8c, 0x4e, 0xc0, 0x95, + 0xa1, 0xd4, 0xef, 0x67, 0x2f, 0x38, 0x20, 0xe8, 0x2e, 0xff, 0x96, 0x51, + 0xf0, 0xba, 0xd8, 0x3d, 0x92, 0x70, 0x47, 0x65, 0x1c, 0x9e, 0x73, 0x72, + 0xb4, 0x60, 0x0c, 0x5c, 0xe2, 0xd1, 0x73, 0x76, 0xe0, 0xaf, 0x4e, 0xe2, + 0xe5, 0x37, 0xa5, 0x45, 0x2f, 0x8a, 0x23, 0x3e, 0x87, 0xc7, 0x30, 0xe6, + 0x31, 0x38, 0x7c, 0xf4, 0xdd, 0x52, 0xca, 0xf3, 0x53, 0x04, 0x25, 0x57, + 0x56, 0x66, 0x94, 0xe8, 0x0b, 0xee, 0xe6, 0x03, 0x14, 0x4e, 0xee, 0xfd, + 0x6d, 0x94, 0x64, 0x9e, 0x5e, 0xce, 0x79, 0xd4, 0xb2, 0xa6, 0xcf, 0x40, + 0xb1, 0x44, 0xa8, 0x3e, 0x87, 0x19, 0x5e, 0xe9, 0xf8, 0x21, 0x16, 0x59, + 0x53, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146031 (0x23a6f) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Nov 5 21:36:50 2013 GMT + Not After : May 20 21:36:50 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust SSL CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:e3:be:7e:0a:86:a3:cf:6b:6d:3d:2b:a1:97:ad: + 49:24:4d:d7:77:b9:34:79:08:a5:9e:a2:9e:de:47: + 12:92:3d:7e:ea:19:86:b1:e8:4f:3d:5f:f7:d0:a7: + 77:9a:5b:1f:0a:03:b5:19:53:db:a5:21:94:69:63: + 9d:6a:4c:91:0c:10:47:be:11:fa:6c:86:25:b7:ab: + 04:68:42:38:09:65:f0:14:da:19:9e:fa:6b:0b:ab: + 62:ef:8d:a7:ef:63:70:23:a8:af:81:f3:d1:6e:88: + 67:53:ec:12:a4:29:75:8a:a7:f2:57:3d:a2:83:98: + 97:f2:0a:7d:d4:e7:43:6e:30:78:62:22:59:59:b8: + 71:27:45:aa:0f:66:c6:55:3f:fa:32:17:2b:31:8f: + 46:a0:fa:69:14:7c:9d:9f:5a:e2:eb:33:4e:10:a6: + b3:ed:77:63:d8:c3:9e:f4:dd:df:79:9a:7a:d4:ee: + de:dd:9a:cc:c3:b7:a9:5d:cc:11:3a:07:bb:6f:97: + a4:01:23:47:95:1f:a3:77:fa:58:92:c6:c7:d0:bd: + cf:93:18:42:b7:7e:f7:9e:65:ea:d5:3b:ca:ed:ac: + c5:70:a1:fe:d4:10:9a:f0:12:04:44:ac:1a:5b:78: + 50:45:57:4c:6f:bd:80:cb:81:5c:2d:b3:bc:76:a1: + 1e:65 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + D2:6F:F7:96:F4:85:3F:72:3C:30:7D:23:DA:85:78:9B:A3:7C:5A:7C + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g1.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g2.symcb.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-539 + Signature Algorithm: sha256WithRSAEncryption + a0:d4:f7:2c:fb:74:0b:7f:64:f1:cd:43:6a:9f:62:53:1c:02: + 7c:98:90:a2:ee:4f:68:d4:20:1a:73:12:3e:77:b3:50:eb:72: + bc:ee:88:be:7f:17:ea:77:8f:83:61:95:4f:84:a1:cb:32:4f: + 6c:21:be:d2:69:96:7d:63:bd:dc:2b:a8:1f:d0:13:84:70:fe: + f6:35:95:89:f9:a6:77:b0:46:c8:bb:b7:13:f5:c9:60:69:d6: + 4c:fe:d2:8e:ef:d3:60:c1:80:80:e1:e7:fb:8b:6f:21:79:4a: + e0:dc:a9:1b:c1:b7:fb:c3:49:59:5c:b5:77:07:44:d4:97:fc: + 49:00:89:6f:06:4e:01:70:19:ac:2f:11:c0:e2:e6:0f:2f:86: + 4b:8d:7b:c3:b9:a7:2e:f4:f1:ac:16:3e:39:49:51:9e:17:4b: + 4f:10:3a:5b:a5:a8:92:6f:fd:fa:d6:0b:03:4d:47:56:57:19: + f3:cb:6b:f5:f3:d6:cf:b0:f5:f5:a3:11:d2:20:53:13:34:37: + 05:2c:43:5a:63:df:8d:40:d6:85:1e:51:e9:51:17:1e:03:56: + c9:f1:30:ad:e7:9b:11:a2:b9:d0:31:81:9b:68:b1:d9:e8:f3: + e6:94:7e:c7:ae:13:2f:87:ed:d0:25:b0:68:f9:de:08:5a:f3: + 29:cc:d4:92 +-----BEGIN CERTIFICATE----- +MIIETzCCAzegAwIBAgIDAjpvMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTMxMTA1MjEzNjUwWhcNMjIwNTIwMjEzNjUwWjBEMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg +U1NMIENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDjvn4K +hqPPa209K6GXrUkkTdd3uTR5CKWeop7eRxKSPX7qGYax6E89X/fQp3eaWx8KA7UZ +U9ulIZRpY51qTJEMEEe+EfpshiW3qwRoQjgJZfAU2hme+msLq2LvjafvY3AjqK+B +89FuiGdT7BKkKXWKp/JXPaKDmJfyCn3U50NuMHhiIllZuHEnRaoPZsZVP/oyFysx +j0ag+mkUfJ2fWuLrM04QprPtd2PYw5703d95mnrU7t7dmszDt6ldzBE6B7tvl6QB +I0eVH6N3+liSxsfQvc+TGEK3fveeZerVO8rtrMVwof7UEJrwEgRErBpbeFBFV0xv +vYDLgVwts7x2oR5lAgMBAAGjggFKMIIBRjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjAdBgNVHQ4EFgQU0m/3lvSFP3I8MH0j2oV4m6N8WnwwEgYDVR0T +AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNgYDVR0fBC8wLTAroCmgJ4Yl +aHR0cDovL2cxLnN5bWNiLmNvbS9jcmxzL2d0Z2xvYmFsLmNybDAvBggrBgEFBQcB +AQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9nMi5zeW1jYi5jb20wTAYDVR0gBEUw +QzBBBgpghkgBhvhFAQc2MDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuZ2VvdHJ1 +c3QuY29tL3Jlc291cmNlcy9jcHMwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5 +bWFudGVjUEtJLTEtNTM5MA0GCSqGSIb3DQEBCwUAA4IBAQCg1Pcs+3QLf2TxzUNq +n2JTHAJ8mJCi7k9o1CAacxI+d7NQ63K87oi+fxfqd4+DYZVPhKHLMk9sIb7SaZZ9 +Y73cK6gf0BOEcP72NZWJ+aZ3sEbIu7cT9clgadZM/tKO79NgwYCA4ef7i28heUrg +3Kkbwbf7w0lZXLV3B0TUl/xJAIlvBk4BcBmsLxHA4uYPL4ZLjXvDuacu9PGsFj45 +SVGeF0tPEDpbpaiSb/361gsDTUdWVxnzy2v189bPsPX1oxHSIFMTNDcFLENaY9+N +QNaFHlHpURceA1bJ8TCt55sRornQMYGbaLHZ6PPmlH7HrhMvh+3QJbBo+d4IWvMp +zNSS +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_12[] = { + 0x30, 0x82, 0x04, 0x4f, 0x30, 0x82, 0x03, 0x37, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x6f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, + 0x31, 0x30, 0x35, 0x32, 0x31, 0x33, 0x36, 0x35, 0x30, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x31, 0x33, 0x36, 0x35, 0x30, + 0x5a, 0x30, 0x44, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x14, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe3, 0xbe, 0x7e, 0x0a, + 0x86, 0xa3, 0xcf, 0x6b, 0x6d, 0x3d, 0x2b, 0xa1, 0x97, 0xad, 0x49, 0x24, + 0x4d, 0xd7, 0x77, 0xb9, 0x34, 0x79, 0x08, 0xa5, 0x9e, 0xa2, 0x9e, 0xde, + 0x47, 0x12, 0x92, 0x3d, 0x7e, 0xea, 0x19, 0x86, 0xb1, 0xe8, 0x4f, 0x3d, + 0x5f, 0xf7, 0xd0, 0xa7, 0x77, 0x9a, 0x5b, 0x1f, 0x0a, 0x03, 0xb5, 0x19, + 0x53, 0xdb, 0xa5, 0x21, 0x94, 0x69, 0x63, 0x9d, 0x6a, 0x4c, 0x91, 0x0c, + 0x10, 0x47, 0xbe, 0x11, 0xfa, 0x6c, 0x86, 0x25, 0xb7, 0xab, 0x04, 0x68, + 0x42, 0x38, 0x09, 0x65, 0xf0, 0x14, 0xda, 0x19, 0x9e, 0xfa, 0x6b, 0x0b, + 0xab, 0x62, 0xef, 0x8d, 0xa7, 0xef, 0x63, 0x70, 0x23, 0xa8, 0xaf, 0x81, + 0xf3, 0xd1, 0x6e, 0x88, 0x67, 0x53, 0xec, 0x12, 0xa4, 0x29, 0x75, 0x8a, + 0xa7, 0xf2, 0x57, 0x3d, 0xa2, 0x83, 0x98, 0x97, 0xf2, 0x0a, 0x7d, 0xd4, + 0xe7, 0x43, 0x6e, 0x30, 0x78, 0x62, 0x22, 0x59, 0x59, 0xb8, 0x71, 0x27, + 0x45, 0xaa, 0x0f, 0x66, 0xc6, 0x55, 0x3f, 0xfa, 0x32, 0x17, 0x2b, 0x31, + 0x8f, 0x46, 0xa0, 0xfa, 0x69, 0x14, 0x7c, 0x9d, 0x9f, 0x5a, 0xe2, 0xeb, + 0x33, 0x4e, 0x10, 0xa6, 0xb3, 0xed, 0x77, 0x63, 0xd8, 0xc3, 0x9e, 0xf4, + 0xdd, 0xdf, 0x79, 0x9a, 0x7a, 0xd4, 0xee, 0xde, 0xdd, 0x9a, 0xcc, 0xc3, + 0xb7, 0xa9, 0x5d, 0xcc, 0x11, 0x3a, 0x07, 0xbb, 0x6f, 0x97, 0xa4, 0x01, + 0x23, 0x47, 0x95, 0x1f, 0xa3, 0x77, 0xfa, 0x58, 0x92, 0xc6, 0xc7, 0xd0, + 0xbd, 0xcf, 0x93, 0x18, 0x42, 0xb7, 0x7e, 0xf7, 0x9e, 0x65, 0xea, 0xd5, + 0x3b, 0xca, 0xed, 0xac, 0xc5, 0x70, 0xa1, 0xfe, 0xd4, 0x10, 0x9a, 0xf0, + 0x12, 0x04, 0x44, 0xac, 0x1a, 0x5b, 0x78, 0x50, 0x45, 0x57, 0x4c, 0x6f, + 0xbd, 0x80, 0xcb, 0x81, 0x5c, 0x2d, 0xb3, 0xbc, 0x76, 0xa1, 0x1e, 0x65, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x4a, 0x30, 0x82, 0x01, + 0x46, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, + 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd2, 0x6f, 0xf7, + 0x96, 0xf4, 0x85, 0x3f, 0x72, 0x3c, 0x30, 0x7d, 0x23, 0xda, 0x85, 0x78, + 0x9b, 0xa3, 0x7c, 0x5a, 0x7c, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x36, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0, 0x27, 0x86, 0x25, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x31, 0x2e, 0x73, 0x79, + 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, + 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x72, + 0x6c, 0x30, 0x2f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, + 0x01, 0x04, 0x23, 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x67, 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, + 0x43, 0x30, 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, + 0x01, 0x07, 0x36, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x29, 0x06, 0x03, + 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, + 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, + 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, + 0x35, 0x33, 0x39, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa0, + 0xd4, 0xf7, 0x2c, 0xfb, 0x74, 0x0b, 0x7f, 0x64, 0xf1, 0xcd, 0x43, 0x6a, + 0x9f, 0x62, 0x53, 0x1c, 0x02, 0x7c, 0x98, 0x90, 0xa2, 0xee, 0x4f, 0x68, + 0xd4, 0x20, 0x1a, 0x73, 0x12, 0x3e, 0x77, 0xb3, 0x50, 0xeb, 0x72, 0xbc, + 0xee, 0x88, 0xbe, 0x7f, 0x17, 0xea, 0x77, 0x8f, 0x83, 0x61, 0x95, 0x4f, + 0x84, 0xa1, 0xcb, 0x32, 0x4f, 0x6c, 0x21, 0xbe, 0xd2, 0x69, 0x96, 0x7d, + 0x63, 0xbd, 0xdc, 0x2b, 0xa8, 0x1f, 0xd0, 0x13, 0x84, 0x70, 0xfe, 0xf6, + 0x35, 0x95, 0x89, 0xf9, 0xa6, 0x77, 0xb0, 0x46, 0xc8, 0xbb, 0xb7, 0x13, + 0xf5, 0xc9, 0x60, 0x69, 0xd6, 0x4c, 0xfe, 0xd2, 0x8e, 0xef, 0xd3, 0x60, + 0xc1, 0x80, 0x80, 0xe1, 0xe7, 0xfb, 0x8b, 0x6f, 0x21, 0x79, 0x4a, 0xe0, + 0xdc, 0xa9, 0x1b, 0xc1, 0xb7, 0xfb, 0xc3, 0x49, 0x59, 0x5c, 0xb5, 0x77, + 0x07, 0x44, 0xd4, 0x97, 0xfc, 0x49, 0x00, 0x89, 0x6f, 0x06, 0x4e, 0x01, + 0x70, 0x19, 0xac, 0x2f, 0x11, 0xc0, 0xe2, 0xe6, 0x0f, 0x2f, 0x86, 0x4b, + 0x8d, 0x7b, 0xc3, 0xb9, 0xa7, 0x2e, 0xf4, 0xf1, 0xac, 0x16, 0x3e, 0x39, + 0x49, 0x51, 0x9e, 0x17, 0x4b, 0x4f, 0x10, 0x3a, 0x5b, 0xa5, 0xa8, 0x92, + 0x6f, 0xfd, 0xfa, 0xd6, 0x0b, 0x03, 0x4d, 0x47, 0x56, 0x57, 0x19, 0xf3, + 0xcb, 0x6b, 0xf5, 0xf3, 0xd6, 0xcf, 0xb0, 0xf5, 0xf5, 0xa3, 0x11, 0xd2, + 0x20, 0x53, 0x13, 0x34, 0x37, 0x05, 0x2c, 0x43, 0x5a, 0x63, 0xdf, 0x8d, + 0x40, 0xd6, 0x85, 0x1e, 0x51, 0xe9, 0x51, 0x17, 0x1e, 0x03, 0x56, 0xc9, + 0xf1, 0x30, 0xad, 0xe7, 0x9b, 0x11, 0xa2, 0xb9, 0xd0, 0x31, 0x81, 0x9b, + 0x68, 0xb1, 0xd9, 0xe8, 0xf3, 0xe6, 0x94, 0x7e, 0xc7, 0xae, 0x13, 0x2f, + 0x87, 0xed, 0xd0, 0x25, 0xb0, 0x68, 0xf9, 0xde, 0x08, 0x5a, 0xf3, 0x29, + 0xcc, 0xd4, 0x92, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146019 (0x23a63) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Aug 27 20:40:40 2012 GMT + Not After : May 20 20:40:40 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust SSL CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b9:27:f9:4f:d8:f6:b7:15:3f:8f:cd:ce:d6:8d: + 1c:6b:fd:7f:da:54:21:4e:03:d8:ca:d0:72:52:15: + b8:c9:82:5b:58:79:84:ff:24:72:6f:f2:69:7f:bc: + 96:d9:9a:7a:c3:3e:a9:cf:50:22:13:0e:86:19:db: + e8:49:ef:8b:e6:d6:47:f2:fd:73:45:08:ae:8f:ac: + 5e:b6:f8:9e:7c:f7:10:ff:92:43:66:ef:1c:d4:ee: + a1:46:88:11:89:49:79:7a:25:ce:4b:6a:f0:d7:1c: + 76:1a:29:3c:c9:e4:fd:1e:85:dc:e0:31:65:05:47: + 16:ac:0a:07:4b:2e:70:5e:6b:06:a7:6b:3a:6c:af: + 05:12:c4:b2:11:25:d6:3e:97:29:f0:83:6c:57:1c: + d8:a5:ef:cc:ec:fd:d6:12:f1:3f:db:40:b4:ae:0f: + 18:d3:c5:af:40:92:5d:07:5e:4e:fe:62:17:37:89: + e9:8b:74:26:a2:ed:b8:0a:e7:6c:15:5b:35:90:72: + dd:d8:4d:21:d4:40:23:5c:8f:ee:80:31:16:ab:68: + 55:f4:0e:3b:54:e9:04:4d:f0:cc:4e:81:5e:e9:6f: + 52:69:4e:be:a6:16:6d:42:f5:51:ff:e0:0b:56:3c: + 98:4f:73:8f:0e:6f:1a:23:f1:c9:c8:d9:df:bc:ec: + 52:d7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + 11:4A:D0:73:39:D5:5B:69:08:5C:BA:3D:BF:64:9A:A8:8B:1C:55:BC + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.geotrust.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://ocsp.geotrust.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-254 + Signature Algorithm: sha1WithRSAEncryption + 3c:e5:3d:5a:1b:a2:37:2a:e3:46:cf:36:96:18:3c:7b:f1:84: + c5:57:86:77:40:9d:35:f0:12:f0:78:18:fb:22:a4:de:98:4b: + 78:81:e6:4d:86:e3:91:0f:42:e3:b9:dc:a0:d6:ff:a9:f8:b1: + 79:97:99:d1:c3:6c:42:a5:92:94:e0:5d:0c:33:18:25:c9:2b: + 95:53:e0:e5:a9:0c:7d:47:fe:7f:51:31:44:5e:f7:2a:1e:35: + a2:94:32:f7:c9:ee:c0:b6:c6:9a:ac:de:99:21:6a:23:a0:38: + 64:ee:a3:c4:88:73:32:3b:50:ce:bf:ad:d3:75:1e:a6:f4:e9: + f9:42:6b:60:b2:dd:45:fd:5d:57:08:ce:2d:50:e6:12:32:16: + 13:8a:f2:94:a2:9b:47:a8:86:7f:d9:98:e5:f7:e5:76:74:64: + d8:91:bc:84:16:28:d8:25:44:30:7e:82:d8:ac:b1:e4:c0:e4: + 15:6c:db:b6:24:27:02:2a:01:12:85:ba:31:88:58:47:74:e3: + b8:d2:64:a6:c3:32:59:2e:29:4b:45:f1:5b:89:49:2e:82:9a: + c6:18:15:44:d0:2e:64:01:15:68:38:f9:f6:f9:66:03:0c:55: + 1b:9d:bf:00:40:ae:f0:48:27:4c:e0:80:5e:2d:b9:2a:15:7a: + bc:66:f8:35 +-----BEGIN CERTIFICATE----- +MIIEWTCCA0GgAwIBAgIDAjpjMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTIwODI3MjA0MDQwWhcNMjIwNTIwMjA0MDQwWjBEMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg +U1NMIENBIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5J/lP +2Pa3FT+Pzc7WjRxr/X/aVCFOA9jK0HJSFbjJgltYeYT/JHJv8ml/vJbZmnrDPqnP +UCITDoYZ2+hJ74vm1kfy/XNFCK6PrF62+J589xD/kkNm7xzU7qFGiBGJSXl6Jc5L +avDXHHYaKTzJ5P0ehdzgMWUFRxasCgdLLnBeawanazpsrwUSxLIRJdY+lynwg2xX +HNil78zs/dYS8T/bQLSuDxjTxa9Akl0HXk7+Yhc3iemLdCai7bgK52wVWzWQct3Y +TSHUQCNcj+6AMRaraFX0DjtU6QRN8MxOgV7pb1JpTr6mFm1C9VH/4AtWPJhPc48O +bxoj8cnI2d+87FLXAgMBAAGjggFUMIIBUDAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjAdBgNVHQ4EFgQUEUrQcznVW2kIXLo9v2SaqIscVbwwEgYDVR0T +AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwOgYDVR0fBDMwMTAvoC2gK4Yp +aHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Jscy9ndGdsb2JhbC5jcmwwNAYIKwYB +BQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5nZW90cnVzdC5jb20w +TAYDVR0gBEUwQzBBBgpghkgBhvhFAQc2MDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93 +d3cuZ2VvdHJ1c3QuY29tL3Jlc291cmNlcy9jcHMwKgYDVR0RBCMwIaQfMB0xGzAZ +BgNVBAMTElZlcmlTaWduTVBLSS0yLTI1NDANBgkqhkiG9w0BAQUFAAOCAQEAPOU9 +WhuiNyrjRs82lhg8e/GExVeGd0CdNfAS8HgY+yKk3phLeIHmTYbjkQ9C47ncoNb/ +qfixeZeZ0cNsQqWSlOBdDDMYJckrlVPg5akMfUf+f1ExRF73Kh41opQy98nuwLbG +mqzemSFqI6A4ZO6jxIhzMjtQzr+t03UepvTp+UJrYLLdRf1dVwjOLVDmEjIWE4ry +lKKbR6iGf9mY5ffldnRk2JG8hBYo2CVEMH6C2Kyx5MDkFWzbtiQnAioBEoW6MYhY +R3TjuNJkpsMyWS4pS0XxW4lJLoKaxhgVRNAuZAEVaDj59vlmAwxVG52/AECu8Egn +TOCAXi25KhV6vGb4NQ== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_13[] = { + 0x30, 0x82, 0x04, 0x59, 0x30, 0x82, 0x03, 0x41, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x63, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, + 0x38, 0x32, 0x37, 0x32, 0x30, 0x34, 0x30, 0x34, 0x30, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x30, 0x34, 0x30, 0x34, 0x30, + 0x5a, 0x30, 0x44, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x14, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xb9, 0x27, 0xf9, 0x4f, + 0xd8, 0xf6, 0xb7, 0x15, 0x3f, 0x8f, 0xcd, 0xce, 0xd6, 0x8d, 0x1c, 0x6b, + 0xfd, 0x7f, 0xda, 0x54, 0x21, 0x4e, 0x03, 0xd8, 0xca, 0xd0, 0x72, 0x52, + 0x15, 0xb8, 0xc9, 0x82, 0x5b, 0x58, 0x79, 0x84, 0xff, 0x24, 0x72, 0x6f, + 0xf2, 0x69, 0x7f, 0xbc, 0x96, 0xd9, 0x9a, 0x7a, 0xc3, 0x3e, 0xa9, 0xcf, + 0x50, 0x22, 0x13, 0x0e, 0x86, 0x19, 0xdb, 0xe8, 0x49, 0xef, 0x8b, 0xe6, + 0xd6, 0x47, 0xf2, 0xfd, 0x73, 0x45, 0x08, 0xae, 0x8f, 0xac, 0x5e, 0xb6, + 0xf8, 0x9e, 0x7c, 0xf7, 0x10, 0xff, 0x92, 0x43, 0x66, 0xef, 0x1c, 0xd4, + 0xee, 0xa1, 0x46, 0x88, 0x11, 0x89, 0x49, 0x79, 0x7a, 0x25, 0xce, 0x4b, + 0x6a, 0xf0, 0xd7, 0x1c, 0x76, 0x1a, 0x29, 0x3c, 0xc9, 0xe4, 0xfd, 0x1e, + 0x85, 0xdc, 0xe0, 0x31, 0x65, 0x05, 0x47, 0x16, 0xac, 0x0a, 0x07, 0x4b, + 0x2e, 0x70, 0x5e, 0x6b, 0x06, 0xa7, 0x6b, 0x3a, 0x6c, 0xaf, 0x05, 0x12, + 0xc4, 0xb2, 0x11, 0x25, 0xd6, 0x3e, 0x97, 0x29, 0xf0, 0x83, 0x6c, 0x57, + 0x1c, 0xd8, 0xa5, 0xef, 0xcc, 0xec, 0xfd, 0xd6, 0x12, 0xf1, 0x3f, 0xdb, + 0x40, 0xb4, 0xae, 0x0f, 0x18, 0xd3, 0xc5, 0xaf, 0x40, 0x92, 0x5d, 0x07, + 0x5e, 0x4e, 0xfe, 0x62, 0x17, 0x37, 0x89, 0xe9, 0x8b, 0x74, 0x26, 0xa2, + 0xed, 0xb8, 0x0a, 0xe7, 0x6c, 0x15, 0x5b, 0x35, 0x90, 0x72, 0xdd, 0xd8, + 0x4d, 0x21, 0xd4, 0x40, 0x23, 0x5c, 0x8f, 0xee, 0x80, 0x31, 0x16, 0xab, + 0x68, 0x55, 0xf4, 0x0e, 0x3b, 0x54, 0xe9, 0x04, 0x4d, 0xf0, 0xcc, 0x4e, + 0x81, 0x5e, 0xe9, 0x6f, 0x52, 0x69, 0x4e, 0xbe, 0xa6, 0x16, 0x6d, 0x42, + 0xf5, 0x51, 0xff, 0xe0, 0x0b, 0x56, 0x3c, 0x98, 0x4f, 0x73, 0x8f, 0x0e, + 0x6f, 0x1a, 0x23, 0xf1, 0xc9, 0xc8, 0xd9, 0xdf, 0xbc, 0xec, 0x52, 0xd7, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x54, 0x30, 0x82, 0x01, + 0x50, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, + 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x11, 0x4a, 0xd0, + 0x73, 0x39, 0xd5, 0x5b, 0x69, 0x08, 0x5c, 0xba, 0x3d, 0xbf, 0x64, 0x9a, + 0xa8, 0x8b, 0x1c, 0x55, 0xbc, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x33, 0x30, 0x31, 0x30, 0x2f, 0xa0, 0x2d, 0xa0, 0x2b, 0x86, 0x29, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x67, + 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, + 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, + 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, + 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, 0x36, + 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x1d, 0x11, + 0x04, 0x23, 0x30, 0x21, 0xa4, 0x1f, 0x30, 0x1d, 0x31, 0x1b, 0x30, 0x19, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x56, 0x65, 0x72, 0x69, 0x53, + 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, 0x2d, 0x32, 0x2d, 0x32, 0x35, + 0x34, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x3c, 0xe5, 0x3d, + 0x5a, 0x1b, 0xa2, 0x37, 0x2a, 0xe3, 0x46, 0xcf, 0x36, 0x96, 0x18, 0x3c, + 0x7b, 0xf1, 0x84, 0xc5, 0x57, 0x86, 0x77, 0x40, 0x9d, 0x35, 0xf0, 0x12, + 0xf0, 0x78, 0x18, 0xfb, 0x22, 0xa4, 0xde, 0x98, 0x4b, 0x78, 0x81, 0xe6, + 0x4d, 0x86, 0xe3, 0x91, 0x0f, 0x42, 0xe3, 0xb9, 0xdc, 0xa0, 0xd6, 0xff, + 0xa9, 0xf8, 0xb1, 0x79, 0x97, 0x99, 0xd1, 0xc3, 0x6c, 0x42, 0xa5, 0x92, + 0x94, 0xe0, 0x5d, 0x0c, 0x33, 0x18, 0x25, 0xc9, 0x2b, 0x95, 0x53, 0xe0, + 0xe5, 0xa9, 0x0c, 0x7d, 0x47, 0xfe, 0x7f, 0x51, 0x31, 0x44, 0x5e, 0xf7, + 0x2a, 0x1e, 0x35, 0xa2, 0x94, 0x32, 0xf7, 0xc9, 0xee, 0xc0, 0xb6, 0xc6, + 0x9a, 0xac, 0xde, 0x99, 0x21, 0x6a, 0x23, 0xa0, 0x38, 0x64, 0xee, 0xa3, + 0xc4, 0x88, 0x73, 0x32, 0x3b, 0x50, 0xce, 0xbf, 0xad, 0xd3, 0x75, 0x1e, + 0xa6, 0xf4, 0xe9, 0xf9, 0x42, 0x6b, 0x60, 0xb2, 0xdd, 0x45, 0xfd, 0x5d, + 0x57, 0x08, 0xce, 0x2d, 0x50, 0xe6, 0x12, 0x32, 0x16, 0x13, 0x8a, 0xf2, + 0x94, 0xa2, 0x9b, 0x47, 0xa8, 0x86, 0x7f, 0xd9, 0x98, 0xe5, 0xf7, 0xe5, + 0x76, 0x74, 0x64, 0xd8, 0x91, 0xbc, 0x84, 0x16, 0x28, 0xd8, 0x25, 0x44, + 0x30, 0x7e, 0x82, 0xd8, 0xac, 0xb1, 0xe4, 0xc0, 0xe4, 0x15, 0x6c, 0xdb, + 0xb6, 0x24, 0x27, 0x02, 0x2a, 0x01, 0x12, 0x85, 0xba, 0x31, 0x88, 0x58, + 0x47, 0x74, 0xe3, 0xb8, 0xd2, 0x64, 0xa6, 0xc3, 0x32, 0x59, 0x2e, 0x29, + 0x4b, 0x45, 0xf1, 0x5b, 0x89, 0x49, 0x2e, 0x82, 0x9a, 0xc6, 0x18, 0x15, + 0x44, 0xd0, 0x2e, 0x64, 0x01, 0x15, 0x68, 0x38, 0xf9, 0xf6, 0xf9, 0x66, + 0x03, 0x0c, 0x55, 0x1b, 0x9d, 0xbf, 0x00, 0x40, 0xae, 0xf0, 0x48, 0x27, + 0x4c, 0xe0, 0x80, 0x5e, 0x2d, 0xb9, 0x2a, 0x15, 0x7a, 0xbc, 0x66, 0xf8, + 0x35, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 04:00:00:00:00:01:44:4e:f0:3e:20 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA + Validity + Not Before: Feb 20 10:00:00 2014 GMT + Not After : Feb 20 10:00:00 2024 GMT + Subject: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Domain Validation CA - SHA256 - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a9:dd:cc:0e:b3:e2:32:39:dd:49:22:a8:13:69: + 93:87:88:e1:0c:ee:71:7d:bd:90:87:96:5d:59:f2: + cc:b3:d2:58:57:57:f9:46:ef:6c:26:d8:36:42:8e: + 7e:30:b3:2f:9a:3e:53:7b:1f:6e:b6:a2:4c:45:1f: + 3c:d3:15:93:1c:89:ed:3c:f4:57:de:ca:bd:ec:06: + 9a:6a:2a:a0:19:52:7f:51:d1:74:39:08:9f:ab:eb: + d7:86:13:15:97:ae:36:c3:54:66:0e:5a:f2:a0:73: + 85:31:e3:b2:64:14:6a:ff:a5:a2:8e:24:bb:bd:85: + 52:15:a2:79:ee:f0:b5:ee:3d:b8:f4:7d:80:bc:d9: + 90:35:65:b8:17:a9:ad:b3:98:9f:a0:7e:7d:6e:fb: + 3f:ad:7c:c2:1b:59:36:96:da:37:32:4b:4b:5d:35: + 02:63:8e:db:a7:cf:62:ee:cc:2e:d4:8d:c9:bd:3c: + 6a:91:72:a2:22:a7:72:2d:20:d1:fa:ca:37:da:18: + 98:e6:16:24:71:25:4b:c4:e5:7b:89:52:09:02:fd: + 59:2b:04:6e:ca:07:81:d4:b3:da:da:db:e3:cc:80: + a8:56:07:06:7c:96:08:37:9d:db:38:b6:62:34:91: + 62:07:74:01:38:d8:72:30:e2:eb:90:71:26:62:c0: + 57:f3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Subject Key Identifier: + EA:4E:7C:D4:80:2D:E5:15:81:86:26:8C:82:6D:C0:98:A4:CF:97:0F + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.globalsign.com/repository/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.globalsign.net/root.crl + + Authority Information Access: + OCSP - URI:http://ocsp.globalsign.com/rootr1 + + X509v3 Authority Key Identifier: + keyid:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B + + Signature Algorithm: sha256WithRSAEncryption + d7:45:9e:a0:dc:e0:e3:61:5a:0b:7d:77:84:17:2d:65:5a:82: + 9a:8d:a3:27:2a:85:f7:c9:ef:e9:86:fd:d4:47:cd:01:52:96: + c5:43:bd:37:b1:e1:b8:f2:a9:d2:8a:11:84:71:91:15:89:dc: + 02:9d:0b:cb:6c:33:85:34:28:9e:20:b2:b1:97:dc:6d:0b:10: + c1:3c:cd:5f:ea:5d:d7:98:31:c5:34:99:5c:00:61:55:c4:1b: + 02:5b:c5:e3:89:c8:b4:b8:6f:1e:38:f2:56:26:e9:41:ef:3d: + cd:ac:99:4f:59:4a:57:2d:4b:7d:ae:c7:88:fb:d6:98:3b:f5: + e5:f0:e8:89:89:b9:8b:03:cb:5a:23:1f:a4:fd:b8:ea:fb:2e: + 9d:ae:6a:73:09:bc:fc:d5:a0:b5:44:82:ab:44:91:2e:50:2e: + 57:c1:43:d8:91:04:8b:e9:11:2e:5f:b4:3f:79:df:1e:fb:3f: + 30:00:8b:53:e3:b7:2c:1d:3b:4d:8b:dc:e4:64:1d:04:58:33: + af:1b:55:e7:ab:0c:bf:30:04:74:e4:f3:0e:2f:30:39:8d:4b: + 04:8c:1e:75:66:66:49:e0:be:40:34:c7:5c:5a:51:92:ba:12: + 3c:52:d5:04:82:55:2d:67:a5:df:b7:95:7c:ee:3f:c3:08:ba: + 04:be:c0:46 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgILBAAAAAABRE7wPiAwDQYJKoZIhvcNAQELBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw +MDBaFw0yNDAyMjAxMDAwMDBaMGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMTYwNAYDVQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0 +aW9uIENBIC0gU0hBMjU2IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCp3cwOs+IyOd1JIqgTaZOHiOEM7nF9vZCHll1Z8syz0lhXV/lG72wm2DZC +jn4wsy+aPlN7H262okxFHzzTFZMcie089Ffeyr3sBppqKqAZUn9R0XQ5CJ+r69eG +ExWXrjbDVGYOWvKgc4Ux47JkFGr/paKOJLu9hVIVonnu8LXuPbj0fYC82ZA1ZbgX +qa2zmJ+gfn1u+z+tfMIbWTaW2jcyS0tdNQJjjtunz2LuzC7Ujcm9PGqRcqIip3It +INH6yjfaGJjmFiRxJUvE5XuJUgkC/VkrBG7KB4HUs9ra2+PMgKhWBwZ8lgg3nds4 +tmI0kWIHdAE42HIw4uuQcSZiwFfzAgMBAAGjggElMIIBITAOBgNVHQ8BAf8EBAMC +AQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU6k581IAt5RWBhiaMgm3A +mKTPlw8wRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v +d3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSG +Imh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYBBQUHAQEE +MTAvMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9yb290 +cjEwHwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZIhvcNAQEL +BQADggEBANdFnqDc4ONhWgt9d4QXLWVagpqNoycqhffJ7+mG/dRHzQFSlsVDvTex +4bjyqdKKEYRxkRWJ3AKdC8tsM4U0KJ4gsrGX3G0LEME8zV/qXdeYMcU0mVwAYVXE +GwJbxeOJyLS4bx448lYm6UHvPc2smU9ZSlctS32ux4j71pg79eXw6ImJuYsDy1oj +H6T9uOr7Lp2uanMJvPzVoLVEgqtEkS5QLlfBQ9iRBIvpES5ftD953x77PzAAi1Pj +tywdO02L3ORkHQRYM68bVeerDL8wBHTk8w4vMDmNSwSMHnVmZkngvkA0x1xaUZK6 +EjxS1QSCVS1npd+3lXzuP8MIugS+wEY= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_14[] = { + 0x30, 0x82, 0x04, 0x63, 0x30, 0x82, 0x03, 0x4b, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x4e, 0xf0, + 0x3e, 0x20, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x57, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, 0x17, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x07, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x41, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, + 0x67, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, + 0x17, 0x0d, 0x31, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x60, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, + 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, + 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x53, 0x48, 0x41, + 0x32, 0x35, 0x36, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xa9, 0xdd, 0xcc, 0x0e, 0xb3, 0xe2, 0x32, + 0x39, 0xdd, 0x49, 0x22, 0xa8, 0x13, 0x69, 0x93, 0x87, 0x88, 0xe1, 0x0c, + 0xee, 0x71, 0x7d, 0xbd, 0x90, 0x87, 0x96, 0x5d, 0x59, 0xf2, 0xcc, 0xb3, + 0xd2, 0x58, 0x57, 0x57, 0xf9, 0x46, 0xef, 0x6c, 0x26, 0xd8, 0x36, 0x42, + 0x8e, 0x7e, 0x30, 0xb3, 0x2f, 0x9a, 0x3e, 0x53, 0x7b, 0x1f, 0x6e, 0xb6, + 0xa2, 0x4c, 0x45, 0x1f, 0x3c, 0xd3, 0x15, 0x93, 0x1c, 0x89, 0xed, 0x3c, + 0xf4, 0x57, 0xde, 0xca, 0xbd, 0xec, 0x06, 0x9a, 0x6a, 0x2a, 0xa0, 0x19, + 0x52, 0x7f, 0x51, 0xd1, 0x74, 0x39, 0x08, 0x9f, 0xab, 0xeb, 0xd7, 0x86, + 0x13, 0x15, 0x97, 0xae, 0x36, 0xc3, 0x54, 0x66, 0x0e, 0x5a, 0xf2, 0xa0, + 0x73, 0x85, 0x31, 0xe3, 0xb2, 0x64, 0x14, 0x6a, 0xff, 0xa5, 0xa2, 0x8e, + 0x24, 0xbb, 0xbd, 0x85, 0x52, 0x15, 0xa2, 0x79, 0xee, 0xf0, 0xb5, 0xee, + 0x3d, 0xb8, 0xf4, 0x7d, 0x80, 0xbc, 0xd9, 0x90, 0x35, 0x65, 0xb8, 0x17, + 0xa9, 0xad, 0xb3, 0x98, 0x9f, 0xa0, 0x7e, 0x7d, 0x6e, 0xfb, 0x3f, 0xad, + 0x7c, 0xc2, 0x1b, 0x59, 0x36, 0x96, 0xda, 0x37, 0x32, 0x4b, 0x4b, 0x5d, + 0x35, 0x02, 0x63, 0x8e, 0xdb, 0xa7, 0xcf, 0x62, 0xee, 0xcc, 0x2e, 0xd4, + 0x8d, 0xc9, 0xbd, 0x3c, 0x6a, 0x91, 0x72, 0xa2, 0x22, 0xa7, 0x72, 0x2d, + 0x20, 0xd1, 0xfa, 0xca, 0x37, 0xda, 0x18, 0x98, 0xe6, 0x16, 0x24, 0x71, + 0x25, 0x4b, 0xc4, 0xe5, 0x7b, 0x89, 0x52, 0x09, 0x02, 0xfd, 0x59, 0x2b, + 0x04, 0x6e, 0xca, 0x07, 0x81, 0xd4, 0xb3, 0xda, 0xda, 0xdb, 0xe3, 0xcc, + 0x80, 0xa8, 0x56, 0x07, 0x06, 0x7c, 0x96, 0x08, 0x37, 0x9d, 0xdb, 0x38, + 0xb6, 0x62, 0x34, 0x91, 0x62, 0x07, 0x74, 0x01, 0x38, 0xd8, 0x72, 0x30, + 0xe2, 0xeb, 0x90, 0x71, 0x26, 0x62, 0xc0, 0x57, 0xf3, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x25, 0x30, 0x82, 0x01, 0x21, 0x30, 0x0e, + 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, + 0x01, 0x06, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xea, 0x4e, 0x7c, + 0xd4, 0x80, 0x2d, 0xe5, 0x15, 0x81, 0x86, 0x26, 0x8c, 0x82, 0x6d, 0xc0, + 0x98, 0xa4, 0xcf, 0x97, 0x0f, 0x30, 0x47, 0x06, 0x03, 0x55, 0x1d, 0x20, + 0x04, 0x40, 0x30, 0x3e, 0x30, 0x3c, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, + 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, + 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x2c, 0x30, 0x2a, 0x30, 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x6e, + 0x65, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x3d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x31, 0x30, 0x2f, 0x30, 0x2d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, + 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, + 0x72, 0x31, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x60, 0x7b, 0x66, 0x1a, 0x45, 0x0d, 0x97, 0xca, 0x89, + 0x50, 0x2f, 0x7d, 0x04, 0xcd, 0x34, 0xa8, 0xff, 0xfc, 0xfd, 0x4b, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xd7, 0x45, 0x9e, 0xa0, 0xdc, + 0xe0, 0xe3, 0x61, 0x5a, 0x0b, 0x7d, 0x77, 0x84, 0x17, 0x2d, 0x65, 0x5a, + 0x82, 0x9a, 0x8d, 0xa3, 0x27, 0x2a, 0x85, 0xf7, 0xc9, 0xef, 0xe9, 0x86, + 0xfd, 0xd4, 0x47, 0xcd, 0x01, 0x52, 0x96, 0xc5, 0x43, 0xbd, 0x37, 0xb1, + 0xe1, 0xb8, 0xf2, 0xa9, 0xd2, 0x8a, 0x11, 0x84, 0x71, 0x91, 0x15, 0x89, + 0xdc, 0x02, 0x9d, 0x0b, 0xcb, 0x6c, 0x33, 0x85, 0x34, 0x28, 0x9e, 0x20, + 0xb2, 0xb1, 0x97, 0xdc, 0x6d, 0x0b, 0x10, 0xc1, 0x3c, 0xcd, 0x5f, 0xea, + 0x5d, 0xd7, 0x98, 0x31, 0xc5, 0x34, 0x99, 0x5c, 0x00, 0x61, 0x55, 0xc4, + 0x1b, 0x02, 0x5b, 0xc5, 0xe3, 0x89, 0xc8, 0xb4, 0xb8, 0x6f, 0x1e, 0x38, + 0xf2, 0x56, 0x26, 0xe9, 0x41, 0xef, 0x3d, 0xcd, 0xac, 0x99, 0x4f, 0x59, + 0x4a, 0x57, 0x2d, 0x4b, 0x7d, 0xae, 0xc7, 0x88, 0xfb, 0xd6, 0x98, 0x3b, + 0xf5, 0xe5, 0xf0, 0xe8, 0x89, 0x89, 0xb9, 0x8b, 0x03, 0xcb, 0x5a, 0x23, + 0x1f, 0xa4, 0xfd, 0xb8, 0xea, 0xfb, 0x2e, 0x9d, 0xae, 0x6a, 0x73, 0x09, + 0xbc, 0xfc, 0xd5, 0xa0, 0xb5, 0x44, 0x82, 0xab, 0x44, 0x91, 0x2e, 0x50, + 0x2e, 0x57, 0xc1, 0x43, 0xd8, 0x91, 0x04, 0x8b, 0xe9, 0x11, 0x2e, 0x5f, + 0xb4, 0x3f, 0x79, 0xdf, 0x1e, 0xfb, 0x3f, 0x30, 0x00, 0x8b, 0x53, 0xe3, + 0xb7, 0x2c, 0x1d, 0x3b, 0x4d, 0x8b, 0xdc, 0xe4, 0x64, 0x1d, 0x04, 0x58, + 0x33, 0xaf, 0x1b, 0x55, 0xe7, 0xab, 0x0c, 0xbf, 0x30, 0x04, 0x74, 0xe4, + 0xf3, 0x0e, 0x2f, 0x30, 0x39, 0x8d, 0x4b, 0x04, 0x8c, 0x1e, 0x75, 0x66, + 0x66, 0x49, 0xe0, 0xbe, 0x40, 0x34, 0xc7, 0x5c, 0x5a, 0x51, 0x92, 0xba, + 0x12, 0x3c, 0x52, 0xd5, 0x04, 0x82, 0x55, 0x2d, 0x67, 0xa5, 0xdf, 0xb7, + 0x95, 0x7c, 0xee, 0x3f, 0xc3, 0x08, 0xba, 0x04, 0xbe, 0xc0, 0x46, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 04:00:00:00:00:01:44:4e:f0:42:47 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA + Validity + Not Before: Feb 20 10:00:00 2014 GMT + Not After : Feb 20 10:00:00 2024 GMT + Subject: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c7:0e:6c:3f:23:93:7f:cc:70:a5:9d:20:c3:0e: + 53:3f:7e:c0:4e:c2:98:49:ca:47:d5:23:ef:03:34: + 85:74:c8:a3:02:2e:46:5c:0b:7d:c9:88:9d:4f:8b: + f0:f8:9c:6c:8c:55:35:db:bf:f2:b3:ea:fb:e3:56: + e7:4a:46:d9:13:22:ca:36:d5:9b:c1:a8:e3:96:43: + 93:f2:0c:bc:e6:f9:e6:e8:99:c8:63:48:78:7f:57: + 36:69:1a:19:1d:5a:d1:d4:7d:c2:9c:d4:7f:e1:80: + 12:ae:7a:ea:88:ea:57:d8:ca:0a:0a:3a:12:49:a2: + 62:19:7a:0d:24:f7:37:eb:b4:73:92:7b:05:23:9b: + 12:b5:ce:eb:29:df:a4:14:02:b9:01:a5:d4:a6:9c: + 43:64:88:de:f8:7e:fe:e3:f5:1e:e5:fe:dc:a3:a8: + e4:66:31:d9:4c:25:e9:18:b9:89:59:09:ae:e9:9d: + 1c:6d:37:0f:4a:1e:35:20:28:e2:af:d4:21:8b:01: + c4:45:ad:6e:2b:63:ab:92:6b:61:0a:4d:20:ed:73: + ba:7c:ce:fe:16:b5:db:9f:80:f0:d6:8b:6c:d9:08: + 79:4a:4f:78:65:da:92:bc:be:35:f9:b3:c4:f9:27: + 80:4e:ff:96:52:e6:02:20:e1:07:73:e9:5d:2b:bd: + b2:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Subject Key Identifier: + 96:DE:61:F1:BD:1C:16:29:53:1C:C0:CC:7D:3B:83:00:40:E6:1A:7C + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.globalsign.com/repository/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.globalsign.net/root.crl + + Authority Information Access: + OCSP - URI:http://ocsp.globalsign.com/rootr1 + + X509v3 Authority Key Identifier: + keyid:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B + + Signature Algorithm: sha256WithRSAEncryption + 46:2a:ee:5e:bd:ae:01:60:37:31:11:86:71:74:b6:46:49:c8: + 10:16:fe:2f:62:23:17:ab:1f:87:f8:82:ed:ca:df:0e:2c:df: + 64:75:8e:e5:18:72:a7:8c:3a:8b:c9:ac:a5:77:50:f7:ef:9e: + a4:e0:a0:8f:14:57:a3:2a:5f:ec:7e:6d:10:e6:ba:8d:b0:08: + 87:76:0e:4c:b2:d9:51:bb:11:02:f2:5c:dd:1c:bd:f3:55:96: + 0f:d4:06:c0:fc:e2:23:8a:24:70:d3:bb:f0:79:1a:a7:61:70: + 83:8a:af:06:c5:20:d8:a1:63:d0:6c:ae:4f:32:d7:ae:7c:18: + 45:75:05:29:77:df:42:40:64:64:86:be:2a:76:09:31:6f:1d: + 24:f4:99:d0:85:fe:f2:21:08:f9:c6:f6:f1:d0:59:ed:d6:56: + 3c:08:28:03:67:ba:f0:f9:f1:90:16:47:ae:67:e6:bc:80:48: + e9:42:76:34:97:55:69:24:0e:83:d6:a0:2d:b4:f5:f3:79:8a: + 49:28:74:1a:41:a1:c2:d3:24:88:35:30:60:94:17:b4:e1:04: + 22:31:3d:3b:2f:17:06:b2:b8:9d:86:2b:5a:69:ef:83:f5:4b: + c4:aa:b4:2a:f8:7c:a1:b1:85:94:8c:f4:0c:87:0c:f4:ac:40: + f8:59:49:98 +-----BEGIN CERTIFICATE----- +MIIEaTCCA1GgAwIBAgILBAAAAAABRE7wQkcwDQYJKoZIhvcNAQELBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw +MDBaFw0yNDAyMjAxMDAwMDBaMGYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMTwwOgYDVQQDEzNHbG9iYWxTaWduIE9yZ2FuaXphdGlvbiBW +YWxpZGF0aW9uIENBIC0gU0hBMjU2IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDHDmw/I5N/zHClnSDDDlM/fsBOwphJykfVI+8DNIV0yKMCLkZc +C33JiJ1Pi/D4nGyMVTXbv/Kz6vvjVudKRtkTIso21ZvBqOOWQ5PyDLzm+ebomchj +SHh/VzZpGhkdWtHUfcKc1H/hgBKueuqI6lfYygoKOhJJomIZeg0k9zfrtHOSewUj +mxK1zusp36QUArkBpdSmnENkiN74fv7j9R7l/tyjqORmMdlMJekYuYlZCa7pnRxt +Nw9KHjUgKOKv1CGLAcRFrW4rY6uSa2EKTSDtc7p8zv4WtdufgPDWi2zZCHlKT3hl +2pK8vjX5s8T5J4BO/5ZS5gIg4Qdz6V0rvbLxAgMBAAGjggElMIIBITAOBgNVHQ8B +Af8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUlt5h8b0cFilT +HMDMfTuDAEDmGnwwRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0 +dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCow +KKAmoCSGImh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYB +BQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNv +bS9yb290cjEwHwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZI +hvcNAQELBQADggEBAEYq7l69rgFgNzERhnF0tkZJyBAW/i9iIxerH4f4gu3K3w4s +32R1juUYcqeMOovJrKV3UPfvnqTgoI8UV6MqX+x+bRDmuo2wCId2Dkyy2VG7EQLy +XN0cvfNVlg/UBsD84iOKJHDTu/B5GqdhcIOKrwbFINihY9Bsrk8y1658GEV1BSl3 +30JAZGSGvip2CTFvHST0mdCF/vIhCPnG9vHQWe3WVjwIKANnuvD58ZAWR65n5ryA +SOlCdjSXVWkkDoPWoC209fN5ikkodBpBocLTJIg1MGCUF7ThBCIxPTsvFwayuJ2G +K1pp74P1S8SqtCr4fKGxhZSM9AyHDPSsQPhZSZg= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_15[] = { + 0x30, 0x82, 0x04, 0x69, 0x30, 0x82, 0x03, 0x51, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x4e, 0xf0, + 0x42, 0x47, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x57, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, 0x17, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x07, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x41, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, + 0x67, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, + 0x17, 0x0d, 0x31, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x66, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, + 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, + 0x31, 0x3c, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x33, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x43, 0x41, + 0x20, 0x2d, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x2d, 0x20, + 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xc7, + 0x0e, 0x6c, 0x3f, 0x23, 0x93, 0x7f, 0xcc, 0x70, 0xa5, 0x9d, 0x20, 0xc3, + 0x0e, 0x53, 0x3f, 0x7e, 0xc0, 0x4e, 0xc2, 0x98, 0x49, 0xca, 0x47, 0xd5, + 0x23, 0xef, 0x03, 0x34, 0x85, 0x74, 0xc8, 0xa3, 0x02, 0x2e, 0x46, 0x5c, + 0x0b, 0x7d, 0xc9, 0x88, 0x9d, 0x4f, 0x8b, 0xf0, 0xf8, 0x9c, 0x6c, 0x8c, + 0x55, 0x35, 0xdb, 0xbf, 0xf2, 0xb3, 0xea, 0xfb, 0xe3, 0x56, 0xe7, 0x4a, + 0x46, 0xd9, 0x13, 0x22, 0xca, 0x36, 0xd5, 0x9b, 0xc1, 0xa8, 0xe3, 0x96, + 0x43, 0x93, 0xf2, 0x0c, 0xbc, 0xe6, 0xf9, 0xe6, 0xe8, 0x99, 0xc8, 0x63, + 0x48, 0x78, 0x7f, 0x57, 0x36, 0x69, 0x1a, 0x19, 0x1d, 0x5a, 0xd1, 0xd4, + 0x7d, 0xc2, 0x9c, 0xd4, 0x7f, 0xe1, 0x80, 0x12, 0xae, 0x7a, 0xea, 0x88, + 0xea, 0x57, 0xd8, 0xca, 0x0a, 0x0a, 0x3a, 0x12, 0x49, 0xa2, 0x62, 0x19, + 0x7a, 0x0d, 0x24, 0xf7, 0x37, 0xeb, 0xb4, 0x73, 0x92, 0x7b, 0x05, 0x23, + 0x9b, 0x12, 0xb5, 0xce, 0xeb, 0x29, 0xdf, 0xa4, 0x14, 0x02, 0xb9, 0x01, + 0xa5, 0xd4, 0xa6, 0x9c, 0x43, 0x64, 0x88, 0xde, 0xf8, 0x7e, 0xfe, 0xe3, + 0xf5, 0x1e, 0xe5, 0xfe, 0xdc, 0xa3, 0xa8, 0xe4, 0x66, 0x31, 0xd9, 0x4c, + 0x25, 0xe9, 0x18, 0xb9, 0x89, 0x59, 0x09, 0xae, 0xe9, 0x9d, 0x1c, 0x6d, + 0x37, 0x0f, 0x4a, 0x1e, 0x35, 0x20, 0x28, 0xe2, 0xaf, 0xd4, 0x21, 0x8b, + 0x01, 0xc4, 0x45, 0xad, 0x6e, 0x2b, 0x63, 0xab, 0x92, 0x6b, 0x61, 0x0a, + 0x4d, 0x20, 0xed, 0x73, 0xba, 0x7c, 0xce, 0xfe, 0x16, 0xb5, 0xdb, 0x9f, + 0x80, 0xf0, 0xd6, 0x8b, 0x6c, 0xd9, 0x08, 0x79, 0x4a, 0x4f, 0x78, 0x65, + 0xda, 0x92, 0xbc, 0xbe, 0x35, 0xf9, 0xb3, 0xc4, 0xf9, 0x27, 0x80, 0x4e, + 0xff, 0x96, 0x52, 0xe6, 0x02, 0x20, 0xe1, 0x07, 0x73, 0xe9, 0x5d, 0x2b, + 0xbd, 0xb2, 0xf1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x25, + 0x30, 0x82, 0x01, 0x21, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, + 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0x96, 0xde, 0x61, 0xf1, 0xbd, 0x1c, 0x16, 0x29, 0x53, + 0x1c, 0xc0, 0xcc, 0x7d, 0x3b, 0x83, 0x00, 0x40, 0xe6, 0x1a, 0x7c, 0x30, + 0x47, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x40, 0x30, 0x3e, 0x30, 0x3c, + 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x26, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2c, 0x30, 0x2a, 0x30, + 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x6f, 0x6f, + 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3d, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x21, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x72, 0x31, 0x30, 0x1f, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x60, 0x7b, 0x66, + 0x1a, 0x45, 0x0d, 0x97, 0xca, 0x89, 0x50, 0x2f, 0x7d, 0x04, 0xcd, 0x34, + 0xa8, 0xff, 0xfc, 0xfd, 0x4b, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, + 0x00, 0x46, 0x2a, 0xee, 0x5e, 0xbd, 0xae, 0x01, 0x60, 0x37, 0x31, 0x11, + 0x86, 0x71, 0x74, 0xb6, 0x46, 0x49, 0xc8, 0x10, 0x16, 0xfe, 0x2f, 0x62, + 0x23, 0x17, 0xab, 0x1f, 0x87, 0xf8, 0x82, 0xed, 0xca, 0xdf, 0x0e, 0x2c, + 0xdf, 0x64, 0x75, 0x8e, 0xe5, 0x18, 0x72, 0xa7, 0x8c, 0x3a, 0x8b, 0xc9, + 0xac, 0xa5, 0x77, 0x50, 0xf7, 0xef, 0x9e, 0xa4, 0xe0, 0xa0, 0x8f, 0x14, + 0x57, 0xa3, 0x2a, 0x5f, 0xec, 0x7e, 0x6d, 0x10, 0xe6, 0xba, 0x8d, 0xb0, + 0x08, 0x87, 0x76, 0x0e, 0x4c, 0xb2, 0xd9, 0x51, 0xbb, 0x11, 0x02, 0xf2, + 0x5c, 0xdd, 0x1c, 0xbd, 0xf3, 0x55, 0x96, 0x0f, 0xd4, 0x06, 0xc0, 0xfc, + 0xe2, 0x23, 0x8a, 0x24, 0x70, 0xd3, 0xbb, 0xf0, 0x79, 0x1a, 0xa7, 0x61, + 0x70, 0x83, 0x8a, 0xaf, 0x06, 0xc5, 0x20, 0xd8, 0xa1, 0x63, 0xd0, 0x6c, + 0xae, 0x4f, 0x32, 0xd7, 0xae, 0x7c, 0x18, 0x45, 0x75, 0x05, 0x29, 0x77, + 0xdf, 0x42, 0x40, 0x64, 0x64, 0x86, 0xbe, 0x2a, 0x76, 0x09, 0x31, 0x6f, + 0x1d, 0x24, 0xf4, 0x99, 0xd0, 0x85, 0xfe, 0xf2, 0x21, 0x08, 0xf9, 0xc6, + 0xf6, 0xf1, 0xd0, 0x59, 0xed, 0xd6, 0x56, 0x3c, 0x08, 0x28, 0x03, 0x67, + 0xba, 0xf0, 0xf9, 0xf1, 0x90, 0x16, 0x47, 0xae, 0x67, 0xe6, 0xbc, 0x80, + 0x48, 0xe9, 0x42, 0x76, 0x34, 0x97, 0x55, 0x69, 0x24, 0x0e, 0x83, 0xd6, + 0xa0, 0x2d, 0xb4, 0xf5, 0xf3, 0x79, 0x8a, 0x49, 0x28, 0x74, 0x1a, 0x41, + 0xa1, 0xc2, 0xd3, 0x24, 0x88, 0x35, 0x30, 0x60, 0x94, 0x17, 0xb4, 0xe1, + 0x04, 0x22, 0x31, 0x3d, 0x3b, 0x2f, 0x17, 0x06, 0xb2, 0xb8, 0x9d, 0x86, + 0x2b, 0x5a, 0x69, 0xef, 0x83, 0xf5, 0x4b, 0xc4, 0xaa, 0xb4, 0x2a, 0xf8, + 0x7c, 0xa1, 0xb1, 0x85, 0x94, 0x8c, 0xf4, 0x0c, 0x87, 0x0c, 0xf4, 0xac, + 0x40, 0xf8, 0x59, 0x49, 0x98, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 4d:5f:2c:34:08:b2:4c:20:cd:6d:50:7e:24:4d:c9:ec + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Validity + Not Before: Feb 8 00:00:00 2010 GMT + Not After : Feb 7 23:59:59 2020 GMT + Subject: C=US, O=Thawte, Inc., CN=Thawte SSL CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:99:e4:85:5b:76:49:7d:2f:05:d8:c5:ac:c8:c8: + a9:d3:dc:98:e6:d7:34:a6:2f:0c:f2:22:26:d8:a3: + c9:14:4c:8f:05:a4:45:e8:14:0c:58:90:05:1a:b7: + c5:c1:06:a5:80:af:bb:1d:49:6b:52:34:88:c3:59: + e7:ef:6b:c4:27:41:8c:2b:66:1d:d0:e0:a3:97:98: + 19:34:4b:41:d5:98:d5:c7:05:ad:a2:e4:d7:ed:0c: + ad:4f:c1:b5:b0:21:fd:3e:50:53:b2:c4:90:d0:d4: + 30:67:6c:9a:f1:0e:74:c4:c2:dc:8a:e8:97:ff:c9: + 92:ae:01:8a:56:0a:98:32:b0:00:23:ec:90:1a:60: + c3:ed:bb:3a:cb:0f:63:9f:0d:44:c9:52:e1:25:96: + bf:ed:50:95:89:7f:56:14:b1:b7:61:1d:1c:07:8c: + 3a:2c:f7:ff:80:de:39:45:d5:af:1a:d1:78:d8:c7: + 71:6a:a3:19:a7:32:50:21:e9:f2:0e:a1:c6:13:03: + 44:48:d1:66:a8:52:57:d7:11:b4:93:8b:e5:99:9f: + 5d:e7:78:51:e5:4d:f6:b7:59:b4:76:b5:09:37:4d: + 06:38:13:7a:1c:08:98:5c:c4:48:4a:cb:52:a0:a9: + f8:b1:9d:8e:7b:79:b0:20:2f:3c:96:a8:11:62:47: + bb:11 + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://ocsp.thawte.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.thawte.com/ThawtePCA.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-9 + X509v3 Subject Key Identifier: + A7:A2:83:BB:34:45:40:3D:FC:D5:30:4F:12:B9:3E:A1:01:9F:F6:DB + X509v3 Authority Key Identifier: + keyid:7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + + Signature Algorithm: sha1WithRSAEncryption + 80:22:80:e0:6c:c8:95:16:d7:57:26:87:f3:72:34:db:c6:72: + 56:27:3e:d3:96:f6:2e:25:91:a5:3e:33:97:a7:4b:e5:2f:fb: + 25:7d:2f:07:61:fa:6f:83:74:4c:4c:53:72:20:a4:7a:cf:51: + 51:56:81:88:b0:6d:1f:36:2c:c8:2b:b1:88:99:c1:fe:44:ab: + 48:51:7c:d8:f2:44:64:2a:d8:71:a7:fb:1a:2f:f9:19:8d:34: + b2:23:bf:c4:4c:55:1d:8e:44:e8:aa:5d:9a:dd:9f:fd:03:c7: + ba:24:43:8d:2d:47:44:db:f6:d8:98:c8:b2:f9:da:ef:ed:29: + 5c:69:12:fa:d1:23:96:0f:bf:9c:0d:f2:79:45:53:37:9a:56: + 2f:e8:57:10:70:f6:ee:89:0c:49:89:9a:c1:23:f5:c2:2a:cc: + 41:cf:22:ab:65:6e:b7:94:82:6d:2f:40:5f:58:de:eb:95:2b: + a6:72:68:52:19:91:2a:ae:75:9d:4e:92:e6:ca:de:54:ea:18: + ab:25:3c:e6:64:a6:79:1f:26:7d:61:ed:7d:d2:e5:71:55:d8: + 93:17:7c:14:38:30:3c:df:86:e3:4c:ad:49:e3:97:59:ce:1b: + 9b:2b:ce:dc:65:d4:0b:28:6b:4e:84:46:51:44:f7:33:08:2d: + 58:97:21:ae +-----BEGIN CERTIFICATE----- +MIIEbDCCA1SgAwIBAgIQTV8sNAiyTCDNbVB+JE3J7DANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTAwMjA4MDAwMDAwWhcNMjAw +MjA3MjM1OTU5WjA8MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMu +MRYwFAYDVQQDEw1UaGF3dGUgU1NMIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAmeSFW3ZJfS8F2MWsyMip09yY5tc0pi8M8iIm2KPJFEyPBaRF6BQM +WJAFGrfFwQalgK+7HUlrUjSIw1nn72vEJ0GMK2Yd0OCjl5gZNEtB1ZjVxwWtouTX +7QytT8G1sCH9PlBTssSQ0NQwZ2ya8Q50xMLciuiX/8mSrgGKVgqYMrAAI+yQGmDD +7bs6yw9jnw1EyVLhJZa/7VCViX9WFLG3YR0cB4w6LPf/gN45RdWvGtF42MdxaqMZ +pzJQIenyDqHGEwNESNFmqFJX1xG0k4vlmZ9d53hR5U32t1m0drUJN00GOBN6HAiY +XMRISstSoKn4sZ2Oe3mwIC88lqgRYke7EQIDAQABo4H7MIH4MDIGCCsGAQUFBwEB +BCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTASBgNVHRMB +Af8ECDAGAQH/AgEAMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudGhhd3Rl +LmNvbS9UaGF3dGVQQ0EuY3JsMA4GA1UdDwEB/wQEAwIBBjAoBgNVHREEITAfpB0w +GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItOTAdBgNVHQ4EFgQUp6KDuzRFQD38 +1TBPErk+oQGf9tswHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutXSFAwDQYJ +KoZIhvcNAQEFBQADggEBAIAigOBsyJUW11cmh/NyNNvGclYnPtOW9i4lkaU+M5en +S+Uv+yV9Lwdh+m+DdExMU3IgpHrPUVFWgYiwbR82LMgrsYiZwf5Eq0hRfNjyRGQq +2HGn+xov+RmNNLIjv8RMVR2OROiqXZrdn/0Dx7okQ40tR0Tb9tiYyLL52u/tKVxp +EvrRI5YPv5wN8nlFUzeaVi/oVxBw9u6JDEmJmsEj9cIqzEHPIqtlbreUgm0vQF9Y +3uuVK6ZyaFIZkSqudZ1OkubK3lTqGKslPOZkpnkfJn1h7X3S5XFV2JMXfBQ4MDzf +huNMrUnjl1nOG5srztxl1Asoa06ERlFE9zMILViXIa4= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_16[] = { + 0x30, 0x82, 0x04, 0x6c, 0x30, 0x82, 0x03, 0x54, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x4d, 0x5f, 0x2c, 0x34, 0x08, 0xb2, 0x4c, 0x20, 0xcd, + 0x6d, 0x50, 0x7e, 0x24, 0x4d, 0xc9, 0xec, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x32, 0x30, 0x38, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, 0x30, + 0x32, 0x30, 0x37, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x3c, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x54, + 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x99, 0xe4, 0x85, + 0x5b, 0x76, 0x49, 0x7d, 0x2f, 0x05, 0xd8, 0xc5, 0xac, 0xc8, 0xc8, 0xa9, + 0xd3, 0xdc, 0x98, 0xe6, 0xd7, 0x34, 0xa6, 0x2f, 0x0c, 0xf2, 0x22, 0x26, + 0xd8, 0xa3, 0xc9, 0x14, 0x4c, 0x8f, 0x05, 0xa4, 0x45, 0xe8, 0x14, 0x0c, + 0x58, 0x90, 0x05, 0x1a, 0xb7, 0xc5, 0xc1, 0x06, 0xa5, 0x80, 0xaf, 0xbb, + 0x1d, 0x49, 0x6b, 0x52, 0x34, 0x88, 0xc3, 0x59, 0xe7, 0xef, 0x6b, 0xc4, + 0x27, 0x41, 0x8c, 0x2b, 0x66, 0x1d, 0xd0, 0xe0, 0xa3, 0x97, 0x98, 0x19, + 0x34, 0x4b, 0x41, 0xd5, 0x98, 0xd5, 0xc7, 0x05, 0xad, 0xa2, 0xe4, 0xd7, + 0xed, 0x0c, 0xad, 0x4f, 0xc1, 0xb5, 0xb0, 0x21, 0xfd, 0x3e, 0x50, 0x53, + 0xb2, 0xc4, 0x90, 0xd0, 0xd4, 0x30, 0x67, 0x6c, 0x9a, 0xf1, 0x0e, 0x74, + 0xc4, 0xc2, 0xdc, 0x8a, 0xe8, 0x97, 0xff, 0xc9, 0x92, 0xae, 0x01, 0x8a, + 0x56, 0x0a, 0x98, 0x32, 0xb0, 0x00, 0x23, 0xec, 0x90, 0x1a, 0x60, 0xc3, + 0xed, 0xbb, 0x3a, 0xcb, 0x0f, 0x63, 0x9f, 0x0d, 0x44, 0xc9, 0x52, 0xe1, + 0x25, 0x96, 0xbf, 0xed, 0x50, 0x95, 0x89, 0x7f, 0x56, 0x14, 0xb1, 0xb7, + 0x61, 0x1d, 0x1c, 0x07, 0x8c, 0x3a, 0x2c, 0xf7, 0xff, 0x80, 0xde, 0x39, + 0x45, 0xd5, 0xaf, 0x1a, 0xd1, 0x78, 0xd8, 0xc7, 0x71, 0x6a, 0xa3, 0x19, + 0xa7, 0x32, 0x50, 0x21, 0xe9, 0xf2, 0x0e, 0xa1, 0xc6, 0x13, 0x03, 0x44, + 0x48, 0xd1, 0x66, 0xa8, 0x52, 0x57, 0xd7, 0x11, 0xb4, 0x93, 0x8b, 0xe5, + 0x99, 0x9f, 0x5d, 0xe7, 0x78, 0x51, 0xe5, 0x4d, 0xf6, 0xb7, 0x59, 0xb4, + 0x76, 0xb5, 0x09, 0x37, 0x4d, 0x06, 0x38, 0x13, 0x7a, 0x1c, 0x08, 0x98, + 0x5c, 0xc4, 0x48, 0x4a, 0xcb, 0x52, 0xa0, 0xa9, 0xf8, 0xb1, 0x9d, 0x8e, + 0x7b, 0x79, 0xb0, 0x20, 0x2f, 0x3c, 0x96, 0xa8, 0x11, 0x62, 0x47, 0xbb, + 0x11, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xfb, 0x30, 0x81, 0xf8, + 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x26, 0x30, 0x24, 0x30, 0x22, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x16, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, + 0x30, 0x34, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2d, 0x30, 0x2b, 0x30, + 0x29, 0xa0, 0x27, 0xa0, 0x25, 0x86, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, + 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x28, + 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x21, 0x30, 0x1f, 0xa4, 0x1d, 0x30, + 0x1b, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x10, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, + 0x2d, 0x32, 0x2d, 0x39, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0xa7, 0xa2, 0x83, 0xbb, 0x34, 0x45, 0x40, 0x3d, 0xfc, + 0xd5, 0x30, 0x4f, 0x12, 0xb9, 0x3e, 0xa1, 0x01, 0x9f, 0xf6, 0xdb, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0x7b, 0x5b, 0x45, 0xcf, 0xaf, 0xce, 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, + 0x6a, 0xb6, 0xf3, 0x46, 0xeb, 0x57, 0x48, 0x50, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x80, 0x22, 0x80, 0xe0, 0x6c, 0xc8, 0x95, 0x16, + 0xd7, 0x57, 0x26, 0x87, 0xf3, 0x72, 0x34, 0xdb, 0xc6, 0x72, 0x56, 0x27, + 0x3e, 0xd3, 0x96, 0xf6, 0x2e, 0x25, 0x91, 0xa5, 0x3e, 0x33, 0x97, 0xa7, + 0x4b, 0xe5, 0x2f, 0xfb, 0x25, 0x7d, 0x2f, 0x07, 0x61, 0xfa, 0x6f, 0x83, + 0x74, 0x4c, 0x4c, 0x53, 0x72, 0x20, 0xa4, 0x7a, 0xcf, 0x51, 0x51, 0x56, + 0x81, 0x88, 0xb0, 0x6d, 0x1f, 0x36, 0x2c, 0xc8, 0x2b, 0xb1, 0x88, 0x99, + 0xc1, 0xfe, 0x44, 0xab, 0x48, 0x51, 0x7c, 0xd8, 0xf2, 0x44, 0x64, 0x2a, + 0xd8, 0x71, 0xa7, 0xfb, 0x1a, 0x2f, 0xf9, 0x19, 0x8d, 0x34, 0xb2, 0x23, + 0xbf, 0xc4, 0x4c, 0x55, 0x1d, 0x8e, 0x44, 0xe8, 0xaa, 0x5d, 0x9a, 0xdd, + 0x9f, 0xfd, 0x03, 0xc7, 0xba, 0x24, 0x43, 0x8d, 0x2d, 0x47, 0x44, 0xdb, + 0xf6, 0xd8, 0x98, 0xc8, 0xb2, 0xf9, 0xda, 0xef, 0xed, 0x29, 0x5c, 0x69, + 0x12, 0xfa, 0xd1, 0x23, 0x96, 0x0f, 0xbf, 0x9c, 0x0d, 0xf2, 0x79, 0x45, + 0x53, 0x37, 0x9a, 0x56, 0x2f, 0xe8, 0x57, 0x10, 0x70, 0xf6, 0xee, 0x89, + 0x0c, 0x49, 0x89, 0x9a, 0xc1, 0x23, 0xf5, 0xc2, 0x2a, 0xcc, 0x41, 0xcf, + 0x22, 0xab, 0x65, 0x6e, 0xb7, 0x94, 0x82, 0x6d, 0x2f, 0x40, 0x5f, 0x58, + 0xde, 0xeb, 0x95, 0x2b, 0xa6, 0x72, 0x68, 0x52, 0x19, 0x91, 0x2a, 0xae, + 0x75, 0x9d, 0x4e, 0x92, 0xe6, 0xca, 0xde, 0x54, 0xea, 0x18, 0xab, 0x25, + 0x3c, 0xe6, 0x64, 0xa6, 0x79, 0x1f, 0x26, 0x7d, 0x61, 0xed, 0x7d, 0xd2, + 0xe5, 0x71, 0x55, 0xd8, 0x93, 0x17, 0x7c, 0x14, 0x38, 0x30, 0x3c, 0xdf, + 0x86, 0xe3, 0x4c, 0xad, 0x49, 0xe3, 0x97, 0x59, 0xce, 0x1b, 0x9b, 0x2b, + 0xce, 0xdc, 0x65, 0xd4, 0x0b, 0x28, 0x6b, 0x4e, 0x84, 0x46, 0x51, 0x44, + 0xf7, 0x33, 0x08, 0x2d, 0x58, 0x97, 0x21, 0xae, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 6e:8a:90:eb:cf:f0:44:8a:72:0d:08:05:d0:82:a5:44 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust EV SSL CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d9:b4:05:f2:38:67:0f:09:e7:7c:f5:63:2a:e5: + b9:5e:a8:11:ae:75:71:d9:4c:84:67:ad:89:5d:fc: + 28:3d:2a:b0:a5:d5:d4:e6:30:0a:84:d4:e4:18:cb: + 85:37:c5:46:71:eb:1c:7b:69:db:65:69:8c:30:05: + 3e:07:e1:6f:3c:c1:0b:61:e6:38:44:fc:bc:8c:2f: + 4e:75:57:f5:96:99:7c:3e:87:1f:0f:90:4b:70:c3: + 3f:39:45:3b:3a:6b:cb:bb:7b:40:54:d1:8b:4b:a1: + 72:d2:04:e9:e0:72:1a:93:11:7a:2f:f1:ab:9d:9c: + 98:58:ae:2c:ea:77:5f:2f:2e:87:af:b8:6b:e3:e2: + e2:3f:d6:3d:e0:96:44:df:11:55:63:52:2f:f4:26: + 78:c4:0f:20:4d:0a:c0:68:70:15:86:38:ee:b7:76: + 88:ab:18:8f:4f:35:1e:d4:8c:c9:db:7e:3d:44:d4: + 36:8c:c1:37:b5:59:5b:87:f9:e9:f1:d4:c5:28:bd: + 1d:dc:cc:96:72:d1:7a:a1:a7:20:b5:b8:af:f8:6e: + a5:60:7b:2b:8d:1f:ee:f4:2b:d6:69:cd:af:ca:80: + 58:29:e8:4c:00:20:8a:49:0a:6e:8e:8c:a8:d1:00: + 12:84:b6:c5:e2:95:a2:c0:3b:a4:6b:f0:82:d0:96: + 5d:25 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://g2.symcb.com + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.geotrust.com/resources/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g1.symcb.com/GeoTrustPCA.crl + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-538 + X509v3 Subject Key Identifier: + DE:CF:5C:50:B7:AE:02:1F:15:17:AA:16:E8:0D:B5:28:9D:6A:5A:F3 + X509v3 Authority Key Identifier: + keyid:2C:D5:50:41:97:15:8B:F0:8F:36:61:5B:4A:FB:6B:D9:99:C9:33:92 + + Signature Algorithm: sha256WithRSAEncryption + b4:8e:bd:07:b9:9a:85:ec:3b:67:bd:07:60:61:e6:84:d1:d4: + ef:eb:1b:ba:0b:82:4b:95:64:b6:66:53:23:bd:b7:84:dd:e4: + 7b:8d:09:da:cf:b2:f5:f1:c3:bf:87:84:be:4e:a6:a8:c2:e7: + 12:39:28:34:e0:a4:56:44:40:0c:9f:88:a3:15:d3:e8:d3:5e: + e3:1c:04:60:fb:69:36:4f:6a:7e:0c:2a:28:c1:f3:aa:58:0e: + 6c:ce:1d:07:c3:4a:c0:9c:8d:c3:74:b1:ae:82:f0:1a:e1:f9: + 4e:29:bd:46:de:b7:1d:f9:7d:db:d9:0f:84:cb:92:45:cc:1c: + b3:18:f6:a0:cf:71:6f:0c:2e:9b:d2:2d:b3:99:93:83:44:ac: + 15:aa:9b:2e:67:ec:4f:88:69:05:56:7b:8b:b2:43:a9:3a:6c: + 1c:13:33:25:1b:fd:a8:c8:57:02:fb:1c:e0:d1:bd:3b:56:44: + 65:c3:63:f5:1b:ef:ec:30:d9:e3:6e:2e:13:e9:39:08:2a:0c: + 72:f3:9a:cc:f6:27:29:84:d3:ef:4c:c7:84:11:65:1f:c6:e3: + 81:03:db:87:cc:78:f7:b5:9d:96:3e:6a:7f:bc:11:85:7a:75: + e6:41:7d:0d:cf:f9:e5:85:69:25:8f:c7:8d:07:2d:f8:69:0f: + cb:41:53:00 +-----BEGIN CERTIFICATE----- +MIIEbjCCA1agAwIBAgIQboqQ68/wRIpyDQgF0IKlRDANBgkqhkiG9w0BAQsFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xMzEw +MzEwMDAwMDBaFw0yMzEwMzAyMzU5NTlaMEcxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMSAwHgYDVQQDExdHZW9UcnVzdCBFViBTU0wgQ0EgLSBH +NDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANm0BfI4Zw8J53z1Yyrl +uV6oEa51cdlMhGetiV38KD0qsKXV1OYwCoTU5BjLhTfFRnHrHHtp22VpjDAFPgfh +bzzBC2HmOET8vIwvTnVX9ZaZfD6HHw+QS3DDPzlFOzpry7t7QFTRi0uhctIE6eBy +GpMRei/xq52cmFiuLOp3Xy8uh6+4a+Pi4j/WPeCWRN8RVWNSL/QmeMQPIE0KwGhw +FYY47rd2iKsYj081HtSMydt+PUTUNozBN7VZW4f56fHUxSi9HdzMlnLReqGnILW4 +r/hupWB7K40f7vQr1mnNr8qAWCnoTAAgikkKbo6MqNEAEoS2xeKVosA7pGvwgtCW +XSUCAwEAAaOCAUMwggE/MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQD +AgEGMC8GCCsGAQUFBwEBBCMwITAfBggrBgEFBQcwAYYTaHR0cDovL2cyLnN5bWNi +LmNvbTBHBgNVHSAEQDA+MDwGBFUdIAAwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93 +d3cuZ2VvdHJ1c3QuY29tL3Jlc291cmNlcy9jcHMwNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2cxLnN5bWNiLmNvbS9HZW9UcnVzdFBDQS5jcmwwKQYDVR0RBCIwIKQe +MBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNTM4MB0GA1UdDgQWBBTez1xQt64C +HxUXqhboDbUonWpa8zAfBgNVHSMEGDAWgBQs1VBBlxWL8I82YVtK+2vZmckzkjAN +BgkqhkiG9w0BAQsFAAOCAQEAtI69B7mahew7Z70HYGHmhNHU7+sbuguCS5VktmZT +I723hN3ke40J2s+y9fHDv4eEvk6mqMLnEjkoNOCkVkRADJ+IoxXT6NNe4xwEYPtp +Nk9qfgwqKMHzqlgObM4dB8NKwJyNw3SxroLwGuH5Tim9Rt63Hfl929kPhMuSRcwc +sxj2oM9xbwwum9Its5mTg0SsFaqbLmfsT4hpBVZ7i7JDqTpsHBMzJRv9qMhXAvsc +4NG9O1ZEZcNj9Rvv7DDZ424uE+k5CCoMcvOazPYnKYTT70zHhBFlH8bjgQPbh8x4 +97Wdlj5qf7wRhXp15kF9Dc/55YVpJY/HjQct+GkPy0FTAA== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_17[] = { + 0x30, 0x82, 0x04, 0x6e, 0x30, 0x82, 0x03, 0x56, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x6e, 0x8a, 0x90, 0xeb, 0xcf, 0xf0, 0x44, 0x8a, 0x72, + 0x0d, 0x08, 0x05, 0xd0, 0x82, 0xa5, 0x44, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x58, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x28, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, + 0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, + 0x33, 0x31, 0x30, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, + 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x17, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, + 0x56, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, + 0x34, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, + 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xd9, 0xb4, + 0x05, 0xf2, 0x38, 0x67, 0x0f, 0x09, 0xe7, 0x7c, 0xf5, 0x63, 0x2a, 0xe5, + 0xb9, 0x5e, 0xa8, 0x11, 0xae, 0x75, 0x71, 0xd9, 0x4c, 0x84, 0x67, 0xad, + 0x89, 0x5d, 0xfc, 0x28, 0x3d, 0x2a, 0xb0, 0xa5, 0xd5, 0xd4, 0xe6, 0x30, + 0x0a, 0x84, 0xd4, 0xe4, 0x18, 0xcb, 0x85, 0x37, 0xc5, 0x46, 0x71, 0xeb, + 0x1c, 0x7b, 0x69, 0xdb, 0x65, 0x69, 0x8c, 0x30, 0x05, 0x3e, 0x07, 0xe1, + 0x6f, 0x3c, 0xc1, 0x0b, 0x61, 0xe6, 0x38, 0x44, 0xfc, 0xbc, 0x8c, 0x2f, + 0x4e, 0x75, 0x57, 0xf5, 0x96, 0x99, 0x7c, 0x3e, 0x87, 0x1f, 0x0f, 0x90, + 0x4b, 0x70, 0xc3, 0x3f, 0x39, 0x45, 0x3b, 0x3a, 0x6b, 0xcb, 0xbb, 0x7b, + 0x40, 0x54, 0xd1, 0x8b, 0x4b, 0xa1, 0x72, 0xd2, 0x04, 0xe9, 0xe0, 0x72, + 0x1a, 0x93, 0x11, 0x7a, 0x2f, 0xf1, 0xab, 0x9d, 0x9c, 0x98, 0x58, 0xae, + 0x2c, 0xea, 0x77, 0x5f, 0x2f, 0x2e, 0x87, 0xaf, 0xb8, 0x6b, 0xe3, 0xe2, + 0xe2, 0x3f, 0xd6, 0x3d, 0xe0, 0x96, 0x44, 0xdf, 0x11, 0x55, 0x63, 0x52, + 0x2f, 0xf4, 0x26, 0x78, 0xc4, 0x0f, 0x20, 0x4d, 0x0a, 0xc0, 0x68, 0x70, + 0x15, 0x86, 0x38, 0xee, 0xb7, 0x76, 0x88, 0xab, 0x18, 0x8f, 0x4f, 0x35, + 0x1e, 0xd4, 0x8c, 0xc9, 0xdb, 0x7e, 0x3d, 0x44, 0xd4, 0x36, 0x8c, 0xc1, + 0x37, 0xb5, 0x59, 0x5b, 0x87, 0xf9, 0xe9, 0xf1, 0xd4, 0xc5, 0x28, 0xbd, + 0x1d, 0xdc, 0xcc, 0x96, 0x72, 0xd1, 0x7a, 0xa1, 0xa7, 0x20, 0xb5, 0xb8, + 0xaf, 0xf8, 0x6e, 0xa5, 0x60, 0x7b, 0x2b, 0x8d, 0x1f, 0xee, 0xf4, 0x2b, + 0xd6, 0x69, 0xcd, 0xaf, 0xca, 0x80, 0x58, 0x29, 0xe8, 0x4c, 0x00, 0x20, + 0x8a, 0x49, 0x0a, 0x6e, 0x8e, 0x8c, 0xa8, 0xd1, 0x00, 0x12, 0x84, 0xb6, + 0xc5, 0xe2, 0x95, 0xa2, 0xc0, 0x3b, 0xa4, 0x6b, 0xf0, 0x82, 0xd0, 0x96, + 0x5d, 0x25, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x43, 0x30, + 0x82, 0x01, 0x3f, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x2f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x23, 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x47, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x40, 0x30, 0x3e, 0x30, 0x3c, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, + 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x34, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x2d, 0x30, 0x2b, 0x30, 0x29, 0xa0, 0x27, 0xa0, 0x25, 0x86, 0x23, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x31, 0x2e, 0x73, 0x79, + 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x6f, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x50, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x29, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, + 0x30, 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x11, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, + 0x2d, 0x31, 0x2d, 0x35, 0x33, 0x38, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0xde, 0xcf, 0x5c, 0x50, 0xb7, 0xae, 0x02, + 0x1f, 0x15, 0x17, 0xaa, 0x16, 0xe8, 0x0d, 0xb5, 0x28, 0x9d, 0x6a, 0x5a, + 0xf3, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0x2c, 0xd5, 0x50, 0x41, 0x97, 0x15, 0x8b, 0xf0, 0x8f, 0x36, + 0x61, 0x5b, 0x4a, 0xfb, 0x6b, 0xd9, 0x99, 0xc9, 0x33, 0x92, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xb4, 0x8e, 0xbd, 0x07, 0xb9, 0x9a, + 0x85, 0xec, 0x3b, 0x67, 0xbd, 0x07, 0x60, 0x61, 0xe6, 0x84, 0xd1, 0xd4, + 0xef, 0xeb, 0x1b, 0xba, 0x0b, 0x82, 0x4b, 0x95, 0x64, 0xb6, 0x66, 0x53, + 0x23, 0xbd, 0xb7, 0x84, 0xdd, 0xe4, 0x7b, 0x8d, 0x09, 0xda, 0xcf, 0xb2, + 0xf5, 0xf1, 0xc3, 0xbf, 0x87, 0x84, 0xbe, 0x4e, 0xa6, 0xa8, 0xc2, 0xe7, + 0x12, 0x39, 0x28, 0x34, 0xe0, 0xa4, 0x56, 0x44, 0x40, 0x0c, 0x9f, 0x88, + 0xa3, 0x15, 0xd3, 0xe8, 0xd3, 0x5e, 0xe3, 0x1c, 0x04, 0x60, 0xfb, 0x69, + 0x36, 0x4f, 0x6a, 0x7e, 0x0c, 0x2a, 0x28, 0xc1, 0xf3, 0xaa, 0x58, 0x0e, + 0x6c, 0xce, 0x1d, 0x07, 0xc3, 0x4a, 0xc0, 0x9c, 0x8d, 0xc3, 0x74, 0xb1, + 0xae, 0x82, 0xf0, 0x1a, 0xe1, 0xf9, 0x4e, 0x29, 0xbd, 0x46, 0xde, 0xb7, + 0x1d, 0xf9, 0x7d, 0xdb, 0xd9, 0x0f, 0x84, 0xcb, 0x92, 0x45, 0xcc, 0x1c, + 0xb3, 0x18, 0xf6, 0xa0, 0xcf, 0x71, 0x6f, 0x0c, 0x2e, 0x9b, 0xd2, 0x2d, + 0xb3, 0x99, 0x93, 0x83, 0x44, 0xac, 0x15, 0xaa, 0x9b, 0x2e, 0x67, 0xec, + 0x4f, 0x88, 0x69, 0x05, 0x56, 0x7b, 0x8b, 0xb2, 0x43, 0xa9, 0x3a, 0x6c, + 0x1c, 0x13, 0x33, 0x25, 0x1b, 0xfd, 0xa8, 0xc8, 0x57, 0x02, 0xfb, 0x1c, + 0xe0, 0xd1, 0xbd, 0x3b, 0x56, 0x44, 0x65, 0xc3, 0x63, 0xf5, 0x1b, 0xef, + 0xec, 0x30, 0xd9, 0xe3, 0x6e, 0x2e, 0x13, 0xe9, 0x39, 0x08, 0x2a, 0x0c, + 0x72, 0xf3, 0x9a, 0xcc, 0xf6, 0x27, 0x29, 0x84, 0xd3, 0xef, 0x4c, 0xc7, + 0x84, 0x11, 0x65, 0x1f, 0xc6, 0xe3, 0x81, 0x03, 0xdb, 0x87, 0xcc, 0x78, + 0xf7, 0xb5, 0x9d, 0x96, 0x3e, 0x6a, 0x7f, 0xbc, 0x11, 0x85, 0x7a, 0x75, + 0xe6, 0x41, 0x7d, 0x0d, 0xcf, 0xf9, 0xe5, 0x85, 0x69, 0x25, 0x8f, 0xc7, + 0x8d, 0x07, 0x2d, 0xf8, 0x69, 0x0f, 0xcb, 0x41, 0x53, 0x00, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1828629 (0x1be715) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority + Validity + Not Before: Jan 1 07:00:00 2014 GMT + Not After : May 30 07:00:00 2031 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bf:71:62:08:f1:fa:59:34:f7:1b:c9:18:a3:f7: + 80:49:58:e9:22:83:13:a6:c5:20:43:01:3b:84:f1: + e6:85:49:9f:27:ea:f6:84:1b:4e:a0:b4:db:70:98: + c7:32:01:b1:05:3e:07:4e:ee:f4:fa:4f:2f:59:30: + 22:e7:ab:19:56:6b:e2:80:07:fc:f3:16:75:80:39: + 51:7b:e5:f9:35:b6:74:4e:a9:8d:82:13:e4:b6:3f: + a9:03:83:fa:a2:be:8a:15:6a:7f:de:0b:c3:b6:19: + 14:05:ca:ea:c3:a8:04:94:3b:46:7c:32:0d:f3:00: + 66:22:c8:8d:69:6d:36:8c:11:18:b7:d3:b2:1c:60: + b4:38:fa:02:8c:ce:d3:dd:46:07:de:0a:3e:eb:5d: + 7c:c8:7c:fb:b0:2b:53:a4:92:62:69:51:25:05:61: + 1a:44:81:8c:2c:a9:43:96:23:df:ac:3a:81:9a:0e: + 29:c5:1c:a9:e9:5d:1e:b6:9e:9e:30:0a:39:ce:f1: + 88:80:fb:4b:5d:cc:32:ec:85:62:43:25:34:02:56: + 27:01:91:b4:3b:70:2a:3f:6e:b1:e8:9c:88:01:7d: + 9f:d4:f9:db:53:6d:60:9d:bf:2c:e7:58:ab:b8:5f: + 46:fc:ce:c4:1b:03:3c:09:eb:49:31:5c:69:46:b3: + e0:47 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 3A:9A:85:07:10:67:28:B6:EF:F6:BD:05:41:6E:20:C1:94:DA:0F:DE + X509v3 Authority Key Identifier: + keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3 + + Authority Information Access: + OCSP - URI:http://ocsp.godaddy.com/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.godaddy.com/gdroot.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://certs.godaddy.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + 59:0b:53:bd:92:86:11:a7:24:7b:ed:5b:31:cf:1d:1f:6c:70: + c5:b8:6e:be:4e:bb:f6:be:97:50:e1:30:7f:ba:28:5c:62:94: + c2:e3:7e:33:f7:fb:42:76:85:db:95:1c:8c:22:58:75:09:0c: + 88:65:67:39:0a:16:09:c5:a0:38:97:a4:c5:23:93:3f:b4:18: + a6:01:06:44:91:e3:a7:69:27:b4:5a:25:7f:3a:b7:32:cd:dd: + 84:ff:2a:38:29:33:a4:dd:67:b2:85:fe:a1:88:20:1c:50:89: + c8:dc:2a:f6:42:03:37:4c:e6:88:df:d5:af:24:f2:b1:c3:df: + cc:b5:ec:e0:99:5e:b7:49:54:20:3c:94:18:0c:c7:1c:52:18: + 49:a4:6d:e1:b3:58:0b:c9:d8:ec:d9:ae:1c:32:8e:28:70:0d: + e2:fe:a6:17:9e:84:0f:bd:57:70:b3:5a:e9:1f:a0:86:53:bb: + ef:7c:ff:69:0b:e0:48:c3:b7:93:0b:c8:0a:54:c4:ac:5d:14: + 67:37:6c:ca:a5:2f:31:08:37:aa:6e:6f:8c:bc:9b:e2:57:5d: + 24:81:af:97:97:9c:84:ad:6c:ac:37:4c:66:f3:61:91:11:20: + e4:be:30:9f:7a:a4:29:09:b0:e1:34:5f:64:77:18:40:51:df: + 8c:30:a6:af +-----BEGIN CERTIFICATE----- +MIIEfTCCA2WgAwIBAgIDG+cVMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT +MSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdv +IERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMTAx +MDcwMDAwWhcNMzEwNTMwMDcwMDAwWjCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHku +Y29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1 +dGhvcml0eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3Fi +CPH6WTT3G8kYo/eASVjpIoMTpsUgQwE7hPHmhUmfJ+r2hBtOoLTbcJjHMgGxBT4H +Tu70+k8vWTAi56sZVmvigAf88xZ1gDlRe+X5NbZ0TqmNghPktj+pA4P6or6KFWp/ +3gvDthkUBcrqw6gElDtGfDIN8wBmIsiNaW02jBEYt9OyHGC0OPoCjM7T3UYH3go+ +6118yHz7sCtTpJJiaVElBWEaRIGMLKlDliPfrDqBmg4pxRyp6V0etp6eMAo5zvGI +gPtLXcwy7IViQyU0AlYnAZG0O3AqP26x6JyIAX2f1PnbU21gnb8s51iruF9G/M7E +GwM8CetJMVxpRrPgRwIDAQABo4IBFzCCARMwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMB8GA1Ud +IwQYMBaAFNLEsNKR1EwRcbNhyz2h/t2oatTjMDQGCCsGAQUFBwEBBCgwJjAkBggr +BgEFBQcwAYYYaHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDIGA1UdHwQrMCkwJ6Al +oCOGIWh0dHA6Ly9jcmwuZ29kYWRkeS5jb20vZ2Ryb290LmNybDBGBgNVHSAEPzA9 +MDsGBFUdIAAwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2RhZGR5LmNv +bS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWQtTvZKGEacke+1bMc8d +H2xwxbhuvk679r6XUOEwf7ooXGKUwuN+M/f7QnaF25UcjCJYdQkMiGVnOQoWCcWg +OJekxSOTP7QYpgEGRJHjp2kntFolfzq3Ms3dhP8qOCkzpN1nsoX+oYggHFCJyNwq +9kIDN0zmiN/VryTyscPfzLXs4Jlet0lUIDyUGAzHHFIYSaRt4bNYC8nY7NmuHDKO +KHAN4v6mF56ED71XcLNa6R+ghlO773z/aQvgSMO3kwvIClTErF0UZzdsyqUvMQg3 +qm5vjLyb4lddJIGvl5echK1srDdMZvNhkREg5L4wn3qkKQmw4TRfZHcYQFHfjDCm +rw== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_18[] = { + 0x30, 0x82, 0x04, 0x7d, 0x30, 0x82, 0x03, 0x65, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x1b, 0xe7, 0x15, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x63, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x54, + 0x68, 0x65, 0x20, 0x47, 0x6f, 0x20, 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, + 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x28, 0x47, 0x6f, + 0x20, 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x20, 0x32, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, 0x31, 0x30, 0x31, + 0x30, 0x37, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x31, 0x30, + 0x35, 0x33, 0x30, 0x30, 0x37, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x81, + 0x83, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, + 0x07, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, + 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, + 0x73, 0x64, 0x61, 0x6c, 0x65, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, + 0x04, 0x0a, 0x13, 0x11, 0x47, 0x6f, 0x44, 0x61, 0x64, 0x64, 0x79, 0x2e, + 0x63, 0x6f, 0x6d, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x31, 0x30, + 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x28, 0x47, 0x6f, 0x20, 0x44, + 0x61, 0x64, 0x64, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbf, 0x71, 0x62, + 0x08, 0xf1, 0xfa, 0x59, 0x34, 0xf7, 0x1b, 0xc9, 0x18, 0xa3, 0xf7, 0x80, + 0x49, 0x58, 0xe9, 0x22, 0x83, 0x13, 0xa6, 0xc5, 0x20, 0x43, 0x01, 0x3b, + 0x84, 0xf1, 0xe6, 0x85, 0x49, 0x9f, 0x27, 0xea, 0xf6, 0x84, 0x1b, 0x4e, + 0xa0, 0xb4, 0xdb, 0x70, 0x98, 0xc7, 0x32, 0x01, 0xb1, 0x05, 0x3e, 0x07, + 0x4e, 0xee, 0xf4, 0xfa, 0x4f, 0x2f, 0x59, 0x30, 0x22, 0xe7, 0xab, 0x19, + 0x56, 0x6b, 0xe2, 0x80, 0x07, 0xfc, 0xf3, 0x16, 0x75, 0x80, 0x39, 0x51, + 0x7b, 0xe5, 0xf9, 0x35, 0xb6, 0x74, 0x4e, 0xa9, 0x8d, 0x82, 0x13, 0xe4, + 0xb6, 0x3f, 0xa9, 0x03, 0x83, 0xfa, 0xa2, 0xbe, 0x8a, 0x15, 0x6a, 0x7f, + 0xde, 0x0b, 0xc3, 0xb6, 0x19, 0x14, 0x05, 0xca, 0xea, 0xc3, 0xa8, 0x04, + 0x94, 0x3b, 0x46, 0x7c, 0x32, 0x0d, 0xf3, 0x00, 0x66, 0x22, 0xc8, 0x8d, + 0x69, 0x6d, 0x36, 0x8c, 0x11, 0x18, 0xb7, 0xd3, 0xb2, 0x1c, 0x60, 0xb4, + 0x38, 0xfa, 0x02, 0x8c, 0xce, 0xd3, 0xdd, 0x46, 0x07, 0xde, 0x0a, 0x3e, + 0xeb, 0x5d, 0x7c, 0xc8, 0x7c, 0xfb, 0xb0, 0x2b, 0x53, 0xa4, 0x92, 0x62, + 0x69, 0x51, 0x25, 0x05, 0x61, 0x1a, 0x44, 0x81, 0x8c, 0x2c, 0xa9, 0x43, + 0x96, 0x23, 0xdf, 0xac, 0x3a, 0x81, 0x9a, 0x0e, 0x29, 0xc5, 0x1c, 0xa9, + 0xe9, 0x5d, 0x1e, 0xb6, 0x9e, 0x9e, 0x30, 0x0a, 0x39, 0xce, 0xf1, 0x88, + 0x80, 0xfb, 0x4b, 0x5d, 0xcc, 0x32, 0xec, 0x85, 0x62, 0x43, 0x25, 0x34, + 0x02, 0x56, 0x27, 0x01, 0x91, 0xb4, 0x3b, 0x70, 0x2a, 0x3f, 0x6e, 0xb1, + 0xe8, 0x9c, 0x88, 0x01, 0x7d, 0x9f, 0xd4, 0xf9, 0xdb, 0x53, 0x6d, 0x60, + 0x9d, 0xbf, 0x2c, 0xe7, 0x58, 0xab, 0xb8, 0x5f, 0x46, 0xfc, 0xce, 0xc4, + 0x1b, 0x03, 0x3c, 0x09, 0xeb, 0x49, 0x31, 0x5c, 0x69, 0x46, 0xb3, 0xe0, + 0x47, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x17, 0x30, 0x82, + 0x01, 0x13, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x3a, 0x9a, + 0x85, 0x07, 0x10, 0x67, 0x28, 0xb6, 0xef, 0xf6, 0xbd, 0x05, 0x41, 0x6e, + 0x20, 0xc1, 0x94, 0xda, 0x0f, 0xde, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd2, 0xc4, 0xb0, 0xd2, 0x91, + 0xd4, 0x4c, 0x11, 0x71, 0xb3, 0x61, 0xcb, 0x3d, 0xa1, 0xfe, 0xdd, 0xa8, + 0x6a, 0xd4, 0xe3, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6f, 0x64, + 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x32, 0x06, + 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2b, 0x30, 0x29, 0x30, 0x27, 0xa0, 0x25, + 0xa0, 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x64, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, + 0x6c, 0x30, 0x46, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3f, 0x30, 0x3d, + 0x30, 0x3b, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x33, 0x30, 0x31, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, + 0x73, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x2f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x59, 0x0b, 0x53, + 0xbd, 0x92, 0x86, 0x11, 0xa7, 0x24, 0x7b, 0xed, 0x5b, 0x31, 0xcf, 0x1d, + 0x1f, 0x6c, 0x70, 0xc5, 0xb8, 0x6e, 0xbe, 0x4e, 0xbb, 0xf6, 0xbe, 0x97, + 0x50, 0xe1, 0x30, 0x7f, 0xba, 0x28, 0x5c, 0x62, 0x94, 0xc2, 0xe3, 0x7e, + 0x33, 0xf7, 0xfb, 0x42, 0x76, 0x85, 0xdb, 0x95, 0x1c, 0x8c, 0x22, 0x58, + 0x75, 0x09, 0x0c, 0x88, 0x65, 0x67, 0x39, 0x0a, 0x16, 0x09, 0xc5, 0xa0, + 0x38, 0x97, 0xa4, 0xc5, 0x23, 0x93, 0x3f, 0xb4, 0x18, 0xa6, 0x01, 0x06, + 0x44, 0x91, 0xe3, 0xa7, 0x69, 0x27, 0xb4, 0x5a, 0x25, 0x7f, 0x3a, 0xb7, + 0x32, 0xcd, 0xdd, 0x84, 0xff, 0x2a, 0x38, 0x29, 0x33, 0xa4, 0xdd, 0x67, + 0xb2, 0x85, 0xfe, 0xa1, 0x88, 0x20, 0x1c, 0x50, 0x89, 0xc8, 0xdc, 0x2a, + 0xf6, 0x42, 0x03, 0x37, 0x4c, 0xe6, 0x88, 0xdf, 0xd5, 0xaf, 0x24, 0xf2, + 0xb1, 0xc3, 0xdf, 0xcc, 0xb5, 0xec, 0xe0, 0x99, 0x5e, 0xb7, 0x49, 0x54, + 0x20, 0x3c, 0x94, 0x18, 0x0c, 0xc7, 0x1c, 0x52, 0x18, 0x49, 0xa4, 0x6d, + 0xe1, 0xb3, 0x58, 0x0b, 0xc9, 0xd8, 0xec, 0xd9, 0xae, 0x1c, 0x32, 0x8e, + 0x28, 0x70, 0x0d, 0xe2, 0xfe, 0xa6, 0x17, 0x9e, 0x84, 0x0f, 0xbd, 0x57, + 0x70, 0xb3, 0x5a, 0xe9, 0x1f, 0xa0, 0x86, 0x53, 0xbb, 0xef, 0x7c, 0xff, + 0x69, 0x0b, 0xe0, 0x48, 0xc3, 0xb7, 0x93, 0x0b, 0xc8, 0x0a, 0x54, 0xc4, + 0xac, 0x5d, 0x14, 0x67, 0x37, 0x6c, 0xca, 0xa5, 0x2f, 0x31, 0x08, 0x37, + 0xaa, 0x6e, 0x6f, 0x8c, 0xbc, 0x9b, 0xe2, 0x57, 0x5d, 0x24, 0x81, 0xaf, + 0x97, 0x97, 0x9c, 0x84, 0xad, 0x6c, 0xac, 0x37, 0x4c, 0x66, 0xf3, 0x61, + 0x91, 0x11, 0x20, 0xe4, 0xbe, 0x30, 0x9f, 0x7a, 0xa4, 0x29, 0x09, 0xb0, + 0xe1, 0x34, 0x5f, 0x64, 0x77, 0x18, 0x40, 0x51, 0xdf, 0x8c, 0x30, 0xa6, + 0xaf, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 06:9e:1d:b7:7f:cf:1d:fb:a9:7a:f5:e5:c9:a2:40:37 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA + Validity + Not Before: Mar 8 12:00:00 2013 GMT + Not After : Mar 8 12:00:00 2023 GMT + Subject: C=US, O=DigiCert Inc, CN=DigiCert Secure Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bb:57:e4:21:a9:d5:9b:60:37:7e:8e:a1:61:7f: + 81:e2:1a:c2:75:64:d9:91:50:0b:e4:36:44:24:6e: + 30:d2:9b:7a:27:fa:c2:6a:ae:6a:70:09:38:b9:20: + 0a:c8:65:10:4a:88:ac:31:f2:dc:92:f2:63:a1:5d: + 80:63:59:80:92:23:1c:e6:ef:76:4a:50:35:c9:d8: + 71:38:b9:ed:f0:e6:42:ae:d3:38:26:79:30:f9:22: + 94:c6:db:a6:3f:41:78:90:d8:de:5c:7e:69:7d:f8: + 90:15:3a:d0:a1:a0:be:fa:b2:b2:19:a1:d8:2b:d1: + ce:bf:6b:dd:49:ab:a3:92:fe:b5:ab:c8:c1:3e:ee: + 01:00:d8:a9:44:b8:42:73:88:c3:61:f5:ab:4a:83: + 28:0a:d2:d4:49:fa:6a:b1:cd:df:57:2c:94:e5:e2: + ca:83:5f:b7:ba:62:5c:2f:68:a5:f0:c0:b9:fd:2b: + d1:e9:1f:d8:1a:62:15:bd:ff:3d:a6:f7:cb:ef:e6: + db:65:2f:25:38:ec:fb:e6:20:66:58:96:34:19:d2: + 15:ce:21:d3:24:cc:d9:14:6f:d8:fe:55:c7:e7:6f: + b6:0f:1a:8c:49:be:29:f2:ba:5a:9a:81:26:37:24: + 6f:d7:48:12:6c:2e:59:f5:9c:18:bb:d9:f6:68:e2: + df:45 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl3.digicert.com/DigiCertGlobalRootCA.crl + + Full Name: + URI:http://crl4.digicert.com/DigiCertGlobalRootCA.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.digicert.com/CPS + + X509v3 Subject Key Identifier: + 90:71:DB:37:EB:73:C8:EF:DC:D5:1E:12:B6:34:BA:2B:5A:A0:A6:92 + X509v3 Authority Key Identifier: + keyid:03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55 + + Signature Algorithm: sha1WithRSAEncryption + 30:ce:d1:95:51:00:ae:06:0b:a1:0e:02:c0:17:ac:b6:7f:8f: + 20:f6:40:75:74:1c:cc:78:b1:a4:4f:ea:f4:d0:c4:9d:a2:de: + 81:07:26:1f:40:88:51:f0:1f:cf:b7:4c:40:99:d0:f4:3c:71: + 98:73:88:97:2c:19:d7:6e:84:8f:a4:1f:9c:5a:20:e3:51:5c: + b0:c5:9e:99:6a:4f:c8:69:f7:10:ff:4e:ad:19:d9:c9:58:b3: + 33:ae:0c:d9:96:29:9e:71:b2:70:63:a3:b6:99:16:42:1d:65: + f3:f7:a0:1e:7d:c5:d4:65:14:b2:62:84:d4:6c:5c:08:0c:d8: + 6c:93:2b:b4:76:59:8a:d1:7f:ff:03:d8:c2:5d:b8:2f:22:d6: + 38:f0:f6:9c:6b:7d:46:eb:99:74:f7:eb:4a:0e:a9:a6:04:eb: + 7b:ce:f0:5c:6b:98:31:5a:98:40:eb:69:c4:05:f4:20:a8:ca: + 08:3a:65:6c:38:15:f5:5c:2c:b2:55:e4:2c:6b:41:f0:be:5c: + 46:ca:4a:29:a0:48:5e:20:d2:45:ff:05:de:34:af:70:4b:81: + 39:e2:ca:07:57:7c:b6:31:dc:21:29:e2:be:97:0e:77:90:14: + 51:40:e1:bf:e3:cc:1b:19:9c:25:ca:a7:06:b2:53:df:23:b2: + cf:12:19:a3 +-----BEGIN CERTIFICATE----- +MIIEjzCCA3egAwIBAgIQBp4dt3/PHfupevXlyaJANzANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0xMzAzMDgxMjAwMDBaFw0yMzAzMDgxMjAwMDBaMEgxCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxIjAgBgNVBAMTGURpZ2lDZXJ0IFNlY3Vy +ZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7V+Qh +qdWbYDd+jqFhf4HiGsJ1ZNmRUAvkNkQkbjDSm3on+sJqrmpwCTi5IArIZRBKiKwx +8tyS8mOhXYBjWYCSIxzm73ZKUDXJ2HE4ue3w5kKu0zgmeTD5IpTG26Y/QXiQ2N5c +fml9+JAVOtChoL76srIZodgr0c6/a91Jq6OS/rWryME+7gEA2KlEuEJziMNh9atK +gygK0tRJ+mqxzd9XLJTl4sqDX7e6YlwvaKXwwLn9K9HpH9gaYhW9/z2m98vv5ttl +LyU47PvmIGZYljQZ0hXOIdMkzNkUb9j+Vcfnb7YPGoxJvinyulqagSY3JG/XSBJs +Lln1nBi72fZo4t9FAgMBAAGjggFaMIIBVjASBgNVHRMBAf8ECDAGAQH/AgEAMA4G +A1UdDwEB/wQEAwIBhjA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6 +Ly9vY3NwLmRpZ2ljZXJ0LmNvbTB7BgNVHR8EdDByMDegNaAzhjFodHRwOi8vY3Js +My5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxSb290Q0EuY3JsMDegNaAzhjFo +dHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxSb290Q0EuY3Js +MD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5k +aWdpY2VydC5jb20vQ1BTMB0GA1UdDgQWBBSQcds363PI79zVHhK2NLorWqCmkjAf +BgNVHSMEGDAWgBQD3lA1VtFMu2bwo+IbG8OXsj3RVTANBgkqhkiG9w0BAQUFAAOC +AQEAMM7RlVEArgYLoQ4CwBestn+PIPZAdXQczHixpE/q9NDEnaLegQcmH0CIUfAf +z7dMQJnQ9DxxmHOIlywZ126Ej6QfnFog41FcsMWemWpPyGn3EP9OrRnZyVizM64M +2ZYpnnGycGOjtpkWQh1l8/egHn3F1GUUsmKE1GxcCAzYbJMrtHZZitF//wPYwl24 +LyLWOPD2nGt9RuuZdPfrSg6ppgTre87wXGuYMVqYQOtpxAX0IKjKCDplbDgV9Vws +slXkLGtB8L5cRspKKaBIXiDSRf8F3jSvcEuBOeLKB1d8tjHcISnivpcOd5AUUUDh +v+PMGxmcJcqnBrJT3yOyzxIZow== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_19[] = { + 0x30, 0x82, 0x04, 0x8f, 0x30, 0x82, 0x03, 0x77, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x06, 0x9e, 0x1d, 0xb7, 0x7f, 0xcf, 0x1d, 0xfb, 0xa9, + 0x7a, 0xf5, 0xe5, 0xc9, 0xa2, 0x40, 0x37, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x61, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x17, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, + 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x30, 0x33, 0x30, 0x38, 0x31, + 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x30, 0x33, + 0x30, 0x38, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x48, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, + 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, + 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbb, 0x57, 0xe4, 0x21, + 0xa9, 0xd5, 0x9b, 0x60, 0x37, 0x7e, 0x8e, 0xa1, 0x61, 0x7f, 0x81, 0xe2, + 0x1a, 0xc2, 0x75, 0x64, 0xd9, 0x91, 0x50, 0x0b, 0xe4, 0x36, 0x44, 0x24, + 0x6e, 0x30, 0xd2, 0x9b, 0x7a, 0x27, 0xfa, 0xc2, 0x6a, 0xae, 0x6a, 0x70, + 0x09, 0x38, 0xb9, 0x20, 0x0a, 0xc8, 0x65, 0x10, 0x4a, 0x88, 0xac, 0x31, + 0xf2, 0xdc, 0x92, 0xf2, 0x63, 0xa1, 0x5d, 0x80, 0x63, 0x59, 0x80, 0x92, + 0x23, 0x1c, 0xe6, 0xef, 0x76, 0x4a, 0x50, 0x35, 0xc9, 0xd8, 0x71, 0x38, + 0xb9, 0xed, 0xf0, 0xe6, 0x42, 0xae, 0xd3, 0x38, 0x26, 0x79, 0x30, 0xf9, + 0x22, 0x94, 0xc6, 0xdb, 0xa6, 0x3f, 0x41, 0x78, 0x90, 0xd8, 0xde, 0x5c, + 0x7e, 0x69, 0x7d, 0xf8, 0x90, 0x15, 0x3a, 0xd0, 0xa1, 0xa0, 0xbe, 0xfa, + 0xb2, 0xb2, 0x19, 0xa1, 0xd8, 0x2b, 0xd1, 0xce, 0xbf, 0x6b, 0xdd, 0x49, + 0xab, 0xa3, 0x92, 0xfe, 0xb5, 0xab, 0xc8, 0xc1, 0x3e, 0xee, 0x01, 0x00, + 0xd8, 0xa9, 0x44, 0xb8, 0x42, 0x73, 0x88, 0xc3, 0x61, 0xf5, 0xab, 0x4a, + 0x83, 0x28, 0x0a, 0xd2, 0xd4, 0x49, 0xfa, 0x6a, 0xb1, 0xcd, 0xdf, 0x57, + 0x2c, 0x94, 0xe5, 0xe2, 0xca, 0x83, 0x5f, 0xb7, 0xba, 0x62, 0x5c, 0x2f, + 0x68, 0xa5, 0xf0, 0xc0, 0xb9, 0xfd, 0x2b, 0xd1, 0xe9, 0x1f, 0xd8, 0x1a, + 0x62, 0x15, 0xbd, 0xff, 0x3d, 0xa6, 0xf7, 0xcb, 0xef, 0xe6, 0xdb, 0x65, + 0x2f, 0x25, 0x38, 0xec, 0xfb, 0xe6, 0x20, 0x66, 0x58, 0x96, 0x34, 0x19, + 0xd2, 0x15, 0xce, 0x21, 0xd3, 0x24, 0xcc, 0xd9, 0x14, 0x6f, 0xd8, 0xfe, + 0x55, 0xc7, 0xe7, 0x6f, 0xb6, 0x0f, 0x1a, 0x8c, 0x49, 0xbe, 0x29, 0xf2, + 0xba, 0x5a, 0x9a, 0x81, 0x26, 0x37, 0x24, 0x6f, 0xd7, 0x48, 0x12, 0x6c, + 0x2e, 0x59, 0xf5, 0x9c, 0x18, 0xbb, 0xd9, 0xf6, 0x68, 0xe2, 0xdf, 0x45, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x5a, 0x30, 0x82, 0x01, + 0x56, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x86, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, + 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x7b, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x74, 0x30, 0x72, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, + 0x86, 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, + 0x33, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x34, 0x2e, 0x64, + 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, 0x30, + 0x32, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x64, + 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x43, 0x50, 0x53, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, + 0x04, 0x14, 0x90, 0x71, 0xdb, 0x37, 0xeb, 0x73, 0xc8, 0xef, 0xdc, 0xd5, + 0x1e, 0x12, 0xb6, 0x34, 0xba, 0x2b, 0x5a, 0xa0, 0xa6, 0x92, 0x30, 0x1f, + 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x03, + 0xde, 0x50, 0x35, 0x56, 0xd1, 0x4c, 0xbb, 0x66, 0xf0, 0xa3, 0xe2, 0x1b, + 0x1b, 0xc3, 0x97, 0xb2, 0x3d, 0xd1, 0x55, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x01, 0x00, 0x30, 0xce, 0xd1, 0x95, 0x51, 0x00, 0xae, 0x06, 0x0b, + 0xa1, 0x0e, 0x02, 0xc0, 0x17, 0xac, 0xb6, 0x7f, 0x8f, 0x20, 0xf6, 0x40, + 0x75, 0x74, 0x1c, 0xcc, 0x78, 0xb1, 0xa4, 0x4f, 0xea, 0xf4, 0xd0, 0xc4, + 0x9d, 0xa2, 0xde, 0x81, 0x07, 0x26, 0x1f, 0x40, 0x88, 0x51, 0xf0, 0x1f, + 0xcf, 0xb7, 0x4c, 0x40, 0x99, 0xd0, 0xf4, 0x3c, 0x71, 0x98, 0x73, 0x88, + 0x97, 0x2c, 0x19, 0xd7, 0x6e, 0x84, 0x8f, 0xa4, 0x1f, 0x9c, 0x5a, 0x20, + 0xe3, 0x51, 0x5c, 0xb0, 0xc5, 0x9e, 0x99, 0x6a, 0x4f, 0xc8, 0x69, 0xf7, + 0x10, 0xff, 0x4e, 0xad, 0x19, 0xd9, 0xc9, 0x58, 0xb3, 0x33, 0xae, 0x0c, + 0xd9, 0x96, 0x29, 0x9e, 0x71, 0xb2, 0x70, 0x63, 0xa3, 0xb6, 0x99, 0x16, + 0x42, 0x1d, 0x65, 0xf3, 0xf7, 0xa0, 0x1e, 0x7d, 0xc5, 0xd4, 0x65, 0x14, + 0xb2, 0x62, 0x84, 0xd4, 0x6c, 0x5c, 0x08, 0x0c, 0xd8, 0x6c, 0x93, 0x2b, + 0xb4, 0x76, 0x59, 0x8a, 0xd1, 0x7f, 0xff, 0x03, 0xd8, 0xc2, 0x5d, 0xb8, + 0x2f, 0x22, 0xd6, 0x38, 0xf0, 0xf6, 0x9c, 0x6b, 0x7d, 0x46, 0xeb, 0x99, + 0x74, 0xf7, 0xeb, 0x4a, 0x0e, 0xa9, 0xa6, 0x04, 0xeb, 0x7b, 0xce, 0xf0, + 0x5c, 0x6b, 0x98, 0x31, 0x5a, 0x98, 0x40, 0xeb, 0x69, 0xc4, 0x05, 0xf4, + 0x20, 0xa8, 0xca, 0x08, 0x3a, 0x65, 0x6c, 0x38, 0x15, 0xf5, 0x5c, 0x2c, + 0xb2, 0x55, 0xe4, 0x2c, 0x6b, 0x41, 0xf0, 0xbe, 0x5c, 0x46, 0xca, 0x4a, + 0x29, 0xa0, 0x48, 0x5e, 0x20, 0xd2, 0x45, 0xff, 0x05, 0xde, 0x34, 0xaf, + 0x70, 0x4b, 0x81, 0x39, 0xe2, 0xca, 0x07, 0x57, 0x7c, 0xb6, 0x31, 0xdc, + 0x21, 0x29, 0xe2, 0xbe, 0x97, 0x0e, 0x77, 0x90, 0x14, 0x51, 0x40, 0xe1, + 0xbf, 0xe3, 0xcc, 0x1b, 0x19, 0x9c, 0x25, 0xca, 0xa7, 0x06, 0xb2, 0x53, + 0xdf, 0x23, 0xb2, 0xcf, 0x12, 0x19, 0xa3, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 1b:09:3b:78:60:96:da:37:bb:a4:51:94:46:c8:96:78 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority + Validity + Not Before: Nov 8 00:00:00 2006 GMT + Not After : Nov 7 23:59:59 2021 GMT + Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:24:08:08:29:7a:35:9e:60:0c:aa:e7:4b:3b: + 4e:dc:7c:bc:3c:45:1c:bb:2b:e0:fe:29:02:f9:57: + 08:a3:64:85:15:27:f5:f1:ad:c8:31:89:5d:22:e8: + 2a:aa:a6:42:b3:8f:f8:b9:55:b7:b1:b7:4b:b3:fe: + 8f:7e:07:57:ec:ef:43:db:66:62:15:61:cf:60:0d: + a4:d8:de:f8:e0:c3:62:08:3d:54:13:eb:49:ca:59: + 54:85:26:e5:2b:8f:1b:9f:eb:f5:a1:91:c2:33:49: + d8:43:63:6a:52:4b:d2:8f:e8:70:51:4d:d1:89:69: + 7b:c7:70:f6:b3:dc:12:74:db:7b:5d:4b:56:d3:96: + bf:15:77:a1:b0:f4:a2:25:f2:af:1c:92:67:18:e5: + f4:06:04:ef:90:b9:e4:00:e4:dd:3a:b5:19:ff:02: + ba:f4:3c:ee:e0:8b:eb:37:8b:ec:f4:d7:ac:f2:f6: + f0:3d:af:dd:75:91:33:19:1d:1c:40:cb:74:24:19: + 21:93:d9:14:fe:ac:2a:52:c7:8f:d5:04:49:e4:8d: + 63:47:88:3c:69:83:cb:fe:47:bd:2b:7e:4f:c5:95: + ae:0e:9d:d4:d1:43:c0:67:73:e3:14:08:7e:e5:3f: + 9f:73:b8:33:0a:cf:5d:3f:34:87:96:8a:ee:53:e8: + 25:15 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.verisign.com/pca3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.verisign.com/cps + + X509v3 Subject Key Identifier: + 7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + 1.3.6.1.5.5.7.1.12: + 0_.].[0Y0W0U..image/gif0!0.0...+..............k...j.H.,{..0%.#http://logo.verisign.com/vslogo.gif + Authority Information Access: + OCSP - URI:http://ocsp.verisign.com + + Signature Algorithm: sha1WithRSAEncryption + a3:cd:7d:1e:f7:c7:75:8d:48:e7:56:34:4c:00:90:75:a9:51: + a5:56:c1:6d:bc:fe:f5:53:22:e9:98:a2:ac:9a:7e:70:1e:b3: + 8e:3b:45:e3:86:95:31:da:6d:4c:fb:34:50:80:96:cd:24:f2: + 40:df:04:3f:e2:65:ce:34:22:61:15:ea:66:70:64:d2:f1:6e: + f3:ca:18:59:6a:41:46:7e:82:de:19:b0:70:31:56:69:0d:0c: + e6:1d:9d:71:58:dc:cc:de:62:f5:e1:7a:10:02:d8:7a:dc:3b: + fa:57:bd:c9:e9:8f:46:21:39:9f:51:65:4c:8e:3a:be:28:41: + 70:1d +-----BEGIN CERTIFICATE----- +MIIEkDCCA/mgAwIBAgIQGwk7eGCW2je7pFGURsiWeDANBgkqhkiG9w0BAQUFADBf +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT +LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw +HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv +ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8 +RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb +ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR +TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH +iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB +AAGjggFbMIIBVzAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0 +dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9 +BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy +aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwbQYI +KwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQU +j+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24uY29t +L3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v +b2NzcC52ZXJpc2lnbi5jb20wDQYJKoZIhvcNAQEFBQADgYEAo819HvfHdY1I51Y0 +TACQdalRpVbBbbz+9VMi6ZiirJp+cB6zjjtF44aVMdptTPs0UICWzSTyQN8EP+Jl +zjQiYRXqZnBk0vFu88oYWWpBRn6C3hmwcDFWaQ0M5h2dcVjczN5i9eF6EALYetw7 ++le9yemPRiE5n1FlTI46vihBcB0= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_20[] = { + 0x30, 0x82, 0x04, 0x90, 0x30, 0x82, 0x03, 0xf9, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x1b, 0x09, 0x3b, 0x78, 0x60, 0x96, 0xda, 0x37, 0xbb, + 0xa4, 0x51, 0x94, 0x46, 0xc8, 0x96, 0x78, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x5f, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x37, 0x30, 0x35, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, + 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x31, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x31, 0x31, 0x31, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xca, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3a, 0x30, + 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, 0x63, 0x29, 0x20, + 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, + 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x45, 0x30, + 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, + 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xaf, 0x24, 0x08, 0x08, 0x29, 0x7a, 0x35, + 0x9e, 0x60, 0x0c, 0xaa, 0xe7, 0x4b, 0x3b, 0x4e, 0xdc, 0x7c, 0xbc, 0x3c, + 0x45, 0x1c, 0xbb, 0x2b, 0xe0, 0xfe, 0x29, 0x02, 0xf9, 0x57, 0x08, 0xa3, + 0x64, 0x85, 0x15, 0x27, 0xf5, 0xf1, 0xad, 0xc8, 0x31, 0x89, 0x5d, 0x22, + 0xe8, 0x2a, 0xaa, 0xa6, 0x42, 0xb3, 0x8f, 0xf8, 0xb9, 0x55, 0xb7, 0xb1, + 0xb7, 0x4b, 0xb3, 0xfe, 0x8f, 0x7e, 0x07, 0x57, 0xec, 0xef, 0x43, 0xdb, + 0x66, 0x62, 0x15, 0x61, 0xcf, 0x60, 0x0d, 0xa4, 0xd8, 0xde, 0xf8, 0xe0, + 0xc3, 0x62, 0x08, 0x3d, 0x54, 0x13, 0xeb, 0x49, 0xca, 0x59, 0x54, 0x85, + 0x26, 0xe5, 0x2b, 0x8f, 0x1b, 0x9f, 0xeb, 0xf5, 0xa1, 0x91, 0xc2, 0x33, + 0x49, 0xd8, 0x43, 0x63, 0x6a, 0x52, 0x4b, 0xd2, 0x8f, 0xe8, 0x70, 0x51, + 0x4d, 0xd1, 0x89, 0x69, 0x7b, 0xc7, 0x70, 0xf6, 0xb3, 0xdc, 0x12, 0x74, + 0xdb, 0x7b, 0x5d, 0x4b, 0x56, 0xd3, 0x96, 0xbf, 0x15, 0x77, 0xa1, 0xb0, + 0xf4, 0xa2, 0x25, 0xf2, 0xaf, 0x1c, 0x92, 0x67, 0x18, 0xe5, 0xf4, 0x06, + 0x04, 0xef, 0x90, 0xb9, 0xe4, 0x00, 0xe4, 0xdd, 0x3a, 0xb5, 0x19, 0xff, + 0x02, 0xba, 0xf4, 0x3c, 0xee, 0xe0, 0x8b, 0xeb, 0x37, 0x8b, 0xec, 0xf4, + 0xd7, 0xac, 0xf2, 0xf6, 0xf0, 0x3d, 0xaf, 0xdd, 0x75, 0x91, 0x33, 0x19, + 0x1d, 0x1c, 0x40, 0xcb, 0x74, 0x24, 0x19, 0x21, 0x93, 0xd9, 0x14, 0xfe, + 0xac, 0x2a, 0x52, 0xc7, 0x8f, 0xd5, 0x04, 0x49, 0xe4, 0x8d, 0x63, 0x47, + 0x88, 0x3c, 0x69, 0x83, 0xcb, 0xfe, 0x47, 0xbd, 0x2b, 0x7e, 0x4f, 0xc5, + 0x95, 0xae, 0x0e, 0x9d, 0xd4, 0xd1, 0x43, 0xc0, 0x67, 0x73, 0xe3, 0x14, + 0x08, 0x7e, 0xe5, 0x3f, 0x9f, 0x73, 0xb8, 0x33, 0x0a, 0xcf, 0x5d, 0x3f, + 0x34, 0x87, 0x96, 0x8a, 0xee, 0x53, 0xe8, 0x25, 0x15, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x5b, 0x30, 0x82, 0x01, 0x57, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, + 0x01, 0x01, 0xff, 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2a, + 0x30, 0x28, 0x30, 0x26, 0xa0, 0x24, 0xa0, 0x22, 0x86, 0x20, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, + 0x61, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3d, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, + 0x73, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, + 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x6d, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, + 0xa1, 0x5d, 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, + 0x1f, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, + 0x8f, 0xe5, 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, + 0x6a, 0xd4, 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x76, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, + 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, + 0xa3, 0xcd, 0x7d, 0x1e, 0xf7, 0xc7, 0x75, 0x8d, 0x48, 0xe7, 0x56, 0x34, + 0x4c, 0x00, 0x90, 0x75, 0xa9, 0x51, 0xa5, 0x56, 0xc1, 0x6d, 0xbc, 0xfe, + 0xf5, 0x53, 0x22, 0xe9, 0x98, 0xa2, 0xac, 0x9a, 0x7e, 0x70, 0x1e, 0xb3, + 0x8e, 0x3b, 0x45, 0xe3, 0x86, 0x95, 0x31, 0xda, 0x6d, 0x4c, 0xfb, 0x34, + 0x50, 0x80, 0x96, 0xcd, 0x24, 0xf2, 0x40, 0xdf, 0x04, 0x3f, 0xe2, 0x65, + 0xce, 0x34, 0x22, 0x61, 0x15, 0xea, 0x66, 0x70, 0x64, 0xd2, 0xf1, 0x6e, + 0xf3, 0xca, 0x18, 0x59, 0x6a, 0x41, 0x46, 0x7e, 0x82, 0xde, 0x19, 0xb0, + 0x70, 0x31, 0x56, 0x69, 0x0d, 0x0c, 0xe6, 0x1d, 0x9d, 0x71, 0x58, 0xdc, + 0xcc, 0xde, 0x62, 0xf5, 0xe1, 0x7a, 0x10, 0x02, 0xd8, 0x7a, 0xdc, 0x3b, + 0xfa, 0x57, 0xbd, 0xc9, 0xe9, 0x8f, 0x46, 0x21, 0x39, 0x9f, 0x51, 0x65, + 0x4c, 0x8e, 0x3a, 0xbe, 0x28, 0x41, 0x70, 0x1d, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 01:fd:a3:eb:6e:ca:75:c8:88:43:8b:72:4b:cf:bc:91 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA + Validity + Not Before: Mar 8 12:00:00 2013 GMT + Not After : Mar 8 12:00:00 2023 GMT + Subject: C=US, O=DigiCert Inc, CN=DigiCert SHA2 Secure Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:dc:ae:58:90:4d:c1:c4:30:15:90:35:5b:6e:3c: + 82:15:f5:2c:5c:bd:e3:db:ff:71:43:fa:64:25:80: + d4:ee:18:a2:4d:f0:66:d0:0a:73:6e:11:98:36:17: + 64:af:37:9d:fd:fa:41:84:af:c7:af:8c:fe:1a:73: + 4d:cf:33:97:90:a2:96:87:53:83:2b:b9:a6:75:48: + 2d:1d:56:37:7b:da:31:32:1a:d7:ac:ab:06:f4:aa: + 5d:4b:b7:47:46:dd:2a:93:c3:90:2e:79:80:80:ef: + 13:04:6a:14:3b:b5:9b:92:be:c2:07:65:4e:fc:da: + fc:ff:7a:ae:dc:5c:7e:55:31:0c:e8:39:07:a4:d7: + be:2f:d3:0b:6a:d2:b1:df:5f:fe:57:74:53:3b:35: + 80:dd:ae:8e:44:98:b3:9f:0e:d3:da:e0:d7:f4:6b: + 29:ab:44:a7:4b:58:84:6d:92:4b:81:c3:da:73:8b: + 12:97:48:90:04:45:75:1a:dd:37:31:97:92:e8:cd: + 54:0d:3b:e4:c1:3f:39:5e:2e:b8:f3:5c:7e:10:8e: + 86:41:00:8d:45:66:47:b0:a1:65:ce:a0:aa:29:09: + 4e:f3:97:eb:e8:2e:ab:0f:72:a7:30:0e:fa:c7:f4: + fd:14:77:c3:a4:5b:28:57:c2:b3:f9:82:fd:b7:45: + 58:9b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl3.digicert.com/DigiCertGlobalRootCA.crl + + Full Name: + URI:http://crl4.digicert.com/DigiCertGlobalRootCA.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.digicert.com/CPS + + X509v3 Subject Key Identifier: + 0F:80:61:1C:82:31:61:D5:2F:28:E7:8D:46:38:B4:2C:E1:C6:D9:E2 + X509v3 Authority Key Identifier: + keyid:03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55 + + Signature Algorithm: sha256WithRSAEncryption + 23:3e:df:4b:d2:31:42:a5:b6:7e:42:5c:1a:44:cc:69:d1:68: + b4:5d:4b:e0:04:21:6c:4b:e2:6d:cc:b1:e0:97:8f:a6:53:09: + cd:aa:2a:65:e5:39:4f:1e:83:a5:6e:5c:98:a2:24:26:e6:fb: + a1:ed:93:c7:2e:02:c6:4d:4a:bf:b0:42:df:78:da:b3:a8:f9: + 6d:ff:21:85:53:36:60:4c:76:ce:ec:38:dc:d6:51:80:f0:c5: + d6:e5:d4:4d:27:64:ab:9b:c7:3e:71:fb:48:97:b8:33:6d:c9: + 13:07:ee:96:a2:1b:18:15:f6:5c:4c:40:ed:b3:c2:ec:ff:71: + c1:e3:47:ff:d4:b9:00:b4:37:42:da:20:c9:ea:6e:8a:ee:14: + 06:ae:7d:a2:59:98:88:a8:1b:6f:2d:f4:f2:c9:14:5f:26:cf: + 2c:8d:7e:ed:37:c0:a9:d5:39:b9:82:bf:19:0c:ea:34:af:00: + 21:68:f8:ad:73:e2:c9:32:da:38:25:0b:55:d3:9a:1d:f0:68: + 86:ed:2e:41:34:ef:7c:a5:50:1d:bf:3a:f9:d3:c1:08:0c:e6: + ed:1e:8a:58:25:e4:b8:77:ad:2d:6e:f5:52:dd:b4:74:8f:ab: + 49:2e:9d:3b:93:34:28:1f:78:ce:94:ea:c7:bd:d3:c9:6d:1c: + de:5c:32:f3 +-----BEGIN CERTIFICATE----- +MIIElDCCA3ygAwIBAgIQAf2j627KdciIQ4tyS8+8kTANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0xMzAzMDgxMjAwMDBaFw0yMzAzMDgxMjAwMDBaME0xCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIg +U2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANyuWJBNwcQwFZA1W248ghX1LFy949v/cUP6ZCWA1O4Yok3wZtAKc24RmDYXZK83 +nf36QYSvx6+M/hpzTc8zl5CilodTgyu5pnVILR1WN3vaMTIa16yrBvSqXUu3R0bd +KpPDkC55gIDvEwRqFDu1m5K+wgdlTvza/P96rtxcflUxDOg5B6TXvi/TC2rSsd9f +/ld0Uzs1gN2ujkSYs58O09rg1/RrKatEp0tYhG2SS4HD2nOLEpdIkARFdRrdNzGX +kujNVA075ME/OV4uuPNcfhCOhkEAjUVmR7ChZc6gqikJTvOX6+guqw9ypzAO+sf0 +/RR3w6RbKFfCs/mC/bdFWJsCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8C +AQAwDgYDVR0PAQH/BAQDAgGGMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYY +aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6 +Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwN6A1 +oDOGMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RD +QS5jcmwwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v +d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwHQYDVR0OBBYEFA+AYRyCMWHVLyjnjUY4tCzh +xtniMB8GA1UdIwQYMBaAFAPeUDVW0Uy7ZvCj4hsbw5eyPdFVMA0GCSqGSIb3DQEB +CwUAA4IBAQAjPt9L0jFCpbZ+QlwaRMxp0Wi0XUvgBCFsS+JtzLHgl4+mUwnNqipl +5TlPHoOlblyYoiQm5vuh7ZPHLgLGTUq/sELfeNqzqPlt/yGFUzZgTHbO7Djc1lGA +8MXW5dRNJ2Srm8c+cftIl7gzbckTB+6WohsYFfZcTEDts8Ls/3HB40f/1LkAtDdC +2iDJ6m6K7hQGrn2iWZiIqBtvLfTyyRRfJs8sjX7tN8Cp1Tm5gr8ZDOo0rwAhaPit +c+LJMto4JQtV05od8GiG7S5BNO98pVAdvzr508EIDObtHopYJeS4d60tbvVS3bR0 +j6tJLp07kzQoH3jOlOrHvdPJbRzeXDLz +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_21[] = { + 0x30, 0x82, 0x04, 0x94, 0x30, 0x82, 0x03, 0x7c, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x01, 0xfd, 0xa3, 0xeb, 0x6e, 0xca, 0x75, 0xc8, 0x88, + 0x43, 0x8b, 0x72, 0x4b, 0xcf, 0xbc, 0x91, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x61, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x17, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, + 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x30, 0x33, 0x30, 0x38, 0x31, + 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x30, 0x33, + 0x30, 0x38, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x4d, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, + 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, + 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x53, 0x48, 0x41, 0x32, 0x20, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, + 0x00, 0xdc, 0xae, 0x58, 0x90, 0x4d, 0xc1, 0xc4, 0x30, 0x15, 0x90, 0x35, + 0x5b, 0x6e, 0x3c, 0x82, 0x15, 0xf5, 0x2c, 0x5c, 0xbd, 0xe3, 0xdb, 0xff, + 0x71, 0x43, 0xfa, 0x64, 0x25, 0x80, 0xd4, 0xee, 0x18, 0xa2, 0x4d, 0xf0, + 0x66, 0xd0, 0x0a, 0x73, 0x6e, 0x11, 0x98, 0x36, 0x17, 0x64, 0xaf, 0x37, + 0x9d, 0xfd, 0xfa, 0x41, 0x84, 0xaf, 0xc7, 0xaf, 0x8c, 0xfe, 0x1a, 0x73, + 0x4d, 0xcf, 0x33, 0x97, 0x90, 0xa2, 0x96, 0x87, 0x53, 0x83, 0x2b, 0xb9, + 0xa6, 0x75, 0x48, 0x2d, 0x1d, 0x56, 0x37, 0x7b, 0xda, 0x31, 0x32, 0x1a, + 0xd7, 0xac, 0xab, 0x06, 0xf4, 0xaa, 0x5d, 0x4b, 0xb7, 0x47, 0x46, 0xdd, + 0x2a, 0x93, 0xc3, 0x90, 0x2e, 0x79, 0x80, 0x80, 0xef, 0x13, 0x04, 0x6a, + 0x14, 0x3b, 0xb5, 0x9b, 0x92, 0xbe, 0xc2, 0x07, 0x65, 0x4e, 0xfc, 0xda, + 0xfc, 0xff, 0x7a, 0xae, 0xdc, 0x5c, 0x7e, 0x55, 0x31, 0x0c, 0xe8, 0x39, + 0x07, 0xa4, 0xd7, 0xbe, 0x2f, 0xd3, 0x0b, 0x6a, 0xd2, 0xb1, 0xdf, 0x5f, + 0xfe, 0x57, 0x74, 0x53, 0x3b, 0x35, 0x80, 0xdd, 0xae, 0x8e, 0x44, 0x98, + 0xb3, 0x9f, 0x0e, 0xd3, 0xda, 0xe0, 0xd7, 0xf4, 0x6b, 0x29, 0xab, 0x44, + 0xa7, 0x4b, 0x58, 0x84, 0x6d, 0x92, 0x4b, 0x81, 0xc3, 0xda, 0x73, 0x8b, + 0x12, 0x97, 0x48, 0x90, 0x04, 0x45, 0x75, 0x1a, 0xdd, 0x37, 0x31, 0x97, + 0x92, 0xe8, 0xcd, 0x54, 0x0d, 0x3b, 0xe4, 0xc1, 0x3f, 0x39, 0x5e, 0x2e, + 0xb8, 0xf3, 0x5c, 0x7e, 0x10, 0x8e, 0x86, 0x41, 0x00, 0x8d, 0x45, 0x66, + 0x47, 0xb0, 0xa1, 0x65, 0xce, 0xa0, 0xaa, 0x29, 0x09, 0x4e, 0xf3, 0x97, + 0xeb, 0xe8, 0x2e, 0xab, 0x0f, 0x72, 0xa7, 0x30, 0x0e, 0xfa, 0xc7, 0xf4, + 0xfd, 0x14, 0x77, 0xc3, 0xa4, 0x5b, 0x28, 0x57, 0xc2, 0xb3, 0xf9, 0x82, + 0xfd, 0xb7, 0x45, 0x58, 0x9b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x5a, 0x30, 0x82, 0x01, 0x56, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, + 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x7b, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x74, 0x30, 0x72, 0x30, + 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x33, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, + 0x43, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x6f, + 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x37, 0xa0, 0x35, + 0xa0, 0x33, 0x86, 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x34, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, + 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x6f, 0x6f, 0x74, 0x43, + 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x20, + 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, + 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x50, 0x53, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x0f, 0x80, 0x61, 0x1c, 0x82, + 0x31, 0x61, 0xd5, 0x2f, 0x28, 0xe7, 0x8d, 0x46, 0x38, 0xb4, 0x2c, 0xe1, + 0xc6, 0xd9, 0xe2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, + 0x30, 0x16, 0x80, 0x14, 0x03, 0xde, 0x50, 0x35, 0x56, 0xd1, 0x4c, 0xbb, + 0x66, 0xf0, 0xa3, 0xe2, 0x1b, 0x1b, 0xc3, 0x97, 0xb2, 0x3d, 0xd1, 0x55, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x23, 0x3e, 0xdf, 0x4b, + 0xd2, 0x31, 0x42, 0xa5, 0xb6, 0x7e, 0x42, 0x5c, 0x1a, 0x44, 0xcc, 0x69, + 0xd1, 0x68, 0xb4, 0x5d, 0x4b, 0xe0, 0x04, 0x21, 0x6c, 0x4b, 0xe2, 0x6d, + 0xcc, 0xb1, 0xe0, 0x97, 0x8f, 0xa6, 0x53, 0x09, 0xcd, 0xaa, 0x2a, 0x65, + 0xe5, 0x39, 0x4f, 0x1e, 0x83, 0xa5, 0x6e, 0x5c, 0x98, 0xa2, 0x24, 0x26, + 0xe6, 0xfb, 0xa1, 0xed, 0x93, 0xc7, 0x2e, 0x02, 0xc6, 0x4d, 0x4a, 0xbf, + 0xb0, 0x42, 0xdf, 0x78, 0xda, 0xb3, 0xa8, 0xf9, 0x6d, 0xff, 0x21, 0x85, + 0x53, 0x36, 0x60, 0x4c, 0x76, 0xce, 0xec, 0x38, 0xdc, 0xd6, 0x51, 0x80, + 0xf0, 0xc5, 0xd6, 0xe5, 0xd4, 0x4d, 0x27, 0x64, 0xab, 0x9b, 0xc7, 0x3e, + 0x71, 0xfb, 0x48, 0x97, 0xb8, 0x33, 0x6d, 0xc9, 0x13, 0x07, 0xee, 0x96, + 0xa2, 0x1b, 0x18, 0x15, 0xf6, 0x5c, 0x4c, 0x40, 0xed, 0xb3, 0xc2, 0xec, + 0xff, 0x71, 0xc1, 0xe3, 0x47, 0xff, 0xd4, 0xb9, 0x00, 0xb4, 0x37, 0x42, + 0xda, 0x20, 0xc9, 0xea, 0x6e, 0x8a, 0xee, 0x14, 0x06, 0xae, 0x7d, 0xa2, + 0x59, 0x98, 0x88, 0xa8, 0x1b, 0x6f, 0x2d, 0xf4, 0xf2, 0xc9, 0x14, 0x5f, + 0x26, 0xcf, 0x2c, 0x8d, 0x7e, 0xed, 0x37, 0xc0, 0xa9, 0xd5, 0x39, 0xb9, + 0x82, 0xbf, 0x19, 0x0c, 0xea, 0x34, 0xaf, 0x00, 0x21, 0x68, 0xf8, 0xad, + 0x73, 0xe2, 0xc9, 0x32, 0xda, 0x38, 0x25, 0x0b, 0x55, 0xd3, 0x9a, 0x1d, + 0xf0, 0x68, 0x86, 0xed, 0x2e, 0x41, 0x34, 0xef, 0x7c, 0xa5, 0x50, 0x1d, + 0xbf, 0x3a, 0xf9, 0xd3, 0xc1, 0x08, 0x0c, 0xe6, 0xed, 0x1e, 0x8a, 0x58, + 0x25, 0xe4, 0xb8, 0x77, 0xad, 0x2d, 0x6e, 0xf5, 0x52, 0xdd, 0xb4, 0x74, + 0x8f, 0xab, 0x49, 0x2e, 0x9d, 0x3b, 0x93, 0x34, 0x28, 0x1f, 0x78, 0xce, + 0x94, 0xea, 0xc7, 0xbd, 0xd3, 0xc9, 0x6d, 0x1c, 0xde, 0x5c, 0x32, 0xf3, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 0b:1d:b1:a9:19:f2:4c:3c:4e:fc:b5:7a:6a:4e:6c:bf + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority + Validity + Not Before: Aug 23 00:00:00 2012 GMT + Not After : Aug 22 23:59:59 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Extended Validation SSL CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:9e:c6:21:cd:2e:3d:d0:bb:2a:4d:a4:7b:1f:a8: + 1a:c2:03:a6:ff:43:62:5b:bf:91:d1:66:52:a9:81: + 90:68:31:86:16:bb:1d:85:58:a9:7e:91:6a:1e:4c: + 31:ca:21:c4:be:70:1b:9f:8c:e4:05:2d:9c:ed:11: + 79:ad:8f:9c:25:86:4c:ba:f2:e5:62:79:8e:22:5f: + 85:7c:22:35:38:23:8d:80:3c:ac:cc:2d:fc:58:f2: + 35:bf:66:5b:eb:c1:24:f8:70:80:74:32:f9:46:de: + 32:19:80:8c:b7:e7:1a:a1:aa:64:98:8d:ca:ce:0e: + dc:6b:f7:e2:90:0a:6c:1c:a5:f4:90:32:52:e5:f1: + 00:42:31:91:48:42:89:a8:5d:7f:63:8d:31:b2:d6: + 48:5c:45:45:22:c9:c5:59:12:ab:41:94:ea:fe:9c: + 46:4d:9a:bc:9c:e0:e2:c6:46:b3:e6:7f:dc:f5:0f: + a3:13:45:86:6d:79:78:fc:e1:50:cf:09:86:e5:9f: + bf:cb:3a:d4:e0:b1:d4:ff:a8:3f:7d:62:1f:c0:6d: + 78:48:c3:d7:a3:a5:23:61:c5:3e:35:4d:b2:e5:f8: + fd:94:4b:bc:73:53:af:e3:9a:69:55:be:cb:67:ab: + e1:be:ef:1b:c2:4d:ac:cb:29:5c:bc:ed:b8:62:9d: + 10:e9 + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://EVSecure-ocsp.geotrust.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.geotrust.com/resources/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://EVSecure-crl.geotrust.com/GeoTrustPCA.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-253 + X509v3 Subject Key Identifier: + 6F:26:56:D9:5C:E7:F7:C9:04:20:F8:1E:BA:7C:91:27:2F:8C:FA:07 + X509v3 Authority Key Identifier: + keyid:2C:D5:50:41:97:15:8B:F0:8F:36:61:5B:4A:FB:6B:D9:99:C9:33:92 + + Signature Algorithm: sha1WithRSAEncryption + 92:77:e9:57:c9:eb:c4:45:6f:c9:4c:6e:7d:00:12:71:a5:e3: + 39:fe:13:84:49:6c:e7:49:71:f5:2c:c7:c0:36:c2:08:58:f3: + 83:75:c5:72:d8:8d:78:f4:65:ea:8c:d5:e3:a5:0e:a9:ad:eb: + e3:a1:23:ae:93:b7:d8:75:75:4a:59:cb:f2:9e:db:40:bf:4e: + 89:fe:95:42:29:34:7b:f4:dd:6a:0d:74:5f:c7:11:13:2e:dd: + 11:6e:c6:e3:5b:b3:cf:a6:8d:e5:f7:67:7b:ba:b3:b3:69:70: + 14:b0:c2:99:b4:d2:76:5b:38:17:39:45:1b:82:f1:53:b8:3d: + 55:39:0b:7f:ff:98:ad:6e:96:9a:b6:6a:4c:7a:5e:bd:b1:86: + 12:9d:7c:2c:62:bb:09:93:5f:3f:d8:b5:8a:c3:49:28:0f:0b: + f9:39:22:1a:fe:5d:d3:e8:18:5f:9d:5f:b4:c0:20:c6:a9:49: + 0d:55:73:6a:09:7a:ff:a2:99:bf:d8:bb:91:dc:30:39:ae:28: + 4b:f6:c5:77:24:e8:d6:c6:a7:a0:4e:f2:a6:99:75:cd:dd:57: + dd:0a:47:92:cb:bb:b7:48:fa:21:f0:69:21:ff:e5:0c:aa:0c: + b1:ea:dd:05:1c:19:8e:d1:2a:79:68:02:5e:cc:38:e6:29:c4: + 77:f5:19:1c +-----BEGIN CERTIFICATE----- +MIIEmjCCA4KgAwIBAgIQCx2xqRnyTDxO/LV6ak5svzANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xMjA4 +MjMwMDAwMDBaFw0yMjA4MjIyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBFeHRlbmRlZCBWYWxp +ZGF0aW9uIFNTTCBDQSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAnsYhzS490LsqTaR7H6gawgOm/0NiW7+R0WZSqYGQaDGGFrsdhVipfpFqHkwx +yiHEvnAbn4zkBS2c7RF5rY+cJYZMuvLlYnmOIl+FfCI1OCONgDyszC38WPI1v2Zb +68Ek+HCAdDL5Rt4yGYCMt+caoapkmI3Kzg7ca/fikApsHKX0kDJS5fEAQjGRSEKJ +qF1/Y40xstZIXEVFIsnFWRKrQZTq/pxGTZq8nODixkaz5n/c9Q+jE0WGbXl4/OFQ +zwmG5Z+/yzrU4LHU/6g/fWIfwG14SMPXo6UjYcU+NU2y5fj9lEu8c1Ov45ppVb7L +Z6vhvu8bwk2syylcvO24Yp0Q6QIDAQABo4IBXjCCAVowPQYIKwYBBQUHAQEEMTAv +MC0GCCsGAQUFBzABhiFodHRwOi8vRVZTZWN1cmUtb2NzcC5nZW90cnVzdC5jb20w +EgYDVR0TAQH/BAgwBgEB/wIBADBGBgNVHSAEPzA9MDsGBFUdIAAwMzAxBggrBgEF +BQcCARYlaHR0cDovL3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2VzL2NwczBBBgNV +HR8EOjA4MDagNKAyhjBodHRwOi8vRVZTZWN1cmUtY3JsLmdlb3RydXN0LmNvbS9H +ZW9UcnVzdFBDQS5jcmwwDgYDVR0PAQH/BAQDAgEGMCoGA1UdEQQjMCGkHzAdMRsw +GQYDVQQDExJWZXJpU2lnbk1QS0ktMi0yNTMwHQYDVR0OBBYEFG8mVtlc5/fJBCD4 +Hrp8kScvjPoHMB8GA1UdIwQYMBaAFCzVUEGXFYvwjzZhW0r7a9mZyTOSMA0GCSqG +SIb3DQEBBQUAA4IBAQCSd+lXyevERW/JTG59ABJxpeM5/hOESWznSXH1LMfANsII +WPODdcVy2I149GXqjNXjpQ6prevjoSOuk7fYdXVKWcvynttAv06J/pVCKTR79N1q +DXRfxxETLt0RbsbjW7PPpo3l92d7urOzaXAUsMKZtNJ2WzgXOUUbgvFTuD1VOQt/ +/5itbpaatmpMel69sYYSnXwsYrsJk18/2LWKw0koDwv5OSIa/l3T6BhfnV+0wCDG +qUkNVXNqCXr/opm/2LuR3DA5rihL9sV3JOjWxqegTvKmmXXN3VfdCkeSy7u3SPoh +8Gkh/+UMqgyx6t0FHBmO0Sp5aAJezDjmKcR39Rkc +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_22[] = { + 0x30, 0x82, 0x04, 0x9a, 0x30, 0x82, 0x03, 0x82, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x0b, 0x1d, 0xb1, 0xa9, 0x19, 0xf2, 0x4c, 0x3c, 0x4e, + 0xfc, 0xb5, 0x7a, 0x6a, 0x4e, 0x6c, 0xbf, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x58, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x28, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x38, + 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, + 0x32, 0x30, 0x38, 0x32, 0x32, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, + 0x30, 0x58, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x28, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, + 0x41, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, + 0x01, 0x01, 0x00, 0x9e, 0xc6, 0x21, 0xcd, 0x2e, 0x3d, 0xd0, 0xbb, 0x2a, + 0x4d, 0xa4, 0x7b, 0x1f, 0xa8, 0x1a, 0xc2, 0x03, 0xa6, 0xff, 0x43, 0x62, + 0x5b, 0xbf, 0x91, 0xd1, 0x66, 0x52, 0xa9, 0x81, 0x90, 0x68, 0x31, 0x86, + 0x16, 0xbb, 0x1d, 0x85, 0x58, 0xa9, 0x7e, 0x91, 0x6a, 0x1e, 0x4c, 0x31, + 0xca, 0x21, 0xc4, 0xbe, 0x70, 0x1b, 0x9f, 0x8c, 0xe4, 0x05, 0x2d, 0x9c, + 0xed, 0x11, 0x79, 0xad, 0x8f, 0x9c, 0x25, 0x86, 0x4c, 0xba, 0xf2, 0xe5, + 0x62, 0x79, 0x8e, 0x22, 0x5f, 0x85, 0x7c, 0x22, 0x35, 0x38, 0x23, 0x8d, + 0x80, 0x3c, 0xac, 0xcc, 0x2d, 0xfc, 0x58, 0xf2, 0x35, 0xbf, 0x66, 0x5b, + 0xeb, 0xc1, 0x24, 0xf8, 0x70, 0x80, 0x74, 0x32, 0xf9, 0x46, 0xde, 0x32, + 0x19, 0x80, 0x8c, 0xb7, 0xe7, 0x1a, 0xa1, 0xaa, 0x64, 0x98, 0x8d, 0xca, + 0xce, 0x0e, 0xdc, 0x6b, 0xf7, 0xe2, 0x90, 0x0a, 0x6c, 0x1c, 0xa5, 0xf4, + 0x90, 0x32, 0x52, 0xe5, 0xf1, 0x00, 0x42, 0x31, 0x91, 0x48, 0x42, 0x89, + 0xa8, 0x5d, 0x7f, 0x63, 0x8d, 0x31, 0xb2, 0xd6, 0x48, 0x5c, 0x45, 0x45, + 0x22, 0xc9, 0xc5, 0x59, 0x12, 0xab, 0x41, 0x94, 0xea, 0xfe, 0x9c, 0x46, + 0x4d, 0x9a, 0xbc, 0x9c, 0xe0, 0xe2, 0xc6, 0x46, 0xb3, 0xe6, 0x7f, 0xdc, + 0xf5, 0x0f, 0xa3, 0x13, 0x45, 0x86, 0x6d, 0x79, 0x78, 0xfc, 0xe1, 0x50, + 0xcf, 0x09, 0x86, 0xe5, 0x9f, 0xbf, 0xcb, 0x3a, 0xd4, 0xe0, 0xb1, 0xd4, + 0xff, 0xa8, 0x3f, 0x7d, 0x62, 0x1f, 0xc0, 0x6d, 0x78, 0x48, 0xc3, 0xd7, + 0xa3, 0xa5, 0x23, 0x61, 0xc5, 0x3e, 0x35, 0x4d, 0xb2, 0xe5, 0xf8, 0xfd, + 0x94, 0x4b, 0xbc, 0x73, 0x53, 0xaf, 0xe3, 0x9a, 0x69, 0x55, 0xbe, 0xcb, + 0x67, 0xab, 0xe1, 0xbe, 0xef, 0x1b, 0xc2, 0x4d, 0xac, 0xcb, 0x29, 0x5c, + 0xbc, 0xed, 0xb8, 0x62, 0x9d, 0x10, 0xe9, 0x02, 0x03, 0x01, 0x00, 0x01, + 0xa3, 0x82, 0x01, 0x5e, 0x30, 0x82, 0x01, 0x5a, 0x30, 0x3d, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x31, 0x30, 0x2f, + 0x30, 0x2d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x45, 0x56, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x2d, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, + 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, + 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, + 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x46, 0x06, 0x03, 0x55, + 0x1d, 0x20, 0x04, 0x3f, 0x30, 0x3d, 0x30, 0x3b, 0x06, 0x04, 0x55, 0x1d, + 0x20, 0x00, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x41, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x3a, 0x30, 0x38, 0x30, 0x36, 0xa0, 0x34, 0xa0, 0x32, + 0x86, 0x30, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x45, 0x56, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x2d, 0x63, 0x72, 0x6c, 0x2e, 0x67, 0x65, + 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x50, 0x43, 0x41, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x1d, + 0x11, 0x04, 0x23, 0x30, 0x21, 0xa4, 0x1f, 0x30, 0x1d, 0x31, 0x1b, 0x30, + 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, 0x2d, 0x32, 0x2d, 0x32, + 0x35, 0x33, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0x6f, 0x26, 0x56, 0xd9, 0x5c, 0xe7, 0xf7, 0xc9, 0x04, 0x20, 0xf8, + 0x1e, 0xba, 0x7c, 0x91, 0x27, 0x2f, 0x8c, 0xfa, 0x07, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x2c, 0xd5, + 0x50, 0x41, 0x97, 0x15, 0x8b, 0xf0, 0x8f, 0x36, 0x61, 0x5b, 0x4a, 0xfb, + 0x6b, 0xd9, 0x99, 0xc9, 0x33, 0x92, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x01, 0x00, 0x92, 0x77, 0xe9, 0x57, 0xc9, 0xeb, 0xc4, 0x45, 0x6f, 0xc9, + 0x4c, 0x6e, 0x7d, 0x00, 0x12, 0x71, 0xa5, 0xe3, 0x39, 0xfe, 0x13, 0x84, + 0x49, 0x6c, 0xe7, 0x49, 0x71, 0xf5, 0x2c, 0xc7, 0xc0, 0x36, 0xc2, 0x08, + 0x58, 0xf3, 0x83, 0x75, 0xc5, 0x72, 0xd8, 0x8d, 0x78, 0xf4, 0x65, 0xea, + 0x8c, 0xd5, 0xe3, 0xa5, 0x0e, 0xa9, 0xad, 0xeb, 0xe3, 0xa1, 0x23, 0xae, + 0x93, 0xb7, 0xd8, 0x75, 0x75, 0x4a, 0x59, 0xcb, 0xf2, 0x9e, 0xdb, 0x40, + 0xbf, 0x4e, 0x89, 0xfe, 0x95, 0x42, 0x29, 0x34, 0x7b, 0xf4, 0xdd, 0x6a, + 0x0d, 0x74, 0x5f, 0xc7, 0x11, 0x13, 0x2e, 0xdd, 0x11, 0x6e, 0xc6, 0xe3, + 0x5b, 0xb3, 0xcf, 0xa6, 0x8d, 0xe5, 0xf7, 0x67, 0x7b, 0xba, 0xb3, 0xb3, + 0x69, 0x70, 0x14, 0xb0, 0xc2, 0x99, 0xb4, 0xd2, 0x76, 0x5b, 0x38, 0x17, + 0x39, 0x45, 0x1b, 0x82, 0xf1, 0x53, 0xb8, 0x3d, 0x55, 0x39, 0x0b, 0x7f, + 0xff, 0x98, 0xad, 0x6e, 0x96, 0x9a, 0xb6, 0x6a, 0x4c, 0x7a, 0x5e, 0xbd, + 0xb1, 0x86, 0x12, 0x9d, 0x7c, 0x2c, 0x62, 0xbb, 0x09, 0x93, 0x5f, 0x3f, + 0xd8, 0xb5, 0x8a, 0xc3, 0x49, 0x28, 0x0f, 0x0b, 0xf9, 0x39, 0x22, 0x1a, + 0xfe, 0x5d, 0xd3, 0xe8, 0x18, 0x5f, 0x9d, 0x5f, 0xb4, 0xc0, 0x20, 0xc6, + 0xa9, 0x49, 0x0d, 0x55, 0x73, 0x6a, 0x09, 0x7a, 0xff, 0xa2, 0x99, 0xbf, + 0xd8, 0xbb, 0x91, 0xdc, 0x30, 0x39, 0xae, 0x28, 0x4b, 0xf6, 0xc5, 0x77, + 0x24, 0xe8, 0xd6, 0xc6, 0xa7, 0xa0, 0x4e, 0xf2, 0xa6, 0x99, 0x75, 0xcd, + 0xdd, 0x57, 0xdd, 0x0a, 0x47, 0x92, 0xcb, 0xbb, 0xb7, 0x48, 0xfa, 0x21, + 0xf0, 0x69, 0x21, 0xff, 0xe5, 0x0c, 0xaa, 0x0c, 0xb1, 0xea, 0xdd, 0x05, + 0x1c, 0x19, 0x8e, 0xd1, 0x2a, 0x79, 0x68, 0x02, 0x5e, 0xcc, 0x38, 0xe6, + 0x29, 0xc4, 0x77, 0xf5, 0x19, 0x1c, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 3740804 (0x391484) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority + Validity + Not Before: Jan 1 07:00:00 2014 GMT + Not After : May 30 07:00:00 2031 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bd:ed:c1:03:fc:f6:8f:fc:02:b1:6f:5b:9f:48: + d9:9d:79:e2:a2:b7:03:61:56:18:c3:47:b6:d7:ca: + 3d:35:2e:89:43:f7:a1:69:9b:de:8a:1a:fd:13:20: + 9c:b4:49:77:32:29:56:fd:b9:ec:8c:dd:22:fa:72: + dc:27:61:97:ee:f6:5a:84:ec:6e:19:b9:89:2c:dc: + 84:5b:d5:74:fb:6b:5f:c5:89:a5:10:52:89:46:55: + f4:b8:75:1c:e6:7f:e4:54:ae:4b:f8:55:72:57:02: + 19:f8:17:71:59:eb:1e:28:07:74:c5:9d:48:be:6c: + b4:f4:a4:b0:f3:64:37:79:92:c0:ec:46:5e:7f:e1: + 6d:53:4c:62:af:cd:1f:0b:63:bb:3a:9d:fb:fc:79: + 00:98:61:74:cf:26:82:40:63:f3:b2:72:6a:19:0d: + 99:ca:d4:0e:75:cc:37:fb:8b:89:c1:59:f1:62:7f: + 5f:b3:5f:65:30:f8:a7:b7:4d:76:5a:1e:76:5e:34: + c0:e8:96:56:99:8a:b3:f0:7f:a4:cd:bd:dc:32:31: + 7c:91:cf:e0:5f:11:f8:6b:aa:49:5c:d1:99:94:d1: + a2:e3:63:5b:09:76:b5:56:62:e1:4b:74:1d:96:d4: + 26:d4:08:04:59:d0:98:0e:0e:e6:de:fc:c3:ec:1f: + 90:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 7C:0C:32:1F:A7:D9:30:7F:C4:7D:68:A3:62:A8:A1:CE:AB:07:5B:27 + X509v3 Authority Key Identifier: + keyid:BF:5F:B7:D1:CE:DD:1F:86:F4:5B:55:AC:DC:D7:10:C2:0E:A9:88:E7 + + Authority Information Access: + OCSP - URI:http://ocsp.starfieldtech.com/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.starfieldtech.com/sfroot.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://certs.starfieldtech.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + 85:63:c1:d9:dd:b9:ff:a9:bd:a6:19:dc:bf:13:3a:11:38:22: + 54:b1:ac:05:10:fb:7c:b3:96:3f:31:8b:66:ff:88:f3:e1:bf: + fb:c7:1f:00:ff:46:6a:8b:61:32:c9:01:51:76:fb:9a:c6:fa: + 20:51:c8:46:c4:98:d7:79:a3:e3:04:72:3f:8b:4d:34:53:67: + ec:33:2c:7b:e8:94:01:28:7c:3a:34:5b:02:77:16:8d:40:25: + 33:b0:bc:6c:97:d7:05:7a:ff:8c:85:ce:6f:a0:53:00:17:6e: + 1e:6c:bd:22:d7:0a:88:37:f6:7d:eb:99:41:ef:27:cb:8c:60: + 6b:4c:01:7e:65:50:0b:4f:b8:95:9a:9a:6e:34:fd:73:3a:33: + f1:91:d5:f3:4e:2d:74:e8:ef:d3:90:35:f1:06:68:64:d4:d0: + 13:fd:52:d3:c6:6d:c1:3a:8a:31:dd:05:26:35:4a:8c:65:b8: + 52:6b:81:ec:d2:9c:b5:34:10:97:9c:3e:c6:2f:ed:8e:42:42: + 24:2e:e9:73:9a:25:f9:11:f1:f2:23:69:cb:e5:94:69:a0:d2: + dc:b0:fc:44:89:ac:17:a8:cc:d5:37:77:16:c5:80:b9:0c:8f: + 57:02:55:99:85:7b:49:f0:2e:5b:a0:c2:57:53:5d:a2:e8:a6: + 37:c3:01:fa +-----BEGIN CERTIFICATE----- +MIIEoDCCA4igAwIBAgIDORSEMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNVBAYTAlVT +MSUwIwYDVQQKExxTdGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQL +EylTdGFyZmllbGQgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x +NDAxMDEwNzAwMDBaFw0zMTA1MzAwNzAwMDBaMIGPMQswCQYDVQQGEwJVUzEQMA4G +A1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTElMCMGA1UEChMcU3Rh +cmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UEAxMpU3RhcmZpZWxkIFJv +b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQC97cED/PaP/AKxb1ufSNmdeeKitwNhVhjDR7bXyj01LolD +96Fpm96KGv0TIJy0SXcyKVb9ueyM3SL6ctwnYZfu9lqE7G4ZuYks3IRb1XT7a1/F +iaUQUolGVfS4dRzmf+RUrkv4VXJXAhn4F3FZ6x4oB3TFnUi+bLT0pLDzZDd5ksDs +Rl5/4W1TTGKvzR8LY7s6nfv8eQCYYXTPJoJAY/OycmoZDZnK1A51zDf7i4nBWfFi +f1+zX2Uw+Ke3TXZaHnZeNMDollaZirPwf6TNvdwyMXyRz+BfEfhrqklc0ZmU0aLj +Y1sJdrVWYuFLdB2W1CbUCARZ0JgODube/MPsH5DxAgMBAAGjggEpMIIBJTAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfAwyH6fZMH/E +fWijYqihzqsHWycwHwYDVR0jBBgwFoAUv1+30c7dH4b0W1Ws3NcQwg6piOcwOgYI +KwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5zdGFyZmllbGR0 +ZWNoLmNvbS8wOAYDVR0fBDEwLzAtoCugKYYnaHR0cDovL2NybC5zdGFyZmllbGR0 +ZWNoLmNvbS9zZnJvb3QuY3JsMEwGA1UdIARFMEMwQQYEVR0gADA5MDcGCCsGAQUF +BwIBFitodHRwczovL2NlcnRzLnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkv +MA0GCSqGSIb3DQEBCwUAA4IBAQCFY8HZ3bn/qb2mGdy/EzoROCJUsawFEPt8s5Y/ +MYtm/4jz4b/7xx8A/0Zqi2EyyQFRdvuaxvogUchGxJjXeaPjBHI/i000U2fsMyx7 +6JQBKHw6NFsCdxaNQCUzsLxsl9cFev+Mhc5voFMAF24ebL0i1wqIN/Z965lB7yfL +jGBrTAF+ZVALT7iVmppuNP1zOjPxkdXzTi106O/TkDXxBmhk1NAT/VLTxm3BOoox +3QUmNUqMZbhSa4Hs0py1NBCXnD7GL+2OQkIkLulzmiX5EfHyI2nL5ZRpoNLcsPxE +iawXqMzVN3cWxYC5DI9XAlWZhXtJ8C5boMJXU12i6KY3wwH6 +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_23[] = { + 0x30, 0x82, 0x04, 0xa0, 0x30, 0x82, 0x03, 0x88, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x39, 0x14, 0x84, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x68, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, + 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x29, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x32, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x34, 0x30, 0x31, 0x30, 0x31, 0x30, 0x37, 0x30, 0x30, 0x30, 0x30, 0x5a, + 0x17, 0x0d, 0x33, 0x31, 0x30, 0x35, 0x33, 0x30, 0x30, 0x37, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x30, 0x81, 0x8f, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, + 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, + 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, + 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, 0x31, 0x25, + 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, 0x74, 0x61, + 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, + 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, + 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xbd, 0xed, 0xc1, 0x03, 0xfc, 0xf6, 0x8f, 0xfc, 0x02, 0xb1, + 0x6f, 0x5b, 0x9f, 0x48, 0xd9, 0x9d, 0x79, 0xe2, 0xa2, 0xb7, 0x03, 0x61, + 0x56, 0x18, 0xc3, 0x47, 0xb6, 0xd7, 0xca, 0x3d, 0x35, 0x2e, 0x89, 0x43, + 0xf7, 0xa1, 0x69, 0x9b, 0xde, 0x8a, 0x1a, 0xfd, 0x13, 0x20, 0x9c, 0xb4, + 0x49, 0x77, 0x32, 0x29, 0x56, 0xfd, 0xb9, 0xec, 0x8c, 0xdd, 0x22, 0xfa, + 0x72, 0xdc, 0x27, 0x61, 0x97, 0xee, 0xf6, 0x5a, 0x84, 0xec, 0x6e, 0x19, + 0xb9, 0x89, 0x2c, 0xdc, 0x84, 0x5b, 0xd5, 0x74, 0xfb, 0x6b, 0x5f, 0xc5, + 0x89, 0xa5, 0x10, 0x52, 0x89, 0x46, 0x55, 0xf4, 0xb8, 0x75, 0x1c, 0xe6, + 0x7f, 0xe4, 0x54, 0xae, 0x4b, 0xf8, 0x55, 0x72, 0x57, 0x02, 0x19, 0xf8, + 0x17, 0x71, 0x59, 0xeb, 0x1e, 0x28, 0x07, 0x74, 0xc5, 0x9d, 0x48, 0xbe, + 0x6c, 0xb4, 0xf4, 0xa4, 0xb0, 0xf3, 0x64, 0x37, 0x79, 0x92, 0xc0, 0xec, + 0x46, 0x5e, 0x7f, 0xe1, 0x6d, 0x53, 0x4c, 0x62, 0xaf, 0xcd, 0x1f, 0x0b, + 0x63, 0xbb, 0x3a, 0x9d, 0xfb, 0xfc, 0x79, 0x00, 0x98, 0x61, 0x74, 0xcf, + 0x26, 0x82, 0x40, 0x63, 0xf3, 0xb2, 0x72, 0x6a, 0x19, 0x0d, 0x99, 0xca, + 0xd4, 0x0e, 0x75, 0xcc, 0x37, 0xfb, 0x8b, 0x89, 0xc1, 0x59, 0xf1, 0x62, + 0x7f, 0x5f, 0xb3, 0x5f, 0x65, 0x30, 0xf8, 0xa7, 0xb7, 0x4d, 0x76, 0x5a, + 0x1e, 0x76, 0x5e, 0x34, 0xc0, 0xe8, 0x96, 0x56, 0x99, 0x8a, 0xb3, 0xf0, + 0x7f, 0xa4, 0xcd, 0xbd, 0xdc, 0x32, 0x31, 0x7c, 0x91, 0xcf, 0xe0, 0x5f, + 0x11, 0xf8, 0x6b, 0xaa, 0x49, 0x5c, 0xd1, 0x99, 0x94, 0xd1, 0xa2, 0xe3, + 0x63, 0x5b, 0x09, 0x76, 0xb5, 0x56, 0x62, 0xe1, 0x4b, 0x74, 0x1d, 0x96, + 0xd4, 0x26, 0xd4, 0x08, 0x04, 0x59, 0xd0, 0x98, 0x0e, 0x0e, 0xe6, 0xde, + 0xfc, 0xc3, 0xec, 0x1f, 0x90, 0xf1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, + 0x82, 0x01, 0x29, 0x30, 0x82, 0x01, 0x25, 0x30, 0x0f, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, + 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0x7c, 0x0c, 0x32, 0x1f, 0xa7, 0xd9, 0x30, 0x7f, 0xc4, + 0x7d, 0x68, 0xa3, 0x62, 0xa8, 0xa1, 0xce, 0xab, 0x07, 0x5b, 0x27, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0xbf, 0x5f, 0xb7, 0xd1, 0xce, 0xdd, 0x1f, 0x86, 0xf4, 0x5b, 0x55, 0xac, + 0xdc, 0xd7, 0x10, 0xc2, 0x0e, 0xa9, 0x88, 0xe7, 0x30, 0x3a, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x2e, 0x30, 0x2c, + 0x30, 0x2a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x1e, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, + 0x70, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x74, + 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x38, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0xa0, 0x2b, 0xa0, + 0x29, 0x86, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x74, + 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x66, 0x72, 0x6f, + 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, + 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, 0x04, 0x55, 0x1d, 0x20, + 0x00, 0x30, 0x39, 0x30, 0x37, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x2b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x74, 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x85, 0x63, 0xc1, 0xd9, + 0xdd, 0xb9, 0xff, 0xa9, 0xbd, 0xa6, 0x19, 0xdc, 0xbf, 0x13, 0x3a, 0x11, + 0x38, 0x22, 0x54, 0xb1, 0xac, 0x05, 0x10, 0xfb, 0x7c, 0xb3, 0x96, 0x3f, + 0x31, 0x8b, 0x66, 0xff, 0x88, 0xf3, 0xe1, 0xbf, 0xfb, 0xc7, 0x1f, 0x00, + 0xff, 0x46, 0x6a, 0x8b, 0x61, 0x32, 0xc9, 0x01, 0x51, 0x76, 0xfb, 0x9a, + 0xc6, 0xfa, 0x20, 0x51, 0xc8, 0x46, 0xc4, 0x98, 0xd7, 0x79, 0xa3, 0xe3, + 0x04, 0x72, 0x3f, 0x8b, 0x4d, 0x34, 0x53, 0x67, 0xec, 0x33, 0x2c, 0x7b, + 0xe8, 0x94, 0x01, 0x28, 0x7c, 0x3a, 0x34, 0x5b, 0x02, 0x77, 0x16, 0x8d, + 0x40, 0x25, 0x33, 0xb0, 0xbc, 0x6c, 0x97, 0xd7, 0x05, 0x7a, 0xff, 0x8c, + 0x85, 0xce, 0x6f, 0xa0, 0x53, 0x00, 0x17, 0x6e, 0x1e, 0x6c, 0xbd, 0x22, + 0xd7, 0x0a, 0x88, 0x37, 0xf6, 0x7d, 0xeb, 0x99, 0x41, 0xef, 0x27, 0xcb, + 0x8c, 0x60, 0x6b, 0x4c, 0x01, 0x7e, 0x65, 0x50, 0x0b, 0x4f, 0xb8, 0x95, + 0x9a, 0x9a, 0x6e, 0x34, 0xfd, 0x73, 0x3a, 0x33, 0xf1, 0x91, 0xd5, 0xf3, + 0x4e, 0x2d, 0x74, 0xe8, 0xef, 0xd3, 0x90, 0x35, 0xf1, 0x06, 0x68, 0x64, + 0xd4, 0xd0, 0x13, 0xfd, 0x52, 0xd3, 0xc6, 0x6d, 0xc1, 0x3a, 0x8a, 0x31, + 0xdd, 0x05, 0x26, 0x35, 0x4a, 0x8c, 0x65, 0xb8, 0x52, 0x6b, 0x81, 0xec, + 0xd2, 0x9c, 0xb5, 0x34, 0x10, 0x97, 0x9c, 0x3e, 0xc6, 0x2f, 0xed, 0x8e, + 0x42, 0x42, 0x24, 0x2e, 0xe9, 0x73, 0x9a, 0x25, 0xf9, 0x11, 0xf1, 0xf2, + 0x23, 0x69, 0xcb, 0xe5, 0x94, 0x69, 0xa0, 0xd2, 0xdc, 0xb0, 0xfc, 0x44, + 0x89, 0xac, 0x17, 0xa8, 0xcc, 0xd5, 0x37, 0x77, 0x16, 0xc5, 0x80, 0xb9, + 0x0c, 0x8f, 0x57, 0x02, 0x55, 0x99, 0x85, 0x7b, 0x49, 0xf0, 0x2e, 0x5b, + 0xa0, 0xc2, 0x57, 0x53, 0x5d, 0xa2, 0xe8, 0xa6, 0x37, 0xc3, 0x01, 0xfa, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 28:1c:89:29:66:14:43:80:42:63:55:3a:32:40:ae:b3 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3 + Validity + Not Before: Jun 30 00:00:00 2015 GMT + Not After : Jun 29 23:59:59 2025 GMT + Subject: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c0:9e:3a:0f:9a:b2:ba:d3:d2:dc:15:ec:d0:30: + 54:59:30:4d:40:51:ae:42:71:71:d2:8d:53:73:81: + fe:b8:e0:c4:96:c5:8e:7e:c2:f1:b7:63:4a:cf:a7: + 1e:3f:a8:e7:ce:53:a0:fa:2d:f7:d6:e6:ce:70:11: + a6:ee:e1:03:52:d2:68:de:3d:08:0d:87:fd:1c:d7: + 0b:97:62:6d:82:30:76:1b:47:3a:c4:f7:ce:ed:1d: + 7c:8c:b7:17:8e:53:80:1e:1d:0f:5d:8c:f9:90:e4: + 04:1e:02:7e:cb:b0:49:ef:da:52:25:fb:fb:67:ed: + dd:84:74:59:84:0e:f3:de:70:66:8d:e4:52:38:f7: + 53:5a:37:13:67:0b:3e:bb:a8:58:b7:2e:ed:ff:b7: + 5e:11:73:b9:77:45:52:67:46:ae:c4:dc:24:81:89: + 76:0a:ca:a1:6c:66:73:04:82:aa:f5:70:6c:5f:1b: + 9a:00:79:46:d6:7f:7a:26:17:30:cf:39:4b:2c:74: + d9:89:44:76:10:d0:ed:f7:8b:bb:89:05:75:4d:0b: + 0d:b3:da:e9:bf:f1:6a:7d:2a:11:db:1e:9f:8c:e3: + c4:06:69:e1:1d:88:45:39:d1:6e:55:d8:aa:b7:9b: + 6f:ea:f4:de:ac:17:11:92:5d:40:9b:83:7b:9a:e2: + f7:a9 + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.23.140.1.2.1 + CPS: https://www.geotrust.com/resources/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/GeoTrustPCA-G3.crl + + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + F3:B5:56:0C:C4:09:B0:B4:CF:1F:AA:F9:DD:23:56:F0:77:E8:A1:F9 + X509v3 Authority Key Identifier: + keyid:C4:79:CA:8E:A1:4E:03:1D:1C:DC:6B:DB:31:5B:94:3E:3F:30:7F:2D + + Signature Algorithm: sha256WithRSAEncryption + c3:7e:d8:83:4b:04:4c:55:29:2a:4f:14:9d:9a:6e:de:90:70: + c1:a4:26:4c:88:8e:78:48:ef:bd:9c:b0:a0:f5:f0:66:fc:fe: + 59:26:e1:79:ef:c8:b7:60:64:a8:8b:47:ea:2f:e0:83:99:da: + 41:19:d7:c5:be:05:fa:f2:90:11:f0:0a:ff:6c:dc:05:b4:d8: + 06:6f:a4:6f:8d:be:20:2b:54:db:f9:a2:45:83:9a:1e:a5:21: + 89:35:1d:7c:20:5c:17:fd:04:2e:45:d8:b2:c6:f8:42:99:fc: + 54:08:4e:4b:80:5f:39:37:ba:95:4e:a6:37:0a:9e:93:5e:87: + 5b:e9:90:d6:a8:b6:65:08:8d:61:49:eb:83:20:a9:5d:1b:16: + 60:62:6b:2f:54:fb:5a:02:0d:7a:27:e2:4b:e1:05:14:c2:e4: + e9:f9:70:c0:d9:f7:34:65:0e:a2:91:4b:ac:28:f2:b7:08:0f: + 98:ca:d7:3e:70:b6:c8:0b:f1:8b:9c:51:f8:c6:10:6c:d2:53: + 4f:62:8c:11:00:3e:88:df:bf:e6:d2:cc:70:bd:ed:25:9c:fb: + dd:24:0a:bd:59:91:4a:42:03:38:12:71:32:88:76:a0:8e:7c: + bb:32:ef:88:2a:1b:d4:6a:6f:50:b9:52:67:8b:ab:30:fa:1f: + fd:e3:24:9a +-----BEGIN CERTIFICATE----- +MIIEpjCCA46gAwIBAgIQKByJKWYUQ4BCY1U6MkCuszANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTE1MDYzMDAwMDAwMFoXDTI1MDYyOTIzNTk1OVowRzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlk +U1NMIFNIQTI1NiBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAwJ46D5qyutPS3BXs0DBUWTBNQFGuQnFx0o1Tc4H+uODElsWOfsLxt2NKz6ce +P6jnzlOg+i331ubOcBGm7uEDUtJo3j0IDYf9HNcLl2JtgjB2G0c6xPfO7R18jLcX +jlOAHh0PXYz5kOQEHgJ+y7BJ79pSJfv7Z+3dhHRZhA7z3nBmjeRSOPdTWjcTZws+ +u6hYty7t/7deEXO5d0VSZ0auxNwkgYl2CsqhbGZzBIKq9XBsXxuaAHlG1n96Jhcw +zzlLLHTZiUR2ENDt94u7iQV1TQsNs9rpv/FqfSoR2x6fjOPEBmnhHYhFOdFuVdiq +t5tv6vTerBcRkl1Am4N7muL3qQIDAQABo4IBOjCCATYwLgYIKwYBBQUHAQEEIjAg +MB4GCCsGAQUFBzABhhJodHRwOi8vZy5zeW1jZC5jb20wEgYDVR0TAQH/BAgwBgEB +/wIBADBJBgNVHSAEQjBAMD4GBmeBDAECATA0MDIGCCsGAQUFBwIBFiZodHRwczov +L3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2VzL2NwczA2BgNVHR8ELzAtMCugKaAn +hiVodHRwOi8vZy5zeW1jYi5jb20vR2VvVHJ1c3RQQ0EtRzMuY3JsMB0GA1UdJQQW +MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FPO1VgzECbC0zx+q+d0jVvB36KH5MB8GA1UdIwQYMBaAFMR5yo6hTgMdHNxr2zFb +lD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQDDftiDSwRMVSkqTxSdmm7ekHDBpCZM +iI54SO+9nLCg9fBm/P5ZJuF578i3YGSoi0fqL+CDmdpBGdfFvgX68pAR8Ar/bNwF +tNgGb6Rvjb4gK1Tb+aJFg5oepSGJNR18IFwX/QQuRdiyxvhCmfxUCE5LgF85N7qV +TqY3Cp6TXodb6ZDWqLZlCI1hSeuDIKldGxZgYmsvVPtaAg16J+JL4QUUwuTp+XDA +2fc0ZQ6ikUusKPK3CA+Yytc+cLbIC/GLnFH4xhBs0lNPYowRAD6I37/m0sxwve0l +nPvdJAq9WZFKQgM4EnEyiHagjny7Mu+IKhvUam9QuVJni6sw+h/94ySa +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_24[] = { + 0x30, 0x82, 0x04, 0xa6, 0x30, 0x82, 0x03, 0x8e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x28, 0x1c, 0x89, 0x29, 0x66, 0x14, 0x43, 0x80, 0x42, + 0x63, 0x55, 0x3a, 0x32, 0x40, 0xae, 0xb3, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0x98, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x47, 0x65, + 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, + 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x35, 0x30, 0x36, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x35, 0x30, 0x36, 0x32, 0x39, 0x32, 0x33, + 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x17, 0x52, 0x61, 0x70, 0x69, 0x64, + 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, + 0x41, 0x20, 0x2d, 0x20, 0x47, 0x34, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, + 0x01, 0x01, 0x00, 0xc0, 0x9e, 0x3a, 0x0f, 0x9a, 0xb2, 0xba, 0xd3, 0xd2, + 0xdc, 0x15, 0xec, 0xd0, 0x30, 0x54, 0x59, 0x30, 0x4d, 0x40, 0x51, 0xae, + 0x42, 0x71, 0x71, 0xd2, 0x8d, 0x53, 0x73, 0x81, 0xfe, 0xb8, 0xe0, 0xc4, + 0x96, 0xc5, 0x8e, 0x7e, 0xc2, 0xf1, 0xb7, 0x63, 0x4a, 0xcf, 0xa7, 0x1e, + 0x3f, 0xa8, 0xe7, 0xce, 0x53, 0xa0, 0xfa, 0x2d, 0xf7, 0xd6, 0xe6, 0xce, + 0x70, 0x11, 0xa6, 0xee, 0xe1, 0x03, 0x52, 0xd2, 0x68, 0xde, 0x3d, 0x08, + 0x0d, 0x87, 0xfd, 0x1c, 0xd7, 0x0b, 0x97, 0x62, 0x6d, 0x82, 0x30, 0x76, + 0x1b, 0x47, 0x3a, 0xc4, 0xf7, 0xce, 0xed, 0x1d, 0x7c, 0x8c, 0xb7, 0x17, + 0x8e, 0x53, 0x80, 0x1e, 0x1d, 0x0f, 0x5d, 0x8c, 0xf9, 0x90, 0xe4, 0x04, + 0x1e, 0x02, 0x7e, 0xcb, 0xb0, 0x49, 0xef, 0xda, 0x52, 0x25, 0xfb, 0xfb, + 0x67, 0xed, 0xdd, 0x84, 0x74, 0x59, 0x84, 0x0e, 0xf3, 0xde, 0x70, 0x66, + 0x8d, 0xe4, 0x52, 0x38, 0xf7, 0x53, 0x5a, 0x37, 0x13, 0x67, 0x0b, 0x3e, + 0xbb, 0xa8, 0x58, 0xb7, 0x2e, 0xed, 0xff, 0xb7, 0x5e, 0x11, 0x73, 0xb9, + 0x77, 0x45, 0x52, 0x67, 0x46, 0xae, 0xc4, 0xdc, 0x24, 0x81, 0x89, 0x76, + 0x0a, 0xca, 0xa1, 0x6c, 0x66, 0x73, 0x04, 0x82, 0xaa, 0xf5, 0x70, 0x6c, + 0x5f, 0x1b, 0x9a, 0x00, 0x79, 0x46, 0xd6, 0x7f, 0x7a, 0x26, 0x17, 0x30, + 0xcf, 0x39, 0x4b, 0x2c, 0x74, 0xd9, 0x89, 0x44, 0x76, 0x10, 0xd0, 0xed, + 0xf7, 0x8b, 0xbb, 0x89, 0x05, 0x75, 0x4d, 0x0b, 0x0d, 0xb3, 0xda, 0xe9, + 0xbf, 0xf1, 0x6a, 0x7d, 0x2a, 0x11, 0xdb, 0x1e, 0x9f, 0x8c, 0xe3, 0xc4, + 0x06, 0x69, 0xe1, 0x1d, 0x88, 0x45, 0x39, 0xd1, 0x6e, 0x55, 0xd8, 0xaa, + 0xb7, 0x9b, 0x6f, 0xea, 0xf4, 0xde, 0xac, 0x17, 0x11, 0x92, 0x5d, 0x40, + 0x9b, 0x83, 0x7b, 0x9a, 0xe2, 0xf7, 0xa9, 0x02, 0x03, 0x01, 0x00, 0x01, + 0xa3, 0x82, 0x01, 0x3a, 0x30, 0x82, 0x01, 0x36, 0x30, 0x2e, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x22, 0x30, 0x20, + 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, + 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x49, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x42, 0x30, 0x40, 0x30, 0x3e, 0x06, 0x06, 0x67, 0x81, 0x0c, 0x01, 0x02, + 0x01, 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x36, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0, 0x27, + 0x86, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, + 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x6f, + 0x54, 0x72, 0x75, 0x73, 0x74, 0x50, 0x43, 0x41, 0x2d, 0x47, 0x33, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, + 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, 0x0e, + 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, + 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0xf3, 0xb5, 0x56, 0x0c, 0xc4, 0x09, 0xb0, 0xb4, 0xcf, 0x1f, 0xaa, + 0xf9, 0xdd, 0x23, 0x56, 0xf0, 0x77, 0xe8, 0xa1, 0xf9, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc4, 0x79, + 0xca, 0x8e, 0xa1, 0x4e, 0x03, 0x1d, 0x1c, 0xdc, 0x6b, 0xdb, 0x31, 0x5b, + 0x94, 0x3e, 0x3f, 0x30, 0x7f, 0x2d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x01, 0x00, 0xc3, 0x7e, 0xd8, 0x83, 0x4b, 0x04, 0x4c, 0x55, 0x29, 0x2a, + 0x4f, 0x14, 0x9d, 0x9a, 0x6e, 0xde, 0x90, 0x70, 0xc1, 0xa4, 0x26, 0x4c, + 0x88, 0x8e, 0x78, 0x48, 0xef, 0xbd, 0x9c, 0xb0, 0xa0, 0xf5, 0xf0, 0x66, + 0xfc, 0xfe, 0x59, 0x26, 0xe1, 0x79, 0xef, 0xc8, 0xb7, 0x60, 0x64, 0xa8, + 0x8b, 0x47, 0xea, 0x2f, 0xe0, 0x83, 0x99, 0xda, 0x41, 0x19, 0xd7, 0xc5, + 0xbe, 0x05, 0xfa, 0xf2, 0x90, 0x11, 0xf0, 0x0a, 0xff, 0x6c, 0xdc, 0x05, + 0xb4, 0xd8, 0x06, 0x6f, 0xa4, 0x6f, 0x8d, 0xbe, 0x20, 0x2b, 0x54, 0xdb, + 0xf9, 0xa2, 0x45, 0x83, 0x9a, 0x1e, 0xa5, 0x21, 0x89, 0x35, 0x1d, 0x7c, + 0x20, 0x5c, 0x17, 0xfd, 0x04, 0x2e, 0x45, 0xd8, 0xb2, 0xc6, 0xf8, 0x42, + 0x99, 0xfc, 0x54, 0x08, 0x4e, 0x4b, 0x80, 0x5f, 0x39, 0x37, 0xba, 0x95, + 0x4e, 0xa6, 0x37, 0x0a, 0x9e, 0x93, 0x5e, 0x87, 0x5b, 0xe9, 0x90, 0xd6, + 0xa8, 0xb6, 0x65, 0x08, 0x8d, 0x61, 0x49, 0xeb, 0x83, 0x20, 0xa9, 0x5d, + 0x1b, 0x16, 0x60, 0x62, 0x6b, 0x2f, 0x54, 0xfb, 0x5a, 0x02, 0x0d, 0x7a, + 0x27, 0xe2, 0x4b, 0xe1, 0x05, 0x14, 0xc2, 0xe4, 0xe9, 0xf9, 0x70, 0xc0, + 0xd9, 0xf7, 0x34, 0x65, 0x0e, 0xa2, 0x91, 0x4b, 0xac, 0x28, 0xf2, 0xb7, + 0x08, 0x0f, 0x98, 0xca, 0xd7, 0x3e, 0x70, 0xb6, 0xc8, 0x0b, 0xf1, 0x8b, + 0x9c, 0x51, 0xf8, 0xc6, 0x10, 0x6c, 0xd2, 0x53, 0x4f, 0x62, 0x8c, 0x11, + 0x00, 0x3e, 0x88, 0xdf, 0xbf, 0xe6, 0xd2, 0xcc, 0x70, 0xbd, 0xed, 0x25, + 0x9c, 0xfb, 0xdd, 0x24, 0x0a, 0xbd, 0x59, 0x91, 0x4a, 0x42, 0x03, 0x38, + 0x12, 0x71, 0x32, 0x88, 0x76, 0xa0, 0x8e, 0x7c, 0xbb, 0x32, 0xef, 0x88, + 0x2a, 0x1b, 0xd4, 0x6a, 0x6f, 0x50, 0xb9, 0x52, 0x67, 0x8b, 0xab, 0x30, + 0xfa, 0x1f, 0xfd, 0xe3, 0x24, 0x9a, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 5d:72:fb:33:76:20:f6:4c:72:80:db:e9:12:81:ff:6a + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=thawte, Inc., CN=thawte EV SSL CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c4:dd:da:94:1e:32:b2:2e:a0:83:c0:a6:7d:5f: + 65:2d:fd:27:b8:73:0e:f8:0b:a9:d4:56:26:69:98: + 67:35:39:64:58:ce:82:6f:98:94:d1:8f:e0:90:d6: + ed:55:4b:98:4b:d7:10:59:34:02:1b:e7:51:31:51: + c4:38:c2:bc:db:03:5c:ca:e1:7c:dc:4f:59:97:ea: + 07:7f:0f:85:3e:92:ea:aa:a7:d9:be:01:41:e4:62: + 56:47:36:bd:57:91:e6:21:d3:f8:41:0b:d8:ba:e8: + ed:81:ad:70:c0:8b:6e:f3:89:6e:27:9e:a6:a6:73: + 59:bb:71:00:d4:4f:4b:48:e9:d5:c9:27:36:9c:7c: + 1c:02:aa:ac:bd:3b:d1:53:83:6a:1f:e6:08:47:33: + a7:b1:9f:02:be:9b:47:ed:33:04:dc:1c:80:27:d1: + 4a:33:a0:8c:eb:01:47:a1:32:90:64:7b:c4:e0:84: + c9:32:e9:dd:34:1f:8a:68:67:f3:ad:10:63:eb:ee: + 8a:9a:b1:2a:1b:26:74:a1:2a:b0:8f:fe:52:98:46: + 97:cf:a3:56:1c:6f:6e:99:97:8d:26:0e:a9:ec:c2: + 53:70:fc:7a:a5:19:49:bd:b5:17:82:55:de:97:e0: + 5d:62:84:81:f0:70:a8:34:53:4f:14:fd:3d:5d:3d: + 6f:b9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://t2.symcb.com + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.thawte.com/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://t1.symcb.com/ThawtePCA.crl + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-536 + X509v3 Subject Key Identifier: + F0:70:51:DA:D3:2A:91:4F:52:77:D7:86:77:74:0F:CE:71:1A:6C:22 + X509v3 Authority Key Identifier: + keyid:7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + + Signature Algorithm: sha256WithRSAEncryption + a1:2e:94:3e:9b:16:f4:58:1a:6f:c1:fa:c1:7e:43:93:b2:c3: + f7:89:eb:13:62:5d:dd:cc:61:13:2b:1d:4e:88:79:11:62:14: + 37:30:46:ff:89:62:10:85:2a:87:1e:f8:e2:af:fe:93:02:93: + ca:f2:e9:46:03:6b:a1:1a:ac:d5:f0:80:1b:98:6f:b8:3a:50: + f8:54:71:06:03:e7:84:cc:8e:61:d2:5f:4d:0c:97:02:65:b5: + 8c:26:bc:05:98:f4:dc:c6:af:e4:57:7f:e3:dc:a1:d7:27:47: + 2a:e0:2c:3f:09:74:dc:5a:e5:b5:7c:fa:82:9a:15:fa:74:2b: + 84:2e:6b:ac:ef:35:a6:30:fa:47:4a:aa:36:44:f6:5a:91:07: + d3:e4:4e:97:3f:a6:53:d8:29:33:32:6f:8b:3d:b5:a5:0d:e5: + e4:8a:e8:f5:c0:fa:af:d8:37:28:27:c3:ed:34:31:d9:7c:a6: + af:4d:12:4f:d0:2b:92:9c:69:95:f2:28:a6:fe:a8:c6:e0:2c: + 4d:36:eb:11:34:d6:e1:81:99:9d:41:f2:e7:c5:57:05:0e:19: + ca:af:42:39:1f:a7:27:5e:e0:0a:17:b8:ae:47:ab:92:f1:8a: + 04:df:30:e0:bb:4f:8a:f9:1b:88:4f:03:b4:25:7a:78:de:2e: + 7d:29:d1:31 +-----BEGIN CERTIFICATE----- +MIIErzCCA5egAwIBAgIQXXL7M3Yg9kxygNvpEoH/ajANBgkqhkiG9w0BAQsFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTMxMDMxMDAwMDAwWhcNMjMx +MDMwMjM1OTU5WjBEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMu +MR4wHAYDVQQDExV0aGF3dGUgRVYgU1NMIENBIC0gRzMwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDE3dqUHjKyLqCDwKZ9X2Ut/Se4cw74C6nUViZpmGc1 +OWRYzoJvmJTRj+CQ1u1VS5hL1xBZNAIb51ExUcQ4wrzbA1zK4XzcT1mX6gd/D4U+ +kuqqp9m+AUHkYlZHNr1XkeYh0/hBC9i66O2BrXDAi27ziW4nnqamc1m7cQDUT0tI +6dXJJzacfBwCqqy9O9FTg2of5ghHM6exnwK+m0ftMwTcHIAn0UozoIzrAUehMpBk +e8TghMky6d00H4poZ/OtEGPr7oqasSobJnShKrCP/lKYRpfPo1Ycb26Zl40mDqns +wlNw/HqlGUm9tReCVd6X4F1ihIHwcKg0U08U/T1dPW+5AgMBAAGjggE1MIIBMTAS +BgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAvBggrBgEFBQcBAQQj +MCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly90Mi5zeW1jYi5jb20wOwYDVR0gBDQwMjAw +BgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vY3Bz +MDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly90MS5zeW1jYi5jb20vVGhhd3RlUENB +LmNybDApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQS0ktMS01MzYw +HQYDVR0OBBYEFPBwUdrTKpFPUnfXhnd0D85xGmwiMB8GA1UdIwQYMBaAFHtbRc+v +zst6/TGSGmq280brV0hQMA0GCSqGSIb3DQEBCwUAA4IBAQChLpQ+mxb0WBpvwfrB +fkOTssP3iesTYl3dzGETKx1OiHkRYhQ3MEb/iWIQhSqHHvjir/6TApPK8ulGA2uh +GqzV8IAbmG+4OlD4VHEGA+eEzI5h0l9NDJcCZbWMJrwFmPTcxq/kV3/j3KHXJ0cq +4Cw/CXTcWuW1fPqCmhX6dCuELmus7zWmMPpHSqo2RPZakQfT5E6XP6ZT2CkzMm+L +PbWlDeXkiuj1wPqv2DcoJ8PtNDHZfKavTRJP0CuSnGmV8iim/qjG4CxNNusRNNbh +gZmdQfLnxVcFDhnKr0I5H6cnXuAKF7iuR6uS8YoE3zDgu0+K+RuITwO0JXp43i59 +KdEx +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_25[] = { + 0x30, 0x82, 0x04, 0xaf, 0x30, 0x82, 0x03, 0x97, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x5d, 0x72, 0xfb, 0x33, 0x76, 0x20, 0xf6, 0x4c, 0x72, + 0x80, 0xdb, 0xe9, 0x12, 0x81, 0xff, 0x6a, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x33, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x31, + 0x30, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x44, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x15, 0x74, + 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x45, 0x56, 0x20, 0x53, 0x53, 0x4c, + 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xc4, 0xdd, 0xda, 0x94, 0x1e, 0x32, 0xb2, + 0x2e, 0xa0, 0x83, 0xc0, 0xa6, 0x7d, 0x5f, 0x65, 0x2d, 0xfd, 0x27, 0xb8, + 0x73, 0x0e, 0xf8, 0x0b, 0xa9, 0xd4, 0x56, 0x26, 0x69, 0x98, 0x67, 0x35, + 0x39, 0x64, 0x58, 0xce, 0x82, 0x6f, 0x98, 0x94, 0xd1, 0x8f, 0xe0, 0x90, + 0xd6, 0xed, 0x55, 0x4b, 0x98, 0x4b, 0xd7, 0x10, 0x59, 0x34, 0x02, 0x1b, + 0xe7, 0x51, 0x31, 0x51, 0xc4, 0x38, 0xc2, 0xbc, 0xdb, 0x03, 0x5c, 0xca, + 0xe1, 0x7c, 0xdc, 0x4f, 0x59, 0x97, 0xea, 0x07, 0x7f, 0x0f, 0x85, 0x3e, + 0x92, 0xea, 0xaa, 0xa7, 0xd9, 0xbe, 0x01, 0x41, 0xe4, 0x62, 0x56, 0x47, + 0x36, 0xbd, 0x57, 0x91, 0xe6, 0x21, 0xd3, 0xf8, 0x41, 0x0b, 0xd8, 0xba, + 0xe8, 0xed, 0x81, 0xad, 0x70, 0xc0, 0x8b, 0x6e, 0xf3, 0x89, 0x6e, 0x27, + 0x9e, 0xa6, 0xa6, 0x73, 0x59, 0xbb, 0x71, 0x00, 0xd4, 0x4f, 0x4b, 0x48, + 0xe9, 0xd5, 0xc9, 0x27, 0x36, 0x9c, 0x7c, 0x1c, 0x02, 0xaa, 0xac, 0xbd, + 0x3b, 0xd1, 0x53, 0x83, 0x6a, 0x1f, 0xe6, 0x08, 0x47, 0x33, 0xa7, 0xb1, + 0x9f, 0x02, 0xbe, 0x9b, 0x47, 0xed, 0x33, 0x04, 0xdc, 0x1c, 0x80, 0x27, + 0xd1, 0x4a, 0x33, 0xa0, 0x8c, 0xeb, 0x01, 0x47, 0xa1, 0x32, 0x90, 0x64, + 0x7b, 0xc4, 0xe0, 0x84, 0xc9, 0x32, 0xe9, 0xdd, 0x34, 0x1f, 0x8a, 0x68, + 0x67, 0xf3, 0xad, 0x10, 0x63, 0xeb, 0xee, 0x8a, 0x9a, 0xb1, 0x2a, 0x1b, + 0x26, 0x74, 0xa1, 0x2a, 0xb0, 0x8f, 0xfe, 0x52, 0x98, 0x46, 0x97, 0xcf, + 0xa3, 0x56, 0x1c, 0x6f, 0x6e, 0x99, 0x97, 0x8d, 0x26, 0x0e, 0xa9, 0xec, + 0xc2, 0x53, 0x70, 0xfc, 0x7a, 0xa5, 0x19, 0x49, 0xbd, 0xb5, 0x17, 0x82, + 0x55, 0xde, 0x97, 0xe0, 0x5d, 0x62, 0x84, 0x81, 0xf0, 0x70, 0xa8, 0x34, + 0x53, 0x4f, 0x14, 0xfd, 0x3d, 0x5d, 0x3d, 0x6f, 0xb9, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x35, 0x30, 0x82, 0x01, 0x31, 0x30, 0x12, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, + 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x2f, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x23, + 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x74, + 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x30, + 0x3b, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, + 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, + 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, + 0x30, 0x32, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2b, 0x30, 0x29, 0x30, + 0x27, 0xa0, 0x25, 0xa0, 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x74, 0x31, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, 0x43, 0x41, + 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x29, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, + 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, + 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, 0x35, 0x33, 0x36, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x70, + 0x51, 0xda, 0xd3, 0x2a, 0x91, 0x4f, 0x52, 0x77, 0xd7, 0x86, 0x77, 0x74, + 0x0f, 0xce, 0x71, 0x1a, 0x6c, 0x22, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7b, 0x5b, 0x45, 0xcf, 0xaf, + 0xce, 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, 0x6a, 0xb6, 0xf3, 0x46, 0xeb, + 0x57, 0x48, 0x50, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa1, + 0x2e, 0x94, 0x3e, 0x9b, 0x16, 0xf4, 0x58, 0x1a, 0x6f, 0xc1, 0xfa, 0xc1, + 0x7e, 0x43, 0x93, 0xb2, 0xc3, 0xf7, 0x89, 0xeb, 0x13, 0x62, 0x5d, 0xdd, + 0xcc, 0x61, 0x13, 0x2b, 0x1d, 0x4e, 0x88, 0x79, 0x11, 0x62, 0x14, 0x37, + 0x30, 0x46, 0xff, 0x89, 0x62, 0x10, 0x85, 0x2a, 0x87, 0x1e, 0xf8, 0xe2, + 0xaf, 0xfe, 0x93, 0x02, 0x93, 0xca, 0xf2, 0xe9, 0x46, 0x03, 0x6b, 0xa1, + 0x1a, 0xac, 0xd5, 0xf0, 0x80, 0x1b, 0x98, 0x6f, 0xb8, 0x3a, 0x50, 0xf8, + 0x54, 0x71, 0x06, 0x03, 0xe7, 0x84, 0xcc, 0x8e, 0x61, 0xd2, 0x5f, 0x4d, + 0x0c, 0x97, 0x02, 0x65, 0xb5, 0x8c, 0x26, 0xbc, 0x05, 0x98, 0xf4, 0xdc, + 0xc6, 0xaf, 0xe4, 0x57, 0x7f, 0xe3, 0xdc, 0xa1, 0xd7, 0x27, 0x47, 0x2a, + 0xe0, 0x2c, 0x3f, 0x09, 0x74, 0xdc, 0x5a, 0xe5, 0xb5, 0x7c, 0xfa, 0x82, + 0x9a, 0x15, 0xfa, 0x74, 0x2b, 0x84, 0x2e, 0x6b, 0xac, 0xef, 0x35, 0xa6, + 0x30, 0xfa, 0x47, 0x4a, 0xaa, 0x36, 0x44, 0xf6, 0x5a, 0x91, 0x07, 0xd3, + 0xe4, 0x4e, 0x97, 0x3f, 0xa6, 0x53, 0xd8, 0x29, 0x33, 0x32, 0x6f, 0x8b, + 0x3d, 0xb5, 0xa5, 0x0d, 0xe5, 0xe4, 0x8a, 0xe8, 0xf5, 0xc0, 0xfa, 0xaf, + 0xd8, 0x37, 0x28, 0x27, 0xc3, 0xed, 0x34, 0x31, 0xd9, 0x7c, 0xa6, 0xaf, + 0x4d, 0x12, 0x4f, 0xd0, 0x2b, 0x92, 0x9c, 0x69, 0x95, 0xf2, 0x28, 0xa6, + 0xfe, 0xa8, 0xc6, 0xe0, 0x2c, 0x4d, 0x36, 0xeb, 0x11, 0x34, 0xd6, 0xe1, + 0x81, 0x99, 0x9d, 0x41, 0xf2, 0xe7, 0xc5, 0x57, 0x05, 0x0e, 0x19, 0xca, + 0xaf, 0x42, 0x39, 0x1f, 0xa7, 0x27, 0x5e, 0xe0, 0x0a, 0x17, 0xb8, 0xae, + 0x47, 0xab, 0x92, 0xf1, 0x8a, 0x04, 0xdf, 0x30, 0xe0, 0xbb, 0x4f, 0x8a, + 0xf9, 0x1b, 0x88, 0x4f, 0x03, 0xb4, 0x25, 0x7a, 0x78, 0xde, 0x2e, 0x7d, + 0x29, 0xd1, 0x31, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 04:e1:e7:a4:dc:5c:f2:f3:6d:c0:2b:42:b8:5d:15:9f + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA + Validity + Not Before: Oct 22 12:00:00 2013 GMT + Not After : Oct 22 12:00:00 2028 GMT + Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert SHA2 High Assurance Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b6:e0:2f:c2:24:06:c8:6d:04:5f:d7:ef:0a:64: + 06:b2:7d:22:26:65:16:ae:42:40:9b:ce:dc:9f:9f: + 76:07:3e:c3:30:55:87:19:b9:4f:94:0e:5a:94:1f: + 55:56:b4:c2:02:2a:af:d0:98:ee:0b:40:d7:c4:d0: + 3b:72:c8:14:9e:ef:90:b1:11:a9:ae:d2:c8:b8:43: + 3a:d9:0b:0b:d5:d5:95:f5:40:af:c8:1d:ed:4d:9c: + 5f:57:b7:86:50:68:99:f5:8a:da:d2:c7:05:1f:a8: + 97:c9:dc:a4:b1:82:84:2d:c6:ad:a5:9c:c7:19:82: + a6:85:0f:5e:44:58:2a:37:8f:fd:35:f1:0b:08:27: + 32:5a:f5:bb:8b:9e:a4:bd:51:d0:27:e2:dd:3b:42: + 33:a3:05:28:c4:bb:28:cc:9a:ac:2b:23:0d:78:c6: + 7b:e6:5e:71:b7:4a:3e:08:fb:81:b7:16:16:a1:9d: + 23:12:4d:e5:d7:92:08:ac:75:a4:9c:ba:cd:17:b2: + 1e:44:35:65:7f:53:25:39:d1:1c:0a:9a:63:1b:19: + 92:74:68:0a:37:c2:c2:52:48:cb:39:5a:a2:b6:e1: + 5d:c1:dd:a0:20:b8:21:a2:93:26:6f:14:4a:21:41: + c7:ed:6d:9b:f2:48:2f:f3:03:f5:a2:68:92:53:2f: + 5e:e3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.digicert.com/CPS + + X509v3 Subject Key Identifier: + 51:68:FF:90:AF:02:07:75:3C:CC:D9:65:64:62:A2:12:B8:59:72:3B + X509v3 Authority Key Identifier: + keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3 + + Signature Algorithm: sha256WithRSAEncryption + 18:8a:95:89:03:e6:6d:df:5c:fc:1d:68:ea:4a:8f:83:d6:51: + 2f:8d:6b:44:16:9e:ac:63:f5:d2:6e:6c:84:99:8b:aa:81:71: + 84:5b:ed:34:4e:b0:b7:79:92:29:cc:2d:80:6a:f0:8e:20:e1: + 79:a4:fe:03:47:13:ea:f5:86:ca:59:71:7d:f4:04:96:6b:d3: + 59:58:3d:fe:d3:31:25:5c:18:38:84:a3:e6:9f:82:fd:8c:5b: + 98:31:4e:cd:78:9e:1a:fd:85:cb:49:aa:f2:27:8b:99:72:fc: + 3e:aa:d5:41:0b:da:d5:36:a1:bf:1c:6e:47:49:7f:5e:d9:48: + 7c:03:d9:fd:8b:49:a0:98:26:42:40:eb:d6:92:11:a4:64:0a: + 57:54:c4:f5:1d:d6:02:5e:6b:ac:ee:c4:80:9a:12:72:fa:56: + 93:d7:ff:bf:30:85:06:30:bf:0b:7f:4e:ff:57:05:9d:24:ed: + 85:c3:2b:fb:a6:75:a8:ac:2d:16:ef:7d:79:27:b2:eb:c2:9d: + 0b:07:ea:aa:85:d3:01:a3:20:28:41:59:43:28:d2:81:e3:aa: + f6:ec:7b:3b:77:b6:40:62:80:05:41:45:01:ef:17:06:3e:de: + c0:33:9b:67:d3:61:2e:72:87:e4:69:fc:12:00:57:40:1e:70: + f5:1e:c9:b4 +-----BEGIN CERTIFICATE----- +MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy +YW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2 +4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC +Kq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1 +itrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn +4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X +sh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft +bZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA +MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw +NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy +dC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t +L0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG +BFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ +UzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D +aQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd +aOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH +E+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly +/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu +xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF +0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae +cPUeybQ= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_26[] = { + 0x30, 0x82, 0x04, 0xb1, 0x30, 0x82, 0x03, 0x99, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x04, 0xe1, 0xe7, 0xa4, 0xdc, 0x5c, 0xf2, 0xf3, 0x6d, + 0xc0, 0x2b, 0x42, 0xb8, 0x5d, 0x15, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x6c, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, + 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, + 0x65, 0x20, 0x45, 0x56, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, + 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x32, 0x32, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x38, 0x31, 0x30, 0x32, + 0x32, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x70, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, 0x19, + 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x26, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x53, 0x48, 0x41, + 0x32, 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, + 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xb6, + 0xe0, 0x2f, 0xc2, 0x24, 0x06, 0xc8, 0x6d, 0x04, 0x5f, 0xd7, 0xef, 0x0a, + 0x64, 0x06, 0xb2, 0x7d, 0x22, 0x26, 0x65, 0x16, 0xae, 0x42, 0x40, 0x9b, + 0xce, 0xdc, 0x9f, 0x9f, 0x76, 0x07, 0x3e, 0xc3, 0x30, 0x55, 0x87, 0x19, + 0xb9, 0x4f, 0x94, 0x0e, 0x5a, 0x94, 0x1f, 0x55, 0x56, 0xb4, 0xc2, 0x02, + 0x2a, 0xaf, 0xd0, 0x98, 0xee, 0x0b, 0x40, 0xd7, 0xc4, 0xd0, 0x3b, 0x72, + 0xc8, 0x14, 0x9e, 0xef, 0x90, 0xb1, 0x11, 0xa9, 0xae, 0xd2, 0xc8, 0xb8, + 0x43, 0x3a, 0xd9, 0x0b, 0x0b, 0xd5, 0xd5, 0x95, 0xf5, 0x40, 0xaf, 0xc8, + 0x1d, 0xed, 0x4d, 0x9c, 0x5f, 0x57, 0xb7, 0x86, 0x50, 0x68, 0x99, 0xf5, + 0x8a, 0xda, 0xd2, 0xc7, 0x05, 0x1f, 0xa8, 0x97, 0xc9, 0xdc, 0xa4, 0xb1, + 0x82, 0x84, 0x2d, 0xc6, 0xad, 0xa5, 0x9c, 0xc7, 0x19, 0x82, 0xa6, 0x85, + 0x0f, 0x5e, 0x44, 0x58, 0x2a, 0x37, 0x8f, 0xfd, 0x35, 0xf1, 0x0b, 0x08, + 0x27, 0x32, 0x5a, 0xf5, 0xbb, 0x8b, 0x9e, 0xa4, 0xbd, 0x51, 0xd0, 0x27, + 0xe2, 0xdd, 0x3b, 0x42, 0x33, 0xa3, 0x05, 0x28, 0xc4, 0xbb, 0x28, 0xcc, + 0x9a, 0xac, 0x2b, 0x23, 0x0d, 0x78, 0xc6, 0x7b, 0xe6, 0x5e, 0x71, 0xb7, + 0x4a, 0x3e, 0x08, 0xfb, 0x81, 0xb7, 0x16, 0x16, 0xa1, 0x9d, 0x23, 0x12, + 0x4d, 0xe5, 0xd7, 0x92, 0x08, 0xac, 0x75, 0xa4, 0x9c, 0xba, 0xcd, 0x17, + 0xb2, 0x1e, 0x44, 0x35, 0x65, 0x7f, 0x53, 0x25, 0x39, 0xd1, 0x1c, 0x0a, + 0x9a, 0x63, 0x1b, 0x19, 0x92, 0x74, 0x68, 0x0a, 0x37, 0xc2, 0xc2, 0x52, + 0x48, 0xcb, 0x39, 0x5a, 0xa2, 0xb6, 0xe1, 0x5d, 0xc1, 0xdd, 0xa0, 0x20, + 0xb8, 0x21, 0xa2, 0x93, 0x26, 0x6f, 0x14, 0x4a, 0x21, 0x41, 0xc7, 0xed, + 0x6d, 0x9b, 0xf2, 0x48, 0x2f, 0xf3, 0x03, 0xf5, 0xa2, 0x68, 0x92, 0x53, + 0x2f, 0x5e, 0xe3, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x49, + 0x30, 0x82, 0x01, 0x45, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, + 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, + 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, + 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4b, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x44, 0x30, 0x42, 0x30, 0x40, 0xa0, 0x3e, 0xa0, 0x3c, 0x86, 0x3a, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x34, 0x2e, + 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, 0x69, 0x67, + 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x56, + 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3d, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, + 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x50, + 0x53, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x51, 0x68, 0xff, 0x90, 0xaf, 0x02, 0x07, 0x75, 0x3c, 0xcc, 0xd9, 0x65, + 0x64, 0x62, 0xa2, 0x12, 0xb8, 0x59, 0x72, 0x3b, 0x30, 0x1f, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xb1, 0x3e, 0xc3, + 0x69, 0x03, 0xf8, 0xbf, 0x47, 0x01, 0xd4, 0x98, 0x26, 0x1a, 0x08, 0x02, + 0xef, 0x63, 0x64, 0x2b, 0xc3, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, + 0x00, 0x18, 0x8a, 0x95, 0x89, 0x03, 0xe6, 0x6d, 0xdf, 0x5c, 0xfc, 0x1d, + 0x68, 0xea, 0x4a, 0x8f, 0x83, 0xd6, 0x51, 0x2f, 0x8d, 0x6b, 0x44, 0x16, + 0x9e, 0xac, 0x63, 0xf5, 0xd2, 0x6e, 0x6c, 0x84, 0x99, 0x8b, 0xaa, 0x81, + 0x71, 0x84, 0x5b, 0xed, 0x34, 0x4e, 0xb0, 0xb7, 0x79, 0x92, 0x29, 0xcc, + 0x2d, 0x80, 0x6a, 0xf0, 0x8e, 0x20, 0xe1, 0x79, 0xa4, 0xfe, 0x03, 0x47, + 0x13, 0xea, 0xf5, 0x86, 0xca, 0x59, 0x71, 0x7d, 0xf4, 0x04, 0x96, 0x6b, + 0xd3, 0x59, 0x58, 0x3d, 0xfe, 0xd3, 0x31, 0x25, 0x5c, 0x18, 0x38, 0x84, + 0xa3, 0xe6, 0x9f, 0x82, 0xfd, 0x8c, 0x5b, 0x98, 0x31, 0x4e, 0xcd, 0x78, + 0x9e, 0x1a, 0xfd, 0x85, 0xcb, 0x49, 0xaa, 0xf2, 0x27, 0x8b, 0x99, 0x72, + 0xfc, 0x3e, 0xaa, 0xd5, 0x41, 0x0b, 0xda, 0xd5, 0x36, 0xa1, 0xbf, 0x1c, + 0x6e, 0x47, 0x49, 0x7f, 0x5e, 0xd9, 0x48, 0x7c, 0x03, 0xd9, 0xfd, 0x8b, + 0x49, 0xa0, 0x98, 0x26, 0x42, 0x40, 0xeb, 0xd6, 0x92, 0x11, 0xa4, 0x64, + 0x0a, 0x57, 0x54, 0xc4, 0xf5, 0x1d, 0xd6, 0x02, 0x5e, 0x6b, 0xac, 0xee, + 0xc4, 0x80, 0x9a, 0x12, 0x72, 0xfa, 0x56, 0x93, 0xd7, 0xff, 0xbf, 0x30, + 0x85, 0x06, 0x30, 0xbf, 0x0b, 0x7f, 0x4e, 0xff, 0x57, 0x05, 0x9d, 0x24, + 0xed, 0x85, 0xc3, 0x2b, 0xfb, 0xa6, 0x75, 0xa8, 0xac, 0x2d, 0x16, 0xef, + 0x7d, 0x79, 0x27, 0xb2, 0xeb, 0xc2, 0x9d, 0x0b, 0x07, 0xea, 0xaa, 0x85, + 0xd3, 0x01, 0xa3, 0x20, 0x28, 0x41, 0x59, 0x43, 0x28, 0xd2, 0x81, 0xe3, + 0xaa, 0xf6, 0xec, 0x7b, 0x3b, 0x77, 0xb6, 0x40, 0x62, 0x80, 0x05, 0x41, + 0x45, 0x01, 0xef, 0x17, 0x06, 0x3e, 0xde, 0xc0, 0x33, 0x9b, 0x67, 0xd3, + 0x61, 0x2e, 0x72, 0x87, 0xe4, 0x69, 0xfc, 0x12, 0x00, 0x57, 0x40, 0x1e, + 0x70, 0xf5, 0x1e, 0xc9, 0xb4, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 16:87:d6:88:6d:e2:30:06:85:23:3d:bf:11:bf:65:97 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=thawte, Inc., CN=thawte SSL CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b2:fc:06:fb:04:93:d2:ea:59:20:3b:44:85:97: + 52:39:e7:10:f0:7a:e0:b0:94:40:da:46:f8:0c:28: + bb:b9:ce:60:38:3f:d2:d8:11:42:1b:91:ad:49:ee: + 8f:c7:de:6c:de:37:6f:fd:8b:20:3c:6d:e7:74:d3: + dc:d5:24:88:41:80:89:ee:36:be:c4:d5:be:8d:53: + 13:aa:e4:a5:b8:93:0a:be:ec:da:cd:3c:d4:32:56: + ef:d0:4e:a0:b8:97:bb:39:50:1e:6e:65:c3:fd:b2: + ce:e0:59:a9:48:09:c6:fe:be:ae:fc:3e:3b:81:20: + 97:8b:8f:46:df:60:64:07:75:bb:1b:86:38:9f:47: + 7b:34:ce:a1:d1:97:ad:76:d8:9f:b7:26:db:79:80: + 36:48:f2:c5:37:f8:d9:32:ae:7c:a4:53:81:c7:99: + a1:54:38:2f:4f:75:a0:bb:5a:a5:bb:cd:ac:02:5b: + 19:02:d5:13:18:a7:ce:ac:74:55:12:05:8b:9b:a2: + 95:46:64:72:38:cd:5a:1b:3a:16:a7:be:71:99:8c: + 54:03:b8:96:6c:01:d3:3e:06:98:3f:21:81:3b:02: + 7e:00:47:53:01:1e:0e:46:43:fb:4b:2d:dc:0b:1a: + e8:2f:98:f8:7e:d1:99:ab:13:6c:a4:17:de:6f:f6: + 15:f5 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://t1.symcb.com/ThawtePCA.crl + + Authority Information Access: + OCSP - URI:http://t2.symcb.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: https://www.thawte.com/cps + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-537 + X509v3 Subject Key Identifier: + C2:4F:48:57:FC:D1:4F:9A:C0:5D:38:7D:0E:05:DB:D9:2E:B5:52:60 + X509v3 Authority Key Identifier: + keyid:7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + + Signature Algorithm: sha256WithRSAEncryption + 8d:06:de:43:c9:76:02:ca:d9:23:97:5e:f3:63:d7:7d:44:c2: + 0f:6b:0a:f5:07:e5:8b:b8:fa:e0:a3:fa:6b:80:92:b5:03:2c: + c5:37:e0:c2:e5:95:b5:92:70:18:28:42:94:ee:4b:77:6a:01: + 0f:8b:23:ec:56:4d:f4:00:69:e5:84:c8:e2:ea:de:5b:3e:f6: + 3c:07:3a:94:ca:6c:27:b1:cc:83:1a:60:71:27:d2:bf:02:f5: + 1e:44:d3:48:d5:a6:d3:76:21:00:9c:fa:98:64:eb:17:36:3f: + eb:1b:3c:3e:a6:b1:d9:58:06:0e:72:d9:68:be:f1:a7:20:d7: + 52:e4:a4:77:1f:71:70:9d:55:35:85:37:e1:1d:4d:94:c2:70: + 7f:95:40:6e:4b:7d:b2:b4:29:2a:03:79:c8:b9:4c:67:61:04: + a0:8b:27:ff:59:00:eb:55:7f:c6:b7:33:35:2d:5e:4e:ac:b8: + ea:12:c5:e8:f7:b9:ab:be:74:92:2c:b7:d9:4d:ca:84:2f:1c: + c2:f0:72:7c:b2:31:6e:cf:80:e5:88:07:36:51:7b:ba:61:af: + 6d:8d:23:5b:34:a3:95:bc:a2:31:7f:f2:f5:e7:b7:e8:ef:c4: + b5:27:32:e9:f7:9e:69:c7:2b:e8:be:bb:0c:aa:e7:ea:60:12: + ea:26:8a:78 +-----BEGIN CERTIFICATE----- +MIIEsjCCA5qgAwIBAgIQFofWiG3iMAaFIz2/Eb9llzANBgkqhkiG9w0BAQsFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTMxMDMxMDAwMDAwWhcNMjMx +MDMwMjM1OTU5WjBBMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMu +MRswGQYDVQQDExJ0aGF3dGUgU1NMIENBIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQCy/Ab7BJPS6lkgO0SFl1I55xDweuCwlEDaRvgMKLu5zmA4 +P9LYEUIbka1J7o/H3mzeN2/9iyA8bed009zVJIhBgInuNr7E1b6NUxOq5KW4kwq+ +7NrNPNQyVu/QTqC4l7s5UB5uZcP9ss7gWalICcb+vq78PjuBIJeLj0bfYGQHdbsb +hjifR3s0zqHRl6122J+3Jtt5gDZI8sU3+NkyrnykU4HHmaFUOC9PdaC7WqW7zawC +WxkC1RMYp86sdFUSBYubopVGZHI4zVobOhanvnGZjFQDuJZsAdM+Bpg/IYE7An4A +R1MBHg5GQ/tLLdwLGugvmPh+0ZmrE2ykF95v9hX1AgMBAAGjggE7MIIBNzASBgNV +HRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAyBgNVHR8EKzApMCegJaAj +hiFodHRwOi8vdDEuc3ltY2IuY29tL1RoYXd0ZVBDQS5jcmwwLwYIKwYBBQUHAQEE +IzAhMB8GCCsGAQUFBzABhhNodHRwOi8vdDIuc3ltY2IuY29tMEEGA1UdIAQ6MDgw +NgYKYIZIAYb4RQEHNjAoMCYGCCsGAQUFBwIBFhpodHRwczovL3d3dy50aGF3dGUu +Y29tL2NwczApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQS0ktMS01 +MzcwHQYDVR0OBBYEFMJPSFf80U+awF04fQ4F29kutVJgMB8GA1UdIwQYMBaAFHtb +Rc+vzst6/TGSGmq280brV0hQMA0GCSqGSIb3DQEBCwUAA4IBAQCNBt5DyXYCytkj +l17zY9d9RMIPawr1B+WLuPrgo/prgJK1AyzFN+DC5ZW1knAYKEKU7kt3agEPiyPs +Vk30AGnlhMji6t5bPvY8BzqUymwnscyDGmBxJ9K/AvUeRNNI1abTdiEAnPqYZOsX +Nj/rGzw+prHZWAYOctlovvGnINdS5KR3H3FwnVU1hTfhHU2UwnB/lUBuS32ytCkq +A3nIuUxnYQSgiyf/WQDrVX/GtzM1LV5OrLjqEsXo97mrvnSSLLfZTcqELxzC8HJ8 +sjFuz4DliAc2UXu6Ya9tjSNbNKOVvKIxf/L157fo78S1JzLp955pxyvovrsMqufq +YBLqJop4 +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_27[] = { + 0x30, 0x82, 0x04, 0xb2, 0x30, 0x82, 0x03, 0x9a, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x16, 0x87, 0xd6, 0x88, 0x6d, 0xe2, 0x30, 0x06, 0x85, + 0x23, 0x3d, 0xbf, 0x11, 0xbf, 0x65, 0x97, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x33, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x31, + 0x30, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x41, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x74, + 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, + 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xb2, 0xfc, 0x06, 0xfb, 0x04, 0x93, 0xd2, 0xea, 0x59, 0x20, + 0x3b, 0x44, 0x85, 0x97, 0x52, 0x39, 0xe7, 0x10, 0xf0, 0x7a, 0xe0, 0xb0, + 0x94, 0x40, 0xda, 0x46, 0xf8, 0x0c, 0x28, 0xbb, 0xb9, 0xce, 0x60, 0x38, + 0x3f, 0xd2, 0xd8, 0x11, 0x42, 0x1b, 0x91, 0xad, 0x49, 0xee, 0x8f, 0xc7, + 0xde, 0x6c, 0xde, 0x37, 0x6f, 0xfd, 0x8b, 0x20, 0x3c, 0x6d, 0xe7, 0x74, + 0xd3, 0xdc, 0xd5, 0x24, 0x88, 0x41, 0x80, 0x89, 0xee, 0x36, 0xbe, 0xc4, + 0xd5, 0xbe, 0x8d, 0x53, 0x13, 0xaa, 0xe4, 0xa5, 0xb8, 0x93, 0x0a, 0xbe, + 0xec, 0xda, 0xcd, 0x3c, 0xd4, 0x32, 0x56, 0xef, 0xd0, 0x4e, 0xa0, 0xb8, + 0x97, 0xbb, 0x39, 0x50, 0x1e, 0x6e, 0x65, 0xc3, 0xfd, 0xb2, 0xce, 0xe0, + 0x59, 0xa9, 0x48, 0x09, 0xc6, 0xfe, 0xbe, 0xae, 0xfc, 0x3e, 0x3b, 0x81, + 0x20, 0x97, 0x8b, 0x8f, 0x46, 0xdf, 0x60, 0x64, 0x07, 0x75, 0xbb, 0x1b, + 0x86, 0x38, 0x9f, 0x47, 0x7b, 0x34, 0xce, 0xa1, 0xd1, 0x97, 0xad, 0x76, + 0xd8, 0x9f, 0xb7, 0x26, 0xdb, 0x79, 0x80, 0x36, 0x48, 0xf2, 0xc5, 0x37, + 0xf8, 0xd9, 0x32, 0xae, 0x7c, 0xa4, 0x53, 0x81, 0xc7, 0x99, 0xa1, 0x54, + 0x38, 0x2f, 0x4f, 0x75, 0xa0, 0xbb, 0x5a, 0xa5, 0xbb, 0xcd, 0xac, 0x02, + 0x5b, 0x19, 0x02, 0xd5, 0x13, 0x18, 0xa7, 0xce, 0xac, 0x74, 0x55, 0x12, + 0x05, 0x8b, 0x9b, 0xa2, 0x95, 0x46, 0x64, 0x72, 0x38, 0xcd, 0x5a, 0x1b, + 0x3a, 0x16, 0xa7, 0xbe, 0x71, 0x99, 0x8c, 0x54, 0x03, 0xb8, 0x96, 0x6c, + 0x01, 0xd3, 0x3e, 0x06, 0x98, 0x3f, 0x21, 0x81, 0x3b, 0x02, 0x7e, 0x00, + 0x47, 0x53, 0x01, 0x1e, 0x0e, 0x46, 0x43, 0xfb, 0x4b, 0x2d, 0xdc, 0x0b, + 0x1a, 0xe8, 0x2f, 0x98, 0xf8, 0x7e, 0xd1, 0x99, 0xab, 0x13, 0x6c, 0xa4, + 0x17, 0xde, 0x6f, 0xf6, 0x15, 0xf5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, + 0x82, 0x01, 0x3b, 0x30, 0x82, 0x01, 0x37, 0x30, 0x12, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, + 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x32, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x2b, 0x30, 0x29, 0x30, 0x27, 0xa0, 0x25, 0xa0, 0x23, + 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x74, 0x31, 0x2e, + 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, + 0x61, 0x77, 0x74, 0x65, 0x50, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x2f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x23, 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x74, 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x41, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3a, 0x30, 0x38, 0x30, + 0x36, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, + 0x36, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x29, 0x06, 0x03, 0x55, + 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, + 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, 0x6d, + 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, 0x35, + 0x33, 0x37, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0xc2, 0x4f, 0x48, 0x57, 0xfc, 0xd1, 0x4f, 0x9a, 0xc0, 0x5d, 0x38, + 0x7d, 0x0e, 0x05, 0xdb, 0xd9, 0x2e, 0xb5, 0x52, 0x60, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7b, 0x5b, + 0x45, 0xcf, 0xaf, 0xce, 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, 0x6a, 0xb6, + 0xf3, 0x46, 0xeb, 0x57, 0x48, 0x50, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x01, 0x00, 0x8d, 0x06, 0xde, 0x43, 0xc9, 0x76, 0x02, 0xca, 0xd9, 0x23, + 0x97, 0x5e, 0xf3, 0x63, 0xd7, 0x7d, 0x44, 0xc2, 0x0f, 0x6b, 0x0a, 0xf5, + 0x07, 0xe5, 0x8b, 0xb8, 0xfa, 0xe0, 0xa3, 0xfa, 0x6b, 0x80, 0x92, 0xb5, + 0x03, 0x2c, 0xc5, 0x37, 0xe0, 0xc2, 0xe5, 0x95, 0xb5, 0x92, 0x70, 0x18, + 0x28, 0x42, 0x94, 0xee, 0x4b, 0x77, 0x6a, 0x01, 0x0f, 0x8b, 0x23, 0xec, + 0x56, 0x4d, 0xf4, 0x00, 0x69, 0xe5, 0x84, 0xc8, 0xe2, 0xea, 0xde, 0x5b, + 0x3e, 0xf6, 0x3c, 0x07, 0x3a, 0x94, 0xca, 0x6c, 0x27, 0xb1, 0xcc, 0x83, + 0x1a, 0x60, 0x71, 0x27, 0xd2, 0xbf, 0x02, 0xf5, 0x1e, 0x44, 0xd3, 0x48, + 0xd5, 0xa6, 0xd3, 0x76, 0x21, 0x00, 0x9c, 0xfa, 0x98, 0x64, 0xeb, 0x17, + 0x36, 0x3f, 0xeb, 0x1b, 0x3c, 0x3e, 0xa6, 0xb1, 0xd9, 0x58, 0x06, 0x0e, + 0x72, 0xd9, 0x68, 0xbe, 0xf1, 0xa7, 0x20, 0xd7, 0x52, 0xe4, 0xa4, 0x77, + 0x1f, 0x71, 0x70, 0x9d, 0x55, 0x35, 0x85, 0x37, 0xe1, 0x1d, 0x4d, 0x94, + 0xc2, 0x70, 0x7f, 0x95, 0x40, 0x6e, 0x4b, 0x7d, 0xb2, 0xb4, 0x29, 0x2a, + 0x03, 0x79, 0xc8, 0xb9, 0x4c, 0x67, 0x61, 0x04, 0xa0, 0x8b, 0x27, 0xff, + 0x59, 0x00, 0xeb, 0x55, 0x7f, 0xc6, 0xb7, 0x33, 0x35, 0x2d, 0x5e, 0x4e, + 0xac, 0xb8, 0xea, 0x12, 0xc5, 0xe8, 0xf7, 0xb9, 0xab, 0xbe, 0x74, 0x92, + 0x2c, 0xb7, 0xd9, 0x4d, 0xca, 0x84, 0x2f, 0x1c, 0xc2, 0xf0, 0x72, 0x7c, + 0xb2, 0x31, 0x6e, 0xcf, 0x80, 0xe5, 0x88, 0x07, 0x36, 0x51, 0x7b, 0xba, + 0x61, 0xaf, 0x6d, 0x8d, 0x23, 0x5b, 0x34, 0xa3, 0x95, 0xbc, 0xa2, 0x31, + 0x7f, 0xf2, 0xf5, 0xe7, 0xb7, 0xe8, 0xef, 0xc4, 0xb5, 0x27, 0x32, 0xe9, + 0xf7, 0x9e, 0x69, 0xc7, 0x2b, 0xe8, 0xbe, 0xbb, 0x0c, 0xaa, 0xe7, 0xea, + 0x60, 0x12, 0xea, 0x26, 0x8a, 0x78, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 0c:79:a9:44:b0:8c:11:95:20:92:61:5f:e2:6b:1d:83 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA + Validity + Not Before: Oct 22 12:00:00 2013 GMT + Not After : Oct 22 12:00:00 2028 GMT + Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert SHA2 Extended Validation Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d7:53:a4:04:51:f8:99:a6:16:48:4b:67:27:aa: + 93:49:d0:39:ed:0c:b0:b0:00:87:f1:67:28:86:85: + 8c:8e:63:da:bc:b1:40:38:e2:d3:f5:ec:a5:05:18: + b8:3d:3e:c5:99:17:32:ec:18:8c:fa:f1:0c:a6:64: + 21:85:cb:07:10:34:b0:52:88:2b:1f:68:9b:d2:b1: + 8f:12:b0:b3:d2:e7:88:1f:1f:ef:38:77:54:53:5f: + 80:79:3f:2e:1a:aa:a8:1e:4b:2b:0d:ab:b7:63:b9: + 35:b7:7d:14:bc:59:4b:df:51:4a:d2:a1:e2:0c:e2: + 90:82:87:6a:ae:ea:d7:64:d6:98:55:e8:fd:af:1a: + 50:6c:54:bc:11:f2:fd:4a:f2:9d:bb:7f:0e:f4:d5: + be:8e:16:89:12:55:d8:c0:71:34:ee:f6:dc:2d:ec: + c4:87:25:86:8d:d8:21:e4:b0:4d:0c:89:dc:39:26: + 17:dd:f6:d7:94:85:d8:04:21:70:9d:6f:6f:ff:5c: + ba:19:e1:45:cb:56:57:28:7e:1c:0d:41:57:aa:b7: + b8:27:bb:b1:e4:fa:2a:ef:21:23:75:1a:ad:2d:9b: + 86:35:8c:9c:77:b5:73:ad:d8:94:2d:e4:f3:0c:9d: + ee:c1:4e:62:7e:17:c0:71:9e:2c:de:f1:f9:10:28: + 19:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.digicert.com/CPS + + X509v3 Subject Key Identifier: + 3D:D3:50:A5:D6:A0:AD:EE:F3:4A:60:0A:65:D3:21:D4:F8:F8:D6:0F + X509v3 Authority Key Identifier: + keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3 + + Signature Algorithm: sha256WithRSAEncryption + 9d:b6:d0:90:86:e1:86:02:ed:c5:a0:f0:34:1c:74:c1:8d:76: + cc:86:0a:a8:f0:4a:8a:42:d6:3f:c8:a9:4d:ad:7c:08:ad:e6: + b6:50:b8:a2:1a:4d:88:07:b1:29:21:dc:e7:da:c6:3c:21:e0: + e3:11:49:70:ac:7a:1d:01:a4:ca:11:3a:57:ab:7d:57:2a:40: + 74:fd:d3:1d:85:18:50:df:57:47:75:a1:7d:55:20:2e:47:37: + 50:72:8c:7f:82:1b:d2:62:8f:2d:03:5a:da:c3:c8:a1:ce:2c: + 52:a2:00:63:eb:73:ba:71:c8:49:27:23:97:64:85:9e:38:0e: + ad:63:68:3c:ba:52:81:58:79:a3:2c:0c:df:de:6d:eb:31:f2: + ba:a0:7c:6c:f1:2c:d4:e1:bd:77:84:37:03:ce:32:b5:c8:9a: + 81:1a:4a:92:4e:3b:46:9a:85:fe:83:a2:f9:9e:8c:a3:cc:0d: + 5e:b3:3d:cf:04:78:8f:14:14:7b:32:9c:c7:00:a6:5c:c4:b5: + a1:55:8d:5a:56:68:a4:22:70:aa:3c:81:71:d9:9d:a8:45:3b: + f4:e5:f6:a2:51:dd:c7:7b:62:e8:6f:0c:74:eb:b8:da:f8:bf: + 87:0d:79:50:91:90:9b:18:3b:91:59:27:f1:35:28:13:ab:26: + 7e:d5:f7:7a +-----BEGIN CERTIFICATE----- +MIIEtjCCA56gAwIBAgIQDHmpRLCMEZUgkmFf4msdgzANBgkqhkiG9w0BAQsFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowdTEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTE0MDIGA1UEAxMrRGlnaUNlcnQgU0hBMiBFeHRlbmRlZCBW +YWxpZGF0aW9uIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBANdTpARR+JmmFkhLZyeqk0nQOe0MsLAAh/FnKIaFjI5j2ryxQDji0/XspQUY +uD0+xZkXMuwYjPrxDKZkIYXLBxA0sFKIKx9om9KxjxKws9LniB8f7zh3VFNfgHk/ +LhqqqB5LKw2rt2O5Nbd9FLxZS99RStKh4gzikIKHaq7q12TWmFXo/a8aUGxUvBHy +/Urynbt/DvTVvo4WiRJV2MBxNO723C3sxIclho3YIeSwTQyJ3DkmF93215SF2AQh +cJ1vb/9cuhnhRctWVyh+HA1BV6q3uCe7seT6Ku8hI3UarS2bhjWMnHe1c63YlC3k +8wyd7sFOYn4XwHGeLN7x+RAoGTMCAwEAAaOCAUkwggFFMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF +BQcDAjA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp +Z2ljZXJ0LmNvbTBLBgNVHR8ERDBCMECgPqA8hjpodHRwOi8vY3JsNC5kaWdpY2Vy +dC5jb20vRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZSb290Q0EuY3JsMD0GA1UdIAQ2 +MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5j +b20vQ1BTMB0GA1UdDgQWBBQ901Cl1qCt7vNKYApl0yHU+PjWDzAfBgNVHSMEGDAW +gBSxPsNpA/i/RwHUmCYaCALvY2QrwzANBgkqhkiG9w0BAQsFAAOCAQEAnbbQkIbh +hgLtxaDwNBx0wY12zIYKqPBKikLWP8ipTa18CK3mtlC4ohpNiAexKSHc59rGPCHg +4xFJcKx6HQGkyhE6V6t9VypAdP3THYUYUN9XR3WhfVUgLkc3UHKMf4Ib0mKPLQNa +2sPIoc4sUqIAY+tzunHISScjl2SFnjgOrWNoPLpSgVh5oywM395t6zHyuqB8bPEs +1OG9d4Q3A84ytciagRpKkk47RpqF/oOi+Z6Mo8wNXrM9zwR4jxQUezKcxwCmXMS1 +oVWNWlZopCJwqjyBcdmdqEU79OX2olHdx3ti6G8MdOu42vi/hw15UJGQmxg7kVkn +8TUoE6smftX3eg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_28[] = { + 0x30, 0x82, 0x04, 0xb6, 0x30, 0x82, 0x03, 0x9e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x0c, 0x79, 0xa9, 0x44, 0xb0, 0x8c, 0x11, 0x95, 0x20, + 0x92, 0x61, 0x5f, 0xe2, 0x6b, 0x1d, 0x83, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x6c, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, + 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, + 0x65, 0x20, 0x45, 0x56, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, + 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x32, 0x32, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x38, 0x31, 0x30, 0x32, + 0x32, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x75, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, 0x19, + 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x31, 0x34, 0x30, 0x32, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2b, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x53, 0x48, 0x41, + 0x32, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xd7, 0x53, 0xa4, 0x04, 0x51, 0xf8, 0x99, 0xa6, + 0x16, 0x48, 0x4b, 0x67, 0x27, 0xaa, 0x93, 0x49, 0xd0, 0x39, 0xed, 0x0c, + 0xb0, 0xb0, 0x00, 0x87, 0xf1, 0x67, 0x28, 0x86, 0x85, 0x8c, 0x8e, 0x63, + 0xda, 0xbc, 0xb1, 0x40, 0x38, 0xe2, 0xd3, 0xf5, 0xec, 0xa5, 0x05, 0x18, + 0xb8, 0x3d, 0x3e, 0xc5, 0x99, 0x17, 0x32, 0xec, 0x18, 0x8c, 0xfa, 0xf1, + 0x0c, 0xa6, 0x64, 0x21, 0x85, 0xcb, 0x07, 0x10, 0x34, 0xb0, 0x52, 0x88, + 0x2b, 0x1f, 0x68, 0x9b, 0xd2, 0xb1, 0x8f, 0x12, 0xb0, 0xb3, 0xd2, 0xe7, + 0x88, 0x1f, 0x1f, 0xef, 0x38, 0x77, 0x54, 0x53, 0x5f, 0x80, 0x79, 0x3f, + 0x2e, 0x1a, 0xaa, 0xa8, 0x1e, 0x4b, 0x2b, 0x0d, 0xab, 0xb7, 0x63, 0xb9, + 0x35, 0xb7, 0x7d, 0x14, 0xbc, 0x59, 0x4b, 0xdf, 0x51, 0x4a, 0xd2, 0xa1, + 0xe2, 0x0c, 0xe2, 0x90, 0x82, 0x87, 0x6a, 0xae, 0xea, 0xd7, 0x64, 0xd6, + 0x98, 0x55, 0xe8, 0xfd, 0xaf, 0x1a, 0x50, 0x6c, 0x54, 0xbc, 0x11, 0xf2, + 0xfd, 0x4a, 0xf2, 0x9d, 0xbb, 0x7f, 0x0e, 0xf4, 0xd5, 0xbe, 0x8e, 0x16, + 0x89, 0x12, 0x55, 0xd8, 0xc0, 0x71, 0x34, 0xee, 0xf6, 0xdc, 0x2d, 0xec, + 0xc4, 0x87, 0x25, 0x86, 0x8d, 0xd8, 0x21, 0xe4, 0xb0, 0x4d, 0x0c, 0x89, + 0xdc, 0x39, 0x26, 0x17, 0xdd, 0xf6, 0xd7, 0x94, 0x85, 0xd8, 0x04, 0x21, + 0x70, 0x9d, 0x6f, 0x6f, 0xff, 0x5c, 0xba, 0x19, 0xe1, 0x45, 0xcb, 0x56, + 0x57, 0x28, 0x7e, 0x1c, 0x0d, 0x41, 0x57, 0xaa, 0xb7, 0xb8, 0x27, 0xbb, + 0xb1, 0xe4, 0xfa, 0x2a, 0xef, 0x21, 0x23, 0x75, 0x1a, 0xad, 0x2d, 0x9b, + 0x86, 0x35, 0x8c, 0x9c, 0x77, 0xb5, 0x73, 0xad, 0xd8, 0x94, 0x2d, 0xe4, + 0xf3, 0x0c, 0x9d, 0xee, 0xc1, 0x4e, 0x62, 0x7e, 0x17, 0xc0, 0x71, 0x9e, + 0x2c, 0xde, 0xf1, 0xf9, 0x10, 0x28, 0x19, 0x33, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xa3, 0x82, 0x01, 0x49, 0x30, 0x82, 0x01, 0x45, 0x30, 0x12, 0x06, + 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, + 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, + 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, + 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x02, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x64, 0x69, + 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4b, + 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x44, 0x30, 0x42, 0x30, 0x40, 0xa0, + 0x3e, 0xa0, 0x3c, 0x86, 0x3a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x63, 0x72, 0x6c, 0x34, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, + 0x72, 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, + 0x6e, 0x63, 0x65, 0x45, 0x56, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, + 0x30, 0x34, 0x30, 0x32, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, + 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, + 0x16, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x43, 0x50, 0x53, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x3d, 0xd3, 0x50, 0xa5, 0xd6, 0xa0, 0xad, + 0xee, 0xf3, 0x4a, 0x60, 0x0a, 0x65, 0xd3, 0x21, 0xd4, 0xf8, 0xf8, 0xd6, + 0x0f, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xb1, 0x3e, 0xc3, 0x69, 0x03, 0xf8, 0xbf, 0x47, 0x01, 0xd4, + 0x98, 0x26, 0x1a, 0x08, 0x02, 0xef, 0x63, 0x64, 0x2b, 0xc3, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x9d, 0xb6, 0xd0, 0x90, 0x86, 0xe1, + 0x86, 0x02, 0xed, 0xc5, 0xa0, 0xf0, 0x34, 0x1c, 0x74, 0xc1, 0x8d, 0x76, + 0xcc, 0x86, 0x0a, 0xa8, 0xf0, 0x4a, 0x8a, 0x42, 0xd6, 0x3f, 0xc8, 0xa9, + 0x4d, 0xad, 0x7c, 0x08, 0xad, 0xe6, 0xb6, 0x50, 0xb8, 0xa2, 0x1a, 0x4d, + 0x88, 0x07, 0xb1, 0x29, 0x21, 0xdc, 0xe7, 0xda, 0xc6, 0x3c, 0x21, 0xe0, + 0xe3, 0x11, 0x49, 0x70, 0xac, 0x7a, 0x1d, 0x01, 0xa4, 0xca, 0x11, 0x3a, + 0x57, 0xab, 0x7d, 0x57, 0x2a, 0x40, 0x74, 0xfd, 0xd3, 0x1d, 0x85, 0x18, + 0x50, 0xdf, 0x57, 0x47, 0x75, 0xa1, 0x7d, 0x55, 0x20, 0x2e, 0x47, 0x37, + 0x50, 0x72, 0x8c, 0x7f, 0x82, 0x1b, 0xd2, 0x62, 0x8f, 0x2d, 0x03, 0x5a, + 0xda, 0xc3, 0xc8, 0xa1, 0xce, 0x2c, 0x52, 0xa2, 0x00, 0x63, 0xeb, 0x73, + 0xba, 0x71, 0xc8, 0x49, 0x27, 0x23, 0x97, 0x64, 0x85, 0x9e, 0x38, 0x0e, + 0xad, 0x63, 0x68, 0x3c, 0xba, 0x52, 0x81, 0x58, 0x79, 0xa3, 0x2c, 0x0c, + 0xdf, 0xde, 0x6d, 0xeb, 0x31, 0xf2, 0xba, 0xa0, 0x7c, 0x6c, 0xf1, 0x2c, + 0xd4, 0xe1, 0xbd, 0x77, 0x84, 0x37, 0x03, 0xce, 0x32, 0xb5, 0xc8, 0x9a, + 0x81, 0x1a, 0x4a, 0x92, 0x4e, 0x3b, 0x46, 0x9a, 0x85, 0xfe, 0x83, 0xa2, + 0xf9, 0x9e, 0x8c, 0xa3, 0xcc, 0x0d, 0x5e, 0xb3, 0x3d, 0xcf, 0x04, 0x78, + 0x8f, 0x14, 0x14, 0x7b, 0x32, 0x9c, 0xc7, 0x00, 0xa6, 0x5c, 0xc4, 0xb5, + 0xa1, 0x55, 0x8d, 0x5a, 0x56, 0x68, 0xa4, 0x22, 0x70, 0xaa, 0x3c, 0x81, + 0x71, 0xd9, 0x9d, 0xa8, 0x45, 0x3b, 0xf4, 0xe5, 0xf6, 0xa2, 0x51, 0xdd, + 0xc7, 0x7b, 0x62, 0xe8, 0x6f, 0x0c, 0x74, 0xeb, 0xb8, 0xda, 0xf8, 0xbf, + 0x87, 0x0d, 0x79, 0x50, 0x91, 0x90, 0x9b, 0x18, 0x3b, 0x91, 0x59, 0x27, + 0xf1, 0x35, 0x28, 0x13, 0xab, 0x26, 0x7e, 0xd5, 0xf7, 0x7a, +}; diff --git a/external/lsquic/src/liblsquic/common_cert_set_2b.inc b/external/lsquic/src/liblsquic/common_cert_set_2b.inc new file mode 100644 index 0000000..45f0e31 --- /dev/null +++ b/external/lsquic/src/liblsquic/common_cert_set_2b.inc @@ -0,0 +1,5745 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Copyright (c) 2015 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE.chrome file. + */ + +/* This file contains common certificates. It's designed to be #included in + * another file, in a namespace. */ +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 36:34:9e:18:c9:9c:26:69:b6:56:2e:6c:e5:ad:71:32 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3 + Validity + Not Before: May 23 00:00:00 2013 GMT + Not After : May 22 23:59:59 2023 GMT + Subject: C=US, O=thawte, Inc., CN=thawte SHA256 SSL CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a3:63:2b:d4:ba:5d:38:ae:b0:cf:b9:4c:38:df: + 20:7d:f1:2b:47:71:1d:8b:68:f3:56:f9:9c:da:aa: + e5:84:26:de:a5:71:30:bc:f3:31:23:9d:e8:3b:80: + c8:66:57:75:b6:57:0e:db:93:f5:26:8e:70:ba:64: + 52:66:8a:2a:88:5c:44:18:4d:a8:a2:7c:bd:56:61: + 32:90:12:f9:35:87:48:60:b0:6e:90:67:44:01:8d: + e7:c9:0d:63:68:72:72:ab:63:3c:86:b8:1f:7d:ad: + 88:25:a7:6a:88:29:fb:59:c6:78:71:5f:2c:ba:89: + e6:d3:80:fd:57:ec:b9:51:5f:43:33:2e:7e:25:3b: + a4:04:d1:60:8c:b3:44:33:93:0c:ad:2a:b6:44:a2: + 19:3b:af:c4:90:6f:7b:05:87:86:9b:2c:6a:9d:2b: + 6c:77:c9:00:9f:c9:cf:ac:ed:3e:1b:f7:c3:f3:d9: + f8:6c:d4:a0:57:c4:fb:28:32:aa:33:f0:e6:ba:98: + df:e5:c2:4e:9c:74:bf:8a:48:c2:f2:1b:f0:77:40: + 41:07:04:b2:3a:d5:4c:c4:29:a9:11:40:3f:02:46: + f0:91:d5:d2:81:83:86:13:b3:31:ed:46:ab:a8:87: + 76:a9:99:7d:bc:cd:31:50:f4:a5:b5:dc:a5:32:b3: + 8b:8b + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://ocsp.thawte.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: https://www.thawte.com/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.thawte.com/ThawtePCA-G3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-415 + X509v3 Subject Key Identifier: + 2B:9A:35:AE:01:18:38:30:E1:70:7A:05:E0:11:76:A3:CE:BD:90:14 + X509v3 Authority Key Identifier: + keyid:AD:6C:AA:94:60:9C:ED:E4:FF:FA:3E:0A:74:2B:63:03:F7:B6:59:BF + + Signature Algorithm: sha256WithRSAEncryption + 74:a6:56:e8:af:93:96:19:fb:26:f9:0d:b0:44:a5:cd:e9:7a: + 48:03:74:01:6c:13:71:b7:e0:82:90:99:62:23:e3:d6:99:af: + f0:c7:1e:9e:a8:18:21:db:b4:94:3f:34:56:1b:99:55:2f:8e: + f0:45:33:32:b7:72:c1:13:5b:34:d3:f5:60:e5:2e:18:d1:5c: + c5:6a:c1:aa:87:50:0c:1c:9d:64:2b:ff:1b:dc:d5:2e:61:0b: + e7:b9:b6:91:53:86:d9:03:2a:d1:3d:7b:4a:da:2b:07:be:29: + f2:60:42:a9:91:1a:0e:2e:3c:d1:7d:a5:13:14:02:fa:ee:8b: + 8d:b6:c8:b8:3e:56:81:57:21:24:3f:65:c3:b4:c9:ce:5c:8d: + 46:ac:53:f3:f9:55:74:c8:2b:fd:d2:78:70:f5:f8:11:e5:f4: + a7:ad:20:f5:9d:f1:ec:70:f6:13:ac:e6:8c:8d:db:3f:c6:f2: + 79:0e:ab:52:f2:cc:1b:79:27:cf:16:b3:d6:f3:c6:36:80:43: + ec:c5:94:f0:dd:90:8d:f8:c6:52:46:56:eb:74:47:be:a6:f3: + 19:ae:71:4c:c0:e1:e7:d4:cf:ed:d4:06:28:2a:11:3c:ba:d9: + 41:6e:00:e7:81:37:93:e4:da:62:c6:1d:67:6f:63:b4:14:86: + d9:a6:62:f0 +-----BEGIN CERTIFICATE----- +MIIEwjCCA6qgAwIBAgIQNjSeGMmcJmm2Vi5s5a1xMjANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0xMzA1MjMwMDAwMDBa +Fw0yMzA1MjIyMzU5NTlaMEMxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUs +IEluYy4xHTAbBgNVBAMTFHRoYXd0ZSBTSEEyNTYgU1NMIENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo2Mr1LpdOK6wz7lMON8gffErR3Edi2jzVvmc +2qrlhCbepXEwvPMxI53oO4DIZld1tlcO25P1Jo5wumRSZooqiFxEGE2oony9VmEy +kBL5NYdIYLBukGdEAY3nyQ1jaHJyq2M8hrgffa2IJadqiCn7WcZ4cV8suonm04D9 +V+y5UV9DMy5+JTukBNFgjLNEM5MMrSq2RKIZO6/EkG97BYeGmyxqnStsd8kAn8nP +rO0+G/fD89n4bNSgV8T7KDKqM/Dmupjf5cJOnHS/ikjC8hvwd0BBBwSyOtVMxCmp +EUA/AkbwkdXSgYOGE7Mx7UarqId2qZl9vM0xUPSltdylMrOLiwIDAQABo4IBRDCC +AUAwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8vb2NzcC50aGF3 +dGUuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAwQQYDVR0gBDowODA2BgpghkgBhvhF +AQc2MCgwJgYIKwYBBQUHAgEWGmh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vY3BzMDcG +A1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQQ0Et +RzMuY3JsMA4GA1UdDwEB/wQEAwIBBjAqBgNVHREEIzAhpB8wHTEbMBkGA1UEAxMS +VmVyaVNpZ25NUEtJLTItNDE1MB0GA1UdDgQWBBQrmjWuARg4MOFwegXgEXajzr2Q +FDAfBgNVHSMEGDAWgBStbKqUYJzt5P/6Pgp0K2MD97ZZvzANBgkqhkiG9w0BAQsF +AAOCAQEAdKZW6K+Tlhn7JvkNsESlzel6SAN0AWwTcbfggpCZYiPj1pmv8McenqgY +Idu0lD80VhuZVS+O8EUzMrdywRNbNNP1YOUuGNFcxWrBqodQDBydZCv/G9zVLmEL +57m2kVOG2QMq0T17StorB74p8mBCqZEaDi480X2lExQC+u6LjbbIuD5WgVchJD9l +w7TJzlyNRqxT8/lVdMgr/dJ4cPX4EeX0p60g9Z3x7HD2E6zmjI3bP8byeQ6rUvLM +G3knzxaz1vPGNoBD7MWU8N2QjfjGUkZW63RHvqbzGa5xTMDh59TP7dQGKCoRPLrZ +QW4A54E3k+TaYsYdZ29jtBSG2aZi8A== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_29[] = { + 0x30, 0x82, 0x04, 0xc2, 0x30, 0x82, 0x03, 0xaa, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x36, 0x34, 0x9e, 0x18, 0xc9, 0x9c, 0x26, 0x69, 0xb6, + 0x56, 0x2e, 0x6c, 0xe5, 0xad, 0x71, 0x32, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xae, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x38, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x1b, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x33, 0x30, 0x35, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, + 0x17, 0x0d, 0x32, 0x33, 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x35, 0x39, + 0x35, 0x39, 0x5a, 0x30, 0x43, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, + 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, + 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x14, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, + 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa3, 0x63, 0x2b, + 0xd4, 0xba, 0x5d, 0x38, 0xae, 0xb0, 0xcf, 0xb9, 0x4c, 0x38, 0xdf, 0x20, + 0x7d, 0xf1, 0x2b, 0x47, 0x71, 0x1d, 0x8b, 0x68, 0xf3, 0x56, 0xf9, 0x9c, + 0xda, 0xaa, 0xe5, 0x84, 0x26, 0xde, 0xa5, 0x71, 0x30, 0xbc, 0xf3, 0x31, + 0x23, 0x9d, 0xe8, 0x3b, 0x80, 0xc8, 0x66, 0x57, 0x75, 0xb6, 0x57, 0x0e, + 0xdb, 0x93, 0xf5, 0x26, 0x8e, 0x70, 0xba, 0x64, 0x52, 0x66, 0x8a, 0x2a, + 0x88, 0x5c, 0x44, 0x18, 0x4d, 0xa8, 0xa2, 0x7c, 0xbd, 0x56, 0x61, 0x32, + 0x90, 0x12, 0xf9, 0x35, 0x87, 0x48, 0x60, 0xb0, 0x6e, 0x90, 0x67, 0x44, + 0x01, 0x8d, 0xe7, 0xc9, 0x0d, 0x63, 0x68, 0x72, 0x72, 0xab, 0x63, 0x3c, + 0x86, 0xb8, 0x1f, 0x7d, 0xad, 0x88, 0x25, 0xa7, 0x6a, 0x88, 0x29, 0xfb, + 0x59, 0xc6, 0x78, 0x71, 0x5f, 0x2c, 0xba, 0x89, 0xe6, 0xd3, 0x80, 0xfd, + 0x57, 0xec, 0xb9, 0x51, 0x5f, 0x43, 0x33, 0x2e, 0x7e, 0x25, 0x3b, 0xa4, + 0x04, 0xd1, 0x60, 0x8c, 0xb3, 0x44, 0x33, 0x93, 0x0c, 0xad, 0x2a, 0xb6, + 0x44, 0xa2, 0x19, 0x3b, 0xaf, 0xc4, 0x90, 0x6f, 0x7b, 0x05, 0x87, 0x86, + 0x9b, 0x2c, 0x6a, 0x9d, 0x2b, 0x6c, 0x77, 0xc9, 0x00, 0x9f, 0xc9, 0xcf, + 0xac, 0xed, 0x3e, 0x1b, 0xf7, 0xc3, 0xf3, 0xd9, 0xf8, 0x6c, 0xd4, 0xa0, + 0x57, 0xc4, 0xfb, 0x28, 0x32, 0xaa, 0x33, 0xf0, 0xe6, 0xba, 0x98, 0xdf, + 0xe5, 0xc2, 0x4e, 0x9c, 0x74, 0xbf, 0x8a, 0x48, 0xc2, 0xf2, 0x1b, 0xf0, + 0x77, 0x40, 0x41, 0x07, 0x04, 0xb2, 0x3a, 0xd5, 0x4c, 0xc4, 0x29, 0xa9, + 0x11, 0x40, 0x3f, 0x02, 0x46, 0xf0, 0x91, 0xd5, 0xd2, 0x81, 0x83, 0x86, + 0x13, 0xb3, 0x31, 0xed, 0x46, 0xab, 0xa8, 0x87, 0x76, 0xa9, 0x99, 0x7d, + 0xbc, 0xcd, 0x31, 0x50, 0xf4, 0xa5, 0xb5, 0xdc, 0xa5, 0x32, 0xb3, 0x8b, + 0x8b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x44, 0x30, 0x82, + 0x01, 0x40, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x01, 0x01, 0x04, 0x26, 0x30, 0x24, 0x30, 0x22, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x16, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x74, 0x68, 0x61, 0x77, + 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x41, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3a, 0x30, + 0x38, 0x30, 0x36, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, + 0x01, 0x07, 0x36, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x37, 0x06, + 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x30, 0x30, 0x2e, 0x30, 0x2c, 0xa0, 0x2a, + 0xa0, 0x28, 0x86, 0x26, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, 0x43, 0x41, 0x2d, + 0x47, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x2a, + 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x23, 0x30, 0x21, 0xa4, 0x1f, 0x30, + 0x1d, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, + 0x2d, 0x32, 0x2d, 0x34, 0x31, 0x35, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2b, 0x9a, 0x35, 0xae, 0x01, 0x18, 0x38, + 0x30, 0xe1, 0x70, 0x7a, 0x05, 0xe0, 0x11, 0x76, 0xa3, 0xce, 0xbd, 0x90, + 0x14, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xad, 0x6c, 0xaa, 0x94, 0x60, 0x9c, 0xed, 0xe4, 0xff, 0xfa, + 0x3e, 0x0a, 0x74, 0x2b, 0x63, 0x03, 0xf7, 0xb6, 0x59, 0xbf, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x74, 0xa6, 0x56, 0xe8, 0xaf, 0x93, + 0x96, 0x19, 0xfb, 0x26, 0xf9, 0x0d, 0xb0, 0x44, 0xa5, 0xcd, 0xe9, 0x7a, + 0x48, 0x03, 0x74, 0x01, 0x6c, 0x13, 0x71, 0xb7, 0xe0, 0x82, 0x90, 0x99, + 0x62, 0x23, 0xe3, 0xd6, 0x99, 0xaf, 0xf0, 0xc7, 0x1e, 0x9e, 0xa8, 0x18, + 0x21, 0xdb, 0xb4, 0x94, 0x3f, 0x34, 0x56, 0x1b, 0x99, 0x55, 0x2f, 0x8e, + 0xf0, 0x45, 0x33, 0x32, 0xb7, 0x72, 0xc1, 0x13, 0x5b, 0x34, 0xd3, 0xf5, + 0x60, 0xe5, 0x2e, 0x18, 0xd1, 0x5c, 0xc5, 0x6a, 0xc1, 0xaa, 0x87, 0x50, + 0x0c, 0x1c, 0x9d, 0x64, 0x2b, 0xff, 0x1b, 0xdc, 0xd5, 0x2e, 0x61, 0x0b, + 0xe7, 0xb9, 0xb6, 0x91, 0x53, 0x86, 0xd9, 0x03, 0x2a, 0xd1, 0x3d, 0x7b, + 0x4a, 0xda, 0x2b, 0x07, 0xbe, 0x29, 0xf2, 0x60, 0x42, 0xa9, 0x91, 0x1a, + 0x0e, 0x2e, 0x3c, 0xd1, 0x7d, 0xa5, 0x13, 0x14, 0x02, 0xfa, 0xee, 0x8b, + 0x8d, 0xb6, 0xc8, 0xb8, 0x3e, 0x56, 0x81, 0x57, 0x21, 0x24, 0x3f, 0x65, + 0xc3, 0xb4, 0xc9, 0xce, 0x5c, 0x8d, 0x46, 0xac, 0x53, 0xf3, 0xf9, 0x55, + 0x74, 0xc8, 0x2b, 0xfd, 0xd2, 0x78, 0x70, 0xf5, 0xf8, 0x11, 0xe5, 0xf4, + 0xa7, 0xad, 0x20, 0xf5, 0x9d, 0xf1, 0xec, 0x70, 0xf6, 0x13, 0xac, 0xe6, + 0x8c, 0x8d, 0xdb, 0x3f, 0xc6, 0xf2, 0x79, 0x0e, 0xab, 0x52, 0xf2, 0xcc, + 0x1b, 0x79, 0x27, 0xcf, 0x16, 0xb3, 0xd6, 0xf3, 0xc6, 0x36, 0x80, 0x43, + 0xec, 0xc5, 0x94, 0xf0, 0xdd, 0x90, 0x8d, 0xf8, 0xc6, 0x52, 0x46, 0x56, + 0xeb, 0x74, 0x47, 0xbe, 0xa6, 0xf3, 0x19, 0xae, 0x71, 0x4c, 0xc0, 0xe1, + 0xe7, 0xd4, 0xcf, 0xed, 0xd4, 0x06, 0x28, 0x2a, 0x11, 0x3c, 0xba, 0xd9, + 0x41, 0x6e, 0x00, 0xe7, 0x81, 0x37, 0x93, 0xe4, 0xda, 0x62, 0xc6, 0x1d, + 0x67, 0x6f, 0x63, 0xb4, 0x14, 0x86, 0xd9, 0xa6, 0x62, 0xf0, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 35:97:31:87:f3:87:3a:07:32:7e:ce:58:0c:9b:7e:da + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority + Validity + Not Before: Nov 8 00:00:00 2006 GMT + Not After : Nov 7 23:59:59 2021 GMT + Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:24:08:08:29:7a:35:9e:60:0c:aa:e7:4b:3b: + 4e:dc:7c:bc:3c:45:1c:bb:2b:e0:fe:29:02:f9:57: + 08:a3:64:85:15:27:f5:f1:ad:c8:31:89:5d:22:e8: + 2a:aa:a6:42:b3:8f:f8:b9:55:b7:b1:b7:4b:b3:fe: + 8f:7e:07:57:ec:ef:43:db:66:62:15:61:cf:60:0d: + a4:d8:de:f8:e0:c3:62:08:3d:54:13:eb:49:ca:59: + 54:85:26:e5:2b:8f:1b:9f:eb:f5:a1:91:c2:33:49: + d8:43:63:6a:52:4b:d2:8f:e8:70:51:4d:d1:89:69: + 7b:c7:70:f6:b3:dc:12:74:db:7b:5d:4b:56:d3:96: + bf:15:77:a1:b0:f4:a2:25:f2:af:1c:92:67:18:e5: + f4:06:04:ef:90:b9:e4:00:e4:dd:3a:b5:19:ff:02: + ba:f4:3c:ee:e0:8b:eb:37:8b:ec:f4:d7:ac:f2:f6: + f0:3d:af:dd:75:91:33:19:1d:1c:40:cb:74:24:19: + 21:93:d9:14:fe:ac:2a:52:c7:8f:d5:04:49:e4:8d: + 63:47:88:3c:69:83:cb:fe:47:bd:2b:7e:4f:c5:95: + ae:0e:9d:d4:d1:43:c0:67:73:e3:14:08:7e:e5:3f: + 9f:73:b8:33:0a:cf:5d:3f:34:87:96:8a:ee:53:e8: + 25:15 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.verisign.com/pca3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.verisign.com/cps + + X509v3 Subject Key Identifier: + 7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + X509v3 Extended Key Usage: + Netscape Server Gated Crypto, 2.16.840.1.113733.1.8.1, TLS Web Server Authentication, TLS Web Client Authentication + 1.3.6.1.5.5.7.1.12: + 0_.].[0Y0W0U..image/gif0!0.0...+..............k...j.H.,{..0%.#http://logo.verisign.com/vslogo.gif + Authority Information Access: + OCSP - URI:http://ocsp.verisign.com + + Signature Algorithm: sha1WithRSAEncryption + 0f:25:ae:48:ed:1b:33:85:4c:0c:b5:c2:d7:fe:4d:d6:83:28: + 4c:41:65:60:00:0b:77:48:71:82:fe:7f:db:5a:0e:20:cc:d2: + ea:47:bc:64:42:61:44:34:74:30:81:81:26:8a:4a:f7:44:5d: + 7e:34:80:a8:b8:83:e2:09:d7:6d:23:dd:89:ed:28:08:bd:63: + 5a:11:57:08:c4:9e:da:e2:68:28:af:dd:50:3c:ec:82:21:d8: + 00:c2:55:44:50:70:41:ad:83:17:79:ba:08:f3:2b:de:ed:34: + 1d:44:9e:d2:04:93:f4:cb:05:17:2d:09:2d:2d:63:ef:f6:26: + 0b:7b +-----BEGIN CERTIFICATE----- +MIIExjCCBC+gAwIBAgIQNZcxh/OHOgcyfs5YDJt+2jANBgkqhkiG9w0BAQUFADBf +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT +LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw +HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv +ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8 +RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb +ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR +TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH +iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB +AAGjggGRMIIBjTAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0 +dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9 +BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy +aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwNAYD +VR0lBC0wKwYJYIZIAYb4QgQBBgpghkgBhvhFAQgBBggrBgEFBQcDAQYIKwYBBQUH +AwIwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUr +DgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNp +Z24uY29tL3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhho +dHRwOi8vb2NzcC52ZXJpc2lnbi5jb20wDQYJKoZIhvcNAQEFBQADgYEADyWuSO0b +M4VMDLXC1/5N1oMoTEFlYAALd0hxgv5/21oOIMzS6ke8ZEJhRDR0MIGBJopK90Rd +fjSAqLiD4gnXbSPdie0oCL1jWhFXCMSe2uJoKK/dUDzsgiHYAMJVRFBwQa2DF3m6 +CPMr3u00HUSe0gST9MsFFy0JLS1j7/YmC3s= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_30[] = { + 0x30, 0x82, 0x04, 0xc6, 0x30, 0x82, 0x04, 0x2f, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x35, 0x97, 0x31, 0x87, 0xf3, 0x87, 0x3a, 0x07, 0x32, + 0x7e, 0xce, 0x58, 0x0c, 0x9b, 0x7e, 0xda, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x5f, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x37, 0x30, 0x35, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, + 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x31, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x31, 0x31, 0x31, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xca, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3a, 0x30, + 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, 0x63, 0x29, 0x20, + 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, + 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x45, 0x30, + 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, + 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xaf, 0x24, 0x08, 0x08, 0x29, 0x7a, 0x35, + 0x9e, 0x60, 0x0c, 0xaa, 0xe7, 0x4b, 0x3b, 0x4e, 0xdc, 0x7c, 0xbc, 0x3c, + 0x45, 0x1c, 0xbb, 0x2b, 0xe0, 0xfe, 0x29, 0x02, 0xf9, 0x57, 0x08, 0xa3, + 0x64, 0x85, 0x15, 0x27, 0xf5, 0xf1, 0xad, 0xc8, 0x31, 0x89, 0x5d, 0x22, + 0xe8, 0x2a, 0xaa, 0xa6, 0x42, 0xb3, 0x8f, 0xf8, 0xb9, 0x55, 0xb7, 0xb1, + 0xb7, 0x4b, 0xb3, 0xfe, 0x8f, 0x7e, 0x07, 0x57, 0xec, 0xef, 0x43, 0xdb, + 0x66, 0x62, 0x15, 0x61, 0xcf, 0x60, 0x0d, 0xa4, 0xd8, 0xde, 0xf8, 0xe0, + 0xc3, 0x62, 0x08, 0x3d, 0x54, 0x13, 0xeb, 0x49, 0xca, 0x59, 0x54, 0x85, + 0x26, 0xe5, 0x2b, 0x8f, 0x1b, 0x9f, 0xeb, 0xf5, 0xa1, 0x91, 0xc2, 0x33, + 0x49, 0xd8, 0x43, 0x63, 0x6a, 0x52, 0x4b, 0xd2, 0x8f, 0xe8, 0x70, 0x51, + 0x4d, 0xd1, 0x89, 0x69, 0x7b, 0xc7, 0x70, 0xf6, 0xb3, 0xdc, 0x12, 0x74, + 0xdb, 0x7b, 0x5d, 0x4b, 0x56, 0xd3, 0x96, 0xbf, 0x15, 0x77, 0xa1, 0xb0, + 0xf4, 0xa2, 0x25, 0xf2, 0xaf, 0x1c, 0x92, 0x67, 0x18, 0xe5, 0xf4, 0x06, + 0x04, 0xef, 0x90, 0xb9, 0xe4, 0x00, 0xe4, 0xdd, 0x3a, 0xb5, 0x19, 0xff, + 0x02, 0xba, 0xf4, 0x3c, 0xee, 0xe0, 0x8b, 0xeb, 0x37, 0x8b, 0xec, 0xf4, + 0xd7, 0xac, 0xf2, 0xf6, 0xf0, 0x3d, 0xaf, 0xdd, 0x75, 0x91, 0x33, 0x19, + 0x1d, 0x1c, 0x40, 0xcb, 0x74, 0x24, 0x19, 0x21, 0x93, 0xd9, 0x14, 0xfe, + 0xac, 0x2a, 0x52, 0xc7, 0x8f, 0xd5, 0x04, 0x49, 0xe4, 0x8d, 0x63, 0x47, + 0x88, 0x3c, 0x69, 0x83, 0xcb, 0xfe, 0x47, 0xbd, 0x2b, 0x7e, 0x4f, 0xc5, + 0x95, 0xae, 0x0e, 0x9d, 0xd4, 0xd1, 0x43, 0xc0, 0x67, 0x73, 0xe3, 0x14, + 0x08, 0x7e, 0xe5, 0x3f, 0x9f, 0x73, 0xb8, 0x33, 0x0a, 0xcf, 0x5d, 0x3f, + 0x34, 0x87, 0x96, 0x8a, 0xee, 0x53, 0xe8, 0x25, 0x15, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x91, 0x30, 0x82, 0x01, 0x8d, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, + 0x01, 0x01, 0xff, 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2a, + 0x30, 0x28, 0x30, 0x26, 0xa0, 0x24, 0xa0, 0x22, 0x86, 0x20, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, + 0x61, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3d, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, + 0x73, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, + 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x34, 0x06, 0x03, + 0x55, 0x1d, 0x25, 0x04, 0x2d, 0x30, 0x2b, 0x06, 0x09, 0x60, 0x86, 0x48, + 0x01, 0x86, 0xf8, 0x42, 0x04, 0x01, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, + 0x86, 0xf8, 0x45, 0x01, 0x08, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x02, 0x30, 0x6d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, 0xa1, 0x5d, 0xa0, 0x5b, 0x30, 0x59, + 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, + 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, 0x1f, 0x30, 0x07, 0x06, 0x05, 0x2b, + 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, 0x8f, 0xe5, 0xd3, 0x1a, 0x86, 0xac, + 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, 0x6a, 0xd4, 0x48, 0x18, 0x2c, 0x7b, + 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, + 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x73, 0x6c, 0x6f, 0x67, + 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, + 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, + 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x0f, 0x25, 0xae, 0x48, 0xed, 0x1b, + 0x33, 0x85, 0x4c, 0x0c, 0xb5, 0xc2, 0xd7, 0xfe, 0x4d, 0xd6, 0x83, 0x28, + 0x4c, 0x41, 0x65, 0x60, 0x00, 0x0b, 0x77, 0x48, 0x71, 0x82, 0xfe, 0x7f, + 0xdb, 0x5a, 0x0e, 0x20, 0xcc, 0xd2, 0xea, 0x47, 0xbc, 0x64, 0x42, 0x61, + 0x44, 0x34, 0x74, 0x30, 0x81, 0x81, 0x26, 0x8a, 0x4a, 0xf7, 0x44, 0x5d, + 0x7e, 0x34, 0x80, 0xa8, 0xb8, 0x83, 0xe2, 0x09, 0xd7, 0x6d, 0x23, 0xdd, + 0x89, 0xed, 0x28, 0x08, 0xbd, 0x63, 0x5a, 0x11, 0x57, 0x08, 0xc4, 0x9e, + 0xda, 0xe2, 0x68, 0x28, 0xaf, 0xdd, 0x50, 0x3c, 0xec, 0x82, 0x21, 0xd8, + 0x00, 0xc2, 0x55, 0x44, 0x50, 0x70, 0x41, 0xad, 0x83, 0x17, 0x79, 0xba, + 0x08, 0xf3, 0x2b, 0xde, 0xed, 0x34, 0x1d, 0x44, 0x9e, 0xd2, 0x04, 0x93, + 0xf4, 0xcb, 0x05, 0x17, 0x2d, 0x09, 0x2d, 0x2d, 0x63, 0xef, 0xf6, 0x26, + 0x0b, 0x7b, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2 + Validity + Not Before: May 3 07:00:00 2011 GMT + Not After : May 3 07:00:00 2031 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b9:e0:cb:10:d4:af:76:bd:d4:93:62:eb:30:64: + b8:81:08:6c:c3:04:d9:62:17:8e:2f:ff:3e:65:cf: + 8f:ce:62:e6:3c:52:1c:da:16:45:4b:55:ab:78:6b: + 63:83:62:90:ce:0f:69:6c:99:c8:1a:14:8b:4c:cc: + 45:33:ea:88:dc:9e:a3:af:2b:fe:80:61:9d:79:57: + c4:cf:2e:f4:3f:30:3c:5d:47:fc:9a:16:bc:c3:37: + 96:41:51:8e:11:4b:54:f8:28:be:d0:8c:be:f0:30: + 38:1e:f3:b0:26:f8:66:47:63:6d:de:71:26:47:8f: + 38:47:53:d1:46:1d:b4:e3:dc:00:ea:45:ac:bd:bc: + 71:d9:aa:6f:00:db:db:cd:30:3a:79:4f:5f:4c:47: + f8:1d:ef:5b:c2:c4:9d:60:3b:b1:b2:43:91:d8:a4: + 33:4e:ea:b3:d6:27:4f:ad:25:8a:a5:c6:f4:d5:d0: + a6:ae:74:05:64:57:88:b5:44:55:d4:2d:2a:3a:3e: + f8:b8:bd:e9:32:0a:02:94:64:c4:16:3a:50:f1:4a: + ae:e7:79:33:af:0c:20:07:7f:e8:df:04:39:c2:69: + 02:6c:63:52:fa:77:c1:1b:c8:74:87:c8:b9:93:18: + 50:54:35:4b:69:4e:bc:3b:d3:49:2e:1f:dc:c1:d2: + 52:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 40:C2:BD:27:8E:CC:34:83:30:A2:33:D7:FB:6C:B3:F0:B4:2C:80:CE + X509v3 Authority Key Identifier: + keyid:3A:9A:85:07:10:67:28:B6:EF:F6:BD:05:41:6E:20:C1:94:DA:0F:DE + + Authority Information Access: + OCSP - URI:http://ocsp.godaddy.com/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.godaddy.com/gdroot-g2.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://certs.godaddy.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + 08:7e:6c:93:10:c8:38:b8:96:a9:90:4b:ff:a1:5f:4f:04:ef: + 6c:3e:9c:88:06:c9:50:8f:a6:73:f7:57:31:1b:be:bc:e4:2f: + db:f8:ba:d3:5b:e0:b4:e7:e6:79:62:0e:0c:a2:d7:6a:63:73: + 31:b5:f5:a8:48:a4:3b:08:2d:a2:5d:90:d7:b4:7c:25:4f:11: + 56:30:c4:b6:44:9d:7b:2c:9d:e5:5e:e6:ef:0c:61:aa:bf:e4: + 2a:1b:ee:84:9e:b8:83:7d:c1:43:ce:44:a7:13:70:0d:91:1f: + f4:c8:13:ad:83:60:d9:d8:72:a8:73:24:1e:b5:ac:22:0e:ca: + 17:89:62:58:44:1b:ab:89:25:01:00:0f:cd:c4:1b:62:db:51: + b4:d3:0f:51:2a:9b:f4:bc:73:fc:76:ce:36:a4:cd:d9:d8:2c: + ea:ae:9b:f5:2a:b2:90:d1:4d:75:18:8a:3f:8a:41:90:23:7d: + 5b:4b:fe:a4:03:58:9b:46:b2:c3:60:60:83:f8:7d:50:41:ce: + c2:a1:90:c3:bb:ef:02:2f:d2:15:54:ee:44:15:d9:0a:ae:a7: + 8a:33:ed:b1:2d:76:36:26:dc:04:eb:9f:f7:61:1f:15:dc:87: + 6f:ee:46:96:28:ad:a1:26:7d:0a:09:a7:2e:04:a3:8d:bc:f8: + bc:04:30:01 +-----BEGIN CERTIFICATE----- +MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3 +MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE +CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD +EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD +BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv +K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e +cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY +pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n +eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB +AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv +9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v +b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n +b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG +CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv +MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz +91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2 +RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi +DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11 +GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x +LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_31[] = { + 0x30, 0x82, 0x04, 0xd0, 0x30, 0x82, 0x03, 0xb8, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x01, 0x07, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, 0x83, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, + 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, + 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, + 0x6c, 0x65, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x11, 0x47, 0x6f, 0x44, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, + 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x28, 0x47, 0x6f, 0x20, 0x44, 0x61, 0x64, 0x64, + 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x31, 0x30, 0x35, 0x30, 0x33, 0x30, 0x37, 0x30, 0x30, 0x30, + 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x35, 0x30, 0x33, 0x30, 0x37, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x81, 0xb4, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, + 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, + 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x47, + 0x6f, 0x44, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, + 0x72, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2f, 0x31, 0x33, 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x2a, 0x47, 0x6f, 0x20, 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xb9, 0xe0, 0xcb, 0x10, 0xd4, 0xaf, 0x76, + 0xbd, 0xd4, 0x93, 0x62, 0xeb, 0x30, 0x64, 0xb8, 0x81, 0x08, 0x6c, 0xc3, + 0x04, 0xd9, 0x62, 0x17, 0x8e, 0x2f, 0xff, 0x3e, 0x65, 0xcf, 0x8f, 0xce, + 0x62, 0xe6, 0x3c, 0x52, 0x1c, 0xda, 0x16, 0x45, 0x4b, 0x55, 0xab, 0x78, + 0x6b, 0x63, 0x83, 0x62, 0x90, 0xce, 0x0f, 0x69, 0x6c, 0x99, 0xc8, 0x1a, + 0x14, 0x8b, 0x4c, 0xcc, 0x45, 0x33, 0xea, 0x88, 0xdc, 0x9e, 0xa3, 0xaf, + 0x2b, 0xfe, 0x80, 0x61, 0x9d, 0x79, 0x57, 0xc4, 0xcf, 0x2e, 0xf4, 0x3f, + 0x30, 0x3c, 0x5d, 0x47, 0xfc, 0x9a, 0x16, 0xbc, 0xc3, 0x37, 0x96, 0x41, + 0x51, 0x8e, 0x11, 0x4b, 0x54, 0xf8, 0x28, 0xbe, 0xd0, 0x8c, 0xbe, 0xf0, + 0x30, 0x38, 0x1e, 0xf3, 0xb0, 0x26, 0xf8, 0x66, 0x47, 0x63, 0x6d, 0xde, + 0x71, 0x26, 0x47, 0x8f, 0x38, 0x47, 0x53, 0xd1, 0x46, 0x1d, 0xb4, 0xe3, + 0xdc, 0x00, 0xea, 0x45, 0xac, 0xbd, 0xbc, 0x71, 0xd9, 0xaa, 0x6f, 0x00, + 0xdb, 0xdb, 0xcd, 0x30, 0x3a, 0x79, 0x4f, 0x5f, 0x4c, 0x47, 0xf8, 0x1d, + 0xef, 0x5b, 0xc2, 0xc4, 0x9d, 0x60, 0x3b, 0xb1, 0xb2, 0x43, 0x91, 0xd8, + 0xa4, 0x33, 0x4e, 0xea, 0xb3, 0xd6, 0x27, 0x4f, 0xad, 0x25, 0x8a, 0xa5, + 0xc6, 0xf4, 0xd5, 0xd0, 0xa6, 0xae, 0x74, 0x05, 0x64, 0x57, 0x88, 0xb5, + 0x44, 0x55, 0xd4, 0x2d, 0x2a, 0x3a, 0x3e, 0xf8, 0xb8, 0xbd, 0xe9, 0x32, + 0x0a, 0x02, 0x94, 0x64, 0xc4, 0x16, 0x3a, 0x50, 0xf1, 0x4a, 0xae, 0xe7, + 0x79, 0x33, 0xaf, 0x0c, 0x20, 0x07, 0x7f, 0xe8, 0xdf, 0x04, 0x39, 0xc2, + 0x69, 0x02, 0x6c, 0x63, 0x52, 0xfa, 0x77, 0xc1, 0x1b, 0xc8, 0x74, 0x87, + 0xc8, 0xb9, 0x93, 0x18, 0x50, 0x54, 0x35, 0x4b, 0x69, 0x4e, 0xbc, 0x3b, + 0xd3, 0x49, 0x2e, 0x1f, 0xdc, 0xc1, 0xd2, 0x52, 0xfb, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x1a, 0x30, 0x82, 0x01, 0x16, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, + 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x40, 0xc2, 0xbd, 0x27, 0x8e, 0xcc, + 0x34, 0x83, 0x30, 0xa2, 0x33, 0xd7, 0xfb, 0x6c, 0xb3, 0xf0, 0xb4, 0x2c, + 0x80, 0xce, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x3a, 0x9a, 0x85, 0x07, 0x10, 0x67, 0x28, 0xb6, 0xef, + 0xf6, 0xbd, 0x05, 0x41, 0x6e, 0x20, 0xc1, 0x94, 0xda, 0x0f, 0xde, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x35, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, 0x26, 0x86, 0x24, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x67, + 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x64, 0x72, 0x6f, 0x6f, 0x74, 0x2d, 0x67, 0x32, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x46, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3f, 0x30, 0x3d, 0x30, + 0x3b, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x33, 0x30, 0x31, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, + 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x08, 0x7e, 0x6c, 0x93, + 0x10, 0xc8, 0x38, 0xb8, 0x96, 0xa9, 0x90, 0x4b, 0xff, 0xa1, 0x5f, 0x4f, + 0x04, 0xef, 0x6c, 0x3e, 0x9c, 0x88, 0x06, 0xc9, 0x50, 0x8f, 0xa6, 0x73, + 0xf7, 0x57, 0x31, 0x1b, 0xbe, 0xbc, 0xe4, 0x2f, 0xdb, 0xf8, 0xba, 0xd3, + 0x5b, 0xe0, 0xb4, 0xe7, 0xe6, 0x79, 0x62, 0x0e, 0x0c, 0xa2, 0xd7, 0x6a, + 0x63, 0x73, 0x31, 0xb5, 0xf5, 0xa8, 0x48, 0xa4, 0x3b, 0x08, 0x2d, 0xa2, + 0x5d, 0x90, 0xd7, 0xb4, 0x7c, 0x25, 0x4f, 0x11, 0x56, 0x30, 0xc4, 0xb6, + 0x44, 0x9d, 0x7b, 0x2c, 0x9d, 0xe5, 0x5e, 0xe6, 0xef, 0x0c, 0x61, 0xaa, + 0xbf, 0xe4, 0x2a, 0x1b, 0xee, 0x84, 0x9e, 0xb8, 0x83, 0x7d, 0xc1, 0x43, + 0xce, 0x44, 0xa7, 0x13, 0x70, 0x0d, 0x91, 0x1f, 0xf4, 0xc8, 0x13, 0xad, + 0x83, 0x60, 0xd9, 0xd8, 0x72, 0xa8, 0x73, 0x24, 0x1e, 0xb5, 0xac, 0x22, + 0x0e, 0xca, 0x17, 0x89, 0x62, 0x58, 0x44, 0x1b, 0xab, 0x89, 0x25, 0x01, + 0x00, 0x0f, 0xcd, 0xc4, 0x1b, 0x62, 0xdb, 0x51, 0xb4, 0xd3, 0x0f, 0x51, + 0x2a, 0x9b, 0xf4, 0xbc, 0x73, 0xfc, 0x76, 0xce, 0x36, 0xa4, 0xcd, 0xd9, + 0xd8, 0x2c, 0xea, 0xae, 0x9b, 0xf5, 0x2a, 0xb2, 0x90, 0xd1, 0x4d, 0x75, + 0x18, 0x8a, 0x3f, 0x8a, 0x41, 0x90, 0x23, 0x7d, 0x5b, 0x4b, 0xfe, 0xa4, + 0x03, 0x58, 0x9b, 0x46, 0xb2, 0xc3, 0x60, 0x60, 0x83, 0xf8, 0x7d, 0x50, + 0x41, 0xce, 0xc2, 0xa1, 0x90, 0xc3, 0xbb, 0xef, 0x02, 0x2f, 0xd2, 0x15, + 0x54, 0xee, 0x44, 0x15, 0xd9, 0x0a, 0xae, 0xa7, 0x8a, 0x33, 0xed, 0xb1, + 0x2d, 0x76, 0x36, 0x26, 0xdc, 0x04, 0xeb, 0x9f, 0xf7, 0x61, 0x1f, 0x15, + 0xdc, 0x87, 0x6f, 0xee, 0x46, 0x96, 0x28, 0xad, 0xa1, 0x26, 0x7d, 0x0a, + 0x09, 0xa7, 0x2e, 0x04, 0xa3, 0x8d, 0xbc, 0xf8, 0xbc, 0x04, 0x30, 0x01, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 0a:48:9e:88:53:7e:8a:a6:45:4d:6e:2c:4b:2a:eb:20 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3 + Validity + Not Before: Apr 9 00:00:00 2013 GMT + Not After : Apr 8 23:59:59 2023 GMT + Subject: C=US, O=thawte, Inc., CN=thawte Extended Validation SHA256 SSL CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:f2:c4:bc:74:e8:25:f6:00:62:28:e3:4c:e8:b8: + df:13:9f:8b:07:37:ef:62:4a:f1:57:09:f6:82:e8: + 75:f0:0a:a9:27:cf:93:3b:ec:36:89:a5:6e:1d:d6: + 54:f3:b8:04:97:72:b4:69:25:cc:d1:42:0e:5b:d5: + 1c:7f:a2:60:6e:b1:52:1a:db:93:2f:bb:0b:0d:64: + 53:16:cb:1c:09:24:95:29:22:b4:8a:18:00:89:fe: + f7:1f:72:c8:e8:5c:2f:1a:1b:a2:18:b8:ef:18:5c: + cb:b5:db:3a:4e:db:0f:ae:df:c4:79:e3:1e:aa:5c: + a3:a4:e5:ac:61:9b:37:85:8f:48:75:1b:b9:d5:68: + 96:e9:27:79:70:57:23:1a:bb:6c:93:90:c7:45:d7: + 17:d2:37:2a:76:b3:cd:82:a9:4f:c0:03:7b:e1:3d: + 7a:7e:5b:b8:85:f2:f5:15:fb:70:a9:bd:f5:50:65: + 16:9d:e3:b6:6b:61:6e:a1:7a:9e:e8:0d:1c:f7:2a: + 8e:69:7e:43:30:8e:78:ce:ee:65:1e:3b:9b:87:1e: + 49:1c:f8:32:46:5d:28:46:79:2a:4e:27:5d:17:58: + a8:37:fe:a8:13:a9:69:15:df:36:22:89:75:ba:ca: + 01:40:2e:ed:9d:d7:0c:aa:31:ce:27:ae:57:d5:d2: + 51:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://ocsp.thawte.com + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.thawte.com/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.thawte.com/ThawtePCA-G3.crl + + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-374 + X509v3 Subject Key Identifier: + 3B:24:C8:31:A0:B7:5A:D0:6A:B8:D2:CA:07:74:CC:1E:24:D4:C4:DC + X509v3 Authority Key Identifier: + keyid:AD:6C:AA:94:60:9C:ED:E4:FF:FA:3E:0A:74:2B:63:03:F7:B6:59:BF + + Signature Algorithm: sha256WithRSAEncryption + 68:98:26:aa:d4:33:c9:ba:75:70:d4:9f:49:ad:d6:c1:54:dc: + ee:aa:56:1f:78:a7:f0:a1:a4:ee:0b:f9:12:af:df:a6:b8:ee: + c3:cb:35:13:6a:59:2a:f8:c9:e9:4c:2f:bc:b1:bc:2b:c2:02: + 30:e1:c3:be:c2:f0:81:8c:99:77:89:58:00:a3:cc:7f:a3:02: + 4c:53:b2:6e:36:4f:fe:df:87:76:b3:3f:ec:5a:62:50:b6:00: + 45:58:f2:87:ac:77:e6:d0:20:50:63:c5:e4:b2:70:15:18:90: + 05:7b:7b:af:2b:46:be:6b:4e:1f:53:fc:84:27:ae:83:d2:8d: + 47:53:a7:0e:1f:63:b5:ba:db:16:d8:6a:09:25:55:7d:8f:3d: + 4a:c1:83:f9:b3:b9:a7:04:5a:c8:f3:11:04:91:53:30:d9:52: + 87:cb:39:00:9c:ec:53:c3:02:09:7e:a7:36:8e:72:21:2f:23: + bb:4c:c6:47:a5:a1:ee:67:c4:2f:5c:3a:47:38:61:e2:c3:1e: + 37:92:9e:c8:2f:6b:fa:ef:d2:c3:cd:29:8d:98:f8:52:17:ed: + b5:53:3c:df:af:c9:1b:62:ad:df:02:ee:5d:34:f6:41:4b:cb: + c3:55:af:b1:cb:da:9c:73:d5:02:a8:2d:a7:ac:fc:e1:e5:07: + d0:51:e8:35 +-----BEGIN CERTIFICATE----- +MIIE0DCCA7igAwIBAgIQCkieiFN+iqZFTW4sSyrrIDANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0xMzA0MDkwMDAwMDBa +Fw0yMzA0MDgyMzU5NTlaMFcxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUs +IEluYy4xMTAvBgNVBAMTKHRoYXd0ZSBFeHRlbmRlZCBWYWxpZGF0aW9uIFNIQTI1 +NiBTU0wgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDyxLx06CX2 +AGIo40zouN8Tn4sHN+9iSvFXCfaC6HXwCqknz5M77DaJpW4d1lTzuASXcrRpJczR +Qg5b1Rx/omBusVIa25MvuwsNZFMWyxwJJJUpIrSKGACJ/vcfcsjoXC8aG6IYuO8Y +XMu12zpO2w+u38R54x6qXKOk5axhmzeFj0h1G7nVaJbpJ3lwVyMau2yTkMdF1xfS +Nyp2s82CqU/AA3vhPXp+W7iF8vUV+3CpvfVQZRad47ZrYW6hep7oDRz3Ko5pfkMw +jnjO7mUeO5uHHkkc+DJGXShGeSpOJ10XWKg3/qgTqWkV3zYiiXW6ygFALu2d1wyq +Mc4nrlfV0lH7AgMBAAGjggE+MIIBOjASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud +DwEB/wQEAwIBBjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9v +Y3NwLnRoYXd0ZS5jb20wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEW +Gmh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vY3BzMDcGA1UdHwQwMC4wLKAqoCiGJmh0 +dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQQ0EtRzMuY3JsMCoGA1UdEQQjMCGk +HzAdMRswGQYDVQQDExJWZXJpU2lnbk1QS0ktMi0zNzQwHQYDVR0OBBYEFDskyDGg +t1rQarjSygd0zB4k1MTcMB8GA1UdIwQYMBaAFK1sqpRgnO3k//o+CnQrYwP3tlm/ +MA0GCSqGSIb3DQEBCwUAA4IBAQBomCaq1DPJunVw1J9JrdbBVNzuqlYfeKfwoaTu +C/kSr9+muO7DyzUTalkq+MnpTC+8sbwrwgIw4cO+wvCBjJl3iVgAo8x/owJMU7Ju +Nk/+34d2sz/sWmJQtgBFWPKHrHfm0CBQY8XksnAVGJAFe3uvK0a+a04fU/yEJ66D +0o1HU6cOH2O1utsW2GoJJVV9jz1KwYP5s7mnBFrI8xEEkVMw2VKHyzkAnOxTwwIJ +fqc2jnIhLyO7TMZHpaHuZ8QvXDpHOGHiwx43kp7IL2v679LDzSmNmPhSF+21Uzzf +r8kbYq3fAu5dNPZBS8vDVa+xy9qcc9UCqC2nrPzh5QfQUeg1 +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_32[] = { + 0x30, 0x82, 0x04, 0xd0, 0x30, 0x82, 0x03, 0xb8, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x0a, 0x48, 0x9e, 0x88, 0x53, 0x7e, 0x8a, 0xa6, 0x45, + 0x4d, 0x6e, 0x2c, 0x4b, 0x2a, 0xeb, 0x20, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xae, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x38, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x1b, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x33, 0x30, 0x34, 0x30, 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, + 0x17, 0x0d, 0x32, 0x33, 0x30, 0x34, 0x30, 0x38, 0x32, 0x33, 0x35, 0x39, + 0x35, 0x39, 0x5a, 0x30, 0x57, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, + 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, + 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x28, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, + 0x36, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xf2, 0xc4, 0xbc, 0x74, 0xe8, 0x25, 0xf6, + 0x00, 0x62, 0x28, 0xe3, 0x4c, 0xe8, 0xb8, 0xdf, 0x13, 0x9f, 0x8b, 0x07, + 0x37, 0xef, 0x62, 0x4a, 0xf1, 0x57, 0x09, 0xf6, 0x82, 0xe8, 0x75, 0xf0, + 0x0a, 0xa9, 0x27, 0xcf, 0x93, 0x3b, 0xec, 0x36, 0x89, 0xa5, 0x6e, 0x1d, + 0xd6, 0x54, 0xf3, 0xb8, 0x04, 0x97, 0x72, 0xb4, 0x69, 0x25, 0xcc, 0xd1, + 0x42, 0x0e, 0x5b, 0xd5, 0x1c, 0x7f, 0xa2, 0x60, 0x6e, 0xb1, 0x52, 0x1a, + 0xdb, 0x93, 0x2f, 0xbb, 0x0b, 0x0d, 0x64, 0x53, 0x16, 0xcb, 0x1c, 0x09, + 0x24, 0x95, 0x29, 0x22, 0xb4, 0x8a, 0x18, 0x00, 0x89, 0xfe, 0xf7, 0x1f, + 0x72, 0xc8, 0xe8, 0x5c, 0x2f, 0x1a, 0x1b, 0xa2, 0x18, 0xb8, 0xef, 0x18, + 0x5c, 0xcb, 0xb5, 0xdb, 0x3a, 0x4e, 0xdb, 0x0f, 0xae, 0xdf, 0xc4, 0x79, + 0xe3, 0x1e, 0xaa, 0x5c, 0xa3, 0xa4, 0xe5, 0xac, 0x61, 0x9b, 0x37, 0x85, + 0x8f, 0x48, 0x75, 0x1b, 0xb9, 0xd5, 0x68, 0x96, 0xe9, 0x27, 0x79, 0x70, + 0x57, 0x23, 0x1a, 0xbb, 0x6c, 0x93, 0x90, 0xc7, 0x45, 0xd7, 0x17, 0xd2, + 0x37, 0x2a, 0x76, 0xb3, 0xcd, 0x82, 0xa9, 0x4f, 0xc0, 0x03, 0x7b, 0xe1, + 0x3d, 0x7a, 0x7e, 0x5b, 0xb8, 0x85, 0xf2, 0xf5, 0x15, 0xfb, 0x70, 0xa9, + 0xbd, 0xf5, 0x50, 0x65, 0x16, 0x9d, 0xe3, 0xb6, 0x6b, 0x61, 0x6e, 0xa1, + 0x7a, 0x9e, 0xe8, 0x0d, 0x1c, 0xf7, 0x2a, 0x8e, 0x69, 0x7e, 0x43, 0x30, + 0x8e, 0x78, 0xce, 0xee, 0x65, 0x1e, 0x3b, 0x9b, 0x87, 0x1e, 0x49, 0x1c, + 0xf8, 0x32, 0x46, 0x5d, 0x28, 0x46, 0x79, 0x2a, 0x4e, 0x27, 0x5d, 0x17, + 0x58, 0xa8, 0x37, 0xfe, 0xa8, 0x13, 0xa9, 0x69, 0x15, 0xdf, 0x36, 0x22, + 0x89, 0x75, 0xba, 0xca, 0x01, 0x40, 0x2e, 0xed, 0x9d, 0xd7, 0x0c, 0xaa, + 0x31, 0xce, 0x27, 0xae, 0x57, 0xd5, 0xd2, 0x51, 0xfb, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x3e, 0x30, 0x82, 0x01, 0x3a, 0x30, 0x12, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, + 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x32, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x26, + 0x30, 0x24, 0x30, 0x22, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x16, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, + 0x63, 0x73, 0x70, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x30, 0x3b, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x34, 0x30, + 0x32, 0x30, 0x30, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x28, 0x30, + 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, + 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x70, 0x73, 0x30, 0x37, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x30, + 0x30, 0x2e, 0x30, 0x2c, 0xa0, 0x2a, 0xa0, 0x28, 0x86, 0x26, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x74, 0x68, 0x61, + 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, + 0x74, 0x65, 0x50, 0x43, 0x41, 0x2d, 0x47, 0x33, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x2a, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x23, 0x30, 0x21, 0xa4, + 0x1f, 0x30, 0x1d, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x12, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x50, + 0x4b, 0x49, 0x2d, 0x32, 0x2d, 0x33, 0x37, 0x34, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x3b, 0x24, 0xc8, 0x31, 0xa0, + 0xb7, 0x5a, 0xd0, 0x6a, 0xb8, 0xd2, 0xca, 0x07, 0x74, 0xcc, 0x1e, 0x24, + 0xd4, 0xc4, 0xdc, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, + 0x30, 0x16, 0x80, 0x14, 0xad, 0x6c, 0xaa, 0x94, 0x60, 0x9c, 0xed, 0xe4, + 0xff, 0xfa, 0x3e, 0x0a, 0x74, 0x2b, 0x63, 0x03, 0xf7, 0xb6, 0x59, 0xbf, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x68, 0x98, 0x26, 0xaa, + 0xd4, 0x33, 0xc9, 0xba, 0x75, 0x70, 0xd4, 0x9f, 0x49, 0xad, 0xd6, 0xc1, + 0x54, 0xdc, 0xee, 0xaa, 0x56, 0x1f, 0x78, 0xa7, 0xf0, 0xa1, 0xa4, 0xee, + 0x0b, 0xf9, 0x12, 0xaf, 0xdf, 0xa6, 0xb8, 0xee, 0xc3, 0xcb, 0x35, 0x13, + 0x6a, 0x59, 0x2a, 0xf8, 0xc9, 0xe9, 0x4c, 0x2f, 0xbc, 0xb1, 0xbc, 0x2b, + 0xc2, 0x02, 0x30, 0xe1, 0xc3, 0xbe, 0xc2, 0xf0, 0x81, 0x8c, 0x99, 0x77, + 0x89, 0x58, 0x00, 0xa3, 0xcc, 0x7f, 0xa3, 0x02, 0x4c, 0x53, 0xb2, 0x6e, + 0x36, 0x4f, 0xfe, 0xdf, 0x87, 0x76, 0xb3, 0x3f, 0xec, 0x5a, 0x62, 0x50, + 0xb6, 0x00, 0x45, 0x58, 0xf2, 0x87, 0xac, 0x77, 0xe6, 0xd0, 0x20, 0x50, + 0x63, 0xc5, 0xe4, 0xb2, 0x70, 0x15, 0x18, 0x90, 0x05, 0x7b, 0x7b, 0xaf, + 0x2b, 0x46, 0xbe, 0x6b, 0x4e, 0x1f, 0x53, 0xfc, 0x84, 0x27, 0xae, 0x83, + 0xd2, 0x8d, 0x47, 0x53, 0xa7, 0x0e, 0x1f, 0x63, 0xb5, 0xba, 0xdb, 0x16, + 0xd8, 0x6a, 0x09, 0x25, 0x55, 0x7d, 0x8f, 0x3d, 0x4a, 0xc1, 0x83, 0xf9, + 0xb3, 0xb9, 0xa7, 0x04, 0x5a, 0xc8, 0xf3, 0x11, 0x04, 0x91, 0x53, 0x30, + 0xd9, 0x52, 0x87, 0xcb, 0x39, 0x00, 0x9c, 0xec, 0x53, 0xc3, 0x02, 0x09, + 0x7e, 0xa7, 0x36, 0x8e, 0x72, 0x21, 0x2f, 0x23, 0xbb, 0x4c, 0xc6, 0x47, + 0xa5, 0xa1, 0xee, 0x67, 0xc4, 0x2f, 0x5c, 0x3a, 0x47, 0x38, 0x61, 0xe2, + 0xc3, 0x1e, 0x37, 0x92, 0x9e, 0xc8, 0x2f, 0x6b, 0xfa, 0xef, 0xd2, 0xc3, + 0xcd, 0x29, 0x8d, 0x98, 0xf8, 0x52, 0x17, 0xed, 0xb5, 0x53, 0x3c, 0xdf, + 0xaf, 0xc9, 0x1b, 0x62, 0xad, 0xdf, 0x02, 0xee, 0x5d, 0x34, 0xf6, 0x41, + 0x4b, 0xcb, 0xc3, 0x55, 0xaf, 0xb1, 0xcb, 0xda, 0x9c, 0x73, 0xd5, 0x02, + 0xa8, 0x2d, 0xa7, 0xac, 0xfc, 0xe1, 0xe5, 0x07, 0xd0, 0x51, 0xe8, 0x35, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 25:0c:e8:e0:30:61:2e:9f:2b:89:f7:05:4d:7c:f8:fd + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority + Validity + Not Before: Nov 8 00:00:00 2006 GMT + Not After : Nov 7 23:59:59 2021 GMT + Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:24:08:08:29:7a:35:9e:60:0c:aa:e7:4b:3b: + 4e:dc:7c:bc:3c:45:1c:bb:2b:e0:fe:29:02:f9:57: + 08:a3:64:85:15:27:f5:f1:ad:c8:31:89:5d:22:e8: + 2a:aa:a6:42:b3:8f:f8:b9:55:b7:b1:b7:4b:b3:fe: + 8f:7e:07:57:ec:ef:43:db:66:62:15:61:cf:60:0d: + a4:d8:de:f8:e0:c3:62:08:3d:54:13:eb:49:ca:59: + 54:85:26:e5:2b:8f:1b:9f:eb:f5:a1:91:c2:33:49: + d8:43:63:6a:52:4b:d2:8f:e8:70:51:4d:d1:89:69: + 7b:c7:70:f6:b3:dc:12:74:db:7b:5d:4b:56:d3:96: + bf:15:77:a1:b0:f4:a2:25:f2:af:1c:92:67:18:e5: + f4:06:04:ef:90:b9:e4:00:e4:dd:3a:b5:19:ff:02: + ba:f4:3c:ee:e0:8b:eb:37:8b:ec:f4:d7:ac:f2:f6: + f0:3d:af:dd:75:91:33:19:1d:1c:40:cb:74:24:19: + 21:93:d9:14:fe:ac:2a:52:c7:8f:d5:04:49:e4:8d: + 63:47:88:3c:69:83:cb:fe:47:bd:2b:7e:4f:c5:95: + ae:0e:9d:d4:d1:43:c0:67:73:e3:14:08:7e:e5:3f: + 9f:73:b8:33:0a:cf:5d:3f:34:87:96:8a:ee:53:e8: + 25:15 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.verisign.com/pca3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.verisign.com/cps + + X509v3 Subject Key Identifier: + 7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + 1.3.6.1.5.5.7.1.12: + 0_.].[0Y0W0U..image/gif0!0.0...+..............k...j.H.,{..0%.#http://logo.verisign.com/vslogo.gif + Authority Information Access: + OCSP - URI:http://ocsp.verisign.com + + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, Netscape Server Gated Crypto, 2.16.840.1.113733.1.8.1 + Signature Algorithm: sha1WithRSAEncryption + 13:02:dd:f8:e8:86:00:f2:5a:f8:f8:20:0c:59:88:62:07:ce: + ce:f7:4e:f9:bb:59:a1:98:e5:e1:38:dd:4e:bc:66:18:d3:ad: + eb:18:f2:0d:c9:6d:3e:4a:94:20:c3:3c:ba:bd:65:54:c6:af: + 44:b3:10:ad:2c:6b:3e:ab:d7:07:b6:b8:81:63:c5:f9:5e:2e: + e5:2a:67:ce:cd:33:0c:2a:d7:89:56:03:23:1f:b3:be:e8:3a: + 08:59:b4:ec:45:35:f7:8a:5b:ff:66:cf:50:af:c6:6d:57:8d: + 19:78:b7:b9:a2:d1:57:ea:1f:9a:4b:af:ba:c9:8e:12:7e:c6: + bd:ff +-----BEGIN CERTIFICATE----- +MIIE0DCCBDmgAwIBAgIQJQzo4DBhLp8rifcFTXz4/TANBgkqhkiG9w0BAQUFADBf +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT +LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw +HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv +ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8 +RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb +ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR +TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH +iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB +AAGjggGbMIIBlzAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0 +dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9 +BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy +aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwbQYI +KwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQU +j+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24uY29t +L3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v +b2NzcC52ZXJpc2lnbi5jb20wPgYDVR0lBDcwNQYIKwYBBQUHAwEGCCsGAQUFBwMC +BggrBgEFBQcDAwYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMA0GCSqGSIb3DQEBBQUA +A4GBABMC3fjohgDyWvj4IAxZiGIHzs73Tvm7WaGY5eE43U68ZhjTresY8g3JbT5K +lCDDPLq9ZVTGr0SzEK0saz6r1we2uIFjxfleLuUqZ87NMwwq14lWAyMfs77oOghZ +tOxFNfeKW/9mz1Cvxm1XjRl4t7mi0VfqH5pLr7rJjhJ+xr3/ +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_33[] = { + 0x30, 0x82, 0x04, 0xd0, 0x30, 0x82, 0x04, 0x39, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x25, 0x0c, 0xe8, 0xe0, 0x30, 0x61, 0x2e, 0x9f, 0x2b, + 0x89, 0xf7, 0x05, 0x4d, 0x7c, 0xf8, 0xfd, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x5f, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x37, 0x30, 0x35, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, + 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x31, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x31, 0x31, 0x31, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xca, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3a, 0x30, + 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, 0x63, 0x29, 0x20, + 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, + 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x45, 0x30, + 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, + 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xaf, 0x24, 0x08, 0x08, 0x29, 0x7a, 0x35, + 0x9e, 0x60, 0x0c, 0xaa, 0xe7, 0x4b, 0x3b, 0x4e, 0xdc, 0x7c, 0xbc, 0x3c, + 0x45, 0x1c, 0xbb, 0x2b, 0xe0, 0xfe, 0x29, 0x02, 0xf9, 0x57, 0x08, 0xa3, + 0x64, 0x85, 0x15, 0x27, 0xf5, 0xf1, 0xad, 0xc8, 0x31, 0x89, 0x5d, 0x22, + 0xe8, 0x2a, 0xaa, 0xa6, 0x42, 0xb3, 0x8f, 0xf8, 0xb9, 0x55, 0xb7, 0xb1, + 0xb7, 0x4b, 0xb3, 0xfe, 0x8f, 0x7e, 0x07, 0x57, 0xec, 0xef, 0x43, 0xdb, + 0x66, 0x62, 0x15, 0x61, 0xcf, 0x60, 0x0d, 0xa4, 0xd8, 0xde, 0xf8, 0xe0, + 0xc3, 0x62, 0x08, 0x3d, 0x54, 0x13, 0xeb, 0x49, 0xca, 0x59, 0x54, 0x85, + 0x26, 0xe5, 0x2b, 0x8f, 0x1b, 0x9f, 0xeb, 0xf5, 0xa1, 0x91, 0xc2, 0x33, + 0x49, 0xd8, 0x43, 0x63, 0x6a, 0x52, 0x4b, 0xd2, 0x8f, 0xe8, 0x70, 0x51, + 0x4d, 0xd1, 0x89, 0x69, 0x7b, 0xc7, 0x70, 0xf6, 0xb3, 0xdc, 0x12, 0x74, + 0xdb, 0x7b, 0x5d, 0x4b, 0x56, 0xd3, 0x96, 0xbf, 0x15, 0x77, 0xa1, 0xb0, + 0xf4, 0xa2, 0x25, 0xf2, 0xaf, 0x1c, 0x92, 0x67, 0x18, 0xe5, 0xf4, 0x06, + 0x04, 0xef, 0x90, 0xb9, 0xe4, 0x00, 0xe4, 0xdd, 0x3a, 0xb5, 0x19, 0xff, + 0x02, 0xba, 0xf4, 0x3c, 0xee, 0xe0, 0x8b, 0xeb, 0x37, 0x8b, 0xec, 0xf4, + 0xd7, 0xac, 0xf2, 0xf6, 0xf0, 0x3d, 0xaf, 0xdd, 0x75, 0x91, 0x33, 0x19, + 0x1d, 0x1c, 0x40, 0xcb, 0x74, 0x24, 0x19, 0x21, 0x93, 0xd9, 0x14, 0xfe, + 0xac, 0x2a, 0x52, 0xc7, 0x8f, 0xd5, 0x04, 0x49, 0xe4, 0x8d, 0x63, 0x47, + 0x88, 0x3c, 0x69, 0x83, 0xcb, 0xfe, 0x47, 0xbd, 0x2b, 0x7e, 0x4f, 0xc5, + 0x95, 0xae, 0x0e, 0x9d, 0xd4, 0xd1, 0x43, 0xc0, 0x67, 0x73, 0xe3, 0x14, + 0x08, 0x7e, 0xe5, 0x3f, 0x9f, 0x73, 0xb8, 0x33, 0x0a, 0xcf, 0x5d, 0x3f, + 0x34, 0x87, 0x96, 0x8a, 0xee, 0x53, 0xe8, 0x25, 0x15, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x9b, 0x30, 0x82, 0x01, 0x97, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, + 0x01, 0x01, 0xff, 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2a, + 0x30, 0x28, 0x30, 0x26, 0xa0, 0x24, 0xa0, 0x22, 0x86, 0x20, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, + 0x61, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3d, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, + 0x73, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, + 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x6d, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, + 0xa1, 0x5d, 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, + 0x1f, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, + 0x8f, 0xe5, 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, + 0x6a, 0xd4, 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x76, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, + 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x3e, 0x06, 0x03, 0x55, 0x1d, 0x25, + 0x04, 0x37, 0x30, 0x35, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x06, 0x09, + 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x04, 0x01, 0x06, 0x0a, 0x60, + 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x08, 0x01, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, + 0x03, 0x81, 0x81, 0x00, 0x13, 0x02, 0xdd, 0xf8, 0xe8, 0x86, 0x00, 0xf2, + 0x5a, 0xf8, 0xf8, 0x20, 0x0c, 0x59, 0x88, 0x62, 0x07, 0xce, 0xce, 0xf7, + 0x4e, 0xf9, 0xbb, 0x59, 0xa1, 0x98, 0xe5, 0xe1, 0x38, 0xdd, 0x4e, 0xbc, + 0x66, 0x18, 0xd3, 0xad, 0xeb, 0x18, 0xf2, 0x0d, 0xc9, 0x6d, 0x3e, 0x4a, + 0x94, 0x20, 0xc3, 0x3c, 0xba, 0xbd, 0x65, 0x54, 0xc6, 0xaf, 0x44, 0xb3, + 0x10, 0xad, 0x2c, 0x6b, 0x3e, 0xab, 0xd7, 0x07, 0xb6, 0xb8, 0x81, 0x63, + 0xc5, 0xf9, 0x5e, 0x2e, 0xe5, 0x2a, 0x67, 0xce, 0xcd, 0x33, 0x0c, 0x2a, + 0xd7, 0x89, 0x56, 0x03, 0x23, 0x1f, 0xb3, 0xbe, 0xe8, 0x3a, 0x08, 0x59, + 0xb4, 0xec, 0x45, 0x35, 0xf7, 0x8a, 0x5b, 0xff, 0x66, 0xcf, 0x50, 0xaf, + 0xc6, 0x6d, 0x57, 0x8d, 0x19, 0x78, 0xb7, 0xb9, 0xa2, 0xd1, 0x57, 0xea, + 0x1f, 0x9a, 0x4b, 0xaf, 0xba, 0xc9, 0x8e, 0x12, 0x7e, 0xc6, 0xbd, 0xff, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 2c:69:e1:2f:6a:67:0b:d9:9d:d2:0f:91:9e:f0:9e:51 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Validity + Not Before: Jun 10 00:00:00 2014 GMT + Not After : Jun 9 23:59:59 2024 GMT + Subject: C=US, O=thawte, Inc., OU=Domain Validated SSL, CN=thawte DV SSL CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ea:94:07:85:c8:41:2c:f6:83:12:6c:92:5f:ab: + 1f:00:d4:96:6f:74:cd:2e:11:e9:6c:0f:39:01:b9: + 48:90:40:39:4d:c4:a2:c8:79:6a:a5:9a:bd:91:44: + 65:77:54:ad:ff:25:5f:ee:42:fb:b3:02:0f:ea:5d: + 7a:dd:1a:54:9e:d7:73:42:9b:cc:79:5f:c5:4d:f4: + b7:0b:18:39:20:7a:dd:50:01:5d:34:45:5f:4c:11: + 0e:f5:87:26:26:b4:b0:f3:7e:71:a0:31:71:50:89: + 68:5a:63:8a:14:62:e5:8c:3a:16:55:0d:3e:eb:aa: + 80:1d:71:7a:e3:87:07:ab:bd:a2:74:cd:da:08:01: + 9d:1b:cc:27:88:8c:47:d4:69:25:42:d6:bb:50:6d: + 85:50:d0:48:82:0d:08:9f:e9:23:e3:42:c6:3c:98: + b8:bb:6e:c5:70:13:df:19:1d:01:fd:d2:b5:4e:e6: + 62:f4:07:fa:6b:7d:11:77:c4:62:4f:40:4e:a5:78: + 97:ab:2c:4d:0c:a7:7c:c3:c4:50:32:9f:d0:70:9b: + 0f:ff:ff:75:59:34:85:ad:49:d5:35:ee:4f:5b:d4: + d4:36:95:a0:7e:e8:c5:a1:1c:bd:13:4e:7d:ee:63: + 6a:96:19:99:c8:a7:2a:00:e6:51:8d:46:eb:30:58: + e8:2d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: https://www.thawte.com/cps + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://t.symcd.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://t.symcb.com/ThawtePCA.crl + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-698 + X509v3 Subject Key Identifier: + 9F:B8:C1:A9:6C:F2:F5:C0:22:2A:94:ED:5C:99:AC:D4:EC:D7:C6:07 + X509v3 Authority Key Identifier: + keyid:7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + + Signature Algorithm: sha256WithRSAEncryption + 53:54:f2:47:a8:02:d7:ef:aa:35:78:be:4a:08:0d:90:18:4b: + 6d:9e:2a:53:2b:e9:54:17:77:74:29:7e:d0:37:07:05:b8:e4: + fa:b8:b4:63:98:44:dc:c6:4f:81:06:8c:3a:be:c7:30:57:c6: + 70:fc:d6:93:19:9f:c3:55:d7:3e:1f:72:8a:9d:30:5a:35:97: + 32:cb:63:e4:c6:72:df:fb:68:ca:69:2f:db:cd:50:38:3e:2b: + bb:ab:3b:82:c7:fd:4b:9b:bd:7c:41:98:ef:01:53:d8:35:8f: + 25:c9:03:06:e6:9c:57:c1:51:0f:9e:f6:7d:93:4d:f8:76:c8: + 3a:6b:f4:c4:8f:33:32:7f:9d:21:84:34:d9:a7:f9:92:fa:41: + 91:61:84:05:9d:a3:79:46:ce:67:e7:81:f2:5e:ac:4c:bc:a8: + ab:6a:6d:15:e2:9c:4e:5a:d9:63:80:bc:f7:42:eb:9a:44:c6: + 8c:6b:06:36:b4:8b:32:89:de:c2:f1:a8:26:aa:a9:ac:ff:ea: + 71:a6:e7:8c:41:fa:17:35:bb:b3:87:31:a9:93:c2:c8:58:e1: + 0a:4e:95:83:9c:b9:ed:3b:a5:ef:08:e0:74:f9:c3:1b:e6:07: + a3:ee:07:d7:42:22:79:21:a0:a1:d4:1d:26:d3:d0:d6:a6:5d: + 2b:41:c0:79 +-----BEGIN CERTIFICATE----- +MIIE0jCCA7qgAwIBAgIQLGnhL2pnC9md0g+RnvCeUTANBgkqhkiG9w0BAQsFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTQwNjEwMDAwMDAwWhcNMjQw +NjA5MjM1OTU5WjBjMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMu +MR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEeMBwGA1UEAxMVdGhhd3Rl +IERWIFNTTCBDQSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +6pQHhchBLPaDEmySX6sfANSWb3TNLhHpbA85AblIkEA5TcSiyHlqpZq9kURld1St +/yVf7kL7swIP6l163RpUntdzQpvMeV/FTfS3Cxg5IHrdUAFdNEVfTBEO9YcmJrSw +835xoDFxUIloWmOKFGLljDoWVQ0+66qAHXF644cHq72idM3aCAGdG8wniIxH1Gkl +Qta7UG2FUNBIgg0In+kj40LGPJi4u27FcBPfGR0B/dK1TuZi9Af6a30Rd8RiT0BO +pXiXqyxNDKd8w8RQMp/QcJsP//91WTSFrUnVNe5PW9TUNpWgfujFoRy9E0597mNq +lhmZyKcqAOZRjUbrMFjoLQIDAQABo4IBOTCCATUwEgYDVR0TAQH/BAgwBgEB/wIB +ADBBBgNVHSAEOjA4MDYGCmCGSAGG+EUBBzYwKDAmBggrBgEFBQcCARYaaHR0cHM6 +Ly93d3cudGhhd3RlLmNvbS9jcHMwDgYDVR0PAQH/BAQDAgEGMC4GCCsGAQUFBwEB +BCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL3Quc3ltY2QuY29tMDEGA1UdHwQqMCgw +JqAkoCKGIGh0dHA6Ly90LnN5bWNiLmNvbS9UaGF3dGVQQ0EuY3JsMCkGA1UdEQQi +MCCkHjAcMRowGAYDVQQDExFTeW1hbnRlY1BLSS0xLTY5ODAdBgNVHQ4EFgQUn7jB +qWzy9cAiKpTtXJms1OzXxgcwHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutX +SFAwDQYJKoZIhvcNAQELBQADggEBAFNU8keoAtfvqjV4vkoIDZAYS22eKlMr6VQX +d3QpftA3BwW45Pq4tGOYRNzGT4EGjDq+xzBXxnD81pMZn8NV1z4fcoqdMFo1lzLL +Y+TGct/7aMppL9vNUDg+K7urO4LH/UubvXxBmO8BU9g1jyXJAwbmnFfBUQ+e9n2T +Tfh2yDpr9MSPMzJ/nSGENNmn+ZL6QZFhhAWdo3lGzmfngfJerEy8qKtqbRXinE5a +2WOAvPdC65pExoxrBja0izKJ3sLxqCaqqaz/6nGm54xB+hc1u7OHMamTwshY4QpO +lYOcue07pe8I4HT5wxvmB6PuB9dCInkhoKHUHSbT0NamXStBwHk= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_34[] = { + 0x30, 0x82, 0x04, 0xd2, 0x30, 0x82, 0x03, 0xba, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x2c, 0x69, 0xe1, 0x2f, 0x6a, 0x67, 0x0b, 0xd9, 0x9d, + 0xd2, 0x0f, 0x91, 0x9e, 0xf0, 0x9e, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, 0x36, 0x31, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, + 0x36, 0x30, 0x39, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x63, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x14, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x53, 0x53, 0x4c, 0x31, 0x1e, 0x30, 0x1c, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x15, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, + 0x20, 0x44, 0x56, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, + 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xea, 0x94, 0x07, 0x85, 0xc8, 0x41, 0x2c, 0xf6, 0x83, 0x12, 0x6c, 0x92, + 0x5f, 0xab, 0x1f, 0x00, 0xd4, 0x96, 0x6f, 0x74, 0xcd, 0x2e, 0x11, 0xe9, + 0x6c, 0x0f, 0x39, 0x01, 0xb9, 0x48, 0x90, 0x40, 0x39, 0x4d, 0xc4, 0xa2, + 0xc8, 0x79, 0x6a, 0xa5, 0x9a, 0xbd, 0x91, 0x44, 0x65, 0x77, 0x54, 0xad, + 0xff, 0x25, 0x5f, 0xee, 0x42, 0xfb, 0xb3, 0x02, 0x0f, 0xea, 0x5d, 0x7a, + 0xdd, 0x1a, 0x54, 0x9e, 0xd7, 0x73, 0x42, 0x9b, 0xcc, 0x79, 0x5f, 0xc5, + 0x4d, 0xf4, 0xb7, 0x0b, 0x18, 0x39, 0x20, 0x7a, 0xdd, 0x50, 0x01, 0x5d, + 0x34, 0x45, 0x5f, 0x4c, 0x11, 0x0e, 0xf5, 0x87, 0x26, 0x26, 0xb4, 0xb0, + 0xf3, 0x7e, 0x71, 0xa0, 0x31, 0x71, 0x50, 0x89, 0x68, 0x5a, 0x63, 0x8a, + 0x14, 0x62, 0xe5, 0x8c, 0x3a, 0x16, 0x55, 0x0d, 0x3e, 0xeb, 0xaa, 0x80, + 0x1d, 0x71, 0x7a, 0xe3, 0x87, 0x07, 0xab, 0xbd, 0xa2, 0x74, 0xcd, 0xda, + 0x08, 0x01, 0x9d, 0x1b, 0xcc, 0x27, 0x88, 0x8c, 0x47, 0xd4, 0x69, 0x25, + 0x42, 0xd6, 0xbb, 0x50, 0x6d, 0x85, 0x50, 0xd0, 0x48, 0x82, 0x0d, 0x08, + 0x9f, 0xe9, 0x23, 0xe3, 0x42, 0xc6, 0x3c, 0x98, 0xb8, 0xbb, 0x6e, 0xc5, + 0x70, 0x13, 0xdf, 0x19, 0x1d, 0x01, 0xfd, 0xd2, 0xb5, 0x4e, 0xe6, 0x62, + 0xf4, 0x07, 0xfa, 0x6b, 0x7d, 0x11, 0x77, 0xc4, 0x62, 0x4f, 0x40, 0x4e, + 0xa5, 0x78, 0x97, 0xab, 0x2c, 0x4d, 0x0c, 0xa7, 0x7c, 0xc3, 0xc4, 0x50, + 0x32, 0x9f, 0xd0, 0x70, 0x9b, 0x0f, 0xff, 0xff, 0x75, 0x59, 0x34, 0x85, + 0xad, 0x49, 0xd5, 0x35, 0xee, 0x4f, 0x5b, 0xd4, 0xd4, 0x36, 0x95, 0xa0, + 0x7e, 0xe8, 0xc5, 0xa1, 0x1c, 0xbd, 0x13, 0x4e, 0x7d, 0xee, 0x63, 0x6a, + 0x96, 0x19, 0x99, 0xc8, 0xa7, 0x2a, 0x00, 0xe6, 0x51, 0x8d, 0x46, 0xeb, + 0x30, 0x58, 0xe8, 0x2d, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, + 0x39, 0x30, 0x82, 0x01, 0x35, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x41, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3a, 0x30, 0x38, + 0x30, 0x36, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, + 0x07, 0x36, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0e, 0x06, 0x03, + 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x22, 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x74, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2a, 0x30, 0x28, 0x30, + 0x26, 0xa0, 0x24, 0xa0, 0x22, 0x86, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x74, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, 0x43, 0x41, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x29, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, + 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, + 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, 0x36, 0x39, 0x38, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x9f, 0xb8, 0xc1, + 0xa9, 0x6c, 0xf2, 0xf5, 0xc0, 0x22, 0x2a, 0x94, 0xed, 0x5c, 0x99, 0xac, + 0xd4, 0xec, 0xd7, 0xc6, 0x07, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7b, 0x5b, 0x45, 0xcf, 0xaf, 0xce, + 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, 0x6a, 0xb6, 0xf3, 0x46, 0xeb, 0x57, + 0x48, 0x50, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x53, 0x54, + 0xf2, 0x47, 0xa8, 0x02, 0xd7, 0xef, 0xaa, 0x35, 0x78, 0xbe, 0x4a, 0x08, + 0x0d, 0x90, 0x18, 0x4b, 0x6d, 0x9e, 0x2a, 0x53, 0x2b, 0xe9, 0x54, 0x17, + 0x77, 0x74, 0x29, 0x7e, 0xd0, 0x37, 0x07, 0x05, 0xb8, 0xe4, 0xfa, 0xb8, + 0xb4, 0x63, 0x98, 0x44, 0xdc, 0xc6, 0x4f, 0x81, 0x06, 0x8c, 0x3a, 0xbe, + 0xc7, 0x30, 0x57, 0xc6, 0x70, 0xfc, 0xd6, 0x93, 0x19, 0x9f, 0xc3, 0x55, + 0xd7, 0x3e, 0x1f, 0x72, 0x8a, 0x9d, 0x30, 0x5a, 0x35, 0x97, 0x32, 0xcb, + 0x63, 0xe4, 0xc6, 0x72, 0xdf, 0xfb, 0x68, 0xca, 0x69, 0x2f, 0xdb, 0xcd, + 0x50, 0x38, 0x3e, 0x2b, 0xbb, 0xab, 0x3b, 0x82, 0xc7, 0xfd, 0x4b, 0x9b, + 0xbd, 0x7c, 0x41, 0x98, 0xef, 0x01, 0x53, 0xd8, 0x35, 0x8f, 0x25, 0xc9, + 0x03, 0x06, 0xe6, 0x9c, 0x57, 0xc1, 0x51, 0x0f, 0x9e, 0xf6, 0x7d, 0x93, + 0x4d, 0xf8, 0x76, 0xc8, 0x3a, 0x6b, 0xf4, 0xc4, 0x8f, 0x33, 0x32, 0x7f, + 0x9d, 0x21, 0x84, 0x34, 0xd9, 0xa7, 0xf9, 0x92, 0xfa, 0x41, 0x91, 0x61, + 0x84, 0x05, 0x9d, 0xa3, 0x79, 0x46, 0xce, 0x67, 0xe7, 0x81, 0xf2, 0x5e, + 0xac, 0x4c, 0xbc, 0xa8, 0xab, 0x6a, 0x6d, 0x15, 0xe2, 0x9c, 0x4e, 0x5a, + 0xd9, 0x63, 0x80, 0xbc, 0xf7, 0x42, 0xeb, 0x9a, 0x44, 0xc6, 0x8c, 0x6b, + 0x06, 0x36, 0xb4, 0x8b, 0x32, 0x89, 0xde, 0xc2, 0xf1, 0xa8, 0x26, 0xaa, + 0xa9, 0xac, 0xff, 0xea, 0x71, 0xa6, 0xe7, 0x8c, 0x41, 0xfa, 0x17, 0x35, + 0xbb, 0xb3, 0x87, 0x31, 0xa9, 0x93, 0xc2, 0xc8, 0x58, 0xe1, 0x0a, 0x4e, + 0x95, 0x83, 0x9c, 0xb9, 0xed, 0x3b, 0xa5, 0xef, 0x08, 0xe0, 0x74, 0xf9, + 0xc3, 0x1b, 0xe6, 0x07, 0xa3, 0xee, 0x07, 0xd7, 0x42, 0x22, 0x79, 0x21, + 0xa0, 0xa1, 0xd4, 0x1d, 0x26, 0xd3, 0xd0, 0xd6, 0xa6, 0x5d, 0x2b, 0x41, + 0xc0, 0x79, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 4f:e3:e2:65:21:07:ab:20:37:41:6e:48:70:ce:d2:c2 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root + Validity + Not Before: May 25 00:00:00 2010 GMT + Not After : May 30 10:48:38 2020 GMT + Subject: C=US, O=Trusted Secure Certificate Authority, CN=Trusted Secure Certificate Authority + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:80:0b:42:c6:06:6c:cf:22:b3:1a:9e:11:2e:42: + 6e:39:bf:e8:12:af:3c:42:21:12:95:40:5d:32:b1: + 6d:1c:21:d1:34:e5:4f:a8:d1:43:a2:26:4e:30:7d: + 73:44:2c:73:aa:c5:4d:66:01:19:d2:ea:50:59:65: + d0:68:9d:05:a0:7c:a1:79:53:d0:21:90:59:0e:37: + db:1e:dc:92:a7:8b:0d:c4:f5:f8:e6:ff:b5:35:1a: + da:a8:b6:9b:20:85:65:c4:a2:4d:df:f3:94:4d:63: + 7e:ee:89:07:af:fe:e1:ba:00:15:2d:c6:77:8e:a3: + fe:ad:cf:26:54:5a:df:fc:d2:de:c2:ad:f6:b2:23: + fd:a8:83:e5:65:bd:27:f7:27:1a:18:59:6a:9e:14: + f6:b4:86:ff:1c:58:14:43:73:96:24:bf:10:43:d5: + 5c:89:f0:ce:f7:e1:96:16:5e:18:4a:27:28:90:80: + 18:fc:32:fe:f4:c7:b8:d6:82:3d:35:af:bb:4a:1c: + 5b:05:78:f6:fd:55:3e:82:74:b2:73:b8:89:4e:f7: + 1b:85:9a:d8:ca:b1:5a:b1:00:20:41:14:30:2b:14: + 24:ed:37:0e:32:3e:23:88:39:7e:b9:d9:38:03:e2: + 4c:d9:0d:43:41:33:10:eb:30:72:53:88:f7:52:9b: + 4f:81 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A + + X509v3 Subject Key Identifier: + CC:03:5B:96:5A:9E:16:CC:26:1E:BD:A3:70:FB:E3:CB:79:19:FC:4D + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6449.1.2.2.8 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.usertrust.com/AddTrustExternalCARoot.crl + + Authority Information Access: + CA Issuers - URI:http://crt.usertrust.com/AddTrustExternalCARoot.p7c + CA Issuers - URI:http://crt.usertrust.com/AddTrustUTNSGCCA.crt + OCSP - URI:http://ocsp.usertrust.com + + Signature Algorithm: sha1WithRSAEncryption + 7b:f0:fc:a1:28:47:bc:2b:b4:04:73:3f:4b:dd:1e:d1:b9:cd: + 1c:ed:7d:e5:e8:cb:51:f4:92:bf:dd:9c:0d:5c:6e:1d:95:ed: + 5b:70:50:89:d4:67:9a:15:54:d1:90:0a:fa:09:68:06:18:bb: + d7:27:e4:93:ff:43:48:81:3b:c8:59:49:35:ea:ac:b6:ae:46: + b5:d4:f3:b8:c3:c6:e4:91:bf:c9:34:fd:7e:d0:59:6e:61:a1: + 1f:48:63:54:b2:7d:46:bf:c8:fa:c3:bf:48:58:98:f6:69:84: + a7:16:69:08:27:a4:22:cb:a2:2c:c8:df:6e:a9:ee:f8:41:df: + 1b:a8:b7:f3:e3:ae:ce:a3:fe:d9:27:60:50:3f:04:7d:7a:44: + ea:76:42:5c:d3:55:46:ef:27:c5:6a:4a:80:e7:35:a0:91:c6: + 1b:a6:86:9c:5a:3b:04:83:54:34:d7:d1:88:a6:36:e9:7f:40: + 27:da:56:0a:50:21:9d:29:8b:a0:84:ec:fe:71:23:53:04:18: + 19:70:67:86:44:95:72:40:55:f6:dd:a3:b4:3d:2d:09:60:a5: + e7:5f:fc:ac:3b:ec:0c:91:9f:f8:ee:6a:ba:b2:3c:fd:95:7d: + 9a:07:f4:b0:65:43:a2:f6:df:7d:b8:21:49:84:04:ee:bd:ce: + 53:8f:0f:29 +-----BEGIN CERTIFICATE----- +MIIE5DCCA8ygAwIBAgIQT+PiZSEHqyA3QW5IcM7SwjANBgkqhkiG9w0BAQUFADBv +MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk +ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF +eHRlcm5hbCBDQSBSb290MB4XDTEwMDUyNTAwMDAwMFoXDTIwMDUzMDEwNDgzOFow +azELMAkGA1UEBhMCVVMxLTArBgNVBAoTJFRydXN0ZWQgU2VjdXJlIENlcnRpZmlj +YXRlIEF1dGhvcml0eTEtMCsGA1UEAxMkVHJ1c3RlZCBTZWN1cmUgQ2VydGlmaWNh +dGUgQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgAtC +xgZszyKzGp4RLkJuOb/oEq88QiESlUBdMrFtHCHRNOVPqNFDoiZOMH1zRCxzqsVN +ZgEZ0upQWWXQaJ0FoHyheVPQIZBZDjfbHtySp4sNxPX45v+1NRraqLabIIVlxKJN +3/OUTWN+7okHr/7hugAVLcZ3jqP+rc8mVFrf/NLewq32siP9qIPlZb0n9ycaGFlq +nhT2tIb/HFgUQ3OWJL8QQ9VcifDO9+GWFl4YSicokIAY/DL+9Me41oI9Na+7Shxb +BXj2/VU+gnSyc7iJTvcbhZrYyrFasQAgQRQwKxQk7TcOMj4jiDl+udk4A+JM2Q1D +QTMQ6zByU4j3UptPgQIDAQABo4IBfjCCAXowHwYDVR0jBBgwFoAUrb2YejS0Jvf6 +xCZU7wO94CTLVBowHQYDVR0OBBYEFMwDW5ZanhbMJh69o3D748t5GfxNMA4GA1Ud +DwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMBgGA1UdIAQRMA8wDQYLKwYB +BAGyMQECAggwRAYDVR0fBD0wOzA5oDegNYYzaHR0cDovL2NybC51c2VydHJ1c3Qu +Y29tL0FkZFRydXN0RXh0ZXJuYWxDQVJvb3QuY3JsMIGzBggrBgEFBQcBAQSBpjCB +ozA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL0FkZFRydXN0 +RXh0ZXJuYWxDQVJvb3QucDdjMDkGCCsGAQUFBzAChi1odHRwOi8vY3J0LnVzZXJ0 +cnVzdC5jb20vQWRkVHJ1c3RVVE5TR0NDQS5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6 +Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEFBQADggEBAHvw/KEoR7wr +tARzP0vdHtG5zRztfeXoy1H0kr/dnA1cbh2V7VtwUInUZ5oVVNGQCvoJaAYYu9cn +5JP/Q0iBO8hZSTXqrLauRrXU87jDxuSRv8k0/X7QWW5hoR9IY1SyfUa/yPrDv0hY +mPZphKcWaQgnpCLLoizI326p7vhB3xuot/Pjrs6j/tknYFA/BH16ROp2QlzTVUbv +J8VqSoDnNaCRxhumhpxaOwSDVDTX0YimNul/QCfaVgpQIZ0pi6CE7P5xI1MEGBlw +Z4ZElXJAVfbdo7Q9LQlgpedf/Kw77AyRn/juarqyPP2VfZoH9LBlQ6L23324IUmE +BO69zlOPDyk= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_35[] = { + 0x30, 0x82, 0x04, 0xe4, 0x30, 0x82, 0x03, 0xcc, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x4f, 0xe3, 0xe2, 0x65, 0x21, 0x07, 0xab, 0x20, 0x37, + 0x41, 0x6e, 0x48, 0x70, 0xce, 0xd2, 0xc2, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x6f, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x53, + 0x45, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0b, + 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x41, 0x42, 0x31, + 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x64, + 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x20, 0x54, 0x54, 0x50, 0x20, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x19, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x43, 0x41, 0x20, 0x52, + 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x35, 0x32, + 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, + 0x30, 0x35, 0x33, 0x30, 0x31, 0x30, 0x34, 0x38, 0x33, 0x38, 0x5a, 0x30, + 0x6b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x24, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x20, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x24, + 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x20, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x80, 0x0b, 0x42, + 0xc6, 0x06, 0x6c, 0xcf, 0x22, 0xb3, 0x1a, 0x9e, 0x11, 0x2e, 0x42, 0x6e, + 0x39, 0xbf, 0xe8, 0x12, 0xaf, 0x3c, 0x42, 0x21, 0x12, 0x95, 0x40, 0x5d, + 0x32, 0xb1, 0x6d, 0x1c, 0x21, 0xd1, 0x34, 0xe5, 0x4f, 0xa8, 0xd1, 0x43, + 0xa2, 0x26, 0x4e, 0x30, 0x7d, 0x73, 0x44, 0x2c, 0x73, 0xaa, 0xc5, 0x4d, + 0x66, 0x01, 0x19, 0xd2, 0xea, 0x50, 0x59, 0x65, 0xd0, 0x68, 0x9d, 0x05, + 0xa0, 0x7c, 0xa1, 0x79, 0x53, 0xd0, 0x21, 0x90, 0x59, 0x0e, 0x37, 0xdb, + 0x1e, 0xdc, 0x92, 0xa7, 0x8b, 0x0d, 0xc4, 0xf5, 0xf8, 0xe6, 0xff, 0xb5, + 0x35, 0x1a, 0xda, 0xa8, 0xb6, 0x9b, 0x20, 0x85, 0x65, 0xc4, 0xa2, 0x4d, + 0xdf, 0xf3, 0x94, 0x4d, 0x63, 0x7e, 0xee, 0x89, 0x07, 0xaf, 0xfe, 0xe1, + 0xba, 0x00, 0x15, 0x2d, 0xc6, 0x77, 0x8e, 0xa3, 0xfe, 0xad, 0xcf, 0x26, + 0x54, 0x5a, 0xdf, 0xfc, 0xd2, 0xde, 0xc2, 0xad, 0xf6, 0xb2, 0x23, 0xfd, + 0xa8, 0x83, 0xe5, 0x65, 0xbd, 0x27, 0xf7, 0x27, 0x1a, 0x18, 0x59, 0x6a, + 0x9e, 0x14, 0xf6, 0xb4, 0x86, 0xff, 0x1c, 0x58, 0x14, 0x43, 0x73, 0x96, + 0x24, 0xbf, 0x10, 0x43, 0xd5, 0x5c, 0x89, 0xf0, 0xce, 0xf7, 0xe1, 0x96, + 0x16, 0x5e, 0x18, 0x4a, 0x27, 0x28, 0x90, 0x80, 0x18, 0xfc, 0x32, 0xfe, + 0xf4, 0xc7, 0xb8, 0xd6, 0x82, 0x3d, 0x35, 0xaf, 0xbb, 0x4a, 0x1c, 0x5b, + 0x05, 0x78, 0xf6, 0xfd, 0x55, 0x3e, 0x82, 0x74, 0xb2, 0x73, 0xb8, 0x89, + 0x4e, 0xf7, 0x1b, 0x85, 0x9a, 0xd8, 0xca, 0xb1, 0x5a, 0xb1, 0x00, 0x20, + 0x41, 0x14, 0x30, 0x2b, 0x14, 0x24, 0xed, 0x37, 0x0e, 0x32, 0x3e, 0x23, + 0x88, 0x39, 0x7e, 0xb9, 0xd9, 0x38, 0x03, 0xe2, 0x4c, 0xd9, 0x0d, 0x43, + 0x41, 0x33, 0x10, 0xeb, 0x30, 0x72, 0x53, 0x88, 0xf7, 0x52, 0x9b, 0x4f, + 0x81, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x7e, 0x30, 0x82, + 0x01, 0x7a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0xad, 0xbd, 0x98, 0x7a, 0x34, 0xb4, 0x26, 0xf7, 0xfa, + 0xc4, 0x26, 0x54, 0xef, 0x03, 0xbd, 0xe0, 0x24, 0xcb, 0x54, 0x1a, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xcc, 0x03, + 0x5b, 0x96, 0x5a, 0x9e, 0x16, 0xcc, 0x26, 0x1e, 0xbd, 0xa3, 0x70, 0xfb, + 0xe3, 0xcb, 0x79, 0x19, 0xfc, 0x4d, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x12, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, + 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x18, 0x06, 0x03, 0x55, 0x1d, + 0x20, 0x04, 0x11, 0x30, 0x0f, 0x30, 0x0d, 0x06, 0x0b, 0x2b, 0x06, 0x01, + 0x04, 0x01, 0xb2, 0x31, 0x01, 0x02, 0x02, 0x08, 0x30, 0x44, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x3d, 0x30, 0x3b, 0x30, 0x39, 0xa0, 0x37, 0xa0, + 0x35, 0x86, 0x33, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x41, 0x52, 0x6f, + 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x81, 0xb3, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x81, 0xa6, 0x30, 0x81, + 0xa3, 0x30, 0x3f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, + 0x02, 0x86, 0x33, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x41, 0x52, 0x6f, + 0x6f, 0x74, 0x2e, 0x70, 0x37, 0x63, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x2d, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x64, + 0x54, 0x72, 0x75, 0x73, 0x74, 0x55, 0x54, 0x4e, 0x53, 0x47, 0x43, 0x43, + 0x41, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x25, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x19, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x7b, 0xf0, 0xfc, 0xa1, 0x28, 0x47, 0xbc, 0x2b, + 0xb4, 0x04, 0x73, 0x3f, 0x4b, 0xdd, 0x1e, 0xd1, 0xb9, 0xcd, 0x1c, 0xed, + 0x7d, 0xe5, 0xe8, 0xcb, 0x51, 0xf4, 0x92, 0xbf, 0xdd, 0x9c, 0x0d, 0x5c, + 0x6e, 0x1d, 0x95, 0xed, 0x5b, 0x70, 0x50, 0x89, 0xd4, 0x67, 0x9a, 0x15, + 0x54, 0xd1, 0x90, 0x0a, 0xfa, 0x09, 0x68, 0x06, 0x18, 0xbb, 0xd7, 0x27, + 0xe4, 0x93, 0xff, 0x43, 0x48, 0x81, 0x3b, 0xc8, 0x59, 0x49, 0x35, 0xea, + 0xac, 0xb6, 0xae, 0x46, 0xb5, 0xd4, 0xf3, 0xb8, 0xc3, 0xc6, 0xe4, 0x91, + 0xbf, 0xc9, 0x34, 0xfd, 0x7e, 0xd0, 0x59, 0x6e, 0x61, 0xa1, 0x1f, 0x48, + 0x63, 0x54, 0xb2, 0x7d, 0x46, 0xbf, 0xc8, 0xfa, 0xc3, 0xbf, 0x48, 0x58, + 0x98, 0xf6, 0x69, 0x84, 0xa7, 0x16, 0x69, 0x08, 0x27, 0xa4, 0x22, 0xcb, + 0xa2, 0x2c, 0xc8, 0xdf, 0x6e, 0xa9, 0xee, 0xf8, 0x41, 0xdf, 0x1b, 0xa8, + 0xb7, 0xf3, 0xe3, 0xae, 0xce, 0xa3, 0xfe, 0xd9, 0x27, 0x60, 0x50, 0x3f, + 0x04, 0x7d, 0x7a, 0x44, 0xea, 0x76, 0x42, 0x5c, 0xd3, 0x55, 0x46, 0xef, + 0x27, 0xc5, 0x6a, 0x4a, 0x80, 0xe7, 0x35, 0xa0, 0x91, 0xc6, 0x1b, 0xa6, + 0x86, 0x9c, 0x5a, 0x3b, 0x04, 0x83, 0x54, 0x34, 0xd7, 0xd1, 0x88, 0xa6, + 0x36, 0xe9, 0x7f, 0x40, 0x27, 0xda, 0x56, 0x0a, 0x50, 0x21, 0x9d, 0x29, + 0x8b, 0xa0, 0x84, 0xec, 0xfe, 0x71, 0x23, 0x53, 0x04, 0x18, 0x19, 0x70, + 0x67, 0x86, 0x44, 0x95, 0x72, 0x40, 0x55, 0xf6, 0xdd, 0xa3, 0xb4, 0x3d, + 0x2d, 0x09, 0x60, 0xa5, 0xe7, 0x5f, 0xfc, 0xac, 0x3b, 0xec, 0x0c, 0x91, + 0x9f, 0xf8, 0xee, 0x6a, 0xba, 0xb2, 0x3c, 0xfd, 0x95, 0x7d, 0x9a, 0x07, + 0xf4, 0xb0, 0x65, 0x43, 0xa2, 0xf6, 0xdf, 0x7d, 0xb8, 0x21, 0x49, 0x84, + 0x04, 0xee, 0xbd, 0xce, 0x53, 0x8f, 0x0f, 0x29, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 946072060 (0x3863e9fc) + Signature Algorithm: sha1WithRSAEncryption + Issuer: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048) + Validity + Not Before: Dec 10 20:43:54 2009 GMT + Not After : Dec 10 21:13:54 2019 GMT + Subject: C=US, O=Entrust, Inc., OU=www.entrust.net/rpa is incorporated by reference, OU=(c) 2009 Entrust, Inc., CN=Entrust Certification Authority - L1C + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:97:a3:2d:3c:9e:de:05:da:13:c2:11:8d:9d:8e: + e3:7f:c7:4b:7e:5a:9f:b3:ff:62:ab:73:c8:28:6b: + ba:10:64:82:87:13:cd:57:18:ff:28:ce:c0:e6:0e: + 06:91:50:29:83:d1:f2:c3:2a:db:d8:db:4e:04:cc: + 00:eb:8b:b6:96:dc:bc:aa:fa:52:77:04:c1:db:19: + e4:ae:9c:fd:3c:8b:03:ef:4d:bc:1a:03:65:f9:c1: + b1:3f:72:86:f2:38:aa:19:ae:10:88:78:28:da:75: + c3:3d:02:82:02:9c:b9:c1:65:77:76:24:4c:98:f7: + 6d:31:38:fb:db:fe:db:37:02:76:a1:18:97:a6:cc: + de:20:09:49:36:24:69:42:f6:e4:37:62:f1:59:6d: + a9:3c:ed:34:9c:a3:8e:db:dc:3a:d7:f7:0a:6f:ef: + 2e:d8:d5:93:5a:7a:ed:08:49:68:e2:41:e3:5a:90: + c1:86:55:fc:51:43:9d:e0:b2:c4:67:b4:cb:32:31: + 25:f0:54:9f:4b:d1:6f:db:d4:dd:fc:af:5e:6c:78: + 90:95:de:ca:3a:48:b9:79:3c:9b:19:d6:75:05:a0: + f9:88:d7:c1:e8:a5:09:e4:1a:15:dc:87:23:aa:b2: + 75:8c:63:25:87:d8:f8:3d:a6:c2:cc:66:ff:a5:66: + 68:55 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + Authority Information Access: + OCSP - URI:http://ocsp.entrust.net + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.entrust.net/2048ca.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.entrust.net/rpa + + X509v3 Subject Key Identifier: + 1E:F1:AB:89:06:F8:49:0F:01:33:77:EE:14:7A:EE:19:7C:93:28:4D + X509v3 Authority Key Identifier: + keyid:55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70 + + Signature Algorithm: sha1WithRSAEncryption + 07:f6:5f:82:84:7f:80:40:c7:90:34:46:42:24:03:ce:2f:ab: + ba:83:9e:25:73:0d:ed:ac:05:69:c6:87:ed:a3:5c:f2:57:c1: + b1:49:76:9a:4d:f2:3f:dd:e4:0e:fe:0b:3e:b9:98:d9:32:95: + 1d:32:f4:01:ee:9c:c8:c8:e5:3f:e0:53:76:62:fc:dd:ab:6d: + 3d:94:90:f2:c0:b3:3c:98:27:36:5e:28:97:22:fc:1b:40:d3: + 2b:0d:ad:b5:57:6d:df:0f:e3:4b:ef:73:02:10:65:fa:1b:d0: + ac:31:d5:e3:0f:e8:ba:32:30:83:ee:4a:d0:bf:df:22:90:7a: + be:ec:3a:1b:c4:49:04:1d:f1:ae:80:77:3c:42:08:db:a7:3b: + 28:a6:80:01:03:e6:39:a3:eb:df:80:59:1b:f3:2c:be:dc:72: + 44:79:a0:6c:07:a5:6d:4d:44:8e:42:68:ca:94:7c:2e:36:ba: + 85:9e:cd:aa:c4:5e:3c:54:be:fe:2f:ea:69:9d:1c:1e:29:9b: + 96:d8:c8:fe:51:90:f1:24:a6:90:06:b3:f0:29:a2:ff:78:2e: + 77:5c:45:21:d9:44:00:31:f3:be:32:4f:f5:0a:32:0d:fc:fc: + ba:16:76:56:b2:d6:48:92:f2:8b:a6:3e:b7:ac:5c:69:ea:0b: + 3f:66:45:b9 +-----BEGIN CERTIFICATE----- +MIIE8jCCA9qgAwIBAgIEOGPp/DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw0wOTEyMTAyMDQzNTRaFw0xOTEy +MTAyMTEzNTRaMIGxMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5j +LjE5MDcGA1UECxMwd3d3LmVudHJ1c3QubmV0L3JwYSBpcyBpbmNvcnBvcmF0ZWQg +YnkgcmVmZXJlbmNlMR8wHQYDVQQLExYoYykgMjAwOSBFbnRydXN0LCBJbmMuMS4w +LAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFDMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6MtPJ7eBdoTwhGNnY7jf8dL +flqfs/9iq3PIKGu6EGSChxPNVxj/KM7A5g4GkVApg9Hywyrb2NtOBMwA64u2lty8 +qvpSdwTB2xnkrpz9PIsD7028GgNl+cGxP3KG8jiqGa4QiHgo2nXDPQKCApy5wWV3 +diRMmPdtMTj72/7bNwJ2oRiXpszeIAlJNiRpQvbkN2LxWW2pPO00nKOO29w61/cK +b+8u2NWTWnrtCElo4kHjWpDBhlX8UUOd4LLEZ7TLMjEl8FSfS9Fv29Td/K9ebHiQ +ld7KOki5eTybGdZ1BaD5iNfB6KUJ5BoV3IcjqrJ1jGMlh9j4PabCzGb/pWZoVQID +AQABo4IBCzCCAQcwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wMwYI +KwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5lbnRydXN0Lm5l +dDAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLmVudHJ1c3QubmV0LzIwNDhj +YS5jcmwwOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly93 +d3cuZW50cnVzdC5uZXQvcnBhMB0GA1UdDgQWBBQe8auJBvhJDwEzd+4Ueu4ZfJMo +TTAfBgNVHSMEGDAWgBRV5IHREYC+2Im5CKMx+aEkCRa5cDANBgkqhkiG9w0BAQUF +AAOCAQEAB/ZfgoR/gEDHkDRGQiQDzi+ruoOeJXMN7awFacaH7aNc8lfBsUl2mk3y +P93kDv4LPrmY2TKVHTL0Ae6cyMjlP+BTdmL83attPZSQ8sCzPJgnNl4olyL8G0DT +Kw2ttVdt3w/jS+9zAhBl+hvQrDHV4w/oujIwg+5K0L/fIpB6vuw6G8RJBB3xroB3 +PEII26c7KKaAAQPmOaPr34BZG/MsvtxyRHmgbAelbU1EjkJoypR8Lja6hZ7NqsRe +PFS+/i/qaZ0cHimbltjI/lGQ8SSmkAaz8Cmi/3gud1xFIdlEADHzvjJP9QoyDfz8 +uhZ2VrLWSJLyi6Y+t6xcaeoLP2ZFuQ== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_36[] = { + 0x30, 0x82, 0x04, 0xf2, 0x30, 0x82, 0x03, 0xda, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x38, 0x63, 0xe9, 0xfc, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xb4, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0b, + 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x31, + 0x40, 0x30, 0x3e, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x14, 0x37, 0x77, 0x77, + 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, + 0x74, 0x2f, 0x43, 0x50, 0x53, 0x5f, 0x32, 0x30, 0x34, 0x38, 0x20, 0x69, + 0x6e, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x20, 0x62, 0x79, 0x20, 0x72, 0x65, + 0x66, 0x2e, 0x20, 0x28, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x20, 0x6c, + 0x69, 0x61, 0x62, 0x2e, 0x29, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x1c, 0x28, 0x63, 0x29, 0x20, 0x31, 0x39, 0x39, 0x39, + 0x20, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, + 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x31, 0x33, 0x30, 0x31, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2a, 0x45, 0x6e, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x28, 0x32, 0x30, 0x34, 0x38, + 0x29, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x31, 0x32, 0x31, 0x30, 0x32, + 0x30, 0x34, 0x33, 0x35, 0x34, 0x5a, 0x17, 0x0d, 0x31, 0x39, 0x31, 0x32, + 0x31, 0x30, 0x32, 0x31, 0x31, 0x33, 0x35, 0x34, 0x5a, 0x30, 0x81, 0xb1, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, + 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x30, + 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x70, 0x61, 0x20, 0x69, 0x73, 0x20, 0x69, + 0x6e, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x39, 0x20, 0x45, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x2e, 0x30, + 0x2c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x25, 0x45, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x4c, 0x31, 0x43, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x97, 0xa3, 0x2d, 0x3c, 0x9e, 0xde, + 0x05, 0xda, 0x13, 0xc2, 0x11, 0x8d, 0x9d, 0x8e, 0xe3, 0x7f, 0xc7, 0x4b, + 0x7e, 0x5a, 0x9f, 0xb3, 0xff, 0x62, 0xab, 0x73, 0xc8, 0x28, 0x6b, 0xba, + 0x10, 0x64, 0x82, 0x87, 0x13, 0xcd, 0x57, 0x18, 0xff, 0x28, 0xce, 0xc0, + 0xe6, 0x0e, 0x06, 0x91, 0x50, 0x29, 0x83, 0xd1, 0xf2, 0xc3, 0x2a, 0xdb, + 0xd8, 0xdb, 0x4e, 0x04, 0xcc, 0x00, 0xeb, 0x8b, 0xb6, 0x96, 0xdc, 0xbc, + 0xaa, 0xfa, 0x52, 0x77, 0x04, 0xc1, 0xdb, 0x19, 0xe4, 0xae, 0x9c, 0xfd, + 0x3c, 0x8b, 0x03, 0xef, 0x4d, 0xbc, 0x1a, 0x03, 0x65, 0xf9, 0xc1, 0xb1, + 0x3f, 0x72, 0x86, 0xf2, 0x38, 0xaa, 0x19, 0xae, 0x10, 0x88, 0x78, 0x28, + 0xda, 0x75, 0xc3, 0x3d, 0x02, 0x82, 0x02, 0x9c, 0xb9, 0xc1, 0x65, 0x77, + 0x76, 0x24, 0x4c, 0x98, 0xf7, 0x6d, 0x31, 0x38, 0xfb, 0xdb, 0xfe, 0xdb, + 0x37, 0x02, 0x76, 0xa1, 0x18, 0x97, 0xa6, 0xcc, 0xde, 0x20, 0x09, 0x49, + 0x36, 0x24, 0x69, 0x42, 0xf6, 0xe4, 0x37, 0x62, 0xf1, 0x59, 0x6d, 0xa9, + 0x3c, 0xed, 0x34, 0x9c, 0xa3, 0x8e, 0xdb, 0xdc, 0x3a, 0xd7, 0xf7, 0x0a, + 0x6f, 0xef, 0x2e, 0xd8, 0xd5, 0x93, 0x5a, 0x7a, 0xed, 0x08, 0x49, 0x68, + 0xe2, 0x41, 0xe3, 0x5a, 0x90, 0xc1, 0x86, 0x55, 0xfc, 0x51, 0x43, 0x9d, + 0xe0, 0xb2, 0xc4, 0x67, 0xb4, 0xcb, 0x32, 0x31, 0x25, 0xf0, 0x54, 0x9f, + 0x4b, 0xd1, 0x6f, 0xdb, 0xd4, 0xdd, 0xfc, 0xaf, 0x5e, 0x6c, 0x78, 0x90, + 0x95, 0xde, 0xca, 0x3a, 0x48, 0xb9, 0x79, 0x3c, 0x9b, 0x19, 0xd6, 0x75, + 0x05, 0xa0, 0xf9, 0x88, 0xd7, 0xc1, 0xe8, 0xa5, 0x09, 0xe4, 0x1a, 0x15, + 0xdc, 0x87, 0x23, 0xaa, 0xb2, 0x75, 0x8c, 0x63, 0x25, 0x87, 0xd8, 0xf8, + 0x3d, 0xa6, 0xc2, 0xcc, 0x66, 0xff, 0xa5, 0x66, 0x68, 0x55, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x0b, 0x30, 0x82, 0x01, 0x07, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x33, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x27, 0x30, 0x25, + 0x30, 0x23, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x17, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, + 0x70, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, + 0x74, 0x30, 0x32, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2b, 0x30, 0x29, + 0x30, 0x27, 0xa0, 0x25, 0xa0, 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x32, 0x30, 0x34, 0x38, 0x63, + 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3b, 0x06, 0x03, 0x55, 0x1d, 0x20, + 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, + 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, + 0x65, 0x74, 0x2f, 0x72, 0x70, 0x61, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x1e, 0xf1, 0xab, 0x89, 0x06, 0xf8, 0x49, + 0x0f, 0x01, 0x33, 0x77, 0xee, 0x14, 0x7a, 0xee, 0x19, 0x7c, 0x93, 0x28, + 0x4d, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0x55, 0xe4, 0x81, 0xd1, 0x11, 0x80, 0xbe, 0xd8, 0x89, 0xb9, + 0x08, 0xa3, 0x31, 0xf9, 0xa1, 0x24, 0x09, 0x16, 0xb9, 0x70, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x07, 0xf6, 0x5f, 0x82, 0x84, 0x7f, + 0x80, 0x40, 0xc7, 0x90, 0x34, 0x46, 0x42, 0x24, 0x03, 0xce, 0x2f, 0xab, + 0xba, 0x83, 0x9e, 0x25, 0x73, 0x0d, 0xed, 0xac, 0x05, 0x69, 0xc6, 0x87, + 0xed, 0xa3, 0x5c, 0xf2, 0x57, 0xc1, 0xb1, 0x49, 0x76, 0x9a, 0x4d, 0xf2, + 0x3f, 0xdd, 0xe4, 0x0e, 0xfe, 0x0b, 0x3e, 0xb9, 0x98, 0xd9, 0x32, 0x95, + 0x1d, 0x32, 0xf4, 0x01, 0xee, 0x9c, 0xc8, 0xc8, 0xe5, 0x3f, 0xe0, 0x53, + 0x76, 0x62, 0xfc, 0xdd, 0xab, 0x6d, 0x3d, 0x94, 0x90, 0xf2, 0xc0, 0xb3, + 0x3c, 0x98, 0x27, 0x36, 0x5e, 0x28, 0x97, 0x22, 0xfc, 0x1b, 0x40, 0xd3, + 0x2b, 0x0d, 0xad, 0xb5, 0x57, 0x6d, 0xdf, 0x0f, 0xe3, 0x4b, 0xef, 0x73, + 0x02, 0x10, 0x65, 0xfa, 0x1b, 0xd0, 0xac, 0x31, 0xd5, 0xe3, 0x0f, 0xe8, + 0xba, 0x32, 0x30, 0x83, 0xee, 0x4a, 0xd0, 0xbf, 0xdf, 0x22, 0x90, 0x7a, + 0xbe, 0xec, 0x3a, 0x1b, 0xc4, 0x49, 0x04, 0x1d, 0xf1, 0xae, 0x80, 0x77, + 0x3c, 0x42, 0x08, 0xdb, 0xa7, 0x3b, 0x28, 0xa6, 0x80, 0x01, 0x03, 0xe6, + 0x39, 0xa3, 0xeb, 0xdf, 0x80, 0x59, 0x1b, 0xf3, 0x2c, 0xbe, 0xdc, 0x72, + 0x44, 0x79, 0xa0, 0x6c, 0x07, 0xa5, 0x6d, 0x4d, 0x44, 0x8e, 0x42, 0x68, + 0xca, 0x94, 0x7c, 0x2e, 0x36, 0xba, 0x85, 0x9e, 0xcd, 0xaa, 0xc4, 0x5e, + 0x3c, 0x54, 0xbe, 0xfe, 0x2f, 0xea, 0x69, 0x9d, 0x1c, 0x1e, 0x29, 0x9b, + 0x96, 0xd8, 0xc8, 0xfe, 0x51, 0x90, 0xf1, 0x24, 0xa6, 0x90, 0x06, 0xb3, + 0xf0, 0x29, 0xa2, 0xff, 0x78, 0x2e, 0x77, 0x5c, 0x45, 0x21, 0xd9, 0x44, + 0x00, 0x31, 0xf3, 0xbe, 0x32, 0x4f, 0xf5, 0x0a, 0x32, 0x0d, 0xfc, 0xfc, + 0xba, 0x16, 0x76, 0x56, 0xb2, 0xd6, 0x48, 0x92, 0xf2, 0x8b, 0xa6, 0x3e, + 0xb7, 0xac, 0x5c, 0x69, 0xea, 0x0b, 0x3f, 0x66, 0x45, 0xb9, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 16:90:c3:29:b6:78:06:07:51:1f:05:b0:34:48:46:cb + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root + Validity + Not Before: Apr 16 00:00:00 2010 GMT + Not After : May 30 10:48:38 2020 GMT + Subject: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO High-Assurance Secure Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:e7:87:da:c0:77:e4:bb:3a:fa:6a:24:c8:80:41: + ac:d2:16:13:15:3d:fa:f7:f8:2a:76:dc:a8:2d:39: + 08:ce:48:4a:be:0f:7d:f0:de:ba:bb:47:d5:bd:2d: + d7:1b:ab:0f:20:81:23:08:72:b1:c0:11:95:0d:e6: + ea:a9:87:ff:c7:6e:1e:4f:66:32:ba:53:bc:05:aa: + 1c:2c:0c:ef:4d:37:47:6b:10:0c:db:c5:a0:98:7e: + 58:db:37:d6:ae:e9:06:bd:d7:a8:65:f3:37:b9:c7: + 6d:ce:77:c7:26:e0:d7:74:1f:a6:98:16:bb:0c:6b: + c8:be:77:d0:ef:58:a7:29:a0:b9:b8:69:05:36:cb: + b2:da:58:a3:0b:75:ad:3d:8b:22:82:20:3e:70:86: + 99:1c:b9:4f:cf:77:a4:07:1a:23:63:d1:38:56:84: + ec:bf:8f:c5:4e:f4:18:96:9b:1a:e8:93:ec:8d:af: + 15:9c:24:f0:5a:3b:e8:0f:b9:a8:5a:01:d3:b2:1c: + 60:c9:9c:52:04:dd:92:a7:fe:0c:ac:e2:45:8d:03: + 61:bc:79:e0:77:2e:87:41:3c:58:5f:cb:f5:c5:77: + f2:58:c8:4d:28:d0:9a:fa:f3:73:09:24:68:74:bc: + 20:4c:d8:2c:b0:aa:e8:d9:4e:6d:f2:8c:24:d3:93: + 5d:91 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A + + X509v3 Subject Key Identifier: + 3F:D5:B5:D0:D6:44:79:50:4A:17:A3:9B:8C:4A:DC:B8:B0:22:64:6B + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.usertrust.com/AddTrustExternalCARoot.crl + + Authority Information Access: + CA Issuers - URI:http://crt.usertrust.com/AddTrustExternalCARoot.p7c + CA Issuers - URI:http://crt.usertrust.com/AddTrustUTNSGCCA.crt + OCSP - URI:http://ocsp.usertrust.com + + Signature Algorithm: sha1WithRSAEncryption + 13:85:1f:52:80:18:c9:53:f7:fe:2e:1a:af:cc:d9:0b:3c:c2: + d3:85:81:10:f0:28:8d:b9:40:7e:2c:9e:8f:d6:36:86:0a:4c: + 14:2d:d6:97:43:92:41:19:37:4b:96:9e:eb:a9:30:79:12:95: + b3:02:36:57:ed:2b:b9:1d:98:1a:a3:18:0a:3f:9b:39:8b:cd: + a1:49:29:4c:2f:f9:d0:95:8c:c8:4d:95:ba:a8:43:cf:33:aa: + 25:2a:5a:0e:aa:27:c9:4e:6b:b1:e6:73:1f:b3:74:04:c3:f3: + 4c:e2:a8:eb:67:b7:5d:b8:08:05:1a:56:9a:54:29:85:f5:29: + 4e:80:3b:95:d0:7b:53:96:11:56:c1:02:d3:ea:b2:7f:ca:8f: + 9c:70:4a:14:8d:5a:b9:16:60:75:d6:cd:27:1e:16:cd:5b:33: + 8e:79:40:cf:28:48:e7:dc:71:16:4e:74:91:75:b9:2a:8c:f1: + 70:ac:26:dd:04:b9:40:c2:85:de:1c:93:40:d0:cc:6e:c3:9b: + aa:ef:60:65:df:60:22:f0:5a:a5:7a:a2:2f:e4:70:73:ee:3c: + d4:26:2b:68:07:c1:20:7a:e8:98:5a:3e:7b:9f:02:8b:62:c0: + 85:81:80:60:35:7e:a5:1d:0c:d2:9c:df:62:45:0d:db:fc:37: + fb:f5:25:22 +-----BEGIN CERTIFICATE----- +MIIE/DCCA+SgAwIBAgIQFpDDKbZ4BgdRHwWwNEhGyzANBgkqhkiG9w0BAQUFADBv +MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk +ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF +eHRlcm5hbCBDQSBSb290MB4XDTEwMDQxNjAwMDAwMFoXDTIwMDUzMDEwNDgzOFow +gYkxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO +BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMS8wLQYD +VQQDEyZDT01PRE8gSGlnaC1Bc3N1cmFuY2UgU2VjdXJlIFNlcnZlciBDQTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOeH2sB35Ls6+mokyIBBrNIWExU9 ++vf4KnbcqC05CM5ISr4PffDeurtH1b0t1xurDyCBIwhyscARlQ3m6qmH/8duHk9m +MrpTvAWqHCwM7003R2sQDNvFoJh+WNs31q7pBr3XqGXzN7nHbc53xybg13QfppgW +uwxryL530O9YpymgubhpBTbLstpYowt1rT2LIoIgPnCGmRy5T893pAcaI2PROFaE +7L+PxU70GJabGuiT7I2vFZwk8Fo76A+5qFoB07IcYMmcUgTdkqf+DKziRY0DYbx5 +4Hcuh0E8WF/L9cV38ljITSjQmvrzcwkkaHS8IEzYLLCq6NlObfKMJNOTXZECAwEA +AaOCAXcwggFzMB8GA1UdIwQYMBaAFK29mHo0tCb3+sQmVO8DveAky1QaMB0GA1Ud +DgQWBBQ/1bXQ1kR5UEoXo5uMSty4sCJkazAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0T +AQH/BAgwBgEB/wIBADARBgNVHSAECjAIMAYGBFUdIAAwRAYDVR0fBD0wOzA5oDeg +NYYzaHR0cDovL2NybC51c2VydHJ1c3QuY29tL0FkZFRydXN0RXh0ZXJuYWxDQVJv +b3QuY3JsMIGzBggrBgEFBQcBAQSBpjCBozA/BggrBgEFBQcwAoYzaHR0cDovL2Ny +dC51c2VydHJ1c3QuY29tL0FkZFRydXN0RXh0ZXJuYWxDQVJvb3QucDdjMDkGCCsG +AQUFBzAChi1odHRwOi8vY3J0LnVzZXJ0cnVzdC5jb20vQWRkVHJ1c3RVVE5TR0ND +QS5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJ +KoZIhvcNAQEFBQADggEBABOFH1KAGMlT9/4uGq/M2Qs8wtOFgRDwKI25QH4sno/W +NoYKTBQt1pdDkkEZN0uWnuupMHkSlbMCNlftK7kdmBqjGAo/mzmLzaFJKUwv+dCV +jMhNlbqoQ88zqiUqWg6qJ8lOa7Hmcx+zdATD80ziqOtnt124CAUaVppUKYX1KU6A +O5XQe1OWEVbBAtPqsn/Kj5xwShSNWrkWYHXWzSceFs1bM455QM8oSOfccRZOdJF1 +uSqM8XCsJt0EuUDChd4ck0DQzG7Dm6rvYGXfYCLwWqV6oi/kcHPuPNQmK2gHwSB6 +6JhaPnufAotiwIWBgGA1fqUdDNKc32JFDdv8N/v1JSI= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_37[] = { + 0x30, 0x82, 0x04, 0xfc, 0x30, 0x82, 0x03, 0xe4, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x16, 0x90, 0xc3, 0x29, 0xb6, 0x78, 0x06, 0x07, 0x51, + 0x1f, 0x05, 0xb0, 0x34, 0x48, 0x46, 0xcb, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x6f, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x53, + 0x45, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0b, + 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x41, 0x42, 0x31, + 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x64, + 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x20, 0x54, 0x54, 0x50, 0x20, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x19, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x43, 0x41, 0x20, 0x52, + 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x34, 0x31, + 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, + 0x30, 0x35, 0x33, 0x30, 0x31, 0x30, 0x34, 0x38, 0x33, 0x38, 0x5a, 0x30, + 0x81, 0x89, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x47, 0x42, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x08, + 0x13, 0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x4d, 0x61, + 0x6e, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0e, + 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x53, 0x61, 0x6c, 0x66, 0x6f, + 0x72, 0x64, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x11, 0x43, 0x4f, 0x4d, 0x4f, 0x44, 0x4f, 0x20, 0x43, 0x41, 0x20, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x26, 0x43, 0x4f, 0x4d, 0x4f, 0x44, 0x4f, 0x20, + 0x48, 0x69, 0x67, 0x68, 0x2d, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xe7, 0x87, 0xda, 0xc0, 0x77, 0xe4, 0xbb, 0x3a, + 0xfa, 0x6a, 0x24, 0xc8, 0x80, 0x41, 0xac, 0xd2, 0x16, 0x13, 0x15, 0x3d, + 0xfa, 0xf7, 0xf8, 0x2a, 0x76, 0xdc, 0xa8, 0x2d, 0x39, 0x08, 0xce, 0x48, + 0x4a, 0xbe, 0x0f, 0x7d, 0xf0, 0xde, 0xba, 0xbb, 0x47, 0xd5, 0xbd, 0x2d, + 0xd7, 0x1b, 0xab, 0x0f, 0x20, 0x81, 0x23, 0x08, 0x72, 0xb1, 0xc0, 0x11, + 0x95, 0x0d, 0xe6, 0xea, 0xa9, 0x87, 0xff, 0xc7, 0x6e, 0x1e, 0x4f, 0x66, + 0x32, 0xba, 0x53, 0xbc, 0x05, 0xaa, 0x1c, 0x2c, 0x0c, 0xef, 0x4d, 0x37, + 0x47, 0x6b, 0x10, 0x0c, 0xdb, 0xc5, 0xa0, 0x98, 0x7e, 0x58, 0xdb, 0x37, + 0xd6, 0xae, 0xe9, 0x06, 0xbd, 0xd7, 0xa8, 0x65, 0xf3, 0x37, 0xb9, 0xc7, + 0x6d, 0xce, 0x77, 0xc7, 0x26, 0xe0, 0xd7, 0x74, 0x1f, 0xa6, 0x98, 0x16, + 0xbb, 0x0c, 0x6b, 0xc8, 0xbe, 0x77, 0xd0, 0xef, 0x58, 0xa7, 0x29, 0xa0, + 0xb9, 0xb8, 0x69, 0x05, 0x36, 0xcb, 0xb2, 0xda, 0x58, 0xa3, 0x0b, 0x75, + 0xad, 0x3d, 0x8b, 0x22, 0x82, 0x20, 0x3e, 0x70, 0x86, 0x99, 0x1c, 0xb9, + 0x4f, 0xcf, 0x77, 0xa4, 0x07, 0x1a, 0x23, 0x63, 0xd1, 0x38, 0x56, 0x84, + 0xec, 0xbf, 0x8f, 0xc5, 0x4e, 0xf4, 0x18, 0x96, 0x9b, 0x1a, 0xe8, 0x93, + 0xec, 0x8d, 0xaf, 0x15, 0x9c, 0x24, 0xf0, 0x5a, 0x3b, 0xe8, 0x0f, 0xb9, + 0xa8, 0x5a, 0x01, 0xd3, 0xb2, 0x1c, 0x60, 0xc9, 0x9c, 0x52, 0x04, 0xdd, + 0x92, 0xa7, 0xfe, 0x0c, 0xac, 0xe2, 0x45, 0x8d, 0x03, 0x61, 0xbc, 0x79, + 0xe0, 0x77, 0x2e, 0x87, 0x41, 0x3c, 0x58, 0x5f, 0xcb, 0xf5, 0xc5, 0x77, + 0xf2, 0x58, 0xc8, 0x4d, 0x28, 0xd0, 0x9a, 0xfa, 0xf3, 0x73, 0x09, 0x24, + 0x68, 0x74, 0xbc, 0x20, 0x4c, 0xd8, 0x2c, 0xb0, 0xaa, 0xe8, 0xd9, 0x4e, + 0x6d, 0xf2, 0x8c, 0x24, 0xd3, 0x93, 0x5d, 0x91, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xa3, 0x82, 0x01, 0x77, 0x30, 0x82, 0x01, 0x73, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xad, 0xbd, + 0x98, 0x7a, 0x34, 0xb4, 0x26, 0xf7, 0xfa, 0xc4, 0x26, 0x54, 0xef, 0x03, + 0xbd, 0xe0, 0x24, 0xcb, 0x54, 0x1a, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x3f, 0xd5, 0xb5, 0xd0, 0xd6, 0x44, 0x79, + 0x50, 0x4a, 0x17, 0xa3, 0x9b, 0x8c, 0x4a, 0xdc, 0xb8, 0xb0, 0x22, 0x64, + 0x6b, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x11, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x0a, 0x30, 0x08, + 0x30, 0x06, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x44, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x3d, 0x30, 0x3b, 0x30, 0x39, 0xa0, 0x37, 0xa0, + 0x35, 0x86, 0x33, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x41, 0x52, 0x6f, + 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x81, 0xb3, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x81, 0xa6, 0x30, 0x81, + 0xa3, 0x30, 0x3f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, + 0x02, 0x86, 0x33, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x41, 0x52, 0x6f, + 0x6f, 0x74, 0x2e, 0x70, 0x37, 0x63, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x2d, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x64, + 0x54, 0x72, 0x75, 0x73, 0x74, 0x55, 0x54, 0x4e, 0x53, 0x47, 0x43, 0x43, + 0x41, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x25, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x19, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x13, 0x85, 0x1f, 0x52, 0x80, 0x18, 0xc9, 0x53, + 0xf7, 0xfe, 0x2e, 0x1a, 0xaf, 0xcc, 0xd9, 0x0b, 0x3c, 0xc2, 0xd3, 0x85, + 0x81, 0x10, 0xf0, 0x28, 0x8d, 0xb9, 0x40, 0x7e, 0x2c, 0x9e, 0x8f, 0xd6, + 0x36, 0x86, 0x0a, 0x4c, 0x14, 0x2d, 0xd6, 0x97, 0x43, 0x92, 0x41, 0x19, + 0x37, 0x4b, 0x96, 0x9e, 0xeb, 0xa9, 0x30, 0x79, 0x12, 0x95, 0xb3, 0x02, + 0x36, 0x57, 0xed, 0x2b, 0xb9, 0x1d, 0x98, 0x1a, 0xa3, 0x18, 0x0a, 0x3f, + 0x9b, 0x39, 0x8b, 0xcd, 0xa1, 0x49, 0x29, 0x4c, 0x2f, 0xf9, 0xd0, 0x95, + 0x8c, 0xc8, 0x4d, 0x95, 0xba, 0xa8, 0x43, 0xcf, 0x33, 0xaa, 0x25, 0x2a, + 0x5a, 0x0e, 0xaa, 0x27, 0xc9, 0x4e, 0x6b, 0xb1, 0xe6, 0x73, 0x1f, 0xb3, + 0x74, 0x04, 0xc3, 0xf3, 0x4c, 0xe2, 0xa8, 0xeb, 0x67, 0xb7, 0x5d, 0xb8, + 0x08, 0x05, 0x1a, 0x56, 0x9a, 0x54, 0x29, 0x85, 0xf5, 0x29, 0x4e, 0x80, + 0x3b, 0x95, 0xd0, 0x7b, 0x53, 0x96, 0x11, 0x56, 0xc1, 0x02, 0xd3, 0xea, + 0xb2, 0x7f, 0xca, 0x8f, 0x9c, 0x70, 0x4a, 0x14, 0x8d, 0x5a, 0xb9, 0x16, + 0x60, 0x75, 0xd6, 0xcd, 0x27, 0x1e, 0x16, 0xcd, 0x5b, 0x33, 0x8e, 0x79, + 0x40, 0xcf, 0x28, 0x48, 0xe7, 0xdc, 0x71, 0x16, 0x4e, 0x74, 0x91, 0x75, + 0xb9, 0x2a, 0x8c, 0xf1, 0x70, 0xac, 0x26, 0xdd, 0x04, 0xb9, 0x40, 0xc2, + 0x85, 0xde, 0x1c, 0x93, 0x40, 0xd0, 0xcc, 0x6e, 0xc3, 0x9b, 0xaa, 0xef, + 0x60, 0x65, 0xdf, 0x60, 0x22, 0xf0, 0x5a, 0xa5, 0x7a, 0xa2, 0x2f, 0xe4, + 0x70, 0x73, 0xee, 0x3c, 0xd4, 0x26, 0x2b, 0x68, 0x07, 0xc1, 0x20, 0x7a, + 0xe8, 0x98, 0x5a, 0x3e, 0x7b, 0x9f, 0x02, 0x8b, 0x62, 0xc0, 0x85, 0x81, + 0x80, 0x60, 0x35, 0x7e, 0xa5, 0x1d, 0x0c, 0xd2, 0x9c, 0xdf, 0x62, 0x45, + 0x0d, 0xdb, 0xfc, 0x37, 0xfb, 0xf5, 0x25, 0x22, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1372799044 (0x51d34044) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority + Validity + Not Before: Sep 22 17:14:57 2014 GMT + Not After : Sep 23 01:31:53 2024 GMT + Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ba:84:b6:72:db:9e:0c:6b:e2:99:e9:30:01:a7: + 76:ea:32:b8:95:41:1a:c9:da:61:4e:58:72:cf:fe: + f6:82:79:bf:73:61:06:0a:a5:27:d8:b3:5f:d3:45: + 4e:1c:72:d6:4e:32:f2:72:8a:0f:f7:83:19:d0:6a: + 80:80:00:45:1e:b0:c7:e7:9a:bf:12:57:27:1c:a3: + 68:2f:0a:87:bd:6a:6b:0e:5e:65:f3:1c:77:d5:d4: + 85:8d:70:21:b4:b3:32:e7:8b:a2:d5:86:39:02:b1: + b8:d2:47:ce:e4:c9:49:c4:3b:a7:de:fb:54:7d:57: + be:f0:e8:6e:c2:79:b2:3a:0b:55:e2:50:98:16:32: + 13:5c:2f:78:56:c1:c2:94:b3:f2:5a:e4:27:9a:9f: + 24:d7:c6:ec:d0:9b:25:82:e3:cc:c2:c4:45:c5:8c: + 97:7a:06:6b:2a:11:9f:a9:0a:6e:48:3b:6f:db:d4: + 11:19:42:f7:8f:07:bf:f5:53:5f:9c:3e:f4:17:2c: + e6:69:ac:4e:32:4c:62:77:ea:b7:e8:e5:bb:34:bc: + 19:8b:ae:9c:51:e7:b7:7e:b5:53:b1:33:22:e5:6d: + cf:70:3c:1a:fa:e2:9b:67:b6:83:f4:8d:a5:af:62: + 4c:4d:e0:58:ac:64:34:12:03:f8:b6:8d:94:63:24: + a4:71 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:1 + Authority Information Access: + OCSP - URI:http://ocsp.entrust.net + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.entrust.net/rootca1.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.entrust.net/CPS + + X509v3 Subject Key Identifier: + 6A:72:26:7A:D0:1E:EF:7D:E7:3B:69:51:D4:6C:8D:9F:90:12:66:AB + X509v3 Authority Key Identifier: + keyid:68:90:E4:67:A4:A6:53:80:C7:86:66:A4:F1:F7:4B:43:FB:84:BD:6D + + Signature Algorithm: sha256WithRSAEncryption + 69:33:83:fc:28:7a:6f:7d:ef:9d:55:eb:c5:3e:7a:9d:75:b3: + cc:c3:38:36:d9:34:a2:28:68:18:ea:1e:69:d3:bd:e7:d0:77: + da:b8:00:83:4e:4a:cf:6f:d1:f1:c1:22:3f:74:e4:f7:98:49: + 9e:9b:b6:9e:e1:db:98:77:2d:56:34:b1:a8:3c:d9:fd:c0:cd: + c7:bf:05:03:d4:02:c5:f1:e5:c6:da:08:a5:13:c7:62:23:11: + d1:61:30:1d:60:84:45:ef:79:a8:c6:26:93:a4:b7:cd:34:b8: + 69:c5:13:f6:91:b3:c9:45:73:76:b6:92:f6:76:0a:5b:e1:03: + 47:b7:e9:29:4c:91:32:23:37:4a:9c:35:d8:78:fd:1d:1f:e4: + 83:89:24:80:ad:b7:f9:cf:e4:5d:a5:d4:71:c4:85:5b:70:1f: + db:3f:1c:01:eb:1a:45:26:31:14:cc:65:bf:67:de:ca:cc:33: + 65:e5:41:91:d7:37:be:41:1a:96:9d:e6:8a:97:9d:a7:ce:ac: + 4e:9a:3d:bd:01:a0:6a:d9:4f:22:00:8b:44:d5:69:62:7b:2e: + eb:cc:ba:e7:92:7d:69:67:3d:fc:b8:7c:de:41:87:d0:69:ea: + ba:0a:18:7a:1a:95:43:b3:79:71:28:76:6d:a1:fb:57:4a:ec: + 4d:c8:0e:10 +-----BEGIN CERTIFICATE----- +MIIE/zCCA+egAwIBAgIEUdNARDANBgkqhkiG9w0BAQsFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE0MDkyMjE3MTQ1N1oXDTI0MDkyMzAx +MzE1M1owgb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgw +JgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQL +EzAoYykgMjAwOSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9u +bHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuoS2ctueDGvi +mekwAad26jK4lUEaydphTlhyz/72gnm/c2EGCqUn2LNf00VOHHLWTjLycooP94MZ +0GqAgABFHrDH55q/ElcnHKNoLwqHvWprDl5l8xx31dSFjXAhtLMy54ui1YY5ArG4 +0kfO5MlJxDun3vtUfVe+8OhuwnmyOgtV4lCYFjITXC94VsHClLPyWuQnmp8k18bs +0JslguPMwsRFxYyXegZrKhGfqQpuSDtv29QRGUL3jwe/9VNfnD70FyzmaaxOMkxi +d+q36OW7NLwZi66cUee3frVTsTMi5W3PcDwa+uKbZ7aD9I2lr2JMTeBYrGQ0EgP4 +to2UYySkcQIDAQABo4IBDzCCAQswDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQI +MAYBAf8CAQEwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2Nz +cC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3JsLmVudHJ1 +c3QubmV0L3Jvb3RjYTEuY3JsMDsGA1UdIAQ0MDIwMAYEVR0gADAoMCYGCCsGAQUF +BwIBFhpodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NQUzAdBgNVHQ4EFgQUanImetAe +733nO2lR1GyNn5ASZqswHwYDVR0jBBgwFoAUaJDkZ6SmU4DHhmak8fdLQ/uEvW0w +DQYJKoZIhvcNAQELBQADggEBAGkzg/woem99751V68U+ep11s8zDODbZNKIoaBjq +HmnTvefQd9q4AINOSs9v0fHBIj905PeYSZ6btp7h25h3LVY0sag82f3Azce/BQPU +AsXx5cbaCKUTx2IjEdFhMB1ghEXveajGJpOkt800uGnFE/aRs8lFc3a2kvZ2Clvh +A0e36SlMkTIjN0qcNdh4/R0f5IOJJICtt/nP5F2l1HHEhVtwH9s/HAHrGkUmMRTM +Zb9n3srMM2XlQZHXN75BGpad5oqXnafOrE6aPb0BoGrZTyIAi0TVaWJ7LuvMuueS +fWlnPfy4fN5Bh9Bp6roKGHoalUOzeXEodm2h+1dK7E3IDhA= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_38[] = { + 0x30, 0x82, 0x04, 0xff, 0x30, 0x82, 0x03, 0xe7, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x51, 0xd3, 0x40, 0x44, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xb0, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x30, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x43, 0x50, 0x53, 0x20, 0x69, 0x73, 0x20, + 0x69, 0x6e, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, + 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x45, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x2d, + 0x30, 0x2b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x24, 0x45, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x34, 0x30, 0x39, 0x32, 0x32, 0x31, 0x37, 0x31, 0x34, 0x35, + 0x37, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x39, 0x32, 0x33, 0x30, 0x31, + 0x33, 0x31, 0x35, 0x33, 0x5a, 0x30, 0x81, 0xbe, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, + 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x45, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x28, 0x30, + 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, 0x53, 0x65, 0x65, 0x20, + 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6e, 0x65, 0x74, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x2d, 0x74, 0x65, + 0x72, 0x6d, 0x73, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x39, 0x20, 0x45, + 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x20, 0x2d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, + 0x6c, 0x79, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x29, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6f, + 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, + 0x01, 0x01, 0x00, 0xba, 0x84, 0xb6, 0x72, 0xdb, 0x9e, 0x0c, 0x6b, 0xe2, + 0x99, 0xe9, 0x30, 0x01, 0xa7, 0x76, 0xea, 0x32, 0xb8, 0x95, 0x41, 0x1a, + 0xc9, 0xda, 0x61, 0x4e, 0x58, 0x72, 0xcf, 0xfe, 0xf6, 0x82, 0x79, 0xbf, + 0x73, 0x61, 0x06, 0x0a, 0xa5, 0x27, 0xd8, 0xb3, 0x5f, 0xd3, 0x45, 0x4e, + 0x1c, 0x72, 0xd6, 0x4e, 0x32, 0xf2, 0x72, 0x8a, 0x0f, 0xf7, 0x83, 0x19, + 0xd0, 0x6a, 0x80, 0x80, 0x00, 0x45, 0x1e, 0xb0, 0xc7, 0xe7, 0x9a, 0xbf, + 0x12, 0x57, 0x27, 0x1c, 0xa3, 0x68, 0x2f, 0x0a, 0x87, 0xbd, 0x6a, 0x6b, + 0x0e, 0x5e, 0x65, 0xf3, 0x1c, 0x77, 0xd5, 0xd4, 0x85, 0x8d, 0x70, 0x21, + 0xb4, 0xb3, 0x32, 0xe7, 0x8b, 0xa2, 0xd5, 0x86, 0x39, 0x02, 0xb1, 0xb8, + 0xd2, 0x47, 0xce, 0xe4, 0xc9, 0x49, 0xc4, 0x3b, 0xa7, 0xde, 0xfb, 0x54, + 0x7d, 0x57, 0xbe, 0xf0, 0xe8, 0x6e, 0xc2, 0x79, 0xb2, 0x3a, 0x0b, 0x55, + 0xe2, 0x50, 0x98, 0x16, 0x32, 0x13, 0x5c, 0x2f, 0x78, 0x56, 0xc1, 0xc2, + 0x94, 0xb3, 0xf2, 0x5a, 0xe4, 0x27, 0x9a, 0x9f, 0x24, 0xd7, 0xc6, 0xec, + 0xd0, 0x9b, 0x25, 0x82, 0xe3, 0xcc, 0xc2, 0xc4, 0x45, 0xc5, 0x8c, 0x97, + 0x7a, 0x06, 0x6b, 0x2a, 0x11, 0x9f, 0xa9, 0x0a, 0x6e, 0x48, 0x3b, 0x6f, + 0xdb, 0xd4, 0x11, 0x19, 0x42, 0xf7, 0x8f, 0x07, 0xbf, 0xf5, 0x53, 0x5f, + 0x9c, 0x3e, 0xf4, 0x17, 0x2c, 0xe6, 0x69, 0xac, 0x4e, 0x32, 0x4c, 0x62, + 0x77, 0xea, 0xb7, 0xe8, 0xe5, 0xbb, 0x34, 0xbc, 0x19, 0x8b, 0xae, 0x9c, + 0x51, 0xe7, 0xb7, 0x7e, 0xb5, 0x53, 0xb1, 0x33, 0x22, 0xe5, 0x6d, 0xcf, + 0x70, 0x3c, 0x1a, 0xfa, 0xe2, 0x9b, 0x67, 0xb6, 0x83, 0xf4, 0x8d, 0xa5, + 0xaf, 0x62, 0x4c, 0x4d, 0xe0, 0x58, 0xac, 0x64, 0x34, 0x12, 0x03, 0xf8, + 0xb6, 0x8d, 0x94, 0x63, 0x24, 0xa4, 0x71, 0x02, 0x03, 0x01, 0x00, 0x01, + 0xa3, 0x82, 0x01, 0x0f, 0x30, 0x82, 0x01, 0x0b, 0x30, 0x0e, 0x06, 0x03, + 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, + 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01, 0x30, 0x33, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x27, 0x30, 0x25, + 0x30, 0x23, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x17, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, + 0x70, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, + 0x74, 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2c, 0x30, 0x2a, + 0x30, 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x63, + 0x61, 0x31, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3b, 0x06, 0x03, 0x55, 0x1d, + 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0x06, 0x04, 0x55, 0x1d, 0x20, + 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6e, 0x65, 0x74, 0x2f, 0x43, 0x50, 0x53, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x6a, 0x72, 0x26, 0x7a, 0xd0, 0x1e, + 0xef, 0x7d, 0xe7, 0x3b, 0x69, 0x51, 0xd4, 0x6c, 0x8d, 0x9f, 0x90, 0x12, + 0x66, 0xab, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x68, 0x90, 0xe4, 0x67, 0xa4, 0xa6, 0x53, 0x80, 0xc7, + 0x86, 0x66, 0xa4, 0xf1, 0xf7, 0x4b, 0x43, 0xfb, 0x84, 0xbd, 0x6d, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x69, 0x33, 0x83, 0xfc, 0x28, + 0x7a, 0x6f, 0x7d, 0xef, 0x9d, 0x55, 0xeb, 0xc5, 0x3e, 0x7a, 0x9d, 0x75, + 0xb3, 0xcc, 0xc3, 0x38, 0x36, 0xd9, 0x34, 0xa2, 0x28, 0x68, 0x18, 0xea, + 0x1e, 0x69, 0xd3, 0xbd, 0xe7, 0xd0, 0x77, 0xda, 0xb8, 0x00, 0x83, 0x4e, + 0x4a, 0xcf, 0x6f, 0xd1, 0xf1, 0xc1, 0x22, 0x3f, 0x74, 0xe4, 0xf7, 0x98, + 0x49, 0x9e, 0x9b, 0xb6, 0x9e, 0xe1, 0xdb, 0x98, 0x77, 0x2d, 0x56, 0x34, + 0xb1, 0xa8, 0x3c, 0xd9, 0xfd, 0xc0, 0xcd, 0xc7, 0xbf, 0x05, 0x03, 0xd4, + 0x02, 0xc5, 0xf1, 0xe5, 0xc6, 0xda, 0x08, 0xa5, 0x13, 0xc7, 0x62, 0x23, + 0x11, 0xd1, 0x61, 0x30, 0x1d, 0x60, 0x84, 0x45, 0xef, 0x79, 0xa8, 0xc6, + 0x26, 0x93, 0xa4, 0xb7, 0xcd, 0x34, 0xb8, 0x69, 0xc5, 0x13, 0xf6, 0x91, + 0xb3, 0xc9, 0x45, 0x73, 0x76, 0xb6, 0x92, 0xf6, 0x76, 0x0a, 0x5b, 0xe1, + 0x03, 0x47, 0xb7, 0xe9, 0x29, 0x4c, 0x91, 0x32, 0x23, 0x37, 0x4a, 0x9c, + 0x35, 0xd8, 0x78, 0xfd, 0x1d, 0x1f, 0xe4, 0x83, 0x89, 0x24, 0x80, 0xad, + 0xb7, 0xf9, 0xcf, 0xe4, 0x5d, 0xa5, 0xd4, 0x71, 0xc4, 0x85, 0x5b, 0x70, + 0x1f, 0xdb, 0x3f, 0x1c, 0x01, 0xeb, 0x1a, 0x45, 0x26, 0x31, 0x14, 0xcc, + 0x65, 0xbf, 0x67, 0xde, 0xca, 0xcc, 0x33, 0x65, 0xe5, 0x41, 0x91, 0xd7, + 0x37, 0xbe, 0x41, 0x1a, 0x96, 0x9d, 0xe6, 0x8a, 0x97, 0x9d, 0xa7, 0xce, + 0xac, 0x4e, 0x9a, 0x3d, 0xbd, 0x01, 0xa0, 0x6a, 0xd9, 0x4f, 0x22, 0x00, + 0x8b, 0x44, 0xd5, 0x69, 0x62, 0x7b, 0x2e, 0xeb, 0xcc, 0xba, 0xe7, 0x92, + 0x7d, 0x69, 0x67, 0x3d, 0xfc, 0xb8, 0x7c, 0xde, 0x41, 0x87, 0xd0, 0x69, + 0xea, 0xba, 0x0a, 0x18, 0x7a, 0x1a, 0x95, 0x43, 0xb3, 0x79, 0x71, 0x28, + 0x76, 0x6d, 0xa1, 0xfb, 0x57, 0x4a, 0xec, 0x4d, 0xc8, 0x0e, 0x10, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2 + Validity + Not Before: May 3 07:00:00 2011 GMT + Not After : May 3 07:00:00 2031 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., OU=http://certs.starfieldtech.com/repository/, CN=Starfield Secure Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:e5:90:66:4b:ec:f9:46:71:a9:20:83:be:e9:6c: + bf:4a:c9:48:69:81:75:4e:6d:24:f6:cb:17:13:f8: + b0:71:59:84:7a:6b:2b:85:a4:34:b5:16:e5:cb:cc: + e9:41:70:2c:a4:2e:d6:fa:32:7d:e1:a8:de:94:10: + ac:31:c1:c0:d8:6a:ff:59:27:ab:76:d6:fc:0b:74: + 6b:b8:a7:ae:3f:c4:54:f4:b4:31:44:dd:93:56:8c: + a4:4c:5e:9b:89:cb:24:83:9b:e2:57:7d:b7:d8:12: + 1f:c9:85:6d:f4:d1:80:f1:50:9b:87:ae:d4:0b:10: + 05:fb:27:ba:28:6d:17:e9:0e:d6:4d:b9:39:55:06: + ff:0a:24:05:7e:2f:c6:1d:72:6c:d4:8b:29:8c:57: + 7d:da:d9:eb:66:1a:d3:4f:a7:df:7f:52:c4:30:c5: + a5:c9:0e:02:c5:53:bf:77:38:68:06:24:c3:66:c8: + 37:7e:30:1e:45:71:23:35:ff:90:d8:2a:9d:8d:e7: + b0:92:4d:3c:7f:2a:0a:93:dc:cd:16:46:65:f7:60: + 84:8b:76:4b:91:27:73:14:92:e0:ea:ee:8f:16:ea: + 8d:0e:3e:76:17:bf:7d:89:80:80:44:43:e7:2d:e0: + 43:09:75:da:36:e8:ad:db:89:3a:f5:5d:12:8e:23: + 04:83 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 25:45:81:68:50:26:38:3D:3B:2D:2C:BE:CD:6A:D9:B6:3D:B3:66:63 + X509v3 Authority Key Identifier: + keyid:7C:0C:32:1F:A7:D9:30:7F:C4:7D:68:A3:62:A8:A1:CE:AB:07:5B:27 + + Authority Information Access: + OCSP - URI:http://ocsp.starfieldtech.com/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.starfieldtech.com/sfroot-g2.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://certs.starfieldtech.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + 56:65:ca:fe:f3:3f:0a:a8:93:8b:18:c7:de:43:69:13:34:20: + be:4e:5f:78:a8:6b:9c:db:6a:4d:41:db:c1:13:ec:dc:31:00: + 22:5e:f7:00:9e:0c:e0:34:65:34:f9:b1:3a:4e:48:c8:12:81: + 88:5c:5b:3e:08:53:7a:f7:1a:64:df:b8:50:61:cc:53:51:40: + 29:4b:c2:f4:ae:3a:5f:e4:ca:ad:26:cc:4e:61:43:e5:fd:57: + a6:37:70:ce:43:2b:b0:94:c3:92:e9:e1:5f:aa:10:49:b7:69: + e4:e0:d0:1f:64:a4:2b:cd:1f:6f:a0:f8:84:24:18:ce:79:3d: + a9:91:bf:54:18:13:89:99:54:11:0d:55:c5:26:0b:79:4f:5a: + 1c:6e:f9:63:db:14:80:a4:07:ab:fa:b2:a5:b9:88:dd:91:fe: + 65:3b:a4:a3:79:be:89:4d:e1:d0:b0:f4:c8:17:0c:0a:96:14: + 7c:09:b7:6c:e1:c2:d8:55:d4:18:a0:aa:41:69:70:24:a3:b9: + ef:e9:5a:dc:3e:eb:94:4a:f0:b7:de:5f:0e:76:fa:fb:fb:69: + 03:45:40:50:ee:72:0c:a4:12:86:81:cd:13:d1:4e:c4:3c:ca: + 4e:0d:d2:26:f1:00:b7:b4:a6:a2:e1:6e:7a:81:fd:30:ac:7a: + 1f:c7:59:7b +-----BEGIN CERTIFICATE----- +MIIFADCCA+igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAw +MFoXDTMxMDUwMzA3MDAwMFowgcYxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydHMuc3RhcmZpZWxk +dGVjaC5jb20vcmVwb3NpdG9yeS8xNDAyBgNVBAMTK1N0YXJmaWVsZCBTZWN1cmUg +Q2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDlkGZL7PlGcakgg77pbL9KyUhpgXVObST2yxcT+LBxWYR6ayuF +pDS1FuXLzOlBcCykLtb6Mn3hqN6UEKwxwcDYav9ZJ6t21vwLdGu4p64/xFT0tDFE +3ZNWjKRMXpuJyySDm+JXfbfYEh/JhW300YDxUJuHrtQLEAX7J7oobRfpDtZNuTlV +Bv8KJAV+L8YdcmzUiymMV33a2etmGtNPp99/UsQwxaXJDgLFU793OGgGJMNmyDd+ +MB5FcSM1/5DYKp2N57CSTTx/KgqT3M0WRmX3YISLdkuRJ3MUkuDq7o8W6o0OPnYX +v32JgIBEQ+ct4EMJddo26K3biTr1XRKOIwSDAgMBAAGjggEsMIIBKDAPBgNVHRMB +Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUJUWBaFAmOD07LSy+ +zWrZtj2zZmMwHwYDVR0jBBgwFoAUfAwyH6fZMH/EfWijYqihzqsHWycwOgYIKwYB +BQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5zdGFyZmllbGR0ZWNo +LmNvbS8wOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC5zdGFyZmllbGR0ZWNo +LmNvbS9zZnJvb3QtZzIuY3JsMEwGA1UdIARFMEMwQQYEVR0gADA5MDcGCCsGAQUF +BwIBFitodHRwczovL2NlcnRzLnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkv +MA0GCSqGSIb3DQEBCwUAA4IBAQBWZcr+8z8KqJOLGMfeQ2kTNCC+Tl94qGuc22pN +QdvBE+zcMQAiXvcAngzgNGU0+bE6TkjIEoGIXFs+CFN69xpk37hQYcxTUUApS8L0 +rjpf5MqtJsxOYUPl/VemN3DOQyuwlMOS6eFfqhBJt2nk4NAfZKQrzR9voPiEJBjO +eT2pkb9UGBOJmVQRDVXFJgt5T1ocbvlj2xSApAer+rKluYjdkf5lO6Sjeb6JTeHQ +sPTIFwwKlhR8Cbds4cLYVdQYoKpBaXAko7nv6VrcPuuUSvC33l8Odvr7+2kDRUBQ +7nIMpBKGgc0T0U7EPMpODdIm8QC3tKai4W56gf0wrHofx1l7 +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_39[] = { + 0x30, 0x82, 0x05, 0x00, 0x30, 0x82, 0x03, 0xe8, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x01, 0x07, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, 0x8f, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, + 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, + 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, + 0x6c, 0x65, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x1c, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, + 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, + 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x29, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x31, 0x30, 0x35, 0x30, 0x33, 0x30, 0x37, 0x30, 0x30, 0x30, + 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x35, 0x30, 0x33, 0x30, 0x37, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x81, 0xc6, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, + 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, + 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, + 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x33, 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x2a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, + 0x74, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x74, 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x31, 0x34, 0x30, 0x32, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2b, 0x53, 0x74, 0x61, 0x72, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, + 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe5, + 0x90, 0x66, 0x4b, 0xec, 0xf9, 0x46, 0x71, 0xa9, 0x20, 0x83, 0xbe, 0xe9, + 0x6c, 0xbf, 0x4a, 0xc9, 0x48, 0x69, 0x81, 0x75, 0x4e, 0x6d, 0x24, 0xf6, + 0xcb, 0x17, 0x13, 0xf8, 0xb0, 0x71, 0x59, 0x84, 0x7a, 0x6b, 0x2b, 0x85, + 0xa4, 0x34, 0xb5, 0x16, 0xe5, 0xcb, 0xcc, 0xe9, 0x41, 0x70, 0x2c, 0xa4, + 0x2e, 0xd6, 0xfa, 0x32, 0x7d, 0xe1, 0xa8, 0xde, 0x94, 0x10, 0xac, 0x31, + 0xc1, 0xc0, 0xd8, 0x6a, 0xff, 0x59, 0x27, 0xab, 0x76, 0xd6, 0xfc, 0x0b, + 0x74, 0x6b, 0xb8, 0xa7, 0xae, 0x3f, 0xc4, 0x54, 0xf4, 0xb4, 0x31, 0x44, + 0xdd, 0x93, 0x56, 0x8c, 0xa4, 0x4c, 0x5e, 0x9b, 0x89, 0xcb, 0x24, 0x83, + 0x9b, 0xe2, 0x57, 0x7d, 0xb7, 0xd8, 0x12, 0x1f, 0xc9, 0x85, 0x6d, 0xf4, + 0xd1, 0x80, 0xf1, 0x50, 0x9b, 0x87, 0xae, 0xd4, 0x0b, 0x10, 0x05, 0xfb, + 0x27, 0xba, 0x28, 0x6d, 0x17, 0xe9, 0x0e, 0xd6, 0x4d, 0xb9, 0x39, 0x55, + 0x06, 0xff, 0x0a, 0x24, 0x05, 0x7e, 0x2f, 0xc6, 0x1d, 0x72, 0x6c, 0xd4, + 0x8b, 0x29, 0x8c, 0x57, 0x7d, 0xda, 0xd9, 0xeb, 0x66, 0x1a, 0xd3, 0x4f, + 0xa7, 0xdf, 0x7f, 0x52, 0xc4, 0x30, 0xc5, 0xa5, 0xc9, 0x0e, 0x02, 0xc5, + 0x53, 0xbf, 0x77, 0x38, 0x68, 0x06, 0x24, 0xc3, 0x66, 0xc8, 0x37, 0x7e, + 0x30, 0x1e, 0x45, 0x71, 0x23, 0x35, 0xff, 0x90, 0xd8, 0x2a, 0x9d, 0x8d, + 0xe7, 0xb0, 0x92, 0x4d, 0x3c, 0x7f, 0x2a, 0x0a, 0x93, 0xdc, 0xcd, 0x16, + 0x46, 0x65, 0xf7, 0x60, 0x84, 0x8b, 0x76, 0x4b, 0x91, 0x27, 0x73, 0x14, + 0x92, 0xe0, 0xea, 0xee, 0x8f, 0x16, 0xea, 0x8d, 0x0e, 0x3e, 0x76, 0x17, + 0xbf, 0x7d, 0x89, 0x80, 0x80, 0x44, 0x43, 0xe7, 0x2d, 0xe0, 0x43, 0x09, + 0x75, 0xda, 0x36, 0xe8, 0xad, 0xdb, 0x89, 0x3a, 0xf5, 0x5d, 0x12, 0x8e, + 0x23, 0x04, 0x83, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x2c, + 0x30, 0x82, 0x01, 0x28, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x25, 0x45, 0x81, 0x68, 0x50, 0x26, 0x38, 0x3d, 0x3b, 0x2d, 0x2c, 0xbe, + 0xcd, 0x6a, 0xd9, 0xb6, 0x3d, 0xb3, 0x66, 0x63, 0x30, 0x1f, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7c, 0x0c, 0x32, + 0x1f, 0xa7, 0xd9, 0x30, 0x7f, 0xc4, 0x7d, 0x68, 0xa3, 0x62, 0xa8, 0xa1, + 0xce, 0xab, 0x07, 0x5b, 0x27, 0x30, 0x3a, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x1e, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x74, 0x65, 0x63, 0x68, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x3b, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0xa0, 0x2e, 0xa0, 0x2c, 0x86, 0x2a, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x74, 0x65, 0x63, 0x68, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x66, 0x72, 0x6f, 0x6f, 0x74, 0x2d, + 0x67, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, + 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, 0x04, 0x55, 0x1d, 0x20, + 0x00, 0x30, 0x39, 0x30, 0x37, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x2b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x74, 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x56, 0x65, 0xca, 0xfe, + 0xf3, 0x3f, 0x0a, 0xa8, 0x93, 0x8b, 0x18, 0xc7, 0xde, 0x43, 0x69, 0x13, + 0x34, 0x20, 0xbe, 0x4e, 0x5f, 0x78, 0xa8, 0x6b, 0x9c, 0xdb, 0x6a, 0x4d, + 0x41, 0xdb, 0xc1, 0x13, 0xec, 0xdc, 0x31, 0x00, 0x22, 0x5e, 0xf7, 0x00, + 0x9e, 0x0c, 0xe0, 0x34, 0x65, 0x34, 0xf9, 0xb1, 0x3a, 0x4e, 0x48, 0xc8, + 0x12, 0x81, 0x88, 0x5c, 0x5b, 0x3e, 0x08, 0x53, 0x7a, 0xf7, 0x1a, 0x64, + 0xdf, 0xb8, 0x50, 0x61, 0xcc, 0x53, 0x51, 0x40, 0x29, 0x4b, 0xc2, 0xf4, + 0xae, 0x3a, 0x5f, 0xe4, 0xca, 0xad, 0x26, 0xcc, 0x4e, 0x61, 0x43, 0xe5, + 0xfd, 0x57, 0xa6, 0x37, 0x70, 0xce, 0x43, 0x2b, 0xb0, 0x94, 0xc3, 0x92, + 0xe9, 0xe1, 0x5f, 0xaa, 0x10, 0x49, 0xb7, 0x69, 0xe4, 0xe0, 0xd0, 0x1f, + 0x64, 0xa4, 0x2b, 0xcd, 0x1f, 0x6f, 0xa0, 0xf8, 0x84, 0x24, 0x18, 0xce, + 0x79, 0x3d, 0xa9, 0x91, 0xbf, 0x54, 0x18, 0x13, 0x89, 0x99, 0x54, 0x11, + 0x0d, 0x55, 0xc5, 0x26, 0x0b, 0x79, 0x4f, 0x5a, 0x1c, 0x6e, 0xf9, 0x63, + 0xdb, 0x14, 0x80, 0xa4, 0x07, 0xab, 0xfa, 0xb2, 0xa5, 0xb9, 0x88, 0xdd, + 0x91, 0xfe, 0x65, 0x3b, 0xa4, 0xa3, 0x79, 0xbe, 0x89, 0x4d, 0xe1, 0xd0, + 0xb0, 0xf4, 0xc8, 0x17, 0x0c, 0x0a, 0x96, 0x14, 0x7c, 0x09, 0xb7, 0x6c, + 0xe1, 0xc2, 0xd8, 0x55, 0xd4, 0x18, 0xa0, 0xaa, 0x41, 0x69, 0x70, 0x24, + 0xa3, 0xb9, 0xef, 0xe9, 0x5a, 0xdc, 0x3e, 0xeb, 0x94, 0x4a, 0xf0, 0xb7, + 0xde, 0x5f, 0x0e, 0x76, 0xfa, 0xfb, 0xfb, 0x69, 0x03, 0x45, 0x40, 0x50, + 0xee, 0x72, 0x0c, 0xa4, 0x12, 0x86, 0x81, 0xcd, 0x13, 0xd1, 0x4e, 0xc4, + 0x3c, 0xca, 0x4e, 0x0d, 0xd2, 0x26, 0xf1, 0x00, 0xb7, 0xb4, 0xa6, 0xa2, + 0xe1, 0x6e, 0x7a, 0x81, 0xfd, 0x30, 0xac, 0x7a, 0x1f, 0xc7, 0x59, 0x7b, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1372807406 (0x51d360ee) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2 + Validity + Not Before: Oct 22 17:05:14 2014 GMT + Not After : Oct 23 07:33:22 2024 GMT + Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Certification Authority - L1K + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:da:3f:96:d0:4d:b9:2f:44:e7:db:39:5e:9b:50: + ee:5c:a5:61:da:41:67:53:09:aa:00:9a:8e:57:7f: + 29:6b:db:c7:e1:21:24:aa:3a:d0:8d:47:23:d2:ed: + 72:16:f0:91:21:d2:5d:b7:b8:4b:a8:83:8f:b7:91: + 32:68:cf:ce:25:93:2c:b2:7d:97:c8:fe:c1:b4:17: + ba:09:9e:03:90:93:7b:7c:49:83:22:68:8a:9b:de: + 47:c3:31:98:7a:2e:7d:40:0b:d2:ef:3e:d3:b2:8c: + aa:8f:48:a9:ff:00:e8:29:58:06:f7:b6:93:5a:94: + 73:26:26:ad:58:0e:e5:42:b8:d5:ea:73:79:64:68: + 53:25:b8:84:cf:94:7a:ae:06:45:0c:a3:6b:4d:d0: + c6:be:ea:18:a4:36:f0:92:b2:ba:1c:88:8f:3a:52: + 7f:f7:5e:6d:83:1c:9d:f0:1f:e5:c3:d6:dd:a5:78: + 92:3d:b0:6d:2c:ea:c9:cf:94:41:19:71:44:68:ba: + 47:3c:04:e9:5d:ba:3e:f0:35:f7:15:b6:9e:f2:2e: + 15:1e:3f:47:c8:c8:38:a7:73:45:5d:4d:b0:3b:b1: + 8e:17:29:37:ea:dd:05:01:22:bb:94:36:2a:8d:5b: + 35:fe:53:19:2f:08:46:c1:2a:b3:1a:62:1d:4e:2b: + d9:1b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: + CA:TRUE, pathlen:0 + Authority Information Access: + OCSP - URI:http://ocsp.entrust.net + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.entrust.net/g2ca.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.entrust.net/rpa + + X509v3 Subject Key Identifier: + 82:A2:70:74:DD:BC:53:3F:CF:7B:D4:F7:CD:7F:A7:60:C6:0A:4C:BF + X509v3 Authority Key Identifier: + keyid:6A:72:26:7A:D0:1E:EF:7D:E7:3B:69:51:D4:6C:8D:9F:90:12:66:AB + + Signature Algorithm: sha256WithRSAEncryption + 3f:1c:1a:5b:ff:40:22:1d:8f:35:0c:2d:aa:99:27:ab:c0:11: + 32:70:d7:36:28:69:a5:8d:b1:27:99:42:be:c4:93:eb:48:57: + 43:71:23:c4:e5:4e:ad:ae:43:6f:92:76:c5:19:ef:ca:bc:6f: + 42:4c:16:9a:86:a9:04:38:c7:65:f0:f5:0c:e0:4a:df:a2:fa: + ce:1a:11:a8:9c:69:2f:1b:df:ea:e2:32:f3:ce:4c:bc:46:0c: + c0:89:80:d1:87:6b:a2:cf:6b:d4:7f:fd:f5:60:52:67:57:a0: + 6d:d1:64:41:14:6d:34:62:ed:06:6c:24:f2:06:bc:28:02:af: + 03:2d:c2:33:05:fb:cb:aa:16:e8:65:10:43:f5:69:5c:e3:81: + 58:99:cd:6b:d3:b8:c7:7b:19:55:c9:40:ce:79:55:b8:73:89: + e9:5c:40:66:43:12:7f:07:b8:65:56:d5:8d:c3:a7:f5:b1:b6: + 65:9e:c0:83:36:7f:16:45:3c:74:4b:93:8a:3c:f1:2b:f5:35: + 70:73:7b:e7:82:04:b1:18:98:0e:d4:9c:6f:1a:fc:fc:a7:33: + a5:bb:bb:18:f3:6b:7a:5d:32:87:f7:6d:25:e4:e2:76:86:21: + 1e:11:46:cd:76:0e:6f:4f:a4:21:71:0a:84:a7:2d:36:a9:48: + 22:51:7e:82 +-----BEGIN CERTIFICATE----- +MIIFAzCCA+ugAwIBAgIEUdNg7jANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMTQxMDIyMTcw +NTE0WhcNMjQxMDIzMDczMzIyWjCBujELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEuMCwGA1UEAxMlRW50cnVzdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eSAtIEwxSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANo/ltBNuS9E59s5XptQ7lylYdpBZ1MJqgCajld/KWvbx+EhJKo60I1HI9Ltchbw +kSHSXbe4S6iDj7eRMmjPziWTLLJ9l8j+wbQXugmeA5CTe3xJgyJoipveR8MxmHou +fUAL0u8+07KMqo9Iqf8A6ClYBve2k1qUcyYmrVgO5UK41epzeWRoUyW4hM+Ueq4G +RQyja03Qxr7qGKQ28JKyuhyIjzpSf/debYMcnfAf5cPW3aV4kj2wbSzqyc+UQRlx +RGi6RzwE6V26PvA19xW2nvIuFR4/R8jIOKdzRV1NsDuxjhcpN+rdBQEiu5Q2Ko1b +Nf5TGS8IRsEqsxpiHU4r2RsCAwEAAaOCAQkwggEFMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMECDAGAQH/AgEAMDMGCCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAYYXaHR0 +cDovL29jc3AuZW50cnVzdC5uZXQwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL2Ny +bC5lbnRydXN0Lm5ldC9nMmNhLmNybDA7BgNVHSAENDAyMDAGBFUdIAAwKDAmBggr +BgEFBQcCARYaaHR0cDovL3d3dy5lbnRydXN0Lm5ldC9ycGEwHQYDVR0OBBYEFIKi +cHTdvFM/z3vU981/p2DGCky/MB8GA1UdIwQYMBaAFGpyJnrQHu995ztpUdRsjZ+Q +EmarMA0GCSqGSIb3DQEBCwUAA4IBAQA/HBpb/0AiHY81DC2qmSerwBEycNc2KGml +jbEnmUK+xJPrSFdDcSPE5U6trkNvknbFGe/KvG9CTBaahqkEOMdl8PUM4ErfovrO +GhGonGkvG9/q4jLzzky8RgzAiYDRh2uiz2vUf/31YFJnV6Bt0WRBFG00Yu0GbCTy +BrwoAq8DLcIzBfvLqhboZRBD9Wlc44FYmc1r07jHexlVyUDOeVW4c4npXEBmQxJ/ +B7hlVtWNw6f1sbZlnsCDNn8WRTx0S5OKPPEr9TVwc3vnggSxGJgO1JxvGvz8pzOl +u7sY82t6XTKH920l5OJ2hiEeEUbNdg5vT6QhcQqEpy02qUgiUX6C +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_40[] = { + 0x30, 0x82, 0x05, 0x03, 0x30, 0x82, 0x03, 0xeb, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x51, 0xd3, 0x60, 0xee, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xbe, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x1f, 0x53, 0x65, 0x65, 0x20, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x6c, 0x65, 0x67, + 0x61, 0x6c, 0x2d, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x31, 0x39, 0x30, 0x37, + 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, + 0x30, 0x30, 0x39, 0x20, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, + 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, + 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x32, 0x30, 0x30, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x31, 0x30, 0x32, 0x32, 0x31, 0x37, 0x30, + 0x35, 0x31, 0x34, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x31, 0x30, 0x32, 0x33, + 0x30, 0x37, 0x33, 0x33, 0x32, 0x32, 0x5a, 0x30, 0x81, 0xba, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x45, 0x6e, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, + 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, 0x53, 0x65, + 0x65, 0x20, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x2d, + 0x74, 0x65, 0x72, 0x6d, 0x73, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, 0x32, + 0x20, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x25, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x20, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, + 0x20, 0x4c, 0x31, 0x4b, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, + 0x00, 0xda, 0x3f, 0x96, 0xd0, 0x4d, 0xb9, 0x2f, 0x44, 0xe7, 0xdb, 0x39, + 0x5e, 0x9b, 0x50, 0xee, 0x5c, 0xa5, 0x61, 0xda, 0x41, 0x67, 0x53, 0x09, + 0xaa, 0x00, 0x9a, 0x8e, 0x57, 0x7f, 0x29, 0x6b, 0xdb, 0xc7, 0xe1, 0x21, + 0x24, 0xaa, 0x3a, 0xd0, 0x8d, 0x47, 0x23, 0xd2, 0xed, 0x72, 0x16, 0xf0, + 0x91, 0x21, 0xd2, 0x5d, 0xb7, 0xb8, 0x4b, 0xa8, 0x83, 0x8f, 0xb7, 0x91, + 0x32, 0x68, 0xcf, 0xce, 0x25, 0x93, 0x2c, 0xb2, 0x7d, 0x97, 0xc8, 0xfe, + 0xc1, 0xb4, 0x17, 0xba, 0x09, 0x9e, 0x03, 0x90, 0x93, 0x7b, 0x7c, 0x49, + 0x83, 0x22, 0x68, 0x8a, 0x9b, 0xde, 0x47, 0xc3, 0x31, 0x98, 0x7a, 0x2e, + 0x7d, 0x40, 0x0b, 0xd2, 0xef, 0x3e, 0xd3, 0xb2, 0x8c, 0xaa, 0x8f, 0x48, + 0xa9, 0xff, 0x00, 0xe8, 0x29, 0x58, 0x06, 0xf7, 0xb6, 0x93, 0x5a, 0x94, + 0x73, 0x26, 0x26, 0xad, 0x58, 0x0e, 0xe5, 0x42, 0xb8, 0xd5, 0xea, 0x73, + 0x79, 0x64, 0x68, 0x53, 0x25, 0xb8, 0x84, 0xcf, 0x94, 0x7a, 0xae, 0x06, + 0x45, 0x0c, 0xa3, 0x6b, 0x4d, 0xd0, 0xc6, 0xbe, 0xea, 0x18, 0xa4, 0x36, + 0xf0, 0x92, 0xb2, 0xba, 0x1c, 0x88, 0x8f, 0x3a, 0x52, 0x7f, 0xf7, 0x5e, + 0x6d, 0x83, 0x1c, 0x9d, 0xf0, 0x1f, 0xe5, 0xc3, 0xd6, 0xdd, 0xa5, 0x78, + 0x92, 0x3d, 0xb0, 0x6d, 0x2c, 0xea, 0xc9, 0xcf, 0x94, 0x41, 0x19, 0x71, + 0x44, 0x68, 0xba, 0x47, 0x3c, 0x04, 0xe9, 0x5d, 0xba, 0x3e, 0xf0, 0x35, + 0xf7, 0x15, 0xb6, 0x9e, 0xf2, 0x2e, 0x15, 0x1e, 0x3f, 0x47, 0xc8, 0xc8, + 0x38, 0xa7, 0x73, 0x45, 0x5d, 0x4d, 0xb0, 0x3b, 0xb1, 0x8e, 0x17, 0x29, + 0x37, 0xea, 0xdd, 0x05, 0x01, 0x22, 0xbb, 0x94, 0x36, 0x2a, 0x8d, 0x5b, + 0x35, 0xfe, 0x53, 0x19, 0x2f, 0x08, 0x46, 0xc1, 0x2a, 0xb3, 0x1a, 0x62, + 0x1d, 0x4e, 0x2b, 0xd9, 0x1b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x09, 0x30, 0x82, 0x01, 0x05, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, + 0x02, 0x01, 0x00, 0x30, 0x33, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x27, 0x30, 0x25, 0x30, 0x23, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x17, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x65, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x30, 0x30, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, 0xa0, 0x23, 0xa0, + 0x21, 0x86, 0x1f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, + 0x74, 0x2f, 0x67, 0x32, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3b, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x70, 0x61, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x82, 0xa2, + 0x70, 0x74, 0xdd, 0xbc, 0x53, 0x3f, 0xcf, 0x7b, 0xd4, 0xf7, 0xcd, 0x7f, + 0xa7, 0x60, 0xc6, 0x0a, 0x4c, 0xbf, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x6a, 0x72, 0x26, 0x7a, 0xd0, + 0x1e, 0xef, 0x7d, 0xe7, 0x3b, 0x69, 0x51, 0xd4, 0x6c, 0x8d, 0x9f, 0x90, + 0x12, 0x66, 0xab, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x3f, + 0x1c, 0x1a, 0x5b, 0xff, 0x40, 0x22, 0x1d, 0x8f, 0x35, 0x0c, 0x2d, 0xaa, + 0x99, 0x27, 0xab, 0xc0, 0x11, 0x32, 0x70, 0xd7, 0x36, 0x28, 0x69, 0xa5, + 0x8d, 0xb1, 0x27, 0x99, 0x42, 0xbe, 0xc4, 0x93, 0xeb, 0x48, 0x57, 0x43, + 0x71, 0x23, 0xc4, 0xe5, 0x4e, 0xad, 0xae, 0x43, 0x6f, 0x92, 0x76, 0xc5, + 0x19, 0xef, 0xca, 0xbc, 0x6f, 0x42, 0x4c, 0x16, 0x9a, 0x86, 0xa9, 0x04, + 0x38, 0xc7, 0x65, 0xf0, 0xf5, 0x0c, 0xe0, 0x4a, 0xdf, 0xa2, 0xfa, 0xce, + 0x1a, 0x11, 0xa8, 0x9c, 0x69, 0x2f, 0x1b, 0xdf, 0xea, 0xe2, 0x32, 0xf3, + 0xce, 0x4c, 0xbc, 0x46, 0x0c, 0xc0, 0x89, 0x80, 0xd1, 0x87, 0x6b, 0xa2, + 0xcf, 0x6b, 0xd4, 0x7f, 0xfd, 0xf5, 0x60, 0x52, 0x67, 0x57, 0xa0, 0x6d, + 0xd1, 0x64, 0x41, 0x14, 0x6d, 0x34, 0x62, 0xed, 0x06, 0x6c, 0x24, 0xf2, + 0x06, 0xbc, 0x28, 0x02, 0xaf, 0x03, 0x2d, 0xc2, 0x33, 0x05, 0xfb, 0xcb, + 0xaa, 0x16, 0xe8, 0x65, 0x10, 0x43, 0xf5, 0x69, 0x5c, 0xe3, 0x81, 0x58, + 0x99, 0xcd, 0x6b, 0xd3, 0xb8, 0xc7, 0x7b, 0x19, 0x55, 0xc9, 0x40, 0xce, + 0x79, 0x55, 0xb8, 0x73, 0x89, 0xe9, 0x5c, 0x40, 0x66, 0x43, 0x12, 0x7f, + 0x07, 0xb8, 0x65, 0x56, 0xd5, 0x8d, 0xc3, 0xa7, 0xf5, 0xb1, 0xb6, 0x65, + 0x9e, 0xc0, 0x83, 0x36, 0x7f, 0x16, 0x45, 0x3c, 0x74, 0x4b, 0x93, 0x8a, + 0x3c, 0xf1, 0x2b, 0xf5, 0x35, 0x70, 0x73, 0x7b, 0xe7, 0x82, 0x04, 0xb1, + 0x18, 0x98, 0x0e, 0xd4, 0x9c, 0x6f, 0x1a, 0xfc, 0xfc, 0xa7, 0x33, 0xa5, + 0xbb, 0xbb, 0x18, 0xf3, 0x6b, 0x7a, 0x5d, 0x32, 0x87, 0xf7, 0x6d, 0x25, + 0xe4, 0xe2, 0x76, 0x86, 0x21, 0x1e, 0x11, 0x46, 0xcd, 0x76, 0x0e, 0x6f, + 0x4f, 0xa4, 0x21, 0x71, 0x0a, 0x84, 0xa7, 0x2d, 0x36, 0xa9, 0x48, 0x22, + 0x51, 0x7e, 0x82, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120038507 (0x727a46b) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Validity + Not Before: Apr 2 14:36:10 2014 GMT + Not After : Apr 2 14:35:52 2021 GMT + Subject: C=NL, L=Amsterdam, O=Verizon Enterprise Solutions, OU=Cybertrust, CN=Verizon Akamai SureServer CA G14-SHA2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:dd:6e:9e:02:69:02:b5:a3:99:2e:08:64:32:6a: + 59:f3:c6:9e:a6:20:07:d2:48:d1:a8:93:c7:ea:47: + 8f:83:39:40:d7:20:5d:8d:9a:ba:ab:d8:70:ec:9d: + 88:d1:bd:62:f6:db:ec:9d:5e:35:01:76:03:23:e5: + 6f:d2:af:46:35:59:5a:5c:d1:a8:23:c1:eb:e9:20: + d4:49:d6:3f:00:d8:a8:22:de:43:79:81:ac:e9:a4: + 92:f5:77:70:05:1e:5c:b6:a0:f7:90:a4:cd:ab:28: + 2c:90:c2:e7:0f:c3:af:1c:47:59:d5:84:2e:df:26: + 07:45:23:5a:c6:e8:90:c8:85:4b:8c:16:1e:60:f9: + 01:13:f1:14:1f:e6:e8:14:ed:c5:d2:6f:63:28:6e: + 72:8c:49:ae:08:72:c7:93:95:b4:0b:0c:ae:8f:9a: + 67:84:f5:57:1b:db:81:d7:17:9d:41:11:43:19:bd: + 6d:4a:85:ed:8f:70:25:ab:66:ab:f6:fa:6d:1c:3c: + ab:ed:17:bd:56:84:e1:db:75:33:b2:28:4b:99:8e: + f9:4b:82:33:50:9f:92:53:ed:fa:ad:0f:95:9c:a3: + f2:cb:60:f0:77:1d:c9:01:8b:5f:2d:86:be:bf:36: + b8:24:96:13:7c:c1:86:5a:6c:c1:48:2a:7f:3e:93: + 60:c5 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:2 + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6334.1.50 + CPS: https://secure.omniroot.com/repository + + Authority Information Access: + OCSP - URI:http://ocsp.omniroot.com/baltimoreroot + CA Issuers - URI:https://cacert.omniroot.com/baltimoreroot.crt + CA Issuers - URI:https://cacert.omniroot.com/baltimoreroot.der + + X509v3 Key Usage: critical + Digital Signature, Non Repudiation, Certificate Sign, CRL Sign + X509v3 Authority Key Identifier: + keyid:E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://cdp1.public-trust.com/CRL/Omniroot2025.crl + + X509v3 Subject Key Identifier: + F8:BD:FA:AF:73:77:C6:C7:1B:F9:4B:4D:11:A7:D1:33:AF:AF:72:11 + Signature Algorithm: sha256WithRSAEncryption + 80:d9:7a:ed:72:05:37:8f:61:aa:73:7c:9a:6a:fc:fe:01:e2: + 19:81:70:07:25:32:b0:f0:6f:3b:c7:6a:28:3d:e4:51:87:e6: + 7e:82:ec:ae:48:a7:b1:77:38:c2:d6:56:af:8f:f2:01:fc:65: + 65:10:09:f7:74:29:b5:0e:92:ee:90:98:d1:88:a2:65:b7:cd: + 9c:0e:a7:86:98:28:bc:ae:15:83:b6:1a:d7:1d:ec:19:da:7a: + 8e:40:f9:99:15:d5:7d:a5:ba:ab:fd:26:98:6e:9c:41:3b:b6: + 81:18:ec:70:48:d7:6e:7f:a6:e1:77:25:d6:dd:62:e8:52:f3: + 8c:16:39:67:e2:22:0d:77:2e:fb:11:6c:e4:dd:38:b4:27:5f: + 03:a8:3d:44:e2:f2:84:4b:84:fd:56:a6:9e:4d:7b:a2:16:4f: + 07:f5:34:24:72:a5:a2:fa:16:66:2a:a4:4a:0e:c8:0d:27:44: + 9c:77:d4:12:10:87:d2:00:2c:7a:bb:8e:88:22:91:15:be:a2: + 59:ca:34:e0:1c:61:94:86:20:33:cd:e7:4c:5d:3b:92:3e:cb: + d6:2d:ea:54:fa:fb:af:54:f5:a8:c5:0b:ca:8b:87:00:e6:9f: + e6:95:bf:b7:c4:a3:59:f5:16:6c:5f:3e:69:55:80:39:f6:75: + 50:14:3e:32 +-----BEGIN CERTIFICATE----- +MIIFHzCCBAegAwIBAgIEByekazANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTE0MDQwMjE0MzYxMFoX +DTIxMDQwMjE0MzU1MlowgY0xCzAJBgNVBAYTAk5MMRIwEAYDVQQHEwlBbXN0ZXJk +YW0xJTAjBgNVBAoTHFZlcml6b24gRW50ZXJwcmlzZSBTb2x1dGlvbnMxEzARBgNV +BAsTCkN5YmVydHJ1c3QxLjAsBgNVBAMTJVZlcml6b24gQWthbWFpIFN1cmVTZXJ2 +ZXIgQ0EgRzE0LVNIQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDd +bp4CaQK1o5kuCGQyalnzxp6mIAfSSNGok8fqR4+DOUDXIF2Nmrqr2HDsnYjRvWL2 +2+ydXjUBdgMj5W/Sr0Y1WVpc0agjwevpINRJ1j8A2Kgi3kN5gazppJL1d3AFHly2 +oPeQpM2rKCyQwucPw68cR1nVhC7fJgdFI1rG6JDIhUuMFh5g+QET8RQf5ugU7cXS +b2MobnKMSa4IcseTlbQLDK6PmmeE9Vcb24HXF51BEUMZvW1Khe2PcCWrZqv2+m0c +PKvtF71WhOHbdTOyKEuZjvlLgjNQn5JT7fqtD5Wco/LLYPB3HckBi18thr6/Nrgk +lhN8wYZabMFIKn8+k2DFAgMBAAGjggG3MIIBszASBgNVHRMBAf8ECDAGAQH/AgEC +MEwGA1UdIARFMEMwQQYJKwYBBAGxPgEyMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v +c2VjdXJlLm9tbmlyb290LmNvbS9yZXBvc2l0b3J5MIG6BggrBgEFBQcBAQSBrTCB +qjAyBggrBgEFBQcwAYYmaHR0cDovL29jc3Aub21uaXJvb3QuY29tL2JhbHRpbW9y +ZXJvb3QwOQYIKwYBBQUHMAKGLWh0dHBzOi8vY2FjZXJ0Lm9tbmlyb290LmNvbS9i +YWx0aW1vcmVyb290LmNydDA5BggrBgEFBQcwAoYtaHR0cHM6Ly9jYWNlcnQub21u +aXJvb3QuY29tL2JhbHRpbW9yZXJvb3QuZGVyMA4GA1UdDwEB/wQEAwIBxjAfBgNV +HSMEGDAWgBTlnVkwgkdYzKz6CFQ2hns6tQRN8DBCBgNVHR8EOzA5MDegNaAzhjFo +dHRwOi8vY2RwMS5wdWJsaWMtdHJ1c3QuY29tL0NSTC9PbW5pcm9vdDIwMjUuY3Js +MB0GA1UdDgQWBBT4vfqvc3fGxxv5S00Rp9Ezr69yETANBgkqhkiG9w0BAQsFAAOC +AQEAgNl67XIFN49hqnN8mmr8/gHiGYFwByUysPBvO8dqKD3kUYfmfoLsrkinsXc4 +wtZWr4/yAfxlZRAJ93QptQ6S7pCY0YiiZbfNnA6nhpgovK4Vg7Ya1x3sGdp6jkD5 +mRXVfaW6q/0mmG6cQTu2gRjscEjXbn+m4Xcl1t1i6FLzjBY5Z+IiDXcu+xFs5N04 +tCdfA6g9ROLyhEuE/Vamnk17ohZPB/U0JHKlovoWZiqkSg7IDSdEnHfUEhCH0gAs +eruOiCKRFb6iWco04BxhlIYgM83nTF07kj7L1i3qVPr7r1T1qMULyouHAOaf5pW/ +t8SjWfUWbF8+aVWAOfZ1UBQ+Mg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_41[] = { + 0x30, 0x82, 0x05, 0x1f, 0x30, 0x82, 0x04, 0x07, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0xa4, 0x6b, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x5a, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, + 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, + 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x19, 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, + 0x30, 0x34, 0x30, 0x32, 0x31, 0x34, 0x33, 0x36, 0x31, 0x30, 0x5a, 0x17, + 0x0d, 0x32, 0x31, 0x30, 0x34, 0x30, 0x32, 0x31, 0x34, 0x33, 0x35, 0x35, + 0x32, 0x5a, 0x30, 0x81, 0x8d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x4e, 0x4c, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, + 0x55, 0x04, 0x07, 0x13, 0x09, 0x41, 0x6d, 0x73, 0x74, 0x65, 0x72, 0x64, + 0x61, 0x6d, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x1c, 0x56, 0x65, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x20, 0x45, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x20, 0x53, 0x6f, 0x6c, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x25, 0x56, 0x65, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x20, 0x41, 0x6b, 0x61, + 0x6d, 0x61, 0x69, 0x20, 0x53, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x20, 0x43, 0x41, 0x20, 0x47, 0x31, 0x34, 0x2d, 0x53, 0x48, + 0x41, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xdd, + 0x6e, 0x9e, 0x02, 0x69, 0x02, 0xb5, 0xa3, 0x99, 0x2e, 0x08, 0x64, 0x32, + 0x6a, 0x59, 0xf3, 0xc6, 0x9e, 0xa6, 0x20, 0x07, 0xd2, 0x48, 0xd1, 0xa8, + 0x93, 0xc7, 0xea, 0x47, 0x8f, 0x83, 0x39, 0x40, 0xd7, 0x20, 0x5d, 0x8d, + 0x9a, 0xba, 0xab, 0xd8, 0x70, 0xec, 0x9d, 0x88, 0xd1, 0xbd, 0x62, 0xf6, + 0xdb, 0xec, 0x9d, 0x5e, 0x35, 0x01, 0x76, 0x03, 0x23, 0xe5, 0x6f, 0xd2, + 0xaf, 0x46, 0x35, 0x59, 0x5a, 0x5c, 0xd1, 0xa8, 0x23, 0xc1, 0xeb, 0xe9, + 0x20, 0xd4, 0x49, 0xd6, 0x3f, 0x00, 0xd8, 0xa8, 0x22, 0xde, 0x43, 0x79, + 0x81, 0xac, 0xe9, 0xa4, 0x92, 0xf5, 0x77, 0x70, 0x05, 0x1e, 0x5c, 0xb6, + 0xa0, 0xf7, 0x90, 0xa4, 0xcd, 0xab, 0x28, 0x2c, 0x90, 0xc2, 0xe7, 0x0f, + 0xc3, 0xaf, 0x1c, 0x47, 0x59, 0xd5, 0x84, 0x2e, 0xdf, 0x26, 0x07, 0x45, + 0x23, 0x5a, 0xc6, 0xe8, 0x90, 0xc8, 0x85, 0x4b, 0x8c, 0x16, 0x1e, 0x60, + 0xf9, 0x01, 0x13, 0xf1, 0x14, 0x1f, 0xe6, 0xe8, 0x14, 0xed, 0xc5, 0xd2, + 0x6f, 0x63, 0x28, 0x6e, 0x72, 0x8c, 0x49, 0xae, 0x08, 0x72, 0xc7, 0x93, + 0x95, 0xb4, 0x0b, 0x0c, 0xae, 0x8f, 0x9a, 0x67, 0x84, 0xf5, 0x57, 0x1b, + 0xdb, 0x81, 0xd7, 0x17, 0x9d, 0x41, 0x11, 0x43, 0x19, 0xbd, 0x6d, 0x4a, + 0x85, 0xed, 0x8f, 0x70, 0x25, 0xab, 0x66, 0xab, 0xf6, 0xfa, 0x6d, 0x1c, + 0x3c, 0xab, 0xed, 0x17, 0xbd, 0x56, 0x84, 0xe1, 0xdb, 0x75, 0x33, 0xb2, + 0x28, 0x4b, 0x99, 0x8e, 0xf9, 0x4b, 0x82, 0x33, 0x50, 0x9f, 0x92, 0x53, + 0xed, 0xfa, 0xad, 0x0f, 0x95, 0x9c, 0xa3, 0xf2, 0xcb, 0x60, 0xf0, 0x77, + 0x1d, 0xc9, 0x01, 0x8b, 0x5f, 0x2d, 0x86, 0xbe, 0xbf, 0x36, 0xb8, 0x24, + 0x96, 0x13, 0x7c, 0xc1, 0x86, 0x5a, 0x6c, 0xc1, 0x48, 0x2a, 0x7f, 0x3e, + 0x93, 0x60, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0xb7, + 0x30, 0x82, 0x01, 0xb3, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x02, + 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, + 0x41, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xb1, 0x3e, 0x01, 0x32, + 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, + 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x30, 0x81, 0xba, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x81, 0xad, 0x30, 0x81, + 0xaa, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, + 0x01, 0x86, 0x26, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, + 0x73, 0x70, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, + 0x65, 0x72, 0x6f, 0x6f, 0x74, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x6f, 0x6d, + 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x6f, 0x6f, 0x74, + 0x2e, 0x63, 0x72, 0x74, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x02, 0x86, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x6f, 0x6d, 0x6e, + 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, + 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x6f, 0x6f, 0x74, 0x2e, + 0x64, 0x65, 0x72, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0xc6, 0x30, 0x1f, 0x06, 0x03, 0x55, + 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe5, 0x9d, 0x59, 0x30, + 0x82, 0x47, 0x58, 0xcc, 0xac, 0xfa, 0x08, 0x54, 0x36, 0x86, 0x7b, 0x3a, + 0xb5, 0x04, 0x4d, 0xf0, 0x30, 0x42, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, + 0x3b, 0x30, 0x39, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x64, 0x70, 0x31, 0x2e, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x52, 0x4c, 0x2f, 0x4f, 0x6d, 0x6e, 0x69, + 0x72, 0x6f, 0x6f, 0x74, 0x32, 0x30, 0x32, 0x35, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf8, + 0xbd, 0xfa, 0xaf, 0x73, 0x77, 0xc6, 0xc7, 0x1b, 0xf9, 0x4b, 0x4d, 0x11, + 0xa7, 0xd1, 0x33, 0xaf, 0xaf, 0x72, 0x11, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x01, 0x00, 0x80, 0xd9, 0x7a, 0xed, 0x72, 0x05, 0x37, 0x8f, 0x61, + 0xaa, 0x73, 0x7c, 0x9a, 0x6a, 0xfc, 0xfe, 0x01, 0xe2, 0x19, 0x81, 0x70, + 0x07, 0x25, 0x32, 0xb0, 0xf0, 0x6f, 0x3b, 0xc7, 0x6a, 0x28, 0x3d, 0xe4, + 0x51, 0x87, 0xe6, 0x7e, 0x82, 0xec, 0xae, 0x48, 0xa7, 0xb1, 0x77, 0x38, + 0xc2, 0xd6, 0x56, 0xaf, 0x8f, 0xf2, 0x01, 0xfc, 0x65, 0x65, 0x10, 0x09, + 0xf7, 0x74, 0x29, 0xb5, 0x0e, 0x92, 0xee, 0x90, 0x98, 0xd1, 0x88, 0xa2, + 0x65, 0xb7, 0xcd, 0x9c, 0x0e, 0xa7, 0x86, 0x98, 0x28, 0xbc, 0xae, 0x15, + 0x83, 0xb6, 0x1a, 0xd7, 0x1d, 0xec, 0x19, 0xda, 0x7a, 0x8e, 0x40, 0xf9, + 0x99, 0x15, 0xd5, 0x7d, 0xa5, 0xba, 0xab, 0xfd, 0x26, 0x98, 0x6e, 0x9c, + 0x41, 0x3b, 0xb6, 0x81, 0x18, 0xec, 0x70, 0x48, 0xd7, 0x6e, 0x7f, 0xa6, + 0xe1, 0x77, 0x25, 0xd6, 0xdd, 0x62, 0xe8, 0x52, 0xf3, 0x8c, 0x16, 0x39, + 0x67, 0xe2, 0x22, 0x0d, 0x77, 0x2e, 0xfb, 0x11, 0x6c, 0xe4, 0xdd, 0x38, + 0xb4, 0x27, 0x5f, 0x03, 0xa8, 0x3d, 0x44, 0xe2, 0xf2, 0x84, 0x4b, 0x84, + 0xfd, 0x56, 0xa6, 0x9e, 0x4d, 0x7b, 0xa2, 0x16, 0x4f, 0x07, 0xf5, 0x34, + 0x24, 0x72, 0xa5, 0xa2, 0xfa, 0x16, 0x66, 0x2a, 0xa4, 0x4a, 0x0e, 0xc8, + 0x0d, 0x27, 0x44, 0x9c, 0x77, 0xd4, 0x12, 0x10, 0x87, 0xd2, 0x00, 0x2c, + 0x7a, 0xbb, 0x8e, 0x88, 0x22, 0x91, 0x15, 0xbe, 0xa2, 0x59, 0xca, 0x34, + 0xe0, 0x1c, 0x61, 0x94, 0x86, 0x20, 0x33, 0xcd, 0xe7, 0x4c, 0x5d, 0x3b, + 0x92, 0x3e, 0xcb, 0xd6, 0x2d, 0xea, 0x54, 0xfa, 0xfb, 0xaf, 0x54, 0xf5, + 0xa8, 0xc5, 0x0b, 0xca, 0x8b, 0x87, 0x00, 0xe6, 0x9f, 0xe6, 0x95, 0xbf, + 0xb7, 0xc4, 0xa3, 0x59, 0xf5, 0x16, 0x6c, 0x5f, 0x3e, 0x69, 0x55, 0x80, + 0x39, 0xf6, 0x75, 0x50, 0x14, 0x3e, 0x32, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 7e:e1:4a:6f:6f:ef:f2:d3:7f:3f:ad:65:4d:3a:da:b4 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=Symantec Corporation, OU=Symantec Trust Network, CN=Symantec Class 3 EV SSL CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d8:a1:65:74:23:e8:2b:64:e2:32:d7:33:37:3d: + 8e:f5:34:16:48:dd:4f:7f:87:1c:f8:44:23:13:8e: + fb:11:d8:44:5a:18:71:8e:60:16:26:92:9b:fd:17: + 0b:e1:71:70:42:fe:bf:fa:1c:c0:aa:a3:a7:b5:71: + e8:ff:18:83:f6:df:10:0a:13:62:c8:3d:9c:a7:de: + 2e:3f:0c:d9:1d:e7:2e:fb:2a:ce:c8:9a:7f:87:bf: + d8:4c:04:15:32:c9:d1:cc:95:71:a0:4e:28:4f:84: + d9:35:fb:e3:86:6f:94:53:e6:72:8a:63:67:2e:be: + 69:f6:f7:6e:8e:9c:60:04:eb:29:fa:c4:47:42:d2: + 78:98:e3:ec:0b:a5:92:dc:b7:9a:bd:80:64:2b:38: + 7c:38:09:5b:66:f6:2d:95:7a:86:b2:34:2e:85:9e: + 90:0e:5f:b7:5d:a4:51:72:46:70:13:bf:67:f2:b6: + a7:4d:14:1e:6c:b9:53:ee:23:1a:4e:8d:48:55:43: + 41:b1:89:75:6a:40:28:c5:7d:dd:d2:6e:d2:02:19: + 2f:7b:24:94:4b:eb:f1:1a:a9:9b:e3:23:9a:ea:fa: + 33:ab:0a:2c:b7:f4:60:08:dd:9f:1c:cd:dd:2d:01: + 66:80:af:b3:2f:29:1d:23:b8:8a:e1:a1:70:07:0c: + 34:0f + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://s2.symcb.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.symauth.com/cps + User Notice: + Explicit Text: http://www.symauth.com/rpa + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://s1.symcb.com/pca3-g5.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-533 + X509v3 Subject Key Identifier: + 01:59:AB:E7:DD:3A:0B:59:A6:64:63:D6:CF:20:07:57:D5:91:E7:6A + X509v3 Authority Key Identifier: + keyid:7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + + Signature Algorithm: sha256WithRSAEncryption + 42:01:55:7b:d0:16:1a:5d:58:e8:bb:9b:a8:4d:d7:f3:d7:eb: + 13:94:86:d6:7f:21:0b:47:bc:57:9b:92:5d:4f:05:9f:38:a4: + 10:7c:cf:83:be:06:43:46:8d:08:bc:6a:d7:10:a6:fa:ab:af: + 2f:61:a8:63:f2:65:df:7f:4c:88:12:88:4f:b3:69:d9:ff:27: + c0:0a:97:91:8f:56:fb:89:c4:a8:bb:92:2d:1b:73:b0:c6:ab: + 36:f4:96:6c:20:08:ef:0a:1e:66:24:45:4f:67:00:40:c8:07: + 54:74:33:3b:a6:ad:bb:23:9f:66:ed:a2:44:70:34:fb:0e:ea: + 01:fd:cf:78:74:df:a7:ad:55:b7:5f:4d:f6:d6:3f:e0:86:ce: + 24:c7:42:a9:13:14:44:35:4b:b6:df:c9:60:ac:0c:7f:d9:93: + 21:4b:ee:9c:e4:49:02:98:d3:60:7b:5c:bc:d5:30:2f:07:ce: + 44:42:c4:0b:99:fe:e6:9f:fc:b0:78:86:51:6d:d1:2c:9d:c6: + 96:fb:85:82:bb:04:2f:f7:62:80:ef:62:da:7f:f6:0e:ac:90: + b8:56:bd:79:3f:f2:80:6e:a3:d9:b9:0f:5d:3a:07:1d:91:93: + 86:4b:29:4c:e1:dc:b5:e1:e0:33:9d:b3:cb:36:91:4b:fe:a1: + b4:ee:f0:f9 +-----BEGIN CERTIFICATE----- +MIIFKzCCBBOgAwIBAgIQfuFKb2/v8tN/P61lTTratDANBgkqhkiG9w0BAQsFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMTMxMDMxMDAwMDAwWhcNMjMxMDMwMjM1OTU5WjB3MQsw +CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV +BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIENs +YXNzIDMgRVYgU1NMIENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQDYoWV0I+grZOIy1zM3PY71NBZI3U9/hxz4RCMTjvsR2ERaGHGOYBYmkpv9 +FwvhcXBC/r/6HMCqo6e1cej/GIP23xAKE2LIPZyn3i4/DNkd5y77Ks7Imn+Hv9hM +BBUyydHMlXGgTihPhNk1++OGb5RT5nKKY2cuvmn2926OnGAE6yn6xEdC0niY4+wL +pZLct5q9gGQrOHw4CVtm9i2VeoayNC6FnpAOX7ddpFFyRnATv2fytqdNFB5suVPu +IxpOjUhVQ0GxiXVqQCjFfd3SbtICGS97JJRL6/EaqZvjI5rq+jOrCiy39GAI3Z8c +zd0tAWaAr7MvKR0juIrhoXAHDDQPAgMBAAGjggFdMIIBWTAvBggrBgEFBQcBAQQj +MCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wEgYDVR0TAQH/BAgw +BgEB/wIBADBlBgNVHSAEXjBcMFoGBFUdIAAwUjAmBggrBgEFBQcCARYaaHR0cDov +L3d3dy5zeW1hdXRoLmNvbS9jcHMwKAYIKwYBBQUHAgIwHBoaaHR0cDovL3d3dy5z +eW1hdXRoLmNvbS9ycGEwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL3MxLnN5bWNi +LmNvbS9wY2EzLWc1LmNybDAOBgNVHQ8BAf8EBAMCAQYwKQYDVR0RBCIwIKQeMBwx +GjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNTMzMB0GA1UdDgQWBBQBWavn3ToLWaZk +Y9bPIAdX1ZHnajAfBgNVHSMEGDAWgBR/02Wnwt3su/AwCfNDOfoCrzMxMzANBgkq +hkiG9w0BAQsFAAOCAQEAQgFVe9AWGl1Y6LubqE3X89frE5SG1n8hC0e8V5uSXU8F +nzikEHzPg74GQ0aNCLxq1xCm+quvL2GoY/Jl339MiBKIT7Np2f8nwAqXkY9W+4nE +qLuSLRtzsMarNvSWbCAI7woeZiRFT2cAQMgHVHQzO6atuyOfZu2iRHA0+w7qAf3P +eHTfp61Vt19N9tY/4IbOJMdCqRMURDVLtt/JYKwMf9mTIUvunORJApjTYHtcvNUw +LwfORELEC5n+5p/8sHiGUW3RLJ3GlvuFgrsEL/digO9i2n/2DqyQuFa9eT/ygG6j +2bkPXToHHZGThkspTOHcteHgM52zyzaRS/6htO7w+Q== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_42[] = { + 0x30, 0x82, 0x05, 0x2b, 0x30, 0x82, 0x04, 0x13, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x7e, 0xe1, 0x4a, 0x6f, 0x6f, 0xef, 0xf2, 0xd3, 0x7f, + 0x3f, 0xad, 0x65, 0x4d, 0x3a, 0xda, 0xb4, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x33, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x31, 0x30, 0x33, 0x30, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x77, 0x31, 0x0b, 0x30, + 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1d, + 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x53, 0x79, 0x6d, + 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x16, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, + 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x1f, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x45, 0x56, 0x20, 0x53, 0x53, 0x4c, + 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xd8, 0xa1, 0x65, 0x74, 0x23, 0xe8, 0x2b, + 0x64, 0xe2, 0x32, 0xd7, 0x33, 0x37, 0x3d, 0x8e, 0xf5, 0x34, 0x16, 0x48, + 0xdd, 0x4f, 0x7f, 0x87, 0x1c, 0xf8, 0x44, 0x23, 0x13, 0x8e, 0xfb, 0x11, + 0xd8, 0x44, 0x5a, 0x18, 0x71, 0x8e, 0x60, 0x16, 0x26, 0x92, 0x9b, 0xfd, + 0x17, 0x0b, 0xe1, 0x71, 0x70, 0x42, 0xfe, 0xbf, 0xfa, 0x1c, 0xc0, 0xaa, + 0xa3, 0xa7, 0xb5, 0x71, 0xe8, 0xff, 0x18, 0x83, 0xf6, 0xdf, 0x10, 0x0a, + 0x13, 0x62, 0xc8, 0x3d, 0x9c, 0xa7, 0xde, 0x2e, 0x3f, 0x0c, 0xd9, 0x1d, + 0xe7, 0x2e, 0xfb, 0x2a, 0xce, 0xc8, 0x9a, 0x7f, 0x87, 0xbf, 0xd8, 0x4c, + 0x04, 0x15, 0x32, 0xc9, 0xd1, 0xcc, 0x95, 0x71, 0xa0, 0x4e, 0x28, 0x4f, + 0x84, 0xd9, 0x35, 0xfb, 0xe3, 0x86, 0x6f, 0x94, 0x53, 0xe6, 0x72, 0x8a, + 0x63, 0x67, 0x2e, 0xbe, 0x69, 0xf6, 0xf7, 0x6e, 0x8e, 0x9c, 0x60, 0x04, + 0xeb, 0x29, 0xfa, 0xc4, 0x47, 0x42, 0xd2, 0x78, 0x98, 0xe3, 0xec, 0x0b, + 0xa5, 0x92, 0xdc, 0xb7, 0x9a, 0xbd, 0x80, 0x64, 0x2b, 0x38, 0x7c, 0x38, + 0x09, 0x5b, 0x66, 0xf6, 0x2d, 0x95, 0x7a, 0x86, 0xb2, 0x34, 0x2e, 0x85, + 0x9e, 0x90, 0x0e, 0x5f, 0xb7, 0x5d, 0xa4, 0x51, 0x72, 0x46, 0x70, 0x13, + 0xbf, 0x67, 0xf2, 0xb6, 0xa7, 0x4d, 0x14, 0x1e, 0x6c, 0xb9, 0x53, 0xee, + 0x23, 0x1a, 0x4e, 0x8d, 0x48, 0x55, 0x43, 0x41, 0xb1, 0x89, 0x75, 0x6a, + 0x40, 0x28, 0xc5, 0x7d, 0xdd, 0xd2, 0x6e, 0xd2, 0x02, 0x19, 0x2f, 0x7b, + 0x24, 0x94, 0x4b, 0xeb, 0xf1, 0x1a, 0xa9, 0x9b, 0xe3, 0x23, 0x9a, 0xea, + 0xfa, 0x33, 0xab, 0x0a, 0x2c, 0xb7, 0xf4, 0x60, 0x08, 0xdd, 0x9f, 0x1c, + 0xcd, 0xdd, 0x2d, 0x01, 0x66, 0x80, 0xaf, 0xb3, 0x2f, 0x29, 0x1d, 0x23, + 0xb8, 0x8a, 0xe1, 0xa1, 0x70, 0x07, 0x0c, 0x34, 0x0f, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x5d, 0x30, 0x82, 0x01, 0x59, 0x30, 0x2f, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x23, + 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, + 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x30, + 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, + 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x65, 0x06, 0x03, 0x55, + 0x1d, 0x20, 0x04, 0x5e, 0x30, 0x5c, 0x30, 0x5a, 0x06, 0x04, 0x55, 0x1d, + 0x20, 0x00, 0x30, 0x52, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x79, 0x6d, 0x61, 0x75, 0x74, 0x68, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x28, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x1c, 0x1a, 0x1a, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, + 0x79, 0x6d, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x70, 0x61, 0x30, 0x30, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x29, 0x30, + 0x27, 0x30, 0x25, 0xa0, 0x23, 0xa0, 0x21, 0x86, 0x1f, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x31, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, 0x61, 0x33, 0x2d, 0x67, 0x35, + 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, + 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x29, 0x06, 0x03, + 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, + 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, + 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, + 0x35, 0x33, 0x33, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, + 0x04, 0x14, 0x01, 0x59, 0xab, 0xe7, 0xdd, 0x3a, 0x0b, 0x59, 0xa6, 0x64, + 0x63, 0xd6, 0xcf, 0x20, 0x07, 0x57, 0xd5, 0x91, 0xe7, 0x6a, 0x30, 0x1f, + 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7f, + 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, 0x43, + 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x01, 0x00, 0x42, 0x01, 0x55, 0x7b, 0xd0, 0x16, 0x1a, 0x5d, 0x58, + 0xe8, 0xbb, 0x9b, 0xa8, 0x4d, 0xd7, 0xf3, 0xd7, 0xeb, 0x13, 0x94, 0x86, + 0xd6, 0x7f, 0x21, 0x0b, 0x47, 0xbc, 0x57, 0x9b, 0x92, 0x5d, 0x4f, 0x05, + 0x9f, 0x38, 0xa4, 0x10, 0x7c, 0xcf, 0x83, 0xbe, 0x06, 0x43, 0x46, 0x8d, + 0x08, 0xbc, 0x6a, 0xd7, 0x10, 0xa6, 0xfa, 0xab, 0xaf, 0x2f, 0x61, 0xa8, + 0x63, 0xf2, 0x65, 0xdf, 0x7f, 0x4c, 0x88, 0x12, 0x88, 0x4f, 0xb3, 0x69, + 0xd9, 0xff, 0x27, 0xc0, 0x0a, 0x97, 0x91, 0x8f, 0x56, 0xfb, 0x89, 0xc4, + 0xa8, 0xbb, 0x92, 0x2d, 0x1b, 0x73, 0xb0, 0xc6, 0xab, 0x36, 0xf4, 0x96, + 0x6c, 0x20, 0x08, 0xef, 0x0a, 0x1e, 0x66, 0x24, 0x45, 0x4f, 0x67, 0x00, + 0x40, 0xc8, 0x07, 0x54, 0x74, 0x33, 0x3b, 0xa6, 0xad, 0xbb, 0x23, 0x9f, + 0x66, 0xed, 0xa2, 0x44, 0x70, 0x34, 0xfb, 0x0e, 0xea, 0x01, 0xfd, 0xcf, + 0x78, 0x74, 0xdf, 0xa7, 0xad, 0x55, 0xb7, 0x5f, 0x4d, 0xf6, 0xd6, 0x3f, + 0xe0, 0x86, 0xce, 0x24, 0xc7, 0x42, 0xa9, 0x13, 0x14, 0x44, 0x35, 0x4b, + 0xb6, 0xdf, 0xc9, 0x60, 0xac, 0x0c, 0x7f, 0xd9, 0x93, 0x21, 0x4b, 0xee, + 0x9c, 0xe4, 0x49, 0x02, 0x98, 0xd3, 0x60, 0x7b, 0x5c, 0xbc, 0xd5, 0x30, + 0x2f, 0x07, 0xce, 0x44, 0x42, 0xc4, 0x0b, 0x99, 0xfe, 0xe6, 0x9f, 0xfc, + 0xb0, 0x78, 0x86, 0x51, 0x6d, 0xd1, 0x2c, 0x9d, 0xc6, 0x96, 0xfb, 0x85, + 0x82, 0xbb, 0x04, 0x2f, 0xf7, 0x62, 0x80, 0xef, 0x62, 0xda, 0x7f, 0xf6, + 0x0e, 0xac, 0x90, 0xb8, 0x56, 0xbd, 0x79, 0x3f, 0xf2, 0x80, 0x6e, 0xa3, + 0xd9, 0xb9, 0x0f, 0x5d, 0x3a, 0x07, 0x1d, 0x91, 0x93, 0x86, 0x4b, 0x29, + 0x4c, 0xe1, 0xdc, 0xb5, 0xe1, 0xe0, 0x33, 0x9d, 0xb3, 0xcb, 0x36, 0x91, + 0x4b, 0xfe, 0xa1, 0xb4, 0xee, 0xf0, 0xf9, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 51:3f:b9:74:38:70:b7:34:40:41:8d:30:93:06:99:ff + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=Symantec Corporation, OU=Symantec Trust Network, CN=Symantec Class 3 Secure Server CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b2:d8:05:ca:1c:74:2d:b5:17:56:39:c5:4a:52: + 09:96:e8:4b:d8:0c:f1:68:9f:9a:42:28:62:c3:a5: + 30:53:7e:55:11:82:5b:03:7a:0d:2f:e1:79:04:c9: + b4:96:77:19:81:01:94:59:f9:bc:f7:7a:99:27:82: + 2d:b7:83:dd:5a:27:7f:b2:03:7a:9c:53:25:e9:48: + 1f:46:4f:c8:9d:29:f8:be:79:56:f6:f7:fd:d9:3a: + 68:da:8b:4b:82:33:41:12:c3:c8:3c:cc:d6:96:7a: + 84:21:1a:22:04:03:27:17:8b:1c:68:61:93:0f:0e: + 51:80:33:1d:b4:b5:ce:eb:7e:d0:62:ac:ee:b3:7b: + 01:74:ef:69:35:eb:ca:d5:3d:a9:ee:97:98:ca:8d: + aa:44:0e:25:99:4a:15:96:a4:ce:6d:02:54:1f:2a: + 6a:26:e2:06:3a:63:48:ac:b4:4c:d1:75:93:50:ff: + 13:2f:d6:da:e1:c6:18:f5:9f:c9:25:5d:f3:00:3a: + de:26:4d:b4:29:09:cd:0f:3d:23:6f:16:4a:81:16: + fb:f2:83:10:c3:b8:d6:d8:55:32:3d:f1:bd:0f:bd: + 8c:52:95:4a:16:97:7a:52:21:63:75:2f:16:f9:c4: + 66:be:f5:b5:09:d8:ff:27:00:cd:44:7c:6f:4b:3f: + b0:f7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://s1.symcb.com/pca3-g5.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://s2.symcb.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.symauth.com/cps + User Notice: + Explicit Text: http://www.symauth.com/rpa + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-534 + X509v3 Subject Key Identifier: + 5F:60:CF:61:90:55:DF:84:43:14:8A:60:2A:B2:F5:7A:F4:43:18:EF + X509v3 Authority Key Identifier: + keyid:7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + + Signature Algorithm: sha256WithRSAEncryption + 5e:94:56:49:dd:8e:2d:65:f5:c1:36:51:b6:03:e3:da:9e:73: + 19:f2:1f:59:ab:58:7e:6c:26:05:2c:fa:81:d7:5c:23:17:22: + 2c:37:93:f7:86:ec:85:e6:b0:a3:fd:1f:e2:32:a8:45:6f:e1: + d9:fb:b9:af:d2:70:a0:32:42:65:bf:84:fe:16:2a:8f:3f:c5: + a6:d6:a3:93:7d:43:e9:74:21:91:35:28:f4:63:e9:2e:ed:f7: + f5:5c:7f:4b:9a:b5:20:e9:0a:bd:e0:45:10:0c:14:94:9a:5d: + a5:e3:4b:91:e8:24:9b:46:40:65:f4:22:72:cd:99:f8:88:11: + f5:f3:7f:e6:33:82:e6:a8:c5:7e:fe:d0:08:e2:25:58:08:71: + 68:e6:cd:a2:e6:14:de:4e:52:24:2d:fd:e5:79:13:53:e7:5e: + 2f:2d:4d:1b:6d:40:15:52:2b:f7:87:89:78:12:81:6e:d9:4d: + aa:2d:78:d4:c2:2c:3d:08:5f:87:91:9e:1f:0e:b0:de:30:52: + 64:86:89:aa:9d:66:9c:0e:76:0c:80:f2:74:d8:2a:f8:b8:3a: + ce:d7:d6:0f:11:be:6b:ab:14:f5:bd:41:a0:22:63:89:f1:ba: + 0f:6f:29:63:66:2d:3f:ac:8c:72:c5:fb:c7:e4:d4:0f:f2:3b: + 4f:8c:29:c7 +-----BEGIN CERTIFICATE----- +MIIFODCCBCCgAwIBAgIQUT+5dDhwtzRAQY0wkwaZ/zANBgkqhkiG9w0BAQsFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMTMxMDMxMDAwMDAwWhcNMjMxMDMwMjM1OTU5WjB+MQsw +CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV +BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxLzAtBgNVBAMTJlN5bWFudGVjIENs +YXNzIDMgU2VjdXJlIFNlcnZlciBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAstgFyhx0LbUXVjnFSlIJluhL2AzxaJ+aQihiw6UwU35VEYJb +A3oNL+F5BMm0lncZgQGUWfm893qZJ4Itt4PdWid/sgN6nFMl6UgfRk/InSn4vnlW +9vf92Tpo2otLgjNBEsPIPMzWlnqEIRoiBAMnF4scaGGTDw5RgDMdtLXO637QYqzu +s3sBdO9pNevK1T2p7peYyo2qRA4lmUoVlqTObQJUHypqJuIGOmNIrLRM0XWTUP8T +L9ba4cYY9Z/JJV3zADreJk20KQnNDz0jbxZKgRb78oMQw7jW2FUyPfG9D72MUpVK +Fpd6UiFjdS8W+cRmvvW1Cdj/JwDNRHxvSz+w9wIDAQABo4IBYzCCAV8wEgYDVR0T +AQH/BAgwBgEB/wIBADAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2Iu +Y29tL3BjYTMtZzUuY3JsMA4GA1UdDwEB/wQEAwIBBjAvBggrBgEFBQcBAQQjMCEw +HwYIKwYBBQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wawYDVR0gBGQwYjBgBgpg +hkgBhvhFAQc2MFIwJgYIKwYBBQUHAgEWGmh0dHA6Ly93d3cuc3ltYXV0aC5jb20v +Y3BzMCgGCCsGAQUFBwICMBwaGmh0dHA6Ly93d3cuc3ltYXV0aC5jb20vcnBhMCkG +A1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1hbnRlY1BLSS0xLTUzNDAdBgNVHQ4E +FgQUX2DPYZBV34RDFIpgKrL1evRDGO8wHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnz +Qzn6Aq8zMTMwDQYJKoZIhvcNAQELBQADggEBAF6UVkndji1l9cE2UbYD49qecxny +H1mrWH5sJgUs+oHXXCMXIiw3k/eG7IXmsKP9H+IyqEVv4dn7ua/ScKAyQmW/hP4W +Ko8/xabWo5N9Q+l0IZE1KPRj6S7t9/Vcf0uatSDpCr3gRRAMFJSaXaXjS5HoJJtG +QGX0InLNmfiIEfXzf+YzguaoxX7+0AjiJVgIcWjmzaLmFN5OUiQt/eV5E1PnXi8t +TRttQBVSK/eHiXgSgW7ZTaoteNTCLD0IX4eRnh8OsN4wUmSGiaqdZpwOdgyA8nTY +Kvi4Os7X1g8RvmurFPW9QaAiY4nxug9vKWNmLT+sjHLF+8fk1A/yO0+MKcc= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_43[] = { + 0x30, 0x82, 0x05, 0x38, 0x30, 0x82, 0x04, 0x20, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x51, 0x3f, 0xb9, 0x74, 0x38, 0x70, 0xb7, 0x34, 0x40, + 0x41, 0x8d, 0x30, 0x93, 0x06, 0x99, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x33, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x31, 0x30, 0x33, 0x30, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x7e, 0x31, 0x0b, 0x30, + 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1d, + 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x53, 0x79, 0x6d, + 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x16, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, + 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x26, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x20, 0x2d, + 0x20, 0x47, 0x34, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xb2, 0xd8, 0x05, 0xca, 0x1c, 0x74, 0x2d, 0xb5, 0x17, 0x56, 0x39, 0xc5, + 0x4a, 0x52, 0x09, 0x96, 0xe8, 0x4b, 0xd8, 0x0c, 0xf1, 0x68, 0x9f, 0x9a, + 0x42, 0x28, 0x62, 0xc3, 0xa5, 0x30, 0x53, 0x7e, 0x55, 0x11, 0x82, 0x5b, + 0x03, 0x7a, 0x0d, 0x2f, 0xe1, 0x79, 0x04, 0xc9, 0xb4, 0x96, 0x77, 0x19, + 0x81, 0x01, 0x94, 0x59, 0xf9, 0xbc, 0xf7, 0x7a, 0x99, 0x27, 0x82, 0x2d, + 0xb7, 0x83, 0xdd, 0x5a, 0x27, 0x7f, 0xb2, 0x03, 0x7a, 0x9c, 0x53, 0x25, + 0xe9, 0x48, 0x1f, 0x46, 0x4f, 0xc8, 0x9d, 0x29, 0xf8, 0xbe, 0x79, 0x56, + 0xf6, 0xf7, 0xfd, 0xd9, 0x3a, 0x68, 0xda, 0x8b, 0x4b, 0x82, 0x33, 0x41, + 0x12, 0xc3, 0xc8, 0x3c, 0xcc, 0xd6, 0x96, 0x7a, 0x84, 0x21, 0x1a, 0x22, + 0x04, 0x03, 0x27, 0x17, 0x8b, 0x1c, 0x68, 0x61, 0x93, 0x0f, 0x0e, 0x51, + 0x80, 0x33, 0x1d, 0xb4, 0xb5, 0xce, 0xeb, 0x7e, 0xd0, 0x62, 0xac, 0xee, + 0xb3, 0x7b, 0x01, 0x74, 0xef, 0x69, 0x35, 0xeb, 0xca, 0xd5, 0x3d, 0xa9, + 0xee, 0x97, 0x98, 0xca, 0x8d, 0xaa, 0x44, 0x0e, 0x25, 0x99, 0x4a, 0x15, + 0x96, 0xa4, 0xce, 0x6d, 0x02, 0x54, 0x1f, 0x2a, 0x6a, 0x26, 0xe2, 0x06, + 0x3a, 0x63, 0x48, 0xac, 0xb4, 0x4c, 0xd1, 0x75, 0x93, 0x50, 0xff, 0x13, + 0x2f, 0xd6, 0xda, 0xe1, 0xc6, 0x18, 0xf5, 0x9f, 0xc9, 0x25, 0x5d, 0xf3, + 0x00, 0x3a, 0xde, 0x26, 0x4d, 0xb4, 0x29, 0x09, 0xcd, 0x0f, 0x3d, 0x23, + 0x6f, 0x16, 0x4a, 0x81, 0x16, 0xfb, 0xf2, 0x83, 0x10, 0xc3, 0xb8, 0xd6, + 0xd8, 0x55, 0x32, 0x3d, 0xf1, 0xbd, 0x0f, 0xbd, 0x8c, 0x52, 0x95, 0x4a, + 0x16, 0x97, 0x7a, 0x52, 0x21, 0x63, 0x75, 0x2f, 0x16, 0xf9, 0xc4, 0x66, + 0xbe, 0xf5, 0xb5, 0x09, 0xd8, 0xff, 0x27, 0x00, 0xcd, 0x44, 0x7c, 0x6f, + 0x4b, 0x3f, 0xb0, 0xf7, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, + 0x63, 0x30, 0x82, 0x01, 0x5f, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x30, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x29, 0x30, 0x27, + 0x30, 0x25, 0xa0, 0x23, 0xa0, 0x21, 0x86, 0x1f, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x73, 0x31, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, 0x61, 0x33, 0x2d, 0x67, 0x35, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x2f, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x23, 0x30, 0x21, 0x30, + 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, + 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x32, 0x2e, 0x73, + 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x6b, 0x06, 0x03, + 0x55, 0x1d, 0x20, 0x04, 0x64, 0x30, 0x62, 0x30, 0x60, 0x06, 0x0a, 0x60, + 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, 0x36, 0x30, 0x52, 0x30, + 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, + 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x73, 0x79, 0x6d, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x70, 0x73, 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x02, 0x30, 0x1c, 0x1a, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x79, 0x6d, 0x61, 0x75, 0x74, + 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x30, 0x29, 0x06, + 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, + 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, + 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, + 0x2d, 0x35, 0x33, 0x34, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0x5f, 0x60, 0xcf, 0x61, 0x90, 0x55, 0xdf, 0x84, 0x43, + 0x14, 0x8a, 0x60, 0x2a, 0xb2, 0xf5, 0x7a, 0xf4, 0x43, 0x18, 0xef, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, + 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x5e, 0x94, 0x56, 0x49, 0xdd, 0x8e, 0x2d, 0x65, + 0xf5, 0xc1, 0x36, 0x51, 0xb6, 0x03, 0xe3, 0xda, 0x9e, 0x73, 0x19, 0xf2, + 0x1f, 0x59, 0xab, 0x58, 0x7e, 0x6c, 0x26, 0x05, 0x2c, 0xfa, 0x81, 0xd7, + 0x5c, 0x23, 0x17, 0x22, 0x2c, 0x37, 0x93, 0xf7, 0x86, 0xec, 0x85, 0xe6, + 0xb0, 0xa3, 0xfd, 0x1f, 0xe2, 0x32, 0xa8, 0x45, 0x6f, 0xe1, 0xd9, 0xfb, + 0xb9, 0xaf, 0xd2, 0x70, 0xa0, 0x32, 0x42, 0x65, 0xbf, 0x84, 0xfe, 0x16, + 0x2a, 0x8f, 0x3f, 0xc5, 0xa6, 0xd6, 0xa3, 0x93, 0x7d, 0x43, 0xe9, 0x74, + 0x21, 0x91, 0x35, 0x28, 0xf4, 0x63, 0xe9, 0x2e, 0xed, 0xf7, 0xf5, 0x5c, + 0x7f, 0x4b, 0x9a, 0xb5, 0x20, 0xe9, 0x0a, 0xbd, 0xe0, 0x45, 0x10, 0x0c, + 0x14, 0x94, 0x9a, 0x5d, 0xa5, 0xe3, 0x4b, 0x91, 0xe8, 0x24, 0x9b, 0x46, + 0x40, 0x65, 0xf4, 0x22, 0x72, 0xcd, 0x99, 0xf8, 0x88, 0x11, 0xf5, 0xf3, + 0x7f, 0xe6, 0x33, 0x82, 0xe6, 0xa8, 0xc5, 0x7e, 0xfe, 0xd0, 0x08, 0xe2, + 0x25, 0x58, 0x08, 0x71, 0x68, 0xe6, 0xcd, 0xa2, 0xe6, 0x14, 0xde, 0x4e, + 0x52, 0x24, 0x2d, 0xfd, 0xe5, 0x79, 0x13, 0x53, 0xe7, 0x5e, 0x2f, 0x2d, + 0x4d, 0x1b, 0x6d, 0x40, 0x15, 0x52, 0x2b, 0xf7, 0x87, 0x89, 0x78, 0x12, + 0x81, 0x6e, 0xd9, 0x4d, 0xaa, 0x2d, 0x78, 0xd4, 0xc2, 0x2c, 0x3d, 0x08, + 0x5f, 0x87, 0x91, 0x9e, 0x1f, 0x0e, 0xb0, 0xde, 0x30, 0x52, 0x64, 0x86, + 0x89, 0xaa, 0x9d, 0x66, 0x9c, 0x0e, 0x76, 0x0c, 0x80, 0xf2, 0x74, 0xd8, + 0x2a, 0xf8, 0xb8, 0x3a, 0xce, 0xd7, 0xd6, 0x0f, 0x11, 0xbe, 0x6b, 0xab, + 0x14, 0xf5, 0xbd, 0x41, 0xa0, 0x22, 0x63, 0x89, 0xf1, 0xba, 0x0f, 0x6f, + 0x29, 0x63, 0x66, 0x2d, 0x3f, 0xac, 0x8c, 0x72, 0xc5, 0xfb, 0xc7, 0xe4, + 0xd4, 0x0f, 0xf2, 0x3b, 0x4f, 0x8c, 0x29, 0xc7, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120036009 (0x7279aa9) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Validity + Not Before: Dec 19 20:07:32 2013 GMT + Not After : Dec 19 20:06:55 2017 GMT + Subject: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT SSL SHA2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:d1:e8:37:a7:76:8a:70:4b:19:f0:20:37:09:24: + 37:7f:ea:fb:78:e6:05:ba:6a:ad:4e:27:0d:fc:72: + 6a:d9:6c:21:c4:64:11:95:73:10:0a:5c:25:7b:88: + 6c:94:04:fd:c7:db:ae:7b:dc:4a:08:b3:3e:16:f1: + d0:ad:db:30:6d:d7:1a:1e:52:b5:3d:f0:47:19:03: + e2:7d:a6:bd:57:13:3f:54:ea:3a:a3:b1:77:fc:42: + f0:63:49:6a:91:80:2e:30:49:c0:8a:eb:2b:af:fe: + 3a:eb:07:5d:06:f7:e9:fd:84:0e:91:bd:09:20:29: + e8:6e:5d:09:ce:15:d3:e7:ef:db:50:eb:44:ef:18: + 57:ab:04:1d:bc:31:f9:f7:7b:2a:13:cf:d1:3d:51: + af:1b:c5:b5:7b:e7:b0:fc:53:bb:9a:e7:63:de:41: + 33:b6:47:24:69:5d:b8:46:a7:ff:ad:ab:df:4f:7a: + 78:25:27:21:26:34:ca:02:6e:37:51:f0:ed:58:1a: + 60:94:f6:c4:93:d8:dd:30:24:25:d7:1c:eb:19:94: + 35:5d:93:b2:ae:aa:29:83:73:c4:74:59:05:52:67: + 9d:da:67:51:39:05:3a:36:ea:f2:1e:76:2b:14:ae: + ec:3d:f9:14:99:8b:07:6e:bc:e7:0c:56:de:ac:be: + ae:db:75:32:90:9e:63:bd:74:bf:e0:0a:ca:f8:34: + 96:67:84:cd:d1:42:38:78:c7:99:b6:0c:ce:b6:0f: + e9:1b:cb:f4:59:be:11:0e:cb:2c:32:c8:fa:83:29: + 64:79:3c:8b:4b:f0:32:74:6c:f3:93:b8:96:6b:5d: + 57:5a:68:c1:cc:0c:79:8a:19:de:f5:49:02:5e:08: + 80:01:89:0c:32:cd:d2:d6:96:d5:4b:a0:f3:ec:bf: + ab:f4:7d:b3:a1:b9:7c:da:4e:d7:e5:b7:ac:b9:f2: + 25:5f:01:cb:8c:96:a8:28:ae:c1:33:5a:f6:3f:08: + 90:dc:eb:ff:39:d8:26:c8:12:9d:1c:9a:aa:a9:c0: + 16:8e:86:ed:67:52:96:00:7f:0d:92:3d:3d:d9:70: + 36:e5:ea:42:6f:1f:ae:95:e5:5b:5d:f8:d0:3a:c7: + d4:de:77:86:d0:fc:9e:4e:e2:e2:b8:a9:68:37:09: + c4:39:e3:85:b8:89:f3:1f:6e:b7:6d:1f:4a:2f:18: + 09:6f:de:4a:01:8f:14:c9:b7:a6:ee:a7:63:9f:33: + a4:54:7c:42:83:68:b8:a5:df:bf:ec:b9:1a:5d:13: + 3b:d9:ad:68:fd:20:0a:55:91:21:64:f9:d7:13:01: + a0:08:5d:59:89:1b:44:af:a4:ac:c7:05:10:fa:41: + 4a:a8:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6334.1.0 + CPS: http://cybertrust.omniroot.com/repository.cfm + + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + X509v3 Authority Key Identifier: + keyid:E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://cdp1.public-trust.com/CRL/Omniroot2025.crl + + X509v3 Subject Key Identifier: + 51:AF:24:26:9C:F4:68:22:57:80:26:2B:3B:46:62:15:7B:1E:CC:A5 + Signature Algorithm: sha256WithRSAEncryption + 76:85:c5:23:31:1f:b4:73:ea:a0:bc:a5:ed:df:45:43:6a:7f: + 69:20:1b:80:b2:fb:1c:dd:aa:7f:88:d3:31:41:36:f7:fb:fb: + 6b:ad:98:8c:78:1f:9d:11:67:3a:cd:4b:ec:a8:bc:9d:15:19: + c4:3b:0b:a7:93:ce:e8:fc:9d:5b:e8:1f:cb:56:ae:76:43:2b: + c7:13:51:77:41:a8:66:4c:5f:a7:d1:d7:aa:75:c5:1b:29:4c: + c9:f4:6d:a1:5e:a1:85:93:16:c2:cb:3b:ab:14:7d:44:fd:da: + 25:29:86:2a:fe:63:20:ca:d2:0b:c2:34:15:bb:af:5b:7f:8a: + e0:aa:ed:45:a6:ea:79:db:d8:35:66:54:43:de:37:33:d1:e4: + e0:cd:57:ca:71:b0:7d:e9:16:77:64:e8:59:97:b9:d5:2e:d1: + b4:91:da:77:71:f3:4a:0f:48:d2:34:99:60:95:37:ac:1f:01: + cd:10:9d:e8:2a:a5:20:c7:50:9b:b3:6c:49:78:2b:58:92:64: + 89:b8:95:36:a8:34:aa:f0:41:d2:95:5a:24:54:97:4d:6e:05: + c4:95:ad:c4:7a:a3:39:fb:79:06:8a:9b:a6:4f:d9:22:fa:44: + 4e:36:f3:c9:0f:a6:39:e7:80:b2:5e:bf:bd:39:d1:46:e5:55: + 47:db:bc:6e +-----BEGIN CERTIFICATE----- +MIIFhjCCBG6gAwIBAgIEByeaqTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTEzMTIxOTIwMDczMloX +DTE3MTIxOTIwMDY1NVowgYsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +YXRpb24xFTATBgNVBAsTDE1pY3Jvc29mdCBJVDEeMBwGA1UEAxMVTWljcm9zb2Z0 +IElUIFNTTCBTSEEyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0eg3 +p3aKcEsZ8CA3CSQ3f+r7eOYFumqtTicN/HJq2WwhxGQRlXMQClwle4hslAT9x9uu +e9xKCLM+FvHQrdswbdcaHlK1PfBHGQPifaa9VxM/VOo6o7F3/ELwY0lqkYAuMEnA +iusrr/466wddBvfp/YQOkb0JICnobl0JzhXT5+/bUOtE7xhXqwQdvDH593sqE8/R +PVGvG8W1e+ew/FO7mudj3kEztkckaV24Rqf/ravfT3p4JSchJjTKAm43UfDtWBpg +lPbEk9jdMCQl1xzrGZQ1XZOyrqopg3PEdFkFUmed2mdROQU6NuryHnYrFK7sPfkU +mYsHbrznDFberL6u23UykJ5jvXS/4ArK+DSWZ4TN0UI4eMeZtgzOtg/pG8v0Wb4R +DsssMsj6gylkeTyLS/AydGzzk7iWa11XWmjBzAx5ihne9UkCXgiAAYkMMs3S1pbV +S6Dz7L+r9H2zobl82k7X5besufIlXwHLjJaoKK7BM1r2PwiQ3Ov/OdgmyBKdHJqq +qcAWjobtZ1KWAH8Nkj092XA25epCbx+uleVbXfjQOsfU3neG0PyeTuLiuKloNwnE +OeOFuInzH263bR9KLxgJb95KAY8Uybem7qdjnzOkVHxCg2i4pd+/7LkaXRM72a1o +/SAKVZEhZPnXEwGgCF1ZiRtEr6SsxwUQ+kFKqPsCAwEAAaOCASAwggEcMBIGA1Ud +EwEB/wQIMAYBAf8CAQAwUwYDVR0gBEwwSjBIBgkrBgEEAbE+AQAwOzA5BggrBgEF +BQcCARYtaHR0cDovL2N5YmVydHJ1c3Qub21uaXJvb3QuY29tL3JlcG9zaXRvcnku +Y2ZtMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH +AwIwHwYDVR0jBBgwFoAU5Z1ZMIJHWMys+ghUNoZ7OrUETfAwQgYDVR0fBDswOTA3 +oDWgM4YxaHR0cDovL2NkcDEucHVibGljLXRydXN0LmNvbS9DUkwvT21uaXJvb3Qy +MDI1LmNybDAdBgNVHQ4EFgQUUa8kJpz0aCJXgCYrO0ZiFXsezKUwDQYJKoZIhvcN +AQELBQADggEBAHaFxSMxH7Rz6qC8pe3fRUNqf2kgG4Cy+xzdqn+I0zFBNvf7+2ut +mIx4H50RZzrNS+yovJ0VGcQ7C6eTzuj8nVvoH8tWrnZDK8cTUXdBqGZMX6fR16p1 +xRspTMn0baFeoYWTFsLLO6sUfUT92iUphir+YyDK0gvCNBW7r1t/iuCq7UWm6nnb +2DVmVEPeNzPR5ODNV8pxsH3pFndk6FmXudUu0bSR2ndx80oPSNI0mWCVN6wfAc0Q +negqpSDHUJuzbEl4K1iSZIm4lTaoNKrwQdKVWiRUl01uBcSVrcR6ozn7eQaKm6ZP +2SL6RE4288kPpjnngLJev7050UblVUfbvG4= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_44[] = { + 0x30, 0x82, 0x05, 0x86, 0x30, 0x82, 0x04, 0x6e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0x9a, 0xa9, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x5a, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, + 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, + 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x19, 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, + 0x31, 0x32, 0x31, 0x39, 0x32, 0x30, 0x30, 0x37, 0x33, 0x32, 0x5a, 0x17, + 0x0d, 0x31, 0x37, 0x31, 0x32, 0x31, 0x39, 0x32, 0x30, 0x30, 0x36, 0x35, + 0x35, 0x5a, 0x30, 0x81, 0x8b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, + 0x55, 0x04, 0x08, 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, + 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x0c, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, + 0x74, 0x20, 0x49, 0x54, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, + 0x20, 0x49, 0x54, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, + 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, + 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01, 0x00, 0xd1, 0xe8, 0x37, + 0xa7, 0x76, 0x8a, 0x70, 0x4b, 0x19, 0xf0, 0x20, 0x37, 0x09, 0x24, 0x37, + 0x7f, 0xea, 0xfb, 0x78, 0xe6, 0x05, 0xba, 0x6a, 0xad, 0x4e, 0x27, 0x0d, + 0xfc, 0x72, 0x6a, 0xd9, 0x6c, 0x21, 0xc4, 0x64, 0x11, 0x95, 0x73, 0x10, + 0x0a, 0x5c, 0x25, 0x7b, 0x88, 0x6c, 0x94, 0x04, 0xfd, 0xc7, 0xdb, 0xae, + 0x7b, 0xdc, 0x4a, 0x08, 0xb3, 0x3e, 0x16, 0xf1, 0xd0, 0xad, 0xdb, 0x30, + 0x6d, 0xd7, 0x1a, 0x1e, 0x52, 0xb5, 0x3d, 0xf0, 0x47, 0x19, 0x03, 0xe2, + 0x7d, 0xa6, 0xbd, 0x57, 0x13, 0x3f, 0x54, 0xea, 0x3a, 0xa3, 0xb1, 0x77, + 0xfc, 0x42, 0xf0, 0x63, 0x49, 0x6a, 0x91, 0x80, 0x2e, 0x30, 0x49, 0xc0, + 0x8a, 0xeb, 0x2b, 0xaf, 0xfe, 0x3a, 0xeb, 0x07, 0x5d, 0x06, 0xf7, 0xe9, + 0xfd, 0x84, 0x0e, 0x91, 0xbd, 0x09, 0x20, 0x29, 0xe8, 0x6e, 0x5d, 0x09, + 0xce, 0x15, 0xd3, 0xe7, 0xef, 0xdb, 0x50, 0xeb, 0x44, 0xef, 0x18, 0x57, + 0xab, 0x04, 0x1d, 0xbc, 0x31, 0xf9, 0xf7, 0x7b, 0x2a, 0x13, 0xcf, 0xd1, + 0x3d, 0x51, 0xaf, 0x1b, 0xc5, 0xb5, 0x7b, 0xe7, 0xb0, 0xfc, 0x53, 0xbb, + 0x9a, 0xe7, 0x63, 0xde, 0x41, 0x33, 0xb6, 0x47, 0x24, 0x69, 0x5d, 0xb8, + 0x46, 0xa7, 0xff, 0xad, 0xab, 0xdf, 0x4f, 0x7a, 0x78, 0x25, 0x27, 0x21, + 0x26, 0x34, 0xca, 0x02, 0x6e, 0x37, 0x51, 0xf0, 0xed, 0x58, 0x1a, 0x60, + 0x94, 0xf6, 0xc4, 0x93, 0xd8, 0xdd, 0x30, 0x24, 0x25, 0xd7, 0x1c, 0xeb, + 0x19, 0x94, 0x35, 0x5d, 0x93, 0xb2, 0xae, 0xaa, 0x29, 0x83, 0x73, 0xc4, + 0x74, 0x59, 0x05, 0x52, 0x67, 0x9d, 0xda, 0x67, 0x51, 0x39, 0x05, 0x3a, + 0x36, 0xea, 0xf2, 0x1e, 0x76, 0x2b, 0x14, 0xae, 0xec, 0x3d, 0xf9, 0x14, + 0x99, 0x8b, 0x07, 0x6e, 0xbc, 0xe7, 0x0c, 0x56, 0xde, 0xac, 0xbe, 0xae, + 0xdb, 0x75, 0x32, 0x90, 0x9e, 0x63, 0xbd, 0x74, 0xbf, 0xe0, 0x0a, 0xca, + 0xf8, 0x34, 0x96, 0x67, 0x84, 0xcd, 0xd1, 0x42, 0x38, 0x78, 0xc7, 0x99, + 0xb6, 0x0c, 0xce, 0xb6, 0x0f, 0xe9, 0x1b, 0xcb, 0xf4, 0x59, 0xbe, 0x11, + 0x0e, 0xcb, 0x2c, 0x32, 0xc8, 0xfa, 0x83, 0x29, 0x64, 0x79, 0x3c, 0x8b, + 0x4b, 0xf0, 0x32, 0x74, 0x6c, 0xf3, 0x93, 0xb8, 0x96, 0x6b, 0x5d, 0x57, + 0x5a, 0x68, 0xc1, 0xcc, 0x0c, 0x79, 0x8a, 0x19, 0xde, 0xf5, 0x49, 0x02, + 0x5e, 0x08, 0x80, 0x01, 0x89, 0x0c, 0x32, 0xcd, 0xd2, 0xd6, 0x96, 0xd5, + 0x4b, 0xa0, 0xf3, 0xec, 0xbf, 0xab, 0xf4, 0x7d, 0xb3, 0xa1, 0xb9, 0x7c, + 0xda, 0x4e, 0xd7, 0xe5, 0xb7, 0xac, 0xb9, 0xf2, 0x25, 0x5f, 0x01, 0xcb, + 0x8c, 0x96, 0xa8, 0x28, 0xae, 0xc1, 0x33, 0x5a, 0xf6, 0x3f, 0x08, 0x90, + 0xdc, 0xeb, 0xff, 0x39, 0xd8, 0x26, 0xc8, 0x12, 0x9d, 0x1c, 0x9a, 0xaa, + 0xa9, 0xc0, 0x16, 0x8e, 0x86, 0xed, 0x67, 0x52, 0x96, 0x00, 0x7f, 0x0d, + 0x92, 0x3d, 0x3d, 0xd9, 0x70, 0x36, 0xe5, 0xea, 0x42, 0x6f, 0x1f, 0xae, + 0x95, 0xe5, 0x5b, 0x5d, 0xf8, 0xd0, 0x3a, 0xc7, 0xd4, 0xde, 0x77, 0x86, + 0xd0, 0xfc, 0x9e, 0x4e, 0xe2, 0xe2, 0xb8, 0xa9, 0x68, 0x37, 0x09, 0xc4, + 0x39, 0xe3, 0x85, 0xb8, 0x89, 0xf3, 0x1f, 0x6e, 0xb7, 0x6d, 0x1f, 0x4a, + 0x2f, 0x18, 0x09, 0x6f, 0xde, 0x4a, 0x01, 0x8f, 0x14, 0xc9, 0xb7, 0xa6, + 0xee, 0xa7, 0x63, 0x9f, 0x33, 0xa4, 0x54, 0x7c, 0x42, 0x83, 0x68, 0xb8, + 0xa5, 0xdf, 0xbf, 0xec, 0xb9, 0x1a, 0x5d, 0x13, 0x3b, 0xd9, 0xad, 0x68, + 0xfd, 0x20, 0x0a, 0x55, 0x91, 0x21, 0x64, 0xf9, 0xd7, 0x13, 0x01, 0xa0, + 0x08, 0x5d, 0x59, 0x89, 0x1b, 0x44, 0xaf, 0xa4, 0xac, 0xc7, 0x05, 0x10, + 0xfa, 0x41, 0x4a, 0xa8, 0xfb, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x20, 0x30, 0x82, 0x01, 0x1c, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x53, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x4c, 0x30, + 0x4a, 0x30, 0x48, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xb1, 0x3e, + 0x01, 0x00, 0x30, 0x3b, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x63, 0x66, 0x6d, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x02, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0xe5, 0x9d, 0x59, 0x30, 0x82, 0x47, 0x58, 0xcc, 0xac, + 0xfa, 0x08, 0x54, 0x36, 0x86, 0x7b, 0x3a, 0xb5, 0x04, 0x4d, 0xf0, 0x30, + 0x42, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x3b, 0x30, 0x39, 0x30, 0x37, + 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x63, 0x64, 0x70, 0x31, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x2d, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x52, 0x4c, 0x2f, 0x4f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x32, + 0x30, 0x32, 0x35, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x51, 0xaf, 0x24, 0x26, 0x9c, 0xf4, + 0x68, 0x22, 0x57, 0x80, 0x26, 0x2b, 0x3b, 0x46, 0x62, 0x15, 0x7b, 0x1e, + 0xcc, 0xa5, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x76, 0x85, + 0xc5, 0x23, 0x31, 0x1f, 0xb4, 0x73, 0xea, 0xa0, 0xbc, 0xa5, 0xed, 0xdf, + 0x45, 0x43, 0x6a, 0x7f, 0x69, 0x20, 0x1b, 0x80, 0xb2, 0xfb, 0x1c, 0xdd, + 0xaa, 0x7f, 0x88, 0xd3, 0x31, 0x41, 0x36, 0xf7, 0xfb, 0xfb, 0x6b, 0xad, + 0x98, 0x8c, 0x78, 0x1f, 0x9d, 0x11, 0x67, 0x3a, 0xcd, 0x4b, 0xec, 0xa8, + 0xbc, 0x9d, 0x15, 0x19, 0xc4, 0x3b, 0x0b, 0xa7, 0x93, 0xce, 0xe8, 0xfc, + 0x9d, 0x5b, 0xe8, 0x1f, 0xcb, 0x56, 0xae, 0x76, 0x43, 0x2b, 0xc7, 0x13, + 0x51, 0x77, 0x41, 0xa8, 0x66, 0x4c, 0x5f, 0xa7, 0xd1, 0xd7, 0xaa, 0x75, + 0xc5, 0x1b, 0x29, 0x4c, 0xc9, 0xf4, 0x6d, 0xa1, 0x5e, 0xa1, 0x85, 0x93, + 0x16, 0xc2, 0xcb, 0x3b, 0xab, 0x14, 0x7d, 0x44, 0xfd, 0xda, 0x25, 0x29, + 0x86, 0x2a, 0xfe, 0x63, 0x20, 0xca, 0xd2, 0x0b, 0xc2, 0x34, 0x15, 0xbb, + 0xaf, 0x5b, 0x7f, 0x8a, 0xe0, 0xaa, 0xed, 0x45, 0xa6, 0xea, 0x79, 0xdb, + 0xd8, 0x35, 0x66, 0x54, 0x43, 0xde, 0x37, 0x33, 0xd1, 0xe4, 0xe0, 0xcd, + 0x57, 0xca, 0x71, 0xb0, 0x7d, 0xe9, 0x16, 0x77, 0x64, 0xe8, 0x59, 0x97, + 0xb9, 0xd5, 0x2e, 0xd1, 0xb4, 0x91, 0xda, 0x77, 0x71, 0xf3, 0x4a, 0x0f, + 0x48, 0xd2, 0x34, 0x99, 0x60, 0x95, 0x37, 0xac, 0x1f, 0x01, 0xcd, 0x10, + 0x9d, 0xe8, 0x2a, 0xa5, 0x20, 0xc7, 0x50, 0x9b, 0xb3, 0x6c, 0x49, 0x78, + 0x2b, 0x58, 0x92, 0x64, 0x89, 0xb8, 0x95, 0x36, 0xa8, 0x34, 0xaa, 0xf0, + 0x41, 0xd2, 0x95, 0x5a, 0x24, 0x54, 0x97, 0x4d, 0x6e, 0x05, 0xc4, 0x95, + 0xad, 0xc4, 0x7a, 0xa3, 0x39, 0xfb, 0x79, 0x06, 0x8a, 0x9b, 0xa6, 0x4f, + 0xd9, 0x22, 0xfa, 0x44, 0x4e, 0x36, 0xf3, 0xc9, 0x0f, 0xa6, 0x39, 0xe7, + 0x80, 0xb2, 0x5e, 0xbf, 0xbd, 0x39, 0xd1, 0x46, 0xe5, 0x55, 0x47, 0xdb, + 0xbc, 0x6e, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 67:3f:33:4f:21:53:36:52:c3:5e:15:d2:fd:b3:02:0f + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=CN, O=WoSign CA Limited, CN=Certification Authority of WoSign + Validity + Not Before: Aug 8 01:00:05 2009 GMT + Not After : Aug 8 01:00:05 2024 GMT + Subject: C=CN, O=WoSign CA Limited, CN=WoSign Class 3 OV Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bc:89:be:61:51:53:c8:2b:96:75:b3:5a:d3:0e: + 34:fe:4a:c2:9f:a3:18:83:a2:ac:e3:2e:5e:93:79: + 0b:13:49:5e:93:b2:8f:84:10:ed:91:8f:82:ba:ad: + 67:df:33:1b:ae:84:f2:55:b0:5b:f4:b3:9e:bc:e6: + 04:0f:1d:ef:04:5a:a8:0b:ec:12:6d:56:19:64:70: + 49:0f:57:92:f3:5f:21:a6:4d:b4:d2:96:2b:3c:32: + b3:ef:8f:59:0b:14:ba:6e:a2:9e:71:db:f2:88:3f: + 28:3b:ec:ce:be:47:ac:45:c7:8a:9e:fa:61:93:c5: + 49:17:b6:46:b6:f7:99:16:8c:1c:6e:31:ae:69:ce: + ed:c6:24:92:70:a1:cb:96:c3:6c:16:d0:ee:cc:4f: + 86:33:b3:41:e6:3d:3d:db:0e:8c:33:74:bb:c3:fc: + 0b:a7:fc:d1:71:e2:c1:0c:d4:f7:ba:3e:80:90:d4: + 48:eb:a2:83:70:d8:db:30:07:29:89:f9:81:21:2c: + ff:eb:47:f6:7a:6d:43:96:67:17:3e:f3:e2:73:51: + c7:76:1e:e9:1c:a0:ec:11:1a:b1:cf:1e:2d:9c:55: + ee:3b:c6:2d:ae:dc:66:65:91:a2:66:9c:ac:82:f1: + a4:17:b5:d7:43:83:c3:88:a0:64:de:ca:72:45:dc: + 38:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Client Authentication, TLS Web Server Authentication + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crls1.wosign.com/ca1.crl + + Authority Information Access: + OCSP - URI:http://ocsp1.wosign.com/ca1 + CA Issuers - URI:http://aia1.wosign.com/ca1-class3-server.cer + + X509v3 Subject Key Identifier: + 62:2E:81:D9:E3:42:79:14:A3:CD:D9:54:8A:6E:F8:DE:95:AA:8F:98 + X509v3 Authority Key Identifier: + keyid:E1:66:CF:0E:D1:F1:B3:4B:B7:06:20:14:FE:87:12:D5:F6:FE:FB:3E + + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.36305.1.3.2 + CPS: http://www.wosign.com/policy/ + + Signature Algorithm: sha1WithRSAEncryption + ab:70:aa:64:c4:0b:34:91:b9:63:20:5e:b0:9c:21:ff:25:79: + 6c:57:4e:56:44:58:83:b9:00:ce:2d:65:a8:6d:95:38:ea:82: + 2d:55:18:60:12:7e:1a:1d:6b:62:34:2c:d9:cd:17:00:43:84: + 3e:ad:bc:ff:26:85:1f:4a:a7:46:13:b0:7d:3b:0b:d9:4b:9d: + b0:cf:8d:f4:05:cb:12:29:fe:e1:97:c7:b7:c7:aa:53:7e:39: + 2d:9d:f6:d4:5e:b7:8c:15:6a:81:d2:37:1a:43:0e:cb:e6:30: + 21:43:83:69:0f:ef:6b:cd:10:f9:84:60:cf:89:e9:88:10:01: + af:09:f3:48:bb:07:09:75:01:84:fa:b1:1e:51:19:8f:c6:c9: + 85:65:16:5f:e0:56:7e:b7:bf:40:c2:d4:d0:05:1f:93:63:c9: + 24:08:3b:91:b2:35:e1:a4:8f:35:db:24:58:75:39:e4:dd:10: + 1a:b0:df:13:12:73:9e:6d:e7:67:3c:db:1c:1c:dd:10:dd:cc: + f4:07:09:b9:2e:e5:75:6d:97:b7:60:5b:89:70:81:d2:26:d8: + c6:09:2b:b2:05:7f:c4:b8:14:41:1e:07:f0:48:41:63:cb:0c: + aa:45:7e:84:f9:33:b3:58:87:bc:b1:d6:c2:65:c7:57:c6:95: + e8:85:90:b0:62:50:f5:ee:12:f1:d8:7e:73:cb:c0:c3:a0:25: + 17:23:37:91:ba:63:bd:84:af:f3:89:e0:51:c2:73:35:6d:63: + 86:21:f2:73:bd:c2:47:e0:4d:7e:46:37:4b:d0:f7:61:2a:c7: + 94:50:25:36:e8:ae:da:2e:1f:b8:08:b2:55:7c:6b:66:43:8f: + 02:1d:dd:a7:eb:98:00:a7:25:74:f5:93:1b:6d:26:bb:1d:e5: + b7:fc:21:25:26:d1:77:1b:a8:6e:aa:c3:4b:64:51:7f:91:0e: + 41:5c:19:83:a1:a8:1f:94:99:43:0f:99:db:18:dc:21:6f:76: + d1:9e:ea:a3:76:e0:f0:09:bc:b9:b4:f7:43:6c:1f:d3:2a:86: + 6a:2f:e0:6c:f1:83:39:d7:70:db:a2:91:ab:54:be:f4:47:88: + 8c:f0:10:d2:e4:ad:eb:7e:b1:ba:08:4b:67:04:a3:f2:e9:90: + 2b:81:e3:74:76:3d:00:9d:d2:bb:fc:a5:a0:15:1c:28:df:10: + 4f:47:d7:33:46:9d:b2:57:d2:c6:1f:fb:e4:59:4a:2b:28:a9: + 13:dd:b9:e9:93:b4:88:ee:e2:5b:a0:07:25:fe:8a:2e:78:e4: + b4:e1:d5:1d:f6:1a:3a:e3:1c:01:2a:1e:a1:86:54:9e:49:dc: + c9:59:e3:0d:6d:5a:13:36 +-----BEGIN CERTIFICATE----- +MIIFozCCA4ugAwIBAgIQZz8zTyFTNlLDXhXS/bMCDzANBgkqhkiG9w0BAQUFADBV +MQswCQYDVQQGEwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNV +BAMTIUNlcnRpZmljYXRpb24gQXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgw +MTAwMDVaFw0yNDA4MDgwMTAwMDVaME8xCzAJBgNVBAYTAkNOMRowGAYDVQQKExFX +b1NpZ24gQ0EgTGltaXRlZDEkMCIGA1UEAxMbV29TaWduIENsYXNzIDMgT1YgU2Vy +dmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvIm+YVFTyCuW +dbNa0w40/krCn6MYg6Ks4y5ek3kLE0lek7KPhBDtkY+Cuq1n3zMbroTyVbBb9LOe +vOYEDx3vBFqoC+wSbVYZZHBJD1eS818hpk200pYrPDKz749ZCxS6bqKecdvyiD8o +O+zOvkesRceKnvphk8VJF7ZGtveZFowcbjGuac7txiSScKHLlsNsFtDuzE+GM7NB +5j092w6MM3S7w/wLp/zRceLBDNT3uj6AkNRI66KDcNjbMAcpifmBISz/60f2em1D +lmcXPvPic1HHdh7pHKDsERqxzx4tnFXuO8YtrtxmZZGiZpysgvGkF7XXQ4PDiKBk +3spyRdw4+wIDAQABo4IBczCCAW8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQG +CCsGAQUFBwMCBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/AgEAMDAGA1UdHwQp +MCcwJaAjoCGGH2h0dHA6Ly9jcmxzMS53b3NpZ24uY29tL2NhMS5jcmwwcQYIKwYB +BQUHAQEEZTBjMCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcDEud29zaWduLmNvbS9j +YTEwOAYIKwYBBQUHMAKGLGh0dHA6Ly9haWExLndvc2lnbi5jb20vY2ExLWNsYXNz +My1zZXJ2ZXIuY2VyMB0GA1UdDgQWBBRiLoHZ40J5FKPN2VSKbvjelaqPmDAfBgNV +HSMEGDAWgBThZs8O0fGzS7cGIBT+hxLV9v77PjBFBgNVHSAEPjA8MDoGCysGAQQB +gptRAQMCMCswKQYIKwYBBQUHAgEWHWh0dHA6Ly93d3cud29zaWduLmNvbS9wb2xp +Y3kvMA0GCSqGSIb3DQEBBQUAA4ICAQCrcKpkxAs0kbljIF6wnCH/JXlsV05WRFiD +uQDOLWWobZU46oItVRhgEn4aHWtiNCzZzRcAQ4Q+rbz/JoUfSqdGE7B9OwvZS52w +z430BcsSKf7hl8e3x6pTfjktnfbUXreMFWqB0jcaQw7L5jAhQ4NpD+9rzRD5hGDP +iemIEAGvCfNIuwcJdQGE+rEeURmPxsmFZRZf4FZ+t79AwtTQBR+TY8kkCDuRsjXh +pI812yRYdTnk3RAasN8TEnOebednPNscHN0Q3cz0Bwm5LuV1bZe3YFuJcIHSJtjG +CSuyBX/EuBRBHgfwSEFjywyqRX6E+TOzWIe8sdbCZcdXxpXohZCwYlD17hLx2H5z +y8DDoCUXIzeRumO9hK/zieBRwnM1bWOGIfJzvcJH4E1+RjdL0PdhKseUUCU26K7a +Lh+4CLJVfGtmQ48CHd2n65gApyV09ZMbbSa7HeW3/CElJtF3G6huqsNLZFF/kQ5B +XBmDoagflJlDD5nbGNwhb3bRnuqjduDwCby5tPdDbB/TKoZqL+Bs8YM513DbopGr +VL70R4iM8BDS5K3rfrG6CEtnBKPy6ZArgeN0dj0AndK7/KWgFRwo3xBPR9czRp2y +V9LGH/vkWUorKKkT3bnpk7SI7uJboAcl/ooueOS04dUd9ho64xwBKh6hhlSeSdzJ +WeMNbVoTNg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_45[] = { + 0x30, 0x82, 0x05, 0xa3, 0x30, 0x82, 0x03, 0x8b, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x67, 0x3f, 0x33, 0x4f, 0x21, 0x53, 0x36, 0x52, 0xc3, + 0x5e, 0x15, 0xd2, 0xfd, 0xb3, 0x02, 0x0f, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x55, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, + 0x4e, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, + 0x57, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x41, 0x20, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x65, 0x64, 0x31, 0x2a, 0x30, 0x28, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x21, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x57, 0x6f, 0x53, 0x69, 0x67, + 0x6e, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30, 0x38, 0x30, 0x38, 0x30, + 0x31, 0x30, 0x30, 0x30, 0x35, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x38, + 0x30, 0x38, 0x30, 0x31, 0x30, 0x30, 0x30, 0x35, 0x5a, 0x30, 0x4f, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, 0x4e, + 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x57, + 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x41, 0x20, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x65, 0x64, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x1b, 0x57, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x4f, 0x56, 0x20, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, + 0x01, 0x01, 0x00, 0xbc, 0x89, 0xbe, 0x61, 0x51, 0x53, 0xc8, 0x2b, 0x96, + 0x75, 0xb3, 0x5a, 0xd3, 0x0e, 0x34, 0xfe, 0x4a, 0xc2, 0x9f, 0xa3, 0x18, + 0x83, 0xa2, 0xac, 0xe3, 0x2e, 0x5e, 0x93, 0x79, 0x0b, 0x13, 0x49, 0x5e, + 0x93, 0xb2, 0x8f, 0x84, 0x10, 0xed, 0x91, 0x8f, 0x82, 0xba, 0xad, 0x67, + 0xdf, 0x33, 0x1b, 0xae, 0x84, 0xf2, 0x55, 0xb0, 0x5b, 0xf4, 0xb3, 0x9e, + 0xbc, 0xe6, 0x04, 0x0f, 0x1d, 0xef, 0x04, 0x5a, 0xa8, 0x0b, 0xec, 0x12, + 0x6d, 0x56, 0x19, 0x64, 0x70, 0x49, 0x0f, 0x57, 0x92, 0xf3, 0x5f, 0x21, + 0xa6, 0x4d, 0xb4, 0xd2, 0x96, 0x2b, 0x3c, 0x32, 0xb3, 0xef, 0x8f, 0x59, + 0x0b, 0x14, 0xba, 0x6e, 0xa2, 0x9e, 0x71, 0xdb, 0xf2, 0x88, 0x3f, 0x28, + 0x3b, 0xec, 0xce, 0xbe, 0x47, 0xac, 0x45, 0xc7, 0x8a, 0x9e, 0xfa, 0x61, + 0x93, 0xc5, 0x49, 0x17, 0xb6, 0x46, 0xb6, 0xf7, 0x99, 0x16, 0x8c, 0x1c, + 0x6e, 0x31, 0xae, 0x69, 0xce, 0xed, 0xc6, 0x24, 0x92, 0x70, 0xa1, 0xcb, + 0x96, 0xc3, 0x6c, 0x16, 0xd0, 0xee, 0xcc, 0x4f, 0x86, 0x33, 0xb3, 0x41, + 0xe6, 0x3d, 0x3d, 0xdb, 0x0e, 0x8c, 0x33, 0x74, 0xbb, 0xc3, 0xfc, 0x0b, + 0xa7, 0xfc, 0xd1, 0x71, 0xe2, 0xc1, 0x0c, 0xd4, 0xf7, 0xba, 0x3e, 0x80, + 0x90, 0xd4, 0x48, 0xeb, 0xa2, 0x83, 0x70, 0xd8, 0xdb, 0x30, 0x07, 0x29, + 0x89, 0xf9, 0x81, 0x21, 0x2c, 0xff, 0xeb, 0x47, 0xf6, 0x7a, 0x6d, 0x43, + 0x96, 0x67, 0x17, 0x3e, 0xf3, 0xe2, 0x73, 0x51, 0xc7, 0x76, 0x1e, 0xe9, + 0x1c, 0xa0, 0xec, 0x11, 0x1a, 0xb1, 0xcf, 0x1e, 0x2d, 0x9c, 0x55, 0xee, + 0x3b, 0xc6, 0x2d, 0xae, 0xdc, 0x66, 0x65, 0x91, 0xa2, 0x66, 0x9c, 0xac, + 0x82, 0xf1, 0xa4, 0x17, 0xb5, 0xd7, 0x43, 0x83, 0xc3, 0x88, 0xa0, 0x64, + 0xde, 0xca, 0x72, 0x45, 0xdc, 0x38, 0xfb, 0x02, 0x03, 0x01, 0x00, 0x01, + 0xa3, 0x82, 0x01, 0x73, 0x30, 0x82, 0x01, 0x6f, 0x30, 0x0e, 0x06, 0x03, + 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x12, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, + 0x02, 0x01, 0x00, 0x30, 0x30, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x29, + 0x30, 0x27, 0x30, 0x25, 0xa0, 0x23, 0xa0, 0x21, 0x86, 0x1f, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x31, 0x2e, 0x77, + 0x6f, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x61, + 0x31, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x71, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x65, 0x30, 0x63, 0x30, 0x27, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x1b, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x31, 0x2e, + 0x77, 0x6f, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, + 0x61, 0x31, 0x30, 0x38, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x02, 0x86, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, + 0x69, 0x61, 0x31, 0x2e, 0x77, 0x6f, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x61, 0x31, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x33, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x65, 0x72, + 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x62, + 0x2e, 0x81, 0xd9, 0xe3, 0x42, 0x79, 0x14, 0xa3, 0xcd, 0xd9, 0x54, 0x8a, + 0x6e, 0xf8, 0xde, 0x95, 0xaa, 0x8f, 0x98, 0x30, 0x1f, 0x06, 0x03, 0x55, + 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe1, 0x66, 0xcf, 0x0e, + 0xd1, 0xf1, 0xb3, 0x4b, 0xb7, 0x06, 0x20, 0x14, 0xfe, 0x87, 0x12, 0xd5, + 0xf6, 0xfe, 0xfb, 0x3e, 0x30, 0x45, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x3e, 0x30, 0x3c, 0x30, 0x3a, 0x06, 0x0b, 0x2b, 0x06, 0x01, 0x04, 0x01, + 0x82, 0x9b, 0x51, 0x01, 0x03, 0x02, 0x30, 0x2b, 0x30, 0x29, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1d, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x6f, 0x73, + 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0xab, + 0x70, 0xaa, 0x64, 0xc4, 0x0b, 0x34, 0x91, 0xb9, 0x63, 0x20, 0x5e, 0xb0, + 0x9c, 0x21, 0xff, 0x25, 0x79, 0x6c, 0x57, 0x4e, 0x56, 0x44, 0x58, 0x83, + 0xb9, 0x00, 0xce, 0x2d, 0x65, 0xa8, 0x6d, 0x95, 0x38, 0xea, 0x82, 0x2d, + 0x55, 0x18, 0x60, 0x12, 0x7e, 0x1a, 0x1d, 0x6b, 0x62, 0x34, 0x2c, 0xd9, + 0xcd, 0x17, 0x00, 0x43, 0x84, 0x3e, 0xad, 0xbc, 0xff, 0x26, 0x85, 0x1f, + 0x4a, 0xa7, 0x46, 0x13, 0xb0, 0x7d, 0x3b, 0x0b, 0xd9, 0x4b, 0x9d, 0xb0, + 0xcf, 0x8d, 0xf4, 0x05, 0xcb, 0x12, 0x29, 0xfe, 0xe1, 0x97, 0xc7, 0xb7, + 0xc7, 0xaa, 0x53, 0x7e, 0x39, 0x2d, 0x9d, 0xf6, 0xd4, 0x5e, 0xb7, 0x8c, + 0x15, 0x6a, 0x81, 0xd2, 0x37, 0x1a, 0x43, 0x0e, 0xcb, 0xe6, 0x30, 0x21, + 0x43, 0x83, 0x69, 0x0f, 0xef, 0x6b, 0xcd, 0x10, 0xf9, 0x84, 0x60, 0xcf, + 0x89, 0xe9, 0x88, 0x10, 0x01, 0xaf, 0x09, 0xf3, 0x48, 0xbb, 0x07, 0x09, + 0x75, 0x01, 0x84, 0xfa, 0xb1, 0x1e, 0x51, 0x19, 0x8f, 0xc6, 0xc9, 0x85, + 0x65, 0x16, 0x5f, 0xe0, 0x56, 0x7e, 0xb7, 0xbf, 0x40, 0xc2, 0xd4, 0xd0, + 0x05, 0x1f, 0x93, 0x63, 0xc9, 0x24, 0x08, 0x3b, 0x91, 0xb2, 0x35, 0xe1, + 0xa4, 0x8f, 0x35, 0xdb, 0x24, 0x58, 0x75, 0x39, 0xe4, 0xdd, 0x10, 0x1a, + 0xb0, 0xdf, 0x13, 0x12, 0x73, 0x9e, 0x6d, 0xe7, 0x67, 0x3c, 0xdb, 0x1c, + 0x1c, 0xdd, 0x10, 0xdd, 0xcc, 0xf4, 0x07, 0x09, 0xb9, 0x2e, 0xe5, 0x75, + 0x6d, 0x97, 0xb7, 0x60, 0x5b, 0x89, 0x70, 0x81, 0xd2, 0x26, 0xd8, 0xc6, + 0x09, 0x2b, 0xb2, 0x05, 0x7f, 0xc4, 0xb8, 0x14, 0x41, 0x1e, 0x07, 0xf0, + 0x48, 0x41, 0x63, 0xcb, 0x0c, 0xaa, 0x45, 0x7e, 0x84, 0xf9, 0x33, 0xb3, + 0x58, 0x87, 0xbc, 0xb1, 0xd6, 0xc2, 0x65, 0xc7, 0x57, 0xc6, 0x95, 0xe8, + 0x85, 0x90, 0xb0, 0x62, 0x50, 0xf5, 0xee, 0x12, 0xf1, 0xd8, 0x7e, 0x73, + 0xcb, 0xc0, 0xc3, 0xa0, 0x25, 0x17, 0x23, 0x37, 0x91, 0xba, 0x63, 0xbd, + 0x84, 0xaf, 0xf3, 0x89, 0xe0, 0x51, 0xc2, 0x73, 0x35, 0x6d, 0x63, 0x86, + 0x21, 0xf2, 0x73, 0xbd, 0xc2, 0x47, 0xe0, 0x4d, 0x7e, 0x46, 0x37, 0x4b, + 0xd0, 0xf7, 0x61, 0x2a, 0xc7, 0x94, 0x50, 0x25, 0x36, 0xe8, 0xae, 0xda, + 0x2e, 0x1f, 0xb8, 0x08, 0xb2, 0x55, 0x7c, 0x6b, 0x66, 0x43, 0x8f, 0x02, + 0x1d, 0xdd, 0xa7, 0xeb, 0x98, 0x00, 0xa7, 0x25, 0x74, 0xf5, 0x93, 0x1b, + 0x6d, 0x26, 0xbb, 0x1d, 0xe5, 0xb7, 0xfc, 0x21, 0x25, 0x26, 0xd1, 0x77, + 0x1b, 0xa8, 0x6e, 0xaa, 0xc3, 0x4b, 0x64, 0x51, 0x7f, 0x91, 0x0e, 0x41, + 0x5c, 0x19, 0x83, 0xa1, 0xa8, 0x1f, 0x94, 0x99, 0x43, 0x0f, 0x99, 0xdb, + 0x18, 0xdc, 0x21, 0x6f, 0x76, 0xd1, 0x9e, 0xea, 0xa3, 0x76, 0xe0, 0xf0, + 0x09, 0xbc, 0xb9, 0xb4, 0xf7, 0x43, 0x6c, 0x1f, 0xd3, 0x2a, 0x86, 0x6a, + 0x2f, 0xe0, 0x6c, 0xf1, 0x83, 0x39, 0xd7, 0x70, 0xdb, 0xa2, 0x91, 0xab, + 0x54, 0xbe, 0xf4, 0x47, 0x88, 0x8c, 0xf0, 0x10, 0xd2, 0xe4, 0xad, 0xeb, + 0x7e, 0xb1, 0xba, 0x08, 0x4b, 0x67, 0x04, 0xa3, 0xf2, 0xe9, 0x90, 0x2b, + 0x81, 0xe3, 0x74, 0x76, 0x3d, 0x00, 0x9d, 0xd2, 0xbb, 0xfc, 0xa5, 0xa0, + 0x15, 0x1c, 0x28, 0xdf, 0x10, 0x4f, 0x47, 0xd7, 0x33, 0x46, 0x9d, 0xb2, + 0x57, 0xd2, 0xc6, 0x1f, 0xfb, 0xe4, 0x59, 0x4a, 0x2b, 0x28, 0xa9, 0x13, + 0xdd, 0xb9, 0xe9, 0x93, 0xb4, 0x88, 0xee, 0xe2, 0x5b, 0xa0, 0x07, 0x25, + 0xfe, 0x8a, 0x2e, 0x78, 0xe4, 0xb4, 0xe1, 0xd5, 0x1d, 0xf6, 0x1a, 0x3a, + 0xe3, 0x1c, 0x01, 0x2a, 0x1e, 0xa1, 0x86, 0x54, 0x9e, 0x49, 0xdc, 0xc9, + 0x59, 0xe3, 0x0d, 0x6d, 0x5a, 0x13, 0x36, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120040007 (0x727aa47) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Validity + Not Before: May 7 17:04:09 2014 GMT + Not After : May 7 17:03:30 2018 GMT + Subject: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT SSL SHA2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:d1:e8:37:a7:76:8a:70:4b:19:f0:20:37:09:24: + 37:7f:ea:fb:78:e6:05:ba:6a:ad:4e:27:0d:fc:72: + 6a:d9:6c:21:c4:64:11:95:73:10:0a:5c:25:7b:88: + 6c:94:04:fd:c7:db:ae:7b:dc:4a:08:b3:3e:16:f1: + d0:ad:db:30:6d:d7:1a:1e:52:b5:3d:f0:47:19:03: + e2:7d:a6:bd:57:13:3f:54:ea:3a:a3:b1:77:fc:42: + f0:63:49:6a:91:80:2e:30:49:c0:8a:eb:2b:af:fe: + 3a:eb:07:5d:06:f7:e9:fd:84:0e:91:bd:09:20:29: + e8:6e:5d:09:ce:15:d3:e7:ef:db:50:eb:44:ef:18: + 57:ab:04:1d:bc:31:f9:f7:7b:2a:13:cf:d1:3d:51: + af:1b:c5:b5:7b:e7:b0:fc:53:bb:9a:e7:63:de:41: + 33:b6:47:24:69:5d:b8:46:a7:ff:ad:ab:df:4f:7a: + 78:25:27:21:26:34:ca:02:6e:37:51:f0:ed:58:1a: + 60:94:f6:c4:93:d8:dd:30:24:25:d7:1c:eb:19:94: + 35:5d:93:b2:ae:aa:29:83:73:c4:74:59:05:52:67: + 9d:da:67:51:39:05:3a:36:ea:f2:1e:76:2b:14:ae: + ec:3d:f9:14:99:8b:07:6e:bc:e7:0c:56:de:ac:be: + ae:db:75:32:90:9e:63:bd:74:bf:e0:0a:ca:f8:34: + 96:67:84:cd:d1:42:38:78:c7:99:b6:0c:ce:b6:0f: + e9:1b:cb:f4:59:be:11:0e:cb:2c:32:c8:fa:83:29: + 64:79:3c:8b:4b:f0:32:74:6c:f3:93:b8:96:6b:5d: + 57:5a:68:c1:cc:0c:79:8a:19:de:f5:49:02:5e:08: + 80:01:89:0c:32:cd:d2:d6:96:d5:4b:a0:f3:ec:bf: + ab:f4:7d:b3:a1:b9:7c:da:4e:d7:e5:b7:ac:b9:f2: + 25:5f:01:cb:8c:96:a8:28:ae:c1:33:5a:f6:3f:08: + 90:dc:eb:ff:39:d8:26:c8:12:9d:1c:9a:aa:a9:c0: + 16:8e:86:ed:67:52:96:00:7f:0d:92:3d:3d:d9:70: + 36:e5:ea:42:6f:1f:ae:95:e5:5b:5d:f8:d0:3a:c7: + d4:de:77:86:d0:fc:9e:4e:e2:e2:b8:a9:68:37:09: + c4:39:e3:85:b8:89:f3:1f:6e:b7:6d:1f:4a:2f:18: + 09:6f:de:4a:01:8f:14:c9:b7:a6:ee:a7:63:9f:33: + a4:54:7c:42:83:68:b8:a5:df:bf:ec:b9:1a:5d:13: + 3b:d9:ad:68:fd:20:0a:55:91:21:64:f9:d7:13:01: + a0:08:5d:59:89:1b:44:af:a4:ac:c7:05:10:fa:41: + 4a:a8:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6334.1.0 + CPS: http://cybertrust.omniroot.com/repository.cfm + Policy: 1.3.6.1.4.1.311.42.1 + + Authority Information Access: + OCSP - URI:http://ocsp.omniroot.com/baltimoreroot + + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication, OCSP Signing + X509v3 Authority Key Identifier: + keyid:E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://cdp1.public-trust.com/CRL/Omniroot2025.crl + + X509v3 Subject Key Identifier: + 51:AF:24:26:9C:F4:68:22:57:80:26:2B:3B:46:62:15:7B:1E:CC:A5 + Signature Algorithm: sha256WithRSAEncryption + 69:62:f6:84:91:00:c4:6f:82:7b:24:e1:42:a2:a5:8b:82:5c: + a7:c5:44:cb:e7:52:76:63:d3:76:9e:78:e2:69:35:b1:38:ba: + b0:96:c6:1f:ac:7b:c6:b2:65:77:8b:7d:8d:ae:64:b9:a5:8c: + 17:ca:58:65:c3:ad:82:f5:c5:a2:f5:01:13:93:c6:7e:44:e5: + c4:61:fa:03:b6:56:c1:72:e1:c8:28:c5:69:21:8f:ac:6e:fd: + 7f:43:83:36:b8:c0:d6:a0:28:fe:1a:45:be:fd:93:8c:8d:a4: + 64:79:1f:14:db:a1:9f:21:dc:c0:4e:7b:17:22:17:b1:b6:3c: + d3:9b:e2:0a:a3:7e:99:b0:c1:ac:d8:f4:86:df:3c:da:7d:14: + 9c:40:c1:7c:d2:18:6f:f1:4f:26:45:09:95:94:5c:da:d0:98: + f8:f4:4c:82:96:10:de:ac:30:cb:2b:ae:f9:92:ea:bf:79:03: + fc:1e:3f:ac:09:a4:3f:65:fd:91:4f:96:24:a7:ce:b4:4e:6a: + 96:29:17:ae:c0:a8:df:17:22:f4:17:e3:dc:1c:39:06:56:10: + ea:ea:b5:74:17:3c:4e:dd:7e:91:0a:a8:0b:78:07:a7:31:44: + 08:31:ab:18:84:0f:12:9c:e7:de:84:2c:e9:6d:93:45:bf:a8: + c1:3f:34:dc +-----BEGIN CERTIFICATE----- +MIIF4TCCBMmgAwIBAgIEByeqRzANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTE0MDUwNzE3MDQwOVoX +DTE4MDUwNzE3MDMzMFowgYsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +YXRpb24xFTATBgNVBAsTDE1pY3Jvc29mdCBJVDEeMBwGA1UEAxMVTWljcm9zb2Z0 +IElUIFNTTCBTSEEyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0eg3 +p3aKcEsZ8CA3CSQ3f+r7eOYFumqtTicN/HJq2WwhxGQRlXMQClwle4hslAT9x9uu +e9xKCLM+FvHQrdswbdcaHlK1PfBHGQPifaa9VxM/VOo6o7F3/ELwY0lqkYAuMEnA +iusrr/466wddBvfp/YQOkb0JICnobl0JzhXT5+/bUOtE7xhXqwQdvDH593sqE8/R +PVGvG8W1e+ew/FO7mudj3kEztkckaV24Rqf/ravfT3p4JSchJjTKAm43UfDtWBpg +lPbEk9jdMCQl1xzrGZQ1XZOyrqopg3PEdFkFUmed2mdROQU6NuryHnYrFK7sPfkU +mYsHbrznDFberL6u23UykJ5jvXS/4ArK+DSWZ4TN0UI4eMeZtgzOtg/pG8v0Wb4R +DsssMsj6gylkeTyLS/AydGzzk7iWa11XWmjBzAx5ihne9UkCXgiAAYkMMs3S1pbV +S6Dz7L+r9H2zobl82k7X5besufIlXwHLjJaoKK7BM1r2PwiQ3Ov/OdgmyBKdHJqq +qcAWjobtZ1KWAH8Nkj092XA25epCbx+uleVbXfjQOsfU3neG0PyeTuLiuKloNwnE +OeOFuInzH263bR9KLxgJb95KAY8Uybem7qdjnzOkVHxCg2i4pd+/7LkaXRM72a1o +/SAKVZEhZPnXEwGgCF1ZiRtEr6SsxwUQ+kFKqPsCAwEAAaOCAXswggF3MBIGA1Ud +EwEB/wQIMAYBAf8CAQAwYAYDVR0gBFkwVzBIBgkrBgEEAbE+AQAwOzA5BggrBgEF +BQcCARYtaHR0cDovL2N5YmVydHJ1c3Qub21uaXJvb3QuY29tL3JlcG9zaXRvcnku +Y2ZtMAsGCSsGAQQBgjcqATBCBggrBgEFBQcBAQQ2MDQwMgYIKwYBBQUHMAGGJmh0 +dHA6Ly9vY3NwLm9tbmlyb290LmNvbS9iYWx0aW1vcmVyb290MA4GA1UdDwEB/wQE +AwIBhjAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMJMB8G +A1UdIwQYMBaAFOWdWTCCR1jMrPoIVDaGezq1BE3wMEIGA1UdHwQ7MDkwN6A1oDOG +MWh0dHA6Ly9jZHAxLnB1YmxpYy10cnVzdC5jb20vQ1JML09tbmlyb290MjAyNS5j +cmwwHQYDVR0OBBYEFFGvJCac9GgiV4AmKztGYhV7HsylMA0GCSqGSIb3DQEBCwUA +A4IBAQBpYvaEkQDEb4J7JOFCoqWLglynxUTL51J2Y9N2nnjiaTWxOLqwlsYfrHvG +smV3i32NrmS5pYwXylhlw62C9cWi9QETk8Z+ROXEYfoDtlbBcuHIKMVpIY+sbv1/ +Q4M2uMDWoCj+GkW+/ZOMjaRkeR8U26GfIdzATnsXIhextjzTm+IKo36ZsMGs2PSG +3zzafRScQMF80hhv8U8mRQmVlFza0Jj49EyClhDerDDLK675kuq/eQP8Hj+sCaQ/ +Zf2RT5Ykp860TmqWKReuwKjfFyL0F+PcHDkGVhDq6rV0FzxO3X6RCqgLeAenMUQI +MasYhA8SnOfehCzpbZNFv6jBPzTc +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_46[] = { + 0x30, 0x82, 0x05, 0xe1, 0x30, 0x82, 0x04, 0xc9, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0xaa, 0x47, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x5a, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, + 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, + 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x19, 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, + 0x30, 0x35, 0x30, 0x37, 0x31, 0x37, 0x30, 0x34, 0x30, 0x39, 0x5a, 0x17, + 0x0d, 0x31, 0x38, 0x30, 0x35, 0x30, 0x37, 0x31, 0x37, 0x30, 0x33, 0x33, + 0x30, 0x5a, 0x30, 0x81, 0x8b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, + 0x55, 0x04, 0x08, 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, + 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x0c, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, + 0x74, 0x20, 0x49, 0x54, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, + 0x20, 0x49, 0x54, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, + 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, + 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01, 0x00, 0xd1, 0xe8, 0x37, + 0xa7, 0x76, 0x8a, 0x70, 0x4b, 0x19, 0xf0, 0x20, 0x37, 0x09, 0x24, 0x37, + 0x7f, 0xea, 0xfb, 0x78, 0xe6, 0x05, 0xba, 0x6a, 0xad, 0x4e, 0x27, 0x0d, + 0xfc, 0x72, 0x6a, 0xd9, 0x6c, 0x21, 0xc4, 0x64, 0x11, 0x95, 0x73, 0x10, + 0x0a, 0x5c, 0x25, 0x7b, 0x88, 0x6c, 0x94, 0x04, 0xfd, 0xc7, 0xdb, 0xae, + 0x7b, 0xdc, 0x4a, 0x08, 0xb3, 0x3e, 0x16, 0xf1, 0xd0, 0xad, 0xdb, 0x30, + 0x6d, 0xd7, 0x1a, 0x1e, 0x52, 0xb5, 0x3d, 0xf0, 0x47, 0x19, 0x03, 0xe2, + 0x7d, 0xa6, 0xbd, 0x57, 0x13, 0x3f, 0x54, 0xea, 0x3a, 0xa3, 0xb1, 0x77, + 0xfc, 0x42, 0xf0, 0x63, 0x49, 0x6a, 0x91, 0x80, 0x2e, 0x30, 0x49, 0xc0, + 0x8a, 0xeb, 0x2b, 0xaf, 0xfe, 0x3a, 0xeb, 0x07, 0x5d, 0x06, 0xf7, 0xe9, + 0xfd, 0x84, 0x0e, 0x91, 0xbd, 0x09, 0x20, 0x29, 0xe8, 0x6e, 0x5d, 0x09, + 0xce, 0x15, 0xd3, 0xe7, 0xef, 0xdb, 0x50, 0xeb, 0x44, 0xef, 0x18, 0x57, + 0xab, 0x04, 0x1d, 0xbc, 0x31, 0xf9, 0xf7, 0x7b, 0x2a, 0x13, 0xcf, 0xd1, + 0x3d, 0x51, 0xaf, 0x1b, 0xc5, 0xb5, 0x7b, 0xe7, 0xb0, 0xfc, 0x53, 0xbb, + 0x9a, 0xe7, 0x63, 0xde, 0x41, 0x33, 0xb6, 0x47, 0x24, 0x69, 0x5d, 0xb8, + 0x46, 0xa7, 0xff, 0xad, 0xab, 0xdf, 0x4f, 0x7a, 0x78, 0x25, 0x27, 0x21, + 0x26, 0x34, 0xca, 0x02, 0x6e, 0x37, 0x51, 0xf0, 0xed, 0x58, 0x1a, 0x60, + 0x94, 0xf6, 0xc4, 0x93, 0xd8, 0xdd, 0x30, 0x24, 0x25, 0xd7, 0x1c, 0xeb, + 0x19, 0x94, 0x35, 0x5d, 0x93, 0xb2, 0xae, 0xaa, 0x29, 0x83, 0x73, 0xc4, + 0x74, 0x59, 0x05, 0x52, 0x67, 0x9d, 0xda, 0x67, 0x51, 0x39, 0x05, 0x3a, + 0x36, 0xea, 0xf2, 0x1e, 0x76, 0x2b, 0x14, 0xae, 0xec, 0x3d, 0xf9, 0x14, + 0x99, 0x8b, 0x07, 0x6e, 0xbc, 0xe7, 0x0c, 0x56, 0xde, 0xac, 0xbe, 0xae, + 0xdb, 0x75, 0x32, 0x90, 0x9e, 0x63, 0xbd, 0x74, 0xbf, 0xe0, 0x0a, 0xca, + 0xf8, 0x34, 0x96, 0x67, 0x84, 0xcd, 0xd1, 0x42, 0x38, 0x78, 0xc7, 0x99, + 0xb6, 0x0c, 0xce, 0xb6, 0x0f, 0xe9, 0x1b, 0xcb, 0xf4, 0x59, 0xbe, 0x11, + 0x0e, 0xcb, 0x2c, 0x32, 0xc8, 0xfa, 0x83, 0x29, 0x64, 0x79, 0x3c, 0x8b, + 0x4b, 0xf0, 0x32, 0x74, 0x6c, 0xf3, 0x93, 0xb8, 0x96, 0x6b, 0x5d, 0x57, + 0x5a, 0x68, 0xc1, 0xcc, 0x0c, 0x79, 0x8a, 0x19, 0xde, 0xf5, 0x49, 0x02, + 0x5e, 0x08, 0x80, 0x01, 0x89, 0x0c, 0x32, 0xcd, 0xd2, 0xd6, 0x96, 0xd5, + 0x4b, 0xa0, 0xf3, 0xec, 0xbf, 0xab, 0xf4, 0x7d, 0xb3, 0xa1, 0xb9, 0x7c, + 0xda, 0x4e, 0xd7, 0xe5, 0xb7, 0xac, 0xb9, 0xf2, 0x25, 0x5f, 0x01, 0xcb, + 0x8c, 0x96, 0xa8, 0x28, 0xae, 0xc1, 0x33, 0x5a, 0xf6, 0x3f, 0x08, 0x90, + 0xdc, 0xeb, 0xff, 0x39, 0xd8, 0x26, 0xc8, 0x12, 0x9d, 0x1c, 0x9a, 0xaa, + 0xa9, 0xc0, 0x16, 0x8e, 0x86, 0xed, 0x67, 0x52, 0x96, 0x00, 0x7f, 0x0d, + 0x92, 0x3d, 0x3d, 0xd9, 0x70, 0x36, 0xe5, 0xea, 0x42, 0x6f, 0x1f, 0xae, + 0x95, 0xe5, 0x5b, 0x5d, 0xf8, 0xd0, 0x3a, 0xc7, 0xd4, 0xde, 0x77, 0x86, + 0xd0, 0xfc, 0x9e, 0x4e, 0xe2, 0xe2, 0xb8, 0xa9, 0x68, 0x37, 0x09, 0xc4, + 0x39, 0xe3, 0x85, 0xb8, 0x89, 0xf3, 0x1f, 0x6e, 0xb7, 0x6d, 0x1f, 0x4a, + 0x2f, 0x18, 0x09, 0x6f, 0xde, 0x4a, 0x01, 0x8f, 0x14, 0xc9, 0xb7, 0xa6, + 0xee, 0xa7, 0x63, 0x9f, 0x33, 0xa4, 0x54, 0x7c, 0x42, 0x83, 0x68, 0xb8, + 0xa5, 0xdf, 0xbf, 0xec, 0xb9, 0x1a, 0x5d, 0x13, 0x3b, 0xd9, 0xad, 0x68, + 0xfd, 0x20, 0x0a, 0x55, 0x91, 0x21, 0x64, 0xf9, 0xd7, 0x13, 0x01, 0xa0, + 0x08, 0x5d, 0x59, 0x89, 0x1b, 0x44, 0xaf, 0xa4, 0xac, 0xc7, 0x05, 0x10, + 0xfa, 0x41, 0x4a, 0xa8, 0xfb, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x7b, 0x30, 0x82, 0x01, 0x77, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x60, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x59, 0x30, + 0x57, 0x30, 0x48, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xb1, 0x3e, + 0x01, 0x00, 0x30, 0x3b, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x63, 0x66, 0x6d, 0x30, 0x0b, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, + 0x82, 0x37, 0x2a, 0x01, 0x30, 0x42, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x01, 0x01, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x26, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x6f, 0x6d, + 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x6f, 0x6f, 0x74, + 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x86, 0x30, 0x27, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, + 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, + 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x09, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe5, 0x9d, + 0x59, 0x30, 0x82, 0x47, 0x58, 0xcc, 0xac, 0xfa, 0x08, 0x54, 0x36, 0x86, + 0x7b, 0x3a, 0xb5, 0x04, 0x4d, 0xf0, 0x30, 0x42, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x3b, 0x30, 0x39, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, + 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x64, 0x70, 0x31, + 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x52, 0x4c, 0x2f, 0x4f, 0x6d, + 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x32, 0x30, 0x32, 0x35, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0x51, 0xaf, 0x24, 0x26, 0x9c, 0xf4, 0x68, 0x22, 0x57, 0x80, 0x26, + 0x2b, 0x3b, 0x46, 0x62, 0x15, 0x7b, 0x1e, 0xcc, 0xa5, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0x69, 0x62, 0xf6, 0x84, 0x91, 0x00, 0xc4, + 0x6f, 0x82, 0x7b, 0x24, 0xe1, 0x42, 0xa2, 0xa5, 0x8b, 0x82, 0x5c, 0xa7, + 0xc5, 0x44, 0xcb, 0xe7, 0x52, 0x76, 0x63, 0xd3, 0x76, 0x9e, 0x78, 0xe2, + 0x69, 0x35, 0xb1, 0x38, 0xba, 0xb0, 0x96, 0xc6, 0x1f, 0xac, 0x7b, 0xc6, + 0xb2, 0x65, 0x77, 0x8b, 0x7d, 0x8d, 0xae, 0x64, 0xb9, 0xa5, 0x8c, 0x17, + 0xca, 0x58, 0x65, 0xc3, 0xad, 0x82, 0xf5, 0xc5, 0xa2, 0xf5, 0x01, 0x13, + 0x93, 0xc6, 0x7e, 0x44, 0xe5, 0xc4, 0x61, 0xfa, 0x03, 0xb6, 0x56, 0xc1, + 0x72, 0xe1, 0xc8, 0x28, 0xc5, 0x69, 0x21, 0x8f, 0xac, 0x6e, 0xfd, 0x7f, + 0x43, 0x83, 0x36, 0xb8, 0xc0, 0xd6, 0xa0, 0x28, 0xfe, 0x1a, 0x45, 0xbe, + 0xfd, 0x93, 0x8c, 0x8d, 0xa4, 0x64, 0x79, 0x1f, 0x14, 0xdb, 0xa1, 0x9f, + 0x21, 0xdc, 0xc0, 0x4e, 0x7b, 0x17, 0x22, 0x17, 0xb1, 0xb6, 0x3c, 0xd3, + 0x9b, 0xe2, 0x0a, 0xa3, 0x7e, 0x99, 0xb0, 0xc1, 0xac, 0xd8, 0xf4, 0x86, + 0xdf, 0x3c, 0xda, 0x7d, 0x14, 0x9c, 0x40, 0xc1, 0x7c, 0xd2, 0x18, 0x6f, + 0xf1, 0x4f, 0x26, 0x45, 0x09, 0x95, 0x94, 0x5c, 0xda, 0xd0, 0x98, 0xf8, + 0xf4, 0x4c, 0x82, 0x96, 0x10, 0xde, 0xac, 0x30, 0xcb, 0x2b, 0xae, 0xf9, + 0x92, 0xea, 0xbf, 0x79, 0x03, 0xfc, 0x1e, 0x3f, 0xac, 0x09, 0xa4, 0x3f, + 0x65, 0xfd, 0x91, 0x4f, 0x96, 0x24, 0xa7, 0xce, 0xb4, 0x4e, 0x6a, 0x96, + 0x29, 0x17, 0xae, 0xc0, 0xa8, 0xdf, 0x17, 0x22, 0xf4, 0x17, 0xe3, 0xdc, + 0x1c, 0x39, 0x06, 0x56, 0x10, 0xea, 0xea, 0xb5, 0x74, 0x17, 0x3c, 0x4e, + 0xdd, 0x7e, 0x91, 0x0a, 0xa8, 0x0b, 0x78, 0x07, 0xa7, 0x31, 0x44, 0x08, + 0x31, 0xab, 0x18, 0x84, 0x0f, 0x12, 0x9c, 0xe7, 0xde, 0x84, 0x2c, 0xe9, + 0x6d, 0x93, 0x45, 0xbf, 0xa8, 0xc1, 0x3f, 0x34, 0xdc, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 6e:cc:7a:a5:a7:03:20:09:b8:ce:bc:f4:e9:52:d4:91 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Validity + Not Before: Feb 8 00:00:00 2010 GMT + Not After : Feb 7 23:59:59 2020 GMT + Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 Secure Server CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b1:87:84:1f:c2:0c:45:f5:bc:ab:25:97:a7:ad: + a2:3e:9c:ba:f6:c1:39:b8:8b:ca:c2:ac:56:c6:e5: + bb:65:8e:44:4f:4d:ce:6f:ed:09:4a:d4:af:4e:10: + 9c:68:8b:2e:95:7b:89:9b:13:ca:e2:34:34:c1:f3: + 5b:f3:49:7b:62:83:48:81:74:d1:88:78:6c:02:53: + f9:bc:7f:43:26:57:58:33:83:3b:33:0a:17:b0:d0: + 4e:91:24:ad:86:7d:64:12:dc:74:4a:34:a1:1d:0a: + ea:96:1d:0b:15:fc:a3:4b:3b:ce:63:88:d0:f8:2d: + 0c:94:86:10:ca:b6:9a:3d:ca:eb:37:9c:00:48:35: + 86:29:50:78:e8:45:63:cd:19:41:4f:f5:95:ec:7b: + 98:d4:c4:71:b3:50:be:28:b3:8f:a0:b9:53:9c:f5: + ca:2c:23:a9:fd:14:06:e8:18:b4:9a:e8:3c:6e:81: + fd:e4:cd:35:36:b3:51:d3:69:ec:12:ba:56:6e:6f: + 9b:57:c5:8b:14:e7:0e:c7:9c:ed:4a:54:6a:c9:4d: + c5:bf:11:b1:ae:1c:67:81:cb:44:55:33:99:7f:24: + 9b:3f:53:45:7f:86:1a:f3:3c:fa:6d:7f:81:f5:b8: + 4a:d3:f5:85:37:1c:b5:a6:d0:09:e4:18:7b:38:4e: + fa:0f + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://ocsp.verisign.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.23.3 + CPS: https://www.verisign.com/cps + User Notice: + Explicit Text: https://www.verisign.com/rpa + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.verisign.com/pca3-g5.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + 1.3.6.1.5.5.7.1.12: + 0_.].[0Y0W0U..image/gif0!0.0...+..............k...j.H.,{..0%.#http://logo.verisign.com/vslogo.gif + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-6 + X509v3 Subject Key Identifier: + 0D:44:5C:16:53:44:C1:82:7E:1D:20:AB:25:F4:01:63:D8:BE:79:A5 + X509v3 Authority Key Identifier: + keyid:7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + + Signature Algorithm: sha1WithRSAEncryption + 0c:83:24:ef:dd:c3:0c:d9:58:9c:fe:36:b6:eb:8a:80:4b:d1: + a3:f7:9d:f3:cc:53:ef:82:9e:a3:a1:e6:97:c1:58:9d:75:6c: + e0:1d:1b:4c:fa:d1:c1:2d:05:c0:ea:6e:b2:22:70:55:d9:20: + 33:40:33:07:c2:65:83:fa:8f:43:37:9b:ea:0e:9a:6c:70:ee: + f6:9c:80:3b:d9:37:f4:7a:6d:ec:d0:18:7d:49:4a:ca:99:c7: + 19:28:a2:be:d8:77:24:f7:85:26:86:6d:87:05:40:41:67:d1: + 27:3a:ed:dc:48:1d:22:cd:0b:0b:8b:bc:f4:b1:7b:fd:b4:99: + a8:e9:76:2a:e1:1a:2d:87:6e:74:d3:88:dd:1e:22:c6:df:16: + b6:2b:82:14:0a:94:5c:f2:50:ec:af:ce:ff:62:37:0d:ad:65: + d3:06:41:53:ed:02:14:c8:b5:58:28:a1:ac:e0:5b:ec:b3:7f: + 95:4a:fb:03:c8:ad:26:db:e6:66:78:12:4a:d9:9f:42:fb:e1: + 98:e6:42:83:9b:8f:8f:67:24:e8:61:19:b5:dd:cd:b5:0b:26: + 05:8e:c3:6e:c4:c8:75:b8:46:cf:e2:18:06:5e:a9:ae:a8:81: + 9a:47:16:de:0c:28:6c:25:27:b9:de:b7:84:58:c6:1f:38:1e: + a4:c4:cb:66 +-----BEGIN CERTIFICATE----- +MIIF7DCCBNSgAwIBAgIQbsx6pacDIAm4zrz06VLUkTANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMTAwMjA4MDAwMDAwWhcNMjAwMjA3MjM1OTU5WjCBtTEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg +aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDEvMC0GA1UEAxMmVmVy +aVNpZ24gQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCxh4QfwgxF9byrJZenraI+nLr2wTm4i8rCrFbG +5btljkRPTc5v7QlK1K9OEJxoiy6Ve4mbE8riNDTB81vzSXtig0iBdNGIeGwCU/m8 +f0MmV1gzgzszChew0E6RJK2GfWQS3HRKNKEdCuqWHQsV/KNLO85jiND4LQyUhhDK +tpo9yus3nABINYYpUHjoRWPNGUFP9ZXse5jUxHGzUL4os4+guVOc9cosI6n9FAbo +GLSa6Dxugf3kzTU2s1HTaewSulZub5tXxYsU5w7HnO1KVGrJTcW/EbGuHGeBy0RV +M5l/JJs/U0V/hhrzPPptf4H1uErT9YU3HLWm0AnkGHs4TvoPAgMBAAGjggHfMIIB +2zA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZlcmlz +aWduLmNvbTASBgNVHRMBAf8ECDAGAQH/AgEAMHAGA1UdIARpMGcwZQYLYIZIAYb4 +RQEHFwMwVjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2Nw +czAqBggrBgEFBQcCAjAeGhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDQG +A1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzUu +Y3JsMA4GA1UdDwEB/wQEAwIBBjBtBggrBgEFBQcBDARhMF+hXaBbMFkwVzBVFglp +bWFnZS9naWYwITAfMAcGBSsOAwIaBBSP5dMahqyNjmvDz4Bq1EgYLHsZLjAlFiNo +dHRwOi8vbG9nby52ZXJpc2lnbi5jb20vdnNsb2dvLmdpZjAoBgNVHREEITAfpB0w +GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItNjAdBgNVHQ4EFgQUDURcFlNEwYJ+ +HSCrJfQBY9i+eaUwHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwDQYJ +KoZIhvcNAQEFBQADggEBAAyDJO/dwwzZWJz+NrbrioBL0aP3nfPMU++CnqOh5pfB +WJ11bOAdG0z60cEtBcDqbrIicFXZIDNAMwfCZYP6j0M3m+oOmmxw7vacgDvZN/R6 +bezQGH1JSsqZxxkoor7YdyT3hSaGbYcFQEFn0Sc67dxIHSLNCwuLvPSxe/20majp +dirhGi2HbnTTiN0eIsbfFrYrghQKlFzyUOyvzv9iNw2tZdMGQVPtAhTItVgooazg +W+yzf5VK+wPIrSbb5mZ4EkrZn0L74ZjmQoObj49nJOhhGbXdzbULJgWOw27EyHW4 +Rs/iGAZeqa6ogZpHFt4MKGwlJ7net4RYxh84HqTEy2Y= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_47[] = { + 0x30, 0x82, 0x05, 0xec, 0x30, 0x82, 0x04, 0xd4, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x6e, 0xcc, 0x7a, 0xa5, 0xa7, 0x03, 0x20, 0x09, 0xb8, + 0xce, 0xbc, 0xf4, 0xe9, 0x52, 0xd4, 0x91, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x32, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, 0x30, 0x32, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xb5, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3b, 0x30, + 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x32, 0x54, 0x65, 0x72, 0x6d, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, 0x20, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x31, 0x30, 0x31, 0x2f, + 0x30, 0x2d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x26, 0x56, 0x65, 0x72, + 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, + 0x33, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xb1, 0x87, 0x84, 0x1f, + 0xc2, 0x0c, 0x45, 0xf5, 0xbc, 0xab, 0x25, 0x97, 0xa7, 0xad, 0xa2, 0x3e, + 0x9c, 0xba, 0xf6, 0xc1, 0x39, 0xb8, 0x8b, 0xca, 0xc2, 0xac, 0x56, 0xc6, + 0xe5, 0xbb, 0x65, 0x8e, 0x44, 0x4f, 0x4d, 0xce, 0x6f, 0xed, 0x09, 0x4a, + 0xd4, 0xaf, 0x4e, 0x10, 0x9c, 0x68, 0x8b, 0x2e, 0x95, 0x7b, 0x89, 0x9b, + 0x13, 0xca, 0xe2, 0x34, 0x34, 0xc1, 0xf3, 0x5b, 0xf3, 0x49, 0x7b, 0x62, + 0x83, 0x48, 0x81, 0x74, 0xd1, 0x88, 0x78, 0x6c, 0x02, 0x53, 0xf9, 0xbc, + 0x7f, 0x43, 0x26, 0x57, 0x58, 0x33, 0x83, 0x3b, 0x33, 0x0a, 0x17, 0xb0, + 0xd0, 0x4e, 0x91, 0x24, 0xad, 0x86, 0x7d, 0x64, 0x12, 0xdc, 0x74, 0x4a, + 0x34, 0xa1, 0x1d, 0x0a, 0xea, 0x96, 0x1d, 0x0b, 0x15, 0xfc, 0xa3, 0x4b, + 0x3b, 0xce, 0x63, 0x88, 0xd0, 0xf8, 0x2d, 0x0c, 0x94, 0x86, 0x10, 0xca, + 0xb6, 0x9a, 0x3d, 0xca, 0xeb, 0x37, 0x9c, 0x00, 0x48, 0x35, 0x86, 0x29, + 0x50, 0x78, 0xe8, 0x45, 0x63, 0xcd, 0x19, 0x41, 0x4f, 0xf5, 0x95, 0xec, + 0x7b, 0x98, 0xd4, 0xc4, 0x71, 0xb3, 0x50, 0xbe, 0x28, 0xb3, 0x8f, 0xa0, + 0xb9, 0x53, 0x9c, 0xf5, 0xca, 0x2c, 0x23, 0xa9, 0xfd, 0x14, 0x06, 0xe8, + 0x18, 0xb4, 0x9a, 0xe8, 0x3c, 0x6e, 0x81, 0xfd, 0xe4, 0xcd, 0x35, 0x36, + 0xb3, 0x51, 0xd3, 0x69, 0xec, 0x12, 0xba, 0x56, 0x6e, 0x6f, 0x9b, 0x57, + 0xc5, 0x8b, 0x14, 0xe7, 0x0e, 0xc7, 0x9c, 0xed, 0x4a, 0x54, 0x6a, 0xc9, + 0x4d, 0xc5, 0xbf, 0x11, 0xb1, 0xae, 0x1c, 0x67, 0x81, 0xcb, 0x44, 0x55, + 0x33, 0x99, 0x7f, 0x24, 0x9b, 0x3f, 0x53, 0x45, 0x7f, 0x86, 0x1a, 0xf3, + 0x3c, 0xfa, 0x6d, 0x7f, 0x81, 0xf5, 0xb8, 0x4a, 0xd3, 0xf5, 0x85, 0x37, + 0x1c, 0xb5, 0xa6, 0xd0, 0x09, 0xe4, 0x18, 0x7b, 0x38, 0x4e, 0xfa, 0x0f, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0xdf, 0x30, 0x82, 0x01, + 0xdb, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, + 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, + 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, + 0x02, 0x01, 0x00, 0x30, 0x70, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x69, + 0x30, 0x67, 0x30, 0x65, 0x06, 0x0b, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, + 0x45, 0x01, 0x07, 0x17, 0x03, 0x30, 0x56, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, + 0x73, 0x30, 0x2a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x02, 0x30, 0x1e, 0x1a, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, + 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x30, 0x34, 0x06, + 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2d, 0x30, 0x2b, 0x30, 0x29, 0xa0, 0x27, + 0xa0, 0x25, 0x86, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, 0x61, 0x33, 0x2d, 0x67, 0x35, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x6d, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, 0xa1, + 0x5d, 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, 0x1f, + 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, 0x8f, + 0xe5, 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, 0x6a, + 0xd4, 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x76, + 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x76, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, 0x28, + 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x21, 0x30, 0x1f, 0xa4, 0x1d, 0x30, + 0x1b, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x10, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, + 0x2d, 0x32, 0x2d, 0x36, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0x0d, 0x44, 0x5c, 0x16, 0x53, 0x44, 0xc1, 0x82, 0x7e, + 0x1d, 0x20, 0xab, 0x25, 0xf4, 0x01, 0x63, 0xd8, 0xbe, 0x79, 0xa5, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, + 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x0c, 0x83, 0x24, 0xef, 0xdd, 0xc3, 0x0c, 0xd9, + 0x58, 0x9c, 0xfe, 0x36, 0xb6, 0xeb, 0x8a, 0x80, 0x4b, 0xd1, 0xa3, 0xf7, + 0x9d, 0xf3, 0xcc, 0x53, 0xef, 0x82, 0x9e, 0xa3, 0xa1, 0xe6, 0x97, 0xc1, + 0x58, 0x9d, 0x75, 0x6c, 0xe0, 0x1d, 0x1b, 0x4c, 0xfa, 0xd1, 0xc1, 0x2d, + 0x05, 0xc0, 0xea, 0x6e, 0xb2, 0x22, 0x70, 0x55, 0xd9, 0x20, 0x33, 0x40, + 0x33, 0x07, 0xc2, 0x65, 0x83, 0xfa, 0x8f, 0x43, 0x37, 0x9b, 0xea, 0x0e, + 0x9a, 0x6c, 0x70, 0xee, 0xf6, 0x9c, 0x80, 0x3b, 0xd9, 0x37, 0xf4, 0x7a, + 0x6d, 0xec, 0xd0, 0x18, 0x7d, 0x49, 0x4a, 0xca, 0x99, 0xc7, 0x19, 0x28, + 0xa2, 0xbe, 0xd8, 0x77, 0x24, 0xf7, 0x85, 0x26, 0x86, 0x6d, 0x87, 0x05, + 0x40, 0x41, 0x67, 0xd1, 0x27, 0x3a, 0xed, 0xdc, 0x48, 0x1d, 0x22, 0xcd, + 0x0b, 0x0b, 0x8b, 0xbc, 0xf4, 0xb1, 0x7b, 0xfd, 0xb4, 0x99, 0xa8, 0xe9, + 0x76, 0x2a, 0xe1, 0x1a, 0x2d, 0x87, 0x6e, 0x74, 0xd3, 0x88, 0xdd, 0x1e, + 0x22, 0xc6, 0xdf, 0x16, 0xb6, 0x2b, 0x82, 0x14, 0x0a, 0x94, 0x5c, 0xf2, + 0x50, 0xec, 0xaf, 0xce, 0xff, 0x62, 0x37, 0x0d, 0xad, 0x65, 0xd3, 0x06, + 0x41, 0x53, 0xed, 0x02, 0x14, 0xc8, 0xb5, 0x58, 0x28, 0xa1, 0xac, 0xe0, + 0x5b, 0xec, 0xb3, 0x7f, 0x95, 0x4a, 0xfb, 0x03, 0xc8, 0xad, 0x26, 0xdb, + 0xe6, 0x66, 0x78, 0x12, 0x4a, 0xd9, 0x9f, 0x42, 0xfb, 0xe1, 0x98, 0xe6, + 0x42, 0x83, 0x9b, 0x8f, 0x8f, 0x67, 0x24, 0xe8, 0x61, 0x19, 0xb5, 0xdd, + 0xcd, 0xb5, 0x0b, 0x26, 0x05, 0x8e, 0xc3, 0x6e, 0xc4, 0xc8, 0x75, 0xb8, + 0x46, 0xcf, 0xe2, 0x18, 0x06, 0x5e, 0xa9, 0xae, 0xa8, 0x81, 0x9a, 0x47, + 0x16, 0xde, 0x0c, 0x28, 0x6c, 0x25, 0x27, 0xb9, 0xde, 0xb7, 0x84, 0x58, + 0xc6, 0x1f, 0x38, 0x1e, 0xa4, 0xc4, 0xcb, 0x66, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 2c:48:dd:93:0d:f5:59:8e:f9:3c:99:54:7a:60:ed:43 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Validity + Not Before: Nov 8 00:00:00 2006 GMT + Not After : Nov 7 23:59:59 2016 GMT + Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)06, CN=VeriSign Class 3 Extended Validation SSL SGC CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bd:56:88:ba:88:34:64:64:cf:cd:ca:b0:ee:e7: + 19:73:c5:72:d9:bb:45:bc:b5:a8:ff:83:be:1c:03: + db:ed:89:b7:2e:10:1a:25:bc:55:ca:41:a1:9f:0b: + cf:19:5e:70:b9:5e:39:4b:9e:31:1c:5f:87:ae:2a: + aa:a8:2b:a2:1b:3b:10:23:5f:13:b1:dd:08:8c:4e: + 14:da:83:81:e3:b5:8c:e3:68:ed:24:67:ce:56:b6: + ac:9b:73:96:44:db:8a:8c:b3:d6:f0:71:93:8e:db: + 71:54:4a:eb:73:59:6a:8f:70:51:2c:03:9f:97:d1: + cc:11:7a:bc:62:0d:95:2a:c9:1c:75:57:e9:f5:c7: + ea:ba:84:35:cb:c7:85:5a:7e:e4:4d:e1:11:97:7d: + 0e:20:34:45:db:f1:a2:09:eb:eb:3d:9e:b8:96:43: + 5e:34:4b:08:25:1e:43:1a:a2:d9:b7:8a:01:34:3d: + c3:f8:e5:af:4f:8c:ff:cd:65:f0:23:4e:c5:97:b3: + 5c:da:90:1c:82:85:0d:06:0d:c1:22:b6:7b:28:a4: + 03:c3:4c:53:d1:58:bc:72:bc:08:39:fc:a0:76:a8: + a8:e9:4b:6e:88:3d:e3:b3:31:25:8c:73:29:48:0e: + 32:79:06:ed:3d:43:f4:f6:e4:e9:fc:7d:be:8e:08: + d5:1f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: + 4E:43:C8:1D:76:EF:37:53:7A:4F:F2:58:6F:94:F3:38:E2:D5:BD:DF + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.verisign.com/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://EVSecure-crl.verisign.com/pca3-g5.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Netscape Cert Type: + SSL CA, S/MIME CA + 1.3.6.1.5.5.7.1.12: + 0_.].[0Y0W0U..image/gif0!0.0...+..............k...j.H.,{..0%.#http://logo.verisign.com/vslogo.gif + X509v3 Subject Alternative Name: + DirName:/CN=Class3CA2048-1-48 + X509v3 Authority Key Identifier: + keyid:7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + + Authority Information Access: + OCSP - URI:http://EVSecure-ocsp.verisign.com + + X509v3 Extended Key Usage: + Netscape Server Gated Crypto, 2.16.840.1.113733.1.8.1, TLS Web Server Authentication, TLS Web Client Authentication + Signature Algorithm: sha1WithRSAEncryption + 27:74:a6:34:ea:1d:9d:e1:53:d6:1c:9d:0c:a7:5b:4c:a9:67: + f2:f0:32:b7:01:0f:fb:42:18:38:de:e4:ee:49:c8:13:c9:0b: + ec:04:c3:40:71:18:72:76:43:02:23:5d:ab:7b:c8:48:14:1a: + c8:7b:1d:fc:f6:0a:9f:36:a1:d2:09:73:71:66:96:75:51:34: + bf:99:30:51:67:9d:54:b7:26:45:ac:73:08:23:86:26:99:71: + f4:8e:d7:ea:39:9b:06:09:23:bf:62:dd:a8:c4:b6:7d:a4:89: + 07:3e:f3:6d:ae:40:59:50:79:97:37:3d:32:78:7d:b2:63:4b: + f9:ea:08:69:0e:13:ed:e8:cf:bb:ac:05:86:ca:22:cf:88:62: + 5d:3c:22:49:d8:63:d5:24:a6:bd:ef:5c:e3:cc:20:3b:22:ea: + fc:44:c6:a8:e5:1f:e1:86:cd:0c:4d:8f:93:53:d9:7f:ee:a1: + 08:a7:b3:30:96:49:70:6e:a3:6c:3d:d0:63:ef:25:66:63:cc: + aa:b7:18:17:4e:ea:70:76:f6:ba:42:a6:80:37:09:4e:9f:66: + 88:2e:6b:33:66:c8:c0:71:a4:41:eb:5a:e3:fc:14:2e:4b:88: + fd:ae:6e:5b:65:e9:27:e4:bf:e4:b0:23:c1:b2:7d:5b:62:25: + d7:3e:10:d4 +-----BEGIN CERTIFICATE----- +MIIGHjCCBQagAwIBAgIQLEjdkw31WY75PJlUemDtQzANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMTYxMTA3MjM1OTU5WjCBvjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg +aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMvVmVy +aVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Voi6iDRkZM/NyrDu5xlzxXLZ +u0W8taj/g74cA9vtibcuEBolvFXKQaGfC88ZXnC5XjlLnjEcX4euKqqoK6IbOxAj +XxOx3QiMThTag4HjtYzjaO0kZ85Wtqybc5ZE24qMs9bwcZOO23FUSutzWWqPcFEs +A5+X0cwRerxiDZUqyRx1V+n1x+q6hDXLx4VafuRN4RGXfQ4gNEXb8aIJ6+s9nriW +Q140SwglHkMaotm3igE0PcP45a9PjP/NZfAjTsWXs1zakByChQ0GDcEitnsopAPD +TFPRWLxyvAg5/KB2qKjpS26IPeOzMSWMcylIDjJ5Bu09Q/T25On8fb6OCNUfAgMB +AAGjggIIMIICBDAdBgNVHQ4EFgQUTkPIHXbvN1N6T/JYb5TzOOLVvd8wEgYDVR0T +AQH/BAgwBgEB/wIBADA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc +aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL2NwczA9BgNVHR8ENjA0MDKgMKAuhixo +dHRwOi8vRVZTZWN1cmUtY3JsLnZlcmlzaWduLmNvbS9wY2EzLWc1LmNybDAOBgNV +HQ8BAf8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMG0GCCsGAQUFBwEMBGEwX6Fd +oFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrU +SBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMCkG +A1UdEQQiMCCkHjAcMRowGAYDVQQDExFDbGFzczNDQTIwNDgtMS00ODAfBgNVHSME +GDAWgBR/02Wnwt3su/AwCfNDOfoCrzMxMzA9BggrBgEFBQcBAQQxMC8wLQYIKwYB +BQUHMAGGIWh0dHA6Ly9FVlNlY3VyZS1vY3NwLnZlcmlzaWduLmNvbTA0BgNVHSUE +LTArBglghkgBhvhCBAEGCmCGSAGG+EUBCAEGCCsGAQUFBwMBBggrBgEFBQcDAjAN +BgkqhkiG9w0BAQUFAAOCAQEAJ3SmNOodneFT1hydDKdbTKln8vAytwEP+0IYON7k +7knIE8kL7ATDQHEYcnZDAiNdq3vISBQayHsd/PYKnzah0glzcWaWdVE0v5kwUWed +VLcmRaxzCCOGJplx9I7X6jmbBgkjv2LdqMS2faSJBz7zba5AWVB5lzc9Mnh9smNL ++eoIaQ4T7ejPu6wFhsoiz4hiXTwiSdhj1SSmve9c48wgOyLq/ETGqOUf4YbNDE2P +k1PZf+6hCKezMJZJcG6jbD3QY+8lZmPMqrcYF07qcHb2ukKmgDcJTp9miC5rM2bI +wHGkQeta4/wULkuI/a5uW2XpJ+S/5LAjwbJ9W2Il1z4Q1A== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_48[] = { + 0x30, 0x82, 0x06, 0x1e, 0x30, 0x82, 0x05, 0x06, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x2c, 0x48, 0xdd, 0x93, 0x0d, 0xf5, 0x59, 0x8e, 0xf9, + 0x3c, 0x99, 0x54, 0x7a, 0x60, 0xed, 0x43, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, + 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x31, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x36, 0x31, 0x31, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xbe, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3b, 0x30, + 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x32, 0x54, 0x65, 0x72, 0x6d, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, 0x20, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x30, 0x36, 0x31, 0x38, + 0x30, 0x36, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2f, 0x56, 0x65, 0x72, + 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, + 0x33, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x53, + 0x4c, 0x20, 0x53, 0x47, 0x43, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xbd, 0x56, 0x88, 0xba, 0x88, 0x34, 0x64, + 0x64, 0xcf, 0xcd, 0xca, 0xb0, 0xee, 0xe7, 0x19, 0x73, 0xc5, 0x72, 0xd9, + 0xbb, 0x45, 0xbc, 0xb5, 0xa8, 0xff, 0x83, 0xbe, 0x1c, 0x03, 0xdb, 0xed, + 0x89, 0xb7, 0x2e, 0x10, 0x1a, 0x25, 0xbc, 0x55, 0xca, 0x41, 0xa1, 0x9f, + 0x0b, 0xcf, 0x19, 0x5e, 0x70, 0xb9, 0x5e, 0x39, 0x4b, 0x9e, 0x31, 0x1c, + 0x5f, 0x87, 0xae, 0x2a, 0xaa, 0xa8, 0x2b, 0xa2, 0x1b, 0x3b, 0x10, 0x23, + 0x5f, 0x13, 0xb1, 0xdd, 0x08, 0x8c, 0x4e, 0x14, 0xda, 0x83, 0x81, 0xe3, + 0xb5, 0x8c, 0xe3, 0x68, 0xed, 0x24, 0x67, 0xce, 0x56, 0xb6, 0xac, 0x9b, + 0x73, 0x96, 0x44, 0xdb, 0x8a, 0x8c, 0xb3, 0xd6, 0xf0, 0x71, 0x93, 0x8e, + 0xdb, 0x71, 0x54, 0x4a, 0xeb, 0x73, 0x59, 0x6a, 0x8f, 0x70, 0x51, 0x2c, + 0x03, 0x9f, 0x97, 0xd1, 0xcc, 0x11, 0x7a, 0xbc, 0x62, 0x0d, 0x95, 0x2a, + 0xc9, 0x1c, 0x75, 0x57, 0xe9, 0xf5, 0xc7, 0xea, 0xba, 0x84, 0x35, 0xcb, + 0xc7, 0x85, 0x5a, 0x7e, 0xe4, 0x4d, 0xe1, 0x11, 0x97, 0x7d, 0x0e, 0x20, + 0x34, 0x45, 0xdb, 0xf1, 0xa2, 0x09, 0xeb, 0xeb, 0x3d, 0x9e, 0xb8, 0x96, + 0x43, 0x5e, 0x34, 0x4b, 0x08, 0x25, 0x1e, 0x43, 0x1a, 0xa2, 0xd9, 0xb7, + 0x8a, 0x01, 0x34, 0x3d, 0xc3, 0xf8, 0xe5, 0xaf, 0x4f, 0x8c, 0xff, 0xcd, + 0x65, 0xf0, 0x23, 0x4e, 0xc5, 0x97, 0xb3, 0x5c, 0xda, 0x90, 0x1c, 0x82, + 0x85, 0x0d, 0x06, 0x0d, 0xc1, 0x22, 0xb6, 0x7b, 0x28, 0xa4, 0x03, 0xc3, + 0x4c, 0x53, 0xd1, 0x58, 0xbc, 0x72, 0xbc, 0x08, 0x39, 0xfc, 0xa0, 0x76, + 0xa8, 0xa8, 0xe9, 0x4b, 0x6e, 0x88, 0x3d, 0xe3, 0xb3, 0x31, 0x25, 0x8c, + 0x73, 0x29, 0x48, 0x0e, 0x32, 0x79, 0x06, 0xed, 0x3d, 0x43, 0xf4, 0xf6, + 0xe4, 0xe9, 0xfc, 0x7d, 0xbe, 0x8e, 0x08, 0xd5, 0x1f, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x02, 0x08, 0x30, 0x82, 0x02, 0x04, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x4e, 0x43, 0xc8, + 0x1d, 0x76, 0xef, 0x37, 0x53, 0x7a, 0x4f, 0xf2, 0x58, 0x6f, 0x94, 0xf3, + 0x38, 0xe2, 0xd5, 0xbd, 0xdf, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, + 0x30, 0x32, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x70, 0x73, 0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, + 0x36, 0x30, 0x34, 0x30, 0x32, 0xa0, 0x30, 0xa0, 0x2e, 0x86, 0x2c, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x45, 0x56, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x2d, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, + 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, 0x61, 0x33, + 0x2d, 0x67, 0x35, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, + 0x11, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01, 0x01, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x6d, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, 0xa1, 0x5d, + 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, 0x1f, 0x30, + 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, 0x8f, 0xe5, + 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, 0x6a, 0xd4, + 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x76, 0x65, + 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, + 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, 0x29, 0x06, + 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, + 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x33, 0x43, 0x41, 0x32, 0x30, 0x34, 0x38, 0x2d, + 0x31, 0x2d, 0x34, 0x38, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, + 0xbb, 0xf0, 0x30, 0x09, 0xf3, 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, + 0x33, 0x30, 0x3d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, + 0x01, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x45, 0x56, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x2d, 0x6f, + 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, + 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x34, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, + 0x2d, 0x30, 0x2b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, + 0x04, 0x01, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, + 0x08, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x27, 0x74, 0xa6, 0x34, 0xea, 0x1d, + 0x9d, 0xe1, 0x53, 0xd6, 0x1c, 0x9d, 0x0c, 0xa7, 0x5b, 0x4c, 0xa9, 0x67, + 0xf2, 0xf0, 0x32, 0xb7, 0x01, 0x0f, 0xfb, 0x42, 0x18, 0x38, 0xde, 0xe4, + 0xee, 0x49, 0xc8, 0x13, 0xc9, 0x0b, 0xec, 0x04, 0xc3, 0x40, 0x71, 0x18, + 0x72, 0x76, 0x43, 0x02, 0x23, 0x5d, 0xab, 0x7b, 0xc8, 0x48, 0x14, 0x1a, + 0xc8, 0x7b, 0x1d, 0xfc, 0xf6, 0x0a, 0x9f, 0x36, 0xa1, 0xd2, 0x09, 0x73, + 0x71, 0x66, 0x96, 0x75, 0x51, 0x34, 0xbf, 0x99, 0x30, 0x51, 0x67, 0x9d, + 0x54, 0xb7, 0x26, 0x45, 0xac, 0x73, 0x08, 0x23, 0x86, 0x26, 0x99, 0x71, + 0xf4, 0x8e, 0xd7, 0xea, 0x39, 0x9b, 0x06, 0x09, 0x23, 0xbf, 0x62, 0xdd, + 0xa8, 0xc4, 0xb6, 0x7d, 0xa4, 0x89, 0x07, 0x3e, 0xf3, 0x6d, 0xae, 0x40, + 0x59, 0x50, 0x79, 0x97, 0x37, 0x3d, 0x32, 0x78, 0x7d, 0xb2, 0x63, 0x4b, + 0xf9, 0xea, 0x08, 0x69, 0x0e, 0x13, 0xed, 0xe8, 0xcf, 0xbb, 0xac, 0x05, + 0x86, 0xca, 0x22, 0xcf, 0x88, 0x62, 0x5d, 0x3c, 0x22, 0x49, 0xd8, 0x63, + 0xd5, 0x24, 0xa6, 0xbd, 0xef, 0x5c, 0xe3, 0xcc, 0x20, 0x3b, 0x22, 0xea, + 0xfc, 0x44, 0xc6, 0xa8, 0xe5, 0x1f, 0xe1, 0x86, 0xcd, 0x0c, 0x4d, 0x8f, + 0x93, 0x53, 0xd9, 0x7f, 0xee, 0xa1, 0x08, 0xa7, 0xb3, 0x30, 0x96, 0x49, + 0x70, 0x6e, 0xa3, 0x6c, 0x3d, 0xd0, 0x63, 0xef, 0x25, 0x66, 0x63, 0xcc, + 0xaa, 0xb7, 0x18, 0x17, 0x4e, 0xea, 0x70, 0x76, 0xf6, 0xba, 0x42, 0xa6, + 0x80, 0x37, 0x09, 0x4e, 0x9f, 0x66, 0x88, 0x2e, 0x6b, 0x33, 0x66, 0xc8, + 0xc0, 0x71, 0xa4, 0x41, 0xeb, 0x5a, 0xe3, 0xfc, 0x14, 0x2e, 0x4b, 0x88, + 0xfd, 0xae, 0x6e, 0x5b, 0x65, 0xe9, 0x27, 0xe4, 0xbf, 0xe4, 0xb0, 0x23, + 0xc1, 0xb2, 0x7d, 0x5b, 0x62, 0x25, 0xd7, 0x3e, 0x10, 0xd4, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 64:1b:e8:20:ce:02:08:13:f3:2d:4d:2d:95:d6:7e:67 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Validity + Not Before: Feb 8 00:00:00 2010 GMT + Not After : Feb 7 23:59:59 2020 GMT + Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:99:d6:9c:62:f0:15:f4:81:9a:41:08:59:8f:13: + 9d:17:c9:9f:51:dc:da:b1:52:ef:ff:e3:41:dd:e0: + df:c4:28:c6:e3:ad:79:1f:27:10:98:b8:bb:20:97: + c1:28:44:41:0f:ea:a9:a8:52:cf:4d:4e:1b:8b:bb: + b5:c4:76:d9:cc:56:06:ee:b3:55:20:2a:de:15:8d: + 71:cb:54:c8:6f:17:cd:89:00:e4:dc:ff:e1:c0:1f: + 68:71:e9:c7:29:2e:7e:bc:3b:fc:e5:bb:ab:26:54: + 8b:66:90:cd:f6:92:b9:31:24:80:bc:9e:6c:d5:fc: + 7e:d2:e1:4b:8c:dc:42:fa:44:4b:5f:f8:18:b5:2e: + 30:f4:3d:12:98:d3:62:05:73:54:a6:9c:a2:1d:be: + 52:83:3a:07:46:c4:3b:02:56:21:bf:f2:51:4f:d0: + a6:99:39:e9:ae:a5:3f:89:9b:9c:7d:fe:4d:60:07: + 25:20:f7:bb:d7:69:83:2b:82:93:43:37:d9:83:41: + 1b:6b:0b:ab:4a:66:84:4f:4a:8e:de:7e:34:99:8e: + 68:d6:ca:39:06:9b:4c:b3:9a:48:4d:13:46:b4:58: + 21:04:c4:fb:a0:4d:ac:2e:4b:62:12:e3:fb:4d:f6: + c9:51:00:01:1f:fc:1e:6a:81:2a:38:e0:b9:4f:d6: + 2d:45 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.23.3 + CPS: https://www.verisign.com/cps + User Notice: + Explicit Text: https://www.verisign.com/rpa + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + 1.3.6.1.5.5.7.1.12: + 0_.].[0Y0W0U..image/gif0!0.0...+..............k...j.H.,{..0%.#http://logo.verisign.com/vslogo.gif + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication, Netscape Server Gated Crypto, 2.16.840.1.113733.1.8.1 + Authority Information Access: + OCSP - URI:http://ocsp.verisign.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.verisign.com/pca3-g5.crl + + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-7 + X509v3 Subject Key Identifier: + D7:9B:7C:D8:22:A0:15:F7:DD:AD:5F:CE:29:9B:58:C3:BC:46:00:B5 + X509v3 Authority Key Identifier: + keyid:7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + + Signature Algorithm: sha1WithRSAEncryption + 71:b5:7d:73:52:4a:dd:d7:4d:34:2b:2e:af:94:46:a5:49:50: + 02:4f:f8:2f:17:70:f2:13:dc:1f:21:86:aa:c2:4f:7c:37:3c: + d4:46:78:ae:5d:78:6f:d1:ba:5a:bc:10:ab:58:36:c5:8c:62: + 15:45:60:17:21:e2:d5:42:a8:77:a1:55:d8:43:04:51:f6:6e: + ba:48:e6:5d:4c:b7:44:d3:3e:a4:d5:d6:33:9a:9f:0d:e6:d7: + 4e:96:44:95:5a:6c:d6:a3:16:53:0e:98:43:ce:a4:b8:c3:66: + 7a:05:5c:62:10:e8:1b:12:db:7d:2e:76:50:ff:df:d7:6b:1b: + cc:8a:cc:71:fa:b3:40:56:7c:33:7a:77:94:5b:f5:0b:53:fb: + 0e:5f:bc:68:fb:af:2a:ee:30:37:79:16:93:25:7f:4d:10:ff: + 57:fb:bf:6e:3b:33:21:de:79:dc:86:17:59:2d:43:64:b7:a6: + 66:87:ea:bc:96:46:19:1a:86:8b:6f:d7:b7:49:00:5b:db:a3: + bf:29:9a:ee:f7:d3:33:ae:a3:f4:9e:4c:ca:5e:69:d4:1b:ad: + b7:90:77:6a:d8:59:6f:79:ab:01:fa:55:f0:8a:21:66:e5:65: + 6e:fd:7c:d3:df:1e:eb:7e:3f:06:90:fb:19:0b:d3:06:02:1b: + 78:43:99:a8 +-----BEGIN CERTIFICATE----- +MIIGKTCCBRGgAwIBAgIQZBvoIM4CCBPzLU0tldZ+ZzANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMTAwMjA4MDAwMDAwWhcNMjAwMjA3MjM1OTU5WjCBvDEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQg +aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDE2MDQGA1UEAxMtVmVy +aVNpZ24gQ2xhc3MgMyBJbnRlcm5hdGlvbmFsIFNlcnZlciBDQSAtIEczMIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmdacYvAV9IGaQQhZjxOdF8mfUdza +sVLv/+NB3eDfxCjG4615HycQmLi7IJfBKERBD+qpqFLPTU4bi7u1xHbZzFYG7rNV +ICreFY1xy1TIbxfNiQDk3P/hwB9ocenHKS5+vDv85burJlSLZpDN9pK5MSSAvJ5s +1fx+0uFLjNxC+kRLX/gYtS4w9D0SmNNiBXNUppyiHb5SgzoHRsQ7AlYhv/JRT9Cm +mTnprqU/iZucff5NYAclIPe712mDK4KTQzfZg0EbawurSmaET0qO3n40mY5o1so5 +BptMs5pITRNGtFghBMT7oE2sLktiEuP7TfbJUQABH/weaoEqOOC5T9YtRQIDAQAB +o4ICFTCCAhEwEgYDVR0TAQH/BAgwBgEB/wIBADBwBgNVHSAEaTBnMGUGC2CGSAGG ++EUBBxcDMFYwKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9j +cHMwKgYIKwYBBQUHAgIwHhocaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYTAO +BgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv +Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDov +L2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwNAYDVR0lBC0wKwYIKwYBBQUH +AwEGCCsGAQUFBwMCBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwNAYIKwYBBQUHAQEE +KDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJpc2lnbi5jb20wNAYDVR0f +BC0wKzApoCegJYYjaHR0cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy1nNS5jcmww +KAYDVR0RBCEwH6QdMBsxGTAXBgNVBAMTEFZlcmlTaWduTVBLSS0yLTcwHQYDVR0O +BBYEFNebfNgioBX33a1fzimbWMO8RgC1MB8GA1UdIwQYMBaAFH/TZafC3ey78DAJ +80M5+gKvMzEzMA0GCSqGSIb3DQEBBQUAA4IBAQBxtX1zUkrd1000Ky6vlEalSVAC +T/gvF3DyE9wfIYaqwk98NzzURniuXXhv0bpavBCrWDbFjGIVRWAXIeLVQqh3oVXY +QwRR9m66SOZdTLdE0z6k1dYzmp8N5tdOlkSVWmzWoxZTDphDzqS4w2Z6BVxiEOgb +Ett9LnZQ/9/XaxvMisxx+rNAVnwzeneUW/ULU/sOX7xo+68q7jA3eRaTJX9NEP9X ++79uOzMh3nnchhdZLUNkt6Zmh+q8lkYZGoaLb9e3SQBb26O/KZru99MzrqP0nkzK +XmnUG623kHdq2FlveasB+lXwiiFm5WVu/XzT3x7rfj8GkPsZC9MGAht4Q5mo +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_49[] = { + 0x30, 0x82, 0x06, 0x29, 0x30, 0x82, 0x05, 0x11, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x64, 0x1b, 0xe8, 0x20, 0xce, 0x02, 0x08, 0x13, 0xf3, + 0x2d, 0x4d, 0x2d, 0x95, 0xd6, 0x7e, 0x67, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x32, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, 0x30, 0x32, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xbc, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3b, 0x30, + 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x32, 0x54, 0x65, 0x72, 0x6d, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, 0x20, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x31, 0x30, 0x31, 0x36, + 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, 0x56, 0x65, 0x72, + 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, + 0x33, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, + 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, + 0x01, 0x01, 0x00, 0x99, 0xd6, 0x9c, 0x62, 0xf0, 0x15, 0xf4, 0x81, 0x9a, + 0x41, 0x08, 0x59, 0x8f, 0x13, 0x9d, 0x17, 0xc9, 0x9f, 0x51, 0xdc, 0xda, + 0xb1, 0x52, 0xef, 0xff, 0xe3, 0x41, 0xdd, 0xe0, 0xdf, 0xc4, 0x28, 0xc6, + 0xe3, 0xad, 0x79, 0x1f, 0x27, 0x10, 0x98, 0xb8, 0xbb, 0x20, 0x97, 0xc1, + 0x28, 0x44, 0x41, 0x0f, 0xea, 0xa9, 0xa8, 0x52, 0xcf, 0x4d, 0x4e, 0x1b, + 0x8b, 0xbb, 0xb5, 0xc4, 0x76, 0xd9, 0xcc, 0x56, 0x06, 0xee, 0xb3, 0x55, + 0x20, 0x2a, 0xde, 0x15, 0x8d, 0x71, 0xcb, 0x54, 0xc8, 0x6f, 0x17, 0xcd, + 0x89, 0x00, 0xe4, 0xdc, 0xff, 0xe1, 0xc0, 0x1f, 0x68, 0x71, 0xe9, 0xc7, + 0x29, 0x2e, 0x7e, 0xbc, 0x3b, 0xfc, 0xe5, 0xbb, 0xab, 0x26, 0x54, 0x8b, + 0x66, 0x90, 0xcd, 0xf6, 0x92, 0xb9, 0x31, 0x24, 0x80, 0xbc, 0x9e, 0x6c, + 0xd5, 0xfc, 0x7e, 0xd2, 0xe1, 0x4b, 0x8c, 0xdc, 0x42, 0xfa, 0x44, 0x4b, + 0x5f, 0xf8, 0x18, 0xb5, 0x2e, 0x30, 0xf4, 0x3d, 0x12, 0x98, 0xd3, 0x62, + 0x05, 0x73, 0x54, 0xa6, 0x9c, 0xa2, 0x1d, 0xbe, 0x52, 0x83, 0x3a, 0x07, + 0x46, 0xc4, 0x3b, 0x02, 0x56, 0x21, 0xbf, 0xf2, 0x51, 0x4f, 0xd0, 0xa6, + 0x99, 0x39, 0xe9, 0xae, 0xa5, 0x3f, 0x89, 0x9b, 0x9c, 0x7d, 0xfe, 0x4d, + 0x60, 0x07, 0x25, 0x20, 0xf7, 0xbb, 0xd7, 0x69, 0x83, 0x2b, 0x82, 0x93, + 0x43, 0x37, 0xd9, 0x83, 0x41, 0x1b, 0x6b, 0x0b, 0xab, 0x4a, 0x66, 0x84, + 0x4f, 0x4a, 0x8e, 0xde, 0x7e, 0x34, 0x99, 0x8e, 0x68, 0xd6, 0xca, 0x39, + 0x06, 0x9b, 0x4c, 0xb3, 0x9a, 0x48, 0x4d, 0x13, 0x46, 0xb4, 0x58, 0x21, + 0x04, 0xc4, 0xfb, 0xa0, 0x4d, 0xac, 0x2e, 0x4b, 0x62, 0x12, 0xe3, 0xfb, + 0x4d, 0xf6, 0xc9, 0x51, 0x00, 0x01, 0x1f, 0xfc, 0x1e, 0x6a, 0x81, 0x2a, + 0x38, 0xe0, 0xb9, 0x4f, 0xd6, 0x2d, 0x45, 0x02, 0x03, 0x01, 0x00, 0x01, + 0xa3, 0x82, 0x02, 0x15, 0x30, 0x82, 0x02, 0x11, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x70, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x69, 0x30, 0x67, 0x30, 0x65, 0x06, 0x0b, 0x60, 0x86, 0x48, 0x01, 0x86, + 0xf8, 0x45, 0x01, 0x07, 0x17, 0x03, 0x30, 0x56, 0x30, 0x28, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, + 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, + 0x70, 0x73, 0x30, 0x2a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x02, 0x30, 0x1e, 0x1a, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, + 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x30, 0x0e, + 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, + 0x01, 0x06, 0x30, 0x6d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, 0xa1, 0x5d, 0xa0, 0x5b, 0x30, 0x59, + 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, + 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, 0x1f, 0x30, 0x07, 0x06, 0x05, 0x2b, + 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, 0x8f, 0xe5, 0xd3, 0x1a, 0x86, 0xac, + 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, 0x6a, 0xd4, 0x48, 0x18, 0x2c, 0x7b, + 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, + 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x73, 0x6c, 0x6f, 0x67, + 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, 0x34, 0x06, 0x03, 0x55, 0x1d, 0x25, + 0x04, 0x2d, 0x30, 0x2b, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, + 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x04, 0x01, 0x06, + 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x08, 0x01, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, + 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x34, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x2d, 0x30, 0x2b, 0x30, 0x29, 0xa0, 0x27, 0xa0, 0x25, 0x86, 0x23, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, + 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x70, 0x63, 0x61, 0x33, 0x2d, 0x67, 0x35, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x28, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x21, 0x30, 0x1f, 0xa4, 0x1d, + 0x30, 0x1b, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x10, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, + 0x49, 0x2d, 0x32, 0x2d, 0x37, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, + 0x04, 0x16, 0x04, 0x14, 0xd7, 0x9b, 0x7c, 0xd8, 0x22, 0xa0, 0x15, 0xf7, + 0xdd, 0xad, 0x5f, 0xce, 0x29, 0x9b, 0x58, 0xc3, 0xbc, 0x46, 0x00, 0xb5, + 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, + 0x14, 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, + 0xf3, 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0x71, 0xb5, 0x7d, 0x73, 0x52, 0x4a, 0xdd, + 0xd7, 0x4d, 0x34, 0x2b, 0x2e, 0xaf, 0x94, 0x46, 0xa5, 0x49, 0x50, 0x02, + 0x4f, 0xf8, 0x2f, 0x17, 0x70, 0xf2, 0x13, 0xdc, 0x1f, 0x21, 0x86, 0xaa, + 0xc2, 0x4f, 0x7c, 0x37, 0x3c, 0xd4, 0x46, 0x78, 0xae, 0x5d, 0x78, 0x6f, + 0xd1, 0xba, 0x5a, 0xbc, 0x10, 0xab, 0x58, 0x36, 0xc5, 0x8c, 0x62, 0x15, + 0x45, 0x60, 0x17, 0x21, 0xe2, 0xd5, 0x42, 0xa8, 0x77, 0xa1, 0x55, 0xd8, + 0x43, 0x04, 0x51, 0xf6, 0x6e, 0xba, 0x48, 0xe6, 0x5d, 0x4c, 0xb7, 0x44, + 0xd3, 0x3e, 0xa4, 0xd5, 0xd6, 0x33, 0x9a, 0x9f, 0x0d, 0xe6, 0xd7, 0x4e, + 0x96, 0x44, 0x95, 0x5a, 0x6c, 0xd6, 0xa3, 0x16, 0x53, 0x0e, 0x98, 0x43, + 0xce, 0xa4, 0xb8, 0xc3, 0x66, 0x7a, 0x05, 0x5c, 0x62, 0x10, 0xe8, 0x1b, + 0x12, 0xdb, 0x7d, 0x2e, 0x76, 0x50, 0xff, 0xdf, 0xd7, 0x6b, 0x1b, 0xcc, + 0x8a, 0xcc, 0x71, 0xfa, 0xb3, 0x40, 0x56, 0x7c, 0x33, 0x7a, 0x77, 0x94, + 0x5b, 0xf5, 0x0b, 0x53, 0xfb, 0x0e, 0x5f, 0xbc, 0x68, 0xfb, 0xaf, 0x2a, + 0xee, 0x30, 0x37, 0x79, 0x16, 0x93, 0x25, 0x7f, 0x4d, 0x10, 0xff, 0x57, + 0xfb, 0xbf, 0x6e, 0x3b, 0x33, 0x21, 0xde, 0x79, 0xdc, 0x86, 0x17, 0x59, + 0x2d, 0x43, 0x64, 0xb7, 0xa6, 0x66, 0x87, 0xea, 0xbc, 0x96, 0x46, 0x19, + 0x1a, 0x86, 0x8b, 0x6f, 0xd7, 0xb7, 0x49, 0x00, 0x5b, 0xdb, 0xa3, 0xbf, + 0x29, 0x9a, 0xee, 0xf7, 0xd3, 0x33, 0xae, 0xa3, 0xf4, 0x9e, 0x4c, 0xca, + 0x5e, 0x69, 0xd4, 0x1b, 0xad, 0xb7, 0x90, 0x77, 0x6a, 0xd8, 0x59, 0x6f, + 0x79, 0xab, 0x01, 0xfa, 0x55, 0xf0, 0x8a, 0x21, 0x66, 0xe5, 0x65, 0x6e, + 0xfd, 0x7c, 0xd3, 0xdf, 0x1e, 0xeb, 0x7e, 0x3f, 0x06, 0x90, 0xfb, 0x19, + 0x0b, 0xd3, 0x06, 0x02, 0x1b, 0x78, 0x43, 0x99, 0xa8, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 26 (0x1a) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=IL, O=StartCom Ltd., OU=Secure Digital Certificate Signing, CN=StartCom Certification Authority + Validity + Not Before: Oct 24 20:57:09 2007 GMT + Not After : Oct 24 20:57:09 2017 GMT + Subject: C=IL, O=StartCom Ltd., OU=Secure Digital Certificate Signing, CN=StartCom Class 2 Primary Intermediate Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:e2:4f:39:2f:a1:8c:9a:85:ad:08:0e:08:3e:57: + f2:88:01:21:1b:94:a9:6c:e2:b8:db:aa:19:18:46: + 3a:52:a1:f5:0f:f4:6e:8c:ea:96:8c:96:87:79:13: + 40:51:2f:22:f2:0c:8b:87:0f:65:df:71:74:34:43: + 55:b1:35:09:9b:d9:bc:1f:fa:eb:42:d0:97:40:72: + b7:43:96:3d:ba:96:9d:5d:50:02:1c:9b:91:8d:9c: + c0:ac:d7:bb:2f:17:d7:cb:3e:82:9d:73:eb:07:42: + 92:b2:cd:64:b3:74:55:1b:b4:4b:86:21:2c:f7:78: + 87:32:e0:16:e4:da:bd:4c:95:ea:a4:0a:7e:b6:0a: + 0d:2e:8a:cf:55:ab:c3:e5:dd:41:8a:4e:e6:6f:65: + 6c:b2:40:cf:17:5d:b9:c3:6a:0b:27:11:84:77:61: + f6:c2:7c:ed:c0:8d:78:14:18:99:81:99:75:63:b7: + e8:53:d3:ba:61:e9:0e:fa:a2:30:f3:46:a2:b9:c9: + 1f:6c:80:5a:40:ac:27:ed:48:47:33:b0:54:c6:46: + 1a:f3:35:61:c1:02:29:90:54:7e:64:4d:c4:30:52: + 02:82:d7:df:ce:21:6e:18:91:d7:b8:ab:8c:27:17: + b5:f0:a3:01:2f:8e:d2:2e:87:3a:3d:b4:29:67:8a: + c4:03 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 11:DB:23:45:FD:54:CC:6A:71:6F:84:8A:03:D7:BE:F7:01:2F:26:86 + X509v3 Authority Key Identifier: + keyid:4E:0B:EF:1A:A4:40:5B:A5:17:69:87:30:CA:34:68:43:D0:41:AE:F2 + + Authority Information Access: + OCSP - URI:http://ocsp.startssl.com/ca + CA Issuers - URI:http://www.startssl.com/sfsca.crt + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://www.startssl.com/sfsca.crl + + Full Name: + URI:http://crl.startssl.com/sfsca.crl + + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.23223.1.2.1 + CPS: http://www.startssl.com/policy.pdf + CPS: http://www.startssl.com/intermediate.pdf + + Signature Algorithm: sha1WithRSAEncryption + 9d:07:e1:ee:90:76:31:67:16:45:70:8c:cb:84:8b:4b:57:68: + 44:a5:89:c1:f2:7e:cb:28:8b:f5:e7:70:77:d5:b6:f4:0b:21: + 60:a5:a1:74:73:24:22:80:d6:d8:ba:8d:a2:62:5d:09:35:42: + 29:fb:39:63:45:0b:a4:b0:38:1a:68:f4:95:13:cc:e0:43:94: + ec:eb:39:1a:ec:57:29:d9:99:6d:f5:84:cd:8e:73:ae:c9:dc: + 6a:fa:9e:9d:16:64:93:08:c7:1c:c2:89:54:9e:77:80:90:f6: + b9:29:76:eb:13:67:48:59:f8:2e:3a:31:b8:c9:d3:88:e5:5f: + 4e:d2:19:3d:43:8e:d7:92:ff:cf:38:b6:e1:5b:8a:53:1d:ce: + ac:b4:76:2f:d8:f7:40:63:d5:ee:69:f3:45:7d:a0:62:c1:61: + c3:75:ed:b2:7b:4d:ac:21:27:30:4e:59:46:6a:93:17:ca:c8: + 39:2d:01:73:65:5b:e9:41:9b:11:17:9c:c8:c8:4a:ef:a1:76: + 60:2d:ae:93:ff:0c:d5:33:13:9f:4f:13:ce:dd:86:f1:fc:f8: + 35:54:15:a8:5b:e7:85:7e:fa:37:09:ff:8b:b8:31:49:9e:0d: + 6e:de:b4:d2:12:2d:b8:ed:c8:c3:f1:b6:42:a0:4c:97:79:df: + fe:c3:a3:9f:a1:f4:6d:2c:84:77:a4:a2:05:e1:17:ff:31:dd: + 9a:f3:b8:7a:c3:52:c2:11:11:b7:50:31:8a:7f:cc:e7:5a:89: + cc:f7:86:9a:61:92:4f:2f:94:b6:98:c7:78:e0:62:4b:43:7d: + 3c:de:d6:9a:b4:10:a1:40:9c:4b:2a:dc:b8:d0:d4:9e:fd:f1: + 84:78:1b:0e:57:8f:69:54:42:68:7b:ea:a0:ef:75:0f:07:a2: + 8c:73:99:ab:55:f5:07:09:d2:af:38:03:6a:90:03:0c:2f:8f: + e2:e8:43:c2:31:e9:6f:ad:87:e5:8d:bd:4e:2c:89:4b:51:e6: + 9c:4c:54:76:c0:12:81:53:9b:ec:a0:fc:2c:9c:da:18:95:6e: + 1e:38:26:42:27:78:60:08:df:7f:6d:32:e8:d8:c0:6f:1f:eb: + 26:75:9f:93:fc:7b:1b:fe:35:90:dc:53:a3:07:a6:3f:83:55: + 0a:2b:4e:62:82:25:ce:66:30:5d:2c:e0:f9:19:1b:75:b9:9d: + 98:56:a6:83:27:7a:d1:8f:8d:59:93:fc:3f:73:d7:2e:b4:2c: + 95:d8:8b:f7:c9:7e:c7:fc:9d:ac:72:04:1f:d2:cc:17:f4:ed: + 34:60:9b:9e:4a:97:04:fe:dd:72:0e:57:54:51:06:70:4d:ef: + aa:1c:a4:82:e0:33:c7:f4 +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIBGjANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW +MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg +Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDcxMDI0MjA1NzA5WhcNMTcxMDI0MjA1NzA5WjCB +jDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsT +IlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0 +YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgU2VydmVyIENBMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4k85L6GMmoWtCA4IPlfyiAEh +G5SpbOK426oZGEY6UqH1D/RujOqWjJaHeRNAUS8i8gyLhw9l33F0NENVsTUJm9m8 +H/rrQtCXQHK3Q5Y9upadXVACHJuRjZzArNe7LxfXyz6CnXPrB0KSss1ks3RVG7RL +hiEs93iHMuAW5Nq9TJXqpAp+tgoNLorPVavD5d1Bik7mb2VsskDPF125w2oLJxGE +d2H2wnztwI14FBiZgZl1Y7foU9O6YekO+qIw80aiuckfbIBaQKwn7UhHM7BUxkYa +8zVhwQIpkFR+ZE3EMFICgtffziFuGJHXuKuMJxe18KMBL47SLoc6PbQpZ4rEAwID +AQABo4IBrTCCAakwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0OBBYEFBHbI0X9VMxqcW+EigPXvvcBLyaGMB8GA1UdIwQYMBaAFE4L7xqkQFul +F2mHMMo0aEPQQa7yMGYGCCsGAQUFBwEBBFowWDAnBggrBgEFBQcwAYYbaHR0cDov +L29jc3Auc3RhcnRzc2wuY29tL2NhMC0GCCsGAQUFBzAChiFodHRwOi8vd3d3LnN0 +YXJ0c3NsLmNvbS9zZnNjYS5jcnQwWwYDVR0fBFQwUjAnoCWgI4YhaHR0cDovL3d3 +dy5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMCegJaAjhiFodHRwOi8vY3JsLnN0YXJ0 +c3NsLmNvbS9zZnNjYS5jcmwwgYAGA1UdIAR5MHcwdQYLKwYBBAGBtTcBAgEwZjAu +BggrBgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA0 +BggrBgEFBQcCARYoaHR0cDovL3d3dy5zdGFydHNzbC5jb20vaW50ZXJtZWRpYXRl +LnBkZjANBgkqhkiG9w0BAQUFAAOCAgEAnQfh7pB2MWcWRXCMy4SLS1doRKWJwfJ+ +yyiL9edwd9W29AshYKWhdHMkIoDW2LqNomJdCTVCKfs5Y0ULpLA4Gmj0lRPM4EOU +7Os5GuxXKdmZbfWEzY5zrsncavqenRZkkwjHHMKJVJ53gJD2uSl26xNnSFn4Ljox +uMnTiOVfTtIZPUOO15L/zzi24VuKUx3OrLR2L9j3QGPV7mnzRX2gYsFhw3XtsntN +rCEnME5ZRmqTF8rIOS0Bc2Vb6UGbERecyMhK76F2YC2uk/8M1TMTn08Tzt2G8fz4 +NVQVqFvnhX76Nwn/i7gxSZ4Nbt600hItuO3Iw/G2QqBMl3nf/sOjn6H0bSyEd6Si +BeEX/zHdmvO4esNSwhERt1Axin/M51qJzPeGmmGSTy+UtpjHeOBiS0N9PN7WmrQQ +oUCcSyrcuNDUnv3xhHgbDlePaVRCaHvqoO91DweijHOZq1X1BwnSrzgDapADDC+P +4uhDwjHpb62H5Y29TiyJS1HmnExUdsASgVOb7KD8LJzaGJVuHjgmQid4YAjff20y +6NjAbx/rJnWfk/x7G/41kNxTowemP4NVCitOYoIlzmYwXSzg+RkbdbmdmFamgyd6 +0Y+NWZP8P3PXLrQsldiL98l+x/ydrHIEH9LMF/TtNGCbnkqXBP7dcg5XVFEGcE3v +qhykguAzx/Q= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_50[] = { + 0x30, 0x82, 0x06, 0x34, 0x30, 0x82, 0x04, 0x1c, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x01, 0x1a, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x7d, 0x31, 0x0b, 0x30, + 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, 0x4c, 0x31, 0x16, + 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x2b, + 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x22, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x65, 0x20, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, + 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x31, 0x29, 0x30, 0x27, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, + 0x6f, 0x6d, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x37, 0x31, 0x30, 0x32, 0x34, + 0x32, 0x30, 0x35, 0x37, 0x30, 0x39, 0x5a, 0x17, 0x0d, 0x31, 0x37, 0x31, + 0x30, 0x32, 0x34, 0x32, 0x30, 0x35, 0x37, 0x30, 0x39, 0x5a, 0x30, 0x81, + 0x8c, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x49, 0x4c, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x4c, 0x74, + 0x64, 0x2e, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x44, 0x69, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x31, + 0x38, 0x30, 0x36, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2f, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x20, 0x32, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x20, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe2, 0x4f, 0x39, 0x2f, 0xa1, 0x8c, + 0x9a, 0x85, 0xad, 0x08, 0x0e, 0x08, 0x3e, 0x57, 0xf2, 0x88, 0x01, 0x21, + 0x1b, 0x94, 0xa9, 0x6c, 0xe2, 0xb8, 0xdb, 0xaa, 0x19, 0x18, 0x46, 0x3a, + 0x52, 0xa1, 0xf5, 0x0f, 0xf4, 0x6e, 0x8c, 0xea, 0x96, 0x8c, 0x96, 0x87, + 0x79, 0x13, 0x40, 0x51, 0x2f, 0x22, 0xf2, 0x0c, 0x8b, 0x87, 0x0f, 0x65, + 0xdf, 0x71, 0x74, 0x34, 0x43, 0x55, 0xb1, 0x35, 0x09, 0x9b, 0xd9, 0xbc, + 0x1f, 0xfa, 0xeb, 0x42, 0xd0, 0x97, 0x40, 0x72, 0xb7, 0x43, 0x96, 0x3d, + 0xba, 0x96, 0x9d, 0x5d, 0x50, 0x02, 0x1c, 0x9b, 0x91, 0x8d, 0x9c, 0xc0, + 0xac, 0xd7, 0xbb, 0x2f, 0x17, 0xd7, 0xcb, 0x3e, 0x82, 0x9d, 0x73, 0xeb, + 0x07, 0x42, 0x92, 0xb2, 0xcd, 0x64, 0xb3, 0x74, 0x55, 0x1b, 0xb4, 0x4b, + 0x86, 0x21, 0x2c, 0xf7, 0x78, 0x87, 0x32, 0xe0, 0x16, 0xe4, 0xda, 0xbd, + 0x4c, 0x95, 0xea, 0xa4, 0x0a, 0x7e, 0xb6, 0x0a, 0x0d, 0x2e, 0x8a, 0xcf, + 0x55, 0xab, 0xc3, 0xe5, 0xdd, 0x41, 0x8a, 0x4e, 0xe6, 0x6f, 0x65, 0x6c, + 0xb2, 0x40, 0xcf, 0x17, 0x5d, 0xb9, 0xc3, 0x6a, 0x0b, 0x27, 0x11, 0x84, + 0x77, 0x61, 0xf6, 0xc2, 0x7c, 0xed, 0xc0, 0x8d, 0x78, 0x14, 0x18, 0x99, + 0x81, 0x99, 0x75, 0x63, 0xb7, 0xe8, 0x53, 0xd3, 0xba, 0x61, 0xe9, 0x0e, + 0xfa, 0xa2, 0x30, 0xf3, 0x46, 0xa2, 0xb9, 0xc9, 0x1f, 0x6c, 0x80, 0x5a, + 0x40, 0xac, 0x27, 0xed, 0x48, 0x47, 0x33, 0xb0, 0x54, 0xc6, 0x46, 0x1a, + 0xf3, 0x35, 0x61, 0xc1, 0x02, 0x29, 0x90, 0x54, 0x7e, 0x64, 0x4d, 0xc4, + 0x30, 0x52, 0x02, 0x82, 0xd7, 0xdf, 0xce, 0x21, 0x6e, 0x18, 0x91, 0xd7, + 0xb8, 0xab, 0x8c, 0x27, 0x17, 0xb5, 0xf0, 0xa3, 0x01, 0x2f, 0x8e, 0xd2, + 0x2e, 0x87, 0x3a, 0x3d, 0xb4, 0x29, 0x67, 0x8a, 0xc4, 0x03, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0xad, 0x30, 0x82, 0x01, 0xa9, 0x30, + 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, + 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, + 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x11, 0xdb, 0x23, 0x45, 0xfd, + 0x54, 0xcc, 0x6a, 0x71, 0x6f, 0x84, 0x8a, 0x03, 0xd7, 0xbe, 0xf7, 0x01, + 0x2f, 0x26, 0x86, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, + 0x30, 0x16, 0x80, 0x14, 0x4e, 0x0b, 0xef, 0x1a, 0xa4, 0x40, 0x5b, 0xa5, + 0x17, 0x69, 0x87, 0x30, 0xca, 0x34, 0x68, 0x43, 0xd0, 0x41, 0xae, 0xf2, + 0x30, 0x66, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x5a, 0x30, 0x58, 0x30, 0x27, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, + 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x61, 0x30, 0x2d, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x21, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x66, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x5b, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x54, 0x30, 0x52, 0x30, 0x27, 0xa0, 0x25, 0xa0, + 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x66, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x27, 0xa0, 0x25, 0xa0, 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x66, 0x73, 0x63, + 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x81, 0x80, 0x06, 0x03, 0x55, 0x1d, + 0x20, 0x04, 0x79, 0x30, 0x77, 0x30, 0x75, 0x06, 0x0b, 0x2b, 0x06, 0x01, + 0x04, 0x01, 0x81, 0xb5, 0x37, 0x01, 0x02, 0x01, 0x30, 0x66, 0x30, 0x2e, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x64, 0x66, 0x30, 0x34, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x28, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, + 0x2e, 0x70, 0x64, 0x66, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, + 0x9d, 0x07, 0xe1, 0xee, 0x90, 0x76, 0x31, 0x67, 0x16, 0x45, 0x70, 0x8c, + 0xcb, 0x84, 0x8b, 0x4b, 0x57, 0x68, 0x44, 0xa5, 0x89, 0xc1, 0xf2, 0x7e, + 0xcb, 0x28, 0x8b, 0xf5, 0xe7, 0x70, 0x77, 0xd5, 0xb6, 0xf4, 0x0b, 0x21, + 0x60, 0xa5, 0xa1, 0x74, 0x73, 0x24, 0x22, 0x80, 0xd6, 0xd8, 0xba, 0x8d, + 0xa2, 0x62, 0x5d, 0x09, 0x35, 0x42, 0x29, 0xfb, 0x39, 0x63, 0x45, 0x0b, + 0xa4, 0xb0, 0x38, 0x1a, 0x68, 0xf4, 0x95, 0x13, 0xcc, 0xe0, 0x43, 0x94, + 0xec, 0xeb, 0x39, 0x1a, 0xec, 0x57, 0x29, 0xd9, 0x99, 0x6d, 0xf5, 0x84, + 0xcd, 0x8e, 0x73, 0xae, 0xc9, 0xdc, 0x6a, 0xfa, 0x9e, 0x9d, 0x16, 0x64, + 0x93, 0x08, 0xc7, 0x1c, 0xc2, 0x89, 0x54, 0x9e, 0x77, 0x80, 0x90, 0xf6, + 0xb9, 0x29, 0x76, 0xeb, 0x13, 0x67, 0x48, 0x59, 0xf8, 0x2e, 0x3a, 0x31, + 0xb8, 0xc9, 0xd3, 0x88, 0xe5, 0x5f, 0x4e, 0xd2, 0x19, 0x3d, 0x43, 0x8e, + 0xd7, 0x92, 0xff, 0xcf, 0x38, 0xb6, 0xe1, 0x5b, 0x8a, 0x53, 0x1d, 0xce, + 0xac, 0xb4, 0x76, 0x2f, 0xd8, 0xf7, 0x40, 0x63, 0xd5, 0xee, 0x69, 0xf3, + 0x45, 0x7d, 0xa0, 0x62, 0xc1, 0x61, 0xc3, 0x75, 0xed, 0xb2, 0x7b, 0x4d, + 0xac, 0x21, 0x27, 0x30, 0x4e, 0x59, 0x46, 0x6a, 0x93, 0x17, 0xca, 0xc8, + 0x39, 0x2d, 0x01, 0x73, 0x65, 0x5b, 0xe9, 0x41, 0x9b, 0x11, 0x17, 0x9c, + 0xc8, 0xc8, 0x4a, 0xef, 0xa1, 0x76, 0x60, 0x2d, 0xae, 0x93, 0xff, 0x0c, + 0xd5, 0x33, 0x13, 0x9f, 0x4f, 0x13, 0xce, 0xdd, 0x86, 0xf1, 0xfc, 0xf8, + 0x35, 0x54, 0x15, 0xa8, 0x5b, 0xe7, 0x85, 0x7e, 0xfa, 0x37, 0x09, 0xff, + 0x8b, 0xb8, 0x31, 0x49, 0x9e, 0x0d, 0x6e, 0xde, 0xb4, 0xd2, 0x12, 0x2d, + 0xb8, 0xed, 0xc8, 0xc3, 0xf1, 0xb6, 0x42, 0xa0, 0x4c, 0x97, 0x79, 0xdf, + 0xfe, 0xc3, 0xa3, 0x9f, 0xa1, 0xf4, 0x6d, 0x2c, 0x84, 0x77, 0xa4, 0xa2, + 0x05, 0xe1, 0x17, 0xff, 0x31, 0xdd, 0x9a, 0xf3, 0xb8, 0x7a, 0xc3, 0x52, + 0xc2, 0x11, 0x11, 0xb7, 0x50, 0x31, 0x8a, 0x7f, 0xcc, 0xe7, 0x5a, 0x89, + 0xcc, 0xf7, 0x86, 0x9a, 0x61, 0x92, 0x4f, 0x2f, 0x94, 0xb6, 0x98, 0xc7, + 0x78, 0xe0, 0x62, 0x4b, 0x43, 0x7d, 0x3c, 0xde, 0xd6, 0x9a, 0xb4, 0x10, + 0xa1, 0x40, 0x9c, 0x4b, 0x2a, 0xdc, 0xb8, 0xd0, 0xd4, 0x9e, 0xfd, 0xf1, + 0x84, 0x78, 0x1b, 0x0e, 0x57, 0x8f, 0x69, 0x54, 0x42, 0x68, 0x7b, 0xea, + 0xa0, 0xef, 0x75, 0x0f, 0x07, 0xa2, 0x8c, 0x73, 0x99, 0xab, 0x55, 0xf5, + 0x07, 0x09, 0xd2, 0xaf, 0x38, 0x03, 0x6a, 0x90, 0x03, 0x0c, 0x2f, 0x8f, + 0xe2, 0xe8, 0x43, 0xc2, 0x31, 0xe9, 0x6f, 0xad, 0x87, 0xe5, 0x8d, 0xbd, + 0x4e, 0x2c, 0x89, 0x4b, 0x51, 0xe6, 0x9c, 0x4c, 0x54, 0x76, 0xc0, 0x12, + 0x81, 0x53, 0x9b, 0xec, 0xa0, 0xfc, 0x2c, 0x9c, 0xda, 0x18, 0x95, 0x6e, + 0x1e, 0x38, 0x26, 0x42, 0x27, 0x78, 0x60, 0x08, 0xdf, 0x7f, 0x6d, 0x32, + 0xe8, 0xd8, 0xc0, 0x6f, 0x1f, 0xeb, 0x26, 0x75, 0x9f, 0x93, 0xfc, 0x7b, + 0x1b, 0xfe, 0x35, 0x90, 0xdc, 0x53, 0xa3, 0x07, 0xa6, 0x3f, 0x83, 0x55, + 0x0a, 0x2b, 0x4e, 0x62, 0x82, 0x25, 0xce, 0x66, 0x30, 0x5d, 0x2c, 0xe0, + 0xf9, 0x19, 0x1b, 0x75, 0xb9, 0x9d, 0x98, 0x56, 0xa6, 0x83, 0x27, 0x7a, + 0xd1, 0x8f, 0x8d, 0x59, 0x93, 0xfc, 0x3f, 0x73, 0xd7, 0x2e, 0xb4, 0x2c, + 0x95, 0xd8, 0x8b, 0xf7, 0xc9, 0x7e, 0xc7, 0xfc, 0x9d, 0xac, 0x72, 0x04, + 0x1f, 0xd2, 0xcc, 0x17, 0xf4, 0xed, 0x34, 0x60, 0x9b, 0x9e, 0x4a, 0x97, + 0x04, 0xfe, 0xdd, 0x72, 0x0e, 0x57, 0x54, 0x51, 0x06, 0x70, 0x4d, 0xef, + 0xaa, 0x1c, 0xa4, 0x82, 0xe0, 0x33, 0xc7, 0xf4, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 0a:5f:11:4d:03:5b:17:91:17:d2:ef:d4:03:8c:3f:3b + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA + Validity + Not Before: Apr 2 12:00:00 2008 GMT + Not After : Apr 3 00:00:00 2022 GMT + Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance CA-3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bf:61:0a:29:10:1f:5e:fe:34:37:51:08:f8:1e: + fb:22:ed:61:be:0b:0d:70:4c:50:63:26:75:15:b9: + 41:88:97:b6:f0:a0:15:bb:08:60:e0:42:e8:05:29: + 10:87:36:8a:28:65:a8:ef:31:07:74:6d:36:97:2f: + 28:46:66:04:c7:2a:79:26:7a:99:d5:8e:c3:6d:4f: + a0:5e:ad:bc:3d:91:c2:59:7b:5e:36:6c:c0:53:cf: + 00:08:32:3e:10:64:58:10:13:69:c7:0c:ee:9c:42: + 51:00:f9:05:44:ee:24:ce:7a:1f:ed:8c:11:bd:12: + a8:f3:15:f4:1c:7a:31:69:01:1b:a7:e6:5d:c0:9a: + 6c:7e:09:9e:e7:52:44:4a:10:3a:23:e4:9b:b6:03: + af:a8:9c:b4:5b:9f:d4:4b:ad:92:8c:ce:b5:11:2a: + aa:37:18:8d:b4:c2:b8:d8:5c:06:8c:f8:ff:23:bd: + 35:5e:d4:7c:3e:7e:83:0e:91:96:05:98:c3:b2:1f: + e3:c8:65:eb:a9:7b:5d:a0:2c:cc:fc:3c:d9:6d:ed: + cc:fa:4b:43:8c:c9:d4:b8:a5:61:1c:b2:40:b6:28: + 12:df:b9:f8:5f:fe:d3:b2:c9:ef:3d:b4:1e:4b:7c: + 1c:4c:99:36:9e:3d:eb:ec:a7:68:5e:1d:df:67:6e: + 5e:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Certificate Policies: + Policy: 2.16.840.1.114412.1.3.0.2 + CPS: http://www.digicert.com/ssl-cps-repository.htm + User Notice: + Explicit Text: + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl + + Full Name: + URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl + + X509v3 Authority Key Identifier: + keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3 + + X509v3 Subject Key Identifier: + 50:EA:73:89:DB:29:FB:10:8F:9E:E5:01:20:D4:DE:79:99:48:83:F7 + Signature Algorithm: sha1WithRSAEncryption + 1e:e2:a5:48:9e:6c:db:53:38:0f:ef:a6:1a:2a:ac:e2:03:43: + ed:9a:bc:3e:8e:75:1b:f0:fd:2e:22:59:ac:13:c0:61:e2:e7: + fa:e9:99:cd:87:09:75:54:28:bf:46:60:dc:be:51:2c:92:f3: + 1b:91:7c:31:08:70:e2:37:b9:c1:5b:a8:bd:a3:0b:00:fb:1a: + 15:fd:03:ad:58:6a:c5:c7:24:99:48:47:46:31:1e:92:ef:b4: + 5f:4e:34:c7:90:bf:31:c1:f8:b1:84:86:d0:9c:01:aa:df:8a: + 56:06:ce:3a:e9:0e:ae:97:74:5d:d7:71:9a:42:74:5f:de:8d: + 43:7c:de:e9:55:ed:69:00:cb:05:e0:7a:61:61:33:d1:19:4d: + f9:08:ee:a0:39:c5:25:35:b7:2b:c4:0f:b2:dd:f1:a5:b7:0e: + 24:c4:26:28:8d:79:77:f5:2f:f0:57:ba:7c:07:d4:e1:fc:cd: + 5a:30:57:7e:86:10:47:dd:31:1f:d7:fc:a2:c2:bf:30:7c:5d: + 24:aa:e8:f9:ae:5f:6a:74:c2:ce:6b:b3:46:d8:21:be:29:d4: + 8e:5e:15:d6:42:4a:e7:32:6f:a4:b1:6b:51:83:58:be:3f:6d: + c7:fb:da:03:21:cb:6a:16:19:4e:0a:f0:ad:84:ca:5d:94:b3: + 5a:76:f7:61 +-----BEGIN CERTIFICATE----- +MIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +Q0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR +CPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv +KEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5 +BUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf +1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs +zPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d +32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w +ggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3 +LmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH +AgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy +AHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj +AGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg +AEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ +AGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt +AGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj +AG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl +AHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm +MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB +hzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln +aEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl +cnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME +GDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB +INTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a +vD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j +CwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X +dF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE +JiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY +Ib4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_51[] = { + 0x30, 0x82, 0x06, 0x58, 0x30, 0x82, 0x05, 0x40, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x0a, 0x5f, 0x11, 0x4d, 0x03, 0x5b, 0x17, 0x91, 0x17, + 0xd2, 0xef, 0xd4, 0x03, 0x8c, 0x3f, 0x3b, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x6c, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, + 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, + 0x65, 0x20, 0x45, 0x56, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, + 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x34, 0x30, 0x32, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x34, 0x30, + 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x66, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, 0x19, + 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, 0x69, 0x67, + 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x20, + 0x43, 0x41, 0x2d, 0x33, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, + 0x00, 0xbf, 0x61, 0x0a, 0x29, 0x10, 0x1f, 0x5e, 0xfe, 0x34, 0x37, 0x51, + 0x08, 0xf8, 0x1e, 0xfb, 0x22, 0xed, 0x61, 0xbe, 0x0b, 0x0d, 0x70, 0x4c, + 0x50, 0x63, 0x26, 0x75, 0x15, 0xb9, 0x41, 0x88, 0x97, 0xb6, 0xf0, 0xa0, + 0x15, 0xbb, 0x08, 0x60, 0xe0, 0x42, 0xe8, 0x05, 0x29, 0x10, 0x87, 0x36, + 0x8a, 0x28, 0x65, 0xa8, 0xef, 0x31, 0x07, 0x74, 0x6d, 0x36, 0x97, 0x2f, + 0x28, 0x46, 0x66, 0x04, 0xc7, 0x2a, 0x79, 0x26, 0x7a, 0x99, 0xd5, 0x8e, + 0xc3, 0x6d, 0x4f, 0xa0, 0x5e, 0xad, 0xbc, 0x3d, 0x91, 0xc2, 0x59, 0x7b, + 0x5e, 0x36, 0x6c, 0xc0, 0x53, 0xcf, 0x00, 0x08, 0x32, 0x3e, 0x10, 0x64, + 0x58, 0x10, 0x13, 0x69, 0xc7, 0x0c, 0xee, 0x9c, 0x42, 0x51, 0x00, 0xf9, + 0x05, 0x44, 0xee, 0x24, 0xce, 0x7a, 0x1f, 0xed, 0x8c, 0x11, 0xbd, 0x12, + 0xa8, 0xf3, 0x15, 0xf4, 0x1c, 0x7a, 0x31, 0x69, 0x01, 0x1b, 0xa7, 0xe6, + 0x5d, 0xc0, 0x9a, 0x6c, 0x7e, 0x09, 0x9e, 0xe7, 0x52, 0x44, 0x4a, 0x10, + 0x3a, 0x23, 0xe4, 0x9b, 0xb6, 0x03, 0xaf, 0xa8, 0x9c, 0xb4, 0x5b, 0x9f, + 0xd4, 0x4b, 0xad, 0x92, 0x8c, 0xce, 0xb5, 0x11, 0x2a, 0xaa, 0x37, 0x18, + 0x8d, 0xb4, 0xc2, 0xb8, 0xd8, 0x5c, 0x06, 0x8c, 0xf8, 0xff, 0x23, 0xbd, + 0x35, 0x5e, 0xd4, 0x7c, 0x3e, 0x7e, 0x83, 0x0e, 0x91, 0x96, 0x05, 0x98, + 0xc3, 0xb2, 0x1f, 0xe3, 0xc8, 0x65, 0xeb, 0xa9, 0x7b, 0x5d, 0xa0, 0x2c, + 0xcc, 0xfc, 0x3c, 0xd9, 0x6d, 0xed, 0xcc, 0xfa, 0x4b, 0x43, 0x8c, 0xc9, + 0xd4, 0xb8, 0xa5, 0x61, 0x1c, 0xb2, 0x40, 0xb6, 0x28, 0x12, 0xdf, 0xb9, + 0xf8, 0x5f, 0xfe, 0xd3, 0xb2, 0xc9, 0xef, 0x3d, 0xb4, 0x1e, 0x4b, 0x7c, + 0x1c, 0x4c, 0x99, 0x36, 0x9e, 0x3d, 0xeb, 0xec, 0xa7, 0x68, 0x5e, 0x1d, + 0xdf, 0x67, 0x6e, 0x5e, 0xfb, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x02, 0xfa, 0x30, 0x82, 0x02, 0xf6, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x82, + 0x01, 0xc6, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x82, 0x01, 0xbd, 0x30, + 0x82, 0x01, 0xb9, 0x30, 0x82, 0x01, 0xb5, 0x06, 0x0b, 0x60, 0x86, 0x48, + 0x01, 0x86, 0xfd, 0x6c, 0x01, 0x03, 0x00, 0x02, 0x30, 0x82, 0x01, 0xa4, + 0x30, 0x3a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, + 0x16, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x73, 0x6c, 0x2d, 0x63, 0x70, 0x73, 0x2d, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x68, 0x74, 0x6d, + 0x30, 0x82, 0x01, 0x64, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x02, 0x30, 0x82, 0x01, 0x56, 0x1e, 0x82, 0x01, 0x52, 0x00, 0x41, + 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x74, + 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, 0x63, + 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x63, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, 0x69, 0x00, 0x67, + 0x00, 0x69, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x43, 0x00, 0x50, 0x00, 0x2f, 0x00, 0x43, 0x00, 0x50, 0x00, 0x53, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x6c, + 0x00, 0x79, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, 0x00, 0x50, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x41, + 0x00, 0x67, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x65, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, 0x68, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x6d, + 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x61, + 0x00, 0x62, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x63, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x62, + 0x00, 0x79, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x65, 0x00, 0x2e, + 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, + 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x34, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, + 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, + 0x70, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x30, 0x81, 0x8f, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x81, + 0x87, 0x30, 0x81, 0x84, 0x30, 0x40, 0xa0, 0x3e, 0xa0, 0x3c, 0x86, 0x3a, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x33, 0x2e, + 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, 0x69, 0x67, + 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x56, + 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x40, + 0xa0, 0x3e, 0xa0, 0x3c, 0x86, 0x3a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x63, 0x72, 0x6c, 0x34, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, + 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, + 0x65, 0x72, 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x45, 0x56, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, + 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0xb1, 0x3e, 0xc3, 0x69, 0x03, 0xf8, 0xbf, + 0x47, 0x01, 0xd4, 0x98, 0x26, 0x1a, 0x08, 0x02, 0xef, 0x63, 0x64, 0x2b, + 0xc3, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x50, 0xea, 0x73, 0x89, 0xdb, 0x29, 0xfb, 0x10, 0x8f, 0x9e, 0xe5, 0x01, + 0x20, 0xd4, 0xde, 0x79, 0x99, 0x48, 0x83, 0xf7, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x1e, 0xe2, 0xa5, 0x48, 0x9e, 0x6c, 0xdb, 0x53, + 0x38, 0x0f, 0xef, 0xa6, 0x1a, 0x2a, 0xac, 0xe2, 0x03, 0x43, 0xed, 0x9a, + 0xbc, 0x3e, 0x8e, 0x75, 0x1b, 0xf0, 0xfd, 0x2e, 0x22, 0x59, 0xac, 0x13, + 0xc0, 0x61, 0xe2, 0xe7, 0xfa, 0xe9, 0x99, 0xcd, 0x87, 0x09, 0x75, 0x54, + 0x28, 0xbf, 0x46, 0x60, 0xdc, 0xbe, 0x51, 0x2c, 0x92, 0xf3, 0x1b, 0x91, + 0x7c, 0x31, 0x08, 0x70, 0xe2, 0x37, 0xb9, 0xc1, 0x5b, 0xa8, 0xbd, 0xa3, + 0x0b, 0x00, 0xfb, 0x1a, 0x15, 0xfd, 0x03, 0xad, 0x58, 0x6a, 0xc5, 0xc7, + 0x24, 0x99, 0x48, 0x47, 0x46, 0x31, 0x1e, 0x92, 0xef, 0xb4, 0x5f, 0x4e, + 0x34, 0xc7, 0x90, 0xbf, 0x31, 0xc1, 0xf8, 0xb1, 0x84, 0x86, 0xd0, 0x9c, + 0x01, 0xaa, 0xdf, 0x8a, 0x56, 0x06, 0xce, 0x3a, 0xe9, 0x0e, 0xae, 0x97, + 0x74, 0x5d, 0xd7, 0x71, 0x9a, 0x42, 0x74, 0x5f, 0xde, 0x8d, 0x43, 0x7c, + 0xde, 0xe9, 0x55, 0xed, 0x69, 0x00, 0xcb, 0x05, 0xe0, 0x7a, 0x61, 0x61, + 0x33, 0xd1, 0x19, 0x4d, 0xf9, 0x08, 0xee, 0xa0, 0x39, 0xc5, 0x25, 0x35, + 0xb7, 0x2b, 0xc4, 0x0f, 0xb2, 0xdd, 0xf1, 0xa5, 0xb7, 0x0e, 0x24, 0xc4, + 0x26, 0x28, 0x8d, 0x79, 0x77, 0xf5, 0x2f, 0xf0, 0x57, 0xba, 0x7c, 0x07, + 0xd4, 0xe1, 0xfc, 0xcd, 0x5a, 0x30, 0x57, 0x7e, 0x86, 0x10, 0x47, 0xdd, + 0x31, 0x1f, 0xd7, 0xfc, 0xa2, 0xc2, 0xbf, 0x30, 0x7c, 0x5d, 0x24, 0xaa, + 0xe8, 0xf9, 0xae, 0x5f, 0x6a, 0x74, 0xc2, 0xce, 0x6b, 0xb3, 0x46, 0xd8, + 0x21, 0xbe, 0x29, 0xd4, 0x8e, 0x5e, 0x15, 0xd6, 0x42, 0x4a, 0xe7, 0x32, + 0x6f, 0xa4, 0xb1, 0x6b, 0x51, 0x83, 0x58, 0xbe, 0x3f, 0x6d, 0xc7, 0xfb, + 0xda, 0x03, 0x21, 0xcb, 0x6a, 0x16, 0x19, 0x4e, 0x0a, 0xf0, 0xad, 0x84, + 0xca, 0x5d, 0x94, 0xb3, 0x5a, 0x76, 0xf7, 0x61, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7250751724796726 (0x19c28530e93b36) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IL, O=StartCom Ltd., OU=Secure Digital Certificate Signing, CN=StartCom Certification Authority + Validity + Not Before: Sep 17 22:46:36 2006 GMT + Not After : Dec 31 23:59:59 2019 GMT + Subject: C=CN, O=WoSign CA Limited, CN=Certification Authority of WoSign + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:bd:ca:8d:ac:b8:91:15:56:97:7b:6b:5c:7a:c2: + de:6b:d9:a1:b0:c3:10:23:fa:a7:a1:b2:cc:31:fa: + 3e:d9:a6:29:6f:16:3d:e0:6b:f8:b8:40:5f:db:39: + a8:00:7a:8b:a0:4d:54:7d:c2:22:78:fc:8e:09:b8: + a8:85:d7:cc:95:97:4b:74:d8:9e:7e:f0:00:e4:0e: + 89:ae:49:28:44:1a:10:99:32:0f:25:88:53:a4:0d: + b3:0f:12:08:16:0b:03:71:27:1c:7f:e1:db:d2:fd: + 67:68:c4:05:5d:0a:0e:5d:70:d7:d8:97:a0:bc:53: + 41:9a:91:8d:f4:9e:36:66:7a:7e:56:c1:90:5f:e6: + b1:68:20:36:a4:8c:24:2c:2c:47:0b:59:76:66:30: + b5:be:de:ed:8f:f8:9d:d3:bb:01:30:e6:f2:f3:0e: + e0:2c:92:80:f3:85:f9:28:8a:b4:54:2e:9a:ed:f7: + 76:fc:15:68:16:eb:4a:6c:eb:2e:12:8f:d4:cf:fe: + 0c:c7:5c:1d:0b:7e:05:32:be:5e:b0:09:2a:42:d5: + c9:4e:90:b3:59:0d:bb:7a:7e:cd:d5:08:5a:b4:7f: + d8:1c:69:11:f9:27:0f:7b:06:af:54:83:18:7b:e1: + dd:54:7a:51:68:6e:77:fc:c6:bf:52:4a:66:46:a1: + b2:67:1a:bb:a3:4f:77:a0:be:5d:ff:fc:56:0b:43: + 72:77:90:ca:9e:f9:f2:39:f5:0d:a9:f4:ea:d7:e7: + b3:10:2f:30:42:37:21:cc:30:70:c9:86:98:0f:cc: + 58:4d:83:bb:7d:e5:1a:a5:37:8d:b6:ac:32:97:00: + 3a:63:71:24:1e:9e:37:c4:ff:74:d4:37:c0:e2:fe: + 88:46:60:11:dd:08:3f:50:36:ab:b8:7a:a4:95:62: + 6a:6e:b0:ca:6a:21:5a:69:f3:f3:fb:1d:70:39:95: + f3:a7:6e:a6:81:89:a1:88:c5:3b:71:ca:a3:52:ee: + 83:bb:fd:a0:77:f4:e4:6f:e7:42:db:6d:4a:99:8a: + 34:48:bc:17:dc:e4:80:08:22:b6:f2:31:c0:3f:04: + 3e:eb:9f:20:79:d6:b8:06:64:64:02:31:d7:a9:cd: + 52:fb:84:45:69:09:00:2a:dc:55:8b:c4:06:46:4b: + c0:4a:1d:09:5b:39:28:fd:a9:ab:ce:00:f9:2e:48: + 4b:26:e6:30:4c:a5:58:ca:b4:44:82:4f:e7:91:1e: + 33:c3:b0:93:ff:11:fc:81:d2:ca:1f:71:29:dd:76: + 4f:92:25:af:1d:81:b7:0f:2f:8c:c3:06:cc:2f:27: + a3:4a:e4:0e:99:ba:7c:1e:45:1f:7f:aa:19:45:96: + fd:fc:3d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:2 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + E1:66:CF:0E:D1:F1:B3:4B:B7:06:20:14:FE:87:12:D5:F6:FE:FB:3E + X509v3 Authority Key Identifier: + keyid:4E:0B:EF:1A:A4:40:5B:A5:17:69:87:30:CA:34:68:43:D0:41:AE:F2 + + Authority Information Access: + OCSP - URI:http://ocsp.startssl.com/ca + CA Issuers - URI:http://aia.startssl.com/certs/ca.crt + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.startssl.com/sfsca.crl + + Signature Algorithm: sha256WithRSAEncryption + b6:6d:f8:70:fb:e2:0d:4c:98:b3:07:49:15:f5:04:c4:6c:ca: + ca:f5:68:a0:08:fe:12:6d:9c:04:06:c9:ad:9a:91:52:3e:78: + c4:5c:ee:9f:54:1d:ee:e3:f1:5e:30:c9:49:e1:39:e0:a6:9d: + 36:6c:57:fa:e6:34:4f:55:e8:87:a8:2c:dd:05:f1:58:12:91: + e8:ca:ce:28:78:8f:df:07:85:01:a5:dc:45:96:05:d4:80:b2: + 2b:05:9a:cb:9a:a5:8b:e0:3a:67:e6:73:47:be:4a:fd:27:b1: + 88:ef:e6:ca:cf:8d:0e:26:9f:fa:5f:57:78:ad:6d:fe:ae:9b: + 35:08:b1:c3:ba:c1:00:4a:4b:7d:14:bd:f7:f1:d3:55:18:ac: + d0:33:70:88:6d:c4:09:71:14:a6:2b:4f:88:81:e7:0b:00:37: + a9:15:7d:7e:d7:01:96:3f:2f:af:7b:62:ae:0a:4a:bf:4b:39: + 2e:35:10:8b:fe:04:39:e4:3c:3a:0c:09:56:40:3a:b5:f4:c2: + 68:0c:b5:f9:52:cd:ee:9d:f8:98:fc:78:e7:58:47:8f:1c:73: + 58:69:33:ab:ff:dd:df:8e:24:01:77:98:19:3a:b0:66:79:bc: + e1:08:a3:0e:4f:c1:04:b3:f3:01:c8:eb:d3:59:1c:35:d2:93: + 1e:70:65:82:7f:db:cf:fb:c8:99:12:60:c3:44:6f:3a:80:4b: + d7:be:21:aa:14:7a:64:cb:dd:37:43:45:5b:32:2e:45:f0:d9: + 59:1f:6b:18:f0:7c:e9:55:36:19:61:5f:b5:7d:f1:8d:bd:88: + e4:75:4b:98:dd:27:b0:e4:84:44:2a:61:84:57:05:82:11:1f: + aa:35:58:f3:20:0e:af:59:ef:fa:55:72:72:0d:26:d0:9b:53: + 49:ac:ce:37:2e:65:61:ff:f6:ec:1b:ea:f6:f1:a6:d3:d1:b5: + 7b:be:35:f4:22:c1:bc:8d:01:bd:68:5e:83:0d:2f:ec:d6:da: + 63:0c:27:d1:54:3e:e4:a8:d3:ce:4b:32:b8:91:94:ff:fb:5b: + 49:2d:75:18:a8:ba:71:9a:3b:ae:d9:c0:a9:4f:87:91:ed:8b: + 7b:6b:20:98:89:39:83:4f:80:c4:69:cc:17:c9:c8:4e:be:e4: + a9:a5:81:76:70:06:04:32:cd:83:65:f4:bc:7d:3e:13:bc:d2: + e8:6f:63:aa:b5:3b:da:8d:86:32:82:78:9d:d9:cc:ff:bf:57: + 64:74:ed:28:3d:44:62:15:61:4b:f7:94:b0:0d:2a:67:1c:f0: + cb:9b:a5:92:bf:f8:41:5a:c1:3d:60:ed:9f:bb:b8:6d:9b:ce: + a9:6a:16:3f:7e:ea:06:f1 +-----BEGIN CERTIFICATE----- +MIIGXDCCBESgAwIBAgIHGcKFMOk7NjANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQG +EwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERp +Z2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MjI0NjM2WhcNMTkxMjMxMjM1 +OTU5WjBVMQswCQYDVQQGEwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQx +KjAoBgNVBAMTIUNlcnRpZmljYXRpb24gQXV0aG9yaXR5IG9mIFdvU2lnbjCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL3Kjay4kRVWl3trXHrC3mvZobDD +ECP6p6GyzDH6PtmmKW8WPeBr+LhAX9s5qAB6i6BNVH3CInj8jgm4qIXXzJWXS3TY +nn7wAOQOia5JKEQaEJkyDyWIU6QNsw8SCBYLA3EnHH/h29L9Z2jEBV0KDl1w19iX +oLxTQZqRjfSeNmZ6flbBkF/msWggNqSMJCwsRwtZdmYwtb7e7Y/4ndO7ATDm8vMO +4CySgPOF+SiKtFQumu33dvwVaBbrSmzrLhKP1M/+DMdcHQt+BTK+XrAJKkLVyU6Q +s1kNu3p+zdUIWrR/2BxpEfknD3sGr1SDGHvh3VR6UWhud/zGv1JKZkahsmcau6NP +d6C+Xf/8VgtDcneQyp758jn1Dan06tfnsxAvMEI3IcwwcMmGmA/MWE2Du33lGqU3 +jbasMpcAOmNxJB6eN8T/dNQ3wOL+iEZgEd0IP1A2q7h6pJViam6wymohWmnz8/sd +cDmV86dupoGJoYjFO3HKo1Lug7v9oHf05G/nQtttSpmKNEi8F9zkgAgitvIxwD8E +PuufIHnWuAZkZAIx16nNUvuERWkJACrcVYvEBkZLwEodCVs5KP2pq84A+S5ISybm +MEylWMq0RIJP55EeM8Owk/8R/IHSyh9xKd12T5Ilrx2Btw8vjMMGzC8no0rkDpm6 +fB5FH3+qGUWW/fw9AgMBAAGjggEHMIIBAzASBgNVHRMBAf8ECDAGAQH/AgECMA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU4WbPDtHxs0u3BiAU/ocS1fb++z4wHwYD +VR0jBBgwFoAUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwaQYIKwYBBQUHAQEEXTBbMCcG +CCsGAQUFBzABhhtodHRwOi8vb2NzcC5zdGFydHNzbC5jb20vY2EwMAYIKwYBBQUH +MAKGJGh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL2NhLmNydDAyBgNVHR8E +KzApMCegJaAjhiFodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9zZnNjYS5jcmwwDQYJ +KoZIhvcNAQELBQADggIBALZt+HD74g1MmLMHSRX1BMRsysr1aKAI/hJtnAQGya2a +kVI+eMRc7p9UHe7j8V4wyUnhOeCmnTZsV/rmNE9V6IeoLN0F8VgSkejKzih4j98H +hQGl3EWWBdSAsisFmsuapYvgOmfmc0e+Sv0nsYjv5srPjQ4mn/pfV3itbf6umzUI +scO6wQBKS30Uvffx01UYrNAzcIhtxAlxFKYrT4iB5wsAN6kVfX7XAZY/L697Yq4K +Sr9LOS41EIv+BDnkPDoMCVZAOrX0wmgMtflSze6d+Jj8eOdYR48cc1hpM6v/3d+O +JAF3mBk6sGZ5vOEIow5PwQSz8wHI69NZHDXSkx5wZYJ/28/7yJkSYMNEbzqAS9e+ +IaoUemTL3TdDRVsyLkXw2VkfaxjwfOlVNhlhX7V98Y29iOR1S5jdJ7DkhEQqYYRX +BYIRH6o1WPMgDq9Z7/pVcnINJtCbU0mszjcuZWH/9uwb6vbxptPRtXu+NfQiwbyN +Ab1oXoMNL+zW2mMMJ9FUPuSo085LMriRlP/7W0ktdRiounGaO67ZwKlPh5Hti3tr +IJiJOYNPgMRpzBfJyE6+5KmlgXZwBgQyzYNl9Lx9PhO80uhvY6q1O9qNhjKCeJ3Z +zP+/V2R07Sg9RGIVYUv3lLANKmcc8MubpZK/+EFawT1g7Z+7uG2bzqlqFj9+6gbx +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_52[] = { + 0x30, 0x82, 0x06, 0x5c, 0x30, 0x82, 0x04, 0x44, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x07, 0x19, 0xc2, 0x85, 0x30, 0xe9, 0x3b, 0x36, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x30, 0x7d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x49, 0x4c, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, + 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x44, 0x69, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, + 0x67, 0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x20, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, + 0x30, 0x36, 0x30, 0x39, 0x31, 0x37, 0x32, 0x32, 0x34, 0x36, 0x33, 0x36, + 0x5a, 0x17, 0x0d, 0x31, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, + 0x39, 0x35, 0x39, 0x5a, 0x30, 0x55, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, + 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, 0x4e, 0x31, 0x1a, 0x30, 0x18, 0x06, + 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x57, 0x6f, 0x53, 0x69, 0x67, 0x6e, + 0x20, 0x43, 0x41, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x31, + 0x2a, 0x30, 0x28, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, + 0x20, 0x57, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x30, 0x82, 0x02, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, + 0x82, 0x02, 0x01, 0x00, 0xbd, 0xca, 0x8d, 0xac, 0xb8, 0x91, 0x15, 0x56, + 0x97, 0x7b, 0x6b, 0x5c, 0x7a, 0xc2, 0xde, 0x6b, 0xd9, 0xa1, 0xb0, 0xc3, + 0x10, 0x23, 0xfa, 0xa7, 0xa1, 0xb2, 0xcc, 0x31, 0xfa, 0x3e, 0xd9, 0xa6, + 0x29, 0x6f, 0x16, 0x3d, 0xe0, 0x6b, 0xf8, 0xb8, 0x40, 0x5f, 0xdb, 0x39, + 0xa8, 0x00, 0x7a, 0x8b, 0xa0, 0x4d, 0x54, 0x7d, 0xc2, 0x22, 0x78, 0xfc, + 0x8e, 0x09, 0xb8, 0xa8, 0x85, 0xd7, 0xcc, 0x95, 0x97, 0x4b, 0x74, 0xd8, + 0x9e, 0x7e, 0xf0, 0x00, 0xe4, 0x0e, 0x89, 0xae, 0x49, 0x28, 0x44, 0x1a, + 0x10, 0x99, 0x32, 0x0f, 0x25, 0x88, 0x53, 0xa4, 0x0d, 0xb3, 0x0f, 0x12, + 0x08, 0x16, 0x0b, 0x03, 0x71, 0x27, 0x1c, 0x7f, 0xe1, 0xdb, 0xd2, 0xfd, + 0x67, 0x68, 0xc4, 0x05, 0x5d, 0x0a, 0x0e, 0x5d, 0x70, 0xd7, 0xd8, 0x97, + 0xa0, 0xbc, 0x53, 0x41, 0x9a, 0x91, 0x8d, 0xf4, 0x9e, 0x36, 0x66, 0x7a, + 0x7e, 0x56, 0xc1, 0x90, 0x5f, 0xe6, 0xb1, 0x68, 0x20, 0x36, 0xa4, 0x8c, + 0x24, 0x2c, 0x2c, 0x47, 0x0b, 0x59, 0x76, 0x66, 0x30, 0xb5, 0xbe, 0xde, + 0xed, 0x8f, 0xf8, 0x9d, 0xd3, 0xbb, 0x01, 0x30, 0xe6, 0xf2, 0xf3, 0x0e, + 0xe0, 0x2c, 0x92, 0x80, 0xf3, 0x85, 0xf9, 0x28, 0x8a, 0xb4, 0x54, 0x2e, + 0x9a, 0xed, 0xf7, 0x76, 0xfc, 0x15, 0x68, 0x16, 0xeb, 0x4a, 0x6c, 0xeb, + 0x2e, 0x12, 0x8f, 0xd4, 0xcf, 0xfe, 0x0c, 0xc7, 0x5c, 0x1d, 0x0b, 0x7e, + 0x05, 0x32, 0xbe, 0x5e, 0xb0, 0x09, 0x2a, 0x42, 0xd5, 0xc9, 0x4e, 0x90, + 0xb3, 0x59, 0x0d, 0xbb, 0x7a, 0x7e, 0xcd, 0xd5, 0x08, 0x5a, 0xb4, 0x7f, + 0xd8, 0x1c, 0x69, 0x11, 0xf9, 0x27, 0x0f, 0x7b, 0x06, 0xaf, 0x54, 0x83, + 0x18, 0x7b, 0xe1, 0xdd, 0x54, 0x7a, 0x51, 0x68, 0x6e, 0x77, 0xfc, 0xc6, + 0xbf, 0x52, 0x4a, 0x66, 0x46, 0xa1, 0xb2, 0x67, 0x1a, 0xbb, 0xa3, 0x4f, + 0x77, 0xa0, 0xbe, 0x5d, 0xff, 0xfc, 0x56, 0x0b, 0x43, 0x72, 0x77, 0x90, + 0xca, 0x9e, 0xf9, 0xf2, 0x39, 0xf5, 0x0d, 0xa9, 0xf4, 0xea, 0xd7, 0xe7, + 0xb3, 0x10, 0x2f, 0x30, 0x42, 0x37, 0x21, 0xcc, 0x30, 0x70, 0xc9, 0x86, + 0x98, 0x0f, 0xcc, 0x58, 0x4d, 0x83, 0xbb, 0x7d, 0xe5, 0x1a, 0xa5, 0x37, + 0x8d, 0xb6, 0xac, 0x32, 0x97, 0x00, 0x3a, 0x63, 0x71, 0x24, 0x1e, 0x9e, + 0x37, 0xc4, 0xff, 0x74, 0xd4, 0x37, 0xc0, 0xe2, 0xfe, 0x88, 0x46, 0x60, + 0x11, 0xdd, 0x08, 0x3f, 0x50, 0x36, 0xab, 0xb8, 0x7a, 0xa4, 0x95, 0x62, + 0x6a, 0x6e, 0xb0, 0xca, 0x6a, 0x21, 0x5a, 0x69, 0xf3, 0xf3, 0xfb, 0x1d, + 0x70, 0x39, 0x95, 0xf3, 0xa7, 0x6e, 0xa6, 0x81, 0x89, 0xa1, 0x88, 0xc5, + 0x3b, 0x71, 0xca, 0xa3, 0x52, 0xee, 0x83, 0xbb, 0xfd, 0xa0, 0x77, 0xf4, + 0xe4, 0x6f, 0xe7, 0x42, 0xdb, 0x6d, 0x4a, 0x99, 0x8a, 0x34, 0x48, 0xbc, + 0x17, 0xdc, 0xe4, 0x80, 0x08, 0x22, 0xb6, 0xf2, 0x31, 0xc0, 0x3f, 0x04, + 0x3e, 0xeb, 0x9f, 0x20, 0x79, 0xd6, 0xb8, 0x06, 0x64, 0x64, 0x02, 0x31, + 0xd7, 0xa9, 0xcd, 0x52, 0xfb, 0x84, 0x45, 0x69, 0x09, 0x00, 0x2a, 0xdc, + 0x55, 0x8b, 0xc4, 0x06, 0x46, 0x4b, 0xc0, 0x4a, 0x1d, 0x09, 0x5b, 0x39, + 0x28, 0xfd, 0xa9, 0xab, 0xce, 0x00, 0xf9, 0x2e, 0x48, 0x4b, 0x26, 0xe6, + 0x30, 0x4c, 0xa5, 0x58, 0xca, 0xb4, 0x44, 0x82, 0x4f, 0xe7, 0x91, 0x1e, + 0x33, 0xc3, 0xb0, 0x93, 0xff, 0x11, 0xfc, 0x81, 0xd2, 0xca, 0x1f, 0x71, + 0x29, 0xdd, 0x76, 0x4f, 0x92, 0x25, 0xaf, 0x1d, 0x81, 0xb7, 0x0f, 0x2f, + 0x8c, 0xc3, 0x06, 0xcc, 0x2f, 0x27, 0xa3, 0x4a, 0xe4, 0x0e, 0x99, 0xba, + 0x7c, 0x1e, 0x45, 0x1f, 0x7f, 0xaa, 0x19, 0x45, 0x96, 0xfd, 0xfc, 0x3d, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x07, 0x30, 0x82, 0x01, + 0x03, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x02, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0xe1, 0x66, 0xcf, 0x0e, 0xd1, 0xf1, 0xb3, 0x4b, 0xb7, 0x06, 0x20, 0x14, + 0xfe, 0x87, 0x12, 0xd5, 0xf6, 0xfe, 0xfb, 0x3e, 0x30, 0x1f, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x4e, 0x0b, 0xef, + 0x1a, 0xa4, 0x40, 0x5b, 0xa5, 0x17, 0x69, 0x87, 0x30, 0xca, 0x34, 0x68, + 0x43, 0xd0, 0x41, 0xae, 0xf2, 0x30, 0x69, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x5d, 0x30, 0x5b, 0x30, 0x27, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x1b, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x61, 0x30, 0x30, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x02, 0x86, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, + 0x69, 0x61, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, + 0x2e, 0x63, 0x72, 0x74, 0x30, 0x32, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, + 0x2b, 0x30, 0x29, 0x30, 0x27, 0xa0, 0x25, 0xa0, 0x23, 0x86, 0x21, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x66, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, + 0x82, 0x02, 0x01, 0x00, 0xb6, 0x6d, 0xf8, 0x70, 0xfb, 0xe2, 0x0d, 0x4c, + 0x98, 0xb3, 0x07, 0x49, 0x15, 0xf5, 0x04, 0xc4, 0x6c, 0xca, 0xca, 0xf5, + 0x68, 0xa0, 0x08, 0xfe, 0x12, 0x6d, 0x9c, 0x04, 0x06, 0xc9, 0xad, 0x9a, + 0x91, 0x52, 0x3e, 0x78, 0xc4, 0x5c, 0xee, 0x9f, 0x54, 0x1d, 0xee, 0xe3, + 0xf1, 0x5e, 0x30, 0xc9, 0x49, 0xe1, 0x39, 0xe0, 0xa6, 0x9d, 0x36, 0x6c, + 0x57, 0xfa, 0xe6, 0x34, 0x4f, 0x55, 0xe8, 0x87, 0xa8, 0x2c, 0xdd, 0x05, + 0xf1, 0x58, 0x12, 0x91, 0xe8, 0xca, 0xce, 0x28, 0x78, 0x8f, 0xdf, 0x07, + 0x85, 0x01, 0xa5, 0xdc, 0x45, 0x96, 0x05, 0xd4, 0x80, 0xb2, 0x2b, 0x05, + 0x9a, 0xcb, 0x9a, 0xa5, 0x8b, 0xe0, 0x3a, 0x67, 0xe6, 0x73, 0x47, 0xbe, + 0x4a, 0xfd, 0x27, 0xb1, 0x88, 0xef, 0xe6, 0xca, 0xcf, 0x8d, 0x0e, 0x26, + 0x9f, 0xfa, 0x5f, 0x57, 0x78, 0xad, 0x6d, 0xfe, 0xae, 0x9b, 0x35, 0x08, + 0xb1, 0xc3, 0xba, 0xc1, 0x00, 0x4a, 0x4b, 0x7d, 0x14, 0xbd, 0xf7, 0xf1, + 0xd3, 0x55, 0x18, 0xac, 0xd0, 0x33, 0x70, 0x88, 0x6d, 0xc4, 0x09, 0x71, + 0x14, 0xa6, 0x2b, 0x4f, 0x88, 0x81, 0xe7, 0x0b, 0x00, 0x37, 0xa9, 0x15, + 0x7d, 0x7e, 0xd7, 0x01, 0x96, 0x3f, 0x2f, 0xaf, 0x7b, 0x62, 0xae, 0x0a, + 0x4a, 0xbf, 0x4b, 0x39, 0x2e, 0x35, 0x10, 0x8b, 0xfe, 0x04, 0x39, 0xe4, + 0x3c, 0x3a, 0x0c, 0x09, 0x56, 0x40, 0x3a, 0xb5, 0xf4, 0xc2, 0x68, 0x0c, + 0xb5, 0xf9, 0x52, 0xcd, 0xee, 0x9d, 0xf8, 0x98, 0xfc, 0x78, 0xe7, 0x58, + 0x47, 0x8f, 0x1c, 0x73, 0x58, 0x69, 0x33, 0xab, 0xff, 0xdd, 0xdf, 0x8e, + 0x24, 0x01, 0x77, 0x98, 0x19, 0x3a, 0xb0, 0x66, 0x79, 0xbc, 0xe1, 0x08, + 0xa3, 0x0e, 0x4f, 0xc1, 0x04, 0xb3, 0xf3, 0x01, 0xc8, 0xeb, 0xd3, 0x59, + 0x1c, 0x35, 0xd2, 0x93, 0x1e, 0x70, 0x65, 0x82, 0x7f, 0xdb, 0xcf, 0xfb, + 0xc8, 0x99, 0x12, 0x60, 0xc3, 0x44, 0x6f, 0x3a, 0x80, 0x4b, 0xd7, 0xbe, + 0x21, 0xaa, 0x14, 0x7a, 0x64, 0xcb, 0xdd, 0x37, 0x43, 0x45, 0x5b, 0x32, + 0x2e, 0x45, 0xf0, 0xd9, 0x59, 0x1f, 0x6b, 0x18, 0xf0, 0x7c, 0xe9, 0x55, + 0x36, 0x19, 0x61, 0x5f, 0xb5, 0x7d, 0xf1, 0x8d, 0xbd, 0x88, 0xe4, 0x75, + 0x4b, 0x98, 0xdd, 0x27, 0xb0, 0xe4, 0x84, 0x44, 0x2a, 0x61, 0x84, 0x57, + 0x05, 0x82, 0x11, 0x1f, 0xaa, 0x35, 0x58, 0xf3, 0x20, 0x0e, 0xaf, 0x59, + 0xef, 0xfa, 0x55, 0x72, 0x72, 0x0d, 0x26, 0xd0, 0x9b, 0x53, 0x49, 0xac, + 0xce, 0x37, 0x2e, 0x65, 0x61, 0xff, 0xf6, 0xec, 0x1b, 0xea, 0xf6, 0xf1, + 0xa6, 0xd3, 0xd1, 0xb5, 0x7b, 0xbe, 0x35, 0xf4, 0x22, 0xc1, 0xbc, 0x8d, + 0x01, 0xbd, 0x68, 0x5e, 0x83, 0x0d, 0x2f, 0xec, 0xd6, 0xda, 0x63, 0x0c, + 0x27, 0xd1, 0x54, 0x3e, 0xe4, 0xa8, 0xd3, 0xce, 0x4b, 0x32, 0xb8, 0x91, + 0x94, 0xff, 0xfb, 0x5b, 0x49, 0x2d, 0x75, 0x18, 0xa8, 0xba, 0x71, 0x9a, + 0x3b, 0xae, 0xd9, 0xc0, 0xa9, 0x4f, 0x87, 0x91, 0xed, 0x8b, 0x7b, 0x6b, + 0x20, 0x98, 0x89, 0x39, 0x83, 0x4f, 0x80, 0xc4, 0x69, 0xcc, 0x17, 0xc9, + 0xc8, 0x4e, 0xbe, 0xe4, 0xa9, 0xa5, 0x81, 0x76, 0x70, 0x06, 0x04, 0x32, + 0xcd, 0x83, 0x65, 0xf4, 0xbc, 0x7d, 0x3e, 0x13, 0xbc, 0xd2, 0xe8, 0x6f, + 0x63, 0xaa, 0xb5, 0x3b, 0xda, 0x8d, 0x86, 0x32, 0x82, 0x78, 0x9d, 0xd9, + 0xcc, 0xff, 0xbf, 0x57, 0x64, 0x74, 0xed, 0x28, 0x3d, 0x44, 0x62, 0x15, + 0x61, 0x4b, 0xf7, 0x94, 0xb0, 0x0d, 0x2a, 0x67, 0x1c, 0xf0, 0xcb, 0x9b, + 0xa5, 0x92, 0xbf, 0xf8, 0x41, 0x5a, 0xc1, 0x3d, 0x60, 0xed, 0x9f, 0xbb, + 0xb8, 0x6d, 0x9b, 0xce, 0xa9, 0x6a, 0x16, 0x3f, 0x7e, 0xea, 0x06, 0xf1, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 03:37:b9:28:34:7c:60:a6:ae:c5:ad:b1:21:7f:38:60 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA + Validity + Not Before: Nov 9 12:00:00 2007 GMT + Not After : Nov 10 00:00:00 2021 GMT + Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV CA-1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:f3:96:62:d8:75:6e:19:ff:3f:34:7c:49:4f:31: + 7e:0d:04:4e:99:81:e2:b3:85:55:91:30:b1:c0:af: + 70:bb:2c:a8:e7:18:aa:3f:78:f7:90:68:52:86:01: + 88:97:e2:3b:06:65:90:aa:bd:65:76:c2:ec:be:10: + 5b:37:78:83:60:75:45:c6:bd:74:aa:b6:9f:a4:3a: + 01:50:17:c4:39:69:b9:f1:4f:ef:82:c1:ca:f3:4a: + db:cc:9e:50:4f:4d:40:a3:3a:90:e7:86:66:bc:f0: + 3e:76:28:4c:d1:75:80:9e:6a:35:14:35:03:9e:db: + 0c:8c:c2:28:ad:50:b2:ce:f6:91:a3:c3:a5:0a:58: + 49:f6:75:44:6c:ba:f9:ce:e9:ab:3a:02:e0:4d:f3: + ac:e2:7a:e0:60:22:05:3c:82:d3:52:e2:f3:9c:47: + f8:3b:d8:b2:4b:93:56:4a:bf:70:ab:3e:e9:68:c8: + 1d:8f:58:1d:2a:4d:5e:27:3d:ad:0a:59:2f:5a:11: + 20:40:d9:68:04:68:2d:f4:c0:84:0b:0a:1b:78:df: + ed:1a:58:dc:fb:41:5a:6d:6b:f2:ed:1c:ee:5c:32: + b6:5c:ec:d7:a6:03:32:a6:e8:de:b7:28:27:59:88: + 80:ff:7b:ad:89:58:d5:1e:14:a4:f2:b0:70:d4:a0: + 3e:a7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping + X509v3 Certificate Policies: + Policy: 2.16.840.1.114412.2.1 + CPS: http://www.digicert.com/ssl-cps-repository.htm + User Notice: + Explicit Text: + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + CA Issuers - URI:http://www.digicert.com/CACerts/DigiCertHighAssuranceEVRootCA.crt + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl + + Full Name: + URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl + + X509v3 Subject Key Identifier: + 4C:58:CB:25:F0:41:4F:52:F4:28:C8:81:43:9B:A6:A8:A0:E6:92:E5 + X509v3 Authority Key Identifier: + keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3 + + Signature Algorithm: sha1WithRSAEncryption + 4c:7a:17:87:28:5d:17:bc:b2:32:73:bf:cd:2e:f5:58:31:1d: + f0:b1:71:54:9c:d6:9b:67:93:db:2f:03:3e:16:6f:1e:03:c9: + 53:84:a3:56:60:1e:78:94:1b:a2:a8:6f:a3:a4:8b:52:91:d7: + dd:5c:95:bb:ef:b5:16:49:e9:a5:42:4f:34:f2:47:ff:ae:81: + 7f:13:54:b7:20:c4:70:15:cb:81:0a:81:cb:74:57:dc:9c:df: + 24:a4:29:0c:18:f0:1c:e4:ae:07:33:ec:f1:49:3e:55:cf:6e: + 4f:0d:54:7b:d3:c9:e8:15:48:d4:c5:bb:dc:35:1c:77:45:07: + 48:45:85:bd:d7:7e:53:b8:c0:16:d9:95:cd:8b:8d:7d:c9:60: + 4f:d1:a2:9b:e3:d0:30:d6:b4:73:36:e6:d2:f9:03:b2:e3:a4: + f5:e5:b8:3e:04:49:00:ba:2e:a6:4a:72:83:72:9d:f7:0b:8c: + a9:89:e7:b3:d7:64:1f:d6:e3:60:cb:03:c4:dc:88:e9:9d:25: + 01:00:71:cb:03:b4:29:60:25:8f:f9:46:d1:7b:71:ae:cd:53: + 12:5b:84:8e:c2:0f:c7:ed:93:19:d9:c9:fa:8f:58:34:76:32: + 2f:ae:e1:50:14:61:d4:a8:58:a3:c8:30:13:23:ef:c6:25:8c: + 36:8f:1c:80 +-----BEGIN CERTIFICATE----- +MIIG5jCCBc6gAwIBAgIQAze5KDR8YKauxa2xIX84YDANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA3MTEwOTEyMDAwMFoXDTIxMTExMDAwMDAwMFowaTEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTEoMCYGA1UEAxMfRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgQ0EtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPOWYth1bhn/ +PzR8SU8xfg0ETpmB4rOFVZEwscCvcLssqOcYqj9495BoUoYBiJfiOwZlkKq9ZXbC +7L4QWzd4g2B1Rca9dKq2n6Q6AVAXxDlpufFP74LByvNK28yeUE9NQKM6kOeGZrzw +PnYoTNF1gJ5qNRQ1A57bDIzCKK1Qss72kaPDpQpYSfZ1RGy6+c7pqzoC4E3zrOJ6 +4GAiBTyC01Li85xH+DvYskuTVkq/cKs+6WjIHY9YHSpNXic9rQpZL1oRIEDZaARo +LfTAhAsKG3jf7RpY3PtBWm1r8u0c7lwytlzs16YDMqbo3rcoJ1mIgP97rYlY1R4U +pPKwcNSgPqcCAwEAAaOCA4UwggOBMA4GA1UdDwEB/wQEAwIBhjA7BgNVHSUENDAy +BggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYBBQUH +AwgwggHEBgNVHSAEggG7MIIBtzCCAbMGCWCGSAGG/WwCATCCAaQwOgYIKwYBBQUH +AgEWLmh0dHA6Ly93d3cuZGlnaWNlcnQuY29tL3NzbC1jcHMtcmVwb3NpdG9yeS5o +dG0wggFkBggrBgEFBQcCAjCCAVYeggFSAEEAbgB5ACAAdQBzAGUAIABvAGYAIAB0 +AGgAaQBzACAAQwBlAHIAdABpAGYAaQBjAGEAdABlACAAYwBvAG4AcwB0AGkAdAB1 +AHQAZQBzACAAYQBjAGMAZQBwAHQAYQBuAGMAZQAgAG8AZgAgAHQAaABlACAARABp +AGcAaQBDAGUAcgB0ACAARQBWACAAQwBQAFMAIABhAG4AZAAgAHQAaABlACAAUgBl +AGwAeQBpAG4AZwAgAFAAYQByAHQAeQAgAEEAZwByAGUAZQBtAGUAbgB0ACAAdwBo +AGkAYwBoACAAbABpAG0AaQB0ACAAbABpAGEAYgBpAGwAaQB0AHkAIABhAG4AZAAg +AGEAcgBlACAAaQBuAGMAbwByAHAAbwByAGEAdABlAGQAIABoAGUAcgBlAGkAbgAg +AGIAeQAgAHIAZQBmAGUAcgBlAG4AYwBlAC4wEgYDVR0TAQH/BAgwBgEB/wIBADCB +gwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy +dC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NBQ2Vy +dHMvRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZSb290Q0EuY3J0MIGPBgNVHR8EgYcw +gYQwQKA+oDyGOmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEhpZ2hB +c3N1cmFuY2VFVlJvb3RDQS5jcmwwQKA+oDyGOmh0dHA6Ly9jcmw0LmRpZ2ljZXJ0 +LmNvbS9EaWdpQ2VydEhpZ2hBc3N1cmFuY2VFVlJvb3RDQS5jcmwwHQYDVR0OBBYE +FExYyyXwQU9S9CjIgUObpqig5pLlMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSYJhoI +Au9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQBMeheHKF0XvLIyc7/NLvVYMR3wsXFU +nNabZ5PbLwM+Fm8eA8lThKNWYB54lBuiqG+jpItSkdfdXJW777UWSemlQk808kf/ +roF/E1S3IMRwFcuBCoHLdFfcnN8kpCkMGPAc5K4HM+zxST5Vz25PDVR708noFUjU +xbvcNRx3RQdIRYW9135TuMAW2ZXNi419yWBP0aKb49Aw1rRzNubS+QOy46T15bg+ +BEkAui6mSnKDcp33C4ypieez12Qf1uNgywPE3IjpnSUBAHHLA7QpYCWP+UbRe3Gu +zVMSW4SOwg/H7ZMZ2cn6j1g0djIvruFQFGHUqFijyDATI+/GJYw2jxyA +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert2_53[] = { + 0x30, 0x82, 0x06, 0xe6, 0x30, 0x82, 0x05, 0xce, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x03, 0x37, 0xb9, 0x28, 0x34, 0x7c, 0x60, 0xa6, 0xae, + 0xc5, 0xad, 0xb1, 0x21, 0x7f, 0x38, 0x60, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x6c, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, + 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, + 0x65, 0x20, 0x45, 0x56, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, + 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x37, 0x31, 0x31, 0x30, 0x39, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x31, 0x31, 0x31, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x69, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, 0x19, + 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1f, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, 0x69, 0x67, + 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x20, + 0x45, 0x56, 0x20, 0x43, 0x41, 0x2d, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xf3, 0x96, 0x62, 0xd8, 0x75, 0x6e, 0x19, 0xff, + 0x3f, 0x34, 0x7c, 0x49, 0x4f, 0x31, 0x7e, 0x0d, 0x04, 0x4e, 0x99, 0x81, + 0xe2, 0xb3, 0x85, 0x55, 0x91, 0x30, 0xb1, 0xc0, 0xaf, 0x70, 0xbb, 0x2c, + 0xa8, 0xe7, 0x18, 0xaa, 0x3f, 0x78, 0xf7, 0x90, 0x68, 0x52, 0x86, 0x01, + 0x88, 0x97, 0xe2, 0x3b, 0x06, 0x65, 0x90, 0xaa, 0xbd, 0x65, 0x76, 0xc2, + 0xec, 0xbe, 0x10, 0x5b, 0x37, 0x78, 0x83, 0x60, 0x75, 0x45, 0xc6, 0xbd, + 0x74, 0xaa, 0xb6, 0x9f, 0xa4, 0x3a, 0x01, 0x50, 0x17, 0xc4, 0x39, 0x69, + 0xb9, 0xf1, 0x4f, 0xef, 0x82, 0xc1, 0xca, 0xf3, 0x4a, 0xdb, 0xcc, 0x9e, + 0x50, 0x4f, 0x4d, 0x40, 0xa3, 0x3a, 0x90, 0xe7, 0x86, 0x66, 0xbc, 0xf0, + 0x3e, 0x76, 0x28, 0x4c, 0xd1, 0x75, 0x80, 0x9e, 0x6a, 0x35, 0x14, 0x35, + 0x03, 0x9e, 0xdb, 0x0c, 0x8c, 0xc2, 0x28, 0xad, 0x50, 0xb2, 0xce, 0xf6, + 0x91, 0xa3, 0xc3, 0xa5, 0x0a, 0x58, 0x49, 0xf6, 0x75, 0x44, 0x6c, 0xba, + 0xf9, 0xce, 0xe9, 0xab, 0x3a, 0x02, 0xe0, 0x4d, 0xf3, 0xac, 0xe2, 0x7a, + 0xe0, 0x60, 0x22, 0x05, 0x3c, 0x82, 0xd3, 0x52, 0xe2, 0xf3, 0x9c, 0x47, + 0xf8, 0x3b, 0xd8, 0xb2, 0x4b, 0x93, 0x56, 0x4a, 0xbf, 0x70, 0xab, 0x3e, + 0xe9, 0x68, 0xc8, 0x1d, 0x8f, 0x58, 0x1d, 0x2a, 0x4d, 0x5e, 0x27, 0x3d, + 0xad, 0x0a, 0x59, 0x2f, 0x5a, 0x11, 0x20, 0x40, 0xd9, 0x68, 0x04, 0x68, + 0x2d, 0xf4, 0xc0, 0x84, 0x0b, 0x0a, 0x1b, 0x78, 0xdf, 0xed, 0x1a, 0x58, + 0xdc, 0xfb, 0x41, 0x5a, 0x6d, 0x6b, 0xf2, 0xed, 0x1c, 0xee, 0x5c, 0x32, + 0xb6, 0x5c, 0xec, 0xd7, 0xa6, 0x03, 0x32, 0xa6, 0xe8, 0xde, 0xb7, 0x28, + 0x27, 0x59, 0x88, 0x80, 0xff, 0x7b, 0xad, 0x89, 0x58, 0xd5, 0x1e, 0x14, + 0xa4, 0xf2, 0xb0, 0x70, 0xd4, 0xa0, 0x3e, 0xa7, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xa3, 0x82, 0x03, 0x85, 0x30, 0x82, 0x03, 0x81, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x86, 0x30, 0x3b, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x34, 0x30, 0x32, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x04, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x08, 0x30, 0x82, 0x01, 0xc4, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x82, 0x01, 0xbb, 0x30, 0x82, 0x01, 0xb7, 0x30, 0x82, 0x01, 0xb3, 0x06, + 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xfd, 0x6c, 0x02, 0x01, 0x30, 0x82, + 0x01, 0xa4, 0x30, 0x3a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x73, 0x6c, 0x2d, 0x63, 0x70, 0x73, 0x2d, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x68, + 0x74, 0x6d, 0x30, 0x82, 0x01, 0x64, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x02, 0x30, 0x82, 0x01, 0x56, 0x1e, 0x82, 0x01, 0x52, + 0x00, 0x41, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x43, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x63, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, + 0x00, 0x63, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6e, + 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, 0x69, + 0x00, 0x67, 0x00, 0x69, 0x00, 0x43, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x45, 0x00, 0x56, 0x00, 0x20, 0x00, 0x43, 0x00, 0x50, + 0x00, 0x53, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, + 0x00, 0x6c, 0x00, 0x79, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, + 0x00, 0x50, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, + 0x00, 0x41, 0x00, 0x67, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6d, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, 0x68, + 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, + 0x00, 0x6d, 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, + 0x00, 0x61, 0x00, 0x62, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x74, + 0x00, 0x79, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x63, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x72, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x65, + 0x00, 0x2e, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x81, + 0x83, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x77, 0x30, 0x75, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4d, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x41, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, + 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x41, 0x43, 0x65, 0x72, + 0x74, 0x73, 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, + 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, + 0x45, 0x56, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x74, + 0x30, 0x81, 0x8f, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x81, 0x87, 0x30, + 0x81, 0x84, 0x30, 0x40, 0xa0, 0x3e, 0xa0, 0x3c, 0x86, 0x3a, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x33, 0x2e, 0x64, 0x69, + 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, + 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x56, 0x52, 0x6f, + 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x40, 0xa0, 0x3e, + 0xa0, 0x3c, 0x86, 0x3a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x34, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, + 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, + 0x63, 0x65, 0x45, 0x56, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0x4c, 0x58, 0xcb, 0x25, 0xf0, 0x41, 0x4f, 0x52, 0xf4, 0x28, 0xc8, + 0x81, 0x43, 0x9b, 0xa6, 0xa8, 0xa0, 0xe6, 0x92, 0xe5, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xb1, 0x3e, + 0xc3, 0x69, 0x03, 0xf8, 0xbf, 0x47, 0x01, 0xd4, 0x98, 0x26, 0x1a, 0x08, + 0x02, 0xef, 0x63, 0x64, 0x2b, 0xc3, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x01, 0x00, 0x4c, 0x7a, 0x17, 0x87, 0x28, 0x5d, 0x17, 0xbc, 0xb2, 0x32, + 0x73, 0xbf, 0xcd, 0x2e, 0xf5, 0x58, 0x31, 0x1d, 0xf0, 0xb1, 0x71, 0x54, + 0x9c, 0xd6, 0x9b, 0x67, 0x93, 0xdb, 0x2f, 0x03, 0x3e, 0x16, 0x6f, 0x1e, + 0x03, 0xc9, 0x53, 0x84, 0xa3, 0x56, 0x60, 0x1e, 0x78, 0x94, 0x1b, 0xa2, + 0xa8, 0x6f, 0xa3, 0xa4, 0x8b, 0x52, 0x91, 0xd7, 0xdd, 0x5c, 0x95, 0xbb, + 0xef, 0xb5, 0x16, 0x49, 0xe9, 0xa5, 0x42, 0x4f, 0x34, 0xf2, 0x47, 0xff, + 0xae, 0x81, 0x7f, 0x13, 0x54, 0xb7, 0x20, 0xc4, 0x70, 0x15, 0xcb, 0x81, + 0x0a, 0x81, 0xcb, 0x74, 0x57, 0xdc, 0x9c, 0xdf, 0x24, 0xa4, 0x29, 0x0c, + 0x18, 0xf0, 0x1c, 0xe4, 0xae, 0x07, 0x33, 0xec, 0xf1, 0x49, 0x3e, 0x55, + 0xcf, 0x6e, 0x4f, 0x0d, 0x54, 0x7b, 0xd3, 0xc9, 0xe8, 0x15, 0x48, 0xd4, + 0xc5, 0xbb, 0xdc, 0x35, 0x1c, 0x77, 0x45, 0x07, 0x48, 0x45, 0x85, 0xbd, + 0xd7, 0x7e, 0x53, 0xb8, 0xc0, 0x16, 0xd9, 0x95, 0xcd, 0x8b, 0x8d, 0x7d, + 0xc9, 0x60, 0x4f, 0xd1, 0xa2, 0x9b, 0xe3, 0xd0, 0x30, 0xd6, 0xb4, 0x73, + 0x36, 0xe6, 0xd2, 0xf9, 0x03, 0xb2, 0xe3, 0xa4, 0xf5, 0xe5, 0xb8, 0x3e, + 0x04, 0x49, 0x00, 0xba, 0x2e, 0xa6, 0x4a, 0x72, 0x83, 0x72, 0x9d, 0xf7, + 0x0b, 0x8c, 0xa9, 0x89, 0xe7, 0xb3, 0xd7, 0x64, 0x1f, 0xd6, 0xe3, 0x60, + 0xcb, 0x03, 0xc4, 0xdc, 0x88, 0xe9, 0x9d, 0x25, 0x01, 0x00, 0x71, 0xcb, + 0x03, 0xb4, 0x29, 0x60, 0x25, 0x8f, 0xf9, 0x46, 0xd1, 0x7b, 0x71, 0xae, + 0xcd, 0x53, 0x12, 0x5b, 0x84, 0x8e, 0xc2, 0x0f, 0xc7, 0xed, 0x93, 0x19, + 0xd9, 0xc9, 0xfa, 0x8f, 0x58, 0x34, 0x76, 0x32, 0x2f, 0xae, 0xe1, 0x50, + 0x14, 0x61, 0xd4, 0xa8, 0x58, 0xa3, 0xc8, 0x30, 0x13, 0x23, 0xef, 0xc6, + 0x25, 0x8c, 0x36, 0x8f, 0x1c, 0x80, +}; diff --git a/external/lsquic/src/liblsquic/common_cert_set_3.c b/external/lsquic/src/liblsquic/common_cert_set_3.c new file mode 100644 index 0000000..6710543 --- /dev/null +++ b/external/lsquic/src/liblsquic/common_cert_set_3.c @@ -0,0 +1,126 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Copyright (c) 2015 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE.chrome file. + */ + +/* Updated for C style, David Shue */ +/* + * Replace "kDERCert" to "der_cert3_" + * + */ +#include "common_cert_set_3a.inc" +#include "common_cert_set_3b.inc" + +#define common_certs3_num 52 +static const unsigned char* const common_certs3[common_certs3_num] = { + der_cert3_0, + der_cert3_1, + der_cert3_2, + der_cert3_3, + der_cert3_4, + der_cert3_5, + der_cert3_6, + der_cert3_7, + der_cert3_8, + der_cert3_9, + der_cert3_10, + der_cert3_11, + der_cert3_12, + der_cert3_13, + der_cert3_14, + der_cert3_15, + der_cert3_16, + der_cert3_17, + der_cert3_18, + der_cert3_19, + der_cert3_20, + der_cert3_21, + der_cert3_22, + der_cert3_23, + der_cert3_24, + der_cert3_25, + der_cert3_26, + der_cert3_27, + der_cert3_28, + der_cert3_29, + der_cert3_30, + der_cert3_31, + der_cert3_32, + der_cert3_33, + der_cert3_34, + der_cert3_35, + der_cert3_36, + der_cert3_37, + der_cert3_38, + der_cert3_39, + der_cert3_40, + der_cert3_41, + der_cert3_42, + der_cert3_43, + der_cert3_44, + der_cert3_45, + der_cert3_46, + der_cert3_47, + der_cert3_48, + der_cert3_49, + der_cert3_50, + der_cert3_51, +}; + +static const size_t common_certs3_lens[common_certs3_num] = { + 897, + 911, + 1012, + 1049, + 1065, + 1096, + 1097, + 1101, + 1105, + 1105, + 1107, + 1117, + 1127, + 1133, + 1136, + 1138, + 1139, + 1145, + 1149, + 1153, + 1167, + 1172, + 1174, + 1174, + 1176, + 1188, + 1194, + 1196, + 1203, + 1205, + 1206, + 1208, + 1209, + 1210, + 1222, + 1227, + 1236, + 1236, + 1238, + 1283, + 1284, + 1287, + 1298, + 1315, + 1327, + 1340, + 1357, + 1418, + 1447, + 1509, + 1513, + 1632, +}; + +#define common_certs3_hash UINT64_C(0x918215a28680ed7e) diff --git a/external/lsquic/src/liblsquic/common_cert_set_3a.inc b/external/lsquic/src/liblsquic/common_cert_set_3a.inc new file mode 100644 index 0000000..d12d4de --- /dev/null +++ b/external/lsquic/src/liblsquic/common_cert_set_3a.inc @@ -0,0 +1,5039 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Copyright (c) 2015 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE.chrome file. + */ + +/* This file contains common certificates. It's designed to be #included in + * another file, in a namespace. */ + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1227750 (0x12bbe6) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority + Validity + Not Before: May 21 04:00:00 2002 GMT + Not After : Aug 21 04:00:00 2018 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df: + 3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8: + 43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29: + bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4: + 60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3: + ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92: + 2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d: + 80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14: + 15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd: + d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6: + d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5: + 5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39: + 19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05: + 9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2: + fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32: + eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07: + 36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b: + e4:f9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 + + X509v3 Subject Key Identifier: + C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.geotrust.com/crls/secureca.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.geotrust.com/resources/repository + + Signature Algorithm: sha1WithRSAEncryption + 76:e1:12:6e:4e:4b:16:12:86:30:06:b2:81:08:cf:f0:08:c7: + c7:71:7e:66:ee:c2:ed:d4:3b:1f:ff:f0:f0:c8:4e:d6:43:38: + b0:b9:30:7d:18:d0:55:83:a2:6a:cb:36:11:9c:e8:48:66:a3: + 6d:7f:b8:13:d4:47:fe:8b:5a:5c:73:fc:ae:d9:1b:32:19:38: + ab:97:34:14:aa:96:d2:eb:a3:1c:14:08:49:b6:bb:e5:91:ef: + 83:36:eb:1d:56:6f:ca:da:bc:73:63:90:e4:7f:7b:3e:22:cb: + 3d:07:ed:5f:38:74:9c:e3:03:50:4e:a1:af:98:ee:61:f2:84: + 3f:12 +-----BEGIN CERTIFICATE----- +MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT +MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0 +aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAw +WjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE +AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9m +OSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu +T8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6c +JmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR +Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5asz +PeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjm +aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrM +TjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+g +LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBO +BgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2Vv +dHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GB +AHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrL +NhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1W +b8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_0[] = { + 0x30, 0x82, 0x03, 0x7d, 0x30, 0x82, 0x02, 0xe6, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x12, 0xbb, 0xe6, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4e, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07, 0x45, + 0x71, 0x75, 0x69, 0x66, 0x61, 0x78, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, + 0x55, 0x04, 0x0b, 0x13, 0x24, 0x45, 0x71, 0x75, 0x69, 0x66, 0x61, 0x78, + 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x32, 0x30, + 0x35, 0x32, 0x31, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, + 0x31, 0x38, 0x30, 0x38, 0x32, 0x31, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, + 0x5a, 0x30, 0x42, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x12, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xda, 0xcc, 0x18, 0x63, 0x30, 0xfd, + 0xf4, 0x17, 0x23, 0x1a, 0x56, 0x7e, 0x5b, 0xdf, 0x3c, 0x6c, 0x38, 0xe4, + 0x71, 0xb7, 0x78, 0x91, 0xd4, 0xbc, 0xa1, 0xd8, 0x4c, 0xf8, 0xa8, 0x43, + 0xb6, 0x03, 0xe9, 0x4d, 0x21, 0x07, 0x08, 0x88, 0xda, 0x58, 0x2f, 0x66, + 0x39, 0x29, 0xbd, 0x05, 0x78, 0x8b, 0x9d, 0x38, 0xe8, 0x05, 0xb7, 0x6a, + 0x7e, 0x71, 0xa4, 0xe6, 0xc4, 0x60, 0xa6, 0xb0, 0xef, 0x80, 0xe4, 0x89, + 0x28, 0x0f, 0x9e, 0x25, 0xd6, 0xed, 0x83, 0xf3, 0xad, 0xa6, 0x91, 0xc7, + 0x98, 0xc9, 0x42, 0x18, 0x35, 0x14, 0x9d, 0xad, 0x98, 0x46, 0x92, 0x2e, + 0x4f, 0xca, 0xf1, 0x87, 0x43, 0xc1, 0x16, 0x95, 0x57, 0x2d, 0x50, 0xef, + 0x89, 0x2d, 0x80, 0x7a, 0x57, 0xad, 0xf2, 0xee, 0x5f, 0x6b, 0xd2, 0x00, + 0x8d, 0xb9, 0x14, 0xf8, 0x14, 0x15, 0x35, 0xd9, 0xc0, 0x46, 0xa3, 0x7b, + 0x72, 0xc8, 0x91, 0xbf, 0xc9, 0x55, 0x2b, 0xcd, 0xd0, 0x97, 0x3e, 0x9c, + 0x26, 0x64, 0xcc, 0xdf, 0xce, 0x83, 0x19, 0x71, 0xca, 0x4e, 0xe6, 0xd4, + 0xd5, 0x7b, 0xa9, 0x19, 0xcd, 0x55, 0xde, 0xc8, 0xec, 0xd2, 0x5e, 0x38, + 0x53, 0xe5, 0x5c, 0x4f, 0x8c, 0x2d, 0xfe, 0x50, 0x23, 0x36, 0xfc, 0x66, + 0xe6, 0xcb, 0x8e, 0xa4, 0x39, 0x19, 0x00, 0xb7, 0x95, 0x02, 0x39, 0x91, + 0x0b, 0x0e, 0xfe, 0x38, 0x2e, 0xd1, 0x1d, 0x05, 0x9a, 0xf6, 0x4d, 0x3e, + 0x6f, 0x0f, 0x07, 0x1d, 0xaf, 0x2c, 0x1e, 0x8f, 0x60, 0x39, 0xe2, 0xfa, + 0x36, 0x53, 0x13, 0x39, 0xd4, 0x5e, 0x26, 0x2b, 0xdb, 0x3d, 0xa8, 0x14, + 0xbd, 0x32, 0xeb, 0x18, 0x03, 0x28, 0x52, 0x04, 0x71, 0xe5, 0xab, 0x33, + 0x3d, 0xe1, 0x38, 0xbb, 0x07, 0x36, 0x84, 0x62, 0x9c, 0x79, 0xea, 0x16, + 0x30, 0xf4, 0x5f, 0xc0, 0x2b, 0xe8, 0x71, 0x6b, 0xe4, 0xf9, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x81, 0xf0, 0x30, 0x81, 0xed, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x48, 0xe6, + 0x68, 0xf9, 0x2b, 0xd2, 0xb2, 0x95, 0xd7, 0x47, 0xd8, 0x23, 0x20, 0x10, + 0x4f, 0x33, 0x98, 0x90, 0x9f, 0xd4, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, + 0xab, 0x05, 0x64, 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, + 0x4e, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3a, + 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x33, 0x30, 0x31, 0x30, 0x2f, 0xa0, + 0x2d, 0xa0, 0x2b, 0x86, 0x29, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x63, 0x72, 0x6c, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x4e, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x47, 0x30, 0x45, 0x30, 0x43, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x3b, 0x30, 0x39, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x2d, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, + 0x00, 0x76, 0xe1, 0x12, 0x6e, 0x4e, 0x4b, 0x16, 0x12, 0x86, 0x30, 0x06, + 0xb2, 0x81, 0x08, 0xcf, 0xf0, 0x08, 0xc7, 0xc7, 0x71, 0x7e, 0x66, 0xee, + 0xc2, 0xed, 0xd4, 0x3b, 0x1f, 0xff, 0xf0, 0xf0, 0xc8, 0x4e, 0xd6, 0x43, + 0x38, 0xb0, 0xb9, 0x30, 0x7d, 0x18, 0xd0, 0x55, 0x83, 0xa2, 0x6a, 0xcb, + 0x36, 0x11, 0x9c, 0xe8, 0x48, 0x66, 0xa3, 0x6d, 0x7f, 0xb8, 0x13, 0xd4, + 0x47, 0xfe, 0x8b, 0x5a, 0x5c, 0x73, 0xfc, 0xae, 0xd9, 0x1b, 0x32, 0x19, + 0x38, 0xab, 0x97, 0x34, 0x14, 0xaa, 0x96, 0xd2, 0xeb, 0xa3, 0x1c, 0x14, + 0x08, 0x49, 0xb6, 0xbb, 0xe5, 0x91, 0xef, 0x83, 0x36, 0xeb, 0x1d, 0x56, + 0x6f, 0xca, 0xda, 0xbc, 0x73, 0x63, 0x90, 0xe4, 0x7f, 0x7b, 0x3e, 0x22, + 0xcb, 0x3d, 0x07, 0xed, 0x5f, 0x38, 0x74, 0x9c, 0xe3, 0x03, 0x50, 0x4e, + 0xa1, 0xaf, 0x98, 0xee, 0x61, 0xf2, 0x84, 0x3f, 0x12, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 880226 (0xd6e62) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority + Validity + Not Before: Nov 27 00:00:00 2006 GMT + Not After : Aug 21 16:15:00 2018 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:be:b8:15:7b:ff:d4:7c:7d:67:ad:83:64:7b:c8: + 42:53:2d:df:f6:84:08:20:61:d6:01:59:6a:9c:44: + 11:af:ef:76:fd:95:7e:ce:61:30:bb:7a:83:5f:02: + bd:01:66:ca:ee:15:8d:6f:a1:30:9c:bd:a1:85:9e: + 94:3a:f3:56:88:00:31:cf:d8:ee:6a:96:02:d9:ed: + 03:8c:fb:75:6d:e7:ea:b8:55:16:05:16:9a:f4:e0: + 5e:b1:88:c0:64:85:5c:15:4d:88:c7:b7:ba:e0:75: + e9:ad:05:3d:9d:c7:89:48:e0:bb:28:c8:03:e1:30: + 93:64:5e:52:c0:59:70:22:35:57:88:8a:f1:95:0a: + 83:d7:bc:31:73:01:34:ed:ef:46:71:e0:6b:02:a8: + 35:72:6b:97:9b:66:e0:cb:1c:79:5f:d8:1a:04:68: + 1e:47:02:e6:9d:60:e2:36:97:01:df:ce:35:92:df: + be:67:c7:6d:77:59:3b:8f:9d:d6:90:15:94:bc:42: + 34:10:c1:39:f9:b1:27:3e:7e:d6:8a:75:c5:b2:af: + 96:d3:a2:de:9b:e4:98:be:7d:e1:e9:81:ad:b6:6f: + fc:d7:0e:da:e0:34:b0:0d:1a:77:e7:e3:08:98:ef: + 58:fa:9c:84:b7:36:af:c2:df:ac:d2:f4:10:06:70: + 71:35 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 2C:D5:50:41:97:15:8B:F0:8F:36:61:5B:4A:FB:6B:D9:99:C9:33:92 + X509v3 Authority Key Identifier: + keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 + + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.geotrust.com/crls/secureca.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.geotrust.com/resources/cps + + Signature Algorithm: sha1WithRSAEncryption + af:f3:0e:d6:72:ab:c7:a9:97:ca:2a:6b:84:39:de:79:a9:f0: + 81:e5:08:67:ab:d7:2f:20:02:01:71:0c:04:22:c9:1e:88:95: + 03:c9:49:3a:af:67:08:49:b0:d5:08:f5:20:3d:80:91:a0:c5: + 87:a3:fb:c9:a3:17:91:f9:a8:2f:ae:e9:0f:df:96:72:0f:75: + 17:80:5d:78:01:4d:9f:1f:6d:7b:d8:f5:42:38:23:1a:99:93: + f4:83:be:3b:35:74:e7:37:13:35:7a:ac:b4:b6:90:82:6c:27: + a4:e0:ec:9e:35:bd:bf:e5:29:a1:47:9f:5b:32:fc:e9:99:7d: + 2b:39 +-----BEGIN CERTIFICATE----- +MIIDizCCAvSgAwIBAgIDDW5iMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT +MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0 +aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMTI3MDAwMDAwWhcNMTgwODIxMTYxNTAw +WjBYMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UE +AxMoR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL64FXv/1Hx9Z62DZHvIQlMt3/aE +CCBh1gFZapxEEa/vdv2Vfs5hMLt6g18CvQFmyu4VjW+hMJy9oYWelDrzVogAMc/Y +7mqWAtntA4z7dW3n6rhVFgUWmvTgXrGIwGSFXBVNiMe3uuB16a0FPZ3HiUjguyjI +A+Ewk2ReUsBZcCI1V4iK8ZUKg9e8MXMBNO3vRnHgawKoNXJrl5tm4MsceV/YGgRo +HkcC5p1g4jaXAd/ONZLfvmfHbXdZO4+d1pAVlLxCNBDBOfmxJz5+1op1xbKvltOi +3pvkmL594emBrbZv/NcO2uA0sA0ad+fjCJjvWPqchLc2r8LfrNL0EAZwcTUCAwEA +AaOB6DCB5TAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFCzVUEGXFYvwjzZhW0r7 +a9mZyTOSMB8GA1UdIwQYMBaAFEjmaPkr0rKV10fYIyAQTzOYkJ/UMA8GA1UdEwEB +/wQFMAMBAf8wOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5j +b20vY3Jscy9zZWN1cmVjYS5jcmwwRgYDVR0gBD8wPTA7BgRVHSAAMDMwMQYIKwYB +BQUHAgEWJWh0dHA6Ly93d3cuZ2VvdHJ1c3QuY29tL3Jlc291cmNlcy9jcHMwDQYJ +KoZIhvcNAQEFBQADgYEAr/MO1nKrx6mXyiprhDneeanwgeUIZ6vXLyACAXEMBCLJ +HoiVA8lJOq9nCEmw1Qj1ID2AkaDFh6P7yaMXkfmoL67pD9+Wcg91F4BdeAFNnx9t +e9j1QjgjGpmT9IO+OzV05zcTNXqstLaQgmwnpODsnjW9v+UpoUefWzL86Zl9Kzk= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_1[] = { + 0x30, 0x82, 0x03, 0x8b, 0x30, 0x82, 0x02, 0xf4, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x0d, 0x6e, 0x62, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4e, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07, 0x45, + 0x71, 0x75, 0x69, 0x66, 0x61, 0x78, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, + 0x55, 0x04, 0x0b, 0x13, 0x24, 0x45, 0x71, 0x75, 0x69, 0x66, 0x61, 0x78, + 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, + 0x31, 0x32, 0x37, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, + 0x31, 0x38, 0x30, 0x38, 0x32, 0x31, 0x31, 0x36, 0x31, 0x35, 0x30, 0x30, + 0x5a, 0x30, 0x58, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x28, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xbe, 0xb8, 0x15, 0x7b, 0xff, 0xd4, 0x7c, 0x7d, + 0x67, 0xad, 0x83, 0x64, 0x7b, 0xc8, 0x42, 0x53, 0x2d, 0xdf, 0xf6, 0x84, + 0x08, 0x20, 0x61, 0xd6, 0x01, 0x59, 0x6a, 0x9c, 0x44, 0x11, 0xaf, 0xef, + 0x76, 0xfd, 0x95, 0x7e, 0xce, 0x61, 0x30, 0xbb, 0x7a, 0x83, 0x5f, 0x02, + 0xbd, 0x01, 0x66, 0xca, 0xee, 0x15, 0x8d, 0x6f, 0xa1, 0x30, 0x9c, 0xbd, + 0xa1, 0x85, 0x9e, 0x94, 0x3a, 0xf3, 0x56, 0x88, 0x00, 0x31, 0xcf, 0xd8, + 0xee, 0x6a, 0x96, 0x02, 0xd9, 0xed, 0x03, 0x8c, 0xfb, 0x75, 0x6d, 0xe7, + 0xea, 0xb8, 0x55, 0x16, 0x05, 0x16, 0x9a, 0xf4, 0xe0, 0x5e, 0xb1, 0x88, + 0xc0, 0x64, 0x85, 0x5c, 0x15, 0x4d, 0x88, 0xc7, 0xb7, 0xba, 0xe0, 0x75, + 0xe9, 0xad, 0x05, 0x3d, 0x9d, 0xc7, 0x89, 0x48, 0xe0, 0xbb, 0x28, 0xc8, + 0x03, 0xe1, 0x30, 0x93, 0x64, 0x5e, 0x52, 0xc0, 0x59, 0x70, 0x22, 0x35, + 0x57, 0x88, 0x8a, 0xf1, 0x95, 0x0a, 0x83, 0xd7, 0xbc, 0x31, 0x73, 0x01, + 0x34, 0xed, 0xef, 0x46, 0x71, 0xe0, 0x6b, 0x02, 0xa8, 0x35, 0x72, 0x6b, + 0x97, 0x9b, 0x66, 0xe0, 0xcb, 0x1c, 0x79, 0x5f, 0xd8, 0x1a, 0x04, 0x68, + 0x1e, 0x47, 0x02, 0xe6, 0x9d, 0x60, 0xe2, 0x36, 0x97, 0x01, 0xdf, 0xce, + 0x35, 0x92, 0xdf, 0xbe, 0x67, 0xc7, 0x6d, 0x77, 0x59, 0x3b, 0x8f, 0x9d, + 0xd6, 0x90, 0x15, 0x94, 0xbc, 0x42, 0x34, 0x10, 0xc1, 0x39, 0xf9, 0xb1, + 0x27, 0x3e, 0x7e, 0xd6, 0x8a, 0x75, 0xc5, 0xb2, 0xaf, 0x96, 0xd3, 0xa2, + 0xde, 0x9b, 0xe4, 0x98, 0xbe, 0x7d, 0xe1, 0xe9, 0x81, 0xad, 0xb6, 0x6f, + 0xfc, 0xd7, 0x0e, 0xda, 0xe0, 0x34, 0xb0, 0x0d, 0x1a, 0x77, 0xe7, 0xe3, + 0x08, 0x98, 0xef, 0x58, 0xfa, 0x9c, 0x84, 0xb7, 0x36, 0xaf, 0xc2, 0xdf, + 0xac, 0xd2, 0xf4, 0x10, 0x06, 0x70, 0x71, 0x35, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xa3, 0x81, 0xe8, 0x30, 0x81, 0xe5, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2c, 0xd5, + 0x50, 0x41, 0x97, 0x15, 0x8b, 0xf0, 0x8f, 0x36, 0x61, 0x5b, 0x4a, 0xfb, + 0x6b, 0xd9, 0x99, 0xc9, 0x33, 0x92, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x48, 0xe6, 0x68, 0xf9, 0x2b, + 0xd2, 0xb2, 0x95, 0xd7, 0x47, 0xd8, 0x23, 0x20, 0x10, 0x4f, 0x33, 0x98, + 0x90, 0x9f, 0xd4, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x3a, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x33, 0x30, 0x31, 0x30, 0x2f, 0xa0, 0x2d, 0xa0, + 0x2b, 0x86, 0x29, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x46, 0x06, 0x03, + 0x55, 0x1d, 0x20, 0x04, 0x3f, 0x30, 0x3d, 0x30, 0x3b, 0x06, 0x04, 0x55, + 0x1d, 0x20, 0x00, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, + 0x81, 0x81, 0x00, 0xaf, 0xf3, 0x0e, 0xd6, 0x72, 0xab, 0xc7, 0xa9, 0x97, + 0xca, 0x2a, 0x6b, 0x84, 0x39, 0xde, 0x79, 0xa9, 0xf0, 0x81, 0xe5, 0x08, + 0x67, 0xab, 0xd7, 0x2f, 0x20, 0x02, 0x01, 0x71, 0x0c, 0x04, 0x22, 0xc9, + 0x1e, 0x88, 0x95, 0x03, 0xc9, 0x49, 0x3a, 0xaf, 0x67, 0x08, 0x49, 0xb0, + 0xd5, 0x08, 0xf5, 0x20, 0x3d, 0x80, 0x91, 0xa0, 0xc5, 0x87, 0xa3, 0xfb, + 0xc9, 0xa3, 0x17, 0x91, 0xf9, 0xa8, 0x2f, 0xae, 0xe9, 0x0f, 0xdf, 0x96, + 0x72, 0x0f, 0x75, 0x17, 0x80, 0x5d, 0x78, 0x01, 0x4d, 0x9f, 0x1f, 0x6d, + 0x7b, 0xd8, 0xf5, 0x42, 0x38, 0x23, 0x1a, 0x99, 0x93, 0xf4, 0x83, 0xbe, + 0x3b, 0x35, 0x74, 0xe7, 0x37, 0x13, 0x35, 0x7a, 0xac, 0xb4, 0xb6, 0x90, + 0x82, 0x6c, 0x27, 0xa4, 0xe0, 0xec, 0x9e, 0x35, 0xbd, 0xbf, 0xe5, 0x29, + 0xa1, 0x47, 0x9f, 0x5b, 0x32, 0xfc, 0xe9, 0x99, 0x7d, 0x2b, 0x39, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146066 (0x23a92) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Apr 1 00:00:00 2015 GMT + Not After : Dec 31 23:59:59 2017 GMT + Subject: C=US, O=Google Inc, CN=Google Internet Authority G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:9c:2a:04:77:5c:d8:50:91:3a:06:a3:82:e0:d8: + 50:48:bc:89:3f:f1:19:70:1a:88:46:7e:e0:8f:c5: + f1:89:ce:21:ee:5a:fe:61:0d:b7:32:44:89:a0:74: + 0b:53:4f:55:a4:ce:82:62:95:ee:eb:59:5f:c6:e1: + 05:80:12:c4:5e:94:3f:bc:5b:48:38:f4:53:f7:24: + e6:fb:91:e9:15:c4:cf:f4:53:0d:f4:4a:fc:9f:54: + de:7d:be:a0:6b:6f:87:c0:d0:50:1f:28:30:03:40: + da:08:73:51:6c:7f:ff:3a:3c:a7:37:06:8e:bd:4b: + 11:04:eb:7d:24:de:e6:f9:fc:31:71:fb:94:d5:60: + f3:2e:4a:af:42:d2:cb:ea:c4:6a:1a:b2:cc:53:dd: + 15:4b:8b:1f:c8:19:61:1f:cd:9d:a8:3e:63:2b:84: + 35:69:65:84:c8:19:c5:46:22:f8:53:95:be:e3:80: + 4a:10:c6:2a:ec:ba:97:20:11:c7:39:99:10:04:a0: + f0:61:7a:95:25:8c:4e:52:75:e2:b6:ed:08:ca:14: + fc:ce:22:6a:b3:4e:cf:46:03:97:97:03:7e:c0:b1: + de:7b:af:45:33:cf:ba:3e:71:b7:de:f4:25:25:c2: + 0d:35:89:9d:9d:fb:0e:11:79:89:1e:37:c5:af:8e: + 72:69 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + 4A:DD:06:16:1B:BC:F6:68:B5:76:F5:81:B6:BB:62:1A:BA:5A:81:2F + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/crls/gtglobal.crl + + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.11129.2.5.1 + + Signature Algorithm: sha256WithRSAEncryption + 08:4e:04:a7:80:7f:10:16:43:5e:02:ad:d7:42:80:f4:b0:8e: + d2:ae:b3:eb:11:7d:90:84:18:7d:e7:90:15:fb:49:7f:a8:99: + 05:91:bb:7a:c9:d6:3c:37:18:09:9a:b6:c7:92:20:07:35:33: + 09:e4:28:63:72:0d:b4:e0:32:9c:87:98:c4:1b:76:89:67:c1: + 50:58:b0:13:aa:13:1a:1b:32:a5:be:ea:11:95:4c:48:63:49: + e9:99:5d:20:37:cc:fe:2a:69:51:16:95:4b:a9:de:49:82:c0: + 10:70:f4:2c:f3:ec:bc:24:24:d0:4e:ac:a5:d9:5e:1e:6d:92: + c1:a7:ac:48:35:81:f9:e5:e4:9c:65:69:cd:87:a4:41:50:3f: + 2e:57:a5:91:51:12:58:0e:8c:09:a1:ac:7a:a4:12:a5:27:f3: + 9a:10:97:7d:55:03:06:f7:66:58:5f:5f:64:e1:ab:5d:6d:a5: + 39:48:75:98:4c:29:5a:3a:8d:d3:2b:ca:9c:55:04:bf:f4:e6: + 14:d5:80:ac:26:ed:17:89:a6:93:6c:5c:a4:cc:b8:f0:66:8e: + 64:e3:7d:9a:e2:00:b3:49:c7:e4:0a:aa:dd:5b:83:c7:70:90: + 46:4e:be:d0:db:59:96:6c:2e:f5:16:36:de:71:cc:01:c2:12: + c1:21:c6:16 +-----BEGIN CERTIFICATE----- +MIID8DCCAtigAwIBAgIDAjqSMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTUwNDAxMDAwMDAwWhcNMTcxMjMxMjM1OTU5WjBJMQswCQYDVQQG +EwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzElMCMGA1UEAxMcR29vZ2xlIEludGVy +bmV0IEF1dGhvcml0eSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AJwqBHdc2FCROgajguDYUEi8iT/xGXAaiEZ+4I/F8YnOIe5a/mENtzJEiaB0C1NP +VaTOgmKV7utZX8bhBYASxF6UP7xbSDj0U/ck5vuR6RXEz/RTDfRK/J9U3n2+oGtv +h8DQUB8oMANA2ghzUWx//zo8pzcGjr1LEQTrfSTe5vn8MXH7lNVg8y5Kr0LSy+rE +ahqyzFPdFUuLH8gZYR/Nnag+YyuENWllhMgZxUYi+FOVvuOAShDGKuy6lyARxzmZ +EASg8GF6lSWMTlJ14rbtCMoU/M4iarNOz0YDl5cDfsCx3nuvRTPPuj5xt970JSXC +DTWJnZ37DhF5iR43xa+OcmkCAwEAAaOB5zCB5DAfBgNVHSMEGDAWgBTAephojYn7 +qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUSt0GFhu89mi1dvWBtrtiGrpagS8wDgYD +VR0PAQH/BAQDAgEGMC4GCCsGAQUFBwEBBCIwIDAeBggrBgEFBQcwAYYSaHR0cDov +L2cuc3ltY2QuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAwNQYDVR0fBC4wLDAqoCig +JoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMBcGA1UdIAQQ +MA4wDAYKKwYBBAHWeQIFATANBgkqhkiG9w0BAQsFAAOCAQEACE4Ep4B/EBZDXgKt +10KA9LCO0q6z6xF9kIQYfeeQFftJf6iZBZG7esnWPDcYCZq2x5IgBzUzCeQoY3IN +tOAynIeYxBt2iWfBUFiwE6oTGhsypb7qEZVMSGNJ6ZldIDfM/ippURaVS6neSYLA +EHD0LPPsvCQk0E6spdleHm2SwaesSDWB+eXknGVpzYekQVA/LlelkVESWA6MCaGs +eqQSpSfzmhCXfVUDBvdmWF9fZOGrXW2lOUh1mEwpWjqN0yvKnFUEv/TmFNWArCbt +F4mmk2xcpMy48GaOZON9muIAs0nH5Aqq3VuDx3CQRk6+0NtZlmwu9RY23nHMAcIS +wSHGFg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_2[] = { + 0x30, 0x82, 0x03, 0xf0, 0x30, 0x82, 0x02, 0xd8, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x92, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35, 0x30, + 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, + 0x31, 0x37, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, + 0x5a, 0x30, 0x49, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x49, 0x6e, + 0x63, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1c, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, + 0x00, 0x9c, 0x2a, 0x04, 0x77, 0x5c, 0xd8, 0x50, 0x91, 0x3a, 0x06, 0xa3, + 0x82, 0xe0, 0xd8, 0x50, 0x48, 0xbc, 0x89, 0x3f, 0xf1, 0x19, 0x70, 0x1a, + 0x88, 0x46, 0x7e, 0xe0, 0x8f, 0xc5, 0xf1, 0x89, 0xce, 0x21, 0xee, 0x5a, + 0xfe, 0x61, 0x0d, 0xb7, 0x32, 0x44, 0x89, 0xa0, 0x74, 0x0b, 0x53, 0x4f, + 0x55, 0xa4, 0xce, 0x82, 0x62, 0x95, 0xee, 0xeb, 0x59, 0x5f, 0xc6, 0xe1, + 0x05, 0x80, 0x12, 0xc4, 0x5e, 0x94, 0x3f, 0xbc, 0x5b, 0x48, 0x38, 0xf4, + 0x53, 0xf7, 0x24, 0xe6, 0xfb, 0x91, 0xe9, 0x15, 0xc4, 0xcf, 0xf4, 0x53, + 0x0d, 0xf4, 0x4a, 0xfc, 0x9f, 0x54, 0xde, 0x7d, 0xbe, 0xa0, 0x6b, 0x6f, + 0x87, 0xc0, 0xd0, 0x50, 0x1f, 0x28, 0x30, 0x03, 0x40, 0xda, 0x08, 0x73, + 0x51, 0x6c, 0x7f, 0xff, 0x3a, 0x3c, 0xa7, 0x37, 0x06, 0x8e, 0xbd, 0x4b, + 0x11, 0x04, 0xeb, 0x7d, 0x24, 0xde, 0xe6, 0xf9, 0xfc, 0x31, 0x71, 0xfb, + 0x94, 0xd5, 0x60, 0xf3, 0x2e, 0x4a, 0xaf, 0x42, 0xd2, 0xcb, 0xea, 0xc4, + 0x6a, 0x1a, 0xb2, 0xcc, 0x53, 0xdd, 0x15, 0x4b, 0x8b, 0x1f, 0xc8, 0x19, + 0x61, 0x1f, 0xcd, 0x9d, 0xa8, 0x3e, 0x63, 0x2b, 0x84, 0x35, 0x69, 0x65, + 0x84, 0xc8, 0x19, 0xc5, 0x46, 0x22, 0xf8, 0x53, 0x95, 0xbe, 0xe3, 0x80, + 0x4a, 0x10, 0xc6, 0x2a, 0xec, 0xba, 0x97, 0x20, 0x11, 0xc7, 0x39, 0x99, + 0x10, 0x04, 0xa0, 0xf0, 0x61, 0x7a, 0x95, 0x25, 0x8c, 0x4e, 0x52, 0x75, + 0xe2, 0xb6, 0xed, 0x08, 0xca, 0x14, 0xfc, 0xce, 0x22, 0x6a, 0xb3, 0x4e, + 0xcf, 0x46, 0x03, 0x97, 0x97, 0x03, 0x7e, 0xc0, 0xb1, 0xde, 0x7b, 0xaf, + 0x45, 0x33, 0xcf, 0xba, 0x3e, 0x71, 0xb7, 0xde, 0xf4, 0x25, 0x25, 0xc2, + 0x0d, 0x35, 0x89, 0x9d, 0x9d, 0xfb, 0x0e, 0x11, 0x79, 0x89, 0x1e, 0x37, + 0xc5, 0xaf, 0x8e, 0x72, 0x69, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, + 0xe7, 0x30, 0x81, 0xe4, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, + 0xab, 0x05, 0x64, 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, + 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x4a, 0xdd, 0x06, 0x16, 0x1b, 0xbc, 0xf6, 0x68, 0xb5, 0x76, 0xf5, 0x81, + 0xb6, 0xbb, 0x62, 0x1a, 0xba, 0x5a, 0x81, 0x2f, 0x30, 0x0e, 0x06, 0x03, + 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x22, 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, + 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x35, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, + 0x26, 0x86, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, + 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, + 0x6c, 0x73, 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x17, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x10, + 0x30, 0x0e, 0x30, 0x0c, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xd6, + 0x79, 0x02, 0x05, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, + 0x08, 0x4e, 0x04, 0xa7, 0x80, 0x7f, 0x10, 0x16, 0x43, 0x5e, 0x02, 0xad, + 0xd7, 0x42, 0x80, 0xf4, 0xb0, 0x8e, 0xd2, 0xae, 0xb3, 0xeb, 0x11, 0x7d, + 0x90, 0x84, 0x18, 0x7d, 0xe7, 0x90, 0x15, 0xfb, 0x49, 0x7f, 0xa8, 0x99, + 0x05, 0x91, 0xbb, 0x7a, 0xc9, 0xd6, 0x3c, 0x37, 0x18, 0x09, 0x9a, 0xb6, + 0xc7, 0x92, 0x20, 0x07, 0x35, 0x33, 0x09, 0xe4, 0x28, 0x63, 0x72, 0x0d, + 0xb4, 0xe0, 0x32, 0x9c, 0x87, 0x98, 0xc4, 0x1b, 0x76, 0x89, 0x67, 0xc1, + 0x50, 0x58, 0xb0, 0x13, 0xaa, 0x13, 0x1a, 0x1b, 0x32, 0xa5, 0xbe, 0xea, + 0x11, 0x95, 0x4c, 0x48, 0x63, 0x49, 0xe9, 0x99, 0x5d, 0x20, 0x37, 0xcc, + 0xfe, 0x2a, 0x69, 0x51, 0x16, 0x95, 0x4b, 0xa9, 0xde, 0x49, 0x82, 0xc0, + 0x10, 0x70, 0xf4, 0x2c, 0xf3, 0xec, 0xbc, 0x24, 0x24, 0xd0, 0x4e, 0xac, + 0xa5, 0xd9, 0x5e, 0x1e, 0x6d, 0x92, 0xc1, 0xa7, 0xac, 0x48, 0x35, 0x81, + 0xf9, 0xe5, 0xe4, 0x9c, 0x65, 0x69, 0xcd, 0x87, 0xa4, 0x41, 0x50, 0x3f, + 0x2e, 0x57, 0xa5, 0x91, 0x51, 0x12, 0x58, 0x0e, 0x8c, 0x09, 0xa1, 0xac, + 0x7a, 0xa4, 0x12, 0xa5, 0x27, 0xf3, 0x9a, 0x10, 0x97, 0x7d, 0x55, 0x03, + 0x06, 0xf7, 0x66, 0x58, 0x5f, 0x5f, 0x64, 0xe1, 0xab, 0x5d, 0x6d, 0xa5, + 0x39, 0x48, 0x75, 0x98, 0x4c, 0x29, 0x5a, 0x3a, 0x8d, 0xd3, 0x2b, 0xca, + 0x9c, 0x55, 0x04, 0xbf, 0xf4, 0xe6, 0x14, 0xd5, 0x80, 0xac, 0x26, 0xed, + 0x17, 0x89, 0xa6, 0x93, 0x6c, 0x5c, 0xa4, 0xcc, 0xb8, 0xf0, 0x66, 0x8e, + 0x64, 0xe3, 0x7d, 0x9a, 0xe2, 0x00, 0xb3, 0x49, 0xc7, 0xe4, 0x0a, 0xaa, + 0xdd, 0x5b, 0x83, 0xc7, 0x70, 0x90, 0x46, 0x4e, 0xbe, 0xd0, 0xdb, 0x59, + 0x96, 0x6c, 0x2e, 0xf5, 0x16, 0x36, 0xde, 0x71, 0xcc, 0x01, 0xc2, 0x12, + 0xc1, 0x21, 0xc6, 0x16, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120033005 (0x7278eed) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root + Validity + Not Before: Apr 18 16:36:18 2012 GMT + Not After : Aug 13 16:35:17 2018 GMT + Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79: + d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a: + 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2: + 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01: + 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7: + 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6: + 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c: + a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70: + 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77: + d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae: + 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18: + 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85: + ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9: + 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5: + c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a: + ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0: + 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27: + 1a:39 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:3 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://cybertrust.omniroot.com/repository + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Authority Key Identifier: + DirName:/C=US/O=GTE Corporation/OU=GTE CyberTrust Solutions, Inc./CN=GTE CyberTrust Global Root + serial:01:A5 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://www.public-trust.com/cgi-bin/CRL/2018/cdp.crl + + Signature Algorithm: sha1WithRSAEncryption + 93:1d:fe:8b:ae:46:ec:cb:a9:0f:ab:e5:ef:ca:b2:68:16:68: + d8:8f:fa:13:a9:af:b3:cb:2d:e7:4b:6e:8e:69:2a:c2:2b:10: + 0a:8d:f6:ae:73:b6:b9:fb:14:fd:5f:6d:b8:50:b6:c4:8a:d6: + 40:7e:d7:c3:cb:73:dc:c9:5d:5b:af:b0:41:b5:37:eb:ea:dc: + 20:91:c4:34:6a:f4:a1:f3:96:9d:37:86:97:e1:71:a4:dd:7d: + fa:44:84:94:ae:d7:09:04:22:76:0f:64:51:35:a9:24:0f:f9: + 0b:db:32:da:c2:fe:c1:b9:2a:5c:7a:27:13:ca:b1:48:3a:71: + d0:43 +-----BEGIN CERTIFICATE----- +MIIEFTCCA36gAwIBAgIEByeO7TANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV +UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU +cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds +b2JhbCBSb290MB4XDTEyMDQxODE2MzYxOFoXDTE4MDgxMzE2MzUxN1owWjELMAkG +A1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVz +dDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKrmD1X6CZymrV51Cni4eiVgLGw41uO +KymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsBUnuId9Mcj8e6uYi1agnn +c+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/CG9VwcPCP +wBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPg +kAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFc +B5kpvcY67Oduhjprl3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaOCAUcw +ggFDMBIGA1UdEwEB/wQIMAYBAf8CAQMwSgYDVR0gBEMwQTA/BgRVHSAAMDcwNQYI +KwYBBQUHAgEWKWh0dHA6Ly9jeWJlcnRydXN0Lm9tbmlyb290LmNvbS9yZXBvc2l0 +b3J5MA4GA1UdDwEB/wQEAwIBBjCBiQYDVR0jBIGBMH+heaR3MHUxCzAJBgNVBAYT +AlVTMRgwFgYDVQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJl +clRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3Qg +R2xvYmFsIFJvb3SCAgGlMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly93d3cucHVi +bGljLXRydXN0LmNvbS9jZ2ktYmluL0NSTC8yMDE4L2NkcC5jcmwwDQYJKoZIhvcN +AQEFBQADgYEAkx3+i65G7MupD6vl78qyaBZo2I/6E6mvs8st50tujmkqwisQCo32 +rnO2ufsU/V9tuFC2xIrWQH7Xw8tz3MldW6+wQbU36+rcIJHENGr0ofOWnTeGl+Fx +pN19+kSElK7XCQQidg9kUTWpJA/5C9sy2sL+wbkqXHonE8qxSDpx0EM= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_3[] = { + 0x30, 0x82, 0x04, 0x15, 0x30, 0x82, 0x03, 0x7e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0x8e, 0xed, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x75, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0f, + 0x47, 0x54, 0x45, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x1e, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x53, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x23, 0x30, 0x21, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x47, 0x54, 0x45, 0x20, 0x43, + 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x32, 0x30, 0x34, 0x31, 0x38, 0x31, 0x36, 0x33, 0x36, 0x31, + 0x38, 0x5a, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x38, 0x31, 0x33, 0x31, 0x36, + 0x33, 0x35, 0x31, 0x37, 0x5a, 0x30, 0x5a, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, 0x45, 0x31, 0x12, 0x30, 0x10, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, 0x42, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x43, 0x79, + 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6f, + 0x74, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, + 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa3, 0x04, + 0xbb, 0x22, 0xab, 0x98, 0x3d, 0x57, 0xe8, 0x26, 0x72, 0x9a, 0xb5, 0x79, + 0xd4, 0x29, 0xe2, 0xe1, 0xe8, 0x95, 0x80, 0xb1, 0xb0, 0xe3, 0x5b, 0x8e, + 0x2b, 0x29, 0x9a, 0x64, 0xdf, 0xa1, 0x5d, 0xed, 0xb0, 0x09, 0x05, 0x6d, + 0xdb, 0x28, 0x2e, 0xce, 0x62, 0xa2, 0x62, 0xfe, 0xb4, 0x88, 0xda, 0x12, + 0xeb, 0x38, 0xeb, 0x21, 0x9d, 0xc0, 0x41, 0x2b, 0x01, 0x52, 0x7b, 0x88, + 0x77, 0xd3, 0x1c, 0x8f, 0xc7, 0xba, 0xb9, 0x88, 0xb5, 0x6a, 0x09, 0xe7, + 0x73, 0xe8, 0x11, 0x40, 0xa7, 0xd1, 0xcc, 0xca, 0x62, 0x8d, 0x2d, 0xe5, + 0x8f, 0x0b, 0xa6, 0x50, 0xd2, 0xa8, 0x50, 0xc3, 0x28, 0xea, 0xf5, 0xab, + 0x25, 0x87, 0x8a, 0x9a, 0x96, 0x1c, 0xa9, 0x67, 0xb8, 0x3f, 0x0c, 0xd5, + 0xf7, 0xf9, 0x52, 0x13, 0x2f, 0xc2, 0x1b, 0xd5, 0x70, 0x70, 0xf0, 0x8f, + 0xc0, 0x12, 0xca, 0x06, 0xcb, 0x9a, 0xe1, 0xd9, 0xca, 0x33, 0x7a, 0x77, + 0xd6, 0xf8, 0xec, 0xb9, 0xf1, 0x68, 0x44, 0x42, 0x48, 0x13, 0xd2, 0xc0, + 0xc2, 0xa4, 0xae, 0x5e, 0x60, 0xfe, 0xb6, 0xa6, 0x05, 0xfc, 0xb4, 0xdd, + 0x07, 0x59, 0x02, 0xd4, 0x59, 0x18, 0x98, 0x63, 0xf5, 0xa5, 0x63, 0xe0, + 0x90, 0x0c, 0x7d, 0x5d, 0xb2, 0x06, 0x7a, 0xf3, 0x85, 0xea, 0xeb, 0xd4, + 0x03, 0xae, 0x5e, 0x84, 0x3e, 0x5f, 0xff, 0x15, 0xed, 0x69, 0xbc, 0xf9, + 0x39, 0x36, 0x72, 0x75, 0xcf, 0x77, 0x52, 0x4d, 0xf3, 0xc9, 0x90, 0x2c, + 0xb9, 0x3d, 0xe5, 0xc9, 0x23, 0x53, 0x3f, 0x1f, 0x24, 0x98, 0x21, 0x5c, + 0x07, 0x99, 0x29, 0xbd, 0xc6, 0x3a, 0xec, 0xe7, 0x6e, 0x86, 0x3a, 0x6b, + 0x97, 0x74, 0x63, 0x33, 0xbd, 0x68, 0x18, 0x31, 0xf0, 0x78, 0x8d, 0x76, + 0xbf, 0xfc, 0x9e, 0x8e, 0x5d, 0x2a, 0x86, 0xa7, 0x4d, 0x90, 0xdc, 0x27, + 0x1a, 0x39, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x47, 0x30, + 0x82, 0x01, 0x43, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x03, 0x30, + 0x4a, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x43, 0x30, 0x41, 0x30, 0x3f, + 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x37, 0x30, 0x35, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x29, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x81, 0x89, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x81, 0x81, 0x30, 0x7f, 0xa1, 0x79, 0xa4, 0x77, + 0x30, 0x75, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x0f, 0x47, 0x54, 0x45, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x1e, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x53, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x23, + 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x47, 0x54, 0x45, + 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x82, + 0x02, 0x01, 0xa5, 0x30, 0x45, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x3e, + 0x30, 0x3c, 0x30, 0x3a, 0xa0, 0x38, 0xa0, 0x36, 0x86, 0x34, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, 0x6e, 0x2f, 0x43, 0x52, + 0x4c, 0x2f, 0x32, 0x30, 0x31, 0x38, 0x2f, 0x63, 0x64, 0x70, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x93, 0x1d, 0xfe, + 0x8b, 0xae, 0x46, 0xec, 0xcb, 0xa9, 0x0f, 0xab, 0xe5, 0xef, 0xca, 0xb2, + 0x68, 0x16, 0x68, 0xd8, 0x8f, 0xfa, 0x13, 0xa9, 0xaf, 0xb3, 0xcb, 0x2d, + 0xe7, 0x4b, 0x6e, 0x8e, 0x69, 0x2a, 0xc2, 0x2b, 0x10, 0x0a, 0x8d, 0xf6, + 0xae, 0x73, 0xb6, 0xb9, 0xfb, 0x14, 0xfd, 0x5f, 0x6d, 0xb8, 0x50, 0xb6, + 0xc4, 0x8a, 0xd6, 0x40, 0x7e, 0xd7, 0xc3, 0xcb, 0x73, 0xdc, 0xc9, 0x5d, + 0x5b, 0xaf, 0xb0, 0x41, 0xb5, 0x37, 0xeb, 0xea, 0xdc, 0x20, 0x91, 0xc4, + 0x34, 0x6a, 0xf4, 0xa1, 0xf3, 0x96, 0x9d, 0x37, 0x86, 0x97, 0xe1, 0x71, + 0xa4, 0xdd, 0x7d, 0xfa, 0x44, 0x84, 0x94, 0xae, 0xd7, 0x09, 0x04, 0x22, + 0x76, 0x0f, 0x64, 0x51, 0x35, 0xa9, 0x24, 0x0f, 0xf9, 0x0b, 0xdb, 0x32, + 0xda, 0xc2, 0xfe, 0xc1, 0xb9, 0x2a, 0x5c, 0x7a, 0x27, 0x13, 0xca, 0xb1, + 0x48, 0x3a, 0x71, 0xd0, 0x43, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146039 (0x23a77) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Aug 29 21:39:32 2014 GMT + Not After : May 20 21:39:32 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:54:9b:d9:58:5d:1e:2c:56:c6:d5:e8:7f:f4: + 7d:16:03:ff:d0:8b:5a:e4:8e:a7:dd:54:2e:d4:04: + c0:5d:98:9c:8d:90:0f:bc:10:65:5f:da:9a:d6:44: + 7c:c0:9f:b5:e9:4a:8c:0b:06:43:04:bb:f4:96:e2: + 26:f6:61:01:91:66:31:22:c3:34:34:5f:3f:3f:91: + 2f:44:5f:dc:c7:14:b6:03:9f:86:4b:0e:a3:ff:a0: + 80:02:83:c3:d3:1f:69:52:d6:9d:64:0f:c9:83:e7: + 1b:c4:70:ac:94:e7:c3:a4:6a:2c:bd:b8:9e:69:d8: + be:0a:8f:16:63:5a:68:71:80:7b:30:de:15:04:bf: + cc:d3:bf:3e:48:05:55:7a:b3:d7:10:0c:03:fc:9b: + fd:08:a7:8c:8c:db:a7:8e:f1:1e:63:dc:b3:01:2f: + 7f:af:57:c3:3c:48:a7:83:68:21:a7:2f:e7:a7:3f: + f0:b5:0c:fc:f5:84:d1:53:bc:0e:72:4f:60:0c:42: + b8:98:ad:19:88:57:d7:04:ec:87:bf:7e:87:4e:a3: + 21:f9:53:fd:36:98:48:8d:d6:f8:bb:48:f2:29:c8: + 64:d1:cc:54:48:53:8b:af:b7:65:1e:bf:29:33:29: + d9:29:60:48:f8:ff:91:bc:57:58:e5:35:2e:bb:69: + b6:59 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + C3:9C:F3:FC:D3:46:08:34:BB:CE:46:7F:A0:7C:5B:F3:E2:08:CB:59 + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + Signature Algorithm: sha256WithRSAEncryption + a3:58:1e:c6:43:32:ac:ac:2f:93:78:b7:ea:ae:54:40:47:2d: + 7e:78:8d:50:f6:f8:66:ac:d6:4f:73:d6:44:ef:af:0b:cc:5b: + c1:f4:4f:9a:8f:49:7e:60:af:c2:27:c7:16:f1:fb:93:81:90: + a9:7c:ef:6f:7e:6e:45:94:16:84:bd:ec:49:f1:c4:0e:f4:af: + 04:59:83:87:0f:2c:3b:97:c3:5a:12:9b:7b:04:35:7b:a3:95: + 33:08:7b:93:71:22:42:b3:a9:d9:6f:4f:81:92:fc:07:b6:79: + bc:84:4a:9d:77:09:f1:c5:89:f2:f0:b4:9c:54:aa:12:7b:0d: + ba:4f:ef:93:19:ec:ef:7d:4e:61:a3:8e:76:9c:59:cf:8c:94: + b1:84:97:f7:1a:b9:07:b8:b2:c6:4f:13:79:db:bf:4f:51:1b: + 7f:69:0d:51:2a:c1:d6:15:ff:37:51:34:65:51:f4:1e:be:38: + 6a:ec:0e:ab:bf:3d:7b:39:05:7b:f4:f3:fb:1a:a1:d0:c8:7e: + 4e:64:8d:cd:8c:61:55:90:fe:3a:ca:5d:25:0f:f8:1d:a3:4a: + 74:56:4f:1a:55:40:70:75:25:a6:33:2e:ba:4b:a5:5d:53:9a: + 0d:30:e1:8d:5f:61:2c:af:cc:ef:b0:99:a1:80:ff:0b:f2:62: + 4c:70:26:98 +-----BEGIN CERTIFICATE----- +MIIEJTCCAw2gAwIBAgIDAjp3MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTQwODI5MjEzOTMyWhcNMjIwNTIwMjEzOTMyWjBHMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXUmFwaWRTU0wg +U0hBMjU2IENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv +VJvZWF0eLFbG1eh/9H0WA//Qi1rkjqfdVC7UBMBdmJyNkA+8EGVf2prWRHzAn7Xp +SowLBkMEu/SW4ib2YQGRZjEiwzQ0Xz8/kS9EX9zHFLYDn4ZLDqP/oIACg8PTH2lS +1p1kD8mD5xvEcKyU58Okaiy9uJ5p2L4KjxZjWmhxgHsw3hUEv8zTvz5IBVV6s9cQ +DAP8m/0Ip4yM26eO8R5j3LMBL3+vV8M8SKeDaCGnL+enP/C1DPz1hNFTvA5yT2AM +QriYrRmIV9cE7Ie/fodOoyH5U/02mEiN1vi7SPIpyGTRzFRIU4uvt2UevykzKdkp +YEj4/5G8V1jlNS67abZZAgMBAAGjggEdMIIBGTAfBgNVHSMEGDAWgBTAephojYn7 +qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUw5zz/NNGCDS7zkZ/oHxb8+IIy1kwEgYD +VR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNQYDVR0fBC4wLDAqoCig +JoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMC4GCCsGAQUF +BwEBBCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMEwGA1UdIARF +MEMwQQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3Ry +dXN0LmNvbS9yZXNvdXJjZXMvY3BzMA0GCSqGSIb3DQEBCwUAA4IBAQCjWB7GQzKs +rC+TeLfqrlRARy1+eI1Q9vhmrNZPc9ZE768LzFvB9E+aj0l+YK/CJ8cW8fuTgZCp +fO9vfm5FlBaEvexJ8cQO9K8EWYOHDyw7l8NaEpt7BDV7o5UzCHuTcSJCs6nZb0+B +kvwHtnm8hEqddwnxxYny8LScVKoSew26T++TGezvfU5ho452nFnPjJSxhJf3GrkH +uLLGTxN5279PURt/aQ1RKsHWFf83UTRlUfQevjhq7A6rvz17OQV79PP7GqHQyH5O +ZI3NjGFVkP46yl0lD/gdo0p0Vk8aVUBwdSWmMy66S6VdU5oNMOGNX2Esr8zvsJmh +gP8L8mJMcCaY +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_4[] = { + 0x30, 0x82, 0x04, 0x25, 0x30, 0x82, 0x03, 0x0d, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x77, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, + 0x38, 0x32, 0x39, 0x32, 0x31, 0x33, 0x39, 0x33, 0x32, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x31, 0x33, 0x39, 0x33, 0x32, + 0x5a, 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x17, 0x52, 0x61, 0x70, 0x69, 0x64, 0x53, 0x53, 0x4c, 0x20, + 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, + 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xaf, + 0x54, 0x9b, 0xd9, 0x58, 0x5d, 0x1e, 0x2c, 0x56, 0xc6, 0xd5, 0xe8, 0x7f, + 0xf4, 0x7d, 0x16, 0x03, 0xff, 0xd0, 0x8b, 0x5a, 0xe4, 0x8e, 0xa7, 0xdd, + 0x54, 0x2e, 0xd4, 0x04, 0xc0, 0x5d, 0x98, 0x9c, 0x8d, 0x90, 0x0f, 0xbc, + 0x10, 0x65, 0x5f, 0xda, 0x9a, 0xd6, 0x44, 0x7c, 0xc0, 0x9f, 0xb5, 0xe9, + 0x4a, 0x8c, 0x0b, 0x06, 0x43, 0x04, 0xbb, 0xf4, 0x96, 0xe2, 0x26, 0xf6, + 0x61, 0x01, 0x91, 0x66, 0x31, 0x22, 0xc3, 0x34, 0x34, 0x5f, 0x3f, 0x3f, + 0x91, 0x2f, 0x44, 0x5f, 0xdc, 0xc7, 0x14, 0xb6, 0x03, 0x9f, 0x86, 0x4b, + 0x0e, 0xa3, 0xff, 0xa0, 0x80, 0x02, 0x83, 0xc3, 0xd3, 0x1f, 0x69, 0x52, + 0xd6, 0x9d, 0x64, 0x0f, 0xc9, 0x83, 0xe7, 0x1b, 0xc4, 0x70, 0xac, 0x94, + 0xe7, 0xc3, 0xa4, 0x6a, 0x2c, 0xbd, 0xb8, 0x9e, 0x69, 0xd8, 0xbe, 0x0a, + 0x8f, 0x16, 0x63, 0x5a, 0x68, 0x71, 0x80, 0x7b, 0x30, 0xde, 0x15, 0x04, + 0xbf, 0xcc, 0xd3, 0xbf, 0x3e, 0x48, 0x05, 0x55, 0x7a, 0xb3, 0xd7, 0x10, + 0x0c, 0x03, 0xfc, 0x9b, 0xfd, 0x08, 0xa7, 0x8c, 0x8c, 0xdb, 0xa7, 0x8e, + 0xf1, 0x1e, 0x63, 0xdc, 0xb3, 0x01, 0x2f, 0x7f, 0xaf, 0x57, 0xc3, 0x3c, + 0x48, 0xa7, 0x83, 0x68, 0x21, 0xa7, 0x2f, 0xe7, 0xa7, 0x3f, 0xf0, 0xb5, + 0x0c, 0xfc, 0xf5, 0x84, 0xd1, 0x53, 0xbc, 0x0e, 0x72, 0x4f, 0x60, 0x0c, + 0x42, 0xb8, 0x98, 0xad, 0x19, 0x88, 0x57, 0xd7, 0x04, 0xec, 0x87, 0xbf, + 0x7e, 0x87, 0x4e, 0xa3, 0x21, 0xf9, 0x53, 0xfd, 0x36, 0x98, 0x48, 0x8d, + 0xd6, 0xf8, 0xbb, 0x48, 0xf2, 0x29, 0xc8, 0x64, 0xd1, 0xcc, 0x54, 0x48, + 0x53, 0x8b, 0xaf, 0xb7, 0x65, 0x1e, 0xbf, 0x29, 0x33, 0x29, 0xd9, 0x29, + 0x60, 0x48, 0xf8, 0xff, 0x91, 0xbc, 0x57, 0x58, 0xe5, 0x35, 0x2e, 0xbb, + 0x69, 0xb6, 0x59, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x1d, + 0x30, 0x82, 0x01, 0x19, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, + 0xab, 0x05, 0x64, 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, + 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0xc3, 0x9c, 0xf3, 0xfc, 0xd3, 0x46, 0x08, 0x34, 0xbb, 0xce, 0x46, 0x7f, + 0xa0, 0x7c, 0x5b, 0xf3, 0xe2, 0x08, 0xcb, 0x59, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, + 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x35, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, + 0x26, 0x86, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, + 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, + 0x6c, 0x73, 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x22, 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, + 0x30, 0x43, 0x30, 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, + 0x45, 0x01, 0x07, 0x36, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0xa3, 0x58, 0x1e, 0xc6, 0x43, 0x32, 0xac, + 0xac, 0x2f, 0x93, 0x78, 0xb7, 0xea, 0xae, 0x54, 0x40, 0x47, 0x2d, 0x7e, + 0x78, 0x8d, 0x50, 0xf6, 0xf8, 0x66, 0xac, 0xd6, 0x4f, 0x73, 0xd6, 0x44, + 0xef, 0xaf, 0x0b, 0xcc, 0x5b, 0xc1, 0xf4, 0x4f, 0x9a, 0x8f, 0x49, 0x7e, + 0x60, 0xaf, 0xc2, 0x27, 0xc7, 0x16, 0xf1, 0xfb, 0x93, 0x81, 0x90, 0xa9, + 0x7c, 0xef, 0x6f, 0x7e, 0x6e, 0x45, 0x94, 0x16, 0x84, 0xbd, 0xec, 0x49, + 0xf1, 0xc4, 0x0e, 0xf4, 0xaf, 0x04, 0x59, 0x83, 0x87, 0x0f, 0x2c, 0x3b, + 0x97, 0xc3, 0x5a, 0x12, 0x9b, 0x7b, 0x04, 0x35, 0x7b, 0xa3, 0x95, 0x33, + 0x08, 0x7b, 0x93, 0x71, 0x22, 0x42, 0xb3, 0xa9, 0xd9, 0x6f, 0x4f, 0x81, + 0x92, 0xfc, 0x07, 0xb6, 0x79, 0xbc, 0x84, 0x4a, 0x9d, 0x77, 0x09, 0xf1, + 0xc5, 0x89, 0xf2, 0xf0, 0xb4, 0x9c, 0x54, 0xaa, 0x12, 0x7b, 0x0d, 0xba, + 0x4f, 0xef, 0x93, 0x19, 0xec, 0xef, 0x7d, 0x4e, 0x61, 0xa3, 0x8e, 0x76, + 0x9c, 0x59, 0xcf, 0x8c, 0x94, 0xb1, 0x84, 0x97, 0xf7, 0x1a, 0xb9, 0x07, + 0xb8, 0xb2, 0xc6, 0x4f, 0x13, 0x79, 0xdb, 0xbf, 0x4f, 0x51, 0x1b, 0x7f, + 0x69, 0x0d, 0x51, 0x2a, 0xc1, 0xd6, 0x15, 0xff, 0x37, 0x51, 0x34, 0x65, + 0x51, 0xf4, 0x1e, 0xbe, 0x38, 0x6a, 0xec, 0x0e, 0xab, 0xbf, 0x3d, 0x7b, + 0x39, 0x05, 0x7b, 0xf4, 0xf3, 0xfb, 0x1a, 0xa1, 0xd0, 0xc8, 0x7e, 0x4e, + 0x64, 0x8d, 0xcd, 0x8c, 0x61, 0x55, 0x90, 0xfe, 0x3a, 0xca, 0x5d, 0x25, + 0x0f, 0xf8, 0x1d, 0xa3, 0x4a, 0x74, 0x56, 0x4f, 0x1a, 0x55, 0x40, 0x70, + 0x75, 0x25, 0xa6, 0x33, 0x2e, 0xba, 0x4b, 0xa5, 0x5d, 0x53, 0x9a, 0x0d, + 0x30, 0xe1, 0x8d, 0x5f, 0x61, 0x2c, 0xaf, 0xcc, 0xef, 0xb0, 0x99, 0xa1, + 0x80, 0xff, 0x0b, 0xf2, 0x62, 0x4c, 0x70, 0x26, 0x98, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146040 (0x23a78) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Aug 29 22:24:58 2014 GMT + Not After : May 20 22:24:58 2022 GMT + Subject: C=US, O=GeoTrust Inc., OU=Domain Validated SSL, CN=GeoTrust DV SSL CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:df:41:94:7a:da:f7:e4:31:43:b6:ea:01:1b:5c: + ce:63:ea:fa:6d:a3:d9:6a:ee:2d:9a:75:f9:d5:9c: + 5b:bd:34:df:d8:1c:c9:6d:d8:04:88:da:6e:b5:b7: + b5:f0:30:ae:40:d6:5d:fa:c4:53:c1:d4:22:9d:04: + 4e:11:a6:95:d5:45:7c:41:05:58:e0:4c:dd:f9:ee: + 55:bd:5f:46:dc:ad:13:08:9d:2c:e4:f7:82:e6:07: + 2b:9e:0e:8c:34:a1:ce:c4:a1:e0:81:70:86:00:06: + 3f:2d:ea:7c:9b:28:ae:1b:28:8b:39:09:d3:e7:f0: + 45:a4:b1:ba:11:67:90:55:7b:8f:de:ed:38:5c:a1: + e1:e3:83:c4:c3:72:91:4f:98:ee:1c:c2:80:aa:64: + a5:3e:83:62:1c:cc:e0:9e:f8:5a:c0:13:12:7d:a2: + a7:8b:a3:e7:9f:2a:d7:9b:ca:cb:ed:97:01:9c:28: + 84:51:04:50:41:bc:b4:fc:78:e9:1b:cf:14:ea:1f: + 0f:fc:2e:01:32:8d:b6:35:cb:0a:18:3b:ec:5a:3e: + 3c:1b:d3:99:43:1e:2f:f7:bd:f3:5b:12:b9:07:5e: + ed:3e:d1:a9:87:cc:77:72:27:d4:d9:75:a2:63:4b: + 93:36:bd:e5:5c:d7:bf:5f:79:0d:b3:32:a7:0b:b2: + 63:23 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + 0B:50:EC:77:EF:2A:9B:FF:EC:03:A1:0A:FF:AD:C6:E4:2A:18:C7:3E + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + Signature Algorithm: sha256WithRSAEncryption + 33:24:d5:90:aa:29:0c:35:b9:2f:c3:c7:42:93:c0:c6:10:4b: + 03:08:76:84:10:a2:e0:e7:53:12:27:f2:0a:da:7f:3a:dc:fd: + 5c:79:5a:8f:17:74:43:53:b1:d5:d1:5d:59:b9:a6:84:64:ca: + f1:3a:0a:59:96:10:bf:a9:81:57:8b:5c:87:dc:7f:e3:e4:bb: + 05:7a:a0:32:09:13:4e:10:81:28:1f:9c:03:62:bc:f4:01:b5: + 29:83:46:07:b9:e7:b8:5d:c8:e9:d1:dd:ad:3b:f8:34:db:c1: + d1:95:a9:91:18:ed:3c:2c:37:11:4d:cc:fe:53:3e:50:43:f9: + c3:56:41:ac:53:9b:6c:05:b2:9a:e2:e0:59:57:30:32:b6:26: + 4e:13:25:cd:fa:48:70:0f:75:55:60:11:f5:3b:d5:5e:5a:3c: + 8b:5b:0f:0f:62:42:48:61:85:8b:10:f4:c1:88:bf:7f:5f:8a: + c2:d7:cd:2b:94:5c:1f:34:4a:08:af:eb:ae:89:a8:48:75:55: + 95:1d:bb:c0:9a:01:b9:f4:03:22:3e:d4:e6:52:30:0d:67:b9: + c0:91:fd:2d:4c:30:8e:bd:8c:a5:04:91:bb:a4:ab:7f:0f:d8: + 6f:f0:66:00:c9:a3:5c:f5:b0:8f:83:e6:9c:5a:e6:b6:b9:c5: + bc:be:e4:02 +-----BEGIN CERTIFICATE----- +MIIERDCCAyygAwIBAgIDAjp4MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTQwODI5MjIyNDU4WhcNMjIwNTIwMjIyNDU4WjBmMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UECxMURG9tYWluIFZh +bGlkYXRlZCBTU0wxIDAeBgNVBAMTF0dlb1RydXN0IERWIFNTTCBDQSAtIEc0MIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA30GUetr35DFDtuoBG1zOY+r6 +baPZau4tmnX51ZxbvTTf2BzJbdgEiNputbe18DCuQNZd+sRTwdQinQROEaaV1UV8 +QQVY4Ezd+e5VvV9G3K0TCJ0s5PeC5gcrng6MNKHOxKHggXCGAAY/Lep8myiuGyiL +OQnT5/BFpLG6EWeQVXuP3u04XKHh44PEw3KRT5juHMKAqmSlPoNiHMzgnvhawBMS +faKni6PnnyrXm8rL7ZcBnCiEUQRQQby0/HjpG88U6h8P/C4BMo22NcsKGDvsWj48 +G9OZQx4v973zWxK5B17tPtGph8x3cifU2XWiY0uTNr3lXNe/X3kNszKnC7JjIwID +AQABo4IBHTCCARkwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwRfap9ZbjKzE4wHQYD +VR0OBBYEFAtQ7HfvKpv/7AOhCv+txuQqGMc+MBIGA1UdEwEB/wQIMAYBAf8CAQAw +DgYDVR0PAQH/BAQDAgEGMDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9nLnN5bWNi +LmNvbS9jcmxzL2d0Z2xvYmFsLmNybDAuBggrBgEFBQcBAQQiMCAwHgYIKwYBBQUH +MAGGEmh0dHA6Ly9nLnN5bWNkLmNvbTBMBgNVHSAERTBDMEEGCmCGSAGG+EUBBzYw +MzAxBggrBgEFBQcCARYlaHR0cDovL3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2Vz +L2NwczANBgkqhkiG9w0BAQsFAAOCAQEAMyTVkKopDDW5L8PHQpPAxhBLAwh2hBCi +4OdTEifyCtp/Otz9XHlajxd0Q1Ox1dFdWbmmhGTK8ToKWZYQv6mBV4tch9x/4+S7 +BXqgMgkTThCBKB+cA2K89AG1KYNGB7nnuF3I6dHdrTv4NNvB0ZWpkRjtPCw3EU3M +/lM+UEP5w1ZBrFObbAWymuLgWVcwMrYmThMlzfpIcA91VWAR9TvVXlo8i1sPD2JC +SGGFixD0wYi/f1+KwtfNK5RcHzRKCK/rromoSHVVlR27wJoBufQDIj7U5lIwDWe5 +wJH9LUwwjr2MpQSRu6Srfw/Yb/BmAMmjXPWwj4PmnFrmtrnFvL7kAg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_5[] = { + 0x30, 0x82, 0x04, 0x44, 0x30, 0x82, 0x03, 0x2c, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x78, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, + 0x38, 0x32, 0x39, 0x32, 0x32, 0x32, 0x34, 0x35, 0x38, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x32, 0x32, 0x34, 0x35, 0x38, + 0x5a, 0x30, 0x66, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x14, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x53, 0x53, 0x4c, 0x31, + 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x17, 0x47, 0x65, + 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x44, 0x56, 0x20, 0x53, 0x53, + 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x34, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xdf, 0x41, 0x94, 0x7a, 0xda, 0xf7, + 0xe4, 0x31, 0x43, 0xb6, 0xea, 0x01, 0x1b, 0x5c, 0xce, 0x63, 0xea, 0xfa, + 0x6d, 0xa3, 0xd9, 0x6a, 0xee, 0x2d, 0x9a, 0x75, 0xf9, 0xd5, 0x9c, 0x5b, + 0xbd, 0x34, 0xdf, 0xd8, 0x1c, 0xc9, 0x6d, 0xd8, 0x04, 0x88, 0xda, 0x6e, + 0xb5, 0xb7, 0xb5, 0xf0, 0x30, 0xae, 0x40, 0xd6, 0x5d, 0xfa, 0xc4, 0x53, + 0xc1, 0xd4, 0x22, 0x9d, 0x04, 0x4e, 0x11, 0xa6, 0x95, 0xd5, 0x45, 0x7c, + 0x41, 0x05, 0x58, 0xe0, 0x4c, 0xdd, 0xf9, 0xee, 0x55, 0xbd, 0x5f, 0x46, + 0xdc, 0xad, 0x13, 0x08, 0x9d, 0x2c, 0xe4, 0xf7, 0x82, 0xe6, 0x07, 0x2b, + 0x9e, 0x0e, 0x8c, 0x34, 0xa1, 0xce, 0xc4, 0xa1, 0xe0, 0x81, 0x70, 0x86, + 0x00, 0x06, 0x3f, 0x2d, 0xea, 0x7c, 0x9b, 0x28, 0xae, 0x1b, 0x28, 0x8b, + 0x39, 0x09, 0xd3, 0xe7, 0xf0, 0x45, 0xa4, 0xb1, 0xba, 0x11, 0x67, 0x90, + 0x55, 0x7b, 0x8f, 0xde, 0xed, 0x38, 0x5c, 0xa1, 0xe1, 0xe3, 0x83, 0xc4, + 0xc3, 0x72, 0x91, 0x4f, 0x98, 0xee, 0x1c, 0xc2, 0x80, 0xaa, 0x64, 0xa5, + 0x3e, 0x83, 0x62, 0x1c, 0xcc, 0xe0, 0x9e, 0xf8, 0x5a, 0xc0, 0x13, 0x12, + 0x7d, 0xa2, 0xa7, 0x8b, 0xa3, 0xe7, 0x9f, 0x2a, 0xd7, 0x9b, 0xca, 0xcb, + 0xed, 0x97, 0x01, 0x9c, 0x28, 0x84, 0x51, 0x04, 0x50, 0x41, 0xbc, 0xb4, + 0xfc, 0x78, 0xe9, 0x1b, 0xcf, 0x14, 0xea, 0x1f, 0x0f, 0xfc, 0x2e, 0x01, + 0x32, 0x8d, 0xb6, 0x35, 0xcb, 0x0a, 0x18, 0x3b, 0xec, 0x5a, 0x3e, 0x3c, + 0x1b, 0xd3, 0x99, 0x43, 0x1e, 0x2f, 0xf7, 0xbd, 0xf3, 0x5b, 0x12, 0xb9, + 0x07, 0x5e, 0xed, 0x3e, 0xd1, 0xa9, 0x87, 0xcc, 0x77, 0x72, 0x27, 0xd4, + 0xd9, 0x75, 0xa2, 0x63, 0x4b, 0x93, 0x36, 0xbd, 0xe5, 0x5c, 0xd7, 0xbf, + 0x5f, 0x79, 0x0d, 0xb3, 0x32, 0xa7, 0x0b, 0xb2, 0x63, 0x23, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x1d, 0x30, 0x82, 0x01, 0x19, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, 0x0c, 0x11, + 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x0b, 0x50, 0xec, 0x77, 0xef, + 0x2a, 0x9b, 0xff, 0xec, 0x03, 0xa1, 0x0a, 0xff, 0xad, 0xc6, 0xe4, 0x2a, + 0x18, 0xc7, 0x3e, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x35, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2e, + 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, 0x26, 0x86, 0x24, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x67, 0x74, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x2e, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x22, + 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, + 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4c, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, + 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, 0x36, 0x30, + 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, + 0x33, 0x24, 0xd5, 0x90, 0xaa, 0x29, 0x0c, 0x35, 0xb9, 0x2f, 0xc3, 0xc7, + 0x42, 0x93, 0xc0, 0xc6, 0x10, 0x4b, 0x03, 0x08, 0x76, 0x84, 0x10, 0xa2, + 0xe0, 0xe7, 0x53, 0x12, 0x27, 0xf2, 0x0a, 0xda, 0x7f, 0x3a, 0xdc, 0xfd, + 0x5c, 0x79, 0x5a, 0x8f, 0x17, 0x74, 0x43, 0x53, 0xb1, 0xd5, 0xd1, 0x5d, + 0x59, 0xb9, 0xa6, 0x84, 0x64, 0xca, 0xf1, 0x3a, 0x0a, 0x59, 0x96, 0x10, + 0xbf, 0xa9, 0x81, 0x57, 0x8b, 0x5c, 0x87, 0xdc, 0x7f, 0xe3, 0xe4, 0xbb, + 0x05, 0x7a, 0xa0, 0x32, 0x09, 0x13, 0x4e, 0x10, 0x81, 0x28, 0x1f, 0x9c, + 0x03, 0x62, 0xbc, 0xf4, 0x01, 0xb5, 0x29, 0x83, 0x46, 0x07, 0xb9, 0xe7, + 0xb8, 0x5d, 0xc8, 0xe9, 0xd1, 0xdd, 0xad, 0x3b, 0xf8, 0x34, 0xdb, 0xc1, + 0xd1, 0x95, 0xa9, 0x91, 0x18, 0xed, 0x3c, 0x2c, 0x37, 0x11, 0x4d, 0xcc, + 0xfe, 0x53, 0x3e, 0x50, 0x43, 0xf9, 0xc3, 0x56, 0x41, 0xac, 0x53, 0x9b, + 0x6c, 0x05, 0xb2, 0x9a, 0xe2, 0xe0, 0x59, 0x57, 0x30, 0x32, 0xb6, 0x26, + 0x4e, 0x13, 0x25, 0xcd, 0xfa, 0x48, 0x70, 0x0f, 0x75, 0x55, 0x60, 0x11, + 0xf5, 0x3b, 0xd5, 0x5e, 0x5a, 0x3c, 0x8b, 0x5b, 0x0f, 0x0f, 0x62, 0x42, + 0x48, 0x61, 0x85, 0x8b, 0x10, 0xf4, 0xc1, 0x88, 0xbf, 0x7f, 0x5f, 0x8a, + 0xc2, 0xd7, 0xcd, 0x2b, 0x94, 0x5c, 0x1f, 0x34, 0x4a, 0x08, 0xaf, 0xeb, + 0xae, 0x89, 0xa8, 0x48, 0x75, 0x55, 0x95, 0x1d, 0xbb, 0xc0, 0x9a, 0x01, + 0xb9, 0xf4, 0x03, 0x22, 0x3e, 0xd4, 0xe6, 0x52, 0x30, 0x0d, 0x67, 0xb9, + 0xc0, 0x91, 0xfd, 0x2d, 0x4c, 0x30, 0x8e, 0xbd, 0x8c, 0xa5, 0x04, 0x91, + 0xbb, 0xa4, 0xab, 0x7f, 0x0f, 0xd8, 0x6f, 0xf0, 0x66, 0x00, 0xc9, 0xa3, + 0x5c, 0xf5, 0xb0, 0x8f, 0x83, 0xe6, 0x9c, 0x5a, 0xe6, 0xb6, 0xb9, 0xc5, + 0xbc, 0xbe, 0xe4, 0x02, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 33:65:50:08:79:ad:73:e2:30:b9:e0:1d:0d:7f:ac:91 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com + Validity + Not Before: Nov 17 00:00:00 2006 GMT + Not After : Dec 30 23:59:59 2020 GMT + Subject: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ac:a0:f0:fb:80:59:d4:9c:c7:a4:cf:9d:a1:59: + 73:09:10:45:0c:0d:2c:6e:68:f1:6c:5b:48:68:49: + 59:37:fc:0b:33:19:c2:77:7f:cc:10:2d:95:34:1c: + e6:eb:4d:09:a7:1c:d2:b8:c9:97:36:02:b7:89:d4: + 24:5f:06:c0:cc:44:94:94:8d:02:62:6f:eb:5a:dd: + 11:8d:28:9a:5c:84:90:10:7a:0d:bd:74:66:2f:6a: + 38:a0:e2:d5:54:44:eb:1d:07:9f:07:ba:6f:ee:e9: + fd:4e:0b:29:f5:3e:84:a0:01:f1:9c:ab:f8:1c:7e: + 89:a4:e8:a1:d8:71:65:0d:a3:51:7b:ee:bc:d2:22: + 60:0d:b9:5b:9d:df:ba:fc:51:5b:0b:af:98:b2:e9: + 2e:e9:04:e8:62:87:de:2b:c8:d7:4e:c1:4c:64:1e: + dd:cf:87:58:ba:4a:4f:ca:68:07:1d:1c:9d:4a:c6: + d5:2f:91:cc:7c:71:72:1c:c5:c0:67:eb:32:fd:c9: + 92:5c:94:da:85:c0:9b:bf:53:7d:2b:09:f4:8c:9d: + 91:1f:97:6a:52:cb:de:09:36:a4:77:d8:7b:87:50: + 44:d5:3e:6e:29:69:fb:39:49:26:1e:09:a5:80:7b: + 40:2d:eb:e8:27:85:c9:fe:61:fd:7e:e6:7c:97:1d: + d5:9d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.thawte.com/cps + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.thawte.com/ThawtePremiumServerCA.crl + + Signature Algorithm: sha1WithRSAEncryption + 84:a8:4c:c9:3e:2a:bc:9a:e2:cc:8f:0b:b2:25:77:c4:61:89: + 89:63:5a:d4:a3:15:40:d4:fb:5e:3f:b4:43:ea:63:17:2b:6b: + 99:74:9e:09:a8:dd:d4:56:15:2e:7a:79:31:5f:63:96:53:1b: + 34:d9:15:ea:4f:6d:70:ca:be:f6:82:a9:ed:da:85:77:cc:76: + 1c:6a:81:0a:21:d8:41:99:7f:5e:2e:82:c1:e8:aa:f7:93:81: + 05:aa:92:b4:1f:b7:9a:c0:07:17:f5:cb:c6:b4:4c:0e:d7:56: + dc:71:20:74:38:d6:74:c6:d6:8f:6b:af:8b:8d:a0:6c:29:0b: + 61:e0 +-----BEGIN CERTIFICATE----- +MIIERTCCA66gAwIBAgIQM2VQCHmtc+IwueAdDX+skTANBgkqhkiG9w0BAQUFADCB +zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ +Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE +CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh +d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl +cnZlckB0aGF3dGUuY29tMB4XDTA2MTExNzAwMDAwMFoXDTIwMTIzMDIzNTk1OVow +gakxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAsT +H0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAy +MDA2IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYD +VQQDExZ0aGF3dGUgUHJpbWFyeSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEArKDw+4BZ1JzHpM+doVlzCRBFDA0sbmjxbFtIaElZN/wLMxnC +d3/MEC2VNBzm600JpxzSuMmXNgK3idQkXwbAzESUlI0CYm/rWt0RjSiaXISQEHoN +vXRmL2o4oOLVVETrHQefB7pv7un9Tgsp9T6EoAHxnKv4HH6JpOih2HFlDaNRe+68 +0iJgDblbnd+6/FFbC6+Ysuku6QToYofeK8jXTsFMZB7dz4dYukpPymgHHRydSsbV +L5HMfHFyHMXAZ+sy/cmSXJTahcCbv1N9Kwn0jJ2RH5dqUsveCTakd9h7h1BE1T5u +KWn7OUkmHgmlgHtALevoJ4XJ/mH9fuZ8lx3VnQIDAQABo4HCMIG/MA8GA1UdEwEB +/wQFMAMBAf8wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBz +Oi8vd3d3LnRoYXd0ZS5jb20vY3BzMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +e1tFz6/Oy3r9MZIaarbzRutXSFAwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cDovL2Ny +bC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1TZXJ2ZXJDQS5jcmwwDQYJKoZIhvcN +AQEFBQADgYEAhKhMyT4qvJrizI8LsiV3xGGJiWNa1KMVQNT7Xj+0Q+pjFytrmXSe +Cajd1FYVLnp5MV9jllMbNNkV6k9tcMq+9oKp7dqFd8x2HGqBCiHYQZl/Xi6Cweiq +95OBBaqStB+3msAHF/XLxrRMDtdW3HEgdDjWdMbWj2uvi42gbCkLYeA= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_6[] = { + 0x30, 0x82, 0x04, 0x45, 0x30, 0x82, 0x03, 0xae, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x33, 0x65, 0x50, 0x08, 0x79, 0xad, 0x73, 0xe2, 0x30, + 0xb9, 0xe0, 0x1d, 0x0d, 0x7f, 0xac, 0x91, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xce, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x5a, 0x41, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, + 0x0c, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x43, 0x61, 0x70, + 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x09, + 0x43, 0x61, 0x70, 0x65, 0x20, 0x54, 0x6f, 0x77, 0x6e, 0x31, 0x1d, 0x30, + 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x54, 0x68, 0x61, 0x77, + 0x74, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x63, 0x63, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x1f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x20, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x21, + 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, 0x54, 0x68, 0x61, + 0x77, 0x74, 0x65, 0x20, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x20, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x31, 0x28, 0x30, + 0x26, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, + 0x16, 0x19, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x2d, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x40, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x31, 0x31, + 0x37, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, + 0x31, 0x32, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, + 0x81, 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x1f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, + 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, + 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, + 0x30, 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, + 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xac, 0xa0, 0xf0, 0xfb, 0x80, 0x59, 0xd4, 0x9c, 0xc7, 0xa4, 0xcf, 0x9d, + 0xa1, 0x59, 0x73, 0x09, 0x10, 0x45, 0x0c, 0x0d, 0x2c, 0x6e, 0x68, 0xf1, + 0x6c, 0x5b, 0x48, 0x68, 0x49, 0x59, 0x37, 0xfc, 0x0b, 0x33, 0x19, 0xc2, + 0x77, 0x7f, 0xcc, 0x10, 0x2d, 0x95, 0x34, 0x1c, 0xe6, 0xeb, 0x4d, 0x09, + 0xa7, 0x1c, 0xd2, 0xb8, 0xc9, 0x97, 0x36, 0x02, 0xb7, 0x89, 0xd4, 0x24, + 0x5f, 0x06, 0xc0, 0xcc, 0x44, 0x94, 0x94, 0x8d, 0x02, 0x62, 0x6f, 0xeb, + 0x5a, 0xdd, 0x11, 0x8d, 0x28, 0x9a, 0x5c, 0x84, 0x90, 0x10, 0x7a, 0x0d, + 0xbd, 0x74, 0x66, 0x2f, 0x6a, 0x38, 0xa0, 0xe2, 0xd5, 0x54, 0x44, 0xeb, + 0x1d, 0x07, 0x9f, 0x07, 0xba, 0x6f, 0xee, 0xe9, 0xfd, 0x4e, 0x0b, 0x29, + 0xf5, 0x3e, 0x84, 0xa0, 0x01, 0xf1, 0x9c, 0xab, 0xf8, 0x1c, 0x7e, 0x89, + 0xa4, 0xe8, 0xa1, 0xd8, 0x71, 0x65, 0x0d, 0xa3, 0x51, 0x7b, 0xee, 0xbc, + 0xd2, 0x22, 0x60, 0x0d, 0xb9, 0x5b, 0x9d, 0xdf, 0xba, 0xfc, 0x51, 0x5b, + 0x0b, 0xaf, 0x98, 0xb2, 0xe9, 0x2e, 0xe9, 0x04, 0xe8, 0x62, 0x87, 0xde, + 0x2b, 0xc8, 0xd7, 0x4e, 0xc1, 0x4c, 0x64, 0x1e, 0xdd, 0xcf, 0x87, 0x58, + 0xba, 0x4a, 0x4f, 0xca, 0x68, 0x07, 0x1d, 0x1c, 0x9d, 0x4a, 0xc6, 0xd5, + 0x2f, 0x91, 0xcc, 0x7c, 0x71, 0x72, 0x1c, 0xc5, 0xc0, 0x67, 0xeb, 0x32, + 0xfd, 0xc9, 0x92, 0x5c, 0x94, 0xda, 0x85, 0xc0, 0x9b, 0xbf, 0x53, 0x7d, + 0x2b, 0x09, 0xf4, 0x8c, 0x9d, 0x91, 0x1f, 0x97, 0x6a, 0x52, 0xcb, 0xde, + 0x09, 0x36, 0xa4, 0x77, 0xd8, 0x7b, 0x87, 0x50, 0x44, 0xd5, 0x3e, 0x6e, + 0x29, 0x69, 0xfb, 0x39, 0x49, 0x26, 0x1e, 0x09, 0xa5, 0x80, 0x7b, 0x40, + 0x2d, 0xeb, 0xe8, 0x27, 0x85, 0xc9, 0xfe, 0x61, 0xfd, 0x7e, 0xe6, 0x7c, + 0x97, 0x1d, 0xd5, 0x9d, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xc2, + 0x30, 0x81, 0xbf, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x3b, 0x06, 0x03, + 0x55, 0x1d, 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0x06, 0x04, 0x55, + 0x1d, 0x20, 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x7b, 0x5b, 0x45, 0xcf, 0xaf, 0xce, 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, + 0x6a, 0xb6, 0xf3, 0x46, 0xeb, 0x57, 0x48, 0x50, 0x30, 0x40, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x39, 0x30, 0x37, 0x30, 0x35, 0xa0, 0x33, 0xa0, + 0x31, 0x86, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, 0x72, 0x65, 0x6d, 0x69, + 0x75, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x41, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x84, 0xa8, 0x4c, + 0xc9, 0x3e, 0x2a, 0xbc, 0x9a, 0xe2, 0xcc, 0x8f, 0x0b, 0xb2, 0x25, 0x77, + 0xc4, 0x61, 0x89, 0x89, 0x63, 0x5a, 0xd4, 0xa3, 0x15, 0x40, 0xd4, 0xfb, + 0x5e, 0x3f, 0xb4, 0x43, 0xea, 0x63, 0x17, 0x2b, 0x6b, 0x99, 0x74, 0x9e, + 0x09, 0xa8, 0xdd, 0xd4, 0x56, 0x15, 0x2e, 0x7a, 0x79, 0x31, 0x5f, 0x63, + 0x96, 0x53, 0x1b, 0x34, 0xd9, 0x15, 0xea, 0x4f, 0x6d, 0x70, 0xca, 0xbe, + 0xf6, 0x82, 0xa9, 0xed, 0xda, 0x85, 0x77, 0xcc, 0x76, 0x1c, 0x6a, 0x81, + 0x0a, 0x21, 0xd8, 0x41, 0x99, 0x7f, 0x5e, 0x2e, 0x82, 0xc1, 0xe8, 0xaa, + 0xf7, 0x93, 0x81, 0x05, 0xaa, 0x92, 0xb4, 0x1f, 0xb7, 0x9a, 0xc0, 0x07, + 0x17, 0xf5, 0xcb, 0xc6, 0xb4, 0x4c, 0x0e, 0xd7, 0x56, 0xdc, 0x71, 0x20, + 0x74, 0x38, 0xd6, 0x74, 0xc6, 0xd6, 0x8f, 0x6b, 0xaf, 0x8b, 0x8d, 0xa0, + 0x6c, 0x29, 0x0b, 0x61, 0xe0, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 06:7f:94:57:85:87:e8:ac:77:de:b2:53:32:5b:bc:99:8b:56:0d + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Amazon, CN=Amazon Root CA 1 + Validity + Not Before: Oct 22 00:00:00 2015 GMT + Not After : Oct 19 00:00:00 2025 GMT + Subject: C=US, O=Amazon, OU=Server CA 1B, CN=Amazon + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c2:4e:16:67:dd:ce:bc:6a:c8:37:5a:ec:3a:30: + b0:1d:e6:d1:12:e8:12:28:48:cc:e8:29:c1:b9:6e: + 53:d5:a3:eb:03:39:1a:cc:77:87:f6:01:b9:d9:70: + cc:cf:6b:8d:e3:e3:03:71:86:99:6d:cb:a6:94:2a: + 4e:13:d6:a7:bd:04:ec:0a:16:3c:0a:eb:39:b1:c4: + b5:58:a3:b6:c7:56:25:ec:3e:52:7a:a8:e3:29:16: + 07:b9:6e:50:cf:fb:5f:31:f8:1d:ba:03:4a:62:89: + 03:ae:3e:47:f2:0f:27:91:e3:14:20:85:f8:fa:e9: + 8a:35:f5:5f:9e:99:4d:e7:6b:37:ef:a4:50:3e:44: + ec:fa:5a:85:66:07:9c:7e:17:6a:55:f3:17:8a:35: + 1e:ee:e9:ac:c3:75:4e:58:55:7d:53:6b:0a:6b:9b: + 14:42:d7:e5:ac:01:89:b3:ea:a3:fe:cf:c0:2b:0c: + 84:c2:d8:53:15:cb:67:f0:d0:88:ca:3a:d1:17:73: + f5:5f:9a:d4:c5:72:1e:7e:01:f1:98:30:63:2a:aa: + f2:7a:2d:c5:e2:02:1a:86:e5:32:3e:0e:bd:11:b4: + cf:3c:93:ef:17:50:10:9e:43:c2:06:2a:e0:0d:68: + be:d3:88:8b:4a:65:8c:4a:d4:c3:2e:4c:9b:55:f4: + 86:e5 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 59:A4:66:06:52:A0:7B:95:92:3C:A3:94:07:27:96:74:5B:F9:3D:D0 + X509v3 Authority Key Identifier: + keyid:84:18:CC:85:34:EC:BC:0C:94:94:2E:08:59:9C:C7:B2:10:4E:0A:08 + + Authority Information Access: + OCSP - URI:http://ocsp.rootca1.amazontrust.com + CA Issuers - URI:http://crt.rootca1.amazontrust.com/rootca1.cer + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.rootca1.amazontrust.com/rootca1.crl + + X509v3 Certificate Policies: + Policy: 2.23.140.1.2.1 + + Signature Algorithm: sha256WithRSAEncryption + 85:92:be:35:bb:79:cf:a3:81:42:1c:e4:e3:63:73:53:39:52: + 35:e7:d1:ad:fd:ae:99:8a:ac:89:12:2f:bb:e7:6f:9a:d5:4e: + 72:ea:20:30:61:f9:97:b2:cd:a5:27:02:45:a8:ca:76:3e:98: + 4a:83:9e:b6:e6:45:e0:f2:43:f6:08:de:6d:e8:6e:db:31:07: + 13:f0:2f:31:0d:93:6d:61:37:7b:58:f0:fc:51:98:91:28:02: + 4f:05:76:b7:d3:f0:1b:c2:e6:5e:d0:66:85:11:0f:2e:81:c6: + 10:81:29:fe:20:60:48:f3:f2:f0:84:13:53:65:35:15:11:6b: + 82:51:40:55:57:5f:18:b5:b0:22:3e:ad:f2:5e:a3:01:e3:c3: + b3:f9:cb:41:5a:e6:52:91:bb:e4:36:87:4f:2d:a9:a4:07:68: + 35:ba:94:72:cd:0e:ea:0e:7d:57:f2:79:fc:37:c5:7b:60:9e: + b2:eb:c0:2d:90:77:0d:49:10:27:a5:38:ad:c4:12:a3:b4:a3: + c8:48:b3:15:0b:1e:e2:e2:19:dc:c4:76:52:c8:bc:8a:41:78: + 70:d9:6d:97:b3:4a:8b:78:2d:5e:b4:0f:a3:4c:60:ca:e1:47: + cb:78:2d:12:17:b1:52:8b:ca:39:2c:bd:b5:2f:c2:33:02:96: + ab:da:94:7f +-----BEGIN CERTIFICATE----- +MIIESTCCAzGgAwIBAgITBn+UV4WH6Kx33rJTMlu8mYtWDTANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MTAyMjAwMDAwMFoXDTI1MTAxOTAwMDAwMFowRjEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEVMBMGA1UECxMMU2VydmVyIENB +IDFCMQ8wDQYDVQQDEwZBbWF6b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQDCThZn3c68asg3Wuw6MLAd5tES6BIoSMzoKcG5blPVo+sDORrMd4f2AbnZ +cMzPa43j4wNxhplty6aUKk4T1qe9BOwKFjwK6zmxxLVYo7bHViXsPlJ6qOMpFge5 +blDP+18x+B26A0piiQOuPkfyDyeR4xQghfj66Yo19V+emU3nazfvpFA+ROz6WoVm +B5x+F2pV8xeKNR7u6azDdU5YVX1TawprmxRC1+WsAYmz6qP+z8ArDITC2FMVy2fw +0IjKOtEXc/VfmtTFch5+AfGYMGMqqvJ6LcXiAhqG5TI+Dr0RtM88k+8XUBCeQ8IG +KuANaL7TiItKZYxK1MMuTJtV9IblAgMBAAGjggE7MIIBNzASBgNVHRMBAf8ECDAG +AQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUWaRmBlKge5WSPKOUByeW +dFv5PdAwHwYDVR0jBBgwFoAUhBjMhTTsvAyUlC4IWZzHshBOCggwewYIKwYBBQUH +AQEEbzBtMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5yb290Y2ExLmFtYXpvbnRy +dXN0LmNvbTA6BggrBgEFBQcwAoYuaHR0cDovL2NydC5yb290Y2ExLmFtYXpvbnRy +dXN0LmNvbS9yb290Y2ExLmNlcjA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3Js +LnJvb3RjYTEuYW1hem9udHJ1c3QuY29tL3Jvb3RjYTEuY3JsMBMGA1UdIAQMMAow +CAYGZ4EMAQIBMA0GCSqGSIb3DQEBCwUAA4IBAQCFkr41u3nPo4FCHOTjY3NTOVI1 +59Gt/a6ZiqyJEi+752+a1U5y6iAwYfmXss2lJwJFqMp2PphKg5625kXg8kP2CN5t +6G7bMQcT8C8xDZNtYTd7WPD8UZiRKAJPBXa30/AbwuZe0GaFEQ8ugcYQgSn+IGBI +8/LwhBNTZTUVEWuCUUBVV18YtbAiPq3yXqMB48Oz+ctBWuZSkbvkNodPLamkB2g1 +upRyzQ7qDn1X8nn8N8V7YJ6y68AtkHcNSRAnpTitxBKjtKPISLMVCx7i4hncxHZS +yLyKQXhw2W2Xs0qLeC1etA+jTGDK4UfLeC0SF7FSi8o5LL21L8IzApar2pR/ +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_7[] = { + 0x30, 0x82, 0x04, 0x49, 0x30, 0x82, 0x03, 0x31, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x13, 0x06, 0x7f, 0x94, 0x57, 0x85, 0x87, 0xe8, 0xac, 0x77, + 0xde, 0xb2, 0x53, 0x32, 0x5b, 0xbc, 0x99, 0x8b, 0x56, 0x0d, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x30, 0x39, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x06, 0x41, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x31, 0x19, 0x30, + 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x10, 0x41, 0x6d, 0x61, 0x7a, + 0x6f, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x20, 0x31, + 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x32, 0x32, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x35, 0x31, 0x30, 0x31, + 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x46, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x06, 0x41, 0x6d, + 0x61, 0x7a, 0x6f, 0x6e, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, + 0x20, 0x31, 0x42, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x06, 0x41, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xc2, 0x4e, 0x16, 0x67, 0xdd, 0xce, 0xbc, + 0x6a, 0xc8, 0x37, 0x5a, 0xec, 0x3a, 0x30, 0xb0, 0x1d, 0xe6, 0xd1, 0x12, + 0xe8, 0x12, 0x28, 0x48, 0xcc, 0xe8, 0x29, 0xc1, 0xb9, 0x6e, 0x53, 0xd5, + 0xa3, 0xeb, 0x03, 0x39, 0x1a, 0xcc, 0x77, 0x87, 0xf6, 0x01, 0xb9, 0xd9, + 0x70, 0xcc, 0xcf, 0x6b, 0x8d, 0xe3, 0xe3, 0x03, 0x71, 0x86, 0x99, 0x6d, + 0xcb, 0xa6, 0x94, 0x2a, 0x4e, 0x13, 0xd6, 0xa7, 0xbd, 0x04, 0xec, 0x0a, + 0x16, 0x3c, 0x0a, 0xeb, 0x39, 0xb1, 0xc4, 0xb5, 0x58, 0xa3, 0xb6, 0xc7, + 0x56, 0x25, 0xec, 0x3e, 0x52, 0x7a, 0xa8, 0xe3, 0x29, 0x16, 0x07, 0xb9, + 0x6e, 0x50, 0xcf, 0xfb, 0x5f, 0x31, 0xf8, 0x1d, 0xba, 0x03, 0x4a, 0x62, + 0x89, 0x03, 0xae, 0x3e, 0x47, 0xf2, 0x0f, 0x27, 0x91, 0xe3, 0x14, 0x20, + 0x85, 0xf8, 0xfa, 0xe9, 0x8a, 0x35, 0xf5, 0x5f, 0x9e, 0x99, 0x4d, 0xe7, + 0x6b, 0x37, 0xef, 0xa4, 0x50, 0x3e, 0x44, 0xec, 0xfa, 0x5a, 0x85, 0x66, + 0x07, 0x9c, 0x7e, 0x17, 0x6a, 0x55, 0xf3, 0x17, 0x8a, 0x35, 0x1e, 0xee, + 0xe9, 0xac, 0xc3, 0x75, 0x4e, 0x58, 0x55, 0x7d, 0x53, 0x6b, 0x0a, 0x6b, + 0x9b, 0x14, 0x42, 0xd7, 0xe5, 0xac, 0x01, 0x89, 0xb3, 0xea, 0xa3, 0xfe, + 0xcf, 0xc0, 0x2b, 0x0c, 0x84, 0xc2, 0xd8, 0x53, 0x15, 0xcb, 0x67, 0xf0, + 0xd0, 0x88, 0xca, 0x3a, 0xd1, 0x17, 0x73, 0xf5, 0x5f, 0x9a, 0xd4, 0xc5, + 0x72, 0x1e, 0x7e, 0x01, 0xf1, 0x98, 0x30, 0x63, 0x2a, 0xaa, 0xf2, 0x7a, + 0x2d, 0xc5, 0xe2, 0x02, 0x1a, 0x86, 0xe5, 0x32, 0x3e, 0x0e, 0xbd, 0x11, + 0xb4, 0xcf, 0x3c, 0x93, 0xef, 0x17, 0x50, 0x10, 0x9e, 0x43, 0xc2, 0x06, + 0x2a, 0xe0, 0x0d, 0x68, 0xbe, 0xd3, 0x88, 0x8b, 0x4a, 0x65, 0x8c, 0x4a, + 0xd4, 0xc3, 0x2e, 0x4c, 0x9b, 0x55, 0xf4, 0x86, 0xe5, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x3b, 0x30, 0x82, 0x01, 0x37, 0x30, 0x12, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, + 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x59, 0xa4, 0x66, + 0x06, 0x52, 0xa0, 0x7b, 0x95, 0x92, 0x3c, 0xa3, 0x94, 0x07, 0x27, 0x96, + 0x74, 0x5b, 0xf9, 0x3d, 0xd0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x84, 0x18, 0xcc, 0x85, 0x34, 0xec, + 0xbc, 0x0c, 0x94, 0x94, 0x2e, 0x08, 0x59, 0x9c, 0xc7, 0xb2, 0x10, 0x4e, + 0x0a, 0x08, 0x30, 0x7b, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x01, 0x01, 0x04, 0x6f, 0x30, 0x6d, 0x30, 0x2f, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x23, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x72, 0x6f, 0x6f, 0x74, + 0x63, 0x61, 0x31, 0x2e, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x3a, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x74, 0x2e, 0x72, 0x6f, 0x6f, 0x74, + 0x63, 0x61, 0x31, 0x2e, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, + 0x63, 0x61, 0x31, 0x2e, 0x63, 0x65, 0x72, 0x30, 0x3f, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x38, 0x30, 0x36, 0x30, 0x34, 0xa0, 0x32, 0xa0, 0x30, + 0x86, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, + 0x2e, 0x72, 0x6f, 0x6f, 0x74, 0x63, 0x61, 0x31, 0x2e, 0x61, 0x6d, 0x61, + 0x7a, 0x6f, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x63, 0x61, 0x31, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x0c, 0x30, 0x0a, 0x30, + 0x08, 0x06, 0x06, 0x67, 0x81, 0x0c, 0x01, 0x02, 0x01, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0x85, 0x92, 0xbe, 0x35, 0xbb, 0x79, 0xcf, + 0xa3, 0x81, 0x42, 0x1c, 0xe4, 0xe3, 0x63, 0x73, 0x53, 0x39, 0x52, 0x35, + 0xe7, 0xd1, 0xad, 0xfd, 0xae, 0x99, 0x8a, 0xac, 0x89, 0x12, 0x2f, 0xbb, + 0xe7, 0x6f, 0x9a, 0xd5, 0x4e, 0x72, 0xea, 0x20, 0x30, 0x61, 0xf9, 0x97, + 0xb2, 0xcd, 0xa5, 0x27, 0x02, 0x45, 0xa8, 0xca, 0x76, 0x3e, 0x98, 0x4a, + 0x83, 0x9e, 0xb6, 0xe6, 0x45, 0xe0, 0xf2, 0x43, 0xf6, 0x08, 0xde, 0x6d, + 0xe8, 0x6e, 0xdb, 0x31, 0x07, 0x13, 0xf0, 0x2f, 0x31, 0x0d, 0x93, 0x6d, + 0x61, 0x37, 0x7b, 0x58, 0xf0, 0xfc, 0x51, 0x98, 0x91, 0x28, 0x02, 0x4f, + 0x05, 0x76, 0xb7, 0xd3, 0xf0, 0x1b, 0xc2, 0xe6, 0x5e, 0xd0, 0x66, 0x85, + 0x11, 0x0f, 0x2e, 0x81, 0xc6, 0x10, 0x81, 0x29, 0xfe, 0x20, 0x60, 0x48, + 0xf3, 0xf2, 0xf0, 0x84, 0x13, 0x53, 0x65, 0x35, 0x15, 0x11, 0x6b, 0x82, + 0x51, 0x40, 0x55, 0x57, 0x5f, 0x18, 0xb5, 0xb0, 0x22, 0x3e, 0xad, 0xf2, + 0x5e, 0xa3, 0x01, 0xe3, 0xc3, 0xb3, 0xf9, 0xcb, 0x41, 0x5a, 0xe6, 0x52, + 0x91, 0xbb, 0xe4, 0x36, 0x87, 0x4f, 0x2d, 0xa9, 0xa4, 0x07, 0x68, 0x35, + 0xba, 0x94, 0x72, 0xcd, 0x0e, 0xea, 0x0e, 0x7d, 0x57, 0xf2, 0x79, 0xfc, + 0x37, 0xc5, 0x7b, 0x60, 0x9e, 0xb2, 0xeb, 0xc0, 0x2d, 0x90, 0x77, 0x0d, + 0x49, 0x10, 0x27, 0xa5, 0x38, 0xad, 0xc4, 0x12, 0xa3, 0xb4, 0xa3, 0xc8, + 0x48, 0xb3, 0x15, 0x0b, 0x1e, 0xe2, 0xe2, 0x19, 0xdc, 0xc4, 0x76, 0x52, + 0xc8, 0xbc, 0x8a, 0x41, 0x78, 0x70, 0xd9, 0x6d, 0x97, 0xb3, 0x4a, 0x8b, + 0x78, 0x2d, 0x5e, 0xb4, 0x0f, 0xa3, 0x4c, 0x60, 0xca, 0xe1, 0x47, 0xcb, + 0x78, 0x2d, 0x12, 0x17, 0xb1, 0x52, 0x8b, 0xca, 0x39, 0x2c, 0xbd, 0xb5, + 0x2f, 0xc2, 0x33, 0x02, 0x96, 0xab, 0xda, 0x94, 0x7f, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146033 (0x23a71) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Dec 11 23:45:51 2013 GMT + Not After : May 20 23:45:51 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bb:58:c1:12:01:2e:97:d8:7d:18:aa:c8:c2:e5: + 85:e2:17:6c:60:2e:c9:8d:31:05:39:1a:06:98:56: + dd:54:d7:11:8c:59:5b:3d:b1:54:ae:4b:21:85:32: + 16:5f:54:86:e6:d9:b1:d8:60:89:6b:58:be:72:da: + a0:00:42:76:b1:27:59:4c:cd:e3:ba:d4:5c:d9:a6: + 7f:bb:2b:75:d5:46:44:bd:ec:40:5c:59:b7:dd:59: + 9f:f1:6a:f7:06:fc:d6:2f:19:8a:95:12:ba:9a:ca: + d5:30:d2:38:fc:19:3b:5b:15:3b:36:d0:43:4d:d1: + 65:a1:d4:8b:c1:60:41:b3:d6:70:17:cc:39:c0:9c: + 0c:a0:3d:b7:11:22:4e:ce:d9:a9:7a:d2:2a:62:9c: + a0:0b:4e:2a:d7:c3:61:5a:85:dd:5c:10:b9:54:3d: + 2d:03:f8:49:f0:bc:92:b7:b7:9c:31:c7:e9:b8:aa: + 82:0b:05:b9:31:cd:08:5b:bb:22:0b:f6:9c:8e:8a: + 55:1c:76:43:76:f0:e2:6e:f0:df:a8:29:75:e7:c8: + a4:87:8b:6a:f1:bb:08:c9:36:18:65:ee:50:43:b8: + 5d:72:d5:28:39:e1:53:3e:25:2c:da:2b:4f:dd:8a: + 9e:50:50:e0:6f:9a:c4:d5:19:26:89:01:75:73:09: + 9b:3b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + 97:C2:27:50:9E:C2:C9:EC:0C:88:32:C8:7C:AD:E2:A6:01:4F:DA:6F + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g1.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g2.symcb.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-569 + Signature Algorithm: sha256WithRSAEncryption + 35:eb:e1:8b:20:56:94:ba:7a:bd:79:a9:f6:e3:fe:6e:38:b4: + 32:c1:a3:db:58:56:20:3e:7d:c7:3a:b1:67:69:d5:79:14:1b: + f6:fa:ec:60:f2:79:cd:0a:0c:60:8a:74:4c:a3:93:2a:a0:f0: + 51:7f:cd:e9:f9:92:fd:96:ab:45:f5:62:3d:3f:60:46:50:13: + 3d:20:13:18:2e:94:46:ae:d5:21:fe:43:a1:c9:23:fe:53:c4: + bf:1a:d8:ac:3a:ca:de:66:97:23:ae:d3:df:4a:4d:73:1f:6f: + 31:a2:51:04:16:6a:00:eb:f9:8d:43:81:f0:50:a1:1f:a6:ca: + 3a:f3:28:3c:5f:51:ac:d7:0a:45:77:4b:0e:52:62:1b:d8:38: + 51:a0:92:2d:3f:90:6e:c8:7e:40:9f:20:46:15:5d:e0:50:7c: + e1:76:af:5e:ed:11:d3:2f:13:b9:b8:25:a4:af:58:09:af:35: + b4:62:54:85:e3:48:de:bc:d2:90:7a:7a:a4:84:0d:a3:42:f2: + 51:c0:d4:ad:53:65:5d:6c:f8:3f:1f:06:f2:4f:cb:97:a0:4a: + 59:c6:78:d1:e8:03:b9:85:6d:2c:ba:e1:5f:b6:ad:2b:3e:25: + 79:c5:8b:56:d5:e3:09:80:ea:c1:27:c2:d9:0e:ec:47:0a:e9: + d0:ca:fc:d8 +-----BEGIN CERTIFICATE----- +MIIETTCCAzWgAwIBAgIDAjpxMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTMxMjExMjM0NTUxWhcNMjIwNTIwMjM0NTUxWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSUmFwaWRTU0wg +U0hBMjU2IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1jBEgEu +l9h9GKrIwuWF4hdsYC7JjTEFORoGmFbdVNcRjFlbPbFUrkshhTIWX1SG5tmx2GCJ +a1i+ctqgAEJ2sSdZTM3jutRc2aZ/uyt11UZEvexAXFm33Vmf8Wr3BvzWLxmKlRK6 +msrVMNI4/Bk7WxU7NtBDTdFlodSLwWBBs9ZwF8w5wJwMoD23ESJOztmpetIqYpyg +C04q18NhWoXdXBC5VD0tA/hJ8LySt7ecMcfpuKqCCwW5Mc0IW7siC/acjopVHHZD +dvDibvDfqCl158ikh4tq8bsIyTYYZe5QQ7hdctUoOeFTPiUs2itP3YqeUFDgb5rE +1RkmiQF1cwmbOwIDAQABo4IBSjCCAUYwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwR +fap9ZbjKzE4wHQYDVR0OBBYEFJfCJ1CewsnsDIgyyHyt4qYBT9pvMBIGA1UdEwEB +/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDYGA1UdHwQvMC0wK6ApoCeGJWh0 +dHA6Ly9nMS5zeW1jYi5jb20vY3Jscy9ndGdsb2JhbC5jcmwwLwYIKwYBBQUHAQEE +IzAhMB8GCCsGAQUFBzABhhNodHRwOi8vZzIuc3ltY2IuY29tMEwGA1UdIARFMEMw +QQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3RydXN0 +LmNvbS9yZXNvdXJjZXMvY3BzMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1h +bnRlY1BLSS0xLTU2OTANBgkqhkiG9w0BAQsFAAOCAQEANevhiyBWlLp6vXmp9uP+ +bji0MsGj21hWID59xzqxZ2nVeRQb9vrsYPJ5zQoMYIp0TKOTKqDwUX/N6fmS/Zar +RfViPT9gRlATPSATGC6URq7VIf5Dockj/lPEvxrYrDrK3maXI67T30pNcx9vMaJR +BBZqAOv5jUOB8FChH6bKOvMoPF9RrNcKRXdLDlJiG9g4UaCSLT+Qbsh+QJ8gRhVd +4FB84XavXu0R0y8TubglpK9YCa81tGJUheNI3rzSkHp6pIQNo0LyUcDUrVNlXWz4 +Px8G8k/Ll6BKWcZ40egDuYVtLLrhX7atKz4lecWLVtXjCYDqwSfC2Q7sRwrp0Mr8 +2A== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_8[] = { + 0x30, 0x82, 0x04, 0x4d, 0x30, 0x82, 0x03, 0x35, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x71, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, + 0x32, 0x31, 0x31, 0x32, 0x33, 0x34, 0x35, 0x35, 0x31, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x33, 0x34, 0x35, 0x35, 0x31, + 0x5a, 0x30, 0x42, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x12, 0x52, 0x61, 0x70, 0x69, 0x64, 0x53, 0x53, 0x4c, 0x20, + 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbb, 0x58, 0xc1, 0x12, 0x01, 0x2e, + 0x97, 0xd8, 0x7d, 0x18, 0xaa, 0xc8, 0xc2, 0xe5, 0x85, 0xe2, 0x17, 0x6c, + 0x60, 0x2e, 0xc9, 0x8d, 0x31, 0x05, 0x39, 0x1a, 0x06, 0x98, 0x56, 0xdd, + 0x54, 0xd7, 0x11, 0x8c, 0x59, 0x5b, 0x3d, 0xb1, 0x54, 0xae, 0x4b, 0x21, + 0x85, 0x32, 0x16, 0x5f, 0x54, 0x86, 0xe6, 0xd9, 0xb1, 0xd8, 0x60, 0x89, + 0x6b, 0x58, 0xbe, 0x72, 0xda, 0xa0, 0x00, 0x42, 0x76, 0xb1, 0x27, 0x59, + 0x4c, 0xcd, 0xe3, 0xba, 0xd4, 0x5c, 0xd9, 0xa6, 0x7f, 0xbb, 0x2b, 0x75, + 0xd5, 0x46, 0x44, 0xbd, 0xec, 0x40, 0x5c, 0x59, 0xb7, 0xdd, 0x59, 0x9f, + 0xf1, 0x6a, 0xf7, 0x06, 0xfc, 0xd6, 0x2f, 0x19, 0x8a, 0x95, 0x12, 0xba, + 0x9a, 0xca, 0xd5, 0x30, 0xd2, 0x38, 0xfc, 0x19, 0x3b, 0x5b, 0x15, 0x3b, + 0x36, 0xd0, 0x43, 0x4d, 0xd1, 0x65, 0xa1, 0xd4, 0x8b, 0xc1, 0x60, 0x41, + 0xb3, 0xd6, 0x70, 0x17, 0xcc, 0x39, 0xc0, 0x9c, 0x0c, 0xa0, 0x3d, 0xb7, + 0x11, 0x22, 0x4e, 0xce, 0xd9, 0xa9, 0x7a, 0xd2, 0x2a, 0x62, 0x9c, 0xa0, + 0x0b, 0x4e, 0x2a, 0xd7, 0xc3, 0x61, 0x5a, 0x85, 0xdd, 0x5c, 0x10, 0xb9, + 0x54, 0x3d, 0x2d, 0x03, 0xf8, 0x49, 0xf0, 0xbc, 0x92, 0xb7, 0xb7, 0x9c, + 0x31, 0xc7, 0xe9, 0xb8, 0xaa, 0x82, 0x0b, 0x05, 0xb9, 0x31, 0xcd, 0x08, + 0x5b, 0xbb, 0x22, 0x0b, 0xf6, 0x9c, 0x8e, 0x8a, 0x55, 0x1c, 0x76, 0x43, + 0x76, 0xf0, 0xe2, 0x6e, 0xf0, 0xdf, 0xa8, 0x29, 0x75, 0xe7, 0xc8, 0xa4, + 0x87, 0x8b, 0x6a, 0xf1, 0xbb, 0x08, 0xc9, 0x36, 0x18, 0x65, 0xee, 0x50, + 0x43, 0xb8, 0x5d, 0x72, 0xd5, 0x28, 0x39, 0xe1, 0x53, 0x3e, 0x25, 0x2c, + 0xda, 0x2b, 0x4f, 0xdd, 0x8a, 0x9e, 0x50, 0x50, 0xe0, 0x6f, 0x9a, 0xc4, + 0xd5, 0x19, 0x26, 0x89, 0x01, 0x75, 0x73, 0x09, 0x9b, 0x3b, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x4a, 0x30, 0x82, 0x01, 0x46, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, 0x0c, 0x11, + 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x97, 0xc2, 0x27, 0x50, 0x9e, + 0xc2, 0xc9, 0xec, 0x0c, 0x88, 0x32, 0xc8, 0x7c, 0xad, 0xe2, 0xa6, 0x01, + 0x4f, 0xda, 0x6f, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x36, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2f, + 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0, 0x27, 0x86, 0x25, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x31, 0x2e, 0x73, 0x79, 0x6d, 0x63, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x67, + 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x2f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x23, 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x67, 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, + 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, + 0x36, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x29, 0x06, 0x03, 0x55, 0x1d, + 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, 0x30, + 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, 0x6d, 0x61, + 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, 0x35, 0x36, + 0x39, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x35, 0xeb, 0xe1, + 0x8b, 0x20, 0x56, 0x94, 0xba, 0x7a, 0xbd, 0x79, 0xa9, 0xf6, 0xe3, 0xfe, + 0x6e, 0x38, 0xb4, 0x32, 0xc1, 0xa3, 0xdb, 0x58, 0x56, 0x20, 0x3e, 0x7d, + 0xc7, 0x3a, 0xb1, 0x67, 0x69, 0xd5, 0x79, 0x14, 0x1b, 0xf6, 0xfa, 0xec, + 0x60, 0xf2, 0x79, 0xcd, 0x0a, 0x0c, 0x60, 0x8a, 0x74, 0x4c, 0xa3, 0x93, + 0x2a, 0xa0, 0xf0, 0x51, 0x7f, 0xcd, 0xe9, 0xf9, 0x92, 0xfd, 0x96, 0xab, + 0x45, 0xf5, 0x62, 0x3d, 0x3f, 0x60, 0x46, 0x50, 0x13, 0x3d, 0x20, 0x13, + 0x18, 0x2e, 0x94, 0x46, 0xae, 0xd5, 0x21, 0xfe, 0x43, 0xa1, 0xc9, 0x23, + 0xfe, 0x53, 0xc4, 0xbf, 0x1a, 0xd8, 0xac, 0x3a, 0xca, 0xde, 0x66, 0x97, + 0x23, 0xae, 0xd3, 0xdf, 0x4a, 0x4d, 0x73, 0x1f, 0x6f, 0x31, 0xa2, 0x51, + 0x04, 0x16, 0x6a, 0x00, 0xeb, 0xf9, 0x8d, 0x43, 0x81, 0xf0, 0x50, 0xa1, + 0x1f, 0xa6, 0xca, 0x3a, 0xf3, 0x28, 0x3c, 0x5f, 0x51, 0xac, 0xd7, 0x0a, + 0x45, 0x77, 0x4b, 0x0e, 0x52, 0x62, 0x1b, 0xd8, 0x38, 0x51, 0xa0, 0x92, + 0x2d, 0x3f, 0x90, 0x6e, 0xc8, 0x7e, 0x40, 0x9f, 0x20, 0x46, 0x15, 0x5d, + 0xe0, 0x50, 0x7c, 0xe1, 0x76, 0xaf, 0x5e, 0xed, 0x11, 0xd3, 0x2f, 0x13, + 0xb9, 0xb8, 0x25, 0xa4, 0xaf, 0x58, 0x09, 0xaf, 0x35, 0xb4, 0x62, 0x54, + 0x85, 0xe3, 0x48, 0xde, 0xbc, 0xd2, 0x90, 0x7a, 0x7a, 0xa4, 0x84, 0x0d, + 0xa3, 0x42, 0xf2, 0x51, 0xc0, 0xd4, 0xad, 0x53, 0x65, 0x5d, 0x6c, 0xf8, + 0x3f, 0x1f, 0x06, 0xf2, 0x4f, 0xcb, 0x97, 0xa0, 0x4a, 0x59, 0xc6, 0x78, + 0xd1, 0xe8, 0x03, 0xb9, 0x85, 0x6d, 0x2c, 0xba, 0xe1, 0x5f, 0xb6, 0xad, + 0x2b, 0x3e, 0x25, 0x79, 0xc5, 0x8b, 0x56, 0xd5, 0xe3, 0x09, 0x80, 0xea, + 0xc1, 0x27, 0xc2, 0xd9, 0x0e, 0xec, 0x47, 0x0a, 0xe9, 0xd0, 0xca, 0xfc, + 0xd8, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 04:00:00:00:00:01:44:4e:f0:36:31 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA + Validity + Not Before: Feb 20 10:00:00 2014 GMT + Not After : Feb 20 10:00:00 2024 GMT + Subject: C=BE, O=GlobalSign nv-sa, CN=AlphaSSL CA - SHA256 - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:da:01:ec:e4:ec:73:60:fb:7e:8f:6a:b7:c6:17: + e3:92:64:32:d4:ac:00:d9:a2:0f:b9:ed:ee:6b:8a: + 86:ca:92:67:d9:74:d7:5d:47:02:3c:8f:40:d6:9e: + 6d:14:cd:c3:da:29:39:a7:0f:05:0a:68:a2:66:1a: + 1e:c4:b2:8b:76:58:e5:ab:5d:1d:8f:40:b3:39:8b: + ef:1e:83:7d:22:d0:e3:a9:00:2e:ec:53:cf:62:19: + 85:44:28:4c:c0:27:cb:7b:0e:ec:10:64:00:10:a4: + 05:cc:a0:72:be:41:6c:31:5b:48:e4:b1:ec:b9:23: + eb:55:4d:d0:7d:62:4a:a5:b4:a5:a4:59:85:c5:25: + 91:a6:fe:a6:09:9f:06:10:6d:8f:81:0c:64:40:5e: + 73:00:9a:e0:2e:65:98:54:10:00:70:98:c8:e1:ed: + 34:5f:d8:9c:c7:0d:c0:d6:23:59:45:fc:fe:55:7a: + 86:ee:94:60:22:f1:ae:d1:e6:55:46:f6:99:c5:1b: + 08:74:5f:ac:b0:64:84:8f:89:38:1c:a1:a7:90:21: + 4f:02:6e:bd:e0:61:67:d4:f8:42:87:0f:0a:f7:c9: + 04:6d:2a:a9:2f:ef:42:a5:df:dd:a3:53:db:98:1e: + 81:f9:9a:72:7b:5a:de:4f:3e:7f:a2:58:a0:e2:17: + ad:67 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Subject Key Identifier: + F5:CD:D5:3C:08:50:F9:6A:4F:3A:B7:97:DA:56:83:E6:69:D2:68:F7 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.alphassl.com/repository/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.globalsign.net/root.crl + + Authority Information Access: + OCSP - URI:http://ocsp.globalsign.com/rootr1 + + X509v3 Authority Key Identifier: + keyid:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B + + Signature Algorithm: sha256WithRSAEncryption + 60:40:68:16:47:e7:16:8d:db:5c:a1:56:2a:cb:f4:5c:9b:b0: + 1e:a2:4b:f5:cb:02:3f:f8:0b:a1:f2:a7:42:d4:b7:4c:eb:e3: + 66:80:f3:25:43:78:2e:1b:17:56:07:52:18:cb:d1:a8:ec:e6: + fb:73:3e:a4:62:8c:80:b4:d2:c5:12:73:a3:d3:fa:02:38:be: + 63:3d:84:b8:99:c1:f1:ba:f7:9f:c3:40:d1:58:18:53:c1:62: + dd:af:18:42:7f:34:4e:c5:43:d5:71:b0:30:00:c7:e3:90:ae: + 3f:57:86:97:ce:ea:0c:12:8e:22:70:e3:66:a7:54:7f:2e:28: + cb:d4:54:d0:b3:1e:62:67:08:f9:27:e1:cb:e3:66:b8:24:1b: + 89:6a:89:44:65:f2:d9:4c:d2:58:1c:8c:4e:c0:95:a1:d4:ef: + 67:2f:38:20:e8:2e:ff:96:51:f0:ba:d8:3d:92:70:47:65:1c: + 9e:73:72:b4:60:0c:5c:e2:d1:73:76:e0:af:4e:e2:e5:37:a5: + 45:2f:8a:23:3e:87:c7:30:e6:31:38:7c:f4:dd:52:ca:f3:53: + 04:25:57:56:66:94:e8:0b:ee:e6:03:14:4e:ee:fd:6d:94:64: + 9e:5e:ce:79:d4:b2:a6:cf:40:b1:44:a8:3e:87:19:5e:e9:f8: + 21:16:59:53 +-----BEGIN CERTIFICATE----- +MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEwDQYJKoZIhvcNAQELBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw +MDBaFw0yNDAyMjAxMDAwMDBaMEwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMSIwIAYDVQQDExlBbHBoYVNTTCBDQSAtIFNIQTI1NiAtIEcy +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gHs5OxzYPt+j2q3xhfj +kmQy1KwA2aIPue3ua4qGypJn2XTXXUcCPI9A1p5tFM3D2ik5pw8FCmiiZhoexLKL +dljlq10dj0CzOYvvHoN9ItDjqQAu7FPPYhmFRChMwCfLew7sEGQAEKQFzKByvkFs +MVtI5LHsuSPrVU3QfWJKpbSlpFmFxSWRpv6mCZ8GEG2PgQxkQF5zAJrgLmWYVBAA +cJjI4e00X9icxw3A1iNZRfz+VXqG7pRgIvGu0eZVRvaZxRsIdF+ssGSEj4k4HKGn +kCFPAm694GFn1PhChw8K98kEbSqpL+9Cpd/do1PbmB6B+Zpye1reTz5/olig4het +ZwIDAQABo4IBIzCCAR8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C +AQAwHQYDVR0OBBYEFPXN1TwIUPlqTzq3l9pWg+Zp0mj3MEUGA1UdIAQ+MDwwOgYE +VR0gADAyMDAGCCsGAQUFBwIBFiRodHRwczovL3d3dy5hbHBoYXNzbC5jb20vcmVw +b3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWdu +Lm5ldC9yb290LmNybDA9BggrBgEFBQcBAQQxMC8wLQYIKwYBBQUHMAGGIWh0dHA6 +Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMTAfBgNVHSMEGDAWgBRge2YaRQ2X +yolQL30EzTSo//z9SzANBgkqhkiG9w0BAQsFAAOCAQEAYEBoFkfnFo3bXKFWKsv0 +XJuwHqJL9csCP/gLofKnQtS3TOvjZoDzJUN4LhsXVgdSGMvRqOzm+3M+pGKMgLTS +xRJzo9P6Aji+Yz2EuJnB8br3n8NA0VgYU8Fi3a8YQn80TsVD1XGwMADH45CuP1eG +l87qDBKOInDjZqdUfy4oy9RU0LMeYmcI+Sfhy+NmuCQbiWqJRGXy2UzSWByMTsCV +odTvZy84IOgu/5ZR8LrYPZJwR2UcnnNytGAMXOLRc3bgr07i5TelRS+KIz6HxzDm +MTh89N1SyvNTBCVXVmaU6Avu5gMUTu79bZRknl7OedSyps9AsUSoPocZXun4IRZZ +Uw== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_9[] = { + 0x30, 0x82, 0x04, 0x4d, 0x30, 0x82, 0x03, 0x35, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x4e, 0xf0, + 0x36, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x57, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, 0x17, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x07, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x41, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, + 0x67, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, + 0x17, 0x0d, 0x31, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x4c, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, + 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, + 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, 0x41, + 0x6c, 0x70, 0x68, 0x61, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, + 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x2d, 0x20, 0x47, 0x32, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xda, 0x01, 0xec, + 0xe4, 0xec, 0x73, 0x60, 0xfb, 0x7e, 0x8f, 0x6a, 0xb7, 0xc6, 0x17, 0xe3, + 0x92, 0x64, 0x32, 0xd4, 0xac, 0x00, 0xd9, 0xa2, 0x0f, 0xb9, 0xed, 0xee, + 0x6b, 0x8a, 0x86, 0xca, 0x92, 0x67, 0xd9, 0x74, 0xd7, 0x5d, 0x47, 0x02, + 0x3c, 0x8f, 0x40, 0xd6, 0x9e, 0x6d, 0x14, 0xcd, 0xc3, 0xda, 0x29, 0x39, + 0xa7, 0x0f, 0x05, 0x0a, 0x68, 0xa2, 0x66, 0x1a, 0x1e, 0xc4, 0xb2, 0x8b, + 0x76, 0x58, 0xe5, 0xab, 0x5d, 0x1d, 0x8f, 0x40, 0xb3, 0x39, 0x8b, 0xef, + 0x1e, 0x83, 0x7d, 0x22, 0xd0, 0xe3, 0xa9, 0x00, 0x2e, 0xec, 0x53, 0xcf, + 0x62, 0x19, 0x85, 0x44, 0x28, 0x4c, 0xc0, 0x27, 0xcb, 0x7b, 0x0e, 0xec, + 0x10, 0x64, 0x00, 0x10, 0xa4, 0x05, 0xcc, 0xa0, 0x72, 0xbe, 0x41, 0x6c, + 0x31, 0x5b, 0x48, 0xe4, 0xb1, 0xec, 0xb9, 0x23, 0xeb, 0x55, 0x4d, 0xd0, + 0x7d, 0x62, 0x4a, 0xa5, 0xb4, 0xa5, 0xa4, 0x59, 0x85, 0xc5, 0x25, 0x91, + 0xa6, 0xfe, 0xa6, 0x09, 0x9f, 0x06, 0x10, 0x6d, 0x8f, 0x81, 0x0c, 0x64, + 0x40, 0x5e, 0x73, 0x00, 0x9a, 0xe0, 0x2e, 0x65, 0x98, 0x54, 0x10, 0x00, + 0x70, 0x98, 0xc8, 0xe1, 0xed, 0x34, 0x5f, 0xd8, 0x9c, 0xc7, 0x0d, 0xc0, + 0xd6, 0x23, 0x59, 0x45, 0xfc, 0xfe, 0x55, 0x7a, 0x86, 0xee, 0x94, 0x60, + 0x22, 0xf1, 0xae, 0xd1, 0xe6, 0x55, 0x46, 0xf6, 0x99, 0xc5, 0x1b, 0x08, + 0x74, 0x5f, 0xac, 0xb0, 0x64, 0x84, 0x8f, 0x89, 0x38, 0x1c, 0xa1, 0xa7, + 0x90, 0x21, 0x4f, 0x02, 0x6e, 0xbd, 0xe0, 0x61, 0x67, 0xd4, 0xf8, 0x42, + 0x87, 0x0f, 0x0a, 0xf7, 0xc9, 0x04, 0x6d, 0x2a, 0xa9, 0x2f, 0xef, 0x42, + 0xa5, 0xdf, 0xdd, 0xa3, 0x53, 0xdb, 0x98, 0x1e, 0x81, 0xf9, 0x9a, 0x72, + 0x7b, 0x5a, 0xde, 0x4f, 0x3e, 0x7f, 0xa2, 0x58, 0xa0, 0xe2, 0x17, 0xad, + 0x67, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x23, 0x30, 0x82, + 0x01, 0x1f, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0xf5, 0xcd, 0xd5, 0x3c, 0x08, 0x50, 0xf9, 0x6a, 0x4f, 0x3a, 0xb7, + 0x97, 0xda, 0x56, 0x83, 0xe6, 0x69, 0xd2, 0x68, 0xf7, 0x30, 0x45, 0x06, + 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3e, 0x30, 0x3c, 0x30, 0x3a, 0x06, 0x04, + 0x55, 0x1d, 0x20, 0x00, 0x30, 0x32, 0x30, 0x30, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x24, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x30, 0x33, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x2c, 0x30, 0x2a, 0x30, 0x28, 0xa0, 0x26, 0xa0, + 0x24, 0x86, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, + 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, + 0x6c, 0x30, 0x3d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, + 0x01, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, + 0x6f, 0x74, 0x72, 0x31, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0x60, 0x7b, 0x66, 0x1a, 0x45, 0x0d, 0x97, + 0xca, 0x89, 0x50, 0x2f, 0x7d, 0x04, 0xcd, 0x34, 0xa8, 0xff, 0xfc, 0xfd, + 0x4b, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x60, 0x40, 0x68, + 0x16, 0x47, 0xe7, 0x16, 0x8d, 0xdb, 0x5c, 0xa1, 0x56, 0x2a, 0xcb, 0xf4, + 0x5c, 0x9b, 0xb0, 0x1e, 0xa2, 0x4b, 0xf5, 0xcb, 0x02, 0x3f, 0xf8, 0x0b, + 0xa1, 0xf2, 0xa7, 0x42, 0xd4, 0xb7, 0x4c, 0xeb, 0xe3, 0x66, 0x80, 0xf3, + 0x25, 0x43, 0x78, 0x2e, 0x1b, 0x17, 0x56, 0x07, 0x52, 0x18, 0xcb, 0xd1, + 0xa8, 0xec, 0xe6, 0xfb, 0x73, 0x3e, 0xa4, 0x62, 0x8c, 0x80, 0xb4, 0xd2, + 0xc5, 0x12, 0x73, 0xa3, 0xd3, 0xfa, 0x02, 0x38, 0xbe, 0x63, 0x3d, 0x84, + 0xb8, 0x99, 0xc1, 0xf1, 0xba, 0xf7, 0x9f, 0xc3, 0x40, 0xd1, 0x58, 0x18, + 0x53, 0xc1, 0x62, 0xdd, 0xaf, 0x18, 0x42, 0x7f, 0x34, 0x4e, 0xc5, 0x43, + 0xd5, 0x71, 0xb0, 0x30, 0x00, 0xc7, 0xe3, 0x90, 0xae, 0x3f, 0x57, 0x86, + 0x97, 0xce, 0xea, 0x0c, 0x12, 0x8e, 0x22, 0x70, 0xe3, 0x66, 0xa7, 0x54, + 0x7f, 0x2e, 0x28, 0xcb, 0xd4, 0x54, 0xd0, 0xb3, 0x1e, 0x62, 0x67, 0x08, + 0xf9, 0x27, 0xe1, 0xcb, 0xe3, 0x66, 0xb8, 0x24, 0x1b, 0x89, 0x6a, 0x89, + 0x44, 0x65, 0xf2, 0xd9, 0x4c, 0xd2, 0x58, 0x1c, 0x8c, 0x4e, 0xc0, 0x95, + 0xa1, 0xd4, 0xef, 0x67, 0x2f, 0x38, 0x20, 0xe8, 0x2e, 0xff, 0x96, 0x51, + 0xf0, 0xba, 0xd8, 0x3d, 0x92, 0x70, 0x47, 0x65, 0x1c, 0x9e, 0x73, 0x72, + 0xb4, 0x60, 0x0c, 0x5c, 0xe2, 0xd1, 0x73, 0x76, 0xe0, 0xaf, 0x4e, 0xe2, + 0xe5, 0x37, 0xa5, 0x45, 0x2f, 0x8a, 0x23, 0x3e, 0x87, 0xc7, 0x30, 0xe6, + 0x31, 0x38, 0x7c, 0xf4, 0xdd, 0x52, 0xca, 0xf3, 0x53, 0x04, 0x25, 0x57, + 0x56, 0x66, 0x94, 0xe8, 0x0b, 0xee, 0xe6, 0x03, 0x14, 0x4e, 0xee, 0xfd, + 0x6d, 0x94, 0x64, 0x9e, 0x5e, 0xce, 0x79, 0xd4, 0xb2, 0xa6, 0xcf, 0x40, + 0xb1, 0x44, 0xa8, 0x3e, 0x87, 0x19, 0x5e, 0xe9, 0xf8, 0x21, 0x16, 0x59, + 0x53, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146031 (0x23a6f) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Nov 5 21:36:50 2013 GMT + Not After : May 20 21:36:50 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust SSL CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:e3:be:7e:0a:86:a3:cf:6b:6d:3d:2b:a1:97:ad: + 49:24:4d:d7:77:b9:34:79:08:a5:9e:a2:9e:de:47: + 12:92:3d:7e:ea:19:86:b1:e8:4f:3d:5f:f7:d0:a7: + 77:9a:5b:1f:0a:03:b5:19:53:db:a5:21:94:69:63: + 9d:6a:4c:91:0c:10:47:be:11:fa:6c:86:25:b7:ab: + 04:68:42:38:09:65:f0:14:da:19:9e:fa:6b:0b:ab: + 62:ef:8d:a7:ef:63:70:23:a8:af:81:f3:d1:6e:88: + 67:53:ec:12:a4:29:75:8a:a7:f2:57:3d:a2:83:98: + 97:f2:0a:7d:d4:e7:43:6e:30:78:62:22:59:59:b8: + 71:27:45:aa:0f:66:c6:55:3f:fa:32:17:2b:31:8f: + 46:a0:fa:69:14:7c:9d:9f:5a:e2:eb:33:4e:10:a6: + b3:ed:77:63:d8:c3:9e:f4:dd:df:79:9a:7a:d4:ee: + de:dd:9a:cc:c3:b7:a9:5d:cc:11:3a:07:bb:6f:97: + a4:01:23:47:95:1f:a3:77:fa:58:92:c6:c7:d0:bd: + cf:93:18:42:b7:7e:f7:9e:65:ea:d5:3b:ca:ed:ac: + c5:70:a1:fe:d4:10:9a:f0:12:04:44:ac:1a:5b:78: + 50:45:57:4c:6f:bd:80:cb:81:5c:2d:b3:bc:76:a1: + 1e:65 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + D2:6F:F7:96:F4:85:3F:72:3C:30:7D:23:DA:85:78:9B:A3:7C:5A:7C + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g1.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g2.symcb.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-539 + Signature Algorithm: sha256WithRSAEncryption + a0:d4:f7:2c:fb:74:0b:7f:64:f1:cd:43:6a:9f:62:53:1c:02: + 7c:98:90:a2:ee:4f:68:d4:20:1a:73:12:3e:77:b3:50:eb:72: + bc:ee:88:be:7f:17:ea:77:8f:83:61:95:4f:84:a1:cb:32:4f: + 6c:21:be:d2:69:96:7d:63:bd:dc:2b:a8:1f:d0:13:84:70:fe: + f6:35:95:89:f9:a6:77:b0:46:c8:bb:b7:13:f5:c9:60:69:d6: + 4c:fe:d2:8e:ef:d3:60:c1:80:80:e1:e7:fb:8b:6f:21:79:4a: + e0:dc:a9:1b:c1:b7:fb:c3:49:59:5c:b5:77:07:44:d4:97:fc: + 49:00:89:6f:06:4e:01:70:19:ac:2f:11:c0:e2:e6:0f:2f:86: + 4b:8d:7b:c3:b9:a7:2e:f4:f1:ac:16:3e:39:49:51:9e:17:4b: + 4f:10:3a:5b:a5:a8:92:6f:fd:fa:d6:0b:03:4d:47:56:57:19: + f3:cb:6b:f5:f3:d6:cf:b0:f5:f5:a3:11:d2:20:53:13:34:37: + 05:2c:43:5a:63:df:8d:40:d6:85:1e:51:e9:51:17:1e:03:56: + c9:f1:30:ad:e7:9b:11:a2:b9:d0:31:81:9b:68:b1:d9:e8:f3: + e6:94:7e:c7:ae:13:2f:87:ed:d0:25:b0:68:f9:de:08:5a:f3: + 29:cc:d4:92 +-----BEGIN CERTIFICATE----- +MIIETzCCAzegAwIBAgIDAjpvMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTMxMTA1MjEzNjUwWhcNMjIwNTIwMjEzNjUwWjBEMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg +U1NMIENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDjvn4K +hqPPa209K6GXrUkkTdd3uTR5CKWeop7eRxKSPX7qGYax6E89X/fQp3eaWx8KA7UZ +U9ulIZRpY51qTJEMEEe+EfpshiW3qwRoQjgJZfAU2hme+msLq2LvjafvY3AjqK+B +89FuiGdT7BKkKXWKp/JXPaKDmJfyCn3U50NuMHhiIllZuHEnRaoPZsZVP/oyFysx +j0ag+mkUfJ2fWuLrM04QprPtd2PYw5703d95mnrU7t7dmszDt6ldzBE6B7tvl6QB +I0eVH6N3+liSxsfQvc+TGEK3fveeZerVO8rtrMVwof7UEJrwEgRErBpbeFBFV0xv +vYDLgVwts7x2oR5lAgMBAAGjggFKMIIBRjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjAdBgNVHQ4EFgQU0m/3lvSFP3I8MH0j2oV4m6N8WnwwEgYDVR0T +AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNgYDVR0fBC8wLTAroCmgJ4Yl +aHR0cDovL2cxLnN5bWNiLmNvbS9jcmxzL2d0Z2xvYmFsLmNybDAvBggrBgEFBQcB +AQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9nMi5zeW1jYi5jb20wTAYDVR0gBEUw +QzBBBgpghkgBhvhFAQc2MDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuZ2VvdHJ1 +c3QuY29tL3Jlc291cmNlcy9jcHMwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5 +bWFudGVjUEtJLTEtNTM5MA0GCSqGSIb3DQEBCwUAA4IBAQCg1Pcs+3QLf2TxzUNq +n2JTHAJ8mJCi7k9o1CAacxI+d7NQ63K87oi+fxfqd4+DYZVPhKHLMk9sIb7SaZZ9 +Y73cK6gf0BOEcP72NZWJ+aZ3sEbIu7cT9clgadZM/tKO79NgwYCA4ef7i28heUrg +3Kkbwbf7w0lZXLV3B0TUl/xJAIlvBk4BcBmsLxHA4uYPL4ZLjXvDuacu9PGsFj45 +SVGeF0tPEDpbpaiSb/361gsDTUdWVxnzy2v189bPsPX1oxHSIFMTNDcFLENaY9+N +QNaFHlHpURceA1bJ8TCt55sRornQMYGbaLHZ6PPmlH7HrhMvh+3QJbBo+d4IWvMp +zNSS +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_10[] = { + 0x30, 0x82, 0x04, 0x4f, 0x30, 0x82, 0x03, 0x37, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x6f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, + 0x31, 0x30, 0x35, 0x32, 0x31, 0x33, 0x36, 0x35, 0x30, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x31, 0x33, 0x36, 0x35, 0x30, + 0x5a, 0x30, 0x44, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x14, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe3, 0xbe, 0x7e, 0x0a, + 0x86, 0xa3, 0xcf, 0x6b, 0x6d, 0x3d, 0x2b, 0xa1, 0x97, 0xad, 0x49, 0x24, + 0x4d, 0xd7, 0x77, 0xb9, 0x34, 0x79, 0x08, 0xa5, 0x9e, 0xa2, 0x9e, 0xde, + 0x47, 0x12, 0x92, 0x3d, 0x7e, 0xea, 0x19, 0x86, 0xb1, 0xe8, 0x4f, 0x3d, + 0x5f, 0xf7, 0xd0, 0xa7, 0x77, 0x9a, 0x5b, 0x1f, 0x0a, 0x03, 0xb5, 0x19, + 0x53, 0xdb, 0xa5, 0x21, 0x94, 0x69, 0x63, 0x9d, 0x6a, 0x4c, 0x91, 0x0c, + 0x10, 0x47, 0xbe, 0x11, 0xfa, 0x6c, 0x86, 0x25, 0xb7, 0xab, 0x04, 0x68, + 0x42, 0x38, 0x09, 0x65, 0xf0, 0x14, 0xda, 0x19, 0x9e, 0xfa, 0x6b, 0x0b, + 0xab, 0x62, 0xef, 0x8d, 0xa7, 0xef, 0x63, 0x70, 0x23, 0xa8, 0xaf, 0x81, + 0xf3, 0xd1, 0x6e, 0x88, 0x67, 0x53, 0xec, 0x12, 0xa4, 0x29, 0x75, 0x8a, + 0xa7, 0xf2, 0x57, 0x3d, 0xa2, 0x83, 0x98, 0x97, 0xf2, 0x0a, 0x7d, 0xd4, + 0xe7, 0x43, 0x6e, 0x30, 0x78, 0x62, 0x22, 0x59, 0x59, 0xb8, 0x71, 0x27, + 0x45, 0xaa, 0x0f, 0x66, 0xc6, 0x55, 0x3f, 0xfa, 0x32, 0x17, 0x2b, 0x31, + 0x8f, 0x46, 0xa0, 0xfa, 0x69, 0x14, 0x7c, 0x9d, 0x9f, 0x5a, 0xe2, 0xeb, + 0x33, 0x4e, 0x10, 0xa6, 0xb3, 0xed, 0x77, 0x63, 0xd8, 0xc3, 0x9e, 0xf4, + 0xdd, 0xdf, 0x79, 0x9a, 0x7a, 0xd4, 0xee, 0xde, 0xdd, 0x9a, 0xcc, 0xc3, + 0xb7, 0xa9, 0x5d, 0xcc, 0x11, 0x3a, 0x07, 0xbb, 0x6f, 0x97, 0xa4, 0x01, + 0x23, 0x47, 0x95, 0x1f, 0xa3, 0x77, 0xfa, 0x58, 0x92, 0xc6, 0xc7, 0xd0, + 0xbd, 0xcf, 0x93, 0x18, 0x42, 0xb7, 0x7e, 0xf7, 0x9e, 0x65, 0xea, 0xd5, + 0x3b, 0xca, 0xed, 0xac, 0xc5, 0x70, 0xa1, 0xfe, 0xd4, 0x10, 0x9a, 0xf0, + 0x12, 0x04, 0x44, 0xac, 0x1a, 0x5b, 0x78, 0x50, 0x45, 0x57, 0x4c, 0x6f, + 0xbd, 0x80, 0xcb, 0x81, 0x5c, 0x2d, 0xb3, 0xbc, 0x76, 0xa1, 0x1e, 0x65, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x4a, 0x30, 0x82, 0x01, + 0x46, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, + 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd2, 0x6f, 0xf7, + 0x96, 0xf4, 0x85, 0x3f, 0x72, 0x3c, 0x30, 0x7d, 0x23, 0xda, 0x85, 0x78, + 0x9b, 0xa3, 0x7c, 0x5a, 0x7c, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x36, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0, 0x27, 0x86, 0x25, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x31, 0x2e, 0x73, 0x79, + 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, + 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x72, + 0x6c, 0x30, 0x2f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, + 0x01, 0x04, 0x23, 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x67, 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, + 0x43, 0x30, 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, + 0x01, 0x07, 0x36, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x29, 0x06, 0x03, + 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, + 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, + 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, + 0x35, 0x33, 0x39, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa0, + 0xd4, 0xf7, 0x2c, 0xfb, 0x74, 0x0b, 0x7f, 0x64, 0xf1, 0xcd, 0x43, 0x6a, + 0x9f, 0x62, 0x53, 0x1c, 0x02, 0x7c, 0x98, 0x90, 0xa2, 0xee, 0x4f, 0x68, + 0xd4, 0x20, 0x1a, 0x73, 0x12, 0x3e, 0x77, 0xb3, 0x50, 0xeb, 0x72, 0xbc, + 0xee, 0x88, 0xbe, 0x7f, 0x17, 0xea, 0x77, 0x8f, 0x83, 0x61, 0x95, 0x4f, + 0x84, 0xa1, 0xcb, 0x32, 0x4f, 0x6c, 0x21, 0xbe, 0xd2, 0x69, 0x96, 0x7d, + 0x63, 0xbd, 0xdc, 0x2b, 0xa8, 0x1f, 0xd0, 0x13, 0x84, 0x70, 0xfe, 0xf6, + 0x35, 0x95, 0x89, 0xf9, 0xa6, 0x77, 0xb0, 0x46, 0xc8, 0xbb, 0xb7, 0x13, + 0xf5, 0xc9, 0x60, 0x69, 0xd6, 0x4c, 0xfe, 0xd2, 0x8e, 0xef, 0xd3, 0x60, + 0xc1, 0x80, 0x80, 0xe1, 0xe7, 0xfb, 0x8b, 0x6f, 0x21, 0x79, 0x4a, 0xe0, + 0xdc, 0xa9, 0x1b, 0xc1, 0xb7, 0xfb, 0xc3, 0x49, 0x59, 0x5c, 0xb5, 0x77, + 0x07, 0x44, 0xd4, 0x97, 0xfc, 0x49, 0x00, 0x89, 0x6f, 0x06, 0x4e, 0x01, + 0x70, 0x19, 0xac, 0x2f, 0x11, 0xc0, 0xe2, 0xe6, 0x0f, 0x2f, 0x86, 0x4b, + 0x8d, 0x7b, 0xc3, 0xb9, 0xa7, 0x2e, 0xf4, 0xf1, 0xac, 0x16, 0x3e, 0x39, + 0x49, 0x51, 0x9e, 0x17, 0x4b, 0x4f, 0x10, 0x3a, 0x5b, 0xa5, 0xa8, 0x92, + 0x6f, 0xfd, 0xfa, 0xd6, 0x0b, 0x03, 0x4d, 0x47, 0x56, 0x57, 0x19, 0xf3, + 0xcb, 0x6b, 0xf5, 0xf3, 0xd6, 0xcf, 0xb0, 0xf5, 0xf5, 0xa3, 0x11, 0xd2, + 0x20, 0x53, 0x13, 0x34, 0x37, 0x05, 0x2c, 0x43, 0x5a, 0x63, 0xdf, 0x8d, + 0x40, 0xd6, 0x85, 0x1e, 0x51, 0xe9, 0x51, 0x17, 0x1e, 0x03, 0x56, 0xc9, + 0xf1, 0x30, 0xad, 0xe7, 0x9b, 0x11, 0xa2, 0xb9, 0xd0, 0x31, 0x81, 0x9b, + 0x68, 0xb1, 0xd9, 0xe8, 0xf3, 0xe6, 0x94, 0x7e, 0xc7, 0xae, 0x13, 0x2f, + 0x87, 0xed, 0xd0, 0x25, 0xb0, 0x68, 0xf9, 0xde, 0x08, 0x5a, 0xf3, 0x29, + 0xcc, 0xd4, 0x92, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146019 (0x23a63) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Aug 27 20:40:40 2012 GMT + Not After : May 20 20:40:40 2022 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust SSL CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b9:27:f9:4f:d8:f6:b7:15:3f:8f:cd:ce:d6:8d: + 1c:6b:fd:7f:da:54:21:4e:03:d8:ca:d0:72:52:15: + b8:c9:82:5b:58:79:84:ff:24:72:6f:f2:69:7f:bc: + 96:d9:9a:7a:c3:3e:a9:cf:50:22:13:0e:86:19:db: + e8:49:ef:8b:e6:d6:47:f2:fd:73:45:08:ae:8f:ac: + 5e:b6:f8:9e:7c:f7:10:ff:92:43:66:ef:1c:d4:ee: + a1:46:88:11:89:49:79:7a:25:ce:4b:6a:f0:d7:1c: + 76:1a:29:3c:c9:e4:fd:1e:85:dc:e0:31:65:05:47: + 16:ac:0a:07:4b:2e:70:5e:6b:06:a7:6b:3a:6c:af: + 05:12:c4:b2:11:25:d6:3e:97:29:f0:83:6c:57:1c: + d8:a5:ef:cc:ec:fd:d6:12:f1:3f:db:40:b4:ae:0f: + 18:d3:c5:af:40:92:5d:07:5e:4e:fe:62:17:37:89: + e9:8b:74:26:a2:ed:b8:0a:e7:6c:15:5b:35:90:72: + dd:d8:4d:21:d4:40:23:5c:8f:ee:80:31:16:ab:68: + 55:f4:0e:3b:54:e9:04:4d:f0:cc:4e:81:5e:e9:6f: + 52:69:4e:be:a6:16:6d:42:f5:51:ff:e0:0b:56:3c: + 98:4f:73:8f:0e:6f:1a:23:f1:c9:c8:d9:df:bc:ec: + 52:d7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + 11:4A:D0:73:39:D5:5B:69:08:5C:BA:3D:BF:64:9A:A8:8B:1C:55:BC + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.geotrust.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://ocsp.geotrust.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-254 + Signature Algorithm: sha1WithRSAEncryption + 3c:e5:3d:5a:1b:a2:37:2a:e3:46:cf:36:96:18:3c:7b:f1:84: + c5:57:86:77:40:9d:35:f0:12:f0:78:18:fb:22:a4:de:98:4b: + 78:81:e6:4d:86:e3:91:0f:42:e3:b9:dc:a0:d6:ff:a9:f8:b1: + 79:97:99:d1:c3:6c:42:a5:92:94:e0:5d:0c:33:18:25:c9:2b: + 95:53:e0:e5:a9:0c:7d:47:fe:7f:51:31:44:5e:f7:2a:1e:35: + a2:94:32:f7:c9:ee:c0:b6:c6:9a:ac:de:99:21:6a:23:a0:38: + 64:ee:a3:c4:88:73:32:3b:50:ce:bf:ad:d3:75:1e:a6:f4:e9: + f9:42:6b:60:b2:dd:45:fd:5d:57:08:ce:2d:50:e6:12:32:16: + 13:8a:f2:94:a2:9b:47:a8:86:7f:d9:98:e5:f7:e5:76:74:64: + d8:91:bc:84:16:28:d8:25:44:30:7e:82:d8:ac:b1:e4:c0:e4: + 15:6c:db:b6:24:27:02:2a:01:12:85:ba:31:88:58:47:74:e3: + b8:d2:64:a6:c3:32:59:2e:29:4b:45:f1:5b:89:49:2e:82:9a: + c6:18:15:44:d0:2e:64:01:15:68:38:f9:f6:f9:66:03:0c:55: + 1b:9d:bf:00:40:ae:f0:48:27:4c:e0:80:5e:2d:b9:2a:15:7a: + bc:66:f8:35 +-----BEGIN CERTIFICATE----- +MIIEWTCCA0GgAwIBAgIDAjpjMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTIwODI3MjA0MDQwWhcNMjIwNTIwMjA0MDQwWjBEMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg +U1NMIENBIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5J/lP +2Pa3FT+Pzc7WjRxr/X/aVCFOA9jK0HJSFbjJgltYeYT/JHJv8ml/vJbZmnrDPqnP +UCITDoYZ2+hJ74vm1kfy/XNFCK6PrF62+J589xD/kkNm7xzU7qFGiBGJSXl6Jc5L +avDXHHYaKTzJ5P0ehdzgMWUFRxasCgdLLnBeawanazpsrwUSxLIRJdY+lynwg2xX +HNil78zs/dYS8T/bQLSuDxjTxa9Akl0HXk7+Yhc3iemLdCai7bgK52wVWzWQct3Y +TSHUQCNcj+6AMRaraFX0DjtU6QRN8MxOgV7pb1JpTr6mFm1C9VH/4AtWPJhPc48O +bxoj8cnI2d+87FLXAgMBAAGjggFUMIIBUDAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjAdBgNVHQ4EFgQUEUrQcznVW2kIXLo9v2SaqIscVbwwEgYDVR0T +AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwOgYDVR0fBDMwMTAvoC2gK4Yp +aHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Jscy9ndGdsb2JhbC5jcmwwNAYIKwYB +BQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5nZW90cnVzdC5jb20w +TAYDVR0gBEUwQzBBBgpghkgBhvhFAQc2MDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93 +d3cuZ2VvdHJ1c3QuY29tL3Jlc291cmNlcy9jcHMwKgYDVR0RBCMwIaQfMB0xGzAZ +BgNVBAMTElZlcmlTaWduTVBLSS0yLTI1NDANBgkqhkiG9w0BAQUFAAOCAQEAPOU9 +WhuiNyrjRs82lhg8e/GExVeGd0CdNfAS8HgY+yKk3phLeIHmTYbjkQ9C47ncoNb/ +qfixeZeZ0cNsQqWSlOBdDDMYJckrlVPg5akMfUf+f1ExRF73Kh41opQy98nuwLbG +mqzemSFqI6A4ZO6jxIhzMjtQzr+t03UepvTp+UJrYLLdRf1dVwjOLVDmEjIWE4ry +lKKbR6iGf9mY5ffldnRk2JG8hBYo2CVEMH6C2Kyx5MDkFWzbtiQnAioBEoW6MYhY +R3TjuNJkpsMyWS4pS0XxW4lJLoKaxhgVRNAuZAEVaDj59vlmAwxVG52/AECu8Egn +TOCAXi25KhV6vGb4NQ== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_11[] = { + 0x30, 0x82, 0x04, 0x59, 0x30, 0x82, 0x03, 0x41, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x63, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, + 0x38, 0x32, 0x37, 0x32, 0x30, 0x34, 0x30, 0x34, 0x30, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x30, 0x34, 0x30, 0x34, 0x30, + 0x5a, 0x30, 0x44, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x14, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xb9, 0x27, 0xf9, 0x4f, + 0xd8, 0xf6, 0xb7, 0x15, 0x3f, 0x8f, 0xcd, 0xce, 0xd6, 0x8d, 0x1c, 0x6b, + 0xfd, 0x7f, 0xda, 0x54, 0x21, 0x4e, 0x03, 0xd8, 0xca, 0xd0, 0x72, 0x52, + 0x15, 0xb8, 0xc9, 0x82, 0x5b, 0x58, 0x79, 0x84, 0xff, 0x24, 0x72, 0x6f, + 0xf2, 0x69, 0x7f, 0xbc, 0x96, 0xd9, 0x9a, 0x7a, 0xc3, 0x3e, 0xa9, 0xcf, + 0x50, 0x22, 0x13, 0x0e, 0x86, 0x19, 0xdb, 0xe8, 0x49, 0xef, 0x8b, 0xe6, + 0xd6, 0x47, 0xf2, 0xfd, 0x73, 0x45, 0x08, 0xae, 0x8f, 0xac, 0x5e, 0xb6, + 0xf8, 0x9e, 0x7c, 0xf7, 0x10, 0xff, 0x92, 0x43, 0x66, 0xef, 0x1c, 0xd4, + 0xee, 0xa1, 0x46, 0x88, 0x11, 0x89, 0x49, 0x79, 0x7a, 0x25, 0xce, 0x4b, + 0x6a, 0xf0, 0xd7, 0x1c, 0x76, 0x1a, 0x29, 0x3c, 0xc9, 0xe4, 0xfd, 0x1e, + 0x85, 0xdc, 0xe0, 0x31, 0x65, 0x05, 0x47, 0x16, 0xac, 0x0a, 0x07, 0x4b, + 0x2e, 0x70, 0x5e, 0x6b, 0x06, 0xa7, 0x6b, 0x3a, 0x6c, 0xaf, 0x05, 0x12, + 0xc4, 0xb2, 0x11, 0x25, 0xd6, 0x3e, 0x97, 0x29, 0xf0, 0x83, 0x6c, 0x57, + 0x1c, 0xd8, 0xa5, 0xef, 0xcc, 0xec, 0xfd, 0xd6, 0x12, 0xf1, 0x3f, 0xdb, + 0x40, 0xb4, 0xae, 0x0f, 0x18, 0xd3, 0xc5, 0xaf, 0x40, 0x92, 0x5d, 0x07, + 0x5e, 0x4e, 0xfe, 0x62, 0x17, 0x37, 0x89, 0xe9, 0x8b, 0x74, 0x26, 0xa2, + 0xed, 0xb8, 0x0a, 0xe7, 0x6c, 0x15, 0x5b, 0x35, 0x90, 0x72, 0xdd, 0xd8, + 0x4d, 0x21, 0xd4, 0x40, 0x23, 0x5c, 0x8f, 0xee, 0x80, 0x31, 0x16, 0xab, + 0x68, 0x55, 0xf4, 0x0e, 0x3b, 0x54, 0xe9, 0x04, 0x4d, 0xf0, 0xcc, 0x4e, + 0x81, 0x5e, 0xe9, 0x6f, 0x52, 0x69, 0x4e, 0xbe, 0xa6, 0x16, 0x6d, 0x42, + 0xf5, 0x51, 0xff, 0xe0, 0x0b, 0x56, 0x3c, 0x98, 0x4f, 0x73, 0x8f, 0x0e, + 0x6f, 0x1a, 0x23, 0xf1, 0xc9, 0xc8, 0xd9, 0xdf, 0xbc, 0xec, 0x52, 0xd7, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x54, 0x30, 0x82, 0x01, + 0x50, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, + 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x11, 0x4a, 0xd0, + 0x73, 0x39, 0xd5, 0x5b, 0x69, 0x08, 0x5c, 0xba, 0x3d, 0xbf, 0x64, 0x9a, + 0xa8, 0x8b, 0x1c, 0x55, 0xbc, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x33, 0x30, 0x31, 0x30, 0x2f, 0xa0, 0x2d, 0xa0, 0x2b, 0x86, 0x29, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x67, + 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, + 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, + 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, + 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, 0x36, + 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x1d, 0x11, + 0x04, 0x23, 0x30, 0x21, 0xa4, 0x1f, 0x30, 0x1d, 0x31, 0x1b, 0x30, 0x19, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x56, 0x65, 0x72, 0x69, 0x53, + 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, 0x2d, 0x32, 0x2d, 0x32, 0x35, + 0x34, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x3c, 0xe5, 0x3d, + 0x5a, 0x1b, 0xa2, 0x37, 0x2a, 0xe3, 0x46, 0xcf, 0x36, 0x96, 0x18, 0x3c, + 0x7b, 0xf1, 0x84, 0xc5, 0x57, 0x86, 0x77, 0x40, 0x9d, 0x35, 0xf0, 0x12, + 0xf0, 0x78, 0x18, 0xfb, 0x22, 0xa4, 0xde, 0x98, 0x4b, 0x78, 0x81, 0xe6, + 0x4d, 0x86, 0xe3, 0x91, 0x0f, 0x42, 0xe3, 0xb9, 0xdc, 0xa0, 0xd6, 0xff, + 0xa9, 0xf8, 0xb1, 0x79, 0x97, 0x99, 0xd1, 0xc3, 0x6c, 0x42, 0xa5, 0x92, + 0x94, 0xe0, 0x5d, 0x0c, 0x33, 0x18, 0x25, 0xc9, 0x2b, 0x95, 0x53, 0xe0, + 0xe5, 0xa9, 0x0c, 0x7d, 0x47, 0xfe, 0x7f, 0x51, 0x31, 0x44, 0x5e, 0xf7, + 0x2a, 0x1e, 0x35, 0xa2, 0x94, 0x32, 0xf7, 0xc9, 0xee, 0xc0, 0xb6, 0xc6, + 0x9a, 0xac, 0xde, 0x99, 0x21, 0x6a, 0x23, 0xa0, 0x38, 0x64, 0xee, 0xa3, + 0xc4, 0x88, 0x73, 0x32, 0x3b, 0x50, 0xce, 0xbf, 0xad, 0xd3, 0x75, 0x1e, + 0xa6, 0xf4, 0xe9, 0xf9, 0x42, 0x6b, 0x60, 0xb2, 0xdd, 0x45, 0xfd, 0x5d, + 0x57, 0x08, 0xce, 0x2d, 0x50, 0xe6, 0x12, 0x32, 0x16, 0x13, 0x8a, 0xf2, + 0x94, 0xa2, 0x9b, 0x47, 0xa8, 0x86, 0x7f, 0xd9, 0x98, 0xe5, 0xf7, 0xe5, + 0x76, 0x74, 0x64, 0xd8, 0x91, 0xbc, 0x84, 0x16, 0x28, 0xd8, 0x25, 0x44, + 0x30, 0x7e, 0x82, 0xd8, 0xac, 0xb1, 0xe4, 0xc0, 0xe4, 0x15, 0x6c, 0xdb, + 0xb6, 0x24, 0x27, 0x02, 0x2a, 0x01, 0x12, 0x85, 0xba, 0x31, 0x88, 0x58, + 0x47, 0x74, 0xe3, 0xb8, 0xd2, 0x64, 0xa6, 0xc3, 0x32, 0x59, 0x2e, 0x29, + 0x4b, 0x45, 0xf1, 0x5b, 0x89, 0x49, 0x2e, 0x82, 0x9a, 0xc6, 0x18, 0x15, + 0x44, 0xd0, 0x2e, 0x64, 0x01, 0x15, 0x68, 0x38, 0xf9, 0xf6, 0xf9, 0x66, + 0x03, 0x0c, 0x55, 0x1b, 0x9d, 0xbf, 0x00, 0x40, 0xae, 0xf0, 0x48, 0x27, + 0x4c, 0xe0, 0x80, 0x5e, 0x2d, 0xb9, 0x2a, 0x15, 0x7a, 0xbc, 0x66, 0xf8, + 0x35, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 04:00:00:00:00:01:44:4e:f0:3e:20 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA + Validity + Not Before: Feb 20 10:00:00 2014 GMT + Not After : Feb 20 10:00:00 2024 GMT + Subject: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Domain Validation CA - SHA256 - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a9:dd:cc:0e:b3:e2:32:39:dd:49:22:a8:13:69: + 93:87:88:e1:0c:ee:71:7d:bd:90:87:96:5d:59:f2: + cc:b3:d2:58:57:57:f9:46:ef:6c:26:d8:36:42:8e: + 7e:30:b3:2f:9a:3e:53:7b:1f:6e:b6:a2:4c:45:1f: + 3c:d3:15:93:1c:89:ed:3c:f4:57:de:ca:bd:ec:06: + 9a:6a:2a:a0:19:52:7f:51:d1:74:39:08:9f:ab:eb: + d7:86:13:15:97:ae:36:c3:54:66:0e:5a:f2:a0:73: + 85:31:e3:b2:64:14:6a:ff:a5:a2:8e:24:bb:bd:85: + 52:15:a2:79:ee:f0:b5:ee:3d:b8:f4:7d:80:bc:d9: + 90:35:65:b8:17:a9:ad:b3:98:9f:a0:7e:7d:6e:fb: + 3f:ad:7c:c2:1b:59:36:96:da:37:32:4b:4b:5d:35: + 02:63:8e:db:a7:cf:62:ee:cc:2e:d4:8d:c9:bd:3c: + 6a:91:72:a2:22:a7:72:2d:20:d1:fa:ca:37:da:18: + 98:e6:16:24:71:25:4b:c4:e5:7b:89:52:09:02:fd: + 59:2b:04:6e:ca:07:81:d4:b3:da:da:db:e3:cc:80: + a8:56:07:06:7c:96:08:37:9d:db:38:b6:62:34:91: + 62:07:74:01:38:d8:72:30:e2:eb:90:71:26:62:c0: + 57:f3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Subject Key Identifier: + EA:4E:7C:D4:80:2D:E5:15:81:86:26:8C:82:6D:C0:98:A4:CF:97:0F + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.globalsign.com/repository/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.globalsign.net/root.crl + + Authority Information Access: + OCSP - URI:http://ocsp.globalsign.com/rootr1 + + X509v3 Authority Key Identifier: + keyid:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B + + Signature Algorithm: sha256WithRSAEncryption + d7:45:9e:a0:dc:e0:e3:61:5a:0b:7d:77:84:17:2d:65:5a:82: + 9a:8d:a3:27:2a:85:f7:c9:ef:e9:86:fd:d4:47:cd:01:52:96: + c5:43:bd:37:b1:e1:b8:f2:a9:d2:8a:11:84:71:91:15:89:dc: + 02:9d:0b:cb:6c:33:85:34:28:9e:20:b2:b1:97:dc:6d:0b:10: + c1:3c:cd:5f:ea:5d:d7:98:31:c5:34:99:5c:00:61:55:c4:1b: + 02:5b:c5:e3:89:c8:b4:b8:6f:1e:38:f2:56:26:e9:41:ef:3d: + cd:ac:99:4f:59:4a:57:2d:4b:7d:ae:c7:88:fb:d6:98:3b:f5: + e5:f0:e8:89:89:b9:8b:03:cb:5a:23:1f:a4:fd:b8:ea:fb:2e: + 9d:ae:6a:73:09:bc:fc:d5:a0:b5:44:82:ab:44:91:2e:50:2e: + 57:c1:43:d8:91:04:8b:e9:11:2e:5f:b4:3f:79:df:1e:fb:3f: + 30:00:8b:53:e3:b7:2c:1d:3b:4d:8b:dc:e4:64:1d:04:58:33: + af:1b:55:e7:ab:0c:bf:30:04:74:e4:f3:0e:2f:30:39:8d:4b: + 04:8c:1e:75:66:66:49:e0:be:40:34:c7:5c:5a:51:92:ba:12: + 3c:52:d5:04:82:55:2d:67:a5:df:b7:95:7c:ee:3f:c3:08:ba: + 04:be:c0:46 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgILBAAAAAABRE7wPiAwDQYJKoZIhvcNAQELBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw +MDBaFw0yNDAyMjAxMDAwMDBaMGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMTYwNAYDVQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0 +aW9uIENBIC0gU0hBMjU2IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCp3cwOs+IyOd1JIqgTaZOHiOEM7nF9vZCHll1Z8syz0lhXV/lG72wm2DZC +jn4wsy+aPlN7H262okxFHzzTFZMcie089Ffeyr3sBppqKqAZUn9R0XQ5CJ+r69eG +ExWXrjbDVGYOWvKgc4Ux47JkFGr/paKOJLu9hVIVonnu8LXuPbj0fYC82ZA1ZbgX +qa2zmJ+gfn1u+z+tfMIbWTaW2jcyS0tdNQJjjtunz2LuzC7Ujcm9PGqRcqIip3It +INH6yjfaGJjmFiRxJUvE5XuJUgkC/VkrBG7KB4HUs9ra2+PMgKhWBwZ8lgg3nds4 +tmI0kWIHdAE42HIw4uuQcSZiwFfzAgMBAAGjggElMIIBITAOBgNVHQ8BAf8EBAMC +AQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU6k581IAt5RWBhiaMgm3A +mKTPlw8wRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v +d3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSG +Imh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYBBQUHAQEE +MTAvMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9yb290 +cjEwHwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZIhvcNAQEL +BQADggEBANdFnqDc4ONhWgt9d4QXLWVagpqNoycqhffJ7+mG/dRHzQFSlsVDvTex +4bjyqdKKEYRxkRWJ3AKdC8tsM4U0KJ4gsrGX3G0LEME8zV/qXdeYMcU0mVwAYVXE +GwJbxeOJyLS4bx448lYm6UHvPc2smU9ZSlctS32ux4j71pg79eXw6ImJuYsDy1oj +H6T9uOr7Lp2uanMJvPzVoLVEgqtEkS5QLlfBQ9iRBIvpES5ftD953x77PzAAi1Pj +tywdO02L3ORkHQRYM68bVeerDL8wBHTk8w4vMDmNSwSMHnVmZkngvkA0x1xaUZK6 +EjxS1QSCVS1npd+3lXzuP8MIugS+wEY= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_12[] = { + 0x30, 0x82, 0x04, 0x63, 0x30, 0x82, 0x03, 0x4b, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x4e, 0xf0, + 0x3e, 0x20, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x57, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, 0x17, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x07, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x41, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, + 0x67, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, + 0x17, 0x0d, 0x31, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x60, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, + 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, + 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x53, 0x48, 0x41, + 0x32, 0x35, 0x36, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xa9, 0xdd, 0xcc, 0x0e, 0xb3, 0xe2, 0x32, + 0x39, 0xdd, 0x49, 0x22, 0xa8, 0x13, 0x69, 0x93, 0x87, 0x88, 0xe1, 0x0c, + 0xee, 0x71, 0x7d, 0xbd, 0x90, 0x87, 0x96, 0x5d, 0x59, 0xf2, 0xcc, 0xb3, + 0xd2, 0x58, 0x57, 0x57, 0xf9, 0x46, 0xef, 0x6c, 0x26, 0xd8, 0x36, 0x42, + 0x8e, 0x7e, 0x30, 0xb3, 0x2f, 0x9a, 0x3e, 0x53, 0x7b, 0x1f, 0x6e, 0xb6, + 0xa2, 0x4c, 0x45, 0x1f, 0x3c, 0xd3, 0x15, 0x93, 0x1c, 0x89, 0xed, 0x3c, + 0xf4, 0x57, 0xde, 0xca, 0xbd, 0xec, 0x06, 0x9a, 0x6a, 0x2a, 0xa0, 0x19, + 0x52, 0x7f, 0x51, 0xd1, 0x74, 0x39, 0x08, 0x9f, 0xab, 0xeb, 0xd7, 0x86, + 0x13, 0x15, 0x97, 0xae, 0x36, 0xc3, 0x54, 0x66, 0x0e, 0x5a, 0xf2, 0xa0, + 0x73, 0x85, 0x31, 0xe3, 0xb2, 0x64, 0x14, 0x6a, 0xff, 0xa5, 0xa2, 0x8e, + 0x24, 0xbb, 0xbd, 0x85, 0x52, 0x15, 0xa2, 0x79, 0xee, 0xf0, 0xb5, 0xee, + 0x3d, 0xb8, 0xf4, 0x7d, 0x80, 0xbc, 0xd9, 0x90, 0x35, 0x65, 0xb8, 0x17, + 0xa9, 0xad, 0xb3, 0x98, 0x9f, 0xa0, 0x7e, 0x7d, 0x6e, 0xfb, 0x3f, 0xad, + 0x7c, 0xc2, 0x1b, 0x59, 0x36, 0x96, 0xda, 0x37, 0x32, 0x4b, 0x4b, 0x5d, + 0x35, 0x02, 0x63, 0x8e, 0xdb, 0xa7, 0xcf, 0x62, 0xee, 0xcc, 0x2e, 0xd4, + 0x8d, 0xc9, 0xbd, 0x3c, 0x6a, 0x91, 0x72, 0xa2, 0x22, 0xa7, 0x72, 0x2d, + 0x20, 0xd1, 0xfa, 0xca, 0x37, 0xda, 0x18, 0x98, 0xe6, 0x16, 0x24, 0x71, + 0x25, 0x4b, 0xc4, 0xe5, 0x7b, 0x89, 0x52, 0x09, 0x02, 0xfd, 0x59, 0x2b, + 0x04, 0x6e, 0xca, 0x07, 0x81, 0xd4, 0xb3, 0xda, 0xda, 0xdb, 0xe3, 0xcc, + 0x80, 0xa8, 0x56, 0x07, 0x06, 0x7c, 0x96, 0x08, 0x37, 0x9d, 0xdb, 0x38, + 0xb6, 0x62, 0x34, 0x91, 0x62, 0x07, 0x74, 0x01, 0x38, 0xd8, 0x72, 0x30, + 0xe2, 0xeb, 0x90, 0x71, 0x26, 0x62, 0xc0, 0x57, 0xf3, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x25, 0x30, 0x82, 0x01, 0x21, 0x30, 0x0e, + 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, + 0x01, 0x06, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xea, 0x4e, 0x7c, + 0xd4, 0x80, 0x2d, 0xe5, 0x15, 0x81, 0x86, 0x26, 0x8c, 0x82, 0x6d, 0xc0, + 0x98, 0xa4, 0xcf, 0x97, 0x0f, 0x30, 0x47, 0x06, 0x03, 0x55, 0x1d, 0x20, + 0x04, 0x40, 0x30, 0x3e, 0x30, 0x3c, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, + 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, + 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x2c, 0x30, 0x2a, 0x30, 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x6e, + 0x65, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x3d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x31, 0x30, 0x2f, 0x30, 0x2d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, + 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, + 0x72, 0x31, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x60, 0x7b, 0x66, 0x1a, 0x45, 0x0d, 0x97, 0xca, 0x89, + 0x50, 0x2f, 0x7d, 0x04, 0xcd, 0x34, 0xa8, 0xff, 0xfc, 0xfd, 0x4b, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xd7, 0x45, 0x9e, 0xa0, 0xdc, + 0xe0, 0xe3, 0x61, 0x5a, 0x0b, 0x7d, 0x77, 0x84, 0x17, 0x2d, 0x65, 0x5a, + 0x82, 0x9a, 0x8d, 0xa3, 0x27, 0x2a, 0x85, 0xf7, 0xc9, 0xef, 0xe9, 0x86, + 0xfd, 0xd4, 0x47, 0xcd, 0x01, 0x52, 0x96, 0xc5, 0x43, 0xbd, 0x37, 0xb1, + 0xe1, 0xb8, 0xf2, 0xa9, 0xd2, 0x8a, 0x11, 0x84, 0x71, 0x91, 0x15, 0x89, + 0xdc, 0x02, 0x9d, 0x0b, 0xcb, 0x6c, 0x33, 0x85, 0x34, 0x28, 0x9e, 0x20, + 0xb2, 0xb1, 0x97, 0xdc, 0x6d, 0x0b, 0x10, 0xc1, 0x3c, 0xcd, 0x5f, 0xea, + 0x5d, 0xd7, 0x98, 0x31, 0xc5, 0x34, 0x99, 0x5c, 0x00, 0x61, 0x55, 0xc4, + 0x1b, 0x02, 0x5b, 0xc5, 0xe3, 0x89, 0xc8, 0xb4, 0xb8, 0x6f, 0x1e, 0x38, + 0xf2, 0x56, 0x26, 0xe9, 0x41, 0xef, 0x3d, 0xcd, 0xac, 0x99, 0x4f, 0x59, + 0x4a, 0x57, 0x2d, 0x4b, 0x7d, 0xae, 0xc7, 0x88, 0xfb, 0xd6, 0x98, 0x3b, + 0xf5, 0xe5, 0xf0, 0xe8, 0x89, 0x89, 0xb9, 0x8b, 0x03, 0xcb, 0x5a, 0x23, + 0x1f, 0xa4, 0xfd, 0xb8, 0xea, 0xfb, 0x2e, 0x9d, 0xae, 0x6a, 0x73, 0x09, + 0xbc, 0xfc, 0xd5, 0xa0, 0xb5, 0x44, 0x82, 0xab, 0x44, 0x91, 0x2e, 0x50, + 0x2e, 0x57, 0xc1, 0x43, 0xd8, 0x91, 0x04, 0x8b, 0xe9, 0x11, 0x2e, 0x5f, + 0xb4, 0x3f, 0x79, 0xdf, 0x1e, 0xfb, 0x3f, 0x30, 0x00, 0x8b, 0x53, 0xe3, + 0xb7, 0x2c, 0x1d, 0x3b, 0x4d, 0x8b, 0xdc, 0xe4, 0x64, 0x1d, 0x04, 0x58, + 0x33, 0xaf, 0x1b, 0x55, 0xe7, 0xab, 0x0c, 0xbf, 0x30, 0x04, 0x74, 0xe4, + 0xf3, 0x0e, 0x2f, 0x30, 0x39, 0x8d, 0x4b, 0x04, 0x8c, 0x1e, 0x75, 0x66, + 0x66, 0x49, 0xe0, 0xbe, 0x40, 0x34, 0xc7, 0x5c, 0x5a, 0x51, 0x92, 0xba, + 0x12, 0x3c, 0x52, 0xd5, 0x04, 0x82, 0x55, 0x2d, 0x67, 0xa5, 0xdf, 0xb7, + 0x95, 0x7c, 0xee, 0x3f, 0xc3, 0x08, 0xba, 0x04, 0xbe, 0xc0, 0x46, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 04:00:00:00:00:01:44:4e:f0:42:47 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA + Validity + Not Before: Feb 20 10:00:00 2014 GMT + Not After : Feb 20 10:00:00 2024 GMT + Subject: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c7:0e:6c:3f:23:93:7f:cc:70:a5:9d:20:c3:0e: + 53:3f:7e:c0:4e:c2:98:49:ca:47:d5:23:ef:03:34: + 85:74:c8:a3:02:2e:46:5c:0b:7d:c9:88:9d:4f:8b: + f0:f8:9c:6c:8c:55:35:db:bf:f2:b3:ea:fb:e3:56: + e7:4a:46:d9:13:22:ca:36:d5:9b:c1:a8:e3:96:43: + 93:f2:0c:bc:e6:f9:e6:e8:99:c8:63:48:78:7f:57: + 36:69:1a:19:1d:5a:d1:d4:7d:c2:9c:d4:7f:e1:80: + 12:ae:7a:ea:88:ea:57:d8:ca:0a:0a:3a:12:49:a2: + 62:19:7a:0d:24:f7:37:eb:b4:73:92:7b:05:23:9b: + 12:b5:ce:eb:29:df:a4:14:02:b9:01:a5:d4:a6:9c: + 43:64:88:de:f8:7e:fe:e3:f5:1e:e5:fe:dc:a3:a8: + e4:66:31:d9:4c:25:e9:18:b9:89:59:09:ae:e9:9d: + 1c:6d:37:0f:4a:1e:35:20:28:e2:af:d4:21:8b:01: + c4:45:ad:6e:2b:63:ab:92:6b:61:0a:4d:20:ed:73: + ba:7c:ce:fe:16:b5:db:9f:80:f0:d6:8b:6c:d9:08: + 79:4a:4f:78:65:da:92:bc:be:35:f9:b3:c4:f9:27: + 80:4e:ff:96:52:e6:02:20:e1:07:73:e9:5d:2b:bd: + b2:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Subject Key Identifier: + 96:DE:61:F1:BD:1C:16:29:53:1C:C0:CC:7D:3B:83:00:40:E6:1A:7C + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.globalsign.com/repository/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.globalsign.net/root.crl + + Authority Information Access: + OCSP - URI:http://ocsp.globalsign.com/rootr1 + + X509v3 Authority Key Identifier: + keyid:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B + + Signature Algorithm: sha256WithRSAEncryption + 46:2a:ee:5e:bd:ae:01:60:37:31:11:86:71:74:b6:46:49:c8: + 10:16:fe:2f:62:23:17:ab:1f:87:f8:82:ed:ca:df:0e:2c:df: + 64:75:8e:e5:18:72:a7:8c:3a:8b:c9:ac:a5:77:50:f7:ef:9e: + a4:e0:a0:8f:14:57:a3:2a:5f:ec:7e:6d:10:e6:ba:8d:b0:08: + 87:76:0e:4c:b2:d9:51:bb:11:02:f2:5c:dd:1c:bd:f3:55:96: + 0f:d4:06:c0:fc:e2:23:8a:24:70:d3:bb:f0:79:1a:a7:61:70: + 83:8a:af:06:c5:20:d8:a1:63:d0:6c:ae:4f:32:d7:ae:7c:18: + 45:75:05:29:77:df:42:40:64:64:86:be:2a:76:09:31:6f:1d: + 24:f4:99:d0:85:fe:f2:21:08:f9:c6:f6:f1:d0:59:ed:d6:56: + 3c:08:28:03:67:ba:f0:f9:f1:90:16:47:ae:67:e6:bc:80:48: + e9:42:76:34:97:55:69:24:0e:83:d6:a0:2d:b4:f5:f3:79:8a: + 49:28:74:1a:41:a1:c2:d3:24:88:35:30:60:94:17:b4:e1:04: + 22:31:3d:3b:2f:17:06:b2:b8:9d:86:2b:5a:69:ef:83:f5:4b: + c4:aa:b4:2a:f8:7c:a1:b1:85:94:8c:f4:0c:87:0c:f4:ac:40: + f8:59:49:98 +-----BEGIN CERTIFICATE----- +MIIEaTCCA1GgAwIBAgILBAAAAAABRE7wQkcwDQYJKoZIhvcNAQELBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw +MDBaFw0yNDAyMjAxMDAwMDBaMGYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMTwwOgYDVQQDEzNHbG9iYWxTaWduIE9yZ2FuaXphdGlvbiBW +YWxpZGF0aW9uIENBIC0gU0hBMjU2IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDHDmw/I5N/zHClnSDDDlM/fsBOwphJykfVI+8DNIV0yKMCLkZc +C33JiJ1Pi/D4nGyMVTXbv/Kz6vvjVudKRtkTIso21ZvBqOOWQ5PyDLzm+ebomchj +SHh/VzZpGhkdWtHUfcKc1H/hgBKueuqI6lfYygoKOhJJomIZeg0k9zfrtHOSewUj +mxK1zusp36QUArkBpdSmnENkiN74fv7j9R7l/tyjqORmMdlMJekYuYlZCa7pnRxt +Nw9KHjUgKOKv1CGLAcRFrW4rY6uSa2EKTSDtc7p8zv4WtdufgPDWi2zZCHlKT3hl +2pK8vjX5s8T5J4BO/5ZS5gIg4Qdz6V0rvbLxAgMBAAGjggElMIIBITAOBgNVHQ8B +Af8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUlt5h8b0cFilT +HMDMfTuDAEDmGnwwRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0 +dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCow +KKAmoCSGImh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYB +BQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNv +bS9yb290cjEwHwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZI +hvcNAQELBQADggEBAEYq7l69rgFgNzERhnF0tkZJyBAW/i9iIxerH4f4gu3K3w4s +32R1juUYcqeMOovJrKV3UPfvnqTgoI8UV6MqX+x+bRDmuo2wCId2Dkyy2VG7EQLy +XN0cvfNVlg/UBsD84iOKJHDTu/B5GqdhcIOKrwbFINihY9Bsrk8y1658GEV1BSl3 +30JAZGSGvip2CTFvHST0mdCF/vIhCPnG9vHQWe3WVjwIKANnuvD58ZAWR65n5ryA +SOlCdjSXVWkkDoPWoC209fN5ikkodBpBocLTJIg1MGCUF7ThBCIxPTsvFwayuJ2G +K1pp74P1S8SqtCr4fKGxhZSM9AyHDPSsQPhZSZg= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_13[] = { + 0x30, 0x82, 0x04, 0x69, 0x30, 0x82, 0x03, 0x51, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x4e, 0xf0, + 0x42, 0x47, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x57, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, 0x17, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x07, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x41, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, + 0x67, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, + 0x17, 0x0d, 0x31, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x32, 0x32, 0x30, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x66, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, + 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, 0x73, 0x61, + 0x31, 0x3c, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x33, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x43, 0x41, + 0x20, 0x2d, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x2d, 0x20, + 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xc7, + 0x0e, 0x6c, 0x3f, 0x23, 0x93, 0x7f, 0xcc, 0x70, 0xa5, 0x9d, 0x20, 0xc3, + 0x0e, 0x53, 0x3f, 0x7e, 0xc0, 0x4e, 0xc2, 0x98, 0x49, 0xca, 0x47, 0xd5, + 0x23, 0xef, 0x03, 0x34, 0x85, 0x74, 0xc8, 0xa3, 0x02, 0x2e, 0x46, 0x5c, + 0x0b, 0x7d, 0xc9, 0x88, 0x9d, 0x4f, 0x8b, 0xf0, 0xf8, 0x9c, 0x6c, 0x8c, + 0x55, 0x35, 0xdb, 0xbf, 0xf2, 0xb3, 0xea, 0xfb, 0xe3, 0x56, 0xe7, 0x4a, + 0x46, 0xd9, 0x13, 0x22, 0xca, 0x36, 0xd5, 0x9b, 0xc1, 0xa8, 0xe3, 0x96, + 0x43, 0x93, 0xf2, 0x0c, 0xbc, 0xe6, 0xf9, 0xe6, 0xe8, 0x99, 0xc8, 0x63, + 0x48, 0x78, 0x7f, 0x57, 0x36, 0x69, 0x1a, 0x19, 0x1d, 0x5a, 0xd1, 0xd4, + 0x7d, 0xc2, 0x9c, 0xd4, 0x7f, 0xe1, 0x80, 0x12, 0xae, 0x7a, 0xea, 0x88, + 0xea, 0x57, 0xd8, 0xca, 0x0a, 0x0a, 0x3a, 0x12, 0x49, 0xa2, 0x62, 0x19, + 0x7a, 0x0d, 0x24, 0xf7, 0x37, 0xeb, 0xb4, 0x73, 0x92, 0x7b, 0x05, 0x23, + 0x9b, 0x12, 0xb5, 0xce, 0xeb, 0x29, 0xdf, 0xa4, 0x14, 0x02, 0xb9, 0x01, + 0xa5, 0xd4, 0xa6, 0x9c, 0x43, 0x64, 0x88, 0xde, 0xf8, 0x7e, 0xfe, 0xe3, + 0xf5, 0x1e, 0xe5, 0xfe, 0xdc, 0xa3, 0xa8, 0xe4, 0x66, 0x31, 0xd9, 0x4c, + 0x25, 0xe9, 0x18, 0xb9, 0x89, 0x59, 0x09, 0xae, 0xe9, 0x9d, 0x1c, 0x6d, + 0x37, 0x0f, 0x4a, 0x1e, 0x35, 0x20, 0x28, 0xe2, 0xaf, 0xd4, 0x21, 0x8b, + 0x01, 0xc4, 0x45, 0xad, 0x6e, 0x2b, 0x63, 0xab, 0x92, 0x6b, 0x61, 0x0a, + 0x4d, 0x20, 0xed, 0x73, 0xba, 0x7c, 0xce, 0xfe, 0x16, 0xb5, 0xdb, 0x9f, + 0x80, 0xf0, 0xd6, 0x8b, 0x6c, 0xd9, 0x08, 0x79, 0x4a, 0x4f, 0x78, 0x65, + 0xda, 0x92, 0xbc, 0xbe, 0x35, 0xf9, 0xb3, 0xc4, 0xf9, 0x27, 0x80, 0x4e, + 0xff, 0x96, 0x52, 0xe6, 0x02, 0x20, 0xe1, 0x07, 0x73, 0xe9, 0x5d, 0x2b, + 0xbd, 0xb2, 0xf1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x25, + 0x30, 0x82, 0x01, 0x21, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, + 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0x96, 0xde, 0x61, 0xf1, 0xbd, 0x1c, 0x16, 0x29, 0x53, + 0x1c, 0xc0, 0xcc, 0x7d, 0x3b, 0x83, 0x00, 0x40, 0xe6, 0x1a, 0x7c, 0x30, + 0x47, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x40, 0x30, 0x3e, 0x30, 0x3c, + 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x26, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2c, 0x30, 0x2a, 0x30, + 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x6f, 0x6f, + 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3d, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x21, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x72, 0x31, 0x30, 0x1f, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x60, 0x7b, 0x66, + 0x1a, 0x45, 0x0d, 0x97, 0xca, 0x89, 0x50, 0x2f, 0x7d, 0x04, 0xcd, 0x34, + 0xa8, 0xff, 0xfc, 0xfd, 0x4b, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, + 0x00, 0x46, 0x2a, 0xee, 0x5e, 0xbd, 0xae, 0x01, 0x60, 0x37, 0x31, 0x11, + 0x86, 0x71, 0x74, 0xb6, 0x46, 0x49, 0xc8, 0x10, 0x16, 0xfe, 0x2f, 0x62, + 0x23, 0x17, 0xab, 0x1f, 0x87, 0xf8, 0x82, 0xed, 0xca, 0xdf, 0x0e, 0x2c, + 0xdf, 0x64, 0x75, 0x8e, 0xe5, 0x18, 0x72, 0xa7, 0x8c, 0x3a, 0x8b, 0xc9, + 0xac, 0xa5, 0x77, 0x50, 0xf7, 0xef, 0x9e, 0xa4, 0xe0, 0xa0, 0x8f, 0x14, + 0x57, 0xa3, 0x2a, 0x5f, 0xec, 0x7e, 0x6d, 0x10, 0xe6, 0xba, 0x8d, 0xb0, + 0x08, 0x87, 0x76, 0x0e, 0x4c, 0xb2, 0xd9, 0x51, 0xbb, 0x11, 0x02, 0xf2, + 0x5c, 0xdd, 0x1c, 0xbd, 0xf3, 0x55, 0x96, 0x0f, 0xd4, 0x06, 0xc0, 0xfc, + 0xe2, 0x23, 0x8a, 0x24, 0x70, 0xd3, 0xbb, 0xf0, 0x79, 0x1a, 0xa7, 0x61, + 0x70, 0x83, 0x8a, 0xaf, 0x06, 0xc5, 0x20, 0xd8, 0xa1, 0x63, 0xd0, 0x6c, + 0xae, 0x4f, 0x32, 0xd7, 0xae, 0x7c, 0x18, 0x45, 0x75, 0x05, 0x29, 0x77, + 0xdf, 0x42, 0x40, 0x64, 0x64, 0x86, 0xbe, 0x2a, 0x76, 0x09, 0x31, 0x6f, + 0x1d, 0x24, 0xf4, 0x99, 0xd0, 0x85, 0xfe, 0xf2, 0x21, 0x08, 0xf9, 0xc6, + 0xf6, 0xf1, 0xd0, 0x59, 0xed, 0xd6, 0x56, 0x3c, 0x08, 0x28, 0x03, 0x67, + 0xba, 0xf0, 0xf9, 0xf1, 0x90, 0x16, 0x47, 0xae, 0x67, 0xe6, 0xbc, 0x80, + 0x48, 0xe9, 0x42, 0x76, 0x34, 0x97, 0x55, 0x69, 0x24, 0x0e, 0x83, 0xd6, + 0xa0, 0x2d, 0xb4, 0xf5, 0xf3, 0x79, 0x8a, 0x49, 0x28, 0x74, 0x1a, 0x41, + 0xa1, 0xc2, 0xd3, 0x24, 0x88, 0x35, 0x30, 0x60, 0x94, 0x17, 0xb4, 0xe1, + 0x04, 0x22, 0x31, 0x3d, 0x3b, 0x2f, 0x17, 0x06, 0xb2, 0xb8, 0x9d, 0x86, + 0x2b, 0x5a, 0x69, 0xef, 0x83, 0xf5, 0x4b, 0xc4, 0xaa, 0xb4, 0x2a, 0xf8, + 0x7c, 0xa1, 0xb1, 0x85, 0x94, 0x8c, 0xf4, 0x0c, 0x87, 0x0c, 0xf4, 0xac, + 0x40, 0xf8, 0x59, 0x49, 0x98, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 4d:5f:2c:34:08:b2:4c:20:cd:6d:50:7e:24:4d:c9:ec + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Validity + Not Before: Feb 8 00:00:00 2010 GMT + Not After : Feb 7 23:59:59 2020 GMT + Subject: C=US, O=Thawte, Inc., CN=Thawte SSL CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:99:e4:85:5b:76:49:7d:2f:05:d8:c5:ac:c8:c8: + a9:d3:dc:98:e6:d7:34:a6:2f:0c:f2:22:26:d8:a3: + c9:14:4c:8f:05:a4:45:e8:14:0c:58:90:05:1a:b7: + c5:c1:06:a5:80:af:bb:1d:49:6b:52:34:88:c3:59: + e7:ef:6b:c4:27:41:8c:2b:66:1d:d0:e0:a3:97:98: + 19:34:4b:41:d5:98:d5:c7:05:ad:a2:e4:d7:ed:0c: + ad:4f:c1:b5:b0:21:fd:3e:50:53:b2:c4:90:d0:d4: + 30:67:6c:9a:f1:0e:74:c4:c2:dc:8a:e8:97:ff:c9: + 92:ae:01:8a:56:0a:98:32:b0:00:23:ec:90:1a:60: + c3:ed:bb:3a:cb:0f:63:9f:0d:44:c9:52:e1:25:96: + bf:ed:50:95:89:7f:56:14:b1:b7:61:1d:1c:07:8c: + 3a:2c:f7:ff:80:de:39:45:d5:af:1a:d1:78:d8:c7: + 71:6a:a3:19:a7:32:50:21:e9:f2:0e:a1:c6:13:03: + 44:48:d1:66:a8:52:57:d7:11:b4:93:8b:e5:99:9f: + 5d:e7:78:51:e5:4d:f6:b7:59:b4:76:b5:09:37:4d: + 06:38:13:7a:1c:08:98:5c:c4:48:4a:cb:52:a0:a9: + f8:b1:9d:8e:7b:79:b0:20:2f:3c:96:a8:11:62:47: + bb:11 + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://ocsp.thawte.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.thawte.com/ThawtePCA.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-9 + X509v3 Subject Key Identifier: + A7:A2:83:BB:34:45:40:3D:FC:D5:30:4F:12:B9:3E:A1:01:9F:F6:DB + X509v3 Authority Key Identifier: + keyid:7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + + Signature Algorithm: sha1WithRSAEncryption + 80:22:80:e0:6c:c8:95:16:d7:57:26:87:f3:72:34:db:c6:72: + 56:27:3e:d3:96:f6:2e:25:91:a5:3e:33:97:a7:4b:e5:2f:fb: + 25:7d:2f:07:61:fa:6f:83:74:4c:4c:53:72:20:a4:7a:cf:51: + 51:56:81:88:b0:6d:1f:36:2c:c8:2b:b1:88:99:c1:fe:44:ab: + 48:51:7c:d8:f2:44:64:2a:d8:71:a7:fb:1a:2f:f9:19:8d:34: + b2:23:bf:c4:4c:55:1d:8e:44:e8:aa:5d:9a:dd:9f:fd:03:c7: + ba:24:43:8d:2d:47:44:db:f6:d8:98:c8:b2:f9:da:ef:ed:29: + 5c:69:12:fa:d1:23:96:0f:bf:9c:0d:f2:79:45:53:37:9a:56: + 2f:e8:57:10:70:f6:ee:89:0c:49:89:9a:c1:23:f5:c2:2a:cc: + 41:cf:22:ab:65:6e:b7:94:82:6d:2f:40:5f:58:de:eb:95:2b: + a6:72:68:52:19:91:2a:ae:75:9d:4e:92:e6:ca:de:54:ea:18: + ab:25:3c:e6:64:a6:79:1f:26:7d:61:ed:7d:d2:e5:71:55:d8: + 93:17:7c:14:38:30:3c:df:86:e3:4c:ad:49:e3:97:59:ce:1b: + 9b:2b:ce:dc:65:d4:0b:28:6b:4e:84:46:51:44:f7:33:08:2d: + 58:97:21:ae +-----BEGIN CERTIFICATE----- +MIIEbDCCA1SgAwIBAgIQTV8sNAiyTCDNbVB+JE3J7DANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTAwMjA4MDAwMDAwWhcNMjAw +MjA3MjM1OTU5WjA8MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMu +MRYwFAYDVQQDEw1UaGF3dGUgU1NMIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAmeSFW3ZJfS8F2MWsyMip09yY5tc0pi8M8iIm2KPJFEyPBaRF6BQM +WJAFGrfFwQalgK+7HUlrUjSIw1nn72vEJ0GMK2Yd0OCjl5gZNEtB1ZjVxwWtouTX +7QytT8G1sCH9PlBTssSQ0NQwZ2ya8Q50xMLciuiX/8mSrgGKVgqYMrAAI+yQGmDD +7bs6yw9jnw1EyVLhJZa/7VCViX9WFLG3YR0cB4w6LPf/gN45RdWvGtF42MdxaqMZ +pzJQIenyDqHGEwNESNFmqFJX1xG0k4vlmZ9d53hR5U32t1m0drUJN00GOBN6HAiY +XMRISstSoKn4sZ2Oe3mwIC88lqgRYke7EQIDAQABo4H7MIH4MDIGCCsGAQUFBwEB +BCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTASBgNVHRMB +Af8ECDAGAQH/AgEAMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudGhhd3Rl +LmNvbS9UaGF3dGVQQ0EuY3JsMA4GA1UdDwEB/wQEAwIBBjAoBgNVHREEITAfpB0w +GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItOTAdBgNVHQ4EFgQUp6KDuzRFQD38 +1TBPErk+oQGf9tswHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutXSFAwDQYJ +KoZIhvcNAQEFBQADggEBAIAigOBsyJUW11cmh/NyNNvGclYnPtOW9i4lkaU+M5en +S+Uv+yV9Lwdh+m+DdExMU3IgpHrPUVFWgYiwbR82LMgrsYiZwf5Eq0hRfNjyRGQq +2HGn+xov+RmNNLIjv8RMVR2OROiqXZrdn/0Dx7okQ40tR0Tb9tiYyLL52u/tKVxp +EvrRI5YPv5wN8nlFUzeaVi/oVxBw9u6JDEmJmsEj9cIqzEHPIqtlbreUgm0vQF9Y +3uuVK6ZyaFIZkSqudZ1OkubK3lTqGKslPOZkpnkfJn1h7X3S5XFV2JMXfBQ4MDzf +huNMrUnjl1nOG5srztxl1Asoa06ERlFE9zMILViXIa4= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_14[] = { + 0x30, 0x82, 0x04, 0x6c, 0x30, 0x82, 0x03, 0x54, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x4d, 0x5f, 0x2c, 0x34, 0x08, 0xb2, 0x4c, 0x20, 0xcd, + 0x6d, 0x50, 0x7e, 0x24, 0x4d, 0xc9, 0xec, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, + 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x32, 0x30, 0x38, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x30, 0x30, + 0x32, 0x30, 0x37, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x3c, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x54, + 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x99, 0xe4, 0x85, + 0x5b, 0x76, 0x49, 0x7d, 0x2f, 0x05, 0xd8, 0xc5, 0xac, 0xc8, 0xc8, 0xa9, + 0xd3, 0xdc, 0x98, 0xe6, 0xd7, 0x34, 0xa6, 0x2f, 0x0c, 0xf2, 0x22, 0x26, + 0xd8, 0xa3, 0xc9, 0x14, 0x4c, 0x8f, 0x05, 0xa4, 0x45, 0xe8, 0x14, 0x0c, + 0x58, 0x90, 0x05, 0x1a, 0xb7, 0xc5, 0xc1, 0x06, 0xa5, 0x80, 0xaf, 0xbb, + 0x1d, 0x49, 0x6b, 0x52, 0x34, 0x88, 0xc3, 0x59, 0xe7, 0xef, 0x6b, 0xc4, + 0x27, 0x41, 0x8c, 0x2b, 0x66, 0x1d, 0xd0, 0xe0, 0xa3, 0x97, 0x98, 0x19, + 0x34, 0x4b, 0x41, 0xd5, 0x98, 0xd5, 0xc7, 0x05, 0xad, 0xa2, 0xe4, 0xd7, + 0xed, 0x0c, 0xad, 0x4f, 0xc1, 0xb5, 0xb0, 0x21, 0xfd, 0x3e, 0x50, 0x53, + 0xb2, 0xc4, 0x90, 0xd0, 0xd4, 0x30, 0x67, 0x6c, 0x9a, 0xf1, 0x0e, 0x74, + 0xc4, 0xc2, 0xdc, 0x8a, 0xe8, 0x97, 0xff, 0xc9, 0x92, 0xae, 0x01, 0x8a, + 0x56, 0x0a, 0x98, 0x32, 0xb0, 0x00, 0x23, 0xec, 0x90, 0x1a, 0x60, 0xc3, + 0xed, 0xbb, 0x3a, 0xcb, 0x0f, 0x63, 0x9f, 0x0d, 0x44, 0xc9, 0x52, 0xe1, + 0x25, 0x96, 0xbf, 0xed, 0x50, 0x95, 0x89, 0x7f, 0x56, 0x14, 0xb1, 0xb7, + 0x61, 0x1d, 0x1c, 0x07, 0x8c, 0x3a, 0x2c, 0xf7, 0xff, 0x80, 0xde, 0x39, + 0x45, 0xd5, 0xaf, 0x1a, 0xd1, 0x78, 0xd8, 0xc7, 0x71, 0x6a, 0xa3, 0x19, + 0xa7, 0x32, 0x50, 0x21, 0xe9, 0xf2, 0x0e, 0xa1, 0xc6, 0x13, 0x03, 0x44, + 0x48, 0xd1, 0x66, 0xa8, 0x52, 0x57, 0xd7, 0x11, 0xb4, 0x93, 0x8b, 0xe5, + 0x99, 0x9f, 0x5d, 0xe7, 0x78, 0x51, 0xe5, 0x4d, 0xf6, 0xb7, 0x59, 0xb4, + 0x76, 0xb5, 0x09, 0x37, 0x4d, 0x06, 0x38, 0x13, 0x7a, 0x1c, 0x08, 0x98, + 0x5c, 0xc4, 0x48, 0x4a, 0xcb, 0x52, 0xa0, 0xa9, 0xf8, 0xb1, 0x9d, 0x8e, + 0x7b, 0x79, 0xb0, 0x20, 0x2f, 0x3c, 0x96, 0xa8, 0x11, 0x62, 0x47, 0xbb, + 0x11, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xfb, 0x30, 0x81, 0xf8, + 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x26, 0x30, 0x24, 0x30, 0x22, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x16, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, + 0x30, 0x34, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2d, 0x30, 0x2b, 0x30, + 0x29, 0xa0, 0x27, 0xa0, 0x25, 0x86, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, + 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x28, + 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x21, 0x30, 0x1f, 0xa4, 0x1d, 0x30, + 0x1b, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x10, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, + 0x2d, 0x32, 0x2d, 0x39, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0xa7, 0xa2, 0x83, 0xbb, 0x34, 0x45, 0x40, 0x3d, 0xfc, + 0xd5, 0x30, 0x4f, 0x12, 0xb9, 0x3e, 0xa1, 0x01, 0x9f, 0xf6, 0xdb, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0x7b, 0x5b, 0x45, 0xcf, 0xaf, 0xce, 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, + 0x6a, 0xb6, 0xf3, 0x46, 0xeb, 0x57, 0x48, 0x50, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x80, 0x22, 0x80, 0xe0, 0x6c, 0xc8, 0x95, 0x16, + 0xd7, 0x57, 0x26, 0x87, 0xf3, 0x72, 0x34, 0xdb, 0xc6, 0x72, 0x56, 0x27, + 0x3e, 0xd3, 0x96, 0xf6, 0x2e, 0x25, 0x91, 0xa5, 0x3e, 0x33, 0x97, 0xa7, + 0x4b, 0xe5, 0x2f, 0xfb, 0x25, 0x7d, 0x2f, 0x07, 0x61, 0xfa, 0x6f, 0x83, + 0x74, 0x4c, 0x4c, 0x53, 0x72, 0x20, 0xa4, 0x7a, 0xcf, 0x51, 0x51, 0x56, + 0x81, 0x88, 0xb0, 0x6d, 0x1f, 0x36, 0x2c, 0xc8, 0x2b, 0xb1, 0x88, 0x99, + 0xc1, 0xfe, 0x44, 0xab, 0x48, 0x51, 0x7c, 0xd8, 0xf2, 0x44, 0x64, 0x2a, + 0xd8, 0x71, 0xa7, 0xfb, 0x1a, 0x2f, 0xf9, 0x19, 0x8d, 0x34, 0xb2, 0x23, + 0xbf, 0xc4, 0x4c, 0x55, 0x1d, 0x8e, 0x44, 0xe8, 0xaa, 0x5d, 0x9a, 0xdd, + 0x9f, 0xfd, 0x03, 0xc7, 0xba, 0x24, 0x43, 0x8d, 0x2d, 0x47, 0x44, 0xdb, + 0xf6, 0xd8, 0x98, 0xc8, 0xb2, 0xf9, 0xda, 0xef, 0xed, 0x29, 0x5c, 0x69, + 0x12, 0xfa, 0xd1, 0x23, 0x96, 0x0f, 0xbf, 0x9c, 0x0d, 0xf2, 0x79, 0x45, + 0x53, 0x37, 0x9a, 0x56, 0x2f, 0xe8, 0x57, 0x10, 0x70, 0xf6, 0xee, 0x89, + 0x0c, 0x49, 0x89, 0x9a, 0xc1, 0x23, 0xf5, 0xc2, 0x2a, 0xcc, 0x41, 0xcf, + 0x22, 0xab, 0x65, 0x6e, 0xb7, 0x94, 0x82, 0x6d, 0x2f, 0x40, 0x5f, 0x58, + 0xde, 0xeb, 0x95, 0x2b, 0xa6, 0x72, 0x68, 0x52, 0x19, 0x91, 0x2a, 0xae, + 0x75, 0x9d, 0x4e, 0x92, 0xe6, 0xca, 0xde, 0x54, 0xea, 0x18, 0xab, 0x25, + 0x3c, 0xe6, 0x64, 0xa6, 0x79, 0x1f, 0x26, 0x7d, 0x61, 0xed, 0x7d, 0xd2, + 0xe5, 0x71, 0x55, 0xd8, 0x93, 0x17, 0x7c, 0x14, 0x38, 0x30, 0x3c, 0xdf, + 0x86, 0xe3, 0x4c, 0xad, 0x49, 0xe3, 0x97, 0x59, 0xce, 0x1b, 0x9b, 0x2b, + 0xce, 0xdc, 0x65, 0xd4, 0x0b, 0x28, 0x6b, 0x4e, 0x84, 0x46, 0x51, 0x44, + 0xf7, 0x33, 0x08, 0x2d, 0x58, 0x97, 0x21, 0xae, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 6e:8a:90:eb:cf:f0:44:8a:72:0d:08:05:d0:82:a5:44 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust EV SSL CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d9:b4:05:f2:38:67:0f:09:e7:7c:f5:63:2a:e5: + b9:5e:a8:11:ae:75:71:d9:4c:84:67:ad:89:5d:fc: + 28:3d:2a:b0:a5:d5:d4:e6:30:0a:84:d4:e4:18:cb: + 85:37:c5:46:71:eb:1c:7b:69:db:65:69:8c:30:05: + 3e:07:e1:6f:3c:c1:0b:61:e6:38:44:fc:bc:8c:2f: + 4e:75:57:f5:96:99:7c:3e:87:1f:0f:90:4b:70:c3: + 3f:39:45:3b:3a:6b:cb:bb:7b:40:54:d1:8b:4b:a1: + 72:d2:04:e9:e0:72:1a:93:11:7a:2f:f1:ab:9d:9c: + 98:58:ae:2c:ea:77:5f:2f:2e:87:af:b8:6b:e3:e2: + e2:3f:d6:3d:e0:96:44:df:11:55:63:52:2f:f4:26: + 78:c4:0f:20:4d:0a:c0:68:70:15:86:38:ee:b7:76: + 88:ab:18:8f:4f:35:1e:d4:8c:c9:db:7e:3d:44:d4: + 36:8c:c1:37:b5:59:5b:87:f9:e9:f1:d4:c5:28:bd: + 1d:dc:cc:96:72:d1:7a:a1:a7:20:b5:b8:af:f8:6e: + a5:60:7b:2b:8d:1f:ee:f4:2b:d6:69:cd:af:ca:80: + 58:29:e8:4c:00:20:8a:49:0a:6e:8e:8c:a8:d1:00: + 12:84:b6:c5:e2:95:a2:c0:3b:a4:6b:f0:82:d0:96: + 5d:25 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://g2.symcb.com + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.geotrust.com/resources/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g1.symcb.com/GeoTrustPCA.crl + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-538 + X509v3 Subject Key Identifier: + DE:CF:5C:50:B7:AE:02:1F:15:17:AA:16:E8:0D:B5:28:9D:6A:5A:F3 + X509v3 Authority Key Identifier: + keyid:2C:D5:50:41:97:15:8B:F0:8F:36:61:5B:4A:FB:6B:D9:99:C9:33:92 + + Signature Algorithm: sha256WithRSAEncryption + b4:8e:bd:07:b9:9a:85:ec:3b:67:bd:07:60:61:e6:84:d1:d4: + ef:eb:1b:ba:0b:82:4b:95:64:b6:66:53:23:bd:b7:84:dd:e4: + 7b:8d:09:da:cf:b2:f5:f1:c3:bf:87:84:be:4e:a6:a8:c2:e7: + 12:39:28:34:e0:a4:56:44:40:0c:9f:88:a3:15:d3:e8:d3:5e: + e3:1c:04:60:fb:69:36:4f:6a:7e:0c:2a:28:c1:f3:aa:58:0e: + 6c:ce:1d:07:c3:4a:c0:9c:8d:c3:74:b1:ae:82:f0:1a:e1:f9: + 4e:29:bd:46:de:b7:1d:f9:7d:db:d9:0f:84:cb:92:45:cc:1c: + b3:18:f6:a0:cf:71:6f:0c:2e:9b:d2:2d:b3:99:93:83:44:ac: + 15:aa:9b:2e:67:ec:4f:88:69:05:56:7b:8b:b2:43:a9:3a:6c: + 1c:13:33:25:1b:fd:a8:c8:57:02:fb:1c:e0:d1:bd:3b:56:44: + 65:c3:63:f5:1b:ef:ec:30:d9:e3:6e:2e:13:e9:39:08:2a:0c: + 72:f3:9a:cc:f6:27:29:84:d3:ef:4c:c7:84:11:65:1f:c6:e3: + 81:03:db:87:cc:78:f7:b5:9d:96:3e:6a:7f:bc:11:85:7a:75: + e6:41:7d:0d:cf:f9:e5:85:69:25:8f:c7:8d:07:2d:f8:69:0f: + cb:41:53:00 +-----BEGIN CERTIFICATE----- +MIIEbjCCA1agAwIBAgIQboqQ68/wRIpyDQgF0IKlRDANBgkqhkiG9w0BAQsFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xMzEw +MzEwMDAwMDBaFw0yMzEwMzAyMzU5NTlaMEcxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMSAwHgYDVQQDExdHZW9UcnVzdCBFViBTU0wgQ0EgLSBH +NDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANm0BfI4Zw8J53z1Yyrl +uV6oEa51cdlMhGetiV38KD0qsKXV1OYwCoTU5BjLhTfFRnHrHHtp22VpjDAFPgfh +bzzBC2HmOET8vIwvTnVX9ZaZfD6HHw+QS3DDPzlFOzpry7t7QFTRi0uhctIE6eBy +GpMRei/xq52cmFiuLOp3Xy8uh6+4a+Pi4j/WPeCWRN8RVWNSL/QmeMQPIE0KwGhw +FYY47rd2iKsYj081HtSMydt+PUTUNozBN7VZW4f56fHUxSi9HdzMlnLReqGnILW4 +r/hupWB7K40f7vQr1mnNr8qAWCnoTAAgikkKbo6MqNEAEoS2xeKVosA7pGvwgtCW +XSUCAwEAAaOCAUMwggE/MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQD +AgEGMC8GCCsGAQUFBwEBBCMwITAfBggrBgEFBQcwAYYTaHR0cDovL2cyLnN5bWNi +LmNvbTBHBgNVHSAEQDA+MDwGBFUdIAAwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93 +d3cuZ2VvdHJ1c3QuY29tL3Jlc291cmNlcy9jcHMwNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2cxLnN5bWNiLmNvbS9HZW9UcnVzdFBDQS5jcmwwKQYDVR0RBCIwIKQe +MBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNTM4MB0GA1UdDgQWBBTez1xQt64C +HxUXqhboDbUonWpa8zAfBgNVHSMEGDAWgBQs1VBBlxWL8I82YVtK+2vZmckzkjAN +BgkqhkiG9w0BAQsFAAOCAQEAtI69B7mahew7Z70HYGHmhNHU7+sbuguCS5VktmZT +I723hN3ke40J2s+y9fHDv4eEvk6mqMLnEjkoNOCkVkRADJ+IoxXT6NNe4xwEYPtp +Nk9qfgwqKMHzqlgObM4dB8NKwJyNw3SxroLwGuH5Tim9Rt63Hfl929kPhMuSRcwc +sxj2oM9xbwwum9Its5mTg0SsFaqbLmfsT4hpBVZ7i7JDqTpsHBMzJRv9qMhXAvsc +4NG9O1ZEZcNj9Rvv7DDZ424uE+k5CCoMcvOazPYnKYTT70zHhBFlH8bjgQPbh8x4 +97Wdlj5qf7wRhXp15kF9Dc/55YVpJY/HjQct+GkPy0FTAA== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_15[] = { + 0x30, 0x82, 0x04, 0x6e, 0x30, 0x82, 0x03, 0x56, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x6e, 0x8a, 0x90, 0xeb, 0xcf, 0xf0, 0x44, 0x8a, 0x72, + 0x0d, 0x08, 0x05, 0xd0, 0x82, 0xa5, 0x44, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x58, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x28, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, + 0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, + 0x33, 0x31, 0x30, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, + 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x17, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x45, + 0x56, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, + 0x34, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, + 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xd9, 0xb4, + 0x05, 0xf2, 0x38, 0x67, 0x0f, 0x09, 0xe7, 0x7c, 0xf5, 0x63, 0x2a, 0xe5, + 0xb9, 0x5e, 0xa8, 0x11, 0xae, 0x75, 0x71, 0xd9, 0x4c, 0x84, 0x67, 0xad, + 0x89, 0x5d, 0xfc, 0x28, 0x3d, 0x2a, 0xb0, 0xa5, 0xd5, 0xd4, 0xe6, 0x30, + 0x0a, 0x84, 0xd4, 0xe4, 0x18, 0xcb, 0x85, 0x37, 0xc5, 0x46, 0x71, 0xeb, + 0x1c, 0x7b, 0x69, 0xdb, 0x65, 0x69, 0x8c, 0x30, 0x05, 0x3e, 0x07, 0xe1, + 0x6f, 0x3c, 0xc1, 0x0b, 0x61, 0xe6, 0x38, 0x44, 0xfc, 0xbc, 0x8c, 0x2f, + 0x4e, 0x75, 0x57, 0xf5, 0x96, 0x99, 0x7c, 0x3e, 0x87, 0x1f, 0x0f, 0x90, + 0x4b, 0x70, 0xc3, 0x3f, 0x39, 0x45, 0x3b, 0x3a, 0x6b, 0xcb, 0xbb, 0x7b, + 0x40, 0x54, 0xd1, 0x8b, 0x4b, 0xa1, 0x72, 0xd2, 0x04, 0xe9, 0xe0, 0x72, + 0x1a, 0x93, 0x11, 0x7a, 0x2f, 0xf1, 0xab, 0x9d, 0x9c, 0x98, 0x58, 0xae, + 0x2c, 0xea, 0x77, 0x5f, 0x2f, 0x2e, 0x87, 0xaf, 0xb8, 0x6b, 0xe3, 0xe2, + 0xe2, 0x3f, 0xd6, 0x3d, 0xe0, 0x96, 0x44, 0xdf, 0x11, 0x55, 0x63, 0x52, + 0x2f, 0xf4, 0x26, 0x78, 0xc4, 0x0f, 0x20, 0x4d, 0x0a, 0xc0, 0x68, 0x70, + 0x15, 0x86, 0x38, 0xee, 0xb7, 0x76, 0x88, 0xab, 0x18, 0x8f, 0x4f, 0x35, + 0x1e, 0xd4, 0x8c, 0xc9, 0xdb, 0x7e, 0x3d, 0x44, 0xd4, 0x36, 0x8c, 0xc1, + 0x37, 0xb5, 0x59, 0x5b, 0x87, 0xf9, 0xe9, 0xf1, 0xd4, 0xc5, 0x28, 0xbd, + 0x1d, 0xdc, 0xcc, 0x96, 0x72, 0xd1, 0x7a, 0xa1, 0xa7, 0x20, 0xb5, 0xb8, + 0xaf, 0xf8, 0x6e, 0xa5, 0x60, 0x7b, 0x2b, 0x8d, 0x1f, 0xee, 0xf4, 0x2b, + 0xd6, 0x69, 0xcd, 0xaf, 0xca, 0x80, 0x58, 0x29, 0xe8, 0x4c, 0x00, 0x20, + 0x8a, 0x49, 0x0a, 0x6e, 0x8e, 0x8c, 0xa8, 0xd1, 0x00, 0x12, 0x84, 0xb6, + 0xc5, 0xe2, 0x95, 0xa2, 0xc0, 0x3b, 0xa4, 0x6b, 0xf0, 0x82, 0xd0, 0x96, + 0x5d, 0x25, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x43, 0x30, + 0x82, 0x01, 0x3f, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x2f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x23, 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x47, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x40, 0x30, 0x3e, 0x30, 0x3c, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, + 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x34, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x2d, 0x30, 0x2b, 0x30, 0x29, 0xa0, 0x27, 0xa0, 0x25, 0x86, 0x23, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x31, 0x2e, 0x73, 0x79, + 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x6f, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x50, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x29, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, + 0x30, 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x11, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, + 0x2d, 0x31, 0x2d, 0x35, 0x33, 0x38, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0xde, 0xcf, 0x5c, 0x50, 0xb7, 0xae, 0x02, + 0x1f, 0x15, 0x17, 0xaa, 0x16, 0xe8, 0x0d, 0xb5, 0x28, 0x9d, 0x6a, 0x5a, + 0xf3, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0x2c, 0xd5, 0x50, 0x41, 0x97, 0x15, 0x8b, 0xf0, 0x8f, 0x36, + 0x61, 0x5b, 0x4a, 0xfb, 0x6b, 0xd9, 0x99, 0xc9, 0x33, 0x92, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xb4, 0x8e, 0xbd, 0x07, 0xb9, 0x9a, + 0x85, 0xec, 0x3b, 0x67, 0xbd, 0x07, 0x60, 0x61, 0xe6, 0x84, 0xd1, 0xd4, + 0xef, 0xeb, 0x1b, 0xba, 0x0b, 0x82, 0x4b, 0x95, 0x64, 0xb6, 0x66, 0x53, + 0x23, 0xbd, 0xb7, 0x84, 0xdd, 0xe4, 0x7b, 0x8d, 0x09, 0xda, 0xcf, 0xb2, + 0xf5, 0xf1, 0xc3, 0xbf, 0x87, 0x84, 0xbe, 0x4e, 0xa6, 0xa8, 0xc2, 0xe7, + 0x12, 0x39, 0x28, 0x34, 0xe0, 0xa4, 0x56, 0x44, 0x40, 0x0c, 0x9f, 0x88, + 0xa3, 0x15, 0xd3, 0xe8, 0xd3, 0x5e, 0xe3, 0x1c, 0x04, 0x60, 0xfb, 0x69, + 0x36, 0x4f, 0x6a, 0x7e, 0x0c, 0x2a, 0x28, 0xc1, 0xf3, 0xaa, 0x58, 0x0e, + 0x6c, 0xce, 0x1d, 0x07, 0xc3, 0x4a, 0xc0, 0x9c, 0x8d, 0xc3, 0x74, 0xb1, + 0xae, 0x82, 0xf0, 0x1a, 0xe1, 0xf9, 0x4e, 0x29, 0xbd, 0x46, 0xde, 0xb7, + 0x1d, 0xf9, 0x7d, 0xdb, 0xd9, 0x0f, 0x84, 0xcb, 0x92, 0x45, 0xcc, 0x1c, + 0xb3, 0x18, 0xf6, 0xa0, 0xcf, 0x71, 0x6f, 0x0c, 0x2e, 0x9b, 0xd2, 0x2d, + 0xb3, 0x99, 0x93, 0x83, 0x44, 0xac, 0x15, 0xaa, 0x9b, 0x2e, 0x67, 0xec, + 0x4f, 0x88, 0x69, 0x05, 0x56, 0x7b, 0x8b, 0xb2, 0x43, 0xa9, 0x3a, 0x6c, + 0x1c, 0x13, 0x33, 0x25, 0x1b, 0xfd, 0xa8, 0xc8, 0x57, 0x02, 0xfb, 0x1c, + 0xe0, 0xd1, 0xbd, 0x3b, 0x56, 0x44, 0x65, 0xc3, 0x63, 0xf5, 0x1b, 0xef, + 0xec, 0x30, 0xd9, 0xe3, 0x6e, 0x2e, 0x13, 0xe9, 0x39, 0x08, 0x2a, 0x0c, + 0x72, 0xf3, 0x9a, 0xcc, 0xf6, 0x27, 0x29, 0x84, 0xd3, 0xef, 0x4c, 0xc7, + 0x84, 0x11, 0x65, 0x1f, 0xc6, 0xe3, 0x81, 0x03, 0xdb, 0x87, 0xcc, 0x78, + 0xf7, 0xb5, 0x9d, 0x96, 0x3e, 0x6a, 0x7f, 0xbc, 0x11, 0x85, 0x7a, 0x75, + 0xe6, 0x41, 0x7d, 0x0d, 0xcf, 0xf9, 0xe5, 0x85, 0x69, 0x25, 0x8f, 0xc7, + 0x8d, 0x07, 0x2d, 0xf8, 0x69, 0x0f, 0xcb, 0x41, 0x53, 0x00, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 146035 (0x23a73) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA + Validity + Not Before: Jun 11 22:02:59 2014 GMT + Not After : May 20 22:02:59 2022 GMT + Subject: C=US, O=GeoTrust Inc., OU=Domain Validated SSL, CN=GeoTrust DV SSL CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b3:44:3a:6c:b0:ae:cb:14:f9:8c:19:74:34:5c: + a9:69:e3:88:53:77:a5:a7:ff:bd:d1:3c:0d:27:e4: + de:ad:7f:bc:d1:90:58:93:d6:a6:da:39:9c:ad:e1: + 0e:56:46:ee:95:9e:10:68:4c:9c:2b:f6:6a:3a:8b: + 80:81:87:06:57:25:1a:56:52:94:dd:90:eb:67:3b: + de:fa:ae:36:68:d3:62:69:f6:6c:82:24:44:4f:87: + 5c:98:11:95:64:6b:e8:0c:d1:dd:e6:27:97:ae:cc: + e2:91:6a:41:12:b6:ab:e5:cc:6e:cc:23:b8:63:8a: + 1f:31:93:2d:06:c4:f7:e8:3d:58:cd:97:08:46:6c: + 7b:74:c0:f8:fc:31:3b:a7:7f:d7:8f:b0:c9:15:63: + 50:7a:12:4d:f5:12:1e:a3:7e:55:e3:75:b7:ea:1e: + ea:31:2c:08:4e:d8:cb:43:74:89:24:bc:d2:0e:1e: + f0:db:05:24:f6:8a:bf:10:27:84:41:1a:f6:18:53: + ee:91:d0:54:17:d3:7d:3e:7e:b2:7d:a8:bf:db:b9: + 21:2a:f0:89:b9:08:6e:5a:b3:5e:ea:82:b8:7e:27: + 0b:cc:56:73:81:05:4f:e3:96:2d:71:d5:78:a7:60: + c3:d7:ec:aa:39:1a:05:39:82:81:e0:15:2c:35:d1: + ee:25 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E + + X509v3 Subject Key Identifier: + AD:65:22:85:90:D0:3B:E3:A1:49:8B:37:F9:F1:0B:1D:5F:17:A0:77 + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/crls/gtglobal.crl + + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-699 + Signature Algorithm: sha256WithRSAEncryption + 4e:27:b8:1a:c7:3b:dc:5d:bb:9e:1a:35:23:1e:88:55:90:d1: + ec:86:9c:88:b7:e0:1f:67:87:e2:7c:b5:43:03:0e:b6:02:e8: + e0:ff:86:84:19:71:e9:f2:4b:f5:9e:2e:2e:5e:db:ab:d6:1c: + 4e:c4:3e:b8:2c:78:86:71:10:ae:8d:c5:70:bf:a4:f9:89:e6: + b4:ed:e8:4b:ed:7c:09:2a:09:08:06:3e:d4:e1:de:82:92:0c: + 34:30:35:0a:c1:60:75:ca:b6:55:6b:aa:00:42:cb:3f:fb:10: + e1:fb:85:c1:21:90:72:2b:6e:c0:e8:9d:d9:b5:5a:50:8e:34: + 1e:bb:38:a7:3c:31:bd:7a:f2:43:8b:eb:16:ca:ad:9b:de:6b: + 1e:f8:4f:b6:5e:4a:29:1f:7a:14:ee:91:f4:94:4f:a4:bd:9b: + 76:7a:bc:f1:51:7a:96:a8:81:0e:83:87:3f:8b:ae:5e:32:9b: + 34:9e:b2:e7:db:2f:ec:02:a0:e1:fd:51:52:fe:2c:db:36:ba: + c1:d6:5e:4b:58:6d:de:c6:e1:e1:fa:9a:03:2c:5b:a2:e1:b3: + 9b:f9:36:ec:c1:73:fa:33:12:66:95:e3:69:10:b6:d7:aa:33: + fa:f6:9d:41:6d:96:2a:ba:be:83:31:41:7f:0c:0a:d2:69:d6: + fc:35:4c:c3 +-----BEGIN CERTIFICATE----- +MIIEbzCCA1egAwIBAgIDAjpzMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMTQwNjExMjIwMjU5WhcNMjIwNTIwMjIwMjU5WjBmMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UECxMURG9tYWluIFZh +bGlkYXRlZCBTU0wxIDAeBgNVBAMTF0dlb1RydXN0IERWIFNTTCBDQSAtIEczMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs0Q6bLCuyxT5jBl0NFypaeOI +U3elp/+90TwNJ+TerX+80ZBYk9am2jmcreEOVkbulZ4QaEycK/ZqOouAgYcGVyUa +VlKU3ZDrZzve+q42aNNiafZsgiRET4dcmBGVZGvoDNHd5ieXrszikWpBErar5cxu +zCO4Y4ofMZMtBsT36D1YzZcIRmx7dMD4/DE7p3/Xj7DJFWNQehJN9RIeo35V43W3 +6h7qMSwITtjLQ3SJJLzSDh7w2wUk9oq/ECeEQRr2GFPukdBUF9N9Pn6yfai/27kh +KvCJuQhuWrNe6oK4ficLzFZzgQVP45YtcdV4p2DD1+yqORoFOYKB4BUsNdHuJQID +AQABo4IBSDCCAUQwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwRfap9ZbjKzE4wHQYD +VR0OBBYEFK1lIoWQ0DvjoUmLN/nxCx1fF6B3MBIGA1UdEwEB/wQIMAYBAf8CAQAw +DgYDVR0PAQH/BAQDAgEGMDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9nLnN5bWNi +LmNvbS9jcmxzL2d0Z2xvYmFsLmNybDAuBggrBgEFBQcBAQQiMCAwHgYIKwYBBQUH +MAGGEmh0dHA6Ly9nLnN5bWNkLmNvbTBMBgNVHSAERTBDMEEGCmCGSAGG+EUBBzYw +MzAxBggrBgEFBQcCARYlaHR0cDovL3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2Vz +L2NwczApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQS0ktMS02OTkw +DQYJKoZIhvcNAQELBQADggEBAE4nuBrHO9xdu54aNSMeiFWQ0eyGnIi34B9nh+J8 +tUMDDrYC6OD/hoQZcenyS/WeLi5e26vWHE7EPrgseIZxEK6NxXC/pPmJ5rTt6Evt +fAkqCQgGPtTh3oKSDDQwNQrBYHXKtlVrqgBCyz/7EOH7hcEhkHIrbsDondm1WlCO +NB67OKc8Mb168kOL6xbKrZveax74T7ZeSikfehTukfSUT6S9m3Z6vPFRepaogQ6D +hz+Lrl4ymzSesufbL+wCoOH9UVL+LNs2usHWXktYbd7G4eH6mgMsW6Lhs5v5NuzB +c/ozEmaV42kQtteqM/r2nUFtliq6voMxQX8MCtJp1vw1TMM= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_16[] = { + 0x30, 0x82, 0x04, 0x6f, 0x30, 0x82, 0x03, 0x57, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x02, 0x3a, 0x73, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, + 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, + 0x36, 0x31, 0x31, 0x32, 0x32, 0x30, 0x32, 0x35, 0x39, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x32, 0x30, 0x32, 0x35, 0x39, + 0x5a, 0x30, 0x66, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x14, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x53, 0x53, 0x4c, 0x31, + 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x17, 0x47, 0x65, + 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x44, 0x56, 0x20, 0x53, 0x53, + 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xb3, 0x44, 0x3a, 0x6c, 0xb0, 0xae, + 0xcb, 0x14, 0xf9, 0x8c, 0x19, 0x74, 0x34, 0x5c, 0xa9, 0x69, 0xe3, 0x88, + 0x53, 0x77, 0xa5, 0xa7, 0xff, 0xbd, 0xd1, 0x3c, 0x0d, 0x27, 0xe4, 0xde, + 0xad, 0x7f, 0xbc, 0xd1, 0x90, 0x58, 0x93, 0xd6, 0xa6, 0xda, 0x39, 0x9c, + 0xad, 0xe1, 0x0e, 0x56, 0x46, 0xee, 0x95, 0x9e, 0x10, 0x68, 0x4c, 0x9c, + 0x2b, 0xf6, 0x6a, 0x3a, 0x8b, 0x80, 0x81, 0x87, 0x06, 0x57, 0x25, 0x1a, + 0x56, 0x52, 0x94, 0xdd, 0x90, 0xeb, 0x67, 0x3b, 0xde, 0xfa, 0xae, 0x36, + 0x68, 0xd3, 0x62, 0x69, 0xf6, 0x6c, 0x82, 0x24, 0x44, 0x4f, 0x87, 0x5c, + 0x98, 0x11, 0x95, 0x64, 0x6b, 0xe8, 0x0c, 0xd1, 0xdd, 0xe6, 0x27, 0x97, + 0xae, 0xcc, 0xe2, 0x91, 0x6a, 0x41, 0x12, 0xb6, 0xab, 0xe5, 0xcc, 0x6e, + 0xcc, 0x23, 0xb8, 0x63, 0x8a, 0x1f, 0x31, 0x93, 0x2d, 0x06, 0xc4, 0xf7, + 0xe8, 0x3d, 0x58, 0xcd, 0x97, 0x08, 0x46, 0x6c, 0x7b, 0x74, 0xc0, 0xf8, + 0xfc, 0x31, 0x3b, 0xa7, 0x7f, 0xd7, 0x8f, 0xb0, 0xc9, 0x15, 0x63, 0x50, + 0x7a, 0x12, 0x4d, 0xf5, 0x12, 0x1e, 0xa3, 0x7e, 0x55, 0xe3, 0x75, 0xb7, + 0xea, 0x1e, 0xea, 0x31, 0x2c, 0x08, 0x4e, 0xd8, 0xcb, 0x43, 0x74, 0x89, + 0x24, 0xbc, 0xd2, 0x0e, 0x1e, 0xf0, 0xdb, 0x05, 0x24, 0xf6, 0x8a, 0xbf, + 0x10, 0x27, 0x84, 0x41, 0x1a, 0xf6, 0x18, 0x53, 0xee, 0x91, 0xd0, 0x54, + 0x17, 0xd3, 0x7d, 0x3e, 0x7e, 0xb2, 0x7d, 0xa8, 0xbf, 0xdb, 0xb9, 0x21, + 0x2a, 0xf0, 0x89, 0xb9, 0x08, 0x6e, 0x5a, 0xb3, 0x5e, 0xea, 0x82, 0xb8, + 0x7e, 0x27, 0x0b, 0xcc, 0x56, 0x73, 0x81, 0x05, 0x4f, 0xe3, 0x96, 0x2d, + 0x71, 0xd5, 0x78, 0xa7, 0x60, 0xc3, 0xd7, 0xec, 0xaa, 0x39, 0x1a, 0x05, + 0x39, 0x82, 0x81, 0xe0, 0x15, 0x2c, 0x35, 0xd1, 0xee, 0x25, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x48, 0x30, 0x82, 0x01, 0x44, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05, 0x64, 0x0c, 0x11, + 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc, 0x4e, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xad, 0x65, 0x22, 0x85, 0x90, + 0xd0, 0x3b, 0xe3, 0xa1, 0x49, 0x8b, 0x37, 0xf9, 0xf1, 0x0b, 0x1d, 0x5f, + 0x17, 0xa0, 0x77, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x35, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2e, + 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, 0x26, 0x86, 0x24, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x67, 0x74, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x2e, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x22, + 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, + 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4c, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, + 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, 0x36, 0x30, + 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2f, 0x63, 0x70, 0x73, 0x30, 0x29, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, + 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, + 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, 0x36, 0x39, 0x39, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x4e, 0x27, 0xb8, 0x1a, 0xc7, + 0x3b, 0xdc, 0x5d, 0xbb, 0x9e, 0x1a, 0x35, 0x23, 0x1e, 0x88, 0x55, 0x90, + 0xd1, 0xec, 0x86, 0x9c, 0x88, 0xb7, 0xe0, 0x1f, 0x67, 0x87, 0xe2, 0x7c, + 0xb5, 0x43, 0x03, 0x0e, 0xb6, 0x02, 0xe8, 0xe0, 0xff, 0x86, 0x84, 0x19, + 0x71, 0xe9, 0xf2, 0x4b, 0xf5, 0x9e, 0x2e, 0x2e, 0x5e, 0xdb, 0xab, 0xd6, + 0x1c, 0x4e, 0xc4, 0x3e, 0xb8, 0x2c, 0x78, 0x86, 0x71, 0x10, 0xae, 0x8d, + 0xc5, 0x70, 0xbf, 0xa4, 0xf9, 0x89, 0xe6, 0xb4, 0xed, 0xe8, 0x4b, 0xed, + 0x7c, 0x09, 0x2a, 0x09, 0x08, 0x06, 0x3e, 0xd4, 0xe1, 0xde, 0x82, 0x92, + 0x0c, 0x34, 0x30, 0x35, 0x0a, 0xc1, 0x60, 0x75, 0xca, 0xb6, 0x55, 0x6b, + 0xaa, 0x00, 0x42, 0xcb, 0x3f, 0xfb, 0x10, 0xe1, 0xfb, 0x85, 0xc1, 0x21, + 0x90, 0x72, 0x2b, 0x6e, 0xc0, 0xe8, 0x9d, 0xd9, 0xb5, 0x5a, 0x50, 0x8e, + 0x34, 0x1e, 0xbb, 0x38, 0xa7, 0x3c, 0x31, 0xbd, 0x7a, 0xf2, 0x43, 0x8b, + 0xeb, 0x16, 0xca, 0xad, 0x9b, 0xde, 0x6b, 0x1e, 0xf8, 0x4f, 0xb6, 0x5e, + 0x4a, 0x29, 0x1f, 0x7a, 0x14, 0xee, 0x91, 0xf4, 0x94, 0x4f, 0xa4, 0xbd, + 0x9b, 0x76, 0x7a, 0xbc, 0xf1, 0x51, 0x7a, 0x96, 0xa8, 0x81, 0x0e, 0x83, + 0x87, 0x3f, 0x8b, 0xae, 0x5e, 0x32, 0x9b, 0x34, 0x9e, 0xb2, 0xe7, 0xdb, + 0x2f, 0xec, 0x02, 0xa0, 0xe1, 0xfd, 0x51, 0x52, 0xfe, 0x2c, 0xdb, 0x36, + 0xba, 0xc1, 0xd6, 0x5e, 0x4b, 0x58, 0x6d, 0xde, 0xc6, 0xe1, 0xe1, 0xfa, + 0x9a, 0x03, 0x2c, 0x5b, 0xa2, 0xe1, 0xb3, 0x9b, 0xf9, 0x36, 0xec, 0xc1, + 0x73, 0xfa, 0x33, 0x12, 0x66, 0x95, 0xe3, 0x69, 0x10, 0xb6, 0xd7, 0xaa, + 0x33, 0xfa, 0xf6, 0x9d, 0x41, 0x6d, 0x96, 0x2a, 0xba, 0xbe, 0x83, 0x31, + 0x41, 0x7f, 0x0c, 0x0a, 0xd2, 0x69, 0xd6, 0xfc, 0x35, 0x4c, 0xc3, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 12037640545166866303 (0xa70e4a4c3482b77f) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority + Validity + Not Before: Sep 2 00:00:00 2009 GMT + Not After : Jun 28 17:39:16 2034 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Services Root Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d5:0c:3a:c4:2a:f9:4e:e2:f5:be:19:97:5f:8e: + 88:53:b1:1f:3f:cb:cf:9f:20:13:6d:29:3a:c8:0f: + 7d:3c:f7:6b:76:38:63:d9:36:60:a8:9b:5e:5c:00: + 80:b2:2f:59:7f:f6:87:f9:25:43:86:e7:69:1b:52: + 9a:90:e1:71:e3:d8:2d:0d:4e:6f:f6:c8:49:d9:b6: + f3:1a:56:ae:2b:b6:74:14:eb:cf:fb:26:e3:1a:ba: + 1d:96:2e:6a:3b:58:94:89:47:56:ff:25:a0:93:70: + 53:83:da:84:74:14:c3:67:9e:04:68:3a:df:8e:40: + 5a:1d:4a:4e:cf:43:91:3b:e7:56:d6:00:70:cb:52: + ee:7b:7d:ae:3a:e7:bc:31:f9:45:f6:c2:60:cf:13: + 59:02:2b:80:cc:34:47:df:b9:de:90:65:6d:02:cf: + 2c:91:a6:a6:e7:de:85:18:49:7c:66:4e:a3:3a:6d: + a9:b5:ee:34:2e:ba:0d:03:b8:33:df:47:eb:b1:6b: + 8d:25:d9:9b:ce:81:d1:45:46:32:96:70:87:de:02: + 0e:49:43:85:b6:6c:73:bb:64:ea:61:41:ac:c9:d4: + 54:df:87:2f:c7:22:b2:26:cc:9f:59:54:68:9f:fc: + be:2a:2f:c4:55:1c:75:40:60:17:85:02:55:39:8b: + 7f:05 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 9C:5F:00:DF:AA:01:D7:30:2B:38:88:A2:B8:6D:4A:9C:F2:11:91:83 + X509v3 Authority Key Identifier: + keyid:BF:5F:B7:D1:CE:DD:1F:86:F4:5B:55:AC:DC:D7:10:C2:0E:A9:88:E7 + + Authority Information Access: + OCSP - URI:http://o.ss2.us/ + CA Issuers - URI:http://x.ss2.us/x.cer + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://s.ss2.us/r.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + + Signature Algorithm: sha256WithRSAEncryption + 23:1d:e3:8a:57:ca:7d:e9:17:79:4c:f1:1e:55:fd:cc:53:6e: + 3e:47:0f:df:c6:55:f2:b2:04:36:ed:80:1f:53:c4:5d:34:28: + 6b:be:c7:55:fc:67:ea:cb:3f:7f:90:b2:33:cd:1b:58:10:82: + 02:f8:f8:2f:f5:13:60:d4:05:ce:f1:81:08:c1:dd:a7:75:97: + 4f:18:b9:6d:de:f7:93:91:08:ba:7e:40:2c:ed:c1:ea:bb:76: + 9e:33:06:77:1d:0d:08:7f:53:dd:1b:64:ab:82:27:f1:69:d5: + 4d:5e:ae:f4:a1:c3:75:a7:58:44:2d:f2:3c:70:98:ac:ba:69: + b6:95:77:7f:0f:31:5e:2c:fc:a0:87:3a:47:69:f0:79:5f:f4: + 14:54:a4:95:5e:11:78:12:60:27:ce:9f:c2:77:ff:23:53:77: + 5d:ba:ff:ea:59:e7:db:cf:af:92:96:ef:24:9a:35:10:7a:9c: + 91:c6:0e:7d:99:f6:3f:19:df:f5:72:54:e1:15:a9:07:59:7b: + 83:bf:52:2e:46:8c:b2:00:64:76:1c:48:d3:d8:79:e8:6e:56: + cc:ae:2c:03:90:d7:19:38:99:e4:ca:09:19:5b:ff:07:96:b0: + a8:7f:34:49:df:56:a9:f7:b0:5f:ed:33:ed:8c:47:b7:30:03: + 5d:f4:03:8c +-----BEGIN CERTIFICATE----- +MIIEdTCCA12gAwIBAgIJAKcOSkw0grd/MA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV +BAYTAlVTMSUwIwYDVQQKExxTdGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTIw +MAYDVQQLEylTdGFyZmllbGQgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTAeFw0wOTA5MDIwMDAwMDBaFw0zNDA2MjgxNzM5MTZaMIGYMQswCQYDVQQGEwJV +UzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjE7MDkGA1UEAxMyU3RhcmZp +ZWxkIFNlcnZpY2VzIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVDDrEKvlO4vW+GZdfjohTsR8/ +y8+fIBNtKTrID30892t2OGPZNmCom15cAICyL1l/9of5JUOG52kbUpqQ4XHj2C0N +Tm/2yEnZtvMaVq4rtnQU68/7JuMauh2WLmo7WJSJR1b/JaCTcFOD2oR0FMNnngRo +Ot+OQFodSk7PQ5E751bWAHDLUu57fa4657wx+UX2wmDPE1kCK4DMNEffud6QZW0C +zyyRpqbn3oUYSXxmTqM6bam17jQuug0DuDPfR+uxa40l2ZvOgdFFRjKWcIfeAg5J +Q4W2bHO7ZOphQazJ1FTfhy/HIrImzJ9ZVGif/L4qL8RVHHVAYBeFAlU5i38FAgMB +AAGjgfAwge0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0O +BBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMB8GA1UdIwQYMBaAFL9ft9HO3R+G9FtV +rNzXEMIOqYjnME8GCCsGAQUFBwEBBEMwQTAcBggrBgEFBQcwAYYQaHR0cDovL28u +c3MyLnVzLzAhBggrBgEFBQcwAoYVaHR0cDovL3guc3MyLnVzL3guY2VyMCYGA1Ud +HwQfMB0wG6AZoBeGFWh0dHA6Ly9zLnNzMi51cy9yLmNybDARBgNVHSAECjAIMAYG +BFUdIAAwDQYJKoZIhvcNAQELBQADggEBACMd44pXyn3pF3lM8R5V/cxTbj5HD9/G +VfKyBDbtgB9TxF00KGu+x1X8Z+rLP3+QsjPNG1gQggL4+C/1E2DUBc7xgQjB3ad1 +l08YuW3e95ORCLp+QCztweq7dp4zBncdDQh/U90bZKuCJ/Fp1U1ervShw3WnWEQt +8jxwmKy6abaVd38PMV4s/KCHOkdp8Hlf9BRUpJVeEXgSYCfOn8J3/yNTd126/+pZ +59vPr5KW7ySaNRB6nJHGDn2Z9j8Z3/VyVOEVqQdZe4O/Ui5GjLIAZHYcSNPYeehu +VsyuLAOQ1xk4meTKCRlb/weWsKh/NEnfVqn3sF/tM+2MR7cwA130A4w= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_17[] = { + 0x30, 0x82, 0x04, 0x75, 0x30, 0x82, 0x03, 0x5d, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x09, 0x00, 0xa7, 0x0e, 0x4a, 0x4c, 0x34, 0x82, 0xb7, 0x7f, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, + 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, + 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x32, 0x30, + 0x30, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x29, 0x53, 0x74, 0x61, 0x72, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, + 0x32, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30, 0x39, 0x30, 0x32, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x34, 0x30, 0x36, + 0x32, 0x38, 0x31, 0x37, 0x33, 0x39, 0x31, 0x36, 0x5a, 0x30, 0x81, 0x98, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, + 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, + 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, + 0x64, 0x61, 0x6c, 0x65, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, + 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x3b, 0x30, 0x39, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xd5, 0x0c, 0x3a, 0xc4, 0x2a, 0xf9, 0x4e, + 0xe2, 0xf5, 0xbe, 0x19, 0x97, 0x5f, 0x8e, 0x88, 0x53, 0xb1, 0x1f, 0x3f, + 0xcb, 0xcf, 0x9f, 0x20, 0x13, 0x6d, 0x29, 0x3a, 0xc8, 0x0f, 0x7d, 0x3c, + 0xf7, 0x6b, 0x76, 0x38, 0x63, 0xd9, 0x36, 0x60, 0xa8, 0x9b, 0x5e, 0x5c, + 0x00, 0x80, 0xb2, 0x2f, 0x59, 0x7f, 0xf6, 0x87, 0xf9, 0x25, 0x43, 0x86, + 0xe7, 0x69, 0x1b, 0x52, 0x9a, 0x90, 0xe1, 0x71, 0xe3, 0xd8, 0x2d, 0x0d, + 0x4e, 0x6f, 0xf6, 0xc8, 0x49, 0xd9, 0xb6, 0xf3, 0x1a, 0x56, 0xae, 0x2b, + 0xb6, 0x74, 0x14, 0xeb, 0xcf, 0xfb, 0x26, 0xe3, 0x1a, 0xba, 0x1d, 0x96, + 0x2e, 0x6a, 0x3b, 0x58, 0x94, 0x89, 0x47, 0x56, 0xff, 0x25, 0xa0, 0x93, + 0x70, 0x53, 0x83, 0xda, 0x84, 0x74, 0x14, 0xc3, 0x67, 0x9e, 0x04, 0x68, + 0x3a, 0xdf, 0x8e, 0x40, 0x5a, 0x1d, 0x4a, 0x4e, 0xcf, 0x43, 0x91, 0x3b, + 0xe7, 0x56, 0xd6, 0x00, 0x70, 0xcb, 0x52, 0xee, 0x7b, 0x7d, 0xae, 0x3a, + 0xe7, 0xbc, 0x31, 0xf9, 0x45, 0xf6, 0xc2, 0x60, 0xcf, 0x13, 0x59, 0x02, + 0x2b, 0x80, 0xcc, 0x34, 0x47, 0xdf, 0xb9, 0xde, 0x90, 0x65, 0x6d, 0x02, + 0xcf, 0x2c, 0x91, 0xa6, 0xa6, 0xe7, 0xde, 0x85, 0x18, 0x49, 0x7c, 0x66, + 0x4e, 0xa3, 0x3a, 0x6d, 0xa9, 0xb5, 0xee, 0x34, 0x2e, 0xba, 0x0d, 0x03, + 0xb8, 0x33, 0xdf, 0x47, 0xeb, 0xb1, 0x6b, 0x8d, 0x25, 0xd9, 0x9b, 0xce, + 0x81, 0xd1, 0x45, 0x46, 0x32, 0x96, 0x70, 0x87, 0xde, 0x02, 0x0e, 0x49, + 0x43, 0x85, 0xb6, 0x6c, 0x73, 0xbb, 0x64, 0xea, 0x61, 0x41, 0xac, 0xc9, + 0xd4, 0x54, 0xdf, 0x87, 0x2f, 0xc7, 0x22, 0xb2, 0x26, 0xcc, 0x9f, 0x59, + 0x54, 0x68, 0x9f, 0xfc, 0xbe, 0x2a, 0x2f, 0xc4, 0x55, 0x1c, 0x75, 0x40, + 0x60, 0x17, 0x85, 0x02, 0x55, 0x39, 0x8b, 0x7f, 0x05, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x81, 0xf0, 0x30, 0x81, 0xed, 0x30, 0x0f, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, + 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, + 0x04, 0x16, 0x04, 0x14, 0x9c, 0x5f, 0x00, 0xdf, 0xaa, 0x01, 0xd7, 0x30, + 0x2b, 0x38, 0x88, 0xa2, 0xb8, 0x6d, 0x4a, 0x9c, 0xf2, 0x11, 0x91, 0x83, + 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, + 0x14, 0xbf, 0x5f, 0xb7, 0xd1, 0xce, 0xdd, 0x1f, 0x86, 0xf4, 0x5b, 0x55, + 0xac, 0xdc, 0xd7, 0x10, 0xc2, 0x0e, 0xa9, 0x88, 0xe7, 0x30, 0x4f, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x43, 0x30, + 0x41, 0x30, 0x1c, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, + 0x01, 0x86, 0x10, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x2e, + 0x73, 0x73, 0x32, 0x2e, 0x75, 0x73, 0x2f, 0x30, 0x21, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x15, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x78, 0x2e, 0x73, 0x73, 0x32, 0x2e, 0x75, 0x73, + 0x2f, 0x78, 0x2e, 0x63, 0x65, 0x72, 0x30, 0x26, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x1f, 0x30, 0x1d, 0x30, 0x1b, 0xa0, 0x19, 0xa0, 0x17, 0x86, + 0x15, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x2e, 0x73, 0x73, + 0x32, 0x2e, 0x75, 0x73, 0x2f, 0x72, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x11, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x0a, 0x30, 0x08, 0x30, 0x06, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, + 0x00, 0x23, 0x1d, 0xe3, 0x8a, 0x57, 0xca, 0x7d, 0xe9, 0x17, 0x79, 0x4c, + 0xf1, 0x1e, 0x55, 0xfd, 0xcc, 0x53, 0x6e, 0x3e, 0x47, 0x0f, 0xdf, 0xc6, + 0x55, 0xf2, 0xb2, 0x04, 0x36, 0xed, 0x80, 0x1f, 0x53, 0xc4, 0x5d, 0x34, + 0x28, 0x6b, 0xbe, 0xc7, 0x55, 0xfc, 0x67, 0xea, 0xcb, 0x3f, 0x7f, 0x90, + 0xb2, 0x33, 0xcd, 0x1b, 0x58, 0x10, 0x82, 0x02, 0xf8, 0xf8, 0x2f, 0xf5, + 0x13, 0x60, 0xd4, 0x05, 0xce, 0xf1, 0x81, 0x08, 0xc1, 0xdd, 0xa7, 0x75, + 0x97, 0x4f, 0x18, 0xb9, 0x6d, 0xde, 0xf7, 0x93, 0x91, 0x08, 0xba, 0x7e, + 0x40, 0x2c, 0xed, 0xc1, 0xea, 0xbb, 0x76, 0x9e, 0x33, 0x06, 0x77, 0x1d, + 0x0d, 0x08, 0x7f, 0x53, 0xdd, 0x1b, 0x64, 0xab, 0x82, 0x27, 0xf1, 0x69, + 0xd5, 0x4d, 0x5e, 0xae, 0xf4, 0xa1, 0xc3, 0x75, 0xa7, 0x58, 0x44, 0x2d, + 0xf2, 0x3c, 0x70, 0x98, 0xac, 0xba, 0x69, 0xb6, 0x95, 0x77, 0x7f, 0x0f, + 0x31, 0x5e, 0x2c, 0xfc, 0xa0, 0x87, 0x3a, 0x47, 0x69, 0xf0, 0x79, 0x5f, + 0xf4, 0x14, 0x54, 0xa4, 0x95, 0x5e, 0x11, 0x78, 0x12, 0x60, 0x27, 0xce, + 0x9f, 0xc2, 0x77, 0xff, 0x23, 0x53, 0x77, 0x5d, 0xba, 0xff, 0xea, 0x59, + 0xe7, 0xdb, 0xcf, 0xaf, 0x92, 0x96, 0xef, 0x24, 0x9a, 0x35, 0x10, 0x7a, + 0x9c, 0x91, 0xc6, 0x0e, 0x7d, 0x99, 0xf6, 0x3f, 0x19, 0xdf, 0xf5, 0x72, + 0x54, 0xe1, 0x15, 0xa9, 0x07, 0x59, 0x7b, 0x83, 0xbf, 0x52, 0x2e, 0x46, + 0x8c, 0xb2, 0x00, 0x64, 0x76, 0x1c, 0x48, 0xd3, 0xd8, 0x79, 0xe8, 0x6e, + 0x56, 0xcc, 0xae, 0x2c, 0x03, 0x90, 0xd7, 0x19, 0x38, 0x99, 0xe4, 0xca, + 0x09, 0x19, 0x5b, 0xff, 0x07, 0x96, 0xb0, 0xa8, 0x7f, 0x34, 0x49, 0xdf, + 0x56, 0xa9, 0xf7, 0xb0, 0x5f, 0xed, 0x33, 0xed, 0x8c, 0x47, 0xb7, 0x30, + 0x03, 0x5d, 0xf4, 0x03, 0x8c, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120038006 (0x727a276) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Validity + Not Before: Feb 27 18:09:27 2014 GMT + Not After : Jun 9 17:07:29 2020 GMT + Subject: C=JP, O=Cybertrust Japan Co., Ltd., CN=Cybertrust Japan Public CA G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:94:56:a3:45:44:54:aa:60:64:bf:b8:57:9f:4e: + db:d4:79:68:5f:13:05:f4:3f:cd:25:dd:3c:5e:58: + 77:1c:9d:e6:9f:e3:32:49:ef:02:3a:34:53:8d:52: + e5:e3:39:66:1f:e7:33:61:b6:27:c6:24:55:50:27: + 02:65:f0:b0:8c:41:8d:30:5e:47:5b:82:6f:c7:9c: + a3:28:43:6d:58:7b:c8:15:98:4e:25:6f:cb:76:27: + 5b:0b:2c:2c:b5:98:23:e7:8b:7c:fd:77:1a:c4:52: + ba:5d:19:ee:78:21:4d:21:9a:d9:12:7c:33:15:6b: + 1a:c9:81:ea:da:da:57:b7:d5:2f:ce:1f:4b:fc:b4: + 33:e0:a0:c9:94:27:bb:27:40:b6:90:db:ac:9e:75: + a6:11:2b:49:19:2d:c3:c2:43:07:09:bb:3d:6e:88: + a3:e3:8a:c5:d2:86:f6:65:5b:34:c3:9f:4c:02:e5: + 09:ba:2c:c6:76:66:eb:d1:76:25:f4:30:13:fb:58: + 60:a8:58:e3:51:6f:4b:08:04:61:8d:ac:a9:30:2f: + 52:41:a3:22:c1:33:59:ab:7b:59:f9:93:67:4b:c9: + 89:75:52:ef:29:49:34:93:1c:9c:93:73:9c:19:ce: + 5c:18:cd:4c:09:27:c1:3f:f5:49:ec:f4:e2:df:4b: + af:8f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6334.1.0 + CPS: http://cybertrust.omniroot.com/repository.cfm + + Authority Information Access: + OCSP - URI:http://ocsp.omniroot.com/baltimoreroot + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Authority Key Identifier: + keyid:E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://cdp1.public-trust.com/CRL/Omniroot2025.crl + + X509v3 Subject Key Identifier: + 73:A8:08:53:29:B8:15:FB:99:80:E5:C5:37:D8:F8:39:7B:A4:13:06 + Signature Algorithm: sha256WithRSAEncryption + 68:df:fe:72:54:4e:1b:fb:5c:6e:5a:45:46:cf:42:be:b2:02: + 9c:9d:90:6a:09:2e:b7:36:64:24:b6:b1:e2:48:67:ce:17:46: + 9b:23:75:78:11:f6:c6:09:38:42:62:96:97:30:7b:51:77:df: + 33:b5:00:51:29:d5:24:fe:b7:98:a2:ac:6c:a1:13:7f:ca:f3: + b7:a6:52:c2:16:0d:ec:3a:bf:a3:37:77:4f:ae:7b:55:1d:46: + e9:10:da:c3:b4:05:5c:5b:f6:48:21:00:89:f4:bb:38:8e:1e: + 33:f3:49:97:81:31:6c:16:74:08:91:17:c0:d3:25:b3:bc:c1: + 15:b5:a4:cd:84:4d:b9:c8:eb:c5:59:42:10:14:25:79:f8:db: + b6:d0:e6:d3:a0:14:7c:17:1c:20:1e:ed:99:90:65:c0:41:71: + c3:ab:3f:29:41:67:f9:e2:d1:98:e3:f8:df:3a:b8:ca:a3:6f: + 68:8b:6c:9f:6e:88:7c:9d:41:5c:ba:cb:19:05:83:9c:99:f4: + 1a:d2:24:69:57:0a:0f:7a:c3:1b:2c:4b:06:d3:2a:97:7e:07: + b0:f9:20:5a:b5:92:4b:5b:a8:eb:eb:36:33:47:36:da:72:9c: + bf:68:45:81:31:be:d2:fd:3b:e9:72:d5:70:dd:a6:de:5f:0d: + b6:5e:00:49 +-----BEGIN CERTIFICATE----- +MIIEeTCCA2GgAwIBAgIEByeidjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTE0MDIyNzE4MDkyN1oX +DTIwMDYwOTE3MDcyOVowWjELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1 +c3QgSmFwYW4gQ28uLCBMdGQuMSYwJAYDVQQDEx1DeWJlcnRydXN0IEphcGFuIFB1 +YmxpYyBDQSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJRWo0VE +VKpgZL+4V59O29R5aF8TBfQ/zSXdPF5Ydxyd5p/jMknvAjo0U41S5eM5Zh/nM2G2 +J8YkVVAnAmXwsIxBjTBeR1uCb8ecoyhDbVh7yBWYTiVvy3YnWwssLLWYI+eLfP13 +GsRSul0Z7nghTSGa2RJ8MxVrGsmB6traV7fVL84fS/y0M+CgyZQnuydAtpDbrJ51 +phErSRktw8JDBwm7PW6Io+OKxdKG9mVbNMOfTALlCbosxnZm69F2JfQwE/tYYKhY +41FvSwgEYY2sqTAvUkGjIsEzWat7WfmTZ0vJiXVS7ylJNJMcnJNznBnOXBjNTAkn +wT/1Sez04t9Lr48CAwEAAaOCAUUwggFBMBIGA1UdEwEB/wQIMAYBAf8CAQAwUwYD +VR0gBEwwSjBIBgkrBgEEAbE+AQAwOzA5BggrBgEFBQcCARYtaHR0cDovL2N5YmVy +dHJ1c3Qub21uaXJvb3QuY29tL3JlcG9zaXRvcnkuY2ZtMEIGCCsGAQUFBwEBBDYw +NDAyBggrBgEFBQcwAYYmaHR0cDovL29jc3Aub21uaXJvb3QuY29tL2JhbHRpbW9y +ZXJvb3QwDgYDVR0PAQH/BAQDAgEGMB8GA1UdIwQYMBaAFOWdWTCCR1jMrPoIVDaG +ezq1BE3wMEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jZHAxLnB1YmxpYy10cnVz +dC5jb20vQ1JML09tbmlyb290MjAyNS5jcmwwHQYDVR0OBBYEFHOoCFMpuBX7mYDl +xTfY+Dl7pBMGMA0GCSqGSIb3DQEBCwUAA4IBAQBo3/5yVE4b+1xuWkVGz0K+sgKc +nZBqCS63NmQktrHiSGfOF0abI3V4EfbGCThCYpaXMHtRd98ztQBRKdUk/reYoqxs +oRN/yvO3plLCFg3sOr+jN3dPrntVHUbpENrDtAVcW/ZIIQCJ9Ls4jh4z80mXgTFs +FnQIkRfA0yWzvMEVtaTNhE25yOvFWUIQFCV5+Nu20ObToBR8FxwgHu2ZkGXAQXHD +qz8pQWf54tGY4/jfOrjKo29oi2yfboh8nUFcussZBYOcmfQa0iRpVwoPesMbLEsG +0yqXfgew+SBatZJLW6jr6zYzRzbacpy/aEWBMb7S/TvpctVw3abeXw22XgBJ +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_18[] = { + 0x30, 0x82, 0x04, 0x79, 0x30, 0x82, 0x03, 0x61, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0xa2, 0x76, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x5a, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, + 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, + 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x19, 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, + 0x30, 0x32, 0x32, 0x37, 0x31, 0x38, 0x30, 0x39, 0x32, 0x37, 0x5a, 0x17, + 0x0d, 0x32, 0x30, 0x30, 0x36, 0x30, 0x39, 0x31, 0x37, 0x30, 0x37, 0x32, + 0x39, 0x5a, 0x30, 0x5a, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, + 0x06, 0x13, 0x02, 0x4a, 0x50, 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, + 0x04, 0x0a, 0x13, 0x1a, 0x43, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x20, 0x4a, 0x61, 0x70, 0x61, 0x6e, 0x20, 0x43, 0x6f, 0x2e, + 0x2c, 0x20, 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x1d, 0x43, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x20, 0x4a, 0x61, 0x70, 0x61, 0x6e, 0x20, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x20, 0x43, 0x41, 0x20, 0x47, 0x33, 0x30, 0x82, + 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, + 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x94, 0x56, 0xa3, 0x45, 0x44, + 0x54, 0xaa, 0x60, 0x64, 0xbf, 0xb8, 0x57, 0x9f, 0x4e, 0xdb, 0xd4, 0x79, + 0x68, 0x5f, 0x13, 0x05, 0xf4, 0x3f, 0xcd, 0x25, 0xdd, 0x3c, 0x5e, 0x58, + 0x77, 0x1c, 0x9d, 0xe6, 0x9f, 0xe3, 0x32, 0x49, 0xef, 0x02, 0x3a, 0x34, + 0x53, 0x8d, 0x52, 0xe5, 0xe3, 0x39, 0x66, 0x1f, 0xe7, 0x33, 0x61, 0xb6, + 0x27, 0xc6, 0x24, 0x55, 0x50, 0x27, 0x02, 0x65, 0xf0, 0xb0, 0x8c, 0x41, + 0x8d, 0x30, 0x5e, 0x47, 0x5b, 0x82, 0x6f, 0xc7, 0x9c, 0xa3, 0x28, 0x43, + 0x6d, 0x58, 0x7b, 0xc8, 0x15, 0x98, 0x4e, 0x25, 0x6f, 0xcb, 0x76, 0x27, + 0x5b, 0x0b, 0x2c, 0x2c, 0xb5, 0x98, 0x23, 0xe7, 0x8b, 0x7c, 0xfd, 0x77, + 0x1a, 0xc4, 0x52, 0xba, 0x5d, 0x19, 0xee, 0x78, 0x21, 0x4d, 0x21, 0x9a, + 0xd9, 0x12, 0x7c, 0x33, 0x15, 0x6b, 0x1a, 0xc9, 0x81, 0xea, 0xda, 0xda, + 0x57, 0xb7, 0xd5, 0x2f, 0xce, 0x1f, 0x4b, 0xfc, 0xb4, 0x33, 0xe0, 0xa0, + 0xc9, 0x94, 0x27, 0xbb, 0x27, 0x40, 0xb6, 0x90, 0xdb, 0xac, 0x9e, 0x75, + 0xa6, 0x11, 0x2b, 0x49, 0x19, 0x2d, 0xc3, 0xc2, 0x43, 0x07, 0x09, 0xbb, + 0x3d, 0x6e, 0x88, 0xa3, 0xe3, 0x8a, 0xc5, 0xd2, 0x86, 0xf6, 0x65, 0x5b, + 0x34, 0xc3, 0x9f, 0x4c, 0x02, 0xe5, 0x09, 0xba, 0x2c, 0xc6, 0x76, 0x66, + 0xeb, 0xd1, 0x76, 0x25, 0xf4, 0x30, 0x13, 0xfb, 0x58, 0x60, 0xa8, 0x58, + 0xe3, 0x51, 0x6f, 0x4b, 0x08, 0x04, 0x61, 0x8d, 0xac, 0xa9, 0x30, 0x2f, + 0x52, 0x41, 0xa3, 0x22, 0xc1, 0x33, 0x59, 0xab, 0x7b, 0x59, 0xf9, 0x93, + 0x67, 0x4b, 0xc9, 0x89, 0x75, 0x52, 0xef, 0x29, 0x49, 0x34, 0x93, 0x1c, + 0x9c, 0x93, 0x73, 0x9c, 0x19, 0xce, 0x5c, 0x18, 0xcd, 0x4c, 0x09, 0x27, + 0xc1, 0x3f, 0xf5, 0x49, 0xec, 0xf4, 0xe2, 0xdf, 0x4b, 0xaf, 0x8f, 0x02, + 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x45, 0x30, 0x82, 0x01, 0x41, + 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, + 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x53, 0x06, 0x03, + 0x55, 0x1d, 0x20, 0x04, 0x4c, 0x30, 0x4a, 0x30, 0x48, 0x06, 0x09, 0x2b, + 0x06, 0x01, 0x04, 0x01, 0xb1, 0x3e, 0x01, 0x00, 0x30, 0x3b, 0x30, 0x39, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x2d, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x79, 0x62, 0x65, 0x72, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, + 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x63, 0x66, 0x6d, 0x30, 0x42, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x36, 0x30, + 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, + 0x01, 0x86, 0x26, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, + 0x73, 0x70, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, + 0x65, 0x72, 0x6f, 0x6f, 0x74, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, + 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe5, 0x9d, + 0x59, 0x30, 0x82, 0x47, 0x58, 0xcc, 0xac, 0xfa, 0x08, 0x54, 0x36, 0x86, + 0x7b, 0x3a, 0xb5, 0x04, 0x4d, 0xf0, 0x30, 0x42, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x3b, 0x30, 0x39, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, + 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x64, 0x70, 0x31, + 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x52, 0x4c, 0x2f, 0x4f, 0x6d, + 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x32, 0x30, 0x32, 0x35, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0x73, 0xa8, 0x08, 0x53, 0x29, 0xb8, 0x15, 0xfb, 0x99, 0x80, 0xe5, + 0xc5, 0x37, 0xd8, 0xf8, 0x39, 0x7b, 0xa4, 0x13, 0x06, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0x68, 0xdf, 0xfe, 0x72, 0x54, 0x4e, 0x1b, + 0xfb, 0x5c, 0x6e, 0x5a, 0x45, 0x46, 0xcf, 0x42, 0xbe, 0xb2, 0x02, 0x9c, + 0x9d, 0x90, 0x6a, 0x09, 0x2e, 0xb7, 0x36, 0x64, 0x24, 0xb6, 0xb1, 0xe2, + 0x48, 0x67, 0xce, 0x17, 0x46, 0x9b, 0x23, 0x75, 0x78, 0x11, 0xf6, 0xc6, + 0x09, 0x38, 0x42, 0x62, 0x96, 0x97, 0x30, 0x7b, 0x51, 0x77, 0xdf, 0x33, + 0xb5, 0x00, 0x51, 0x29, 0xd5, 0x24, 0xfe, 0xb7, 0x98, 0xa2, 0xac, 0x6c, + 0xa1, 0x13, 0x7f, 0xca, 0xf3, 0xb7, 0xa6, 0x52, 0xc2, 0x16, 0x0d, 0xec, + 0x3a, 0xbf, 0xa3, 0x37, 0x77, 0x4f, 0xae, 0x7b, 0x55, 0x1d, 0x46, 0xe9, + 0x10, 0xda, 0xc3, 0xb4, 0x05, 0x5c, 0x5b, 0xf6, 0x48, 0x21, 0x00, 0x89, + 0xf4, 0xbb, 0x38, 0x8e, 0x1e, 0x33, 0xf3, 0x49, 0x97, 0x81, 0x31, 0x6c, + 0x16, 0x74, 0x08, 0x91, 0x17, 0xc0, 0xd3, 0x25, 0xb3, 0xbc, 0xc1, 0x15, + 0xb5, 0xa4, 0xcd, 0x84, 0x4d, 0xb9, 0xc8, 0xeb, 0xc5, 0x59, 0x42, 0x10, + 0x14, 0x25, 0x79, 0xf8, 0xdb, 0xb6, 0xd0, 0xe6, 0xd3, 0xa0, 0x14, 0x7c, + 0x17, 0x1c, 0x20, 0x1e, 0xed, 0x99, 0x90, 0x65, 0xc0, 0x41, 0x71, 0xc3, + 0xab, 0x3f, 0x29, 0x41, 0x67, 0xf9, 0xe2, 0xd1, 0x98, 0xe3, 0xf8, 0xdf, + 0x3a, 0xb8, 0xca, 0xa3, 0x6f, 0x68, 0x8b, 0x6c, 0x9f, 0x6e, 0x88, 0x7c, + 0x9d, 0x41, 0x5c, 0xba, 0xcb, 0x19, 0x05, 0x83, 0x9c, 0x99, 0xf4, 0x1a, + 0xd2, 0x24, 0x69, 0x57, 0x0a, 0x0f, 0x7a, 0xc3, 0x1b, 0x2c, 0x4b, 0x06, + 0xd3, 0x2a, 0x97, 0x7e, 0x07, 0xb0, 0xf9, 0x20, 0x5a, 0xb5, 0x92, 0x4b, + 0x5b, 0xa8, 0xeb, 0xeb, 0x36, 0x33, 0x47, 0x36, 0xda, 0x72, 0x9c, 0xbf, + 0x68, 0x45, 0x81, 0x31, 0xbe, 0xd2, 0xfd, 0x3b, 0xe9, 0x72, 0xd5, 0x70, + 0xdd, 0xa6, 0xde, 0x5f, 0x0d, 0xb6, 0x5e, 0x00, 0x49, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1828629 (0x1be715) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority + Validity + Not Before: Jan 1 07:00:00 2014 GMT + Not After : May 30 07:00:00 2031 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bf:71:62:08:f1:fa:59:34:f7:1b:c9:18:a3:f7: + 80:49:58:e9:22:83:13:a6:c5:20:43:01:3b:84:f1: + e6:85:49:9f:27:ea:f6:84:1b:4e:a0:b4:db:70:98: + c7:32:01:b1:05:3e:07:4e:ee:f4:fa:4f:2f:59:30: + 22:e7:ab:19:56:6b:e2:80:07:fc:f3:16:75:80:39: + 51:7b:e5:f9:35:b6:74:4e:a9:8d:82:13:e4:b6:3f: + a9:03:83:fa:a2:be:8a:15:6a:7f:de:0b:c3:b6:19: + 14:05:ca:ea:c3:a8:04:94:3b:46:7c:32:0d:f3:00: + 66:22:c8:8d:69:6d:36:8c:11:18:b7:d3:b2:1c:60: + b4:38:fa:02:8c:ce:d3:dd:46:07:de:0a:3e:eb:5d: + 7c:c8:7c:fb:b0:2b:53:a4:92:62:69:51:25:05:61: + 1a:44:81:8c:2c:a9:43:96:23:df:ac:3a:81:9a:0e: + 29:c5:1c:a9:e9:5d:1e:b6:9e:9e:30:0a:39:ce:f1: + 88:80:fb:4b:5d:cc:32:ec:85:62:43:25:34:02:56: + 27:01:91:b4:3b:70:2a:3f:6e:b1:e8:9c:88:01:7d: + 9f:d4:f9:db:53:6d:60:9d:bf:2c:e7:58:ab:b8:5f: + 46:fc:ce:c4:1b:03:3c:09:eb:49:31:5c:69:46:b3: + e0:47 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 3A:9A:85:07:10:67:28:B6:EF:F6:BD:05:41:6E:20:C1:94:DA:0F:DE + X509v3 Authority Key Identifier: + keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3 + + Authority Information Access: + OCSP - URI:http://ocsp.godaddy.com/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.godaddy.com/gdroot.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://certs.godaddy.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + 59:0b:53:bd:92:86:11:a7:24:7b:ed:5b:31:cf:1d:1f:6c:70: + c5:b8:6e:be:4e:bb:f6:be:97:50:e1:30:7f:ba:28:5c:62:94: + c2:e3:7e:33:f7:fb:42:76:85:db:95:1c:8c:22:58:75:09:0c: + 88:65:67:39:0a:16:09:c5:a0:38:97:a4:c5:23:93:3f:b4:18: + a6:01:06:44:91:e3:a7:69:27:b4:5a:25:7f:3a:b7:32:cd:dd: + 84:ff:2a:38:29:33:a4:dd:67:b2:85:fe:a1:88:20:1c:50:89: + c8:dc:2a:f6:42:03:37:4c:e6:88:df:d5:af:24:f2:b1:c3:df: + cc:b5:ec:e0:99:5e:b7:49:54:20:3c:94:18:0c:c7:1c:52:18: + 49:a4:6d:e1:b3:58:0b:c9:d8:ec:d9:ae:1c:32:8e:28:70:0d: + e2:fe:a6:17:9e:84:0f:bd:57:70:b3:5a:e9:1f:a0:86:53:bb: + ef:7c:ff:69:0b:e0:48:c3:b7:93:0b:c8:0a:54:c4:ac:5d:14: + 67:37:6c:ca:a5:2f:31:08:37:aa:6e:6f:8c:bc:9b:e2:57:5d: + 24:81:af:97:97:9c:84:ad:6c:ac:37:4c:66:f3:61:91:11:20: + e4:be:30:9f:7a:a4:29:09:b0:e1:34:5f:64:77:18:40:51:df: + 8c:30:a6:af +-----BEGIN CERTIFICATE----- +MIIEfTCCA2WgAwIBAgIDG+cVMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT +MSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdv +IERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMTAx +MDcwMDAwWhcNMzEwNTMwMDcwMDAwWjCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHku +Y29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1 +dGhvcml0eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3Fi +CPH6WTT3G8kYo/eASVjpIoMTpsUgQwE7hPHmhUmfJ+r2hBtOoLTbcJjHMgGxBT4H +Tu70+k8vWTAi56sZVmvigAf88xZ1gDlRe+X5NbZ0TqmNghPktj+pA4P6or6KFWp/ +3gvDthkUBcrqw6gElDtGfDIN8wBmIsiNaW02jBEYt9OyHGC0OPoCjM7T3UYH3go+ +6118yHz7sCtTpJJiaVElBWEaRIGMLKlDliPfrDqBmg4pxRyp6V0etp6eMAo5zvGI +gPtLXcwy7IViQyU0AlYnAZG0O3AqP26x6JyIAX2f1PnbU21gnb8s51iruF9G/M7E +GwM8CetJMVxpRrPgRwIDAQABo4IBFzCCARMwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMB8GA1Ud +IwQYMBaAFNLEsNKR1EwRcbNhyz2h/t2oatTjMDQGCCsGAQUFBwEBBCgwJjAkBggr +BgEFBQcwAYYYaHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDIGA1UdHwQrMCkwJ6Al +oCOGIWh0dHA6Ly9jcmwuZ29kYWRkeS5jb20vZ2Ryb290LmNybDBGBgNVHSAEPzA9 +MDsGBFUdIAAwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2RhZGR5LmNv +bS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWQtTvZKGEacke+1bMc8d +H2xwxbhuvk679r6XUOEwf7ooXGKUwuN+M/f7QnaF25UcjCJYdQkMiGVnOQoWCcWg +OJekxSOTP7QYpgEGRJHjp2kntFolfzq3Ms3dhP8qOCkzpN1nsoX+oYggHFCJyNwq +9kIDN0zmiN/VryTyscPfzLXs4Jlet0lUIDyUGAzHHFIYSaRt4bNYC8nY7NmuHDKO +KHAN4v6mF56ED71XcLNa6R+ghlO773z/aQvgSMO3kwvIClTErF0UZzdsyqUvMQg3 +qm5vjLyb4lddJIGvl5echK1srDdMZvNhkREg5L4wn3qkKQmw4TRfZHcYQFHfjDCm +rw== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_19[] = { + 0x30, 0x82, 0x04, 0x7d, 0x30, 0x82, 0x03, 0x65, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x1b, 0xe7, 0x15, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x63, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x54, + 0x68, 0x65, 0x20, 0x47, 0x6f, 0x20, 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, + 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x28, 0x47, 0x6f, + 0x20, 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x20, 0x32, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, 0x31, 0x30, 0x31, + 0x30, 0x37, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x31, 0x30, + 0x35, 0x33, 0x30, 0x30, 0x37, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x81, + 0x83, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, + 0x07, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, + 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, + 0x73, 0x64, 0x61, 0x6c, 0x65, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, + 0x04, 0x0a, 0x13, 0x11, 0x47, 0x6f, 0x44, 0x61, 0x64, 0x64, 0x79, 0x2e, + 0x63, 0x6f, 0x6d, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x31, 0x30, + 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x28, 0x47, 0x6f, 0x20, 0x44, + 0x61, 0x64, 0x64, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbf, 0x71, 0x62, + 0x08, 0xf1, 0xfa, 0x59, 0x34, 0xf7, 0x1b, 0xc9, 0x18, 0xa3, 0xf7, 0x80, + 0x49, 0x58, 0xe9, 0x22, 0x83, 0x13, 0xa6, 0xc5, 0x20, 0x43, 0x01, 0x3b, + 0x84, 0xf1, 0xe6, 0x85, 0x49, 0x9f, 0x27, 0xea, 0xf6, 0x84, 0x1b, 0x4e, + 0xa0, 0xb4, 0xdb, 0x70, 0x98, 0xc7, 0x32, 0x01, 0xb1, 0x05, 0x3e, 0x07, + 0x4e, 0xee, 0xf4, 0xfa, 0x4f, 0x2f, 0x59, 0x30, 0x22, 0xe7, 0xab, 0x19, + 0x56, 0x6b, 0xe2, 0x80, 0x07, 0xfc, 0xf3, 0x16, 0x75, 0x80, 0x39, 0x51, + 0x7b, 0xe5, 0xf9, 0x35, 0xb6, 0x74, 0x4e, 0xa9, 0x8d, 0x82, 0x13, 0xe4, + 0xb6, 0x3f, 0xa9, 0x03, 0x83, 0xfa, 0xa2, 0xbe, 0x8a, 0x15, 0x6a, 0x7f, + 0xde, 0x0b, 0xc3, 0xb6, 0x19, 0x14, 0x05, 0xca, 0xea, 0xc3, 0xa8, 0x04, + 0x94, 0x3b, 0x46, 0x7c, 0x32, 0x0d, 0xf3, 0x00, 0x66, 0x22, 0xc8, 0x8d, + 0x69, 0x6d, 0x36, 0x8c, 0x11, 0x18, 0xb7, 0xd3, 0xb2, 0x1c, 0x60, 0xb4, + 0x38, 0xfa, 0x02, 0x8c, 0xce, 0xd3, 0xdd, 0x46, 0x07, 0xde, 0x0a, 0x3e, + 0xeb, 0x5d, 0x7c, 0xc8, 0x7c, 0xfb, 0xb0, 0x2b, 0x53, 0xa4, 0x92, 0x62, + 0x69, 0x51, 0x25, 0x05, 0x61, 0x1a, 0x44, 0x81, 0x8c, 0x2c, 0xa9, 0x43, + 0x96, 0x23, 0xdf, 0xac, 0x3a, 0x81, 0x9a, 0x0e, 0x29, 0xc5, 0x1c, 0xa9, + 0xe9, 0x5d, 0x1e, 0xb6, 0x9e, 0x9e, 0x30, 0x0a, 0x39, 0xce, 0xf1, 0x88, + 0x80, 0xfb, 0x4b, 0x5d, 0xcc, 0x32, 0xec, 0x85, 0x62, 0x43, 0x25, 0x34, + 0x02, 0x56, 0x27, 0x01, 0x91, 0xb4, 0x3b, 0x70, 0x2a, 0x3f, 0x6e, 0xb1, + 0xe8, 0x9c, 0x88, 0x01, 0x7d, 0x9f, 0xd4, 0xf9, 0xdb, 0x53, 0x6d, 0x60, + 0x9d, 0xbf, 0x2c, 0xe7, 0x58, 0xab, 0xb8, 0x5f, 0x46, 0xfc, 0xce, 0xc4, + 0x1b, 0x03, 0x3c, 0x09, 0xeb, 0x49, 0x31, 0x5c, 0x69, 0x46, 0xb3, 0xe0, + 0x47, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x17, 0x30, 0x82, + 0x01, 0x13, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x3a, 0x9a, + 0x85, 0x07, 0x10, 0x67, 0x28, 0xb6, 0xef, 0xf6, 0xbd, 0x05, 0x41, 0x6e, + 0x20, 0xc1, 0x94, 0xda, 0x0f, 0xde, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd2, 0xc4, 0xb0, 0xd2, 0x91, + 0xd4, 0x4c, 0x11, 0x71, 0xb3, 0x61, 0xcb, 0x3d, 0xa1, 0xfe, 0xdd, 0xa8, + 0x6a, 0xd4, 0xe3, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6f, 0x64, + 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x32, 0x06, + 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2b, 0x30, 0x29, 0x30, 0x27, 0xa0, 0x25, + 0xa0, 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x64, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, + 0x6c, 0x30, 0x46, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3f, 0x30, 0x3d, + 0x30, 0x3b, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x33, 0x30, 0x31, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, + 0x73, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x2f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x59, 0x0b, 0x53, + 0xbd, 0x92, 0x86, 0x11, 0xa7, 0x24, 0x7b, 0xed, 0x5b, 0x31, 0xcf, 0x1d, + 0x1f, 0x6c, 0x70, 0xc5, 0xb8, 0x6e, 0xbe, 0x4e, 0xbb, 0xf6, 0xbe, 0x97, + 0x50, 0xe1, 0x30, 0x7f, 0xba, 0x28, 0x5c, 0x62, 0x94, 0xc2, 0xe3, 0x7e, + 0x33, 0xf7, 0xfb, 0x42, 0x76, 0x85, 0xdb, 0x95, 0x1c, 0x8c, 0x22, 0x58, + 0x75, 0x09, 0x0c, 0x88, 0x65, 0x67, 0x39, 0x0a, 0x16, 0x09, 0xc5, 0xa0, + 0x38, 0x97, 0xa4, 0xc5, 0x23, 0x93, 0x3f, 0xb4, 0x18, 0xa6, 0x01, 0x06, + 0x44, 0x91, 0xe3, 0xa7, 0x69, 0x27, 0xb4, 0x5a, 0x25, 0x7f, 0x3a, 0xb7, + 0x32, 0xcd, 0xdd, 0x84, 0xff, 0x2a, 0x38, 0x29, 0x33, 0xa4, 0xdd, 0x67, + 0xb2, 0x85, 0xfe, 0xa1, 0x88, 0x20, 0x1c, 0x50, 0x89, 0xc8, 0xdc, 0x2a, + 0xf6, 0x42, 0x03, 0x37, 0x4c, 0xe6, 0x88, 0xdf, 0xd5, 0xaf, 0x24, 0xf2, + 0xb1, 0xc3, 0xdf, 0xcc, 0xb5, 0xec, 0xe0, 0x99, 0x5e, 0xb7, 0x49, 0x54, + 0x20, 0x3c, 0x94, 0x18, 0x0c, 0xc7, 0x1c, 0x52, 0x18, 0x49, 0xa4, 0x6d, + 0xe1, 0xb3, 0x58, 0x0b, 0xc9, 0xd8, 0xec, 0xd9, 0xae, 0x1c, 0x32, 0x8e, + 0x28, 0x70, 0x0d, 0xe2, 0xfe, 0xa6, 0x17, 0x9e, 0x84, 0x0f, 0xbd, 0x57, + 0x70, 0xb3, 0x5a, 0xe9, 0x1f, 0xa0, 0x86, 0x53, 0xbb, 0xef, 0x7c, 0xff, + 0x69, 0x0b, 0xe0, 0x48, 0xc3, 0xb7, 0x93, 0x0b, 0xc8, 0x0a, 0x54, 0xc4, + 0xac, 0x5d, 0x14, 0x67, 0x37, 0x6c, 0xca, 0xa5, 0x2f, 0x31, 0x08, 0x37, + 0xaa, 0x6e, 0x6f, 0x8c, 0xbc, 0x9b, 0xe2, 0x57, 0x5d, 0x24, 0x81, 0xaf, + 0x97, 0x97, 0x9c, 0x84, 0xad, 0x6c, 0xac, 0x37, 0x4c, 0x66, 0xf3, 0x61, + 0x91, 0x11, 0x20, 0xe4, 0xbe, 0x30, 0x9f, 0x7a, 0xa4, 0x29, 0x09, 0xb0, + 0xe1, 0x34, 0x5f, 0x64, 0x77, 0x18, 0x40, 0x51, 0xdf, 0x8c, 0x30, 0xa6, + 0xaf, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 46:f0:8c:db:cf:2c:54:66:ef:33:01:dd:5f:34 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA + Validity + Not Before: Aug 19 00:00:00 2015 GMT + Not After : Aug 19 00:00:00 2025 GMT + Subject: C=BE, O=GlobalSign nv-sa, CN=GlobalSign CloudSSL CA - SHA256 - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a3:c0:75:e1:32:98:e5:d9:ae:84:7c:8d:e8:23: + 5f:46:95:5b:4c:a2:25:70:d7:90:04:85:80:c9:b5: + f4:8a:65:4d:92:cb:a5:c4:42:a0:b6:79:25:31:ed: + f1:85:20:cd:13:51:3d:67:ac:97:4d:68:9b:33:86: + 5c:b3:7b:2d:aa:df:77:a0:61:d1:f5:3c:fb:9a:fc: + d3:d5:94:ca:c9:1e:80:1b:90:90:c8:ac:8d:f6:60: + 17:9c:31:b8:c5:61:a2:e2:6e:57:25:08:6f:24:99: + 99:cf:94:bf:c7:8b:6b:b0:1f:ca:14:fa:18:9b:6c: + 10:7c:99:2b:da:4a:63:e5:b2:4e:c2:fd:3e:10:0b: + 48:f4:77:0b:2f:f0:96:4b:3a:ee:bd:35:de:85:8d: + da:13:0e:ce:01:c4:71:d3:d3:77:c5:08:a6:60:39: + 25:a7:27:69:5c:83:d1:6f:76:78:ee:c5:44:5b:45: + bd:29:3b:e2:c6:09:0f:a2:be:2b:dc:e3:5c:da:5a: + 6f:8e:e7:c9:07:6b:7e:a1:c0:53:95:82:89:e0:78: + 5c:72:a8:6c:be:67:6b:ab:e7:33:d9:87:f2:f8:5c: + 27:f4:f6:2a:3b:87:ef:da:c2:47:da:bf:ac:eb:27: + 64:7b:4c:53:eb:34:e1:2f:9b:20:4d:54:12:6b:7d: + 28:bd + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Subject Key Identifier: + A9:2B:87:E1:CE:24:47:3B:1B:BF:CF:85:37:02:55:9D:0D:94:58:E6 + X509v3 Authority Key Identifier: + keyid:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B + + Authority Information Access: + OCSP - URI:http://ocsp.globalsign.com/rootr1 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.globalsign.com/root.crl + + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.4146.1.20 + Policy: 2.23.140.1.2.2 + CPS: https://www.globalsign.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + a2:1d:69:8a:0a:8e:c4:14:83:2a:2a:12:4d:39:27:90:4e:f0: + 8d:ac:d2:96:62:47:36:5e:92:d1:fa:c5:93:b5:37:07:65:29: + d2:f4:53:50:6b:c9:f4:fe:34:f5:dd:b8:1d:fa:fc:dc:14:ac: + 56:94:27:9c:42:aa:04:4d:b7:ed:58:d9:99:d2:49:e6:20:2f: + d3:a7:77:b8:2a:89:1a:ef:a7:cf:86:2d:d6:53:e9:0b:93:9c: + 4e:ab:d9:45:ee:a4:84:85:ff:34:e4:0e:c0:bb:a5:ce:5f:95: + 89:85:70:aa:c1:5d:ec:cf:2b:d3:d9:83:df:03:ca:81:a7:02: + 32:b7:77:61:10:25:4e:d9:74:f3:d9:79:82:b5:26:70:b4:52: + bc:8f:33:d7:8a:ae:19:d0:fc:92:ad:2f:ba:3c:a0:48:58:47: + 5e:fd:20:56:95:20:c1:72:1d:ab:66:99:a4:d5:78:37:48:1b: + 9f:b2:4c:37:67:7a:fd:42:d2:d3:56:9e:d3:1d:8e:c4:0c:68: + 96:b6:47:51:10:f7:7b:eb:15:09:64:f5:f9:f0:63:16:2d:3d: + df:23:42:3a:93:63:cc:ab:af:4f:57:06:c7:fe:14:55:62:ce: + 27:11:19:e1:f4:42:ed:22:30:6b:35:1a:4a:05:80:a4:65:df: + cc:cb:6f:d0 +-----BEGIN CERTIFICATE----- +MIIEizCCA3OgAwIBAgIORvCM288sVGbvMwHdXzQwDQYJKoZIhvcNAQELBQAwVzEL +MAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsT +B1Jvb3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNTA4MTkw +MDAwMDBaFw0yNTA4MTkwMDAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBH +bG9iYWxTaWduIG52LXNhMS0wKwYDVQQDEyRHbG9iYWxTaWduIENsb3VkU1NMIENB +IC0gU0hBMjU2IC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCj +wHXhMpjl2a6EfI3oI19GlVtMoiVw15AEhYDJtfSKZU2Sy6XEQqC2eSUx7fGFIM0T +UT1nrJdNaJszhlyzey2q33egYdH1PPua/NPVlMrJHoAbkJDIrI32YBecMbjFYaLi +blclCG8kmZnPlL/Hi2uwH8oU+hibbBB8mSvaSmPlsk7C/T4QC0j0dwsv8JZLOu69 +Nd6FjdoTDs4BxHHT03fFCKZgOSWnJ2lcg9FvdnjuxURbRb0pO+LGCQ+ivivc41za +Wm+O58kHa36hwFOVgongeFxyqGy+Z2ur5zPZh/L4XCf09io7h+/awkfav6zrJ2R7 +TFPrNOEvmyBNVBJrfSi9AgMBAAGjggFTMIIBTzAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAw +HQYDVR0OBBYEFKkrh+HOJEc7G7/PhTcCVZ0NlFjmMB8GA1UdIwQYMBaAFGB7ZhpF +DZfKiVAvfQTNNKj//P1LMD0GCCsGAQUFBwEBBDEwLzAtBggrBgEFBQcwAYYhaHR0 +cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vcm9vdHIxMDMGA1UdHwQsMCowKKAmoCSG +Imh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vcm9vdC5jcmwwVgYDVR0gBE8wTTAL +BgkrBgEEAaAyARQwPgYGZ4EMAQICMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3 +Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMA0GCSqGSIb3DQEBCwUAA4IBAQCi +HWmKCo7EFIMqKhJNOSeQTvCNrNKWYkc2XpLR+sWTtTcHZSnS9FNQa8n0/jT13bgd ++vzcFKxWlCecQqoETbftWNmZ0knmIC/Tp3e4Koka76fPhi3WU+kLk5xOq9lF7qSE +hf805A7Au6XOX5WJhXCqwV3szyvT2YPfA8qBpwIyt3dhECVO2XTz2XmCtSZwtFK8 +jzPXiq4Z0PySrS+6PKBIWEde/SBWlSDBch2rZpmk1Xg3SBufskw3Z3r9QtLTVp7T +HY7EDGiWtkdREPd76xUJZPX58GMWLT3fI0I6k2PMq69PVwbH/hRVYs4nERnh9ELt +IjBrNRpKBYCkZd/My2/Q +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_20[] = { + 0x30, 0x82, 0x04, 0x8b, 0x30, 0x82, 0x03, 0x73, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0e, 0x46, 0xf0, 0x8c, 0xdb, 0xcf, 0x2c, 0x54, 0x66, 0xef, + 0x33, 0x01, 0xdd, 0x5f, 0x34, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x57, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, + 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, 0x2d, + 0x73, 0x61, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x07, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x31, 0x1b, 0x30, 0x19, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, + 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x38, 0x31, 0x39, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x35, 0x30, 0x38, + 0x31, 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x57, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x6e, 0x76, + 0x2d, 0x73, 0x61, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, + 0x20, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, + 0x20, 0x2d, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x2d, 0x20, + 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa3, + 0xc0, 0x75, 0xe1, 0x32, 0x98, 0xe5, 0xd9, 0xae, 0x84, 0x7c, 0x8d, 0xe8, + 0x23, 0x5f, 0x46, 0x95, 0x5b, 0x4c, 0xa2, 0x25, 0x70, 0xd7, 0x90, 0x04, + 0x85, 0x80, 0xc9, 0xb5, 0xf4, 0x8a, 0x65, 0x4d, 0x92, 0xcb, 0xa5, 0xc4, + 0x42, 0xa0, 0xb6, 0x79, 0x25, 0x31, 0xed, 0xf1, 0x85, 0x20, 0xcd, 0x13, + 0x51, 0x3d, 0x67, 0xac, 0x97, 0x4d, 0x68, 0x9b, 0x33, 0x86, 0x5c, 0xb3, + 0x7b, 0x2d, 0xaa, 0xdf, 0x77, 0xa0, 0x61, 0xd1, 0xf5, 0x3c, 0xfb, 0x9a, + 0xfc, 0xd3, 0xd5, 0x94, 0xca, 0xc9, 0x1e, 0x80, 0x1b, 0x90, 0x90, 0xc8, + 0xac, 0x8d, 0xf6, 0x60, 0x17, 0x9c, 0x31, 0xb8, 0xc5, 0x61, 0xa2, 0xe2, + 0x6e, 0x57, 0x25, 0x08, 0x6f, 0x24, 0x99, 0x99, 0xcf, 0x94, 0xbf, 0xc7, + 0x8b, 0x6b, 0xb0, 0x1f, 0xca, 0x14, 0xfa, 0x18, 0x9b, 0x6c, 0x10, 0x7c, + 0x99, 0x2b, 0xda, 0x4a, 0x63, 0xe5, 0xb2, 0x4e, 0xc2, 0xfd, 0x3e, 0x10, + 0x0b, 0x48, 0xf4, 0x77, 0x0b, 0x2f, 0xf0, 0x96, 0x4b, 0x3a, 0xee, 0xbd, + 0x35, 0xde, 0x85, 0x8d, 0xda, 0x13, 0x0e, 0xce, 0x01, 0xc4, 0x71, 0xd3, + 0xd3, 0x77, 0xc5, 0x08, 0xa6, 0x60, 0x39, 0x25, 0xa7, 0x27, 0x69, 0x5c, + 0x83, 0xd1, 0x6f, 0x76, 0x78, 0xee, 0xc5, 0x44, 0x5b, 0x45, 0xbd, 0x29, + 0x3b, 0xe2, 0xc6, 0x09, 0x0f, 0xa2, 0xbe, 0x2b, 0xdc, 0xe3, 0x5c, 0xda, + 0x5a, 0x6f, 0x8e, 0xe7, 0xc9, 0x07, 0x6b, 0x7e, 0xa1, 0xc0, 0x53, 0x95, + 0x82, 0x89, 0xe0, 0x78, 0x5c, 0x72, 0xa8, 0x6c, 0xbe, 0x67, 0x6b, 0xab, + 0xe7, 0x33, 0xd9, 0x87, 0xf2, 0xf8, 0x5c, 0x27, 0xf4, 0xf6, 0x2a, 0x3b, + 0x87, 0xef, 0xda, 0xc2, 0x47, 0xda, 0xbf, 0xac, 0xeb, 0x27, 0x64, 0x7b, + 0x4c, 0x53, 0xeb, 0x34, 0xe1, 0x2f, 0x9b, 0x20, 0x4d, 0x54, 0x12, 0x6b, + 0x7d, 0x28, 0xbd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x53, + 0x30, 0x82, 0x01, 0x4f, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, + 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x03, 0x02, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, + 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xa9, 0x2b, + 0x87, 0xe1, 0xce, 0x24, 0x47, 0x3b, 0x1b, 0xbf, 0xcf, 0x85, 0x37, 0x02, + 0x55, 0x9d, 0x0d, 0x94, 0x58, 0xe6, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x60, 0x7b, 0x66, 0x1a, 0x45, + 0x0d, 0x97, 0xca, 0x89, 0x50, 0x2f, 0x7d, 0x04, 0xcd, 0x34, 0xa8, 0xff, + 0xfc, 0xfd, 0x4b, 0x30, 0x3d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x21, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x72, 0x6f, 0x6f, 0x74, 0x72, 0x31, 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x2c, 0x30, 0x2a, 0x30, 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x56, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x4f, 0x30, 0x4d, 0x30, 0x0b, + 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xa0, 0x32, 0x01, 0x14, 0x30, + 0x3e, 0x06, 0x06, 0x67, 0x81, 0x0c, 0x01, 0x02, 0x02, 0x30, 0x34, 0x30, + 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, + 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa2, + 0x1d, 0x69, 0x8a, 0x0a, 0x8e, 0xc4, 0x14, 0x83, 0x2a, 0x2a, 0x12, 0x4d, + 0x39, 0x27, 0x90, 0x4e, 0xf0, 0x8d, 0xac, 0xd2, 0x96, 0x62, 0x47, 0x36, + 0x5e, 0x92, 0xd1, 0xfa, 0xc5, 0x93, 0xb5, 0x37, 0x07, 0x65, 0x29, 0xd2, + 0xf4, 0x53, 0x50, 0x6b, 0xc9, 0xf4, 0xfe, 0x34, 0xf5, 0xdd, 0xb8, 0x1d, + 0xfa, 0xfc, 0xdc, 0x14, 0xac, 0x56, 0x94, 0x27, 0x9c, 0x42, 0xaa, 0x04, + 0x4d, 0xb7, 0xed, 0x58, 0xd9, 0x99, 0xd2, 0x49, 0xe6, 0x20, 0x2f, 0xd3, + 0xa7, 0x77, 0xb8, 0x2a, 0x89, 0x1a, 0xef, 0xa7, 0xcf, 0x86, 0x2d, 0xd6, + 0x53, 0xe9, 0x0b, 0x93, 0x9c, 0x4e, 0xab, 0xd9, 0x45, 0xee, 0xa4, 0x84, + 0x85, 0xff, 0x34, 0xe4, 0x0e, 0xc0, 0xbb, 0xa5, 0xce, 0x5f, 0x95, 0x89, + 0x85, 0x70, 0xaa, 0xc1, 0x5d, 0xec, 0xcf, 0x2b, 0xd3, 0xd9, 0x83, 0xdf, + 0x03, 0xca, 0x81, 0xa7, 0x02, 0x32, 0xb7, 0x77, 0x61, 0x10, 0x25, 0x4e, + 0xd9, 0x74, 0xf3, 0xd9, 0x79, 0x82, 0xb5, 0x26, 0x70, 0xb4, 0x52, 0xbc, + 0x8f, 0x33, 0xd7, 0x8a, 0xae, 0x19, 0xd0, 0xfc, 0x92, 0xad, 0x2f, 0xba, + 0x3c, 0xa0, 0x48, 0x58, 0x47, 0x5e, 0xfd, 0x20, 0x56, 0x95, 0x20, 0xc1, + 0x72, 0x1d, 0xab, 0x66, 0x99, 0xa4, 0xd5, 0x78, 0x37, 0x48, 0x1b, 0x9f, + 0xb2, 0x4c, 0x37, 0x67, 0x7a, 0xfd, 0x42, 0xd2, 0xd3, 0x56, 0x9e, 0xd3, + 0x1d, 0x8e, 0xc4, 0x0c, 0x68, 0x96, 0xb6, 0x47, 0x51, 0x10, 0xf7, 0x7b, + 0xeb, 0x15, 0x09, 0x64, 0xf5, 0xf9, 0xf0, 0x63, 0x16, 0x2d, 0x3d, 0xdf, + 0x23, 0x42, 0x3a, 0x93, 0x63, 0xcc, 0xab, 0xaf, 0x4f, 0x57, 0x06, 0xc7, + 0xfe, 0x14, 0x55, 0x62, 0xce, 0x27, 0x11, 0x19, 0xe1, 0xf4, 0x42, 0xed, + 0x22, 0x30, 0x6b, 0x35, 0x1a, 0x4a, 0x05, 0x80, 0xa4, 0x65, 0xdf, 0xcc, + 0xcb, 0x6f, 0xd0, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 1b:09:3b:78:60:96:da:37:bb:a4:51:94:46:c8:96:78 + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority + Validity + Not Before: Nov 8 00:00:00 2006 GMT + Not After : Nov 7 23:59:59 2021 GMT + Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:24:08:08:29:7a:35:9e:60:0c:aa:e7:4b:3b: + 4e:dc:7c:bc:3c:45:1c:bb:2b:e0:fe:29:02:f9:57: + 08:a3:64:85:15:27:f5:f1:ad:c8:31:89:5d:22:e8: + 2a:aa:a6:42:b3:8f:f8:b9:55:b7:b1:b7:4b:b3:fe: + 8f:7e:07:57:ec:ef:43:db:66:62:15:61:cf:60:0d: + a4:d8:de:f8:e0:c3:62:08:3d:54:13:eb:49:ca:59: + 54:85:26:e5:2b:8f:1b:9f:eb:f5:a1:91:c2:33:49: + d8:43:63:6a:52:4b:d2:8f:e8:70:51:4d:d1:89:69: + 7b:c7:70:f6:b3:dc:12:74:db:7b:5d:4b:56:d3:96: + bf:15:77:a1:b0:f4:a2:25:f2:af:1c:92:67:18:e5: + f4:06:04:ef:90:b9:e4:00:e4:dd:3a:b5:19:ff:02: + ba:f4:3c:ee:e0:8b:eb:37:8b:ec:f4:d7:ac:f2:f6: + f0:3d:af:dd:75:91:33:19:1d:1c:40:cb:74:24:19: + 21:93:d9:14:fe:ac:2a:52:c7:8f:d5:04:49:e4:8d: + 63:47:88:3c:69:83:cb:fe:47:bd:2b:7e:4f:c5:95: + ae:0e:9d:d4:d1:43:c0:67:73:e3:14:08:7e:e5:3f: + 9f:73:b8:33:0a:cf:5d:3f:34:87:96:8a:ee:53:e8: + 25:15 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.verisign.com/pca3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.verisign.com/cps + + X509v3 Subject Key Identifier: + 7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + 1.3.6.1.5.5.7.1.12: + 0_.].[0Y0W0U..image/gif0!0.0...+..............k...j.H.,{..0%.#http://logo.verisign.com/vslogo.gif + Authority Information Access: + OCSP - URI:http://ocsp.verisign.com + + Signature Algorithm: sha1WithRSAEncryption + a3:cd:7d:1e:f7:c7:75:8d:48:e7:56:34:4c:00:90:75:a9:51: + a5:56:c1:6d:bc:fe:f5:53:22:e9:98:a2:ac:9a:7e:70:1e:b3: + 8e:3b:45:e3:86:95:31:da:6d:4c:fb:34:50:80:96:cd:24:f2: + 40:df:04:3f:e2:65:ce:34:22:61:15:ea:66:70:64:d2:f1:6e: + f3:ca:18:59:6a:41:46:7e:82:de:19:b0:70:31:56:69:0d:0c: + e6:1d:9d:71:58:dc:cc:de:62:f5:e1:7a:10:02:d8:7a:dc:3b: + fa:57:bd:c9:e9:8f:46:21:39:9f:51:65:4c:8e:3a:be:28:41: + 70:1d +-----BEGIN CERTIFICATE----- +MIIEkDCCA/mgAwIBAgIQGwk7eGCW2je7pFGURsiWeDANBgkqhkiG9w0BAQUFADBf +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT +LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw +HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv +ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8 +RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb +ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR +TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH +iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB +AAGjggFbMIIBVzAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0 +dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9 +BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy +aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwbQYI +KwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQU +j+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24uY29t +L3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v +b2NzcC52ZXJpc2lnbi5jb20wDQYJKoZIhvcNAQEFBQADgYEAo819HvfHdY1I51Y0 +TACQdalRpVbBbbz+9VMi6ZiirJp+cB6zjjtF44aVMdptTPs0UICWzSTyQN8EP+Jl +zjQiYRXqZnBk0vFu88oYWWpBRn6C3hmwcDFWaQ0M5h2dcVjczN5i9eF6EALYetw7 ++le9yemPRiE5n1FlTI46vihBcB0= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_21[] = { + 0x30, 0x82, 0x04, 0x90, 0x30, 0x82, 0x03, 0xf9, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x1b, 0x09, 0x3b, 0x78, 0x60, 0x96, 0xda, 0x37, 0xbb, + 0xa4, 0x51, 0x94, 0x46, 0xc8, 0x96, 0x78, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x5f, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x37, 0x30, 0x35, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, + 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x31, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x31, 0x31, 0x31, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xca, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3a, 0x30, + 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, 0x63, 0x29, 0x20, + 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, + 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x45, 0x30, + 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, + 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xaf, 0x24, 0x08, 0x08, 0x29, 0x7a, 0x35, + 0x9e, 0x60, 0x0c, 0xaa, 0xe7, 0x4b, 0x3b, 0x4e, 0xdc, 0x7c, 0xbc, 0x3c, + 0x45, 0x1c, 0xbb, 0x2b, 0xe0, 0xfe, 0x29, 0x02, 0xf9, 0x57, 0x08, 0xa3, + 0x64, 0x85, 0x15, 0x27, 0xf5, 0xf1, 0xad, 0xc8, 0x31, 0x89, 0x5d, 0x22, + 0xe8, 0x2a, 0xaa, 0xa6, 0x42, 0xb3, 0x8f, 0xf8, 0xb9, 0x55, 0xb7, 0xb1, + 0xb7, 0x4b, 0xb3, 0xfe, 0x8f, 0x7e, 0x07, 0x57, 0xec, 0xef, 0x43, 0xdb, + 0x66, 0x62, 0x15, 0x61, 0xcf, 0x60, 0x0d, 0xa4, 0xd8, 0xde, 0xf8, 0xe0, + 0xc3, 0x62, 0x08, 0x3d, 0x54, 0x13, 0xeb, 0x49, 0xca, 0x59, 0x54, 0x85, + 0x26, 0xe5, 0x2b, 0x8f, 0x1b, 0x9f, 0xeb, 0xf5, 0xa1, 0x91, 0xc2, 0x33, + 0x49, 0xd8, 0x43, 0x63, 0x6a, 0x52, 0x4b, 0xd2, 0x8f, 0xe8, 0x70, 0x51, + 0x4d, 0xd1, 0x89, 0x69, 0x7b, 0xc7, 0x70, 0xf6, 0xb3, 0xdc, 0x12, 0x74, + 0xdb, 0x7b, 0x5d, 0x4b, 0x56, 0xd3, 0x96, 0xbf, 0x15, 0x77, 0xa1, 0xb0, + 0xf4, 0xa2, 0x25, 0xf2, 0xaf, 0x1c, 0x92, 0x67, 0x18, 0xe5, 0xf4, 0x06, + 0x04, 0xef, 0x90, 0xb9, 0xe4, 0x00, 0xe4, 0xdd, 0x3a, 0xb5, 0x19, 0xff, + 0x02, 0xba, 0xf4, 0x3c, 0xee, 0xe0, 0x8b, 0xeb, 0x37, 0x8b, 0xec, 0xf4, + 0xd7, 0xac, 0xf2, 0xf6, 0xf0, 0x3d, 0xaf, 0xdd, 0x75, 0x91, 0x33, 0x19, + 0x1d, 0x1c, 0x40, 0xcb, 0x74, 0x24, 0x19, 0x21, 0x93, 0xd9, 0x14, 0xfe, + 0xac, 0x2a, 0x52, 0xc7, 0x8f, 0xd5, 0x04, 0x49, 0xe4, 0x8d, 0x63, 0x47, + 0x88, 0x3c, 0x69, 0x83, 0xcb, 0xfe, 0x47, 0xbd, 0x2b, 0x7e, 0x4f, 0xc5, + 0x95, 0xae, 0x0e, 0x9d, 0xd4, 0xd1, 0x43, 0xc0, 0x67, 0x73, 0xe3, 0x14, + 0x08, 0x7e, 0xe5, 0x3f, 0x9f, 0x73, 0xb8, 0x33, 0x0a, 0xcf, 0x5d, 0x3f, + 0x34, 0x87, 0x96, 0x8a, 0xee, 0x53, 0xe8, 0x25, 0x15, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x5b, 0x30, 0x82, 0x01, 0x57, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, + 0x01, 0x01, 0xff, 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2a, + 0x30, 0x28, 0x30, 0x26, 0xa0, 0x24, 0xa0, 0x22, 0x86, 0x20, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, + 0x61, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3d, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, + 0x73, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, + 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x6d, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, + 0xa1, 0x5d, 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, + 0x1f, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, + 0x8f, 0xe5, 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, + 0x6a, 0xd4, 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x76, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, + 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, + 0xa3, 0xcd, 0x7d, 0x1e, 0xf7, 0xc7, 0x75, 0x8d, 0x48, 0xe7, 0x56, 0x34, + 0x4c, 0x00, 0x90, 0x75, 0xa9, 0x51, 0xa5, 0x56, 0xc1, 0x6d, 0xbc, 0xfe, + 0xf5, 0x53, 0x22, 0xe9, 0x98, 0xa2, 0xac, 0x9a, 0x7e, 0x70, 0x1e, 0xb3, + 0x8e, 0x3b, 0x45, 0xe3, 0x86, 0x95, 0x31, 0xda, 0x6d, 0x4c, 0xfb, 0x34, + 0x50, 0x80, 0x96, 0xcd, 0x24, 0xf2, 0x40, 0xdf, 0x04, 0x3f, 0xe2, 0x65, + 0xce, 0x34, 0x22, 0x61, 0x15, 0xea, 0x66, 0x70, 0x64, 0xd2, 0xf1, 0x6e, + 0xf3, 0xca, 0x18, 0x59, 0x6a, 0x41, 0x46, 0x7e, 0x82, 0xde, 0x19, 0xb0, + 0x70, 0x31, 0x56, 0x69, 0x0d, 0x0c, 0xe6, 0x1d, 0x9d, 0x71, 0x58, 0xdc, + 0xcc, 0xde, 0x62, 0xf5, 0xe1, 0x7a, 0x10, 0x02, 0xd8, 0x7a, 0xdc, 0x3b, + 0xfa, 0x57, 0xbd, 0xc9, 0xe9, 0x8f, 0x46, 0x21, 0x39, 0x9f, 0x51, 0x65, + 0x4c, 0x8e, 0x3a, 0xbe, 0x28, 0x41, 0x70, 0x1d, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 0a:01:41:42:00:00:01:53:85:73:6a:0b:85:ec:a7:08 + Signature Algorithm: sha256WithRSAEncryption + Issuer: O=Digital Signature Trust Co., CN=DST Root CA X3 + Validity + Not Before: Mar 17 16:40:46 2016 GMT + Not After : Mar 17 16:40:46 2021 GMT + Subject: C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:9c:d3:0c:f0:5a:e5:2e:47:b7:72:5d:37:83:b3: + 68:63:30:ea:d7:35:26:19:25:e1:bd:be:35:f1:70: + 92:2f:b7:b8:4b:41:05:ab:a9:9e:35:08:58:ec:b1: + 2a:c4:68:87:0b:a3:e3:75:e4:e6:f3:a7:62:71:ba: + 79:81:60:1f:d7:91:9a:9f:f3:d0:78:67:71:c8:69: + 0e:95:91:cf:fe:e6:99:e9:60:3c:48:cc:7e:ca:4d: + 77:12:24:9d:47:1b:5a:eb:b9:ec:1e:37:00:1c:9c: + ac:7b:a7:05:ea:ce:4a:eb:bd:41:e5:36:98:b9:cb: + fd:6d:3c:96:68:df:23:2a:42:90:0c:86:74:67:c8: + 7f:a5:9a:b8:52:61:14:13:3f:65:e9:82:87:cb:db: + fa:0e:56:f6:86:89:f3:85:3f:97:86:af:b0:dc:1a: + ef:6b:0d:95:16:7d:c4:2b:a0:65:b2:99:04:36:75: + 80:6b:ac:4a:f3:1b:90:49:78:2f:a2:96:4f:2a:20: + 25:29:04:c6:74:c0:d0:31:cd:8f:31:38:95:16:ba: + a8:33:b8:43:f1:b1:1f:c3:30:7f:a2:79:31:13:3d: + 2d:36:f8:e3:fc:f2:33:6a:b9:39:31:c5:af:c4:8d: + 0d:1d:64:16:33:aa:fa:84:29:b6:d4:0b:c0:d8:7d: + c3:93 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://isrg.trustid.ocsp.identrust.com + CA Issuers - URI:http://apps.identrust.com/roots/dstrootcax3.p7c + + X509v3 Authority Key Identifier: + keyid:C4:A7:B1:A4:7B:2C:71:FA:DB:E1:4B:90:75:FF:C4:15:60:85:89:10 + + X509v3 Certificate Policies: + Policy: 2.23.140.1.2.1 + Policy: 1.3.6.1.4.1.44947.1.1.1 + CPS: http://cps.root-x1.letsencrypt.org + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.identrust.com/DSTROOTCAX3CRL.crl + + X509v3 Subject Key Identifier: + A8:4A:6A:63:04:7D:DD:BA:E6:D1:39:B7:A6:45:65:EF:F3:A8:EC:A1 + Signature Algorithm: sha256WithRSAEncryption + dd:33:d7:11:f3:63:58:38:dd:18:15:fb:09:55:be:76:56:b9: + 70:48:a5:69:47:27:7b:c2:24:08:92:f1:5a:1f:4a:12:29:37: + 24:74:51:1c:62:68:b8:cd:95:70:67:e5:f7:a4:bc:4e:28:51: + cd:9b:e8:ae:87:9d:ea:d8:ba:5a:a1:01:9a:dc:f0:dd:6a:1d: + 6a:d8:3e:57:23:9e:a6:1e:04:62:9a:ff:d7:05:ca:b7:1f:3f: + c0:0a:48:bc:94:b0:b6:65:62:e0:c1:54:e5:a3:2a:ad:20:c4: + e9:e6:bb:dc:c8:f6:b5:c3:32:a3:98:cc:77:a8:e6:79:65:07: + 2b:cb:28:fe:3a:16:52:81:ce:52:0c:2e:5f:83:e8:d5:06:33: + fb:77:6c:ce:40:ea:32:9e:1f:92:5c:41:c1:74:6c:5b:5d:0a: + 5f:33:cc:4d:9f:ac:38:f0:2f:7b:2c:62:9d:d9:a3:91:6f:25: + 1b:2f:90:b1:19:46:3d:f6:7e:1b:a6:7a:87:b9:a3:7a:6d:18: + fa:25:a5:91:87:15:e0:f2:16:2f:58:b0:06:2f:2c:68:26:c6: + 4b:98:cd:da:9f:0c:f9:7f:90:ed:43:4a:12:44:4e:6f:73:7a: + 28:ea:a4:aa:6e:7b:4c:7d:87:dd:e0:c9:02:44:a7:87:af:c3: + 34:5b:b4:42 +-----BEGIN CERTIFICATE----- +MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow +SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT +GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF +q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 +SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 +Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA +a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj +/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T +AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG +CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv +bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k +c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw +VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC +ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz +MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu +Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF +AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo +uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ +wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu +X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG +PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 +KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_22[] = { + 0x30, 0x82, 0x04, 0x92, 0x30, 0x82, 0x03, 0x7a, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x0a, 0x01, 0x41, 0x42, 0x00, 0x00, 0x01, 0x53, 0x85, + 0x73, 0x6a, 0x0b, 0x85, 0xec, 0xa7, 0x08, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x3f, + 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1b, 0x44, + 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x43, + 0x6f, 0x2e, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x0e, 0x44, 0x53, 0x54, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, + 0x20, 0x58, 0x33, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x36, 0x30, 0x33, 0x31, + 0x37, 0x31, 0x36, 0x34, 0x30, 0x34, 0x36, 0x5a, 0x17, 0x0d, 0x32, 0x31, + 0x30, 0x33, 0x31, 0x37, 0x31, 0x36, 0x34, 0x30, 0x34, 0x36, 0x5a, 0x30, + 0x4a, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x4c, 0x65, 0x74, 0x27, 0x73, 0x20, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x1a, 0x4c, 0x65, 0x74, 0x27, 0x73, 0x20, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x20, 0x58, 0x33, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0x9c, 0xd3, 0x0c, 0xf0, 0x5a, 0xe5, 0x2e, 0x47, 0xb7, 0x72, 0x5d, 0x37, + 0x83, 0xb3, 0x68, 0x63, 0x30, 0xea, 0xd7, 0x35, 0x26, 0x19, 0x25, 0xe1, + 0xbd, 0xbe, 0x35, 0xf1, 0x70, 0x92, 0x2f, 0xb7, 0xb8, 0x4b, 0x41, 0x05, + 0xab, 0xa9, 0x9e, 0x35, 0x08, 0x58, 0xec, 0xb1, 0x2a, 0xc4, 0x68, 0x87, + 0x0b, 0xa3, 0xe3, 0x75, 0xe4, 0xe6, 0xf3, 0xa7, 0x62, 0x71, 0xba, 0x79, + 0x81, 0x60, 0x1f, 0xd7, 0x91, 0x9a, 0x9f, 0xf3, 0xd0, 0x78, 0x67, 0x71, + 0xc8, 0x69, 0x0e, 0x95, 0x91, 0xcf, 0xfe, 0xe6, 0x99, 0xe9, 0x60, 0x3c, + 0x48, 0xcc, 0x7e, 0xca, 0x4d, 0x77, 0x12, 0x24, 0x9d, 0x47, 0x1b, 0x5a, + 0xeb, 0xb9, 0xec, 0x1e, 0x37, 0x00, 0x1c, 0x9c, 0xac, 0x7b, 0xa7, 0x05, + 0xea, 0xce, 0x4a, 0xeb, 0xbd, 0x41, 0xe5, 0x36, 0x98, 0xb9, 0xcb, 0xfd, + 0x6d, 0x3c, 0x96, 0x68, 0xdf, 0x23, 0x2a, 0x42, 0x90, 0x0c, 0x86, 0x74, + 0x67, 0xc8, 0x7f, 0xa5, 0x9a, 0xb8, 0x52, 0x61, 0x14, 0x13, 0x3f, 0x65, + 0xe9, 0x82, 0x87, 0xcb, 0xdb, 0xfa, 0x0e, 0x56, 0xf6, 0x86, 0x89, 0xf3, + 0x85, 0x3f, 0x97, 0x86, 0xaf, 0xb0, 0xdc, 0x1a, 0xef, 0x6b, 0x0d, 0x95, + 0x16, 0x7d, 0xc4, 0x2b, 0xa0, 0x65, 0xb2, 0x99, 0x04, 0x36, 0x75, 0x80, + 0x6b, 0xac, 0x4a, 0xf3, 0x1b, 0x90, 0x49, 0x78, 0x2f, 0xa2, 0x96, 0x4f, + 0x2a, 0x20, 0x25, 0x29, 0x04, 0xc6, 0x74, 0xc0, 0xd0, 0x31, 0xcd, 0x8f, + 0x31, 0x38, 0x95, 0x16, 0xba, 0xa8, 0x33, 0xb8, 0x43, 0xf1, 0xb1, 0x1f, + 0xc3, 0x30, 0x7f, 0xa2, 0x79, 0x31, 0x13, 0x3d, 0x2d, 0x36, 0xf8, 0xe3, + 0xfc, 0xf2, 0x33, 0x6a, 0xb9, 0x39, 0x31, 0xc5, 0xaf, 0xc4, 0x8d, 0x0d, + 0x1d, 0x64, 0x16, 0x33, 0xaa, 0xfa, 0x84, 0x29, 0xb6, 0xd4, 0x0b, 0xc0, + 0xd8, 0x7d, 0xc3, 0x93, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, + 0x7d, 0x30, 0x82, 0x01, 0x79, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x7f, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x73, 0x30, 0x71, 0x30, 0x32, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x26, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x73, 0x72, 0x67, 0x2e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x69, 0x64, 0x2e, 0x6f, 0x63, 0x73, 0x70, 0x2e, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x30, 0x3b, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, + 0x02, 0x86, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x2f, 0x64, + 0x73, 0x74, 0x72, 0x6f, 0x6f, 0x74, 0x63, 0x61, 0x78, 0x33, 0x2e, 0x70, + 0x37, 0x63, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0xc4, 0xa7, 0xb1, 0xa4, 0x7b, 0x2c, 0x71, 0xfa, 0xdb, + 0xe1, 0x4b, 0x90, 0x75, 0xff, 0xc4, 0x15, 0x60, 0x85, 0x89, 0x10, 0x30, + 0x54, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x4d, 0x30, 0x4b, 0x30, 0x08, + 0x06, 0x06, 0x67, 0x81, 0x0c, 0x01, 0x02, 0x01, 0x30, 0x3f, 0x06, 0x0b, + 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xdf, 0x13, 0x01, 0x01, 0x01, 0x30, + 0x30, 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x01, 0x16, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x6f, 0x74, 0x2d, 0x78, 0x31, 0x2e, 0x6c, 0x65, + 0x74, 0x73, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x2e, 0x6f, 0x72, + 0x67, 0x30, 0x3c, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x35, 0x30, 0x33, + 0x30, 0x31, 0xa0, 0x2f, 0xa0, 0x2d, 0x86, 0x2b, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x53, 0x54, + 0x52, 0x4f, 0x4f, 0x54, 0x43, 0x41, 0x58, 0x33, 0x43, 0x52, 0x4c, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, + 0x04, 0x14, 0xa8, 0x4a, 0x6a, 0x63, 0x04, 0x7d, 0xdd, 0xba, 0xe6, 0xd1, + 0x39, 0xb7, 0xa6, 0x45, 0x65, 0xef, 0xf3, 0xa8, 0xec, 0xa1, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xdd, 0x33, 0xd7, 0x11, 0xf3, 0x63, + 0x58, 0x38, 0xdd, 0x18, 0x15, 0xfb, 0x09, 0x55, 0xbe, 0x76, 0x56, 0xb9, + 0x70, 0x48, 0xa5, 0x69, 0x47, 0x27, 0x7b, 0xc2, 0x24, 0x08, 0x92, 0xf1, + 0x5a, 0x1f, 0x4a, 0x12, 0x29, 0x37, 0x24, 0x74, 0x51, 0x1c, 0x62, 0x68, + 0xb8, 0xcd, 0x95, 0x70, 0x67, 0xe5, 0xf7, 0xa4, 0xbc, 0x4e, 0x28, 0x51, + 0xcd, 0x9b, 0xe8, 0xae, 0x87, 0x9d, 0xea, 0xd8, 0xba, 0x5a, 0xa1, 0x01, + 0x9a, 0xdc, 0xf0, 0xdd, 0x6a, 0x1d, 0x6a, 0xd8, 0x3e, 0x57, 0x23, 0x9e, + 0xa6, 0x1e, 0x04, 0x62, 0x9a, 0xff, 0xd7, 0x05, 0xca, 0xb7, 0x1f, 0x3f, + 0xc0, 0x0a, 0x48, 0xbc, 0x94, 0xb0, 0xb6, 0x65, 0x62, 0xe0, 0xc1, 0x54, + 0xe5, 0xa3, 0x2a, 0xad, 0x20, 0xc4, 0xe9, 0xe6, 0xbb, 0xdc, 0xc8, 0xf6, + 0xb5, 0xc3, 0x32, 0xa3, 0x98, 0xcc, 0x77, 0xa8, 0xe6, 0x79, 0x65, 0x07, + 0x2b, 0xcb, 0x28, 0xfe, 0x3a, 0x16, 0x52, 0x81, 0xce, 0x52, 0x0c, 0x2e, + 0x5f, 0x83, 0xe8, 0xd5, 0x06, 0x33, 0xfb, 0x77, 0x6c, 0xce, 0x40, 0xea, + 0x32, 0x9e, 0x1f, 0x92, 0x5c, 0x41, 0xc1, 0x74, 0x6c, 0x5b, 0x5d, 0x0a, + 0x5f, 0x33, 0xcc, 0x4d, 0x9f, 0xac, 0x38, 0xf0, 0x2f, 0x7b, 0x2c, 0x62, + 0x9d, 0xd9, 0xa3, 0x91, 0x6f, 0x25, 0x1b, 0x2f, 0x90, 0xb1, 0x19, 0x46, + 0x3d, 0xf6, 0x7e, 0x1b, 0xa6, 0x7a, 0x87, 0xb9, 0xa3, 0x7a, 0x6d, 0x18, + 0xfa, 0x25, 0xa5, 0x91, 0x87, 0x15, 0xe0, 0xf2, 0x16, 0x2f, 0x58, 0xb0, + 0x06, 0x2f, 0x2c, 0x68, 0x26, 0xc6, 0x4b, 0x98, 0xcd, 0xda, 0x9f, 0x0c, + 0xf9, 0x7f, 0x90, 0xed, 0x43, 0x4a, 0x12, 0x44, 0x4e, 0x6f, 0x73, 0x7a, + 0x28, 0xea, 0xa4, 0xaa, 0x6e, 0x7b, 0x4c, 0x7d, 0x87, 0xdd, 0xe0, 0xc9, + 0x02, 0x44, 0xa7, 0x87, 0xaf, 0xc3, 0x34, 0x5b, 0xb4, 0x42, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 06:7f:94:4a:2a:27:cd:f3:fa:c2:ae:2b:01:f9:08:ee:b9:c4:c6 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Services Root Certificate Authority - G2 + Validity + Not Before: May 25 12:00:00 2015 GMT + Not After : Dec 31 01:00:00 2037 GMT + Subject: C=US, O=Amazon, CN=Amazon Root CA 1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b2:78:80:71:ca:78:d5:e3:71:af:47:80:50:74: + 7d:6e:d8:d7:88:76:f4:99:68:f7:58:21:60:f9:74: + 84:01:2f:ac:02:2d:86:d3:a0:43:7a:4e:b2:a4:d0: + 36:ba:01:be:8d:db:48:c8:07:17:36:4c:f4:ee:88: + 23:c7:3e:eb:37:f5:b5:19:f8:49:68:b0:de:d7:b9: + 76:38:1d:61:9e:a4:fe:82:36:a5:e5:4a:56:e4:45: + e1:f9:fd:b4:16:fa:74:da:9c:9b:35:39:2f:fa:b0: + 20:50:06:6c:7a:d0:80:b2:a6:f9:af:ec:47:19:8f: + 50:38:07:dc:a2:87:39:58:f8:ba:d5:a9:f9:48:67: + 30:96:ee:94:78:5e:6f:89:a3:51:c0:30:86:66:a1: + 45:66:ba:54:eb:a3:c3:91:f9:48:dc:ff:d1:e8:30: + 2d:7d:2d:74:70:35:d7:88:24:f7:9e:c4:59:6e:bb: + 73:87:17:f2:32:46:28:b8:43:fa:b7:1d:aa:ca:b4: + f2:9f:24:0e:2d:4b:f7:71:5c:5e:69:ff:ea:95:02: + cb:38:8a:ae:50:38:6f:db:fb:2d:62:1b:c5:c7:1e: + 54:e1:77:e0:67:c8:0f:9c:87:23:d6:3f:40:20:7f: + 20:80:c4:80:4c:3e:3b:24:26:8e:04:ae:6c:9a:c8: + aa:0d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 84:18:CC:85:34:EC:BC:0C:94:94:2E:08:59:9C:C7:B2:10:4E:0A:08 + X509v3 Authority Key Identifier: + keyid:9C:5F:00:DF:AA:01:D7:30:2B:38:88:A2:B8:6D:4A:9C:F2:11:91:83 + + Authority Information Access: + OCSP - URI:http://ocsp.rootg2.amazontrust.com + CA Issuers - URI:http://crt.rootg2.amazontrust.com/rootg2.cer + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.rootg2.amazontrust.com/rootg2.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + + Signature Algorithm: sha256WithRSAEncryption + 62:37:42:5c:bc:10:b5:3e:8b:2c:e9:0c:9b:6c:45:e2:07:00: + 7a:f9:c5:58:0b:b9:08:8c:3e:ed:b3:25:3c:b5:6f:50:e4:cd: + 35:6a:a7:93:34:96:32:21:a9:48:44:ab:9c:ed:3d:b4:aa:73: + 6d:e4:7f:16:80:89:6c:cf:28:03:18:83:47:79:a3:10:7e:30: + 5b:ac:3b:b0:60:e0:77:d4:08:a6:e1:1d:7c:5e:c0:bb:f9:9a: + 7b:22:9d:a7:00:09:7e:ac:46:17:83:dc:9c:26:57:99:30:39: + 62:96:8f:ed:da:de:aa:c5:cc:1b:3e:ca:43:68:6c:57:16:bc: + d5:0e:20:2e:fe:ff:c2:6a:5d:2e:a0:4a:6d:14:58:87:94:e6: + 39:31:5f:7c:73:cb:90:88:6a:84:11:96:27:a6:ed:d9:81:46: + a6:7e:a3:72:00:0a:52:3e:83:88:07:63:77:89:69:17:0f:39: + 85:d2:ab:08:45:4d:d0:51:3a:fd:5d:5d:37:64:4c:7e:30:b2: + 55:24:42:9d:36:b0:5d:9c:17:81:61:f1:ca:f9:10:02:24:ab: + eb:0d:74:91:8d:7b:45:29:50:39:88:b2:a6:89:35:25:1e:14: + 6a:47:23:31:2f:5c:9a:fa:ad:9a:0e:62:51:a4:2a:a9:c4:f9: + 34:9d:21:18 +-----BEGIN CERTIFICATE----- +MIIEkjCCA3qgAwIBAgITBn+USionzfP6wq4rAfkI7rnExjANBgkqhkiG9w0BAQsF +ADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNj +b3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4x +OzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1 +dGhvcml0eSAtIEcyMB4XDTE1MDUyNTEyMDAwMFoXDTM3MTIzMTAxMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaOCATEwggEtMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBSEGMyFNOy8DJSULghZnMeyEE4KCDAfBgNVHSMEGDAW +gBScXwDfqgHXMCs4iKK4bUqc8hGRgzB4BggrBgEFBQcBAQRsMGowLgYIKwYBBQUH +MAGGImh0dHA6Ly9vY3NwLnJvb3RnMi5hbWF6b250cnVzdC5jb20wOAYIKwYBBQUH +MAKGLGh0dHA6Ly9jcnQucm9vdGcyLmFtYXpvbnRydXN0LmNvbS9yb290ZzIuY2Vy +MD0GA1UdHwQ2MDQwMqAwoC6GLGh0dHA6Ly9jcmwucm9vdGcyLmFtYXpvbnRydXN0 +LmNvbS9yb290ZzIuY3JsMBEGA1UdIAQKMAgwBgYEVR0gADANBgkqhkiG9w0BAQsF +AAOCAQEAYjdCXLwQtT6LLOkMm2xF4gcAevnFWAu5CIw+7bMlPLVvUOTNNWqnkzSW +MiGpSESrnO09tKpzbeR/FoCJbM8oAxiDR3mjEH4wW6w7sGDgd9QIpuEdfF7Au/ma +eyKdpwAJfqxGF4PcnCZXmTA5YpaP7dreqsXMGz7KQ2hsVxa81Q4gLv7/wmpdLqBK +bRRYh5TmOTFffHPLkIhqhBGWJ6bt2YFGpn6jcgAKUj6DiAdjd4lpFw85hdKrCEVN +0FE6/V1dN2RMfjCyVSRCnTawXZwXgWHxyvkQAiSr6w10kY17RSlQOYiypok1JR4U +akcjMS9cmvqtmg5iUaQqqcT5NJ0hGA== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_23[] = { + 0x30, 0x82, 0x04, 0x92, 0x30, 0x82, 0x03, 0x7a, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x13, 0x06, 0x7f, 0x94, 0x4a, 0x2a, 0x27, 0xcd, 0xf3, 0xfa, + 0xc2, 0xae, 0x2b, 0x01, 0xf9, 0x08, 0xee, 0xb9, 0xc4, 0xc6, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x30, 0x81, 0x98, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, + 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, + 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, + 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, 0x31, 0x25, 0x30, 0x23, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, + 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, + 0x3b, 0x30, 0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x53, 0x74, + 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, + 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x35, 0x32, 0x35, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x37, 0x31, 0x32, 0x33, + 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x39, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x06, 0x41, 0x6d, + 0x61, 0x7a, 0x6f, 0x6e, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x10, 0x41, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x20, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x41, 0x20, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xb2, 0x78, 0x80, 0x71, 0xca, 0x78, 0xd5, 0xe3, + 0x71, 0xaf, 0x47, 0x80, 0x50, 0x74, 0x7d, 0x6e, 0xd8, 0xd7, 0x88, 0x76, + 0xf4, 0x99, 0x68, 0xf7, 0x58, 0x21, 0x60, 0xf9, 0x74, 0x84, 0x01, 0x2f, + 0xac, 0x02, 0x2d, 0x86, 0xd3, 0xa0, 0x43, 0x7a, 0x4e, 0xb2, 0xa4, 0xd0, + 0x36, 0xba, 0x01, 0xbe, 0x8d, 0xdb, 0x48, 0xc8, 0x07, 0x17, 0x36, 0x4c, + 0xf4, 0xee, 0x88, 0x23, 0xc7, 0x3e, 0xeb, 0x37, 0xf5, 0xb5, 0x19, 0xf8, + 0x49, 0x68, 0xb0, 0xde, 0xd7, 0xb9, 0x76, 0x38, 0x1d, 0x61, 0x9e, 0xa4, + 0xfe, 0x82, 0x36, 0xa5, 0xe5, 0x4a, 0x56, 0xe4, 0x45, 0xe1, 0xf9, 0xfd, + 0xb4, 0x16, 0xfa, 0x74, 0xda, 0x9c, 0x9b, 0x35, 0x39, 0x2f, 0xfa, 0xb0, + 0x20, 0x50, 0x06, 0x6c, 0x7a, 0xd0, 0x80, 0xb2, 0xa6, 0xf9, 0xaf, 0xec, + 0x47, 0x19, 0x8f, 0x50, 0x38, 0x07, 0xdc, 0xa2, 0x87, 0x39, 0x58, 0xf8, + 0xba, 0xd5, 0xa9, 0xf9, 0x48, 0x67, 0x30, 0x96, 0xee, 0x94, 0x78, 0x5e, + 0x6f, 0x89, 0xa3, 0x51, 0xc0, 0x30, 0x86, 0x66, 0xa1, 0x45, 0x66, 0xba, + 0x54, 0xeb, 0xa3, 0xc3, 0x91, 0xf9, 0x48, 0xdc, 0xff, 0xd1, 0xe8, 0x30, + 0x2d, 0x7d, 0x2d, 0x74, 0x70, 0x35, 0xd7, 0x88, 0x24, 0xf7, 0x9e, 0xc4, + 0x59, 0x6e, 0xbb, 0x73, 0x87, 0x17, 0xf2, 0x32, 0x46, 0x28, 0xb8, 0x43, + 0xfa, 0xb7, 0x1d, 0xaa, 0xca, 0xb4, 0xf2, 0x9f, 0x24, 0x0e, 0x2d, 0x4b, + 0xf7, 0x71, 0x5c, 0x5e, 0x69, 0xff, 0xea, 0x95, 0x02, 0xcb, 0x38, 0x8a, + 0xae, 0x50, 0x38, 0x6f, 0xdb, 0xfb, 0x2d, 0x62, 0x1b, 0xc5, 0xc7, 0x1e, + 0x54, 0xe1, 0x77, 0xe0, 0x67, 0xc8, 0x0f, 0x9c, 0x87, 0x23, 0xd6, 0x3f, + 0x40, 0x20, 0x7f, 0x20, 0x80, 0xc4, 0x80, 0x4c, 0x3e, 0x3b, 0x24, 0x26, + 0x8e, 0x04, 0xae, 0x6c, 0x9a, 0xc8, 0xaa, 0x0d, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xa3, 0x82, 0x01, 0x31, 0x30, 0x82, 0x01, 0x2d, 0x30, 0x0f, 0x06, + 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, + 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x84, 0x18, 0xcc, 0x85, 0x34, 0xec, 0xbc, + 0x0c, 0x94, 0x94, 0x2e, 0x08, 0x59, 0x9c, 0xc7, 0xb2, 0x10, 0x4e, 0x0a, + 0x08, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0x9c, 0x5f, 0x00, 0xdf, 0xaa, 0x01, 0xd7, 0x30, 0x2b, 0x38, + 0x88, 0xa2, 0xb8, 0x6d, 0x4a, 0x9c, 0xf2, 0x11, 0x91, 0x83, 0x30, 0x78, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x6c, + 0x30, 0x6a, 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, + 0x63, 0x73, 0x70, 0x2e, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, 0x2e, 0x61, + 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x30, 0x38, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x02, 0x86, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x74, 0x2e, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, 0x2e, 0x61, 0x6d, + 0x61, 0x7a, 0x6f, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, 0x2e, 0x63, 0x65, 0x72, + 0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x36, 0x30, 0x34, 0x30, + 0x32, 0xa0, 0x30, 0xa0, 0x2e, 0x86, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, + 0x2e, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x67, 0x32, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x11, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x0a, + 0x30, 0x08, 0x30, 0x06, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x62, 0x37, 0x42, 0x5c, 0xbc, 0x10, + 0xb5, 0x3e, 0x8b, 0x2c, 0xe9, 0x0c, 0x9b, 0x6c, 0x45, 0xe2, 0x07, 0x00, + 0x7a, 0xf9, 0xc5, 0x58, 0x0b, 0xb9, 0x08, 0x8c, 0x3e, 0xed, 0xb3, 0x25, + 0x3c, 0xb5, 0x6f, 0x50, 0xe4, 0xcd, 0x35, 0x6a, 0xa7, 0x93, 0x34, 0x96, + 0x32, 0x21, 0xa9, 0x48, 0x44, 0xab, 0x9c, 0xed, 0x3d, 0xb4, 0xaa, 0x73, + 0x6d, 0xe4, 0x7f, 0x16, 0x80, 0x89, 0x6c, 0xcf, 0x28, 0x03, 0x18, 0x83, + 0x47, 0x79, 0xa3, 0x10, 0x7e, 0x30, 0x5b, 0xac, 0x3b, 0xb0, 0x60, 0xe0, + 0x77, 0xd4, 0x08, 0xa6, 0xe1, 0x1d, 0x7c, 0x5e, 0xc0, 0xbb, 0xf9, 0x9a, + 0x7b, 0x22, 0x9d, 0xa7, 0x00, 0x09, 0x7e, 0xac, 0x46, 0x17, 0x83, 0xdc, + 0x9c, 0x26, 0x57, 0x99, 0x30, 0x39, 0x62, 0x96, 0x8f, 0xed, 0xda, 0xde, + 0xaa, 0xc5, 0xcc, 0x1b, 0x3e, 0xca, 0x43, 0x68, 0x6c, 0x57, 0x16, 0xbc, + 0xd5, 0x0e, 0x20, 0x2e, 0xfe, 0xff, 0xc2, 0x6a, 0x5d, 0x2e, 0xa0, 0x4a, + 0x6d, 0x14, 0x58, 0x87, 0x94, 0xe6, 0x39, 0x31, 0x5f, 0x7c, 0x73, 0xcb, + 0x90, 0x88, 0x6a, 0x84, 0x11, 0x96, 0x27, 0xa6, 0xed, 0xd9, 0x81, 0x46, + 0xa6, 0x7e, 0xa3, 0x72, 0x00, 0x0a, 0x52, 0x3e, 0x83, 0x88, 0x07, 0x63, + 0x77, 0x89, 0x69, 0x17, 0x0f, 0x39, 0x85, 0xd2, 0xab, 0x08, 0x45, 0x4d, + 0xd0, 0x51, 0x3a, 0xfd, 0x5d, 0x5d, 0x37, 0x64, 0x4c, 0x7e, 0x30, 0xb2, + 0x55, 0x24, 0x42, 0x9d, 0x36, 0xb0, 0x5d, 0x9c, 0x17, 0x81, 0x61, 0xf1, + 0xca, 0xf9, 0x10, 0x02, 0x24, 0xab, 0xeb, 0x0d, 0x74, 0x91, 0x8d, 0x7b, + 0x45, 0x29, 0x50, 0x39, 0x88, 0xb2, 0xa6, 0x89, 0x35, 0x25, 0x1e, 0x14, + 0x6a, 0x47, 0x23, 0x31, 0x2f, 0x5c, 0x9a, 0xfa, 0xad, 0x9a, 0x0e, 0x62, + 0x51, 0xa4, 0x2a, 0xa9, 0xc4, 0xf9, 0x34, 0x9d, 0x21, 0x18, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 01:fd:a3:eb:6e:ca:75:c8:88:43:8b:72:4b:cf:bc:91 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA + Validity + Not Before: Mar 8 12:00:00 2013 GMT + Not After : Mar 8 12:00:00 2023 GMT + Subject: C=US, O=DigiCert Inc, CN=DigiCert SHA2 Secure Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:dc:ae:58:90:4d:c1:c4:30:15:90:35:5b:6e:3c: + 82:15:f5:2c:5c:bd:e3:db:ff:71:43:fa:64:25:80: + d4:ee:18:a2:4d:f0:66:d0:0a:73:6e:11:98:36:17: + 64:af:37:9d:fd:fa:41:84:af:c7:af:8c:fe:1a:73: + 4d:cf:33:97:90:a2:96:87:53:83:2b:b9:a6:75:48: + 2d:1d:56:37:7b:da:31:32:1a:d7:ac:ab:06:f4:aa: + 5d:4b:b7:47:46:dd:2a:93:c3:90:2e:79:80:80:ef: + 13:04:6a:14:3b:b5:9b:92:be:c2:07:65:4e:fc:da: + fc:ff:7a:ae:dc:5c:7e:55:31:0c:e8:39:07:a4:d7: + be:2f:d3:0b:6a:d2:b1:df:5f:fe:57:74:53:3b:35: + 80:dd:ae:8e:44:98:b3:9f:0e:d3:da:e0:d7:f4:6b: + 29:ab:44:a7:4b:58:84:6d:92:4b:81:c3:da:73:8b: + 12:97:48:90:04:45:75:1a:dd:37:31:97:92:e8:cd: + 54:0d:3b:e4:c1:3f:39:5e:2e:b8:f3:5c:7e:10:8e: + 86:41:00:8d:45:66:47:b0:a1:65:ce:a0:aa:29:09: + 4e:f3:97:eb:e8:2e:ab:0f:72:a7:30:0e:fa:c7:f4: + fd:14:77:c3:a4:5b:28:57:c2:b3:f9:82:fd:b7:45: + 58:9b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl3.digicert.com/DigiCertGlobalRootCA.crl + + Full Name: + URI:http://crl4.digicert.com/DigiCertGlobalRootCA.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.digicert.com/CPS + + X509v3 Subject Key Identifier: + 0F:80:61:1C:82:31:61:D5:2F:28:E7:8D:46:38:B4:2C:E1:C6:D9:E2 + X509v3 Authority Key Identifier: + keyid:03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55 + + Signature Algorithm: sha256WithRSAEncryption + 23:3e:df:4b:d2:31:42:a5:b6:7e:42:5c:1a:44:cc:69:d1:68: + b4:5d:4b:e0:04:21:6c:4b:e2:6d:cc:b1:e0:97:8f:a6:53:09: + cd:aa:2a:65:e5:39:4f:1e:83:a5:6e:5c:98:a2:24:26:e6:fb: + a1:ed:93:c7:2e:02:c6:4d:4a:bf:b0:42:df:78:da:b3:a8:f9: + 6d:ff:21:85:53:36:60:4c:76:ce:ec:38:dc:d6:51:80:f0:c5: + d6:e5:d4:4d:27:64:ab:9b:c7:3e:71:fb:48:97:b8:33:6d:c9: + 13:07:ee:96:a2:1b:18:15:f6:5c:4c:40:ed:b3:c2:ec:ff:71: + c1:e3:47:ff:d4:b9:00:b4:37:42:da:20:c9:ea:6e:8a:ee:14: + 06:ae:7d:a2:59:98:88:a8:1b:6f:2d:f4:f2:c9:14:5f:26:cf: + 2c:8d:7e:ed:37:c0:a9:d5:39:b9:82:bf:19:0c:ea:34:af:00: + 21:68:f8:ad:73:e2:c9:32:da:38:25:0b:55:d3:9a:1d:f0:68: + 86:ed:2e:41:34:ef:7c:a5:50:1d:bf:3a:f9:d3:c1:08:0c:e6: + ed:1e:8a:58:25:e4:b8:77:ad:2d:6e:f5:52:dd:b4:74:8f:ab: + 49:2e:9d:3b:93:34:28:1f:78:ce:94:ea:c7:bd:d3:c9:6d:1c: + de:5c:32:f3 +-----BEGIN CERTIFICATE----- +MIIElDCCA3ygAwIBAgIQAf2j627KdciIQ4tyS8+8kTANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0xMzAzMDgxMjAwMDBaFw0yMzAzMDgxMjAwMDBaME0xCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIg +U2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANyuWJBNwcQwFZA1W248ghX1LFy949v/cUP6ZCWA1O4Yok3wZtAKc24RmDYXZK83 +nf36QYSvx6+M/hpzTc8zl5CilodTgyu5pnVILR1WN3vaMTIa16yrBvSqXUu3R0bd +KpPDkC55gIDvEwRqFDu1m5K+wgdlTvza/P96rtxcflUxDOg5B6TXvi/TC2rSsd9f +/ld0Uzs1gN2ujkSYs58O09rg1/RrKatEp0tYhG2SS4HD2nOLEpdIkARFdRrdNzGX +kujNVA075ME/OV4uuPNcfhCOhkEAjUVmR7ChZc6gqikJTvOX6+guqw9ypzAO+sf0 +/RR3w6RbKFfCs/mC/bdFWJsCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8C +AQAwDgYDVR0PAQH/BAQDAgGGMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYY +aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6 +Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwN6A1 +oDOGMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RD +QS5jcmwwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v +d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwHQYDVR0OBBYEFA+AYRyCMWHVLyjnjUY4tCzh +xtniMB8GA1UdIwQYMBaAFAPeUDVW0Uy7ZvCj4hsbw5eyPdFVMA0GCSqGSIb3DQEB +CwUAA4IBAQAjPt9L0jFCpbZ+QlwaRMxp0Wi0XUvgBCFsS+JtzLHgl4+mUwnNqipl +5TlPHoOlblyYoiQm5vuh7ZPHLgLGTUq/sELfeNqzqPlt/yGFUzZgTHbO7Djc1lGA +8MXW5dRNJ2Srm8c+cftIl7gzbckTB+6WohsYFfZcTEDts8Ls/3HB40f/1LkAtDdC +2iDJ6m6K7hQGrn2iWZiIqBtvLfTyyRRfJs8sjX7tN8Cp1Tm5gr8ZDOo0rwAhaPit +c+LJMto4JQtV05od8GiG7S5BNO98pVAdvzr508EIDObtHopYJeS4d60tbvVS3bR0 +j6tJLp07kzQoH3jOlOrHvdPJbRzeXDLz +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_24[] = { + 0x30, 0x82, 0x04, 0x94, 0x30, 0x82, 0x03, 0x7c, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x01, 0xfd, 0xa3, 0xeb, 0x6e, 0xca, 0x75, 0xc8, 0x88, + 0x43, 0x8b, 0x72, 0x4b, 0xcf, 0xbc, 0x91, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x61, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x17, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, + 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x30, 0x33, 0x30, 0x38, 0x31, + 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x30, 0x33, + 0x30, 0x38, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x4d, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, + 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, + 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x53, 0x48, 0x41, 0x32, 0x20, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, + 0x00, 0xdc, 0xae, 0x58, 0x90, 0x4d, 0xc1, 0xc4, 0x30, 0x15, 0x90, 0x35, + 0x5b, 0x6e, 0x3c, 0x82, 0x15, 0xf5, 0x2c, 0x5c, 0xbd, 0xe3, 0xdb, 0xff, + 0x71, 0x43, 0xfa, 0x64, 0x25, 0x80, 0xd4, 0xee, 0x18, 0xa2, 0x4d, 0xf0, + 0x66, 0xd0, 0x0a, 0x73, 0x6e, 0x11, 0x98, 0x36, 0x17, 0x64, 0xaf, 0x37, + 0x9d, 0xfd, 0xfa, 0x41, 0x84, 0xaf, 0xc7, 0xaf, 0x8c, 0xfe, 0x1a, 0x73, + 0x4d, 0xcf, 0x33, 0x97, 0x90, 0xa2, 0x96, 0x87, 0x53, 0x83, 0x2b, 0xb9, + 0xa6, 0x75, 0x48, 0x2d, 0x1d, 0x56, 0x37, 0x7b, 0xda, 0x31, 0x32, 0x1a, + 0xd7, 0xac, 0xab, 0x06, 0xf4, 0xaa, 0x5d, 0x4b, 0xb7, 0x47, 0x46, 0xdd, + 0x2a, 0x93, 0xc3, 0x90, 0x2e, 0x79, 0x80, 0x80, 0xef, 0x13, 0x04, 0x6a, + 0x14, 0x3b, 0xb5, 0x9b, 0x92, 0xbe, 0xc2, 0x07, 0x65, 0x4e, 0xfc, 0xda, + 0xfc, 0xff, 0x7a, 0xae, 0xdc, 0x5c, 0x7e, 0x55, 0x31, 0x0c, 0xe8, 0x39, + 0x07, 0xa4, 0xd7, 0xbe, 0x2f, 0xd3, 0x0b, 0x6a, 0xd2, 0xb1, 0xdf, 0x5f, + 0xfe, 0x57, 0x74, 0x53, 0x3b, 0x35, 0x80, 0xdd, 0xae, 0x8e, 0x44, 0x98, + 0xb3, 0x9f, 0x0e, 0xd3, 0xda, 0xe0, 0xd7, 0xf4, 0x6b, 0x29, 0xab, 0x44, + 0xa7, 0x4b, 0x58, 0x84, 0x6d, 0x92, 0x4b, 0x81, 0xc3, 0xda, 0x73, 0x8b, + 0x12, 0x97, 0x48, 0x90, 0x04, 0x45, 0x75, 0x1a, 0xdd, 0x37, 0x31, 0x97, + 0x92, 0xe8, 0xcd, 0x54, 0x0d, 0x3b, 0xe4, 0xc1, 0x3f, 0x39, 0x5e, 0x2e, + 0xb8, 0xf3, 0x5c, 0x7e, 0x10, 0x8e, 0x86, 0x41, 0x00, 0x8d, 0x45, 0x66, + 0x47, 0xb0, 0xa1, 0x65, 0xce, 0xa0, 0xaa, 0x29, 0x09, 0x4e, 0xf3, 0x97, + 0xeb, 0xe8, 0x2e, 0xab, 0x0f, 0x72, 0xa7, 0x30, 0x0e, 0xfa, 0xc7, 0xf4, + 0xfd, 0x14, 0x77, 0xc3, 0xa4, 0x5b, 0x28, 0x57, 0xc2, 0xb3, 0xf9, 0x82, + 0xfd, 0xb7, 0x45, 0x58, 0x9b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x5a, 0x30, 0x82, 0x01, 0x56, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, + 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x7b, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x74, 0x30, 0x72, 0x30, + 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x33, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, + 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, + 0x43, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x6f, + 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x37, 0xa0, 0x35, + 0xa0, 0x33, 0x86, 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x34, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, + 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x6f, 0x6f, 0x74, 0x43, + 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x20, + 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, + 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x50, 0x53, 0x30, 0x1d, 0x06, 0x03, + 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x0f, 0x80, 0x61, 0x1c, 0x82, + 0x31, 0x61, 0xd5, 0x2f, 0x28, 0xe7, 0x8d, 0x46, 0x38, 0xb4, 0x2c, 0xe1, + 0xc6, 0xd9, 0xe2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, + 0x30, 0x16, 0x80, 0x14, 0x03, 0xde, 0x50, 0x35, 0x56, 0xd1, 0x4c, 0xbb, + 0x66, 0xf0, 0xa3, 0xe2, 0x1b, 0x1b, 0xc3, 0x97, 0xb2, 0x3d, 0xd1, 0x55, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x23, 0x3e, 0xdf, 0x4b, + 0xd2, 0x31, 0x42, 0xa5, 0xb6, 0x7e, 0x42, 0x5c, 0x1a, 0x44, 0xcc, 0x69, + 0xd1, 0x68, 0xb4, 0x5d, 0x4b, 0xe0, 0x04, 0x21, 0x6c, 0x4b, 0xe2, 0x6d, + 0xcc, 0xb1, 0xe0, 0x97, 0x8f, 0xa6, 0x53, 0x09, 0xcd, 0xaa, 0x2a, 0x65, + 0xe5, 0x39, 0x4f, 0x1e, 0x83, 0xa5, 0x6e, 0x5c, 0x98, 0xa2, 0x24, 0x26, + 0xe6, 0xfb, 0xa1, 0xed, 0x93, 0xc7, 0x2e, 0x02, 0xc6, 0x4d, 0x4a, 0xbf, + 0xb0, 0x42, 0xdf, 0x78, 0xda, 0xb3, 0xa8, 0xf9, 0x6d, 0xff, 0x21, 0x85, + 0x53, 0x36, 0x60, 0x4c, 0x76, 0xce, 0xec, 0x38, 0xdc, 0xd6, 0x51, 0x80, + 0xf0, 0xc5, 0xd6, 0xe5, 0xd4, 0x4d, 0x27, 0x64, 0xab, 0x9b, 0xc7, 0x3e, + 0x71, 0xfb, 0x48, 0x97, 0xb8, 0x33, 0x6d, 0xc9, 0x13, 0x07, 0xee, 0x96, + 0xa2, 0x1b, 0x18, 0x15, 0xf6, 0x5c, 0x4c, 0x40, 0xed, 0xb3, 0xc2, 0xec, + 0xff, 0x71, 0xc1, 0xe3, 0x47, 0xff, 0xd4, 0xb9, 0x00, 0xb4, 0x37, 0x42, + 0xda, 0x20, 0xc9, 0xea, 0x6e, 0x8a, 0xee, 0x14, 0x06, 0xae, 0x7d, 0xa2, + 0x59, 0x98, 0x88, 0xa8, 0x1b, 0x6f, 0x2d, 0xf4, 0xf2, 0xc9, 0x14, 0x5f, + 0x26, 0xcf, 0x2c, 0x8d, 0x7e, 0xed, 0x37, 0xc0, 0xa9, 0xd5, 0x39, 0xb9, + 0x82, 0xbf, 0x19, 0x0c, 0xea, 0x34, 0xaf, 0x00, 0x21, 0x68, 0xf8, 0xad, + 0x73, 0xe2, 0xc9, 0x32, 0xda, 0x38, 0x25, 0x0b, 0x55, 0xd3, 0x9a, 0x1d, + 0xf0, 0x68, 0x86, 0xed, 0x2e, 0x41, 0x34, 0xef, 0x7c, 0xa5, 0x50, 0x1d, + 0xbf, 0x3a, 0xf9, 0xd3, 0xc1, 0x08, 0x0c, 0xe6, 0xed, 0x1e, 0x8a, 0x58, + 0x25, 0xe4, 0xb8, 0x77, 0xad, 0x2d, 0x6e, 0xf5, 0x52, 0xdd, 0xb4, 0x74, + 0x8f, 0xab, 0x49, 0x2e, 0x9d, 0x3b, 0x93, 0x34, 0x28, 0x1f, 0x78, 0xce, + 0x94, 0xea, 0xc7, 0xbd, 0xd3, 0xc9, 0x6d, 0x1c, 0xde, 0x5c, 0x32, 0xf3, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 3740804 (0x391484) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority + Validity + Not Before: Jan 1 07:00:00 2014 GMT + Not After : May 30 07:00:00 2031 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bd:ed:c1:03:fc:f6:8f:fc:02:b1:6f:5b:9f:48: + d9:9d:79:e2:a2:b7:03:61:56:18:c3:47:b6:d7:ca: + 3d:35:2e:89:43:f7:a1:69:9b:de:8a:1a:fd:13:20: + 9c:b4:49:77:32:29:56:fd:b9:ec:8c:dd:22:fa:72: + dc:27:61:97:ee:f6:5a:84:ec:6e:19:b9:89:2c:dc: + 84:5b:d5:74:fb:6b:5f:c5:89:a5:10:52:89:46:55: + f4:b8:75:1c:e6:7f:e4:54:ae:4b:f8:55:72:57:02: + 19:f8:17:71:59:eb:1e:28:07:74:c5:9d:48:be:6c: + b4:f4:a4:b0:f3:64:37:79:92:c0:ec:46:5e:7f:e1: + 6d:53:4c:62:af:cd:1f:0b:63:bb:3a:9d:fb:fc:79: + 00:98:61:74:cf:26:82:40:63:f3:b2:72:6a:19:0d: + 99:ca:d4:0e:75:cc:37:fb:8b:89:c1:59:f1:62:7f: + 5f:b3:5f:65:30:f8:a7:b7:4d:76:5a:1e:76:5e:34: + c0:e8:96:56:99:8a:b3:f0:7f:a4:cd:bd:dc:32:31: + 7c:91:cf:e0:5f:11:f8:6b:aa:49:5c:d1:99:94:d1: + a2:e3:63:5b:09:76:b5:56:62:e1:4b:74:1d:96:d4: + 26:d4:08:04:59:d0:98:0e:0e:e6:de:fc:c3:ec:1f: + 90:f1 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 7C:0C:32:1F:A7:D9:30:7F:C4:7D:68:A3:62:A8:A1:CE:AB:07:5B:27 + X509v3 Authority Key Identifier: + keyid:BF:5F:B7:D1:CE:DD:1F:86:F4:5B:55:AC:DC:D7:10:C2:0E:A9:88:E7 + + Authority Information Access: + OCSP - URI:http://ocsp.starfieldtech.com/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.starfieldtech.com/sfroot.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://certs.starfieldtech.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + 85:63:c1:d9:dd:b9:ff:a9:bd:a6:19:dc:bf:13:3a:11:38:22: + 54:b1:ac:05:10:fb:7c:b3:96:3f:31:8b:66:ff:88:f3:e1:bf: + fb:c7:1f:00:ff:46:6a:8b:61:32:c9:01:51:76:fb:9a:c6:fa: + 20:51:c8:46:c4:98:d7:79:a3:e3:04:72:3f:8b:4d:34:53:67: + ec:33:2c:7b:e8:94:01:28:7c:3a:34:5b:02:77:16:8d:40:25: + 33:b0:bc:6c:97:d7:05:7a:ff:8c:85:ce:6f:a0:53:00:17:6e: + 1e:6c:bd:22:d7:0a:88:37:f6:7d:eb:99:41:ef:27:cb:8c:60: + 6b:4c:01:7e:65:50:0b:4f:b8:95:9a:9a:6e:34:fd:73:3a:33: + f1:91:d5:f3:4e:2d:74:e8:ef:d3:90:35:f1:06:68:64:d4:d0: + 13:fd:52:d3:c6:6d:c1:3a:8a:31:dd:05:26:35:4a:8c:65:b8: + 52:6b:81:ec:d2:9c:b5:34:10:97:9c:3e:c6:2f:ed:8e:42:42: + 24:2e:e9:73:9a:25:f9:11:f1:f2:23:69:cb:e5:94:69:a0:d2: + dc:b0:fc:44:89:ac:17:a8:cc:d5:37:77:16:c5:80:b9:0c:8f: + 57:02:55:99:85:7b:49:f0:2e:5b:a0:c2:57:53:5d:a2:e8:a6: + 37:c3:01:fa +-----BEGIN CERTIFICATE----- +MIIEoDCCA4igAwIBAgIDORSEMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNVBAYTAlVT +MSUwIwYDVQQKExxTdGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQL +EylTdGFyZmllbGQgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x +NDAxMDEwNzAwMDBaFw0zMTA1MzAwNzAwMDBaMIGPMQswCQYDVQQGEwJVUzEQMA4G +A1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTElMCMGA1UEChMcU3Rh +cmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UEAxMpU3RhcmZpZWxkIFJv +b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQC97cED/PaP/AKxb1ufSNmdeeKitwNhVhjDR7bXyj01LolD +96Fpm96KGv0TIJy0SXcyKVb9ueyM3SL6ctwnYZfu9lqE7G4ZuYks3IRb1XT7a1/F +iaUQUolGVfS4dRzmf+RUrkv4VXJXAhn4F3FZ6x4oB3TFnUi+bLT0pLDzZDd5ksDs +Rl5/4W1TTGKvzR8LY7s6nfv8eQCYYXTPJoJAY/OycmoZDZnK1A51zDf7i4nBWfFi +f1+zX2Uw+Ke3TXZaHnZeNMDollaZirPwf6TNvdwyMXyRz+BfEfhrqklc0ZmU0aLj +Y1sJdrVWYuFLdB2W1CbUCARZ0JgODube/MPsH5DxAgMBAAGjggEpMIIBJTAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfAwyH6fZMH/E +fWijYqihzqsHWycwHwYDVR0jBBgwFoAUv1+30c7dH4b0W1Ws3NcQwg6piOcwOgYI +KwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5zdGFyZmllbGR0 +ZWNoLmNvbS8wOAYDVR0fBDEwLzAtoCugKYYnaHR0cDovL2NybC5zdGFyZmllbGR0 +ZWNoLmNvbS9zZnJvb3QuY3JsMEwGA1UdIARFMEMwQQYEVR0gADA5MDcGCCsGAQUF +BwIBFitodHRwczovL2NlcnRzLnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkv +MA0GCSqGSIb3DQEBCwUAA4IBAQCFY8HZ3bn/qb2mGdy/EzoROCJUsawFEPt8s5Y/ +MYtm/4jz4b/7xx8A/0Zqi2EyyQFRdvuaxvogUchGxJjXeaPjBHI/i000U2fsMyx7 +6JQBKHw6NFsCdxaNQCUzsLxsl9cFev+Mhc5voFMAF24ebL0i1wqIN/Z965lB7yfL +jGBrTAF+ZVALT7iVmppuNP1zOjPxkdXzTi106O/TkDXxBmhk1NAT/VLTxm3BOoox +3QUmNUqMZbhSa4Hs0py1NBCXnD7GL+2OQkIkLulzmiX5EfHyI2nL5ZRpoNLcsPxE +iawXqMzVN3cWxYC5DI9XAlWZhXtJ8C5boMJXU12i6KY3wwH6 +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_25[] = { + 0x30, 0x82, 0x04, 0xa0, 0x30, 0x82, 0x03, 0x88, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x03, 0x39, 0x14, 0x84, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x68, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, + 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, + 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x29, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x32, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x34, 0x30, 0x31, 0x30, 0x31, 0x30, 0x37, 0x30, 0x30, 0x30, 0x30, 0x5a, + 0x17, 0x0d, 0x33, 0x31, 0x30, 0x35, 0x33, 0x30, 0x30, 0x37, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x30, 0x81, 0x8f, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, + 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, + 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, + 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, 0x31, 0x25, + 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, 0x74, 0x61, + 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, + 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, + 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xbd, 0xed, 0xc1, 0x03, 0xfc, 0xf6, 0x8f, 0xfc, 0x02, 0xb1, + 0x6f, 0x5b, 0x9f, 0x48, 0xd9, 0x9d, 0x79, 0xe2, 0xa2, 0xb7, 0x03, 0x61, + 0x56, 0x18, 0xc3, 0x47, 0xb6, 0xd7, 0xca, 0x3d, 0x35, 0x2e, 0x89, 0x43, + 0xf7, 0xa1, 0x69, 0x9b, 0xde, 0x8a, 0x1a, 0xfd, 0x13, 0x20, 0x9c, 0xb4, + 0x49, 0x77, 0x32, 0x29, 0x56, 0xfd, 0xb9, 0xec, 0x8c, 0xdd, 0x22, 0xfa, + 0x72, 0xdc, 0x27, 0x61, 0x97, 0xee, 0xf6, 0x5a, 0x84, 0xec, 0x6e, 0x19, + 0xb9, 0x89, 0x2c, 0xdc, 0x84, 0x5b, 0xd5, 0x74, 0xfb, 0x6b, 0x5f, 0xc5, + 0x89, 0xa5, 0x10, 0x52, 0x89, 0x46, 0x55, 0xf4, 0xb8, 0x75, 0x1c, 0xe6, + 0x7f, 0xe4, 0x54, 0xae, 0x4b, 0xf8, 0x55, 0x72, 0x57, 0x02, 0x19, 0xf8, + 0x17, 0x71, 0x59, 0xeb, 0x1e, 0x28, 0x07, 0x74, 0xc5, 0x9d, 0x48, 0xbe, + 0x6c, 0xb4, 0xf4, 0xa4, 0xb0, 0xf3, 0x64, 0x37, 0x79, 0x92, 0xc0, 0xec, + 0x46, 0x5e, 0x7f, 0xe1, 0x6d, 0x53, 0x4c, 0x62, 0xaf, 0xcd, 0x1f, 0x0b, + 0x63, 0xbb, 0x3a, 0x9d, 0xfb, 0xfc, 0x79, 0x00, 0x98, 0x61, 0x74, 0xcf, + 0x26, 0x82, 0x40, 0x63, 0xf3, 0xb2, 0x72, 0x6a, 0x19, 0x0d, 0x99, 0xca, + 0xd4, 0x0e, 0x75, 0xcc, 0x37, 0xfb, 0x8b, 0x89, 0xc1, 0x59, 0xf1, 0x62, + 0x7f, 0x5f, 0xb3, 0x5f, 0x65, 0x30, 0xf8, 0xa7, 0xb7, 0x4d, 0x76, 0x5a, + 0x1e, 0x76, 0x5e, 0x34, 0xc0, 0xe8, 0x96, 0x56, 0x99, 0x8a, 0xb3, 0xf0, + 0x7f, 0xa4, 0xcd, 0xbd, 0xdc, 0x32, 0x31, 0x7c, 0x91, 0xcf, 0xe0, 0x5f, + 0x11, 0xf8, 0x6b, 0xaa, 0x49, 0x5c, 0xd1, 0x99, 0x94, 0xd1, 0xa2, 0xe3, + 0x63, 0x5b, 0x09, 0x76, 0xb5, 0x56, 0x62, 0xe1, 0x4b, 0x74, 0x1d, 0x96, + 0xd4, 0x26, 0xd4, 0x08, 0x04, 0x59, 0xd0, 0x98, 0x0e, 0x0e, 0xe6, 0xde, + 0xfc, 0xc3, 0xec, 0x1f, 0x90, 0xf1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, + 0x82, 0x01, 0x29, 0x30, 0x82, 0x01, 0x25, 0x30, 0x0f, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, + 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0x7c, 0x0c, 0x32, 0x1f, 0xa7, 0xd9, 0x30, 0x7f, 0xc4, + 0x7d, 0x68, 0xa3, 0x62, 0xa8, 0xa1, 0xce, 0xab, 0x07, 0x5b, 0x27, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0xbf, 0x5f, 0xb7, 0xd1, 0xce, 0xdd, 0x1f, 0x86, 0xf4, 0x5b, 0x55, 0xac, + 0xdc, 0xd7, 0x10, 0xc2, 0x0e, 0xa9, 0x88, 0xe7, 0x30, 0x3a, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x2e, 0x30, 0x2c, + 0x30, 0x2a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x1e, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, + 0x70, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x74, + 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x38, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0xa0, 0x2b, 0xa0, + 0x29, 0x86, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x74, + 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x66, 0x72, 0x6f, + 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, + 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, 0x04, 0x55, 0x1d, 0x20, + 0x00, 0x30, 0x39, 0x30, 0x37, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x2b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x74, 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x85, 0x63, 0xc1, 0xd9, + 0xdd, 0xb9, 0xff, 0xa9, 0xbd, 0xa6, 0x19, 0xdc, 0xbf, 0x13, 0x3a, 0x11, + 0x38, 0x22, 0x54, 0xb1, 0xac, 0x05, 0x10, 0xfb, 0x7c, 0xb3, 0x96, 0x3f, + 0x31, 0x8b, 0x66, 0xff, 0x88, 0xf3, 0xe1, 0xbf, 0xfb, 0xc7, 0x1f, 0x00, + 0xff, 0x46, 0x6a, 0x8b, 0x61, 0x32, 0xc9, 0x01, 0x51, 0x76, 0xfb, 0x9a, + 0xc6, 0xfa, 0x20, 0x51, 0xc8, 0x46, 0xc4, 0x98, 0xd7, 0x79, 0xa3, 0xe3, + 0x04, 0x72, 0x3f, 0x8b, 0x4d, 0x34, 0x53, 0x67, 0xec, 0x33, 0x2c, 0x7b, + 0xe8, 0x94, 0x01, 0x28, 0x7c, 0x3a, 0x34, 0x5b, 0x02, 0x77, 0x16, 0x8d, + 0x40, 0x25, 0x33, 0xb0, 0xbc, 0x6c, 0x97, 0xd7, 0x05, 0x7a, 0xff, 0x8c, + 0x85, 0xce, 0x6f, 0xa0, 0x53, 0x00, 0x17, 0x6e, 0x1e, 0x6c, 0xbd, 0x22, + 0xd7, 0x0a, 0x88, 0x37, 0xf6, 0x7d, 0xeb, 0x99, 0x41, 0xef, 0x27, 0xcb, + 0x8c, 0x60, 0x6b, 0x4c, 0x01, 0x7e, 0x65, 0x50, 0x0b, 0x4f, 0xb8, 0x95, + 0x9a, 0x9a, 0x6e, 0x34, 0xfd, 0x73, 0x3a, 0x33, 0xf1, 0x91, 0xd5, 0xf3, + 0x4e, 0x2d, 0x74, 0xe8, 0xef, 0xd3, 0x90, 0x35, 0xf1, 0x06, 0x68, 0x64, + 0xd4, 0xd0, 0x13, 0xfd, 0x52, 0xd3, 0xc6, 0x6d, 0xc1, 0x3a, 0x8a, 0x31, + 0xdd, 0x05, 0x26, 0x35, 0x4a, 0x8c, 0x65, 0xb8, 0x52, 0x6b, 0x81, 0xec, + 0xd2, 0x9c, 0xb5, 0x34, 0x10, 0x97, 0x9c, 0x3e, 0xc6, 0x2f, 0xed, 0x8e, + 0x42, 0x42, 0x24, 0x2e, 0xe9, 0x73, 0x9a, 0x25, 0xf9, 0x11, 0xf1, 0xf2, + 0x23, 0x69, 0xcb, 0xe5, 0x94, 0x69, 0xa0, 0xd2, 0xdc, 0xb0, 0xfc, 0x44, + 0x89, 0xac, 0x17, 0xa8, 0xcc, 0xd5, 0x37, 0x77, 0x16, 0xc5, 0x80, 0xb9, + 0x0c, 0x8f, 0x57, 0x02, 0x55, 0x99, 0x85, 0x7b, 0x49, 0xf0, 0x2e, 0x5b, + 0xa0, 0xc2, 0x57, 0x53, 0x5d, 0xa2, 0xe8, 0xa6, 0x37, 0xc3, 0x01, 0xfa, +}; + diff --git a/external/lsquic/src/liblsquic/common_cert_set_3b.inc b/external/lsquic/src/liblsquic/common_cert_set_3b.inc new file mode 100644 index 0000000..4ad584b --- /dev/null +++ b/external/lsquic/src/liblsquic/common_cert_set_3b.inc @@ -0,0 +1,5723 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Copyright (c) 2015 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE.chrome file. + */ + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 28:1c:89:29:66:14:43:80:42:63:55:3a:32:40:ae:b3 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3 + Validity + Not Before: Jun 30 00:00:00 2015 GMT + Not After : Jun 29 23:59:59 2025 GMT + Subject: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c0:9e:3a:0f:9a:b2:ba:d3:d2:dc:15:ec:d0:30: + 54:59:30:4d:40:51:ae:42:71:71:d2:8d:53:73:81: + fe:b8:e0:c4:96:c5:8e:7e:c2:f1:b7:63:4a:cf:a7: + 1e:3f:a8:e7:ce:53:a0:fa:2d:f7:d6:e6:ce:70:11: + a6:ee:e1:03:52:d2:68:de:3d:08:0d:87:fd:1c:d7: + 0b:97:62:6d:82:30:76:1b:47:3a:c4:f7:ce:ed:1d: + 7c:8c:b7:17:8e:53:80:1e:1d:0f:5d:8c:f9:90:e4: + 04:1e:02:7e:cb:b0:49:ef:da:52:25:fb:fb:67:ed: + dd:84:74:59:84:0e:f3:de:70:66:8d:e4:52:38:f7: + 53:5a:37:13:67:0b:3e:bb:a8:58:b7:2e:ed:ff:b7: + 5e:11:73:b9:77:45:52:67:46:ae:c4:dc:24:81:89: + 76:0a:ca:a1:6c:66:73:04:82:aa:f5:70:6c:5f:1b: + 9a:00:79:46:d6:7f:7a:26:17:30:cf:39:4b:2c:74: + d9:89:44:76:10:d0:ed:f7:8b:bb:89:05:75:4d:0b: + 0d:b3:da:e9:bf:f1:6a:7d:2a:11:db:1e:9f:8c:e3: + c4:06:69:e1:1d:88:45:39:d1:6e:55:d8:aa:b7:9b: + 6f:ea:f4:de:ac:17:11:92:5d:40:9b:83:7b:9a:e2: + f7:a9 + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.23.140.1.2.1 + CPS: https://www.geotrust.com/resources/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/GeoTrustPCA-G3.crl + + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + F3:B5:56:0C:C4:09:B0:B4:CF:1F:AA:F9:DD:23:56:F0:77:E8:A1:F9 + X509v3 Authority Key Identifier: + keyid:C4:79:CA:8E:A1:4E:03:1D:1C:DC:6B:DB:31:5B:94:3E:3F:30:7F:2D + + Signature Algorithm: sha256WithRSAEncryption + c3:7e:d8:83:4b:04:4c:55:29:2a:4f:14:9d:9a:6e:de:90:70: + c1:a4:26:4c:88:8e:78:48:ef:bd:9c:b0:a0:f5:f0:66:fc:fe: + 59:26:e1:79:ef:c8:b7:60:64:a8:8b:47:ea:2f:e0:83:99:da: + 41:19:d7:c5:be:05:fa:f2:90:11:f0:0a:ff:6c:dc:05:b4:d8: + 06:6f:a4:6f:8d:be:20:2b:54:db:f9:a2:45:83:9a:1e:a5:21: + 89:35:1d:7c:20:5c:17:fd:04:2e:45:d8:b2:c6:f8:42:99:fc: + 54:08:4e:4b:80:5f:39:37:ba:95:4e:a6:37:0a:9e:93:5e:87: + 5b:e9:90:d6:a8:b6:65:08:8d:61:49:eb:83:20:a9:5d:1b:16: + 60:62:6b:2f:54:fb:5a:02:0d:7a:27:e2:4b:e1:05:14:c2:e4: + e9:f9:70:c0:d9:f7:34:65:0e:a2:91:4b:ac:28:f2:b7:08:0f: + 98:ca:d7:3e:70:b6:c8:0b:f1:8b:9c:51:f8:c6:10:6c:d2:53: + 4f:62:8c:11:00:3e:88:df:bf:e6:d2:cc:70:bd:ed:25:9c:fb: + dd:24:0a:bd:59:91:4a:42:03:38:12:71:32:88:76:a0:8e:7c: + bb:32:ef:88:2a:1b:d4:6a:6f:50:b9:52:67:8b:ab:30:fa:1f: + fd:e3:24:9a +-----BEGIN CERTIFICATE----- +MIIEpjCCA46gAwIBAgIQKByJKWYUQ4BCY1U6MkCuszANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTE1MDYzMDAwMDAwMFoXDTI1MDYyOTIzNTk1OVowRzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlk +U1NMIFNIQTI1NiBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAwJ46D5qyutPS3BXs0DBUWTBNQFGuQnFx0o1Tc4H+uODElsWOfsLxt2NKz6ce +P6jnzlOg+i331ubOcBGm7uEDUtJo3j0IDYf9HNcLl2JtgjB2G0c6xPfO7R18jLcX +jlOAHh0PXYz5kOQEHgJ+y7BJ79pSJfv7Z+3dhHRZhA7z3nBmjeRSOPdTWjcTZws+ +u6hYty7t/7deEXO5d0VSZ0auxNwkgYl2CsqhbGZzBIKq9XBsXxuaAHlG1n96Jhcw +zzlLLHTZiUR2ENDt94u7iQV1TQsNs9rpv/FqfSoR2x6fjOPEBmnhHYhFOdFuVdiq +t5tv6vTerBcRkl1Am4N7muL3qQIDAQABo4IBOjCCATYwLgYIKwYBBQUHAQEEIjAg +MB4GCCsGAQUFBzABhhJodHRwOi8vZy5zeW1jZC5jb20wEgYDVR0TAQH/BAgwBgEB +/wIBADBJBgNVHSAEQjBAMD4GBmeBDAECATA0MDIGCCsGAQUFBwIBFiZodHRwczov +L3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2VzL2NwczA2BgNVHR8ELzAtMCugKaAn +hiVodHRwOi8vZy5zeW1jYi5jb20vR2VvVHJ1c3RQQ0EtRzMuY3JsMB0GA1UdJQQW +MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FPO1VgzECbC0zx+q+d0jVvB36KH5MB8GA1UdIwQYMBaAFMR5yo6hTgMdHNxr2zFb +lD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQDDftiDSwRMVSkqTxSdmm7ekHDBpCZM +iI54SO+9nLCg9fBm/P5ZJuF578i3YGSoi0fqL+CDmdpBGdfFvgX68pAR8Ar/bNwF +tNgGb6Rvjb4gK1Tb+aJFg5oepSGJNR18IFwX/QQuRdiyxvhCmfxUCE5LgF85N7qV +TqY3Cp6TXodb6ZDWqLZlCI1hSeuDIKldGxZgYmsvVPtaAg16J+JL4QUUwuTp+XDA +2fc0ZQ6ikUusKPK3CA+Yytc+cLbIC/GLnFH4xhBs0lNPYowRAD6I37/m0sxwve0l +nPvdJAq9WZFKQgM4EnEyiHagjny7Mu+IKhvUam9QuVJni6sw+h/94ySa +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_26[] = { + 0x30, 0x82, 0x04, 0xa6, 0x30, 0x82, 0x03, 0x8e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x28, 0x1c, 0x89, 0x29, 0x66, 0x14, 0x43, 0x80, 0x42, + 0x63, 0x55, 0x3a, 0x32, 0x40, 0xae, 0xb3, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0x98, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x47, 0x65, + 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, + 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x35, 0x30, 0x36, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x35, 0x30, 0x36, 0x32, 0x39, 0x32, 0x33, + 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x17, 0x52, 0x61, 0x70, 0x69, 0x64, + 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, + 0x41, 0x20, 0x2d, 0x20, 0x47, 0x34, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, + 0x01, 0x01, 0x00, 0xc0, 0x9e, 0x3a, 0x0f, 0x9a, 0xb2, 0xba, 0xd3, 0xd2, + 0xdc, 0x15, 0xec, 0xd0, 0x30, 0x54, 0x59, 0x30, 0x4d, 0x40, 0x51, 0xae, + 0x42, 0x71, 0x71, 0xd2, 0x8d, 0x53, 0x73, 0x81, 0xfe, 0xb8, 0xe0, 0xc4, + 0x96, 0xc5, 0x8e, 0x7e, 0xc2, 0xf1, 0xb7, 0x63, 0x4a, 0xcf, 0xa7, 0x1e, + 0x3f, 0xa8, 0xe7, 0xce, 0x53, 0xa0, 0xfa, 0x2d, 0xf7, 0xd6, 0xe6, 0xce, + 0x70, 0x11, 0xa6, 0xee, 0xe1, 0x03, 0x52, 0xd2, 0x68, 0xde, 0x3d, 0x08, + 0x0d, 0x87, 0xfd, 0x1c, 0xd7, 0x0b, 0x97, 0x62, 0x6d, 0x82, 0x30, 0x76, + 0x1b, 0x47, 0x3a, 0xc4, 0xf7, 0xce, 0xed, 0x1d, 0x7c, 0x8c, 0xb7, 0x17, + 0x8e, 0x53, 0x80, 0x1e, 0x1d, 0x0f, 0x5d, 0x8c, 0xf9, 0x90, 0xe4, 0x04, + 0x1e, 0x02, 0x7e, 0xcb, 0xb0, 0x49, 0xef, 0xda, 0x52, 0x25, 0xfb, 0xfb, + 0x67, 0xed, 0xdd, 0x84, 0x74, 0x59, 0x84, 0x0e, 0xf3, 0xde, 0x70, 0x66, + 0x8d, 0xe4, 0x52, 0x38, 0xf7, 0x53, 0x5a, 0x37, 0x13, 0x67, 0x0b, 0x3e, + 0xbb, 0xa8, 0x58, 0xb7, 0x2e, 0xed, 0xff, 0xb7, 0x5e, 0x11, 0x73, 0xb9, + 0x77, 0x45, 0x52, 0x67, 0x46, 0xae, 0xc4, 0xdc, 0x24, 0x81, 0x89, 0x76, + 0x0a, 0xca, 0xa1, 0x6c, 0x66, 0x73, 0x04, 0x82, 0xaa, 0xf5, 0x70, 0x6c, + 0x5f, 0x1b, 0x9a, 0x00, 0x79, 0x46, 0xd6, 0x7f, 0x7a, 0x26, 0x17, 0x30, + 0xcf, 0x39, 0x4b, 0x2c, 0x74, 0xd9, 0x89, 0x44, 0x76, 0x10, 0xd0, 0xed, + 0xf7, 0x8b, 0xbb, 0x89, 0x05, 0x75, 0x4d, 0x0b, 0x0d, 0xb3, 0xda, 0xe9, + 0xbf, 0xf1, 0x6a, 0x7d, 0x2a, 0x11, 0xdb, 0x1e, 0x9f, 0x8c, 0xe3, 0xc4, + 0x06, 0x69, 0xe1, 0x1d, 0x88, 0x45, 0x39, 0xd1, 0x6e, 0x55, 0xd8, 0xaa, + 0xb7, 0x9b, 0x6f, 0xea, 0xf4, 0xde, 0xac, 0x17, 0x11, 0x92, 0x5d, 0x40, + 0x9b, 0x83, 0x7b, 0x9a, 0xe2, 0xf7, 0xa9, 0x02, 0x03, 0x01, 0x00, 0x01, + 0xa3, 0x82, 0x01, 0x3a, 0x30, 0x82, 0x01, 0x36, 0x30, 0x2e, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x22, 0x30, 0x20, + 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, + 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x49, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x42, 0x30, 0x40, 0x30, 0x3e, 0x06, 0x06, 0x67, 0x81, 0x0c, 0x01, 0x02, + 0x01, 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x36, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0, 0x27, + 0x86, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, + 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x6f, + 0x54, 0x72, 0x75, 0x73, 0x74, 0x50, 0x43, 0x41, 0x2d, 0x47, 0x33, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, + 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, 0x0e, + 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, + 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0xf3, 0xb5, 0x56, 0x0c, 0xc4, 0x09, 0xb0, 0xb4, 0xcf, 0x1f, 0xaa, + 0xf9, 0xdd, 0x23, 0x56, 0xf0, 0x77, 0xe8, 0xa1, 0xf9, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc4, 0x79, + 0xca, 0x8e, 0xa1, 0x4e, 0x03, 0x1d, 0x1c, 0xdc, 0x6b, 0xdb, 0x31, 0x5b, + 0x94, 0x3e, 0x3f, 0x30, 0x7f, 0x2d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x01, 0x00, 0xc3, 0x7e, 0xd8, 0x83, 0x4b, 0x04, 0x4c, 0x55, 0x29, 0x2a, + 0x4f, 0x14, 0x9d, 0x9a, 0x6e, 0xde, 0x90, 0x70, 0xc1, 0xa4, 0x26, 0x4c, + 0x88, 0x8e, 0x78, 0x48, 0xef, 0xbd, 0x9c, 0xb0, 0xa0, 0xf5, 0xf0, 0x66, + 0xfc, 0xfe, 0x59, 0x26, 0xe1, 0x79, 0xef, 0xc8, 0xb7, 0x60, 0x64, 0xa8, + 0x8b, 0x47, 0xea, 0x2f, 0xe0, 0x83, 0x99, 0xda, 0x41, 0x19, 0xd7, 0xc5, + 0xbe, 0x05, 0xfa, 0xf2, 0x90, 0x11, 0xf0, 0x0a, 0xff, 0x6c, 0xdc, 0x05, + 0xb4, 0xd8, 0x06, 0x6f, 0xa4, 0x6f, 0x8d, 0xbe, 0x20, 0x2b, 0x54, 0xdb, + 0xf9, 0xa2, 0x45, 0x83, 0x9a, 0x1e, 0xa5, 0x21, 0x89, 0x35, 0x1d, 0x7c, + 0x20, 0x5c, 0x17, 0xfd, 0x04, 0x2e, 0x45, 0xd8, 0xb2, 0xc6, 0xf8, 0x42, + 0x99, 0xfc, 0x54, 0x08, 0x4e, 0x4b, 0x80, 0x5f, 0x39, 0x37, 0xba, 0x95, + 0x4e, 0xa6, 0x37, 0x0a, 0x9e, 0x93, 0x5e, 0x87, 0x5b, 0xe9, 0x90, 0xd6, + 0xa8, 0xb6, 0x65, 0x08, 0x8d, 0x61, 0x49, 0xeb, 0x83, 0x20, 0xa9, 0x5d, + 0x1b, 0x16, 0x60, 0x62, 0x6b, 0x2f, 0x54, 0xfb, 0x5a, 0x02, 0x0d, 0x7a, + 0x27, 0xe2, 0x4b, 0xe1, 0x05, 0x14, 0xc2, 0xe4, 0xe9, 0xf9, 0x70, 0xc0, + 0xd9, 0xf7, 0x34, 0x65, 0x0e, 0xa2, 0x91, 0x4b, 0xac, 0x28, 0xf2, 0xb7, + 0x08, 0x0f, 0x98, 0xca, 0xd7, 0x3e, 0x70, 0xb6, 0xc8, 0x0b, 0xf1, 0x8b, + 0x9c, 0x51, 0xf8, 0xc6, 0x10, 0x6c, 0xd2, 0x53, 0x4f, 0x62, 0x8c, 0x11, + 0x00, 0x3e, 0x88, 0xdf, 0xbf, 0xe6, 0xd2, 0xcc, 0x70, 0xbd, 0xed, 0x25, + 0x9c, 0xfb, 0xdd, 0x24, 0x0a, 0xbd, 0x59, 0x91, 0x4a, 0x42, 0x03, 0x38, + 0x12, 0x71, 0x32, 0x88, 0x76, 0xa0, 0x8e, 0x7c, 0xbb, 0x32, 0xef, 0x88, + 0x2a, 0x1b, 0xd4, 0x6a, 0x6f, 0x50, 0xb9, 0x52, 0x67, 0x8b, 0xab, 0x30, + 0xfa, 0x1f, 0xfd, 0xe3, 0x24, 0x9a, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + e4:05:47:83:0e:0c:64:52:97:6f:7a:35:49:c0:dd:48 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=PL, O=Unizeto Technologies S.A., OU=Certum Certification Authority, CN=Certum Trusted Network CA + Validity + Not Before: Jan 21 12:00:00 2015 GMT + Not After : Jan 18 12:00:00 2025 GMT + Subject: C=RU, O=Yandex LLC, OU=Yandex Certification Authority, CN=Yandex CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a6:05:24:76:61:b9:9e:42:60:22:63:85:59:e5: + 9d:88:0d:df:ef:21:64:5a:26:94:71:3a:a4:7f:2b: + 53:c3:ac:7b:ba:95:42:6d:6a:5b:d6:7e:78:0c:67: + 40:98:2f:6a:2d:d0:b7:18:3a:7e:99:60:01:e5:27: + bf:ff:49:f5:cd:c4:58:c3:4c:e1:70:d5:fd:08:a8: + 79:95:76:1c:0e:05:41:fa:bd:80:38:2a:87:4f:c1: + 67:42:aa:17:a6:ee:a7:8c:8e:ef:2d:7f:7a:1d:05: + 17:8f:7e:3b:92:35:f5:68:ed:93:03:55:23:4f:4b: + a2:00:86:65:91:0f:eb:f6:3c:d5:db:6d:0e:ed:e8: + 7c:3a:c8:ba:b7:53:c1:a4:d8:40:02:e5:b5:a2:ca: + bf:da:9c:94:0d:fc:c5:1c:2a:59:88:62:57:93:2e: + 11:f0:38:2c:7a:81:2a:f2:25:15:17:35:70:2c:4b: + f7:23:4c:82:ef:33:9f:c2:9a:0b:a3:e2:5d:6b:38: + 77:f9:60:33:cf:2e:7b:56:b7:13:93:1f:34:97:71: + 99:76:02:46:35:14:7c:dc:ca:48:8a:0a:72:4b:78: + 6d:82:34:96:13:45:cf:02:2f:50:13:39:43:89:c0: + e1:74:d7:28:71:21:e5:aa:97:0e:ee:46:ec:93:f7: + 23:7d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 37:5C:E3:19:E0:B2:8E:A1:A8:4E:D2:CF:AB:D0:DC:E3:0B:5C:35:4D + X509v3 Authority Key Identifier: + keyid:08:76:CD:CB:07:FF:24:F6:C5:CD:ED:BB:90:BC:E2:84:37:46:75:F7 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.certum.pl/ctnca.crl + + Authority Information Access: + OCSP - URI:http://subca.ocsp-certum.com + CA Issuers - URI:http://repository.certum.pl/ctnca.cer + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.certum.pl/CPS + + Signature Algorithm: sha256WithRSAEncryption + 02:5e:8e:7b:e0:66:a1:c6:ab:8b:18:1f:0e:b9:c4:cd:71:db: + 44:5c:03:7d:65:ea:b8:47:b5:1e:ce:24:70:a0:7f:d3:df:66: + 4b:8c:90:e2:a5:ed:9b:94:36:b4:a8:be:f0:74:8c:26:92:75: + 9d:56:50:9e:ad:d0:1a:a0:df:a4:14:56:10:75:93:7a:c1:f4: + 53:a0:76:74:2c:72:ba:b5:d1:c9:e2:dc:46:86:3f:1d:f6:33: + 87:59:ec:9c:dc:2d:1e:4d:43:1a:ce:ba:d9:87:7e:e2:47:45: + 72:3d:28:03:c9:0a:4d:e0:57:a3:5e:6e:7e:cc:5a:c8:c4:78: + 01:57:68:7a:38:3b:53:36:e7:92:6d:8a:2c:2f:d7:8b:b6:34: + a8:d1:b6:f8:5e:3b:ab:ed:a5:8f:39:6f:45:ad:cb:63:ed:6a: + 64:c9:10:a7:03:08:12:53:b1:1c:af:ca:f7:53:fc:d8:29:4b: + 1b:fb:38:cd:c0:63:ff:5f:e4:b9:8d:5e:aa:2b:d2:c3:22:35: + 31:f6:30:0e:53:32:f4:93:c5:43:cb:c8:f0:15:56:8f:00:19: + 87:ca:78:22:8d:a0:2e:db:2f:a0:c3:7e:29:5d:91:25:84:1d: + 1d:39:ab:1b:c5:d6:91:fe:69:0e:46:80:bc:45:7b:35:53:2a: + df:00:b6:77 +-----BEGIN CERTIFICATE----- +MIIEqDCCA5CgAwIBAgIRAOQFR4MODGRSl296NUnA3UgwDQYJKoZIhvcNAQELBQAw +fjELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEiMCAG +A1UEAxMZQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQTAeFw0xNTAxMjExMjAwMDBa +Fw0yNTAxMTgxMjAwMDBaMF8xCzAJBgNVBAYTAlJVMRMwEQYDVQQKEwpZYW5kZXgg +TExDMScwJQYDVQQLEx5ZYW5kZXggQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEjAQ +BgNVBAMTCVlhbmRleCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKYFJHZhuZ5CYCJjhVnlnYgN3+8hZFomlHE6pH8rU8Ose7qVQm1qW9Z+eAxnQJgv +ai3Qtxg6fplgAeUnv/9J9c3EWMNM4XDV/QioeZV2HA4FQfq9gDgqh0/BZ0KqF6bu +p4yO7y1/eh0FF49+O5I19WjtkwNVI09LogCGZZEP6/Y81dttDu3ofDrIurdTwaTY +QALltaLKv9qclA38xRwqWYhiV5MuEfA4LHqBKvIlFRc1cCxL9yNMgu8zn8KaC6Pi +XWs4d/lgM88ue1a3E5MfNJdxmXYCRjUUfNzKSIoKckt4bYI0lhNFzwIvUBM5Q4nA +4XTXKHEh5aqXDu5G7JP3I30CAwEAAaOCAT4wggE6MA8GA1UdEwEB/wQFMAMBAf8w +HQYDVR0OBBYEFDdc4xngso6hqE7Sz6vQ3OMLXDVNMB8GA1UdIwQYMBaAFAh2zcsH +/yT2xc3tu5C84oQ3RnX3MA4GA1UdDwEB/wQEAwIBBjAvBgNVHR8EKDAmMCSgIqAg +hh5odHRwOi8vY3JsLmNlcnR1bS5wbC9jdG5jYS5jcmwwawYIKwYBBQUHAQEEXzBd +MCgGCCsGAQUFBzABhhxodHRwOi8vc3ViY2Eub2NzcC1jZXJ0dW0uY29tMDEGCCsG +AQUFBzAChiVodHRwOi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwvY3RuY2EuY2VyMDkG +A1UdIAQyMDAwLgYEVR0gADAmMCQGCCsGAQUFBwIBFhhodHRwOi8vd3d3LmNlcnR1 +bS5wbC9DUFMwDQYJKoZIhvcNAQELBQADggEBAAJejnvgZqHGq4sYHw65xM1x20Rc +A31l6rhHtR7OJHCgf9PfZkuMkOKl7ZuUNrSovvB0jCaSdZ1WUJ6t0Bqg36QUVhB1 +k3rB9FOgdnQscrq10cni3EaGPx32M4dZ7JzcLR5NQxrOutmHfuJHRXI9KAPJCk3g +V6Nebn7MWsjEeAFXaHo4O1M255Jtiiwv14u2NKjRtvheO6vtpY85b0Wty2PtamTJ +EKcDCBJTsRyvyvdT/NgpSxv7OM3AY/9f5LmNXqor0sMiNTH2MA5TMvSTxUPLyPAV +Vo8AGYfKeCKNoC7bL6DDfildkSWEHR05qxvF1pH+aQ5GgLxFezVTKt8Atnc= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_27[] = { + 0x30, 0x82, 0x04, 0xa8, 0x30, 0x82, 0x03, 0x90, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x11, 0x00, 0xe4, 0x05, 0x47, 0x83, 0x0e, 0x0c, 0x64, 0x52, + 0x97, 0x6f, 0x7a, 0x35, 0x49, 0xc0, 0xdd, 0x48, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, + 0x7e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x50, 0x4c, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x19, 0x55, 0x6e, 0x69, 0x7a, 0x65, 0x74, 0x6f, 0x20, 0x54, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x20, 0x53, 0x2e, + 0x41, 0x2e, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x1e, 0x43, 0x65, 0x72, 0x74, 0x75, 0x6d, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x22, 0x30, 0x20, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, 0x43, 0x65, 0x72, 0x74, 0x75, 0x6d, + 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x20, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x35, 0x30, 0x31, 0x32, 0x31, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, + 0x17, 0x0d, 0x32, 0x35, 0x30, 0x31, 0x31, 0x38, 0x31, 0x32, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x30, 0x5f, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x52, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, + 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x59, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x20, + 0x4c, 0x4c, 0x43, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x1e, 0x59, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x12, 0x30, 0x10, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x09, 0x59, 0x61, 0x6e, 0x64, 0x65, + 0x78, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, + 0x00, 0xa6, 0x05, 0x24, 0x76, 0x61, 0xb9, 0x9e, 0x42, 0x60, 0x22, 0x63, + 0x85, 0x59, 0xe5, 0x9d, 0x88, 0x0d, 0xdf, 0xef, 0x21, 0x64, 0x5a, 0x26, + 0x94, 0x71, 0x3a, 0xa4, 0x7f, 0x2b, 0x53, 0xc3, 0xac, 0x7b, 0xba, 0x95, + 0x42, 0x6d, 0x6a, 0x5b, 0xd6, 0x7e, 0x78, 0x0c, 0x67, 0x40, 0x98, 0x2f, + 0x6a, 0x2d, 0xd0, 0xb7, 0x18, 0x3a, 0x7e, 0x99, 0x60, 0x01, 0xe5, 0x27, + 0xbf, 0xff, 0x49, 0xf5, 0xcd, 0xc4, 0x58, 0xc3, 0x4c, 0xe1, 0x70, 0xd5, + 0xfd, 0x08, 0xa8, 0x79, 0x95, 0x76, 0x1c, 0x0e, 0x05, 0x41, 0xfa, 0xbd, + 0x80, 0x38, 0x2a, 0x87, 0x4f, 0xc1, 0x67, 0x42, 0xaa, 0x17, 0xa6, 0xee, + 0xa7, 0x8c, 0x8e, 0xef, 0x2d, 0x7f, 0x7a, 0x1d, 0x05, 0x17, 0x8f, 0x7e, + 0x3b, 0x92, 0x35, 0xf5, 0x68, 0xed, 0x93, 0x03, 0x55, 0x23, 0x4f, 0x4b, + 0xa2, 0x00, 0x86, 0x65, 0x91, 0x0f, 0xeb, 0xf6, 0x3c, 0xd5, 0xdb, 0x6d, + 0x0e, 0xed, 0xe8, 0x7c, 0x3a, 0xc8, 0xba, 0xb7, 0x53, 0xc1, 0xa4, 0xd8, + 0x40, 0x02, 0xe5, 0xb5, 0xa2, 0xca, 0xbf, 0xda, 0x9c, 0x94, 0x0d, 0xfc, + 0xc5, 0x1c, 0x2a, 0x59, 0x88, 0x62, 0x57, 0x93, 0x2e, 0x11, 0xf0, 0x38, + 0x2c, 0x7a, 0x81, 0x2a, 0xf2, 0x25, 0x15, 0x17, 0x35, 0x70, 0x2c, 0x4b, + 0xf7, 0x23, 0x4c, 0x82, 0xef, 0x33, 0x9f, 0xc2, 0x9a, 0x0b, 0xa3, 0xe2, + 0x5d, 0x6b, 0x38, 0x77, 0xf9, 0x60, 0x33, 0xcf, 0x2e, 0x7b, 0x56, 0xb7, + 0x13, 0x93, 0x1f, 0x34, 0x97, 0x71, 0x99, 0x76, 0x02, 0x46, 0x35, 0x14, + 0x7c, 0xdc, 0xca, 0x48, 0x8a, 0x0a, 0x72, 0x4b, 0x78, 0x6d, 0x82, 0x34, + 0x96, 0x13, 0x45, 0xcf, 0x02, 0x2f, 0x50, 0x13, 0x39, 0x43, 0x89, 0xc0, + 0xe1, 0x74, 0xd7, 0x28, 0x71, 0x21, 0xe5, 0xaa, 0x97, 0x0e, 0xee, 0x46, + 0xec, 0x93, 0xf7, 0x23, 0x7d, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x3e, 0x30, 0x82, 0x01, 0x3a, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x37, 0x5c, + 0xe3, 0x19, 0xe0, 0xb2, 0x8e, 0xa1, 0xa8, 0x4e, 0xd2, 0xcf, 0xab, 0xd0, + 0xdc, 0xe3, 0x0b, 0x5c, 0x35, 0x4d, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x08, 0x76, 0xcd, 0xcb, 0x07, + 0xff, 0x24, 0xf6, 0xc5, 0xcd, 0xed, 0xbb, 0x90, 0xbc, 0xe2, 0x84, 0x37, + 0x46, 0x75, 0xf7, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x2f, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0xa0, 0x22, 0xa0, 0x20, + 0x86, 0x1e, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, + 0x2e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x6d, 0x2e, 0x70, 0x6c, 0x2f, 0x63, + 0x74, 0x6e, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x6b, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x5f, 0x30, 0x5d, + 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x75, 0x62, + 0x63, 0x61, 0x2e, 0x6f, 0x63, 0x73, 0x70, 0x2d, 0x63, 0x65, 0x72, 0x74, + 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x25, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x2e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x6d, 0x2e, 0x70, 0x6c, 0x2f, + 0x63, 0x74, 0x6e, 0x63, 0x61, 0x2e, 0x63, 0x65, 0x72, 0x30, 0x39, 0x06, + 0x03, 0x55, 0x1d, 0x20, 0x04, 0x32, 0x30, 0x30, 0x30, 0x2e, 0x06, 0x04, + 0x55, 0x1d, 0x20, 0x00, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x18, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x65, 0x72, 0x74, 0x75, + 0x6d, 0x2e, 0x70, 0x6c, 0x2f, 0x43, 0x50, 0x53, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x02, 0x5e, 0x8e, 0x7b, 0xe0, 0x66, 0xa1, 0xc6, + 0xab, 0x8b, 0x18, 0x1f, 0x0e, 0xb9, 0xc4, 0xcd, 0x71, 0xdb, 0x44, 0x5c, + 0x03, 0x7d, 0x65, 0xea, 0xb8, 0x47, 0xb5, 0x1e, 0xce, 0x24, 0x70, 0xa0, + 0x7f, 0xd3, 0xdf, 0x66, 0x4b, 0x8c, 0x90, 0xe2, 0xa5, 0xed, 0x9b, 0x94, + 0x36, 0xb4, 0xa8, 0xbe, 0xf0, 0x74, 0x8c, 0x26, 0x92, 0x75, 0x9d, 0x56, + 0x50, 0x9e, 0xad, 0xd0, 0x1a, 0xa0, 0xdf, 0xa4, 0x14, 0x56, 0x10, 0x75, + 0x93, 0x7a, 0xc1, 0xf4, 0x53, 0xa0, 0x76, 0x74, 0x2c, 0x72, 0xba, 0xb5, + 0xd1, 0xc9, 0xe2, 0xdc, 0x46, 0x86, 0x3f, 0x1d, 0xf6, 0x33, 0x87, 0x59, + 0xec, 0x9c, 0xdc, 0x2d, 0x1e, 0x4d, 0x43, 0x1a, 0xce, 0xba, 0xd9, 0x87, + 0x7e, 0xe2, 0x47, 0x45, 0x72, 0x3d, 0x28, 0x03, 0xc9, 0x0a, 0x4d, 0xe0, + 0x57, 0xa3, 0x5e, 0x6e, 0x7e, 0xcc, 0x5a, 0xc8, 0xc4, 0x78, 0x01, 0x57, + 0x68, 0x7a, 0x38, 0x3b, 0x53, 0x36, 0xe7, 0x92, 0x6d, 0x8a, 0x2c, 0x2f, + 0xd7, 0x8b, 0xb6, 0x34, 0xa8, 0xd1, 0xb6, 0xf8, 0x5e, 0x3b, 0xab, 0xed, + 0xa5, 0x8f, 0x39, 0x6f, 0x45, 0xad, 0xcb, 0x63, 0xed, 0x6a, 0x64, 0xc9, + 0x10, 0xa7, 0x03, 0x08, 0x12, 0x53, 0xb1, 0x1c, 0xaf, 0xca, 0xf7, 0x53, + 0xfc, 0xd8, 0x29, 0x4b, 0x1b, 0xfb, 0x38, 0xcd, 0xc0, 0x63, 0xff, 0x5f, + 0xe4, 0xb9, 0x8d, 0x5e, 0xaa, 0x2b, 0xd2, 0xc3, 0x22, 0x35, 0x31, 0xf6, + 0x30, 0x0e, 0x53, 0x32, 0xf4, 0x93, 0xc5, 0x43, 0xcb, 0xc8, 0xf0, 0x15, + 0x56, 0x8f, 0x00, 0x19, 0x87, 0xca, 0x78, 0x22, 0x8d, 0xa0, 0x2e, 0xdb, + 0x2f, 0xa0, 0xc3, 0x7e, 0x29, 0x5d, 0x91, 0x25, 0x84, 0x1d, 0x1d, 0x39, + 0xab, 0x1b, 0xc5, 0xd6, 0x91, 0xfe, 0x69, 0x0e, 0x46, 0x80, 0xbc, 0x45, + 0x7b, 0x35, 0x53, 0x2a, 0xdf, 0x00, 0xb6, 0x77, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 5d:72:fb:33:76:20:f6:4c:72:80:db:e9:12:81:ff:6a + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=thawte, Inc., CN=thawte EV SSL CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c4:dd:da:94:1e:32:b2:2e:a0:83:c0:a6:7d:5f: + 65:2d:fd:27:b8:73:0e:f8:0b:a9:d4:56:26:69:98: + 67:35:39:64:58:ce:82:6f:98:94:d1:8f:e0:90:d6: + ed:55:4b:98:4b:d7:10:59:34:02:1b:e7:51:31:51: + c4:38:c2:bc:db:03:5c:ca:e1:7c:dc:4f:59:97:ea: + 07:7f:0f:85:3e:92:ea:aa:a7:d9:be:01:41:e4:62: + 56:47:36:bd:57:91:e6:21:d3:f8:41:0b:d8:ba:e8: + ed:81:ad:70:c0:8b:6e:f3:89:6e:27:9e:a6:a6:73: + 59:bb:71:00:d4:4f:4b:48:e9:d5:c9:27:36:9c:7c: + 1c:02:aa:ac:bd:3b:d1:53:83:6a:1f:e6:08:47:33: + a7:b1:9f:02:be:9b:47:ed:33:04:dc:1c:80:27:d1: + 4a:33:a0:8c:eb:01:47:a1:32:90:64:7b:c4:e0:84: + c9:32:e9:dd:34:1f:8a:68:67:f3:ad:10:63:eb:ee: + 8a:9a:b1:2a:1b:26:74:a1:2a:b0:8f:fe:52:98:46: + 97:cf:a3:56:1c:6f:6e:99:97:8d:26:0e:a9:ec:c2: + 53:70:fc:7a:a5:19:49:bd:b5:17:82:55:de:97:e0: + 5d:62:84:81:f0:70:a8:34:53:4f:14:fd:3d:5d:3d: + 6f:b9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://t2.symcb.com + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.thawte.com/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://t1.symcb.com/ThawtePCA.crl + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-536 + X509v3 Subject Key Identifier: + F0:70:51:DA:D3:2A:91:4F:52:77:D7:86:77:74:0F:CE:71:1A:6C:22 + X509v3 Authority Key Identifier: + keyid:7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + + Signature Algorithm: sha256WithRSAEncryption + a1:2e:94:3e:9b:16:f4:58:1a:6f:c1:fa:c1:7e:43:93:b2:c3: + f7:89:eb:13:62:5d:dd:cc:61:13:2b:1d:4e:88:79:11:62:14: + 37:30:46:ff:89:62:10:85:2a:87:1e:f8:e2:af:fe:93:02:93: + ca:f2:e9:46:03:6b:a1:1a:ac:d5:f0:80:1b:98:6f:b8:3a:50: + f8:54:71:06:03:e7:84:cc:8e:61:d2:5f:4d:0c:97:02:65:b5: + 8c:26:bc:05:98:f4:dc:c6:af:e4:57:7f:e3:dc:a1:d7:27:47: + 2a:e0:2c:3f:09:74:dc:5a:e5:b5:7c:fa:82:9a:15:fa:74:2b: + 84:2e:6b:ac:ef:35:a6:30:fa:47:4a:aa:36:44:f6:5a:91:07: + d3:e4:4e:97:3f:a6:53:d8:29:33:32:6f:8b:3d:b5:a5:0d:e5: + e4:8a:e8:f5:c0:fa:af:d8:37:28:27:c3:ed:34:31:d9:7c:a6: + af:4d:12:4f:d0:2b:92:9c:69:95:f2:28:a6:fe:a8:c6:e0:2c: + 4d:36:eb:11:34:d6:e1:81:99:9d:41:f2:e7:c5:57:05:0e:19: + ca:af:42:39:1f:a7:27:5e:e0:0a:17:b8:ae:47:ab:92:f1:8a: + 04:df:30:e0:bb:4f:8a:f9:1b:88:4f:03:b4:25:7a:78:de:2e: + 7d:29:d1:31 +-----BEGIN CERTIFICATE----- +MIIErzCCA5egAwIBAgIQXXL7M3Yg9kxygNvpEoH/ajANBgkqhkiG9w0BAQsFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTMxMDMxMDAwMDAwWhcNMjMx +MDMwMjM1OTU5WjBEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMu +MR4wHAYDVQQDExV0aGF3dGUgRVYgU1NMIENBIC0gRzMwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDE3dqUHjKyLqCDwKZ9X2Ut/Se4cw74C6nUViZpmGc1 +OWRYzoJvmJTRj+CQ1u1VS5hL1xBZNAIb51ExUcQ4wrzbA1zK4XzcT1mX6gd/D4U+ +kuqqp9m+AUHkYlZHNr1XkeYh0/hBC9i66O2BrXDAi27ziW4nnqamc1m7cQDUT0tI +6dXJJzacfBwCqqy9O9FTg2of5ghHM6exnwK+m0ftMwTcHIAn0UozoIzrAUehMpBk +e8TghMky6d00H4poZ/OtEGPr7oqasSobJnShKrCP/lKYRpfPo1Ycb26Zl40mDqns +wlNw/HqlGUm9tReCVd6X4F1ihIHwcKg0U08U/T1dPW+5AgMBAAGjggE1MIIBMTAS +BgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAvBggrBgEFBQcBAQQj +MCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly90Mi5zeW1jYi5jb20wOwYDVR0gBDQwMjAw +BgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vY3Bz +MDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly90MS5zeW1jYi5jb20vVGhhd3RlUENB +LmNybDApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQS0ktMS01MzYw +HQYDVR0OBBYEFPBwUdrTKpFPUnfXhnd0D85xGmwiMB8GA1UdIwQYMBaAFHtbRc+v +zst6/TGSGmq280brV0hQMA0GCSqGSIb3DQEBCwUAA4IBAQChLpQ+mxb0WBpvwfrB +fkOTssP3iesTYl3dzGETKx1OiHkRYhQ3MEb/iWIQhSqHHvjir/6TApPK8ulGA2uh +GqzV8IAbmG+4OlD4VHEGA+eEzI5h0l9NDJcCZbWMJrwFmPTcxq/kV3/j3KHXJ0cq +4Cw/CXTcWuW1fPqCmhX6dCuELmus7zWmMPpHSqo2RPZakQfT5E6XP6ZT2CkzMm+L +PbWlDeXkiuj1wPqv2DcoJ8PtNDHZfKavTRJP0CuSnGmV8iim/qjG4CxNNusRNNbh +gZmdQfLnxVcFDhnKr0I5H6cnXuAKF7iuR6uS8YoE3zDgu0+K+RuITwO0JXp43i59 +KdEx +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_28[] = { + 0x30, 0x82, 0x04, 0xaf, 0x30, 0x82, 0x03, 0x97, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x5d, 0x72, 0xfb, 0x33, 0x76, 0x20, 0xf6, 0x4c, 0x72, + 0x80, 0xdb, 0xe9, 0x12, 0x81, 0xff, 0x6a, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x33, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x31, + 0x30, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x44, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x15, 0x74, + 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x45, 0x56, 0x20, 0x53, 0x53, 0x4c, + 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xc4, 0xdd, 0xda, 0x94, 0x1e, 0x32, 0xb2, + 0x2e, 0xa0, 0x83, 0xc0, 0xa6, 0x7d, 0x5f, 0x65, 0x2d, 0xfd, 0x27, 0xb8, + 0x73, 0x0e, 0xf8, 0x0b, 0xa9, 0xd4, 0x56, 0x26, 0x69, 0x98, 0x67, 0x35, + 0x39, 0x64, 0x58, 0xce, 0x82, 0x6f, 0x98, 0x94, 0xd1, 0x8f, 0xe0, 0x90, + 0xd6, 0xed, 0x55, 0x4b, 0x98, 0x4b, 0xd7, 0x10, 0x59, 0x34, 0x02, 0x1b, + 0xe7, 0x51, 0x31, 0x51, 0xc4, 0x38, 0xc2, 0xbc, 0xdb, 0x03, 0x5c, 0xca, + 0xe1, 0x7c, 0xdc, 0x4f, 0x59, 0x97, 0xea, 0x07, 0x7f, 0x0f, 0x85, 0x3e, + 0x92, 0xea, 0xaa, 0xa7, 0xd9, 0xbe, 0x01, 0x41, 0xe4, 0x62, 0x56, 0x47, + 0x36, 0xbd, 0x57, 0x91, 0xe6, 0x21, 0xd3, 0xf8, 0x41, 0x0b, 0xd8, 0xba, + 0xe8, 0xed, 0x81, 0xad, 0x70, 0xc0, 0x8b, 0x6e, 0xf3, 0x89, 0x6e, 0x27, + 0x9e, 0xa6, 0xa6, 0x73, 0x59, 0xbb, 0x71, 0x00, 0xd4, 0x4f, 0x4b, 0x48, + 0xe9, 0xd5, 0xc9, 0x27, 0x36, 0x9c, 0x7c, 0x1c, 0x02, 0xaa, 0xac, 0xbd, + 0x3b, 0xd1, 0x53, 0x83, 0x6a, 0x1f, 0xe6, 0x08, 0x47, 0x33, 0xa7, 0xb1, + 0x9f, 0x02, 0xbe, 0x9b, 0x47, 0xed, 0x33, 0x04, 0xdc, 0x1c, 0x80, 0x27, + 0xd1, 0x4a, 0x33, 0xa0, 0x8c, 0xeb, 0x01, 0x47, 0xa1, 0x32, 0x90, 0x64, + 0x7b, 0xc4, 0xe0, 0x84, 0xc9, 0x32, 0xe9, 0xdd, 0x34, 0x1f, 0x8a, 0x68, + 0x67, 0xf3, 0xad, 0x10, 0x63, 0xeb, 0xee, 0x8a, 0x9a, 0xb1, 0x2a, 0x1b, + 0x26, 0x74, 0xa1, 0x2a, 0xb0, 0x8f, 0xfe, 0x52, 0x98, 0x46, 0x97, 0xcf, + 0xa3, 0x56, 0x1c, 0x6f, 0x6e, 0x99, 0x97, 0x8d, 0x26, 0x0e, 0xa9, 0xec, + 0xc2, 0x53, 0x70, 0xfc, 0x7a, 0xa5, 0x19, 0x49, 0xbd, 0xb5, 0x17, 0x82, + 0x55, 0xde, 0x97, 0xe0, 0x5d, 0x62, 0x84, 0x81, 0xf0, 0x70, 0xa8, 0x34, + 0x53, 0x4f, 0x14, 0xfd, 0x3d, 0x5d, 0x3d, 0x6f, 0xb9, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x35, 0x30, 0x82, 0x01, 0x31, 0x30, 0x12, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, + 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x2f, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x23, + 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x74, + 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x30, + 0x3b, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, + 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, + 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, + 0x30, 0x32, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2b, 0x30, 0x29, 0x30, + 0x27, 0xa0, 0x25, 0xa0, 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x74, 0x31, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, 0x43, 0x41, + 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x29, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, + 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, + 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, 0x35, 0x33, 0x36, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x70, + 0x51, 0xda, 0xd3, 0x2a, 0x91, 0x4f, 0x52, 0x77, 0xd7, 0x86, 0x77, 0x74, + 0x0f, 0xce, 0x71, 0x1a, 0x6c, 0x22, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7b, 0x5b, 0x45, 0xcf, 0xaf, + 0xce, 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, 0x6a, 0xb6, 0xf3, 0x46, 0xeb, + 0x57, 0x48, 0x50, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa1, + 0x2e, 0x94, 0x3e, 0x9b, 0x16, 0xf4, 0x58, 0x1a, 0x6f, 0xc1, 0xfa, 0xc1, + 0x7e, 0x43, 0x93, 0xb2, 0xc3, 0xf7, 0x89, 0xeb, 0x13, 0x62, 0x5d, 0xdd, + 0xcc, 0x61, 0x13, 0x2b, 0x1d, 0x4e, 0x88, 0x79, 0x11, 0x62, 0x14, 0x37, + 0x30, 0x46, 0xff, 0x89, 0x62, 0x10, 0x85, 0x2a, 0x87, 0x1e, 0xf8, 0xe2, + 0xaf, 0xfe, 0x93, 0x02, 0x93, 0xca, 0xf2, 0xe9, 0x46, 0x03, 0x6b, 0xa1, + 0x1a, 0xac, 0xd5, 0xf0, 0x80, 0x1b, 0x98, 0x6f, 0xb8, 0x3a, 0x50, 0xf8, + 0x54, 0x71, 0x06, 0x03, 0xe7, 0x84, 0xcc, 0x8e, 0x61, 0xd2, 0x5f, 0x4d, + 0x0c, 0x97, 0x02, 0x65, 0xb5, 0x8c, 0x26, 0xbc, 0x05, 0x98, 0xf4, 0xdc, + 0xc6, 0xaf, 0xe4, 0x57, 0x7f, 0xe3, 0xdc, 0xa1, 0xd7, 0x27, 0x47, 0x2a, + 0xe0, 0x2c, 0x3f, 0x09, 0x74, 0xdc, 0x5a, 0xe5, 0xb5, 0x7c, 0xfa, 0x82, + 0x9a, 0x15, 0xfa, 0x74, 0x2b, 0x84, 0x2e, 0x6b, 0xac, 0xef, 0x35, 0xa6, + 0x30, 0xfa, 0x47, 0x4a, 0xaa, 0x36, 0x44, 0xf6, 0x5a, 0x91, 0x07, 0xd3, + 0xe4, 0x4e, 0x97, 0x3f, 0xa6, 0x53, 0xd8, 0x29, 0x33, 0x32, 0x6f, 0x8b, + 0x3d, 0xb5, 0xa5, 0x0d, 0xe5, 0xe4, 0x8a, 0xe8, 0xf5, 0xc0, 0xfa, 0xaf, + 0xd8, 0x37, 0x28, 0x27, 0xc3, 0xed, 0x34, 0x31, 0xd9, 0x7c, 0xa6, 0xaf, + 0x4d, 0x12, 0x4f, 0xd0, 0x2b, 0x92, 0x9c, 0x69, 0x95, 0xf2, 0x28, 0xa6, + 0xfe, 0xa8, 0xc6, 0xe0, 0x2c, 0x4d, 0x36, 0xeb, 0x11, 0x34, 0xd6, 0xe1, + 0x81, 0x99, 0x9d, 0x41, 0xf2, 0xe7, 0xc5, 0x57, 0x05, 0x0e, 0x19, 0xca, + 0xaf, 0x42, 0x39, 0x1f, 0xa7, 0x27, 0x5e, 0xe0, 0x0a, 0x17, 0xb8, 0xae, + 0x47, 0xab, 0x92, 0xf1, 0x8a, 0x04, 0xdf, 0x30, 0xe0, 0xbb, 0x4f, 0x8a, + 0xf9, 0x1b, 0x88, 0x4f, 0x03, 0xb4, 0x25, 0x7a, 0x78, 0xde, 0x2e, 0x7d, + 0x29, 0xd1, 0x31, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 04:e1:e7:a4:dc:5c:f2:f3:6d:c0:2b:42:b8:5d:15:9f + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA + Validity + Not Before: Oct 22 12:00:00 2013 GMT + Not After : Oct 22 12:00:00 2028 GMT + Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert SHA2 High Assurance Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b6:e0:2f:c2:24:06:c8:6d:04:5f:d7:ef:0a:64: + 06:b2:7d:22:26:65:16:ae:42:40:9b:ce:dc:9f:9f: + 76:07:3e:c3:30:55:87:19:b9:4f:94:0e:5a:94:1f: + 55:56:b4:c2:02:2a:af:d0:98:ee:0b:40:d7:c4:d0: + 3b:72:c8:14:9e:ef:90:b1:11:a9:ae:d2:c8:b8:43: + 3a:d9:0b:0b:d5:d5:95:f5:40:af:c8:1d:ed:4d:9c: + 5f:57:b7:86:50:68:99:f5:8a:da:d2:c7:05:1f:a8: + 97:c9:dc:a4:b1:82:84:2d:c6:ad:a5:9c:c7:19:82: + a6:85:0f:5e:44:58:2a:37:8f:fd:35:f1:0b:08:27: + 32:5a:f5:bb:8b:9e:a4:bd:51:d0:27:e2:dd:3b:42: + 33:a3:05:28:c4:bb:28:cc:9a:ac:2b:23:0d:78:c6: + 7b:e6:5e:71:b7:4a:3e:08:fb:81:b7:16:16:a1:9d: + 23:12:4d:e5:d7:92:08:ac:75:a4:9c:ba:cd:17:b2: + 1e:44:35:65:7f:53:25:39:d1:1c:0a:9a:63:1b:19: + 92:74:68:0a:37:c2:c2:52:48:cb:39:5a:a2:b6:e1: + 5d:c1:dd:a0:20:b8:21:a2:93:26:6f:14:4a:21:41: + c7:ed:6d:9b:f2:48:2f:f3:03:f5:a2:68:92:53:2f: + 5e:e3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.digicert.com/CPS + + X509v3 Subject Key Identifier: + 51:68:FF:90:AF:02:07:75:3C:CC:D9:65:64:62:A2:12:B8:59:72:3B + X509v3 Authority Key Identifier: + keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3 + + Signature Algorithm: sha256WithRSAEncryption + 18:8a:95:89:03:e6:6d:df:5c:fc:1d:68:ea:4a:8f:83:d6:51: + 2f:8d:6b:44:16:9e:ac:63:f5:d2:6e:6c:84:99:8b:aa:81:71: + 84:5b:ed:34:4e:b0:b7:79:92:29:cc:2d:80:6a:f0:8e:20:e1: + 79:a4:fe:03:47:13:ea:f5:86:ca:59:71:7d:f4:04:96:6b:d3: + 59:58:3d:fe:d3:31:25:5c:18:38:84:a3:e6:9f:82:fd:8c:5b: + 98:31:4e:cd:78:9e:1a:fd:85:cb:49:aa:f2:27:8b:99:72:fc: + 3e:aa:d5:41:0b:da:d5:36:a1:bf:1c:6e:47:49:7f:5e:d9:48: + 7c:03:d9:fd:8b:49:a0:98:26:42:40:eb:d6:92:11:a4:64:0a: + 57:54:c4:f5:1d:d6:02:5e:6b:ac:ee:c4:80:9a:12:72:fa:56: + 93:d7:ff:bf:30:85:06:30:bf:0b:7f:4e:ff:57:05:9d:24:ed: + 85:c3:2b:fb:a6:75:a8:ac:2d:16:ef:7d:79:27:b2:eb:c2:9d: + 0b:07:ea:aa:85:d3:01:a3:20:28:41:59:43:28:d2:81:e3:aa: + f6:ec:7b:3b:77:b6:40:62:80:05:41:45:01:ef:17:06:3e:de: + c0:33:9b:67:d3:61:2e:72:87:e4:69:fc:12:00:57:40:1e:70: + f5:1e:c9:b4 +-----BEGIN CERTIFICATE----- +MIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy +YW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2 +4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC +Kq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1 +itrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn +4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X +sh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft +bZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA +MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw +NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy +dC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t +L0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG +BFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ +UzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D +aQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd +aOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH +E+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly +/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu +xICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF +0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae +cPUeybQ= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_29[] = { + 0x30, 0x82, 0x04, 0xb1, 0x30, 0x82, 0x03, 0x99, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x04, 0xe1, 0xe7, 0xa4, 0xdc, 0x5c, 0xf2, 0xf3, 0x6d, + 0xc0, 0x2b, 0x42, 0xb8, 0x5d, 0x15, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x6c, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, + 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, + 0x65, 0x20, 0x45, 0x56, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, + 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x32, 0x32, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x38, 0x31, 0x30, 0x32, + 0x32, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x70, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, 0x19, + 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x26, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x53, 0x48, 0x41, + 0x32, 0x20, 0x48, 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, + 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xb6, + 0xe0, 0x2f, 0xc2, 0x24, 0x06, 0xc8, 0x6d, 0x04, 0x5f, 0xd7, 0xef, 0x0a, + 0x64, 0x06, 0xb2, 0x7d, 0x22, 0x26, 0x65, 0x16, 0xae, 0x42, 0x40, 0x9b, + 0xce, 0xdc, 0x9f, 0x9f, 0x76, 0x07, 0x3e, 0xc3, 0x30, 0x55, 0x87, 0x19, + 0xb9, 0x4f, 0x94, 0x0e, 0x5a, 0x94, 0x1f, 0x55, 0x56, 0xb4, 0xc2, 0x02, + 0x2a, 0xaf, 0xd0, 0x98, 0xee, 0x0b, 0x40, 0xd7, 0xc4, 0xd0, 0x3b, 0x72, + 0xc8, 0x14, 0x9e, 0xef, 0x90, 0xb1, 0x11, 0xa9, 0xae, 0xd2, 0xc8, 0xb8, + 0x43, 0x3a, 0xd9, 0x0b, 0x0b, 0xd5, 0xd5, 0x95, 0xf5, 0x40, 0xaf, 0xc8, + 0x1d, 0xed, 0x4d, 0x9c, 0x5f, 0x57, 0xb7, 0x86, 0x50, 0x68, 0x99, 0xf5, + 0x8a, 0xda, 0xd2, 0xc7, 0x05, 0x1f, 0xa8, 0x97, 0xc9, 0xdc, 0xa4, 0xb1, + 0x82, 0x84, 0x2d, 0xc6, 0xad, 0xa5, 0x9c, 0xc7, 0x19, 0x82, 0xa6, 0x85, + 0x0f, 0x5e, 0x44, 0x58, 0x2a, 0x37, 0x8f, 0xfd, 0x35, 0xf1, 0x0b, 0x08, + 0x27, 0x32, 0x5a, 0xf5, 0xbb, 0x8b, 0x9e, 0xa4, 0xbd, 0x51, 0xd0, 0x27, + 0xe2, 0xdd, 0x3b, 0x42, 0x33, 0xa3, 0x05, 0x28, 0xc4, 0xbb, 0x28, 0xcc, + 0x9a, 0xac, 0x2b, 0x23, 0x0d, 0x78, 0xc6, 0x7b, 0xe6, 0x5e, 0x71, 0xb7, + 0x4a, 0x3e, 0x08, 0xfb, 0x81, 0xb7, 0x16, 0x16, 0xa1, 0x9d, 0x23, 0x12, + 0x4d, 0xe5, 0xd7, 0x92, 0x08, 0xac, 0x75, 0xa4, 0x9c, 0xba, 0xcd, 0x17, + 0xb2, 0x1e, 0x44, 0x35, 0x65, 0x7f, 0x53, 0x25, 0x39, 0xd1, 0x1c, 0x0a, + 0x9a, 0x63, 0x1b, 0x19, 0x92, 0x74, 0x68, 0x0a, 0x37, 0xc2, 0xc2, 0x52, + 0x48, 0xcb, 0x39, 0x5a, 0xa2, 0xb6, 0xe1, 0x5d, 0xc1, 0xdd, 0xa0, 0x20, + 0xb8, 0x21, 0xa2, 0x93, 0x26, 0x6f, 0x14, 0x4a, 0x21, 0x41, 0xc7, 0xed, + 0x6d, 0x9b, 0xf2, 0x48, 0x2f, 0xf3, 0x03, 0xf5, 0xa2, 0x68, 0x92, 0x53, + 0x2f, 0x5e, 0xe3, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x49, + 0x30, 0x82, 0x01, 0x45, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, + 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, + 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, + 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4b, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x44, 0x30, 0x42, 0x30, 0x40, 0xa0, 0x3e, 0xa0, 0x3c, 0x86, 0x3a, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x34, 0x2e, + 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x48, 0x69, 0x67, + 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x56, + 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3d, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, + 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x50, + 0x53, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x51, 0x68, 0xff, 0x90, 0xaf, 0x02, 0x07, 0x75, 0x3c, 0xcc, 0xd9, 0x65, + 0x64, 0x62, 0xa2, 0x12, 0xb8, 0x59, 0x72, 0x3b, 0x30, 0x1f, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xb1, 0x3e, 0xc3, + 0x69, 0x03, 0xf8, 0xbf, 0x47, 0x01, 0xd4, 0x98, 0x26, 0x1a, 0x08, 0x02, + 0xef, 0x63, 0x64, 0x2b, 0xc3, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, + 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, + 0x00, 0x18, 0x8a, 0x95, 0x89, 0x03, 0xe6, 0x6d, 0xdf, 0x5c, 0xfc, 0x1d, + 0x68, 0xea, 0x4a, 0x8f, 0x83, 0xd6, 0x51, 0x2f, 0x8d, 0x6b, 0x44, 0x16, + 0x9e, 0xac, 0x63, 0xf5, 0xd2, 0x6e, 0x6c, 0x84, 0x99, 0x8b, 0xaa, 0x81, + 0x71, 0x84, 0x5b, 0xed, 0x34, 0x4e, 0xb0, 0xb7, 0x79, 0x92, 0x29, 0xcc, + 0x2d, 0x80, 0x6a, 0xf0, 0x8e, 0x20, 0xe1, 0x79, 0xa4, 0xfe, 0x03, 0x47, + 0x13, 0xea, 0xf5, 0x86, 0xca, 0x59, 0x71, 0x7d, 0xf4, 0x04, 0x96, 0x6b, + 0xd3, 0x59, 0x58, 0x3d, 0xfe, 0xd3, 0x31, 0x25, 0x5c, 0x18, 0x38, 0x84, + 0xa3, 0xe6, 0x9f, 0x82, 0xfd, 0x8c, 0x5b, 0x98, 0x31, 0x4e, 0xcd, 0x78, + 0x9e, 0x1a, 0xfd, 0x85, 0xcb, 0x49, 0xaa, 0xf2, 0x27, 0x8b, 0x99, 0x72, + 0xfc, 0x3e, 0xaa, 0xd5, 0x41, 0x0b, 0xda, 0xd5, 0x36, 0xa1, 0xbf, 0x1c, + 0x6e, 0x47, 0x49, 0x7f, 0x5e, 0xd9, 0x48, 0x7c, 0x03, 0xd9, 0xfd, 0x8b, + 0x49, 0xa0, 0x98, 0x26, 0x42, 0x40, 0xeb, 0xd6, 0x92, 0x11, 0xa4, 0x64, + 0x0a, 0x57, 0x54, 0xc4, 0xf5, 0x1d, 0xd6, 0x02, 0x5e, 0x6b, 0xac, 0xee, + 0xc4, 0x80, 0x9a, 0x12, 0x72, 0xfa, 0x56, 0x93, 0xd7, 0xff, 0xbf, 0x30, + 0x85, 0x06, 0x30, 0xbf, 0x0b, 0x7f, 0x4e, 0xff, 0x57, 0x05, 0x9d, 0x24, + 0xed, 0x85, 0xc3, 0x2b, 0xfb, 0xa6, 0x75, 0xa8, 0xac, 0x2d, 0x16, 0xef, + 0x7d, 0x79, 0x27, 0xb2, 0xeb, 0xc2, 0x9d, 0x0b, 0x07, 0xea, 0xaa, 0x85, + 0xd3, 0x01, 0xa3, 0x20, 0x28, 0x41, 0x59, 0x43, 0x28, 0xd2, 0x81, 0xe3, + 0xaa, 0xf6, 0xec, 0x7b, 0x3b, 0x77, 0xb6, 0x40, 0x62, 0x80, 0x05, 0x41, + 0x45, 0x01, 0xef, 0x17, 0x06, 0x3e, 0xde, 0xc0, 0x33, 0x9b, 0x67, 0xd3, + 0x61, 0x2e, 0x72, 0x87, 0xe4, 0x69, 0xfc, 0x12, 0x00, 0x57, 0x40, 0x1e, + 0x70, 0xf5, 0x1e, 0xc9, 0xb4, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 16:87:d6:88:6d:e2:30:06:85:23:3d:bf:11:bf:65:97 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=thawte, Inc., CN=thawte SSL CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b2:fc:06:fb:04:93:d2:ea:59:20:3b:44:85:97: + 52:39:e7:10:f0:7a:e0:b0:94:40:da:46:f8:0c:28: + bb:b9:ce:60:38:3f:d2:d8:11:42:1b:91:ad:49:ee: + 8f:c7:de:6c:de:37:6f:fd:8b:20:3c:6d:e7:74:d3: + dc:d5:24:88:41:80:89:ee:36:be:c4:d5:be:8d:53: + 13:aa:e4:a5:b8:93:0a:be:ec:da:cd:3c:d4:32:56: + ef:d0:4e:a0:b8:97:bb:39:50:1e:6e:65:c3:fd:b2: + ce:e0:59:a9:48:09:c6:fe:be:ae:fc:3e:3b:81:20: + 97:8b:8f:46:df:60:64:07:75:bb:1b:86:38:9f:47: + 7b:34:ce:a1:d1:97:ad:76:d8:9f:b7:26:db:79:80: + 36:48:f2:c5:37:f8:d9:32:ae:7c:a4:53:81:c7:99: + a1:54:38:2f:4f:75:a0:bb:5a:a5:bb:cd:ac:02:5b: + 19:02:d5:13:18:a7:ce:ac:74:55:12:05:8b:9b:a2: + 95:46:64:72:38:cd:5a:1b:3a:16:a7:be:71:99:8c: + 54:03:b8:96:6c:01:d3:3e:06:98:3f:21:81:3b:02: + 7e:00:47:53:01:1e:0e:46:43:fb:4b:2d:dc:0b:1a: + e8:2f:98:f8:7e:d1:99:ab:13:6c:a4:17:de:6f:f6: + 15:f5 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://t1.symcb.com/ThawtePCA.crl + + Authority Information Access: + OCSP - URI:http://t2.symcb.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: https://www.thawte.com/cps + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-537 + X509v3 Subject Key Identifier: + C2:4F:48:57:FC:D1:4F:9A:C0:5D:38:7D:0E:05:DB:D9:2E:B5:52:60 + X509v3 Authority Key Identifier: + keyid:7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + + Signature Algorithm: sha256WithRSAEncryption + 8d:06:de:43:c9:76:02:ca:d9:23:97:5e:f3:63:d7:7d:44:c2: + 0f:6b:0a:f5:07:e5:8b:b8:fa:e0:a3:fa:6b:80:92:b5:03:2c: + c5:37:e0:c2:e5:95:b5:92:70:18:28:42:94:ee:4b:77:6a:01: + 0f:8b:23:ec:56:4d:f4:00:69:e5:84:c8:e2:ea:de:5b:3e:f6: + 3c:07:3a:94:ca:6c:27:b1:cc:83:1a:60:71:27:d2:bf:02:f5: + 1e:44:d3:48:d5:a6:d3:76:21:00:9c:fa:98:64:eb:17:36:3f: + eb:1b:3c:3e:a6:b1:d9:58:06:0e:72:d9:68:be:f1:a7:20:d7: + 52:e4:a4:77:1f:71:70:9d:55:35:85:37:e1:1d:4d:94:c2:70: + 7f:95:40:6e:4b:7d:b2:b4:29:2a:03:79:c8:b9:4c:67:61:04: + a0:8b:27:ff:59:00:eb:55:7f:c6:b7:33:35:2d:5e:4e:ac:b8: + ea:12:c5:e8:f7:b9:ab:be:74:92:2c:b7:d9:4d:ca:84:2f:1c: + c2:f0:72:7c:b2:31:6e:cf:80:e5:88:07:36:51:7b:ba:61:af: + 6d:8d:23:5b:34:a3:95:bc:a2:31:7f:f2:f5:e7:b7:e8:ef:c4: + b5:27:32:e9:f7:9e:69:c7:2b:e8:be:bb:0c:aa:e7:ea:60:12: + ea:26:8a:78 +-----BEGIN CERTIFICATE----- +MIIEsjCCA5qgAwIBAgIQFofWiG3iMAaFIz2/Eb9llzANBgkqhkiG9w0BAQsFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTMxMDMxMDAwMDAwWhcNMjMx +MDMwMjM1OTU5WjBBMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMu +MRswGQYDVQQDExJ0aGF3dGUgU1NMIENBIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQCy/Ab7BJPS6lkgO0SFl1I55xDweuCwlEDaRvgMKLu5zmA4 +P9LYEUIbka1J7o/H3mzeN2/9iyA8bed009zVJIhBgInuNr7E1b6NUxOq5KW4kwq+ +7NrNPNQyVu/QTqC4l7s5UB5uZcP9ss7gWalICcb+vq78PjuBIJeLj0bfYGQHdbsb +hjifR3s0zqHRl6122J+3Jtt5gDZI8sU3+NkyrnykU4HHmaFUOC9PdaC7WqW7zawC +WxkC1RMYp86sdFUSBYubopVGZHI4zVobOhanvnGZjFQDuJZsAdM+Bpg/IYE7An4A +R1MBHg5GQ/tLLdwLGugvmPh+0ZmrE2ykF95v9hX1AgMBAAGjggE7MIIBNzASBgNV +HRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAyBgNVHR8EKzApMCegJaAj +hiFodHRwOi8vdDEuc3ltY2IuY29tL1RoYXd0ZVBDQS5jcmwwLwYIKwYBBQUHAQEE +IzAhMB8GCCsGAQUFBzABhhNodHRwOi8vdDIuc3ltY2IuY29tMEEGA1UdIAQ6MDgw +NgYKYIZIAYb4RQEHNjAoMCYGCCsGAQUFBwIBFhpodHRwczovL3d3dy50aGF3dGUu +Y29tL2NwczApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQS0ktMS01 +MzcwHQYDVR0OBBYEFMJPSFf80U+awF04fQ4F29kutVJgMB8GA1UdIwQYMBaAFHtb +Rc+vzst6/TGSGmq280brV0hQMA0GCSqGSIb3DQEBCwUAA4IBAQCNBt5DyXYCytkj +l17zY9d9RMIPawr1B+WLuPrgo/prgJK1AyzFN+DC5ZW1knAYKEKU7kt3agEPiyPs +Vk30AGnlhMji6t5bPvY8BzqUymwnscyDGmBxJ9K/AvUeRNNI1abTdiEAnPqYZOsX +Nj/rGzw+prHZWAYOctlovvGnINdS5KR3H3FwnVU1hTfhHU2UwnB/lUBuS32ytCkq +A3nIuUxnYQSgiyf/WQDrVX/GtzM1LV5OrLjqEsXo97mrvnSSLLfZTcqELxzC8HJ8 +sjFuz4DliAc2UXu6Ya9tjSNbNKOVvKIxf/L157fo78S1JzLp955pxyvovrsMqufq +YBLqJop4 +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_30[] = { + 0x30, 0x82, 0x04, 0xb2, 0x30, 0x82, 0x03, 0x9a, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x16, 0x87, 0xd6, 0x88, 0x6d, 0xe2, 0x30, 0x06, 0x85, + 0x23, 0x3d, 0xbf, 0x11, 0xbf, 0x65, 0x97, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x33, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x31, + 0x30, 0x33, 0x30, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x41, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, 0x74, + 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, + 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xb2, 0xfc, 0x06, 0xfb, 0x04, 0x93, 0xd2, 0xea, 0x59, 0x20, + 0x3b, 0x44, 0x85, 0x97, 0x52, 0x39, 0xe7, 0x10, 0xf0, 0x7a, 0xe0, 0xb0, + 0x94, 0x40, 0xda, 0x46, 0xf8, 0x0c, 0x28, 0xbb, 0xb9, 0xce, 0x60, 0x38, + 0x3f, 0xd2, 0xd8, 0x11, 0x42, 0x1b, 0x91, 0xad, 0x49, 0xee, 0x8f, 0xc7, + 0xde, 0x6c, 0xde, 0x37, 0x6f, 0xfd, 0x8b, 0x20, 0x3c, 0x6d, 0xe7, 0x74, + 0xd3, 0xdc, 0xd5, 0x24, 0x88, 0x41, 0x80, 0x89, 0xee, 0x36, 0xbe, 0xc4, + 0xd5, 0xbe, 0x8d, 0x53, 0x13, 0xaa, 0xe4, 0xa5, 0xb8, 0x93, 0x0a, 0xbe, + 0xec, 0xda, 0xcd, 0x3c, 0xd4, 0x32, 0x56, 0xef, 0xd0, 0x4e, 0xa0, 0xb8, + 0x97, 0xbb, 0x39, 0x50, 0x1e, 0x6e, 0x65, 0xc3, 0xfd, 0xb2, 0xce, 0xe0, + 0x59, 0xa9, 0x48, 0x09, 0xc6, 0xfe, 0xbe, 0xae, 0xfc, 0x3e, 0x3b, 0x81, + 0x20, 0x97, 0x8b, 0x8f, 0x46, 0xdf, 0x60, 0x64, 0x07, 0x75, 0xbb, 0x1b, + 0x86, 0x38, 0x9f, 0x47, 0x7b, 0x34, 0xce, 0xa1, 0xd1, 0x97, 0xad, 0x76, + 0xd8, 0x9f, 0xb7, 0x26, 0xdb, 0x79, 0x80, 0x36, 0x48, 0xf2, 0xc5, 0x37, + 0xf8, 0xd9, 0x32, 0xae, 0x7c, 0xa4, 0x53, 0x81, 0xc7, 0x99, 0xa1, 0x54, + 0x38, 0x2f, 0x4f, 0x75, 0xa0, 0xbb, 0x5a, 0xa5, 0xbb, 0xcd, 0xac, 0x02, + 0x5b, 0x19, 0x02, 0xd5, 0x13, 0x18, 0xa7, 0xce, 0xac, 0x74, 0x55, 0x12, + 0x05, 0x8b, 0x9b, 0xa2, 0x95, 0x46, 0x64, 0x72, 0x38, 0xcd, 0x5a, 0x1b, + 0x3a, 0x16, 0xa7, 0xbe, 0x71, 0x99, 0x8c, 0x54, 0x03, 0xb8, 0x96, 0x6c, + 0x01, 0xd3, 0x3e, 0x06, 0x98, 0x3f, 0x21, 0x81, 0x3b, 0x02, 0x7e, 0x00, + 0x47, 0x53, 0x01, 0x1e, 0x0e, 0x46, 0x43, 0xfb, 0x4b, 0x2d, 0xdc, 0x0b, + 0x1a, 0xe8, 0x2f, 0x98, 0xf8, 0x7e, 0xd1, 0x99, 0xab, 0x13, 0x6c, 0xa4, + 0x17, 0xde, 0x6f, 0xf6, 0x15, 0xf5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, + 0x82, 0x01, 0x3b, 0x30, 0x82, 0x01, 0x37, 0x30, 0x12, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, + 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x32, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x2b, 0x30, 0x29, 0x30, 0x27, 0xa0, 0x25, 0xa0, 0x23, + 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x74, 0x31, 0x2e, + 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, + 0x61, 0x77, 0x74, 0x65, 0x50, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x2f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x23, 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x74, 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x41, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3a, 0x30, 0x38, 0x30, + 0x36, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, + 0x36, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x29, 0x06, 0x03, 0x55, + 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, + 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, 0x6d, + 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, 0x35, + 0x33, 0x37, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0xc2, 0x4f, 0x48, 0x57, 0xfc, 0xd1, 0x4f, 0x9a, 0xc0, 0x5d, 0x38, + 0x7d, 0x0e, 0x05, 0xdb, 0xd9, 0x2e, 0xb5, 0x52, 0x60, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7b, 0x5b, + 0x45, 0xcf, 0xaf, 0xce, 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, 0x6a, 0xb6, + 0xf3, 0x46, 0xeb, 0x57, 0x48, 0x50, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x01, 0x00, 0x8d, 0x06, 0xde, 0x43, 0xc9, 0x76, 0x02, 0xca, 0xd9, 0x23, + 0x97, 0x5e, 0xf3, 0x63, 0xd7, 0x7d, 0x44, 0xc2, 0x0f, 0x6b, 0x0a, 0xf5, + 0x07, 0xe5, 0x8b, 0xb8, 0xfa, 0xe0, 0xa3, 0xfa, 0x6b, 0x80, 0x92, 0xb5, + 0x03, 0x2c, 0xc5, 0x37, 0xe0, 0xc2, 0xe5, 0x95, 0xb5, 0x92, 0x70, 0x18, + 0x28, 0x42, 0x94, 0xee, 0x4b, 0x77, 0x6a, 0x01, 0x0f, 0x8b, 0x23, 0xec, + 0x56, 0x4d, 0xf4, 0x00, 0x69, 0xe5, 0x84, 0xc8, 0xe2, 0xea, 0xde, 0x5b, + 0x3e, 0xf6, 0x3c, 0x07, 0x3a, 0x94, 0xca, 0x6c, 0x27, 0xb1, 0xcc, 0x83, + 0x1a, 0x60, 0x71, 0x27, 0xd2, 0xbf, 0x02, 0xf5, 0x1e, 0x44, 0xd3, 0x48, + 0xd5, 0xa6, 0xd3, 0x76, 0x21, 0x00, 0x9c, 0xfa, 0x98, 0x64, 0xeb, 0x17, + 0x36, 0x3f, 0xeb, 0x1b, 0x3c, 0x3e, 0xa6, 0xb1, 0xd9, 0x58, 0x06, 0x0e, + 0x72, 0xd9, 0x68, 0xbe, 0xf1, 0xa7, 0x20, 0xd7, 0x52, 0xe4, 0xa4, 0x77, + 0x1f, 0x71, 0x70, 0x9d, 0x55, 0x35, 0x85, 0x37, 0xe1, 0x1d, 0x4d, 0x94, + 0xc2, 0x70, 0x7f, 0x95, 0x40, 0x6e, 0x4b, 0x7d, 0xb2, 0xb4, 0x29, 0x2a, + 0x03, 0x79, 0xc8, 0xb9, 0x4c, 0x67, 0x61, 0x04, 0xa0, 0x8b, 0x27, 0xff, + 0x59, 0x00, 0xeb, 0x55, 0x7f, 0xc6, 0xb7, 0x33, 0x35, 0x2d, 0x5e, 0x4e, + 0xac, 0xb8, 0xea, 0x12, 0xc5, 0xe8, 0xf7, 0xb9, 0xab, 0xbe, 0x74, 0x92, + 0x2c, 0xb7, 0xd9, 0x4d, 0xca, 0x84, 0x2f, 0x1c, 0xc2, 0xf0, 0x72, 0x7c, + 0xb2, 0x31, 0x6e, 0xcf, 0x80, 0xe5, 0x88, 0x07, 0x36, 0x51, 0x7b, 0xba, + 0x61, 0xaf, 0x6d, 0x8d, 0x23, 0x5b, 0x34, 0xa3, 0x95, 0xbc, 0xa2, 0x31, + 0x7f, 0xf2, 0xf5, 0xe7, 0xb7, 0xe8, 0xef, 0xc4, 0xb5, 0x27, 0x32, 0xe9, + 0xf7, 0x9e, 0x69, 0xc7, 0x2b, 0xe8, 0xbe, 0xbb, 0x0c, 0xaa, 0xe7, 0xea, + 0x60, 0x12, 0xea, 0x26, 0x8a, 0x78, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 93:92:85:40:01:65:71:5f:94:7f:28:8f:ef:c9:9b:28 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=PL, O=Unizeto Sp. z o.o., CN=Certum CA + Validity + Not Before: Oct 22 12:07:37 2008 GMT + Not After : Jun 10 10:46:39 2027 GMT + Subject: C=PL, O=Unizeto Technologies S.A., OU=Certum Certification Authority, CN=Certum Trusted Network CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:e3:fb:7d:a3:72:ba:c2:f0:c9:14:87:f5:6b:01: + 4e:e1:6e:40:07:ba:6d:27:5d:7f:f7:5b:2d:b3:5a: + c7:51:5f:ab:a4:32:a6:61:87:b6:6e:0f:86:d2:30: + 02:97:f8:d7:69:57:a1:18:39:5d:6a:64:79:c6:01: + 59:ac:3c:31:4a:38:7c:d2:04:d2:4b:28:e8:20:5f: + 3b:07:a2:cc:4d:73:db:f3:ae:4f:c7:56:d5:5a:a7: + 96:89:fa:f3:ab:68:d4:23:86:59:27:cf:09:27:bc: + ac:6e:72:83:1c:30:72:df:e0:a2:e9:d2:e1:74:75: + 19:bd:2a:9e:7b:15:54:04:1b:d7:43:39:ad:55:28: + c5:e2:1a:bb:f4:c0:e4:ae:38:49:33:cc:76:85:9f: + 39:45:d2:a4:9e:f2:12:8c:51:f8:7c:e4:2d:7f:f5: + ac:5f:eb:16:9f:b1:2d:d1:ba:cc:91:42:77:4c:25: + c9:90:38:6f:db:f0:cc:fb:8e:1e:97:59:3e:d5:60: + 4e:e6:05:28:ed:49:79:13:4b:ba:48:db:2f:f9:72: + d3:39:ca:fe:1f:d8:34:72:f5:b4:40:cf:31:01:c3: + ec:de:11:2d:17:5d:1f:b8:50:d1:5e:19:a7:69:de: + 07:33:28:ca:50:95:f9:a7:54:cb:54:86:50:45:a9: + f9:49 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 08:76:CD:CB:07:FF:24:F6:C5:CD:ED:BB:90:BC:E2:84:37:46:75:F7 + X509v3 Authority Key Identifier: + DirName:/C=PL/O=Unizeto Sp. z o.o./CN=Certum CA + serial:01:00:20 + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.certum.pl/ca.crl + + Authority Information Access: + OCSP - URI:http://subca.ocsp-certum.com + CA Issuers - URI:http://repository.certum.pl/ca.cer + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.certum.pl/CPS + + Signature Algorithm: sha256WithRSAEncryption + 8d:e6:fd:40:66:a3:4c:9c:a7:ab:a1:da:84:dd:1c:30:07:e6: + db:c7:2d:ec:83:a1:56:e4:1d:3c:26:a1:a5:09:2b:e8:7d:62: + be:b2:75:94:dd:08:f2:7f:28:41:e4:80:67:02:4e:8a:8f:c3: + 35:d0:d5:a9:27:28:ea:d2:f4:ab:06:86:43:ae:8c:e3:f9:88: + 7d:e0:db:bd:42:81:80:02:12:75:b2:e8:17:71:ab:21:95:31: + 46:42:0d:88:10:39:d3:6f:ec:2f:42:ea:40:53:62:bf:eb:ca: + 78:9e:ab:a2:d5:2e:05:ea:33:ab:e9:d6:97:94:42:5e:04:ed: + 2c:ed:6a:9c:7a:95:7d:05:2a:05:7f:08:5d:66:ad:61:d4:76: + ac:75:96:97:73:63:bd:1a:41:59:29:a5:5e:22:83:c3:8b:59: + fa:9a:a2:f6:bd:30:bf:72:1d:1c:99:86:9c:f2:85:3c:1d:f7: + 26:96:2f:2e:f9:02:b1:b5:a9:50:e8:38:fa:9b:0a:5e:b4:04: + c0:ce:4e:39:2c:ca:0b:5b:62:f0:4d:58:50:34:99:e6:9a:2c: + d2:90:d7:09:81:d6:c0:aa:5e:ce:fe:d2:f7:a1:ba:4b:d9:d6: + 86:8e:19:1f:a6:06:47:42:72:e0:56:0a:00:1c:78:b9:8d:cc: + 99:04:37:49 +-----BEGIN CERTIFICATE----- +MIIEtDCCA5ygAwIBAgIRAJOShUABZXFflH8oj+/JmygwDQYJKoZIhvcNAQELBQAw +PjELMAkGA1UEBhMCUEwxGzAZBgNVBAoTElVuaXpldG8gU3AuIHogby5vLjESMBAG +A1UEAxMJQ2VydHVtIENBMB4XDTA4MTAyMjEyMDczN1oXDTI3MDYxMDEwNDYzOVow +fjELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEiMCAG +A1UEAxMZQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAOP7faNyusLwyRSH9WsBTuFuQAe6bSddf/dbLbNax1Ff +q6QypmGHtm4PhtIwApf412lXoRg5XWpkecYBWaw8MUo4fNIE0kso6CBfOweizE1z +2/OuT8dW1Vqnlon686to1COGWSfPCSe8rG5ygxwwct/gounS4XR1Gb0qnnsVVAQb +10M5rVUoxeIau/TA5K44STPMdoWfOUXSpJ7yEoxR+HzkLX/1rF/rFp+xLdG6zJFC +d0wlyZA4b9vwzPuOHpdZPtVgTuYFKO1JeRNLukjbL/ly0znK/h/YNHL1tEDPMQHD +7N4RLRddH7hQ0V4Zp2neBzMoylCV+adUy1SGUEWp+UkCAwEAAaOCAWswggFnMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAh2zcsH/yT2xc3tu5C84oQ3RnX3MFIG +A1UdIwRLMEmhQqRAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNw +LiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQYIDAQAgMA4GA1UdDwEB/wQEAwIB +BjAsBgNVHR8EJTAjMCGgH6AdhhtodHRwOi8vY3JsLmNlcnR1bS5wbC9jYS5jcmww +aAYIKwYBBQUHAQEEXDBaMCgGCCsGAQUFBzABhhxodHRwOi8vc3ViY2Eub2NzcC1j +ZXJ0dW0uY29tMC4GCCsGAQUFBzAChiJodHRwOi8vcmVwb3NpdG9yeS5jZXJ0dW0u +cGwvY2EuY2VyMDkGA1UdIAQyMDAwLgYEVR0gADAmMCQGCCsGAQUFBwIBFhhodHRw +Oi8vd3d3LmNlcnR1bS5wbC9DUFMwDQYJKoZIhvcNAQELBQADggEBAI3m/UBmo0yc +p6uh2oTdHDAH5tvHLeyDoVbkHTwmoaUJK+h9Yr6ydZTdCPJ/KEHkgGcCToqPwzXQ +1aknKOrS9KsGhkOujOP5iH3g271CgYACEnWy6BdxqyGVMUZCDYgQOdNv7C9C6kBT +Yr/rynieq6LVLgXqM6vp1peUQl4E7Sztapx6lX0FKgV/CF1mrWHUdqx1lpdzY70a +QVkppV4ig8OLWfqaova9ML9yHRyZhpzyhTwd9yaWLy75ArG1qVDoOPqbCl60BMDO +TjksygtbYvBNWFA0meaaLNKQ1wmB1sCqXs7+0vehukvZ1oaOGR+mBkdCcuBWCgAc +eLmNzJkEN0k= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_31[] = { + 0x30, 0x82, 0x04, 0xb4, 0x30, 0x82, 0x03, 0x9c, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x11, 0x00, 0x93, 0x92, 0x85, 0x40, 0x01, 0x65, 0x71, 0x5f, + 0x94, 0x7f, 0x28, 0x8f, 0xef, 0xc9, 0x9b, 0x28, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, + 0x3e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x50, 0x4c, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x12, 0x55, 0x6e, 0x69, 0x7a, 0x65, 0x74, 0x6f, 0x20, 0x53, 0x70, 0x2e, + 0x20, 0x7a, 0x20, 0x6f, 0x2e, 0x6f, 0x2e, 0x31, 0x12, 0x30, 0x10, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x09, 0x43, 0x65, 0x72, 0x74, 0x75, 0x6d, + 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x38, 0x31, 0x30, 0x32, + 0x32, 0x31, 0x32, 0x30, 0x37, 0x33, 0x37, 0x5a, 0x17, 0x0d, 0x32, 0x37, + 0x30, 0x36, 0x31, 0x30, 0x31, 0x30, 0x34, 0x36, 0x33, 0x39, 0x5a, 0x30, + 0x7e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x50, 0x4c, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x19, 0x55, 0x6e, 0x69, 0x7a, 0x65, 0x74, 0x6f, 0x20, 0x54, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x20, 0x53, 0x2e, + 0x41, 0x2e, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x1e, 0x43, 0x65, 0x72, 0x74, 0x75, 0x6d, 0x20, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x22, 0x30, 0x20, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, 0x43, 0x65, 0x72, 0x74, 0x75, 0x6d, + 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x20, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xe3, 0xfb, 0x7d, 0xa3, 0x72, 0xba, 0xc2, 0xf0, + 0xc9, 0x14, 0x87, 0xf5, 0x6b, 0x01, 0x4e, 0xe1, 0x6e, 0x40, 0x07, 0xba, + 0x6d, 0x27, 0x5d, 0x7f, 0xf7, 0x5b, 0x2d, 0xb3, 0x5a, 0xc7, 0x51, 0x5f, + 0xab, 0xa4, 0x32, 0xa6, 0x61, 0x87, 0xb6, 0x6e, 0x0f, 0x86, 0xd2, 0x30, + 0x02, 0x97, 0xf8, 0xd7, 0x69, 0x57, 0xa1, 0x18, 0x39, 0x5d, 0x6a, 0x64, + 0x79, 0xc6, 0x01, 0x59, 0xac, 0x3c, 0x31, 0x4a, 0x38, 0x7c, 0xd2, 0x04, + 0xd2, 0x4b, 0x28, 0xe8, 0x20, 0x5f, 0x3b, 0x07, 0xa2, 0xcc, 0x4d, 0x73, + 0xdb, 0xf3, 0xae, 0x4f, 0xc7, 0x56, 0xd5, 0x5a, 0xa7, 0x96, 0x89, 0xfa, + 0xf3, 0xab, 0x68, 0xd4, 0x23, 0x86, 0x59, 0x27, 0xcf, 0x09, 0x27, 0xbc, + 0xac, 0x6e, 0x72, 0x83, 0x1c, 0x30, 0x72, 0xdf, 0xe0, 0xa2, 0xe9, 0xd2, + 0xe1, 0x74, 0x75, 0x19, 0xbd, 0x2a, 0x9e, 0x7b, 0x15, 0x54, 0x04, 0x1b, + 0xd7, 0x43, 0x39, 0xad, 0x55, 0x28, 0xc5, 0xe2, 0x1a, 0xbb, 0xf4, 0xc0, + 0xe4, 0xae, 0x38, 0x49, 0x33, 0xcc, 0x76, 0x85, 0x9f, 0x39, 0x45, 0xd2, + 0xa4, 0x9e, 0xf2, 0x12, 0x8c, 0x51, 0xf8, 0x7c, 0xe4, 0x2d, 0x7f, 0xf5, + 0xac, 0x5f, 0xeb, 0x16, 0x9f, 0xb1, 0x2d, 0xd1, 0xba, 0xcc, 0x91, 0x42, + 0x77, 0x4c, 0x25, 0xc9, 0x90, 0x38, 0x6f, 0xdb, 0xf0, 0xcc, 0xfb, 0x8e, + 0x1e, 0x97, 0x59, 0x3e, 0xd5, 0x60, 0x4e, 0xe6, 0x05, 0x28, 0xed, 0x49, + 0x79, 0x13, 0x4b, 0xba, 0x48, 0xdb, 0x2f, 0xf9, 0x72, 0xd3, 0x39, 0xca, + 0xfe, 0x1f, 0xd8, 0x34, 0x72, 0xf5, 0xb4, 0x40, 0xcf, 0x31, 0x01, 0xc3, + 0xec, 0xde, 0x11, 0x2d, 0x17, 0x5d, 0x1f, 0xb8, 0x50, 0xd1, 0x5e, 0x19, + 0xa7, 0x69, 0xde, 0x07, 0x33, 0x28, 0xca, 0x50, 0x95, 0xf9, 0xa7, 0x54, + 0xcb, 0x54, 0x86, 0x50, 0x45, 0xa9, 0xf9, 0x49, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xa3, 0x82, 0x01, 0x6b, 0x30, 0x82, 0x01, 0x67, 0x30, 0x0f, 0x06, + 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, + 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0x08, 0x76, 0xcd, 0xcb, 0x07, 0xff, 0x24, 0xf6, 0xc5, 0xcd, 0xed, + 0xbb, 0x90, 0xbc, 0xe2, 0x84, 0x37, 0x46, 0x75, 0xf7, 0x30, 0x52, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x4b, 0x30, 0x49, 0xa1, 0x42, 0xa4, 0x40, + 0x30, 0x3e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x50, 0x4c, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x0a, + 0x13, 0x12, 0x55, 0x6e, 0x69, 0x7a, 0x65, 0x74, 0x6f, 0x20, 0x53, 0x70, + 0x2e, 0x20, 0x7a, 0x20, 0x6f, 0x2e, 0x6f, 0x2e, 0x31, 0x12, 0x30, 0x10, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x09, 0x43, 0x65, 0x72, 0x74, 0x75, + 0x6d, 0x20, 0x43, 0x41, 0x82, 0x03, 0x01, 0x00, 0x20, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x06, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x25, 0x30, 0x23, + 0x30, 0x21, 0xa0, 0x1f, 0xa0, 0x1d, 0x86, 0x1b, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x63, 0x65, 0x72, 0x74, 0x75, + 0x6d, 0x2e, 0x70, 0x6c, 0x2f, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x68, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x5c, 0x30, 0x5a, 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x73, 0x75, 0x62, 0x63, 0x61, 0x2e, 0x6f, 0x63, 0x73, 0x70, 0x2d, 0x63, + 0x65, 0x72, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x2e, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x6d, 0x2e, + 0x70, 0x6c, 0x2f, 0x63, 0x61, 0x2e, 0x63, 0x65, 0x72, 0x30, 0x39, 0x06, + 0x03, 0x55, 0x1d, 0x20, 0x04, 0x32, 0x30, 0x30, 0x30, 0x2e, 0x06, 0x04, + 0x55, 0x1d, 0x20, 0x00, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x18, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x65, 0x72, 0x74, 0x75, + 0x6d, 0x2e, 0x70, 0x6c, 0x2f, 0x43, 0x50, 0x53, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x8d, 0xe6, 0xfd, 0x40, 0x66, 0xa3, 0x4c, 0x9c, + 0xa7, 0xab, 0xa1, 0xda, 0x84, 0xdd, 0x1c, 0x30, 0x07, 0xe6, 0xdb, 0xc7, + 0x2d, 0xec, 0x83, 0xa1, 0x56, 0xe4, 0x1d, 0x3c, 0x26, 0xa1, 0xa5, 0x09, + 0x2b, 0xe8, 0x7d, 0x62, 0xbe, 0xb2, 0x75, 0x94, 0xdd, 0x08, 0xf2, 0x7f, + 0x28, 0x41, 0xe4, 0x80, 0x67, 0x02, 0x4e, 0x8a, 0x8f, 0xc3, 0x35, 0xd0, + 0xd5, 0xa9, 0x27, 0x28, 0xea, 0xd2, 0xf4, 0xab, 0x06, 0x86, 0x43, 0xae, + 0x8c, 0xe3, 0xf9, 0x88, 0x7d, 0xe0, 0xdb, 0xbd, 0x42, 0x81, 0x80, 0x02, + 0x12, 0x75, 0xb2, 0xe8, 0x17, 0x71, 0xab, 0x21, 0x95, 0x31, 0x46, 0x42, + 0x0d, 0x88, 0x10, 0x39, 0xd3, 0x6f, 0xec, 0x2f, 0x42, 0xea, 0x40, 0x53, + 0x62, 0xbf, 0xeb, 0xca, 0x78, 0x9e, 0xab, 0xa2, 0xd5, 0x2e, 0x05, 0xea, + 0x33, 0xab, 0xe9, 0xd6, 0x97, 0x94, 0x42, 0x5e, 0x04, 0xed, 0x2c, 0xed, + 0x6a, 0x9c, 0x7a, 0x95, 0x7d, 0x05, 0x2a, 0x05, 0x7f, 0x08, 0x5d, 0x66, + 0xad, 0x61, 0xd4, 0x76, 0xac, 0x75, 0x96, 0x97, 0x73, 0x63, 0xbd, 0x1a, + 0x41, 0x59, 0x29, 0xa5, 0x5e, 0x22, 0x83, 0xc3, 0x8b, 0x59, 0xfa, 0x9a, + 0xa2, 0xf6, 0xbd, 0x30, 0xbf, 0x72, 0x1d, 0x1c, 0x99, 0x86, 0x9c, 0xf2, + 0x85, 0x3c, 0x1d, 0xf7, 0x26, 0x96, 0x2f, 0x2e, 0xf9, 0x02, 0xb1, 0xb5, + 0xa9, 0x50, 0xe8, 0x38, 0xfa, 0x9b, 0x0a, 0x5e, 0xb4, 0x04, 0xc0, 0xce, + 0x4e, 0x39, 0x2c, 0xca, 0x0b, 0x5b, 0x62, 0xf0, 0x4d, 0x58, 0x50, 0x34, + 0x99, 0xe6, 0x9a, 0x2c, 0xd2, 0x90, 0xd7, 0x09, 0x81, 0xd6, 0xc0, 0xaa, + 0x5e, 0xce, 0xfe, 0xd2, 0xf7, 0xa1, 0xba, 0x4b, 0xd9, 0xd6, 0x86, 0x8e, + 0x19, 0x1f, 0xa6, 0x06, 0x47, 0x42, 0x72, 0xe0, 0x56, 0x0a, 0x00, 0x1c, + 0x78, 0xb9, 0x8d, 0xcc, 0x99, 0x04, 0x37, 0x49, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 48:e9:94:40:d4:36:49:1c:b8:b8:82:3d:09:43:94:c7 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3 + Validity + Not Before: Jun 10 00:00:00 2014 GMT + Not After : Jun 9 23:59:59 2024 GMT + Subject: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c4:95:63:28:d0:4e:30:45:af:8b:97:34:14:45: + f8:5c:58:4a:fa:33:8e:6e:9c:60:ab:f3:86:ff:34: + 74:b2:2b:be:a1:8c:d5:a2:a3:60:7a:40:b9:e1:fc: + 22:ca:67:ba:60:aa:c7:9a:f9:06:7f:ee:f7:ba:85: + 05:b0:03:ff:72:ae:15:41:4a:98:64:d7:17:4b:54: + ef:05:c6:98:07:93:27:3e:4f:dc:0f:c6:7b:8b:e7: + f3:06:5e:8d:e8:b4:ae:29:b4:1e:1e:2d:16:90:d3: + ea:aa:e7:8c:3b:6d:af:36:59:ff:c5:0a:fa:c7:4c: + bd:36:8b:64:c4:4a:f5:ce:33:f9:07:be:7f:45:90: + a8:08:14:b0:d0:a5:4f:df:82:80:da:1b:ee:c3:13: + b0:98:f5:0f:f9:7e:76:b5:e6:b9:5d:68:b9:5c:50: + 90:89:a4:36:b1:70:16:ea:b1:10:b5:6a:76:df:e1: + bb:fc:78:f2:72:99:cf:c9:a2:d4:73:54:77:bf:c0: + 39:77:e5:ae:12:c5:78:5a:19:45:d4:41:19:d3:7c: + f5:6f:99:6b:d7:8b:bc:2d:09:9d:4b:10:61:c0:da: + 52:c3:af:22:43:c6:eb:37:7e:63:74:30:0d:6a:71: + 8e:de:5d:5b:8a:c8:c5:d7:9b:29:e8:ae:b6:25:61: + 81:eb + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://g.symcd.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://g.symcb.com/GeoTrustPCA-G3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-697 + X509v3 Subject Key Identifier: + 4C:F4:BF:E8:3B:BE:C2:24:F3:1B:47:3B:B5:6E:48:8E:16:AB:AF:12 + X509v3 Authority Key Identifier: + keyid:C4:79:CA:8E:A1:4E:03:1D:1C:DC:6B:DB:31:5B:94:3E:3F:30:7F:2D + + Signature Algorithm: sha256WithRSAEncryption + 7a:53:b5:de:b6:ef:52:a3:5f:8a:f5:89:f1:42:cc:5e:46:88: + ae:a5:08:87:51:de:0f:0f:02:eb:0c:82:78:e3:73:7d:71:bd: + 43:e9:ca:8a:3f:e0:25:92:9b:33:33:74:49:5e:00:d9:73:14: + 1c:0b:46:76:1c:8a:0d:4d:8c:6c:7e:4b:f7:60:d8:81:78:a0: + 78:d0:25:62:ab:10:ca:22:e8:1c:19:dd:52:83:64:05:e5:87: + 66:ae:e7:7a:a4:3b:3e:d8:70:7a:76:a2:67:39:d4:c9:fa:e5: + b7:1e:41:e2:09:39:88:1c:18:55:0a:c4:41:af:b2:f3:f3:0f: + 42:14:61:74:81:e3:da:87:5a:9a:4d:8b:d3:c9:8f:89:66:13: + 29:11:e4:ff:e2:df:8e:96:0c:5a:a1:aa:6b:9b:fd:fc:03:3b: + 55:0d:a6:a2:25:48:17:1f:42:a8:da:6c:7e:69:6e:a0:df:67: + d2:6d:f4:0e:6a:12:79:f5:7c:c8:a5:32:1c:c4:31:b2:e6:bb: + a8:6b:6a:a2:8a:60:69:c0:57:7d:b2:f2:31:0c:98:65:32:ec: + 08:5a:ce:c6:98:e9:21:97:3f:2c:79:29:03:f5:f6:94:2b:53: + 31:f3:93:68:57:e1:d7:4f:3a:d1:61:a1:60:ce:b9:ab:98:ae: + 35:54:63:8b +-----BEGIN CERTIFICATE----- +MIIEtTCCA52gAwIBAgIQSOmUQNQ2SRy4uII9CUOUxzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTE0MDYxMDAwMDAwMFoXDTI0MDYwOTIzNTk1OVowRzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlk +U1NMIFNIQTI1NiBDQSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAxJVjKNBOMEWvi5c0FEX4XFhK+jOObpxgq/OG/zR0siu+oYzVoqNgekC54fwi +yme6YKrHmvkGf+73uoUFsAP/cq4VQUqYZNcXS1TvBcaYB5MnPk/cD8Z7i+fzBl6N +6LSuKbQeHi0WkNPqqueMO22vNln/xQr6x0y9NotkxEr1zjP5B75/RZCoCBSw0KVP +34KA2hvuwxOwmPUP+X52tea5XWi5XFCQiaQ2sXAW6rEQtWp23+G7/HjycpnPyaLU +c1R3v8A5d+WuEsV4WhlF1EEZ03z1b5lr14u8LQmdSxBhwNpSw68iQ8brN35jdDAN +anGO3l1bisjF15sp6K62JWGB6wIDAQABo4IBSTCCAUUwLgYIKwYBBQUHAQEEIjAg +MB4GCCsGAQUFBzABhhJodHRwOi8vZy5zeW1jZC5jb20wEgYDVR0TAQH/BAgwBgEB +/wIBADBMBgNVHSAERTBDMEEGCmCGSAGG+EUBBzYwMzAxBggrBgEFBQcCARYlaHR0 +cDovL3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2VzL2NwczA2BgNVHR8ELzAtMCug +KaAnhiVodHRwOi8vZy5zeW1jYi5jb20vR2VvVHJ1c3RQQ0EtRzMuY3JsMA4GA1Ud +DwEB/wQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQS0kt +MS02OTcwHQYDVR0OBBYEFEz0v+g7vsIk8xtHO7VuSI4Wq68SMB8GA1UdIwQYMBaA +FMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQB6U7Xetu9S +o1+K9YnxQsxeRoiupQiHUd4PDwLrDIJ443N9cb1D6cqKP+AlkpszM3RJXgDZcxQc +C0Z2HIoNTYxsfkv3YNiBeKB40CViqxDKIugcGd1Sg2QF5Ydmrud6pDs+2HB6dqJn +OdTJ+uW3HkHiCTmIHBhVCsRBr7Lz8w9CFGF0gePah1qaTYvTyY+JZhMpEeT/4t+O +lgxaoaprm/38AztVDaaiJUgXH0Ko2mx+aW6g32fSbfQOahJ59XzIpTIcxDGy5ruo +a2qiimBpwFd9svIxDJhlMuwIWs7GmOkhlz8seSkD9faUK1Mx85NoV+HXTzrRYaFg +zrmrmK41VGOL +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_32[] = { + 0x30, 0x82, 0x04, 0xb5, 0x30, 0x82, 0x03, 0x9d, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x48, 0xe9, 0x94, 0x40, 0xd4, 0x36, 0x49, 0x1c, 0xb8, + 0xb8, 0x82, 0x3d, 0x09, 0x43, 0x94, 0xc7, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0x98, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x47, 0x65, + 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, + 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x34, 0x30, 0x36, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x36, 0x30, 0x39, 0x32, 0x33, + 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x17, 0x52, 0x61, 0x70, 0x69, 0x64, + 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43, + 0x41, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, + 0x01, 0x01, 0x00, 0xc4, 0x95, 0x63, 0x28, 0xd0, 0x4e, 0x30, 0x45, 0xaf, + 0x8b, 0x97, 0x34, 0x14, 0x45, 0xf8, 0x5c, 0x58, 0x4a, 0xfa, 0x33, 0x8e, + 0x6e, 0x9c, 0x60, 0xab, 0xf3, 0x86, 0xff, 0x34, 0x74, 0xb2, 0x2b, 0xbe, + 0xa1, 0x8c, 0xd5, 0xa2, 0xa3, 0x60, 0x7a, 0x40, 0xb9, 0xe1, 0xfc, 0x22, + 0xca, 0x67, 0xba, 0x60, 0xaa, 0xc7, 0x9a, 0xf9, 0x06, 0x7f, 0xee, 0xf7, + 0xba, 0x85, 0x05, 0xb0, 0x03, 0xff, 0x72, 0xae, 0x15, 0x41, 0x4a, 0x98, + 0x64, 0xd7, 0x17, 0x4b, 0x54, 0xef, 0x05, 0xc6, 0x98, 0x07, 0x93, 0x27, + 0x3e, 0x4f, 0xdc, 0x0f, 0xc6, 0x7b, 0x8b, 0xe7, 0xf3, 0x06, 0x5e, 0x8d, + 0xe8, 0xb4, 0xae, 0x29, 0xb4, 0x1e, 0x1e, 0x2d, 0x16, 0x90, 0xd3, 0xea, + 0xaa, 0xe7, 0x8c, 0x3b, 0x6d, 0xaf, 0x36, 0x59, 0xff, 0xc5, 0x0a, 0xfa, + 0xc7, 0x4c, 0xbd, 0x36, 0x8b, 0x64, 0xc4, 0x4a, 0xf5, 0xce, 0x33, 0xf9, + 0x07, 0xbe, 0x7f, 0x45, 0x90, 0xa8, 0x08, 0x14, 0xb0, 0xd0, 0xa5, 0x4f, + 0xdf, 0x82, 0x80, 0xda, 0x1b, 0xee, 0xc3, 0x13, 0xb0, 0x98, 0xf5, 0x0f, + 0xf9, 0x7e, 0x76, 0xb5, 0xe6, 0xb9, 0x5d, 0x68, 0xb9, 0x5c, 0x50, 0x90, + 0x89, 0xa4, 0x36, 0xb1, 0x70, 0x16, 0xea, 0xb1, 0x10, 0xb5, 0x6a, 0x76, + 0xdf, 0xe1, 0xbb, 0xfc, 0x78, 0xf2, 0x72, 0x99, 0xcf, 0xc9, 0xa2, 0xd4, + 0x73, 0x54, 0x77, 0xbf, 0xc0, 0x39, 0x77, 0xe5, 0xae, 0x12, 0xc5, 0x78, + 0x5a, 0x19, 0x45, 0xd4, 0x41, 0x19, 0xd3, 0x7c, 0xf5, 0x6f, 0x99, 0x6b, + 0xd7, 0x8b, 0xbc, 0x2d, 0x09, 0x9d, 0x4b, 0x10, 0x61, 0xc0, 0xda, 0x52, + 0xc3, 0xaf, 0x22, 0x43, 0xc6, 0xeb, 0x37, 0x7e, 0x63, 0x74, 0x30, 0x0d, + 0x6a, 0x71, 0x8e, 0xde, 0x5d, 0x5b, 0x8a, 0xc8, 0xc5, 0xd7, 0x9b, 0x29, + 0xe8, 0xae, 0xb6, 0x25, 0x61, 0x81, 0xeb, 0x02, 0x03, 0x01, 0x00, 0x01, + 0xa3, 0x82, 0x01, 0x49, 0x30, 0x82, 0x01, 0x45, 0x30, 0x2e, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x22, 0x30, 0x20, + 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, + 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, + 0xf8, 0x45, 0x01, 0x07, 0x36, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x36, + 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, + 0x29, 0xa0, 0x27, 0x86, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x50, 0x43, 0x41, 0x2d, + 0x47, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x29, + 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, + 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, + 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, + 0x31, 0x2d, 0x36, 0x39, 0x37, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, + 0x04, 0x16, 0x04, 0x14, 0x4c, 0xf4, 0xbf, 0xe8, 0x3b, 0xbe, 0xc2, 0x24, + 0xf3, 0x1b, 0x47, 0x3b, 0xb5, 0x6e, 0x48, 0x8e, 0x16, 0xab, 0xaf, 0x12, + 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, + 0x14, 0xc4, 0x79, 0xca, 0x8e, 0xa1, 0x4e, 0x03, 0x1d, 0x1c, 0xdc, 0x6b, + 0xdb, 0x31, 0x5b, 0x94, 0x3e, 0x3f, 0x30, 0x7f, 0x2d, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0x7a, 0x53, 0xb5, 0xde, 0xb6, 0xef, 0x52, + 0xa3, 0x5f, 0x8a, 0xf5, 0x89, 0xf1, 0x42, 0xcc, 0x5e, 0x46, 0x88, 0xae, + 0xa5, 0x08, 0x87, 0x51, 0xde, 0x0f, 0x0f, 0x02, 0xeb, 0x0c, 0x82, 0x78, + 0xe3, 0x73, 0x7d, 0x71, 0xbd, 0x43, 0xe9, 0xca, 0x8a, 0x3f, 0xe0, 0x25, + 0x92, 0x9b, 0x33, 0x33, 0x74, 0x49, 0x5e, 0x00, 0xd9, 0x73, 0x14, 0x1c, + 0x0b, 0x46, 0x76, 0x1c, 0x8a, 0x0d, 0x4d, 0x8c, 0x6c, 0x7e, 0x4b, 0xf7, + 0x60, 0xd8, 0x81, 0x78, 0xa0, 0x78, 0xd0, 0x25, 0x62, 0xab, 0x10, 0xca, + 0x22, 0xe8, 0x1c, 0x19, 0xdd, 0x52, 0x83, 0x64, 0x05, 0xe5, 0x87, 0x66, + 0xae, 0xe7, 0x7a, 0xa4, 0x3b, 0x3e, 0xd8, 0x70, 0x7a, 0x76, 0xa2, 0x67, + 0x39, 0xd4, 0xc9, 0xfa, 0xe5, 0xb7, 0x1e, 0x41, 0xe2, 0x09, 0x39, 0x88, + 0x1c, 0x18, 0x55, 0x0a, 0xc4, 0x41, 0xaf, 0xb2, 0xf3, 0xf3, 0x0f, 0x42, + 0x14, 0x61, 0x74, 0x81, 0xe3, 0xda, 0x87, 0x5a, 0x9a, 0x4d, 0x8b, 0xd3, + 0xc9, 0x8f, 0x89, 0x66, 0x13, 0x29, 0x11, 0xe4, 0xff, 0xe2, 0xdf, 0x8e, + 0x96, 0x0c, 0x5a, 0xa1, 0xaa, 0x6b, 0x9b, 0xfd, 0xfc, 0x03, 0x3b, 0x55, + 0x0d, 0xa6, 0xa2, 0x25, 0x48, 0x17, 0x1f, 0x42, 0xa8, 0xda, 0x6c, 0x7e, + 0x69, 0x6e, 0xa0, 0xdf, 0x67, 0xd2, 0x6d, 0xf4, 0x0e, 0x6a, 0x12, 0x79, + 0xf5, 0x7c, 0xc8, 0xa5, 0x32, 0x1c, 0xc4, 0x31, 0xb2, 0xe6, 0xbb, 0xa8, + 0x6b, 0x6a, 0xa2, 0x8a, 0x60, 0x69, 0xc0, 0x57, 0x7d, 0xb2, 0xf2, 0x31, + 0x0c, 0x98, 0x65, 0x32, 0xec, 0x08, 0x5a, 0xce, 0xc6, 0x98, 0xe9, 0x21, + 0x97, 0x3f, 0x2c, 0x79, 0x29, 0x03, 0xf5, 0xf6, 0x94, 0x2b, 0x53, 0x31, + 0xf3, 0x93, 0x68, 0x57, 0xe1, 0xd7, 0x4f, 0x3a, 0xd1, 0x61, 0xa1, 0x60, + 0xce, 0xb9, 0xab, 0x98, 0xae, 0x35, 0x54, 0x63, 0x8b, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 0c:79:a9:44:b0:8c:11:95:20:92:61:5f:e2:6b:1d:83 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA + Validity + Not Before: Oct 22 12:00:00 2013 GMT + Not After : Oct 22 12:00:00 2028 GMT + Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert SHA2 Extended Validation Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d7:53:a4:04:51:f8:99:a6:16:48:4b:67:27:aa: + 93:49:d0:39:ed:0c:b0:b0:00:87:f1:67:28:86:85: + 8c:8e:63:da:bc:b1:40:38:e2:d3:f5:ec:a5:05:18: + b8:3d:3e:c5:99:17:32:ec:18:8c:fa:f1:0c:a6:64: + 21:85:cb:07:10:34:b0:52:88:2b:1f:68:9b:d2:b1: + 8f:12:b0:b3:d2:e7:88:1f:1f:ef:38:77:54:53:5f: + 80:79:3f:2e:1a:aa:a8:1e:4b:2b:0d:ab:b7:63:b9: + 35:b7:7d:14:bc:59:4b:df:51:4a:d2:a1:e2:0c:e2: + 90:82:87:6a:ae:ea:d7:64:d6:98:55:e8:fd:af:1a: + 50:6c:54:bc:11:f2:fd:4a:f2:9d:bb:7f:0e:f4:d5: + be:8e:16:89:12:55:d8:c0:71:34:ee:f6:dc:2d:ec: + c4:87:25:86:8d:d8:21:e4:b0:4d:0c:89:dc:39:26: + 17:dd:f6:d7:94:85:d8:04:21:70:9d:6f:6f:ff:5c: + ba:19:e1:45:cb:56:57:28:7e:1c:0d:41:57:aa:b7: + b8:27:bb:b1:e4:fa:2a:ef:21:23:75:1a:ad:2d:9b: + 86:35:8c:9c:77:b5:73:ad:d8:94:2d:e4:f3:0c:9d: + ee:c1:4e:62:7e:17:c0:71:9e:2c:de:f1:f9:10:28: + 19:33 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + Authority Information Access: + OCSP - URI:http://ocsp.digicert.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.digicert.com/CPS + + X509v3 Subject Key Identifier: + 3D:D3:50:A5:D6:A0:AD:EE:F3:4A:60:0A:65:D3:21:D4:F8:F8:D6:0F + X509v3 Authority Key Identifier: + keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3 + + Signature Algorithm: sha256WithRSAEncryption + 9d:b6:d0:90:86:e1:86:02:ed:c5:a0:f0:34:1c:74:c1:8d:76: + cc:86:0a:a8:f0:4a:8a:42:d6:3f:c8:a9:4d:ad:7c:08:ad:e6: + b6:50:b8:a2:1a:4d:88:07:b1:29:21:dc:e7:da:c6:3c:21:e0: + e3:11:49:70:ac:7a:1d:01:a4:ca:11:3a:57:ab:7d:57:2a:40: + 74:fd:d3:1d:85:18:50:df:57:47:75:a1:7d:55:20:2e:47:37: + 50:72:8c:7f:82:1b:d2:62:8f:2d:03:5a:da:c3:c8:a1:ce:2c: + 52:a2:00:63:eb:73:ba:71:c8:49:27:23:97:64:85:9e:38:0e: + ad:63:68:3c:ba:52:81:58:79:a3:2c:0c:df:de:6d:eb:31:f2: + ba:a0:7c:6c:f1:2c:d4:e1:bd:77:84:37:03:ce:32:b5:c8:9a: + 81:1a:4a:92:4e:3b:46:9a:85:fe:83:a2:f9:9e:8c:a3:cc:0d: + 5e:b3:3d:cf:04:78:8f:14:14:7b:32:9c:c7:00:a6:5c:c4:b5: + a1:55:8d:5a:56:68:a4:22:70:aa:3c:81:71:d9:9d:a8:45:3b: + f4:e5:f6:a2:51:dd:c7:7b:62:e8:6f:0c:74:eb:b8:da:f8:bf: + 87:0d:79:50:91:90:9b:18:3b:91:59:27:f1:35:28:13:ab:26: + 7e:d5:f7:7a +-----BEGIN CERTIFICATE----- +MIIEtjCCA56gAwIBAgIQDHmpRLCMEZUgkmFf4msdgzANBgkqhkiG9w0BAQsFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowdTEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTE0MDIGA1UEAxMrRGlnaUNlcnQgU0hBMiBFeHRlbmRlZCBW +YWxpZGF0aW9uIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBANdTpARR+JmmFkhLZyeqk0nQOe0MsLAAh/FnKIaFjI5j2ryxQDji0/XspQUY +uD0+xZkXMuwYjPrxDKZkIYXLBxA0sFKIKx9om9KxjxKws9LniB8f7zh3VFNfgHk/ +LhqqqB5LKw2rt2O5Nbd9FLxZS99RStKh4gzikIKHaq7q12TWmFXo/a8aUGxUvBHy +/Urynbt/DvTVvo4WiRJV2MBxNO723C3sxIclho3YIeSwTQyJ3DkmF93215SF2AQh +cJ1vb/9cuhnhRctWVyh+HA1BV6q3uCe7seT6Ku8hI3UarS2bhjWMnHe1c63YlC3k +8wyd7sFOYn4XwHGeLN7x+RAoGTMCAwEAAaOCAUkwggFFMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF +BQcDAjA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp +Z2ljZXJ0LmNvbTBLBgNVHR8ERDBCMECgPqA8hjpodHRwOi8vY3JsNC5kaWdpY2Vy +dC5jb20vRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZSb290Q0EuY3JsMD0GA1UdIAQ2 +MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5j +b20vQ1BTMB0GA1UdDgQWBBQ901Cl1qCt7vNKYApl0yHU+PjWDzAfBgNVHSMEGDAW +gBSxPsNpA/i/RwHUmCYaCALvY2QrwzANBgkqhkiG9w0BAQsFAAOCAQEAnbbQkIbh +hgLtxaDwNBx0wY12zIYKqPBKikLWP8ipTa18CK3mtlC4ohpNiAexKSHc59rGPCHg +4xFJcKx6HQGkyhE6V6t9VypAdP3THYUYUN9XR3WhfVUgLkc3UHKMf4Ib0mKPLQNa +2sPIoc4sUqIAY+tzunHISScjl2SFnjgOrWNoPLpSgVh5oywM395t6zHyuqB8bPEs +1OG9d4Q3A84ytciagRpKkk47RpqF/oOi+Z6Mo8wNXrM9zwR4jxQUezKcxwCmXMS1 +oVWNWlZopCJwqjyBcdmdqEU79OX2olHdx3ti6G8MdOu42vi/hw15UJGQmxg7kVkn +8TUoE6smftX3eg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_33[] = { + 0x30, 0x82, 0x04, 0xb6, 0x30, 0x82, 0x03, 0x9e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x0c, 0x79, 0xa9, 0x44, 0xb0, 0x8c, 0x11, 0x95, 0x20, + 0x92, 0x61, 0x5f, 0xe2, 0x6b, 0x1d, 0x83, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x6c, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, + 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, + 0x77, 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x22, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x48, + 0x69, 0x67, 0x68, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, + 0x65, 0x20, 0x45, 0x56, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, + 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x32, 0x32, 0x31, 0x32, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x38, 0x31, 0x30, 0x32, + 0x32, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x75, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x44, 0x69, + 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x31, 0x19, + 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x10, 0x77, 0x77, 0x77, + 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x31, 0x34, 0x30, 0x32, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2b, + 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, 0x72, 0x74, 0x20, 0x53, 0x48, 0x41, + 0x32, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xd7, 0x53, 0xa4, 0x04, 0x51, 0xf8, 0x99, 0xa6, + 0x16, 0x48, 0x4b, 0x67, 0x27, 0xaa, 0x93, 0x49, 0xd0, 0x39, 0xed, 0x0c, + 0xb0, 0xb0, 0x00, 0x87, 0xf1, 0x67, 0x28, 0x86, 0x85, 0x8c, 0x8e, 0x63, + 0xda, 0xbc, 0xb1, 0x40, 0x38, 0xe2, 0xd3, 0xf5, 0xec, 0xa5, 0x05, 0x18, + 0xb8, 0x3d, 0x3e, 0xc5, 0x99, 0x17, 0x32, 0xec, 0x18, 0x8c, 0xfa, 0xf1, + 0x0c, 0xa6, 0x64, 0x21, 0x85, 0xcb, 0x07, 0x10, 0x34, 0xb0, 0x52, 0x88, + 0x2b, 0x1f, 0x68, 0x9b, 0xd2, 0xb1, 0x8f, 0x12, 0xb0, 0xb3, 0xd2, 0xe7, + 0x88, 0x1f, 0x1f, 0xef, 0x38, 0x77, 0x54, 0x53, 0x5f, 0x80, 0x79, 0x3f, + 0x2e, 0x1a, 0xaa, 0xa8, 0x1e, 0x4b, 0x2b, 0x0d, 0xab, 0xb7, 0x63, 0xb9, + 0x35, 0xb7, 0x7d, 0x14, 0xbc, 0x59, 0x4b, 0xdf, 0x51, 0x4a, 0xd2, 0xa1, + 0xe2, 0x0c, 0xe2, 0x90, 0x82, 0x87, 0x6a, 0xae, 0xea, 0xd7, 0x64, 0xd6, + 0x98, 0x55, 0xe8, 0xfd, 0xaf, 0x1a, 0x50, 0x6c, 0x54, 0xbc, 0x11, 0xf2, + 0xfd, 0x4a, 0xf2, 0x9d, 0xbb, 0x7f, 0x0e, 0xf4, 0xd5, 0xbe, 0x8e, 0x16, + 0x89, 0x12, 0x55, 0xd8, 0xc0, 0x71, 0x34, 0xee, 0xf6, 0xdc, 0x2d, 0xec, + 0xc4, 0x87, 0x25, 0x86, 0x8d, 0xd8, 0x21, 0xe4, 0xb0, 0x4d, 0x0c, 0x89, + 0xdc, 0x39, 0x26, 0x17, 0xdd, 0xf6, 0xd7, 0x94, 0x85, 0xd8, 0x04, 0x21, + 0x70, 0x9d, 0x6f, 0x6f, 0xff, 0x5c, 0xba, 0x19, 0xe1, 0x45, 0xcb, 0x56, + 0x57, 0x28, 0x7e, 0x1c, 0x0d, 0x41, 0x57, 0xaa, 0xb7, 0xb8, 0x27, 0xbb, + 0xb1, 0xe4, 0xfa, 0x2a, 0xef, 0x21, 0x23, 0x75, 0x1a, 0xad, 0x2d, 0x9b, + 0x86, 0x35, 0x8c, 0x9c, 0x77, 0xb5, 0x73, 0xad, 0xd8, 0x94, 0x2d, 0xe4, + 0xf3, 0x0c, 0x9d, 0xee, 0xc1, 0x4e, 0x62, 0x7e, 0x17, 0xc0, 0x71, 0x9e, + 0x2c, 0xde, 0xf1, 0xf9, 0x10, 0x28, 0x19, 0x33, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xa3, 0x82, 0x01, 0x49, 0x30, 0x82, 0x01, 0x45, 0x30, 0x12, 0x06, + 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, + 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, + 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, + 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x02, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x64, 0x69, + 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4b, + 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x44, 0x30, 0x42, 0x30, 0x40, 0xa0, + 0x3e, 0xa0, 0x3c, 0x86, 0x3a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x63, 0x72, 0x6c, 0x34, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x67, 0x69, 0x43, 0x65, + 0x72, 0x74, 0x48, 0x69, 0x67, 0x68, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, + 0x6e, 0x63, 0x65, 0x45, 0x56, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x41, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x3d, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, + 0x30, 0x34, 0x30, 0x32, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, + 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, + 0x16, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x43, 0x50, 0x53, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x3d, 0xd3, 0x50, 0xa5, 0xd6, 0xa0, 0xad, + 0xee, 0xf3, 0x4a, 0x60, 0x0a, 0x65, 0xd3, 0x21, 0xd4, 0xf8, 0xf8, 0xd6, + 0x0f, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xb1, 0x3e, 0xc3, 0x69, 0x03, 0xf8, 0xbf, 0x47, 0x01, 0xd4, + 0x98, 0x26, 0x1a, 0x08, 0x02, 0xef, 0x63, 0x64, 0x2b, 0xc3, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x9d, 0xb6, 0xd0, 0x90, 0x86, 0xe1, + 0x86, 0x02, 0xed, 0xc5, 0xa0, 0xf0, 0x34, 0x1c, 0x74, 0xc1, 0x8d, 0x76, + 0xcc, 0x86, 0x0a, 0xa8, 0xf0, 0x4a, 0x8a, 0x42, 0xd6, 0x3f, 0xc8, 0xa9, + 0x4d, 0xad, 0x7c, 0x08, 0xad, 0xe6, 0xb6, 0x50, 0xb8, 0xa2, 0x1a, 0x4d, + 0x88, 0x07, 0xb1, 0x29, 0x21, 0xdc, 0xe7, 0xda, 0xc6, 0x3c, 0x21, 0xe0, + 0xe3, 0x11, 0x49, 0x70, 0xac, 0x7a, 0x1d, 0x01, 0xa4, 0xca, 0x11, 0x3a, + 0x57, 0xab, 0x7d, 0x57, 0x2a, 0x40, 0x74, 0xfd, 0xd3, 0x1d, 0x85, 0x18, + 0x50, 0xdf, 0x57, 0x47, 0x75, 0xa1, 0x7d, 0x55, 0x20, 0x2e, 0x47, 0x37, + 0x50, 0x72, 0x8c, 0x7f, 0x82, 0x1b, 0xd2, 0x62, 0x8f, 0x2d, 0x03, 0x5a, + 0xda, 0xc3, 0xc8, 0xa1, 0xce, 0x2c, 0x52, 0xa2, 0x00, 0x63, 0xeb, 0x73, + 0xba, 0x71, 0xc8, 0x49, 0x27, 0x23, 0x97, 0x64, 0x85, 0x9e, 0x38, 0x0e, + 0xad, 0x63, 0x68, 0x3c, 0xba, 0x52, 0x81, 0x58, 0x79, 0xa3, 0x2c, 0x0c, + 0xdf, 0xde, 0x6d, 0xeb, 0x31, 0xf2, 0xba, 0xa0, 0x7c, 0x6c, 0xf1, 0x2c, + 0xd4, 0xe1, 0xbd, 0x77, 0x84, 0x37, 0x03, 0xce, 0x32, 0xb5, 0xc8, 0x9a, + 0x81, 0x1a, 0x4a, 0x92, 0x4e, 0x3b, 0x46, 0x9a, 0x85, 0xfe, 0x83, 0xa2, + 0xf9, 0x9e, 0x8c, 0xa3, 0xcc, 0x0d, 0x5e, 0xb3, 0x3d, 0xcf, 0x04, 0x78, + 0x8f, 0x14, 0x14, 0x7b, 0x32, 0x9c, 0xc7, 0x00, 0xa6, 0x5c, 0xc4, 0xb5, + 0xa1, 0x55, 0x8d, 0x5a, 0x56, 0x68, 0xa4, 0x22, 0x70, 0xaa, 0x3c, 0x81, + 0x71, 0xd9, 0x9d, 0xa8, 0x45, 0x3b, 0xf4, 0xe5, 0xf6, 0xa2, 0x51, 0xdd, + 0xc7, 0x7b, 0x62, 0xe8, 0x6f, 0x0c, 0x74, 0xeb, 0xb8, 0xda, 0xf8, 0xbf, + 0x87, 0x0d, 0x79, 0x50, 0x91, 0x90, 0x9b, 0x18, 0x3b, 0x91, 0x59, 0x27, + 0xf1, 0x35, 0x28, 0x13, 0xab, 0x26, 0x7e, 0xd5, 0xf7, 0x7a, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 36:34:9e:18:c9:9c:26:69:b6:56:2e:6c:e5:ad:71:32 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3 + Validity + Not Before: May 23 00:00:00 2013 GMT + Not After : May 22 23:59:59 2023 GMT + Subject: C=US, O=thawte, Inc., CN=thawte SHA256 SSL CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:a3:63:2b:d4:ba:5d:38:ae:b0:cf:b9:4c:38:df: + 20:7d:f1:2b:47:71:1d:8b:68:f3:56:f9:9c:da:aa: + e5:84:26:de:a5:71:30:bc:f3:31:23:9d:e8:3b:80: + c8:66:57:75:b6:57:0e:db:93:f5:26:8e:70:ba:64: + 52:66:8a:2a:88:5c:44:18:4d:a8:a2:7c:bd:56:61: + 32:90:12:f9:35:87:48:60:b0:6e:90:67:44:01:8d: + e7:c9:0d:63:68:72:72:ab:63:3c:86:b8:1f:7d:ad: + 88:25:a7:6a:88:29:fb:59:c6:78:71:5f:2c:ba:89: + e6:d3:80:fd:57:ec:b9:51:5f:43:33:2e:7e:25:3b: + a4:04:d1:60:8c:b3:44:33:93:0c:ad:2a:b6:44:a2: + 19:3b:af:c4:90:6f:7b:05:87:86:9b:2c:6a:9d:2b: + 6c:77:c9:00:9f:c9:cf:ac:ed:3e:1b:f7:c3:f3:d9: + f8:6c:d4:a0:57:c4:fb:28:32:aa:33:f0:e6:ba:98: + df:e5:c2:4e:9c:74:bf:8a:48:c2:f2:1b:f0:77:40: + 41:07:04:b2:3a:d5:4c:c4:29:a9:11:40:3f:02:46: + f0:91:d5:d2:81:83:86:13:b3:31:ed:46:ab:a8:87: + 76:a9:99:7d:bc:cd:31:50:f4:a5:b5:dc:a5:32:b3: + 8b:8b + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://ocsp.thawte.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: https://www.thawte.com/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.thawte.com/ThawtePCA-G3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-415 + X509v3 Subject Key Identifier: + 2B:9A:35:AE:01:18:38:30:E1:70:7A:05:E0:11:76:A3:CE:BD:90:14 + X509v3 Authority Key Identifier: + keyid:AD:6C:AA:94:60:9C:ED:E4:FF:FA:3E:0A:74:2B:63:03:F7:B6:59:BF + + Signature Algorithm: sha256WithRSAEncryption + 74:a6:56:e8:af:93:96:19:fb:26:f9:0d:b0:44:a5:cd:e9:7a: + 48:03:74:01:6c:13:71:b7:e0:82:90:99:62:23:e3:d6:99:af: + f0:c7:1e:9e:a8:18:21:db:b4:94:3f:34:56:1b:99:55:2f:8e: + f0:45:33:32:b7:72:c1:13:5b:34:d3:f5:60:e5:2e:18:d1:5c: + c5:6a:c1:aa:87:50:0c:1c:9d:64:2b:ff:1b:dc:d5:2e:61:0b: + e7:b9:b6:91:53:86:d9:03:2a:d1:3d:7b:4a:da:2b:07:be:29: + f2:60:42:a9:91:1a:0e:2e:3c:d1:7d:a5:13:14:02:fa:ee:8b: + 8d:b6:c8:b8:3e:56:81:57:21:24:3f:65:c3:b4:c9:ce:5c:8d: + 46:ac:53:f3:f9:55:74:c8:2b:fd:d2:78:70:f5:f8:11:e5:f4: + a7:ad:20:f5:9d:f1:ec:70:f6:13:ac:e6:8c:8d:db:3f:c6:f2: + 79:0e:ab:52:f2:cc:1b:79:27:cf:16:b3:d6:f3:c6:36:80:43: + ec:c5:94:f0:dd:90:8d:f8:c6:52:46:56:eb:74:47:be:a6:f3: + 19:ae:71:4c:c0:e1:e7:d4:cf:ed:d4:06:28:2a:11:3c:ba:d9: + 41:6e:00:e7:81:37:93:e4:da:62:c6:1d:67:6f:63:b4:14:86: + d9:a6:62:f0 +-----BEGIN CERTIFICATE----- +MIIEwjCCA6qgAwIBAgIQNjSeGMmcJmm2Vi5s5a1xMjANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0xMzA1MjMwMDAwMDBa +Fw0yMzA1MjIyMzU5NTlaMEMxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUs +IEluYy4xHTAbBgNVBAMTFHRoYXd0ZSBTSEEyNTYgU1NMIENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo2Mr1LpdOK6wz7lMON8gffErR3Edi2jzVvmc +2qrlhCbepXEwvPMxI53oO4DIZld1tlcO25P1Jo5wumRSZooqiFxEGE2oony9VmEy +kBL5NYdIYLBukGdEAY3nyQ1jaHJyq2M8hrgffa2IJadqiCn7WcZ4cV8suonm04D9 +V+y5UV9DMy5+JTukBNFgjLNEM5MMrSq2RKIZO6/EkG97BYeGmyxqnStsd8kAn8nP +rO0+G/fD89n4bNSgV8T7KDKqM/Dmupjf5cJOnHS/ikjC8hvwd0BBBwSyOtVMxCmp +EUA/AkbwkdXSgYOGE7Mx7UarqId2qZl9vM0xUPSltdylMrOLiwIDAQABo4IBRDCC +AUAwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8vb2NzcC50aGF3 +dGUuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAwQQYDVR0gBDowODA2BgpghkgBhvhF +AQc2MCgwJgYIKwYBBQUHAgEWGmh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vY3BzMDcG +A1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQQ0Et +RzMuY3JsMA4GA1UdDwEB/wQEAwIBBjAqBgNVHREEIzAhpB8wHTEbMBkGA1UEAxMS +VmVyaVNpZ25NUEtJLTItNDE1MB0GA1UdDgQWBBQrmjWuARg4MOFwegXgEXajzr2Q +FDAfBgNVHSMEGDAWgBStbKqUYJzt5P/6Pgp0K2MD97ZZvzANBgkqhkiG9w0BAQsF +AAOCAQEAdKZW6K+Tlhn7JvkNsESlzel6SAN0AWwTcbfggpCZYiPj1pmv8McenqgY +Idu0lD80VhuZVS+O8EUzMrdywRNbNNP1YOUuGNFcxWrBqodQDBydZCv/G9zVLmEL +57m2kVOG2QMq0T17StorB74p8mBCqZEaDi480X2lExQC+u6LjbbIuD5WgVchJD9l +w7TJzlyNRqxT8/lVdMgr/dJ4cPX4EeX0p60g9Z3x7HD2E6zmjI3bP8byeQ6rUvLM +G3knzxaz1vPGNoBD7MWU8N2QjfjGUkZW63RHvqbzGa5xTMDh59TP7dQGKCoRPLrZ +QW4A54E3k+TaYsYdZ29jtBSG2aZi8A== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_34[] = { + 0x30, 0x82, 0x04, 0xc2, 0x30, 0x82, 0x03, 0xaa, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x36, 0x34, 0x9e, 0x18, 0xc9, 0x9c, 0x26, 0x69, 0xb6, + 0x56, 0x2e, 0x6c, 0xe5, 0xad, 0x71, 0x32, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xae, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x38, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x1b, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x33, 0x30, 0x35, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, + 0x17, 0x0d, 0x32, 0x33, 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x35, 0x39, + 0x35, 0x39, 0x5a, 0x30, 0x43, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, + 0x55, 0x04, 0x0a, 0x13, 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, + 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x14, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, + 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa3, 0x63, 0x2b, + 0xd4, 0xba, 0x5d, 0x38, 0xae, 0xb0, 0xcf, 0xb9, 0x4c, 0x38, 0xdf, 0x20, + 0x7d, 0xf1, 0x2b, 0x47, 0x71, 0x1d, 0x8b, 0x68, 0xf3, 0x56, 0xf9, 0x9c, + 0xda, 0xaa, 0xe5, 0x84, 0x26, 0xde, 0xa5, 0x71, 0x30, 0xbc, 0xf3, 0x31, + 0x23, 0x9d, 0xe8, 0x3b, 0x80, 0xc8, 0x66, 0x57, 0x75, 0xb6, 0x57, 0x0e, + 0xdb, 0x93, 0xf5, 0x26, 0x8e, 0x70, 0xba, 0x64, 0x52, 0x66, 0x8a, 0x2a, + 0x88, 0x5c, 0x44, 0x18, 0x4d, 0xa8, 0xa2, 0x7c, 0xbd, 0x56, 0x61, 0x32, + 0x90, 0x12, 0xf9, 0x35, 0x87, 0x48, 0x60, 0xb0, 0x6e, 0x90, 0x67, 0x44, + 0x01, 0x8d, 0xe7, 0xc9, 0x0d, 0x63, 0x68, 0x72, 0x72, 0xab, 0x63, 0x3c, + 0x86, 0xb8, 0x1f, 0x7d, 0xad, 0x88, 0x25, 0xa7, 0x6a, 0x88, 0x29, 0xfb, + 0x59, 0xc6, 0x78, 0x71, 0x5f, 0x2c, 0xba, 0x89, 0xe6, 0xd3, 0x80, 0xfd, + 0x57, 0xec, 0xb9, 0x51, 0x5f, 0x43, 0x33, 0x2e, 0x7e, 0x25, 0x3b, 0xa4, + 0x04, 0xd1, 0x60, 0x8c, 0xb3, 0x44, 0x33, 0x93, 0x0c, 0xad, 0x2a, 0xb6, + 0x44, 0xa2, 0x19, 0x3b, 0xaf, 0xc4, 0x90, 0x6f, 0x7b, 0x05, 0x87, 0x86, + 0x9b, 0x2c, 0x6a, 0x9d, 0x2b, 0x6c, 0x77, 0xc9, 0x00, 0x9f, 0xc9, 0xcf, + 0xac, 0xed, 0x3e, 0x1b, 0xf7, 0xc3, 0xf3, 0xd9, 0xf8, 0x6c, 0xd4, 0xa0, + 0x57, 0xc4, 0xfb, 0x28, 0x32, 0xaa, 0x33, 0xf0, 0xe6, 0xba, 0x98, 0xdf, + 0xe5, 0xc2, 0x4e, 0x9c, 0x74, 0xbf, 0x8a, 0x48, 0xc2, 0xf2, 0x1b, 0xf0, + 0x77, 0x40, 0x41, 0x07, 0x04, 0xb2, 0x3a, 0xd5, 0x4c, 0xc4, 0x29, 0xa9, + 0x11, 0x40, 0x3f, 0x02, 0x46, 0xf0, 0x91, 0xd5, 0xd2, 0x81, 0x83, 0x86, + 0x13, 0xb3, 0x31, 0xed, 0x46, 0xab, 0xa8, 0x87, 0x76, 0xa9, 0x99, 0x7d, + 0xbc, 0xcd, 0x31, 0x50, 0xf4, 0xa5, 0xb5, 0xdc, 0xa5, 0x32, 0xb3, 0x8b, + 0x8b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x44, 0x30, 0x82, + 0x01, 0x40, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x01, 0x01, 0x04, 0x26, 0x30, 0x24, 0x30, 0x22, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x16, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x74, 0x68, 0x61, 0x77, + 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x41, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3a, 0x30, + 0x38, 0x30, 0x36, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, + 0x01, 0x07, 0x36, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x37, 0x06, + 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x30, 0x30, 0x2e, 0x30, 0x2c, 0xa0, 0x2a, + 0xa0, 0x28, 0x86, 0x26, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, + 0x72, 0x6c, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, 0x43, 0x41, 0x2d, + 0x47, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x2a, + 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x23, 0x30, 0x21, 0xa4, 0x1f, 0x30, + 0x1d, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x12, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, + 0x2d, 0x32, 0x2d, 0x34, 0x31, 0x35, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2b, 0x9a, 0x35, 0xae, 0x01, 0x18, 0x38, + 0x30, 0xe1, 0x70, 0x7a, 0x05, 0xe0, 0x11, 0x76, 0xa3, 0xce, 0xbd, 0x90, + 0x14, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xad, 0x6c, 0xaa, 0x94, 0x60, 0x9c, 0xed, 0xe4, 0xff, 0xfa, + 0x3e, 0x0a, 0x74, 0x2b, 0x63, 0x03, 0xf7, 0xb6, 0x59, 0xbf, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x74, 0xa6, 0x56, 0xe8, 0xaf, 0x93, + 0x96, 0x19, 0xfb, 0x26, 0xf9, 0x0d, 0xb0, 0x44, 0xa5, 0xcd, 0xe9, 0x7a, + 0x48, 0x03, 0x74, 0x01, 0x6c, 0x13, 0x71, 0xb7, 0xe0, 0x82, 0x90, 0x99, + 0x62, 0x23, 0xe3, 0xd6, 0x99, 0xaf, 0xf0, 0xc7, 0x1e, 0x9e, 0xa8, 0x18, + 0x21, 0xdb, 0xb4, 0x94, 0x3f, 0x34, 0x56, 0x1b, 0x99, 0x55, 0x2f, 0x8e, + 0xf0, 0x45, 0x33, 0x32, 0xb7, 0x72, 0xc1, 0x13, 0x5b, 0x34, 0xd3, 0xf5, + 0x60, 0xe5, 0x2e, 0x18, 0xd1, 0x5c, 0xc5, 0x6a, 0xc1, 0xaa, 0x87, 0x50, + 0x0c, 0x1c, 0x9d, 0x64, 0x2b, 0xff, 0x1b, 0xdc, 0xd5, 0x2e, 0x61, 0x0b, + 0xe7, 0xb9, 0xb6, 0x91, 0x53, 0x86, 0xd9, 0x03, 0x2a, 0xd1, 0x3d, 0x7b, + 0x4a, 0xda, 0x2b, 0x07, 0xbe, 0x29, 0xf2, 0x60, 0x42, 0xa9, 0x91, 0x1a, + 0x0e, 0x2e, 0x3c, 0xd1, 0x7d, 0xa5, 0x13, 0x14, 0x02, 0xfa, 0xee, 0x8b, + 0x8d, 0xb6, 0xc8, 0xb8, 0x3e, 0x56, 0x81, 0x57, 0x21, 0x24, 0x3f, 0x65, + 0xc3, 0xb4, 0xc9, 0xce, 0x5c, 0x8d, 0x46, 0xac, 0x53, 0xf3, 0xf9, 0x55, + 0x74, 0xc8, 0x2b, 0xfd, 0xd2, 0x78, 0x70, 0xf5, 0xf8, 0x11, 0xe5, 0xf4, + 0xa7, 0xad, 0x20, 0xf5, 0x9d, 0xf1, 0xec, 0x70, 0xf6, 0x13, 0xac, 0xe6, + 0x8c, 0x8d, 0xdb, 0x3f, 0xc6, 0xf2, 0x79, 0x0e, 0xab, 0x52, 0xf2, 0xcc, + 0x1b, 0x79, 0x27, 0xcf, 0x16, 0xb3, 0xd6, 0xf3, 0xc6, 0x36, 0x80, 0x43, + 0xec, 0xc5, 0x94, 0xf0, 0xdd, 0x90, 0x8d, 0xf8, 0xc6, 0x52, 0x46, 0x56, + 0xeb, 0x74, 0x47, 0xbe, 0xa6, 0xf3, 0x19, 0xae, 0x71, 0x4c, 0xc0, 0xe1, + 0xe7, 0xd4, 0xcf, 0xed, 0xd4, 0x06, 0x28, 0x2a, 0x11, 0x3c, 0xba, 0xd9, + 0x41, 0x6e, 0x00, 0xe7, 0x81, 0x37, 0x93, 0xe4, 0xda, 0x62, 0xc6, 0x1d, + 0x67, 0x6f, 0x63, 0xb4, 0x14, 0x86, 0xd9, 0xa6, 0x62, 0xf0, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 41:82:12:7d:12:d9:c6:b3:21:39:43:12:56:64:00:b8 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3 + Validity + Not Before: May 23 00:00:00 2013 GMT + Not After : May 22 23:59:59 2023 GMT + Subject: C=US, O=GeoTrust Inc., CN=GeoTrust SHA256 SSL CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c6:a9:0b:5d:17:a5:7d:c6:cf:2a:ef:c6:66:d1: + 42:1e:5f:83:78:68:91:af:e6:a7:8b:f0:1d:44:01: + 0a:19:ca:9c:d4:8b:1d:e1:a1:90:a3:c1:5b:b4:d7: + 5b:6a:8b:fc:0e:49:1e:c2:62:29:fe:80:15:39:8b: + 81:2a:27:b5:fb:12:a8:05:22:0b:c5:2c:f5:d9:98: + dd:16:2f:3b:66:e7:62:a2:43:32:ac:8f:b5:85:c8: + 52:06:2c:5c:c0:77:fa:67:f7:83:e8:5e:05:8d:c8: + ab:a1:16:32:8a:d2:40:ec:86:3a:1c:23:a9:8d:b5: + 00:de:72:bd:85:55:fe:06:01:60:5d:ad:b3:e0:65: + 73:a5:92:14:9e:94:56:6f:93:ee:af:a9:3a:30:25: + 4a:8e:09:84:ef:b7:d2:d5:d7:9b:49:cd:e9:c0:5e: + 67:71:22:ac:50:90:43:20:5d:a1:a3:15:83:fd:fc: + a7:39:bc:6b:65:48:12:60:ff:dd:23:b3:3a:aa:f4: + 9f:9c:37:53:41:a2:47:93:81:33:09:e5:22:c6:c8: + 1c:49:a1:6e:8d:cc:83:b3:9a:cd:ea:43:f2:19:d3: + 24:cb:a8:29:ae:52:cc:f4:08:27:b0:84:ea:ce:27: + b5:e1:34:13:73:92:5c:87:86:2a:c6:b0:68:36:ad: + cb:09 + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://pca-g3-ocsp.geotrust.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.geotrust.com/resources/cps + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.geotrust.com/GeoTrustPCA-G3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-416 + X509v3 Subject Key Identifier: + 14:67:8E:ED:83:4F:D6:1E:9D:40:04:0C:04:46:A1:70:34:B2:0F:72 + X509v3 Authority Key Identifier: + keyid:C4:79:CA:8E:A1:4E:03:1D:1C:DC:6B:DB:31:5B:94:3E:3F:30:7F:2D + + Signature Algorithm: sha256WithRSAEncryption + 10:10:ea:f2:10:d6:08:46:e2:c1:8f:3e:36:59:c8:2b:0f:fe: + 4d:ec:e3:f8:b6:56:31:78:25:d4:76:f2:08:dd:ef:3f:cd:8b: + 1c:7e:aa:7f:fc:0b:a8:23:64:51:b3:87:d6:09:fa:22:fa:c7: + 0a:51:e8:ce:b8:f6:03:70:e0:1b:5a:b9:b1:b2:93:11:10:f9: + 97:05:07:29:6c:6d:57:25:54:e8:f9:66:9b:0e:fb:db:9f:ee: + 96:6f:65:cb:1f:d8:55:ce:31:fa:cf:02:f4:d0:7f:50:66:ff: + 2f:79:9b:a5:c2:df:d6:cf:c8:15:83:96:84:98:b2:46:d4:5f: + 13:a8:3e:a7:34:9c:05:38:da:cf:d6:69:95:a9:26:87:76:01: + d7:b2:51:0f:81:69:46:26:1c:99:b6:83:58:e3:3b:58:8f:dc: + b4:71:c0:b9:bf:42:9c:1c:03:9e:e4:46:a8:ea:b9:c1:cd:f6: + 5b:a9:3c:96:fb:79:a4:33:73:a7:9e:78:b9:70:dc:72:74:c4: + 32:c8:00:1b:c9:ef:48:d3:fb:3a:9b:fa:fe:7a:9a:40:69:1c: + c8:da:28:37:0b:d3:a3:b9:7e:96:cc:2b:28:c3:56:6c:6f:e9: + db:52:b1:fa:9a:fb:e7:af:b5:97:a6:22:c3:c5:a8:93:b1:00: + c9:07:b2:7d +-----BEGIN CERTIFICATE----- +MIIExzCCA6+gAwIBAgIQQYISfRLZxrMhOUMSVmQAuDANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTEzMDUyMzAwMDAwMFoXDTIzMDUyMjIzNTk1OVowRjELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHzAdBgNVBAMTFkdlb1Ry +dXN0IFNIQTI1NiBTU0wgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQDGqQtdF6V9xs8q78Zm0UIeX4N4aJGv5qeL8B1EAQoZypzUix3hoZCjwVu011tq +i/wOSR7CYin+gBU5i4EqJ7X7EqgFIgvFLPXZmN0WLztm52KiQzKsj7WFyFIGLFzA +d/pn94PoXgWNyKuhFjKK0kDshjocI6mNtQDecr2FVf4GAWBdrbPgZXOlkhSelFZv +k+6vqTowJUqOCYTvt9LV15tJzenAXmdxIqxQkEMgXaGjFYP9/Kc5vGtlSBJg/90j +szqq9J+cN1NBokeTgTMJ5SLGyBxJoW6NzIOzms3qQ/IZ0yTLqCmuUsz0CCewhOrO +J7XhNBNzklyHhirGsGg2rcsJAgMBAAGjggFcMIIBWDA7BggrBgEFBQcBAQQvMC0w +KwYIKwYBBQUHMAGGH2h0dHA6Ly9wY2EtZzMtb2NzcC5nZW90cnVzdC5jb20wEgYD +VR0TAQH/BAgwBgEB/wIBADBMBgNVHSAERTBDMEEGCmCGSAGG+EUBBzYwMzAxBggr +BgEFBQcCARYlaHR0cDovL3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2VzL2NwczA7 +BgNVHR8ENDAyMDCgLqAshipodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9HZW9UcnVz +dFBDQS1HMy5jcmwwDgYDVR0PAQH/BAQDAgEGMCoGA1UdEQQjMCGkHzAdMRswGQYD +VQQDExJWZXJpU2lnbk1QS0ktMi00MTYwHQYDVR0OBBYEFBRnju2DT9YenUAEDARG +oXA0sg9yMB8GA1UdIwQYMBaAFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3 +DQEBCwUAA4IBAQAQEOryENYIRuLBjz42WcgrD/5N7OP4tlYxeCXUdvII3e8/zYsc +fqp//AuoI2RRs4fWCfoi+scKUejOuPYDcOAbWrmxspMREPmXBQcpbG1XJVTo+Wab +Dvvbn+6Wb2XLH9hVzjH6zwL00H9QZv8veZulwt/Wz8gVg5aEmLJG1F8TqD6nNJwF +ONrP1mmVqSaHdgHXslEPgWlGJhyZtoNY4ztYj9y0ccC5v0KcHAOe5Eao6rnBzfZb +qTyW+3mkM3Onnni5cNxydMQyyAAbye9I0/s6m/r+eppAaRzI2ig3C9OjuX6WzCso +w1Zsb+nbUrH6mvvnr7WXpiLDxaiTsQDJB7J9 +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_35[] = { + 0x30, 0x82, 0x04, 0xc7, 0x30, 0x82, 0x03, 0xaf, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x41, 0x82, 0x12, 0x7d, 0x12, 0xd9, 0xc6, 0xb3, 0x21, + 0x39, 0x43, 0x12, 0x56, 0x64, 0x00, 0xb8, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0x98, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x47, 0x65, + 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, + 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, + 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x33, 0x30, 0x35, 0x32, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, + 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x46, 0x31, 0x0b, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, + 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x16, 0x47, 0x65, 0x6f, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x53, + 0x53, 0x4c, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xc6, 0xa9, 0x0b, 0x5d, 0x17, 0xa5, 0x7d, 0xc6, 0xcf, 0x2a, + 0xef, 0xc6, 0x66, 0xd1, 0x42, 0x1e, 0x5f, 0x83, 0x78, 0x68, 0x91, 0xaf, + 0xe6, 0xa7, 0x8b, 0xf0, 0x1d, 0x44, 0x01, 0x0a, 0x19, 0xca, 0x9c, 0xd4, + 0x8b, 0x1d, 0xe1, 0xa1, 0x90, 0xa3, 0xc1, 0x5b, 0xb4, 0xd7, 0x5b, 0x6a, + 0x8b, 0xfc, 0x0e, 0x49, 0x1e, 0xc2, 0x62, 0x29, 0xfe, 0x80, 0x15, 0x39, + 0x8b, 0x81, 0x2a, 0x27, 0xb5, 0xfb, 0x12, 0xa8, 0x05, 0x22, 0x0b, 0xc5, + 0x2c, 0xf5, 0xd9, 0x98, 0xdd, 0x16, 0x2f, 0x3b, 0x66, 0xe7, 0x62, 0xa2, + 0x43, 0x32, 0xac, 0x8f, 0xb5, 0x85, 0xc8, 0x52, 0x06, 0x2c, 0x5c, 0xc0, + 0x77, 0xfa, 0x67, 0xf7, 0x83, 0xe8, 0x5e, 0x05, 0x8d, 0xc8, 0xab, 0xa1, + 0x16, 0x32, 0x8a, 0xd2, 0x40, 0xec, 0x86, 0x3a, 0x1c, 0x23, 0xa9, 0x8d, + 0xb5, 0x00, 0xde, 0x72, 0xbd, 0x85, 0x55, 0xfe, 0x06, 0x01, 0x60, 0x5d, + 0xad, 0xb3, 0xe0, 0x65, 0x73, 0xa5, 0x92, 0x14, 0x9e, 0x94, 0x56, 0x6f, + 0x93, 0xee, 0xaf, 0xa9, 0x3a, 0x30, 0x25, 0x4a, 0x8e, 0x09, 0x84, 0xef, + 0xb7, 0xd2, 0xd5, 0xd7, 0x9b, 0x49, 0xcd, 0xe9, 0xc0, 0x5e, 0x67, 0x71, + 0x22, 0xac, 0x50, 0x90, 0x43, 0x20, 0x5d, 0xa1, 0xa3, 0x15, 0x83, 0xfd, + 0xfc, 0xa7, 0x39, 0xbc, 0x6b, 0x65, 0x48, 0x12, 0x60, 0xff, 0xdd, 0x23, + 0xb3, 0x3a, 0xaa, 0xf4, 0x9f, 0x9c, 0x37, 0x53, 0x41, 0xa2, 0x47, 0x93, + 0x81, 0x33, 0x09, 0xe5, 0x22, 0xc6, 0xc8, 0x1c, 0x49, 0xa1, 0x6e, 0x8d, + 0xcc, 0x83, 0xb3, 0x9a, 0xcd, 0xea, 0x43, 0xf2, 0x19, 0xd3, 0x24, 0xcb, + 0xa8, 0x29, 0xae, 0x52, 0xcc, 0xf4, 0x08, 0x27, 0xb0, 0x84, 0xea, 0xce, + 0x27, 0xb5, 0xe1, 0x34, 0x13, 0x73, 0x92, 0x5c, 0x87, 0x86, 0x2a, 0xc6, + 0xb0, 0x68, 0x36, 0xad, 0xcb, 0x09, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, + 0x82, 0x01, 0x5c, 0x30, 0x82, 0x01, 0x58, 0x30, 0x3b, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x2f, 0x30, 0x2d, 0x30, + 0x2b, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, + 0x1f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x70, 0x63, 0x61, 0x2d, + 0x67, 0x33, 0x2d, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x65, 0x6f, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x12, 0x06, 0x03, + 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, + 0xff, 0x02, 0x01, 0x00, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, + 0xf8, 0x45, 0x01, 0x07, 0x36, 0x30, 0x33, 0x30, 0x31, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x3b, + 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0xa0, + 0x2e, 0xa0, 0x2c, 0x86, 0x2a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x63, 0x72, 0x6c, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x50, 0x43, 0x41, 0x2d, 0x47, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x23, + 0x30, 0x21, 0xa4, 0x1f, 0x30, 0x1d, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x12, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, + 0x6e, 0x4d, 0x50, 0x4b, 0x49, 0x2d, 0x32, 0x2d, 0x34, 0x31, 0x36, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x14, 0x67, + 0x8e, 0xed, 0x83, 0x4f, 0xd6, 0x1e, 0x9d, 0x40, 0x04, 0x0c, 0x04, 0x46, + 0xa1, 0x70, 0x34, 0xb2, 0x0f, 0x72, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc4, 0x79, 0xca, 0x8e, 0xa1, + 0x4e, 0x03, 0x1d, 0x1c, 0xdc, 0x6b, 0xdb, 0x31, 0x5b, 0x94, 0x3e, 0x3f, + 0x30, 0x7f, 0x2d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x10, + 0x10, 0xea, 0xf2, 0x10, 0xd6, 0x08, 0x46, 0xe2, 0xc1, 0x8f, 0x3e, 0x36, + 0x59, 0xc8, 0x2b, 0x0f, 0xfe, 0x4d, 0xec, 0xe3, 0xf8, 0xb6, 0x56, 0x31, + 0x78, 0x25, 0xd4, 0x76, 0xf2, 0x08, 0xdd, 0xef, 0x3f, 0xcd, 0x8b, 0x1c, + 0x7e, 0xaa, 0x7f, 0xfc, 0x0b, 0xa8, 0x23, 0x64, 0x51, 0xb3, 0x87, 0xd6, + 0x09, 0xfa, 0x22, 0xfa, 0xc7, 0x0a, 0x51, 0xe8, 0xce, 0xb8, 0xf6, 0x03, + 0x70, 0xe0, 0x1b, 0x5a, 0xb9, 0xb1, 0xb2, 0x93, 0x11, 0x10, 0xf9, 0x97, + 0x05, 0x07, 0x29, 0x6c, 0x6d, 0x57, 0x25, 0x54, 0xe8, 0xf9, 0x66, 0x9b, + 0x0e, 0xfb, 0xdb, 0x9f, 0xee, 0x96, 0x6f, 0x65, 0xcb, 0x1f, 0xd8, 0x55, + 0xce, 0x31, 0xfa, 0xcf, 0x02, 0xf4, 0xd0, 0x7f, 0x50, 0x66, 0xff, 0x2f, + 0x79, 0x9b, 0xa5, 0xc2, 0xdf, 0xd6, 0xcf, 0xc8, 0x15, 0x83, 0x96, 0x84, + 0x98, 0xb2, 0x46, 0xd4, 0x5f, 0x13, 0xa8, 0x3e, 0xa7, 0x34, 0x9c, 0x05, + 0x38, 0xda, 0xcf, 0xd6, 0x69, 0x95, 0xa9, 0x26, 0x87, 0x76, 0x01, 0xd7, + 0xb2, 0x51, 0x0f, 0x81, 0x69, 0x46, 0x26, 0x1c, 0x99, 0xb6, 0x83, 0x58, + 0xe3, 0x3b, 0x58, 0x8f, 0xdc, 0xb4, 0x71, 0xc0, 0xb9, 0xbf, 0x42, 0x9c, + 0x1c, 0x03, 0x9e, 0xe4, 0x46, 0xa8, 0xea, 0xb9, 0xc1, 0xcd, 0xf6, 0x5b, + 0xa9, 0x3c, 0x96, 0xfb, 0x79, 0xa4, 0x33, 0x73, 0xa7, 0x9e, 0x78, 0xb9, + 0x70, 0xdc, 0x72, 0x74, 0xc4, 0x32, 0xc8, 0x00, 0x1b, 0xc9, 0xef, 0x48, + 0xd3, 0xfb, 0x3a, 0x9b, 0xfa, 0xfe, 0x7a, 0x9a, 0x40, 0x69, 0x1c, 0xc8, + 0xda, 0x28, 0x37, 0x0b, 0xd3, 0xa3, 0xb9, 0x7e, 0x96, 0xcc, 0x2b, 0x28, + 0xc3, 0x56, 0x6c, 0x6f, 0xe9, 0xdb, 0x52, 0xb1, 0xfa, 0x9a, 0xfb, 0xe7, + 0xaf, 0xb5, 0x97, 0xa6, 0x22, 0xc3, 0xc5, 0xa8, 0x93, 0xb1, 0x00, 0xc9, + 0x07, 0xb2, 0x7d, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2 + Validity + Not Before: May 3 07:00:00 2011 GMT + Not After : May 3 07:00:00 2031 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b9:e0:cb:10:d4:af:76:bd:d4:93:62:eb:30:64: + b8:81:08:6c:c3:04:d9:62:17:8e:2f:ff:3e:65:cf: + 8f:ce:62:e6:3c:52:1c:da:16:45:4b:55:ab:78:6b: + 63:83:62:90:ce:0f:69:6c:99:c8:1a:14:8b:4c:cc: + 45:33:ea:88:dc:9e:a3:af:2b:fe:80:61:9d:79:57: + c4:cf:2e:f4:3f:30:3c:5d:47:fc:9a:16:bc:c3:37: + 96:41:51:8e:11:4b:54:f8:28:be:d0:8c:be:f0:30: + 38:1e:f3:b0:26:f8:66:47:63:6d:de:71:26:47:8f: + 38:47:53:d1:46:1d:b4:e3:dc:00:ea:45:ac:bd:bc: + 71:d9:aa:6f:00:db:db:cd:30:3a:79:4f:5f:4c:47: + f8:1d:ef:5b:c2:c4:9d:60:3b:b1:b2:43:91:d8:a4: + 33:4e:ea:b3:d6:27:4f:ad:25:8a:a5:c6:f4:d5:d0: + a6:ae:74:05:64:57:88:b5:44:55:d4:2d:2a:3a:3e: + f8:b8:bd:e9:32:0a:02:94:64:c4:16:3a:50:f1:4a: + ae:e7:79:33:af:0c:20:07:7f:e8:df:04:39:c2:69: + 02:6c:63:52:fa:77:c1:1b:c8:74:87:c8:b9:93:18: + 50:54:35:4b:69:4e:bc:3b:d3:49:2e:1f:dc:c1:d2: + 52:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 40:C2:BD:27:8E:CC:34:83:30:A2:33:D7:FB:6C:B3:F0:B4:2C:80:CE + X509v3 Authority Key Identifier: + keyid:3A:9A:85:07:10:67:28:B6:EF:F6:BD:05:41:6E:20:C1:94:DA:0F:DE + + Authority Information Access: + OCSP - URI:http://ocsp.godaddy.com/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.godaddy.com/gdroot-g2.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://certs.godaddy.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + 08:7e:6c:93:10:c8:38:b8:96:a9:90:4b:ff:a1:5f:4f:04:ef: + 6c:3e:9c:88:06:c9:50:8f:a6:73:f7:57:31:1b:be:bc:e4:2f: + db:f8:ba:d3:5b:e0:b4:e7:e6:79:62:0e:0c:a2:d7:6a:63:73: + 31:b5:f5:a8:48:a4:3b:08:2d:a2:5d:90:d7:b4:7c:25:4f:11: + 56:30:c4:b6:44:9d:7b:2c:9d:e5:5e:e6:ef:0c:61:aa:bf:e4: + 2a:1b:ee:84:9e:b8:83:7d:c1:43:ce:44:a7:13:70:0d:91:1f: + f4:c8:13:ad:83:60:d9:d8:72:a8:73:24:1e:b5:ac:22:0e:ca: + 17:89:62:58:44:1b:ab:89:25:01:00:0f:cd:c4:1b:62:db:51: + b4:d3:0f:51:2a:9b:f4:bc:73:fc:76:ce:36:a4:cd:d9:d8:2c: + ea:ae:9b:f5:2a:b2:90:d1:4d:75:18:8a:3f:8a:41:90:23:7d: + 5b:4b:fe:a4:03:58:9b:46:b2:c3:60:60:83:f8:7d:50:41:ce: + c2:a1:90:c3:bb:ef:02:2f:d2:15:54:ee:44:15:d9:0a:ae:a7: + 8a:33:ed:b1:2d:76:36:26:dc:04:eb:9f:f7:61:1f:15:dc:87: + 6f:ee:46:96:28:ad:a1:26:7d:0a:09:a7:2e:04:a3:8d:bc:f8: + bc:04:30:01 +-----BEGIN CERTIFICATE----- +MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3 +MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE +CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD +EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD +BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv +K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e +cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY +pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n +eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB +AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv +9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v +b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n +b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG +CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv +MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz +91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2 +RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi +DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11 +GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x +LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_36[] = { + 0x30, 0x82, 0x04, 0xd0, 0x30, 0x82, 0x03, 0xb8, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x01, 0x07, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, 0x83, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, + 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, + 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, + 0x6c, 0x65, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x11, 0x47, 0x6f, 0x44, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, + 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x28, 0x47, 0x6f, 0x20, 0x44, 0x61, 0x64, 0x64, + 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x31, 0x30, 0x35, 0x30, 0x33, 0x30, 0x37, 0x30, 0x30, 0x30, + 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x35, 0x30, 0x33, 0x30, 0x37, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x81, 0xb4, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, + 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, + 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x47, + 0x6f, 0x44, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x20, + 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, + 0x72, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2f, 0x31, 0x33, 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x2a, 0x47, 0x6f, 0x20, 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xb9, 0xe0, 0xcb, 0x10, 0xd4, 0xaf, 0x76, + 0xbd, 0xd4, 0x93, 0x62, 0xeb, 0x30, 0x64, 0xb8, 0x81, 0x08, 0x6c, 0xc3, + 0x04, 0xd9, 0x62, 0x17, 0x8e, 0x2f, 0xff, 0x3e, 0x65, 0xcf, 0x8f, 0xce, + 0x62, 0xe6, 0x3c, 0x52, 0x1c, 0xda, 0x16, 0x45, 0x4b, 0x55, 0xab, 0x78, + 0x6b, 0x63, 0x83, 0x62, 0x90, 0xce, 0x0f, 0x69, 0x6c, 0x99, 0xc8, 0x1a, + 0x14, 0x8b, 0x4c, 0xcc, 0x45, 0x33, 0xea, 0x88, 0xdc, 0x9e, 0xa3, 0xaf, + 0x2b, 0xfe, 0x80, 0x61, 0x9d, 0x79, 0x57, 0xc4, 0xcf, 0x2e, 0xf4, 0x3f, + 0x30, 0x3c, 0x5d, 0x47, 0xfc, 0x9a, 0x16, 0xbc, 0xc3, 0x37, 0x96, 0x41, + 0x51, 0x8e, 0x11, 0x4b, 0x54, 0xf8, 0x28, 0xbe, 0xd0, 0x8c, 0xbe, 0xf0, + 0x30, 0x38, 0x1e, 0xf3, 0xb0, 0x26, 0xf8, 0x66, 0x47, 0x63, 0x6d, 0xde, + 0x71, 0x26, 0x47, 0x8f, 0x38, 0x47, 0x53, 0xd1, 0x46, 0x1d, 0xb4, 0xe3, + 0xdc, 0x00, 0xea, 0x45, 0xac, 0xbd, 0xbc, 0x71, 0xd9, 0xaa, 0x6f, 0x00, + 0xdb, 0xdb, 0xcd, 0x30, 0x3a, 0x79, 0x4f, 0x5f, 0x4c, 0x47, 0xf8, 0x1d, + 0xef, 0x5b, 0xc2, 0xc4, 0x9d, 0x60, 0x3b, 0xb1, 0xb2, 0x43, 0x91, 0xd8, + 0xa4, 0x33, 0x4e, 0xea, 0xb3, 0xd6, 0x27, 0x4f, 0xad, 0x25, 0x8a, 0xa5, + 0xc6, 0xf4, 0xd5, 0xd0, 0xa6, 0xae, 0x74, 0x05, 0x64, 0x57, 0x88, 0xb5, + 0x44, 0x55, 0xd4, 0x2d, 0x2a, 0x3a, 0x3e, 0xf8, 0xb8, 0xbd, 0xe9, 0x32, + 0x0a, 0x02, 0x94, 0x64, 0xc4, 0x16, 0x3a, 0x50, 0xf1, 0x4a, 0xae, 0xe7, + 0x79, 0x33, 0xaf, 0x0c, 0x20, 0x07, 0x7f, 0xe8, 0xdf, 0x04, 0x39, 0xc2, + 0x69, 0x02, 0x6c, 0x63, 0x52, 0xfa, 0x77, 0xc1, 0x1b, 0xc8, 0x74, 0x87, + 0xc8, 0xb9, 0x93, 0x18, 0x50, 0x54, 0x35, 0x4b, 0x69, 0x4e, 0xbc, 0x3b, + 0xd3, 0x49, 0x2e, 0x1f, 0xdc, 0xc1, 0xd2, 0x52, 0xfb, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x1a, 0x30, 0x82, 0x01, 0x16, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, + 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x40, 0xc2, 0xbd, 0x27, 0x8e, 0xcc, + 0x34, 0x83, 0x30, 0xa2, 0x33, 0xd7, 0xfb, 0x6c, 0xb3, 0xf0, 0xb4, 0x2c, + 0x80, 0xce, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x3a, 0x9a, 0x85, 0x07, 0x10, 0x67, 0x28, 0xb6, 0xef, + 0xf6, 0xbd, 0x05, 0x41, 0x6e, 0x20, 0xc1, 0x94, 0xda, 0x0f, 0xde, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x35, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0xa0, 0x28, 0xa0, 0x26, 0x86, 0x24, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x67, + 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x64, 0x72, 0x6f, 0x6f, 0x74, 0x2d, 0x67, 0x32, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x46, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3f, 0x30, 0x3d, 0x30, + 0x3b, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x33, 0x30, 0x31, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x25, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, + 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x08, 0x7e, 0x6c, 0x93, + 0x10, 0xc8, 0x38, 0xb8, 0x96, 0xa9, 0x90, 0x4b, 0xff, 0xa1, 0x5f, 0x4f, + 0x04, 0xef, 0x6c, 0x3e, 0x9c, 0x88, 0x06, 0xc9, 0x50, 0x8f, 0xa6, 0x73, + 0xf7, 0x57, 0x31, 0x1b, 0xbe, 0xbc, 0xe4, 0x2f, 0xdb, 0xf8, 0xba, 0xd3, + 0x5b, 0xe0, 0xb4, 0xe7, 0xe6, 0x79, 0x62, 0x0e, 0x0c, 0xa2, 0xd7, 0x6a, + 0x63, 0x73, 0x31, 0xb5, 0xf5, 0xa8, 0x48, 0xa4, 0x3b, 0x08, 0x2d, 0xa2, + 0x5d, 0x90, 0xd7, 0xb4, 0x7c, 0x25, 0x4f, 0x11, 0x56, 0x30, 0xc4, 0xb6, + 0x44, 0x9d, 0x7b, 0x2c, 0x9d, 0xe5, 0x5e, 0xe6, 0xef, 0x0c, 0x61, 0xaa, + 0xbf, 0xe4, 0x2a, 0x1b, 0xee, 0x84, 0x9e, 0xb8, 0x83, 0x7d, 0xc1, 0x43, + 0xce, 0x44, 0xa7, 0x13, 0x70, 0x0d, 0x91, 0x1f, 0xf4, 0xc8, 0x13, 0xad, + 0x83, 0x60, 0xd9, 0xd8, 0x72, 0xa8, 0x73, 0x24, 0x1e, 0xb5, 0xac, 0x22, + 0x0e, 0xca, 0x17, 0x89, 0x62, 0x58, 0x44, 0x1b, 0xab, 0x89, 0x25, 0x01, + 0x00, 0x0f, 0xcd, 0xc4, 0x1b, 0x62, 0xdb, 0x51, 0xb4, 0xd3, 0x0f, 0x51, + 0x2a, 0x9b, 0xf4, 0xbc, 0x73, 0xfc, 0x76, 0xce, 0x36, 0xa4, 0xcd, 0xd9, + 0xd8, 0x2c, 0xea, 0xae, 0x9b, 0xf5, 0x2a, 0xb2, 0x90, 0xd1, 0x4d, 0x75, + 0x18, 0x8a, 0x3f, 0x8a, 0x41, 0x90, 0x23, 0x7d, 0x5b, 0x4b, 0xfe, 0xa4, + 0x03, 0x58, 0x9b, 0x46, 0xb2, 0xc3, 0x60, 0x60, 0x83, 0xf8, 0x7d, 0x50, + 0x41, 0xce, 0xc2, 0xa1, 0x90, 0xc3, 0xbb, 0xef, 0x02, 0x2f, 0xd2, 0x15, + 0x54, 0xee, 0x44, 0x15, 0xd9, 0x0a, 0xae, 0xa7, 0x8a, 0x33, 0xed, 0xb1, + 0x2d, 0x76, 0x36, 0x26, 0xdc, 0x04, 0xeb, 0x9f, 0xf7, 0x61, 0x1f, 0x15, + 0xdc, 0x87, 0x6f, 0xee, 0x46, 0x96, 0x28, 0xad, 0xa1, 0x26, 0x7d, 0x0a, + 0x09, 0xa7, 0x2e, 0x04, 0xa3, 0x8d, 0xbc, 0xf8, 0xbc, 0x04, 0x30, 0x01, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 25:0c:e8:e0:30:61:2e:9f:2b:89:f7:05:4d:7c:f8:fd + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority + Validity + Not Before: Nov 8 00:00:00 2006 GMT + Not After : Nov 7 23:59:59 2021 GMT + Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:24:08:08:29:7a:35:9e:60:0c:aa:e7:4b:3b: + 4e:dc:7c:bc:3c:45:1c:bb:2b:e0:fe:29:02:f9:57: + 08:a3:64:85:15:27:f5:f1:ad:c8:31:89:5d:22:e8: + 2a:aa:a6:42:b3:8f:f8:b9:55:b7:b1:b7:4b:b3:fe: + 8f:7e:07:57:ec:ef:43:db:66:62:15:61:cf:60:0d: + a4:d8:de:f8:e0:c3:62:08:3d:54:13:eb:49:ca:59: + 54:85:26:e5:2b:8f:1b:9f:eb:f5:a1:91:c2:33:49: + d8:43:63:6a:52:4b:d2:8f:e8:70:51:4d:d1:89:69: + 7b:c7:70:f6:b3:dc:12:74:db:7b:5d:4b:56:d3:96: + bf:15:77:a1:b0:f4:a2:25:f2:af:1c:92:67:18:e5: + f4:06:04:ef:90:b9:e4:00:e4:dd:3a:b5:19:ff:02: + ba:f4:3c:ee:e0:8b:eb:37:8b:ec:f4:d7:ac:f2:f6: + f0:3d:af:dd:75:91:33:19:1d:1c:40:cb:74:24:19: + 21:93:d9:14:fe:ac:2a:52:c7:8f:d5:04:49:e4:8d: + 63:47:88:3c:69:83:cb:fe:47:bd:2b:7e:4f:c5:95: + ae:0e:9d:d4:d1:43:c0:67:73:e3:14:08:7e:e5:3f: + 9f:73:b8:33:0a:cf:5d:3f:34:87:96:8a:ee:53:e8: + 25:15 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.verisign.com/pca3.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://www.verisign.com/cps + + X509v3 Subject Key Identifier: + 7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + 1.3.6.1.5.5.7.1.12: + 0_.].[0Y0W0U..image/gif0!0.0...+..............k...j.H.,{..0%.#http://logo.verisign.com/vslogo.gif + Authority Information Access: + OCSP - URI:http://ocsp.verisign.com + + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, Netscape Server Gated Crypto, 2.16.840.1.113733.1.8.1 + Signature Algorithm: sha1WithRSAEncryption + 13:02:dd:f8:e8:86:00:f2:5a:f8:f8:20:0c:59:88:62:07:ce: + ce:f7:4e:f9:bb:59:a1:98:e5:e1:38:dd:4e:bc:66:18:d3:ad: + eb:18:f2:0d:c9:6d:3e:4a:94:20:c3:3c:ba:bd:65:54:c6:af: + 44:b3:10:ad:2c:6b:3e:ab:d7:07:b6:b8:81:63:c5:f9:5e:2e: + e5:2a:67:ce:cd:33:0c:2a:d7:89:56:03:23:1f:b3:be:e8:3a: + 08:59:b4:ec:45:35:f7:8a:5b:ff:66:cf:50:af:c6:6d:57:8d: + 19:78:b7:b9:a2:d1:57:ea:1f:9a:4b:af:ba:c9:8e:12:7e:c6: + bd:ff +-----BEGIN CERTIFICATE----- +MIIE0DCCBDmgAwIBAgIQJQzo4DBhLp8rifcFTXz4/TANBgkqhkiG9w0BAQUFADBf +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT +LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw +HhcNMDYxMTA4MDAwMDAwWhcNMjExMTA3MjM1OTU5WjCByjELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZv +ciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8 +RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbext0uz/o9+B1fs70Pb +ZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhDY2pSS9KP6HBR +TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNH +iDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMB +AAGjggGbMIIBlzAPBgNVHRMBAf8EBTADAQH/MDEGA1UdHwQqMCgwJqAkoCKGIGh0 +dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3JsMA4GA1UdDwEB/wQEAwIBBjA9 +BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy +aXNpZ24uY29tL2NwczAdBgNVHQ4EFgQUf9Nlp8Ld7LvwMAnzQzn6Aq8zMTMwbQYI +KwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQU +j+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24uY29t +L3ZzbG9nby5naWYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v +b2NzcC52ZXJpc2lnbi5jb20wPgYDVR0lBDcwNQYIKwYBBQUHAwEGCCsGAQUFBwMC +BggrBgEFBQcDAwYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMA0GCSqGSIb3DQEBBQUA +A4GBABMC3fjohgDyWvj4IAxZiGIHzs73Tvm7WaGY5eE43U68ZhjTresY8g3JbT5K +lCDDPLq9ZVTGr0SzEK0saz6r1we2uIFjxfleLuUqZ87NMwwq14lWAyMfs77oOghZ +tOxFNfeKW/9mz1Cvxm1XjRl4t7mi0VfqH5pLr7rJjhJ+xr3/ +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_37[] = { + 0x30, 0x82, 0x04, 0xd0, 0x30, 0x82, 0x04, 0x39, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x25, 0x0c, 0xe8, 0xe0, 0x30, 0x61, 0x2e, 0x9f, 0x2b, + 0x89, 0xf7, 0x05, 0x4d, 0x7c, 0xf8, 0xfd, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x5f, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, + 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x37, 0x30, 0x35, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, + 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x31, 0x30, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x31, 0x31, 0x31, 0x30, 0x37, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0xca, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3a, 0x30, + 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, 0x63, 0x29, 0x20, + 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, + 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x45, 0x30, + 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, + 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xaf, 0x24, 0x08, 0x08, 0x29, 0x7a, 0x35, + 0x9e, 0x60, 0x0c, 0xaa, 0xe7, 0x4b, 0x3b, 0x4e, 0xdc, 0x7c, 0xbc, 0x3c, + 0x45, 0x1c, 0xbb, 0x2b, 0xe0, 0xfe, 0x29, 0x02, 0xf9, 0x57, 0x08, 0xa3, + 0x64, 0x85, 0x15, 0x27, 0xf5, 0xf1, 0xad, 0xc8, 0x31, 0x89, 0x5d, 0x22, + 0xe8, 0x2a, 0xaa, 0xa6, 0x42, 0xb3, 0x8f, 0xf8, 0xb9, 0x55, 0xb7, 0xb1, + 0xb7, 0x4b, 0xb3, 0xfe, 0x8f, 0x7e, 0x07, 0x57, 0xec, 0xef, 0x43, 0xdb, + 0x66, 0x62, 0x15, 0x61, 0xcf, 0x60, 0x0d, 0xa4, 0xd8, 0xde, 0xf8, 0xe0, + 0xc3, 0x62, 0x08, 0x3d, 0x54, 0x13, 0xeb, 0x49, 0xca, 0x59, 0x54, 0x85, + 0x26, 0xe5, 0x2b, 0x8f, 0x1b, 0x9f, 0xeb, 0xf5, 0xa1, 0x91, 0xc2, 0x33, + 0x49, 0xd8, 0x43, 0x63, 0x6a, 0x52, 0x4b, 0xd2, 0x8f, 0xe8, 0x70, 0x51, + 0x4d, 0xd1, 0x89, 0x69, 0x7b, 0xc7, 0x70, 0xf6, 0xb3, 0xdc, 0x12, 0x74, + 0xdb, 0x7b, 0x5d, 0x4b, 0x56, 0xd3, 0x96, 0xbf, 0x15, 0x77, 0xa1, 0xb0, + 0xf4, 0xa2, 0x25, 0xf2, 0xaf, 0x1c, 0x92, 0x67, 0x18, 0xe5, 0xf4, 0x06, + 0x04, 0xef, 0x90, 0xb9, 0xe4, 0x00, 0xe4, 0xdd, 0x3a, 0xb5, 0x19, 0xff, + 0x02, 0xba, 0xf4, 0x3c, 0xee, 0xe0, 0x8b, 0xeb, 0x37, 0x8b, 0xec, 0xf4, + 0xd7, 0xac, 0xf2, 0xf6, 0xf0, 0x3d, 0xaf, 0xdd, 0x75, 0x91, 0x33, 0x19, + 0x1d, 0x1c, 0x40, 0xcb, 0x74, 0x24, 0x19, 0x21, 0x93, 0xd9, 0x14, 0xfe, + 0xac, 0x2a, 0x52, 0xc7, 0x8f, 0xd5, 0x04, 0x49, 0xe4, 0x8d, 0x63, 0x47, + 0x88, 0x3c, 0x69, 0x83, 0xcb, 0xfe, 0x47, 0xbd, 0x2b, 0x7e, 0x4f, 0xc5, + 0x95, 0xae, 0x0e, 0x9d, 0xd4, 0xd1, 0x43, 0xc0, 0x67, 0x73, 0xe3, 0x14, + 0x08, 0x7e, 0xe5, 0x3f, 0x9f, 0x73, 0xb8, 0x33, 0x0a, 0xcf, 0x5d, 0x3f, + 0x34, 0x87, 0x96, 0x8a, 0xee, 0x53, 0xe8, 0x25, 0x15, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x9b, 0x30, 0x82, 0x01, 0x97, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, + 0x01, 0x01, 0xff, 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2a, + 0x30, 0x28, 0x30, 0x26, 0xa0, 0x24, 0xa0, 0x22, 0x86, 0x20, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, + 0x61, 0x33, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x3d, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, + 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, + 0x73, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, + 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x6d, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04, 0x61, 0x30, 0x5f, + 0xa1, 0x5d, 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57, 0x30, 0x55, 0x16, 0x09, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, + 0x1f, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, + 0x8f, 0xe5, 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80, + 0x6a, 0xd4, 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30, 0x25, 0x16, 0x23, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x76, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, + 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, + 0x28, 0x30, 0x26, 0x30, 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, + 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x3e, 0x06, 0x03, 0x55, 0x1d, 0x25, + 0x04, 0x37, 0x30, 0x35, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x06, 0x09, + 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x04, 0x01, 0x06, 0x0a, 0x60, + 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x08, 0x01, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, + 0x03, 0x81, 0x81, 0x00, 0x13, 0x02, 0xdd, 0xf8, 0xe8, 0x86, 0x00, 0xf2, + 0x5a, 0xf8, 0xf8, 0x20, 0x0c, 0x59, 0x88, 0x62, 0x07, 0xce, 0xce, 0xf7, + 0x4e, 0xf9, 0xbb, 0x59, 0xa1, 0x98, 0xe5, 0xe1, 0x38, 0xdd, 0x4e, 0xbc, + 0x66, 0x18, 0xd3, 0xad, 0xeb, 0x18, 0xf2, 0x0d, 0xc9, 0x6d, 0x3e, 0x4a, + 0x94, 0x20, 0xc3, 0x3c, 0xba, 0xbd, 0x65, 0x54, 0xc6, 0xaf, 0x44, 0xb3, + 0x10, 0xad, 0x2c, 0x6b, 0x3e, 0xab, 0xd7, 0x07, 0xb6, 0xb8, 0x81, 0x63, + 0xc5, 0xf9, 0x5e, 0x2e, 0xe5, 0x2a, 0x67, 0xce, 0xcd, 0x33, 0x0c, 0x2a, + 0xd7, 0x89, 0x56, 0x03, 0x23, 0x1f, 0xb3, 0xbe, 0xe8, 0x3a, 0x08, 0x59, + 0xb4, 0xec, 0x45, 0x35, 0xf7, 0x8a, 0x5b, 0xff, 0x66, 0xcf, 0x50, 0xaf, + 0xc6, 0x6d, 0x57, 0x8d, 0x19, 0x78, 0xb7, 0xb9, 0xa2, 0xd1, 0x57, 0xea, + 0x1f, 0x9a, 0x4b, 0xaf, 0xba, 0xc9, 0x8e, 0x12, 0x7e, 0xc6, 0xbd, 0xff, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 2c:69:e1:2f:6a:67:0b:d9:9d:d2:0f:91:9e:f0:9e:51 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA + Validity + Not Before: Jun 10 00:00:00 2014 GMT + Not After : Jun 9 23:59:59 2024 GMT + Subject: C=US, O=thawte, Inc., OU=Domain Validated SSL, CN=thawte DV SSL CA - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ea:94:07:85:c8:41:2c:f6:83:12:6c:92:5f:ab: + 1f:00:d4:96:6f:74:cd:2e:11:e9:6c:0f:39:01:b9: + 48:90:40:39:4d:c4:a2:c8:79:6a:a5:9a:bd:91:44: + 65:77:54:ad:ff:25:5f:ee:42:fb:b3:02:0f:ea:5d: + 7a:dd:1a:54:9e:d7:73:42:9b:cc:79:5f:c5:4d:f4: + b7:0b:18:39:20:7a:dd:50:01:5d:34:45:5f:4c:11: + 0e:f5:87:26:26:b4:b0:f3:7e:71:a0:31:71:50:89: + 68:5a:63:8a:14:62:e5:8c:3a:16:55:0d:3e:eb:aa: + 80:1d:71:7a:e3:87:07:ab:bd:a2:74:cd:da:08:01: + 9d:1b:cc:27:88:8c:47:d4:69:25:42:d6:bb:50:6d: + 85:50:d0:48:82:0d:08:9f:e9:23:e3:42:c6:3c:98: + b8:bb:6e:c5:70:13:df:19:1d:01:fd:d2:b5:4e:e6: + 62:f4:07:fa:6b:7d:11:77:c4:62:4f:40:4e:a5:78: + 97:ab:2c:4d:0c:a7:7c:c3:c4:50:32:9f:d0:70:9b: + 0f:ff:ff:75:59:34:85:ad:49:d5:35:ee:4f:5b:d4: + d4:36:95:a0:7e:e8:c5:a1:1c:bd:13:4e:7d:ee:63: + 6a:96:19:99:c8:a7:2a:00:e6:51:8d:46:eb:30:58: + e8:2d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: https://www.thawte.com/cps + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://t.symcd.com + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://t.symcb.com/ThawtePCA.crl + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-698 + X509v3 Subject Key Identifier: + 9F:B8:C1:A9:6C:F2:F5:C0:22:2A:94:ED:5C:99:AC:D4:EC:D7:C6:07 + X509v3 Authority Key Identifier: + keyid:7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50 + + Signature Algorithm: sha256WithRSAEncryption + 53:54:f2:47:a8:02:d7:ef:aa:35:78:be:4a:08:0d:90:18:4b: + 6d:9e:2a:53:2b:e9:54:17:77:74:29:7e:d0:37:07:05:b8:e4: + fa:b8:b4:63:98:44:dc:c6:4f:81:06:8c:3a:be:c7:30:57:c6: + 70:fc:d6:93:19:9f:c3:55:d7:3e:1f:72:8a:9d:30:5a:35:97: + 32:cb:63:e4:c6:72:df:fb:68:ca:69:2f:db:cd:50:38:3e:2b: + bb:ab:3b:82:c7:fd:4b:9b:bd:7c:41:98:ef:01:53:d8:35:8f: + 25:c9:03:06:e6:9c:57:c1:51:0f:9e:f6:7d:93:4d:f8:76:c8: + 3a:6b:f4:c4:8f:33:32:7f:9d:21:84:34:d9:a7:f9:92:fa:41: + 91:61:84:05:9d:a3:79:46:ce:67:e7:81:f2:5e:ac:4c:bc:a8: + ab:6a:6d:15:e2:9c:4e:5a:d9:63:80:bc:f7:42:eb:9a:44:c6: + 8c:6b:06:36:b4:8b:32:89:de:c2:f1:a8:26:aa:a9:ac:ff:ea: + 71:a6:e7:8c:41:fa:17:35:bb:b3:87:31:a9:93:c2:c8:58:e1: + 0a:4e:95:83:9c:b9:ed:3b:a5:ef:08:e0:74:f9:c3:1b:e6:07: + a3:ee:07:d7:42:22:79:21:a0:a1:d4:1d:26:d3:d0:d6:a6:5d: + 2b:41:c0:79 +-----BEGIN CERTIFICATE----- +MIIE0jCCA7qgAwIBAgIQLGnhL2pnC9md0g+RnvCeUTANBgkqhkiG9w0BAQsFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTQwNjEwMDAwMDAwWhcNMjQw +NjA5MjM1OTU5WjBjMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMu +MR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEeMBwGA1UEAxMVdGhhd3Rl +IERWIFNTTCBDQSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +6pQHhchBLPaDEmySX6sfANSWb3TNLhHpbA85AblIkEA5TcSiyHlqpZq9kURld1St +/yVf7kL7swIP6l163RpUntdzQpvMeV/FTfS3Cxg5IHrdUAFdNEVfTBEO9YcmJrSw +835xoDFxUIloWmOKFGLljDoWVQ0+66qAHXF644cHq72idM3aCAGdG8wniIxH1Gkl +Qta7UG2FUNBIgg0In+kj40LGPJi4u27FcBPfGR0B/dK1TuZi9Af6a30Rd8RiT0BO +pXiXqyxNDKd8w8RQMp/QcJsP//91WTSFrUnVNe5PW9TUNpWgfujFoRy9E0597mNq +lhmZyKcqAOZRjUbrMFjoLQIDAQABo4IBOTCCATUwEgYDVR0TAQH/BAgwBgEB/wIB +ADBBBgNVHSAEOjA4MDYGCmCGSAGG+EUBBzYwKDAmBggrBgEFBQcCARYaaHR0cHM6 +Ly93d3cudGhhd3RlLmNvbS9jcHMwDgYDVR0PAQH/BAQDAgEGMC4GCCsGAQUFBwEB +BCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL3Quc3ltY2QuY29tMDEGA1UdHwQqMCgw +JqAkoCKGIGh0dHA6Ly90LnN5bWNiLmNvbS9UaGF3dGVQQ0EuY3JsMCkGA1UdEQQi +MCCkHjAcMRowGAYDVQQDExFTeW1hbnRlY1BLSS0xLTY5ODAdBgNVHQ4EFgQUn7jB +qWzy9cAiKpTtXJms1OzXxgcwHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutX +SFAwDQYJKoZIhvcNAQELBQADggEBAFNU8keoAtfvqjV4vkoIDZAYS22eKlMr6VQX +d3QpftA3BwW45Pq4tGOYRNzGT4EGjDq+xzBXxnD81pMZn8NV1z4fcoqdMFo1lzLL +Y+TGct/7aMppL9vNUDg+K7urO4LH/UubvXxBmO8BU9g1jyXJAwbmnFfBUQ+e9n2T +Tfh2yDpr9MSPMzJ/nSGENNmn+ZL6QZFhhAWdo3lGzmfngfJerEy8qKtqbRXinE5a +2WOAvPdC65pExoxrBja0izKJ3sLxqCaqqaz/6nGm54xB+hc1u7OHMamTwshY4QpO +lYOcue07pe8I4HT5wxvmB6PuB9dCInkhoKHUHSbT0NamXStBwHk= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_38[] = { + 0x30, 0x82, 0x04, 0xd2, 0x30, 0x82, 0x03, 0xba, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x2c, 0x69, 0xe1, 0x2f, 0x6a, 0x67, 0x0b, 0xd9, 0x9d, + 0xd2, 0x0f, 0x91, 0x9e, 0xf0, 0x9e, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xa9, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0c, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x38, 0x30, 0x36, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2f, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, + 0x30, 0x36, 0x20, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x16, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, + 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, 0x36, 0x31, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, + 0x36, 0x30, 0x39, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x63, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, + 0x53, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0c, + 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x14, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x53, 0x53, 0x4c, 0x31, 0x1e, 0x30, 0x1c, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x15, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, + 0x20, 0x44, 0x56, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x20, 0x2d, + 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xea, 0x94, 0x07, 0x85, 0xc8, 0x41, 0x2c, 0xf6, 0x83, 0x12, 0x6c, 0x92, + 0x5f, 0xab, 0x1f, 0x00, 0xd4, 0x96, 0x6f, 0x74, 0xcd, 0x2e, 0x11, 0xe9, + 0x6c, 0x0f, 0x39, 0x01, 0xb9, 0x48, 0x90, 0x40, 0x39, 0x4d, 0xc4, 0xa2, + 0xc8, 0x79, 0x6a, 0xa5, 0x9a, 0xbd, 0x91, 0x44, 0x65, 0x77, 0x54, 0xad, + 0xff, 0x25, 0x5f, 0xee, 0x42, 0xfb, 0xb3, 0x02, 0x0f, 0xea, 0x5d, 0x7a, + 0xdd, 0x1a, 0x54, 0x9e, 0xd7, 0x73, 0x42, 0x9b, 0xcc, 0x79, 0x5f, 0xc5, + 0x4d, 0xf4, 0xb7, 0x0b, 0x18, 0x39, 0x20, 0x7a, 0xdd, 0x50, 0x01, 0x5d, + 0x34, 0x45, 0x5f, 0x4c, 0x11, 0x0e, 0xf5, 0x87, 0x26, 0x26, 0xb4, 0xb0, + 0xf3, 0x7e, 0x71, 0xa0, 0x31, 0x71, 0x50, 0x89, 0x68, 0x5a, 0x63, 0x8a, + 0x14, 0x62, 0xe5, 0x8c, 0x3a, 0x16, 0x55, 0x0d, 0x3e, 0xeb, 0xaa, 0x80, + 0x1d, 0x71, 0x7a, 0xe3, 0x87, 0x07, 0xab, 0xbd, 0xa2, 0x74, 0xcd, 0xda, + 0x08, 0x01, 0x9d, 0x1b, 0xcc, 0x27, 0x88, 0x8c, 0x47, 0xd4, 0x69, 0x25, + 0x42, 0xd6, 0xbb, 0x50, 0x6d, 0x85, 0x50, 0xd0, 0x48, 0x82, 0x0d, 0x08, + 0x9f, 0xe9, 0x23, 0xe3, 0x42, 0xc6, 0x3c, 0x98, 0xb8, 0xbb, 0x6e, 0xc5, + 0x70, 0x13, 0xdf, 0x19, 0x1d, 0x01, 0xfd, 0xd2, 0xb5, 0x4e, 0xe6, 0x62, + 0xf4, 0x07, 0xfa, 0x6b, 0x7d, 0x11, 0x77, 0xc4, 0x62, 0x4f, 0x40, 0x4e, + 0xa5, 0x78, 0x97, 0xab, 0x2c, 0x4d, 0x0c, 0xa7, 0x7c, 0xc3, 0xc4, 0x50, + 0x32, 0x9f, 0xd0, 0x70, 0x9b, 0x0f, 0xff, 0xff, 0x75, 0x59, 0x34, 0x85, + 0xad, 0x49, 0xd5, 0x35, 0xee, 0x4f, 0x5b, 0xd4, 0xd4, 0x36, 0x95, 0xa0, + 0x7e, 0xe8, 0xc5, 0xa1, 0x1c, 0xbd, 0x13, 0x4e, 0x7d, 0xee, 0x63, 0x6a, + 0x96, 0x19, 0x99, 0xc8, 0xa7, 0x2a, 0x00, 0xe6, 0x51, 0x8d, 0x46, 0xeb, + 0x30, 0x58, 0xe8, 0x2d, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, + 0x39, 0x30, 0x82, 0x01, 0x35, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x41, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3a, 0x30, 0x38, + 0x30, 0x36, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, + 0x07, 0x36, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x0e, 0x06, 0x03, + 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, + 0x04, 0x22, 0x30, 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x74, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2a, 0x30, 0x28, 0x30, + 0x26, 0xa0, 0x24, 0xa0, 0x22, 0x86, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x74, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x50, 0x43, 0x41, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x29, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, + 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, + 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, 0x36, 0x39, 0x38, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x9f, 0xb8, 0xc1, + 0xa9, 0x6c, 0xf2, 0xf5, 0xc0, 0x22, 0x2a, 0x94, 0xed, 0x5c, 0x99, 0xac, + 0xd4, 0xec, 0xd7, 0xc6, 0x07, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7b, 0x5b, 0x45, 0xcf, 0xaf, 0xce, + 0xcb, 0x7a, 0xfd, 0x31, 0x92, 0x1a, 0x6a, 0xb6, 0xf3, 0x46, 0xeb, 0x57, + 0x48, 0x50, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x53, 0x54, + 0xf2, 0x47, 0xa8, 0x02, 0xd7, 0xef, 0xaa, 0x35, 0x78, 0xbe, 0x4a, 0x08, + 0x0d, 0x90, 0x18, 0x4b, 0x6d, 0x9e, 0x2a, 0x53, 0x2b, 0xe9, 0x54, 0x17, + 0x77, 0x74, 0x29, 0x7e, 0xd0, 0x37, 0x07, 0x05, 0xb8, 0xe4, 0xfa, 0xb8, + 0xb4, 0x63, 0x98, 0x44, 0xdc, 0xc6, 0x4f, 0x81, 0x06, 0x8c, 0x3a, 0xbe, + 0xc7, 0x30, 0x57, 0xc6, 0x70, 0xfc, 0xd6, 0x93, 0x19, 0x9f, 0xc3, 0x55, + 0xd7, 0x3e, 0x1f, 0x72, 0x8a, 0x9d, 0x30, 0x5a, 0x35, 0x97, 0x32, 0xcb, + 0x63, 0xe4, 0xc6, 0x72, 0xdf, 0xfb, 0x68, 0xca, 0x69, 0x2f, 0xdb, 0xcd, + 0x50, 0x38, 0x3e, 0x2b, 0xbb, 0xab, 0x3b, 0x82, 0xc7, 0xfd, 0x4b, 0x9b, + 0xbd, 0x7c, 0x41, 0x98, 0xef, 0x01, 0x53, 0xd8, 0x35, 0x8f, 0x25, 0xc9, + 0x03, 0x06, 0xe6, 0x9c, 0x57, 0xc1, 0x51, 0x0f, 0x9e, 0xf6, 0x7d, 0x93, + 0x4d, 0xf8, 0x76, 0xc8, 0x3a, 0x6b, 0xf4, 0xc4, 0x8f, 0x33, 0x32, 0x7f, + 0x9d, 0x21, 0x84, 0x34, 0xd9, 0xa7, 0xf9, 0x92, 0xfa, 0x41, 0x91, 0x61, + 0x84, 0x05, 0x9d, 0xa3, 0x79, 0x46, 0xce, 0x67, 0xe7, 0x81, 0xf2, 0x5e, + 0xac, 0x4c, 0xbc, 0xa8, 0xab, 0x6a, 0x6d, 0x15, 0xe2, 0x9c, 0x4e, 0x5a, + 0xd9, 0x63, 0x80, 0xbc, 0xf7, 0x42, 0xeb, 0x9a, 0x44, 0xc6, 0x8c, 0x6b, + 0x06, 0x36, 0xb4, 0x8b, 0x32, 0x89, 0xde, 0xc2, 0xf1, 0xa8, 0x26, 0xaa, + 0xa9, 0xac, 0xff, 0xea, 0x71, 0xa6, 0xe7, 0x8c, 0x41, 0xfa, 0x17, 0x35, + 0xbb, 0xb3, 0x87, 0x31, 0xa9, 0x93, 0xc2, 0xc8, 0x58, 0xe1, 0x0a, 0x4e, + 0x95, 0x83, 0x9c, 0xb9, 0xed, 0x3b, 0xa5, 0xef, 0x08, 0xe0, 0x74, 0xf9, + 0xc3, 0x1b, 0xe6, 0x07, 0xa3, 0xee, 0x07, 0xd7, 0x42, 0x22, 0x79, 0x21, + 0xa0, 0xa1, 0xd4, 0x1d, 0x26, 0xd3, 0xd0, 0xd6, 0xa6, 0x5d, 0x2b, 0x41, + 0xc0, 0x79, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1372799044 (0x51d34044) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority + Validity + Not Before: Sep 22 17:14:57 2014 GMT + Not After : Sep 23 01:31:53 2024 GMT + Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ba:84:b6:72:db:9e:0c:6b:e2:99:e9:30:01:a7: + 76:ea:32:b8:95:41:1a:c9:da:61:4e:58:72:cf:fe: + f6:82:79:bf:73:61:06:0a:a5:27:d8:b3:5f:d3:45: + 4e:1c:72:d6:4e:32:f2:72:8a:0f:f7:83:19:d0:6a: + 80:80:00:45:1e:b0:c7:e7:9a:bf:12:57:27:1c:a3: + 68:2f:0a:87:bd:6a:6b:0e:5e:65:f3:1c:77:d5:d4: + 85:8d:70:21:b4:b3:32:e7:8b:a2:d5:86:39:02:b1: + b8:d2:47:ce:e4:c9:49:c4:3b:a7:de:fb:54:7d:57: + be:f0:e8:6e:c2:79:b2:3a:0b:55:e2:50:98:16:32: + 13:5c:2f:78:56:c1:c2:94:b3:f2:5a:e4:27:9a:9f: + 24:d7:c6:ec:d0:9b:25:82:e3:cc:c2:c4:45:c5:8c: + 97:7a:06:6b:2a:11:9f:a9:0a:6e:48:3b:6f:db:d4: + 11:19:42:f7:8f:07:bf:f5:53:5f:9c:3e:f4:17:2c: + e6:69:ac:4e:32:4c:62:77:ea:b7:e8:e5:bb:34:bc: + 19:8b:ae:9c:51:e7:b7:7e:b5:53:b1:33:22:e5:6d: + cf:70:3c:1a:fa:e2:9b:67:b6:83:f4:8d:a5:af:62: + 4c:4d:e0:58:ac:64:34:12:03:f8:b6:8d:94:63:24: + a4:71 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:1 + Authority Information Access: + OCSP - URI:http://ocsp.entrust.net + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.entrust.net/rootca1.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.entrust.net/CPS + + X509v3 Subject Key Identifier: + 6A:72:26:7A:D0:1E:EF:7D:E7:3B:69:51:D4:6C:8D:9F:90:12:66:AB + X509v3 Authority Key Identifier: + keyid:68:90:E4:67:A4:A6:53:80:C7:86:66:A4:F1:F7:4B:43:FB:84:BD:6D + + Signature Algorithm: sha256WithRSAEncryption + 69:33:83:fc:28:7a:6f:7d:ef:9d:55:eb:c5:3e:7a:9d:75:b3: + cc:c3:38:36:d9:34:a2:28:68:18:ea:1e:69:d3:bd:e7:d0:77: + da:b8:00:83:4e:4a:cf:6f:d1:f1:c1:22:3f:74:e4:f7:98:49: + 9e:9b:b6:9e:e1:db:98:77:2d:56:34:b1:a8:3c:d9:fd:c0:cd: + c7:bf:05:03:d4:02:c5:f1:e5:c6:da:08:a5:13:c7:62:23:11: + d1:61:30:1d:60:84:45:ef:79:a8:c6:26:93:a4:b7:cd:34:b8: + 69:c5:13:f6:91:b3:c9:45:73:76:b6:92:f6:76:0a:5b:e1:03: + 47:b7:e9:29:4c:91:32:23:37:4a:9c:35:d8:78:fd:1d:1f:e4: + 83:89:24:80:ad:b7:f9:cf:e4:5d:a5:d4:71:c4:85:5b:70:1f: + db:3f:1c:01:eb:1a:45:26:31:14:cc:65:bf:67:de:ca:cc:33: + 65:e5:41:91:d7:37:be:41:1a:96:9d:e6:8a:97:9d:a7:ce:ac: + 4e:9a:3d:bd:01:a0:6a:d9:4f:22:00:8b:44:d5:69:62:7b:2e: + eb:cc:ba:e7:92:7d:69:67:3d:fc:b8:7c:de:41:87:d0:69:ea: + ba:0a:18:7a:1a:95:43:b3:79:71:28:76:6d:a1:fb:57:4a:ec: + 4d:c8:0e:10 +-----BEGIN CERTIFICATE----- +MIIE/zCCA+egAwIBAgIEUdNARDANBgkqhkiG9w0BAQsFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE0MDkyMjE3MTQ1N1oXDTI0MDkyMzAx +MzE1M1owgb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgw +JgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQL +EzAoYykgMjAwOSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9u +bHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuoS2ctueDGvi +mekwAad26jK4lUEaydphTlhyz/72gnm/c2EGCqUn2LNf00VOHHLWTjLycooP94MZ +0GqAgABFHrDH55q/ElcnHKNoLwqHvWprDl5l8xx31dSFjXAhtLMy54ui1YY5ArG4 +0kfO5MlJxDun3vtUfVe+8OhuwnmyOgtV4lCYFjITXC94VsHClLPyWuQnmp8k18bs +0JslguPMwsRFxYyXegZrKhGfqQpuSDtv29QRGUL3jwe/9VNfnD70FyzmaaxOMkxi +d+q36OW7NLwZi66cUee3frVTsTMi5W3PcDwa+uKbZ7aD9I2lr2JMTeBYrGQ0EgP4 +to2UYySkcQIDAQABo4IBDzCCAQswDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQI +MAYBAf8CAQEwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2Nz +cC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3JsLmVudHJ1 +c3QubmV0L3Jvb3RjYTEuY3JsMDsGA1UdIAQ0MDIwMAYEVR0gADAoMCYGCCsGAQUF +BwIBFhpodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NQUzAdBgNVHQ4EFgQUanImetAe +733nO2lR1GyNn5ASZqswHwYDVR0jBBgwFoAUaJDkZ6SmU4DHhmak8fdLQ/uEvW0w +DQYJKoZIhvcNAQELBQADggEBAGkzg/woem99751V68U+ep11s8zDODbZNKIoaBjq +HmnTvefQd9q4AINOSs9v0fHBIj905PeYSZ6btp7h25h3LVY0sag82f3Azce/BQPU +AsXx5cbaCKUTx2IjEdFhMB1ghEXveajGJpOkt800uGnFE/aRs8lFc3a2kvZ2Clvh +A0e36SlMkTIjN0qcNdh4/R0f5IOJJICtt/nP5F2l1HHEhVtwH9s/HAHrGkUmMRTM +Zb9n3srMM2XlQZHXN75BGpad5oqXnafOrE6aPb0BoGrZTyIAi0TVaWJ7LuvMuueS +fWlnPfy4fN5Bh9Bp6roKGHoalUOzeXEodm2h+1dK7E3IDhA= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_39[] = { + 0x30, 0x82, 0x04, 0xff, 0x30, 0x82, 0x03, 0xe7, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x51, 0xd3, 0x40, 0x44, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xb0, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x30, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x43, 0x50, 0x53, 0x20, 0x69, 0x73, 0x20, + 0x69, 0x6e, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, + 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x45, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x2d, + 0x30, 0x2b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x24, 0x45, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x34, 0x30, 0x39, 0x32, 0x32, 0x31, 0x37, 0x31, 0x34, 0x35, + 0x37, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x30, 0x39, 0x32, 0x33, 0x30, 0x31, + 0x33, 0x31, 0x35, 0x33, 0x5a, 0x30, 0x81, 0xbe, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, + 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x45, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x28, 0x30, + 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, 0x53, 0x65, 0x65, 0x20, + 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6e, 0x65, 0x74, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x2d, 0x74, 0x65, + 0x72, 0x6d, 0x73, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x39, 0x20, 0x45, + 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, + 0x20, 0x2d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, + 0x6c, 0x79, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x29, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6f, + 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, + 0x01, 0x01, 0x00, 0xba, 0x84, 0xb6, 0x72, 0xdb, 0x9e, 0x0c, 0x6b, 0xe2, + 0x99, 0xe9, 0x30, 0x01, 0xa7, 0x76, 0xea, 0x32, 0xb8, 0x95, 0x41, 0x1a, + 0xc9, 0xda, 0x61, 0x4e, 0x58, 0x72, 0xcf, 0xfe, 0xf6, 0x82, 0x79, 0xbf, + 0x73, 0x61, 0x06, 0x0a, 0xa5, 0x27, 0xd8, 0xb3, 0x5f, 0xd3, 0x45, 0x4e, + 0x1c, 0x72, 0xd6, 0x4e, 0x32, 0xf2, 0x72, 0x8a, 0x0f, 0xf7, 0x83, 0x19, + 0xd0, 0x6a, 0x80, 0x80, 0x00, 0x45, 0x1e, 0xb0, 0xc7, 0xe7, 0x9a, 0xbf, + 0x12, 0x57, 0x27, 0x1c, 0xa3, 0x68, 0x2f, 0x0a, 0x87, 0xbd, 0x6a, 0x6b, + 0x0e, 0x5e, 0x65, 0xf3, 0x1c, 0x77, 0xd5, 0xd4, 0x85, 0x8d, 0x70, 0x21, + 0xb4, 0xb3, 0x32, 0xe7, 0x8b, 0xa2, 0xd5, 0x86, 0x39, 0x02, 0xb1, 0xb8, + 0xd2, 0x47, 0xce, 0xe4, 0xc9, 0x49, 0xc4, 0x3b, 0xa7, 0xde, 0xfb, 0x54, + 0x7d, 0x57, 0xbe, 0xf0, 0xe8, 0x6e, 0xc2, 0x79, 0xb2, 0x3a, 0x0b, 0x55, + 0xe2, 0x50, 0x98, 0x16, 0x32, 0x13, 0x5c, 0x2f, 0x78, 0x56, 0xc1, 0xc2, + 0x94, 0xb3, 0xf2, 0x5a, 0xe4, 0x27, 0x9a, 0x9f, 0x24, 0xd7, 0xc6, 0xec, + 0xd0, 0x9b, 0x25, 0x82, 0xe3, 0xcc, 0xc2, 0xc4, 0x45, 0xc5, 0x8c, 0x97, + 0x7a, 0x06, 0x6b, 0x2a, 0x11, 0x9f, 0xa9, 0x0a, 0x6e, 0x48, 0x3b, 0x6f, + 0xdb, 0xd4, 0x11, 0x19, 0x42, 0xf7, 0x8f, 0x07, 0xbf, 0xf5, 0x53, 0x5f, + 0x9c, 0x3e, 0xf4, 0x17, 0x2c, 0xe6, 0x69, 0xac, 0x4e, 0x32, 0x4c, 0x62, + 0x77, 0xea, 0xb7, 0xe8, 0xe5, 0xbb, 0x34, 0xbc, 0x19, 0x8b, 0xae, 0x9c, + 0x51, 0xe7, 0xb7, 0x7e, 0xb5, 0x53, 0xb1, 0x33, 0x22, 0xe5, 0x6d, 0xcf, + 0x70, 0x3c, 0x1a, 0xfa, 0xe2, 0x9b, 0x67, 0xb6, 0x83, 0xf4, 0x8d, 0xa5, + 0xaf, 0x62, 0x4c, 0x4d, 0xe0, 0x58, 0xac, 0x64, 0x34, 0x12, 0x03, 0xf8, + 0xb6, 0x8d, 0x94, 0x63, 0x24, 0xa4, 0x71, 0x02, 0x03, 0x01, 0x00, 0x01, + 0xa3, 0x82, 0x01, 0x0f, 0x30, 0x82, 0x01, 0x0b, 0x30, 0x0e, 0x06, 0x03, + 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, + 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, + 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01, 0x30, 0x33, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x27, 0x30, 0x25, + 0x30, 0x23, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x17, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, + 0x70, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, + 0x74, 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2c, 0x30, 0x2a, + 0x30, 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x63, + 0x61, 0x31, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3b, 0x06, 0x03, 0x55, 0x1d, + 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0x06, 0x04, 0x55, 0x1d, 0x20, + 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6e, 0x65, 0x74, 0x2f, 0x43, 0x50, 0x53, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x6a, 0x72, 0x26, 0x7a, 0xd0, 0x1e, + 0xef, 0x7d, 0xe7, 0x3b, 0x69, 0x51, 0xd4, 0x6c, 0x8d, 0x9f, 0x90, 0x12, + 0x66, 0xab, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x68, 0x90, 0xe4, 0x67, 0xa4, 0xa6, 0x53, 0x80, 0xc7, + 0x86, 0x66, 0xa4, 0xf1, 0xf7, 0x4b, 0x43, 0xfb, 0x84, 0xbd, 0x6d, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x69, 0x33, 0x83, 0xfc, 0x28, + 0x7a, 0x6f, 0x7d, 0xef, 0x9d, 0x55, 0xeb, 0xc5, 0x3e, 0x7a, 0x9d, 0x75, + 0xb3, 0xcc, 0xc3, 0x38, 0x36, 0xd9, 0x34, 0xa2, 0x28, 0x68, 0x18, 0xea, + 0x1e, 0x69, 0xd3, 0xbd, 0xe7, 0xd0, 0x77, 0xda, 0xb8, 0x00, 0x83, 0x4e, + 0x4a, 0xcf, 0x6f, 0xd1, 0xf1, 0xc1, 0x22, 0x3f, 0x74, 0xe4, 0xf7, 0x98, + 0x49, 0x9e, 0x9b, 0xb6, 0x9e, 0xe1, 0xdb, 0x98, 0x77, 0x2d, 0x56, 0x34, + 0xb1, 0xa8, 0x3c, 0xd9, 0xfd, 0xc0, 0xcd, 0xc7, 0xbf, 0x05, 0x03, 0xd4, + 0x02, 0xc5, 0xf1, 0xe5, 0xc6, 0xda, 0x08, 0xa5, 0x13, 0xc7, 0x62, 0x23, + 0x11, 0xd1, 0x61, 0x30, 0x1d, 0x60, 0x84, 0x45, 0xef, 0x79, 0xa8, 0xc6, + 0x26, 0x93, 0xa4, 0xb7, 0xcd, 0x34, 0xb8, 0x69, 0xc5, 0x13, 0xf6, 0x91, + 0xb3, 0xc9, 0x45, 0x73, 0x76, 0xb6, 0x92, 0xf6, 0x76, 0x0a, 0x5b, 0xe1, + 0x03, 0x47, 0xb7, 0xe9, 0x29, 0x4c, 0x91, 0x32, 0x23, 0x37, 0x4a, 0x9c, + 0x35, 0xd8, 0x78, 0xfd, 0x1d, 0x1f, 0xe4, 0x83, 0x89, 0x24, 0x80, 0xad, + 0xb7, 0xf9, 0xcf, 0xe4, 0x5d, 0xa5, 0xd4, 0x71, 0xc4, 0x85, 0x5b, 0x70, + 0x1f, 0xdb, 0x3f, 0x1c, 0x01, 0xeb, 0x1a, 0x45, 0x26, 0x31, 0x14, 0xcc, + 0x65, 0xbf, 0x67, 0xde, 0xca, 0xcc, 0x33, 0x65, 0xe5, 0x41, 0x91, 0xd7, + 0x37, 0xbe, 0x41, 0x1a, 0x96, 0x9d, 0xe6, 0x8a, 0x97, 0x9d, 0xa7, 0xce, + 0xac, 0x4e, 0x9a, 0x3d, 0xbd, 0x01, 0xa0, 0x6a, 0xd9, 0x4f, 0x22, 0x00, + 0x8b, 0x44, 0xd5, 0x69, 0x62, 0x7b, 0x2e, 0xeb, 0xcc, 0xba, 0xe7, 0x92, + 0x7d, 0x69, 0x67, 0x3d, 0xfc, 0xb8, 0x7c, 0xde, 0x41, 0x87, 0xd0, 0x69, + 0xea, 0xba, 0x0a, 0x18, 0x7a, 0x1a, 0x95, 0x43, 0xb3, 0x79, 0x71, 0x28, + 0x76, 0x6d, 0xa1, 0xfb, 0x57, 0x4a, 0xec, 0x4d, 0xc8, 0x0e, 0x10, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2 + Validity + Not Before: May 3 07:00:00 2011 GMT + Not After : May 3 07:00:00 2031 GMT + Subject: C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., OU=http://certs.starfieldtech.com/repository/, CN=Starfield Secure Certificate Authority - G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:e5:90:66:4b:ec:f9:46:71:a9:20:83:be:e9:6c: + bf:4a:c9:48:69:81:75:4e:6d:24:f6:cb:17:13:f8: + b0:71:59:84:7a:6b:2b:85:a4:34:b5:16:e5:cb:cc: + e9:41:70:2c:a4:2e:d6:fa:32:7d:e1:a8:de:94:10: + ac:31:c1:c0:d8:6a:ff:59:27:ab:76:d6:fc:0b:74: + 6b:b8:a7:ae:3f:c4:54:f4:b4:31:44:dd:93:56:8c: + a4:4c:5e:9b:89:cb:24:83:9b:e2:57:7d:b7:d8:12: + 1f:c9:85:6d:f4:d1:80:f1:50:9b:87:ae:d4:0b:10: + 05:fb:27:ba:28:6d:17:e9:0e:d6:4d:b9:39:55:06: + ff:0a:24:05:7e:2f:c6:1d:72:6c:d4:8b:29:8c:57: + 7d:da:d9:eb:66:1a:d3:4f:a7:df:7f:52:c4:30:c5: + a5:c9:0e:02:c5:53:bf:77:38:68:06:24:c3:66:c8: + 37:7e:30:1e:45:71:23:35:ff:90:d8:2a:9d:8d:e7: + b0:92:4d:3c:7f:2a:0a:93:dc:cd:16:46:65:f7:60: + 84:8b:76:4b:91:27:73:14:92:e0:ea:ee:8f:16:ea: + 8d:0e:3e:76:17:bf:7d:89:80:80:44:43:e7:2d:e0: + 43:09:75:da:36:e8:ad:db:89:3a:f5:5d:12:8e:23: + 04:83 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 25:45:81:68:50:26:38:3D:3B:2D:2C:BE:CD:6A:D9:B6:3D:B3:66:63 + X509v3 Authority Key Identifier: + keyid:7C:0C:32:1F:A7:D9:30:7F:C4:7D:68:A3:62:A8:A1:CE:AB:07:5B:27 + + Authority Information Access: + OCSP - URI:http://ocsp.starfieldtech.com/ + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.starfieldtech.com/sfroot-g2.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: https://certs.starfieldtech.com/repository/ + + Signature Algorithm: sha256WithRSAEncryption + 56:65:ca:fe:f3:3f:0a:a8:93:8b:18:c7:de:43:69:13:34:20: + be:4e:5f:78:a8:6b:9c:db:6a:4d:41:db:c1:13:ec:dc:31:00: + 22:5e:f7:00:9e:0c:e0:34:65:34:f9:b1:3a:4e:48:c8:12:81: + 88:5c:5b:3e:08:53:7a:f7:1a:64:df:b8:50:61:cc:53:51:40: + 29:4b:c2:f4:ae:3a:5f:e4:ca:ad:26:cc:4e:61:43:e5:fd:57: + a6:37:70:ce:43:2b:b0:94:c3:92:e9:e1:5f:aa:10:49:b7:69: + e4:e0:d0:1f:64:a4:2b:cd:1f:6f:a0:f8:84:24:18:ce:79:3d: + a9:91:bf:54:18:13:89:99:54:11:0d:55:c5:26:0b:79:4f:5a: + 1c:6e:f9:63:db:14:80:a4:07:ab:fa:b2:a5:b9:88:dd:91:fe: + 65:3b:a4:a3:79:be:89:4d:e1:d0:b0:f4:c8:17:0c:0a:96:14: + 7c:09:b7:6c:e1:c2:d8:55:d4:18:a0:aa:41:69:70:24:a3:b9: + ef:e9:5a:dc:3e:eb:94:4a:f0:b7:de:5f:0e:76:fa:fb:fb:69: + 03:45:40:50:ee:72:0c:a4:12:86:81:cd:13:d1:4e:c4:3c:ca: + 4e:0d:d2:26:f1:00:b7:b4:a6:a2:e1:6e:7a:81:fd:30:ac:7a: + 1f:c7:59:7b +-----BEGIN CERTIFICATE----- +MIIFADCCA+igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAw +MFoXDTMxMDUwMzA3MDAwMFowgcYxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydHMuc3RhcmZpZWxk +dGVjaC5jb20vcmVwb3NpdG9yeS8xNDAyBgNVBAMTK1N0YXJmaWVsZCBTZWN1cmUg +Q2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDlkGZL7PlGcakgg77pbL9KyUhpgXVObST2yxcT+LBxWYR6ayuF +pDS1FuXLzOlBcCykLtb6Mn3hqN6UEKwxwcDYav9ZJ6t21vwLdGu4p64/xFT0tDFE +3ZNWjKRMXpuJyySDm+JXfbfYEh/JhW300YDxUJuHrtQLEAX7J7oobRfpDtZNuTlV +Bv8KJAV+L8YdcmzUiymMV33a2etmGtNPp99/UsQwxaXJDgLFU793OGgGJMNmyDd+ +MB5FcSM1/5DYKp2N57CSTTx/KgqT3M0WRmX3YISLdkuRJ3MUkuDq7o8W6o0OPnYX +v32JgIBEQ+ct4EMJddo26K3biTr1XRKOIwSDAgMBAAGjggEsMIIBKDAPBgNVHRMB +Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUJUWBaFAmOD07LSy+ +zWrZtj2zZmMwHwYDVR0jBBgwFoAUfAwyH6fZMH/EfWijYqihzqsHWycwOgYIKwYB +BQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5zdGFyZmllbGR0ZWNo +LmNvbS8wOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC5zdGFyZmllbGR0ZWNo +LmNvbS9zZnJvb3QtZzIuY3JsMEwGA1UdIARFMEMwQQYEVR0gADA5MDcGCCsGAQUF +BwIBFitodHRwczovL2NlcnRzLnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkv +MA0GCSqGSIb3DQEBCwUAA4IBAQBWZcr+8z8KqJOLGMfeQ2kTNCC+Tl94qGuc22pN +QdvBE+zcMQAiXvcAngzgNGU0+bE6TkjIEoGIXFs+CFN69xpk37hQYcxTUUApS8L0 +rjpf5MqtJsxOYUPl/VemN3DOQyuwlMOS6eFfqhBJt2nk4NAfZKQrzR9voPiEJBjO +eT2pkb9UGBOJmVQRDVXFJgt5T1ocbvlj2xSApAer+rKluYjdkf5lO6Sjeb6JTeHQ +sPTIFwwKlhR8Cbds4cLYVdQYoKpBaXAko7nv6VrcPuuUSvC33l8Odvr7+2kDRUBQ +7nIMpBKGgc0T0U7EPMpODdIm8QC3tKai4W56gf0wrHofx1l7 +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_40[] = { + 0x30, 0x82, 0x05, 0x00, 0x30, 0x82, 0x03, 0xe8, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x01, 0x07, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, 0x8f, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, + 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, + 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, + 0x6c, 0x65, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x1c, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, + 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, + 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x29, 0x53, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x1e, 0x17, + 0x0d, 0x31, 0x31, 0x30, 0x35, 0x30, 0x33, 0x30, 0x37, 0x30, 0x30, 0x30, + 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x35, 0x30, 0x33, 0x30, 0x37, + 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x81, 0xc6, 0x31, 0x0b, 0x30, 0x09, + 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, + 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, + 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x53, + 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x65, 0x63, + 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x33, 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x2a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, + 0x74, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x74, 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x31, 0x34, 0x30, 0x32, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2b, 0x53, 0x74, 0x61, 0x72, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, + 0x47, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe5, + 0x90, 0x66, 0x4b, 0xec, 0xf9, 0x46, 0x71, 0xa9, 0x20, 0x83, 0xbe, 0xe9, + 0x6c, 0xbf, 0x4a, 0xc9, 0x48, 0x69, 0x81, 0x75, 0x4e, 0x6d, 0x24, 0xf6, + 0xcb, 0x17, 0x13, 0xf8, 0xb0, 0x71, 0x59, 0x84, 0x7a, 0x6b, 0x2b, 0x85, + 0xa4, 0x34, 0xb5, 0x16, 0xe5, 0xcb, 0xcc, 0xe9, 0x41, 0x70, 0x2c, 0xa4, + 0x2e, 0xd6, 0xfa, 0x32, 0x7d, 0xe1, 0xa8, 0xde, 0x94, 0x10, 0xac, 0x31, + 0xc1, 0xc0, 0xd8, 0x6a, 0xff, 0x59, 0x27, 0xab, 0x76, 0xd6, 0xfc, 0x0b, + 0x74, 0x6b, 0xb8, 0xa7, 0xae, 0x3f, 0xc4, 0x54, 0xf4, 0xb4, 0x31, 0x44, + 0xdd, 0x93, 0x56, 0x8c, 0xa4, 0x4c, 0x5e, 0x9b, 0x89, 0xcb, 0x24, 0x83, + 0x9b, 0xe2, 0x57, 0x7d, 0xb7, 0xd8, 0x12, 0x1f, 0xc9, 0x85, 0x6d, 0xf4, + 0xd1, 0x80, 0xf1, 0x50, 0x9b, 0x87, 0xae, 0xd4, 0x0b, 0x10, 0x05, 0xfb, + 0x27, 0xba, 0x28, 0x6d, 0x17, 0xe9, 0x0e, 0xd6, 0x4d, 0xb9, 0x39, 0x55, + 0x06, 0xff, 0x0a, 0x24, 0x05, 0x7e, 0x2f, 0xc6, 0x1d, 0x72, 0x6c, 0xd4, + 0x8b, 0x29, 0x8c, 0x57, 0x7d, 0xda, 0xd9, 0xeb, 0x66, 0x1a, 0xd3, 0x4f, + 0xa7, 0xdf, 0x7f, 0x52, 0xc4, 0x30, 0xc5, 0xa5, 0xc9, 0x0e, 0x02, 0xc5, + 0x53, 0xbf, 0x77, 0x38, 0x68, 0x06, 0x24, 0xc3, 0x66, 0xc8, 0x37, 0x7e, + 0x30, 0x1e, 0x45, 0x71, 0x23, 0x35, 0xff, 0x90, 0xd8, 0x2a, 0x9d, 0x8d, + 0xe7, 0xb0, 0x92, 0x4d, 0x3c, 0x7f, 0x2a, 0x0a, 0x93, 0xdc, 0xcd, 0x16, + 0x46, 0x65, 0xf7, 0x60, 0x84, 0x8b, 0x76, 0x4b, 0x91, 0x27, 0x73, 0x14, + 0x92, 0xe0, 0xea, 0xee, 0x8f, 0x16, 0xea, 0x8d, 0x0e, 0x3e, 0x76, 0x17, + 0xbf, 0x7d, 0x89, 0x80, 0x80, 0x44, 0x43, 0xe7, 0x2d, 0xe0, 0x43, 0x09, + 0x75, 0xda, 0x36, 0xe8, 0xad, 0xdb, 0x89, 0x3a, 0xf5, 0x5d, 0x12, 0x8e, + 0x23, 0x04, 0x83, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x2c, + 0x30, 0x82, 0x01, 0x28, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0x25, 0x45, 0x81, 0x68, 0x50, 0x26, 0x38, 0x3d, 0x3b, 0x2d, 0x2c, 0xbe, + 0xcd, 0x6a, 0xd9, 0xb6, 0x3d, 0xb3, 0x66, 0x63, 0x30, 0x1f, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7c, 0x0c, 0x32, + 0x1f, 0xa7, 0xd9, 0x30, 0x7f, 0xc4, 0x7d, 0x68, 0xa3, 0x62, 0xa8, 0xa1, + 0xce, 0xab, 0x07, 0x5b, 0x27, 0x30, 0x3a, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x2e, 0x30, 0x2c, 0x30, 0x2a, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x1e, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x74, 0x65, 0x63, 0x68, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x3b, 0x06, 0x03, 0x55, 0x1d, 0x1f, + 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0xa0, 0x2e, 0xa0, 0x2c, 0x86, 0x2a, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x74, 0x65, 0x63, 0x68, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x66, 0x72, 0x6f, 0x6f, 0x74, 0x2d, + 0x67, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, + 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, 0x41, 0x06, 0x04, 0x55, 0x1d, 0x20, + 0x00, 0x30, 0x39, 0x30, 0x37, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x2b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x74, 0x65, 0x63, 0x68, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x56, 0x65, 0xca, 0xfe, + 0xf3, 0x3f, 0x0a, 0xa8, 0x93, 0x8b, 0x18, 0xc7, 0xde, 0x43, 0x69, 0x13, + 0x34, 0x20, 0xbe, 0x4e, 0x5f, 0x78, 0xa8, 0x6b, 0x9c, 0xdb, 0x6a, 0x4d, + 0x41, 0xdb, 0xc1, 0x13, 0xec, 0xdc, 0x31, 0x00, 0x22, 0x5e, 0xf7, 0x00, + 0x9e, 0x0c, 0xe0, 0x34, 0x65, 0x34, 0xf9, 0xb1, 0x3a, 0x4e, 0x48, 0xc8, + 0x12, 0x81, 0x88, 0x5c, 0x5b, 0x3e, 0x08, 0x53, 0x7a, 0xf7, 0x1a, 0x64, + 0xdf, 0xb8, 0x50, 0x61, 0xcc, 0x53, 0x51, 0x40, 0x29, 0x4b, 0xc2, 0xf4, + 0xae, 0x3a, 0x5f, 0xe4, 0xca, 0xad, 0x26, 0xcc, 0x4e, 0x61, 0x43, 0xe5, + 0xfd, 0x57, 0xa6, 0x37, 0x70, 0xce, 0x43, 0x2b, 0xb0, 0x94, 0xc3, 0x92, + 0xe9, 0xe1, 0x5f, 0xaa, 0x10, 0x49, 0xb7, 0x69, 0xe4, 0xe0, 0xd0, 0x1f, + 0x64, 0xa4, 0x2b, 0xcd, 0x1f, 0x6f, 0xa0, 0xf8, 0x84, 0x24, 0x18, 0xce, + 0x79, 0x3d, 0xa9, 0x91, 0xbf, 0x54, 0x18, 0x13, 0x89, 0x99, 0x54, 0x11, + 0x0d, 0x55, 0xc5, 0x26, 0x0b, 0x79, 0x4f, 0x5a, 0x1c, 0x6e, 0xf9, 0x63, + 0xdb, 0x14, 0x80, 0xa4, 0x07, 0xab, 0xfa, 0xb2, 0xa5, 0xb9, 0x88, 0xdd, + 0x91, 0xfe, 0x65, 0x3b, 0xa4, 0xa3, 0x79, 0xbe, 0x89, 0x4d, 0xe1, 0xd0, + 0xb0, 0xf4, 0xc8, 0x17, 0x0c, 0x0a, 0x96, 0x14, 0x7c, 0x09, 0xb7, 0x6c, + 0xe1, 0xc2, 0xd8, 0x55, 0xd4, 0x18, 0xa0, 0xaa, 0x41, 0x69, 0x70, 0x24, + 0xa3, 0xb9, 0xef, 0xe9, 0x5a, 0xdc, 0x3e, 0xeb, 0x94, 0x4a, 0xf0, 0xb7, + 0xde, 0x5f, 0x0e, 0x76, 0xfa, 0xfb, 0xfb, 0x69, 0x03, 0x45, 0x40, 0x50, + 0xee, 0x72, 0x0c, 0xa4, 0x12, 0x86, 0x81, 0xcd, 0x13, 0xd1, 0x4e, 0xc4, + 0x3c, 0xca, 0x4e, 0x0d, 0xd2, 0x26, 0xf1, 0x00, 0xb7, 0xb4, 0xa6, 0xa2, + 0xe1, 0x6e, 0x7a, 0x81, 0xfd, 0x30, 0xac, 0x7a, 0x1f, 0xc7, 0x59, 0x7b, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1372807406 (0x51d360ee) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2 + Validity + Not Before: Oct 22 17:05:14 2014 GMT + Not After : Oct 23 07:33:22 2024 GMT + Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Certification Authority - L1K + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:da:3f:96:d0:4d:b9:2f:44:e7:db:39:5e:9b:50: + ee:5c:a5:61:da:41:67:53:09:aa:00:9a:8e:57:7f: + 29:6b:db:c7:e1:21:24:aa:3a:d0:8d:47:23:d2:ed: + 72:16:f0:91:21:d2:5d:b7:b8:4b:a8:83:8f:b7:91: + 32:68:cf:ce:25:93:2c:b2:7d:97:c8:fe:c1:b4:17: + ba:09:9e:03:90:93:7b:7c:49:83:22:68:8a:9b:de: + 47:c3:31:98:7a:2e:7d:40:0b:d2:ef:3e:d3:b2:8c: + aa:8f:48:a9:ff:00:e8:29:58:06:f7:b6:93:5a:94: + 73:26:26:ad:58:0e:e5:42:b8:d5:ea:73:79:64:68: + 53:25:b8:84:cf:94:7a:ae:06:45:0c:a3:6b:4d:d0: + c6:be:ea:18:a4:36:f0:92:b2:ba:1c:88:8f:3a:52: + 7f:f7:5e:6d:83:1c:9d:f0:1f:e5:c3:d6:dd:a5:78: + 92:3d:b0:6d:2c:ea:c9:cf:94:41:19:71:44:68:ba: + 47:3c:04:e9:5d:ba:3e:f0:35:f7:15:b6:9e:f2:2e: + 15:1e:3f:47:c8:c8:38:a7:73:45:5d:4d:b0:3b:b1: + 8e:17:29:37:ea:dd:05:01:22:bb:94:36:2a:8d:5b: + 35:fe:53:19:2f:08:46:c1:2a:b3:1a:62:1d:4e:2b: + d9:1b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: + CA:TRUE, pathlen:0 + Authority Information Access: + OCSP - URI:http://ocsp.entrust.net + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.entrust.net/g2ca.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.entrust.net/rpa + + X509v3 Subject Key Identifier: + 82:A2:70:74:DD:BC:53:3F:CF:7B:D4:F7:CD:7F:A7:60:C6:0A:4C:BF + X509v3 Authority Key Identifier: + keyid:6A:72:26:7A:D0:1E:EF:7D:E7:3B:69:51:D4:6C:8D:9F:90:12:66:AB + + Signature Algorithm: sha256WithRSAEncryption + 3f:1c:1a:5b:ff:40:22:1d:8f:35:0c:2d:aa:99:27:ab:c0:11: + 32:70:d7:36:28:69:a5:8d:b1:27:99:42:be:c4:93:eb:48:57: + 43:71:23:c4:e5:4e:ad:ae:43:6f:92:76:c5:19:ef:ca:bc:6f: + 42:4c:16:9a:86:a9:04:38:c7:65:f0:f5:0c:e0:4a:df:a2:fa: + ce:1a:11:a8:9c:69:2f:1b:df:ea:e2:32:f3:ce:4c:bc:46:0c: + c0:89:80:d1:87:6b:a2:cf:6b:d4:7f:fd:f5:60:52:67:57:a0: + 6d:d1:64:41:14:6d:34:62:ed:06:6c:24:f2:06:bc:28:02:af: + 03:2d:c2:33:05:fb:cb:aa:16:e8:65:10:43:f5:69:5c:e3:81: + 58:99:cd:6b:d3:b8:c7:7b:19:55:c9:40:ce:79:55:b8:73:89: + e9:5c:40:66:43:12:7f:07:b8:65:56:d5:8d:c3:a7:f5:b1:b6: + 65:9e:c0:83:36:7f:16:45:3c:74:4b:93:8a:3c:f1:2b:f5:35: + 70:73:7b:e7:82:04:b1:18:98:0e:d4:9c:6f:1a:fc:fc:a7:33: + a5:bb:bb:18:f3:6b:7a:5d:32:87:f7:6d:25:e4:e2:76:86:21: + 1e:11:46:cd:76:0e:6f:4f:a4:21:71:0a:84:a7:2d:36:a9:48: + 22:51:7e:82 +-----BEGIN CERTIFICATE----- +MIIFAzCCA+ugAwIBAgIEUdNg7jANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMTQxMDIyMTcw +NTE0WhcNMjQxMDIzMDczMzIyWjCBujELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEuMCwGA1UEAxMlRW50cnVzdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eSAtIEwxSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANo/ltBNuS9E59s5XptQ7lylYdpBZ1MJqgCajld/KWvbx+EhJKo60I1HI9Ltchbw +kSHSXbe4S6iDj7eRMmjPziWTLLJ9l8j+wbQXugmeA5CTe3xJgyJoipveR8MxmHou +fUAL0u8+07KMqo9Iqf8A6ClYBve2k1qUcyYmrVgO5UK41epzeWRoUyW4hM+Ueq4G +RQyja03Qxr7qGKQ28JKyuhyIjzpSf/debYMcnfAf5cPW3aV4kj2wbSzqyc+UQRlx +RGi6RzwE6V26PvA19xW2nvIuFR4/R8jIOKdzRV1NsDuxjhcpN+rdBQEiu5Q2Ko1b +Nf5TGS8IRsEqsxpiHU4r2RsCAwEAAaOCAQkwggEFMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMECDAGAQH/AgEAMDMGCCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAYYXaHR0 +cDovL29jc3AuZW50cnVzdC5uZXQwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL2Ny +bC5lbnRydXN0Lm5ldC9nMmNhLmNybDA7BgNVHSAENDAyMDAGBFUdIAAwKDAmBggr +BgEFBQcCARYaaHR0cDovL3d3dy5lbnRydXN0Lm5ldC9ycGEwHQYDVR0OBBYEFIKi +cHTdvFM/z3vU981/p2DGCky/MB8GA1UdIwQYMBaAFGpyJnrQHu995ztpUdRsjZ+Q +EmarMA0GCSqGSIb3DQEBCwUAA4IBAQA/HBpb/0AiHY81DC2qmSerwBEycNc2KGml +jbEnmUK+xJPrSFdDcSPE5U6trkNvknbFGe/KvG9CTBaahqkEOMdl8PUM4ErfovrO +GhGonGkvG9/q4jLzzky8RgzAiYDRh2uiz2vUf/31YFJnV6Bt0WRBFG00Yu0GbCTy +BrwoAq8DLcIzBfvLqhboZRBD9Wlc44FYmc1r07jHexlVyUDOeVW4c4npXEBmQxJ/ +B7hlVtWNw6f1sbZlnsCDNn8WRTx0S5OKPPEr9TVwc3vnggSxGJgO1JxvGvz8pzOl +u7sY82t6XTKH920l5OJ2hiEeEUbNdg5vT6QhcQqEpy02qUgiUX6C +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_41[] = { + 0x30, 0x82, 0x05, 0x03, 0x30, 0x82, 0x03, 0xeb, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x51, 0xd3, 0x60, 0xee, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xbe, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0d, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, + 0x1f, 0x53, 0x65, 0x65, 0x20, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x6c, 0x65, 0x67, + 0x61, 0x6c, 0x2d, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x31, 0x39, 0x30, 0x37, + 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, + 0x30, 0x30, 0x39, 0x20, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, + 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, + 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x32, 0x30, 0x30, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x31, 0x30, 0x32, 0x32, 0x31, 0x37, 0x30, + 0x35, 0x31, 0x34, 0x5a, 0x17, 0x0d, 0x32, 0x34, 0x31, 0x30, 0x32, 0x33, + 0x30, 0x37, 0x33, 0x33, 0x32, 0x32, 0x5a, 0x30, 0x81, 0xba, 0x31, 0x0b, + 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, + 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x45, 0x6e, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, + 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, 0x53, 0x65, + 0x65, 0x20, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x2d, + 0x74, 0x65, 0x72, 0x6d, 0x73, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, 0x32, + 0x20, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, + 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x25, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x20, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, + 0x20, 0x4c, 0x31, 0x4b, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, + 0x00, 0xda, 0x3f, 0x96, 0xd0, 0x4d, 0xb9, 0x2f, 0x44, 0xe7, 0xdb, 0x39, + 0x5e, 0x9b, 0x50, 0xee, 0x5c, 0xa5, 0x61, 0xda, 0x41, 0x67, 0x53, 0x09, + 0xaa, 0x00, 0x9a, 0x8e, 0x57, 0x7f, 0x29, 0x6b, 0xdb, 0xc7, 0xe1, 0x21, + 0x24, 0xaa, 0x3a, 0xd0, 0x8d, 0x47, 0x23, 0xd2, 0xed, 0x72, 0x16, 0xf0, + 0x91, 0x21, 0xd2, 0x5d, 0xb7, 0xb8, 0x4b, 0xa8, 0x83, 0x8f, 0xb7, 0x91, + 0x32, 0x68, 0xcf, 0xce, 0x25, 0x93, 0x2c, 0xb2, 0x7d, 0x97, 0xc8, 0xfe, + 0xc1, 0xb4, 0x17, 0xba, 0x09, 0x9e, 0x03, 0x90, 0x93, 0x7b, 0x7c, 0x49, + 0x83, 0x22, 0x68, 0x8a, 0x9b, 0xde, 0x47, 0xc3, 0x31, 0x98, 0x7a, 0x2e, + 0x7d, 0x40, 0x0b, 0xd2, 0xef, 0x3e, 0xd3, 0xb2, 0x8c, 0xaa, 0x8f, 0x48, + 0xa9, 0xff, 0x00, 0xe8, 0x29, 0x58, 0x06, 0xf7, 0xb6, 0x93, 0x5a, 0x94, + 0x73, 0x26, 0x26, 0xad, 0x58, 0x0e, 0xe5, 0x42, 0xb8, 0xd5, 0xea, 0x73, + 0x79, 0x64, 0x68, 0x53, 0x25, 0xb8, 0x84, 0xcf, 0x94, 0x7a, 0xae, 0x06, + 0x45, 0x0c, 0xa3, 0x6b, 0x4d, 0xd0, 0xc6, 0xbe, 0xea, 0x18, 0xa4, 0x36, + 0xf0, 0x92, 0xb2, 0xba, 0x1c, 0x88, 0x8f, 0x3a, 0x52, 0x7f, 0xf7, 0x5e, + 0x6d, 0x83, 0x1c, 0x9d, 0xf0, 0x1f, 0xe5, 0xc3, 0xd6, 0xdd, 0xa5, 0x78, + 0x92, 0x3d, 0xb0, 0x6d, 0x2c, 0xea, 0xc9, 0xcf, 0x94, 0x41, 0x19, 0x71, + 0x44, 0x68, 0xba, 0x47, 0x3c, 0x04, 0xe9, 0x5d, 0xba, 0x3e, 0xf0, 0x35, + 0xf7, 0x15, 0xb6, 0x9e, 0xf2, 0x2e, 0x15, 0x1e, 0x3f, 0x47, 0xc8, 0xc8, + 0x38, 0xa7, 0x73, 0x45, 0x5d, 0x4d, 0xb0, 0x3b, 0xb1, 0x8e, 0x17, 0x29, + 0x37, 0xea, 0xdd, 0x05, 0x01, 0x22, 0xbb, 0x94, 0x36, 0x2a, 0x8d, 0x5b, + 0x35, 0xfe, 0x53, 0x19, 0x2f, 0x08, 0x46, 0xc1, 0x2a, 0xb3, 0x1a, 0x62, + 0x1d, 0x4e, 0x2b, 0xd9, 0x1b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x09, 0x30, 0x82, 0x01, 0x05, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x0f, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, + 0x02, 0x01, 0x00, 0x30, 0x33, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x27, 0x30, 0x25, 0x30, 0x23, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x17, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x65, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x30, 0x30, 0x06, 0x03, + 0x55, 0x1d, 0x1f, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, 0xa0, 0x23, 0xa0, + 0x21, 0x86, 0x1f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, + 0x6c, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, + 0x74, 0x2f, 0x67, 0x32, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3b, + 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0x06, + 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x70, 0x61, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x82, 0xa2, + 0x70, 0x74, 0xdd, 0xbc, 0x53, 0x3f, 0xcf, 0x7b, 0xd4, 0xf7, 0xcd, 0x7f, + 0xa7, 0x60, 0xc6, 0x0a, 0x4c, 0xbf, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x6a, 0x72, 0x26, 0x7a, 0xd0, + 0x1e, 0xef, 0x7d, 0xe7, 0x3b, 0x69, 0x51, 0xd4, 0x6c, 0x8d, 0x9f, 0x90, + 0x12, 0x66, 0xab, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x3f, + 0x1c, 0x1a, 0x5b, 0xff, 0x40, 0x22, 0x1d, 0x8f, 0x35, 0x0c, 0x2d, 0xaa, + 0x99, 0x27, 0xab, 0xc0, 0x11, 0x32, 0x70, 0xd7, 0x36, 0x28, 0x69, 0xa5, + 0x8d, 0xb1, 0x27, 0x99, 0x42, 0xbe, 0xc4, 0x93, 0xeb, 0x48, 0x57, 0x43, + 0x71, 0x23, 0xc4, 0xe5, 0x4e, 0xad, 0xae, 0x43, 0x6f, 0x92, 0x76, 0xc5, + 0x19, 0xef, 0xca, 0xbc, 0x6f, 0x42, 0x4c, 0x16, 0x9a, 0x86, 0xa9, 0x04, + 0x38, 0xc7, 0x65, 0xf0, 0xf5, 0x0c, 0xe0, 0x4a, 0xdf, 0xa2, 0xfa, 0xce, + 0x1a, 0x11, 0xa8, 0x9c, 0x69, 0x2f, 0x1b, 0xdf, 0xea, 0xe2, 0x32, 0xf3, + 0xce, 0x4c, 0xbc, 0x46, 0x0c, 0xc0, 0x89, 0x80, 0xd1, 0x87, 0x6b, 0xa2, + 0xcf, 0x6b, 0xd4, 0x7f, 0xfd, 0xf5, 0x60, 0x52, 0x67, 0x57, 0xa0, 0x6d, + 0xd1, 0x64, 0x41, 0x14, 0x6d, 0x34, 0x62, 0xed, 0x06, 0x6c, 0x24, 0xf2, + 0x06, 0xbc, 0x28, 0x02, 0xaf, 0x03, 0x2d, 0xc2, 0x33, 0x05, 0xfb, 0xcb, + 0xaa, 0x16, 0xe8, 0x65, 0x10, 0x43, 0xf5, 0x69, 0x5c, 0xe3, 0x81, 0x58, + 0x99, 0xcd, 0x6b, 0xd3, 0xb8, 0xc7, 0x7b, 0x19, 0x55, 0xc9, 0x40, 0xce, + 0x79, 0x55, 0xb8, 0x73, 0x89, 0xe9, 0x5c, 0x40, 0x66, 0x43, 0x12, 0x7f, + 0x07, 0xb8, 0x65, 0x56, 0xd5, 0x8d, 0xc3, 0xa7, 0xf5, 0xb1, 0xb6, 0x65, + 0x9e, 0xc0, 0x83, 0x36, 0x7f, 0x16, 0x45, 0x3c, 0x74, 0x4b, 0x93, 0x8a, + 0x3c, 0xf1, 0x2b, 0xf5, 0x35, 0x70, 0x73, 0x7b, 0xe7, 0x82, 0x04, 0xb1, + 0x18, 0x98, 0x0e, 0xd4, 0x9c, 0x6f, 0x1a, 0xfc, 0xfc, 0xa7, 0x33, 0xa5, + 0xbb, 0xbb, 0x18, 0xf3, 0x6b, 0x7a, 0x5d, 0x32, 0x87, 0xf7, 0x6d, 0x25, + 0xe4, 0xe2, 0x76, 0x86, 0x21, 0x1e, 0x11, 0x46, 0xcd, 0x76, 0x0e, 0x6f, + 0x4f, 0xa4, 0x21, 0x71, 0x0a, 0x84, 0xa7, 0x2d, 0x36, 0xa9, 0x48, 0x22, + 0x51, 0x7e, 0x82, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 0e:e9:4c:c3:00:00:00:00:51:d3:77:85 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2 + Validity + Not Before: Oct 5 19:13:56 2015 GMT + Not After : Dec 5 19:43:56 2030 GMT + Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Certification Authority - L1K + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:da:3f:96:d0:4d:b9:2f:44:e7:db:39:5e:9b:50: + ee:5c:a5:61:da:41:67:53:09:aa:00:9a:8e:57:7f: + 29:6b:db:c7:e1:21:24:aa:3a:d0:8d:47:23:d2:ed: + 72:16:f0:91:21:d2:5d:b7:b8:4b:a8:83:8f:b7:91: + 32:68:cf:ce:25:93:2c:b2:7d:97:c8:fe:c1:b4:17: + ba:09:9e:03:90:93:7b:7c:49:83:22:68:8a:9b:de: + 47:c3:31:98:7a:2e:7d:40:0b:d2:ef:3e:d3:b2:8c: + aa:8f:48:a9:ff:00:e8:29:58:06:f7:b6:93:5a:94: + 73:26:26:ad:58:0e:e5:42:b8:d5:ea:73:79:64:68: + 53:25:b8:84:cf:94:7a:ae:06:45:0c:a3:6b:4d:d0: + c6:be:ea:18:a4:36:f0:92:b2:ba:1c:88:8f:3a:52: + 7f:f7:5e:6d:83:1c:9d:f0:1f:e5:c3:d6:dd:a5:78: + 92:3d:b0:6d:2c:ea:c9:cf:94:41:19:71:44:68:ba: + 47:3c:04:e9:5d:ba:3e:f0:35:f7:15:b6:9e:f2:2e: + 15:1e:3f:47:c8:c8:38:a7:73:45:5d:4d:b0:3b:b1: + 8e:17:29:37:ea:dd:05:01:22:bb:94:36:2a:8d:5b: + 35:fe:53:19:2f:08:46:c1:2a:b3:1a:62:1d:4e:2b: + d9:1b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + Authority Information Access: + OCSP - URI:http://ocsp.entrust.net + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.entrust.net/g2ca.crl + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.entrust.net/rpa + + X509v3 Subject Key Identifier: + 82:A2:70:74:DD:BC:53:3F:CF:7B:D4:F7:CD:7F:A7:60:C6:0A:4C:BF + X509v3 Authority Key Identifier: + keyid:6A:72:26:7A:D0:1E:EF:7D:E7:3B:69:51:D4:6C:8D:9F:90:12:66:AB + + Signature Algorithm: sha256WithRSAEncryption + 39:d5:8e:98:83:61:c8:2c:63:d3:70:1d:19:30:cb:f6:09:ac: + cc:69:d5:c9:dc:37:41:f2:32:0f:ef:74:c3:58:f6:78:27:09: + 34:08:95:92:2f:d7:df:b8:a3:fd:0e:81:e9:a4:9c:d3:3f:4d: + 68:2b:15:31:0a:15:cc:52:04:93:e8:93:50:c3:d9:b1:e2:e1: + 68:b7:3a:09:74:f1:34:58:0a:3f:77:98:40:b8:e6:68:ff:5d: + e4:c8:46:c5:ec:81:d7:c9:82:18:5c:83:ce:71:d8:bc:bf:ac: + 99:02:93:db:94:98:84:d2:9c:a6:b5:fe:5c:bb:f0:4a:af:21: + ac:c2:3f:49:24:67:d6:2e:8e:cf:ac:cc:64:15:18:72:e5:6c: + 77:d3:52:a8:b9:dd:8d:ac:00:4a:35:19:d4:6f:73:a3:75:ef: + 6b:64:c3:e0:8d:83:12:a1:8a:e7:0e:86:4d:d8:b4:20:1b:be: + 6a:a5:8c:4b:68:66:e3:2b:c7:58:0b:fb:56:10:d4:91:fb:1d: + d3:31:58:10:8c:44:e3:75:7b:10:9d:b5:38:b1:f6:aa:ca:81: + 64:6c:e8:f2:e2:81:55:97:51:7f:e1:c2:27:50:a2:c9:3c:5b: + 00:43:f6:5b:b9:d5:a5:fc:ff:07:50:40:67:07:b0:55:f0:b7: + 7e:6e:2d:cc +-----BEGIN CERTIFICATE----- +MIIFDjCCA/agAwIBAgIMDulMwwAAAABR03eFMA0GCSqGSIb3DQEBCwUAMIG+MQsw +CQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2Vl +IHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkg +RW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQD +EylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjAeFw0x +NTEwMDUxOTEzNTZaFw0zMDEyMDUxOTQzNTZaMIG6MQswCQYDVQQGEwJVUzEWMBQG +A1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5l +dC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTIgRW50cnVzdCwgSW5jLiAt +IGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IC0gTDFLMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA2j+W0E25L0Tn2zlem1DuXKVh2kFnUwmqAJqOV38pa9vH4SEkqjrQ +jUcj0u1yFvCRIdJdt7hLqIOPt5EyaM/OJZMssn2XyP7BtBe6CZ4DkJN7fEmDImiK +m95HwzGYei59QAvS7z7Tsoyqj0ip/wDoKVgG97aTWpRzJiatWA7lQrjV6nN5ZGhT +JbiEz5R6rgZFDKNrTdDGvuoYpDbwkrK6HIiPOlJ/915tgxyd8B/lw9bdpXiSPbBt +LOrJz5RBGXFEaLpHPATpXbo+8DX3Fbae8i4VHj9HyMg4p3NFXU2wO7GOFyk36t0F +ASK7lDYqjVs1/lMZLwhGwSqzGmIdTivZGwIDAQABo4IBDDCCAQgwDgYDVR0PAQH/ +BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwMwYIKwYBBQUHAQEEJzAlMCMGCCsG +AQUFBzABhhdodHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAwBgNVHR8EKTAnMCWgI6Ah +hh9odHRwOi8vY3JsLmVudHJ1c3QubmV0L2cyY2EuY3JsMDsGA1UdIAQ0MDIwMAYE +VR0gADAoMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3LmVudHJ1c3QubmV0L3JwYTAd +BgNVHQ4EFgQUgqJwdN28Uz/Pe9T3zX+nYMYKTL8wHwYDVR0jBBgwFoAUanImetAe +733nO2lR1GyNn5ASZqswDQYJKoZIhvcNAQELBQADggEBADnVjpiDYcgsY9NwHRkw +y/YJrMxp1cncN0HyMg/vdMNY9ngnCTQIlZIv19+4o/0OgemknNM/TWgrFTEKFcxS +BJPok1DD2bHi4Wi3Ogl08TRYCj93mEC45mj/XeTIRsXsgdfJghhcg85x2Ly/rJkC +k9uUmITSnKa1/ly78EqvIazCP0kkZ9Yujs+szGQVGHLlbHfTUqi53Y2sAEo1GdRv +c6N172tkw+CNgxKhiucOhk3YtCAbvmqljEtoZuMrx1gL+1YQ1JH7HdMxWBCMRON1 +exCdtTix9qrKgWRs6PLigVWXUX/hwidQosk8WwBD9lu51aX8/wdQQGcHsFXwt35u +Lcw= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_42[] = { + 0x30, 0x82, 0x05, 0x0e, 0x30, 0x82, 0x03, 0xf6, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0c, 0x0e, 0xe9, 0x4c, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x51, + 0xd3, 0x77, 0x85, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, 0xbe, 0x31, 0x0b, 0x30, + 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, + 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x45, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x28, + 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, 0x53, 0x65, 0x65, + 0x20, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x2d, 0x74, + 0x65, 0x72, 0x6d, 0x73, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x30, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x39, 0x20, + 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, + 0x2e, 0x20, 0x2d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, + 0x6e, 0x6c, 0x79, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x29, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x20, 0x52, 0x6f, + 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x35, 0x31, 0x30, 0x30, 0x35, 0x31, 0x39, 0x31, 0x33, 0x35, 0x36, 0x5a, + 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x35, 0x31, 0x39, 0x34, 0x33, + 0x35, 0x36, 0x5a, 0x30, 0x81, 0xba, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, + 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, + 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x28, 0x30, 0x26, 0x06, + 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1f, 0x53, 0x65, 0x65, 0x20, 0x77, 0x77, + 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, + 0x74, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x2d, 0x74, 0x65, 0x72, 0x6d, + 0x73, 0x31, 0x39, 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x30, + 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, 0x32, 0x20, 0x45, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x25, 0x45, + 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x4c, 0x31, 0x4b, + 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, + 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xda, 0x3f, 0x96, + 0xd0, 0x4d, 0xb9, 0x2f, 0x44, 0xe7, 0xdb, 0x39, 0x5e, 0x9b, 0x50, 0xee, + 0x5c, 0xa5, 0x61, 0xda, 0x41, 0x67, 0x53, 0x09, 0xaa, 0x00, 0x9a, 0x8e, + 0x57, 0x7f, 0x29, 0x6b, 0xdb, 0xc7, 0xe1, 0x21, 0x24, 0xaa, 0x3a, 0xd0, + 0x8d, 0x47, 0x23, 0xd2, 0xed, 0x72, 0x16, 0xf0, 0x91, 0x21, 0xd2, 0x5d, + 0xb7, 0xb8, 0x4b, 0xa8, 0x83, 0x8f, 0xb7, 0x91, 0x32, 0x68, 0xcf, 0xce, + 0x25, 0x93, 0x2c, 0xb2, 0x7d, 0x97, 0xc8, 0xfe, 0xc1, 0xb4, 0x17, 0xba, + 0x09, 0x9e, 0x03, 0x90, 0x93, 0x7b, 0x7c, 0x49, 0x83, 0x22, 0x68, 0x8a, + 0x9b, 0xde, 0x47, 0xc3, 0x31, 0x98, 0x7a, 0x2e, 0x7d, 0x40, 0x0b, 0xd2, + 0xef, 0x3e, 0xd3, 0xb2, 0x8c, 0xaa, 0x8f, 0x48, 0xa9, 0xff, 0x00, 0xe8, + 0x29, 0x58, 0x06, 0xf7, 0xb6, 0x93, 0x5a, 0x94, 0x73, 0x26, 0x26, 0xad, + 0x58, 0x0e, 0xe5, 0x42, 0xb8, 0xd5, 0xea, 0x73, 0x79, 0x64, 0x68, 0x53, + 0x25, 0xb8, 0x84, 0xcf, 0x94, 0x7a, 0xae, 0x06, 0x45, 0x0c, 0xa3, 0x6b, + 0x4d, 0xd0, 0xc6, 0xbe, 0xea, 0x18, 0xa4, 0x36, 0xf0, 0x92, 0xb2, 0xba, + 0x1c, 0x88, 0x8f, 0x3a, 0x52, 0x7f, 0xf7, 0x5e, 0x6d, 0x83, 0x1c, 0x9d, + 0xf0, 0x1f, 0xe5, 0xc3, 0xd6, 0xdd, 0xa5, 0x78, 0x92, 0x3d, 0xb0, 0x6d, + 0x2c, 0xea, 0xc9, 0xcf, 0x94, 0x41, 0x19, 0x71, 0x44, 0x68, 0xba, 0x47, + 0x3c, 0x04, 0xe9, 0x5d, 0xba, 0x3e, 0xf0, 0x35, 0xf7, 0x15, 0xb6, 0x9e, + 0xf2, 0x2e, 0x15, 0x1e, 0x3f, 0x47, 0xc8, 0xc8, 0x38, 0xa7, 0x73, 0x45, + 0x5d, 0x4d, 0xb0, 0x3b, 0xb1, 0x8e, 0x17, 0x29, 0x37, 0xea, 0xdd, 0x05, + 0x01, 0x22, 0xbb, 0x94, 0x36, 0x2a, 0x8d, 0x5b, 0x35, 0xfe, 0x53, 0x19, + 0x2f, 0x08, 0x46, 0xc1, 0x2a, 0xb3, 0x1a, 0x62, 0x1d, 0x4e, 0x2b, 0xd9, + 0x1b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x0c, 0x30, 0x82, + 0x01, 0x08, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x33, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x01, 0x01, 0x04, 0x27, 0x30, 0x25, 0x30, 0x23, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x17, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x65, 0x6e, 0x74, 0x72, + 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x30, 0x30, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, 0xa0, 0x23, 0xa0, 0x21, + 0x86, 0x1f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, + 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, + 0x2f, 0x67, 0x32, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x3b, 0x06, + 0x03, 0x55, 0x1d, 0x20, 0x04, 0x34, 0x30, 0x32, 0x30, 0x30, 0x06, 0x04, + 0x55, 0x1d, 0x20, 0x00, 0x30, 0x28, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x72, 0x70, 0x61, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x82, 0xa2, 0x70, + 0x74, 0xdd, 0xbc, 0x53, 0x3f, 0xcf, 0x7b, 0xd4, 0xf7, 0xcd, 0x7f, 0xa7, + 0x60, 0xc6, 0x0a, 0x4c, 0xbf, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x6a, 0x72, 0x26, 0x7a, 0xd0, 0x1e, + 0xef, 0x7d, 0xe7, 0x3b, 0x69, 0x51, 0xd4, 0x6c, 0x8d, 0x9f, 0x90, 0x12, + 0x66, 0xab, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x39, 0xd5, + 0x8e, 0x98, 0x83, 0x61, 0xc8, 0x2c, 0x63, 0xd3, 0x70, 0x1d, 0x19, 0x30, + 0xcb, 0xf6, 0x09, 0xac, 0xcc, 0x69, 0xd5, 0xc9, 0xdc, 0x37, 0x41, 0xf2, + 0x32, 0x0f, 0xef, 0x74, 0xc3, 0x58, 0xf6, 0x78, 0x27, 0x09, 0x34, 0x08, + 0x95, 0x92, 0x2f, 0xd7, 0xdf, 0xb8, 0xa3, 0xfd, 0x0e, 0x81, 0xe9, 0xa4, + 0x9c, 0xd3, 0x3f, 0x4d, 0x68, 0x2b, 0x15, 0x31, 0x0a, 0x15, 0xcc, 0x52, + 0x04, 0x93, 0xe8, 0x93, 0x50, 0xc3, 0xd9, 0xb1, 0xe2, 0xe1, 0x68, 0xb7, + 0x3a, 0x09, 0x74, 0xf1, 0x34, 0x58, 0x0a, 0x3f, 0x77, 0x98, 0x40, 0xb8, + 0xe6, 0x68, 0xff, 0x5d, 0xe4, 0xc8, 0x46, 0xc5, 0xec, 0x81, 0xd7, 0xc9, + 0x82, 0x18, 0x5c, 0x83, 0xce, 0x71, 0xd8, 0xbc, 0xbf, 0xac, 0x99, 0x02, + 0x93, 0xdb, 0x94, 0x98, 0x84, 0xd2, 0x9c, 0xa6, 0xb5, 0xfe, 0x5c, 0xbb, + 0xf0, 0x4a, 0xaf, 0x21, 0xac, 0xc2, 0x3f, 0x49, 0x24, 0x67, 0xd6, 0x2e, + 0x8e, 0xcf, 0xac, 0xcc, 0x64, 0x15, 0x18, 0x72, 0xe5, 0x6c, 0x77, 0xd3, + 0x52, 0xa8, 0xb9, 0xdd, 0x8d, 0xac, 0x00, 0x4a, 0x35, 0x19, 0xd4, 0x6f, + 0x73, 0xa3, 0x75, 0xef, 0x6b, 0x64, 0xc3, 0xe0, 0x8d, 0x83, 0x12, 0xa1, + 0x8a, 0xe7, 0x0e, 0x86, 0x4d, 0xd8, 0xb4, 0x20, 0x1b, 0xbe, 0x6a, 0xa5, + 0x8c, 0x4b, 0x68, 0x66, 0xe3, 0x2b, 0xc7, 0x58, 0x0b, 0xfb, 0x56, 0x10, + 0xd4, 0x91, 0xfb, 0x1d, 0xd3, 0x31, 0x58, 0x10, 0x8c, 0x44, 0xe3, 0x75, + 0x7b, 0x10, 0x9d, 0xb5, 0x38, 0xb1, 0xf6, 0xaa, 0xca, 0x81, 0x64, 0x6c, + 0xe8, 0xf2, 0xe2, 0x81, 0x55, 0x97, 0x51, 0x7f, 0xe1, 0xc2, 0x27, 0x50, + 0xa2, 0xc9, 0x3c, 0x5b, 0x00, 0x43, 0xf6, 0x5b, 0xb9, 0xd5, 0xa5, 0xfc, + 0xff, 0x07, 0x50, 0x40, 0x67, 0x07, 0xb0, 0x55, 0xf0, 0xb7, 0x7e, 0x6e, + 0x2d, 0xcc, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120038507 (0x727a46b) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Validity + Not Before: Apr 2 14:36:10 2014 GMT + Not After : Apr 2 14:35:52 2021 GMT + Subject: C=NL, L=Amsterdam, O=Verizon Enterprise Solutions, OU=Cybertrust, CN=Verizon Akamai SureServer CA G14-SHA2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:dd:6e:9e:02:69:02:b5:a3:99:2e:08:64:32:6a: + 59:f3:c6:9e:a6:20:07:d2:48:d1:a8:93:c7:ea:47: + 8f:83:39:40:d7:20:5d:8d:9a:ba:ab:d8:70:ec:9d: + 88:d1:bd:62:f6:db:ec:9d:5e:35:01:76:03:23:e5: + 6f:d2:af:46:35:59:5a:5c:d1:a8:23:c1:eb:e9:20: + d4:49:d6:3f:00:d8:a8:22:de:43:79:81:ac:e9:a4: + 92:f5:77:70:05:1e:5c:b6:a0:f7:90:a4:cd:ab:28: + 2c:90:c2:e7:0f:c3:af:1c:47:59:d5:84:2e:df:26: + 07:45:23:5a:c6:e8:90:c8:85:4b:8c:16:1e:60:f9: + 01:13:f1:14:1f:e6:e8:14:ed:c5:d2:6f:63:28:6e: + 72:8c:49:ae:08:72:c7:93:95:b4:0b:0c:ae:8f:9a: + 67:84:f5:57:1b:db:81:d7:17:9d:41:11:43:19:bd: + 6d:4a:85:ed:8f:70:25:ab:66:ab:f6:fa:6d:1c:3c: + ab:ed:17:bd:56:84:e1:db:75:33:b2:28:4b:99:8e: + f9:4b:82:33:50:9f:92:53:ed:fa:ad:0f:95:9c:a3: + f2:cb:60:f0:77:1d:c9:01:8b:5f:2d:86:be:bf:36: + b8:24:96:13:7c:c1:86:5a:6c:c1:48:2a:7f:3e:93: + 60:c5 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:2 + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6334.1.50 + CPS: https://secure.omniroot.com/repository + + Authority Information Access: + OCSP - URI:http://ocsp.omniroot.com/baltimoreroot + CA Issuers - URI:https://cacert.omniroot.com/baltimoreroot.crt + CA Issuers - URI:https://cacert.omniroot.com/baltimoreroot.der + + X509v3 Key Usage: critical + Digital Signature, Non Repudiation, Certificate Sign, CRL Sign + X509v3 Authority Key Identifier: + keyid:E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://cdp1.public-trust.com/CRL/Omniroot2025.crl + + X509v3 Subject Key Identifier: + F8:BD:FA:AF:73:77:C6:C7:1B:F9:4B:4D:11:A7:D1:33:AF:AF:72:11 + Signature Algorithm: sha256WithRSAEncryption + 80:d9:7a:ed:72:05:37:8f:61:aa:73:7c:9a:6a:fc:fe:01:e2: + 19:81:70:07:25:32:b0:f0:6f:3b:c7:6a:28:3d:e4:51:87:e6: + 7e:82:ec:ae:48:a7:b1:77:38:c2:d6:56:af:8f:f2:01:fc:65: + 65:10:09:f7:74:29:b5:0e:92:ee:90:98:d1:88:a2:65:b7:cd: + 9c:0e:a7:86:98:28:bc:ae:15:83:b6:1a:d7:1d:ec:19:da:7a: + 8e:40:f9:99:15:d5:7d:a5:ba:ab:fd:26:98:6e:9c:41:3b:b6: + 81:18:ec:70:48:d7:6e:7f:a6:e1:77:25:d6:dd:62:e8:52:f3: + 8c:16:39:67:e2:22:0d:77:2e:fb:11:6c:e4:dd:38:b4:27:5f: + 03:a8:3d:44:e2:f2:84:4b:84:fd:56:a6:9e:4d:7b:a2:16:4f: + 07:f5:34:24:72:a5:a2:fa:16:66:2a:a4:4a:0e:c8:0d:27:44: + 9c:77:d4:12:10:87:d2:00:2c:7a:bb:8e:88:22:91:15:be:a2: + 59:ca:34:e0:1c:61:94:86:20:33:cd:e7:4c:5d:3b:92:3e:cb: + d6:2d:ea:54:fa:fb:af:54:f5:a8:c5:0b:ca:8b:87:00:e6:9f: + e6:95:bf:b7:c4:a3:59:f5:16:6c:5f:3e:69:55:80:39:f6:75: + 50:14:3e:32 +-----BEGIN CERTIFICATE----- +MIIFHzCCBAegAwIBAgIEByekazANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTE0MDQwMjE0MzYxMFoX +DTIxMDQwMjE0MzU1MlowgY0xCzAJBgNVBAYTAk5MMRIwEAYDVQQHEwlBbXN0ZXJk +YW0xJTAjBgNVBAoTHFZlcml6b24gRW50ZXJwcmlzZSBTb2x1dGlvbnMxEzARBgNV +BAsTCkN5YmVydHJ1c3QxLjAsBgNVBAMTJVZlcml6b24gQWthbWFpIFN1cmVTZXJ2 +ZXIgQ0EgRzE0LVNIQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDd +bp4CaQK1o5kuCGQyalnzxp6mIAfSSNGok8fqR4+DOUDXIF2Nmrqr2HDsnYjRvWL2 +2+ydXjUBdgMj5W/Sr0Y1WVpc0agjwevpINRJ1j8A2Kgi3kN5gazppJL1d3AFHly2 +oPeQpM2rKCyQwucPw68cR1nVhC7fJgdFI1rG6JDIhUuMFh5g+QET8RQf5ugU7cXS +b2MobnKMSa4IcseTlbQLDK6PmmeE9Vcb24HXF51BEUMZvW1Khe2PcCWrZqv2+m0c +PKvtF71WhOHbdTOyKEuZjvlLgjNQn5JT7fqtD5Wco/LLYPB3HckBi18thr6/Nrgk +lhN8wYZabMFIKn8+k2DFAgMBAAGjggG3MIIBszASBgNVHRMBAf8ECDAGAQH/AgEC +MEwGA1UdIARFMEMwQQYJKwYBBAGxPgEyMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v +c2VjdXJlLm9tbmlyb290LmNvbS9yZXBvc2l0b3J5MIG6BggrBgEFBQcBAQSBrTCB +qjAyBggrBgEFBQcwAYYmaHR0cDovL29jc3Aub21uaXJvb3QuY29tL2JhbHRpbW9y +ZXJvb3QwOQYIKwYBBQUHMAKGLWh0dHBzOi8vY2FjZXJ0Lm9tbmlyb290LmNvbS9i +YWx0aW1vcmVyb290LmNydDA5BggrBgEFBQcwAoYtaHR0cHM6Ly9jYWNlcnQub21u +aXJvb3QuY29tL2JhbHRpbW9yZXJvb3QuZGVyMA4GA1UdDwEB/wQEAwIBxjAfBgNV +HSMEGDAWgBTlnVkwgkdYzKz6CFQ2hns6tQRN8DBCBgNVHR8EOzA5MDegNaAzhjFo +dHRwOi8vY2RwMS5wdWJsaWMtdHJ1c3QuY29tL0NSTC9PbW5pcm9vdDIwMjUuY3Js +MB0GA1UdDgQWBBT4vfqvc3fGxxv5S00Rp9Ezr69yETANBgkqhkiG9w0BAQsFAAOC +AQEAgNl67XIFN49hqnN8mmr8/gHiGYFwByUysPBvO8dqKD3kUYfmfoLsrkinsXc4 +wtZWr4/yAfxlZRAJ93QptQ6S7pCY0YiiZbfNnA6nhpgovK4Vg7Ya1x3sGdp6jkD5 +mRXVfaW6q/0mmG6cQTu2gRjscEjXbn+m4Xcl1t1i6FLzjBY5Z+IiDXcu+xFs5N04 +tCdfA6g9ROLyhEuE/Vamnk17ohZPB/U0JHKlovoWZiqkSg7IDSdEnHfUEhCH0gAs +eruOiCKRFb6iWco04BxhlIYgM83nTF07kj7L1i3qVPr7r1T1qMULyouHAOaf5pW/ +t8SjWfUWbF8+aVWAOfZ1UBQ+Mg== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_43[] = { + 0x30, 0x82, 0x05, 0x1f, 0x30, 0x82, 0x04, 0x07, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0xa4, 0x6b, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x5a, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, + 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, + 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x19, 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, + 0x30, 0x34, 0x30, 0x32, 0x31, 0x34, 0x33, 0x36, 0x31, 0x30, 0x5a, 0x17, + 0x0d, 0x32, 0x31, 0x30, 0x34, 0x30, 0x32, 0x31, 0x34, 0x33, 0x35, 0x35, + 0x32, 0x5a, 0x30, 0x81, 0x8d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x4e, 0x4c, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, + 0x55, 0x04, 0x07, 0x13, 0x09, 0x41, 0x6d, 0x73, 0x74, 0x65, 0x72, 0x64, + 0x61, 0x6d, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x1c, 0x56, 0x65, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x20, 0x45, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x20, 0x53, 0x6f, 0x6c, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x25, 0x56, 0x65, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x20, 0x41, 0x6b, 0x61, + 0x6d, 0x61, 0x69, 0x20, 0x53, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x20, 0x43, 0x41, 0x20, 0x47, 0x31, 0x34, 0x2d, 0x53, 0x48, + 0x41, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xdd, + 0x6e, 0x9e, 0x02, 0x69, 0x02, 0xb5, 0xa3, 0x99, 0x2e, 0x08, 0x64, 0x32, + 0x6a, 0x59, 0xf3, 0xc6, 0x9e, 0xa6, 0x20, 0x07, 0xd2, 0x48, 0xd1, 0xa8, + 0x93, 0xc7, 0xea, 0x47, 0x8f, 0x83, 0x39, 0x40, 0xd7, 0x20, 0x5d, 0x8d, + 0x9a, 0xba, 0xab, 0xd8, 0x70, 0xec, 0x9d, 0x88, 0xd1, 0xbd, 0x62, 0xf6, + 0xdb, 0xec, 0x9d, 0x5e, 0x35, 0x01, 0x76, 0x03, 0x23, 0xe5, 0x6f, 0xd2, + 0xaf, 0x46, 0x35, 0x59, 0x5a, 0x5c, 0xd1, 0xa8, 0x23, 0xc1, 0xeb, 0xe9, + 0x20, 0xd4, 0x49, 0xd6, 0x3f, 0x00, 0xd8, 0xa8, 0x22, 0xde, 0x43, 0x79, + 0x81, 0xac, 0xe9, 0xa4, 0x92, 0xf5, 0x77, 0x70, 0x05, 0x1e, 0x5c, 0xb6, + 0xa0, 0xf7, 0x90, 0xa4, 0xcd, 0xab, 0x28, 0x2c, 0x90, 0xc2, 0xe7, 0x0f, + 0xc3, 0xaf, 0x1c, 0x47, 0x59, 0xd5, 0x84, 0x2e, 0xdf, 0x26, 0x07, 0x45, + 0x23, 0x5a, 0xc6, 0xe8, 0x90, 0xc8, 0x85, 0x4b, 0x8c, 0x16, 0x1e, 0x60, + 0xf9, 0x01, 0x13, 0xf1, 0x14, 0x1f, 0xe6, 0xe8, 0x14, 0xed, 0xc5, 0xd2, + 0x6f, 0x63, 0x28, 0x6e, 0x72, 0x8c, 0x49, 0xae, 0x08, 0x72, 0xc7, 0x93, + 0x95, 0xb4, 0x0b, 0x0c, 0xae, 0x8f, 0x9a, 0x67, 0x84, 0xf5, 0x57, 0x1b, + 0xdb, 0x81, 0xd7, 0x17, 0x9d, 0x41, 0x11, 0x43, 0x19, 0xbd, 0x6d, 0x4a, + 0x85, 0xed, 0x8f, 0x70, 0x25, 0xab, 0x66, 0xab, 0xf6, 0xfa, 0x6d, 0x1c, + 0x3c, 0xab, 0xed, 0x17, 0xbd, 0x56, 0x84, 0xe1, 0xdb, 0x75, 0x33, 0xb2, + 0x28, 0x4b, 0x99, 0x8e, 0xf9, 0x4b, 0x82, 0x33, 0x50, 0x9f, 0x92, 0x53, + 0xed, 0xfa, 0xad, 0x0f, 0x95, 0x9c, 0xa3, 0xf2, 0xcb, 0x60, 0xf0, 0x77, + 0x1d, 0xc9, 0x01, 0x8b, 0x5f, 0x2d, 0x86, 0xbe, 0xbf, 0x36, 0xb8, 0x24, + 0x96, 0x13, 0x7c, 0xc1, 0x86, 0x5a, 0x6c, 0xc1, 0x48, 0x2a, 0x7f, 0x3e, + 0x93, 0x60, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0xb7, + 0x30, 0x82, 0x01, 0xb3, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x02, + 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45, 0x30, 0x43, 0x30, + 0x41, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xb1, 0x3e, 0x01, 0x32, + 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x02, 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, + 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x30, 0x81, 0xba, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x81, 0xad, 0x30, 0x81, + 0xaa, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, + 0x01, 0x86, 0x26, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, + 0x73, 0x70, 0x2e, 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, + 0x65, 0x72, 0x6f, 0x6f, 0x74, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x6f, 0x6d, + 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x6f, 0x6f, 0x74, + 0x2e, 0x63, 0x72, 0x74, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x30, 0x02, 0x86, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x63, 0x61, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x6f, 0x6d, 0x6e, + 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, + 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x6f, 0x6f, 0x74, 0x2e, + 0x64, 0x65, 0x72, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0xc6, 0x30, 0x1f, 0x06, 0x03, 0x55, + 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe5, 0x9d, 0x59, 0x30, + 0x82, 0x47, 0x58, 0xcc, 0xac, 0xfa, 0x08, 0x54, 0x36, 0x86, 0x7b, 0x3a, + 0xb5, 0x04, 0x4d, 0xf0, 0x30, 0x42, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, + 0x3b, 0x30, 0x39, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x64, 0x70, 0x31, 0x2e, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x52, 0x4c, 0x2f, 0x4f, 0x6d, 0x6e, 0x69, + 0x72, 0x6f, 0x6f, 0x74, 0x32, 0x30, 0x32, 0x35, 0x2e, 0x63, 0x72, 0x6c, + 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf8, + 0xbd, 0xfa, 0xaf, 0x73, 0x77, 0xc6, 0xc7, 0x1b, 0xf9, 0x4b, 0x4d, 0x11, + 0xa7, 0xd1, 0x33, 0xaf, 0xaf, 0x72, 0x11, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x01, 0x00, 0x80, 0xd9, 0x7a, 0xed, 0x72, 0x05, 0x37, 0x8f, 0x61, + 0xaa, 0x73, 0x7c, 0x9a, 0x6a, 0xfc, 0xfe, 0x01, 0xe2, 0x19, 0x81, 0x70, + 0x07, 0x25, 0x32, 0xb0, 0xf0, 0x6f, 0x3b, 0xc7, 0x6a, 0x28, 0x3d, 0xe4, + 0x51, 0x87, 0xe6, 0x7e, 0x82, 0xec, 0xae, 0x48, 0xa7, 0xb1, 0x77, 0x38, + 0xc2, 0xd6, 0x56, 0xaf, 0x8f, 0xf2, 0x01, 0xfc, 0x65, 0x65, 0x10, 0x09, + 0xf7, 0x74, 0x29, 0xb5, 0x0e, 0x92, 0xee, 0x90, 0x98, 0xd1, 0x88, 0xa2, + 0x65, 0xb7, 0xcd, 0x9c, 0x0e, 0xa7, 0x86, 0x98, 0x28, 0xbc, 0xae, 0x15, + 0x83, 0xb6, 0x1a, 0xd7, 0x1d, 0xec, 0x19, 0xda, 0x7a, 0x8e, 0x40, 0xf9, + 0x99, 0x15, 0xd5, 0x7d, 0xa5, 0xba, 0xab, 0xfd, 0x26, 0x98, 0x6e, 0x9c, + 0x41, 0x3b, 0xb6, 0x81, 0x18, 0xec, 0x70, 0x48, 0xd7, 0x6e, 0x7f, 0xa6, + 0xe1, 0x77, 0x25, 0xd6, 0xdd, 0x62, 0xe8, 0x52, 0xf3, 0x8c, 0x16, 0x39, + 0x67, 0xe2, 0x22, 0x0d, 0x77, 0x2e, 0xfb, 0x11, 0x6c, 0xe4, 0xdd, 0x38, + 0xb4, 0x27, 0x5f, 0x03, 0xa8, 0x3d, 0x44, 0xe2, 0xf2, 0x84, 0x4b, 0x84, + 0xfd, 0x56, 0xa6, 0x9e, 0x4d, 0x7b, 0xa2, 0x16, 0x4f, 0x07, 0xf5, 0x34, + 0x24, 0x72, 0xa5, 0xa2, 0xfa, 0x16, 0x66, 0x2a, 0xa4, 0x4a, 0x0e, 0xc8, + 0x0d, 0x27, 0x44, 0x9c, 0x77, 0xd4, 0x12, 0x10, 0x87, 0xd2, 0x00, 0x2c, + 0x7a, 0xbb, 0x8e, 0x88, 0x22, 0x91, 0x15, 0xbe, 0xa2, 0x59, 0xca, 0x34, + 0xe0, 0x1c, 0x61, 0x94, 0x86, 0x20, 0x33, 0xcd, 0xe7, 0x4c, 0x5d, 0x3b, + 0x92, 0x3e, 0xcb, 0xd6, 0x2d, 0xea, 0x54, 0xfa, 0xfb, 0xaf, 0x54, 0xf5, + 0xa8, 0xc5, 0x0b, 0xca, 0x8b, 0x87, 0x00, 0xe6, 0x9f, 0xe6, 0x95, 0xbf, + 0xb7, 0xc4, 0xa3, 0x59, 0xf5, 0x16, 0x6c, 0x5f, 0x3e, 0x69, 0x55, 0x80, + 0x39, 0xf6, 0x75, 0x50, 0x14, 0x3e, 0x32, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 7e:e1:4a:6f:6f:ef:f2:d3:7f:3f:ad:65:4d:3a:da:b4 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=Symantec Corporation, OU=Symantec Trust Network, CN=Symantec Class 3 EV SSL CA - G3 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d8:a1:65:74:23:e8:2b:64:e2:32:d7:33:37:3d: + 8e:f5:34:16:48:dd:4f:7f:87:1c:f8:44:23:13:8e: + fb:11:d8:44:5a:18:71:8e:60:16:26:92:9b:fd:17: + 0b:e1:71:70:42:fe:bf:fa:1c:c0:aa:a3:a7:b5:71: + e8:ff:18:83:f6:df:10:0a:13:62:c8:3d:9c:a7:de: + 2e:3f:0c:d9:1d:e7:2e:fb:2a:ce:c8:9a:7f:87:bf: + d8:4c:04:15:32:c9:d1:cc:95:71:a0:4e:28:4f:84: + d9:35:fb:e3:86:6f:94:53:e6:72:8a:63:67:2e:be: + 69:f6:f7:6e:8e:9c:60:04:eb:29:fa:c4:47:42:d2: + 78:98:e3:ec:0b:a5:92:dc:b7:9a:bd:80:64:2b:38: + 7c:38:09:5b:66:f6:2d:95:7a:86:b2:34:2e:85:9e: + 90:0e:5f:b7:5d:a4:51:72:46:70:13:bf:67:f2:b6: + a7:4d:14:1e:6c:b9:53:ee:23:1a:4e:8d:48:55:43: + 41:b1:89:75:6a:40:28:c5:7d:dd:d2:6e:d2:02:19: + 2f:7b:24:94:4b:eb:f1:1a:a9:9b:e3:23:9a:ea:fa: + 33:ab:0a:2c:b7:f4:60:08:dd:9f:1c:cd:dd:2d:01: + 66:80:af:b3:2f:29:1d:23:b8:8a:e1:a1:70:07:0c: + 34:0f + Exponent: 65537 (0x10001) + X509v3 extensions: + Authority Information Access: + OCSP - URI:http://s2.symcb.com + + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.symauth.com/cps + User Notice: + Explicit Text: http://www.symauth.com/rpa + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://s1.symcb.com/pca3-g5.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-533 + X509v3 Subject Key Identifier: + 01:59:AB:E7:DD:3A:0B:59:A6:64:63:D6:CF:20:07:57:D5:91:E7:6A + X509v3 Authority Key Identifier: + keyid:7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + + Signature Algorithm: sha256WithRSAEncryption + 42:01:55:7b:d0:16:1a:5d:58:e8:bb:9b:a8:4d:d7:f3:d7:eb: + 13:94:86:d6:7f:21:0b:47:bc:57:9b:92:5d:4f:05:9f:38:a4: + 10:7c:cf:83:be:06:43:46:8d:08:bc:6a:d7:10:a6:fa:ab:af: + 2f:61:a8:63:f2:65:df:7f:4c:88:12:88:4f:b3:69:d9:ff:27: + c0:0a:97:91:8f:56:fb:89:c4:a8:bb:92:2d:1b:73:b0:c6:ab: + 36:f4:96:6c:20:08:ef:0a:1e:66:24:45:4f:67:00:40:c8:07: + 54:74:33:3b:a6:ad:bb:23:9f:66:ed:a2:44:70:34:fb:0e:ea: + 01:fd:cf:78:74:df:a7:ad:55:b7:5f:4d:f6:d6:3f:e0:86:ce: + 24:c7:42:a9:13:14:44:35:4b:b6:df:c9:60:ac:0c:7f:d9:93: + 21:4b:ee:9c:e4:49:02:98:d3:60:7b:5c:bc:d5:30:2f:07:ce: + 44:42:c4:0b:99:fe:e6:9f:fc:b0:78:86:51:6d:d1:2c:9d:c6: + 96:fb:85:82:bb:04:2f:f7:62:80:ef:62:da:7f:f6:0e:ac:90: + b8:56:bd:79:3f:f2:80:6e:a3:d9:b9:0f:5d:3a:07:1d:91:93: + 86:4b:29:4c:e1:dc:b5:e1:e0:33:9d:b3:cb:36:91:4b:fe:a1: + b4:ee:f0:f9 +-----BEGIN CERTIFICATE----- +MIIFKzCCBBOgAwIBAgIQfuFKb2/v8tN/P61lTTratDANBgkqhkiG9w0BAQsFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMTMxMDMxMDAwMDAwWhcNMjMxMDMwMjM1OTU5WjB3MQsw +CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV +BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIENs +YXNzIDMgRVYgU1NMIENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQDYoWV0I+grZOIy1zM3PY71NBZI3U9/hxz4RCMTjvsR2ERaGHGOYBYmkpv9 +FwvhcXBC/r/6HMCqo6e1cej/GIP23xAKE2LIPZyn3i4/DNkd5y77Ks7Imn+Hv9hM +BBUyydHMlXGgTihPhNk1++OGb5RT5nKKY2cuvmn2926OnGAE6yn6xEdC0niY4+wL +pZLct5q9gGQrOHw4CVtm9i2VeoayNC6FnpAOX7ddpFFyRnATv2fytqdNFB5suVPu +IxpOjUhVQ0GxiXVqQCjFfd3SbtICGS97JJRL6/EaqZvjI5rq+jOrCiy39GAI3Z8c +zd0tAWaAr7MvKR0juIrhoXAHDDQPAgMBAAGjggFdMIIBWTAvBggrBgEFBQcBAQQj +MCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wEgYDVR0TAQH/BAgw +BgEB/wIBADBlBgNVHSAEXjBcMFoGBFUdIAAwUjAmBggrBgEFBQcCARYaaHR0cDov +L3d3dy5zeW1hdXRoLmNvbS9jcHMwKAYIKwYBBQUHAgIwHBoaaHR0cDovL3d3dy5z +eW1hdXRoLmNvbS9ycGEwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL3MxLnN5bWNi +LmNvbS9wY2EzLWc1LmNybDAOBgNVHQ8BAf8EBAMCAQYwKQYDVR0RBCIwIKQeMBwx +GjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNTMzMB0GA1UdDgQWBBQBWavn3ToLWaZk +Y9bPIAdX1ZHnajAfBgNVHSMEGDAWgBR/02Wnwt3su/AwCfNDOfoCrzMxMzANBgkq +hkiG9w0BAQsFAAOCAQEAQgFVe9AWGl1Y6LubqE3X89frE5SG1n8hC0e8V5uSXU8F +nzikEHzPg74GQ0aNCLxq1xCm+quvL2GoY/Jl339MiBKIT7Np2f8nwAqXkY9W+4nE +qLuSLRtzsMarNvSWbCAI7woeZiRFT2cAQMgHVHQzO6atuyOfZu2iRHA0+w7qAf3P +eHTfp61Vt19N9tY/4IbOJMdCqRMURDVLtt/JYKwMf9mTIUvunORJApjTYHtcvNUw +LwfORELEC5n+5p/8sHiGUW3RLJ3GlvuFgrsEL/digO9i2n/2DqyQuFa9eT/ygG6j +2bkPXToHHZGThkspTOHcteHgM52zyzaRS/6htO7w+Q== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_44[] = { + 0x30, 0x82, 0x05, 0x2b, 0x30, 0x82, 0x04, 0x13, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x7e, 0xe1, 0x4a, 0x6f, 0x6f, 0xef, 0xf2, 0xd3, 0x7f, + 0x3f, 0xad, 0x65, 0x4d, 0x3a, 0xda, 0xb4, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x33, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x31, 0x30, 0x33, 0x30, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x77, 0x31, 0x0b, 0x30, + 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1d, + 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x53, 0x79, 0x6d, + 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x16, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, + 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x1f, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x45, 0x56, 0x20, 0x53, 0x53, 0x4c, + 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, + 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, + 0x02, 0x82, 0x01, 0x01, 0x00, 0xd8, 0xa1, 0x65, 0x74, 0x23, 0xe8, 0x2b, + 0x64, 0xe2, 0x32, 0xd7, 0x33, 0x37, 0x3d, 0x8e, 0xf5, 0x34, 0x16, 0x48, + 0xdd, 0x4f, 0x7f, 0x87, 0x1c, 0xf8, 0x44, 0x23, 0x13, 0x8e, 0xfb, 0x11, + 0xd8, 0x44, 0x5a, 0x18, 0x71, 0x8e, 0x60, 0x16, 0x26, 0x92, 0x9b, 0xfd, + 0x17, 0x0b, 0xe1, 0x71, 0x70, 0x42, 0xfe, 0xbf, 0xfa, 0x1c, 0xc0, 0xaa, + 0xa3, 0xa7, 0xb5, 0x71, 0xe8, 0xff, 0x18, 0x83, 0xf6, 0xdf, 0x10, 0x0a, + 0x13, 0x62, 0xc8, 0x3d, 0x9c, 0xa7, 0xde, 0x2e, 0x3f, 0x0c, 0xd9, 0x1d, + 0xe7, 0x2e, 0xfb, 0x2a, 0xce, 0xc8, 0x9a, 0x7f, 0x87, 0xbf, 0xd8, 0x4c, + 0x04, 0x15, 0x32, 0xc9, 0xd1, 0xcc, 0x95, 0x71, 0xa0, 0x4e, 0x28, 0x4f, + 0x84, 0xd9, 0x35, 0xfb, 0xe3, 0x86, 0x6f, 0x94, 0x53, 0xe6, 0x72, 0x8a, + 0x63, 0x67, 0x2e, 0xbe, 0x69, 0xf6, 0xf7, 0x6e, 0x8e, 0x9c, 0x60, 0x04, + 0xeb, 0x29, 0xfa, 0xc4, 0x47, 0x42, 0xd2, 0x78, 0x98, 0xe3, 0xec, 0x0b, + 0xa5, 0x92, 0xdc, 0xb7, 0x9a, 0xbd, 0x80, 0x64, 0x2b, 0x38, 0x7c, 0x38, + 0x09, 0x5b, 0x66, 0xf6, 0x2d, 0x95, 0x7a, 0x86, 0xb2, 0x34, 0x2e, 0x85, + 0x9e, 0x90, 0x0e, 0x5f, 0xb7, 0x5d, 0xa4, 0x51, 0x72, 0x46, 0x70, 0x13, + 0xbf, 0x67, 0xf2, 0xb6, 0xa7, 0x4d, 0x14, 0x1e, 0x6c, 0xb9, 0x53, 0xee, + 0x23, 0x1a, 0x4e, 0x8d, 0x48, 0x55, 0x43, 0x41, 0xb1, 0x89, 0x75, 0x6a, + 0x40, 0x28, 0xc5, 0x7d, 0xdd, 0xd2, 0x6e, 0xd2, 0x02, 0x19, 0x2f, 0x7b, + 0x24, 0x94, 0x4b, 0xeb, 0xf1, 0x1a, 0xa9, 0x9b, 0xe3, 0x23, 0x9a, 0xea, + 0xfa, 0x33, 0xab, 0x0a, 0x2c, 0xb7, 0xf4, 0x60, 0x08, 0xdd, 0x9f, 0x1c, + 0xcd, 0xdd, 0x2d, 0x01, 0x66, 0x80, 0xaf, 0xb3, 0x2f, 0x29, 0x1d, 0x23, + 0xb8, 0x8a, 0xe1, 0xa1, 0x70, 0x07, 0x0c, 0x34, 0x0f, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xa3, 0x82, 0x01, 0x5d, 0x30, 0x82, 0x01, 0x59, 0x30, 0x2f, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x23, + 0x30, 0x21, 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x01, 0x86, 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, + 0x32, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x30, + 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, + 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x65, 0x06, 0x03, 0x55, + 0x1d, 0x20, 0x04, 0x5e, 0x30, 0x5c, 0x30, 0x5a, 0x06, 0x04, 0x55, 0x1d, + 0x20, 0x00, 0x30, 0x52, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x79, 0x6d, 0x61, 0x75, 0x74, 0x68, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x28, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x1c, 0x1a, 0x1a, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, + 0x79, 0x6d, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x70, 0x61, 0x30, 0x30, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x29, 0x30, + 0x27, 0x30, 0x25, 0xa0, 0x23, 0xa0, 0x21, 0x86, 0x1f, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x31, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, 0x61, 0x33, 0x2d, 0x67, 0x35, + 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, + 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x29, 0x06, 0x03, + 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, 0x31, + 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x79, + 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, 0x2d, + 0x35, 0x33, 0x33, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, + 0x04, 0x14, 0x01, 0x59, 0xab, 0xe7, 0xdd, 0x3a, 0x0b, 0x59, 0xa6, 0x64, + 0x63, 0xd6, 0xcf, 0x20, 0x07, 0x57, 0xd5, 0x91, 0xe7, 0x6a, 0x30, 0x1f, + 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7f, + 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, 0x43, + 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x01, 0x00, 0x42, 0x01, 0x55, 0x7b, 0xd0, 0x16, 0x1a, 0x5d, 0x58, + 0xe8, 0xbb, 0x9b, 0xa8, 0x4d, 0xd7, 0xf3, 0xd7, 0xeb, 0x13, 0x94, 0x86, + 0xd6, 0x7f, 0x21, 0x0b, 0x47, 0xbc, 0x57, 0x9b, 0x92, 0x5d, 0x4f, 0x05, + 0x9f, 0x38, 0xa4, 0x10, 0x7c, 0xcf, 0x83, 0xbe, 0x06, 0x43, 0x46, 0x8d, + 0x08, 0xbc, 0x6a, 0xd7, 0x10, 0xa6, 0xfa, 0xab, 0xaf, 0x2f, 0x61, 0xa8, + 0x63, 0xf2, 0x65, 0xdf, 0x7f, 0x4c, 0x88, 0x12, 0x88, 0x4f, 0xb3, 0x69, + 0xd9, 0xff, 0x27, 0xc0, 0x0a, 0x97, 0x91, 0x8f, 0x56, 0xfb, 0x89, 0xc4, + 0xa8, 0xbb, 0x92, 0x2d, 0x1b, 0x73, 0xb0, 0xc6, 0xab, 0x36, 0xf4, 0x96, + 0x6c, 0x20, 0x08, 0xef, 0x0a, 0x1e, 0x66, 0x24, 0x45, 0x4f, 0x67, 0x00, + 0x40, 0xc8, 0x07, 0x54, 0x74, 0x33, 0x3b, 0xa6, 0xad, 0xbb, 0x23, 0x9f, + 0x66, 0xed, 0xa2, 0x44, 0x70, 0x34, 0xfb, 0x0e, 0xea, 0x01, 0xfd, 0xcf, + 0x78, 0x74, 0xdf, 0xa7, 0xad, 0x55, 0xb7, 0x5f, 0x4d, 0xf6, 0xd6, 0x3f, + 0xe0, 0x86, 0xce, 0x24, 0xc7, 0x42, 0xa9, 0x13, 0x14, 0x44, 0x35, 0x4b, + 0xb6, 0xdf, 0xc9, 0x60, 0xac, 0x0c, 0x7f, 0xd9, 0x93, 0x21, 0x4b, 0xee, + 0x9c, 0xe4, 0x49, 0x02, 0x98, 0xd3, 0x60, 0x7b, 0x5c, 0xbc, 0xd5, 0x30, + 0x2f, 0x07, 0xce, 0x44, 0x42, 0xc4, 0x0b, 0x99, 0xfe, 0xe6, 0x9f, 0xfc, + 0xb0, 0x78, 0x86, 0x51, 0x6d, 0xd1, 0x2c, 0x9d, 0xc6, 0x96, 0xfb, 0x85, + 0x82, 0xbb, 0x04, 0x2f, 0xf7, 0x62, 0x80, 0xef, 0x62, 0xda, 0x7f, 0xf6, + 0x0e, 0xac, 0x90, 0xb8, 0x56, 0xbd, 0x79, 0x3f, 0xf2, 0x80, 0x6e, 0xa3, + 0xd9, 0xb9, 0x0f, 0x5d, 0x3a, 0x07, 0x1d, 0x91, 0x93, 0x86, 0x4b, 0x29, + 0x4c, 0xe1, 0xdc, 0xb5, 0xe1, 0xe0, 0x33, 0x9d, 0xb3, 0xcb, 0x36, 0x91, + 0x4b, 0xfe, 0xa1, 0xb4, 0xee, 0xf0, 0xf9, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 51:3f:b9:74:38:70:b7:34:40:41:8d:30:93:06:99:ff + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5 + Validity + Not Before: Oct 31 00:00:00 2013 GMT + Not After : Oct 30 23:59:59 2023 GMT + Subject: C=US, O=Symantec Corporation, OU=Symantec Trust Network, CN=Symantec Class 3 Secure Server CA - G4 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b2:d8:05:ca:1c:74:2d:b5:17:56:39:c5:4a:52: + 09:96:e8:4b:d8:0c:f1:68:9f:9a:42:28:62:c3:a5: + 30:53:7e:55:11:82:5b:03:7a:0d:2f:e1:79:04:c9: + b4:96:77:19:81:01:94:59:f9:bc:f7:7a:99:27:82: + 2d:b7:83:dd:5a:27:7f:b2:03:7a:9c:53:25:e9:48: + 1f:46:4f:c8:9d:29:f8:be:79:56:f6:f7:fd:d9:3a: + 68:da:8b:4b:82:33:41:12:c3:c8:3c:cc:d6:96:7a: + 84:21:1a:22:04:03:27:17:8b:1c:68:61:93:0f:0e: + 51:80:33:1d:b4:b5:ce:eb:7e:d0:62:ac:ee:b3:7b: + 01:74:ef:69:35:eb:ca:d5:3d:a9:ee:97:98:ca:8d: + aa:44:0e:25:99:4a:15:96:a4:ce:6d:02:54:1f:2a: + 6a:26:e2:06:3a:63:48:ac:b4:4c:d1:75:93:50:ff: + 13:2f:d6:da:e1:c6:18:f5:9f:c9:25:5d:f3:00:3a: + de:26:4d:b4:29:09:cd:0f:3d:23:6f:16:4a:81:16: + fb:f2:83:10:c3:b8:d6:d8:55:32:3d:f1:bd:0f:bd: + 8c:52:95:4a:16:97:7a:52:21:63:75:2f:16:f9:c4: + 66:be:f5:b5:09:d8:ff:27:00:cd:44:7c:6f:4b:3f: + b0:f7 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://s1.symcb.com/pca3-g5.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://s2.symcb.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.symauth.com/cps + User Notice: + Explicit Text: http://www.symauth.com/rpa + + X509v3 Subject Alternative Name: + DirName:/CN=SymantecPKI-1-534 + X509v3 Subject Key Identifier: + 5F:60:CF:61:90:55:DF:84:43:14:8A:60:2A:B2:F5:7A:F4:43:18:EF + X509v3 Authority Key Identifier: + keyid:7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33 + + Signature Algorithm: sha256WithRSAEncryption + 5e:94:56:49:dd:8e:2d:65:f5:c1:36:51:b6:03:e3:da:9e:73: + 19:f2:1f:59:ab:58:7e:6c:26:05:2c:fa:81:d7:5c:23:17:22: + 2c:37:93:f7:86:ec:85:e6:b0:a3:fd:1f:e2:32:a8:45:6f:e1: + d9:fb:b9:af:d2:70:a0:32:42:65:bf:84:fe:16:2a:8f:3f:c5: + a6:d6:a3:93:7d:43:e9:74:21:91:35:28:f4:63:e9:2e:ed:f7: + f5:5c:7f:4b:9a:b5:20:e9:0a:bd:e0:45:10:0c:14:94:9a:5d: + a5:e3:4b:91:e8:24:9b:46:40:65:f4:22:72:cd:99:f8:88:11: + f5:f3:7f:e6:33:82:e6:a8:c5:7e:fe:d0:08:e2:25:58:08:71: + 68:e6:cd:a2:e6:14:de:4e:52:24:2d:fd:e5:79:13:53:e7:5e: + 2f:2d:4d:1b:6d:40:15:52:2b:f7:87:89:78:12:81:6e:d9:4d: + aa:2d:78:d4:c2:2c:3d:08:5f:87:91:9e:1f:0e:b0:de:30:52: + 64:86:89:aa:9d:66:9c:0e:76:0c:80:f2:74:d8:2a:f8:b8:3a: + ce:d7:d6:0f:11:be:6b:ab:14:f5:bd:41:a0:22:63:89:f1:ba: + 0f:6f:29:63:66:2d:3f:ac:8c:72:c5:fb:c7:e4:d4:0f:f2:3b: + 4f:8c:29:c7 +-----BEGIN CERTIFICATE----- +MIIFODCCBCCgAwIBAgIQUT+5dDhwtzRAQY0wkwaZ/zANBgkqhkiG9w0BAQsFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMTMxMDMxMDAwMDAwWhcNMjMxMDMwMjM1OTU5WjB+MQsw +CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV +BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxLzAtBgNVBAMTJlN5bWFudGVjIENs +YXNzIDMgU2VjdXJlIFNlcnZlciBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAstgFyhx0LbUXVjnFSlIJluhL2AzxaJ+aQihiw6UwU35VEYJb +A3oNL+F5BMm0lncZgQGUWfm893qZJ4Itt4PdWid/sgN6nFMl6UgfRk/InSn4vnlW +9vf92Tpo2otLgjNBEsPIPMzWlnqEIRoiBAMnF4scaGGTDw5RgDMdtLXO637QYqzu +s3sBdO9pNevK1T2p7peYyo2qRA4lmUoVlqTObQJUHypqJuIGOmNIrLRM0XWTUP8T +L9ba4cYY9Z/JJV3zADreJk20KQnNDz0jbxZKgRb78oMQw7jW2FUyPfG9D72MUpVK +Fpd6UiFjdS8W+cRmvvW1Cdj/JwDNRHxvSz+w9wIDAQABo4IBYzCCAV8wEgYDVR0T +AQH/BAgwBgEB/wIBADAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2Iu +Y29tL3BjYTMtZzUuY3JsMA4GA1UdDwEB/wQEAwIBBjAvBggrBgEFBQcBAQQjMCEw +HwYIKwYBBQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wawYDVR0gBGQwYjBgBgpg +hkgBhvhFAQc2MFIwJgYIKwYBBQUHAgEWGmh0dHA6Ly93d3cuc3ltYXV0aC5jb20v +Y3BzMCgGCCsGAQUFBwICMBwaGmh0dHA6Ly93d3cuc3ltYXV0aC5jb20vcnBhMCkG +A1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1hbnRlY1BLSS0xLTUzNDAdBgNVHQ4E +FgQUX2DPYZBV34RDFIpgKrL1evRDGO8wHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnz +Qzn6Aq8zMTMwDQYJKoZIhvcNAQELBQADggEBAF6UVkndji1l9cE2UbYD49qecxny +H1mrWH5sJgUs+oHXXCMXIiw3k/eG7IXmsKP9H+IyqEVv4dn7ua/ScKAyQmW/hP4W +Ko8/xabWo5N9Q+l0IZE1KPRj6S7t9/Vcf0uatSDpCr3gRRAMFJSaXaXjS5HoJJtG +QGX0InLNmfiIEfXzf+YzguaoxX7+0AjiJVgIcWjmzaLmFN5OUiQt/eV5E1PnXi8t +TRttQBVSK/eHiXgSgW7ZTaoteNTCLD0IX4eRnh8OsN4wUmSGiaqdZpwOdgyA8nTY +Kvi4Os7X1g8RvmurFPW9QaAiY4nxug9vKWNmLT+sjHLF+8fk1A/yO0+MKcc= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_45[] = { + 0x30, 0x82, 0x05, 0x38, 0x30, 0x82, 0x04, 0x20, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x51, 0x3f, 0xb9, 0x74, 0x38, 0x70, 0xb7, 0x34, 0x40, + 0x41, 0x8d, 0x30, 0x93, 0x06, 0x99, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x3c, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47, 0x35, 0x30, + 0x1e, 0x17, 0x0d, 0x31, 0x33, 0x31, 0x30, 0x33, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x31, 0x30, 0x33, 0x30, + 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x7e, 0x31, 0x0b, 0x30, + 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1d, + 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x53, 0x79, 0x6d, + 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x16, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, + 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x26, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x20, 0x2d, + 0x20, 0x47, 0x34, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xb2, 0xd8, 0x05, 0xca, 0x1c, 0x74, 0x2d, 0xb5, 0x17, 0x56, 0x39, 0xc5, + 0x4a, 0x52, 0x09, 0x96, 0xe8, 0x4b, 0xd8, 0x0c, 0xf1, 0x68, 0x9f, 0x9a, + 0x42, 0x28, 0x62, 0xc3, 0xa5, 0x30, 0x53, 0x7e, 0x55, 0x11, 0x82, 0x5b, + 0x03, 0x7a, 0x0d, 0x2f, 0xe1, 0x79, 0x04, 0xc9, 0xb4, 0x96, 0x77, 0x19, + 0x81, 0x01, 0x94, 0x59, 0xf9, 0xbc, 0xf7, 0x7a, 0x99, 0x27, 0x82, 0x2d, + 0xb7, 0x83, 0xdd, 0x5a, 0x27, 0x7f, 0xb2, 0x03, 0x7a, 0x9c, 0x53, 0x25, + 0xe9, 0x48, 0x1f, 0x46, 0x4f, 0xc8, 0x9d, 0x29, 0xf8, 0xbe, 0x79, 0x56, + 0xf6, 0xf7, 0xfd, 0xd9, 0x3a, 0x68, 0xda, 0x8b, 0x4b, 0x82, 0x33, 0x41, + 0x12, 0xc3, 0xc8, 0x3c, 0xcc, 0xd6, 0x96, 0x7a, 0x84, 0x21, 0x1a, 0x22, + 0x04, 0x03, 0x27, 0x17, 0x8b, 0x1c, 0x68, 0x61, 0x93, 0x0f, 0x0e, 0x51, + 0x80, 0x33, 0x1d, 0xb4, 0xb5, 0xce, 0xeb, 0x7e, 0xd0, 0x62, 0xac, 0xee, + 0xb3, 0x7b, 0x01, 0x74, 0xef, 0x69, 0x35, 0xeb, 0xca, 0xd5, 0x3d, 0xa9, + 0xee, 0x97, 0x98, 0xca, 0x8d, 0xaa, 0x44, 0x0e, 0x25, 0x99, 0x4a, 0x15, + 0x96, 0xa4, 0xce, 0x6d, 0x02, 0x54, 0x1f, 0x2a, 0x6a, 0x26, 0xe2, 0x06, + 0x3a, 0x63, 0x48, 0xac, 0xb4, 0x4c, 0xd1, 0x75, 0x93, 0x50, 0xff, 0x13, + 0x2f, 0xd6, 0xda, 0xe1, 0xc6, 0x18, 0xf5, 0x9f, 0xc9, 0x25, 0x5d, 0xf3, + 0x00, 0x3a, 0xde, 0x26, 0x4d, 0xb4, 0x29, 0x09, 0xcd, 0x0f, 0x3d, 0x23, + 0x6f, 0x16, 0x4a, 0x81, 0x16, 0xfb, 0xf2, 0x83, 0x10, 0xc3, 0xb8, 0xd6, + 0xd8, 0x55, 0x32, 0x3d, 0xf1, 0xbd, 0x0f, 0xbd, 0x8c, 0x52, 0x95, 0x4a, + 0x16, 0x97, 0x7a, 0x52, 0x21, 0x63, 0x75, 0x2f, 0x16, 0xf9, 0xc4, 0x66, + 0xbe, 0xf5, 0xb5, 0x09, 0xd8, 0xff, 0x27, 0x00, 0xcd, 0x44, 0x7c, 0x6f, + 0x4b, 0x3f, 0xb0, 0xf7, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, + 0x63, 0x30, 0x82, 0x01, 0x5f, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, + 0x00, 0x30, 0x30, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x29, 0x30, 0x27, + 0x30, 0x25, 0xa0, 0x23, 0xa0, 0x21, 0x86, 0x1f, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x73, 0x31, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, 0x61, 0x33, 0x2d, 0x67, 0x35, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x2f, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x23, 0x30, 0x21, 0x30, + 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, + 0x13, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x32, 0x2e, 0x73, + 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x6b, 0x06, 0x03, + 0x55, 0x1d, 0x20, 0x04, 0x64, 0x30, 0x62, 0x30, 0x60, 0x06, 0x0a, 0x60, + 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, 0x36, 0x30, 0x52, 0x30, + 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, + 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x73, 0x79, 0x6d, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x70, 0x73, 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x02, 0x30, 0x1c, 0x1a, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x79, 0x6d, 0x61, 0x75, 0x74, + 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x30, 0x29, 0x06, + 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20, 0xa4, 0x1e, 0x30, 0x1c, + 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, + 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x50, 0x4b, 0x49, 0x2d, 0x31, + 0x2d, 0x35, 0x33, 0x34, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, + 0x16, 0x04, 0x14, 0x5f, 0x60, 0xcf, 0x61, 0x90, 0x55, 0xdf, 0x84, 0x43, + 0x14, 0x8a, 0x60, 0x2a, 0xb2, 0xf5, 0x7a, 0xf4, 0x43, 0x18, 0xef, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0x7f, 0xd3, 0x65, 0xa7, 0xc2, 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, + 0x43, 0x39, 0xfa, 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x5e, 0x94, 0x56, 0x49, 0xdd, 0x8e, 0x2d, 0x65, + 0xf5, 0xc1, 0x36, 0x51, 0xb6, 0x03, 0xe3, 0xda, 0x9e, 0x73, 0x19, 0xf2, + 0x1f, 0x59, 0xab, 0x58, 0x7e, 0x6c, 0x26, 0x05, 0x2c, 0xfa, 0x81, 0xd7, + 0x5c, 0x23, 0x17, 0x22, 0x2c, 0x37, 0x93, 0xf7, 0x86, 0xec, 0x85, 0xe6, + 0xb0, 0xa3, 0xfd, 0x1f, 0xe2, 0x32, 0xa8, 0x45, 0x6f, 0xe1, 0xd9, 0xfb, + 0xb9, 0xaf, 0xd2, 0x70, 0xa0, 0x32, 0x42, 0x65, 0xbf, 0x84, 0xfe, 0x16, + 0x2a, 0x8f, 0x3f, 0xc5, 0xa6, 0xd6, 0xa3, 0x93, 0x7d, 0x43, 0xe9, 0x74, + 0x21, 0x91, 0x35, 0x28, 0xf4, 0x63, 0xe9, 0x2e, 0xed, 0xf7, 0xf5, 0x5c, + 0x7f, 0x4b, 0x9a, 0xb5, 0x20, 0xe9, 0x0a, 0xbd, 0xe0, 0x45, 0x10, 0x0c, + 0x14, 0x94, 0x9a, 0x5d, 0xa5, 0xe3, 0x4b, 0x91, 0xe8, 0x24, 0x9b, 0x46, + 0x40, 0x65, 0xf4, 0x22, 0x72, 0xcd, 0x99, 0xf8, 0x88, 0x11, 0xf5, 0xf3, + 0x7f, 0xe6, 0x33, 0x82, 0xe6, 0xa8, 0xc5, 0x7e, 0xfe, 0xd0, 0x08, 0xe2, + 0x25, 0x58, 0x08, 0x71, 0x68, 0xe6, 0xcd, 0xa2, 0xe6, 0x14, 0xde, 0x4e, + 0x52, 0x24, 0x2d, 0xfd, 0xe5, 0x79, 0x13, 0x53, 0xe7, 0x5e, 0x2f, 0x2d, + 0x4d, 0x1b, 0x6d, 0x40, 0x15, 0x52, 0x2b, 0xf7, 0x87, 0x89, 0x78, 0x12, + 0x81, 0x6e, 0xd9, 0x4d, 0xaa, 0x2d, 0x78, 0xd4, 0xc2, 0x2c, 0x3d, 0x08, + 0x5f, 0x87, 0x91, 0x9e, 0x1f, 0x0e, 0xb0, 0xde, 0x30, 0x52, 0x64, 0x86, + 0x89, 0xaa, 0x9d, 0x66, 0x9c, 0x0e, 0x76, 0x0c, 0x80, 0xf2, 0x74, 0xd8, + 0x2a, 0xf8, 0xb8, 0x3a, 0xce, 0xd7, 0xd6, 0x0f, 0x11, 0xbe, 0x6b, 0xab, + 0x14, 0xf5, 0xbd, 0x41, 0xa0, 0x22, 0x63, 0x89, 0xf1, 0xba, 0x0f, 0x6f, + 0x29, 0x63, 0x66, 0x2d, 0x3f, 0xac, 0x8c, 0x72, 0xc5, 0xfb, 0xc7, 0xe4, + 0xd4, 0x0f, 0xf2, 0x3b, 0x4f, 0x8c, 0x29, 0xc7, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 69:87:94:19:d9:e3:62:70:74:9d:bb:e5:9d:c6:68:5e + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2008 VeriSign, Inc. - For authorized use only, CN=VeriSign Universal Root Certification Authority + Validity + Not Before: Apr 9 00:00:00 2013 GMT + Not After : Apr 8 23:59:59 2023 GMT + Subject: C=US, O=Symantec Corporation, OU=Symantec Trust Network, CN=Symantec Class 3 Secure Server SHA256 SSL CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:be:38:16:51:8b:80:db:ea:0e:4d:ec:e8:3f:5c: + c4:7c:a2:5d:ed:3b:af:a5:d6:9e:10:35:2c:e3:c5: + e5:a8:de:8c:86:17:26:e6:de:0b:51:4a:2c:d0:fb: + d1:14:5a:72:f7:c9:dd:b8:83:1c:c6:46:8c:31:25: + 91:0e:59:17:a3:d0:13:8c:92:c1:af:81:54:4e:bc: + 62:02:9e:aa:a7:1a:57:d8:ca:a6:99:7a:70:56:4f: + 98:07:2e:4b:96:d0:4c:39:53:b9:61:2f:3b:76:7c: + 8e:05:9e:99:44:d1:03:54:77:29:2b:56:2a:aa:61: + e4:84:2f:12:15:3c:bd:d7:8a:e8:09:1e:56:f1:b5: + 14:ac:8a:84:ce:ae:78:a2:60:0a:53:7e:13:4c:1a: + 40:70:0e:52:59:ff:5a:68:2e:4c:46:13:3b:39:09: + 82:78:02:35:49:20:08:82:b3:b1:6c:89:0f:6e:1e: + 35:25:b0:2c:24:83:e3:c5:50:2c:ba:46:90:45:87: + 0d:72:ff:5d:11:38:c5:91:76:c5:2c:fb:05:2a:82: + 95:a1:59:63:e3:d0:26:58:cd:67:56:3a:ba:df:7c: + d2:d2:3b:d8:de:1a:7a:77:e4:0c:8c:0b:eb:2b:c2: + 22:b0:bd:55:ba:d9:b9:55:d1:22:7a:c6:02:4e:3f: + c3:35 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.ws.symantec.com/universal-root.crl + + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Authority Information Access: + OCSP - URI:http://ocsp.ws.symantec.com + + X509v3 Certificate Policies: + Policy: 2.16.840.1.113733.1.7.54 + CPS: http://www.symauth.com/cps + User Notice: + Explicit Text: http://www.symauth.com/rpa + + X509v3 Subject Alternative Name: + DirName:/CN=VeriSignMPKI-2-373 + X509v3 Subject Key Identifier: + DB:62:20:FB:7D:02:89:7C:D2:3B:6F:C7:E4:32:6C:05:52:1D:AD:B1 + X509v3 Authority Key Identifier: + keyid:B6:77:FA:69:48:47:9F:53:12:D5:C2:EA:07:32:76:07:D1:97:07:19 + + Signature Algorithm: sha256WithRSAEncryption + 19:cc:95:e2:2f:7b:49:d0:48:90:53:f4:07:b1:20:44:35:70: + 14:d5:44:37:31:ef:ef:70:d1:2d:4c:e9:2d:b0:53:91:01:4c: + 54:e7:7d:9b:da:3a:ff:b7:cb:14:ad:30:0f:69:1a:2a:f0:bc: + cd:35:eb:48:dc:b9:87:fd:cf:b1:5a:f6:05:da:3c:64:e6:2b: + e6:dc:73:5e:9a:d8:0c:9b:d2:97:b3:e8:fa:87:95:53:e1:99: + ad:88:e8:fa:bc:09:4d:a2:c4:6a:1b:28:3b:2d:c3:21:15:ee: + 14:fa:9d:98:10:eb:9f:3e:e6:24:24:5f:7a:1c:05:bb:9a:31: + 23:58:79:4c:ec:6d:18:19:4d:51:1f:08:61:bd:91:05:0c:5a: + 9c:26:fc:0b:a5:20:25:bf:6a:1b:2b:f7:02:09:72:69:83:32: + 14:c3:60:5b:7e:fd:9a:32:fa:b4:95:0e:1a:f9:3b:09:a4:54: + 47:9a:0c:ce:32:af:d1:21:cc:7f:d2:06:ef:60:0e:62:6f:6f: + 81:1a:17:9d:c8:cb:28:cc:e2:5f:6e:2c:7a:b4:cb:47:7c:74: + 68:7b:48:71:02:9c:23:09:f3:5a:ae:5f:42:2e:5f:2b:59:2d: + 52:88:e5:8d:0b:b3:a8:61:f9:4b:9b:55:d6:da:b1:92:3b:bf: + c3:9b:f9:2c +-----BEGIN CERTIFICATE----- +MIIFSTCCBDGgAwIBAgIQaYeUGdnjYnB0nbvlncZoXjANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0xMzA0MDkwMDAwMDBaFw0yMzA0MDgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEd +MBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVj +IFRydXN0IE5ldHdvcmsxNTAzBgNVBAMTLFN5bWFudGVjIENsYXNzIDMgU2VjdXJl +IFNlcnZlciBTSEEyNTYgU1NMIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvjgWUYuA2+oOTezoP1zEfKJd7TuvpdaeEDUs48XlqN6Mhhcm5t4LUUos +0PvRFFpy98nduIMcxkaMMSWRDlkXo9ATjJLBr4FUTrxiAp6qpxpX2MqmmXpwVk+Y +By5LltBMOVO5YS87dnyOBZ6ZRNEDVHcpK1YqqmHkhC8SFTy914roCR5W8bUUrIqE +zq54omAKU34TTBpAcA5SWf9aaC5MRhM7OQmCeAI1SSAIgrOxbIkPbh41JbAsJIPj +xVAsukaQRYcNcv9dETjFkXbFLPsFKoKVoVlj49AmWM1nVjq633zS0jvY3hp6d+QM +jAvrK8IisL1Vutm5VdEiesYCTj/DNQIDAQABo4IBejCCAXYwEgYDVR0TAQH/BAgw +BgEB/wIBADA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLndzLnN5bWFudGVj +LmNvbS91bml2ZXJzYWwtcm9vdC5jcmwwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUF +BwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3Aud3Muc3ltYW50ZWMuY29t +MGsGA1UdIARkMGIwYAYKYIZIAYb4RQEHNjBSMCYGCCsGAQUFBwIBFhpodHRwOi8v +d3d3LnN5bWF1dGguY29tL2NwczAoBggrBgEFBQcCAjAcGhpodHRwOi8vd3d3LnN5 +bWF1dGguY29tL3JwYTAqBgNVHREEIzAhpB8wHTEbMBkGA1UEAxMSVmVyaVNpZ25N +UEtJLTItMzczMB0GA1UdDgQWBBTbYiD7fQKJfNI7b8fkMmwFUh2tsTAfBgNVHSME +GDAWgBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEAGcyV +4i97SdBIkFP0B7EgRDVwFNVENzHv73DRLUzpLbBTkQFMVOd9m9o6/7fLFK0wD2ka +KvC8zTXrSNy5h/3PsVr2Bdo8ZOYr5txzXprYDJvSl7Po+oeVU+GZrYjo+rwJTaLE +ahsoOy3DIRXuFPqdmBDrnz7mJCRfehwFu5oxI1h5TOxtGBlNUR8IYb2RBQxanCb8 +C6UgJb9qGyv3AglyaYMyFMNgW379mjL6tJUOGvk7CaRUR5oMzjKv0SHMf9IG72AO +Ym9vgRoXncjLKMziX24serTLR3x0aHtIcQKcIwnzWq5fQi5fK1ktUojljQuzqGH5 +S5tV1tqxkju/w5v5LA== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_46[] = { + 0x30, 0x82, 0x05, 0x49, 0x30, 0x82, 0x04, 0x31, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x69, 0x87, 0x94, 0x19, 0xd9, 0xe3, 0x62, 0x70, 0x74, + 0x9d, 0xbb, 0xe5, 0x9d, 0xc6, 0x68, 0x5e, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81, + 0xbd, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, + 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, + 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x31, 0x28, + 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x56, 0x65, 0x72, 0x69, + 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x31, 0x38, 0x30, 0x36, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2f, 0x56, + 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x55, 0x6e, 0x69, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x6c, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, + 0x17, 0x0d, 0x31, 0x33, 0x30, 0x34, 0x30, 0x39, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x33, 0x30, 0x34, 0x30, 0x38, 0x32, + 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x81, 0x84, 0x31, 0x0b, 0x30, + 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x1d, + 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x53, 0x79, 0x6d, + 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x16, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, + 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x31, 0x35, 0x30, 0x33, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x2c, 0x53, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x20, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x53, 0x48, 0x41, 0x32, + 0x35, 0x36, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbe, 0x38, 0x16, 0x51, 0x8b, 0x80, + 0xdb, 0xea, 0x0e, 0x4d, 0xec, 0xe8, 0x3f, 0x5c, 0xc4, 0x7c, 0xa2, 0x5d, + 0xed, 0x3b, 0xaf, 0xa5, 0xd6, 0x9e, 0x10, 0x35, 0x2c, 0xe3, 0xc5, 0xe5, + 0xa8, 0xde, 0x8c, 0x86, 0x17, 0x26, 0xe6, 0xde, 0x0b, 0x51, 0x4a, 0x2c, + 0xd0, 0xfb, 0xd1, 0x14, 0x5a, 0x72, 0xf7, 0xc9, 0xdd, 0xb8, 0x83, 0x1c, + 0xc6, 0x46, 0x8c, 0x31, 0x25, 0x91, 0x0e, 0x59, 0x17, 0xa3, 0xd0, 0x13, + 0x8c, 0x92, 0xc1, 0xaf, 0x81, 0x54, 0x4e, 0xbc, 0x62, 0x02, 0x9e, 0xaa, + 0xa7, 0x1a, 0x57, 0xd8, 0xca, 0xa6, 0x99, 0x7a, 0x70, 0x56, 0x4f, 0x98, + 0x07, 0x2e, 0x4b, 0x96, 0xd0, 0x4c, 0x39, 0x53, 0xb9, 0x61, 0x2f, 0x3b, + 0x76, 0x7c, 0x8e, 0x05, 0x9e, 0x99, 0x44, 0xd1, 0x03, 0x54, 0x77, 0x29, + 0x2b, 0x56, 0x2a, 0xaa, 0x61, 0xe4, 0x84, 0x2f, 0x12, 0x15, 0x3c, 0xbd, + 0xd7, 0x8a, 0xe8, 0x09, 0x1e, 0x56, 0xf1, 0xb5, 0x14, 0xac, 0x8a, 0x84, + 0xce, 0xae, 0x78, 0xa2, 0x60, 0x0a, 0x53, 0x7e, 0x13, 0x4c, 0x1a, 0x40, + 0x70, 0x0e, 0x52, 0x59, 0xff, 0x5a, 0x68, 0x2e, 0x4c, 0x46, 0x13, 0x3b, + 0x39, 0x09, 0x82, 0x78, 0x02, 0x35, 0x49, 0x20, 0x08, 0x82, 0xb3, 0xb1, + 0x6c, 0x89, 0x0f, 0x6e, 0x1e, 0x35, 0x25, 0xb0, 0x2c, 0x24, 0x83, 0xe3, + 0xc5, 0x50, 0x2c, 0xba, 0x46, 0x90, 0x45, 0x87, 0x0d, 0x72, 0xff, 0x5d, + 0x11, 0x38, 0xc5, 0x91, 0x76, 0xc5, 0x2c, 0xfb, 0x05, 0x2a, 0x82, 0x95, + 0xa1, 0x59, 0x63, 0xe3, 0xd0, 0x26, 0x58, 0xcd, 0x67, 0x56, 0x3a, 0xba, + 0xdf, 0x7c, 0xd2, 0xd2, 0x3b, 0xd8, 0xde, 0x1a, 0x7a, 0x77, 0xe4, 0x0c, + 0x8c, 0x0b, 0xeb, 0x2b, 0xc2, 0x22, 0xb0, 0xbd, 0x55, 0xba, 0xd9, 0xb9, + 0x55, 0xd1, 0x22, 0x7a, 0xc6, 0x02, 0x4e, 0x3f, 0xc3, 0x35, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x7a, 0x30, 0x82, 0x01, 0x76, 0x30, + 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, + 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x3e, 0x06, 0x03, 0x55, + 0x1d, 0x1f, 0x04, 0x37, 0x30, 0x35, 0x30, 0x33, 0xa0, 0x31, 0xa0, 0x2f, + 0x86, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, + 0x2e, 0x77, 0x73, 0x2e, 0x73, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x6c, 0x2d, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x37, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x2b, 0x30, 0x29, 0x30, 0x27, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x1b, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x77, 0x73, 0x2e, + 0x73, 0x79, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x6b, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x64, 0x30, 0x62, 0x30, + 0x60, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07, + 0x36, 0x30, 0x52, 0x30, 0x26, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x02, 0x01, 0x16, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x73, 0x79, 0x6d, 0x61, 0x75, 0x74, 0x68, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x28, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x1c, 0x1a, 0x1a, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x79, + 0x6d, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, + 0x61, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x23, 0x30, 0x21, + 0xa4, 0x1f, 0x30, 0x1d, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x12, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x4d, + 0x50, 0x4b, 0x49, 0x2d, 0x32, 0x2d, 0x33, 0x37, 0x33, 0x30, 0x1d, 0x06, + 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xdb, 0x62, 0x20, 0xfb, + 0x7d, 0x02, 0x89, 0x7c, 0xd2, 0x3b, 0x6f, 0xc7, 0xe4, 0x32, 0x6c, 0x05, + 0x52, 0x1d, 0xad, 0xb1, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0xb6, 0x77, 0xfa, 0x69, 0x48, 0x47, 0x9f, + 0x53, 0x12, 0xd5, 0xc2, 0xea, 0x07, 0x32, 0x76, 0x07, 0xd1, 0x97, 0x07, + 0x19, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x19, 0xcc, 0x95, + 0xe2, 0x2f, 0x7b, 0x49, 0xd0, 0x48, 0x90, 0x53, 0xf4, 0x07, 0xb1, 0x20, + 0x44, 0x35, 0x70, 0x14, 0xd5, 0x44, 0x37, 0x31, 0xef, 0xef, 0x70, 0xd1, + 0x2d, 0x4c, 0xe9, 0x2d, 0xb0, 0x53, 0x91, 0x01, 0x4c, 0x54, 0xe7, 0x7d, + 0x9b, 0xda, 0x3a, 0xff, 0xb7, 0xcb, 0x14, 0xad, 0x30, 0x0f, 0x69, 0x1a, + 0x2a, 0xf0, 0xbc, 0xcd, 0x35, 0xeb, 0x48, 0xdc, 0xb9, 0x87, 0xfd, 0xcf, + 0xb1, 0x5a, 0xf6, 0x05, 0xda, 0x3c, 0x64, 0xe6, 0x2b, 0xe6, 0xdc, 0x73, + 0x5e, 0x9a, 0xd8, 0x0c, 0x9b, 0xd2, 0x97, 0xb3, 0xe8, 0xfa, 0x87, 0x95, + 0x53, 0xe1, 0x99, 0xad, 0x88, 0xe8, 0xfa, 0xbc, 0x09, 0x4d, 0xa2, 0xc4, + 0x6a, 0x1b, 0x28, 0x3b, 0x2d, 0xc3, 0x21, 0x15, 0xee, 0x14, 0xfa, 0x9d, + 0x98, 0x10, 0xeb, 0x9f, 0x3e, 0xe6, 0x24, 0x24, 0x5f, 0x7a, 0x1c, 0x05, + 0xbb, 0x9a, 0x31, 0x23, 0x58, 0x79, 0x4c, 0xec, 0x6d, 0x18, 0x19, 0x4d, + 0x51, 0x1f, 0x08, 0x61, 0xbd, 0x91, 0x05, 0x0c, 0x5a, 0x9c, 0x26, 0xfc, + 0x0b, 0xa5, 0x20, 0x25, 0xbf, 0x6a, 0x1b, 0x2b, 0xf7, 0x02, 0x09, 0x72, + 0x69, 0x83, 0x32, 0x14, 0xc3, 0x60, 0x5b, 0x7e, 0xfd, 0x9a, 0x32, 0xfa, + 0xb4, 0x95, 0x0e, 0x1a, 0xf9, 0x3b, 0x09, 0xa4, 0x54, 0x47, 0x9a, 0x0c, + 0xce, 0x32, 0xaf, 0xd1, 0x21, 0xcc, 0x7f, 0xd2, 0x06, 0xef, 0x60, 0x0e, + 0x62, 0x6f, 0x6f, 0x81, 0x1a, 0x17, 0x9d, 0xc8, 0xcb, 0x28, 0xcc, 0xe2, + 0x5f, 0x6e, 0x2c, 0x7a, 0xb4, 0xcb, 0x47, 0x7c, 0x74, 0x68, 0x7b, 0x48, + 0x71, 0x02, 0x9c, 0x23, 0x09, 0xf3, 0x5a, 0xae, 0x5f, 0x42, 0x2e, 0x5f, + 0x2b, 0x59, 0x2d, 0x52, 0x88, 0xe5, 0x8d, 0x0b, 0xb3, 0xa8, 0x61, 0xf9, + 0x4b, 0x9b, 0x55, 0xd6, 0xda, 0xb1, 0x92, 0x3b, 0xbf, 0xc3, 0x9b, 0xf9, + 0x2c, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120036009 (0x7279aa9) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Validity + Not Before: Dec 19 20:07:32 2013 GMT + Not After : Dec 19 20:06:55 2017 GMT + Subject: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT SSL SHA2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:d1:e8:37:a7:76:8a:70:4b:19:f0:20:37:09:24: + 37:7f:ea:fb:78:e6:05:ba:6a:ad:4e:27:0d:fc:72: + 6a:d9:6c:21:c4:64:11:95:73:10:0a:5c:25:7b:88: + 6c:94:04:fd:c7:db:ae:7b:dc:4a:08:b3:3e:16:f1: + d0:ad:db:30:6d:d7:1a:1e:52:b5:3d:f0:47:19:03: + e2:7d:a6:bd:57:13:3f:54:ea:3a:a3:b1:77:fc:42: + f0:63:49:6a:91:80:2e:30:49:c0:8a:eb:2b:af:fe: + 3a:eb:07:5d:06:f7:e9:fd:84:0e:91:bd:09:20:29: + e8:6e:5d:09:ce:15:d3:e7:ef:db:50:eb:44:ef:18: + 57:ab:04:1d:bc:31:f9:f7:7b:2a:13:cf:d1:3d:51: + af:1b:c5:b5:7b:e7:b0:fc:53:bb:9a:e7:63:de:41: + 33:b6:47:24:69:5d:b8:46:a7:ff:ad:ab:df:4f:7a: + 78:25:27:21:26:34:ca:02:6e:37:51:f0:ed:58:1a: + 60:94:f6:c4:93:d8:dd:30:24:25:d7:1c:eb:19:94: + 35:5d:93:b2:ae:aa:29:83:73:c4:74:59:05:52:67: + 9d:da:67:51:39:05:3a:36:ea:f2:1e:76:2b:14:ae: + ec:3d:f9:14:99:8b:07:6e:bc:e7:0c:56:de:ac:be: + ae:db:75:32:90:9e:63:bd:74:bf:e0:0a:ca:f8:34: + 96:67:84:cd:d1:42:38:78:c7:99:b6:0c:ce:b6:0f: + e9:1b:cb:f4:59:be:11:0e:cb:2c:32:c8:fa:83:29: + 64:79:3c:8b:4b:f0:32:74:6c:f3:93:b8:96:6b:5d: + 57:5a:68:c1:cc:0c:79:8a:19:de:f5:49:02:5e:08: + 80:01:89:0c:32:cd:d2:d6:96:d5:4b:a0:f3:ec:bf: + ab:f4:7d:b3:a1:b9:7c:da:4e:d7:e5:b7:ac:b9:f2: + 25:5f:01:cb:8c:96:a8:28:ae:c1:33:5a:f6:3f:08: + 90:dc:eb:ff:39:d8:26:c8:12:9d:1c:9a:aa:a9:c0: + 16:8e:86:ed:67:52:96:00:7f:0d:92:3d:3d:d9:70: + 36:e5:ea:42:6f:1f:ae:95:e5:5b:5d:f8:d0:3a:c7: + d4:de:77:86:d0:fc:9e:4e:e2:e2:b8:a9:68:37:09: + c4:39:e3:85:b8:89:f3:1f:6e:b7:6d:1f:4a:2f:18: + 09:6f:de:4a:01:8f:14:c9:b7:a6:ee:a7:63:9f:33: + a4:54:7c:42:83:68:b8:a5:df:bf:ec:b9:1a:5d:13: + 3b:d9:ad:68:fd:20:0a:55:91:21:64:f9:d7:13:01: + a0:08:5d:59:89:1b:44:af:a4:ac:c7:05:10:fa:41: + 4a:a8:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6334.1.0 + CPS: http://cybertrust.omniroot.com/repository.cfm + + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication + X509v3 Authority Key Identifier: + keyid:E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://cdp1.public-trust.com/CRL/Omniroot2025.crl + + X509v3 Subject Key Identifier: + 51:AF:24:26:9C:F4:68:22:57:80:26:2B:3B:46:62:15:7B:1E:CC:A5 + Signature Algorithm: sha256WithRSAEncryption + 76:85:c5:23:31:1f:b4:73:ea:a0:bc:a5:ed:df:45:43:6a:7f: + 69:20:1b:80:b2:fb:1c:dd:aa:7f:88:d3:31:41:36:f7:fb:fb: + 6b:ad:98:8c:78:1f:9d:11:67:3a:cd:4b:ec:a8:bc:9d:15:19: + c4:3b:0b:a7:93:ce:e8:fc:9d:5b:e8:1f:cb:56:ae:76:43:2b: + c7:13:51:77:41:a8:66:4c:5f:a7:d1:d7:aa:75:c5:1b:29:4c: + c9:f4:6d:a1:5e:a1:85:93:16:c2:cb:3b:ab:14:7d:44:fd:da: + 25:29:86:2a:fe:63:20:ca:d2:0b:c2:34:15:bb:af:5b:7f:8a: + e0:aa:ed:45:a6:ea:79:db:d8:35:66:54:43:de:37:33:d1:e4: + e0:cd:57:ca:71:b0:7d:e9:16:77:64:e8:59:97:b9:d5:2e:d1: + b4:91:da:77:71:f3:4a:0f:48:d2:34:99:60:95:37:ac:1f:01: + cd:10:9d:e8:2a:a5:20:c7:50:9b:b3:6c:49:78:2b:58:92:64: + 89:b8:95:36:a8:34:aa:f0:41:d2:95:5a:24:54:97:4d:6e:05: + c4:95:ad:c4:7a:a3:39:fb:79:06:8a:9b:a6:4f:d9:22:fa:44: + 4e:36:f3:c9:0f:a6:39:e7:80:b2:5e:bf:bd:39:d1:46:e5:55: + 47:db:bc:6e +-----BEGIN CERTIFICATE----- +MIIFhjCCBG6gAwIBAgIEByeaqTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTEzMTIxOTIwMDczMloX +DTE3MTIxOTIwMDY1NVowgYsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +YXRpb24xFTATBgNVBAsTDE1pY3Jvc29mdCBJVDEeMBwGA1UEAxMVTWljcm9zb2Z0 +IElUIFNTTCBTSEEyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0eg3 +p3aKcEsZ8CA3CSQ3f+r7eOYFumqtTicN/HJq2WwhxGQRlXMQClwle4hslAT9x9uu +e9xKCLM+FvHQrdswbdcaHlK1PfBHGQPifaa9VxM/VOo6o7F3/ELwY0lqkYAuMEnA +iusrr/466wddBvfp/YQOkb0JICnobl0JzhXT5+/bUOtE7xhXqwQdvDH593sqE8/R +PVGvG8W1e+ew/FO7mudj3kEztkckaV24Rqf/ravfT3p4JSchJjTKAm43UfDtWBpg +lPbEk9jdMCQl1xzrGZQ1XZOyrqopg3PEdFkFUmed2mdROQU6NuryHnYrFK7sPfkU +mYsHbrznDFberL6u23UykJ5jvXS/4ArK+DSWZ4TN0UI4eMeZtgzOtg/pG8v0Wb4R +DsssMsj6gylkeTyLS/AydGzzk7iWa11XWmjBzAx5ihne9UkCXgiAAYkMMs3S1pbV +S6Dz7L+r9H2zobl82k7X5besufIlXwHLjJaoKK7BM1r2PwiQ3Ov/OdgmyBKdHJqq +qcAWjobtZ1KWAH8Nkj092XA25epCbx+uleVbXfjQOsfU3neG0PyeTuLiuKloNwnE +OeOFuInzH263bR9KLxgJb95KAY8Uybem7qdjnzOkVHxCg2i4pd+/7LkaXRM72a1o +/SAKVZEhZPnXEwGgCF1ZiRtEr6SsxwUQ+kFKqPsCAwEAAaOCASAwggEcMBIGA1Ud +EwEB/wQIMAYBAf8CAQAwUwYDVR0gBEwwSjBIBgkrBgEEAbE+AQAwOzA5BggrBgEF +BQcCARYtaHR0cDovL2N5YmVydHJ1c3Qub21uaXJvb3QuY29tL3JlcG9zaXRvcnku +Y2ZtMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH +AwIwHwYDVR0jBBgwFoAU5Z1ZMIJHWMys+ghUNoZ7OrUETfAwQgYDVR0fBDswOTA3 +oDWgM4YxaHR0cDovL2NkcDEucHVibGljLXRydXN0LmNvbS9DUkwvT21uaXJvb3Qy +MDI1LmNybDAdBgNVHQ4EFgQUUa8kJpz0aCJXgCYrO0ZiFXsezKUwDQYJKoZIhvcN +AQELBQADggEBAHaFxSMxH7Rz6qC8pe3fRUNqf2kgG4Cy+xzdqn+I0zFBNvf7+2ut +mIx4H50RZzrNS+yovJ0VGcQ7C6eTzuj8nVvoH8tWrnZDK8cTUXdBqGZMX6fR16p1 +xRspTMn0baFeoYWTFsLLO6sUfUT92iUphir+YyDK0gvCNBW7r1t/iuCq7UWm6nnb +2DVmVEPeNzPR5ODNV8pxsH3pFndk6FmXudUu0bSR2ndx80oPSNI0mWCVN6wfAc0Q +negqpSDHUJuzbEl4K1iSZIm4lTaoNKrwQdKVWiRUl01uBcSVrcR6ozn7eQaKm6ZP +2SL6RE4288kPpjnngLJev7050UblVUfbvG4= +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_47[] = { + 0x30, 0x82, 0x05, 0x86, 0x30, 0x82, 0x04, 0x6e, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0x9a, 0xa9, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x5a, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, + 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, + 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x19, 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x33, + 0x31, 0x32, 0x31, 0x39, 0x32, 0x30, 0x30, 0x37, 0x33, 0x32, 0x5a, 0x17, + 0x0d, 0x31, 0x37, 0x31, 0x32, 0x31, 0x39, 0x32, 0x30, 0x30, 0x36, 0x35, + 0x35, 0x5a, 0x30, 0x81, 0x8b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, + 0x55, 0x04, 0x08, 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, + 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x0c, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, + 0x74, 0x20, 0x49, 0x54, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, + 0x20, 0x49, 0x54, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, + 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, + 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01, 0x00, 0xd1, 0xe8, 0x37, + 0xa7, 0x76, 0x8a, 0x70, 0x4b, 0x19, 0xf0, 0x20, 0x37, 0x09, 0x24, 0x37, + 0x7f, 0xea, 0xfb, 0x78, 0xe6, 0x05, 0xba, 0x6a, 0xad, 0x4e, 0x27, 0x0d, + 0xfc, 0x72, 0x6a, 0xd9, 0x6c, 0x21, 0xc4, 0x64, 0x11, 0x95, 0x73, 0x10, + 0x0a, 0x5c, 0x25, 0x7b, 0x88, 0x6c, 0x94, 0x04, 0xfd, 0xc7, 0xdb, 0xae, + 0x7b, 0xdc, 0x4a, 0x08, 0xb3, 0x3e, 0x16, 0xf1, 0xd0, 0xad, 0xdb, 0x30, + 0x6d, 0xd7, 0x1a, 0x1e, 0x52, 0xb5, 0x3d, 0xf0, 0x47, 0x19, 0x03, 0xe2, + 0x7d, 0xa6, 0xbd, 0x57, 0x13, 0x3f, 0x54, 0xea, 0x3a, 0xa3, 0xb1, 0x77, + 0xfc, 0x42, 0xf0, 0x63, 0x49, 0x6a, 0x91, 0x80, 0x2e, 0x30, 0x49, 0xc0, + 0x8a, 0xeb, 0x2b, 0xaf, 0xfe, 0x3a, 0xeb, 0x07, 0x5d, 0x06, 0xf7, 0xe9, + 0xfd, 0x84, 0x0e, 0x91, 0xbd, 0x09, 0x20, 0x29, 0xe8, 0x6e, 0x5d, 0x09, + 0xce, 0x15, 0xd3, 0xe7, 0xef, 0xdb, 0x50, 0xeb, 0x44, 0xef, 0x18, 0x57, + 0xab, 0x04, 0x1d, 0xbc, 0x31, 0xf9, 0xf7, 0x7b, 0x2a, 0x13, 0xcf, 0xd1, + 0x3d, 0x51, 0xaf, 0x1b, 0xc5, 0xb5, 0x7b, 0xe7, 0xb0, 0xfc, 0x53, 0xbb, + 0x9a, 0xe7, 0x63, 0xde, 0x41, 0x33, 0xb6, 0x47, 0x24, 0x69, 0x5d, 0xb8, + 0x46, 0xa7, 0xff, 0xad, 0xab, 0xdf, 0x4f, 0x7a, 0x78, 0x25, 0x27, 0x21, + 0x26, 0x34, 0xca, 0x02, 0x6e, 0x37, 0x51, 0xf0, 0xed, 0x58, 0x1a, 0x60, + 0x94, 0xf6, 0xc4, 0x93, 0xd8, 0xdd, 0x30, 0x24, 0x25, 0xd7, 0x1c, 0xeb, + 0x19, 0x94, 0x35, 0x5d, 0x93, 0xb2, 0xae, 0xaa, 0x29, 0x83, 0x73, 0xc4, + 0x74, 0x59, 0x05, 0x52, 0x67, 0x9d, 0xda, 0x67, 0x51, 0x39, 0x05, 0x3a, + 0x36, 0xea, 0xf2, 0x1e, 0x76, 0x2b, 0x14, 0xae, 0xec, 0x3d, 0xf9, 0x14, + 0x99, 0x8b, 0x07, 0x6e, 0xbc, 0xe7, 0x0c, 0x56, 0xde, 0xac, 0xbe, 0xae, + 0xdb, 0x75, 0x32, 0x90, 0x9e, 0x63, 0xbd, 0x74, 0xbf, 0xe0, 0x0a, 0xca, + 0xf8, 0x34, 0x96, 0x67, 0x84, 0xcd, 0xd1, 0x42, 0x38, 0x78, 0xc7, 0x99, + 0xb6, 0x0c, 0xce, 0xb6, 0x0f, 0xe9, 0x1b, 0xcb, 0xf4, 0x59, 0xbe, 0x11, + 0x0e, 0xcb, 0x2c, 0x32, 0xc8, 0xfa, 0x83, 0x29, 0x64, 0x79, 0x3c, 0x8b, + 0x4b, 0xf0, 0x32, 0x74, 0x6c, 0xf3, 0x93, 0xb8, 0x96, 0x6b, 0x5d, 0x57, + 0x5a, 0x68, 0xc1, 0xcc, 0x0c, 0x79, 0x8a, 0x19, 0xde, 0xf5, 0x49, 0x02, + 0x5e, 0x08, 0x80, 0x01, 0x89, 0x0c, 0x32, 0xcd, 0xd2, 0xd6, 0x96, 0xd5, + 0x4b, 0xa0, 0xf3, 0xec, 0xbf, 0xab, 0xf4, 0x7d, 0xb3, 0xa1, 0xb9, 0x7c, + 0xda, 0x4e, 0xd7, 0xe5, 0xb7, 0xac, 0xb9, 0xf2, 0x25, 0x5f, 0x01, 0xcb, + 0x8c, 0x96, 0xa8, 0x28, 0xae, 0xc1, 0x33, 0x5a, 0xf6, 0x3f, 0x08, 0x90, + 0xdc, 0xeb, 0xff, 0x39, 0xd8, 0x26, 0xc8, 0x12, 0x9d, 0x1c, 0x9a, 0xaa, + 0xa9, 0xc0, 0x16, 0x8e, 0x86, 0xed, 0x67, 0x52, 0x96, 0x00, 0x7f, 0x0d, + 0x92, 0x3d, 0x3d, 0xd9, 0x70, 0x36, 0xe5, 0xea, 0x42, 0x6f, 0x1f, 0xae, + 0x95, 0xe5, 0x5b, 0x5d, 0xf8, 0xd0, 0x3a, 0xc7, 0xd4, 0xde, 0x77, 0x86, + 0xd0, 0xfc, 0x9e, 0x4e, 0xe2, 0xe2, 0xb8, 0xa9, 0x68, 0x37, 0x09, 0xc4, + 0x39, 0xe3, 0x85, 0xb8, 0x89, 0xf3, 0x1f, 0x6e, 0xb7, 0x6d, 0x1f, 0x4a, + 0x2f, 0x18, 0x09, 0x6f, 0xde, 0x4a, 0x01, 0x8f, 0x14, 0xc9, 0xb7, 0xa6, + 0xee, 0xa7, 0x63, 0x9f, 0x33, 0xa4, 0x54, 0x7c, 0x42, 0x83, 0x68, 0xb8, + 0xa5, 0xdf, 0xbf, 0xec, 0xb9, 0x1a, 0x5d, 0x13, 0x3b, 0xd9, 0xad, 0x68, + 0xfd, 0x20, 0x0a, 0x55, 0x91, 0x21, 0x64, 0xf9, 0xd7, 0x13, 0x01, 0xa0, + 0x08, 0x5d, 0x59, 0x89, 0x1b, 0x44, 0xaf, 0xa4, 0xac, 0xc7, 0x05, 0x10, + 0xfa, 0x41, 0x4a, 0xa8, 0xfb, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x20, 0x30, 0x82, 0x01, 0x1c, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x53, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x4c, 0x30, + 0x4a, 0x30, 0x48, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xb1, 0x3e, + 0x01, 0x00, 0x30, 0x3b, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x63, 0x66, 0x6d, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, + 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x02, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0xe5, 0x9d, 0x59, 0x30, 0x82, 0x47, 0x58, 0xcc, 0xac, + 0xfa, 0x08, 0x54, 0x36, 0x86, 0x7b, 0x3a, 0xb5, 0x04, 0x4d, 0xf0, 0x30, + 0x42, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x3b, 0x30, 0x39, 0x30, 0x37, + 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x63, 0x64, 0x70, 0x31, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x2d, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x52, 0x4c, 0x2f, 0x4f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x32, + 0x30, 0x32, 0x35, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x51, 0xaf, 0x24, 0x26, 0x9c, 0xf4, + 0x68, 0x22, 0x57, 0x80, 0x26, 0x2b, 0x3b, 0x46, 0x62, 0x15, 0x7b, 0x1e, + 0xcc, 0xa5, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, + 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x76, 0x85, + 0xc5, 0x23, 0x31, 0x1f, 0xb4, 0x73, 0xea, 0xa0, 0xbc, 0xa5, 0xed, 0xdf, + 0x45, 0x43, 0x6a, 0x7f, 0x69, 0x20, 0x1b, 0x80, 0xb2, 0xfb, 0x1c, 0xdd, + 0xaa, 0x7f, 0x88, 0xd3, 0x31, 0x41, 0x36, 0xf7, 0xfb, 0xfb, 0x6b, 0xad, + 0x98, 0x8c, 0x78, 0x1f, 0x9d, 0x11, 0x67, 0x3a, 0xcd, 0x4b, 0xec, 0xa8, + 0xbc, 0x9d, 0x15, 0x19, 0xc4, 0x3b, 0x0b, 0xa7, 0x93, 0xce, 0xe8, 0xfc, + 0x9d, 0x5b, 0xe8, 0x1f, 0xcb, 0x56, 0xae, 0x76, 0x43, 0x2b, 0xc7, 0x13, + 0x51, 0x77, 0x41, 0xa8, 0x66, 0x4c, 0x5f, 0xa7, 0xd1, 0xd7, 0xaa, 0x75, + 0xc5, 0x1b, 0x29, 0x4c, 0xc9, 0xf4, 0x6d, 0xa1, 0x5e, 0xa1, 0x85, 0x93, + 0x16, 0xc2, 0xcb, 0x3b, 0xab, 0x14, 0x7d, 0x44, 0xfd, 0xda, 0x25, 0x29, + 0x86, 0x2a, 0xfe, 0x63, 0x20, 0xca, 0xd2, 0x0b, 0xc2, 0x34, 0x15, 0xbb, + 0xaf, 0x5b, 0x7f, 0x8a, 0xe0, 0xaa, 0xed, 0x45, 0xa6, 0xea, 0x79, 0xdb, + 0xd8, 0x35, 0x66, 0x54, 0x43, 0xde, 0x37, 0x33, 0xd1, 0xe4, 0xe0, 0xcd, + 0x57, 0xca, 0x71, 0xb0, 0x7d, 0xe9, 0x16, 0x77, 0x64, 0xe8, 0x59, 0x97, + 0xb9, 0xd5, 0x2e, 0xd1, 0xb4, 0x91, 0xda, 0x77, 0x71, 0xf3, 0x4a, 0x0f, + 0x48, 0xd2, 0x34, 0x99, 0x60, 0x95, 0x37, 0xac, 0x1f, 0x01, 0xcd, 0x10, + 0x9d, 0xe8, 0x2a, 0xa5, 0x20, 0xc7, 0x50, 0x9b, 0xb3, 0x6c, 0x49, 0x78, + 0x2b, 0x58, 0x92, 0x64, 0x89, 0xb8, 0x95, 0x36, 0xa8, 0x34, 0xaa, 0xf0, + 0x41, 0xd2, 0x95, 0x5a, 0x24, 0x54, 0x97, 0x4d, 0x6e, 0x05, 0xc4, 0x95, + 0xad, 0xc4, 0x7a, 0xa3, 0x39, 0xfb, 0x79, 0x06, 0x8a, 0x9b, 0xa6, 0x4f, + 0xd9, 0x22, 0xfa, 0x44, 0x4e, 0x36, 0xf3, 0xc9, 0x0f, 0xa6, 0x39, 0xe7, + 0x80, 0xb2, 0x5e, 0xbf, 0xbd, 0x39, 0xd1, 0x46, 0xe5, 0x55, 0x47, 0xdb, + 0xbc, 0x6e, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 75:96:c2:3e:fa:89:59:45:6e:79:f7:17:ba:cf:64:f3 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CN, O=WoSign CA Limited, CN=Certification Authority of WoSign + Validity + Not Before: Nov 8 00:58:58 2014 GMT + Not After : Nov 8 00:58:58 2029 GMT + Subject: C=CN, O=WoSign CA Limited, CN=WoSign Class 3 OV Server CA G2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d6:74:87:af:99:c0:57:96:99:c2:89:74:3c:92: + 55:99:bf:1f:07:00:35:05:26:96:16:5b:03:c1:42: + 37:33:be:3f:0d:4f:ff:bb:94:26:91:d7:14:16:78: + 1b:f7:13:a2:4b:4c:e5:5c:a7:10:40:35:59:30:d1: + 77:99:e3:9d:29:c2:be:31:95:bd:92:61:5b:b0:23: + fb:67:58:d5:52:e4:7b:2f:f0:73:1c:73:94:55:ba: + c8:68:59:02:10:10:e4:f7:11:f0:c3:b6:d7:ae:56: + 80:00:9e:65:64:a6:83:91:41:e6:ed:a7:7a:65:a5: + 1f:30:2e:13:3c:bf:df:63:97:f3:96:f0:52:32:b4: + f4:7b:98:57:ed:36:4f:f7:21:4a:28:9d:dd:1c:92: + b3:4d:8d:9c:58:8b:17:21:d8:dc:a1:b7:ae:73:78: + 8a:c4:b6:e9:7f:28:8e:9a:d5:2e:9e:39:e9:da:59: + 74:e3:c8:97:10:32:94:19:59:d4:0f:89:57:44:e6: + e5:2b:17:30:62:52:98:7f:ab:0d:a5:01:ea:04:41: + ca:fa:13:0e:3b:87:06:ba:bd:47:31:d7:63:03:01: + f4:be:a1:37:11:9f:1e:01:95:4e:0f:3f:54:1e:92: + a6:9f:30:8c:fe:98:e8:56:96:66:04:e1:35:fe:59: + ac:57 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Client Authentication, TLS Web Server Authentication + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crls1.wosign.com/ca1.crl + + Authority Information Access: + OCSP - URI:http://ocsp1.wosign.com/ca1 + CA Issuers - URI:http://aia1.wosign.com/ca1g2-server3.cer + + X509v3 Subject Key Identifier: + F9:8B:EC:04:38:6A:3F:AA:06:C6:94:AD:73:95:2A:B0:C8:E6:B8:FB + X509v3 Authority Key Identifier: + keyid:E1:66:CF:0E:D1:F1:B3:4B:B7:06:20:14:FE:87:12:D5:F6:FE:FB:3E + + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.36305.6.3.2.1 + CPS: http://www.wosign.com/policy/ + + Signature Algorithm: sha256WithRSAEncryption + 5e:67:ba:78:32:05:b6:b7:af:e7:de:6a:7a:82:64:0e:a0:0b: + f2:9e:9a:ba:c6:2b:6f:56:3a:b4:62:57:ab:7c:ad:60:50:96: + 34:9c:a3:88:cf:d9:8f:50:af:f6:f0:00:36:1b:1f:1f:87:55: + 3c:60:9a:f0:b0:0d:9a:80:2d:8a:3b:be:05:b3:d7:a0:80:b6: + b8:19:eb:51:db:ec:64:54:f1:1a:89:4a:48:a1:4d:3f:31:7d: + c4:79:94:4b:f1:de:ab:83:af:5f:86:be:96:1c:b3:3e:1c:e7: + bc:96:b2:e8:5a:ac:b5:58:cb:3c:56:6f:0a:a7:a5:d0:36:89: + 82:26:8c:b9:1f:b6:eb:8f:7e:78:fc:5b:8b:79:1c:d6:df:47: + a7:56:f4:98:4e:c7:a9:d5:0e:75:56:06:7f:b4:37:46:08:c6: + e9:4f:8b:5b:43:1c:e0:45:3e:95:20:71:c0:1c:98:16:ef:f2: + 78:df:ac:4d:bb:bf:56:0e:cf:85:af:cf:bf:04:ed:72:6b:fd: + 1f:57:0e:58:91:44:11:58:3b:62:3b:09:78:b3:a4:75:6a:ec: + b3:c2:2b:32:cc:b3:8d:c3:a3:6e:dc:8a:d5:e8:4a:c4:0b:7b: + db:30:5d:95:33:c3:d1:a3:69:64:5b:a8:aa:96:48:73:73:e3: + c9:b9:24:df:17:75:aa:af:07:3a:cf:be:9b:8a:80:a7:bf:7c: + e2:e9:2a:e6:fd:b0:2c:e7:e6:e6:7e:b3:35:15:65:00:f4:e1: + 39:73:0e:28:4b:f0:0c:98:9e:3a:eb:ce:7b:7a:9e:40:c1:50: + 65:96:9a:e7:4b:77:cd:dd:cb:7d:97:b4:ea:09:b2:e9:49:28: + c3:30:e0:87:15:f0:26:ea:d8:03:fd:ec:da:08:83:65:dc:77: + c5:6e:3d:34:f7:87:c3:1c:1d:26:33:ec:33:ac:c6:99:53:ab: + 60:f4:b0:d9:ee:64:5a:33:07:70:13:74:88:07:f5:86:f9:18: + d3:b2:47:c8:ae:03:4a:53:de:1c:65:d6:0a:2e:3a:51:93:ee: + b7:e3:6f:0a:fb:e9:fe:4e:e8:bb:1d:c2:97:ab:0a:b9:ed:36: + 32:1b:4d:a1:cc:03:a6:9d:b3:d9:1c:d5:67:e2:8f:74:3c:92: + 2a:74:b1:56:50:df:53:15:d7:21:d6:eb:f3:fb:63:e3:20:2c: + 0a:74:37:0b:c1:a1:35:6a:84:70:f4:45:f8:b2:b6:81:49:aa: + fd:54:45:90:4d:e7:04:07:5f:78:14:dd:3a:bb:2b:f9:72:50: + ec:68:ea:3c:a8:d1:80:bb:be:35:43:97:c3:32:b2:f5:aa:ad: + c9:7f:83:9f:7d:69:1e:15 +-----BEGIN CERTIFICATE----- +MIIFozCCA4ugAwIBAgIQdZbCPvqJWUVuefcXus9k8zANBgkqhkiG9w0BAQsFADBV +MQswCQYDVQQGEwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNV +BAMTIUNlcnRpZmljYXRpb24gQXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0xNDExMDgw +MDU4NThaFw0yOTExMDgwMDU4NThaMFIxCzAJBgNVBAYTAkNOMRowGAYDVQQKExFX +b1NpZ24gQ0EgTGltaXRlZDEnMCUGA1UEAxMeV29TaWduIENsYXNzIDMgT1YgU2Vy +dmVyIENBIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1nSHr5nA +V5aZwol0PJJVmb8fBwA1BSaWFlsDwUI3M74/DU//u5QmkdcUFngb9xOiS0zlXKcQ +QDVZMNF3meOdKcK+MZW9kmFbsCP7Z1jVUuR7L/BzHHOUVbrIaFkCEBDk9xHww7bX +rlaAAJ5lZKaDkUHm7ad6ZaUfMC4TPL/fY5fzlvBSMrT0e5hX7TZP9yFKKJ3dHJKz +TY2cWIsXIdjcobeuc3iKxLbpfyiOmtUunjnp2ll048iXEDKUGVnUD4lXROblKxcw +YlKYf6sNpQHqBEHK+hMOO4cGur1HMddjAwH0vqE3EZ8eAZVODz9UHpKmnzCM/pjo +VpZmBOE1/lmsVwIDAQABo4IBcDCCAWwwDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQW +MBQGCCsGAQUFBwMCBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/AgEAMDAGA1Ud +HwQpMCcwJaAjoCGGH2h0dHA6Ly9jcmxzMS53b3NpZ24uY29tL2NhMS5jcmwwbQYI +KwYBBQUHAQEEYTBfMCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcDEud29zaWduLmNv +bS9jYTEwNAYIKwYBBQUHMAKGKGh0dHA6Ly9haWExLndvc2lnbi5jb20vY2ExZzIt +c2VydmVyMy5jZXIwHQYDVR0OBBYEFPmL7AQ4aj+qBsaUrXOVKrDI5rj7MB8GA1Ud +IwQYMBaAFOFmzw7R8bNLtwYgFP6HEtX2/vs+MEYGA1UdIAQ/MD0wOwYMKwYBBAGC +m1EGAwIBMCswKQYIKwYBBQUHAgEWHWh0dHA6Ly93d3cud29zaWduLmNvbS9wb2xp +Y3kvMA0GCSqGSIb3DQEBCwUAA4ICAQBeZ7p4MgW2t6/n3mp6gmQOoAvynpq6xitv +Vjq0YlerfK1gUJY0nKOIz9mPUK/28AA2Gx8fh1U8YJrwsA2agC2KO74Fs9eggLa4 +GetR2+xkVPEaiUpIoU0/MX3EeZRL8d6rg69fhr6WHLM+HOe8lrLoWqy1WMs8Vm8K +p6XQNomCJoy5H7brj354/FuLeRzW30enVvSYTsep1Q51VgZ/tDdGCMbpT4tbQxzg +RT6VIHHAHJgW7/J436xNu79WDs+Fr8+/BO1ya/0fVw5YkUQRWDtiOwl4s6R1auyz +wisyzLONw6Nu3IrV6ErEC3vbMF2VM8PRo2lkW6iqlkhzc+PJuSTfF3Wqrwc6z76b +ioCnv3zi6Srm/bAs5+bmfrM1FWUA9OE5cw4oS/AMmJ466857ep5AwVBllprnS3fN +3ct9l7TqCbLpSSjDMOCHFfAm6tgD/ezaCINl3HfFbj0094fDHB0mM+wzrMaZU6tg +9LDZ7mRaMwdwE3SIB/WG+RjTskfIrgNKU94cZdYKLjpRk+63428K++n+Tui7HcKX +qwq57TYyG02hzAOmnbPZHNVn4o90PJIqdLFWUN9TFdch1uvz+2PjICwKdDcLwaE1 +aoRw9EX4sraBSar9VEWQTecEB194FN06uyv5clDsaOo8qNGAu741Q5fDMrL1qq3J +f4OffWkeFQ== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_48[] = { + 0x30, 0x82, 0x05, 0xa3, 0x30, 0x82, 0x03, 0x8b, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x75, 0x96, 0xc2, 0x3e, 0xfa, 0x89, 0x59, 0x45, 0x6e, + 0x79, 0xf7, 0x17, 0xba, 0xcf, 0x64, 0xf3, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x55, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, + 0x4e, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, + 0x57, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x41, 0x20, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x65, 0x64, 0x31, 0x2a, 0x30, 0x28, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x13, 0x21, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x57, 0x6f, 0x53, 0x69, 0x67, + 0x6e, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x31, 0x31, 0x30, 0x38, 0x30, + 0x30, 0x35, 0x38, 0x35, 0x38, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x31, 0x31, + 0x30, 0x38, 0x30, 0x30, 0x35, 0x38, 0x35, 0x38, 0x5a, 0x30, 0x52, 0x31, + 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, 0x4e, + 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x57, + 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x41, 0x20, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x65, 0x64, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x1e, 0x57, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x4f, 0x56, 0x20, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x20, 0x47, 0x32, 0x30, 0x82, 0x01, + 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, + 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xd6, 0x74, 0x87, 0xaf, 0x99, 0xc0, + 0x57, 0x96, 0x99, 0xc2, 0x89, 0x74, 0x3c, 0x92, 0x55, 0x99, 0xbf, 0x1f, + 0x07, 0x00, 0x35, 0x05, 0x26, 0x96, 0x16, 0x5b, 0x03, 0xc1, 0x42, 0x37, + 0x33, 0xbe, 0x3f, 0x0d, 0x4f, 0xff, 0xbb, 0x94, 0x26, 0x91, 0xd7, 0x14, + 0x16, 0x78, 0x1b, 0xf7, 0x13, 0xa2, 0x4b, 0x4c, 0xe5, 0x5c, 0xa7, 0x10, + 0x40, 0x35, 0x59, 0x30, 0xd1, 0x77, 0x99, 0xe3, 0x9d, 0x29, 0xc2, 0xbe, + 0x31, 0x95, 0xbd, 0x92, 0x61, 0x5b, 0xb0, 0x23, 0xfb, 0x67, 0x58, 0xd5, + 0x52, 0xe4, 0x7b, 0x2f, 0xf0, 0x73, 0x1c, 0x73, 0x94, 0x55, 0xba, 0xc8, + 0x68, 0x59, 0x02, 0x10, 0x10, 0xe4, 0xf7, 0x11, 0xf0, 0xc3, 0xb6, 0xd7, + 0xae, 0x56, 0x80, 0x00, 0x9e, 0x65, 0x64, 0xa6, 0x83, 0x91, 0x41, 0xe6, + 0xed, 0xa7, 0x7a, 0x65, 0xa5, 0x1f, 0x30, 0x2e, 0x13, 0x3c, 0xbf, 0xdf, + 0x63, 0x97, 0xf3, 0x96, 0xf0, 0x52, 0x32, 0xb4, 0xf4, 0x7b, 0x98, 0x57, + 0xed, 0x36, 0x4f, 0xf7, 0x21, 0x4a, 0x28, 0x9d, 0xdd, 0x1c, 0x92, 0xb3, + 0x4d, 0x8d, 0x9c, 0x58, 0x8b, 0x17, 0x21, 0xd8, 0xdc, 0xa1, 0xb7, 0xae, + 0x73, 0x78, 0x8a, 0xc4, 0xb6, 0xe9, 0x7f, 0x28, 0x8e, 0x9a, 0xd5, 0x2e, + 0x9e, 0x39, 0xe9, 0xda, 0x59, 0x74, 0xe3, 0xc8, 0x97, 0x10, 0x32, 0x94, + 0x19, 0x59, 0xd4, 0x0f, 0x89, 0x57, 0x44, 0xe6, 0xe5, 0x2b, 0x17, 0x30, + 0x62, 0x52, 0x98, 0x7f, 0xab, 0x0d, 0xa5, 0x01, 0xea, 0x04, 0x41, 0xca, + 0xfa, 0x13, 0x0e, 0x3b, 0x87, 0x06, 0xba, 0xbd, 0x47, 0x31, 0xd7, 0x63, + 0x03, 0x01, 0xf4, 0xbe, 0xa1, 0x37, 0x11, 0x9f, 0x1e, 0x01, 0x95, 0x4e, + 0x0f, 0x3f, 0x54, 0x1e, 0x92, 0xa6, 0x9f, 0x30, 0x8c, 0xfe, 0x98, 0xe8, + 0x56, 0x96, 0x66, 0x04, 0xe1, 0x35, 0xfe, 0x59, 0xac, 0x57, 0x02, 0x03, + 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x70, 0x30, 0x82, 0x01, 0x6c, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, + 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x12, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, + 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x30, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, 0xa0, 0x23, 0xa0, 0x21, 0x86, + 0x1f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x73, + 0x31, 0x2e, 0x77, 0x6f, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x61, 0x31, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x6d, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x61, 0x30, 0x5f, + 0x30, 0x27, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, + 0x86, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, + 0x70, 0x31, 0x2e, 0x77, 0x6f, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x63, 0x61, 0x31, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x61, 0x69, 0x61, 0x31, 0x2e, 0x77, 0x6f, 0x73, 0x69, 0x67, + 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x61, 0x31, 0x67, 0x32, 0x2d, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x33, 0x2e, 0x63, 0x65, 0x72, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf9, 0x8b, + 0xec, 0x04, 0x38, 0x6a, 0x3f, 0xaa, 0x06, 0xc6, 0x94, 0xad, 0x73, 0x95, + 0x2a, 0xb0, 0xc8, 0xe6, 0xb8, 0xfb, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe1, 0x66, 0xcf, 0x0e, 0xd1, + 0xf1, 0xb3, 0x4b, 0xb7, 0x06, 0x20, 0x14, 0xfe, 0x87, 0x12, 0xd5, 0xf6, + 0xfe, 0xfb, 0x3e, 0x30, 0x46, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3f, + 0x30, 0x3d, 0x30, 0x3b, 0x06, 0x0c, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, + 0x9b, 0x51, 0x06, 0x03, 0x02, 0x01, 0x30, 0x2b, 0x30, 0x29, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1d, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x6f, 0x73, + 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x5e, + 0x67, 0xba, 0x78, 0x32, 0x05, 0xb6, 0xb7, 0xaf, 0xe7, 0xde, 0x6a, 0x7a, + 0x82, 0x64, 0x0e, 0xa0, 0x0b, 0xf2, 0x9e, 0x9a, 0xba, 0xc6, 0x2b, 0x6f, + 0x56, 0x3a, 0xb4, 0x62, 0x57, 0xab, 0x7c, 0xad, 0x60, 0x50, 0x96, 0x34, + 0x9c, 0xa3, 0x88, 0xcf, 0xd9, 0x8f, 0x50, 0xaf, 0xf6, 0xf0, 0x00, 0x36, + 0x1b, 0x1f, 0x1f, 0x87, 0x55, 0x3c, 0x60, 0x9a, 0xf0, 0xb0, 0x0d, 0x9a, + 0x80, 0x2d, 0x8a, 0x3b, 0xbe, 0x05, 0xb3, 0xd7, 0xa0, 0x80, 0xb6, 0xb8, + 0x19, 0xeb, 0x51, 0xdb, 0xec, 0x64, 0x54, 0xf1, 0x1a, 0x89, 0x4a, 0x48, + 0xa1, 0x4d, 0x3f, 0x31, 0x7d, 0xc4, 0x79, 0x94, 0x4b, 0xf1, 0xde, 0xab, + 0x83, 0xaf, 0x5f, 0x86, 0xbe, 0x96, 0x1c, 0xb3, 0x3e, 0x1c, 0xe7, 0xbc, + 0x96, 0xb2, 0xe8, 0x5a, 0xac, 0xb5, 0x58, 0xcb, 0x3c, 0x56, 0x6f, 0x0a, + 0xa7, 0xa5, 0xd0, 0x36, 0x89, 0x82, 0x26, 0x8c, 0xb9, 0x1f, 0xb6, 0xeb, + 0x8f, 0x7e, 0x78, 0xfc, 0x5b, 0x8b, 0x79, 0x1c, 0xd6, 0xdf, 0x47, 0xa7, + 0x56, 0xf4, 0x98, 0x4e, 0xc7, 0xa9, 0xd5, 0x0e, 0x75, 0x56, 0x06, 0x7f, + 0xb4, 0x37, 0x46, 0x08, 0xc6, 0xe9, 0x4f, 0x8b, 0x5b, 0x43, 0x1c, 0xe0, + 0x45, 0x3e, 0x95, 0x20, 0x71, 0xc0, 0x1c, 0x98, 0x16, 0xef, 0xf2, 0x78, + 0xdf, 0xac, 0x4d, 0xbb, 0xbf, 0x56, 0x0e, 0xcf, 0x85, 0xaf, 0xcf, 0xbf, + 0x04, 0xed, 0x72, 0x6b, 0xfd, 0x1f, 0x57, 0x0e, 0x58, 0x91, 0x44, 0x11, + 0x58, 0x3b, 0x62, 0x3b, 0x09, 0x78, 0xb3, 0xa4, 0x75, 0x6a, 0xec, 0xb3, + 0xc2, 0x2b, 0x32, 0xcc, 0xb3, 0x8d, 0xc3, 0xa3, 0x6e, 0xdc, 0x8a, 0xd5, + 0xe8, 0x4a, 0xc4, 0x0b, 0x7b, 0xdb, 0x30, 0x5d, 0x95, 0x33, 0xc3, 0xd1, + 0xa3, 0x69, 0x64, 0x5b, 0xa8, 0xaa, 0x96, 0x48, 0x73, 0x73, 0xe3, 0xc9, + 0xb9, 0x24, 0xdf, 0x17, 0x75, 0xaa, 0xaf, 0x07, 0x3a, 0xcf, 0xbe, 0x9b, + 0x8a, 0x80, 0xa7, 0xbf, 0x7c, 0xe2, 0xe9, 0x2a, 0xe6, 0xfd, 0xb0, 0x2c, + 0xe7, 0xe6, 0xe6, 0x7e, 0xb3, 0x35, 0x15, 0x65, 0x00, 0xf4, 0xe1, 0x39, + 0x73, 0x0e, 0x28, 0x4b, 0xf0, 0x0c, 0x98, 0x9e, 0x3a, 0xeb, 0xce, 0x7b, + 0x7a, 0x9e, 0x40, 0xc1, 0x50, 0x65, 0x96, 0x9a, 0xe7, 0x4b, 0x77, 0xcd, + 0xdd, 0xcb, 0x7d, 0x97, 0xb4, 0xea, 0x09, 0xb2, 0xe9, 0x49, 0x28, 0xc3, + 0x30, 0xe0, 0x87, 0x15, 0xf0, 0x26, 0xea, 0xd8, 0x03, 0xfd, 0xec, 0xda, + 0x08, 0x83, 0x65, 0xdc, 0x77, 0xc5, 0x6e, 0x3d, 0x34, 0xf7, 0x87, 0xc3, + 0x1c, 0x1d, 0x26, 0x33, 0xec, 0x33, 0xac, 0xc6, 0x99, 0x53, 0xab, 0x60, + 0xf4, 0xb0, 0xd9, 0xee, 0x64, 0x5a, 0x33, 0x07, 0x70, 0x13, 0x74, 0x88, + 0x07, 0xf5, 0x86, 0xf9, 0x18, 0xd3, 0xb2, 0x47, 0xc8, 0xae, 0x03, 0x4a, + 0x53, 0xde, 0x1c, 0x65, 0xd6, 0x0a, 0x2e, 0x3a, 0x51, 0x93, 0xee, 0xb7, + 0xe3, 0x6f, 0x0a, 0xfb, 0xe9, 0xfe, 0x4e, 0xe8, 0xbb, 0x1d, 0xc2, 0x97, + 0xab, 0x0a, 0xb9, 0xed, 0x36, 0x32, 0x1b, 0x4d, 0xa1, 0xcc, 0x03, 0xa6, + 0x9d, 0xb3, 0xd9, 0x1c, 0xd5, 0x67, 0xe2, 0x8f, 0x74, 0x3c, 0x92, 0x2a, + 0x74, 0xb1, 0x56, 0x50, 0xdf, 0x53, 0x15, 0xd7, 0x21, 0xd6, 0xeb, 0xf3, + 0xfb, 0x63, 0xe3, 0x20, 0x2c, 0x0a, 0x74, 0x37, 0x0b, 0xc1, 0xa1, 0x35, + 0x6a, 0x84, 0x70, 0xf4, 0x45, 0xf8, 0xb2, 0xb6, 0x81, 0x49, 0xaa, 0xfd, + 0x54, 0x45, 0x90, 0x4d, 0xe7, 0x04, 0x07, 0x5f, 0x78, 0x14, 0xdd, 0x3a, + 0xbb, 0x2b, 0xf9, 0x72, 0x50, 0xec, 0x68, 0xea, 0x3c, 0xa8, 0xd1, 0x80, + 0xbb, 0xbe, 0x35, 0x43, 0x97, 0xc3, 0x32, 0xb2, 0xf5, 0xaa, 0xad, 0xc9, + 0x7f, 0x83, 0x9f, 0x7d, 0x69, 0x1e, 0x15, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 120040007 (0x727aa47) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root + Validity + Not Before: May 7 17:04:09 2014 GMT + Not After : May 7 17:03:30 2018 GMT + Subject: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT SSL SHA2 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:d1:e8:37:a7:76:8a:70:4b:19:f0:20:37:09:24: + 37:7f:ea:fb:78:e6:05:ba:6a:ad:4e:27:0d:fc:72: + 6a:d9:6c:21:c4:64:11:95:73:10:0a:5c:25:7b:88: + 6c:94:04:fd:c7:db:ae:7b:dc:4a:08:b3:3e:16:f1: + d0:ad:db:30:6d:d7:1a:1e:52:b5:3d:f0:47:19:03: + e2:7d:a6:bd:57:13:3f:54:ea:3a:a3:b1:77:fc:42: + f0:63:49:6a:91:80:2e:30:49:c0:8a:eb:2b:af:fe: + 3a:eb:07:5d:06:f7:e9:fd:84:0e:91:bd:09:20:29: + e8:6e:5d:09:ce:15:d3:e7:ef:db:50:eb:44:ef:18: + 57:ab:04:1d:bc:31:f9:f7:7b:2a:13:cf:d1:3d:51: + af:1b:c5:b5:7b:e7:b0:fc:53:bb:9a:e7:63:de:41: + 33:b6:47:24:69:5d:b8:46:a7:ff:ad:ab:df:4f:7a: + 78:25:27:21:26:34:ca:02:6e:37:51:f0:ed:58:1a: + 60:94:f6:c4:93:d8:dd:30:24:25:d7:1c:eb:19:94: + 35:5d:93:b2:ae:aa:29:83:73:c4:74:59:05:52:67: + 9d:da:67:51:39:05:3a:36:ea:f2:1e:76:2b:14:ae: + ec:3d:f9:14:99:8b:07:6e:bc:e7:0c:56:de:ac:be: + ae:db:75:32:90:9e:63:bd:74:bf:e0:0a:ca:f8:34: + 96:67:84:cd:d1:42:38:78:c7:99:b6:0c:ce:b6:0f: + e9:1b:cb:f4:59:be:11:0e:cb:2c:32:c8:fa:83:29: + 64:79:3c:8b:4b:f0:32:74:6c:f3:93:b8:96:6b:5d: + 57:5a:68:c1:cc:0c:79:8a:19:de:f5:49:02:5e:08: + 80:01:89:0c:32:cd:d2:d6:96:d5:4b:a0:f3:ec:bf: + ab:f4:7d:b3:a1:b9:7c:da:4e:d7:e5:b7:ac:b9:f2: + 25:5f:01:cb:8c:96:a8:28:ae:c1:33:5a:f6:3f:08: + 90:dc:eb:ff:39:d8:26:c8:12:9d:1c:9a:aa:a9:c0: + 16:8e:86:ed:67:52:96:00:7f:0d:92:3d:3d:d9:70: + 36:e5:ea:42:6f:1f:ae:95:e5:5b:5d:f8:d0:3a:c7: + d4:de:77:86:d0:fc:9e:4e:e2:e2:b8:a9:68:37:09: + c4:39:e3:85:b8:89:f3:1f:6e:b7:6d:1f:4a:2f:18: + 09:6f:de:4a:01:8f:14:c9:b7:a6:ee:a7:63:9f:33: + a4:54:7c:42:83:68:b8:a5:df:bf:ec:b9:1a:5d:13: + 3b:d9:ad:68:fd:20:0a:55:91:21:64:f9:d7:13:01: + a0:08:5d:59:89:1b:44:af:a4:ac:c7:05:10:fa:41: + 4a:a8:fb + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.6334.1.0 + CPS: http://cybertrust.omniroot.com/repository.cfm + Policy: 1.3.6.1.4.1.311.42.1 + + Authority Information Access: + OCSP - URI:http://ocsp.omniroot.com/baltimoreroot + + X509v3 Key Usage: critical + Digital Signature, Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication, OCSP Signing + X509v3 Authority Key Identifier: + keyid:E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://cdp1.public-trust.com/CRL/Omniroot2025.crl + + X509v3 Subject Key Identifier: + 51:AF:24:26:9C:F4:68:22:57:80:26:2B:3B:46:62:15:7B:1E:CC:A5 + Signature Algorithm: sha256WithRSAEncryption + 69:62:f6:84:91:00:c4:6f:82:7b:24:e1:42:a2:a5:8b:82:5c: + a7:c5:44:cb:e7:52:76:63:d3:76:9e:78:e2:69:35:b1:38:ba: + b0:96:c6:1f:ac:7b:c6:b2:65:77:8b:7d:8d:ae:64:b9:a5:8c: + 17:ca:58:65:c3:ad:82:f5:c5:a2:f5:01:13:93:c6:7e:44:e5: + c4:61:fa:03:b6:56:c1:72:e1:c8:28:c5:69:21:8f:ac:6e:fd: + 7f:43:83:36:b8:c0:d6:a0:28:fe:1a:45:be:fd:93:8c:8d:a4: + 64:79:1f:14:db:a1:9f:21:dc:c0:4e:7b:17:22:17:b1:b6:3c: + d3:9b:e2:0a:a3:7e:99:b0:c1:ac:d8:f4:86:df:3c:da:7d:14: + 9c:40:c1:7c:d2:18:6f:f1:4f:26:45:09:95:94:5c:da:d0:98: + f8:f4:4c:82:96:10:de:ac:30:cb:2b:ae:f9:92:ea:bf:79:03: + fc:1e:3f:ac:09:a4:3f:65:fd:91:4f:96:24:a7:ce:b4:4e:6a: + 96:29:17:ae:c0:a8:df:17:22:f4:17:e3:dc:1c:39:06:56:10: + ea:ea:b5:74:17:3c:4e:dd:7e:91:0a:a8:0b:78:07:a7:31:44: + 08:31:ab:18:84:0f:12:9c:e7:de:84:2c:e9:6d:93:45:bf:a8: + c1:3f:34:dc +-----BEGIN CERTIFICATE----- +MIIF4TCCBMmgAwIBAgIEByeqRzANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTE0MDUwNzE3MDQwOVoX +DTE4MDUwNzE3MDMzMFowgYsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +YXRpb24xFTATBgNVBAsTDE1pY3Jvc29mdCBJVDEeMBwGA1UEAxMVTWljcm9zb2Z0 +IElUIFNTTCBTSEEyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0eg3 +p3aKcEsZ8CA3CSQ3f+r7eOYFumqtTicN/HJq2WwhxGQRlXMQClwle4hslAT9x9uu +e9xKCLM+FvHQrdswbdcaHlK1PfBHGQPifaa9VxM/VOo6o7F3/ELwY0lqkYAuMEnA +iusrr/466wddBvfp/YQOkb0JICnobl0JzhXT5+/bUOtE7xhXqwQdvDH593sqE8/R +PVGvG8W1e+ew/FO7mudj3kEztkckaV24Rqf/ravfT3p4JSchJjTKAm43UfDtWBpg +lPbEk9jdMCQl1xzrGZQ1XZOyrqopg3PEdFkFUmed2mdROQU6NuryHnYrFK7sPfkU +mYsHbrznDFberL6u23UykJ5jvXS/4ArK+DSWZ4TN0UI4eMeZtgzOtg/pG8v0Wb4R +DsssMsj6gylkeTyLS/AydGzzk7iWa11XWmjBzAx5ihne9UkCXgiAAYkMMs3S1pbV +S6Dz7L+r9H2zobl82k7X5besufIlXwHLjJaoKK7BM1r2PwiQ3Ov/OdgmyBKdHJqq +qcAWjobtZ1KWAH8Nkj092XA25epCbx+uleVbXfjQOsfU3neG0PyeTuLiuKloNwnE +OeOFuInzH263bR9KLxgJb95KAY8Uybem7qdjnzOkVHxCg2i4pd+/7LkaXRM72a1o +/SAKVZEhZPnXEwGgCF1ZiRtEr6SsxwUQ+kFKqPsCAwEAAaOCAXswggF3MBIGA1Ud +EwEB/wQIMAYBAf8CAQAwYAYDVR0gBFkwVzBIBgkrBgEEAbE+AQAwOzA5BggrBgEF +BQcCARYtaHR0cDovL2N5YmVydHJ1c3Qub21uaXJvb3QuY29tL3JlcG9zaXRvcnku +Y2ZtMAsGCSsGAQQBgjcqATBCBggrBgEFBQcBAQQ2MDQwMgYIKwYBBQUHMAGGJmh0 +dHA6Ly9vY3NwLm9tbmlyb290LmNvbS9iYWx0aW1vcmVyb290MA4GA1UdDwEB/wQE +AwIBhjAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMJMB8G +A1UdIwQYMBaAFOWdWTCCR1jMrPoIVDaGezq1BE3wMEIGA1UdHwQ7MDkwN6A1oDOG +MWh0dHA6Ly9jZHAxLnB1YmxpYy10cnVzdC5jb20vQ1JML09tbmlyb290MjAyNS5j +cmwwHQYDVR0OBBYEFFGvJCac9GgiV4AmKztGYhV7HsylMA0GCSqGSIb3DQEBCwUA +A4IBAQBpYvaEkQDEb4J7JOFCoqWLglynxUTL51J2Y9N2nnjiaTWxOLqwlsYfrHvG +smV3i32NrmS5pYwXylhlw62C9cWi9QETk8Z+ROXEYfoDtlbBcuHIKMVpIY+sbv1/ +Q4M2uMDWoCj+GkW+/ZOMjaRkeR8U26GfIdzATnsXIhextjzTm+IKo36ZsMGs2PSG +3zzafRScQMF80hhv8U8mRQmVlFza0Jj49EyClhDerDDLK675kuq/eQP8Hj+sCaQ/ +Zf2RT5Ykp860TmqWKReuwKjfFyL0F+PcHDkGVhDq6rV0FzxO3X6RCqgLeAenMUQI +MasYhA8SnOfehCzpbZNFv6jBPzTc +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_49[] = { + 0x30, 0x82, 0x05, 0xe1, 0x30, 0x82, 0x04, 0xc9, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x04, 0x07, 0x27, 0xaa, 0x47, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x5a, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, + 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, + 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x31, 0x13, 0x30, + 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0a, 0x43, 0x79, 0x62, 0x65, + 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x13, 0x19, 0x42, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, + 0x30, 0x35, 0x30, 0x37, 0x31, 0x37, 0x30, 0x34, 0x30, 0x39, 0x5a, 0x17, + 0x0d, 0x31, 0x38, 0x30, 0x35, 0x30, 0x37, 0x31, 0x37, 0x30, 0x33, 0x33, + 0x30, 0x5a, 0x30, 0x81, 0x8b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, + 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, + 0x55, 0x04, 0x08, 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, + 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, + 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, + 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, + 0x04, 0x0b, 0x13, 0x0c, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, + 0x74, 0x20, 0x49, 0x54, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, + 0x20, 0x49, 0x54, 0x20, 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, + 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, + 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01, 0x00, 0xd1, 0xe8, 0x37, + 0xa7, 0x76, 0x8a, 0x70, 0x4b, 0x19, 0xf0, 0x20, 0x37, 0x09, 0x24, 0x37, + 0x7f, 0xea, 0xfb, 0x78, 0xe6, 0x05, 0xba, 0x6a, 0xad, 0x4e, 0x27, 0x0d, + 0xfc, 0x72, 0x6a, 0xd9, 0x6c, 0x21, 0xc4, 0x64, 0x11, 0x95, 0x73, 0x10, + 0x0a, 0x5c, 0x25, 0x7b, 0x88, 0x6c, 0x94, 0x04, 0xfd, 0xc7, 0xdb, 0xae, + 0x7b, 0xdc, 0x4a, 0x08, 0xb3, 0x3e, 0x16, 0xf1, 0xd0, 0xad, 0xdb, 0x30, + 0x6d, 0xd7, 0x1a, 0x1e, 0x52, 0xb5, 0x3d, 0xf0, 0x47, 0x19, 0x03, 0xe2, + 0x7d, 0xa6, 0xbd, 0x57, 0x13, 0x3f, 0x54, 0xea, 0x3a, 0xa3, 0xb1, 0x77, + 0xfc, 0x42, 0xf0, 0x63, 0x49, 0x6a, 0x91, 0x80, 0x2e, 0x30, 0x49, 0xc0, + 0x8a, 0xeb, 0x2b, 0xaf, 0xfe, 0x3a, 0xeb, 0x07, 0x5d, 0x06, 0xf7, 0xe9, + 0xfd, 0x84, 0x0e, 0x91, 0xbd, 0x09, 0x20, 0x29, 0xe8, 0x6e, 0x5d, 0x09, + 0xce, 0x15, 0xd3, 0xe7, 0xef, 0xdb, 0x50, 0xeb, 0x44, 0xef, 0x18, 0x57, + 0xab, 0x04, 0x1d, 0xbc, 0x31, 0xf9, 0xf7, 0x7b, 0x2a, 0x13, 0xcf, 0xd1, + 0x3d, 0x51, 0xaf, 0x1b, 0xc5, 0xb5, 0x7b, 0xe7, 0xb0, 0xfc, 0x53, 0xbb, + 0x9a, 0xe7, 0x63, 0xde, 0x41, 0x33, 0xb6, 0x47, 0x24, 0x69, 0x5d, 0xb8, + 0x46, 0xa7, 0xff, 0xad, 0xab, 0xdf, 0x4f, 0x7a, 0x78, 0x25, 0x27, 0x21, + 0x26, 0x34, 0xca, 0x02, 0x6e, 0x37, 0x51, 0xf0, 0xed, 0x58, 0x1a, 0x60, + 0x94, 0xf6, 0xc4, 0x93, 0xd8, 0xdd, 0x30, 0x24, 0x25, 0xd7, 0x1c, 0xeb, + 0x19, 0x94, 0x35, 0x5d, 0x93, 0xb2, 0xae, 0xaa, 0x29, 0x83, 0x73, 0xc4, + 0x74, 0x59, 0x05, 0x52, 0x67, 0x9d, 0xda, 0x67, 0x51, 0x39, 0x05, 0x3a, + 0x36, 0xea, 0xf2, 0x1e, 0x76, 0x2b, 0x14, 0xae, 0xec, 0x3d, 0xf9, 0x14, + 0x99, 0x8b, 0x07, 0x6e, 0xbc, 0xe7, 0x0c, 0x56, 0xde, 0xac, 0xbe, 0xae, + 0xdb, 0x75, 0x32, 0x90, 0x9e, 0x63, 0xbd, 0x74, 0xbf, 0xe0, 0x0a, 0xca, + 0xf8, 0x34, 0x96, 0x67, 0x84, 0xcd, 0xd1, 0x42, 0x38, 0x78, 0xc7, 0x99, + 0xb6, 0x0c, 0xce, 0xb6, 0x0f, 0xe9, 0x1b, 0xcb, 0xf4, 0x59, 0xbe, 0x11, + 0x0e, 0xcb, 0x2c, 0x32, 0xc8, 0xfa, 0x83, 0x29, 0x64, 0x79, 0x3c, 0x8b, + 0x4b, 0xf0, 0x32, 0x74, 0x6c, 0xf3, 0x93, 0xb8, 0x96, 0x6b, 0x5d, 0x57, + 0x5a, 0x68, 0xc1, 0xcc, 0x0c, 0x79, 0x8a, 0x19, 0xde, 0xf5, 0x49, 0x02, + 0x5e, 0x08, 0x80, 0x01, 0x89, 0x0c, 0x32, 0xcd, 0xd2, 0xd6, 0x96, 0xd5, + 0x4b, 0xa0, 0xf3, 0xec, 0xbf, 0xab, 0xf4, 0x7d, 0xb3, 0xa1, 0xb9, 0x7c, + 0xda, 0x4e, 0xd7, 0xe5, 0xb7, 0xac, 0xb9, 0xf2, 0x25, 0x5f, 0x01, 0xcb, + 0x8c, 0x96, 0xa8, 0x28, 0xae, 0xc1, 0x33, 0x5a, 0xf6, 0x3f, 0x08, 0x90, + 0xdc, 0xeb, 0xff, 0x39, 0xd8, 0x26, 0xc8, 0x12, 0x9d, 0x1c, 0x9a, 0xaa, + 0xa9, 0xc0, 0x16, 0x8e, 0x86, 0xed, 0x67, 0x52, 0x96, 0x00, 0x7f, 0x0d, + 0x92, 0x3d, 0x3d, 0xd9, 0x70, 0x36, 0xe5, 0xea, 0x42, 0x6f, 0x1f, 0xae, + 0x95, 0xe5, 0x5b, 0x5d, 0xf8, 0xd0, 0x3a, 0xc7, 0xd4, 0xde, 0x77, 0x86, + 0xd0, 0xfc, 0x9e, 0x4e, 0xe2, 0xe2, 0xb8, 0xa9, 0x68, 0x37, 0x09, 0xc4, + 0x39, 0xe3, 0x85, 0xb8, 0x89, 0xf3, 0x1f, 0x6e, 0xb7, 0x6d, 0x1f, 0x4a, + 0x2f, 0x18, 0x09, 0x6f, 0xde, 0x4a, 0x01, 0x8f, 0x14, 0xc9, 0xb7, 0xa6, + 0xee, 0xa7, 0x63, 0x9f, 0x33, 0xa4, 0x54, 0x7c, 0x42, 0x83, 0x68, 0xb8, + 0xa5, 0xdf, 0xbf, 0xec, 0xb9, 0x1a, 0x5d, 0x13, 0x3b, 0xd9, 0xad, 0x68, + 0xfd, 0x20, 0x0a, 0x55, 0x91, 0x21, 0x64, 0xf9, 0xd7, 0x13, 0x01, 0xa0, + 0x08, 0x5d, 0x59, 0x89, 0x1b, 0x44, 0xaf, 0xa4, 0xac, 0xc7, 0x05, 0x10, + 0xfa, 0x41, 0x4a, 0xa8, 0xfb, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, + 0x01, 0x7b, 0x30, 0x82, 0x01, 0x77, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, + 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, + 0x01, 0x00, 0x30, 0x60, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x59, 0x30, + 0x57, 0x30, 0x48, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0xb1, 0x3e, + 0x01, 0x00, 0x30, 0x3b, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x02, 0x01, 0x16, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, + 0x2f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, + 0x6f, 0x6d, 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x63, 0x66, 0x6d, 0x30, 0x0b, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, + 0x82, 0x37, 0x2a, 0x01, 0x30, 0x42, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x01, 0x01, 0x04, 0x36, 0x30, 0x34, 0x30, 0x32, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x26, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x6f, 0x6d, + 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x6f, 0x6f, 0x74, + 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x86, 0x30, 0x27, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, + 0x20, 0x30, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, + 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x09, 0x30, 0x1f, 0x06, + 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe5, 0x9d, + 0x59, 0x30, 0x82, 0x47, 0x58, 0xcc, 0xac, 0xfa, 0x08, 0x54, 0x36, 0x86, + 0x7b, 0x3a, 0xb5, 0x04, 0x4d, 0xf0, 0x30, 0x42, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x3b, 0x30, 0x39, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, + 0x31, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x64, 0x70, 0x31, + 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2d, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x52, 0x4c, 0x2f, 0x4f, 0x6d, + 0x6e, 0x69, 0x72, 0x6f, 0x6f, 0x74, 0x32, 0x30, 0x32, 0x35, 0x2e, 0x63, + 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, + 0x14, 0x51, 0xaf, 0x24, 0x26, 0x9c, 0xf4, 0x68, 0x22, 0x57, 0x80, 0x26, + 0x2b, 0x3b, 0x46, 0x62, 0x15, 0x7b, 0x1e, 0xcc, 0xa5, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0x69, 0x62, 0xf6, 0x84, 0x91, 0x00, 0xc4, + 0x6f, 0x82, 0x7b, 0x24, 0xe1, 0x42, 0xa2, 0xa5, 0x8b, 0x82, 0x5c, 0xa7, + 0xc5, 0x44, 0xcb, 0xe7, 0x52, 0x76, 0x63, 0xd3, 0x76, 0x9e, 0x78, 0xe2, + 0x69, 0x35, 0xb1, 0x38, 0xba, 0xb0, 0x96, 0xc6, 0x1f, 0xac, 0x7b, 0xc6, + 0xb2, 0x65, 0x77, 0x8b, 0x7d, 0x8d, 0xae, 0x64, 0xb9, 0xa5, 0x8c, 0x17, + 0xca, 0x58, 0x65, 0xc3, 0xad, 0x82, 0xf5, 0xc5, 0xa2, 0xf5, 0x01, 0x13, + 0x93, 0xc6, 0x7e, 0x44, 0xe5, 0xc4, 0x61, 0xfa, 0x03, 0xb6, 0x56, 0xc1, + 0x72, 0xe1, 0xc8, 0x28, 0xc5, 0x69, 0x21, 0x8f, 0xac, 0x6e, 0xfd, 0x7f, + 0x43, 0x83, 0x36, 0xb8, 0xc0, 0xd6, 0xa0, 0x28, 0xfe, 0x1a, 0x45, 0xbe, + 0xfd, 0x93, 0x8c, 0x8d, 0xa4, 0x64, 0x79, 0x1f, 0x14, 0xdb, 0xa1, 0x9f, + 0x21, 0xdc, 0xc0, 0x4e, 0x7b, 0x17, 0x22, 0x17, 0xb1, 0xb6, 0x3c, 0xd3, + 0x9b, 0xe2, 0x0a, 0xa3, 0x7e, 0x99, 0xb0, 0xc1, 0xac, 0xd8, 0xf4, 0x86, + 0xdf, 0x3c, 0xda, 0x7d, 0x14, 0x9c, 0x40, 0xc1, 0x7c, 0xd2, 0x18, 0x6f, + 0xf1, 0x4f, 0x26, 0x45, 0x09, 0x95, 0x94, 0x5c, 0xda, 0xd0, 0x98, 0xf8, + 0xf4, 0x4c, 0x82, 0x96, 0x10, 0xde, 0xac, 0x30, 0xcb, 0x2b, 0xae, 0xf9, + 0x92, 0xea, 0xbf, 0x79, 0x03, 0xfc, 0x1e, 0x3f, 0xac, 0x09, 0xa4, 0x3f, + 0x65, 0xfd, 0x91, 0x4f, 0x96, 0x24, 0xa7, 0xce, 0xb4, 0x4e, 0x6a, 0x96, + 0x29, 0x17, 0xae, 0xc0, 0xa8, 0xdf, 0x17, 0x22, 0xf4, 0x17, 0xe3, 0xdc, + 0x1c, 0x39, 0x06, 0x56, 0x10, 0xea, 0xea, 0xb5, 0x74, 0x17, 0x3c, 0x4e, + 0xdd, 0x7e, 0x91, 0x0a, 0xa8, 0x0b, 0x78, 0x07, 0xa7, 0x31, 0x44, 0x08, + 0x31, 0xab, 0x18, 0x84, 0x0f, 0x12, 0x9c, 0xe7, 0xde, 0x84, 0x2c, 0xe9, + 0x6d, 0x93, 0x45, 0xbf, 0xa8, 0xc1, 0x3f, 0x34, 0xdc, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 13:8b:fe:f3:32:94:f9:d8:16:f9:45:c2:71:95:29:98 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IL, O=StartCom Ltd., OU=Secure Digital Certificate Signing, CN=StartCom Certification Authority + Validity + Not Before: Dec 16 01:00:05 2015 GMT + Not After : Dec 16 01:00:05 2030 GMT + Subject: C=IL, O=StartCom Ltd., OU=StartCom Certification Authority, CN=StartCom Class 3 OV Server CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:67:1c:6f:e5:45:e0:d7:46:4b:75:2c:b6:80: + f2:9a:17:4d:2d:ff:de:ae:d2:d4:00:8a:3a:b8:31: + fe:8e:37:9e:fa:aa:d5:a3:5b:16:12:c1:19:3e:34: + 85:96:c3:be:d3:b3:43:f4:8d:6f:16:bd:30:ba:07: + fc:d8:9a:c1:79:89:80:6d:a0:8c:be:dd:37:f7:eb: + 05:d3:53:7f:57:58:76:55:b6:a8:a8:86:44:b8:bb: + d0:13:da:fd:8f:e1:f2:cd:a0:15:38:55:56:ce:26: + cf:7c:93:75:29:7a:0a:ab:fb:ba:09:38:20:11:57: + 07:5d:7f:49:9f:2a:4a:67:1e:9e:58:e9:c7:7f:f9: + c3:ed:fe:5f:4d:af:b8:4f:9d:df:69:2d:69:1b:3a: + 58:81:69:63:30:ea:87:8d:0f:52:9d:5a:da:39:44: + ba:9f:89:9f:36:b6:c2:19:5c:d9:26:78:d9:ae:5e: + fc:95:90:bf:e8:11:c0:47:0f:77:89:dd:6a:28:4f: + 0a:bc:32:64:57:43:3d:08:65:93:e5:45:ae:dd:28: + 0c:27:2c:8e:a6:2b:09:03:5d:a1:78:d2:8c:ab:b6: + 6b:b9:46:c9:19:00:39:b9:bf:c6:13:2b:73:72:1f: + f2:3e:37:b8:e8:b9:14:65:88:4d:e2:f1:1b:d8:a5: + 1d:3b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Extended Key Usage: + TLS Web Client Authentication, TLS Web Server Authentication + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:0 + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.startssl.com/sfsca.crl + + Authority Information Access: + OCSP - URI:http://ocsp.startssl.com + CA Issuers - URI:http://aia.startssl.com/certs/ca.crt + + X509v3 Subject Key Identifier: + B1:3F:1C:92:7B:92:B0:5A:25:B3:38:FB:9C:07:A4:26:50:32:E3:51 + X509v3 Authority Key Identifier: + keyid:4E:0B:EF:1A:A4:40:5B:A5:17:69:87:30:CA:34:68:43:D0:41:AE:F2 + + X509v3 Certificate Policies: + Policy: X509v3 Any Policy + CPS: http://www.startssl.com/policy + + Signature Algorithm: sha256WithRSAEncryption + 85:f2:e8:14:d3:1b:c1:a1:16:1d:a4:f4:4d:ba:51:8b:5c:52: + b1:54:54:12:16:17:9c:96:78:6f:d3:bf:df:43:36:f5:12:89: + 61:72:44:df:1c:9b:09:4f:60:26:68:c1:e6:66:50:70:b3:6a: + f1:a8:6a:0c:1e:2e:93:f1:ee:07:3e:09:dd:30:45:b2:56:8e: + dc:2c:5c:ab:49:fa:b9:04:03:40:15:7a:b5:30:e0:1d:91:8f: + a6:d6:6f:1f:99:a0:84:95:39:bd:ac:77:7f:72:4b:dd:2d:ae: + ff:a8:58:1d:46:27:d4:83:c7:69:64:9f:19:bb:10:f8:04:42: + 87:59:5d:02:b1:d6:e5:c8:da:43:30:a3:e8:37:a5:d2:48:0b: + a2:83:4e:9d:4f:83:58:9d:d7:47:22:b1:89:f0:89:3b:3d:28: + 43:2c:9b:17:7c:03:ee:9d:26:25:e0:04:b8:1d:04:57:42:47: + da:58:69:f0:d3:29:ab:12:02:99:2b:2a:d8:9d:a0:1f:54:5e: + 23:9a:0c:d2:99:58:c4:a1:e5:49:c2:25:a7:64:20:52:2e:e7: + 89:f5:19:c0:8b:d0:63:b1:78:1e:be:01:47:be:76:81:46:f1: + 99:1f:94:9a:be:fa:82:15:b5:84:84:79:75:93:ba:9f:b5:e4: + 9b:c2:cb:69:5c:bd:1f:55:0a:a7:26:30:05:51:be:65:ee:57: + a9:6a:df:bd:f9:36:2f:ad:1e:46:41:2b:b1:88:d0:88:25:85: + 40:17:79:bf:3d:8d:e2:f4:2d:ea:30:31:df:a1:40:cb:35:ff: + 82:9f:f5:99:3c:4a:fd:9d:a1:d1:55:cc:20:a8:1c:d8:20:05: + ab:b3:14:65:95:53:d8:e8:8e:57:c5:77:6b:2d:4d:88:e9:5d: + 62:d5:a2:f8:70:e1:70:eb:45:23:0e:f0:00:46:c2:48:31:e8: + e7:36:80:36:2d:22:f2:01:27:53:eb:ce:a7:69:49:82:bf:e7: + 0f:9c:f3:20:2e:f5:fa:5d:ce:ea:58:3a:8f:d8:aa:7d:30:b7: + 74:96:7c:3d:6e:b4:ec:4a:3b:59:b6:a9:50:0d:0f:05:06:70: + 26:b9:95:91:d1:5e:24:8c:8f:ca:74:57:97:90:8b:5a:b7:fe: + 8d:ad:d8:e8:c2:06:bc:08:56:21:02:12:53:c6:9f:86:04:58: + ca:2d:f8:03:0d:57:0b:1c:37:bd:f0:5a:35:f2:fe:3b:d6:a4: + 37:15:e9:f8:08:92:96:3d:74:c8:b5:5c:6e:65:08:e7:df:69: + 73:9c:ec:e3:30:5a:a6:df:5c:be:da:7f:00:ee:a5:da:2b:5c: + 1e:2a:6a:c0:a3:ae:1e:f1 +-----BEGIN CERTIFICATE----- +MIIF5TCCA82gAwIBAgIQE4v+8zKU+dgW+UXCcZUpmDANBgkqhkiG9w0BAQsFADB9 +MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi +U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh +cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTUxMjE2MDEwMDA1WhcN +MzAxMjE2MDEwMDA1WjB4MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20g +THRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx +JjAkBgNVBAMTHVN0YXJ0Q29tIENsYXNzIDMgT1YgU2VydmVyIENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr2ccb+VF4NdGS3UstoDymhdNLf/ertLU +AIo6uDH+jjee+qrVo1sWEsEZPjSFlsO+07ND9I1vFr0wugf82JrBeYmAbaCMvt03 +9+sF01N/V1h2VbaoqIZEuLvQE9r9j+HyzaAVOFVWzibPfJN1KXoKq/u6CTggEVcH +XX9JnypKZx6eWOnHf/nD7f5fTa+4T53faS1pGzpYgWljMOqHjQ9SnVraOUS6n4mf +NrbCGVzZJnjZrl78lZC/6BHARw93id1qKE8KvDJkV0M9CGWT5UWu3SgMJyyOpisJ +A12heNKMq7ZruUbJGQA5ub/GEytzch/yPje46LkUZYhN4vEb2KUdOwIDAQABo4IB +ZDCCAWAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF +BQcDATASBgNVHRMBAf8ECDAGAQH/AgEAMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6 +Ly9jcmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDBmBggrBgEFBQcBAQRaMFgwJAYI +KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTAwBggrBgEFBQcwAoYk +aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvY2EuY3J0MB0GA1UdDgQWBBSx +PxySe5KwWiWzOPucB6QmUDLjUTAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD +0EGu8jA/BgNVHSAEODA2MDQGBFUdIAAwLDAqBggrBgEFBQcCARYeaHR0cDovL3d3 +dy5zdGFydHNzbC5jb20vcG9saWN5MA0GCSqGSIb3DQEBCwUAA4ICAQCF8ugU0xvB +oRYdpPRNulGLXFKxVFQSFheclnhv07/fQzb1EolhckTfHJsJT2AmaMHmZlBws2rx +qGoMHi6T8e4HPgndMEWyVo7cLFyrSfq5BANAFXq1MOAdkY+m1m8fmaCElTm9rHd/ +ckvdLa7/qFgdRifUg8dpZJ8ZuxD4BEKHWV0CsdblyNpDMKPoN6XSSAuig06dT4NY +nddHIrGJ8Ik7PShDLJsXfAPunSYl4AS4HQRXQkfaWGnw0ymrEgKZKyrYnaAfVF4j +mgzSmVjEoeVJwiWnZCBSLueJ9RnAi9BjsXgevgFHvnaBRvGZH5SavvqCFbWEhHl1 +k7qfteSbwstpXL0fVQqnJjAFUb5l7lepat+9+TYvrR5GQSuxiNCIJYVAF3m/PY3i +9C3qMDHfoUDLNf+Cn/WZPEr9naHRVcwgqBzYIAWrsxRllVPY6I5XxXdrLU2I6V1i +1aL4cOFw60UjDvAARsJIMejnNoA2LSLyASdT686naUmCv+cPnPMgLvX6Xc7qWDqP +2Kp9MLd0lnw9brTsSjtZtqlQDQ8FBnAmuZWR0V4kjI/KdFeXkItat/6Nrdjowga8 +CFYhAhJTxp+GBFjKLfgDDVcLHDe98Fo18v471qQ3Fen4CJKWPXTItVxuZQjn32lz +nOzjMFqm31y+2n8A7qXaK1weKmrAo64e8Q== +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_50[] = { + 0x30, 0x82, 0x05, 0xe5, 0x30, 0x82, 0x03, 0xcd, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x13, 0x8b, 0xfe, 0xf3, 0x32, 0x94, 0xf9, 0xd8, 0x16, + 0xf9, 0x45, 0xc2, 0x71, 0x95, 0x29, 0x98, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x7d, + 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, + 0x4c, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x4c, 0x74, 0x64, + 0x2e, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x22, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x44, 0x69, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x31, 0x29, + 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x20, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35, 0x31, + 0x32, 0x31, 0x36, 0x30, 0x31, 0x30, 0x30, 0x30, 0x35, 0x5a, 0x17, 0x0d, + 0x33, 0x30, 0x31, 0x32, 0x31, 0x36, 0x30, 0x31, 0x30, 0x30, 0x30, 0x35, + 0x5a, 0x30, 0x78, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x49, 0x4c, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, + 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, + 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1d, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x20, 0x33, 0x20, 0x4f, 0x56, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xaf, 0x67, 0x1c, 0x6f, 0xe5, 0x45, 0xe0, 0xd7, 0x46, 0x4b, 0x75, 0x2c, + 0xb6, 0x80, 0xf2, 0x9a, 0x17, 0x4d, 0x2d, 0xff, 0xde, 0xae, 0xd2, 0xd4, + 0x00, 0x8a, 0x3a, 0xb8, 0x31, 0xfe, 0x8e, 0x37, 0x9e, 0xfa, 0xaa, 0xd5, + 0xa3, 0x5b, 0x16, 0x12, 0xc1, 0x19, 0x3e, 0x34, 0x85, 0x96, 0xc3, 0xbe, + 0xd3, 0xb3, 0x43, 0xf4, 0x8d, 0x6f, 0x16, 0xbd, 0x30, 0xba, 0x07, 0xfc, + 0xd8, 0x9a, 0xc1, 0x79, 0x89, 0x80, 0x6d, 0xa0, 0x8c, 0xbe, 0xdd, 0x37, + 0xf7, 0xeb, 0x05, 0xd3, 0x53, 0x7f, 0x57, 0x58, 0x76, 0x55, 0xb6, 0xa8, + 0xa8, 0x86, 0x44, 0xb8, 0xbb, 0xd0, 0x13, 0xda, 0xfd, 0x8f, 0xe1, 0xf2, + 0xcd, 0xa0, 0x15, 0x38, 0x55, 0x56, 0xce, 0x26, 0xcf, 0x7c, 0x93, 0x75, + 0x29, 0x7a, 0x0a, 0xab, 0xfb, 0xba, 0x09, 0x38, 0x20, 0x11, 0x57, 0x07, + 0x5d, 0x7f, 0x49, 0x9f, 0x2a, 0x4a, 0x67, 0x1e, 0x9e, 0x58, 0xe9, 0xc7, + 0x7f, 0xf9, 0xc3, 0xed, 0xfe, 0x5f, 0x4d, 0xaf, 0xb8, 0x4f, 0x9d, 0xdf, + 0x69, 0x2d, 0x69, 0x1b, 0x3a, 0x58, 0x81, 0x69, 0x63, 0x30, 0xea, 0x87, + 0x8d, 0x0f, 0x52, 0x9d, 0x5a, 0xda, 0x39, 0x44, 0xba, 0x9f, 0x89, 0x9f, + 0x36, 0xb6, 0xc2, 0x19, 0x5c, 0xd9, 0x26, 0x78, 0xd9, 0xae, 0x5e, 0xfc, + 0x95, 0x90, 0xbf, 0xe8, 0x11, 0xc0, 0x47, 0x0f, 0x77, 0x89, 0xdd, 0x6a, + 0x28, 0x4f, 0x0a, 0xbc, 0x32, 0x64, 0x57, 0x43, 0x3d, 0x08, 0x65, 0x93, + 0xe5, 0x45, 0xae, 0xdd, 0x28, 0x0c, 0x27, 0x2c, 0x8e, 0xa6, 0x2b, 0x09, + 0x03, 0x5d, 0xa1, 0x78, 0xd2, 0x8c, 0xab, 0xb6, 0x6b, 0xb9, 0x46, 0xc9, + 0x19, 0x00, 0x39, 0xb9, 0xbf, 0xc6, 0x13, 0x2b, 0x73, 0x72, 0x1f, 0xf2, + 0x3e, 0x37, 0xb8, 0xe8, 0xb9, 0x14, 0x65, 0x88, 0x4d, 0xe2, 0xf1, 0x1b, + 0xd8, 0xa5, 0x1d, 0x3b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, + 0x64, 0x30, 0x82, 0x01, 0x60, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, + 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, + 0x03, 0x55, 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x01, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, + 0x30, 0x32, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2b, 0x30, 0x29, 0x30, + 0x27, 0xa0, 0x25, 0xa0, 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, + 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x66, 0x73, 0x63, 0x61, + 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x66, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x01, 0x01, 0x04, 0x5a, 0x30, 0x58, 0x30, 0x24, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x30, + 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x24, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, 0x69, 0x61, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x65, 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x74, + 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb1, + 0x3f, 0x1c, 0x92, 0x7b, 0x92, 0xb0, 0x5a, 0x25, 0xb3, 0x38, 0xfb, 0x9c, + 0x07, 0xa4, 0x26, 0x50, 0x32, 0xe3, 0x51, 0x30, 0x1f, 0x06, 0x03, 0x55, + 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x4e, 0x0b, 0xef, 0x1a, + 0xa4, 0x40, 0x5b, 0xa5, 0x17, 0x69, 0x87, 0x30, 0xca, 0x34, 0x68, 0x43, + 0xd0, 0x41, 0xae, 0xf2, 0x30, 0x3f, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x38, 0x30, 0x36, 0x30, 0x34, 0x06, 0x04, 0x55, 0x1d, 0x20, 0x00, 0x30, + 0x2c, 0x30, 0x2a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, + 0x01, 0x16, 0x1e, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x30, 0x0d, 0x06, + 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, + 0x03, 0x82, 0x02, 0x01, 0x00, 0x85, 0xf2, 0xe8, 0x14, 0xd3, 0x1b, 0xc1, + 0xa1, 0x16, 0x1d, 0xa4, 0xf4, 0x4d, 0xba, 0x51, 0x8b, 0x5c, 0x52, 0xb1, + 0x54, 0x54, 0x12, 0x16, 0x17, 0x9c, 0x96, 0x78, 0x6f, 0xd3, 0xbf, 0xdf, + 0x43, 0x36, 0xf5, 0x12, 0x89, 0x61, 0x72, 0x44, 0xdf, 0x1c, 0x9b, 0x09, + 0x4f, 0x60, 0x26, 0x68, 0xc1, 0xe6, 0x66, 0x50, 0x70, 0xb3, 0x6a, 0xf1, + 0xa8, 0x6a, 0x0c, 0x1e, 0x2e, 0x93, 0xf1, 0xee, 0x07, 0x3e, 0x09, 0xdd, + 0x30, 0x45, 0xb2, 0x56, 0x8e, 0xdc, 0x2c, 0x5c, 0xab, 0x49, 0xfa, 0xb9, + 0x04, 0x03, 0x40, 0x15, 0x7a, 0xb5, 0x30, 0xe0, 0x1d, 0x91, 0x8f, 0xa6, + 0xd6, 0x6f, 0x1f, 0x99, 0xa0, 0x84, 0x95, 0x39, 0xbd, 0xac, 0x77, 0x7f, + 0x72, 0x4b, 0xdd, 0x2d, 0xae, 0xff, 0xa8, 0x58, 0x1d, 0x46, 0x27, 0xd4, + 0x83, 0xc7, 0x69, 0x64, 0x9f, 0x19, 0xbb, 0x10, 0xf8, 0x04, 0x42, 0x87, + 0x59, 0x5d, 0x02, 0xb1, 0xd6, 0xe5, 0xc8, 0xda, 0x43, 0x30, 0xa3, 0xe8, + 0x37, 0xa5, 0xd2, 0x48, 0x0b, 0xa2, 0x83, 0x4e, 0x9d, 0x4f, 0x83, 0x58, + 0x9d, 0xd7, 0x47, 0x22, 0xb1, 0x89, 0xf0, 0x89, 0x3b, 0x3d, 0x28, 0x43, + 0x2c, 0x9b, 0x17, 0x7c, 0x03, 0xee, 0x9d, 0x26, 0x25, 0xe0, 0x04, 0xb8, + 0x1d, 0x04, 0x57, 0x42, 0x47, 0xda, 0x58, 0x69, 0xf0, 0xd3, 0x29, 0xab, + 0x12, 0x02, 0x99, 0x2b, 0x2a, 0xd8, 0x9d, 0xa0, 0x1f, 0x54, 0x5e, 0x23, + 0x9a, 0x0c, 0xd2, 0x99, 0x58, 0xc4, 0xa1, 0xe5, 0x49, 0xc2, 0x25, 0xa7, + 0x64, 0x20, 0x52, 0x2e, 0xe7, 0x89, 0xf5, 0x19, 0xc0, 0x8b, 0xd0, 0x63, + 0xb1, 0x78, 0x1e, 0xbe, 0x01, 0x47, 0xbe, 0x76, 0x81, 0x46, 0xf1, 0x99, + 0x1f, 0x94, 0x9a, 0xbe, 0xfa, 0x82, 0x15, 0xb5, 0x84, 0x84, 0x79, 0x75, + 0x93, 0xba, 0x9f, 0xb5, 0xe4, 0x9b, 0xc2, 0xcb, 0x69, 0x5c, 0xbd, 0x1f, + 0x55, 0x0a, 0xa7, 0x26, 0x30, 0x05, 0x51, 0xbe, 0x65, 0xee, 0x57, 0xa9, + 0x6a, 0xdf, 0xbd, 0xf9, 0x36, 0x2f, 0xad, 0x1e, 0x46, 0x41, 0x2b, 0xb1, + 0x88, 0xd0, 0x88, 0x25, 0x85, 0x40, 0x17, 0x79, 0xbf, 0x3d, 0x8d, 0xe2, + 0xf4, 0x2d, 0xea, 0x30, 0x31, 0xdf, 0xa1, 0x40, 0xcb, 0x35, 0xff, 0x82, + 0x9f, 0xf5, 0x99, 0x3c, 0x4a, 0xfd, 0x9d, 0xa1, 0xd1, 0x55, 0xcc, 0x20, + 0xa8, 0x1c, 0xd8, 0x20, 0x05, 0xab, 0xb3, 0x14, 0x65, 0x95, 0x53, 0xd8, + 0xe8, 0x8e, 0x57, 0xc5, 0x77, 0x6b, 0x2d, 0x4d, 0x88, 0xe9, 0x5d, 0x62, + 0xd5, 0xa2, 0xf8, 0x70, 0xe1, 0x70, 0xeb, 0x45, 0x23, 0x0e, 0xf0, 0x00, + 0x46, 0xc2, 0x48, 0x31, 0xe8, 0xe7, 0x36, 0x80, 0x36, 0x2d, 0x22, 0xf2, + 0x01, 0x27, 0x53, 0xeb, 0xce, 0xa7, 0x69, 0x49, 0x82, 0xbf, 0xe7, 0x0f, + 0x9c, 0xf3, 0x20, 0x2e, 0xf5, 0xfa, 0x5d, 0xce, 0xea, 0x58, 0x3a, 0x8f, + 0xd8, 0xaa, 0x7d, 0x30, 0xb7, 0x74, 0x96, 0x7c, 0x3d, 0x6e, 0xb4, 0xec, + 0x4a, 0x3b, 0x59, 0xb6, 0xa9, 0x50, 0x0d, 0x0f, 0x05, 0x06, 0x70, 0x26, + 0xb9, 0x95, 0x91, 0xd1, 0x5e, 0x24, 0x8c, 0x8f, 0xca, 0x74, 0x57, 0x97, + 0x90, 0x8b, 0x5a, 0xb7, 0xfe, 0x8d, 0xad, 0xd8, 0xe8, 0xc2, 0x06, 0xbc, + 0x08, 0x56, 0x21, 0x02, 0x12, 0x53, 0xc6, 0x9f, 0x86, 0x04, 0x58, 0xca, + 0x2d, 0xf8, 0x03, 0x0d, 0x57, 0x0b, 0x1c, 0x37, 0xbd, 0xf0, 0x5a, 0x35, + 0xf2, 0xfe, 0x3b, 0xd6, 0xa4, 0x37, 0x15, 0xe9, 0xf8, 0x08, 0x92, 0x96, + 0x3d, 0x74, 0xc8, 0xb5, 0x5c, 0x6e, 0x65, 0x08, 0xe7, 0xdf, 0x69, 0x73, + 0x9c, 0xec, 0xe3, 0x30, 0x5a, 0xa6, 0xdf, 0x5c, 0xbe, 0xda, 0x7f, 0x00, + 0xee, 0xa5, 0xda, 0x2b, 0x5c, 0x1e, 0x2a, 0x6a, 0xc0, 0xa3, 0xae, 0x1e, + 0xf1, +}; + +#if 0 +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7250751724796726 (0x19c28530e93b36) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=IL, O=StartCom Ltd., OU=Secure Digital Certificate Signing, CN=StartCom Certification Authority + Validity + Not Before: Sep 17 22:46:36 2006 GMT + Not After : Dec 31 23:59:59 2019 GMT + Subject: C=CN, O=WoSign CA Limited, CN=Certification Authority of WoSign + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:bd:ca:8d:ac:b8:91:15:56:97:7b:6b:5c:7a:c2: + de:6b:d9:a1:b0:c3:10:23:fa:a7:a1:b2:cc:31:fa: + 3e:d9:a6:29:6f:16:3d:e0:6b:f8:b8:40:5f:db:39: + a8:00:7a:8b:a0:4d:54:7d:c2:22:78:fc:8e:09:b8: + a8:85:d7:cc:95:97:4b:74:d8:9e:7e:f0:00:e4:0e: + 89:ae:49:28:44:1a:10:99:32:0f:25:88:53:a4:0d: + b3:0f:12:08:16:0b:03:71:27:1c:7f:e1:db:d2:fd: + 67:68:c4:05:5d:0a:0e:5d:70:d7:d8:97:a0:bc:53: + 41:9a:91:8d:f4:9e:36:66:7a:7e:56:c1:90:5f:e6: + b1:68:20:36:a4:8c:24:2c:2c:47:0b:59:76:66:30: + b5:be:de:ed:8f:f8:9d:d3:bb:01:30:e6:f2:f3:0e: + e0:2c:92:80:f3:85:f9:28:8a:b4:54:2e:9a:ed:f7: + 76:fc:15:68:16:eb:4a:6c:eb:2e:12:8f:d4:cf:fe: + 0c:c7:5c:1d:0b:7e:05:32:be:5e:b0:09:2a:42:d5: + c9:4e:90:b3:59:0d:bb:7a:7e:cd:d5:08:5a:b4:7f: + d8:1c:69:11:f9:27:0f:7b:06:af:54:83:18:7b:e1: + dd:54:7a:51:68:6e:77:fc:c6:bf:52:4a:66:46:a1: + b2:67:1a:bb:a3:4f:77:a0:be:5d:ff:fc:56:0b:43: + 72:77:90:ca:9e:f9:f2:39:f5:0d:a9:f4:ea:d7:e7: + b3:10:2f:30:42:37:21:cc:30:70:c9:86:98:0f:cc: + 58:4d:83:bb:7d:e5:1a:a5:37:8d:b6:ac:32:97:00: + 3a:63:71:24:1e:9e:37:c4:ff:74:d4:37:c0:e2:fe: + 88:46:60:11:dd:08:3f:50:36:ab:b8:7a:a4:95:62: + 6a:6e:b0:ca:6a:21:5a:69:f3:f3:fb:1d:70:39:95: + f3:a7:6e:a6:81:89:a1:88:c5:3b:71:ca:a3:52:ee: + 83:bb:fd:a0:77:f4:e4:6f:e7:42:db:6d:4a:99:8a: + 34:48:bc:17:dc:e4:80:08:22:b6:f2:31:c0:3f:04: + 3e:eb:9f:20:79:d6:b8:06:64:64:02:31:d7:a9:cd: + 52:fb:84:45:69:09:00:2a:dc:55:8b:c4:06:46:4b: + c0:4a:1d:09:5b:39:28:fd:a9:ab:ce:00:f9:2e:48: + 4b:26:e6:30:4c:a5:58:ca:b4:44:82:4f:e7:91:1e: + 33:c3:b0:93:ff:11:fc:81:d2:ca:1f:71:29:dd:76: + 4f:92:25:af:1d:81:b7:0f:2f:8c:c3:06:cc:2f:27: + a3:4a:e4:0e:99:ba:7c:1e:45:1f:7f:aa:19:45:96: + fd:fc:3d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE, pathlen:2 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + E1:66:CF:0E:D1:F1:B3:4B:B7:06:20:14:FE:87:12:D5:F6:FE:FB:3E + X509v3 Authority Key Identifier: + keyid:4E:0B:EF:1A:A4:40:5B:A5:17:69:87:30:CA:34:68:43:D0:41:AE:F2 + + Authority Information Access: + OCSP - URI:http://ocsp.startssl.com/ca + CA Issuers - URI:http://aia.startssl.com/certs/ca.crt + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://crl.startssl.com/sfsca.crl + + Signature Algorithm: sha256WithRSAEncryption + b6:6d:f8:70:fb:e2:0d:4c:98:b3:07:49:15:f5:04:c4:6c:ca: + ca:f5:68:a0:08:fe:12:6d:9c:04:06:c9:ad:9a:91:52:3e:78: + c4:5c:ee:9f:54:1d:ee:e3:f1:5e:30:c9:49:e1:39:e0:a6:9d: + 36:6c:57:fa:e6:34:4f:55:e8:87:a8:2c:dd:05:f1:58:12:91: + e8:ca:ce:28:78:8f:df:07:85:01:a5:dc:45:96:05:d4:80:b2: + 2b:05:9a:cb:9a:a5:8b:e0:3a:67:e6:73:47:be:4a:fd:27:b1: + 88:ef:e6:ca:cf:8d:0e:26:9f:fa:5f:57:78:ad:6d:fe:ae:9b: + 35:08:b1:c3:ba:c1:00:4a:4b:7d:14:bd:f7:f1:d3:55:18:ac: + d0:33:70:88:6d:c4:09:71:14:a6:2b:4f:88:81:e7:0b:00:37: + a9:15:7d:7e:d7:01:96:3f:2f:af:7b:62:ae:0a:4a:bf:4b:39: + 2e:35:10:8b:fe:04:39:e4:3c:3a:0c:09:56:40:3a:b5:f4:c2: + 68:0c:b5:f9:52:cd:ee:9d:f8:98:fc:78:e7:58:47:8f:1c:73: + 58:69:33:ab:ff:dd:df:8e:24:01:77:98:19:3a:b0:66:79:bc: + e1:08:a3:0e:4f:c1:04:b3:f3:01:c8:eb:d3:59:1c:35:d2:93: + 1e:70:65:82:7f:db:cf:fb:c8:99:12:60:c3:44:6f:3a:80:4b: + d7:be:21:aa:14:7a:64:cb:dd:37:43:45:5b:32:2e:45:f0:d9: + 59:1f:6b:18:f0:7c:e9:55:36:19:61:5f:b5:7d:f1:8d:bd:88: + e4:75:4b:98:dd:27:b0:e4:84:44:2a:61:84:57:05:82:11:1f: + aa:35:58:f3:20:0e:af:59:ef:fa:55:72:72:0d:26:d0:9b:53: + 49:ac:ce:37:2e:65:61:ff:f6:ec:1b:ea:f6:f1:a6:d3:d1:b5: + 7b:be:35:f4:22:c1:bc:8d:01:bd:68:5e:83:0d:2f:ec:d6:da: + 63:0c:27:d1:54:3e:e4:a8:d3:ce:4b:32:b8:91:94:ff:fb:5b: + 49:2d:75:18:a8:ba:71:9a:3b:ae:d9:c0:a9:4f:87:91:ed:8b: + 7b:6b:20:98:89:39:83:4f:80:c4:69:cc:17:c9:c8:4e:be:e4: + a9:a5:81:76:70:06:04:32:cd:83:65:f4:bc:7d:3e:13:bc:d2: + e8:6f:63:aa:b5:3b:da:8d:86:32:82:78:9d:d9:cc:ff:bf:57: + 64:74:ed:28:3d:44:62:15:61:4b:f7:94:b0:0d:2a:67:1c:f0: + cb:9b:a5:92:bf:f8:41:5a:c1:3d:60:ed:9f:bb:b8:6d:9b:ce: + a9:6a:16:3f:7e:ea:06:f1 +-----BEGIN CERTIFICATE----- +MIIGXDCCBESgAwIBAgIHGcKFMOk7NjANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQG +EwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERp +Z2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MjI0NjM2WhcNMTkxMjMxMjM1 +OTU5WjBVMQswCQYDVQQGEwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQx +KjAoBgNVBAMTIUNlcnRpZmljYXRpb24gQXV0aG9yaXR5IG9mIFdvU2lnbjCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL3Kjay4kRVWl3trXHrC3mvZobDD +ECP6p6GyzDH6PtmmKW8WPeBr+LhAX9s5qAB6i6BNVH3CInj8jgm4qIXXzJWXS3TY +nn7wAOQOia5JKEQaEJkyDyWIU6QNsw8SCBYLA3EnHH/h29L9Z2jEBV0KDl1w19iX +oLxTQZqRjfSeNmZ6flbBkF/msWggNqSMJCwsRwtZdmYwtb7e7Y/4ndO7ATDm8vMO +4CySgPOF+SiKtFQumu33dvwVaBbrSmzrLhKP1M/+DMdcHQt+BTK+XrAJKkLVyU6Q +s1kNu3p+zdUIWrR/2BxpEfknD3sGr1SDGHvh3VR6UWhud/zGv1JKZkahsmcau6NP +d6C+Xf/8VgtDcneQyp758jn1Dan06tfnsxAvMEI3IcwwcMmGmA/MWE2Du33lGqU3 +jbasMpcAOmNxJB6eN8T/dNQ3wOL+iEZgEd0IP1A2q7h6pJViam6wymohWmnz8/sd +cDmV86dupoGJoYjFO3HKo1Lug7v9oHf05G/nQtttSpmKNEi8F9zkgAgitvIxwD8E +PuufIHnWuAZkZAIx16nNUvuERWkJACrcVYvEBkZLwEodCVs5KP2pq84A+S5ISybm +MEylWMq0RIJP55EeM8Owk/8R/IHSyh9xKd12T5Ilrx2Btw8vjMMGzC8no0rkDpm6 +fB5FH3+qGUWW/fw9AgMBAAGjggEHMIIBAzASBgNVHRMBAf8ECDAGAQH/AgECMA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU4WbPDtHxs0u3BiAU/ocS1fb++z4wHwYD +VR0jBBgwFoAUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwaQYIKwYBBQUHAQEEXTBbMCcG +CCsGAQUFBzABhhtodHRwOi8vb2NzcC5zdGFydHNzbC5jb20vY2EwMAYIKwYBBQUH +MAKGJGh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL2NhLmNydDAyBgNVHR8E +KzApMCegJaAjhiFodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9zZnNjYS5jcmwwDQYJ +KoZIhvcNAQELBQADggIBALZt+HD74g1MmLMHSRX1BMRsysr1aKAI/hJtnAQGya2a +kVI+eMRc7p9UHe7j8V4wyUnhOeCmnTZsV/rmNE9V6IeoLN0F8VgSkejKzih4j98H +hQGl3EWWBdSAsisFmsuapYvgOmfmc0e+Sv0nsYjv5srPjQ4mn/pfV3itbf6umzUI +scO6wQBKS30Uvffx01UYrNAzcIhtxAlxFKYrT4iB5wsAN6kVfX7XAZY/L697Yq4K +Sr9LOS41EIv+BDnkPDoMCVZAOrX0wmgMtflSze6d+Jj8eOdYR48cc1hpM6v/3d+O +JAF3mBk6sGZ5vOEIow5PwQSz8wHI69NZHDXSkx5wZYJ/28/7yJkSYMNEbzqAS9e+ +IaoUemTL3TdDRVsyLkXw2VkfaxjwfOlVNhlhX7V98Y29iOR1S5jdJ7DkhEQqYYRX +BYIRH6o1WPMgDq9Z7/pVcnINJtCbU0mszjcuZWH/9uwb6vbxptPRtXu+NfQiwbyN +Ab1oXoMNL+zW2mMMJ9FUPuSo085LMriRlP/7W0ktdRiounGaO67ZwKlPh5Hti3tr +IJiJOYNPgMRpzBfJyE6+5KmlgXZwBgQyzYNl9Lx9PhO80uhvY6q1O9qNhjKCeJ3Z +zP+/V2R07Sg9RGIVYUv3lLANKmcc8MubpZK/+EFawT1g7Z+7uG2bzqlqFj9+6gbx +-----END CERTIFICATE----- +#endif +static const unsigned char der_cert3_51[] = { + 0x30, 0x82, 0x06, 0x5c, 0x30, 0x82, 0x04, 0x44, 0xa0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x07, 0x19, 0xc2, 0x85, 0x30, 0xe9, 0x3b, 0x36, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, + 0x00, 0x30, 0x7d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x49, 0x4c, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x0a, 0x13, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, + 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, + 0x0b, 0x13, 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x44, 0x69, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, + 0x67, 0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x20, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, + 0x30, 0x36, 0x30, 0x39, 0x31, 0x37, 0x32, 0x32, 0x34, 0x36, 0x33, 0x36, + 0x5a, 0x17, 0x0d, 0x31, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, + 0x39, 0x35, 0x39, 0x5a, 0x30, 0x55, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, + 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, 0x4e, 0x31, 0x1a, 0x30, 0x18, 0x06, + 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x57, 0x6f, 0x53, 0x69, 0x67, 0x6e, + 0x20, 0x43, 0x41, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x31, + 0x2a, 0x30, 0x28, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, + 0x20, 0x57, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x30, 0x82, 0x02, 0x22, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, + 0x82, 0x02, 0x01, 0x00, 0xbd, 0xca, 0x8d, 0xac, 0xb8, 0x91, 0x15, 0x56, + 0x97, 0x7b, 0x6b, 0x5c, 0x7a, 0xc2, 0xde, 0x6b, 0xd9, 0xa1, 0xb0, 0xc3, + 0x10, 0x23, 0xfa, 0xa7, 0xa1, 0xb2, 0xcc, 0x31, 0xfa, 0x3e, 0xd9, 0xa6, + 0x29, 0x6f, 0x16, 0x3d, 0xe0, 0x6b, 0xf8, 0xb8, 0x40, 0x5f, 0xdb, 0x39, + 0xa8, 0x00, 0x7a, 0x8b, 0xa0, 0x4d, 0x54, 0x7d, 0xc2, 0x22, 0x78, 0xfc, + 0x8e, 0x09, 0xb8, 0xa8, 0x85, 0xd7, 0xcc, 0x95, 0x97, 0x4b, 0x74, 0xd8, + 0x9e, 0x7e, 0xf0, 0x00, 0xe4, 0x0e, 0x89, 0xae, 0x49, 0x28, 0x44, 0x1a, + 0x10, 0x99, 0x32, 0x0f, 0x25, 0x88, 0x53, 0xa4, 0x0d, 0xb3, 0x0f, 0x12, + 0x08, 0x16, 0x0b, 0x03, 0x71, 0x27, 0x1c, 0x7f, 0xe1, 0xdb, 0xd2, 0xfd, + 0x67, 0x68, 0xc4, 0x05, 0x5d, 0x0a, 0x0e, 0x5d, 0x70, 0xd7, 0xd8, 0x97, + 0xa0, 0xbc, 0x53, 0x41, 0x9a, 0x91, 0x8d, 0xf4, 0x9e, 0x36, 0x66, 0x7a, + 0x7e, 0x56, 0xc1, 0x90, 0x5f, 0xe6, 0xb1, 0x68, 0x20, 0x36, 0xa4, 0x8c, + 0x24, 0x2c, 0x2c, 0x47, 0x0b, 0x59, 0x76, 0x66, 0x30, 0xb5, 0xbe, 0xde, + 0xed, 0x8f, 0xf8, 0x9d, 0xd3, 0xbb, 0x01, 0x30, 0xe6, 0xf2, 0xf3, 0x0e, + 0xe0, 0x2c, 0x92, 0x80, 0xf3, 0x85, 0xf9, 0x28, 0x8a, 0xb4, 0x54, 0x2e, + 0x9a, 0xed, 0xf7, 0x76, 0xfc, 0x15, 0x68, 0x16, 0xeb, 0x4a, 0x6c, 0xeb, + 0x2e, 0x12, 0x8f, 0xd4, 0xcf, 0xfe, 0x0c, 0xc7, 0x5c, 0x1d, 0x0b, 0x7e, + 0x05, 0x32, 0xbe, 0x5e, 0xb0, 0x09, 0x2a, 0x42, 0xd5, 0xc9, 0x4e, 0x90, + 0xb3, 0x59, 0x0d, 0xbb, 0x7a, 0x7e, 0xcd, 0xd5, 0x08, 0x5a, 0xb4, 0x7f, + 0xd8, 0x1c, 0x69, 0x11, 0xf9, 0x27, 0x0f, 0x7b, 0x06, 0xaf, 0x54, 0x83, + 0x18, 0x7b, 0xe1, 0xdd, 0x54, 0x7a, 0x51, 0x68, 0x6e, 0x77, 0xfc, 0xc6, + 0xbf, 0x52, 0x4a, 0x66, 0x46, 0xa1, 0xb2, 0x67, 0x1a, 0xbb, 0xa3, 0x4f, + 0x77, 0xa0, 0xbe, 0x5d, 0xff, 0xfc, 0x56, 0x0b, 0x43, 0x72, 0x77, 0x90, + 0xca, 0x9e, 0xf9, 0xf2, 0x39, 0xf5, 0x0d, 0xa9, 0xf4, 0xea, 0xd7, 0xe7, + 0xb3, 0x10, 0x2f, 0x30, 0x42, 0x37, 0x21, 0xcc, 0x30, 0x70, 0xc9, 0x86, + 0x98, 0x0f, 0xcc, 0x58, 0x4d, 0x83, 0xbb, 0x7d, 0xe5, 0x1a, 0xa5, 0x37, + 0x8d, 0xb6, 0xac, 0x32, 0x97, 0x00, 0x3a, 0x63, 0x71, 0x24, 0x1e, 0x9e, + 0x37, 0xc4, 0xff, 0x74, 0xd4, 0x37, 0xc0, 0xe2, 0xfe, 0x88, 0x46, 0x60, + 0x11, 0xdd, 0x08, 0x3f, 0x50, 0x36, 0xab, 0xb8, 0x7a, 0xa4, 0x95, 0x62, + 0x6a, 0x6e, 0xb0, 0xca, 0x6a, 0x21, 0x5a, 0x69, 0xf3, 0xf3, 0xfb, 0x1d, + 0x70, 0x39, 0x95, 0xf3, 0xa7, 0x6e, 0xa6, 0x81, 0x89, 0xa1, 0x88, 0xc5, + 0x3b, 0x71, 0xca, 0xa3, 0x52, 0xee, 0x83, 0xbb, 0xfd, 0xa0, 0x77, 0xf4, + 0xe4, 0x6f, 0xe7, 0x42, 0xdb, 0x6d, 0x4a, 0x99, 0x8a, 0x34, 0x48, 0xbc, + 0x17, 0xdc, 0xe4, 0x80, 0x08, 0x22, 0xb6, 0xf2, 0x31, 0xc0, 0x3f, 0x04, + 0x3e, 0xeb, 0x9f, 0x20, 0x79, 0xd6, 0xb8, 0x06, 0x64, 0x64, 0x02, 0x31, + 0xd7, 0xa9, 0xcd, 0x52, 0xfb, 0x84, 0x45, 0x69, 0x09, 0x00, 0x2a, 0xdc, + 0x55, 0x8b, 0xc4, 0x06, 0x46, 0x4b, 0xc0, 0x4a, 0x1d, 0x09, 0x5b, 0x39, + 0x28, 0xfd, 0xa9, 0xab, 0xce, 0x00, 0xf9, 0x2e, 0x48, 0x4b, 0x26, 0xe6, + 0x30, 0x4c, 0xa5, 0x58, 0xca, 0xb4, 0x44, 0x82, 0x4f, 0xe7, 0x91, 0x1e, + 0x33, 0xc3, 0xb0, 0x93, 0xff, 0x11, 0xfc, 0x81, 0xd2, 0xca, 0x1f, 0x71, + 0x29, 0xdd, 0x76, 0x4f, 0x92, 0x25, 0xaf, 0x1d, 0x81, 0xb7, 0x0f, 0x2f, + 0x8c, 0xc3, 0x06, 0xcc, 0x2f, 0x27, 0xa3, 0x4a, 0xe4, 0x0e, 0x99, 0xba, + 0x7c, 0x1e, 0x45, 0x1f, 0x7f, 0xaa, 0x19, 0x45, 0x96, 0xfd, 0xfc, 0x3d, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x07, 0x30, 0x82, 0x01, + 0x03, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x02, 0x30, 0x0e, 0x06, + 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, + 0xe1, 0x66, 0xcf, 0x0e, 0xd1, 0xf1, 0xb3, 0x4b, 0xb7, 0x06, 0x20, 0x14, + 0xfe, 0x87, 0x12, 0xd5, 0xf6, 0xfe, 0xfb, 0x3e, 0x30, 0x1f, 0x06, 0x03, + 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x4e, 0x0b, 0xef, + 0x1a, 0xa4, 0x40, 0x5b, 0xa5, 0x17, 0x69, 0x87, 0x30, 0xca, 0x34, 0x68, + 0x43, 0xd0, 0x41, 0xae, 0xf2, 0x30, 0x69, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x5d, 0x30, 0x5b, 0x30, 0x27, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x1b, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x61, 0x30, 0x30, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x30, 0x02, 0x86, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, + 0x69, 0x61, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, + 0x2e, 0x63, 0x72, 0x74, 0x30, 0x32, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, + 0x2b, 0x30, 0x29, 0x30, 0x27, 0xa0, 0x25, 0xa0, 0x23, 0x86, 0x21, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x66, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, + 0x82, 0x02, 0x01, 0x00, 0xb6, 0x6d, 0xf8, 0x70, 0xfb, 0xe2, 0x0d, 0x4c, + 0x98, 0xb3, 0x07, 0x49, 0x15, 0xf5, 0x04, 0xc4, 0x6c, 0xca, 0xca, 0xf5, + 0x68, 0xa0, 0x08, 0xfe, 0x12, 0x6d, 0x9c, 0x04, 0x06, 0xc9, 0xad, 0x9a, + 0x91, 0x52, 0x3e, 0x78, 0xc4, 0x5c, 0xee, 0x9f, 0x54, 0x1d, 0xee, 0xe3, + 0xf1, 0x5e, 0x30, 0xc9, 0x49, 0xe1, 0x39, 0xe0, 0xa6, 0x9d, 0x36, 0x6c, + 0x57, 0xfa, 0xe6, 0x34, 0x4f, 0x55, 0xe8, 0x87, 0xa8, 0x2c, 0xdd, 0x05, + 0xf1, 0x58, 0x12, 0x91, 0xe8, 0xca, 0xce, 0x28, 0x78, 0x8f, 0xdf, 0x07, + 0x85, 0x01, 0xa5, 0xdc, 0x45, 0x96, 0x05, 0xd4, 0x80, 0xb2, 0x2b, 0x05, + 0x9a, 0xcb, 0x9a, 0xa5, 0x8b, 0xe0, 0x3a, 0x67, 0xe6, 0x73, 0x47, 0xbe, + 0x4a, 0xfd, 0x27, 0xb1, 0x88, 0xef, 0xe6, 0xca, 0xcf, 0x8d, 0x0e, 0x26, + 0x9f, 0xfa, 0x5f, 0x57, 0x78, 0xad, 0x6d, 0xfe, 0xae, 0x9b, 0x35, 0x08, + 0xb1, 0xc3, 0xba, 0xc1, 0x00, 0x4a, 0x4b, 0x7d, 0x14, 0xbd, 0xf7, 0xf1, + 0xd3, 0x55, 0x18, 0xac, 0xd0, 0x33, 0x70, 0x88, 0x6d, 0xc4, 0x09, 0x71, + 0x14, 0xa6, 0x2b, 0x4f, 0x88, 0x81, 0xe7, 0x0b, 0x00, 0x37, 0xa9, 0x15, + 0x7d, 0x7e, 0xd7, 0x01, 0x96, 0x3f, 0x2f, 0xaf, 0x7b, 0x62, 0xae, 0x0a, + 0x4a, 0xbf, 0x4b, 0x39, 0x2e, 0x35, 0x10, 0x8b, 0xfe, 0x04, 0x39, 0xe4, + 0x3c, 0x3a, 0x0c, 0x09, 0x56, 0x40, 0x3a, 0xb5, 0xf4, 0xc2, 0x68, 0x0c, + 0xb5, 0xf9, 0x52, 0xcd, 0xee, 0x9d, 0xf8, 0x98, 0xfc, 0x78, 0xe7, 0x58, + 0x47, 0x8f, 0x1c, 0x73, 0x58, 0x69, 0x33, 0xab, 0xff, 0xdd, 0xdf, 0x8e, + 0x24, 0x01, 0x77, 0x98, 0x19, 0x3a, 0xb0, 0x66, 0x79, 0xbc, 0xe1, 0x08, + 0xa3, 0x0e, 0x4f, 0xc1, 0x04, 0xb3, 0xf3, 0x01, 0xc8, 0xeb, 0xd3, 0x59, + 0x1c, 0x35, 0xd2, 0x93, 0x1e, 0x70, 0x65, 0x82, 0x7f, 0xdb, 0xcf, 0xfb, + 0xc8, 0x99, 0x12, 0x60, 0xc3, 0x44, 0x6f, 0x3a, 0x80, 0x4b, 0xd7, 0xbe, + 0x21, 0xaa, 0x14, 0x7a, 0x64, 0xcb, 0xdd, 0x37, 0x43, 0x45, 0x5b, 0x32, + 0x2e, 0x45, 0xf0, 0xd9, 0x59, 0x1f, 0x6b, 0x18, 0xf0, 0x7c, 0xe9, 0x55, + 0x36, 0x19, 0x61, 0x5f, 0xb5, 0x7d, 0xf1, 0x8d, 0xbd, 0x88, 0xe4, 0x75, + 0x4b, 0x98, 0xdd, 0x27, 0xb0, 0xe4, 0x84, 0x44, 0x2a, 0x61, 0x84, 0x57, + 0x05, 0x82, 0x11, 0x1f, 0xaa, 0x35, 0x58, 0xf3, 0x20, 0x0e, 0xaf, 0x59, + 0xef, 0xfa, 0x55, 0x72, 0x72, 0x0d, 0x26, 0xd0, 0x9b, 0x53, 0x49, 0xac, + 0xce, 0x37, 0x2e, 0x65, 0x61, 0xff, 0xf6, 0xec, 0x1b, 0xea, 0xf6, 0xf1, + 0xa6, 0xd3, 0xd1, 0xb5, 0x7b, 0xbe, 0x35, 0xf4, 0x22, 0xc1, 0xbc, 0x8d, + 0x01, 0xbd, 0x68, 0x5e, 0x83, 0x0d, 0x2f, 0xec, 0xd6, 0xda, 0x63, 0x0c, + 0x27, 0xd1, 0x54, 0x3e, 0xe4, 0xa8, 0xd3, 0xce, 0x4b, 0x32, 0xb8, 0x91, + 0x94, 0xff, 0xfb, 0x5b, 0x49, 0x2d, 0x75, 0x18, 0xa8, 0xba, 0x71, 0x9a, + 0x3b, 0xae, 0xd9, 0xc0, 0xa9, 0x4f, 0x87, 0x91, 0xed, 0x8b, 0x7b, 0x6b, + 0x20, 0x98, 0x89, 0x39, 0x83, 0x4f, 0x80, 0xc4, 0x69, 0xcc, 0x17, 0xc9, + 0xc8, 0x4e, 0xbe, 0xe4, 0xa9, 0xa5, 0x81, 0x76, 0x70, 0x06, 0x04, 0x32, + 0xcd, 0x83, 0x65, 0xf4, 0xbc, 0x7d, 0x3e, 0x13, 0xbc, 0xd2, 0xe8, 0x6f, + 0x63, 0xaa, 0xb5, 0x3b, 0xda, 0x8d, 0x86, 0x32, 0x82, 0x78, 0x9d, 0xd9, + 0xcc, 0xff, 0xbf, 0x57, 0x64, 0x74, 0xed, 0x28, 0x3d, 0x44, 0x62, 0x15, + 0x61, 0x4b, 0xf7, 0x94, 0xb0, 0x0d, 0x2a, 0x67, 0x1c, 0xf0, 0xcb, 0x9b, + 0xa5, 0x92, 0xbf, 0xf8, 0x41, 0x5a, 0xc1, 0x3d, 0x60, 0xed, 0x9f, 0xbb, + 0xb8, 0x6d, 0x9b, 0xce, 0xa9, 0x6a, 0x16, 0x3f, 0x7e, 0xea, 0x06, 0xf1, +}; diff --git a/external/lsquic/src/liblsquic/fiu-local.h b/external/lsquic/src/liblsquic/fiu-local.h new file mode 100644 index 0000000..a63f44b --- /dev/null +++ b/external/lsquic/src/liblsquic/fiu-local.h @@ -0,0 +1,38 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ + +/* libfiu - Fault Injection in Userspace + * + * This header, part of libfiu, is meant to be included in your project to + * avoid having libfiu as a mandatory build-time dependency. + * + * You can add it to your project, and #include it instead of fiu.h. + * The real fiu.h will be used only when FIU_ENABLE is defined. + * + * This header, as the rest of libfiu, is in the public domain. + * + * You can find more information about libfiu at + * http://blitiri.com.ar/p/libfiu. + */ + +#ifndef _FIU_LOCAL_H +#define _FIU_LOCAL_H + +/* Only define the stubs when fiu is disabled, otherwise use the real fiu.h + * header */ +#ifndef FIU_ENABLE + +#define fiu_init(flags) 0 +#define fiu_fail(name) 0 +#define fiu_failinfo() NULL +#define fiu_do_on(name, action) +#define fiu_exit_on(name) +#define fiu_return_on(name, retval) + +#else + +#include + +#endif /* FIU_ENABLE */ + +#endif /* _FIU_LOCAL_H */ + diff --git a/external/lsquic/src/liblsquic/ls-qpack/huff-tables.h b/external/lsquic/src/liblsquic/ls-qpack/huff-tables.h new file mode 100644 index 0000000..2265d47 --- /dev/null +++ b/external/lsquic/src/liblsquic/ls-qpack/huff-tables.h @@ -0,0 +1,136247 @@ +struct encode_el +{ + uint32_t code; + int bits; +}; + +static const struct encode_el encode_table[257] = +{ + { 0x1ff8, 13}, // ( 0) + { 0x7fffd8, 23}, // ( 1) + { 0xfffffe2, 28}, // ( 2) + { 0xfffffe3, 28}, // ( 3) + { 0xfffffe4, 28}, // ( 4) + { 0xfffffe5, 28}, // ( 5) + { 0xfffffe6, 28}, // ( 6) + { 0xfffffe7, 28}, // ( 7) + { 0xfffffe8, 28}, // ( 8) + { 0xffffea, 24}, // ( 9) + { 0x3ffffffc, 30}, // ( 10) + { 0xfffffe9, 28}, // ( 11) + { 0xfffffea, 28}, // ( 12) + { 0x3ffffffd, 30}, // ( 13) + { 0xfffffeb, 28}, // ( 14) + { 0xfffffec, 28}, // ( 15) + { 0xfffffed, 28}, // ( 16) + { 0xfffffee, 28}, // ( 17) + { 0xfffffef, 28}, // ( 18) + { 0xffffff0, 28}, // ( 19) + { 0xffffff1, 28}, // ( 20) + { 0xffffff2, 28}, // ( 21) + { 0x3ffffffe, 30}, // ( 22) + { 0xffffff3, 28}, // ( 23) + { 0xffffff4, 28}, // ( 24) + { 0xffffff5, 28}, // ( 25) + { 0xffffff6, 28}, // ( 26) + { 0xffffff7, 28}, // ( 27) + { 0xffffff8, 28}, // ( 28) + { 0xffffff9, 28}, // ( 29) + { 0xffffffa, 28}, // ( 30) + { 0xffffffb, 28}, // ( 31) + { 0x14, 6}, // ' ' ( 32) + { 0x3f8, 10}, // '!' ( 33) + { 0x3f9, 10}, // '"' ( 34) + { 0xffa, 12}, // '#' ( 35) + { 0x1ff9, 13}, // '$' ( 36) + { 0x15, 6}, // '%' ( 37) + { 0xf8, 8}, // '&' ( 38) + { 0x7fa, 11}, // ''' ( 39) + { 0x3fa, 10}, // '(' ( 40) + { 0x3fb, 10}, // ')' ( 41) + { 0xf9, 8}, // '*' ( 42) + { 0x7fb, 11}, // '+' ( 43) + { 0xfa, 8}, // ',' ( 44) + { 0x16, 6}, // '-' ( 45) + { 0x17, 6}, // '.' ( 46) + { 0x18, 6}, // '/' ( 47) + { 0x0, 5}, // '0' ( 48) + { 0x1, 5}, // '1' ( 49) + { 0x2, 5}, // '2' ( 50) + { 0x19, 6}, // '3' ( 51) + { 0x1a, 6}, // '4' ( 52) + { 0x1b, 6}, // '5' ( 53) + { 0x1c, 6}, // '6' ( 54) + { 0x1d, 6}, // '7' ( 55) + { 0x1e, 6}, // '8' ( 56) + { 0x1f, 6}, // '9' ( 57) + { 0x5c, 7}, // ':' ( 58) + { 0xfb, 8}, // ';' ( 59) + { 0x7ffc, 15}, // '<' ( 60) + { 0x20, 6}, // '=' ( 61) + { 0xffb, 12}, // '>' ( 62) + { 0x3fc, 10}, // '?' ( 63) + { 0x1ffa, 13}, // '@' ( 64) + { 0x21, 6}, // 'A' ( 65) + { 0x5d, 7}, // 'B' ( 66) + { 0x5e, 7}, // 'C' ( 67) + { 0x5f, 7}, // 'D' ( 68) + { 0x60, 7}, // 'E' ( 69) + { 0x61, 7}, // 'F' ( 70) + { 0x62, 7}, // 'G' ( 71) + { 0x63, 7}, // 'H' ( 72) + { 0x64, 7}, // 'I' ( 73) + { 0x65, 7}, // 'J' ( 74) + { 0x66, 7}, // 'K' ( 75) + { 0x67, 7}, // 'L' ( 76) + { 0x68, 7}, // 'M' ( 77) + { 0x69, 7}, // 'N' ( 78) + { 0x6a, 7}, // 'O' ( 79) + { 0x6b, 7}, // 'P' ( 80) + { 0x6c, 7}, // 'Q' ( 81) + { 0x6d, 7}, // 'R' ( 82) + { 0x6e, 7}, // 'S' ( 83) + { 0x6f, 7}, // 'T' ( 84) + { 0x70, 7}, // 'U' ( 85) + { 0x71, 7}, // 'V' ( 86) + { 0x72, 7}, // 'W' ( 87) + { 0xfc, 8}, // 'X' ( 88) + { 0x73, 7}, // 'Y' ( 89) + { 0xfd, 8}, // 'Z' ( 90) + { 0x1ffb, 13}, // '[' ( 91) + { 0x7fff0, 19}, // '\' ( 92) + { 0x1ffc, 13}, // ']' ( 93) + { 0x3ffc, 14}, // '^' ( 94) + { 0x22, 6}, // '_' ( 95) + { 0x7ffd, 15}, // '`' ( 96) + { 0x3, 5}, // 'a' ( 97) + { 0x23, 6}, // 'b' ( 98) + { 0x4, 5}, // 'c' ( 99) + { 0x24, 6}, // 'd' (100) + { 0x5, 5}, // 'e' (101) + { 0x25, 6}, // 'f' (102) + { 0x26, 6}, // 'g' (103) + { 0x27, 6}, // 'h' (104) + { 0x6, 5}, // 'i' (105) + { 0x74, 7}, // 'j' (106) + { 0x75, 7}, // 'k' (107) + { 0x28, 6}, // 'l' (108) + { 0x29, 6}, // 'm' (109) + { 0x2a, 6}, // 'n' (110) + { 0x7, 5}, // 'o' (111) + { 0x2b, 6}, // 'p' (112) + { 0x76, 7}, // 'q' (113) + { 0x2c, 6}, // 'r' (114) + { 0x8, 5}, // 's' (115) + { 0x9, 5}, // 't' (116) + { 0x2d, 6}, // 'u' (117) + { 0x77, 7}, // 'v' (118) + { 0x78, 7}, // 'w' (119) + { 0x79, 7}, // 'x' (120) + { 0x7a, 7}, // 'y' (121) + { 0x7b, 7}, // 'z' (122) + { 0x7ffe, 15}, // '{' (123) + { 0x7fc, 11}, // '|' (124) + { 0x3ffd, 14}, // '}' (125) + { 0x1ffd, 13}, // '~' (126) + { 0xffffffc, 28}, // (127) + { 0xfffe6, 20}, // (128) + { 0x3fffd2, 22}, // (129) + { 0xfffe7, 20}, // (130) + { 0xfffe8, 20}, // (131) + { 0x3fffd3, 22}, // (132) + { 0x3fffd4, 22}, // (133) + { 0x3fffd5, 22}, // (134) + { 0x7fffd9, 23}, // (135) + { 0x3fffd6, 22}, // (136) + { 0x7fffda, 23}, // (137) + { 0x7fffdb, 23}, // (138) + { 0x7fffdc, 23}, // (139) + { 0x7fffdd, 23}, // (140) + { 0x7fffde, 23}, // (141) + { 0xffffeb, 24}, // (142) + { 0x7fffdf, 23}, // (143) + { 0xffffec, 24}, // (144) + { 0xffffed, 24}, // (145) + { 0x3fffd7, 22}, // (146) + { 0x7fffe0, 23}, // (147) + { 0xffffee, 24}, // (148) + { 0x7fffe1, 23}, // (149) + { 0x7fffe2, 23}, // (150) + { 0x7fffe3, 23}, // (151) + { 0x7fffe4, 23}, // (152) + { 0x1fffdc, 21}, // (153) + { 0x3fffd8, 22}, // (154) + { 0x7fffe5, 23}, // (155) + { 0x3fffd9, 22}, // (156) + { 0x7fffe6, 23}, // (157) + { 0x7fffe7, 23}, // (158) + { 0xffffef, 24}, // (159) + { 0x3fffda, 22}, // (160) + { 0x1fffdd, 21}, // (161) + { 0xfffe9, 20}, // (162) + { 0x3fffdb, 22}, // (163) + { 0x3fffdc, 22}, // (164) + { 0x7fffe8, 23}, // (165) + { 0x7fffe9, 23}, // (166) + { 0x1fffde, 21}, // (167) + { 0x7fffea, 23}, // (168) + { 0x3fffdd, 22}, // (169) + { 0x3fffde, 22}, // (170) + { 0xfffff0, 24}, // (171) + { 0x1fffdf, 21}, // (172) + { 0x3fffdf, 22}, // (173) + { 0x7fffeb, 23}, // (174) + { 0x7fffec, 23}, // (175) + { 0x1fffe0, 21}, // (176) + { 0x1fffe1, 21}, // (177) + { 0x3fffe0, 22}, // (178) + { 0x1fffe2, 21}, // (179) + { 0x7fffed, 23}, // (180) + { 0x3fffe1, 22}, // (181) + { 0x7fffee, 23}, // (182) + { 0x7fffef, 23}, // (183) + { 0xfffea, 20}, // (184) + { 0x3fffe2, 22}, // (185) + { 0x3fffe3, 22}, // (186) + { 0x3fffe4, 22}, // (187) + { 0x7ffff0, 23}, // (188) + { 0x3fffe5, 22}, // (189) + { 0x3fffe6, 22}, // (190) + { 0x7ffff1, 23}, // (191) + { 0x3ffffe0, 26}, // (192) + { 0x3ffffe1, 26}, // (193) + { 0xfffeb, 20}, // (194) + { 0x7fff1, 19}, // (195) + { 0x3fffe7, 22}, // (196) + { 0x7ffff2, 23}, // (197) + { 0x3fffe8, 22}, // (198) + { 0x1ffffec, 25}, // (199) + { 0x3ffffe2, 26}, // (200) + { 0x3ffffe3, 26}, // (201) + { 0x3ffffe4, 26}, // (202) + { 0x7ffffde, 27}, // (203) + { 0x7ffffdf, 27}, // (204) + { 0x3ffffe5, 26}, // (205) + { 0xfffff1, 24}, // (206) + { 0x1ffffed, 25}, // (207) + { 0x7fff2, 19}, // (208) + { 0x1fffe3, 21}, // (209) + { 0x3ffffe6, 26}, // (210) + { 0x7ffffe0, 27}, // (211) + { 0x7ffffe1, 27}, // (212) + { 0x3ffffe7, 26}, // (213) + { 0x7ffffe2, 27}, // (214) + { 0xfffff2, 24}, // (215) + { 0x1fffe4, 21}, // (216) + { 0x1fffe5, 21}, // (217) + { 0x3ffffe8, 26}, // (218) + { 0x3ffffe9, 26}, // (219) + { 0xffffffd, 28}, // (220) + { 0x7ffffe3, 27}, // (221) + { 0x7ffffe4, 27}, // (222) + { 0x7ffffe5, 27}, // (223) + { 0xfffec, 20}, // (224) + { 0xfffff3, 24}, // (225) + { 0xfffed, 20}, // (226) + { 0x1fffe6, 21}, // (227) + { 0x3fffe9, 22}, // (228) + { 0x1fffe7, 21}, // (229) + { 0x1fffe8, 21}, // (230) + { 0x7ffff3, 23}, // (231) + { 0x3fffea, 22}, // (232) + { 0x3fffeb, 22}, // (233) + { 0x1ffffee, 25}, // (234) + { 0x1ffffef, 25}, // (235) + { 0xfffff4, 24}, // (236) + { 0xfffff5, 24}, // (237) + { 0x3ffffea, 26}, // (238) + { 0x7ffff4, 23}, // (239) + { 0x3ffffeb, 26}, // (240) + { 0x7ffffe6, 27}, // (241) + { 0x3ffffec, 26}, // (242) + { 0x3ffffed, 26}, // (243) + { 0x7ffffe7, 27}, // (244) + { 0x7ffffe8, 27}, // (245) + { 0x7ffffe9, 27}, // (246) + { 0x7ffffea, 27}, // (247) + { 0x7ffffeb, 27}, // (248) + { 0xffffffe, 28}, // (249) + { 0x7ffffec, 27}, // (250) + { 0x7ffffed, 27}, // (251) + { 0x7ffffee, 27}, // (252) + { 0x7ffffef, 27}, // (253) + { 0x7fffff0, 27}, // (254) + { 0x3ffffee, 26}, // (255) + { 0x3fffffff, 30} // EOS (256) +}; + + +struct decode_el +{ + uint8_t state; + uint8_t flags; + uint8_t sym; +}; + +static const struct decode_el decode_tables[256][16] = +{ + /* 0 */ + { + { 4, 0x00, 0 }, + { 5, 0x00, 0 }, + { 7, 0x00, 0 }, + { 8, 0x00, 0 }, + { 11, 0x00, 0 }, + { 12, 0x00, 0 }, + { 16, 0x00, 0 }, + { 19, 0x00, 0 }, + { 25, 0x00, 0 }, + { 28, 0x00, 0 }, + { 32, 0x00, 0 }, + { 35, 0x00, 0 }, + { 42, 0x00, 0 }, + { 49, 0x00, 0 }, + { 57, 0x00, 0 }, + { 64, 0x01, 0 }, + }, + /* 1 */ + { + { 0, 0x03, 48 }, + { 0, 0x03, 49 }, + { 0, 0x03, 50 }, + { 0, 0x03, 97 }, + { 0, 0x03, 99 }, + { 0, 0x03, 101 }, + { 0, 0x03, 105 }, + { 0, 0x03, 111 }, + { 0, 0x03, 115 }, + { 0, 0x03, 116 }, + { 13, 0x00, 0 }, + { 14, 0x00, 0 }, + { 17, 0x00, 0 }, + { 18, 0x00, 0 }, + { 20, 0x00, 0 }, + { 21, 0x00, 0 }, + }, + /* 2 */ + { + { 1, 0x02, 48 }, + { 22, 0x03, 48 }, + { 1, 0x02, 49 }, + { 22, 0x03, 49 }, + { 1, 0x02, 50 }, + { 22, 0x03, 50 }, + { 1, 0x02, 97 }, + { 22, 0x03, 97 }, + { 1, 0x02, 99 }, + { 22, 0x03, 99 }, + { 1, 0x02, 101 }, + { 22, 0x03, 101 }, + { 1, 0x02, 105 }, + { 22, 0x03, 105 }, + { 1, 0x02, 111 }, + { 22, 0x03, 111 }, + }, + /* 3 */ + { + { 2, 0x02, 48 }, + { 9, 0x02, 48 }, + { 23, 0x02, 48 }, + { 40, 0x03, 48 }, + { 2, 0x02, 49 }, + { 9, 0x02, 49 }, + { 23, 0x02, 49 }, + { 40, 0x03, 49 }, + { 2, 0x02, 50 }, + { 9, 0x02, 50 }, + { 23, 0x02, 50 }, + { 40, 0x03, 50 }, + { 2, 0x02, 97 }, + { 9, 0x02, 97 }, + { 23, 0x02, 97 }, + { 40, 0x03, 97 }, + }, + /* 4 */ + { + { 3, 0x02, 48 }, + { 6, 0x02, 48 }, + { 10, 0x02, 48 }, + { 15, 0x02, 48 }, + { 24, 0x02, 48 }, + { 31, 0x02, 48 }, + { 41, 0x02, 48 }, + { 56, 0x03, 48 }, + { 3, 0x02, 49 }, + { 6, 0x02, 49 }, + { 10, 0x02, 49 }, + { 15, 0x02, 49 }, + { 24, 0x02, 49 }, + { 31, 0x02, 49 }, + { 41, 0x02, 49 }, + { 56, 0x03, 49 }, + }, + /* 5 */ + { + { 3, 0x02, 50 }, + { 6, 0x02, 50 }, + { 10, 0x02, 50 }, + { 15, 0x02, 50 }, + { 24, 0x02, 50 }, + { 31, 0x02, 50 }, + { 41, 0x02, 50 }, + { 56, 0x03, 50 }, + { 3, 0x02, 97 }, + { 6, 0x02, 97 }, + { 10, 0x02, 97 }, + { 15, 0x02, 97 }, + { 24, 0x02, 97 }, + { 31, 0x02, 97 }, + { 41, 0x02, 97 }, + { 56, 0x03, 97 }, + }, + /* 6 */ + { + { 2, 0x02, 99 }, + { 9, 0x02, 99 }, + { 23, 0x02, 99 }, + { 40, 0x03, 99 }, + { 2, 0x02, 101 }, + { 9, 0x02, 101 }, + { 23, 0x02, 101 }, + { 40, 0x03, 101 }, + { 2, 0x02, 105 }, + { 9, 0x02, 105 }, + { 23, 0x02, 105 }, + { 40, 0x03, 105 }, + { 2, 0x02, 111 }, + { 9, 0x02, 111 }, + { 23, 0x02, 111 }, + { 40, 0x03, 111 }, + }, + /* 7 */ + { + { 3, 0x02, 99 }, + { 6, 0x02, 99 }, + { 10, 0x02, 99 }, + { 15, 0x02, 99 }, + { 24, 0x02, 99 }, + { 31, 0x02, 99 }, + { 41, 0x02, 99 }, + { 56, 0x03, 99 }, + { 3, 0x02, 101 }, + { 6, 0x02, 101 }, + { 10, 0x02, 101 }, + { 15, 0x02, 101 }, + { 24, 0x02, 101 }, + { 31, 0x02, 101 }, + { 41, 0x02, 101 }, + { 56, 0x03, 101 }, + }, + /* 8 */ + { + { 3, 0x02, 105 }, + { 6, 0x02, 105 }, + { 10, 0x02, 105 }, + { 15, 0x02, 105 }, + { 24, 0x02, 105 }, + { 31, 0x02, 105 }, + { 41, 0x02, 105 }, + { 56, 0x03, 105 }, + { 3, 0x02, 111 }, + { 6, 0x02, 111 }, + { 10, 0x02, 111 }, + { 15, 0x02, 111 }, + { 24, 0x02, 111 }, + { 31, 0x02, 111 }, + { 41, 0x02, 111 }, + { 56, 0x03, 111 }, + }, + /* 9 */ + { + { 1, 0x02, 115 }, + { 22, 0x03, 115 }, + { 1, 0x02, 116 }, + { 22, 0x03, 116 }, + { 0, 0x03, 32 }, + { 0, 0x03, 37 }, + { 0, 0x03, 45 }, + { 0, 0x03, 46 }, + { 0, 0x03, 47 }, + { 0, 0x03, 51 }, + { 0, 0x03, 52 }, + { 0, 0x03, 53 }, + { 0, 0x03, 54 }, + { 0, 0x03, 55 }, + { 0, 0x03, 56 }, + { 0, 0x03, 57 }, + }, + /* 10 */ + { + { 2, 0x02, 115 }, + { 9, 0x02, 115 }, + { 23, 0x02, 115 }, + { 40, 0x03, 115 }, + { 2, 0x02, 116 }, + { 9, 0x02, 116 }, + { 23, 0x02, 116 }, + { 40, 0x03, 116 }, + { 1, 0x02, 32 }, + { 22, 0x03, 32 }, + { 1, 0x02, 37 }, + { 22, 0x03, 37 }, + { 1, 0x02, 45 }, + { 22, 0x03, 45 }, + { 1, 0x02, 46 }, + { 22, 0x03, 46 }, + }, + /* 11 */ + { + { 3, 0x02, 115 }, + { 6, 0x02, 115 }, + { 10, 0x02, 115 }, + { 15, 0x02, 115 }, + { 24, 0x02, 115 }, + { 31, 0x02, 115 }, + { 41, 0x02, 115 }, + { 56, 0x03, 115 }, + { 3, 0x02, 116 }, + { 6, 0x02, 116 }, + { 10, 0x02, 116 }, + { 15, 0x02, 116 }, + { 24, 0x02, 116 }, + { 31, 0x02, 116 }, + { 41, 0x02, 116 }, + { 56, 0x03, 116 }, + }, + /* 12 */ + { + { 2, 0x02, 32 }, + { 9, 0x02, 32 }, + { 23, 0x02, 32 }, + { 40, 0x03, 32 }, + { 2, 0x02, 37 }, + { 9, 0x02, 37 }, + { 23, 0x02, 37 }, + { 40, 0x03, 37 }, + { 2, 0x02, 45 }, + { 9, 0x02, 45 }, + { 23, 0x02, 45 }, + { 40, 0x03, 45 }, + { 2, 0x02, 46 }, + { 9, 0x02, 46 }, + { 23, 0x02, 46 }, + { 40, 0x03, 46 }, + }, + /* 13 */ + { + { 3, 0x02, 32 }, + { 6, 0x02, 32 }, + { 10, 0x02, 32 }, + { 15, 0x02, 32 }, + { 24, 0x02, 32 }, + { 31, 0x02, 32 }, + { 41, 0x02, 32 }, + { 56, 0x03, 32 }, + { 3, 0x02, 37 }, + { 6, 0x02, 37 }, + { 10, 0x02, 37 }, + { 15, 0x02, 37 }, + { 24, 0x02, 37 }, + { 31, 0x02, 37 }, + { 41, 0x02, 37 }, + { 56, 0x03, 37 }, + }, + /* 14 */ + { + { 3, 0x02, 45 }, + { 6, 0x02, 45 }, + { 10, 0x02, 45 }, + { 15, 0x02, 45 }, + { 24, 0x02, 45 }, + { 31, 0x02, 45 }, + { 41, 0x02, 45 }, + { 56, 0x03, 45 }, + { 3, 0x02, 46 }, + { 6, 0x02, 46 }, + { 10, 0x02, 46 }, + { 15, 0x02, 46 }, + { 24, 0x02, 46 }, + { 31, 0x02, 46 }, + { 41, 0x02, 46 }, + { 56, 0x03, 46 }, + }, + /* 15 */ + { + { 1, 0x02, 47 }, + { 22, 0x03, 47 }, + { 1, 0x02, 51 }, + { 22, 0x03, 51 }, + { 1, 0x02, 52 }, + { 22, 0x03, 52 }, + { 1, 0x02, 53 }, + { 22, 0x03, 53 }, + { 1, 0x02, 54 }, + { 22, 0x03, 54 }, + { 1, 0x02, 55 }, + { 22, 0x03, 55 }, + { 1, 0x02, 56 }, + { 22, 0x03, 56 }, + { 1, 0x02, 57 }, + { 22, 0x03, 57 }, + }, + /* 16 */ + { + { 2, 0x02, 47 }, + { 9, 0x02, 47 }, + { 23, 0x02, 47 }, + { 40, 0x03, 47 }, + { 2, 0x02, 51 }, + { 9, 0x02, 51 }, + { 23, 0x02, 51 }, + { 40, 0x03, 51 }, + { 2, 0x02, 52 }, + { 9, 0x02, 52 }, + { 23, 0x02, 52 }, + { 40, 0x03, 52 }, + { 2, 0x02, 53 }, + { 9, 0x02, 53 }, + { 23, 0x02, 53 }, + { 40, 0x03, 53 }, + }, + /* 17 */ + { + { 3, 0x02, 47 }, + { 6, 0x02, 47 }, + { 10, 0x02, 47 }, + { 15, 0x02, 47 }, + { 24, 0x02, 47 }, + { 31, 0x02, 47 }, + { 41, 0x02, 47 }, + { 56, 0x03, 47 }, + { 3, 0x02, 51 }, + { 6, 0x02, 51 }, + { 10, 0x02, 51 }, + { 15, 0x02, 51 }, + { 24, 0x02, 51 }, + { 31, 0x02, 51 }, + { 41, 0x02, 51 }, + { 56, 0x03, 51 }, + }, + /* 18 */ + { + { 3, 0x02, 52 }, + { 6, 0x02, 52 }, + { 10, 0x02, 52 }, + { 15, 0x02, 52 }, + { 24, 0x02, 52 }, + { 31, 0x02, 52 }, + { 41, 0x02, 52 }, + { 56, 0x03, 52 }, + { 3, 0x02, 53 }, + { 6, 0x02, 53 }, + { 10, 0x02, 53 }, + { 15, 0x02, 53 }, + { 24, 0x02, 53 }, + { 31, 0x02, 53 }, + { 41, 0x02, 53 }, + { 56, 0x03, 53 }, + }, + /* 19 */ + { + { 2, 0x02, 54 }, + { 9, 0x02, 54 }, + { 23, 0x02, 54 }, + { 40, 0x03, 54 }, + { 2, 0x02, 55 }, + { 9, 0x02, 55 }, + { 23, 0x02, 55 }, + { 40, 0x03, 55 }, + { 2, 0x02, 56 }, + { 9, 0x02, 56 }, + { 23, 0x02, 56 }, + { 40, 0x03, 56 }, + { 2, 0x02, 57 }, + { 9, 0x02, 57 }, + { 23, 0x02, 57 }, + { 40, 0x03, 57 }, + }, + /* 20 */ + { + { 3, 0x02, 54 }, + { 6, 0x02, 54 }, + { 10, 0x02, 54 }, + { 15, 0x02, 54 }, + { 24, 0x02, 54 }, + { 31, 0x02, 54 }, + { 41, 0x02, 54 }, + { 56, 0x03, 54 }, + { 3, 0x02, 55 }, + { 6, 0x02, 55 }, + { 10, 0x02, 55 }, + { 15, 0x02, 55 }, + { 24, 0x02, 55 }, + { 31, 0x02, 55 }, + { 41, 0x02, 55 }, + { 56, 0x03, 55 }, + }, + /* 21 */ + { + { 3, 0x02, 56 }, + { 6, 0x02, 56 }, + { 10, 0x02, 56 }, + { 15, 0x02, 56 }, + { 24, 0x02, 56 }, + { 31, 0x02, 56 }, + { 41, 0x02, 56 }, + { 56, 0x03, 56 }, + { 3, 0x02, 57 }, + { 6, 0x02, 57 }, + { 10, 0x02, 57 }, + { 15, 0x02, 57 }, + { 24, 0x02, 57 }, + { 31, 0x02, 57 }, + { 41, 0x02, 57 }, + { 56, 0x03, 57 }, + }, + /* 22 */ + { + { 26, 0x00, 0 }, + { 27, 0x00, 0 }, + { 29, 0x00, 0 }, + { 30, 0x00, 0 }, + { 33, 0x00, 0 }, + { 34, 0x00, 0 }, + { 36, 0x00, 0 }, + { 37, 0x00, 0 }, + { 43, 0x00, 0 }, + { 46, 0x00, 0 }, + { 50, 0x00, 0 }, + { 53, 0x00, 0 }, + { 58, 0x00, 0 }, + { 61, 0x00, 0 }, + { 65, 0x00, 0 }, + { 68, 0x01, 0 }, + }, + /* 23 */ + { + { 0, 0x03, 61 }, + { 0, 0x03, 65 }, + { 0, 0x03, 95 }, + { 0, 0x03, 98 }, + { 0, 0x03, 100 }, + { 0, 0x03, 102 }, + { 0, 0x03, 103 }, + { 0, 0x03, 104 }, + { 0, 0x03, 108 }, + { 0, 0x03, 109 }, + { 0, 0x03, 110 }, + { 0, 0x03, 112 }, + { 0, 0x03, 114 }, + { 0, 0x03, 117 }, + { 38, 0x00, 0 }, + { 39, 0x00, 0 }, + }, + /* 24 */ + { + { 1, 0x02, 61 }, + { 22, 0x03, 61 }, + { 1, 0x02, 65 }, + { 22, 0x03, 65 }, + { 1, 0x02, 95 }, + { 22, 0x03, 95 }, + { 1, 0x02, 98 }, + { 22, 0x03, 98 }, + { 1, 0x02, 100 }, + { 22, 0x03, 100 }, + { 1, 0x02, 102 }, + { 22, 0x03, 102 }, + { 1, 0x02, 103 }, + { 22, 0x03, 103 }, + { 1, 0x02, 104 }, + { 22, 0x03, 104 }, + }, + /* 25 */ + { + { 2, 0x02, 61 }, + { 9, 0x02, 61 }, + { 23, 0x02, 61 }, + { 40, 0x03, 61 }, + { 2, 0x02, 65 }, + { 9, 0x02, 65 }, + { 23, 0x02, 65 }, + { 40, 0x03, 65 }, + { 2, 0x02, 95 }, + { 9, 0x02, 95 }, + { 23, 0x02, 95 }, + { 40, 0x03, 95 }, + { 2, 0x02, 98 }, + { 9, 0x02, 98 }, + { 23, 0x02, 98 }, + { 40, 0x03, 98 }, + }, + /* 26 */ + { + { 3, 0x02, 61 }, + { 6, 0x02, 61 }, + { 10, 0x02, 61 }, + { 15, 0x02, 61 }, + { 24, 0x02, 61 }, + { 31, 0x02, 61 }, + { 41, 0x02, 61 }, + { 56, 0x03, 61 }, + { 3, 0x02, 65 }, + { 6, 0x02, 65 }, + { 10, 0x02, 65 }, + { 15, 0x02, 65 }, + { 24, 0x02, 65 }, + { 31, 0x02, 65 }, + { 41, 0x02, 65 }, + { 56, 0x03, 65 }, + }, + /* 27 */ + { + { 3, 0x02, 95 }, + { 6, 0x02, 95 }, + { 10, 0x02, 95 }, + { 15, 0x02, 95 }, + { 24, 0x02, 95 }, + { 31, 0x02, 95 }, + { 41, 0x02, 95 }, + { 56, 0x03, 95 }, + { 3, 0x02, 98 }, + { 6, 0x02, 98 }, + { 10, 0x02, 98 }, + { 15, 0x02, 98 }, + { 24, 0x02, 98 }, + { 31, 0x02, 98 }, + { 41, 0x02, 98 }, + { 56, 0x03, 98 }, + }, + /* 28 */ + { + { 2, 0x02, 100 }, + { 9, 0x02, 100 }, + { 23, 0x02, 100 }, + { 40, 0x03, 100 }, + { 2, 0x02, 102 }, + { 9, 0x02, 102 }, + { 23, 0x02, 102 }, + { 40, 0x03, 102 }, + { 2, 0x02, 103 }, + { 9, 0x02, 103 }, + { 23, 0x02, 103 }, + { 40, 0x03, 103 }, + { 2, 0x02, 104 }, + { 9, 0x02, 104 }, + { 23, 0x02, 104 }, + { 40, 0x03, 104 }, + }, + /* 29 */ + { + { 3, 0x02, 100 }, + { 6, 0x02, 100 }, + { 10, 0x02, 100 }, + { 15, 0x02, 100 }, + { 24, 0x02, 100 }, + { 31, 0x02, 100 }, + { 41, 0x02, 100 }, + { 56, 0x03, 100 }, + { 3, 0x02, 102 }, + { 6, 0x02, 102 }, + { 10, 0x02, 102 }, + { 15, 0x02, 102 }, + { 24, 0x02, 102 }, + { 31, 0x02, 102 }, + { 41, 0x02, 102 }, + { 56, 0x03, 102 }, + }, + /* 30 */ + { + { 3, 0x02, 103 }, + { 6, 0x02, 103 }, + { 10, 0x02, 103 }, + { 15, 0x02, 103 }, + { 24, 0x02, 103 }, + { 31, 0x02, 103 }, + { 41, 0x02, 103 }, + { 56, 0x03, 103 }, + { 3, 0x02, 104 }, + { 6, 0x02, 104 }, + { 10, 0x02, 104 }, + { 15, 0x02, 104 }, + { 24, 0x02, 104 }, + { 31, 0x02, 104 }, + { 41, 0x02, 104 }, + { 56, 0x03, 104 }, + }, + /* 31 */ + { + { 1, 0x02, 108 }, + { 22, 0x03, 108 }, + { 1, 0x02, 109 }, + { 22, 0x03, 109 }, + { 1, 0x02, 110 }, + { 22, 0x03, 110 }, + { 1, 0x02, 112 }, + { 22, 0x03, 112 }, + { 1, 0x02, 114 }, + { 22, 0x03, 114 }, + { 1, 0x02, 117 }, + { 22, 0x03, 117 }, + { 0, 0x03, 58 }, + { 0, 0x03, 66 }, + { 0, 0x03, 67 }, + { 0, 0x03, 68 }, + }, + /* 32 */ + { + { 2, 0x02, 108 }, + { 9, 0x02, 108 }, + { 23, 0x02, 108 }, + { 40, 0x03, 108 }, + { 2, 0x02, 109 }, + { 9, 0x02, 109 }, + { 23, 0x02, 109 }, + { 40, 0x03, 109 }, + { 2, 0x02, 110 }, + { 9, 0x02, 110 }, + { 23, 0x02, 110 }, + { 40, 0x03, 110 }, + { 2, 0x02, 112 }, + { 9, 0x02, 112 }, + { 23, 0x02, 112 }, + { 40, 0x03, 112 }, + }, + /* 33 */ + { + { 3, 0x02, 108 }, + { 6, 0x02, 108 }, + { 10, 0x02, 108 }, + { 15, 0x02, 108 }, + { 24, 0x02, 108 }, + { 31, 0x02, 108 }, + { 41, 0x02, 108 }, + { 56, 0x03, 108 }, + { 3, 0x02, 109 }, + { 6, 0x02, 109 }, + { 10, 0x02, 109 }, + { 15, 0x02, 109 }, + { 24, 0x02, 109 }, + { 31, 0x02, 109 }, + { 41, 0x02, 109 }, + { 56, 0x03, 109 }, + }, + /* 34 */ + { + { 3, 0x02, 110 }, + { 6, 0x02, 110 }, + { 10, 0x02, 110 }, + { 15, 0x02, 110 }, + { 24, 0x02, 110 }, + { 31, 0x02, 110 }, + { 41, 0x02, 110 }, + { 56, 0x03, 110 }, + { 3, 0x02, 112 }, + { 6, 0x02, 112 }, + { 10, 0x02, 112 }, + { 15, 0x02, 112 }, + { 24, 0x02, 112 }, + { 31, 0x02, 112 }, + { 41, 0x02, 112 }, + { 56, 0x03, 112 }, + }, + /* 35 */ + { + { 2, 0x02, 114 }, + { 9, 0x02, 114 }, + { 23, 0x02, 114 }, + { 40, 0x03, 114 }, + { 2, 0x02, 117 }, + { 9, 0x02, 117 }, + { 23, 0x02, 117 }, + { 40, 0x03, 117 }, + { 1, 0x02, 58 }, + { 22, 0x03, 58 }, + { 1, 0x02, 66 }, + { 22, 0x03, 66 }, + { 1, 0x02, 67 }, + { 22, 0x03, 67 }, + { 1, 0x02, 68 }, + { 22, 0x03, 68 }, + }, + /* 36 */ + { + { 3, 0x02, 114 }, + { 6, 0x02, 114 }, + { 10, 0x02, 114 }, + { 15, 0x02, 114 }, + { 24, 0x02, 114 }, + { 31, 0x02, 114 }, + { 41, 0x02, 114 }, + { 56, 0x03, 114 }, + { 3, 0x02, 117 }, + { 6, 0x02, 117 }, + { 10, 0x02, 117 }, + { 15, 0x02, 117 }, + { 24, 0x02, 117 }, + { 31, 0x02, 117 }, + { 41, 0x02, 117 }, + { 56, 0x03, 117 }, + }, + /* 37 */ + { + { 2, 0x02, 58 }, + { 9, 0x02, 58 }, + { 23, 0x02, 58 }, + { 40, 0x03, 58 }, + { 2, 0x02, 66 }, + { 9, 0x02, 66 }, + { 23, 0x02, 66 }, + { 40, 0x03, 66 }, + { 2, 0x02, 67 }, + { 9, 0x02, 67 }, + { 23, 0x02, 67 }, + { 40, 0x03, 67 }, + { 2, 0x02, 68 }, + { 9, 0x02, 68 }, + { 23, 0x02, 68 }, + { 40, 0x03, 68 }, + }, + /* 38 */ + { + { 3, 0x02, 58 }, + { 6, 0x02, 58 }, + { 10, 0x02, 58 }, + { 15, 0x02, 58 }, + { 24, 0x02, 58 }, + { 31, 0x02, 58 }, + { 41, 0x02, 58 }, + { 56, 0x03, 58 }, + { 3, 0x02, 66 }, + { 6, 0x02, 66 }, + { 10, 0x02, 66 }, + { 15, 0x02, 66 }, + { 24, 0x02, 66 }, + { 31, 0x02, 66 }, + { 41, 0x02, 66 }, + { 56, 0x03, 66 }, + }, + /* 39 */ + { + { 3, 0x02, 67 }, + { 6, 0x02, 67 }, + { 10, 0x02, 67 }, + { 15, 0x02, 67 }, + { 24, 0x02, 67 }, + { 31, 0x02, 67 }, + { 41, 0x02, 67 }, + { 56, 0x03, 67 }, + { 3, 0x02, 68 }, + { 6, 0x02, 68 }, + { 10, 0x02, 68 }, + { 15, 0x02, 68 }, + { 24, 0x02, 68 }, + { 31, 0x02, 68 }, + { 41, 0x02, 68 }, + { 56, 0x03, 68 }, + }, + /* 40 */ + { + { 44, 0x00, 0 }, + { 45, 0x00, 0 }, + { 47, 0x00, 0 }, + { 48, 0x00, 0 }, + { 51, 0x00, 0 }, + { 52, 0x00, 0 }, + { 54, 0x00, 0 }, + { 55, 0x00, 0 }, + { 59, 0x00, 0 }, + { 60, 0x00, 0 }, + { 62, 0x00, 0 }, + { 63, 0x00, 0 }, + { 66, 0x00, 0 }, + { 67, 0x00, 0 }, + { 69, 0x00, 0 }, + { 72, 0x01, 0 }, + }, + /* 41 */ + { + { 0, 0x03, 69 }, + { 0, 0x03, 70 }, + { 0, 0x03, 71 }, + { 0, 0x03, 72 }, + { 0, 0x03, 73 }, + { 0, 0x03, 74 }, + { 0, 0x03, 75 }, + { 0, 0x03, 76 }, + { 0, 0x03, 77 }, + { 0, 0x03, 78 }, + { 0, 0x03, 79 }, + { 0, 0x03, 80 }, + { 0, 0x03, 81 }, + { 0, 0x03, 82 }, + { 0, 0x03, 83 }, + { 0, 0x03, 84 }, + }, + /* 42 */ + { + { 1, 0x02, 69 }, + { 22, 0x03, 69 }, + { 1, 0x02, 70 }, + { 22, 0x03, 70 }, + { 1, 0x02, 71 }, + { 22, 0x03, 71 }, + { 1, 0x02, 72 }, + { 22, 0x03, 72 }, + { 1, 0x02, 73 }, + { 22, 0x03, 73 }, + { 1, 0x02, 74 }, + { 22, 0x03, 74 }, + { 1, 0x02, 75 }, + { 22, 0x03, 75 }, + { 1, 0x02, 76 }, + { 22, 0x03, 76 }, + }, + /* 43 */ + { + { 2, 0x02, 69 }, + { 9, 0x02, 69 }, + { 23, 0x02, 69 }, + { 40, 0x03, 69 }, + { 2, 0x02, 70 }, + { 9, 0x02, 70 }, + { 23, 0x02, 70 }, + { 40, 0x03, 70 }, + { 2, 0x02, 71 }, + { 9, 0x02, 71 }, + { 23, 0x02, 71 }, + { 40, 0x03, 71 }, + { 2, 0x02, 72 }, + { 9, 0x02, 72 }, + { 23, 0x02, 72 }, + { 40, 0x03, 72 }, + }, + /* 44 */ + { + { 3, 0x02, 69 }, + { 6, 0x02, 69 }, + { 10, 0x02, 69 }, + { 15, 0x02, 69 }, + { 24, 0x02, 69 }, + { 31, 0x02, 69 }, + { 41, 0x02, 69 }, + { 56, 0x03, 69 }, + { 3, 0x02, 70 }, + { 6, 0x02, 70 }, + { 10, 0x02, 70 }, + { 15, 0x02, 70 }, + { 24, 0x02, 70 }, + { 31, 0x02, 70 }, + { 41, 0x02, 70 }, + { 56, 0x03, 70 }, + }, + /* 45 */ + { + { 3, 0x02, 71 }, + { 6, 0x02, 71 }, + { 10, 0x02, 71 }, + { 15, 0x02, 71 }, + { 24, 0x02, 71 }, + { 31, 0x02, 71 }, + { 41, 0x02, 71 }, + { 56, 0x03, 71 }, + { 3, 0x02, 72 }, + { 6, 0x02, 72 }, + { 10, 0x02, 72 }, + { 15, 0x02, 72 }, + { 24, 0x02, 72 }, + { 31, 0x02, 72 }, + { 41, 0x02, 72 }, + { 56, 0x03, 72 }, + }, + /* 46 */ + { + { 2, 0x02, 73 }, + { 9, 0x02, 73 }, + { 23, 0x02, 73 }, + { 40, 0x03, 73 }, + { 2, 0x02, 74 }, + { 9, 0x02, 74 }, + { 23, 0x02, 74 }, + { 40, 0x03, 74 }, + { 2, 0x02, 75 }, + { 9, 0x02, 75 }, + { 23, 0x02, 75 }, + { 40, 0x03, 75 }, + { 2, 0x02, 76 }, + { 9, 0x02, 76 }, + { 23, 0x02, 76 }, + { 40, 0x03, 76 }, + }, + /* 47 */ + { + { 3, 0x02, 73 }, + { 6, 0x02, 73 }, + { 10, 0x02, 73 }, + { 15, 0x02, 73 }, + { 24, 0x02, 73 }, + { 31, 0x02, 73 }, + { 41, 0x02, 73 }, + { 56, 0x03, 73 }, + { 3, 0x02, 74 }, + { 6, 0x02, 74 }, + { 10, 0x02, 74 }, + { 15, 0x02, 74 }, + { 24, 0x02, 74 }, + { 31, 0x02, 74 }, + { 41, 0x02, 74 }, + { 56, 0x03, 74 }, + }, + /* 48 */ + { + { 3, 0x02, 75 }, + { 6, 0x02, 75 }, + { 10, 0x02, 75 }, + { 15, 0x02, 75 }, + { 24, 0x02, 75 }, + { 31, 0x02, 75 }, + { 41, 0x02, 75 }, + { 56, 0x03, 75 }, + { 3, 0x02, 76 }, + { 6, 0x02, 76 }, + { 10, 0x02, 76 }, + { 15, 0x02, 76 }, + { 24, 0x02, 76 }, + { 31, 0x02, 76 }, + { 41, 0x02, 76 }, + { 56, 0x03, 76 }, + }, + /* 49 */ + { + { 1, 0x02, 77 }, + { 22, 0x03, 77 }, + { 1, 0x02, 78 }, + { 22, 0x03, 78 }, + { 1, 0x02, 79 }, + { 22, 0x03, 79 }, + { 1, 0x02, 80 }, + { 22, 0x03, 80 }, + { 1, 0x02, 81 }, + { 22, 0x03, 81 }, + { 1, 0x02, 82 }, + { 22, 0x03, 82 }, + { 1, 0x02, 83 }, + { 22, 0x03, 83 }, + { 1, 0x02, 84 }, + { 22, 0x03, 84 }, + }, + /* 50 */ + { + { 2, 0x02, 77 }, + { 9, 0x02, 77 }, + { 23, 0x02, 77 }, + { 40, 0x03, 77 }, + { 2, 0x02, 78 }, + { 9, 0x02, 78 }, + { 23, 0x02, 78 }, + { 40, 0x03, 78 }, + { 2, 0x02, 79 }, + { 9, 0x02, 79 }, + { 23, 0x02, 79 }, + { 40, 0x03, 79 }, + { 2, 0x02, 80 }, + { 9, 0x02, 80 }, + { 23, 0x02, 80 }, + { 40, 0x03, 80 }, + }, + /* 51 */ + { + { 3, 0x02, 77 }, + { 6, 0x02, 77 }, + { 10, 0x02, 77 }, + { 15, 0x02, 77 }, + { 24, 0x02, 77 }, + { 31, 0x02, 77 }, + { 41, 0x02, 77 }, + { 56, 0x03, 77 }, + { 3, 0x02, 78 }, + { 6, 0x02, 78 }, + { 10, 0x02, 78 }, + { 15, 0x02, 78 }, + { 24, 0x02, 78 }, + { 31, 0x02, 78 }, + { 41, 0x02, 78 }, + { 56, 0x03, 78 }, + }, + /* 52 */ + { + { 3, 0x02, 79 }, + { 6, 0x02, 79 }, + { 10, 0x02, 79 }, + { 15, 0x02, 79 }, + { 24, 0x02, 79 }, + { 31, 0x02, 79 }, + { 41, 0x02, 79 }, + { 56, 0x03, 79 }, + { 3, 0x02, 80 }, + { 6, 0x02, 80 }, + { 10, 0x02, 80 }, + { 15, 0x02, 80 }, + { 24, 0x02, 80 }, + { 31, 0x02, 80 }, + { 41, 0x02, 80 }, + { 56, 0x03, 80 }, + }, + /* 53 */ + { + { 2, 0x02, 81 }, + { 9, 0x02, 81 }, + { 23, 0x02, 81 }, + { 40, 0x03, 81 }, + { 2, 0x02, 82 }, + { 9, 0x02, 82 }, + { 23, 0x02, 82 }, + { 40, 0x03, 82 }, + { 2, 0x02, 83 }, + { 9, 0x02, 83 }, + { 23, 0x02, 83 }, + { 40, 0x03, 83 }, + { 2, 0x02, 84 }, + { 9, 0x02, 84 }, + { 23, 0x02, 84 }, + { 40, 0x03, 84 }, + }, + /* 54 */ + { + { 3, 0x02, 81 }, + { 6, 0x02, 81 }, + { 10, 0x02, 81 }, + { 15, 0x02, 81 }, + { 24, 0x02, 81 }, + { 31, 0x02, 81 }, + { 41, 0x02, 81 }, + { 56, 0x03, 81 }, + { 3, 0x02, 82 }, + { 6, 0x02, 82 }, + { 10, 0x02, 82 }, + { 15, 0x02, 82 }, + { 24, 0x02, 82 }, + { 31, 0x02, 82 }, + { 41, 0x02, 82 }, + { 56, 0x03, 82 }, + }, + /* 55 */ + { + { 3, 0x02, 83 }, + { 6, 0x02, 83 }, + { 10, 0x02, 83 }, + { 15, 0x02, 83 }, + { 24, 0x02, 83 }, + { 31, 0x02, 83 }, + { 41, 0x02, 83 }, + { 56, 0x03, 83 }, + { 3, 0x02, 84 }, + { 6, 0x02, 84 }, + { 10, 0x02, 84 }, + { 15, 0x02, 84 }, + { 24, 0x02, 84 }, + { 31, 0x02, 84 }, + { 41, 0x02, 84 }, + { 56, 0x03, 84 }, + }, + /* 56 */ + { + { 0, 0x03, 85 }, + { 0, 0x03, 86 }, + { 0, 0x03, 87 }, + { 0, 0x03, 89 }, + { 0, 0x03, 106 }, + { 0, 0x03, 107 }, + { 0, 0x03, 113 }, + { 0, 0x03, 118 }, + { 0, 0x03, 119 }, + { 0, 0x03, 120 }, + { 0, 0x03, 121 }, + { 0, 0x03, 122 }, + { 70, 0x00, 0 }, + { 71, 0x00, 0 }, + { 73, 0x00, 0 }, + { 74, 0x01, 0 }, + }, + /* 57 */ + { + { 1, 0x02, 85 }, + { 22, 0x03, 85 }, + { 1, 0x02, 86 }, + { 22, 0x03, 86 }, + { 1, 0x02, 87 }, + { 22, 0x03, 87 }, + { 1, 0x02, 89 }, + { 22, 0x03, 89 }, + { 1, 0x02, 106 }, + { 22, 0x03, 106 }, + { 1, 0x02, 107 }, + { 22, 0x03, 107 }, + { 1, 0x02, 113 }, + { 22, 0x03, 113 }, + { 1, 0x02, 118 }, + { 22, 0x03, 118 }, + }, + /* 58 */ + { + { 2, 0x02, 85 }, + { 9, 0x02, 85 }, + { 23, 0x02, 85 }, + { 40, 0x03, 85 }, + { 2, 0x02, 86 }, + { 9, 0x02, 86 }, + { 23, 0x02, 86 }, + { 40, 0x03, 86 }, + { 2, 0x02, 87 }, + { 9, 0x02, 87 }, + { 23, 0x02, 87 }, + { 40, 0x03, 87 }, + { 2, 0x02, 89 }, + { 9, 0x02, 89 }, + { 23, 0x02, 89 }, + { 40, 0x03, 89 }, + }, + /* 59 */ + { + { 3, 0x02, 85 }, + { 6, 0x02, 85 }, + { 10, 0x02, 85 }, + { 15, 0x02, 85 }, + { 24, 0x02, 85 }, + { 31, 0x02, 85 }, + { 41, 0x02, 85 }, + { 56, 0x03, 85 }, + { 3, 0x02, 86 }, + { 6, 0x02, 86 }, + { 10, 0x02, 86 }, + { 15, 0x02, 86 }, + { 24, 0x02, 86 }, + { 31, 0x02, 86 }, + { 41, 0x02, 86 }, + { 56, 0x03, 86 }, + }, + /* 60 */ + { + { 3, 0x02, 87 }, + { 6, 0x02, 87 }, + { 10, 0x02, 87 }, + { 15, 0x02, 87 }, + { 24, 0x02, 87 }, + { 31, 0x02, 87 }, + { 41, 0x02, 87 }, + { 56, 0x03, 87 }, + { 3, 0x02, 89 }, + { 6, 0x02, 89 }, + { 10, 0x02, 89 }, + { 15, 0x02, 89 }, + { 24, 0x02, 89 }, + { 31, 0x02, 89 }, + { 41, 0x02, 89 }, + { 56, 0x03, 89 }, + }, + /* 61 */ + { + { 2, 0x02, 106 }, + { 9, 0x02, 106 }, + { 23, 0x02, 106 }, + { 40, 0x03, 106 }, + { 2, 0x02, 107 }, + { 9, 0x02, 107 }, + { 23, 0x02, 107 }, + { 40, 0x03, 107 }, + { 2, 0x02, 113 }, + { 9, 0x02, 113 }, + { 23, 0x02, 113 }, + { 40, 0x03, 113 }, + { 2, 0x02, 118 }, + { 9, 0x02, 118 }, + { 23, 0x02, 118 }, + { 40, 0x03, 118 }, + }, + /* 62 */ + { + { 3, 0x02, 106 }, + { 6, 0x02, 106 }, + { 10, 0x02, 106 }, + { 15, 0x02, 106 }, + { 24, 0x02, 106 }, + { 31, 0x02, 106 }, + { 41, 0x02, 106 }, + { 56, 0x03, 106 }, + { 3, 0x02, 107 }, + { 6, 0x02, 107 }, + { 10, 0x02, 107 }, + { 15, 0x02, 107 }, + { 24, 0x02, 107 }, + { 31, 0x02, 107 }, + { 41, 0x02, 107 }, + { 56, 0x03, 107 }, + }, + /* 63 */ + { + { 3, 0x02, 113 }, + { 6, 0x02, 113 }, + { 10, 0x02, 113 }, + { 15, 0x02, 113 }, + { 24, 0x02, 113 }, + { 31, 0x02, 113 }, + { 41, 0x02, 113 }, + { 56, 0x03, 113 }, + { 3, 0x02, 118 }, + { 6, 0x02, 118 }, + { 10, 0x02, 118 }, + { 15, 0x02, 118 }, + { 24, 0x02, 118 }, + { 31, 0x02, 118 }, + { 41, 0x02, 118 }, + { 56, 0x03, 118 }, + }, + /* 64 */ + { + { 1, 0x02, 119 }, + { 22, 0x03, 119 }, + { 1, 0x02, 120 }, + { 22, 0x03, 120 }, + { 1, 0x02, 121 }, + { 22, 0x03, 121 }, + { 1, 0x02, 122 }, + { 22, 0x03, 122 }, + { 0, 0x03, 38 }, + { 0, 0x03, 42 }, + { 0, 0x03, 44 }, + { 0, 0x03, 59 }, + { 0, 0x03, 88 }, + { 0, 0x03, 90 }, + { 75, 0x00, 0 }, + { 78, 0x00, 0 }, + }, + /* 65 */ + { + { 2, 0x02, 119 }, + { 9, 0x02, 119 }, + { 23, 0x02, 119 }, + { 40, 0x03, 119 }, + { 2, 0x02, 120 }, + { 9, 0x02, 120 }, + { 23, 0x02, 120 }, + { 40, 0x03, 120 }, + { 2, 0x02, 121 }, + { 9, 0x02, 121 }, + { 23, 0x02, 121 }, + { 40, 0x03, 121 }, + { 2, 0x02, 122 }, + { 9, 0x02, 122 }, + { 23, 0x02, 122 }, + { 40, 0x03, 122 }, + }, + /* 66 */ + { + { 3, 0x02, 119 }, + { 6, 0x02, 119 }, + { 10, 0x02, 119 }, + { 15, 0x02, 119 }, + { 24, 0x02, 119 }, + { 31, 0x02, 119 }, + { 41, 0x02, 119 }, + { 56, 0x03, 119 }, + { 3, 0x02, 120 }, + { 6, 0x02, 120 }, + { 10, 0x02, 120 }, + { 15, 0x02, 120 }, + { 24, 0x02, 120 }, + { 31, 0x02, 120 }, + { 41, 0x02, 120 }, + { 56, 0x03, 120 }, + }, + /* 67 */ + { + { 3, 0x02, 121 }, + { 6, 0x02, 121 }, + { 10, 0x02, 121 }, + { 15, 0x02, 121 }, + { 24, 0x02, 121 }, + { 31, 0x02, 121 }, + { 41, 0x02, 121 }, + { 56, 0x03, 121 }, + { 3, 0x02, 122 }, + { 6, 0x02, 122 }, + { 10, 0x02, 122 }, + { 15, 0x02, 122 }, + { 24, 0x02, 122 }, + { 31, 0x02, 122 }, + { 41, 0x02, 122 }, + { 56, 0x03, 122 }, + }, + /* 68 */ + { + { 1, 0x02, 38 }, + { 22, 0x03, 38 }, + { 1, 0x02, 42 }, + { 22, 0x03, 42 }, + { 1, 0x02, 44 }, + { 22, 0x03, 44 }, + { 1, 0x02, 59 }, + { 22, 0x03, 59 }, + { 1, 0x02, 88 }, + { 22, 0x03, 88 }, + { 1, 0x02, 90 }, + { 22, 0x03, 90 }, + { 76, 0x00, 0 }, + { 77, 0x00, 0 }, + { 79, 0x00, 0 }, + { 81, 0x00, 0 }, + }, + /* 69 */ + { + { 2, 0x02, 38 }, + { 9, 0x02, 38 }, + { 23, 0x02, 38 }, + { 40, 0x03, 38 }, + { 2, 0x02, 42 }, + { 9, 0x02, 42 }, + { 23, 0x02, 42 }, + { 40, 0x03, 42 }, + { 2, 0x02, 44 }, + { 9, 0x02, 44 }, + { 23, 0x02, 44 }, + { 40, 0x03, 44 }, + { 2, 0x02, 59 }, + { 9, 0x02, 59 }, + { 23, 0x02, 59 }, + { 40, 0x03, 59 }, + }, + /* 70 */ + { + { 3, 0x02, 38 }, + { 6, 0x02, 38 }, + { 10, 0x02, 38 }, + { 15, 0x02, 38 }, + { 24, 0x02, 38 }, + { 31, 0x02, 38 }, + { 41, 0x02, 38 }, + { 56, 0x03, 38 }, + { 3, 0x02, 42 }, + { 6, 0x02, 42 }, + { 10, 0x02, 42 }, + { 15, 0x02, 42 }, + { 24, 0x02, 42 }, + { 31, 0x02, 42 }, + { 41, 0x02, 42 }, + { 56, 0x03, 42 }, + }, + /* 71 */ + { + { 3, 0x02, 44 }, + { 6, 0x02, 44 }, + { 10, 0x02, 44 }, + { 15, 0x02, 44 }, + { 24, 0x02, 44 }, + { 31, 0x02, 44 }, + { 41, 0x02, 44 }, + { 56, 0x03, 44 }, + { 3, 0x02, 59 }, + { 6, 0x02, 59 }, + { 10, 0x02, 59 }, + { 15, 0x02, 59 }, + { 24, 0x02, 59 }, + { 31, 0x02, 59 }, + { 41, 0x02, 59 }, + { 56, 0x03, 59 }, + }, + /* 72 */ + { + { 2, 0x02, 88 }, + { 9, 0x02, 88 }, + { 23, 0x02, 88 }, + { 40, 0x03, 88 }, + { 2, 0x02, 90 }, + { 9, 0x02, 90 }, + { 23, 0x02, 90 }, + { 40, 0x03, 90 }, + { 0, 0x03, 33 }, + { 0, 0x03, 34 }, + { 0, 0x03, 40 }, + { 0, 0x03, 41 }, + { 0, 0x03, 63 }, + { 80, 0x00, 0 }, + { 82, 0x00, 0 }, + { 84, 0x00, 0 }, + }, + /* 73 */ + { + { 3, 0x02, 88 }, + { 6, 0x02, 88 }, + { 10, 0x02, 88 }, + { 15, 0x02, 88 }, + { 24, 0x02, 88 }, + { 31, 0x02, 88 }, + { 41, 0x02, 88 }, + { 56, 0x03, 88 }, + { 3, 0x02, 90 }, + { 6, 0x02, 90 }, + { 10, 0x02, 90 }, + { 15, 0x02, 90 }, + { 24, 0x02, 90 }, + { 31, 0x02, 90 }, + { 41, 0x02, 90 }, + { 56, 0x03, 90 }, + }, + /* 74 */ + { + { 1, 0x02, 33 }, + { 22, 0x03, 33 }, + { 1, 0x02, 34 }, + { 22, 0x03, 34 }, + { 1, 0x02, 40 }, + { 22, 0x03, 40 }, + { 1, 0x02, 41 }, + { 22, 0x03, 41 }, + { 1, 0x02, 63 }, + { 22, 0x03, 63 }, + { 0, 0x03, 39 }, + { 0, 0x03, 43 }, + { 0, 0x03, 124 }, + { 83, 0x00, 0 }, + { 85, 0x00, 0 }, + { 88, 0x00, 0 }, + }, + /* 75 */ + { + { 2, 0x02, 33 }, + { 9, 0x02, 33 }, + { 23, 0x02, 33 }, + { 40, 0x03, 33 }, + { 2, 0x02, 34 }, + { 9, 0x02, 34 }, + { 23, 0x02, 34 }, + { 40, 0x03, 34 }, + { 2, 0x02, 40 }, + { 9, 0x02, 40 }, + { 23, 0x02, 40 }, + { 40, 0x03, 40 }, + { 2, 0x02, 41 }, + { 9, 0x02, 41 }, + { 23, 0x02, 41 }, + { 40, 0x03, 41 }, + }, + /* 76 */ + { + { 3, 0x02, 33 }, + { 6, 0x02, 33 }, + { 10, 0x02, 33 }, + { 15, 0x02, 33 }, + { 24, 0x02, 33 }, + { 31, 0x02, 33 }, + { 41, 0x02, 33 }, + { 56, 0x03, 33 }, + { 3, 0x02, 34 }, + { 6, 0x02, 34 }, + { 10, 0x02, 34 }, + { 15, 0x02, 34 }, + { 24, 0x02, 34 }, + { 31, 0x02, 34 }, + { 41, 0x02, 34 }, + { 56, 0x03, 34 }, + }, + /* 77 */ + { + { 3, 0x02, 40 }, + { 6, 0x02, 40 }, + { 10, 0x02, 40 }, + { 15, 0x02, 40 }, + { 24, 0x02, 40 }, + { 31, 0x02, 40 }, + { 41, 0x02, 40 }, + { 56, 0x03, 40 }, + { 3, 0x02, 41 }, + { 6, 0x02, 41 }, + { 10, 0x02, 41 }, + { 15, 0x02, 41 }, + { 24, 0x02, 41 }, + { 31, 0x02, 41 }, + { 41, 0x02, 41 }, + { 56, 0x03, 41 }, + }, + /* 78 */ + { + { 2, 0x02, 63 }, + { 9, 0x02, 63 }, + { 23, 0x02, 63 }, + { 40, 0x03, 63 }, + { 1, 0x02, 39 }, + { 22, 0x03, 39 }, + { 1, 0x02, 43 }, + { 22, 0x03, 43 }, + { 1, 0x02, 124 }, + { 22, 0x03, 124 }, + { 0, 0x03, 35 }, + { 0, 0x03, 62 }, + { 86, 0x00, 0 }, + { 87, 0x00, 0 }, + { 89, 0x00, 0 }, + { 90, 0x00, 0 }, + }, + /* 79 */ + { + { 3, 0x02, 63 }, + { 6, 0x02, 63 }, + { 10, 0x02, 63 }, + { 15, 0x02, 63 }, + { 24, 0x02, 63 }, + { 31, 0x02, 63 }, + { 41, 0x02, 63 }, + { 56, 0x03, 63 }, + { 2, 0x02, 39 }, + { 9, 0x02, 39 }, + { 23, 0x02, 39 }, + { 40, 0x03, 39 }, + { 2, 0x02, 43 }, + { 9, 0x02, 43 }, + { 23, 0x02, 43 }, + { 40, 0x03, 43 }, + }, + /* 80 */ + { + { 3, 0x02, 39 }, + { 6, 0x02, 39 }, + { 10, 0x02, 39 }, + { 15, 0x02, 39 }, + { 24, 0x02, 39 }, + { 31, 0x02, 39 }, + { 41, 0x02, 39 }, + { 56, 0x03, 39 }, + { 3, 0x02, 43 }, + { 6, 0x02, 43 }, + { 10, 0x02, 43 }, + { 15, 0x02, 43 }, + { 24, 0x02, 43 }, + { 31, 0x02, 43 }, + { 41, 0x02, 43 }, + { 56, 0x03, 43 }, + }, + /* 81 */ + { + { 2, 0x02, 124 }, + { 9, 0x02, 124 }, + { 23, 0x02, 124 }, + { 40, 0x03, 124 }, + { 1, 0x02, 35 }, + { 22, 0x03, 35 }, + { 1, 0x02, 62 }, + { 22, 0x03, 62 }, + { 0, 0x03, 0 }, + { 0, 0x03, 36 }, + { 0, 0x03, 64 }, + { 0, 0x03, 91 }, + { 0, 0x03, 93 }, + { 0, 0x03, 126 }, + { 91, 0x00, 0 }, + { 92, 0x00, 0 }, + }, + /* 82 */ + { + { 3, 0x02, 124 }, + { 6, 0x02, 124 }, + { 10, 0x02, 124 }, + { 15, 0x02, 124 }, + { 24, 0x02, 124 }, + { 31, 0x02, 124 }, + { 41, 0x02, 124 }, + { 56, 0x03, 124 }, + { 2, 0x02, 35 }, + { 9, 0x02, 35 }, + { 23, 0x02, 35 }, + { 40, 0x03, 35 }, + { 2, 0x02, 62 }, + { 9, 0x02, 62 }, + { 23, 0x02, 62 }, + { 40, 0x03, 62 }, + }, + /* 83 */ + { + { 3, 0x02, 35 }, + { 6, 0x02, 35 }, + { 10, 0x02, 35 }, + { 15, 0x02, 35 }, + { 24, 0x02, 35 }, + { 31, 0x02, 35 }, + { 41, 0x02, 35 }, + { 56, 0x03, 35 }, + { 3, 0x02, 62 }, + { 6, 0x02, 62 }, + { 10, 0x02, 62 }, + { 15, 0x02, 62 }, + { 24, 0x02, 62 }, + { 31, 0x02, 62 }, + { 41, 0x02, 62 }, + { 56, 0x03, 62 }, + }, + /* 84 */ + { + { 1, 0x02, 0 }, + { 22, 0x03, 0 }, + { 1, 0x02, 36 }, + { 22, 0x03, 36 }, + { 1, 0x02, 64 }, + { 22, 0x03, 64 }, + { 1, 0x02, 91 }, + { 22, 0x03, 91 }, + { 1, 0x02, 93 }, + { 22, 0x03, 93 }, + { 1, 0x02, 126 }, + { 22, 0x03, 126 }, + { 0, 0x03, 94 }, + { 0, 0x03, 125 }, + { 93, 0x00, 0 }, + { 94, 0x00, 0 }, + }, + /* 85 */ + { + { 2, 0x02, 0 }, + { 9, 0x02, 0 }, + { 23, 0x02, 0 }, + { 40, 0x03, 0 }, + { 2, 0x02, 36 }, + { 9, 0x02, 36 }, + { 23, 0x02, 36 }, + { 40, 0x03, 36 }, + { 2, 0x02, 64 }, + { 9, 0x02, 64 }, + { 23, 0x02, 64 }, + { 40, 0x03, 64 }, + { 2, 0x02, 91 }, + { 9, 0x02, 91 }, + { 23, 0x02, 91 }, + { 40, 0x03, 91 }, + }, + /* 86 */ + { + { 3, 0x02, 0 }, + { 6, 0x02, 0 }, + { 10, 0x02, 0 }, + { 15, 0x02, 0 }, + { 24, 0x02, 0 }, + { 31, 0x02, 0 }, + { 41, 0x02, 0 }, + { 56, 0x03, 0 }, + { 3, 0x02, 36 }, + { 6, 0x02, 36 }, + { 10, 0x02, 36 }, + { 15, 0x02, 36 }, + { 24, 0x02, 36 }, + { 31, 0x02, 36 }, + { 41, 0x02, 36 }, + { 56, 0x03, 36 }, + }, + /* 87 */ + { + { 3, 0x02, 64 }, + { 6, 0x02, 64 }, + { 10, 0x02, 64 }, + { 15, 0x02, 64 }, + { 24, 0x02, 64 }, + { 31, 0x02, 64 }, + { 41, 0x02, 64 }, + { 56, 0x03, 64 }, + { 3, 0x02, 91 }, + { 6, 0x02, 91 }, + { 10, 0x02, 91 }, + { 15, 0x02, 91 }, + { 24, 0x02, 91 }, + { 31, 0x02, 91 }, + { 41, 0x02, 91 }, + { 56, 0x03, 91 }, + }, + /* 88 */ + { + { 2, 0x02, 93 }, + { 9, 0x02, 93 }, + { 23, 0x02, 93 }, + { 40, 0x03, 93 }, + { 2, 0x02, 126 }, + { 9, 0x02, 126 }, + { 23, 0x02, 126 }, + { 40, 0x03, 126 }, + { 1, 0x02, 94 }, + { 22, 0x03, 94 }, + { 1, 0x02, 125 }, + { 22, 0x03, 125 }, + { 0, 0x03, 60 }, + { 0, 0x03, 96 }, + { 0, 0x03, 123 }, + { 95, 0x00, 0 }, + }, + /* 89 */ + { + { 3, 0x02, 93 }, + { 6, 0x02, 93 }, + { 10, 0x02, 93 }, + { 15, 0x02, 93 }, + { 24, 0x02, 93 }, + { 31, 0x02, 93 }, + { 41, 0x02, 93 }, + { 56, 0x03, 93 }, + { 3, 0x02, 126 }, + { 6, 0x02, 126 }, + { 10, 0x02, 126 }, + { 15, 0x02, 126 }, + { 24, 0x02, 126 }, + { 31, 0x02, 126 }, + { 41, 0x02, 126 }, + { 56, 0x03, 126 }, + }, + /* 90 */ + { + { 2, 0x02, 94 }, + { 9, 0x02, 94 }, + { 23, 0x02, 94 }, + { 40, 0x03, 94 }, + { 2, 0x02, 125 }, + { 9, 0x02, 125 }, + { 23, 0x02, 125 }, + { 40, 0x03, 125 }, + { 1, 0x02, 60 }, + { 22, 0x03, 60 }, + { 1, 0x02, 96 }, + { 22, 0x03, 96 }, + { 1, 0x02, 123 }, + { 22, 0x03, 123 }, + { 96, 0x00, 0 }, + { 110, 0x00, 0 }, + }, + /* 91 */ + { + { 3, 0x02, 94 }, + { 6, 0x02, 94 }, + { 10, 0x02, 94 }, + { 15, 0x02, 94 }, + { 24, 0x02, 94 }, + { 31, 0x02, 94 }, + { 41, 0x02, 94 }, + { 56, 0x03, 94 }, + { 3, 0x02, 125 }, + { 6, 0x02, 125 }, + { 10, 0x02, 125 }, + { 15, 0x02, 125 }, + { 24, 0x02, 125 }, + { 31, 0x02, 125 }, + { 41, 0x02, 125 }, + { 56, 0x03, 125 }, + }, + /* 92 */ + { + { 2, 0x02, 60 }, + { 9, 0x02, 60 }, + { 23, 0x02, 60 }, + { 40, 0x03, 60 }, + { 2, 0x02, 96 }, + { 9, 0x02, 96 }, + { 23, 0x02, 96 }, + { 40, 0x03, 96 }, + { 2, 0x02, 123 }, + { 9, 0x02, 123 }, + { 23, 0x02, 123 }, + { 40, 0x03, 123 }, + { 97, 0x00, 0 }, + { 101, 0x00, 0 }, + { 111, 0x00, 0 }, + { 133, 0x00, 0 }, + }, + /* 93 */ + { + { 3, 0x02, 60 }, + { 6, 0x02, 60 }, + { 10, 0x02, 60 }, + { 15, 0x02, 60 }, + { 24, 0x02, 60 }, + { 31, 0x02, 60 }, + { 41, 0x02, 60 }, + { 56, 0x03, 60 }, + { 3, 0x02, 96 }, + { 6, 0x02, 96 }, + { 10, 0x02, 96 }, + { 15, 0x02, 96 }, + { 24, 0x02, 96 }, + { 31, 0x02, 96 }, + { 41, 0x02, 96 }, + { 56, 0x03, 96 }, + }, + /* 94 */ + { + { 3, 0x02, 123 }, + { 6, 0x02, 123 }, + { 10, 0x02, 123 }, + { 15, 0x02, 123 }, + { 24, 0x02, 123 }, + { 31, 0x02, 123 }, + { 41, 0x02, 123 }, + { 56, 0x03, 123 }, + { 98, 0x00, 0 }, + { 99, 0x00, 0 }, + { 102, 0x00, 0 }, + { 105, 0x00, 0 }, + { 112, 0x00, 0 }, + { 119, 0x00, 0 }, + { 134, 0x00, 0 }, + { 153, 0x00, 0 }, + }, + /* 95 */ + { + { 0, 0x03, 92 }, + { 0, 0x03, 195 }, + { 0, 0x03, 208 }, + { 100, 0x00, 0 }, + { 103, 0x00, 0 }, + { 104, 0x00, 0 }, + { 106, 0x00, 0 }, + { 107, 0x00, 0 }, + { 113, 0x00, 0 }, + { 116, 0x00, 0 }, + { 120, 0x00, 0 }, + { 126, 0x00, 0 }, + { 135, 0x00, 0 }, + { 142, 0x00, 0 }, + { 154, 0x00, 0 }, + { 169, 0x00, 0 }, + }, + /* 96 */ + { + { 1, 0x02, 92 }, + { 22, 0x03, 92 }, + { 1, 0x02, 195 }, + { 22, 0x03, 195 }, + { 1, 0x02, 208 }, + { 22, 0x03, 208 }, + { 0, 0x03, 128 }, + { 0, 0x03, 130 }, + { 0, 0x03, 131 }, + { 0, 0x03, 162 }, + { 0, 0x03, 184 }, + { 0, 0x03, 194 }, + { 0, 0x03, 224 }, + { 0, 0x03, 226 }, + { 108, 0x00, 0 }, + { 109, 0x00, 0 }, + }, + /* 97 */ + { + { 2, 0x02, 92 }, + { 9, 0x02, 92 }, + { 23, 0x02, 92 }, + { 40, 0x03, 92 }, + { 2, 0x02, 195 }, + { 9, 0x02, 195 }, + { 23, 0x02, 195 }, + { 40, 0x03, 195 }, + { 2, 0x02, 208 }, + { 9, 0x02, 208 }, + { 23, 0x02, 208 }, + { 40, 0x03, 208 }, + { 1, 0x02, 128 }, + { 22, 0x03, 128 }, + { 1, 0x02, 130 }, + { 22, 0x03, 130 }, + }, + /* 98 */ + { + { 3, 0x02, 92 }, + { 6, 0x02, 92 }, + { 10, 0x02, 92 }, + { 15, 0x02, 92 }, + { 24, 0x02, 92 }, + { 31, 0x02, 92 }, + { 41, 0x02, 92 }, + { 56, 0x03, 92 }, + { 3, 0x02, 195 }, + { 6, 0x02, 195 }, + { 10, 0x02, 195 }, + { 15, 0x02, 195 }, + { 24, 0x02, 195 }, + { 31, 0x02, 195 }, + { 41, 0x02, 195 }, + { 56, 0x03, 195 }, + }, + /* 99 */ + { + { 3, 0x02, 208 }, + { 6, 0x02, 208 }, + { 10, 0x02, 208 }, + { 15, 0x02, 208 }, + { 24, 0x02, 208 }, + { 31, 0x02, 208 }, + { 41, 0x02, 208 }, + { 56, 0x03, 208 }, + { 2, 0x02, 128 }, + { 9, 0x02, 128 }, + { 23, 0x02, 128 }, + { 40, 0x03, 128 }, + { 2, 0x02, 130 }, + { 9, 0x02, 130 }, + { 23, 0x02, 130 }, + { 40, 0x03, 130 }, + }, + /* 100 */ + { + { 3, 0x02, 128 }, + { 6, 0x02, 128 }, + { 10, 0x02, 128 }, + { 15, 0x02, 128 }, + { 24, 0x02, 128 }, + { 31, 0x02, 128 }, + { 41, 0x02, 128 }, + { 56, 0x03, 128 }, + { 3, 0x02, 130 }, + { 6, 0x02, 130 }, + { 10, 0x02, 130 }, + { 15, 0x02, 130 }, + { 24, 0x02, 130 }, + { 31, 0x02, 130 }, + { 41, 0x02, 130 }, + { 56, 0x03, 130 }, + }, + /* 101 */ + { + { 1, 0x02, 131 }, + { 22, 0x03, 131 }, + { 1, 0x02, 162 }, + { 22, 0x03, 162 }, + { 1, 0x02, 184 }, + { 22, 0x03, 184 }, + { 1, 0x02, 194 }, + { 22, 0x03, 194 }, + { 1, 0x02, 224 }, + { 22, 0x03, 224 }, + { 1, 0x02, 226 }, + { 22, 0x03, 226 }, + { 0, 0x03, 153 }, + { 0, 0x03, 161 }, + { 0, 0x03, 167 }, + { 0, 0x03, 172 }, + }, + /* 102 */ + { + { 2, 0x02, 131 }, + { 9, 0x02, 131 }, + { 23, 0x02, 131 }, + { 40, 0x03, 131 }, + { 2, 0x02, 162 }, + { 9, 0x02, 162 }, + { 23, 0x02, 162 }, + { 40, 0x03, 162 }, + { 2, 0x02, 184 }, + { 9, 0x02, 184 }, + { 23, 0x02, 184 }, + { 40, 0x03, 184 }, + { 2, 0x02, 194 }, + { 9, 0x02, 194 }, + { 23, 0x02, 194 }, + { 40, 0x03, 194 }, + }, + /* 103 */ + { + { 3, 0x02, 131 }, + { 6, 0x02, 131 }, + { 10, 0x02, 131 }, + { 15, 0x02, 131 }, + { 24, 0x02, 131 }, + { 31, 0x02, 131 }, + { 41, 0x02, 131 }, + { 56, 0x03, 131 }, + { 3, 0x02, 162 }, + { 6, 0x02, 162 }, + { 10, 0x02, 162 }, + { 15, 0x02, 162 }, + { 24, 0x02, 162 }, + { 31, 0x02, 162 }, + { 41, 0x02, 162 }, + { 56, 0x03, 162 }, + }, + /* 104 */ + { + { 3, 0x02, 184 }, + { 6, 0x02, 184 }, + { 10, 0x02, 184 }, + { 15, 0x02, 184 }, + { 24, 0x02, 184 }, + { 31, 0x02, 184 }, + { 41, 0x02, 184 }, + { 56, 0x03, 184 }, + { 3, 0x02, 194 }, + { 6, 0x02, 194 }, + { 10, 0x02, 194 }, + { 15, 0x02, 194 }, + { 24, 0x02, 194 }, + { 31, 0x02, 194 }, + { 41, 0x02, 194 }, + { 56, 0x03, 194 }, + }, + /* 105 */ + { + { 2, 0x02, 224 }, + { 9, 0x02, 224 }, + { 23, 0x02, 224 }, + { 40, 0x03, 224 }, + { 2, 0x02, 226 }, + { 9, 0x02, 226 }, + { 23, 0x02, 226 }, + { 40, 0x03, 226 }, + { 1, 0x02, 153 }, + { 22, 0x03, 153 }, + { 1, 0x02, 161 }, + { 22, 0x03, 161 }, + { 1, 0x02, 167 }, + { 22, 0x03, 167 }, + { 1, 0x02, 172 }, + { 22, 0x03, 172 }, + }, + /* 106 */ + { + { 3, 0x02, 224 }, + { 6, 0x02, 224 }, + { 10, 0x02, 224 }, + { 15, 0x02, 224 }, + { 24, 0x02, 224 }, + { 31, 0x02, 224 }, + { 41, 0x02, 224 }, + { 56, 0x03, 224 }, + { 3, 0x02, 226 }, + { 6, 0x02, 226 }, + { 10, 0x02, 226 }, + { 15, 0x02, 226 }, + { 24, 0x02, 226 }, + { 31, 0x02, 226 }, + { 41, 0x02, 226 }, + { 56, 0x03, 226 }, + }, + /* 107 */ + { + { 2, 0x02, 153 }, + { 9, 0x02, 153 }, + { 23, 0x02, 153 }, + { 40, 0x03, 153 }, + { 2, 0x02, 161 }, + { 9, 0x02, 161 }, + { 23, 0x02, 161 }, + { 40, 0x03, 161 }, + { 2, 0x02, 167 }, + { 9, 0x02, 167 }, + { 23, 0x02, 167 }, + { 40, 0x03, 167 }, + { 2, 0x02, 172 }, + { 9, 0x02, 172 }, + { 23, 0x02, 172 }, + { 40, 0x03, 172 }, + }, + /* 108 */ + { + { 3, 0x02, 153 }, + { 6, 0x02, 153 }, + { 10, 0x02, 153 }, + { 15, 0x02, 153 }, + { 24, 0x02, 153 }, + { 31, 0x02, 153 }, + { 41, 0x02, 153 }, + { 56, 0x03, 153 }, + { 3, 0x02, 161 }, + { 6, 0x02, 161 }, + { 10, 0x02, 161 }, + { 15, 0x02, 161 }, + { 24, 0x02, 161 }, + { 31, 0x02, 161 }, + { 41, 0x02, 161 }, + { 56, 0x03, 161 }, + }, + /* 109 */ + { + { 3, 0x02, 167 }, + { 6, 0x02, 167 }, + { 10, 0x02, 167 }, + { 15, 0x02, 167 }, + { 24, 0x02, 167 }, + { 31, 0x02, 167 }, + { 41, 0x02, 167 }, + { 56, 0x03, 167 }, + { 3, 0x02, 172 }, + { 6, 0x02, 172 }, + { 10, 0x02, 172 }, + { 15, 0x02, 172 }, + { 24, 0x02, 172 }, + { 31, 0x02, 172 }, + { 41, 0x02, 172 }, + { 56, 0x03, 172 }, + }, + /* 110 */ + { + { 114, 0x00, 0 }, + { 115, 0x00, 0 }, + { 117, 0x00, 0 }, + { 118, 0x00, 0 }, + { 121, 0x00, 0 }, + { 123, 0x00, 0 }, + { 127, 0x00, 0 }, + { 130, 0x00, 0 }, + { 136, 0x00, 0 }, + { 139, 0x00, 0 }, + { 143, 0x00, 0 }, + { 146, 0x00, 0 }, + { 155, 0x00, 0 }, + { 162, 0x00, 0 }, + { 170, 0x00, 0 }, + { 180, 0x00, 0 }, + }, + /* 111 */ + { + { 0, 0x03, 176 }, + { 0, 0x03, 177 }, + { 0, 0x03, 179 }, + { 0, 0x03, 209 }, + { 0, 0x03, 216 }, + { 0, 0x03, 217 }, + { 0, 0x03, 227 }, + { 0, 0x03, 229 }, + { 0, 0x03, 230 }, + { 122, 0x00, 0 }, + { 124, 0x00, 0 }, + { 125, 0x00, 0 }, + { 128, 0x00, 0 }, + { 129, 0x00, 0 }, + { 131, 0x00, 0 }, + { 132, 0x00, 0 }, + }, + /* 112 */ + { + { 1, 0x02, 176 }, + { 22, 0x03, 176 }, + { 1, 0x02, 177 }, + { 22, 0x03, 177 }, + { 1, 0x02, 179 }, + { 22, 0x03, 179 }, + { 1, 0x02, 209 }, + { 22, 0x03, 209 }, + { 1, 0x02, 216 }, + { 22, 0x03, 216 }, + { 1, 0x02, 217 }, + { 22, 0x03, 217 }, + { 1, 0x02, 227 }, + { 22, 0x03, 227 }, + { 1, 0x02, 229 }, + { 22, 0x03, 229 }, + }, + /* 113 */ + { + { 2, 0x02, 176 }, + { 9, 0x02, 176 }, + { 23, 0x02, 176 }, + { 40, 0x03, 176 }, + { 2, 0x02, 177 }, + { 9, 0x02, 177 }, + { 23, 0x02, 177 }, + { 40, 0x03, 177 }, + { 2, 0x02, 179 }, + { 9, 0x02, 179 }, + { 23, 0x02, 179 }, + { 40, 0x03, 179 }, + { 2, 0x02, 209 }, + { 9, 0x02, 209 }, + { 23, 0x02, 209 }, + { 40, 0x03, 209 }, + }, + /* 114 */ + { + { 3, 0x02, 176 }, + { 6, 0x02, 176 }, + { 10, 0x02, 176 }, + { 15, 0x02, 176 }, + { 24, 0x02, 176 }, + { 31, 0x02, 176 }, + { 41, 0x02, 176 }, + { 56, 0x03, 176 }, + { 3, 0x02, 177 }, + { 6, 0x02, 177 }, + { 10, 0x02, 177 }, + { 15, 0x02, 177 }, + { 24, 0x02, 177 }, + { 31, 0x02, 177 }, + { 41, 0x02, 177 }, + { 56, 0x03, 177 }, + }, + /* 115 */ + { + { 3, 0x02, 179 }, + { 6, 0x02, 179 }, + { 10, 0x02, 179 }, + { 15, 0x02, 179 }, + { 24, 0x02, 179 }, + { 31, 0x02, 179 }, + { 41, 0x02, 179 }, + { 56, 0x03, 179 }, + { 3, 0x02, 209 }, + { 6, 0x02, 209 }, + { 10, 0x02, 209 }, + { 15, 0x02, 209 }, + { 24, 0x02, 209 }, + { 31, 0x02, 209 }, + { 41, 0x02, 209 }, + { 56, 0x03, 209 }, + }, + /* 116 */ + { + { 2, 0x02, 216 }, + { 9, 0x02, 216 }, + { 23, 0x02, 216 }, + { 40, 0x03, 216 }, + { 2, 0x02, 217 }, + { 9, 0x02, 217 }, + { 23, 0x02, 217 }, + { 40, 0x03, 217 }, + { 2, 0x02, 227 }, + { 9, 0x02, 227 }, + { 23, 0x02, 227 }, + { 40, 0x03, 227 }, + { 2, 0x02, 229 }, + { 9, 0x02, 229 }, + { 23, 0x02, 229 }, + { 40, 0x03, 229 }, + }, + /* 117 */ + { + { 3, 0x02, 216 }, + { 6, 0x02, 216 }, + { 10, 0x02, 216 }, + { 15, 0x02, 216 }, + { 24, 0x02, 216 }, + { 31, 0x02, 216 }, + { 41, 0x02, 216 }, + { 56, 0x03, 216 }, + { 3, 0x02, 217 }, + { 6, 0x02, 217 }, + { 10, 0x02, 217 }, + { 15, 0x02, 217 }, + { 24, 0x02, 217 }, + { 31, 0x02, 217 }, + { 41, 0x02, 217 }, + { 56, 0x03, 217 }, + }, + /* 118 */ + { + { 3, 0x02, 227 }, + { 6, 0x02, 227 }, + { 10, 0x02, 227 }, + { 15, 0x02, 227 }, + { 24, 0x02, 227 }, + { 31, 0x02, 227 }, + { 41, 0x02, 227 }, + { 56, 0x03, 227 }, + { 3, 0x02, 229 }, + { 6, 0x02, 229 }, + { 10, 0x02, 229 }, + { 15, 0x02, 229 }, + { 24, 0x02, 229 }, + { 31, 0x02, 229 }, + { 41, 0x02, 229 }, + { 56, 0x03, 229 }, + }, + /* 119 */ + { + { 1, 0x02, 230 }, + { 22, 0x03, 230 }, + { 0, 0x03, 129 }, + { 0, 0x03, 132 }, + { 0, 0x03, 133 }, + { 0, 0x03, 134 }, + { 0, 0x03, 136 }, + { 0, 0x03, 146 }, + { 0, 0x03, 154 }, + { 0, 0x03, 156 }, + { 0, 0x03, 160 }, + { 0, 0x03, 163 }, + { 0, 0x03, 164 }, + { 0, 0x03, 169 }, + { 0, 0x03, 170 }, + { 0, 0x03, 173 }, + }, + /* 120 */ + { + { 2, 0x02, 230 }, + { 9, 0x02, 230 }, + { 23, 0x02, 230 }, + { 40, 0x03, 230 }, + { 1, 0x02, 129 }, + { 22, 0x03, 129 }, + { 1, 0x02, 132 }, + { 22, 0x03, 132 }, + { 1, 0x02, 133 }, + { 22, 0x03, 133 }, + { 1, 0x02, 134 }, + { 22, 0x03, 134 }, + { 1, 0x02, 136 }, + { 22, 0x03, 136 }, + { 1, 0x02, 146 }, + { 22, 0x03, 146 }, + }, + /* 121 */ + { + { 3, 0x02, 230 }, + { 6, 0x02, 230 }, + { 10, 0x02, 230 }, + { 15, 0x02, 230 }, + { 24, 0x02, 230 }, + { 31, 0x02, 230 }, + { 41, 0x02, 230 }, + { 56, 0x03, 230 }, + { 2, 0x02, 129 }, + { 9, 0x02, 129 }, + { 23, 0x02, 129 }, + { 40, 0x03, 129 }, + { 2, 0x02, 132 }, + { 9, 0x02, 132 }, + { 23, 0x02, 132 }, + { 40, 0x03, 132 }, + }, + /* 122 */ + { + { 3, 0x02, 129 }, + { 6, 0x02, 129 }, + { 10, 0x02, 129 }, + { 15, 0x02, 129 }, + { 24, 0x02, 129 }, + { 31, 0x02, 129 }, + { 41, 0x02, 129 }, + { 56, 0x03, 129 }, + { 3, 0x02, 132 }, + { 6, 0x02, 132 }, + { 10, 0x02, 132 }, + { 15, 0x02, 132 }, + { 24, 0x02, 132 }, + { 31, 0x02, 132 }, + { 41, 0x02, 132 }, + { 56, 0x03, 132 }, + }, + /* 123 */ + { + { 2, 0x02, 133 }, + { 9, 0x02, 133 }, + { 23, 0x02, 133 }, + { 40, 0x03, 133 }, + { 2, 0x02, 134 }, + { 9, 0x02, 134 }, + { 23, 0x02, 134 }, + { 40, 0x03, 134 }, + { 2, 0x02, 136 }, + { 9, 0x02, 136 }, + { 23, 0x02, 136 }, + { 40, 0x03, 136 }, + { 2, 0x02, 146 }, + { 9, 0x02, 146 }, + { 23, 0x02, 146 }, + { 40, 0x03, 146 }, + }, + /* 124 */ + { + { 3, 0x02, 133 }, + { 6, 0x02, 133 }, + { 10, 0x02, 133 }, + { 15, 0x02, 133 }, + { 24, 0x02, 133 }, + { 31, 0x02, 133 }, + { 41, 0x02, 133 }, + { 56, 0x03, 133 }, + { 3, 0x02, 134 }, + { 6, 0x02, 134 }, + { 10, 0x02, 134 }, + { 15, 0x02, 134 }, + { 24, 0x02, 134 }, + { 31, 0x02, 134 }, + { 41, 0x02, 134 }, + { 56, 0x03, 134 }, + }, + /* 125 */ + { + { 3, 0x02, 136 }, + { 6, 0x02, 136 }, + { 10, 0x02, 136 }, + { 15, 0x02, 136 }, + { 24, 0x02, 136 }, + { 31, 0x02, 136 }, + { 41, 0x02, 136 }, + { 56, 0x03, 136 }, + { 3, 0x02, 146 }, + { 6, 0x02, 146 }, + { 10, 0x02, 146 }, + { 15, 0x02, 146 }, + { 24, 0x02, 146 }, + { 31, 0x02, 146 }, + { 41, 0x02, 146 }, + { 56, 0x03, 146 }, + }, + /* 126 */ + { + { 1, 0x02, 154 }, + { 22, 0x03, 154 }, + { 1, 0x02, 156 }, + { 22, 0x03, 156 }, + { 1, 0x02, 160 }, + { 22, 0x03, 160 }, + { 1, 0x02, 163 }, + { 22, 0x03, 163 }, + { 1, 0x02, 164 }, + { 22, 0x03, 164 }, + { 1, 0x02, 169 }, + { 22, 0x03, 169 }, + { 1, 0x02, 170 }, + { 22, 0x03, 170 }, + { 1, 0x02, 173 }, + { 22, 0x03, 173 }, + }, + /* 127 */ + { + { 2, 0x02, 154 }, + { 9, 0x02, 154 }, + { 23, 0x02, 154 }, + { 40, 0x03, 154 }, + { 2, 0x02, 156 }, + { 9, 0x02, 156 }, + { 23, 0x02, 156 }, + { 40, 0x03, 156 }, + { 2, 0x02, 160 }, + { 9, 0x02, 160 }, + { 23, 0x02, 160 }, + { 40, 0x03, 160 }, + { 2, 0x02, 163 }, + { 9, 0x02, 163 }, + { 23, 0x02, 163 }, + { 40, 0x03, 163 }, + }, + /* 128 */ + { + { 3, 0x02, 154 }, + { 6, 0x02, 154 }, + { 10, 0x02, 154 }, + { 15, 0x02, 154 }, + { 24, 0x02, 154 }, + { 31, 0x02, 154 }, + { 41, 0x02, 154 }, + { 56, 0x03, 154 }, + { 3, 0x02, 156 }, + { 6, 0x02, 156 }, + { 10, 0x02, 156 }, + { 15, 0x02, 156 }, + { 24, 0x02, 156 }, + { 31, 0x02, 156 }, + { 41, 0x02, 156 }, + { 56, 0x03, 156 }, + }, + /* 129 */ + { + { 3, 0x02, 160 }, + { 6, 0x02, 160 }, + { 10, 0x02, 160 }, + { 15, 0x02, 160 }, + { 24, 0x02, 160 }, + { 31, 0x02, 160 }, + { 41, 0x02, 160 }, + { 56, 0x03, 160 }, + { 3, 0x02, 163 }, + { 6, 0x02, 163 }, + { 10, 0x02, 163 }, + { 15, 0x02, 163 }, + { 24, 0x02, 163 }, + { 31, 0x02, 163 }, + { 41, 0x02, 163 }, + { 56, 0x03, 163 }, + }, + /* 130 */ + { + { 2, 0x02, 164 }, + { 9, 0x02, 164 }, + { 23, 0x02, 164 }, + { 40, 0x03, 164 }, + { 2, 0x02, 169 }, + { 9, 0x02, 169 }, + { 23, 0x02, 169 }, + { 40, 0x03, 169 }, + { 2, 0x02, 170 }, + { 9, 0x02, 170 }, + { 23, 0x02, 170 }, + { 40, 0x03, 170 }, + { 2, 0x02, 173 }, + { 9, 0x02, 173 }, + { 23, 0x02, 173 }, + { 40, 0x03, 173 }, + }, + /* 131 */ + { + { 3, 0x02, 164 }, + { 6, 0x02, 164 }, + { 10, 0x02, 164 }, + { 15, 0x02, 164 }, + { 24, 0x02, 164 }, + { 31, 0x02, 164 }, + { 41, 0x02, 164 }, + { 56, 0x03, 164 }, + { 3, 0x02, 169 }, + { 6, 0x02, 169 }, + { 10, 0x02, 169 }, + { 15, 0x02, 169 }, + { 24, 0x02, 169 }, + { 31, 0x02, 169 }, + { 41, 0x02, 169 }, + { 56, 0x03, 169 }, + }, + /* 132 */ + { + { 3, 0x02, 170 }, + { 6, 0x02, 170 }, + { 10, 0x02, 170 }, + { 15, 0x02, 170 }, + { 24, 0x02, 170 }, + { 31, 0x02, 170 }, + { 41, 0x02, 170 }, + { 56, 0x03, 170 }, + { 3, 0x02, 173 }, + { 6, 0x02, 173 }, + { 10, 0x02, 173 }, + { 15, 0x02, 173 }, + { 24, 0x02, 173 }, + { 31, 0x02, 173 }, + { 41, 0x02, 173 }, + { 56, 0x03, 173 }, + }, + /* 133 */ + { + { 137, 0x00, 0 }, + { 138, 0x00, 0 }, + { 140, 0x00, 0 }, + { 141, 0x00, 0 }, + { 144, 0x00, 0 }, + { 145, 0x00, 0 }, + { 147, 0x00, 0 }, + { 150, 0x00, 0 }, + { 156, 0x00, 0 }, + { 159, 0x00, 0 }, + { 163, 0x00, 0 }, + { 166, 0x00, 0 }, + { 171, 0x00, 0 }, + { 174, 0x00, 0 }, + { 181, 0x00, 0 }, + { 190, 0x00, 0 }, + }, + /* 134 */ + { + { 0, 0x03, 178 }, + { 0, 0x03, 181 }, + { 0, 0x03, 185 }, + { 0, 0x03, 186 }, + { 0, 0x03, 187 }, + { 0, 0x03, 189 }, + { 0, 0x03, 190 }, + { 0, 0x03, 196 }, + { 0, 0x03, 198 }, + { 0, 0x03, 228 }, + { 0, 0x03, 232 }, + { 0, 0x03, 233 }, + { 148, 0x00, 0 }, + { 149, 0x00, 0 }, + { 151, 0x00, 0 }, + { 152, 0x00, 0 }, + }, + /* 135 */ + { + { 1, 0x02, 178 }, + { 22, 0x03, 178 }, + { 1, 0x02, 181 }, + { 22, 0x03, 181 }, + { 1, 0x02, 185 }, + { 22, 0x03, 185 }, + { 1, 0x02, 186 }, + { 22, 0x03, 186 }, + { 1, 0x02, 187 }, + { 22, 0x03, 187 }, + { 1, 0x02, 189 }, + { 22, 0x03, 189 }, + { 1, 0x02, 190 }, + { 22, 0x03, 190 }, + { 1, 0x02, 196 }, + { 22, 0x03, 196 }, + }, + /* 136 */ + { + { 2, 0x02, 178 }, + { 9, 0x02, 178 }, + { 23, 0x02, 178 }, + { 40, 0x03, 178 }, + { 2, 0x02, 181 }, + { 9, 0x02, 181 }, + { 23, 0x02, 181 }, + { 40, 0x03, 181 }, + { 2, 0x02, 185 }, + { 9, 0x02, 185 }, + { 23, 0x02, 185 }, + { 40, 0x03, 185 }, + { 2, 0x02, 186 }, + { 9, 0x02, 186 }, + { 23, 0x02, 186 }, + { 40, 0x03, 186 }, + }, + /* 137 */ + { + { 3, 0x02, 178 }, + { 6, 0x02, 178 }, + { 10, 0x02, 178 }, + { 15, 0x02, 178 }, + { 24, 0x02, 178 }, + { 31, 0x02, 178 }, + { 41, 0x02, 178 }, + { 56, 0x03, 178 }, + { 3, 0x02, 181 }, + { 6, 0x02, 181 }, + { 10, 0x02, 181 }, + { 15, 0x02, 181 }, + { 24, 0x02, 181 }, + { 31, 0x02, 181 }, + { 41, 0x02, 181 }, + { 56, 0x03, 181 }, + }, + /* 138 */ + { + { 3, 0x02, 185 }, + { 6, 0x02, 185 }, + { 10, 0x02, 185 }, + { 15, 0x02, 185 }, + { 24, 0x02, 185 }, + { 31, 0x02, 185 }, + { 41, 0x02, 185 }, + { 56, 0x03, 185 }, + { 3, 0x02, 186 }, + { 6, 0x02, 186 }, + { 10, 0x02, 186 }, + { 15, 0x02, 186 }, + { 24, 0x02, 186 }, + { 31, 0x02, 186 }, + { 41, 0x02, 186 }, + { 56, 0x03, 186 }, + }, + /* 139 */ + { + { 2, 0x02, 187 }, + { 9, 0x02, 187 }, + { 23, 0x02, 187 }, + { 40, 0x03, 187 }, + { 2, 0x02, 189 }, + { 9, 0x02, 189 }, + { 23, 0x02, 189 }, + { 40, 0x03, 189 }, + { 2, 0x02, 190 }, + { 9, 0x02, 190 }, + { 23, 0x02, 190 }, + { 40, 0x03, 190 }, + { 2, 0x02, 196 }, + { 9, 0x02, 196 }, + { 23, 0x02, 196 }, + { 40, 0x03, 196 }, + }, + /* 140 */ + { + { 3, 0x02, 187 }, + { 6, 0x02, 187 }, + { 10, 0x02, 187 }, + { 15, 0x02, 187 }, + { 24, 0x02, 187 }, + { 31, 0x02, 187 }, + { 41, 0x02, 187 }, + { 56, 0x03, 187 }, + { 3, 0x02, 189 }, + { 6, 0x02, 189 }, + { 10, 0x02, 189 }, + { 15, 0x02, 189 }, + { 24, 0x02, 189 }, + { 31, 0x02, 189 }, + { 41, 0x02, 189 }, + { 56, 0x03, 189 }, + }, + /* 141 */ + { + { 3, 0x02, 190 }, + { 6, 0x02, 190 }, + { 10, 0x02, 190 }, + { 15, 0x02, 190 }, + { 24, 0x02, 190 }, + { 31, 0x02, 190 }, + { 41, 0x02, 190 }, + { 56, 0x03, 190 }, + { 3, 0x02, 196 }, + { 6, 0x02, 196 }, + { 10, 0x02, 196 }, + { 15, 0x02, 196 }, + { 24, 0x02, 196 }, + { 31, 0x02, 196 }, + { 41, 0x02, 196 }, + { 56, 0x03, 196 }, + }, + /* 142 */ + { + { 1, 0x02, 198 }, + { 22, 0x03, 198 }, + { 1, 0x02, 228 }, + { 22, 0x03, 228 }, + { 1, 0x02, 232 }, + { 22, 0x03, 232 }, + { 1, 0x02, 233 }, + { 22, 0x03, 233 }, + { 0, 0x03, 1 }, + { 0, 0x03, 135 }, + { 0, 0x03, 137 }, + { 0, 0x03, 138 }, + { 0, 0x03, 139 }, + { 0, 0x03, 140 }, + { 0, 0x03, 141 }, + { 0, 0x03, 143 }, + }, + /* 143 */ + { + { 2, 0x02, 198 }, + { 9, 0x02, 198 }, + { 23, 0x02, 198 }, + { 40, 0x03, 198 }, + { 2, 0x02, 228 }, + { 9, 0x02, 228 }, + { 23, 0x02, 228 }, + { 40, 0x03, 228 }, + { 2, 0x02, 232 }, + { 9, 0x02, 232 }, + { 23, 0x02, 232 }, + { 40, 0x03, 232 }, + { 2, 0x02, 233 }, + { 9, 0x02, 233 }, + { 23, 0x02, 233 }, + { 40, 0x03, 233 }, + }, + /* 144 */ + { + { 3, 0x02, 198 }, + { 6, 0x02, 198 }, + { 10, 0x02, 198 }, + { 15, 0x02, 198 }, + { 24, 0x02, 198 }, + { 31, 0x02, 198 }, + { 41, 0x02, 198 }, + { 56, 0x03, 198 }, + { 3, 0x02, 228 }, + { 6, 0x02, 228 }, + { 10, 0x02, 228 }, + { 15, 0x02, 228 }, + { 24, 0x02, 228 }, + { 31, 0x02, 228 }, + { 41, 0x02, 228 }, + { 56, 0x03, 228 }, + }, + /* 145 */ + { + { 3, 0x02, 232 }, + { 6, 0x02, 232 }, + { 10, 0x02, 232 }, + { 15, 0x02, 232 }, + { 24, 0x02, 232 }, + { 31, 0x02, 232 }, + { 41, 0x02, 232 }, + { 56, 0x03, 232 }, + { 3, 0x02, 233 }, + { 6, 0x02, 233 }, + { 10, 0x02, 233 }, + { 15, 0x02, 233 }, + { 24, 0x02, 233 }, + { 31, 0x02, 233 }, + { 41, 0x02, 233 }, + { 56, 0x03, 233 }, + }, + /* 146 */ + { + { 1, 0x02, 1 }, + { 22, 0x03, 1 }, + { 1, 0x02, 135 }, + { 22, 0x03, 135 }, + { 1, 0x02, 137 }, + { 22, 0x03, 137 }, + { 1, 0x02, 138 }, + { 22, 0x03, 138 }, + { 1, 0x02, 139 }, + { 22, 0x03, 139 }, + { 1, 0x02, 140 }, + { 22, 0x03, 140 }, + { 1, 0x02, 141 }, + { 22, 0x03, 141 }, + { 1, 0x02, 143 }, + { 22, 0x03, 143 }, + }, + /* 147 */ + { + { 2, 0x02, 1 }, + { 9, 0x02, 1 }, + { 23, 0x02, 1 }, + { 40, 0x03, 1 }, + { 2, 0x02, 135 }, + { 9, 0x02, 135 }, + { 23, 0x02, 135 }, + { 40, 0x03, 135 }, + { 2, 0x02, 137 }, + { 9, 0x02, 137 }, + { 23, 0x02, 137 }, + { 40, 0x03, 137 }, + { 2, 0x02, 138 }, + { 9, 0x02, 138 }, + { 23, 0x02, 138 }, + { 40, 0x03, 138 }, + }, + /* 148 */ + { + { 3, 0x02, 1 }, + { 6, 0x02, 1 }, + { 10, 0x02, 1 }, + { 15, 0x02, 1 }, + { 24, 0x02, 1 }, + { 31, 0x02, 1 }, + { 41, 0x02, 1 }, + { 56, 0x03, 1 }, + { 3, 0x02, 135 }, + { 6, 0x02, 135 }, + { 10, 0x02, 135 }, + { 15, 0x02, 135 }, + { 24, 0x02, 135 }, + { 31, 0x02, 135 }, + { 41, 0x02, 135 }, + { 56, 0x03, 135 }, + }, + /* 149 */ + { + { 3, 0x02, 137 }, + { 6, 0x02, 137 }, + { 10, 0x02, 137 }, + { 15, 0x02, 137 }, + { 24, 0x02, 137 }, + { 31, 0x02, 137 }, + { 41, 0x02, 137 }, + { 56, 0x03, 137 }, + { 3, 0x02, 138 }, + { 6, 0x02, 138 }, + { 10, 0x02, 138 }, + { 15, 0x02, 138 }, + { 24, 0x02, 138 }, + { 31, 0x02, 138 }, + { 41, 0x02, 138 }, + { 56, 0x03, 138 }, + }, + /* 150 */ + { + { 2, 0x02, 139 }, + { 9, 0x02, 139 }, + { 23, 0x02, 139 }, + { 40, 0x03, 139 }, + { 2, 0x02, 140 }, + { 9, 0x02, 140 }, + { 23, 0x02, 140 }, + { 40, 0x03, 140 }, + { 2, 0x02, 141 }, + { 9, 0x02, 141 }, + { 23, 0x02, 141 }, + { 40, 0x03, 141 }, + { 2, 0x02, 143 }, + { 9, 0x02, 143 }, + { 23, 0x02, 143 }, + { 40, 0x03, 143 }, + }, + /* 151 */ + { + { 3, 0x02, 139 }, + { 6, 0x02, 139 }, + { 10, 0x02, 139 }, + { 15, 0x02, 139 }, + { 24, 0x02, 139 }, + { 31, 0x02, 139 }, + { 41, 0x02, 139 }, + { 56, 0x03, 139 }, + { 3, 0x02, 140 }, + { 6, 0x02, 140 }, + { 10, 0x02, 140 }, + { 15, 0x02, 140 }, + { 24, 0x02, 140 }, + { 31, 0x02, 140 }, + { 41, 0x02, 140 }, + { 56, 0x03, 140 }, + }, + /* 152 */ + { + { 3, 0x02, 141 }, + { 6, 0x02, 141 }, + { 10, 0x02, 141 }, + { 15, 0x02, 141 }, + { 24, 0x02, 141 }, + { 31, 0x02, 141 }, + { 41, 0x02, 141 }, + { 56, 0x03, 141 }, + { 3, 0x02, 143 }, + { 6, 0x02, 143 }, + { 10, 0x02, 143 }, + { 15, 0x02, 143 }, + { 24, 0x02, 143 }, + { 31, 0x02, 143 }, + { 41, 0x02, 143 }, + { 56, 0x03, 143 }, + }, + /* 153 */ + { + { 157, 0x00, 0 }, + { 158, 0x00, 0 }, + { 160, 0x00, 0 }, + { 161, 0x00, 0 }, + { 164, 0x00, 0 }, + { 165, 0x00, 0 }, + { 167, 0x00, 0 }, + { 168, 0x00, 0 }, + { 172, 0x00, 0 }, + { 173, 0x00, 0 }, + { 175, 0x00, 0 }, + { 177, 0x00, 0 }, + { 182, 0x00, 0 }, + { 185, 0x00, 0 }, + { 191, 0x00, 0 }, + { 207, 0x00, 0 }, + }, + /* 154 */ + { + { 0, 0x03, 147 }, + { 0, 0x03, 149 }, + { 0, 0x03, 150 }, + { 0, 0x03, 151 }, + { 0, 0x03, 152 }, + { 0, 0x03, 155 }, + { 0, 0x03, 157 }, + { 0, 0x03, 158 }, + { 0, 0x03, 165 }, + { 0, 0x03, 166 }, + { 0, 0x03, 168 }, + { 0, 0x03, 174 }, + { 0, 0x03, 175 }, + { 0, 0x03, 180 }, + { 0, 0x03, 182 }, + { 0, 0x03, 183 }, + }, + /* 155 */ + { + { 1, 0x02, 147 }, + { 22, 0x03, 147 }, + { 1, 0x02, 149 }, + { 22, 0x03, 149 }, + { 1, 0x02, 150 }, + { 22, 0x03, 150 }, + { 1, 0x02, 151 }, + { 22, 0x03, 151 }, + { 1, 0x02, 152 }, + { 22, 0x03, 152 }, + { 1, 0x02, 155 }, + { 22, 0x03, 155 }, + { 1, 0x02, 157 }, + { 22, 0x03, 157 }, + { 1, 0x02, 158 }, + { 22, 0x03, 158 }, + }, + /* 156 */ + { + { 2, 0x02, 147 }, + { 9, 0x02, 147 }, + { 23, 0x02, 147 }, + { 40, 0x03, 147 }, + { 2, 0x02, 149 }, + { 9, 0x02, 149 }, + { 23, 0x02, 149 }, + { 40, 0x03, 149 }, + { 2, 0x02, 150 }, + { 9, 0x02, 150 }, + { 23, 0x02, 150 }, + { 40, 0x03, 150 }, + { 2, 0x02, 151 }, + { 9, 0x02, 151 }, + { 23, 0x02, 151 }, + { 40, 0x03, 151 }, + }, + /* 157 */ + { + { 3, 0x02, 147 }, + { 6, 0x02, 147 }, + { 10, 0x02, 147 }, + { 15, 0x02, 147 }, + { 24, 0x02, 147 }, + { 31, 0x02, 147 }, + { 41, 0x02, 147 }, + { 56, 0x03, 147 }, + { 3, 0x02, 149 }, + { 6, 0x02, 149 }, + { 10, 0x02, 149 }, + { 15, 0x02, 149 }, + { 24, 0x02, 149 }, + { 31, 0x02, 149 }, + { 41, 0x02, 149 }, + { 56, 0x03, 149 }, + }, + /* 158 */ + { + { 3, 0x02, 150 }, + { 6, 0x02, 150 }, + { 10, 0x02, 150 }, + { 15, 0x02, 150 }, + { 24, 0x02, 150 }, + { 31, 0x02, 150 }, + { 41, 0x02, 150 }, + { 56, 0x03, 150 }, + { 3, 0x02, 151 }, + { 6, 0x02, 151 }, + { 10, 0x02, 151 }, + { 15, 0x02, 151 }, + { 24, 0x02, 151 }, + { 31, 0x02, 151 }, + { 41, 0x02, 151 }, + { 56, 0x03, 151 }, + }, + /* 159 */ + { + { 2, 0x02, 152 }, + { 9, 0x02, 152 }, + { 23, 0x02, 152 }, + { 40, 0x03, 152 }, + { 2, 0x02, 155 }, + { 9, 0x02, 155 }, + { 23, 0x02, 155 }, + { 40, 0x03, 155 }, + { 2, 0x02, 157 }, + { 9, 0x02, 157 }, + { 23, 0x02, 157 }, + { 40, 0x03, 157 }, + { 2, 0x02, 158 }, + { 9, 0x02, 158 }, + { 23, 0x02, 158 }, + { 40, 0x03, 158 }, + }, + /* 160 */ + { + { 3, 0x02, 152 }, + { 6, 0x02, 152 }, + { 10, 0x02, 152 }, + { 15, 0x02, 152 }, + { 24, 0x02, 152 }, + { 31, 0x02, 152 }, + { 41, 0x02, 152 }, + { 56, 0x03, 152 }, + { 3, 0x02, 155 }, + { 6, 0x02, 155 }, + { 10, 0x02, 155 }, + { 15, 0x02, 155 }, + { 24, 0x02, 155 }, + { 31, 0x02, 155 }, + { 41, 0x02, 155 }, + { 56, 0x03, 155 }, + }, + /* 161 */ + { + { 3, 0x02, 157 }, + { 6, 0x02, 157 }, + { 10, 0x02, 157 }, + { 15, 0x02, 157 }, + { 24, 0x02, 157 }, + { 31, 0x02, 157 }, + { 41, 0x02, 157 }, + { 56, 0x03, 157 }, + { 3, 0x02, 158 }, + { 6, 0x02, 158 }, + { 10, 0x02, 158 }, + { 15, 0x02, 158 }, + { 24, 0x02, 158 }, + { 31, 0x02, 158 }, + { 41, 0x02, 158 }, + { 56, 0x03, 158 }, + }, + /* 162 */ + { + { 1, 0x02, 165 }, + { 22, 0x03, 165 }, + { 1, 0x02, 166 }, + { 22, 0x03, 166 }, + { 1, 0x02, 168 }, + { 22, 0x03, 168 }, + { 1, 0x02, 174 }, + { 22, 0x03, 174 }, + { 1, 0x02, 175 }, + { 22, 0x03, 175 }, + { 1, 0x02, 180 }, + { 22, 0x03, 180 }, + { 1, 0x02, 182 }, + { 22, 0x03, 182 }, + { 1, 0x02, 183 }, + { 22, 0x03, 183 }, + }, + /* 163 */ + { + { 2, 0x02, 165 }, + { 9, 0x02, 165 }, + { 23, 0x02, 165 }, + { 40, 0x03, 165 }, + { 2, 0x02, 166 }, + { 9, 0x02, 166 }, + { 23, 0x02, 166 }, + { 40, 0x03, 166 }, + { 2, 0x02, 168 }, + { 9, 0x02, 168 }, + { 23, 0x02, 168 }, + { 40, 0x03, 168 }, + { 2, 0x02, 174 }, + { 9, 0x02, 174 }, + { 23, 0x02, 174 }, + { 40, 0x03, 174 }, + }, + /* 164 */ + { + { 3, 0x02, 165 }, + { 6, 0x02, 165 }, + { 10, 0x02, 165 }, + { 15, 0x02, 165 }, + { 24, 0x02, 165 }, + { 31, 0x02, 165 }, + { 41, 0x02, 165 }, + { 56, 0x03, 165 }, + { 3, 0x02, 166 }, + { 6, 0x02, 166 }, + { 10, 0x02, 166 }, + { 15, 0x02, 166 }, + { 24, 0x02, 166 }, + { 31, 0x02, 166 }, + { 41, 0x02, 166 }, + { 56, 0x03, 166 }, + }, + /* 165 */ + { + { 3, 0x02, 168 }, + { 6, 0x02, 168 }, + { 10, 0x02, 168 }, + { 15, 0x02, 168 }, + { 24, 0x02, 168 }, + { 31, 0x02, 168 }, + { 41, 0x02, 168 }, + { 56, 0x03, 168 }, + { 3, 0x02, 174 }, + { 6, 0x02, 174 }, + { 10, 0x02, 174 }, + { 15, 0x02, 174 }, + { 24, 0x02, 174 }, + { 31, 0x02, 174 }, + { 41, 0x02, 174 }, + { 56, 0x03, 174 }, + }, + /* 166 */ + { + { 2, 0x02, 175 }, + { 9, 0x02, 175 }, + { 23, 0x02, 175 }, + { 40, 0x03, 175 }, + { 2, 0x02, 180 }, + { 9, 0x02, 180 }, + { 23, 0x02, 180 }, + { 40, 0x03, 180 }, + { 2, 0x02, 182 }, + { 9, 0x02, 182 }, + { 23, 0x02, 182 }, + { 40, 0x03, 182 }, + { 2, 0x02, 183 }, + { 9, 0x02, 183 }, + { 23, 0x02, 183 }, + { 40, 0x03, 183 }, + }, + /* 167 */ + { + { 3, 0x02, 175 }, + { 6, 0x02, 175 }, + { 10, 0x02, 175 }, + { 15, 0x02, 175 }, + { 24, 0x02, 175 }, + { 31, 0x02, 175 }, + { 41, 0x02, 175 }, + { 56, 0x03, 175 }, + { 3, 0x02, 180 }, + { 6, 0x02, 180 }, + { 10, 0x02, 180 }, + { 15, 0x02, 180 }, + { 24, 0x02, 180 }, + { 31, 0x02, 180 }, + { 41, 0x02, 180 }, + { 56, 0x03, 180 }, + }, + /* 168 */ + { + { 3, 0x02, 182 }, + { 6, 0x02, 182 }, + { 10, 0x02, 182 }, + { 15, 0x02, 182 }, + { 24, 0x02, 182 }, + { 31, 0x02, 182 }, + { 41, 0x02, 182 }, + { 56, 0x03, 182 }, + { 3, 0x02, 183 }, + { 6, 0x02, 183 }, + { 10, 0x02, 183 }, + { 15, 0x02, 183 }, + { 24, 0x02, 183 }, + { 31, 0x02, 183 }, + { 41, 0x02, 183 }, + { 56, 0x03, 183 }, + }, + /* 169 */ + { + { 0, 0x03, 188 }, + { 0, 0x03, 191 }, + { 0, 0x03, 197 }, + { 0, 0x03, 231 }, + { 0, 0x03, 239 }, + { 176, 0x00, 0 }, + { 178, 0x00, 0 }, + { 179, 0x00, 0 }, + { 183, 0x00, 0 }, + { 184, 0x00, 0 }, + { 186, 0x00, 0 }, + { 187, 0x00, 0 }, + { 192, 0x00, 0 }, + { 199, 0x00, 0 }, + { 208, 0x00, 0 }, + { 223, 0x00, 0 }, + }, + /* 170 */ + { + { 1, 0x02, 188 }, + { 22, 0x03, 188 }, + { 1, 0x02, 191 }, + { 22, 0x03, 191 }, + { 1, 0x02, 197 }, + { 22, 0x03, 197 }, + { 1, 0x02, 231 }, + { 22, 0x03, 231 }, + { 1, 0x02, 239 }, + { 22, 0x03, 239 }, + { 0, 0x03, 9 }, + { 0, 0x03, 142 }, + { 0, 0x03, 144 }, + { 0, 0x03, 145 }, + { 0, 0x03, 148 }, + { 0, 0x03, 159 }, + }, + /* 171 */ + { + { 2, 0x02, 188 }, + { 9, 0x02, 188 }, + { 23, 0x02, 188 }, + { 40, 0x03, 188 }, + { 2, 0x02, 191 }, + { 9, 0x02, 191 }, + { 23, 0x02, 191 }, + { 40, 0x03, 191 }, + { 2, 0x02, 197 }, + { 9, 0x02, 197 }, + { 23, 0x02, 197 }, + { 40, 0x03, 197 }, + { 2, 0x02, 231 }, + { 9, 0x02, 231 }, + { 23, 0x02, 231 }, + { 40, 0x03, 231 }, + }, + /* 172 */ + { + { 3, 0x02, 188 }, + { 6, 0x02, 188 }, + { 10, 0x02, 188 }, + { 15, 0x02, 188 }, + { 24, 0x02, 188 }, + { 31, 0x02, 188 }, + { 41, 0x02, 188 }, + { 56, 0x03, 188 }, + { 3, 0x02, 191 }, + { 6, 0x02, 191 }, + { 10, 0x02, 191 }, + { 15, 0x02, 191 }, + { 24, 0x02, 191 }, + { 31, 0x02, 191 }, + { 41, 0x02, 191 }, + { 56, 0x03, 191 }, + }, + /* 173 */ + { + { 3, 0x02, 197 }, + { 6, 0x02, 197 }, + { 10, 0x02, 197 }, + { 15, 0x02, 197 }, + { 24, 0x02, 197 }, + { 31, 0x02, 197 }, + { 41, 0x02, 197 }, + { 56, 0x03, 197 }, + { 3, 0x02, 231 }, + { 6, 0x02, 231 }, + { 10, 0x02, 231 }, + { 15, 0x02, 231 }, + { 24, 0x02, 231 }, + { 31, 0x02, 231 }, + { 41, 0x02, 231 }, + { 56, 0x03, 231 }, + }, + /* 174 */ + { + { 2, 0x02, 239 }, + { 9, 0x02, 239 }, + { 23, 0x02, 239 }, + { 40, 0x03, 239 }, + { 1, 0x02, 9 }, + { 22, 0x03, 9 }, + { 1, 0x02, 142 }, + { 22, 0x03, 142 }, + { 1, 0x02, 144 }, + { 22, 0x03, 144 }, + { 1, 0x02, 145 }, + { 22, 0x03, 145 }, + { 1, 0x02, 148 }, + { 22, 0x03, 148 }, + { 1, 0x02, 159 }, + { 22, 0x03, 159 }, + }, + /* 175 */ + { + { 3, 0x02, 239 }, + { 6, 0x02, 239 }, + { 10, 0x02, 239 }, + { 15, 0x02, 239 }, + { 24, 0x02, 239 }, + { 31, 0x02, 239 }, + { 41, 0x02, 239 }, + { 56, 0x03, 239 }, + { 2, 0x02, 9 }, + { 9, 0x02, 9 }, + { 23, 0x02, 9 }, + { 40, 0x03, 9 }, + { 2, 0x02, 142 }, + { 9, 0x02, 142 }, + { 23, 0x02, 142 }, + { 40, 0x03, 142 }, + }, + /* 176 */ + { + { 3, 0x02, 9 }, + { 6, 0x02, 9 }, + { 10, 0x02, 9 }, + { 15, 0x02, 9 }, + { 24, 0x02, 9 }, + { 31, 0x02, 9 }, + { 41, 0x02, 9 }, + { 56, 0x03, 9 }, + { 3, 0x02, 142 }, + { 6, 0x02, 142 }, + { 10, 0x02, 142 }, + { 15, 0x02, 142 }, + { 24, 0x02, 142 }, + { 31, 0x02, 142 }, + { 41, 0x02, 142 }, + { 56, 0x03, 142 }, + }, + /* 177 */ + { + { 2, 0x02, 144 }, + { 9, 0x02, 144 }, + { 23, 0x02, 144 }, + { 40, 0x03, 144 }, + { 2, 0x02, 145 }, + { 9, 0x02, 145 }, + { 23, 0x02, 145 }, + { 40, 0x03, 145 }, + { 2, 0x02, 148 }, + { 9, 0x02, 148 }, + { 23, 0x02, 148 }, + { 40, 0x03, 148 }, + { 2, 0x02, 159 }, + { 9, 0x02, 159 }, + { 23, 0x02, 159 }, + { 40, 0x03, 159 }, + }, + /* 178 */ + { + { 3, 0x02, 144 }, + { 6, 0x02, 144 }, + { 10, 0x02, 144 }, + { 15, 0x02, 144 }, + { 24, 0x02, 144 }, + { 31, 0x02, 144 }, + { 41, 0x02, 144 }, + { 56, 0x03, 144 }, + { 3, 0x02, 145 }, + { 6, 0x02, 145 }, + { 10, 0x02, 145 }, + { 15, 0x02, 145 }, + { 24, 0x02, 145 }, + { 31, 0x02, 145 }, + { 41, 0x02, 145 }, + { 56, 0x03, 145 }, + }, + /* 179 */ + { + { 3, 0x02, 148 }, + { 6, 0x02, 148 }, + { 10, 0x02, 148 }, + { 15, 0x02, 148 }, + { 24, 0x02, 148 }, + { 31, 0x02, 148 }, + { 41, 0x02, 148 }, + { 56, 0x03, 148 }, + { 3, 0x02, 159 }, + { 6, 0x02, 159 }, + { 10, 0x02, 159 }, + { 15, 0x02, 159 }, + { 24, 0x02, 159 }, + { 31, 0x02, 159 }, + { 41, 0x02, 159 }, + { 56, 0x03, 159 }, + }, + /* 180 */ + { + { 0, 0x03, 171 }, + { 0, 0x03, 206 }, + { 0, 0x03, 215 }, + { 0, 0x03, 225 }, + { 0, 0x03, 236 }, + { 0, 0x03, 237 }, + { 188, 0x00, 0 }, + { 189, 0x00, 0 }, + { 193, 0x00, 0 }, + { 196, 0x00, 0 }, + { 200, 0x00, 0 }, + { 203, 0x00, 0 }, + { 209, 0x00, 0 }, + { 216, 0x00, 0 }, + { 224, 0x00, 0 }, + { 238, 0x00, 0 }, + }, + /* 181 */ + { + { 1, 0x02, 171 }, + { 22, 0x03, 171 }, + { 1, 0x02, 206 }, + { 22, 0x03, 206 }, + { 1, 0x02, 215 }, + { 22, 0x03, 215 }, + { 1, 0x02, 225 }, + { 22, 0x03, 225 }, + { 1, 0x02, 236 }, + { 22, 0x03, 236 }, + { 1, 0x02, 237 }, + { 22, 0x03, 237 }, + { 0, 0x03, 199 }, + { 0, 0x03, 207 }, + { 0, 0x03, 234 }, + { 0, 0x03, 235 }, + }, + /* 182 */ + { + { 2, 0x02, 171 }, + { 9, 0x02, 171 }, + { 23, 0x02, 171 }, + { 40, 0x03, 171 }, + { 2, 0x02, 206 }, + { 9, 0x02, 206 }, + { 23, 0x02, 206 }, + { 40, 0x03, 206 }, + { 2, 0x02, 215 }, + { 9, 0x02, 215 }, + { 23, 0x02, 215 }, + { 40, 0x03, 215 }, + { 2, 0x02, 225 }, + { 9, 0x02, 225 }, + { 23, 0x02, 225 }, + { 40, 0x03, 225 }, + }, + /* 183 */ + { + { 3, 0x02, 171 }, + { 6, 0x02, 171 }, + { 10, 0x02, 171 }, + { 15, 0x02, 171 }, + { 24, 0x02, 171 }, + { 31, 0x02, 171 }, + { 41, 0x02, 171 }, + { 56, 0x03, 171 }, + { 3, 0x02, 206 }, + { 6, 0x02, 206 }, + { 10, 0x02, 206 }, + { 15, 0x02, 206 }, + { 24, 0x02, 206 }, + { 31, 0x02, 206 }, + { 41, 0x02, 206 }, + { 56, 0x03, 206 }, + }, + /* 184 */ + { + { 3, 0x02, 215 }, + { 6, 0x02, 215 }, + { 10, 0x02, 215 }, + { 15, 0x02, 215 }, + { 24, 0x02, 215 }, + { 31, 0x02, 215 }, + { 41, 0x02, 215 }, + { 56, 0x03, 215 }, + { 3, 0x02, 225 }, + { 6, 0x02, 225 }, + { 10, 0x02, 225 }, + { 15, 0x02, 225 }, + { 24, 0x02, 225 }, + { 31, 0x02, 225 }, + { 41, 0x02, 225 }, + { 56, 0x03, 225 }, + }, + /* 185 */ + { + { 2, 0x02, 236 }, + { 9, 0x02, 236 }, + { 23, 0x02, 236 }, + { 40, 0x03, 236 }, + { 2, 0x02, 237 }, + { 9, 0x02, 237 }, + { 23, 0x02, 237 }, + { 40, 0x03, 237 }, + { 1, 0x02, 199 }, + { 22, 0x03, 199 }, + { 1, 0x02, 207 }, + { 22, 0x03, 207 }, + { 1, 0x02, 234 }, + { 22, 0x03, 234 }, + { 1, 0x02, 235 }, + { 22, 0x03, 235 }, + }, + /* 186 */ + { + { 3, 0x02, 236 }, + { 6, 0x02, 236 }, + { 10, 0x02, 236 }, + { 15, 0x02, 236 }, + { 24, 0x02, 236 }, + { 31, 0x02, 236 }, + { 41, 0x02, 236 }, + { 56, 0x03, 236 }, + { 3, 0x02, 237 }, + { 6, 0x02, 237 }, + { 10, 0x02, 237 }, + { 15, 0x02, 237 }, + { 24, 0x02, 237 }, + { 31, 0x02, 237 }, + { 41, 0x02, 237 }, + { 56, 0x03, 237 }, + }, + /* 187 */ + { + { 2, 0x02, 199 }, + { 9, 0x02, 199 }, + { 23, 0x02, 199 }, + { 40, 0x03, 199 }, + { 2, 0x02, 207 }, + { 9, 0x02, 207 }, + { 23, 0x02, 207 }, + { 40, 0x03, 207 }, + { 2, 0x02, 234 }, + { 9, 0x02, 234 }, + { 23, 0x02, 234 }, + { 40, 0x03, 234 }, + { 2, 0x02, 235 }, + { 9, 0x02, 235 }, + { 23, 0x02, 235 }, + { 40, 0x03, 235 }, + }, + /* 188 */ + { + { 3, 0x02, 199 }, + { 6, 0x02, 199 }, + { 10, 0x02, 199 }, + { 15, 0x02, 199 }, + { 24, 0x02, 199 }, + { 31, 0x02, 199 }, + { 41, 0x02, 199 }, + { 56, 0x03, 199 }, + { 3, 0x02, 207 }, + { 6, 0x02, 207 }, + { 10, 0x02, 207 }, + { 15, 0x02, 207 }, + { 24, 0x02, 207 }, + { 31, 0x02, 207 }, + { 41, 0x02, 207 }, + { 56, 0x03, 207 }, + }, + /* 189 */ + { + { 3, 0x02, 234 }, + { 6, 0x02, 234 }, + { 10, 0x02, 234 }, + { 15, 0x02, 234 }, + { 24, 0x02, 234 }, + { 31, 0x02, 234 }, + { 41, 0x02, 234 }, + { 56, 0x03, 234 }, + { 3, 0x02, 235 }, + { 6, 0x02, 235 }, + { 10, 0x02, 235 }, + { 15, 0x02, 235 }, + { 24, 0x02, 235 }, + { 31, 0x02, 235 }, + { 41, 0x02, 235 }, + { 56, 0x03, 235 }, + }, + /* 190 */ + { + { 194, 0x00, 0 }, + { 195, 0x00, 0 }, + { 197, 0x00, 0 }, + { 198, 0x00, 0 }, + { 201, 0x00, 0 }, + { 202, 0x00, 0 }, + { 204, 0x00, 0 }, + { 205, 0x00, 0 }, + { 210, 0x00, 0 }, + { 213, 0x00, 0 }, + { 217, 0x00, 0 }, + { 220, 0x00, 0 }, + { 225, 0x00, 0 }, + { 231, 0x00, 0 }, + { 239, 0x00, 0 }, + { 246, 0x00, 0 }, + }, + /* 191 */ + { + { 0, 0x03, 192 }, + { 0, 0x03, 193 }, + { 0, 0x03, 200 }, + { 0, 0x03, 201 }, + { 0, 0x03, 202 }, + { 0, 0x03, 205 }, + { 0, 0x03, 210 }, + { 0, 0x03, 213 }, + { 0, 0x03, 218 }, + { 0, 0x03, 219 }, + { 0, 0x03, 238 }, + { 0, 0x03, 240 }, + { 0, 0x03, 242 }, + { 0, 0x03, 243 }, + { 0, 0x03, 255 }, + { 206, 0x00, 0 }, + }, + /* 192 */ + { + { 1, 0x02, 192 }, + { 22, 0x03, 192 }, + { 1, 0x02, 193 }, + { 22, 0x03, 193 }, + { 1, 0x02, 200 }, + { 22, 0x03, 200 }, + { 1, 0x02, 201 }, + { 22, 0x03, 201 }, + { 1, 0x02, 202 }, + { 22, 0x03, 202 }, + { 1, 0x02, 205 }, + { 22, 0x03, 205 }, + { 1, 0x02, 210 }, + { 22, 0x03, 210 }, + { 1, 0x02, 213 }, + { 22, 0x03, 213 }, + }, + /* 193 */ + { + { 2, 0x02, 192 }, + { 9, 0x02, 192 }, + { 23, 0x02, 192 }, + { 40, 0x03, 192 }, + { 2, 0x02, 193 }, + { 9, 0x02, 193 }, + { 23, 0x02, 193 }, + { 40, 0x03, 193 }, + { 2, 0x02, 200 }, + { 9, 0x02, 200 }, + { 23, 0x02, 200 }, + { 40, 0x03, 200 }, + { 2, 0x02, 201 }, + { 9, 0x02, 201 }, + { 23, 0x02, 201 }, + { 40, 0x03, 201 }, + }, + /* 194 */ + { + { 3, 0x02, 192 }, + { 6, 0x02, 192 }, + { 10, 0x02, 192 }, + { 15, 0x02, 192 }, + { 24, 0x02, 192 }, + { 31, 0x02, 192 }, + { 41, 0x02, 192 }, + { 56, 0x03, 192 }, + { 3, 0x02, 193 }, + { 6, 0x02, 193 }, + { 10, 0x02, 193 }, + { 15, 0x02, 193 }, + { 24, 0x02, 193 }, + { 31, 0x02, 193 }, + { 41, 0x02, 193 }, + { 56, 0x03, 193 }, + }, + /* 195 */ + { + { 3, 0x02, 200 }, + { 6, 0x02, 200 }, + { 10, 0x02, 200 }, + { 15, 0x02, 200 }, + { 24, 0x02, 200 }, + { 31, 0x02, 200 }, + { 41, 0x02, 200 }, + { 56, 0x03, 200 }, + { 3, 0x02, 201 }, + { 6, 0x02, 201 }, + { 10, 0x02, 201 }, + { 15, 0x02, 201 }, + { 24, 0x02, 201 }, + { 31, 0x02, 201 }, + { 41, 0x02, 201 }, + { 56, 0x03, 201 }, + }, + /* 196 */ + { + { 2, 0x02, 202 }, + { 9, 0x02, 202 }, + { 23, 0x02, 202 }, + { 40, 0x03, 202 }, + { 2, 0x02, 205 }, + { 9, 0x02, 205 }, + { 23, 0x02, 205 }, + { 40, 0x03, 205 }, + { 2, 0x02, 210 }, + { 9, 0x02, 210 }, + { 23, 0x02, 210 }, + { 40, 0x03, 210 }, + { 2, 0x02, 213 }, + { 9, 0x02, 213 }, + { 23, 0x02, 213 }, + { 40, 0x03, 213 }, + }, + /* 197 */ + { + { 3, 0x02, 202 }, + { 6, 0x02, 202 }, + { 10, 0x02, 202 }, + { 15, 0x02, 202 }, + { 24, 0x02, 202 }, + { 31, 0x02, 202 }, + { 41, 0x02, 202 }, + { 56, 0x03, 202 }, + { 3, 0x02, 205 }, + { 6, 0x02, 205 }, + { 10, 0x02, 205 }, + { 15, 0x02, 205 }, + { 24, 0x02, 205 }, + { 31, 0x02, 205 }, + { 41, 0x02, 205 }, + { 56, 0x03, 205 }, + }, + /* 198 */ + { + { 3, 0x02, 210 }, + { 6, 0x02, 210 }, + { 10, 0x02, 210 }, + { 15, 0x02, 210 }, + { 24, 0x02, 210 }, + { 31, 0x02, 210 }, + { 41, 0x02, 210 }, + { 56, 0x03, 210 }, + { 3, 0x02, 213 }, + { 6, 0x02, 213 }, + { 10, 0x02, 213 }, + { 15, 0x02, 213 }, + { 24, 0x02, 213 }, + { 31, 0x02, 213 }, + { 41, 0x02, 213 }, + { 56, 0x03, 213 }, + }, + /* 199 */ + { + { 1, 0x02, 218 }, + { 22, 0x03, 218 }, + { 1, 0x02, 219 }, + { 22, 0x03, 219 }, + { 1, 0x02, 238 }, + { 22, 0x03, 238 }, + { 1, 0x02, 240 }, + { 22, 0x03, 240 }, + { 1, 0x02, 242 }, + { 22, 0x03, 242 }, + { 1, 0x02, 243 }, + { 22, 0x03, 243 }, + { 1, 0x02, 255 }, + { 22, 0x03, 255 }, + { 0, 0x03, 203 }, + { 0, 0x03, 204 }, + }, + /* 200 */ + { + { 2, 0x02, 218 }, + { 9, 0x02, 218 }, + { 23, 0x02, 218 }, + { 40, 0x03, 218 }, + { 2, 0x02, 219 }, + { 9, 0x02, 219 }, + { 23, 0x02, 219 }, + { 40, 0x03, 219 }, + { 2, 0x02, 238 }, + { 9, 0x02, 238 }, + { 23, 0x02, 238 }, + { 40, 0x03, 238 }, + { 2, 0x02, 240 }, + { 9, 0x02, 240 }, + { 23, 0x02, 240 }, + { 40, 0x03, 240 }, + }, + /* 201 */ + { + { 3, 0x02, 218 }, + { 6, 0x02, 218 }, + { 10, 0x02, 218 }, + { 15, 0x02, 218 }, + { 24, 0x02, 218 }, + { 31, 0x02, 218 }, + { 41, 0x02, 218 }, + { 56, 0x03, 218 }, + { 3, 0x02, 219 }, + { 6, 0x02, 219 }, + { 10, 0x02, 219 }, + { 15, 0x02, 219 }, + { 24, 0x02, 219 }, + { 31, 0x02, 219 }, + { 41, 0x02, 219 }, + { 56, 0x03, 219 }, + }, + /* 202 */ + { + { 3, 0x02, 238 }, + { 6, 0x02, 238 }, + { 10, 0x02, 238 }, + { 15, 0x02, 238 }, + { 24, 0x02, 238 }, + { 31, 0x02, 238 }, + { 41, 0x02, 238 }, + { 56, 0x03, 238 }, + { 3, 0x02, 240 }, + { 6, 0x02, 240 }, + { 10, 0x02, 240 }, + { 15, 0x02, 240 }, + { 24, 0x02, 240 }, + { 31, 0x02, 240 }, + { 41, 0x02, 240 }, + { 56, 0x03, 240 }, + }, + /* 203 */ + { + { 2, 0x02, 242 }, + { 9, 0x02, 242 }, + { 23, 0x02, 242 }, + { 40, 0x03, 242 }, + { 2, 0x02, 243 }, + { 9, 0x02, 243 }, + { 23, 0x02, 243 }, + { 40, 0x03, 243 }, + { 2, 0x02, 255 }, + { 9, 0x02, 255 }, + { 23, 0x02, 255 }, + { 40, 0x03, 255 }, + { 1, 0x02, 203 }, + { 22, 0x03, 203 }, + { 1, 0x02, 204 }, + { 22, 0x03, 204 }, + }, + /* 204 */ + { + { 3, 0x02, 242 }, + { 6, 0x02, 242 }, + { 10, 0x02, 242 }, + { 15, 0x02, 242 }, + { 24, 0x02, 242 }, + { 31, 0x02, 242 }, + { 41, 0x02, 242 }, + { 56, 0x03, 242 }, + { 3, 0x02, 243 }, + { 6, 0x02, 243 }, + { 10, 0x02, 243 }, + { 15, 0x02, 243 }, + { 24, 0x02, 243 }, + { 31, 0x02, 243 }, + { 41, 0x02, 243 }, + { 56, 0x03, 243 }, + }, + /* 205 */ + { + { 3, 0x02, 255 }, + { 6, 0x02, 255 }, + { 10, 0x02, 255 }, + { 15, 0x02, 255 }, + { 24, 0x02, 255 }, + { 31, 0x02, 255 }, + { 41, 0x02, 255 }, + { 56, 0x03, 255 }, + { 2, 0x02, 203 }, + { 9, 0x02, 203 }, + { 23, 0x02, 203 }, + { 40, 0x03, 203 }, + { 2, 0x02, 204 }, + { 9, 0x02, 204 }, + { 23, 0x02, 204 }, + { 40, 0x03, 204 }, + }, + /* 206 */ + { + { 3, 0x02, 203 }, + { 6, 0x02, 203 }, + { 10, 0x02, 203 }, + { 15, 0x02, 203 }, + { 24, 0x02, 203 }, + { 31, 0x02, 203 }, + { 41, 0x02, 203 }, + { 56, 0x03, 203 }, + { 3, 0x02, 204 }, + { 6, 0x02, 204 }, + { 10, 0x02, 204 }, + { 15, 0x02, 204 }, + { 24, 0x02, 204 }, + { 31, 0x02, 204 }, + { 41, 0x02, 204 }, + { 56, 0x03, 204 }, + }, + /* 207 */ + { + { 211, 0x00, 0 }, + { 212, 0x00, 0 }, + { 214, 0x00, 0 }, + { 215, 0x00, 0 }, + { 218, 0x00, 0 }, + { 219, 0x00, 0 }, + { 221, 0x00, 0 }, + { 222, 0x00, 0 }, + { 226, 0x00, 0 }, + { 228, 0x00, 0 }, + { 232, 0x00, 0 }, + { 235, 0x00, 0 }, + { 240, 0x00, 0 }, + { 243, 0x00, 0 }, + { 247, 0x00, 0 }, + { 250, 0x00, 0 }, + }, + /* 208 */ + { + { 0, 0x03, 211 }, + { 0, 0x03, 212 }, + { 0, 0x03, 214 }, + { 0, 0x03, 221 }, + { 0, 0x03, 222 }, + { 0, 0x03, 223 }, + { 0, 0x03, 241 }, + { 0, 0x03, 244 }, + { 0, 0x03, 245 }, + { 0, 0x03, 246 }, + { 0, 0x03, 247 }, + { 0, 0x03, 248 }, + { 0, 0x03, 250 }, + { 0, 0x03, 251 }, + { 0, 0x03, 252 }, + { 0, 0x03, 253 }, + }, + /* 209 */ + { + { 1, 0x02, 211 }, + { 22, 0x03, 211 }, + { 1, 0x02, 212 }, + { 22, 0x03, 212 }, + { 1, 0x02, 214 }, + { 22, 0x03, 214 }, + { 1, 0x02, 221 }, + { 22, 0x03, 221 }, + { 1, 0x02, 222 }, + { 22, 0x03, 222 }, + { 1, 0x02, 223 }, + { 22, 0x03, 223 }, + { 1, 0x02, 241 }, + { 22, 0x03, 241 }, + { 1, 0x02, 244 }, + { 22, 0x03, 244 }, + }, + /* 210 */ + { + { 2, 0x02, 211 }, + { 9, 0x02, 211 }, + { 23, 0x02, 211 }, + { 40, 0x03, 211 }, + { 2, 0x02, 212 }, + { 9, 0x02, 212 }, + { 23, 0x02, 212 }, + { 40, 0x03, 212 }, + { 2, 0x02, 214 }, + { 9, 0x02, 214 }, + { 23, 0x02, 214 }, + { 40, 0x03, 214 }, + { 2, 0x02, 221 }, + { 9, 0x02, 221 }, + { 23, 0x02, 221 }, + { 40, 0x03, 221 }, + }, + /* 211 */ + { + { 3, 0x02, 211 }, + { 6, 0x02, 211 }, + { 10, 0x02, 211 }, + { 15, 0x02, 211 }, + { 24, 0x02, 211 }, + { 31, 0x02, 211 }, + { 41, 0x02, 211 }, + { 56, 0x03, 211 }, + { 3, 0x02, 212 }, + { 6, 0x02, 212 }, + { 10, 0x02, 212 }, + { 15, 0x02, 212 }, + { 24, 0x02, 212 }, + { 31, 0x02, 212 }, + { 41, 0x02, 212 }, + { 56, 0x03, 212 }, + }, + /* 212 */ + { + { 3, 0x02, 214 }, + { 6, 0x02, 214 }, + { 10, 0x02, 214 }, + { 15, 0x02, 214 }, + { 24, 0x02, 214 }, + { 31, 0x02, 214 }, + { 41, 0x02, 214 }, + { 56, 0x03, 214 }, + { 3, 0x02, 221 }, + { 6, 0x02, 221 }, + { 10, 0x02, 221 }, + { 15, 0x02, 221 }, + { 24, 0x02, 221 }, + { 31, 0x02, 221 }, + { 41, 0x02, 221 }, + { 56, 0x03, 221 }, + }, + /* 213 */ + { + { 2, 0x02, 222 }, + { 9, 0x02, 222 }, + { 23, 0x02, 222 }, + { 40, 0x03, 222 }, + { 2, 0x02, 223 }, + { 9, 0x02, 223 }, + { 23, 0x02, 223 }, + { 40, 0x03, 223 }, + { 2, 0x02, 241 }, + { 9, 0x02, 241 }, + { 23, 0x02, 241 }, + { 40, 0x03, 241 }, + { 2, 0x02, 244 }, + { 9, 0x02, 244 }, + { 23, 0x02, 244 }, + { 40, 0x03, 244 }, + }, + /* 214 */ + { + { 3, 0x02, 222 }, + { 6, 0x02, 222 }, + { 10, 0x02, 222 }, + { 15, 0x02, 222 }, + { 24, 0x02, 222 }, + { 31, 0x02, 222 }, + { 41, 0x02, 222 }, + { 56, 0x03, 222 }, + { 3, 0x02, 223 }, + { 6, 0x02, 223 }, + { 10, 0x02, 223 }, + { 15, 0x02, 223 }, + { 24, 0x02, 223 }, + { 31, 0x02, 223 }, + { 41, 0x02, 223 }, + { 56, 0x03, 223 }, + }, + /* 215 */ + { + { 3, 0x02, 241 }, + { 6, 0x02, 241 }, + { 10, 0x02, 241 }, + { 15, 0x02, 241 }, + { 24, 0x02, 241 }, + { 31, 0x02, 241 }, + { 41, 0x02, 241 }, + { 56, 0x03, 241 }, + { 3, 0x02, 244 }, + { 6, 0x02, 244 }, + { 10, 0x02, 244 }, + { 15, 0x02, 244 }, + { 24, 0x02, 244 }, + { 31, 0x02, 244 }, + { 41, 0x02, 244 }, + { 56, 0x03, 244 }, + }, + /* 216 */ + { + { 1, 0x02, 245 }, + { 22, 0x03, 245 }, + { 1, 0x02, 246 }, + { 22, 0x03, 246 }, + { 1, 0x02, 247 }, + { 22, 0x03, 247 }, + { 1, 0x02, 248 }, + { 22, 0x03, 248 }, + { 1, 0x02, 250 }, + { 22, 0x03, 250 }, + { 1, 0x02, 251 }, + { 22, 0x03, 251 }, + { 1, 0x02, 252 }, + { 22, 0x03, 252 }, + { 1, 0x02, 253 }, + { 22, 0x03, 253 }, + }, + /* 217 */ + { + { 2, 0x02, 245 }, + { 9, 0x02, 245 }, + { 23, 0x02, 245 }, + { 40, 0x03, 245 }, + { 2, 0x02, 246 }, + { 9, 0x02, 246 }, + { 23, 0x02, 246 }, + { 40, 0x03, 246 }, + { 2, 0x02, 247 }, + { 9, 0x02, 247 }, + { 23, 0x02, 247 }, + { 40, 0x03, 247 }, + { 2, 0x02, 248 }, + { 9, 0x02, 248 }, + { 23, 0x02, 248 }, + { 40, 0x03, 248 }, + }, + /* 218 */ + { + { 3, 0x02, 245 }, + { 6, 0x02, 245 }, + { 10, 0x02, 245 }, + { 15, 0x02, 245 }, + { 24, 0x02, 245 }, + { 31, 0x02, 245 }, + { 41, 0x02, 245 }, + { 56, 0x03, 245 }, + { 3, 0x02, 246 }, + { 6, 0x02, 246 }, + { 10, 0x02, 246 }, + { 15, 0x02, 246 }, + { 24, 0x02, 246 }, + { 31, 0x02, 246 }, + { 41, 0x02, 246 }, + { 56, 0x03, 246 }, + }, + /* 219 */ + { + { 3, 0x02, 247 }, + { 6, 0x02, 247 }, + { 10, 0x02, 247 }, + { 15, 0x02, 247 }, + { 24, 0x02, 247 }, + { 31, 0x02, 247 }, + { 41, 0x02, 247 }, + { 56, 0x03, 247 }, + { 3, 0x02, 248 }, + { 6, 0x02, 248 }, + { 10, 0x02, 248 }, + { 15, 0x02, 248 }, + { 24, 0x02, 248 }, + { 31, 0x02, 248 }, + { 41, 0x02, 248 }, + { 56, 0x03, 248 }, + }, + /* 220 */ + { + { 2, 0x02, 250 }, + { 9, 0x02, 250 }, + { 23, 0x02, 250 }, + { 40, 0x03, 250 }, + { 2, 0x02, 251 }, + { 9, 0x02, 251 }, + { 23, 0x02, 251 }, + { 40, 0x03, 251 }, + { 2, 0x02, 252 }, + { 9, 0x02, 252 }, + { 23, 0x02, 252 }, + { 40, 0x03, 252 }, + { 2, 0x02, 253 }, + { 9, 0x02, 253 }, + { 23, 0x02, 253 }, + { 40, 0x03, 253 }, + }, + /* 221 */ + { + { 3, 0x02, 250 }, + { 6, 0x02, 250 }, + { 10, 0x02, 250 }, + { 15, 0x02, 250 }, + { 24, 0x02, 250 }, + { 31, 0x02, 250 }, + { 41, 0x02, 250 }, + { 56, 0x03, 250 }, + { 3, 0x02, 251 }, + { 6, 0x02, 251 }, + { 10, 0x02, 251 }, + { 15, 0x02, 251 }, + { 24, 0x02, 251 }, + { 31, 0x02, 251 }, + { 41, 0x02, 251 }, + { 56, 0x03, 251 }, + }, + /* 222 */ + { + { 3, 0x02, 252 }, + { 6, 0x02, 252 }, + { 10, 0x02, 252 }, + { 15, 0x02, 252 }, + { 24, 0x02, 252 }, + { 31, 0x02, 252 }, + { 41, 0x02, 252 }, + { 56, 0x03, 252 }, + { 3, 0x02, 253 }, + { 6, 0x02, 253 }, + { 10, 0x02, 253 }, + { 15, 0x02, 253 }, + { 24, 0x02, 253 }, + { 31, 0x02, 253 }, + { 41, 0x02, 253 }, + { 56, 0x03, 253 }, + }, + /* 223 */ + { + { 0, 0x03, 254 }, + { 227, 0x00, 0 }, + { 229, 0x00, 0 }, + { 230, 0x00, 0 }, + { 233, 0x00, 0 }, + { 234, 0x00, 0 }, + { 236, 0x00, 0 }, + { 237, 0x00, 0 }, + { 241, 0x00, 0 }, + { 242, 0x00, 0 }, + { 244, 0x00, 0 }, + { 245, 0x00, 0 }, + { 248, 0x00, 0 }, + { 249, 0x00, 0 }, + { 251, 0x00, 0 }, + { 252, 0x00, 0 }, + }, + /* 224 */ + { + { 1, 0x02, 254 }, + { 22, 0x03, 254 }, + { 0, 0x03, 2 }, + { 0, 0x03, 3 }, + { 0, 0x03, 4 }, + { 0, 0x03, 5 }, + { 0, 0x03, 6 }, + { 0, 0x03, 7 }, + { 0, 0x03, 8 }, + { 0, 0x03, 11 }, + { 0, 0x03, 12 }, + { 0, 0x03, 14 }, + { 0, 0x03, 15 }, + { 0, 0x03, 16 }, + { 0, 0x03, 17 }, + { 0, 0x03, 18 }, + }, + /* 225 */ + { + { 2, 0x02, 254 }, + { 9, 0x02, 254 }, + { 23, 0x02, 254 }, + { 40, 0x03, 254 }, + { 1, 0x02, 2 }, + { 22, 0x03, 2 }, + { 1, 0x02, 3 }, + { 22, 0x03, 3 }, + { 1, 0x02, 4 }, + { 22, 0x03, 4 }, + { 1, 0x02, 5 }, + { 22, 0x03, 5 }, + { 1, 0x02, 6 }, + { 22, 0x03, 6 }, + { 1, 0x02, 7 }, + { 22, 0x03, 7 }, + }, + /* 226 */ + { + { 3, 0x02, 254 }, + { 6, 0x02, 254 }, + { 10, 0x02, 254 }, + { 15, 0x02, 254 }, + { 24, 0x02, 254 }, + { 31, 0x02, 254 }, + { 41, 0x02, 254 }, + { 56, 0x03, 254 }, + { 2, 0x02, 2 }, + { 9, 0x02, 2 }, + { 23, 0x02, 2 }, + { 40, 0x03, 2 }, + { 2, 0x02, 3 }, + { 9, 0x02, 3 }, + { 23, 0x02, 3 }, + { 40, 0x03, 3 }, + }, + /* 227 */ + { + { 3, 0x02, 2 }, + { 6, 0x02, 2 }, + { 10, 0x02, 2 }, + { 15, 0x02, 2 }, + { 24, 0x02, 2 }, + { 31, 0x02, 2 }, + { 41, 0x02, 2 }, + { 56, 0x03, 2 }, + { 3, 0x02, 3 }, + { 6, 0x02, 3 }, + { 10, 0x02, 3 }, + { 15, 0x02, 3 }, + { 24, 0x02, 3 }, + { 31, 0x02, 3 }, + { 41, 0x02, 3 }, + { 56, 0x03, 3 }, + }, + /* 228 */ + { + { 2, 0x02, 4 }, + { 9, 0x02, 4 }, + { 23, 0x02, 4 }, + { 40, 0x03, 4 }, + { 2, 0x02, 5 }, + { 9, 0x02, 5 }, + { 23, 0x02, 5 }, + { 40, 0x03, 5 }, + { 2, 0x02, 6 }, + { 9, 0x02, 6 }, + { 23, 0x02, 6 }, + { 40, 0x03, 6 }, + { 2, 0x02, 7 }, + { 9, 0x02, 7 }, + { 23, 0x02, 7 }, + { 40, 0x03, 7 }, + }, + /* 229 */ + { + { 3, 0x02, 4 }, + { 6, 0x02, 4 }, + { 10, 0x02, 4 }, + { 15, 0x02, 4 }, + { 24, 0x02, 4 }, + { 31, 0x02, 4 }, + { 41, 0x02, 4 }, + { 56, 0x03, 4 }, + { 3, 0x02, 5 }, + { 6, 0x02, 5 }, + { 10, 0x02, 5 }, + { 15, 0x02, 5 }, + { 24, 0x02, 5 }, + { 31, 0x02, 5 }, + { 41, 0x02, 5 }, + { 56, 0x03, 5 }, + }, + /* 230 */ + { + { 3, 0x02, 6 }, + { 6, 0x02, 6 }, + { 10, 0x02, 6 }, + { 15, 0x02, 6 }, + { 24, 0x02, 6 }, + { 31, 0x02, 6 }, + { 41, 0x02, 6 }, + { 56, 0x03, 6 }, + { 3, 0x02, 7 }, + { 6, 0x02, 7 }, + { 10, 0x02, 7 }, + { 15, 0x02, 7 }, + { 24, 0x02, 7 }, + { 31, 0x02, 7 }, + { 41, 0x02, 7 }, + { 56, 0x03, 7 }, + }, + /* 231 */ + { + { 1, 0x02, 8 }, + { 22, 0x03, 8 }, + { 1, 0x02, 11 }, + { 22, 0x03, 11 }, + { 1, 0x02, 12 }, + { 22, 0x03, 12 }, + { 1, 0x02, 14 }, + { 22, 0x03, 14 }, + { 1, 0x02, 15 }, + { 22, 0x03, 15 }, + { 1, 0x02, 16 }, + { 22, 0x03, 16 }, + { 1, 0x02, 17 }, + { 22, 0x03, 17 }, + { 1, 0x02, 18 }, + { 22, 0x03, 18 }, + }, + /* 232 */ + { + { 2, 0x02, 8 }, + { 9, 0x02, 8 }, + { 23, 0x02, 8 }, + { 40, 0x03, 8 }, + { 2, 0x02, 11 }, + { 9, 0x02, 11 }, + { 23, 0x02, 11 }, + { 40, 0x03, 11 }, + { 2, 0x02, 12 }, + { 9, 0x02, 12 }, + { 23, 0x02, 12 }, + { 40, 0x03, 12 }, + { 2, 0x02, 14 }, + { 9, 0x02, 14 }, + { 23, 0x02, 14 }, + { 40, 0x03, 14 }, + }, + /* 233 */ + { + { 3, 0x02, 8 }, + { 6, 0x02, 8 }, + { 10, 0x02, 8 }, + { 15, 0x02, 8 }, + { 24, 0x02, 8 }, + { 31, 0x02, 8 }, + { 41, 0x02, 8 }, + { 56, 0x03, 8 }, + { 3, 0x02, 11 }, + { 6, 0x02, 11 }, + { 10, 0x02, 11 }, + { 15, 0x02, 11 }, + { 24, 0x02, 11 }, + { 31, 0x02, 11 }, + { 41, 0x02, 11 }, + { 56, 0x03, 11 }, + }, + /* 234 */ + { + { 3, 0x02, 12 }, + { 6, 0x02, 12 }, + { 10, 0x02, 12 }, + { 15, 0x02, 12 }, + { 24, 0x02, 12 }, + { 31, 0x02, 12 }, + { 41, 0x02, 12 }, + { 56, 0x03, 12 }, + { 3, 0x02, 14 }, + { 6, 0x02, 14 }, + { 10, 0x02, 14 }, + { 15, 0x02, 14 }, + { 24, 0x02, 14 }, + { 31, 0x02, 14 }, + { 41, 0x02, 14 }, + { 56, 0x03, 14 }, + }, + /* 235 */ + { + { 2, 0x02, 15 }, + { 9, 0x02, 15 }, + { 23, 0x02, 15 }, + { 40, 0x03, 15 }, + { 2, 0x02, 16 }, + { 9, 0x02, 16 }, + { 23, 0x02, 16 }, + { 40, 0x03, 16 }, + { 2, 0x02, 17 }, + { 9, 0x02, 17 }, + { 23, 0x02, 17 }, + { 40, 0x03, 17 }, + { 2, 0x02, 18 }, + { 9, 0x02, 18 }, + { 23, 0x02, 18 }, + { 40, 0x03, 18 }, + }, + /* 236 */ + { + { 3, 0x02, 15 }, + { 6, 0x02, 15 }, + { 10, 0x02, 15 }, + { 15, 0x02, 15 }, + { 24, 0x02, 15 }, + { 31, 0x02, 15 }, + { 41, 0x02, 15 }, + { 56, 0x03, 15 }, + { 3, 0x02, 16 }, + { 6, 0x02, 16 }, + { 10, 0x02, 16 }, + { 15, 0x02, 16 }, + { 24, 0x02, 16 }, + { 31, 0x02, 16 }, + { 41, 0x02, 16 }, + { 56, 0x03, 16 }, + }, + /* 237 */ + { + { 3, 0x02, 17 }, + { 6, 0x02, 17 }, + { 10, 0x02, 17 }, + { 15, 0x02, 17 }, + { 24, 0x02, 17 }, + { 31, 0x02, 17 }, + { 41, 0x02, 17 }, + { 56, 0x03, 17 }, + { 3, 0x02, 18 }, + { 6, 0x02, 18 }, + { 10, 0x02, 18 }, + { 15, 0x02, 18 }, + { 24, 0x02, 18 }, + { 31, 0x02, 18 }, + { 41, 0x02, 18 }, + { 56, 0x03, 18 }, + }, + /* 238 */ + { + { 0, 0x03, 19 }, + { 0, 0x03, 20 }, + { 0, 0x03, 21 }, + { 0, 0x03, 23 }, + { 0, 0x03, 24 }, + { 0, 0x03, 25 }, + { 0, 0x03, 26 }, + { 0, 0x03, 27 }, + { 0, 0x03, 28 }, + { 0, 0x03, 29 }, + { 0, 0x03, 30 }, + { 0, 0x03, 31 }, + { 0, 0x03, 127 }, + { 0, 0x03, 220 }, + { 0, 0x03, 249 }, + { 253, 0x00, 0 }, + }, + /* 239 */ + { + { 1, 0x02, 19 }, + { 22, 0x03, 19 }, + { 1, 0x02, 20 }, + { 22, 0x03, 20 }, + { 1, 0x02, 21 }, + { 22, 0x03, 21 }, + { 1, 0x02, 23 }, + { 22, 0x03, 23 }, + { 1, 0x02, 24 }, + { 22, 0x03, 24 }, + { 1, 0x02, 25 }, + { 22, 0x03, 25 }, + { 1, 0x02, 26 }, + { 22, 0x03, 26 }, + { 1, 0x02, 27 }, + { 22, 0x03, 27 }, + }, + /* 240 */ + { + { 2, 0x02, 19 }, + { 9, 0x02, 19 }, + { 23, 0x02, 19 }, + { 40, 0x03, 19 }, + { 2, 0x02, 20 }, + { 9, 0x02, 20 }, + { 23, 0x02, 20 }, + { 40, 0x03, 20 }, + { 2, 0x02, 21 }, + { 9, 0x02, 21 }, + { 23, 0x02, 21 }, + { 40, 0x03, 21 }, + { 2, 0x02, 23 }, + { 9, 0x02, 23 }, + { 23, 0x02, 23 }, + { 40, 0x03, 23 }, + }, + /* 241 */ + { + { 3, 0x02, 19 }, + { 6, 0x02, 19 }, + { 10, 0x02, 19 }, + { 15, 0x02, 19 }, + { 24, 0x02, 19 }, + { 31, 0x02, 19 }, + { 41, 0x02, 19 }, + { 56, 0x03, 19 }, + { 3, 0x02, 20 }, + { 6, 0x02, 20 }, + { 10, 0x02, 20 }, + { 15, 0x02, 20 }, + { 24, 0x02, 20 }, + { 31, 0x02, 20 }, + { 41, 0x02, 20 }, + { 56, 0x03, 20 }, + }, + /* 242 */ + { + { 3, 0x02, 21 }, + { 6, 0x02, 21 }, + { 10, 0x02, 21 }, + { 15, 0x02, 21 }, + { 24, 0x02, 21 }, + { 31, 0x02, 21 }, + { 41, 0x02, 21 }, + { 56, 0x03, 21 }, + { 3, 0x02, 23 }, + { 6, 0x02, 23 }, + { 10, 0x02, 23 }, + { 15, 0x02, 23 }, + { 24, 0x02, 23 }, + { 31, 0x02, 23 }, + { 41, 0x02, 23 }, + { 56, 0x03, 23 }, + }, + /* 243 */ + { + { 2, 0x02, 24 }, + { 9, 0x02, 24 }, + { 23, 0x02, 24 }, + { 40, 0x03, 24 }, + { 2, 0x02, 25 }, + { 9, 0x02, 25 }, + { 23, 0x02, 25 }, + { 40, 0x03, 25 }, + { 2, 0x02, 26 }, + { 9, 0x02, 26 }, + { 23, 0x02, 26 }, + { 40, 0x03, 26 }, + { 2, 0x02, 27 }, + { 9, 0x02, 27 }, + { 23, 0x02, 27 }, + { 40, 0x03, 27 }, + }, + /* 244 */ + { + { 3, 0x02, 24 }, + { 6, 0x02, 24 }, + { 10, 0x02, 24 }, + { 15, 0x02, 24 }, + { 24, 0x02, 24 }, + { 31, 0x02, 24 }, + { 41, 0x02, 24 }, + { 56, 0x03, 24 }, + { 3, 0x02, 25 }, + { 6, 0x02, 25 }, + { 10, 0x02, 25 }, + { 15, 0x02, 25 }, + { 24, 0x02, 25 }, + { 31, 0x02, 25 }, + { 41, 0x02, 25 }, + { 56, 0x03, 25 }, + }, + /* 245 */ + { + { 3, 0x02, 26 }, + { 6, 0x02, 26 }, + { 10, 0x02, 26 }, + { 15, 0x02, 26 }, + { 24, 0x02, 26 }, + { 31, 0x02, 26 }, + { 41, 0x02, 26 }, + { 56, 0x03, 26 }, + { 3, 0x02, 27 }, + { 6, 0x02, 27 }, + { 10, 0x02, 27 }, + { 15, 0x02, 27 }, + { 24, 0x02, 27 }, + { 31, 0x02, 27 }, + { 41, 0x02, 27 }, + { 56, 0x03, 27 }, + }, + /* 246 */ + { + { 1, 0x02, 28 }, + { 22, 0x03, 28 }, + { 1, 0x02, 29 }, + { 22, 0x03, 29 }, + { 1, 0x02, 30 }, + { 22, 0x03, 30 }, + { 1, 0x02, 31 }, + { 22, 0x03, 31 }, + { 1, 0x02, 127 }, + { 22, 0x03, 127 }, + { 1, 0x02, 220 }, + { 22, 0x03, 220 }, + { 1, 0x02, 249 }, + { 22, 0x03, 249 }, + { 254, 0x00, 0 }, + { 255, 0x00, 0 }, + }, + /* 247 */ + { + { 2, 0x02, 28 }, + { 9, 0x02, 28 }, + { 23, 0x02, 28 }, + { 40, 0x03, 28 }, + { 2, 0x02, 29 }, + { 9, 0x02, 29 }, + { 23, 0x02, 29 }, + { 40, 0x03, 29 }, + { 2, 0x02, 30 }, + { 9, 0x02, 30 }, + { 23, 0x02, 30 }, + { 40, 0x03, 30 }, + { 2, 0x02, 31 }, + { 9, 0x02, 31 }, + { 23, 0x02, 31 }, + { 40, 0x03, 31 }, + }, + /* 248 */ + { + { 3, 0x02, 28 }, + { 6, 0x02, 28 }, + { 10, 0x02, 28 }, + { 15, 0x02, 28 }, + { 24, 0x02, 28 }, + { 31, 0x02, 28 }, + { 41, 0x02, 28 }, + { 56, 0x03, 28 }, + { 3, 0x02, 29 }, + { 6, 0x02, 29 }, + { 10, 0x02, 29 }, + { 15, 0x02, 29 }, + { 24, 0x02, 29 }, + { 31, 0x02, 29 }, + { 41, 0x02, 29 }, + { 56, 0x03, 29 }, + }, + /* 249 */ + { + { 3, 0x02, 30 }, + { 6, 0x02, 30 }, + { 10, 0x02, 30 }, + { 15, 0x02, 30 }, + { 24, 0x02, 30 }, + { 31, 0x02, 30 }, + { 41, 0x02, 30 }, + { 56, 0x03, 30 }, + { 3, 0x02, 31 }, + { 6, 0x02, 31 }, + { 10, 0x02, 31 }, + { 15, 0x02, 31 }, + { 24, 0x02, 31 }, + { 31, 0x02, 31 }, + { 41, 0x02, 31 }, + { 56, 0x03, 31 }, + }, + /* 250 */ + { + { 2, 0x02, 127 }, + { 9, 0x02, 127 }, + { 23, 0x02, 127 }, + { 40, 0x03, 127 }, + { 2, 0x02, 220 }, + { 9, 0x02, 220 }, + { 23, 0x02, 220 }, + { 40, 0x03, 220 }, + { 2, 0x02, 249 }, + { 9, 0x02, 249 }, + { 23, 0x02, 249 }, + { 40, 0x03, 249 }, + { 0, 0x03, 10 }, + { 0, 0x03, 13 }, + { 0, 0x03, 22 }, + { 0, 0x04, 0 }, + }, + /* 251 */ + { + { 3, 0x02, 127 }, + { 6, 0x02, 127 }, + { 10, 0x02, 127 }, + { 15, 0x02, 127 }, + { 24, 0x02, 127 }, + { 31, 0x02, 127 }, + { 41, 0x02, 127 }, + { 56, 0x03, 127 }, + { 3, 0x02, 220 }, + { 6, 0x02, 220 }, + { 10, 0x02, 220 }, + { 15, 0x02, 220 }, + { 24, 0x02, 220 }, + { 31, 0x02, 220 }, + { 41, 0x02, 220 }, + { 56, 0x03, 220 }, + }, + /* 252 */ + { + { 3, 0x02, 249 }, + { 6, 0x02, 249 }, + { 10, 0x02, 249 }, + { 15, 0x02, 249 }, + { 24, 0x02, 249 }, + { 31, 0x02, 249 }, + { 41, 0x02, 249 }, + { 56, 0x03, 249 }, + { 1, 0x02, 10 }, + { 22, 0x03, 10 }, + { 1, 0x02, 13 }, + { 22, 0x03, 13 }, + { 1, 0x02, 22 }, + { 22, 0x03, 22 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + }, + /* 253 */ + { + { 2, 0x02, 10 }, + { 9, 0x02, 10 }, + { 23, 0x02, 10 }, + { 40, 0x03, 10 }, + { 2, 0x02, 13 }, + { 9, 0x02, 13 }, + { 23, 0x02, 13 }, + { 40, 0x03, 13 }, + { 2, 0x02, 22 }, + { 9, 0x02, 22 }, + { 23, 0x02, 22 }, + { 40, 0x03, 22 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + }, + /* 254 */ + { + { 3, 0x02, 10 }, + { 6, 0x02, 10 }, + { 10, 0x02, 10 }, + { 15, 0x02, 10 }, + { 24, 0x02, 10 }, + { 31, 0x02, 10 }, + { 41, 0x02, 10 }, + { 56, 0x03, 10 }, + { 3, 0x02, 13 }, + { 6, 0x02, 13 }, + { 10, 0x02, 13 }, + { 15, 0x02, 13 }, + { 24, 0x02, 13 }, + { 31, 0x02, 13 }, + { 41, 0x02, 13 }, + { 56, 0x03, 13 }, + }, + /* 255 */ + { + { 3, 0x02, 22 }, + { 6, 0x02, 22 }, + { 10, 0x02, 22 }, + { 15, 0x02, 22 }, + { 24, 0x02, 22 }, + { 31, 0x02, 22 }, + { 41, 0x02, 22 }, + { 56, 0x03, 22 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + }, +}; + +#if LS_QPACK_USE_LARGE_TABLES +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define I(i,j) ((j<<8)|i) +#else +#define I(i,j) ((i<<8)|j) +#endif +/* On 32-bit platforms the longest code would cause undefined behavior + * when `bits' is shifted (you can't shift 32-bit value by 32 bits). + * Setting this value to 64 make the entry invalid and forces the encoder + * to use the slower loop. In other words, the longest output sequence + * is 32 bits on 64-bit platforms and 31 bits on 32-bit platforms. + */ +#if UINTPTR_MAX == 18446744073709551615ull +#define X32 32 +#else +#define X32 64 +#endif +static const struct henc { unsigned lens; uint32_t code; } hencs[] = +{ + [I(0,0)] = {26,0x3FF1FF8}, + [I(1,0)] = {64,0}, + [I(2,0)] = {64,0}, + [I(3,0)] = {64,0}, + [I(4,0)] = {64,0}, + [I(5,0)] = {64,0}, + [I(6,0)] = {64,0}, + [I(7,0)] = {64,0}, + [I(8,0)] = {64,0}, + [I(9,0)] = {64,0}, + [I(10,0)] = {64,0}, + [I(11,0)] = {64,0}, + [I(12,0)] = {64,0}, + [I(13,0)] = {64,0}, + [I(14,0)] = {64,0}, + [I(15,0)] = {64,0}, + [I(16,0)] = {64,0}, + [I(17,0)] = {64,0}, + [I(18,0)] = {64,0}, + [I(19,0)] = {64,0}, + [I(20,0)] = {64,0}, + [I(21,0)] = {64,0}, + [I(22,0)] = {64,0}, + [I(23,0)] = {64,0}, + [I(24,0)] = {64,0}, + [I(25,0)] = {64,0}, + [I(26,0)] = {64,0}, + [I(27,0)] = {64,0}, + [I(28,0)] = {64,0}, + [I(29,0)] = {64,0}, + [I(30,0)] = {64,0}, + [I(31,0)] = {64,0}, + [I(32,0)] = {19,0x29FF8}, + [I(33,0)] = {23,0x7F1FF8}, + [I(34,0)] = {23,0x7F3FF8}, + [I(35,0)] = {25,0x1FF5FF8}, + [I(36,0)] = {26,0x3FF3FF8}, + [I(37,0)] = {19,0x2BFF8}, + [I(38,0)] = {21,0x1F1FF8}, + [I(39,0)] = {24,0xFF5FF8}, + [I(40,0)] = {23,0x7F5FF8}, + [I(41,0)] = {23,0x7F7FF8}, + [I(42,0)] = {21,0x1F3FF8}, + [I(43,0)] = {24,0xFF7FF8}, + [I(44,0)] = {21,0x1F5FF8}, + [I(45,0)] = {19,0x2DFF8}, + [I(46,0)] = {19,0x2FFF8}, + [I(47,0)] = {19,0x31FF8}, + [I(48,0)] = {18,0x1FF8}, + [I(49,0)] = {18,0x3FF8}, + [I(50,0)] = {18,0x5FF8}, + [I(51,0)] = {19,0x33FF8}, + [I(52,0)] = {19,0x35FF8}, + [I(53,0)] = {19,0x37FF8}, + [I(54,0)] = {19,0x39FF8}, + [I(55,0)] = {19,0x3BFF8}, + [I(56,0)] = {19,0x3DFF8}, + [I(57,0)] = {19,0x3FFF8}, + [I(58,0)] = {20,0xB9FF8}, + [I(59,0)] = {21,0x1F7FF8}, + [I(60,0)] = {28,0xFFF9FF8}, + [I(61,0)] = {19,0x41FF8}, + [I(62,0)] = {25,0x1FF7FF8}, + [I(63,0)] = {23,0x7F9FF8}, + [I(64,0)] = {26,0x3FF5FF8}, + [I(65,0)] = {19,0x43FF8}, + [I(66,0)] = {20,0xBBFF8}, + [I(67,0)] = {20,0xBDFF8}, + [I(68,0)] = {20,0xBFFF8}, + [I(69,0)] = {20,0xC1FF8}, + [I(70,0)] = {20,0xC3FF8}, + [I(71,0)] = {20,0xC5FF8}, + [I(72,0)] = {20,0xC7FF8}, + [I(73,0)] = {20,0xC9FF8}, + [I(74,0)] = {20,0xCBFF8}, + [I(75,0)] = {20,0xCDFF8}, + [I(76,0)] = {20,0xCFFF8}, + [I(77,0)] = {20,0xD1FF8}, + [I(78,0)] = {20,0xD3FF8}, + [I(79,0)] = {20,0xD5FF8}, + [I(80,0)] = {20,0xD7FF8}, + [I(81,0)] = {20,0xD9FF8}, + [I(82,0)] = {20,0xDBFF8}, + [I(83,0)] = {20,0xDDFF8}, + [I(84,0)] = {20,0xDFFF8}, + [I(85,0)] = {20,0xE1FF8}, + [I(86,0)] = {20,0xE3FF8}, + [I(87,0)] = {20,0xE5FF8}, + [I(88,0)] = {21,0x1F9FF8}, + [I(89,0)] = {20,0xE7FF8}, + [I(90,0)] = {21,0x1FBFF8}, + [I(91,0)] = {26,0x3FF7FF8}, + [I(92,0)] = {X32,0xFFFE1FF8}, + [I(93,0)] = {26,0x3FF9FF8}, + [I(94,0)] = {27,0x7FF9FF8}, + [I(95,0)] = {19,0x45FF8}, + [I(96,0)] = {28,0xFFFBFF8}, + [I(97,0)] = {18,0x7FF8}, + [I(98,0)] = {19,0x47FF8}, + [I(99,0)] = {18,0x9FF8}, + [I(100,0)] = {19,0x49FF8}, + [I(101,0)] = {18,0xBFF8}, + [I(102,0)] = {19,0x4BFF8}, + [I(103,0)] = {19,0x4DFF8}, + [I(104,0)] = {19,0x4FFF8}, + [I(105,0)] = {18,0xDFF8}, + [I(106,0)] = {20,0xE9FF8}, + [I(107,0)] = {20,0xEBFF8}, + [I(108,0)] = {19,0x51FF8}, + [I(109,0)] = {19,0x53FF8}, + [I(110,0)] = {19,0x55FF8}, + [I(111,0)] = {18,0xFFF8}, + [I(112,0)] = {19,0x57FF8}, + [I(113,0)] = {20,0xEDFF8}, + [I(114,0)] = {19,0x59FF8}, + [I(115,0)] = {18,0x11FF8}, + [I(116,0)] = {18,0x13FF8}, + [I(117,0)] = {19,0x5BFF8}, + [I(118,0)] = {20,0xEFFF8}, + [I(119,0)] = {20,0xF1FF8}, + [I(120,0)] = {20,0xF3FF8}, + [I(121,0)] = {20,0xF5FF8}, + [I(122,0)] = {20,0xF7FF8}, + [I(123,0)] = {28,0xFFFDFF8}, + [I(124,0)] = {24,0xFF9FF8}, + [I(125,0)] = {27,0x7FFBFF8}, + [I(126,0)] = {26,0x3FFBFF8}, + [I(127,0)] = {64,0}, + [I(128,0)] = {64,0}, + [I(129,0)] = {64,0}, + [I(130,0)] = {64,0}, + [I(131,0)] = {64,0}, + [I(132,0)] = {64,0}, + [I(133,0)] = {64,0}, + [I(134,0)] = {64,0}, + [I(135,0)] = {64,0}, + [I(136,0)] = {64,0}, + [I(137,0)] = {64,0}, + [I(138,0)] = {64,0}, + [I(139,0)] = {64,0}, + [I(140,0)] = {64,0}, + [I(141,0)] = {64,0}, + [I(142,0)] = {64,0}, + [I(143,0)] = {64,0}, + [I(144,0)] = {64,0}, + [I(145,0)] = {64,0}, + [I(146,0)] = {64,0}, + [I(147,0)] = {64,0}, + [I(148,0)] = {64,0}, + [I(149,0)] = {64,0}, + [I(150,0)] = {64,0}, + [I(151,0)] = {64,0}, + [I(152,0)] = {64,0}, + [I(153,0)] = {64,0}, + [I(154,0)] = {64,0}, + [I(155,0)] = {64,0}, + [I(156,0)] = {64,0}, + [I(157,0)] = {64,0}, + [I(158,0)] = {64,0}, + [I(159,0)] = {64,0}, + [I(160,0)] = {64,0}, + [I(161,0)] = {64,0}, + [I(162,0)] = {64,0}, + [I(163,0)] = {64,0}, + [I(164,0)] = {64,0}, + [I(165,0)] = {64,0}, + [I(166,0)] = {64,0}, + [I(167,0)] = {64,0}, + [I(168,0)] = {64,0}, + [I(169,0)] = {64,0}, + [I(170,0)] = {64,0}, + [I(171,0)] = {64,0}, + [I(172,0)] = {64,0}, + [I(173,0)] = {64,0}, + [I(174,0)] = {64,0}, + [I(175,0)] = {64,0}, + [I(176,0)] = {64,0}, + [I(177,0)] = {64,0}, + [I(178,0)] = {64,0}, + [I(179,0)] = {64,0}, + [I(180,0)] = {64,0}, + [I(181,0)] = {64,0}, + [I(182,0)] = {64,0}, + [I(183,0)] = {64,0}, + [I(184,0)] = {64,0}, + [I(185,0)] = {64,0}, + [I(186,0)] = {64,0}, + [I(187,0)] = {64,0}, + [I(188,0)] = {64,0}, + [I(189,0)] = {64,0}, + [I(190,0)] = {64,0}, + [I(191,0)] = {64,0}, + [I(192,0)] = {64,0}, + [I(193,0)] = {64,0}, + [I(194,0)] = {64,0}, + [I(195,0)] = {X32,0xFFFE3FF8}, + [I(196,0)] = {64,0}, + [I(197,0)] = {64,0}, + [I(198,0)] = {64,0}, + [I(199,0)] = {64,0}, + [I(200,0)] = {64,0}, + [I(201,0)] = {64,0}, + [I(202,0)] = {64,0}, + [I(203,0)] = {64,0}, + [I(204,0)] = {64,0}, + [I(205,0)] = {64,0}, + [I(206,0)] = {64,0}, + [I(207,0)] = {64,0}, + [I(208,0)] = {X32,0xFFFE5FF8}, + [I(209,0)] = {64,0}, + [I(210,0)] = {64,0}, + [I(211,0)] = {64,0}, + [I(212,0)] = {64,0}, + [I(213,0)] = {64,0}, + [I(214,0)] = {64,0}, + [I(215,0)] = {64,0}, + [I(216,0)] = {64,0}, + [I(217,0)] = {64,0}, + [I(218,0)] = {64,0}, + [I(219,0)] = {64,0}, + [I(220,0)] = {64,0}, + [I(221,0)] = {64,0}, + [I(222,0)] = {64,0}, + [I(223,0)] = {64,0}, + [I(224,0)] = {64,0}, + [I(225,0)] = {64,0}, + [I(226,0)] = {64,0}, + [I(227,0)] = {64,0}, + [I(228,0)] = {64,0}, + [I(229,0)] = {64,0}, + [I(230,0)] = {64,0}, + [I(231,0)] = {64,0}, + [I(232,0)] = {64,0}, + [I(233,0)] = {64,0}, + [I(234,0)] = {64,0}, + [I(235,0)] = {64,0}, + [I(236,0)] = {64,0}, + [I(237,0)] = {64,0}, + [I(238,0)] = {64,0}, + [I(239,0)] = {64,0}, + [I(240,0)] = {64,0}, + [I(241,0)] = {64,0}, + [I(242,0)] = {64,0}, + [I(243,0)] = {64,0}, + [I(244,0)] = {64,0}, + [I(245,0)] = {64,0}, + [I(246,0)] = {64,0}, + [I(247,0)] = {64,0}, + [I(248,0)] = {64,0}, + [I(249,0)] = {64,0}, + [I(250,0)] = {64,0}, + [I(251,0)] = {64,0}, + [I(252,0)] = {64,0}, + [I(253,0)] = {64,0}, + [I(254,0)] = {64,0}, + [I(255,0)] = {64,0}, + [I(0,1)] = {64,0}, + [I(1,1)] = {64,0}, + [I(2,1)] = {64,0}, + [I(3,1)] = {64,0}, + [I(4,1)] = {64,0}, + [I(5,1)] = {64,0}, + [I(6,1)] = {64,0}, + [I(7,1)] = {64,0}, + [I(8,1)] = {64,0}, + [I(9,1)] = {64,0}, + [I(10,1)] = {64,0}, + [I(11,1)] = {64,0}, + [I(12,1)] = {64,0}, + [I(13,1)] = {64,0}, + [I(14,1)] = {64,0}, + [I(15,1)] = {64,0}, + [I(16,1)] = {64,0}, + [I(17,1)] = {64,0}, + [I(18,1)] = {64,0}, + [I(19,1)] = {64,0}, + [I(20,1)] = {64,0}, + [I(21,1)] = {64,0}, + [I(22,1)] = {64,0}, + [I(23,1)] = {64,0}, + [I(24,1)] = {64,0}, + [I(25,1)] = {64,0}, + [I(26,1)] = {64,0}, + [I(27,1)] = {64,0}, + [I(28,1)] = {64,0}, + [I(29,1)] = {64,0}, + [I(30,1)] = {64,0}, + [I(31,1)] = {64,0}, + [I(32,1)] = {29,0xA7FFFD8}, + [I(33,1)] = {64,0}, + [I(34,1)] = {64,0}, + [I(35,1)] = {64,0}, + [I(36,1)] = {64,0}, + [I(37,1)] = {29,0xAFFFFD8}, + [I(38,1)] = {31,0x7C7FFFD8}, + [I(39,1)] = {64,0}, + [I(40,1)] = {64,0}, + [I(41,1)] = {64,0}, + [I(42,1)] = {31,0x7CFFFFD8}, + [I(43,1)] = {64,0}, + [I(44,1)] = {31,0x7D7FFFD8}, + [I(45,1)] = {29,0xB7FFFD8}, + [I(46,1)] = {29,0xBFFFFD8}, + [I(47,1)] = {29,0xC7FFFD8}, + [I(48,1)] = {28,0x7FFFD8}, + [I(49,1)] = {28,0xFFFFD8}, + [I(50,1)] = {28,0x17FFFD8}, + [I(51,1)] = {29,0xCFFFFD8}, + [I(52,1)] = {29,0xD7FFFD8}, + [I(53,1)] = {29,0xDFFFFD8}, + [I(54,1)] = {29,0xE7FFFD8}, + [I(55,1)] = {29,0xEFFFFD8}, + [I(56,1)] = {29,0xF7FFFD8}, + [I(57,1)] = {29,0xFFFFFD8}, + [I(58,1)] = {30,0x2E7FFFD8}, + [I(59,1)] = {31,0x7DFFFFD8}, + [I(60,1)] = {64,0}, + [I(61,1)] = {29,0x107FFFD8}, + [I(62,1)] = {64,0}, + [I(63,1)] = {64,0}, + [I(64,1)] = {64,0}, + [I(65,1)] = {29,0x10FFFFD8}, + [I(66,1)] = {30,0x2EFFFFD8}, + [I(67,1)] = {30,0x2F7FFFD8}, + [I(68,1)] = {30,0x2FFFFFD8}, + [I(69,1)] = {30,0x307FFFD8}, + [I(70,1)] = {30,0x30FFFFD8}, + [I(71,1)] = {30,0x317FFFD8}, + [I(72,1)] = {30,0x31FFFFD8}, + [I(73,1)] = {30,0x327FFFD8}, + [I(74,1)] = {30,0x32FFFFD8}, + [I(75,1)] = {30,0x337FFFD8}, + [I(76,1)] = {30,0x33FFFFD8}, + [I(77,1)] = {30,0x347FFFD8}, + [I(78,1)] = {30,0x34FFFFD8}, + [I(79,1)] = {30,0x357FFFD8}, + [I(80,1)] = {30,0x35FFFFD8}, + [I(81,1)] = {30,0x367FFFD8}, + [I(82,1)] = {30,0x36FFFFD8}, + [I(83,1)] = {30,0x377FFFD8}, + [I(84,1)] = {30,0x37FFFFD8}, + [I(85,1)] = {30,0x387FFFD8}, + [I(86,1)] = {30,0x38FFFFD8}, + [I(87,1)] = {30,0x397FFFD8}, + [I(88,1)] = {31,0x7E7FFFD8}, + [I(89,1)] = {30,0x39FFFFD8}, + [I(90,1)] = {31,0x7EFFFFD8}, + [I(91,1)] = {64,0}, + [I(92,1)] = {64,0}, + [I(93,1)] = {64,0}, + [I(94,1)] = {64,0}, + [I(95,1)] = {29,0x117FFFD8}, + [I(96,1)] = {64,0}, + [I(97,1)] = {28,0x1FFFFD8}, + [I(98,1)] = {29,0x11FFFFD8}, + [I(99,1)] = {28,0x27FFFD8}, + [I(100,1)] = {29,0x127FFFD8}, + [I(101,1)] = {28,0x2FFFFD8}, + [I(102,1)] = {29,0x12FFFFD8}, + [I(103,1)] = {29,0x137FFFD8}, + [I(104,1)] = {29,0x13FFFFD8}, + [I(105,1)] = {28,0x37FFFD8}, + [I(106,1)] = {30,0x3A7FFFD8}, + [I(107,1)] = {30,0x3AFFFFD8}, + [I(108,1)] = {29,0x147FFFD8}, + [I(109,1)] = {29,0x14FFFFD8}, + [I(110,1)] = {29,0x157FFFD8}, + [I(111,1)] = {28,0x3FFFFD8}, + [I(112,1)] = {29,0x15FFFFD8}, + [I(113,1)] = {30,0x3B7FFFD8}, + [I(114,1)] = {29,0x167FFFD8}, + [I(115,1)] = {28,0x47FFFD8}, + [I(116,1)] = {28,0x4FFFFD8}, + [I(117,1)] = {29,0x16FFFFD8}, + [I(118,1)] = {30,0x3BFFFFD8}, + [I(119,1)] = {30,0x3C7FFFD8}, + [I(120,1)] = {30,0x3CFFFFD8}, + [I(121,1)] = {30,0x3D7FFFD8}, + [I(122,1)] = {30,0x3DFFFFD8}, + [I(123,1)] = {64,0}, + [I(124,1)] = {64,0}, + [I(125,1)] = {64,0}, + [I(126,1)] = {64,0}, + [I(127,1)] = {64,0}, + [I(128,1)] = {64,0}, + [I(129,1)] = {64,0}, + [I(130,1)] = {64,0}, + [I(131,1)] = {64,0}, + [I(132,1)] = {64,0}, + [I(133,1)] = {64,0}, + [I(134,1)] = {64,0}, + [I(135,1)] = {64,0}, + [I(136,1)] = {64,0}, + [I(137,1)] = {64,0}, + [I(138,1)] = {64,0}, + [I(139,1)] = {64,0}, + [I(140,1)] = {64,0}, + [I(141,1)] = {64,0}, + [I(142,1)] = {64,0}, + [I(143,1)] = {64,0}, + [I(144,1)] = {64,0}, + [I(145,1)] = {64,0}, + [I(146,1)] = {64,0}, + [I(147,1)] = {64,0}, + [I(148,1)] = {64,0}, + [I(149,1)] = {64,0}, + [I(150,1)] = {64,0}, + [I(151,1)] = {64,0}, + [I(152,1)] = {64,0}, + [I(153,1)] = {64,0}, + [I(154,1)] = {64,0}, + [I(155,1)] = {64,0}, + [I(156,1)] = {64,0}, + [I(157,1)] = {64,0}, + [I(158,1)] = {64,0}, + [I(159,1)] = {64,0}, + [I(160,1)] = {64,0}, + [I(161,1)] = {64,0}, + [I(162,1)] = {64,0}, + [I(163,1)] = {64,0}, + [I(164,1)] = {64,0}, + [I(165,1)] = {64,0}, + [I(166,1)] = {64,0}, + [I(167,1)] = {64,0}, + [I(168,1)] = {64,0}, + [I(169,1)] = {64,0}, + [I(170,1)] = {64,0}, + [I(171,1)] = {64,0}, + [I(172,1)] = {64,0}, + [I(173,1)] = {64,0}, + [I(174,1)] = {64,0}, + [I(175,1)] = {64,0}, + [I(176,1)] = {64,0}, + [I(177,1)] = {64,0}, + [I(178,1)] = {64,0}, + [I(179,1)] = {64,0}, + [I(180,1)] = {64,0}, + [I(181,1)] = {64,0}, + [I(182,1)] = {64,0}, + [I(183,1)] = {64,0}, + [I(184,1)] = {64,0}, + [I(185,1)] = {64,0}, + [I(186,1)] = {64,0}, + [I(187,1)] = {64,0}, + [I(188,1)] = {64,0}, + [I(189,1)] = {64,0}, + [I(190,1)] = {64,0}, + [I(191,1)] = {64,0}, + [I(192,1)] = {64,0}, + [I(193,1)] = {64,0}, + [I(194,1)] = {64,0}, + [I(195,1)] = {64,0}, + [I(196,1)] = {64,0}, + [I(197,1)] = {64,0}, + [I(198,1)] = {64,0}, + [I(199,1)] = {64,0}, + [I(200,1)] = {64,0}, + [I(201,1)] = {64,0}, + [I(202,1)] = {64,0}, + [I(203,1)] = {64,0}, + [I(204,1)] = {64,0}, + [I(205,1)] = {64,0}, + [I(206,1)] = {64,0}, + [I(207,1)] = {64,0}, + [I(208,1)] = {64,0}, + [I(209,1)] = {64,0}, + [I(210,1)] = {64,0}, + [I(211,1)] = {64,0}, + [I(212,1)] = {64,0}, + [I(213,1)] = {64,0}, + [I(214,1)] = {64,0}, + [I(215,1)] = {64,0}, + [I(216,1)] = {64,0}, + [I(217,1)] = {64,0}, + [I(218,1)] = {64,0}, + [I(219,1)] = {64,0}, + [I(220,1)] = {64,0}, + [I(221,1)] = {64,0}, + [I(222,1)] = {64,0}, + [I(223,1)] = {64,0}, + [I(224,1)] = {64,0}, + [I(225,1)] = {64,0}, + [I(226,1)] = {64,0}, + [I(227,1)] = {64,0}, + [I(228,1)] = {64,0}, + [I(229,1)] = {64,0}, + [I(230,1)] = {64,0}, + [I(231,1)] = {64,0}, + [I(232,1)] = {64,0}, + [I(233,1)] = {64,0}, + [I(234,1)] = {64,0}, + [I(235,1)] = {64,0}, + [I(236,1)] = {64,0}, + [I(237,1)] = {64,0}, + [I(238,1)] = {64,0}, + [I(239,1)] = {64,0}, + [I(240,1)] = {64,0}, + [I(241,1)] = {64,0}, + [I(242,1)] = {64,0}, + [I(243,1)] = {64,0}, + [I(244,1)] = {64,0}, + [I(245,1)] = {64,0}, + [I(246,1)] = {64,0}, + [I(247,1)] = {64,0}, + [I(248,1)] = {64,0}, + [I(249,1)] = {64,0}, + [I(250,1)] = {64,0}, + [I(251,1)] = {64,0}, + [I(252,1)] = {64,0}, + [I(253,1)] = {64,0}, + [I(254,1)] = {64,0}, + [I(255,1)] = {64,0}, + [I(0,2)] = {64,0}, + [I(1,2)] = {64,0}, + [I(2,2)] = {64,0}, + [I(3,2)] = {64,0}, + [I(4,2)] = {64,0}, + [I(5,2)] = {64,0}, + [I(6,2)] = {64,0}, + [I(7,2)] = {64,0}, + [I(8,2)] = {64,0}, + [I(9,2)] = {64,0}, + [I(10,2)] = {64,0}, + [I(11,2)] = {64,0}, + [I(12,2)] = {64,0}, + [I(13,2)] = {64,0}, + [I(14,2)] = {64,0}, + [I(15,2)] = {64,0}, + [I(16,2)] = {64,0}, + [I(17,2)] = {64,0}, + [I(18,2)] = {64,0}, + [I(19,2)] = {64,0}, + [I(20,2)] = {64,0}, + [I(21,2)] = {64,0}, + [I(22,2)] = {64,0}, + [I(23,2)] = {64,0}, + [I(24,2)] = {64,0}, + [I(25,2)] = {64,0}, + [I(26,2)] = {64,0}, + [I(27,2)] = {64,0}, + [I(28,2)] = {64,0}, + [I(29,2)] = {64,0}, + [I(30,2)] = {64,0}, + [I(31,2)] = {64,0}, + [I(32,2)] = {64,0}, + [I(33,2)] = {64,0}, + [I(34,2)] = {64,0}, + [I(35,2)] = {64,0}, + [I(36,2)] = {64,0}, + [I(37,2)] = {64,0}, + [I(38,2)] = {64,0}, + [I(39,2)] = {64,0}, + [I(40,2)] = {64,0}, + [I(41,2)] = {64,0}, + [I(42,2)] = {64,0}, + [I(43,2)] = {64,0}, + [I(44,2)] = {64,0}, + [I(45,2)] = {64,0}, + [I(46,2)] = {64,0}, + [I(47,2)] = {64,0}, + [I(48,2)] = {64,0}, + [I(49,2)] = {64,0}, + [I(50,2)] = {64,0}, + [I(51,2)] = {64,0}, + [I(52,2)] = {64,0}, + [I(53,2)] = {64,0}, + [I(54,2)] = {64,0}, + [I(55,2)] = {64,0}, + [I(56,2)] = {64,0}, + [I(57,2)] = {64,0}, + [I(58,2)] = {64,0}, + [I(59,2)] = {64,0}, + [I(60,2)] = {64,0}, + [I(61,2)] = {64,0}, + [I(62,2)] = {64,0}, + [I(63,2)] = {64,0}, + [I(64,2)] = {64,0}, + [I(65,2)] = {64,0}, + [I(66,2)] = {64,0}, + [I(67,2)] = {64,0}, + [I(68,2)] = {64,0}, + [I(69,2)] = {64,0}, + [I(70,2)] = {64,0}, + [I(71,2)] = {64,0}, + [I(72,2)] = {64,0}, + [I(73,2)] = {64,0}, + [I(74,2)] = {64,0}, + [I(75,2)] = {64,0}, + [I(76,2)] = {64,0}, + [I(77,2)] = {64,0}, + [I(78,2)] = {64,0}, + [I(79,2)] = {64,0}, + [I(80,2)] = {64,0}, + [I(81,2)] = {64,0}, + [I(82,2)] = {64,0}, + [I(83,2)] = {64,0}, + [I(84,2)] = {64,0}, + [I(85,2)] = {64,0}, + [I(86,2)] = {64,0}, + [I(87,2)] = {64,0}, + [I(88,2)] = {64,0}, + [I(89,2)] = {64,0}, + [I(90,2)] = {64,0}, + [I(91,2)] = {64,0}, + [I(92,2)] = {64,0}, + [I(93,2)] = {64,0}, + [I(94,2)] = {64,0}, + [I(95,2)] = {64,0}, + [I(96,2)] = {64,0}, + [I(97,2)] = {64,0}, + [I(98,2)] = {64,0}, + [I(99,2)] = {64,0}, + [I(100,2)] = {64,0}, + [I(101,2)] = {64,0}, + [I(102,2)] = {64,0}, + [I(103,2)] = {64,0}, + [I(104,2)] = {64,0}, + [I(105,2)] = {64,0}, + [I(106,2)] = {64,0}, + [I(107,2)] = {64,0}, + [I(108,2)] = {64,0}, + [I(109,2)] = {64,0}, + [I(110,2)] = {64,0}, + [I(111,2)] = {64,0}, + [I(112,2)] = {64,0}, + [I(113,2)] = {64,0}, + [I(114,2)] = {64,0}, + [I(115,2)] = {64,0}, + [I(116,2)] = {64,0}, + [I(117,2)] = {64,0}, + [I(118,2)] = {64,0}, + [I(119,2)] = {64,0}, + [I(120,2)] = {64,0}, + [I(121,2)] = {64,0}, + [I(122,2)] = {64,0}, + [I(123,2)] = {64,0}, + [I(124,2)] = {64,0}, + [I(125,2)] = {64,0}, + [I(126,2)] = {64,0}, + [I(127,2)] = {64,0}, + [I(128,2)] = {64,0}, + [I(129,2)] = {64,0}, + [I(130,2)] = {64,0}, + [I(131,2)] = {64,0}, + [I(132,2)] = {64,0}, + [I(133,2)] = {64,0}, + [I(134,2)] = {64,0}, + [I(135,2)] = {64,0}, + [I(136,2)] = {64,0}, + [I(137,2)] = {64,0}, + [I(138,2)] = {64,0}, + [I(139,2)] = {64,0}, + [I(140,2)] = {64,0}, + [I(141,2)] = {64,0}, + [I(142,2)] = {64,0}, + [I(143,2)] = {64,0}, + [I(144,2)] = {64,0}, + [I(145,2)] = {64,0}, + [I(146,2)] = {64,0}, + [I(147,2)] = {64,0}, + [I(148,2)] = {64,0}, + [I(149,2)] = {64,0}, + [I(150,2)] = {64,0}, + [I(151,2)] = {64,0}, + [I(152,2)] = {64,0}, + [I(153,2)] = {64,0}, + [I(154,2)] = {64,0}, + [I(155,2)] = {64,0}, + [I(156,2)] = {64,0}, + [I(157,2)] = {64,0}, + [I(158,2)] = {64,0}, + [I(159,2)] = {64,0}, + [I(160,2)] = {64,0}, + [I(161,2)] = {64,0}, + [I(162,2)] = {64,0}, + [I(163,2)] = {64,0}, + [I(164,2)] = {64,0}, + [I(165,2)] = {64,0}, + [I(166,2)] = {64,0}, + [I(167,2)] = {64,0}, + [I(168,2)] = {64,0}, + [I(169,2)] = {64,0}, + [I(170,2)] = {64,0}, + [I(171,2)] = {64,0}, + [I(172,2)] = {64,0}, + [I(173,2)] = {64,0}, + [I(174,2)] = {64,0}, + [I(175,2)] = {64,0}, + [I(176,2)] = {64,0}, + [I(177,2)] = {64,0}, + [I(178,2)] = {64,0}, + [I(179,2)] = {64,0}, + [I(180,2)] = {64,0}, + [I(181,2)] = {64,0}, + [I(182,2)] = {64,0}, + [I(183,2)] = {64,0}, + [I(184,2)] = {64,0}, + [I(185,2)] = {64,0}, + [I(186,2)] = {64,0}, + [I(187,2)] = {64,0}, + [I(188,2)] = {64,0}, + [I(189,2)] = {64,0}, + [I(190,2)] = {64,0}, + [I(191,2)] = {64,0}, + [I(192,2)] = {64,0}, + [I(193,2)] = {64,0}, + [I(194,2)] = {64,0}, + [I(195,2)] = {64,0}, + [I(196,2)] = {64,0}, + [I(197,2)] = {64,0}, + [I(198,2)] = {64,0}, + [I(199,2)] = {64,0}, + [I(200,2)] = {64,0}, + [I(201,2)] = {64,0}, + [I(202,2)] = {64,0}, + [I(203,2)] = {64,0}, + [I(204,2)] = {64,0}, + [I(205,2)] = {64,0}, + [I(206,2)] = {64,0}, + [I(207,2)] = {64,0}, + [I(208,2)] = {64,0}, + [I(209,2)] = {64,0}, + [I(210,2)] = {64,0}, + [I(211,2)] = {64,0}, + [I(212,2)] = {64,0}, + [I(213,2)] = {64,0}, + [I(214,2)] = {64,0}, + [I(215,2)] = {64,0}, + [I(216,2)] = {64,0}, + [I(217,2)] = {64,0}, + [I(218,2)] = {64,0}, + [I(219,2)] = {64,0}, + [I(220,2)] = {64,0}, + [I(221,2)] = {64,0}, + [I(222,2)] = {64,0}, + [I(223,2)] = {64,0}, + [I(224,2)] = {64,0}, + [I(225,2)] = {64,0}, + [I(226,2)] = {64,0}, + [I(227,2)] = {64,0}, + [I(228,2)] = {64,0}, + [I(229,2)] = {64,0}, + [I(230,2)] = {64,0}, + [I(231,2)] = {64,0}, + [I(232,2)] = {64,0}, + [I(233,2)] = {64,0}, + [I(234,2)] = {64,0}, + [I(235,2)] = {64,0}, + [I(236,2)] = {64,0}, + [I(237,2)] = {64,0}, + [I(238,2)] = {64,0}, + [I(239,2)] = {64,0}, + [I(240,2)] = {64,0}, + [I(241,2)] = {64,0}, + [I(242,2)] = {64,0}, + [I(243,2)] = {64,0}, + [I(244,2)] = {64,0}, + [I(245,2)] = {64,0}, + [I(246,2)] = {64,0}, + [I(247,2)] = {64,0}, + [I(248,2)] = {64,0}, + [I(249,2)] = {64,0}, + [I(250,2)] = {64,0}, + [I(251,2)] = {64,0}, + [I(252,2)] = {64,0}, + [I(253,2)] = {64,0}, + [I(254,2)] = {64,0}, + [I(255,2)] = {64,0}, + [I(0,3)] = {64,0}, + [I(1,3)] = {64,0}, + [I(2,3)] = {64,0}, + [I(3,3)] = {64,0}, + [I(4,3)] = {64,0}, + [I(5,3)] = {64,0}, + [I(6,3)] = {64,0}, + [I(7,3)] = {64,0}, + [I(8,3)] = {64,0}, + [I(9,3)] = {64,0}, + [I(10,3)] = {64,0}, + [I(11,3)] = {64,0}, + [I(12,3)] = {64,0}, + [I(13,3)] = {64,0}, + [I(14,3)] = {64,0}, + [I(15,3)] = {64,0}, + [I(16,3)] = {64,0}, + [I(17,3)] = {64,0}, + [I(18,3)] = {64,0}, + [I(19,3)] = {64,0}, + [I(20,3)] = {64,0}, + [I(21,3)] = {64,0}, + [I(22,3)] = {64,0}, + [I(23,3)] = {64,0}, + [I(24,3)] = {64,0}, + [I(25,3)] = {64,0}, + [I(26,3)] = {64,0}, + [I(27,3)] = {64,0}, + [I(28,3)] = {64,0}, + [I(29,3)] = {64,0}, + [I(30,3)] = {64,0}, + [I(31,3)] = {64,0}, + [I(32,3)] = {64,0}, + [I(33,3)] = {64,0}, + [I(34,3)] = {64,0}, + [I(35,3)] = {64,0}, + [I(36,3)] = {64,0}, + [I(37,3)] = {64,0}, + [I(38,3)] = {64,0}, + [I(39,3)] = {64,0}, + [I(40,3)] = {64,0}, + [I(41,3)] = {64,0}, + [I(42,3)] = {64,0}, + [I(43,3)] = {64,0}, + [I(44,3)] = {64,0}, + [I(45,3)] = {64,0}, + [I(46,3)] = {64,0}, + [I(47,3)] = {64,0}, + [I(48,3)] = {64,0}, + [I(49,3)] = {64,0}, + [I(50,3)] = {64,0}, + [I(51,3)] = {64,0}, + [I(52,3)] = {64,0}, + [I(53,3)] = {64,0}, + [I(54,3)] = {64,0}, + [I(55,3)] = {64,0}, + [I(56,3)] = {64,0}, + [I(57,3)] = {64,0}, + [I(58,3)] = {64,0}, + [I(59,3)] = {64,0}, + [I(60,3)] = {64,0}, + [I(61,3)] = {64,0}, + [I(62,3)] = {64,0}, + [I(63,3)] = {64,0}, + [I(64,3)] = {64,0}, + [I(65,3)] = {64,0}, + [I(66,3)] = {64,0}, + [I(67,3)] = {64,0}, + [I(68,3)] = {64,0}, + [I(69,3)] = {64,0}, + [I(70,3)] = {64,0}, + [I(71,3)] = {64,0}, + [I(72,3)] = {64,0}, + [I(73,3)] = {64,0}, + [I(74,3)] = {64,0}, + [I(75,3)] = {64,0}, + [I(76,3)] = {64,0}, + [I(77,3)] = {64,0}, + [I(78,3)] = {64,0}, + [I(79,3)] = {64,0}, + [I(80,3)] = {64,0}, + [I(81,3)] = {64,0}, + [I(82,3)] = {64,0}, + [I(83,3)] = {64,0}, + [I(84,3)] = {64,0}, + [I(85,3)] = {64,0}, + [I(86,3)] = {64,0}, + [I(87,3)] = {64,0}, + [I(88,3)] = {64,0}, + [I(89,3)] = {64,0}, + [I(90,3)] = {64,0}, + [I(91,3)] = {64,0}, + [I(92,3)] = {64,0}, + [I(93,3)] = {64,0}, + [I(94,3)] = {64,0}, + [I(95,3)] = {64,0}, + [I(96,3)] = {64,0}, + [I(97,3)] = {64,0}, + [I(98,3)] = {64,0}, + [I(99,3)] = {64,0}, + [I(100,3)] = {64,0}, + [I(101,3)] = {64,0}, + [I(102,3)] = {64,0}, + [I(103,3)] = {64,0}, + [I(104,3)] = {64,0}, + [I(105,3)] = {64,0}, + [I(106,3)] = {64,0}, + [I(107,3)] = {64,0}, + [I(108,3)] = {64,0}, + [I(109,3)] = {64,0}, + [I(110,3)] = {64,0}, + [I(111,3)] = {64,0}, + [I(112,3)] = {64,0}, + [I(113,3)] = {64,0}, + [I(114,3)] = {64,0}, + [I(115,3)] = {64,0}, + [I(116,3)] = {64,0}, + [I(117,3)] = {64,0}, + [I(118,3)] = {64,0}, + [I(119,3)] = {64,0}, + [I(120,3)] = {64,0}, + [I(121,3)] = {64,0}, + [I(122,3)] = {64,0}, + [I(123,3)] = {64,0}, + [I(124,3)] = {64,0}, + [I(125,3)] = {64,0}, + [I(126,3)] = {64,0}, + [I(127,3)] = {64,0}, + [I(128,3)] = {64,0}, + [I(129,3)] = {64,0}, + [I(130,3)] = {64,0}, + [I(131,3)] = {64,0}, + [I(132,3)] = {64,0}, + [I(133,3)] = {64,0}, + [I(134,3)] = {64,0}, + [I(135,3)] = {64,0}, + [I(136,3)] = {64,0}, + [I(137,3)] = {64,0}, + [I(138,3)] = {64,0}, + [I(139,3)] = {64,0}, + [I(140,3)] = {64,0}, + [I(141,3)] = {64,0}, + [I(142,3)] = {64,0}, + [I(143,3)] = {64,0}, + [I(144,3)] = {64,0}, + [I(145,3)] = {64,0}, + [I(146,3)] = {64,0}, + [I(147,3)] = {64,0}, + [I(148,3)] = {64,0}, + [I(149,3)] = {64,0}, + [I(150,3)] = {64,0}, + [I(151,3)] = {64,0}, + [I(152,3)] = {64,0}, + [I(153,3)] = {64,0}, + [I(154,3)] = {64,0}, + [I(155,3)] = {64,0}, + [I(156,3)] = {64,0}, + [I(157,3)] = {64,0}, + [I(158,3)] = {64,0}, + [I(159,3)] = {64,0}, + [I(160,3)] = {64,0}, + [I(161,3)] = {64,0}, + [I(162,3)] = {64,0}, + [I(163,3)] = {64,0}, + [I(164,3)] = {64,0}, + [I(165,3)] = {64,0}, + [I(166,3)] = {64,0}, + [I(167,3)] = {64,0}, + [I(168,3)] = {64,0}, + [I(169,3)] = {64,0}, + [I(170,3)] = {64,0}, + [I(171,3)] = {64,0}, + [I(172,3)] = {64,0}, + [I(173,3)] = {64,0}, + [I(174,3)] = {64,0}, + [I(175,3)] = {64,0}, + [I(176,3)] = {64,0}, + [I(177,3)] = {64,0}, + [I(178,3)] = {64,0}, + [I(179,3)] = {64,0}, + [I(180,3)] = {64,0}, + [I(181,3)] = {64,0}, + [I(182,3)] = {64,0}, + [I(183,3)] = {64,0}, + [I(184,3)] = {64,0}, + [I(185,3)] = {64,0}, + [I(186,3)] = {64,0}, + [I(187,3)] = {64,0}, + [I(188,3)] = {64,0}, + [I(189,3)] = {64,0}, + [I(190,3)] = {64,0}, + [I(191,3)] = {64,0}, + [I(192,3)] = {64,0}, + [I(193,3)] = {64,0}, + [I(194,3)] = {64,0}, + [I(195,3)] = {64,0}, + [I(196,3)] = {64,0}, + [I(197,3)] = {64,0}, + [I(198,3)] = {64,0}, + [I(199,3)] = {64,0}, + [I(200,3)] = {64,0}, + [I(201,3)] = {64,0}, + [I(202,3)] = {64,0}, + [I(203,3)] = {64,0}, + [I(204,3)] = {64,0}, + [I(205,3)] = {64,0}, + [I(206,3)] = {64,0}, + [I(207,3)] = {64,0}, + [I(208,3)] = {64,0}, + [I(209,3)] = {64,0}, + [I(210,3)] = {64,0}, + [I(211,3)] = {64,0}, + [I(212,3)] = {64,0}, + [I(213,3)] = {64,0}, + [I(214,3)] = {64,0}, + [I(215,3)] = {64,0}, + [I(216,3)] = {64,0}, + [I(217,3)] = {64,0}, + [I(218,3)] = {64,0}, + [I(219,3)] = {64,0}, + [I(220,3)] = {64,0}, + [I(221,3)] = {64,0}, + [I(222,3)] = {64,0}, + [I(223,3)] = {64,0}, + [I(224,3)] = {64,0}, + [I(225,3)] = {64,0}, + [I(226,3)] = {64,0}, + [I(227,3)] = {64,0}, + [I(228,3)] = {64,0}, + [I(229,3)] = {64,0}, + [I(230,3)] = {64,0}, + [I(231,3)] = {64,0}, + [I(232,3)] = {64,0}, + [I(233,3)] = {64,0}, + [I(234,3)] = {64,0}, + [I(235,3)] = {64,0}, + [I(236,3)] = {64,0}, + [I(237,3)] = {64,0}, + [I(238,3)] = {64,0}, + [I(239,3)] = {64,0}, + [I(240,3)] = {64,0}, + [I(241,3)] = {64,0}, + [I(242,3)] = {64,0}, + [I(243,3)] = {64,0}, + [I(244,3)] = {64,0}, + [I(245,3)] = {64,0}, + [I(246,3)] = {64,0}, + [I(247,3)] = {64,0}, + [I(248,3)] = {64,0}, + [I(249,3)] = {64,0}, + [I(250,3)] = {64,0}, + [I(251,3)] = {64,0}, + [I(252,3)] = {64,0}, + [I(253,3)] = {64,0}, + [I(254,3)] = {64,0}, + [I(255,3)] = {64,0}, + [I(0,4)] = {64,0}, + [I(1,4)] = {64,0}, + [I(2,4)] = {64,0}, + [I(3,4)] = {64,0}, + [I(4,4)] = {64,0}, + [I(5,4)] = {64,0}, + [I(6,4)] = {64,0}, + [I(7,4)] = {64,0}, + [I(8,4)] = {64,0}, + [I(9,4)] = {64,0}, + [I(10,4)] = {64,0}, + [I(11,4)] = {64,0}, + [I(12,4)] = {64,0}, + [I(13,4)] = {64,0}, + [I(14,4)] = {64,0}, + [I(15,4)] = {64,0}, + [I(16,4)] = {64,0}, + [I(17,4)] = {64,0}, + [I(18,4)] = {64,0}, + [I(19,4)] = {64,0}, + [I(20,4)] = {64,0}, + [I(21,4)] = {64,0}, + [I(22,4)] = {64,0}, + [I(23,4)] = {64,0}, + [I(24,4)] = {64,0}, + [I(25,4)] = {64,0}, + [I(26,4)] = {64,0}, + [I(27,4)] = {64,0}, + [I(28,4)] = {64,0}, + [I(29,4)] = {64,0}, + [I(30,4)] = {64,0}, + [I(31,4)] = {64,0}, + [I(32,4)] = {64,0}, + [I(33,4)] = {64,0}, + [I(34,4)] = {64,0}, + [I(35,4)] = {64,0}, + [I(36,4)] = {64,0}, + [I(37,4)] = {64,0}, + [I(38,4)] = {64,0}, + [I(39,4)] = {64,0}, + [I(40,4)] = {64,0}, + [I(41,4)] = {64,0}, + [I(42,4)] = {64,0}, + [I(43,4)] = {64,0}, + [I(44,4)] = {64,0}, + [I(45,4)] = {64,0}, + [I(46,4)] = {64,0}, + [I(47,4)] = {64,0}, + [I(48,4)] = {64,0}, + [I(49,4)] = {64,0}, + [I(50,4)] = {64,0}, + [I(51,4)] = {64,0}, + [I(52,4)] = {64,0}, + [I(53,4)] = {64,0}, + [I(54,4)] = {64,0}, + [I(55,4)] = {64,0}, + [I(56,4)] = {64,0}, + [I(57,4)] = {64,0}, + [I(58,4)] = {64,0}, + [I(59,4)] = {64,0}, + [I(60,4)] = {64,0}, + [I(61,4)] = {64,0}, + [I(62,4)] = {64,0}, + [I(63,4)] = {64,0}, + [I(64,4)] = {64,0}, + [I(65,4)] = {64,0}, + [I(66,4)] = {64,0}, + [I(67,4)] = {64,0}, + [I(68,4)] = {64,0}, + [I(69,4)] = {64,0}, + [I(70,4)] = {64,0}, + [I(71,4)] = {64,0}, + [I(72,4)] = {64,0}, + [I(73,4)] = {64,0}, + [I(74,4)] = {64,0}, + [I(75,4)] = {64,0}, + [I(76,4)] = {64,0}, + [I(77,4)] = {64,0}, + [I(78,4)] = {64,0}, + [I(79,4)] = {64,0}, + [I(80,4)] = {64,0}, + [I(81,4)] = {64,0}, + [I(82,4)] = {64,0}, + [I(83,4)] = {64,0}, + [I(84,4)] = {64,0}, + [I(85,4)] = {64,0}, + [I(86,4)] = {64,0}, + [I(87,4)] = {64,0}, + [I(88,4)] = {64,0}, + [I(89,4)] = {64,0}, + [I(90,4)] = {64,0}, + [I(91,4)] = {64,0}, + [I(92,4)] = {64,0}, + [I(93,4)] = {64,0}, + [I(94,4)] = {64,0}, + [I(95,4)] = {64,0}, + [I(96,4)] = {64,0}, + [I(97,4)] = {64,0}, + [I(98,4)] = {64,0}, + [I(99,4)] = {64,0}, + [I(100,4)] = {64,0}, + [I(101,4)] = {64,0}, + [I(102,4)] = {64,0}, + [I(103,4)] = {64,0}, + [I(104,4)] = {64,0}, + [I(105,4)] = {64,0}, + [I(106,4)] = {64,0}, + [I(107,4)] = {64,0}, + [I(108,4)] = {64,0}, + [I(109,4)] = {64,0}, + [I(110,4)] = {64,0}, + [I(111,4)] = {64,0}, + [I(112,4)] = {64,0}, + [I(113,4)] = {64,0}, + [I(114,4)] = {64,0}, + [I(115,4)] = {64,0}, + [I(116,4)] = {64,0}, + [I(117,4)] = {64,0}, + [I(118,4)] = {64,0}, + [I(119,4)] = {64,0}, + [I(120,4)] = {64,0}, + [I(121,4)] = {64,0}, + [I(122,4)] = {64,0}, + [I(123,4)] = {64,0}, + [I(124,4)] = {64,0}, + [I(125,4)] = {64,0}, + [I(126,4)] = {64,0}, + [I(127,4)] = {64,0}, + [I(128,4)] = {64,0}, + [I(129,4)] = {64,0}, + [I(130,4)] = {64,0}, + [I(131,4)] = {64,0}, + [I(132,4)] = {64,0}, + [I(133,4)] = {64,0}, + [I(134,4)] = {64,0}, + [I(135,4)] = {64,0}, + [I(136,4)] = {64,0}, + [I(137,4)] = {64,0}, + [I(138,4)] = {64,0}, + [I(139,4)] = {64,0}, + [I(140,4)] = {64,0}, + [I(141,4)] = {64,0}, + [I(142,4)] = {64,0}, + [I(143,4)] = {64,0}, + [I(144,4)] = {64,0}, + [I(145,4)] = {64,0}, + [I(146,4)] = {64,0}, + [I(147,4)] = {64,0}, + [I(148,4)] = {64,0}, + [I(149,4)] = {64,0}, + [I(150,4)] = {64,0}, + [I(151,4)] = {64,0}, + [I(152,4)] = {64,0}, + [I(153,4)] = {64,0}, + [I(154,4)] = {64,0}, + [I(155,4)] = {64,0}, + [I(156,4)] = {64,0}, + [I(157,4)] = {64,0}, + [I(158,4)] = {64,0}, + [I(159,4)] = {64,0}, + [I(160,4)] = {64,0}, + [I(161,4)] = {64,0}, + [I(162,4)] = {64,0}, + [I(163,4)] = {64,0}, + [I(164,4)] = {64,0}, + [I(165,4)] = {64,0}, + [I(166,4)] = {64,0}, + [I(167,4)] = {64,0}, + [I(168,4)] = {64,0}, + [I(169,4)] = {64,0}, + [I(170,4)] = {64,0}, + [I(171,4)] = {64,0}, + [I(172,4)] = {64,0}, + [I(173,4)] = {64,0}, + [I(174,4)] = {64,0}, + [I(175,4)] = {64,0}, + [I(176,4)] = {64,0}, + [I(177,4)] = {64,0}, + [I(178,4)] = {64,0}, + [I(179,4)] = {64,0}, + [I(180,4)] = {64,0}, + [I(181,4)] = {64,0}, + [I(182,4)] = {64,0}, + [I(183,4)] = {64,0}, + [I(184,4)] = {64,0}, + [I(185,4)] = {64,0}, + [I(186,4)] = {64,0}, + [I(187,4)] = {64,0}, + [I(188,4)] = {64,0}, + [I(189,4)] = {64,0}, + [I(190,4)] = {64,0}, + [I(191,4)] = {64,0}, + [I(192,4)] = {64,0}, + [I(193,4)] = {64,0}, + [I(194,4)] = {64,0}, + [I(195,4)] = {64,0}, + [I(196,4)] = {64,0}, + [I(197,4)] = {64,0}, + [I(198,4)] = {64,0}, + [I(199,4)] = {64,0}, + [I(200,4)] = {64,0}, + [I(201,4)] = {64,0}, + [I(202,4)] = {64,0}, + [I(203,4)] = {64,0}, + [I(204,4)] = {64,0}, + [I(205,4)] = {64,0}, + [I(206,4)] = {64,0}, + [I(207,4)] = {64,0}, + [I(208,4)] = {64,0}, + [I(209,4)] = {64,0}, + [I(210,4)] = {64,0}, + [I(211,4)] = {64,0}, + [I(212,4)] = {64,0}, + [I(213,4)] = {64,0}, + [I(214,4)] = {64,0}, + [I(215,4)] = {64,0}, + [I(216,4)] = {64,0}, + [I(217,4)] = {64,0}, + [I(218,4)] = {64,0}, + [I(219,4)] = {64,0}, + [I(220,4)] = {64,0}, + [I(221,4)] = {64,0}, + [I(222,4)] = {64,0}, + [I(223,4)] = {64,0}, + [I(224,4)] = {64,0}, + [I(225,4)] = {64,0}, + [I(226,4)] = {64,0}, + [I(227,4)] = {64,0}, + [I(228,4)] = {64,0}, + [I(229,4)] = {64,0}, + [I(230,4)] = {64,0}, + [I(231,4)] = {64,0}, + [I(232,4)] = {64,0}, + [I(233,4)] = {64,0}, + [I(234,4)] = {64,0}, + [I(235,4)] = {64,0}, + [I(236,4)] = {64,0}, + [I(237,4)] = {64,0}, + [I(238,4)] = {64,0}, + [I(239,4)] = {64,0}, + [I(240,4)] = {64,0}, + [I(241,4)] = {64,0}, + [I(242,4)] = {64,0}, + [I(243,4)] = {64,0}, + [I(244,4)] = {64,0}, + [I(245,4)] = {64,0}, + [I(246,4)] = {64,0}, + [I(247,4)] = {64,0}, + [I(248,4)] = {64,0}, + [I(249,4)] = {64,0}, + [I(250,4)] = {64,0}, + [I(251,4)] = {64,0}, + [I(252,4)] = {64,0}, + [I(253,4)] = {64,0}, + [I(254,4)] = {64,0}, + [I(255,4)] = {64,0}, + [I(0,5)] = {64,0}, + [I(1,5)] = {64,0}, + [I(2,5)] = {64,0}, + [I(3,5)] = {64,0}, + [I(4,5)] = {64,0}, + [I(5,5)] = {64,0}, + [I(6,5)] = {64,0}, + [I(7,5)] = {64,0}, + [I(8,5)] = {64,0}, + [I(9,5)] = {64,0}, + [I(10,5)] = {64,0}, + [I(11,5)] = {64,0}, + [I(12,5)] = {64,0}, + [I(13,5)] = {64,0}, + [I(14,5)] = {64,0}, + [I(15,5)] = {64,0}, + [I(16,5)] = {64,0}, + [I(17,5)] = {64,0}, + [I(18,5)] = {64,0}, + [I(19,5)] = {64,0}, + [I(20,5)] = {64,0}, + [I(21,5)] = {64,0}, + [I(22,5)] = {64,0}, + [I(23,5)] = {64,0}, + [I(24,5)] = {64,0}, + [I(25,5)] = {64,0}, + [I(26,5)] = {64,0}, + [I(27,5)] = {64,0}, + [I(28,5)] = {64,0}, + [I(29,5)] = {64,0}, + [I(30,5)] = {64,0}, + [I(31,5)] = {64,0}, + [I(32,5)] = {64,0}, + [I(33,5)] = {64,0}, + [I(34,5)] = {64,0}, + [I(35,5)] = {64,0}, + [I(36,5)] = {64,0}, + [I(37,5)] = {64,0}, + [I(38,5)] = {64,0}, + [I(39,5)] = {64,0}, + [I(40,5)] = {64,0}, + [I(41,5)] = {64,0}, + [I(42,5)] = {64,0}, + [I(43,5)] = {64,0}, + [I(44,5)] = {64,0}, + [I(45,5)] = {64,0}, + [I(46,5)] = {64,0}, + [I(47,5)] = {64,0}, + [I(48,5)] = {64,0}, + [I(49,5)] = {64,0}, + [I(50,5)] = {64,0}, + [I(51,5)] = {64,0}, + [I(52,5)] = {64,0}, + [I(53,5)] = {64,0}, + [I(54,5)] = {64,0}, + [I(55,5)] = {64,0}, + [I(56,5)] = {64,0}, + [I(57,5)] = {64,0}, + [I(58,5)] = {64,0}, + [I(59,5)] = {64,0}, + [I(60,5)] = {64,0}, + [I(61,5)] = {64,0}, + [I(62,5)] = {64,0}, + [I(63,5)] = {64,0}, + [I(64,5)] = {64,0}, + [I(65,5)] = {64,0}, + [I(66,5)] = {64,0}, + [I(67,5)] = {64,0}, + [I(68,5)] = {64,0}, + [I(69,5)] = {64,0}, + [I(70,5)] = {64,0}, + [I(71,5)] = {64,0}, + [I(72,5)] = {64,0}, + [I(73,5)] = {64,0}, + [I(74,5)] = {64,0}, + [I(75,5)] = {64,0}, + [I(76,5)] = {64,0}, + [I(77,5)] = {64,0}, + [I(78,5)] = {64,0}, + [I(79,5)] = {64,0}, + [I(80,5)] = {64,0}, + [I(81,5)] = {64,0}, + [I(82,5)] = {64,0}, + [I(83,5)] = {64,0}, + [I(84,5)] = {64,0}, + [I(85,5)] = {64,0}, + [I(86,5)] = {64,0}, + [I(87,5)] = {64,0}, + [I(88,5)] = {64,0}, + [I(89,5)] = {64,0}, + [I(90,5)] = {64,0}, + [I(91,5)] = {64,0}, + [I(92,5)] = {64,0}, + [I(93,5)] = {64,0}, + [I(94,5)] = {64,0}, + [I(95,5)] = {64,0}, + [I(96,5)] = {64,0}, + [I(97,5)] = {64,0}, + [I(98,5)] = {64,0}, + [I(99,5)] = {64,0}, + [I(100,5)] = {64,0}, + [I(101,5)] = {64,0}, + [I(102,5)] = {64,0}, + [I(103,5)] = {64,0}, + [I(104,5)] = {64,0}, + [I(105,5)] = {64,0}, + [I(106,5)] = {64,0}, + [I(107,5)] = {64,0}, + [I(108,5)] = {64,0}, + [I(109,5)] = {64,0}, + [I(110,5)] = {64,0}, + [I(111,5)] = {64,0}, + [I(112,5)] = {64,0}, + [I(113,5)] = {64,0}, + [I(114,5)] = {64,0}, + [I(115,5)] = {64,0}, + [I(116,5)] = {64,0}, + [I(117,5)] = {64,0}, + [I(118,5)] = {64,0}, + [I(119,5)] = {64,0}, + [I(120,5)] = {64,0}, + [I(121,5)] = {64,0}, + [I(122,5)] = {64,0}, + [I(123,5)] = {64,0}, + [I(124,5)] = {64,0}, + [I(125,5)] = {64,0}, + [I(126,5)] = {64,0}, + [I(127,5)] = {64,0}, + [I(128,5)] = {64,0}, + [I(129,5)] = {64,0}, + [I(130,5)] = {64,0}, + [I(131,5)] = {64,0}, + [I(132,5)] = {64,0}, + [I(133,5)] = {64,0}, + [I(134,5)] = {64,0}, + [I(135,5)] = {64,0}, + [I(136,5)] = {64,0}, + [I(137,5)] = {64,0}, + [I(138,5)] = {64,0}, + [I(139,5)] = {64,0}, + [I(140,5)] = {64,0}, + [I(141,5)] = {64,0}, + [I(142,5)] = {64,0}, + [I(143,5)] = {64,0}, + [I(144,5)] = {64,0}, + [I(145,5)] = {64,0}, + [I(146,5)] = {64,0}, + [I(147,5)] = {64,0}, + [I(148,5)] = {64,0}, + [I(149,5)] = {64,0}, + [I(150,5)] = {64,0}, + [I(151,5)] = {64,0}, + [I(152,5)] = {64,0}, + [I(153,5)] = {64,0}, + [I(154,5)] = {64,0}, + [I(155,5)] = {64,0}, + [I(156,5)] = {64,0}, + [I(157,5)] = {64,0}, + [I(158,5)] = {64,0}, + [I(159,5)] = {64,0}, + [I(160,5)] = {64,0}, + [I(161,5)] = {64,0}, + [I(162,5)] = {64,0}, + [I(163,5)] = {64,0}, + [I(164,5)] = {64,0}, + [I(165,5)] = {64,0}, + [I(166,5)] = {64,0}, + [I(167,5)] = {64,0}, + [I(168,5)] = {64,0}, + [I(169,5)] = {64,0}, + [I(170,5)] = {64,0}, + [I(171,5)] = {64,0}, + [I(172,5)] = {64,0}, + [I(173,5)] = {64,0}, + [I(174,5)] = {64,0}, + [I(175,5)] = {64,0}, + [I(176,5)] = {64,0}, + [I(177,5)] = {64,0}, + [I(178,5)] = {64,0}, + [I(179,5)] = {64,0}, + [I(180,5)] = {64,0}, + [I(181,5)] = {64,0}, + [I(182,5)] = {64,0}, + [I(183,5)] = {64,0}, + [I(184,5)] = {64,0}, + [I(185,5)] = {64,0}, + [I(186,5)] = {64,0}, + [I(187,5)] = {64,0}, + [I(188,5)] = {64,0}, + [I(189,5)] = {64,0}, + [I(190,5)] = {64,0}, + [I(191,5)] = {64,0}, + [I(192,5)] = {64,0}, + [I(193,5)] = {64,0}, + [I(194,5)] = {64,0}, + [I(195,5)] = {64,0}, + [I(196,5)] = {64,0}, + [I(197,5)] = {64,0}, + [I(198,5)] = {64,0}, + [I(199,5)] = {64,0}, + [I(200,5)] = {64,0}, + [I(201,5)] = {64,0}, + [I(202,5)] = {64,0}, + [I(203,5)] = {64,0}, + [I(204,5)] = {64,0}, + [I(205,5)] = {64,0}, + [I(206,5)] = {64,0}, + [I(207,5)] = {64,0}, + [I(208,5)] = {64,0}, + [I(209,5)] = {64,0}, + [I(210,5)] = {64,0}, + [I(211,5)] = {64,0}, + [I(212,5)] = {64,0}, + [I(213,5)] = {64,0}, + [I(214,5)] = {64,0}, + [I(215,5)] = {64,0}, + [I(216,5)] = {64,0}, + [I(217,5)] = {64,0}, + [I(218,5)] = {64,0}, + [I(219,5)] = {64,0}, + [I(220,5)] = {64,0}, + [I(221,5)] = {64,0}, + [I(222,5)] = {64,0}, + [I(223,5)] = {64,0}, + [I(224,5)] = {64,0}, + [I(225,5)] = {64,0}, + [I(226,5)] = {64,0}, + [I(227,5)] = {64,0}, + [I(228,5)] = {64,0}, + [I(229,5)] = {64,0}, + [I(230,5)] = {64,0}, + [I(231,5)] = {64,0}, + [I(232,5)] = {64,0}, + [I(233,5)] = {64,0}, + [I(234,5)] = {64,0}, + [I(235,5)] = {64,0}, + [I(236,5)] = {64,0}, + [I(237,5)] = {64,0}, + [I(238,5)] = {64,0}, + [I(239,5)] = {64,0}, + [I(240,5)] = {64,0}, + [I(241,5)] = {64,0}, + [I(242,5)] = {64,0}, + [I(243,5)] = {64,0}, + [I(244,5)] = {64,0}, + [I(245,5)] = {64,0}, + [I(246,5)] = {64,0}, + [I(247,5)] = {64,0}, + [I(248,5)] = {64,0}, + [I(249,5)] = {64,0}, + [I(250,5)] = {64,0}, + [I(251,5)] = {64,0}, + [I(252,5)] = {64,0}, + [I(253,5)] = {64,0}, + [I(254,5)] = {64,0}, + [I(255,5)] = {64,0}, + [I(0,6)] = {64,0}, + [I(1,6)] = {64,0}, + [I(2,6)] = {64,0}, + [I(3,6)] = {64,0}, + [I(4,6)] = {64,0}, + [I(5,6)] = {64,0}, + [I(6,6)] = {64,0}, + [I(7,6)] = {64,0}, + [I(8,6)] = {64,0}, + [I(9,6)] = {64,0}, + [I(10,6)] = {64,0}, + [I(11,6)] = {64,0}, + [I(12,6)] = {64,0}, + [I(13,6)] = {64,0}, + [I(14,6)] = {64,0}, + [I(15,6)] = {64,0}, + [I(16,6)] = {64,0}, + [I(17,6)] = {64,0}, + [I(18,6)] = {64,0}, + [I(19,6)] = {64,0}, + [I(20,6)] = {64,0}, + [I(21,6)] = {64,0}, + [I(22,6)] = {64,0}, + [I(23,6)] = {64,0}, + [I(24,6)] = {64,0}, + [I(25,6)] = {64,0}, + [I(26,6)] = {64,0}, + [I(27,6)] = {64,0}, + [I(28,6)] = {64,0}, + [I(29,6)] = {64,0}, + [I(30,6)] = {64,0}, + [I(31,6)] = {64,0}, + [I(32,6)] = {64,0}, + [I(33,6)] = {64,0}, + [I(34,6)] = {64,0}, + [I(35,6)] = {64,0}, + [I(36,6)] = {64,0}, + [I(37,6)] = {64,0}, + [I(38,6)] = {64,0}, + [I(39,6)] = {64,0}, + [I(40,6)] = {64,0}, + [I(41,6)] = {64,0}, + [I(42,6)] = {64,0}, + [I(43,6)] = {64,0}, + [I(44,6)] = {64,0}, + [I(45,6)] = {64,0}, + [I(46,6)] = {64,0}, + [I(47,6)] = {64,0}, + [I(48,6)] = {64,0}, + [I(49,6)] = {64,0}, + [I(50,6)] = {64,0}, + [I(51,6)] = {64,0}, + [I(52,6)] = {64,0}, + [I(53,6)] = {64,0}, + [I(54,6)] = {64,0}, + [I(55,6)] = {64,0}, + [I(56,6)] = {64,0}, + [I(57,6)] = {64,0}, + [I(58,6)] = {64,0}, + [I(59,6)] = {64,0}, + [I(60,6)] = {64,0}, + [I(61,6)] = {64,0}, + [I(62,6)] = {64,0}, + [I(63,6)] = {64,0}, + [I(64,6)] = {64,0}, + [I(65,6)] = {64,0}, + [I(66,6)] = {64,0}, + [I(67,6)] = {64,0}, + [I(68,6)] = {64,0}, + [I(69,6)] = {64,0}, + [I(70,6)] = {64,0}, + [I(71,6)] = {64,0}, + [I(72,6)] = {64,0}, + [I(73,6)] = {64,0}, + [I(74,6)] = {64,0}, + [I(75,6)] = {64,0}, + [I(76,6)] = {64,0}, + [I(77,6)] = {64,0}, + [I(78,6)] = {64,0}, + [I(79,6)] = {64,0}, + [I(80,6)] = {64,0}, + [I(81,6)] = {64,0}, + [I(82,6)] = {64,0}, + [I(83,6)] = {64,0}, + [I(84,6)] = {64,0}, + [I(85,6)] = {64,0}, + [I(86,6)] = {64,0}, + [I(87,6)] = {64,0}, + [I(88,6)] = {64,0}, + [I(89,6)] = {64,0}, + [I(90,6)] = {64,0}, + [I(91,6)] = {64,0}, + [I(92,6)] = {64,0}, + [I(93,6)] = {64,0}, + [I(94,6)] = {64,0}, + [I(95,6)] = {64,0}, + [I(96,6)] = {64,0}, + [I(97,6)] = {64,0}, + [I(98,6)] = {64,0}, + [I(99,6)] = {64,0}, + [I(100,6)] = {64,0}, + [I(101,6)] = {64,0}, + [I(102,6)] = {64,0}, + [I(103,6)] = {64,0}, + [I(104,6)] = {64,0}, + [I(105,6)] = {64,0}, + [I(106,6)] = {64,0}, + [I(107,6)] = {64,0}, + [I(108,6)] = {64,0}, + [I(109,6)] = {64,0}, + [I(110,6)] = {64,0}, + [I(111,6)] = {64,0}, + [I(112,6)] = {64,0}, + [I(113,6)] = {64,0}, + [I(114,6)] = {64,0}, + [I(115,6)] = {64,0}, + [I(116,6)] = {64,0}, + [I(117,6)] = {64,0}, + [I(118,6)] = {64,0}, + [I(119,6)] = {64,0}, + [I(120,6)] = {64,0}, + [I(121,6)] = {64,0}, + [I(122,6)] = {64,0}, + [I(123,6)] = {64,0}, + [I(124,6)] = {64,0}, + [I(125,6)] = {64,0}, + [I(126,6)] = {64,0}, + [I(127,6)] = {64,0}, + [I(128,6)] = {64,0}, + [I(129,6)] = {64,0}, + [I(130,6)] = {64,0}, + [I(131,6)] = {64,0}, + [I(132,6)] = {64,0}, + [I(133,6)] = {64,0}, + [I(134,6)] = {64,0}, + [I(135,6)] = {64,0}, + [I(136,6)] = {64,0}, + [I(137,6)] = {64,0}, + [I(138,6)] = {64,0}, + [I(139,6)] = {64,0}, + [I(140,6)] = {64,0}, + [I(141,6)] = {64,0}, + [I(142,6)] = {64,0}, + [I(143,6)] = {64,0}, + [I(144,6)] = {64,0}, + [I(145,6)] = {64,0}, + [I(146,6)] = {64,0}, + [I(147,6)] = {64,0}, + [I(148,6)] = {64,0}, + [I(149,6)] = {64,0}, + [I(150,6)] = {64,0}, + [I(151,6)] = {64,0}, + [I(152,6)] = {64,0}, + [I(153,6)] = {64,0}, + [I(154,6)] = {64,0}, + [I(155,6)] = {64,0}, + [I(156,6)] = {64,0}, + [I(157,6)] = {64,0}, + [I(158,6)] = {64,0}, + [I(159,6)] = {64,0}, + [I(160,6)] = {64,0}, + [I(161,6)] = {64,0}, + [I(162,6)] = {64,0}, + [I(163,6)] = {64,0}, + [I(164,6)] = {64,0}, + [I(165,6)] = {64,0}, + [I(166,6)] = {64,0}, + [I(167,6)] = {64,0}, + [I(168,6)] = {64,0}, + [I(169,6)] = {64,0}, + [I(170,6)] = {64,0}, + [I(171,6)] = {64,0}, + [I(172,6)] = {64,0}, + [I(173,6)] = {64,0}, + [I(174,6)] = {64,0}, + [I(175,6)] = {64,0}, + [I(176,6)] = {64,0}, + [I(177,6)] = {64,0}, + [I(178,6)] = {64,0}, + [I(179,6)] = {64,0}, + [I(180,6)] = {64,0}, + [I(181,6)] = {64,0}, + [I(182,6)] = {64,0}, + [I(183,6)] = {64,0}, + [I(184,6)] = {64,0}, + [I(185,6)] = {64,0}, + [I(186,6)] = {64,0}, + [I(187,6)] = {64,0}, + [I(188,6)] = {64,0}, + [I(189,6)] = {64,0}, + [I(190,6)] = {64,0}, + [I(191,6)] = {64,0}, + [I(192,6)] = {64,0}, + [I(193,6)] = {64,0}, + [I(194,6)] = {64,0}, + [I(195,6)] = {64,0}, + [I(196,6)] = {64,0}, + [I(197,6)] = {64,0}, + [I(198,6)] = {64,0}, + [I(199,6)] = {64,0}, + [I(200,6)] = {64,0}, + [I(201,6)] = {64,0}, + [I(202,6)] = {64,0}, + [I(203,6)] = {64,0}, + [I(204,6)] = {64,0}, + [I(205,6)] = {64,0}, + [I(206,6)] = {64,0}, + [I(207,6)] = {64,0}, + [I(208,6)] = {64,0}, + [I(209,6)] = {64,0}, + [I(210,6)] = {64,0}, + [I(211,6)] = {64,0}, + [I(212,6)] = {64,0}, + [I(213,6)] = {64,0}, + [I(214,6)] = {64,0}, + [I(215,6)] = {64,0}, + [I(216,6)] = {64,0}, + [I(217,6)] = {64,0}, + [I(218,6)] = {64,0}, + [I(219,6)] = {64,0}, + [I(220,6)] = {64,0}, + [I(221,6)] = {64,0}, + [I(222,6)] = {64,0}, + [I(223,6)] = {64,0}, + [I(224,6)] = {64,0}, + [I(225,6)] = {64,0}, + [I(226,6)] = {64,0}, + [I(227,6)] = {64,0}, + [I(228,6)] = {64,0}, + [I(229,6)] = {64,0}, + [I(230,6)] = {64,0}, + [I(231,6)] = {64,0}, + [I(232,6)] = {64,0}, + [I(233,6)] = {64,0}, + [I(234,6)] = {64,0}, + [I(235,6)] = {64,0}, + [I(236,6)] = {64,0}, + [I(237,6)] = {64,0}, + [I(238,6)] = {64,0}, + [I(239,6)] = {64,0}, + [I(240,6)] = {64,0}, + [I(241,6)] = {64,0}, + [I(242,6)] = {64,0}, + [I(243,6)] = {64,0}, + [I(244,6)] = {64,0}, + [I(245,6)] = {64,0}, + [I(246,6)] = {64,0}, + [I(247,6)] = {64,0}, + [I(248,6)] = {64,0}, + [I(249,6)] = {64,0}, + [I(250,6)] = {64,0}, + [I(251,6)] = {64,0}, + [I(252,6)] = {64,0}, + [I(253,6)] = {64,0}, + [I(254,6)] = {64,0}, + [I(255,6)] = {64,0}, + [I(0,7)] = {64,0}, + [I(1,7)] = {64,0}, + [I(2,7)] = {64,0}, + [I(3,7)] = {64,0}, + [I(4,7)] = {64,0}, + [I(5,7)] = {64,0}, + [I(6,7)] = {64,0}, + [I(7,7)] = {64,0}, + [I(8,7)] = {64,0}, + [I(9,7)] = {64,0}, + [I(10,7)] = {64,0}, + [I(11,7)] = {64,0}, + [I(12,7)] = {64,0}, + [I(13,7)] = {64,0}, + [I(14,7)] = {64,0}, + [I(15,7)] = {64,0}, + [I(16,7)] = {64,0}, + [I(17,7)] = {64,0}, + [I(18,7)] = {64,0}, + [I(19,7)] = {64,0}, + [I(20,7)] = {64,0}, + [I(21,7)] = {64,0}, + [I(22,7)] = {64,0}, + [I(23,7)] = {64,0}, + [I(24,7)] = {64,0}, + [I(25,7)] = {64,0}, + [I(26,7)] = {64,0}, + [I(27,7)] = {64,0}, + [I(28,7)] = {64,0}, + [I(29,7)] = {64,0}, + [I(30,7)] = {64,0}, + [I(31,7)] = {64,0}, + [I(32,7)] = {64,0}, + [I(33,7)] = {64,0}, + [I(34,7)] = {64,0}, + [I(35,7)] = {64,0}, + [I(36,7)] = {64,0}, + [I(37,7)] = {64,0}, + [I(38,7)] = {64,0}, + [I(39,7)] = {64,0}, + [I(40,7)] = {64,0}, + [I(41,7)] = {64,0}, + [I(42,7)] = {64,0}, + [I(43,7)] = {64,0}, + [I(44,7)] = {64,0}, + [I(45,7)] = {64,0}, + [I(46,7)] = {64,0}, + [I(47,7)] = {64,0}, + [I(48,7)] = {64,0}, + [I(49,7)] = {64,0}, + [I(50,7)] = {64,0}, + [I(51,7)] = {64,0}, + [I(52,7)] = {64,0}, + [I(53,7)] = {64,0}, + [I(54,7)] = {64,0}, + [I(55,7)] = {64,0}, + [I(56,7)] = {64,0}, + [I(57,7)] = {64,0}, + [I(58,7)] = {64,0}, + [I(59,7)] = {64,0}, + [I(60,7)] = {64,0}, + [I(61,7)] = {64,0}, + [I(62,7)] = {64,0}, + [I(63,7)] = {64,0}, + [I(64,7)] = {64,0}, + [I(65,7)] = {64,0}, + [I(66,7)] = {64,0}, + [I(67,7)] = {64,0}, + [I(68,7)] = {64,0}, + [I(69,7)] = {64,0}, + [I(70,7)] = {64,0}, + [I(71,7)] = {64,0}, + [I(72,7)] = {64,0}, + [I(73,7)] = {64,0}, + [I(74,7)] = {64,0}, + [I(75,7)] = {64,0}, + [I(76,7)] = {64,0}, + [I(77,7)] = {64,0}, + [I(78,7)] = {64,0}, + [I(79,7)] = {64,0}, + [I(80,7)] = {64,0}, + [I(81,7)] = {64,0}, + [I(82,7)] = {64,0}, + [I(83,7)] = {64,0}, + [I(84,7)] = {64,0}, + [I(85,7)] = {64,0}, + [I(86,7)] = {64,0}, + [I(87,7)] = {64,0}, + [I(88,7)] = {64,0}, + [I(89,7)] = {64,0}, + [I(90,7)] = {64,0}, + [I(91,7)] = {64,0}, + [I(92,7)] = {64,0}, + [I(93,7)] = {64,0}, + [I(94,7)] = {64,0}, + [I(95,7)] = {64,0}, + [I(96,7)] = {64,0}, + [I(97,7)] = {64,0}, + [I(98,7)] = {64,0}, + [I(99,7)] = {64,0}, + [I(100,7)] = {64,0}, + [I(101,7)] = {64,0}, + [I(102,7)] = {64,0}, + [I(103,7)] = {64,0}, + [I(104,7)] = {64,0}, + [I(105,7)] = {64,0}, + [I(106,7)] = {64,0}, + [I(107,7)] = {64,0}, + [I(108,7)] = {64,0}, + [I(109,7)] = {64,0}, + [I(110,7)] = {64,0}, + [I(111,7)] = {64,0}, + [I(112,7)] = {64,0}, + [I(113,7)] = {64,0}, + [I(114,7)] = {64,0}, + [I(115,7)] = {64,0}, + [I(116,7)] = {64,0}, + [I(117,7)] = {64,0}, + [I(118,7)] = {64,0}, + [I(119,7)] = {64,0}, + [I(120,7)] = {64,0}, + [I(121,7)] = {64,0}, + [I(122,7)] = {64,0}, + [I(123,7)] = {64,0}, + [I(124,7)] = {64,0}, + [I(125,7)] = {64,0}, + [I(126,7)] = {64,0}, + [I(127,7)] = {64,0}, + [I(128,7)] = {64,0}, + [I(129,7)] = {64,0}, + [I(130,7)] = {64,0}, + [I(131,7)] = {64,0}, + [I(132,7)] = {64,0}, + [I(133,7)] = {64,0}, + [I(134,7)] = {64,0}, + [I(135,7)] = {64,0}, + [I(136,7)] = {64,0}, + [I(137,7)] = {64,0}, + [I(138,7)] = {64,0}, + [I(139,7)] = {64,0}, + [I(140,7)] = {64,0}, + [I(141,7)] = {64,0}, + [I(142,7)] = {64,0}, + [I(143,7)] = {64,0}, + [I(144,7)] = {64,0}, + [I(145,7)] = {64,0}, + [I(146,7)] = {64,0}, + [I(147,7)] = {64,0}, + [I(148,7)] = {64,0}, + [I(149,7)] = {64,0}, + [I(150,7)] = {64,0}, + [I(151,7)] = {64,0}, + [I(152,7)] = {64,0}, + [I(153,7)] = {64,0}, + [I(154,7)] = {64,0}, + [I(155,7)] = {64,0}, + [I(156,7)] = {64,0}, + [I(157,7)] = {64,0}, + [I(158,7)] = {64,0}, + [I(159,7)] = {64,0}, + [I(160,7)] = {64,0}, + [I(161,7)] = {64,0}, + [I(162,7)] = {64,0}, + [I(163,7)] = {64,0}, + [I(164,7)] = {64,0}, + [I(165,7)] = {64,0}, + [I(166,7)] = {64,0}, + [I(167,7)] = {64,0}, + [I(168,7)] = {64,0}, + [I(169,7)] = {64,0}, + [I(170,7)] = {64,0}, + [I(171,7)] = {64,0}, + [I(172,7)] = {64,0}, + [I(173,7)] = {64,0}, + [I(174,7)] = {64,0}, + [I(175,7)] = {64,0}, + [I(176,7)] = {64,0}, + [I(177,7)] = {64,0}, + [I(178,7)] = {64,0}, + [I(179,7)] = {64,0}, + [I(180,7)] = {64,0}, + [I(181,7)] = {64,0}, + [I(182,7)] = {64,0}, + [I(183,7)] = {64,0}, + [I(184,7)] = {64,0}, + [I(185,7)] = {64,0}, + [I(186,7)] = {64,0}, + [I(187,7)] = {64,0}, + [I(188,7)] = {64,0}, + [I(189,7)] = {64,0}, + [I(190,7)] = {64,0}, + [I(191,7)] = {64,0}, + [I(192,7)] = {64,0}, + [I(193,7)] = {64,0}, + [I(194,7)] = {64,0}, + [I(195,7)] = {64,0}, + [I(196,7)] = {64,0}, + [I(197,7)] = {64,0}, + [I(198,7)] = {64,0}, + [I(199,7)] = {64,0}, + [I(200,7)] = {64,0}, + [I(201,7)] = {64,0}, + [I(202,7)] = {64,0}, + [I(203,7)] = {64,0}, + [I(204,7)] = {64,0}, + [I(205,7)] = {64,0}, + [I(206,7)] = {64,0}, + [I(207,7)] = {64,0}, + [I(208,7)] = {64,0}, + [I(209,7)] = {64,0}, + [I(210,7)] = {64,0}, + [I(211,7)] = {64,0}, + [I(212,7)] = {64,0}, + [I(213,7)] = {64,0}, + [I(214,7)] = {64,0}, + [I(215,7)] = {64,0}, + [I(216,7)] = {64,0}, + [I(217,7)] = {64,0}, + [I(218,7)] = {64,0}, + [I(219,7)] = {64,0}, + [I(220,7)] = {64,0}, + [I(221,7)] = {64,0}, + [I(222,7)] = {64,0}, + [I(223,7)] = {64,0}, + [I(224,7)] = {64,0}, + [I(225,7)] = {64,0}, + [I(226,7)] = {64,0}, + [I(227,7)] = {64,0}, + [I(228,7)] = {64,0}, + [I(229,7)] = {64,0}, + [I(230,7)] = {64,0}, + [I(231,7)] = {64,0}, + [I(232,7)] = {64,0}, + [I(233,7)] = {64,0}, + [I(234,7)] = {64,0}, + [I(235,7)] = {64,0}, + [I(236,7)] = {64,0}, + [I(237,7)] = {64,0}, + [I(238,7)] = {64,0}, + [I(239,7)] = {64,0}, + [I(240,7)] = {64,0}, + [I(241,7)] = {64,0}, + [I(242,7)] = {64,0}, + [I(243,7)] = {64,0}, + [I(244,7)] = {64,0}, + [I(245,7)] = {64,0}, + [I(246,7)] = {64,0}, + [I(247,7)] = {64,0}, + [I(248,7)] = {64,0}, + [I(249,7)] = {64,0}, + [I(250,7)] = {64,0}, + [I(251,7)] = {64,0}, + [I(252,7)] = {64,0}, + [I(253,7)] = {64,0}, + [I(254,7)] = {64,0}, + [I(255,7)] = {64,0}, + [I(0,8)] = {64,0}, + [I(1,8)] = {64,0}, + [I(2,8)] = {64,0}, + [I(3,8)] = {64,0}, + [I(4,8)] = {64,0}, + [I(5,8)] = {64,0}, + [I(6,8)] = {64,0}, + [I(7,8)] = {64,0}, + [I(8,8)] = {64,0}, + [I(9,8)] = {64,0}, + [I(10,8)] = {64,0}, + [I(11,8)] = {64,0}, + [I(12,8)] = {64,0}, + [I(13,8)] = {64,0}, + [I(14,8)] = {64,0}, + [I(15,8)] = {64,0}, + [I(16,8)] = {64,0}, + [I(17,8)] = {64,0}, + [I(18,8)] = {64,0}, + [I(19,8)] = {64,0}, + [I(20,8)] = {64,0}, + [I(21,8)] = {64,0}, + [I(22,8)] = {64,0}, + [I(23,8)] = {64,0}, + [I(24,8)] = {64,0}, + [I(25,8)] = {64,0}, + [I(26,8)] = {64,0}, + [I(27,8)] = {64,0}, + [I(28,8)] = {64,0}, + [I(29,8)] = {64,0}, + [I(30,8)] = {64,0}, + [I(31,8)] = {64,0}, + [I(32,8)] = {64,0}, + [I(33,8)] = {64,0}, + [I(34,8)] = {64,0}, + [I(35,8)] = {64,0}, + [I(36,8)] = {64,0}, + [I(37,8)] = {64,0}, + [I(38,8)] = {64,0}, + [I(39,8)] = {64,0}, + [I(40,8)] = {64,0}, + [I(41,8)] = {64,0}, + [I(42,8)] = {64,0}, + [I(43,8)] = {64,0}, + [I(44,8)] = {64,0}, + [I(45,8)] = {64,0}, + [I(46,8)] = {64,0}, + [I(47,8)] = {64,0}, + [I(48,8)] = {64,0}, + [I(49,8)] = {64,0}, + [I(50,8)] = {64,0}, + [I(51,8)] = {64,0}, + [I(52,8)] = {64,0}, + [I(53,8)] = {64,0}, + [I(54,8)] = {64,0}, + [I(55,8)] = {64,0}, + [I(56,8)] = {64,0}, + [I(57,8)] = {64,0}, + [I(58,8)] = {64,0}, + [I(59,8)] = {64,0}, + [I(60,8)] = {64,0}, + [I(61,8)] = {64,0}, + [I(62,8)] = {64,0}, + [I(63,8)] = {64,0}, + [I(64,8)] = {64,0}, + [I(65,8)] = {64,0}, + [I(66,8)] = {64,0}, + [I(67,8)] = {64,0}, + [I(68,8)] = {64,0}, + [I(69,8)] = {64,0}, + [I(70,8)] = {64,0}, + [I(71,8)] = {64,0}, + [I(72,8)] = {64,0}, + [I(73,8)] = {64,0}, + [I(74,8)] = {64,0}, + [I(75,8)] = {64,0}, + [I(76,8)] = {64,0}, + [I(77,8)] = {64,0}, + [I(78,8)] = {64,0}, + [I(79,8)] = {64,0}, + [I(80,8)] = {64,0}, + [I(81,8)] = {64,0}, + [I(82,8)] = {64,0}, + [I(83,8)] = {64,0}, + [I(84,8)] = {64,0}, + [I(85,8)] = {64,0}, + [I(86,8)] = {64,0}, + [I(87,8)] = {64,0}, + [I(88,8)] = {64,0}, + [I(89,8)] = {64,0}, + [I(90,8)] = {64,0}, + [I(91,8)] = {64,0}, + [I(92,8)] = {64,0}, + [I(93,8)] = {64,0}, + [I(94,8)] = {64,0}, + [I(95,8)] = {64,0}, + [I(96,8)] = {64,0}, + [I(97,8)] = {64,0}, + [I(98,8)] = {64,0}, + [I(99,8)] = {64,0}, + [I(100,8)] = {64,0}, + [I(101,8)] = {64,0}, + [I(102,8)] = {64,0}, + [I(103,8)] = {64,0}, + [I(104,8)] = {64,0}, + [I(105,8)] = {64,0}, + [I(106,8)] = {64,0}, + [I(107,8)] = {64,0}, + [I(108,8)] = {64,0}, + [I(109,8)] = {64,0}, + [I(110,8)] = {64,0}, + [I(111,8)] = {64,0}, + [I(112,8)] = {64,0}, + [I(113,8)] = {64,0}, + [I(114,8)] = {64,0}, + [I(115,8)] = {64,0}, + [I(116,8)] = {64,0}, + [I(117,8)] = {64,0}, + [I(118,8)] = {64,0}, + [I(119,8)] = {64,0}, + [I(120,8)] = {64,0}, + [I(121,8)] = {64,0}, + [I(122,8)] = {64,0}, + [I(123,8)] = {64,0}, + [I(124,8)] = {64,0}, + [I(125,8)] = {64,0}, + [I(126,8)] = {64,0}, + [I(127,8)] = {64,0}, + [I(128,8)] = {64,0}, + [I(129,8)] = {64,0}, + [I(130,8)] = {64,0}, + [I(131,8)] = {64,0}, + [I(132,8)] = {64,0}, + [I(133,8)] = {64,0}, + [I(134,8)] = {64,0}, + [I(135,8)] = {64,0}, + [I(136,8)] = {64,0}, + [I(137,8)] = {64,0}, + [I(138,8)] = {64,0}, + [I(139,8)] = {64,0}, + [I(140,8)] = {64,0}, + [I(141,8)] = {64,0}, + [I(142,8)] = {64,0}, + [I(143,8)] = {64,0}, + [I(144,8)] = {64,0}, + [I(145,8)] = {64,0}, + [I(146,8)] = {64,0}, + [I(147,8)] = {64,0}, + [I(148,8)] = {64,0}, + [I(149,8)] = {64,0}, + [I(150,8)] = {64,0}, + [I(151,8)] = {64,0}, + [I(152,8)] = {64,0}, + [I(153,8)] = {64,0}, + [I(154,8)] = {64,0}, + [I(155,8)] = {64,0}, + [I(156,8)] = {64,0}, + [I(157,8)] = {64,0}, + [I(158,8)] = {64,0}, + [I(159,8)] = {64,0}, + [I(160,8)] = {64,0}, + [I(161,8)] = {64,0}, + [I(162,8)] = {64,0}, + [I(163,8)] = {64,0}, + [I(164,8)] = {64,0}, + [I(165,8)] = {64,0}, + [I(166,8)] = {64,0}, + [I(167,8)] = {64,0}, + [I(168,8)] = {64,0}, + [I(169,8)] = {64,0}, + [I(170,8)] = {64,0}, + [I(171,8)] = {64,0}, + [I(172,8)] = {64,0}, + [I(173,8)] = {64,0}, + [I(174,8)] = {64,0}, + [I(175,8)] = {64,0}, + [I(176,8)] = {64,0}, + [I(177,8)] = {64,0}, + [I(178,8)] = {64,0}, + [I(179,8)] = {64,0}, + [I(180,8)] = {64,0}, + [I(181,8)] = {64,0}, + [I(182,8)] = {64,0}, + [I(183,8)] = {64,0}, + [I(184,8)] = {64,0}, + [I(185,8)] = {64,0}, + [I(186,8)] = {64,0}, + [I(187,8)] = {64,0}, + [I(188,8)] = {64,0}, + [I(189,8)] = {64,0}, + [I(190,8)] = {64,0}, + [I(191,8)] = {64,0}, + [I(192,8)] = {64,0}, + [I(193,8)] = {64,0}, + [I(194,8)] = {64,0}, + [I(195,8)] = {64,0}, + [I(196,8)] = {64,0}, + [I(197,8)] = {64,0}, + [I(198,8)] = {64,0}, + [I(199,8)] = {64,0}, + [I(200,8)] = {64,0}, + [I(201,8)] = {64,0}, + [I(202,8)] = {64,0}, + [I(203,8)] = {64,0}, + [I(204,8)] = {64,0}, + [I(205,8)] = {64,0}, + [I(206,8)] = {64,0}, + [I(207,8)] = {64,0}, + [I(208,8)] = {64,0}, + [I(209,8)] = {64,0}, + [I(210,8)] = {64,0}, + [I(211,8)] = {64,0}, + [I(212,8)] = {64,0}, + [I(213,8)] = {64,0}, + [I(214,8)] = {64,0}, + [I(215,8)] = {64,0}, + [I(216,8)] = {64,0}, + [I(217,8)] = {64,0}, + [I(218,8)] = {64,0}, + [I(219,8)] = {64,0}, + [I(220,8)] = {64,0}, + [I(221,8)] = {64,0}, + [I(222,8)] = {64,0}, + [I(223,8)] = {64,0}, + [I(224,8)] = {64,0}, + [I(225,8)] = {64,0}, + [I(226,8)] = {64,0}, + [I(227,8)] = {64,0}, + [I(228,8)] = {64,0}, + [I(229,8)] = {64,0}, + [I(230,8)] = {64,0}, + [I(231,8)] = {64,0}, + [I(232,8)] = {64,0}, + [I(233,8)] = {64,0}, + [I(234,8)] = {64,0}, + [I(235,8)] = {64,0}, + [I(236,8)] = {64,0}, + [I(237,8)] = {64,0}, + [I(238,8)] = {64,0}, + [I(239,8)] = {64,0}, + [I(240,8)] = {64,0}, + [I(241,8)] = {64,0}, + [I(242,8)] = {64,0}, + [I(243,8)] = {64,0}, + [I(244,8)] = {64,0}, + [I(245,8)] = {64,0}, + [I(246,8)] = {64,0}, + [I(247,8)] = {64,0}, + [I(248,8)] = {64,0}, + [I(249,8)] = {64,0}, + [I(250,8)] = {64,0}, + [I(251,8)] = {64,0}, + [I(252,8)] = {64,0}, + [I(253,8)] = {64,0}, + [I(254,8)] = {64,0}, + [I(255,8)] = {64,0}, + [I(0,9)] = {64,0}, + [I(1,9)] = {64,0}, + [I(2,9)] = {64,0}, + [I(3,9)] = {64,0}, + [I(4,9)] = {64,0}, + [I(5,9)] = {64,0}, + [I(6,9)] = {64,0}, + [I(7,9)] = {64,0}, + [I(8,9)] = {64,0}, + [I(9,9)] = {64,0}, + [I(10,9)] = {64,0}, + [I(11,9)] = {64,0}, + [I(12,9)] = {64,0}, + [I(13,9)] = {64,0}, + [I(14,9)] = {64,0}, + [I(15,9)] = {64,0}, + [I(16,9)] = {64,0}, + [I(17,9)] = {64,0}, + [I(18,9)] = {64,0}, + [I(19,9)] = {64,0}, + [I(20,9)] = {64,0}, + [I(21,9)] = {64,0}, + [I(22,9)] = {64,0}, + [I(23,9)] = {64,0}, + [I(24,9)] = {64,0}, + [I(25,9)] = {64,0}, + [I(26,9)] = {64,0}, + [I(27,9)] = {64,0}, + [I(28,9)] = {64,0}, + [I(29,9)] = {64,0}, + [I(30,9)] = {64,0}, + [I(31,9)] = {64,0}, + [I(32,9)] = {30,0x14FFFFEA}, + [I(33,9)] = {64,0}, + [I(34,9)] = {64,0}, + [I(35,9)] = {64,0}, + [I(36,9)] = {64,0}, + [I(37,9)] = {30,0x15FFFFEA}, + [I(38,9)] = {X32,0xF8FFFFEA}, + [I(39,9)] = {64,0}, + [I(40,9)] = {64,0}, + [I(41,9)] = {64,0}, + [I(42,9)] = {X32,0xF9FFFFEA}, + [I(43,9)] = {64,0}, + [I(44,9)] = {X32,0xFAFFFFEA}, + [I(45,9)] = {30,0x16FFFFEA}, + [I(46,9)] = {30,0x17FFFFEA}, + [I(47,9)] = {30,0x18FFFFEA}, + [I(48,9)] = {29,0xFFFFEA}, + [I(49,9)] = {29,0x1FFFFEA}, + [I(50,9)] = {29,0x2FFFFEA}, + [I(51,9)] = {30,0x19FFFFEA}, + [I(52,9)] = {30,0x1AFFFFEA}, + [I(53,9)] = {30,0x1BFFFFEA}, + [I(54,9)] = {30,0x1CFFFFEA}, + [I(55,9)] = {30,0x1DFFFFEA}, + [I(56,9)] = {30,0x1EFFFFEA}, + [I(57,9)] = {30,0x1FFFFFEA}, + [I(58,9)] = {31,0x5CFFFFEA}, + [I(59,9)] = {X32,0xFBFFFFEA}, + [I(60,9)] = {64,0}, + [I(61,9)] = {30,0x20FFFFEA}, + [I(62,9)] = {64,0}, + [I(63,9)] = {64,0}, + [I(64,9)] = {64,0}, + [I(65,9)] = {30,0x21FFFFEA}, + [I(66,9)] = {31,0x5DFFFFEA}, + [I(67,9)] = {31,0x5EFFFFEA}, + [I(68,9)] = {31,0x5FFFFFEA}, + [I(69,9)] = {31,0x60FFFFEA}, + [I(70,9)] = {31,0x61FFFFEA}, + [I(71,9)] = {31,0x62FFFFEA}, + [I(72,9)] = {31,0x63FFFFEA}, + [I(73,9)] = {31,0x64FFFFEA}, + [I(74,9)] = {31,0x65FFFFEA}, + [I(75,9)] = {31,0x66FFFFEA}, + [I(76,9)] = {31,0x67FFFFEA}, + [I(77,9)] = {31,0x68FFFFEA}, + [I(78,9)] = {31,0x69FFFFEA}, + [I(79,9)] = {31,0x6AFFFFEA}, + [I(80,9)] = {31,0x6BFFFFEA}, + [I(81,9)] = {31,0x6CFFFFEA}, + [I(82,9)] = {31,0x6DFFFFEA}, + [I(83,9)] = {31,0x6EFFFFEA}, + [I(84,9)] = {31,0x6FFFFFEA}, + [I(85,9)] = {31,0x70FFFFEA}, + [I(86,9)] = {31,0x71FFFFEA}, + [I(87,9)] = {31,0x72FFFFEA}, + [I(88,9)] = {X32,0xFCFFFFEA}, + [I(89,9)] = {31,0x73FFFFEA}, + [I(90,9)] = {X32,0xFDFFFFEA}, + [I(91,9)] = {64,0}, + [I(92,9)] = {64,0}, + [I(93,9)] = {64,0}, + [I(94,9)] = {64,0}, + [I(95,9)] = {30,0x22FFFFEA}, + [I(96,9)] = {64,0}, + [I(97,9)] = {29,0x3FFFFEA}, + [I(98,9)] = {30,0x23FFFFEA}, + [I(99,9)] = {29,0x4FFFFEA}, + [I(100,9)] = {30,0x24FFFFEA}, + [I(101,9)] = {29,0x5FFFFEA}, + [I(102,9)] = {30,0x25FFFFEA}, + [I(103,9)] = {30,0x26FFFFEA}, + [I(104,9)] = {30,0x27FFFFEA}, + [I(105,9)] = {29,0x6FFFFEA}, + [I(106,9)] = {31,0x74FFFFEA}, + [I(107,9)] = {31,0x75FFFFEA}, + [I(108,9)] = {30,0x28FFFFEA}, + [I(109,9)] = {30,0x29FFFFEA}, + [I(110,9)] = {30,0x2AFFFFEA}, + [I(111,9)] = {29,0x7FFFFEA}, + [I(112,9)] = {30,0x2BFFFFEA}, + [I(113,9)] = {31,0x76FFFFEA}, + [I(114,9)] = {30,0x2CFFFFEA}, + [I(115,9)] = {29,0x8FFFFEA}, + [I(116,9)] = {29,0x9FFFFEA}, + [I(117,9)] = {30,0x2DFFFFEA}, + [I(118,9)] = {31,0x77FFFFEA}, + [I(119,9)] = {31,0x78FFFFEA}, + [I(120,9)] = {31,0x79FFFFEA}, + [I(121,9)] = {31,0x7AFFFFEA}, + [I(122,9)] = {31,0x7BFFFFEA}, + [I(123,9)] = {64,0}, + [I(124,9)] = {64,0}, + [I(125,9)] = {64,0}, + [I(126,9)] = {64,0}, + [I(127,9)] = {64,0}, + [I(128,9)] = {64,0}, + [I(129,9)] = {64,0}, + [I(130,9)] = {64,0}, + [I(131,9)] = {64,0}, + [I(132,9)] = {64,0}, + [I(133,9)] = {64,0}, + [I(134,9)] = {64,0}, + [I(135,9)] = {64,0}, + [I(136,9)] = {64,0}, + [I(137,9)] = {64,0}, + [I(138,9)] = {64,0}, + [I(139,9)] = {64,0}, + [I(140,9)] = {64,0}, + [I(141,9)] = {64,0}, + [I(142,9)] = {64,0}, + [I(143,9)] = {64,0}, + [I(144,9)] = {64,0}, + [I(145,9)] = {64,0}, + [I(146,9)] = {64,0}, + [I(147,9)] = {64,0}, + [I(148,9)] = {64,0}, + [I(149,9)] = {64,0}, + [I(150,9)] = {64,0}, + [I(151,9)] = {64,0}, + [I(152,9)] = {64,0}, + [I(153,9)] = {64,0}, + [I(154,9)] = {64,0}, + [I(155,9)] = {64,0}, + [I(156,9)] = {64,0}, + [I(157,9)] = {64,0}, + [I(158,9)] = {64,0}, + [I(159,9)] = {64,0}, + [I(160,9)] = {64,0}, + [I(161,9)] = {64,0}, + [I(162,9)] = {64,0}, + [I(163,9)] = {64,0}, + [I(164,9)] = {64,0}, + [I(165,9)] = {64,0}, + [I(166,9)] = {64,0}, + [I(167,9)] = {64,0}, + [I(168,9)] = {64,0}, + [I(169,9)] = {64,0}, + [I(170,9)] = {64,0}, + [I(171,9)] = {64,0}, + [I(172,9)] = {64,0}, + [I(173,9)] = {64,0}, + [I(174,9)] = {64,0}, + [I(175,9)] = {64,0}, + [I(176,9)] = {64,0}, + [I(177,9)] = {64,0}, + [I(178,9)] = {64,0}, + [I(179,9)] = {64,0}, + [I(180,9)] = {64,0}, + [I(181,9)] = {64,0}, + [I(182,9)] = {64,0}, + [I(183,9)] = {64,0}, + [I(184,9)] = {64,0}, + [I(185,9)] = {64,0}, + [I(186,9)] = {64,0}, + [I(187,9)] = {64,0}, + [I(188,9)] = {64,0}, + [I(189,9)] = {64,0}, + [I(190,9)] = {64,0}, + [I(191,9)] = {64,0}, + [I(192,9)] = {64,0}, + [I(193,9)] = {64,0}, + [I(194,9)] = {64,0}, + [I(195,9)] = {64,0}, + [I(196,9)] = {64,0}, + [I(197,9)] = {64,0}, + [I(198,9)] = {64,0}, + [I(199,9)] = {64,0}, + [I(200,9)] = {64,0}, + [I(201,9)] = {64,0}, + [I(202,9)] = {64,0}, + [I(203,9)] = {64,0}, + [I(204,9)] = {64,0}, + [I(205,9)] = {64,0}, + [I(206,9)] = {64,0}, + [I(207,9)] = {64,0}, + [I(208,9)] = {64,0}, + [I(209,9)] = {64,0}, + [I(210,9)] = {64,0}, + [I(211,9)] = {64,0}, + [I(212,9)] = {64,0}, + [I(213,9)] = {64,0}, + [I(214,9)] = {64,0}, + [I(215,9)] = {64,0}, + [I(216,9)] = {64,0}, + [I(217,9)] = {64,0}, + [I(218,9)] = {64,0}, + [I(219,9)] = {64,0}, + [I(220,9)] = {64,0}, + [I(221,9)] = {64,0}, + [I(222,9)] = {64,0}, + [I(223,9)] = {64,0}, + [I(224,9)] = {64,0}, + [I(225,9)] = {64,0}, + [I(226,9)] = {64,0}, + [I(227,9)] = {64,0}, + [I(228,9)] = {64,0}, + [I(229,9)] = {64,0}, + [I(230,9)] = {64,0}, + [I(231,9)] = {64,0}, + [I(232,9)] = {64,0}, + [I(233,9)] = {64,0}, + [I(234,9)] = {64,0}, + [I(235,9)] = {64,0}, + [I(236,9)] = {64,0}, + [I(237,9)] = {64,0}, + [I(238,9)] = {64,0}, + [I(239,9)] = {64,0}, + [I(240,9)] = {64,0}, + [I(241,9)] = {64,0}, + [I(242,9)] = {64,0}, + [I(243,9)] = {64,0}, + [I(244,9)] = {64,0}, + [I(245,9)] = {64,0}, + [I(246,9)] = {64,0}, + [I(247,9)] = {64,0}, + [I(248,9)] = {64,0}, + [I(249,9)] = {64,0}, + [I(250,9)] = {64,0}, + [I(251,9)] = {64,0}, + [I(252,9)] = {64,0}, + [I(253,9)] = {64,0}, + [I(254,9)] = {64,0}, + [I(255,9)] = {64,0}, + [I(0,10)] = {64,0}, + [I(1,10)] = {64,0}, + [I(2,10)] = {64,0}, + [I(3,10)] = {64,0}, + [I(4,10)] = {64,0}, + [I(5,10)] = {64,0}, + [I(6,10)] = {64,0}, + [I(7,10)] = {64,0}, + [I(8,10)] = {64,0}, + [I(9,10)] = {64,0}, + [I(10,10)] = {64,0}, + [I(11,10)] = {64,0}, + [I(12,10)] = {64,0}, + [I(13,10)] = {64,0}, + [I(14,10)] = {64,0}, + [I(15,10)] = {64,0}, + [I(16,10)] = {64,0}, + [I(17,10)] = {64,0}, + [I(18,10)] = {64,0}, + [I(19,10)] = {64,0}, + [I(20,10)] = {64,0}, + [I(21,10)] = {64,0}, + [I(22,10)] = {64,0}, + [I(23,10)] = {64,0}, + [I(24,10)] = {64,0}, + [I(25,10)] = {64,0}, + [I(26,10)] = {64,0}, + [I(27,10)] = {64,0}, + [I(28,10)] = {64,0}, + [I(29,10)] = {64,0}, + [I(30,10)] = {64,0}, + [I(31,10)] = {64,0}, + [I(32,10)] = {64,0}, + [I(33,10)] = {64,0}, + [I(34,10)] = {64,0}, + [I(35,10)] = {64,0}, + [I(36,10)] = {64,0}, + [I(37,10)] = {64,0}, + [I(38,10)] = {64,0}, + [I(39,10)] = {64,0}, + [I(40,10)] = {64,0}, + [I(41,10)] = {64,0}, + [I(42,10)] = {64,0}, + [I(43,10)] = {64,0}, + [I(44,10)] = {64,0}, + [I(45,10)] = {64,0}, + [I(46,10)] = {64,0}, + [I(47,10)] = {64,0}, + [I(48,10)] = {64,0}, + [I(49,10)] = {64,0}, + [I(50,10)] = {64,0}, + [I(51,10)] = {64,0}, + [I(52,10)] = {64,0}, + [I(53,10)] = {64,0}, + [I(54,10)] = {64,0}, + [I(55,10)] = {64,0}, + [I(56,10)] = {64,0}, + [I(57,10)] = {64,0}, + [I(58,10)] = {64,0}, + [I(59,10)] = {64,0}, + [I(60,10)] = {64,0}, + [I(61,10)] = {64,0}, + [I(62,10)] = {64,0}, + [I(63,10)] = {64,0}, + [I(64,10)] = {64,0}, + [I(65,10)] = {64,0}, + [I(66,10)] = {64,0}, + [I(67,10)] = {64,0}, + [I(68,10)] = {64,0}, + [I(69,10)] = {64,0}, + [I(70,10)] = {64,0}, + [I(71,10)] = {64,0}, + [I(72,10)] = {64,0}, + [I(73,10)] = {64,0}, + [I(74,10)] = {64,0}, + [I(75,10)] = {64,0}, + [I(76,10)] = {64,0}, + [I(77,10)] = {64,0}, + [I(78,10)] = {64,0}, + [I(79,10)] = {64,0}, + [I(80,10)] = {64,0}, + [I(81,10)] = {64,0}, + [I(82,10)] = {64,0}, + [I(83,10)] = {64,0}, + [I(84,10)] = {64,0}, + [I(85,10)] = {64,0}, + [I(86,10)] = {64,0}, + [I(87,10)] = {64,0}, + [I(88,10)] = {64,0}, + [I(89,10)] = {64,0}, + [I(90,10)] = {64,0}, + [I(91,10)] = {64,0}, + [I(92,10)] = {64,0}, + [I(93,10)] = {64,0}, + [I(94,10)] = {64,0}, + [I(95,10)] = {64,0}, + [I(96,10)] = {64,0}, + [I(97,10)] = {64,0}, + [I(98,10)] = {64,0}, + [I(99,10)] = {64,0}, + [I(100,10)] = {64,0}, + [I(101,10)] = {64,0}, + [I(102,10)] = {64,0}, + [I(103,10)] = {64,0}, + [I(104,10)] = {64,0}, + [I(105,10)] = {64,0}, + [I(106,10)] = {64,0}, + [I(107,10)] = {64,0}, + [I(108,10)] = {64,0}, + [I(109,10)] = {64,0}, + [I(110,10)] = {64,0}, + [I(111,10)] = {64,0}, + [I(112,10)] = {64,0}, + [I(113,10)] = {64,0}, + [I(114,10)] = {64,0}, + [I(115,10)] = {64,0}, + [I(116,10)] = {64,0}, + [I(117,10)] = {64,0}, + [I(118,10)] = {64,0}, + [I(119,10)] = {64,0}, + [I(120,10)] = {64,0}, + [I(121,10)] = {64,0}, + [I(122,10)] = {64,0}, + [I(123,10)] = {64,0}, + [I(124,10)] = {64,0}, + [I(125,10)] = {64,0}, + [I(126,10)] = {64,0}, + [I(127,10)] = {64,0}, + [I(128,10)] = {64,0}, + [I(129,10)] = {64,0}, + [I(130,10)] = {64,0}, + [I(131,10)] = {64,0}, + [I(132,10)] = {64,0}, + [I(133,10)] = {64,0}, + [I(134,10)] = {64,0}, + [I(135,10)] = {64,0}, + [I(136,10)] = {64,0}, + [I(137,10)] = {64,0}, + [I(138,10)] = {64,0}, + [I(139,10)] = {64,0}, + [I(140,10)] = {64,0}, + [I(141,10)] = {64,0}, + [I(142,10)] = {64,0}, + [I(143,10)] = {64,0}, + [I(144,10)] = {64,0}, + [I(145,10)] = {64,0}, + [I(146,10)] = {64,0}, + [I(147,10)] = {64,0}, + [I(148,10)] = {64,0}, + [I(149,10)] = {64,0}, + [I(150,10)] = {64,0}, + [I(151,10)] = {64,0}, + [I(152,10)] = {64,0}, + [I(153,10)] = {64,0}, + [I(154,10)] = {64,0}, + [I(155,10)] = {64,0}, + [I(156,10)] = {64,0}, + [I(157,10)] = {64,0}, + [I(158,10)] = {64,0}, + [I(159,10)] = {64,0}, + [I(160,10)] = {64,0}, + [I(161,10)] = {64,0}, + [I(162,10)] = {64,0}, + [I(163,10)] = {64,0}, + [I(164,10)] = {64,0}, + [I(165,10)] = {64,0}, + [I(166,10)] = {64,0}, + [I(167,10)] = {64,0}, + [I(168,10)] = {64,0}, + [I(169,10)] = {64,0}, + [I(170,10)] = {64,0}, + [I(171,10)] = {64,0}, + [I(172,10)] = {64,0}, + [I(173,10)] = {64,0}, + [I(174,10)] = {64,0}, + [I(175,10)] = {64,0}, + [I(176,10)] = {64,0}, + [I(177,10)] = {64,0}, + [I(178,10)] = {64,0}, + [I(179,10)] = {64,0}, + [I(180,10)] = {64,0}, + [I(181,10)] = {64,0}, + [I(182,10)] = {64,0}, + [I(183,10)] = {64,0}, + [I(184,10)] = {64,0}, + [I(185,10)] = {64,0}, + [I(186,10)] = {64,0}, + [I(187,10)] = {64,0}, + [I(188,10)] = {64,0}, + [I(189,10)] = {64,0}, + [I(190,10)] = {64,0}, + [I(191,10)] = {64,0}, + [I(192,10)] = {64,0}, + [I(193,10)] = {64,0}, + [I(194,10)] = {64,0}, + [I(195,10)] = {64,0}, + [I(196,10)] = {64,0}, + [I(197,10)] = {64,0}, + [I(198,10)] = {64,0}, + [I(199,10)] = {64,0}, + [I(200,10)] = {64,0}, + [I(201,10)] = {64,0}, + [I(202,10)] = {64,0}, + [I(203,10)] = {64,0}, + [I(204,10)] = {64,0}, + [I(205,10)] = {64,0}, + [I(206,10)] = {64,0}, + [I(207,10)] = {64,0}, + [I(208,10)] = {64,0}, + [I(209,10)] = {64,0}, + [I(210,10)] = {64,0}, + [I(211,10)] = {64,0}, + [I(212,10)] = {64,0}, + [I(213,10)] = {64,0}, + [I(214,10)] = {64,0}, + [I(215,10)] = {64,0}, + [I(216,10)] = {64,0}, + [I(217,10)] = {64,0}, + [I(218,10)] = {64,0}, + [I(219,10)] = {64,0}, + [I(220,10)] = {64,0}, + [I(221,10)] = {64,0}, + [I(222,10)] = {64,0}, + [I(223,10)] = {64,0}, + [I(224,10)] = {64,0}, + [I(225,10)] = {64,0}, + [I(226,10)] = {64,0}, + [I(227,10)] = {64,0}, + [I(228,10)] = {64,0}, + [I(229,10)] = {64,0}, + [I(230,10)] = {64,0}, + [I(231,10)] = {64,0}, + [I(232,10)] = {64,0}, + [I(233,10)] = {64,0}, + [I(234,10)] = {64,0}, + [I(235,10)] = {64,0}, + [I(236,10)] = {64,0}, + [I(237,10)] = {64,0}, + [I(238,10)] = {64,0}, + [I(239,10)] = {64,0}, + [I(240,10)] = {64,0}, + [I(241,10)] = {64,0}, + [I(242,10)] = {64,0}, + [I(243,10)] = {64,0}, + [I(244,10)] = {64,0}, + [I(245,10)] = {64,0}, + [I(246,10)] = {64,0}, + [I(247,10)] = {64,0}, + [I(248,10)] = {64,0}, + [I(249,10)] = {64,0}, + [I(250,10)] = {64,0}, + [I(251,10)] = {64,0}, + [I(252,10)] = {64,0}, + [I(253,10)] = {64,0}, + [I(254,10)] = {64,0}, + [I(255,10)] = {64,0}, + [I(0,11)] = {64,0}, + [I(1,11)] = {64,0}, + [I(2,11)] = {64,0}, + [I(3,11)] = {64,0}, + [I(4,11)] = {64,0}, + [I(5,11)] = {64,0}, + [I(6,11)] = {64,0}, + [I(7,11)] = {64,0}, + [I(8,11)] = {64,0}, + [I(9,11)] = {64,0}, + [I(10,11)] = {64,0}, + [I(11,11)] = {64,0}, + [I(12,11)] = {64,0}, + [I(13,11)] = {64,0}, + [I(14,11)] = {64,0}, + [I(15,11)] = {64,0}, + [I(16,11)] = {64,0}, + [I(17,11)] = {64,0}, + [I(18,11)] = {64,0}, + [I(19,11)] = {64,0}, + [I(20,11)] = {64,0}, + [I(21,11)] = {64,0}, + [I(22,11)] = {64,0}, + [I(23,11)] = {64,0}, + [I(24,11)] = {64,0}, + [I(25,11)] = {64,0}, + [I(26,11)] = {64,0}, + [I(27,11)] = {64,0}, + [I(28,11)] = {64,0}, + [I(29,11)] = {64,0}, + [I(30,11)] = {64,0}, + [I(31,11)] = {64,0}, + [I(32,11)] = {64,0}, + [I(33,11)] = {64,0}, + [I(34,11)] = {64,0}, + [I(35,11)] = {64,0}, + [I(36,11)] = {64,0}, + [I(37,11)] = {64,0}, + [I(38,11)] = {64,0}, + [I(39,11)] = {64,0}, + [I(40,11)] = {64,0}, + [I(41,11)] = {64,0}, + [I(42,11)] = {64,0}, + [I(43,11)] = {64,0}, + [I(44,11)] = {64,0}, + [I(45,11)] = {64,0}, + [I(46,11)] = {64,0}, + [I(47,11)] = {64,0}, + [I(48,11)] = {64,0}, + [I(49,11)] = {64,0}, + [I(50,11)] = {64,0}, + [I(51,11)] = {64,0}, + [I(52,11)] = {64,0}, + [I(53,11)] = {64,0}, + [I(54,11)] = {64,0}, + [I(55,11)] = {64,0}, + [I(56,11)] = {64,0}, + [I(57,11)] = {64,0}, + [I(58,11)] = {64,0}, + [I(59,11)] = {64,0}, + [I(60,11)] = {64,0}, + [I(61,11)] = {64,0}, + [I(62,11)] = {64,0}, + [I(63,11)] = {64,0}, + [I(64,11)] = {64,0}, + [I(65,11)] = {64,0}, + [I(66,11)] = {64,0}, + [I(67,11)] = {64,0}, + [I(68,11)] = {64,0}, + [I(69,11)] = {64,0}, + [I(70,11)] = {64,0}, + [I(71,11)] = {64,0}, + [I(72,11)] = {64,0}, + [I(73,11)] = {64,0}, + [I(74,11)] = {64,0}, + [I(75,11)] = {64,0}, + [I(76,11)] = {64,0}, + [I(77,11)] = {64,0}, + [I(78,11)] = {64,0}, + [I(79,11)] = {64,0}, + [I(80,11)] = {64,0}, + [I(81,11)] = {64,0}, + [I(82,11)] = {64,0}, + [I(83,11)] = {64,0}, + [I(84,11)] = {64,0}, + [I(85,11)] = {64,0}, + [I(86,11)] = {64,0}, + [I(87,11)] = {64,0}, + [I(88,11)] = {64,0}, + [I(89,11)] = {64,0}, + [I(90,11)] = {64,0}, + [I(91,11)] = {64,0}, + [I(92,11)] = {64,0}, + [I(93,11)] = {64,0}, + [I(94,11)] = {64,0}, + [I(95,11)] = {64,0}, + [I(96,11)] = {64,0}, + [I(97,11)] = {64,0}, + [I(98,11)] = {64,0}, + [I(99,11)] = {64,0}, + [I(100,11)] = {64,0}, + [I(101,11)] = {64,0}, + [I(102,11)] = {64,0}, + [I(103,11)] = {64,0}, + [I(104,11)] = {64,0}, + [I(105,11)] = {64,0}, + [I(106,11)] = {64,0}, + [I(107,11)] = {64,0}, + [I(108,11)] = {64,0}, + [I(109,11)] = {64,0}, + [I(110,11)] = {64,0}, + [I(111,11)] = {64,0}, + [I(112,11)] = {64,0}, + [I(113,11)] = {64,0}, + [I(114,11)] = {64,0}, + [I(115,11)] = {64,0}, + [I(116,11)] = {64,0}, + [I(117,11)] = {64,0}, + [I(118,11)] = {64,0}, + [I(119,11)] = {64,0}, + [I(120,11)] = {64,0}, + [I(121,11)] = {64,0}, + [I(122,11)] = {64,0}, + [I(123,11)] = {64,0}, + [I(124,11)] = {64,0}, + [I(125,11)] = {64,0}, + [I(126,11)] = {64,0}, + [I(127,11)] = {64,0}, + [I(128,11)] = {64,0}, + [I(129,11)] = {64,0}, + [I(130,11)] = {64,0}, + [I(131,11)] = {64,0}, + [I(132,11)] = {64,0}, + [I(133,11)] = {64,0}, + [I(134,11)] = {64,0}, + [I(135,11)] = {64,0}, + [I(136,11)] = {64,0}, + [I(137,11)] = {64,0}, + [I(138,11)] = {64,0}, + [I(139,11)] = {64,0}, + [I(140,11)] = {64,0}, + [I(141,11)] = {64,0}, + [I(142,11)] = {64,0}, + [I(143,11)] = {64,0}, + [I(144,11)] = {64,0}, + [I(145,11)] = {64,0}, + [I(146,11)] = {64,0}, + [I(147,11)] = {64,0}, + [I(148,11)] = {64,0}, + [I(149,11)] = {64,0}, + [I(150,11)] = {64,0}, + [I(151,11)] = {64,0}, + [I(152,11)] = {64,0}, + [I(153,11)] = {64,0}, + [I(154,11)] = {64,0}, + [I(155,11)] = {64,0}, + [I(156,11)] = {64,0}, + [I(157,11)] = {64,0}, + [I(158,11)] = {64,0}, + [I(159,11)] = {64,0}, + [I(160,11)] = {64,0}, + [I(161,11)] = {64,0}, + [I(162,11)] = {64,0}, + [I(163,11)] = {64,0}, + [I(164,11)] = {64,0}, + [I(165,11)] = {64,0}, + [I(166,11)] = {64,0}, + [I(167,11)] = {64,0}, + [I(168,11)] = {64,0}, + [I(169,11)] = {64,0}, + [I(170,11)] = {64,0}, + [I(171,11)] = {64,0}, + [I(172,11)] = {64,0}, + [I(173,11)] = {64,0}, + [I(174,11)] = {64,0}, + [I(175,11)] = {64,0}, + [I(176,11)] = {64,0}, + [I(177,11)] = {64,0}, + [I(178,11)] = {64,0}, + [I(179,11)] = {64,0}, + [I(180,11)] = {64,0}, + [I(181,11)] = {64,0}, + [I(182,11)] = {64,0}, + [I(183,11)] = {64,0}, + [I(184,11)] = {64,0}, + [I(185,11)] = {64,0}, + [I(186,11)] = {64,0}, + [I(187,11)] = {64,0}, + [I(188,11)] = {64,0}, + [I(189,11)] = {64,0}, + [I(190,11)] = {64,0}, + [I(191,11)] = {64,0}, + [I(192,11)] = {64,0}, + [I(193,11)] = {64,0}, + [I(194,11)] = {64,0}, + [I(195,11)] = {64,0}, + [I(196,11)] = {64,0}, + [I(197,11)] = {64,0}, + [I(198,11)] = {64,0}, + [I(199,11)] = {64,0}, + [I(200,11)] = {64,0}, + [I(201,11)] = {64,0}, + [I(202,11)] = {64,0}, + [I(203,11)] = {64,0}, + [I(204,11)] = {64,0}, + [I(205,11)] = {64,0}, + [I(206,11)] = {64,0}, + [I(207,11)] = {64,0}, + [I(208,11)] = {64,0}, + [I(209,11)] = {64,0}, + [I(210,11)] = {64,0}, + [I(211,11)] = {64,0}, + [I(212,11)] = {64,0}, + [I(213,11)] = {64,0}, + [I(214,11)] = {64,0}, + [I(215,11)] = {64,0}, + [I(216,11)] = {64,0}, + [I(217,11)] = {64,0}, + [I(218,11)] = {64,0}, + [I(219,11)] = {64,0}, + [I(220,11)] = {64,0}, + [I(221,11)] = {64,0}, + [I(222,11)] = {64,0}, + [I(223,11)] = {64,0}, + [I(224,11)] = {64,0}, + [I(225,11)] = {64,0}, + [I(226,11)] = {64,0}, + [I(227,11)] = {64,0}, + [I(228,11)] = {64,0}, + [I(229,11)] = {64,0}, + [I(230,11)] = {64,0}, + [I(231,11)] = {64,0}, + [I(232,11)] = {64,0}, + [I(233,11)] = {64,0}, + [I(234,11)] = {64,0}, + [I(235,11)] = {64,0}, + [I(236,11)] = {64,0}, + [I(237,11)] = {64,0}, + [I(238,11)] = {64,0}, + [I(239,11)] = {64,0}, + [I(240,11)] = {64,0}, + [I(241,11)] = {64,0}, + [I(242,11)] = {64,0}, + [I(243,11)] = {64,0}, + [I(244,11)] = {64,0}, + [I(245,11)] = {64,0}, + [I(246,11)] = {64,0}, + [I(247,11)] = {64,0}, + [I(248,11)] = {64,0}, + [I(249,11)] = {64,0}, + [I(250,11)] = {64,0}, + [I(251,11)] = {64,0}, + [I(252,11)] = {64,0}, + [I(253,11)] = {64,0}, + [I(254,11)] = {64,0}, + [I(255,11)] = {64,0}, + [I(0,12)] = {64,0}, + [I(1,12)] = {64,0}, + [I(2,12)] = {64,0}, + [I(3,12)] = {64,0}, + [I(4,12)] = {64,0}, + [I(5,12)] = {64,0}, + [I(6,12)] = {64,0}, + [I(7,12)] = {64,0}, + [I(8,12)] = {64,0}, + [I(9,12)] = {64,0}, + [I(10,12)] = {64,0}, + [I(11,12)] = {64,0}, + [I(12,12)] = {64,0}, + [I(13,12)] = {64,0}, + [I(14,12)] = {64,0}, + [I(15,12)] = {64,0}, + [I(16,12)] = {64,0}, + [I(17,12)] = {64,0}, + [I(18,12)] = {64,0}, + [I(19,12)] = {64,0}, + [I(20,12)] = {64,0}, + [I(21,12)] = {64,0}, + [I(22,12)] = {64,0}, + [I(23,12)] = {64,0}, + [I(24,12)] = {64,0}, + [I(25,12)] = {64,0}, + [I(26,12)] = {64,0}, + [I(27,12)] = {64,0}, + [I(28,12)] = {64,0}, + [I(29,12)] = {64,0}, + [I(30,12)] = {64,0}, + [I(31,12)] = {64,0}, + [I(32,12)] = {64,0}, + [I(33,12)] = {64,0}, + [I(34,12)] = {64,0}, + [I(35,12)] = {64,0}, + [I(36,12)] = {64,0}, + [I(37,12)] = {64,0}, + [I(38,12)] = {64,0}, + [I(39,12)] = {64,0}, + [I(40,12)] = {64,0}, + [I(41,12)] = {64,0}, + [I(42,12)] = {64,0}, + [I(43,12)] = {64,0}, + [I(44,12)] = {64,0}, + [I(45,12)] = {64,0}, + [I(46,12)] = {64,0}, + [I(47,12)] = {64,0}, + [I(48,12)] = {64,0}, + [I(49,12)] = {64,0}, + [I(50,12)] = {64,0}, + [I(51,12)] = {64,0}, + [I(52,12)] = {64,0}, + [I(53,12)] = {64,0}, + [I(54,12)] = {64,0}, + [I(55,12)] = {64,0}, + [I(56,12)] = {64,0}, + [I(57,12)] = {64,0}, + [I(58,12)] = {64,0}, + [I(59,12)] = {64,0}, + [I(60,12)] = {64,0}, + [I(61,12)] = {64,0}, + [I(62,12)] = {64,0}, + [I(63,12)] = {64,0}, + [I(64,12)] = {64,0}, + [I(65,12)] = {64,0}, + [I(66,12)] = {64,0}, + [I(67,12)] = {64,0}, + [I(68,12)] = {64,0}, + [I(69,12)] = {64,0}, + [I(70,12)] = {64,0}, + [I(71,12)] = {64,0}, + [I(72,12)] = {64,0}, + [I(73,12)] = {64,0}, + [I(74,12)] = {64,0}, + [I(75,12)] = {64,0}, + [I(76,12)] = {64,0}, + [I(77,12)] = {64,0}, + [I(78,12)] = {64,0}, + [I(79,12)] = {64,0}, + [I(80,12)] = {64,0}, + [I(81,12)] = {64,0}, + [I(82,12)] = {64,0}, + [I(83,12)] = {64,0}, + [I(84,12)] = {64,0}, + [I(85,12)] = {64,0}, + [I(86,12)] = {64,0}, + [I(87,12)] = {64,0}, + [I(88,12)] = {64,0}, + [I(89,12)] = {64,0}, + [I(90,12)] = {64,0}, + [I(91,12)] = {64,0}, + [I(92,12)] = {64,0}, + [I(93,12)] = {64,0}, + [I(94,12)] = {64,0}, + [I(95,12)] = {64,0}, + [I(96,12)] = {64,0}, + [I(97,12)] = {64,0}, + [I(98,12)] = {64,0}, + [I(99,12)] = {64,0}, + [I(100,12)] = {64,0}, + [I(101,12)] = {64,0}, + [I(102,12)] = {64,0}, + [I(103,12)] = {64,0}, + [I(104,12)] = {64,0}, + [I(105,12)] = {64,0}, + [I(106,12)] = {64,0}, + [I(107,12)] = {64,0}, + [I(108,12)] = {64,0}, + [I(109,12)] = {64,0}, + [I(110,12)] = {64,0}, + [I(111,12)] = {64,0}, + [I(112,12)] = {64,0}, + [I(113,12)] = {64,0}, + [I(114,12)] = {64,0}, + [I(115,12)] = {64,0}, + [I(116,12)] = {64,0}, + [I(117,12)] = {64,0}, + [I(118,12)] = {64,0}, + [I(119,12)] = {64,0}, + [I(120,12)] = {64,0}, + [I(121,12)] = {64,0}, + [I(122,12)] = {64,0}, + [I(123,12)] = {64,0}, + [I(124,12)] = {64,0}, + [I(125,12)] = {64,0}, + [I(126,12)] = {64,0}, + [I(127,12)] = {64,0}, + [I(128,12)] = {64,0}, + [I(129,12)] = {64,0}, + [I(130,12)] = {64,0}, + [I(131,12)] = {64,0}, + [I(132,12)] = {64,0}, + [I(133,12)] = {64,0}, + [I(134,12)] = {64,0}, + [I(135,12)] = {64,0}, + [I(136,12)] = {64,0}, + [I(137,12)] = {64,0}, + [I(138,12)] = {64,0}, + [I(139,12)] = {64,0}, + [I(140,12)] = {64,0}, + [I(141,12)] = {64,0}, + [I(142,12)] = {64,0}, + [I(143,12)] = {64,0}, + [I(144,12)] = {64,0}, + [I(145,12)] = {64,0}, + [I(146,12)] = {64,0}, + [I(147,12)] = {64,0}, + [I(148,12)] = {64,0}, + [I(149,12)] = {64,0}, + [I(150,12)] = {64,0}, + [I(151,12)] = {64,0}, + [I(152,12)] = {64,0}, + [I(153,12)] = {64,0}, + [I(154,12)] = {64,0}, + [I(155,12)] = {64,0}, + [I(156,12)] = {64,0}, + [I(157,12)] = {64,0}, + [I(158,12)] = {64,0}, + [I(159,12)] = {64,0}, + [I(160,12)] = {64,0}, + [I(161,12)] = {64,0}, + [I(162,12)] = {64,0}, + [I(163,12)] = {64,0}, + [I(164,12)] = {64,0}, + [I(165,12)] = {64,0}, + [I(166,12)] = {64,0}, + [I(167,12)] = {64,0}, + [I(168,12)] = {64,0}, + [I(169,12)] = {64,0}, + [I(170,12)] = {64,0}, + [I(171,12)] = {64,0}, + [I(172,12)] = {64,0}, + [I(173,12)] = {64,0}, + [I(174,12)] = {64,0}, + [I(175,12)] = {64,0}, + [I(176,12)] = {64,0}, + [I(177,12)] = {64,0}, + [I(178,12)] = {64,0}, + [I(179,12)] = {64,0}, + [I(180,12)] = {64,0}, + [I(181,12)] = {64,0}, + [I(182,12)] = {64,0}, + [I(183,12)] = {64,0}, + [I(184,12)] = {64,0}, + [I(185,12)] = {64,0}, + [I(186,12)] = {64,0}, + [I(187,12)] = {64,0}, + [I(188,12)] = {64,0}, + [I(189,12)] = {64,0}, + [I(190,12)] = {64,0}, + [I(191,12)] = {64,0}, + [I(192,12)] = {64,0}, + [I(193,12)] = {64,0}, + [I(194,12)] = {64,0}, + [I(195,12)] = {64,0}, + [I(196,12)] = {64,0}, + [I(197,12)] = {64,0}, + [I(198,12)] = {64,0}, + [I(199,12)] = {64,0}, + [I(200,12)] = {64,0}, + [I(201,12)] = {64,0}, + [I(202,12)] = {64,0}, + [I(203,12)] = {64,0}, + [I(204,12)] = {64,0}, + [I(205,12)] = {64,0}, + [I(206,12)] = {64,0}, + [I(207,12)] = {64,0}, + [I(208,12)] = {64,0}, + [I(209,12)] = {64,0}, + [I(210,12)] = {64,0}, + [I(211,12)] = {64,0}, + [I(212,12)] = {64,0}, + [I(213,12)] = {64,0}, + [I(214,12)] = {64,0}, + [I(215,12)] = {64,0}, + [I(216,12)] = {64,0}, + [I(217,12)] = {64,0}, + [I(218,12)] = {64,0}, + [I(219,12)] = {64,0}, + [I(220,12)] = {64,0}, + [I(221,12)] = {64,0}, + [I(222,12)] = {64,0}, + [I(223,12)] = {64,0}, + [I(224,12)] = {64,0}, + [I(225,12)] = {64,0}, + [I(226,12)] = {64,0}, + [I(227,12)] = {64,0}, + [I(228,12)] = {64,0}, + [I(229,12)] = {64,0}, + [I(230,12)] = {64,0}, + [I(231,12)] = {64,0}, + [I(232,12)] = {64,0}, + [I(233,12)] = {64,0}, + [I(234,12)] = {64,0}, + [I(235,12)] = {64,0}, + [I(236,12)] = {64,0}, + [I(237,12)] = {64,0}, + [I(238,12)] = {64,0}, + [I(239,12)] = {64,0}, + [I(240,12)] = {64,0}, + [I(241,12)] = {64,0}, + [I(242,12)] = {64,0}, + [I(243,12)] = {64,0}, + [I(244,12)] = {64,0}, + [I(245,12)] = {64,0}, + [I(246,12)] = {64,0}, + [I(247,12)] = {64,0}, + [I(248,12)] = {64,0}, + [I(249,12)] = {64,0}, + [I(250,12)] = {64,0}, + [I(251,12)] = {64,0}, + [I(252,12)] = {64,0}, + [I(253,12)] = {64,0}, + [I(254,12)] = {64,0}, + [I(255,12)] = {64,0}, + [I(0,13)] = {64,0}, + [I(1,13)] = {64,0}, + [I(2,13)] = {64,0}, + [I(3,13)] = {64,0}, + [I(4,13)] = {64,0}, + [I(5,13)] = {64,0}, + [I(6,13)] = {64,0}, + [I(7,13)] = {64,0}, + [I(8,13)] = {64,0}, + [I(9,13)] = {64,0}, + [I(10,13)] = {64,0}, + [I(11,13)] = {64,0}, + [I(12,13)] = {64,0}, + [I(13,13)] = {64,0}, + [I(14,13)] = {64,0}, + [I(15,13)] = {64,0}, + [I(16,13)] = {64,0}, + [I(17,13)] = {64,0}, + [I(18,13)] = {64,0}, + [I(19,13)] = {64,0}, + [I(20,13)] = {64,0}, + [I(21,13)] = {64,0}, + [I(22,13)] = {64,0}, + [I(23,13)] = {64,0}, + [I(24,13)] = {64,0}, + [I(25,13)] = {64,0}, + [I(26,13)] = {64,0}, + [I(27,13)] = {64,0}, + [I(28,13)] = {64,0}, + [I(29,13)] = {64,0}, + [I(30,13)] = {64,0}, + [I(31,13)] = {64,0}, + [I(32,13)] = {64,0}, + [I(33,13)] = {64,0}, + [I(34,13)] = {64,0}, + [I(35,13)] = {64,0}, + [I(36,13)] = {64,0}, + [I(37,13)] = {64,0}, + [I(38,13)] = {64,0}, + [I(39,13)] = {64,0}, + [I(40,13)] = {64,0}, + [I(41,13)] = {64,0}, + [I(42,13)] = {64,0}, + [I(43,13)] = {64,0}, + [I(44,13)] = {64,0}, + [I(45,13)] = {64,0}, + [I(46,13)] = {64,0}, + [I(47,13)] = {64,0}, + [I(48,13)] = {64,0}, + [I(49,13)] = {64,0}, + [I(50,13)] = {64,0}, + [I(51,13)] = {64,0}, + [I(52,13)] = {64,0}, + [I(53,13)] = {64,0}, + [I(54,13)] = {64,0}, + [I(55,13)] = {64,0}, + [I(56,13)] = {64,0}, + [I(57,13)] = {64,0}, + [I(58,13)] = {64,0}, + [I(59,13)] = {64,0}, + [I(60,13)] = {64,0}, + [I(61,13)] = {64,0}, + [I(62,13)] = {64,0}, + [I(63,13)] = {64,0}, + [I(64,13)] = {64,0}, + [I(65,13)] = {64,0}, + [I(66,13)] = {64,0}, + [I(67,13)] = {64,0}, + [I(68,13)] = {64,0}, + [I(69,13)] = {64,0}, + [I(70,13)] = {64,0}, + [I(71,13)] = {64,0}, + [I(72,13)] = {64,0}, + [I(73,13)] = {64,0}, + [I(74,13)] = {64,0}, + [I(75,13)] = {64,0}, + [I(76,13)] = {64,0}, + [I(77,13)] = {64,0}, + [I(78,13)] = {64,0}, + [I(79,13)] = {64,0}, + [I(80,13)] = {64,0}, + [I(81,13)] = {64,0}, + [I(82,13)] = {64,0}, + [I(83,13)] = {64,0}, + [I(84,13)] = {64,0}, + [I(85,13)] = {64,0}, + [I(86,13)] = {64,0}, + [I(87,13)] = {64,0}, + [I(88,13)] = {64,0}, + [I(89,13)] = {64,0}, + [I(90,13)] = {64,0}, + [I(91,13)] = {64,0}, + [I(92,13)] = {64,0}, + [I(93,13)] = {64,0}, + [I(94,13)] = {64,0}, + [I(95,13)] = {64,0}, + [I(96,13)] = {64,0}, + [I(97,13)] = {64,0}, + [I(98,13)] = {64,0}, + [I(99,13)] = {64,0}, + [I(100,13)] = {64,0}, + [I(101,13)] = {64,0}, + [I(102,13)] = {64,0}, + [I(103,13)] = {64,0}, + [I(104,13)] = {64,0}, + [I(105,13)] = {64,0}, + [I(106,13)] = {64,0}, + [I(107,13)] = {64,0}, + [I(108,13)] = {64,0}, + [I(109,13)] = {64,0}, + [I(110,13)] = {64,0}, + [I(111,13)] = {64,0}, + [I(112,13)] = {64,0}, + [I(113,13)] = {64,0}, + [I(114,13)] = {64,0}, + [I(115,13)] = {64,0}, + [I(116,13)] = {64,0}, + [I(117,13)] = {64,0}, + [I(118,13)] = {64,0}, + [I(119,13)] = {64,0}, + [I(120,13)] = {64,0}, + [I(121,13)] = {64,0}, + [I(122,13)] = {64,0}, + [I(123,13)] = {64,0}, + [I(124,13)] = {64,0}, + [I(125,13)] = {64,0}, + [I(126,13)] = {64,0}, + [I(127,13)] = {64,0}, + [I(128,13)] = {64,0}, + [I(129,13)] = {64,0}, + [I(130,13)] = {64,0}, + [I(131,13)] = {64,0}, + [I(132,13)] = {64,0}, + [I(133,13)] = {64,0}, + [I(134,13)] = {64,0}, + [I(135,13)] = {64,0}, + [I(136,13)] = {64,0}, + [I(137,13)] = {64,0}, + [I(138,13)] = {64,0}, + [I(139,13)] = {64,0}, + [I(140,13)] = {64,0}, + [I(141,13)] = {64,0}, + [I(142,13)] = {64,0}, + [I(143,13)] = {64,0}, + [I(144,13)] = {64,0}, + [I(145,13)] = {64,0}, + [I(146,13)] = {64,0}, + [I(147,13)] = {64,0}, + [I(148,13)] = {64,0}, + [I(149,13)] = {64,0}, + [I(150,13)] = {64,0}, + [I(151,13)] = {64,0}, + [I(152,13)] = {64,0}, + [I(153,13)] = {64,0}, + [I(154,13)] = {64,0}, + [I(155,13)] = {64,0}, + [I(156,13)] = {64,0}, + [I(157,13)] = {64,0}, + [I(158,13)] = {64,0}, + [I(159,13)] = {64,0}, + [I(160,13)] = {64,0}, + [I(161,13)] = {64,0}, + [I(162,13)] = {64,0}, + [I(163,13)] = {64,0}, + [I(164,13)] = {64,0}, + [I(165,13)] = {64,0}, + [I(166,13)] = {64,0}, + [I(167,13)] = {64,0}, + [I(168,13)] = {64,0}, + [I(169,13)] = {64,0}, + [I(170,13)] = {64,0}, + [I(171,13)] = {64,0}, + [I(172,13)] = {64,0}, + [I(173,13)] = {64,0}, + [I(174,13)] = {64,0}, + [I(175,13)] = {64,0}, + [I(176,13)] = {64,0}, + [I(177,13)] = {64,0}, + [I(178,13)] = {64,0}, + [I(179,13)] = {64,0}, + [I(180,13)] = {64,0}, + [I(181,13)] = {64,0}, + [I(182,13)] = {64,0}, + [I(183,13)] = {64,0}, + [I(184,13)] = {64,0}, + [I(185,13)] = {64,0}, + [I(186,13)] = {64,0}, + [I(187,13)] = {64,0}, + [I(188,13)] = {64,0}, + [I(189,13)] = {64,0}, + [I(190,13)] = {64,0}, + [I(191,13)] = {64,0}, + [I(192,13)] = {64,0}, + [I(193,13)] = {64,0}, + [I(194,13)] = {64,0}, + [I(195,13)] = {64,0}, + [I(196,13)] = {64,0}, + [I(197,13)] = {64,0}, + [I(198,13)] = {64,0}, + [I(199,13)] = {64,0}, + [I(200,13)] = {64,0}, + [I(201,13)] = {64,0}, + [I(202,13)] = {64,0}, + [I(203,13)] = {64,0}, + [I(204,13)] = {64,0}, + [I(205,13)] = {64,0}, + [I(206,13)] = {64,0}, + [I(207,13)] = {64,0}, + [I(208,13)] = {64,0}, + [I(209,13)] = {64,0}, + [I(210,13)] = {64,0}, + [I(211,13)] = {64,0}, + [I(212,13)] = {64,0}, + [I(213,13)] = {64,0}, + [I(214,13)] = {64,0}, + [I(215,13)] = {64,0}, + [I(216,13)] = {64,0}, + [I(217,13)] = {64,0}, + [I(218,13)] = {64,0}, + [I(219,13)] = {64,0}, + [I(220,13)] = {64,0}, + [I(221,13)] = {64,0}, + [I(222,13)] = {64,0}, + [I(223,13)] = {64,0}, + [I(224,13)] = {64,0}, + [I(225,13)] = {64,0}, + [I(226,13)] = {64,0}, + [I(227,13)] = {64,0}, + [I(228,13)] = {64,0}, + [I(229,13)] = {64,0}, + [I(230,13)] = {64,0}, + [I(231,13)] = {64,0}, + [I(232,13)] = {64,0}, + [I(233,13)] = {64,0}, + [I(234,13)] = {64,0}, + [I(235,13)] = {64,0}, + [I(236,13)] = {64,0}, + [I(237,13)] = {64,0}, + [I(238,13)] = {64,0}, + [I(239,13)] = {64,0}, + [I(240,13)] = {64,0}, + [I(241,13)] = {64,0}, + [I(242,13)] = {64,0}, + [I(243,13)] = {64,0}, + [I(244,13)] = {64,0}, + [I(245,13)] = {64,0}, + [I(246,13)] = {64,0}, + [I(247,13)] = {64,0}, + [I(248,13)] = {64,0}, + [I(249,13)] = {64,0}, + [I(250,13)] = {64,0}, + [I(251,13)] = {64,0}, + [I(252,13)] = {64,0}, + [I(253,13)] = {64,0}, + [I(254,13)] = {64,0}, + [I(255,13)] = {64,0}, + [I(0,14)] = {64,0}, + [I(1,14)] = {64,0}, + [I(2,14)] = {64,0}, + [I(3,14)] = {64,0}, + [I(4,14)] = {64,0}, + [I(5,14)] = {64,0}, + [I(6,14)] = {64,0}, + [I(7,14)] = {64,0}, + [I(8,14)] = {64,0}, + [I(9,14)] = {64,0}, + [I(10,14)] = {64,0}, + [I(11,14)] = {64,0}, + [I(12,14)] = {64,0}, + [I(13,14)] = {64,0}, + [I(14,14)] = {64,0}, + [I(15,14)] = {64,0}, + [I(16,14)] = {64,0}, + [I(17,14)] = {64,0}, + [I(18,14)] = {64,0}, + [I(19,14)] = {64,0}, + [I(20,14)] = {64,0}, + [I(21,14)] = {64,0}, + [I(22,14)] = {64,0}, + [I(23,14)] = {64,0}, + [I(24,14)] = {64,0}, + [I(25,14)] = {64,0}, + [I(26,14)] = {64,0}, + [I(27,14)] = {64,0}, + [I(28,14)] = {64,0}, + [I(29,14)] = {64,0}, + [I(30,14)] = {64,0}, + [I(31,14)] = {64,0}, + [I(32,14)] = {64,0}, + [I(33,14)] = {64,0}, + [I(34,14)] = {64,0}, + [I(35,14)] = {64,0}, + [I(36,14)] = {64,0}, + [I(37,14)] = {64,0}, + [I(38,14)] = {64,0}, + [I(39,14)] = {64,0}, + [I(40,14)] = {64,0}, + [I(41,14)] = {64,0}, + [I(42,14)] = {64,0}, + [I(43,14)] = {64,0}, + [I(44,14)] = {64,0}, + [I(45,14)] = {64,0}, + [I(46,14)] = {64,0}, + [I(47,14)] = {64,0}, + [I(48,14)] = {64,0}, + [I(49,14)] = {64,0}, + [I(50,14)] = {64,0}, + [I(51,14)] = {64,0}, + [I(52,14)] = {64,0}, + [I(53,14)] = {64,0}, + [I(54,14)] = {64,0}, + [I(55,14)] = {64,0}, + [I(56,14)] = {64,0}, + [I(57,14)] = {64,0}, + [I(58,14)] = {64,0}, + [I(59,14)] = {64,0}, + [I(60,14)] = {64,0}, + [I(61,14)] = {64,0}, + [I(62,14)] = {64,0}, + [I(63,14)] = {64,0}, + [I(64,14)] = {64,0}, + [I(65,14)] = {64,0}, + [I(66,14)] = {64,0}, + [I(67,14)] = {64,0}, + [I(68,14)] = {64,0}, + [I(69,14)] = {64,0}, + [I(70,14)] = {64,0}, + [I(71,14)] = {64,0}, + [I(72,14)] = {64,0}, + [I(73,14)] = {64,0}, + [I(74,14)] = {64,0}, + [I(75,14)] = {64,0}, + [I(76,14)] = {64,0}, + [I(77,14)] = {64,0}, + [I(78,14)] = {64,0}, + [I(79,14)] = {64,0}, + [I(80,14)] = {64,0}, + [I(81,14)] = {64,0}, + [I(82,14)] = {64,0}, + [I(83,14)] = {64,0}, + [I(84,14)] = {64,0}, + [I(85,14)] = {64,0}, + [I(86,14)] = {64,0}, + [I(87,14)] = {64,0}, + [I(88,14)] = {64,0}, + [I(89,14)] = {64,0}, + [I(90,14)] = {64,0}, + [I(91,14)] = {64,0}, + [I(92,14)] = {64,0}, + [I(93,14)] = {64,0}, + [I(94,14)] = {64,0}, + [I(95,14)] = {64,0}, + [I(96,14)] = {64,0}, + [I(97,14)] = {64,0}, + [I(98,14)] = {64,0}, + [I(99,14)] = {64,0}, + [I(100,14)] = {64,0}, + [I(101,14)] = {64,0}, + [I(102,14)] = {64,0}, + [I(103,14)] = {64,0}, + [I(104,14)] = {64,0}, + [I(105,14)] = {64,0}, + [I(106,14)] = {64,0}, + [I(107,14)] = {64,0}, + [I(108,14)] = {64,0}, + [I(109,14)] = {64,0}, + [I(110,14)] = {64,0}, + [I(111,14)] = {64,0}, + [I(112,14)] = {64,0}, + [I(113,14)] = {64,0}, + [I(114,14)] = {64,0}, + [I(115,14)] = {64,0}, + [I(116,14)] = {64,0}, + [I(117,14)] = {64,0}, + [I(118,14)] = {64,0}, + [I(119,14)] = {64,0}, + [I(120,14)] = {64,0}, + [I(121,14)] = {64,0}, + [I(122,14)] = {64,0}, + [I(123,14)] = {64,0}, + [I(124,14)] = {64,0}, + [I(125,14)] = {64,0}, + [I(126,14)] = {64,0}, + [I(127,14)] = {64,0}, + [I(128,14)] = {64,0}, + [I(129,14)] = {64,0}, + [I(130,14)] = {64,0}, + [I(131,14)] = {64,0}, + [I(132,14)] = {64,0}, + [I(133,14)] = {64,0}, + [I(134,14)] = {64,0}, + [I(135,14)] = {64,0}, + [I(136,14)] = {64,0}, + [I(137,14)] = {64,0}, + [I(138,14)] = {64,0}, + [I(139,14)] = {64,0}, + [I(140,14)] = {64,0}, + [I(141,14)] = {64,0}, + [I(142,14)] = {64,0}, + [I(143,14)] = {64,0}, + [I(144,14)] = {64,0}, + [I(145,14)] = {64,0}, + [I(146,14)] = {64,0}, + [I(147,14)] = {64,0}, + [I(148,14)] = {64,0}, + [I(149,14)] = {64,0}, + [I(150,14)] = {64,0}, + [I(151,14)] = {64,0}, + [I(152,14)] = {64,0}, + [I(153,14)] = {64,0}, + [I(154,14)] = {64,0}, + [I(155,14)] = {64,0}, + [I(156,14)] = {64,0}, + [I(157,14)] = {64,0}, + [I(158,14)] = {64,0}, + [I(159,14)] = {64,0}, + [I(160,14)] = {64,0}, + [I(161,14)] = {64,0}, + [I(162,14)] = {64,0}, + [I(163,14)] = {64,0}, + [I(164,14)] = {64,0}, + [I(165,14)] = {64,0}, + [I(166,14)] = {64,0}, + [I(167,14)] = {64,0}, + [I(168,14)] = {64,0}, + [I(169,14)] = {64,0}, + [I(170,14)] = {64,0}, + [I(171,14)] = {64,0}, + [I(172,14)] = {64,0}, + [I(173,14)] = {64,0}, + [I(174,14)] = {64,0}, + [I(175,14)] = {64,0}, + [I(176,14)] = {64,0}, + [I(177,14)] = {64,0}, + [I(178,14)] = {64,0}, + [I(179,14)] = {64,0}, + [I(180,14)] = {64,0}, + [I(181,14)] = {64,0}, + [I(182,14)] = {64,0}, + [I(183,14)] = {64,0}, + [I(184,14)] = {64,0}, + [I(185,14)] = {64,0}, + [I(186,14)] = {64,0}, + [I(187,14)] = {64,0}, + [I(188,14)] = {64,0}, + [I(189,14)] = {64,0}, + [I(190,14)] = {64,0}, + [I(191,14)] = {64,0}, + [I(192,14)] = {64,0}, + [I(193,14)] = {64,0}, + [I(194,14)] = {64,0}, + [I(195,14)] = {64,0}, + [I(196,14)] = {64,0}, + [I(197,14)] = {64,0}, + [I(198,14)] = {64,0}, + [I(199,14)] = {64,0}, + [I(200,14)] = {64,0}, + [I(201,14)] = {64,0}, + [I(202,14)] = {64,0}, + [I(203,14)] = {64,0}, + [I(204,14)] = {64,0}, + [I(205,14)] = {64,0}, + [I(206,14)] = {64,0}, + [I(207,14)] = {64,0}, + [I(208,14)] = {64,0}, + [I(209,14)] = {64,0}, + [I(210,14)] = {64,0}, + [I(211,14)] = {64,0}, + [I(212,14)] = {64,0}, + [I(213,14)] = {64,0}, + [I(214,14)] = {64,0}, + [I(215,14)] = {64,0}, + [I(216,14)] = {64,0}, + [I(217,14)] = {64,0}, + [I(218,14)] = {64,0}, + [I(219,14)] = {64,0}, + [I(220,14)] = {64,0}, + [I(221,14)] = {64,0}, + [I(222,14)] = {64,0}, + [I(223,14)] = {64,0}, + [I(224,14)] = {64,0}, + [I(225,14)] = {64,0}, + [I(226,14)] = {64,0}, + [I(227,14)] = {64,0}, + [I(228,14)] = {64,0}, + [I(229,14)] = {64,0}, + [I(230,14)] = {64,0}, + [I(231,14)] = {64,0}, + [I(232,14)] = {64,0}, + [I(233,14)] = {64,0}, + [I(234,14)] = {64,0}, + [I(235,14)] = {64,0}, + [I(236,14)] = {64,0}, + [I(237,14)] = {64,0}, + [I(238,14)] = {64,0}, + [I(239,14)] = {64,0}, + [I(240,14)] = {64,0}, + [I(241,14)] = {64,0}, + [I(242,14)] = {64,0}, + [I(243,14)] = {64,0}, + [I(244,14)] = {64,0}, + [I(245,14)] = {64,0}, + [I(246,14)] = {64,0}, + [I(247,14)] = {64,0}, + [I(248,14)] = {64,0}, + [I(249,14)] = {64,0}, + [I(250,14)] = {64,0}, + [I(251,14)] = {64,0}, + [I(252,14)] = {64,0}, + [I(253,14)] = {64,0}, + [I(254,14)] = {64,0}, + [I(255,14)] = {64,0}, + [I(0,15)] = {64,0}, + [I(1,15)] = {64,0}, + [I(2,15)] = {64,0}, + [I(3,15)] = {64,0}, + [I(4,15)] = {64,0}, + [I(5,15)] = {64,0}, + [I(6,15)] = {64,0}, + [I(7,15)] = {64,0}, + [I(8,15)] = {64,0}, + [I(9,15)] = {64,0}, + [I(10,15)] = {64,0}, + [I(11,15)] = {64,0}, + [I(12,15)] = {64,0}, + [I(13,15)] = {64,0}, + [I(14,15)] = {64,0}, + [I(15,15)] = {64,0}, + [I(16,15)] = {64,0}, + [I(17,15)] = {64,0}, + [I(18,15)] = {64,0}, + [I(19,15)] = {64,0}, + [I(20,15)] = {64,0}, + [I(21,15)] = {64,0}, + [I(22,15)] = {64,0}, + [I(23,15)] = {64,0}, + [I(24,15)] = {64,0}, + [I(25,15)] = {64,0}, + [I(26,15)] = {64,0}, + [I(27,15)] = {64,0}, + [I(28,15)] = {64,0}, + [I(29,15)] = {64,0}, + [I(30,15)] = {64,0}, + [I(31,15)] = {64,0}, + [I(32,15)] = {64,0}, + [I(33,15)] = {64,0}, + [I(34,15)] = {64,0}, + [I(35,15)] = {64,0}, + [I(36,15)] = {64,0}, + [I(37,15)] = {64,0}, + [I(38,15)] = {64,0}, + [I(39,15)] = {64,0}, + [I(40,15)] = {64,0}, + [I(41,15)] = {64,0}, + [I(42,15)] = {64,0}, + [I(43,15)] = {64,0}, + [I(44,15)] = {64,0}, + [I(45,15)] = {64,0}, + [I(46,15)] = {64,0}, + [I(47,15)] = {64,0}, + [I(48,15)] = {64,0}, + [I(49,15)] = {64,0}, + [I(50,15)] = {64,0}, + [I(51,15)] = {64,0}, + [I(52,15)] = {64,0}, + [I(53,15)] = {64,0}, + [I(54,15)] = {64,0}, + [I(55,15)] = {64,0}, + [I(56,15)] = {64,0}, + [I(57,15)] = {64,0}, + [I(58,15)] = {64,0}, + [I(59,15)] = {64,0}, + [I(60,15)] = {64,0}, + [I(61,15)] = {64,0}, + [I(62,15)] = {64,0}, + [I(63,15)] = {64,0}, + [I(64,15)] = {64,0}, + [I(65,15)] = {64,0}, + [I(66,15)] = {64,0}, + [I(67,15)] = {64,0}, + [I(68,15)] = {64,0}, + [I(69,15)] = {64,0}, + [I(70,15)] = {64,0}, + [I(71,15)] = {64,0}, + [I(72,15)] = {64,0}, + [I(73,15)] = {64,0}, + [I(74,15)] = {64,0}, + [I(75,15)] = {64,0}, + [I(76,15)] = {64,0}, + [I(77,15)] = {64,0}, + [I(78,15)] = {64,0}, + [I(79,15)] = {64,0}, + [I(80,15)] = {64,0}, + [I(81,15)] = {64,0}, + [I(82,15)] = {64,0}, + [I(83,15)] = {64,0}, + [I(84,15)] = {64,0}, + [I(85,15)] = {64,0}, + [I(86,15)] = {64,0}, + [I(87,15)] = {64,0}, + [I(88,15)] = {64,0}, + [I(89,15)] = {64,0}, + [I(90,15)] = {64,0}, + [I(91,15)] = {64,0}, + [I(92,15)] = {64,0}, + [I(93,15)] = {64,0}, + [I(94,15)] = {64,0}, + [I(95,15)] = {64,0}, + [I(96,15)] = {64,0}, + [I(97,15)] = {64,0}, + [I(98,15)] = {64,0}, + [I(99,15)] = {64,0}, + [I(100,15)] = {64,0}, + [I(101,15)] = {64,0}, + [I(102,15)] = {64,0}, + [I(103,15)] = {64,0}, + [I(104,15)] = {64,0}, + [I(105,15)] = {64,0}, + [I(106,15)] = {64,0}, + [I(107,15)] = {64,0}, + [I(108,15)] = {64,0}, + [I(109,15)] = {64,0}, + [I(110,15)] = {64,0}, + [I(111,15)] = {64,0}, + [I(112,15)] = {64,0}, + [I(113,15)] = {64,0}, + [I(114,15)] = {64,0}, + [I(115,15)] = {64,0}, + [I(116,15)] = {64,0}, + [I(117,15)] = {64,0}, + [I(118,15)] = {64,0}, + [I(119,15)] = {64,0}, + [I(120,15)] = {64,0}, + [I(121,15)] = {64,0}, + [I(122,15)] = {64,0}, + [I(123,15)] = {64,0}, + [I(124,15)] = {64,0}, + [I(125,15)] = {64,0}, + [I(126,15)] = {64,0}, + [I(127,15)] = {64,0}, + [I(128,15)] = {64,0}, + [I(129,15)] = {64,0}, + [I(130,15)] = {64,0}, + [I(131,15)] = {64,0}, + [I(132,15)] = {64,0}, + [I(133,15)] = {64,0}, + [I(134,15)] = {64,0}, + [I(135,15)] = {64,0}, + [I(136,15)] = {64,0}, + [I(137,15)] = {64,0}, + [I(138,15)] = {64,0}, + [I(139,15)] = {64,0}, + [I(140,15)] = {64,0}, + [I(141,15)] = {64,0}, + [I(142,15)] = {64,0}, + [I(143,15)] = {64,0}, + [I(144,15)] = {64,0}, + [I(145,15)] = {64,0}, + [I(146,15)] = {64,0}, + [I(147,15)] = {64,0}, + [I(148,15)] = {64,0}, + [I(149,15)] = {64,0}, + [I(150,15)] = {64,0}, + [I(151,15)] = {64,0}, + [I(152,15)] = {64,0}, + [I(153,15)] = {64,0}, + [I(154,15)] = {64,0}, + [I(155,15)] = {64,0}, + [I(156,15)] = {64,0}, + [I(157,15)] = {64,0}, + [I(158,15)] = {64,0}, + [I(159,15)] = {64,0}, + [I(160,15)] = {64,0}, + [I(161,15)] = {64,0}, + [I(162,15)] = {64,0}, + [I(163,15)] = {64,0}, + [I(164,15)] = {64,0}, + [I(165,15)] = {64,0}, + [I(166,15)] = {64,0}, + [I(167,15)] = {64,0}, + [I(168,15)] = {64,0}, + [I(169,15)] = {64,0}, + [I(170,15)] = {64,0}, + [I(171,15)] = {64,0}, + [I(172,15)] = {64,0}, + [I(173,15)] = {64,0}, + [I(174,15)] = {64,0}, + [I(175,15)] = {64,0}, + [I(176,15)] = {64,0}, + [I(177,15)] = {64,0}, + [I(178,15)] = {64,0}, + [I(179,15)] = {64,0}, + [I(180,15)] = {64,0}, + [I(181,15)] = {64,0}, + [I(182,15)] = {64,0}, + [I(183,15)] = {64,0}, + [I(184,15)] = {64,0}, + [I(185,15)] = {64,0}, + [I(186,15)] = {64,0}, + [I(187,15)] = {64,0}, + [I(188,15)] = {64,0}, + [I(189,15)] = {64,0}, + [I(190,15)] = {64,0}, + [I(191,15)] = {64,0}, + [I(192,15)] = {64,0}, + [I(193,15)] = {64,0}, + [I(194,15)] = {64,0}, + [I(195,15)] = {64,0}, + [I(196,15)] = {64,0}, + [I(197,15)] = {64,0}, + [I(198,15)] = {64,0}, + [I(199,15)] = {64,0}, + [I(200,15)] = {64,0}, + [I(201,15)] = {64,0}, + [I(202,15)] = {64,0}, + [I(203,15)] = {64,0}, + [I(204,15)] = {64,0}, + [I(205,15)] = {64,0}, + [I(206,15)] = {64,0}, + [I(207,15)] = {64,0}, + [I(208,15)] = {64,0}, + [I(209,15)] = {64,0}, + [I(210,15)] = {64,0}, + [I(211,15)] = {64,0}, + [I(212,15)] = {64,0}, + [I(213,15)] = {64,0}, + [I(214,15)] = {64,0}, + [I(215,15)] = {64,0}, + [I(216,15)] = {64,0}, + [I(217,15)] = {64,0}, + [I(218,15)] = {64,0}, + [I(219,15)] = {64,0}, + [I(220,15)] = {64,0}, + [I(221,15)] = {64,0}, + [I(222,15)] = {64,0}, + [I(223,15)] = {64,0}, + [I(224,15)] = {64,0}, + [I(225,15)] = {64,0}, + [I(226,15)] = {64,0}, + [I(227,15)] = {64,0}, + [I(228,15)] = {64,0}, + [I(229,15)] = {64,0}, + [I(230,15)] = {64,0}, + [I(231,15)] = {64,0}, + [I(232,15)] = {64,0}, + [I(233,15)] = {64,0}, + [I(234,15)] = {64,0}, + [I(235,15)] = {64,0}, + [I(236,15)] = {64,0}, + [I(237,15)] = {64,0}, + [I(238,15)] = {64,0}, + [I(239,15)] = {64,0}, + [I(240,15)] = {64,0}, + [I(241,15)] = {64,0}, + [I(242,15)] = {64,0}, + [I(243,15)] = {64,0}, + [I(244,15)] = {64,0}, + [I(245,15)] = {64,0}, + [I(246,15)] = {64,0}, + [I(247,15)] = {64,0}, + [I(248,15)] = {64,0}, + [I(249,15)] = {64,0}, + [I(250,15)] = {64,0}, + [I(251,15)] = {64,0}, + [I(252,15)] = {64,0}, + [I(253,15)] = {64,0}, + [I(254,15)] = {64,0}, + [I(255,15)] = {64,0}, + [I(0,16)] = {64,0}, + [I(1,16)] = {64,0}, + [I(2,16)] = {64,0}, + [I(3,16)] = {64,0}, + [I(4,16)] = {64,0}, + [I(5,16)] = {64,0}, + [I(6,16)] = {64,0}, + [I(7,16)] = {64,0}, + [I(8,16)] = {64,0}, + [I(9,16)] = {64,0}, + [I(10,16)] = {64,0}, + [I(11,16)] = {64,0}, + [I(12,16)] = {64,0}, + [I(13,16)] = {64,0}, + [I(14,16)] = {64,0}, + [I(15,16)] = {64,0}, + [I(16,16)] = {64,0}, + [I(17,16)] = {64,0}, + [I(18,16)] = {64,0}, + [I(19,16)] = {64,0}, + [I(20,16)] = {64,0}, + [I(21,16)] = {64,0}, + [I(22,16)] = {64,0}, + [I(23,16)] = {64,0}, + [I(24,16)] = {64,0}, + [I(25,16)] = {64,0}, + [I(26,16)] = {64,0}, + [I(27,16)] = {64,0}, + [I(28,16)] = {64,0}, + [I(29,16)] = {64,0}, + [I(30,16)] = {64,0}, + [I(31,16)] = {64,0}, + [I(32,16)] = {64,0}, + [I(33,16)] = {64,0}, + [I(34,16)] = {64,0}, + [I(35,16)] = {64,0}, + [I(36,16)] = {64,0}, + [I(37,16)] = {64,0}, + [I(38,16)] = {64,0}, + [I(39,16)] = {64,0}, + [I(40,16)] = {64,0}, + [I(41,16)] = {64,0}, + [I(42,16)] = {64,0}, + [I(43,16)] = {64,0}, + [I(44,16)] = {64,0}, + [I(45,16)] = {64,0}, + [I(46,16)] = {64,0}, + [I(47,16)] = {64,0}, + [I(48,16)] = {64,0}, + [I(49,16)] = {64,0}, + [I(50,16)] = {64,0}, + [I(51,16)] = {64,0}, + [I(52,16)] = {64,0}, + [I(53,16)] = {64,0}, + [I(54,16)] = {64,0}, + [I(55,16)] = {64,0}, + [I(56,16)] = {64,0}, + [I(57,16)] = {64,0}, + [I(58,16)] = {64,0}, + [I(59,16)] = {64,0}, + [I(60,16)] = {64,0}, + [I(61,16)] = {64,0}, + [I(62,16)] = {64,0}, + [I(63,16)] = {64,0}, + [I(64,16)] = {64,0}, + [I(65,16)] = {64,0}, + [I(66,16)] = {64,0}, + [I(67,16)] = {64,0}, + [I(68,16)] = {64,0}, + [I(69,16)] = {64,0}, + [I(70,16)] = {64,0}, + [I(71,16)] = {64,0}, + [I(72,16)] = {64,0}, + [I(73,16)] = {64,0}, + [I(74,16)] = {64,0}, + [I(75,16)] = {64,0}, + [I(76,16)] = {64,0}, + [I(77,16)] = {64,0}, + [I(78,16)] = {64,0}, + [I(79,16)] = {64,0}, + [I(80,16)] = {64,0}, + [I(81,16)] = {64,0}, + [I(82,16)] = {64,0}, + [I(83,16)] = {64,0}, + [I(84,16)] = {64,0}, + [I(85,16)] = {64,0}, + [I(86,16)] = {64,0}, + [I(87,16)] = {64,0}, + [I(88,16)] = {64,0}, + [I(89,16)] = {64,0}, + [I(90,16)] = {64,0}, + [I(91,16)] = {64,0}, + [I(92,16)] = {64,0}, + [I(93,16)] = {64,0}, + [I(94,16)] = {64,0}, + [I(95,16)] = {64,0}, + [I(96,16)] = {64,0}, + [I(97,16)] = {64,0}, + [I(98,16)] = {64,0}, + [I(99,16)] = {64,0}, + [I(100,16)] = {64,0}, + [I(101,16)] = {64,0}, + [I(102,16)] = {64,0}, + [I(103,16)] = {64,0}, + [I(104,16)] = {64,0}, + [I(105,16)] = {64,0}, + [I(106,16)] = {64,0}, + [I(107,16)] = {64,0}, + [I(108,16)] = {64,0}, + [I(109,16)] = {64,0}, + [I(110,16)] = {64,0}, + [I(111,16)] = {64,0}, + [I(112,16)] = {64,0}, + [I(113,16)] = {64,0}, + [I(114,16)] = {64,0}, + [I(115,16)] = {64,0}, + [I(116,16)] = {64,0}, + [I(117,16)] = {64,0}, + [I(118,16)] = {64,0}, + [I(119,16)] = {64,0}, + [I(120,16)] = {64,0}, + [I(121,16)] = {64,0}, + [I(122,16)] = {64,0}, + [I(123,16)] = {64,0}, + [I(124,16)] = {64,0}, + [I(125,16)] = {64,0}, + [I(126,16)] = {64,0}, + [I(127,16)] = {64,0}, + [I(128,16)] = {64,0}, + [I(129,16)] = {64,0}, + [I(130,16)] = {64,0}, + [I(131,16)] = {64,0}, + [I(132,16)] = {64,0}, + [I(133,16)] = {64,0}, + [I(134,16)] = {64,0}, + [I(135,16)] = {64,0}, + [I(136,16)] = {64,0}, + [I(137,16)] = {64,0}, + [I(138,16)] = {64,0}, + [I(139,16)] = {64,0}, + [I(140,16)] = {64,0}, + [I(141,16)] = {64,0}, + [I(142,16)] = {64,0}, + [I(143,16)] = {64,0}, + [I(144,16)] = {64,0}, + [I(145,16)] = {64,0}, + [I(146,16)] = {64,0}, + [I(147,16)] = {64,0}, + [I(148,16)] = {64,0}, + [I(149,16)] = {64,0}, + [I(150,16)] = {64,0}, + [I(151,16)] = {64,0}, + [I(152,16)] = {64,0}, + [I(153,16)] = {64,0}, + [I(154,16)] = {64,0}, + [I(155,16)] = {64,0}, + [I(156,16)] = {64,0}, + [I(157,16)] = {64,0}, + [I(158,16)] = {64,0}, + [I(159,16)] = {64,0}, + [I(160,16)] = {64,0}, + [I(161,16)] = {64,0}, + [I(162,16)] = {64,0}, + [I(163,16)] = {64,0}, + [I(164,16)] = {64,0}, + [I(165,16)] = {64,0}, + [I(166,16)] = {64,0}, + [I(167,16)] = {64,0}, + [I(168,16)] = {64,0}, + [I(169,16)] = {64,0}, + [I(170,16)] = {64,0}, + [I(171,16)] = {64,0}, + [I(172,16)] = {64,0}, + [I(173,16)] = {64,0}, + [I(174,16)] = {64,0}, + [I(175,16)] = {64,0}, + [I(176,16)] = {64,0}, + [I(177,16)] = {64,0}, + [I(178,16)] = {64,0}, + [I(179,16)] = {64,0}, + [I(180,16)] = {64,0}, + [I(181,16)] = {64,0}, + [I(182,16)] = {64,0}, + [I(183,16)] = {64,0}, + [I(184,16)] = {64,0}, + [I(185,16)] = {64,0}, + [I(186,16)] = {64,0}, + [I(187,16)] = {64,0}, + [I(188,16)] = {64,0}, + [I(189,16)] = {64,0}, + [I(190,16)] = {64,0}, + [I(191,16)] = {64,0}, + [I(192,16)] = {64,0}, + [I(193,16)] = {64,0}, + [I(194,16)] = {64,0}, + [I(195,16)] = {64,0}, + [I(196,16)] = {64,0}, + [I(197,16)] = {64,0}, + [I(198,16)] = {64,0}, + [I(199,16)] = {64,0}, + [I(200,16)] = {64,0}, + [I(201,16)] = {64,0}, + [I(202,16)] = {64,0}, + [I(203,16)] = {64,0}, + [I(204,16)] = {64,0}, + [I(205,16)] = {64,0}, + [I(206,16)] = {64,0}, + [I(207,16)] = {64,0}, + [I(208,16)] = {64,0}, + [I(209,16)] = {64,0}, + [I(210,16)] = {64,0}, + [I(211,16)] = {64,0}, + [I(212,16)] = {64,0}, + [I(213,16)] = {64,0}, + [I(214,16)] = {64,0}, + [I(215,16)] = {64,0}, + [I(216,16)] = {64,0}, + [I(217,16)] = {64,0}, + [I(218,16)] = {64,0}, + [I(219,16)] = {64,0}, + [I(220,16)] = {64,0}, + [I(221,16)] = {64,0}, + [I(222,16)] = {64,0}, + [I(223,16)] = {64,0}, + [I(224,16)] = {64,0}, + [I(225,16)] = {64,0}, + [I(226,16)] = {64,0}, + [I(227,16)] = {64,0}, + [I(228,16)] = {64,0}, + [I(229,16)] = {64,0}, + [I(230,16)] = {64,0}, + [I(231,16)] = {64,0}, + [I(232,16)] = {64,0}, + [I(233,16)] = {64,0}, + [I(234,16)] = {64,0}, + [I(235,16)] = {64,0}, + [I(236,16)] = {64,0}, + [I(237,16)] = {64,0}, + [I(238,16)] = {64,0}, + [I(239,16)] = {64,0}, + [I(240,16)] = {64,0}, + [I(241,16)] = {64,0}, + [I(242,16)] = {64,0}, + [I(243,16)] = {64,0}, + [I(244,16)] = {64,0}, + [I(245,16)] = {64,0}, + [I(246,16)] = {64,0}, + [I(247,16)] = {64,0}, + [I(248,16)] = {64,0}, + [I(249,16)] = {64,0}, + [I(250,16)] = {64,0}, + [I(251,16)] = {64,0}, + [I(252,16)] = {64,0}, + [I(253,16)] = {64,0}, + [I(254,16)] = {64,0}, + [I(255,16)] = {64,0}, + [I(0,17)] = {64,0}, + [I(1,17)] = {64,0}, + [I(2,17)] = {64,0}, + [I(3,17)] = {64,0}, + [I(4,17)] = {64,0}, + [I(5,17)] = {64,0}, + [I(6,17)] = {64,0}, + [I(7,17)] = {64,0}, + [I(8,17)] = {64,0}, + [I(9,17)] = {64,0}, + [I(10,17)] = {64,0}, + [I(11,17)] = {64,0}, + [I(12,17)] = {64,0}, + [I(13,17)] = {64,0}, + [I(14,17)] = {64,0}, + [I(15,17)] = {64,0}, + [I(16,17)] = {64,0}, + [I(17,17)] = {64,0}, + [I(18,17)] = {64,0}, + [I(19,17)] = {64,0}, + [I(20,17)] = {64,0}, + [I(21,17)] = {64,0}, + [I(22,17)] = {64,0}, + [I(23,17)] = {64,0}, + [I(24,17)] = {64,0}, + [I(25,17)] = {64,0}, + [I(26,17)] = {64,0}, + [I(27,17)] = {64,0}, + [I(28,17)] = {64,0}, + [I(29,17)] = {64,0}, + [I(30,17)] = {64,0}, + [I(31,17)] = {64,0}, + [I(32,17)] = {64,0}, + [I(33,17)] = {64,0}, + [I(34,17)] = {64,0}, + [I(35,17)] = {64,0}, + [I(36,17)] = {64,0}, + [I(37,17)] = {64,0}, + [I(38,17)] = {64,0}, + [I(39,17)] = {64,0}, + [I(40,17)] = {64,0}, + [I(41,17)] = {64,0}, + [I(42,17)] = {64,0}, + [I(43,17)] = {64,0}, + [I(44,17)] = {64,0}, + [I(45,17)] = {64,0}, + [I(46,17)] = {64,0}, + [I(47,17)] = {64,0}, + [I(48,17)] = {64,0}, + [I(49,17)] = {64,0}, + [I(50,17)] = {64,0}, + [I(51,17)] = {64,0}, + [I(52,17)] = {64,0}, + [I(53,17)] = {64,0}, + [I(54,17)] = {64,0}, + [I(55,17)] = {64,0}, + [I(56,17)] = {64,0}, + [I(57,17)] = {64,0}, + [I(58,17)] = {64,0}, + [I(59,17)] = {64,0}, + [I(60,17)] = {64,0}, + [I(61,17)] = {64,0}, + [I(62,17)] = {64,0}, + [I(63,17)] = {64,0}, + [I(64,17)] = {64,0}, + [I(65,17)] = {64,0}, + [I(66,17)] = {64,0}, + [I(67,17)] = {64,0}, + [I(68,17)] = {64,0}, + [I(69,17)] = {64,0}, + [I(70,17)] = {64,0}, + [I(71,17)] = {64,0}, + [I(72,17)] = {64,0}, + [I(73,17)] = {64,0}, + [I(74,17)] = {64,0}, + [I(75,17)] = {64,0}, + [I(76,17)] = {64,0}, + [I(77,17)] = {64,0}, + [I(78,17)] = {64,0}, + [I(79,17)] = {64,0}, + [I(80,17)] = {64,0}, + [I(81,17)] = {64,0}, + [I(82,17)] = {64,0}, + [I(83,17)] = {64,0}, + [I(84,17)] = {64,0}, + [I(85,17)] = {64,0}, + [I(86,17)] = {64,0}, + [I(87,17)] = {64,0}, + [I(88,17)] = {64,0}, + [I(89,17)] = {64,0}, + [I(90,17)] = {64,0}, + [I(91,17)] = {64,0}, + [I(92,17)] = {64,0}, + [I(93,17)] = {64,0}, + [I(94,17)] = {64,0}, + [I(95,17)] = {64,0}, + [I(96,17)] = {64,0}, + [I(97,17)] = {64,0}, + [I(98,17)] = {64,0}, + [I(99,17)] = {64,0}, + [I(100,17)] = {64,0}, + [I(101,17)] = {64,0}, + [I(102,17)] = {64,0}, + [I(103,17)] = {64,0}, + [I(104,17)] = {64,0}, + [I(105,17)] = {64,0}, + [I(106,17)] = {64,0}, + [I(107,17)] = {64,0}, + [I(108,17)] = {64,0}, + [I(109,17)] = {64,0}, + [I(110,17)] = {64,0}, + [I(111,17)] = {64,0}, + [I(112,17)] = {64,0}, + [I(113,17)] = {64,0}, + [I(114,17)] = {64,0}, + [I(115,17)] = {64,0}, + [I(116,17)] = {64,0}, + [I(117,17)] = {64,0}, + [I(118,17)] = {64,0}, + [I(119,17)] = {64,0}, + [I(120,17)] = {64,0}, + [I(121,17)] = {64,0}, + [I(122,17)] = {64,0}, + [I(123,17)] = {64,0}, + [I(124,17)] = {64,0}, + [I(125,17)] = {64,0}, + [I(126,17)] = {64,0}, + [I(127,17)] = {64,0}, + [I(128,17)] = {64,0}, + [I(129,17)] = {64,0}, + [I(130,17)] = {64,0}, + [I(131,17)] = {64,0}, + [I(132,17)] = {64,0}, + [I(133,17)] = {64,0}, + [I(134,17)] = {64,0}, + [I(135,17)] = {64,0}, + [I(136,17)] = {64,0}, + [I(137,17)] = {64,0}, + [I(138,17)] = {64,0}, + [I(139,17)] = {64,0}, + [I(140,17)] = {64,0}, + [I(141,17)] = {64,0}, + [I(142,17)] = {64,0}, + [I(143,17)] = {64,0}, + [I(144,17)] = {64,0}, + [I(145,17)] = {64,0}, + [I(146,17)] = {64,0}, + [I(147,17)] = {64,0}, + [I(148,17)] = {64,0}, + [I(149,17)] = {64,0}, + [I(150,17)] = {64,0}, + [I(151,17)] = {64,0}, + [I(152,17)] = {64,0}, + [I(153,17)] = {64,0}, + [I(154,17)] = {64,0}, + [I(155,17)] = {64,0}, + [I(156,17)] = {64,0}, + [I(157,17)] = {64,0}, + [I(158,17)] = {64,0}, + [I(159,17)] = {64,0}, + [I(160,17)] = {64,0}, + [I(161,17)] = {64,0}, + [I(162,17)] = {64,0}, + [I(163,17)] = {64,0}, + [I(164,17)] = {64,0}, + [I(165,17)] = {64,0}, + [I(166,17)] = {64,0}, + [I(167,17)] = {64,0}, + [I(168,17)] = {64,0}, + [I(169,17)] = {64,0}, + [I(170,17)] = {64,0}, + [I(171,17)] = {64,0}, + [I(172,17)] = {64,0}, + [I(173,17)] = {64,0}, + [I(174,17)] = {64,0}, + [I(175,17)] = {64,0}, + [I(176,17)] = {64,0}, + [I(177,17)] = {64,0}, + [I(178,17)] = {64,0}, + [I(179,17)] = {64,0}, + [I(180,17)] = {64,0}, + [I(181,17)] = {64,0}, + [I(182,17)] = {64,0}, + [I(183,17)] = {64,0}, + [I(184,17)] = {64,0}, + [I(185,17)] = {64,0}, + [I(186,17)] = {64,0}, + [I(187,17)] = {64,0}, + [I(188,17)] = {64,0}, + [I(189,17)] = {64,0}, + [I(190,17)] = {64,0}, + [I(191,17)] = {64,0}, + [I(192,17)] = {64,0}, + [I(193,17)] = {64,0}, + [I(194,17)] = {64,0}, + [I(195,17)] = {64,0}, + [I(196,17)] = {64,0}, + [I(197,17)] = {64,0}, + [I(198,17)] = {64,0}, + [I(199,17)] = {64,0}, + [I(200,17)] = {64,0}, + [I(201,17)] = {64,0}, + [I(202,17)] = {64,0}, + [I(203,17)] = {64,0}, + [I(204,17)] = {64,0}, + [I(205,17)] = {64,0}, + [I(206,17)] = {64,0}, + [I(207,17)] = {64,0}, + [I(208,17)] = {64,0}, + [I(209,17)] = {64,0}, + [I(210,17)] = {64,0}, + [I(211,17)] = {64,0}, + [I(212,17)] = {64,0}, + [I(213,17)] = {64,0}, + [I(214,17)] = {64,0}, + [I(215,17)] = {64,0}, + [I(216,17)] = {64,0}, + [I(217,17)] = {64,0}, + [I(218,17)] = {64,0}, + [I(219,17)] = {64,0}, + [I(220,17)] = {64,0}, + [I(221,17)] = {64,0}, + [I(222,17)] = {64,0}, + [I(223,17)] = {64,0}, + [I(224,17)] = {64,0}, + [I(225,17)] = {64,0}, + [I(226,17)] = {64,0}, + [I(227,17)] = {64,0}, + [I(228,17)] = {64,0}, + [I(229,17)] = {64,0}, + [I(230,17)] = {64,0}, + [I(231,17)] = {64,0}, + [I(232,17)] = {64,0}, + [I(233,17)] = {64,0}, + [I(234,17)] = {64,0}, + [I(235,17)] = {64,0}, + [I(236,17)] = {64,0}, + [I(237,17)] = {64,0}, + [I(238,17)] = {64,0}, + [I(239,17)] = {64,0}, + [I(240,17)] = {64,0}, + [I(241,17)] = {64,0}, + [I(242,17)] = {64,0}, + [I(243,17)] = {64,0}, + [I(244,17)] = {64,0}, + [I(245,17)] = {64,0}, + [I(246,17)] = {64,0}, + [I(247,17)] = {64,0}, + [I(248,17)] = {64,0}, + [I(249,17)] = {64,0}, + [I(250,17)] = {64,0}, + [I(251,17)] = {64,0}, + [I(252,17)] = {64,0}, + [I(253,17)] = {64,0}, + [I(254,17)] = {64,0}, + [I(255,17)] = {64,0}, + [I(0,18)] = {64,0}, + [I(1,18)] = {64,0}, + [I(2,18)] = {64,0}, + [I(3,18)] = {64,0}, + [I(4,18)] = {64,0}, + [I(5,18)] = {64,0}, + [I(6,18)] = {64,0}, + [I(7,18)] = {64,0}, + [I(8,18)] = {64,0}, + [I(9,18)] = {64,0}, + [I(10,18)] = {64,0}, + [I(11,18)] = {64,0}, + [I(12,18)] = {64,0}, + [I(13,18)] = {64,0}, + [I(14,18)] = {64,0}, + [I(15,18)] = {64,0}, + [I(16,18)] = {64,0}, + [I(17,18)] = {64,0}, + [I(18,18)] = {64,0}, + [I(19,18)] = {64,0}, + [I(20,18)] = {64,0}, + [I(21,18)] = {64,0}, + [I(22,18)] = {64,0}, + [I(23,18)] = {64,0}, + [I(24,18)] = {64,0}, + [I(25,18)] = {64,0}, + [I(26,18)] = {64,0}, + [I(27,18)] = {64,0}, + [I(28,18)] = {64,0}, + [I(29,18)] = {64,0}, + [I(30,18)] = {64,0}, + [I(31,18)] = {64,0}, + [I(32,18)] = {64,0}, + [I(33,18)] = {64,0}, + [I(34,18)] = {64,0}, + [I(35,18)] = {64,0}, + [I(36,18)] = {64,0}, + [I(37,18)] = {64,0}, + [I(38,18)] = {64,0}, + [I(39,18)] = {64,0}, + [I(40,18)] = {64,0}, + [I(41,18)] = {64,0}, + [I(42,18)] = {64,0}, + [I(43,18)] = {64,0}, + [I(44,18)] = {64,0}, + [I(45,18)] = {64,0}, + [I(46,18)] = {64,0}, + [I(47,18)] = {64,0}, + [I(48,18)] = {64,0}, + [I(49,18)] = {64,0}, + [I(50,18)] = {64,0}, + [I(51,18)] = {64,0}, + [I(52,18)] = {64,0}, + [I(53,18)] = {64,0}, + [I(54,18)] = {64,0}, + [I(55,18)] = {64,0}, + [I(56,18)] = {64,0}, + [I(57,18)] = {64,0}, + [I(58,18)] = {64,0}, + [I(59,18)] = {64,0}, + [I(60,18)] = {64,0}, + [I(61,18)] = {64,0}, + [I(62,18)] = {64,0}, + [I(63,18)] = {64,0}, + [I(64,18)] = {64,0}, + [I(65,18)] = {64,0}, + [I(66,18)] = {64,0}, + [I(67,18)] = {64,0}, + [I(68,18)] = {64,0}, + [I(69,18)] = {64,0}, + [I(70,18)] = {64,0}, + [I(71,18)] = {64,0}, + [I(72,18)] = {64,0}, + [I(73,18)] = {64,0}, + [I(74,18)] = {64,0}, + [I(75,18)] = {64,0}, + [I(76,18)] = {64,0}, + [I(77,18)] = {64,0}, + [I(78,18)] = {64,0}, + [I(79,18)] = {64,0}, + [I(80,18)] = {64,0}, + [I(81,18)] = {64,0}, + [I(82,18)] = {64,0}, + [I(83,18)] = {64,0}, + [I(84,18)] = {64,0}, + [I(85,18)] = {64,0}, + [I(86,18)] = {64,0}, + [I(87,18)] = {64,0}, + [I(88,18)] = {64,0}, + [I(89,18)] = {64,0}, + [I(90,18)] = {64,0}, + [I(91,18)] = {64,0}, + [I(92,18)] = {64,0}, + [I(93,18)] = {64,0}, + [I(94,18)] = {64,0}, + [I(95,18)] = {64,0}, + [I(96,18)] = {64,0}, + [I(97,18)] = {64,0}, + [I(98,18)] = {64,0}, + [I(99,18)] = {64,0}, + [I(100,18)] = {64,0}, + [I(101,18)] = {64,0}, + [I(102,18)] = {64,0}, + [I(103,18)] = {64,0}, + [I(104,18)] = {64,0}, + [I(105,18)] = {64,0}, + [I(106,18)] = {64,0}, + [I(107,18)] = {64,0}, + [I(108,18)] = {64,0}, + [I(109,18)] = {64,0}, + [I(110,18)] = {64,0}, + [I(111,18)] = {64,0}, + [I(112,18)] = {64,0}, + [I(113,18)] = {64,0}, + [I(114,18)] = {64,0}, + [I(115,18)] = {64,0}, + [I(116,18)] = {64,0}, + [I(117,18)] = {64,0}, + [I(118,18)] = {64,0}, + [I(119,18)] = {64,0}, + [I(120,18)] = {64,0}, + [I(121,18)] = {64,0}, + [I(122,18)] = {64,0}, + [I(123,18)] = {64,0}, + [I(124,18)] = {64,0}, + [I(125,18)] = {64,0}, + [I(126,18)] = {64,0}, + [I(127,18)] = {64,0}, + [I(128,18)] = {64,0}, + [I(129,18)] = {64,0}, + [I(130,18)] = {64,0}, + [I(131,18)] = {64,0}, + [I(132,18)] = {64,0}, + [I(133,18)] = {64,0}, + [I(134,18)] = {64,0}, + [I(135,18)] = {64,0}, + [I(136,18)] = {64,0}, + [I(137,18)] = {64,0}, + [I(138,18)] = {64,0}, + [I(139,18)] = {64,0}, + [I(140,18)] = {64,0}, + [I(141,18)] = {64,0}, + [I(142,18)] = {64,0}, + [I(143,18)] = {64,0}, + [I(144,18)] = {64,0}, + [I(145,18)] = {64,0}, + [I(146,18)] = {64,0}, + [I(147,18)] = {64,0}, + [I(148,18)] = {64,0}, + [I(149,18)] = {64,0}, + [I(150,18)] = {64,0}, + [I(151,18)] = {64,0}, + [I(152,18)] = {64,0}, + [I(153,18)] = {64,0}, + [I(154,18)] = {64,0}, + [I(155,18)] = {64,0}, + [I(156,18)] = {64,0}, + [I(157,18)] = {64,0}, + [I(158,18)] = {64,0}, + [I(159,18)] = {64,0}, + [I(160,18)] = {64,0}, + [I(161,18)] = {64,0}, + [I(162,18)] = {64,0}, + [I(163,18)] = {64,0}, + [I(164,18)] = {64,0}, + [I(165,18)] = {64,0}, + [I(166,18)] = {64,0}, + [I(167,18)] = {64,0}, + [I(168,18)] = {64,0}, + [I(169,18)] = {64,0}, + [I(170,18)] = {64,0}, + [I(171,18)] = {64,0}, + [I(172,18)] = {64,0}, + [I(173,18)] = {64,0}, + [I(174,18)] = {64,0}, + [I(175,18)] = {64,0}, + [I(176,18)] = {64,0}, + [I(177,18)] = {64,0}, + [I(178,18)] = {64,0}, + [I(179,18)] = {64,0}, + [I(180,18)] = {64,0}, + [I(181,18)] = {64,0}, + [I(182,18)] = {64,0}, + [I(183,18)] = {64,0}, + [I(184,18)] = {64,0}, + [I(185,18)] = {64,0}, + [I(186,18)] = {64,0}, + [I(187,18)] = {64,0}, + [I(188,18)] = {64,0}, + [I(189,18)] = {64,0}, + [I(190,18)] = {64,0}, + [I(191,18)] = {64,0}, + [I(192,18)] = {64,0}, + [I(193,18)] = {64,0}, + [I(194,18)] = {64,0}, + [I(195,18)] = {64,0}, + [I(196,18)] = {64,0}, + [I(197,18)] = {64,0}, + [I(198,18)] = {64,0}, + [I(199,18)] = {64,0}, + [I(200,18)] = {64,0}, + [I(201,18)] = {64,0}, + [I(202,18)] = {64,0}, + [I(203,18)] = {64,0}, + [I(204,18)] = {64,0}, + [I(205,18)] = {64,0}, + [I(206,18)] = {64,0}, + [I(207,18)] = {64,0}, + [I(208,18)] = {64,0}, + [I(209,18)] = {64,0}, + [I(210,18)] = {64,0}, + [I(211,18)] = {64,0}, + [I(212,18)] = {64,0}, + [I(213,18)] = {64,0}, + [I(214,18)] = {64,0}, + [I(215,18)] = {64,0}, + [I(216,18)] = {64,0}, + [I(217,18)] = {64,0}, + [I(218,18)] = {64,0}, + [I(219,18)] = {64,0}, + [I(220,18)] = {64,0}, + [I(221,18)] = {64,0}, + [I(222,18)] = {64,0}, + [I(223,18)] = {64,0}, + [I(224,18)] = {64,0}, + [I(225,18)] = {64,0}, + [I(226,18)] = {64,0}, + [I(227,18)] = {64,0}, + [I(228,18)] = {64,0}, + [I(229,18)] = {64,0}, + [I(230,18)] = {64,0}, + [I(231,18)] = {64,0}, + [I(232,18)] = {64,0}, + [I(233,18)] = {64,0}, + [I(234,18)] = {64,0}, + [I(235,18)] = {64,0}, + [I(236,18)] = {64,0}, + [I(237,18)] = {64,0}, + [I(238,18)] = {64,0}, + [I(239,18)] = {64,0}, + [I(240,18)] = {64,0}, + [I(241,18)] = {64,0}, + [I(242,18)] = {64,0}, + [I(243,18)] = {64,0}, + [I(244,18)] = {64,0}, + [I(245,18)] = {64,0}, + [I(246,18)] = {64,0}, + [I(247,18)] = {64,0}, + [I(248,18)] = {64,0}, + [I(249,18)] = {64,0}, + [I(250,18)] = {64,0}, + [I(251,18)] = {64,0}, + [I(252,18)] = {64,0}, + [I(253,18)] = {64,0}, + [I(254,18)] = {64,0}, + [I(255,18)] = {64,0}, + [I(0,19)] = {64,0}, + [I(1,19)] = {64,0}, + [I(2,19)] = {64,0}, + [I(3,19)] = {64,0}, + [I(4,19)] = {64,0}, + [I(5,19)] = {64,0}, + [I(6,19)] = {64,0}, + [I(7,19)] = {64,0}, + [I(8,19)] = {64,0}, + [I(9,19)] = {64,0}, + [I(10,19)] = {64,0}, + [I(11,19)] = {64,0}, + [I(12,19)] = {64,0}, + [I(13,19)] = {64,0}, + [I(14,19)] = {64,0}, + [I(15,19)] = {64,0}, + [I(16,19)] = {64,0}, + [I(17,19)] = {64,0}, + [I(18,19)] = {64,0}, + [I(19,19)] = {64,0}, + [I(20,19)] = {64,0}, + [I(21,19)] = {64,0}, + [I(22,19)] = {64,0}, + [I(23,19)] = {64,0}, + [I(24,19)] = {64,0}, + [I(25,19)] = {64,0}, + [I(26,19)] = {64,0}, + [I(27,19)] = {64,0}, + [I(28,19)] = {64,0}, + [I(29,19)] = {64,0}, + [I(30,19)] = {64,0}, + [I(31,19)] = {64,0}, + [I(32,19)] = {64,0}, + [I(33,19)] = {64,0}, + [I(34,19)] = {64,0}, + [I(35,19)] = {64,0}, + [I(36,19)] = {64,0}, + [I(37,19)] = {64,0}, + [I(38,19)] = {64,0}, + [I(39,19)] = {64,0}, + [I(40,19)] = {64,0}, + [I(41,19)] = {64,0}, + [I(42,19)] = {64,0}, + [I(43,19)] = {64,0}, + [I(44,19)] = {64,0}, + [I(45,19)] = {64,0}, + [I(46,19)] = {64,0}, + [I(47,19)] = {64,0}, + [I(48,19)] = {64,0}, + [I(49,19)] = {64,0}, + [I(50,19)] = {64,0}, + [I(51,19)] = {64,0}, + [I(52,19)] = {64,0}, + [I(53,19)] = {64,0}, + [I(54,19)] = {64,0}, + [I(55,19)] = {64,0}, + [I(56,19)] = {64,0}, + [I(57,19)] = {64,0}, + [I(58,19)] = {64,0}, + [I(59,19)] = {64,0}, + [I(60,19)] = {64,0}, + [I(61,19)] = {64,0}, + [I(62,19)] = {64,0}, + [I(63,19)] = {64,0}, + [I(64,19)] = {64,0}, + [I(65,19)] = {64,0}, + [I(66,19)] = {64,0}, + [I(67,19)] = {64,0}, + [I(68,19)] = {64,0}, + [I(69,19)] = {64,0}, + [I(70,19)] = {64,0}, + [I(71,19)] = {64,0}, + [I(72,19)] = {64,0}, + [I(73,19)] = {64,0}, + [I(74,19)] = {64,0}, + [I(75,19)] = {64,0}, + [I(76,19)] = {64,0}, + [I(77,19)] = {64,0}, + [I(78,19)] = {64,0}, + [I(79,19)] = {64,0}, + [I(80,19)] = {64,0}, + [I(81,19)] = {64,0}, + [I(82,19)] = {64,0}, + [I(83,19)] = {64,0}, + [I(84,19)] = {64,0}, + [I(85,19)] = {64,0}, + [I(86,19)] = {64,0}, + [I(87,19)] = {64,0}, + [I(88,19)] = {64,0}, + [I(89,19)] = {64,0}, + [I(90,19)] = {64,0}, + [I(91,19)] = {64,0}, + [I(92,19)] = {64,0}, + [I(93,19)] = {64,0}, + [I(94,19)] = {64,0}, + [I(95,19)] = {64,0}, + [I(96,19)] = {64,0}, + [I(97,19)] = {64,0}, + [I(98,19)] = {64,0}, + [I(99,19)] = {64,0}, + [I(100,19)] = {64,0}, + [I(101,19)] = {64,0}, + [I(102,19)] = {64,0}, + [I(103,19)] = {64,0}, + [I(104,19)] = {64,0}, + [I(105,19)] = {64,0}, + [I(106,19)] = {64,0}, + [I(107,19)] = {64,0}, + [I(108,19)] = {64,0}, + [I(109,19)] = {64,0}, + [I(110,19)] = {64,0}, + [I(111,19)] = {64,0}, + [I(112,19)] = {64,0}, + [I(113,19)] = {64,0}, + [I(114,19)] = {64,0}, + [I(115,19)] = {64,0}, + [I(116,19)] = {64,0}, + [I(117,19)] = {64,0}, + [I(118,19)] = {64,0}, + [I(119,19)] = {64,0}, + [I(120,19)] = {64,0}, + [I(121,19)] = {64,0}, + [I(122,19)] = {64,0}, + [I(123,19)] = {64,0}, + [I(124,19)] = {64,0}, + [I(125,19)] = {64,0}, + [I(126,19)] = {64,0}, + [I(127,19)] = {64,0}, + [I(128,19)] = {64,0}, + [I(129,19)] = {64,0}, + [I(130,19)] = {64,0}, + [I(131,19)] = {64,0}, + [I(132,19)] = {64,0}, + [I(133,19)] = {64,0}, + [I(134,19)] = {64,0}, + [I(135,19)] = {64,0}, + [I(136,19)] = {64,0}, + [I(137,19)] = {64,0}, + [I(138,19)] = {64,0}, + [I(139,19)] = {64,0}, + [I(140,19)] = {64,0}, + [I(141,19)] = {64,0}, + [I(142,19)] = {64,0}, + [I(143,19)] = {64,0}, + [I(144,19)] = {64,0}, + [I(145,19)] = {64,0}, + [I(146,19)] = {64,0}, + [I(147,19)] = {64,0}, + [I(148,19)] = {64,0}, + [I(149,19)] = {64,0}, + [I(150,19)] = {64,0}, + [I(151,19)] = {64,0}, + [I(152,19)] = {64,0}, + [I(153,19)] = {64,0}, + [I(154,19)] = {64,0}, + [I(155,19)] = {64,0}, + [I(156,19)] = {64,0}, + [I(157,19)] = {64,0}, + [I(158,19)] = {64,0}, + [I(159,19)] = {64,0}, + [I(160,19)] = {64,0}, + [I(161,19)] = {64,0}, + [I(162,19)] = {64,0}, + [I(163,19)] = {64,0}, + [I(164,19)] = {64,0}, + [I(165,19)] = {64,0}, + [I(166,19)] = {64,0}, + [I(167,19)] = {64,0}, + [I(168,19)] = {64,0}, + [I(169,19)] = {64,0}, + [I(170,19)] = {64,0}, + [I(171,19)] = {64,0}, + [I(172,19)] = {64,0}, + [I(173,19)] = {64,0}, + [I(174,19)] = {64,0}, + [I(175,19)] = {64,0}, + [I(176,19)] = {64,0}, + [I(177,19)] = {64,0}, + [I(178,19)] = {64,0}, + [I(179,19)] = {64,0}, + [I(180,19)] = {64,0}, + [I(181,19)] = {64,0}, + [I(182,19)] = {64,0}, + [I(183,19)] = {64,0}, + [I(184,19)] = {64,0}, + [I(185,19)] = {64,0}, + [I(186,19)] = {64,0}, + [I(187,19)] = {64,0}, + [I(188,19)] = {64,0}, + [I(189,19)] = {64,0}, + [I(190,19)] = {64,0}, + [I(191,19)] = {64,0}, + [I(192,19)] = {64,0}, + [I(193,19)] = {64,0}, + [I(194,19)] = {64,0}, + [I(195,19)] = {64,0}, + [I(196,19)] = {64,0}, + [I(197,19)] = {64,0}, + [I(198,19)] = {64,0}, + [I(199,19)] = {64,0}, + [I(200,19)] = {64,0}, + [I(201,19)] = {64,0}, + [I(202,19)] = {64,0}, + [I(203,19)] = {64,0}, + [I(204,19)] = {64,0}, + [I(205,19)] = {64,0}, + [I(206,19)] = {64,0}, + [I(207,19)] = {64,0}, + [I(208,19)] = {64,0}, + [I(209,19)] = {64,0}, + [I(210,19)] = {64,0}, + [I(211,19)] = {64,0}, + [I(212,19)] = {64,0}, + [I(213,19)] = {64,0}, + [I(214,19)] = {64,0}, + [I(215,19)] = {64,0}, + [I(216,19)] = {64,0}, + [I(217,19)] = {64,0}, + [I(218,19)] = {64,0}, + [I(219,19)] = {64,0}, + [I(220,19)] = {64,0}, + [I(221,19)] = {64,0}, + [I(222,19)] = {64,0}, + [I(223,19)] = {64,0}, + [I(224,19)] = {64,0}, + [I(225,19)] = {64,0}, + [I(226,19)] = {64,0}, + [I(227,19)] = {64,0}, + [I(228,19)] = {64,0}, + [I(229,19)] = {64,0}, + [I(230,19)] = {64,0}, + [I(231,19)] = {64,0}, + [I(232,19)] = {64,0}, + [I(233,19)] = {64,0}, + [I(234,19)] = {64,0}, + [I(235,19)] = {64,0}, + [I(236,19)] = {64,0}, + [I(237,19)] = {64,0}, + [I(238,19)] = {64,0}, + [I(239,19)] = {64,0}, + [I(240,19)] = {64,0}, + [I(241,19)] = {64,0}, + [I(242,19)] = {64,0}, + [I(243,19)] = {64,0}, + [I(244,19)] = {64,0}, + [I(245,19)] = {64,0}, + [I(246,19)] = {64,0}, + [I(247,19)] = {64,0}, + [I(248,19)] = {64,0}, + [I(249,19)] = {64,0}, + [I(250,19)] = {64,0}, + [I(251,19)] = {64,0}, + [I(252,19)] = {64,0}, + [I(253,19)] = {64,0}, + [I(254,19)] = {64,0}, + [I(255,19)] = {64,0}, + [I(0,20)] = {64,0}, + [I(1,20)] = {64,0}, + [I(2,20)] = {64,0}, + [I(3,20)] = {64,0}, + [I(4,20)] = {64,0}, + [I(5,20)] = {64,0}, + [I(6,20)] = {64,0}, + [I(7,20)] = {64,0}, + [I(8,20)] = {64,0}, + [I(9,20)] = {64,0}, + [I(10,20)] = {64,0}, + [I(11,20)] = {64,0}, + [I(12,20)] = {64,0}, + [I(13,20)] = {64,0}, + [I(14,20)] = {64,0}, + [I(15,20)] = {64,0}, + [I(16,20)] = {64,0}, + [I(17,20)] = {64,0}, + [I(18,20)] = {64,0}, + [I(19,20)] = {64,0}, + [I(20,20)] = {64,0}, + [I(21,20)] = {64,0}, + [I(22,20)] = {64,0}, + [I(23,20)] = {64,0}, + [I(24,20)] = {64,0}, + [I(25,20)] = {64,0}, + [I(26,20)] = {64,0}, + [I(27,20)] = {64,0}, + [I(28,20)] = {64,0}, + [I(29,20)] = {64,0}, + [I(30,20)] = {64,0}, + [I(31,20)] = {64,0}, + [I(32,20)] = {64,0}, + [I(33,20)] = {64,0}, + [I(34,20)] = {64,0}, + [I(35,20)] = {64,0}, + [I(36,20)] = {64,0}, + [I(37,20)] = {64,0}, + [I(38,20)] = {64,0}, + [I(39,20)] = {64,0}, + [I(40,20)] = {64,0}, + [I(41,20)] = {64,0}, + [I(42,20)] = {64,0}, + [I(43,20)] = {64,0}, + [I(44,20)] = {64,0}, + [I(45,20)] = {64,0}, + [I(46,20)] = {64,0}, + [I(47,20)] = {64,0}, + [I(48,20)] = {64,0}, + [I(49,20)] = {64,0}, + [I(50,20)] = {64,0}, + [I(51,20)] = {64,0}, + [I(52,20)] = {64,0}, + [I(53,20)] = {64,0}, + [I(54,20)] = {64,0}, + [I(55,20)] = {64,0}, + [I(56,20)] = {64,0}, + [I(57,20)] = {64,0}, + [I(58,20)] = {64,0}, + [I(59,20)] = {64,0}, + [I(60,20)] = {64,0}, + [I(61,20)] = {64,0}, + [I(62,20)] = {64,0}, + [I(63,20)] = {64,0}, + [I(64,20)] = {64,0}, + [I(65,20)] = {64,0}, + [I(66,20)] = {64,0}, + [I(67,20)] = {64,0}, + [I(68,20)] = {64,0}, + [I(69,20)] = {64,0}, + [I(70,20)] = {64,0}, + [I(71,20)] = {64,0}, + [I(72,20)] = {64,0}, + [I(73,20)] = {64,0}, + [I(74,20)] = {64,0}, + [I(75,20)] = {64,0}, + [I(76,20)] = {64,0}, + [I(77,20)] = {64,0}, + [I(78,20)] = {64,0}, + [I(79,20)] = {64,0}, + [I(80,20)] = {64,0}, + [I(81,20)] = {64,0}, + [I(82,20)] = {64,0}, + [I(83,20)] = {64,0}, + [I(84,20)] = {64,0}, + [I(85,20)] = {64,0}, + [I(86,20)] = {64,0}, + [I(87,20)] = {64,0}, + [I(88,20)] = {64,0}, + [I(89,20)] = {64,0}, + [I(90,20)] = {64,0}, + [I(91,20)] = {64,0}, + [I(92,20)] = {64,0}, + [I(93,20)] = {64,0}, + [I(94,20)] = {64,0}, + [I(95,20)] = {64,0}, + [I(96,20)] = {64,0}, + [I(97,20)] = {64,0}, + [I(98,20)] = {64,0}, + [I(99,20)] = {64,0}, + [I(100,20)] = {64,0}, + [I(101,20)] = {64,0}, + [I(102,20)] = {64,0}, + [I(103,20)] = {64,0}, + [I(104,20)] = {64,0}, + [I(105,20)] = {64,0}, + [I(106,20)] = {64,0}, + [I(107,20)] = {64,0}, + [I(108,20)] = {64,0}, + [I(109,20)] = {64,0}, + [I(110,20)] = {64,0}, + [I(111,20)] = {64,0}, + [I(112,20)] = {64,0}, + [I(113,20)] = {64,0}, + [I(114,20)] = {64,0}, + [I(115,20)] = {64,0}, + [I(116,20)] = {64,0}, + [I(117,20)] = {64,0}, + [I(118,20)] = {64,0}, + [I(119,20)] = {64,0}, + [I(120,20)] = {64,0}, + [I(121,20)] = {64,0}, + [I(122,20)] = {64,0}, + [I(123,20)] = {64,0}, + [I(124,20)] = {64,0}, + [I(125,20)] = {64,0}, + [I(126,20)] = {64,0}, + [I(127,20)] = {64,0}, + [I(128,20)] = {64,0}, + [I(129,20)] = {64,0}, + [I(130,20)] = {64,0}, + [I(131,20)] = {64,0}, + [I(132,20)] = {64,0}, + [I(133,20)] = {64,0}, + [I(134,20)] = {64,0}, + [I(135,20)] = {64,0}, + [I(136,20)] = {64,0}, + [I(137,20)] = {64,0}, + [I(138,20)] = {64,0}, + [I(139,20)] = {64,0}, + [I(140,20)] = {64,0}, + [I(141,20)] = {64,0}, + [I(142,20)] = {64,0}, + [I(143,20)] = {64,0}, + [I(144,20)] = {64,0}, + [I(145,20)] = {64,0}, + [I(146,20)] = {64,0}, + [I(147,20)] = {64,0}, + [I(148,20)] = {64,0}, + [I(149,20)] = {64,0}, + [I(150,20)] = {64,0}, + [I(151,20)] = {64,0}, + [I(152,20)] = {64,0}, + [I(153,20)] = {64,0}, + [I(154,20)] = {64,0}, + [I(155,20)] = {64,0}, + [I(156,20)] = {64,0}, + [I(157,20)] = {64,0}, + [I(158,20)] = {64,0}, + [I(159,20)] = {64,0}, + [I(160,20)] = {64,0}, + [I(161,20)] = {64,0}, + [I(162,20)] = {64,0}, + [I(163,20)] = {64,0}, + [I(164,20)] = {64,0}, + [I(165,20)] = {64,0}, + [I(166,20)] = {64,0}, + [I(167,20)] = {64,0}, + [I(168,20)] = {64,0}, + [I(169,20)] = {64,0}, + [I(170,20)] = {64,0}, + [I(171,20)] = {64,0}, + [I(172,20)] = {64,0}, + [I(173,20)] = {64,0}, + [I(174,20)] = {64,0}, + [I(175,20)] = {64,0}, + [I(176,20)] = {64,0}, + [I(177,20)] = {64,0}, + [I(178,20)] = {64,0}, + [I(179,20)] = {64,0}, + [I(180,20)] = {64,0}, + [I(181,20)] = {64,0}, + [I(182,20)] = {64,0}, + [I(183,20)] = {64,0}, + [I(184,20)] = {64,0}, + [I(185,20)] = {64,0}, + [I(186,20)] = {64,0}, + [I(187,20)] = {64,0}, + [I(188,20)] = {64,0}, + [I(189,20)] = {64,0}, + [I(190,20)] = {64,0}, + [I(191,20)] = {64,0}, + [I(192,20)] = {64,0}, + [I(193,20)] = {64,0}, + [I(194,20)] = {64,0}, + [I(195,20)] = {64,0}, + [I(196,20)] = {64,0}, + [I(197,20)] = {64,0}, + [I(198,20)] = {64,0}, + [I(199,20)] = {64,0}, + [I(200,20)] = {64,0}, + [I(201,20)] = {64,0}, + [I(202,20)] = {64,0}, + [I(203,20)] = {64,0}, + [I(204,20)] = {64,0}, + [I(205,20)] = {64,0}, + [I(206,20)] = {64,0}, + [I(207,20)] = {64,0}, + [I(208,20)] = {64,0}, + [I(209,20)] = {64,0}, + [I(210,20)] = {64,0}, + [I(211,20)] = {64,0}, + [I(212,20)] = {64,0}, + [I(213,20)] = {64,0}, + [I(214,20)] = {64,0}, + [I(215,20)] = {64,0}, + [I(216,20)] = {64,0}, + [I(217,20)] = {64,0}, + [I(218,20)] = {64,0}, + [I(219,20)] = {64,0}, + [I(220,20)] = {64,0}, + [I(221,20)] = {64,0}, + [I(222,20)] = {64,0}, + [I(223,20)] = {64,0}, + [I(224,20)] = {64,0}, + [I(225,20)] = {64,0}, + [I(226,20)] = {64,0}, + [I(227,20)] = {64,0}, + [I(228,20)] = {64,0}, + [I(229,20)] = {64,0}, + [I(230,20)] = {64,0}, + [I(231,20)] = {64,0}, + [I(232,20)] = {64,0}, + [I(233,20)] = {64,0}, + [I(234,20)] = {64,0}, + [I(235,20)] = {64,0}, + [I(236,20)] = {64,0}, + [I(237,20)] = {64,0}, + [I(238,20)] = {64,0}, + [I(239,20)] = {64,0}, + [I(240,20)] = {64,0}, + [I(241,20)] = {64,0}, + [I(242,20)] = {64,0}, + [I(243,20)] = {64,0}, + [I(244,20)] = {64,0}, + [I(245,20)] = {64,0}, + [I(246,20)] = {64,0}, + [I(247,20)] = {64,0}, + [I(248,20)] = {64,0}, + [I(249,20)] = {64,0}, + [I(250,20)] = {64,0}, + [I(251,20)] = {64,0}, + [I(252,20)] = {64,0}, + [I(253,20)] = {64,0}, + [I(254,20)] = {64,0}, + [I(255,20)] = {64,0}, + [I(0,21)] = {64,0}, + [I(1,21)] = {64,0}, + [I(2,21)] = {64,0}, + [I(3,21)] = {64,0}, + [I(4,21)] = {64,0}, + [I(5,21)] = {64,0}, + [I(6,21)] = {64,0}, + [I(7,21)] = {64,0}, + [I(8,21)] = {64,0}, + [I(9,21)] = {64,0}, + [I(10,21)] = {64,0}, + [I(11,21)] = {64,0}, + [I(12,21)] = {64,0}, + [I(13,21)] = {64,0}, + [I(14,21)] = {64,0}, + [I(15,21)] = {64,0}, + [I(16,21)] = {64,0}, + [I(17,21)] = {64,0}, + [I(18,21)] = {64,0}, + [I(19,21)] = {64,0}, + [I(20,21)] = {64,0}, + [I(21,21)] = {64,0}, + [I(22,21)] = {64,0}, + [I(23,21)] = {64,0}, + [I(24,21)] = {64,0}, + [I(25,21)] = {64,0}, + [I(26,21)] = {64,0}, + [I(27,21)] = {64,0}, + [I(28,21)] = {64,0}, + [I(29,21)] = {64,0}, + [I(30,21)] = {64,0}, + [I(31,21)] = {64,0}, + [I(32,21)] = {64,0}, + [I(33,21)] = {64,0}, + [I(34,21)] = {64,0}, + [I(35,21)] = {64,0}, + [I(36,21)] = {64,0}, + [I(37,21)] = {64,0}, + [I(38,21)] = {64,0}, + [I(39,21)] = {64,0}, + [I(40,21)] = {64,0}, + [I(41,21)] = {64,0}, + [I(42,21)] = {64,0}, + [I(43,21)] = {64,0}, + [I(44,21)] = {64,0}, + [I(45,21)] = {64,0}, + [I(46,21)] = {64,0}, + [I(47,21)] = {64,0}, + [I(48,21)] = {64,0}, + [I(49,21)] = {64,0}, + [I(50,21)] = {64,0}, + [I(51,21)] = {64,0}, + [I(52,21)] = {64,0}, + [I(53,21)] = {64,0}, + [I(54,21)] = {64,0}, + [I(55,21)] = {64,0}, + [I(56,21)] = {64,0}, + [I(57,21)] = {64,0}, + [I(58,21)] = {64,0}, + [I(59,21)] = {64,0}, + [I(60,21)] = {64,0}, + [I(61,21)] = {64,0}, + [I(62,21)] = {64,0}, + [I(63,21)] = {64,0}, + [I(64,21)] = {64,0}, + [I(65,21)] = {64,0}, + [I(66,21)] = {64,0}, + [I(67,21)] = {64,0}, + [I(68,21)] = {64,0}, + [I(69,21)] = {64,0}, + [I(70,21)] = {64,0}, + [I(71,21)] = {64,0}, + [I(72,21)] = {64,0}, + [I(73,21)] = {64,0}, + [I(74,21)] = {64,0}, + [I(75,21)] = {64,0}, + [I(76,21)] = {64,0}, + [I(77,21)] = {64,0}, + [I(78,21)] = {64,0}, + [I(79,21)] = {64,0}, + [I(80,21)] = {64,0}, + [I(81,21)] = {64,0}, + [I(82,21)] = {64,0}, + [I(83,21)] = {64,0}, + [I(84,21)] = {64,0}, + [I(85,21)] = {64,0}, + [I(86,21)] = {64,0}, + [I(87,21)] = {64,0}, + [I(88,21)] = {64,0}, + [I(89,21)] = {64,0}, + [I(90,21)] = {64,0}, + [I(91,21)] = {64,0}, + [I(92,21)] = {64,0}, + [I(93,21)] = {64,0}, + [I(94,21)] = {64,0}, + [I(95,21)] = {64,0}, + [I(96,21)] = {64,0}, + [I(97,21)] = {64,0}, + [I(98,21)] = {64,0}, + [I(99,21)] = {64,0}, + [I(100,21)] = {64,0}, + [I(101,21)] = {64,0}, + [I(102,21)] = {64,0}, + [I(103,21)] = {64,0}, + [I(104,21)] = {64,0}, + [I(105,21)] = {64,0}, + [I(106,21)] = {64,0}, + [I(107,21)] = {64,0}, + [I(108,21)] = {64,0}, + [I(109,21)] = {64,0}, + [I(110,21)] = {64,0}, + [I(111,21)] = {64,0}, + [I(112,21)] = {64,0}, + [I(113,21)] = {64,0}, + [I(114,21)] = {64,0}, + [I(115,21)] = {64,0}, + [I(116,21)] = {64,0}, + [I(117,21)] = {64,0}, + [I(118,21)] = {64,0}, + [I(119,21)] = {64,0}, + [I(120,21)] = {64,0}, + [I(121,21)] = {64,0}, + [I(122,21)] = {64,0}, + [I(123,21)] = {64,0}, + [I(124,21)] = {64,0}, + [I(125,21)] = {64,0}, + [I(126,21)] = {64,0}, + [I(127,21)] = {64,0}, + [I(128,21)] = {64,0}, + [I(129,21)] = {64,0}, + [I(130,21)] = {64,0}, + [I(131,21)] = {64,0}, + [I(132,21)] = {64,0}, + [I(133,21)] = {64,0}, + [I(134,21)] = {64,0}, + [I(135,21)] = {64,0}, + [I(136,21)] = {64,0}, + [I(137,21)] = {64,0}, + [I(138,21)] = {64,0}, + [I(139,21)] = {64,0}, + [I(140,21)] = {64,0}, + [I(141,21)] = {64,0}, + [I(142,21)] = {64,0}, + [I(143,21)] = {64,0}, + [I(144,21)] = {64,0}, + [I(145,21)] = {64,0}, + [I(146,21)] = {64,0}, + [I(147,21)] = {64,0}, + [I(148,21)] = {64,0}, + [I(149,21)] = {64,0}, + [I(150,21)] = {64,0}, + [I(151,21)] = {64,0}, + [I(152,21)] = {64,0}, + [I(153,21)] = {64,0}, + [I(154,21)] = {64,0}, + [I(155,21)] = {64,0}, + [I(156,21)] = {64,0}, + [I(157,21)] = {64,0}, + [I(158,21)] = {64,0}, + [I(159,21)] = {64,0}, + [I(160,21)] = {64,0}, + [I(161,21)] = {64,0}, + [I(162,21)] = {64,0}, + [I(163,21)] = {64,0}, + [I(164,21)] = {64,0}, + [I(165,21)] = {64,0}, + [I(166,21)] = {64,0}, + [I(167,21)] = {64,0}, + [I(168,21)] = {64,0}, + [I(169,21)] = {64,0}, + [I(170,21)] = {64,0}, + [I(171,21)] = {64,0}, + [I(172,21)] = {64,0}, + [I(173,21)] = {64,0}, + [I(174,21)] = {64,0}, + [I(175,21)] = {64,0}, + [I(176,21)] = {64,0}, + [I(177,21)] = {64,0}, + [I(178,21)] = {64,0}, + [I(179,21)] = {64,0}, + [I(180,21)] = {64,0}, + [I(181,21)] = {64,0}, + [I(182,21)] = {64,0}, + [I(183,21)] = {64,0}, + [I(184,21)] = {64,0}, + [I(185,21)] = {64,0}, + [I(186,21)] = {64,0}, + [I(187,21)] = {64,0}, + [I(188,21)] = {64,0}, + [I(189,21)] = {64,0}, + [I(190,21)] = {64,0}, + [I(191,21)] = {64,0}, + [I(192,21)] = {64,0}, + [I(193,21)] = {64,0}, + [I(194,21)] = {64,0}, + [I(195,21)] = {64,0}, + [I(196,21)] = {64,0}, + [I(197,21)] = {64,0}, + [I(198,21)] = {64,0}, + [I(199,21)] = {64,0}, + [I(200,21)] = {64,0}, + [I(201,21)] = {64,0}, + [I(202,21)] = {64,0}, + [I(203,21)] = {64,0}, + [I(204,21)] = {64,0}, + [I(205,21)] = {64,0}, + [I(206,21)] = {64,0}, + [I(207,21)] = {64,0}, + [I(208,21)] = {64,0}, + [I(209,21)] = {64,0}, + [I(210,21)] = {64,0}, + [I(211,21)] = {64,0}, + [I(212,21)] = {64,0}, + [I(213,21)] = {64,0}, + [I(214,21)] = {64,0}, + [I(215,21)] = {64,0}, + [I(216,21)] = {64,0}, + [I(217,21)] = {64,0}, + [I(218,21)] = {64,0}, + [I(219,21)] = {64,0}, + [I(220,21)] = {64,0}, + [I(221,21)] = {64,0}, + [I(222,21)] = {64,0}, + [I(223,21)] = {64,0}, + [I(224,21)] = {64,0}, + [I(225,21)] = {64,0}, + [I(226,21)] = {64,0}, + [I(227,21)] = {64,0}, + [I(228,21)] = {64,0}, + [I(229,21)] = {64,0}, + [I(230,21)] = {64,0}, + [I(231,21)] = {64,0}, + [I(232,21)] = {64,0}, + [I(233,21)] = {64,0}, + [I(234,21)] = {64,0}, + [I(235,21)] = {64,0}, + [I(236,21)] = {64,0}, + [I(237,21)] = {64,0}, + [I(238,21)] = {64,0}, + [I(239,21)] = {64,0}, + [I(240,21)] = {64,0}, + [I(241,21)] = {64,0}, + [I(242,21)] = {64,0}, + [I(243,21)] = {64,0}, + [I(244,21)] = {64,0}, + [I(245,21)] = {64,0}, + [I(246,21)] = {64,0}, + [I(247,21)] = {64,0}, + [I(248,21)] = {64,0}, + [I(249,21)] = {64,0}, + [I(250,21)] = {64,0}, + [I(251,21)] = {64,0}, + [I(252,21)] = {64,0}, + [I(253,21)] = {64,0}, + [I(254,21)] = {64,0}, + [I(255,21)] = {64,0}, + [I(0,22)] = {64,0}, + [I(1,22)] = {64,0}, + [I(2,22)] = {64,0}, + [I(3,22)] = {64,0}, + [I(4,22)] = {64,0}, + [I(5,22)] = {64,0}, + [I(6,22)] = {64,0}, + [I(7,22)] = {64,0}, + [I(8,22)] = {64,0}, + [I(9,22)] = {64,0}, + [I(10,22)] = {64,0}, + [I(11,22)] = {64,0}, + [I(12,22)] = {64,0}, + [I(13,22)] = {64,0}, + [I(14,22)] = {64,0}, + [I(15,22)] = {64,0}, + [I(16,22)] = {64,0}, + [I(17,22)] = {64,0}, + [I(18,22)] = {64,0}, + [I(19,22)] = {64,0}, + [I(20,22)] = {64,0}, + [I(21,22)] = {64,0}, + [I(22,22)] = {64,0}, + [I(23,22)] = {64,0}, + [I(24,22)] = {64,0}, + [I(25,22)] = {64,0}, + [I(26,22)] = {64,0}, + [I(27,22)] = {64,0}, + [I(28,22)] = {64,0}, + [I(29,22)] = {64,0}, + [I(30,22)] = {64,0}, + [I(31,22)] = {64,0}, + [I(32,22)] = {64,0}, + [I(33,22)] = {64,0}, + [I(34,22)] = {64,0}, + [I(35,22)] = {64,0}, + [I(36,22)] = {64,0}, + [I(37,22)] = {64,0}, + [I(38,22)] = {64,0}, + [I(39,22)] = {64,0}, + [I(40,22)] = {64,0}, + [I(41,22)] = {64,0}, + [I(42,22)] = {64,0}, + [I(43,22)] = {64,0}, + [I(44,22)] = {64,0}, + [I(45,22)] = {64,0}, + [I(46,22)] = {64,0}, + [I(47,22)] = {64,0}, + [I(48,22)] = {64,0}, + [I(49,22)] = {64,0}, + [I(50,22)] = {64,0}, + [I(51,22)] = {64,0}, + [I(52,22)] = {64,0}, + [I(53,22)] = {64,0}, + [I(54,22)] = {64,0}, + [I(55,22)] = {64,0}, + [I(56,22)] = {64,0}, + [I(57,22)] = {64,0}, + [I(58,22)] = {64,0}, + [I(59,22)] = {64,0}, + [I(60,22)] = {64,0}, + [I(61,22)] = {64,0}, + [I(62,22)] = {64,0}, + [I(63,22)] = {64,0}, + [I(64,22)] = {64,0}, + [I(65,22)] = {64,0}, + [I(66,22)] = {64,0}, + [I(67,22)] = {64,0}, + [I(68,22)] = {64,0}, + [I(69,22)] = {64,0}, + [I(70,22)] = {64,0}, + [I(71,22)] = {64,0}, + [I(72,22)] = {64,0}, + [I(73,22)] = {64,0}, + [I(74,22)] = {64,0}, + [I(75,22)] = {64,0}, + [I(76,22)] = {64,0}, + [I(77,22)] = {64,0}, + [I(78,22)] = {64,0}, + [I(79,22)] = {64,0}, + [I(80,22)] = {64,0}, + [I(81,22)] = {64,0}, + [I(82,22)] = {64,0}, + [I(83,22)] = {64,0}, + [I(84,22)] = {64,0}, + [I(85,22)] = {64,0}, + [I(86,22)] = {64,0}, + [I(87,22)] = {64,0}, + [I(88,22)] = {64,0}, + [I(89,22)] = {64,0}, + [I(90,22)] = {64,0}, + [I(91,22)] = {64,0}, + [I(92,22)] = {64,0}, + [I(93,22)] = {64,0}, + [I(94,22)] = {64,0}, + [I(95,22)] = {64,0}, + [I(96,22)] = {64,0}, + [I(97,22)] = {64,0}, + [I(98,22)] = {64,0}, + [I(99,22)] = {64,0}, + [I(100,22)] = {64,0}, + [I(101,22)] = {64,0}, + [I(102,22)] = {64,0}, + [I(103,22)] = {64,0}, + [I(104,22)] = {64,0}, + [I(105,22)] = {64,0}, + [I(106,22)] = {64,0}, + [I(107,22)] = {64,0}, + [I(108,22)] = {64,0}, + [I(109,22)] = {64,0}, + [I(110,22)] = {64,0}, + [I(111,22)] = {64,0}, + [I(112,22)] = {64,0}, + [I(113,22)] = {64,0}, + [I(114,22)] = {64,0}, + [I(115,22)] = {64,0}, + [I(116,22)] = {64,0}, + [I(117,22)] = {64,0}, + [I(118,22)] = {64,0}, + [I(119,22)] = {64,0}, + [I(120,22)] = {64,0}, + [I(121,22)] = {64,0}, + [I(122,22)] = {64,0}, + [I(123,22)] = {64,0}, + [I(124,22)] = {64,0}, + [I(125,22)] = {64,0}, + [I(126,22)] = {64,0}, + [I(127,22)] = {64,0}, + [I(128,22)] = {64,0}, + [I(129,22)] = {64,0}, + [I(130,22)] = {64,0}, + [I(131,22)] = {64,0}, + [I(132,22)] = {64,0}, + [I(133,22)] = {64,0}, + [I(134,22)] = {64,0}, + [I(135,22)] = {64,0}, + [I(136,22)] = {64,0}, + [I(137,22)] = {64,0}, + [I(138,22)] = {64,0}, + [I(139,22)] = {64,0}, + [I(140,22)] = {64,0}, + [I(141,22)] = {64,0}, + [I(142,22)] = {64,0}, + [I(143,22)] = {64,0}, + [I(144,22)] = {64,0}, + [I(145,22)] = {64,0}, + [I(146,22)] = {64,0}, + [I(147,22)] = {64,0}, + [I(148,22)] = {64,0}, + [I(149,22)] = {64,0}, + [I(150,22)] = {64,0}, + [I(151,22)] = {64,0}, + [I(152,22)] = {64,0}, + [I(153,22)] = {64,0}, + [I(154,22)] = {64,0}, + [I(155,22)] = {64,0}, + [I(156,22)] = {64,0}, + [I(157,22)] = {64,0}, + [I(158,22)] = {64,0}, + [I(159,22)] = {64,0}, + [I(160,22)] = {64,0}, + [I(161,22)] = {64,0}, + [I(162,22)] = {64,0}, + [I(163,22)] = {64,0}, + [I(164,22)] = {64,0}, + [I(165,22)] = {64,0}, + [I(166,22)] = {64,0}, + [I(167,22)] = {64,0}, + [I(168,22)] = {64,0}, + [I(169,22)] = {64,0}, + [I(170,22)] = {64,0}, + [I(171,22)] = {64,0}, + [I(172,22)] = {64,0}, + [I(173,22)] = {64,0}, + [I(174,22)] = {64,0}, + [I(175,22)] = {64,0}, + [I(176,22)] = {64,0}, + [I(177,22)] = {64,0}, + [I(178,22)] = {64,0}, + [I(179,22)] = {64,0}, + [I(180,22)] = {64,0}, + [I(181,22)] = {64,0}, + [I(182,22)] = {64,0}, + [I(183,22)] = {64,0}, + [I(184,22)] = {64,0}, + [I(185,22)] = {64,0}, + [I(186,22)] = {64,0}, + [I(187,22)] = {64,0}, + [I(188,22)] = {64,0}, + [I(189,22)] = {64,0}, + [I(190,22)] = {64,0}, + [I(191,22)] = {64,0}, + [I(192,22)] = {64,0}, + [I(193,22)] = {64,0}, + [I(194,22)] = {64,0}, + [I(195,22)] = {64,0}, + [I(196,22)] = {64,0}, + [I(197,22)] = {64,0}, + [I(198,22)] = {64,0}, + [I(199,22)] = {64,0}, + [I(200,22)] = {64,0}, + [I(201,22)] = {64,0}, + [I(202,22)] = {64,0}, + [I(203,22)] = {64,0}, + [I(204,22)] = {64,0}, + [I(205,22)] = {64,0}, + [I(206,22)] = {64,0}, + [I(207,22)] = {64,0}, + [I(208,22)] = {64,0}, + [I(209,22)] = {64,0}, + [I(210,22)] = {64,0}, + [I(211,22)] = {64,0}, + [I(212,22)] = {64,0}, + [I(213,22)] = {64,0}, + [I(214,22)] = {64,0}, + [I(215,22)] = {64,0}, + [I(216,22)] = {64,0}, + [I(217,22)] = {64,0}, + [I(218,22)] = {64,0}, + [I(219,22)] = {64,0}, + [I(220,22)] = {64,0}, + [I(221,22)] = {64,0}, + [I(222,22)] = {64,0}, + [I(223,22)] = {64,0}, + [I(224,22)] = {64,0}, + [I(225,22)] = {64,0}, + [I(226,22)] = {64,0}, + [I(227,22)] = {64,0}, + [I(228,22)] = {64,0}, + [I(229,22)] = {64,0}, + [I(230,22)] = {64,0}, + [I(231,22)] = {64,0}, + [I(232,22)] = {64,0}, + [I(233,22)] = {64,0}, + [I(234,22)] = {64,0}, + [I(235,22)] = {64,0}, + [I(236,22)] = {64,0}, + [I(237,22)] = {64,0}, + [I(238,22)] = {64,0}, + [I(239,22)] = {64,0}, + [I(240,22)] = {64,0}, + [I(241,22)] = {64,0}, + [I(242,22)] = {64,0}, + [I(243,22)] = {64,0}, + [I(244,22)] = {64,0}, + [I(245,22)] = {64,0}, + [I(246,22)] = {64,0}, + [I(247,22)] = {64,0}, + [I(248,22)] = {64,0}, + [I(249,22)] = {64,0}, + [I(250,22)] = {64,0}, + [I(251,22)] = {64,0}, + [I(252,22)] = {64,0}, + [I(253,22)] = {64,0}, + [I(254,22)] = {64,0}, + [I(255,22)] = {64,0}, + [I(0,23)] = {64,0}, + [I(1,23)] = {64,0}, + [I(2,23)] = {64,0}, + [I(3,23)] = {64,0}, + [I(4,23)] = {64,0}, + [I(5,23)] = {64,0}, + [I(6,23)] = {64,0}, + [I(7,23)] = {64,0}, + [I(8,23)] = {64,0}, + [I(9,23)] = {64,0}, + [I(10,23)] = {64,0}, + [I(11,23)] = {64,0}, + [I(12,23)] = {64,0}, + [I(13,23)] = {64,0}, + [I(14,23)] = {64,0}, + [I(15,23)] = {64,0}, + [I(16,23)] = {64,0}, + [I(17,23)] = {64,0}, + [I(18,23)] = {64,0}, + [I(19,23)] = {64,0}, + [I(20,23)] = {64,0}, + [I(21,23)] = {64,0}, + [I(22,23)] = {64,0}, + [I(23,23)] = {64,0}, + [I(24,23)] = {64,0}, + [I(25,23)] = {64,0}, + [I(26,23)] = {64,0}, + [I(27,23)] = {64,0}, + [I(28,23)] = {64,0}, + [I(29,23)] = {64,0}, + [I(30,23)] = {64,0}, + [I(31,23)] = {64,0}, + [I(32,23)] = {64,0}, + [I(33,23)] = {64,0}, + [I(34,23)] = {64,0}, + [I(35,23)] = {64,0}, + [I(36,23)] = {64,0}, + [I(37,23)] = {64,0}, + [I(38,23)] = {64,0}, + [I(39,23)] = {64,0}, + [I(40,23)] = {64,0}, + [I(41,23)] = {64,0}, + [I(42,23)] = {64,0}, + [I(43,23)] = {64,0}, + [I(44,23)] = {64,0}, + [I(45,23)] = {64,0}, + [I(46,23)] = {64,0}, + [I(47,23)] = {64,0}, + [I(48,23)] = {64,0}, + [I(49,23)] = {64,0}, + [I(50,23)] = {64,0}, + [I(51,23)] = {64,0}, + [I(52,23)] = {64,0}, + [I(53,23)] = {64,0}, + [I(54,23)] = {64,0}, + [I(55,23)] = {64,0}, + [I(56,23)] = {64,0}, + [I(57,23)] = {64,0}, + [I(58,23)] = {64,0}, + [I(59,23)] = {64,0}, + [I(60,23)] = {64,0}, + [I(61,23)] = {64,0}, + [I(62,23)] = {64,0}, + [I(63,23)] = {64,0}, + [I(64,23)] = {64,0}, + [I(65,23)] = {64,0}, + [I(66,23)] = {64,0}, + [I(67,23)] = {64,0}, + [I(68,23)] = {64,0}, + [I(69,23)] = {64,0}, + [I(70,23)] = {64,0}, + [I(71,23)] = {64,0}, + [I(72,23)] = {64,0}, + [I(73,23)] = {64,0}, + [I(74,23)] = {64,0}, + [I(75,23)] = {64,0}, + [I(76,23)] = {64,0}, + [I(77,23)] = {64,0}, + [I(78,23)] = {64,0}, + [I(79,23)] = {64,0}, + [I(80,23)] = {64,0}, + [I(81,23)] = {64,0}, + [I(82,23)] = {64,0}, + [I(83,23)] = {64,0}, + [I(84,23)] = {64,0}, + [I(85,23)] = {64,0}, + [I(86,23)] = {64,0}, + [I(87,23)] = {64,0}, + [I(88,23)] = {64,0}, + [I(89,23)] = {64,0}, + [I(90,23)] = {64,0}, + [I(91,23)] = {64,0}, + [I(92,23)] = {64,0}, + [I(93,23)] = {64,0}, + [I(94,23)] = {64,0}, + [I(95,23)] = {64,0}, + [I(96,23)] = {64,0}, + [I(97,23)] = {64,0}, + [I(98,23)] = {64,0}, + [I(99,23)] = {64,0}, + [I(100,23)] = {64,0}, + [I(101,23)] = {64,0}, + [I(102,23)] = {64,0}, + [I(103,23)] = {64,0}, + [I(104,23)] = {64,0}, + [I(105,23)] = {64,0}, + [I(106,23)] = {64,0}, + [I(107,23)] = {64,0}, + [I(108,23)] = {64,0}, + [I(109,23)] = {64,0}, + [I(110,23)] = {64,0}, + [I(111,23)] = {64,0}, + [I(112,23)] = {64,0}, + [I(113,23)] = {64,0}, + [I(114,23)] = {64,0}, + [I(115,23)] = {64,0}, + [I(116,23)] = {64,0}, + [I(117,23)] = {64,0}, + [I(118,23)] = {64,0}, + [I(119,23)] = {64,0}, + [I(120,23)] = {64,0}, + [I(121,23)] = {64,0}, + [I(122,23)] = {64,0}, + [I(123,23)] = {64,0}, + [I(124,23)] = {64,0}, + [I(125,23)] = {64,0}, + [I(126,23)] = {64,0}, + [I(127,23)] = {64,0}, + [I(128,23)] = {64,0}, + [I(129,23)] = {64,0}, + [I(130,23)] = {64,0}, + [I(131,23)] = {64,0}, + [I(132,23)] = {64,0}, + [I(133,23)] = {64,0}, + [I(134,23)] = {64,0}, + [I(135,23)] = {64,0}, + [I(136,23)] = {64,0}, + [I(137,23)] = {64,0}, + [I(138,23)] = {64,0}, + [I(139,23)] = {64,0}, + [I(140,23)] = {64,0}, + [I(141,23)] = {64,0}, + [I(142,23)] = {64,0}, + [I(143,23)] = {64,0}, + [I(144,23)] = {64,0}, + [I(145,23)] = {64,0}, + [I(146,23)] = {64,0}, + [I(147,23)] = {64,0}, + [I(148,23)] = {64,0}, + [I(149,23)] = {64,0}, + [I(150,23)] = {64,0}, + [I(151,23)] = {64,0}, + [I(152,23)] = {64,0}, + [I(153,23)] = {64,0}, + [I(154,23)] = {64,0}, + [I(155,23)] = {64,0}, + [I(156,23)] = {64,0}, + [I(157,23)] = {64,0}, + [I(158,23)] = {64,0}, + [I(159,23)] = {64,0}, + [I(160,23)] = {64,0}, + [I(161,23)] = {64,0}, + [I(162,23)] = {64,0}, + [I(163,23)] = {64,0}, + [I(164,23)] = {64,0}, + [I(165,23)] = {64,0}, + [I(166,23)] = {64,0}, + [I(167,23)] = {64,0}, + [I(168,23)] = {64,0}, + [I(169,23)] = {64,0}, + [I(170,23)] = {64,0}, + [I(171,23)] = {64,0}, + [I(172,23)] = {64,0}, + [I(173,23)] = {64,0}, + [I(174,23)] = {64,0}, + [I(175,23)] = {64,0}, + [I(176,23)] = {64,0}, + [I(177,23)] = {64,0}, + [I(178,23)] = {64,0}, + [I(179,23)] = {64,0}, + [I(180,23)] = {64,0}, + [I(181,23)] = {64,0}, + [I(182,23)] = {64,0}, + [I(183,23)] = {64,0}, + [I(184,23)] = {64,0}, + [I(185,23)] = {64,0}, + [I(186,23)] = {64,0}, + [I(187,23)] = {64,0}, + [I(188,23)] = {64,0}, + [I(189,23)] = {64,0}, + [I(190,23)] = {64,0}, + [I(191,23)] = {64,0}, + [I(192,23)] = {64,0}, + [I(193,23)] = {64,0}, + [I(194,23)] = {64,0}, + [I(195,23)] = {64,0}, + [I(196,23)] = {64,0}, + [I(197,23)] = {64,0}, + [I(198,23)] = {64,0}, + [I(199,23)] = {64,0}, + [I(200,23)] = {64,0}, + [I(201,23)] = {64,0}, + [I(202,23)] = {64,0}, + [I(203,23)] = {64,0}, + [I(204,23)] = {64,0}, + [I(205,23)] = {64,0}, + [I(206,23)] = {64,0}, + [I(207,23)] = {64,0}, + [I(208,23)] = {64,0}, + [I(209,23)] = {64,0}, + [I(210,23)] = {64,0}, + [I(211,23)] = {64,0}, + [I(212,23)] = {64,0}, + [I(213,23)] = {64,0}, + [I(214,23)] = {64,0}, + [I(215,23)] = {64,0}, + [I(216,23)] = {64,0}, + [I(217,23)] = {64,0}, + [I(218,23)] = {64,0}, + [I(219,23)] = {64,0}, + [I(220,23)] = {64,0}, + [I(221,23)] = {64,0}, + [I(222,23)] = {64,0}, + [I(223,23)] = {64,0}, + [I(224,23)] = {64,0}, + [I(225,23)] = {64,0}, + [I(226,23)] = {64,0}, + [I(227,23)] = {64,0}, + [I(228,23)] = {64,0}, + [I(229,23)] = {64,0}, + [I(230,23)] = {64,0}, + [I(231,23)] = {64,0}, + [I(232,23)] = {64,0}, + [I(233,23)] = {64,0}, + [I(234,23)] = {64,0}, + [I(235,23)] = {64,0}, + [I(236,23)] = {64,0}, + [I(237,23)] = {64,0}, + [I(238,23)] = {64,0}, + [I(239,23)] = {64,0}, + [I(240,23)] = {64,0}, + [I(241,23)] = {64,0}, + [I(242,23)] = {64,0}, + [I(243,23)] = {64,0}, + [I(244,23)] = {64,0}, + [I(245,23)] = {64,0}, + [I(246,23)] = {64,0}, + [I(247,23)] = {64,0}, + [I(248,23)] = {64,0}, + [I(249,23)] = {64,0}, + [I(250,23)] = {64,0}, + [I(251,23)] = {64,0}, + [I(252,23)] = {64,0}, + [I(253,23)] = {64,0}, + [I(254,23)] = {64,0}, + [I(255,23)] = {64,0}, + [I(0,24)] = {64,0}, + [I(1,24)] = {64,0}, + [I(2,24)] = {64,0}, + [I(3,24)] = {64,0}, + [I(4,24)] = {64,0}, + [I(5,24)] = {64,0}, + [I(6,24)] = {64,0}, + [I(7,24)] = {64,0}, + [I(8,24)] = {64,0}, + [I(9,24)] = {64,0}, + [I(10,24)] = {64,0}, + [I(11,24)] = {64,0}, + [I(12,24)] = {64,0}, + [I(13,24)] = {64,0}, + [I(14,24)] = {64,0}, + [I(15,24)] = {64,0}, + [I(16,24)] = {64,0}, + [I(17,24)] = {64,0}, + [I(18,24)] = {64,0}, + [I(19,24)] = {64,0}, + [I(20,24)] = {64,0}, + [I(21,24)] = {64,0}, + [I(22,24)] = {64,0}, + [I(23,24)] = {64,0}, + [I(24,24)] = {64,0}, + [I(25,24)] = {64,0}, + [I(26,24)] = {64,0}, + [I(27,24)] = {64,0}, + [I(28,24)] = {64,0}, + [I(29,24)] = {64,0}, + [I(30,24)] = {64,0}, + [I(31,24)] = {64,0}, + [I(32,24)] = {64,0}, + [I(33,24)] = {64,0}, + [I(34,24)] = {64,0}, + [I(35,24)] = {64,0}, + [I(36,24)] = {64,0}, + [I(37,24)] = {64,0}, + [I(38,24)] = {64,0}, + [I(39,24)] = {64,0}, + [I(40,24)] = {64,0}, + [I(41,24)] = {64,0}, + [I(42,24)] = {64,0}, + [I(43,24)] = {64,0}, + [I(44,24)] = {64,0}, + [I(45,24)] = {64,0}, + [I(46,24)] = {64,0}, + [I(47,24)] = {64,0}, + [I(48,24)] = {64,0}, + [I(49,24)] = {64,0}, + [I(50,24)] = {64,0}, + [I(51,24)] = {64,0}, + [I(52,24)] = {64,0}, + [I(53,24)] = {64,0}, + [I(54,24)] = {64,0}, + [I(55,24)] = {64,0}, + [I(56,24)] = {64,0}, + [I(57,24)] = {64,0}, + [I(58,24)] = {64,0}, + [I(59,24)] = {64,0}, + [I(60,24)] = {64,0}, + [I(61,24)] = {64,0}, + [I(62,24)] = {64,0}, + [I(63,24)] = {64,0}, + [I(64,24)] = {64,0}, + [I(65,24)] = {64,0}, + [I(66,24)] = {64,0}, + [I(67,24)] = {64,0}, + [I(68,24)] = {64,0}, + [I(69,24)] = {64,0}, + [I(70,24)] = {64,0}, + [I(71,24)] = {64,0}, + [I(72,24)] = {64,0}, + [I(73,24)] = {64,0}, + [I(74,24)] = {64,0}, + [I(75,24)] = {64,0}, + [I(76,24)] = {64,0}, + [I(77,24)] = {64,0}, + [I(78,24)] = {64,0}, + [I(79,24)] = {64,0}, + [I(80,24)] = {64,0}, + [I(81,24)] = {64,0}, + [I(82,24)] = {64,0}, + [I(83,24)] = {64,0}, + [I(84,24)] = {64,0}, + [I(85,24)] = {64,0}, + [I(86,24)] = {64,0}, + [I(87,24)] = {64,0}, + [I(88,24)] = {64,0}, + [I(89,24)] = {64,0}, + [I(90,24)] = {64,0}, + [I(91,24)] = {64,0}, + [I(92,24)] = {64,0}, + [I(93,24)] = {64,0}, + [I(94,24)] = {64,0}, + [I(95,24)] = {64,0}, + [I(96,24)] = {64,0}, + [I(97,24)] = {64,0}, + [I(98,24)] = {64,0}, + [I(99,24)] = {64,0}, + [I(100,24)] = {64,0}, + [I(101,24)] = {64,0}, + [I(102,24)] = {64,0}, + [I(103,24)] = {64,0}, + [I(104,24)] = {64,0}, + [I(105,24)] = {64,0}, + [I(106,24)] = {64,0}, + [I(107,24)] = {64,0}, + [I(108,24)] = {64,0}, + [I(109,24)] = {64,0}, + [I(110,24)] = {64,0}, + [I(111,24)] = {64,0}, + [I(112,24)] = {64,0}, + [I(113,24)] = {64,0}, + [I(114,24)] = {64,0}, + [I(115,24)] = {64,0}, + [I(116,24)] = {64,0}, + [I(117,24)] = {64,0}, + [I(118,24)] = {64,0}, + [I(119,24)] = {64,0}, + [I(120,24)] = {64,0}, + [I(121,24)] = {64,0}, + [I(122,24)] = {64,0}, + [I(123,24)] = {64,0}, + [I(124,24)] = {64,0}, + [I(125,24)] = {64,0}, + [I(126,24)] = {64,0}, + [I(127,24)] = {64,0}, + [I(128,24)] = {64,0}, + [I(129,24)] = {64,0}, + [I(130,24)] = {64,0}, + [I(131,24)] = {64,0}, + [I(132,24)] = {64,0}, + [I(133,24)] = {64,0}, + [I(134,24)] = {64,0}, + [I(135,24)] = {64,0}, + [I(136,24)] = {64,0}, + [I(137,24)] = {64,0}, + [I(138,24)] = {64,0}, + [I(139,24)] = {64,0}, + [I(140,24)] = {64,0}, + [I(141,24)] = {64,0}, + [I(142,24)] = {64,0}, + [I(143,24)] = {64,0}, + [I(144,24)] = {64,0}, + [I(145,24)] = {64,0}, + [I(146,24)] = {64,0}, + [I(147,24)] = {64,0}, + [I(148,24)] = {64,0}, + [I(149,24)] = {64,0}, + [I(150,24)] = {64,0}, + [I(151,24)] = {64,0}, + [I(152,24)] = {64,0}, + [I(153,24)] = {64,0}, + [I(154,24)] = {64,0}, + [I(155,24)] = {64,0}, + [I(156,24)] = {64,0}, + [I(157,24)] = {64,0}, + [I(158,24)] = {64,0}, + [I(159,24)] = {64,0}, + [I(160,24)] = {64,0}, + [I(161,24)] = {64,0}, + [I(162,24)] = {64,0}, + [I(163,24)] = {64,0}, + [I(164,24)] = {64,0}, + [I(165,24)] = {64,0}, + [I(166,24)] = {64,0}, + [I(167,24)] = {64,0}, + [I(168,24)] = {64,0}, + [I(169,24)] = {64,0}, + [I(170,24)] = {64,0}, + [I(171,24)] = {64,0}, + [I(172,24)] = {64,0}, + [I(173,24)] = {64,0}, + [I(174,24)] = {64,0}, + [I(175,24)] = {64,0}, + [I(176,24)] = {64,0}, + [I(177,24)] = {64,0}, + [I(178,24)] = {64,0}, + [I(179,24)] = {64,0}, + [I(180,24)] = {64,0}, + [I(181,24)] = {64,0}, + [I(182,24)] = {64,0}, + [I(183,24)] = {64,0}, + [I(184,24)] = {64,0}, + [I(185,24)] = {64,0}, + [I(186,24)] = {64,0}, + [I(187,24)] = {64,0}, + [I(188,24)] = {64,0}, + [I(189,24)] = {64,0}, + [I(190,24)] = {64,0}, + [I(191,24)] = {64,0}, + [I(192,24)] = {64,0}, + [I(193,24)] = {64,0}, + [I(194,24)] = {64,0}, + [I(195,24)] = {64,0}, + [I(196,24)] = {64,0}, + [I(197,24)] = {64,0}, + [I(198,24)] = {64,0}, + [I(199,24)] = {64,0}, + [I(200,24)] = {64,0}, + [I(201,24)] = {64,0}, + [I(202,24)] = {64,0}, + [I(203,24)] = {64,0}, + [I(204,24)] = {64,0}, + [I(205,24)] = {64,0}, + [I(206,24)] = {64,0}, + [I(207,24)] = {64,0}, + [I(208,24)] = {64,0}, + [I(209,24)] = {64,0}, + [I(210,24)] = {64,0}, + [I(211,24)] = {64,0}, + [I(212,24)] = {64,0}, + [I(213,24)] = {64,0}, + [I(214,24)] = {64,0}, + [I(215,24)] = {64,0}, + [I(216,24)] = {64,0}, + [I(217,24)] = {64,0}, + [I(218,24)] = {64,0}, + [I(219,24)] = {64,0}, + [I(220,24)] = {64,0}, + [I(221,24)] = {64,0}, + [I(222,24)] = {64,0}, + [I(223,24)] = {64,0}, + [I(224,24)] = {64,0}, + [I(225,24)] = {64,0}, + [I(226,24)] = {64,0}, + [I(227,24)] = {64,0}, + [I(228,24)] = {64,0}, + [I(229,24)] = {64,0}, + [I(230,24)] = {64,0}, + [I(231,24)] = {64,0}, + [I(232,24)] = {64,0}, + [I(233,24)] = {64,0}, + [I(234,24)] = {64,0}, + [I(235,24)] = {64,0}, + [I(236,24)] = {64,0}, + [I(237,24)] = {64,0}, + [I(238,24)] = {64,0}, + [I(239,24)] = {64,0}, + [I(240,24)] = {64,0}, + [I(241,24)] = {64,0}, + [I(242,24)] = {64,0}, + [I(243,24)] = {64,0}, + [I(244,24)] = {64,0}, + [I(245,24)] = {64,0}, + [I(246,24)] = {64,0}, + [I(247,24)] = {64,0}, + [I(248,24)] = {64,0}, + [I(249,24)] = {64,0}, + [I(250,24)] = {64,0}, + [I(251,24)] = {64,0}, + [I(252,24)] = {64,0}, + [I(253,24)] = {64,0}, + [I(254,24)] = {64,0}, + [I(255,24)] = {64,0}, + [I(0,25)] = {64,0}, + [I(1,25)] = {64,0}, + [I(2,25)] = {64,0}, + [I(3,25)] = {64,0}, + [I(4,25)] = {64,0}, + [I(5,25)] = {64,0}, + [I(6,25)] = {64,0}, + [I(7,25)] = {64,0}, + [I(8,25)] = {64,0}, + [I(9,25)] = {64,0}, + [I(10,25)] = {64,0}, + [I(11,25)] = {64,0}, + [I(12,25)] = {64,0}, + [I(13,25)] = {64,0}, + [I(14,25)] = {64,0}, + [I(15,25)] = {64,0}, + [I(16,25)] = {64,0}, + [I(17,25)] = {64,0}, + [I(18,25)] = {64,0}, + [I(19,25)] = {64,0}, + [I(20,25)] = {64,0}, + [I(21,25)] = {64,0}, + [I(22,25)] = {64,0}, + [I(23,25)] = {64,0}, + [I(24,25)] = {64,0}, + [I(25,25)] = {64,0}, + [I(26,25)] = {64,0}, + [I(27,25)] = {64,0}, + [I(28,25)] = {64,0}, + [I(29,25)] = {64,0}, + [I(30,25)] = {64,0}, + [I(31,25)] = {64,0}, + [I(32,25)] = {64,0}, + [I(33,25)] = {64,0}, + [I(34,25)] = {64,0}, + [I(35,25)] = {64,0}, + [I(36,25)] = {64,0}, + [I(37,25)] = {64,0}, + [I(38,25)] = {64,0}, + [I(39,25)] = {64,0}, + [I(40,25)] = {64,0}, + [I(41,25)] = {64,0}, + [I(42,25)] = {64,0}, + [I(43,25)] = {64,0}, + [I(44,25)] = {64,0}, + [I(45,25)] = {64,0}, + [I(46,25)] = {64,0}, + [I(47,25)] = {64,0}, + [I(48,25)] = {64,0}, + [I(49,25)] = {64,0}, + [I(50,25)] = {64,0}, + [I(51,25)] = {64,0}, + [I(52,25)] = {64,0}, + [I(53,25)] = {64,0}, + [I(54,25)] = {64,0}, + [I(55,25)] = {64,0}, + [I(56,25)] = {64,0}, + [I(57,25)] = {64,0}, + [I(58,25)] = {64,0}, + [I(59,25)] = {64,0}, + [I(60,25)] = {64,0}, + [I(61,25)] = {64,0}, + [I(62,25)] = {64,0}, + [I(63,25)] = {64,0}, + [I(64,25)] = {64,0}, + [I(65,25)] = {64,0}, + [I(66,25)] = {64,0}, + [I(67,25)] = {64,0}, + [I(68,25)] = {64,0}, + [I(69,25)] = {64,0}, + [I(70,25)] = {64,0}, + [I(71,25)] = {64,0}, + [I(72,25)] = {64,0}, + [I(73,25)] = {64,0}, + [I(74,25)] = {64,0}, + [I(75,25)] = {64,0}, + [I(76,25)] = {64,0}, + [I(77,25)] = {64,0}, + [I(78,25)] = {64,0}, + [I(79,25)] = {64,0}, + [I(80,25)] = {64,0}, + [I(81,25)] = {64,0}, + [I(82,25)] = {64,0}, + [I(83,25)] = {64,0}, + [I(84,25)] = {64,0}, + [I(85,25)] = {64,0}, + [I(86,25)] = {64,0}, + [I(87,25)] = {64,0}, + [I(88,25)] = {64,0}, + [I(89,25)] = {64,0}, + [I(90,25)] = {64,0}, + [I(91,25)] = {64,0}, + [I(92,25)] = {64,0}, + [I(93,25)] = {64,0}, + [I(94,25)] = {64,0}, + [I(95,25)] = {64,0}, + [I(96,25)] = {64,0}, + [I(97,25)] = {64,0}, + [I(98,25)] = {64,0}, + [I(99,25)] = {64,0}, + [I(100,25)] = {64,0}, + [I(101,25)] = {64,0}, + [I(102,25)] = {64,0}, + [I(103,25)] = {64,0}, + [I(104,25)] = {64,0}, + [I(105,25)] = {64,0}, + [I(106,25)] = {64,0}, + [I(107,25)] = {64,0}, + [I(108,25)] = {64,0}, + [I(109,25)] = {64,0}, + [I(110,25)] = {64,0}, + [I(111,25)] = {64,0}, + [I(112,25)] = {64,0}, + [I(113,25)] = {64,0}, + [I(114,25)] = {64,0}, + [I(115,25)] = {64,0}, + [I(116,25)] = {64,0}, + [I(117,25)] = {64,0}, + [I(118,25)] = {64,0}, + [I(119,25)] = {64,0}, + [I(120,25)] = {64,0}, + [I(121,25)] = {64,0}, + [I(122,25)] = {64,0}, + [I(123,25)] = {64,0}, + [I(124,25)] = {64,0}, + [I(125,25)] = {64,0}, + [I(126,25)] = {64,0}, + [I(127,25)] = {64,0}, + [I(128,25)] = {64,0}, + [I(129,25)] = {64,0}, + [I(130,25)] = {64,0}, + [I(131,25)] = {64,0}, + [I(132,25)] = {64,0}, + [I(133,25)] = {64,0}, + [I(134,25)] = {64,0}, + [I(135,25)] = {64,0}, + [I(136,25)] = {64,0}, + [I(137,25)] = {64,0}, + [I(138,25)] = {64,0}, + [I(139,25)] = {64,0}, + [I(140,25)] = {64,0}, + [I(141,25)] = {64,0}, + [I(142,25)] = {64,0}, + [I(143,25)] = {64,0}, + [I(144,25)] = {64,0}, + [I(145,25)] = {64,0}, + [I(146,25)] = {64,0}, + [I(147,25)] = {64,0}, + [I(148,25)] = {64,0}, + [I(149,25)] = {64,0}, + [I(150,25)] = {64,0}, + [I(151,25)] = {64,0}, + [I(152,25)] = {64,0}, + [I(153,25)] = {64,0}, + [I(154,25)] = {64,0}, + [I(155,25)] = {64,0}, + [I(156,25)] = {64,0}, + [I(157,25)] = {64,0}, + [I(158,25)] = {64,0}, + [I(159,25)] = {64,0}, + [I(160,25)] = {64,0}, + [I(161,25)] = {64,0}, + [I(162,25)] = {64,0}, + [I(163,25)] = {64,0}, + [I(164,25)] = {64,0}, + [I(165,25)] = {64,0}, + [I(166,25)] = {64,0}, + [I(167,25)] = {64,0}, + [I(168,25)] = {64,0}, + [I(169,25)] = {64,0}, + [I(170,25)] = {64,0}, + [I(171,25)] = {64,0}, + [I(172,25)] = {64,0}, + [I(173,25)] = {64,0}, + [I(174,25)] = {64,0}, + [I(175,25)] = {64,0}, + [I(176,25)] = {64,0}, + [I(177,25)] = {64,0}, + [I(178,25)] = {64,0}, + [I(179,25)] = {64,0}, + [I(180,25)] = {64,0}, + [I(181,25)] = {64,0}, + [I(182,25)] = {64,0}, + [I(183,25)] = {64,0}, + [I(184,25)] = {64,0}, + [I(185,25)] = {64,0}, + [I(186,25)] = {64,0}, + [I(187,25)] = {64,0}, + [I(188,25)] = {64,0}, + [I(189,25)] = {64,0}, + [I(190,25)] = {64,0}, + [I(191,25)] = {64,0}, + [I(192,25)] = {64,0}, + [I(193,25)] = {64,0}, + [I(194,25)] = {64,0}, + [I(195,25)] = {64,0}, + [I(196,25)] = {64,0}, + [I(197,25)] = {64,0}, + [I(198,25)] = {64,0}, + [I(199,25)] = {64,0}, + [I(200,25)] = {64,0}, + [I(201,25)] = {64,0}, + [I(202,25)] = {64,0}, + [I(203,25)] = {64,0}, + [I(204,25)] = {64,0}, + [I(205,25)] = {64,0}, + [I(206,25)] = {64,0}, + [I(207,25)] = {64,0}, + [I(208,25)] = {64,0}, + [I(209,25)] = {64,0}, + [I(210,25)] = {64,0}, + [I(211,25)] = {64,0}, + [I(212,25)] = {64,0}, + [I(213,25)] = {64,0}, + [I(214,25)] = {64,0}, + [I(215,25)] = {64,0}, + [I(216,25)] = {64,0}, + [I(217,25)] = {64,0}, + [I(218,25)] = {64,0}, + [I(219,25)] = {64,0}, + [I(220,25)] = {64,0}, + [I(221,25)] = {64,0}, + [I(222,25)] = {64,0}, + [I(223,25)] = {64,0}, + [I(224,25)] = {64,0}, + [I(225,25)] = {64,0}, + [I(226,25)] = {64,0}, + [I(227,25)] = {64,0}, + [I(228,25)] = {64,0}, + [I(229,25)] = {64,0}, + [I(230,25)] = {64,0}, + [I(231,25)] = {64,0}, + [I(232,25)] = {64,0}, + [I(233,25)] = {64,0}, + [I(234,25)] = {64,0}, + [I(235,25)] = {64,0}, + [I(236,25)] = {64,0}, + [I(237,25)] = {64,0}, + [I(238,25)] = {64,0}, + [I(239,25)] = {64,0}, + [I(240,25)] = {64,0}, + [I(241,25)] = {64,0}, + [I(242,25)] = {64,0}, + [I(243,25)] = {64,0}, + [I(244,25)] = {64,0}, + [I(245,25)] = {64,0}, + [I(246,25)] = {64,0}, + [I(247,25)] = {64,0}, + [I(248,25)] = {64,0}, + [I(249,25)] = {64,0}, + [I(250,25)] = {64,0}, + [I(251,25)] = {64,0}, + [I(252,25)] = {64,0}, + [I(253,25)] = {64,0}, + [I(254,25)] = {64,0}, + [I(255,25)] = {64,0}, + [I(0,26)] = {64,0}, + [I(1,26)] = {64,0}, + [I(2,26)] = {64,0}, + [I(3,26)] = {64,0}, + [I(4,26)] = {64,0}, + [I(5,26)] = {64,0}, + [I(6,26)] = {64,0}, + [I(7,26)] = {64,0}, + [I(8,26)] = {64,0}, + [I(9,26)] = {64,0}, + [I(10,26)] = {64,0}, + [I(11,26)] = {64,0}, + [I(12,26)] = {64,0}, + [I(13,26)] = {64,0}, + [I(14,26)] = {64,0}, + [I(15,26)] = {64,0}, + [I(16,26)] = {64,0}, + [I(17,26)] = {64,0}, + [I(18,26)] = {64,0}, + [I(19,26)] = {64,0}, + [I(20,26)] = {64,0}, + [I(21,26)] = {64,0}, + [I(22,26)] = {64,0}, + [I(23,26)] = {64,0}, + [I(24,26)] = {64,0}, + [I(25,26)] = {64,0}, + [I(26,26)] = {64,0}, + [I(27,26)] = {64,0}, + [I(28,26)] = {64,0}, + [I(29,26)] = {64,0}, + [I(30,26)] = {64,0}, + [I(31,26)] = {64,0}, + [I(32,26)] = {64,0}, + [I(33,26)] = {64,0}, + [I(34,26)] = {64,0}, + [I(35,26)] = {64,0}, + [I(36,26)] = {64,0}, + [I(37,26)] = {64,0}, + [I(38,26)] = {64,0}, + [I(39,26)] = {64,0}, + [I(40,26)] = {64,0}, + [I(41,26)] = {64,0}, + [I(42,26)] = {64,0}, + [I(43,26)] = {64,0}, + [I(44,26)] = {64,0}, + [I(45,26)] = {64,0}, + [I(46,26)] = {64,0}, + [I(47,26)] = {64,0}, + [I(48,26)] = {64,0}, + [I(49,26)] = {64,0}, + [I(50,26)] = {64,0}, + [I(51,26)] = {64,0}, + [I(52,26)] = {64,0}, + [I(53,26)] = {64,0}, + [I(54,26)] = {64,0}, + [I(55,26)] = {64,0}, + [I(56,26)] = {64,0}, + [I(57,26)] = {64,0}, + [I(58,26)] = {64,0}, + [I(59,26)] = {64,0}, + [I(60,26)] = {64,0}, + [I(61,26)] = {64,0}, + [I(62,26)] = {64,0}, + [I(63,26)] = {64,0}, + [I(64,26)] = {64,0}, + [I(65,26)] = {64,0}, + [I(66,26)] = {64,0}, + [I(67,26)] = {64,0}, + [I(68,26)] = {64,0}, + [I(69,26)] = {64,0}, + [I(70,26)] = {64,0}, + [I(71,26)] = {64,0}, + [I(72,26)] = {64,0}, + [I(73,26)] = {64,0}, + [I(74,26)] = {64,0}, + [I(75,26)] = {64,0}, + [I(76,26)] = {64,0}, + [I(77,26)] = {64,0}, + [I(78,26)] = {64,0}, + [I(79,26)] = {64,0}, + [I(80,26)] = {64,0}, + [I(81,26)] = {64,0}, + [I(82,26)] = {64,0}, + [I(83,26)] = {64,0}, + [I(84,26)] = {64,0}, + [I(85,26)] = {64,0}, + [I(86,26)] = {64,0}, + [I(87,26)] = {64,0}, + [I(88,26)] = {64,0}, + [I(89,26)] = {64,0}, + [I(90,26)] = {64,0}, + [I(91,26)] = {64,0}, + [I(92,26)] = {64,0}, + [I(93,26)] = {64,0}, + [I(94,26)] = {64,0}, + [I(95,26)] = {64,0}, + [I(96,26)] = {64,0}, + [I(97,26)] = {64,0}, + [I(98,26)] = {64,0}, + [I(99,26)] = {64,0}, + [I(100,26)] = {64,0}, + [I(101,26)] = {64,0}, + [I(102,26)] = {64,0}, + [I(103,26)] = {64,0}, + [I(104,26)] = {64,0}, + [I(105,26)] = {64,0}, + [I(106,26)] = {64,0}, + [I(107,26)] = {64,0}, + [I(108,26)] = {64,0}, + [I(109,26)] = {64,0}, + [I(110,26)] = {64,0}, + [I(111,26)] = {64,0}, + [I(112,26)] = {64,0}, + [I(113,26)] = {64,0}, + [I(114,26)] = {64,0}, + [I(115,26)] = {64,0}, + [I(116,26)] = {64,0}, + [I(117,26)] = {64,0}, + [I(118,26)] = {64,0}, + [I(119,26)] = {64,0}, + [I(120,26)] = {64,0}, + [I(121,26)] = {64,0}, + [I(122,26)] = {64,0}, + [I(123,26)] = {64,0}, + [I(124,26)] = {64,0}, + [I(125,26)] = {64,0}, + [I(126,26)] = {64,0}, + [I(127,26)] = {64,0}, + [I(128,26)] = {64,0}, + [I(129,26)] = {64,0}, + [I(130,26)] = {64,0}, + [I(131,26)] = {64,0}, + [I(132,26)] = {64,0}, + [I(133,26)] = {64,0}, + [I(134,26)] = {64,0}, + [I(135,26)] = {64,0}, + [I(136,26)] = {64,0}, + [I(137,26)] = {64,0}, + [I(138,26)] = {64,0}, + [I(139,26)] = {64,0}, + [I(140,26)] = {64,0}, + [I(141,26)] = {64,0}, + [I(142,26)] = {64,0}, + [I(143,26)] = {64,0}, + [I(144,26)] = {64,0}, + [I(145,26)] = {64,0}, + [I(146,26)] = {64,0}, + [I(147,26)] = {64,0}, + [I(148,26)] = {64,0}, + [I(149,26)] = {64,0}, + [I(150,26)] = {64,0}, + [I(151,26)] = {64,0}, + [I(152,26)] = {64,0}, + [I(153,26)] = {64,0}, + [I(154,26)] = {64,0}, + [I(155,26)] = {64,0}, + [I(156,26)] = {64,0}, + [I(157,26)] = {64,0}, + [I(158,26)] = {64,0}, + [I(159,26)] = {64,0}, + [I(160,26)] = {64,0}, + [I(161,26)] = {64,0}, + [I(162,26)] = {64,0}, + [I(163,26)] = {64,0}, + [I(164,26)] = {64,0}, + [I(165,26)] = {64,0}, + [I(166,26)] = {64,0}, + [I(167,26)] = {64,0}, + [I(168,26)] = {64,0}, + [I(169,26)] = {64,0}, + [I(170,26)] = {64,0}, + [I(171,26)] = {64,0}, + [I(172,26)] = {64,0}, + [I(173,26)] = {64,0}, + [I(174,26)] = {64,0}, + [I(175,26)] = {64,0}, + [I(176,26)] = {64,0}, + [I(177,26)] = {64,0}, + [I(178,26)] = {64,0}, + [I(179,26)] = {64,0}, + [I(180,26)] = {64,0}, + [I(181,26)] = {64,0}, + [I(182,26)] = {64,0}, + [I(183,26)] = {64,0}, + [I(184,26)] = {64,0}, + [I(185,26)] = {64,0}, + [I(186,26)] = {64,0}, + [I(187,26)] = {64,0}, + [I(188,26)] = {64,0}, + [I(189,26)] = {64,0}, + [I(190,26)] = {64,0}, + [I(191,26)] = {64,0}, + [I(192,26)] = {64,0}, + [I(193,26)] = {64,0}, + [I(194,26)] = {64,0}, + [I(195,26)] = {64,0}, + [I(196,26)] = {64,0}, + [I(197,26)] = {64,0}, + [I(198,26)] = {64,0}, + [I(199,26)] = {64,0}, + [I(200,26)] = {64,0}, + [I(201,26)] = {64,0}, + [I(202,26)] = {64,0}, + [I(203,26)] = {64,0}, + [I(204,26)] = {64,0}, + [I(205,26)] = {64,0}, + [I(206,26)] = {64,0}, + [I(207,26)] = {64,0}, + [I(208,26)] = {64,0}, + [I(209,26)] = {64,0}, + [I(210,26)] = {64,0}, + [I(211,26)] = {64,0}, + [I(212,26)] = {64,0}, + [I(213,26)] = {64,0}, + [I(214,26)] = {64,0}, + [I(215,26)] = {64,0}, + [I(216,26)] = {64,0}, + [I(217,26)] = {64,0}, + [I(218,26)] = {64,0}, + [I(219,26)] = {64,0}, + [I(220,26)] = {64,0}, + [I(221,26)] = {64,0}, + [I(222,26)] = {64,0}, + [I(223,26)] = {64,0}, + [I(224,26)] = {64,0}, + [I(225,26)] = {64,0}, + [I(226,26)] = {64,0}, + [I(227,26)] = {64,0}, + [I(228,26)] = {64,0}, + [I(229,26)] = {64,0}, + [I(230,26)] = {64,0}, + [I(231,26)] = {64,0}, + [I(232,26)] = {64,0}, + [I(233,26)] = {64,0}, + [I(234,26)] = {64,0}, + [I(235,26)] = {64,0}, + [I(236,26)] = {64,0}, + [I(237,26)] = {64,0}, + [I(238,26)] = {64,0}, + [I(239,26)] = {64,0}, + [I(240,26)] = {64,0}, + [I(241,26)] = {64,0}, + [I(242,26)] = {64,0}, + [I(243,26)] = {64,0}, + [I(244,26)] = {64,0}, + [I(245,26)] = {64,0}, + [I(246,26)] = {64,0}, + [I(247,26)] = {64,0}, + [I(248,26)] = {64,0}, + [I(249,26)] = {64,0}, + [I(250,26)] = {64,0}, + [I(251,26)] = {64,0}, + [I(252,26)] = {64,0}, + [I(253,26)] = {64,0}, + [I(254,26)] = {64,0}, + [I(255,26)] = {64,0}, + [I(0,27)] = {64,0}, + [I(1,27)] = {64,0}, + [I(2,27)] = {64,0}, + [I(3,27)] = {64,0}, + [I(4,27)] = {64,0}, + [I(5,27)] = {64,0}, + [I(6,27)] = {64,0}, + [I(7,27)] = {64,0}, + [I(8,27)] = {64,0}, + [I(9,27)] = {64,0}, + [I(10,27)] = {64,0}, + [I(11,27)] = {64,0}, + [I(12,27)] = {64,0}, + [I(13,27)] = {64,0}, + [I(14,27)] = {64,0}, + [I(15,27)] = {64,0}, + [I(16,27)] = {64,0}, + [I(17,27)] = {64,0}, + [I(18,27)] = {64,0}, + [I(19,27)] = {64,0}, + [I(20,27)] = {64,0}, + [I(21,27)] = {64,0}, + [I(22,27)] = {64,0}, + [I(23,27)] = {64,0}, + [I(24,27)] = {64,0}, + [I(25,27)] = {64,0}, + [I(26,27)] = {64,0}, + [I(27,27)] = {64,0}, + [I(28,27)] = {64,0}, + [I(29,27)] = {64,0}, + [I(30,27)] = {64,0}, + [I(31,27)] = {64,0}, + [I(32,27)] = {64,0}, + [I(33,27)] = {64,0}, + [I(34,27)] = {64,0}, + [I(35,27)] = {64,0}, + [I(36,27)] = {64,0}, + [I(37,27)] = {64,0}, + [I(38,27)] = {64,0}, + [I(39,27)] = {64,0}, + [I(40,27)] = {64,0}, + [I(41,27)] = {64,0}, + [I(42,27)] = {64,0}, + [I(43,27)] = {64,0}, + [I(44,27)] = {64,0}, + [I(45,27)] = {64,0}, + [I(46,27)] = {64,0}, + [I(47,27)] = {64,0}, + [I(48,27)] = {64,0}, + [I(49,27)] = {64,0}, + [I(50,27)] = {64,0}, + [I(51,27)] = {64,0}, + [I(52,27)] = {64,0}, + [I(53,27)] = {64,0}, + [I(54,27)] = {64,0}, + [I(55,27)] = {64,0}, + [I(56,27)] = {64,0}, + [I(57,27)] = {64,0}, + [I(58,27)] = {64,0}, + [I(59,27)] = {64,0}, + [I(60,27)] = {64,0}, + [I(61,27)] = {64,0}, + [I(62,27)] = {64,0}, + [I(63,27)] = {64,0}, + [I(64,27)] = {64,0}, + [I(65,27)] = {64,0}, + [I(66,27)] = {64,0}, + [I(67,27)] = {64,0}, + [I(68,27)] = {64,0}, + [I(69,27)] = {64,0}, + [I(70,27)] = {64,0}, + [I(71,27)] = {64,0}, + [I(72,27)] = {64,0}, + [I(73,27)] = {64,0}, + [I(74,27)] = {64,0}, + [I(75,27)] = {64,0}, + [I(76,27)] = {64,0}, + [I(77,27)] = {64,0}, + [I(78,27)] = {64,0}, + [I(79,27)] = {64,0}, + [I(80,27)] = {64,0}, + [I(81,27)] = {64,0}, + [I(82,27)] = {64,0}, + [I(83,27)] = {64,0}, + [I(84,27)] = {64,0}, + [I(85,27)] = {64,0}, + [I(86,27)] = {64,0}, + [I(87,27)] = {64,0}, + [I(88,27)] = {64,0}, + [I(89,27)] = {64,0}, + [I(90,27)] = {64,0}, + [I(91,27)] = {64,0}, + [I(92,27)] = {64,0}, + [I(93,27)] = {64,0}, + [I(94,27)] = {64,0}, + [I(95,27)] = {64,0}, + [I(96,27)] = {64,0}, + [I(97,27)] = {64,0}, + [I(98,27)] = {64,0}, + [I(99,27)] = {64,0}, + [I(100,27)] = {64,0}, + [I(101,27)] = {64,0}, + [I(102,27)] = {64,0}, + [I(103,27)] = {64,0}, + [I(104,27)] = {64,0}, + [I(105,27)] = {64,0}, + [I(106,27)] = {64,0}, + [I(107,27)] = {64,0}, + [I(108,27)] = {64,0}, + [I(109,27)] = {64,0}, + [I(110,27)] = {64,0}, + [I(111,27)] = {64,0}, + [I(112,27)] = {64,0}, + [I(113,27)] = {64,0}, + [I(114,27)] = {64,0}, + [I(115,27)] = {64,0}, + [I(116,27)] = {64,0}, + [I(117,27)] = {64,0}, + [I(118,27)] = {64,0}, + [I(119,27)] = {64,0}, + [I(120,27)] = {64,0}, + [I(121,27)] = {64,0}, + [I(122,27)] = {64,0}, + [I(123,27)] = {64,0}, + [I(124,27)] = {64,0}, + [I(125,27)] = {64,0}, + [I(126,27)] = {64,0}, + [I(127,27)] = {64,0}, + [I(128,27)] = {64,0}, + [I(129,27)] = {64,0}, + [I(130,27)] = {64,0}, + [I(131,27)] = {64,0}, + [I(132,27)] = {64,0}, + [I(133,27)] = {64,0}, + [I(134,27)] = {64,0}, + [I(135,27)] = {64,0}, + [I(136,27)] = {64,0}, + [I(137,27)] = {64,0}, + [I(138,27)] = {64,0}, + [I(139,27)] = {64,0}, + [I(140,27)] = {64,0}, + [I(141,27)] = {64,0}, + [I(142,27)] = {64,0}, + [I(143,27)] = {64,0}, + [I(144,27)] = {64,0}, + [I(145,27)] = {64,0}, + [I(146,27)] = {64,0}, + [I(147,27)] = {64,0}, + [I(148,27)] = {64,0}, + [I(149,27)] = {64,0}, + [I(150,27)] = {64,0}, + [I(151,27)] = {64,0}, + [I(152,27)] = {64,0}, + [I(153,27)] = {64,0}, + [I(154,27)] = {64,0}, + [I(155,27)] = {64,0}, + [I(156,27)] = {64,0}, + [I(157,27)] = {64,0}, + [I(158,27)] = {64,0}, + [I(159,27)] = {64,0}, + [I(160,27)] = {64,0}, + [I(161,27)] = {64,0}, + [I(162,27)] = {64,0}, + [I(163,27)] = {64,0}, + [I(164,27)] = {64,0}, + [I(165,27)] = {64,0}, + [I(166,27)] = {64,0}, + [I(167,27)] = {64,0}, + [I(168,27)] = {64,0}, + [I(169,27)] = {64,0}, + [I(170,27)] = {64,0}, + [I(171,27)] = {64,0}, + [I(172,27)] = {64,0}, + [I(173,27)] = {64,0}, + [I(174,27)] = {64,0}, + [I(175,27)] = {64,0}, + [I(176,27)] = {64,0}, + [I(177,27)] = {64,0}, + [I(178,27)] = {64,0}, + [I(179,27)] = {64,0}, + [I(180,27)] = {64,0}, + [I(181,27)] = {64,0}, + [I(182,27)] = {64,0}, + [I(183,27)] = {64,0}, + [I(184,27)] = {64,0}, + [I(185,27)] = {64,0}, + [I(186,27)] = {64,0}, + [I(187,27)] = {64,0}, + [I(188,27)] = {64,0}, + [I(189,27)] = {64,0}, + [I(190,27)] = {64,0}, + [I(191,27)] = {64,0}, + [I(192,27)] = {64,0}, + [I(193,27)] = {64,0}, + [I(194,27)] = {64,0}, + [I(195,27)] = {64,0}, + [I(196,27)] = {64,0}, + [I(197,27)] = {64,0}, + [I(198,27)] = {64,0}, + [I(199,27)] = {64,0}, + [I(200,27)] = {64,0}, + [I(201,27)] = {64,0}, + [I(202,27)] = {64,0}, + [I(203,27)] = {64,0}, + [I(204,27)] = {64,0}, + [I(205,27)] = {64,0}, + [I(206,27)] = {64,0}, + [I(207,27)] = {64,0}, + [I(208,27)] = {64,0}, + [I(209,27)] = {64,0}, + [I(210,27)] = {64,0}, + [I(211,27)] = {64,0}, + [I(212,27)] = {64,0}, + [I(213,27)] = {64,0}, + [I(214,27)] = {64,0}, + [I(215,27)] = {64,0}, + [I(216,27)] = {64,0}, + [I(217,27)] = {64,0}, + [I(218,27)] = {64,0}, + [I(219,27)] = {64,0}, + [I(220,27)] = {64,0}, + [I(221,27)] = {64,0}, + [I(222,27)] = {64,0}, + [I(223,27)] = {64,0}, + [I(224,27)] = {64,0}, + [I(225,27)] = {64,0}, + [I(226,27)] = {64,0}, + [I(227,27)] = {64,0}, + [I(228,27)] = {64,0}, + [I(229,27)] = {64,0}, + [I(230,27)] = {64,0}, + [I(231,27)] = {64,0}, + [I(232,27)] = {64,0}, + [I(233,27)] = {64,0}, + [I(234,27)] = {64,0}, + [I(235,27)] = {64,0}, + [I(236,27)] = {64,0}, + [I(237,27)] = {64,0}, + [I(238,27)] = {64,0}, + [I(239,27)] = {64,0}, + [I(240,27)] = {64,0}, + [I(241,27)] = {64,0}, + [I(242,27)] = {64,0}, + [I(243,27)] = {64,0}, + [I(244,27)] = {64,0}, + [I(245,27)] = {64,0}, + [I(246,27)] = {64,0}, + [I(247,27)] = {64,0}, + [I(248,27)] = {64,0}, + [I(249,27)] = {64,0}, + [I(250,27)] = {64,0}, + [I(251,27)] = {64,0}, + [I(252,27)] = {64,0}, + [I(253,27)] = {64,0}, + [I(254,27)] = {64,0}, + [I(255,27)] = {64,0}, + [I(0,28)] = {64,0}, + [I(1,28)] = {64,0}, + [I(2,28)] = {64,0}, + [I(3,28)] = {64,0}, + [I(4,28)] = {64,0}, + [I(5,28)] = {64,0}, + [I(6,28)] = {64,0}, + [I(7,28)] = {64,0}, + [I(8,28)] = {64,0}, + [I(9,28)] = {64,0}, + [I(10,28)] = {64,0}, + [I(11,28)] = {64,0}, + [I(12,28)] = {64,0}, + [I(13,28)] = {64,0}, + [I(14,28)] = {64,0}, + [I(15,28)] = {64,0}, + [I(16,28)] = {64,0}, + [I(17,28)] = {64,0}, + [I(18,28)] = {64,0}, + [I(19,28)] = {64,0}, + [I(20,28)] = {64,0}, + [I(21,28)] = {64,0}, + [I(22,28)] = {64,0}, + [I(23,28)] = {64,0}, + [I(24,28)] = {64,0}, + [I(25,28)] = {64,0}, + [I(26,28)] = {64,0}, + [I(27,28)] = {64,0}, + [I(28,28)] = {64,0}, + [I(29,28)] = {64,0}, + [I(30,28)] = {64,0}, + [I(31,28)] = {64,0}, + [I(32,28)] = {64,0}, + [I(33,28)] = {64,0}, + [I(34,28)] = {64,0}, + [I(35,28)] = {64,0}, + [I(36,28)] = {64,0}, + [I(37,28)] = {64,0}, + [I(38,28)] = {64,0}, + [I(39,28)] = {64,0}, + [I(40,28)] = {64,0}, + [I(41,28)] = {64,0}, + [I(42,28)] = {64,0}, + [I(43,28)] = {64,0}, + [I(44,28)] = {64,0}, + [I(45,28)] = {64,0}, + [I(46,28)] = {64,0}, + [I(47,28)] = {64,0}, + [I(48,28)] = {64,0}, + [I(49,28)] = {64,0}, + [I(50,28)] = {64,0}, + [I(51,28)] = {64,0}, + [I(52,28)] = {64,0}, + [I(53,28)] = {64,0}, + [I(54,28)] = {64,0}, + [I(55,28)] = {64,0}, + [I(56,28)] = {64,0}, + [I(57,28)] = {64,0}, + [I(58,28)] = {64,0}, + [I(59,28)] = {64,0}, + [I(60,28)] = {64,0}, + [I(61,28)] = {64,0}, + [I(62,28)] = {64,0}, + [I(63,28)] = {64,0}, + [I(64,28)] = {64,0}, + [I(65,28)] = {64,0}, + [I(66,28)] = {64,0}, + [I(67,28)] = {64,0}, + [I(68,28)] = {64,0}, + [I(69,28)] = {64,0}, + [I(70,28)] = {64,0}, + [I(71,28)] = {64,0}, + [I(72,28)] = {64,0}, + [I(73,28)] = {64,0}, + [I(74,28)] = {64,0}, + [I(75,28)] = {64,0}, + [I(76,28)] = {64,0}, + [I(77,28)] = {64,0}, + [I(78,28)] = {64,0}, + [I(79,28)] = {64,0}, + [I(80,28)] = {64,0}, + [I(81,28)] = {64,0}, + [I(82,28)] = {64,0}, + [I(83,28)] = {64,0}, + [I(84,28)] = {64,0}, + [I(85,28)] = {64,0}, + [I(86,28)] = {64,0}, + [I(87,28)] = {64,0}, + [I(88,28)] = {64,0}, + [I(89,28)] = {64,0}, + [I(90,28)] = {64,0}, + [I(91,28)] = {64,0}, + [I(92,28)] = {64,0}, + [I(93,28)] = {64,0}, + [I(94,28)] = {64,0}, + [I(95,28)] = {64,0}, + [I(96,28)] = {64,0}, + [I(97,28)] = {64,0}, + [I(98,28)] = {64,0}, + [I(99,28)] = {64,0}, + [I(100,28)] = {64,0}, + [I(101,28)] = {64,0}, + [I(102,28)] = {64,0}, + [I(103,28)] = {64,0}, + [I(104,28)] = {64,0}, + [I(105,28)] = {64,0}, + [I(106,28)] = {64,0}, + [I(107,28)] = {64,0}, + [I(108,28)] = {64,0}, + [I(109,28)] = {64,0}, + [I(110,28)] = {64,0}, + [I(111,28)] = {64,0}, + [I(112,28)] = {64,0}, + [I(113,28)] = {64,0}, + [I(114,28)] = {64,0}, + [I(115,28)] = {64,0}, + [I(116,28)] = {64,0}, + [I(117,28)] = {64,0}, + [I(118,28)] = {64,0}, + [I(119,28)] = {64,0}, + [I(120,28)] = {64,0}, + [I(121,28)] = {64,0}, + [I(122,28)] = {64,0}, + [I(123,28)] = {64,0}, + [I(124,28)] = {64,0}, + [I(125,28)] = {64,0}, + [I(126,28)] = {64,0}, + [I(127,28)] = {64,0}, + [I(128,28)] = {64,0}, + [I(129,28)] = {64,0}, + [I(130,28)] = {64,0}, + [I(131,28)] = {64,0}, + [I(132,28)] = {64,0}, + [I(133,28)] = {64,0}, + [I(134,28)] = {64,0}, + [I(135,28)] = {64,0}, + [I(136,28)] = {64,0}, + [I(137,28)] = {64,0}, + [I(138,28)] = {64,0}, + [I(139,28)] = {64,0}, + [I(140,28)] = {64,0}, + [I(141,28)] = {64,0}, + [I(142,28)] = {64,0}, + [I(143,28)] = {64,0}, + [I(144,28)] = {64,0}, + [I(145,28)] = {64,0}, + [I(146,28)] = {64,0}, + [I(147,28)] = {64,0}, + [I(148,28)] = {64,0}, + [I(149,28)] = {64,0}, + [I(150,28)] = {64,0}, + [I(151,28)] = {64,0}, + [I(152,28)] = {64,0}, + [I(153,28)] = {64,0}, + [I(154,28)] = {64,0}, + [I(155,28)] = {64,0}, + [I(156,28)] = {64,0}, + [I(157,28)] = {64,0}, + [I(158,28)] = {64,0}, + [I(159,28)] = {64,0}, + [I(160,28)] = {64,0}, + [I(161,28)] = {64,0}, + [I(162,28)] = {64,0}, + [I(163,28)] = {64,0}, + [I(164,28)] = {64,0}, + [I(165,28)] = {64,0}, + [I(166,28)] = {64,0}, + [I(167,28)] = {64,0}, + [I(168,28)] = {64,0}, + [I(169,28)] = {64,0}, + [I(170,28)] = {64,0}, + [I(171,28)] = {64,0}, + [I(172,28)] = {64,0}, + [I(173,28)] = {64,0}, + [I(174,28)] = {64,0}, + [I(175,28)] = {64,0}, + [I(176,28)] = {64,0}, + [I(177,28)] = {64,0}, + [I(178,28)] = {64,0}, + [I(179,28)] = {64,0}, + [I(180,28)] = {64,0}, + [I(181,28)] = {64,0}, + [I(182,28)] = {64,0}, + [I(183,28)] = {64,0}, + [I(184,28)] = {64,0}, + [I(185,28)] = {64,0}, + [I(186,28)] = {64,0}, + [I(187,28)] = {64,0}, + [I(188,28)] = {64,0}, + [I(189,28)] = {64,0}, + [I(190,28)] = {64,0}, + [I(191,28)] = {64,0}, + [I(192,28)] = {64,0}, + [I(193,28)] = {64,0}, + [I(194,28)] = {64,0}, + [I(195,28)] = {64,0}, + [I(196,28)] = {64,0}, + [I(197,28)] = {64,0}, + [I(198,28)] = {64,0}, + [I(199,28)] = {64,0}, + [I(200,28)] = {64,0}, + [I(201,28)] = {64,0}, + [I(202,28)] = {64,0}, + [I(203,28)] = {64,0}, + [I(204,28)] = {64,0}, + [I(205,28)] = {64,0}, + [I(206,28)] = {64,0}, + [I(207,28)] = {64,0}, + [I(208,28)] = {64,0}, + [I(209,28)] = {64,0}, + [I(210,28)] = {64,0}, + [I(211,28)] = {64,0}, + [I(212,28)] = {64,0}, + [I(213,28)] = {64,0}, + [I(214,28)] = {64,0}, + [I(215,28)] = {64,0}, + [I(216,28)] = {64,0}, + [I(217,28)] = {64,0}, + [I(218,28)] = {64,0}, + [I(219,28)] = {64,0}, + [I(220,28)] = {64,0}, + [I(221,28)] = {64,0}, + [I(222,28)] = {64,0}, + [I(223,28)] = {64,0}, + [I(224,28)] = {64,0}, + [I(225,28)] = {64,0}, + [I(226,28)] = {64,0}, + [I(227,28)] = {64,0}, + [I(228,28)] = {64,0}, + [I(229,28)] = {64,0}, + [I(230,28)] = {64,0}, + [I(231,28)] = {64,0}, + [I(232,28)] = {64,0}, + [I(233,28)] = {64,0}, + [I(234,28)] = {64,0}, + [I(235,28)] = {64,0}, + [I(236,28)] = {64,0}, + [I(237,28)] = {64,0}, + [I(238,28)] = {64,0}, + [I(239,28)] = {64,0}, + [I(240,28)] = {64,0}, + [I(241,28)] = {64,0}, + [I(242,28)] = {64,0}, + [I(243,28)] = {64,0}, + [I(244,28)] = {64,0}, + [I(245,28)] = {64,0}, + [I(246,28)] = {64,0}, + [I(247,28)] = {64,0}, + [I(248,28)] = {64,0}, + [I(249,28)] = {64,0}, + [I(250,28)] = {64,0}, + [I(251,28)] = {64,0}, + [I(252,28)] = {64,0}, + [I(253,28)] = {64,0}, + [I(254,28)] = {64,0}, + [I(255,28)] = {64,0}, + [I(0,29)] = {64,0}, + [I(1,29)] = {64,0}, + [I(2,29)] = {64,0}, + [I(3,29)] = {64,0}, + [I(4,29)] = {64,0}, + [I(5,29)] = {64,0}, + [I(6,29)] = {64,0}, + [I(7,29)] = {64,0}, + [I(8,29)] = {64,0}, + [I(9,29)] = {64,0}, + [I(10,29)] = {64,0}, + [I(11,29)] = {64,0}, + [I(12,29)] = {64,0}, + [I(13,29)] = {64,0}, + [I(14,29)] = {64,0}, + [I(15,29)] = {64,0}, + [I(16,29)] = {64,0}, + [I(17,29)] = {64,0}, + [I(18,29)] = {64,0}, + [I(19,29)] = {64,0}, + [I(20,29)] = {64,0}, + [I(21,29)] = {64,0}, + [I(22,29)] = {64,0}, + [I(23,29)] = {64,0}, + [I(24,29)] = {64,0}, + [I(25,29)] = {64,0}, + [I(26,29)] = {64,0}, + [I(27,29)] = {64,0}, + [I(28,29)] = {64,0}, + [I(29,29)] = {64,0}, + [I(30,29)] = {64,0}, + [I(31,29)] = {64,0}, + [I(32,29)] = {64,0}, + [I(33,29)] = {64,0}, + [I(34,29)] = {64,0}, + [I(35,29)] = {64,0}, + [I(36,29)] = {64,0}, + [I(37,29)] = {64,0}, + [I(38,29)] = {64,0}, + [I(39,29)] = {64,0}, + [I(40,29)] = {64,0}, + [I(41,29)] = {64,0}, + [I(42,29)] = {64,0}, + [I(43,29)] = {64,0}, + [I(44,29)] = {64,0}, + [I(45,29)] = {64,0}, + [I(46,29)] = {64,0}, + [I(47,29)] = {64,0}, + [I(48,29)] = {64,0}, + [I(49,29)] = {64,0}, + [I(50,29)] = {64,0}, + [I(51,29)] = {64,0}, + [I(52,29)] = {64,0}, + [I(53,29)] = {64,0}, + [I(54,29)] = {64,0}, + [I(55,29)] = {64,0}, + [I(56,29)] = {64,0}, + [I(57,29)] = {64,0}, + [I(58,29)] = {64,0}, + [I(59,29)] = {64,0}, + [I(60,29)] = {64,0}, + [I(61,29)] = {64,0}, + [I(62,29)] = {64,0}, + [I(63,29)] = {64,0}, + [I(64,29)] = {64,0}, + [I(65,29)] = {64,0}, + [I(66,29)] = {64,0}, + [I(67,29)] = {64,0}, + [I(68,29)] = {64,0}, + [I(69,29)] = {64,0}, + [I(70,29)] = {64,0}, + [I(71,29)] = {64,0}, + [I(72,29)] = {64,0}, + [I(73,29)] = {64,0}, + [I(74,29)] = {64,0}, + [I(75,29)] = {64,0}, + [I(76,29)] = {64,0}, + [I(77,29)] = {64,0}, + [I(78,29)] = {64,0}, + [I(79,29)] = {64,0}, + [I(80,29)] = {64,0}, + [I(81,29)] = {64,0}, + [I(82,29)] = {64,0}, + [I(83,29)] = {64,0}, + [I(84,29)] = {64,0}, + [I(85,29)] = {64,0}, + [I(86,29)] = {64,0}, + [I(87,29)] = {64,0}, + [I(88,29)] = {64,0}, + [I(89,29)] = {64,0}, + [I(90,29)] = {64,0}, + [I(91,29)] = {64,0}, + [I(92,29)] = {64,0}, + [I(93,29)] = {64,0}, + [I(94,29)] = {64,0}, + [I(95,29)] = {64,0}, + [I(96,29)] = {64,0}, + [I(97,29)] = {64,0}, + [I(98,29)] = {64,0}, + [I(99,29)] = {64,0}, + [I(100,29)] = {64,0}, + [I(101,29)] = {64,0}, + [I(102,29)] = {64,0}, + [I(103,29)] = {64,0}, + [I(104,29)] = {64,0}, + [I(105,29)] = {64,0}, + [I(106,29)] = {64,0}, + [I(107,29)] = {64,0}, + [I(108,29)] = {64,0}, + [I(109,29)] = {64,0}, + [I(110,29)] = {64,0}, + [I(111,29)] = {64,0}, + [I(112,29)] = {64,0}, + [I(113,29)] = {64,0}, + [I(114,29)] = {64,0}, + [I(115,29)] = {64,0}, + [I(116,29)] = {64,0}, + [I(117,29)] = {64,0}, + [I(118,29)] = {64,0}, + [I(119,29)] = {64,0}, + [I(120,29)] = {64,0}, + [I(121,29)] = {64,0}, + [I(122,29)] = {64,0}, + [I(123,29)] = {64,0}, + [I(124,29)] = {64,0}, + [I(125,29)] = {64,0}, + [I(126,29)] = {64,0}, + [I(127,29)] = {64,0}, + [I(128,29)] = {64,0}, + [I(129,29)] = {64,0}, + [I(130,29)] = {64,0}, + [I(131,29)] = {64,0}, + [I(132,29)] = {64,0}, + [I(133,29)] = {64,0}, + [I(134,29)] = {64,0}, + [I(135,29)] = {64,0}, + [I(136,29)] = {64,0}, + [I(137,29)] = {64,0}, + [I(138,29)] = {64,0}, + [I(139,29)] = {64,0}, + [I(140,29)] = {64,0}, + [I(141,29)] = {64,0}, + [I(142,29)] = {64,0}, + [I(143,29)] = {64,0}, + [I(144,29)] = {64,0}, + [I(145,29)] = {64,0}, + [I(146,29)] = {64,0}, + [I(147,29)] = {64,0}, + [I(148,29)] = {64,0}, + [I(149,29)] = {64,0}, + [I(150,29)] = {64,0}, + [I(151,29)] = {64,0}, + [I(152,29)] = {64,0}, + [I(153,29)] = {64,0}, + [I(154,29)] = {64,0}, + [I(155,29)] = {64,0}, + [I(156,29)] = {64,0}, + [I(157,29)] = {64,0}, + [I(158,29)] = {64,0}, + [I(159,29)] = {64,0}, + [I(160,29)] = {64,0}, + [I(161,29)] = {64,0}, + [I(162,29)] = {64,0}, + [I(163,29)] = {64,0}, + [I(164,29)] = {64,0}, + [I(165,29)] = {64,0}, + [I(166,29)] = {64,0}, + [I(167,29)] = {64,0}, + [I(168,29)] = {64,0}, + [I(169,29)] = {64,0}, + [I(170,29)] = {64,0}, + [I(171,29)] = {64,0}, + [I(172,29)] = {64,0}, + [I(173,29)] = {64,0}, + [I(174,29)] = {64,0}, + [I(175,29)] = {64,0}, + [I(176,29)] = {64,0}, + [I(177,29)] = {64,0}, + [I(178,29)] = {64,0}, + [I(179,29)] = {64,0}, + [I(180,29)] = {64,0}, + [I(181,29)] = {64,0}, + [I(182,29)] = {64,0}, + [I(183,29)] = {64,0}, + [I(184,29)] = {64,0}, + [I(185,29)] = {64,0}, + [I(186,29)] = {64,0}, + [I(187,29)] = {64,0}, + [I(188,29)] = {64,0}, + [I(189,29)] = {64,0}, + [I(190,29)] = {64,0}, + [I(191,29)] = {64,0}, + [I(192,29)] = {64,0}, + [I(193,29)] = {64,0}, + [I(194,29)] = {64,0}, + [I(195,29)] = {64,0}, + [I(196,29)] = {64,0}, + [I(197,29)] = {64,0}, + [I(198,29)] = {64,0}, + [I(199,29)] = {64,0}, + [I(200,29)] = {64,0}, + [I(201,29)] = {64,0}, + [I(202,29)] = {64,0}, + [I(203,29)] = {64,0}, + [I(204,29)] = {64,0}, + [I(205,29)] = {64,0}, + [I(206,29)] = {64,0}, + [I(207,29)] = {64,0}, + [I(208,29)] = {64,0}, + [I(209,29)] = {64,0}, + [I(210,29)] = {64,0}, + [I(211,29)] = {64,0}, + [I(212,29)] = {64,0}, + [I(213,29)] = {64,0}, + [I(214,29)] = {64,0}, + [I(215,29)] = {64,0}, + [I(216,29)] = {64,0}, + [I(217,29)] = {64,0}, + [I(218,29)] = {64,0}, + [I(219,29)] = {64,0}, + [I(220,29)] = {64,0}, + [I(221,29)] = {64,0}, + [I(222,29)] = {64,0}, + [I(223,29)] = {64,0}, + [I(224,29)] = {64,0}, + [I(225,29)] = {64,0}, + [I(226,29)] = {64,0}, + [I(227,29)] = {64,0}, + [I(228,29)] = {64,0}, + [I(229,29)] = {64,0}, + [I(230,29)] = {64,0}, + [I(231,29)] = {64,0}, + [I(232,29)] = {64,0}, + [I(233,29)] = {64,0}, + [I(234,29)] = {64,0}, + [I(235,29)] = {64,0}, + [I(236,29)] = {64,0}, + [I(237,29)] = {64,0}, + [I(238,29)] = {64,0}, + [I(239,29)] = {64,0}, + [I(240,29)] = {64,0}, + [I(241,29)] = {64,0}, + [I(242,29)] = {64,0}, + [I(243,29)] = {64,0}, + [I(244,29)] = {64,0}, + [I(245,29)] = {64,0}, + [I(246,29)] = {64,0}, + [I(247,29)] = {64,0}, + [I(248,29)] = {64,0}, + [I(249,29)] = {64,0}, + [I(250,29)] = {64,0}, + [I(251,29)] = {64,0}, + [I(252,29)] = {64,0}, + [I(253,29)] = {64,0}, + [I(254,29)] = {64,0}, + [I(255,29)] = {64,0}, + [I(0,30)] = {64,0}, + [I(1,30)] = {64,0}, + [I(2,30)] = {64,0}, + [I(3,30)] = {64,0}, + [I(4,30)] = {64,0}, + [I(5,30)] = {64,0}, + [I(6,30)] = {64,0}, + [I(7,30)] = {64,0}, + [I(8,30)] = {64,0}, + [I(9,30)] = {64,0}, + [I(10,30)] = {64,0}, + [I(11,30)] = {64,0}, + [I(12,30)] = {64,0}, + [I(13,30)] = {64,0}, + [I(14,30)] = {64,0}, + [I(15,30)] = {64,0}, + [I(16,30)] = {64,0}, + [I(17,30)] = {64,0}, + [I(18,30)] = {64,0}, + [I(19,30)] = {64,0}, + [I(20,30)] = {64,0}, + [I(21,30)] = {64,0}, + [I(22,30)] = {64,0}, + [I(23,30)] = {64,0}, + [I(24,30)] = {64,0}, + [I(25,30)] = {64,0}, + [I(26,30)] = {64,0}, + [I(27,30)] = {64,0}, + [I(28,30)] = {64,0}, + [I(29,30)] = {64,0}, + [I(30,30)] = {64,0}, + [I(31,30)] = {64,0}, + [I(32,30)] = {64,0}, + [I(33,30)] = {64,0}, + [I(34,30)] = {64,0}, + [I(35,30)] = {64,0}, + [I(36,30)] = {64,0}, + [I(37,30)] = {64,0}, + [I(38,30)] = {64,0}, + [I(39,30)] = {64,0}, + [I(40,30)] = {64,0}, + [I(41,30)] = {64,0}, + [I(42,30)] = {64,0}, + [I(43,30)] = {64,0}, + [I(44,30)] = {64,0}, + [I(45,30)] = {64,0}, + [I(46,30)] = {64,0}, + [I(47,30)] = {64,0}, + [I(48,30)] = {64,0}, + [I(49,30)] = {64,0}, + [I(50,30)] = {64,0}, + [I(51,30)] = {64,0}, + [I(52,30)] = {64,0}, + [I(53,30)] = {64,0}, + [I(54,30)] = {64,0}, + [I(55,30)] = {64,0}, + [I(56,30)] = {64,0}, + [I(57,30)] = {64,0}, + [I(58,30)] = {64,0}, + [I(59,30)] = {64,0}, + [I(60,30)] = {64,0}, + [I(61,30)] = {64,0}, + [I(62,30)] = {64,0}, + [I(63,30)] = {64,0}, + [I(64,30)] = {64,0}, + [I(65,30)] = {64,0}, + [I(66,30)] = {64,0}, + [I(67,30)] = {64,0}, + [I(68,30)] = {64,0}, + [I(69,30)] = {64,0}, + [I(70,30)] = {64,0}, + [I(71,30)] = {64,0}, + [I(72,30)] = {64,0}, + [I(73,30)] = {64,0}, + [I(74,30)] = {64,0}, + [I(75,30)] = {64,0}, + [I(76,30)] = {64,0}, + [I(77,30)] = {64,0}, + [I(78,30)] = {64,0}, + [I(79,30)] = {64,0}, + [I(80,30)] = {64,0}, + [I(81,30)] = {64,0}, + [I(82,30)] = {64,0}, + [I(83,30)] = {64,0}, + [I(84,30)] = {64,0}, + [I(85,30)] = {64,0}, + [I(86,30)] = {64,0}, + [I(87,30)] = {64,0}, + [I(88,30)] = {64,0}, + [I(89,30)] = {64,0}, + [I(90,30)] = {64,0}, + [I(91,30)] = {64,0}, + [I(92,30)] = {64,0}, + [I(93,30)] = {64,0}, + [I(94,30)] = {64,0}, + [I(95,30)] = {64,0}, + [I(96,30)] = {64,0}, + [I(97,30)] = {64,0}, + [I(98,30)] = {64,0}, + [I(99,30)] = {64,0}, + [I(100,30)] = {64,0}, + [I(101,30)] = {64,0}, + [I(102,30)] = {64,0}, + [I(103,30)] = {64,0}, + [I(104,30)] = {64,0}, + [I(105,30)] = {64,0}, + [I(106,30)] = {64,0}, + [I(107,30)] = {64,0}, + [I(108,30)] = {64,0}, + [I(109,30)] = {64,0}, + [I(110,30)] = {64,0}, + [I(111,30)] = {64,0}, + [I(112,30)] = {64,0}, + [I(113,30)] = {64,0}, + [I(114,30)] = {64,0}, + [I(115,30)] = {64,0}, + [I(116,30)] = {64,0}, + [I(117,30)] = {64,0}, + [I(118,30)] = {64,0}, + [I(119,30)] = {64,0}, + [I(120,30)] = {64,0}, + [I(121,30)] = {64,0}, + [I(122,30)] = {64,0}, + [I(123,30)] = {64,0}, + [I(124,30)] = {64,0}, + [I(125,30)] = {64,0}, + [I(126,30)] = {64,0}, + [I(127,30)] = {64,0}, + [I(128,30)] = {64,0}, + [I(129,30)] = {64,0}, + [I(130,30)] = {64,0}, + [I(131,30)] = {64,0}, + [I(132,30)] = {64,0}, + [I(133,30)] = {64,0}, + [I(134,30)] = {64,0}, + [I(135,30)] = {64,0}, + [I(136,30)] = {64,0}, + [I(137,30)] = {64,0}, + [I(138,30)] = {64,0}, + [I(139,30)] = {64,0}, + [I(140,30)] = {64,0}, + [I(141,30)] = {64,0}, + [I(142,30)] = {64,0}, + [I(143,30)] = {64,0}, + [I(144,30)] = {64,0}, + [I(145,30)] = {64,0}, + [I(146,30)] = {64,0}, + [I(147,30)] = {64,0}, + [I(148,30)] = {64,0}, + [I(149,30)] = {64,0}, + [I(150,30)] = {64,0}, + [I(151,30)] = {64,0}, + [I(152,30)] = {64,0}, + [I(153,30)] = {64,0}, + [I(154,30)] = {64,0}, + [I(155,30)] = {64,0}, + [I(156,30)] = {64,0}, + [I(157,30)] = {64,0}, + [I(158,30)] = {64,0}, + [I(159,30)] = {64,0}, + [I(160,30)] = {64,0}, + [I(161,30)] = {64,0}, + [I(162,30)] = {64,0}, + [I(163,30)] = {64,0}, + [I(164,30)] = {64,0}, + [I(165,30)] = {64,0}, + [I(166,30)] = {64,0}, + [I(167,30)] = {64,0}, + [I(168,30)] = {64,0}, + [I(169,30)] = {64,0}, + [I(170,30)] = {64,0}, + [I(171,30)] = {64,0}, + [I(172,30)] = {64,0}, + [I(173,30)] = {64,0}, + [I(174,30)] = {64,0}, + [I(175,30)] = {64,0}, + [I(176,30)] = {64,0}, + [I(177,30)] = {64,0}, + [I(178,30)] = {64,0}, + [I(179,30)] = {64,0}, + [I(180,30)] = {64,0}, + [I(181,30)] = {64,0}, + [I(182,30)] = {64,0}, + [I(183,30)] = {64,0}, + [I(184,30)] = {64,0}, + [I(185,30)] = {64,0}, + [I(186,30)] = {64,0}, + [I(187,30)] = {64,0}, + [I(188,30)] = {64,0}, + [I(189,30)] = {64,0}, + [I(190,30)] = {64,0}, + [I(191,30)] = {64,0}, + [I(192,30)] = {64,0}, + [I(193,30)] = {64,0}, + [I(194,30)] = {64,0}, + [I(195,30)] = {64,0}, + [I(196,30)] = {64,0}, + [I(197,30)] = {64,0}, + [I(198,30)] = {64,0}, + [I(199,30)] = {64,0}, + [I(200,30)] = {64,0}, + [I(201,30)] = {64,0}, + [I(202,30)] = {64,0}, + [I(203,30)] = {64,0}, + [I(204,30)] = {64,0}, + [I(205,30)] = {64,0}, + [I(206,30)] = {64,0}, + [I(207,30)] = {64,0}, + [I(208,30)] = {64,0}, + [I(209,30)] = {64,0}, + [I(210,30)] = {64,0}, + [I(211,30)] = {64,0}, + [I(212,30)] = {64,0}, + [I(213,30)] = {64,0}, + [I(214,30)] = {64,0}, + [I(215,30)] = {64,0}, + [I(216,30)] = {64,0}, + [I(217,30)] = {64,0}, + [I(218,30)] = {64,0}, + [I(219,30)] = {64,0}, + [I(220,30)] = {64,0}, + [I(221,30)] = {64,0}, + [I(222,30)] = {64,0}, + [I(223,30)] = {64,0}, + [I(224,30)] = {64,0}, + [I(225,30)] = {64,0}, + [I(226,30)] = {64,0}, + [I(227,30)] = {64,0}, + [I(228,30)] = {64,0}, + [I(229,30)] = {64,0}, + [I(230,30)] = {64,0}, + [I(231,30)] = {64,0}, + [I(232,30)] = {64,0}, + [I(233,30)] = {64,0}, + [I(234,30)] = {64,0}, + [I(235,30)] = {64,0}, + [I(236,30)] = {64,0}, + [I(237,30)] = {64,0}, + [I(238,30)] = {64,0}, + [I(239,30)] = {64,0}, + [I(240,30)] = {64,0}, + [I(241,30)] = {64,0}, + [I(242,30)] = {64,0}, + [I(243,30)] = {64,0}, + [I(244,30)] = {64,0}, + [I(245,30)] = {64,0}, + [I(246,30)] = {64,0}, + [I(247,30)] = {64,0}, + [I(248,30)] = {64,0}, + [I(249,30)] = {64,0}, + [I(250,30)] = {64,0}, + [I(251,30)] = {64,0}, + [I(252,30)] = {64,0}, + [I(253,30)] = {64,0}, + [I(254,30)] = {64,0}, + [I(255,30)] = {64,0}, + [I(0,31)] = {64,0}, + [I(1,31)] = {64,0}, + [I(2,31)] = {64,0}, + [I(3,31)] = {64,0}, + [I(4,31)] = {64,0}, + [I(5,31)] = {64,0}, + [I(6,31)] = {64,0}, + [I(7,31)] = {64,0}, + [I(8,31)] = {64,0}, + [I(9,31)] = {64,0}, + [I(10,31)] = {64,0}, + [I(11,31)] = {64,0}, + [I(12,31)] = {64,0}, + [I(13,31)] = {64,0}, + [I(14,31)] = {64,0}, + [I(15,31)] = {64,0}, + [I(16,31)] = {64,0}, + [I(17,31)] = {64,0}, + [I(18,31)] = {64,0}, + [I(19,31)] = {64,0}, + [I(20,31)] = {64,0}, + [I(21,31)] = {64,0}, + [I(22,31)] = {64,0}, + [I(23,31)] = {64,0}, + [I(24,31)] = {64,0}, + [I(25,31)] = {64,0}, + [I(26,31)] = {64,0}, + [I(27,31)] = {64,0}, + [I(28,31)] = {64,0}, + [I(29,31)] = {64,0}, + [I(30,31)] = {64,0}, + [I(31,31)] = {64,0}, + [I(32,31)] = {64,0}, + [I(33,31)] = {64,0}, + [I(34,31)] = {64,0}, + [I(35,31)] = {64,0}, + [I(36,31)] = {64,0}, + [I(37,31)] = {64,0}, + [I(38,31)] = {64,0}, + [I(39,31)] = {64,0}, + [I(40,31)] = {64,0}, + [I(41,31)] = {64,0}, + [I(42,31)] = {64,0}, + [I(43,31)] = {64,0}, + [I(44,31)] = {64,0}, + [I(45,31)] = {64,0}, + [I(46,31)] = {64,0}, + [I(47,31)] = {64,0}, + [I(48,31)] = {64,0}, + [I(49,31)] = {64,0}, + [I(50,31)] = {64,0}, + [I(51,31)] = {64,0}, + [I(52,31)] = {64,0}, + [I(53,31)] = {64,0}, + [I(54,31)] = {64,0}, + [I(55,31)] = {64,0}, + [I(56,31)] = {64,0}, + [I(57,31)] = {64,0}, + [I(58,31)] = {64,0}, + [I(59,31)] = {64,0}, + [I(60,31)] = {64,0}, + [I(61,31)] = {64,0}, + [I(62,31)] = {64,0}, + [I(63,31)] = {64,0}, + [I(64,31)] = {64,0}, + [I(65,31)] = {64,0}, + [I(66,31)] = {64,0}, + [I(67,31)] = {64,0}, + [I(68,31)] = {64,0}, + [I(69,31)] = {64,0}, + [I(70,31)] = {64,0}, + [I(71,31)] = {64,0}, + [I(72,31)] = {64,0}, + [I(73,31)] = {64,0}, + [I(74,31)] = {64,0}, + [I(75,31)] = {64,0}, + [I(76,31)] = {64,0}, + [I(77,31)] = {64,0}, + [I(78,31)] = {64,0}, + [I(79,31)] = {64,0}, + [I(80,31)] = {64,0}, + [I(81,31)] = {64,0}, + [I(82,31)] = {64,0}, + [I(83,31)] = {64,0}, + [I(84,31)] = {64,0}, + [I(85,31)] = {64,0}, + [I(86,31)] = {64,0}, + [I(87,31)] = {64,0}, + [I(88,31)] = {64,0}, + [I(89,31)] = {64,0}, + [I(90,31)] = {64,0}, + [I(91,31)] = {64,0}, + [I(92,31)] = {64,0}, + [I(93,31)] = {64,0}, + [I(94,31)] = {64,0}, + [I(95,31)] = {64,0}, + [I(96,31)] = {64,0}, + [I(97,31)] = {64,0}, + [I(98,31)] = {64,0}, + [I(99,31)] = {64,0}, + [I(100,31)] = {64,0}, + [I(101,31)] = {64,0}, + [I(102,31)] = {64,0}, + [I(103,31)] = {64,0}, + [I(104,31)] = {64,0}, + [I(105,31)] = {64,0}, + [I(106,31)] = {64,0}, + [I(107,31)] = {64,0}, + [I(108,31)] = {64,0}, + [I(109,31)] = {64,0}, + [I(110,31)] = {64,0}, + [I(111,31)] = {64,0}, + [I(112,31)] = {64,0}, + [I(113,31)] = {64,0}, + [I(114,31)] = {64,0}, + [I(115,31)] = {64,0}, + [I(116,31)] = {64,0}, + [I(117,31)] = {64,0}, + [I(118,31)] = {64,0}, + [I(119,31)] = {64,0}, + [I(120,31)] = {64,0}, + [I(121,31)] = {64,0}, + [I(122,31)] = {64,0}, + [I(123,31)] = {64,0}, + [I(124,31)] = {64,0}, + [I(125,31)] = {64,0}, + [I(126,31)] = {64,0}, + [I(127,31)] = {64,0}, + [I(128,31)] = {64,0}, + [I(129,31)] = {64,0}, + [I(130,31)] = {64,0}, + [I(131,31)] = {64,0}, + [I(132,31)] = {64,0}, + [I(133,31)] = {64,0}, + [I(134,31)] = {64,0}, + [I(135,31)] = {64,0}, + [I(136,31)] = {64,0}, + [I(137,31)] = {64,0}, + [I(138,31)] = {64,0}, + [I(139,31)] = {64,0}, + [I(140,31)] = {64,0}, + [I(141,31)] = {64,0}, + [I(142,31)] = {64,0}, + [I(143,31)] = {64,0}, + [I(144,31)] = {64,0}, + [I(145,31)] = {64,0}, + [I(146,31)] = {64,0}, + [I(147,31)] = {64,0}, + [I(148,31)] = {64,0}, + [I(149,31)] = {64,0}, + [I(150,31)] = {64,0}, + [I(151,31)] = {64,0}, + [I(152,31)] = {64,0}, + [I(153,31)] = {64,0}, + [I(154,31)] = {64,0}, + [I(155,31)] = {64,0}, + [I(156,31)] = {64,0}, + [I(157,31)] = {64,0}, + [I(158,31)] = {64,0}, + [I(159,31)] = {64,0}, + [I(160,31)] = {64,0}, + [I(161,31)] = {64,0}, + [I(162,31)] = {64,0}, + [I(163,31)] = {64,0}, + [I(164,31)] = {64,0}, + [I(165,31)] = {64,0}, + [I(166,31)] = {64,0}, + [I(167,31)] = {64,0}, + [I(168,31)] = {64,0}, + [I(169,31)] = {64,0}, + [I(170,31)] = {64,0}, + [I(171,31)] = {64,0}, + [I(172,31)] = {64,0}, + [I(173,31)] = {64,0}, + [I(174,31)] = {64,0}, + [I(175,31)] = {64,0}, + [I(176,31)] = {64,0}, + [I(177,31)] = {64,0}, + [I(178,31)] = {64,0}, + [I(179,31)] = {64,0}, + [I(180,31)] = {64,0}, + [I(181,31)] = {64,0}, + [I(182,31)] = {64,0}, + [I(183,31)] = {64,0}, + [I(184,31)] = {64,0}, + [I(185,31)] = {64,0}, + [I(186,31)] = {64,0}, + [I(187,31)] = {64,0}, + [I(188,31)] = {64,0}, + [I(189,31)] = {64,0}, + [I(190,31)] = {64,0}, + [I(191,31)] = {64,0}, + [I(192,31)] = {64,0}, + [I(193,31)] = {64,0}, + [I(194,31)] = {64,0}, + [I(195,31)] = {64,0}, + [I(196,31)] = {64,0}, + [I(197,31)] = {64,0}, + [I(198,31)] = {64,0}, + [I(199,31)] = {64,0}, + [I(200,31)] = {64,0}, + [I(201,31)] = {64,0}, + [I(202,31)] = {64,0}, + [I(203,31)] = {64,0}, + [I(204,31)] = {64,0}, + [I(205,31)] = {64,0}, + [I(206,31)] = {64,0}, + [I(207,31)] = {64,0}, + [I(208,31)] = {64,0}, + [I(209,31)] = {64,0}, + [I(210,31)] = {64,0}, + [I(211,31)] = {64,0}, + [I(212,31)] = {64,0}, + [I(213,31)] = {64,0}, + [I(214,31)] = {64,0}, + [I(215,31)] = {64,0}, + [I(216,31)] = {64,0}, + [I(217,31)] = {64,0}, + [I(218,31)] = {64,0}, + [I(219,31)] = {64,0}, + [I(220,31)] = {64,0}, + [I(221,31)] = {64,0}, + [I(222,31)] = {64,0}, + [I(223,31)] = {64,0}, + [I(224,31)] = {64,0}, + [I(225,31)] = {64,0}, + [I(226,31)] = {64,0}, + [I(227,31)] = {64,0}, + [I(228,31)] = {64,0}, + [I(229,31)] = {64,0}, + [I(230,31)] = {64,0}, + [I(231,31)] = {64,0}, + [I(232,31)] = {64,0}, + [I(233,31)] = {64,0}, + [I(234,31)] = {64,0}, + [I(235,31)] = {64,0}, + [I(236,31)] = {64,0}, + [I(237,31)] = {64,0}, + [I(238,31)] = {64,0}, + [I(239,31)] = {64,0}, + [I(240,31)] = {64,0}, + [I(241,31)] = {64,0}, + [I(242,31)] = {64,0}, + [I(243,31)] = {64,0}, + [I(244,31)] = {64,0}, + [I(245,31)] = {64,0}, + [I(246,31)] = {64,0}, + [I(247,31)] = {64,0}, + [I(248,31)] = {64,0}, + [I(249,31)] = {64,0}, + [I(250,31)] = {64,0}, + [I(251,31)] = {64,0}, + [I(252,31)] = {64,0}, + [I(253,31)] = {64,0}, + [I(254,31)] = {64,0}, + [I(255,31)] = {64,0}, + [I(0,32)] = {19,0x7FE14}, + [I(1,32)] = {29,0x1FFFF614}, + [I(2,32)] = {64,0}, + [I(3,32)] = {64,0}, + [I(4,32)] = {64,0}, + [I(5,32)] = {64,0}, + [I(6,32)] = {64,0}, + [I(7,32)] = {64,0}, + [I(8,32)] = {64,0}, + [I(9,32)] = {30,0x3FFFFA94}, + [I(10,32)] = {64,0}, + [I(11,32)] = {64,0}, + [I(12,32)] = {64,0}, + [I(13,32)] = {64,0}, + [I(14,32)] = {64,0}, + [I(15,32)] = {64,0}, + [I(16,32)] = {64,0}, + [I(17,32)] = {64,0}, + [I(18,32)] = {64,0}, + [I(19,32)] = {64,0}, + [I(20,32)] = {64,0}, + [I(21,32)] = {64,0}, + [I(22,32)] = {64,0}, + [I(23,32)] = {64,0}, + [I(24,32)] = {64,0}, + [I(25,32)] = {64,0}, + [I(26,32)] = {64,0}, + [I(27,32)] = {64,0}, + [I(28,32)] = {64,0}, + [I(29,32)] = {64,0}, + [I(30,32)] = {64,0}, + [I(31,32)] = {64,0}, + [I(32,32)] = {12,0x514}, + [I(33,32)] = {16,0xFE14}, + [I(34,32)] = {16,0xFE54}, + [I(35,32)] = {18,0x3FE94}, + [I(36,32)] = {19,0x7FE54}, + [I(37,32)] = {12,0x554}, + [I(38,32)] = {14,0x3E14}, + [I(39,32)] = {17,0x1FE94}, + [I(40,32)] = {16,0xFE94}, + [I(41,32)] = {16,0xFED4}, + [I(42,32)] = {14,0x3E54}, + [I(43,32)] = {17,0x1FED4}, + [I(44,32)] = {14,0x3E94}, + [I(45,32)] = {12,0x594}, + [I(46,32)] = {12,0x5D4}, + [I(47,32)] = {12,0x614}, + [I(48,32)] = {11,0x14}, + [I(49,32)] = {11,0x54}, + [I(50,32)] = {11,0x94}, + [I(51,32)] = {12,0x654}, + [I(52,32)] = {12,0x694}, + [I(53,32)] = {12,0x6D4}, + [I(54,32)] = {12,0x714}, + [I(55,32)] = {12,0x754}, + [I(56,32)] = {12,0x794}, + [I(57,32)] = {12,0x7D4}, + [I(58,32)] = {13,0x1714}, + [I(59,32)] = {14,0x3ED4}, + [I(60,32)] = {21,0x1FFF14}, + [I(61,32)] = {12,0x814}, + [I(62,32)] = {18,0x3FED4}, + [I(63,32)] = {16,0xFF14}, + [I(64,32)] = {19,0x7FE94}, + [I(65,32)] = {12,0x854}, + [I(66,32)] = {13,0x1754}, + [I(67,32)] = {13,0x1794}, + [I(68,32)] = {13,0x17D4}, + [I(69,32)] = {13,0x1814}, + [I(70,32)] = {13,0x1854}, + [I(71,32)] = {13,0x1894}, + [I(72,32)] = {13,0x18D4}, + [I(73,32)] = {13,0x1914}, + [I(74,32)] = {13,0x1954}, + [I(75,32)] = {13,0x1994}, + [I(76,32)] = {13,0x19D4}, + [I(77,32)] = {13,0x1A14}, + [I(78,32)] = {13,0x1A54}, + [I(79,32)] = {13,0x1A94}, + [I(80,32)] = {13,0x1AD4}, + [I(81,32)] = {13,0x1B14}, + [I(82,32)] = {13,0x1B54}, + [I(83,32)] = {13,0x1B94}, + [I(84,32)] = {13,0x1BD4}, + [I(85,32)] = {13,0x1C14}, + [I(86,32)] = {13,0x1C54}, + [I(87,32)] = {13,0x1C94}, + [I(88,32)] = {14,0x3F14}, + [I(89,32)] = {13,0x1CD4}, + [I(90,32)] = {14,0x3F54}, + [I(91,32)] = {19,0x7FED4}, + [I(92,32)] = {25,0x1FFFC14}, + [I(93,32)] = {19,0x7FF14}, + [I(94,32)] = {20,0xFFF14}, + [I(95,32)] = {12,0x894}, + [I(96,32)] = {21,0x1FFF54}, + [I(97,32)] = {11,0xD4}, + [I(98,32)] = {12,0x8D4}, + [I(99,32)] = {11,0x114}, + [I(100,32)] = {12,0x914}, + [I(101,32)] = {11,0x154}, + [I(102,32)] = {12,0x954}, + [I(103,32)] = {12,0x994}, + [I(104,32)] = {12,0x9D4}, + [I(105,32)] = {11,0x194}, + [I(106,32)] = {13,0x1D14}, + [I(107,32)] = {13,0x1D54}, + [I(108,32)] = {12,0xA14}, + [I(109,32)] = {12,0xA54}, + [I(110,32)] = {12,0xA94}, + [I(111,32)] = {11,0x1D4}, + [I(112,32)] = {12,0xAD4}, + [I(113,32)] = {13,0x1D94}, + [I(114,32)] = {12,0xB14}, + [I(115,32)] = {11,0x214}, + [I(116,32)] = {11,0x254}, + [I(117,32)] = {12,0xB54}, + [I(118,32)] = {13,0x1DD4}, + [I(119,32)] = {13,0x1E14}, + [I(120,32)] = {13,0x1E54}, + [I(121,32)] = {13,0x1E94}, + [I(122,32)] = {13,0x1ED4}, + [I(123,32)] = {21,0x1FFF94}, + [I(124,32)] = {17,0x1FF14}, + [I(125,32)] = {20,0xFFF54}, + [I(126,32)] = {19,0x7FF54}, + [I(127,32)] = {64,0}, + [I(128,32)] = {26,0x3FFF994}, + [I(129,32)] = {28,0xFFFF494}, + [I(130,32)] = {26,0x3FFF9D4}, + [I(131,32)] = {26,0x3FFFA14}, + [I(132,32)] = {28,0xFFFF4D4}, + [I(133,32)] = {28,0xFFFF514}, + [I(134,32)] = {28,0xFFFF554}, + [I(135,32)] = {29,0x1FFFF654}, + [I(136,32)] = {28,0xFFFF594}, + [I(137,32)] = {29,0x1FFFF694}, + [I(138,32)] = {29,0x1FFFF6D4}, + [I(139,32)] = {29,0x1FFFF714}, + [I(140,32)] = {29,0x1FFFF754}, + [I(141,32)] = {29,0x1FFFF794}, + [I(142,32)] = {30,0x3FFFFAD4}, + [I(143,32)] = {29,0x1FFFF7D4}, + [I(144,32)] = {30,0x3FFFFB14}, + [I(145,32)] = {30,0x3FFFFB54}, + [I(146,32)] = {28,0xFFFF5D4}, + [I(147,32)] = {29,0x1FFFF814}, + [I(148,32)] = {30,0x3FFFFB94}, + [I(149,32)] = {29,0x1FFFF854}, + [I(150,32)] = {29,0x1FFFF894}, + [I(151,32)] = {29,0x1FFFF8D4}, + [I(152,32)] = {29,0x1FFFF914}, + [I(153,32)] = {27,0x7FFF714}, + [I(154,32)] = {28,0xFFFF614}, + [I(155,32)] = {29,0x1FFFF954}, + [I(156,32)] = {28,0xFFFF654}, + [I(157,32)] = {29,0x1FFFF994}, + [I(158,32)] = {29,0x1FFFF9D4}, + [I(159,32)] = {30,0x3FFFFBD4}, + [I(160,32)] = {28,0xFFFF694}, + [I(161,32)] = {27,0x7FFF754}, + [I(162,32)] = {26,0x3FFFA54}, + [I(163,32)] = {28,0xFFFF6D4}, + [I(164,32)] = {28,0xFFFF714}, + [I(165,32)] = {29,0x1FFFFA14}, + [I(166,32)] = {29,0x1FFFFA54}, + [I(167,32)] = {27,0x7FFF794}, + [I(168,32)] = {29,0x1FFFFA94}, + [I(169,32)] = {28,0xFFFF754}, + [I(170,32)] = {28,0xFFFF794}, + [I(171,32)] = {30,0x3FFFFC14}, + [I(172,32)] = {27,0x7FFF7D4}, + [I(173,32)] = {28,0xFFFF7D4}, + [I(174,32)] = {29,0x1FFFFAD4}, + [I(175,32)] = {29,0x1FFFFB14}, + [I(176,32)] = {27,0x7FFF814}, + [I(177,32)] = {27,0x7FFF854}, + [I(178,32)] = {28,0xFFFF814}, + [I(179,32)] = {27,0x7FFF894}, + [I(180,32)] = {29,0x1FFFFB54}, + [I(181,32)] = {28,0xFFFF854}, + [I(182,32)] = {29,0x1FFFFB94}, + [I(183,32)] = {29,0x1FFFFBD4}, + [I(184,32)] = {26,0x3FFFA94}, + [I(185,32)] = {28,0xFFFF894}, + [I(186,32)] = {28,0xFFFF8D4}, + [I(187,32)] = {28,0xFFFF914}, + [I(188,32)] = {29,0x1FFFFC14}, + [I(189,32)] = {28,0xFFFF954}, + [I(190,32)] = {28,0xFFFF994}, + [I(191,32)] = {29,0x1FFFFC54}, + [I(192,32)] = {X32,0xFFFFF814}, + [I(193,32)] = {X32,0xFFFFF854}, + [I(194,32)] = {26,0x3FFFAD4}, + [I(195,32)] = {25,0x1FFFC54}, + [I(196,32)] = {28,0xFFFF9D4}, + [I(197,32)] = {29,0x1FFFFC94}, + [I(198,32)] = {28,0xFFFFA14}, + [I(199,32)] = {31,0x7FFFFB14}, + [I(200,32)] = {X32,0xFFFFF894}, + [I(201,32)] = {X32,0xFFFFF8D4}, + [I(202,32)] = {X32,0xFFFFF914}, + [I(203,32)] = {64,0}, + [I(204,32)] = {64,0}, + [I(205,32)] = {X32,0xFFFFF954}, + [I(206,32)] = {30,0x3FFFFC54}, + [I(207,32)] = {31,0x7FFFFB54}, + [I(208,32)] = {25,0x1FFFC94}, + [I(209,32)] = {27,0x7FFF8D4}, + [I(210,32)] = {X32,0xFFFFF994}, + [I(211,32)] = {64,0}, + [I(212,32)] = {64,0}, + [I(213,32)] = {X32,0xFFFFF9D4}, + [I(214,32)] = {64,0}, + [I(215,32)] = {30,0x3FFFFC94}, + [I(216,32)] = {27,0x7FFF914}, + [I(217,32)] = {27,0x7FFF954}, + [I(218,32)] = {X32,0xFFFFFA14}, + [I(219,32)] = {X32,0xFFFFFA54}, + [I(220,32)] = {64,0}, + [I(221,32)] = {64,0}, + [I(222,32)] = {64,0}, + [I(223,32)] = {64,0}, + [I(224,32)] = {26,0x3FFFB14}, + [I(225,32)] = {30,0x3FFFFCD4}, + [I(226,32)] = {26,0x3FFFB54}, + [I(227,32)] = {27,0x7FFF994}, + [I(228,32)] = {28,0xFFFFA54}, + [I(229,32)] = {27,0x7FFF9D4}, + [I(230,32)] = {27,0x7FFFA14}, + [I(231,32)] = {29,0x1FFFFCD4}, + [I(232,32)] = {28,0xFFFFA94}, + [I(233,32)] = {28,0xFFFFAD4}, + [I(234,32)] = {31,0x7FFFFB94}, + [I(235,32)] = {31,0x7FFFFBD4}, + [I(236,32)] = {30,0x3FFFFD14}, + [I(237,32)] = {30,0x3FFFFD54}, + [I(238,32)] = {X32,0xFFFFFA94}, + [I(239,32)] = {29,0x1FFFFD14}, + [I(240,32)] = {X32,0xFFFFFAD4}, + [I(241,32)] = {64,0}, + [I(242,32)] = {X32,0xFFFFFB14}, + [I(243,32)] = {X32,0xFFFFFB54}, + [I(244,32)] = {64,0}, + [I(245,32)] = {64,0}, + [I(246,32)] = {64,0}, + [I(247,32)] = {64,0}, + [I(248,32)] = {64,0}, + [I(249,32)] = {64,0}, + [I(250,32)] = {64,0}, + [I(251,32)] = {64,0}, + [I(252,32)] = {64,0}, + [I(253,32)] = {64,0}, + [I(254,32)] = {64,0}, + [I(255,32)] = {X32,0xFFFFFB94}, + [I(0,33)] = {23,0x7FE3F8}, + [I(1,33)] = {64,0}, + [I(2,33)] = {64,0}, + [I(3,33)] = {64,0}, + [I(4,33)] = {64,0}, + [I(5,33)] = {64,0}, + [I(6,33)] = {64,0}, + [I(7,33)] = {64,0}, + [I(8,33)] = {64,0}, + [I(9,33)] = {64,0}, + [I(10,33)] = {64,0}, + [I(11,33)] = {64,0}, + [I(12,33)] = {64,0}, + [I(13,33)] = {64,0}, + [I(14,33)] = {64,0}, + [I(15,33)] = {64,0}, + [I(16,33)] = {64,0}, + [I(17,33)] = {64,0}, + [I(18,33)] = {64,0}, + [I(19,33)] = {64,0}, + [I(20,33)] = {64,0}, + [I(21,33)] = {64,0}, + [I(22,33)] = {64,0}, + [I(23,33)] = {64,0}, + [I(24,33)] = {64,0}, + [I(25,33)] = {64,0}, + [I(26,33)] = {64,0}, + [I(27,33)] = {64,0}, + [I(28,33)] = {64,0}, + [I(29,33)] = {64,0}, + [I(30,33)] = {64,0}, + [I(31,33)] = {64,0}, + [I(32,33)] = {16,0x53F8}, + [I(33,33)] = {20,0xFE3F8}, + [I(34,33)] = {20,0xFE7F8}, + [I(35,33)] = {22,0x3FEBF8}, + [I(36,33)] = {23,0x7FE7F8}, + [I(37,33)] = {16,0x57F8}, + [I(38,33)] = {18,0x3E3F8}, + [I(39,33)] = {21,0x1FEBF8}, + [I(40,33)] = {20,0xFEBF8}, + [I(41,33)] = {20,0xFEFF8}, + [I(42,33)] = {18,0x3E7F8}, + [I(43,33)] = {21,0x1FEFF8}, + [I(44,33)] = {18,0x3EBF8}, + [I(45,33)] = {16,0x5BF8}, + [I(46,33)] = {16,0x5FF8}, + [I(47,33)] = {16,0x63F8}, + [I(48,33)] = {15,0x3F8}, + [I(49,33)] = {15,0x7F8}, + [I(50,33)] = {15,0xBF8}, + [I(51,33)] = {16,0x67F8}, + [I(52,33)] = {16,0x6BF8}, + [I(53,33)] = {16,0x6FF8}, + [I(54,33)] = {16,0x73F8}, + [I(55,33)] = {16,0x77F8}, + [I(56,33)] = {16,0x7BF8}, + [I(57,33)] = {16,0x7FF8}, + [I(58,33)] = {17,0x173F8}, + [I(59,33)] = {18,0x3EFF8}, + [I(60,33)] = {25,0x1FFF3F8}, + [I(61,33)] = {16,0x83F8}, + [I(62,33)] = {22,0x3FEFF8}, + [I(63,33)] = {20,0xFF3F8}, + [I(64,33)] = {23,0x7FEBF8}, + [I(65,33)] = {16,0x87F8}, + [I(66,33)] = {17,0x177F8}, + [I(67,33)] = {17,0x17BF8}, + [I(68,33)] = {17,0x17FF8}, + [I(69,33)] = {17,0x183F8}, + [I(70,33)] = {17,0x187F8}, + [I(71,33)] = {17,0x18BF8}, + [I(72,33)] = {17,0x18FF8}, + [I(73,33)] = {17,0x193F8}, + [I(74,33)] = {17,0x197F8}, + [I(75,33)] = {17,0x19BF8}, + [I(76,33)] = {17,0x19FF8}, + [I(77,33)] = {17,0x1A3F8}, + [I(78,33)] = {17,0x1A7F8}, + [I(79,33)] = {17,0x1ABF8}, + [I(80,33)] = {17,0x1AFF8}, + [I(81,33)] = {17,0x1B3F8}, + [I(82,33)] = {17,0x1B7F8}, + [I(83,33)] = {17,0x1BBF8}, + [I(84,33)] = {17,0x1BFF8}, + [I(85,33)] = {17,0x1C3F8}, + [I(86,33)] = {17,0x1C7F8}, + [I(87,33)] = {17,0x1CBF8}, + [I(88,33)] = {18,0x3F3F8}, + [I(89,33)] = {17,0x1CFF8}, + [I(90,33)] = {18,0x3F7F8}, + [I(91,33)] = {23,0x7FEFF8}, + [I(92,33)] = {29,0x1FFFC3F8}, + [I(93,33)] = {23,0x7FF3F8}, + [I(94,33)] = {24,0xFFF3F8}, + [I(95,33)] = {16,0x8BF8}, + [I(96,33)] = {25,0x1FFF7F8}, + [I(97,33)] = {15,0xFF8}, + [I(98,33)] = {16,0x8FF8}, + [I(99,33)] = {15,0x13F8}, + [I(100,33)] = {16,0x93F8}, + [I(101,33)] = {15,0x17F8}, + [I(102,33)] = {16,0x97F8}, + [I(103,33)] = {16,0x9BF8}, + [I(104,33)] = {16,0x9FF8}, + [I(105,33)] = {15,0x1BF8}, + [I(106,33)] = {17,0x1D3F8}, + [I(107,33)] = {17,0x1D7F8}, + [I(108,33)] = {16,0xA3F8}, + [I(109,33)] = {16,0xA7F8}, + [I(110,33)] = {16,0xABF8}, + [I(111,33)] = {15,0x1FF8}, + [I(112,33)] = {16,0xAFF8}, + [I(113,33)] = {17,0x1DBF8}, + [I(114,33)] = {16,0xB3F8}, + [I(115,33)] = {15,0x23F8}, + [I(116,33)] = {15,0x27F8}, + [I(117,33)] = {16,0xB7F8}, + [I(118,33)] = {17,0x1DFF8}, + [I(119,33)] = {17,0x1E3F8}, + [I(120,33)] = {17,0x1E7F8}, + [I(121,33)] = {17,0x1EBF8}, + [I(122,33)] = {17,0x1EFF8}, + [I(123,33)] = {25,0x1FFFBF8}, + [I(124,33)] = {21,0x1FF3F8}, + [I(125,33)] = {24,0xFFF7F8}, + [I(126,33)] = {23,0x7FF7F8}, + [I(127,33)] = {64,0}, + [I(128,33)] = {30,0x3FFF9BF8}, + [I(129,33)] = {X32,0xFFFF4BF8}, + [I(130,33)] = {30,0x3FFF9FF8}, + [I(131,33)] = {30,0x3FFFA3F8}, + [I(132,33)] = {X32,0xFFFF4FF8}, + [I(133,33)] = {X32,0xFFFF53F8}, + [I(134,33)] = {X32,0xFFFF57F8}, + [I(135,33)] = {64,0}, + [I(136,33)] = {X32,0xFFFF5BF8}, + [I(137,33)] = {64,0}, + [I(138,33)] = {64,0}, + [I(139,33)] = {64,0}, + [I(140,33)] = {64,0}, + [I(141,33)] = {64,0}, + [I(142,33)] = {64,0}, + [I(143,33)] = {64,0}, + [I(144,33)] = {64,0}, + [I(145,33)] = {64,0}, + [I(146,33)] = {X32,0xFFFF5FF8}, + [I(147,33)] = {64,0}, + [I(148,33)] = {64,0}, + [I(149,33)] = {64,0}, + [I(150,33)] = {64,0}, + [I(151,33)] = {64,0}, + [I(152,33)] = {64,0}, + [I(153,33)] = {31,0x7FFF73F8}, + [I(154,33)] = {X32,0xFFFF63F8}, + [I(155,33)] = {64,0}, + [I(156,33)] = {X32,0xFFFF67F8}, + [I(157,33)] = {64,0}, + [I(158,33)] = {64,0}, + [I(159,33)] = {64,0}, + [I(160,33)] = {X32,0xFFFF6BF8}, + [I(161,33)] = {31,0x7FFF77F8}, + [I(162,33)] = {30,0x3FFFA7F8}, + [I(163,33)] = {X32,0xFFFF6FF8}, + [I(164,33)] = {X32,0xFFFF73F8}, + [I(165,33)] = {64,0}, + [I(166,33)] = {64,0}, + [I(167,33)] = {31,0x7FFF7BF8}, + [I(168,33)] = {64,0}, + [I(169,33)] = {X32,0xFFFF77F8}, + [I(170,33)] = {X32,0xFFFF7BF8}, + [I(171,33)] = {64,0}, + [I(172,33)] = {31,0x7FFF7FF8}, + [I(173,33)] = {X32,0xFFFF7FF8}, + [I(174,33)] = {64,0}, + [I(175,33)] = {64,0}, + [I(176,33)] = {31,0x7FFF83F8}, + [I(177,33)] = {31,0x7FFF87F8}, + [I(178,33)] = {X32,0xFFFF83F8}, + [I(179,33)] = {31,0x7FFF8BF8}, + [I(180,33)] = {64,0}, + [I(181,33)] = {X32,0xFFFF87F8}, + [I(182,33)] = {64,0}, + [I(183,33)] = {64,0}, + [I(184,33)] = {30,0x3FFFABF8}, + [I(185,33)] = {X32,0xFFFF8BF8}, + [I(186,33)] = {X32,0xFFFF8FF8}, + [I(187,33)] = {X32,0xFFFF93F8}, + [I(188,33)] = {64,0}, + [I(189,33)] = {X32,0xFFFF97F8}, + [I(190,33)] = {X32,0xFFFF9BF8}, + [I(191,33)] = {64,0}, + [I(192,33)] = {64,0}, + [I(193,33)] = {64,0}, + [I(194,33)] = {30,0x3FFFAFF8}, + [I(195,33)] = {29,0x1FFFC7F8}, + [I(196,33)] = {X32,0xFFFF9FF8}, + [I(197,33)] = {64,0}, + [I(198,33)] = {X32,0xFFFFA3F8}, + [I(199,33)] = {64,0}, + [I(200,33)] = {64,0}, + [I(201,33)] = {64,0}, + [I(202,33)] = {64,0}, + [I(203,33)] = {64,0}, + [I(204,33)] = {64,0}, + [I(205,33)] = {64,0}, + [I(206,33)] = {64,0}, + [I(207,33)] = {64,0}, + [I(208,33)] = {29,0x1FFFCBF8}, + [I(209,33)] = {31,0x7FFF8FF8}, + [I(210,33)] = {64,0}, + [I(211,33)] = {64,0}, + [I(212,33)] = {64,0}, + [I(213,33)] = {64,0}, + [I(214,33)] = {64,0}, + [I(215,33)] = {64,0}, + [I(216,33)] = {31,0x7FFF93F8}, + [I(217,33)] = {31,0x7FFF97F8}, + [I(218,33)] = {64,0}, + [I(219,33)] = {64,0}, + [I(220,33)] = {64,0}, + [I(221,33)] = {64,0}, + [I(222,33)] = {64,0}, + [I(223,33)] = {64,0}, + [I(224,33)] = {30,0x3FFFB3F8}, + [I(225,33)] = {64,0}, + [I(226,33)] = {30,0x3FFFB7F8}, + [I(227,33)] = {31,0x7FFF9BF8}, + [I(228,33)] = {X32,0xFFFFA7F8}, + [I(229,33)] = {31,0x7FFF9FF8}, + [I(230,33)] = {31,0x7FFFA3F8}, + [I(231,33)] = {64,0}, + [I(232,33)] = {X32,0xFFFFABF8}, + [I(233,33)] = {X32,0xFFFFAFF8}, + [I(234,33)] = {64,0}, + [I(235,33)] = {64,0}, + [I(236,33)] = {64,0}, + [I(237,33)] = {64,0}, + [I(238,33)] = {64,0}, + [I(239,33)] = {64,0}, + [I(240,33)] = {64,0}, + [I(241,33)] = {64,0}, + [I(242,33)] = {64,0}, + [I(243,33)] = {64,0}, + [I(244,33)] = {64,0}, + [I(245,33)] = {64,0}, + [I(246,33)] = {64,0}, + [I(247,33)] = {64,0}, + [I(248,33)] = {64,0}, + [I(249,33)] = {64,0}, + [I(250,33)] = {64,0}, + [I(251,33)] = {64,0}, + [I(252,33)] = {64,0}, + [I(253,33)] = {64,0}, + [I(254,33)] = {64,0}, + [I(255,33)] = {64,0}, + [I(0,34)] = {23,0x7FE3F9}, + [I(1,34)] = {64,0}, + [I(2,34)] = {64,0}, + [I(3,34)] = {64,0}, + [I(4,34)] = {64,0}, + [I(5,34)] = {64,0}, + [I(6,34)] = {64,0}, + [I(7,34)] = {64,0}, + [I(8,34)] = {64,0}, + [I(9,34)] = {64,0}, + [I(10,34)] = {64,0}, + [I(11,34)] = {64,0}, + [I(12,34)] = {64,0}, + [I(13,34)] = {64,0}, + [I(14,34)] = {64,0}, + [I(15,34)] = {64,0}, + [I(16,34)] = {64,0}, + [I(17,34)] = {64,0}, + [I(18,34)] = {64,0}, + [I(19,34)] = {64,0}, + [I(20,34)] = {64,0}, + [I(21,34)] = {64,0}, + [I(22,34)] = {64,0}, + [I(23,34)] = {64,0}, + [I(24,34)] = {64,0}, + [I(25,34)] = {64,0}, + [I(26,34)] = {64,0}, + [I(27,34)] = {64,0}, + [I(28,34)] = {64,0}, + [I(29,34)] = {64,0}, + [I(30,34)] = {64,0}, + [I(31,34)] = {64,0}, + [I(32,34)] = {16,0x53F9}, + [I(33,34)] = {20,0xFE3F9}, + [I(34,34)] = {20,0xFE7F9}, + [I(35,34)] = {22,0x3FEBF9}, + [I(36,34)] = {23,0x7FE7F9}, + [I(37,34)] = {16,0x57F9}, + [I(38,34)] = {18,0x3E3F9}, + [I(39,34)] = {21,0x1FEBF9}, + [I(40,34)] = {20,0xFEBF9}, + [I(41,34)] = {20,0xFEFF9}, + [I(42,34)] = {18,0x3E7F9}, + [I(43,34)] = {21,0x1FEFF9}, + [I(44,34)] = {18,0x3EBF9}, + [I(45,34)] = {16,0x5BF9}, + [I(46,34)] = {16,0x5FF9}, + [I(47,34)] = {16,0x63F9}, + [I(48,34)] = {15,0x3F9}, + [I(49,34)] = {15,0x7F9}, + [I(50,34)] = {15,0xBF9}, + [I(51,34)] = {16,0x67F9}, + [I(52,34)] = {16,0x6BF9}, + [I(53,34)] = {16,0x6FF9}, + [I(54,34)] = {16,0x73F9}, + [I(55,34)] = {16,0x77F9}, + [I(56,34)] = {16,0x7BF9}, + [I(57,34)] = {16,0x7FF9}, + [I(58,34)] = {17,0x173F9}, + [I(59,34)] = {18,0x3EFF9}, + [I(60,34)] = {25,0x1FFF3F9}, + [I(61,34)] = {16,0x83F9}, + [I(62,34)] = {22,0x3FEFF9}, + [I(63,34)] = {20,0xFF3F9}, + [I(64,34)] = {23,0x7FEBF9}, + [I(65,34)] = {16,0x87F9}, + [I(66,34)] = {17,0x177F9}, + [I(67,34)] = {17,0x17BF9}, + [I(68,34)] = {17,0x17FF9}, + [I(69,34)] = {17,0x183F9}, + [I(70,34)] = {17,0x187F9}, + [I(71,34)] = {17,0x18BF9}, + [I(72,34)] = {17,0x18FF9}, + [I(73,34)] = {17,0x193F9}, + [I(74,34)] = {17,0x197F9}, + [I(75,34)] = {17,0x19BF9}, + [I(76,34)] = {17,0x19FF9}, + [I(77,34)] = {17,0x1A3F9}, + [I(78,34)] = {17,0x1A7F9}, + [I(79,34)] = {17,0x1ABF9}, + [I(80,34)] = {17,0x1AFF9}, + [I(81,34)] = {17,0x1B3F9}, + [I(82,34)] = {17,0x1B7F9}, + [I(83,34)] = {17,0x1BBF9}, + [I(84,34)] = {17,0x1BFF9}, + [I(85,34)] = {17,0x1C3F9}, + [I(86,34)] = {17,0x1C7F9}, + [I(87,34)] = {17,0x1CBF9}, + [I(88,34)] = {18,0x3F3F9}, + [I(89,34)] = {17,0x1CFF9}, + [I(90,34)] = {18,0x3F7F9}, + [I(91,34)] = {23,0x7FEFF9}, + [I(92,34)] = {29,0x1FFFC3F9}, + [I(93,34)] = {23,0x7FF3F9}, + [I(94,34)] = {24,0xFFF3F9}, + [I(95,34)] = {16,0x8BF9}, + [I(96,34)] = {25,0x1FFF7F9}, + [I(97,34)] = {15,0xFF9}, + [I(98,34)] = {16,0x8FF9}, + [I(99,34)] = {15,0x13F9}, + [I(100,34)] = {16,0x93F9}, + [I(101,34)] = {15,0x17F9}, + [I(102,34)] = {16,0x97F9}, + [I(103,34)] = {16,0x9BF9}, + [I(104,34)] = {16,0x9FF9}, + [I(105,34)] = {15,0x1BF9}, + [I(106,34)] = {17,0x1D3F9}, + [I(107,34)] = {17,0x1D7F9}, + [I(108,34)] = {16,0xA3F9}, + [I(109,34)] = {16,0xA7F9}, + [I(110,34)] = {16,0xABF9}, + [I(111,34)] = {15,0x1FF9}, + [I(112,34)] = {16,0xAFF9}, + [I(113,34)] = {17,0x1DBF9}, + [I(114,34)] = {16,0xB3F9}, + [I(115,34)] = {15,0x23F9}, + [I(116,34)] = {15,0x27F9}, + [I(117,34)] = {16,0xB7F9}, + [I(118,34)] = {17,0x1DFF9}, + [I(119,34)] = {17,0x1E3F9}, + [I(120,34)] = {17,0x1E7F9}, + [I(121,34)] = {17,0x1EBF9}, + [I(122,34)] = {17,0x1EFF9}, + [I(123,34)] = {25,0x1FFFBF9}, + [I(124,34)] = {21,0x1FF3F9}, + [I(125,34)] = {24,0xFFF7F9}, + [I(126,34)] = {23,0x7FF7F9}, + [I(127,34)] = {64,0}, + [I(128,34)] = {30,0x3FFF9BF9}, + [I(129,34)] = {X32,0xFFFF4BF9}, + [I(130,34)] = {30,0x3FFF9FF9}, + [I(131,34)] = {30,0x3FFFA3F9}, + [I(132,34)] = {X32,0xFFFF4FF9}, + [I(133,34)] = {X32,0xFFFF53F9}, + [I(134,34)] = {X32,0xFFFF57F9}, + [I(135,34)] = {64,0}, + [I(136,34)] = {X32,0xFFFF5BF9}, + [I(137,34)] = {64,0}, + [I(138,34)] = {64,0}, + [I(139,34)] = {64,0}, + [I(140,34)] = {64,0}, + [I(141,34)] = {64,0}, + [I(142,34)] = {64,0}, + [I(143,34)] = {64,0}, + [I(144,34)] = {64,0}, + [I(145,34)] = {64,0}, + [I(146,34)] = {X32,0xFFFF5FF9}, + [I(147,34)] = {64,0}, + [I(148,34)] = {64,0}, + [I(149,34)] = {64,0}, + [I(150,34)] = {64,0}, + [I(151,34)] = {64,0}, + [I(152,34)] = {64,0}, + [I(153,34)] = {31,0x7FFF73F9}, + [I(154,34)] = {X32,0xFFFF63F9}, + [I(155,34)] = {64,0}, + [I(156,34)] = {X32,0xFFFF67F9}, + [I(157,34)] = {64,0}, + [I(158,34)] = {64,0}, + [I(159,34)] = {64,0}, + [I(160,34)] = {X32,0xFFFF6BF9}, + [I(161,34)] = {31,0x7FFF77F9}, + [I(162,34)] = {30,0x3FFFA7F9}, + [I(163,34)] = {X32,0xFFFF6FF9}, + [I(164,34)] = {X32,0xFFFF73F9}, + [I(165,34)] = {64,0}, + [I(166,34)] = {64,0}, + [I(167,34)] = {31,0x7FFF7BF9}, + [I(168,34)] = {64,0}, + [I(169,34)] = {X32,0xFFFF77F9}, + [I(170,34)] = {X32,0xFFFF7BF9}, + [I(171,34)] = {64,0}, + [I(172,34)] = {31,0x7FFF7FF9}, + [I(173,34)] = {X32,0xFFFF7FF9}, + [I(174,34)] = {64,0}, + [I(175,34)] = {64,0}, + [I(176,34)] = {31,0x7FFF83F9}, + [I(177,34)] = {31,0x7FFF87F9}, + [I(178,34)] = {X32,0xFFFF83F9}, + [I(179,34)] = {31,0x7FFF8BF9}, + [I(180,34)] = {64,0}, + [I(181,34)] = {X32,0xFFFF87F9}, + [I(182,34)] = {64,0}, + [I(183,34)] = {64,0}, + [I(184,34)] = {30,0x3FFFABF9}, + [I(185,34)] = {X32,0xFFFF8BF9}, + [I(186,34)] = {X32,0xFFFF8FF9}, + [I(187,34)] = {X32,0xFFFF93F9}, + [I(188,34)] = {64,0}, + [I(189,34)] = {X32,0xFFFF97F9}, + [I(190,34)] = {X32,0xFFFF9BF9}, + [I(191,34)] = {64,0}, + [I(192,34)] = {64,0}, + [I(193,34)] = {64,0}, + [I(194,34)] = {30,0x3FFFAFF9}, + [I(195,34)] = {29,0x1FFFC7F9}, + [I(196,34)] = {X32,0xFFFF9FF9}, + [I(197,34)] = {64,0}, + [I(198,34)] = {X32,0xFFFFA3F9}, + [I(199,34)] = {64,0}, + [I(200,34)] = {64,0}, + [I(201,34)] = {64,0}, + [I(202,34)] = {64,0}, + [I(203,34)] = {64,0}, + [I(204,34)] = {64,0}, + [I(205,34)] = {64,0}, + [I(206,34)] = {64,0}, + [I(207,34)] = {64,0}, + [I(208,34)] = {29,0x1FFFCBF9}, + [I(209,34)] = {31,0x7FFF8FF9}, + [I(210,34)] = {64,0}, + [I(211,34)] = {64,0}, + [I(212,34)] = {64,0}, + [I(213,34)] = {64,0}, + [I(214,34)] = {64,0}, + [I(215,34)] = {64,0}, + [I(216,34)] = {31,0x7FFF93F9}, + [I(217,34)] = {31,0x7FFF97F9}, + [I(218,34)] = {64,0}, + [I(219,34)] = {64,0}, + [I(220,34)] = {64,0}, + [I(221,34)] = {64,0}, + [I(222,34)] = {64,0}, + [I(223,34)] = {64,0}, + [I(224,34)] = {30,0x3FFFB3F9}, + [I(225,34)] = {64,0}, + [I(226,34)] = {30,0x3FFFB7F9}, + [I(227,34)] = {31,0x7FFF9BF9}, + [I(228,34)] = {X32,0xFFFFA7F9}, + [I(229,34)] = {31,0x7FFF9FF9}, + [I(230,34)] = {31,0x7FFFA3F9}, + [I(231,34)] = {64,0}, + [I(232,34)] = {X32,0xFFFFABF9}, + [I(233,34)] = {X32,0xFFFFAFF9}, + [I(234,34)] = {64,0}, + [I(235,34)] = {64,0}, + [I(236,34)] = {64,0}, + [I(237,34)] = {64,0}, + [I(238,34)] = {64,0}, + [I(239,34)] = {64,0}, + [I(240,34)] = {64,0}, + [I(241,34)] = {64,0}, + [I(242,34)] = {64,0}, + [I(243,34)] = {64,0}, + [I(244,34)] = {64,0}, + [I(245,34)] = {64,0}, + [I(246,34)] = {64,0}, + [I(247,34)] = {64,0}, + [I(248,34)] = {64,0}, + [I(249,34)] = {64,0}, + [I(250,34)] = {64,0}, + [I(251,34)] = {64,0}, + [I(252,34)] = {64,0}, + [I(253,34)] = {64,0}, + [I(254,34)] = {64,0}, + [I(255,34)] = {64,0}, + [I(0,35)] = {25,0x1FF8FFA}, + [I(1,35)] = {64,0}, + [I(2,35)] = {64,0}, + [I(3,35)] = {64,0}, + [I(4,35)] = {64,0}, + [I(5,35)] = {64,0}, + [I(6,35)] = {64,0}, + [I(7,35)] = {64,0}, + [I(8,35)] = {64,0}, + [I(9,35)] = {64,0}, + [I(10,35)] = {64,0}, + [I(11,35)] = {64,0}, + [I(12,35)] = {64,0}, + [I(13,35)] = {64,0}, + [I(14,35)] = {64,0}, + [I(15,35)] = {64,0}, + [I(16,35)] = {64,0}, + [I(17,35)] = {64,0}, + [I(18,35)] = {64,0}, + [I(19,35)] = {64,0}, + [I(20,35)] = {64,0}, + [I(21,35)] = {64,0}, + [I(22,35)] = {64,0}, + [I(23,35)] = {64,0}, + [I(24,35)] = {64,0}, + [I(25,35)] = {64,0}, + [I(26,35)] = {64,0}, + [I(27,35)] = {64,0}, + [I(28,35)] = {64,0}, + [I(29,35)] = {64,0}, + [I(30,35)] = {64,0}, + [I(31,35)] = {64,0}, + [I(32,35)] = {18,0x14FFA}, + [I(33,35)] = {22,0x3F8FFA}, + [I(34,35)] = {22,0x3F9FFA}, + [I(35,35)] = {24,0xFFAFFA}, + [I(36,35)] = {25,0x1FF9FFA}, + [I(37,35)] = {18,0x15FFA}, + [I(38,35)] = {20,0xF8FFA}, + [I(39,35)] = {23,0x7FAFFA}, + [I(40,35)] = {22,0x3FAFFA}, + [I(41,35)] = {22,0x3FBFFA}, + [I(42,35)] = {20,0xF9FFA}, + [I(43,35)] = {23,0x7FBFFA}, + [I(44,35)] = {20,0xFAFFA}, + [I(45,35)] = {18,0x16FFA}, + [I(46,35)] = {18,0x17FFA}, + [I(47,35)] = {18,0x18FFA}, + [I(48,35)] = {17,0xFFA}, + [I(49,35)] = {17,0x1FFA}, + [I(50,35)] = {17,0x2FFA}, + [I(51,35)] = {18,0x19FFA}, + [I(52,35)] = {18,0x1AFFA}, + [I(53,35)] = {18,0x1BFFA}, + [I(54,35)] = {18,0x1CFFA}, + [I(55,35)] = {18,0x1DFFA}, + [I(56,35)] = {18,0x1EFFA}, + [I(57,35)] = {18,0x1FFFA}, + [I(58,35)] = {19,0x5CFFA}, + [I(59,35)] = {20,0xFBFFA}, + [I(60,35)] = {27,0x7FFCFFA}, + [I(61,35)] = {18,0x20FFA}, + [I(62,35)] = {24,0xFFBFFA}, + [I(63,35)] = {22,0x3FCFFA}, + [I(64,35)] = {25,0x1FFAFFA}, + [I(65,35)] = {18,0x21FFA}, + [I(66,35)] = {19,0x5DFFA}, + [I(67,35)] = {19,0x5EFFA}, + [I(68,35)] = {19,0x5FFFA}, + [I(69,35)] = {19,0x60FFA}, + [I(70,35)] = {19,0x61FFA}, + [I(71,35)] = {19,0x62FFA}, + [I(72,35)] = {19,0x63FFA}, + [I(73,35)] = {19,0x64FFA}, + [I(74,35)] = {19,0x65FFA}, + [I(75,35)] = {19,0x66FFA}, + [I(76,35)] = {19,0x67FFA}, + [I(77,35)] = {19,0x68FFA}, + [I(78,35)] = {19,0x69FFA}, + [I(79,35)] = {19,0x6AFFA}, + [I(80,35)] = {19,0x6BFFA}, + [I(81,35)] = {19,0x6CFFA}, + [I(82,35)] = {19,0x6DFFA}, + [I(83,35)] = {19,0x6EFFA}, + [I(84,35)] = {19,0x6FFFA}, + [I(85,35)] = {19,0x70FFA}, + [I(86,35)] = {19,0x71FFA}, + [I(87,35)] = {19,0x72FFA}, + [I(88,35)] = {20,0xFCFFA}, + [I(89,35)] = {19,0x73FFA}, + [I(90,35)] = {20,0xFDFFA}, + [I(91,35)] = {25,0x1FFBFFA}, + [I(92,35)] = {31,0x7FFF0FFA}, + [I(93,35)] = {25,0x1FFCFFA}, + [I(94,35)] = {26,0x3FFCFFA}, + [I(95,35)] = {18,0x22FFA}, + [I(96,35)] = {27,0x7FFDFFA}, + [I(97,35)] = {17,0x3FFA}, + [I(98,35)] = {18,0x23FFA}, + [I(99,35)] = {17,0x4FFA}, + [I(100,35)] = {18,0x24FFA}, + [I(101,35)] = {17,0x5FFA}, + [I(102,35)] = {18,0x25FFA}, + [I(103,35)] = {18,0x26FFA}, + [I(104,35)] = {18,0x27FFA}, + [I(105,35)] = {17,0x6FFA}, + [I(106,35)] = {19,0x74FFA}, + [I(107,35)] = {19,0x75FFA}, + [I(108,35)] = {18,0x28FFA}, + [I(109,35)] = {18,0x29FFA}, + [I(110,35)] = {18,0x2AFFA}, + [I(111,35)] = {17,0x7FFA}, + [I(112,35)] = {18,0x2BFFA}, + [I(113,35)] = {19,0x76FFA}, + [I(114,35)] = {18,0x2CFFA}, + [I(115,35)] = {17,0x8FFA}, + [I(116,35)] = {17,0x9FFA}, + [I(117,35)] = {18,0x2DFFA}, + [I(118,35)] = {19,0x77FFA}, + [I(119,35)] = {19,0x78FFA}, + [I(120,35)] = {19,0x79FFA}, + [I(121,35)] = {19,0x7AFFA}, + [I(122,35)] = {19,0x7BFFA}, + [I(123,35)] = {27,0x7FFEFFA}, + [I(124,35)] = {23,0x7FCFFA}, + [I(125,35)] = {26,0x3FFDFFA}, + [I(126,35)] = {25,0x1FFDFFA}, + [I(127,35)] = {64,0}, + [I(128,35)] = {X32,0xFFFE6FFA}, + [I(129,35)] = {64,0}, + [I(130,35)] = {X32,0xFFFE7FFA}, + [I(131,35)] = {X32,0xFFFE8FFA}, + [I(132,35)] = {64,0}, + [I(133,35)] = {64,0}, + [I(134,35)] = {64,0}, + [I(135,35)] = {64,0}, + [I(136,35)] = {64,0}, + [I(137,35)] = {64,0}, + [I(138,35)] = {64,0}, + [I(139,35)] = {64,0}, + [I(140,35)] = {64,0}, + [I(141,35)] = {64,0}, + [I(142,35)] = {64,0}, + [I(143,35)] = {64,0}, + [I(144,35)] = {64,0}, + [I(145,35)] = {64,0}, + [I(146,35)] = {64,0}, + [I(147,35)] = {64,0}, + [I(148,35)] = {64,0}, + [I(149,35)] = {64,0}, + [I(150,35)] = {64,0}, + [I(151,35)] = {64,0}, + [I(152,35)] = {64,0}, + [I(153,35)] = {64,0}, + [I(154,35)] = {64,0}, + [I(155,35)] = {64,0}, + [I(156,35)] = {64,0}, + [I(157,35)] = {64,0}, + [I(158,35)] = {64,0}, + [I(159,35)] = {64,0}, + [I(160,35)] = {64,0}, + [I(161,35)] = {64,0}, + [I(162,35)] = {X32,0xFFFE9FFA}, + [I(163,35)] = {64,0}, + [I(164,35)] = {64,0}, + [I(165,35)] = {64,0}, + [I(166,35)] = {64,0}, + [I(167,35)] = {64,0}, + [I(168,35)] = {64,0}, + [I(169,35)] = {64,0}, + [I(170,35)] = {64,0}, + [I(171,35)] = {64,0}, + [I(172,35)] = {64,0}, + [I(173,35)] = {64,0}, + [I(174,35)] = {64,0}, + [I(175,35)] = {64,0}, + [I(176,35)] = {64,0}, + [I(177,35)] = {64,0}, + [I(178,35)] = {64,0}, + [I(179,35)] = {64,0}, + [I(180,35)] = {64,0}, + [I(181,35)] = {64,0}, + [I(182,35)] = {64,0}, + [I(183,35)] = {64,0}, + [I(184,35)] = {X32,0xFFFEAFFA}, + [I(185,35)] = {64,0}, + [I(186,35)] = {64,0}, + [I(187,35)] = {64,0}, + [I(188,35)] = {64,0}, + [I(189,35)] = {64,0}, + [I(190,35)] = {64,0}, + [I(191,35)] = {64,0}, + [I(192,35)] = {64,0}, + [I(193,35)] = {64,0}, + [I(194,35)] = {X32,0xFFFEBFFA}, + [I(195,35)] = {31,0x7FFF1FFA}, + [I(196,35)] = {64,0}, + [I(197,35)] = {64,0}, + [I(198,35)] = {64,0}, + [I(199,35)] = {64,0}, + [I(200,35)] = {64,0}, + [I(201,35)] = {64,0}, + [I(202,35)] = {64,0}, + [I(203,35)] = {64,0}, + [I(204,35)] = {64,0}, + [I(205,35)] = {64,0}, + [I(206,35)] = {64,0}, + [I(207,35)] = {64,0}, + [I(208,35)] = {31,0x7FFF2FFA}, + [I(209,35)] = {64,0}, + [I(210,35)] = {64,0}, + [I(211,35)] = {64,0}, + [I(212,35)] = {64,0}, + [I(213,35)] = {64,0}, + [I(214,35)] = {64,0}, + [I(215,35)] = {64,0}, + [I(216,35)] = {64,0}, + [I(217,35)] = {64,0}, + [I(218,35)] = {64,0}, + [I(219,35)] = {64,0}, + [I(220,35)] = {64,0}, + [I(221,35)] = {64,0}, + [I(222,35)] = {64,0}, + [I(223,35)] = {64,0}, + [I(224,35)] = {X32,0xFFFECFFA}, + [I(225,35)] = {64,0}, + [I(226,35)] = {X32,0xFFFEDFFA}, + [I(227,35)] = {64,0}, + [I(228,35)] = {64,0}, + [I(229,35)] = {64,0}, + [I(230,35)] = {64,0}, + [I(231,35)] = {64,0}, + [I(232,35)] = {64,0}, + [I(233,35)] = {64,0}, + [I(234,35)] = {64,0}, + [I(235,35)] = {64,0}, + [I(236,35)] = {64,0}, + [I(237,35)] = {64,0}, + [I(238,35)] = {64,0}, + [I(239,35)] = {64,0}, + [I(240,35)] = {64,0}, + [I(241,35)] = {64,0}, + [I(242,35)] = {64,0}, + [I(243,35)] = {64,0}, + [I(244,35)] = {64,0}, + [I(245,35)] = {64,0}, + [I(246,35)] = {64,0}, + [I(247,35)] = {64,0}, + [I(248,35)] = {64,0}, + [I(249,35)] = {64,0}, + [I(250,35)] = {64,0}, + [I(251,35)] = {64,0}, + [I(252,35)] = {64,0}, + [I(253,35)] = {64,0}, + [I(254,35)] = {64,0}, + [I(255,35)] = {64,0}, + [I(0,36)] = {26,0x3FF1FF9}, + [I(1,36)] = {64,0}, + [I(2,36)] = {64,0}, + [I(3,36)] = {64,0}, + [I(4,36)] = {64,0}, + [I(5,36)] = {64,0}, + [I(6,36)] = {64,0}, + [I(7,36)] = {64,0}, + [I(8,36)] = {64,0}, + [I(9,36)] = {64,0}, + [I(10,36)] = {64,0}, + [I(11,36)] = {64,0}, + [I(12,36)] = {64,0}, + [I(13,36)] = {64,0}, + [I(14,36)] = {64,0}, + [I(15,36)] = {64,0}, + [I(16,36)] = {64,0}, + [I(17,36)] = {64,0}, + [I(18,36)] = {64,0}, + [I(19,36)] = {64,0}, + [I(20,36)] = {64,0}, + [I(21,36)] = {64,0}, + [I(22,36)] = {64,0}, + [I(23,36)] = {64,0}, + [I(24,36)] = {64,0}, + [I(25,36)] = {64,0}, + [I(26,36)] = {64,0}, + [I(27,36)] = {64,0}, + [I(28,36)] = {64,0}, + [I(29,36)] = {64,0}, + [I(30,36)] = {64,0}, + [I(31,36)] = {64,0}, + [I(32,36)] = {19,0x29FF9}, + [I(33,36)] = {23,0x7F1FF9}, + [I(34,36)] = {23,0x7F3FF9}, + [I(35,36)] = {25,0x1FF5FF9}, + [I(36,36)] = {26,0x3FF3FF9}, + [I(37,36)] = {19,0x2BFF9}, + [I(38,36)] = {21,0x1F1FF9}, + [I(39,36)] = {24,0xFF5FF9}, + [I(40,36)] = {23,0x7F5FF9}, + [I(41,36)] = {23,0x7F7FF9}, + [I(42,36)] = {21,0x1F3FF9}, + [I(43,36)] = {24,0xFF7FF9}, + [I(44,36)] = {21,0x1F5FF9}, + [I(45,36)] = {19,0x2DFF9}, + [I(46,36)] = {19,0x2FFF9}, + [I(47,36)] = {19,0x31FF9}, + [I(48,36)] = {18,0x1FF9}, + [I(49,36)] = {18,0x3FF9}, + [I(50,36)] = {18,0x5FF9}, + [I(51,36)] = {19,0x33FF9}, + [I(52,36)] = {19,0x35FF9}, + [I(53,36)] = {19,0x37FF9}, + [I(54,36)] = {19,0x39FF9}, + [I(55,36)] = {19,0x3BFF9}, + [I(56,36)] = {19,0x3DFF9}, + [I(57,36)] = {19,0x3FFF9}, + [I(58,36)] = {20,0xB9FF9}, + [I(59,36)] = {21,0x1F7FF9}, + [I(60,36)] = {28,0xFFF9FF9}, + [I(61,36)] = {19,0x41FF9}, + [I(62,36)] = {25,0x1FF7FF9}, + [I(63,36)] = {23,0x7F9FF9}, + [I(64,36)] = {26,0x3FF5FF9}, + [I(65,36)] = {19,0x43FF9}, + [I(66,36)] = {20,0xBBFF9}, + [I(67,36)] = {20,0xBDFF9}, + [I(68,36)] = {20,0xBFFF9}, + [I(69,36)] = {20,0xC1FF9}, + [I(70,36)] = {20,0xC3FF9}, + [I(71,36)] = {20,0xC5FF9}, + [I(72,36)] = {20,0xC7FF9}, + [I(73,36)] = {20,0xC9FF9}, + [I(74,36)] = {20,0xCBFF9}, + [I(75,36)] = {20,0xCDFF9}, + [I(76,36)] = {20,0xCFFF9}, + [I(77,36)] = {20,0xD1FF9}, + [I(78,36)] = {20,0xD3FF9}, + [I(79,36)] = {20,0xD5FF9}, + [I(80,36)] = {20,0xD7FF9}, + [I(81,36)] = {20,0xD9FF9}, + [I(82,36)] = {20,0xDBFF9}, + [I(83,36)] = {20,0xDDFF9}, + [I(84,36)] = {20,0xDFFF9}, + [I(85,36)] = {20,0xE1FF9}, + [I(86,36)] = {20,0xE3FF9}, + [I(87,36)] = {20,0xE5FF9}, + [I(88,36)] = {21,0x1F9FF9}, + [I(89,36)] = {20,0xE7FF9}, + [I(90,36)] = {21,0x1FBFF9}, + [I(91,36)] = {26,0x3FF7FF9}, + [I(92,36)] = {X32,0xFFFE1FF9}, + [I(93,36)] = {26,0x3FF9FF9}, + [I(94,36)] = {27,0x7FF9FF9}, + [I(95,36)] = {19,0x45FF9}, + [I(96,36)] = {28,0xFFFBFF9}, + [I(97,36)] = {18,0x7FF9}, + [I(98,36)] = {19,0x47FF9}, + [I(99,36)] = {18,0x9FF9}, + [I(100,36)] = {19,0x49FF9}, + [I(101,36)] = {18,0xBFF9}, + [I(102,36)] = {19,0x4BFF9}, + [I(103,36)] = {19,0x4DFF9}, + [I(104,36)] = {19,0x4FFF9}, + [I(105,36)] = {18,0xDFF9}, + [I(106,36)] = {20,0xE9FF9}, + [I(107,36)] = {20,0xEBFF9}, + [I(108,36)] = {19,0x51FF9}, + [I(109,36)] = {19,0x53FF9}, + [I(110,36)] = {19,0x55FF9}, + [I(111,36)] = {18,0xFFF9}, + [I(112,36)] = {19,0x57FF9}, + [I(113,36)] = {20,0xEDFF9}, + [I(114,36)] = {19,0x59FF9}, + [I(115,36)] = {18,0x11FF9}, + [I(116,36)] = {18,0x13FF9}, + [I(117,36)] = {19,0x5BFF9}, + [I(118,36)] = {20,0xEFFF9}, + [I(119,36)] = {20,0xF1FF9}, + [I(120,36)] = {20,0xF3FF9}, + [I(121,36)] = {20,0xF5FF9}, + [I(122,36)] = {20,0xF7FF9}, + [I(123,36)] = {28,0xFFFDFF9}, + [I(124,36)] = {24,0xFF9FF9}, + [I(125,36)] = {27,0x7FFBFF9}, + [I(126,36)] = {26,0x3FFBFF9}, + [I(127,36)] = {64,0}, + [I(128,36)] = {64,0}, + [I(129,36)] = {64,0}, + [I(130,36)] = {64,0}, + [I(131,36)] = {64,0}, + [I(132,36)] = {64,0}, + [I(133,36)] = {64,0}, + [I(134,36)] = {64,0}, + [I(135,36)] = {64,0}, + [I(136,36)] = {64,0}, + [I(137,36)] = {64,0}, + [I(138,36)] = {64,0}, + [I(139,36)] = {64,0}, + [I(140,36)] = {64,0}, + [I(141,36)] = {64,0}, + [I(142,36)] = {64,0}, + [I(143,36)] = {64,0}, + [I(144,36)] = {64,0}, + [I(145,36)] = {64,0}, + [I(146,36)] = {64,0}, + [I(147,36)] = {64,0}, + [I(148,36)] = {64,0}, + [I(149,36)] = {64,0}, + [I(150,36)] = {64,0}, + [I(151,36)] = {64,0}, + [I(152,36)] = {64,0}, + [I(153,36)] = {64,0}, + [I(154,36)] = {64,0}, + [I(155,36)] = {64,0}, + [I(156,36)] = {64,0}, + [I(157,36)] = {64,0}, + [I(158,36)] = {64,0}, + [I(159,36)] = {64,0}, + [I(160,36)] = {64,0}, + [I(161,36)] = {64,0}, + [I(162,36)] = {64,0}, + [I(163,36)] = {64,0}, + [I(164,36)] = {64,0}, + [I(165,36)] = {64,0}, + [I(166,36)] = {64,0}, + [I(167,36)] = {64,0}, + [I(168,36)] = {64,0}, + [I(169,36)] = {64,0}, + [I(170,36)] = {64,0}, + [I(171,36)] = {64,0}, + [I(172,36)] = {64,0}, + [I(173,36)] = {64,0}, + [I(174,36)] = {64,0}, + [I(175,36)] = {64,0}, + [I(176,36)] = {64,0}, + [I(177,36)] = {64,0}, + [I(178,36)] = {64,0}, + [I(179,36)] = {64,0}, + [I(180,36)] = {64,0}, + [I(181,36)] = {64,0}, + [I(182,36)] = {64,0}, + [I(183,36)] = {64,0}, + [I(184,36)] = {64,0}, + [I(185,36)] = {64,0}, + [I(186,36)] = {64,0}, + [I(187,36)] = {64,0}, + [I(188,36)] = {64,0}, + [I(189,36)] = {64,0}, + [I(190,36)] = {64,0}, + [I(191,36)] = {64,0}, + [I(192,36)] = {64,0}, + [I(193,36)] = {64,0}, + [I(194,36)] = {64,0}, + [I(195,36)] = {X32,0xFFFE3FF9}, + [I(196,36)] = {64,0}, + [I(197,36)] = {64,0}, + [I(198,36)] = {64,0}, + [I(199,36)] = {64,0}, + [I(200,36)] = {64,0}, + [I(201,36)] = {64,0}, + [I(202,36)] = {64,0}, + [I(203,36)] = {64,0}, + [I(204,36)] = {64,0}, + [I(205,36)] = {64,0}, + [I(206,36)] = {64,0}, + [I(207,36)] = {64,0}, + [I(208,36)] = {X32,0xFFFE5FF9}, + [I(209,36)] = {64,0}, + [I(210,36)] = {64,0}, + [I(211,36)] = {64,0}, + [I(212,36)] = {64,0}, + [I(213,36)] = {64,0}, + [I(214,36)] = {64,0}, + [I(215,36)] = {64,0}, + [I(216,36)] = {64,0}, + [I(217,36)] = {64,0}, + [I(218,36)] = {64,0}, + [I(219,36)] = {64,0}, + [I(220,36)] = {64,0}, + [I(221,36)] = {64,0}, + [I(222,36)] = {64,0}, + [I(223,36)] = {64,0}, + [I(224,36)] = {64,0}, + [I(225,36)] = {64,0}, + [I(226,36)] = {64,0}, + [I(227,36)] = {64,0}, + [I(228,36)] = {64,0}, + [I(229,36)] = {64,0}, + [I(230,36)] = {64,0}, + [I(231,36)] = {64,0}, + [I(232,36)] = {64,0}, + [I(233,36)] = {64,0}, + [I(234,36)] = {64,0}, + [I(235,36)] = {64,0}, + [I(236,36)] = {64,0}, + [I(237,36)] = {64,0}, + [I(238,36)] = {64,0}, + [I(239,36)] = {64,0}, + [I(240,36)] = {64,0}, + [I(241,36)] = {64,0}, + [I(242,36)] = {64,0}, + [I(243,36)] = {64,0}, + [I(244,36)] = {64,0}, + [I(245,36)] = {64,0}, + [I(246,36)] = {64,0}, + [I(247,36)] = {64,0}, + [I(248,36)] = {64,0}, + [I(249,36)] = {64,0}, + [I(250,36)] = {64,0}, + [I(251,36)] = {64,0}, + [I(252,36)] = {64,0}, + [I(253,36)] = {64,0}, + [I(254,36)] = {64,0}, + [I(255,36)] = {64,0}, + [I(0,37)] = {19,0x7FE15}, + [I(1,37)] = {29,0x1FFFF615}, + [I(2,37)] = {64,0}, + [I(3,37)] = {64,0}, + [I(4,37)] = {64,0}, + [I(5,37)] = {64,0}, + [I(6,37)] = {64,0}, + [I(7,37)] = {64,0}, + [I(8,37)] = {64,0}, + [I(9,37)] = {30,0x3FFFFA95}, + [I(10,37)] = {64,0}, + [I(11,37)] = {64,0}, + [I(12,37)] = {64,0}, + [I(13,37)] = {64,0}, + [I(14,37)] = {64,0}, + [I(15,37)] = {64,0}, + [I(16,37)] = {64,0}, + [I(17,37)] = {64,0}, + [I(18,37)] = {64,0}, + [I(19,37)] = {64,0}, + [I(20,37)] = {64,0}, + [I(21,37)] = {64,0}, + [I(22,37)] = {64,0}, + [I(23,37)] = {64,0}, + [I(24,37)] = {64,0}, + [I(25,37)] = {64,0}, + [I(26,37)] = {64,0}, + [I(27,37)] = {64,0}, + [I(28,37)] = {64,0}, + [I(29,37)] = {64,0}, + [I(30,37)] = {64,0}, + [I(31,37)] = {64,0}, + [I(32,37)] = {12,0x515}, + [I(33,37)] = {16,0xFE15}, + [I(34,37)] = {16,0xFE55}, + [I(35,37)] = {18,0x3FE95}, + [I(36,37)] = {19,0x7FE55}, + [I(37,37)] = {12,0x555}, + [I(38,37)] = {14,0x3E15}, + [I(39,37)] = {17,0x1FE95}, + [I(40,37)] = {16,0xFE95}, + [I(41,37)] = {16,0xFED5}, + [I(42,37)] = {14,0x3E55}, + [I(43,37)] = {17,0x1FED5}, + [I(44,37)] = {14,0x3E95}, + [I(45,37)] = {12,0x595}, + [I(46,37)] = {12,0x5D5}, + [I(47,37)] = {12,0x615}, + [I(48,37)] = {11,0x15}, + [I(49,37)] = {11,0x55}, + [I(50,37)] = {11,0x95}, + [I(51,37)] = {12,0x655}, + [I(52,37)] = {12,0x695}, + [I(53,37)] = {12,0x6D5}, + [I(54,37)] = {12,0x715}, + [I(55,37)] = {12,0x755}, + [I(56,37)] = {12,0x795}, + [I(57,37)] = {12,0x7D5}, + [I(58,37)] = {13,0x1715}, + [I(59,37)] = {14,0x3ED5}, + [I(60,37)] = {21,0x1FFF15}, + [I(61,37)] = {12,0x815}, + [I(62,37)] = {18,0x3FED5}, + [I(63,37)] = {16,0xFF15}, + [I(64,37)] = {19,0x7FE95}, + [I(65,37)] = {12,0x855}, + [I(66,37)] = {13,0x1755}, + [I(67,37)] = {13,0x1795}, + [I(68,37)] = {13,0x17D5}, + [I(69,37)] = {13,0x1815}, + [I(70,37)] = {13,0x1855}, + [I(71,37)] = {13,0x1895}, + [I(72,37)] = {13,0x18D5}, + [I(73,37)] = {13,0x1915}, + [I(74,37)] = {13,0x1955}, + [I(75,37)] = {13,0x1995}, + [I(76,37)] = {13,0x19D5}, + [I(77,37)] = {13,0x1A15}, + [I(78,37)] = {13,0x1A55}, + [I(79,37)] = {13,0x1A95}, + [I(80,37)] = {13,0x1AD5}, + [I(81,37)] = {13,0x1B15}, + [I(82,37)] = {13,0x1B55}, + [I(83,37)] = {13,0x1B95}, + [I(84,37)] = {13,0x1BD5}, + [I(85,37)] = {13,0x1C15}, + [I(86,37)] = {13,0x1C55}, + [I(87,37)] = {13,0x1C95}, + [I(88,37)] = {14,0x3F15}, + [I(89,37)] = {13,0x1CD5}, + [I(90,37)] = {14,0x3F55}, + [I(91,37)] = {19,0x7FED5}, + [I(92,37)] = {25,0x1FFFC15}, + [I(93,37)] = {19,0x7FF15}, + [I(94,37)] = {20,0xFFF15}, + [I(95,37)] = {12,0x895}, + [I(96,37)] = {21,0x1FFF55}, + [I(97,37)] = {11,0xD5}, + [I(98,37)] = {12,0x8D5}, + [I(99,37)] = {11,0x115}, + [I(100,37)] = {12,0x915}, + [I(101,37)] = {11,0x155}, + [I(102,37)] = {12,0x955}, + [I(103,37)] = {12,0x995}, + [I(104,37)] = {12,0x9D5}, + [I(105,37)] = {11,0x195}, + [I(106,37)] = {13,0x1D15}, + [I(107,37)] = {13,0x1D55}, + [I(108,37)] = {12,0xA15}, + [I(109,37)] = {12,0xA55}, + [I(110,37)] = {12,0xA95}, + [I(111,37)] = {11,0x1D5}, + [I(112,37)] = {12,0xAD5}, + [I(113,37)] = {13,0x1D95}, + [I(114,37)] = {12,0xB15}, + [I(115,37)] = {11,0x215}, + [I(116,37)] = {11,0x255}, + [I(117,37)] = {12,0xB55}, + [I(118,37)] = {13,0x1DD5}, + [I(119,37)] = {13,0x1E15}, + [I(120,37)] = {13,0x1E55}, + [I(121,37)] = {13,0x1E95}, + [I(122,37)] = {13,0x1ED5}, + [I(123,37)] = {21,0x1FFF95}, + [I(124,37)] = {17,0x1FF15}, + [I(125,37)] = {20,0xFFF55}, + [I(126,37)] = {19,0x7FF55}, + [I(127,37)] = {64,0}, + [I(128,37)] = {26,0x3FFF995}, + [I(129,37)] = {28,0xFFFF495}, + [I(130,37)] = {26,0x3FFF9D5}, + [I(131,37)] = {26,0x3FFFA15}, + [I(132,37)] = {28,0xFFFF4D5}, + [I(133,37)] = {28,0xFFFF515}, + [I(134,37)] = {28,0xFFFF555}, + [I(135,37)] = {29,0x1FFFF655}, + [I(136,37)] = {28,0xFFFF595}, + [I(137,37)] = {29,0x1FFFF695}, + [I(138,37)] = {29,0x1FFFF6D5}, + [I(139,37)] = {29,0x1FFFF715}, + [I(140,37)] = {29,0x1FFFF755}, + [I(141,37)] = {29,0x1FFFF795}, + [I(142,37)] = {30,0x3FFFFAD5}, + [I(143,37)] = {29,0x1FFFF7D5}, + [I(144,37)] = {30,0x3FFFFB15}, + [I(145,37)] = {30,0x3FFFFB55}, + [I(146,37)] = {28,0xFFFF5D5}, + [I(147,37)] = {29,0x1FFFF815}, + [I(148,37)] = {30,0x3FFFFB95}, + [I(149,37)] = {29,0x1FFFF855}, + [I(150,37)] = {29,0x1FFFF895}, + [I(151,37)] = {29,0x1FFFF8D5}, + [I(152,37)] = {29,0x1FFFF915}, + [I(153,37)] = {27,0x7FFF715}, + [I(154,37)] = {28,0xFFFF615}, + [I(155,37)] = {29,0x1FFFF955}, + [I(156,37)] = {28,0xFFFF655}, + [I(157,37)] = {29,0x1FFFF995}, + [I(158,37)] = {29,0x1FFFF9D5}, + [I(159,37)] = {30,0x3FFFFBD5}, + [I(160,37)] = {28,0xFFFF695}, + [I(161,37)] = {27,0x7FFF755}, + [I(162,37)] = {26,0x3FFFA55}, + [I(163,37)] = {28,0xFFFF6D5}, + [I(164,37)] = {28,0xFFFF715}, + [I(165,37)] = {29,0x1FFFFA15}, + [I(166,37)] = {29,0x1FFFFA55}, + [I(167,37)] = {27,0x7FFF795}, + [I(168,37)] = {29,0x1FFFFA95}, + [I(169,37)] = {28,0xFFFF755}, + [I(170,37)] = {28,0xFFFF795}, + [I(171,37)] = {30,0x3FFFFC15}, + [I(172,37)] = {27,0x7FFF7D5}, + [I(173,37)] = {28,0xFFFF7D5}, + [I(174,37)] = {29,0x1FFFFAD5}, + [I(175,37)] = {29,0x1FFFFB15}, + [I(176,37)] = {27,0x7FFF815}, + [I(177,37)] = {27,0x7FFF855}, + [I(178,37)] = {28,0xFFFF815}, + [I(179,37)] = {27,0x7FFF895}, + [I(180,37)] = {29,0x1FFFFB55}, + [I(181,37)] = {28,0xFFFF855}, + [I(182,37)] = {29,0x1FFFFB95}, + [I(183,37)] = {29,0x1FFFFBD5}, + [I(184,37)] = {26,0x3FFFA95}, + [I(185,37)] = {28,0xFFFF895}, + [I(186,37)] = {28,0xFFFF8D5}, + [I(187,37)] = {28,0xFFFF915}, + [I(188,37)] = {29,0x1FFFFC15}, + [I(189,37)] = {28,0xFFFF955}, + [I(190,37)] = {28,0xFFFF995}, + [I(191,37)] = {29,0x1FFFFC55}, + [I(192,37)] = {X32,0xFFFFF815}, + [I(193,37)] = {X32,0xFFFFF855}, + [I(194,37)] = {26,0x3FFFAD5}, + [I(195,37)] = {25,0x1FFFC55}, + [I(196,37)] = {28,0xFFFF9D5}, + [I(197,37)] = {29,0x1FFFFC95}, + [I(198,37)] = {28,0xFFFFA15}, + [I(199,37)] = {31,0x7FFFFB15}, + [I(200,37)] = {X32,0xFFFFF895}, + [I(201,37)] = {X32,0xFFFFF8D5}, + [I(202,37)] = {X32,0xFFFFF915}, + [I(203,37)] = {64,0}, + [I(204,37)] = {64,0}, + [I(205,37)] = {X32,0xFFFFF955}, + [I(206,37)] = {30,0x3FFFFC55}, + [I(207,37)] = {31,0x7FFFFB55}, + [I(208,37)] = {25,0x1FFFC95}, + [I(209,37)] = {27,0x7FFF8D5}, + [I(210,37)] = {X32,0xFFFFF995}, + [I(211,37)] = {64,0}, + [I(212,37)] = {64,0}, + [I(213,37)] = {X32,0xFFFFF9D5}, + [I(214,37)] = {64,0}, + [I(215,37)] = {30,0x3FFFFC95}, + [I(216,37)] = {27,0x7FFF915}, + [I(217,37)] = {27,0x7FFF955}, + [I(218,37)] = {X32,0xFFFFFA15}, + [I(219,37)] = {X32,0xFFFFFA55}, + [I(220,37)] = {64,0}, + [I(221,37)] = {64,0}, + [I(222,37)] = {64,0}, + [I(223,37)] = {64,0}, + [I(224,37)] = {26,0x3FFFB15}, + [I(225,37)] = {30,0x3FFFFCD5}, + [I(226,37)] = {26,0x3FFFB55}, + [I(227,37)] = {27,0x7FFF995}, + [I(228,37)] = {28,0xFFFFA55}, + [I(229,37)] = {27,0x7FFF9D5}, + [I(230,37)] = {27,0x7FFFA15}, + [I(231,37)] = {29,0x1FFFFCD5}, + [I(232,37)] = {28,0xFFFFA95}, + [I(233,37)] = {28,0xFFFFAD5}, + [I(234,37)] = {31,0x7FFFFB95}, + [I(235,37)] = {31,0x7FFFFBD5}, + [I(236,37)] = {30,0x3FFFFD15}, + [I(237,37)] = {30,0x3FFFFD55}, + [I(238,37)] = {X32,0xFFFFFA95}, + [I(239,37)] = {29,0x1FFFFD15}, + [I(240,37)] = {X32,0xFFFFFAD5}, + [I(241,37)] = {64,0}, + [I(242,37)] = {X32,0xFFFFFB15}, + [I(243,37)] = {X32,0xFFFFFB55}, + [I(244,37)] = {64,0}, + [I(245,37)] = {64,0}, + [I(246,37)] = {64,0}, + [I(247,37)] = {64,0}, + [I(248,37)] = {64,0}, + [I(249,37)] = {64,0}, + [I(250,37)] = {64,0}, + [I(251,37)] = {64,0}, + [I(252,37)] = {64,0}, + [I(253,37)] = {64,0}, + [I(254,37)] = {64,0}, + [I(255,37)] = {X32,0xFFFFFB95}, + [I(0,38)] = {21,0x1FF8F8}, + [I(1,38)] = {31,0x7FFFD8F8}, + [I(2,38)] = {64,0}, + [I(3,38)] = {64,0}, + [I(4,38)] = {64,0}, + [I(5,38)] = {64,0}, + [I(6,38)] = {64,0}, + [I(7,38)] = {64,0}, + [I(8,38)] = {64,0}, + [I(9,38)] = {X32,0xFFFFEAF8}, + [I(10,38)] = {64,0}, + [I(11,38)] = {64,0}, + [I(12,38)] = {64,0}, + [I(13,38)] = {64,0}, + [I(14,38)] = {64,0}, + [I(15,38)] = {64,0}, + [I(16,38)] = {64,0}, + [I(17,38)] = {64,0}, + [I(18,38)] = {64,0}, + [I(19,38)] = {64,0}, + [I(20,38)] = {64,0}, + [I(21,38)] = {64,0}, + [I(22,38)] = {64,0}, + [I(23,38)] = {64,0}, + [I(24,38)] = {64,0}, + [I(25,38)] = {64,0}, + [I(26,38)] = {64,0}, + [I(27,38)] = {64,0}, + [I(28,38)] = {64,0}, + [I(29,38)] = {64,0}, + [I(30,38)] = {64,0}, + [I(31,38)] = {64,0}, + [I(32,38)] = {14,0x14F8}, + [I(33,38)] = {18,0x3F8F8}, + [I(34,38)] = {18,0x3F9F8}, + [I(35,38)] = {20,0xFFAF8}, + [I(36,38)] = {21,0x1FF9F8}, + [I(37,38)] = {14,0x15F8}, + [I(38,38)] = {16,0xF8F8}, + [I(39,38)] = {19,0x7FAF8}, + [I(40,38)] = {18,0x3FAF8}, + [I(41,38)] = {18,0x3FBF8}, + [I(42,38)] = {16,0xF9F8}, + [I(43,38)] = {19,0x7FBF8}, + [I(44,38)] = {16,0xFAF8}, + [I(45,38)] = {14,0x16F8}, + [I(46,38)] = {14,0x17F8}, + [I(47,38)] = {14,0x18F8}, + [I(48,38)] = {13,0xF8}, + [I(49,38)] = {13,0x1F8}, + [I(50,38)] = {13,0x2F8}, + [I(51,38)] = {14,0x19F8}, + [I(52,38)] = {14,0x1AF8}, + [I(53,38)] = {14,0x1BF8}, + [I(54,38)] = {14,0x1CF8}, + [I(55,38)] = {14,0x1DF8}, + [I(56,38)] = {14,0x1EF8}, + [I(57,38)] = {14,0x1FF8}, + [I(58,38)] = {15,0x5CF8}, + [I(59,38)] = {16,0xFBF8}, + [I(60,38)] = {23,0x7FFCF8}, + [I(61,38)] = {14,0x20F8}, + [I(62,38)] = {20,0xFFBF8}, + [I(63,38)] = {18,0x3FCF8}, + [I(64,38)] = {21,0x1FFAF8}, + [I(65,38)] = {14,0x21F8}, + [I(66,38)] = {15,0x5DF8}, + [I(67,38)] = {15,0x5EF8}, + [I(68,38)] = {15,0x5FF8}, + [I(69,38)] = {15,0x60F8}, + [I(70,38)] = {15,0x61F8}, + [I(71,38)] = {15,0x62F8}, + [I(72,38)] = {15,0x63F8}, + [I(73,38)] = {15,0x64F8}, + [I(74,38)] = {15,0x65F8}, + [I(75,38)] = {15,0x66F8}, + [I(76,38)] = {15,0x67F8}, + [I(77,38)] = {15,0x68F8}, + [I(78,38)] = {15,0x69F8}, + [I(79,38)] = {15,0x6AF8}, + [I(80,38)] = {15,0x6BF8}, + [I(81,38)] = {15,0x6CF8}, + [I(82,38)] = {15,0x6DF8}, + [I(83,38)] = {15,0x6EF8}, + [I(84,38)] = {15,0x6FF8}, + [I(85,38)] = {15,0x70F8}, + [I(86,38)] = {15,0x71F8}, + [I(87,38)] = {15,0x72F8}, + [I(88,38)] = {16,0xFCF8}, + [I(89,38)] = {15,0x73F8}, + [I(90,38)] = {16,0xFDF8}, + [I(91,38)] = {21,0x1FFBF8}, + [I(92,38)] = {27,0x7FFF0F8}, + [I(93,38)] = {21,0x1FFCF8}, + [I(94,38)] = {22,0x3FFCF8}, + [I(95,38)] = {14,0x22F8}, + [I(96,38)] = {23,0x7FFDF8}, + [I(97,38)] = {13,0x3F8}, + [I(98,38)] = {14,0x23F8}, + [I(99,38)] = {13,0x4F8}, + [I(100,38)] = {14,0x24F8}, + [I(101,38)] = {13,0x5F8}, + [I(102,38)] = {14,0x25F8}, + [I(103,38)] = {14,0x26F8}, + [I(104,38)] = {14,0x27F8}, + [I(105,38)] = {13,0x6F8}, + [I(106,38)] = {15,0x74F8}, + [I(107,38)] = {15,0x75F8}, + [I(108,38)] = {14,0x28F8}, + [I(109,38)] = {14,0x29F8}, + [I(110,38)] = {14,0x2AF8}, + [I(111,38)] = {13,0x7F8}, + [I(112,38)] = {14,0x2BF8}, + [I(113,38)] = {15,0x76F8}, + [I(114,38)] = {14,0x2CF8}, + [I(115,38)] = {13,0x8F8}, + [I(116,38)] = {13,0x9F8}, + [I(117,38)] = {14,0x2DF8}, + [I(118,38)] = {15,0x77F8}, + [I(119,38)] = {15,0x78F8}, + [I(120,38)] = {15,0x79F8}, + [I(121,38)] = {15,0x7AF8}, + [I(122,38)] = {15,0x7BF8}, + [I(123,38)] = {23,0x7FFEF8}, + [I(124,38)] = {19,0x7FCF8}, + [I(125,38)] = {22,0x3FFDF8}, + [I(126,38)] = {21,0x1FFDF8}, + [I(127,38)] = {64,0}, + [I(128,38)] = {28,0xFFFE6F8}, + [I(129,38)] = {30,0x3FFFD2F8}, + [I(130,38)] = {28,0xFFFE7F8}, + [I(131,38)] = {28,0xFFFE8F8}, + [I(132,38)] = {30,0x3FFFD3F8}, + [I(133,38)] = {30,0x3FFFD4F8}, + [I(134,38)] = {30,0x3FFFD5F8}, + [I(135,38)] = {31,0x7FFFD9F8}, + [I(136,38)] = {30,0x3FFFD6F8}, + [I(137,38)] = {31,0x7FFFDAF8}, + [I(138,38)] = {31,0x7FFFDBF8}, + [I(139,38)] = {31,0x7FFFDCF8}, + [I(140,38)] = {31,0x7FFFDDF8}, + [I(141,38)] = {31,0x7FFFDEF8}, + [I(142,38)] = {X32,0xFFFFEBF8}, + [I(143,38)] = {31,0x7FFFDFF8}, + [I(144,38)] = {X32,0xFFFFECF8}, + [I(145,38)] = {X32,0xFFFFEDF8}, + [I(146,38)] = {30,0x3FFFD7F8}, + [I(147,38)] = {31,0x7FFFE0F8}, + [I(148,38)] = {X32,0xFFFFEEF8}, + [I(149,38)] = {31,0x7FFFE1F8}, + [I(150,38)] = {31,0x7FFFE2F8}, + [I(151,38)] = {31,0x7FFFE3F8}, + [I(152,38)] = {31,0x7FFFE4F8}, + [I(153,38)] = {29,0x1FFFDCF8}, + [I(154,38)] = {30,0x3FFFD8F8}, + [I(155,38)] = {31,0x7FFFE5F8}, + [I(156,38)] = {30,0x3FFFD9F8}, + [I(157,38)] = {31,0x7FFFE6F8}, + [I(158,38)] = {31,0x7FFFE7F8}, + [I(159,38)] = {X32,0xFFFFEFF8}, + [I(160,38)] = {30,0x3FFFDAF8}, + [I(161,38)] = {29,0x1FFFDDF8}, + [I(162,38)] = {28,0xFFFE9F8}, + [I(163,38)] = {30,0x3FFFDBF8}, + [I(164,38)] = {30,0x3FFFDCF8}, + [I(165,38)] = {31,0x7FFFE8F8}, + [I(166,38)] = {31,0x7FFFE9F8}, + [I(167,38)] = {29,0x1FFFDEF8}, + [I(168,38)] = {31,0x7FFFEAF8}, + [I(169,38)] = {30,0x3FFFDDF8}, + [I(170,38)] = {30,0x3FFFDEF8}, + [I(171,38)] = {X32,0xFFFFF0F8}, + [I(172,38)] = {29,0x1FFFDFF8}, + [I(173,38)] = {30,0x3FFFDFF8}, + [I(174,38)] = {31,0x7FFFEBF8}, + [I(175,38)] = {31,0x7FFFECF8}, + [I(176,38)] = {29,0x1FFFE0F8}, + [I(177,38)] = {29,0x1FFFE1F8}, + [I(178,38)] = {30,0x3FFFE0F8}, + [I(179,38)] = {29,0x1FFFE2F8}, + [I(180,38)] = {31,0x7FFFEDF8}, + [I(181,38)] = {30,0x3FFFE1F8}, + [I(182,38)] = {31,0x7FFFEEF8}, + [I(183,38)] = {31,0x7FFFEFF8}, + [I(184,38)] = {28,0xFFFEAF8}, + [I(185,38)] = {30,0x3FFFE2F8}, + [I(186,38)] = {30,0x3FFFE3F8}, + [I(187,38)] = {30,0x3FFFE4F8}, + [I(188,38)] = {31,0x7FFFF0F8}, + [I(189,38)] = {30,0x3FFFE5F8}, + [I(190,38)] = {30,0x3FFFE6F8}, + [I(191,38)] = {31,0x7FFFF1F8}, + [I(192,38)] = {64,0}, + [I(193,38)] = {64,0}, + [I(194,38)] = {28,0xFFFEBF8}, + [I(195,38)] = {27,0x7FFF1F8}, + [I(196,38)] = {30,0x3FFFE7F8}, + [I(197,38)] = {31,0x7FFFF2F8}, + [I(198,38)] = {30,0x3FFFE8F8}, + [I(199,38)] = {64,0}, + [I(200,38)] = {64,0}, + [I(201,38)] = {64,0}, + [I(202,38)] = {64,0}, + [I(203,38)] = {64,0}, + [I(204,38)] = {64,0}, + [I(205,38)] = {64,0}, + [I(206,38)] = {X32,0xFFFFF1F8}, + [I(207,38)] = {64,0}, + [I(208,38)] = {27,0x7FFF2F8}, + [I(209,38)] = {29,0x1FFFE3F8}, + [I(210,38)] = {64,0}, + [I(211,38)] = {64,0}, + [I(212,38)] = {64,0}, + [I(213,38)] = {64,0}, + [I(214,38)] = {64,0}, + [I(215,38)] = {X32,0xFFFFF2F8}, + [I(216,38)] = {29,0x1FFFE4F8}, + [I(217,38)] = {29,0x1FFFE5F8}, + [I(218,38)] = {64,0}, + [I(219,38)] = {64,0}, + [I(220,38)] = {64,0}, + [I(221,38)] = {64,0}, + [I(222,38)] = {64,0}, + [I(223,38)] = {64,0}, + [I(224,38)] = {28,0xFFFECF8}, + [I(225,38)] = {X32,0xFFFFF3F8}, + [I(226,38)] = {28,0xFFFEDF8}, + [I(227,38)] = {29,0x1FFFE6F8}, + [I(228,38)] = {30,0x3FFFE9F8}, + [I(229,38)] = {29,0x1FFFE7F8}, + [I(230,38)] = {29,0x1FFFE8F8}, + [I(231,38)] = {31,0x7FFFF3F8}, + [I(232,38)] = {30,0x3FFFEAF8}, + [I(233,38)] = {30,0x3FFFEBF8}, + [I(234,38)] = {64,0}, + [I(235,38)] = {64,0}, + [I(236,38)] = {X32,0xFFFFF4F8}, + [I(237,38)] = {X32,0xFFFFF5F8}, + [I(238,38)] = {64,0}, + [I(239,38)] = {31,0x7FFFF4F8}, + [I(240,38)] = {64,0}, + [I(241,38)] = {64,0}, + [I(242,38)] = {64,0}, + [I(243,38)] = {64,0}, + [I(244,38)] = {64,0}, + [I(245,38)] = {64,0}, + [I(246,38)] = {64,0}, + [I(247,38)] = {64,0}, + [I(248,38)] = {64,0}, + [I(249,38)] = {64,0}, + [I(250,38)] = {64,0}, + [I(251,38)] = {64,0}, + [I(252,38)] = {64,0}, + [I(253,38)] = {64,0}, + [I(254,38)] = {64,0}, + [I(255,38)] = {64,0}, + [I(0,39)] = {24,0xFFC7FA}, + [I(1,39)] = {64,0}, + [I(2,39)] = {64,0}, + [I(3,39)] = {64,0}, + [I(4,39)] = {64,0}, + [I(5,39)] = {64,0}, + [I(6,39)] = {64,0}, + [I(7,39)] = {64,0}, + [I(8,39)] = {64,0}, + [I(9,39)] = {64,0}, + [I(10,39)] = {64,0}, + [I(11,39)] = {64,0}, + [I(12,39)] = {64,0}, + [I(13,39)] = {64,0}, + [I(14,39)] = {64,0}, + [I(15,39)] = {64,0}, + [I(16,39)] = {64,0}, + [I(17,39)] = {64,0}, + [I(18,39)] = {64,0}, + [I(19,39)] = {64,0}, + [I(20,39)] = {64,0}, + [I(21,39)] = {64,0}, + [I(22,39)] = {64,0}, + [I(23,39)] = {64,0}, + [I(24,39)] = {64,0}, + [I(25,39)] = {64,0}, + [I(26,39)] = {64,0}, + [I(27,39)] = {64,0}, + [I(28,39)] = {64,0}, + [I(29,39)] = {64,0}, + [I(30,39)] = {64,0}, + [I(31,39)] = {64,0}, + [I(32,39)] = {17,0xA7FA}, + [I(33,39)] = {21,0x1FC7FA}, + [I(34,39)] = {21,0x1FCFFA}, + [I(35,39)] = {23,0x7FD7FA}, + [I(36,39)] = {24,0xFFCFFA}, + [I(37,39)] = {17,0xAFFA}, + [I(38,39)] = {19,0x7C7FA}, + [I(39,39)] = {22,0x3FD7FA}, + [I(40,39)] = {21,0x1FD7FA}, + [I(41,39)] = {21,0x1FDFFA}, + [I(42,39)] = {19,0x7CFFA}, + [I(43,39)] = {22,0x3FDFFA}, + [I(44,39)] = {19,0x7D7FA}, + [I(45,39)] = {17,0xB7FA}, + [I(46,39)] = {17,0xBFFA}, + [I(47,39)] = {17,0xC7FA}, + [I(48,39)] = {16,0x7FA}, + [I(49,39)] = {16,0xFFA}, + [I(50,39)] = {16,0x17FA}, + [I(51,39)] = {17,0xCFFA}, + [I(52,39)] = {17,0xD7FA}, + [I(53,39)] = {17,0xDFFA}, + [I(54,39)] = {17,0xE7FA}, + [I(55,39)] = {17,0xEFFA}, + [I(56,39)] = {17,0xF7FA}, + [I(57,39)] = {17,0xFFFA}, + [I(58,39)] = {18,0x2E7FA}, + [I(59,39)] = {19,0x7DFFA}, + [I(60,39)] = {26,0x3FFE7FA}, + [I(61,39)] = {17,0x107FA}, + [I(62,39)] = {23,0x7FDFFA}, + [I(63,39)] = {21,0x1FE7FA}, + [I(64,39)] = {24,0xFFD7FA}, + [I(65,39)] = {17,0x10FFA}, + [I(66,39)] = {18,0x2EFFA}, + [I(67,39)] = {18,0x2F7FA}, + [I(68,39)] = {18,0x2FFFA}, + [I(69,39)] = {18,0x307FA}, + [I(70,39)] = {18,0x30FFA}, + [I(71,39)] = {18,0x317FA}, + [I(72,39)] = {18,0x31FFA}, + [I(73,39)] = {18,0x327FA}, + [I(74,39)] = {18,0x32FFA}, + [I(75,39)] = {18,0x337FA}, + [I(76,39)] = {18,0x33FFA}, + [I(77,39)] = {18,0x347FA}, + [I(78,39)] = {18,0x34FFA}, + [I(79,39)] = {18,0x357FA}, + [I(80,39)] = {18,0x35FFA}, + [I(81,39)] = {18,0x367FA}, + [I(82,39)] = {18,0x36FFA}, + [I(83,39)] = {18,0x377FA}, + [I(84,39)] = {18,0x37FFA}, + [I(85,39)] = {18,0x387FA}, + [I(86,39)] = {18,0x38FFA}, + [I(87,39)] = {18,0x397FA}, + [I(88,39)] = {19,0x7E7FA}, + [I(89,39)] = {18,0x39FFA}, + [I(90,39)] = {19,0x7EFFA}, + [I(91,39)] = {24,0xFFDFFA}, + [I(92,39)] = {30,0x3FFF87FA}, + [I(93,39)] = {24,0xFFE7FA}, + [I(94,39)] = {25,0x1FFE7FA}, + [I(95,39)] = {17,0x117FA}, + [I(96,39)] = {26,0x3FFEFFA}, + [I(97,39)] = {16,0x1FFA}, + [I(98,39)] = {17,0x11FFA}, + [I(99,39)] = {16,0x27FA}, + [I(100,39)] = {17,0x127FA}, + [I(101,39)] = {16,0x2FFA}, + [I(102,39)] = {17,0x12FFA}, + [I(103,39)] = {17,0x137FA}, + [I(104,39)] = {17,0x13FFA}, + [I(105,39)] = {16,0x37FA}, + [I(106,39)] = {18,0x3A7FA}, + [I(107,39)] = {18,0x3AFFA}, + [I(108,39)] = {17,0x147FA}, + [I(109,39)] = {17,0x14FFA}, + [I(110,39)] = {17,0x157FA}, + [I(111,39)] = {16,0x3FFA}, + [I(112,39)] = {17,0x15FFA}, + [I(113,39)] = {18,0x3B7FA}, + [I(114,39)] = {17,0x167FA}, + [I(115,39)] = {16,0x47FA}, + [I(116,39)] = {16,0x4FFA}, + [I(117,39)] = {17,0x16FFA}, + [I(118,39)] = {18,0x3BFFA}, + [I(119,39)] = {18,0x3C7FA}, + [I(120,39)] = {18,0x3CFFA}, + [I(121,39)] = {18,0x3D7FA}, + [I(122,39)] = {18,0x3DFFA}, + [I(123,39)] = {26,0x3FFF7FA}, + [I(124,39)] = {22,0x3FE7FA}, + [I(125,39)] = {25,0x1FFEFFA}, + [I(126,39)] = {24,0xFFEFFA}, + [I(127,39)] = {64,0}, + [I(128,39)] = {31,0x7FFF37FA}, + [I(129,39)] = {64,0}, + [I(130,39)] = {31,0x7FFF3FFA}, + [I(131,39)] = {31,0x7FFF47FA}, + [I(132,39)] = {64,0}, + [I(133,39)] = {64,0}, + [I(134,39)] = {64,0}, + [I(135,39)] = {64,0}, + [I(136,39)] = {64,0}, + [I(137,39)] = {64,0}, + [I(138,39)] = {64,0}, + [I(139,39)] = {64,0}, + [I(140,39)] = {64,0}, + [I(141,39)] = {64,0}, + [I(142,39)] = {64,0}, + [I(143,39)] = {64,0}, + [I(144,39)] = {64,0}, + [I(145,39)] = {64,0}, + [I(146,39)] = {64,0}, + [I(147,39)] = {64,0}, + [I(148,39)] = {64,0}, + [I(149,39)] = {64,0}, + [I(150,39)] = {64,0}, + [I(151,39)] = {64,0}, + [I(152,39)] = {64,0}, + [I(153,39)] = {X32,0xFFFEE7FA}, + [I(154,39)] = {64,0}, + [I(155,39)] = {64,0}, + [I(156,39)] = {64,0}, + [I(157,39)] = {64,0}, + [I(158,39)] = {64,0}, + [I(159,39)] = {64,0}, + [I(160,39)] = {64,0}, + [I(161,39)] = {X32,0xFFFEEFFA}, + [I(162,39)] = {31,0x7FFF4FFA}, + [I(163,39)] = {64,0}, + [I(164,39)] = {64,0}, + [I(165,39)] = {64,0}, + [I(166,39)] = {64,0}, + [I(167,39)] = {X32,0xFFFEF7FA}, + [I(168,39)] = {64,0}, + [I(169,39)] = {64,0}, + [I(170,39)] = {64,0}, + [I(171,39)] = {64,0}, + [I(172,39)] = {X32,0xFFFEFFFA}, + [I(173,39)] = {64,0}, + [I(174,39)] = {64,0}, + [I(175,39)] = {64,0}, + [I(176,39)] = {X32,0xFFFF07FA}, + [I(177,39)] = {X32,0xFFFF0FFA}, + [I(178,39)] = {64,0}, + [I(179,39)] = {X32,0xFFFF17FA}, + [I(180,39)] = {64,0}, + [I(181,39)] = {64,0}, + [I(182,39)] = {64,0}, + [I(183,39)] = {64,0}, + [I(184,39)] = {31,0x7FFF57FA}, + [I(185,39)] = {64,0}, + [I(186,39)] = {64,0}, + [I(187,39)] = {64,0}, + [I(188,39)] = {64,0}, + [I(189,39)] = {64,0}, + [I(190,39)] = {64,0}, + [I(191,39)] = {64,0}, + [I(192,39)] = {64,0}, + [I(193,39)] = {64,0}, + [I(194,39)] = {31,0x7FFF5FFA}, + [I(195,39)] = {30,0x3FFF8FFA}, + [I(196,39)] = {64,0}, + [I(197,39)] = {64,0}, + [I(198,39)] = {64,0}, + [I(199,39)] = {64,0}, + [I(200,39)] = {64,0}, + [I(201,39)] = {64,0}, + [I(202,39)] = {64,0}, + [I(203,39)] = {64,0}, + [I(204,39)] = {64,0}, + [I(205,39)] = {64,0}, + [I(206,39)] = {64,0}, + [I(207,39)] = {64,0}, + [I(208,39)] = {30,0x3FFF97FA}, + [I(209,39)] = {X32,0xFFFF1FFA}, + [I(210,39)] = {64,0}, + [I(211,39)] = {64,0}, + [I(212,39)] = {64,0}, + [I(213,39)] = {64,0}, + [I(214,39)] = {64,0}, + [I(215,39)] = {64,0}, + [I(216,39)] = {X32,0xFFFF27FA}, + [I(217,39)] = {X32,0xFFFF2FFA}, + [I(218,39)] = {64,0}, + [I(219,39)] = {64,0}, + [I(220,39)] = {64,0}, + [I(221,39)] = {64,0}, + [I(222,39)] = {64,0}, + [I(223,39)] = {64,0}, + [I(224,39)] = {31,0x7FFF67FA}, + [I(225,39)] = {64,0}, + [I(226,39)] = {31,0x7FFF6FFA}, + [I(227,39)] = {X32,0xFFFF37FA}, + [I(228,39)] = {64,0}, + [I(229,39)] = {X32,0xFFFF3FFA}, + [I(230,39)] = {X32,0xFFFF47FA}, + [I(231,39)] = {64,0}, + [I(232,39)] = {64,0}, + [I(233,39)] = {64,0}, + [I(234,39)] = {64,0}, + [I(235,39)] = {64,0}, + [I(236,39)] = {64,0}, + [I(237,39)] = {64,0}, + [I(238,39)] = {64,0}, + [I(239,39)] = {64,0}, + [I(240,39)] = {64,0}, + [I(241,39)] = {64,0}, + [I(242,39)] = {64,0}, + [I(243,39)] = {64,0}, + [I(244,39)] = {64,0}, + [I(245,39)] = {64,0}, + [I(246,39)] = {64,0}, + [I(247,39)] = {64,0}, + [I(248,39)] = {64,0}, + [I(249,39)] = {64,0}, + [I(250,39)] = {64,0}, + [I(251,39)] = {64,0}, + [I(252,39)] = {64,0}, + [I(253,39)] = {64,0}, + [I(254,39)] = {64,0}, + [I(255,39)] = {64,0}, + [I(0,40)] = {23,0x7FE3FA}, + [I(1,40)] = {64,0}, + [I(2,40)] = {64,0}, + [I(3,40)] = {64,0}, + [I(4,40)] = {64,0}, + [I(5,40)] = {64,0}, + [I(6,40)] = {64,0}, + [I(7,40)] = {64,0}, + [I(8,40)] = {64,0}, + [I(9,40)] = {64,0}, + [I(10,40)] = {64,0}, + [I(11,40)] = {64,0}, + [I(12,40)] = {64,0}, + [I(13,40)] = {64,0}, + [I(14,40)] = {64,0}, + [I(15,40)] = {64,0}, + [I(16,40)] = {64,0}, + [I(17,40)] = {64,0}, + [I(18,40)] = {64,0}, + [I(19,40)] = {64,0}, + [I(20,40)] = {64,0}, + [I(21,40)] = {64,0}, + [I(22,40)] = {64,0}, + [I(23,40)] = {64,0}, + [I(24,40)] = {64,0}, + [I(25,40)] = {64,0}, + [I(26,40)] = {64,0}, + [I(27,40)] = {64,0}, + [I(28,40)] = {64,0}, + [I(29,40)] = {64,0}, + [I(30,40)] = {64,0}, + [I(31,40)] = {64,0}, + [I(32,40)] = {16,0x53FA}, + [I(33,40)] = {20,0xFE3FA}, + [I(34,40)] = {20,0xFE7FA}, + [I(35,40)] = {22,0x3FEBFA}, + [I(36,40)] = {23,0x7FE7FA}, + [I(37,40)] = {16,0x57FA}, + [I(38,40)] = {18,0x3E3FA}, + [I(39,40)] = {21,0x1FEBFA}, + [I(40,40)] = {20,0xFEBFA}, + [I(41,40)] = {20,0xFEFFA}, + [I(42,40)] = {18,0x3E7FA}, + [I(43,40)] = {21,0x1FEFFA}, + [I(44,40)] = {18,0x3EBFA}, + [I(45,40)] = {16,0x5BFA}, + [I(46,40)] = {16,0x5FFA}, + [I(47,40)] = {16,0x63FA}, + [I(48,40)] = {15,0x3FA}, + [I(49,40)] = {15,0x7FA}, + [I(50,40)] = {15,0xBFA}, + [I(51,40)] = {16,0x67FA}, + [I(52,40)] = {16,0x6BFA}, + [I(53,40)] = {16,0x6FFA}, + [I(54,40)] = {16,0x73FA}, + [I(55,40)] = {16,0x77FA}, + [I(56,40)] = {16,0x7BFA}, + [I(57,40)] = {16,0x7FFA}, + [I(58,40)] = {17,0x173FA}, + [I(59,40)] = {18,0x3EFFA}, + [I(60,40)] = {25,0x1FFF3FA}, + [I(61,40)] = {16,0x83FA}, + [I(62,40)] = {22,0x3FEFFA}, + [I(63,40)] = {20,0xFF3FA}, + [I(64,40)] = {23,0x7FEBFA}, + [I(65,40)] = {16,0x87FA}, + [I(66,40)] = {17,0x177FA}, + [I(67,40)] = {17,0x17BFA}, + [I(68,40)] = {17,0x17FFA}, + [I(69,40)] = {17,0x183FA}, + [I(70,40)] = {17,0x187FA}, + [I(71,40)] = {17,0x18BFA}, + [I(72,40)] = {17,0x18FFA}, + [I(73,40)] = {17,0x193FA}, + [I(74,40)] = {17,0x197FA}, + [I(75,40)] = {17,0x19BFA}, + [I(76,40)] = {17,0x19FFA}, + [I(77,40)] = {17,0x1A3FA}, + [I(78,40)] = {17,0x1A7FA}, + [I(79,40)] = {17,0x1ABFA}, + [I(80,40)] = {17,0x1AFFA}, + [I(81,40)] = {17,0x1B3FA}, + [I(82,40)] = {17,0x1B7FA}, + [I(83,40)] = {17,0x1BBFA}, + [I(84,40)] = {17,0x1BFFA}, + [I(85,40)] = {17,0x1C3FA}, + [I(86,40)] = {17,0x1C7FA}, + [I(87,40)] = {17,0x1CBFA}, + [I(88,40)] = {18,0x3F3FA}, + [I(89,40)] = {17,0x1CFFA}, + [I(90,40)] = {18,0x3F7FA}, + [I(91,40)] = {23,0x7FEFFA}, + [I(92,40)] = {29,0x1FFFC3FA}, + [I(93,40)] = {23,0x7FF3FA}, + [I(94,40)] = {24,0xFFF3FA}, + [I(95,40)] = {16,0x8BFA}, + [I(96,40)] = {25,0x1FFF7FA}, + [I(97,40)] = {15,0xFFA}, + [I(98,40)] = {16,0x8FFA}, + [I(99,40)] = {15,0x13FA}, + [I(100,40)] = {16,0x93FA}, + [I(101,40)] = {15,0x17FA}, + [I(102,40)] = {16,0x97FA}, + [I(103,40)] = {16,0x9BFA}, + [I(104,40)] = {16,0x9FFA}, + [I(105,40)] = {15,0x1BFA}, + [I(106,40)] = {17,0x1D3FA}, + [I(107,40)] = {17,0x1D7FA}, + [I(108,40)] = {16,0xA3FA}, + [I(109,40)] = {16,0xA7FA}, + [I(110,40)] = {16,0xABFA}, + [I(111,40)] = {15,0x1FFA}, + [I(112,40)] = {16,0xAFFA}, + [I(113,40)] = {17,0x1DBFA}, + [I(114,40)] = {16,0xB3FA}, + [I(115,40)] = {15,0x23FA}, + [I(116,40)] = {15,0x27FA}, + [I(117,40)] = {16,0xB7FA}, + [I(118,40)] = {17,0x1DFFA}, + [I(119,40)] = {17,0x1E3FA}, + [I(120,40)] = {17,0x1E7FA}, + [I(121,40)] = {17,0x1EBFA}, + [I(122,40)] = {17,0x1EFFA}, + [I(123,40)] = {25,0x1FFFBFA}, + [I(124,40)] = {21,0x1FF3FA}, + [I(125,40)] = {24,0xFFF7FA}, + [I(126,40)] = {23,0x7FF7FA}, + [I(127,40)] = {64,0}, + [I(128,40)] = {30,0x3FFF9BFA}, + [I(129,40)] = {X32,0xFFFF4BFA}, + [I(130,40)] = {30,0x3FFF9FFA}, + [I(131,40)] = {30,0x3FFFA3FA}, + [I(132,40)] = {X32,0xFFFF4FFA}, + [I(133,40)] = {X32,0xFFFF53FA}, + [I(134,40)] = {X32,0xFFFF57FA}, + [I(135,40)] = {64,0}, + [I(136,40)] = {X32,0xFFFF5BFA}, + [I(137,40)] = {64,0}, + [I(138,40)] = {64,0}, + [I(139,40)] = {64,0}, + [I(140,40)] = {64,0}, + [I(141,40)] = {64,0}, + [I(142,40)] = {64,0}, + [I(143,40)] = {64,0}, + [I(144,40)] = {64,0}, + [I(145,40)] = {64,0}, + [I(146,40)] = {X32,0xFFFF5FFA}, + [I(147,40)] = {64,0}, + [I(148,40)] = {64,0}, + [I(149,40)] = {64,0}, + [I(150,40)] = {64,0}, + [I(151,40)] = {64,0}, + [I(152,40)] = {64,0}, + [I(153,40)] = {31,0x7FFF73FA}, + [I(154,40)] = {X32,0xFFFF63FA}, + [I(155,40)] = {64,0}, + [I(156,40)] = {X32,0xFFFF67FA}, + [I(157,40)] = {64,0}, + [I(158,40)] = {64,0}, + [I(159,40)] = {64,0}, + [I(160,40)] = {X32,0xFFFF6BFA}, + [I(161,40)] = {31,0x7FFF77FA}, + [I(162,40)] = {30,0x3FFFA7FA}, + [I(163,40)] = {X32,0xFFFF6FFA}, + [I(164,40)] = {X32,0xFFFF73FA}, + [I(165,40)] = {64,0}, + [I(166,40)] = {64,0}, + [I(167,40)] = {31,0x7FFF7BFA}, + [I(168,40)] = {64,0}, + [I(169,40)] = {X32,0xFFFF77FA}, + [I(170,40)] = {X32,0xFFFF7BFA}, + [I(171,40)] = {64,0}, + [I(172,40)] = {31,0x7FFF7FFA}, + [I(173,40)] = {X32,0xFFFF7FFA}, + [I(174,40)] = {64,0}, + [I(175,40)] = {64,0}, + [I(176,40)] = {31,0x7FFF83FA}, + [I(177,40)] = {31,0x7FFF87FA}, + [I(178,40)] = {X32,0xFFFF83FA}, + [I(179,40)] = {31,0x7FFF8BFA}, + [I(180,40)] = {64,0}, + [I(181,40)] = {X32,0xFFFF87FA}, + [I(182,40)] = {64,0}, + [I(183,40)] = {64,0}, + [I(184,40)] = {30,0x3FFFABFA}, + [I(185,40)] = {X32,0xFFFF8BFA}, + [I(186,40)] = {X32,0xFFFF8FFA}, + [I(187,40)] = {X32,0xFFFF93FA}, + [I(188,40)] = {64,0}, + [I(189,40)] = {X32,0xFFFF97FA}, + [I(190,40)] = {X32,0xFFFF9BFA}, + [I(191,40)] = {64,0}, + [I(192,40)] = {64,0}, + [I(193,40)] = {64,0}, + [I(194,40)] = {30,0x3FFFAFFA}, + [I(195,40)] = {29,0x1FFFC7FA}, + [I(196,40)] = {X32,0xFFFF9FFA}, + [I(197,40)] = {64,0}, + [I(198,40)] = {X32,0xFFFFA3FA}, + [I(199,40)] = {64,0}, + [I(200,40)] = {64,0}, + [I(201,40)] = {64,0}, + [I(202,40)] = {64,0}, + [I(203,40)] = {64,0}, + [I(204,40)] = {64,0}, + [I(205,40)] = {64,0}, + [I(206,40)] = {64,0}, + [I(207,40)] = {64,0}, + [I(208,40)] = {29,0x1FFFCBFA}, + [I(209,40)] = {31,0x7FFF8FFA}, + [I(210,40)] = {64,0}, + [I(211,40)] = {64,0}, + [I(212,40)] = {64,0}, + [I(213,40)] = {64,0}, + [I(214,40)] = {64,0}, + [I(215,40)] = {64,0}, + [I(216,40)] = {31,0x7FFF93FA}, + [I(217,40)] = {31,0x7FFF97FA}, + [I(218,40)] = {64,0}, + [I(219,40)] = {64,0}, + [I(220,40)] = {64,0}, + [I(221,40)] = {64,0}, + [I(222,40)] = {64,0}, + [I(223,40)] = {64,0}, + [I(224,40)] = {30,0x3FFFB3FA}, + [I(225,40)] = {64,0}, + [I(226,40)] = {30,0x3FFFB7FA}, + [I(227,40)] = {31,0x7FFF9BFA}, + [I(228,40)] = {X32,0xFFFFA7FA}, + [I(229,40)] = {31,0x7FFF9FFA}, + [I(230,40)] = {31,0x7FFFA3FA}, + [I(231,40)] = {64,0}, + [I(232,40)] = {X32,0xFFFFABFA}, + [I(233,40)] = {X32,0xFFFFAFFA}, + [I(234,40)] = {64,0}, + [I(235,40)] = {64,0}, + [I(236,40)] = {64,0}, + [I(237,40)] = {64,0}, + [I(238,40)] = {64,0}, + [I(239,40)] = {64,0}, + [I(240,40)] = {64,0}, + [I(241,40)] = {64,0}, + [I(242,40)] = {64,0}, + [I(243,40)] = {64,0}, + [I(244,40)] = {64,0}, + [I(245,40)] = {64,0}, + [I(246,40)] = {64,0}, + [I(247,40)] = {64,0}, + [I(248,40)] = {64,0}, + [I(249,40)] = {64,0}, + [I(250,40)] = {64,0}, + [I(251,40)] = {64,0}, + [I(252,40)] = {64,0}, + [I(253,40)] = {64,0}, + [I(254,40)] = {64,0}, + [I(255,40)] = {64,0}, + [I(0,41)] = {23,0x7FE3FB}, + [I(1,41)] = {64,0}, + [I(2,41)] = {64,0}, + [I(3,41)] = {64,0}, + [I(4,41)] = {64,0}, + [I(5,41)] = {64,0}, + [I(6,41)] = {64,0}, + [I(7,41)] = {64,0}, + [I(8,41)] = {64,0}, + [I(9,41)] = {64,0}, + [I(10,41)] = {64,0}, + [I(11,41)] = {64,0}, + [I(12,41)] = {64,0}, + [I(13,41)] = {64,0}, + [I(14,41)] = {64,0}, + [I(15,41)] = {64,0}, + [I(16,41)] = {64,0}, + [I(17,41)] = {64,0}, + [I(18,41)] = {64,0}, + [I(19,41)] = {64,0}, + [I(20,41)] = {64,0}, + [I(21,41)] = {64,0}, + [I(22,41)] = {64,0}, + [I(23,41)] = {64,0}, + [I(24,41)] = {64,0}, + [I(25,41)] = {64,0}, + [I(26,41)] = {64,0}, + [I(27,41)] = {64,0}, + [I(28,41)] = {64,0}, + [I(29,41)] = {64,0}, + [I(30,41)] = {64,0}, + [I(31,41)] = {64,0}, + [I(32,41)] = {16,0x53FB}, + [I(33,41)] = {20,0xFE3FB}, + [I(34,41)] = {20,0xFE7FB}, + [I(35,41)] = {22,0x3FEBFB}, + [I(36,41)] = {23,0x7FE7FB}, + [I(37,41)] = {16,0x57FB}, + [I(38,41)] = {18,0x3E3FB}, + [I(39,41)] = {21,0x1FEBFB}, + [I(40,41)] = {20,0xFEBFB}, + [I(41,41)] = {20,0xFEFFB}, + [I(42,41)] = {18,0x3E7FB}, + [I(43,41)] = {21,0x1FEFFB}, + [I(44,41)] = {18,0x3EBFB}, + [I(45,41)] = {16,0x5BFB}, + [I(46,41)] = {16,0x5FFB}, + [I(47,41)] = {16,0x63FB}, + [I(48,41)] = {15,0x3FB}, + [I(49,41)] = {15,0x7FB}, + [I(50,41)] = {15,0xBFB}, + [I(51,41)] = {16,0x67FB}, + [I(52,41)] = {16,0x6BFB}, + [I(53,41)] = {16,0x6FFB}, + [I(54,41)] = {16,0x73FB}, + [I(55,41)] = {16,0x77FB}, + [I(56,41)] = {16,0x7BFB}, + [I(57,41)] = {16,0x7FFB}, + [I(58,41)] = {17,0x173FB}, + [I(59,41)] = {18,0x3EFFB}, + [I(60,41)] = {25,0x1FFF3FB}, + [I(61,41)] = {16,0x83FB}, + [I(62,41)] = {22,0x3FEFFB}, + [I(63,41)] = {20,0xFF3FB}, + [I(64,41)] = {23,0x7FEBFB}, + [I(65,41)] = {16,0x87FB}, + [I(66,41)] = {17,0x177FB}, + [I(67,41)] = {17,0x17BFB}, + [I(68,41)] = {17,0x17FFB}, + [I(69,41)] = {17,0x183FB}, + [I(70,41)] = {17,0x187FB}, + [I(71,41)] = {17,0x18BFB}, + [I(72,41)] = {17,0x18FFB}, + [I(73,41)] = {17,0x193FB}, + [I(74,41)] = {17,0x197FB}, + [I(75,41)] = {17,0x19BFB}, + [I(76,41)] = {17,0x19FFB}, + [I(77,41)] = {17,0x1A3FB}, + [I(78,41)] = {17,0x1A7FB}, + [I(79,41)] = {17,0x1ABFB}, + [I(80,41)] = {17,0x1AFFB}, + [I(81,41)] = {17,0x1B3FB}, + [I(82,41)] = {17,0x1B7FB}, + [I(83,41)] = {17,0x1BBFB}, + [I(84,41)] = {17,0x1BFFB}, + [I(85,41)] = {17,0x1C3FB}, + [I(86,41)] = {17,0x1C7FB}, + [I(87,41)] = {17,0x1CBFB}, + [I(88,41)] = {18,0x3F3FB}, + [I(89,41)] = {17,0x1CFFB}, + [I(90,41)] = {18,0x3F7FB}, + [I(91,41)] = {23,0x7FEFFB}, + [I(92,41)] = {29,0x1FFFC3FB}, + [I(93,41)] = {23,0x7FF3FB}, + [I(94,41)] = {24,0xFFF3FB}, + [I(95,41)] = {16,0x8BFB}, + [I(96,41)] = {25,0x1FFF7FB}, + [I(97,41)] = {15,0xFFB}, + [I(98,41)] = {16,0x8FFB}, + [I(99,41)] = {15,0x13FB}, + [I(100,41)] = {16,0x93FB}, + [I(101,41)] = {15,0x17FB}, + [I(102,41)] = {16,0x97FB}, + [I(103,41)] = {16,0x9BFB}, + [I(104,41)] = {16,0x9FFB}, + [I(105,41)] = {15,0x1BFB}, + [I(106,41)] = {17,0x1D3FB}, + [I(107,41)] = {17,0x1D7FB}, + [I(108,41)] = {16,0xA3FB}, + [I(109,41)] = {16,0xA7FB}, + [I(110,41)] = {16,0xABFB}, + [I(111,41)] = {15,0x1FFB}, + [I(112,41)] = {16,0xAFFB}, + [I(113,41)] = {17,0x1DBFB}, + [I(114,41)] = {16,0xB3FB}, + [I(115,41)] = {15,0x23FB}, + [I(116,41)] = {15,0x27FB}, + [I(117,41)] = {16,0xB7FB}, + [I(118,41)] = {17,0x1DFFB}, + [I(119,41)] = {17,0x1E3FB}, + [I(120,41)] = {17,0x1E7FB}, + [I(121,41)] = {17,0x1EBFB}, + [I(122,41)] = {17,0x1EFFB}, + [I(123,41)] = {25,0x1FFFBFB}, + [I(124,41)] = {21,0x1FF3FB}, + [I(125,41)] = {24,0xFFF7FB}, + [I(126,41)] = {23,0x7FF7FB}, + [I(127,41)] = {64,0}, + [I(128,41)] = {30,0x3FFF9BFB}, + [I(129,41)] = {X32,0xFFFF4BFB}, + [I(130,41)] = {30,0x3FFF9FFB}, + [I(131,41)] = {30,0x3FFFA3FB}, + [I(132,41)] = {X32,0xFFFF4FFB}, + [I(133,41)] = {X32,0xFFFF53FB}, + [I(134,41)] = {X32,0xFFFF57FB}, + [I(135,41)] = {64,0}, + [I(136,41)] = {X32,0xFFFF5BFB}, + [I(137,41)] = {64,0}, + [I(138,41)] = {64,0}, + [I(139,41)] = {64,0}, + [I(140,41)] = {64,0}, + [I(141,41)] = {64,0}, + [I(142,41)] = {64,0}, + [I(143,41)] = {64,0}, + [I(144,41)] = {64,0}, + [I(145,41)] = {64,0}, + [I(146,41)] = {X32,0xFFFF5FFB}, + [I(147,41)] = {64,0}, + [I(148,41)] = {64,0}, + [I(149,41)] = {64,0}, + [I(150,41)] = {64,0}, + [I(151,41)] = {64,0}, + [I(152,41)] = {64,0}, + [I(153,41)] = {31,0x7FFF73FB}, + [I(154,41)] = {X32,0xFFFF63FB}, + [I(155,41)] = {64,0}, + [I(156,41)] = {X32,0xFFFF67FB}, + [I(157,41)] = {64,0}, + [I(158,41)] = {64,0}, + [I(159,41)] = {64,0}, + [I(160,41)] = {X32,0xFFFF6BFB}, + [I(161,41)] = {31,0x7FFF77FB}, + [I(162,41)] = {30,0x3FFFA7FB}, + [I(163,41)] = {X32,0xFFFF6FFB}, + [I(164,41)] = {X32,0xFFFF73FB}, + [I(165,41)] = {64,0}, + [I(166,41)] = {64,0}, + [I(167,41)] = {31,0x7FFF7BFB}, + [I(168,41)] = {64,0}, + [I(169,41)] = {X32,0xFFFF77FB}, + [I(170,41)] = {X32,0xFFFF7BFB}, + [I(171,41)] = {64,0}, + [I(172,41)] = {31,0x7FFF7FFB}, + [I(173,41)] = {X32,0xFFFF7FFB}, + [I(174,41)] = {64,0}, + [I(175,41)] = {64,0}, + [I(176,41)] = {31,0x7FFF83FB}, + [I(177,41)] = {31,0x7FFF87FB}, + [I(178,41)] = {X32,0xFFFF83FB}, + [I(179,41)] = {31,0x7FFF8BFB}, + [I(180,41)] = {64,0}, + [I(181,41)] = {X32,0xFFFF87FB}, + [I(182,41)] = {64,0}, + [I(183,41)] = {64,0}, + [I(184,41)] = {30,0x3FFFABFB}, + [I(185,41)] = {X32,0xFFFF8BFB}, + [I(186,41)] = {X32,0xFFFF8FFB}, + [I(187,41)] = {X32,0xFFFF93FB}, + [I(188,41)] = {64,0}, + [I(189,41)] = {X32,0xFFFF97FB}, + [I(190,41)] = {X32,0xFFFF9BFB}, + [I(191,41)] = {64,0}, + [I(192,41)] = {64,0}, + [I(193,41)] = {64,0}, + [I(194,41)] = {30,0x3FFFAFFB}, + [I(195,41)] = {29,0x1FFFC7FB}, + [I(196,41)] = {X32,0xFFFF9FFB}, + [I(197,41)] = {64,0}, + [I(198,41)] = {X32,0xFFFFA3FB}, + [I(199,41)] = {64,0}, + [I(200,41)] = {64,0}, + [I(201,41)] = {64,0}, + [I(202,41)] = {64,0}, + [I(203,41)] = {64,0}, + [I(204,41)] = {64,0}, + [I(205,41)] = {64,0}, + [I(206,41)] = {64,0}, + [I(207,41)] = {64,0}, + [I(208,41)] = {29,0x1FFFCBFB}, + [I(209,41)] = {31,0x7FFF8FFB}, + [I(210,41)] = {64,0}, + [I(211,41)] = {64,0}, + [I(212,41)] = {64,0}, + [I(213,41)] = {64,0}, + [I(214,41)] = {64,0}, + [I(215,41)] = {64,0}, + [I(216,41)] = {31,0x7FFF93FB}, + [I(217,41)] = {31,0x7FFF97FB}, + [I(218,41)] = {64,0}, + [I(219,41)] = {64,0}, + [I(220,41)] = {64,0}, + [I(221,41)] = {64,0}, + [I(222,41)] = {64,0}, + [I(223,41)] = {64,0}, + [I(224,41)] = {30,0x3FFFB3FB}, + [I(225,41)] = {64,0}, + [I(226,41)] = {30,0x3FFFB7FB}, + [I(227,41)] = {31,0x7FFF9BFB}, + [I(228,41)] = {X32,0xFFFFA7FB}, + [I(229,41)] = {31,0x7FFF9FFB}, + [I(230,41)] = {31,0x7FFFA3FB}, + [I(231,41)] = {64,0}, + [I(232,41)] = {X32,0xFFFFABFB}, + [I(233,41)] = {X32,0xFFFFAFFB}, + [I(234,41)] = {64,0}, + [I(235,41)] = {64,0}, + [I(236,41)] = {64,0}, + [I(237,41)] = {64,0}, + [I(238,41)] = {64,0}, + [I(239,41)] = {64,0}, + [I(240,41)] = {64,0}, + [I(241,41)] = {64,0}, + [I(242,41)] = {64,0}, + [I(243,41)] = {64,0}, + [I(244,41)] = {64,0}, + [I(245,41)] = {64,0}, + [I(246,41)] = {64,0}, + [I(247,41)] = {64,0}, + [I(248,41)] = {64,0}, + [I(249,41)] = {64,0}, + [I(250,41)] = {64,0}, + [I(251,41)] = {64,0}, + [I(252,41)] = {64,0}, + [I(253,41)] = {64,0}, + [I(254,41)] = {64,0}, + [I(255,41)] = {64,0}, + [I(0,42)] = {21,0x1FF8F9}, + [I(1,42)] = {31,0x7FFFD8F9}, + [I(2,42)] = {64,0}, + [I(3,42)] = {64,0}, + [I(4,42)] = {64,0}, + [I(5,42)] = {64,0}, + [I(6,42)] = {64,0}, + [I(7,42)] = {64,0}, + [I(8,42)] = {64,0}, + [I(9,42)] = {X32,0xFFFFEAF9}, + [I(10,42)] = {64,0}, + [I(11,42)] = {64,0}, + [I(12,42)] = {64,0}, + [I(13,42)] = {64,0}, + [I(14,42)] = {64,0}, + [I(15,42)] = {64,0}, + [I(16,42)] = {64,0}, + [I(17,42)] = {64,0}, + [I(18,42)] = {64,0}, + [I(19,42)] = {64,0}, + [I(20,42)] = {64,0}, + [I(21,42)] = {64,0}, + [I(22,42)] = {64,0}, + [I(23,42)] = {64,0}, + [I(24,42)] = {64,0}, + [I(25,42)] = {64,0}, + [I(26,42)] = {64,0}, + [I(27,42)] = {64,0}, + [I(28,42)] = {64,0}, + [I(29,42)] = {64,0}, + [I(30,42)] = {64,0}, + [I(31,42)] = {64,0}, + [I(32,42)] = {14,0x14F9}, + [I(33,42)] = {18,0x3F8F9}, + [I(34,42)] = {18,0x3F9F9}, + [I(35,42)] = {20,0xFFAF9}, + [I(36,42)] = {21,0x1FF9F9}, + [I(37,42)] = {14,0x15F9}, + [I(38,42)] = {16,0xF8F9}, + [I(39,42)] = {19,0x7FAF9}, + [I(40,42)] = {18,0x3FAF9}, + [I(41,42)] = {18,0x3FBF9}, + [I(42,42)] = {16,0xF9F9}, + [I(43,42)] = {19,0x7FBF9}, + [I(44,42)] = {16,0xFAF9}, + [I(45,42)] = {14,0x16F9}, + [I(46,42)] = {14,0x17F9}, + [I(47,42)] = {14,0x18F9}, + [I(48,42)] = {13,0xF9}, + [I(49,42)] = {13,0x1F9}, + [I(50,42)] = {13,0x2F9}, + [I(51,42)] = {14,0x19F9}, + [I(52,42)] = {14,0x1AF9}, + [I(53,42)] = {14,0x1BF9}, + [I(54,42)] = {14,0x1CF9}, + [I(55,42)] = {14,0x1DF9}, + [I(56,42)] = {14,0x1EF9}, + [I(57,42)] = {14,0x1FF9}, + [I(58,42)] = {15,0x5CF9}, + [I(59,42)] = {16,0xFBF9}, + [I(60,42)] = {23,0x7FFCF9}, + [I(61,42)] = {14,0x20F9}, + [I(62,42)] = {20,0xFFBF9}, + [I(63,42)] = {18,0x3FCF9}, + [I(64,42)] = {21,0x1FFAF9}, + [I(65,42)] = {14,0x21F9}, + [I(66,42)] = {15,0x5DF9}, + [I(67,42)] = {15,0x5EF9}, + [I(68,42)] = {15,0x5FF9}, + [I(69,42)] = {15,0x60F9}, + [I(70,42)] = {15,0x61F9}, + [I(71,42)] = {15,0x62F9}, + [I(72,42)] = {15,0x63F9}, + [I(73,42)] = {15,0x64F9}, + [I(74,42)] = {15,0x65F9}, + [I(75,42)] = {15,0x66F9}, + [I(76,42)] = {15,0x67F9}, + [I(77,42)] = {15,0x68F9}, + [I(78,42)] = {15,0x69F9}, + [I(79,42)] = {15,0x6AF9}, + [I(80,42)] = {15,0x6BF9}, + [I(81,42)] = {15,0x6CF9}, + [I(82,42)] = {15,0x6DF9}, + [I(83,42)] = {15,0x6EF9}, + [I(84,42)] = {15,0x6FF9}, + [I(85,42)] = {15,0x70F9}, + [I(86,42)] = {15,0x71F9}, + [I(87,42)] = {15,0x72F9}, + [I(88,42)] = {16,0xFCF9}, + [I(89,42)] = {15,0x73F9}, + [I(90,42)] = {16,0xFDF9}, + [I(91,42)] = {21,0x1FFBF9}, + [I(92,42)] = {27,0x7FFF0F9}, + [I(93,42)] = {21,0x1FFCF9}, + [I(94,42)] = {22,0x3FFCF9}, + [I(95,42)] = {14,0x22F9}, + [I(96,42)] = {23,0x7FFDF9}, + [I(97,42)] = {13,0x3F9}, + [I(98,42)] = {14,0x23F9}, + [I(99,42)] = {13,0x4F9}, + [I(100,42)] = {14,0x24F9}, + [I(101,42)] = {13,0x5F9}, + [I(102,42)] = {14,0x25F9}, + [I(103,42)] = {14,0x26F9}, + [I(104,42)] = {14,0x27F9}, + [I(105,42)] = {13,0x6F9}, + [I(106,42)] = {15,0x74F9}, + [I(107,42)] = {15,0x75F9}, + [I(108,42)] = {14,0x28F9}, + [I(109,42)] = {14,0x29F9}, + [I(110,42)] = {14,0x2AF9}, + [I(111,42)] = {13,0x7F9}, + [I(112,42)] = {14,0x2BF9}, + [I(113,42)] = {15,0x76F9}, + [I(114,42)] = {14,0x2CF9}, + [I(115,42)] = {13,0x8F9}, + [I(116,42)] = {13,0x9F9}, + [I(117,42)] = {14,0x2DF9}, + [I(118,42)] = {15,0x77F9}, + [I(119,42)] = {15,0x78F9}, + [I(120,42)] = {15,0x79F9}, + [I(121,42)] = {15,0x7AF9}, + [I(122,42)] = {15,0x7BF9}, + [I(123,42)] = {23,0x7FFEF9}, + [I(124,42)] = {19,0x7FCF9}, + [I(125,42)] = {22,0x3FFDF9}, + [I(126,42)] = {21,0x1FFDF9}, + [I(127,42)] = {64,0}, + [I(128,42)] = {28,0xFFFE6F9}, + [I(129,42)] = {30,0x3FFFD2F9}, + [I(130,42)] = {28,0xFFFE7F9}, + [I(131,42)] = {28,0xFFFE8F9}, + [I(132,42)] = {30,0x3FFFD3F9}, + [I(133,42)] = {30,0x3FFFD4F9}, + [I(134,42)] = {30,0x3FFFD5F9}, + [I(135,42)] = {31,0x7FFFD9F9}, + [I(136,42)] = {30,0x3FFFD6F9}, + [I(137,42)] = {31,0x7FFFDAF9}, + [I(138,42)] = {31,0x7FFFDBF9}, + [I(139,42)] = {31,0x7FFFDCF9}, + [I(140,42)] = {31,0x7FFFDDF9}, + [I(141,42)] = {31,0x7FFFDEF9}, + [I(142,42)] = {X32,0xFFFFEBF9}, + [I(143,42)] = {31,0x7FFFDFF9}, + [I(144,42)] = {X32,0xFFFFECF9}, + [I(145,42)] = {X32,0xFFFFEDF9}, + [I(146,42)] = {30,0x3FFFD7F9}, + [I(147,42)] = {31,0x7FFFE0F9}, + [I(148,42)] = {X32,0xFFFFEEF9}, + [I(149,42)] = {31,0x7FFFE1F9}, + [I(150,42)] = {31,0x7FFFE2F9}, + [I(151,42)] = {31,0x7FFFE3F9}, + [I(152,42)] = {31,0x7FFFE4F9}, + [I(153,42)] = {29,0x1FFFDCF9}, + [I(154,42)] = {30,0x3FFFD8F9}, + [I(155,42)] = {31,0x7FFFE5F9}, + [I(156,42)] = {30,0x3FFFD9F9}, + [I(157,42)] = {31,0x7FFFE6F9}, + [I(158,42)] = {31,0x7FFFE7F9}, + [I(159,42)] = {X32,0xFFFFEFF9}, + [I(160,42)] = {30,0x3FFFDAF9}, + [I(161,42)] = {29,0x1FFFDDF9}, + [I(162,42)] = {28,0xFFFE9F9}, + [I(163,42)] = {30,0x3FFFDBF9}, + [I(164,42)] = {30,0x3FFFDCF9}, + [I(165,42)] = {31,0x7FFFE8F9}, + [I(166,42)] = {31,0x7FFFE9F9}, + [I(167,42)] = {29,0x1FFFDEF9}, + [I(168,42)] = {31,0x7FFFEAF9}, + [I(169,42)] = {30,0x3FFFDDF9}, + [I(170,42)] = {30,0x3FFFDEF9}, + [I(171,42)] = {X32,0xFFFFF0F9}, + [I(172,42)] = {29,0x1FFFDFF9}, + [I(173,42)] = {30,0x3FFFDFF9}, + [I(174,42)] = {31,0x7FFFEBF9}, + [I(175,42)] = {31,0x7FFFECF9}, + [I(176,42)] = {29,0x1FFFE0F9}, + [I(177,42)] = {29,0x1FFFE1F9}, + [I(178,42)] = {30,0x3FFFE0F9}, + [I(179,42)] = {29,0x1FFFE2F9}, + [I(180,42)] = {31,0x7FFFEDF9}, + [I(181,42)] = {30,0x3FFFE1F9}, + [I(182,42)] = {31,0x7FFFEEF9}, + [I(183,42)] = {31,0x7FFFEFF9}, + [I(184,42)] = {28,0xFFFEAF9}, + [I(185,42)] = {30,0x3FFFE2F9}, + [I(186,42)] = {30,0x3FFFE3F9}, + [I(187,42)] = {30,0x3FFFE4F9}, + [I(188,42)] = {31,0x7FFFF0F9}, + [I(189,42)] = {30,0x3FFFE5F9}, + [I(190,42)] = {30,0x3FFFE6F9}, + [I(191,42)] = {31,0x7FFFF1F9}, + [I(192,42)] = {64,0}, + [I(193,42)] = {64,0}, + [I(194,42)] = {28,0xFFFEBF9}, + [I(195,42)] = {27,0x7FFF1F9}, + [I(196,42)] = {30,0x3FFFE7F9}, + [I(197,42)] = {31,0x7FFFF2F9}, + [I(198,42)] = {30,0x3FFFE8F9}, + [I(199,42)] = {64,0}, + [I(200,42)] = {64,0}, + [I(201,42)] = {64,0}, + [I(202,42)] = {64,0}, + [I(203,42)] = {64,0}, + [I(204,42)] = {64,0}, + [I(205,42)] = {64,0}, + [I(206,42)] = {X32,0xFFFFF1F9}, + [I(207,42)] = {64,0}, + [I(208,42)] = {27,0x7FFF2F9}, + [I(209,42)] = {29,0x1FFFE3F9}, + [I(210,42)] = {64,0}, + [I(211,42)] = {64,0}, + [I(212,42)] = {64,0}, + [I(213,42)] = {64,0}, + [I(214,42)] = {64,0}, + [I(215,42)] = {X32,0xFFFFF2F9}, + [I(216,42)] = {29,0x1FFFE4F9}, + [I(217,42)] = {29,0x1FFFE5F9}, + [I(218,42)] = {64,0}, + [I(219,42)] = {64,0}, + [I(220,42)] = {64,0}, + [I(221,42)] = {64,0}, + [I(222,42)] = {64,0}, + [I(223,42)] = {64,0}, + [I(224,42)] = {28,0xFFFECF9}, + [I(225,42)] = {X32,0xFFFFF3F9}, + [I(226,42)] = {28,0xFFFEDF9}, + [I(227,42)] = {29,0x1FFFE6F9}, + [I(228,42)] = {30,0x3FFFE9F9}, + [I(229,42)] = {29,0x1FFFE7F9}, + [I(230,42)] = {29,0x1FFFE8F9}, + [I(231,42)] = {31,0x7FFFF3F9}, + [I(232,42)] = {30,0x3FFFEAF9}, + [I(233,42)] = {30,0x3FFFEBF9}, + [I(234,42)] = {64,0}, + [I(235,42)] = {64,0}, + [I(236,42)] = {X32,0xFFFFF4F9}, + [I(237,42)] = {X32,0xFFFFF5F9}, + [I(238,42)] = {64,0}, + [I(239,42)] = {31,0x7FFFF4F9}, + [I(240,42)] = {64,0}, + [I(241,42)] = {64,0}, + [I(242,42)] = {64,0}, + [I(243,42)] = {64,0}, + [I(244,42)] = {64,0}, + [I(245,42)] = {64,0}, + [I(246,42)] = {64,0}, + [I(247,42)] = {64,0}, + [I(248,42)] = {64,0}, + [I(249,42)] = {64,0}, + [I(250,42)] = {64,0}, + [I(251,42)] = {64,0}, + [I(252,42)] = {64,0}, + [I(253,42)] = {64,0}, + [I(254,42)] = {64,0}, + [I(255,42)] = {64,0}, + [I(0,43)] = {24,0xFFC7FB}, + [I(1,43)] = {64,0}, + [I(2,43)] = {64,0}, + [I(3,43)] = {64,0}, + [I(4,43)] = {64,0}, + [I(5,43)] = {64,0}, + [I(6,43)] = {64,0}, + [I(7,43)] = {64,0}, + [I(8,43)] = {64,0}, + [I(9,43)] = {64,0}, + [I(10,43)] = {64,0}, + [I(11,43)] = {64,0}, + [I(12,43)] = {64,0}, + [I(13,43)] = {64,0}, + [I(14,43)] = {64,0}, + [I(15,43)] = {64,0}, + [I(16,43)] = {64,0}, + [I(17,43)] = {64,0}, + [I(18,43)] = {64,0}, + [I(19,43)] = {64,0}, + [I(20,43)] = {64,0}, + [I(21,43)] = {64,0}, + [I(22,43)] = {64,0}, + [I(23,43)] = {64,0}, + [I(24,43)] = {64,0}, + [I(25,43)] = {64,0}, + [I(26,43)] = {64,0}, + [I(27,43)] = {64,0}, + [I(28,43)] = {64,0}, + [I(29,43)] = {64,0}, + [I(30,43)] = {64,0}, + [I(31,43)] = {64,0}, + [I(32,43)] = {17,0xA7FB}, + [I(33,43)] = {21,0x1FC7FB}, + [I(34,43)] = {21,0x1FCFFB}, + [I(35,43)] = {23,0x7FD7FB}, + [I(36,43)] = {24,0xFFCFFB}, + [I(37,43)] = {17,0xAFFB}, + [I(38,43)] = {19,0x7C7FB}, + [I(39,43)] = {22,0x3FD7FB}, + [I(40,43)] = {21,0x1FD7FB}, + [I(41,43)] = {21,0x1FDFFB}, + [I(42,43)] = {19,0x7CFFB}, + [I(43,43)] = {22,0x3FDFFB}, + [I(44,43)] = {19,0x7D7FB}, + [I(45,43)] = {17,0xB7FB}, + [I(46,43)] = {17,0xBFFB}, + [I(47,43)] = {17,0xC7FB}, + [I(48,43)] = {16,0x7FB}, + [I(49,43)] = {16,0xFFB}, + [I(50,43)] = {16,0x17FB}, + [I(51,43)] = {17,0xCFFB}, + [I(52,43)] = {17,0xD7FB}, + [I(53,43)] = {17,0xDFFB}, + [I(54,43)] = {17,0xE7FB}, + [I(55,43)] = {17,0xEFFB}, + [I(56,43)] = {17,0xF7FB}, + [I(57,43)] = {17,0xFFFB}, + [I(58,43)] = {18,0x2E7FB}, + [I(59,43)] = {19,0x7DFFB}, + [I(60,43)] = {26,0x3FFE7FB}, + [I(61,43)] = {17,0x107FB}, + [I(62,43)] = {23,0x7FDFFB}, + [I(63,43)] = {21,0x1FE7FB}, + [I(64,43)] = {24,0xFFD7FB}, + [I(65,43)] = {17,0x10FFB}, + [I(66,43)] = {18,0x2EFFB}, + [I(67,43)] = {18,0x2F7FB}, + [I(68,43)] = {18,0x2FFFB}, + [I(69,43)] = {18,0x307FB}, + [I(70,43)] = {18,0x30FFB}, + [I(71,43)] = {18,0x317FB}, + [I(72,43)] = {18,0x31FFB}, + [I(73,43)] = {18,0x327FB}, + [I(74,43)] = {18,0x32FFB}, + [I(75,43)] = {18,0x337FB}, + [I(76,43)] = {18,0x33FFB}, + [I(77,43)] = {18,0x347FB}, + [I(78,43)] = {18,0x34FFB}, + [I(79,43)] = {18,0x357FB}, + [I(80,43)] = {18,0x35FFB}, + [I(81,43)] = {18,0x367FB}, + [I(82,43)] = {18,0x36FFB}, + [I(83,43)] = {18,0x377FB}, + [I(84,43)] = {18,0x37FFB}, + [I(85,43)] = {18,0x387FB}, + [I(86,43)] = {18,0x38FFB}, + [I(87,43)] = {18,0x397FB}, + [I(88,43)] = {19,0x7E7FB}, + [I(89,43)] = {18,0x39FFB}, + [I(90,43)] = {19,0x7EFFB}, + [I(91,43)] = {24,0xFFDFFB}, + [I(92,43)] = {30,0x3FFF87FB}, + [I(93,43)] = {24,0xFFE7FB}, + [I(94,43)] = {25,0x1FFE7FB}, + [I(95,43)] = {17,0x117FB}, + [I(96,43)] = {26,0x3FFEFFB}, + [I(97,43)] = {16,0x1FFB}, + [I(98,43)] = {17,0x11FFB}, + [I(99,43)] = {16,0x27FB}, + [I(100,43)] = {17,0x127FB}, + [I(101,43)] = {16,0x2FFB}, + [I(102,43)] = {17,0x12FFB}, + [I(103,43)] = {17,0x137FB}, + [I(104,43)] = {17,0x13FFB}, + [I(105,43)] = {16,0x37FB}, + [I(106,43)] = {18,0x3A7FB}, + [I(107,43)] = {18,0x3AFFB}, + [I(108,43)] = {17,0x147FB}, + [I(109,43)] = {17,0x14FFB}, + [I(110,43)] = {17,0x157FB}, + [I(111,43)] = {16,0x3FFB}, + [I(112,43)] = {17,0x15FFB}, + [I(113,43)] = {18,0x3B7FB}, + [I(114,43)] = {17,0x167FB}, + [I(115,43)] = {16,0x47FB}, + [I(116,43)] = {16,0x4FFB}, + [I(117,43)] = {17,0x16FFB}, + [I(118,43)] = {18,0x3BFFB}, + [I(119,43)] = {18,0x3C7FB}, + [I(120,43)] = {18,0x3CFFB}, + [I(121,43)] = {18,0x3D7FB}, + [I(122,43)] = {18,0x3DFFB}, + [I(123,43)] = {26,0x3FFF7FB}, + [I(124,43)] = {22,0x3FE7FB}, + [I(125,43)] = {25,0x1FFEFFB}, + [I(126,43)] = {24,0xFFEFFB}, + [I(127,43)] = {64,0}, + [I(128,43)] = {31,0x7FFF37FB}, + [I(129,43)] = {64,0}, + [I(130,43)] = {31,0x7FFF3FFB}, + [I(131,43)] = {31,0x7FFF47FB}, + [I(132,43)] = {64,0}, + [I(133,43)] = {64,0}, + [I(134,43)] = {64,0}, + [I(135,43)] = {64,0}, + [I(136,43)] = {64,0}, + [I(137,43)] = {64,0}, + [I(138,43)] = {64,0}, + [I(139,43)] = {64,0}, + [I(140,43)] = {64,0}, + [I(141,43)] = {64,0}, + [I(142,43)] = {64,0}, + [I(143,43)] = {64,0}, + [I(144,43)] = {64,0}, + [I(145,43)] = {64,0}, + [I(146,43)] = {64,0}, + [I(147,43)] = {64,0}, + [I(148,43)] = {64,0}, + [I(149,43)] = {64,0}, + [I(150,43)] = {64,0}, + [I(151,43)] = {64,0}, + [I(152,43)] = {64,0}, + [I(153,43)] = {X32,0xFFFEE7FB}, + [I(154,43)] = {64,0}, + [I(155,43)] = {64,0}, + [I(156,43)] = {64,0}, + [I(157,43)] = {64,0}, + [I(158,43)] = {64,0}, + [I(159,43)] = {64,0}, + [I(160,43)] = {64,0}, + [I(161,43)] = {X32,0xFFFEEFFB}, + [I(162,43)] = {31,0x7FFF4FFB}, + [I(163,43)] = {64,0}, + [I(164,43)] = {64,0}, + [I(165,43)] = {64,0}, + [I(166,43)] = {64,0}, + [I(167,43)] = {X32,0xFFFEF7FB}, + [I(168,43)] = {64,0}, + [I(169,43)] = {64,0}, + [I(170,43)] = {64,0}, + [I(171,43)] = {64,0}, + [I(172,43)] = {X32,0xFFFEFFFB}, + [I(173,43)] = {64,0}, + [I(174,43)] = {64,0}, + [I(175,43)] = {64,0}, + [I(176,43)] = {X32,0xFFFF07FB}, + [I(177,43)] = {X32,0xFFFF0FFB}, + [I(178,43)] = {64,0}, + [I(179,43)] = {X32,0xFFFF17FB}, + [I(180,43)] = {64,0}, + [I(181,43)] = {64,0}, + [I(182,43)] = {64,0}, + [I(183,43)] = {64,0}, + [I(184,43)] = {31,0x7FFF57FB}, + [I(185,43)] = {64,0}, + [I(186,43)] = {64,0}, + [I(187,43)] = {64,0}, + [I(188,43)] = {64,0}, + [I(189,43)] = {64,0}, + [I(190,43)] = {64,0}, + [I(191,43)] = {64,0}, + [I(192,43)] = {64,0}, + [I(193,43)] = {64,0}, + [I(194,43)] = {31,0x7FFF5FFB}, + [I(195,43)] = {30,0x3FFF8FFB}, + [I(196,43)] = {64,0}, + [I(197,43)] = {64,0}, + [I(198,43)] = {64,0}, + [I(199,43)] = {64,0}, + [I(200,43)] = {64,0}, + [I(201,43)] = {64,0}, + [I(202,43)] = {64,0}, + [I(203,43)] = {64,0}, + [I(204,43)] = {64,0}, + [I(205,43)] = {64,0}, + [I(206,43)] = {64,0}, + [I(207,43)] = {64,0}, + [I(208,43)] = {30,0x3FFF97FB}, + [I(209,43)] = {X32,0xFFFF1FFB}, + [I(210,43)] = {64,0}, + [I(211,43)] = {64,0}, + [I(212,43)] = {64,0}, + [I(213,43)] = {64,0}, + [I(214,43)] = {64,0}, + [I(215,43)] = {64,0}, + [I(216,43)] = {X32,0xFFFF27FB}, + [I(217,43)] = {X32,0xFFFF2FFB}, + [I(218,43)] = {64,0}, + [I(219,43)] = {64,0}, + [I(220,43)] = {64,0}, + [I(221,43)] = {64,0}, + [I(222,43)] = {64,0}, + [I(223,43)] = {64,0}, + [I(224,43)] = {31,0x7FFF67FB}, + [I(225,43)] = {64,0}, + [I(226,43)] = {31,0x7FFF6FFB}, + [I(227,43)] = {X32,0xFFFF37FB}, + [I(228,43)] = {64,0}, + [I(229,43)] = {X32,0xFFFF3FFB}, + [I(230,43)] = {X32,0xFFFF47FB}, + [I(231,43)] = {64,0}, + [I(232,43)] = {64,0}, + [I(233,43)] = {64,0}, + [I(234,43)] = {64,0}, + [I(235,43)] = {64,0}, + [I(236,43)] = {64,0}, + [I(237,43)] = {64,0}, + [I(238,43)] = {64,0}, + [I(239,43)] = {64,0}, + [I(240,43)] = {64,0}, + [I(241,43)] = {64,0}, + [I(242,43)] = {64,0}, + [I(243,43)] = {64,0}, + [I(244,43)] = {64,0}, + [I(245,43)] = {64,0}, + [I(246,43)] = {64,0}, + [I(247,43)] = {64,0}, + [I(248,43)] = {64,0}, + [I(249,43)] = {64,0}, + [I(250,43)] = {64,0}, + [I(251,43)] = {64,0}, + [I(252,43)] = {64,0}, + [I(253,43)] = {64,0}, + [I(254,43)] = {64,0}, + [I(255,43)] = {64,0}, + [I(0,44)] = {21,0x1FF8FA}, + [I(1,44)] = {31,0x7FFFD8FA}, + [I(2,44)] = {64,0}, + [I(3,44)] = {64,0}, + [I(4,44)] = {64,0}, + [I(5,44)] = {64,0}, + [I(6,44)] = {64,0}, + [I(7,44)] = {64,0}, + [I(8,44)] = {64,0}, + [I(9,44)] = {X32,0xFFFFEAFA}, + [I(10,44)] = {64,0}, + [I(11,44)] = {64,0}, + [I(12,44)] = {64,0}, + [I(13,44)] = {64,0}, + [I(14,44)] = {64,0}, + [I(15,44)] = {64,0}, + [I(16,44)] = {64,0}, + [I(17,44)] = {64,0}, + [I(18,44)] = {64,0}, + [I(19,44)] = {64,0}, + [I(20,44)] = {64,0}, + [I(21,44)] = {64,0}, + [I(22,44)] = {64,0}, + [I(23,44)] = {64,0}, + [I(24,44)] = {64,0}, + [I(25,44)] = {64,0}, + [I(26,44)] = {64,0}, + [I(27,44)] = {64,0}, + [I(28,44)] = {64,0}, + [I(29,44)] = {64,0}, + [I(30,44)] = {64,0}, + [I(31,44)] = {64,0}, + [I(32,44)] = {14,0x14FA}, + [I(33,44)] = {18,0x3F8FA}, + [I(34,44)] = {18,0x3F9FA}, + [I(35,44)] = {20,0xFFAFA}, + [I(36,44)] = {21,0x1FF9FA}, + [I(37,44)] = {14,0x15FA}, + [I(38,44)] = {16,0xF8FA}, + [I(39,44)] = {19,0x7FAFA}, + [I(40,44)] = {18,0x3FAFA}, + [I(41,44)] = {18,0x3FBFA}, + [I(42,44)] = {16,0xF9FA}, + [I(43,44)] = {19,0x7FBFA}, + [I(44,44)] = {16,0xFAFA}, + [I(45,44)] = {14,0x16FA}, + [I(46,44)] = {14,0x17FA}, + [I(47,44)] = {14,0x18FA}, + [I(48,44)] = {13,0xFA}, + [I(49,44)] = {13,0x1FA}, + [I(50,44)] = {13,0x2FA}, + [I(51,44)] = {14,0x19FA}, + [I(52,44)] = {14,0x1AFA}, + [I(53,44)] = {14,0x1BFA}, + [I(54,44)] = {14,0x1CFA}, + [I(55,44)] = {14,0x1DFA}, + [I(56,44)] = {14,0x1EFA}, + [I(57,44)] = {14,0x1FFA}, + [I(58,44)] = {15,0x5CFA}, + [I(59,44)] = {16,0xFBFA}, + [I(60,44)] = {23,0x7FFCFA}, + [I(61,44)] = {14,0x20FA}, + [I(62,44)] = {20,0xFFBFA}, + [I(63,44)] = {18,0x3FCFA}, + [I(64,44)] = {21,0x1FFAFA}, + [I(65,44)] = {14,0x21FA}, + [I(66,44)] = {15,0x5DFA}, + [I(67,44)] = {15,0x5EFA}, + [I(68,44)] = {15,0x5FFA}, + [I(69,44)] = {15,0x60FA}, + [I(70,44)] = {15,0x61FA}, + [I(71,44)] = {15,0x62FA}, + [I(72,44)] = {15,0x63FA}, + [I(73,44)] = {15,0x64FA}, + [I(74,44)] = {15,0x65FA}, + [I(75,44)] = {15,0x66FA}, + [I(76,44)] = {15,0x67FA}, + [I(77,44)] = {15,0x68FA}, + [I(78,44)] = {15,0x69FA}, + [I(79,44)] = {15,0x6AFA}, + [I(80,44)] = {15,0x6BFA}, + [I(81,44)] = {15,0x6CFA}, + [I(82,44)] = {15,0x6DFA}, + [I(83,44)] = {15,0x6EFA}, + [I(84,44)] = {15,0x6FFA}, + [I(85,44)] = {15,0x70FA}, + [I(86,44)] = {15,0x71FA}, + [I(87,44)] = {15,0x72FA}, + [I(88,44)] = {16,0xFCFA}, + [I(89,44)] = {15,0x73FA}, + [I(90,44)] = {16,0xFDFA}, + [I(91,44)] = {21,0x1FFBFA}, + [I(92,44)] = {27,0x7FFF0FA}, + [I(93,44)] = {21,0x1FFCFA}, + [I(94,44)] = {22,0x3FFCFA}, + [I(95,44)] = {14,0x22FA}, + [I(96,44)] = {23,0x7FFDFA}, + [I(97,44)] = {13,0x3FA}, + [I(98,44)] = {14,0x23FA}, + [I(99,44)] = {13,0x4FA}, + [I(100,44)] = {14,0x24FA}, + [I(101,44)] = {13,0x5FA}, + [I(102,44)] = {14,0x25FA}, + [I(103,44)] = {14,0x26FA}, + [I(104,44)] = {14,0x27FA}, + [I(105,44)] = {13,0x6FA}, + [I(106,44)] = {15,0x74FA}, + [I(107,44)] = {15,0x75FA}, + [I(108,44)] = {14,0x28FA}, + [I(109,44)] = {14,0x29FA}, + [I(110,44)] = {14,0x2AFA}, + [I(111,44)] = {13,0x7FA}, + [I(112,44)] = {14,0x2BFA}, + [I(113,44)] = {15,0x76FA}, + [I(114,44)] = {14,0x2CFA}, + [I(115,44)] = {13,0x8FA}, + [I(116,44)] = {13,0x9FA}, + [I(117,44)] = {14,0x2DFA}, + [I(118,44)] = {15,0x77FA}, + [I(119,44)] = {15,0x78FA}, + [I(120,44)] = {15,0x79FA}, + [I(121,44)] = {15,0x7AFA}, + [I(122,44)] = {15,0x7BFA}, + [I(123,44)] = {23,0x7FFEFA}, + [I(124,44)] = {19,0x7FCFA}, + [I(125,44)] = {22,0x3FFDFA}, + [I(126,44)] = {21,0x1FFDFA}, + [I(127,44)] = {64,0}, + [I(128,44)] = {28,0xFFFE6FA}, + [I(129,44)] = {30,0x3FFFD2FA}, + [I(130,44)] = {28,0xFFFE7FA}, + [I(131,44)] = {28,0xFFFE8FA}, + [I(132,44)] = {30,0x3FFFD3FA}, + [I(133,44)] = {30,0x3FFFD4FA}, + [I(134,44)] = {30,0x3FFFD5FA}, + [I(135,44)] = {31,0x7FFFD9FA}, + [I(136,44)] = {30,0x3FFFD6FA}, + [I(137,44)] = {31,0x7FFFDAFA}, + [I(138,44)] = {31,0x7FFFDBFA}, + [I(139,44)] = {31,0x7FFFDCFA}, + [I(140,44)] = {31,0x7FFFDDFA}, + [I(141,44)] = {31,0x7FFFDEFA}, + [I(142,44)] = {X32,0xFFFFEBFA}, + [I(143,44)] = {31,0x7FFFDFFA}, + [I(144,44)] = {X32,0xFFFFECFA}, + [I(145,44)] = {X32,0xFFFFEDFA}, + [I(146,44)] = {30,0x3FFFD7FA}, + [I(147,44)] = {31,0x7FFFE0FA}, + [I(148,44)] = {X32,0xFFFFEEFA}, + [I(149,44)] = {31,0x7FFFE1FA}, + [I(150,44)] = {31,0x7FFFE2FA}, + [I(151,44)] = {31,0x7FFFE3FA}, + [I(152,44)] = {31,0x7FFFE4FA}, + [I(153,44)] = {29,0x1FFFDCFA}, + [I(154,44)] = {30,0x3FFFD8FA}, + [I(155,44)] = {31,0x7FFFE5FA}, + [I(156,44)] = {30,0x3FFFD9FA}, + [I(157,44)] = {31,0x7FFFE6FA}, + [I(158,44)] = {31,0x7FFFE7FA}, + [I(159,44)] = {X32,0xFFFFEFFA}, + [I(160,44)] = {30,0x3FFFDAFA}, + [I(161,44)] = {29,0x1FFFDDFA}, + [I(162,44)] = {28,0xFFFE9FA}, + [I(163,44)] = {30,0x3FFFDBFA}, + [I(164,44)] = {30,0x3FFFDCFA}, + [I(165,44)] = {31,0x7FFFE8FA}, + [I(166,44)] = {31,0x7FFFE9FA}, + [I(167,44)] = {29,0x1FFFDEFA}, + [I(168,44)] = {31,0x7FFFEAFA}, + [I(169,44)] = {30,0x3FFFDDFA}, + [I(170,44)] = {30,0x3FFFDEFA}, + [I(171,44)] = {X32,0xFFFFF0FA}, + [I(172,44)] = {29,0x1FFFDFFA}, + [I(173,44)] = {30,0x3FFFDFFA}, + [I(174,44)] = {31,0x7FFFEBFA}, + [I(175,44)] = {31,0x7FFFECFA}, + [I(176,44)] = {29,0x1FFFE0FA}, + [I(177,44)] = {29,0x1FFFE1FA}, + [I(178,44)] = {30,0x3FFFE0FA}, + [I(179,44)] = {29,0x1FFFE2FA}, + [I(180,44)] = {31,0x7FFFEDFA}, + [I(181,44)] = {30,0x3FFFE1FA}, + [I(182,44)] = {31,0x7FFFEEFA}, + [I(183,44)] = {31,0x7FFFEFFA}, + [I(184,44)] = {28,0xFFFEAFA}, + [I(185,44)] = {30,0x3FFFE2FA}, + [I(186,44)] = {30,0x3FFFE3FA}, + [I(187,44)] = {30,0x3FFFE4FA}, + [I(188,44)] = {31,0x7FFFF0FA}, + [I(189,44)] = {30,0x3FFFE5FA}, + [I(190,44)] = {30,0x3FFFE6FA}, + [I(191,44)] = {31,0x7FFFF1FA}, + [I(192,44)] = {64,0}, + [I(193,44)] = {64,0}, + [I(194,44)] = {28,0xFFFEBFA}, + [I(195,44)] = {27,0x7FFF1FA}, + [I(196,44)] = {30,0x3FFFE7FA}, + [I(197,44)] = {31,0x7FFFF2FA}, + [I(198,44)] = {30,0x3FFFE8FA}, + [I(199,44)] = {64,0}, + [I(200,44)] = {64,0}, + [I(201,44)] = {64,0}, + [I(202,44)] = {64,0}, + [I(203,44)] = {64,0}, + [I(204,44)] = {64,0}, + [I(205,44)] = {64,0}, + [I(206,44)] = {X32,0xFFFFF1FA}, + [I(207,44)] = {64,0}, + [I(208,44)] = {27,0x7FFF2FA}, + [I(209,44)] = {29,0x1FFFE3FA}, + [I(210,44)] = {64,0}, + [I(211,44)] = {64,0}, + [I(212,44)] = {64,0}, + [I(213,44)] = {64,0}, + [I(214,44)] = {64,0}, + [I(215,44)] = {X32,0xFFFFF2FA}, + [I(216,44)] = {29,0x1FFFE4FA}, + [I(217,44)] = {29,0x1FFFE5FA}, + [I(218,44)] = {64,0}, + [I(219,44)] = {64,0}, + [I(220,44)] = {64,0}, + [I(221,44)] = {64,0}, + [I(222,44)] = {64,0}, + [I(223,44)] = {64,0}, + [I(224,44)] = {28,0xFFFECFA}, + [I(225,44)] = {X32,0xFFFFF3FA}, + [I(226,44)] = {28,0xFFFEDFA}, + [I(227,44)] = {29,0x1FFFE6FA}, + [I(228,44)] = {30,0x3FFFE9FA}, + [I(229,44)] = {29,0x1FFFE7FA}, + [I(230,44)] = {29,0x1FFFE8FA}, + [I(231,44)] = {31,0x7FFFF3FA}, + [I(232,44)] = {30,0x3FFFEAFA}, + [I(233,44)] = {30,0x3FFFEBFA}, + [I(234,44)] = {64,0}, + [I(235,44)] = {64,0}, + [I(236,44)] = {X32,0xFFFFF4FA}, + [I(237,44)] = {X32,0xFFFFF5FA}, + [I(238,44)] = {64,0}, + [I(239,44)] = {31,0x7FFFF4FA}, + [I(240,44)] = {64,0}, + [I(241,44)] = {64,0}, + [I(242,44)] = {64,0}, + [I(243,44)] = {64,0}, + [I(244,44)] = {64,0}, + [I(245,44)] = {64,0}, + [I(246,44)] = {64,0}, + [I(247,44)] = {64,0}, + [I(248,44)] = {64,0}, + [I(249,44)] = {64,0}, + [I(250,44)] = {64,0}, + [I(251,44)] = {64,0}, + [I(252,44)] = {64,0}, + [I(253,44)] = {64,0}, + [I(254,44)] = {64,0}, + [I(255,44)] = {64,0}, + [I(0,45)] = {19,0x7FE16}, + [I(1,45)] = {29,0x1FFFF616}, + [I(2,45)] = {64,0}, + [I(3,45)] = {64,0}, + [I(4,45)] = {64,0}, + [I(5,45)] = {64,0}, + [I(6,45)] = {64,0}, + [I(7,45)] = {64,0}, + [I(8,45)] = {64,0}, + [I(9,45)] = {30,0x3FFFFA96}, + [I(10,45)] = {64,0}, + [I(11,45)] = {64,0}, + [I(12,45)] = {64,0}, + [I(13,45)] = {64,0}, + [I(14,45)] = {64,0}, + [I(15,45)] = {64,0}, + [I(16,45)] = {64,0}, + [I(17,45)] = {64,0}, + [I(18,45)] = {64,0}, + [I(19,45)] = {64,0}, + [I(20,45)] = {64,0}, + [I(21,45)] = {64,0}, + [I(22,45)] = {64,0}, + [I(23,45)] = {64,0}, + [I(24,45)] = {64,0}, + [I(25,45)] = {64,0}, + [I(26,45)] = {64,0}, + [I(27,45)] = {64,0}, + [I(28,45)] = {64,0}, + [I(29,45)] = {64,0}, + [I(30,45)] = {64,0}, + [I(31,45)] = {64,0}, + [I(32,45)] = {12,0x516}, + [I(33,45)] = {16,0xFE16}, + [I(34,45)] = {16,0xFE56}, + [I(35,45)] = {18,0x3FE96}, + [I(36,45)] = {19,0x7FE56}, + [I(37,45)] = {12,0x556}, + [I(38,45)] = {14,0x3E16}, + [I(39,45)] = {17,0x1FE96}, + [I(40,45)] = {16,0xFE96}, + [I(41,45)] = {16,0xFED6}, + [I(42,45)] = {14,0x3E56}, + [I(43,45)] = {17,0x1FED6}, + [I(44,45)] = {14,0x3E96}, + [I(45,45)] = {12,0x596}, + [I(46,45)] = {12,0x5D6}, + [I(47,45)] = {12,0x616}, + [I(48,45)] = {11,0x16}, + [I(49,45)] = {11,0x56}, + [I(50,45)] = {11,0x96}, + [I(51,45)] = {12,0x656}, + [I(52,45)] = {12,0x696}, + [I(53,45)] = {12,0x6D6}, + [I(54,45)] = {12,0x716}, + [I(55,45)] = {12,0x756}, + [I(56,45)] = {12,0x796}, + [I(57,45)] = {12,0x7D6}, + [I(58,45)] = {13,0x1716}, + [I(59,45)] = {14,0x3ED6}, + [I(60,45)] = {21,0x1FFF16}, + [I(61,45)] = {12,0x816}, + [I(62,45)] = {18,0x3FED6}, + [I(63,45)] = {16,0xFF16}, + [I(64,45)] = {19,0x7FE96}, + [I(65,45)] = {12,0x856}, + [I(66,45)] = {13,0x1756}, + [I(67,45)] = {13,0x1796}, + [I(68,45)] = {13,0x17D6}, + [I(69,45)] = {13,0x1816}, + [I(70,45)] = {13,0x1856}, + [I(71,45)] = {13,0x1896}, + [I(72,45)] = {13,0x18D6}, + [I(73,45)] = {13,0x1916}, + [I(74,45)] = {13,0x1956}, + [I(75,45)] = {13,0x1996}, + [I(76,45)] = {13,0x19D6}, + [I(77,45)] = {13,0x1A16}, + [I(78,45)] = {13,0x1A56}, + [I(79,45)] = {13,0x1A96}, + [I(80,45)] = {13,0x1AD6}, + [I(81,45)] = {13,0x1B16}, + [I(82,45)] = {13,0x1B56}, + [I(83,45)] = {13,0x1B96}, + [I(84,45)] = {13,0x1BD6}, + [I(85,45)] = {13,0x1C16}, + [I(86,45)] = {13,0x1C56}, + [I(87,45)] = {13,0x1C96}, + [I(88,45)] = {14,0x3F16}, + [I(89,45)] = {13,0x1CD6}, + [I(90,45)] = {14,0x3F56}, + [I(91,45)] = {19,0x7FED6}, + [I(92,45)] = {25,0x1FFFC16}, + [I(93,45)] = {19,0x7FF16}, + [I(94,45)] = {20,0xFFF16}, + [I(95,45)] = {12,0x896}, + [I(96,45)] = {21,0x1FFF56}, + [I(97,45)] = {11,0xD6}, + [I(98,45)] = {12,0x8D6}, + [I(99,45)] = {11,0x116}, + [I(100,45)] = {12,0x916}, + [I(101,45)] = {11,0x156}, + [I(102,45)] = {12,0x956}, + [I(103,45)] = {12,0x996}, + [I(104,45)] = {12,0x9D6}, + [I(105,45)] = {11,0x196}, + [I(106,45)] = {13,0x1D16}, + [I(107,45)] = {13,0x1D56}, + [I(108,45)] = {12,0xA16}, + [I(109,45)] = {12,0xA56}, + [I(110,45)] = {12,0xA96}, + [I(111,45)] = {11,0x1D6}, + [I(112,45)] = {12,0xAD6}, + [I(113,45)] = {13,0x1D96}, + [I(114,45)] = {12,0xB16}, + [I(115,45)] = {11,0x216}, + [I(116,45)] = {11,0x256}, + [I(117,45)] = {12,0xB56}, + [I(118,45)] = {13,0x1DD6}, + [I(119,45)] = {13,0x1E16}, + [I(120,45)] = {13,0x1E56}, + [I(121,45)] = {13,0x1E96}, + [I(122,45)] = {13,0x1ED6}, + [I(123,45)] = {21,0x1FFF96}, + [I(124,45)] = {17,0x1FF16}, + [I(125,45)] = {20,0xFFF56}, + [I(126,45)] = {19,0x7FF56}, + [I(127,45)] = {64,0}, + [I(128,45)] = {26,0x3FFF996}, + [I(129,45)] = {28,0xFFFF496}, + [I(130,45)] = {26,0x3FFF9D6}, + [I(131,45)] = {26,0x3FFFA16}, + [I(132,45)] = {28,0xFFFF4D6}, + [I(133,45)] = {28,0xFFFF516}, + [I(134,45)] = {28,0xFFFF556}, + [I(135,45)] = {29,0x1FFFF656}, + [I(136,45)] = {28,0xFFFF596}, + [I(137,45)] = {29,0x1FFFF696}, + [I(138,45)] = {29,0x1FFFF6D6}, + [I(139,45)] = {29,0x1FFFF716}, + [I(140,45)] = {29,0x1FFFF756}, + [I(141,45)] = {29,0x1FFFF796}, + [I(142,45)] = {30,0x3FFFFAD6}, + [I(143,45)] = {29,0x1FFFF7D6}, + [I(144,45)] = {30,0x3FFFFB16}, + [I(145,45)] = {30,0x3FFFFB56}, + [I(146,45)] = {28,0xFFFF5D6}, + [I(147,45)] = {29,0x1FFFF816}, + [I(148,45)] = {30,0x3FFFFB96}, + [I(149,45)] = {29,0x1FFFF856}, + [I(150,45)] = {29,0x1FFFF896}, + [I(151,45)] = {29,0x1FFFF8D6}, + [I(152,45)] = {29,0x1FFFF916}, + [I(153,45)] = {27,0x7FFF716}, + [I(154,45)] = {28,0xFFFF616}, + [I(155,45)] = {29,0x1FFFF956}, + [I(156,45)] = {28,0xFFFF656}, + [I(157,45)] = {29,0x1FFFF996}, + [I(158,45)] = {29,0x1FFFF9D6}, + [I(159,45)] = {30,0x3FFFFBD6}, + [I(160,45)] = {28,0xFFFF696}, + [I(161,45)] = {27,0x7FFF756}, + [I(162,45)] = {26,0x3FFFA56}, + [I(163,45)] = {28,0xFFFF6D6}, + [I(164,45)] = {28,0xFFFF716}, + [I(165,45)] = {29,0x1FFFFA16}, + [I(166,45)] = {29,0x1FFFFA56}, + [I(167,45)] = {27,0x7FFF796}, + [I(168,45)] = {29,0x1FFFFA96}, + [I(169,45)] = {28,0xFFFF756}, + [I(170,45)] = {28,0xFFFF796}, + [I(171,45)] = {30,0x3FFFFC16}, + [I(172,45)] = {27,0x7FFF7D6}, + [I(173,45)] = {28,0xFFFF7D6}, + [I(174,45)] = {29,0x1FFFFAD6}, + [I(175,45)] = {29,0x1FFFFB16}, + [I(176,45)] = {27,0x7FFF816}, + [I(177,45)] = {27,0x7FFF856}, + [I(178,45)] = {28,0xFFFF816}, + [I(179,45)] = {27,0x7FFF896}, + [I(180,45)] = {29,0x1FFFFB56}, + [I(181,45)] = {28,0xFFFF856}, + [I(182,45)] = {29,0x1FFFFB96}, + [I(183,45)] = {29,0x1FFFFBD6}, + [I(184,45)] = {26,0x3FFFA96}, + [I(185,45)] = {28,0xFFFF896}, + [I(186,45)] = {28,0xFFFF8D6}, + [I(187,45)] = {28,0xFFFF916}, + [I(188,45)] = {29,0x1FFFFC16}, + [I(189,45)] = {28,0xFFFF956}, + [I(190,45)] = {28,0xFFFF996}, + [I(191,45)] = {29,0x1FFFFC56}, + [I(192,45)] = {X32,0xFFFFF816}, + [I(193,45)] = {X32,0xFFFFF856}, + [I(194,45)] = {26,0x3FFFAD6}, + [I(195,45)] = {25,0x1FFFC56}, + [I(196,45)] = {28,0xFFFF9D6}, + [I(197,45)] = {29,0x1FFFFC96}, + [I(198,45)] = {28,0xFFFFA16}, + [I(199,45)] = {31,0x7FFFFB16}, + [I(200,45)] = {X32,0xFFFFF896}, + [I(201,45)] = {X32,0xFFFFF8D6}, + [I(202,45)] = {X32,0xFFFFF916}, + [I(203,45)] = {64,0}, + [I(204,45)] = {64,0}, + [I(205,45)] = {X32,0xFFFFF956}, + [I(206,45)] = {30,0x3FFFFC56}, + [I(207,45)] = {31,0x7FFFFB56}, + [I(208,45)] = {25,0x1FFFC96}, + [I(209,45)] = {27,0x7FFF8D6}, + [I(210,45)] = {X32,0xFFFFF996}, + [I(211,45)] = {64,0}, + [I(212,45)] = {64,0}, + [I(213,45)] = {X32,0xFFFFF9D6}, + [I(214,45)] = {64,0}, + [I(215,45)] = {30,0x3FFFFC96}, + [I(216,45)] = {27,0x7FFF916}, + [I(217,45)] = {27,0x7FFF956}, + [I(218,45)] = {X32,0xFFFFFA16}, + [I(219,45)] = {X32,0xFFFFFA56}, + [I(220,45)] = {64,0}, + [I(221,45)] = {64,0}, + [I(222,45)] = {64,0}, + [I(223,45)] = {64,0}, + [I(224,45)] = {26,0x3FFFB16}, + [I(225,45)] = {30,0x3FFFFCD6}, + [I(226,45)] = {26,0x3FFFB56}, + [I(227,45)] = {27,0x7FFF996}, + [I(228,45)] = {28,0xFFFFA56}, + [I(229,45)] = {27,0x7FFF9D6}, + [I(230,45)] = {27,0x7FFFA16}, + [I(231,45)] = {29,0x1FFFFCD6}, + [I(232,45)] = {28,0xFFFFA96}, + [I(233,45)] = {28,0xFFFFAD6}, + [I(234,45)] = {31,0x7FFFFB96}, + [I(235,45)] = {31,0x7FFFFBD6}, + [I(236,45)] = {30,0x3FFFFD16}, + [I(237,45)] = {30,0x3FFFFD56}, + [I(238,45)] = {X32,0xFFFFFA96}, + [I(239,45)] = {29,0x1FFFFD16}, + [I(240,45)] = {X32,0xFFFFFAD6}, + [I(241,45)] = {64,0}, + [I(242,45)] = {X32,0xFFFFFB16}, + [I(243,45)] = {X32,0xFFFFFB56}, + [I(244,45)] = {64,0}, + [I(245,45)] = {64,0}, + [I(246,45)] = {64,0}, + [I(247,45)] = {64,0}, + [I(248,45)] = {64,0}, + [I(249,45)] = {64,0}, + [I(250,45)] = {64,0}, + [I(251,45)] = {64,0}, + [I(252,45)] = {64,0}, + [I(253,45)] = {64,0}, + [I(254,45)] = {64,0}, + [I(255,45)] = {X32,0xFFFFFB96}, + [I(0,46)] = {19,0x7FE17}, + [I(1,46)] = {29,0x1FFFF617}, + [I(2,46)] = {64,0}, + [I(3,46)] = {64,0}, + [I(4,46)] = {64,0}, + [I(5,46)] = {64,0}, + [I(6,46)] = {64,0}, + [I(7,46)] = {64,0}, + [I(8,46)] = {64,0}, + [I(9,46)] = {30,0x3FFFFA97}, + [I(10,46)] = {64,0}, + [I(11,46)] = {64,0}, + [I(12,46)] = {64,0}, + [I(13,46)] = {64,0}, + [I(14,46)] = {64,0}, + [I(15,46)] = {64,0}, + [I(16,46)] = {64,0}, + [I(17,46)] = {64,0}, + [I(18,46)] = {64,0}, + [I(19,46)] = {64,0}, + [I(20,46)] = {64,0}, + [I(21,46)] = {64,0}, + [I(22,46)] = {64,0}, + [I(23,46)] = {64,0}, + [I(24,46)] = {64,0}, + [I(25,46)] = {64,0}, + [I(26,46)] = {64,0}, + [I(27,46)] = {64,0}, + [I(28,46)] = {64,0}, + [I(29,46)] = {64,0}, + [I(30,46)] = {64,0}, + [I(31,46)] = {64,0}, + [I(32,46)] = {12,0x517}, + [I(33,46)] = {16,0xFE17}, + [I(34,46)] = {16,0xFE57}, + [I(35,46)] = {18,0x3FE97}, + [I(36,46)] = {19,0x7FE57}, + [I(37,46)] = {12,0x557}, + [I(38,46)] = {14,0x3E17}, + [I(39,46)] = {17,0x1FE97}, + [I(40,46)] = {16,0xFE97}, + [I(41,46)] = {16,0xFED7}, + [I(42,46)] = {14,0x3E57}, + [I(43,46)] = {17,0x1FED7}, + [I(44,46)] = {14,0x3E97}, + [I(45,46)] = {12,0x597}, + [I(46,46)] = {12,0x5D7}, + [I(47,46)] = {12,0x617}, + [I(48,46)] = {11,0x17}, + [I(49,46)] = {11,0x57}, + [I(50,46)] = {11,0x97}, + [I(51,46)] = {12,0x657}, + [I(52,46)] = {12,0x697}, + [I(53,46)] = {12,0x6D7}, + [I(54,46)] = {12,0x717}, + [I(55,46)] = {12,0x757}, + [I(56,46)] = {12,0x797}, + [I(57,46)] = {12,0x7D7}, + [I(58,46)] = {13,0x1717}, + [I(59,46)] = {14,0x3ED7}, + [I(60,46)] = {21,0x1FFF17}, + [I(61,46)] = {12,0x817}, + [I(62,46)] = {18,0x3FED7}, + [I(63,46)] = {16,0xFF17}, + [I(64,46)] = {19,0x7FE97}, + [I(65,46)] = {12,0x857}, + [I(66,46)] = {13,0x1757}, + [I(67,46)] = {13,0x1797}, + [I(68,46)] = {13,0x17D7}, + [I(69,46)] = {13,0x1817}, + [I(70,46)] = {13,0x1857}, + [I(71,46)] = {13,0x1897}, + [I(72,46)] = {13,0x18D7}, + [I(73,46)] = {13,0x1917}, + [I(74,46)] = {13,0x1957}, + [I(75,46)] = {13,0x1997}, + [I(76,46)] = {13,0x19D7}, + [I(77,46)] = {13,0x1A17}, + [I(78,46)] = {13,0x1A57}, + [I(79,46)] = {13,0x1A97}, + [I(80,46)] = {13,0x1AD7}, + [I(81,46)] = {13,0x1B17}, + [I(82,46)] = {13,0x1B57}, + [I(83,46)] = {13,0x1B97}, + [I(84,46)] = {13,0x1BD7}, + [I(85,46)] = {13,0x1C17}, + [I(86,46)] = {13,0x1C57}, + [I(87,46)] = {13,0x1C97}, + [I(88,46)] = {14,0x3F17}, + [I(89,46)] = {13,0x1CD7}, + [I(90,46)] = {14,0x3F57}, + [I(91,46)] = {19,0x7FED7}, + [I(92,46)] = {25,0x1FFFC17}, + [I(93,46)] = {19,0x7FF17}, + [I(94,46)] = {20,0xFFF17}, + [I(95,46)] = {12,0x897}, + [I(96,46)] = {21,0x1FFF57}, + [I(97,46)] = {11,0xD7}, + [I(98,46)] = {12,0x8D7}, + [I(99,46)] = {11,0x117}, + [I(100,46)] = {12,0x917}, + [I(101,46)] = {11,0x157}, + [I(102,46)] = {12,0x957}, + [I(103,46)] = {12,0x997}, + [I(104,46)] = {12,0x9D7}, + [I(105,46)] = {11,0x197}, + [I(106,46)] = {13,0x1D17}, + [I(107,46)] = {13,0x1D57}, + [I(108,46)] = {12,0xA17}, + [I(109,46)] = {12,0xA57}, + [I(110,46)] = {12,0xA97}, + [I(111,46)] = {11,0x1D7}, + [I(112,46)] = {12,0xAD7}, + [I(113,46)] = {13,0x1D97}, + [I(114,46)] = {12,0xB17}, + [I(115,46)] = {11,0x217}, + [I(116,46)] = {11,0x257}, + [I(117,46)] = {12,0xB57}, + [I(118,46)] = {13,0x1DD7}, + [I(119,46)] = {13,0x1E17}, + [I(120,46)] = {13,0x1E57}, + [I(121,46)] = {13,0x1E97}, + [I(122,46)] = {13,0x1ED7}, + [I(123,46)] = {21,0x1FFF97}, + [I(124,46)] = {17,0x1FF17}, + [I(125,46)] = {20,0xFFF57}, + [I(126,46)] = {19,0x7FF57}, + [I(127,46)] = {64,0}, + [I(128,46)] = {26,0x3FFF997}, + [I(129,46)] = {28,0xFFFF497}, + [I(130,46)] = {26,0x3FFF9D7}, + [I(131,46)] = {26,0x3FFFA17}, + [I(132,46)] = {28,0xFFFF4D7}, + [I(133,46)] = {28,0xFFFF517}, + [I(134,46)] = {28,0xFFFF557}, + [I(135,46)] = {29,0x1FFFF657}, + [I(136,46)] = {28,0xFFFF597}, + [I(137,46)] = {29,0x1FFFF697}, + [I(138,46)] = {29,0x1FFFF6D7}, + [I(139,46)] = {29,0x1FFFF717}, + [I(140,46)] = {29,0x1FFFF757}, + [I(141,46)] = {29,0x1FFFF797}, + [I(142,46)] = {30,0x3FFFFAD7}, + [I(143,46)] = {29,0x1FFFF7D7}, + [I(144,46)] = {30,0x3FFFFB17}, + [I(145,46)] = {30,0x3FFFFB57}, + [I(146,46)] = {28,0xFFFF5D7}, + [I(147,46)] = {29,0x1FFFF817}, + [I(148,46)] = {30,0x3FFFFB97}, + [I(149,46)] = {29,0x1FFFF857}, + [I(150,46)] = {29,0x1FFFF897}, + [I(151,46)] = {29,0x1FFFF8D7}, + [I(152,46)] = {29,0x1FFFF917}, + [I(153,46)] = {27,0x7FFF717}, + [I(154,46)] = {28,0xFFFF617}, + [I(155,46)] = {29,0x1FFFF957}, + [I(156,46)] = {28,0xFFFF657}, + [I(157,46)] = {29,0x1FFFF997}, + [I(158,46)] = {29,0x1FFFF9D7}, + [I(159,46)] = {30,0x3FFFFBD7}, + [I(160,46)] = {28,0xFFFF697}, + [I(161,46)] = {27,0x7FFF757}, + [I(162,46)] = {26,0x3FFFA57}, + [I(163,46)] = {28,0xFFFF6D7}, + [I(164,46)] = {28,0xFFFF717}, + [I(165,46)] = {29,0x1FFFFA17}, + [I(166,46)] = {29,0x1FFFFA57}, + [I(167,46)] = {27,0x7FFF797}, + [I(168,46)] = {29,0x1FFFFA97}, + [I(169,46)] = {28,0xFFFF757}, + [I(170,46)] = {28,0xFFFF797}, + [I(171,46)] = {30,0x3FFFFC17}, + [I(172,46)] = {27,0x7FFF7D7}, + [I(173,46)] = {28,0xFFFF7D7}, + [I(174,46)] = {29,0x1FFFFAD7}, + [I(175,46)] = {29,0x1FFFFB17}, + [I(176,46)] = {27,0x7FFF817}, + [I(177,46)] = {27,0x7FFF857}, + [I(178,46)] = {28,0xFFFF817}, + [I(179,46)] = {27,0x7FFF897}, + [I(180,46)] = {29,0x1FFFFB57}, + [I(181,46)] = {28,0xFFFF857}, + [I(182,46)] = {29,0x1FFFFB97}, + [I(183,46)] = {29,0x1FFFFBD7}, + [I(184,46)] = {26,0x3FFFA97}, + [I(185,46)] = {28,0xFFFF897}, + [I(186,46)] = {28,0xFFFF8D7}, + [I(187,46)] = {28,0xFFFF917}, + [I(188,46)] = {29,0x1FFFFC17}, + [I(189,46)] = {28,0xFFFF957}, + [I(190,46)] = {28,0xFFFF997}, + [I(191,46)] = {29,0x1FFFFC57}, + [I(192,46)] = {X32,0xFFFFF817}, + [I(193,46)] = {X32,0xFFFFF857}, + [I(194,46)] = {26,0x3FFFAD7}, + [I(195,46)] = {25,0x1FFFC57}, + [I(196,46)] = {28,0xFFFF9D7}, + [I(197,46)] = {29,0x1FFFFC97}, + [I(198,46)] = {28,0xFFFFA17}, + [I(199,46)] = {31,0x7FFFFB17}, + [I(200,46)] = {X32,0xFFFFF897}, + [I(201,46)] = {X32,0xFFFFF8D7}, + [I(202,46)] = {X32,0xFFFFF917}, + [I(203,46)] = {64,0}, + [I(204,46)] = {64,0}, + [I(205,46)] = {X32,0xFFFFF957}, + [I(206,46)] = {30,0x3FFFFC57}, + [I(207,46)] = {31,0x7FFFFB57}, + [I(208,46)] = {25,0x1FFFC97}, + [I(209,46)] = {27,0x7FFF8D7}, + [I(210,46)] = {X32,0xFFFFF997}, + [I(211,46)] = {64,0}, + [I(212,46)] = {64,0}, + [I(213,46)] = {X32,0xFFFFF9D7}, + [I(214,46)] = {64,0}, + [I(215,46)] = {30,0x3FFFFC97}, + [I(216,46)] = {27,0x7FFF917}, + [I(217,46)] = {27,0x7FFF957}, + [I(218,46)] = {X32,0xFFFFFA17}, + [I(219,46)] = {X32,0xFFFFFA57}, + [I(220,46)] = {64,0}, + [I(221,46)] = {64,0}, + [I(222,46)] = {64,0}, + [I(223,46)] = {64,0}, + [I(224,46)] = {26,0x3FFFB17}, + [I(225,46)] = {30,0x3FFFFCD7}, + [I(226,46)] = {26,0x3FFFB57}, + [I(227,46)] = {27,0x7FFF997}, + [I(228,46)] = {28,0xFFFFA57}, + [I(229,46)] = {27,0x7FFF9D7}, + [I(230,46)] = {27,0x7FFFA17}, + [I(231,46)] = {29,0x1FFFFCD7}, + [I(232,46)] = {28,0xFFFFA97}, + [I(233,46)] = {28,0xFFFFAD7}, + [I(234,46)] = {31,0x7FFFFB97}, + [I(235,46)] = {31,0x7FFFFBD7}, + [I(236,46)] = {30,0x3FFFFD17}, + [I(237,46)] = {30,0x3FFFFD57}, + [I(238,46)] = {X32,0xFFFFFA97}, + [I(239,46)] = {29,0x1FFFFD17}, + [I(240,46)] = {X32,0xFFFFFAD7}, + [I(241,46)] = {64,0}, + [I(242,46)] = {X32,0xFFFFFB17}, + [I(243,46)] = {X32,0xFFFFFB57}, + [I(244,46)] = {64,0}, + [I(245,46)] = {64,0}, + [I(246,46)] = {64,0}, + [I(247,46)] = {64,0}, + [I(248,46)] = {64,0}, + [I(249,46)] = {64,0}, + [I(250,46)] = {64,0}, + [I(251,46)] = {64,0}, + [I(252,46)] = {64,0}, + [I(253,46)] = {64,0}, + [I(254,46)] = {64,0}, + [I(255,46)] = {X32,0xFFFFFB97}, + [I(0,47)] = {19,0x7FE18}, + [I(1,47)] = {29,0x1FFFF618}, + [I(2,47)] = {64,0}, + [I(3,47)] = {64,0}, + [I(4,47)] = {64,0}, + [I(5,47)] = {64,0}, + [I(6,47)] = {64,0}, + [I(7,47)] = {64,0}, + [I(8,47)] = {64,0}, + [I(9,47)] = {30,0x3FFFFA98}, + [I(10,47)] = {64,0}, + [I(11,47)] = {64,0}, + [I(12,47)] = {64,0}, + [I(13,47)] = {64,0}, + [I(14,47)] = {64,0}, + [I(15,47)] = {64,0}, + [I(16,47)] = {64,0}, + [I(17,47)] = {64,0}, + [I(18,47)] = {64,0}, + [I(19,47)] = {64,0}, + [I(20,47)] = {64,0}, + [I(21,47)] = {64,0}, + [I(22,47)] = {64,0}, + [I(23,47)] = {64,0}, + [I(24,47)] = {64,0}, + [I(25,47)] = {64,0}, + [I(26,47)] = {64,0}, + [I(27,47)] = {64,0}, + [I(28,47)] = {64,0}, + [I(29,47)] = {64,0}, + [I(30,47)] = {64,0}, + [I(31,47)] = {64,0}, + [I(32,47)] = {12,0x518}, + [I(33,47)] = {16,0xFE18}, + [I(34,47)] = {16,0xFE58}, + [I(35,47)] = {18,0x3FE98}, + [I(36,47)] = {19,0x7FE58}, + [I(37,47)] = {12,0x558}, + [I(38,47)] = {14,0x3E18}, + [I(39,47)] = {17,0x1FE98}, + [I(40,47)] = {16,0xFE98}, + [I(41,47)] = {16,0xFED8}, + [I(42,47)] = {14,0x3E58}, + [I(43,47)] = {17,0x1FED8}, + [I(44,47)] = {14,0x3E98}, + [I(45,47)] = {12,0x598}, + [I(46,47)] = {12,0x5D8}, + [I(47,47)] = {12,0x618}, + [I(48,47)] = {11,0x18}, + [I(49,47)] = {11,0x58}, + [I(50,47)] = {11,0x98}, + [I(51,47)] = {12,0x658}, + [I(52,47)] = {12,0x698}, + [I(53,47)] = {12,0x6D8}, + [I(54,47)] = {12,0x718}, + [I(55,47)] = {12,0x758}, + [I(56,47)] = {12,0x798}, + [I(57,47)] = {12,0x7D8}, + [I(58,47)] = {13,0x1718}, + [I(59,47)] = {14,0x3ED8}, + [I(60,47)] = {21,0x1FFF18}, + [I(61,47)] = {12,0x818}, + [I(62,47)] = {18,0x3FED8}, + [I(63,47)] = {16,0xFF18}, + [I(64,47)] = {19,0x7FE98}, + [I(65,47)] = {12,0x858}, + [I(66,47)] = {13,0x1758}, + [I(67,47)] = {13,0x1798}, + [I(68,47)] = {13,0x17D8}, + [I(69,47)] = {13,0x1818}, + [I(70,47)] = {13,0x1858}, + [I(71,47)] = {13,0x1898}, + [I(72,47)] = {13,0x18D8}, + [I(73,47)] = {13,0x1918}, + [I(74,47)] = {13,0x1958}, + [I(75,47)] = {13,0x1998}, + [I(76,47)] = {13,0x19D8}, + [I(77,47)] = {13,0x1A18}, + [I(78,47)] = {13,0x1A58}, + [I(79,47)] = {13,0x1A98}, + [I(80,47)] = {13,0x1AD8}, + [I(81,47)] = {13,0x1B18}, + [I(82,47)] = {13,0x1B58}, + [I(83,47)] = {13,0x1B98}, + [I(84,47)] = {13,0x1BD8}, + [I(85,47)] = {13,0x1C18}, + [I(86,47)] = {13,0x1C58}, + [I(87,47)] = {13,0x1C98}, + [I(88,47)] = {14,0x3F18}, + [I(89,47)] = {13,0x1CD8}, + [I(90,47)] = {14,0x3F58}, + [I(91,47)] = {19,0x7FED8}, + [I(92,47)] = {25,0x1FFFC18}, + [I(93,47)] = {19,0x7FF18}, + [I(94,47)] = {20,0xFFF18}, + [I(95,47)] = {12,0x898}, + [I(96,47)] = {21,0x1FFF58}, + [I(97,47)] = {11,0xD8}, + [I(98,47)] = {12,0x8D8}, + [I(99,47)] = {11,0x118}, + [I(100,47)] = {12,0x918}, + [I(101,47)] = {11,0x158}, + [I(102,47)] = {12,0x958}, + [I(103,47)] = {12,0x998}, + [I(104,47)] = {12,0x9D8}, + [I(105,47)] = {11,0x198}, + [I(106,47)] = {13,0x1D18}, + [I(107,47)] = {13,0x1D58}, + [I(108,47)] = {12,0xA18}, + [I(109,47)] = {12,0xA58}, + [I(110,47)] = {12,0xA98}, + [I(111,47)] = {11,0x1D8}, + [I(112,47)] = {12,0xAD8}, + [I(113,47)] = {13,0x1D98}, + [I(114,47)] = {12,0xB18}, + [I(115,47)] = {11,0x218}, + [I(116,47)] = {11,0x258}, + [I(117,47)] = {12,0xB58}, + [I(118,47)] = {13,0x1DD8}, + [I(119,47)] = {13,0x1E18}, + [I(120,47)] = {13,0x1E58}, + [I(121,47)] = {13,0x1E98}, + [I(122,47)] = {13,0x1ED8}, + [I(123,47)] = {21,0x1FFF98}, + [I(124,47)] = {17,0x1FF18}, + [I(125,47)] = {20,0xFFF58}, + [I(126,47)] = {19,0x7FF58}, + [I(127,47)] = {64,0}, + [I(128,47)] = {26,0x3FFF998}, + [I(129,47)] = {28,0xFFFF498}, + [I(130,47)] = {26,0x3FFF9D8}, + [I(131,47)] = {26,0x3FFFA18}, + [I(132,47)] = {28,0xFFFF4D8}, + [I(133,47)] = {28,0xFFFF518}, + [I(134,47)] = {28,0xFFFF558}, + [I(135,47)] = {29,0x1FFFF658}, + [I(136,47)] = {28,0xFFFF598}, + [I(137,47)] = {29,0x1FFFF698}, + [I(138,47)] = {29,0x1FFFF6D8}, + [I(139,47)] = {29,0x1FFFF718}, + [I(140,47)] = {29,0x1FFFF758}, + [I(141,47)] = {29,0x1FFFF798}, + [I(142,47)] = {30,0x3FFFFAD8}, + [I(143,47)] = {29,0x1FFFF7D8}, + [I(144,47)] = {30,0x3FFFFB18}, + [I(145,47)] = {30,0x3FFFFB58}, + [I(146,47)] = {28,0xFFFF5D8}, + [I(147,47)] = {29,0x1FFFF818}, + [I(148,47)] = {30,0x3FFFFB98}, + [I(149,47)] = {29,0x1FFFF858}, + [I(150,47)] = {29,0x1FFFF898}, + [I(151,47)] = {29,0x1FFFF8D8}, + [I(152,47)] = {29,0x1FFFF918}, + [I(153,47)] = {27,0x7FFF718}, + [I(154,47)] = {28,0xFFFF618}, + [I(155,47)] = {29,0x1FFFF958}, + [I(156,47)] = {28,0xFFFF658}, + [I(157,47)] = {29,0x1FFFF998}, + [I(158,47)] = {29,0x1FFFF9D8}, + [I(159,47)] = {30,0x3FFFFBD8}, + [I(160,47)] = {28,0xFFFF698}, + [I(161,47)] = {27,0x7FFF758}, + [I(162,47)] = {26,0x3FFFA58}, + [I(163,47)] = {28,0xFFFF6D8}, + [I(164,47)] = {28,0xFFFF718}, + [I(165,47)] = {29,0x1FFFFA18}, + [I(166,47)] = {29,0x1FFFFA58}, + [I(167,47)] = {27,0x7FFF798}, + [I(168,47)] = {29,0x1FFFFA98}, + [I(169,47)] = {28,0xFFFF758}, + [I(170,47)] = {28,0xFFFF798}, + [I(171,47)] = {30,0x3FFFFC18}, + [I(172,47)] = {27,0x7FFF7D8}, + [I(173,47)] = {28,0xFFFF7D8}, + [I(174,47)] = {29,0x1FFFFAD8}, + [I(175,47)] = {29,0x1FFFFB18}, + [I(176,47)] = {27,0x7FFF818}, + [I(177,47)] = {27,0x7FFF858}, + [I(178,47)] = {28,0xFFFF818}, + [I(179,47)] = {27,0x7FFF898}, + [I(180,47)] = {29,0x1FFFFB58}, + [I(181,47)] = {28,0xFFFF858}, + [I(182,47)] = {29,0x1FFFFB98}, + [I(183,47)] = {29,0x1FFFFBD8}, + [I(184,47)] = {26,0x3FFFA98}, + [I(185,47)] = {28,0xFFFF898}, + [I(186,47)] = {28,0xFFFF8D8}, + [I(187,47)] = {28,0xFFFF918}, + [I(188,47)] = {29,0x1FFFFC18}, + [I(189,47)] = {28,0xFFFF958}, + [I(190,47)] = {28,0xFFFF998}, + [I(191,47)] = {29,0x1FFFFC58}, + [I(192,47)] = {X32,0xFFFFF818}, + [I(193,47)] = {X32,0xFFFFF858}, + [I(194,47)] = {26,0x3FFFAD8}, + [I(195,47)] = {25,0x1FFFC58}, + [I(196,47)] = {28,0xFFFF9D8}, + [I(197,47)] = {29,0x1FFFFC98}, + [I(198,47)] = {28,0xFFFFA18}, + [I(199,47)] = {31,0x7FFFFB18}, + [I(200,47)] = {X32,0xFFFFF898}, + [I(201,47)] = {X32,0xFFFFF8D8}, + [I(202,47)] = {X32,0xFFFFF918}, + [I(203,47)] = {64,0}, + [I(204,47)] = {64,0}, + [I(205,47)] = {X32,0xFFFFF958}, + [I(206,47)] = {30,0x3FFFFC58}, + [I(207,47)] = {31,0x7FFFFB58}, + [I(208,47)] = {25,0x1FFFC98}, + [I(209,47)] = {27,0x7FFF8D8}, + [I(210,47)] = {X32,0xFFFFF998}, + [I(211,47)] = {64,0}, + [I(212,47)] = {64,0}, + [I(213,47)] = {X32,0xFFFFF9D8}, + [I(214,47)] = {64,0}, + [I(215,47)] = {30,0x3FFFFC98}, + [I(216,47)] = {27,0x7FFF918}, + [I(217,47)] = {27,0x7FFF958}, + [I(218,47)] = {X32,0xFFFFFA18}, + [I(219,47)] = {X32,0xFFFFFA58}, + [I(220,47)] = {64,0}, + [I(221,47)] = {64,0}, + [I(222,47)] = {64,0}, + [I(223,47)] = {64,0}, + [I(224,47)] = {26,0x3FFFB18}, + [I(225,47)] = {30,0x3FFFFCD8}, + [I(226,47)] = {26,0x3FFFB58}, + [I(227,47)] = {27,0x7FFF998}, + [I(228,47)] = {28,0xFFFFA58}, + [I(229,47)] = {27,0x7FFF9D8}, + [I(230,47)] = {27,0x7FFFA18}, + [I(231,47)] = {29,0x1FFFFCD8}, + [I(232,47)] = {28,0xFFFFA98}, + [I(233,47)] = {28,0xFFFFAD8}, + [I(234,47)] = {31,0x7FFFFB98}, + [I(235,47)] = {31,0x7FFFFBD8}, + [I(236,47)] = {30,0x3FFFFD18}, + [I(237,47)] = {30,0x3FFFFD58}, + [I(238,47)] = {X32,0xFFFFFA98}, + [I(239,47)] = {29,0x1FFFFD18}, + [I(240,47)] = {X32,0xFFFFFAD8}, + [I(241,47)] = {64,0}, + [I(242,47)] = {X32,0xFFFFFB18}, + [I(243,47)] = {X32,0xFFFFFB58}, + [I(244,47)] = {64,0}, + [I(245,47)] = {64,0}, + [I(246,47)] = {64,0}, + [I(247,47)] = {64,0}, + [I(248,47)] = {64,0}, + [I(249,47)] = {64,0}, + [I(250,47)] = {64,0}, + [I(251,47)] = {64,0}, + [I(252,47)] = {64,0}, + [I(253,47)] = {64,0}, + [I(254,47)] = {64,0}, + [I(255,47)] = {X32,0xFFFFFB98}, + [I(0,48)] = {18,0x3FF00}, + [I(1,48)] = {28,0xFFFFB00}, + [I(2,48)] = {64,0}, + [I(3,48)] = {64,0}, + [I(4,48)] = {64,0}, + [I(5,48)] = {64,0}, + [I(6,48)] = {64,0}, + [I(7,48)] = {64,0}, + [I(8,48)] = {64,0}, + [I(9,48)] = {29,0x1FFFFD40}, + [I(10,48)] = {64,0}, + [I(11,48)] = {64,0}, + [I(12,48)] = {64,0}, + [I(13,48)] = {64,0}, + [I(14,48)] = {64,0}, + [I(15,48)] = {64,0}, + [I(16,48)] = {64,0}, + [I(17,48)] = {64,0}, + [I(18,48)] = {64,0}, + [I(19,48)] = {64,0}, + [I(20,48)] = {64,0}, + [I(21,48)] = {64,0}, + [I(22,48)] = {64,0}, + [I(23,48)] = {64,0}, + [I(24,48)] = {64,0}, + [I(25,48)] = {64,0}, + [I(26,48)] = {64,0}, + [I(27,48)] = {64,0}, + [I(28,48)] = {64,0}, + [I(29,48)] = {64,0}, + [I(30,48)] = {64,0}, + [I(31,48)] = {64,0}, + [I(32,48)] = {11,0x280}, + [I(33,48)] = {15,0x7F00}, + [I(34,48)] = {15,0x7F20}, + [I(35,48)] = {17,0x1FF40}, + [I(36,48)] = {18,0x3FF20}, + [I(37,48)] = {11,0x2A0}, + [I(38,48)] = {13,0x1F00}, + [I(39,48)] = {16,0xFF40}, + [I(40,48)] = {15,0x7F40}, + [I(41,48)] = {15,0x7F60}, + [I(42,48)] = {13,0x1F20}, + [I(43,48)] = {16,0xFF60}, + [I(44,48)] = {13,0x1F40}, + [I(45,48)] = {11,0x2C0}, + [I(46,48)] = {11,0x2E0}, + [I(47,48)] = {11,0x300}, + [I(48,48)] = {10,0x0}, + [I(49,48)] = {10,0x20}, + [I(50,48)] = {10,0x40}, + [I(51,48)] = {11,0x320}, + [I(52,48)] = {11,0x340}, + [I(53,48)] = {11,0x360}, + [I(54,48)] = {11,0x380}, + [I(55,48)] = {11,0x3A0}, + [I(56,48)] = {11,0x3C0}, + [I(57,48)] = {11,0x3E0}, + [I(58,48)] = {12,0xB80}, + [I(59,48)] = {13,0x1F60}, + [I(60,48)] = {20,0xFFF80}, + [I(61,48)] = {11,0x400}, + [I(62,48)] = {17,0x1FF60}, + [I(63,48)] = {15,0x7F80}, + [I(64,48)] = {18,0x3FF40}, + [I(65,48)] = {11,0x420}, + [I(66,48)] = {12,0xBA0}, + [I(67,48)] = {12,0xBC0}, + [I(68,48)] = {12,0xBE0}, + [I(69,48)] = {12,0xC00}, + [I(70,48)] = {12,0xC20}, + [I(71,48)] = {12,0xC40}, + [I(72,48)] = {12,0xC60}, + [I(73,48)] = {12,0xC80}, + [I(74,48)] = {12,0xCA0}, + [I(75,48)] = {12,0xCC0}, + [I(76,48)] = {12,0xCE0}, + [I(77,48)] = {12,0xD00}, + [I(78,48)] = {12,0xD20}, + [I(79,48)] = {12,0xD40}, + [I(80,48)] = {12,0xD60}, + [I(81,48)] = {12,0xD80}, + [I(82,48)] = {12,0xDA0}, + [I(83,48)] = {12,0xDC0}, + [I(84,48)] = {12,0xDE0}, + [I(85,48)] = {12,0xE00}, + [I(86,48)] = {12,0xE20}, + [I(87,48)] = {12,0xE40}, + [I(88,48)] = {13,0x1F80}, + [I(89,48)] = {12,0xE60}, + [I(90,48)] = {13,0x1FA0}, + [I(91,48)] = {18,0x3FF60}, + [I(92,48)] = {24,0xFFFE00}, + [I(93,48)] = {18,0x3FF80}, + [I(94,48)] = {19,0x7FF80}, + [I(95,48)] = {11,0x440}, + [I(96,48)] = {20,0xFFFA0}, + [I(97,48)] = {10,0x60}, + [I(98,48)] = {11,0x460}, + [I(99,48)] = {10,0x80}, + [I(100,48)] = {11,0x480}, + [I(101,48)] = {10,0xA0}, + [I(102,48)] = {11,0x4A0}, + [I(103,48)] = {11,0x4C0}, + [I(104,48)] = {11,0x4E0}, + [I(105,48)] = {10,0xC0}, + [I(106,48)] = {12,0xE80}, + [I(107,48)] = {12,0xEA0}, + [I(108,48)] = {11,0x500}, + [I(109,48)] = {11,0x520}, + [I(110,48)] = {11,0x540}, + [I(111,48)] = {10,0xE0}, + [I(112,48)] = {11,0x560}, + [I(113,48)] = {12,0xEC0}, + [I(114,48)] = {11,0x580}, + [I(115,48)] = {10,0x100}, + [I(116,48)] = {10,0x120}, + [I(117,48)] = {11,0x5A0}, + [I(118,48)] = {12,0xEE0}, + [I(119,48)] = {12,0xF00}, + [I(120,48)] = {12,0xF20}, + [I(121,48)] = {12,0xF40}, + [I(122,48)] = {12,0xF60}, + [I(123,48)] = {20,0xFFFC0}, + [I(124,48)] = {16,0xFF80}, + [I(125,48)] = {19,0x7FFA0}, + [I(126,48)] = {18,0x3FFA0}, + [I(127,48)] = {64,0}, + [I(128,48)] = {25,0x1FFFCC0}, + [I(129,48)] = {27,0x7FFFA40}, + [I(130,48)] = {25,0x1FFFCE0}, + [I(131,48)] = {25,0x1FFFD00}, + [I(132,48)] = {27,0x7FFFA60}, + [I(133,48)] = {27,0x7FFFA80}, + [I(134,48)] = {27,0x7FFFAA0}, + [I(135,48)] = {28,0xFFFFB20}, + [I(136,48)] = {27,0x7FFFAC0}, + [I(137,48)] = {28,0xFFFFB40}, + [I(138,48)] = {28,0xFFFFB60}, + [I(139,48)] = {28,0xFFFFB80}, + [I(140,48)] = {28,0xFFFFBA0}, + [I(141,48)] = {28,0xFFFFBC0}, + [I(142,48)] = {29,0x1FFFFD60}, + [I(143,48)] = {28,0xFFFFBE0}, + [I(144,48)] = {29,0x1FFFFD80}, + [I(145,48)] = {29,0x1FFFFDA0}, + [I(146,48)] = {27,0x7FFFAE0}, + [I(147,48)] = {28,0xFFFFC00}, + [I(148,48)] = {29,0x1FFFFDC0}, + [I(149,48)] = {28,0xFFFFC20}, + [I(150,48)] = {28,0xFFFFC40}, + [I(151,48)] = {28,0xFFFFC60}, + [I(152,48)] = {28,0xFFFFC80}, + [I(153,48)] = {26,0x3FFFB80}, + [I(154,48)] = {27,0x7FFFB00}, + [I(155,48)] = {28,0xFFFFCA0}, + [I(156,48)] = {27,0x7FFFB20}, + [I(157,48)] = {28,0xFFFFCC0}, + [I(158,48)] = {28,0xFFFFCE0}, + [I(159,48)] = {29,0x1FFFFDE0}, + [I(160,48)] = {27,0x7FFFB40}, + [I(161,48)] = {26,0x3FFFBA0}, + [I(162,48)] = {25,0x1FFFD20}, + [I(163,48)] = {27,0x7FFFB60}, + [I(164,48)] = {27,0x7FFFB80}, + [I(165,48)] = {28,0xFFFFD00}, + [I(166,48)] = {28,0xFFFFD20}, + [I(167,48)] = {26,0x3FFFBC0}, + [I(168,48)] = {28,0xFFFFD40}, + [I(169,48)] = {27,0x7FFFBA0}, + [I(170,48)] = {27,0x7FFFBC0}, + [I(171,48)] = {29,0x1FFFFE00}, + [I(172,48)] = {26,0x3FFFBE0}, + [I(173,48)] = {27,0x7FFFBE0}, + [I(174,48)] = {28,0xFFFFD60}, + [I(175,48)] = {28,0xFFFFD80}, + [I(176,48)] = {26,0x3FFFC00}, + [I(177,48)] = {26,0x3FFFC20}, + [I(178,48)] = {27,0x7FFFC00}, + [I(179,48)] = {26,0x3FFFC40}, + [I(180,48)] = {28,0xFFFFDA0}, + [I(181,48)] = {27,0x7FFFC20}, + [I(182,48)] = {28,0xFFFFDC0}, + [I(183,48)] = {28,0xFFFFDE0}, + [I(184,48)] = {25,0x1FFFD40}, + [I(185,48)] = {27,0x7FFFC40}, + [I(186,48)] = {27,0x7FFFC60}, + [I(187,48)] = {27,0x7FFFC80}, + [I(188,48)] = {28,0xFFFFE00}, + [I(189,48)] = {27,0x7FFFCA0}, + [I(190,48)] = {27,0x7FFFCC0}, + [I(191,48)] = {28,0xFFFFE20}, + [I(192,48)] = {31,0x7FFFFC00}, + [I(193,48)] = {31,0x7FFFFC20}, + [I(194,48)] = {25,0x1FFFD60}, + [I(195,48)] = {24,0xFFFE20}, + [I(196,48)] = {27,0x7FFFCE0}, + [I(197,48)] = {28,0xFFFFE40}, + [I(198,48)] = {27,0x7FFFD00}, + [I(199,48)] = {30,0x3FFFFD80}, + [I(200,48)] = {31,0x7FFFFC40}, + [I(201,48)] = {31,0x7FFFFC60}, + [I(202,48)] = {31,0x7FFFFC80}, + [I(203,48)] = {X32,0xFFFFFBC0}, + [I(204,48)] = {X32,0xFFFFFBE0}, + [I(205,48)] = {31,0x7FFFFCA0}, + [I(206,48)] = {29,0x1FFFFE20}, + [I(207,48)] = {30,0x3FFFFDA0}, + [I(208,48)] = {24,0xFFFE40}, + [I(209,48)] = {26,0x3FFFC60}, + [I(210,48)] = {31,0x7FFFFCC0}, + [I(211,48)] = {X32,0xFFFFFC00}, + [I(212,48)] = {X32,0xFFFFFC20}, + [I(213,48)] = {31,0x7FFFFCE0}, + [I(214,48)] = {X32,0xFFFFFC40}, + [I(215,48)] = {29,0x1FFFFE40}, + [I(216,48)] = {26,0x3FFFC80}, + [I(217,48)] = {26,0x3FFFCA0}, + [I(218,48)] = {31,0x7FFFFD00}, + [I(219,48)] = {31,0x7FFFFD20}, + [I(220,48)] = {64,0}, + [I(221,48)] = {X32,0xFFFFFC60}, + [I(222,48)] = {X32,0xFFFFFC80}, + [I(223,48)] = {X32,0xFFFFFCA0}, + [I(224,48)] = {25,0x1FFFD80}, + [I(225,48)] = {29,0x1FFFFE60}, + [I(226,48)] = {25,0x1FFFDA0}, + [I(227,48)] = {26,0x3FFFCC0}, + [I(228,48)] = {27,0x7FFFD20}, + [I(229,48)] = {26,0x3FFFCE0}, + [I(230,48)] = {26,0x3FFFD00}, + [I(231,48)] = {28,0xFFFFE60}, + [I(232,48)] = {27,0x7FFFD40}, + [I(233,48)] = {27,0x7FFFD60}, + [I(234,48)] = {30,0x3FFFFDC0}, + [I(235,48)] = {30,0x3FFFFDE0}, + [I(236,48)] = {29,0x1FFFFE80}, + [I(237,48)] = {29,0x1FFFFEA0}, + [I(238,48)] = {31,0x7FFFFD40}, + [I(239,48)] = {28,0xFFFFE80}, + [I(240,48)] = {31,0x7FFFFD60}, + [I(241,48)] = {X32,0xFFFFFCC0}, + [I(242,48)] = {31,0x7FFFFD80}, + [I(243,48)] = {31,0x7FFFFDA0}, + [I(244,48)] = {X32,0xFFFFFCE0}, + [I(245,48)] = {X32,0xFFFFFD00}, + [I(246,48)] = {X32,0xFFFFFD20}, + [I(247,48)] = {X32,0xFFFFFD40}, + [I(248,48)] = {X32,0xFFFFFD60}, + [I(249,48)] = {64,0}, + [I(250,48)] = {X32,0xFFFFFD80}, + [I(251,48)] = {X32,0xFFFFFDA0}, + [I(252,48)] = {X32,0xFFFFFDC0}, + [I(253,48)] = {X32,0xFFFFFDE0}, + [I(254,48)] = {X32,0xFFFFFE00}, + [I(255,48)] = {31,0x7FFFFDC0}, + [I(0,49)] = {18,0x3FF01}, + [I(1,49)] = {28,0xFFFFB01}, + [I(2,49)] = {64,0}, + [I(3,49)] = {64,0}, + [I(4,49)] = {64,0}, + [I(5,49)] = {64,0}, + [I(6,49)] = {64,0}, + [I(7,49)] = {64,0}, + [I(8,49)] = {64,0}, + [I(9,49)] = {29,0x1FFFFD41}, + [I(10,49)] = {64,0}, + [I(11,49)] = {64,0}, + [I(12,49)] = {64,0}, + [I(13,49)] = {64,0}, + [I(14,49)] = {64,0}, + [I(15,49)] = {64,0}, + [I(16,49)] = {64,0}, + [I(17,49)] = {64,0}, + [I(18,49)] = {64,0}, + [I(19,49)] = {64,0}, + [I(20,49)] = {64,0}, + [I(21,49)] = {64,0}, + [I(22,49)] = {64,0}, + [I(23,49)] = {64,0}, + [I(24,49)] = {64,0}, + [I(25,49)] = {64,0}, + [I(26,49)] = {64,0}, + [I(27,49)] = {64,0}, + [I(28,49)] = {64,0}, + [I(29,49)] = {64,0}, + [I(30,49)] = {64,0}, + [I(31,49)] = {64,0}, + [I(32,49)] = {11,0x281}, + [I(33,49)] = {15,0x7F01}, + [I(34,49)] = {15,0x7F21}, + [I(35,49)] = {17,0x1FF41}, + [I(36,49)] = {18,0x3FF21}, + [I(37,49)] = {11,0x2A1}, + [I(38,49)] = {13,0x1F01}, + [I(39,49)] = {16,0xFF41}, + [I(40,49)] = {15,0x7F41}, + [I(41,49)] = {15,0x7F61}, + [I(42,49)] = {13,0x1F21}, + [I(43,49)] = {16,0xFF61}, + [I(44,49)] = {13,0x1F41}, + [I(45,49)] = {11,0x2C1}, + [I(46,49)] = {11,0x2E1}, + [I(47,49)] = {11,0x301}, + [I(48,49)] = {10,0x1}, + [I(49,49)] = {10,0x21}, + [I(50,49)] = {10,0x41}, + [I(51,49)] = {11,0x321}, + [I(52,49)] = {11,0x341}, + [I(53,49)] = {11,0x361}, + [I(54,49)] = {11,0x381}, + [I(55,49)] = {11,0x3A1}, + [I(56,49)] = {11,0x3C1}, + [I(57,49)] = {11,0x3E1}, + [I(58,49)] = {12,0xB81}, + [I(59,49)] = {13,0x1F61}, + [I(60,49)] = {20,0xFFF81}, + [I(61,49)] = {11,0x401}, + [I(62,49)] = {17,0x1FF61}, + [I(63,49)] = {15,0x7F81}, + [I(64,49)] = {18,0x3FF41}, + [I(65,49)] = {11,0x421}, + [I(66,49)] = {12,0xBA1}, + [I(67,49)] = {12,0xBC1}, + [I(68,49)] = {12,0xBE1}, + [I(69,49)] = {12,0xC01}, + [I(70,49)] = {12,0xC21}, + [I(71,49)] = {12,0xC41}, + [I(72,49)] = {12,0xC61}, + [I(73,49)] = {12,0xC81}, + [I(74,49)] = {12,0xCA1}, + [I(75,49)] = {12,0xCC1}, + [I(76,49)] = {12,0xCE1}, + [I(77,49)] = {12,0xD01}, + [I(78,49)] = {12,0xD21}, + [I(79,49)] = {12,0xD41}, + [I(80,49)] = {12,0xD61}, + [I(81,49)] = {12,0xD81}, + [I(82,49)] = {12,0xDA1}, + [I(83,49)] = {12,0xDC1}, + [I(84,49)] = {12,0xDE1}, + [I(85,49)] = {12,0xE01}, + [I(86,49)] = {12,0xE21}, + [I(87,49)] = {12,0xE41}, + [I(88,49)] = {13,0x1F81}, + [I(89,49)] = {12,0xE61}, + [I(90,49)] = {13,0x1FA1}, + [I(91,49)] = {18,0x3FF61}, + [I(92,49)] = {24,0xFFFE01}, + [I(93,49)] = {18,0x3FF81}, + [I(94,49)] = {19,0x7FF81}, + [I(95,49)] = {11,0x441}, + [I(96,49)] = {20,0xFFFA1}, + [I(97,49)] = {10,0x61}, + [I(98,49)] = {11,0x461}, + [I(99,49)] = {10,0x81}, + [I(100,49)] = {11,0x481}, + [I(101,49)] = {10,0xA1}, + [I(102,49)] = {11,0x4A1}, + [I(103,49)] = {11,0x4C1}, + [I(104,49)] = {11,0x4E1}, + [I(105,49)] = {10,0xC1}, + [I(106,49)] = {12,0xE81}, + [I(107,49)] = {12,0xEA1}, + [I(108,49)] = {11,0x501}, + [I(109,49)] = {11,0x521}, + [I(110,49)] = {11,0x541}, + [I(111,49)] = {10,0xE1}, + [I(112,49)] = {11,0x561}, + [I(113,49)] = {12,0xEC1}, + [I(114,49)] = {11,0x581}, + [I(115,49)] = {10,0x101}, + [I(116,49)] = {10,0x121}, + [I(117,49)] = {11,0x5A1}, + [I(118,49)] = {12,0xEE1}, + [I(119,49)] = {12,0xF01}, + [I(120,49)] = {12,0xF21}, + [I(121,49)] = {12,0xF41}, + [I(122,49)] = {12,0xF61}, + [I(123,49)] = {20,0xFFFC1}, + [I(124,49)] = {16,0xFF81}, + [I(125,49)] = {19,0x7FFA1}, + [I(126,49)] = {18,0x3FFA1}, + [I(127,49)] = {64,0}, + [I(128,49)] = {25,0x1FFFCC1}, + [I(129,49)] = {27,0x7FFFA41}, + [I(130,49)] = {25,0x1FFFCE1}, + [I(131,49)] = {25,0x1FFFD01}, + [I(132,49)] = {27,0x7FFFA61}, + [I(133,49)] = {27,0x7FFFA81}, + [I(134,49)] = {27,0x7FFFAA1}, + [I(135,49)] = {28,0xFFFFB21}, + [I(136,49)] = {27,0x7FFFAC1}, + [I(137,49)] = {28,0xFFFFB41}, + [I(138,49)] = {28,0xFFFFB61}, + [I(139,49)] = {28,0xFFFFB81}, + [I(140,49)] = {28,0xFFFFBA1}, + [I(141,49)] = {28,0xFFFFBC1}, + [I(142,49)] = {29,0x1FFFFD61}, + [I(143,49)] = {28,0xFFFFBE1}, + [I(144,49)] = {29,0x1FFFFD81}, + [I(145,49)] = {29,0x1FFFFDA1}, + [I(146,49)] = {27,0x7FFFAE1}, + [I(147,49)] = {28,0xFFFFC01}, + [I(148,49)] = {29,0x1FFFFDC1}, + [I(149,49)] = {28,0xFFFFC21}, + [I(150,49)] = {28,0xFFFFC41}, + [I(151,49)] = {28,0xFFFFC61}, + [I(152,49)] = {28,0xFFFFC81}, + [I(153,49)] = {26,0x3FFFB81}, + [I(154,49)] = {27,0x7FFFB01}, + [I(155,49)] = {28,0xFFFFCA1}, + [I(156,49)] = {27,0x7FFFB21}, + [I(157,49)] = {28,0xFFFFCC1}, + [I(158,49)] = {28,0xFFFFCE1}, + [I(159,49)] = {29,0x1FFFFDE1}, + [I(160,49)] = {27,0x7FFFB41}, + [I(161,49)] = {26,0x3FFFBA1}, + [I(162,49)] = {25,0x1FFFD21}, + [I(163,49)] = {27,0x7FFFB61}, + [I(164,49)] = {27,0x7FFFB81}, + [I(165,49)] = {28,0xFFFFD01}, + [I(166,49)] = {28,0xFFFFD21}, + [I(167,49)] = {26,0x3FFFBC1}, + [I(168,49)] = {28,0xFFFFD41}, + [I(169,49)] = {27,0x7FFFBA1}, + [I(170,49)] = {27,0x7FFFBC1}, + [I(171,49)] = {29,0x1FFFFE01}, + [I(172,49)] = {26,0x3FFFBE1}, + [I(173,49)] = {27,0x7FFFBE1}, + [I(174,49)] = {28,0xFFFFD61}, + [I(175,49)] = {28,0xFFFFD81}, + [I(176,49)] = {26,0x3FFFC01}, + [I(177,49)] = {26,0x3FFFC21}, + [I(178,49)] = {27,0x7FFFC01}, + [I(179,49)] = {26,0x3FFFC41}, + [I(180,49)] = {28,0xFFFFDA1}, + [I(181,49)] = {27,0x7FFFC21}, + [I(182,49)] = {28,0xFFFFDC1}, + [I(183,49)] = {28,0xFFFFDE1}, + [I(184,49)] = {25,0x1FFFD41}, + [I(185,49)] = {27,0x7FFFC41}, + [I(186,49)] = {27,0x7FFFC61}, + [I(187,49)] = {27,0x7FFFC81}, + [I(188,49)] = {28,0xFFFFE01}, + [I(189,49)] = {27,0x7FFFCA1}, + [I(190,49)] = {27,0x7FFFCC1}, + [I(191,49)] = {28,0xFFFFE21}, + [I(192,49)] = {31,0x7FFFFC01}, + [I(193,49)] = {31,0x7FFFFC21}, + [I(194,49)] = {25,0x1FFFD61}, + [I(195,49)] = {24,0xFFFE21}, + [I(196,49)] = {27,0x7FFFCE1}, + [I(197,49)] = {28,0xFFFFE41}, + [I(198,49)] = {27,0x7FFFD01}, + [I(199,49)] = {30,0x3FFFFD81}, + [I(200,49)] = {31,0x7FFFFC41}, + [I(201,49)] = {31,0x7FFFFC61}, + [I(202,49)] = {31,0x7FFFFC81}, + [I(203,49)] = {X32,0xFFFFFBC1}, + [I(204,49)] = {X32,0xFFFFFBE1}, + [I(205,49)] = {31,0x7FFFFCA1}, + [I(206,49)] = {29,0x1FFFFE21}, + [I(207,49)] = {30,0x3FFFFDA1}, + [I(208,49)] = {24,0xFFFE41}, + [I(209,49)] = {26,0x3FFFC61}, + [I(210,49)] = {31,0x7FFFFCC1}, + [I(211,49)] = {X32,0xFFFFFC01}, + [I(212,49)] = {X32,0xFFFFFC21}, + [I(213,49)] = {31,0x7FFFFCE1}, + [I(214,49)] = {X32,0xFFFFFC41}, + [I(215,49)] = {29,0x1FFFFE41}, + [I(216,49)] = {26,0x3FFFC81}, + [I(217,49)] = {26,0x3FFFCA1}, + [I(218,49)] = {31,0x7FFFFD01}, + [I(219,49)] = {31,0x7FFFFD21}, + [I(220,49)] = {64,0}, + [I(221,49)] = {X32,0xFFFFFC61}, + [I(222,49)] = {X32,0xFFFFFC81}, + [I(223,49)] = {X32,0xFFFFFCA1}, + [I(224,49)] = {25,0x1FFFD81}, + [I(225,49)] = {29,0x1FFFFE61}, + [I(226,49)] = {25,0x1FFFDA1}, + [I(227,49)] = {26,0x3FFFCC1}, + [I(228,49)] = {27,0x7FFFD21}, + [I(229,49)] = {26,0x3FFFCE1}, + [I(230,49)] = {26,0x3FFFD01}, + [I(231,49)] = {28,0xFFFFE61}, + [I(232,49)] = {27,0x7FFFD41}, + [I(233,49)] = {27,0x7FFFD61}, + [I(234,49)] = {30,0x3FFFFDC1}, + [I(235,49)] = {30,0x3FFFFDE1}, + [I(236,49)] = {29,0x1FFFFE81}, + [I(237,49)] = {29,0x1FFFFEA1}, + [I(238,49)] = {31,0x7FFFFD41}, + [I(239,49)] = {28,0xFFFFE81}, + [I(240,49)] = {31,0x7FFFFD61}, + [I(241,49)] = {X32,0xFFFFFCC1}, + [I(242,49)] = {31,0x7FFFFD81}, + [I(243,49)] = {31,0x7FFFFDA1}, + [I(244,49)] = {X32,0xFFFFFCE1}, + [I(245,49)] = {X32,0xFFFFFD01}, + [I(246,49)] = {X32,0xFFFFFD21}, + [I(247,49)] = {X32,0xFFFFFD41}, + [I(248,49)] = {X32,0xFFFFFD61}, + [I(249,49)] = {64,0}, + [I(250,49)] = {X32,0xFFFFFD81}, + [I(251,49)] = {X32,0xFFFFFDA1}, + [I(252,49)] = {X32,0xFFFFFDC1}, + [I(253,49)] = {X32,0xFFFFFDE1}, + [I(254,49)] = {X32,0xFFFFFE01}, + [I(255,49)] = {31,0x7FFFFDC1}, + [I(0,50)] = {18,0x3FF02}, + [I(1,50)] = {28,0xFFFFB02}, + [I(2,50)] = {64,0}, + [I(3,50)] = {64,0}, + [I(4,50)] = {64,0}, + [I(5,50)] = {64,0}, + [I(6,50)] = {64,0}, + [I(7,50)] = {64,0}, + [I(8,50)] = {64,0}, + [I(9,50)] = {29,0x1FFFFD42}, + [I(10,50)] = {64,0}, + [I(11,50)] = {64,0}, + [I(12,50)] = {64,0}, + [I(13,50)] = {64,0}, + [I(14,50)] = {64,0}, + [I(15,50)] = {64,0}, + [I(16,50)] = {64,0}, + [I(17,50)] = {64,0}, + [I(18,50)] = {64,0}, + [I(19,50)] = {64,0}, + [I(20,50)] = {64,0}, + [I(21,50)] = {64,0}, + [I(22,50)] = {64,0}, + [I(23,50)] = {64,0}, + [I(24,50)] = {64,0}, + [I(25,50)] = {64,0}, + [I(26,50)] = {64,0}, + [I(27,50)] = {64,0}, + [I(28,50)] = {64,0}, + [I(29,50)] = {64,0}, + [I(30,50)] = {64,0}, + [I(31,50)] = {64,0}, + [I(32,50)] = {11,0x282}, + [I(33,50)] = {15,0x7F02}, + [I(34,50)] = {15,0x7F22}, + [I(35,50)] = {17,0x1FF42}, + [I(36,50)] = {18,0x3FF22}, + [I(37,50)] = {11,0x2A2}, + [I(38,50)] = {13,0x1F02}, + [I(39,50)] = {16,0xFF42}, + [I(40,50)] = {15,0x7F42}, + [I(41,50)] = {15,0x7F62}, + [I(42,50)] = {13,0x1F22}, + [I(43,50)] = {16,0xFF62}, + [I(44,50)] = {13,0x1F42}, + [I(45,50)] = {11,0x2C2}, + [I(46,50)] = {11,0x2E2}, + [I(47,50)] = {11,0x302}, + [I(48,50)] = {10,0x2}, + [I(49,50)] = {10,0x22}, + [I(50,50)] = {10,0x42}, + [I(51,50)] = {11,0x322}, + [I(52,50)] = {11,0x342}, + [I(53,50)] = {11,0x362}, + [I(54,50)] = {11,0x382}, + [I(55,50)] = {11,0x3A2}, + [I(56,50)] = {11,0x3C2}, + [I(57,50)] = {11,0x3E2}, + [I(58,50)] = {12,0xB82}, + [I(59,50)] = {13,0x1F62}, + [I(60,50)] = {20,0xFFF82}, + [I(61,50)] = {11,0x402}, + [I(62,50)] = {17,0x1FF62}, + [I(63,50)] = {15,0x7F82}, + [I(64,50)] = {18,0x3FF42}, + [I(65,50)] = {11,0x422}, + [I(66,50)] = {12,0xBA2}, + [I(67,50)] = {12,0xBC2}, + [I(68,50)] = {12,0xBE2}, + [I(69,50)] = {12,0xC02}, + [I(70,50)] = {12,0xC22}, + [I(71,50)] = {12,0xC42}, + [I(72,50)] = {12,0xC62}, + [I(73,50)] = {12,0xC82}, + [I(74,50)] = {12,0xCA2}, + [I(75,50)] = {12,0xCC2}, + [I(76,50)] = {12,0xCE2}, + [I(77,50)] = {12,0xD02}, + [I(78,50)] = {12,0xD22}, + [I(79,50)] = {12,0xD42}, + [I(80,50)] = {12,0xD62}, + [I(81,50)] = {12,0xD82}, + [I(82,50)] = {12,0xDA2}, + [I(83,50)] = {12,0xDC2}, + [I(84,50)] = {12,0xDE2}, + [I(85,50)] = {12,0xE02}, + [I(86,50)] = {12,0xE22}, + [I(87,50)] = {12,0xE42}, + [I(88,50)] = {13,0x1F82}, + [I(89,50)] = {12,0xE62}, + [I(90,50)] = {13,0x1FA2}, + [I(91,50)] = {18,0x3FF62}, + [I(92,50)] = {24,0xFFFE02}, + [I(93,50)] = {18,0x3FF82}, + [I(94,50)] = {19,0x7FF82}, + [I(95,50)] = {11,0x442}, + [I(96,50)] = {20,0xFFFA2}, + [I(97,50)] = {10,0x62}, + [I(98,50)] = {11,0x462}, + [I(99,50)] = {10,0x82}, + [I(100,50)] = {11,0x482}, + [I(101,50)] = {10,0xA2}, + [I(102,50)] = {11,0x4A2}, + [I(103,50)] = {11,0x4C2}, + [I(104,50)] = {11,0x4E2}, + [I(105,50)] = {10,0xC2}, + [I(106,50)] = {12,0xE82}, + [I(107,50)] = {12,0xEA2}, + [I(108,50)] = {11,0x502}, + [I(109,50)] = {11,0x522}, + [I(110,50)] = {11,0x542}, + [I(111,50)] = {10,0xE2}, + [I(112,50)] = {11,0x562}, + [I(113,50)] = {12,0xEC2}, + [I(114,50)] = {11,0x582}, + [I(115,50)] = {10,0x102}, + [I(116,50)] = {10,0x122}, + [I(117,50)] = {11,0x5A2}, + [I(118,50)] = {12,0xEE2}, + [I(119,50)] = {12,0xF02}, + [I(120,50)] = {12,0xF22}, + [I(121,50)] = {12,0xF42}, + [I(122,50)] = {12,0xF62}, + [I(123,50)] = {20,0xFFFC2}, + [I(124,50)] = {16,0xFF82}, + [I(125,50)] = {19,0x7FFA2}, + [I(126,50)] = {18,0x3FFA2}, + [I(127,50)] = {64,0}, + [I(128,50)] = {25,0x1FFFCC2}, + [I(129,50)] = {27,0x7FFFA42}, + [I(130,50)] = {25,0x1FFFCE2}, + [I(131,50)] = {25,0x1FFFD02}, + [I(132,50)] = {27,0x7FFFA62}, + [I(133,50)] = {27,0x7FFFA82}, + [I(134,50)] = {27,0x7FFFAA2}, + [I(135,50)] = {28,0xFFFFB22}, + [I(136,50)] = {27,0x7FFFAC2}, + [I(137,50)] = {28,0xFFFFB42}, + [I(138,50)] = {28,0xFFFFB62}, + [I(139,50)] = {28,0xFFFFB82}, + [I(140,50)] = {28,0xFFFFBA2}, + [I(141,50)] = {28,0xFFFFBC2}, + [I(142,50)] = {29,0x1FFFFD62}, + [I(143,50)] = {28,0xFFFFBE2}, + [I(144,50)] = {29,0x1FFFFD82}, + [I(145,50)] = {29,0x1FFFFDA2}, + [I(146,50)] = {27,0x7FFFAE2}, + [I(147,50)] = {28,0xFFFFC02}, + [I(148,50)] = {29,0x1FFFFDC2}, + [I(149,50)] = {28,0xFFFFC22}, + [I(150,50)] = {28,0xFFFFC42}, + [I(151,50)] = {28,0xFFFFC62}, + [I(152,50)] = {28,0xFFFFC82}, + [I(153,50)] = {26,0x3FFFB82}, + [I(154,50)] = {27,0x7FFFB02}, + [I(155,50)] = {28,0xFFFFCA2}, + [I(156,50)] = {27,0x7FFFB22}, + [I(157,50)] = {28,0xFFFFCC2}, + [I(158,50)] = {28,0xFFFFCE2}, + [I(159,50)] = {29,0x1FFFFDE2}, + [I(160,50)] = {27,0x7FFFB42}, + [I(161,50)] = {26,0x3FFFBA2}, + [I(162,50)] = {25,0x1FFFD22}, + [I(163,50)] = {27,0x7FFFB62}, + [I(164,50)] = {27,0x7FFFB82}, + [I(165,50)] = {28,0xFFFFD02}, + [I(166,50)] = {28,0xFFFFD22}, + [I(167,50)] = {26,0x3FFFBC2}, + [I(168,50)] = {28,0xFFFFD42}, + [I(169,50)] = {27,0x7FFFBA2}, + [I(170,50)] = {27,0x7FFFBC2}, + [I(171,50)] = {29,0x1FFFFE02}, + [I(172,50)] = {26,0x3FFFBE2}, + [I(173,50)] = {27,0x7FFFBE2}, + [I(174,50)] = {28,0xFFFFD62}, + [I(175,50)] = {28,0xFFFFD82}, + [I(176,50)] = {26,0x3FFFC02}, + [I(177,50)] = {26,0x3FFFC22}, + [I(178,50)] = {27,0x7FFFC02}, + [I(179,50)] = {26,0x3FFFC42}, + [I(180,50)] = {28,0xFFFFDA2}, + [I(181,50)] = {27,0x7FFFC22}, + [I(182,50)] = {28,0xFFFFDC2}, + [I(183,50)] = {28,0xFFFFDE2}, + [I(184,50)] = {25,0x1FFFD42}, + [I(185,50)] = {27,0x7FFFC42}, + [I(186,50)] = {27,0x7FFFC62}, + [I(187,50)] = {27,0x7FFFC82}, + [I(188,50)] = {28,0xFFFFE02}, + [I(189,50)] = {27,0x7FFFCA2}, + [I(190,50)] = {27,0x7FFFCC2}, + [I(191,50)] = {28,0xFFFFE22}, + [I(192,50)] = {31,0x7FFFFC02}, + [I(193,50)] = {31,0x7FFFFC22}, + [I(194,50)] = {25,0x1FFFD62}, + [I(195,50)] = {24,0xFFFE22}, + [I(196,50)] = {27,0x7FFFCE2}, + [I(197,50)] = {28,0xFFFFE42}, + [I(198,50)] = {27,0x7FFFD02}, + [I(199,50)] = {30,0x3FFFFD82}, + [I(200,50)] = {31,0x7FFFFC42}, + [I(201,50)] = {31,0x7FFFFC62}, + [I(202,50)] = {31,0x7FFFFC82}, + [I(203,50)] = {X32,0xFFFFFBC2}, + [I(204,50)] = {X32,0xFFFFFBE2}, + [I(205,50)] = {31,0x7FFFFCA2}, + [I(206,50)] = {29,0x1FFFFE22}, + [I(207,50)] = {30,0x3FFFFDA2}, + [I(208,50)] = {24,0xFFFE42}, + [I(209,50)] = {26,0x3FFFC62}, + [I(210,50)] = {31,0x7FFFFCC2}, + [I(211,50)] = {X32,0xFFFFFC02}, + [I(212,50)] = {X32,0xFFFFFC22}, + [I(213,50)] = {31,0x7FFFFCE2}, + [I(214,50)] = {X32,0xFFFFFC42}, + [I(215,50)] = {29,0x1FFFFE42}, + [I(216,50)] = {26,0x3FFFC82}, + [I(217,50)] = {26,0x3FFFCA2}, + [I(218,50)] = {31,0x7FFFFD02}, + [I(219,50)] = {31,0x7FFFFD22}, + [I(220,50)] = {64,0}, + [I(221,50)] = {X32,0xFFFFFC62}, + [I(222,50)] = {X32,0xFFFFFC82}, + [I(223,50)] = {X32,0xFFFFFCA2}, + [I(224,50)] = {25,0x1FFFD82}, + [I(225,50)] = {29,0x1FFFFE62}, + [I(226,50)] = {25,0x1FFFDA2}, + [I(227,50)] = {26,0x3FFFCC2}, + [I(228,50)] = {27,0x7FFFD22}, + [I(229,50)] = {26,0x3FFFCE2}, + [I(230,50)] = {26,0x3FFFD02}, + [I(231,50)] = {28,0xFFFFE62}, + [I(232,50)] = {27,0x7FFFD42}, + [I(233,50)] = {27,0x7FFFD62}, + [I(234,50)] = {30,0x3FFFFDC2}, + [I(235,50)] = {30,0x3FFFFDE2}, + [I(236,50)] = {29,0x1FFFFE82}, + [I(237,50)] = {29,0x1FFFFEA2}, + [I(238,50)] = {31,0x7FFFFD42}, + [I(239,50)] = {28,0xFFFFE82}, + [I(240,50)] = {31,0x7FFFFD62}, + [I(241,50)] = {X32,0xFFFFFCC2}, + [I(242,50)] = {31,0x7FFFFD82}, + [I(243,50)] = {31,0x7FFFFDA2}, + [I(244,50)] = {X32,0xFFFFFCE2}, + [I(245,50)] = {X32,0xFFFFFD02}, + [I(246,50)] = {X32,0xFFFFFD22}, + [I(247,50)] = {X32,0xFFFFFD42}, + [I(248,50)] = {X32,0xFFFFFD62}, + [I(249,50)] = {64,0}, + [I(250,50)] = {X32,0xFFFFFD82}, + [I(251,50)] = {X32,0xFFFFFDA2}, + [I(252,50)] = {X32,0xFFFFFDC2}, + [I(253,50)] = {X32,0xFFFFFDE2}, + [I(254,50)] = {X32,0xFFFFFE02}, + [I(255,50)] = {31,0x7FFFFDC2}, + [I(0,51)] = {19,0x7FE19}, + [I(1,51)] = {29,0x1FFFF619}, + [I(2,51)] = {64,0}, + [I(3,51)] = {64,0}, + [I(4,51)] = {64,0}, + [I(5,51)] = {64,0}, + [I(6,51)] = {64,0}, + [I(7,51)] = {64,0}, + [I(8,51)] = {64,0}, + [I(9,51)] = {30,0x3FFFFA99}, + [I(10,51)] = {64,0}, + [I(11,51)] = {64,0}, + [I(12,51)] = {64,0}, + [I(13,51)] = {64,0}, + [I(14,51)] = {64,0}, + [I(15,51)] = {64,0}, + [I(16,51)] = {64,0}, + [I(17,51)] = {64,0}, + [I(18,51)] = {64,0}, + [I(19,51)] = {64,0}, + [I(20,51)] = {64,0}, + [I(21,51)] = {64,0}, + [I(22,51)] = {64,0}, + [I(23,51)] = {64,0}, + [I(24,51)] = {64,0}, + [I(25,51)] = {64,0}, + [I(26,51)] = {64,0}, + [I(27,51)] = {64,0}, + [I(28,51)] = {64,0}, + [I(29,51)] = {64,0}, + [I(30,51)] = {64,0}, + [I(31,51)] = {64,0}, + [I(32,51)] = {12,0x519}, + [I(33,51)] = {16,0xFE19}, + [I(34,51)] = {16,0xFE59}, + [I(35,51)] = {18,0x3FE99}, + [I(36,51)] = {19,0x7FE59}, + [I(37,51)] = {12,0x559}, + [I(38,51)] = {14,0x3E19}, + [I(39,51)] = {17,0x1FE99}, + [I(40,51)] = {16,0xFE99}, + [I(41,51)] = {16,0xFED9}, + [I(42,51)] = {14,0x3E59}, + [I(43,51)] = {17,0x1FED9}, + [I(44,51)] = {14,0x3E99}, + [I(45,51)] = {12,0x599}, + [I(46,51)] = {12,0x5D9}, + [I(47,51)] = {12,0x619}, + [I(48,51)] = {11,0x19}, + [I(49,51)] = {11,0x59}, + [I(50,51)] = {11,0x99}, + [I(51,51)] = {12,0x659}, + [I(52,51)] = {12,0x699}, + [I(53,51)] = {12,0x6D9}, + [I(54,51)] = {12,0x719}, + [I(55,51)] = {12,0x759}, + [I(56,51)] = {12,0x799}, + [I(57,51)] = {12,0x7D9}, + [I(58,51)] = {13,0x1719}, + [I(59,51)] = {14,0x3ED9}, + [I(60,51)] = {21,0x1FFF19}, + [I(61,51)] = {12,0x819}, + [I(62,51)] = {18,0x3FED9}, + [I(63,51)] = {16,0xFF19}, + [I(64,51)] = {19,0x7FE99}, + [I(65,51)] = {12,0x859}, + [I(66,51)] = {13,0x1759}, + [I(67,51)] = {13,0x1799}, + [I(68,51)] = {13,0x17D9}, + [I(69,51)] = {13,0x1819}, + [I(70,51)] = {13,0x1859}, + [I(71,51)] = {13,0x1899}, + [I(72,51)] = {13,0x18D9}, + [I(73,51)] = {13,0x1919}, + [I(74,51)] = {13,0x1959}, + [I(75,51)] = {13,0x1999}, + [I(76,51)] = {13,0x19D9}, + [I(77,51)] = {13,0x1A19}, + [I(78,51)] = {13,0x1A59}, + [I(79,51)] = {13,0x1A99}, + [I(80,51)] = {13,0x1AD9}, + [I(81,51)] = {13,0x1B19}, + [I(82,51)] = {13,0x1B59}, + [I(83,51)] = {13,0x1B99}, + [I(84,51)] = {13,0x1BD9}, + [I(85,51)] = {13,0x1C19}, + [I(86,51)] = {13,0x1C59}, + [I(87,51)] = {13,0x1C99}, + [I(88,51)] = {14,0x3F19}, + [I(89,51)] = {13,0x1CD9}, + [I(90,51)] = {14,0x3F59}, + [I(91,51)] = {19,0x7FED9}, + [I(92,51)] = {25,0x1FFFC19}, + [I(93,51)] = {19,0x7FF19}, + [I(94,51)] = {20,0xFFF19}, + [I(95,51)] = {12,0x899}, + [I(96,51)] = {21,0x1FFF59}, + [I(97,51)] = {11,0xD9}, + [I(98,51)] = {12,0x8D9}, + [I(99,51)] = {11,0x119}, + [I(100,51)] = {12,0x919}, + [I(101,51)] = {11,0x159}, + [I(102,51)] = {12,0x959}, + [I(103,51)] = {12,0x999}, + [I(104,51)] = {12,0x9D9}, + [I(105,51)] = {11,0x199}, + [I(106,51)] = {13,0x1D19}, + [I(107,51)] = {13,0x1D59}, + [I(108,51)] = {12,0xA19}, + [I(109,51)] = {12,0xA59}, + [I(110,51)] = {12,0xA99}, + [I(111,51)] = {11,0x1D9}, + [I(112,51)] = {12,0xAD9}, + [I(113,51)] = {13,0x1D99}, + [I(114,51)] = {12,0xB19}, + [I(115,51)] = {11,0x219}, + [I(116,51)] = {11,0x259}, + [I(117,51)] = {12,0xB59}, + [I(118,51)] = {13,0x1DD9}, + [I(119,51)] = {13,0x1E19}, + [I(120,51)] = {13,0x1E59}, + [I(121,51)] = {13,0x1E99}, + [I(122,51)] = {13,0x1ED9}, + [I(123,51)] = {21,0x1FFF99}, + [I(124,51)] = {17,0x1FF19}, + [I(125,51)] = {20,0xFFF59}, + [I(126,51)] = {19,0x7FF59}, + [I(127,51)] = {64,0}, + [I(128,51)] = {26,0x3FFF999}, + [I(129,51)] = {28,0xFFFF499}, + [I(130,51)] = {26,0x3FFF9D9}, + [I(131,51)] = {26,0x3FFFA19}, + [I(132,51)] = {28,0xFFFF4D9}, + [I(133,51)] = {28,0xFFFF519}, + [I(134,51)] = {28,0xFFFF559}, + [I(135,51)] = {29,0x1FFFF659}, + [I(136,51)] = {28,0xFFFF599}, + [I(137,51)] = {29,0x1FFFF699}, + [I(138,51)] = {29,0x1FFFF6D9}, + [I(139,51)] = {29,0x1FFFF719}, + [I(140,51)] = {29,0x1FFFF759}, + [I(141,51)] = {29,0x1FFFF799}, + [I(142,51)] = {30,0x3FFFFAD9}, + [I(143,51)] = {29,0x1FFFF7D9}, + [I(144,51)] = {30,0x3FFFFB19}, + [I(145,51)] = {30,0x3FFFFB59}, + [I(146,51)] = {28,0xFFFF5D9}, + [I(147,51)] = {29,0x1FFFF819}, + [I(148,51)] = {30,0x3FFFFB99}, + [I(149,51)] = {29,0x1FFFF859}, + [I(150,51)] = {29,0x1FFFF899}, + [I(151,51)] = {29,0x1FFFF8D9}, + [I(152,51)] = {29,0x1FFFF919}, + [I(153,51)] = {27,0x7FFF719}, + [I(154,51)] = {28,0xFFFF619}, + [I(155,51)] = {29,0x1FFFF959}, + [I(156,51)] = {28,0xFFFF659}, + [I(157,51)] = {29,0x1FFFF999}, + [I(158,51)] = {29,0x1FFFF9D9}, + [I(159,51)] = {30,0x3FFFFBD9}, + [I(160,51)] = {28,0xFFFF699}, + [I(161,51)] = {27,0x7FFF759}, + [I(162,51)] = {26,0x3FFFA59}, + [I(163,51)] = {28,0xFFFF6D9}, + [I(164,51)] = {28,0xFFFF719}, + [I(165,51)] = {29,0x1FFFFA19}, + [I(166,51)] = {29,0x1FFFFA59}, + [I(167,51)] = {27,0x7FFF799}, + [I(168,51)] = {29,0x1FFFFA99}, + [I(169,51)] = {28,0xFFFF759}, + [I(170,51)] = {28,0xFFFF799}, + [I(171,51)] = {30,0x3FFFFC19}, + [I(172,51)] = {27,0x7FFF7D9}, + [I(173,51)] = {28,0xFFFF7D9}, + [I(174,51)] = {29,0x1FFFFAD9}, + [I(175,51)] = {29,0x1FFFFB19}, + [I(176,51)] = {27,0x7FFF819}, + [I(177,51)] = {27,0x7FFF859}, + [I(178,51)] = {28,0xFFFF819}, + [I(179,51)] = {27,0x7FFF899}, + [I(180,51)] = {29,0x1FFFFB59}, + [I(181,51)] = {28,0xFFFF859}, + [I(182,51)] = {29,0x1FFFFB99}, + [I(183,51)] = {29,0x1FFFFBD9}, + [I(184,51)] = {26,0x3FFFA99}, + [I(185,51)] = {28,0xFFFF899}, + [I(186,51)] = {28,0xFFFF8D9}, + [I(187,51)] = {28,0xFFFF919}, + [I(188,51)] = {29,0x1FFFFC19}, + [I(189,51)] = {28,0xFFFF959}, + [I(190,51)] = {28,0xFFFF999}, + [I(191,51)] = {29,0x1FFFFC59}, + [I(192,51)] = {X32,0xFFFFF819}, + [I(193,51)] = {X32,0xFFFFF859}, + [I(194,51)] = {26,0x3FFFAD9}, + [I(195,51)] = {25,0x1FFFC59}, + [I(196,51)] = {28,0xFFFF9D9}, + [I(197,51)] = {29,0x1FFFFC99}, + [I(198,51)] = {28,0xFFFFA19}, + [I(199,51)] = {31,0x7FFFFB19}, + [I(200,51)] = {X32,0xFFFFF899}, + [I(201,51)] = {X32,0xFFFFF8D9}, + [I(202,51)] = {X32,0xFFFFF919}, + [I(203,51)] = {64,0}, + [I(204,51)] = {64,0}, + [I(205,51)] = {X32,0xFFFFF959}, + [I(206,51)] = {30,0x3FFFFC59}, + [I(207,51)] = {31,0x7FFFFB59}, + [I(208,51)] = {25,0x1FFFC99}, + [I(209,51)] = {27,0x7FFF8D9}, + [I(210,51)] = {X32,0xFFFFF999}, + [I(211,51)] = {64,0}, + [I(212,51)] = {64,0}, + [I(213,51)] = {X32,0xFFFFF9D9}, + [I(214,51)] = {64,0}, + [I(215,51)] = {30,0x3FFFFC99}, + [I(216,51)] = {27,0x7FFF919}, + [I(217,51)] = {27,0x7FFF959}, + [I(218,51)] = {X32,0xFFFFFA19}, + [I(219,51)] = {X32,0xFFFFFA59}, + [I(220,51)] = {64,0}, + [I(221,51)] = {64,0}, + [I(222,51)] = {64,0}, + [I(223,51)] = {64,0}, + [I(224,51)] = {26,0x3FFFB19}, + [I(225,51)] = {30,0x3FFFFCD9}, + [I(226,51)] = {26,0x3FFFB59}, + [I(227,51)] = {27,0x7FFF999}, + [I(228,51)] = {28,0xFFFFA59}, + [I(229,51)] = {27,0x7FFF9D9}, + [I(230,51)] = {27,0x7FFFA19}, + [I(231,51)] = {29,0x1FFFFCD9}, + [I(232,51)] = {28,0xFFFFA99}, + [I(233,51)] = {28,0xFFFFAD9}, + [I(234,51)] = {31,0x7FFFFB99}, + [I(235,51)] = {31,0x7FFFFBD9}, + [I(236,51)] = {30,0x3FFFFD19}, + [I(237,51)] = {30,0x3FFFFD59}, + [I(238,51)] = {X32,0xFFFFFA99}, + [I(239,51)] = {29,0x1FFFFD19}, + [I(240,51)] = {X32,0xFFFFFAD9}, + [I(241,51)] = {64,0}, + [I(242,51)] = {X32,0xFFFFFB19}, + [I(243,51)] = {X32,0xFFFFFB59}, + [I(244,51)] = {64,0}, + [I(245,51)] = {64,0}, + [I(246,51)] = {64,0}, + [I(247,51)] = {64,0}, + [I(248,51)] = {64,0}, + [I(249,51)] = {64,0}, + [I(250,51)] = {64,0}, + [I(251,51)] = {64,0}, + [I(252,51)] = {64,0}, + [I(253,51)] = {64,0}, + [I(254,51)] = {64,0}, + [I(255,51)] = {X32,0xFFFFFB99}, + [I(0,52)] = {19,0x7FE1A}, + [I(1,52)] = {29,0x1FFFF61A}, + [I(2,52)] = {64,0}, + [I(3,52)] = {64,0}, + [I(4,52)] = {64,0}, + [I(5,52)] = {64,0}, + [I(6,52)] = {64,0}, + [I(7,52)] = {64,0}, + [I(8,52)] = {64,0}, + [I(9,52)] = {30,0x3FFFFA9A}, + [I(10,52)] = {64,0}, + [I(11,52)] = {64,0}, + [I(12,52)] = {64,0}, + [I(13,52)] = {64,0}, + [I(14,52)] = {64,0}, + [I(15,52)] = {64,0}, + [I(16,52)] = {64,0}, + [I(17,52)] = {64,0}, + [I(18,52)] = {64,0}, + [I(19,52)] = {64,0}, + [I(20,52)] = {64,0}, + [I(21,52)] = {64,0}, + [I(22,52)] = {64,0}, + [I(23,52)] = {64,0}, + [I(24,52)] = {64,0}, + [I(25,52)] = {64,0}, + [I(26,52)] = {64,0}, + [I(27,52)] = {64,0}, + [I(28,52)] = {64,0}, + [I(29,52)] = {64,0}, + [I(30,52)] = {64,0}, + [I(31,52)] = {64,0}, + [I(32,52)] = {12,0x51A}, + [I(33,52)] = {16,0xFE1A}, + [I(34,52)] = {16,0xFE5A}, + [I(35,52)] = {18,0x3FE9A}, + [I(36,52)] = {19,0x7FE5A}, + [I(37,52)] = {12,0x55A}, + [I(38,52)] = {14,0x3E1A}, + [I(39,52)] = {17,0x1FE9A}, + [I(40,52)] = {16,0xFE9A}, + [I(41,52)] = {16,0xFEDA}, + [I(42,52)] = {14,0x3E5A}, + [I(43,52)] = {17,0x1FEDA}, + [I(44,52)] = {14,0x3E9A}, + [I(45,52)] = {12,0x59A}, + [I(46,52)] = {12,0x5DA}, + [I(47,52)] = {12,0x61A}, + [I(48,52)] = {11,0x1A}, + [I(49,52)] = {11,0x5A}, + [I(50,52)] = {11,0x9A}, + [I(51,52)] = {12,0x65A}, + [I(52,52)] = {12,0x69A}, + [I(53,52)] = {12,0x6DA}, + [I(54,52)] = {12,0x71A}, + [I(55,52)] = {12,0x75A}, + [I(56,52)] = {12,0x79A}, + [I(57,52)] = {12,0x7DA}, + [I(58,52)] = {13,0x171A}, + [I(59,52)] = {14,0x3EDA}, + [I(60,52)] = {21,0x1FFF1A}, + [I(61,52)] = {12,0x81A}, + [I(62,52)] = {18,0x3FEDA}, + [I(63,52)] = {16,0xFF1A}, + [I(64,52)] = {19,0x7FE9A}, + [I(65,52)] = {12,0x85A}, + [I(66,52)] = {13,0x175A}, + [I(67,52)] = {13,0x179A}, + [I(68,52)] = {13,0x17DA}, + [I(69,52)] = {13,0x181A}, + [I(70,52)] = {13,0x185A}, + [I(71,52)] = {13,0x189A}, + [I(72,52)] = {13,0x18DA}, + [I(73,52)] = {13,0x191A}, + [I(74,52)] = {13,0x195A}, + [I(75,52)] = {13,0x199A}, + [I(76,52)] = {13,0x19DA}, + [I(77,52)] = {13,0x1A1A}, + [I(78,52)] = {13,0x1A5A}, + [I(79,52)] = {13,0x1A9A}, + [I(80,52)] = {13,0x1ADA}, + [I(81,52)] = {13,0x1B1A}, + [I(82,52)] = {13,0x1B5A}, + [I(83,52)] = {13,0x1B9A}, + [I(84,52)] = {13,0x1BDA}, + [I(85,52)] = {13,0x1C1A}, + [I(86,52)] = {13,0x1C5A}, + [I(87,52)] = {13,0x1C9A}, + [I(88,52)] = {14,0x3F1A}, + [I(89,52)] = {13,0x1CDA}, + [I(90,52)] = {14,0x3F5A}, + [I(91,52)] = {19,0x7FEDA}, + [I(92,52)] = {25,0x1FFFC1A}, + [I(93,52)] = {19,0x7FF1A}, + [I(94,52)] = {20,0xFFF1A}, + [I(95,52)] = {12,0x89A}, + [I(96,52)] = {21,0x1FFF5A}, + [I(97,52)] = {11,0xDA}, + [I(98,52)] = {12,0x8DA}, + [I(99,52)] = {11,0x11A}, + [I(100,52)] = {12,0x91A}, + [I(101,52)] = {11,0x15A}, + [I(102,52)] = {12,0x95A}, + [I(103,52)] = {12,0x99A}, + [I(104,52)] = {12,0x9DA}, + [I(105,52)] = {11,0x19A}, + [I(106,52)] = {13,0x1D1A}, + [I(107,52)] = {13,0x1D5A}, + [I(108,52)] = {12,0xA1A}, + [I(109,52)] = {12,0xA5A}, + [I(110,52)] = {12,0xA9A}, + [I(111,52)] = {11,0x1DA}, + [I(112,52)] = {12,0xADA}, + [I(113,52)] = {13,0x1D9A}, + [I(114,52)] = {12,0xB1A}, + [I(115,52)] = {11,0x21A}, + [I(116,52)] = {11,0x25A}, + [I(117,52)] = {12,0xB5A}, + [I(118,52)] = {13,0x1DDA}, + [I(119,52)] = {13,0x1E1A}, + [I(120,52)] = {13,0x1E5A}, + [I(121,52)] = {13,0x1E9A}, + [I(122,52)] = {13,0x1EDA}, + [I(123,52)] = {21,0x1FFF9A}, + [I(124,52)] = {17,0x1FF1A}, + [I(125,52)] = {20,0xFFF5A}, + [I(126,52)] = {19,0x7FF5A}, + [I(127,52)] = {64,0}, + [I(128,52)] = {26,0x3FFF99A}, + [I(129,52)] = {28,0xFFFF49A}, + [I(130,52)] = {26,0x3FFF9DA}, + [I(131,52)] = {26,0x3FFFA1A}, + [I(132,52)] = {28,0xFFFF4DA}, + [I(133,52)] = {28,0xFFFF51A}, + [I(134,52)] = {28,0xFFFF55A}, + [I(135,52)] = {29,0x1FFFF65A}, + [I(136,52)] = {28,0xFFFF59A}, + [I(137,52)] = {29,0x1FFFF69A}, + [I(138,52)] = {29,0x1FFFF6DA}, + [I(139,52)] = {29,0x1FFFF71A}, + [I(140,52)] = {29,0x1FFFF75A}, + [I(141,52)] = {29,0x1FFFF79A}, + [I(142,52)] = {30,0x3FFFFADA}, + [I(143,52)] = {29,0x1FFFF7DA}, + [I(144,52)] = {30,0x3FFFFB1A}, + [I(145,52)] = {30,0x3FFFFB5A}, + [I(146,52)] = {28,0xFFFF5DA}, + [I(147,52)] = {29,0x1FFFF81A}, + [I(148,52)] = {30,0x3FFFFB9A}, + [I(149,52)] = {29,0x1FFFF85A}, + [I(150,52)] = {29,0x1FFFF89A}, + [I(151,52)] = {29,0x1FFFF8DA}, + [I(152,52)] = {29,0x1FFFF91A}, + [I(153,52)] = {27,0x7FFF71A}, + [I(154,52)] = {28,0xFFFF61A}, + [I(155,52)] = {29,0x1FFFF95A}, + [I(156,52)] = {28,0xFFFF65A}, + [I(157,52)] = {29,0x1FFFF99A}, + [I(158,52)] = {29,0x1FFFF9DA}, + [I(159,52)] = {30,0x3FFFFBDA}, + [I(160,52)] = {28,0xFFFF69A}, + [I(161,52)] = {27,0x7FFF75A}, + [I(162,52)] = {26,0x3FFFA5A}, + [I(163,52)] = {28,0xFFFF6DA}, + [I(164,52)] = {28,0xFFFF71A}, + [I(165,52)] = {29,0x1FFFFA1A}, + [I(166,52)] = {29,0x1FFFFA5A}, + [I(167,52)] = {27,0x7FFF79A}, + [I(168,52)] = {29,0x1FFFFA9A}, + [I(169,52)] = {28,0xFFFF75A}, + [I(170,52)] = {28,0xFFFF79A}, + [I(171,52)] = {30,0x3FFFFC1A}, + [I(172,52)] = {27,0x7FFF7DA}, + [I(173,52)] = {28,0xFFFF7DA}, + [I(174,52)] = {29,0x1FFFFADA}, + [I(175,52)] = {29,0x1FFFFB1A}, + [I(176,52)] = {27,0x7FFF81A}, + [I(177,52)] = {27,0x7FFF85A}, + [I(178,52)] = {28,0xFFFF81A}, + [I(179,52)] = {27,0x7FFF89A}, + [I(180,52)] = {29,0x1FFFFB5A}, + [I(181,52)] = {28,0xFFFF85A}, + [I(182,52)] = {29,0x1FFFFB9A}, + [I(183,52)] = {29,0x1FFFFBDA}, + [I(184,52)] = {26,0x3FFFA9A}, + [I(185,52)] = {28,0xFFFF89A}, + [I(186,52)] = {28,0xFFFF8DA}, + [I(187,52)] = {28,0xFFFF91A}, + [I(188,52)] = {29,0x1FFFFC1A}, + [I(189,52)] = {28,0xFFFF95A}, + [I(190,52)] = {28,0xFFFF99A}, + [I(191,52)] = {29,0x1FFFFC5A}, + [I(192,52)] = {X32,0xFFFFF81A}, + [I(193,52)] = {X32,0xFFFFF85A}, + [I(194,52)] = {26,0x3FFFADA}, + [I(195,52)] = {25,0x1FFFC5A}, + [I(196,52)] = {28,0xFFFF9DA}, + [I(197,52)] = {29,0x1FFFFC9A}, + [I(198,52)] = {28,0xFFFFA1A}, + [I(199,52)] = {31,0x7FFFFB1A}, + [I(200,52)] = {X32,0xFFFFF89A}, + [I(201,52)] = {X32,0xFFFFF8DA}, + [I(202,52)] = {X32,0xFFFFF91A}, + [I(203,52)] = {64,0}, + [I(204,52)] = {64,0}, + [I(205,52)] = {X32,0xFFFFF95A}, + [I(206,52)] = {30,0x3FFFFC5A}, + [I(207,52)] = {31,0x7FFFFB5A}, + [I(208,52)] = {25,0x1FFFC9A}, + [I(209,52)] = {27,0x7FFF8DA}, + [I(210,52)] = {X32,0xFFFFF99A}, + [I(211,52)] = {64,0}, + [I(212,52)] = {64,0}, + [I(213,52)] = {X32,0xFFFFF9DA}, + [I(214,52)] = {64,0}, + [I(215,52)] = {30,0x3FFFFC9A}, + [I(216,52)] = {27,0x7FFF91A}, + [I(217,52)] = {27,0x7FFF95A}, + [I(218,52)] = {X32,0xFFFFFA1A}, + [I(219,52)] = {X32,0xFFFFFA5A}, + [I(220,52)] = {64,0}, + [I(221,52)] = {64,0}, + [I(222,52)] = {64,0}, + [I(223,52)] = {64,0}, + [I(224,52)] = {26,0x3FFFB1A}, + [I(225,52)] = {30,0x3FFFFCDA}, + [I(226,52)] = {26,0x3FFFB5A}, + [I(227,52)] = {27,0x7FFF99A}, + [I(228,52)] = {28,0xFFFFA5A}, + [I(229,52)] = {27,0x7FFF9DA}, + [I(230,52)] = {27,0x7FFFA1A}, + [I(231,52)] = {29,0x1FFFFCDA}, + [I(232,52)] = {28,0xFFFFA9A}, + [I(233,52)] = {28,0xFFFFADA}, + [I(234,52)] = {31,0x7FFFFB9A}, + [I(235,52)] = {31,0x7FFFFBDA}, + [I(236,52)] = {30,0x3FFFFD1A}, + [I(237,52)] = {30,0x3FFFFD5A}, + [I(238,52)] = {X32,0xFFFFFA9A}, + [I(239,52)] = {29,0x1FFFFD1A}, + [I(240,52)] = {X32,0xFFFFFADA}, + [I(241,52)] = {64,0}, + [I(242,52)] = {X32,0xFFFFFB1A}, + [I(243,52)] = {X32,0xFFFFFB5A}, + [I(244,52)] = {64,0}, + [I(245,52)] = {64,0}, + [I(246,52)] = {64,0}, + [I(247,52)] = {64,0}, + [I(248,52)] = {64,0}, + [I(249,52)] = {64,0}, + [I(250,52)] = {64,0}, + [I(251,52)] = {64,0}, + [I(252,52)] = {64,0}, + [I(253,52)] = {64,0}, + [I(254,52)] = {64,0}, + [I(255,52)] = {X32,0xFFFFFB9A}, + [I(0,53)] = {19,0x7FE1B}, + [I(1,53)] = {29,0x1FFFF61B}, + [I(2,53)] = {64,0}, + [I(3,53)] = {64,0}, + [I(4,53)] = {64,0}, + [I(5,53)] = {64,0}, + [I(6,53)] = {64,0}, + [I(7,53)] = {64,0}, + [I(8,53)] = {64,0}, + [I(9,53)] = {30,0x3FFFFA9B}, + [I(10,53)] = {64,0}, + [I(11,53)] = {64,0}, + [I(12,53)] = {64,0}, + [I(13,53)] = {64,0}, + [I(14,53)] = {64,0}, + [I(15,53)] = {64,0}, + [I(16,53)] = {64,0}, + [I(17,53)] = {64,0}, + [I(18,53)] = {64,0}, + [I(19,53)] = {64,0}, + [I(20,53)] = {64,0}, + [I(21,53)] = {64,0}, + [I(22,53)] = {64,0}, + [I(23,53)] = {64,0}, + [I(24,53)] = {64,0}, + [I(25,53)] = {64,0}, + [I(26,53)] = {64,0}, + [I(27,53)] = {64,0}, + [I(28,53)] = {64,0}, + [I(29,53)] = {64,0}, + [I(30,53)] = {64,0}, + [I(31,53)] = {64,0}, + [I(32,53)] = {12,0x51B}, + [I(33,53)] = {16,0xFE1B}, + [I(34,53)] = {16,0xFE5B}, + [I(35,53)] = {18,0x3FE9B}, + [I(36,53)] = {19,0x7FE5B}, + [I(37,53)] = {12,0x55B}, + [I(38,53)] = {14,0x3E1B}, + [I(39,53)] = {17,0x1FE9B}, + [I(40,53)] = {16,0xFE9B}, + [I(41,53)] = {16,0xFEDB}, + [I(42,53)] = {14,0x3E5B}, + [I(43,53)] = {17,0x1FEDB}, + [I(44,53)] = {14,0x3E9B}, + [I(45,53)] = {12,0x59B}, + [I(46,53)] = {12,0x5DB}, + [I(47,53)] = {12,0x61B}, + [I(48,53)] = {11,0x1B}, + [I(49,53)] = {11,0x5B}, + [I(50,53)] = {11,0x9B}, + [I(51,53)] = {12,0x65B}, + [I(52,53)] = {12,0x69B}, + [I(53,53)] = {12,0x6DB}, + [I(54,53)] = {12,0x71B}, + [I(55,53)] = {12,0x75B}, + [I(56,53)] = {12,0x79B}, + [I(57,53)] = {12,0x7DB}, + [I(58,53)] = {13,0x171B}, + [I(59,53)] = {14,0x3EDB}, + [I(60,53)] = {21,0x1FFF1B}, + [I(61,53)] = {12,0x81B}, + [I(62,53)] = {18,0x3FEDB}, + [I(63,53)] = {16,0xFF1B}, + [I(64,53)] = {19,0x7FE9B}, + [I(65,53)] = {12,0x85B}, + [I(66,53)] = {13,0x175B}, + [I(67,53)] = {13,0x179B}, + [I(68,53)] = {13,0x17DB}, + [I(69,53)] = {13,0x181B}, + [I(70,53)] = {13,0x185B}, + [I(71,53)] = {13,0x189B}, + [I(72,53)] = {13,0x18DB}, + [I(73,53)] = {13,0x191B}, + [I(74,53)] = {13,0x195B}, + [I(75,53)] = {13,0x199B}, + [I(76,53)] = {13,0x19DB}, + [I(77,53)] = {13,0x1A1B}, + [I(78,53)] = {13,0x1A5B}, + [I(79,53)] = {13,0x1A9B}, + [I(80,53)] = {13,0x1ADB}, + [I(81,53)] = {13,0x1B1B}, + [I(82,53)] = {13,0x1B5B}, + [I(83,53)] = {13,0x1B9B}, + [I(84,53)] = {13,0x1BDB}, + [I(85,53)] = {13,0x1C1B}, + [I(86,53)] = {13,0x1C5B}, + [I(87,53)] = {13,0x1C9B}, + [I(88,53)] = {14,0x3F1B}, + [I(89,53)] = {13,0x1CDB}, + [I(90,53)] = {14,0x3F5B}, + [I(91,53)] = {19,0x7FEDB}, + [I(92,53)] = {25,0x1FFFC1B}, + [I(93,53)] = {19,0x7FF1B}, + [I(94,53)] = {20,0xFFF1B}, + [I(95,53)] = {12,0x89B}, + [I(96,53)] = {21,0x1FFF5B}, + [I(97,53)] = {11,0xDB}, + [I(98,53)] = {12,0x8DB}, + [I(99,53)] = {11,0x11B}, + [I(100,53)] = {12,0x91B}, + [I(101,53)] = {11,0x15B}, + [I(102,53)] = {12,0x95B}, + [I(103,53)] = {12,0x99B}, + [I(104,53)] = {12,0x9DB}, + [I(105,53)] = {11,0x19B}, + [I(106,53)] = {13,0x1D1B}, + [I(107,53)] = {13,0x1D5B}, + [I(108,53)] = {12,0xA1B}, + [I(109,53)] = {12,0xA5B}, + [I(110,53)] = {12,0xA9B}, + [I(111,53)] = {11,0x1DB}, + [I(112,53)] = {12,0xADB}, + [I(113,53)] = {13,0x1D9B}, + [I(114,53)] = {12,0xB1B}, + [I(115,53)] = {11,0x21B}, + [I(116,53)] = {11,0x25B}, + [I(117,53)] = {12,0xB5B}, + [I(118,53)] = {13,0x1DDB}, + [I(119,53)] = {13,0x1E1B}, + [I(120,53)] = {13,0x1E5B}, + [I(121,53)] = {13,0x1E9B}, + [I(122,53)] = {13,0x1EDB}, + [I(123,53)] = {21,0x1FFF9B}, + [I(124,53)] = {17,0x1FF1B}, + [I(125,53)] = {20,0xFFF5B}, + [I(126,53)] = {19,0x7FF5B}, + [I(127,53)] = {64,0}, + [I(128,53)] = {26,0x3FFF99B}, + [I(129,53)] = {28,0xFFFF49B}, + [I(130,53)] = {26,0x3FFF9DB}, + [I(131,53)] = {26,0x3FFFA1B}, + [I(132,53)] = {28,0xFFFF4DB}, + [I(133,53)] = {28,0xFFFF51B}, + [I(134,53)] = {28,0xFFFF55B}, + [I(135,53)] = {29,0x1FFFF65B}, + [I(136,53)] = {28,0xFFFF59B}, + [I(137,53)] = {29,0x1FFFF69B}, + [I(138,53)] = {29,0x1FFFF6DB}, + [I(139,53)] = {29,0x1FFFF71B}, + [I(140,53)] = {29,0x1FFFF75B}, + [I(141,53)] = {29,0x1FFFF79B}, + [I(142,53)] = {30,0x3FFFFADB}, + [I(143,53)] = {29,0x1FFFF7DB}, + [I(144,53)] = {30,0x3FFFFB1B}, + [I(145,53)] = {30,0x3FFFFB5B}, + [I(146,53)] = {28,0xFFFF5DB}, + [I(147,53)] = {29,0x1FFFF81B}, + [I(148,53)] = {30,0x3FFFFB9B}, + [I(149,53)] = {29,0x1FFFF85B}, + [I(150,53)] = {29,0x1FFFF89B}, + [I(151,53)] = {29,0x1FFFF8DB}, + [I(152,53)] = {29,0x1FFFF91B}, + [I(153,53)] = {27,0x7FFF71B}, + [I(154,53)] = {28,0xFFFF61B}, + [I(155,53)] = {29,0x1FFFF95B}, + [I(156,53)] = {28,0xFFFF65B}, + [I(157,53)] = {29,0x1FFFF99B}, + [I(158,53)] = {29,0x1FFFF9DB}, + [I(159,53)] = {30,0x3FFFFBDB}, + [I(160,53)] = {28,0xFFFF69B}, + [I(161,53)] = {27,0x7FFF75B}, + [I(162,53)] = {26,0x3FFFA5B}, + [I(163,53)] = {28,0xFFFF6DB}, + [I(164,53)] = {28,0xFFFF71B}, + [I(165,53)] = {29,0x1FFFFA1B}, + [I(166,53)] = {29,0x1FFFFA5B}, + [I(167,53)] = {27,0x7FFF79B}, + [I(168,53)] = {29,0x1FFFFA9B}, + [I(169,53)] = {28,0xFFFF75B}, + [I(170,53)] = {28,0xFFFF79B}, + [I(171,53)] = {30,0x3FFFFC1B}, + [I(172,53)] = {27,0x7FFF7DB}, + [I(173,53)] = {28,0xFFFF7DB}, + [I(174,53)] = {29,0x1FFFFADB}, + [I(175,53)] = {29,0x1FFFFB1B}, + [I(176,53)] = {27,0x7FFF81B}, + [I(177,53)] = {27,0x7FFF85B}, + [I(178,53)] = {28,0xFFFF81B}, + [I(179,53)] = {27,0x7FFF89B}, + [I(180,53)] = {29,0x1FFFFB5B}, + [I(181,53)] = {28,0xFFFF85B}, + [I(182,53)] = {29,0x1FFFFB9B}, + [I(183,53)] = {29,0x1FFFFBDB}, + [I(184,53)] = {26,0x3FFFA9B}, + [I(185,53)] = {28,0xFFFF89B}, + [I(186,53)] = {28,0xFFFF8DB}, + [I(187,53)] = {28,0xFFFF91B}, + [I(188,53)] = {29,0x1FFFFC1B}, + [I(189,53)] = {28,0xFFFF95B}, + [I(190,53)] = {28,0xFFFF99B}, + [I(191,53)] = {29,0x1FFFFC5B}, + [I(192,53)] = {X32,0xFFFFF81B}, + [I(193,53)] = {X32,0xFFFFF85B}, + [I(194,53)] = {26,0x3FFFADB}, + [I(195,53)] = {25,0x1FFFC5B}, + [I(196,53)] = {28,0xFFFF9DB}, + [I(197,53)] = {29,0x1FFFFC9B}, + [I(198,53)] = {28,0xFFFFA1B}, + [I(199,53)] = {31,0x7FFFFB1B}, + [I(200,53)] = {X32,0xFFFFF89B}, + [I(201,53)] = {X32,0xFFFFF8DB}, + [I(202,53)] = {X32,0xFFFFF91B}, + [I(203,53)] = {64,0}, + [I(204,53)] = {64,0}, + [I(205,53)] = {X32,0xFFFFF95B}, + [I(206,53)] = {30,0x3FFFFC5B}, + [I(207,53)] = {31,0x7FFFFB5B}, + [I(208,53)] = {25,0x1FFFC9B}, + [I(209,53)] = {27,0x7FFF8DB}, + [I(210,53)] = {X32,0xFFFFF99B}, + [I(211,53)] = {64,0}, + [I(212,53)] = {64,0}, + [I(213,53)] = {X32,0xFFFFF9DB}, + [I(214,53)] = {64,0}, + [I(215,53)] = {30,0x3FFFFC9B}, + [I(216,53)] = {27,0x7FFF91B}, + [I(217,53)] = {27,0x7FFF95B}, + [I(218,53)] = {X32,0xFFFFFA1B}, + [I(219,53)] = {X32,0xFFFFFA5B}, + [I(220,53)] = {64,0}, + [I(221,53)] = {64,0}, + [I(222,53)] = {64,0}, + [I(223,53)] = {64,0}, + [I(224,53)] = {26,0x3FFFB1B}, + [I(225,53)] = {30,0x3FFFFCDB}, + [I(226,53)] = {26,0x3FFFB5B}, + [I(227,53)] = {27,0x7FFF99B}, + [I(228,53)] = {28,0xFFFFA5B}, + [I(229,53)] = {27,0x7FFF9DB}, + [I(230,53)] = {27,0x7FFFA1B}, + [I(231,53)] = {29,0x1FFFFCDB}, + [I(232,53)] = {28,0xFFFFA9B}, + [I(233,53)] = {28,0xFFFFADB}, + [I(234,53)] = {31,0x7FFFFB9B}, + [I(235,53)] = {31,0x7FFFFBDB}, + [I(236,53)] = {30,0x3FFFFD1B}, + [I(237,53)] = {30,0x3FFFFD5B}, + [I(238,53)] = {X32,0xFFFFFA9B}, + [I(239,53)] = {29,0x1FFFFD1B}, + [I(240,53)] = {X32,0xFFFFFADB}, + [I(241,53)] = {64,0}, + [I(242,53)] = {X32,0xFFFFFB1B}, + [I(243,53)] = {X32,0xFFFFFB5B}, + [I(244,53)] = {64,0}, + [I(245,53)] = {64,0}, + [I(246,53)] = {64,0}, + [I(247,53)] = {64,0}, + [I(248,53)] = {64,0}, + [I(249,53)] = {64,0}, + [I(250,53)] = {64,0}, + [I(251,53)] = {64,0}, + [I(252,53)] = {64,0}, + [I(253,53)] = {64,0}, + [I(254,53)] = {64,0}, + [I(255,53)] = {X32,0xFFFFFB9B}, + [I(0,54)] = {19,0x7FE1C}, + [I(1,54)] = {29,0x1FFFF61C}, + [I(2,54)] = {64,0}, + [I(3,54)] = {64,0}, + [I(4,54)] = {64,0}, + [I(5,54)] = {64,0}, + [I(6,54)] = {64,0}, + [I(7,54)] = {64,0}, + [I(8,54)] = {64,0}, + [I(9,54)] = {30,0x3FFFFA9C}, + [I(10,54)] = {64,0}, + [I(11,54)] = {64,0}, + [I(12,54)] = {64,0}, + [I(13,54)] = {64,0}, + [I(14,54)] = {64,0}, + [I(15,54)] = {64,0}, + [I(16,54)] = {64,0}, + [I(17,54)] = {64,0}, + [I(18,54)] = {64,0}, + [I(19,54)] = {64,0}, + [I(20,54)] = {64,0}, + [I(21,54)] = {64,0}, + [I(22,54)] = {64,0}, + [I(23,54)] = {64,0}, + [I(24,54)] = {64,0}, + [I(25,54)] = {64,0}, + [I(26,54)] = {64,0}, + [I(27,54)] = {64,0}, + [I(28,54)] = {64,0}, + [I(29,54)] = {64,0}, + [I(30,54)] = {64,0}, + [I(31,54)] = {64,0}, + [I(32,54)] = {12,0x51C}, + [I(33,54)] = {16,0xFE1C}, + [I(34,54)] = {16,0xFE5C}, + [I(35,54)] = {18,0x3FE9C}, + [I(36,54)] = {19,0x7FE5C}, + [I(37,54)] = {12,0x55C}, + [I(38,54)] = {14,0x3E1C}, + [I(39,54)] = {17,0x1FE9C}, + [I(40,54)] = {16,0xFE9C}, + [I(41,54)] = {16,0xFEDC}, + [I(42,54)] = {14,0x3E5C}, + [I(43,54)] = {17,0x1FEDC}, + [I(44,54)] = {14,0x3E9C}, + [I(45,54)] = {12,0x59C}, + [I(46,54)] = {12,0x5DC}, + [I(47,54)] = {12,0x61C}, + [I(48,54)] = {11,0x1C}, + [I(49,54)] = {11,0x5C}, + [I(50,54)] = {11,0x9C}, + [I(51,54)] = {12,0x65C}, + [I(52,54)] = {12,0x69C}, + [I(53,54)] = {12,0x6DC}, + [I(54,54)] = {12,0x71C}, + [I(55,54)] = {12,0x75C}, + [I(56,54)] = {12,0x79C}, + [I(57,54)] = {12,0x7DC}, + [I(58,54)] = {13,0x171C}, + [I(59,54)] = {14,0x3EDC}, + [I(60,54)] = {21,0x1FFF1C}, + [I(61,54)] = {12,0x81C}, + [I(62,54)] = {18,0x3FEDC}, + [I(63,54)] = {16,0xFF1C}, + [I(64,54)] = {19,0x7FE9C}, + [I(65,54)] = {12,0x85C}, + [I(66,54)] = {13,0x175C}, + [I(67,54)] = {13,0x179C}, + [I(68,54)] = {13,0x17DC}, + [I(69,54)] = {13,0x181C}, + [I(70,54)] = {13,0x185C}, + [I(71,54)] = {13,0x189C}, + [I(72,54)] = {13,0x18DC}, + [I(73,54)] = {13,0x191C}, + [I(74,54)] = {13,0x195C}, + [I(75,54)] = {13,0x199C}, + [I(76,54)] = {13,0x19DC}, + [I(77,54)] = {13,0x1A1C}, + [I(78,54)] = {13,0x1A5C}, + [I(79,54)] = {13,0x1A9C}, + [I(80,54)] = {13,0x1ADC}, + [I(81,54)] = {13,0x1B1C}, + [I(82,54)] = {13,0x1B5C}, + [I(83,54)] = {13,0x1B9C}, + [I(84,54)] = {13,0x1BDC}, + [I(85,54)] = {13,0x1C1C}, + [I(86,54)] = {13,0x1C5C}, + [I(87,54)] = {13,0x1C9C}, + [I(88,54)] = {14,0x3F1C}, + [I(89,54)] = {13,0x1CDC}, + [I(90,54)] = {14,0x3F5C}, + [I(91,54)] = {19,0x7FEDC}, + [I(92,54)] = {25,0x1FFFC1C}, + [I(93,54)] = {19,0x7FF1C}, + [I(94,54)] = {20,0xFFF1C}, + [I(95,54)] = {12,0x89C}, + [I(96,54)] = {21,0x1FFF5C}, + [I(97,54)] = {11,0xDC}, + [I(98,54)] = {12,0x8DC}, + [I(99,54)] = {11,0x11C}, + [I(100,54)] = {12,0x91C}, + [I(101,54)] = {11,0x15C}, + [I(102,54)] = {12,0x95C}, + [I(103,54)] = {12,0x99C}, + [I(104,54)] = {12,0x9DC}, + [I(105,54)] = {11,0x19C}, + [I(106,54)] = {13,0x1D1C}, + [I(107,54)] = {13,0x1D5C}, + [I(108,54)] = {12,0xA1C}, + [I(109,54)] = {12,0xA5C}, + [I(110,54)] = {12,0xA9C}, + [I(111,54)] = {11,0x1DC}, + [I(112,54)] = {12,0xADC}, + [I(113,54)] = {13,0x1D9C}, + [I(114,54)] = {12,0xB1C}, + [I(115,54)] = {11,0x21C}, + [I(116,54)] = {11,0x25C}, + [I(117,54)] = {12,0xB5C}, + [I(118,54)] = {13,0x1DDC}, + [I(119,54)] = {13,0x1E1C}, + [I(120,54)] = {13,0x1E5C}, + [I(121,54)] = {13,0x1E9C}, + [I(122,54)] = {13,0x1EDC}, + [I(123,54)] = {21,0x1FFF9C}, + [I(124,54)] = {17,0x1FF1C}, + [I(125,54)] = {20,0xFFF5C}, + [I(126,54)] = {19,0x7FF5C}, + [I(127,54)] = {64,0}, + [I(128,54)] = {26,0x3FFF99C}, + [I(129,54)] = {28,0xFFFF49C}, + [I(130,54)] = {26,0x3FFF9DC}, + [I(131,54)] = {26,0x3FFFA1C}, + [I(132,54)] = {28,0xFFFF4DC}, + [I(133,54)] = {28,0xFFFF51C}, + [I(134,54)] = {28,0xFFFF55C}, + [I(135,54)] = {29,0x1FFFF65C}, + [I(136,54)] = {28,0xFFFF59C}, + [I(137,54)] = {29,0x1FFFF69C}, + [I(138,54)] = {29,0x1FFFF6DC}, + [I(139,54)] = {29,0x1FFFF71C}, + [I(140,54)] = {29,0x1FFFF75C}, + [I(141,54)] = {29,0x1FFFF79C}, + [I(142,54)] = {30,0x3FFFFADC}, + [I(143,54)] = {29,0x1FFFF7DC}, + [I(144,54)] = {30,0x3FFFFB1C}, + [I(145,54)] = {30,0x3FFFFB5C}, + [I(146,54)] = {28,0xFFFF5DC}, + [I(147,54)] = {29,0x1FFFF81C}, + [I(148,54)] = {30,0x3FFFFB9C}, + [I(149,54)] = {29,0x1FFFF85C}, + [I(150,54)] = {29,0x1FFFF89C}, + [I(151,54)] = {29,0x1FFFF8DC}, + [I(152,54)] = {29,0x1FFFF91C}, + [I(153,54)] = {27,0x7FFF71C}, + [I(154,54)] = {28,0xFFFF61C}, + [I(155,54)] = {29,0x1FFFF95C}, + [I(156,54)] = {28,0xFFFF65C}, + [I(157,54)] = {29,0x1FFFF99C}, + [I(158,54)] = {29,0x1FFFF9DC}, + [I(159,54)] = {30,0x3FFFFBDC}, + [I(160,54)] = {28,0xFFFF69C}, + [I(161,54)] = {27,0x7FFF75C}, + [I(162,54)] = {26,0x3FFFA5C}, + [I(163,54)] = {28,0xFFFF6DC}, + [I(164,54)] = {28,0xFFFF71C}, + [I(165,54)] = {29,0x1FFFFA1C}, + [I(166,54)] = {29,0x1FFFFA5C}, + [I(167,54)] = {27,0x7FFF79C}, + [I(168,54)] = {29,0x1FFFFA9C}, + [I(169,54)] = {28,0xFFFF75C}, + [I(170,54)] = {28,0xFFFF79C}, + [I(171,54)] = {30,0x3FFFFC1C}, + [I(172,54)] = {27,0x7FFF7DC}, + [I(173,54)] = {28,0xFFFF7DC}, + [I(174,54)] = {29,0x1FFFFADC}, + [I(175,54)] = {29,0x1FFFFB1C}, + [I(176,54)] = {27,0x7FFF81C}, + [I(177,54)] = {27,0x7FFF85C}, + [I(178,54)] = {28,0xFFFF81C}, + [I(179,54)] = {27,0x7FFF89C}, + [I(180,54)] = {29,0x1FFFFB5C}, + [I(181,54)] = {28,0xFFFF85C}, + [I(182,54)] = {29,0x1FFFFB9C}, + [I(183,54)] = {29,0x1FFFFBDC}, + [I(184,54)] = {26,0x3FFFA9C}, + [I(185,54)] = {28,0xFFFF89C}, + [I(186,54)] = {28,0xFFFF8DC}, + [I(187,54)] = {28,0xFFFF91C}, + [I(188,54)] = {29,0x1FFFFC1C}, + [I(189,54)] = {28,0xFFFF95C}, + [I(190,54)] = {28,0xFFFF99C}, + [I(191,54)] = {29,0x1FFFFC5C}, + [I(192,54)] = {X32,0xFFFFF81C}, + [I(193,54)] = {X32,0xFFFFF85C}, + [I(194,54)] = {26,0x3FFFADC}, + [I(195,54)] = {25,0x1FFFC5C}, + [I(196,54)] = {28,0xFFFF9DC}, + [I(197,54)] = {29,0x1FFFFC9C}, + [I(198,54)] = {28,0xFFFFA1C}, + [I(199,54)] = {31,0x7FFFFB1C}, + [I(200,54)] = {X32,0xFFFFF89C}, + [I(201,54)] = {X32,0xFFFFF8DC}, + [I(202,54)] = {X32,0xFFFFF91C}, + [I(203,54)] = {64,0}, + [I(204,54)] = {64,0}, + [I(205,54)] = {X32,0xFFFFF95C}, + [I(206,54)] = {30,0x3FFFFC5C}, + [I(207,54)] = {31,0x7FFFFB5C}, + [I(208,54)] = {25,0x1FFFC9C}, + [I(209,54)] = {27,0x7FFF8DC}, + [I(210,54)] = {X32,0xFFFFF99C}, + [I(211,54)] = {64,0}, + [I(212,54)] = {64,0}, + [I(213,54)] = {X32,0xFFFFF9DC}, + [I(214,54)] = {64,0}, + [I(215,54)] = {30,0x3FFFFC9C}, + [I(216,54)] = {27,0x7FFF91C}, + [I(217,54)] = {27,0x7FFF95C}, + [I(218,54)] = {X32,0xFFFFFA1C}, + [I(219,54)] = {X32,0xFFFFFA5C}, + [I(220,54)] = {64,0}, + [I(221,54)] = {64,0}, + [I(222,54)] = {64,0}, + [I(223,54)] = {64,0}, + [I(224,54)] = {26,0x3FFFB1C}, + [I(225,54)] = {30,0x3FFFFCDC}, + [I(226,54)] = {26,0x3FFFB5C}, + [I(227,54)] = {27,0x7FFF99C}, + [I(228,54)] = {28,0xFFFFA5C}, + [I(229,54)] = {27,0x7FFF9DC}, + [I(230,54)] = {27,0x7FFFA1C}, + [I(231,54)] = {29,0x1FFFFCDC}, + [I(232,54)] = {28,0xFFFFA9C}, + [I(233,54)] = {28,0xFFFFADC}, + [I(234,54)] = {31,0x7FFFFB9C}, + [I(235,54)] = {31,0x7FFFFBDC}, + [I(236,54)] = {30,0x3FFFFD1C}, + [I(237,54)] = {30,0x3FFFFD5C}, + [I(238,54)] = {X32,0xFFFFFA9C}, + [I(239,54)] = {29,0x1FFFFD1C}, + [I(240,54)] = {X32,0xFFFFFADC}, + [I(241,54)] = {64,0}, + [I(242,54)] = {X32,0xFFFFFB1C}, + [I(243,54)] = {X32,0xFFFFFB5C}, + [I(244,54)] = {64,0}, + [I(245,54)] = {64,0}, + [I(246,54)] = {64,0}, + [I(247,54)] = {64,0}, + [I(248,54)] = {64,0}, + [I(249,54)] = {64,0}, + [I(250,54)] = {64,0}, + [I(251,54)] = {64,0}, + [I(252,54)] = {64,0}, + [I(253,54)] = {64,0}, + [I(254,54)] = {64,0}, + [I(255,54)] = {X32,0xFFFFFB9C}, + [I(0,55)] = {19,0x7FE1D}, + [I(1,55)] = {29,0x1FFFF61D}, + [I(2,55)] = {64,0}, + [I(3,55)] = {64,0}, + [I(4,55)] = {64,0}, + [I(5,55)] = {64,0}, + [I(6,55)] = {64,0}, + [I(7,55)] = {64,0}, + [I(8,55)] = {64,0}, + [I(9,55)] = {30,0x3FFFFA9D}, + [I(10,55)] = {64,0}, + [I(11,55)] = {64,0}, + [I(12,55)] = {64,0}, + [I(13,55)] = {64,0}, + [I(14,55)] = {64,0}, + [I(15,55)] = {64,0}, + [I(16,55)] = {64,0}, + [I(17,55)] = {64,0}, + [I(18,55)] = {64,0}, + [I(19,55)] = {64,0}, + [I(20,55)] = {64,0}, + [I(21,55)] = {64,0}, + [I(22,55)] = {64,0}, + [I(23,55)] = {64,0}, + [I(24,55)] = {64,0}, + [I(25,55)] = {64,0}, + [I(26,55)] = {64,0}, + [I(27,55)] = {64,0}, + [I(28,55)] = {64,0}, + [I(29,55)] = {64,0}, + [I(30,55)] = {64,0}, + [I(31,55)] = {64,0}, + [I(32,55)] = {12,0x51D}, + [I(33,55)] = {16,0xFE1D}, + [I(34,55)] = {16,0xFE5D}, + [I(35,55)] = {18,0x3FE9D}, + [I(36,55)] = {19,0x7FE5D}, + [I(37,55)] = {12,0x55D}, + [I(38,55)] = {14,0x3E1D}, + [I(39,55)] = {17,0x1FE9D}, + [I(40,55)] = {16,0xFE9D}, + [I(41,55)] = {16,0xFEDD}, + [I(42,55)] = {14,0x3E5D}, + [I(43,55)] = {17,0x1FEDD}, + [I(44,55)] = {14,0x3E9D}, + [I(45,55)] = {12,0x59D}, + [I(46,55)] = {12,0x5DD}, + [I(47,55)] = {12,0x61D}, + [I(48,55)] = {11,0x1D}, + [I(49,55)] = {11,0x5D}, + [I(50,55)] = {11,0x9D}, + [I(51,55)] = {12,0x65D}, + [I(52,55)] = {12,0x69D}, + [I(53,55)] = {12,0x6DD}, + [I(54,55)] = {12,0x71D}, + [I(55,55)] = {12,0x75D}, + [I(56,55)] = {12,0x79D}, + [I(57,55)] = {12,0x7DD}, + [I(58,55)] = {13,0x171D}, + [I(59,55)] = {14,0x3EDD}, + [I(60,55)] = {21,0x1FFF1D}, + [I(61,55)] = {12,0x81D}, + [I(62,55)] = {18,0x3FEDD}, + [I(63,55)] = {16,0xFF1D}, + [I(64,55)] = {19,0x7FE9D}, + [I(65,55)] = {12,0x85D}, + [I(66,55)] = {13,0x175D}, + [I(67,55)] = {13,0x179D}, + [I(68,55)] = {13,0x17DD}, + [I(69,55)] = {13,0x181D}, + [I(70,55)] = {13,0x185D}, + [I(71,55)] = {13,0x189D}, + [I(72,55)] = {13,0x18DD}, + [I(73,55)] = {13,0x191D}, + [I(74,55)] = {13,0x195D}, + [I(75,55)] = {13,0x199D}, + [I(76,55)] = {13,0x19DD}, + [I(77,55)] = {13,0x1A1D}, + [I(78,55)] = {13,0x1A5D}, + [I(79,55)] = {13,0x1A9D}, + [I(80,55)] = {13,0x1ADD}, + [I(81,55)] = {13,0x1B1D}, + [I(82,55)] = {13,0x1B5D}, + [I(83,55)] = {13,0x1B9D}, + [I(84,55)] = {13,0x1BDD}, + [I(85,55)] = {13,0x1C1D}, + [I(86,55)] = {13,0x1C5D}, + [I(87,55)] = {13,0x1C9D}, + [I(88,55)] = {14,0x3F1D}, + [I(89,55)] = {13,0x1CDD}, + [I(90,55)] = {14,0x3F5D}, + [I(91,55)] = {19,0x7FEDD}, + [I(92,55)] = {25,0x1FFFC1D}, + [I(93,55)] = {19,0x7FF1D}, + [I(94,55)] = {20,0xFFF1D}, + [I(95,55)] = {12,0x89D}, + [I(96,55)] = {21,0x1FFF5D}, + [I(97,55)] = {11,0xDD}, + [I(98,55)] = {12,0x8DD}, + [I(99,55)] = {11,0x11D}, + [I(100,55)] = {12,0x91D}, + [I(101,55)] = {11,0x15D}, + [I(102,55)] = {12,0x95D}, + [I(103,55)] = {12,0x99D}, + [I(104,55)] = {12,0x9DD}, + [I(105,55)] = {11,0x19D}, + [I(106,55)] = {13,0x1D1D}, + [I(107,55)] = {13,0x1D5D}, + [I(108,55)] = {12,0xA1D}, + [I(109,55)] = {12,0xA5D}, + [I(110,55)] = {12,0xA9D}, + [I(111,55)] = {11,0x1DD}, + [I(112,55)] = {12,0xADD}, + [I(113,55)] = {13,0x1D9D}, + [I(114,55)] = {12,0xB1D}, + [I(115,55)] = {11,0x21D}, + [I(116,55)] = {11,0x25D}, + [I(117,55)] = {12,0xB5D}, + [I(118,55)] = {13,0x1DDD}, + [I(119,55)] = {13,0x1E1D}, + [I(120,55)] = {13,0x1E5D}, + [I(121,55)] = {13,0x1E9D}, + [I(122,55)] = {13,0x1EDD}, + [I(123,55)] = {21,0x1FFF9D}, + [I(124,55)] = {17,0x1FF1D}, + [I(125,55)] = {20,0xFFF5D}, + [I(126,55)] = {19,0x7FF5D}, + [I(127,55)] = {64,0}, + [I(128,55)] = {26,0x3FFF99D}, + [I(129,55)] = {28,0xFFFF49D}, + [I(130,55)] = {26,0x3FFF9DD}, + [I(131,55)] = {26,0x3FFFA1D}, + [I(132,55)] = {28,0xFFFF4DD}, + [I(133,55)] = {28,0xFFFF51D}, + [I(134,55)] = {28,0xFFFF55D}, + [I(135,55)] = {29,0x1FFFF65D}, + [I(136,55)] = {28,0xFFFF59D}, + [I(137,55)] = {29,0x1FFFF69D}, + [I(138,55)] = {29,0x1FFFF6DD}, + [I(139,55)] = {29,0x1FFFF71D}, + [I(140,55)] = {29,0x1FFFF75D}, + [I(141,55)] = {29,0x1FFFF79D}, + [I(142,55)] = {30,0x3FFFFADD}, + [I(143,55)] = {29,0x1FFFF7DD}, + [I(144,55)] = {30,0x3FFFFB1D}, + [I(145,55)] = {30,0x3FFFFB5D}, + [I(146,55)] = {28,0xFFFF5DD}, + [I(147,55)] = {29,0x1FFFF81D}, + [I(148,55)] = {30,0x3FFFFB9D}, + [I(149,55)] = {29,0x1FFFF85D}, + [I(150,55)] = {29,0x1FFFF89D}, + [I(151,55)] = {29,0x1FFFF8DD}, + [I(152,55)] = {29,0x1FFFF91D}, + [I(153,55)] = {27,0x7FFF71D}, + [I(154,55)] = {28,0xFFFF61D}, + [I(155,55)] = {29,0x1FFFF95D}, + [I(156,55)] = {28,0xFFFF65D}, + [I(157,55)] = {29,0x1FFFF99D}, + [I(158,55)] = {29,0x1FFFF9DD}, + [I(159,55)] = {30,0x3FFFFBDD}, + [I(160,55)] = {28,0xFFFF69D}, + [I(161,55)] = {27,0x7FFF75D}, + [I(162,55)] = {26,0x3FFFA5D}, + [I(163,55)] = {28,0xFFFF6DD}, + [I(164,55)] = {28,0xFFFF71D}, + [I(165,55)] = {29,0x1FFFFA1D}, + [I(166,55)] = {29,0x1FFFFA5D}, + [I(167,55)] = {27,0x7FFF79D}, + [I(168,55)] = {29,0x1FFFFA9D}, + [I(169,55)] = {28,0xFFFF75D}, + [I(170,55)] = {28,0xFFFF79D}, + [I(171,55)] = {30,0x3FFFFC1D}, + [I(172,55)] = {27,0x7FFF7DD}, + [I(173,55)] = {28,0xFFFF7DD}, + [I(174,55)] = {29,0x1FFFFADD}, + [I(175,55)] = {29,0x1FFFFB1D}, + [I(176,55)] = {27,0x7FFF81D}, + [I(177,55)] = {27,0x7FFF85D}, + [I(178,55)] = {28,0xFFFF81D}, + [I(179,55)] = {27,0x7FFF89D}, + [I(180,55)] = {29,0x1FFFFB5D}, + [I(181,55)] = {28,0xFFFF85D}, + [I(182,55)] = {29,0x1FFFFB9D}, + [I(183,55)] = {29,0x1FFFFBDD}, + [I(184,55)] = {26,0x3FFFA9D}, + [I(185,55)] = {28,0xFFFF89D}, + [I(186,55)] = {28,0xFFFF8DD}, + [I(187,55)] = {28,0xFFFF91D}, + [I(188,55)] = {29,0x1FFFFC1D}, + [I(189,55)] = {28,0xFFFF95D}, + [I(190,55)] = {28,0xFFFF99D}, + [I(191,55)] = {29,0x1FFFFC5D}, + [I(192,55)] = {X32,0xFFFFF81D}, + [I(193,55)] = {X32,0xFFFFF85D}, + [I(194,55)] = {26,0x3FFFADD}, + [I(195,55)] = {25,0x1FFFC5D}, + [I(196,55)] = {28,0xFFFF9DD}, + [I(197,55)] = {29,0x1FFFFC9D}, + [I(198,55)] = {28,0xFFFFA1D}, + [I(199,55)] = {31,0x7FFFFB1D}, + [I(200,55)] = {X32,0xFFFFF89D}, + [I(201,55)] = {X32,0xFFFFF8DD}, + [I(202,55)] = {X32,0xFFFFF91D}, + [I(203,55)] = {64,0}, + [I(204,55)] = {64,0}, + [I(205,55)] = {X32,0xFFFFF95D}, + [I(206,55)] = {30,0x3FFFFC5D}, + [I(207,55)] = {31,0x7FFFFB5D}, + [I(208,55)] = {25,0x1FFFC9D}, + [I(209,55)] = {27,0x7FFF8DD}, + [I(210,55)] = {X32,0xFFFFF99D}, + [I(211,55)] = {64,0}, + [I(212,55)] = {64,0}, + [I(213,55)] = {X32,0xFFFFF9DD}, + [I(214,55)] = {64,0}, + [I(215,55)] = {30,0x3FFFFC9D}, + [I(216,55)] = {27,0x7FFF91D}, + [I(217,55)] = {27,0x7FFF95D}, + [I(218,55)] = {X32,0xFFFFFA1D}, + [I(219,55)] = {X32,0xFFFFFA5D}, + [I(220,55)] = {64,0}, + [I(221,55)] = {64,0}, + [I(222,55)] = {64,0}, + [I(223,55)] = {64,0}, + [I(224,55)] = {26,0x3FFFB1D}, + [I(225,55)] = {30,0x3FFFFCDD}, + [I(226,55)] = {26,0x3FFFB5D}, + [I(227,55)] = {27,0x7FFF99D}, + [I(228,55)] = {28,0xFFFFA5D}, + [I(229,55)] = {27,0x7FFF9DD}, + [I(230,55)] = {27,0x7FFFA1D}, + [I(231,55)] = {29,0x1FFFFCDD}, + [I(232,55)] = {28,0xFFFFA9D}, + [I(233,55)] = {28,0xFFFFADD}, + [I(234,55)] = {31,0x7FFFFB9D}, + [I(235,55)] = {31,0x7FFFFBDD}, + [I(236,55)] = {30,0x3FFFFD1D}, + [I(237,55)] = {30,0x3FFFFD5D}, + [I(238,55)] = {X32,0xFFFFFA9D}, + [I(239,55)] = {29,0x1FFFFD1D}, + [I(240,55)] = {X32,0xFFFFFADD}, + [I(241,55)] = {64,0}, + [I(242,55)] = {X32,0xFFFFFB1D}, + [I(243,55)] = {X32,0xFFFFFB5D}, + [I(244,55)] = {64,0}, + [I(245,55)] = {64,0}, + [I(246,55)] = {64,0}, + [I(247,55)] = {64,0}, + [I(248,55)] = {64,0}, + [I(249,55)] = {64,0}, + [I(250,55)] = {64,0}, + [I(251,55)] = {64,0}, + [I(252,55)] = {64,0}, + [I(253,55)] = {64,0}, + [I(254,55)] = {64,0}, + [I(255,55)] = {X32,0xFFFFFB9D}, + [I(0,56)] = {19,0x7FE1E}, + [I(1,56)] = {29,0x1FFFF61E}, + [I(2,56)] = {64,0}, + [I(3,56)] = {64,0}, + [I(4,56)] = {64,0}, + [I(5,56)] = {64,0}, + [I(6,56)] = {64,0}, + [I(7,56)] = {64,0}, + [I(8,56)] = {64,0}, + [I(9,56)] = {30,0x3FFFFA9E}, + [I(10,56)] = {64,0}, + [I(11,56)] = {64,0}, + [I(12,56)] = {64,0}, + [I(13,56)] = {64,0}, + [I(14,56)] = {64,0}, + [I(15,56)] = {64,0}, + [I(16,56)] = {64,0}, + [I(17,56)] = {64,0}, + [I(18,56)] = {64,0}, + [I(19,56)] = {64,0}, + [I(20,56)] = {64,0}, + [I(21,56)] = {64,0}, + [I(22,56)] = {64,0}, + [I(23,56)] = {64,0}, + [I(24,56)] = {64,0}, + [I(25,56)] = {64,0}, + [I(26,56)] = {64,0}, + [I(27,56)] = {64,0}, + [I(28,56)] = {64,0}, + [I(29,56)] = {64,0}, + [I(30,56)] = {64,0}, + [I(31,56)] = {64,0}, + [I(32,56)] = {12,0x51E}, + [I(33,56)] = {16,0xFE1E}, + [I(34,56)] = {16,0xFE5E}, + [I(35,56)] = {18,0x3FE9E}, + [I(36,56)] = {19,0x7FE5E}, + [I(37,56)] = {12,0x55E}, + [I(38,56)] = {14,0x3E1E}, + [I(39,56)] = {17,0x1FE9E}, + [I(40,56)] = {16,0xFE9E}, + [I(41,56)] = {16,0xFEDE}, + [I(42,56)] = {14,0x3E5E}, + [I(43,56)] = {17,0x1FEDE}, + [I(44,56)] = {14,0x3E9E}, + [I(45,56)] = {12,0x59E}, + [I(46,56)] = {12,0x5DE}, + [I(47,56)] = {12,0x61E}, + [I(48,56)] = {11,0x1E}, + [I(49,56)] = {11,0x5E}, + [I(50,56)] = {11,0x9E}, + [I(51,56)] = {12,0x65E}, + [I(52,56)] = {12,0x69E}, + [I(53,56)] = {12,0x6DE}, + [I(54,56)] = {12,0x71E}, + [I(55,56)] = {12,0x75E}, + [I(56,56)] = {12,0x79E}, + [I(57,56)] = {12,0x7DE}, + [I(58,56)] = {13,0x171E}, + [I(59,56)] = {14,0x3EDE}, + [I(60,56)] = {21,0x1FFF1E}, + [I(61,56)] = {12,0x81E}, + [I(62,56)] = {18,0x3FEDE}, + [I(63,56)] = {16,0xFF1E}, + [I(64,56)] = {19,0x7FE9E}, + [I(65,56)] = {12,0x85E}, + [I(66,56)] = {13,0x175E}, + [I(67,56)] = {13,0x179E}, + [I(68,56)] = {13,0x17DE}, + [I(69,56)] = {13,0x181E}, + [I(70,56)] = {13,0x185E}, + [I(71,56)] = {13,0x189E}, + [I(72,56)] = {13,0x18DE}, + [I(73,56)] = {13,0x191E}, + [I(74,56)] = {13,0x195E}, + [I(75,56)] = {13,0x199E}, + [I(76,56)] = {13,0x19DE}, + [I(77,56)] = {13,0x1A1E}, + [I(78,56)] = {13,0x1A5E}, + [I(79,56)] = {13,0x1A9E}, + [I(80,56)] = {13,0x1ADE}, + [I(81,56)] = {13,0x1B1E}, + [I(82,56)] = {13,0x1B5E}, + [I(83,56)] = {13,0x1B9E}, + [I(84,56)] = {13,0x1BDE}, + [I(85,56)] = {13,0x1C1E}, + [I(86,56)] = {13,0x1C5E}, + [I(87,56)] = {13,0x1C9E}, + [I(88,56)] = {14,0x3F1E}, + [I(89,56)] = {13,0x1CDE}, + [I(90,56)] = {14,0x3F5E}, + [I(91,56)] = {19,0x7FEDE}, + [I(92,56)] = {25,0x1FFFC1E}, + [I(93,56)] = {19,0x7FF1E}, + [I(94,56)] = {20,0xFFF1E}, + [I(95,56)] = {12,0x89E}, + [I(96,56)] = {21,0x1FFF5E}, + [I(97,56)] = {11,0xDE}, + [I(98,56)] = {12,0x8DE}, + [I(99,56)] = {11,0x11E}, + [I(100,56)] = {12,0x91E}, + [I(101,56)] = {11,0x15E}, + [I(102,56)] = {12,0x95E}, + [I(103,56)] = {12,0x99E}, + [I(104,56)] = {12,0x9DE}, + [I(105,56)] = {11,0x19E}, + [I(106,56)] = {13,0x1D1E}, + [I(107,56)] = {13,0x1D5E}, + [I(108,56)] = {12,0xA1E}, + [I(109,56)] = {12,0xA5E}, + [I(110,56)] = {12,0xA9E}, + [I(111,56)] = {11,0x1DE}, + [I(112,56)] = {12,0xADE}, + [I(113,56)] = {13,0x1D9E}, + [I(114,56)] = {12,0xB1E}, + [I(115,56)] = {11,0x21E}, + [I(116,56)] = {11,0x25E}, + [I(117,56)] = {12,0xB5E}, + [I(118,56)] = {13,0x1DDE}, + [I(119,56)] = {13,0x1E1E}, + [I(120,56)] = {13,0x1E5E}, + [I(121,56)] = {13,0x1E9E}, + [I(122,56)] = {13,0x1EDE}, + [I(123,56)] = {21,0x1FFF9E}, + [I(124,56)] = {17,0x1FF1E}, + [I(125,56)] = {20,0xFFF5E}, + [I(126,56)] = {19,0x7FF5E}, + [I(127,56)] = {64,0}, + [I(128,56)] = {26,0x3FFF99E}, + [I(129,56)] = {28,0xFFFF49E}, + [I(130,56)] = {26,0x3FFF9DE}, + [I(131,56)] = {26,0x3FFFA1E}, + [I(132,56)] = {28,0xFFFF4DE}, + [I(133,56)] = {28,0xFFFF51E}, + [I(134,56)] = {28,0xFFFF55E}, + [I(135,56)] = {29,0x1FFFF65E}, + [I(136,56)] = {28,0xFFFF59E}, + [I(137,56)] = {29,0x1FFFF69E}, + [I(138,56)] = {29,0x1FFFF6DE}, + [I(139,56)] = {29,0x1FFFF71E}, + [I(140,56)] = {29,0x1FFFF75E}, + [I(141,56)] = {29,0x1FFFF79E}, + [I(142,56)] = {30,0x3FFFFADE}, + [I(143,56)] = {29,0x1FFFF7DE}, + [I(144,56)] = {30,0x3FFFFB1E}, + [I(145,56)] = {30,0x3FFFFB5E}, + [I(146,56)] = {28,0xFFFF5DE}, + [I(147,56)] = {29,0x1FFFF81E}, + [I(148,56)] = {30,0x3FFFFB9E}, + [I(149,56)] = {29,0x1FFFF85E}, + [I(150,56)] = {29,0x1FFFF89E}, + [I(151,56)] = {29,0x1FFFF8DE}, + [I(152,56)] = {29,0x1FFFF91E}, + [I(153,56)] = {27,0x7FFF71E}, + [I(154,56)] = {28,0xFFFF61E}, + [I(155,56)] = {29,0x1FFFF95E}, + [I(156,56)] = {28,0xFFFF65E}, + [I(157,56)] = {29,0x1FFFF99E}, + [I(158,56)] = {29,0x1FFFF9DE}, + [I(159,56)] = {30,0x3FFFFBDE}, + [I(160,56)] = {28,0xFFFF69E}, + [I(161,56)] = {27,0x7FFF75E}, + [I(162,56)] = {26,0x3FFFA5E}, + [I(163,56)] = {28,0xFFFF6DE}, + [I(164,56)] = {28,0xFFFF71E}, + [I(165,56)] = {29,0x1FFFFA1E}, + [I(166,56)] = {29,0x1FFFFA5E}, + [I(167,56)] = {27,0x7FFF79E}, + [I(168,56)] = {29,0x1FFFFA9E}, + [I(169,56)] = {28,0xFFFF75E}, + [I(170,56)] = {28,0xFFFF79E}, + [I(171,56)] = {30,0x3FFFFC1E}, + [I(172,56)] = {27,0x7FFF7DE}, + [I(173,56)] = {28,0xFFFF7DE}, + [I(174,56)] = {29,0x1FFFFADE}, + [I(175,56)] = {29,0x1FFFFB1E}, + [I(176,56)] = {27,0x7FFF81E}, + [I(177,56)] = {27,0x7FFF85E}, + [I(178,56)] = {28,0xFFFF81E}, + [I(179,56)] = {27,0x7FFF89E}, + [I(180,56)] = {29,0x1FFFFB5E}, + [I(181,56)] = {28,0xFFFF85E}, + [I(182,56)] = {29,0x1FFFFB9E}, + [I(183,56)] = {29,0x1FFFFBDE}, + [I(184,56)] = {26,0x3FFFA9E}, + [I(185,56)] = {28,0xFFFF89E}, + [I(186,56)] = {28,0xFFFF8DE}, + [I(187,56)] = {28,0xFFFF91E}, + [I(188,56)] = {29,0x1FFFFC1E}, + [I(189,56)] = {28,0xFFFF95E}, + [I(190,56)] = {28,0xFFFF99E}, + [I(191,56)] = {29,0x1FFFFC5E}, + [I(192,56)] = {X32,0xFFFFF81E}, + [I(193,56)] = {X32,0xFFFFF85E}, + [I(194,56)] = {26,0x3FFFADE}, + [I(195,56)] = {25,0x1FFFC5E}, + [I(196,56)] = {28,0xFFFF9DE}, + [I(197,56)] = {29,0x1FFFFC9E}, + [I(198,56)] = {28,0xFFFFA1E}, + [I(199,56)] = {31,0x7FFFFB1E}, + [I(200,56)] = {X32,0xFFFFF89E}, + [I(201,56)] = {X32,0xFFFFF8DE}, + [I(202,56)] = {X32,0xFFFFF91E}, + [I(203,56)] = {64,0}, + [I(204,56)] = {64,0}, + [I(205,56)] = {X32,0xFFFFF95E}, + [I(206,56)] = {30,0x3FFFFC5E}, + [I(207,56)] = {31,0x7FFFFB5E}, + [I(208,56)] = {25,0x1FFFC9E}, + [I(209,56)] = {27,0x7FFF8DE}, + [I(210,56)] = {X32,0xFFFFF99E}, + [I(211,56)] = {64,0}, + [I(212,56)] = {64,0}, + [I(213,56)] = {X32,0xFFFFF9DE}, + [I(214,56)] = {64,0}, + [I(215,56)] = {30,0x3FFFFC9E}, + [I(216,56)] = {27,0x7FFF91E}, + [I(217,56)] = {27,0x7FFF95E}, + [I(218,56)] = {X32,0xFFFFFA1E}, + [I(219,56)] = {X32,0xFFFFFA5E}, + [I(220,56)] = {64,0}, + [I(221,56)] = {64,0}, + [I(222,56)] = {64,0}, + [I(223,56)] = {64,0}, + [I(224,56)] = {26,0x3FFFB1E}, + [I(225,56)] = {30,0x3FFFFCDE}, + [I(226,56)] = {26,0x3FFFB5E}, + [I(227,56)] = {27,0x7FFF99E}, + [I(228,56)] = {28,0xFFFFA5E}, + [I(229,56)] = {27,0x7FFF9DE}, + [I(230,56)] = {27,0x7FFFA1E}, + [I(231,56)] = {29,0x1FFFFCDE}, + [I(232,56)] = {28,0xFFFFA9E}, + [I(233,56)] = {28,0xFFFFADE}, + [I(234,56)] = {31,0x7FFFFB9E}, + [I(235,56)] = {31,0x7FFFFBDE}, + [I(236,56)] = {30,0x3FFFFD1E}, + [I(237,56)] = {30,0x3FFFFD5E}, + [I(238,56)] = {X32,0xFFFFFA9E}, + [I(239,56)] = {29,0x1FFFFD1E}, + [I(240,56)] = {X32,0xFFFFFADE}, + [I(241,56)] = {64,0}, + [I(242,56)] = {X32,0xFFFFFB1E}, + [I(243,56)] = {X32,0xFFFFFB5E}, + [I(244,56)] = {64,0}, + [I(245,56)] = {64,0}, + [I(246,56)] = {64,0}, + [I(247,56)] = {64,0}, + [I(248,56)] = {64,0}, + [I(249,56)] = {64,0}, + [I(250,56)] = {64,0}, + [I(251,56)] = {64,0}, + [I(252,56)] = {64,0}, + [I(253,56)] = {64,0}, + [I(254,56)] = {64,0}, + [I(255,56)] = {X32,0xFFFFFB9E}, + [I(0,57)] = {19,0x7FE1F}, + [I(1,57)] = {29,0x1FFFF61F}, + [I(2,57)] = {64,0}, + [I(3,57)] = {64,0}, + [I(4,57)] = {64,0}, + [I(5,57)] = {64,0}, + [I(6,57)] = {64,0}, + [I(7,57)] = {64,0}, + [I(8,57)] = {64,0}, + [I(9,57)] = {30,0x3FFFFA9F}, + [I(10,57)] = {64,0}, + [I(11,57)] = {64,0}, + [I(12,57)] = {64,0}, + [I(13,57)] = {64,0}, + [I(14,57)] = {64,0}, + [I(15,57)] = {64,0}, + [I(16,57)] = {64,0}, + [I(17,57)] = {64,0}, + [I(18,57)] = {64,0}, + [I(19,57)] = {64,0}, + [I(20,57)] = {64,0}, + [I(21,57)] = {64,0}, + [I(22,57)] = {64,0}, + [I(23,57)] = {64,0}, + [I(24,57)] = {64,0}, + [I(25,57)] = {64,0}, + [I(26,57)] = {64,0}, + [I(27,57)] = {64,0}, + [I(28,57)] = {64,0}, + [I(29,57)] = {64,0}, + [I(30,57)] = {64,0}, + [I(31,57)] = {64,0}, + [I(32,57)] = {12,0x51F}, + [I(33,57)] = {16,0xFE1F}, + [I(34,57)] = {16,0xFE5F}, + [I(35,57)] = {18,0x3FE9F}, + [I(36,57)] = {19,0x7FE5F}, + [I(37,57)] = {12,0x55F}, + [I(38,57)] = {14,0x3E1F}, + [I(39,57)] = {17,0x1FE9F}, + [I(40,57)] = {16,0xFE9F}, + [I(41,57)] = {16,0xFEDF}, + [I(42,57)] = {14,0x3E5F}, + [I(43,57)] = {17,0x1FEDF}, + [I(44,57)] = {14,0x3E9F}, + [I(45,57)] = {12,0x59F}, + [I(46,57)] = {12,0x5DF}, + [I(47,57)] = {12,0x61F}, + [I(48,57)] = {11,0x1F}, + [I(49,57)] = {11,0x5F}, + [I(50,57)] = {11,0x9F}, + [I(51,57)] = {12,0x65F}, + [I(52,57)] = {12,0x69F}, + [I(53,57)] = {12,0x6DF}, + [I(54,57)] = {12,0x71F}, + [I(55,57)] = {12,0x75F}, + [I(56,57)] = {12,0x79F}, + [I(57,57)] = {12,0x7DF}, + [I(58,57)] = {13,0x171F}, + [I(59,57)] = {14,0x3EDF}, + [I(60,57)] = {21,0x1FFF1F}, + [I(61,57)] = {12,0x81F}, + [I(62,57)] = {18,0x3FEDF}, + [I(63,57)] = {16,0xFF1F}, + [I(64,57)] = {19,0x7FE9F}, + [I(65,57)] = {12,0x85F}, + [I(66,57)] = {13,0x175F}, + [I(67,57)] = {13,0x179F}, + [I(68,57)] = {13,0x17DF}, + [I(69,57)] = {13,0x181F}, + [I(70,57)] = {13,0x185F}, + [I(71,57)] = {13,0x189F}, + [I(72,57)] = {13,0x18DF}, + [I(73,57)] = {13,0x191F}, + [I(74,57)] = {13,0x195F}, + [I(75,57)] = {13,0x199F}, + [I(76,57)] = {13,0x19DF}, + [I(77,57)] = {13,0x1A1F}, + [I(78,57)] = {13,0x1A5F}, + [I(79,57)] = {13,0x1A9F}, + [I(80,57)] = {13,0x1ADF}, + [I(81,57)] = {13,0x1B1F}, + [I(82,57)] = {13,0x1B5F}, + [I(83,57)] = {13,0x1B9F}, + [I(84,57)] = {13,0x1BDF}, + [I(85,57)] = {13,0x1C1F}, + [I(86,57)] = {13,0x1C5F}, + [I(87,57)] = {13,0x1C9F}, + [I(88,57)] = {14,0x3F1F}, + [I(89,57)] = {13,0x1CDF}, + [I(90,57)] = {14,0x3F5F}, + [I(91,57)] = {19,0x7FEDF}, + [I(92,57)] = {25,0x1FFFC1F}, + [I(93,57)] = {19,0x7FF1F}, + [I(94,57)] = {20,0xFFF1F}, + [I(95,57)] = {12,0x89F}, + [I(96,57)] = {21,0x1FFF5F}, + [I(97,57)] = {11,0xDF}, + [I(98,57)] = {12,0x8DF}, + [I(99,57)] = {11,0x11F}, + [I(100,57)] = {12,0x91F}, + [I(101,57)] = {11,0x15F}, + [I(102,57)] = {12,0x95F}, + [I(103,57)] = {12,0x99F}, + [I(104,57)] = {12,0x9DF}, + [I(105,57)] = {11,0x19F}, + [I(106,57)] = {13,0x1D1F}, + [I(107,57)] = {13,0x1D5F}, + [I(108,57)] = {12,0xA1F}, + [I(109,57)] = {12,0xA5F}, + [I(110,57)] = {12,0xA9F}, + [I(111,57)] = {11,0x1DF}, + [I(112,57)] = {12,0xADF}, + [I(113,57)] = {13,0x1D9F}, + [I(114,57)] = {12,0xB1F}, + [I(115,57)] = {11,0x21F}, + [I(116,57)] = {11,0x25F}, + [I(117,57)] = {12,0xB5F}, + [I(118,57)] = {13,0x1DDF}, + [I(119,57)] = {13,0x1E1F}, + [I(120,57)] = {13,0x1E5F}, + [I(121,57)] = {13,0x1E9F}, + [I(122,57)] = {13,0x1EDF}, + [I(123,57)] = {21,0x1FFF9F}, + [I(124,57)] = {17,0x1FF1F}, + [I(125,57)] = {20,0xFFF5F}, + [I(126,57)] = {19,0x7FF5F}, + [I(127,57)] = {64,0}, + [I(128,57)] = {26,0x3FFF99F}, + [I(129,57)] = {28,0xFFFF49F}, + [I(130,57)] = {26,0x3FFF9DF}, + [I(131,57)] = {26,0x3FFFA1F}, + [I(132,57)] = {28,0xFFFF4DF}, + [I(133,57)] = {28,0xFFFF51F}, + [I(134,57)] = {28,0xFFFF55F}, + [I(135,57)] = {29,0x1FFFF65F}, + [I(136,57)] = {28,0xFFFF59F}, + [I(137,57)] = {29,0x1FFFF69F}, + [I(138,57)] = {29,0x1FFFF6DF}, + [I(139,57)] = {29,0x1FFFF71F}, + [I(140,57)] = {29,0x1FFFF75F}, + [I(141,57)] = {29,0x1FFFF79F}, + [I(142,57)] = {30,0x3FFFFADF}, + [I(143,57)] = {29,0x1FFFF7DF}, + [I(144,57)] = {30,0x3FFFFB1F}, + [I(145,57)] = {30,0x3FFFFB5F}, + [I(146,57)] = {28,0xFFFF5DF}, + [I(147,57)] = {29,0x1FFFF81F}, + [I(148,57)] = {30,0x3FFFFB9F}, + [I(149,57)] = {29,0x1FFFF85F}, + [I(150,57)] = {29,0x1FFFF89F}, + [I(151,57)] = {29,0x1FFFF8DF}, + [I(152,57)] = {29,0x1FFFF91F}, + [I(153,57)] = {27,0x7FFF71F}, + [I(154,57)] = {28,0xFFFF61F}, + [I(155,57)] = {29,0x1FFFF95F}, + [I(156,57)] = {28,0xFFFF65F}, + [I(157,57)] = {29,0x1FFFF99F}, + [I(158,57)] = {29,0x1FFFF9DF}, + [I(159,57)] = {30,0x3FFFFBDF}, + [I(160,57)] = {28,0xFFFF69F}, + [I(161,57)] = {27,0x7FFF75F}, + [I(162,57)] = {26,0x3FFFA5F}, + [I(163,57)] = {28,0xFFFF6DF}, + [I(164,57)] = {28,0xFFFF71F}, + [I(165,57)] = {29,0x1FFFFA1F}, + [I(166,57)] = {29,0x1FFFFA5F}, + [I(167,57)] = {27,0x7FFF79F}, + [I(168,57)] = {29,0x1FFFFA9F}, + [I(169,57)] = {28,0xFFFF75F}, + [I(170,57)] = {28,0xFFFF79F}, + [I(171,57)] = {30,0x3FFFFC1F}, + [I(172,57)] = {27,0x7FFF7DF}, + [I(173,57)] = {28,0xFFFF7DF}, + [I(174,57)] = {29,0x1FFFFADF}, + [I(175,57)] = {29,0x1FFFFB1F}, + [I(176,57)] = {27,0x7FFF81F}, + [I(177,57)] = {27,0x7FFF85F}, + [I(178,57)] = {28,0xFFFF81F}, + [I(179,57)] = {27,0x7FFF89F}, + [I(180,57)] = {29,0x1FFFFB5F}, + [I(181,57)] = {28,0xFFFF85F}, + [I(182,57)] = {29,0x1FFFFB9F}, + [I(183,57)] = {29,0x1FFFFBDF}, + [I(184,57)] = {26,0x3FFFA9F}, + [I(185,57)] = {28,0xFFFF89F}, + [I(186,57)] = {28,0xFFFF8DF}, + [I(187,57)] = {28,0xFFFF91F}, + [I(188,57)] = {29,0x1FFFFC1F}, + [I(189,57)] = {28,0xFFFF95F}, + [I(190,57)] = {28,0xFFFF99F}, + [I(191,57)] = {29,0x1FFFFC5F}, + [I(192,57)] = {X32,0xFFFFF81F}, + [I(193,57)] = {X32,0xFFFFF85F}, + [I(194,57)] = {26,0x3FFFADF}, + [I(195,57)] = {25,0x1FFFC5F}, + [I(196,57)] = {28,0xFFFF9DF}, + [I(197,57)] = {29,0x1FFFFC9F}, + [I(198,57)] = {28,0xFFFFA1F}, + [I(199,57)] = {31,0x7FFFFB1F}, + [I(200,57)] = {X32,0xFFFFF89F}, + [I(201,57)] = {X32,0xFFFFF8DF}, + [I(202,57)] = {X32,0xFFFFF91F}, + [I(203,57)] = {64,0}, + [I(204,57)] = {64,0}, + [I(205,57)] = {X32,0xFFFFF95F}, + [I(206,57)] = {30,0x3FFFFC5F}, + [I(207,57)] = {31,0x7FFFFB5F}, + [I(208,57)] = {25,0x1FFFC9F}, + [I(209,57)] = {27,0x7FFF8DF}, + [I(210,57)] = {X32,0xFFFFF99F}, + [I(211,57)] = {64,0}, + [I(212,57)] = {64,0}, + [I(213,57)] = {X32,0xFFFFF9DF}, + [I(214,57)] = {64,0}, + [I(215,57)] = {30,0x3FFFFC9F}, + [I(216,57)] = {27,0x7FFF91F}, + [I(217,57)] = {27,0x7FFF95F}, + [I(218,57)] = {X32,0xFFFFFA1F}, + [I(219,57)] = {X32,0xFFFFFA5F}, + [I(220,57)] = {64,0}, + [I(221,57)] = {64,0}, + [I(222,57)] = {64,0}, + [I(223,57)] = {64,0}, + [I(224,57)] = {26,0x3FFFB1F}, + [I(225,57)] = {30,0x3FFFFCDF}, + [I(226,57)] = {26,0x3FFFB5F}, + [I(227,57)] = {27,0x7FFF99F}, + [I(228,57)] = {28,0xFFFFA5F}, + [I(229,57)] = {27,0x7FFF9DF}, + [I(230,57)] = {27,0x7FFFA1F}, + [I(231,57)] = {29,0x1FFFFCDF}, + [I(232,57)] = {28,0xFFFFA9F}, + [I(233,57)] = {28,0xFFFFADF}, + [I(234,57)] = {31,0x7FFFFB9F}, + [I(235,57)] = {31,0x7FFFFBDF}, + [I(236,57)] = {30,0x3FFFFD1F}, + [I(237,57)] = {30,0x3FFFFD5F}, + [I(238,57)] = {X32,0xFFFFFA9F}, + [I(239,57)] = {29,0x1FFFFD1F}, + [I(240,57)] = {X32,0xFFFFFADF}, + [I(241,57)] = {64,0}, + [I(242,57)] = {X32,0xFFFFFB1F}, + [I(243,57)] = {X32,0xFFFFFB5F}, + [I(244,57)] = {64,0}, + [I(245,57)] = {64,0}, + [I(246,57)] = {64,0}, + [I(247,57)] = {64,0}, + [I(248,57)] = {64,0}, + [I(249,57)] = {64,0}, + [I(250,57)] = {64,0}, + [I(251,57)] = {64,0}, + [I(252,57)] = {64,0}, + [I(253,57)] = {64,0}, + [I(254,57)] = {64,0}, + [I(255,57)] = {X32,0xFFFFFB9F}, + [I(0,58)] = {20,0xFFC5C}, + [I(1,58)] = {30,0x3FFFEC5C}, + [I(2,58)] = {64,0}, + [I(3,58)] = {64,0}, + [I(4,58)] = {64,0}, + [I(5,58)] = {64,0}, + [I(6,58)] = {64,0}, + [I(7,58)] = {64,0}, + [I(8,58)] = {64,0}, + [I(9,58)] = {31,0x7FFFF55C}, + [I(10,58)] = {64,0}, + [I(11,58)] = {64,0}, + [I(12,58)] = {64,0}, + [I(13,58)] = {64,0}, + [I(14,58)] = {64,0}, + [I(15,58)] = {64,0}, + [I(16,58)] = {64,0}, + [I(17,58)] = {64,0}, + [I(18,58)] = {64,0}, + [I(19,58)] = {64,0}, + [I(20,58)] = {64,0}, + [I(21,58)] = {64,0}, + [I(22,58)] = {64,0}, + [I(23,58)] = {64,0}, + [I(24,58)] = {64,0}, + [I(25,58)] = {64,0}, + [I(26,58)] = {64,0}, + [I(27,58)] = {64,0}, + [I(28,58)] = {64,0}, + [I(29,58)] = {64,0}, + [I(30,58)] = {64,0}, + [I(31,58)] = {64,0}, + [I(32,58)] = {13,0xA5C}, + [I(33,58)] = {17,0x1FC5C}, + [I(34,58)] = {17,0x1FCDC}, + [I(35,58)] = {19,0x7FD5C}, + [I(36,58)] = {20,0xFFCDC}, + [I(37,58)] = {13,0xADC}, + [I(38,58)] = {15,0x7C5C}, + [I(39,58)] = {18,0x3FD5C}, + [I(40,58)] = {17,0x1FD5C}, + [I(41,58)] = {17,0x1FDDC}, + [I(42,58)] = {15,0x7CDC}, + [I(43,58)] = {18,0x3FDDC}, + [I(44,58)] = {15,0x7D5C}, + [I(45,58)] = {13,0xB5C}, + [I(46,58)] = {13,0xBDC}, + [I(47,58)] = {13,0xC5C}, + [I(48,58)] = {12,0x5C}, + [I(49,58)] = {12,0xDC}, + [I(50,58)] = {12,0x15C}, + [I(51,58)] = {13,0xCDC}, + [I(52,58)] = {13,0xD5C}, + [I(53,58)] = {13,0xDDC}, + [I(54,58)] = {13,0xE5C}, + [I(55,58)] = {13,0xEDC}, + [I(56,58)] = {13,0xF5C}, + [I(57,58)] = {13,0xFDC}, + [I(58,58)] = {14,0x2E5C}, + [I(59,58)] = {15,0x7DDC}, + [I(60,58)] = {22,0x3FFE5C}, + [I(61,58)] = {13,0x105C}, + [I(62,58)] = {19,0x7FDDC}, + [I(63,58)] = {17,0x1FE5C}, + [I(64,58)] = {20,0xFFD5C}, + [I(65,58)] = {13,0x10DC}, + [I(66,58)] = {14,0x2EDC}, + [I(67,58)] = {14,0x2F5C}, + [I(68,58)] = {14,0x2FDC}, + [I(69,58)] = {14,0x305C}, + [I(70,58)] = {14,0x30DC}, + [I(71,58)] = {14,0x315C}, + [I(72,58)] = {14,0x31DC}, + [I(73,58)] = {14,0x325C}, + [I(74,58)] = {14,0x32DC}, + [I(75,58)] = {14,0x335C}, + [I(76,58)] = {14,0x33DC}, + [I(77,58)] = {14,0x345C}, + [I(78,58)] = {14,0x34DC}, + [I(79,58)] = {14,0x355C}, + [I(80,58)] = {14,0x35DC}, + [I(81,58)] = {14,0x365C}, + [I(82,58)] = {14,0x36DC}, + [I(83,58)] = {14,0x375C}, + [I(84,58)] = {14,0x37DC}, + [I(85,58)] = {14,0x385C}, + [I(86,58)] = {14,0x38DC}, + [I(87,58)] = {14,0x395C}, + [I(88,58)] = {15,0x7E5C}, + [I(89,58)] = {14,0x39DC}, + [I(90,58)] = {15,0x7EDC}, + [I(91,58)] = {20,0xFFDDC}, + [I(92,58)] = {26,0x3FFF85C}, + [I(93,58)] = {20,0xFFE5C}, + [I(94,58)] = {21,0x1FFE5C}, + [I(95,58)] = {13,0x115C}, + [I(96,58)] = {22,0x3FFEDC}, + [I(97,58)] = {12,0x1DC}, + [I(98,58)] = {13,0x11DC}, + [I(99,58)] = {12,0x25C}, + [I(100,58)] = {13,0x125C}, + [I(101,58)] = {12,0x2DC}, + [I(102,58)] = {13,0x12DC}, + [I(103,58)] = {13,0x135C}, + [I(104,58)] = {13,0x13DC}, + [I(105,58)] = {12,0x35C}, + [I(106,58)] = {14,0x3A5C}, + [I(107,58)] = {14,0x3ADC}, + [I(108,58)] = {13,0x145C}, + [I(109,58)] = {13,0x14DC}, + [I(110,58)] = {13,0x155C}, + [I(111,58)] = {12,0x3DC}, + [I(112,58)] = {13,0x15DC}, + [I(113,58)] = {14,0x3B5C}, + [I(114,58)] = {13,0x165C}, + [I(115,58)] = {12,0x45C}, + [I(116,58)] = {12,0x4DC}, + [I(117,58)] = {13,0x16DC}, + [I(118,58)] = {14,0x3BDC}, + [I(119,58)] = {14,0x3C5C}, + [I(120,58)] = {14,0x3CDC}, + [I(121,58)] = {14,0x3D5C}, + [I(122,58)] = {14,0x3DDC}, + [I(123,58)] = {22,0x3FFF5C}, + [I(124,58)] = {18,0x3FE5C}, + [I(125,58)] = {21,0x1FFEDC}, + [I(126,58)] = {20,0xFFEDC}, + [I(127,58)] = {64,0}, + [I(128,58)] = {27,0x7FFF35C}, + [I(129,58)] = {29,0x1FFFE95C}, + [I(130,58)] = {27,0x7FFF3DC}, + [I(131,58)] = {27,0x7FFF45C}, + [I(132,58)] = {29,0x1FFFE9DC}, + [I(133,58)] = {29,0x1FFFEA5C}, + [I(134,58)] = {29,0x1FFFEADC}, + [I(135,58)] = {30,0x3FFFECDC}, + [I(136,58)] = {29,0x1FFFEB5C}, + [I(137,58)] = {30,0x3FFFED5C}, + [I(138,58)] = {30,0x3FFFEDDC}, + [I(139,58)] = {30,0x3FFFEE5C}, + [I(140,58)] = {30,0x3FFFEEDC}, + [I(141,58)] = {30,0x3FFFEF5C}, + [I(142,58)] = {31,0x7FFFF5DC}, + [I(143,58)] = {30,0x3FFFEFDC}, + [I(144,58)] = {31,0x7FFFF65C}, + [I(145,58)] = {31,0x7FFFF6DC}, + [I(146,58)] = {29,0x1FFFEBDC}, + [I(147,58)] = {30,0x3FFFF05C}, + [I(148,58)] = {31,0x7FFFF75C}, + [I(149,58)] = {30,0x3FFFF0DC}, + [I(150,58)] = {30,0x3FFFF15C}, + [I(151,58)] = {30,0x3FFFF1DC}, + [I(152,58)] = {30,0x3FFFF25C}, + [I(153,58)] = {28,0xFFFEE5C}, + [I(154,58)] = {29,0x1FFFEC5C}, + [I(155,58)] = {30,0x3FFFF2DC}, + [I(156,58)] = {29,0x1FFFECDC}, + [I(157,58)] = {30,0x3FFFF35C}, + [I(158,58)] = {30,0x3FFFF3DC}, + [I(159,58)] = {31,0x7FFFF7DC}, + [I(160,58)] = {29,0x1FFFED5C}, + [I(161,58)] = {28,0xFFFEEDC}, + [I(162,58)] = {27,0x7FFF4DC}, + [I(163,58)] = {29,0x1FFFEDDC}, + [I(164,58)] = {29,0x1FFFEE5C}, + [I(165,58)] = {30,0x3FFFF45C}, + [I(166,58)] = {30,0x3FFFF4DC}, + [I(167,58)] = {28,0xFFFEF5C}, + [I(168,58)] = {30,0x3FFFF55C}, + [I(169,58)] = {29,0x1FFFEEDC}, + [I(170,58)] = {29,0x1FFFEF5C}, + [I(171,58)] = {31,0x7FFFF85C}, + [I(172,58)] = {28,0xFFFEFDC}, + [I(173,58)] = {29,0x1FFFEFDC}, + [I(174,58)] = {30,0x3FFFF5DC}, + [I(175,58)] = {30,0x3FFFF65C}, + [I(176,58)] = {28,0xFFFF05C}, + [I(177,58)] = {28,0xFFFF0DC}, + [I(178,58)] = {29,0x1FFFF05C}, + [I(179,58)] = {28,0xFFFF15C}, + [I(180,58)] = {30,0x3FFFF6DC}, + [I(181,58)] = {29,0x1FFFF0DC}, + [I(182,58)] = {30,0x3FFFF75C}, + [I(183,58)] = {30,0x3FFFF7DC}, + [I(184,58)] = {27,0x7FFF55C}, + [I(185,58)] = {29,0x1FFFF15C}, + [I(186,58)] = {29,0x1FFFF1DC}, + [I(187,58)] = {29,0x1FFFF25C}, + [I(188,58)] = {30,0x3FFFF85C}, + [I(189,58)] = {29,0x1FFFF2DC}, + [I(190,58)] = {29,0x1FFFF35C}, + [I(191,58)] = {30,0x3FFFF8DC}, + [I(192,58)] = {64,0}, + [I(193,58)] = {64,0}, + [I(194,58)] = {27,0x7FFF5DC}, + [I(195,58)] = {26,0x3FFF8DC}, + [I(196,58)] = {29,0x1FFFF3DC}, + [I(197,58)] = {30,0x3FFFF95C}, + [I(198,58)] = {29,0x1FFFF45C}, + [I(199,58)] = {X32,0xFFFFF65C}, + [I(200,58)] = {64,0}, + [I(201,58)] = {64,0}, + [I(202,58)] = {64,0}, + [I(203,58)] = {64,0}, + [I(204,58)] = {64,0}, + [I(205,58)] = {64,0}, + [I(206,58)] = {31,0x7FFFF8DC}, + [I(207,58)] = {X32,0xFFFFF6DC}, + [I(208,58)] = {26,0x3FFF95C}, + [I(209,58)] = {28,0xFFFF1DC}, + [I(210,58)] = {64,0}, + [I(211,58)] = {64,0}, + [I(212,58)] = {64,0}, + [I(213,58)] = {64,0}, + [I(214,58)] = {64,0}, + [I(215,58)] = {31,0x7FFFF95C}, + [I(216,58)] = {28,0xFFFF25C}, + [I(217,58)] = {28,0xFFFF2DC}, + [I(218,58)] = {64,0}, + [I(219,58)] = {64,0}, + [I(220,58)] = {64,0}, + [I(221,58)] = {64,0}, + [I(222,58)] = {64,0}, + [I(223,58)] = {64,0}, + [I(224,58)] = {27,0x7FFF65C}, + [I(225,58)] = {31,0x7FFFF9DC}, + [I(226,58)] = {27,0x7FFF6DC}, + [I(227,58)] = {28,0xFFFF35C}, + [I(228,58)] = {29,0x1FFFF4DC}, + [I(229,58)] = {28,0xFFFF3DC}, + [I(230,58)] = {28,0xFFFF45C}, + [I(231,58)] = {30,0x3FFFF9DC}, + [I(232,58)] = {29,0x1FFFF55C}, + [I(233,58)] = {29,0x1FFFF5DC}, + [I(234,58)] = {X32,0xFFFFF75C}, + [I(235,58)] = {X32,0xFFFFF7DC}, + [I(236,58)] = {31,0x7FFFFA5C}, + [I(237,58)] = {31,0x7FFFFADC}, + [I(238,58)] = {64,0}, + [I(239,58)] = {30,0x3FFFFA5C}, + [I(240,58)] = {64,0}, + [I(241,58)] = {64,0}, + [I(242,58)] = {64,0}, + [I(243,58)] = {64,0}, + [I(244,58)] = {64,0}, + [I(245,58)] = {64,0}, + [I(246,58)] = {64,0}, + [I(247,58)] = {64,0}, + [I(248,58)] = {64,0}, + [I(249,58)] = {64,0}, + [I(250,58)] = {64,0}, + [I(251,58)] = {64,0}, + [I(252,58)] = {64,0}, + [I(253,58)] = {64,0}, + [I(254,58)] = {64,0}, + [I(255,58)] = {64,0}, + [I(0,59)] = {21,0x1FF8FB}, + [I(1,59)] = {31,0x7FFFD8FB}, + [I(2,59)] = {64,0}, + [I(3,59)] = {64,0}, + [I(4,59)] = {64,0}, + [I(5,59)] = {64,0}, + [I(6,59)] = {64,0}, + [I(7,59)] = {64,0}, + [I(8,59)] = {64,0}, + [I(9,59)] = {X32,0xFFFFEAFB}, + [I(10,59)] = {64,0}, + [I(11,59)] = {64,0}, + [I(12,59)] = {64,0}, + [I(13,59)] = {64,0}, + [I(14,59)] = {64,0}, + [I(15,59)] = {64,0}, + [I(16,59)] = {64,0}, + [I(17,59)] = {64,0}, + [I(18,59)] = {64,0}, + [I(19,59)] = {64,0}, + [I(20,59)] = {64,0}, + [I(21,59)] = {64,0}, + [I(22,59)] = {64,0}, + [I(23,59)] = {64,0}, + [I(24,59)] = {64,0}, + [I(25,59)] = {64,0}, + [I(26,59)] = {64,0}, + [I(27,59)] = {64,0}, + [I(28,59)] = {64,0}, + [I(29,59)] = {64,0}, + [I(30,59)] = {64,0}, + [I(31,59)] = {64,0}, + [I(32,59)] = {14,0x14FB}, + [I(33,59)] = {18,0x3F8FB}, + [I(34,59)] = {18,0x3F9FB}, + [I(35,59)] = {20,0xFFAFB}, + [I(36,59)] = {21,0x1FF9FB}, + [I(37,59)] = {14,0x15FB}, + [I(38,59)] = {16,0xF8FB}, + [I(39,59)] = {19,0x7FAFB}, + [I(40,59)] = {18,0x3FAFB}, + [I(41,59)] = {18,0x3FBFB}, + [I(42,59)] = {16,0xF9FB}, + [I(43,59)] = {19,0x7FBFB}, + [I(44,59)] = {16,0xFAFB}, + [I(45,59)] = {14,0x16FB}, + [I(46,59)] = {14,0x17FB}, + [I(47,59)] = {14,0x18FB}, + [I(48,59)] = {13,0xFB}, + [I(49,59)] = {13,0x1FB}, + [I(50,59)] = {13,0x2FB}, + [I(51,59)] = {14,0x19FB}, + [I(52,59)] = {14,0x1AFB}, + [I(53,59)] = {14,0x1BFB}, + [I(54,59)] = {14,0x1CFB}, + [I(55,59)] = {14,0x1DFB}, + [I(56,59)] = {14,0x1EFB}, + [I(57,59)] = {14,0x1FFB}, + [I(58,59)] = {15,0x5CFB}, + [I(59,59)] = {16,0xFBFB}, + [I(60,59)] = {23,0x7FFCFB}, + [I(61,59)] = {14,0x20FB}, + [I(62,59)] = {20,0xFFBFB}, + [I(63,59)] = {18,0x3FCFB}, + [I(64,59)] = {21,0x1FFAFB}, + [I(65,59)] = {14,0x21FB}, + [I(66,59)] = {15,0x5DFB}, + [I(67,59)] = {15,0x5EFB}, + [I(68,59)] = {15,0x5FFB}, + [I(69,59)] = {15,0x60FB}, + [I(70,59)] = {15,0x61FB}, + [I(71,59)] = {15,0x62FB}, + [I(72,59)] = {15,0x63FB}, + [I(73,59)] = {15,0x64FB}, + [I(74,59)] = {15,0x65FB}, + [I(75,59)] = {15,0x66FB}, + [I(76,59)] = {15,0x67FB}, + [I(77,59)] = {15,0x68FB}, + [I(78,59)] = {15,0x69FB}, + [I(79,59)] = {15,0x6AFB}, + [I(80,59)] = {15,0x6BFB}, + [I(81,59)] = {15,0x6CFB}, + [I(82,59)] = {15,0x6DFB}, + [I(83,59)] = {15,0x6EFB}, + [I(84,59)] = {15,0x6FFB}, + [I(85,59)] = {15,0x70FB}, + [I(86,59)] = {15,0x71FB}, + [I(87,59)] = {15,0x72FB}, + [I(88,59)] = {16,0xFCFB}, + [I(89,59)] = {15,0x73FB}, + [I(90,59)] = {16,0xFDFB}, + [I(91,59)] = {21,0x1FFBFB}, + [I(92,59)] = {27,0x7FFF0FB}, + [I(93,59)] = {21,0x1FFCFB}, + [I(94,59)] = {22,0x3FFCFB}, + [I(95,59)] = {14,0x22FB}, + [I(96,59)] = {23,0x7FFDFB}, + [I(97,59)] = {13,0x3FB}, + [I(98,59)] = {14,0x23FB}, + [I(99,59)] = {13,0x4FB}, + [I(100,59)] = {14,0x24FB}, + [I(101,59)] = {13,0x5FB}, + [I(102,59)] = {14,0x25FB}, + [I(103,59)] = {14,0x26FB}, + [I(104,59)] = {14,0x27FB}, + [I(105,59)] = {13,0x6FB}, + [I(106,59)] = {15,0x74FB}, + [I(107,59)] = {15,0x75FB}, + [I(108,59)] = {14,0x28FB}, + [I(109,59)] = {14,0x29FB}, + [I(110,59)] = {14,0x2AFB}, + [I(111,59)] = {13,0x7FB}, + [I(112,59)] = {14,0x2BFB}, + [I(113,59)] = {15,0x76FB}, + [I(114,59)] = {14,0x2CFB}, + [I(115,59)] = {13,0x8FB}, + [I(116,59)] = {13,0x9FB}, + [I(117,59)] = {14,0x2DFB}, + [I(118,59)] = {15,0x77FB}, + [I(119,59)] = {15,0x78FB}, + [I(120,59)] = {15,0x79FB}, + [I(121,59)] = {15,0x7AFB}, + [I(122,59)] = {15,0x7BFB}, + [I(123,59)] = {23,0x7FFEFB}, + [I(124,59)] = {19,0x7FCFB}, + [I(125,59)] = {22,0x3FFDFB}, + [I(126,59)] = {21,0x1FFDFB}, + [I(127,59)] = {64,0}, + [I(128,59)] = {28,0xFFFE6FB}, + [I(129,59)] = {30,0x3FFFD2FB}, + [I(130,59)] = {28,0xFFFE7FB}, + [I(131,59)] = {28,0xFFFE8FB}, + [I(132,59)] = {30,0x3FFFD3FB}, + [I(133,59)] = {30,0x3FFFD4FB}, + [I(134,59)] = {30,0x3FFFD5FB}, + [I(135,59)] = {31,0x7FFFD9FB}, + [I(136,59)] = {30,0x3FFFD6FB}, + [I(137,59)] = {31,0x7FFFDAFB}, + [I(138,59)] = {31,0x7FFFDBFB}, + [I(139,59)] = {31,0x7FFFDCFB}, + [I(140,59)] = {31,0x7FFFDDFB}, + [I(141,59)] = {31,0x7FFFDEFB}, + [I(142,59)] = {X32,0xFFFFEBFB}, + [I(143,59)] = {31,0x7FFFDFFB}, + [I(144,59)] = {X32,0xFFFFECFB}, + [I(145,59)] = {X32,0xFFFFEDFB}, + [I(146,59)] = {30,0x3FFFD7FB}, + [I(147,59)] = {31,0x7FFFE0FB}, + [I(148,59)] = {X32,0xFFFFEEFB}, + [I(149,59)] = {31,0x7FFFE1FB}, + [I(150,59)] = {31,0x7FFFE2FB}, + [I(151,59)] = {31,0x7FFFE3FB}, + [I(152,59)] = {31,0x7FFFE4FB}, + [I(153,59)] = {29,0x1FFFDCFB}, + [I(154,59)] = {30,0x3FFFD8FB}, + [I(155,59)] = {31,0x7FFFE5FB}, + [I(156,59)] = {30,0x3FFFD9FB}, + [I(157,59)] = {31,0x7FFFE6FB}, + [I(158,59)] = {31,0x7FFFE7FB}, + [I(159,59)] = {X32,0xFFFFEFFB}, + [I(160,59)] = {30,0x3FFFDAFB}, + [I(161,59)] = {29,0x1FFFDDFB}, + [I(162,59)] = {28,0xFFFE9FB}, + [I(163,59)] = {30,0x3FFFDBFB}, + [I(164,59)] = {30,0x3FFFDCFB}, + [I(165,59)] = {31,0x7FFFE8FB}, + [I(166,59)] = {31,0x7FFFE9FB}, + [I(167,59)] = {29,0x1FFFDEFB}, + [I(168,59)] = {31,0x7FFFEAFB}, + [I(169,59)] = {30,0x3FFFDDFB}, + [I(170,59)] = {30,0x3FFFDEFB}, + [I(171,59)] = {X32,0xFFFFF0FB}, + [I(172,59)] = {29,0x1FFFDFFB}, + [I(173,59)] = {30,0x3FFFDFFB}, + [I(174,59)] = {31,0x7FFFEBFB}, + [I(175,59)] = {31,0x7FFFECFB}, + [I(176,59)] = {29,0x1FFFE0FB}, + [I(177,59)] = {29,0x1FFFE1FB}, + [I(178,59)] = {30,0x3FFFE0FB}, + [I(179,59)] = {29,0x1FFFE2FB}, + [I(180,59)] = {31,0x7FFFEDFB}, + [I(181,59)] = {30,0x3FFFE1FB}, + [I(182,59)] = {31,0x7FFFEEFB}, + [I(183,59)] = {31,0x7FFFEFFB}, + [I(184,59)] = {28,0xFFFEAFB}, + [I(185,59)] = {30,0x3FFFE2FB}, + [I(186,59)] = {30,0x3FFFE3FB}, + [I(187,59)] = {30,0x3FFFE4FB}, + [I(188,59)] = {31,0x7FFFF0FB}, + [I(189,59)] = {30,0x3FFFE5FB}, + [I(190,59)] = {30,0x3FFFE6FB}, + [I(191,59)] = {31,0x7FFFF1FB}, + [I(192,59)] = {64,0}, + [I(193,59)] = {64,0}, + [I(194,59)] = {28,0xFFFEBFB}, + [I(195,59)] = {27,0x7FFF1FB}, + [I(196,59)] = {30,0x3FFFE7FB}, + [I(197,59)] = {31,0x7FFFF2FB}, + [I(198,59)] = {30,0x3FFFE8FB}, + [I(199,59)] = {64,0}, + [I(200,59)] = {64,0}, + [I(201,59)] = {64,0}, + [I(202,59)] = {64,0}, + [I(203,59)] = {64,0}, + [I(204,59)] = {64,0}, + [I(205,59)] = {64,0}, + [I(206,59)] = {X32,0xFFFFF1FB}, + [I(207,59)] = {64,0}, + [I(208,59)] = {27,0x7FFF2FB}, + [I(209,59)] = {29,0x1FFFE3FB}, + [I(210,59)] = {64,0}, + [I(211,59)] = {64,0}, + [I(212,59)] = {64,0}, + [I(213,59)] = {64,0}, + [I(214,59)] = {64,0}, + [I(215,59)] = {X32,0xFFFFF2FB}, + [I(216,59)] = {29,0x1FFFE4FB}, + [I(217,59)] = {29,0x1FFFE5FB}, + [I(218,59)] = {64,0}, + [I(219,59)] = {64,0}, + [I(220,59)] = {64,0}, + [I(221,59)] = {64,0}, + [I(222,59)] = {64,0}, + [I(223,59)] = {64,0}, + [I(224,59)] = {28,0xFFFECFB}, + [I(225,59)] = {X32,0xFFFFF3FB}, + [I(226,59)] = {28,0xFFFEDFB}, + [I(227,59)] = {29,0x1FFFE6FB}, + [I(228,59)] = {30,0x3FFFE9FB}, + [I(229,59)] = {29,0x1FFFE7FB}, + [I(230,59)] = {29,0x1FFFE8FB}, + [I(231,59)] = {31,0x7FFFF3FB}, + [I(232,59)] = {30,0x3FFFEAFB}, + [I(233,59)] = {30,0x3FFFEBFB}, + [I(234,59)] = {64,0}, + [I(235,59)] = {64,0}, + [I(236,59)] = {X32,0xFFFFF4FB}, + [I(237,59)] = {X32,0xFFFFF5FB}, + [I(238,59)] = {64,0}, + [I(239,59)] = {31,0x7FFFF4FB}, + [I(240,59)] = {64,0}, + [I(241,59)] = {64,0}, + [I(242,59)] = {64,0}, + [I(243,59)] = {64,0}, + [I(244,59)] = {64,0}, + [I(245,59)] = {64,0}, + [I(246,59)] = {64,0}, + [I(247,59)] = {64,0}, + [I(248,59)] = {64,0}, + [I(249,59)] = {64,0}, + [I(250,59)] = {64,0}, + [I(251,59)] = {64,0}, + [I(252,59)] = {64,0}, + [I(253,59)] = {64,0}, + [I(254,59)] = {64,0}, + [I(255,59)] = {64,0}, + [I(0,60)] = {28,0xFFC7FFC}, + [I(1,60)] = {64,0}, + [I(2,60)] = {64,0}, + [I(3,60)] = {64,0}, + [I(4,60)] = {64,0}, + [I(5,60)] = {64,0}, + [I(6,60)] = {64,0}, + [I(7,60)] = {64,0}, + [I(8,60)] = {64,0}, + [I(9,60)] = {64,0}, + [I(10,60)] = {64,0}, + [I(11,60)] = {64,0}, + [I(12,60)] = {64,0}, + [I(13,60)] = {64,0}, + [I(14,60)] = {64,0}, + [I(15,60)] = {64,0}, + [I(16,60)] = {64,0}, + [I(17,60)] = {64,0}, + [I(18,60)] = {64,0}, + [I(19,60)] = {64,0}, + [I(20,60)] = {64,0}, + [I(21,60)] = {64,0}, + [I(22,60)] = {64,0}, + [I(23,60)] = {64,0}, + [I(24,60)] = {64,0}, + [I(25,60)] = {64,0}, + [I(26,60)] = {64,0}, + [I(27,60)] = {64,0}, + [I(28,60)] = {64,0}, + [I(29,60)] = {64,0}, + [I(30,60)] = {64,0}, + [I(31,60)] = {64,0}, + [I(32,60)] = {21,0xA7FFC}, + [I(33,60)] = {25,0x1FC7FFC}, + [I(34,60)] = {25,0x1FCFFFC}, + [I(35,60)] = {27,0x7FD7FFC}, + [I(36,60)] = {28,0xFFCFFFC}, + [I(37,60)] = {21,0xAFFFC}, + [I(38,60)] = {23,0x7C7FFC}, + [I(39,60)] = {26,0x3FD7FFC}, + [I(40,60)] = {25,0x1FD7FFC}, + [I(41,60)] = {25,0x1FDFFFC}, + [I(42,60)] = {23,0x7CFFFC}, + [I(43,60)] = {26,0x3FDFFFC}, + [I(44,60)] = {23,0x7D7FFC}, + [I(45,60)] = {21,0xB7FFC}, + [I(46,60)] = {21,0xBFFFC}, + [I(47,60)] = {21,0xC7FFC}, + [I(48,60)] = {20,0x7FFC}, + [I(49,60)] = {20,0xFFFC}, + [I(50,60)] = {20,0x17FFC}, + [I(51,60)] = {21,0xCFFFC}, + [I(52,60)] = {21,0xD7FFC}, + [I(53,60)] = {21,0xDFFFC}, + [I(54,60)] = {21,0xE7FFC}, + [I(55,60)] = {21,0xEFFFC}, + [I(56,60)] = {21,0xF7FFC}, + [I(57,60)] = {21,0xFFFFC}, + [I(58,60)] = {22,0x2E7FFC}, + [I(59,60)] = {23,0x7DFFFC}, + [I(60,60)] = {30,0x3FFE7FFC}, + [I(61,60)] = {21,0x107FFC}, + [I(62,60)] = {27,0x7FDFFFC}, + [I(63,60)] = {25,0x1FE7FFC}, + [I(64,60)] = {28,0xFFD7FFC}, + [I(65,60)] = {21,0x10FFFC}, + [I(66,60)] = {22,0x2EFFFC}, + [I(67,60)] = {22,0x2F7FFC}, + [I(68,60)] = {22,0x2FFFFC}, + [I(69,60)] = {22,0x307FFC}, + [I(70,60)] = {22,0x30FFFC}, + [I(71,60)] = {22,0x317FFC}, + [I(72,60)] = {22,0x31FFFC}, + [I(73,60)] = {22,0x327FFC}, + [I(74,60)] = {22,0x32FFFC}, + [I(75,60)] = {22,0x337FFC}, + [I(76,60)] = {22,0x33FFFC}, + [I(77,60)] = {22,0x347FFC}, + [I(78,60)] = {22,0x34FFFC}, + [I(79,60)] = {22,0x357FFC}, + [I(80,60)] = {22,0x35FFFC}, + [I(81,60)] = {22,0x367FFC}, + [I(82,60)] = {22,0x36FFFC}, + [I(83,60)] = {22,0x377FFC}, + [I(84,60)] = {22,0x37FFFC}, + [I(85,60)] = {22,0x387FFC}, + [I(86,60)] = {22,0x38FFFC}, + [I(87,60)] = {22,0x397FFC}, + [I(88,60)] = {23,0x7E7FFC}, + [I(89,60)] = {22,0x39FFFC}, + [I(90,60)] = {23,0x7EFFFC}, + [I(91,60)] = {28,0xFFDFFFC}, + [I(92,60)] = {64,0}, + [I(93,60)] = {28,0xFFE7FFC}, + [I(94,60)] = {29,0x1FFE7FFC}, + [I(95,60)] = {21,0x117FFC}, + [I(96,60)] = {30,0x3FFEFFFC}, + [I(97,60)] = {20,0x1FFFC}, + [I(98,60)] = {21,0x11FFFC}, + [I(99,60)] = {20,0x27FFC}, + [I(100,60)] = {21,0x127FFC}, + [I(101,60)] = {20,0x2FFFC}, + [I(102,60)] = {21,0x12FFFC}, + [I(103,60)] = {21,0x137FFC}, + [I(104,60)] = {21,0x13FFFC}, + [I(105,60)] = {20,0x37FFC}, + [I(106,60)] = {22,0x3A7FFC}, + [I(107,60)] = {22,0x3AFFFC}, + [I(108,60)] = {21,0x147FFC}, + [I(109,60)] = {21,0x14FFFC}, + [I(110,60)] = {21,0x157FFC}, + [I(111,60)] = {20,0x3FFFC}, + [I(112,60)] = {21,0x15FFFC}, + [I(113,60)] = {22,0x3B7FFC}, + [I(114,60)] = {21,0x167FFC}, + [I(115,60)] = {20,0x47FFC}, + [I(116,60)] = {20,0x4FFFC}, + [I(117,60)] = {21,0x16FFFC}, + [I(118,60)] = {22,0x3BFFFC}, + [I(119,60)] = {22,0x3C7FFC}, + [I(120,60)] = {22,0x3CFFFC}, + [I(121,60)] = {22,0x3D7FFC}, + [I(122,60)] = {22,0x3DFFFC}, + [I(123,60)] = {30,0x3FFF7FFC}, + [I(124,60)] = {26,0x3FE7FFC}, + [I(125,60)] = {29,0x1FFEFFFC}, + [I(126,60)] = {28,0xFFEFFFC}, + [I(127,60)] = {64,0}, + [I(128,60)] = {64,0}, + [I(129,60)] = {64,0}, + [I(130,60)] = {64,0}, + [I(131,60)] = {64,0}, + [I(132,60)] = {64,0}, + [I(133,60)] = {64,0}, + [I(134,60)] = {64,0}, + [I(135,60)] = {64,0}, + [I(136,60)] = {64,0}, + [I(137,60)] = {64,0}, + [I(138,60)] = {64,0}, + [I(139,60)] = {64,0}, + [I(140,60)] = {64,0}, + [I(141,60)] = {64,0}, + [I(142,60)] = {64,0}, + [I(143,60)] = {64,0}, + [I(144,60)] = {64,0}, + [I(145,60)] = {64,0}, + [I(146,60)] = {64,0}, + [I(147,60)] = {64,0}, + [I(148,60)] = {64,0}, + [I(149,60)] = {64,0}, + [I(150,60)] = {64,0}, + [I(151,60)] = {64,0}, + [I(152,60)] = {64,0}, + [I(153,60)] = {64,0}, + [I(154,60)] = {64,0}, + [I(155,60)] = {64,0}, + [I(156,60)] = {64,0}, + [I(157,60)] = {64,0}, + [I(158,60)] = {64,0}, + [I(159,60)] = {64,0}, + [I(160,60)] = {64,0}, + [I(161,60)] = {64,0}, + [I(162,60)] = {64,0}, + [I(163,60)] = {64,0}, + [I(164,60)] = {64,0}, + [I(165,60)] = {64,0}, + [I(166,60)] = {64,0}, + [I(167,60)] = {64,0}, + [I(168,60)] = {64,0}, + [I(169,60)] = {64,0}, + [I(170,60)] = {64,0}, + [I(171,60)] = {64,0}, + [I(172,60)] = {64,0}, + [I(173,60)] = {64,0}, + [I(174,60)] = {64,0}, + [I(175,60)] = {64,0}, + [I(176,60)] = {64,0}, + [I(177,60)] = {64,0}, + [I(178,60)] = {64,0}, + [I(179,60)] = {64,0}, + [I(180,60)] = {64,0}, + [I(181,60)] = {64,0}, + [I(182,60)] = {64,0}, + [I(183,60)] = {64,0}, + [I(184,60)] = {64,0}, + [I(185,60)] = {64,0}, + [I(186,60)] = {64,0}, + [I(187,60)] = {64,0}, + [I(188,60)] = {64,0}, + [I(189,60)] = {64,0}, + [I(190,60)] = {64,0}, + [I(191,60)] = {64,0}, + [I(192,60)] = {64,0}, + [I(193,60)] = {64,0}, + [I(194,60)] = {64,0}, + [I(195,60)] = {64,0}, + [I(196,60)] = {64,0}, + [I(197,60)] = {64,0}, + [I(198,60)] = {64,0}, + [I(199,60)] = {64,0}, + [I(200,60)] = {64,0}, + [I(201,60)] = {64,0}, + [I(202,60)] = {64,0}, + [I(203,60)] = {64,0}, + [I(204,60)] = {64,0}, + [I(205,60)] = {64,0}, + [I(206,60)] = {64,0}, + [I(207,60)] = {64,0}, + [I(208,60)] = {64,0}, + [I(209,60)] = {64,0}, + [I(210,60)] = {64,0}, + [I(211,60)] = {64,0}, + [I(212,60)] = {64,0}, + [I(213,60)] = {64,0}, + [I(214,60)] = {64,0}, + [I(215,60)] = {64,0}, + [I(216,60)] = {64,0}, + [I(217,60)] = {64,0}, + [I(218,60)] = {64,0}, + [I(219,60)] = {64,0}, + [I(220,60)] = {64,0}, + [I(221,60)] = {64,0}, + [I(222,60)] = {64,0}, + [I(223,60)] = {64,0}, + [I(224,60)] = {64,0}, + [I(225,60)] = {64,0}, + [I(226,60)] = {64,0}, + [I(227,60)] = {64,0}, + [I(228,60)] = {64,0}, + [I(229,60)] = {64,0}, + [I(230,60)] = {64,0}, + [I(231,60)] = {64,0}, + [I(232,60)] = {64,0}, + [I(233,60)] = {64,0}, + [I(234,60)] = {64,0}, + [I(235,60)] = {64,0}, + [I(236,60)] = {64,0}, + [I(237,60)] = {64,0}, + [I(238,60)] = {64,0}, + [I(239,60)] = {64,0}, + [I(240,60)] = {64,0}, + [I(241,60)] = {64,0}, + [I(242,60)] = {64,0}, + [I(243,60)] = {64,0}, + [I(244,60)] = {64,0}, + [I(245,60)] = {64,0}, + [I(246,60)] = {64,0}, + [I(247,60)] = {64,0}, + [I(248,60)] = {64,0}, + [I(249,60)] = {64,0}, + [I(250,60)] = {64,0}, + [I(251,60)] = {64,0}, + [I(252,60)] = {64,0}, + [I(253,60)] = {64,0}, + [I(254,60)] = {64,0}, + [I(255,60)] = {64,0}, + [I(0,61)] = {19,0x7FE20}, + [I(1,61)] = {29,0x1FFFF620}, + [I(2,61)] = {64,0}, + [I(3,61)] = {64,0}, + [I(4,61)] = {64,0}, + [I(5,61)] = {64,0}, + [I(6,61)] = {64,0}, + [I(7,61)] = {64,0}, + [I(8,61)] = {64,0}, + [I(9,61)] = {30,0x3FFFFAA0}, + [I(10,61)] = {64,0}, + [I(11,61)] = {64,0}, + [I(12,61)] = {64,0}, + [I(13,61)] = {64,0}, + [I(14,61)] = {64,0}, + [I(15,61)] = {64,0}, + [I(16,61)] = {64,0}, + [I(17,61)] = {64,0}, + [I(18,61)] = {64,0}, + [I(19,61)] = {64,0}, + [I(20,61)] = {64,0}, + [I(21,61)] = {64,0}, + [I(22,61)] = {64,0}, + [I(23,61)] = {64,0}, + [I(24,61)] = {64,0}, + [I(25,61)] = {64,0}, + [I(26,61)] = {64,0}, + [I(27,61)] = {64,0}, + [I(28,61)] = {64,0}, + [I(29,61)] = {64,0}, + [I(30,61)] = {64,0}, + [I(31,61)] = {64,0}, + [I(32,61)] = {12,0x520}, + [I(33,61)] = {16,0xFE20}, + [I(34,61)] = {16,0xFE60}, + [I(35,61)] = {18,0x3FEA0}, + [I(36,61)] = {19,0x7FE60}, + [I(37,61)] = {12,0x560}, + [I(38,61)] = {14,0x3E20}, + [I(39,61)] = {17,0x1FEA0}, + [I(40,61)] = {16,0xFEA0}, + [I(41,61)] = {16,0xFEE0}, + [I(42,61)] = {14,0x3E60}, + [I(43,61)] = {17,0x1FEE0}, + [I(44,61)] = {14,0x3EA0}, + [I(45,61)] = {12,0x5A0}, + [I(46,61)] = {12,0x5E0}, + [I(47,61)] = {12,0x620}, + [I(48,61)] = {11,0x20}, + [I(49,61)] = {11,0x60}, + [I(50,61)] = {11,0xA0}, + [I(51,61)] = {12,0x660}, + [I(52,61)] = {12,0x6A0}, + [I(53,61)] = {12,0x6E0}, + [I(54,61)] = {12,0x720}, + [I(55,61)] = {12,0x760}, + [I(56,61)] = {12,0x7A0}, + [I(57,61)] = {12,0x7E0}, + [I(58,61)] = {13,0x1720}, + [I(59,61)] = {14,0x3EE0}, + [I(60,61)] = {21,0x1FFF20}, + [I(61,61)] = {12,0x820}, + [I(62,61)] = {18,0x3FEE0}, + [I(63,61)] = {16,0xFF20}, + [I(64,61)] = {19,0x7FEA0}, + [I(65,61)] = {12,0x860}, + [I(66,61)] = {13,0x1760}, + [I(67,61)] = {13,0x17A0}, + [I(68,61)] = {13,0x17E0}, + [I(69,61)] = {13,0x1820}, + [I(70,61)] = {13,0x1860}, + [I(71,61)] = {13,0x18A0}, + [I(72,61)] = {13,0x18E0}, + [I(73,61)] = {13,0x1920}, + [I(74,61)] = {13,0x1960}, + [I(75,61)] = {13,0x19A0}, + [I(76,61)] = {13,0x19E0}, + [I(77,61)] = {13,0x1A20}, + [I(78,61)] = {13,0x1A60}, + [I(79,61)] = {13,0x1AA0}, + [I(80,61)] = {13,0x1AE0}, + [I(81,61)] = {13,0x1B20}, + [I(82,61)] = {13,0x1B60}, + [I(83,61)] = {13,0x1BA0}, + [I(84,61)] = {13,0x1BE0}, + [I(85,61)] = {13,0x1C20}, + [I(86,61)] = {13,0x1C60}, + [I(87,61)] = {13,0x1CA0}, + [I(88,61)] = {14,0x3F20}, + [I(89,61)] = {13,0x1CE0}, + [I(90,61)] = {14,0x3F60}, + [I(91,61)] = {19,0x7FEE0}, + [I(92,61)] = {25,0x1FFFC20}, + [I(93,61)] = {19,0x7FF20}, + [I(94,61)] = {20,0xFFF20}, + [I(95,61)] = {12,0x8A0}, + [I(96,61)] = {21,0x1FFF60}, + [I(97,61)] = {11,0xE0}, + [I(98,61)] = {12,0x8E0}, + [I(99,61)] = {11,0x120}, + [I(100,61)] = {12,0x920}, + [I(101,61)] = {11,0x160}, + [I(102,61)] = {12,0x960}, + [I(103,61)] = {12,0x9A0}, + [I(104,61)] = {12,0x9E0}, + [I(105,61)] = {11,0x1A0}, + [I(106,61)] = {13,0x1D20}, + [I(107,61)] = {13,0x1D60}, + [I(108,61)] = {12,0xA20}, + [I(109,61)] = {12,0xA60}, + [I(110,61)] = {12,0xAA0}, + [I(111,61)] = {11,0x1E0}, + [I(112,61)] = {12,0xAE0}, + [I(113,61)] = {13,0x1DA0}, + [I(114,61)] = {12,0xB20}, + [I(115,61)] = {11,0x220}, + [I(116,61)] = {11,0x260}, + [I(117,61)] = {12,0xB60}, + [I(118,61)] = {13,0x1DE0}, + [I(119,61)] = {13,0x1E20}, + [I(120,61)] = {13,0x1E60}, + [I(121,61)] = {13,0x1EA0}, + [I(122,61)] = {13,0x1EE0}, + [I(123,61)] = {21,0x1FFFA0}, + [I(124,61)] = {17,0x1FF20}, + [I(125,61)] = {20,0xFFF60}, + [I(126,61)] = {19,0x7FF60}, + [I(127,61)] = {64,0}, + [I(128,61)] = {26,0x3FFF9A0}, + [I(129,61)] = {28,0xFFFF4A0}, + [I(130,61)] = {26,0x3FFF9E0}, + [I(131,61)] = {26,0x3FFFA20}, + [I(132,61)] = {28,0xFFFF4E0}, + [I(133,61)] = {28,0xFFFF520}, + [I(134,61)] = {28,0xFFFF560}, + [I(135,61)] = {29,0x1FFFF660}, + [I(136,61)] = {28,0xFFFF5A0}, + [I(137,61)] = {29,0x1FFFF6A0}, + [I(138,61)] = {29,0x1FFFF6E0}, + [I(139,61)] = {29,0x1FFFF720}, + [I(140,61)] = {29,0x1FFFF760}, + [I(141,61)] = {29,0x1FFFF7A0}, + [I(142,61)] = {30,0x3FFFFAE0}, + [I(143,61)] = {29,0x1FFFF7E0}, + [I(144,61)] = {30,0x3FFFFB20}, + [I(145,61)] = {30,0x3FFFFB60}, + [I(146,61)] = {28,0xFFFF5E0}, + [I(147,61)] = {29,0x1FFFF820}, + [I(148,61)] = {30,0x3FFFFBA0}, + [I(149,61)] = {29,0x1FFFF860}, + [I(150,61)] = {29,0x1FFFF8A0}, + [I(151,61)] = {29,0x1FFFF8E0}, + [I(152,61)] = {29,0x1FFFF920}, + [I(153,61)] = {27,0x7FFF720}, + [I(154,61)] = {28,0xFFFF620}, + [I(155,61)] = {29,0x1FFFF960}, + [I(156,61)] = {28,0xFFFF660}, + [I(157,61)] = {29,0x1FFFF9A0}, + [I(158,61)] = {29,0x1FFFF9E0}, + [I(159,61)] = {30,0x3FFFFBE0}, + [I(160,61)] = {28,0xFFFF6A0}, + [I(161,61)] = {27,0x7FFF760}, + [I(162,61)] = {26,0x3FFFA60}, + [I(163,61)] = {28,0xFFFF6E0}, + [I(164,61)] = {28,0xFFFF720}, + [I(165,61)] = {29,0x1FFFFA20}, + [I(166,61)] = {29,0x1FFFFA60}, + [I(167,61)] = {27,0x7FFF7A0}, + [I(168,61)] = {29,0x1FFFFAA0}, + [I(169,61)] = {28,0xFFFF760}, + [I(170,61)] = {28,0xFFFF7A0}, + [I(171,61)] = {30,0x3FFFFC20}, + [I(172,61)] = {27,0x7FFF7E0}, + [I(173,61)] = {28,0xFFFF7E0}, + [I(174,61)] = {29,0x1FFFFAE0}, + [I(175,61)] = {29,0x1FFFFB20}, + [I(176,61)] = {27,0x7FFF820}, + [I(177,61)] = {27,0x7FFF860}, + [I(178,61)] = {28,0xFFFF820}, + [I(179,61)] = {27,0x7FFF8A0}, + [I(180,61)] = {29,0x1FFFFB60}, + [I(181,61)] = {28,0xFFFF860}, + [I(182,61)] = {29,0x1FFFFBA0}, + [I(183,61)] = {29,0x1FFFFBE0}, + [I(184,61)] = {26,0x3FFFAA0}, + [I(185,61)] = {28,0xFFFF8A0}, + [I(186,61)] = {28,0xFFFF8E0}, + [I(187,61)] = {28,0xFFFF920}, + [I(188,61)] = {29,0x1FFFFC20}, + [I(189,61)] = {28,0xFFFF960}, + [I(190,61)] = {28,0xFFFF9A0}, + [I(191,61)] = {29,0x1FFFFC60}, + [I(192,61)] = {X32,0xFFFFF820}, + [I(193,61)] = {X32,0xFFFFF860}, + [I(194,61)] = {26,0x3FFFAE0}, + [I(195,61)] = {25,0x1FFFC60}, + [I(196,61)] = {28,0xFFFF9E0}, + [I(197,61)] = {29,0x1FFFFCA0}, + [I(198,61)] = {28,0xFFFFA20}, + [I(199,61)] = {31,0x7FFFFB20}, + [I(200,61)] = {X32,0xFFFFF8A0}, + [I(201,61)] = {X32,0xFFFFF8E0}, + [I(202,61)] = {X32,0xFFFFF920}, + [I(203,61)] = {64,0}, + [I(204,61)] = {64,0}, + [I(205,61)] = {X32,0xFFFFF960}, + [I(206,61)] = {30,0x3FFFFC60}, + [I(207,61)] = {31,0x7FFFFB60}, + [I(208,61)] = {25,0x1FFFCA0}, + [I(209,61)] = {27,0x7FFF8E0}, + [I(210,61)] = {X32,0xFFFFF9A0}, + [I(211,61)] = {64,0}, + [I(212,61)] = {64,0}, + [I(213,61)] = {X32,0xFFFFF9E0}, + [I(214,61)] = {64,0}, + [I(215,61)] = {30,0x3FFFFCA0}, + [I(216,61)] = {27,0x7FFF920}, + [I(217,61)] = {27,0x7FFF960}, + [I(218,61)] = {X32,0xFFFFFA20}, + [I(219,61)] = {X32,0xFFFFFA60}, + [I(220,61)] = {64,0}, + [I(221,61)] = {64,0}, + [I(222,61)] = {64,0}, + [I(223,61)] = {64,0}, + [I(224,61)] = {26,0x3FFFB20}, + [I(225,61)] = {30,0x3FFFFCE0}, + [I(226,61)] = {26,0x3FFFB60}, + [I(227,61)] = {27,0x7FFF9A0}, + [I(228,61)] = {28,0xFFFFA60}, + [I(229,61)] = {27,0x7FFF9E0}, + [I(230,61)] = {27,0x7FFFA20}, + [I(231,61)] = {29,0x1FFFFCE0}, + [I(232,61)] = {28,0xFFFFAA0}, + [I(233,61)] = {28,0xFFFFAE0}, + [I(234,61)] = {31,0x7FFFFBA0}, + [I(235,61)] = {31,0x7FFFFBE0}, + [I(236,61)] = {30,0x3FFFFD20}, + [I(237,61)] = {30,0x3FFFFD60}, + [I(238,61)] = {X32,0xFFFFFAA0}, + [I(239,61)] = {29,0x1FFFFD20}, + [I(240,61)] = {X32,0xFFFFFAE0}, + [I(241,61)] = {64,0}, + [I(242,61)] = {X32,0xFFFFFB20}, + [I(243,61)] = {X32,0xFFFFFB60}, + [I(244,61)] = {64,0}, + [I(245,61)] = {64,0}, + [I(246,61)] = {64,0}, + [I(247,61)] = {64,0}, + [I(248,61)] = {64,0}, + [I(249,61)] = {64,0}, + [I(250,61)] = {64,0}, + [I(251,61)] = {64,0}, + [I(252,61)] = {64,0}, + [I(253,61)] = {64,0}, + [I(254,61)] = {64,0}, + [I(255,61)] = {X32,0xFFFFFBA0}, + [I(0,62)] = {25,0x1FF8FFB}, + [I(1,62)] = {64,0}, + [I(2,62)] = {64,0}, + [I(3,62)] = {64,0}, + [I(4,62)] = {64,0}, + [I(5,62)] = {64,0}, + [I(6,62)] = {64,0}, + [I(7,62)] = {64,0}, + [I(8,62)] = {64,0}, + [I(9,62)] = {64,0}, + [I(10,62)] = {64,0}, + [I(11,62)] = {64,0}, + [I(12,62)] = {64,0}, + [I(13,62)] = {64,0}, + [I(14,62)] = {64,0}, + [I(15,62)] = {64,0}, + [I(16,62)] = {64,0}, + [I(17,62)] = {64,0}, + [I(18,62)] = {64,0}, + [I(19,62)] = {64,0}, + [I(20,62)] = {64,0}, + [I(21,62)] = {64,0}, + [I(22,62)] = {64,0}, + [I(23,62)] = {64,0}, + [I(24,62)] = {64,0}, + [I(25,62)] = {64,0}, + [I(26,62)] = {64,0}, + [I(27,62)] = {64,0}, + [I(28,62)] = {64,0}, + [I(29,62)] = {64,0}, + [I(30,62)] = {64,0}, + [I(31,62)] = {64,0}, + [I(32,62)] = {18,0x14FFB}, + [I(33,62)] = {22,0x3F8FFB}, + [I(34,62)] = {22,0x3F9FFB}, + [I(35,62)] = {24,0xFFAFFB}, + [I(36,62)] = {25,0x1FF9FFB}, + [I(37,62)] = {18,0x15FFB}, + [I(38,62)] = {20,0xF8FFB}, + [I(39,62)] = {23,0x7FAFFB}, + [I(40,62)] = {22,0x3FAFFB}, + [I(41,62)] = {22,0x3FBFFB}, + [I(42,62)] = {20,0xF9FFB}, + [I(43,62)] = {23,0x7FBFFB}, + [I(44,62)] = {20,0xFAFFB}, + [I(45,62)] = {18,0x16FFB}, + [I(46,62)] = {18,0x17FFB}, + [I(47,62)] = {18,0x18FFB}, + [I(48,62)] = {17,0xFFB}, + [I(49,62)] = {17,0x1FFB}, + [I(50,62)] = {17,0x2FFB}, + [I(51,62)] = {18,0x19FFB}, + [I(52,62)] = {18,0x1AFFB}, + [I(53,62)] = {18,0x1BFFB}, + [I(54,62)] = {18,0x1CFFB}, + [I(55,62)] = {18,0x1DFFB}, + [I(56,62)] = {18,0x1EFFB}, + [I(57,62)] = {18,0x1FFFB}, + [I(58,62)] = {19,0x5CFFB}, + [I(59,62)] = {20,0xFBFFB}, + [I(60,62)] = {27,0x7FFCFFB}, + [I(61,62)] = {18,0x20FFB}, + [I(62,62)] = {24,0xFFBFFB}, + [I(63,62)] = {22,0x3FCFFB}, + [I(64,62)] = {25,0x1FFAFFB}, + [I(65,62)] = {18,0x21FFB}, + [I(66,62)] = {19,0x5DFFB}, + [I(67,62)] = {19,0x5EFFB}, + [I(68,62)] = {19,0x5FFFB}, + [I(69,62)] = {19,0x60FFB}, + [I(70,62)] = {19,0x61FFB}, + [I(71,62)] = {19,0x62FFB}, + [I(72,62)] = {19,0x63FFB}, + [I(73,62)] = {19,0x64FFB}, + [I(74,62)] = {19,0x65FFB}, + [I(75,62)] = {19,0x66FFB}, + [I(76,62)] = {19,0x67FFB}, + [I(77,62)] = {19,0x68FFB}, + [I(78,62)] = {19,0x69FFB}, + [I(79,62)] = {19,0x6AFFB}, + [I(80,62)] = {19,0x6BFFB}, + [I(81,62)] = {19,0x6CFFB}, + [I(82,62)] = {19,0x6DFFB}, + [I(83,62)] = {19,0x6EFFB}, + [I(84,62)] = {19,0x6FFFB}, + [I(85,62)] = {19,0x70FFB}, + [I(86,62)] = {19,0x71FFB}, + [I(87,62)] = {19,0x72FFB}, + [I(88,62)] = {20,0xFCFFB}, + [I(89,62)] = {19,0x73FFB}, + [I(90,62)] = {20,0xFDFFB}, + [I(91,62)] = {25,0x1FFBFFB}, + [I(92,62)] = {31,0x7FFF0FFB}, + [I(93,62)] = {25,0x1FFCFFB}, + [I(94,62)] = {26,0x3FFCFFB}, + [I(95,62)] = {18,0x22FFB}, + [I(96,62)] = {27,0x7FFDFFB}, + [I(97,62)] = {17,0x3FFB}, + [I(98,62)] = {18,0x23FFB}, + [I(99,62)] = {17,0x4FFB}, + [I(100,62)] = {18,0x24FFB}, + [I(101,62)] = {17,0x5FFB}, + [I(102,62)] = {18,0x25FFB}, + [I(103,62)] = {18,0x26FFB}, + [I(104,62)] = {18,0x27FFB}, + [I(105,62)] = {17,0x6FFB}, + [I(106,62)] = {19,0x74FFB}, + [I(107,62)] = {19,0x75FFB}, + [I(108,62)] = {18,0x28FFB}, + [I(109,62)] = {18,0x29FFB}, + [I(110,62)] = {18,0x2AFFB}, + [I(111,62)] = {17,0x7FFB}, + [I(112,62)] = {18,0x2BFFB}, + [I(113,62)] = {19,0x76FFB}, + [I(114,62)] = {18,0x2CFFB}, + [I(115,62)] = {17,0x8FFB}, + [I(116,62)] = {17,0x9FFB}, + [I(117,62)] = {18,0x2DFFB}, + [I(118,62)] = {19,0x77FFB}, + [I(119,62)] = {19,0x78FFB}, + [I(120,62)] = {19,0x79FFB}, + [I(121,62)] = {19,0x7AFFB}, + [I(122,62)] = {19,0x7BFFB}, + [I(123,62)] = {27,0x7FFEFFB}, + [I(124,62)] = {23,0x7FCFFB}, + [I(125,62)] = {26,0x3FFDFFB}, + [I(126,62)] = {25,0x1FFDFFB}, + [I(127,62)] = {64,0}, + [I(128,62)] = {X32,0xFFFE6FFB}, + [I(129,62)] = {64,0}, + [I(130,62)] = {X32,0xFFFE7FFB}, + [I(131,62)] = {X32,0xFFFE8FFB}, + [I(132,62)] = {64,0}, + [I(133,62)] = {64,0}, + [I(134,62)] = {64,0}, + [I(135,62)] = {64,0}, + [I(136,62)] = {64,0}, + [I(137,62)] = {64,0}, + [I(138,62)] = {64,0}, + [I(139,62)] = {64,0}, + [I(140,62)] = {64,0}, + [I(141,62)] = {64,0}, + [I(142,62)] = {64,0}, + [I(143,62)] = {64,0}, + [I(144,62)] = {64,0}, + [I(145,62)] = {64,0}, + [I(146,62)] = {64,0}, + [I(147,62)] = {64,0}, + [I(148,62)] = {64,0}, + [I(149,62)] = {64,0}, + [I(150,62)] = {64,0}, + [I(151,62)] = {64,0}, + [I(152,62)] = {64,0}, + [I(153,62)] = {64,0}, + [I(154,62)] = {64,0}, + [I(155,62)] = {64,0}, + [I(156,62)] = {64,0}, + [I(157,62)] = {64,0}, + [I(158,62)] = {64,0}, + [I(159,62)] = {64,0}, + [I(160,62)] = {64,0}, + [I(161,62)] = {64,0}, + [I(162,62)] = {X32,0xFFFE9FFB}, + [I(163,62)] = {64,0}, + [I(164,62)] = {64,0}, + [I(165,62)] = {64,0}, + [I(166,62)] = {64,0}, + [I(167,62)] = {64,0}, + [I(168,62)] = {64,0}, + [I(169,62)] = {64,0}, + [I(170,62)] = {64,0}, + [I(171,62)] = {64,0}, + [I(172,62)] = {64,0}, + [I(173,62)] = {64,0}, + [I(174,62)] = {64,0}, + [I(175,62)] = {64,0}, + [I(176,62)] = {64,0}, + [I(177,62)] = {64,0}, + [I(178,62)] = {64,0}, + [I(179,62)] = {64,0}, + [I(180,62)] = {64,0}, + [I(181,62)] = {64,0}, + [I(182,62)] = {64,0}, + [I(183,62)] = {64,0}, + [I(184,62)] = {X32,0xFFFEAFFB}, + [I(185,62)] = {64,0}, + [I(186,62)] = {64,0}, + [I(187,62)] = {64,0}, + [I(188,62)] = {64,0}, + [I(189,62)] = {64,0}, + [I(190,62)] = {64,0}, + [I(191,62)] = {64,0}, + [I(192,62)] = {64,0}, + [I(193,62)] = {64,0}, + [I(194,62)] = {X32,0xFFFEBFFB}, + [I(195,62)] = {31,0x7FFF1FFB}, + [I(196,62)] = {64,0}, + [I(197,62)] = {64,0}, + [I(198,62)] = {64,0}, + [I(199,62)] = {64,0}, + [I(200,62)] = {64,0}, + [I(201,62)] = {64,0}, + [I(202,62)] = {64,0}, + [I(203,62)] = {64,0}, + [I(204,62)] = {64,0}, + [I(205,62)] = {64,0}, + [I(206,62)] = {64,0}, + [I(207,62)] = {64,0}, + [I(208,62)] = {31,0x7FFF2FFB}, + [I(209,62)] = {64,0}, + [I(210,62)] = {64,0}, + [I(211,62)] = {64,0}, + [I(212,62)] = {64,0}, + [I(213,62)] = {64,0}, + [I(214,62)] = {64,0}, + [I(215,62)] = {64,0}, + [I(216,62)] = {64,0}, + [I(217,62)] = {64,0}, + [I(218,62)] = {64,0}, + [I(219,62)] = {64,0}, + [I(220,62)] = {64,0}, + [I(221,62)] = {64,0}, + [I(222,62)] = {64,0}, + [I(223,62)] = {64,0}, + [I(224,62)] = {X32,0xFFFECFFB}, + [I(225,62)] = {64,0}, + [I(226,62)] = {X32,0xFFFEDFFB}, + [I(227,62)] = {64,0}, + [I(228,62)] = {64,0}, + [I(229,62)] = {64,0}, + [I(230,62)] = {64,0}, + [I(231,62)] = {64,0}, + [I(232,62)] = {64,0}, + [I(233,62)] = {64,0}, + [I(234,62)] = {64,0}, + [I(235,62)] = {64,0}, + [I(236,62)] = {64,0}, + [I(237,62)] = {64,0}, + [I(238,62)] = {64,0}, + [I(239,62)] = {64,0}, + [I(240,62)] = {64,0}, + [I(241,62)] = {64,0}, + [I(242,62)] = {64,0}, + [I(243,62)] = {64,0}, + [I(244,62)] = {64,0}, + [I(245,62)] = {64,0}, + [I(246,62)] = {64,0}, + [I(247,62)] = {64,0}, + [I(248,62)] = {64,0}, + [I(249,62)] = {64,0}, + [I(250,62)] = {64,0}, + [I(251,62)] = {64,0}, + [I(252,62)] = {64,0}, + [I(253,62)] = {64,0}, + [I(254,62)] = {64,0}, + [I(255,62)] = {64,0}, + [I(0,63)] = {23,0x7FE3FC}, + [I(1,63)] = {64,0}, + [I(2,63)] = {64,0}, + [I(3,63)] = {64,0}, + [I(4,63)] = {64,0}, + [I(5,63)] = {64,0}, + [I(6,63)] = {64,0}, + [I(7,63)] = {64,0}, + [I(8,63)] = {64,0}, + [I(9,63)] = {64,0}, + [I(10,63)] = {64,0}, + [I(11,63)] = {64,0}, + [I(12,63)] = {64,0}, + [I(13,63)] = {64,0}, + [I(14,63)] = {64,0}, + [I(15,63)] = {64,0}, + [I(16,63)] = {64,0}, + [I(17,63)] = {64,0}, + [I(18,63)] = {64,0}, + [I(19,63)] = {64,0}, + [I(20,63)] = {64,0}, + [I(21,63)] = {64,0}, + [I(22,63)] = {64,0}, + [I(23,63)] = {64,0}, + [I(24,63)] = {64,0}, + [I(25,63)] = {64,0}, + [I(26,63)] = {64,0}, + [I(27,63)] = {64,0}, + [I(28,63)] = {64,0}, + [I(29,63)] = {64,0}, + [I(30,63)] = {64,0}, + [I(31,63)] = {64,0}, + [I(32,63)] = {16,0x53FC}, + [I(33,63)] = {20,0xFE3FC}, + [I(34,63)] = {20,0xFE7FC}, + [I(35,63)] = {22,0x3FEBFC}, + [I(36,63)] = {23,0x7FE7FC}, + [I(37,63)] = {16,0x57FC}, + [I(38,63)] = {18,0x3E3FC}, + [I(39,63)] = {21,0x1FEBFC}, + [I(40,63)] = {20,0xFEBFC}, + [I(41,63)] = {20,0xFEFFC}, + [I(42,63)] = {18,0x3E7FC}, + [I(43,63)] = {21,0x1FEFFC}, + [I(44,63)] = {18,0x3EBFC}, + [I(45,63)] = {16,0x5BFC}, + [I(46,63)] = {16,0x5FFC}, + [I(47,63)] = {16,0x63FC}, + [I(48,63)] = {15,0x3FC}, + [I(49,63)] = {15,0x7FC}, + [I(50,63)] = {15,0xBFC}, + [I(51,63)] = {16,0x67FC}, + [I(52,63)] = {16,0x6BFC}, + [I(53,63)] = {16,0x6FFC}, + [I(54,63)] = {16,0x73FC}, + [I(55,63)] = {16,0x77FC}, + [I(56,63)] = {16,0x7BFC}, + [I(57,63)] = {16,0x7FFC}, + [I(58,63)] = {17,0x173FC}, + [I(59,63)] = {18,0x3EFFC}, + [I(60,63)] = {25,0x1FFF3FC}, + [I(61,63)] = {16,0x83FC}, + [I(62,63)] = {22,0x3FEFFC}, + [I(63,63)] = {20,0xFF3FC}, + [I(64,63)] = {23,0x7FEBFC}, + [I(65,63)] = {16,0x87FC}, + [I(66,63)] = {17,0x177FC}, + [I(67,63)] = {17,0x17BFC}, + [I(68,63)] = {17,0x17FFC}, + [I(69,63)] = {17,0x183FC}, + [I(70,63)] = {17,0x187FC}, + [I(71,63)] = {17,0x18BFC}, + [I(72,63)] = {17,0x18FFC}, + [I(73,63)] = {17,0x193FC}, + [I(74,63)] = {17,0x197FC}, + [I(75,63)] = {17,0x19BFC}, + [I(76,63)] = {17,0x19FFC}, + [I(77,63)] = {17,0x1A3FC}, + [I(78,63)] = {17,0x1A7FC}, + [I(79,63)] = {17,0x1ABFC}, + [I(80,63)] = {17,0x1AFFC}, + [I(81,63)] = {17,0x1B3FC}, + [I(82,63)] = {17,0x1B7FC}, + [I(83,63)] = {17,0x1BBFC}, + [I(84,63)] = {17,0x1BFFC}, + [I(85,63)] = {17,0x1C3FC}, + [I(86,63)] = {17,0x1C7FC}, + [I(87,63)] = {17,0x1CBFC}, + [I(88,63)] = {18,0x3F3FC}, + [I(89,63)] = {17,0x1CFFC}, + [I(90,63)] = {18,0x3F7FC}, + [I(91,63)] = {23,0x7FEFFC}, + [I(92,63)] = {29,0x1FFFC3FC}, + [I(93,63)] = {23,0x7FF3FC}, + [I(94,63)] = {24,0xFFF3FC}, + [I(95,63)] = {16,0x8BFC}, + [I(96,63)] = {25,0x1FFF7FC}, + [I(97,63)] = {15,0xFFC}, + [I(98,63)] = {16,0x8FFC}, + [I(99,63)] = {15,0x13FC}, + [I(100,63)] = {16,0x93FC}, + [I(101,63)] = {15,0x17FC}, + [I(102,63)] = {16,0x97FC}, + [I(103,63)] = {16,0x9BFC}, + [I(104,63)] = {16,0x9FFC}, + [I(105,63)] = {15,0x1BFC}, + [I(106,63)] = {17,0x1D3FC}, + [I(107,63)] = {17,0x1D7FC}, + [I(108,63)] = {16,0xA3FC}, + [I(109,63)] = {16,0xA7FC}, + [I(110,63)] = {16,0xABFC}, + [I(111,63)] = {15,0x1FFC}, + [I(112,63)] = {16,0xAFFC}, + [I(113,63)] = {17,0x1DBFC}, + [I(114,63)] = {16,0xB3FC}, + [I(115,63)] = {15,0x23FC}, + [I(116,63)] = {15,0x27FC}, + [I(117,63)] = {16,0xB7FC}, + [I(118,63)] = {17,0x1DFFC}, + [I(119,63)] = {17,0x1E3FC}, + [I(120,63)] = {17,0x1E7FC}, + [I(121,63)] = {17,0x1EBFC}, + [I(122,63)] = {17,0x1EFFC}, + [I(123,63)] = {25,0x1FFFBFC}, + [I(124,63)] = {21,0x1FF3FC}, + [I(125,63)] = {24,0xFFF7FC}, + [I(126,63)] = {23,0x7FF7FC}, + [I(127,63)] = {64,0}, + [I(128,63)] = {30,0x3FFF9BFC}, + [I(129,63)] = {X32,0xFFFF4BFC}, + [I(130,63)] = {30,0x3FFF9FFC}, + [I(131,63)] = {30,0x3FFFA3FC}, + [I(132,63)] = {X32,0xFFFF4FFC}, + [I(133,63)] = {X32,0xFFFF53FC}, + [I(134,63)] = {X32,0xFFFF57FC}, + [I(135,63)] = {64,0}, + [I(136,63)] = {X32,0xFFFF5BFC}, + [I(137,63)] = {64,0}, + [I(138,63)] = {64,0}, + [I(139,63)] = {64,0}, + [I(140,63)] = {64,0}, + [I(141,63)] = {64,0}, + [I(142,63)] = {64,0}, + [I(143,63)] = {64,0}, + [I(144,63)] = {64,0}, + [I(145,63)] = {64,0}, + [I(146,63)] = {X32,0xFFFF5FFC}, + [I(147,63)] = {64,0}, + [I(148,63)] = {64,0}, + [I(149,63)] = {64,0}, + [I(150,63)] = {64,0}, + [I(151,63)] = {64,0}, + [I(152,63)] = {64,0}, + [I(153,63)] = {31,0x7FFF73FC}, + [I(154,63)] = {X32,0xFFFF63FC}, + [I(155,63)] = {64,0}, + [I(156,63)] = {X32,0xFFFF67FC}, + [I(157,63)] = {64,0}, + [I(158,63)] = {64,0}, + [I(159,63)] = {64,0}, + [I(160,63)] = {X32,0xFFFF6BFC}, + [I(161,63)] = {31,0x7FFF77FC}, + [I(162,63)] = {30,0x3FFFA7FC}, + [I(163,63)] = {X32,0xFFFF6FFC}, + [I(164,63)] = {X32,0xFFFF73FC}, + [I(165,63)] = {64,0}, + [I(166,63)] = {64,0}, + [I(167,63)] = {31,0x7FFF7BFC}, + [I(168,63)] = {64,0}, + [I(169,63)] = {X32,0xFFFF77FC}, + [I(170,63)] = {X32,0xFFFF7BFC}, + [I(171,63)] = {64,0}, + [I(172,63)] = {31,0x7FFF7FFC}, + [I(173,63)] = {X32,0xFFFF7FFC}, + [I(174,63)] = {64,0}, + [I(175,63)] = {64,0}, + [I(176,63)] = {31,0x7FFF83FC}, + [I(177,63)] = {31,0x7FFF87FC}, + [I(178,63)] = {X32,0xFFFF83FC}, + [I(179,63)] = {31,0x7FFF8BFC}, + [I(180,63)] = {64,0}, + [I(181,63)] = {X32,0xFFFF87FC}, + [I(182,63)] = {64,0}, + [I(183,63)] = {64,0}, + [I(184,63)] = {30,0x3FFFABFC}, + [I(185,63)] = {X32,0xFFFF8BFC}, + [I(186,63)] = {X32,0xFFFF8FFC}, + [I(187,63)] = {X32,0xFFFF93FC}, + [I(188,63)] = {64,0}, + [I(189,63)] = {X32,0xFFFF97FC}, + [I(190,63)] = {X32,0xFFFF9BFC}, + [I(191,63)] = {64,0}, + [I(192,63)] = {64,0}, + [I(193,63)] = {64,0}, + [I(194,63)] = {30,0x3FFFAFFC}, + [I(195,63)] = {29,0x1FFFC7FC}, + [I(196,63)] = {X32,0xFFFF9FFC}, + [I(197,63)] = {64,0}, + [I(198,63)] = {X32,0xFFFFA3FC}, + [I(199,63)] = {64,0}, + [I(200,63)] = {64,0}, + [I(201,63)] = {64,0}, + [I(202,63)] = {64,0}, + [I(203,63)] = {64,0}, + [I(204,63)] = {64,0}, + [I(205,63)] = {64,0}, + [I(206,63)] = {64,0}, + [I(207,63)] = {64,0}, + [I(208,63)] = {29,0x1FFFCBFC}, + [I(209,63)] = {31,0x7FFF8FFC}, + [I(210,63)] = {64,0}, + [I(211,63)] = {64,0}, + [I(212,63)] = {64,0}, + [I(213,63)] = {64,0}, + [I(214,63)] = {64,0}, + [I(215,63)] = {64,0}, + [I(216,63)] = {31,0x7FFF93FC}, + [I(217,63)] = {31,0x7FFF97FC}, + [I(218,63)] = {64,0}, + [I(219,63)] = {64,0}, + [I(220,63)] = {64,0}, + [I(221,63)] = {64,0}, + [I(222,63)] = {64,0}, + [I(223,63)] = {64,0}, + [I(224,63)] = {30,0x3FFFB3FC}, + [I(225,63)] = {64,0}, + [I(226,63)] = {30,0x3FFFB7FC}, + [I(227,63)] = {31,0x7FFF9BFC}, + [I(228,63)] = {X32,0xFFFFA7FC}, + [I(229,63)] = {31,0x7FFF9FFC}, + [I(230,63)] = {31,0x7FFFA3FC}, + [I(231,63)] = {64,0}, + [I(232,63)] = {X32,0xFFFFABFC}, + [I(233,63)] = {X32,0xFFFFAFFC}, + [I(234,63)] = {64,0}, + [I(235,63)] = {64,0}, + [I(236,63)] = {64,0}, + [I(237,63)] = {64,0}, + [I(238,63)] = {64,0}, + [I(239,63)] = {64,0}, + [I(240,63)] = {64,0}, + [I(241,63)] = {64,0}, + [I(242,63)] = {64,0}, + [I(243,63)] = {64,0}, + [I(244,63)] = {64,0}, + [I(245,63)] = {64,0}, + [I(246,63)] = {64,0}, + [I(247,63)] = {64,0}, + [I(248,63)] = {64,0}, + [I(249,63)] = {64,0}, + [I(250,63)] = {64,0}, + [I(251,63)] = {64,0}, + [I(252,63)] = {64,0}, + [I(253,63)] = {64,0}, + [I(254,63)] = {64,0}, + [I(255,63)] = {64,0}, + [I(0,64)] = {26,0x3FF1FFA}, + [I(1,64)] = {64,0}, + [I(2,64)] = {64,0}, + [I(3,64)] = {64,0}, + [I(4,64)] = {64,0}, + [I(5,64)] = {64,0}, + [I(6,64)] = {64,0}, + [I(7,64)] = {64,0}, + [I(8,64)] = {64,0}, + [I(9,64)] = {64,0}, + [I(10,64)] = {64,0}, + [I(11,64)] = {64,0}, + [I(12,64)] = {64,0}, + [I(13,64)] = {64,0}, + [I(14,64)] = {64,0}, + [I(15,64)] = {64,0}, + [I(16,64)] = {64,0}, + [I(17,64)] = {64,0}, + [I(18,64)] = {64,0}, + [I(19,64)] = {64,0}, + [I(20,64)] = {64,0}, + [I(21,64)] = {64,0}, + [I(22,64)] = {64,0}, + [I(23,64)] = {64,0}, + [I(24,64)] = {64,0}, + [I(25,64)] = {64,0}, + [I(26,64)] = {64,0}, + [I(27,64)] = {64,0}, + [I(28,64)] = {64,0}, + [I(29,64)] = {64,0}, + [I(30,64)] = {64,0}, + [I(31,64)] = {64,0}, + [I(32,64)] = {19,0x29FFA}, + [I(33,64)] = {23,0x7F1FFA}, + [I(34,64)] = {23,0x7F3FFA}, + [I(35,64)] = {25,0x1FF5FFA}, + [I(36,64)] = {26,0x3FF3FFA}, + [I(37,64)] = {19,0x2BFFA}, + [I(38,64)] = {21,0x1F1FFA}, + [I(39,64)] = {24,0xFF5FFA}, + [I(40,64)] = {23,0x7F5FFA}, + [I(41,64)] = {23,0x7F7FFA}, + [I(42,64)] = {21,0x1F3FFA}, + [I(43,64)] = {24,0xFF7FFA}, + [I(44,64)] = {21,0x1F5FFA}, + [I(45,64)] = {19,0x2DFFA}, + [I(46,64)] = {19,0x2FFFA}, + [I(47,64)] = {19,0x31FFA}, + [I(48,64)] = {18,0x1FFA}, + [I(49,64)] = {18,0x3FFA}, + [I(50,64)] = {18,0x5FFA}, + [I(51,64)] = {19,0x33FFA}, + [I(52,64)] = {19,0x35FFA}, + [I(53,64)] = {19,0x37FFA}, + [I(54,64)] = {19,0x39FFA}, + [I(55,64)] = {19,0x3BFFA}, + [I(56,64)] = {19,0x3DFFA}, + [I(57,64)] = {19,0x3FFFA}, + [I(58,64)] = {20,0xB9FFA}, + [I(59,64)] = {21,0x1F7FFA}, + [I(60,64)] = {28,0xFFF9FFA}, + [I(61,64)] = {19,0x41FFA}, + [I(62,64)] = {25,0x1FF7FFA}, + [I(63,64)] = {23,0x7F9FFA}, + [I(64,64)] = {26,0x3FF5FFA}, + [I(65,64)] = {19,0x43FFA}, + [I(66,64)] = {20,0xBBFFA}, + [I(67,64)] = {20,0xBDFFA}, + [I(68,64)] = {20,0xBFFFA}, + [I(69,64)] = {20,0xC1FFA}, + [I(70,64)] = {20,0xC3FFA}, + [I(71,64)] = {20,0xC5FFA}, + [I(72,64)] = {20,0xC7FFA}, + [I(73,64)] = {20,0xC9FFA}, + [I(74,64)] = {20,0xCBFFA}, + [I(75,64)] = {20,0xCDFFA}, + [I(76,64)] = {20,0xCFFFA}, + [I(77,64)] = {20,0xD1FFA}, + [I(78,64)] = {20,0xD3FFA}, + [I(79,64)] = {20,0xD5FFA}, + [I(80,64)] = {20,0xD7FFA}, + [I(81,64)] = {20,0xD9FFA}, + [I(82,64)] = {20,0xDBFFA}, + [I(83,64)] = {20,0xDDFFA}, + [I(84,64)] = {20,0xDFFFA}, + [I(85,64)] = {20,0xE1FFA}, + [I(86,64)] = {20,0xE3FFA}, + [I(87,64)] = {20,0xE5FFA}, + [I(88,64)] = {21,0x1F9FFA}, + [I(89,64)] = {20,0xE7FFA}, + [I(90,64)] = {21,0x1FBFFA}, + [I(91,64)] = {26,0x3FF7FFA}, + [I(92,64)] = {X32,0xFFFE1FFA}, + [I(93,64)] = {26,0x3FF9FFA}, + [I(94,64)] = {27,0x7FF9FFA}, + [I(95,64)] = {19,0x45FFA}, + [I(96,64)] = {28,0xFFFBFFA}, + [I(97,64)] = {18,0x7FFA}, + [I(98,64)] = {19,0x47FFA}, + [I(99,64)] = {18,0x9FFA}, + [I(100,64)] = {19,0x49FFA}, + [I(101,64)] = {18,0xBFFA}, + [I(102,64)] = {19,0x4BFFA}, + [I(103,64)] = {19,0x4DFFA}, + [I(104,64)] = {19,0x4FFFA}, + [I(105,64)] = {18,0xDFFA}, + [I(106,64)] = {20,0xE9FFA}, + [I(107,64)] = {20,0xEBFFA}, + [I(108,64)] = {19,0x51FFA}, + [I(109,64)] = {19,0x53FFA}, + [I(110,64)] = {19,0x55FFA}, + [I(111,64)] = {18,0xFFFA}, + [I(112,64)] = {19,0x57FFA}, + [I(113,64)] = {20,0xEDFFA}, + [I(114,64)] = {19,0x59FFA}, + [I(115,64)] = {18,0x11FFA}, + [I(116,64)] = {18,0x13FFA}, + [I(117,64)] = {19,0x5BFFA}, + [I(118,64)] = {20,0xEFFFA}, + [I(119,64)] = {20,0xF1FFA}, + [I(120,64)] = {20,0xF3FFA}, + [I(121,64)] = {20,0xF5FFA}, + [I(122,64)] = {20,0xF7FFA}, + [I(123,64)] = {28,0xFFFDFFA}, + [I(124,64)] = {24,0xFF9FFA}, + [I(125,64)] = {27,0x7FFBFFA}, + [I(126,64)] = {26,0x3FFBFFA}, + [I(127,64)] = {64,0}, + [I(128,64)] = {64,0}, + [I(129,64)] = {64,0}, + [I(130,64)] = {64,0}, + [I(131,64)] = {64,0}, + [I(132,64)] = {64,0}, + [I(133,64)] = {64,0}, + [I(134,64)] = {64,0}, + [I(135,64)] = {64,0}, + [I(136,64)] = {64,0}, + [I(137,64)] = {64,0}, + [I(138,64)] = {64,0}, + [I(139,64)] = {64,0}, + [I(140,64)] = {64,0}, + [I(141,64)] = {64,0}, + [I(142,64)] = {64,0}, + [I(143,64)] = {64,0}, + [I(144,64)] = {64,0}, + [I(145,64)] = {64,0}, + [I(146,64)] = {64,0}, + [I(147,64)] = {64,0}, + [I(148,64)] = {64,0}, + [I(149,64)] = {64,0}, + [I(150,64)] = {64,0}, + [I(151,64)] = {64,0}, + [I(152,64)] = {64,0}, + [I(153,64)] = {64,0}, + [I(154,64)] = {64,0}, + [I(155,64)] = {64,0}, + [I(156,64)] = {64,0}, + [I(157,64)] = {64,0}, + [I(158,64)] = {64,0}, + [I(159,64)] = {64,0}, + [I(160,64)] = {64,0}, + [I(161,64)] = {64,0}, + [I(162,64)] = {64,0}, + [I(163,64)] = {64,0}, + [I(164,64)] = {64,0}, + [I(165,64)] = {64,0}, + [I(166,64)] = {64,0}, + [I(167,64)] = {64,0}, + [I(168,64)] = {64,0}, + [I(169,64)] = {64,0}, + [I(170,64)] = {64,0}, + [I(171,64)] = {64,0}, + [I(172,64)] = {64,0}, + [I(173,64)] = {64,0}, + [I(174,64)] = {64,0}, + [I(175,64)] = {64,0}, + [I(176,64)] = {64,0}, + [I(177,64)] = {64,0}, + [I(178,64)] = {64,0}, + [I(179,64)] = {64,0}, + [I(180,64)] = {64,0}, + [I(181,64)] = {64,0}, + [I(182,64)] = {64,0}, + [I(183,64)] = {64,0}, + [I(184,64)] = {64,0}, + [I(185,64)] = {64,0}, + [I(186,64)] = {64,0}, + [I(187,64)] = {64,0}, + [I(188,64)] = {64,0}, + [I(189,64)] = {64,0}, + [I(190,64)] = {64,0}, + [I(191,64)] = {64,0}, + [I(192,64)] = {64,0}, + [I(193,64)] = {64,0}, + [I(194,64)] = {64,0}, + [I(195,64)] = {X32,0xFFFE3FFA}, + [I(196,64)] = {64,0}, + [I(197,64)] = {64,0}, + [I(198,64)] = {64,0}, + [I(199,64)] = {64,0}, + [I(200,64)] = {64,0}, + [I(201,64)] = {64,0}, + [I(202,64)] = {64,0}, + [I(203,64)] = {64,0}, + [I(204,64)] = {64,0}, + [I(205,64)] = {64,0}, + [I(206,64)] = {64,0}, + [I(207,64)] = {64,0}, + [I(208,64)] = {X32,0xFFFE5FFA}, + [I(209,64)] = {64,0}, + [I(210,64)] = {64,0}, + [I(211,64)] = {64,0}, + [I(212,64)] = {64,0}, + [I(213,64)] = {64,0}, + [I(214,64)] = {64,0}, + [I(215,64)] = {64,0}, + [I(216,64)] = {64,0}, + [I(217,64)] = {64,0}, + [I(218,64)] = {64,0}, + [I(219,64)] = {64,0}, + [I(220,64)] = {64,0}, + [I(221,64)] = {64,0}, + [I(222,64)] = {64,0}, + [I(223,64)] = {64,0}, + [I(224,64)] = {64,0}, + [I(225,64)] = {64,0}, + [I(226,64)] = {64,0}, + [I(227,64)] = {64,0}, + [I(228,64)] = {64,0}, + [I(229,64)] = {64,0}, + [I(230,64)] = {64,0}, + [I(231,64)] = {64,0}, + [I(232,64)] = {64,0}, + [I(233,64)] = {64,0}, + [I(234,64)] = {64,0}, + [I(235,64)] = {64,0}, + [I(236,64)] = {64,0}, + [I(237,64)] = {64,0}, + [I(238,64)] = {64,0}, + [I(239,64)] = {64,0}, + [I(240,64)] = {64,0}, + [I(241,64)] = {64,0}, + [I(242,64)] = {64,0}, + [I(243,64)] = {64,0}, + [I(244,64)] = {64,0}, + [I(245,64)] = {64,0}, + [I(246,64)] = {64,0}, + [I(247,64)] = {64,0}, + [I(248,64)] = {64,0}, + [I(249,64)] = {64,0}, + [I(250,64)] = {64,0}, + [I(251,64)] = {64,0}, + [I(252,64)] = {64,0}, + [I(253,64)] = {64,0}, + [I(254,64)] = {64,0}, + [I(255,64)] = {64,0}, + [I(0,65)] = {19,0x7FE21}, + [I(1,65)] = {29,0x1FFFF621}, + [I(2,65)] = {64,0}, + [I(3,65)] = {64,0}, + [I(4,65)] = {64,0}, + [I(5,65)] = {64,0}, + [I(6,65)] = {64,0}, + [I(7,65)] = {64,0}, + [I(8,65)] = {64,0}, + [I(9,65)] = {30,0x3FFFFAA1}, + [I(10,65)] = {64,0}, + [I(11,65)] = {64,0}, + [I(12,65)] = {64,0}, + [I(13,65)] = {64,0}, + [I(14,65)] = {64,0}, + [I(15,65)] = {64,0}, + [I(16,65)] = {64,0}, + [I(17,65)] = {64,0}, + [I(18,65)] = {64,0}, + [I(19,65)] = {64,0}, + [I(20,65)] = {64,0}, + [I(21,65)] = {64,0}, + [I(22,65)] = {64,0}, + [I(23,65)] = {64,0}, + [I(24,65)] = {64,0}, + [I(25,65)] = {64,0}, + [I(26,65)] = {64,0}, + [I(27,65)] = {64,0}, + [I(28,65)] = {64,0}, + [I(29,65)] = {64,0}, + [I(30,65)] = {64,0}, + [I(31,65)] = {64,0}, + [I(32,65)] = {12,0x521}, + [I(33,65)] = {16,0xFE21}, + [I(34,65)] = {16,0xFE61}, + [I(35,65)] = {18,0x3FEA1}, + [I(36,65)] = {19,0x7FE61}, + [I(37,65)] = {12,0x561}, + [I(38,65)] = {14,0x3E21}, + [I(39,65)] = {17,0x1FEA1}, + [I(40,65)] = {16,0xFEA1}, + [I(41,65)] = {16,0xFEE1}, + [I(42,65)] = {14,0x3E61}, + [I(43,65)] = {17,0x1FEE1}, + [I(44,65)] = {14,0x3EA1}, + [I(45,65)] = {12,0x5A1}, + [I(46,65)] = {12,0x5E1}, + [I(47,65)] = {12,0x621}, + [I(48,65)] = {11,0x21}, + [I(49,65)] = {11,0x61}, + [I(50,65)] = {11,0xA1}, + [I(51,65)] = {12,0x661}, + [I(52,65)] = {12,0x6A1}, + [I(53,65)] = {12,0x6E1}, + [I(54,65)] = {12,0x721}, + [I(55,65)] = {12,0x761}, + [I(56,65)] = {12,0x7A1}, + [I(57,65)] = {12,0x7E1}, + [I(58,65)] = {13,0x1721}, + [I(59,65)] = {14,0x3EE1}, + [I(60,65)] = {21,0x1FFF21}, + [I(61,65)] = {12,0x821}, + [I(62,65)] = {18,0x3FEE1}, + [I(63,65)] = {16,0xFF21}, + [I(64,65)] = {19,0x7FEA1}, + [I(65,65)] = {12,0x861}, + [I(66,65)] = {13,0x1761}, + [I(67,65)] = {13,0x17A1}, + [I(68,65)] = {13,0x17E1}, + [I(69,65)] = {13,0x1821}, + [I(70,65)] = {13,0x1861}, + [I(71,65)] = {13,0x18A1}, + [I(72,65)] = {13,0x18E1}, + [I(73,65)] = {13,0x1921}, + [I(74,65)] = {13,0x1961}, + [I(75,65)] = {13,0x19A1}, + [I(76,65)] = {13,0x19E1}, + [I(77,65)] = {13,0x1A21}, + [I(78,65)] = {13,0x1A61}, + [I(79,65)] = {13,0x1AA1}, + [I(80,65)] = {13,0x1AE1}, + [I(81,65)] = {13,0x1B21}, + [I(82,65)] = {13,0x1B61}, + [I(83,65)] = {13,0x1BA1}, + [I(84,65)] = {13,0x1BE1}, + [I(85,65)] = {13,0x1C21}, + [I(86,65)] = {13,0x1C61}, + [I(87,65)] = {13,0x1CA1}, + [I(88,65)] = {14,0x3F21}, + [I(89,65)] = {13,0x1CE1}, + [I(90,65)] = {14,0x3F61}, + [I(91,65)] = {19,0x7FEE1}, + [I(92,65)] = {25,0x1FFFC21}, + [I(93,65)] = {19,0x7FF21}, + [I(94,65)] = {20,0xFFF21}, + [I(95,65)] = {12,0x8A1}, + [I(96,65)] = {21,0x1FFF61}, + [I(97,65)] = {11,0xE1}, + [I(98,65)] = {12,0x8E1}, + [I(99,65)] = {11,0x121}, + [I(100,65)] = {12,0x921}, + [I(101,65)] = {11,0x161}, + [I(102,65)] = {12,0x961}, + [I(103,65)] = {12,0x9A1}, + [I(104,65)] = {12,0x9E1}, + [I(105,65)] = {11,0x1A1}, + [I(106,65)] = {13,0x1D21}, + [I(107,65)] = {13,0x1D61}, + [I(108,65)] = {12,0xA21}, + [I(109,65)] = {12,0xA61}, + [I(110,65)] = {12,0xAA1}, + [I(111,65)] = {11,0x1E1}, + [I(112,65)] = {12,0xAE1}, + [I(113,65)] = {13,0x1DA1}, + [I(114,65)] = {12,0xB21}, + [I(115,65)] = {11,0x221}, + [I(116,65)] = {11,0x261}, + [I(117,65)] = {12,0xB61}, + [I(118,65)] = {13,0x1DE1}, + [I(119,65)] = {13,0x1E21}, + [I(120,65)] = {13,0x1E61}, + [I(121,65)] = {13,0x1EA1}, + [I(122,65)] = {13,0x1EE1}, + [I(123,65)] = {21,0x1FFFA1}, + [I(124,65)] = {17,0x1FF21}, + [I(125,65)] = {20,0xFFF61}, + [I(126,65)] = {19,0x7FF61}, + [I(127,65)] = {64,0}, + [I(128,65)] = {26,0x3FFF9A1}, + [I(129,65)] = {28,0xFFFF4A1}, + [I(130,65)] = {26,0x3FFF9E1}, + [I(131,65)] = {26,0x3FFFA21}, + [I(132,65)] = {28,0xFFFF4E1}, + [I(133,65)] = {28,0xFFFF521}, + [I(134,65)] = {28,0xFFFF561}, + [I(135,65)] = {29,0x1FFFF661}, + [I(136,65)] = {28,0xFFFF5A1}, + [I(137,65)] = {29,0x1FFFF6A1}, + [I(138,65)] = {29,0x1FFFF6E1}, + [I(139,65)] = {29,0x1FFFF721}, + [I(140,65)] = {29,0x1FFFF761}, + [I(141,65)] = {29,0x1FFFF7A1}, + [I(142,65)] = {30,0x3FFFFAE1}, + [I(143,65)] = {29,0x1FFFF7E1}, + [I(144,65)] = {30,0x3FFFFB21}, + [I(145,65)] = {30,0x3FFFFB61}, + [I(146,65)] = {28,0xFFFF5E1}, + [I(147,65)] = {29,0x1FFFF821}, + [I(148,65)] = {30,0x3FFFFBA1}, + [I(149,65)] = {29,0x1FFFF861}, + [I(150,65)] = {29,0x1FFFF8A1}, + [I(151,65)] = {29,0x1FFFF8E1}, + [I(152,65)] = {29,0x1FFFF921}, + [I(153,65)] = {27,0x7FFF721}, + [I(154,65)] = {28,0xFFFF621}, + [I(155,65)] = {29,0x1FFFF961}, + [I(156,65)] = {28,0xFFFF661}, + [I(157,65)] = {29,0x1FFFF9A1}, + [I(158,65)] = {29,0x1FFFF9E1}, + [I(159,65)] = {30,0x3FFFFBE1}, + [I(160,65)] = {28,0xFFFF6A1}, + [I(161,65)] = {27,0x7FFF761}, + [I(162,65)] = {26,0x3FFFA61}, + [I(163,65)] = {28,0xFFFF6E1}, + [I(164,65)] = {28,0xFFFF721}, + [I(165,65)] = {29,0x1FFFFA21}, + [I(166,65)] = {29,0x1FFFFA61}, + [I(167,65)] = {27,0x7FFF7A1}, + [I(168,65)] = {29,0x1FFFFAA1}, + [I(169,65)] = {28,0xFFFF761}, + [I(170,65)] = {28,0xFFFF7A1}, + [I(171,65)] = {30,0x3FFFFC21}, + [I(172,65)] = {27,0x7FFF7E1}, + [I(173,65)] = {28,0xFFFF7E1}, + [I(174,65)] = {29,0x1FFFFAE1}, + [I(175,65)] = {29,0x1FFFFB21}, + [I(176,65)] = {27,0x7FFF821}, + [I(177,65)] = {27,0x7FFF861}, + [I(178,65)] = {28,0xFFFF821}, + [I(179,65)] = {27,0x7FFF8A1}, + [I(180,65)] = {29,0x1FFFFB61}, + [I(181,65)] = {28,0xFFFF861}, + [I(182,65)] = {29,0x1FFFFBA1}, + [I(183,65)] = {29,0x1FFFFBE1}, + [I(184,65)] = {26,0x3FFFAA1}, + [I(185,65)] = {28,0xFFFF8A1}, + [I(186,65)] = {28,0xFFFF8E1}, + [I(187,65)] = {28,0xFFFF921}, + [I(188,65)] = {29,0x1FFFFC21}, + [I(189,65)] = {28,0xFFFF961}, + [I(190,65)] = {28,0xFFFF9A1}, + [I(191,65)] = {29,0x1FFFFC61}, + [I(192,65)] = {X32,0xFFFFF821}, + [I(193,65)] = {X32,0xFFFFF861}, + [I(194,65)] = {26,0x3FFFAE1}, + [I(195,65)] = {25,0x1FFFC61}, + [I(196,65)] = {28,0xFFFF9E1}, + [I(197,65)] = {29,0x1FFFFCA1}, + [I(198,65)] = {28,0xFFFFA21}, + [I(199,65)] = {31,0x7FFFFB21}, + [I(200,65)] = {X32,0xFFFFF8A1}, + [I(201,65)] = {X32,0xFFFFF8E1}, + [I(202,65)] = {X32,0xFFFFF921}, + [I(203,65)] = {64,0}, + [I(204,65)] = {64,0}, + [I(205,65)] = {X32,0xFFFFF961}, + [I(206,65)] = {30,0x3FFFFC61}, + [I(207,65)] = {31,0x7FFFFB61}, + [I(208,65)] = {25,0x1FFFCA1}, + [I(209,65)] = {27,0x7FFF8E1}, + [I(210,65)] = {X32,0xFFFFF9A1}, + [I(211,65)] = {64,0}, + [I(212,65)] = {64,0}, + [I(213,65)] = {X32,0xFFFFF9E1}, + [I(214,65)] = {64,0}, + [I(215,65)] = {30,0x3FFFFCA1}, + [I(216,65)] = {27,0x7FFF921}, + [I(217,65)] = {27,0x7FFF961}, + [I(218,65)] = {X32,0xFFFFFA21}, + [I(219,65)] = {X32,0xFFFFFA61}, + [I(220,65)] = {64,0}, + [I(221,65)] = {64,0}, + [I(222,65)] = {64,0}, + [I(223,65)] = {64,0}, + [I(224,65)] = {26,0x3FFFB21}, + [I(225,65)] = {30,0x3FFFFCE1}, + [I(226,65)] = {26,0x3FFFB61}, + [I(227,65)] = {27,0x7FFF9A1}, + [I(228,65)] = {28,0xFFFFA61}, + [I(229,65)] = {27,0x7FFF9E1}, + [I(230,65)] = {27,0x7FFFA21}, + [I(231,65)] = {29,0x1FFFFCE1}, + [I(232,65)] = {28,0xFFFFAA1}, + [I(233,65)] = {28,0xFFFFAE1}, + [I(234,65)] = {31,0x7FFFFBA1}, + [I(235,65)] = {31,0x7FFFFBE1}, + [I(236,65)] = {30,0x3FFFFD21}, + [I(237,65)] = {30,0x3FFFFD61}, + [I(238,65)] = {X32,0xFFFFFAA1}, + [I(239,65)] = {29,0x1FFFFD21}, + [I(240,65)] = {X32,0xFFFFFAE1}, + [I(241,65)] = {64,0}, + [I(242,65)] = {X32,0xFFFFFB21}, + [I(243,65)] = {X32,0xFFFFFB61}, + [I(244,65)] = {64,0}, + [I(245,65)] = {64,0}, + [I(246,65)] = {64,0}, + [I(247,65)] = {64,0}, + [I(248,65)] = {64,0}, + [I(249,65)] = {64,0}, + [I(250,65)] = {64,0}, + [I(251,65)] = {64,0}, + [I(252,65)] = {64,0}, + [I(253,65)] = {64,0}, + [I(254,65)] = {64,0}, + [I(255,65)] = {X32,0xFFFFFBA1}, + [I(0,66)] = {20,0xFFC5D}, + [I(1,66)] = {30,0x3FFFEC5D}, + [I(2,66)] = {64,0}, + [I(3,66)] = {64,0}, + [I(4,66)] = {64,0}, + [I(5,66)] = {64,0}, + [I(6,66)] = {64,0}, + [I(7,66)] = {64,0}, + [I(8,66)] = {64,0}, + [I(9,66)] = {31,0x7FFFF55D}, + [I(10,66)] = {64,0}, + [I(11,66)] = {64,0}, + [I(12,66)] = {64,0}, + [I(13,66)] = {64,0}, + [I(14,66)] = {64,0}, + [I(15,66)] = {64,0}, + [I(16,66)] = {64,0}, + [I(17,66)] = {64,0}, + [I(18,66)] = {64,0}, + [I(19,66)] = {64,0}, + [I(20,66)] = {64,0}, + [I(21,66)] = {64,0}, + [I(22,66)] = {64,0}, + [I(23,66)] = {64,0}, + [I(24,66)] = {64,0}, + [I(25,66)] = {64,0}, + [I(26,66)] = {64,0}, + [I(27,66)] = {64,0}, + [I(28,66)] = {64,0}, + [I(29,66)] = {64,0}, + [I(30,66)] = {64,0}, + [I(31,66)] = {64,0}, + [I(32,66)] = {13,0xA5D}, + [I(33,66)] = {17,0x1FC5D}, + [I(34,66)] = {17,0x1FCDD}, + [I(35,66)] = {19,0x7FD5D}, + [I(36,66)] = {20,0xFFCDD}, + [I(37,66)] = {13,0xADD}, + [I(38,66)] = {15,0x7C5D}, + [I(39,66)] = {18,0x3FD5D}, + [I(40,66)] = {17,0x1FD5D}, + [I(41,66)] = {17,0x1FDDD}, + [I(42,66)] = {15,0x7CDD}, + [I(43,66)] = {18,0x3FDDD}, + [I(44,66)] = {15,0x7D5D}, + [I(45,66)] = {13,0xB5D}, + [I(46,66)] = {13,0xBDD}, + [I(47,66)] = {13,0xC5D}, + [I(48,66)] = {12,0x5D}, + [I(49,66)] = {12,0xDD}, + [I(50,66)] = {12,0x15D}, + [I(51,66)] = {13,0xCDD}, + [I(52,66)] = {13,0xD5D}, + [I(53,66)] = {13,0xDDD}, + [I(54,66)] = {13,0xE5D}, + [I(55,66)] = {13,0xEDD}, + [I(56,66)] = {13,0xF5D}, + [I(57,66)] = {13,0xFDD}, + [I(58,66)] = {14,0x2E5D}, + [I(59,66)] = {15,0x7DDD}, + [I(60,66)] = {22,0x3FFE5D}, + [I(61,66)] = {13,0x105D}, + [I(62,66)] = {19,0x7FDDD}, + [I(63,66)] = {17,0x1FE5D}, + [I(64,66)] = {20,0xFFD5D}, + [I(65,66)] = {13,0x10DD}, + [I(66,66)] = {14,0x2EDD}, + [I(67,66)] = {14,0x2F5D}, + [I(68,66)] = {14,0x2FDD}, + [I(69,66)] = {14,0x305D}, + [I(70,66)] = {14,0x30DD}, + [I(71,66)] = {14,0x315D}, + [I(72,66)] = {14,0x31DD}, + [I(73,66)] = {14,0x325D}, + [I(74,66)] = {14,0x32DD}, + [I(75,66)] = {14,0x335D}, + [I(76,66)] = {14,0x33DD}, + [I(77,66)] = {14,0x345D}, + [I(78,66)] = {14,0x34DD}, + [I(79,66)] = {14,0x355D}, + [I(80,66)] = {14,0x35DD}, + [I(81,66)] = {14,0x365D}, + [I(82,66)] = {14,0x36DD}, + [I(83,66)] = {14,0x375D}, + [I(84,66)] = {14,0x37DD}, + [I(85,66)] = {14,0x385D}, + [I(86,66)] = {14,0x38DD}, + [I(87,66)] = {14,0x395D}, + [I(88,66)] = {15,0x7E5D}, + [I(89,66)] = {14,0x39DD}, + [I(90,66)] = {15,0x7EDD}, + [I(91,66)] = {20,0xFFDDD}, + [I(92,66)] = {26,0x3FFF85D}, + [I(93,66)] = {20,0xFFE5D}, + [I(94,66)] = {21,0x1FFE5D}, + [I(95,66)] = {13,0x115D}, + [I(96,66)] = {22,0x3FFEDD}, + [I(97,66)] = {12,0x1DD}, + [I(98,66)] = {13,0x11DD}, + [I(99,66)] = {12,0x25D}, + [I(100,66)] = {13,0x125D}, + [I(101,66)] = {12,0x2DD}, + [I(102,66)] = {13,0x12DD}, + [I(103,66)] = {13,0x135D}, + [I(104,66)] = {13,0x13DD}, + [I(105,66)] = {12,0x35D}, + [I(106,66)] = {14,0x3A5D}, + [I(107,66)] = {14,0x3ADD}, + [I(108,66)] = {13,0x145D}, + [I(109,66)] = {13,0x14DD}, + [I(110,66)] = {13,0x155D}, + [I(111,66)] = {12,0x3DD}, + [I(112,66)] = {13,0x15DD}, + [I(113,66)] = {14,0x3B5D}, + [I(114,66)] = {13,0x165D}, + [I(115,66)] = {12,0x45D}, + [I(116,66)] = {12,0x4DD}, + [I(117,66)] = {13,0x16DD}, + [I(118,66)] = {14,0x3BDD}, + [I(119,66)] = {14,0x3C5D}, + [I(120,66)] = {14,0x3CDD}, + [I(121,66)] = {14,0x3D5D}, + [I(122,66)] = {14,0x3DDD}, + [I(123,66)] = {22,0x3FFF5D}, + [I(124,66)] = {18,0x3FE5D}, + [I(125,66)] = {21,0x1FFEDD}, + [I(126,66)] = {20,0xFFEDD}, + [I(127,66)] = {64,0}, + [I(128,66)] = {27,0x7FFF35D}, + [I(129,66)] = {29,0x1FFFE95D}, + [I(130,66)] = {27,0x7FFF3DD}, + [I(131,66)] = {27,0x7FFF45D}, + [I(132,66)] = {29,0x1FFFE9DD}, + [I(133,66)] = {29,0x1FFFEA5D}, + [I(134,66)] = {29,0x1FFFEADD}, + [I(135,66)] = {30,0x3FFFECDD}, + [I(136,66)] = {29,0x1FFFEB5D}, + [I(137,66)] = {30,0x3FFFED5D}, + [I(138,66)] = {30,0x3FFFEDDD}, + [I(139,66)] = {30,0x3FFFEE5D}, + [I(140,66)] = {30,0x3FFFEEDD}, + [I(141,66)] = {30,0x3FFFEF5D}, + [I(142,66)] = {31,0x7FFFF5DD}, + [I(143,66)] = {30,0x3FFFEFDD}, + [I(144,66)] = {31,0x7FFFF65D}, + [I(145,66)] = {31,0x7FFFF6DD}, + [I(146,66)] = {29,0x1FFFEBDD}, + [I(147,66)] = {30,0x3FFFF05D}, + [I(148,66)] = {31,0x7FFFF75D}, + [I(149,66)] = {30,0x3FFFF0DD}, + [I(150,66)] = {30,0x3FFFF15D}, + [I(151,66)] = {30,0x3FFFF1DD}, + [I(152,66)] = {30,0x3FFFF25D}, + [I(153,66)] = {28,0xFFFEE5D}, + [I(154,66)] = {29,0x1FFFEC5D}, + [I(155,66)] = {30,0x3FFFF2DD}, + [I(156,66)] = {29,0x1FFFECDD}, + [I(157,66)] = {30,0x3FFFF35D}, + [I(158,66)] = {30,0x3FFFF3DD}, + [I(159,66)] = {31,0x7FFFF7DD}, + [I(160,66)] = {29,0x1FFFED5D}, + [I(161,66)] = {28,0xFFFEEDD}, + [I(162,66)] = {27,0x7FFF4DD}, + [I(163,66)] = {29,0x1FFFEDDD}, + [I(164,66)] = {29,0x1FFFEE5D}, + [I(165,66)] = {30,0x3FFFF45D}, + [I(166,66)] = {30,0x3FFFF4DD}, + [I(167,66)] = {28,0xFFFEF5D}, + [I(168,66)] = {30,0x3FFFF55D}, + [I(169,66)] = {29,0x1FFFEEDD}, + [I(170,66)] = {29,0x1FFFEF5D}, + [I(171,66)] = {31,0x7FFFF85D}, + [I(172,66)] = {28,0xFFFEFDD}, + [I(173,66)] = {29,0x1FFFEFDD}, + [I(174,66)] = {30,0x3FFFF5DD}, + [I(175,66)] = {30,0x3FFFF65D}, + [I(176,66)] = {28,0xFFFF05D}, + [I(177,66)] = {28,0xFFFF0DD}, + [I(178,66)] = {29,0x1FFFF05D}, + [I(179,66)] = {28,0xFFFF15D}, + [I(180,66)] = {30,0x3FFFF6DD}, + [I(181,66)] = {29,0x1FFFF0DD}, + [I(182,66)] = {30,0x3FFFF75D}, + [I(183,66)] = {30,0x3FFFF7DD}, + [I(184,66)] = {27,0x7FFF55D}, + [I(185,66)] = {29,0x1FFFF15D}, + [I(186,66)] = {29,0x1FFFF1DD}, + [I(187,66)] = {29,0x1FFFF25D}, + [I(188,66)] = {30,0x3FFFF85D}, + [I(189,66)] = {29,0x1FFFF2DD}, + [I(190,66)] = {29,0x1FFFF35D}, + [I(191,66)] = {30,0x3FFFF8DD}, + [I(192,66)] = {64,0}, + [I(193,66)] = {64,0}, + [I(194,66)] = {27,0x7FFF5DD}, + [I(195,66)] = {26,0x3FFF8DD}, + [I(196,66)] = {29,0x1FFFF3DD}, + [I(197,66)] = {30,0x3FFFF95D}, + [I(198,66)] = {29,0x1FFFF45D}, + [I(199,66)] = {X32,0xFFFFF65D}, + [I(200,66)] = {64,0}, + [I(201,66)] = {64,0}, + [I(202,66)] = {64,0}, + [I(203,66)] = {64,0}, + [I(204,66)] = {64,0}, + [I(205,66)] = {64,0}, + [I(206,66)] = {31,0x7FFFF8DD}, + [I(207,66)] = {X32,0xFFFFF6DD}, + [I(208,66)] = {26,0x3FFF95D}, + [I(209,66)] = {28,0xFFFF1DD}, + [I(210,66)] = {64,0}, + [I(211,66)] = {64,0}, + [I(212,66)] = {64,0}, + [I(213,66)] = {64,0}, + [I(214,66)] = {64,0}, + [I(215,66)] = {31,0x7FFFF95D}, + [I(216,66)] = {28,0xFFFF25D}, + [I(217,66)] = {28,0xFFFF2DD}, + [I(218,66)] = {64,0}, + [I(219,66)] = {64,0}, + [I(220,66)] = {64,0}, + [I(221,66)] = {64,0}, + [I(222,66)] = {64,0}, + [I(223,66)] = {64,0}, + [I(224,66)] = {27,0x7FFF65D}, + [I(225,66)] = {31,0x7FFFF9DD}, + [I(226,66)] = {27,0x7FFF6DD}, + [I(227,66)] = {28,0xFFFF35D}, + [I(228,66)] = {29,0x1FFFF4DD}, + [I(229,66)] = {28,0xFFFF3DD}, + [I(230,66)] = {28,0xFFFF45D}, + [I(231,66)] = {30,0x3FFFF9DD}, + [I(232,66)] = {29,0x1FFFF55D}, + [I(233,66)] = {29,0x1FFFF5DD}, + [I(234,66)] = {X32,0xFFFFF75D}, + [I(235,66)] = {X32,0xFFFFF7DD}, + [I(236,66)] = {31,0x7FFFFA5D}, + [I(237,66)] = {31,0x7FFFFADD}, + [I(238,66)] = {64,0}, + [I(239,66)] = {30,0x3FFFFA5D}, + [I(240,66)] = {64,0}, + [I(241,66)] = {64,0}, + [I(242,66)] = {64,0}, + [I(243,66)] = {64,0}, + [I(244,66)] = {64,0}, + [I(245,66)] = {64,0}, + [I(246,66)] = {64,0}, + [I(247,66)] = {64,0}, + [I(248,66)] = {64,0}, + [I(249,66)] = {64,0}, + [I(250,66)] = {64,0}, + [I(251,66)] = {64,0}, + [I(252,66)] = {64,0}, + [I(253,66)] = {64,0}, + [I(254,66)] = {64,0}, + [I(255,66)] = {64,0}, + [I(0,67)] = {20,0xFFC5E}, + [I(1,67)] = {30,0x3FFFEC5E}, + [I(2,67)] = {64,0}, + [I(3,67)] = {64,0}, + [I(4,67)] = {64,0}, + [I(5,67)] = {64,0}, + [I(6,67)] = {64,0}, + [I(7,67)] = {64,0}, + [I(8,67)] = {64,0}, + [I(9,67)] = {31,0x7FFFF55E}, + [I(10,67)] = {64,0}, + [I(11,67)] = {64,0}, + [I(12,67)] = {64,0}, + [I(13,67)] = {64,0}, + [I(14,67)] = {64,0}, + [I(15,67)] = {64,0}, + [I(16,67)] = {64,0}, + [I(17,67)] = {64,0}, + [I(18,67)] = {64,0}, + [I(19,67)] = {64,0}, + [I(20,67)] = {64,0}, + [I(21,67)] = {64,0}, + [I(22,67)] = {64,0}, + [I(23,67)] = {64,0}, + [I(24,67)] = {64,0}, + [I(25,67)] = {64,0}, + [I(26,67)] = {64,0}, + [I(27,67)] = {64,0}, + [I(28,67)] = {64,0}, + [I(29,67)] = {64,0}, + [I(30,67)] = {64,0}, + [I(31,67)] = {64,0}, + [I(32,67)] = {13,0xA5E}, + [I(33,67)] = {17,0x1FC5E}, + [I(34,67)] = {17,0x1FCDE}, + [I(35,67)] = {19,0x7FD5E}, + [I(36,67)] = {20,0xFFCDE}, + [I(37,67)] = {13,0xADE}, + [I(38,67)] = {15,0x7C5E}, + [I(39,67)] = {18,0x3FD5E}, + [I(40,67)] = {17,0x1FD5E}, + [I(41,67)] = {17,0x1FDDE}, + [I(42,67)] = {15,0x7CDE}, + [I(43,67)] = {18,0x3FDDE}, + [I(44,67)] = {15,0x7D5E}, + [I(45,67)] = {13,0xB5E}, + [I(46,67)] = {13,0xBDE}, + [I(47,67)] = {13,0xC5E}, + [I(48,67)] = {12,0x5E}, + [I(49,67)] = {12,0xDE}, + [I(50,67)] = {12,0x15E}, + [I(51,67)] = {13,0xCDE}, + [I(52,67)] = {13,0xD5E}, + [I(53,67)] = {13,0xDDE}, + [I(54,67)] = {13,0xE5E}, + [I(55,67)] = {13,0xEDE}, + [I(56,67)] = {13,0xF5E}, + [I(57,67)] = {13,0xFDE}, + [I(58,67)] = {14,0x2E5E}, + [I(59,67)] = {15,0x7DDE}, + [I(60,67)] = {22,0x3FFE5E}, + [I(61,67)] = {13,0x105E}, + [I(62,67)] = {19,0x7FDDE}, + [I(63,67)] = {17,0x1FE5E}, + [I(64,67)] = {20,0xFFD5E}, + [I(65,67)] = {13,0x10DE}, + [I(66,67)] = {14,0x2EDE}, + [I(67,67)] = {14,0x2F5E}, + [I(68,67)] = {14,0x2FDE}, + [I(69,67)] = {14,0x305E}, + [I(70,67)] = {14,0x30DE}, + [I(71,67)] = {14,0x315E}, + [I(72,67)] = {14,0x31DE}, + [I(73,67)] = {14,0x325E}, + [I(74,67)] = {14,0x32DE}, + [I(75,67)] = {14,0x335E}, + [I(76,67)] = {14,0x33DE}, + [I(77,67)] = {14,0x345E}, + [I(78,67)] = {14,0x34DE}, + [I(79,67)] = {14,0x355E}, + [I(80,67)] = {14,0x35DE}, + [I(81,67)] = {14,0x365E}, + [I(82,67)] = {14,0x36DE}, + [I(83,67)] = {14,0x375E}, + [I(84,67)] = {14,0x37DE}, + [I(85,67)] = {14,0x385E}, + [I(86,67)] = {14,0x38DE}, + [I(87,67)] = {14,0x395E}, + [I(88,67)] = {15,0x7E5E}, + [I(89,67)] = {14,0x39DE}, + [I(90,67)] = {15,0x7EDE}, + [I(91,67)] = {20,0xFFDDE}, + [I(92,67)] = {26,0x3FFF85E}, + [I(93,67)] = {20,0xFFE5E}, + [I(94,67)] = {21,0x1FFE5E}, + [I(95,67)] = {13,0x115E}, + [I(96,67)] = {22,0x3FFEDE}, + [I(97,67)] = {12,0x1DE}, + [I(98,67)] = {13,0x11DE}, + [I(99,67)] = {12,0x25E}, + [I(100,67)] = {13,0x125E}, + [I(101,67)] = {12,0x2DE}, + [I(102,67)] = {13,0x12DE}, + [I(103,67)] = {13,0x135E}, + [I(104,67)] = {13,0x13DE}, + [I(105,67)] = {12,0x35E}, + [I(106,67)] = {14,0x3A5E}, + [I(107,67)] = {14,0x3ADE}, + [I(108,67)] = {13,0x145E}, + [I(109,67)] = {13,0x14DE}, + [I(110,67)] = {13,0x155E}, + [I(111,67)] = {12,0x3DE}, + [I(112,67)] = {13,0x15DE}, + [I(113,67)] = {14,0x3B5E}, + [I(114,67)] = {13,0x165E}, + [I(115,67)] = {12,0x45E}, + [I(116,67)] = {12,0x4DE}, + [I(117,67)] = {13,0x16DE}, + [I(118,67)] = {14,0x3BDE}, + [I(119,67)] = {14,0x3C5E}, + [I(120,67)] = {14,0x3CDE}, + [I(121,67)] = {14,0x3D5E}, + [I(122,67)] = {14,0x3DDE}, + [I(123,67)] = {22,0x3FFF5E}, + [I(124,67)] = {18,0x3FE5E}, + [I(125,67)] = {21,0x1FFEDE}, + [I(126,67)] = {20,0xFFEDE}, + [I(127,67)] = {64,0}, + [I(128,67)] = {27,0x7FFF35E}, + [I(129,67)] = {29,0x1FFFE95E}, + [I(130,67)] = {27,0x7FFF3DE}, + [I(131,67)] = {27,0x7FFF45E}, + [I(132,67)] = {29,0x1FFFE9DE}, + [I(133,67)] = {29,0x1FFFEA5E}, + [I(134,67)] = {29,0x1FFFEADE}, + [I(135,67)] = {30,0x3FFFECDE}, + [I(136,67)] = {29,0x1FFFEB5E}, + [I(137,67)] = {30,0x3FFFED5E}, + [I(138,67)] = {30,0x3FFFEDDE}, + [I(139,67)] = {30,0x3FFFEE5E}, + [I(140,67)] = {30,0x3FFFEEDE}, + [I(141,67)] = {30,0x3FFFEF5E}, + [I(142,67)] = {31,0x7FFFF5DE}, + [I(143,67)] = {30,0x3FFFEFDE}, + [I(144,67)] = {31,0x7FFFF65E}, + [I(145,67)] = {31,0x7FFFF6DE}, + [I(146,67)] = {29,0x1FFFEBDE}, + [I(147,67)] = {30,0x3FFFF05E}, + [I(148,67)] = {31,0x7FFFF75E}, + [I(149,67)] = {30,0x3FFFF0DE}, + [I(150,67)] = {30,0x3FFFF15E}, + [I(151,67)] = {30,0x3FFFF1DE}, + [I(152,67)] = {30,0x3FFFF25E}, + [I(153,67)] = {28,0xFFFEE5E}, + [I(154,67)] = {29,0x1FFFEC5E}, + [I(155,67)] = {30,0x3FFFF2DE}, + [I(156,67)] = {29,0x1FFFECDE}, + [I(157,67)] = {30,0x3FFFF35E}, + [I(158,67)] = {30,0x3FFFF3DE}, + [I(159,67)] = {31,0x7FFFF7DE}, + [I(160,67)] = {29,0x1FFFED5E}, + [I(161,67)] = {28,0xFFFEEDE}, + [I(162,67)] = {27,0x7FFF4DE}, + [I(163,67)] = {29,0x1FFFEDDE}, + [I(164,67)] = {29,0x1FFFEE5E}, + [I(165,67)] = {30,0x3FFFF45E}, + [I(166,67)] = {30,0x3FFFF4DE}, + [I(167,67)] = {28,0xFFFEF5E}, + [I(168,67)] = {30,0x3FFFF55E}, + [I(169,67)] = {29,0x1FFFEEDE}, + [I(170,67)] = {29,0x1FFFEF5E}, + [I(171,67)] = {31,0x7FFFF85E}, + [I(172,67)] = {28,0xFFFEFDE}, + [I(173,67)] = {29,0x1FFFEFDE}, + [I(174,67)] = {30,0x3FFFF5DE}, + [I(175,67)] = {30,0x3FFFF65E}, + [I(176,67)] = {28,0xFFFF05E}, + [I(177,67)] = {28,0xFFFF0DE}, + [I(178,67)] = {29,0x1FFFF05E}, + [I(179,67)] = {28,0xFFFF15E}, + [I(180,67)] = {30,0x3FFFF6DE}, + [I(181,67)] = {29,0x1FFFF0DE}, + [I(182,67)] = {30,0x3FFFF75E}, + [I(183,67)] = {30,0x3FFFF7DE}, + [I(184,67)] = {27,0x7FFF55E}, + [I(185,67)] = {29,0x1FFFF15E}, + [I(186,67)] = {29,0x1FFFF1DE}, + [I(187,67)] = {29,0x1FFFF25E}, + [I(188,67)] = {30,0x3FFFF85E}, + [I(189,67)] = {29,0x1FFFF2DE}, + [I(190,67)] = {29,0x1FFFF35E}, + [I(191,67)] = {30,0x3FFFF8DE}, + [I(192,67)] = {64,0}, + [I(193,67)] = {64,0}, + [I(194,67)] = {27,0x7FFF5DE}, + [I(195,67)] = {26,0x3FFF8DE}, + [I(196,67)] = {29,0x1FFFF3DE}, + [I(197,67)] = {30,0x3FFFF95E}, + [I(198,67)] = {29,0x1FFFF45E}, + [I(199,67)] = {X32,0xFFFFF65E}, + [I(200,67)] = {64,0}, + [I(201,67)] = {64,0}, + [I(202,67)] = {64,0}, + [I(203,67)] = {64,0}, + [I(204,67)] = {64,0}, + [I(205,67)] = {64,0}, + [I(206,67)] = {31,0x7FFFF8DE}, + [I(207,67)] = {X32,0xFFFFF6DE}, + [I(208,67)] = {26,0x3FFF95E}, + [I(209,67)] = {28,0xFFFF1DE}, + [I(210,67)] = {64,0}, + [I(211,67)] = {64,0}, + [I(212,67)] = {64,0}, + [I(213,67)] = {64,0}, + [I(214,67)] = {64,0}, + [I(215,67)] = {31,0x7FFFF95E}, + [I(216,67)] = {28,0xFFFF25E}, + [I(217,67)] = {28,0xFFFF2DE}, + [I(218,67)] = {64,0}, + [I(219,67)] = {64,0}, + [I(220,67)] = {64,0}, + [I(221,67)] = {64,0}, + [I(222,67)] = {64,0}, + [I(223,67)] = {64,0}, + [I(224,67)] = {27,0x7FFF65E}, + [I(225,67)] = {31,0x7FFFF9DE}, + [I(226,67)] = {27,0x7FFF6DE}, + [I(227,67)] = {28,0xFFFF35E}, + [I(228,67)] = {29,0x1FFFF4DE}, + [I(229,67)] = {28,0xFFFF3DE}, + [I(230,67)] = {28,0xFFFF45E}, + [I(231,67)] = {30,0x3FFFF9DE}, + [I(232,67)] = {29,0x1FFFF55E}, + [I(233,67)] = {29,0x1FFFF5DE}, + [I(234,67)] = {X32,0xFFFFF75E}, + [I(235,67)] = {X32,0xFFFFF7DE}, + [I(236,67)] = {31,0x7FFFFA5E}, + [I(237,67)] = {31,0x7FFFFADE}, + [I(238,67)] = {64,0}, + [I(239,67)] = {30,0x3FFFFA5E}, + [I(240,67)] = {64,0}, + [I(241,67)] = {64,0}, + [I(242,67)] = {64,0}, + [I(243,67)] = {64,0}, + [I(244,67)] = {64,0}, + [I(245,67)] = {64,0}, + [I(246,67)] = {64,0}, + [I(247,67)] = {64,0}, + [I(248,67)] = {64,0}, + [I(249,67)] = {64,0}, + [I(250,67)] = {64,0}, + [I(251,67)] = {64,0}, + [I(252,67)] = {64,0}, + [I(253,67)] = {64,0}, + [I(254,67)] = {64,0}, + [I(255,67)] = {64,0}, + [I(0,68)] = {20,0xFFC5F}, + [I(1,68)] = {30,0x3FFFEC5F}, + [I(2,68)] = {64,0}, + [I(3,68)] = {64,0}, + [I(4,68)] = {64,0}, + [I(5,68)] = {64,0}, + [I(6,68)] = {64,0}, + [I(7,68)] = {64,0}, + [I(8,68)] = {64,0}, + [I(9,68)] = {31,0x7FFFF55F}, + [I(10,68)] = {64,0}, + [I(11,68)] = {64,0}, + [I(12,68)] = {64,0}, + [I(13,68)] = {64,0}, + [I(14,68)] = {64,0}, + [I(15,68)] = {64,0}, + [I(16,68)] = {64,0}, + [I(17,68)] = {64,0}, + [I(18,68)] = {64,0}, + [I(19,68)] = {64,0}, + [I(20,68)] = {64,0}, + [I(21,68)] = {64,0}, + [I(22,68)] = {64,0}, + [I(23,68)] = {64,0}, + [I(24,68)] = {64,0}, + [I(25,68)] = {64,0}, + [I(26,68)] = {64,0}, + [I(27,68)] = {64,0}, + [I(28,68)] = {64,0}, + [I(29,68)] = {64,0}, + [I(30,68)] = {64,0}, + [I(31,68)] = {64,0}, + [I(32,68)] = {13,0xA5F}, + [I(33,68)] = {17,0x1FC5F}, + [I(34,68)] = {17,0x1FCDF}, + [I(35,68)] = {19,0x7FD5F}, + [I(36,68)] = {20,0xFFCDF}, + [I(37,68)] = {13,0xADF}, + [I(38,68)] = {15,0x7C5F}, + [I(39,68)] = {18,0x3FD5F}, + [I(40,68)] = {17,0x1FD5F}, + [I(41,68)] = {17,0x1FDDF}, + [I(42,68)] = {15,0x7CDF}, + [I(43,68)] = {18,0x3FDDF}, + [I(44,68)] = {15,0x7D5F}, + [I(45,68)] = {13,0xB5F}, + [I(46,68)] = {13,0xBDF}, + [I(47,68)] = {13,0xC5F}, + [I(48,68)] = {12,0x5F}, + [I(49,68)] = {12,0xDF}, + [I(50,68)] = {12,0x15F}, + [I(51,68)] = {13,0xCDF}, + [I(52,68)] = {13,0xD5F}, + [I(53,68)] = {13,0xDDF}, + [I(54,68)] = {13,0xE5F}, + [I(55,68)] = {13,0xEDF}, + [I(56,68)] = {13,0xF5F}, + [I(57,68)] = {13,0xFDF}, + [I(58,68)] = {14,0x2E5F}, + [I(59,68)] = {15,0x7DDF}, + [I(60,68)] = {22,0x3FFE5F}, + [I(61,68)] = {13,0x105F}, + [I(62,68)] = {19,0x7FDDF}, + [I(63,68)] = {17,0x1FE5F}, + [I(64,68)] = {20,0xFFD5F}, + [I(65,68)] = {13,0x10DF}, + [I(66,68)] = {14,0x2EDF}, + [I(67,68)] = {14,0x2F5F}, + [I(68,68)] = {14,0x2FDF}, + [I(69,68)] = {14,0x305F}, + [I(70,68)] = {14,0x30DF}, + [I(71,68)] = {14,0x315F}, + [I(72,68)] = {14,0x31DF}, + [I(73,68)] = {14,0x325F}, + [I(74,68)] = {14,0x32DF}, + [I(75,68)] = {14,0x335F}, + [I(76,68)] = {14,0x33DF}, + [I(77,68)] = {14,0x345F}, + [I(78,68)] = {14,0x34DF}, + [I(79,68)] = {14,0x355F}, + [I(80,68)] = {14,0x35DF}, + [I(81,68)] = {14,0x365F}, + [I(82,68)] = {14,0x36DF}, + [I(83,68)] = {14,0x375F}, + [I(84,68)] = {14,0x37DF}, + [I(85,68)] = {14,0x385F}, + [I(86,68)] = {14,0x38DF}, + [I(87,68)] = {14,0x395F}, + [I(88,68)] = {15,0x7E5F}, + [I(89,68)] = {14,0x39DF}, + [I(90,68)] = {15,0x7EDF}, + [I(91,68)] = {20,0xFFDDF}, + [I(92,68)] = {26,0x3FFF85F}, + [I(93,68)] = {20,0xFFE5F}, + [I(94,68)] = {21,0x1FFE5F}, + [I(95,68)] = {13,0x115F}, + [I(96,68)] = {22,0x3FFEDF}, + [I(97,68)] = {12,0x1DF}, + [I(98,68)] = {13,0x11DF}, + [I(99,68)] = {12,0x25F}, + [I(100,68)] = {13,0x125F}, + [I(101,68)] = {12,0x2DF}, + [I(102,68)] = {13,0x12DF}, + [I(103,68)] = {13,0x135F}, + [I(104,68)] = {13,0x13DF}, + [I(105,68)] = {12,0x35F}, + [I(106,68)] = {14,0x3A5F}, + [I(107,68)] = {14,0x3ADF}, + [I(108,68)] = {13,0x145F}, + [I(109,68)] = {13,0x14DF}, + [I(110,68)] = {13,0x155F}, + [I(111,68)] = {12,0x3DF}, + [I(112,68)] = {13,0x15DF}, + [I(113,68)] = {14,0x3B5F}, + [I(114,68)] = {13,0x165F}, + [I(115,68)] = {12,0x45F}, + [I(116,68)] = {12,0x4DF}, + [I(117,68)] = {13,0x16DF}, + [I(118,68)] = {14,0x3BDF}, + [I(119,68)] = {14,0x3C5F}, + [I(120,68)] = {14,0x3CDF}, + [I(121,68)] = {14,0x3D5F}, + [I(122,68)] = {14,0x3DDF}, + [I(123,68)] = {22,0x3FFF5F}, + [I(124,68)] = {18,0x3FE5F}, + [I(125,68)] = {21,0x1FFEDF}, + [I(126,68)] = {20,0xFFEDF}, + [I(127,68)] = {64,0}, + [I(128,68)] = {27,0x7FFF35F}, + [I(129,68)] = {29,0x1FFFE95F}, + [I(130,68)] = {27,0x7FFF3DF}, + [I(131,68)] = {27,0x7FFF45F}, + [I(132,68)] = {29,0x1FFFE9DF}, + [I(133,68)] = {29,0x1FFFEA5F}, + [I(134,68)] = {29,0x1FFFEADF}, + [I(135,68)] = {30,0x3FFFECDF}, + [I(136,68)] = {29,0x1FFFEB5F}, + [I(137,68)] = {30,0x3FFFED5F}, + [I(138,68)] = {30,0x3FFFEDDF}, + [I(139,68)] = {30,0x3FFFEE5F}, + [I(140,68)] = {30,0x3FFFEEDF}, + [I(141,68)] = {30,0x3FFFEF5F}, + [I(142,68)] = {31,0x7FFFF5DF}, + [I(143,68)] = {30,0x3FFFEFDF}, + [I(144,68)] = {31,0x7FFFF65F}, + [I(145,68)] = {31,0x7FFFF6DF}, + [I(146,68)] = {29,0x1FFFEBDF}, + [I(147,68)] = {30,0x3FFFF05F}, + [I(148,68)] = {31,0x7FFFF75F}, + [I(149,68)] = {30,0x3FFFF0DF}, + [I(150,68)] = {30,0x3FFFF15F}, + [I(151,68)] = {30,0x3FFFF1DF}, + [I(152,68)] = {30,0x3FFFF25F}, + [I(153,68)] = {28,0xFFFEE5F}, + [I(154,68)] = {29,0x1FFFEC5F}, + [I(155,68)] = {30,0x3FFFF2DF}, + [I(156,68)] = {29,0x1FFFECDF}, + [I(157,68)] = {30,0x3FFFF35F}, + [I(158,68)] = {30,0x3FFFF3DF}, + [I(159,68)] = {31,0x7FFFF7DF}, + [I(160,68)] = {29,0x1FFFED5F}, + [I(161,68)] = {28,0xFFFEEDF}, + [I(162,68)] = {27,0x7FFF4DF}, + [I(163,68)] = {29,0x1FFFEDDF}, + [I(164,68)] = {29,0x1FFFEE5F}, + [I(165,68)] = {30,0x3FFFF45F}, + [I(166,68)] = {30,0x3FFFF4DF}, + [I(167,68)] = {28,0xFFFEF5F}, + [I(168,68)] = {30,0x3FFFF55F}, + [I(169,68)] = {29,0x1FFFEEDF}, + [I(170,68)] = {29,0x1FFFEF5F}, + [I(171,68)] = {31,0x7FFFF85F}, + [I(172,68)] = {28,0xFFFEFDF}, + [I(173,68)] = {29,0x1FFFEFDF}, + [I(174,68)] = {30,0x3FFFF5DF}, + [I(175,68)] = {30,0x3FFFF65F}, + [I(176,68)] = {28,0xFFFF05F}, + [I(177,68)] = {28,0xFFFF0DF}, + [I(178,68)] = {29,0x1FFFF05F}, + [I(179,68)] = {28,0xFFFF15F}, + [I(180,68)] = {30,0x3FFFF6DF}, + [I(181,68)] = {29,0x1FFFF0DF}, + [I(182,68)] = {30,0x3FFFF75F}, + [I(183,68)] = {30,0x3FFFF7DF}, + [I(184,68)] = {27,0x7FFF55F}, + [I(185,68)] = {29,0x1FFFF15F}, + [I(186,68)] = {29,0x1FFFF1DF}, + [I(187,68)] = {29,0x1FFFF25F}, + [I(188,68)] = {30,0x3FFFF85F}, + [I(189,68)] = {29,0x1FFFF2DF}, + [I(190,68)] = {29,0x1FFFF35F}, + [I(191,68)] = {30,0x3FFFF8DF}, + [I(192,68)] = {64,0}, + [I(193,68)] = {64,0}, + [I(194,68)] = {27,0x7FFF5DF}, + [I(195,68)] = {26,0x3FFF8DF}, + [I(196,68)] = {29,0x1FFFF3DF}, + [I(197,68)] = {30,0x3FFFF95F}, + [I(198,68)] = {29,0x1FFFF45F}, + [I(199,68)] = {X32,0xFFFFF65F}, + [I(200,68)] = {64,0}, + [I(201,68)] = {64,0}, + [I(202,68)] = {64,0}, + [I(203,68)] = {64,0}, + [I(204,68)] = {64,0}, + [I(205,68)] = {64,0}, + [I(206,68)] = {31,0x7FFFF8DF}, + [I(207,68)] = {X32,0xFFFFF6DF}, + [I(208,68)] = {26,0x3FFF95F}, + [I(209,68)] = {28,0xFFFF1DF}, + [I(210,68)] = {64,0}, + [I(211,68)] = {64,0}, + [I(212,68)] = {64,0}, + [I(213,68)] = {64,0}, + [I(214,68)] = {64,0}, + [I(215,68)] = {31,0x7FFFF95F}, + [I(216,68)] = {28,0xFFFF25F}, + [I(217,68)] = {28,0xFFFF2DF}, + [I(218,68)] = {64,0}, + [I(219,68)] = {64,0}, + [I(220,68)] = {64,0}, + [I(221,68)] = {64,0}, + [I(222,68)] = {64,0}, + [I(223,68)] = {64,0}, + [I(224,68)] = {27,0x7FFF65F}, + [I(225,68)] = {31,0x7FFFF9DF}, + [I(226,68)] = {27,0x7FFF6DF}, + [I(227,68)] = {28,0xFFFF35F}, + [I(228,68)] = {29,0x1FFFF4DF}, + [I(229,68)] = {28,0xFFFF3DF}, + [I(230,68)] = {28,0xFFFF45F}, + [I(231,68)] = {30,0x3FFFF9DF}, + [I(232,68)] = {29,0x1FFFF55F}, + [I(233,68)] = {29,0x1FFFF5DF}, + [I(234,68)] = {X32,0xFFFFF75F}, + [I(235,68)] = {X32,0xFFFFF7DF}, + [I(236,68)] = {31,0x7FFFFA5F}, + [I(237,68)] = {31,0x7FFFFADF}, + [I(238,68)] = {64,0}, + [I(239,68)] = {30,0x3FFFFA5F}, + [I(240,68)] = {64,0}, + [I(241,68)] = {64,0}, + [I(242,68)] = {64,0}, + [I(243,68)] = {64,0}, + [I(244,68)] = {64,0}, + [I(245,68)] = {64,0}, + [I(246,68)] = {64,0}, + [I(247,68)] = {64,0}, + [I(248,68)] = {64,0}, + [I(249,68)] = {64,0}, + [I(250,68)] = {64,0}, + [I(251,68)] = {64,0}, + [I(252,68)] = {64,0}, + [I(253,68)] = {64,0}, + [I(254,68)] = {64,0}, + [I(255,68)] = {64,0}, + [I(0,69)] = {20,0xFFC60}, + [I(1,69)] = {30,0x3FFFEC60}, + [I(2,69)] = {64,0}, + [I(3,69)] = {64,0}, + [I(4,69)] = {64,0}, + [I(5,69)] = {64,0}, + [I(6,69)] = {64,0}, + [I(7,69)] = {64,0}, + [I(8,69)] = {64,0}, + [I(9,69)] = {31,0x7FFFF560}, + [I(10,69)] = {64,0}, + [I(11,69)] = {64,0}, + [I(12,69)] = {64,0}, + [I(13,69)] = {64,0}, + [I(14,69)] = {64,0}, + [I(15,69)] = {64,0}, + [I(16,69)] = {64,0}, + [I(17,69)] = {64,0}, + [I(18,69)] = {64,0}, + [I(19,69)] = {64,0}, + [I(20,69)] = {64,0}, + [I(21,69)] = {64,0}, + [I(22,69)] = {64,0}, + [I(23,69)] = {64,0}, + [I(24,69)] = {64,0}, + [I(25,69)] = {64,0}, + [I(26,69)] = {64,0}, + [I(27,69)] = {64,0}, + [I(28,69)] = {64,0}, + [I(29,69)] = {64,0}, + [I(30,69)] = {64,0}, + [I(31,69)] = {64,0}, + [I(32,69)] = {13,0xA60}, + [I(33,69)] = {17,0x1FC60}, + [I(34,69)] = {17,0x1FCE0}, + [I(35,69)] = {19,0x7FD60}, + [I(36,69)] = {20,0xFFCE0}, + [I(37,69)] = {13,0xAE0}, + [I(38,69)] = {15,0x7C60}, + [I(39,69)] = {18,0x3FD60}, + [I(40,69)] = {17,0x1FD60}, + [I(41,69)] = {17,0x1FDE0}, + [I(42,69)] = {15,0x7CE0}, + [I(43,69)] = {18,0x3FDE0}, + [I(44,69)] = {15,0x7D60}, + [I(45,69)] = {13,0xB60}, + [I(46,69)] = {13,0xBE0}, + [I(47,69)] = {13,0xC60}, + [I(48,69)] = {12,0x60}, + [I(49,69)] = {12,0xE0}, + [I(50,69)] = {12,0x160}, + [I(51,69)] = {13,0xCE0}, + [I(52,69)] = {13,0xD60}, + [I(53,69)] = {13,0xDE0}, + [I(54,69)] = {13,0xE60}, + [I(55,69)] = {13,0xEE0}, + [I(56,69)] = {13,0xF60}, + [I(57,69)] = {13,0xFE0}, + [I(58,69)] = {14,0x2E60}, + [I(59,69)] = {15,0x7DE0}, + [I(60,69)] = {22,0x3FFE60}, + [I(61,69)] = {13,0x1060}, + [I(62,69)] = {19,0x7FDE0}, + [I(63,69)] = {17,0x1FE60}, + [I(64,69)] = {20,0xFFD60}, + [I(65,69)] = {13,0x10E0}, + [I(66,69)] = {14,0x2EE0}, + [I(67,69)] = {14,0x2F60}, + [I(68,69)] = {14,0x2FE0}, + [I(69,69)] = {14,0x3060}, + [I(70,69)] = {14,0x30E0}, + [I(71,69)] = {14,0x3160}, + [I(72,69)] = {14,0x31E0}, + [I(73,69)] = {14,0x3260}, + [I(74,69)] = {14,0x32E0}, + [I(75,69)] = {14,0x3360}, + [I(76,69)] = {14,0x33E0}, + [I(77,69)] = {14,0x3460}, + [I(78,69)] = {14,0x34E0}, + [I(79,69)] = {14,0x3560}, + [I(80,69)] = {14,0x35E0}, + [I(81,69)] = {14,0x3660}, + [I(82,69)] = {14,0x36E0}, + [I(83,69)] = {14,0x3760}, + [I(84,69)] = {14,0x37E0}, + [I(85,69)] = {14,0x3860}, + [I(86,69)] = {14,0x38E0}, + [I(87,69)] = {14,0x3960}, + [I(88,69)] = {15,0x7E60}, + [I(89,69)] = {14,0x39E0}, + [I(90,69)] = {15,0x7EE0}, + [I(91,69)] = {20,0xFFDE0}, + [I(92,69)] = {26,0x3FFF860}, + [I(93,69)] = {20,0xFFE60}, + [I(94,69)] = {21,0x1FFE60}, + [I(95,69)] = {13,0x1160}, + [I(96,69)] = {22,0x3FFEE0}, + [I(97,69)] = {12,0x1E0}, + [I(98,69)] = {13,0x11E0}, + [I(99,69)] = {12,0x260}, + [I(100,69)] = {13,0x1260}, + [I(101,69)] = {12,0x2E0}, + [I(102,69)] = {13,0x12E0}, + [I(103,69)] = {13,0x1360}, + [I(104,69)] = {13,0x13E0}, + [I(105,69)] = {12,0x360}, + [I(106,69)] = {14,0x3A60}, + [I(107,69)] = {14,0x3AE0}, + [I(108,69)] = {13,0x1460}, + [I(109,69)] = {13,0x14E0}, + [I(110,69)] = {13,0x1560}, + [I(111,69)] = {12,0x3E0}, + [I(112,69)] = {13,0x15E0}, + [I(113,69)] = {14,0x3B60}, + [I(114,69)] = {13,0x1660}, + [I(115,69)] = {12,0x460}, + [I(116,69)] = {12,0x4E0}, + [I(117,69)] = {13,0x16E0}, + [I(118,69)] = {14,0x3BE0}, + [I(119,69)] = {14,0x3C60}, + [I(120,69)] = {14,0x3CE0}, + [I(121,69)] = {14,0x3D60}, + [I(122,69)] = {14,0x3DE0}, + [I(123,69)] = {22,0x3FFF60}, + [I(124,69)] = {18,0x3FE60}, + [I(125,69)] = {21,0x1FFEE0}, + [I(126,69)] = {20,0xFFEE0}, + [I(127,69)] = {64,0}, + [I(128,69)] = {27,0x7FFF360}, + [I(129,69)] = {29,0x1FFFE960}, + [I(130,69)] = {27,0x7FFF3E0}, + [I(131,69)] = {27,0x7FFF460}, + [I(132,69)] = {29,0x1FFFE9E0}, + [I(133,69)] = {29,0x1FFFEA60}, + [I(134,69)] = {29,0x1FFFEAE0}, + [I(135,69)] = {30,0x3FFFECE0}, + [I(136,69)] = {29,0x1FFFEB60}, + [I(137,69)] = {30,0x3FFFED60}, + [I(138,69)] = {30,0x3FFFEDE0}, + [I(139,69)] = {30,0x3FFFEE60}, + [I(140,69)] = {30,0x3FFFEEE0}, + [I(141,69)] = {30,0x3FFFEF60}, + [I(142,69)] = {31,0x7FFFF5E0}, + [I(143,69)] = {30,0x3FFFEFE0}, + [I(144,69)] = {31,0x7FFFF660}, + [I(145,69)] = {31,0x7FFFF6E0}, + [I(146,69)] = {29,0x1FFFEBE0}, + [I(147,69)] = {30,0x3FFFF060}, + [I(148,69)] = {31,0x7FFFF760}, + [I(149,69)] = {30,0x3FFFF0E0}, + [I(150,69)] = {30,0x3FFFF160}, + [I(151,69)] = {30,0x3FFFF1E0}, + [I(152,69)] = {30,0x3FFFF260}, + [I(153,69)] = {28,0xFFFEE60}, + [I(154,69)] = {29,0x1FFFEC60}, + [I(155,69)] = {30,0x3FFFF2E0}, + [I(156,69)] = {29,0x1FFFECE0}, + [I(157,69)] = {30,0x3FFFF360}, + [I(158,69)] = {30,0x3FFFF3E0}, + [I(159,69)] = {31,0x7FFFF7E0}, + [I(160,69)] = {29,0x1FFFED60}, + [I(161,69)] = {28,0xFFFEEE0}, + [I(162,69)] = {27,0x7FFF4E0}, + [I(163,69)] = {29,0x1FFFEDE0}, + [I(164,69)] = {29,0x1FFFEE60}, + [I(165,69)] = {30,0x3FFFF460}, + [I(166,69)] = {30,0x3FFFF4E0}, + [I(167,69)] = {28,0xFFFEF60}, + [I(168,69)] = {30,0x3FFFF560}, + [I(169,69)] = {29,0x1FFFEEE0}, + [I(170,69)] = {29,0x1FFFEF60}, + [I(171,69)] = {31,0x7FFFF860}, + [I(172,69)] = {28,0xFFFEFE0}, + [I(173,69)] = {29,0x1FFFEFE0}, + [I(174,69)] = {30,0x3FFFF5E0}, + [I(175,69)] = {30,0x3FFFF660}, + [I(176,69)] = {28,0xFFFF060}, + [I(177,69)] = {28,0xFFFF0E0}, + [I(178,69)] = {29,0x1FFFF060}, + [I(179,69)] = {28,0xFFFF160}, + [I(180,69)] = {30,0x3FFFF6E0}, + [I(181,69)] = {29,0x1FFFF0E0}, + [I(182,69)] = {30,0x3FFFF760}, + [I(183,69)] = {30,0x3FFFF7E0}, + [I(184,69)] = {27,0x7FFF560}, + [I(185,69)] = {29,0x1FFFF160}, + [I(186,69)] = {29,0x1FFFF1E0}, + [I(187,69)] = {29,0x1FFFF260}, + [I(188,69)] = {30,0x3FFFF860}, + [I(189,69)] = {29,0x1FFFF2E0}, + [I(190,69)] = {29,0x1FFFF360}, + [I(191,69)] = {30,0x3FFFF8E0}, + [I(192,69)] = {64,0}, + [I(193,69)] = {64,0}, + [I(194,69)] = {27,0x7FFF5E0}, + [I(195,69)] = {26,0x3FFF8E0}, + [I(196,69)] = {29,0x1FFFF3E0}, + [I(197,69)] = {30,0x3FFFF960}, + [I(198,69)] = {29,0x1FFFF460}, + [I(199,69)] = {X32,0xFFFFF660}, + [I(200,69)] = {64,0}, + [I(201,69)] = {64,0}, + [I(202,69)] = {64,0}, + [I(203,69)] = {64,0}, + [I(204,69)] = {64,0}, + [I(205,69)] = {64,0}, + [I(206,69)] = {31,0x7FFFF8E0}, + [I(207,69)] = {X32,0xFFFFF6E0}, + [I(208,69)] = {26,0x3FFF960}, + [I(209,69)] = {28,0xFFFF1E0}, + [I(210,69)] = {64,0}, + [I(211,69)] = {64,0}, + [I(212,69)] = {64,0}, + [I(213,69)] = {64,0}, + [I(214,69)] = {64,0}, + [I(215,69)] = {31,0x7FFFF960}, + [I(216,69)] = {28,0xFFFF260}, + [I(217,69)] = {28,0xFFFF2E0}, + [I(218,69)] = {64,0}, + [I(219,69)] = {64,0}, + [I(220,69)] = {64,0}, + [I(221,69)] = {64,0}, + [I(222,69)] = {64,0}, + [I(223,69)] = {64,0}, + [I(224,69)] = {27,0x7FFF660}, + [I(225,69)] = {31,0x7FFFF9E0}, + [I(226,69)] = {27,0x7FFF6E0}, + [I(227,69)] = {28,0xFFFF360}, + [I(228,69)] = {29,0x1FFFF4E0}, + [I(229,69)] = {28,0xFFFF3E0}, + [I(230,69)] = {28,0xFFFF460}, + [I(231,69)] = {30,0x3FFFF9E0}, + [I(232,69)] = {29,0x1FFFF560}, + [I(233,69)] = {29,0x1FFFF5E0}, + [I(234,69)] = {X32,0xFFFFF760}, + [I(235,69)] = {X32,0xFFFFF7E0}, + [I(236,69)] = {31,0x7FFFFA60}, + [I(237,69)] = {31,0x7FFFFAE0}, + [I(238,69)] = {64,0}, + [I(239,69)] = {30,0x3FFFFA60}, + [I(240,69)] = {64,0}, + [I(241,69)] = {64,0}, + [I(242,69)] = {64,0}, + [I(243,69)] = {64,0}, + [I(244,69)] = {64,0}, + [I(245,69)] = {64,0}, + [I(246,69)] = {64,0}, + [I(247,69)] = {64,0}, + [I(248,69)] = {64,0}, + [I(249,69)] = {64,0}, + [I(250,69)] = {64,0}, + [I(251,69)] = {64,0}, + [I(252,69)] = {64,0}, + [I(253,69)] = {64,0}, + [I(254,69)] = {64,0}, + [I(255,69)] = {64,0}, + [I(0,70)] = {20,0xFFC61}, + [I(1,70)] = {30,0x3FFFEC61}, + [I(2,70)] = {64,0}, + [I(3,70)] = {64,0}, + [I(4,70)] = {64,0}, + [I(5,70)] = {64,0}, + [I(6,70)] = {64,0}, + [I(7,70)] = {64,0}, + [I(8,70)] = {64,0}, + [I(9,70)] = {31,0x7FFFF561}, + [I(10,70)] = {64,0}, + [I(11,70)] = {64,0}, + [I(12,70)] = {64,0}, + [I(13,70)] = {64,0}, + [I(14,70)] = {64,0}, + [I(15,70)] = {64,0}, + [I(16,70)] = {64,0}, + [I(17,70)] = {64,0}, + [I(18,70)] = {64,0}, + [I(19,70)] = {64,0}, + [I(20,70)] = {64,0}, + [I(21,70)] = {64,0}, + [I(22,70)] = {64,0}, + [I(23,70)] = {64,0}, + [I(24,70)] = {64,0}, + [I(25,70)] = {64,0}, + [I(26,70)] = {64,0}, + [I(27,70)] = {64,0}, + [I(28,70)] = {64,0}, + [I(29,70)] = {64,0}, + [I(30,70)] = {64,0}, + [I(31,70)] = {64,0}, + [I(32,70)] = {13,0xA61}, + [I(33,70)] = {17,0x1FC61}, + [I(34,70)] = {17,0x1FCE1}, + [I(35,70)] = {19,0x7FD61}, + [I(36,70)] = {20,0xFFCE1}, + [I(37,70)] = {13,0xAE1}, + [I(38,70)] = {15,0x7C61}, + [I(39,70)] = {18,0x3FD61}, + [I(40,70)] = {17,0x1FD61}, + [I(41,70)] = {17,0x1FDE1}, + [I(42,70)] = {15,0x7CE1}, + [I(43,70)] = {18,0x3FDE1}, + [I(44,70)] = {15,0x7D61}, + [I(45,70)] = {13,0xB61}, + [I(46,70)] = {13,0xBE1}, + [I(47,70)] = {13,0xC61}, + [I(48,70)] = {12,0x61}, + [I(49,70)] = {12,0xE1}, + [I(50,70)] = {12,0x161}, + [I(51,70)] = {13,0xCE1}, + [I(52,70)] = {13,0xD61}, + [I(53,70)] = {13,0xDE1}, + [I(54,70)] = {13,0xE61}, + [I(55,70)] = {13,0xEE1}, + [I(56,70)] = {13,0xF61}, + [I(57,70)] = {13,0xFE1}, + [I(58,70)] = {14,0x2E61}, + [I(59,70)] = {15,0x7DE1}, + [I(60,70)] = {22,0x3FFE61}, + [I(61,70)] = {13,0x1061}, + [I(62,70)] = {19,0x7FDE1}, + [I(63,70)] = {17,0x1FE61}, + [I(64,70)] = {20,0xFFD61}, + [I(65,70)] = {13,0x10E1}, + [I(66,70)] = {14,0x2EE1}, + [I(67,70)] = {14,0x2F61}, + [I(68,70)] = {14,0x2FE1}, + [I(69,70)] = {14,0x3061}, + [I(70,70)] = {14,0x30E1}, + [I(71,70)] = {14,0x3161}, + [I(72,70)] = {14,0x31E1}, + [I(73,70)] = {14,0x3261}, + [I(74,70)] = {14,0x32E1}, + [I(75,70)] = {14,0x3361}, + [I(76,70)] = {14,0x33E1}, + [I(77,70)] = {14,0x3461}, + [I(78,70)] = {14,0x34E1}, + [I(79,70)] = {14,0x3561}, + [I(80,70)] = {14,0x35E1}, + [I(81,70)] = {14,0x3661}, + [I(82,70)] = {14,0x36E1}, + [I(83,70)] = {14,0x3761}, + [I(84,70)] = {14,0x37E1}, + [I(85,70)] = {14,0x3861}, + [I(86,70)] = {14,0x38E1}, + [I(87,70)] = {14,0x3961}, + [I(88,70)] = {15,0x7E61}, + [I(89,70)] = {14,0x39E1}, + [I(90,70)] = {15,0x7EE1}, + [I(91,70)] = {20,0xFFDE1}, + [I(92,70)] = {26,0x3FFF861}, + [I(93,70)] = {20,0xFFE61}, + [I(94,70)] = {21,0x1FFE61}, + [I(95,70)] = {13,0x1161}, + [I(96,70)] = {22,0x3FFEE1}, + [I(97,70)] = {12,0x1E1}, + [I(98,70)] = {13,0x11E1}, + [I(99,70)] = {12,0x261}, + [I(100,70)] = {13,0x1261}, + [I(101,70)] = {12,0x2E1}, + [I(102,70)] = {13,0x12E1}, + [I(103,70)] = {13,0x1361}, + [I(104,70)] = {13,0x13E1}, + [I(105,70)] = {12,0x361}, + [I(106,70)] = {14,0x3A61}, + [I(107,70)] = {14,0x3AE1}, + [I(108,70)] = {13,0x1461}, + [I(109,70)] = {13,0x14E1}, + [I(110,70)] = {13,0x1561}, + [I(111,70)] = {12,0x3E1}, + [I(112,70)] = {13,0x15E1}, + [I(113,70)] = {14,0x3B61}, + [I(114,70)] = {13,0x1661}, + [I(115,70)] = {12,0x461}, + [I(116,70)] = {12,0x4E1}, + [I(117,70)] = {13,0x16E1}, + [I(118,70)] = {14,0x3BE1}, + [I(119,70)] = {14,0x3C61}, + [I(120,70)] = {14,0x3CE1}, + [I(121,70)] = {14,0x3D61}, + [I(122,70)] = {14,0x3DE1}, + [I(123,70)] = {22,0x3FFF61}, + [I(124,70)] = {18,0x3FE61}, + [I(125,70)] = {21,0x1FFEE1}, + [I(126,70)] = {20,0xFFEE1}, + [I(127,70)] = {64,0}, + [I(128,70)] = {27,0x7FFF361}, + [I(129,70)] = {29,0x1FFFE961}, + [I(130,70)] = {27,0x7FFF3E1}, + [I(131,70)] = {27,0x7FFF461}, + [I(132,70)] = {29,0x1FFFE9E1}, + [I(133,70)] = {29,0x1FFFEA61}, + [I(134,70)] = {29,0x1FFFEAE1}, + [I(135,70)] = {30,0x3FFFECE1}, + [I(136,70)] = {29,0x1FFFEB61}, + [I(137,70)] = {30,0x3FFFED61}, + [I(138,70)] = {30,0x3FFFEDE1}, + [I(139,70)] = {30,0x3FFFEE61}, + [I(140,70)] = {30,0x3FFFEEE1}, + [I(141,70)] = {30,0x3FFFEF61}, + [I(142,70)] = {31,0x7FFFF5E1}, + [I(143,70)] = {30,0x3FFFEFE1}, + [I(144,70)] = {31,0x7FFFF661}, + [I(145,70)] = {31,0x7FFFF6E1}, + [I(146,70)] = {29,0x1FFFEBE1}, + [I(147,70)] = {30,0x3FFFF061}, + [I(148,70)] = {31,0x7FFFF761}, + [I(149,70)] = {30,0x3FFFF0E1}, + [I(150,70)] = {30,0x3FFFF161}, + [I(151,70)] = {30,0x3FFFF1E1}, + [I(152,70)] = {30,0x3FFFF261}, + [I(153,70)] = {28,0xFFFEE61}, + [I(154,70)] = {29,0x1FFFEC61}, + [I(155,70)] = {30,0x3FFFF2E1}, + [I(156,70)] = {29,0x1FFFECE1}, + [I(157,70)] = {30,0x3FFFF361}, + [I(158,70)] = {30,0x3FFFF3E1}, + [I(159,70)] = {31,0x7FFFF7E1}, + [I(160,70)] = {29,0x1FFFED61}, + [I(161,70)] = {28,0xFFFEEE1}, + [I(162,70)] = {27,0x7FFF4E1}, + [I(163,70)] = {29,0x1FFFEDE1}, + [I(164,70)] = {29,0x1FFFEE61}, + [I(165,70)] = {30,0x3FFFF461}, + [I(166,70)] = {30,0x3FFFF4E1}, + [I(167,70)] = {28,0xFFFEF61}, + [I(168,70)] = {30,0x3FFFF561}, + [I(169,70)] = {29,0x1FFFEEE1}, + [I(170,70)] = {29,0x1FFFEF61}, + [I(171,70)] = {31,0x7FFFF861}, + [I(172,70)] = {28,0xFFFEFE1}, + [I(173,70)] = {29,0x1FFFEFE1}, + [I(174,70)] = {30,0x3FFFF5E1}, + [I(175,70)] = {30,0x3FFFF661}, + [I(176,70)] = {28,0xFFFF061}, + [I(177,70)] = {28,0xFFFF0E1}, + [I(178,70)] = {29,0x1FFFF061}, + [I(179,70)] = {28,0xFFFF161}, + [I(180,70)] = {30,0x3FFFF6E1}, + [I(181,70)] = {29,0x1FFFF0E1}, + [I(182,70)] = {30,0x3FFFF761}, + [I(183,70)] = {30,0x3FFFF7E1}, + [I(184,70)] = {27,0x7FFF561}, + [I(185,70)] = {29,0x1FFFF161}, + [I(186,70)] = {29,0x1FFFF1E1}, + [I(187,70)] = {29,0x1FFFF261}, + [I(188,70)] = {30,0x3FFFF861}, + [I(189,70)] = {29,0x1FFFF2E1}, + [I(190,70)] = {29,0x1FFFF361}, + [I(191,70)] = {30,0x3FFFF8E1}, + [I(192,70)] = {64,0}, + [I(193,70)] = {64,0}, + [I(194,70)] = {27,0x7FFF5E1}, + [I(195,70)] = {26,0x3FFF8E1}, + [I(196,70)] = {29,0x1FFFF3E1}, + [I(197,70)] = {30,0x3FFFF961}, + [I(198,70)] = {29,0x1FFFF461}, + [I(199,70)] = {X32,0xFFFFF661}, + [I(200,70)] = {64,0}, + [I(201,70)] = {64,0}, + [I(202,70)] = {64,0}, + [I(203,70)] = {64,0}, + [I(204,70)] = {64,0}, + [I(205,70)] = {64,0}, + [I(206,70)] = {31,0x7FFFF8E1}, + [I(207,70)] = {X32,0xFFFFF6E1}, + [I(208,70)] = {26,0x3FFF961}, + [I(209,70)] = {28,0xFFFF1E1}, + [I(210,70)] = {64,0}, + [I(211,70)] = {64,0}, + [I(212,70)] = {64,0}, + [I(213,70)] = {64,0}, + [I(214,70)] = {64,0}, + [I(215,70)] = {31,0x7FFFF961}, + [I(216,70)] = {28,0xFFFF261}, + [I(217,70)] = {28,0xFFFF2E1}, + [I(218,70)] = {64,0}, + [I(219,70)] = {64,0}, + [I(220,70)] = {64,0}, + [I(221,70)] = {64,0}, + [I(222,70)] = {64,0}, + [I(223,70)] = {64,0}, + [I(224,70)] = {27,0x7FFF661}, + [I(225,70)] = {31,0x7FFFF9E1}, + [I(226,70)] = {27,0x7FFF6E1}, + [I(227,70)] = {28,0xFFFF361}, + [I(228,70)] = {29,0x1FFFF4E1}, + [I(229,70)] = {28,0xFFFF3E1}, + [I(230,70)] = {28,0xFFFF461}, + [I(231,70)] = {30,0x3FFFF9E1}, + [I(232,70)] = {29,0x1FFFF561}, + [I(233,70)] = {29,0x1FFFF5E1}, + [I(234,70)] = {X32,0xFFFFF761}, + [I(235,70)] = {X32,0xFFFFF7E1}, + [I(236,70)] = {31,0x7FFFFA61}, + [I(237,70)] = {31,0x7FFFFAE1}, + [I(238,70)] = {64,0}, + [I(239,70)] = {30,0x3FFFFA61}, + [I(240,70)] = {64,0}, + [I(241,70)] = {64,0}, + [I(242,70)] = {64,0}, + [I(243,70)] = {64,0}, + [I(244,70)] = {64,0}, + [I(245,70)] = {64,0}, + [I(246,70)] = {64,0}, + [I(247,70)] = {64,0}, + [I(248,70)] = {64,0}, + [I(249,70)] = {64,0}, + [I(250,70)] = {64,0}, + [I(251,70)] = {64,0}, + [I(252,70)] = {64,0}, + [I(253,70)] = {64,0}, + [I(254,70)] = {64,0}, + [I(255,70)] = {64,0}, + [I(0,71)] = {20,0xFFC62}, + [I(1,71)] = {30,0x3FFFEC62}, + [I(2,71)] = {64,0}, + [I(3,71)] = {64,0}, + [I(4,71)] = {64,0}, + [I(5,71)] = {64,0}, + [I(6,71)] = {64,0}, + [I(7,71)] = {64,0}, + [I(8,71)] = {64,0}, + [I(9,71)] = {31,0x7FFFF562}, + [I(10,71)] = {64,0}, + [I(11,71)] = {64,0}, + [I(12,71)] = {64,0}, + [I(13,71)] = {64,0}, + [I(14,71)] = {64,0}, + [I(15,71)] = {64,0}, + [I(16,71)] = {64,0}, + [I(17,71)] = {64,0}, + [I(18,71)] = {64,0}, + [I(19,71)] = {64,0}, + [I(20,71)] = {64,0}, + [I(21,71)] = {64,0}, + [I(22,71)] = {64,0}, + [I(23,71)] = {64,0}, + [I(24,71)] = {64,0}, + [I(25,71)] = {64,0}, + [I(26,71)] = {64,0}, + [I(27,71)] = {64,0}, + [I(28,71)] = {64,0}, + [I(29,71)] = {64,0}, + [I(30,71)] = {64,0}, + [I(31,71)] = {64,0}, + [I(32,71)] = {13,0xA62}, + [I(33,71)] = {17,0x1FC62}, + [I(34,71)] = {17,0x1FCE2}, + [I(35,71)] = {19,0x7FD62}, + [I(36,71)] = {20,0xFFCE2}, + [I(37,71)] = {13,0xAE2}, + [I(38,71)] = {15,0x7C62}, + [I(39,71)] = {18,0x3FD62}, + [I(40,71)] = {17,0x1FD62}, + [I(41,71)] = {17,0x1FDE2}, + [I(42,71)] = {15,0x7CE2}, + [I(43,71)] = {18,0x3FDE2}, + [I(44,71)] = {15,0x7D62}, + [I(45,71)] = {13,0xB62}, + [I(46,71)] = {13,0xBE2}, + [I(47,71)] = {13,0xC62}, + [I(48,71)] = {12,0x62}, + [I(49,71)] = {12,0xE2}, + [I(50,71)] = {12,0x162}, + [I(51,71)] = {13,0xCE2}, + [I(52,71)] = {13,0xD62}, + [I(53,71)] = {13,0xDE2}, + [I(54,71)] = {13,0xE62}, + [I(55,71)] = {13,0xEE2}, + [I(56,71)] = {13,0xF62}, + [I(57,71)] = {13,0xFE2}, + [I(58,71)] = {14,0x2E62}, + [I(59,71)] = {15,0x7DE2}, + [I(60,71)] = {22,0x3FFE62}, + [I(61,71)] = {13,0x1062}, + [I(62,71)] = {19,0x7FDE2}, + [I(63,71)] = {17,0x1FE62}, + [I(64,71)] = {20,0xFFD62}, + [I(65,71)] = {13,0x10E2}, + [I(66,71)] = {14,0x2EE2}, + [I(67,71)] = {14,0x2F62}, + [I(68,71)] = {14,0x2FE2}, + [I(69,71)] = {14,0x3062}, + [I(70,71)] = {14,0x30E2}, + [I(71,71)] = {14,0x3162}, + [I(72,71)] = {14,0x31E2}, + [I(73,71)] = {14,0x3262}, + [I(74,71)] = {14,0x32E2}, + [I(75,71)] = {14,0x3362}, + [I(76,71)] = {14,0x33E2}, + [I(77,71)] = {14,0x3462}, + [I(78,71)] = {14,0x34E2}, + [I(79,71)] = {14,0x3562}, + [I(80,71)] = {14,0x35E2}, + [I(81,71)] = {14,0x3662}, + [I(82,71)] = {14,0x36E2}, + [I(83,71)] = {14,0x3762}, + [I(84,71)] = {14,0x37E2}, + [I(85,71)] = {14,0x3862}, + [I(86,71)] = {14,0x38E2}, + [I(87,71)] = {14,0x3962}, + [I(88,71)] = {15,0x7E62}, + [I(89,71)] = {14,0x39E2}, + [I(90,71)] = {15,0x7EE2}, + [I(91,71)] = {20,0xFFDE2}, + [I(92,71)] = {26,0x3FFF862}, + [I(93,71)] = {20,0xFFE62}, + [I(94,71)] = {21,0x1FFE62}, + [I(95,71)] = {13,0x1162}, + [I(96,71)] = {22,0x3FFEE2}, + [I(97,71)] = {12,0x1E2}, + [I(98,71)] = {13,0x11E2}, + [I(99,71)] = {12,0x262}, + [I(100,71)] = {13,0x1262}, + [I(101,71)] = {12,0x2E2}, + [I(102,71)] = {13,0x12E2}, + [I(103,71)] = {13,0x1362}, + [I(104,71)] = {13,0x13E2}, + [I(105,71)] = {12,0x362}, + [I(106,71)] = {14,0x3A62}, + [I(107,71)] = {14,0x3AE2}, + [I(108,71)] = {13,0x1462}, + [I(109,71)] = {13,0x14E2}, + [I(110,71)] = {13,0x1562}, + [I(111,71)] = {12,0x3E2}, + [I(112,71)] = {13,0x15E2}, + [I(113,71)] = {14,0x3B62}, + [I(114,71)] = {13,0x1662}, + [I(115,71)] = {12,0x462}, + [I(116,71)] = {12,0x4E2}, + [I(117,71)] = {13,0x16E2}, + [I(118,71)] = {14,0x3BE2}, + [I(119,71)] = {14,0x3C62}, + [I(120,71)] = {14,0x3CE2}, + [I(121,71)] = {14,0x3D62}, + [I(122,71)] = {14,0x3DE2}, + [I(123,71)] = {22,0x3FFF62}, + [I(124,71)] = {18,0x3FE62}, + [I(125,71)] = {21,0x1FFEE2}, + [I(126,71)] = {20,0xFFEE2}, + [I(127,71)] = {64,0}, + [I(128,71)] = {27,0x7FFF362}, + [I(129,71)] = {29,0x1FFFE962}, + [I(130,71)] = {27,0x7FFF3E2}, + [I(131,71)] = {27,0x7FFF462}, + [I(132,71)] = {29,0x1FFFE9E2}, + [I(133,71)] = {29,0x1FFFEA62}, + [I(134,71)] = {29,0x1FFFEAE2}, + [I(135,71)] = {30,0x3FFFECE2}, + [I(136,71)] = {29,0x1FFFEB62}, + [I(137,71)] = {30,0x3FFFED62}, + [I(138,71)] = {30,0x3FFFEDE2}, + [I(139,71)] = {30,0x3FFFEE62}, + [I(140,71)] = {30,0x3FFFEEE2}, + [I(141,71)] = {30,0x3FFFEF62}, + [I(142,71)] = {31,0x7FFFF5E2}, + [I(143,71)] = {30,0x3FFFEFE2}, + [I(144,71)] = {31,0x7FFFF662}, + [I(145,71)] = {31,0x7FFFF6E2}, + [I(146,71)] = {29,0x1FFFEBE2}, + [I(147,71)] = {30,0x3FFFF062}, + [I(148,71)] = {31,0x7FFFF762}, + [I(149,71)] = {30,0x3FFFF0E2}, + [I(150,71)] = {30,0x3FFFF162}, + [I(151,71)] = {30,0x3FFFF1E2}, + [I(152,71)] = {30,0x3FFFF262}, + [I(153,71)] = {28,0xFFFEE62}, + [I(154,71)] = {29,0x1FFFEC62}, + [I(155,71)] = {30,0x3FFFF2E2}, + [I(156,71)] = {29,0x1FFFECE2}, + [I(157,71)] = {30,0x3FFFF362}, + [I(158,71)] = {30,0x3FFFF3E2}, + [I(159,71)] = {31,0x7FFFF7E2}, + [I(160,71)] = {29,0x1FFFED62}, + [I(161,71)] = {28,0xFFFEEE2}, + [I(162,71)] = {27,0x7FFF4E2}, + [I(163,71)] = {29,0x1FFFEDE2}, + [I(164,71)] = {29,0x1FFFEE62}, + [I(165,71)] = {30,0x3FFFF462}, + [I(166,71)] = {30,0x3FFFF4E2}, + [I(167,71)] = {28,0xFFFEF62}, + [I(168,71)] = {30,0x3FFFF562}, + [I(169,71)] = {29,0x1FFFEEE2}, + [I(170,71)] = {29,0x1FFFEF62}, + [I(171,71)] = {31,0x7FFFF862}, + [I(172,71)] = {28,0xFFFEFE2}, + [I(173,71)] = {29,0x1FFFEFE2}, + [I(174,71)] = {30,0x3FFFF5E2}, + [I(175,71)] = {30,0x3FFFF662}, + [I(176,71)] = {28,0xFFFF062}, + [I(177,71)] = {28,0xFFFF0E2}, + [I(178,71)] = {29,0x1FFFF062}, + [I(179,71)] = {28,0xFFFF162}, + [I(180,71)] = {30,0x3FFFF6E2}, + [I(181,71)] = {29,0x1FFFF0E2}, + [I(182,71)] = {30,0x3FFFF762}, + [I(183,71)] = {30,0x3FFFF7E2}, + [I(184,71)] = {27,0x7FFF562}, + [I(185,71)] = {29,0x1FFFF162}, + [I(186,71)] = {29,0x1FFFF1E2}, + [I(187,71)] = {29,0x1FFFF262}, + [I(188,71)] = {30,0x3FFFF862}, + [I(189,71)] = {29,0x1FFFF2E2}, + [I(190,71)] = {29,0x1FFFF362}, + [I(191,71)] = {30,0x3FFFF8E2}, + [I(192,71)] = {64,0}, + [I(193,71)] = {64,0}, + [I(194,71)] = {27,0x7FFF5E2}, + [I(195,71)] = {26,0x3FFF8E2}, + [I(196,71)] = {29,0x1FFFF3E2}, + [I(197,71)] = {30,0x3FFFF962}, + [I(198,71)] = {29,0x1FFFF462}, + [I(199,71)] = {X32,0xFFFFF662}, + [I(200,71)] = {64,0}, + [I(201,71)] = {64,0}, + [I(202,71)] = {64,0}, + [I(203,71)] = {64,0}, + [I(204,71)] = {64,0}, + [I(205,71)] = {64,0}, + [I(206,71)] = {31,0x7FFFF8E2}, + [I(207,71)] = {X32,0xFFFFF6E2}, + [I(208,71)] = {26,0x3FFF962}, + [I(209,71)] = {28,0xFFFF1E2}, + [I(210,71)] = {64,0}, + [I(211,71)] = {64,0}, + [I(212,71)] = {64,0}, + [I(213,71)] = {64,0}, + [I(214,71)] = {64,0}, + [I(215,71)] = {31,0x7FFFF962}, + [I(216,71)] = {28,0xFFFF262}, + [I(217,71)] = {28,0xFFFF2E2}, + [I(218,71)] = {64,0}, + [I(219,71)] = {64,0}, + [I(220,71)] = {64,0}, + [I(221,71)] = {64,0}, + [I(222,71)] = {64,0}, + [I(223,71)] = {64,0}, + [I(224,71)] = {27,0x7FFF662}, + [I(225,71)] = {31,0x7FFFF9E2}, + [I(226,71)] = {27,0x7FFF6E2}, + [I(227,71)] = {28,0xFFFF362}, + [I(228,71)] = {29,0x1FFFF4E2}, + [I(229,71)] = {28,0xFFFF3E2}, + [I(230,71)] = {28,0xFFFF462}, + [I(231,71)] = {30,0x3FFFF9E2}, + [I(232,71)] = {29,0x1FFFF562}, + [I(233,71)] = {29,0x1FFFF5E2}, + [I(234,71)] = {X32,0xFFFFF762}, + [I(235,71)] = {X32,0xFFFFF7E2}, + [I(236,71)] = {31,0x7FFFFA62}, + [I(237,71)] = {31,0x7FFFFAE2}, + [I(238,71)] = {64,0}, + [I(239,71)] = {30,0x3FFFFA62}, + [I(240,71)] = {64,0}, + [I(241,71)] = {64,0}, + [I(242,71)] = {64,0}, + [I(243,71)] = {64,0}, + [I(244,71)] = {64,0}, + [I(245,71)] = {64,0}, + [I(246,71)] = {64,0}, + [I(247,71)] = {64,0}, + [I(248,71)] = {64,0}, + [I(249,71)] = {64,0}, + [I(250,71)] = {64,0}, + [I(251,71)] = {64,0}, + [I(252,71)] = {64,0}, + [I(253,71)] = {64,0}, + [I(254,71)] = {64,0}, + [I(255,71)] = {64,0}, + [I(0,72)] = {20,0xFFC63}, + [I(1,72)] = {30,0x3FFFEC63}, + [I(2,72)] = {64,0}, + [I(3,72)] = {64,0}, + [I(4,72)] = {64,0}, + [I(5,72)] = {64,0}, + [I(6,72)] = {64,0}, + [I(7,72)] = {64,0}, + [I(8,72)] = {64,0}, + [I(9,72)] = {31,0x7FFFF563}, + [I(10,72)] = {64,0}, + [I(11,72)] = {64,0}, + [I(12,72)] = {64,0}, + [I(13,72)] = {64,0}, + [I(14,72)] = {64,0}, + [I(15,72)] = {64,0}, + [I(16,72)] = {64,0}, + [I(17,72)] = {64,0}, + [I(18,72)] = {64,0}, + [I(19,72)] = {64,0}, + [I(20,72)] = {64,0}, + [I(21,72)] = {64,0}, + [I(22,72)] = {64,0}, + [I(23,72)] = {64,0}, + [I(24,72)] = {64,0}, + [I(25,72)] = {64,0}, + [I(26,72)] = {64,0}, + [I(27,72)] = {64,0}, + [I(28,72)] = {64,0}, + [I(29,72)] = {64,0}, + [I(30,72)] = {64,0}, + [I(31,72)] = {64,0}, + [I(32,72)] = {13,0xA63}, + [I(33,72)] = {17,0x1FC63}, + [I(34,72)] = {17,0x1FCE3}, + [I(35,72)] = {19,0x7FD63}, + [I(36,72)] = {20,0xFFCE3}, + [I(37,72)] = {13,0xAE3}, + [I(38,72)] = {15,0x7C63}, + [I(39,72)] = {18,0x3FD63}, + [I(40,72)] = {17,0x1FD63}, + [I(41,72)] = {17,0x1FDE3}, + [I(42,72)] = {15,0x7CE3}, + [I(43,72)] = {18,0x3FDE3}, + [I(44,72)] = {15,0x7D63}, + [I(45,72)] = {13,0xB63}, + [I(46,72)] = {13,0xBE3}, + [I(47,72)] = {13,0xC63}, + [I(48,72)] = {12,0x63}, + [I(49,72)] = {12,0xE3}, + [I(50,72)] = {12,0x163}, + [I(51,72)] = {13,0xCE3}, + [I(52,72)] = {13,0xD63}, + [I(53,72)] = {13,0xDE3}, + [I(54,72)] = {13,0xE63}, + [I(55,72)] = {13,0xEE3}, + [I(56,72)] = {13,0xF63}, + [I(57,72)] = {13,0xFE3}, + [I(58,72)] = {14,0x2E63}, + [I(59,72)] = {15,0x7DE3}, + [I(60,72)] = {22,0x3FFE63}, + [I(61,72)] = {13,0x1063}, + [I(62,72)] = {19,0x7FDE3}, + [I(63,72)] = {17,0x1FE63}, + [I(64,72)] = {20,0xFFD63}, + [I(65,72)] = {13,0x10E3}, + [I(66,72)] = {14,0x2EE3}, + [I(67,72)] = {14,0x2F63}, + [I(68,72)] = {14,0x2FE3}, + [I(69,72)] = {14,0x3063}, + [I(70,72)] = {14,0x30E3}, + [I(71,72)] = {14,0x3163}, + [I(72,72)] = {14,0x31E3}, + [I(73,72)] = {14,0x3263}, + [I(74,72)] = {14,0x32E3}, + [I(75,72)] = {14,0x3363}, + [I(76,72)] = {14,0x33E3}, + [I(77,72)] = {14,0x3463}, + [I(78,72)] = {14,0x34E3}, + [I(79,72)] = {14,0x3563}, + [I(80,72)] = {14,0x35E3}, + [I(81,72)] = {14,0x3663}, + [I(82,72)] = {14,0x36E3}, + [I(83,72)] = {14,0x3763}, + [I(84,72)] = {14,0x37E3}, + [I(85,72)] = {14,0x3863}, + [I(86,72)] = {14,0x38E3}, + [I(87,72)] = {14,0x3963}, + [I(88,72)] = {15,0x7E63}, + [I(89,72)] = {14,0x39E3}, + [I(90,72)] = {15,0x7EE3}, + [I(91,72)] = {20,0xFFDE3}, + [I(92,72)] = {26,0x3FFF863}, + [I(93,72)] = {20,0xFFE63}, + [I(94,72)] = {21,0x1FFE63}, + [I(95,72)] = {13,0x1163}, + [I(96,72)] = {22,0x3FFEE3}, + [I(97,72)] = {12,0x1E3}, + [I(98,72)] = {13,0x11E3}, + [I(99,72)] = {12,0x263}, + [I(100,72)] = {13,0x1263}, + [I(101,72)] = {12,0x2E3}, + [I(102,72)] = {13,0x12E3}, + [I(103,72)] = {13,0x1363}, + [I(104,72)] = {13,0x13E3}, + [I(105,72)] = {12,0x363}, + [I(106,72)] = {14,0x3A63}, + [I(107,72)] = {14,0x3AE3}, + [I(108,72)] = {13,0x1463}, + [I(109,72)] = {13,0x14E3}, + [I(110,72)] = {13,0x1563}, + [I(111,72)] = {12,0x3E3}, + [I(112,72)] = {13,0x15E3}, + [I(113,72)] = {14,0x3B63}, + [I(114,72)] = {13,0x1663}, + [I(115,72)] = {12,0x463}, + [I(116,72)] = {12,0x4E3}, + [I(117,72)] = {13,0x16E3}, + [I(118,72)] = {14,0x3BE3}, + [I(119,72)] = {14,0x3C63}, + [I(120,72)] = {14,0x3CE3}, + [I(121,72)] = {14,0x3D63}, + [I(122,72)] = {14,0x3DE3}, + [I(123,72)] = {22,0x3FFF63}, + [I(124,72)] = {18,0x3FE63}, + [I(125,72)] = {21,0x1FFEE3}, + [I(126,72)] = {20,0xFFEE3}, + [I(127,72)] = {64,0}, + [I(128,72)] = {27,0x7FFF363}, + [I(129,72)] = {29,0x1FFFE963}, + [I(130,72)] = {27,0x7FFF3E3}, + [I(131,72)] = {27,0x7FFF463}, + [I(132,72)] = {29,0x1FFFE9E3}, + [I(133,72)] = {29,0x1FFFEA63}, + [I(134,72)] = {29,0x1FFFEAE3}, + [I(135,72)] = {30,0x3FFFECE3}, + [I(136,72)] = {29,0x1FFFEB63}, + [I(137,72)] = {30,0x3FFFED63}, + [I(138,72)] = {30,0x3FFFEDE3}, + [I(139,72)] = {30,0x3FFFEE63}, + [I(140,72)] = {30,0x3FFFEEE3}, + [I(141,72)] = {30,0x3FFFEF63}, + [I(142,72)] = {31,0x7FFFF5E3}, + [I(143,72)] = {30,0x3FFFEFE3}, + [I(144,72)] = {31,0x7FFFF663}, + [I(145,72)] = {31,0x7FFFF6E3}, + [I(146,72)] = {29,0x1FFFEBE3}, + [I(147,72)] = {30,0x3FFFF063}, + [I(148,72)] = {31,0x7FFFF763}, + [I(149,72)] = {30,0x3FFFF0E3}, + [I(150,72)] = {30,0x3FFFF163}, + [I(151,72)] = {30,0x3FFFF1E3}, + [I(152,72)] = {30,0x3FFFF263}, + [I(153,72)] = {28,0xFFFEE63}, + [I(154,72)] = {29,0x1FFFEC63}, + [I(155,72)] = {30,0x3FFFF2E3}, + [I(156,72)] = {29,0x1FFFECE3}, + [I(157,72)] = {30,0x3FFFF363}, + [I(158,72)] = {30,0x3FFFF3E3}, + [I(159,72)] = {31,0x7FFFF7E3}, + [I(160,72)] = {29,0x1FFFED63}, + [I(161,72)] = {28,0xFFFEEE3}, + [I(162,72)] = {27,0x7FFF4E3}, + [I(163,72)] = {29,0x1FFFEDE3}, + [I(164,72)] = {29,0x1FFFEE63}, + [I(165,72)] = {30,0x3FFFF463}, + [I(166,72)] = {30,0x3FFFF4E3}, + [I(167,72)] = {28,0xFFFEF63}, + [I(168,72)] = {30,0x3FFFF563}, + [I(169,72)] = {29,0x1FFFEEE3}, + [I(170,72)] = {29,0x1FFFEF63}, + [I(171,72)] = {31,0x7FFFF863}, + [I(172,72)] = {28,0xFFFEFE3}, + [I(173,72)] = {29,0x1FFFEFE3}, + [I(174,72)] = {30,0x3FFFF5E3}, + [I(175,72)] = {30,0x3FFFF663}, + [I(176,72)] = {28,0xFFFF063}, + [I(177,72)] = {28,0xFFFF0E3}, + [I(178,72)] = {29,0x1FFFF063}, + [I(179,72)] = {28,0xFFFF163}, + [I(180,72)] = {30,0x3FFFF6E3}, + [I(181,72)] = {29,0x1FFFF0E3}, + [I(182,72)] = {30,0x3FFFF763}, + [I(183,72)] = {30,0x3FFFF7E3}, + [I(184,72)] = {27,0x7FFF563}, + [I(185,72)] = {29,0x1FFFF163}, + [I(186,72)] = {29,0x1FFFF1E3}, + [I(187,72)] = {29,0x1FFFF263}, + [I(188,72)] = {30,0x3FFFF863}, + [I(189,72)] = {29,0x1FFFF2E3}, + [I(190,72)] = {29,0x1FFFF363}, + [I(191,72)] = {30,0x3FFFF8E3}, + [I(192,72)] = {64,0}, + [I(193,72)] = {64,0}, + [I(194,72)] = {27,0x7FFF5E3}, + [I(195,72)] = {26,0x3FFF8E3}, + [I(196,72)] = {29,0x1FFFF3E3}, + [I(197,72)] = {30,0x3FFFF963}, + [I(198,72)] = {29,0x1FFFF463}, + [I(199,72)] = {X32,0xFFFFF663}, + [I(200,72)] = {64,0}, + [I(201,72)] = {64,0}, + [I(202,72)] = {64,0}, + [I(203,72)] = {64,0}, + [I(204,72)] = {64,0}, + [I(205,72)] = {64,0}, + [I(206,72)] = {31,0x7FFFF8E3}, + [I(207,72)] = {X32,0xFFFFF6E3}, + [I(208,72)] = {26,0x3FFF963}, + [I(209,72)] = {28,0xFFFF1E3}, + [I(210,72)] = {64,0}, + [I(211,72)] = {64,0}, + [I(212,72)] = {64,0}, + [I(213,72)] = {64,0}, + [I(214,72)] = {64,0}, + [I(215,72)] = {31,0x7FFFF963}, + [I(216,72)] = {28,0xFFFF263}, + [I(217,72)] = {28,0xFFFF2E3}, + [I(218,72)] = {64,0}, + [I(219,72)] = {64,0}, + [I(220,72)] = {64,0}, + [I(221,72)] = {64,0}, + [I(222,72)] = {64,0}, + [I(223,72)] = {64,0}, + [I(224,72)] = {27,0x7FFF663}, + [I(225,72)] = {31,0x7FFFF9E3}, + [I(226,72)] = {27,0x7FFF6E3}, + [I(227,72)] = {28,0xFFFF363}, + [I(228,72)] = {29,0x1FFFF4E3}, + [I(229,72)] = {28,0xFFFF3E3}, + [I(230,72)] = {28,0xFFFF463}, + [I(231,72)] = {30,0x3FFFF9E3}, + [I(232,72)] = {29,0x1FFFF563}, + [I(233,72)] = {29,0x1FFFF5E3}, + [I(234,72)] = {X32,0xFFFFF763}, + [I(235,72)] = {X32,0xFFFFF7E3}, + [I(236,72)] = {31,0x7FFFFA63}, + [I(237,72)] = {31,0x7FFFFAE3}, + [I(238,72)] = {64,0}, + [I(239,72)] = {30,0x3FFFFA63}, + [I(240,72)] = {64,0}, + [I(241,72)] = {64,0}, + [I(242,72)] = {64,0}, + [I(243,72)] = {64,0}, + [I(244,72)] = {64,0}, + [I(245,72)] = {64,0}, + [I(246,72)] = {64,0}, + [I(247,72)] = {64,0}, + [I(248,72)] = {64,0}, + [I(249,72)] = {64,0}, + [I(250,72)] = {64,0}, + [I(251,72)] = {64,0}, + [I(252,72)] = {64,0}, + [I(253,72)] = {64,0}, + [I(254,72)] = {64,0}, + [I(255,72)] = {64,0}, + [I(0,73)] = {20,0xFFC64}, + [I(1,73)] = {30,0x3FFFEC64}, + [I(2,73)] = {64,0}, + [I(3,73)] = {64,0}, + [I(4,73)] = {64,0}, + [I(5,73)] = {64,0}, + [I(6,73)] = {64,0}, + [I(7,73)] = {64,0}, + [I(8,73)] = {64,0}, + [I(9,73)] = {31,0x7FFFF564}, + [I(10,73)] = {64,0}, + [I(11,73)] = {64,0}, + [I(12,73)] = {64,0}, + [I(13,73)] = {64,0}, + [I(14,73)] = {64,0}, + [I(15,73)] = {64,0}, + [I(16,73)] = {64,0}, + [I(17,73)] = {64,0}, + [I(18,73)] = {64,0}, + [I(19,73)] = {64,0}, + [I(20,73)] = {64,0}, + [I(21,73)] = {64,0}, + [I(22,73)] = {64,0}, + [I(23,73)] = {64,0}, + [I(24,73)] = {64,0}, + [I(25,73)] = {64,0}, + [I(26,73)] = {64,0}, + [I(27,73)] = {64,0}, + [I(28,73)] = {64,0}, + [I(29,73)] = {64,0}, + [I(30,73)] = {64,0}, + [I(31,73)] = {64,0}, + [I(32,73)] = {13,0xA64}, + [I(33,73)] = {17,0x1FC64}, + [I(34,73)] = {17,0x1FCE4}, + [I(35,73)] = {19,0x7FD64}, + [I(36,73)] = {20,0xFFCE4}, + [I(37,73)] = {13,0xAE4}, + [I(38,73)] = {15,0x7C64}, + [I(39,73)] = {18,0x3FD64}, + [I(40,73)] = {17,0x1FD64}, + [I(41,73)] = {17,0x1FDE4}, + [I(42,73)] = {15,0x7CE4}, + [I(43,73)] = {18,0x3FDE4}, + [I(44,73)] = {15,0x7D64}, + [I(45,73)] = {13,0xB64}, + [I(46,73)] = {13,0xBE4}, + [I(47,73)] = {13,0xC64}, + [I(48,73)] = {12,0x64}, + [I(49,73)] = {12,0xE4}, + [I(50,73)] = {12,0x164}, + [I(51,73)] = {13,0xCE4}, + [I(52,73)] = {13,0xD64}, + [I(53,73)] = {13,0xDE4}, + [I(54,73)] = {13,0xE64}, + [I(55,73)] = {13,0xEE4}, + [I(56,73)] = {13,0xF64}, + [I(57,73)] = {13,0xFE4}, + [I(58,73)] = {14,0x2E64}, + [I(59,73)] = {15,0x7DE4}, + [I(60,73)] = {22,0x3FFE64}, + [I(61,73)] = {13,0x1064}, + [I(62,73)] = {19,0x7FDE4}, + [I(63,73)] = {17,0x1FE64}, + [I(64,73)] = {20,0xFFD64}, + [I(65,73)] = {13,0x10E4}, + [I(66,73)] = {14,0x2EE4}, + [I(67,73)] = {14,0x2F64}, + [I(68,73)] = {14,0x2FE4}, + [I(69,73)] = {14,0x3064}, + [I(70,73)] = {14,0x30E4}, + [I(71,73)] = {14,0x3164}, + [I(72,73)] = {14,0x31E4}, + [I(73,73)] = {14,0x3264}, + [I(74,73)] = {14,0x32E4}, + [I(75,73)] = {14,0x3364}, + [I(76,73)] = {14,0x33E4}, + [I(77,73)] = {14,0x3464}, + [I(78,73)] = {14,0x34E4}, + [I(79,73)] = {14,0x3564}, + [I(80,73)] = {14,0x35E4}, + [I(81,73)] = {14,0x3664}, + [I(82,73)] = {14,0x36E4}, + [I(83,73)] = {14,0x3764}, + [I(84,73)] = {14,0x37E4}, + [I(85,73)] = {14,0x3864}, + [I(86,73)] = {14,0x38E4}, + [I(87,73)] = {14,0x3964}, + [I(88,73)] = {15,0x7E64}, + [I(89,73)] = {14,0x39E4}, + [I(90,73)] = {15,0x7EE4}, + [I(91,73)] = {20,0xFFDE4}, + [I(92,73)] = {26,0x3FFF864}, + [I(93,73)] = {20,0xFFE64}, + [I(94,73)] = {21,0x1FFE64}, + [I(95,73)] = {13,0x1164}, + [I(96,73)] = {22,0x3FFEE4}, + [I(97,73)] = {12,0x1E4}, + [I(98,73)] = {13,0x11E4}, + [I(99,73)] = {12,0x264}, + [I(100,73)] = {13,0x1264}, + [I(101,73)] = {12,0x2E4}, + [I(102,73)] = {13,0x12E4}, + [I(103,73)] = {13,0x1364}, + [I(104,73)] = {13,0x13E4}, + [I(105,73)] = {12,0x364}, + [I(106,73)] = {14,0x3A64}, + [I(107,73)] = {14,0x3AE4}, + [I(108,73)] = {13,0x1464}, + [I(109,73)] = {13,0x14E4}, + [I(110,73)] = {13,0x1564}, + [I(111,73)] = {12,0x3E4}, + [I(112,73)] = {13,0x15E4}, + [I(113,73)] = {14,0x3B64}, + [I(114,73)] = {13,0x1664}, + [I(115,73)] = {12,0x464}, + [I(116,73)] = {12,0x4E4}, + [I(117,73)] = {13,0x16E4}, + [I(118,73)] = {14,0x3BE4}, + [I(119,73)] = {14,0x3C64}, + [I(120,73)] = {14,0x3CE4}, + [I(121,73)] = {14,0x3D64}, + [I(122,73)] = {14,0x3DE4}, + [I(123,73)] = {22,0x3FFF64}, + [I(124,73)] = {18,0x3FE64}, + [I(125,73)] = {21,0x1FFEE4}, + [I(126,73)] = {20,0xFFEE4}, + [I(127,73)] = {64,0}, + [I(128,73)] = {27,0x7FFF364}, + [I(129,73)] = {29,0x1FFFE964}, + [I(130,73)] = {27,0x7FFF3E4}, + [I(131,73)] = {27,0x7FFF464}, + [I(132,73)] = {29,0x1FFFE9E4}, + [I(133,73)] = {29,0x1FFFEA64}, + [I(134,73)] = {29,0x1FFFEAE4}, + [I(135,73)] = {30,0x3FFFECE4}, + [I(136,73)] = {29,0x1FFFEB64}, + [I(137,73)] = {30,0x3FFFED64}, + [I(138,73)] = {30,0x3FFFEDE4}, + [I(139,73)] = {30,0x3FFFEE64}, + [I(140,73)] = {30,0x3FFFEEE4}, + [I(141,73)] = {30,0x3FFFEF64}, + [I(142,73)] = {31,0x7FFFF5E4}, + [I(143,73)] = {30,0x3FFFEFE4}, + [I(144,73)] = {31,0x7FFFF664}, + [I(145,73)] = {31,0x7FFFF6E4}, + [I(146,73)] = {29,0x1FFFEBE4}, + [I(147,73)] = {30,0x3FFFF064}, + [I(148,73)] = {31,0x7FFFF764}, + [I(149,73)] = {30,0x3FFFF0E4}, + [I(150,73)] = {30,0x3FFFF164}, + [I(151,73)] = {30,0x3FFFF1E4}, + [I(152,73)] = {30,0x3FFFF264}, + [I(153,73)] = {28,0xFFFEE64}, + [I(154,73)] = {29,0x1FFFEC64}, + [I(155,73)] = {30,0x3FFFF2E4}, + [I(156,73)] = {29,0x1FFFECE4}, + [I(157,73)] = {30,0x3FFFF364}, + [I(158,73)] = {30,0x3FFFF3E4}, + [I(159,73)] = {31,0x7FFFF7E4}, + [I(160,73)] = {29,0x1FFFED64}, + [I(161,73)] = {28,0xFFFEEE4}, + [I(162,73)] = {27,0x7FFF4E4}, + [I(163,73)] = {29,0x1FFFEDE4}, + [I(164,73)] = {29,0x1FFFEE64}, + [I(165,73)] = {30,0x3FFFF464}, + [I(166,73)] = {30,0x3FFFF4E4}, + [I(167,73)] = {28,0xFFFEF64}, + [I(168,73)] = {30,0x3FFFF564}, + [I(169,73)] = {29,0x1FFFEEE4}, + [I(170,73)] = {29,0x1FFFEF64}, + [I(171,73)] = {31,0x7FFFF864}, + [I(172,73)] = {28,0xFFFEFE4}, + [I(173,73)] = {29,0x1FFFEFE4}, + [I(174,73)] = {30,0x3FFFF5E4}, + [I(175,73)] = {30,0x3FFFF664}, + [I(176,73)] = {28,0xFFFF064}, + [I(177,73)] = {28,0xFFFF0E4}, + [I(178,73)] = {29,0x1FFFF064}, + [I(179,73)] = {28,0xFFFF164}, + [I(180,73)] = {30,0x3FFFF6E4}, + [I(181,73)] = {29,0x1FFFF0E4}, + [I(182,73)] = {30,0x3FFFF764}, + [I(183,73)] = {30,0x3FFFF7E4}, + [I(184,73)] = {27,0x7FFF564}, + [I(185,73)] = {29,0x1FFFF164}, + [I(186,73)] = {29,0x1FFFF1E4}, + [I(187,73)] = {29,0x1FFFF264}, + [I(188,73)] = {30,0x3FFFF864}, + [I(189,73)] = {29,0x1FFFF2E4}, + [I(190,73)] = {29,0x1FFFF364}, + [I(191,73)] = {30,0x3FFFF8E4}, + [I(192,73)] = {64,0}, + [I(193,73)] = {64,0}, + [I(194,73)] = {27,0x7FFF5E4}, + [I(195,73)] = {26,0x3FFF8E4}, + [I(196,73)] = {29,0x1FFFF3E4}, + [I(197,73)] = {30,0x3FFFF964}, + [I(198,73)] = {29,0x1FFFF464}, + [I(199,73)] = {X32,0xFFFFF664}, + [I(200,73)] = {64,0}, + [I(201,73)] = {64,0}, + [I(202,73)] = {64,0}, + [I(203,73)] = {64,0}, + [I(204,73)] = {64,0}, + [I(205,73)] = {64,0}, + [I(206,73)] = {31,0x7FFFF8E4}, + [I(207,73)] = {X32,0xFFFFF6E4}, + [I(208,73)] = {26,0x3FFF964}, + [I(209,73)] = {28,0xFFFF1E4}, + [I(210,73)] = {64,0}, + [I(211,73)] = {64,0}, + [I(212,73)] = {64,0}, + [I(213,73)] = {64,0}, + [I(214,73)] = {64,0}, + [I(215,73)] = {31,0x7FFFF964}, + [I(216,73)] = {28,0xFFFF264}, + [I(217,73)] = {28,0xFFFF2E4}, + [I(218,73)] = {64,0}, + [I(219,73)] = {64,0}, + [I(220,73)] = {64,0}, + [I(221,73)] = {64,0}, + [I(222,73)] = {64,0}, + [I(223,73)] = {64,0}, + [I(224,73)] = {27,0x7FFF664}, + [I(225,73)] = {31,0x7FFFF9E4}, + [I(226,73)] = {27,0x7FFF6E4}, + [I(227,73)] = {28,0xFFFF364}, + [I(228,73)] = {29,0x1FFFF4E4}, + [I(229,73)] = {28,0xFFFF3E4}, + [I(230,73)] = {28,0xFFFF464}, + [I(231,73)] = {30,0x3FFFF9E4}, + [I(232,73)] = {29,0x1FFFF564}, + [I(233,73)] = {29,0x1FFFF5E4}, + [I(234,73)] = {X32,0xFFFFF764}, + [I(235,73)] = {X32,0xFFFFF7E4}, + [I(236,73)] = {31,0x7FFFFA64}, + [I(237,73)] = {31,0x7FFFFAE4}, + [I(238,73)] = {64,0}, + [I(239,73)] = {30,0x3FFFFA64}, + [I(240,73)] = {64,0}, + [I(241,73)] = {64,0}, + [I(242,73)] = {64,0}, + [I(243,73)] = {64,0}, + [I(244,73)] = {64,0}, + [I(245,73)] = {64,0}, + [I(246,73)] = {64,0}, + [I(247,73)] = {64,0}, + [I(248,73)] = {64,0}, + [I(249,73)] = {64,0}, + [I(250,73)] = {64,0}, + [I(251,73)] = {64,0}, + [I(252,73)] = {64,0}, + [I(253,73)] = {64,0}, + [I(254,73)] = {64,0}, + [I(255,73)] = {64,0}, + [I(0,74)] = {20,0xFFC65}, + [I(1,74)] = {30,0x3FFFEC65}, + [I(2,74)] = {64,0}, + [I(3,74)] = {64,0}, + [I(4,74)] = {64,0}, + [I(5,74)] = {64,0}, + [I(6,74)] = {64,0}, + [I(7,74)] = {64,0}, + [I(8,74)] = {64,0}, + [I(9,74)] = {31,0x7FFFF565}, + [I(10,74)] = {64,0}, + [I(11,74)] = {64,0}, + [I(12,74)] = {64,0}, + [I(13,74)] = {64,0}, + [I(14,74)] = {64,0}, + [I(15,74)] = {64,0}, + [I(16,74)] = {64,0}, + [I(17,74)] = {64,0}, + [I(18,74)] = {64,0}, + [I(19,74)] = {64,0}, + [I(20,74)] = {64,0}, + [I(21,74)] = {64,0}, + [I(22,74)] = {64,0}, + [I(23,74)] = {64,0}, + [I(24,74)] = {64,0}, + [I(25,74)] = {64,0}, + [I(26,74)] = {64,0}, + [I(27,74)] = {64,0}, + [I(28,74)] = {64,0}, + [I(29,74)] = {64,0}, + [I(30,74)] = {64,0}, + [I(31,74)] = {64,0}, + [I(32,74)] = {13,0xA65}, + [I(33,74)] = {17,0x1FC65}, + [I(34,74)] = {17,0x1FCE5}, + [I(35,74)] = {19,0x7FD65}, + [I(36,74)] = {20,0xFFCE5}, + [I(37,74)] = {13,0xAE5}, + [I(38,74)] = {15,0x7C65}, + [I(39,74)] = {18,0x3FD65}, + [I(40,74)] = {17,0x1FD65}, + [I(41,74)] = {17,0x1FDE5}, + [I(42,74)] = {15,0x7CE5}, + [I(43,74)] = {18,0x3FDE5}, + [I(44,74)] = {15,0x7D65}, + [I(45,74)] = {13,0xB65}, + [I(46,74)] = {13,0xBE5}, + [I(47,74)] = {13,0xC65}, + [I(48,74)] = {12,0x65}, + [I(49,74)] = {12,0xE5}, + [I(50,74)] = {12,0x165}, + [I(51,74)] = {13,0xCE5}, + [I(52,74)] = {13,0xD65}, + [I(53,74)] = {13,0xDE5}, + [I(54,74)] = {13,0xE65}, + [I(55,74)] = {13,0xEE5}, + [I(56,74)] = {13,0xF65}, + [I(57,74)] = {13,0xFE5}, + [I(58,74)] = {14,0x2E65}, + [I(59,74)] = {15,0x7DE5}, + [I(60,74)] = {22,0x3FFE65}, + [I(61,74)] = {13,0x1065}, + [I(62,74)] = {19,0x7FDE5}, + [I(63,74)] = {17,0x1FE65}, + [I(64,74)] = {20,0xFFD65}, + [I(65,74)] = {13,0x10E5}, + [I(66,74)] = {14,0x2EE5}, + [I(67,74)] = {14,0x2F65}, + [I(68,74)] = {14,0x2FE5}, + [I(69,74)] = {14,0x3065}, + [I(70,74)] = {14,0x30E5}, + [I(71,74)] = {14,0x3165}, + [I(72,74)] = {14,0x31E5}, + [I(73,74)] = {14,0x3265}, + [I(74,74)] = {14,0x32E5}, + [I(75,74)] = {14,0x3365}, + [I(76,74)] = {14,0x33E5}, + [I(77,74)] = {14,0x3465}, + [I(78,74)] = {14,0x34E5}, + [I(79,74)] = {14,0x3565}, + [I(80,74)] = {14,0x35E5}, + [I(81,74)] = {14,0x3665}, + [I(82,74)] = {14,0x36E5}, + [I(83,74)] = {14,0x3765}, + [I(84,74)] = {14,0x37E5}, + [I(85,74)] = {14,0x3865}, + [I(86,74)] = {14,0x38E5}, + [I(87,74)] = {14,0x3965}, + [I(88,74)] = {15,0x7E65}, + [I(89,74)] = {14,0x39E5}, + [I(90,74)] = {15,0x7EE5}, + [I(91,74)] = {20,0xFFDE5}, + [I(92,74)] = {26,0x3FFF865}, + [I(93,74)] = {20,0xFFE65}, + [I(94,74)] = {21,0x1FFE65}, + [I(95,74)] = {13,0x1165}, + [I(96,74)] = {22,0x3FFEE5}, + [I(97,74)] = {12,0x1E5}, + [I(98,74)] = {13,0x11E5}, + [I(99,74)] = {12,0x265}, + [I(100,74)] = {13,0x1265}, + [I(101,74)] = {12,0x2E5}, + [I(102,74)] = {13,0x12E5}, + [I(103,74)] = {13,0x1365}, + [I(104,74)] = {13,0x13E5}, + [I(105,74)] = {12,0x365}, + [I(106,74)] = {14,0x3A65}, + [I(107,74)] = {14,0x3AE5}, + [I(108,74)] = {13,0x1465}, + [I(109,74)] = {13,0x14E5}, + [I(110,74)] = {13,0x1565}, + [I(111,74)] = {12,0x3E5}, + [I(112,74)] = {13,0x15E5}, + [I(113,74)] = {14,0x3B65}, + [I(114,74)] = {13,0x1665}, + [I(115,74)] = {12,0x465}, + [I(116,74)] = {12,0x4E5}, + [I(117,74)] = {13,0x16E5}, + [I(118,74)] = {14,0x3BE5}, + [I(119,74)] = {14,0x3C65}, + [I(120,74)] = {14,0x3CE5}, + [I(121,74)] = {14,0x3D65}, + [I(122,74)] = {14,0x3DE5}, + [I(123,74)] = {22,0x3FFF65}, + [I(124,74)] = {18,0x3FE65}, + [I(125,74)] = {21,0x1FFEE5}, + [I(126,74)] = {20,0xFFEE5}, + [I(127,74)] = {64,0}, + [I(128,74)] = {27,0x7FFF365}, + [I(129,74)] = {29,0x1FFFE965}, + [I(130,74)] = {27,0x7FFF3E5}, + [I(131,74)] = {27,0x7FFF465}, + [I(132,74)] = {29,0x1FFFE9E5}, + [I(133,74)] = {29,0x1FFFEA65}, + [I(134,74)] = {29,0x1FFFEAE5}, + [I(135,74)] = {30,0x3FFFECE5}, + [I(136,74)] = {29,0x1FFFEB65}, + [I(137,74)] = {30,0x3FFFED65}, + [I(138,74)] = {30,0x3FFFEDE5}, + [I(139,74)] = {30,0x3FFFEE65}, + [I(140,74)] = {30,0x3FFFEEE5}, + [I(141,74)] = {30,0x3FFFEF65}, + [I(142,74)] = {31,0x7FFFF5E5}, + [I(143,74)] = {30,0x3FFFEFE5}, + [I(144,74)] = {31,0x7FFFF665}, + [I(145,74)] = {31,0x7FFFF6E5}, + [I(146,74)] = {29,0x1FFFEBE5}, + [I(147,74)] = {30,0x3FFFF065}, + [I(148,74)] = {31,0x7FFFF765}, + [I(149,74)] = {30,0x3FFFF0E5}, + [I(150,74)] = {30,0x3FFFF165}, + [I(151,74)] = {30,0x3FFFF1E5}, + [I(152,74)] = {30,0x3FFFF265}, + [I(153,74)] = {28,0xFFFEE65}, + [I(154,74)] = {29,0x1FFFEC65}, + [I(155,74)] = {30,0x3FFFF2E5}, + [I(156,74)] = {29,0x1FFFECE5}, + [I(157,74)] = {30,0x3FFFF365}, + [I(158,74)] = {30,0x3FFFF3E5}, + [I(159,74)] = {31,0x7FFFF7E5}, + [I(160,74)] = {29,0x1FFFED65}, + [I(161,74)] = {28,0xFFFEEE5}, + [I(162,74)] = {27,0x7FFF4E5}, + [I(163,74)] = {29,0x1FFFEDE5}, + [I(164,74)] = {29,0x1FFFEE65}, + [I(165,74)] = {30,0x3FFFF465}, + [I(166,74)] = {30,0x3FFFF4E5}, + [I(167,74)] = {28,0xFFFEF65}, + [I(168,74)] = {30,0x3FFFF565}, + [I(169,74)] = {29,0x1FFFEEE5}, + [I(170,74)] = {29,0x1FFFEF65}, + [I(171,74)] = {31,0x7FFFF865}, + [I(172,74)] = {28,0xFFFEFE5}, + [I(173,74)] = {29,0x1FFFEFE5}, + [I(174,74)] = {30,0x3FFFF5E5}, + [I(175,74)] = {30,0x3FFFF665}, + [I(176,74)] = {28,0xFFFF065}, + [I(177,74)] = {28,0xFFFF0E5}, + [I(178,74)] = {29,0x1FFFF065}, + [I(179,74)] = {28,0xFFFF165}, + [I(180,74)] = {30,0x3FFFF6E5}, + [I(181,74)] = {29,0x1FFFF0E5}, + [I(182,74)] = {30,0x3FFFF765}, + [I(183,74)] = {30,0x3FFFF7E5}, + [I(184,74)] = {27,0x7FFF565}, + [I(185,74)] = {29,0x1FFFF165}, + [I(186,74)] = {29,0x1FFFF1E5}, + [I(187,74)] = {29,0x1FFFF265}, + [I(188,74)] = {30,0x3FFFF865}, + [I(189,74)] = {29,0x1FFFF2E5}, + [I(190,74)] = {29,0x1FFFF365}, + [I(191,74)] = {30,0x3FFFF8E5}, + [I(192,74)] = {64,0}, + [I(193,74)] = {64,0}, + [I(194,74)] = {27,0x7FFF5E5}, + [I(195,74)] = {26,0x3FFF8E5}, + [I(196,74)] = {29,0x1FFFF3E5}, + [I(197,74)] = {30,0x3FFFF965}, + [I(198,74)] = {29,0x1FFFF465}, + [I(199,74)] = {X32,0xFFFFF665}, + [I(200,74)] = {64,0}, + [I(201,74)] = {64,0}, + [I(202,74)] = {64,0}, + [I(203,74)] = {64,0}, + [I(204,74)] = {64,0}, + [I(205,74)] = {64,0}, + [I(206,74)] = {31,0x7FFFF8E5}, + [I(207,74)] = {X32,0xFFFFF6E5}, + [I(208,74)] = {26,0x3FFF965}, + [I(209,74)] = {28,0xFFFF1E5}, + [I(210,74)] = {64,0}, + [I(211,74)] = {64,0}, + [I(212,74)] = {64,0}, + [I(213,74)] = {64,0}, + [I(214,74)] = {64,0}, + [I(215,74)] = {31,0x7FFFF965}, + [I(216,74)] = {28,0xFFFF265}, + [I(217,74)] = {28,0xFFFF2E5}, + [I(218,74)] = {64,0}, + [I(219,74)] = {64,0}, + [I(220,74)] = {64,0}, + [I(221,74)] = {64,0}, + [I(222,74)] = {64,0}, + [I(223,74)] = {64,0}, + [I(224,74)] = {27,0x7FFF665}, + [I(225,74)] = {31,0x7FFFF9E5}, + [I(226,74)] = {27,0x7FFF6E5}, + [I(227,74)] = {28,0xFFFF365}, + [I(228,74)] = {29,0x1FFFF4E5}, + [I(229,74)] = {28,0xFFFF3E5}, + [I(230,74)] = {28,0xFFFF465}, + [I(231,74)] = {30,0x3FFFF9E5}, + [I(232,74)] = {29,0x1FFFF565}, + [I(233,74)] = {29,0x1FFFF5E5}, + [I(234,74)] = {X32,0xFFFFF765}, + [I(235,74)] = {X32,0xFFFFF7E5}, + [I(236,74)] = {31,0x7FFFFA65}, + [I(237,74)] = {31,0x7FFFFAE5}, + [I(238,74)] = {64,0}, + [I(239,74)] = {30,0x3FFFFA65}, + [I(240,74)] = {64,0}, + [I(241,74)] = {64,0}, + [I(242,74)] = {64,0}, + [I(243,74)] = {64,0}, + [I(244,74)] = {64,0}, + [I(245,74)] = {64,0}, + [I(246,74)] = {64,0}, + [I(247,74)] = {64,0}, + [I(248,74)] = {64,0}, + [I(249,74)] = {64,0}, + [I(250,74)] = {64,0}, + [I(251,74)] = {64,0}, + [I(252,74)] = {64,0}, + [I(253,74)] = {64,0}, + [I(254,74)] = {64,0}, + [I(255,74)] = {64,0}, + [I(0,75)] = {20,0xFFC66}, + [I(1,75)] = {30,0x3FFFEC66}, + [I(2,75)] = {64,0}, + [I(3,75)] = {64,0}, + [I(4,75)] = {64,0}, + [I(5,75)] = {64,0}, + [I(6,75)] = {64,0}, + [I(7,75)] = {64,0}, + [I(8,75)] = {64,0}, + [I(9,75)] = {31,0x7FFFF566}, + [I(10,75)] = {64,0}, + [I(11,75)] = {64,0}, + [I(12,75)] = {64,0}, + [I(13,75)] = {64,0}, + [I(14,75)] = {64,0}, + [I(15,75)] = {64,0}, + [I(16,75)] = {64,0}, + [I(17,75)] = {64,0}, + [I(18,75)] = {64,0}, + [I(19,75)] = {64,0}, + [I(20,75)] = {64,0}, + [I(21,75)] = {64,0}, + [I(22,75)] = {64,0}, + [I(23,75)] = {64,0}, + [I(24,75)] = {64,0}, + [I(25,75)] = {64,0}, + [I(26,75)] = {64,0}, + [I(27,75)] = {64,0}, + [I(28,75)] = {64,0}, + [I(29,75)] = {64,0}, + [I(30,75)] = {64,0}, + [I(31,75)] = {64,0}, + [I(32,75)] = {13,0xA66}, + [I(33,75)] = {17,0x1FC66}, + [I(34,75)] = {17,0x1FCE6}, + [I(35,75)] = {19,0x7FD66}, + [I(36,75)] = {20,0xFFCE6}, + [I(37,75)] = {13,0xAE6}, + [I(38,75)] = {15,0x7C66}, + [I(39,75)] = {18,0x3FD66}, + [I(40,75)] = {17,0x1FD66}, + [I(41,75)] = {17,0x1FDE6}, + [I(42,75)] = {15,0x7CE6}, + [I(43,75)] = {18,0x3FDE6}, + [I(44,75)] = {15,0x7D66}, + [I(45,75)] = {13,0xB66}, + [I(46,75)] = {13,0xBE6}, + [I(47,75)] = {13,0xC66}, + [I(48,75)] = {12,0x66}, + [I(49,75)] = {12,0xE6}, + [I(50,75)] = {12,0x166}, + [I(51,75)] = {13,0xCE6}, + [I(52,75)] = {13,0xD66}, + [I(53,75)] = {13,0xDE6}, + [I(54,75)] = {13,0xE66}, + [I(55,75)] = {13,0xEE6}, + [I(56,75)] = {13,0xF66}, + [I(57,75)] = {13,0xFE6}, + [I(58,75)] = {14,0x2E66}, + [I(59,75)] = {15,0x7DE6}, + [I(60,75)] = {22,0x3FFE66}, + [I(61,75)] = {13,0x1066}, + [I(62,75)] = {19,0x7FDE6}, + [I(63,75)] = {17,0x1FE66}, + [I(64,75)] = {20,0xFFD66}, + [I(65,75)] = {13,0x10E6}, + [I(66,75)] = {14,0x2EE6}, + [I(67,75)] = {14,0x2F66}, + [I(68,75)] = {14,0x2FE6}, + [I(69,75)] = {14,0x3066}, + [I(70,75)] = {14,0x30E6}, + [I(71,75)] = {14,0x3166}, + [I(72,75)] = {14,0x31E6}, + [I(73,75)] = {14,0x3266}, + [I(74,75)] = {14,0x32E6}, + [I(75,75)] = {14,0x3366}, + [I(76,75)] = {14,0x33E6}, + [I(77,75)] = {14,0x3466}, + [I(78,75)] = {14,0x34E6}, + [I(79,75)] = {14,0x3566}, + [I(80,75)] = {14,0x35E6}, + [I(81,75)] = {14,0x3666}, + [I(82,75)] = {14,0x36E6}, + [I(83,75)] = {14,0x3766}, + [I(84,75)] = {14,0x37E6}, + [I(85,75)] = {14,0x3866}, + [I(86,75)] = {14,0x38E6}, + [I(87,75)] = {14,0x3966}, + [I(88,75)] = {15,0x7E66}, + [I(89,75)] = {14,0x39E6}, + [I(90,75)] = {15,0x7EE6}, + [I(91,75)] = {20,0xFFDE6}, + [I(92,75)] = {26,0x3FFF866}, + [I(93,75)] = {20,0xFFE66}, + [I(94,75)] = {21,0x1FFE66}, + [I(95,75)] = {13,0x1166}, + [I(96,75)] = {22,0x3FFEE6}, + [I(97,75)] = {12,0x1E6}, + [I(98,75)] = {13,0x11E6}, + [I(99,75)] = {12,0x266}, + [I(100,75)] = {13,0x1266}, + [I(101,75)] = {12,0x2E6}, + [I(102,75)] = {13,0x12E6}, + [I(103,75)] = {13,0x1366}, + [I(104,75)] = {13,0x13E6}, + [I(105,75)] = {12,0x366}, + [I(106,75)] = {14,0x3A66}, + [I(107,75)] = {14,0x3AE6}, + [I(108,75)] = {13,0x1466}, + [I(109,75)] = {13,0x14E6}, + [I(110,75)] = {13,0x1566}, + [I(111,75)] = {12,0x3E6}, + [I(112,75)] = {13,0x15E6}, + [I(113,75)] = {14,0x3B66}, + [I(114,75)] = {13,0x1666}, + [I(115,75)] = {12,0x466}, + [I(116,75)] = {12,0x4E6}, + [I(117,75)] = {13,0x16E6}, + [I(118,75)] = {14,0x3BE6}, + [I(119,75)] = {14,0x3C66}, + [I(120,75)] = {14,0x3CE6}, + [I(121,75)] = {14,0x3D66}, + [I(122,75)] = {14,0x3DE6}, + [I(123,75)] = {22,0x3FFF66}, + [I(124,75)] = {18,0x3FE66}, + [I(125,75)] = {21,0x1FFEE6}, + [I(126,75)] = {20,0xFFEE6}, + [I(127,75)] = {64,0}, + [I(128,75)] = {27,0x7FFF366}, + [I(129,75)] = {29,0x1FFFE966}, + [I(130,75)] = {27,0x7FFF3E6}, + [I(131,75)] = {27,0x7FFF466}, + [I(132,75)] = {29,0x1FFFE9E6}, + [I(133,75)] = {29,0x1FFFEA66}, + [I(134,75)] = {29,0x1FFFEAE6}, + [I(135,75)] = {30,0x3FFFECE6}, + [I(136,75)] = {29,0x1FFFEB66}, + [I(137,75)] = {30,0x3FFFED66}, + [I(138,75)] = {30,0x3FFFEDE6}, + [I(139,75)] = {30,0x3FFFEE66}, + [I(140,75)] = {30,0x3FFFEEE6}, + [I(141,75)] = {30,0x3FFFEF66}, + [I(142,75)] = {31,0x7FFFF5E6}, + [I(143,75)] = {30,0x3FFFEFE6}, + [I(144,75)] = {31,0x7FFFF666}, + [I(145,75)] = {31,0x7FFFF6E6}, + [I(146,75)] = {29,0x1FFFEBE6}, + [I(147,75)] = {30,0x3FFFF066}, + [I(148,75)] = {31,0x7FFFF766}, + [I(149,75)] = {30,0x3FFFF0E6}, + [I(150,75)] = {30,0x3FFFF166}, + [I(151,75)] = {30,0x3FFFF1E6}, + [I(152,75)] = {30,0x3FFFF266}, + [I(153,75)] = {28,0xFFFEE66}, + [I(154,75)] = {29,0x1FFFEC66}, + [I(155,75)] = {30,0x3FFFF2E6}, + [I(156,75)] = {29,0x1FFFECE6}, + [I(157,75)] = {30,0x3FFFF366}, + [I(158,75)] = {30,0x3FFFF3E6}, + [I(159,75)] = {31,0x7FFFF7E6}, + [I(160,75)] = {29,0x1FFFED66}, + [I(161,75)] = {28,0xFFFEEE6}, + [I(162,75)] = {27,0x7FFF4E6}, + [I(163,75)] = {29,0x1FFFEDE6}, + [I(164,75)] = {29,0x1FFFEE66}, + [I(165,75)] = {30,0x3FFFF466}, + [I(166,75)] = {30,0x3FFFF4E6}, + [I(167,75)] = {28,0xFFFEF66}, + [I(168,75)] = {30,0x3FFFF566}, + [I(169,75)] = {29,0x1FFFEEE6}, + [I(170,75)] = {29,0x1FFFEF66}, + [I(171,75)] = {31,0x7FFFF866}, + [I(172,75)] = {28,0xFFFEFE6}, + [I(173,75)] = {29,0x1FFFEFE6}, + [I(174,75)] = {30,0x3FFFF5E6}, + [I(175,75)] = {30,0x3FFFF666}, + [I(176,75)] = {28,0xFFFF066}, + [I(177,75)] = {28,0xFFFF0E6}, + [I(178,75)] = {29,0x1FFFF066}, + [I(179,75)] = {28,0xFFFF166}, + [I(180,75)] = {30,0x3FFFF6E6}, + [I(181,75)] = {29,0x1FFFF0E6}, + [I(182,75)] = {30,0x3FFFF766}, + [I(183,75)] = {30,0x3FFFF7E6}, + [I(184,75)] = {27,0x7FFF566}, + [I(185,75)] = {29,0x1FFFF166}, + [I(186,75)] = {29,0x1FFFF1E6}, + [I(187,75)] = {29,0x1FFFF266}, + [I(188,75)] = {30,0x3FFFF866}, + [I(189,75)] = {29,0x1FFFF2E6}, + [I(190,75)] = {29,0x1FFFF366}, + [I(191,75)] = {30,0x3FFFF8E6}, + [I(192,75)] = {64,0}, + [I(193,75)] = {64,0}, + [I(194,75)] = {27,0x7FFF5E6}, + [I(195,75)] = {26,0x3FFF8E6}, + [I(196,75)] = {29,0x1FFFF3E6}, + [I(197,75)] = {30,0x3FFFF966}, + [I(198,75)] = {29,0x1FFFF466}, + [I(199,75)] = {X32,0xFFFFF666}, + [I(200,75)] = {64,0}, + [I(201,75)] = {64,0}, + [I(202,75)] = {64,0}, + [I(203,75)] = {64,0}, + [I(204,75)] = {64,0}, + [I(205,75)] = {64,0}, + [I(206,75)] = {31,0x7FFFF8E6}, + [I(207,75)] = {X32,0xFFFFF6E6}, + [I(208,75)] = {26,0x3FFF966}, + [I(209,75)] = {28,0xFFFF1E6}, + [I(210,75)] = {64,0}, + [I(211,75)] = {64,0}, + [I(212,75)] = {64,0}, + [I(213,75)] = {64,0}, + [I(214,75)] = {64,0}, + [I(215,75)] = {31,0x7FFFF966}, + [I(216,75)] = {28,0xFFFF266}, + [I(217,75)] = {28,0xFFFF2E6}, + [I(218,75)] = {64,0}, + [I(219,75)] = {64,0}, + [I(220,75)] = {64,0}, + [I(221,75)] = {64,0}, + [I(222,75)] = {64,0}, + [I(223,75)] = {64,0}, + [I(224,75)] = {27,0x7FFF666}, + [I(225,75)] = {31,0x7FFFF9E6}, + [I(226,75)] = {27,0x7FFF6E6}, + [I(227,75)] = {28,0xFFFF366}, + [I(228,75)] = {29,0x1FFFF4E6}, + [I(229,75)] = {28,0xFFFF3E6}, + [I(230,75)] = {28,0xFFFF466}, + [I(231,75)] = {30,0x3FFFF9E6}, + [I(232,75)] = {29,0x1FFFF566}, + [I(233,75)] = {29,0x1FFFF5E6}, + [I(234,75)] = {X32,0xFFFFF766}, + [I(235,75)] = {X32,0xFFFFF7E6}, + [I(236,75)] = {31,0x7FFFFA66}, + [I(237,75)] = {31,0x7FFFFAE6}, + [I(238,75)] = {64,0}, + [I(239,75)] = {30,0x3FFFFA66}, + [I(240,75)] = {64,0}, + [I(241,75)] = {64,0}, + [I(242,75)] = {64,0}, + [I(243,75)] = {64,0}, + [I(244,75)] = {64,0}, + [I(245,75)] = {64,0}, + [I(246,75)] = {64,0}, + [I(247,75)] = {64,0}, + [I(248,75)] = {64,0}, + [I(249,75)] = {64,0}, + [I(250,75)] = {64,0}, + [I(251,75)] = {64,0}, + [I(252,75)] = {64,0}, + [I(253,75)] = {64,0}, + [I(254,75)] = {64,0}, + [I(255,75)] = {64,0}, + [I(0,76)] = {20,0xFFC67}, + [I(1,76)] = {30,0x3FFFEC67}, + [I(2,76)] = {64,0}, + [I(3,76)] = {64,0}, + [I(4,76)] = {64,0}, + [I(5,76)] = {64,0}, + [I(6,76)] = {64,0}, + [I(7,76)] = {64,0}, + [I(8,76)] = {64,0}, + [I(9,76)] = {31,0x7FFFF567}, + [I(10,76)] = {64,0}, + [I(11,76)] = {64,0}, + [I(12,76)] = {64,0}, + [I(13,76)] = {64,0}, + [I(14,76)] = {64,0}, + [I(15,76)] = {64,0}, + [I(16,76)] = {64,0}, + [I(17,76)] = {64,0}, + [I(18,76)] = {64,0}, + [I(19,76)] = {64,0}, + [I(20,76)] = {64,0}, + [I(21,76)] = {64,0}, + [I(22,76)] = {64,0}, + [I(23,76)] = {64,0}, + [I(24,76)] = {64,0}, + [I(25,76)] = {64,0}, + [I(26,76)] = {64,0}, + [I(27,76)] = {64,0}, + [I(28,76)] = {64,0}, + [I(29,76)] = {64,0}, + [I(30,76)] = {64,0}, + [I(31,76)] = {64,0}, + [I(32,76)] = {13,0xA67}, + [I(33,76)] = {17,0x1FC67}, + [I(34,76)] = {17,0x1FCE7}, + [I(35,76)] = {19,0x7FD67}, + [I(36,76)] = {20,0xFFCE7}, + [I(37,76)] = {13,0xAE7}, + [I(38,76)] = {15,0x7C67}, + [I(39,76)] = {18,0x3FD67}, + [I(40,76)] = {17,0x1FD67}, + [I(41,76)] = {17,0x1FDE7}, + [I(42,76)] = {15,0x7CE7}, + [I(43,76)] = {18,0x3FDE7}, + [I(44,76)] = {15,0x7D67}, + [I(45,76)] = {13,0xB67}, + [I(46,76)] = {13,0xBE7}, + [I(47,76)] = {13,0xC67}, + [I(48,76)] = {12,0x67}, + [I(49,76)] = {12,0xE7}, + [I(50,76)] = {12,0x167}, + [I(51,76)] = {13,0xCE7}, + [I(52,76)] = {13,0xD67}, + [I(53,76)] = {13,0xDE7}, + [I(54,76)] = {13,0xE67}, + [I(55,76)] = {13,0xEE7}, + [I(56,76)] = {13,0xF67}, + [I(57,76)] = {13,0xFE7}, + [I(58,76)] = {14,0x2E67}, + [I(59,76)] = {15,0x7DE7}, + [I(60,76)] = {22,0x3FFE67}, + [I(61,76)] = {13,0x1067}, + [I(62,76)] = {19,0x7FDE7}, + [I(63,76)] = {17,0x1FE67}, + [I(64,76)] = {20,0xFFD67}, + [I(65,76)] = {13,0x10E7}, + [I(66,76)] = {14,0x2EE7}, + [I(67,76)] = {14,0x2F67}, + [I(68,76)] = {14,0x2FE7}, + [I(69,76)] = {14,0x3067}, + [I(70,76)] = {14,0x30E7}, + [I(71,76)] = {14,0x3167}, + [I(72,76)] = {14,0x31E7}, + [I(73,76)] = {14,0x3267}, + [I(74,76)] = {14,0x32E7}, + [I(75,76)] = {14,0x3367}, + [I(76,76)] = {14,0x33E7}, + [I(77,76)] = {14,0x3467}, + [I(78,76)] = {14,0x34E7}, + [I(79,76)] = {14,0x3567}, + [I(80,76)] = {14,0x35E7}, + [I(81,76)] = {14,0x3667}, + [I(82,76)] = {14,0x36E7}, + [I(83,76)] = {14,0x3767}, + [I(84,76)] = {14,0x37E7}, + [I(85,76)] = {14,0x3867}, + [I(86,76)] = {14,0x38E7}, + [I(87,76)] = {14,0x3967}, + [I(88,76)] = {15,0x7E67}, + [I(89,76)] = {14,0x39E7}, + [I(90,76)] = {15,0x7EE7}, + [I(91,76)] = {20,0xFFDE7}, + [I(92,76)] = {26,0x3FFF867}, + [I(93,76)] = {20,0xFFE67}, + [I(94,76)] = {21,0x1FFE67}, + [I(95,76)] = {13,0x1167}, + [I(96,76)] = {22,0x3FFEE7}, + [I(97,76)] = {12,0x1E7}, + [I(98,76)] = {13,0x11E7}, + [I(99,76)] = {12,0x267}, + [I(100,76)] = {13,0x1267}, + [I(101,76)] = {12,0x2E7}, + [I(102,76)] = {13,0x12E7}, + [I(103,76)] = {13,0x1367}, + [I(104,76)] = {13,0x13E7}, + [I(105,76)] = {12,0x367}, + [I(106,76)] = {14,0x3A67}, + [I(107,76)] = {14,0x3AE7}, + [I(108,76)] = {13,0x1467}, + [I(109,76)] = {13,0x14E7}, + [I(110,76)] = {13,0x1567}, + [I(111,76)] = {12,0x3E7}, + [I(112,76)] = {13,0x15E7}, + [I(113,76)] = {14,0x3B67}, + [I(114,76)] = {13,0x1667}, + [I(115,76)] = {12,0x467}, + [I(116,76)] = {12,0x4E7}, + [I(117,76)] = {13,0x16E7}, + [I(118,76)] = {14,0x3BE7}, + [I(119,76)] = {14,0x3C67}, + [I(120,76)] = {14,0x3CE7}, + [I(121,76)] = {14,0x3D67}, + [I(122,76)] = {14,0x3DE7}, + [I(123,76)] = {22,0x3FFF67}, + [I(124,76)] = {18,0x3FE67}, + [I(125,76)] = {21,0x1FFEE7}, + [I(126,76)] = {20,0xFFEE7}, + [I(127,76)] = {64,0}, + [I(128,76)] = {27,0x7FFF367}, + [I(129,76)] = {29,0x1FFFE967}, + [I(130,76)] = {27,0x7FFF3E7}, + [I(131,76)] = {27,0x7FFF467}, + [I(132,76)] = {29,0x1FFFE9E7}, + [I(133,76)] = {29,0x1FFFEA67}, + [I(134,76)] = {29,0x1FFFEAE7}, + [I(135,76)] = {30,0x3FFFECE7}, + [I(136,76)] = {29,0x1FFFEB67}, + [I(137,76)] = {30,0x3FFFED67}, + [I(138,76)] = {30,0x3FFFEDE7}, + [I(139,76)] = {30,0x3FFFEE67}, + [I(140,76)] = {30,0x3FFFEEE7}, + [I(141,76)] = {30,0x3FFFEF67}, + [I(142,76)] = {31,0x7FFFF5E7}, + [I(143,76)] = {30,0x3FFFEFE7}, + [I(144,76)] = {31,0x7FFFF667}, + [I(145,76)] = {31,0x7FFFF6E7}, + [I(146,76)] = {29,0x1FFFEBE7}, + [I(147,76)] = {30,0x3FFFF067}, + [I(148,76)] = {31,0x7FFFF767}, + [I(149,76)] = {30,0x3FFFF0E7}, + [I(150,76)] = {30,0x3FFFF167}, + [I(151,76)] = {30,0x3FFFF1E7}, + [I(152,76)] = {30,0x3FFFF267}, + [I(153,76)] = {28,0xFFFEE67}, + [I(154,76)] = {29,0x1FFFEC67}, + [I(155,76)] = {30,0x3FFFF2E7}, + [I(156,76)] = {29,0x1FFFECE7}, + [I(157,76)] = {30,0x3FFFF367}, + [I(158,76)] = {30,0x3FFFF3E7}, + [I(159,76)] = {31,0x7FFFF7E7}, + [I(160,76)] = {29,0x1FFFED67}, + [I(161,76)] = {28,0xFFFEEE7}, + [I(162,76)] = {27,0x7FFF4E7}, + [I(163,76)] = {29,0x1FFFEDE7}, + [I(164,76)] = {29,0x1FFFEE67}, + [I(165,76)] = {30,0x3FFFF467}, + [I(166,76)] = {30,0x3FFFF4E7}, + [I(167,76)] = {28,0xFFFEF67}, + [I(168,76)] = {30,0x3FFFF567}, + [I(169,76)] = {29,0x1FFFEEE7}, + [I(170,76)] = {29,0x1FFFEF67}, + [I(171,76)] = {31,0x7FFFF867}, + [I(172,76)] = {28,0xFFFEFE7}, + [I(173,76)] = {29,0x1FFFEFE7}, + [I(174,76)] = {30,0x3FFFF5E7}, + [I(175,76)] = {30,0x3FFFF667}, + [I(176,76)] = {28,0xFFFF067}, + [I(177,76)] = {28,0xFFFF0E7}, + [I(178,76)] = {29,0x1FFFF067}, + [I(179,76)] = {28,0xFFFF167}, + [I(180,76)] = {30,0x3FFFF6E7}, + [I(181,76)] = {29,0x1FFFF0E7}, + [I(182,76)] = {30,0x3FFFF767}, + [I(183,76)] = {30,0x3FFFF7E7}, + [I(184,76)] = {27,0x7FFF567}, + [I(185,76)] = {29,0x1FFFF167}, + [I(186,76)] = {29,0x1FFFF1E7}, + [I(187,76)] = {29,0x1FFFF267}, + [I(188,76)] = {30,0x3FFFF867}, + [I(189,76)] = {29,0x1FFFF2E7}, + [I(190,76)] = {29,0x1FFFF367}, + [I(191,76)] = {30,0x3FFFF8E7}, + [I(192,76)] = {64,0}, + [I(193,76)] = {64,0}, + [I(194,76)] = {27,0x7FFF5E7}, + [I(195,76)] = {26,0x3FFF8E7}, + [I(196,76)] = {29,0x1FFFF3E7}, + [I(197,76)] = {30,0x3FFFF967}, + [I(198,76)] = {29,0x1FFFF467}, + [I(199,76)] = {X32,0xFFFFF667}, + [I(200,76)] = {64,0}, + [I(201,76)] = {64,0}, + [I(202,76)] = {64,0}, + [I(203,76)] = {64,0}, + [I(204,76)] = {64,0}, + [I(205,76)] = {64,0}, + [I(206,76)] = {31,0x7FFFF8E7}, + [I(207,76)] = {X32,0xFFFFF6E7}, + [I(208,76)] = {26,0x3FFF967}, + [I(209,76)] = {28,0xFFFF1E7}, + [I(210,76)] = {64,0}, + [I(211,76)] = {64,0}, + [I(212,76)] = {64,0}, + [I(213,76)] = {64,0}, + [I(214,76)] = {64,0}, + [I(215,76)] = {31,0x7FFFF967}, + [I(216,76)] = {28,0xFFFF267}, + [I(217,76)] = {28,0xFFFF2E7}, + [I(218,76)] = {64,0}, + [I(219,76)] = {64,0}, + [I(220,76)] = {64,0}, + [I(221,76)] = {64,0}, + [I(222,76)] = {64,0}, + [I(223,76)] = {64,0}, + [I(224,76)] = {27,0x7FFF667}, + [I(225,76)] = {31,0x7FFFF9E7}, + [I(226,76)] = {27,0x7FFF6E7}, + [I(227,76)] = {28,0xFFFF367}, + [I(228,76)] = {29,0x1FFFF4E7}, + [I(229,76)] = {28,0xFFFF3E7}, + [I(230,76)] = {28,0xFFFF467}, + [I(231,76)] = {30,0x3FFFF9E7}, + [I(232,76)] = {29,0x1FFFF567}, + [I(233,76)] = {29,0x1FFFF5E7}, + [I(234,76)] = {X32,0xFFFFF767}, + [I(235,76)] = {X32,0xFFFFF7E7}, + [I(236,76)] = {31,0x7FFFFA67}, + [I(237,76)] = {31,0x7FFFFAE7}, + [I(238,76)] = {64,0}, + [I(239,76)] = {30,0x3FFFFA67}, + [I(240,76)] = {64,0}, + [I(241,76)] = {64,0}, + [I(242,76)] = {64,0}, + [I(243,76)] = {64,0}, + [I(244,76)] = {64,0}, + [I(245,76)] = {64,0}, + [I(246,76)] = {64,0}, + [I(247,76)] = {64,0}, + [I(248,76)] = {64,0}, + [I(249,76)] = {64,0}, + [I(250,76)] = {64,0}, + [I(251,76)] = {64,0}, + [I(252,76)] = {64,0}, + [I(253,76)] = {64,0}, + [I(254,76)] = {64,0}, + [I(255,76)] = {64,0}, + [I(0,77)] = {20,0xFFC68}, + [I(1,77)] = {30,0x3FFFEC68}, + [I(2,77)] = {64,0}, + [I(3,77)] = {64,0}, + [I(4,77)] = {64,0}, + [I(5,77)] = {64,0}, + [I(6,77)] = {64,0}, + [I(7,77)] = {64,0}, + [I(8,77)] = {64,0}, + [I(9,77)] = {31,0x7FFFF568}, + [I(10,77)] = {64,0}, + [I(11,77)] = {64,0}, + [I(12,77)] = {64,0}, + [I(13,77)] = {64,0}, + [I(14,77)] = {64,0}, + [I(15,77)] = {64,0}, + [I(16,77)] = {64,0}, + [I(17,77)] = {64,0}, + [I(18,77)] = {64,0}, + [I(19,77)] = {64,0}, + [I(20,77)] = {64,0}, + [I(21,77)] = {64,0}, + [I(22,77)] = {64,0}, + [I(23,77)] = {64,0}, + [I(24,77)] = {64,0}, + [I(25,77)] = {64,0}, + [I(26,77)] = {64,0}, + [I(27,77)] = {64,0}, + [I(28,77)] = {64,0}, + [I(29,77)] = {64,0}, + [I(30,77)] = {64,0}, + [I(31,77)] = {64,0}, + [I(32,77)] = {13,0xA68}, + [I(33,77)] = {17,0x1FC68}, + [I(34,77)] = {17,0x1FCE8}, + [I(35,77)] = {19,0x7FD68}, + [I(36,77)] = {20,0xFFCE8}, + [I(37,77)] = {13,0xAE8}, + [I(38,77)] = {15,0x7C68}, + [I(39,77)] = {18,0x3FD68}, + [I(40,77)] = {17,0x1FD68}, + [I(41,77)] = {17,0x1FDE8}, + [I(42,77)] = {15,0x7CE8}, + [I(43,77)] = {18,0x3FDE8}, + [I(44,77)] = {15,0x7D68}, + [I(45,77)] = {13,0xB68}, + [I(46,77)] = {13,0xBE8}, + [I(47,77)] = {13,0xC68}, + [I(48,77)] = {12,0x68}, + [I(49,77)] = {12,0xE8}, + [I(50,77)] = {12,0x168}, + [I(51,77)] = {13,0xCE8}, + [I(52,77)] = {13,0xD68}, + [I(53,77)] = {13,0xDE8}, + [I(54,77)] = {13,0xE68}, + [I(55,77)] = {13,0xEE8}, + [I(56,77)] = {13,0xF68}, + [I(57,77)] = {13,0xFE8}, + [I(58,77)] = {14,0x2E68}, + [I(59,77)] = {15,0x7DE8}, + [I(60,77)] = {22,0x3FFE68}, + [I(61,77)] = {13,0x1068}, + [I(62,77)] = {19,0x7FDE8}, + [I(63,77)] = {17,0x1FE68}, + [I(64,77)] = {20,0xFFD68}, + [I(65,77)] = {13,0x10E8}, + [I(66,77)] = {14,0x2EE8}, + [I(67,77)] = {14,0x2F68}, + [I(68,77)] = {14,0x2FE8}, + [I(69,77)] = {14,0x3068}, + [I(70,77)] = {14,0x30E8}, + [I(71,77)] = {14,0x3168}, + [I(72,77)] = {14,0x31E8}, + [I(73,77)] = {14,0x3268}, + [I(74,77)] = {14,0x32E8}, + [I(75,77)] = {14,0x3368}, + [I(76,77)] = {14,0x33E8}, + [I(77,77)] = {14,0x3468}, + [I(78,77)] = {14,0x34E8}, + [I(79,77)] = {14,0x3568}, + [I(80,77)] = {14,0x35E8}, + [I(81,77)] = {14,0x3668}, + [I(82,77)] = {14,0x36E8}, + [I(83,77)] = {14,0x3768}, + [I(84,77)] = {14,0x37E8}, + [I(85,77)] = {14,0x3868}, + [I(86,77)] = {14,0x38E8}, + [I(87,77)] = {14,0x3968}, + [I(88,77)] = {15,0x7E68}, + [I(89,77)] = {14,0x39E8}, + [I(90,77)] = {15,0x7EE8}, + [I(91,77)] = {20,0xFFDE8}, + [I(92,77)] = {26,0x3FFF868}, + [I(93,77)] = {20,0xFFE68}, + [I(94,77)] = {21,0x1FFE68}, + [I(95,77)] = {13,0x1168}, + [I(96,77)] = {22,0x3FFEE8}, + [I(97,77)] = {12,0x1E8}, + [I(98,77)] = {13,0x11E8}, + [I(99,77)] = {12,0x268}, + [I(100,77)] = {13,0x1268}, + [I(101,77)] = {12,0x2E8}, + [I(102,77)] = {13,0x12E8}, + [I(103,77)] = {13,0x1368}, + [I(104,77)] = {13,0x13E8}, + [I(105,77)] = {12,0x368}, + [I(106,77)] = {14,0x3A68}, + [I(107,77)] = {14,0x3AE8}, + [I(108,77)] = {13,0x1468}, + [I(109,77)] = {13,0x14E8}, + [I(110,77)] = {13,0x1568}, + [I(111,77)] = {12,0x3E8}, + [I(112,77)] = {13,0x15E8}, + [I(113,77)] = {14,0x3B68}, + [I(114,77)] = {13,0x1668}, + [I(115,77)] = {12,0x468}, + [I(116,77)] = {12,0x4E8}, + [I(117,77)] = {13,0x16E8}, + [I(118,77)] = {14,0x3BE8}, + [I(119,77)] = {14,0x3C68}, + [I(120,77)] = {14,0x3CE8}, + [I(121,77)] = {14,0x3D68}, + [I(122,77)] = {14,0x3DE8}, + [I(123,77)] = {22,0x3FFF68}, + [I(124,77)] = {18,0x3FE68}, + [I(125,77)] = {21,0x1FFEE8}, + [I(126,77)] = {20,0xFFEE8}, + [I(127,77)] = {64,0}, + [I(128,77)] = {27,0x7FFF368}, + [I(129,77)] = {29,0x1FFFE968}, + [I(130,77)] = {27,0x7FFF3E8}, + [I(131,77)] = {27,0x7FFF468}, + [I(132,77)] = {29,0x1FFFE9E8}, + [I(133,77)] = {29,0x1FFFEA68}, + [I(134,77)] = {29,0x1FFFEAE8}, + [I(135,77)] = {30,0x3FFFECE8}, + [I(136,77)] = {29,0x1FFFEB68}, + [I(137,77)] = {30,0x3FFFED68}, + [I(138,77)] = {30,0x3FFFEDE8}, + [I(139,77)] = {30,0x3FFFEE68}, + [I(140,77)] = {30,0x3FFFEEE8}, + [I(141,77)] = {30,0x3FFFEF68}, + [I(142,77)] = {31,0x7FFFF5E8}, + [I(143,77)] = {30,0x3FFFEFE8}, + [I(144,77)] = {31,0x7FFFF668}, + [I(145,77)] = {31,0x7FFFF6E8}, + [I(146,77)] = {29,0x1FFFEBE8}, + [I(147,77)] = {30,0x3FFFF068}, + [I(148,77)] = {31,0x7FFFF768}, + [I(149,77)] = {30,0x3FFFF0E8}, + [I(150,77)] = {30,0x3FFFF168}, + [I(151,77)] = {30,0x3FFFF1E8}, + [I(152,77)] = {30,0x3FFFF268}, + [I(153,77)] = {28,0xFFFEE68}, + [I(154,77)] = {29,0x1FFFEC68}, + [I(155,77)] = {30,0x3FFFF2E8}, + [I(156,77)] = {29,0x1FFFECE8}, + [I(157,77)] = {30,0x3FFFF368}, + [I(158,77)] = {30,0x3FFFF3E8}, + [I(159,77)] = {31,0x7FFFF7E8}, + [I(160,77)] = {29,0x1FFFED68}, + [I(161,77)] = {28,0xFFFEEE8}, + [I(162,77)] = {27,0x7FFF4E8}, + [I(163,77)] = {29,0x1FFFEDE8}, + [I(164,77)] = {29,0x1FFFEE68}, + [I(165,77)] = {30,0x3FFFF468}, + [I(166,77)] = {30,0x3FFFF4E8}, + [I(167,77)] = {28,0xFFFEF68}, + [I(168,77)] = {30,0x3FFFF568}, + [I(169,77)] = {29,0x1FFFEEE8}, + [I(170,77)] = {29,0x1FFFEF68}, + [I(171,77)] = {31,0x7FFFF868}, + [I(172,77)] = {28,0xFFFEFE8}, + [I(173,77)] = {29,0x1FFFEFE8}, + [I(174,77)] = {30,0x3FFFF5E8}, + [I(175,77)] = {30,0x3FFFF668}, + [I(176,77)] = {28,0xFFFF068}, + [I(177,77)] = {28,0xFFFF0E8}, + [I(178,77)] = {29,0x1FFFF068}, + [I(179,77)] = {28,0xFFFF168}, + [I(180,77)] = {30,0x3FFFF6E8}, + [I(181,77)] = {29,0x1FFFF0E8}, + [I(182,77)] = {30,0x3FFFF768}, + [I(183,77)] = {30,0x3FFFF7E8}, + [I(184,77)] = {27,0x7FFF568}, + [I(185,77)] = {29,0x1FFFF168}, + [I(186,77)] = {29,0x1FFFF1E8}, + [I(187,77)] = {29,0x1FFFF268}, + [I(188,77)] = {30,0x3FFFF868}, + [I(189,77)] = {29,0x1FFFF2E8}, + [I(190,77)] = {29,0x1FFFF368}, + [I(191,77)] = {30,0x3FFFF8E8}, + [I(192,77)] = {64,0}, + [I(193,77)] = {64,0}, + [I(194,77)] = {27,0x7FFF5E8}, + [I(195,77)] = {26,0x3FFF8E8}, + [I(196,77)] = {29,0x1FFFF3E8}, + [I(197,77)] = {30,0x3FFFF968}, + [I(198,77)] = {29,0x1FFFF468}, + [I(199,77)] = {X32,0xFFFFF668}, + [I(200,77)] = {64,0}, + [I(201,77)] = {64,0}, + [I(202,77)] = {64,0}, + [I(203,77)] = {64,0}, + [I(204,77)] = {64,0}, + [I(205,77)] = {64,0}, + [I(206,77)] = {31,0x7FFFF8E8}, + [I(207,77)] = {X32,0xFFFFF6E8}, + [I(208,77)] = {26,0x3FFF968}, + [I(209,77)] = {28,0xFFFF1E8}, + [I(210,77)] = {64,0}, + [I(211,77)] = {64,0}, + [I(212,77)] = {64,0}, + [I(213,77)] = {64,0}, + [I(214,77)] = {64,0}, + [I(215,77)] = {31,0x7FFFF968}, + [I(216,77)] = {28,0xFFFF268}, + [I(217,77)] = {28,0xFFFF2E8}, + [I(218,77)] = {64,0}, + [I(219,77)] = {64,0}, + [I(220,77)] = {64,0}, + [I(221,77)] = {64,0}, + [I(222,77)] = {64,0}, + [I(223,77)] = {64,0}, + [I(224,77)] = {27,0x7FFF668}, + [I(225,77)] = {31,0x7FFFF9E8}, + [I(226,77)] = {27,0x7FFF6E8}, + [I(227,77)] = {28,0xFFFF368}, + [I(228,77)] = {29,0x1FFFF4E8}, + [I(229,77)] = {28,0xFFFF3E8}, + [I(230,77)] = {28,0xFFFF468}, + [I(231,77)] = {30,0x3FFFF9E8}, + [I(232,77)] = {29,0x1FFFF568}, + [I(233,77)] = {29,0x1FFFF5E8}, + [I(234,77)] = {X32,0xFFFFF768}, + [I(235,77)] = {X32,0xFFFFF7E8}, + [I(236,77)] = {31,0x7FFFFA68}, + [I(237,77)] = {31,0x7FFFFAE8}, + [I(238,77)] = {64,0}, + [I(239,77)] = {30,0x3FFFFA68}, + [I(240,77)] = {64,0}, + [I(241,77)] = {64,0}, + [I(242,77)] = {64,0}, + [I(243,77)] = {64,0}, + [I(244,77)] = {64,0}, + [I(245,77)] = {64,0}, + [I(246,77)] = {64,0}, + [I(247,77)] = {64,0}, + [I(248,77)] = {64,0}, + [I(249,77)] = {64,0}, + [I(250,77)] = {64,0}, + [I(251,77)] = {64,0}, + [I(252,77)] = {64,0}, + [I(253,77)] = {64,0}, + [I(254,77)] = {64,0}, + [I(255,77)] = {64,0}, + [I(0,78)] = {20,0xFFC69}, + [I(1,78)] = {30,0x3FFFEC69}, + [I(2,78)] = {64,0}, + [I(3,78)] = {64,0}, + [I(4,78)] = {64,0}, + [I(5,78)] = {64,0}, + [I(6,78)] = {64,0}, + [I(7,78)] = {64,0}, + [I(8,78)] = {64,0}, + [I(9,78)] = {31,0x7FFFF569}, + [I(10,78)] = {64,0}, + [I(11,78)] = {64,0}, + [I(12,78)] = {64,0}, + [I(13,78)] = {64,0}, + [I(14,78)] = {64,0}, + [I(15,78)] = {64,0}, + [I(16,78)] = {64,0}, + [I(17,78)] = {64,0}, + [I(18,78)] = {64,0}, + [I(19,78)] = {64,0}, + [I(20,78)] = {64,0}, + [I(21,78)] = {64,0}, + [I(22,78)] = {64,0}, + [I(23,78)] = {64,0}, + [I(24,78)] = {64,0}, + [I(25,78)] = {64,0}, + [I(26,78)] = {64,0}, + [I(27,78)] = {64,0}, + [I(28,78)] = {64,0}, + [I(29,78)] = {64,0}, + [I(30,78)] = {64,0}, + [I(31,78)] = {64,0}, + [I(32,78)] = {13,0xA69}, + [I(33,78)] = {17,0x1FC69}, + [I(34,78)] = {17,0x1FCE9}, + [I(35,78)] = {19,0x7FD69}, + [I(36,78)] = {20,0xFFCE9}, + [I(37,78)] = {13,0xAE9}, + [I(38,78)] = {15,0x7C69}, + [I(39,78)] = {18,0x3FD69}, + [I(40,78)] = {17,0x1FD69}, + [I(41,78)] = {17,0x1FDE9}, + [I(42,78)] = {15,0x7CE9}, + [I(43,78)] = {18,0x3FDE9}, + [I(44,78)] = {15,0x7D69}, + [I(45,78)] = {13,0xB69}, + [I(46,78)] = {13,0xBE9}, + [I(47,78)] = {13,0xC69}, + [I(48,78)] = {12,0x69}, + [I(49,78)] = {12,0xE9}, + [I(50,78)] = {12,0x169}, + [I(51,78)] = {13,0xCE9}, + [I(52,78)] = {13,0xD69}, + [I(53,78)] = {13,0xDE9}, + [I(54,78)] = {13,0xE69}, + [I(55,78)] = {13,0xEE9}, + [I(56,78)] = {13,0xF69}, + [I(57,78)] = {13,0xFE9}, + [I(58,78)] = {14,0x2E69}, + [I(59,78)] = {15,0x7DE9}, + [I(60,78)] = {22,0x3FFE69}, + [I(61,78)] = {13,0x1069}, + [I(62,78)] = {19,0x7FDE9}, + [I(63,78)] = {17,0x1FE69}, + [I(64,78)] = {20,0xFFD69}, + [I(65,78)] = {13,0x10E9}, + [I(66,78)] = {14,0x2EE9}, + [I(67,78)] = {14,0x2F69}, + [I(68,78)] = {14,0x2FE9}, + [I(69,78)] = {14,0x3069}, + [I(70,78)] = {14,0x30E9}, + [I(71,78)] = {14,0x3169}, + [I(72,78)] = {14,0x31E9}, + [I(73,78)] = {14,0x3269}, + [I(74,78)] = {14,0x32E9}, + [I(75,78)] = {14,0x3369}, + [I(76,78)] = {14,0x33E9}, + [I(77,78)] = {14,0x3469}, + [I(78,78)] = {14,0x34E9}, + [I(79,78)] = {14,0x3569}, + [I(80,78)] = {14,0x35E9}, + [I(81,78)] = {14,0x3669}, + [I(82,78)] = {14,0x36E9}, + [I(83,78)] = {14,0x3769}, + [I(84,78)] = {14,0x37E9}, + [I(85,78)] = {14,0x3869}, + [I(86,78)] = {14,0x38E9}, + [I(87,78)] = {14,0x3969}, + [I(88,78)] = {15,0x7E69}, + [I(89,78)] = {14,0x39E9}, + [I(90,78)] = {15,0x7EE9}, + [I(91,78)] = {20,0xFFDE9}, + [I(92,78)] = {26,0x3FFF869}, + [I(93,78)] = {20,0xFFE69}, + [I(94,78)] = {21,0x1FFE69}, + [I(95,78)] = {13,0x1169}, + [I(96,78)] = {22,0x3FFEE9}, + [I(97,78)] = {12,0x1E9}, + [I(98,78)] = {13,0x11E9}, + [I(99,78)] = {12,0x269}, + [I(100,78)] = {13,0x1269}, + [I(101,78)] = {12,0x2E9}, + [I(102,78)] = {13,0x12E9}, + [I(103,78)] = {13,0x1369}, + [I(104,78)] = {13,0x13E9}, + [I(105,78)] = {12,0x369}, + [I(106,78)] = {14,0x3A69}, + [I(107,78)] = {14,0x3AE9}, + [I(108,78)] = {13,0x1469}, + [I(109,78)] = {13,0x14E9}, + [I(110,78)] = {13,0x1569}, + [I(111,78)] = {12,0x3E9}, + [I(112,78)] = {13,0x15E9}, + [I(113,78)] = {14,0x3B69}, + [I(114,78)] = {13,0x1669}, + [I(115,78)] = {12,0x469}, + [I(116,78)] = {12,0x4E9}, + [I(117,78)] = {13,0x16E9}, + [I(118,78)] = {14,0x3BE9}, + [I(119,78)] = {14,0x3C69}, + [I(120,78)] = {14,0x3CE9}, + [I(121,78)] = {14,0x3D69}, + [I(122,78)] = {14,0x3DE9}, + [I(123,78)] = {22,0x3FFF69}, + [I(124,78)] = {18,0x3FE69}, + [I(125,78)] = {21,0x1FFEE9}, + [I(126,78)] = {20,0xFFEE9}, + [I(127,78)] = {64,0}, + [I(128,78)] = {27,0x7FFF369}, + [I(129,78)] = {29,0x1FFFE969}, + [I(130,78)] = {27,0x7FFF3E9}, + [I(131,78)] = {27,0x7FFF469}, + [I(132,78)] = {29,0x1FFFE9E9}, + [I(133,78)] = {29,0x1FFFEA69}, + [I(134,78)] = {29,0x1FFFEAE9}, + [I(135,78)] = {30,0x3FFFECE9}, + [I(136,78)] = {29,0x1FFFEB69}, + [I(137,78)] = {30,0x3FFFED69}, + [I(138,78)] = {30,0x3FFFEDE9}, + [I(139,78)] = {30,0x3FFFEE69}, + [I(140,78)] = {30,0x3FFFEEE9}, + [I(141,78)] = {30,0x3FFFEF69}, + [I(142,78)] = {31,0x7FFFF5E9}, + [I(143,78)] = {30,0x3FFFEFE9}, + [I(144,78)] = {31,0x7FFFF669}, + [I(145,78)] = {31,0x7FFFF6E9}, + [I(146,78)] = {29,0x1FFFEBE9}, + [I(147,78)] = {30,0x3FFFF069}, + [I(148,78)] = {31,0x7FFFF769}, + [I(149,78)] = {30,0x3FFFF0E9}, + [I(150,78)] = {30,0x3FFFF169}, + [I(151,78)] = {30,0x3FFFF1E9}, + [I(152,78)] = {30,0x3FFFF269}, + [I(153,78)] = {28,0xFFFEE69}, + [I(154,78)] = {29,0x1FFFEC69}, + [I(155,78)] = {30,0x3FFFF2E9}, + [I(156,78)] = {29,0x1FFFECE9}, + [I(157,78)] = {30,0x3FFFF369}, + [I(158,78)] = {30,0x3FFFF3E9}, + [I(159,78)] = {31,0x7FFFF7E9}, + [I(160,78)] = {29,0x1FFFED69}, + [I(161,78)] = {28,0xFFFEEE9}, + [I(162,78)] = {27,0x7FFF4E9}, + [I(163,78)] = {29,0x1FFFEDE9}, + [I(164,78)] = {29,0x1FFFEE69}, + [I(165,78)] = {30,0x3FFFF469}, + [I(166,78)] = {30,0x3FFFF4E9}, + [I(167,78)] = {28,0xFFFEF69}, + [I(168,78)] = {30,0x3FFFF569}, + [I(169,78)] = {29,0x1FFFEEE9}, + [I(170,78)] = {29,0x1FFFEF69}, + [I(171,78)] = {31,0x7FFFF869}, + [I(172,78)] = {28,0xFFFEFE9}, + [I(173,78)] = {29,0x1FFFEFE9}, + [I(174,78)] = {30,0x3FFFF5E9}, + [I(175,78)] = {30,0x3FFFF669}, + [I(176,78)] = {28,0xFFFF069}, + [I(177,78)] = {28,0xFFFF0E9}, + [I(178,78)] = {29,0x1FFFF069}, + [I(179,78)] = {28,0xFFFF169}, + [I(180,78)] = {30,0x3FFFF6E9}, + [I(181,78)] = {29,0x1FFFF0E9}, + [I(182,78)] = {30,0x3FFFF769}, + [I(183,78)] = {30,0x3FFFF7E9}, + [I(184,78)] = {27,0x7FFF569}, + [I(185,78)] = {29,0x1FFFF169}, + [I(186,78)] = {29,0x1FFFF1E9}, + [I(187,78)] = {29,0x1FFFF269}, + [I(188,78)] = {30,0x3FFFF869}, + [I(189,78)] = {29,0x1FFFF2E9}, + [I(190,78)] = {29,0x1FFFF369}, + [I(191,78)] = {30,0x3FFFF8E9}, + [I(192,78)] = {64,0}, + [I(193,78)] = {64,0}, + [I(194,78)] = {27,0x7FFF5E9}, + [I(195,78)] = {26,0x3FFF8E9}, + [I(196,78)] = {29,0x1FFFF3E9}, + [I(197,78)] = {30,0x3FFFF969}, + [I(198,78)] = {29,0x1FFFF469}, + [I(199,78)] = {X32,0xFFFFF669}, + [I(200,78)] = {64,0}, + [I(201,78)] = {64,0}, + [I(202,78)] = {64,0}, + [I(203,78)] = {64,0}, + [I(204,78)] = {64,0}, + [I(205,78)] = {64,0}, + [I(206,78)] = {31,0x7FFFF8E9}, + [I(207,78)] = {X32,0xFFFFF6E9}, + [I(208,78)] = {26,0x3FFF969}, + [I(209,78)] = {28,0xFFFF1E9}, + [I(210,78)] = {64,0}, + [I(211,78)] = {64,0}, + [I(212,78)] = {64,0}, + [I(213,78)] = {64,0}, + [I(214,78)] = {64,0}, + [I(215,78)] = {31,0x7FFFF969}, + [I(216,78)] = {28,0xFFFF269}, + [I(217,78)] = {28,0xFFFF2E9}, + [I(218,78)] = {64,0}, + [I(219,78)] = {64,0}, + [I(220,78)] = {64,0}, + [I(221,78)] = {64,0}, + [I(222,78)] = {64,0}, + [I(223,78)] = {64,0}, + [I(224,78)] = {27,0x7FFF669}, + [I(225,78)] = {31,0x7FFFF9E9}, + [I(226,78)] = {27,0x7FFF6E9}, + [I(227,78)] = {28,0xFFFF369}, + [I(228,78)] = {29,0x1FFFF4E9}, + [I(229,78)] = {28,0xFFFF3E9}, + [I(230,78)] = {28,0xFFFF469}, + [I(231,78)] = {30,0x3FFFF9E9}, + [I(232,78)] = {29,0x1FFFF569}, + [I(233,78)] = {29,0x1FFFF5E9}, + [I(234,78)] = {X32,0xFFFFF769}, + [I(235,78)] = {X32,0xFFFFF7E9}, + [I(236,78)] = {31,0x7FFFFA69}, + [I(237,78)] = {31,0x7FFFFAE9}, + [I(238,78)] = {64,0}, + [I(239,78)] = {30,0x3FFFFA69}, + [I(240,78)] = {64,0}, + [I(241,78)] = {64,0}, + [I(242,78)] = {64,0}, + [I(243,78)] = {64,0}, + [I(244,78)] = {64,0}, + [I(245,78)] = {64,0}, + [I(246,78)] = {64,0}, + [I(247,78)] = {64,0}, + [I(248,78)] = {64,0}, + [I(249,78)] = {64,0}, + [I(250,78)] = {64,0}, + [I(251,78)] = {64,0}, + [I(252,78)] = {64,0}, + [I(253,78)] = {64,0}, + [I(254,78)] = {64,0}, + [I(255,78)] = {64,0}, + [I(0,79)] = {20,0xFFC6A}, + [I(1,79)] = {30,0x3FFFEC6A}, + [I(2,79)] = {64,0}, + [I(3,79)] = {64,0}, + [I(4,79)] = {64,0}, + [I(5,79)] = {64,0}, + [I(6,79)] = {64,0}, + [I(7,79)] = {64,0}, + [I(8,79)] = {64,0}, + [I(9,79)] = {31,0x7FFFF56A}, + [I(10,79)] = {64,0}, + [I(11,79)] = {64,0}, + [I(12,79)] = {64,0}, + [I(13,79)] = {64,0}, + [I(14,79)] = {64,0}, + [I(15,79)] = {64,0}, + [I(16,79)] = {64,0}, + [I(17,79)] = {64,0}, + [I(18,79)] = {64,0}, + [I(19,79)] = {64,0}, + [I(20,79)] = {64,0}, + [I(21,79)] = {64,0}, + [I(22,79)] = {64,0}, + [I(23,79)] = {64,0}, + [I(24,79)] = {64,0}, + [I(25,79)] = {64,0}, + [I(26,79)] = {64,0}, + [I(27,79)] = {64,0}, + [I(28,79)] = {64,0}, + [I(29,79)] = {64,0}, + [I(30,79)] = {64,0}, + [I(31,79)] = {64,0}, + [I(32,79)] = {13,0xA6A}, + [I(33,79)] = {17,0x1FC6A}, + [I(34,79)] = {17,0x1FCEA}, + [I(35,79)] = {19,0x7FD6A}, + [I(36,79)] = {20,0xFFCEA}, + [I(37,79)] = {13,0xAEA}, + [I(38,79)] = {15,0x7C6A}, + [I(39,79)] = {18,0x3FD6A}, + [I(40,79)] = {17,0x1FD6A}, + [I(41,79)] = {17,0x1FDEA}, + [I(42,79)] = {15,0x7CEA}, + [I(43,79)] = {18,0x3FDEA}, + [I(44,79)] = {15,0x7D6A}, + [I(45,79)] = {13,0xB6A}, + [I(46,79)] = {13,0xBEA}, + [I(47,79)] = {13,0xC6A}, + [I(48,79)] = {12,0x6A}, + [I(49,79)] = {12,0xEA}, + [I(50,79)] = {12,0x16A}, + [I(51,79)] = {13,0xCEA}, + [I(52,79)] = {13,0xD6A}, + [I(53,79)] = {13,0xDEA}, + [I(54,79)] = {13,0xE6A}, + [I(55,79)] = {13,0xEEA}, + [I(56,79)] = {13,0xF6A}, + [I(57,79)] = {13,0xFEA}, + [I(58,79)] = {14,0x2E6A}, + [I(59,79)] = {15,0x7DEA}, + [I(60,79)] = {22,0x3FFE6A}, + [I(61,79)] = {13,0x106A}, + [I(62,79)] = {19,0x7FDEA}, + [I(63,79)] = {17,0x1FE6A}, + [I(64,79)] = {20,0xFFD6A}, + [I(65,79)] = {13,0x10EA}, + [I(66,79)] = {14,0x2EEA}, + [I(67,79)] = {14,0x2F6A}, + [I(68,79)] = {14,0x2FEA}, + [I(69,79)] = {14,0x306A}, + [I(70,79)] = {14,0x30EA}, + [I(71,79)] = {14,0x316A}, + [I(72,79)] = {14,0x31EA}, + [I(73,79)] = {14,0x326A}, + [I(74,79)] = {14,0x32EA}, + [I(75,79)] = {14,0x336A}, + [I(76,79)] = {14,0x33EA}, + [I(77,79)] = {14,0x346A}, + [I(78,79)] = {14,0x34EA}, + [I(79,79)] = {14,0x356A}, + [I(80,79)] = {14,0x35EA}, + [I(81,79)] = {14,0x366A}, + [I(82,79)] = {14,0x36EA}, + [I(83,79)] = {14,0x376A}, + [I(84,79)] = {14,0x37EA}, + [I(85,79)] = {14,0x386A}, + [I(86,79)] = {14,0x38EA}, + [I(87,79)] = {14,0x396A}, + [I(88,79)] = {15,0x7E6A}, + [I(89,79)] = {14,0x39EA}, + [I(90,79)] = {15,0x7EEA}, + [I(91,79)] = {20,0xFFDEA}, + [I(92,79)] = {26,0x3FFF86A}, + [I(93,79)] = {20,0xFFE6A}, + [I(94,79)] = {21,0x1FFE6A}, + [I(95,79)] = {13,0x116A}, + [I(96,79)] = {22,0x3FFEEA}, + [I(97,79)] = {12,0x1EA}, + [I(98,79)] = {13,0x11EA}, + [I(99,79)] = {12,0x26A}, + [I(100,79)] = {13,0x126A}, + [I(101,79)] = {12,0x2EA}, + [I(102,79)] = {13,0x12EA}, + [I(103,79)] = {13,0x136A}, + [I(104,79)] = {13,0x13EA}, + [I(105,79)] = {12,0x36A}, + [I(106,79)] = {14,0x3A6A}, + [I(107,79)] = {14,0x3AEA}, + [I(108,79)] = {13,0x146A}, + [I(109,79)] = {13,0x14EA}, + [I(110,79)] = {13,0x156A}, + [I(111,79)] = {12,0x3EA}, + [I(112,79)] = {13,0x15EA}, + [I(113,79)] = {14,0x3B6A}, + [I(114,79)] = {13,0x166A}, + [I(115,79)] = {12,0x46A}, + [I(116,79)] = {12,0x4EA}, + [I(117,79)] = {13,0x16EA}, + [I(118,79)] = {14,0x3BEA}, + [I(119,79)] = {14,0x3C6A}, + [I(120,79)] = {14,0x3CEA}, + [I(121,79)] = {14,0x3D6A}, + [I(122,79)] = {14,0x3DEA}, + [I(123,79)] = {22,0x3FFF6A}, + [I(124,79)] = {18,0x3FE6A}, + [I(125,79)] = {21,0x1FFEEA}, + [I(126,79)] = {20,0xFFEEA}, + [I(127,79)] = {64,0}, + [I(128,79)] = {27,0x7FFF36A}, + [I(129,79)] = {29,0x1FFFE96A}, + [I(130,79)] = {27,0x7FFF3EA}, + [I(131,79)] = {27,0x7FFF46A}, + [I(132,79)] = {29,0x1FFFE9EA}, + [I(133,79)] = {29,0x1FFFEA6A}, + [I(134,79)] = {29,0x1FFFEAEA}, + [I(135,79)] = {30,0x3FFFECEA}, + [I(136,79)] = {29,0x1FFFEB6A}, + [I(137,79)] = {30,0x3FFFED6A}, + [I(138,79)] = {30,0x3FFFEDEA}, + [I(139,79)] = {30,0x3FFFEE6A}, + [I(140,79)] = {30,0x3FFFEEEA}, + [I(141,79)] = {30,0x3FFFEF6A}, + [I(142,79)] = {31,0x7FFFF5EA}, + [I(143,79)] = {30,0x3FFFEFEA}, + [I(144,79)] = {31,0x7FFFF66A}, + [I(145,79)] = {31,0x7FFFF6EA}, + [I(146,79)] = {29,0x1FFFEBEA}, + [I(147,79)] = {30,0x3FFFF06A}, + [I(148,79)] = {31,0x7FFFF76A}, + [I(149,79)] = {30,0x3FFFF0EA}, + [I(150,79)] = {30,0x3FFFF16A}, + [I(151,79)] = {30,0x3FFFF1EA}, + [I(152,79)] = {30,0x3FFFF26A}, + [I(153,79)] = {28,0xFFFEE6A}, + [I(154,79)] = {29,0x1FFFEC6A}, + [I(155,79)] = {30,0x3FFFF2EA}, + [I(156,79)] = {29,0x1FFFECEA}, + [I(157,79)] = {30,0x3FFFF36A}, + [I(158,79)] = {30,0x3FFFF3EA}, + [I(159,79)] = {31,0x7FFFF7EA}, + [I(160,79)] = {29,0x1FFFED6A}, + [I(161,79)] = {28,0xFFFEEEA}, + [I(162,79)] = {27,0x7FFF4EA}, + [I(163,79)] = {29,0x1FFFEDEA}, + [I(164,79)] = {29,0x1FFFEE6A}, + [I(165,79)] = {30,0x3FFFF46A}, + [I(166,79)] = {30,0x3FFFF4EA}, + [I(167,79)] = {28,0xFFFEF6A}, + [I(168,79)] = {30,0x3FFFF56A}, + [I(169,79)] = {29,0x1FFFEEEA}, + [I(170,79)] = {29,0x1FFFEF6A}, + [I(171,79)] = {31,0x7FFFF86A}, + [I(172,79)] = {28,0xFFFEFEA}, + [I(173,79)] = {29,0x1FFFEFEA}, + [I(174,79)] = {30,0x3FFFF5EA}, + [I(175,79)] = {30,0x3FFFF66A}, + [I(176,79)] = {28,0xFFFF06A}, + [I(177,79)] = {28,0xFFFF0EA}, + [I(178,79)] = {29,0x1FFFF06A}, + [I(179,79)] = {28,0xFFFF16A}, + [I(180,79)] = {30,0x3FFFF6EA}, + [I(181,79)] = {29,0x1FFFF0EA}, + [I(182,79)] = {30,0x3FFFF76A}, + [I(183,79)] = {30,0x3FFFF7EA}, + [I(184,79)] = {27,0x7FFF56A}, + [I(185,79)] = {29,0x1FFFF16A}, + [I(186,79)] = {29,0x1FFFF1EA}, + [I(187,79)] = {29,0x1FFFF26A}, + [I(188,79)] = {30,0x3FFFF86A}, + [I(189,79)] = {29,0x1FFFF2EA}, + [I(190,79)] = {29,0x1FFFF36A}, + [I(191,79)] = {30,0x3FFFF8EA}, + [I(192,79)] = {64,0}, + [I(193,79)] = {64,0}, + [I(194,79)] = {27,0x7FFF5EA}, + [I(195,79)] = {26,0x3FFF8EA}, + [I(196,79)] = {29,0x1FFFF3EA}, + [I(197,79)] = {30,0x3FFFF96A}, + [I(198,79)] = {29,0x1FFFF46A}, + [I(199,79)] = {X32,0xFFFFF66A}, + [I(200,79)] = {64,0}, + [I(201,79)] = {64,0}, + [I(202,79)] = {64,0}, + [I(203,79)] = {64,0}, + [I(204,79)] = {64,0}, + [I(205,79)] = {64,0}, + [I(206,79)] = {31,0x7FFFF8EA}, + [I(207,79)] = {X32,0xFFFFF6EA}, + [I(208,79)] = {26,0x3FFF96A}, + [I(209,79)] = {28,0xFFFF1EA}, + [I(210,79)] = {64,0}, + [I(211,79)] = {64,0}, + [I(212,79)] = {64,0}, + [I(213,79)] = {64,0}, + [I(214,79)] = {64,0}, + [I(215,79)] = {31,0x7FFFF96A}, + [I(216,79)] = {28,0xFFFF26A}, + [I(217,79)] = {28,0xFFFF2EA}, + [I(218,79)] = {64,0}, + [I(219,79)] = {64,0}, + [I(220,79)] = {64,0}, + [I(221,79)] = {64,0}, + [I(222,79)] = {64,0}, + [I(223,79)] = {64,0}, + [I(224,79)] = {27,0x7FFF66A}, + [I(225,79)] = {31,0x7FFFF9EA}, + [I(226,79)] = {27,0x7FFF6EA}, + [I(227,79)] = {28,0xFFFF36A}, + [I(228,79)] = {29,0x1FFFF4EA}, + [I(229,79)] = {28,0xFFFF3EA}, + [I(230,79)] = {28,0xFFFF46A}, + [I(231,79)] = {30,0x3FFFF9EA}, + [I(232,79)] = {29,0x1FFFF56A}, + [I(233,79)] = {29,0x1FFFF5EA}, + [I(234,79)] = {X32,0xFFFFF76A}, + [I(235,79)] = {X32,0xFFFFF7EA}, + [I(236,79)] = {31,0x7FFFFA6A}, + [I(237,79)] = {31,0x7FFFFAEA}, + [I(238,79)] = {64,0}, + [I(239,79)] = {30,0x3FFFFA6A}, + [I(240,79)] = {64,0}, + [I(241,79)] = {64,0}, + [I(242,79)] = {64,0}, + [I(243,79)] = {64,0}, + [I(244,79)] = {64,0}, + [I(245,79)] = {64,0}, + [I(246,79)] = {64,0}, + [I(247,79)] = {64,0}, + [I(248,79)] = {64,0}, + [I(249,79)] = {64,0}, + [I(250,79)] = {64,0}, + [I(251,79)] = {64,0}, + [I(252,79)] = {64,0}, + [I(253,79)] = {64,0}, + [I(254,79)] = {64,0}, + [I(255,79)] = {64,0}, + [I(0,80)] = {20,0xFFC6B}, + [I(1,80)] = {30,0x3FFFEC6B}, + [I(2,80)] = {64,0}, + [I(3,80)] = {64,0}, + [I(4,80)] = {64,0}, + [I(5,80)] = {64,0}, + [I(6,80)] = {64,0}, + [I(7,80)] = {64,0}, + [I(8,80)] = {64,0}, + [I(9,80)] = {31,0x7FFFF56B}, + [I(10,80)] = {64,0}, + [I(11,80)] = {64,0}, + [I(12,80)] = {64,0}, + [I(13,80)] = {64,0}, + [I(14,80)] = {64,0}, + [I(15,80)] = {64,0}, + [I(16,80)] = {64,0}, + [I(17,80)] = {64,0}, + [I(18,80)] = {64,0}, + [I(19,80)] = {64,0}, + [I(20,80)] = {64,0}, + [I(21,80)] = {64,0}, + [I(22,80)] = {64,0}, + [I(23,80)] = {64,0}, + [I(24,80)] = {64,0}, + [I(25,80)] = {64,0}, + [I(26,80)] = {64,0}, + [I(27,80)] = {64,0}, + [I(28,80)] = {64,0}, + [I(29,80)] = {64,0}, + [I(30,80)] = {64,0}, + [I(31,80)] = {64,0}, + [I(32,80)] = {13,0xA6B}, + [I(33,80)] = {17,0x1FC6B}, + [I(34,80)] = {17,0x1FCEB}, + [I(35,80)] = {19,0x7FD6B}, + [I(36,80)] = {20,0xFFCEB}, + [I(37,80)] = {13,0xAEB}, + [I(38,80)] = {15,0x7C6B}, + [I(39,80)] = {18,0x3FD6B}, + [I(40,80)] = {17,0x1FD6B}, + [I(41,80)] = {17,0x1FDEB}, + [I(42,80)] = {15,0x7CEB}, + [I(43,80)] = {18,0x3FDEB}, + [I(44,80)] = {15,0x7D6B}, + [I(45,80)] = {13,0xB6B}, + [I(46,80)] = {13,0xBEB}, + [I(47,80)] = {13,0xC6B}, + [I(48,80)] = {12,0x6B}, + [I(49,80)] = {12,0xEB}, + [I(50,80)] = {12,0x16B}, + [I(51,80)] = {13,0xCEB}, + [I(52,80)] = {13,0xD6B}, + [I(53,80)] = {13,0xDEB}, + [I(54,80)] = {13,0xE6B}, + [I(55,80)] = {13,0xEEB}, + [I(56,80)] = {13,0xF6B}, + [I(57,80)] = {13,0xFEB}, + [I(58,80)] = {14,0x2E6B}, + [I(59,80)] = {15,0x7DEB}, + [I(60,80)] = {22,0x3FFE6B}, + [I(61,80)] = {13,0x106B}, + [I(62,80)] = {19,0x7FDEB}, + [I(63,80)] = {17,0x1FE6B}, + [I(64,80)] = {20,0xFFD6B}, + [I(65,80)] = {13,0x10EB}, + [I(66,80)] = {14,0x2EEB}, + [I(67,80)] = {14,0x2F6B}, + [I(68,80)] = {14,0x2FEB}, + [I(69,80)] = {14,0x306B}, + [I(70,80)] = {14,0x30EB}, + [I(71,80)] = {14,0x316B}, + [I(72,80)] = {14,0x31EB}, + [I(73,80)] = {14,0x326B}, + [I(74,80)] = {14,0x32EB}, + [I(75,80)] = {14,0x336B}, + [I(76,80)] = {14,0x33EB}, + [I(77,80)] = {14,0x346B}, + [I(78,80)] = {14,0x34EB}, + [I(79,80)] = {14,0x356B}, + [I(80,80)] = {14,0x35EB}, + [I(81,80)] = {14,0x366B}, + [I(82,80)] = {14,0x36EB}, + [I(83,80)] = {14,0x376B}, + [I(84,80)] = {14,0x37EB}, + [I(85,80)] = {14,0x386B}, + [I(86,80)] = {14,0x38EB}, + [I(87,80)] = {14,0x396B}, + [I(88,80)] = {15,0x7E6B}, + [I(89,80)] = {14,0x39EB}, + [I(90,80)] = {15,0x7EEB}, + [I(91,80)] = {20,0xFFDEB}, + [I(92,80)] = {26,0x3FFF86B}, + [I(93,80)] = {20,0xFFE6B}, + [I(94,80)] = {21,0x1FFE6B}, + [I(95,80)] = {13,0x116B}, + [I(96,80)] = {22,0x3FFEEB}, + [I(97,80)] = {12,0x1EB}, + [I(98,80)] = {13,0x11EB}, + [I(99,80)] = {12,0x26B}, + [I(100,80)] = {13,0x126B}, + [I(101,80)] = {12,0x2EB}, + [I(102,80)] = {13,0x12EB}, + [I(103,80)] = {13,0x136B}, + [I(104,80)] = {13,0x13EB}, + [I(105,80)] = {12,0x36B}, + [I(106,80)] = {14,0x3A6B}, + [I(107,80)] = {14,0x3AEB}, + [I(108,80)] = {13,0x146B}, + [I(109,80)] = {13,0x14EB}, + [I(110,80)] = {13,0x156B}, + [I(111,80)] = {12,0x3EB}, + [I(112,80)] = {13,0x15EB}, + [I(113,80)] = {14,0x3B6B}, + [I(114,80)] = {13,0x166B}, + [I(115,80)] = {12,0x46B}, + [I(116,80)] = {12,0x4EB}, + [I(117,80)] = {13,0x16EB}, + [I(118,80)] = {14,0x3BEB}, + [I(119,80)] = {14,0x3C6B}, + [I(120,80)] = {14,0x3CEB}, + [I(121,80)] = {14,0x3D6B}, + [I(122,80)] = {14,0x3DEB}, + [I(123,80)] = {22,0x3FFF6B}, + [I(124,80)] = {18,0x3FE6B}, + [I(125,80)] = {21,0x1FFEEB}, + [I(126,80)] = {20,0xFFEEB}, + [I(127,80)] = {64,0}, + [I(128,80)] = {27,0x7FFF36B}, + [I(129,80)] = {29,0x1FFFE96B}, + [I(130,80)] = {27,0x7FFF3EB}, + [I(131,80)] = {27,0x7FFF46B}, + [I(132,80)] = {29,0x1FFFE9EB}, + [I(133,80)] = {29,0x1FFFEA6B}, + [I(134,80)] = {29,0x1FFFEAEB}, + [I(135,80)] = {30,0x3FFFECEB}, + [I(136,80)] = {29,0x1FFFEB6B}, + [I(137,80)] = {30,0x3FFFED6B}, + [I(138,80)] = {30,0x3FFFEDEB}, + [I(139,80)] = {30,0x3FFFEE6B}, + [I(140,80)] = {30,0x3FFFEEEB}, + [I(141,80)] = {30,0x3FFFEF6B}, + [I(142,80)] = {31,0x7FFFF5EB}, + [I(143,80)] = {30,0x3FFFEFEB}, + [I(144,80)] = {31,0x7FFFF66B}, + [I(145,80)] = {31,0x7FFFF6EB}, + [I(146,80)] = {29,0x1FFFEBEB}, + [I(147,80)] = {30,0x3FFFF06B}, + [I(148,80)] = {31,0x7FFFF76B}, + [I(149,80)] = {30,0x3FFFF0EB}, + [I(150,80)] = {30,0x3FFFF16B}, + [I(151,80)] = {30,0x3FFFF1EB}, + [I(152,80)] = {30,0x3FFFF26B}, + [I(153,80)] = {28,0xFFFEE6B}, + [I(154,80)] = {29,0x1FFFEC6B}, + [I(155,80)] = {30,0x3FFFF2EB}, + [I(156,80)] = {29,0x1FFFECEB}, + [I(157,80)] = {30,0x3FFFF36B}, + [I(158,80)] = {30,0x3FFFF3EB}, + [I(159,80)] = {31,0x7FFFF7EB}, + [I(160,80)] = {29,0x1FFFED6B}, + [I(161,80)] = {28,0xFFFEEEB}, + [I(162,80)] = {27,0x7FFF4EB}, + [I(163,80)] = {29,0x1FFFEDEB}, + [I(164,80)] = {29,0x1FFFEE6B}, + [I(165,80)] = {30,0x3FFFF46B}, + [I(166,80)] = {30,0x3FFFF4EB}, + [I(167,80)] = {28,0xFFFEF6B}, + [I(168,80)] = {30,0x3FFFF56B}, + [I(169,80)] = {29,0x1FFFEEEB}, + [I(170,80)] = {29,0x1FFFEF6B}, + [I(171,80)] = {31,0x7FFFF86B}, + [I(172,80)] = {28,0xFFFEFEB}, + [I(173,80)] = {29,0x1FFFEFEB}, + [I(174,80)] = {30,0x3FFFF5EB}, + [I(175,80)] = {30,0x3FFFF66B}, + [I(176,80)] = {28,0xFFFF06B}, + [I(177,80)] = {28,0xFFFF0EB}, + [I(178,80)] = {29,0x1FFFF06B}, + [I(179,80)] = {28,0xFFFF16B}, + [I(180,80)] = {30,0x3FFFF6EB}, + [I(181,80)] = {29,0x1FFFF0EB}, + [I(182,80)] = {30,0x3FFFF76B}, + [I(183,80)] = {30,0x3FFFF7EB}, + [I(184,80)] = {27,0x7FFF56B}, + [I(185,80)] = {29,0x1FFFF16B}, + [I(186,80)] = {29,0x1FFFF1EB}, + [I(187,80)] = {29,0x1FFFF26B}, + [I(188,80)] = {30,0x3FFFF86B}, + [I(189,80)] = {29,0x1FFFF2EB}, + [I(190,80)] = {29,0x1FFFF36B}, + [I(191,80)] = {30,0x3FFFF8EB}, + [I(192,80)] = {64,0}, + [I(193,80)] = {64,0}, + [I(194,80)] = {27,0x7FFF5EB}, + [I(195,80)] = {26,0x3FFF8EB}, + [I(196,80)] = {29,0x1FFFF3EB}, + [I(197,80)] = {30,0x3FFFF96B}, + [I(198,80)] = {29,0x1FFFF46B}, + [I(199,80)] = {X32,0xFFFFF66B}, + [I(200,80)] = {64,0}, + [I(201,80)] = {64,0}, + [I(202,80)] = {64,0}, + [I(203,80)] = {64,0}, + [I(204,80)] = {64,0}, + [I(205,80)] = {64,0}, + [I(206,80)] = {31,0x7FFFF8EB}, + [I(207,80)] = {X32,0xFFFFF6EB}, + [I(208,80)] = {26,0x3FFF96B}, + [I(209,80)] = {28,0xFFFF1EB}, + [I(210,80)] = {64,0}, + [I(211,80)] = {64,0}, + [I(212,80)] = {64,0}, + [I(213,80)] = {64,0}, + [I(214,80)] = {64,0}, + [I(215,80)] = {31,0x7FFFF96B}, + [I(216,80)] = {28,0xFFFF26B}, + [I(217,80)] = {28,0xFFFF2EB}, + [I(218,80)] = {64,0}, + [I(219,80)] = {64,0}, + [I(220,80)] = {64,0}, + [I(221,80)] = {64,0}, + [I(222,80)] = {64,0}, + [I(223,80)] = {64,0}, + [I(224,80)] = {27,0x7FFF66B}, + [I(225,80)] = {31,0x7FFFF9EB}, + [I(226,80)] = {27,0x7FFF6EB}, + [I(227,80)] = {28,0xFFFF36B}, + [I(228,80)] = {29,0x1FFFF4EB}, + [I(229,80)] = {28,0xFFFF3EB}, + [I(230,80)] = {28,0xFFFF46B}, + [I(231,80)] = {30,0x3FFFF9EB}, + [I(232,80)] = {29,0x1FFFF56B}, + [I(233,80)] = {29,0x1FFFF5EB}, + [I(234,80)] = {X32,0xFFFFF76B}, + [I(235,80)] = {X32,0xFFFFF7EB}, + [I(236,80)] = {31,0x7FFFFA6B}, + [I(237,80)] = {31,0x7FFFFAEB}, + [I(238,80)] = {64,0}, + [I(239,80)] = {30,0x3FFFFA6B}, + [I(240,80)] = {64,0}, + [I(241,80)] = {64,0}, + [I(242,80)] = {64,0}, + [I(243,80)] = {64,0}, + [I(244,80)] = {64,0}, + [I(245,80)] = {64,0}, + [I(246,80)] = {64,0}, + [I(247,80)] = {64,0}, + [I(248,80)] = {64,0}, + [I(249,80)] = {64,0}, + [I(250,80)] = {64,0}, + [I(251,80)] = {64,0}, + [I(252,80)] = {64,0}, + [I(253,80)] = {64,0}, + [I(254,80)] = {64,0}, + [I(255,80)] = {64,0}, + [I(0,81)] = {20,0xFFC6C}, + [I(1,81)] = {30,0x3FFFEC6C}, + [I(2,81)] = {64,0}, + [I(3,81)] = {64,0}, + [I(4,81)] = {64,0}, + [I(5,81)] = {64,0}, + [I(6,81)] = {64,0}, + [I(7,81)] = {64,0}, + [I(8,81)] = {64,0}, + [I(9,81)] = {31,0x7FFFF56C}, + [I(10,81)] = {64,0}, + [I(11,81)] = {64,0}, + [I(12,81)] = {64,0}, + [I(13,81)] = {64,0}, + [I(14,81)] = {64,0}, + [I(15,81)] = {64,0}, + [I(16,81)] = {64,0}, + [I(17,81)] = {64,0}, + [I(18,81)] = {64,0}, + [I(19,81)] = {64,0}, + [I(20,81)] = {64,0}, + [I(21,81)] = {64,0}, + [I(22,81)] = {64,0}, + [I(23,81)] = {64,0}, + [I(24,81)] = {64,0}, + [I(25,81)] = {64,0}, + [I(26,81)] = {64,0}, + [I(27,81)] = {64,0}, + [I(28,81)] = {64,0}, + [I(29,81)] = {64,0}, + [I(30,81)] = {64,0}, + [I(31,81)] = {64,0}, + [I(32,81)] = {13,0xA6C}, + [I(33,81)] = {17,0x1FC6C}, + [I(34,81)] = {17,0x1FCEC}, + [I(35,81)] = {19,0x7FD6C}, + [I(36,81)] = {20,0xFFCEC}, + [I(37,81)] = {13,0xAEC}, + [I(38,81)] = {15,0x7C6C}, + [I(39,81)] = {18,0x3FD6C}, + [I(40,81)] = {17,0x1FD6C}, + [I(41,81)] = {17,0x1FDEC}, + [I(42,81)] = {15,0x7CEC}, + [I(43,81)] = {18,0x3FDEC}, + [I(44,81)] = {15,0x7D6C}, + [I(45,81)] = {13,0xB6C}, + [I(46,81)] = {13,0xBEC}, + [I(47,81)] = {13,0xC6C}, + [I(48,81)] = {12,0x6C}, + [I(49,81)] = {12,0xEC}, + [I(50,81)] = {12,0x16C}, + [I(51,81)] = {13,0xCEC}, + [I(52,81)] = {13,0xD6C}, + [I(53,81)] = {13,0xDEC}, + [I(54,81)] = {13,0xE6C}, + [I(55,81)] = {13,0xEEC}, + [I(56,81)] = {13,0xF6C}, + [I(57,81)] = {13,0xFEC}, + [I(58,81)] = {14,0x2E6C}, + [I(59,81)] = {15,0x7DEC}, + [I(60,81)] = {22,0x3FFE6C}, + [I(61,81)] = {13,0x106C}, + [I(62,81)] = {19,0x7FDEC}, + [I(63,81)] = {17,0x1FE6C}, + [I(64,81)] = {20,0xFFD6C}, + [I(65,81)] = {13,0x10EC}, + [I(66,81)] = {14,0x2EEC}, + [I(67,81)] = {14,0x2F6C}, + [I(68,81)] = {14,0x2FEC}, + [I(69,81)] = {14,0x306C}, + [I(70,81)] = {14,0x30EC}, + [I(71,81)] = {14,0x316C}, + [I(72,81)] = {14,0x31EC}, + [I(73,81)] = {14,0x326C}, + [I(74,81)] = {14,0x32EC}, + [I(75,81)] = {14,0x336C}, + [I(76,81)] = {14,0x33EC}, + [I(77,81)] = {14,0x346C}, + [I(78,81)] = {14,0x34EC}, + [I(79,81)] = {14,0x356C}, + [I(80,81)] = {14,0x35EC}, + [I(81,81)] = {14,0x366C}, + [I(82,81)] = {14,0x36EC}, + [I(83,81)] = {14,0x376C}, + [I(84,81)] = {14,0x37EC}, + [I(85,81)] = {14,0x386C}, + [I(86,81)] = {14,0x38EC}, + [I(87,81)] = {14,0x396C}, + [I(88,81)] = {15,0x7E6C}, + [I(89,81)] = {14,0x39EC}, + [I(90,81)] = {15,0x7EEC}, + [I(91,81)] = {20,0xFFDEC}, + [I(92,81)] = {26,0x3FFF86C}, + [I(93,81)] = {20,0xFFE6C}, + [I(94,81)] = {21,0x1FFE6C}, + [I(95,81)] = {13,0x116C}, + [I(96,81)] = {22,0x3FFEEC}, + [I(97,81)] = {12,0x1EC}, + [I(98,81)] = {13,0x11EC}, + [I(99,81)] = {12,0x26C}, + [I(100,81)] = {13,0x126C}, + [I(101,81)] = {12,0x2EC}, + [I(102,81)] = {13,0x12EC}, + [I(103,81)] = {13,0x136C}, + [I(104,81)] = {13,0x13EC}, + [I(105,81)] = {12,0x36C}, + [I(106,81)] = {14,0x3A6C}, + [I(107,81)] = {14,0x3AEC}, + [I(108,81)] = {13,0x146C}, + [I(109,81)] = {13,0x14EC}, + [I(110,81)] = {13,0x156C}, + [I(111,81)] = {12,0x3EC}, + [I(112,81)] = {13,0x15EC}, + [I(113,81)] = {14,0x3B6C}, + [I(114,81)] = {13,0x166C}, + [I(115,81)] = {12,0x46C}, + [I(116,81)] = {12,0x4EC}, + [I(117,81)] = {13,0x16EC}, + [I(118,81)] = {14,0x3BEC}, + [I(119,81)] = {14,0x3C6C}, + [I(120,81)] = {14,0x3CEC}, + [I(121,81)] = {14,0x3D6C}, + [I(122,81)] = {14,0x3DEC}, + [I(123,81)] = {22,0x3FFF6C}, + [I(124,81)] = {18,0x3FE6C}, + [I(125,81)] = {21,0x1FFEEC}, + [I(126,81)] = {20,0xFFEEC}, + [I(127,81)] = {64,0}, + [I(128,81)] = {27,0x7FFF36C}, + [I(129,81)] = {29,0x1FFFE96C}, + [I(130,81)] = {27,0x7FFF3EC}, + [I(131,81)] = {27,0x7FFF46C}, + [I(132,81)] = {29,0x1FFFE9EC}, + [I(133,81)] = {29,0x1FFFEA6C}, + [I(134,81)] = {29,0x1FFFEAEC}, + [I(135,81)] = {30,0x3FFFECEC}, + [I(136,81)] = {29,0x1FFFEB6C}, + [I(137,81)] = {30,0x3FFFED6C}, + [I(138,81)] = {30,0x3FFFEDEC}, + [I(139,81)] = {30,0x3FFFEE6C}, + [I(140,81)] = {30,0x3FFFEEEC}, + [I(141,81)] = {30,0x3FFFEF6C}, + [I(142,81)] = {31,0x7FFFF5EC}, + [I(143,81)] = {30,0x3FFFEFEC}, + [I(144,81)] = {31,0x7FFFF66C}, + [I(145,81)] = {31,0x7FFFF6EC}, + [I(146,81)] = {29,0x1FFFEBEC}, + [I(147,81)] = {30,0x3FFFF06C}, + [I(148,81)] = {31,0x7FFFF76C}, + [I(149,81)] = {30,0x3FFFF0EC}, + [I(150,81)] = {30,0x3FFFF16C}, + [I(151,81)] = {30,0x3FFFF1EC}, + [I(152,81)] = {30,0x3FFFF26C}, + [I(153,81)] = {28,0xFFFEE6C}, + [I(154,81)] = {29,0x1FFFEC6C}, + [I(155,81)] = {30,0x3FFFF2EC}, + [I(156,81)] = {29,0x1FFFECEC}, + [I(157,81)] = {30,0x3FFFF36C}, + [I(158,81)] = {30,0x3FFFF3EC}, + [I(159,81)] = {31,0x7FFFF7EC}, + [I(160,81)] = {29,0x1FFFED6C}, + [I(161,81)] = {28,0xFFFEEEC}, + [I(162,81)] = {27,0x7FFF4EC}, + [I(163,81)] = {29,0x1FFFEDEC}, + [I(164,81)] = {29,0x1FFFEE6C}, + [I(165,81)] = {30,0x3FFFF46C}, + [I(166,81)] = {30,0x3FFFF4EC}, + [I(167,81)] = {28,0xFFFEF6C}, + [I(168,81)] = {30,0x3FFFF56C}, + [I(169,81)] = {29,0x1FFFEEEC}, + [I(170,81)] = {29,0x1FFFEF6C}, + [I(171,81)] = {31,0x7FFFF86C}, + [I(172,81)] = {28,0xFFFEFEC}, + [I(173,81)] = {29,0x1FFFEFEC}, + [I(174,81)] = {30,0x3FFFF5EC}, + [I(175,81)] = {30,0x3FFFF66C}, + [I(176,81)] = {28,0xFFFF06C}, + [I(177,81)] = {28,0xFFFF0EC}, + [I(178,81)] = {29,0x1FFFF06C}, + [I(179,81)] = {28,0xFFFF16C}, + [I(180,81)] = {30,0x3FFFF6EC}, + [I(181,81)] = {29,0x1FFFF0EC}, + [I(182,81)] = {30,0x3FFFF76C}, + [I(183,81)] = {30,0x3FFFF7EC}, + [I(184,81)] = {27,0x7FFF56C}, + [I(185,81)] = {29,0x1FFFF16C}, + [I(186,81)] = {29,0x1FFFF1EC}, + [I(187,81)] = {29,0x1FFFF26C}, + [I(188,81)] = {30,0x3FFFF86C}, + [I(189,81)] = {29,0x1FFFF2EC}, + [I(190,81)] = {29,0x1FFFF36C}, + [I(191,81)] = {30,0x3FFFF8EC}, + [I(192,81)] = {64,0}, + [I(193,81)] = {64,0}, + [I(194,81)] = {27,0x7FFF5EC}, + [I(195,81)] = {26,0x3FFF8EC}, + [I(196,81)] = {29,0x1FFFF3EC}, + [I(197,81)] = {30,0x3FFFF96C}, + [I(198,81)] = {29,0x1FFFF46C}, + [I(199,81)] = {X32,0xFFFFF66C}, + [I(200,81)] = {64,0}, + [I(201,81)] = {64,0}, + [I(202,81)] = {64,0}, + [I(203,81)] = {64,0}, + [I(204,81)] = {64,0}, + [I(205,81)] = {64,0}, + [I(206,81)] = {31,0x7FFFF8EC}, + [I(207,81)] = {X32,0xFFFFF6EC}, + [I(208,81)] = {26,0x3FFF96C}, + [I(209,81)] = {28,0xFFFF1EC}, + [I(210,81)] = {64,0}, + [I(211,81)] = {64,0}, + [I(212,81)] = {64,0}, + [I(213,81)] = {64,0}, + [I(214,81)] = {64,0}, + [I(215,81)] = {31,0x7FFFF96C}, + [I(216,81)] = {28,0xFFFF26C}, + [I(217,81)] = {28,0xFFFF2EC}, + [I(218,81)] = {64,0}, + [I(219,81)] = {64,0}, + [I(220,81)] = {64,0}, + [I(221,81)] = {64,0}, + [I(222,81)] = {64,0}, + [I(223,81)] = {64,0}, + [I(224,81)] = {27,0x7FFF66C}, + [I(225,81)] = {31,0x7FFFF9EC}, + [I(226,81)] = {27,0x7FFF6EC}, + [I(227,81)] = {28,0xFFFF36C}, + [I(228,81)] = {29,0x1FFFF4EC}, + [I(229,81)] = {28,0xFFFF3EC}, + [I(230,81)] = {28,0xFFFF46C}, + [I(231,81)] = {30,0x3FFFF9EC}, + [I(232,81)] = {29,0x1FFFF56C}, + [I(233,81)] = {29,0x1FFFF5EC}, + [I(234,81)] = {X32,0xFFFFF76C}, + [I(235,81)] = {X32,0xFFFFF7EC}, + [I(236,81)] = {31,0x7FFFFA6C}, + [I(237,81)] = {31,0x7FFFFAEC}, + [I(238,81)] = {64,0}, + [I(239,81)] = {30,0x3FFFFA6C}, + [I(240,81)] = {64,0}, + [I(241,81)] = {64,0}, + [I(242,81)] = {64,0}, + [I(243,81)] = {64,0}, + [I(244,81)] = {64,0}, + [I(245,81)] = {64,0}, + [I(246,81)] = {64,0}, + [I(247,81)] = {64,0}, + [I(248,81)] = {64,0}, + [I(249,81)] = {64,0}, + [I(250,81)] = {64,0}, + [I(251,81)] = {64,0}, + [I(252,81)] = {64,0}, + [I(253,81)] = {64,0}, + [I(254,81)] = {64,0}, + [I(255,81)] = {64,0}, + [I(0,82)] = {20,0xFFC6D}, + [I(1,82)] = {30,0x3FFFEC6D}, + [I(2,82)] = {64,0}, + [I(3,82)] = {64,0}, + [I(4,82)] = {64,0}, + [I(5,82)] = {64,0}, + [I(6,82)] = {64,0}, + [I(7,82)] = {64,0}, + [I(8,82)] = {64,0}, + [I(9,82)] = {31,0x7FFFF56D}, + [I(10,82)] = {64,0}, + [I(11,82)] = {64,0}, + [I(12,82)] = {64,0}, + [I(13,82)] = {64,0}, + [I(14,82)] = {64,0}, + [I(15,82)] = {64,0}, + [I(16,82)] = {64,0}, + [I(17,82)] = {64,0}, + [I(18,82)] = {64,0}, + [I(19,82)] = {64,0}, + [I(20,82)] = {64,0}, + [I(21,82)] = {64,0}, + [I(22,82)] = {64,0}, + [I(23,82)] = {64,0}, + [I(24,82)] = {64,0}, + [I(25,82)] = {64,0}, + [I(26,82)] = {64,0}, + [I(27,82)] = {64,0}, + [I(28,82)] = {64,0}, + [I(29,82)] = {64,0}, + [I(30,82)] = {64,0}, + [I(31,82)] = {64,0}, + [I(32,82)] = {13,0xA6D}, + [I(33,82)] = {17,0x1FC6D}, + [I(34,82)] = {17,0x1FCED}, + [I(35,82)] = {19,0x7FD6D}, + [I(36,82)] = {20,0xFFCED}, + [I(37,82)] = {13,0xAED}, + [I(38,82)] = {15,0x7C6D}, + [I(39,82)] = {18,0x3FD6D}, + [I(40,82)] = {17,0x1FD6D}, + [I(41,82)] = {17,0x1FDED}, + [I(42,82)] = {15,0x7CED}, + [I(43,82)] = {18,0x3FDED}, + [I(44,82)] = {15,0x7D6D}, + [I(45,82)] = {13,0xB6D}, + [I(46,82)] = {13,0xBED}, + [I(47,82)] = {13,0xC6D}, + [I(48,82)] = {12,0x6D}, + [I(49,82)] = {12,0xED}, + [I(50,82)] = {12,0x16D}, + [I(51,82)] = {13,0xCED}, + [I(52,82)] = {13,0xD6D}, + [I(53,82)] = {13,0xDED}, + [I(54,82)] = {13,0xE6D}, + [I(55,82)] = {13,0xEED}, + [I(56,82)] = {13,0xF6D}, + [I(57,82)] = {13,0xFED}, + [I(58,82)] = {14,0x2E6D}, + [I(59,82)] = {15,0x7DED}, + [I(60,82)] = {22,0x3FFE6D}, + [I(61,82)] = {13,0x106D}, + [I(62,82)] = {19,0x7FDED}, + [I(63,82)] = {17,0x1FE6D}, + [I(64,82)] = {20,0xFFD6D}, + [I(65,82)] = {13,0x10ED}, + [I(66,82)] = {14,0x2EED}, + [I(67,82)] = {14,0x2F6D}, + [I(68,82)] = {14,0x2FED}, + [I(69,82)] = {14,0x306D}, + [I(70,82)] = {14,0x30ED}, + [I(71,82)] = {14,0x316D}, + [I(72,82)] = {14,0x31ED}, + [I(73,82)] = {14,0x326D}, + [I(74,82)] = {14,0x32ED}, + [I(75,82)] = {14,0x336D}, + [I(76,82)] = {14,0x33ED}, + [I(77,82)] = {14,0x346D}, + [I(78,82)] = {14,0x34ED}, + [I(79,82)] = {14,0x356D}, + [I(80,82)] = {14,0x35ED}, + [I(81,82)] = {14,0x366D}, + [I(82,82)] = {14,0x36ED}, + [I(83,82)] = {14,0x376D}, + [I(84,82)] = {14,0x37ED}, + [I(85,82)] = {14,0x386D}, + [I(86,82)] = {14,0x38ED}, + [I(87,82)] = {14,0x396D}, + [I(88,82)] = {15,0x7E6D}, + [I(89,82)] = {14,0x39ED}, + [I(90,82)] = {15,0x7EED}, + [I(91,82)] = {20,0xFFDED}, + [I(92,82)] = {26,0x3FFF86D}, + [I(93,82)] = {20,0xFFE6D}, + [I(94,82)] = {21,0x1FFE6D}, + [I(95,82)] = {13,0x116D}, + [I(96,82)] = {22,0x3FFEED}, + [I(97,82)] = {12,0x1ED}, + [I(98,82)] = {13,0x11ED}, + [I(99,82)] = {12,0x26D}, + [I(100,82)] = {13,0x126D}, + [I(101,82)] = {12,0x2ED}, + [I(102,82)] = {13,0x12ED}, + [I(103,82)] = {13,0x136D}, + [I(104,82)] = {13,0x13ED}, + [I(105,82)] = {12,0x36D}, + [I(106,82)] = {14,0x3A6D}, + [I(107,82)] = {14,0x3AED}, + [I(108,82)] = {13,0x146D}, + [I(109,82)] = {13,0x14ED}, + [I(110,82)] = {13,0x156D}, + [I(111,82)] = {12,0x3ED}, + [I(112,82)] = {13,0x15ED}, + [I(113,82)] = {14,0x3B6D}, + [I(114,82)] = {13,0x166D}, + [I(115,82)] = {12,0x46D}, + [I(116,82)] = {12,0x4ED}, + [I(117,82)] = {13,0x16ED}, + [I(118,82)] = {14,0x3BED}, + [I(119,82)] = {14,0x3C6D}, + [I(120,82)] = {14,0x3CED}, + [I(121,82)] = {14,0x3D6D}, + [I(122,82)] = {14,0x3DED}, + [I(123,82)] = {22,0x3FFF6D}, + [I(124,82)] = {18,0x3FE6D}, + [I(125,82)] = {21,0x1FFEED}, + [I(126,82)] = {20,0xFFEED}, + [I(127,82)] = {64,0}, + [I(128,82)] = {27,0x7FFF36D}, + [I(129,82)] = {29,0x1FFFE96D}, + [I(130,82)] = {27,0x7FFF3ED}, + [I(131,82)] = {27,0x7FFF46D}, + [I(132,82)] = {29,0x1FFFE9ED}, + [I(133,82)] = {29,0x1FFFEA6D}, + [I(134,82)] = {29,0x1FFFEAED}, + [I(135,82)] = {30,0x3FFFECED}, + [I(136,82)] = {29,0x1FFFEB6D}, + [I(137,82)] = {30,0x3FFFED6D}, + [I(138,82)] = {30,0x3FFFEDED}, + [I(139,82)] = {30,0x3FFFEE6D}, + [I(140,82)] = {30,0x3FFFEEED}, + [I(141,82)] = {30,0x3FFFEF6D}, + [I(142,82)] = {31,0x7FFFF5ED}, + [I(143,82)] = {30,0x3FFFEFED}, + [I(144,82)] = {31,0x7FFFF66D}, + [I(145,82)] = {31,0x7FFFF6ED}, + [I(146,82)] = {29,0x1FFFEBED}, + [I(147,82)] = {30,0x3FFFF06D}, + [I(148,82)] = {31,0x7FFFF76D}, + [I(149,82)] = {30,0x3FFFF0ED}, + [I(150,82)] = {30,0x3FFFF16D}, + [I(151,82)] = {30,0x3FFFF1ED}, + [I(152,82)] = {30,0x3FFFF26D}, + [I(153,82)] = {28,0xFFFEE6D}, + [I(154,82)] = {29,0x1FFFEC6D}, + [I(155,82)] = {30,0x3FFFF2ED}, + [I(156,82)] = {29,0x1FFFECED}, + [I(157,82)] = {30,0x3FFFF36D}, + [I(158,82)] = {30,0x3FFFF3ED}, + [I(159,82)] = {31,0x7FFFF7ED}, + [I(160,82)] = {29,0x1FFFED6D}, + [I(161,82)] = {28,0xFFFEEED}, + [I(162,82)] = {27,0x7FFF4ED}, + [I(163,82)] = {29,0x1FFFEDED}, + [I(164,82)] = {29,0x1FFFEE6D}, + [I(165,82)] = {30,0x3FFFF46D}, + [I(166,82)] = {30,0x3FFFF4ED}, + [I(167,82)] = {28,0xFFFEF6D}, + [I(168,82)] = {30,0x3FFFF56D}, + [I(169,82)] = {29,0x1FFFEEED}, + [I(170,82)] = {29,0x1FFFEF6D}, + [I(171,82)] = {31,0x7FFFF86D}, + [I(172,82)] = {28,0xFFFEFED}, + [I(173,82)] = {29,0x1FFFEFED}, + [I(174,82)] = {30,0x3FFFF5ED}, + [I(175,82)] = {30,0x3FFFF66D}, + [I(176,82)] = {28,0xFFFF06D}, + [I(177,82)] = {28,0xFFFF0ED}, + [I(178,82)] = {29,0x1FFFF06D}, + [I(179,82)] = {28,0xFFFF16D}, + [I(180,82)] = {30,0x3FFFF6ED}, + [I(181,82)] = {29,0x1FFFF0ED}, + [I(182,82)] = {30,0x3FFFF76D}, + [I(183,82)] = {30,0x3FFFF7ED}, + [I(184,82)] = {27,0x7FFF56D}, + [I(185,82)] = {29,0x1FFFF16D}, + [I(186,82)] = {29,0x1FFFF1ED}, + [I(187,82)] = {29,0x1FFFF26D}, + [I(188,82)] = {30,0x3FFFF86D}, + [I(189,82)] = {29,0x1FFFF2ED}, + [I(190,82)] = {29,0x1FFFF36D}, + [I(191,82)] = {30,0x3FFFF8ED}, + [I(192,82)] = {64,0}, + [I(193,82)] = {64,0}, + [I(194,82)] = {27,0x7FFF5ED}, + [I(195,82)] = {26,0x3FFF8ED}, + [I(196,82)] = {29,0x1FFFF3ED}, + [I(197,82)] = {30,0x3FFFF96D}, + [I(198,82)] = {29,0x1FFFF46D}, + [I(199,82)] = {X32,0xFFFFF66D}, + [I(200,82)] = {64,0}, + [I(201,82)] = {64,0}, + [I(202,82)] = {64,0}, + [I(203,82)] = {64,0}, + [I(204,82)] = {64,0}, + [I(205,82)] = {64,0}, + [I(206,82)] = {31,0x7FFFF8ED}, + [I(207,82)] = {X32,0xFFFFF6ED}, + [I(208,82)] = {26,0x3FFF96D}, + [I(209,82)] = {28,0xFFFF1ED}, + [I(210,82)] = {64,0}, + [I(211,82)] = {64,0}, + [I(212,82)] = {64,0}, + [I(213,82)] = {64,0}, + [I(214,82)] = {64,0}, + [I(215,82)] = {31,0x7FFFF96D}, + [I(216,82)] = {28,0xFFFF26D}, + [I(217,82)] = {28,0xFFFF2ED}, + [I(218,82)] = {64,0}, + [I(219,82)] = {64,0}, + [I(220,82)] = {64,0}, + [I(221,82)] = {64,0}, + [I(222,82)] = {64,0}, + [I(223,82)] = {64,0}, + [I(224,82)] = {27,0x7FFF66D}, + [I(225,82)] = {31,0x7FFFF9ED}, + [I(226,82)] = {27,0x7FFF6ED}, + [I(227,82)] = {28,0xFFFF36D}, + [I(228,82)] = {29,0x1FFFF4ED}, + [I(229,82)] = {28,0xFFFF3ED}, + [I(230,82)] = {28,0xFFFF46D}, + [I(231,82)] = {30,0x3FFFF9ED}, + [I(232,82)] = {29,0x1FFFF56D}, + [I(233,82)] = {29,0x1FFFF5ED}, + [I(234,82)] = {X32,0xFFFFF76D}, + [I(235,82)] = {X32,0xFFFFF7ED}, + [I(236,82)] = {31,0x7FFFFA6D}, + [I(237,82)] = {31,0x7FFFFAED}, + [I(238,82)] = {64,0}, + [I(239,82)] = {30,0x3FFFFA6D}, + [I(240,82)] = {64,0}, + [I(241,82)] = {64,0}, + [I(242,82)] = {64,0}, + [I(243,82)] = {64,0}, + [I(244,82)] = {64,0}, + [I(245,82)] = {64,0}, + [I(246,82)] = {64,0}, + [I(247,82)] = {64,0}, + [I(248,82)] = {64,0}, + [I(249,82)] = {64,0}, + [I(250,82)] = {64,0}, + [I(251,82)] = {64,0}, + [I(252,82)] = {64,0}, + [I(253,82)] = {64,0}, + [I(254,82)] = {64,0}, + [I(255,82)] = {64,0}, + [I(0,83)] = {20,0xFFC6E}, + [I(1,83)] = {30,0x3FFFEC6E}, + [I(2,83)] = {64,0}, + [I(3,83)] = {64,0}, + [I(4,83)] = {64,0}, + [I(5,83)] = {64,0}, + [I(6,83)] = {64,0}, + [I(7,83)] = {64,0}, + [I(8,83)] = {64,0}, + [I(9,83)] = {31,0x7FFFF56E}, + [I(10,83)] = {64,0}, + [I(11,83)] = {64,0}, + [I(12,83)] = {64,0}, + [I(13,83)] = {64,0}, + [I(14,83)] = {64,0}, + [I(15,83)] = {64,0}, + [I(16,83)] = {64,0}, + [I(17,83)] = {64,0}, + [I(18,83)] = {64,0}, + [I(19,83)] = {64,0}, + [I(20,83)] = {64,0}, + [I(21,83)] = {64,0}, + [I(22,83)] = {64,0}, + [I(23,83)] = {64,0}, + [I(24,83)] = {64,0}, + [I(25,83)] = {64,0}, + [I(26,83)] = {64,0}, + [I(27,83)] = {64,0}, + [I(28,83)] = {64,0}, + [I(29,83)] = {64,0}, + [I(30,83)] = {64,0}, + [I(31,83)] = {64,0}, + [I(32,83)] = {13,0xA6E}, + [I(33,83)] = {17,0x1FC6E}, + [I(34,83)] = {17,0x1FCEE}, + [I(35,83)] = {19,0x7FD6E}, + [I(36,83)] = {20,0xFFCEE}, + [I(37,83)] = {13,0xAEE}, + [I(38,83)] = {15,0x7C6E}, + [I(39,83)] = {18,0x3FD6E}, + [I(40,83)] = {17,0x1FD6E}, + [I(41,83)] = {17,0x1FDEE}, + [I(42,83)] = {15,0x7CEE}, + [I(43,83)] = {18,0x3FDEE}, + [I(44,83)] = {15,0x7D6E}, + [I(45,83)] = {13,0xB6E}, + [I(46,83)] = {13,0xBEE}, + [I(47,83)] = {13,0xC6E}, + [I(48,83)] = {12,0x6E}, + [I(49,83)] = {12,0xEE}, + [I(50,83)] = {12,0x16E}, + [I(51,83)] = {13,0xCEE}, + [I(52,83)] = {13,0xD6E}, + [I(53,83)] = {13,0xDEE}, + [I(54,83)] = {13,0xE6E}, + [I(55,83)] = {13,0xEEE}, + [I(56,83)] = {13,0xF6E}, + [I(57,83)] = {13,0xFEE}, + [I(58,83)] = {14,0x2E6E}, + [I(59,83)] = {15,0x7DEE}, + [I(60,83)] = {22,0x3FFE6E}, + [I(61,83)] = {13,0x106E}, + [I(62,83)] = {19,0x7FDEE}, + [I(63,83)] = {17,0x1FE6E}, + [I(64,83)] = {20,0xFFD6E}, + [I(65,83)] = {13,0x10EE}, + [I(66,83)] = {14,0x2EEE}, + [I(67,83)] = {14,0x2F6E}, + [I(68,83)] = {14,0x2FEE}, + [I(69,83)] = {14,0x306E}, + [I(70,83)] = {14,0x30EE}, + [I(71,83)] = {14,0x316E}, + [I(72,83)] = {14,0x31EE}, + [I(73,83)] = {14,0x326E}, + [I(74,83)] = {14,0x32EE}, + [I(75,83)] = {14,0x336E}, + [I(76,83)] = {14,0x33EE}, + [I(77,83)] = {14,0x346E}, + [I(78,83)] = {14,0x34EE}, + [I(79,83)] = {14,0x356E}, + [I(80,83)] = {14,0x35EE}, + [I(81,83)] = {14,0x366E}, + [I(82,83)] = {14,0x36EE}, + [I(83,83)] = {14,0x376E}, + [I(84,83)] = {14,0x37EE}, + [I(85,83)] = {14,0x386E}, + [I(86,83)] = {14,0x38EE}, + [I(87,83)] = {14,0x396E}, + [I(88,83)] = {15,0x7E6E}, + [I(89,83)] = {14,0x39EE}, + [I(90,83)] = {15,0x7EEE}, + [I(91,83)] = {20,0xFFDEE}, + [I(92,83)] = {26,0x3FFF86E}, + [I(93,83)] = {20,0xFFE6E}, + [I(94,83)] = {21,0x1FFE6E}, + [I(95,83)] = {13,0x116E}, + [I(96,83)] = {22,0x3FFEEE}, + [I(97,83)] = {12,0x1EE}, + [I(98,83)] = {13,0x11EE}, + [I(99,83)] = {12,0x26E}, + [I(100,83)] = {13,0x126E}, + [I(101,83)] = {12,0x2EE}, + [I(102,83)] = {13,0x12EE}, + [I(103,83)] = {13,0x136E}, + [I(104,83)] = {13,0x13EE}, + [I(105,83)] = {12,0x36E}, + [I(106,83)] = {14,0x3A6E}, + [I(107,83)] = {14,0x3AEE}, + [I(108,83)] = {13,0x146E}, + [I(109,83)] = {13,0x14EE}, + [I(110,83)] = {13,0x156E}, + [I(111,83)] = {12,0x3EE}, + [I(112,83)] = {13,0x15EE}, + [I(113,83)] = {14,0x3B6E}, + [I(114,83)] = {13,0x166E}, + [I(115,83)] = {12,0x46E}, + [I(116,83)] = {12,0x4EE}, + [I(117,83)] = {13,0x16EE}, + [I(118,83)] = {14,0x3BEE}, + [I(119,83)] = {14,0x3C6E}, + [I(120,83)] = {14,0x3CEE}, + [I(121,83)] = {14,0x3D6E}, + [I(122,83)] = {14,0x3DEE}, + [I(123,83)] = {22,0x3FFF6E}, + [I(124,83)] = {18,0x3FE6E}, + [I(125,83)] = {21,0x1FFEEE}, + [I(126,83)] = {20,0xFFEEE}, + [I(127,83)] = {64,0}, + [I(128,83)] = {27,0x7FFF36E}, + [I(129,83)] = {29,0x1FFFE96E}, + [I(130,83)] = {27,0x7FFF3EE}, + [I(131,83)] = {27,0x7FFF46E}, + [I(132,83)] = {29,0x1FFFE9EE}, + [I(133,83)] = {29,0x1FFFEA6E}, + [I(134,83)] = {29,0x1FFFEAEE}, + [I(135,83)] = {30,0x3FFFECEE}, + [I(136,83)] = {29,0x1FFFEB6E}, + [I(137,83)] = {30,0x3FFFED6E}, + [I(138,83)] = {30,0x3FFFEDEE}, + [I(139,83)] = {30,0x3FFFEE6E}, + [I(140,83)] = {30,0x3FFFEEEE}, + [I(141,83)] = {30,0x3FFFEF6E}, + [I(142,83)] = {31,0x7FFFF5EE}, + [I(143,83)] = {30,0x3FFFEFEE}, + [I(144,83)] = {31,0x7FFFF66E}, + [I(145,83)] = {31,0x7FFFF6EE}, + [I(146,83)] = {29,0x1FFFEBEE}, + [I(147,83)] = {30,0x3FFFF06E}, + [I(148,83)] = {31,0x7FFFF76E}, + [I(149,83)] = {30,0x3FFFF0EE}, + [I(150,83)] = {30,0x3FFFF16E}, + [I(151,83)] = {30,0x3FFFF1EE}, + [I(152,83)] = {30,0x3FFFF26E}, + [I(153,83)] = {28,0xFFFEE6E}, + [I(154,83)] = {29,0x1FFFEC6E}, + [I(155,83)] = {30,0x3FFFF2EE}, + [I(156,83)] = {29,0x1FFFECEE}, + [I(157,83)] = {30,0x3FFFF36E}, + [I(158,83)] = {30,0x3FFFF3EE}, + [I(159,83)] = {31,0x7FFFF7EE}, + [I(160,83)] = {29,0x1FFFED6E}, + [I(161,83)] = {28,0xFFFEEEE}, + [I(162,83)] = {27,0x7FFF4EE}, + [I(163,83)] = {29,0x1FFFEDEE}, + [I(164,83)] = {29,0x1FFFEE6E}, + [I(165,83)] = {30,0x3FFFF46E}, + [I(166,83)] = {30,0x3FFFF4EE}, + [I(167,83)] = {28,0xFFFEF6E}, + [I(168,83)] = {30,0x3FFFF56E}, + [I(169,83)] = {29,0x1FFFEEEE}, + [I(170,83)] = {29,0x1FFFEF6E}, + [I(171,83)] = {31,0x7FFFF86E}, + [I(172,83)] = {28,0xFFFEFEE}, + [I(173,83)] = {29,0x1FFFEFEE}, + [I(174,83)] = {30,0x3FFFF5EE}, + [I(175,83)] = {30,0x3FFFF66E}, + [I(176,83)] = {28,0xFFFF06E}, + [I(177,83)] = {28,0xFFFF0EE}, + [I(178,83)] = {29,0x1FFFF06E}, + [I(179,83)] = {28,0xFFFF16E}, + [I(180,83)] = {30,0x3FFFF6EE}, + [I(181,83)] = {29,0x1FFFF0EE}, + [I(182,83)] = {30,0x3FFFF76E}, + [I(183,83)] = {30,0x3FFFF7EE}, + [I(184,83)] = {27,0x7FFF56E}, + [I(185,83)] = {29,0x1FFFF16E}, + [I(186,83)] = {29,0x1FFFF1EE}, + [I(187,83)] = {29,0x1FFFF26E}, + [I(188,83)] = {30,0x3FFFF86E}, + [I(189,83)] = {29,0x1FFFF2EE}, + [I(190,83)] = {29,0x1FFFF36E}, + [I(191,83)] = {30,0x3FFFF8EE}, + [I(192,83)] = {64,0}, + [I(193,83)] = {64,0}, + [I(194,83)] = {27,0x7FFF5EE}, + [I(195,83)] = {26,0x3FFF8EE}, + [I(196,83)] = {29,0x1FFFF3EE}, + [I(197,83)] = {30,0x3FFFF96E}, + [I(198,83)] = {29,0x1FFFF46E}, + [I(199,83)] = {X32,0xFFFFF66E}, + [I(200,83)] = {64,0}, + [I(201,83)] = {64,0}, + [I(202,83)] = {64,0}, + [I(203,83)] = {64,0}, + [I(204,83)] = {64,0}, + [I(205,83)] = {64,0}, + [I(206,83)] = {31,0x7FFFF8EE}, + [I(207,83)] = {X32,0xFFFFF6EE}, + [I(208,83)] = {26,0x3FFF96E}, + [I(209,83)] = {28,0xFFFF1EE}, + [I(210,83)] = {64,0}, + [I(211,83)] = {64,0}, + [I(212,83)] = {64,0}, + [I(213,83)] = {64,0}, + [I(214,83)] = {64,0}, + [I(215,83)] = {31,0x7FFFF96E}, + [I(216,83)] = {28,0xFFFF26E}, + [I(217,83)] = {28,0xFFFF2EE}, + [I(218,83)] = {64,0}, + [I(219,83)] = {64,0}, + [I(220,83)] = {64,0}, + [I(221,83)] = {64,0}, + [I(222,83)] = {64,0}, + [I(223,83)] = {64,0}, + [I(224,83)] = {27,0x7FFF66E}, + [I(225,83)] = {31,0x7FFFF9EE}, + [I(226,83)] = {27,0x7FFF6EE}, + [I(227,83)] = {28,0xFFFF36E}, + [I(228,83)] = {29,0x1FFFF4EE}, + [I(229,83)] = {28,0xFFFF3EE}, + [I(230,83)] = {28,0xFFFF46E}, + [I(231,83)] = {30,0x3FFFF9EE}, + [I(232,83)] = {29,0x1FFFF56E}, + [I(233,83)] = {29,0x1FFFF5EE}, + [I(234,83)] = {X32,0xFFFFF76E}, + [I(235,83)] = {X32,0xFFFFF7EE}, + [I(236,83)] = {31,0x7FFFFA6E}, + [I(237,83)] = {31,0x7FFFFAEE}, + [I(238,83)] = {64,0}, + [I(239,83)] = {30,0x3FFFFA6E}, + [I(240,83)] = {64,0}, + [I(241,83)] = {64,0}, + [I(242,83)] = {64,0}, + [I(243,83)] = {64,0}, + [I(244,83)] = {64,0}, + [I(245,83)] = {64,0}, + [I(246,83)] = {64,0}, + [I(247,83)] = {64,0}, + [I(248,83)] = {64,0}, + [I(249,83)] = {64,0}, + [I(250,83)] = {64,0}, + [I(251,83)] = {64,0}, + [I(252,83)] = {64,0}, + [I(253,83)] = {64,0}, + [I(254,83)] = {64,0}, + [I(255,83)] = {64,0}, + [I(0,84)] = {20,0xFFC6F}, + [I(1,84)] = {30,0x3FFFEC6F}, + [I(2,84)] = {64,0}, + [I(3,84)] = {64,0}, + [I(4,84)] = {64,0}, + [I(5,84)] = {64,0}, + [I(6,84)] = {64,0}, + [I(7,84)] = {64,0}, + [I(8,84)] = {64,0}, + [I(9,84)] = {31,0x7FFFF56F}, + [I(10,84)] = {64,0}, + [I(11,84)] = {64,0}, + [I(12,84)] = {64,0}, + [I(13,84)] = {64,0}, + [I(14,84)] = {64,0}, + [I(15,84)] = {64,0}, + [I(16,84)] = {64,0}, + [I(17,84)] = {64,0}, + [I(18,84)] = {64,0}, + [I(19,84)] = {64,0}, + [I(20,84)] = {64,0}, + [I(21,84)] = {64,0}, + [I(22,84)] = {64,0}, + [I(23,84)] = {64,0}, + [I(24,84)] = {64,0}, + [I(25,84)] = {64,0}, + [I(26,84)] = {64,0}, + [I(27,84)] = {64,0}, + [I(28,84)] = {64,0}, + [I(29,84)] = {64,0}, + [I(30,84)] = {64,0}, + [I(31,84)] = {64,0}, + [I(32,84)] = {13,0xA6F}, + [I(33,84)] = {17,0x1FC6F}, + [I(34,84)] = {17,0x1FCEF}, + [I(35,84)] = {19,0x7FD6F}, + [I(36,84)] = {20,0xFFCEF}, + [I(37,84)] = {13,0xAEF}, + [I(38,84)] = {15,0x7C6F}, + [I(39,84)] = {18,0x3FD6F}, + [I(40,84)] = {17,0x1FD6F}, + [I(41,84)] = {17,0x1FDEF}, + [I(42,84)] = {15,0x7CEF}, + [I(43,84)] = {18,0x3FDEF}, + [I(44,84)] = {15,0x7D6F}, + [I(45,84)] = {13,0xB6F}, + [I(46,84)] = {13,0xBEF}, + [I(47,84)] = {13,0xC6F}, + [I(48,84)] = {12,0x6F}, + [I(49,84)] = {12,0xEF}, + [I(50,84)] = {12,0x16F}, + [I(51,84)] = {13,0xCEF}, + [I(52,84)] = {13,0xD6F}, + [I(53,84)] = {13,0xDEF}, + [I(54,84)] = {13,0xE6F}, + [I(55,84)] = {13,0xEEF}, + [I(56,84)] = {13,0xF6F}, + [I(57,84)] = {13,0xFEF}, + [I(58,84)] = {14,0x2E6F}, + [I(59,84)] = {15,0x7DEF}, + [I(60,84)] = {22,0x3FFE6F}, + [I(61,84)] = {13,0x106F}, + [I(62,84)] = {19,0x7FDEF}, + [I(63,84)] = {17,0x1FE6F}, + [I(64,84)] = {20,0xFFD6F}, + [I(65,84)] = {13,0x10EF}, + [I(66,84)] = {14,0x2EEF}, + [I(67,84)] = {14,0x2F6F}, + [I(68,84)] = {14,0x2FEF}, + [I(69,84)] = {14,0x306F}, + [I(70,84)] = {14,0x30EF}, + [I(71,84)] = {14,0x316F}, + [I(72,84)] = {14,0x31EF}, + [I(73,84)] = {14,0x326F}, + [I(74,84)] = {14,0x32EF}, + [I(75,84)] = {14,0x336F}, + [I(76,84)] = {14,0x33EF}, + [I(77,84)] = {14,0x346F}, + [I(78,84)] = {14,0x34EF}, + [I(79,84)] = {14,0x356F}, + [I(80,84)] = {14,0x35EF}, + [I(81,84)] = {14,0x366F}, + [I(82,84)] = {14,0x36EF}, + [I(83,84)] = {14,0x376F}, + [I(84,84)] = {14,0x37EF}, + [I(85,84)] = {14,0x386F}, + [I(86,84)] = {14,0x38EF}, + [I(87,84)] = {14,0x396F}, + [I(88,84)] = {15,0x7E6F}, + [I(89,84)] = {14,0x39EF}, + [I(90,84)] = {15,0x7EEF}, + [I(91,84)] = {20,0xFFDEF}, + [I(92,84)] = {26,0x3FFF86F}, + [I(93,84)] = {20,0xFFE6F}, + [I(94,84)] = {21,0x1FFE6F}, + [I(95,84)] = {13,0x116F}, + [I(96,84)] = {22,0x3FFEEF}, + [I(97,84)] = {12,0x1EF}, + [I(98,84)] = {13,0x11EF}, + [I(99,84)] = {12,0x26F}, + [I(100,84)] = {13,0x126F}, + [I(101,84)] = {12,0x2EF}, + [I(102,84)] = {13,0x12EF}, + [I(103,84)] = {13,0x136F}, + [I(104,84)] = {13,0x13EF}, + [I(105,84)] = {12,0x36F}, + [I(106,84)] = {14,0x3A6F}, + [I(107,84)] = {14,0x3AEF}, + [I(108,84)] = {13,0x146F}, + [I(109,84)] = {13,0x14EF}, + [I(110,84)] = {13,0x156F}, + [I(111,84)] = {12,0x3EF}, + [I(112,84)] = {13,0x15EF}, + [I(113,84)] = {14,0x3B6F}, + [I(114,84)] = {13,0x166F}, + [I(115,84)] = {12,0x46F}, + [I(116,84)] = {12,0x4EF}, + [I(117,84)] = {13,0x16EF}, + [I(118,84)] = {14,0x3BEF}, + [I(119,84)] = {14,0x3C6F}, + [I(120,84)] = {14,0x3CEF}, + [I(121,84)] = {14,0x3D6F}, + [I(122,84)] = {14,0x3DEF}, + [I(123,84)] = {22,0x3FFF6F}, + [I(124,84)] = {18,0x3FE6F}, + [I(125,84)] = {21,0x1FFEEF}, + [I(126,84)] = {20,0xFFEEF}, + [I(127,84)] = {64,0}, + [I(128,84)] = {27,0x7FFF36F}, + [I(129,84)] = {29,0x1FFFE96F}, + [I(130,84)] = {27,0x7FFF3EF}, + [I(131,84)] = {27,0x7FFF46F}, + [I(132,84)] = {29,0x1FFFE9EF}, + [I(133,84)] = {29,0x1FFFEA6F}, + [I(134,84)] = {29,0x1FFFEAEF}, + [I(135,84)] = {30,0x3FFFECEF}, + [I(136,84)] = {29,0x1FFFEB6F}, + [I(137,84)] = {30,0x3FFFED6F}, + [I(138,84)] = {30,0x3FFFEDEF}, + [I(139,84)] = {30,0x3FFFEE6F}, + [I(140,84)] = {30,0x3FFFEEEF}, + [I(141,84)] = {30,0x3FFFEF6F}, + [I(142,84)] = {31,0x7FFFF5EF}, + [I(143,84)] = {30,0x3FFFEFEF}, + [I(144,84)] = {31,0x7FFFF66F}, + [I(145,84)] = {31,0x7FFFF6EF}, + [I(146,84)] = {29,0x1FFFEBEF}, + [I(147,84)] = {30,0x3FFFF06F}, + [I(148,84)] = {31,0x7FFFF76F}, + [I(149,84)] = {30,0x3FFFF0EF}, + [I(150,84)] = {30,0x3FFFF16F}, + [I(151,84)] = {30,0x3FFFF1EF}, + [I(152,84)] = {30,0x3FFFF26F}, + [I(153,84)] = {28,0xFFFEE6F}, + [I(154,84)] = {29,0x1FFFEC6F}, + [I(155,84)] = {30,0x3FFFF2EF}, + [I(156,84)] = {29,0x1FFFECEF}, + [I(157,84)] = {30,0x3FFFF36F}, + [I(158,84)] = {30,0x3FFFF3EF}, + [I(159,84)] = {31,0x7FFFF7EF}, + [I(160,84)] = {29,0x1FFFED6F}, + [I(161,84)] = {28,0xFFFEEEF}, + [I(162,84)] = {27,0x7FFF4EF}, + [I(163,84)] = {29,0x1FFFEDEF}, + [I(164,84)] = {29,0x1FFFEE6F}, + [I(165,84)] = {30,0x3FFFF46F}, + [I(166,84)] = {30,0x3FFFF4EF}, + [I(167,84)] = {28,0xFFFEF6F}, + [I(168,84)] = {30,0x3FFFF56F}, + [I(169,84)] = {29,0x1FFFEEEF}, + [I(170,84)] = {29,0x1FFFEF6F}, + [I(171,84)] = {31,0x7FFFF86F}, + [I(172,84)] = {28,0xFFFEFEF}, + [I(173,84)] = {29,0x1FFFEFEF}, + [I(174,84)] = {30,0x3FFFF5EF}, + [I(175,84)] = {30,0x3FFFF66F}, + [I(176,84)] = {28,0xFFFF06F}, + [I(177,84)] = {28,0xFFFF0EF}, + [I(178,84)] = {29,0x1FFFF06F}, + [I(179,84)] = {28,0xFFFF16F}, + [I(180,84)] = {30,0x3FFFF6EF}, + [I(181,84)] = {29,0x1FFFF0EF}, + [I(182,84)] = {30,0x3FFFF76F}, + [I(183,84)] = {30,0x3FFFF7EF}, + [I(184,84)] = {27,0x7FFF56F}, + [I(185,84)] = {29,0x1FFFF16F}, + [I(186,84)] = {29,0x1FFFF1EF}, + [I(187,84)] = {29,0x1FFFF26F}, + [I(188,84)] = {30,0x3FFFF86F}, + [I(189,84)] = {29,0x1FFFF2EF}, + [I(190,84)] = {29,0x1FFFF36F}, + [I(191,84)] = {30,0x3FFFF8EF}, + [I(192,84)] = {64,0}, + [I(193,84)] = {64,0}, + [I(194,84)] = {27,0x7FFF5EF}, + [I(195,84)] = {26,0x3FFF8EF}, + [I(196,84)] = {29,0x1FFFF3EF}, + [I(197,84)] = {30,0x3FFFF96F}, + [I(198,84)] = {29,0x1FFFF46F}, + [I(199,84)] = {X32,0xFFFFF66F}, + [I(200,84)] = {64,0}, + [I(201,84)] = {64,0}, + [I(202,84)] = {64,0}, + [I(203,84)] = {64,0}, + [I(204,84)] = {64,0}, + [I(205,84)] = {64,0}, + [I(206,84)] = {31,0x7FFFF8EF}, + [I(207,84)] = {X32,0xFFFFF6EF}, + [I(208,84)] = {26,0x3FFF96F}, + [I(209,84)] = {28,0xFFFF1EF}, + [I(210,84)] = {64,0}, + [I(211,84)] = {64,0}, + [I(212,84)] = {64,0}, + [I(213,84)] = {64,0}, + [I(214,84)] = {64,0}, + [I(215,84)] = {31,0x7FFFF96F}, + [I(216,84)] = {28,0xFFFF26F}, + [I(217,84)] = {28,0xFFFF2EF}, + [I(218,84)] = {64,0}, + [I(219,84)] = {64,0}, + [I(220,84)] = {64,0}, + [I(221,84)] = {64,0}, + [I(222,84)] = {64,0}, + [I(223,84)] = {64,0}, + [I(224,84)] = {27,0x7FFF66F}, + [I(225,84)] = {31,0x7FFFF9EF}, + [I(226,84)] = {27,0x7FFF6EF}, + [I(227,84)] = {28,0xFFFF36F}, + [I(228,84)] = {29,0x1FFFF4EF}, + [I(229,84)] = {28,0xFFFF3EF}, + [I(230,84)] = {28,0xFFFF46F}, + [I(231,84)] = {30,0x3FFFF9EF}, + [I(232,84)] = {29,0x1FFFF56F}, + [I(233,84)] = {29,0x1FFFF5EF}, + [I(234,84)] = {X32,0xFFFFF76F}, + [I(235,84)] = {X32,0xFFFFF7EF}, + [I(236,84)] = {31,0x7FFFFA6F}, + [I(237,84)] = {31,0x7FFFFAEF}, + [I(238,84)] = {64,0}, + [I(239,84)] = {30,0x3FFFFA6F}, + [I(240,84)] = {64,0}, + [I(241,84)] = {64,0}, + [I(242,84)] = {64,0}, + [I(243,84)] = {64,0}, + [I(244,84)] = {64,0}, + [I(245,84)] = {64,0}, + [I(246,84)] = {64,0}, + [I(247,84)] = {64,0}, + [I(248,84)] = {64,0}, + [I(249,84)] = {64,0}, + [I(250,84)] = {64,0}, + [I(251,84)] = {64,0}, + [I(252,84)] = {64,0}, + [I(253,84)] = {64,0}, + [I(254,84)] = {64,0}, + [I(255,84)] = {64,0}, + [I(0,85)] = {20,0xFFC70}, + [I(1,85)] = {30,0x3FFFEC70}, + [I(2,85)] = {64,0}, + [I(3,85)] = {64,0}, + [I(4,85)] = {64,0}, + [I(5,85)] = {64,0}, + [I(6,85)] = {64,0}, + [I(7,85)] = {64,0}, + [I(8,85)] = {64,0}, + [I(9,85)] = {31,0x7FFFF570}, + [I(10,85)] = {64,0}, + [I(11,85)] = {64,0}, + [I(12,85)] = {64,0}, + [I(13,85)] = {64,0}, + [I(14,85)] = {64,0}, + [I(15,85)] = {64,0}, + [I(16,85)] = {64,0}, + [I(17,85)] = {64,0}, + [I(18,85)] = {64,0}, + [I(19,85)] = {64,0}, + [I(20,85)] = {64,0}, + [I(21,85)] = {64,0}, + [I(22,85)] = {64,0}, + [I(23,85)] = {64,0}, + [I(24,85)] = {64,0}, + [I(25,85)] = {64,0}, + [I(26,85)] = {64,0}, + [I(27,85)] = {64,0}, + [I(28,85)] = {64,0}, + [I(29,85)] = {64,0}, + [I(30,85)] = {64,0}, + [I(31,85)] = {64,0}, + [I(32,85)] = {13,0xA70}, + [I(33,85)] = {17,0x1FC70}, + [I(34,85)] = {17,0x1FCF0}, + [I(35,85)] = {19,0x7FD70}, + [I(36,85)] = {20,0xFFCF0}, + [I(37,85)] = {13,0xAF0}, + [I(38,85)] = {15,0x7C70}, + [I(39,85)] = {18,0x3FD70}, + [I(40,85)] = {17,0x1FD70}, + [I(41,85)] = {17,0x1FDF0}, + [I(42,85)] = {15,0x7CF0}, + [I(43,85)] = {18,0x3FDF0}, + [I(44,85)] = {15,0x7D70}, + [I(45,85)] = {13,0xB70}, + [I(46,85)] = {13,0xBF0}, + [I(47,85)] = {13,0xC70}, + [I(48,85)] = {12,0x70}, + [I(49,85)] = {12,0xF0}, + [I(50,85)] = {12,0x170}, + [I(51,85)] = {13,0xCF0}, + [I(52,85)] = {13,0xD70}, + [I(53,85)] = {13,0xDF0}, + [I(54,85)] = {13,0xE70}, + [I(55,85)] = {13,0xEF0}, + [I(56,85)] = {13,0xF70}, + [I(57,85)] = {13,0xFF0}, + [I(58,85)] = {14,0x2E70}, + [I(59,85)] = {15,0x7DF0}, + [I(60,85)] = {22,0x3FFE70}, + [I(61,85)] = {13,0x1070}, + [I(62,85)] = {19,0x7FDF0}, + [I(63,85)] = {17,0x1FE70}, + [I(64,85)] = {20,0xFFD70}, + [I(65,85)] = {13,0x10F0}, + [I(66,85)] = {14,0x2EF0}, + [I(67,85)] = {14,0x2F70}, + [I(68,85)] = {14,0x2FF0}, + [I(69,85)] = {14,0x3070}, + [I(70,85)] = {14,0x30F0}, + [I(71,85)] = {14,0x3170}, + [I(72,85)] = {14,0x31F0}, + [I(73,85)] = {14,0x3270}, + [I(74,85)] = {14,0x32F0}, + [I(75,85)] = {14,0x3370}, + [I(76,85)] = {14,0x33F0}, + [I(77,85)] = {14,0x3470}, + [I(78,85)] = {14,0x34F0}, + [I(79,85)] = {14,0x3570}, + [I(80,85)] = {14,0x35F0}, + [I(81,85)] = {14,0x3670}, + [I(82,85)] = {14,0x36F0}, + [I(83,85)] = {14,0x3770}, + [I(84,85)] = {14,0x37F0}, + [I(85,85)] = {14,0x3870}, + [I(86,85)] = {14,0x38F0}, + [I(87,85)] = {14,0x3970}, + [I(88,85)] = {15,0x7E70}, + [I(89,85)] = {14,0x39F0}, + [I(90,85)] = {15,0x7EF0}, + [I(91,85)] = {20,0xFFDF0}, + [I(92,85)] = {26,0x3FFF870}, + [I(93,85)] = {20,0xFFE70}, + [I(94,85)] = {21,0x1FFE70}, + [I(95,85)] = {13,0x1170}, + [I(96,85)] = {22,0x3FFEF0}, + [I(97,85)] = {12,0x1F0}, + [I(98,85)] = {13,0x11F0}, + [I(99,85)] = {12,0x270}, + [I(100,85)] = {13,0x1270}, + [I(101,85)] = {12,0x2F0}, + [I(102,85)] = {13,0x12F0}, + [I(103,85)] = {13,0x1370}, + [I(104,85)] = {13,0x13F0}, + [I(105,85)] = {12,0x370}, + [I(106,85)] = {14,0x3A70}, + [I(107,85)] = {14,0x3AF0}, + [I(108,85)] = {13,0x1470}, + [I(109,85)] = {13,0x14F0}, + [I(110,85)] = {13,0x1570}, + [I(111,85)] = {12,0x3F0}, + [I(112,85)] = {13,0x15F0}, + [I(113,85)] = {14,0x3B70}, + [I(114,85)] = {13,0x1670}, + [I(115,85)] = {12,0x470}, + [I(116,85)] = {12,0x4F0}, + [I(117,85)] = {13,0x16F0}, + [I(118,85)] = {14,0x3BF0}, + [I(119,85)] = {14,0x3C70}, + [I(120,85)] = {14,0x3CF0}, + [I(121,85)] = {14,0x3D70}, + [I(122,85)] = {14,0x3DF0}, + [I(123,85)] = {22,0x3FFF70}, + [I(124,85)] = {18,0x3FE70}, + [I(125,85)] = {21,0x1FFEF0}, + [I(126,85)] = {20,0xFFEF0}, + [I(127,85)] = {64,0}, + [I(128,85)] = {27,0x7FFF370}, + [I(129,85)] = {29,0x1FFFE970}, + [I(130,85)] = {27,0x7FFF3F0}, + [I(131,85)] = {27,0x7FFF470}, + [I(132,85)] = {29,0x1FFFE9F0}, + [I(133,85)] = {29,0x1FFFEA70}, + [I(134,85)] = {29,0x1FFFEAF0}, + [I(135,85)] = {30,0x3FFFECF0}, + [I(136,85)] = {29,0x1FFFEB70}, + [I(137,85)] = {30,0x3FFFED70}, + [I(138,85)] = {30,0x3FFFEDF0}, + [I(139,85)] = {30,0x3FFFEE70}, + [I(140,85)] = {30,0x3FFFEEF0}, + [I(141,85)] = {30,0x3FFFEF70}, + [I(142,85)] = {31,0x7FFFF5F0}, + [I(143,85)] = {30,0x3FFFEFF0}, + [I(144,85)] = {31,0x7FFFF670}, + [I(145,85)] = {31,0x7FFFF6F0}, + [I(146,85)] = {29,0x1FFFEBF0}, + [I(147,85)] = {30,0x3FFFF070}, + [I(148,85)] = {31,0x7FFFF770}, + [I(149,85)] = {30,0x3FFFF0F0}, + [I(150,85)] = {30,0x3FFFF170}, + [I(151,85)] = {30,0x3FFFF1F0}, + [I(152,85)] = {30,0x3FFFF270}, + [I(153,85)] = {28,0xFFFEE70}, + [I(154,85)] = {29,0x1FFFEC70}, + [I(155,85)] = {30,0x3FFFF2F0}, + [I(156,85)] = {29,0x1FFFECF0}, + [I(157,85)] = {30,0x3FFFF370}, + [I(158,85)] = {30,0x3FFFF3F0}, + [I(159,85)] = {31,0x7FFFF7F0}, + [I(160,85)] = {29,0x1FFFED70}, + [I(161,85)] = {28,0xFFFEEF0}, + [I(162,85)] = {27,0x7FFF4F0}, + [I(163,85)] = {29,0x1FFFEDF0}, + [I(164,85)] = {29,0x1FFFEE70}, + [I(165,85)] = {30,0x3FFFF470}, + [I(166,85)] = {30,0x3FFFF4F0}, + [I(167,85)] = {28,0xFFFEF70}, + [I(168,85)] = {30,0x3FFFF570}, + [I(169,85)] = {29,0x1FFFEEF0}, + [I(170,85)] = {29,0x1FFFEF70}, + [I(171,85)] = {31,0x7FFFF870}, + [I(172,85)] = {28,0xFFFEFF0}, + [I(173,85)] = {29,0x1FFFEFF0}, + [I(174,85)] = {30,0x3FFFF5F0}, + [I(175,85)] = {30,0x3FFFF670}, + [I(176,85)] = {28,0xFFFF070}, + [I(177,85)] = {28,0xFFFF0F0}, + [I(178,85)] = {29,0x1FFFF070}, + [I(179,85)] = {28,0xFFFF170}, + [I(180,85)] = {30,0x3FFFF6F0}, + [I(181,85)] = {29,0x1FFFF0F0}, + [I(182,85)] = {30,0x3FFFF770}, + [I(183,85)] = {30,0x3FFFF7F0}, + [I(184,85)] = {27,0x7FFF570}, + [I(185,85)] = {29,0x1FFFF170}, + [I(186,85)] = {29,0x1FFFF1F0}, + [I(187,85)] = {29,0x1FFFF270}, + [I(188,85)] = {30,0x3FFFF870}, + [I(189,85)] = {29,0x1FFFF2F0}, + [I(190,85)] = {29,0x1FFFF370}, + [I(191,85)] = {30,0x3FFFF8F0}, + [I(192,85)] = {64,0}, + [I(193,85)] = {64,0}, + [I(194,85)] = {27,0x7FFF5F0}, + [I(195,85)] = {26,0x3FFF8F0}, + [I(196,85)] = {29,0x1FFFF3F0}, + [I(197,85)] = {30,0x3FFFF970}, + [I(198,85)] = {29,0x1FFFF470}, + [I(199,85)] = {X32,0xFFFFF670}, + [I(200,85)] = {64,0}, + [I(201,85)] = {64,0}, + [I(202,85)] = {64,0}, + [I(203,85)] = {64,0}, + [I(204,85)] = {64,0}, + [I(205,85)] = {64,0}, + [I(206,85)] = {31,0x7FFFF8F0}, + [I(207,85)] = {X32,0xFFFFF6F0}, + [I(208,85)] = {26,0x3FFF970}, + [I(209,85)] = {28,0xFFFF1F0}, + [I(210,85)] = {64,0}, + [I(211,85)] = {64,0}, + [I(212,85)] = {64,0}, + [I(213,85)] = {64,0}, + [I(214,85)] = {64,0}, + [I(215,85)] = {31,0x7FFFF970}, + [I(216,85)] = {28,0xFFFF270}, + [I(217,85)] = {28,0xFFFF2F0}, + [I(218,85)] = {64,0}, + [I(219,85)] = {64,0}, + [I(220,85)] = {64,0}, + [I(221,85)] = {64,0}, + [I(222,85)] = {64,0}, + [I(223,85)] = {64,0}, + [I(224,85)] = {27,0x7FFF670}, + [I(225,85)] = {31,0x7FFFF9F0}, + [I(226,85)] = {27,0x7FFF6F0}, + [I(227,85)] = {28,0xFFFF370}, + [I(228,85)] = {29,0x1FFFF4F0}, + [I(229,85)] = {28,0xFFFF3F0}, + [I(230,85)] = {28,0xFFFF470}, + [I(231,85)] = {30,0x3FFFF9F0}, + [I(232,85)] = {29,0x1FFFF570}, + [I(233,85)] = {29,0x1FFFF5F0}, + [I(234,85)] = {X32,0xFFFFF770}, + [I(235,85)] = {X32,0xFFFFF7F0}, + [I(236,85)] = {31,0x7FFFFA70}, + [I(237,85)] = {31,0x7FFFFAF0}, + [I(238,85)] = {64,0}, + [I(239,85)] = {30,0x3FFFFA70}, + [I(240,85)] = {64,0}, + [I(241,85)] = {64,0}, + [I(242,85)] = {64,0}, + [I(243,85)] = {64,0}, + [I(244,85)] = {64,0}, + [I(245,85)] = {64,0}, + [I(246,85)] = {64,0}, + [I(247,85)] = {64,0}, + [I(248,85)] = {64,0}, + [I(249,85)] = {64,0}, + [I(250,85)] = {64,0}, + [I(251,85)] = {64,0}, + [I(252,85)] = {64,0}, + [I(253,85)] = {64,0}, + [I(254,85)] = {64,0}, + [I(255,85)] = {64,0}, + [I(0,86)] = {20,0xFFC71}, + [I(1,86)] = {30,0x3FFFEC71}, + [I(2,86)] = {64,0}, + [I(3,86)] = {64,0}, + [I(4,86)] = {64,0}, + [I(5,86)] = {64,0}, + [I(6,86)] = {64,0}, + [I(7,86)] = {64,0}, + [I(8,86)] = {64,0}, + [I(9,86)] = {31,0x7FFFF571}, + [I(10,86)] = {64,0}, + [I(11,86)] = {64,0}, + [I(12,86)] = {64,0}, + [I(13,86)] = {64,0}, + [I(14,86)] = {64,0}, + [I(15,86)] = {64,0}, + [I(16,86)] = {64,0}, + [I(17,86)] = {64,0}, + [I(18,86)] = {64,0}, + [I(19,86)] = {64,0}, + [I(20,86)] = {64,0}, + [I(21,86)] = {64,0}, + [I(22,86)] = {64,0}, + [I(23,86)] = {64,0}, + [I(24,86)] = {64,0}, + [I(25,86)] = {64,0}, + [I(26,86)] = {64,0}, + [I(27,86)] = {64,0}, + [I(28,86)] = {64,0}, + [I(29,86)] = {64,0}, + [I(30,86)] = {64,0}, + [I(31,86)] = {64,0}, + [I(32,86)] = {13,0xA71}, + [I(33,86)] = {17,0x1FC71}, + [I(34,86)] = {17,0x1FCF1}, + [I(35,86)] = {19,0x7FD71}, + [I(36,86)] = {20,0xFFCF1}, + [I(37,86)] = {13,0xAF1}, + [I(38,86)] = {15,0x7C71}, + [I(39,86)] = {18,0x3FD71}, + [I(40,86)] = {17,0x1FD71}, + [I(41,86)] = {17,0x1FDF1}, + [I(42,86)] = {15,0x7CF1}, + [I(43,86)] = {18,0x3FDF1}, + [I(44,86)] = {15,0x7D71}, + [I(45,86)] = {13,0xB71}, + [I(46,86)] = {13,0xBF1}, + [I(47,86)] = {13,0xC71}, + [I(48,86)] = {12,0x71}, + [I(49,86)] = {12,0xF1}, + [I(50,86)] = {12,0x171}, + [I(51,86)] = {13,0xCF1}, + [I(52,86)] = {13,0xD71}, + [I(53,86)] = {13,0xDF1}, + [I(54,86)] = {13,0xE71}, + [I(55,86)] = {13,0xEF1}, + [I(56,86)] = {13,0xF71}, + [I(57,86)] = {13,0xFF1}, + [I(58,86)] = {14,0x2E71}, + [I(59,86)] = {15,0x7DF1}, + [I(60,86)] = {22,0x3FFE71}, + [I(61,86)] = {13,0x1071}, + [I(62,86)] = {19,0x7FDF1}, + [I(63,86)] = {17,0x1FE71}, + [I(64,86)] = {20,0xFFD71}, + [I(65,86)] = {13,0x10F1}, + [I(66,86)] = {14,0x2EF1}, + [I(67,86)] = {14,0x2F71}, + [I(68,86)] = {14,0x2FF1}, + [I(69,86)] = {14,0x3071}, + [I(70,86)] = {14,0x30F1}, + [I(71,86)] = {14,0x3171}, + [I(72,86)] = {14,0x31F1}, + [I(73,86)] = {14,0x3271}, + [I(74,86)] = {14,0x32F1}, + [I(75,86)] = {14,0x3371}, + [I(76,86)] = {14,0x33F1}, + [I(77,86)] = {14,0x3471}, + [I(78,86)] = {14,0x34F1}, + [I(79,86)] = {14,0x3571}, + [I(80,86)] = {14,0x35F1}, + [I(81,86)] = {14,0x3671}, + [I(82,86)] = {14,0x36F1}, + [I(83,86)] = {14,0x3771}, + [I(84,86)] = {14,0x37F1}, + [I(85,86)] = {14,0x3871}, + [I(86,86)] = {14,0x38F1}, + [I(87,86)] = {14,0x3971}, + [I(88,86)] = {15,0x7E71}, + [I(89,86)] = {14,0x39F1}, + [I(90,86)] = {15,0x7EF1}, + [I(91,86)] = {20,0xFFDF1}, + [I(92,86)] = {26,0x3FFF871}, + [I(93,86)] = {20,0xFFE71}, + [I(94,86)] = {21,0x1FFE71}, + [I(95,86)] = {13,0x1171}, + [I(96,86)] = {22,0x3FFEF1}, + [I(97,86)] = {12,0x1F1}, + [I(98,86)] = {13,0x11F1}, + [I(99,86)] = {12,0x271}, + [I(100,86)] = {13,0x1271}, + [I(101,86)] = {12,0x2F1}, + [I(102,86)] = {13,0x12F1}, + [I(103,86)] = {13,0x1371}, + [I(104,86)] = {13,0x13F1}, + [I(105,86)] = {12,0x371}, + [I(106,86)] = {14,0x3A71}, + [I(107,86)] = {14,0x3AF1}, + [I(108,86)] = {13,0x1471}, + [I(109,86)] = {13,0x14F1}, + [I(110,86)] = {13,0x1571}, + [I(111,86)] = {12,0x3F1}, + [I(112,86)] = {13,0x15F1}, + [I(113,86)] = {14,0x3B71}, + [I(114,86)] = {13,0x1671}, + [I(115,86)] = {12,0x471}, + [I(116,86)] = {12,0x4F1}, + [I(117,86)] = {13,0x16F1}, + [I(118,86)] = {14,0x3BF1}, + [I(119,86)] = {14,0x3C71}, + [I(120,86)] = {14,0x3CF1}, + [I(121,86)] = {14,0x3D71}, + [I(122,86)] = {14,0x3DF1}, + [I(123,86)] = {22,0x3FFF71}, + [I(124,86)] = {18,0x3FE71}, + [I(125,86)] = {21,0x1FFEF1}, + [I(126,86)] = {20,0xFFEF1}, + [I(127,86)] = {64,0}, + [I(128,86)] = {27,0x7FFF371}, + [I(129,86)] = {29,0x1FFFE971}, + [I(130,86)] = {27,0x7FFF3F1}, + [I(131,86)] = {27,0x7FFF471}, + [I(132,86)] = {29,0x1FFFE9F1}, + [I(133,86)] = {29,0x1FFFEA71}, + [I(134,86)] = {29,0x1FFFEAF1}, + [I(135,86)] = {30,0x3FFFECF1}, + [I(136,86)] = {29,0x1FFFEB71}, + [I(137,86)] = {30,0x3FFFED71}, + [I(138,86)] = {30,0x3FFFEDF1}, + [I(139,86)] = {30,0x3FFFEE71}, + [I(140,86)] = {30,0x3FFFEEF1}, + [I(141,86)] = {30,0x3FFFEF71}, + [I(142,86)] = {31,0x7FFFF5F1}, + [I(143,86)] = {30,0x3FFFEFF1}, + [I(144,86)] = {31,0x7FFFF671}, + [I(145,86)] = {31,0x7FFFF6F1}, + [I(146,86)] = {29,0x1FFFEBF1}, + [I(147,86)] = {30,0x3FFFF071}, + [I(148,86)] = {31,0x7FFFF771}, + [I(149,86)] = {30,0x3FFFF0F1}, + [I(150,86)] = {30,0x3FFFF171}, + [I(151,86)] = {30,0x3FFFF1F1}, + [I(152,86)] = {30,0x3FFFF271}, + [I(153,86)] = {28,0xFFFEE71}, + [I(154,86)] = {29,0x1FFFEC71}, + [I(155,86)] = {30,0x3FFFF2F1}, + [I(156,86)] = {29,0x1FFFECF1}, + [I(157,86)] = {30,0x3FFFF371}, + [I(158,86)] = {30,0x3FFFF3F1}, + [I(159,86)] = {31,0x7FFFF7F1}, + [I(160,86)] = {29,0x1FFFED71}, + [I(161,86)] = {28,0xFFFEEF1}, + [I(162,86)] = {27,0x7FFF4F1}, + [I(163,86)] = {29,0x1FFFEDF1}, + [I(164,86)] = {29,0x1FFFEE71}, + [I(165,86)] = {30,0x3FFFF471}, + [I(166,86)] = {30,0x3FFFF4F1}, + [I(167,86)] = {28,0xFFFEF71}, + [I(168,86)] = {30,0x3FFFF571}, + [I(169,86)] = {29,0x1FFFEEF1}, + [I(170,86)] = {29,0x1FFFEF71}, + [I(171,86)] = {31,0x7FFFF871}, + [I(172,86)] = {28,0xFFFEFF1}, + [I(173,86)] = {29,0x1FFFEFF1}, + [I(174,86)] = {30,0x3FFFF5F1}, + [I(175,86)] = {30,0x3FFFF671}, + [I(176,86)] = {28,0xFFFF071}, + [I(177,86)] = {28,0xFFFF0F1}, + [I(178,86)] = {29,0x1FFFF071}, + [I(179,86)] = {28,0xFFFF171}, + [I(180,86)] = {30,0x3FFFF6F1}, + [I(181,86)] = {29,0x1FFFF0F1}, + [I(182,86)] = {30,0x3FFFF771}, + [I(183,86)] = {30,0x3FFFF7F1}, + [I(184,86)] = {27,0x7FFF571}, + [I(185,86)] = {29,0x1FFFF171}, + [I(186,86)] = {29,0x1FFFF1F1}, + [I(187,86)] = {29,0x1FFFF271}, + [I(188,86)] = {30,0x3FFFF871}, + [I(189,86)] = {29,0x1FFFF2F1}, + [I(190,86)] = {29,0x1FFFF371}, + [I(191,86)] = {30,0x3FFFF8F1}, + [I(192,86)] = {64,0}, + [I(193,86)] = {64,0}, + [I(194,86)] = {27,0x7FFF5F1}, + [I(195,86)] = {26,0x3FFF8F1}, + [I(196,86)] = {29,0x1FFFF3F1}, + [I(197,86)] = {30,0x3FFFF971}, + [I(198,86)] = {29,0x1FFFF471}, + [I(199,86)] = {X32,0xFFFFF671}, + [I(200,86)] = {64,0}, + [I(201,86)] = {64,0}, + [I(202,86)] = {64,0}, + [I(203,86)] = {64,0}, + [I(204,86)] = {64,0}, + [I(205,86)] = {64,0}, + [I(206,86)] = {31,0x7FFFF8F1}, + [I(207,86)] = {X32,0xFFFFF6F1}, + [I(208,86)] = {26,0x3FFF971}, + [I(209,86)] = {28,0xFFFF1F1}, + [I(210,86)] = {64,0}, + [I(211,86)] = {64,0}, + [I(212,86)] = {64,0}, + [I(213,86)] = {64,0}, + [I(214,86)] = {64,0}, + [I(215,86)] = {31,0x7FFFF971}, + [I(216,86)] = {28,0xFFFF271}, + [I(217,86)] = {28,0xFFFF2F1}, + [I(218,86)] = {64,0}, + [I(219,86)] = {64,0}, + [I(220,86)] = {64,0}, + [I(221,86)] = {64,0}, + [I(222,86)] = {64,0}, + [I(223,86)] = {64,0}, + [I(224,86)] = {27,0x7FFF671}, + [I(225,86)] = {31,0x7FFFF9F1}, + [I(226,86)] = {27,0x7FFF6F1}, + [I(227,86)] = {28,0xFFFF371}, + [I(228,86)] = {29,0x1FFFF4F1}, + [I(229,86)] = {28,0xFFFF3F1}, + [I(230,86)] = {28,0xFFFF471}, + [I(231,86)] = {30,0x3FFFF9F1}, + [I(232,86)] = {29,0x1FFFF571}, + [I(233,86)] = {29,0x1FFFF5F1}, + [I(234,86)] = {X32,0xFFFFF771}, + [I(235,86)] = {X32,0xFFFFF7F1}, + [I(236,86)] = {31,0x7FFFFA71}, + [I(237,86)] = {31,0x7FFFFAF1}, + [I(238,86)] = {64,0}, + [I(239,86)] = {30,0x3FFFFA71}, + [I(240,86)] = {64,0}, + [I(241,86)] = {64,0}, + [I(242,86)] = {64,0}, + [I(243,86)] = {64,0}, + [I(244,86)] = {64,0}, + [I(245,86)] = {64,0}, + [I(246,86)] = {64,0}, + [I(247,86)] = {64,0}, + [I(248,86)] = {64,0}, + [I(249,86)] = {64,0}, + [I(250,86)] = {64,0}, + [I(251,86)] = {64,0}, + [I(252,86)] = {64,0}, + [I(253,86)] = {64,0}, + [I(254,86)] = {64,0}, + [I(255,86)] = {64,0}, + [I(0,87)] = {20,0xFFC72}, + [I(1,87)] = {30,0x3FFFEC72}, + [I(2,87)] = {64,0}, + [I(3,87)] = {64,0}, + [I(4,87)] = {64,0}, + [I(5,87)] = {64,0}, + [I(6,87)] = {64,0}, + [I(7,87)] = {64,0}, + [I(8,87)] = {64,0}, + [I(9,87)] = {31,0x7FFFF572}, + [I(10,87)] = {64,0}, + [I(11,87)] = {64,0}, + [I(12,87)] = {64,0}, + [I(13,87)] = {64,0}, + [I(14,87)] = {64,0}, + [I(15,87)] = {64,0}, + [I(16,87)] = {64,0}, + [I(17,87)] = {64,0}, + [I(18,87)] = {64,0}, + [I(19,87)] = {64,0}, + [I(20,87)] = {64,0}, + [I(21,87)] = {64,0}, + [I(22,87)] = {64,0}, + [I(23,87)] = {64,0}, + [I(24,87)] = {64,0}, + [I(25,87)] = {64,0}, + [I(26,87)] = {64,0}, + [I(27,87)] = {64,0}, + [I(28,87)] = {64,0}, + [I(29,87)] = {64,0}, + [I(30,87)] = {64,0}, + [I(31,87)] = {64,0}, + [I(32,87)] = {13,0xA72}, + [I(33,87)] = {17,0x1FC72}, + [I(34,87)] = {17,0x1FCF2}, + [I(35,87)] = {19,0x7FD72}, + [I(36,87)] = {20,0xFFCF2}, + [I(37,87)] = {13,0xAF2}, + [I(38,87)] = {15,0x7C72}, + [I(39,87)] = {18,0x3FD72}, + [I(40,87)] = {17,0x1FD72}, + [I(41,87)] = {17,0x1FDF2}, + [I(42,87)] = {15,0x7CF2}, + [I(43,87)] = {18,0x3FDF2}, + [I(44,87)] = {15,0x7D72}, + [I(45,87)] = {13,0xB72}, + [I(46,87)] = {13,0xBF2}, + [I(47,87)] = {13,0xC72}, + [I(48,87)] = {12,0x72}, + [I(49,87)] = {12,0xF2}, + [I(50,87)] = {12,0x172}, + [I(51,87)] = {13,0xCF2}, + [I(52,87)] = {13,0xD72}, + [I(53,87)] = {13,0xDF2}, + [I(54,87)] = {13,0xE72}, + [I(55,87)] = {13,0xEF2}, + [I(56,87)] = {13,0xF72}, + [I(57,87)] = {13,0xFF2}, + [I(58,87)] = {14,0x2E72}, + [I(59,87)] = {15,0x7DF2}, + [I(60,87)] = {22,0x3FFE72}, + [I(61,87)] = {13,0x1072}, + [I(62,87)] = {19,0x7FDF2}, + [I(63,87)] = {17,0x1FE72}, + [I(64,87)] = {20,0xFFD72}, + [I(65,87)] = {13,0x10F2}, + [I(66,87)] = {14,0x2EF2}, + [I(67,87)] = {14,0x2F72}, + [I(68,87)] = {14,0x2FF2}, + [I(69,87)] = {14,0x3072}, + [I(70,87)] = {14,0x30F2}, + [I(71,87)] = {14,0x3172}, + [I(72,87)] = {14,0x31F2}, + [I(73,87)] = {14,0x3272}, + [I(74,87)] = {14,0x32F2}, + [I(75,87)] = {14,0x3372}, + [I(76,87)] = {14,0x33F2}, + [I(77,87)] = {14,0x3472}, + [I(78,87)] = {14,0x34F2}, + [I(79,87)] = {14,0x3572}, + [I(80,87)] = {14,0x35F2}, + [I(81,87)] = {14,0x3672}, + [I(82,87)] = {14,0x36F2}, + [I(83,87)] = {14,0x3772}, + [I(84,87)] = {14,0x37F2}, + [I(85,87)] = {14,0x3872}, + [I(86,87)] = {14,0x38F2}, + [I(87,87)] = {14,0x3972}, + [I(88,87)] = {15,0x7E72}, + [I(89,87)] = {14,0x39F2}, + [I(90,87)] = {15,0x7EF2}, + [I(91,87)] = {20,0xFFDF2}, + [I(92,87)] = {26,0x3FFF872}, + [I(93,87)] = {20,0xFFE72}, + [I(94,87)] = {21,0x1FFE72}, + [I(95,87)] = {13,0x1172}, + [I(96,87)] = {22,0x3FFEF2}, + [I(97,87)] = {12,0x1F2}, + [I(98,87)] = {13,0x11F2}, + [I(99,87)] = {12,0x272}, + [I(100,87)] = {13,0x1272}, + [I(101,87)] = {12,0x2F2}, + [I(102,87)] = {13,0x12F2}, + [I(103,87)] = {13,0x1372}, + [I(104,87)] = {13,0x13F2}, + [I(105,87)] = {12,0x372}, + [I(106,87)] = {14,0x3A72}, + [I(107,87)] = {14,0x3AF2}, + [I(108,87)] = {13,0x1472}, + [I(109,87)] = {13,0x14F2}, + [I(110,87)] = {13,0x1572}, + [I(111,87)] = {12,0x3F2}, + [I(112,87)] = {13,0x15F2}, + [I(113,87)] = {14,0x3B72}, + [I(114,87)] = {13,0x1672}, + [I(115,87)] = {12,0x472}, + [I(116,87)] = {12,0x4F2}, + [I(117,87)] = {13,0x16F2}, + [I(118,87)] = {14,0x3BF2}, + [I(119,87)] = {14,0x3C72}, + [I(120,87)] = {14,0x3CF2}, + [I(121,87)] = {14,0x3D72}, + [I(122,87)] = {14,0x3DF2}, + [I(123,87)] = {22,0x3FFF72}, + [I(124,87)] = {18,0x3FE72}, + [I(125,87)] = {21,0x1FFEF2}, + [I(126,87)] = {20,0xFFEF2}, + [I(127,87)] = {64,0}, + [I(128,87)] = {27,0x7FFF372}, + [I(129,87)] = {29,0x1FFFE972}, + [I(130,87)] = {27,0x7FFF3F2}, + [I(131,87)] = {27,0x7FFF472}, + [I(132,87)] = {29,0x1FFFE9F2}, + [I(133,87)] = {29,0x1FFFEA72}, + [I(134,87)] = {29,0x1FFFEAF2}, + [I(135,87)] = {30,0x3FFFECF2}, + [I(136,87)] = {29,0x1FFFEB72}, + [I(137,87)] = {30,0x3FFFED72}, + [I(138,87)] = {30,0x3FFFEDF2}, + [I(139,87)] = {30,0x3FFFEE72}, + [I(140,87)] = {30,0x3FFFEEF2}, + [I(141,87)] = {30,0x3FFFEF72}, + [I(142,87)] = {31,0x7FFFF5F2}, + [I(143,87)] = {30,0x3FFFEFF2}, + [I(144,87)] = {31,0x7FFFF672}, + [I(145,87)] = {31,0x7FFFF6F2}, + [I(146,87)] = {29,0x1FFFEBF2}, + [I(147,87)] = {30,0x3FFFF072}, + [I(148,87)] = {31,0x7FFFF772}, + [I(149,87)] = {30,0x3FFFF0F2}, + [I(150,87)] = {30,0x3FFFF172}, + [I(151,87)] = {30,0x3FFFF1F2}, + [I(152,87)] = {30,0x3FFFF272}, + [I(153,87)] = {28,0xFFFEE72}, + [I(154,87)] = {29,0x1FFFEC72}, + [I(155,87)] = {30,0x3FFFF2F2}, + [I(156,87)] = {29,0x1FFFECF2}, + [I(157,87)] = {30,0x3FFFF372}, + [I(158,87)] = {30,0x3FFFF3F2}, + [I(159,87)] = {31,0x7FFFF7F2}, + [I(160,87)] = {29,0x1FFFED72}, + [I(161,87)] = {28,0xFFFEEF2}, + [I(162,87)] = {27,0x7FFF4F2}, + [I(163,87)] = {29,0x1FFFEDF2}, + [I(164,87)] = {29,0x1FFFEE72}, + [I(165,87)] = {30,0x3FFFF472}, + [I(166,87)] = {30,0x3FFFF4F2}, + [I(167,87)] = {28,0xFFFEF72}, + [I(168,87)] = {30,0x3FFFF572}, + [I(169,87)] = {29,0x1FFFEEF2}, + [I(170,87)] = {29,0x1FFFEF72}, + [I(171,87)] = {31,0x7FFFF872}, + [I(172,87)] = {28,0xFFFEFF2}, + [I(173,87)] = {29,0x1FFFEFF2}, + [I(174,87)] = {30,0x3FFFF5F2}, + [I(175,87)] = {30,0x3FFFF672}, + [I(176,87)] = {28,0xFFFF072}, + [I(177,87)] = {28,0xFFFF0F2}, + [I(178,87)] = {29,0x1FFFF072}, + [I(179,87)] = {28,0xFFFF172}, + [I(180,87)] = {30,0x3FFFF6F2}, + [I(181,87)] = {29,0x1FFFF0F2}, + [I(182,87)] = {30,0x3FFFF772}, + [I(183,87)] = {30,0x3FFFF7F2}, + [I(184,87)] = {27,0x7FFF572}, + [I(185,87)] = {29,0x1FFFF172}, + [I(186,87)] = {29,0x1FFFF1F2}, + [I(187,87)] = {29,0x1FFFF272}, + [I(188,87)] = {30,0x3FFFF872}, + [I(189,87)] = {29,0x1FFFF2F2}, + [I(190,87)] = {29,0x1FFFF372}, + [I(191,87)] = {30,0x3FFFF8F2}, + [I(192,87)] = {64,0}, + [I(193,87)] = {64,0}, + [I(194,87)] = {27,0x7FFF5F2}, + [I(195,87)] = {26,0x3FFF8F2}, + [I(196,87)] = {29,0x1FFFF3F2}, + [I(197,87)] = {30,0x3FFFF972}, + [I(198,87)] = {29,0x1FFFF472}, + [I(199,87)] = {X32,0xFFFFF672}, + [I(200,87)] = {64,0}, + [I(201,87)] = {64,0}, + [I(202,87)] = {64,0}, + [I(203,87)] = {64,0}, + [I(204,87)] = {64,0}, + [I(205,87)] = {64,0}, + [I(206,87)] = {31,0x7FFFF8F2}, + [I(207,87)] = {X32,0xFFFFF6F2}, + [I(208,87)] = {26,0x3FFF972}, + [I(209,87)] = {28,0xFFFF1F2}, + [I(210,87)] = {64,0}, + [I(211,87)] = {64,0}, + [I(212,87)] = {64,0}, + [I(213,87)] = {64,0}, + [I(214,87)] = {64,0}, + [I(215,87)] = {31,0x7FFFF972}, + [I(216,87)] = {28,0xFFFF272}, + [I(217,87)] = {28,0xFFFF2F2}, + [I(218,87)] = {64,0}, + [I(219,87)] = {64,0}, + [I(220,87)] = {64,0}, + [I(221,87)] = {64,0}, + [I(222,87)] = {64,0}, + [I(223,87)] = {64,0}, + [I(224,87)] = {27,0x7FFF672}, + [I(225,87)] = {31,0x7FFFF9F2}, + [I(226,87)] = {27,0x7FFF6F2}, + [I(227,87)] = {28,0xFFFF372}, + [I(228,87)] = {29,0x1FFFF4F2}, + [I(229,87)] = {28,0xFFFF3F2}, + [I(230,87)] = {28,0xFFFF472}, + [I(231,87)] = {30,0x3FFFF9F2}, + [I(232,87)] = {29,0x1FFFF572}, + [I(233,87)] = {29,0x1FFFF5F2}, + [I(234,87)] = {X32,0xFFFFF772}, + [I(235,87)] = {X32,0xFFFFF7F2}, + [I(236,87)] = {31,0x7FFFFA72}, + [I(237,87)] = {31,0x7FFFFAF2}, + [I(238,87)] = {64,0}, + [I(239,87)] = {30,0x3FFFFA72}, + [I(240,87)] = {64,0}, + [I(241,87)] = {64,0}, + [I(242,87)] = {64,0}, + [I(243,87)] = {64,0}, + [I(244,87)] = {64,0}, + [I(245,87)] = {64,0}, + [I(246,87)] = {64,0}, + [I(247,87)] = {64,0}, + [I(248,87)] = {64,0}, + [I(249,87)] = {64,0}, + [I(250,87)] = {64,0}, + [I(251,87)] = {64,0}, + [I(252,87)] = {64,0}, + [I(253,87)] = {64,0}, + [I(254,87)] = {64,0}, + [I(255,87)] = {64,0}, + [I(0,88)] = {21,0x1FF8FC}, + [I(1,88)] = {31,0x7FFFD8FC}, + [I(2,88)] = {64,0}, + [I(3,88)] = {64,0}, + [I(4,88)] = {64,0}, + [I(5,88)] = {64,0}, + [I(6,88)] = {64,0}, + [I(7,88)] = {64,0}, + [I(8,88)] = {64,0}, + [I(9,88)] = {X32,0xFFFFEAFC}, + [I(10,88)] = {64,0}, + [I(11,88)] = {64,0}, + [I(12,88)] = {64,0}, + [I(13,88)] = {64,0}, + [I(14,88)] = {64,0}, + [I(15,88)] = {64,0}, + [I(16,88)] = {64,0}, + [I(17,88)] = {64,0}, + [I(18,88)] = {64,0}, + [I(19,88)] = {64,0}, + [I(20,88)] = {64,0}, + [I(21,88)] = {64,0}, + [I(22,88)] = {64,0}, + [I(23,88)] = {64,0}, + [I(24,88)] = {64,0}, + [I(25,88)] = {64,0}, + [I(26,88)] = {64,0}, + [I(27,88)] = {64,0}, + [I(28,88)] = {64,0}, + [I(29,88)] = {64,0}, + [I(30,88)] = {64,0}, + [I(31,88)] = {64,0}, + [I(32,88)] = {14,0x14FC}, + [I(33,88)] = {18,0x3F8FC}, + [I(34,88)] = {18,0x3F9FC}, + [I(35,88)] = {20,0xFFAFC}, + [I(36,88)] = {21,0x1FF9FC}, + [I(37,88)] = {14,0x15FC}, + [I(38,88)] = {16,0xF8FC}, + [I(39,88)] = {19,0x7FAFC}, + [I(40,88)] = {18,0x3FAFC}, + [I(41,88)] = {18,0x3FBFC}, + [I(42,88)] = {16,0xF9FC}, + [I(43,88)] = {19,0x7FBFC}, + [I(44,88)] = {16,0xFAFC}, + [I(45,88)] = {14,0x16FC}, + [I(46,88)] = {14,0x17FC}, + [I(47,88)] = {14,0x18FC}, + [I(48,88)] = {13,0xFC}, + [I(49,88)] = {13,0x1FC}, + [I(50,88)] = {13,0x2FC}, + [I(51,88)] = {14,0x19FC}, + [I(52,88)] = {14,0x1AFC}, + [I(53,88)] = {14,0x1BFC}, + [I(54,88)] = {14,0x1CFC}, + [I(55,88)] = {14,0x1DFC}, + [I(56,88)] = {14,0x1EFC}, + [I(57,88)] = {14,0x1FFC}, + [I(58,88)] = {15,0x5CFC}, + [I(59,88)] = {16,0xFBFC}, + [I(60,88)] = {23,0x7FFCFC}, + [I(61,88)] = {14,0x20FC}, + [I(62,88)] = {20,0xFFBFC}, + [I(63,88)] = {18,0x3FCFC}, + [I(64,88)] = {21,0x1FFAFC}, + [I(65,88)] = {14,0x21FC}, + [I(66,88)] = {15,0x5DFC}, + [I(67,88)] = {15,0x5EFC}, + [I(68,88)] = {15,0x5FFC}, + [I(69,88)] = {15,0x60FC}, + [I(70,88)] = {15,0x61FC}, + [I(71,88)] = {15,0x62FC}, + [I(72,88)] = {15,0x63FC}, + [I(73,88)] = {15,0x64FC}, + [I(74,88)] = {15,0x65FC}, + [I(75,88)] = {15,0x66FC}, + [I(76,88)] = {15,0x67FC}, + [I(77,88)] = {15,0x68FC}, + [I(78,88)] = {15,0x69FC}, + [I(79,88)] = {15,0x6AFC}, + [I(80,88)] = {15,0x6BFC}, + [I(81,88)] = {15,0x6CFC}, + [I(82,88)] = {15,0x6DFC}, + [I(83,88)] = {15,0x6EFC}, + [I(84,88)] = {15,0x6FFC}, + [I(85,88)] = {15,0x70FC}, + [I(86,88)] = {15,0x71FC}, + [I(87,88)] = {15,0x72FC}, + [I(88,88)] = {16,0xFCFC}, + [I(89,88)] = {15,0x73FC}, + [I(90,88)] = {16,0xFDFC}, + [I(91,88)] = {21,0x1FFBFC}, + [I(92,88)] = {27,0x7FFF0FC}, + [I(93,88)] = {21,0x1FFCFC}, + [I(94,88)] = {22,0x3FFCFC}, + [I(95,88)] = {14,0x22FC}, + [I(96,88)] = {23,0x7FFDFC}, + [I(97,88)] = {13,0x3FC}, + [I(98,88)] = {14,0x23FC}, + [I(99,88)] = {13,0x4FC}, + [I(100,88)] = {14,0x24FC}, + [I(101,88)] = {13,0x5FC}, + [I(102,88)] = {14,0x25FC}, + [I(103,88)] = {14,0x26FC}, + [I(104,88)] = {14,0x27FC}, + [I(105,88)] = {13,0x6FC}, + [I(106,88)] = {15,0x74FC}, + [I(107,88)] = {15,0x75FC}, + [I(108,88)] = {14,0x28FC}, + [I(109,88)] = {14,0x29FC}, + [I(110,88)] = {14,0x2AFC}, + [I(111,88)] = {13,0x7FC}, + [I(112,88)] = {14,0x2BFC}, + [I(113,88)] = {15,0x76FC}, + [I(114,88)] = {14,0x2CFC}, + [I(115,88)] = {13,0x8FC}, + [I(116,88)] = {13,0x9FC}, + [I(117,88)] = {14,0x2DFC}, + [I(118,88)] = {15,0x77FC}, + [I(119,88)] = {15,0x78FC}, + [I(120,88)] = {15,0x79FC}, + [I(121,88)] = {15,0x7AFC}, + [I(122,88)] = {15,0x7BFC}, + [I(123,88)] = {23,0x7FFEFC}, + [I(124,88)] = {19,0x7FCFC}, + [I(125,88)] = {22,0x3FFDFC}, + [I(126,88)] = {21,0x1FFDFC}, + [I(127,88)] = {64,0}, + [I(128,88)] = {28,0xFFFE6FC}, + [I(129,88)] = {30,0x3FFFD2FC}, + [I(130,88)] = {28,0xFFFE7FC}, + [I(131,88)] = {28,0xFFFE8FC}, + [I(132,88)] = {30,0x3FFFD3FC}, + [I(133,88)] = {30,0x3FFFD4FC}, + [I(134,88)] = {30,0x3FFFD5FC}, + [I(135,88)] = {31,0x7FFFD9FC}, + [I(136,88)] = {30,0x3FFFD6FC}, + [I(137,88)] = {31,0x7FFFDAFC}, + [I(138,88)] = {31,0x7FFFDBFC}, + [I(139,88)] = {31,0x7FFFDCFC}, + [I(140,88)] = {31,0x7FFFDDFC}, + [I(141,88)] = {31,0x7FFFDEFC}, + [I(142,88)] = {X32,0xFFFFEBFC}, + [I(143,88)] = {31,0x7FFFDFFC}, + [I(144,88)] = {X32,0xFFFFECFC}, + [I(145,88)] = {X32,0xFFFFEDFC}, + [I(146,88)] = {30,0x3FFFD7FC}, + [I(147,88)] = {31,0x7FFFE0FC}, + [I(148,88)] = {X32,0xFFFFEEFC}, + [I(149,88)] = {31,0x7FFFE1FC}, + [I(150,88)] = {31,0x7FFFE2FC}, + [I(151,88)] = {31,0x7FFFE3FC}, + [I(152,88)] = {31,0x7FFFE4FC}, + [I(153,88)] = {29,0x1FFFDCFC}, + [I(154,88)] = {30,0x3FFFD8FC}, + [I(155,88)] = {31,0x7FFFE5FC}, + [I(156,88)] = {30,0x3FFFD9FC}, + [I(157,88)] = {31,0x7FFFE6FC}, + [I(158,88)] = {31,0x7FFFE7FC}, + [I(159,88)] = {X32,0xFFFFEFFC}, + [I(160,88)] = {30,0x3FFFDAFC}, + [I(161,88)] = {29,0x1FFFDDFC}, + [I(162,88)] = {28,0xFFFE9FC}, + [I(163,88)] = {30,0x3FFFDBFC}, + [I(164,88)] = {30,0x3FFFDCFC}, + [I(165,88)] = {31,0x7FFFE8FC}, + [I(166,88)] = {31,0x7FFFE9FC}, + [I(167,88)] = {29,0x1FFFDEFC}, + [I(168,88)] = {31,0x7FFFEAFC}, + [I(169,88)] = {30,0x3FFFDDFC}, + [I(170,88)] = {30,0x3FFFDEFC}, + [I(171,88)] = {X32,0xFFFFF0FC}, + [I(172,88)] = {29,0x1FFFDFFC}, + [I(173,88)] = {30,0x3FFFDFFC}, + [I(174,88)] = {31,0x7FFFEBFC}, + [I(175,88)] = {31,0x7FFFECFC}, + [I(176,88)] = {29,0x1FFFE0FC}, + [I(177,88)] = {29,0x1FFFE1FC}, + [I(178,88)] = {30,0x3FFFE0FC}, + [I(179,88)] = {29,0x1FFFE2FC}, + [I(180,88)] = {31,0x7FFFEDFC}, + [I(181,88)] = {30,0x3FFFE1FC}, + [I(182,88)] = {31,0x7FFFEEFC}, + [I(183,88)] = {31,0x7FFFEFFC}, + [I(184,88)] = {28,0xFFFEAFC}, + [I(185,88)] = {30,0x3FFFE2FC}, + [I(186,88)] = {30,0x3FFFE3FC}, + [I(187,88)] = {30,0x3FFFE4FC}, + [I(188,88)] = {31,0x7FFFF0FC}, + [I(189,88)] = {30,0x3FFFE5FC}, + [I(190,88)] = {30,0x3FFFE6FC}, + [I(191,88)] = {31,0x7FFFF1FC}, + [I(192,88)] = {64,0}, + [I(193,88)] = {64,0}, + [I(194,88)] = {28,0xFFFEBFC}, + [I(195,88)] = {27,0x7FFF1FC}, + [I(196,88)] = {30,0x3FFFE7FC}, + [I(197,88)] = {31,0x7FFFF2FC}, + [I(198,88)] = {30,0x3FFFE8FC}, + [I(199,88)] = {64,0}, + [I(200,88)] = {64,0}, + [I(201,88)] = {64,0}, + [I(202,88)] = {64,0}, + [I(203,88)] = {64,0}, + [I(204,88)] = {64,0}, + [I(205,88)] = {64,0}, + [I(206,88)] = {X32,0xFFFFF1FC}, + [I(207,88)] = {64,0}, + [I(208,88)] = {27,0x7FFF2FC}, + [I(209,88)] = {29,0x1FFFE3FC}, + [I(210,88)] = {64,0}, + [I(211,88)] = {64,0}, + [I(212,88)] = {64,0}, + [I(213,88)] = {64,0}, + [I(214,88)] = {64,0}, + [I(215,88)] = {X32,0xFFFFF2FC}, + [I(216,88)] = {29,0x1FFFE4FC}, + [I(217,88)] = {29,0x1FFFE5FC}, + [I(218,88)] = {64,0}, + [I(219,88)] = {64,0}, + [I(220,88)] = {64,0}, + [I(221,88)] = {64,0}, + [I(222,88)] = {64,0}, + [I(223,88)] = {64,0}, + [I(224,88)] = {28,0xFFFECFC}, + [I(225,88)] = {X32,0xFFFFF3FC}, + [I(226,88)] = {28,0xFFFEDFC}, + [I(227,88)] = {29,0x1FFFE6FC}, + [I(228,88)] = {30,0x3FFFE9FC}, + [I(229,88)] = {29,0x1FFFE7FC}, + [I(230,88)] = {29,0x1FFFE8FC}, + [I(231,88)] = {31,0x7FFFF3FC}, + [I(232,88)] = {30,0x3FFFEAFC}, + [I(233,88)] = {30,0x3FFFEBFC}, + [I(234,88)] = {64,0}, + [I(235,88)] = {64,0}, + [I(236,88)] = {X32,0xFFFFF4FC}, + [I(237,88)] = {X32,0xFFFFF5FC}, + [I(238,88)] = {64,0}, + [I(239,88)] = {31,0x7FFFF4FC}, + [I(240,88)] = {64,0}, + [I(241,88)] = {64,0}, + [I(242,88)] = {64,0}, + [I(243,88)] = {64,0}, + [I(244,88)] = {64,0}, + [I(245,88)] = {64,0}, + [I(246,88)] = {64,0}, + [I(247,88)] = {64,0}, + [I(248,88)] = {64,0}, + [I(249,88)] = {64,0}, + [I(250,88)] = {64,0}, + [I(251,88)] = {64,0}, + [I(252,88)] = {64,0}, + [I(253,88)] = {64,0}, + [I(254,88)] = {64,0}, + [I(255,88)] = {64,0}, + [I(0,89)] = {20,0xFFC73}, + [I(1,89)] = {30,0x3FFFEC73}, + [I(2,89)] = {64,0}, + [I(3,89)] = {64,0}, + [I(4,89)] = {64,0}, + [I(5,89)] = {64,0}, + [I(6,89)] = {64,0}, + [I(7,89)] = {64,0}, + [I(8,89)] = {64,0}, + [I(9,89)] = {31,0x7FFFF573}, + [I(10,89)] = {64,0}, + [I(11,89)] = {64,0}, + [I(12,89)] = {64,0}, + [I(13,89)] = {64,0}, + [I(14,89)] = {64,0}, + [I(15,89)] = {64,0}, + [I(16,89)] = {64,0}, + [I(17,89)] = {64,0}, + [I(18,89)] = {64,0}, + [I(19,89)] = {64,0}, + [I(20,89)] = {64,0}, + [I(21,89)] = {64,0}, + [I(22,89)] = {64,0}, + [I(23,89)] = {64,0}, + [I(24,89)] = {64,0}, + [I(25,89)] = {64,0}, + [I(26,89)] = {64,0}, + [I(27,89)] = {64,0}, + [I(28,89)] = {64,0}, + [I(29,89)] = {64,0}, + [I(30,89)] = {64,0}, + [I(31,89)] = {64,0}, + [I(32,89)] = {13,0xA73}, + [I(33,89)] = {17,0x1FC73}, + [I(34,89)] = {17,0x1FCF3}, + [I(35,89)] = {19,0x7FD73}, + [I(36,89)] = {20,0xFFCF3}, + [I(37,89)] = {13,0xAF3}, + [I(38,89)] = {15,0x7C73}, + [I(39,89)] = {18,0x3FD73}, + [I(40,89)] = {17,0x1FD73}, + [I(41,89)] = {17,0x1FDF3}, + [I(42,89)] = {15,0x7CF3}, + [I(43,89)] = {18,0x3FDF3}, + [I(44,89)] = {15,0x7D73}, + [I(45,89)] = {13,0xB73}, + [I(46,89)] = {13,0xBF3}, + [I(47,89)] = {13,0xC73}, + [I(48,89)] = {12,0x73}, + [I(49,89)] = {12,0xF3}, + [I(50,89)] = {12,0x173}, + [I(51,89)] = {13,0xCF3}, + [I(52,89)] = {13,0xD73}, + [I(53,89)] = {13,0xDF3}, + [I(54,89)] = {13,0xE73}, + [I(55,89)] = {13,0xEF3}, + [I(56,89)] = {13,0xF73}, + [I(57,89)] = {13,0xFF3}, + [I(58,89)] = {14,0x2E73}, + [I(59,89)] = {15,0x7DF3}, + [I(60,89)] = {22,0x3FFE73}, + [I(61,89)] = {13,0x1073}, + [I(62,89)] = {19,0x7FDF3}, + [I(63,89)] = {17,0x1FE73}, + [I(64,89)] = {20,0xFFD73}, + [I(65,89)] = {13,0x10F3}, + [I(66,89)] = {14,0x2EF3}, + [I(67,89)] = {14,0x2F73}, + [I(68,89)] = {14,0x2FF3}, + [I(69,89)] = {14,0x3073}, + [I(70,89)] = {14,0x30F3}, + [I(71,89)] = {14,0x3173}, + [I(72,89)] = {14,0x31F3}, + [I(73,89)] = {14,0x3273}, + [I(74,89)] = {14,0x32F3}, + [I(75,89)] = {14,0x3373}, + [I(76,89)] = {14,0x33F3}, + [I(77,89)] = {14,0x3473}, + [I(78,89)] = {14,0x34F3}, + [I(79,89)] = {14,0x3573}, + [I(80,89)] = {14,0x35F3}, + [I(81,89)] = {14,0x3673}, + [I(82,89)] = {14,0x36F3}, + [I(83,89)] = {14,0x3773}, + [I(84,89)] = {14,0x37F3}, + [I(85,89)] = {14,0x3873}, + [I(86,89)] = {14,0x38F3}, + [I(87,89)] = {14,0x3973}, + [I(88,89)] = {15,0x7E73}, + [I(89,89)] = {14,0x39F3}, + [I(90,89)] = {15,0x7EF3}, + [I(91,89)] = {20,0xFFDF3}, + [I(92,89)] = {26,0x3FFF873}, + [I(93,89)] = {20,0xFFE73}, + [I(94,89)] = {21,0x1FFE73}, + [I(95,89)] = {13,0x1173}, + [I(96,89)] = {22,0x3FFEF3}, + [I(97,89)] = {12,0x1F3}, + [I(98,89)] = {13,0x11F3}, + [I(99,89)] = {12,0x273}, + [I(100,89)] = {13,0x1273}, + [I(101,89)] = {12,0x2F3}, + [I(102,89)] = {13,0x12F3}, + [I(103,89)] = {13,0x1373}, + [I(104,89)] = {13,0x13F3}, + [I(105,89)] = {12,0x373}, + [I(106,89)] = {14,0x3A73}, + [I(107,89)] = {14,0x3AF3}, + [I(108,89)] = {13,0x1473}, + [I(109,89)] = {13,0x14F3}, + [I(110,89)] = {13,0x1573}, + [I(111,89)] = {12,0x3F3}, + [I(112,89)] = {13,0x15F3}, + [I(113,89)] = {14,0x3B73}, + [I(114,89)] = {13,0x1673}, + [I(115,89)] = {12,0x473}, + [I(116,89)] = {12,0x4F3}, + [I(117,89)] = {13,0x16F3}, + [I(118,89)] = {14,0x3BF3}, + [I(119,89)] = {14,0x3C73}, + [I(120,89)] = {14,0x3CF3}, + [I(121,89)] = {14,0x3D73}, + [I(122,89)] = {14,0x3DF3}, + [I(123,89)] = {22,0x3FFF73}, + [I(124,89)] = {18,0x3FE73}, + [I(125,89)] = {21,0x1FFEF3}, + [I(126,89)] = {20,0xFFEF3}, + [I(127,89)] = {64,0}, + [I(128,89)] = {27,0x7FFF373}, + [I(129,89)] = {29,0x1FFFE973}, + [I(130,89)] = {27,0x7FFF3F3}, + [I(131,89)] = {27,0x7FFF473}, + [I(132,89)] = {29,0x1FFFE9F3}, + [I(133,89)] = {29,0x1FFFEA73}, + [I(134,89)] = {29,0x1FFFEAF3}, + [I(135,89)] = {30,0x3FFFECF3}, + [I(136,89)] = {29,0x1FFFEB73}, + [I(137,89)] = {30,0x3FFFED73}, + [I(138,89)] = {30,0x3FFFEDF3}, + [I(139,89)] = {30,0x3FFFEE73}, + [I(140,89)] = {30,0x3FFFEEF3}, + [I(141,89)] = {30,0x3FFFEF73}, + [I(142,89)] = {31,0x7FFFF5F3}, + [I(143,89)] = {30,0x3FFFEFF3}, + [I(144,89)] = {31,0x7FFFF673}, + [I(145,89)] = {31,0x7FFFF6F3}, + [I(146,89)] = {29,0x1FFFEBF3}, + [I(147,89)] = {30,0x3FFFF073}, + [I(148,89)] = {31,0x7FFFF773}, + [I(149,89)] = {30,0x3FFFF0F3}, + [I(150,89)] = {30,0x3FFFF173}, + [I(151,89)] = {30,0x3FFFF1F3}, + [I(152,89)] = {30,0x3FFFF273}, + [I(153,89)] = {28,0xFFFEE73}, + [I(154,89)] = {29,0x1FFFEC73}, + [I(155,89)] = {30,0x3FFFF2F3}, + [I(156,89)] = {29,0x1FFFECF3}, + [I(157,89)] = {30,0x3FFFF373}, + [I(158,89)] = {30,0x3FFFF3F3}, + [I(159,89)] = {31,0x7FFFF7F3}, + [I(160,89)] = {29,0x1FFFED73}, + [I(161,89)] = {28,0xFFFEEF3}, + [I(162,89)] = {27,0x7FFF4F3}, + [I(163,89)] = {29,0x1FFFEDF3}, + [I(164,89)] = {29,0x1FFFEE73}, + [I(165,89)] = {30,0x3FFFF473}, + [I(166,89)] = {30,0x3FFFF4F3}, + [I(167,89)] = {28,0xFFFEF73}, + [I(168,89)] = {30,0x3FFFF573}, + [I(169,89)] = {29,0x1FFFEEF3}, + [I(170,89)] = {29,0x1FFFEF73}, + [I(171,89)] = {31,0x7FFFF873}, + [I(172,89)] = {28,0xFFFEFF3}, + [I(173,89)] = {29,0x1FFFEFF3}, + [I(174,89)] = {30,0x3FFFF5F3}, + [I(175,89)] = {30,0x3FFFF673}, + [I(176,89)] = {28,0xFFFF073}, + [I(177,89)] = {28,0xFFFF0F3}, + [I(178,89)] = {29,0x1FFFF073}, + [I(179,89)] = {28,0xFFFF173}, + [I(180,89)] = {30,0x3FFFF6F3}, + [I(181,89)] = {29,0x1FFFF0F3}, + [I(182,89)] = {30,0x3FFFF773}, + [I(183,89)] = {30,0x3FFFF7F3}, + [I(184,89)] = {27,0x7FFF573}, + [I(185,89)] = {29,0x1FFFF173}, + [I(186,89)] = {29,0x1FFFF1F3}, + [I(187,89)] = {29,0x1FFFF273}, + [I(188,89)] = {30,0x3FFFF873}, + [I(189,89)] = {29,0x1FFFF2F3}, + [I(190,89)] = {29,0x1FFFF373}, + [I(191,89)] = {30,0x3FFFF8F3}, + [I(192,89)] = {64,0}, + [I(193,89)] = {64,0}, + [I(194,89)] = {27,0x7FFF5F3}, + [I(195,89)] = {26,0x3FFF8F3}, + [I(196,89)] = {29,0x1FFFF3F3}, + [I(197,89)] = {30,0x3FFFF973}, + [I(198,89)] = {29,0x1FFFF473}, + [I(199,89)] = {X32,0xFFFFF673}, + [I(200,89)] = {64,0}, + [I(201,89)] = {64,0}, + [I(202,89)] = {64,0}, + [I(203,89)] = {64,0}, + [I(204,89)] = {64,0}, + [I(205,89)] = {64,0}, + [I(206,89)] = {31,0x7FFFF8F3}, + [I(207,89)] = {X32,0xFFFFF6F3}, + [I(208,89)] = {26,0x3FFF973}, + [I(209,89)] = {28,0xFFFF1F3}, + [I(210,89)] = {64,0}, + [I(211,89)] = {64,0}, + [I(212,89)] = {64,0}, + [I(213,89)] = {64,0}, + [I(214,89)] = {64,0}, + [I(215,89)] = {31,0x7FFFF973}, + [I(216,89)] = {28,0xFFFF273}, + [I(217,89)] = {28,0xFFFF2F3}, + [I(218,89)] = {64,0}, + [I(219,89)] = {64,0}, + [I(220,89)] = {64,0}, + [I(221,89)] = {64,0}, + [I(222,89)] = {64,0}, + [I(223,89)] = {64,0}, + [I(224,89)] = {27,0x7FFF673}, + [I(225,89)] = {31,0x7FFFF9F3}, + [I(226,89)] = {27,0x7FFF6F3}, + [I(227,89)] = {28,0xFFFF373}, + [I(228,89)] = {29,0x1FFFF4F3}, + [I(229,89)] = {28,0xFFFF3F3}, + [I(230,89)] = {28,0xFFFF473}, + [I(231,89)] = {30,0x3FFFF9F3}, + [I(232,89)] = {29,0x1FFFF573}, + [I(233,89)] = {29,0x1FFFF5F3}, + [I(234,89)] = {X32,0xFFFFF773}, + [I(235,89)] = {X32,0xFFFFF7F3}, + [I(236,89)] = {31,0x7FFFFA73}, + [I(237,89)] = {31,0x7FFFFAF3}, + [I(238,89)] = {64,0}, + [I(239,89)] = {30,0x3FFFFA73}, + [I(240,89)] = {64,0}, + [I(241,89)] = {64,0}, + [I(242,89)] = {64,0}, + [I(243,89)] = {64,0}, + [I(244,89)] = {64,0}, + [I(245,89)] = {64,0}, + [I(246,89)] = {64,0}, + [I(247,89)] = {64,0}, + [I(248,89)] = {64,0}, + [I(249,89)] = {64,0}, + [I(250,89)] = {64,0}, + [I(251,89)] = {64,0}, + [I(252,89)] = {64,0}, + [I(253,89)] = {64,0}, + [I(254,89)] = {64,0}, + [I(255,89)] = {64,0}, + [I(0,90)] = {21,0x1FF8FD}, + [I(1,90)] = {31,0x7FFFD8FD}, + [I(2,90)] = {64,0}, + [I(3,90)] = {64,0}, + [I(4,90)] = {64,0}, + [I(5,90)] = {64,0}, + [I(6,90)] = {64,0}, + [I(7,90)] = {64,0}, + [I(8,90)] = {64,0}, + [I(9,90)] = {X32,0xFFFFEAFD}, + [I(10,90)] = {64,0}, + [I(11,90)] = {64,0}, + [I(12,90)] = {64,0}, + [I(13,90)] = {64,0}, + [I(14,90)] = {64,0}, + [I(15,90)] = {64,0}, + [I(16,90)] = {64,0}, + [I(17,90)] = {64,0}, + [I(18,90)] = {64,0}, + [I(19,90)] = {64,0}, + [I(20,90)] = {64,0}, + [I(21,90)] = {64,0}, + [I(22,90)] = {64,0}, + [I(23,90)] = {64,0}, + [I(24,90)] = {64,0}, + [I(25,90)] = {64,0}, + [I(26,90)] = {64,0}, + [I(27,90)] = {64,0}, + [I(28,90)] = {64,0}, + [I(29,90)] = {64,0}, + [I(30,90)] = {64,0}, + [I(31,90)] = {64,0}, + [I(32,90)] = {14,0x14FD}, + [I(33,90)] = {18,0x3F8FD}, + [I(34,90)] = {18,0x3F9FD}, + [I(35,90)] = {20,0xFFAFD}, + [I(36,90)] = {21,0x1FF9FD}, + [I(37,90)] = {14,0x15FD}, + [I(38,90)] = {16,0xF8FD}, + [I(39,90)] = {19,0x7FAFD}, + [I(40,90)] = {18,0x3FAFD}, + [I(41,90)] = {18,0x3FBFD}, + [I(42,90)] = {16,0xF9FD}, + [I(43,90)] = {19,0x7FBFD}, + [I(44,90)] = {16,0xFAFD}, + [I(45,90)] = {14,0x16FD}, + [I(46,90)] = {14,0x17FD}, + [I(47,90)] = {14,0x18FD}, + [I(48,90)] = {13,0xFD}, + [I(49,90)] = {13,0x1FD}, + [I(50,90)] = {13,0x2FD}, + [I(51,90)] = {14,0x19FD}, + [I(52,90)] = {14,0x1AFD}, + [I(53,90)] = {14,0x1BFD}, + [I(54,90)] = {14,0x1CFD}, + [I(55,90)] = {14,0x1DFD}, + [I(56,90)] = {14,0x1EFD}, + [I(57,90)] = {14,0x1FFD}, + [I(58,90)] = {15,0x5CFD}, + [I(59,90)] = {16,0xFBFD}, + [I(60,90)] = {23,0x7FFCFD}, + [I(61,90)] = {14,0x20FD}, + [I(62,90)] = {20,0xFFBFD}, + [I(63,90)] = {18,0x3FCFD}, + [I(64,90)] = {21,0x1FFAFD}, + [I(65,90)] = {14,0x21FD}, + [I(66,90)] = {15,0x5DFD}, + [I(67,90)] = {15,0x5EFD}, + [I(68,90)] = {15,0x5FFD}, + [I(69,90)] = {15,0x60FD}, + [I(70,90)] = {15,0x61FD}, + [I(71,90)] = {15,0x62FD}, + [I(72,90)] = {15,0x63FD}, + [I(73,90)] = {15,0x64FD}, + [I(74,90)] = {15,0x65FD}, + [I(75,90)] = {15,0x66FD}, + [I(76,90)] = {15,0x67FD}, + [I(77,90)] = {15,0x68FD}, + [I(78,90)] = {15,0x69FD}, + [I(79,90)] = {15,0x6AFD}, + [I(80,90)] = {15,0x6BFD}, + [I(81,90)] = {15,0x6CFD}, + [I(82,90)] = {15,0x6DFD}, + [I(83,90)] = {15,0x6EFD}, + [I(84,90)] = {15,0x6FFD}, + [I(85,90)] = {15,0x70FD}, + [I(86,90)] = {15,0x71FD}, + [I(87,90)] = {15,0x72FD}, + [I(88,90)] = {16,0xFCFD}, + [I(89,90)] = {15,0x73FD}, + [I(90,90)] = {16,0xFDFD}, + [I(91,90)] = {21,0x1FFBFD}, + [I(92,90)] = {27,0x7FFF0FD}, + [I(93,90)] = {21,0x1FFCFD}, + [I(94,90)] = {22,0x3FFCFD}, + [I(95,90)] = {14,0x22FD}, + [I(96,90)] = {23,0x7FFDFD}, + [I(97,90)] = {13,0x3FD}, + [I(98,90)] = {14,0x23FD}, + [I(99,90)] = {13,0x4FD}, + [I(100,90)] = {14,0x24FD}, + [I(101,90)] = {13,0x5FD}, + [I(102,90)] = {14,0x25FD}, + [I(103,90)] = {14,0x26FD}, + [I(104,90)] = {14,0x27FD}, + [I(105,90)] = {13,0x6FD}, + [I(106,90)] = {15,0x74FD}, + [I(107,90)] = {15,0x75FD}, + [I(108,90)] = {14,0x28FD}, + [I(109,90)] = {14,0x29FD}, + [I(110,90)] = {14,0x2AFD}, + [I(111,90)] = {13,0x7FD}, + [I(112,90)] = {14,0x2BFD}, + [I(113,90)] = {15,0x76FD}, + [I(114,90)] = {14,0x2CFD}, + [I(115,90)] = {13,0x8FD}, + [I(116,90)] = {13,0x9FD}, + [I(117,90)] = {14,0x2DFD}, + [I(118,90)] = {15,0x77FD}, + [I(119,90)] = {15,0x78FD}, + [I(120,90)] = {15,0x79FD}, + [I(121,90)] = {15,0x7AFD}, + [I(122,90)] = {15,0x7BFD}, + [I(123,90)] = {23,0x7FFEFD}, + [I(124,90)] = {19,0x7FCFD}, + [I(125,90)] = {22,0x3FFDFD}, + [I(126,90)] = {21,0x1FFDFD}, + [I(127,90)] = {64,0}, + [I(128,90)] = {28,0xFFFE6FD}, + [I(129,90)] = {30,0x3FFFD2FD}, + [I(130,90)] = {28,0xFFFE7FD}, + [I(131,90)] = {28,0xFFFE8FD}, + [I(132,90)] = {30,0x3FFFD3FD}, + [I(133,90)] = {30,0x3FFFD4FD}, + [I(134,90)] = {30,0x3FFFD5FD}, + [I(135,90)] = {31,0x7FFFD9FD}, + [I(136,90)] = {30,0x3FFFD6FD}, + [I(137,90)] = {31,0x7FFFDAFD}, + [I(138,90)] = {31,0x7FFFDBFD}, + [I(139,90)] = {31,0x7FFFDCFD}, + [I(140,90)] = {31,0x7FFFDDFD}, + [I(141,90)] = {31,0x7FFFDEFD}, + [I(142,90)] = {X32,0xFFFFEBFD}, + [I(143,90)] = {31,0x7FFFDFFD}, + [I(144,90)] = {X32,0xFFFFECFD}, + [I(145,90)] = {X32,0xFFFFEDFD}, + [I(146,90)] = {30,0x3FFFD7FD}, + [I(147,90)] = {31,0x7FFFE0FD}, + [I(148,90)] = {X32,0xFFFFEEFD}, + [I(149,90)] = {31,0x7FFFE1FD}, + [I(150,90)] = {31,0x7FFFE2FD}, + [I(151,90)] = {31,0x7FFFE3FD}, + [I(152,90)] = {31,0x7FFFE4FD}, + [I(153,90)] = {29,0x1FFFDCFD}, + [I(154,90)] = {30,0x3FFFD8FD}, + [I(155,90)] = {31,0x7FFFE5FD}, + [I(156,90)] = {30,0x3FFFD9FD}, + [I(157,90)] = {31,0x7FFFE6FD}, + [I(158,90)] = {31,0x7FFFE7FD}, + [I(159,90)] = {X32,0xFFFFEFFD}, + [I(160,90)] = {30,0x3FFFDAFD}, + [I(161,90)] = {29,0x1FFFDDFD}, + [I(162,90)] = {28,0xFFFE9FD}, + [I(163,90)] = {30,0x3FFFDBFD}, + [I(164,90)] = {30,0x3FFFDCFD}, + [I(165,90)] = {31,0x7FFFE8FD}, + [I(166,90)] = {31,0x7FFFE9FD}, + [I(167,90)] = {29,0x1FFFDEFD}, + [I(168,90)] = {31,0x7FFFEAFD}, + [I(169,90)] = {30,0x3FFFDDFD}, + [I(170,90)] = {30,0x3FFFDEFD}, + [I(171,90)] = {X32,0xFFFFF0FD}, + [I(172,90)] = {29,0x1FFFDFFD}, + [I(173,90)] = {30,0x3FFFDFFD}, + [I(174,90)] = {31,0x7FFFEBFD}, + [I(175,90)] = {31,0x7FFFECFD}, + [I(176,90)] = {29,0x1FFFE0FD}, + [I(177,90)] = {29,0x1FFFE1FD}, + [I(178,90)] = {30,0x3FFFE0FD}, + [I(179,90)] = {29,0x1FFFE2FD}, + [I(180,90)] = {31,0x7FFFEDFD}, + [I(181,90)] = {30,0x3FFFE1FD}, + [I(182,90)] = {31,0x7FFFEEFD}, + [I(183,90)] = {31,0x7FFFEFFD}, + [I(184,90)] = {28,0xFFFEAFD}, + [I(185,90)] = {30,0x3FFFE2FD}, + [I(186,90)] = {30,0x3FFFE3FD}, + [I(187,90)] = {30,0x3FFFE4FD}, + [I(188,90)] = {31,0x7FFFF0FD}, + [I(189,90)] = {30,0x3FFFE5FD}, + [I(190,90)] = {30,0x3FFFE6FD}, + [I(191,90)] = {31,0x7FFFF1FD}, + [I(192,90)] = {64,0}, + [I(193,90)] = {64,0}, + [I(194,90)] = {28,0xFFFEBFD}, + [I(195,90)] = {27,0x7FFF1FD}, + [I(196,90)] = {30,0x3FFFE7FD}, + [I(197,90)] = {31,0x7FFFF2FD}, + [I(198,90)] = {30,0x3FFFE8FD}, + [I(199,90)] = {64,0}, + [I(200,90)] = {64,0}, + [I(201,90)] = {64,0}, + [I(202,90)] = {64,0}, + [I(203,90)] = {64,0}, + [I(204,90)] = {64,0}, + [I(205,90)] = {64,0}, + [I(206,90)] = {X32,0xFFFFF1FD}, + [I(207,90)] = {64,0}, + [I(208,90)] = {27,0x7FFF2FD}, + [I(209,90)] = {29,0x1FFFE3FD}, + [I(210,90)] = {64,0}, + [I(211,90)] = {64,0}, + [I(212,90)] = {64,0}, + [I(213,90)] = {64,0}, + [I(214,90)] = {64,0}, + [I(215,90)] = {X32,0xFFFFF2FD}, + [I(216,90)] = {29,0x1FFFE4FD}, + [I(217,90)] = {29,0x1FFFE5FD}, + [I(218,90)] = {64,0}, + [I(219,90)] = {64,0}, + [I(220,90)] = {64,0}, + [I(221,90)] = {64,0}, + [I(222,90)] = {64,0}, + [I(223,90)] = {64,0}, + [I(224,90)] = {28,0xFFFECFD}, + [I(225,90)] = {X32,0xFFFFF3FD}, + [I(226,90)] = {28,0xFFFEDFD}, + [I(227,90)] = {29,0x1FFFE6FD}, + [I(228,90)] = {30,0x3FFFE9FD}, + [I(229,90)] = {29,0x1FFFE7FD}, + [I(230,90)] = {29,0x1FFFE8FD}, + [I(231,90)] = {31,0x7FFFF3FD}, + [I(232,90)] = {30,0x3FFFEAFD}, + [I(233,90)] = {30,0x3FFFEBFD}, + [I(234,90)] = {64,0}, + [I(235,90)] = {64,0}, + [I(236,90)] = {X32,0xFFFFF4FD}, + [I(237,90)] = {X32,0xFFFFF5FD}, + [I(238,90)] = {64,0}, + [I(239,90)] = {31,0x7FFFF4FD}, + [I(240,90)] = {64,0}, + [I(241,90)] = {64,0}, + [I(242,90)] = {64,0}, + [I(243,90)] = {64,0}, + [I(244,90)] = {64,0}, + [I(245,90)] = {64,0}, + [I(246,90)] = {64,0}, + [I(247,90)] = {64,0}, + [I(248,90)] = {64,0}, + [I(249,90)] = {64,0}, + [I(250,90)] = {64,0}, + [I(251,90)] = {64,0}, + [I(252,90)] = {64,0}, + [I(253,90)] = {64,0}, + [I(254,90)] = {64,0}, + [I(255,90)] = {64,0}, + [I(0,91)] = {26,0x3FF1FFB}, + [I(1,91)] = {64,0}, + [I(2,91)] = {64,0}, + [I(3,91)] = {64,0}, + [I(4,91)] = {64,0}, + [I(5,91)] = {64,0}, + [I(6,91)] = {64,0}, + [I(7,91)] = {64,0}, + [I(8,91)] = {64,0}, + [I(9,91)] = {64,0}, + [I(10,91)] = {64,0}, + [I(11,91)] = {64,0}, + [I(12,91)] = {64,0}, + [I(13,91)] = {64,0}, + [I(14,91)] = {64,0}, + [I(15,91)] = {64,0}, + [I(16,91)] = {64,0}, + [I(17,91)] = {64,0}, + [I(18,91)] = {64,0}, + [I(19,91)] = {64,0}, + [I(20,91)] = {64,0}, + [I(21,91)] = {64,0}, + [I(22,91)] = {64,0}, + [I(23,91)] = {64,0}, + [I(24,91)] = {64,0}, + [I(25,91)] = {64,0}, + [I(26,91)] = {64,0}, + [I(27,91)] = {64,0}, + [I(28,91)] = {64,0}, + [I(29,91)] = {64,0}, + [I(30,91)] = {64,0}, + [I(31,91)] = {64,0}, + [I(32,91)] = {19,0x29FFB}, + [I(33,91)] = {23,0x7F1FFB}, + [I(34,91)] = {23,0x7F3FFB}, + [I(35,91)] = {25,0x1FF5FFB}, + [I(36,91)] = {26,0x3FF3FFB}, + [I(37,91)] = {19,0x2BFFB}, + [I(38,91)] = {21,0x1F1FFB}, + [I(39,91)] = {24,0xFF5FFB}, + [I(40,91)] = {23,0x7F5FFB}, + [I(41,91)] = {23,0x7F7FFB}, + [I(42,91)] = {21,0x1F3FFB}, + [I(43,91)] = {24,0xFF7FFB}, + [I(44,91)] = {21,0x1F5FFB}, + [I(45,91)] = {19,0x2DFFB}, + [I(46,91)] = {19,0x2FFFB}, + [I(47,91)] = {19,0x31FFB}, + [I(48,91)] = {18,0x1FFB}, + [I(49,91)] = {18,0x3FFB}, + [I(50,91)] = {18,0x5FFB}, + [I(51,91)] = {19,0x33FFB}, + [I(52,91)] = {19,0x35FFB}, + [I(53,91)] = {19,0x37FFB}, + [I(54,91)] = {19,0x39FFB}, + [I(55,91)] = {19,0x3BFFB}, + [I(56,91)] = {19,0x3DFFB}, + [I(57,91)] = {19,0x3FFFB}, + [I(58,91)] = {20,0xB9FFB}, + [I(59,91)] = {21,0x1F7FFB}, + [I(60,91)] = {28,0xFFF9FFB}, + [I(61,91)] = {19,0x41FFB}, + [I(62,91)] = {25,0x1FF7FFB}, + [I(63,91)] = {23,0x7F9FFB}, + [I(64,91)] = {26,0x3FF5FFB}, + [I(65,91)] = {19,0x43FFB}, + [I(66,91)] = {20,0xBBFFB}, + [I(67,91)] = {20,0xBDFFB}, + [I(68,91)] = {20,0xBFFFB}, + [I(69,91)] = {20,0xC1FFB}, + [I(70,91)] = {20,0xC3FFB}, + [I(71,91)] = {20,0xC5FFB}, + [I(72,91)] = {20,0xC7FFB}, + [I(73,91)] = {20,0xC9FFB}, + [I(74,91)] = {20,0xCBFFB}, + [I(75,91)] = {20,0xCDFFB}, + [I(76,91)] = {20,0xCFFFB}, + [I(77,91)] = {20,0xD1FFB}, + [I(78,91)] = {20,0xD3FFB}, + [I(79,91)] = {20,0xD5FFB}, + [I(80,91)] = {20,0xD7FFB}, + [I(81,91)] = {20,0xD9FFB}, + [I(82,91)] = {20,0xDBFFB}, + [I(83,91)] = {20,0xDDFFB}, + [I(84,91)] = {20,0xDFFFB}, + [I(85,91)] = {20,0xE1FFB}, + [I(86,91)] = {20,0xE3FFB}, + [I(87,91)] = {20,0xE5FFB}, + [I(88,91)] = {21,0x1F9FFB}, + [I(89,91)] = {20,0xE7FFB}, + [I(90,91)] = {21,0x1FBFFB}, + [I(91,91)] = {26,0x3FF7FFB}, + [I(92,91)] = {X32,0xFFFE1FFB}, + [I(93,91)] = {26,0x3FF9FFB}, + [I(94,91)] = {27,0x7FF9FFB}, + [I(95,91)] = {19,0x45FFB}, + [I(96,91)] = {28,0xFFFBFFB}, + [I(97,91)] = {18,0x7FFB}, + [I(98,91)] = {19,0x47FFB}, + [I(99,91)] = {18,0x9FFB}, + [I(100,91)] = {19,0x49FFB}, + [I(101,91)] = {18,0xBFFB}, + [I(102,91)] = {19,0x4BFFB}, + [I(103,91)] = {19,0x4DFFB}, + [I(104,91)] = {19,0x4FFFB}, + [I(105,91)] = {18,0xDFFB}, + [I(106,91)] = {20,0xE9FFB}, + [I(107,91)] = {20,0xEBFFB}, + [I(108,91)] = {19,0x51FFB}, + [I(109,91)] = {19,0x53FFB}, + [I(110,91)] = {19,0x55FFB}, + [I(111,91)] = {18,0xFFFB}, + [I(112,91)] = {19,0x57FFB}, + [I(113,91)] = {20,0xEDFFB}, + [I(114,91)] = {19,0x59FFB}, + [I(115,91)] = {18,0x11FFB}, + [I(116,91)] = {18,0x13FFB}, + [I(117,91)] = {19,0x5BFFB}, + [I(118,91)] = {20,0xEFFFB}, + [I(119,91)] = {20,0xF1FFB}, + [I(120,91)] = {20,0xF3FFB}, + [I(121,91)] = {20,0xF5FFB}, + [I(122,91)] = {20,0xF7FFB}, + [I(123,91)] = {28,0xFFFDFFB}, + [I(124,91)] = {24,0xFF9FFB}, + [I(125,91)] = {27,0x7FFBFFB}, + [I(126,91)] = {26,0x3FFBFFB}, + [I(127,91)] = {64,0}, + [I(128,91)] = {64,0}, + [I(129,91)] = {64,0}, + [I(130,91)] = {64,0}, + [I(131,91)] = {64,0}, + [I(132,91)] = {64,0}, + [I(133,91)] = {64,0}, + [I(134,91)] = {64,0}, + [I(135,91)] = {64,0}, + [I(136,91)] = {64,0}, + [I(137,91)] = {64,0}, + [I(138,91)] = {64,0}, + [I(139,91)] = {64,0}, + [I(140,91)] = {64,0}, + [I(141,91)] = {64,0}, + [I(142,91)] = {64,0}, + [I(143,91)] = {64,0}, + [I(144,91)] = {64,0}, + [I(145,91)] = {64,0}, + [I(146,91)] = {64,0}, + [I(147,91)] = {64,0}, + [I(148,91)] = {64,0}, + [I(149,91)] = {64,0}, + [I(150,91)] = {64,0}, + [I(151,91)] = {64,0}, + [I(152,91)] = {64,0}, + [I(153,91)] = {64,0}, + [I(154,91)] = {64,0}, + [I(155,91)] = {64,0}, + [I(156,91)] = {64,0}, + [I(157,91)] = {64,0}, + [I(158,91)] = {64,0}, + [I(159,91)] = {64,0}, + [I(160,91)] = {64,0}, + [I(161,91)] = {64,0}, + [I(162,91)] = {64,0}, + [I(163,91)] = {64,0}, + [I(164,91)] = {64,0}, + [I(165,91)] = {64,0}, + [I(166,91)] = {64,0}, + [I(167,91)] = {64,0}, + [I(168,91)] = {64,0}, + [I(169,91)] = {64,0}, + [I(170,91)] = {64,0}, + [I(171,91)] = {64,0}, + [I(172,91)] = {64,0}, + [I(173,91)] = {64,0}, + [I(174,91)] = {64,0}, + [I(175,91)] = {64,0}, + [I(176,91)] = {64,0}, + [I(177,91)] = {64,0}, + [I(178,91)] = {64,0}, + [I(179,91)] = {64,0}, + [I(180,91)] = {64,0}, + [I(181,91)] = {64,0}, + [I(182,91)] = {64,0}, + [I(183,91)] = {64,0}, + [I(184,91)] = {64,0}, + [I(185,91)] = {64,0}, + [I(186,91)] = {64,0}, + [I(187,91)] = {64,0}, + [I(188,91)] = {64,0}, + [I(189,91)] = {64,0}, + [I(190,91)] = {64,0}, + [I(191,91)] = {64,0}, + [I(192,91)] = {64,0}, + [I(193,91)] = {64,0}, + [I(194,91)] = {64,0}, + [I(195,91)] = {X32,0xFFFE3FFB}, + [I(196,91)] = {64,0}, + [I(197,91)] = {64,0}, + [I(198,91)] = {64,0}, + [I(199,91)] = {64,0}, + [I(200,91)] = {64,0}, + [I(201,91)] = {64,0}, + [I(202,91)] = {64,0}, + [I(203,91)] = {64,0}, + [I(204,91)] = {64,0}, + [I(205,91)] = {64,0}, + [I(206,91)] = {64,0}, + [I(207,91)] = {64,0}, + [I(208,91)] = {X32,0xFFFE5FFB}, + [I(209,91)] = {64,0}, + [I(210,91)] = {64,0}, + [I(211,91)] = {64,0}, + [I(212,91)] = {64,0}, + [I(213,91)] = {64,0}, + [I(214,91)] = {64,0}, + [I(215,91)] = {64,0}, + [I(216,91)] = {64,0}, + [I(217,91)] = {64,0}, + [I(218,91)] = {64,0}, + [I(219,91)] = {64,0}, + [I(220,91)] = {64,0}, + [I(221,91)] = {64,0}, + [I(222,91)] = {64,0}, + [I(223,91)] = {64,0}, + [I(224,91)] = {64,0}, + [I(225,91)] = {64,0}, + [I(226,91)] = {64,0}, + [I(227,91)] = {64,0}, + [I(228,91)] = {64,0}, + [I(229,91)] = {64,0}, + [I(230,91)] = {64,0}, + [I(231,91)] = {64,0}, + [I(232,91)] = {64,0}, + [I(233,91)] = {64,0}, + [I(234,91)] = {64,0}, + [I(235,91)] = {64,0}, + [I(236,91)] = {64,0}, + [I(237,91)] = {64,0}, + [I(238,91)] = {64,0}, + [I(239,91)] = {64,0}, + [I(240,91)] = {64,0}, + [I(241,91)] = {64,0}, + [I(242,91)] = {64,0}, + [I(243,91)] = {64,0}, + [I(244,91)] = {64,0}, + [I(245,91)] = {64,0}, + [I(246,91)] = {64,0}, + [I(247,91)] = {64,0}, + [I(248,91)] = {64,0}, + [I(249,91)] = {64,0}, + [I(250,91)] = {64,0}, + [I(251,91)] = {64,0}, + [I(252,91)] = {64,0}, + [I(253,91)] = {64,0}, + [I(254,91)] = {64,0}, + [I(255,91)] = {64,0}, + [I(0,92)] = {X32,0xFFC7FFF0}, + [I(1,92)] = {64,0}, + [I(2,92)] = {64,0}, + [I(3,92)] = {64,0}, + [I(4,92)] = {64,0}, + [I(5,92)] = {64,0}, + [I(6,92)] = {64,0}, + [I(7,92)] = {64,0}, + [I(8,92)] = {64,0}, + [I(9,92)] = {64,0}, + [I(10,92)] = {64,0}, + [I(11,92)] = {64,0}, + [I(12,92)] = {64,0}, + [I(13,92)] = {64,0}, + [I(14,92)] = {64,0}, + [I(15,92)] = {64,0}, + [I(16,92)] = {64,0}, + [I(17,92)] = {64,0}, + [I(18,92)] = {64,0}, + [I(19,92)] = {64,0}, + [I(20,92)] = {64,0}, + [I(21,92)] = {64,0}, + [I(22,92)] = {64,0}, + [I(23,92)] = {64,0}, + [I(24,92)] = {64,0}, + [I(25,92)] = {64,0}, + [I(26,92)] = {64,0}, + [I(27,92)] = {64,0}, + [I(28,92)] = {64,0}, + [I(29,92)] = {64,0}, + [I(30,92)] = {64,0}, + [I(31,92)] = {64,0}, + [I(32,92)] = {25,0xA7FFF0}, + [I(33,92)] = {29,0x1FC7FFF0}, + [I(34,92)] = {29,0x1FCFFFF0}, + [I(35,92)] = {31,0x7FD7FFF0}, + [I(36,92)] = {X32,0xFFCFFFF0}, + [I(37,92)] = {25,0xAFFFF0}, + [I(38,92)] = {27,0x7C7FFF0}, + [I(39,92)] = {30,0x3FD7FFF0}, + [I(40,92)] = {29,0x1FD7FFF0}, + [I(41,92)] = {29,0x1FDFFFF0}, + [I(42,92)] = {27,0x7CFFFF0}, + [I(43,92)] = {30,0x3FDFFFF0}, + [I(44,92)] = {27,0x7D7FFF0}, + [I(45,92)] = {25,0xB7FFF0}, + [I(46,92)] = {25,0xBFFFF0}, + [I(47,92)] = {25,0xC7FFF0}, + [I(48,92)] = {24,0x7FFF0}, + [I(49,92)] = {24,0xFFFF0}, + [I(50,92)] = {24,0x17FFF0}, + [I(51,92)] = {25,0xCFFFF0}, + [I(52,92)] = {25,0xD7FFF0}, + [I(53,92)] = {25,0xDFFFF0}, + [I(54,92)] = {25,0xE7FFF0}, + [I(55,92)] = {25,0xEFFFF0}, + [I(56,92)] = {25,0xF7FFF0}, + [I(57,92)] = {25,0xFFFFF0}, + [I(58,92)] = {26,0x2E7FFF0}, + [I(59,92)] = {27,0x7DFFFF0}, + [I(60,92)] = {64,0}, + [I(61,92)] = {25,0x107FFF0}, + [I(62,92)] = {31,0x7FDFFFF0}, + [I(63,92)] = {29,0x1FE7FFF0}, + [I(64,92)] = {X32,0xFFD7FFF0}, + [I(65,92)] = {25,0x10FFFF0}, + [I(66,92)] = {26,0x2EFFFF0}, + [I(67,92)] = {26,0x2F7FFF0}, + [I(68,92)] = {26,0x2FFFFF0}, + [I(69,92)] = {26,0x307FFF0}, + [I(70,92)] = {26,0x30FFFF0}, + [I(71,92)] = {26,0x317FFF0}, + [I(72,92)] = {26,0x31FFFF0}, + [I(73,92)] = {26,0x327FFF0}, + [I(74,92)] = {26,0x32FFFF0}, + [I(75,92)] = {26,0x337FFF0}, + [I(76,92)] = {26,0x33FFFF0}, + [I(77,92)] = {26,0x347FFF0}, + [I(78,92)] = {26,0x34FFFF0}, + [I(79,92)] = {26,0x357FFF0}, + [I(80,92)] = {26,0x35FFFF0}, + [I(81,92)] = {26,0x367FFF0}, + [I(82,92)] = {26,0x36FFFF0}, + [I(83,92)] = {26,0x377FFF0}, + [I(84,92)] = {26,0x37FFFF0}, + [I(85,92)] = {26,0x387FFF0}, + [I(86,92)] = {26,0x38FFFF0}, + [I(87,92)] = {26,0x397FFF0}, + [I(88,92)] = {27,0x7E7FFF0}, + [I(89,92)] = {26,0x39FFFF0}, + [I(90,92)] = {27,0x7EFFFF0}, + [I(91,92)] = {X32,0xFFDFFFF0}, + [I(92,92)] = {64,0}, + [I(93,92)] = {X32,0xFFE7FFF0}, + [I(94,92)] = {64,0}, + [I(95,92)] = {25,0x117FFF0}, + [I(96,92)] = {64,0}, + [I(97,92)] = {24,0x1FFFF0}, + [I(98,92)] = {25,0x11FFFF0}, + [I(99,92)] = {24,0x27FFF0}, + [I(100,92)] = {25,0x127FFF0}, + [I(101,92)] = {24,0x2FFFF0}, + [I(102,92)] = {25,0x12FFFF0}, + [I(103,92)] = {25,0x137FFF0}, + [I(104,92)] = {25,0x13FFFF0}, + [I(105,92)] = {24,0x37FFF0}, + [I(106,92)] = {26,0x3A7FFF0}, + [I(107,92)] = {26,0x3AFFFF0}, + [I(108,92)] = {25,0x147FFF0}, + [I(109,92)] = {25,0x14FFFF0}, + [I(110,92)] = {25,0x157FFF0}, + [I(111,92)] = {24,0x3FFFF0}, + [I(112,92)] = {25,0x15FFFF0}, + [I(113,92)] = {26,0x3B7FFF0}, + [I(114,92)] = {25,0x167FFF0}, + [I(115,92)] = {24,0x47FFF0}, + [I(116,92)] = {24,0x4FFFF0}, + [I(117,92)] = {25,0x16FFFF0}, + [I(118,92)] = {26,0x3BFFFF0}, + [I(119,92)] = {26,0x3C7FFF0}, + [I(120,92)] = {26,0x3CFFFF0}, + [I(121,92)] = {26,0x3D7FFF0}, + [I(122,92)] = {26,0x3DFFFF0}, + [I(123,92)] = {64,0}, + [I(124,92)] = {30,0x3FE7FFF0}, + [I(125,92)] = {64,0}, + [I(126,92)] = {X32,0xFFEFFFF0}, + [I(127,92)] = {64,0}, + [I(128,92)] = {64,0}, + [I(129,92)] = {64,0}, + [I(130,92)] = {64,0}, + [I(131,92)] = {64,0}, + [I(132,92)] = {64,0}, + [I(133,92)] = {64,0}, + [I(134,92)] = {64,0}, + [I(135,92)] = {64,0}, + [I(136,92)] = {64,0}, + [I(137,92)] = {64,0}, + [I(138,92)] = {64,0}, + [I(139,92)] = {64,0}, + [I(140,92)] = {64,0}, + [I(141,92)] = {64,0}, + [I(142,92)] = {64,0}, + [I(143,92)] = {64,0}, + [I(144,92)] = {64,0}, + [I(145,92)] = {64,0}, + [I(146,92)] = {64,0}, + [I(147,92)] = {64,0}, + [I(148,92)] = {64,0}, + [I(149,92)] = {64,0}, + [I(150,92)] = {64,0}, + [I(151,92)] = {64,0}, + [I(152,92)] = {64,0}, + [I(153,92)] = {64,0}, + [I(154,92)] = {64,0}, + [I(155,92)] = {64,0}, + [I(156,92)] = {64,0}, + [I(157,92)] = {64,0}, + [I(158,92)] = {64,0}, + [I(159,92)] = {64,0}, + [I(160,92)] = {64,0}, + [I(161,92)] = {64,0}, + [I(162,92)] = {64,0}, + [I(163,92)] = {64,0}, + [I(164,92)] = {64,0}, + [I(165,92)] = {64,0}, + [I(166,92)] = {64,0}, + [I(167,92)] = {64,0}, + [I(168,92)] = {64,0}, + [I(169,92)] = {64,0}, + [I(170,92)] = {64,0}, + [I(171,92)] = {64,0}, + [I(172,92)] = {64,0}, + [I(173,92)] = {64,0}, + [I(174,92)] = {64,0}, + [I(175,92)] = {64,0}, + [I(176,92)] = {64,0}, + [I(177,92)] = {64,0}, + [I(178,92)] = {64,0}, + [I(179,92)] = {64,0}, + [I(180,92)] = {64,0}, + [I(181,92)] = {64,0}, + [I(182,92)] = {64,0}, + [I(183,92)] = {64,0}, + [I(184,92)] = {64,0}, + [I(185,92)] = {64,0}, + [I(186,92)] = {64,0}, + [I(187,92)] = {64,0}, + [I(188,92)] = {64,0}, + [I(189,92)] = {64,0}, + [I(190,92)] = {64,0}, + [I(191,92)] = {64,0}, + [I(192,92)] = {64,0}, + [I(193,92)] = {64,0}, + [I(194,92)] = {64,0}, + [I(195,92)] = {64,0}, + [I(196,92)] = {64,0}, + [I(197,92)] = {64,0}, + [I(198,92)] = {64,0}, + [I(199,92)] = {64,0}, + [I(200,92)] = {64,0}, + [I(201,92)] = {64,0}, + [I(202,92)] = {64,0}, + [I(203,92)] = {64,0}, + [I(204,92)] = {64,0}, + [I(205,92)] = {64,0}, + [I(206,92)] = {64,0}, + [I(207,92)] = {64,0}, + [I(208,92)] = {64,0}, + [I(209,92)] = {64,0}, + [I(210,92)] = {64,0}, + [I(211,92)] = {64,0}, + [I(212,92)] = {64,0}, + [I(213,92)] = {64,0}, + [I(214,92)] = {64,0}, + [I(215,92)] = {64,0}, + [I(216,92)] = {64,0}, + [I(217,92)] = {64,0}, + [I(218,92)] = {64,0}, + [I(219,92)] = {64,0}, + [I(220,92)] = {64,0}, + [I(221,92)] = {64,0}, + [I(222,92)] = {64,0}, + [I(223,92)] = {64,0}, + [I(224,92)] = {64,0}, + [I(225,92)] = {64,0}, + [I(226,92)] = {64,0}, + [I(227,92)] = {64,0}, + [I(228,92)] = {64,0}, + [I(229,92)] = {64,0}, + [I(230,92)] = {64,0}, + [I(231,92)] = {64,0}, + [I(232,92)] = {64,0}, + [I(233,92)] = {64,0}, + [I(234,92)] = {64,0}, + [I(235,92)] = {64,0}, + [I(236,92)] = {64,0}, + [I(237,92)] = {64,0}, + [I(238,92)] = {64,0}, + [I(239,92)] = {64,0}, + [I(240,92)] = {64,0}, + [I(241,92)] = {64,0}, + [I(242,92)] = {64,0}, + [I(243,92)] = {64,0}, + [I(244,92)] = {64,0}, + [I(245,92)] = {64,0}, + [I(246,92)] = {64,0}, + [I(247,92)] = {64,0}, + [I(248,92)] = {64,0}, + [I(249,92)] = {64,0}, + [I(250,92)] = {64,0}, + [I(251,92)] = {64,0}, + [I(252,92)] = {64,0}, + [I(253,92)] = {64,0}, + [I(254,92)] = {64,0}, + [I(255,92)] = {64,0}, + [I(0,93)] = {26,0x3FF1FFC}, + [I(1,93)] = {64,0}, + [I(2,93)] = {64,0}, + [I(3,93)] = {64,0}, + [I(4,93)] = {64,0}, + [I(5,93)] = {64,0}, + [I(6,93)] = {64,0}, + [I(7,93)] = {64,0}, + [I(8,93)] = {64,0}, + [I(9,93)] = {64,0}, + [I(10,93)] = {64,0}, + [I(11,93)] = {64,0}, + [I(12,93)] = {64,0}, + [I(13,93)] = {64,0}, + [I(14,93)] = {64,0}, + [I(15,93)] = {64,0}, + [I(16,93)] = {64,0}, + [I(17,93)] = {64,0}, + [I(18,93)] = {64,0}, + [I(19,93)] = {64,0}, + [I(20,93)] = {64,0}, + [I(21,93)] = {64,0}, + [I(22,93)] = {64,0}, + [I(23,93)] = {64,0}, + [I(24,93)] = {64,0}, + [I(25,93)] = {64,0}, + [I(26,93)] = {64,0}, + [I(27,93)] = {64,0}, + [I(28,93)] = {64,0}, + [I(29,93)] = {64,0}, + [I(30,93)] = {64,0}, + [I(31,93)] = {64,0}, + [I(32,93)] = {19,0x29FFC}, + [I(33,93)] = {23,0x7F1FFC}, + [I(34,93)] = {23,0x7F3FFC}, + [I(35,93)] = {25,0x1FF5FFC}, + [I(36,93)] = {26,0x3FF3FFC}, + [I(37,93)] = {19,0x2BFFC}, + [I(38,93)] = {21,0x1F1FFC}, + [I(39,93)] = {24,0xFF5FFC}, + [I(40,93)] = {23,0x7F5FFC}, + [I(41,93)] = {23,0x7F7FFC}, + [I(42,93)] = {21,0x1F3FFC}, + [I(43,93)] = {24,0xFF7FFC}, + [I(44,93)] = {21,0x1F5FFC}, + [I(45,93)] = {19,0x2DFFC}, + [I(46,93)] = {19,0x2FFFC}, + [I(47,93)] = {19,0x31FFC}, + [I(48,93)] = {18,0x1FFC}, + [I(49,93)] = {18,0x3FFC}, + [I(50,93)] = {18,0x5FFC}, + [I(51,93)] = {19,0x33FFC}, + [I(52,93)] = {19,0x35FFC}, + [I(53,93)] = {19,0x37FFC}, + [I(54,93)] = {19,0x39FFC}, + [I(55,93)] = {19,0x3BFFC}, + [I(56,93)] = {19,0x3DFFC}, + [I(57,93)] = {19,0x3FFFC}, + [I(58,93)] = {20,0xB9FFC}, + [I(59,93)] = {21,0x1F7FFC}, + [I(60,93)] = {28,0xFFF9FFC}, + [I(61,93)] = {19,0x41FFC}, + [I(62,93)] = {25,0x1FF7FFC}, + [I(63,93)] = {23,0x7F9FFC}, + [I(64,93)] = {26,0x3FF5FFC}, + [I(65,93)] = {19,0x43FFC}, + [I(66,93)] = {20,0xBBFFC}, + [I(67,93)] = {20,0xBDFFC}, + [I(68,93)] = {20,0xBFFFC}, + [I(69,93)] = {20,0xC1FFC}, + [I(70,93)] = {20,0xC3FFC}, + [I(71,93)] = {20,0xC5FFC}, + [I(72,93)] = {20,0xC7FFC}, + [I(73,93)] = {20,0xC9FFC}, + [I(74,93)] = {20,0xCBFFC}, + [I(75,93)] = {20,0xCDFFC}, + [I(76,93)] = {20,0xCFFFC}, + [I(77,93)] = {20,0xD1FFC}, + [I(78,93)] = {20,0xD3FFC}, + [I(79,93)] = {20,0xD5FFC}, + [I(80,93)] = {20,0xD7FFC}, + [I(81,93)] = {20,0xD9FFC}, + [I(82,93)] = {20,0xDBFFC}, + [I(83,93)] = {20,0xDDFFC}, + [I(84,93)] = {20,0xDFFFC}, + [I(85,93)] = {20,0xE1FFC}, + [I(86,93)] = {20,0xE3FFC}, + [I(87,93)] = {20,0xE5FFC}, + [I(88,93)] = {21,0x1F9FFC}, + [I(89,93)] = {20,0xE7FFC}, + [I(90,93)] = {21,0x1FBFFC}, + [I(91,93)] = {26,0x3FF7FFC}, + [I(92,93)] = {X32,0xFFFE1FFC}, + [I(93,93)] = {26,0x3FF9FFC}, + [I(94,93)] = {27,0x7FF9FFC}, + [I(95,93)] = {19,0x45FFC}, + [I(96,93)] = {28,0xFFFBFFC}, + [I(97,93)] = {18,0x7FFC}, + [I(98,93)] = {19,0x47FFC}, + [I(99,93)] = {18,0x9FFC}, + [I(100,93)] = {19,0x49FFC}, + [I(101,93)] = {18,0xBFFC}, + [I(102,93)] = {19,0x4BFFC}, + [I(103,93)] = {19,0x4DFFC}, + [I(104,93)] = {19,0x4FFFC}, + [I(105,93)] = {18,0xDFFC}, + [I(106,93)] = {20,0xE9FFC}, + [I(107,93)] = {20,0xEBFFC}, + [I(108,93)] = {19,0x51FFC}, + [I(109,93)] = {19,0x53FFC}, + [I(110,93)] = {19,0x55FFC}, + [I(111,93)] = {18,0xFFFC}, + [I(112,93)] = {19,0x57FFC}, + [I(113,93)] = {20,0xEDFFC}, + [I(114,93)] = {19,0x59FFC}, + [I(115,93)] = {18,0x11FFC}, + [I(116,93)] = {18,0x13FFC}, + [I(117,93)] = {19,0x5BFFC}, + [I(118,93)] = {20,0xEFFFC}, + [I(119,93)] = {20,0xF1FFC}, + [I(120,93)] = {20,0xF3FFC}, + [I(121,93)] = {20,0xF5FFC}, + [I(122,93)] = {20,0xF7FFC}, + [I(123,93)] = {28,0xFFFDFFC}, + [I(124,93)] = {24,0xFF9FFC}, + [I(125,93)] = {27,0x7FFBFFC}, + [I(126,93)] = {26,0x3FFBFFC}, + [I(127,93)] = {64,0}, + [I(128,93)] = {64,0}, + [I(129,93)] = {64,0}, + [I(130,93)] = {64,0}, + [I(131,93)] = {64,0}, + [I(132,93)] = {64,0}, + [I(133,93)] = {64,0}, + [I(134,93)] = {64,0}, + [I(135,93)] = {64,0}, + [I(136,93)] = {64,0}, + [I(137,93)] = {64,0}, + [I(138,93)] = {64,0}, + [I(139,93)] = {64,0}, + [I(140,93)] = {64,0}, + [I(141,93)] = {64,0}, + [I(142,93)] = {64,0}, + [I(143,93)] = {64,0}, + [I(144,93)] = {64,0}, + [I(145,93)] = {64,0}, + [I(146,93)] = {64,0}, + [I(147,93)] = {64,0}, + [I(148,93)] = {64,0}, + [I(149,93)] = {64,0}, + [I(150,93)] = {64,0}, + [I(151,93)] = {64,0}, + [I(152,93)] = {64,0}, + [I(153,93)] = {64,0}, + [I(154,93)] = {64,0}, + [I(155,93)] = {64,0}, + [I(156,93)] = {64,0}, + [I(157,93)] = {64,0}, + [I(158,93)] = {64,0}, + [I(159,93)] = {64,0}, + [I(160,93)] = {64,0}, + [I(161,93)] = {64,0}, + [I(162,93)] = {64,0}, + [I(163,93)] = {64,0}, + [I(164,93)] = {64,0}, + [I(165,93)] = {64,0}, + [I(166,93)] = {64,0}, + [I(167,93)] = {64,0}, + [I(168,93)] = {64,0}, + [I(169,93)] = {64,0}, + [I(170,93)] = {64,0}, + [I(171,93)] = {64,0}, + [I(172,93)] = {64,0}, + [I(173,93)] = {64,0}, + [I(174,93)] = {64,0}, + [I(175,93)] = {64,0}, + [I(176,93)] = {64,0}, + [I(177,93)] = {64,0}, + [I(178,93)] = {64,0}, + [I(179,93)] = {64,0}, + [I(180,93)] = {64,0}, + [I(181,93)] = {64,0}, + [I(182,93)] = {64,0}, + [I(183,93)] = {64,0}, + [I(184,93)] = {64,0}, + [I(185,93)] = {64,0}, + [I(186,93)] = {64,0}, + [I(187,93)] = {64,0}, + [I(188,93)] = {64,0}, + [I(189,93)] = {64,0}, + [I(190,93)] = {64,0}, + [I(191,93)] = {64,0}, + [I(192,93)] = {64,0}, + [I(193,93)] = {64,0}, + [I(194,93)] = {64,0}, + [I(195,93)] = {X32,0xFFFE3FFC}, + [I(196,93)] = {64,0}, + [I(197,93)] = {64,0}, + [I(198,93)] = {64,0}, + [I(199,93)] = {64,0}, + [I(200,93)] = {64,0}, + [I(201,93)] = {64,0}, + [I(202,93)] = {64,0}, + [I(203,93)] = {64,0}, + [I(204,93)] = {64,0}, + [I(205,93)] = {64,0}, + [I(206,93)] = {64,0}, + [I(207,93)] = {64,0}, + [I(208,93)] = {X32,0xFFFE5FFC}, + [I(209,93)] = {64,0}, + [I(210,93)] = {64,0}, + [I(211,93)] = {64,0}, + [I(212,93)] = {64,0}, + [I(213,93)] = {64,0}, + [I(214,93)] = {64,0}, + [I(215,93)] = {64,0}, + [I(216,93)] = {64,0}, + [I(217,93)] = {64,0}, + [I(218,93)] = {64,0}, + [I(219,93)] = {64,0}, + [I(220,93)] = {64,0}, + [I(221,93)] = {64,0}, + [I(222,93)] = {64,0}, + [I(223,93)] = {64,0}, + [I(224,93)] = {64,0}, + [I(225,93)] = {64,0}, + [I(226,93)] = {64,0}, + [I(227,93)] = {64,0}, + [I(228,93)] = {64,0}, + [I(229,93)] = {64,0}, + [I(230,93)] = {64,0}, + [I(231,93)] = {64,0}, + [I(232,93)] = {64,0}, + [I(233,93)] = {64,0}, + [I(234,93)] = {64,0}, + [I(235,93)] = {64,0}, + [I(236,93)] = {64,0}, + [I(237,93)] = {64,0}, + [I(238,93)] = {64,0}, + [I(239,93)] = {64,0}, + [I(240,93)] = {64,0}, + [I(241,93)] = {64,0}, + [I(242,93)] = {64,0}, + [I(243,93)] = {64,0}, + [I(244,93)] = {64,0}, + [I(245,93)] = {64,0}, + [I(246,93)] = {64,0}, + [I(247,93)] = {64,0}, + [I(248,93)] = {64,0}, + [I(249,93)] = {64,0}, + [I(250,93)] = {64,0}, + [I(251,93)] = {64,0}, + [I(252,93)] = {64,0}, + [I(253,93)] = {64,0}, + [I(254,93)] = {64,0}, + [I(255,93)] = {64,0}, + [I(0,94)] = {27,0x7FE3FFC}, + [I(1,94)] = {64,0}, + [I(2,94)] = {64,0}, + [I(3,94)] = {64,0}, + [I(4,94)] = {64,0}, + [I(5,94)] = {64,0}, + [I(6,94)] = {64,0}, + [I(7,94)] = {64,0}, + [I(8,94)] = {64,0}, + [I(9,94)] = {64,0}, + [I(10,94)] = {64,0}, + [I(11,94)] = {64,0}, + [I(12,94)] = {64,0}, + [I(13,94)] = {64,0}, + [I(14,94)] = {64,0}, + [I(15,94)] = {64,0}, + [I(16,94)] = {64,0}, + [I(17,94)] = {64,0}, + [I(18,94)] = {64,0}, + [I(19,94)] = {64,0}, + [I(20,94)] = {64,0}, + [I(21,94)] = {64,0}, + [I(22,94)] = {64,0}, + [I(23,94)] = {64,0}, + [I(24,94)] = {64,0}, + [I(25,94)] = {64,0}, + [I(26,94)] = {64,0}, + [I(27,94)] = {64,0}, + [I(28,94)] = {64,0}, + [I(29,94)] = {64,0}, + [I(30,94)] = {64,0}, + [I(31,94)] = {64,0}, + [I(32,94)] = {20,0x53FFC}, + [I(33,94)] = {24,0xFE3FFC}, + [I(34,94)] = {24,0xFE7FFC}, + [I(35,94)] = {26,0x3FEBFFC}, + [I(36,94)] = {27,0x7FE7FFC}, + [I(37,94)] = {20,0x57FFC}, + [I(38,94)] = {22,0x3E3FFC}, + [I(39,94)] = {25,0x1FEBFFC}, + [I(40,94)] = {24,0xFEBFFC}, + [I(41,94)] = {24,0xFEFFFC}, + [I(42,94)] = {22,0x3E7FFC}, + [I(43,94)] = {25,0x1FEFFFC}, + [I(44,94)] = {22,0x3EBFFC}, + [I(45,94)] = {20,0x5BFFC}, + [I(46,94)] = {20,0x5FFFC}, + [I(47,94)] = {20,0x63FFC}, + [I(48,94)] = {19,0x3FFC}, + [I(49,94)] = {19,0x7FFC}, + [I(50,94)] = {19,0xBFFC}, + [I(51,94)] = {20,0x67FFC}, + [I(52,94)] = {20,0x6BFFC}, + [I(53,94)] = {20,0x6FFFC}, + [I(54,94)] = {20,0x73FFC}, + [I(55,94)] = {20,0x77FFC}, + [I(56,94)] = {20,0x7BFFC}, + [I(57,94)] = {20,0x7FFFC}, + [I(58,94)] = {21,0x173FFC}, + [I(59,94)] = {22,0x3EFFFC}, + [I(60,94)] = {29,0x1FFF3FFC}, + [I(61,94)] = {20,0x83FFC}, + [I(62,94)] = {26,0x3FEFFFC}, + [I(63,94)] = {24,0xFF3FFC}, + [I(64,94)] = {27,0x7FEBFFC}, + [I(65,94)] = {20,0x87FFC}, + [I(66,94)] = {21,0x177FFC}, + [I(67,94)] = {21,0x17BFFC}, + [I(68,94)] = {21,0x17FFFC}, + [I(69,94)] = {21,0x183FFC}, + [I(70,94)] = {21,0x187FFC}, + [I(71,94)] = {21,0x18BFFC}, + [I(72,94)] = {21,0x18FFFC}, + [I(73,94)] = {21,0x193FFC}, + [I(74,94)] = {21,0x197FFC}, + [I(75,94)] = {21,0x19BFFC}, + [I(76,94)] = {21,0x19FFFC}, + [I(77,94)] = {21,0x1A3FFC}, + [I(78,94)] = {21,0x1A7FFC}, + [I(79,94)] = {21,0x1ABFFC}, + [I(80,94)] = {21,0x1AFFFC}, + [I(81,94)] = {21,0x1B3FFC}, + [I(82,94)] = {21,0x1B7FFC}, + [I(83,94)] = {21,0x1BBFFC}, + [I(84,94)] = {21,0x1BFFFC}, + [I(85,94)] = {21,0x1C3FFC}, + [I(86,94)] = {21,0x1C7FFC}, + [I(87,94)] = {21,0x1CBFFC}, + [I(88,94)] = {22,0x3F3FFC}, + [I(89,94)] = {21,0x1CFFFC}, + [I(90,94)] = {22,0x3F7FFC}, + [I(91,94)] = {27,0x7FEFFFC}, + [I(92,94)] = {64,0}, + [I(93,94)] = {27,0x7FF3FFC}, + [I(94,94)] = {28,0xFFF3FFC}, + [I(95,94)] = {20,0x8BFFC}, + [I(96,94)] = {29,0x1FFF7FFC}, + [I(97,94)] = {19,0xFFFC}, + [I(98,94)] = {20,0x8FFFC}, + [I(99,94)] = {19,0x13FFC}, + [I(100,94)] = {20,0x93FFC}, + [I(101,94)] = {19,0x17FFC}, + [I(102,94)] = {20,0x97FFC}, + [I(103,94)] = {20,0x9BFFC}, + [I(104,94)] = {20,0x9FFFC}, + [I(105,94)] = {19,0x1BFFC}, + [I(106,94)] = {21,0x1D3FFC}, + [I(107,94)] = {21,0x1D7FFC}, + [I(108,94)] = {20,0xA3FFC}, + [I(109,94)] = {20,0xA7FFC}, + [I(110,94)] = {20,0xABFFC}, + [I(111,94)] = {19,0x1FFFC}, + [I(112,94)] = {20,0xAFFFC}, + [I(113,94)] = {21,0x1DBFFC}, + [I(114,94)] = {20,0xB3FFC}, + [I(115,94)] = {19,0x23FFC}, + [I(116,94)] = {19,0x27FFC}, + [I(117,94)] = {20,0xB7FFC}, + [I(118,94)] = {21,0x1DFFFC}, + [I(119,94)] = {21,0x1E3FFC}, + [I(120,94)] = {21,0x1E7FFC}, + [I(121,94)] = {21,0x1EBFFC}, + [I(122,94)] = {21,0x1EFFFC}, + [I(123,94)] = {29,0x1FFFBFFC}, + [I(124,94)] = {25,0x1FF3FFC}, + [I(125,94)] = {28,0xFFF7FFC}, + [I(126,94)] = {27,0x7FF7FFC}, + [I(127,94)] = {64,0}, + [I(128,94)] = {64,0}, + [I(129,94)] = {64,0}, + [I(130,94)] = {64,0}, + [I(131,94)] = {64,0}, + [I(132,94)] = {64,0}, + [I(133,94)] = {64,0}, + [I(134,94)] = {64,0}, + [I(135,94)] = {64,0}, + [I(136,94)] = {64,0}, + [I(137,94)] = {64,0}, + [I(138,94)] = {64,0}, + [I(139,94)] = {64,0}, + [I(140,94)] = {64,0}, + [I(141,94)] = {64,0}, + [I(142,94)] = {64,0}, + [I(143,94)] = {64,0}, + [I(144,94)] = {64,0}, + [I(145,94)] = {64,0}, + [I(146,94)] = {64,0}, + [I(147,94)] = {64,0}, + [I(148,94)] = {64,0}, + [I(149,94)] = {64,0}, + [I(150,94)] = {64,0}, + [I(151,94)] = {64,0}, + [I(152,94)] = {64,0}, + [I(153,94)] = {64,0}, + [I(154,94)] = {64,0}, + [I(155,94)] = {64,0}, + [I(156,94)] = {64,0}, + [I(157,94)] = {64,0}, + [I(158,94)] = {64,0}, + [I(159,94)] = {64,0}, + [I(160,94)] = {64,0}, + [I(161,94)] = {64,0}, + [I(162,94)] = {64,0}, + [I(163,94)] = {64,0}, + [I(164,94)] = {64,0}, + [I(165,94)] = {64,0}, + [I(166,94)] = {64,0}, + [I(167,94)] = {64,0}, + [I(168,94)] = {64,0}, + [I(169,94)] = {64,0}, + [I(170,94)] = {64,0}, + [I(171,94)] = {64,0}, + [I(172,94)] = {64,0}, + [I(173,94)] = {64,0}, + [I(174,94)] = {64,0}, + [I(175,94)] = {64,0}, + [I(176,94)] = {64,0}, + [I(177,94)] = {64,0}, + [I(178,94)] = {64,0}, + [I(179,94)] = {64,0}, + [I(180,94)] = {64,0}, + [I(181,94)] = {64,0}, + [I(182,94)] = {64,0}, + [I(183,94)] = {64,0}, + [I(184,94)] = {64,0}, + [I(185,94)] = {64,0}, + [I(186,94)] = {64,0}, + [I(187,94)] = {64,0}, + [I(188,94)] = {64,0}, + [I(189,94)] = {64,0}, + [I(190,94)] = {64,0}, + [I(191,94)] = {64,0}, + [I(192,94)] = {64,0}, + [I(193,94)] = {64,0}, + [I(194,94)] = {64,0}, + [I(195,94)] = {64,0}, + [I(196,94)] = {64,0}, + [I(197,94)] = {64,0}, + [I(198,94)] = {64,0}, + [I(199,94)] = {64,0}, + [I(200,94)] = {64,0}, + [I(201,94)] = {64,0}, + [I(202,94)] = {64,0}, + [I(203,94)] = {64,0}, + [I(204,94)] = {64,0}, + [I(205,94)] = {64,0}, + [I(206,94)] = {64,0}, + [I(207,94)] = {64,0}, + [I(208,94)] = {64,0}, + [I(209,94)] = {64,0}, + [I(210,94)] = {64,0}, + [I(211,94)] = {64,0}, + [I(212,94)] = {64,0}, + [I(213,94)] = {64,0}, + [I(214,94)] = {64,0}, + [I(215,94)] = {64,0}, + [I(216,94)] = {64,0}, + [I(217,94)] = {64,0}, + [I(218,94)] = {64,0}, + [I(219,94)] = {64,0}, + [I(220,94)] = {64,0}, + [I(221,94)] = {64,0}, + [I(222,94)] = {64,0}, + [I(223,94)] = {64,0}, + [I(224,94)] = {64,0}, + [I(225,94)] = {64,0}, + [I(226,94)] = {64,0}, + [I(227,94)] = {64,0}, + [I(228,94)] = {64,0}, + [I(229,94)] = {64,0}, + [I(230,94)] = {64,0}, + [I(231,94)] = {64,0}, + [I(232,94)] = {64,0}, + [I(233,94)] = {64,0}, + [I(234,94)] = {64,0}, + [I(235,94)] = {64,0}, + [I(236,94)] = {64,0}, + [I(237,94)] = {64,0}, + [I(238,94)] = {64,0}, + [I(239,94)] = {64,0}, + [I(240,94)] = {64,0}, + [I(241,94)] = {64,0}, + [I(242,94)] = {64,0}, + [I(243,94)] = {64,0}, + [I(244,94)] = {64,0}, + [I(245,94)] = {64,0}, + [I(246,94)] = {64,0}, + [I(247,94)] = {64,0}, + [I(248,94)] = {64,0}, + [I(249,94)] = {64,0}, + [I(250,94)] = {64,0}, + [I(251,94)] = {64,0}, + [I(252,94)] = {64,0}, + [I(253,94)] = {64,0}, + [I(254,94)] = {64,0}, + [I(255,94)] = {64,0}, + [I(0,95)] = {19,0x7FE22}, + [I(1,95)] = {29,0x1FFFF622}, + [I(2,95)] = {64,0}, + [I(3,95)] = {64,0}, + [I(4,95)] = {64,0}, + [I(5,95)] = {64,0}, + [I(6,95)] = {64,0}, + [I(7,95)] = {64,0}, + [I(8,95)] = {64,0}, + [I(9,95)] = {30,0x3FFFFAA2}, + [I(10,95)] = {64,0}, + [I(11,95)] = {64,0}, + [I(12,95)] = {64,0}, + [I(13,95)] = {64,0}, + [I(14,95)] = {64,0}, + [I(15,95)] = {64,0}, + [I(16,95)] = {64,0}, + [I(17,95)] = {64,0}, + [I(18,95)] = {64,0}, + [I(19,95)] = {64,0}, + [I(20,95)] = {64,0}, + [I(21,95)] = {64,0}, + [I(22,95)] = {64,0}, + [I(23,95)] = {64,0}, + [I(24,95)] = {64,0}, + [I(25,95)] = {64,0}, + [I(26,95)] = {64,0}, + [I(27,95)] = {64,0}, + [I(28,95)] = {64,0}, + [I(29,95)] = {64,0}, + [I(30,95)] = {64,0}, + [I(31,95)] = {64,0}, + [I(32,95)] = {12,0x522}, + [I(33,95)] = {16,0xFE22}, + [I(34,95)] = {16,0xFE62}, + [I(35,95)] = {18,0x3FEA2}, + [I(36,95)] = {19,0x7FE62}, + [I(37,95)] = {12,0x562}, + [I(38,95)] = {14,0x3E22}, + [I(39,95)] = {17,0x1FEA2}, + [I(40,95)] = {16,0xFEA2}, + [I(41,95)] = {16,0xFEE2}, + [I(42,95)] = {14,0x3E62}, + [I(43,95)] = {17,0x1FEE2}, + [I(44,95)] = {14,0x3EA2}, + [I(45,95)] = {12,0x5A2}, + [I(46,95)] = {12,0x5E2}, + [I(47,95)] = {12,0x622}, + [I(48,95)] = {11,0x22}, + [I(49,95)] = {11,0x62}, + [I(50,95)] = {11,0xA2}, + [I(51,95)] = {12,0x662}, + [I(52,95)] = {12,0x6A2}, + [I(53,95)] = {12,0x6E2}, + [I(54,95)] = {12,0x722}, + [I(55,95)] = {12,0x762}, + [I(56,95)] = {12,0x7A2}, + [I(57,95)] = {12,0x7E2}, + [I(58,95)] = {13,0x1722}, + [I(59,95)] = {14,0x3EE2}, + [I(60,95)] = {21,0x1FFF22}, + [I(61,95)] = {12,0x822}, + [I(62,95)] = {18,0x3FEE2}, + [I(63,95)] = {16,0xFF22}, + [I(64,95)] = {19,0x7FEA2}, + [I(65,95)] = {12,0x862}, + [I(66,95)] = {13,0x1762}, + [I(67,95)] = {13,0x17A2}, + [I(68,95)] = {13,0x17E2}, + [I(69,95)] = {13,0x1822}, + [I(70,95)] = {13,0x1862}, + [I(71,95)] = {13,0x18A2}, + [I(72,95)] = {13,0x18E2}, + [I(73,95)] = {13,0x1922}, + [I(74,95)] = {13,0x1962}, + [I(75,95)] = {13,0x19A2}, + [I(76,95)] = {13,0x19E2}, + [I(77,95)] = {13,0x1A22}, + [I(78,95)] = {13,0x1A62}, + [I(79,95)] = {13,0x1AA2}, + [I(80,95)] = {13,0x1AE2}, + [I(81,95)] = {13,0x1B22}, + [I(82,95)] = {13,0x1B62}, + [I(83,95)] = {13,0x1BA2}, + [I(84,95)] = {13,0x1BE2}, + [I(85,95)] = {13,0x1C22}, + [I(86,95)] = {13,0x1C62}, + [I(87,95)] = {13,0x1CA2}, + [I(88,95)] = {14,0x3F22}, + [I(89,95)] = {13,0x1CE2}, + [I(90,95)] = {14,0x3F62}, + [I(91,95)] = {19,0x7FEE2}, + [I(92,95)] = {25,0x1FFFC22}, + [I(93,95)] = {19,0x7FF22}, + [I(94,95)] = {20,0xFFF22}, + [I(95,95)] = {12,0x8A2}, + [I(96,95)] = {21,0x1FFF62}, + [I(97,95)] = {11,0xE2}, + [I(98,95)] = {12,0x8E2}, + [I(99,95)] = {11,0x122}, + [I(100,95)] = {12,0x922}, + [I(101,95)] = {11,0x162}, + [I(102,95)] = {12,0x962}, + [I(103,95)] = {12,0x9A2}, + [I(104,95)] = {12,0x9E2}, + [I(105,95)] = {11,0x1A2}, + [I(106,95)] = {13,0x1D22}, + [I(107,95)] = {13,0x1D62}, + [I(108,95)] = {12,0xA22}, + [I(109,95)] = {12,0xA62}, + [I(110,95)] = {12,0xAA2}, + [I(111,95)] = {11,0x1E2}, + [I(112,95)] = {12,0xAE2}, + [I(113,95)] = {13,0x1DA2}, + [I(114,95)] = {12,0xB22}, + [I(115,95)] = {11,0x222}, + [I(116,95)] = {11,0x262}, + [I(117,95)] = {12,0xB62}, + [I(118,95)] = {13,0x1DE2}, + [I(119,95)] = {13,0x1E22}, + [I(120,95)] = {13,0x1E62}, + [I(121,95)] = {13,0x1EA2}, + [I(122,95)] = {13,0x1EE2}, + [I(123,95)] = {21,0x1FFFA2}, + [I(124,95)] = {17,0x1FF22}, + [I(125,95)] = {20,0xFFF62}, + [I(126,95)] = {19,0x7FF62}, + [I(127,95)] = {64,0}, + [I(128,95)] = {26,0x3FFF9A2}, + [I(129,95)] = {28,0xFFFF4A2}, + [I(130,95)] = {26,0x3FFF9E2}, + [I(131,95)] = {26,0x3FFFA22}, + [I(132,95)] = {28,0xFFFF4E2}, + [I(133,95)] = {28,0xFFFF522}, + [I(134,95)] = {28,0xFFFF562}, + [I(135,95)] = {29,0x1FFFF662}, + [I(136,95)] = {28,0xFFFF5A2}, + [I(137,95)] = {29,0x1FFFF6A2}, + [I(138,95)] = {29,0x1FFFF6E2}, + [I(139,95)] = {29,0x1FFFF722}, + [I(140,95)] = {29,0x1FFFF762}, + [I(141,95)] = {29,0x1FFFF7A2}, + [I(142,95)] = {30,0x3FFFFAE2}, + [I(143,95)] = {29,0x1FFFF7E2}, + [I(144,95)] = {30,0x3FFFFB22}, + [I(145,95)] = {30,0x3FFFFB62}, + [I(146,95)] = {28,0xFFFF5E2}, + [I(147,95)] = {29,0x1FFFF822}, + [I(148,95)] = {30,0x3FFFFBA2}, + [I(149,95)] = {29,0x1FFFF862}, + [I(150,95)] = {29,0x1FFFF8A2}, + [I(151,95)] = {29,0x1FFFF8E2}, + [I(152,95)] = {29,0x1FFFF922}, + [I(153,95)] = {27,0x7FFF722}, + [I(154,95)] = {28,0xFFFF622}, + [I(155,95)] = {29,0x1FFFF962}, + [I(156,95)] = {28,0xFFFF662}, + [I(157,95)] = {29,0x1FFFF9A2}, + [I(158,95)] = {29,0x1FFFF9E2}, + [I(159,95)] = {30,0x3FFFFBE2}, + [I(160,95)] = {28,0xFFFF6A2}, + [I(161,95)] = {27,0x7FFF762}, + [I(162,95)] = {26,0x3FFFA62}, + [I(163,95)] = {28,0xFFFF6E2}, + [I(164,95)] = {28,0xFFFF722}, + [I(165,95)] = {29,0x1FFFFA22}, + [I(166,95)] = {29,0x1FFFFA62}, + [I(167,95)] = {27,0x7FFF7A2}, + [I(168,95)] = {29,0x1FFFFAA2}, + [I(169,95)] = {28,0xFFFF762}, + [I(170,95)] = {28,0xFFFF7A2}, + [I(171,95)] = {30,0x3FFFFC22}, + [I(172,95)] = {27,0x7FFF7E2}, + [I(173,95)] = {28,0xFFFF7E2}, + [I(174,95)] = {29,0x1FFFFAE2}, + [I(175,95)] = {29,0x1FFFFB22}, + [I(176,95)] = {27,0x7FFF822}, + [I(177,95)] = {27,0x7FFF862}, + [I(178,95)] = {28,0xFFFF822}, + [I(179,95)] = {27,0x7FFF8A2}, + [I(180,95)] = {29,0x1FFFFB62}, + [I(181,95)] = {28,0xFFFF862}, + [I(182,95)] = {29,0x1FFFFBA2}, + [I(183,95)] = {29,0x1FFFFBE2}, + [I(184,95)] = {26,0x3FFFAA2}, + [I(185,95)] = {28,0xFFFF8A2}, + [I(186,95)] = {28,0xFFFF8E2}, + [I(187,95)] = {28,0xFFFF922}, + [I(188,95)] = {29,0x1FFFFC22}, + [I(189,95)] = {28,0xFFFF962}, + [I(190,95)] = {28,0xFFFF9A2}, + [I(191,95)] = {29,0x1FFFFC62}, + [I(192,95)] = {X32,0xFFFFF822}, + [I(193,95)] = {X32,0xFFFFF862}, + [I(194,95)] = {26,0x3FFFAE2}, + [I(195,95)] = {25,0x1FFFC62}, + [I(196,95)] = {28,0xFFFF9E2}, + [I(197,95)] = {29,0x1FFFFCA2}, + [I(198,95)] = {28,0xFFFFA22}, + [I(199,95)] = {31,0x7FFFFB22}, + [I(200,95)] = {X32,0xFFFFF8A2}, + [I(201,95)] = {X32,0xFFFFF8E2}, + [I(202,95)] = {X32,0xFFFFF922}, + [I(203,95)] = {64,0}, + [I(204,95)] = {64,0}, + [I(205,95)] = {X32,0xFFFFF962}, + [I(206,95)] = {30,0x3FFFFC62}, + [I(207,95)] = {31,0x7FFFFB62}, + [I(208,95)] = {25,0x1FFFCA2}, + [I(209,95)] = {27,0x7FFF8E2}, + [I(210,95)] = {X32,0xFFFFF9A2}, + [I(211,95)] = {64,0}, + [I(212,95)] = {64,0}, + [I(213,95)] = {X32,0xFFFFF9E2}, + [I(214,95)] = {64,0}, + [I(215,95)] = {30,0x3FFFFCA2}, + [I(216,95)] = {27,0x7FFF922}, + [I(217,95)] = {27,0x7FFF962}, + [I(218,95)] = {X32,0xFFFFFA22}, + [I(219,95)] = {X32,0xFFFFFA62}, + [I(220,95)] = {64,0}, + [I(221,95)] = {64,0}, + [I(222,95)] = {64,0}, + [I(223,95)] = {64,0}, + [I(224,95)] = {26,0x3FFFB22}, + [I(225,95)] = {30,0x3FFFFCE2}, + [I(226,95)] = {26,0x3FFFB62}, + [I(227,95)] = {27,0x7FFF9A2}, + [I(228,95)] = {28,0xFFFFA62}, + [I(229,95)] = {27,0x7FFF9E2}, + [I(230,95)] = {27,0x7FFFA22}, + [I(231,95)] = {29,0x1FFFFCE2}, + [I(232,95)] = {28,0xFFFFAA2}, + [I(233,95)] = {28,0xFFFFAE2}, + [I(234,95)] = {31,0x7FFFFBA2}, + [I(235,95)] = {31,0x7FFFFBE2}, + [I(236,95)] = {30,0x3FFFFD22}, + [I(237,95)] = {30,0x3FFFFD62}, + [I(238,95)] = {X32,0xFFFFFAA2}, + [I(239,95)] = {29,0x1FFFFD22}, + [I(240,95)] = {X32,0xFFFFFAE2}, + [I(241,95)] = {64,0}, + [I(242,95)] = {X32,0xFFFFFB22}, + [I(243,95)] = {X32,0xFFFFFB62}, + [I(244,95)] = {64,0}, + [I(245,95)] = {64,0}, + [I(246,95)] = {64,0}, + [I(247,95)] = {64,0}, + [I(248,95)] = {64,0}, + [I(249,95)] = {64,0}, + [I(250,95)] = {64,0}, + [I(251,95)] = {64,0}, + [I(252,95)] = {64,0}, + [I(253,95)] = {64,0}, + [I(254,95)] = {64,0}, + [I(255,95)] = {X32,0xFFFFFBA2}, + [I(0,96)] = {28,0xFFC7FFD}, + [I(1,96)] = {64,0}, + [I(2,96)] = {64,0}, + [I(3,96)] = {64,0}, + [I(4,96)] = {64,0}, + [I(5,96)] = {64,0}, + [I(6,96)] = {64,0}, + [I(7,96)] = {64,0}, + [I(8,96)] = {64,0}, + [I(9,96)] = {64,0}, + [I(10,96)] = {64,0}, + [I(11,96)] = {64,0}, + [I(12,96)] = {64,0}, + [I(13,96)] = {64,0}, + [I(14,96)] = {64,0}, + [I(15,96)] = {64,0}, + [I(16,96)] = {64,0}, + [I(17,96)] = {64,0}, + [I(18,96)] = {64,0}, + [I(19,96)] = {64,0}, + [I(20,96)] = {64,0}, + [I(21,96)] = {64,0}, + [I(22,96)] = {64,0}, + [I(23,96)] = {64,0}, + [I(24,96)] = {64,0}, + [I(25,96)] = {64,0}, + [I(26,96)] = {64,0}, + [I(27,96)] = {64,0}, + [I(28,96)] = {64,0}, + [I(29,96)] = {64,0}, + [I(30,96)] = {64,0}, + [I(31,96)] = {64,0}, + [I(32,96)] = {21,0xA7FFD}, + [I(33,96)] = {25,0x1FC7FFD}, + [I(34,96)] = {25,0x1FCFFFD}, + [I(35,96)] = {27,0x7FD7FFD}, + [I(36,96)] = {28,0xFFCFFFD}, + [I(37,96)] = {21,0xAFFFD}, + [I(38,96)] = {23,0x7C7FFD}, + [I(39,96)] = {26,0x3FD7FFD}, + [I(40,96)] = {25,0x1FD7FFD}, + [I(41,96)] = {25,0x1FDFFFD}, + [I(42,96)] = {23,0x7CFFFD}, + [I(43,96)] = {26,0x3FDFFFD}, + [I(44,96)] = {23,0x7D7FFD}, + [I(45,96)] = {21,0xB7FFD}, + [I(46,96)] = {21,0xBFFFD}, + [I(47,96)] = {21,0xC7FFD}, + [I(48,96)] = {20,0x7FFD}, + [I(49,96)] = {20,0xFFFD}, + [I(50,96)] = {20,0x17FFD}, + [I(51,96)] = {21,0xCFFFD}, + [I(52,96)] = {21,0xD7FFD}, + [I(53,96)] = {21,0xDFFFD}, + [I(54,96)] = {21,0xE7FFD}, + [I(55,96)] = {21,0xEFFFD}, + [I(56,96)] = {21,0xF7FFD}, + [I(57,96)] = {21,0xFFFFD}, + [I(58,96)] = {22,0x2E7FFD}, + [I(59,96)] = {23,0x7DFFFD}, + [I(60,96)] = {30,0x3FFE7FFD}, + [I(61,96)] = {21,0x107FFD}, + [I(62,96)] = {27,0x7FDFFFD}, + [I(63,96)] = {25,0x1FE7FFD}, + [I(64,96)] = {28,0xFFD7FFD}, + [I(65,96)] = {21,0x10FFFD}, + [I(66,96)] = {22,0x2EFFFD}, + [I(67,96)] = {22,0x2F7FFD}, + [I(68,96)] = {22,0x2FFFFD}, + [I(69,96)] = {22,0x307FFD}, + [I(70,96)] = {22,0x30FFFD}, + [I(71,96)] = {22,0x317FFD}, + [I(72,96)] = {22,0x31FFFD}, + [I(73,96)] = {22,0x327FFD}, + [I(74,96)] = {22,0x32FFFD}, + [I(75,96)] = {22,0x337FFD}, + [I(76,96)] = {22,0x33FFFD}, + [I(77,96)] = {22,0x347FFD}, + [I(78,96)] = {22,0x34FFFD}, + [I(79,96)] = {22,0x357FFD}, + [I(80,96)] = {22,0x35FFFD}, + [I(81,96)] = {22,0x367FFD}, + [I(82,96)] = {22,0x36FFFD}, + [I(83,96)] = {22,0x377FFD}, + [I(84,96)] = {22,0x37FFFD}, + [I(85,96)] = {22,0x387FFD}, + [I(86,96)] = {22,0x38FFFD}, + [I(87,96)] = {22,0x397FFD}, + [I(88,96)] = {23,0x7E7FFD}, + [I(89,96)] = {22,0x39FFFD}, + [I(90,96)] = {23,0x7EFFFD}, + [I(91,96)] = {28,0xFFDFFFD}, + [I(92,96)] = {64,0}, + [I(93,96)] = {28,0xFFE7FFD}, + [I(94,96)] = {29,0x1FFE7FFD}, + [I(95,96)] = {21,0x117FFD}, + [I(96,96)] = {30,0x3FFEFFFD}, + [I(97,96)] = {20,0x1FFFD}, + [I(98,96)] = {21,0x11FFFD}, + [I(99,96)] = {20,0x27FFD}, + [I(100,96)] = {21,0x127FFD}, + [I(101,96)] = {20,0x2FFFD}, + [I(102,96)] = {21,0x12FFFD}, + [I(103,96)] = {21,0x137FFD}, + [I(104,96)] = {21,0x13FFFD}, + [I(105,96)] = {20,0x37FFD}, + [I(106,96)] = {22,0x3A7FFD}, + [I(107,96)] = {22,0x3AFFFD}, + [I(108,96)] = {21,0x147FFD}, + [I(109,96)] = {21,0x14FFFD}, + [I(110,96)] = {21,0x157FFD}, + [I(111,96)] = {20,0x3FFFD}, + [I(112,96)] = {21,0x15FFFD}, + [I(113,96)] = {22,0x3B7FFD}, + [I(114,96)] = {21,0x167FFD}, + [I(115,96)] = {20,0x47FFD}, + [I(116,96)] = {20,0x4FFFD}, + [I(117,96)] = {21,0x16FFFD}, + [I(118,96)] = {22,0x3BFFFD}, + [I(119,96)] = {22,0x3C7FFD}, + [I(120,96)] = {22,0x3CFFFD}, + [I(121,96)] = {22,0x3D7FFD}, + [I(122,96)] = {22,0x3DFFFD}, + [I(123,96)] = {30,0x3FFF7FFD}, + [I(124,96)] = {26,0x3FE7FFD}, + [I(125,96)] = {29,0x1FFEFFFD}, + [I(126,96)] = {28,0xFFEFFFD}, + [I(127,96)] = {64,0}, + [I(128,96)] = {64,0}, + [I(129,96)] = {64,0}, + [I(130,96)] = {64,0}, + [I(131,96)] = {64,0}, + [I(132,96)] = {64,0}, + [I(133,96)] = {64,0}, + [I(134,96)] = {64,0}, + [I(135,96)] = {64,0}, + [I(136,96)] = {64,0}, + [I(137,96)] = {64,0}, + [I(138,96)] = {64,0}, + [I(139,96)] = {64,0}, + [I(140,96)] = {64,0}, + [I(141,96)] = {64,0}, + [I(142,96)] = {64,0}, + [I(143,96)] = {64,0}, + [I(144,96)] = {64,0}, + [I(145,96)] = {64,0}, + [I(146,96)] = {64,0}, + [I(147,96)] = {64,0}, + [I(148,96)] = {64,0}, + [I(149,96)] = {64,0}, + [I(150,96)] = {64,0}, + [I(151,96)] = {64,0}, + [I(152,96)] = {64,0}, + [I(153,96)] = {64,0}, + [I(154,96)] = {64,0}, + [I(155,96)] = {64,0}, + [I(156,96)] = {64,0}, + [I(157,96)] = {64,0}, + [I(158,96)] = {64,0}, + [I(159,96)] = {64,0}, + [I(160,96)] = {64,0}, + [I(161,96)] = {64,0}, + [I(162,96)] = {64,0}, + [I(163,96)] = {64,0}, + [I(164,96)] = {64,0}, + [I(165,96)] = {64,0}, + [I(166,96)] = {64,0}, + [I(167,96)] = {64,0}, + [I(168,96)] = {64,0}, + [I(169,96)] = {64,0}, + [I(170,96)] = {64,0}, + [I(171,96)] = {64,0}, + [I(172,96)] = {64,0}, + [I(173,96)] = {64,0}, + [I(174,96)] = {64,0}, + [I(175,96)] = {64,0}, + [I(176,96)] = {64,0}, + [I(177,96)] = {64,0}, + [I(178,96)] = {64,0}, + [I(179,96)] = {64,0}, + [I(180,96)] = {64,0}, + [I(181,96)] = {64,0}, + [I(182,96)] = {64,0}, + [I(183,96)] = {64,0}, + [I(184,96)] = {64,0}, + [I(185,96)] = {64,0}, + [I(186,96)] = {64,0}, + [I(187,96)] = {64,0}, + [I(188,96)] = {64,0}, + [I(189,96)] = {64,0}, + [I(190,96)] = {64,0}, + [I(191,96)] = {64,0}, + [I(192,96)] = {64,0}, + [I(193,96)] = {64,0}, + [I(194,96)] = {64,0}, + [I(195,96)] = {64,0}, + [I(196,96)] = {64,0}, + [I(197,96)] = {64,0}, + [I(198,96)] = {64,0}, + [I(199,96)] = {64,0}, + [I(200,96)] = {64,0}, + [I(201,96)] = {64,0}, + [I(202,96)] = {64,0}, + [I(203,96)] = {64,0}, + [I(204,96)] = {64,0}, + [I(205,96)] = {64,0}, + [I(206,96)] = {64,0}, + [I(207,96)] = {64,0}, + [I(208,96)] = {64,0}, + [I(209,96)] = {64,0}, + [I(210,96)] = {64,0}, + [I(211,96)] = {64,0}, + [I(212,96)] = {64,0}, + [I(213,96)] = {64,0}, + [I(214,96)] = {64,0}, + [I(215,96)] = {64,0}, + [I(216,96)] = {64,0}, + [I(217,96)] = {64,0}, + [I(218,96)] = {64,0}, + [I(219,96)] = {64,0}, + [I(220,96)] = {64,0}, + [I(221,96)] = {64,0}, + [I(222,96)] = {64,0}, + [I(223,96)] = {64,0}, + [I(224,96)] = {64,0}, + [I(225,96)] = {64,0}, + [I(226,96)] = {64,0}, + [I(227,96)] = {64,0}, + [I(228,96)] = {64,0}, + [I(229,96)] = {64,0}, + [I(230,96)] = {64,0}, + [I(231,96)] = {64,0}, + [I(232,96)] = {64,0}, + [I(233,96)] = {64,0}, + [I(234,96)] = {64,0}, + [I(235,96)] = {64,0}, + [I(236,96)] = {64,0}, + [I(237,96)] = {64,0}, + [I(238,96)] = {64,0}, + [I(239,96)] = {64,0}, + [I(240,96)] = {64,0}, + [I(241,96)] = {64,0}, + [I(242,96)] = {64,0}, + [I(243,96)] = {64,0}, + [I(244,96)] = {64,0}, + [I(245,96)] = {64,0}, + [I(246,96)] = {64,0}, + [I(247,96)] = {64,0}, + [I(248,96)] = {64,0}, + [I(249,96)] = {64,0}, + [I(250,96)] = {64,0}, + [I(251,96)] = {64,0}, + [I(252,96)] = {64,0}, + [I(253,96)] = {64,0}, + [I(254,96)] = {64,0}, + [I(255,96)] = {64,0}, + [I(0,97)] = {18,0x3FF03}, + [I(1,97)] = {28,0xFFFFB03}, + [I(2,97)] = {64,0}, + [I(3,97)] = {64,0}, + [I(4,97)] = {64,0}, + [I(5,97)] = {64,0}, + [I(6,97)] = {64,0}, + [I(7,97)] = {64,0}, + [I(8,97)] = {64,0}, + [I(9,97)] = {29,0x1FFFFD43}, + [I(10,97)] = {64,0}, + [I(11,97)] = {64,0}, + [I(12,97)] = {64,0}, + [I(13,97)] = {64,0}, + [I(14,97)] = {64,0}, + [I(15,97)] = {64,0}, + [I(16,97)] = {64,0}, + [I(17,97)] = {64,0}, + [I(18,97)] = {64,0}, + [I(19,97)] = {64,0}, + [I(20,97)] = {64,0}, + [I(21,97)] = {64,0}, + [I(22,97)] = {64,0}, + [I(23,97)] = {64,0}, + [I(24,97)] = {64,0}, + [I(25,97)] = {64,0}, + [I(26,97)] = {64,0}, + [I(27,97)] = {64,0}, + [I(28,97)] = {64,0}, + [I(29,97)] = {64,0}, + [I(30,97)] = {64,0}, + [I(31,97)] = {64,0}, + [I(32,97)] = {11,0x283}, + [I(33,97)] = {15,0x7F03}, + [I(34,97)] = {15,0x7F23}, + [I(35,97)] = {17,0x1FF43}, + [I(36,97)] = {18,0x3FF23}, + [I(37,97)] = {11,0x2A3}, + [I(38,97)] = {13,0x1F03}, + [I(39,97)] = {16,0xFF43}, + [I(40,97)] = {15,0x7F43}, + [I(41,97)] = {15,0x7F63}, + [I(42,97)] = {13,0x1F23}, + [I(43,97)] = {16,0xFF63}, + [I(44,97)] = {13,0x1F43}, + [I(45,97)] = {11,0x2C3}, + [I(46,97)] = {11,0x2E3}, + [I(47,97)] = {11,0x303}, + [I(48,97)] = {10,0x3}, + [I(49,97)] = {10,0x23}, + [I(50,97)] = {10,0x43}, + [I(51,97)] = {11,0x323}, + [I(52,97)] = {11,0x343}, + [I(53,97)] = {11,0x363}, + [I(54,97)] = {11,0x383}, + [I(55,97)] = {11,0x3A3}, + [I(56,97)] = {11,0x3C3}, + [I(57,97)] = {11,0x3E3}, + [I(58,97)] = {12,0xB83}, + [I(59,97)] = {13,0x1F63}, + [I(60,97)] = {20,0xFFF83}, + [I(61,97)] = {11,0x403}, + [I(62,97)] = {17,0x1FF63}, + [I(63,97)] = {15,0x7F83}, + [I(64,97)] = {18,0x3FF43}, + [I(65,97)] = {11,0x423}, + [I(66,97)] = {12,0xBA3}, + [I(67,97)] = {12,0xBC3}, + [I(68,97)] = {12,0xBE3}, + [I(69,97)] = {12,0xC03}, + [I(70,97)] = {12,0xC23}, + [I(71,97)] = {12,0xC43}, + [I(72,97)] = {12,0xC63}, + [I(73,97)] = {12,0xC83}, + [I(74,97)] = {12,0xCA3}, + [I(75,97)] = {12,0xCC3}, + [I(76,97)] = {12,0xCE3}, + [I(77,97)] = {12,0xD03}, + [I(78,97)] = {12,0xD23}, + [I(79,97)] = {12,0xD43}, + [I(80,97)] = {12,0xD63}, + [I(81,97)] = {12,0xD83}, + [I(82,97)] = {12,0xDA3}, + [I(83,97)] = {12,0xDC3}, + [I(84,97)] = {12,0xDE3}, + [I(85,97)] = {12,0xE03}, + [I(86,97)] = {12,0xE23}, + [I(87,97)] = {12,0xE43}, + [I(88,97)] = {13,0x1F83}, + [I(89,97)] = {12,0xE63}, + [I(90,97)] = {13,0x1FA3}, + [I(91,97)] = {18,0x3FF63}, + [I(92,97)] = {24,0xFFFE03}, + [I(93,97)] = {18,0x3FF83}, + [I(94,97)] = {19,0x7FF83}, + [I(95,97)] = {11,0x443}, + [I(96,97)] = {20,0xFFFA3}, + [I(97,97)] = {10,0x63}, + [I(98,97)] = {11,0x463}, + [I(99,97)] = {10,0x83}, + [I(100,97)] = {11,0x483}, + [I(101,97)] = {10,0xA3}, + [I(102,97)] = {11,0x4A3}, + [I(103,97)] = {11,0x4C3}, + [I(104,97)] = {11,0x4E3}, + [I(105,97)] = {10,0xC3}, + [I(106,97)] = {12,0xE83}, + [I(107,97)] = {12,0xEA3}, + [I(108,97)] = {11,0x503}, + [I(109,97)] = {11,0x523}, + [I(110,97)] = {11,0x543}, + [I(111,97)] = {10,0xE3}, + [I(112,97)] = {11,0x563}, + [I(113,97)] = {12,0xEC3}, + [I(114,97)] = {11,0x583}, + [I(115,97)] = {10,0x103}, + [I(116,97)] = {10,0x123}, + [I(117,97)] = {11,0x5A3}, + [I(118,97)] = {12,0xEE3}, + [I(119,97)] = {12,0xF03}, + [I(120,97)] = {12,0xF23}, + [I(121,97)] = {12,0xF43}, + [I(122,97)] = {12,0xF63}, + [I(123,97)] = {20,0xFFFC3}, + [I(124,97)] = {16,0xFF83}, + [I(125,97)] = {19,0x7FFA3}, + [I(126,97)] = {18,0x3FFA3}, + [I(127,97)] = {64,0}, + [I(128,97)] = {25,0x1FFFCC3}, + [I(129,97)] = {27,0x7FFFA43}, + [I(130,97)] = {25,0x1FFFCE3}, + [I(131,97)] = {25,0x1FFFD03}, + [I(132,97)] = {27,0x7FFFA63}, + [I(133,97)] = {27,0x7FFFA83}, + [I(134,97)] = {27,0x7FFFAA3}, + [I(135,97)] = {28,0xFFFFB23}, + [I(136,97)] = {27,0x7FFFAC3}, + [I(137,97)] = {28,0xFFFFB43}, + [I(138,97)] = {28,0xFFFFB63}, + [I(139,97)] = {28,0xFFFFB83}, + [I(140,97)] = {28,0xFFFFBA3}, + [I(141,97)] = {28,0xFFFFBC3}, + [I(142,97)] = {29,0x1FFFFD63}, + [I(143,97)] = {28,0xFFFFBE3}, + [I(144,97)] = {29,0x1FFFFD83}, + [I(145,97)] = {29,0x1FFFFDA3}, + [I(146,97)] = {27,0x7FFFAE3}, + [I(147,97)] = {28,0xFFFFC03}, + [I(148,97)] = {29,0x1FFFFDC3}, + [I(149,97)] = {28,0xFFFFC23}, + [I(150,97)] = {28,0xFFFFC43}, + [I(151,97)] = {28,0xFFFFC63}, + [I(152,97)] = {28,0xFFFFC83}, + [I(153,97)] = {26,0x3FFFB83}, + [I(154,97)] = {27,0x7FFFB03}, + [I(155,97)] = {28,0xFFFFCA3}, + [I(156,97)] = {27,0x7FFFB23}, + [I(157,97)] = {28,0xFFFFCC3}, + [I(158,97)] = {28,0xFFFFCE3}, + [I(159,97)] = {29,0x1FFFFDE3}, + [I(160,97)] = {27,0x7FFFB43}, + [I(161,97)] = {26,0x3FFFBA3}, + [I(162,97)] = {25,0x1FFFD23}, + [I(163,97)] = {27,0x7FFFB63}, + [I(164,97)] = {27,0x7FFFB83}, + [I(165,97)] = {28,0xFFFFD03}, + [I(166,97)] = {28,0xFFFFD23}, + [I(167,97)] = {26,0x3FFFBC3}, + [I(168,97)] = {28,0xFFFFD43}, + [I(169,97)] = {27,0x7FFFBA3}, + [I(170,97)] = {27,0x7FFFBC3}, + [I(171,97)] = {29,0x1FFFFE03}, + [I(172,97)] = {26,0x3FFFBE3}, + [I(173,97)] = {27,0x7FFFBE3}, + [I(174,97)] = {28,0xFFFFD63}, + [I(175,97)] = {28,0xFFFFD83}, + [I(176,97)] = {26,0x3FFFC03}, + [I(177,97)] = {26,0x3FFFC23}, + [I(178,97)] = {27,0x7FFFC03}, + [I(179,97)] = {26,0x3FFFC43}, + [I(180,97)] = {28,0xFFFFDA3}, + [I(181,97)] = {27,0x7FFFC23}, + [I(182,97)] = {28,0xFFFFDC3}, + [I(183,97)] = {28,0xFFFFDE3}, + [I(184,97)] = {25,0x1FFFD43}, + [I(185,97)] = {27,0x7FFFC43}, + [I(186,97)] = {27,0x7FFFC63}, + [I(187,97)] = {27,0x7FFFC83}, + [I(188,97)] = {28,0xFFFFE03}, + [I(189,97)] = {27,0x7FFFCA3}, + [I(190,97)] = {27,0x7FFFCC3}, + [I(191,97)] = {28,0xFFFFE23}, + [I(192,97)] = {31,0x7FFFFC03}, + [I(193,97)] = {31,0x7FFFFC23}, + [I(194,97)] = {25,0x1FFFD63}, + [I(195,97)] = {24,0xFFFE23}, + [I(196,97)] = {27,0x7FFFCE3}, + [I(197,97)] = {28,0xFFFFE43}, + [I(198,97)] = {27,0x7FFFD03}, + [I(199,97)] = {30,0x3FFFFD83}, + [I(200,97)] = {31,0x7FFFFC43}, + [I(201,97)] = {31,0x7FFFFC63}, + [I(202,97)] = {31,0x7FFFFC83}, + [I(203,97)] = {X32,0xFFFFFBC3}, + [I(204,97)] = {X32,0xFFFFFBE3}, + [I(205,97)] = {31,0x7FFFFCA3}, + [I(206,97)] = {29,0x1FFFFE23}, + [I(207,97)] = {30,0x3FFFFDA3}, + [I(208,97)] = {24,0xFFFE43}, + [I(209,97)] = {26,0x3FFFC63}, + [I(210,97)] = {31,0x7FFFFCC3}, + [I(211,97)] = {X32,0xFFFFFC03}, + [I(212,97)] = {X32,0xFFFFFC23}, + [I(213,97)] = {31,0x7FFFFCE3}, + [I(214,97)] = {X32,0xFFFFFC43}, + [I(215,97)] = {29,0x1FFFFE43}, + [I(216,97)] = {26,0x3FFFC83}, + [I(217,97)] = {26,0x3FFFCA3}, + [I(218,97)] = {31,0x7FFFFD03}, + [I(219,97)] = {31,0x7FFFFD23}, + [I(220,97)] = {64,0}, + [I(221,97)] = {X32,0xFFFFFC63}, + [I(222,97)] = {X32,0xFFFFFC83}, + [I(223,97)] = {X32,0xFFFFFCA3}, + [I(224,97)] = {25,0x1FFFD83}, + [I(225,97)] = {29,0x1FFFFE63}, + [I(226,97)] = {25,0x1FFFDA3}, + [I(227,97)] = {26,0x3FFFCC3}, + [I(228,97)] = {27,0x7FFFD23}, + [I(229,97)] = {26,0x3FFFCE3}, + [I(230,97)] = {26,0x3FFFD03}, + [I(231,97)] = {28,0xFFFFE63}, + [I(232,97)] = {27,0x7FFFD43}, + [I(233,97)] = {27,0x7FFFD63}, + [I(234,97)] = {30,0x3FFFFDC3}, + [I(235,97)] = {30,0x3FFFFDE3}, + [I(236,97)] = {29,0x1FFFFE83}, + [I(237,97)] = {29,0x1FFFFEA3}, + [I(238,97)] = {31,0x7FFFFD43}, + [I(239,97)] = {28,0xFFFFE83}, + [I(240,97)] = {31,0x7FFFFD63}, + [I(241,97)] = {X32,0xFFFFFCC3}, + [I(242,97)] = {31,0x7FFFFD83}, + [I(243,97)] = {31,0x7FFFFDA3}, + [I(244,97)] = {X32,0xFFFFFCE3}, + [I(245,97)] = {X32,0xFFFFFD03}, + [I(246,97)] = {X32,0xFFFFFD23}, + [I(247,97)] = {X32,0xFFFFFD43}, + [I(248,97)] = {X32,0xFFFFFD63}, + [I(249,97)] = {64,0}, + [I(250,97)] = {X32,0xFFFFFD83}, + [I(251,97)] = {X32,0xFFFFFDA3}, + [I(252,97)] = {X32,0xFFFFFDC3}, + [I(253,97)] = {X32,0xFFFFFDE3}, + [I(254,97)] = {X32,0xFFFFFE03}, + [I(255,97)] = {31,0x7FFFFDC3}, + [I(0,98)] = {19,0x7FE23}, + [I(1,98)] = {29,0x1FFFF623}, + [I(2,98)] = {64,0}, + [I(3,98)] = {64,0}, + [I(4,98)] = {64,0}, + [I(5,98)] = {64,0}, + [I(6,98)] = {64,0}, + [I(7,98)] = {64,0}, + [I(8,98)] = {64,0}, + [I(9,98)] = {30,0x3FFFFAA3}, + [I(10,98)] = {64,0}, + [I(11,98)] = {64,0}, + [I(12,98)] = {64,0}, + [I(13,98)] = {64,0}, + [I(14,98)] = {64,0}, + [I(15,98)] = {64,0}, + [I(16,98)] = {64,0}, + [I(17,98)] = {64,0}, + [I(18,98)] = {64,0}, + [I(19,98)] = {64,0}, + [I(20,98)] = {64,0}, + [I(21,98)] = {64,0}, + [I(22,98)] = {64,0}, + [I(23,98)] = {64,0}, + [I(24,98)] = {64,0}, + [I(25,98)] = {64,0}, + [I(26,98)] = {64,0}, + [I(27,98)] = {64,0}, + [I(28,98)] = {64,0}, + [I(29,98)] = {64,0}, + [I(30,98)] = {64,0}, + [I(31,98)] = {64,0}, + [I(32,98)] = {12,0x523}, + [I(33,98)] = {16,0xFE23}, + [I(34,98)] = {16,0xFE63}, + [I(35,98)] = {18,0x3FEA3}, + [I(36,98)] = {19,0x7FE63}, + [I(37,98)] = {12,0x563}, + [I(38,98)] = {14,0x3E23}, + [I(39,98)] = {17,0x1FEA3}, + [I(40,98)] = {16,0xFEA3}, + [I(41,98)] = {16,0xFEE3}, + [I(42,98)] = {14,0x3E63}, + [I(43,98)] = {17,0x1FEE3}, + [I(44,98)] = {14,0x3EA3}, + [I(45,98)] = {12,0x5A3}, + [I(46,98)] = {12,0x5E3}, + [I(47,98)] = {12,0x623}, + [I(48,98)] = {11,0x23}, + [I(49,98)] = {11,0x63}, + [I(50,98)] = {11,0xA3}, + [I(51,98)] = {12,0x663}, + [I(52,98)] = {12,0x6A3}, + [I(53,98)] = {12,0x6E3}, + [I(54,98)] = {12,0x723}, + [I(55,98)] = {12,0x763}, + [I(56,98)] = {12,0x7A3}, + [I(57,98)] = {12,0x7E3}, + [I(58,98)] = {13,0x1723}, + [I(59,98)] = {14,0x3EE3}, + [I(60,98)] = {21,0x1FFF23}, + [I(61,98)] = {12,0x823}, + [I(62,98)] = {18,0x3FEE3}, + [I(63,98)] = {16,0xFF23}, + [I(64,98)] = {19,0x7FEA3}, + [I(65,98)] = {12,0x863}, + [I(66,98)] = {13,0x1763}, + [I(67,98)] = {13,0x17A3}, + [I(68,98)] = {13,0x17E3}, + [I(69,98)] = {13,0x1823}, + [I(70,98)] = {13,0x1863}, + [I(71,98)] = {13,0x18A3}, + [I(72,98)] = {13,0x18E3}, + [I(73,98)] = {13,0x1923}, + [I(74,98)] = {13,0x1963}, + [I(75,98)] = {13,0x19A3}, + [I(76,98)] = {13,0x19E3}, + [I(77,98)] = {13,0x1A23}, + [I(78,98)] = {13,0x1A63}, + [I(79,98)] = {13,0x1AA3}, + [I(80,98)] = {13,0x1AE3}, + [I(81,98)] = {13,0x1B23}, + [I(82,98)] = {13,0x1B63}, + [I(83,98)] = {13,0x1BA3}, + [I(84,98)] = {13,0x1BE3}, + [I(85,98)] = {13,0x1C23}, + [I(86,98)] = {13,0x1C63}, + [I(87,98)] = {13,0x1CA3}, + [I(88,98)] = {14,0x3F23}, + [I(89,98)] = {13,0x1CE3}, + [I(90,98)] = {14,0x3F63}, + [I(91,98)] = {19,0x7FEE3}, + [I(92,98)] = {25,0x1FFFC23}, + [I(93,98)] = {19,0x7FF23}, + [I(94,98)] = {20,0xFFF23}, + [I(95,98)] = {12,0x8A3}, + [I(96,98)] = {21,0x1FFF63}, + [I(97,98)] = {11,0xE3}, + [I(98,98)] = {12,0x8E3}, + [I(99,98)] = {11,0x123}, + [I(100,98)] = {12,0x923}, + [I(101,98)] = {11,0x163}, + [I(102,98)] = {12,0x963}, + [I(103,98)] = {12,0x9A3}, + [I(104,98)] = {12,0x9E3}, + [I(105,98)] = {11,0x1A3}, + [I(106,98)] = {13,0x1D23}, + [I(107,98)] = {13,0x1D63}, + [I(108,98)] = {12,0xA23}, + [I(109,98)] = {12,0xA63}, + [I(110,98)] = {12,0xAA3}, + [I(111,98)] = {11,0x1E3}, + [I(112,98)] = {12,0xAE3}, + [I(113,98)] = {13,0x1DA3}, + [I(114,98)] = {12,0xB23}, + [I(115,98)] = {11,0x223}, + [I(116,98)] = {11,0x263}, + [I(117,98)] = {12,0xB63}, + [I(118,98)] = {13,0x1DE3}, + [I(119,98)] = {13,0x1E23}, + [I(120,98)] = {13,0x1E63}, + [I(121,98)] = {13,0x1EA3}, + [I(122,98)] = {13,0x1EE3}, + [I(123,98)] = {21,0x1FFFA3}, + [I(124,98)] = {17,0x1FF23}, + [I(125,98)] = {20,0xFFF63}, + [I(126,98)] = {19,0x7FF63}, + [I(127,98)] = {64,0}, + [I(128,98)] = {26,0x3FFF9A3}, + [I(129,98)] = {28,0xFFFF4A3}, + [I(130,98)] = {26,0x3FFF9E3}, + [I(131,98)] = {26,0x3FFFA23}, + [I(132,98)] = {28,0xFFFF4E3}, + [I(133,98)] = {28,0xFFFF523}, + [I(134,98)] = {28,0xFFFF563}, + [I(135,98)] = {29,0x1FFFF663}, + [I(136,98)] = {28,0xFFFF5A3}, + [I(137,98)] = {29,0x1FFFF6A3}, + [I(138,98)] = {29,0x1FFFF6E3}, + [I(139,98)] = {29,0x1FFFF723}, + [I(140,98)] = {29,0x1FFFF763}, + [I(141,98)] = {29,0x1FFFF7A3}, + [I(142,98)] = {30,0x3FFFFAE3}, + [I(143,98)] = {29,0x1FFFF7E3}, + [I(144,98)] = {30,0x3FFFFB23}, + [I(145,98)] = {30,0x3FFFFB63}, + [I(146,98)] = {28,0xFFFF5E3}, + [I(147,98)] = {29,0x1FFFF823}, + [I(148,98)] = {30,0x3FFFFBA3}, + [I(149,98)] = {29,0x1FFFF863}, + [I(150,98)] = {29,0x1FFFF8A3}, + [I(151,98)] = {29,0x1FFFF8E3}, + [I(152,98)] = {29,0x1FFFF923}, + [I(153,98)] = {27,0x7FFF723}, + [I(154,98)] = {28,0xFFFF623}, + [I(155,98)] = {29,0x1FFFF963}, + [I(156,98)] = {28,0xFFFF663}, + [I(157,98)] = {29,0x1FFFF9A3}, + [I(158,98)] = {29,0x1FFFF9E3}, + [I(159,98)] = {30,0x3FFFFBE3}, + [I(160,98)] = {28,0xFFFF6A3}, + [I(161,98)] = {27,0x7FFF763}, + [I(162,98)] = {26,0x3FFFA63}, + [I(163,98)] = {28,0xFFFF6E3}, + [I(164,98)] = {28,0xFFFF723}, + [I(165,98)] = {29,0x1FFFFA23}, + [I(166,98)] = {29,0x1FFFFA63}, + [I(167,98)] = {27,0x7FFF7A3}, + [I(168,98)] = {29,0x1FFFFAA3}, + [I(169,98)] = {28,0xFFFF763}, + [I(170,98)] = {28,0xFFFF7A3}, + [I(171,98)] = {30,0x3FFFFC23}, + [I(172,98)] = {27,0x7FFF7E3}, + [I(173,98)] = {28,0xFFFF7E3}, + [I(174,98)] = {29,0x1FFFFAE3}, + [I(175,98)] = {29,0x1FFFFB23}, + [I(176,98)] = {27,0x7FFF823}, + [I(177,98)] = {27,0x7FFF863}, + [I(178,98)] = {28,0xFFFF823}, + [I(179,98)] = {27,0x7FFF8A3}, + [I(180,98)] = {29,0x1FFFFB63}, + [I(181,98)] = {28,0xFFFF863}, + [I(182,98)] = {29,0x1FFFFBA3}, + [I(183,98)] = {29,0x1FFFFBE3}, + [I(184,98)] = {26,0x3FFFAA3}, + [I(185,98)] = {28,0xFFFF8A3}, + [I(186,98)] = {28,0xFFFF8E3}, + [I(187,98)] = {28,0xFFFF923}, + [I(188,98)] = {29,0x1FFFFC23}, + [I(189,98)] = {28,0xFFFF963}, + [I(190,98)] = {28,0xFFFF9A3}, + [I(191,98)] = {29,0x1FFFFC63}, + [I(192,98)] = {X32,0xFFFFF823}, + [I(193,98)] = {X32,0xFFFFF863}, + [I(194,98)] = {26,0x3FFFAE3}, + [I(195,98)] = {25,0x1FFFC63}, + [I(196,98)] = {28,0xFFFF9E3}, + [I(197,98)] = {29,0x1FFFFCA3}, + [I(198,98)] = {28,0xFFFFA23}, + [I(199,98)] = {31,0x7FFFFB23}, + [I(200,98)] = {X32,0xFFFFF8A3}, + [I(201,98)] = {X32,0xFFFFF8E3}, + [I(202,98)] = {X32,0xFFFFF923}, + [I(203,98)] = {64,0}, + [I(204,98)] = {64,0}, + [I(205,98)] = {X32,0xFFFFF963}, + [I(206,98)] = {30,0x3FFFFC63}, + [I(207,98)] = {31,0x7FFFFB63}, + [I(208,98)] = {25,0x1FFFCA3}, + [I(209,98)] = {27,0x7FFF8E3}, + [I(210,98)] = {X32,0xFFFFF9A3}, + [I(211,98)] = {64,0}, + [I(212,98)] = {64,0}, + [I(213,98)] = {X32,0xFFFFF9E3}, + [I(214,98)] = {64,0}, + [I(215,98)] = {30,0x3FFFFCA3}, + [I(216,98)] = {27,0x7FFF923}, + [I(217,98)] = {27,0x7FFF963}, + [I(218,98)] = {X32,0xFFFFFA23}, + [I(219,98)] = {X32,0xFFFFFA63}, + [I(220,98)] = {64,0}, + [I(221,98)] = {64,0}, + [I(222,98)] = {64,0}, + [I(223,98)] = {64,0}, + [I(224,98)] = {26,0x3FFFB23}, + [I(225,98)] = {30,0x3FFFFCE3}, + [I(226,98)] = {26,0x3FFFB63}, + [I(227,98)] = {27,0x7FFF9A3}, + [I(228,98)] = {28,0xFFFFA63}, + [I(229,98)] = {27,0x7FFF9E3}, + [I(230,98)] = {27,0x7FFFA23}, + [I(231,98)] = {29,0x1FFFFCE3}, + [I(232,98)] = {28,0xFFFFAA3}, + [I(233,98)] = {28,0xFFFFAE3}, + [I(234,98)] = {31,0x7FFFFBA3}, + [I(235,98)] = {31,0x7FFFFBE3}, + [I(236,98)] = {30,0x3FFFFD23}, + [I(237,98)] = {30,0x3FFFFD63}, + [I(238,98)] = {X32,0xFFFFFAA3}, + [I(239,98)] = {29,0x1FFFFD23}, + [I(240,98)] = {X32,0xFFFFFAE3}, + [I(241,98)] = {64,0}, + [I(242,98)] = {X32,0xFFFFFB23}, + [I(243,98)] = {X32,0xFFFFFB63}, + [I(244,98)] = {64,0}, + [I(245,98)] = {64,0}, + [I(246,98)] = {64,0}, + [I(247,98)] = {64,0}, + [I(248,98)] = {64,0}, + [I(249,98)] = {64,0}, + [I(250,98)] = {64,0}, + [I(251,98)] = {64,0}, + [I(252,98)] = {64,0}, + [I(253,98)] = {64,0}, + [I(254,98)] = {64,0}, + [I(255,98)] = {X32,0xFFFFFBA3}, + [I(0,99)] = {18,0x3FF04}, + [I(1,99)] = {28,0xFFFFB04}, + [I(2,99)] = {64,0}, + [I(3,99)] = {64,0}, + [I(4,99)] = {64,0}, + [I(5,99)] = {64,0}, + [I(6,99)] = {64,0}, + [I(7,99)] = {64,0}, + [I(8,99)] = {64,0}, + [I(9,99)] = {29,0x1FFFFD44}, + [I(10,99)] = {64,0}, + [I(11,99)] = {64,0}, + [I(12,99)] = {64,0}, + [I(13,99)] = {64,0}, + [I(14,99)] = {64,0}, + [I(15,99)] = {64,0}, + [I(16,99)] = {64,0}, + [I(17,99)] = {64,0}, + [I(18,99)] = {64,0}, + [I(19,99)] = {64,0}, + [I(20,99)] = {64,0}, + [I(21,99)] = {64,0}, + [I(22,99)] = {64,0}, + [I(23,99)] = {64,0}, + [I(24,99)] = {64,0}, + [I(25,99)] = {64,0}, + [I(26,99)] = {64,0}, + [I(27,99)] = {64,0}, + [I(28,99)] = {64,0}, + [I(29,99)] = {64,0}, + [I(30,99)] = {64,0}, + [I(31,99)] = {64,0}, + [I(32,99)] = {11,0x284}, + [I(33,99)] = {15,0x7F04}, + [I(34,99)] = {15,0x7F24}, + [I(35,99)] = {17,0x1FF44}, + [I(36,99)] = {18,0x3FF24}, + [I(37,99)] = {11,0x2A4}, + [I(38,99)] = {13,0x1F04}, + [I(39,99)] = {16,0xFF44}, + [I(40,99)] = {15,0x7F44}, + [I(41,99)] = {15,0x7F64}, + [I(42,99)] = {13,0x1F24}, + [I(43,99)] = {16,0xFF64}, + [I(44,99)] = {13,0x1F44}, + [I(45,99)] = {11,0x2C4}, + [I(46,99)] = {11,0x2E4}, + [I(47,99)] = {11,0x304}, + [I(48,99)] = {10,0x4}, + [I(49,99)] = {10,0x24}, + [I(50,99)] = {10,0x44}, + [I(51,99)] = {11,0x324}, + [I(52,99)] = {11,0x344}, + [I(53,99)] = {11,0x364}, + [I(54,99)] = {11,0x384}, + [I(55,99)] = {11,0x3A4}, + [I(56,99)] = {11,0x3C4}, + [I(57,99)] = {11,0x3E4}, + [I(58,99)] = {12,0xB84}, + [I(59,99)] = {13,0x1F64}, + [I(60,99)] = {20,0xFFF84}, + [I(61,99)] = {11,0x404}, + [I(62,99)] = {17,0x1FF64}, + [I(63,99)] = {15,0x7F84}, + [I(64,99)] = {18,0x3FF44}, + [I(65,99)] = {11,0x424}, + [I(66,99)] = {12,0xBA4}, + [I(67,99)] = {12,0xBC4}, + [I(68,99)] = {12,0xBE4}, + [I(69,99)] = {12,0xC04}, + [I(70,99)] = {12,0xC24}, + [I(71,99)] = {12,0xC44}, + [I(72,99)] = {12,0xC64}, + [I(73,99)] = {12,0xC84}, + [I(74,99)] = {12,0xCA4}, + [I(75,99)] = {12,0xCC4}, + [I(76,99)] = {12,0xCE4}, + [I(77,99)] = {12,0xD04}, + [I(78,99)] = {12,0xD24}, + [I(79,99)] = {12,0xD44}, + [I(80,99)] = {12,0xD64}, + [I(81,99)] = {12,0xD84}, + [I(82,99)] = {12,0xDA4}, + [I(83,99)] = {12,0xDC4}, + [I(84,99)] = {12,0xDE4}, + [I(85,99)] = {12,0xE04}, + [I(86,99)] = {12,0xE24}, + [I(87,99)] = {12,0xE44}, + [I(88,99)] = {13,0x1F84}, + [I(89,99)] = {12,0xE64}, + [I(90,99)] = {13,0x1FA4}, + [I(91,99)] = {18,0x3FF64}, + [I(92,99)] = {24,0xFFFE04}, + [I(93,99)] = {18,0x3FF84}, + [I(94,99)] = {19,0x7FF84}, + [I(95,99)] = {11,0x444}, + [I(96,99)] = {20,0xFFFA4}, + [I(97,99)] = {10,0x64}, + [I(98,99)] = {11,0x464}, + [I(99,99)] = {10,0x84}, + [I(100,99)] = {11,0x484}, + [I(101,99)] = {10,0xA4}, + [I(102,99)] = {11,0x4A4}, + [I(103,99)] = {11,0x4C4}, + [I(104,99)] = {11,0x4E4}, + [I(105,99)] = {10,0xC4}, + [I(106,99)] = {12,0xE84}, + [I(107,99)] = {12,0xEA4}, + [I(108,99)] = {11,0x504}, + [I(109,99)] = {11,0x524}, + [I(110,99)] = {11,0x544}, + [I(111,99)] = {10,0xE4}, + [I(112,99)] = {11,0x564}, + [I(113,99)] = {12,0xEC4}, + [I(114,99)] = {11,0x584}, + [I(115,99)] = {10,0x104}, + [I(116,99)] = {10,0x124}, + [I(117,99)] = {11,0x5A4}, + [I(118,99)] = {12,0xEE4}, + [I(119,99)] = {12,0xF04}, + [I(120,99)] = {12,0xF24}, + [I(121,99)] = {12,0xF44}, + [I(122,99)] = {12,0xF64}, + [I(123,99)] = {20,0xFFFC4}, + [I(124,99)] = {16,0xFF84}, + [I(125,99)] = {19,0x7FFA4}, + [I(126,99)] = {18,0x3FFA4}, + [I(127,99)] = {64,0}, + [I(128,99)] = {25,0x1FFFCC4}, + [I(129,99)] = {27,0x7FFFA44}, + [I(130,99)] = {25,0x1FFFCE4}, + [I(131,99)] = {25,0x1FFFD04}, + [I(132,99)] = {27,0x7FFFA64}, + [I(133,99)] = {27,0x7FFFA84}, + [I(134,99)] = {27,0x7FFFAA4}, + [I(135,99)] = {28,0xFFFFB24}, + [I(136,99)] = {27,0x7FFFAC4}, + [I(137,99)] = {28,0xFFFFB44}, + [I(138,99)] = {28,0xFFFFB64}, + [I(139,99)] = {28,0xFFFFB84}, + [I(140,99)] = {28,0xFFFFBA4}, + [I(141,99)] = {28,0xFFFFBC4}, + [I(142,99)] = {29,0x1FFFFD64}, + [I(143,99)] = {28,0xFFFFBE4}, + [I(144,99)] = {29,0x1FFFFD84}, + [I(145,99)] = {29,0x1FFFFDA4}, + [I(146,99)] = {27,0x7FFFAE4}, + [I(147,99)] = {28,0xFFFFC04}, + [I(148,99)] = {29,0x1FFFFDC4}, + [I(149,99)] = {28,0xFFFFC24}, + [I(150,99)] = {28,0xFFFFC44}, + [I(151,99)] = {28,0xFFFFC64}, + [I(152,99)] = {28,0xFFFFC84}, + [I(153,99)] = {26,0x3FFFB84}, + [I(154,99)] = {27,0x7FFFB04}, + [I(155,99)] = {28,0xFFFFCA4}, + [I(156,99)] = {27,0x7FFFB24}, + [I(157,99)] = {28,0xFFFFCC4}, + [I(158,99)] = {28,0xFFFFCE4}, + [I(159,99)] = {29,0x1FFFFDE4}, + [I(160,99)] = {27,0x7FFFB44}, + [I(161,99)] = {26,0x3FFFBA4}, + [I(162,99)] = {25,0x1FFFD24}, + [I(163,99)] = {27,0x7FFFB64}, + [I(164,99)] = {27,0x7FFFB84}, + [I(165,99)] = {28,0xFFFFD04}, + [I(166,99)] = {28,0xFFFFD24}, + [I(167,99)] = {26,0x3FFFBC4}, + [I(168,99)] = {28,0xFFFFD44}, + [I(169,99)] = {27,0x7FFFBA4}, + [I(170,99)] = {27,0x7FFFBC4}, + [I(171,99)] = {29,0x1FFFFE04}, + [I(172,99)] = {26,0x3FFFBE4}, + [I(173,99)] = {27,0x7FFFBE4}, + [I(174,99)] = {28,0xFFFFD64}, + [I(175,99)] = {28,0xFFFFD84}, + [I(176,99)] = {26,0x3FFFC04}, + [I(177,99)] = {26,0x3FFFC24}, + [I(178,99)] = {27,0x7FFFC04}, + [I(179,99)] = {26,0x3FFFC44}, + [I(180,99)] = {28,0xFFFFDA4}, + [I(181,99)] = {27,0x7FFFC24}, + [I(182,99)] = {28,0xFFFFDC4}, + [I(183,99)] = {28,0xFFFFDE4}, + [I(184,99)] = {25,0x1FFFD44}, + [I(185,99)] = {27,0x7FFFC44}, + [I(186,99)] = {27,0x7FFFC64}, + [I(187,99)] = {27,0x7FFFC84}, + [I(188,99)] = {28,0xFFFFE04}, + [I(189,99)] = {27,0x7FFFCA4}, + [I(190,99)] = {27,0x7FFFCC4}, + [I(191,99)] = {28,0xFFFFE24}, + [I(192,99)] = {31,0x7FFFFC04}, + [I(193,99)] = {31,0x7FFFFC24}, + [I(194,99)] = {25,0x1FFFD64}, + [I(195,99)] = {24,0xFFFE24}, + [I(196,99)] = {27,0x7FFFCE4}, + [I(197,99)] = {28,0xFFFFE44}, + [I(198,99)] = {27,0x7FFFD04}, + [I(199,99)] = {30,0x3FFFFD84}, + [I(200,99)] = {31,0x7FFFFC44}, + [I(201,99)] = {31,0x7FFFFC64}, + [I(202,99)] = {31,0x7FFFFC84}, + [I(203,99)] = {X32,0xFFFFFBC4}, + [I(204,99)] = {X32,0xFFFFFBE4}, + [I(205,99)] = {31,0x7FFFFCA4}, + [I(206,99)] = {29,0x1FFFFE24}, + [I(207,99)] = {30,0x3FFFFDA4}, + [I(208,99)] = {24,0xFFFE44}, + [I(209,99)] = {26,0x3FFFC64}, + [I(210,99)] = {31,0x7FFFFCC4}, + [I(211,99)] = {X32,0xFFFFFC04}, + [I(212,99)] = {X32,0xFFFFFC24}, + [I(213,99)] = {31,0x7FFFFCE4}, + [I(214,99)] = {X32,0xFFFFFC44}, + [I(215,99)] = {29,0x1FFFFE44}, + [I(216,99)] = {26,0x3FFFC84}, + [I(217,99)] = {26,0x3FFFCA4}, + [I(218,99)] = {31,0x7FFFFD04}, + [I(219,99)] = {31,0x7FFFFD24}, + [I(220,99)] = {64,0}, + [I(221,99)] = {X32,0xFFFFFC64}, + [I(222,99)] = {X32,0xFFFFFC84}, + [I(223,99)] = {X32,0xFFFFFCA4}, + [I(224,99)] = {25,0x1FFFD84}, + [I(225,99)] = {29,0x1FFFFE64}, + [I(226,99)] = {25,0x1FFFDA4}, + [I(227,99)] = {26,0x3FFFCC4}, + [I(228,99)] = {27,0x7FFFD24}, + [I(229,99)] = {26,0x3FFFCE4}, + [I(230,99)] = {26,0x3FFFD04}, + [I(231,99)] = {28,0xFFFFE64}, + [I(232,99)] = {27,0x7FFFD44}, + [I(233,99)] = {27,0x7FFFD64}, + [I(234,99)] = {30,0x3FFFFDC4}, + [I(235,99)] = {30,0x3FFFFDE4}, + [I(236,99)] = {29,0x1FFFFE84}, + [I(237,99)] = {29,0x1FFFFEA4}, + [I(238,99)] = {31,0x7FFFFD44}, + [I(239,99)] = {28,0xFFFFE84}, + [I(240,99)] = {31,0x7FFFFD64}, + [I(241,99)] = {X32,0xFFFFFCC4}, + [I(242,99)] = {31,0x7FFFFD84}, + [I(243,99)] = {31,0x7FFFFDA4}, + [I(244,99)] = {X32,0xFFFFFCE4}, + [I(245,99)] = {X32,0xFFFFFD04}, + [I(246,99)] = {X32,0xFFFFFD24}, + [I(247,99)] = {X32,0xFFFFFD44}, + [I(248,99)] = {X32,0xFFFFFD64}, + [I(249,99)] = {64,0}, + [I(250,99)] = {X32,0xFFFFFD84}, + [I(251,99)] = {X32,0xFFFFFDA4}, + [I(252,99)] = {X32,0xFFFFFDC4}, + [I(253,99)] = {X32,0xFFFFFDE4}, + [I(254,99)] = {X32,0xFFFFFE04}, + [I(255,99)] = {31,0x7FFFFDC4}, + [I(0,100)] = {19,0x7FE24}, + [I(1,100)] = {29,0x1FFFF624}, + [I(2,100)] = {64,0}, + [I(3,100)] = {64,0}, + [I(4,100)] = {64,0}, + [I(5,100)] = {64,0}, + [I(6,100)] = {64,0}, + [I(7,100)] = {64,0}, + [I(8,100)] = {64,0}, + [I(9,100)] = {30,0x3FFFFAA4}, + [I(10,100)] = {64,0}, + [I(11,100)] = {64,0}, + [I(12,100)] = {64,0}, + [I(13,100)] = {64,0}, + [I(14,100)] = {64,0}, + [I(15,100)] = {64,0}, + [I(16,100)] = {64,0}, + [I(17,100)] = {64,0}, + [I(18,100)] = {64,0}, + [I(19,100)] = {64,0}, + [I(20,100)] = {64,0}, + [I(21,100)] = {64,0}, + [I(22,100)] = {64,0}, + [I(23,100)] = {64,0}, + [I(24,100)] = {64,0}, + [I(25,100)] = {64,0}, + [I(26,100)] = {64,0}, + [I(27,100)] = {64,0}, + [I(28,100)] = {64,0}, + [I(29,100)] = {64,0}, + [I(30,100)] = {64,0}, + [I(31,100)] = {64,0}, + [I(32,100)] = {12,0x524}, + [I(33,100)] = {16,0xFE24}, + [I(34,100)] = {16,0xFE64}, + [I(35,100)] = {18,0x3FEA4}, + [I(36,100)] = {19,0x7FE64}, + [I(37,100)] = {12,0x564}, + [I(38,100)] = {14,0x3E24}, + [I(39,100)] = {17,0x1FEA4}, + [I(40,100)] = {16,0xFEA4}, + [I(41,100)] = {16,0xFEE4}, + [I(42,100)] = {14,0x3E64}, + [I(43,100)] = {17,0x1FEE4}, + [I(44,100)] = {14,0x3EA4}, + [I(45,100)] = {12,0x5A4}, + [I(46,100)] = {12,0x5E4}, + [I(47,100)] = {12,0x624}, + [I(48,100)] = {11,0x24}, + [I(49,100)] = {11,0x64}, + [I(50,100)] = {11,0xA4}, + [I(51,100)] = {12,0x664}, + [I(52,100)] = {12,0x6A4}, + [I(53,100)] = {12,0x6E4}, + [I(54,100)] = {12,0x724}, + [I(55,100)] = {12,0x764}, + [I(56,100)] = {12,0x7A4}, + [I(57,100)] = {12,0x7E4}, + [I(58,100)] = {13,0x1724}, + [I(59,100)] = {14,0x3EE4}, + [I(60,100)] = {21,0x1FFF24}, + [I(61,100)] = {12,0x824}, + [I(62,100)] = {18,0x3FEE4}, + [I(63,100)] = {16,0xFF24}, + [I(64,100)] = {19,0x7FEA4}, + [I(65,100)] = {12,0x864}, + [I(66,100)] = {13,0x1764}, + [I(67,100)] = {13,0x17A4}, + [I(68,100)] = {13,0x17E4}, + [I(69,100)] = {13,0x1824}, + [I(70,100)] = {13,0x1864}, + [I(71,100)] = {13,0x18A4}, + [I(72,100)] = {13,0x18E4}, + [I(73,100)] = {13,0x1924}, + [I(74,100)] = {13,0x1964}, + [I(75,100)] = {13,0x19A4}, + [I(76,100)] = {13,0x19E4}, + [I(77,100)] = {13,0x1A24}, + [I(78,100)] = {13,0x1A64}, + [I(79,100)] = {13,0x1AA4}, + [I(80,100)] = {13,0x1AE4}, + [I(81,100)] = {13,0x1B24}, + [I(82,100)] = {13,0x1B64}, + [I(83,100)] = {13,0x1BA4}, + [I(84,100)] = {13,0x1BE4}, + [I(85,100)] = {13,0x1C24}, + [I(86,100)] = {13,0x1C64}, + [I(87,100)] = {13,0x1CA4}, + [I(88,100)] = {14,0x3F24}, + [I(89,100)] = {13,0x1CE4}, + [I(90,100)] = {14,0x3F64}, + [I(91,100)] = {19,0x7FEE4}, + [I(92,100)] = {25,0x1FFFC24}, + [I(93,100)] = {19,0x7FF24}, + [I(94,100)] = {20,0xFFF24}, + [I(95,100)] = {12,0x8A4}, + [I(96,100)] = {21,0x1FFF64}, + [I(97,100)] = {11,0xE4}, + [I(98,100)] = {12,0x8E4}, + [I(99,100)] = {11,0x124}, + [I(100,100)] = {12,0x924}, + [I(101,100)] = {11,0x164}, + [I(102,100)] = {12,0x964}, + [I(103,100)] = {12,0x9A4}, + [I(104,100)] = {12,0x9E4}, + [I(105,100)] = {11,0x1A4}, + [I(106,100)] = {13,0x1D24}, + [I(107,100)] = {13,0x1D64}, + [I(108,100)] = {12,0xA24}, + [I(109,100)] = {12,0xA64}, + [I(110,100)] = {12,0xAA4}, + [I(111,100)] = {11,0x1E4}, + [I(112,100)] = {12,0xAE4}, + [I(113,100)] = {13,0x1DA4}, + [I(114,100)] = {12,0xB24}, + [I(115,100)] = {11,0x224}, + [I(116,100)] = {11,0x264}, + [I(117,100)] = {12,0xB64}, + [I(118,100)] = {13,0x1DE4}, + [I(119,100)] = {13,0x1E24}, + [I(120,100)] = {13,0x1E64}, + [I(121,100)] = {13,0x1EA4}, + [I(122,100)] = {13,0x1EE4}, + [I(123,100)] = {21,0x1FFFA4}, + [I(124,100)] = {17,0x1FF24}, + [I(125,100)] = {20,0xFFF64}, + [I(126,100)] = {19,0x7FF64}, + [I(127,100)] = {64,0}, + [I(128,100)] = {26,0x3FFF9A4}, + [I(129,100)] = {28,0xFFFF4A4}, + [I(130,100)] = {26,0x3FFF9E4}, + [I(131,100)] = {26,0x3FFFA24}, + [I(132,100)] = {28,0xFFFF4E4}, + [I(133,100)] = {28,0xFFFF524}, + [I(134,100)] = {28,0xFFFF564}, + [I(135,100)] = {29,0x1FFFF664}, + [I(136,100)] = {28,0xFFFF5A4}, + [I(137,100)] = {29,0x1FFFF6A4}, + [I(138,100)] = {29,0x1FFFF6E4}, + [I(139,100)] = {29,0x1FFFF724}, + [I(140,100)] = {29,0x1FFFF764}, + [I(141,100)] = {29,0x1FFFF7A4}, + [I(142,100)] = {30,0x3FFFFAE4}, + [I(143,100)] = {29,0x1FFFF7E4}, + [I(144,100)] = {30,0x3FFFFB24}, + [I(145,100)] = {30,0x3FFFFB64}, + [I(146,100)] = {28,0xFFFF5E4}, + [I(147,100)] = {29,0x1FFFF824}, + [I(148,100)] = {30,0x3FFFFBA4}, + [I(149,100)] = {29,0x1FFFF864}, + [I(150,100)] = {29,0x1FFFF8A4}, + [I(151,100)] = {29,0x1FFFF8E4}, + [I(152,100)] = {29,0x1FFFF924}, + [I(153,100)] = {27,0x7FFF724}, + [I(154,100)] = {28,0xFFFF624}, + [I(155,100)] = {29,0x1FFFF964}, + [I(156,100)] = {28,0xFFFF664}, + [I(157,100)] = {29,0x1FFFF9A4}, + [I(158,100)] = {29,0x1FFFF9E4}, + [I(159,100)] = {30,0x3FFFFBE4}, + [I(160,100)] = {28,0xFFFF6A4}, + [I(161,100)] = {27,0x7FFF764}, + [I(162,100)] = {26,0x3FFFA64}, + [I(163,100)] = {28,0xFFFF6E4}, + [I(164,100)] = {28,0xFFFF724}, + [I(165,100)] = {29,0x1FFFFA24}, + [I(166,100)] = {29,0x1FFFFA64}, + [I(167,100)] = {27,0x7FFF7A4}, + [I(168,100)] = {29,0x1FFFFAA4}, + [I(169,100)] = {28,0xFFFF764}, + [I(170,100)] = {28,0xFFFF7A4}, + [I(171,100)] = {30,0x3FFFFC24}, + [I(172,100)] = {27,0x7FFF7E4}, + [I(173,100)] = {28,0xFFFF7E4}, + [I(174,100)] = {29,0x1FFFFAE4}, + [I(175,100)] = {29,0x1FFFFB24}, + [I(176,100)] = {27,0x7FFF824}, + [I(177,100)] = {27,0x7FFF864}, + [I(178,100)] = {28,0xFFFF824}, + [I(179,100)] = {27,0x7FFF8A4}, + [I(180,100)] = {29,0x1FFFFB64}, + [I(181,100)] = {28,0xFFFF864}, + [I(182,100)] = {29,0x1FFFFBA4}, + [I(183,100)] = {29,0x1FFFFBE4}, + [I(184,100)] = {26,0x3FFFAA4}, + [I(185,100)] = {28,0xFFFF8A4}, + [I(186,100)] = {28,0xFFFF8E4}, + [I(187,100)] = {28,0xFFFF924}, + [I(188,100)] = {29,0x1FFFFC24}, + [I(189,100)] = {28,0xFFFF964}, + [I(190,100)] = {28,0xFFFF9A4}, + [I(191,100)] = {29,0x1FFFFC64}, + [I(192,100)] = {X32,0xFFFFF824}, + [I(193,100)] = {X32,0xFFFFF864}, + [I(194,100)] = {26,0x3FFFAE4}, + [I(195,100)] = {25,0x1FFFC64}, + [I(196,100)] = {28,0xFFFF9E4}, + [I(197,100)] = {29,0x1FFFFCA4}, + [I(198,100)] = {28,0xFFFFA24}, + [I(199,100)] = {31,0x7FFFFB24}, + [I(200,100)] = {X32,0xFFFFF8A4}, + [I(201,100)] = {X32,0xFFFFF8E4}, + [I(202,100)] = {X32,0xFFFFF924}, + [I(203,100)] = {64,0}, + [I(204,100)] = {64,0}, + [I(205,100)] = {X32,0xFFFFF964}, + [I(206,100)] = {30,0x3FFFFC64}, + [I(207,100)] = {31,0x7FFFFB64}, + [I(208,100)] = {25,0x1FFFCA4}, + [I(209,100)] = {27,0x7FFF8E4}, + [I(210,100)] = {X32,0xFFFFF9A4}, + [I(211,100)] = {64,0}, + [I(212,100)] = {64,0}, + [I(213,100)] = {X32,0xFFFFF9E4}, + [I(214,100)] = {64,0}, + [I(215,100)] = {30,0x3FFFFCA4}, + [I(216,100)] = {27,0x7FFF924}, + [I(217,100)] = {27,0x7FFF964}, + [I(218,100)] = {X32,0xFFFFFA24}, + [I(219,100)] = {X32,0xFFFFFA64}, + [I(220,100)] = {64,0}, + [I(221,100)] = {64,0}, + [I(222,100)] = {64,0}, + [I(223,100)] = {64,0}, + [I(224,100)] = {26,0x3FFFB24}, + [I(225,100)] = {30,0x3FFFFCE4}, + [I(226,100)] = {26,0x3FFFB64}, + [I(227,100)] = {27,0x7FFF9A4}, + [I(228,100)] = {28,0xFFFFA64}, + [I(229,100)] = {27,0x7FFF9E4}, + [I(230,100)] = {27,0x7FFFA24}, + [I(231,100)] = {29,0x1FFFFCE4}, + [I(232,100)] = {28,0xFFFFAA4}, + [I(233,100)] = {28,0xFFFFAE4}, + [I(234,100)] = {31,0x7FFFFBA4}, + [I(235,100)] = {31,0x7FFFFBE4}, + [I(236,100)] = {30,0x3FFFFD24}, + [I(237,100)] = {30,0x3FFFFD64}, + [I(238,100)] = {X32,0xFFFFFAA4}, + [I(239,100)] = {29,0x1FFFFD24}, + [I(240,100)] = {X32,0xFFFFFAE4}, + [I(241,100)] = {64,0}, + [I(242,100)] = {X32,0xFFFFFB24}, + [I(243,100)] = {X32,0xFFFFFB64}, + [I(244,100)] = {64,0}, + [I(245,100)] = {64,0}, + [I(246,100)] = {64,0}, + [I(247,100)] = {64,0}, + [I(248,100)] = {64,0}, + [I(249,100)] = {64,0}, + [I(250,100)] = {64,0}, + [I(251,100)] = {64,0}, + [I(252,100)] = {64,0}, + [I(253,100)] = {64,0}, + [I(254,100)] = {64,0}, + [I(255,100)] = {X32,0xFFFFFBA4}, + [I(0,101)] = {18,0x3FF05}, + [I(1,101)] = {28,0xFFFFB05}, + [I(2,101)] = {64,0}, + [I(3,101)] = {64,0}, + [I(4,101)] = {64,0}, + [I(5,101)] = {64,0}, + [I(6,101)] = {64,0}, + [I(7,101)] = {64,0}, + [I(8,101)] = {64,0}, + [I(9,101)] = {29,0x1FFFFD45}, + [I(10,101)] = {64,0}, + [I(11,101)] = {64,0}, + [I(12,101)] = {64,0}, + [I(13,101)] = {64,0}, + [I(14,101)] = {64,0}, + [I(15,101)] = {64,0}, + [I(16,101)] = {64,0}, + [I(17,101)] = {64,0}, + [I(18,101)] = {64,0}, + [I(19,101)] = {64,0}, + [I(20,101)] = {64,0}, + [I(21,101)] = {64,0}, + [I(22,101)] = {64,0}, + [I(23,101)] = {64,0}, + [I(24,101)] = {64,0}, + [I(25,101)] = {64,0}, + [I(26,101)] = {64,0}, + [I(27,101)] = {64,0}, + [I(28,101)] = {64,0}, + [I(29,101)] = {64,0}, + [I(30,101)] = {64,0}, + [I(31,101)] = {64,0}, + [I(32,101)] = {11,0x285}, + [I(33,101)] = {15,0x7F05}, + [I(34,101)] = {15,0x7F25}, + [I(35,101)] = {17,0x1FF45}, + [I(36,101)] = {18,0x3FF25}, + [I(37,101)] = {11,0x2A5}, + [I(38,101)] = {13,0x1F05}, + [I(39,101)] = {16,0xFF45}, + [I(40,101)] = {15,0x7F45}, + [I(41,101)] = {15,0x7F65}, + [I(42,101)] = {13,0x1F25}, + [I(43,101)] = {16,0xFF65}, + [I(44,101)] = {13,0x1F45}, + [I(45,101)] = {11,0x2C5}, + [I(46,101)] = {11,0x2E5}, + [I(47,101)] = {11,0x305}, + [I(48,101)] = {10,0x5}, + [I(49,101)] = {10,0x25}, + [I(50,101)] = {10,0x45}, + [I(51,101)] = {11,0x325}, + [I(52,101)] = {11,0x345}, + [I(53,101)] = {11,0x365}, + [I(54,101)] = {11,0x385}, + [I(55,101)] = {11,0x3A5}, + [I(56,101)] = {11,0x3C5}, + [I(57,101)] = {11,0x3E5}, + [I(58,101)] = {12,0xB85}, + [I(59,101)] = {13,0x1F65}, + [I(60,101)] = {20,0xFFF85}, + [I(61,101)] = {11,0x405}, + [I(62,101)] = {17,0x1FF65}, + [I(63,101)] = {15,0x7F85}, + [I(64,101)] = {18,0x3FF45}, + [I(65,101)] = {11,0x425}, + [I(66,101)] = {12,0xBA5}, + [I(67,101)] = {12,0xBC5}, + [I(68,101)] = {12,0xBE5}, + [I(69,101)] = {12,0xC05}, + [I(70,101)] = {12,0xC25}, + [I(71,101)] = {12,0xC45}, + [I(72,101)] = {12,0xC65}, + [I(73,101)] = {12,0xC85}, + [I(74,101)] = {12,0xCA5}, + [I(75,101)] = {12,0xCC5}, + [I(76,101)] = {12,0xCE5}, + [I(77,101)] = {12,0xD05}, + [I(78,101)] = {12,0xD25}, + [I(79,101)] = {12,0xD45}, + [I(80,101)] = {12,0xD65}, + [I(81,101)] = {12,0xD85}, + [I(82,101)] = {12,0xDA5}, + [I(83,101)] = {12,0xDC5}, + [I(84,101)] = {12,0xDE5}, + [I(85,101)] = {12,0xE05}, + [I(86,101)] = {12,0xE25}, + [I(87,101)] = {12,0xE45}, + [I(88,101)] = {13,0x1F85}, + [I(89,101)] = {12,0xE65}, + [I(90,101)] = {13,0x1FA5}, + [I(91,101)] = {18,0x3FF65}, + [I(92,101)] = {24,0xFFFE05}, + [I(93,101)] = {18,0x3FF85}, + [I(94,101)] = {19,0x7FF85}, + [I(95,101)] = {11,0x445}, + [I(96,101)] = {20,0xFFFA5}, + [I(97,101)] = {10,0x65}, + [I(98,101)] = {11,0x465}, + [I(99,101)] = {10,0x85}, + [I(100,101)] = {11,0x485}, + [I(101,101)] = {10,0xA5}, + [I(102,101)] = {11,0x4A5}, + [I(103,101)] = {11,0x4C5}, + [I(104,101)] = {11,0x4E5}, + [I(105,101)] = {10,0xC5}, + [I(106,101)] = {12,0xE85}, + [I(107,101)] = {12,0xEA5}, + [I(108,101)] = {11,0x505}, + [I(109,101)] = {11,0x525}, + [I(110,101)] = {11,0x545}, + [I(111,101)] = {10,0xE5}, + [I(112,101)] = {11,0x565}, + [I(113,101)] = {12,0xEC5}, + [I(114,101)] = {11,0x585}, + [I(115,101)] = {10,0x105}, + [I(116,101)] = {10,0x125}, + [I(117,101)] = {11,0x5A5}, + [I(118,101)] = {12,0xEE5}, + [I(119,101)] = {12,0xF05}, + [I(120,101)] = {12,0xF25}, + [I(121,101)] = {12,0xF45}, + [I(122,101)] = {12,0xF65}, + [I(123,101)] = {20,0xFFFC5}, + [I(124,101)] = {16,0xFF85}, + [I(125,101)] = {19,0x7FFA5}, + [I(126,101)] = {18,0x3FFA5}, + [I(127,101)] = {64,0}, + [I(128,101)] = {25,0x1FFFCC5}, + [I(129,101)] = {27,0x7FFFA45}, + [I(130,101)] = {25,0x1FFFCE5}, + [I(131,101)] = {25,0x1FFFD05}, + [I(132,101)] = {27,0x7FFFA65}, + [I(133,101)] = {27,0x7FFFA85}, + [I(134,101)] = {27,0x7FFFAA5}, + [I(135,101)] = {28,0xFFFFB25}, + [I(136,101)] = {27,0x7FFFAC5}, + [I(137,101)] = {28,0xFFFFB45}, + [I(138,101)] = {28,0xFFFFB65}, + [I(139,101)] = {28,0xFFFFB85}, + [I(140,101)] = {28,0xFFFFBA5}, + [I(141,101)] = {28,0xFFFFBC5}, + [I(142,101)] = {29,0x1FFFFD65}, + [I(143,101)] = {28,0xFFFFBE5}, + [I(144,101)] = {29,0x1FFFFD85}, + [I(145,101)] = {29,0x1FFFFDA5}, + [I(146,101)] = {27,0x7FFFAE5}, + [I(147,101)] = {28,0xFFFFC05}, + [I(148,101)] = {29,0x1FFFFDC5}, + [I(149,101)] = {28,0xFFFFC25}, + [I(150,101)] = {28,0xFFFFC45}, + [I(151,101)] = {28,0xFFFFC65}, + [I(152,101)] = {28,0xFFFFC85}, + [I(153,101)] = {26,0x3FFFB85}, + [I(154,101)] = {27,0x7FFFB05}, + [I(155,101)] = {28,0xFFFFCA5}, + [I(156,101)] = {27,0x7FFFB25}, + [I(157,101)] = {28,0xFFFFCC5}, + [I(158,101)] = {28,0xFFFFCE5}, + [I(159,101)] = {29,0x1FFFFDE5}, + [I(160,101)] = {27,0x7FFFB45}, + [I(161,101)] = {26,0x3FFFBA5}, + [I(162,101)] = {25,0x1FFFD25}, + [I(163,101)] = {27,0x7FFFB65}, + [I(164,101)] = {27,0x7FFFB85}, + [I(165,101)] = {28,0xFFFFD05}, + [I(166,101)] = {28,0xFFFFD25}, + [I(167,101)] = {26,0x3FFFBC5}, + [I(168,101)] = {28,0xFFFFD45}, + [I(169,101)] = {27,0x7FFFBA5}, + [I(170,101)] = {27,0x7FFFBC5}, + [I(171,101)] = {29,0x1FFFFE05}, + [I(172,101)] = {26,0x3FFFBE5}, + [I(173,101)] = {27,0x7FFFBE5}, + [I(174,101)] = {28,0xFFFFD65}, + [I(175,101)] = {28,0xFFFFD85}, + [I(176,101)] = {26,0x3FFFC05}, + [I(177,101)] = {26,0x3FFFC25}, + [I(178,101)] = {27,0x7FFFC05}, + [I(179,101)] = {26,0x3FFFC45}, + [I(180,101)] = {28,0xFFFFDA5}, + [I(181,101)] = {27,0x7FFFC25}, + [I(182,101)] = {28,0xFFFFDC5}, + [I(183,101)] = {28,0xFFFFDE5}, + [I(184,101)] = {25,0x1FFFD45}, + [I(185,101)] = {27,0x7FFFC45}, + [I(186,101)] = {27,0x7FFFC65}, + [I(187,101)] = {27,0x7FFFC85}, + [I(188,101)] = {28,0xFFFFE05}, + [I(189,101)] = {27,0x7FFFCA5}, + [I(190,101)] = {27,0x7FFFCC5}, + [I(191,101)] = {28,0xFFFFE25}, + [I(192,101)] = {31,0x7FFFFC05}, + [I(193,101)] = {31,0x7FFFFC25}, + [I(194,101)] = {25,0x1FFFD65}, + [I(195,101)] = {24,0xFFFE25}, + [I(196,101)] = {27,0x7FFFCE5}, + [I(197,101)] = {28,0xFFFFE45}, + [I(198,101)] = {27,0x7FFFD05}, + [I(199,101)] = {30,0x3FFFFD85}, + [I(200,101)] = {31,0x7FFFFC45}, + [I(201,101)] = {31,0x7FFFFC65}, + [I(202,101)] = {31,0x7FFFFC85}, + [I(203,101)] = {X32,0xFFFFFBC5}, + [I(204,101)] = {X32,0xFFFFFBE5}, + [I(205,101)] = {31,0x7FFFFCA5}, + [I(206,101)] = {29,0x1FFFFE25}, + [I(207,101)] = {30,0x3FFFFDA5}, + [I(208,101)] = {24,0xFFFE45}, + [I(209,101)] = {26,0x3FFFC65}, + [I(210,101)] = {31,0x7FFFFCC5}, + [I(211,101)] = {X32,0xFFFFFC05}, + [I(212,101)] = {X32,0xFFFFFC25}, + [I(213,101)] = {31,0x7FFFFCE5}, + [I(214,101)] = {X32,0xFFFFFC45}, + [I(215,101)] = {29,0x1FFFFE45}, + [I(216,101)] = {26,0x3FFFC85}, + [I(217,101)] = {26,0x3FFFCA5}, + [I(218,101)] = {31,0x7FFFFD05}, + [I(219,101)] = {31,0x7FFFFD25}, + [I(220,101)] = {64,0}, + [I(221,101)] = {X32,0xFFFFFC65}, + [I(222,101)] = {X32,0xFFFFFC85}, + [I(223,101)] = {X32,0xFFFFFCA5}, + [I(224,101)] = {25,0x1FFFD85}, + [I(225,101)] = {29,0x1FFFFE65}, + [I(226,101)] = {25,0x1FFFDA5}, + [I(227,101)] = {26,0x3FFFCC5}, + [I(228,101)] = {27,0x7FFFD25}, + [I(229,101)] = {26,0x3FFFCE5}, + [I(230,101)] = {26,0x3FFFD05}, + [I(231,101)] = {28,0xFFFFE65}, + [I(232,101)] = {27,0x7FFFD45}, + [I(233,101)] = {27,0x7FFFD65}, + [I(234,101)] = {30,0x3FFFFDC5}, + [I(235,101)] = {30,0x3FFFFDE5}, + [I(236,101)] = {29,0x1FFFFE85}, + [I(237,101)] = {29,0x1FFFFEA5}, + [I(238,101)] = {31,0x7FFFFD45}, + [I(239,101)] = {28,0xFFFFE85}, + [I(240,101)] = {31,0x7FFFFD65}, + [I(241,101)] = {X32,0xFFFFFCC5}, + [I(242,101)] = {31,0x7FFFFD85}, + [I(243,101)] = {31,0x7FFFFDA5}, + [I(244,101)] = {X32,0xFFFFFCE5}, + [I(245,101)] = {X32,0xFFFFFD05}, + [I(246,101)] = {X32,0xFFFFFD25}, + [I(247,101)] = {X32,0xFFFFFD45}, + [I(248,101)] = {X32,0xFFFFFD65}, + [I(249,101)] = {64,0}, + [I(250,101)] = {X32,0xFFFFFD85}, + [I(251,101)] = {X32,0xFFFFFDA5}, + [I(252,101)] = {X32,0xFFFFFDC5}, + [I(253,101)] = {X32,0xFFFFFDE5}, + [I(254,101)] = {X32,0xFFFFFE05}, + [I(255,101)] = {31,0x7FFFFDC5}, + [I(0,102)] = {19,0x7FE25}, + [I(1,102)] = {29,0x1FFFF625}, + [I(2,102)] = {64,0}, + [I(3,102)] = {64,0}, + [I(4,102)] = {64,0}, + [I(5,102)] = {64,0}, + [I(6,102)] = {64,0}, + [I(7,102)] = {64,0}, + [I(8,102)] = {64,0}, + [I(9,102)] = {30,0x3FFFFAA5}, + [I(10,102)] = {64,0}, + [I(11,102)] = {64,0}, + [I(12,102)] = {64,0}, + [I(13,102)] = {64,0}, + [I(14,102)] = {64,0}, + [I(15,102)] = {64,0}, + [I(16,102)] = {64,0}, + [I(17,102)] = {64,0}, + [I(18,102)] = {64,0}, + [I(19,102)] = {64,0}, + [I(20,102)] = {64,0}, + [I(21,102)] = {64,0}, + [I(22,102)] = {64,0}, + [I(23,102)] = {64,0}, + [I(24,102)] = {64,0}, + [I(25,102)] = {64,0}, + [I(26,102)] = {64,0}, + [I(27,102)] = {64,0}, + [I(28,102)] = {64,0}, + [I(29,102)] = {64,0}, + [I(30,102)] = {64,0}, + [I(31,102)] = {64,0}, + [I(32,102)] = {12,0x525}, + [I(33,102)] = {16,0xFE25}, + [I(34,102)] = {16,0xFE65}, + [I(35,102)] = {18,0x3FEA5}, + [I(36,102)] = {19,0x7FE65}, + [I(37,102)] = {12,0x565}, + [I(38,102)] = {14,0x3E25}, + [I(39,102)] = {17,0x1FEA5}, + [I(40,102)] = {16,0xFEA5}, + [I(41,102)] = {16,0xFEE5}, + [I(42,102)] = {14,0x3E65}, + [I(43,102)] = {17,0x1FEE5}, + [I(44,102)] = {14,0x3EA5}, + [I(45,102)] = {12,0x5A5}, + [I(46,102)] = {12,0x5E5}, + [I(47,102)] = {12,0x625}, + [I(48,102)] = {11,0x25}, + [I(49,102)] = {11,0x65}, + [I(50,102)] = {11,0xA5}, + [I(51,102)] = {12,0x665}, + [I(52,102)] = {12,0x6A5}, + [I(53,102)] = {12,0x6E5}, + [I(54,102)] = {12,0x725}, + [I(55,102)] = {12,0x765}, + [I(56,102)] = {12,0x7A5}, + [I(57,102)] = {12,0x7E5}, + [I(58,102)] = {13,0x1725}, + [I(59,102)] = {14,0x3EE5}, + [I(60,102)] = {21,0x1FFF25}, + [I(61,102)] = {12,0x825}, + [I(62,102)] = {18,0x3FEE5}, + [I(63,102)] = {16,0xFF25}, + [I(64,102)] = {19,0x7FEA5}, + [I(65,102)] = {12,0x865}, + [I(66,102)] = {13,0x1765}, + [I(67,102)] = {13,0x17A5}, + [I(68,102)] = {13,0x17E5}, + [I(69,102)] = {13,0x1825}, + [I(70,102)] = {13,0x1865}, + [I(71,102)] = {13,0x18A5}, + [I(72,102)] = {13,0x18E5}, + [I(73,102)] = {13,0x1925}, + [I(74,102)] = {13,0x1965}, + [I(75,102)] = {13,0x19A5}, + [I(76,102)] = {13,0x19E5}, + [I(77,102)] = {13,0x1A25}, + [I(78,102)] = {13,0x1A65}, + [I(79,102)] = {13,0x1AA5}, + [I(80,102)] = {13,0x1AE5}, + [I(81,102)] = {13,0x1B25}, + [I(82,102)] = {13,0x1B65}, + [I(83,102)] = {13,0x1BA5}, + [I(84,102)] = {13,0x1BE5}, + [I(85,102)] = {13,0x1C25}, + [I(86,102)] = {13,0x1C65}, + [I(87,102)] = {13,0x1CA5}, + [I(88,102)] = {14,0x3F25}, + [I(89,102)] = {13,0x1CE5}, + [I(90,102)] = {14,0x3F65}, + [I(91,102)] = {19,0x7FEE5}, + [I(92,102)] = {25,0x1FFFC25}, + [I(93,102)] = {19,0x7FF25}, + [I(94,102)] = {20,0xFFF25}, + [I(95,102)] = {12,0x8A5}, + [I(96,102)] = {21,0x1FFF65}, + [I(97,102)] = {11,0xE5}, + [I(98,102)] = {12,0x8E5}, + [I(99,102)] = {11,0x125}, + [I(100,102)] = {12,0x925}, + [I(101,102)] = {11,0x165}, + [I(102,102)] = {12,0x965}, + [I(103,102)] = {12,0x9A5}, + [I(104,102)] = {12,0x9E5}, + [I(105,102)] = {11,0x1A5}, + [I(106,102)] = {13,0x1D25}, + [I(107,102)] = {13,0x1D65}, + [I(108,102)] = {12,0xA25}, + [I(109,102)] = {12,0xA65}, + [I(110,102)] = {12,0xAA5}, + [I(111,102)] = {11,0x1E5}, + [I(112,102)] = {12,0xAE5}, + [I(113,102)] = {13,0x1DA5}, + [I(114,102)] = {12,0xB25}, + [I(115,102)] = {11,0x225}, + [I(116,102)] = {11,0x265}, + [I(117,102)] = {12,0xB65}, + [I(118,102)] = {13,0x1DE5}, + [I(119,102)] = {13,0x1E25}, + [I(120,102)] = {13,0x1E65}, + [I(121,102)] = {13,0x1EA5}, + [I(122,102)] = {13,0x1EE5}, + [I(123,102)] = {21,0x1FFFA5}, + [I(124,102)] = {17,0x1FF25}, + [I(125,102)] = {20,0xFFF65}, + [I(126,102)] = {19,0x7FF65}, + [I(127,102)] = {64,0}, + [I(128,102)] = {26,0x3FFF9A5}, + [I(129,102)] = {28,0xFFFF4A5}, + [I(130,102)] = {26,0x3FFF9E5}, + [I(131,102)] = {26,0x3FFFA25}, + [I(132,102)] = {28,0xFFFF4E5}, + [I(133,102)] = {28,0xFFFF525}, + [I(134,102)] = {28,0xFFFF565}, + [I(135,102)] = {29,0x1FFFF665}, + [I(136,102)] = {28,0xFFFF5A5}, + [I(137,102)] = {29,0x1FFFF6A5}, + [I(138,102)] = {29,0x1FFFF6E5}, + [I(139,102)] = {29,0x1FFFF725}, + [I(140,102)] = {29,0x1FFFF765}, + [I(141,102)] = {29,0x1FFFF7A5}, + [I(142,102)] = {30,0x3FFFFAE5}, + [I(143,102)] = {29,0x1FFFF7E5}, + [I(144,102)] = {30,0x3FFFFB25}, + [I(145,102)] = {30,0x3FFFFB65}, + [I(146,102)] = {28,0xFFFF5E5}, + [I(147,102)] = {29,0x1FFFF825}, + [I(148,102)] = {30,0x3FFFFBA5}, + [I(149,102)] = {29,0x1FFFF865}, + [I(150,102)] = {29,0x1FFFF8A5}, + [I(151,102)] = {29,0x1FFFF8E5}, + [I(152,102)] = {29,0x1FFFF925}, + [I(153,102)] = {27,0x7FFF725}, + [I(154,102)] = {28,0xFFFF625}, + [I(155,102)] = {29,0x1FFFF965}, + [I(156,102)] = {28,0xFFFF665}, + [I(157,102)] = {29,0x1FFFF9A5}, + [I(158,102)] = {29,0x1FFFF9E5}, + [I(159,102)] = {30,0x3FFFFBE5}, + [I(160,102)] = {28,0xFFFF6A5}, + [I(161,102)] = {27,0x7FFF765}, + [I(162,102)] = {26,0x3FFFA65}, + [I(163,102)] = {28,0xFFFF6E5}, + [I(164,102)] = {28,0xFFFF725}, + [I(165,102)] = {29,0x1FFFFA25}, + [I(166,102)] = {29,0x1FFFFA65}, + [I(167,102)] = {27,0x7FFF7A5}, + [I(168,102)] = {29,0x1FFFFAA5}, + [I(169,102)] = {28,0xFFFF765}, + [I(170,102)] = {28,0xFFFF7A5}, + [I(171,102)] = {30,0x3FFFFC25}, + [I(172,102)] = {27,0x7FFF7E5}, + [I(173,102)] = {28,0xFFFF7E5}, + [I(174,102)] = {29,0x1FFFFAE5}, + [I(175,102)] = {29,0x1FFFFB25}, + [I(176,102)] = {27,0x7FFF825}, + [I(177,102)] = {27,0x7FFF865}, + [I(178,102)] = {28,0xFFFF825}, + [I(179,102)] = {27,0x7FFF8A5}, + [I(180,102)] = {29,0x1FFFFB65}, + [I(181,102)] = {28,0xFFFF865}, + [I(182,102)] = {29,0x1FFFFBA5}, + [I(183,102)] = {29,0x1FFFFBE5}, + [I(184,102)] = {26,0x3FFFAA5}, + [I(185,102)] = {28,0xFFFF8A5}, + [I(186,102)] = {28,0xFFFF8E5}, + [I(187,102)] = {28,0xFFFF925}, + [I(188,102)] = {29,0x1FFFFC25}, + [I(189,102)] = {28,0xFFFF965}, + [I(190,102)] = {28,0xFFFF9A5}, + [I(191,102)] = {29,0x1FFFFC65}, + [I(192,102)] = {X32,0xFFFFF825}, + [I(193,102)] = {X32,0xFFFFF865}, + [I(194,102)] = {26,0x3FFFAE5}, + [I(195,102)] = {25,0x1FFFC65}, + [I(196,102)] = {28,0xFFFF9E5}, + [I(197,102)] = {29,0x1FFFFCA5}, + [I(198,102)] = {28,0xFFFFA25}, + [I(199,102)] = {31,0x7FFFFB25}, + [I(200,102)] = {X32,0xFFFFF8A5}, + [I(201,102)] = {X32,0xFFFFF8E5}, + [I(202,102)] = {X32,0xFFFFF925}, + [I(203,102)] = {64,0}, + [I(204,102)] = {64,0}, + [I(205,102)] = {X32,0xFFFFF965}, + [I(206,102)] = {30,0x3FFFFC65}, + [I(207,102)] = {31,0x7FFFFB65}, + [I(208,102)] = {25,0x1FFFCA5}, + [I(209,102)] = {27,0x7FFF8E5}, + [I(210,102)] = {X32,0xFFFFF9A5}, + [I(211,102)] = {64,0}, + [I(212,102)] = {64,0}, + [I(213,102)] = {X32,0xFFFFF9E5}, + [I(214,102)] = {64,0}, + [I(215,102)] = {30,0x3FFFFCA5}, + [I(216,102)] = {27,0x7FFF925}, + [I(217,102)] = {27,0x7FFF965}, + [I(218,102)] = {X32,0xFFFFFA25}, + [I(219,102)] = {X32,0xFFFFFA65}, + [I(220,102)] = {64,0}, + [I(221,102)] = {64,0}, + [I(222,102)] = {64,0}, + [I(223,102)] = {64,0}, + [I(224,102)] = {26,0x3FFFB25}, + [I(225,102)] = {30,0x3FFFFCE5}, + [I(226,102)] = {26,0x3FFFB65}, + [I(227,102)] = {27,0x7FFF9A5}, + [I(228,102)] = {28,0xFFFFA65}, + [I(229,102)] = {27,0x7FFF9E5}, + [I(230,102)] = {27,0x7FFFA25}, + [I(231,102)] = {29,0x1FFFFCE5}, + [I(232,102)] = {28,0xFFFFAA5}, + [I(233,102)] = {28,0xFFFFAE5}, + [I(234,102)] = {31,0x7FFFFBA5}, + [I(235,102)] = {31,0x7FFFFBE5}, + [I(236,102)] = {30,0x3FFFFD25}, + [I(237,102)] = {30,0x3FFFFD65}, + [I(238,102)] = {X32,0xFFFFFAA5}, + [I(239,102)] = {29,0x1FFFFD25}, + [I(240,102)] = {X32,0xFFFFFAE5}, + [I(241,102)] = {64,0}, + [I(242,102)] = {X32,0xFFFFFB25}, + [I(243,102)] = {X32,0xFFFFFB65}, + [I(244,102)] = {64,0}, + [I(245,102)] = {64,0}, + [I(246,102)] = {64,0}, + [I(247,102)] = {64,0}, + [I(248,102)] = {64,0}, + [I(249,102)] = {64,0}, + [I(250,102)] = {64,0}, + [I(251,102)] = {64,0}, + [I(252,102)] = {64,0}, + [I(253,102)] = {64,0}, + [I(254,102)] = {64,0}, + [I(255,102)] = {X32,0xFFFFFBA5}, + [I(0,103)] = {19,0x7FE26}, + [I(1,103)] = {29,0x1FFFF626}, + [I(2,103)] = {64,0}, + [I(3,103)] = {64,0}, + [I(4,103)] = {64,0}, + [I(5,103)] = {64,0}, + [I(6,103)] = {64,0}, + [I(7,103)] = {64,0}, + [I(8,103)] = {64,0}, + [I(9,103)] = {30,0x3FFFFAA6}, + [I(10,103)] = {64,0}, + [I(11,103)] = {64,0}, + [I(12,103)] = {64,0}, + [I(13,103)] = {64,0}, + [I(14,103)] = {64,0}, + [I(15,103)] = {64,0}, + [I(16,103)] = {64,0}, + [I(17,103)] = {64,0}, + [I(18,103)] = {64,0}, + [I(19,103)] = {64,0}, + [I(20,103)] = {64,0}, + [I(21,103)] = {64,0}, + [I(22,103)] = {64,0}, + [I(23,103)] = {64,0}, + [I(24,103)] = {64,0}, + [I(25,103)] = {64,0}, + [I(26,103)] = {64,0}, + [I(27,103)] = {64,0}, + [I(28,103)] = {64,0}, + [I(29,103)] = {64,0}, + [I(30,103)] = {64,0}, + [I(31,103)] = {64,0}, + [I(32,103)] = {12,0x526}, + [I(33,103)] = {16,0xFE26}, + [I(34,103)] = {16,0xFE66}, + [I(35,103)] = {18,0x3FEA6}, + [I(36,103)] = {19,0x7FE66}, + [I(37,103)] = {12,0x566}, + [I(38,103)] = {14,0x3E26}, + [I(39,103)] = {17,0x1FEA6}, + [I(40,103)] = {16,0xFEA6}, + [I(41,103)] = {16,0xFEE6}, + [I(42,103)] = {14,0x3E66}, + [I(43,103)] = {17,0x1FEE6}, + [I(44,103)] = {14,0x3EA6}, + [I(45,103)] = {12,0x5A6}, + [I(46,103)] = {12,0x5E6}, + [I(47,103)] = {12,0x626}, + [I(48,103)] = {11,0x26}, + [I(49,103)] = {11,0x66}, + [I(50,103)] = {11,0xA6}, + [I(51,103)] = {12,0x666}, + [I(52,103)] = {12,0x6A6}, + [I(53,103)] = {12,0x6E6}, + [I(54,103)] = {12,0x726}, + [I(55,103)] = {12,0x766}, + [I(56,103)] = {12,0x7A6}, + [I(57,103)] = {12,0x7E6}, + [I(58,103)] = {13,0x1726}, + [I(59,103)] = {14,0x3EE6}, + [I(60,103)] = {21,0x1FFF26}, + [I(61,103)] = {12,0x826}, + [I(62,103)] = {18,0x3FEE6}, + [I(63,103)] = {16,0xFF26}, + [I(64,103)] = {19,0x7FEA6}, + [I(65,103)] = {12,0x866}, + [I(66,103)] = {13,0x1766}, + [I(67,103)] = {13,0x17A6}, + [I(68,103)] = {13,0x17E6}, + [I(69,103)] = {13,0x1826}, + [I(70,103)] = {13,0x1866}, + [I(71,103)] = {13,0x18A6}, + [I(72,103)] = {13,0x18E6}, + [I(73,103)] = {13,0x1926}, + [I(74,103)] = {13,0x1966}, + [I(75,103)] = {13,0x19A6}, + [I(76,103)] = {13,0x19E6}, + [I(77,103)] = {13,0x1A26}, + [I(78,103)] = {13,0x1A66}, + [I(79,103)] = {13,0x1AA6}, + [I(80,103)] = {13,0x1AE6}, + [I(81,103)] = {13,0x1B26}, + [I(82,103)] = {13,0x1B66}, + [I(83,103)] = {13,0x1BA6}, + [I(84,103)] = {13,0x1BE6}, + [I(85,103)] = {13,0x1C26}, + [I(86,103)] = {13,0x1C66}, + [I(87,103)] = {13,0x1CA6}, + [I(88,103)] = {14,0x3F26}, + [I(89,103)] = {13,0x1CE6}, + [I(90,103)] = {14,0x3F66}, + [I(91,103)] = {19,0x7FEE6}, + [I(92,103)] = {25,0x1FFFC26}, + [I(93,103)] = {19,0x7FF26}, + [I(94,103)] = {20,0xFFF26}, + [I(95,103)] = {12,0x8A6}, + [I(96,103)] = {21,0x1FFF66}, + [I(97,103)] = {11,0xE6}, + [I(98,103)] = {12,0x8E6}, + [I(99,103)] = {11,0x126}, + [I(100,103)] = {12,0x926}, + [I(101,103)] = {11,0x166}, + [I(102,103)] = {12,0x966}, + [I(103,103)] = {12,0x9A6}, + [I(104,103)] = {12,0x9E6}, + [I(105,103)] = {11,0x1A6}, + [I(106,103)] = {13,0x1D26}, + [I(107,103)] = {13,0x1D66}, + [I(108,103)] = {12,0xA26}, + [I(109,103)] = {12,0xA66}, + [I(110,103)] = {12,0xAA6}, + [I(111,103)] = {11,0x1E6}, + [I(112,103)] = {12,0xAE6}, + [I(113,103)] = {13,0x1DA6}, + [I(114,103)] = {12,0xB26}, + [I(115,103)] = {11,0x226}, + [I(116,103)] = {11,0x266}, + [I(117,103)] = {12,0xB66}, + [I(118,103)] = {13,0x1DE6}, + [I(119,103)] = {13,0x1E26}, + [I(120,103)] = {13,0x1E66}, + [I(121,103)] = {13,0x1EA6}, + [I(122,103)] = {13,0x1EE6}, + [I(123,103)] = {21,0x1FFFA6}, + [I(124,103)] = {17,0x1FF26}, + [I(125,103)] = {20,0xFFF66}, + [I(126,103)] = {19,0x7FF66}, + [I(127,103)] = {64,0}, + [I(128,103)] = {26,0x3FFF9A6}, + [I(129,103)] = {28,0xFFFF4A6}, + [I(130,103)] = {26,0x3FFF9E6}, + [I(131,103)] = {26,0x3FFFA26}, + [I(132,103)] = {28,0xFFFF4E6}, + [I(133,103)] = {28,0xFFFF526}, + [I(134,103)] = {28,0xFFFF566}, + [I(135,103)] = {29,0x1FFFF666}, + [I(136,103)] = {28,0xFFFF5A6}, + [I(137,103)] = {29,0x1FFFF6A6}, + [I(138,103)] = {29,0x1FFFF6E6}, + [I(139,103)] = {29,0x1FFFF726}, + [I(140,103)] = {29,0x1FFFF766}, + [I(141,103)] = {29,0x1FFFF7A6}, + [I(142,103)] = {30,0x3FFFFAE6}, + [I(143,103)] = {29,0x1FFFF7E6}, + [I(144,103)] = {30,0x3FFFFB26}, + [I(145,103)] = {30,0x3FFFFB66}, + [I(146,103)] = {28,0xFFFF5E6}, + [I(147,103)] = {29,0x1FFFF826}, + [I(148,103)] = {30,0x3FFFFBA6}, + [I(149,103)] = {29,0x1FFFF866}, + [I(150,103)] = {29,0x1FFFF8A6}, + [I(151,103)] = {29,0x1FFFF8E6}, + [I(152,103)] = {29,0x1FFFF926}, + [I(153,103)] = {27,0x7FFF726}, + [I(154,103)] = {28,0xFFFF626}, + [I(155,103)] = {29,0x1FFFF966}, + [I(156,103)] = {28,0xFFFF666}, + [I(157,103)] = {29,0x1FFFF9A6}, + [I(158,103)] = {29,0x1FFFF9E6}, + [I(159,103)] = {30,0x3FFFFBE6}, + [I(160,103)] = {28,0xFFFF6A6}, + [I(161,103)] = {27,0x7FFF766}, + [I(162,103)] = {26,0x3FFFA66}, + [I(163,103)] = {28,0xFFFF6E6}, + [I(164,103)] = {28,0xFFFF726}, + [I(165,103)] = {29,0x1FFFFA26}, + [I(166,103)] = {29,0x1FFFFA66}, + [I(167,103)] = {27,0x7FFF7A6}, + [I(168,103)] = {29,0x1FFFFAA6}, + [I(169,103)] = {28,0xFFFF766}, + [I(170,103)] = {28,0xFFFF7A6}, + [I(171,103)] = {30,0x3FFFFC26}, + [I(172,103)] = {27,0x7FFF7E6}, + [I(173,103)] = {28,0xFFFF7E6}, + [I(174,103)] = {29,0x1FFFFAE6}, + [I(175,103)] = {29,0x1FFFFB26}, + [I(176,103)] = {27,0x7FFF826}, + [I(177,103)] = {27,0x7FFF866}, + [I(178,103)] = {28,0xFFFF826}, + [I(179,103)] = {27,0x7FFF8A6}, + [I(180,103)] = {29,0x1FFFFB66}, + [I(181,103)] = {28,0xFFFF866}, + [I(182,103)] = {29,0x1FFFFBA6}, + [I(183,103)] = {29,0x1FFFFBE6}, + [I(184,103)] = {26,0x3FFFAA6}, + [I(185,103)] = {28,0xFFFF8A6}, + [I(186,103)] = {28,0xFFFF8E6}, + [I(187,103)] = {28,0xFFFF926}, + [I(188,103)] = {29,0x1FFFFC26}, + [I(189,103)] = {28,0xFFFF966}, + [I(190,103)] = {28,0xFFFF9A6}, + [I(191,103)] = {29,0x1FFFFC66}, + [I(192,103)] = {X32,0xFFFFF826}, + [I(193,103)] = {X32,0xFFFFF866}, + [I(194,103)] = {26,0x3FFFAE6}, + [I(195,103)] = {25,0x1FFFC66}, + [I(196,103)] = {28,0xFFFF9E6}, + [I(197,103)] = {29,0x1FFFFCA6}, + [I(198,103)] = {28,0xFFFFA26}, + [I(199,103)] = {31,0x7FFFFB26}, + [I(200,103)] = {X32,0xFFFFF8A6}, + [I(201,103)] = {X32,0xFFFFF8E6}, + [I(202,103)] = {X32,0xFFFFF926}, + [I(203,103)] = {64,0}, + [I(204,103)] = {64,0}, + [I(205,103)] = {X32,0xFFFFF966}, + [I(206,103)] = {30,0x3FFFFC66}, + [I(207,103)] = {31,0x7FFFFB66}, + [I(208,103)] = {25,0x1FFFCA6}, + [I(209,103)] = {27,0x7FFF8E6}, + [I(210,103)] = {X32,0xFFFFF9A6}, + [I(211,103)] = {64,0}, + [I(212,103)] = {64,0}, + [I(213,103)] = {X32,0xFFFFF9E6}, + [I(214,103)] = {64,0}, + [I(215,103)] = {30,0x3FFFFCA6}, + [I(216,103)] = {27,0x7FFF926}, + [I(217,103)] = {27,0x7FFF966}, + [I(218,103)] = {X32,0xFFFFFA26}, + [I(219,103)] = {X32,0xFFFFFA66}, + [I(220,103)] = {64,0}, + [I(221,103)] = {64,0}, + [I(222,103)] = {64,0}, + [I(223,103)] = {64,0}, + [I(224,103)] = {26,0x3FFFB26}, + [I(225,103)] = {30,0x3FFFFCE6}, + [I(226,103)] = {26,0x3FFFB66}, + [I(227,103)] = {27,0x7FFF9A6}, + [I(228,103)] = {28,0xFFFFA66}, + [I(229,103)] = {27,0x7FFF9E6}, + [I(230,103)] = {27,0x7FFFA26}, + [I(231,103)] = {29,0x1FFFFCE6}, + [I(232,103)] = {28,0xFFFFAA6}, + [I(233,103)] = {28,0xFFFFAE6}, + [I(234,103)] = {31,0x7FFFFBA6}, + [I(235,103)] = {31,0x7FFFFBE6}, + [I(236,103)] = {30,0x3FFFFD26}, + [I(237,103)] = {30,0x3FFFFD66}, + [I(238,103)] = {X32,0xFFFFFAA6}, + [I(239,103)] = {29,0x1FFFFD26}, + [I(240,103)] = {X32,0xFFFFFAE6}, + [I(241,103)] = {64,0}, + [I(242,103)] = {X32,0xFFFFFB26}, + [I(243,103)] = {X32,0xFFFFFB66}, + [I(244,103)] = {64,0}, + [I(245,103)] = {64,0}, + [I(246,103)] = {64,0}, + [I(247,103)] = {64,0}, + [I(248,103)] = {64,0}, + [I(249,103)] = {64,0}, + [I(250,103)] = {64,0}, + [I(251,103)] = {64,0}, + [I(252,103)] = {64,0}, + [I(253,103)] = {64,0}, + [I(254,103)] = {64,0}, + [I(255,103)] = {X32,0xFFFFFBA6}, + [I(0,104)] = {19,0x7FE27}, + [I(1,104)] = {29,0x1FFFF627}, + [I(2,104)] = {64,0}, + [I(3,104)] = {64,0}, + [I(4,104)] = {64,0}, + [I(5,104)] = {64,0}, + [I(6,104)] = {64,0}, + [I(7,104)] = {64,0}, + [I(8,104)] = {64,0}, + [I(9,104)] = {30,0x3FFFFAA7}, + [I(10,104)] = {64,0}, + [I(11,104)] = {64,0}, + [I(12,104)] = {64,0}, + [I(13,104)] = {64,0}, + [I(14,104)] = {64,0}, + [I(15,104)] = {64,0}, + [I(16,104)] = {64,0}, + [I(17,104)] = {64,0}, + [I(18,104)] = {64,0}, + [I(19,104)] = {64,0}, + [I(20,104)] = {64,0}, + [I(21,104)] = {64,0}, + [I(22,104)] = {64,0}, + [I(23,104)] = {64,0}, + [I(24,104)] = {64,0}, + [I(25,104)] = {64,0}, + [I(26,104)] = {64,0}, + [I(27,104)] = {64,0}, + [I(28,104)] = {64,0}, + [I(29,104)] = {64,0}, + [I(30,104)] = {64,0}, + [I(31,104)] = {64,0}, + [I(32,104)] = {12,0x527}, + [I(33,104)] = {16,0xFE27}, + [I(34,104)] = {16,0xFE67}, + [I(35,104)] = {18,0x3FEA7}, + [I(36,104)] = {19,0x7FE67}, + [I(37,104)] = {12,0x567}, + [I(38,104)] = {14,0x3E27}, + [I(39,104)] = {17,0x1FEA7}, + [I(40,104)] = {16,0xFEA7}, + [I(41,104)] = {16,0xFEE7}, + [I(42,104)] = {14,0x3E67}, + [I(43,104)] = {17,0x1FEE7}, + [I(44,104)] = {14,0x3EA7}, + [I(45,104)] = {12,0x5A7}, + [I(46,104)] = {12,0x5E7}, + [I(47,104)] = {12,0x627}, + [I(48,104)] = {11,0x27}, + [I(49,104)] = {11,0x67}, + [I(50,104)] = {11,0xA7}, + [I(51,104)] = {12,0x667}, + [I(52,104)] = {12,0x6A7}, + [I(53,104)] = {12,0x6E7}, + [I(54,104)] = {12,0x727}, + [I(55,104)] = {12,0x767}, + [I(56,104)] = {12,0x7A7}, + [I(57,104)] = {12,0x7E7}, + [I(58,104)] = {13,0x1727}, + [I(59,104)] = {14,0x3EE7}, + [I(60,104)] = {21,0x1FFF27}, + [I(61,104)] = {12,0x827}, + [I(62,104)] = {18,0x3FEE7}, + [I(63,104)] = {16,0xFF27}, + [I(64,104)] = {19,0x7FEA7}, + [I(65,104)] = {12,0x867}, + [I(66,104)] = {13,0x1767}, + [I(67,104)] = {13,0x17A7}, + [I(68,104)] = {13,0x17E7}, + [I(69,104)] = {13,0x1827}, + [I(70,104)] = {13,0x1867}, + [I(71,104)] = {13,0x18A7}, + [I(72,104)] = {13,0x18E7}, + [I(73,104)] = {13,0x1927}, + [I(74,104)] = {13,0x1967}, + [I(75,104)] = {13,0x19A7}, + [I(76,104)] = {13,0x19E7}, + [I(77,104)] = {13,0x1A27}, + [I(78,104)] = {13,0x1A67}, + [I(79,104)] = {13,0x1AA7}, + [I(80,104)] = {13,0x1AE7}, + [I(81,104)] = {13,0x1B27}, + [I(82,104)] = {13,0x1B67}, + [I(83,104)] = {13,0x1BA7}, + [I(84,104)] = {13,0x1BE7}, + [I(85,104)] = {13,0x1C27}, + [I(86,104)] = {13,0x1C67}, + [I(87,104)] = {13,0x1CA7}, + [I(88,104)] = {14,0x3F27}, + [I(89,104)] = {13,0x1CE7}, + [I(90,104)] = {14,0x3F67}, + [I(91,104)] = {19,0x7FEE7}, + [I(92,104)] = {25,0x1FFFC27}, + [I(93,104)] = {19,0x7FF27}, + [I(94,104)] = {20,0xFFF27}, + [I(95,104)] = {12,0x8A7}, + [I(96,104)] = {21,0x1FFF67}, + [I(97,104)] = {11,0xE7}, + [I(98,104)] = {12,0x8E7}, + [I(99,104)] = {11,0x127}, + [I(100,104)] = {12,0x927}, + [I(101,104)] = {11,0x167}, + [I(102,104)] = {12,0x967}, + [I(103,104)] = {12,0x9A7}, + [I(104,104)] = {12,0x9E7}, + [I(105,104)] = {11,0x1A7}, + [I(106,104)] = {13,0x1D27}, + [I(107,104)] = {13,0x1D67}, + [I(108,104)] = {12,0xA27}, + [I(109,104)] = {12,0xA67}, + [I(110,104)] = {12,0xAA7}, + [I(111,104)] = {11,0x1E7}, + [I(112,104)] = {12,0xAE7}, + [I(113,104)] = {13,0x1DA7}, + [I(114,104)] = {12,0xB27}, + [I(115,104)] = {11,0x227}, + [I(116,104)] = {11,0x267}, + [I(117,104)] = {12,0xB67}, + [I(118,104)] = {13,0x1DE7}, + [I(119,104)] = {13,0x1E27}, + [I(120,104)] = {13,0x1E67}, + [I(121,104)] = {13,0x1EA7}, + [I(122,104)] = {13,0x1EE7}, + [I(123,104)] = {21,0x1FFFA7}, + [I(124,104)] = {17,0x1FF27}, + [I(125,104)] = {20,0xFFF67}, + [I(126,104)] = {19,0x7FF67}, + [I(127,104)] = {64,0}, + [I(128,104)] = {26,0x3FFF9A7}, + [I(129,104)] = {28,0xFFFF4A7}, + [I(130,104)] = {26,0x3FFF9E7}, + [I(131,104)] = {26,0x3FFFA27}, + [I(132,104)] = {28,0xFFFF4E7}, + [I(133,104)] = {28,0xFFFF527}, + [I(134,104)] = {28,0xFFFF567}, + [I(135,104)] = {29,0x1FFFF667}, + [I(136,104)] = {28,0xFFFF5A7}, + [I(137,104)] = {29,0x1FFFF6A7}, + [I(138,104)] = {29,0x1FFFF6E7}, + [I(139,104)] = {29,0x1FFFF727}, + [I(140,104)] = {29,0x1FFFF767}, + [I(141,104)] = {29,0x1FFFF7A7}, + [I(142,104)] = {30,0x3FFFFAE7}, + [I(143,104)] = {29,0x1FFFF7E7}, + [I(144,104)] = {30,0x3FFFFB27}, + [I(145,104)] = {30,0x3FFFFB67}, + [I(146,104)] = {28,0xFFFF5E7}, + [I(147,104)] = {29,0x1FFFF827}, + [I(148,104)] = {30,0x3FFFFBA7}, + [I(149,104)] = {29,0x1FFFF867}, + [I(150,104)] = {29,0x1FFFF8A7}, + [I(151,104)] = {29,0x1FFFF8E7}, + [I(152,104)] = {29,0x1FFFF927}, + [I(153,104)] = {27,0x7FFF727}, + [I(154,104)] = {28,0xFFFF627}, + [I(155,104)] = {29,0x1FFFF967}, + [I(156,104)] = {28,0xFFFF667}, + [I(157,104)] = {29,0x1FFFF9A7}, + [I(158,104)] = {29,0x1FFFF9E7}, + [I(159,104)] = {30,0x3FFFFBE7}, + [I(160,104)] = {28,0xFFFF6A7}, + [I(161,104)] = {27,0x7FFF767}, + [I(162,104)] = {26,0x3FFFA67}, + [I(163,104)] = {28,0xFFFF6E7}, + [I(164,104)] = {28,0xFFFF727}, + [I(165,104)] = {29,0x1FFFFA27}, + [I(166,104)] = {29,0x1FFFFA67}, + [I(167,104)] = {27,0x7FFF7A7}, + [I(168,104)] = {29,0x1FFFFAA7}, + [I(169,104)] = {28,0xFFFF767}, + [I(170,104)] = {28,0xFFFF7A7}, + [I(171,104)] = {30,0x3FFFFC27}, + [I(172,104)] = {27,0x7FFF7E7}, + [I(173,104)] = {28,0xFFFF7E7}, + [I(174,104)] = {29,0x1FFFFAE7}, + [I(175,104)] = {29,0x1FFFFB27}, + [I(176,104)] = {27,0x7FFF827}, + [I(177,104)] = {27,0x7FFF867}, + [I(178,104)] = {28,0xFFFF827}, + [I(179,104)] = {27,0x7FFF8A7}, + [I(180,104)] = {29,0x1FFFFB67}, + [I(181,104)] = {28,0xFFFF867}, + [I(182,104)] = {29,0x1FFFFBA7}, + [I(183,104)] = {29,0x1FFFFBE7}, + [I(184,104)] = {26,0x3FFFAA7}, + [I(185,104)] = {28,0xFFFF8A7}, + [I(186,104)] = {28,0xFFFF8E7}, + [I(187,104)] = {28,0xFFFF927}, + [I(188,104)] = {29,0x1FFFFC27}, + [I(189,104)] = {28,0xFFFF967}, + [I(190,104)] = {28,0xFFFF9A7}, + [I(191,104)] = {29,0x1FFFFC67}, + [I(192,104)] = {X32,0xFFFFF827}, + [I(193,104)] = {X32,0xFFFFF867}, + [I(194,104)] = {26,0x3FFFAE7}, + [I(195,104)] = {25,0x1FFFC67}, + [I(196,104)] = {28,0xFFFF9E7}, + [I(197,104)] = {29,0x1FFFFCA7}, + [I(198,104)] = {28,0xFFFFA27}, + [I(199,104)] = {31,0x7FFFFB27}, + [I(200,104)] = {X32,0xFFFFF8A7}, + [I(201,104)] = {X32,0xFFFFF8E7}, + [I(202,104)] = {X32,0xFFFFF927}, + [I(203,104)] = {64,0}, + [I(204,104)] = {64,0}, + [I(205,104)] = {X32,0xFFFFF967}, + [I(206,104)] = {30,0x3FFFFC67}, + [I(207,104)] = {31,0x7FFFFB67}, + [I(208,104)] = {25,0x1FFFCA7}, + [I(209,104)] = {27,0x7FFF8E7}, + [I(210,104)] = {X32,0xFFFFF9A7}, + [I(211,104)] = {64,0}, + [I(212,104)] = {64,0}, + [I(213,104)] = {X32,0xFFFFF9E7}, + [I(214,104)] = {64,0}, + [I(215,104)] = {30,0x3FFFFCA7}, + [I(216,104)] = {27,0x7FFF927}, + [I(217,104)] = {27,0x7FFF967}, + [I(218,104)] = {X32,0xFFFFFA27}, + [I(219,104)] = {X32,0xFFFFFA67}, + [I(220,104)] = {64,0}, + [I(221,104)] = {64,0}, + [I(222,104)] = {64,0}, + [I(223,104)] = {64,0}, + [I(224,104)] = {26,0x3FFFB27}, + [I(225,104)] = {30,0x3FFFFCE7}, + [I(226,104)] = {26,0x3FFFB67}, + [I(227,104)] = {27,0x7FFF9A7}, + [I(228,104)] = {28,0xFFFFA67}, + [I(229,104)] = {27,0x7FFF9E7}, + [I(230,104)] = {27,0x7FFFA27}, + [I(231,104)] = {29,0x1FFFFCE7}, + [I(232,104)] = {28,0xFFFFAA7}, + [I(233,104)] = {28,0xFFFFAE7}, + [I(234,104)] = {31,0x7FFFFBA7}, + [I(235,104)] = {31,0x7FFFFBE7}, + [I(236,104)] = {30,0x3FFFFD27}, + [I(237,104)] = {30,0x3FFFFD67}, + [I(238,104)] = {X32,0xFFFFFAA7}, + [I(239,104)] = {29,0x1FFFFD27}, + [I(240,104)] = {X32,0xFFFFFAE7}, + [I(241,104)] = {64,0}, + [I(242,104)] = {X32,0xFFFFFB27}, + [I(243,104)] = {X32,0xFFFFFB67}, + [I(244,104)] = {64,0}, + [I(245,104)] = {64,0}, + [I(246,104)] = {64,0}, + [I(247,104)] = {64,0}, + [I(248,104)] = {64,0}, + [I(249,104)] = {64,0}, + [I(250,104)] = {64,0}, + [I(251,104)] = {64,0}, + [I(252,104)] = {64,0}, + [I(253,104)] = {64,0}, + [I(254,104)] = {64,0}, + [I(255,104)] = {X32,0xFFFFFBA7}, + [I(0,105)] = {18,0x3FF06}, + [I(1,105)] = {28,0xFFFFB06}, + [I(2,105)] = {64,0}, + [I(3,105)] = {64,0}, + [I(4,105)] = {64,0}, + [I(5,105)] = {64,0}, + [I(6,105)] = {64,0}, + [I(7,105)] = {64,0}, + [I(8,105)] = {64,0}, + [I(9,105)] = {29,0x1FFFFD46}, + [I(10,105)] = {64,0}, + [I(11,105)] = {64,0}, + [I(12,105)] = {64,0}, + [I(13,105)] = {64,0}, + [I(14,105)] = {64,0}, + [I(15,105)] = {64,0}, + [I(16,105)] = {64,0}, + [I(17,105)] = {64,0}, + [I(18,105)] = {64,0}, + [I(19,105)] = {64,0}, + [I(20,105)] = {64,0}, + [I(21,105)] = {64,0}, + [I(22,105)] = {64,0}, + [I(23,105)] = {64,0}, + [I(24,105)] = {64,0}, + [I(25,105)] = {64,0}, + [I(26,105)] = {64,0}, + [I(27,105)] = {64,0}, + [I(28,105)] = {64,0}, + [I(29,105)] = {64,0}, + [I(30,105)] = {64,0}, + [I(31,105)] = {64,0}, + [I(32,105)] = {11,0x286}, + [I(33,105)] = {15,0x7F06}, + [I(34,105)] = {15,0x7F26}, + [I(35,105)] = {17,0x1FF46}, + [I(36,105)] = {18,0x3FF26}, + [I(37,105)] = {11,0x2A6}, + [I(38,105)] = {13,0x1F06}, + [I(39,105)] = {16,0xFF46}, + [I(40,105)] = {15,0x7F46}, + [I(41,105)] = {15,0x7F66}, + [I(42,105)] = {13,0x1F26}, + [I(43,105)] = {16,0xFF66}, + [I(44,105)] = {13,0x1F46}, + [I(45,105)] = {11,0x2C6}, + [I(46,105)] = {11,0x2E6}, + [I(47,105)] = {11,0x306}, + [I(48,105)] = {10,0x6}, + [I(49,105)] = {10,0x26}, + [I(50,105)] = {10,0x46}, + [I(51,105)] = {11,0x326}, + [I(52,105)] = {11,0x346}, + [I(53,105)] = {11,0x366}, + [I(54,105)] = {11,0x386}, + [I(55,105)] = {11,0x3A6}, + [I(56,105)] = {11,0x3C6}, + [I(57,105)] = {11,0x3E6}, + [I(58,105)] = {12,0xB86}, + [I(59,105)] = {13,0x1F66}, + [I(60,105)] = {20,0xFFF86}, + [I(61,105)] = {11,0x406}, + [I(62,105)] = {17,0x1FF66}, + [I(63,105)] = {15,0x7F86}, + [I(64,105)] = {18,0x3FF46}, + [I(65,105)] = {11,0x426}, + [I(66,105)] = {12,0xBA6}, + [I(67,105)] = {12,0xBC6}, + [I(68,105)] = {12,0xBE6}, + [I(69,105)] = {12,0xC06}, + [I(70,105)] = {12,0xC26}, + [I(71,105)] = {12,0xC46}, + [I(72,105)] = {12,0xC66}, + [I(73,105)] = {12,0xC86}, + [I(74,105)] = {12,0xCA6}, + [I(75,105)] = {12,0xCC6}, + [I(76,105)] = {12,0xCE6}, + [I(77,105)] = {12,0xD06}, + [I(78,105)] = {12,0xD26}, + [I(79,105)] = {12,0xD46}, + [I(80,105)] = {12,0xD66}, + [I(81,105)] = {12,0xD86}, + [I(82,105)] = {12,0xDA6}, + [I(83,105)] = {12,0xDC6}, + [I(84,105)] = {12,0xDE6}, + [I(85,105)] = {12,0xE06}, + [I(86,105)] = {12,0xE26}, + [I(87,105)] = {12,0xE46}, + [I(88,105)] = {13,0x1F86}, + [I(89,105)] = {12,0xE66}, + [I(90,105)] = {13,0x1FA6}, + [I(91,105)] = {18,0x3FF66}, + [I(92,105)] = {24,0xFFFE06}, + [I(93,105)] = {18,0x3FF86}, + [I(94,105)] = {19,0x7FF86}, + [I(95,105)] = {11,0x446}, + [I(96,105)] = {20,0xFFFA6}, + [I(97,105)] = {10,0x66}, + [I(98,105)] = {11,0x466}, + [I(99,105)] = {10,0x86}, + [I(100,105)] = {11,0x486}, + [I(101,105)] = {10,0xA6}, + [I(102,105)] = {11,0x4A6}, + [I(103,105)] = {11,0x4C6}, + [I(104,105)] = {11,0x4E6}, + [I(105,105)] = {10,0xC6}, + [I(106,105)] = {12,0xE86}, + [I(107,105)] = {12,0xEA6}, + [I(108,105)] = {11,0x506}, + [I(109,105)] = {11,0x526}, + [I(110,105)] = {11,0x546}, + [I(111,105)] = {10,0xE6}, + [I(112,105)] = {11,0x566}, + [I(113,105)] = {12,0xEC6}, + [I(114,105)] = {11,0x586}, + [I(115,105)] = {10,0x106}, + [I(116,105)] = {10,0x126}, + [I(117,105)] = {11,0x5A6}, + [I(118,105)] = {12,0xEE6}, + [I(119,105)] = {12,0xF06}, + [I(120,105)] = {12,0xF26}, + [I(121,105)] = {12,0xF46}, + [I(122,105)] = {12,0xF66}, + [I(123,105)] = {20,0xFFFC6}, + [I(124,105)] = {16,0xFF86}, + [I(125,105)] = {19,0x7FFA6}, + [I(126,105)] = {18,0x3FFA6}, + [I(127,105)] = {64,0}, + [I(128,105)] = {25,0x1FFFCC6}, + [I(129,105)] = {27,0x7FFFA46}, + [I(130,105)] = {25,0x1FFFCE6}, + [I(131,105)] = {25,0x1FFFD06}, + [I(132,105)] = {27,0x7FFFA66}, + [I(133,105)] = {27,0x7FFFA86}, + [I(134,105)] = {27,0x7FFFAA6}, + [I(135,105)] = {28,0xFFFFB26}, + [I(136,105)] = {27,0x7FFFAC6}, + [I(137,105)] = {28,0xFFFFB46}, + [I(138,105)] = {28,0xFFFFB66}, + [I(139,105)] = {28,0xFFFFB86}, + [I(140,105)] = {28,0xFFFFBA6}, + [I(141,105)] = {28,0xFFFFBC6}, + [I(142,105)] = {29,0x1FFFFD66}, + [I(143,105)] = {28,0xFFFFBE6}, + [I(144,105)] = {29,0x1FFFFD86}, + [I(145,105)] = {29,0x1FFFFDA6}, + [I(146,105)] = {27,0x7FFFAE6}, + [I(147,105)] = {28,0xFFFFC06}, + [I(148,105)] = {29,0x1FFFFDC6}, + [I(149,105)] = {28,0xFFFFC26}, + [I(150,105)] = {28,0xFFFFC46}, + [I(151,105)] = {28,0xFFFFC66}, + [I(152,105)] = {28,0xFFFFC86}, + [I(153,105)] = {26,0x3FFFB86}, + [I(154,105)] = {27,0x7FFFB06}, + [I(155,105)] = {28,0xFFFFCA6}, + [I(156,105)] = {27,0x7FFFB26}, + [I(157,105)] = {28,0xFFFFCC6}, + [I(158,105)] = {28,0xFFFFCE6}, + [I(159,105)] = {29,0x1FFFFDE6}, + [I(160,105)] = {27,0x7FFFB46}, + [I(161,105)] = {26,0x3FFFBA6}, + [I(162,105)] = {25,0x1FFFD26}, + [I(163,105)] = {27,0x7FFFB66}, + [I(164,105)] = {27,0x7FFFB86}, + [I(165,105)] = {28,0xFFFFD06}, + [I(166,105)] = {28,0xFFFFD26}, + [I(167,105)] = {26,0x3FFFBC6}, + [I(168,105)] = {28,0xFFFFD46}, + [I(169,105)] = {27,0x7FFFBA6}, + [I(170,105)] = {27,0x7FFFBC6}, + [I(171,105)] = {29,0x1FFFFE06}, + [I(172,105)] = {26,0x3FFFBE6}, + [I(173,105)] = {27,0x7FFFBE6}, + [I(174,105)] = {28,0xFFFFD66}, + [I(175,105)] = {28,0xFFFFD86}, + [I(176,105)] = {26,0x3FFFC06}, + [I(177,105)] = {26,0x3FFFC26}, + [I(178,105)] = {27,0x7FFFC06}, + [I(179,105)] = {26,0x3FFFC46}, + [I(180,105)] = {28,0xFFFFDA6}, + [I(181,105)] = {27,0x7FFFC26}, + [I(182,105)] = {28,0xFFFFDC6}, + [I(183,105)] = {28,0xFFFFDE6}, + [I(184,105)] = {25,0x1FFFD46}, + [I(185,105)] = {27,0x7FFFC46}, + [I(186,105)] = {27,0x7FFFC66}, + [I(187,105)] = {27,0x7FFFC86}, + [I(188,105)] = {28,0xFFFFE06}, + [I(189,105)] = {27,0x7FFFCA6}, + [I(190,105)] = {27,0x7FFFCC6}, + [I(191,105)] = {28,0xFFFFE26}, + [I(192,105)] = {31,0x7FFFFC06}, + [I(193,105)] = {31,0x7FFFFC26}, + [I(194,105)] = {25,0x1FFFD66}, + [I(195,105)] = {24,0xFFFE26}, + [I(196,105)] = {27,0x7FFFCE6}, + [I(197,105)] = {28,0xFFFFE46}, + [I(198,105)] = {27,0x7FFFD06}, + [I(199,105)] = {30,0x3FFFFD86}, + [I(200,105)] = {31,0x7FFFFC46}, + [I(201,105)] = {31,0x7FFFFC66}, + [I(202,105)] = {31,0x7FFFFC86}, + [I(203,105)] = {X32,0xFFFFFBC6}, + [I(204,105)] = {X32,0xFFFFFBE6}, + [I(205,105)] = {31,0x7FFFFCA6}, + [I(206,105)] = {29,0x1FFFFE26}, + [I(207,105)] = {30,0x3FFFFDA6}, + [I(208,105)] = {24,0xFFFE46}, + [I(209,105)] = {26,0x3FFFC66}, + [I(210,105)] = {31,0x7FFFFCC6}, + [I(211,105)] = {X32,0xFFFFFC06}, + [I(212,105)] = {X32,0xFFFFFC26}, + [I(213,105)] = {31,0x7FFFFCE6}, + [I(214,105)] = {X32,0xFFFFFC46}, + [I(215,105)] = {29,0x1FFFFE46}, + [I(216,105)] = {26,0x3FFFC86}, + [I(217,105)] = {26,0x3FFFCA6}, + [I(218,105)] = {31,0x7FFFFD06}, + [I(219,105)] = {31,0x7FFFFD26}, + [I(220,105)] = {64,0}, + [I(221,105)] = {X32,0xFFFFFC66}, + [I(222,105)] = {X32,0xFFFFFC86}, + [I(223,105)] = {X32,0xFFFFFCA6}, + [I(224,105)] = {25,0x1FFFD86}, + [I(225,105)] = {29,0x1FFFFE66}, + [I(226,105)] = {25,0x1FFFDA6}, + [I(227,105)] = {26,0x3FFFCC6}, + [I(228,105)] = {27,0x7FFFD26}, + [I(229,105)] = {26,0x3FFFCE6}, + [I(230,105)] = {26,0x3FFFD06}, + [I(231,105)] = {28,0xFFFFE66}, + [I(232,105)] = {27,0x7FFFD46}, + [I(233,105)] = {27,0x7FFFD66}, + [I(234,105)] = {30,0x3FFFFDC6}, + [I(235,105)] = {30,0x3FFFFDE6}, + [I(236,105)] = {29,0x1FFFFE86}, + [I(237,105)] = {29,0x1FFFFEA6}, + [I(238,105)] = {31,0x7FFFFD46}, + [I(239,105)] = {28,0xFFFFE86}, + [I(240,105)] = {31,0x7FFFFD66}, + [I(241,105)] = {X32,0xFFFFFCC6}, + [I(242,105)] = {31,0x7FFFFD86}, + [I(243,105)] = {31,0x7FFFFDA6}, + [I(244,105)] = {X32,0xFFFFFCE6}, + [I(245,105)] = {X32,0xFFFFFD06}, + [I(246,105)] = {X32,0xFFFFFD26}, + [I(247,105)] = {X32,0xFFFFFD46}, + [I(248,105)] = {X32,0xFFFFFD66}, + [I(249,105)] = {64,0}, + [I(250,105)] = {X32,0xFFFFFD86}, + [I(251,105)] = {X32,0xFFFFFDA6}, + [I(252,105)] = {X32,0xFFFFFDC6}, + [I(253,105)] = {X32,0xFFFFFDE6}, + [I(254,105)] = {X32,0xFFFFFE06}, + [I(255,105)] = {31,0x7FFFFDC6}, + [I(0,106)] = {20,0xFFC74}, + [I(1,106)] = {30,0x3FFFEC74}, + [I(2,106)] = {64,0}, + [I(3,106)] = {64,0}, + [I(4,106)] = {64,0}, + [I(5,106)] = {64,0}, + [I(6,106)] = {64,0}, + [I(7,106)] = {64,0}, + [I(8,106)] = {64,0}, + [I(9,106)] = {31,0x7FFFF574}, + [I(10,106)] = {64,0}, + [I(11,106)] = {64,0}, + [I(12,106)] = {64,0}, + [I(13,106)] = {64,0}, + [I(14,106)] = {64,0}, + [I(15,106)] = {64,0}, + [I(16,106)] = {64,0}, + [I(17,106)] = {64,0}, + [I(18,106)] = {64,0}, + [I(19,106)] = {64,0}, + [I(20,106)] = {64,0}, + [I(21,106)] = {64,0}, + [I(22,106)] = {64,0}, + [I(23,106)] = {64,0}, + [I(24,106)] = {64,0}, + [I(25,106)] = {64,0}, + [I(26,106)] = {64,0}, + [I(27,106)] = {64,0}, + [I(28,106)] = {64,0}, + [I(29,106)] = {64,0}, + [I(30,106)] = {64,0}, + [I(31,106)] = {64,0}, + [I(32,106)] = {13,0xA74}, + [I(33,106)] = {17,0x1FC74}, + [I(34,106)] = {17,0x1FCF4}, + [I(35,106)] = {19,0x7FD74}, + [I(36,106)] = {20,0xFFCF4}, + [I(37,106)] = {13,0xAF4}, + [I(38,106)] = {15,0x7C74}, + [I(39,106)] = {18,0x3FD74}, + [I(40,106)] = {17,0x1FD74}, + [I(41,106)] = {17,0x1FDF4}, + [I(42,106)] = {15,0x7CF4}, + [I(43,106)] = {18,0x3FDF4}, + [I(44,106)] = {15,0x7D74}, + [I(45,106)] = {13,0xB74}, + [I(46,106)] = {13,0xBF4}, + [I(47,106)] = {13,0xC74}, + [I(48,106)] = {12,0x74}, + [I(49,106)] = {12,0xF4}, + [I(50,106)] = {12,0x174}, + [I(51,106)] = {13,0xCF4}, + [I(52,106)] = {13,0xD74}, + [I(53,106)] = {13,0xDF4}, + [I(54,106)] = {13,0xE74}, + [I(55,106)] = {13,0xEF4}, + [I(56,106)] = {13,0xF74}, + [I(57,106)] = {13,0xFF4}, + [I(58,106)] = {14,0x2E74}, + [I(59,106)] = {15,0x7DF4}, + [I(60,106)] = {22,0x3FFE74}, + [I(61,106)] = {13,0x1074}, + [I(62,106)] = {19,0x7FDF4}, + [I(63,106)] = {17,0x1FE74}, + [I(64,106)] = {20,0xFFD74}, + [I(65,106)] = {13,0x10F4}, + [I(66,106)] = {14,0x2EF4}, + [I(67,106)] = {14,0x2F74}, + [I(68,106)] = {14,0x2FF4}, + [I(69,106)] = {14,0x3074}, + [I(70,106)] = {14,0x30F4}, + [I(71,106)] = {14,0x3174}, + [I(72,106)] = {14,0x31F4}, + [I(73,106)] = {14,0x3274}, + [I(74,106)] = {14,0x32F4}, + [I(75,106)] = {14,0x3374}, + [I(76,106)] = {14,0x33F4}, + [I(77,106)] = {14,0x3474}, + [I(78,106)] = {14,0x34F4}, + [I(79,106)] = {14,0x3574}, + [I(80,106)] = {14,0x35F4}, + [I(81,106)] = {14,0x3674}, + [I(82,106)] = {14,0x36F4}, + [I(83,106)] = {14,0x3774}, + [I(84,106)] = {14,0x37F4}, + [I(85,106)] = {14,0x3874}, + [I(86,106)] = {14,0x38F4}, + [I(87,106)] = {14,0x3974}, + [I(88,106)] = {15,0x7E74}, + [I(89,106)] = {14,0x39F4}, + [I(90,106)] = {15,0x7EF4}, + [I(91,106)] = {20,0xFFDF4}, + [I(92,106)] = {26,0x3FFF874}, + [I(93,106)] = {20,0xFFE74}, + [I(94,106)] = {21,0x1FFE74}, + [I(95,106)] = {13,0x1174}, + [I(96,106)] = {22,0x3FFEF4}, + [I(97,106)] = {12,0x1F4}, + [I(98,106)] = {13,0x11F4}, + [I(99,106)] = {12,0x274}, + [I(100,106)] = {13,0x1274}, + [I(101,106)] = {12,0x2F4}, + [I(102,106)] = {13,0x12F4}, + [I(103,106)] = {13,0x1374}, + [I(104,106)] = {13,0x13F4}, + [I(105,106)] = {12,0x374}, + [I(106,106)] = {14,0x3A74}, + [I(107,106)] = {14,0x3AF4}, + [I(108,106)] = {13,0x1474}, + [I(109,106)] = {13,0x14F4}, + [I(110,106)] = {13,0x1574}, + [I(111,106)] = {12,0x3F4}, + [I(112,106)] = {13,0x15F4}, + [I(113,106)] = {14,0x3B74}, + [I(114,106)] = {13,0x1674}, + [I(115,106)] = {12,0x474}, + [I(116,106)] = {12,0x4F4}, + [I(117,106)] = {13,0x16F4}, + [I(118,106)] = {14,0x3BF4}, + [I(119,106)] = {14,0x3C74}, + [I(120,106)] = {14,0x3CF4}, + [I(121,106)] = {14,0x3D74}, + [I(122,106)] = {14,0x3DF4}, + [I(123,106)] = {22,0x3FFF74}, + [I(124,106)] = {18,0x3FE74}, + [I(125,106)] = {21,0x1FFEF4}, + [I(126,106)] = {20,0xFFEF4}, + [I(127,106)] = {64,0}, + [I(128,106)] = {27,0x7FFF374}, + [I(129,106)] = {29,0x1FFFE974}, + [I(130,106)] = {27,0x7FFF3F4}, + [I(131,106)] = {27,0x7FFF474}, + [I(132,106)] = {29,0x1FFFE9F4}, + [I(133,106)] = {29,0x1FFFEA74}, + [I(134,106)] = {29,0x1FFFEAF4}, + [I(135,106)] = {30,0x3FFFECF4}, + [I(136,106)] = {29,0x1FFFEB74}, + [I(137,106)] = {30,0x3FFFED74}, + [I(138,106)] = {30,0x3FFFEDF4}, + [I(139,106)] = {30,0x3FFFEE74}, + [I(140,106)] = {30,0x3FFFEEF4}, + [I(141,106)] = {30,0x3FFFEF74}, + [I(142,106)] = {31,0x7FFFF5F4}, + [I(143,106)] = {30,0x3FFFEFF4}, + [I(144,106)] = {31,0x7FFFF674}, + [I(145,106)] = {31,0x7FFFF6F4}, + [I(146,106)] = {29,0x1FFFEBF4}, + [I(147,106)] = {30,0x3FFFF074}, + [I(148,106)] = {31,0x7FFFF774}, + [I(149,106)] = {30,0x3FFFF0F4}, + [I(150,106)] = {30,0x3FFFF174}, + [I(151,106)] = {30,0x3FFFF1F4}, + [I(152,106)] = {30,0x3FFFF274}, + [I(153,106)] = {28,0xFFFEE74}, + [I(154,106)] = {29,0x1FFFEC74}, + [I(155,106)] = {30,0x3FFFF2F4}, + [I(156,106)] = {29,0x1FFFECF4}, + [I(157,106)] = {30,0x3FFFF374}, + [I(158,106)] = {30,0x3FFFF3F4}, + [I(159,106)] = {31,0x7FFFF7F4}, + [I(160,106)] = {29,0x1FFFED74}, + [I(161,106)] = {28,0xFFFEEF4}, + [I(162,106)] = {27,0x7FFF4F4}, + [I(163,106)] = {29,0x1FFFEDF4}, + [I(164,106)] = {29,0x1FFFEE74}, + [I(165,106)] = {30,0x3FFFF474}, + [I(166,106)] = {30,0x3FFFF4F4}, + [I(167,106)] = {28,0xFFFEF74}, + [I(168,106)] = {30,0x3FFFF574}, + [I(169,106)] = {29,0x1FFFEEF4}, + [I(170,106)] = {29,0x1FFFEF74}, + [I(171,106)] = {31,0x7FFFF874}, + [I(172,106)] = {28,0xFFFEFF4}, + [I(173,106)] = {29,0x1FFFEFF4}, + [I(174,106)] = {30,0x3FFFF5F4}, + [I(175,106)] = {30,0x3FFFF674}, + [I(176,106)] = {28,0xFFFF074}, + [I(177,106)] = {28,0xFFFF0F4}, + [I(178,106)] = {29,0x1FFFF074}, + [I(179,106)] = {28,0xFFFF174}, + [I(180,106)] = {30,0x3FFFF6F4}, + [I(181,106)] = {29,0x1FFFF0F4}, + [I(182,106)] = {30,0x3FFFF774}, + [I(183,106)] = {30,0x3FFFF7F4}, + [I(184,106)] = {27,0x7FFF574}, + [I(185,106)] = {29,0x1FFFF174}, + [I(186,106)] = {29,0x1FFFF1F4}, + [I(187,106)] = {29,0x1FFFF274}, + [I(188,106)] = {30,0x3FFFF874}, + [I(189,106)] = {29,0x1FFFF2F4}, + [I(190,106)] = {29,0x1FFFF374}, + [I(191,106)] = {30,0x3FFFF8F4}, + [I(192,106)] = {64,0}, + [I(193,106)] = {64,0}, + [I(194,106)] = {27,0x7FFF5F4}, + [I(195,106)] = {26,0x3FFF8F4}, + [I(196,106)] = {29,0x1FFFF3F4}, + [I(197,106)] = {30,0x3FFFF974}, + [I(198,106)] = {29,0x1FFFF474}, + [I(199,106)] = {X32,0xFFFFF674}, + [I(200,106)] = {64,0}, + [I(201,106)] = {64,0}, + [I(202,106)] = {64,0}, + [I(203,106)] = {64,0}, + [I(204,106)] = {64,0}, + [I(205,106)] = {64,0}, + [I(206,106)] = {31,0x7FFFF8F4}, + [I(207,106)] = {X32,0xFFFFF6F4}, + [I(208,106)] = {26,0x3FFF974}, + [I(209,106)] = {28,0xFFFF1F4}, + [I(210,106)] = {64,0}, + [I(211,106)] = {64,0}, + [I(212,106)] = {64,0}, + [I(213,106)] = {64,0}, + [I(214,106)] = {64,0}, + [I(215,106)] = {31,0x7FFFF974}, + [I(216,106)] = {28,0xFFFF274}, + [I(217,106)] = {28,0xFFFF2F4}, + [I(218,106)] = {64,0}, + [I(219,106)] = {64,0}, + [I(220,106)] = {64,0}, + [I(221,106)] = {64,0}, + [I(222,106)] = {64,0}, + [I(223,106)] = {64,0}, + [I(224,106)] = {27,0x7FFF674}, + [I(225,106)] = {31,0x7FFFF9F4}, + [I(226,106)] = {27,0x7FFF6F4}, + [I(227,106)] = {28,0xFFFF374}, + [I(228,106)] = {29,0x1FFFF4F4}, + [I(229,106)] = {28,0xFFFF3F4}, + [I(230,106)] = {28,0xFFFF474}, + [I(231,106)] = {30,0x3FFFF9F4}, + [I(232,106)] = {29,0x1FFFF574}, + [I(233,106)] = {29,0x1FFFF5F4}, + [I(234,106)] = {X32,0xFFFFF774}, + [I(235,106)] = {X32,0xFFFFF7F4}, + [I(236,106)] = {31,0x7FFFFA74}, + [I(237,106)] = {31,0x7FFFFAF4}, + [I(238,106)] = {64,0}, + [I(239,106)] = {30,0x3FFFFA74}, + [I(240,106)] = {64,0}, + [I(241,106)] = {64,0}, + [I(242,106)] = {64,0}, + [I(243,106)] = {64,0}, + [I(244,106)] = {64,0}, + [I(245,106)] = {64,0}, + [I(246,106)] = {64,0}, + [I(247,106)] = {64,0}, + [I(248,106)] = {64,0}, + [I(249,106)] = {64,0}, + [I(250,106)] = {64,0}, + [I(251,106)] = {64,0}, + [I(252,106)] = {64,0}, + [I(253,106)] = {64,0}, + [I(254,106)] = {64,0}, + [I(255,106)] = {64,0}, + [I(0,107)] = {20,0xFFC75}, + [I(1,107)] = {30,0x3FFFEC75}, + [I(2,107)] = {64,0}, + [I(3,107)] = {64,0}, + [I(4,107)] = {64,0}, + [I(5,107)] = {64,0}, + [I(6,107)] = {64,0}, + [I(7,107)] = {64,0}, + [I(8,107)] = {64,0}, + [I(9,107)] = {31,0x7FFFF575}, + [I(10,107)] = {64,0}, + [I(11,107)] = {64,0}, + [I(12,107)] = {64,0}, + [I(13,107)] = {64,0}, + [I(14,107)] = {64,0}, + [I(15,107)] = {64,0}, + [I(16,107)] = {64,0}, + [I(17,107)] = {64,0}, + [I(18,107)] = {64,0}, + [I(19,107)] = {64,0}, + [I(20,107)] = {64,0}, + [I(21,107)] = {64,0}, + [I(22,107)] = {64,0}, + [I(23,107)] = {64,0}, + [I(24,107)] = {64,0}, + [I(25,107)] = {64,0}, + [I(26,107)] = {64,0}, + [I(27,107)] = {64,0}, + [I(28,107)] = {64,0}, + [I(29,107)] = {64,0}, + [I(30,107)] = {64,0}, + [I(31,107)] = {64,0}, + [I(32,107)] = {13,0xA75}, + [I(33,107)] = {17,0x1FC75}, + [I(34,107)] = {17,0x1FCF5}, + [I(35,107)] = {19,0x7FD75}, + [I(36,107)] = {20,0xFFCF5}, + [I(37,107)] = {13,0xAF5}, + [I(38,107)] = {15,0x7C75}, + [I(39,107)] = {18,0x3FD75}, + [I(40,107)] = {17,0x1FD75}, + [I(41,107)] = {17,0x1FDF5}, + [I(42,107)] = {15,0x7CF5}, + [I(43,107)] = {18,0x3FDF5}, + [I(44,107)] = {15,0x7D75}, + [I(45,107)] = {13,0xB75}, + [I(46,107)] = {13,0xBF5}, + [I(47,107)] = {13,0xC75}, + [I(48,107)] = {12,0x75}, + [I(49,107)] = {12,0xF5}, + [I(50,107)] = {12,0x175}, + [I(51,107)] = {13,0xCF5}, + [I(52,107)] = {13,0xD75}, + [I(53,107)] = {13,0xDF5}, + [I(54,107)] = {13,0xE75}, + [I(55,107)] = {13,0xEF5}, + [I(56,107)] = {13,0xF75}, + [I(57,107)] = {13,0xFF5}, + [I(58,107)] = {14,0x2E75}, + [I(59,107)] = {15,0x7DF5}, + [I(60,107)] = {22,0x3FFE75}, + [I(61,107)] = {13,0x1075}, + [I(62,107)] = {19,0x7FDF5}, + [I(63,107)] = {17,0x1FE75}, + [I(64,107)] = {20,0xFFD75}, + [I(65,107)] = {13,0x10F5}, + [I(66,107)] = {14,0x2EF5}, + [I(67,107)] = {14,0x2F75}, + [I(68,107)] = {14,0x2FF5}, + [I(69,107)] = {14,0x3075}, + [I(70,107)] = {14,0x30F5}, + [I(71,107)] = {14,0x3175}, + [I(72,107)] = {14,0x31F5}, + [I(73,107)] = {14,0x3275}, + [I(74,107)] = {14,0x32F5}, + [I(75,107)] = {14,0x3375}, + [I(76,107)] = {14,0x33F5}, + [I(77,107)] = {14,0x3475}, + [I(78,107)] = {14,0x34F5}, + [I(79,107)] = {14,0x3575}, + [I(80,107)] = {14,0x35F5}, + [I(81,107)] = {14,0x3675}, + [I(82,107)] = {14,0x36F5}, + [I(83,107)] = {14,0x3775}, + [I(84,107)] = {14,0x37F5}, + [I(85,107)] = {14,0x3875}, + [I(86,107)] = {14,0x38F5}, + [I(87,107)] = {14,0x3975}, + [I(88,107)] = {15,0x7E75}, + [I(89,107)] = {14,0x39F5}, + [I(90,107)] = {15,0x7EF5}, + [I(91,107)] = {20,0xFFDF5}, + [I(92,107)] = {26,0x3FFF875}, + [I(93,107)] = {20,0xFFE75}, + [I(94,107)] = {21,0x1FFE75}, + [I(95,107)] = {13,0x1175}, + [I(96,107)] = {22,0x3FFEF5}, + [I(97,107)] = {12,0x1F5}, + [I(98,107)] = {13,0x11F5}, + [I(99,107)] = {12,0x275}, + [I(100,107)] = {13,0x1275}, + [I(101,107)] = {12,0x2F5}, + [I(102,107)] = {13,0x12F5}, + [I(103,107)] = {13,0x1375}, + [I(104,107)] = {13,0x13F5}, + [I(105,107)] = {12,0x375}, + [I(106,107)] = {14,0x3A75}, + [I(107,107)] = {14,0x3AF5}, + [I(108,107)] = {13,0x1475}, + [I(109,107)] = {13,0x14F5}, + [I(110,107)] = {13,0x1575}, + [I(111,107)] = {12,0x3F5}, + [I(112,107)] = {13,0x15F5}, + [I(113,107)] = {14,0x3B75}, + [I(114,107)] = {13,0x1675}, + [I(115,107)] = {12,0x475}, + [I(116,107)] = {12,0x4F5}, + [I(117,107)] = {13,0x16F5}, + [I(118,107)] = {14,0x3BF5}, + [I(119,107)] = {14,0x3C75}, + [I(120,107)] = {14,0x3CF5}, + [I(121,107)] = {14,0x3D75}, + [I(122,107)] = {14,0x3DF5}, + [I(123,107)] = {22,0x3FFF75}, + [I(124,107)] = {18,0x3FE75}, + [I(125,107)] = {21,0x1FFEF5}, + [I(126,107)] = {20,0xFFEF5}, + [I(127,107)] = {64,0}, + [I(128,107)] = {27,0x7FFF375}, + [I(129,107)] = {29,0x1FFFE975}, + [I(130,107)] = {27,0x7FFF3F5}, + [I(131,107)] = {27,0x7FFF475}, + [I(132,107)] = {29,0x1FFFE9F5}, + [I(133,107)] = {29,0x1FFFEA75}, + [I(134,107)] = {29,0x1FFFEAF5}, + [I(135,107)] = {30,0x3FFFECF5}, + [I(136,107)] = {29,0x1FFFEB75}, + [I(137,107)] = {30,0x3FFFED75}, + [I(138,107)] = {30,0x3FFFEDF5}, + [I(139,107)] = {30,0x3FFFEE75}, + [I(140,107)] = {30,0x3FFFEEF5}, + [I(141,107)] = {30,0x3FFFEF75}, + [I(142,107)] = {31,0x7FFFF5F5}, + [I(143,107)] = {30,0x3FFFEFF5}, + [I(144,107)] = {31,0x7FFFF675}, + [I(145,107)] = {31,0x7FFFF6F5}, + [I(146,107)] = {29,0x1FFFEBF5}, + [I(147,107)] = {30,0x3FFFF075}, + [I(148,107)] = {31,0x7FFFF775}, + [I(149,107)] = {30,0x3FFFF0F5}, + [I(150,107)] = {30,0x3FFFF175}, + [I(151,107)] = {30,0x3FFFF1F5}, + [I(152,107)] = {30,0x3FFFF275}, + [I(153,107)] = {28,0xFFFEE75}, + [I(154,107)] = {29,0x1FFFEC75}, + [I(155,107)] = {30,0x3FFFF2F5}, + [I(156,107)] = {29,0x1FFFECF5}, + [I(157,107)] = {30,0x3FFFF375}, + [I(158,107)] = {30,0x3FFFF3F5}, + [I(159,107)] = {31,0x7FFFF7F5}, + [I(160,107)] = {29,0x1FFFED75}, + [I(161,107)] = {28,0xFFFEEF5}, + [I(162,107)] = {27,0x7FFF4F5}, + [I(163,107)] = {29,0x1FFFEDF5}, + [I(164,107)] = {29,0x1FFFEE75}, + [I(165,107)] = {30,0x3FFFF475}, + [I(166,107)] = {30,0x3FFFF4F5}, + [I(167,107)] = {28,0xFFFEF75}, + [I(168,107)] = {30,0x3FFFF575}, + [I(169,107)] = {29,0x1FFFEEF5}, + [I(170,107)] = {29,0x1FFFEF75}, + [I(171,107)] = {31,0x7FFFF875}, + [I(172,107)] = {28,0xFFFEFF5}, + [I(173,107)] = {29,0x1FFFEFF5}, + [I(174,107)] = {30,0x3FFFF5F5}, + [I(175,107)] = {30,0x3FFFF675}, + [I(176,107)] = {28,0xFFFF075}, + [I(177,107)] = {28,0xFFFF0F5}, + [I(178,107)] = {29,0x1FFFF075}, + [I(179,107)] = {28,0xFFFF175}, + [I(180,107)] = {30,0x3FFFF6F5}, + [I(181,107)] = {29,0x1FFFF0F5}, + [I(182,107)] = {30,0x3FFFF775}, + [I(183,107)] = {30,0x3FFFF7F5}, + [I(184,107)] = {27,0x7FFF575}, + [I(185,107)] = {29,0x1FFFF175}, + [I(186,107)] = {29,0x1FFFF1F5}, + [I(187,107)] = {29,0x1FFFF275}, + [I(188,107)] = {30,0x3FFFF875}, + [I(189,107)] = {29,0x1FFFF2F5}, + [I(190,107)] = {29,0x1FFFF375}, + [I(191,107)] = {30,0x3FFFF8F5}, + [I(192,107)] = {64,0}, + [I(193,107)] = {64,0}, + [I(194,107)] = {27,0x7FFF5F5}, + [I(195,107)] = {26,0x3FFF8F5}, + [I(196,107)] = {29,0x1FFFF3F5}, + [I(197,107)] = {30,0x3FFFF975}, + [I(198,107)] = {29,0x1FFFF475}, + [I(199,107)] = {X32,0xFFFFF675}, + [I(200,107)] = {64,0}, + [I(201,107)] = {64,0}, + [I(202,107)] = {64,0}, + [I(203,107)] = {64,0}, + [I(204,107)] = {64,0}, + [I(205,107)] = {64,0}, + [I(206,107)] = {31,0x7FFFF8F5}, + [I(207,107)] = {X32,0xFFFFF6F5}, + [I(208,107)] = {26,0x3FFF975}, + [I(209,107)] = {28,0xFFFF1F5}, + [I(210,107)] = {64,0}, + [I(211,107)] = {64,0}, + [I(212,107)] = {64,0}, + [I(213,107)] = {64,0}, + [I(214,107)] = {64,0}, + [I(215,107)] = {31,0x7FFFF975}, + [I(216,107)] = {28,0xFFFF275}, + [I(217,107)] = {28,0xFFFF2F5}, + [I(218,107)] = {64,0}, + [I(219,107)] = {64,0}, + [I(220,107)] = {64,0}, + [I(221,107)] = {64,0}, + [I(222,107)] = {64,0}, + [I(223,107)] = {64,0}, + [I(224,107)] = {27,0x7FFF675}, + [I(225,107)] = {31,0x7FFFF9F5}, + [I(226,107)] = {27,0x7FFF6F5}, + [I(227,107)] = {28,0xFFFF375}, + [I(228,107)] = {29,0x1FFFF4F5}, + [I(229,107)] = {28,0xFFFF3F5}, + [I(230,107)] = {28,0xFFFF475}, + [I(231,107)] = {30,0x3FFFF9F5}, + [I(232,107)] = {29,0x1FFFF575}, + [I(233,107)] = {29,0x1FFFF5F5}, + [I(234,107)] = {X32,0xFFFFF775}, + [I(235,107)] = {X32,0xFFFFF7F5}, + [I(236,107)] = {31,0x7FFFFA75}, + [I(237,107)] = {31,0x7FFFFAF5}, + [I(238,107)] = {64,0}, + [I(239,107)] = {30,0x3FFFFA75}, + [I(240,107)] = {64,0}, + [I(241,107)] = {64,0}, + [I(242,107)] = {64,0}, + [I(243,107)] = {64,0}, + [I(244,107)] = {64,0}, + [I(245,107)] = {64,0}, + [I(246,107)] = {64,0}, + [I(247,107)] = {64,0}, + [I(248,107)] = {64,0}, + [I(249,107)] = {64,0}, + [I(250,107)] = {64,0}, + [I(251,107)] = {64,0}, + [I(252,107)] = {64,0}, + [I(253,107)] = {64,0}, + [I(254,107)] = {64,0}, + [I(255,107)] = {64,0}, + [I(0,108)] = {19,0x7FE28}, + [I(1,108)] = {29,0x1FFFF628}, + [I(2,108)] = {64,0}, + [I(3,108)] = {64,0}, + [I(4,108)] = {64,0}, + [I(5,108)] = {64,0}, + [I(6,108)] = {64,0}, + [I(7,108)] = {64,0}, + [I(8,108)] = {64,0}, + [I(9,108)] = {30,0x3FFFFAA8}, + [I(10,108)] = {64,0}, + [I(11,108)] = {64,0}, + [I(12,108)] = {64,0}, + [I(13,108)] = {64,0}, + [I(14,108)] = {64,0}, + [I(15,108)] = {64,0}, + [I(16,108)] = {64,0}, + [I(17,108)] = {64,0}, + [I(18,108)] = {64,0}, + [I(19,108)] = {64,0}, + [I(20,108)] = {64,0}, + [I(21,108)] = {64,0}, + [I(22,108)] = {64,0}, + [I(23,108)] = {64,0}, + [I(24,108)] = {64,0}, + [I(25,108)] = {64,0}, + [I(26,108)] = {64,0}, + [I(27,108)] = {64,0}, + [I(28,108)] = {64,0}, + [I(29,108)] = {64,0}, + [I(30,108)] = {64,0}, + [I(31,108)] = {64,0}, + [I(32,108)] = {12,0x528}, + [I(33,108)] = {16,0xFE28}, + [I(34,108)] = {16,0xFE68}, + [I(35,108)] = {18,0x3FEA8}, + [I(36,108)] = {19,0x7FE68}, + [I(37,108)] = {12,0x568}, + [I(38,108)] = {14,0x3E28}, + [I(39,108)] = {17,0x1FEA8}, + [I(40,108)] = {16,0xFEA8}, + [I(41,108)] = {16,0xFEE8}, + [I(42,108)] = {14,0x3E68}, + [I(43,108)] = {17,0x1FEE8}, + [I(44,108)] = {14,0x3EA8}, + [I(45,108)] = {12,0x5A8}, + [I(46,108)] = {12,0x5E8}, + [I(47,108)] = {12,0x628}, + [I(48,108)] = {11,0x28}, + [I(49,108)] = {11,0x68}, + [I(50,108)] = {11,0xA8}, + [I(51,108)] = {12,0x668}, + [I(52,108)] = {12,0x6A8}, + [I(53,108)] = {12,0x6E8}, + [I(54,108)] = {12,0x728}, + [I(55,108)] = {12,0x768}, + [I(56,108)] = {12,0x7A8}, + [I(57,108)] = {12,0x7E8}, + [I(58,108)] = {13,0x1728}, + [I(59,108)] = {14,0x3EE8}, + [I(60,108)] = {21,0x1FFF28}, + [I(61,108)] = {12,0x828}, + [I(62,108)] = {18,0x3FEE8}, + [I(63,108)] = {16,0xFF28}, + [I(64,108)] = {19,0x7FEA8}, + [I(65,108)] = {12,0x868}, + [I(66,108)] = {13,0x1768}, + [I(67,108)] = {13,0x17A8}, + [I(68,108)] = {13,0x17E8}, + [I(69,108)] = {13,0x1828}, + [I(70,108)] = {13,0x1868}, + [I(71,108)] = {13,0x18A8}, + [I(72,108)] = {13,0x18E8}, + [I(73,108)] = {13,0x1928}, + [I(74,108)] = {13,0x1968}, + [I(75,108)] = {13,0x19A8}, + [I(76,108)] = {13,0x19E8}, + [I(77,108)] = {13,0x1A28}, + [I(78,108)] = {13,0x1A68}, + [I(79,108)] = {13,0x1AA8}, + [I(80,108)] = {13,0x1AE8}, + [I(81,108)] = {13,0x1B28}, + [I(82,108)] = {13,0x1B68}, + [I(83,108)] = {13,0x1BA8}, + [I(84,108)] = {13,0x1BE8}, + [I(85,108)] = {13,0x1C28}, + [I(86,108)] = {13,0x1C68}, + [I(87,108)] = {13,0x1CA8}, + [I(88,108)] = {14,0x3F28}, + [I(89,108)] = {13,0x1CE8}, + [I(90,108)] = {14,0x3F68}, + [I(91,108)] = {19,0x7FEE8}, + [I(92,108)] = {25,0x1FFFC28}, + [I(93,108)] = {19,0x7FF28}, + [I(94,108)] = {20,0xFFF28}, + [I(95,108)] = {12,0x8A8}, + [I(96,108)] = {21,0x1FFF68}, + [I(97,108)] = {11,0xE8}, + [I(98,108)] = {12,0x8E8}, + [I(99,108)] = {11,0x128}, + [I(100,108)] = {12,0x928}, + [I(101,108)] = {11,0x168}, + [I(102,108)] = {12,0x968}, + [I(103,108)] = {12,0x9A8}, + [I(104,108)] = {12,0x9E8}, + [I(105,108)] = {11,0x1A8}, + [I(106,108)] = {13,0x1D28}, + [I(107,108)] = {13,0x1D68}, + [I(108,108)] = {12,0xA28}, + [I(109,108)] = {12,0xA68}, + [I(110,108)] = {12,0xAA8}, + [I(111,108)] = {11,0x1E8}, + [I(112,108)] = {12,0xAE8}, + [I(113,108)] = {13,0x1DA8}, + [I(114,108)] = {12,0xB28}, + [I(115,108)] = {11,0x228}, + [I(116,108)] = {11,0x268}, + [I(117,108)] = {12,0xB68}, + [I(118,108)] = {13,0x1DE8}, + [I(119,108)] = {13,0x1E28}, + [I(120,108)] = {13,0x1E68}, + [I(121,108)] = {13,0x1EA8}, + [I(122,108)] = {13,0x1EE8}, + [I(123,108)] = {21,0x1FFFA8}, + [I(124,108)] = {17,0x1FF28}, + [I(125,108)] = {20,0xFFF68}, + [I(126,108)] = {19,0x7FF68}, + [I(127,108)] = {64,0}, + [I(128,108)] = {26,0x3FFF9A8}, + [I(129,108)] = {28,0xFFFF4A8}, + [I(130,108)] = {26,0x3FFF9E8}, + [I(131,108)] = {26,0x3FFFA28}, + [I(132,108)] = {28,0xFFFF4E8}, + [I(133,108)] = {28,0xFFFF528}, + [I(134,108)] = {28,0xFFFF568}, + [I(135,108)] = {29,0x1FFFF668}, + [I(136,108)] = {28,0xFFFF5A8}, + [I(137,108)] = {29,0x1FFFF6A8}, + [I(138,108)] = {29,0x1FFFF6E8}, + [I(139,108)] = {29,0x1FFFF728}, + [I(140,108)] = {29,0x1FFFF768}, + [I(141,108)] = {29,0x1FFFF7A8}, + [I(142,108)] = {30,0x3FFFFAE8}, + [I(143,108)] = {29,0x1FFFF7E8}, + [I(144,108)] = {30,0x3FFFFB28}, + [I(145,108)] = {30,0x3FFFFB68}, + [I(146,108)] = {28,0xFFFF5E8}, + [I(147,108)] = {29,0x1FFFF828}, + [I(148,108)] = {30,0x3FFFFBA8}, + [I(149,108)] = {29,0x1FFFF868}, + [I(150,108)] = {29,0x1FFFF8A8}, + [I(151,108)] = {29,0x1FFFF8E8}, + [I(152,108)] = {29,0x1FFFF928}, + [I(153,108)] = {27,0x7FFF728}, + [I(154,108)] = {28,0xFFFF628}, + [I(155,108)] = {29,0x1FFFF968}, + [I(156,108)] = {28,0xFFFF668}, + [I(157,108)] = {29,0x1FFFF9A8}, + [I(158,108)] = {29,0x1FFFF9E8}, + [I(159,108)] = {30,0x3FFFFBE8}, + [I(160,108)] = {28,0xFFFF6A8}, + [I(161,108)] = {27,0x7FFF768}, + [I(162,108)] = {26,0x3FFFA68}, + [I(163,108)] = {28,0xFFFF6E8}, + [I(164,108)] = {28,0xFFFF728}, + [I(165,108)] = {29,0x1FFFFA28}, + [I(166,108)] = {29,0x1FFFFA68}, + [I(167,108)] = {27,0x7FFF7A8}, + [I(168,108)] = {29,0x1FFFFAA8}, + [I(169,108)] = {28,0xFFFF768}, + [I(170,108)] = {28,0xFFFF7A8}, + [I(171,108)] = {30,0x3FFFFC28}, + [I(172,108)] = {27,0x7FFF7E8}, + [I(173,108)] = {28,0xFFFF7E8}, + [I(174,108)] = {29,0x1FFFFAE8}, + [I(175,108)] = {29,0x1FFFFB28}, + [I(176,108)] = {27,0x7FFF828}, + [I(177,108)] = {27,0x7FFF868}, + [I(178,108)] = {28,0xFFFF828}, + [I(179,108)] = {27,0x7FFF8A8}, + [I(180,108)] = {29,0x1FFFFB68}, + [I(181,108)] = {28,0xFFFF868}, + [I(182,108)] = {29,0x1FFFFBA8}, + [I(183,108)] = {29,0x1FFFFBE8}, + [I(184,108)] = {26,0x3FFFAA8}, + [I(185,108)] = {28,0xFFFF8A8}, + [I(186,108)] = {28,0xFFFF8E8}, + [I(187,108)] = {28,0xFFFF928}, + [I(188,108)] = {29,0x1FFFFC28}, + [I(189,108)] = {28,0xFFFF968}, + [I(190,108)] = {28,0xFFFF9A8}, + [I(191,108)] = {29,0x1FFFFC68}, + [I(192,108)] = {X32,0xFFFFF828}, + [I(193,108)] = {X32,0xFFFFF868}, + [I(194,108)] = {26,0x3FFFAE8}, + [I(195,108)] = {25,0x1FFFC68}, + [I(196,108)] = {28,0xFFFF9E8}, + [I(197,108)] = {29,0x1FFFFCA8}, + [I(198,108)] = {28,0xFFFFA28}, + [I(199,108)] = {31,0x7FFFFB28}, + [I(200,108)] = {X32,0xFFFFF8A8}, + [I(201,108)] = {X32,0xFFFFF8E8}, + [I(202,108)] = {X32,0xFFFFF928}, + [I(203,108)] = {64,0}, + [I(204,108)] = {64,0}, + [I(205,108)] = {X32,0xFFFFF968}, + [I(206,108)] = {30,0x3FFFFC68}, + [I(207,108)] = {31,0x7FFFFB68}, + [I(208,108)] = {25,0x1FFFCA8}, + [I(209,108)] = {27,0x7FFF8E8}, + [I(210,108)] = {X32,0xFFFFF9A8}, + [I(211,108)] = {64,0}, + [I(212,108)] = {64,0}, + [I(213,108)] = {X32,0xFFFFF9E8}, + [I(214,108)] = {64,0}, + [I(215,108)] = {30,0x3FFFFCA8}, + [I(216,108)] = {27,0x7FFF928}, + [I(217,108)] = {27,0x7FFF968}, + [I(218,108)] = {X32,0xFFFFFA28}, + [I(219,108)] = {X32,0xFFFFFA68}, + [I(220,108)] = {64,0}, + [I(221,108)] = {64,0}, + [I(222,108)] = {64,0}, + [I(223,108)] = {64,0}, + [I(224,108)] = {26,0x3FFFB28}, + [I(225,108)] = {30,0x3FFFFCE8}, + [I(226,108)] = {26,0x3FFFB68}, + [I(227,108)] = {27,0x7FFF9A8}, + [I(228,108)] = {28,0xFFFFA68}, + [I(229,108)] = {27,0x7FFF9E8}, + [I(230,108)] = {27,0x7FFFA28}, + [I(231,108)] = {29,0x1FFFFCE8}, + [I(232,108)] = {28,0xFFFFAA8}, + [I(233,108)] = {28,0xFFFFAE8}, + [I(234,108)] = {31,0x7FFFFBA8}, + [I(235,108)] = {31,0x7FFFFBE8}, + [I(236,108)] = {30,0x3FFFFD28}, + [I(237,108)] = {30,0x3FFFFD68}, + [I(238,108)] = {X32,0xFFFFFAA8}, + [I(239,108)] = {29,0x1FFFFD28}, + [I(240,108)] = {X32,0xFFFFFAE8}, + [I(241,108)] = {64,0}, + [I(242,108)] = {X32,0xFFFFFB28}, + [I(243,108)] = {X32,0xFFFFFB68}, + [I(244,108)] = {64,0}, + [I(245,108)] = {64,0}, + [I(246,108)] = {64,0}, + [I(247,108)] = {64,0}, + [I(248,108)] = {64,0}, + [I(249,108)] = {64,0}, + [I(250,108)] = {64,0}, + [I(251,108)] = {64,0}, + [I(252,108)] = {64,0}, + [I(253,108)] = {64,0}, + [I(254,108)] = {64,0}, + [I(255,108)] = {X32,0xFFFFFBA8}, + [I(0,109)] = {19,0x7FE29}, + [I(1,109)] = {29,0x1FFFF629}, + [I(2,109)] = {64,0}, + [I(3,109)] = {64,0}, + [I(4,109)] = {64,0}, + [I(5,109)] = {64,0}, + [I(6,109)] = {64,0}, + [I(7,109)] = {64,0}, + [I(8,109)] = {64,0}, + [I(9,109)] = {30,0x3FFFFAA9}, + [I(10,109)] = {64,0}, + [I(11,109)] = {64,0}, + [I(12,109)] = {64,0}, + [I(13,109)] = {64,0}, + [I(14,109)] = {64,0}, + [I(15,109)] = {64,0}, + [I(16,109)] = {64,0}, + [I(17,109)] = {64,0}, + [I(18,109)] = {64,0}, + [I(19,109)] = {64,0}, + [I(20,109)] = {64,0}, + [I(21,109)] = {64,0}, + [I(22,109)] = {64,0}, + [I(23,109)] = {64,0}, + [I(24,109)] = {64,0}, + [I(25,109)] = {64,0}, + [I(26,109)] = {64,0}, + [I(27,109)] = {64,0}, + [I(28,109)] = {64,0}, + [I(29,109)] = {64,0}, + [I(30,109)] = {64,0}, + [I(31,109)] = {64,0}, + [I(32,109)] = {12,0x529}, + [I(33,109)] = {16,0xFE29}, + [I(34,109)] = {16,0xFE69}, + [I(35,109)] = {18,0x3FEA9}, + [I(36,109)] = {19,0x7FE69}, + [I(37,109)] = {12,0x569}, + [I(38,109)] = {14,0x3E29}, + [I(39,109)] = {17,0x1FEA9}, + [I(40,109)] = {16,0xFEA9}, + [I(41,109)] = {16,0xFEE9}, + [I(42,109)] = {14,0x3E69}, + [I(43,109)] = {17,0x1FEE9}, + [I(44,109)] = {14,0x3EA9}, + [I(45,109)] = {12,0x5A9}, + [I(46,109)] = {12,0x5E9}, + [I(47,109)] = {12,0x629}, + [I(48,109)] = {11,0x29}, + [I(49,109)] = {11,0x69}, + [I(50,109)] = {11,0xA9}, + [I(51,109)] = {12,0x669}, + [I(52,109)] = {12,0x6A9}, + [I(53,109)] = {12,0x6E9}, + [I(54,109)] = {12,0x729}, + [I(55,109)] = {12,0x769}, + [I(56,109)] = {12,0x7A9}, + [I(57,109)] = {12,0x7E9}, + [I(58,109)] = {13,0x1729}, + [I(59,109)] = {14,0x3EE9}, + [I(60,109)] = {21,0x1FFF29}, + [I(61,109)] = {12,0x829}, + [I(62,109)] = {18,0x3FEE9}, + [I(63,109)] = {16,0xFF29}, + [I(64,109)] = {19,0x7FEA9}, + [I(65,109)] = {12,0x869}, + [I(66,109)] = {13,0x1769}, + [I(67,109)] = {13,0x17A9}, + [I(68,109)] = {13,0x17E9}, + [I(69,109)] = {13,0x1829}, + [I(70,109)] = {13,0x1869}, + [I(71,109)] = {13,0x18A9}, + [I(72,109)] = {13,0x18E9}, + [I(73,109)] = {13,0x1929}, + [I(74,109)] = {13,0x1969}, + [I(75,109)] = {13,0x19A9}, + [I(76,109)] = {13,0x19E9}, + [I(77,109)] = {13,0x1A29}, + [I(78,109)] = {13,0x1A69}, + [I(79,109)] = {13,0x1AA9}, + [I(80,109)] = {13,0x1AE9}, + [I(81,109)] = {13,0x1B29}, + [I(82,109)] = {13,0x1B69}, + [I(83,109)] = {13,0x1BA9}, + [I(84,109)] = {13,0x1BE9}, + [I(85,109)] = {13,0x1C29}, + [I(86,109)] = {13,0x1C69}, + [I(87,109)] = {13,0x1CA9}, + [I(88,109)] = {14,0x3F29}, + [I(89,109)] = {13,0x1CE9}, + [I(90,109)] = {14,0x3F69}, + [I(91,109)] = {19,0x7FEE9}, + [I(92,109)] = {25,0x1FFFC29}, + [I(93,109)] = {19,0x7FF29}, + [I(94,109)] = {20,0xFFF29}, + [I(95,109)] = {12,0x8A9}, + [I(96,109)] = {21,0x1FFF69}, + [I(97,109)] = {11,0xE9}, + [I(98,109)] = {12,0x8E9}, + [I(99,109)] = {11,0x129}, + [I(100,109)] = {12,0x929}, + [I(101,109)] = {11,0x169}, + [I(102,109)] = {12,0x969}, + [I(103,109)] = {12,0x9A9}, + [I(104,109)] = {12,0x9E9}, + [I(105,109)] = {11,0x1A9}, + [I(106,109)] = {13,0x1D29}, + [I(107,109)] = {13,0x1D69}, + [I(108,109)] = {12,0xA29}, + [I(109,109)] = {12,0xA69}, + [I(110,109)] = {12,0xAA9}, + [I(111,109)] = {11,0x1E9}, + [I(112,109)] = {12,0xAE9}, + [I(113,109)] = {13,0x1DA9}, + [I(114,109)] = {12,0xB29}, + [I(115,109)] = {11,0x229}, + [I(116,109)] = {11,0x269}, + [I(117,109)] = {12,0xB69}, + [I(118,109)] = {13,0x1DE9}, + [I(119,109)] = {13,0x1E29}, + [I(120,109)] = {13,0x1E69}, + [I(121,109)] = {13,0x1EA9}, + [I(122,109)] = {13,0x1EE9}, + [I(123,109)] = {21,0x1FFFA9}, + [I(124,109)] = {17,0x1FF29}, + [I(125,109)] = {20,0xFFF69}, + [I(126,109)] = {19,0x7FF69}, + [I(127,109)] = {64,0}, + [I(128,109)] = {26,0x3FFF9A9}, + [I(129,109)] = {28,0xFFFF4A9}, + [I(130,109)] = {26,0x3FFF9E9}, + [I(131,109)] = {26,0x3FFFA29}, + [I(132,109)] = {28,0xFFFF4E9}, + [I(133,109)] = {28,0xFFFF529}, + [I(134,109)] = {28,0xFFFF569}, + [I(135,109)] = {29,0x1FFFF669}, + [I(136,109)] = {28,0xFFFF5A9}, + [I(137,109)] = {29,0x1FFFF6A9}, + [I(138,109)] = {29,0x1FFFF6E9}, + [I(139,109)] = {29,0x1FFFF729}, + [I(140,109)] = {29,0x1FFFF769}, + [I(141,109)] = {29,0x1FFFF7A9}, + [I(142,109)] = {30,0x3FFFFAE9}, + [I(143,109)] = {29,0x1FFFF7E9}, + [I(144,109)] = {30,0x3FFFFB29}, + [I(145,109)] = {30,0x3FFFFB69}, + [I(146,109)] = {28,0xFFFF5E9}, + [I(147,109)] = {29,0x1FFFF829}, + [I(148,109)] = {30,0x3FFFFBA9}, + [I(149,109)] = {29,0x1FFFF869}, + [I(150,109)] = {29,0x1FFFF8A9}, + [I(151,109)] = {29,0x1FFFF8E9}, + [I(152,109)] = {29,0x1FFFF929}, + [I(153,109)] = {27,0x7FFF729}, + [I(154,109)] = {28,0xFFFF629}, + [I(155,109)] = {29,0x1FFFF969}, + [I(156,109)] = {28,0xFFFF669}, + [I(157,109)] = {29,0x1FFFF9A9}, + [I(158,109)] = {29,0x1FFFF9E9}, + [I(159,109)] = {30,0x3FFFFBE9}, + [I(160,109)] = {28,0xFFFF6A9}, + [I(161,109)] = {27,0x7FFF769}, + [I(162,109)] = {26,0x3FFFA69}, + [I(163,109)] = {28,0xFFFF6E9}, + [I(164,109)] = {28,0xFFFF729}, + [I(165,109)] = {29,0x1FFFFA29}, + [I(166,109)] = {29,0x1FFFFA69}, + [I(167,109)] = {27,0x7FFF7A9}, + [I(168,109)] = {29,0x1FFFFAA9}, + [I(169,109)] = {28,0xFFFF769}, + [I(170,109)] = {28,0xFFFF7A9}, + [I(171,109)] = {30,0x3FFFFC29}, + [I(172,109)] = {27,0x7FFF7E9}, + [I(173,109)] = {28,0xFFFF7E9}, + [I(174,109)] = {29,0x1FFFFAE9}, + [I(175,109)] = {29,0x1FFFFB29}, + [I(176,109)] = {27,0x7FFF829}, + [I(177,109)] = {27,0x7FFF869}, + [I(178,109)] = {28,0xFFFF829}, + [I(179,109)] = {27,0x7FFF8A9}, + [I(180,109)] = {29,0x1FFFFB69}, + [I(181,109)] = {28,0xFFFF869}, + [I(182,109)] = {29,0x1FFFFBA9}, + [I(183,109)] = {29,0x1FFFFBE9}, + [I(184,109)] = {26,0x3FFFAA9}, + [I(185,109)] = {28,0xFFFF8A9}, + [I(186,109)] = {28,0xFFFF8E9}, + [I(187,109)] = {28,0xFFFF929}, + [I(188,109)] = {29,0x1FFFFC29}, + [I(189,109)] = {28,0xFFFF969}, + [I(190,109)] = {28,0xFFFF9A9}, + [I(191,109)] = {29,0x1FFFFC69}, + [I(192,109)] = {X32,0xFFFFF829}, + [I(193,109)] = {X32,0xFFFFF869}, + [I(194,109)] = {26,0x3FFFAE9}, + [I(195,109)] = {25,0x1FFFC69}, + [I(196,109)] = {28,0xFFFF9E9}, + [I(197,109)] = {29,0x1FFFFCA9}, + [I(198,109)] = {28,0xFFFFA29}, + [I(199,109)] = {31,0x7FFFFB29}, + [I(200,109)] = {X32,0xFFFFF8A9}, + [I(201,109)] = {X32,0xFFFFF8E9}, + [I(202,109)] = {X32,0xFFFFF929}, + [I(203,109)] = {64,0}, + [I(204,109)] = {64,0}, + [I(205,109)] = {X32,0xFFFFF969}, + [I(206,109)] = {30,0x3FFFFC69}, + [I(207,109)] = {31,0x7FFFFB69}, + [I(208,109)] = {25,0x1FFFCA9}, + [I(209,109)] = {27,0x7FFF8E9}, + [I(210,109)] = {X32,0xFFFFF9A9}, + [I(211,109)] = {64,0}, + [I(212,109)] = {64,0}, + [I(213,109)] = {X32,0xFFFFF9E9}, + [I(214,109)] = {64,0}, + [I(215,109)] = {30,0x3FFFFCA9}, + [I(216,109)] = {27,0x7FFF929}, + [I(217,109)] = {27,0x7FFF969}, + [I(218,109)] = {X32,0xFFFFFA29}, + [I(219,109)] = {X32,0xFFFFFA69}, + [I(220,109)] = {64,0}, + [I(221,109)] = {64,0}, + [I(222,109)] = {64,0}, + [I(223,109)] = {64,0}, + [I(224,109)] = {26,0x3FFFB29}, + [I(225,109)] = {30,0x3FFFFCE9}, + [I(226,109)] = {26,0x3FFFB69}, + [I(227,109)] = {27,0x7FFF9A9}, + [I(228,109)] = {28,0xFFFFA69}, + [I(229,109)] = {27,0x7FFF9E9}, + [I(230,109)] = {27,0x7FFFA29}, + [I(231,109)] = {29,0x1FFFFCE9}, + [I(232,109)] = {28,0xFFFFAA9}, + [I(233,109)] = {28,0xFFFFAE9}, + [I(234,109)] = {31,0x7FFFFBA9}, + [I(235,109)] = {31,0x7FFFFBE9}, + [I(236,109)] = {30,0x3FFFFD29}, + [I(237,109)] = {30,0x3FFFFD69}, + [I(238,109)] = {X32,0xFFFFFAA9}, + [I(239,109)] = {29,0x1FFFFD29}, + [I(240,109)] = {X32,0xFFFFFAE9}, + [I(241,109)] = {64,0}, + [I(242,109)] = {X32,0xFFFFFB29}, + [I(243,109)] = {X32,0xFFFFFB69}, + [I(244,109)] = {64,0}, + [I(245,109)] = {64,0}, + [I(246,109)] = {64,0}, + [I(247,109)] = {64,0}, + [I(248,109)] = {64,0}, + [I(249,109)] = {64,0}, + [I(250,109)] = {64,0}, + [I(251,109)] = {64,0}, + [I(252,109)] = {64,0}, + [I(253,109)] = {64,0}, + [I(254,109)] = {64,0}, + [I(255,109)] = {X32,0xFFFFFBA9}, + [I(0,110)] = {19,0x7FE2A}, + [I(1,110)] = {29,0x1FFFF62A}, + [I(2,110)] = {64,0}, + [I(3,110)] = {64,0}, + [I(4,110)] = {64,0}, + [I(5,110)] = {64,0}, + [I(6,110)] = {64,0}, + [I(7,110)] = {64,0}, + [I(8,110)] = {64,0}, + [I(9,110)] = {30,0x3FFFFAAA}, + [I(10,110)] = {64,0}, + [I(11,110)] = {64,0}, + [I(12,110)] = {64,0}, + [I(13,110)] = {64,0}, + [I(14,110)] = {64,0}, + [I(15,110)] = {64,0}, + [I(16,110)] = {64,0}, + [I(17,110)] = {64,0}, + [I(18,110)] = {64,0}, + [I(19,110)] = {64,0}, + [I(20,110)] = {64,0}, + [I(21,110)] = {64,0}, + [I(22,110)] = {64,0}, + [I(23,110)] = {64,0}, + [I(24,110)] = {64,0}, + [I(25,110)] = {64,0}, + [I(26,110)] = {64,0}, + [I(27,110)] = {64,0}, + [I(28,110)] = {64,0}, + [I(29,110)] = {64,0}, + [I(30,110)] = {64,0}, + [I(31,110)] = {64,0}, + [I(32,110)] = {12,0x52A}, + [I(33,110)] = {16,0xFE2A}, + [I(34,110)] = {16,0xFE6A}, + [I(35,110)] = {18,0x3FEAA}, + [I(36,110)] = {19,0x7FE6A}, + [I(37,110)] = {12,0x56A}, + [I(38,110)] = {14,0x3E2A}, + [I(39,110)] = {17,0x1FEAA}, + [I(40,110)] = {16,0xFEAA}, + [I(41,110)] = {16,0xFEEA}, + [I(42,110)] = {14,0x3E6A}, + [I(43,110)] = {17,0x1FEEA}, + [I(44,110)] = {14,0x3EAA}, + [I(45,110)] = {12,0x5AA}, + [I(46,110)] = {12,0x5EA}, + [I(47,110)] = {12,0x62A}, + [I(48,110)] = {11,0x2A}, + [I(49,110)] = {11,0x6A}, + [I(50,110)] = {11,0xAA}, + [I(51,110)] = {12,0x66A}, + [I(52,110)] = {12,0x6AA}, + [I(53,110)] = {12,0x6EA}, + [I(54,110)] = {12,0x72A}, + [I(55,110)] = {12,0x76A}, + [I(56,110)] = {12,0x7AA}, + [I(57,110)] = {12,0x7EA}, + [I(58,110)] = {13,0x172A}, + [I(59,110)] = {14,0x3EEA}, + [I(60,110)] = {21,0x1FFF2A}, + [I(61,110)] = {12,0x82A}, + [I(62,110)] = {18,0x3FEEA}, + [I(63,110)] = {16,0xFF2A}, + [I(64,110)] = {19,0x7FEAA}, + [I(65,110)] = {12,0x86A}, + [I(66,110)] = {13,0x176A}, + [I(67,110)] = {13,0x17AA}, + [I(68,110)] = {13,0x17EA}, + [I(69,110)] = {13,0x182A}, + [I(70,110)] = {13,0x186A}, + [I(71,110)] = {13,0x18AA}, + [I(72,110)] = {13,0x18EA}, + [I(73,110)] = {13,0x192A}, + [I(74,110)] = {13,0x196A}, + [I(75,110)] = {13,0x19AA}, + [I(76,110)] = {13,0x19EA}, + [I(77,110)] = {13,0x1A2A}, + [I(78,110)] = {13,0x1A6A}, + [I(79,110)] = {13,0x1AAA}, + [I(80,110)] = {13,0x1AEA}, + [I(81,110)] = {13,0x1B2A}, + [I(82,110)] = {13,0x1B6A}, + [I(83,110)] = {13,0x1BAA}, + [I(84,110)] = {13,0x1BEA}, + [I(85,110)] = {13,0x1C2A}, + [I(86,110)] = {13,0x1C6A}, + [I(87,110)] = {13,0x1CAA}, + [I(88,110)] = {14,0x3F2A}, + [I(89,110)] = {13,0x1CEA}, + [I(90,110)] = {14,0x3F6A}, + [I(91,110)] = {19,0x7FEEA}, + [I(92,110)] = {25,0x1FFFC2A}, + [I(93,110)] = {19,0x7FF2A}, + [I(94,110)] = {20,0xFFF2A}, + [I(95,110)] = {12,0x8AA}, + [I(96,110)] = {21,0x1FFF6A}, + [I(97,110)] = {11,0xEA}, + [I(98,110)] = {12,0x8EA}, + [I(99,110)] = {11,0x12A}, + [I(100,110)] = {12,0x92A}, + [I(101,110)] = {11,0x16A}, + [I(102,110)] = {12,0x96A}, + [I(103,110)] = {12,0x9AA}, + [I(104,110)] = {12,0x9EA}, + [I(105,110)] = {11,0x1AA}, + [I(106,110)] = {13,0x1D2A}, + [I(107,110)] = {13,0x1D6A}, + [I(108,110)] = {12,0xA2A}, + [I(109,110)] = {12,0xA6A}, + [I(110,110)] = {12,0xAAA}, + [I(111,110)] = {11,0x1EA}, + [I(112,110)] = {12,0xAEA}, + [I(113,110)] = {13,0x1DAA}, + [I(114,110)] = {12,0xB2A}, + [I(115,110)] = {11,0x22A}, + [I(116,110)] = {11,0x26A}, + [I(117,110)] = {12,0xB6A}, + [I(118,110)] = {13,0x1DEA}, + [I(119,110)] = {13,0x1E2A}, + [I(120,110)] = {13,0x1E6A}, + [I(121,110)] = {13,0x1EAA}, + [I(122,110)] = {13,0x1EEA}, + [I(123,110)] = {21,0x1FFFAA}, + [I(124,110)] = {17,0x1FF2A}, + [I(125,110)] = {20,0xFFF6A}, + [I(126,110)] = {19,0x7FF6A}, + [I(127,110)] = {64,0}, + [I(128,110)] = {26,0x3FFF9AA}, + [I(129,110)] = {28,0xFFFF4AA}, + [I(130,110)] = {26,0x3FFF9EA}, + [I(131,110)] = {26,0x3FFFA2A}, + [I(132,110)] = {28,0xFFFF4EA}, + [I(133,110)] = {28,0xFFFF52A}, + [I(134,110)] = {28,0xFFFF56A}, + [I(135,110)] = {29,0x1FFFF66A}, + [I(136,110)] = {28,0xFFFF5AA}, + [I(137,110)] = {29,0x1FFFF6AA}, + [I(138,110)] = {29,0x1FFFF6EA}, + [I(139,110)] = {29,0x1FFFF72A}, + [I(140,110)] = {29,0x1FFFF76A}, + [I(141,110)] = {29,0x1FFFF7AA}, + [I(142,110)] = {30,0x3FFFFAEA}, + [I(143,110)] = {29,0x1FFFF7EA}, + [I(144,110)] = {30,0x3FFFFB2A}, + [I(145,110)] = {30,0x3FFFFB6A}, + [I(146,110)] = {28,0xFFFF5EA}, + [I(147,110)] = {29,0x1FFFF82A}, + [I(148,110)] = {30,0x3FFFFBAA}, + [I(149,110)] = {29,0x1FFFF86A}, + [I(150,110)] = {29,0x1FFFF8AA}, + [I(151,110)] = {29,0x1FFFF8EA}, + [I(152,110)] = {29,0x1FFFF92A}, + [I(153,110)] = {27,0x7FFF72A}, + [I(154,110)] = {28,0xFFFF62A}, + [I(155,110)] = {29,0x1FFFF96A}, + [I(156,110)] = {28,0xFFFF66A}, + [I(157,110)] = {29,0x1FFFF9AA}, + [I(158,110)] = {29,0x1FFFF9EA}, + [I(159,110)] = {30,0x3FFFFBEA}, + [I(160,110)] = {28,0xFFFF6AA}, + [I(161,110)] = {27,0x7FFF76A}, + [I(162,110)] = {26,0x3FFFA6A}, + [I(163,110)] = {28,0xFFFF6EA}, + [I(164,110)] = {28,0xFFFF72A}, + [I(165,110)] = {29,0x1FFFFA2A}, + [I(166,110)] = {29,0x1FFFFA6A}, + [I(167,110)] = {27,0x7FFF7AA}, + [I(168,110)] = {29,0x1FFFFAAA}, + [I(169,110)] = {28,0xFFFF76A}, + [I(170,110)] = {28,0xFFFF7AA}, + [I(171,110)] = {30,0x3FFFFC2A}, + [I(172,110)] = {27,0x7FFF7EA}, + [I(173,110)] = {28,0xFFFF7EA}, + [I(174,110)] = {29,0x1FFFFAEA}, + [I(175,110)] = {29,0x1FFFFB2A}, + [I(176,110)] = {27,0x7FFF82A}, + [I(177,110)] = {27,0x7FFF86A}, + [I(178,110)] = {28,0xFFFF82A}, + [I(179,110)] = {27,0x7FFF8AA}, + [I(180,110)] = {29,0x1FFFFB6A}, + [I(181,110)] = {28,0xFFFF86A}, + [I(182,110)] = {29,0x1FFFFBAA}, + [I(183,110)] = {29,0x1FFFFBEA}, + [I(184,110)] = {26,0x3FFFAAA}, + [I(185,110)] = {28,0xFFFF8AA}, + [I(186,110)] = {28,0xFFFF8EA}, + [I(187,110)] = {28,0xFFFF92A}, + [I(188,110)] = {29,0x1FFFFC2A}, + [I(189,110)] = {28,0xFFFF96A}, + [I(190,110)] = {28,0xFFFF9AA}, + [I(191,110)] = {29,0x1FFFFC6A}, + [I(192,110)] = {X32,0xFFFFF82A}, + [I(193,110)] = {X32,0xFFFFF86A}, + [I(194,110)] = {26,0x3FFFAEA}, + [I(195,110)] = {25,0x1FFFC6A}, + [I(196,110)] = {28,0xFFFF9EA}, + [I(197,110)] = {29,0x1FFFFCAA}, + [I(198,110)] = {28,0xFFFFA2A}, + [I(199,110)] = {31,0x7FFFFB2A}, + [I(200,110)] = {X32,0xFFFFF8AA}, + [I(201,110)] = {X32,0xFFFFF8EA}, + [I(202,110)] = {X32,0xFFFFF92A}, + [I(203,110)] = {64,0}, + [I(204,110)] = {64,0}, + [I(205,110)] = {X32,0xFFFFF96A}, + [I(206,110)] = {30,0x3FFFFC6A}, + [I(207,110)] = {31,0x7FFFFB6A}, + [I(208,110)] = {25,0x1FFFCAA}, + [I(209,110)] = {27,0x7FFF8EA}, + [I(210,110)] = {X32,0xFFFFF9AA}, + [I(211,110)] = {64,0}, + [I(212,110)] = {64,0}, + [I(213,110)] = {X32,0xFFFFF9EA}, + [I(214,110)] = {64,0}, + [I(215,110)] = {30,0x3FFFFCAA}, + [I(216,110)] = {27,0x7FFF92A}, + [I(217,110)] = {27,0x7FFF96A}, + [I(218,110)] = {X32,0xFFFFFA2A}, + [I(219,110)] = {X32,0xFFFFFA6A}, + [I(220,110)] = {64,0}, + [I(221,110)] = {64,0}, + [I(222,110)] = {64,0}, + [I(223,110)] = {64,0}, + [I(224,110)] = {26,0x3FFFB2A}, + [I(225,110)] = {30,0x3FFFFCEA}, + [I(226,110)] = {26,0x3FFFB6A}, + [I(227,110)] = {27,0x7FFF9AA}, + [I(228,110)] = {28,0xFFFFA6A}, + [I(229,110)] = {27,0x7FFF9EA}, + [I(230,110)] = {27,0x7FFFA2A}, + [I(231,110)] = {29,0x1FFFFCEA}, + [I(232,110)] = {28,0xFFFFAAA}, + [I(233,110)] = {28,0xFFFFAEA}, + [I(234,110)] = {31,0x7FFFFBAA}, + [I(235,110)] = {31,0x7FFFFBEA}, + [I(236,110)] = {30,0x3FFFFD2A}, + [I(237,110)] = {30,0x3FFFFD6A}, + [I(238,110)] = {X32,0xFFFFFAAA}, + [I(239,110)] = {29,0x1FFFFD2A}, + [I(240,110)] = {X32,0xFFFFFAEA}, + [I(241,110)] = {64,0}, + [I(242,110)] = {X32,0xFFFFFB2A}, + [I(243,110)] = {X32,0xFFFFFB6A}, + [I(244,110)] = {64,0}, + [I(245,110)] = {64,0}, + [I(246,110)] = {64,0}, + [I(247,110)] = {64,0}, + [I(248,110)] = {64,0}, + [I(249,110)] = {64,0}, + [I(250,110)] = {64,0}, + [I(251,110)] = {64,0}, + [I(252,110)] = {64,0}, + [I(253,110)] = {64,0}, + [I(254,110)] = {64,0}, + [I(255,110)] = {X32,0xFFFFFBAA}, + [I(0,111)] = {18,0x3FF07}, + [I(1,111)] = {28,0xFFFFB07}, + [I(2,111)] = {64,0}, + [I(3,111)] = {64,0}, + [I(4,111)] = {64,0}, + [I(5,111)] = {64,0}, + [I(6,111)] = {64,0}, + [I(7,111)] = {64,0}, + [I(8,111)] = {64,0}, + [I(9,111)] = {29,0x1FFFFD47}, + [I(10,111)] = {64,0}, + [I(11,111)] = {64,0}, + [I(12,111)] = {64,0}, + [I(13,111)] = {64,0}, + [I(14,111)] = {64,0}, + [I(15,111)] = {64,0}, + [I(16,111)] = {64,0}, + [I(17,111)] = {64,0}, + [I(18,111)] = {64,0}, + [I(19,111)] = {64,0}, + [I(20,111)] = {64,0}, + [I(21,111)] = {64,0}, + [I(22,111)] = {64,0}, + [I(23,111)] = {64,0}, + [I(24,111)] = {64,0}, + [I(25,111)] = {64,0}, + [I(26,111)] = {64,0}, + [I(27,111)] = {64,0}, + [I(28,111)] = {64,0}, + [I(29,111)] = {64,0}, + [I(30,111)] = {64,0}, + [I(31,111)] = {64,0}, + [I(32,111)] = {11,0x287}, + [I(33,111)] = {15,0x7F07}, + [I(34,111)] = {15,0x7F27}, + [I(35,111)] = {17,0x1FF47}, + [I(36,111)] = {18,0x3FF27}, + [I(37,111)] = {11,0x2A7}, + [I(38,111)] = {13,0x1F07}, + [I(39,111)] = {16,0xFF47}, + [I(40,111)] = {15,0x7F47}, + [I(41,111)] = {15,0x7F67}, + [I(42,111)] = {13,0x1F27}, + [I(43,111)] = {16,0xFF67}, + [I(44,111)] = {13,0x1F47}, + [I(45,111)] = {11,0x2C7}, + [I(46,111)] = {11,0x2E7}, + [I(47,111)] = {11,0x307}, + [I(48,111)] = {10,0x7}, + [I(49,111)] = {10,0x27}, + [I(50,111)] = {10,0x47}, + [I(51,111)] = {11,0x327}, + [I(52,111)] = {11,0x347}, + [I(53,111)] = {11,0x367}, + [I(54,111)] = {11,0x387}, + [I(55,111)] = {11,0x3A7}, + [I(56,111)] = {11,0x3C7}, + [I(57,111)] = {11,0x3E7}, + [I(58,111)] = {12,0xB87}, + [I(59,111)] = {13,0x1F67}, + [I(60,111)] = {20,0xFFF87}, + [I(61,111)] = {11,0x407}, + [I(62,111)] = {17,0x1FF67}, + [I(63,111)] = {15,0x7F87}, + [I(64,111)] = {18,0x3FF47}, + [I(65,111)] = {11,0x427}, + [I(66,111)] = {12,0xBA7}, + [I(67,111)] = {12,0xBC7}, + [I(68,111)] = {12,0xBE7}, + [I(69,111)] = {12,0xC07}, + [I(70,111)] = {12,0xC27}, + [I(71,111)] = {12,0xC47}, + [I(72,111)] = {12,0xC67}, + [I(73,111)] = {12,0xC87}, + [I(74,111)] = {12,0xCA7}, + [I(75,111)] = {12,0xCC7}, + [I(76,111)] = {12,0xCE7}, + [I(77,111)] = {12,0xD07}, + [I(78,111)] = {12,0xD27}, + [I(79,111)] = {12,0xD47}, + [I(80,111)] = {12,0xD67}, + [I(81,111)] = {12,0xD87}, + [I(82,111)] = {12,0xDA7}, + [I(83,111)] = {12,0xDC7}, + [I(84,111)] = {12,0xDE7}, + [I(85,111)] = {12,0xE07}, + [I(86,111)] = {12,0xE27}, + [I(87,111)] = {12,0xE47}, + [I(88,111)] = {13,0x1F87}, + [I(89,111)] = {12,0xE67}, + [I(90,111)] = {13,0x1FA7}, + [I(91,111)] = {18,0x3FF67}, + [I(92,111)] = {24,0xFFFE07}, + [I(93,111)] = {18,0x3FF87}, + [I(94,111)] = {19,0x7FF87}, + [I(95,111)] = {11,0x447}, + [I(96,111)] = {20,0xFFFA7}, + [I(97,111)] = {10,0x67}, + [I(98,111)] = {11,0x467}, + [I(99,111)] = {10,0x87}, + [I(100,111)] = {11,0x487}, + [I(101,111)] = {10,0xA7}, + [I(102,111)] = {11,0x4A7}, + [I(103,111)] = {11,0x4C7}, + [I(104,111)] = {11,0x4E7}, + [I(105,111)] = {10,0xC7}, + [I(106,111)] = {12,0xE87}, + [I(107,111)] = {12,0xEA7}, + [I(108,111)] = {11,0x507}, + [I(109,111)] = {11,0x527}, + [I(110,111)] = {11,0x547}, + [I(111,111)] = {10,0xE7}, + [I(112,111)] = {11,0x567}, + [I(113,111)] = {12,0xEC7}, + [I(114,111)] = {11,0x587}, + [I(115,111)] = {10,0x107}, + [I(116,111)] = {10,0x127}, + [I(117,111)] = {11,0x5A7}, + [I(118,111)] = {12,0xEE7}, + [I(119,111)] = {12,0xF07}, + [I(120,111)] = {12,0xF27}, + [I(121,111)] = {12,0xF47}, + [I(122,111)] = {12,0xF67}, + [I(123,111)] = {20,0xFFFC7}, + [I(124,111)] = {16,0xFF87}, + [I(125,111)] = {19,0x7FFA7}, + [I(126,111)] = {18,0x3FFA7}, + [I(127,111)] = {64,0}, + [I(128,111)] = {25,0x1FFFCC7}, + [I(129,111)] = {27,0x7FFFA47}, + [I(130,111)] = {25,0x1FFFCE7}, + [I(131,111)] = {25,0x1FFFD07}, + [I(132,111)] = {27,0x7FFFA67}, + [I(133,111)] = {27,0x7FFFA87}, + [I(134,111)] = {27,0x7FFFAA7}, + [I(135,111)] = {28,0xFFFFB27}, + [I(136,111)] = {27,0x7FFFAC7}, + [I(137,111)] = {28,0xFFFFB47}, + [I(138,111)] = {28,0xFFFFB67}, + [I(139,111)] = {28,0xFFFFB87}, + [I(140,111)] = {28,0xFFFFBA7}, + [I(141,111)] = {28,0xFFFFBC7}, + [I(142,111)] = {29,0x1FFFFD67}, + [I(143,111)] = {28,0xFFFFBE7}, + [I(144,111)] = {29,0x1FFFFD87}, + [I(145,111)] = {29,0x1FFFFDA7}, + [I(146,111)] = {27,0x7FFFAE7}, + [I(147,111)] = {28,0xFFFFC07}, + [I(148,111)] = {29,0x1FFFFDC7}, + [I(149,111)] = {28,0xFFFFC27}, + [I(150,111)] = {28,0xFFFFC47}, + [I(151,111)] = {28,0xFFFFC67}, + [I(152,111)] = {28,0xFFFFC87}, + [I(153,111)] = {26,0x3FFFB87}, + [I(154,111)] = {27,0x7FFFB07}, + [I(155,111)] = {28,0xFFFFCA7}, + [I(156,111)] = {27,0x7FFFB27}, + [I(157,111)] = {28,0xFFFFCC7}, + [I(158,111)] = {28,0xFFFFCE7}, + [I(159,111)] = {29,0x1FFFFDE7}, + [I(160,111)] = {27,0x7FFFB47}, + [I(161,111)] = {26,0x3FFFBA7}, + [I(162,111)] = {25,0x1FFFD27}, + [I(163,111)] = {27,0x7FFFB67}, + [I(164,111)] = {27,0x7FFFB87}, + [I(165,111)] = {28,0xFFFFD07}, + [I(166,111)] = {28,0xFFFFD27}, + [I(167,111)] = {26,0x3FFFBC7}, + [I(168,111)] = {28,0xFFFFD47}, + [I(169,111)] = {27,0x7FFFBA7}, + [I(170,111)] = {27,0x7FFFBC7}, + [I(171,111)] = {29,0x1FFFFE07}, + [I(172,111)] = {26,0x3FFFBE7}, + [I(173,111)] = {27,0x7FFFBE7}, + [I(174,111)] = {28,0xFFFFD67}, + [I(175,111)] = {28,0xFFFFD87}, + [I(176,111)] = {26,0x3FFFC07}, + [I(177,111)] = {26,0x3FFFC27}, + [I(178,111)] = {27,0x7FFFC07}, + [I(179,111)] = {26,0x3FFFC47}, + [I(180,111)] = {28,0xFFFFDA7}, + [I(181,111)] = {27,0x7FFFC27}, + [I(182,111)] = {28,0xFFFFDC7}, + [I(183,111)] = {28,0xFFFFDE7}, + [I(184,111)] = {25,0x1FFFD47}, + [I(185,111)] = {27,0x7FFFC47}, + [I(186,111)] = {27,0x7FFFC67}, + [I(187,111)] = {27,0x7FFFC87}, + [I(188,111)] = {28,0xFFFFE07}, + [I(189,111)] = {27,0x7FFFCA7}, + [I(190,111)] = {27,0x7FFFCC7}, + [I(191,111)] = {28,0xFFFFE27}, + [I(192,111)] = {31,0x7FFFFC07}, + [I(193,111)] = {31,0x7FFFFC27}, + [I(194,111)] = {25,0x1FFFD67}, + [I(195,111)] = {24,0xFFFE27}, + [I(196,111)] = {27,0x7FFFCE7}, + [I(197,111)] = {28,0xFFFFE47}, + [I(198,111)] = {27,0x7FFFD07}, + [I(199,111)] = {30,0x3FFFFD87}, + [I(200,111)] = {31,0x7FFFFC47}, + [I(201,111)] = {31,0x7FFFFC67}, + [I(202,111)] = {31,0x7FFFFC87}, + [I(203,111)] = {X32,0xFFFFFBC7}, + [I(204,111)] = {X32,0xFFFFFBE7}, + [I(205,111)] = {31,0x7FFFFCA7}, + [I(206,111)] = {29,0x1FFFFE27}, + [I(207,111)] = {30,0x3FFFFDA7}, + [I(208,111)] = {24,0xFFFE47}, + [I(209,111)] = {26,0x3FFFC67}, + [I(210,111)] = {31,0x7FFFFCC7}, + [I(211,111)] = {X32,0xFFFFFC07}, + [I(212,111)] = {X32,0xFFFFFC27}, + [I(213,111)] = {31,0x7FFFFCE7}, + [I(214,111)] = {X32,0xFFFFFC47}, + [I(215,111)] = {29,0x1FFFFE47}, + [I(216,111)] = {26,0x3FFFC87}, + [I(217,111)] = {26,0x3FFFCA7}, + [I(218,111)] = {31,0x7FFFFD07}, + [I(219,111)] = {31,0x7FFFFD27}, + [I(220,111)] = {64,0}, + [I(221,111)] = {X32,0xFFFFFC67}, + [I(222,111)] = {X32,0xFFFFFC87}, + [I(223,111)] = {X32,0xFFFFFCA7}, + [I(224,111)] = {25,0x1FFFD87}, + [I(225,111)] = {29,0x1FFFFE67}, + [I(226,111)] = {25,0x1FFFDA7}, + [I(227,111)] = {26,0x3FFFCC7}, + [I(228,111)] = {27,0x7FFFD27}, + [I(229,111)] = {26,0x3FFFCE7}, + [I(230,111)] = {26,0x3FFFD07}, + [I(231,111)] = {28,0xFFFFE67}, + [I(232,111)] = {27,0x7FFFD47}, + [I(233,111)] = {27,0x7FFFD67}, + [I(234,111)] = {30,0x3FFFFDC7}, + [I(235,111)] = {30,0x3FFFFDE7}, + [I(236,111)] = {29,0x1FFFFE87}, + [I(237,111)] = {29,0x1FFFFEA7}, + [I(238,111)] = {31,0x7FFFFD47}, + [I(239,111)] = {28,0xFFFFE87}, + [I(240,111)] = {31,0x7FFFFD67}, + [I(241,111)] = {X32,0xFFFFFCC7}, + [I(242,111)] = {31,0x7FFFFD87}, + [I(243,111)] = {31,0x7FFFFDA7}, + [I(244,111)] = {X32,0xFFFFFCE7}, + [I(245,111)] = {X32,0xFFFFFD07}, + [I(246,111)] = {X32,0xFFFFFD27}, + [I(247,111)] = {X32,0xFFFFFD47}, + [I(248,111)] = {X32,0xFFFFFD67}, + [I(249,111)] = {64,0}, + [I(250,111)] = {X32,0xFFFFFD87}, + [I(251,111)] = {X32,0xFFFFFDA7}, + [I(252,111)] = {X32,0xFFFFFDC7}, + [I(253,111)] = {X32,0xFFFFFDE7}, + [I(254,111)] = {X32,0xFFFFFE07}, + [I(255,111)] = {31,0x7FFFFDC7}, + [I(0,112)] = {19,0x7FE2B}, + [I(1,112)] = {29,0x1FFFF62B}, + [I(2,112)] = {64,0}, + [I(3,112)] = {64,0}, + [I(4,112)] = {64,0}, + [I(5,112)] = {64,0}, + [I(6,112)] = {64,0}, + [I(7,112)] = {64,0}, + [I(8,112)] = {64,0}, + [I(9,112)] = {30,0x3FFFFAAB}, + [I(10,112)] = {64,0}, + [I(11,112)] = {64,0}, + [I(12,112)] = {64,0}, + [I(13,112)] = {64,0}, + [I(14,112)] = {64,0}, + [I(15,112)] = {64,0}, + [I(16,112)] = {64,0}, + [I(17,112)] = {64,0}, + [I(18,112)] = {64,0}, + [I(19,112)] = {64,0}, + [I(20,112)] = {64,0}, + [I(21,112)] = {64,0}, + [I(22,112)] = {64,0}, + [I(23,112)] = {64,0}, + [I(24,112)] = {64,0}, + [I(25,112)] = {64,0}, + [I(26,112)] = {64,0}, + [I(27,112)] = {64,0}, + [I(28,112)] = {64,0}, + [I(29,112)] = {64,0}, + [I(30,112)] = {64,0}, + [I(31,112)] = {64,0}, + [I(32,112)] = {12,0x52B}, + [I(33,112)] = {16,0xFE2B}, + [I(34,112)] = {16,0xFE6B}, + [I(35,112)] = {18,0x3FEAB}, + [I(36,112)] = {19,0x7FE6B}, + [I(37,112)] = {12,0x56B}, + [I(38,112)] = {14,0x3E2B}, + [I(39,112)] = {17,0x1FEAB}, + [I(40,112)] = {16,0xFEAB}, + [I(41,112)] = {16,0xFEEB}, + [I(42,112)] = {14,0x3E6B}, + [I(43,112)] = {17,0x1FEEB}, + [I(44,112)] = {14,0x3EAB}, + [I(45,112)] = {12,0x5AB}, + [I(46,112)] = {12,0x5EB}, + [I(47,112)] = {12,0x62B}, + [I(48,112)] = {11,0x2B}, + [I(49,112)] = {11,0x6B}, + [I(50,112)] = {11,0xAB}, + [I(51,112)] = {12,0x66B}, + [I(52,112)] = {12,0x6AB}, + [I(53,112)] = {12,0x6EB}, + [I(54,112)] = {12,0x72B}, + [I(55,112)] = {12,0x76B}, + [I(56,112)] = {12,0x7AB}, + [I(57,112)] = {12,0x7EB}, + [I(58,112)] = {13,0x172B}, + [I(59,112)] = {14,0x3EEB}, + [I(60,112)] = {21,0x1FFF2B}, + [I(61,112)] = {12,0x82B}, + [I(62,112)] = {18,0x3FEEB}, + [I(63,112)] = {16,0xFF2B}, + [I(64,112)] = {19,0x7FEAB}, + [I(65,112)] = {12,0x86B}, + [I(66,112)] = {13,0x176B}, + [I(67,112)] = {13,0x17AB}, + [I(68,112)] = {13,0x17EB}, + [I(69,112)] = {13,0x182B}, + [I(70,112)] = {13,0x186B}, + [I(71,112)] = {13,0x18AB}, + [I(72,112)] = {13,0x18EB}, + [I(73,112)] = {13,0x192B}, + [I(74,112)] = {13,0x196B}, + [I(75,112)] = {13,0x19AB}, + [I(76,112)] = {13,0x19EB}, + [I(77,112)] = {13,0x1A2B}, + [I(78,112)] = {13,0x1A6B}, + [I(79,112)] = {13,0x1AAB}, + [I(80,112)] = {13,0x1AEB}, + [I(81,112)] = {13,0x1B2B}, + [I(82,112)] = {13,0x1B6B}, + [I(83,112)] = {13,0x1BAB}, + [I(84,112)] = {13,0x1BEB}, + [I(85,112)] = {13,0x1C2B}, + [I(86,112)] = {13,0x1C6B}, + [I(87,112)] = {13,0x1CAB}, + [I(88,112)] = {14,0x3F2B}, + [I(89,112)] = {13,0x1CEB}, + [I(90,112)] = {14,0x3F6B}, + [I(91,112)] = {19,0x7FEEB}, + [I(92,112)] = {25,0x1FFFC2B}, + [I(93,112)] = {19,0x7FF2B}, + [I(94,112)] = {20,0xFFF2B}, + [I(95,112)] = {12,0x8AB}, + [I(96,112)] = {21,0x1FFF6B}, + [I(97,112)] = {11,0xEB}, + [I(98,112)] = {12,0x8EB}, + [I(99,112)] = {11,0x12B}, + [I(100,112)] = {12,0x92B}, + [I(101,112)] = {11,0x16B}, + [I(102,112)] = {12,0x96B}, + [I(103,112)] = {12,0x9AB}, + [I(104,112)] = {12,0x9EB}, + [I(105,112)] = {11,0x1AB}, + [I(106,112)] = {13,0x1D2B}, + [I(107,112)] = {13,0x1D6B}, + [I(108,112)] = {12,0xA2B}, + [I(109,112)] = {12,0xA6B}, + [I(110,112)] = {12,0xAAB}, + [I(111,112)] = {11,0x1EB}, + [I(112,112)] = {12,0xAEB}, + [I(113,112)] = {13,0x1DAB}, + [I(114,112)] = {12,0xB2B}, + [I(115,112)] = {11,0x22B}, + [I(116,112)] = {11,0x26B}, + [I(117,112)] = {12,0xB6B}, + [I(118,112)] = {13,0x1DEB}, + [I(119,112)] = {13,0x1E2B}, + [I(120,112)] = {13,0x1E6B}, + [I(121,112)] = {13,0x1EAB}, + [I(122,112)] = {13,0x1EEB}, + [I(123,112)] = {21,0x1FFFAB}, + [I(124,112)] = {17,0x1FF2B}, + [I(125,112)] = {20,0xFFF6B}, + [I(126,112)] = {19,0x7FF6B}, + [I(127,112)] = {64,0}, + [I(128,112)] = {26,0x3FFF9AB}, + [I(129,112)] = {28,0xFFFF4AB}, + [I(130,112)] = {26,0x3FFF9EB}, + [I(131,112)] = {26,0x3FFFA2B}, + [I(132,112)] = {28,0xFFFF4EB}, + [I(133,112)] = {28,0xFFFF52B}, + [I(134,112)] = {28,0xFFFF56B}, + [I(135,112)] = {29,0x1FFFF66B}, + [I(136,112)] = {28,0xFFFF5AB}, + [I(137,112)] = {29,0x1FFFF6AB}, + [I(138,112)] = {29,0x1FFFF6EB}, + [I(139,112)] = {29,0x1FFFF72B}, + [I(140,112)] = {29,0x1FFFF76B}, + [I(141,112)] = {29,0x1FFFF7AB}, + [I(142,112)] = {30,0x3FFFFAEB}, + [I(143,112)] = {29,0x1FFFF7EB}, + [I(144,112)] = {30,0x3FFFFB2B}, + [I(145,112)] = {30,0x3FFFFB6B}, + [I(146,112)] = {28,0xFFFF5EB}, + [I(147,112)] = {29,0x1FFFF82B}, + [I(148,112)] = {30,0x3FFFFBAB}, + [I(149,112)] = {29,0x1FFFF86B}, + [I(150,112)] = {29,0x1FFFF8AB}, + [I(151,112)] = {29,0x1FFFF8EB}, + [I(152,112)] = {29,0x1FFFF92B}, + [I(153,112)] = {27,0x7FFF72B}, + [I(154,112)] = {28,0xFFFF62B}, + [I(155,112)] = {29,0x1FFFF96B}, + [I(156,112)] = {28,0xFFFF66B}, + [I(157,112)] = {29,0x1FFFF9AB}, + [I(158,112)] = {29,0x1FFFF9EB}, + [I(159,112)] = {30,0x3FFFFBEB}, + [I(160,112)] = {28,0xFFFF6AB}, + [I(161,112)] = {27,0x7FFF76B}, + [I(162,112)] = {26,0x3FFFA6B}, + [I(163,112)] = {28,0xFFFF6EB}, + [I(164,112)] = {28,0xFFFF72B}, + [I(165,112)] = {29,0x1FFFFA2B}, + [I(166,112)] = {29,0x1FFFFA6B}, + [I(167,112)] = {27,0x7FFF7AB}, + [I(168,112)] = {29,0x1FFFFAAB}, + [I(169,112)] = {28,0xFFFF76B}, + [I(170,112)] = {28,0xFFFF7AB}, + [I(171,112)] = {30,0x3FFFFC2B}, + [I(172,112)] = {27,0x7FFF7EB}, + [I(173,112)] = {28,0xFFFF7EB}, + [I(174,112)] = {29,0x1FFFFAEB}, + [I(175,112)] = {29,0x1FFFFB2B}, + [I(176,112)] = {27,0x7FFF82B}, + [I(177,112)] = {27,0x7FFF86B}, + [I(178,112)] = {28,0xFFFF82B}, + [I(179,112)] = {27,0x7FFF8AB}, + [I(180,112)] = {29,0x1FFFFB6B}, + [I(181,112)] = {28,0xFFFF86B}, + [I(182,112)] = {29,0x1FFFFBAB}, + [I(183,112)] = {29,0x1FFFFBEB}, + [I(184,112)] = {26,0x3FFFAAB}, + [I(185,112)] = {28,0xFFFF8AB}, + [I(186,112)] = {28,0xFFFF8EB}, + [I(187,112)] = {28,0xFFFF92B}, + [I(188,112)] = {29,0x1FFFFC2B}, + [I(189,112)] = {28,0xFFFF96B}, + [I(190,112)] = {28,0xFFFF9AB}, + [I(191,112)] = {29,0x1FFFFC6B}, + [I(192,112)] = {X32,0xFFFFF82B}, + [I(193,112)] = {X32,0xFFFFF86B}, + [I(194,112)] = {26,0x3FFFAEB}, + [I(195,112)] = {25,0x1FFFC6B}, + [I(196,112)] = {28,0xFFFF9EB}, + [I(197,112)] = {29,0x1FFFFCAB}, + [I(198,112)] = {28,0xFFFFA2B}, + [I(199,112)] = {31,0x7FFFFB2B}, + [I(200,112)] = {X32,0xFFFFF8AB}, + [I(201,112)] = {X32,0xFFFFF8EB}, + [I(202,112)] = {X32,0xFFFFF92B}, + [I(203,112)] = {64,0}, + [I(204,112)] = {64,0}, + [I(205,112)] = {X32,0xFFFFF96B}, + [I(206,112)] = {30,0x3FFFFC6B}, + [I(207,112)] = {31,0x7FFFFB6B}, + [I(208,112)] = {25,0x1FFFCAB}, + [I(209,112)] = {27,0x7FFF8EB}, + [I(210,112)] = {X32,0xFFFFF9AB}, + [I(211,112)] = {64,0}, + [I(212,112)] = {64,0}, + [I(213,112)] = {X32,0xFFFFF9EB}, + [I(214,112)] = {64,0}, + [I(215,112)] = {30,0x3FFFFCAB}, + [I(216,112)] = {27,0x7FFF92B}, + [I(217,112)] = {27,0x7FFF96B}, + [I(218,112)] = {X32,0xFFFFFA2B}, + [I(219,112)] = {X32,0xFFFFFA6B}, + [I(220,112)] = {64,0}, + [I(221,112)] = {64,0}, + [I(222,112)] = {64,0}, + [I(223,112)] = {64,0}, + [I(224,112)] = {26,0x3FFFB2B}, + [I(225,112)] = {30,0x3FFFFCEB}, + [I(226,112)] = {26,0x3FFFB6B}, + [I(227,112)] = {27,0x7FFF9AB}, + [I(228,112)] = {28,0xFFFFA6B}, + [I(229,112)] = {27,0x7FFF9EB}, + [I(230,112)] = {27,0x7FFFA2B}, + [I(231,112)] = {29,0x1FFFFCEB}, + [I(232,112)] = {28,0xFFFFAAB}, + [I(233,112)] = {28,0xFFFFAEB}, + [I(234,112)] = {31,0x7FFFFBAB}, + [I(235,112)] = {31,0x7FFFFBEB}, + [I(236,112)] = {30,0x3FFFFD2B}, + [I(237,112)] = {30,0x3FFFFD6B}, + [I(238,112)] = {X32,0xFFFFFAAB}, + [I(239,112)] = {29,0x1FFFFD2B}, + [I(240,112)] = {X32,0xFFFFFAEB}, + [I(241,112)] = {64,0}, + [I(242,112)] = {X32,0xFFFFFB2B}, + [I(243,112)] = {X32,0xFFFFFB6B}, + [I(244,112)] = {64,0}, + [I(245,112)] = {64,0}, + [I(246,112)] = {64,0}, + [I(247,112)] = {64,0}, + [I(248,112)] = {64,0}, + [I(249,112)] = {64,0}, + [I(250,112)] = {64,0}, + [I(251,112)] = {64,0}, + [I(252,112)] = {64,0}, + [I(253,112)] = {64,0}, + [I(254,112)] = {64,0}, + [I(255,112)] = {X32,0xFFFFFBAB}, + [I(0,113)] = {20,0xFFC76}, + [I(1,113)] = {30,0x3FFFEC76}, + [I(2,113)] = {64,0}, + [I(3,113)] = {64,0}, + [I(4,113)] = {64,0}, + [I(5,113)] = {64,0}, + [I(6,113)] = {64,0}, + [I(7,113)] = {64,0}, + [I(8,113)] = {64,0}, + [I(9,113)] = {31,0x7FFFF576}, + [I(10,113)] = {64,0}, + [I(11,113)] = {64,0}, + [I(12,113)] = {64,0}, + [I(13,113)] = {64,0}, + [I(14,113)] = {64,0}, + [I(15,113)] = {64,0}, + [I(16,113)] = {64,0}, + [I(17,113)] = {64,0}, + [I(18,113)] = {64,0}, + [I(19,113)] = {64,0}, + [I(20,113)] = {64,0}, + [I(21,113)] = {64,0}, + [I(22,113)] = {64,0}, + [I(23,113)] = {64,0}, + [I(24,113)] = {64,0}, + [I(25,113)] = {64,0}, + [I(26,113)] = {64,0}, + [I(27,113)] = {64,0}, + [I(28,113)] = {64,0}, + [I(29,113)] = {64,0}, + [I(30,113)] = {64,0}, + [I(31,113)] = {64,0}, + [I(32,113)] = {13,0xA76}, + [I(33,113)] = {17,0x1FC76}, + [I(34,113)] = {17,0x1FCF6}, + [I(35,113)] = {19,0x7FD76}, + [I(36,113)] = {20,0xFFCF6}, + [I(37,113)] = {13,0xAF6}, + [I(38,113)] = {15,0x7C76}, + [I(39,113)] = {18,0x3FD76}, + [I(40,113)] = {17,0x1FD76}, + [I(41,113)] = {17,0x1FDF6}, + [I(42,113)] = {15,0x7CF6}, + [I(43,113)] = {18,0x3FDF6}, + [I(44,113)] = {15,0x7D76}, + [I(45,113)] = {13,0xB76}, + [I(46,113)] = {13,0xBF6}, + [I(47,113)] = {13,0xC76}, + [I(48,113)] = {12,0x76}, + [I(49,113)] = {12,0xF6}, + [I(50,113)] = {12,0x176}, + [I(51,113)] = {13,0xCF6}, + [I(52,113)] = {13,0xD76}, + [I(53,113)] = {13,0xDF6}, + [I(54,113)] = {13,0xE76}, + [I(55,113)] = {13,0xEF6}, + [I(56,113)] = {13,0xF76}, + [I(57,113)] = {13,0xFF6}, + [I(58,113)] = {14,0x2E76}, + [I(59,113)] = {15,0x7DF6}, + [I(60,113)] = {22,0x3FFE76}, + [I(61,113)] = {13,0x1076}, + [I(62,113)] = {19,0x7FDF6}, + [I(63,113)] = {17,0x1FE76}, + [I(64,113)] = {20,0xFFD76}, + [I(65,113)] = {13,0x10F6}, + [I(66,113)] = {14,0x2EF6}, + [I(67,113)] = {14,0x2F76}, + [I(68,113)] = {14,0x2FF6}, + [I(69,113)] = {14,0x3076}, + [I(70,113)] = {14,0x30F6}, + [I(71,113)] = {14,0x3176}, + [I(72,113)] = {14,0x31F6}, + [I(73,113)] = {14,0x3276}, + [I(74,113)] = {14,0x32F6}, + [I(75,113)] = {14,0x3376}, + [I(76,113)] = {14,0x33F6}, + [I(77,113)] = {14,0x3476}, + [I(78,113)] = {14,0x34F6}, + [I(79,113)] = {14,0x3576}, + [I(80,113)] = {14,0x35F6}, + [I(81,113)] = {14,0x3676}, + [I(82,113)] = {14,0x36F6}, + [I(83,113)] = {14,0x3776}, + [I(84,113)] = {14,0x37F6}, + [I(85,113)] = {14,0x3876}, + [I(86,113)] = {14,0x38F6}, + [I(87,113)] = {14,0x3976}, + [I(88,113)] = {15,0x7E76}, + [I(89,113)] = {14,0x39F6}, + [I(90,113)] = {15,0x7EF6}, + [I(91,113)] = {20,0xFFDF6}, + [I(92,113)] = {26,0x3FFF876}, + [I(93,113)] = {20,0xFFE76}, + [I(94,113)] = {21,0x1FFE76}, + [I(95,113)] = {13,0x1176}, + [I(96,113)] = {22,0x3FFEF6}, + [I(97,113)] = {12,0x1F6}, + [I(98,113)] = {13,0x11F6}, + [I(99,113)] = {12,0x276}, + [I(100,113)] = {13,0x1276}, + [I(101,113)] = {12,0x2F6}, + [I(102,113)] = {13,0x12F6}, + [I(103,113)] = {13,0x1376}, + [I(104,113)] = {13,0x13F6}, + [I(105,113)] = {12,0x376}, + [I(106,113)] = {14,0x3A76}, + [I(107,113)] = {14,0x3AF6}, + [I(108,113)] = {13,0x1476}, + [I(109,113)] = {13,0x14F6}, + [I(110,113)] = {13,0x1576}, + [I(111,113)] = {12,0x3F6}, + [I(112,113)] = {13,0x15F6}, + [I(113,113)] = {14,0x3B76}, + [I(114,113)] = {13,0x1676}, + [I(115,113)] = {12,0x476}, + [I(116,113)] = {12,0x4F6}, + [I(117,113)] = {13,0x16F6}, + [I(118,113)] = {14,0x3BF6}, + [I(119,113)] = {14,0x3C76}, + [I(120,113)] = {14,0x3CF6}, + [I(121,113)] = {14,0x3D76}, + [I(122,113)] = {14,0x3DF6}, + [I(123,113)] = {22,0x3FFF76}, + [I(124,113)] = {18,0x3FE76}, + [I(125,113)] = {21,0x1FFEF6}, + [I(126,113)] = {20,0xFFEF6}, + [I(127,113)] = {64,0}, + [I(128,113)] = {27,0x7FFF376}, + [I(129,113)] = {29,0x1FFFE976}, + [I(130,113)] = {27,0x7FFF3F6}, + [I(131,113)] = {27,0x7FFF476}, + [I(132,113)] = {29,0x1FFFE9F6}, + [I(133,113)] = {29,0x1FFFEA76}, + [I(134,113)] = {29,0x1FFFEAF6}, + [I(135,113)] = {30,0x3FFFECF6}, + [I(136,113)] = {29,0x1FFFEB76}, + [I(137,113)] = {30,0x3FFFED76}, + [I(138,113)] = {30,0x3FFFEDF6}, + [I(139,113)] = {30,0x3FFFEE76}, + [I(140,113)] = {30,0x3FFFEEF6}, + [I(141,113)] = {30,0x3FFFEF76}, + [I(142,113)] = {31,0x7FFFF5F6}, + [I(143,113)] = {30,0x3FFFEFF6}, + [I(144,113)] = {31,0x7FFFF676}, + [I(145,113)] = {31,0x7FFFF6F6}, + [I(146,113)] = {29,0x1FFFEBF6}, + [I(147,113)] = {30,0x3FFFF076}, + [I(148,113)] = {31,0x7FFFF776}, + [I(149,113)] = {30,0x3FFFF0F6}, + [I(150,113)] = {30,0x3FFFF176}, + [I(151,113)] = {30,0x3FFFF1F6}, + [I(152,113)] = {30,0x3FFFF276}, + [I(153,113)] = {28,0xFFFEE76}, + [I(154,113)] = {29,0x1FFFEC76}, + [I(155,113)] = {30,0x3FFFF2F6}, + [I(156,113)] = {29,0x1FFFECF6}, + [I(157,113)] = {30,0x3FFFF376}, + [I(158,113)] = {30,0x3FFFF3F6}, + [I(159,113)] = {31,0x7FFFF7F6}, + [I(160,113)] = {29,0x1FFFED76}, + [I(161,113)] = {28,0xFFFEEF6}, + [I(162,113)] = {27,0x7FFF4F6}, + [I(163,113)] = {29,0x1FFFEDF6}, + [I(164,113)] = {29,0x1FFFEE76}, + [I(165,113)] = {30,0x3FFFF476}, + [I(166,113)] = {30,0x3FFFF4F6}, + [I(167,113)] = {28,0xFFFEF76}, + [I(168,113)] = {30,0x3FFFF576}, + [I(169,113)] = {29,0x1FFFEEF6}, + [I(170,113)] = {29,0x1FFFEF76}, + [I(171,113)] = {31,0x7FFFF876}, + [I(172,113)] = {28,0xFFFEFF6}, + [I(173,113)] = {29,0x1FFFEFF6}, + [I(174,113)] = {30,0x3FFFF5F6}, + [I(175,113)] = {30,0x3FFFF676}, + [I(176,113)] = {28,0xFFFF076}, + [I(177,113)] = {28,0xFFFF0F6}, + [I(178,113)] = {29,0x1FFFF076}, + [I(179,113)] = {28,0xFFFF176}, + [I(180,113)] = {30,0x3FFFF6F6}, + [I(181,113)] = {29,0x1FFFF0F6}, + [I(182,113)] = {30,0x3FFFF776}, + [I(183,113)] = {30,0x3FFFF7F6}, + [I(184,113)] = {27,0x7FFF576}, + [I(185,113)] = {29,0x1FFFF176}, + [I(186,113)] = {29,0x1FFFF1F6}, + [I(187,113)] = {29,0x1FFFF276}, + [I(188,113)] = {30,0x3FFFF876}, + [I(189,113)] = {29,0x1FFFF2F6}, + [I(190,113)] = {29,0x1FFFF376}, + [I(191,113)] = {30,0x3FFFF8F6}, + [I(192,113)] = {64,0}, + [I(193,113)] = {64,0}, + [I(194,113)] = {27,0x7FFF5F6}, + [I(195,113)] = {26,0x3FFF8F6}, + [I(196,113)] = {29,0x1FFFF3F6}, + [I(197,113)] = {30,0x3FFFF976}, + [I(198,113)] = {29,0x1FFFF476}, + [I(199,113)] = {X32,0xFFFFF676}, + [I(200,113)] = {64,0}, + [I(201,113)] = {64,0}, + [I(202,113)] = {64,0}, + [I(203,113)] = {64,0}, + [I(204,113)] = {64,0}, + [I(205,113)] = {64,0}, + [I(206,113)] = {31,0x7FFFF8F6}, + [I(207,113)] = {X32,0xFFFFF6F6}, + [I(208,113)] = {26,0x3FFF976}, + [I(209,113)] = {28,0xFFFF1F6}, + [I(210,113)] = {64,0}, + [I(211,113)] = {64,0}, + [I(212,113)] = {64,0}, + [I(213,113)] = {64,0}, + [I(214,113)] = {64,0}, + [I(215,113)] = {31,0x7FFFF976}, + [I(216,113)] = {28,0xFFFF276}, + [I(217,113)] = {28,0xFFFF2F6}, + [I(218,113)] = {64,0}, + [I(219,113)] = {64,0}, + [I(220,113)] = {64,0}, + [I(221,113)] = {64,0}, + [I(222,113)] = {64,0}, + [I(223,113)] = {64,0}, + [I(224,113)] = {27,0x7FFF676}, + [I(225,113)] = {31,0x7FFFF9F6}, + [I(226,113)] = {27,0x7FFF6F6}, + [I(227,113)] = {28,0xFFFF376}, + [I(228,113)] = {29,0x1FFFF4F6}, + [I(229,113)] = {28,0xFFFF3F6}, + [I(230,113)] = {28,0xFFFF476}, + [I(231,113)] = {30,0x3FFFF9F6}, + [I(232,113)] = {29,0x1FFFF576}, + [I(233,113)] = {29,0x1FFFF5F6}, + [I(234,113)] = {X32,0xFFFFF776}, + [I(235,113)] = {X32,0xFFFFF7F6}, + [I(236,113)] = {31,0x7FFFFA76}, + [I(237,113)] = {31,0x7FFFFAF6}, + [I(238,113)] = {64,0}, + [I(239,113)] = {30,0x3FFFFA76}, + [I(240,113)] = {64,0}, + [I(241,113)] = {64,0}, + [I(242,113)] = {64,0}, + [I(243,113)] = {64,0}, + [I(244,113)] = {64,0}, + [I(245,113)] = {64,0}, + [I(246,113)] = {64,0}, + [I(247,113)] = {64,0}, + [I(248,113)] = {64,0}, + [I(249,113)] = {64,0}, + [I(250,113)] = {64,0}, + [I(251,113)] = {64,0}, + [I(252,113)] = {64,0}, + [I(253,113)] = {64,0}, + [I(254,113)] = {64,0}, + [I(255,113)] = {64,0}, + [I(0,114)] = {19,0x7FE2C}, + [I(1,114)] = {29,0x1FFFF62C}, + [I(2,114)] = {64,0}, + [I(3,114)] = {64,0}, + [I(4,114)] = {64,0}, + [I(5,114)] = {64,0}, + [I(6,114)] = {64,0}, + [I(7,114)] = {64,0}, + [I(8,114)] = {64,0}, + [I(9,114)] = {30,0x3FFFFAAC}, + [I(10,114)] = {64,0}, + [I(11,114)] = {64,0}, + [I(12,114)] = {64,0}, + [I(13,114)] = {64,0}, + [I(14,114)] = {64,0}, + [I(15,114)] = {64,0}, + [I(16,114)] = {64,0}, + [I(17,114)] = {64,0}, + [I(18,114)] = {64,0}, + [I(19,114)] = {64,0}, + [I(20,114)] = {64,0}, + [I(21,114)] = {64,0}, + [I(22,114)] = {64,0}, + [I(23,114)] = {64,0}, + [I(24,114)] = {64,0}, + [I(25,114)] = {64,0}, + [I(26,114)] = {64,0}, + [I(27,114)] = {64,0}, + [I(28,114)] = {64,0}, + [I(29,114)] = {64,0}, + [I(30,114)] = {64,0}, + [I(31,114)] = {64,0}, + [I(32,114)] = {12,0x52C}, + [I(33,114)] = {16,0xFE2C}, + [I(34,114)] = {16,0xFE6C}, + [I(35,114)] = {18,0x3FEAC}, + [I(36,114)] = {19,0x7FE6C}, + [I(37,114)] = {12,0x56C}, + [I(38,114)] = {14,0x3E2C}, + [I(39,114)] = {17,0x1FEAC}, + [I(40,114)] = {16,0xFEAC}, + [I(41,114)] = {16,0xFEEC}, + [I(42,114)] = {14,0x3E6C}, + [I(43,114)] = {17,0x1FEEC}, + [I(44,114)] = {14,0x3EAC}, + [I(45,114)] = {12,0x5AC}, + [I(46,114)] = {12,0x5EC}, + [I(47,114)] = {12,0x62C}, + [I(48,114)] = {11,0x2C}, + [I(49,114)] = {11,0x6C}, + [I(50,114)] = {11,0xAC}, + [I(51,114)] = {12,0x66C}, + [I(52,114)] = {12,0x6AC}, + [I(53,114)] = {12,0x6EC}, + [I(54,114)] = {12,0x72C}, + [I(55,114)] = {12,0x76C}, + [I(56,114)] = {12,0x7AC}, + [I(57,114)] = {12,0x7EC}, + [I(58,114)] = {13,0x172C}, + [I(59,114)] = {14,0x3EEC}, + [I(60,114)] = {21,0x1FFF2C}, + [I(61,114)] = {12,0x82C}, + [I(62,114)] = {18,0x3FEEC}, + [I(63,114)] = {16,0xFF2C}, + [I(64,114)] = {19,0x7FEAC}, + [I(65,114)] = {12,0x86C}, + [I(66,114)] = {13,0x176C}, + [I(67,114)] = {13,0x17AC}, + [I(68,114)] = {13,0x17EC}, + [I(69,114)] = {13,0x182C}, + [I(70,114)] = {13,0x186C}, + [I(71,114)] = {13,0x18AC}, + [I(72,114)] = {13,0x18EC}, + [I(73,114)] = {13,0x192C}, + [I(74,114)] = {13,0x196C}, + [I(75,114)] = {13,0x19AC}, + [I(76,114)] = {13,0x19EC}, + [I(77,114)] = {13,0x1A2C}, + [I(78,114)] = {13,0x1A6C}, + [I(79,114)] = {13,0x1AAC}, + [I(80,114)] = {13,0x1AEC}, + [I(81,114)] = {13,0x1B2C}, + [I(82,114)] = {13,0x1B6C}, + [I(83,114)] = {13,0x1BAC}, + [I(84,114)] = {13,0x1BEC}, + [I(85,114)] = {13,0x1C2C}, + [I(86,114)] = {13,0x1C6C}, + [I(87,114)] = {13,0x1CAC}, + [I(88,114)] = {14,0x3F2C}, + [I(89,114)] = {13,0x1CEC}, + [I(90,114)] = {14,0x3F6C}, + [I(91,114)] = {19,0x7FEEC}, + [I(92,114)] = {25,0x1FFFC2C}, + [I(93,114)] = {19,0x7FF2C}, + [I(94,114)] = {20,0xFFF2C}, + [I(95,114)] = {12,0x8AC}, + [I(96,114)] = {21,0x1FFF6C}, + [I(97,114)] = {11,0xEC}, + [I(98,114)] = {12,0x8EC}, + [I(99,114)] = {11,0x12C}, + [I(100,114)] = {12,0x92C}, + [I(101,114)] = {11,0x16C}, + [I(102,114)] = {12,0x96C}, + [I(103,114)] = {12,0x9AC}, + [I(104,114)] = {12,0x9EC}, + [I(105,114)] = {11,0x1AC}, + [I(106,114)] = {13,0x1D2C}, + [I(107,114)] = {13,0x1D6C}, + [I(108,114)] = {12,0xA2C}, + [I(109,114)] = {12,0xA6C}, + [I(110,114)] = {12,0xAAC}, + [I(111,114)] = {11,0x1EC}, + [I(112,114)] = {12,0xAEC}, + [I(113,114)] = {13,0x1DAC}, + [I(114,114)] = {12,0xB2C}, + [I(115,114)] = {11,0x22C}, + [I(116,114)] = {11,0x26C}, + [I(117,114)] = {12,0xB6C}, + [I(118,114)] = {13,0x1DEC}, + [I(119,114)] = {13,0x1E2C}, + [I(120,114)] = {13,0x1E6C}, + [I(121,114)] = {13,0x1EAC}, + [I(122,114)] = {13,0x1EEC}, + [I(123,114)] = {21,0x1FFFAC}, + [I(124,114)] = {17,0x1FF2C}, + [I(125,114)] = {20,0xFFF6C}, + [I(126,114)] = {19,0x7FF6C}, + [I(127,114)] = {64,0}, + [I(128,114)] = {26,0x3FFF9AC}, + [I(129,114)] = {28,0xFFFF4AC}, + [I(130,114)] = {26,0x3FFF9EC}, + [I(131,114)] = {26,0x3FFFA2C}, + [I(132,114)] = {28,0xFFFF4EC}, + [I(133,114)] = {28,0xFFFF52C}, + [I(134,114)] = {28,0xFFFF56C}, + [I(135,114)] = {29,0x1FFFF66C}, + [I(136,114)] = {28,0xFFFF5AC}, + [I(137,114)] = {29,0x1FFFF6AC}, + [I(138,114)] = {29,0x1FFFF6EC}, + [I(139,114)] = {29,0x1FFFF72C}, + [I(140,114)] = {29,0x1FFFF76C}, + [I(141,114)] = {29,0x1FFFF7AC}, + [I(142,114)] = {30,0x3FFFFAEC}, + [I(143,114)] = {29,0x1FFFF7EC}, + [I(144,114)] = {30,0x3FFFFB2C}, + [I(145,114)] = {30,0x3FFFFB6C}, + [I(146,114)] = {28,0xFFFF5EC}, + [I(147,114)] = {29,0x1FFFF82C}, + [I(148,114)] = {30,0x3FFFFBAC}, + [I(149,114)] = {29,0x1FFFF86C}, + [I(150,114)] = {29,0x1FFFF8AC}, + [I(151,114)] = {29,0x1FFFF8EC}, + [I(152,114)] = {29,0x1FFFF92C}, + [I(153,114)] = {27,0x7FFF72C}, + [I(154,114)] = {28,0xFFFF62C}, + [I(155,114)] = {29,0x1FFFF96C}, + [I(156,114)] = {28,0xFFFF66C}, + [I(157,114)] = {29,0x1FFFF9AC}, + [I(158,114)] = {29,0x1FFFF9EC}, + [I(159,114)] = {30,0x3FFFFBEC}, + [I(160,114)] = {28,0xFFFF6AC}, + [I(161,114)] = {27,0x7FFF76C}, + [I(162,114)] = {26,0x3FFFA6C}, + [I(163,114)] = {28,0xFFFF6EC}, + [I(164,114)] = {28,0xFFFF72C}, + [I(165,114)] = {29,0x1FFFFA2C}, + [I(166,114)] = {29,0x1FFFFA6C}, + [I(167,114)] = {27,0x7FFF7AC}, + [I(168,114)] = {29,0x1FFFFAAC}, + [I(169,114)] = {28,0xFFFF76C}, + [I(170,114)] = {28,0xFFFF7AC}, + [I(171,114)] = {30,0x3FFFFC2C}, + [I(172,114)] = {27,0x7FFF7EC}, + [I(173,114)] = {28,0xFFFF7EC}, + [I(174,114)] = {29,0x1FFFFAEC}, + [I(175,114)] = {29,0x1FFFFB2C}, + [I(176,114)] = {27,0x7FFF82C}, + [I(177,114)] = {27,0x7FFF86C}, + [I(178,114)] = {28,0xFFFF82C}, + [I(179,114)] = {27,0x7FFF8AC}, + [I(180,114)] = {29,0x1FFFFB6C}, + [I(181,114)] = {28,0xFFFF86C}, + [I(182,114)] = {29,0x1FFFFBAC}, + [I(183,114)] = {29,0x1FFFFBEC}, + [I(184,114)] = {26,0x3FFFAAC}, + [I(185,114)] = {28,0xFFFF8AC}, + [I(186,114)] = {28,0xFFFF8EC}, + [I(187,114)] = {28,0xFFFF92C}, + [I(188,114)] = {29,0x1FFFFC2C}, + [I(189,114)] = {28,0xFFFF96C}, + [I(190,114)] = {28,0xFFFF9AC}, + [I(191,114)] = {29,0x1FFFFC6C}, + [I(192,114)] = {X32,0xFFFFF82C}, + [I(193,114)] = {X32,0xFFFFF86C}, + [I(194,114)] = {26,0x3FFFAEC}, + [I(195,114)] = {25,0x1FFFC6C}, + [I(196,114)] = {28,0xFFFF9EC}, + [I(197,114)] = {29,0x1FFFFCAC}, + [I(198,114)] = {28,0xFFFFA2C}, + [I(199,114)] = {31,0x7FFFFB2C}, + [I(200,114)] = {X32,0xFFFFF8AC}, + [I(201,114)] = {X32,0xFFFFF8EC}, + [I(202,114)] = {X32,0xFFFFF92C}, + [I(203,114)] = {64,0}, + [I(204,114)] = {64,0}, + [I(205,114)] = {X32,0xFFFFF96C}, + [I(206,114)] = {30,0x3FFFFC6C}, + [I(207,114)] = {31,0x7FFFFB6C}, + [I(208,114)] = {25,0x1FFFCAC}, + [I(209,114)] = {27,0x7FFF8EC}, + [I(210,114)] = {X32,0xFFFFF9AC}, + [I(211,114)] = {64,0}, + [I(212,114)] = {64,0}, + [I(213,114)] = {X32,0xFFFFF9EC}, + [I(214,114)] = {64,0}, + [I(215,114)] = {30,0x3FFFFCAC}, + [I(216,114)] = {27,0x7FFF92C}, + [I(217,114)] = {27,0x7FFF96C}, + [I(218,114)] = {X32,0xFFFFFA2C}, + [I(219,114)] = {X32,0xFFFFFA6C}, + [I(220,114)] = {64,0}, + [I(221,114)] = {64,0}, + [I(222,114)] = {64,0}, + [I(223,114)] = {64,0}, + [I(224,114)] = {26,0x3FFFB2C}, + [I(225,114)] = {30,0x3FFFFCEC}, + [I(226,114)] = {26,0x3FFFB6C}, + [I(227,114)] = {27,0x7FFF9AC}, + [I(228,114)] = {28,0xFFFFA6C}, + [I(229,114)] = {27,0x7FFF9EC}, + [I(230,114)] = {27,0x7FFFA2C}, + [I(231,114)] = {29,0x1FFFFCEC}, + [I(232,114)] = {28,0xFFFFAAC}, + [I(233,114)] = {28,0xFFFFAEC}, + [I(234,114)] = {31,0x7FFFFBAC}, + [I(235,114)] = {31,0x7FFFFBEC}, + [I(236,114)] = {30,0x3FFFFD2C}, + [I(237,114)] = {30,0x3FFFFD6C}, + [I(238,114)] = {X32,0xFFFFFAAC}, + [I(239,114)] = {29,0x1FFFFD2C}, + [I(240,114)] = {X32,0xFFFFFAEC}, + [I(241,114)] = {64,0}, + [I(242,114)] = {X32,0xFFFFFB2C}, + [I(243,114)] = {X32,0xFFFFFB6C}, + [I(244,114)] = {64,0}, + [I(245,114)] = {64,0}, + [I(246,114)] = {64,0}, + [I(247,114)] = {64,0}, + [I(248,114)] = {64,0}, + [I(249,114)] = {64,0}, + [I(250,114)] = {64,0}, + [I(251,114)] = {64,0}, + [I(252,114)] = {64,0}, + [I(253,114)] = {64,0}, + [I(254,114)] = {64,0}, + [I(255,114)] = {X32,0xFFFFFBAC}, + [I(0,115)] = {18,0x3FF08}, + [I(1,115)] = {28,0xFFFFB08}, + [I(2,115)] = {64,0}, + [I(3,115)] = {64,0}, + [I(4,115)] = {64,0}, + [I(5,115)] = {64,0}, + [I(6,115)] = {64,0}, + [I(7,115)] = {64,0}, + [I(8,115)] = {64,0}, + [I(9,115)] = {29,0x1FFFFD48}, + [I(10,115)] = {64,0}, + [I(11,115)] = {64,0}, + [I(12,115)] = {64,0}, + [I(13,115)] = {64,0}, + [I(14,115)] = {64,0}, + [I(15,115)] = {64,0}, + [I(16,115)] = {64,0}, + [I(17,115)] = {64,0}, + [I(18,115)] = {64,0}, + [I(19,115)] = {64,0}, + [I(20,115)] = {64,0}, + [I(21,115)] = {64,0}, + [I(22,115)] = {64,0}, + [I(23,115)] = {64,0}, + [I(24,115)] = {64,0}, + [I(25,115)] = {64,0}, + [I(26,115)] = {64,0}, + [I(27,115)] = {64,0}, + [I(28,115)] = {64,0}, + [I(29,115)] = {64,0}, + [I(30,115)] = {64,0}, + [I(31,115)] = {64,0}, + [I(32,115)] = {11,0x288}, + [I(33,115)] = {15,0x7F08}, + [I(34,115)] = {15,0x7F28}, + [I(35,115)] = {17,0x1FF48}, + [I(36,115)] = {18,0x3FF28}, + [I(37,115)] = {11,0x2A8}, + [I(38,115)] = {13,0x1F08}, + [I(39,115)] = {16,0xFF48}, + [I(40,115)] = {15,0x7F48}, + [I(41,115)] = {15,0x7F68}, + [I(42,115)] = {13,0x1F28}, + [I(43,115)] = {16,0xFF68}, + [I(44,115)] = {13,0x1F48}, + [I(45,115)] = {11,0x2C8}, + [I(46,115)] = {11,0x2E8}, + [I(47,115)] = {11,0x308}, + [I(48,115)] = {10,0x8}, + [I(49,115)] = {10,0x28}, + [I(50,115)] = {10,0x48}, + [I(51,115)] = {11,0x328}, + [I(52,115)] = {11,0x348}, + [I(53,115)] = {11,0x368}, + [I(54,115)] = {11,0x388}, + [I(55,115)] = {11,0x3A8}, + [I(56,115)] = {11,0x3C8}, + [I(57,115)] = {11,0x3E8}, + [I(58,115)] = {12,0xB88}, + [I(59,115)] = {13,0x1F68}, + [I(60,115)] = {20,0xFFF88}, + [I(61,115)] = {11,0x408}, + [I(62,115)] = {17,0x1FF68}, + [I(63,115)] = {15,0x7F88}, + [I(64,115)] = {18,0x3FF48}, + [I(65,115)] = {11,0x428}, + [I(66,115)] = {12,0xBA8}, + [I(67,115)] = {12,0xBC8}, + [I(68,115)] = {12,0xBE8}, + [I(69,115)] = {12,0xC08}, + [I(70,115)] = {12,0xC28}, + [I(71,115)] = {12,0xC48}, + [I(72,115)] = {12,0xC68}, + [I(73,115)] = {12,0xC88}, + [I(74,115)] = {12,0xCA8}, + [I(75,115)] = {12,0xCC8}, + [I(76,115)] = {12,0xCE8}, + [I(77,115)] = {12,0xD08}, + [I(78,115)] = {12,0xD28}, + [I(79,115)] = {12,0xD48}, + [I(80,115)] = {12,0xD68}, + [I(81,115)] = {12,0xD88}, + [I(82,115)] = {12,0xDA8}, + [I(83,115)] = {12,0xDC8}, + [I(84,115)] = {12,0xDE8}, + [I(85,115)] = {12,0xE08}, + [I(86,115)] = {12,0xE28}, + [I(87,115)] = {12,0xE48}, + [I(88,115)] = {13,0x1F88}, + [I(89,115)] = {12,0xE68}, + [I(90,115)] = {13,0x1FA8}, + [I(91,115)] = {18,0x3FF68}, + [I(92,115)] = {24,0xFFFE08}, + [I(93,115)] = {18,0x3FF88}, + [I(94,115)] = {19,0x7FF88}, + [I(95,115)] = {11,0x448}, + [I(96,115)] = {20,0xFFFA8}, + [I(97,115)] = {10,0x68}, + [I(98,115)] = {11,0x468}, + [I(99,115)] = {10,0x88}, + [I(100,115)] = {11,0x488}, + [I(101,115)] = {10,0xA8}, + [I(102,115)] = {11,0x4A8}, + [I(103,115)] = {11,0x4C8}, + [I(104,115)] = {11,0x4E8}, + [I(105,115)] = {10,0xC8}, + [I(106,115)] = {12,0xE88}, + [I(107,115)] = {12,0xEA8}, + [I(108,115)] = {11,0x508}, + [I(109,115)] = {11,0x528}, + [I(110,115)] = {11,0x548}, + [I(111,115)] = {10,0xE8}, + [I(112,115)] = {11,0x568}, + [I(113,115)] = {12,0xEC8}, + [I(114,115)] = {11,0x588}, + [I(115,115)] = {10,0x108}, + [I(116,115)] = {10,0x128}, + [I(117,115)] = {11,0x5A8}, + [I(118,115)] = {12,0xEE8}, + [I(119,115)] = {12,0xF08}, + [I(120,115)] = {12,0xF28}, + [I(121,115)] = {12,0xF48}, + [I(122,115)] = {12,0xF68}, + [I(123,115)] = {20,0xFFFC8}, + [I(124,115)] = {16,0xFF88}, + [I(125,115)] = {19,0x7FFA8}, + [I(126,115)] = {18,0x3FFA8}, + [I(127,115)] = {64,0}, + [I(128,115)] = {25,0x1FFFCC8}, + [I(129,115)] = {27,0x7FFFA48}, + [I(130,115)] = {25,0x1FFFCE8}, + [I(131,115)] = {25,0x1FFFD08}, + [I(132,115)] = {27,0x7FFFA68}, + [I(133,115)] = {27,0x7FFFA88}, + [I(134,115)] = {27,0x7FFFAA8}, + [I(135,115)] = {28,0xFFFFB28}, + [I(136,115)] = {27,0x7FFFAC8}, + [I(137,115)] = {28,0xFFFFB48}, + [I(138,115)] = {28,0xFFFFB68}, + [I(139,115)] = {28,0xFFFFB88}, + [I(140,115)] = {28,0xFFFFBA8}, + [I(141,115)] = {28,0xFFFFBC8}, + [I(142,115)] = {29,0x1FFFFD68}, + [I(143,115)] = {28,0xFFFFBE8}, + [I(144,115)] = {29,0x1FFFFD88}, + [I(145,115)] = {29,0x1FFFFDA8}, + [I(146,115)] = {27,0x7FFFAE8}, + [I(147,115)] = {28,0xFFFFC08}, + [I(148,115)] = {29,0x1FFFFDC8}, + [I(149,115)] = {28,0xFFFFC28}, + [I(150,115)] = {28,0xFFFFC48}, + [I(151,115)] = {28,0xFFFFC68}, + [I(152,115)] = {28,0xFFFFC88}, + [I(153,115)] = {26,0x3FFFB88}, + [I(154,115)] = {27,0x7FFFB08}, + [I(155,115)] = {28,0xFFFFCA8}, + [I(156,115)] = {27,0x7FFFB28}, + [I(157,115)] = {28,0xFFFFCC8}, + [I(158,115)] = {28,0xFFFFCE8}, + [I(159,115)] = {29,0x1FFFFDE8}, + [I(160,115)] = {27,0x7FFFB48}, + [I(161,115)] = {26,0x3FFFBA8}, + [I(162,115)] = {25,0x1FFFD28}, + [I(163,115)] = {27,0x7FFFB68}, + [I(164,115)] = {27,0x7FFFB88}, + [I(165,115)] = {28,0xFFFFD08}, + [I(166,115)] = {28,0xFFFFD28}, + [I(167,115)] = {26,0x3FFFBC8}, + [I(168,115)] = {28,0xFFFFD48}, + [I(169,115)] = {27,0x7FFFBA8}, + [I(170,115)] = {27,0x7FFFBC8}, + [I(171,115)] = {29,0x1FFFFE08}, + [I(172,115)] = {26,0x3FFFBE8}, + [I(173,115)] = {27,0x7FFFBE8}, + [I(174,115)] = {28,0xFFFFD68}, + [I(175,115)] = {28,0xFFFFD88}, + [I(176,115)] = {26,0x3FFFC08}, + [I(177,115)] = {26,0x3FFFC28}, + [I(178,115)] = {27,0x7FFFC08}, + [I(179,115)] = {26,0x3FFFC48}, + [I(180,115)] = {28,0xFFFFDA8}, + [I(181,115)] = {27,0x7FFFC28}, + [I(182,115)] = {28,0xFFFFDC8}, + [I(183,115)] = {28,0xFFFFDE8}, + [I(184,115)] = {25,0x1FFFD48}, + [I(185,115)] = {27,0x7FFFC48}, + [I(186,115)] = {27,0x7FFFC68}, + [I(187,115)] = {27,0x7FFFC88}, + [I(188,115)] = {28,0xFFFFE08}, + [I(189,115)] = {27,0x7FFFCA8}, + [I(190,115)] = {27,0x7FFFCC8}, + [I(191,115)] = {28,0xFFFFE28}, + [I(192,115)] = {31,0x7FFFFC08}, + [I(193,115)] = {31,0x7FFFFC28}, + [I(194,115)] = {25,0x1FFFD68}, + [I(195,115)] = {24,0xFFFE28}, + [I(196,115)] = {27,0x7FFFCE8}, + [I(197,115)] = {28,0xFFFFE48}, + [I(198,115)] = {27,0x7FFFD08}, + [I(199,115)] = {30,0x3FFFFD88}, + [I(200,115)] = {31,0x7FFFFC48}, + [I(201,115)] = {31,0x7FFFFC68}, + [I(202,115)] = {31,0x7FFFFC88}, + [I(203,115)] = {X32,0xFFFFFBC8}, + [I(204,115)] = {X32,0xFFFFFBE8}, + [I(205,115)] = {31,0x7FFFFCA8}, + [I(206,115)] = {29,0x1FFFFE28}, + [I(207,115)] = {30,0x3FFFFDA8}, + [I(208,115)] = {24,0xFFFE48}, + [I(209,115)] = {26,0x3FFFC68}, + [I(210,115)] = {31,0x7FFFFCC8}, + [I(211,115)] = {X32,0xFFFFFC08}, + [I(212,115)] = {X32,0xFFFFFC28}, + [I(213,115)] = {31,0x7FFFFCE8}, + [I(214,115)] = {X32,0xFFFFFC48}, + [I(215,115)] = {29,0x1FFFFE48}, + [I(216,115)] = {26,0x3FFFC88}, + [I(217,115)] = {26,0x3FFFCA8}, + [I(218,115)] = {31,0x7FFFFD08}, + [I(219,115)] = {31,0x7FFFFD28}, + [I(220,115)] = {64,0}, + [I(221,115)] = {X32,0xFFFFFC68}, + [I(222,115)] = {X32,0xFFFFFC88}, + [I(223,115)] = {X32,0xFFFFFCA8}, + [I(224,115)] = {25,0x1FFFD88}, + [I(225,115)] = {29,0x1FFFFE68}, + [I(226,115)] = {25,0x1FFFDA8}, + [I(227,115)] = {26,0x3FFFCC8}, + [I(228,115)] = {27,0x7FFFD28}, + [I(229,115)] = {26,0x3FFFCE8}, + [I(230,115)] = {26,0x3FFFD08}, + [I(231,115)] = {28,0xFFFFE68}, + [I(232,115)] = {27,0x7FFFD48}, + [I(233,115)] = {27,0x7FFFD68}, + [I(234,115)] = {30,0x3FFFFDC8}, + [I(235,115)] = {30,0x3FFFFDE8}, + [I(236,115)] = {29,0x1FFFFE88}, + [I(237,115)] = {29,0x1FFFFEA8}, + [I(238,115)] = {31,0x7FFFFD48}, + [I(239,115)] = {28,0xFFFFE88}, + [I(240,115)] = {31,0x7FFFFD68}, + [I(241,115)] = {X32,0xFFFFFCC8}, + [I(242,115)] = {31,0x7FFFFD88}, + [I(243,115)] = {31,0x7FFFFDA8}, + [I(244,115)] = {X32,0xFFFFFCE8}, + [I(245,115)] = {X32,0xFFFFFD08}, + [I(246,115)] = {X32,0xFFFFFD28}, + [I(247,115)] = {X32,0xFFFFFD48}, + [I(248,115)] = {X32,0xFFFFFD68}, + [I(249,115)] = {64,0}, + [I(250,115)] = {X32,0xFFFFFD88}, + [I(251,115)] = {X32,0xFFFFFDA8}, + [I(252,115)] = {X32,0xFFFFFDC8}, + [I(253,115)] = {X32,0xFFFFFDE8}, + [I(254,115)] = {X32,0xFFFFFE08}, + [I(255,115)] = {31,0x7FFFFDC8}, + [I(0,116)] = {18,0x3FF09}, + [I(1,116)] = {28,0xFFFFB09}, + [I(2,116)] = {64,0}, + [I(3,116)] = {64,0}, + [I(4,116)] = {64,0}, + [I(5,116)] = {64,0}, + [I(6,116)] = {64,0}, + [I(7,116)] = {64,0}, + [I(8,116)] = {64,0}, + [I(9,116)] = {29,0x1FFFFD49}, + [I(10,116)] = {64,0}, + [I(11,116)] = {64,0}, + [I(12,116)] = {64,0}, + [I(13,116)] = {64,0}, + [I(14,116)] = {64,0}, + [I(15,116)] = {64,0}, + [I(16,116)] = {64,0}, + [I(17,116)] = {64,0}, + [I(18,116)] = {64,0}, + [I(19,116)] = {64,0}, + [I(20,116)] = {64,0}, + [I(21,116)] = {64,0}, + [I(22,116)] = {64,0}, + [I(23,116)] = {64,0}, + [I(24,116)] = {64,0}, + [I(25,116)] = {64,0}, + [I(26,116)] = {64,0}, + [I(27,116)] = {64,0}, + [I(28,116)] = {64,0}, + [I(29,116)] = {64,0}, + [I(30,116)] = {64,0}, + [I(31,116)] = {64,0}, + [I(32,116)] = {11,0x289}, + [I(33,116)] = {15,0x7F09}, + [I(34,116)] = {15,0x7F29}, + [I(35,116)] = {17,0x1FF49}, + [I(36,116)] = {18,0x3FF29}, + [I(37,116)] = {11,0x2A9}, + [I(38,116)] = {13,0x1F09}, + [I(39,116)] = {16,0xFF49}, + [I(40,116)] = {15,0x7F49}, + [I(41,116)] = {15,0x7F69}, + [I(42,116)] = {13,0x1F29}, + [I(43,116)] = {16,0xFF69}, + [I(44,116)] = {13,0x1F49}, + [I(45,116)] = {11,0x2C9}, + [I(46,116)] = {11,0x2E9}, + [I(47,116)] = {11,0x309}, + [I(48,116)] = {10,0x9}, + [I(49,116)] = {10,0x29}, + [I(50,116)] = {10,0x49}, + [I(51,116)] = {11,0x329}, + [I(52,116)] = {11,0x349}, + [I(53,116)] = {11,0x369}, + [I(54,116)] = {11,0x389}, + [I(55,116)] = {11,0x3A9}, + [I(56,116)] = {11,0x3C9}, + [I(57,116)] = {11,0x3E9}, + [I(58,116)] = {12,0xB89}, + [I(59,116)] = {13,0x1F69}, + [I(60,116)] = {20,0xFFF89}, + [I(61,116)] = {11,0x409}, + [I(62,116)] = {17,0x1FF69}, + [I(63,116)] = {15,0x7F89}, + [I(64,116)] = {18,0x3FF49}, + [I(65,116)] = {11,0x429}, + [I(66,116)] = {12,0xBA9}, + [I(67,116)] = {12,0xBC9}, + [I(68,116)] = {12,0xBE9}, + [I(69,116)] = {12,0xC09}, + [I(70,116)] = {12,0xC29}, + [I(71,116)] = {12,0xC49}, + [I(72,116)] = {12,0xC69}, + [I(73,116)] = {12,0xC89}, + [I(74,116)] = {12,0xCA9}, + [I(75,116)] = {12,0xCC9}, + [I(76,116)] = {12,0xCE9}, + [I(77,116)] = {12,0xD09}, + [I(78,116)] = {12,0xD29}, + [I(79,116)] = {12,0xD49}, + [I(80,116)] = {12,0xD69}, + [I(81,116)] = {12,0xD89}, + [I(82,116)] = {12,0xDA9}, + [I(83,116)] = {12,0xDC9}, + [I(84,116)] = {12,0xDE9}, + [I(85,116)] = {12,0xE09}, + [I(86,116)] = {12,0xE29}, + [I(87,116)] = {12,0xE49}, + [I(88,116)] = {13,0x1F89}, + [I(89,116)] = {12,0xE69}, + [I(90,116)] = {13,0x1FA9}, + [I(91,116)] = {18,0x3FF69}, + [I(92,116)] = {24,0xFFFE09}, + [I(93,116)] = {18,0x3FF89}, + [I(94,116)] = {19,0x7FF89}, + [I(95,116)] = {11,0x449}, + [I(96,116)] = {20,0xFFFA9}, + [I(97,116)] = {10,0x69}, + [I(98,116)] = {11,0x469}, + [I(99,116)] = {10,0x89}, + [I(100,116)] = {11,0x489}, + [I(101,116)] = {10,0xA9}, + [I(102,116)] = {11,0x4A9}, + [I(103,116)] = {11,0x4C9}, + [I(104,116)] = {11,0x4E9}, + [I(105,116)] = {10,0xC9}, + [I(106,116)] = {12,0xE89}, + [I(107,116)] = {12,0xEA9}, + [I(108,116)] = {11,0x509}, + [I(109,116)] = {11,0x529}, + [I(110,116)] = {11,0x549}, + [I(111,116)] = {10,0xE9}, + [I(112,116)] = {11,0x569}, + [I(113,116)] = {12,0xEC9}, + [I(114,116)] = {11,0x589}, + [I(115,116)] = {10,0x109}, + [I(116,116)] = {10,0x129}, + [I(117,116)] = {11,0x5A9}, + [I(118,116)] = {12,0xEE9}, + [I(119,116)] = {12,0xF09}, + [I(120,116)] = {12,0xF29}, + [I(121,116)] = {12,0xF49}, + [I(122,116)] = {12,0xF69}, + [I(123,116)] = {20,0xFFFC9}, + [I(124,116)] = {16,0xFF89}, + [I(125,116)] = {19,0x7FFA9}, + [I(126,116)] = {18,0x3FFA9}, + [I(127,116)] = {64,0}, + [I(128,116)] = {25,0x1FFFCC9}, + [I(129,116)] = {27,0x7FFFA49}, + [I(130,116)] = {25,0x1FFFCE9}, + [I(131,116)] = {25,0x1FFFD09}, + [I(132,116)] = {27,0x7FFFA69}, + [I(133,116)] = {27,0x7FFFA89}, + [I(134,116)] = {27,0x7FFFAA9}, + [I(135,116)] = {28,0xFFFFB29}, + [I(136,116)] = {27,0x7FFFAC9}, + [I(137,116)] = {28,0xFFFFB49}, + [I(138,116)] = {28,0xFFFFB69}, + [I(139,116)] = {28,0xFFFFB89}, + [I(140,116)] = {28,0xFFFFBA9}, + [I(141,116)] = {28,0xFFFFBC9}, + [I(142,116)] = {29,0x1FFFFD69}, + [I(143,116)] = {28,0xFFFFBE9}, + [I(144,116)] = {29,0x1FFFFD89}, + [I(145,116)] = {29,0x1FFFFDA9}, + [I(146,116)] = {27,0x7FFFAE9}, + [I(147,116)] = {28,0xFFFFC09}, + [I(148,116)] = {29,0x1FFFFDC9}, + [I(149,116)] = {28,0xFFFFC29}, + [I(150,116)] = {28,0xFFFFC49}, + [I(151,116)] = {28,0xFFFFC69}, + [I(152,116)] = {28,0xFFFFC89}, + [I(153,116)] = {26,0x3FFFB89}, + [I(154,116)] = {27,0x7FFFB09}, + [I(155,116)] = {28,0xFFFFCA9}, + [I(156,116)] = {27,0x7FFFB29}, + [I(157,116)] = {28,0xFFFFCC9}, + [I(158,116)] = {28,0xFFFFCE9}, + [I(159,116)] = {29,0x1FFFFDE9}, + [I(160,116)] = {27,0x7FFFB49}, + [I(161,116)] = {26,0x3FFFBA9}, + [I(162,116)] = {25,0x1FFFD29}, + [I(163,116)] = {27,0x7FFFB69}, + [I(164,116)] = {27,0x7FFFB89}, + [I(165,116)] = {28,0xFFFFD09}, + [I(166,116)] = {28,0xFFFFD29}, + [I(167,116)] = {26,0x3FFFBC9}, + [I(168,116)] = {28,0xFFFFD49}, + [I(169,116)] = {27,0x7FFFBA9}, + [I(170,116)] = {27,0x7FFFBC9}, + [I(171,116)] = {29,0x1FFFFE09}, + [I(172,116)] = {26,0x3FFFBE9}, + [I(173,116)] = {27,0x7FFFBE9}, + [I(174,116)] = {28,0xFFFFD69}, + [I(175,116)] = {28,0xFFFFD89}, + [I(176,116)] = {26,0x3FFFC09}, + [I(177,116)] = {26,0x3FFFC29}, + [I(178,116)] = {27,0x7FFFC09}, + [I(179,116)] = {26,0x3FFFC49}, + [I(180,116)] = {28,0xFFFFDA9}, + [I(181,116)] = {27,0x7FFFC29}, + [I(182,116)] = {28,0xFFFFDC9}, + [I(183,116)] = {28,0xFFFFDE9}, + [I(184,116)] = {25,0x1FFFD49}, + [I(185,116)] = {27,0x7FFFC49}, + [I(186,116)] = {27,0x7FFFC69}, + [I(187,116)] = {27,0x7FFFC89}, + [I(188,116)] = {28,0xFFFFE09}, + [I(189,116)] = {27,0x7FFFCA9}, + [I(190,116)] = {27,0x7FFFCC9}, + [I(191,116)] = {28,0xFFFFE29}, + [I(192,116)] = {31,0x7FFFFC09}, + [I(193,116)] = {31,0x7FFFFC29}, + [I(194,116)] = {25,0x1FFFD69}, + [I(195,116)] = {24,0xFFFE29}, + [I(196,116)] = {27,0x7FFFCE9}, + [I(197,116)] = {28,0xFFFFE49}, + [I(198,116)] = {27,0x7FFFD09}, + [I(199,116)] = {30,0x3FFFFD89}, + [I(200,116)] = {31,0x7FFFFC49}, + [I(201,116)] = {31,0x7FFFFC69}, + [I(202,116)] = {31,0x7FFFFC89}, + [I(203,116)] = {X32,0xFFFFFBC9}, + [I(204,116)] = {X32,0xFFFFFBE9}, + [I(205,116)] = {31,0x7FFFFCA9}, + [I(206,116)] = {29,0x1FFFFE29}, + [I(207,116)] = {30,0x3FFFFDA9}, + [I(208,116)] = {24,0xFFFE49}, + [I(209,116)] = {26,0x3FFFC69}, + [I(210,116)] = {31,0x7FFFFCC9}, + [I(211,116)] = {X32,0xFFFFFC09}, + [I(212,116)] = {X32,0xFFFFFC29}, + [I(213,116)] = {31,0x7FFFFCE9}, + [I(214,116)] = {X32,0xFFFFFC49}, + [I(215,116)] = {29,0x1FFFFE49}, + [I(216,116)] = {26,0x3FFFC89}, + [I(217,116)] = {26,0x3FFFCA9}, + [I(218,116)] = {31,0x7FFFFD09}, + [I(219,116)] = {31,0x7FFFFD29}, + [I(220,116)] = {64,0}, + [I(221,116)] = {X32,0xFFFFFC69}, + [I(222,116)] = {X32,0xFFFFFC89}, + [I(223,116)] = {X32,0xFFFFFCA9}, + [I(224,116)] = {25,0x1FFFD89}, + [I(225,116)] = {29,0x1FFFFE69}, + [I(226,116)] = {25,0x1FFFDA9}, + [I(227,116)] = {26,0x3FFFCC9}, + [I(228,116)] = {27,0x7FFFD29}, + [I(229,116)] = {26,0x3FFFCE9}, + [I(230,116)] = {26,0x3FFFD09}, + [I(231,116)] = {28,0xFFFFE69}, + [I(232,116)] = {27,0x7FFFD49}, + [I(233,116)] = {27,0x7FFFD69}, + [I(234,116)] = {30,0x3FFFFDC9}, + [I(235,116)] = {30,0x3FFFFDE9}, + [I(236,116)] = {29,0x1FFFFE89}, + [I(237,116)] = {29,0x1FFFFEA9}, + [I(238,116)] = {31,0x7FFFFD49}, + [I(239,116)] = {28,0xFFFFE89}, + [I(240,116)] = {31,0x7FFFFD69}, + [I(241,116)] = {X32,0xFFFFFCC9}, + [I(242,116)] = {31,0x7FFFFD89}, + [I(243,116)] = {31,0x7FFFFDA9}, + [I(244,116)] = {X32,0xFFFFFCE9}, + [I(245,116)] = {X32,0xFFFFFD09}, + [I(246,116)] = {X32,0xFFFFFD29}, + [I(247,116)] = {X32,0xFFFFFD49}, + [I(248,116)] = {X32,0xFFFFFD69}, + [I(249,116)] = {64,0}, + [I(250,116)] = {X32,0xFFFFFD89}, + [I(251,116)] = {X32,0xFFFFFDA9}, + [I(252,116)] = {X32,0xFFFFFDC9}, + [I(253,116)] = {X32,0xFFFFFDE9}, + [I(254,116)] = {X32,0xFFFFFE09}, + [I(255,116)] = {31,0x7FFFFDC9}, + [I(0,117)] = {19,0x7FE2D}, + [I(1,117)] = {29,0x1FFFF62D}, + [I(2,117)] = {64,0}, + [I(3,117)] = {64,0}, + [I(4,117)] = {64,0}, + [I(5,117)] = {64,0}, + [I(6,117)] = {64,0}, + [I(7,117)] = {64,0}, + [I(8,117)] = {64,0}, + [I(9,117)] = {30,0x3FFFFAAD}, + [I(10,117)] = {64,0}, + [I(11,117)] = {64,0}, + [I(12,117)] = {64,0}, + [I(13,117)] = {64,0}, + [I(14,117)] = {64,0}, + [I(15,117)] = {64,0}, + [I(16,117)] = {64,0}, + [I(17,117)] = {64,0}, + [I(18,117)] = {64,0}, + [I(19,117)] = {64,0}, + [I(20,117)] = {64,0}, + [I(21,117)] = {64,0}, + [I(22,117)] = {64,0}, + [I(23,117)] = {64,0}, + [I(24,117)] = {64,0}, + [I(25,117)] = {64,0}, + [I(26,117)] = {64,0}, + [I(27,117)] = {64,0}, + [I(28,117)] = {64,0}, + [I(29,117)] = {64,0}, + [I(30,117)] = {64,0}, + [I(31,117)] = {64,0}, + [I(32,117)] = {12,0x52D}, + [I(33,117)] = {16,0xFE2D}, + [I(34,117)] = {16,0xFE6D}, + [I(35,117)] = {18,0x3FEAD}, + [I(36,117)] = {19,0x7FE6D}, + [I(37,117)] = {12,0x56D}, + [I(38,117)] = {14,0x3E2D}, + [I(39,117)] = {17,0x1FEAD}, + [I(40,117)] = {16,0xFEAD}, + [I(41,117)] = {16,0xFEED}, + [I(42,117)] = {14,0x3E6D}, + [I(43,117)] = {17,0x1FEED}, + [I(44,117)] = {14,0x3EAD}, + [I(45,117)] = {12,0x5AD}, + [I(46,117)] = {12,0x5ED}, + [I(47,117)] = {12,0x62D}, + [I(48,117)] = {11,0x2D}, + [I(49,117)] = {11,0x6D}, + [I(50,117)] = {11,0xAD}, + [I(51,117)] = {12,0x66D}, + [I(52,117)] = {12,0x6AD}, + [I(53,117)] = {12,0x6ED}, + [I(54,117)] = {12,0x72D}, + [I(55,117)] = {12,0x76D}, + [I(56,117)] = {12,0x7AD}, + [I(57,117)] = {12,0x7ED}, + [I(58,117)] = {13,0x172D}, + [I(59,117)] = {14,0x3EED}, + [I(60,117)] = {21,0x1FFF2D}, + [I(61,117)] = {12,0x82D}, + [I(62,117)] = {18,0x3FEED}, + [I(63,117)] = {16,0xFF2D}, + [I(64,117)] = {19,0x7FEAD}, + [I(65,117)] = {12,0x86D}, + [I(66,117)] = {13,0x176D}, + [I(67,117)] = {13,0x17AD}, + [I(68,117)] = {13,0x17ED}, + [I(69,117)] = {13,0x182D}, + [I(70,117)] = {13,0x186D}, + [I(71,117)] = {13,0x18AD}, + [I(72,117)] = {13,0x18ED}, + [I(73,117)] = {13,0x192D}, + [I(74,117)] = {13,0x196D}, + [I(75,117)] = {13,0x19AD}, + [I(76,117)] = {13,0x19ED}, + [I(77,117)] = {13,0x1A2D}, + [I(78,117)] = {13,0x1A6D}, + [I(79,117)] = {13,0x1AAD}, + [I(80,117)] = {13,0x1AED}, + [I(81,117)] = {13,0x1B2D}, + [I(82,117)] = {13,0x1B6D}, + [I(83,117)] = {13,0x1BAD}, + [I(84,117)] = {13,0x1BED}, + [I(85,117)] = {13,0x1C2D}, + [I(86,117)] = {13,0x1C6D}, + [I(87,117)] = {13,0x1CAD}, + [I(88,117)] = {14,0x3F2D}, + [I(89,117)] = {13,0x1CED}, + [I(90,117)] = {14,0x3F6D}, + [I(91,117)] = {19,0x7FEED}, + [I(92,117)] = {25,0x1FFFC2D}, + [I(93,117)] = {19,0x7FF2D}, + [I(94,117)] = {20,0xFFF2D}, + [I(95,117)] = {12,0x8AD}, + [I(96,117)] = {21,0x1FFF6D}, + [I(97,117)] = {11,0xED}, + [I(98,117)] = {12,0x8ED}, + [I(99,117)] = {11,0x12D}, + [I(100,117)] = {12,0x92D}, + [I(101,117)] = {11,0x16D}, + [I(102,117)] = {12,0x96D}, + [I(103,117)] = {12,0x9AD}, + [I(104,117)] = {12,0x9ED}, + [I(105,117)] = {11,0x1AD}, + [I(106,117)] = {13,0x1D2D}, + [I(107,117)] = {13,0x1D6D}, + [I(108,117)] = {12,0xA2D}, + [I(109,117)] = {12,0xA6D}, + [I(110,117)] = {12,0xAAD}, + [I(111,117)] = {11,0x1ED}, + [I(112,117)] = {12,0xAED}, + [I(113,117)] = {13,0x1DAD}, + [I(114,117)] = {12,0xB2D}, + [I(115,117)] = {11,0x22D}, + [I(116,117)] = {11,0x26D}, + [I(117,117)] = {12,0xB6D}, + [I(118,117)] = {13,0x1DED}, + [I(119,117)] = {13,0x1E2D}, + [I(120,117)] = {13,0x1E6D}, + [I(121,117)] = {13,0x1EAD}, + [I(122,117)] = {13,0x1EED}, + [I(123,117)] = {21,0x1FFFAD}, + [I(124,117)] = {17,0x1FF2D}, + [I(125,117)] = {20,0xFFF6D}, + [I(126,117)] = {19,0x7FF6D}, + [I(127,117)] = {64,0}, + [I(128,117)] = {26,0x3FFF9AD}, + [I(129,117)] = {28,0xFFFF4AD}, + [I(130,117)] = {26,0x3FFF9ED}, + [I(131,117)] = {26,0x3FFFA2D}, + [I(132,117)] = {28,0xFFFF4ED}, + [I(133,117)] = {28,0xFFFF52D}, + [I(134,117)] = {28,0xFFFF56D}, + [I(135,117)] = {29,0x1FFFF66D}, + [I(136,117)] = {28,0xFFFF5AD}, + [I(137,117)] = {29,0x1FFFF6AD}, + [I(138,117)] = {29,0x1FFFF6ED}, + [I(139,117)] = {29,0x1FFFF72D}, + [I(140,117)] = {29,0x1FFFF76D}, + [I(141,117)] = {29,0x1FFFF7AD}, + [I(142,117)] = {30,0x3FFFFAED}, + [I(143,117)] = {29,0x1FFFF7ED}, + [I(144,117)] = {30,0x3FFFFB2D}, + [I(145,117)] = {30,0x3FFFFB6D}, + [I(146,117)] = {28,0xFFFF5ED}, + [I(147,117)] = {29,0x1FFFF82D}, + [I(148,117)] = {30,0x3FFFFBAD}, + [I(149,117)] = {29,0x1FFFF86D}, + [I(150,117)] = {29,0x1FFFF8AD}, + [I(151,117)] = {29,0x1FFFF8ED}, + [I(152,117)] = {29,0x1FFFF92D}, + [I(153,117)] = {27,0x7FFF72D}, + [I(154,117)] = {28,0xFFFF62D}, + [I(155,117)] = {29,0x1FFFF96D}, + [I(156,117)] = {28,0xFFFF66D}, + [I(157,117)] = {29,0x1FFFF9AD}, + [I(158,117)] = {29,0x1FFFF9ED}, + [I(159,117)] = {30,0x3FFFFBED}, + [I(160,117)] = {28,0xFFFF6AD}, + [I(161,117)] = {27,0x7FFF76D}, + [I(162,117)] = {26,0x3FFFA6D}, + [I(163,117)] = {28,0xFFFF6ED}, + [I(164,117)] = {28,0xFFFF72D}, + [I(165,117)] = {29,0x1FFFFA2D}, + [I(166,117)] = {29,0x1FFFFA6D}, + [I(167,117)] = {27,0x7FFF7AD}, + [I(168,117)] = {29,0x1FFFFAAD}, + [I(169,117)] = {28,0xFFFF76D}, + [I(170,117)] = {28,0xFFFF7AD}, + [I(171,117)] = {30,0x3FFFFC2D}, + [I(172,117)] = {27,0x7FFF7ED}, + [I(173,117)] = {28,0xFFFF7ED}, + [I(174,117)] = {29,0x1FFFFAED}, + [I(175,117)] = {29,0x1FFFFB2D}, + [I(176,117)] = {27,0x7FFF82D}, + [I(177,117)] = {27,0x7FFF86D}, + [I(178,117)] = {28,0xFFFF82D}, + [I(179,117)] = {27,0x7FFF8AD}, + [I(180,117)] = {29,0x1FFFFB6D}, + [I(181,117)] = {28,0xFFFF86D}, + [I(182,117)] = {29,0x1FFFFBAD}, + [I(183,117)] = {29,0x1FFFFBED}, + [I(184,117)] = {26,0x3FFFAAD}, + [I(185,117)] = {28,0xFFFF8AD}, + [I(186,117)] = {28,0xFFFF8ED}, + [I(187,117)] = {28,0xFFFF92D}, + [I(188,117)] = {29,0x1FFFFC2D}, + [I(189,117)] = {28,0xFFFF96D}, + [I(190,117)] = {28,0xFFFF9AD}, + [I(191,117)] = {29,0x1FFFFC6D}, + [I(192,117)] = {X32,0xFFFFF82D}, + [I(193,117)] = {X32,0xFFFFF86D}, + [I(194,117)] = {26,0x3FFFAED}, + [I(195,117)] = {25,0x1FFFC6D}, + [I(196,117)] = {28,0xFFFF9ED}, + [I(197,117)] = {29,0x1FFFFCAD}, + [I(198,117)] = {28,0xFFFFA2D}, + [I(199,117)] = {31,0x7FFFFB2D}, + [I(200,117)] = {X32,0xFFFFF8AD}, + [I(201,117)] = {X32,0xFFFFF8ED}, + [I(202,117)] = {X32,0xFFFFF92D}, + [I(203,117)] = {64,0}, + [I(204,117)] = {64,0}, + [I(205,117)] = {X32,0xFFFFF96D}, + [I(206,117)] = {30,0x3FFFFC6D}, + [I(207,117)] = {31,0x7FFFFB6D}, + [I(208,117)] = {25,0x1FFFCAD}, + [I(209,117)] = {27,0x7FFF8ED}, + [I(210,117)] = {X32,0xFFFFF9AD}, + [I(211,117)] = {64,0}, + [I(212,117)] = {64,0}, + [I(213,117)] = {X32,0xFFFFF9ED}, + [I(214,117)] = {64,0}, + [I(215,117)] = {30,0x3FFFFCAD}, + [I(216,117)] = {27,0x7FFF92D}, + [I(217,117)] = {27,0x7FFF96D}, + [I(218,117)] = {X32,0xFFFFFA2D}, + [I(219,117)] = {X32,0xFFFFFA6D}, + [I(220,117)] = {64,0}, + [I(221,117)] = {64,0}, + [I(222,117)] = {64,0}, + [I(223,117)] = {64,0}, + [I(224,117)] = {26,0x3FFFB2D}, + [I(225,117)] = {30,0x3FFFFCED}, + [I(226,117)] = {26,0x3FFFB6D}, + [I(227,117)] = {27,0x7FFF9AD}, + [I(228,117)] = {28,0xFFFFA6D}, + [I(229,117)] = {27,0x7FFF9ED}, + [I(230,117)] = {27,0x7FFFA2D}, + [I(231,117)] = {29,0x1FFFFCED}, + [I(232,117)] = {28,0xFFFFAAD}, + [I(233,117)] = {28,0xFFFFAED}, + [I(234,117)] = {31,0x7FFFFBAD}, + [I(235,117)] = {31,0x7FFFFBED}, + [I(236,117)] = {30,0x3FFFFD2D}, + [I(237,117)] = {30,0x3FFFFD6D}, + [I(238,117)] = {X32,0xFFFFFAAD}, + [I(239,117)] = {29,0x1FFFFD2D}, + [I(240,117)] = {X32,0xFFFFFAED}, + [I(241,117)] = {64,0}, + [I(242,117)] = {X32,0xFFFFFB2D}, + [I(243,117)] = {X32,0xFFFFFB6D}, + [I(244,117)] = {64,0}, + [I(245,117)] = {64,0}, + [I(246,117)] = {64,0}, + [I(247,117)] = {64,0}, + [I(248,117)] = {64,0}, + [I(249,117)] = {64,0}, + [I(250,117)] = {64,0}, + [I(251,117)] = {64,0}, + [I(252,117)] = {64,0}, + [I(253,117)] = {64,0}, + [I(254,117)] = {64,0}, + [I(255,117)] = {X32,0xFFFFFBAD}, + [I(0,118)] = {20,0xFFC77}, + [I(1,118)] = {30,0x3FFFEC77}, + [I(2,118)] = {64,0}, + [I(3,118)] = {64,0}, + [I(4,118)] = {64,0}, + [I(5,118)] = {64,0}, + [I(6,118)] = {64,0}, + [I(7,118)] = {64,0}, + [I(8,118)] = {64,0}, + [I(9,118)] = {31,0x7FFFF577}, + [I(10,118)] = {64,0}, + [I(11,118)] = {64,0}, + [I(12,118)] = {64,0}, + [I(13,118)] = {64,0}, + [I(14,118)] = {64,0}, + [I(15,118)] = {64,0}, + [I(16,118)] = {64,0}, + [I(17,118)] = {64,0}, + [I(18,118)] = {64,0}, + [I(19,118)] = {64,0}, + [I(20,118)] = {64,0}, + [I(21,118)] = {64,0}, + [I(22,118)] = {64,0}, + [I(23,118)] = {64,0}, + [I(24,118)] = {64,0}, + [I(25,118)] = {64,0}, + [I(26,118)] = {64,0}, + [I(27,118)] = {64,0}, + [I(28,118)] = {64,0}, + [I(29,118)] = {64,0}, + [I(30,118)] = {64,0}, + [I(31,118)] = {64,0}, + [I(32,118)] = {13,0xA77}, + [I(33,118)] = {17,0x1FC77}, + [I(34,118)] = {17,0x1FCF7}, + [I(35,118)] = {19,0x7FD77}, + [I(36,118)] = {20,0xFFCF7}, + [I(37,118)] = {13,0xAF7}, + [I(38,118)] = {15,0x7C77}, + [I(39,118)] = {18,0x3FD77}, + [I(40,118)] = {17,0x1FD77}, + [I(41,118)] = {17,0x1FDF7}, + [I(42,118)] = {15,0x7CF7}, + [I(43,118)] = {18,0x3FDF7}, + [I(44,118)] = {15,0x7D77}, + [I(45,118)] = {13,0xB77}, + [I(46,118)] = {13,0xBF7}, + [I(47,118)] = {13,0xC77}, + [I(48,118)] = {12,0x77}, + [I(49,118)] = {12,0xF7}, + [I(50,118)] = {12,0x177}, + [I(51,118)] = {13,0xCF7}, + [I(52,118)] = {13,0xD77}, + [I(53,118)] = {13,0xDF7}, + [I(54,118)] = {13,0xE77}, + [I(55,118)] = {13,0xEF7}, + [I(56,118)] = {13,0xF77}, + [I(57,118)] = {13,0xFF7}, + [I(58,118)] = {14,0x2E77}, + [I(59,118)] = {15,0x7DF7}, + [I(60,118)] = {22,0x3FFE77}, + [I(61,118)] = {13,0x1077}, + [I(62,118)] = {19,0x7FDF7}, + [I(63,118)] = {17,0x1FE77}, + [I(64,118)] = {20,0xFFD77}, + [I(65,118)] = {13,0x10F7}, + [I(66,118)] = {14,0x2EF7}, + [I(67,118)] = {14,0x2F77}, + [I(68,118)] = {14,0x2FF7}, + [I(69,118)] = {14,0x3077}, + [I(70,118)] = {14,0x30F7}, + [I(71,118)] = {14,0x3177}, + [I(72,118)] = {14,0x31F7}, + [I(73,118)] = {14,0x3277}, + [I(74,118)] = {14,0x32F7}, + [I(75,118)] = {14,0x3377}, + [I(76,118)] = {14,0x33F7}, + [I(77,118)] = {14,0x3477}, + [I(78,118)] = {14,0x34F7}, + [I(79,118)] = {14,0x3577}, + [I(80,118)] = {14,0x35F7}, + [I(81,118)] = {14,0x3677}, + [I(82,118)] = {14,0x36F7}, + [I(83,118)] = {14,0x3777}, + [I(84,118)] = {14,0x37F7}, + [I(85,118)] = {14,0x3877}, + [I(86,118)] = {14,0x38F7}, + [I(87,118)] = {14,0x3977}, + [I(88,118)] = {15,0x7E77}, + [I(89,118)] = {14,0x39F7}, + [I(90,118)] = {15,0x7EF7}, + [I(91,118)] = {20,0xFFDF7}, + [I(92,118)] = {26,0x3FFF877}, + [I(93,118)] = {20,0xFFE77}, + [I(94,118)] = {21,0x1FFE77}, + [I(95,118)] = {13,0x1177}, + [I(96,118)] = {22,0x3FFEF7}, + [I(97,118)] = {12,0x1F7}, + [I(98,118)] = {13,0x11F7}, + [I(99,118)] = {12,0x277}, + [I(100,118)] = {13,0x1277}, + [I(101,118)] = {12,0x2F7}, + [I(102,118)] = {13,0x12F7}, + [I(103,118)] = {13,0x1377}, + [I(104,118)] = {13,0x13F7}, + [I(105,118)] = {12,0x377}, + [I(106,118)] = {14,0x3A77}, + [I(107,118)] = {14,0x3AF7}, + [I(108,118)] = {13,0x1477}, + [I(109,118)] = {13,0x14F7}, + [I(110,118)] = {13,0x1577}, + [I(111,118)] = {12,0x3F7}, + [I(112,118)] = {13,0x15F7}, + [I(113,118)] = {14,0x3B77}, + [I(114,118)] = {13,0x1677}, + [I(115,118)] = {12,0x477}, + [I(116,118)] = {12,0x4F7}, + [I(117,118)] = {13,0x16F7}, + [I(118,118)] = {14,0x3BF7}, + [I(119,118)] = {14,0x3C77}, + [I(120,118)] = {14,0x3CF7}, + [I(121,118)] = {14,0x3D77}, + [I(122,118)] = {14,0x3DF7}, + [I(123,118)] = {22,0x3FFF77}, + [I(124,118)] = {18,0x3FE77}, + [I(125,118)] = {21,0x1FFEF7}, + [I(126,118)] = {20,0xFFEF7}, + [I(127,118)] = {64,0}, + [I(128,118)] = {27,0x7FFF377}, + [I(129,118)] = {29,0x1FFFE977}, + [I(130,118)] = {27,0x7FFF3F7}, + [I(131,118)] = {27,0x7FFF477}, + [I(132,118)] = {29,0x1FFFE9F7}, + [I(133,118)] = {29,0x1FFFEA77}, + [I(134,118)] = {29,0x1FFFEAF7}, + [I(135,118)] = {30,0x3FFFECF7}, + [I(136,118)] = {29,0x1FFFEB77}, + [I(137,118)] = {30,0x3FFFED77}, + [I(138,118)] = {30,0x3FFFEDF7}, + [I(139,118)] = {30,0x3FFFEE77}, + [I(140,118)] = {30,0x3FFFEEF7}, + [I(141,118)] = {30,0x3FFFEF77}, + [I(142,118)] = {31,0x7FFFF5F7}, + [I(143,118)] = {30,0x3FFFEFF7}, + [I(144,118)] = {31,0x7FFFF677}, + [I(145,118)] = {31,0x7FFFF6F7}, + [I(146,118)] = {29,0x1FFFEBF7}, + [I(147,118)] = {30,0x3FFFF077}, + [I(148,118)] = {31,0x7FFFF777}, + [I(149,118)] = {30,0x3FFFF0F7}, + [I(150,118)] = {30,0x3FFFF177}, + [I(151,118)] = {30,0x3FFFF1F7}, + [I(152,118)] = {30,0x3FFFF277}, + [I(153,118)] = {28,0xFFFEE77}, + [I(154,118)] = {29,0x1FFFEC77}, + [I(155,118)] = {30,0x3FFFF2F7}, + [I(156,118)] = {29,0x1FFFECF7}, + [I(157,118)] = {30,0x3FFFF377}, + [I(158,118)] = {30,0x3FFFF3F7}, + [I(159,118)] = {31,0x7FFFF7F7}, + [I(160,118)] = {29,0x1FFFED77}, + [I(161,118)] = {28,0xFFFEEF7}, + [I(162,118)] = {27,0x7FFF4F7}, + [I(163,118)] = {29,0x1FFFEDF7}, + [I(164,118)] = {29,0x1FFFEE77}, + [I(165,118)] = {30,0x3FFFF477}, + [I(166,118)] = {30,0x3FFFF4F7}, + [I(167,118)] = {28,0xFFFEF77}, + [I(168,118)] = {30,0x3FFFF577}, + [I(169,118)] = {29,0x1FFFEEF7}, + [I(170,118)] = {29,0x1FFFEF77}, + [I(171,118)] = {31,0x7FFFF877}, + [I(172,118)] = {28,0xFFFEFF7}, + [I(173,118)] = {29,0x1FFFEFF7}, + [I(174,118)] = {30,0x3FFFF5F7}, + [I(175,118)] = {30,0x3FFFF677}, + [I(176,118)] = {28,0xFFFF077}, + [I(177,118)] = {28,0xFFFF0F7}, + [I(178,118)] = {29,0x1FFFF077}, + [I(179,118)] = {28,0xFFFF177}, + [I(180,118)] = {30,0x3FFFF6F7}, + [I(181,118)] = {29,0x1FFFF0F7}, + [I(182,118)] = {30,0x3FFFF777}, + [I(183,118)] = {30,0x3FFFF7F7}, + [I(184,118)] = {27,0x7FFF577}, + [I(185,118)] = {29,0x1FFFF177}, + [I(186,118)] = {29,0x1FFFF1F7}, + [I(187,118)] = {29,0x1FFFF277}, + [I(188,118)] = {30,0x3FFFF877}, + [I(189,118)] = {29,0x1FFFF2F7}, + [I(190,118)] = {29,0x1FFFF377}, + [I(191,118)] = {30,0x3FFFF8F7}, + [I(192,118)] = {64,0}, + [I(193,118)] = {64,0}, + [I(194,118)] = {27,0x7FFF5F7}, + [I(195,118)] = {26,0x3FFF8F7}, + [I(196,118)] = {29,0x1FFFF3F7}, + [I(197,118)] = {30,0x3FFFF977}, + [I(198,118)] = {29,0x1FFFF477}, + [I(199,118)] = {X32,0xFFFFF677}, + [I(200,118)] = {64,0}, + [I(201,118)] = {64,0}, + [I(202,118)] = {64,0}, + [I(203,118)] = {64,0}, + [I(204,118)] = {64,0}, + [I(205,118)] = {64,0}, + [I(206,118)] = {31,0x7FFFF8F7}, + [I(207,118)] = {X32,0xFFFFF6F7}, + [I(208,118)] = {26,0x3FFF977}, + [I(209,118)] = {28,0xFFFF1F7}, + [I(210,118)] = {64,0}, + [I(211,118)] = {64,0}, + [I(212,118)] = {64,0}, + [I(213,118)] = {64,0}, + [I(214,118)] = {64,0}, + [I(215,118)] = {31,0x7FFFF977}, + [I(216,118)] = {28,0xFFFF277}, + [I(217,118)] = {28,0xFFFF2F7}, + [I(218,118)] = {64,0}, + [I(219,118)] = {64,0}, + [I(220,118)] = {64,0}, + [I(221,118)] = {64,0}, + [I(222,118)] = {64,0}, + [I(223,118)] = {64,0}, + [I(224,118)] = {27,0x7FFF677}, + [I(225,118)] = {31,0x7FFFF9F7}, + [I(226,118)] = {27,0x7FFF6F7}, + [I(227,118)] = {28,0xFFFF377}, + [I(228,118)] = {29,0x1FFFF4F7}, + [I(229,118)] = {28,0xFFFF3F7}, + [I(230,118)] = {28,0xFFFF477}, + [I(231,118)] = {30,0x3FFFF9F7}, + [I(232,118)] = {29,0x1FFFF577}, + [I(233,118)] = {29,0x1FFFF5F7}, + [I(234,118)] = {X32,0xFFFFF777}, + [I(235,118)] = {X32,0xFFFFF7F7}, + [I(236,118)] = {31,0x7FFFFA77}, + [I(237,118)] = {31,0x7FFFFAF7}, + [I(238,118)] = {64,0}, + [I(239,118)] = {30,0x3FFFFA77}, + [I(240,118)] = {64,0}, + [I(241,118)] = {64,0}, + [I(242,118)] = {64,0}, + [I(243,118)] = {64,0}, + [I(244,118)] = {64,0}, + [I(245,118)] = {64,0}, + [I(246,118)] = {64,0}, + [I(247,118)] = {64,0}, + [I(248,118)] = {64,0}, + [I(249,118)] = {64,0}, + [I(250,118)] = {64,0}, + [I(251,118)] = {64,0}, + [I(252,118)] = {64,0}, + [I(253,118)] = {64,0}, + [I(254,118)] = {64,0}, + [I(255,118)] = {64,0}, + [I(0,119)] = {20,0xFFC78}, + [I(1,119)] = {30,0x3FFFEC78}, + [I(2,119)] = {64,0}, + [I(3,119)] = {64,0}, + [I(4,119)] = {64,0}, + [I(5,119)] = {64,0}, + [I(6,119)] = {64,0}, + [I(7,119)] = {64,0}, + [I(8,119)] = {64,0}, + [I(9,119)] = {31,0x7FFFF578}, + [I(10,119)] = {64,0}, + [I(11,119)] = {64,0}, + [I(12,119)] = {64,0}, + [I(13,119)] = {64,0}, + [I(14,119)] = {64,0}, + [I(15,119)] = {64,0}, + [I(16,119)] = {64,0}, + [I(17,119)] = {64,0}, + [I(18,119)] = {64,0}, + [I(19,119)] = {64,0}, + [I(20,119)] = {64,0}, + [I(21,119)] = {64,0}, + [I(22,119)] = {64,0}, + [I(23,119)] = {64,0}, + [I(24,119)] = {64,0}, + [I(25,119)] = {64,0}, + [I(26,119)] = {64,0}, + [I(27,119)] = {64,0}, + [I(28,119)] = {64,0}, + [I(29,119)] = {64,0}, + [I(30,119)] = {64,0}, + [I(31,119)] = {64,0}, + [I(32,119)] = {13,0xA78}, + [I(33,119)] = {17,0x1FC78}, + [I(34,119)] = {17,0x1FCF8}, + [I(35,119)] = {19,0x7FD78}, + [I(36,119)] = {20,0xFFCF8}, + [I(37,119)] = {13,0xAF8}, + [I(38,119)] = {15,0x7C78}, + [I(39,119)] = {18,0x3FD78}, + [I(40,119)] = {17,0x1FD78}, + [I(41,119)] = {17,0x1FDF8}, + [I(42,119)] = {15,0x7CF8}, + [I(43,119)] = {18,0x3FDF8}, + [I(44,119)] = {15,0x7D78}, + [I(45,119)] = {13,0xB78}, + [I(46,119)] = {13,0xBF8}, + [I(47,119)] = {13,0xC78}, + [I(48,119)] = {12,0x78}, + [I(49,119)] = {12,0xF8}, + [I(50,119)] = {12,0x178}, + [I(51,119)] = {13,0xCF8}, + [I(52,119)] = {13,0xD78}, + [I(53,119)] = {13,0xDF8}, + [I(54,119)] = {13,0xE78}, + [I(55,119)] = {13,0xEF8}, + [I(56,119)] = {13,0xF78}, + [I(57,119)] = {13,0xFF8}, + [I(58,119)] = {14,0x2E78}, + [I(59,119)] = {15,0x7DF8}, + [I(60,119)] = {22,0x3FFE78}, + [I(61,119)] = {13,0x1078}, + [I(62,119)] = {19,0x7FDF8}, + [I(63,119)] = {17,0x1FE78}, + [I(64,119)] = {20,0xFFD78}, + [I(65,119)] = {13,0x10F8}, + [I(66,119)] = {14,0x2EF8}, + [I(67,119)] = {14,0x2F78}, + [I(68,119)] = {14,0x2FF8}, + [I(69,119)] = {14,0x3078}, + [I(70,119)] = {14,0x30F8}, + [I(71,119)] = {14,0x3178}, + [I(72,119)] = {14,0x31F8}, + [I(73,119)] = {14,0x3278}, + [I(74,119)] = {14,0x32F8}, + [I(75,119)] = {14,0x3378}, + [I(76,119)] = {14,0x33F8}, + [I(77,119)] = {14,0x3478}, + [I(78,119)] = {14,0x34F8}, + [I(79,119)] = {14,0x3578}, + [I(80,119)] = {14,0x35F8}, + [I(81,119)] = {14,0x3678}, + [I(82,119)] = {14,0x36F8}, + [I(83,119)] = {14,0x3778}, + [I(84,119)] = {14,0x37F8}, + [I(85,119)] = {14,0x3878}, + [I(86,119)] = {14,0x38F8}, + [I(87,119)] = {14,0x3978}, + [I(88,119)] = {15,0x7E78}, + [I(89,119)] = {14,0x39F8}, + [I(90,119)] = {15,0x7EF8}, + [I(91,119)] = {20,0xFFDF8}, + [I(92,119)] = {26,0x3FFF878}, + [I(93,119)] = {20,0xFFE78}, + [I(94,119)] = {21,0x1FFE78}, + [I(95,119)] = {13,0x1178}, + [I(96,119)] = {22,0x3FFEF8}, + [I(97,119)] = {12,0x1F8}, + [I(98,119)] = {13,0x11F8}, + [I(99,119)] = {12,0x278}, + [I(100,119)] = {13,0x1278}, + [I(101,119)] = {12,0x2F8}, + [I(102,119)] = {13,0x12F8}, + [I(103,119)] = {13,0x1378}, + [I(104,119)] = {13,0x13F8}, + [I(105,119)] = {12,0x378}, + [I(106,119)] = {14,0x3A78}, + [I(107,119)] = {14,0x3AF8}, + [I(108,119)] = {13,0x1478}, + [I(109,119)] = {13,0x14F8}, + [I(110,119)] = {13,0x1578}, + [I(111,119)] = {12,0x3F8}, + [I(112,119)] = {13,0x15F8}, + [I(113,119)] = {14,0x3B78}, + [I(114,119)] = {13,0x1678}, + [I(115,119)] = {12,0x478}, + [I(116,119)] = {12,0x4F8}, + [I(117,119)] = {13,0x16F8}, + [I(118,119)] = {14,0x3BF8}, + [I(119,119)] = {14,0x3C78}, + [I(120,119)] = {14,0x3CF8}, + [I(121,119)] = {14,0x3D78}, + [I(122,119)] = {14,0x3DF8}, + [I(123,119)] = {22,0x3FFF78}, + [I(124,119)] = {18,0x3FE78}, + [I(125,119)] = {21,0x1FFEF8}, + [I(126,119)] = {20,0xFFEF8}, + [I(127,119)] = {64,0}, + [I(128,119)] = {27,0x7FFF378}, + [I(129,119)] = {29,0x1FFFE978}, + [I(130,119)] = {27,0x7FFF3F8}, + [I(131,119)] = {27,0x7FFF478}, + [I(132,119)] = {29,0x1FFFE9F8}, + [I(133,119)] = {29,0x1FFFEA78}, + [I(134,119)] = {29,0x1FFFEAF8}, + [I(135,119)] = {30,0x3FFFECF8}, + [I(136,119)] = {29,0x1FFFEB78}, + [I(137,119)] = {30,0x3FFFED78}, + [I(138,119)] = {30,0x3FFFEDF8}, + [I(139,119)] = {30,0x3FFFEE78}, + [I(140,119)] = {30,0x3FFFEEF8}, + [I(141,119)] = {30,0x3FFFEF78}, + [I(142,119)] = {31,0x7FFFF5F8}, + [I(143,119)] = {30,0x3FFFEFF8}, + [I(144,119)] = {31,0x7FFFF678}, + [I(145,119)] = {31,0x7FFFF6F8}, + [I(146,119)] = {29,0x1FFFEBF8}, + [I(147,119)] = {30,0x3FFFF078}, + [I(148,119)] = {31,0x7FFFF778}, + [I(149,119)] = {30,0x3FFFF0F8}, + [I(150,119)] = {30,0x3FFFF178}, + [I(151,119)] = {30,0x3FFFF1F8}, + [I(152,119)] = {30,0x3FFFF278}, + [I(153,119)] = {28,0xFFFEE78}, + [I(154,119)] = {29,0x1FFFEC78}, + [I(155,119)] = {30,0x3FFFF2F8}, + [I(156,119)] = {29,0x1FFFECF8}, + [I(157,119)] = {30,0x3FFFF378}, + [I(158,119)] = {30,0x3FFFF3F8}, + [I(159,119)] = {31,0x7FFFF7F8}, + [I(160,119)] = {29,0x1FFFED78}, + [I(161,119)] = {28,0xFFFEEF8}, + [I(162,119)] = {27,0x7FFF4F8}, + [I(163,119)] = {29,0x1FFFEDF8}, + [I(164,119)] = {29,0x1FFFEE78}, + [I(165,119)] = {30,0x3FFFF478}, + [I(166,119)] = {30,0x3FFFF4F8}, + [I(167,119)] = {28,0xFFFEF78}, + [I(168,119)] = {30,0x3FFFF578}, + [I(169,119)] = {29,0x1FFFEEF8}, + [I(170,119)] = {29,0x1FFFEF78}, + [I(171,119)] = {31,0x7FFFF878}, + [I(172,119)] = {28,0xFFFEFF8}, + [I(173,119)] = {29,0x1FFFEFF8}, + [I(174,119)] = {30,0x3FFFF5F8}, + [I(175,119)] = {30,0x3FFFF678}, + [I(176,119)] = {28,0xFFFF078}, + [I(177,119)] = {28,0xFFFF0F8}, + [I(178,119)] = {29,0x1FFFF078}, + [I(179,119)] = {28,0xFFFF178}, + [I(180,119)] = {30,0x3FFFF6F8}, + [I(181,119)] = {29,0x1FFFF0F8}, + [I(182,119)] = {30,0x3FFFF778}, + [I(183,119)] = {30,0x3FFFF7F8}, + [I(184,119)] = {27,0x7FFF578}, + [I(185,119)] = {29,0x1FFFF178}, + [I(186,119)] = {29,0x1FFFF1F8}, + [I(187,119)] = {29,0x1FFFF278}, + [I(188,119)] = {30,0x3FFFF878}, + [I(189,119)] = {29,0x1FFFF2F8}, + [I(190,119)] = {29,0x1FFFF378}, + [I(191,119)] = {30,0x3FFFF8F8}, + [I(192,119)] = {64,0}, + [I(193,119)] = {64,0}, + [I(194,119)] = {27,0x7FFF5F8}, + [I(195,119)] = {26,0x3FFF8F8}, + [I(196,119)] = {29,0x1FFFF3F8}, + [I(197,119)] = {30,0x3FFFF978}, + [I(198,119)] = {29,0x1FFFF478}, + [I(199,119)] = {X32,0xFFFFF678}, + [I(200,119)] = {64,0}, + [I(201,119)] = {64,0}, + [I(202,119)] = {64,0}, + [I(203,119)] = {64,0}, + [I(204,119)] = {64,0}, + [I(205,119)] = {64,0}, + [I(206,119)] = {31,0x7FFFF8F8}, + [I(207,119)] = {X32,0xFFFFF6F8}, + [I(208,119)] = {26,0x3FFF978}, + [I(209,119)] = {28,0xFFFF1F8}, + [I(210,119)] = {64,0}, + [I(211,119)] = {64,0}, + [I(212,119)] = {64,0}, + [I(213,119)] = {64,0}, + [I(214,119)] = {64,0}, + [I(215,119)] = {31,0x7FFFF978}, + [I(216,119)] = {28,0xFFFF278}, + [I(217,119)] = {28,0xFFFF2F8}, + [I(218,119)] = {64,0}, + [I(219,119)] = {64,0}, + [I(220,119)] = {64,0}, + [I(221,119)] = {64,0}, + [I(222,119)] = {64,0}, + [I(223,119)] = {64,0}, + [I(224,119)] = {27,0x7FFF678}, + [I(225,119)] = {31,0x7FFFF9F8}, + [I(226,119)] = {27,0x7FFF6F8}, + [I(227,119)] = {28,0xFFFF378}, + [I(228,119)] = {29,0x1FFFF4F8}, + [I(229,119)] = {28,0xFFFF3F8}, + [I(230,119)] = {28,0xFFFF478}, + [I(231,119)] = {30,0x3FFFF9F8}, + [I(232,119)] = {29,0x1FFFF578}, + [I(233,119)] = {29,0x1FFFF5F8}, + [I(234,119)] = {X32,0xFFFFF778}, + [I(235,119)] = {X32,0xFFFFF7F8}, + [I(236,119)] = {31,0x7FFFFA78}, + [I(237,119)] = {31,0x7FFFFAF8}, + [I(238,119)] = {64,0}, + [I(239,119)] = {30,0x3FFFFA78}, + [I(240,119)] = {64,0}, + [I(241,119)] = {64,0}, + [I(242,119)] = {64,0}, + [I(243,119)] = {64,0}, + [I(244,119)] = {64,0}, + [I(245,119)] = {64,0}, + [I(246,119)] = {64,0}, + [I(247,119)] = {64,0}, + [I(248,119)] = {64,0}, + [I(249,119)] = {64,0}, + [I(250,119)] = {64,0}, + [I(251,119)] = {64,0}, + [I(252,119)] = {64,0}, + [I(253,119)] = {64,0}, + [I(254,119)] = {64,0}, + [I(255,119)] = {64,0}, + [I(0,120)] = {20,0xFFC79}, + [I(1,120)] = {30,0x3FFFEC79}, + [I(2,120)] = {64,0}, + [I(3,120)] = {64,0}, + [I(4,120)] = {64,0}, + [I(5,120)] = {64,0}, + [I(6,120)] = {64,0}, + [I(7,120)] = {64,0}, + [I(8,120)] = {64,0}, + [I(9,120)] = {31,0x7FFFF579}, + [I(10,120)] = {64,0}, + [I(11,120)] = {64,0}, + [I(12,120)] = {64,0}, + [I(13,120)] = {64,0}, + [I(14,120)] = {64,0}, + [I(15,120)] = {64,0}, + [I(16,120)] = {64,0}, + [I(17,120)] = {64,0}, + [I(18,120)] = {64,0}, + [I(19,120)] = {64,0}, + [I(20,120)] = {64,0}, + [I(21,120)] = {64,0}, + [I(22,120)] = {64,0}, + [I(23,120)] = {64,0}, + [I(24,120)] = {64,0}, + [I(25,120)] = {64,0}, + [I(26,120)] = {64,0}, + [I(27,120)] = {64,0}, + [I(28,120)] = {64,0}, + [I(29,120)] = {64,0}, + [I(30,120)] = {64,0}, + [I(31,120)] = {64,0}, + [I(32,120)] = {13,0xA79}, + [I(33,120)] = {17,0x1FC79}, + [I(34,120)] = {17,0x1FCF9}, + [I(35,120)] = {19,0x7FD79}, + [I(36,120)] = {20,0xFFCF9}, + [I(37,120)] = {13,0xAF9}, + [I(38,120)] = {15,0x7C79}, + [I(39,120)] = {18,0x3FD79}, + [I(40,120)] = {17,0x1FD79}, + [I(41,120)] = {17,0x1FDF9}, + [I(42,120)] = {15,0x7CF9}, + [I(43,120)] = {18,0x3FDF9}, + [I(44,120)] = {15,0x7D79}, + [I(45,120)] = {13,0xB79}, + [I(46,120)] = {13,0xBF9}, + [I(47,120)] = {13,0xC79}, + [I(48,120)] = {12,0x79}, + [I(49,120)] = {12,0xF9}, + [I(50,120)] = {12,0x179}, + [I(51,120)] = {13,0xCF9}, + [I(52,120)] = {13,0xD79}, + [I(53,120)] = {13,0xDF9}, + [I(54,120)] = {13,0xE79}, + [I(55,120)] = {13,0xEF9}, + [I(56,120)] = {13,0xF79}, + [I(57,120)] = {13,0xFF9}, + [I(58,120)] = {14,0x2E79}, + [I(59,120)] = {15,0x7DF9}, + [I(60,120)] = {22,0x3FFE79}, + [I(61,120)] = {13,0x1079}, + [I(62,120)] = {19,0x7FDF9}, + [I(63,120)] = {17,0x1FE79}, + [I(64,120)] = {20,0xFFD79}, + [I(65,120)] = {13,0x10F9}, + [I(66,120)] = {14,0x2EF9}, + [I(67,120)] = {14,0x2F79}, + [I(68,120)] = {14,0x2FF9}, + [I(69,120)] = {14,0x3079}, + [I(70,120)] = {14,0x30F9}, + [I(71,120)] = {14,0x3179}, + [I(72,120)] = {14,0x31F9}, + [I(73,120)] = {14,0x3279}, + [I(74,120)] = {14,0x32F9}, + [I(75,120)] = {14,0x3379}, + [I(76,120)] = {14,0x33F9}, + [I(77,120)] = {14,0x3479}, + [I(78,120)] = {14,0x34F9}, + [I(79,120)] = {14,0x3579}, + [I(80,120)] = {14,0x35F9}, + [I(81,120)] = {14,0x3679}, + [I(82,120)] = {14,0x36F9}, + [I(83,120)] = {14,0x3779}, + [I(84,120)] = {14,0x37F9}, + [I(85,120)] = {14,0x3879}, + [I(86,120)] = {14,0x38F9}, + [I(87,120)] = {14,0x3979}, + [I(88,120)] = {15,0x7E79}, + [I(89,120)] = {14,0x39F9}, + [I(90,120)] = {15,0x7EF9}, + [I(91,120)] = {20,0xFFDF9}, + [I(92,120)] = {26,0x3FFF879}, + [I(93,120)] = {20,0xFFE79}, + [I(94,120)] = {21,0x1FFE79}, + [I(95,120)] = {13,0x1179}, + [I(96,120)] = {22,0x3FFEF9}, + [I(97,120)] = {12,0x1F9}, + [I(98,120)] = {13,0x11F9}, + [I(99,120)] = {12,0x279}, + [I(100,120)] = {13,0x1279}, + [I(101,120)] = {12,0x2F9}, + [I(102,120)] = {13,0x12F9}, + [I(103,120)] = {13,0x1379}, + [I(104,120)] = {13,0x13F9}, + [I(105,120)] = {12,0x379}, + [I(106,120)] = {14,0x3A79}, + [I(107,120)] = {14,0x3AF9}, + [I(108,120)] = {13,0x1479}, + [I(109,120)] = {13,0x14F9}, + [I(110,120)] = {13,0x1579}, + [I(111,120)] = {12,0x3F9}, + [I(112,120)] = {13,0x15F9}, + [I(113,120)] = {14,0x3B79}, + [I(114,120)] = {13,0x1679}, + [I(115,120)] = {12,0x479}, + [I(116,120)] = {12,0x4F9}, + [I(117,120)] = {13,0x16F9}, + [I(118,120)] = {14,0x3BF9}, + [I(119,120)] = {14,0x3C79}, + [I(120,120)] = {14,0x3CF9}, + [I(121,120)] = {14,0x3D79}, + [I(122,120)] = {14,0x3DF9}, + [I(123,120)] = {22,0x3FFF79}, + [I(124,120)] = {18,0x3FE79}, + [I(125,120)] = {21,0x1FFEF9}, + [I(126,120)] = {20,0xFFEF9}, + [I(127,120)] = {64,0}, + [I(128,120)] = {27,0x7FFF379}, + [I(129,120)] = {29,0x1FFFE979}, + [I(130,120)] = {27,0x7FFF3F9}, + [I(131,120)] = {27,0x7FFF479}, + [I(132,120)] = {29,0x1FFFE9F9}, + [I(133,120)] = {29,0x1FFFEA79}, + [I(134,120)] = {29,0x1FFFEAF9}, + [I(135,120)] = {30,0x3FFFECF9}, + [I(136,120)] = {29,0x1FFFEB79}, + [I(137,120)] = {30,0x3FFFED79}, + [I(138,120)] = {30,0x3FFFEDF9}, + [I(139,120)] = {30,0x3FFFEE79}, + [I(140,120)] = {30,0x3FFFEEF9}, + [I(141,120)] = {30,0x3FFFEF79}, + [I(142,120)] = {31,0x7FFFF5F9}, + [I(143,120)] = {30,0x3FFFEFF9}, + [I(144,120)] = {31,0x7FFFF679}, + [I(145,120)] = {31,0x7FFFF6F9}, + [I(146,120)] = {29,0x1FFFEBF9}, + [I(147,120)] = {30,0x3FFFF079}, + [I(148,120)] = {31,0x7FFFF779}, + [I(149,120)] = {30,0x3FFFF0F9}, + [I(150,120)] = {30,0x3FFFF179}, + [I(151,120)] = {30,0x3FFFF1F9}, + [I(152,120)] = {30,0x3FFFF279}, + [I(153,120)] = {28,0xFFFEE79}, + [I(154,120)] = {29,0x1FFFEC79}, + [I(155,120)] = {30,0x3FFFF2F9}, + [I(156,120)] = {29,0x1FFFECF9}, + [I(157,120)] = {30,0x3FFFF379}, + [I(158,120)] = {30,0x3FFFF3F9}, + [I(159,120)] = {31,0x7FFFF7F9}, + [I(160,120)] = {29,0x1FFFED79}, + [I(161,120)] = {28,0xFFFEEF9}, + [I(162,120)] = {27,0x7FFF4F9}, + [I(163,120)] = {29,0x1FFFEDF9}, + [I(164,120)] = {29,0x1FFFEE79}, + [I(165,120)] = {30,0x3FFFF479}, + [I(166,120)] = {30,0x3FFFF4F9}, + [I(167,120)] = {28,0xFFFEF79}, + [I(168,120)] = {30,0x3FFFF579}, + [I(169,120)] = {29,0x1FFFEEF9}, + [I(170,120)] = {29,0x1FFFEF79}, + [I(171,120)] = {31,0x7FFFF879}, + [I(172,120)] = {28,0xFFFEFF9}, + [I(173,120)] = {29,0x1FFFEFF9}, + [I(174,120)] = {30,0x3FFFF5F9}, + [I(175,120)] = {30,0x3FFFF679}, + [I(176,120)] = {28,0xFFFF079}, + [I(177,120)] = {28,0xFFFF0F9}, + [I(178,120)] = {29,0x1FFFF079}, + [I(179,120)] = {28,0xFFFF179}, + [I(180,120)] = {30,0x3FFFF6F9}, + [I(181,120)] = {29,0x1FFFF0F9}, + [I(182,120)] = {30,0x3FFFF779}, + [I(183,120)] = {30,0x3FFFF7F9}, + [I(184,120)] = {27,0x7FFF579}, + [I(185,120)] = {29,0x1FFFF179}, + [I(186,120)] = {29,0x1FFFF1F9}, + [I(187,120)] = {29,0x1FFFF279}, + [I(188,120)] = {30,0x3FFFF879}, + [I(189,120)] = {29,0x1FFFF2F9}, + [I(190,120)] = {29,0x1FFFF379}, + [I(191,120)] = {30,0x3FFFF8F9}, + [I(192,120)] = {64,0}, + [I(193,120)] = {64,0}, + [I(194,120)] = {27,0x7FFF5F9}, + [I(195,120)] = {26,0x3FFF8F9}, + [I(196,120)] = {29,0x1FFFF3F9}, + [I(197,120)] = {30,0x3FFFF979}, + [I(198,120)] = {29,0x1FFFF479}, + [I(199,120)] = {X32,0xFFFFF679}, + [I(200,120)] = {64,0}, + [I(201,120)] = {64,0}, + [I(202,120)] = {64,0}, + [I(203,120)] = {64,0}, + [I(204,120)] = {64,0}, + [I(205,120)] = {64,0}, + [I(206,120)] = {31,0x7FFFF8F9}, + [I(207,120)] = {X32,0xFFFFF6F9}, + [I(208,120)] = {26,0x3FFF979}, + [I(209,120)] = {28,0xFFFF1F9}, + [I(210,120)] = {64,0}, + [I(211,120)] = {64,0}, + [I(212,120)] = {64,0}, + [I(213,120)] = {64,0}, + [I(214,120)] = {64,0}, + [I(215,120)] = {31,0x7FFFF979}, + [I(216,120)] = {28,0xFFFF279}, + [I(217,120)] = {28,0xFFFF2F9}, + [I(218,120)] = {64,0}, + [I(219,120)] = {64,0}, + [I(220,120)] = {64,0}, + [I(221,120)] = {64,0}, + [I(222,120)] = {64,0}, + [I(223,120)] = {64,0}, + [I(224,120)] = {27,0x7FFF679}, + [I(225,120)] = {31,0x7FFFF9F9}, + [I(226,120)] = {27,0x7FFF6F9}, + [I(227,120)] = {28,0xFFFF379}, + [I(228,120)] = {29,0x1FFFF4F9}, + [I(229,120)] = {28,0xFFFF3F9}, + [I(230,120)] = {28,0xFFFF479}, + [I(231,120)] = {30,0x3FFFF9F9}, + [I(232,120)] = {29,0x1FFFF579}, + [I(233,120)] = {29,0x1FFFF5F9}, + [I(234,120)] = {X32,0xFFFFF779}, + [I(235,120)] = {X32,0xFFFFF7F9}, + [I(236,120)] = {31,0x7FFFFA79}, + [I(237,120)] = {31,0x7FFFFAF9}, + [I(238,120)] = {64,0}, + [I(239,120)] = {30,0x3FFFFA79}, + [I(240,120)] = {64,0}, + [I(241,120)] = {64,0}, + [I(242,120)] = {64,0}, + [I(243,120)] = {64,0}, + [I(244,120)] = {64,0}, + [I(245,120)] = {64,0}, + [I(246,120)] = {64,0}, + [I(247,120)] = {64,0}, + [I(248,120)] = {64,0}, + [I(249,120)] = {64,0}, + [I(250,120)] = {64,0}, + [I(251,120)] = {64,0}, + [I(252,120)] = {64,0}, + [I(253,120)] = {64,0}, + [I(254,120)] = {64,0}, + [I(255,120)] = {64,0}, + [I(0,121)] = {20,0xFFC7A}, + [I(1,121)] = {30,0x3FFFEC7A}, + [I(2,121)] = {64,0}, + [I(3,121)] = {64,0}, + [I(4,121)] = {64,0}, + [I(5,121)] = {64,0}, + [I(6,121)] = {64,0}, + [I(7,121)] = {64,0}, + [I(8,121)] = {64,0}, + [I(9,121)] = {31,0x7FFFF57A}, + [I(10,121)] = {64,0}, + [I(11,121)] = {64,0}, + [I(12,121)] = {64,0}, + [I(13,121)] = {64,0}, + [I(14,121)] = {64,0}, + [I(15,121)] = {64,0}, + [I(16,121)] = {64,0}, + [I(17,121)] = {64,0}, + [I(18,121)] = {64,0}, + [I(19,121)] = {64,0}, + [I(20,121)] = {64,0}, + [I(21,121)] = {64,0}, + [I(22,121)] = {64,0}, + [I(23,121)] = {64,0}, + [I(24,121)] = {64,0}, + [I(25,121)] = {64,0}, + [I(26,121)] = {64,0}, + [I(27,121)] = {64,0}, + [I(28,121)] = {64,0}, + [I(29,121)] = {64,0}, + [I(30,121)] = {64,0}, + [I(31,121)] = {64,0}, + [I(32,121)] = {13,0xA7A}, + [I(33,121)] = {17,0x1FC7A}, + [I(34,121)] = {17,0x1FCFA}, + [I(35,121)] = {19,0x7FD7A}, + [I(36,121)] = {20,0xFFCFA}, + [I(37,121)] = {13,0xAFA}, + [I(38,121)] = {15,0x7C7A}, + [I(39,121)] = {18,0x3FD7A}, + [I(40,121)] = {17,0x1FD7A}, + [I(41,121)] = {17,0x1FDFA}, + [I(42,121)] = {15,0x7CFA}, + [I(43,121)] = {18,0x3FDFA}, + [I(44,121)] = {15,0x7D7A}, + [I(45,121)] = {13,0xB7A}, + [I(46,121)] = {13,0xBFA}, + [I(47,121)] = {13,0xC7A}, + [I(48,121)] = {12,0x7A}, + [I(49,121)] = {12,0xFA}, + [I(50,121)] = {12,0x17A}, + [I(51,121)] = {13,0xCFA}, + [I(52,121)] = {13,0xD7A}, + [I(53,121)] = {13,0xDFA}, + [I(54,121)] = {13,0xE7A}, + [I(55,121)] = {13,0xEFA}, + [I(56,121)] = {13,0xF7A}, + [I(57,121)] = {13,0xFFA}, + [I(58,121)] = {14,0x2E7A}, + [I(59,121)] = {15,0x7DFA}, + [I(60,121)] = {22,0x3FFE7A}, + [I(61,121)] = {13,0x107A}, + [I(62,121)] = {19,0x7FDFA}, + [I(63,121)] = {17,0x1FE7A}, + [I(64,121)] = {20,0xFFD7A}, + [I(65,121)] = {13,0x10FA}, + [I(66,121)] = {14,0x2EFA}, + [I(67,121)] = {14,0x2F7A}, + [I(68,121)] = {14,0x2FFA}, + [I(69,121)] = {14,0x307A}, + [I(70,121)] = {14,0x30FA}, + [I(71,121)] = {14,0x317A}, + [I(72,121)] = {14,0x31FA}, + [I(73,121)] = {14,0x327A}, + [I(74,121)] = {14,0x32FA}, + [I(75,121)] = {14,0x337A}, + [I(76,121)] = {14,0x33FA}, + [I(77,121)] = {14,0x347A}, + [I(78,121)] = {14,0x34FA}, + [I(79,121)] = {14,0x357A}, + [I(80,121)] = {14,0x35FA}, + [I(81,121)] = {14,0x367A}, + [I(82,121)] = {14,0x36FA}, + [I(83,121)] = {14,0x377A}, + [I(84,121)] = {14,0x37FA}, + [I(85,121)] = {14,0x387A}, + [I(86,121)] = {14,0x38FA}, + [I(87,121)] = {14,0x397A}, + [I(88,121)] = {15,0x7E7A}, + [I(89,121)] = {14,0x39FA}, + [I(90,121)] = {15,0x7EFA}, + [I(91,121)] = {20,0xFFDFA}, + [I(92,121)] = {26,0x3FFF87A}, + [I(93,121)] = {20,0xFFE7A}, + [I(94,121)] = {21,0x1FFE7A}, + [I(95,121)] = {13,0x117A}, + [I(96,121)] = {22,0x3FFEFA}, + [I(97,121)] = {12,0x1FA}, + [I(98,121)] = {13,0x11FA}, + [I(99,121)] = {12,0x27A}, + [I(100,121)] = {13,0x127A}, + [I(101,121)] = {12,0x2FA}, + [I(102,121)] = {13,0x12FA}, + [I(103,121)] = {13,0x137A}, + [I(104,121)] = {13,0x13FA}, + [I(105,121)] = {12,0x37A}, + [I(106,121)] = {14,0x3A7A}, + [I(107,121)] = {14,0x3AFA}, + [I(108,121)] = {13,0x147A}, + [I(109,121)] = {13,0x14FA}, + [I(110,121)] = {13,0x157A}, + [I(111,121)] = {12,0x3FA}, + [I(112,121)] = {13,0x15FA}, + [I(113,121)] = {14,0x3B7A}, + [I(114,121)] = {13,0x167A}, + [I(115,121)] = {12,0x47A}, + [I(116,121)] = {12,0x4FA}, + [I(117,121)] = {13,0x16FA}, + [I(118,121)] = {14,0x3BFA}, + [I(119,121)] = {14,0x3C7A}, + [I(120,121)] = {14,0x3CFA}, + [I(121,121)] = {14,0x3D7A}, + [I(122,121)] = {14,0x3DFA}, + [I(123,121)] = {22,0x3FFF7A}, + [I(124,121)] = {18,0x3FE7A}, + [I(125,121)] = {21,0x1FFEFA}, + [I(126,121)] = {20,0xFFEFA}, + [I(127,121)] = {64,0}, + [I(128,121)] = {27,0x7FFF37A}, + [I(129,121)] = {29,0x1FFFE97A}, + [I(130,121)] = {27,0x7FFF3FA}, + [I(131,121)] = {27,0x7FFF47A}, + [I(132,121)] = {29,0x1FFFE9FA}, + [I(133,121)] = {29,0x1FFFEA7A}, + [I(134,121)] = {29,0x1FFFEAFA}, + [I(135,121)] = {30,0x3FFFECFA}, + [I(136,121)] = {29,0x1FFFEB7A}, + [I(137,121)] = {30,0x3FFFED7A}, + [I(138,121)] = {30,0x3FFFEDFA}, + [I(139,121)] = {30,0x3FFFEE7A}, + [I(140,121)] = {30,0x3FFFEEFA}, + [I(141,121)] = {30,0x3FFFEF7A}, + [I(142,121)] = {31,0x7FFFF5FA}, + [I(143,121)] = {30,0x3FFFEFFA}, + [I(144,121)] = {31,0x7FFFF67A}, + [I(145,121)] = {31,0x7FFFF6FA}, + [I(146,121)] = {29,0x1FFFEBFA}, + [I(147,121)] = {30,0x3FFFF07A}, + [I(148,121)] = {31,0x7FFFF77A}, + [I(149,121)] = {30,0x3FFFF0FA}, + [I(150,121)] = {30,0x3FFFF17A}, + [I(151,121)] = {30,0x3FFFF1FA}, + [I(152,121)] = {30,0x3FFFF27A}, + [I(153,121)] = {28,0xFFFEE7A}, + [I(154,121)] = {29,0x1FFFEC7A}, + [I(155,121)] = {30,0x3FFFF2FA}, + [I(156,121)] = {29,0x1FFFECFA}, + [I(157,121)] = {30,0x3FFFF37A}, + [I(158,121)] = {30,0x3FFFF3FA}, + [I(159,121)] = {31,0x7FFFF7FA}, + [I(160,121)] = {29,0x1FFFED7A}, + [I(161,121)] = {28,0xFFFEEFA}, + [I(162,121)] = {27,0x7FFF4FA}, + [I(163,121)] = {29,0x1FFFEDFA}, + [I(164,121)] = {29,0x1FFFEE7A}, + [I(165,121)] = {30,0x3FFFF47A}, + [I(166,121)] = {30,0x3FFFF4FA}, + [I(167,121)] = {28,0xFFFEF7A}, + [I(168,121)] = {30,0x3FFFF57A}, + [I(169,121)] = {29,0x1FFFEEFA}, + [I(170,121)] = {29,0x1FFFEF7A}, + [I(171,121)] = {31,0x7FFFF87A}, + [I(172,121)] = {28,0xFFFEFFA}, + [I(173,121)] = {29,0x1FFFEFFA}, + [I(174,121)] = {30,0x3FFFF5FA}, + [I(175,121)] = {30,0x3FFFF67A}, + [I(176,121)] = {28,0xFFFF07A}, + [I(177,121)] = {28,0xFFFF0FA}, + [I(178,121)] = {29,0x1FFFF07A}, + [I(179,121)] = {28,0xFFFF17A}, + [I(180,121)] = {30,0x3FFFF6FA}, + [I(181,121)] = {29,0x1FFFF0FA}, + [I(182,121)] = {30,0x3FFFF77A}, + [I(183,121)] = {30,0x3FFFF7FA}, + [I(184,121)] = {27,0x7FFF57A}, + [I(185,121)] = {29,0x1FFFF17A}, + [I(186,121)] = {29,0x1FFFF1FA}, + [I(187,121)] = {29,0x1FFFF27A}, + [I(188,121)] = {30,0x3FFFF87A}, + [I(189,121)] = {29,0x1FFFF2FA}, + [I(190,121)] = {29,0x1FFFF37A}, + [I(191,121)] = {30,0x3FFFF8FA}, + [I(192,121)] = {64,0}, + [I(193,121)] = {64,0}, + [I(194,121)] = {27,0x7FFF5FA}, + [I(195,121)] = {26,0x3FFF8FA}, + [I(196,121)] = {29,0x1FFFF3FA}, + [I(197,121)] = {30,0x3FFFF97A}, + [I(198,121)] = {29,0x1FFFF47A}, + [I(199,121)] = {X32,0xFFFFF67A}, + [I(200,121)] = {64,0}, + [I(201,121)] = {64,0}, + [I(202,121)] = {64,0}, + [I(203,121)] = {64,0}, + [I(204,121)] = {64,0}, + [I(205,121)] = {64,0}, + [I(206,121)] = {31,0x7FFFF8FA}, + [I(207,121)] = {X32,0xFFFFF6FA}, + [I(208,121)] = {26,0x3FFF97A}, + [I(209,121)] = {28,0xFFFF1FA}, + [I(210,121)] = {64,0}, + [I(211,121)] = {64,0}, + [I(212,121)] = {64,0}, + [I(213,121)] = {64,0}, + [I(214,121)] = {64,0}, + [I(215,121)] = {31,0x7FFFF97A}, + [I(216,121)] = {28,0xFFFF27A}, + [I(217,121)] = {28,0xFFFF2FA}, + [I(218,121)] = {64,0}, + [I(219,121)] = {64,0}, + [I(220,121)] = {64,0}, + [I(221,121)] = {64,0}, + [I(222,121)] = {64,0}, + [I(223,121)] = {64,0}, + [I(224,121)] = {27,0x7FFF67A}, + [I(225,121)] = {31,0x7FFFF9FA}, + [I(226,121)] = {27,0x7FFF6FA}, + [I(227,121)] = {28,0xFFFF37A}, + [I(228,121)] = {29,0x1FFFF4FA}, + [I(229,121)] = {28,0xFFFF3FA}, + [I(230,121)] = {28,0xFFFF47A}, + [I(231,121)] = {30,0x3FFFF9FA}, + [I(232,121)] = {29,0x1FFFF57A}, + [I(233,121)] = {29,0x1FFFF5FA}, + [I(234,121)] = {X32,0xFFFFF77A}, + [I(235,121)] = {X32,0xFFFFF7FA}, + [I(236,121)] = {31,0x7FFFFA7A}, + [I(237,121)] = {31,0x7FFFFAFA}, + [I(238,121)] = {64,0}, + [I(239,121)] = {30,0x3FFFFA7A}, + [I(240,121)] = {64,0}, + [I(241,121)] = {64,0}, + [I(242,121)] = {64,0}, + [I(243,121)] = {64,0}, + [I(244,121)] = {64,0}, + [I(245,121)] = {64,0}, + [I(246,121)] = {64,0}, + [I(247,121)] = {64,0}, + [I(248,121)] = {64,0}, + [I(249,121)] = {64,0}, + [I(250,121)] = {64,0}, + [I(251,121)] = {64,0}, + [I(252,121)] = {64,0}, + [I(253,121)] = {64,0}, + [I(254,121)] = {64,0}, + [I(255,121)] = {64,0}, + [I(0,122)] = {20,0xFFC7B}, + [I(1,122)] = {30,0x3FFFEC7B}, + [I(2,122)] = {64,0}, + [I(3,122)] = {64,0}, + [I(4,122)] = {64,0}, + [I(5,122)] = {64,0}, + [I(6,122)] = {64,0}, + [I(7,122)] = {64,0}, + [I(8,122)] = {64,0}, + [I(9,122)] = {31,0x7FFFF57B}, + [I(10,122)] = {64,0}, + [I(11,122)] = {64,0}, + [I(12,122)] = {64,0}, + [I(13,122)] = {64,0}, + [I(14,122)] = {64,0}, + [I(15,122)] = {64,0}, + [I(16,122)] = {64,0}, + [I(17,122)] = {64,0}, + [I(18,122)] = {64,0}, + [I(19,122)] = {64,0}, + [I(20,122)] = {64,0}, + [I(21,122)] = {64,0}, + [I(22,122)] = {64,0}, + [I(23,122)] = {64,0}, + [I(24,122)] = {64,0}, + [I(25,122)] = {64,0}, + [I(26,122)] = {64,0}, + [I(27,122)] = {64,0}, + [I(28,122)] = {64,0}, + [I(29,122)] = {64,0}, + [I(30,122)] = {64,0}, + [I(31,122)] = {64,0}, + [I(32,122)] = {13,0xA7B}, + [I(33,122)] = {17,0x1FC7B}, + [I(34,122)] = {17,0x1FCFB}, + [I(35,122)] = {19,0x7FD7B}, + [I(36,122)] = {20,0xFFCFB}, + [I(37,122)] = {13,0xAFB}, + [I(38,122)] = {15,0x7C7B}, + [I(39,122)] = {18,0x3FD7B}, + [I(40,122)] = {17,0x1FD7B}, + [I(41,122)] = {17,0x1FDFB}, + [I(42,122)] = {15,0x7CFB}, + [I(43,122)] = {18,0x3FDFB}, + [I(44,122)] = {15,0x7D7B}, + [I(45,122)] = {13,0xB7B}, + [I(46,122)] = {13,0xBFB}, + [I(47,122)] = {13,0xC7B}, + [I(48,122)] = {12,0x7B}, + [I(49,122)] = {12,0xFB}, + [I(50,122)] = {12,0x17B}, + [I(51,122)] = {13,0xCFB}, + [I(52,122)] = {13,0xD7B}, + [I(53,122)] = {13,0xDFB}, + [I(54,122)] = {13,0xE7B}, + [I(55,122)] = {13,0xEFB}, + [I(56,122)] = {13,0xF7B}, + [I(57,122)] = {13,0xFFB}, + [I(58,122)] = {14,0x2E7B}, + [I(59,122)] = {15,0x7DFB}, + [I(60,122)] = {22,0x3FFE7B}, + [I(61,122)] = {13,0x107B}, + [I(62,122)] = {19,0x7FDFB}, + [I(63,122)] = {17,0x1FE7B}, + [I(64,122)] = {20,0xFFD7B}, + [I(65,122)] = {13,0x10FB}, + [I(66,122)] = {14,0x2EFB}, + [I(67,122)] = {14,0x2F7B}, + [I(68,122)] = {14,0x2FFB}, + [I(69,122)] = {14,0x307B}, + [I(70,122)] = {14,0x30FB}, + [I(71,122)] = {14,0x317B}, + [I(72,122)] = {14,0x31FB}, + [I(73,122)] = {14,0x327B}, + [I(74,122)] = {14,0x32FB}, + [I(75,122)] = {14,0x337B}, + [I(76,122)] = {14,0x33FB}, + [I(77,122)] = {14,0x347B}, + [I(78,122)] = {14,0x34FB}, + [I(79,122)] = {14,0x357B}, + [I(80,122)] = {14,0x35FB}, + [I(81,122)] = {14,0x367B}, + [I(82,122)] = {14,0x36FB}, + [I(83,122)] = {14,0x377B}, + [I(84,122)] = {14,0x37FB}, + [I(85,122)] = {14,0x387B}, + [I(86,122)] = {14,0x38FB}, + [I(87,122)] = {14,0x397B}, + [I(88,122)] = {15,0x7E7B}, + [I(89,122)] = {14,0x39FB}, + [I(90,122)] = {15,0x7EFB}, + [I(91,122)] = {20,0xFFDFB}, + [I(92,122)] = {26,0x3FFF87B}, + [I(93,122)] = {20,0xFFE7B}, + [I(94,122)] = {21,0x1FFE7B}, + [I(95,122)] = {13,0x117B}, + [I(96,122)] = {22,0x3FFEFB}, + [I(97,122)] = {12,0x1FB}, + [I(98,122)] = {13,0x11FB}, + [I(99,122)] = {12,0x27B}, + [I(100,122)] = {13,0x127B}, + [I(101,122)] = {12,0x2FB}, + [I(102,122)] = {13,0x12FB}, + [I(103,122)] = {13,0x137B}, + [I(104,122)] = {13,0x13FB}, + [I(105,122)] = {12,0x37B}, + [I(106,122)] = {14,0x3A7B}, + [I(107,122)] = {14,0x3AFB}, + [I(108,122)] = {13,0x147B}, + [I(109,122)] = {13,0x14FB}, + [I(110,122)] = {13,0x157B}, + [I(111,122)] = {12,0x3FB}, + [I(112,122)] = {13,0x15FB}, + [I(113,122)] = {14,0x3B7B}, + [I(114,122)] = {13,0x167B}, + [I(115,122)] = {12,0x47B}, + [I(116,122)] = {12,0x4FB}, + [I(117,122)] = {13,0x16FB}, + [I(118,122)] = {14,0x3BFB}, + [I(119,122)] = {14,0x3C7B}, + [I(120,122)] = {14,0x3CFB}, + [I(121,122)] = {14,0x3D7B}, + [I(122,122)] = {14,0x3DFB}, + [I(123,122)] = {22,0x3FFF7B}, + [I(124,122)] = {18,0x3FE7B}, + [I(125,122)] = {21,0x1FFEFB}, + [I(126,122)] = {20,0xFFEFB}, + [I(127,122)] = {64,0}, + [I(128,122)] = {27,0x7FFF37B}, + [I(129,122)] = {29,0x1FFFE97B}, + [I(130,122)] = {27,0x7FFF3FB}, + [I(131,122)] = {27,0x7FFF47B}, + [I(132,122)] = {29,0x1FFFE9FB}, + [I(133,122)] = {29,0x1FFFEA7B}, + [I(134,122)] = {29,0x1FFFEAFB}, + [I(135,122)] = {30,0x3FFFECFB}, + [I(136,122)] = {29,0x1FFFEB7B}, + [I(137,122)] = {30,0x3FFFED7B}, + [I(138,122)] = {30,0x3FFFEDFB}, + [I(139,122)] = {30,0x3FFFEE7B}, + [I(140,122)] = {30,0x3FFFEEFB}, + [I(141,122)] = {30,0x3FFFEF7B}, + [I(142,122)] = {31,0x7FFFF5FB}, + [I(143,122)] = {30,0x3FFFEFFB}, + [I(144,122)] = {31,0x7FFFF67B}, + [I(145,122)] = {31,0x7FFFF6FB}, + [I(146,122)] = {29,0x1FFFEBFB}, + [I(147,122)] = {30,0x3FFFF07B}, + [I(148,122)] = {31,0x7FFFF77B}, + [I(149,122)] = {30,0x3FFFF0FB}, + [I(150,122)] = {30,0x3FFFF17B}, + [I(151,122)] = {30,0x3FFFF1FB}, + [I(152,122)] = {30,0x3FFFF27B}, + [I(153,122)] = {28,0xFFFEE7B}, + [I(154,122)] = {29,0x1FFFEC7B}, + [I(155,122)] = {30,0x3FFFF2FB}, + [I(156,122)] = {29,0x1FFFECFB}, + [I(157,122)] = {30,0x3FFFF37B}, + [I(158,122)] = {30,0x3FFFF3FB}, + [I(159,122)] = {31,0x7FFFF7FB}, + [I(160,122)] = {29,0x1FFFED7B}, + [I(161,122)] = {28,0xFFFEEFB}, + [I(162,122)] = {27,0x7FFF4FB}, + [I(163,122)] = {29,0x1FFFEDFB}, + [I(164,122)] = {29,0x1FFFEE7B}, + [I(165,122)] = {30,0x3FFFF47B}, + [I(166,122)] = {30,0x3FFFF4FB}, + [I(167,122)] = {28,0xFFFEF7B}, + [I(168,122)] = {30,0x3FFFF57B}, + [I(169,122)] = {29,0x1FFFEEFB}, + [I(170,122)] = {29,0x1FFFEF7B}, + [I(171,122)] = {31,0x7FFFF87B}, + [I(172,122)] = {28,0xFFFEFFB}, + [I(173,122)] = {29,0x1FFFEFFB}, + [I(174,122)] = {30,0x3FFFF5FB}, + [I(175,122)] = {30,0x3FFFF67B}, + [I(176,122)] = {28,0xFFFF07B}, + [I(177,122)] = {28,0xFFFF0FB}, + [I(178,122)] = {29,0x1FFFF07B}, + [I(179,122)] = {28,0xFFFF17B}, + [I(180,122)] = {30,0x3FFFF6FB}, + [I(181,122)] = {29,0x1FFFF0FB}, + [I(182,122)] = {30,0x3FFFF77B}, + [I(183,122)] = {30,0x3FFFF7FB}, + [I(184,122)] = {27,0x7FFF57B}, + [I(185,122)] = {29,0x1FFFF17B}, + [I(186,122)] = {29,0x1FFFF1FB}, + [I(187,122)] = {29,0x1FFFF27B}, + [I(188,122)] = {30,0x3FFFF87B}, + [I(189,122)] = {29,0x1FFFF2FB}, + [I(190,122)] = {29,0x1FFFF37B}, + [I(191,122)] = {30,0x3FFFF8FB}, + [I(192,122)] = {64,0}, + [I(193,122)] = {64,0}, + [I(194,122)] = {27,0x7FFF5FB}, + [I(195,122)] = {26,0x3FFF8FB}, + [I(196,122)] = {29,0x1FFFF3FB}, + [I(197,122)] = {30,0x3FFFF97B}, + [I(198,122)] = {29,0x1FFFF47B}, + [I(199,122)] = {X32,0xFFFFF67B}, + [I(200,122)] = {64,0}, + [I(201,122)] = {64,0}, + [I(202,122)] = {64,0}, + [I(203,122)] = {64,0}, + [I(204,122)] = {64,0}, + [I(205,122)] = {64,0}, + [I(206,122)] = {31,0x7FFFF8FB}, + [I(207,122)] = {X32,0xFFFFF6FB}, + [I(208,122)] = {26,0x3FFF97B}, + [I(209,122)] = {28,0xFFFF1FB}, + [I(210,122)] = {64,0}, + [I(211,122)] = {64,0}, + [I(212,122)] = {64,0}, + [I(213,122)] = {64,0}, + [I(214,122)] = {64,0}, + [I(215,122)] = {31,0x7FFFF97B}, + [I(216,122)] = {28,0xFFFF27B}, + [I(217,122)] = {28,0xFFFF2FB}, + [I(218,122)] = {64,0}, + [I(219,122)] = {64,0}, + [I(220,122)] = {64,0}, + [I(221,122)] = {64,0}, + [I(222,122)] = {64,0}, + [I(223,122)] = {64,0}, + [I(224,122)] = {27,0x7FFF67B}, + [I(225,122)] = {31,0x7FFFF9FB}, + [I(226,122)] = {27,0x7FFF6FB}, + [I(227,122)] = {28,0xFFFF37B}, + [I(228,122)] = {29,0x1FFFF4FB}, + [I(229,122)] = {28,0xFFFF3FB}, + [I(230,122)] = {28,0xFFFF47B}, + [I(231,122)] = {30,0x3FFFF9FB}, + [I(232,122)] = {29,0x1FFFF57B}, + [I(233,122)] = {29,0x1FFFF5FB}, + [I(234,122)] = {X32,0xFFFFF77B}, + [I(235,122)] = {X32,0xFFFFF7FB}, + [I(236,122)] = {31,0x7FFFFA7B}, + [I(237,122)] = {31,0x7FFFFAFB}, + [I(238,122)] = {64,0}, + [I(239,122)] = {30,0x3FFFFA7B}, + [I(240,122)] = {64,0}, + [I(241,122)] = {64,0}, + [I(242,122)] = {64,0}, + [I(243,122)] = {64,0}, + [I(244,122)] = {64,0}, + [I(245,122)] = {64,0}, + [I(246,122)] = {64,0}, + [I(247,122)] = {64,0}, + [I(248,122)] = {64,0}, + [I(249,122)] = {64,0}, + [I(250,122)] = {64,0}, + [I(251,122)] = {64,0}, + [I(252,122)] = {64,0}, + [I(253,122)] = {64,0}, + [I(254,122)] = {64,0}, + [I(255,122)] = {64,0}, + [I(0,123)] = {28,0xFFC7FFE}, + [I(1,123)] = {64,0}, + [I(2,123)] = {64,0}, + [I(3,123)] = {64,0}, + [I(4,123)] = {64,0}, + [I(5,123)] = {64,0}, + [I(6,123)] = {64,0}, + [I(7,123)] = {64,0}, + [I(8,123)] = {64,0}, + [I(9,123)] = {64,0}, + [I(10,123)] = {64,0}, + [I(11,123)] = {64,0}, + [I(12,123)] = {64,0}, + [I(13,123)] = {64,0}, + [I(14,123)] = {64,0}, + [I(15,123)] = {64,0}, + [I(16,123)] = {64,0}, + [I(17,123)] = {64,0}, + [I(18,123)] = {64,0}, + [I(19,123)] = {64,0}, + [I(20,123)] = {64,0}, + [I(21,123)] = {64,0}, + [I(22,123)] = {64,0}, + [I(23,123)] = {64,0}, + [I(24,123)] = {64,0}, + [I(25,123)] = {64,0}, + [I(26,123)] = {64,0}, + [I(27,123)] = {64,0}, + [I(28,123)] = {64,0}, + [I(29,123)] = {64,0}, + [I(30,123)] = {64,0}, + [I(31,123)] = {64,0}, + [I(32,123)] = {21,0xA7FFE}, + [I(33,123)] = {25,0x1FC7FFE}, + [I(34,123)] = {25,0x1FCFFFE}, + [I(35,123)] = {27,0x7FD7FFE}, + [I(36,123)] = {28,0xFFCFFFE}, + [I(37,123)] = {21,0xAFFFE}, + [I(38,123)] = {23,0x7C7FFE}, + [I(39,123)] = {26,0x3FD7FFE}, + [I(40,123)] = {25,0x1FD7FFE}, + [I(41,123)] = {25,0x1FDFFFE}, + [I(42,123)] = {23,0x7CFFFE}, + [I(43,123)] = {26,0x3FDFFFE}, + [I(44,123)] = {23,0x7D7FFE}, + [I(45,123)] = {21,0xB7FFE}, + [I(46,123)] = {21,0xBFFFE}, + [I(47,123)] = {21,0xC7FFE}, + [I(48,123)] = {20,0x7FFE}, + [I(49,123)] = {20,0xFFFE}, + [I(50,123)] = {20,0x17FFE}, + [I(51,123)] = {21,0xCFFFE}, + [I(52,123)] = {21,0xD7FFE}, + [I(53,123)] = {21,0xDFFFE}, + [I(54,123)] = {21,0xE7FFE}, + [I(55,123)] = {21,0xEFFFE}, + [I(56,123)] = {21,0xF7FFE}, + [I(57,123)] = {21,0xFFFFE}, + [I(58,123)] = {22,0x2E7FFE}, + [I(59,123)] = {23,0x7DFFFE}, + [I(60,123)] = {30,0x3FFE7FFE}, + [I(61,123)] = {21,0x107FFE}, + [I(62,123)] = {27,0x7FDFFFE}, + [I(63,123)] = {25,0x1FE7FFE}, + [I(64,123)] = {28,0xFFD7FFE}, + [I(65,123)] = {21,0x10FFFE}, + [I(66,123)] = {22,0x2EFFFE}, + [I(67,123)] = {22,0x2F7FFE}, + [I(68,123)] = {22,0x2FFFFE}, + [I(69,123)] = {22,0x307FFE}, + [I(70,123)] = {22,0x30FFFE}, + [I(71,123)] = {22,0x317FFE}, + [I(72,123)] = {22,0x31FFFE}, + [I(73,123)] = {22,0x327FFE}, + [I(74,123)] = {22,0x32FFFE}, + [I(75,123)] = {22,0x337FFE}, + [I(76,123)] = {22,0x33FFFE}, + [I(77,123)] = {22,0x347FFE}, + [I(78,123)] = {22,0x34FFFE}, + [I(79,123)] = {22,0x357FFE}, + [I(80,123)] = {22,0x35FFFE}, + [I(81,123)] = {22,0x367FFE}, + [I(82,123)] = {22,0x36FFFE}, + [I(83,123)] = {22,0x377FFE}, + [I(84,123)] = {22,0x37FFFE}, + [I(85,123)] = {22,0x387FFE}, + [I(86,123)] = {22,0x38FFFE}, + [I(87,123)] = {22,0x397FFE}, + [I(88,123)] = {23,0x7E7FFE}, + [I(89,123)] = {22,0x39FFFE}, + [I(90,123)] = {23,0x7EFFFE}, + [I(91,123)] = {28,0xFFDFFFE}, + [I(92,123)] = {64,0}, + [I(93,123)] = {28,0xFFE7FFE}, + [I(94,123)] = {29,0x1FFE7FFE}, + [I(95,123)] = {21,0x117FFE}, + [I(96,123)] = {30,0x3FFEFFFE}, + [I(97,123)] = {20,0x1FFFE}, + [I(98,123)] = {21,0x11FFFE}, + [I(99,123)] = {20,0x27FFE}, + [I(100,123)] = {21,0x127FFE}, + [I(101,123)] = {20,0x2FFFE}, + [I(102,123)] = {21,0x12FFFE}, + [I(103,123)] = {21,0x137FFE}, + [I(104,123)] = {21,0x13FFFE}, + [I(105,123)] = {20,0x37FFE}, + [I(106,123)] = {22,0x3A7FFE}, + [I(107,123)] = {22,0x3AFFFE}, + [I(108,123)] = {21,0x147FFE}, + [I(109,123)] = {21,0x14FFFE}, + [I(110,123)] = {21,0x157FFE}, + [I(111,123)] = {20,0x3FFFE}, + [I(112,123)] = {21,0x15FFFE}, + [I(113,123)] = {22,0x3B7FFE}, + [I(114,123)] = {21,0x167FFE}, + [I(115,123)] = {20,0x47FFE}, + [I(116,123)] = {20,0x4FFFE}, + [I(117,123)] = {21,0x16FFFE}, + [I(118,123)] = {22,0x3BFFFE}, + [I(119,123)] = {22,0x3C7FFE}, + [I(120,123)] = {22,0x3CFFFE}, + [I(121,123)] = {22,0x3D7FFE}, + [I(122,123)] = {22,0x3DFFFE}, + [I(123,123)] = {30,0x3FFF7FFE}, + [I(124,123)] = {26,0x3FE7FFE}, + [I(125,123)] = {29,0x1FFEFFFE}, + [I(126,123)] = {28,0xFFEFFFE}, + [I(127,123)] = {64,0}, + [I(128,123)] = {64,0}, + [I(129,123)] = {64,0}, + [I(130,123)] = {64,0}, + [I(131,123)] = {64,0}, + [I(132,123)] = {64,0}, + [I(133,123)] = {64,0}, + [I(134,123)] = {64,0}, + [I(135,123)] = {64,0}, + [I(136,123)] = {64,0}, + [I(137,123)] = {64,0}, + [I(138,123)] = {64,0}, + [I(139,123)] = {64,0}, + [I(140,123)] = {64,0}, + [I(141,123)] = {64,0}, + [I(142,123)] = {64,0}, + [I(143,123)] = {64,0}, + [I(144,123)] = {64,0}, + [I(145,123)] = {64,0}, + [I(146,123)] = {64,0}, + [I(147,123)] = {64,0}, + [I(148,123)] = {64,0}, + [I(149,123)] = {64,0}, + [I(150,123)] = {64,0}, + [I(151,123)] = {64,0}, + [I(152,123)] = {64,0}, + [I(153,123)] = {64,0}, + [I(154,123)] = {64,0}, + [I(155,123)] = {64,0}, + [I(156,123)] = {64,0}, + [I(157,123)] = {64,0}, + [I(158,123)] = {64,0}, + [I(159,123)] = {64,0}, + [I(160,123)] = {64,0}, + [I(161,123)] = {64,0}, + [I(162,123)] = {64,0}, + [I(163,123)] = {64,0}, + [I(164,123)] = {64,0}, + [I(165,123)] = {64,0}, + [I(166,123)] = {64,0}, + [I(167,123)] = {64,0}, + [I(168,123)] = {64,0}, + [I(169,123)] = {64,0}, + [I(170,123)] = {64,0}, + [I(171,123)] = {64,0}, + [I(172,123)] = {64,0}, + [I(173,123)] = {64,0}, + [I(174,123)] = {64,0}, + [I(175,123)] = {64,0}, + [I(176,123)] = {64,0}, + [I(177,123)] = {64,0}, + [I(178,123)] = {64,0}, + [I(179,123)] = {64,0}, + [I(180,123)] = {64,0}, + [I(181,123)] = {64,0}, + [I(182,123)] = {64,0}, + [I(183,123)] = {64,0}, + [I(184,123)] = {64,0}, + [I(185,123)] = {64,0}, + [I(186,123)] = {64,0}, + [I(187,123)] = {64,0}, + [I(188,123)] = {64,0}, + [I(189,123)] = {64,0}, + [I(190,123)] = {64,0}, + [I(191,123)] = {64,0}, + [I(192,123)] = {64,0}, + [I(193,123)] = {64,0}, + [I(194,123)] = {64,0}, + [I(195,123)] = {64,0}, + [I(196,123)] = {64,0}, + [I(197,123)] = {64,0}, + [I(198,123)] = {64,0}, + [I(199,123)] = {64,0}, + [I(200,123)] = {64,0}, + [I(201,123)] = {64,0}, + [I(202,123)] = {64,0}, + [I(203,123)] = {64,0}, + [I(204,123)] = {64,0}, + [I(205,123)] = {64,0}, + [I(206,123)] = {64,0}, + [I(207,123)] = {64,0}, + [I(208,123)] = {64,0}, + [I(209,123)] = {64,0}, + [I(210,123)] = {64,0}, + [I(211,123)] = {64,0}, + [I(212,123)] = {64,0}, + [I(213,123)] = {64,0}, + [I(214,123)] = {64,0}, + [I(215,123)] = {64,0}, + [I(216,123)] = {64,0}, + [I(217,123)] = {64,0}, + [I(218,123)] = {64,0}, + [I(219,123)] = {64,0}, + [I(220,123)] = {64,0}, + [I(221,123)] = {64,0}, + [I(222,123)] = {64,0}, + [I(223,123)] = {64,0}, + [I(224,123)] = {64,0}, + [I(225,123)] = {64,0}, + [I(226,123)] = {64,0}, + [I(227,123)] = {64,0}, + [I(228,123)] = {64,0}, + [I(229,123)] = {64,0}, + [I(230,123)] = {64,0}, + [I(231,123)] = {64,0}, + [I(232,123)] = {64,0}, + [I(233,123)] = {64,0}, + [I(234,123)] = {64,0}, + [I(235,123)] = {64,0}, + [I(236,123)] = {64,0}, + [I(237,123)] = {64,0}, + [I(238,123)] = {64,0}, + [I(239,123)] = {64,0}, + [I(240,123)] = {64,0}, + [I(241,123)] = {64,0}, + [I(242,123)] = {64,0}, + [I(243,123)] = {64,0}, + [I(244,123)] = {64,0}, + [I(245,123)] = {64,0}, + [I(246,123)] = {64,0}, + [I(247,123)] = {64,0}, + [I(248,123)] = {64,0}, + [I(249,123)] = {64,0}, + [I(250,123)] = {64,0}, + [I(251,123)] = {64,0}, + [I(252,123)] = {64,0}, + [I(253,123)] = {64,0}, + [I(254,123)] = {64,0}, + [I(255,123)] = {64,0}, + [I(0,124)] = {24,0xFFC7FC}, + [I(1,124)] = {64,0}, + [I(2,124)] = {64,0}, + [I(3,124)] = {64,0}, + [I(4,124)] = {64,0}, + [I(5,124)] = {64,0}, + [I(6,124)] = {64,0}, + [I(7,124)] = {64,0}, + [I(8,124)] = {64,0}, + [I(9,124)] = {64,0}, + [I(10,124)] = {64,0}, + [I(11,124)] = {64,0}, + [I(12,124)] = {64,0}, + [I(13,124)] = {64,0}, + [I(14,124)] = {64,0}, + [I(15,124)] = {64,0}, + [I(16,124)] = {64,0}, + [I(17,124)] = {64,0}, + [I(18,124)] = {64,0}, + [I(19,124)] = {64,0}, + [I(20,124)] = {64,0}, + [I(21,124)] = {64,0}, + [I(22,124)] = {64,0}, + [I(23,124)] = {64,0}, + [I(24,124)] = {64,0}, + [I(25,124)] = {64,0}, + [I(26,124)] = {64,0}, + [I(27,124)] = {64,0}, + [I(28,124)] = {64,0}, + [I(29,124)] = {64,0}, + [I(30,124)] = {64,0}, + [I(31,124)] = {64,0}, + [I(32,124)] = {17,0xA7FC}, + [I(33,124)] = {21,0x1FC7FC}, + [I(34,124)] = {21,0x1FCFFC}, + [I(35,124)] = {23,0x7FD7FC}, + [I(36,124)] = {24,0xFFCFFC}, + [I(37,124)] = {17,0xAFFC}, + [I(38,124)] = {19,0x7C7FC}, + [I(39,124)] = {22,0x3FD7FC}, + [I(40,124)] = {21,0x1FD7FC}, + [I(41,124)] = {21,0x1FDFFC}, + [I(42,124)] = {19,0x7CFFC}, + [I(43,124)] = {22,0x3FDFFC}, + [I(44,124)] = {19,0x7D7FC}, + [I(45,124)] = {17,0xB7FC}, + [I(46,124)] = {17,0xBFFC}, + [I(47,124)] = {17,0xC7FC}, + [I(48,124)] = {16,0x7FC}, + [I(49,124)] = {16,0xFFC}, + [I(50,124)] = {16,0x17FC}, + [I(51,124)] = {17,0xCFFC}, + [I(52,124)] = {17,0xD7FC}, + [I(53,124)] = {17,0xDFFC}, + [I(54,124)] = {17,0xE7FC}, + [I(55,124)] = {17,0xEFFC}, + [I(56,124)] = {17,0xF7FC}, + [I(57,124)] = {17,0xFFFC}, + [I(58,124)] = {18,0x2E7FC}, + [I(59,124)] = {19,0x7DFFC}, + [I(60,124)] = {26,0x3FFE7FC}, + [I(61,124)] = {17,0x107FC}, + [I(62,124)] = {23,0x7FDFFC}, + [I(63,124)] = {21,0x1FE7FC}, + [I(64,124)] = {24,0xFFD7FC}, + [I(65,124)] = {17,0x10FFC}, + [I(66,124)] = {18,0x2EFFC}, + [I(67,124)] = {18,0x2F7FC}, + [I(68,124)] = {18,0x2FFFC}, + [I(69,124)] = {18,0x307FC}, + [I(70,124)] = {18,0x30FFC}, + [I(71,124)] = {18,0x317FC}, + [I(72,124)] = {18,0x31FFC}, + [I(73,124)] = {18,0x327FC}, + [I(74,124)] = {18,0x32FFC}, + [I(75,124)] = {18,0x337FC}, + [I(76,124)] = {18,0x33FFC}, + [I(77,124)] = {18,0x347FC}, + [I(78,124)] = {18,0x34FFC}, + [I(79,124)] = {18,0x357FC}, + [I(80,124)] = {18,0x35FFC}, + [I(81,124)] = {18,0x367FC}, + [I(82,124)] = {18,0x36FFC}, + [I(83,124)] = {18,0x377FC}, + [I(84,124)] = {18,0x37FFC}, + [I(85,124)] = {18,0x387FC}, + [I(86,124)] = {18,0x38FFC}, + [I(87,124)] = {18,0x397FC}, + [I(88,124)] = {19,0x7E7FC}, + [I(89,124)] = {18,0x39FFC}, + [I(90,124)] = {19,0x7EFFC}, + [I(91,124)] = {24,0xFFDFFC}, + [I(92,124)] = {30,0x3FFF87FC}, + [I(93,124)] = {24,0xFFE7FC}, + [I(94,124)] = {25,0x1FFE7FC}, + [I(95,124)] = {17,0x117FC}, + [I(96,124)] = {26,0x3FFEFFC}, + [I(97,124)] = {16,0x1FFC}, + [I(98,124)] = {17,0x11FFC}, + [I(99,124)] = {16,0x27FC}, + [I(100,124)] = {17,0x127FC}, + [I(101,124)] = {16,0x2FFC}, + [I(102,124)] = {17,0x12FFC}, + [I(103,124)] = {17,0x137FC}, + [I(104,124)] = {17,0x13FFC}, + [I(105,124)] = {16,0x37FC}, + [I(106,124)] = {18,0x3A7FC}, + [I(107,124)] = {18,0x3AFFC}, + [I(108,124)] = {17,0x147FC}, + [I(109,124)] = {17,0x14FFC}, + [I(110,124)] = {17,0x157FC}, + [I(111,124)] = {16,0x3FFC}, + [I(112,124)] = {17,0x15FFC}, + [I(113,124)] = {18,0x3B7FC}, + [I(114,124)] = {17,0x167FC}, + [I(115,124)] = {16,0x47FC}, + [I(116,124)] = {16,0x4FFC}, + [I(117,124)] = {17,0x16FFC}, + [I(118,124)] = {18,0x3BFFC}, + [I(119,124)] = {18,0x3C7FC}, + [I(120,124)] = {18,0x3CFFC}, + [I(121,124)] = {18,0x3D7FC}, + [I(122,124)] = {18,0x3DFFC}, + [I(123,124)] = {26,0x3FFF7FC}, + [I(124,124)] = {22,0x3FE7FC}, + [I(125,124)] = {25,0x1FFEFFC}, + [I(126,124)] = {24,0xFFEFFC}, + [I(127,124)] = {64,0}, + [I(128,124)] = {31,0x7FFF37FC}, + [I(129,124)] = {64,0}, + [I(130,124)] = {31,0x7FFF3FFC}, + [I(131,124)] = {31,0x7FFF47FC}, + [I(132,124)] = {64,0}, + [I(133,124)] = {64,0}, + [I(134,124)] = {64,0}, + [I(135,124)] = {64,0}, + [I(136,124)] = {64,0}, + [I(137,124)] = {64,0}, + [I(138,124)] = {64,0}, + [I(139,124)] = {64,0}, + [I(140,124)] = {64,0}, + [I(141,124)] = {64,0}, + [I(142,124)] = {64,0}, + [I(143,124)] = {64,0}, + [I(144,124)] = {64,0}, + [I(145,124)] = {64,0}, + [I(146,124)] = {64,0}, + [I(147,124)] = {64,0}, + [I(148,124)] = {64,0}, + [I(149,124)] = {64,0}, + [I(150,124)] = {64,0}, + [I(151,124)] = {64,0}, + [I(152,124)] = {64,0}, + [I(153,124)] = {X32,0xFFFEE7FC}, + [I(154,124)] = {64,0}, + [I(155,124)] = {64,0}, + [I(156,124)] = {64,0}, + [I(157,124)] = {64,0}, + [I(158,124)] = {64,0}, + [I(159,124)] = {64,0}, + [I(160,124)] = {64,0}, + [I(161,124)] = {X32,0xFFFEEFFC}, + [I(162,124)] = {31,0x7FFF4FFC}, + [I(163,124)] = {64,0}, + [I(164,124)] = {64,0}, + [I(165,124)] = {64,0}, + [I(166,124)] = {64,0}, + [I(167,124)] = {X32,0xFFFEF7FC}, + [I(168,124)] = {64,0}, + [I(169,124)] = {64,0}, + [I(170,124)] = {64,0}, + [I(171,124)] = {64,0}, + [I(172,124)] = {X32,0xFFFEFFFC}, + [I(173,124)] = {64,0}, + [I(174,124)] = {64,0}, + [I(175,124)] = {64,0}, + [I(176,124)] = {X32,0xFFFF07FC}, + [I(177,124)] = {X32,0xFFFF0FFC}, + [I(178,124)] = {64,0}, + [I(179,124)] = {X32,0xFFFF17FC}, + [I(180,124)] = {64,0}, + [I(181,124)] = {64,0}, + [I(182,124)] = {64,0}, + [I(183,124)] = {64,0}, + [I(184,124)] = {31,0x7FFF57FC}, + [I(185,124)] = {64,0}, + [I(186,124)] = {64,0}, + [I(187,124)] = {64,0}, + [I(188,124)] = {64,0}, + [I(189,124)] = {64,0}, + [I(190,124)] = {64,0}, + [I(191,124)] = {64,0}, + [I(192,124)] = {64,0}, + [I(193,124)] = {64,0}, + [I(194,124)] = {31,0x7FFF5FFC}, + [I(195,124)] = {30,0x3FFF8FFC}, + [I(196,124)] = {64,0}, + [I(197,124)] = {64,0}, + [I(198,124)] = {64,0}, + [I(199,124)] = {64,0}, + [I(200,124)] = {64,0}, + [I(201,124)] = {64,0}, + [I(202,124)] = {64,0}, + [I(203,124)] = {64,0}, + [I(204,124)] = {64,0}, + [I(205,124)] = {64,0}, + [I(206,124)] = {64,0}, + [I(207,124)] = {64,0}, + [I(208,124)] = {30,0x3FFF97FC}, + [I(209,124)] = {X32,0xFFFF1FFC}, + [I(210,124)] = {64,0}, + [I(211,124)] = {64,0}, + [I(212,124)] = {64,0}, + [I(213,124)] = {64,0}, + [I(214,124)] = {64,0}, + [I(215,124)] = {64,0}, + [I(216,124)] = {X32,0xFFFF27FC}, + [I(217,124)] = {X32,0xFFFF2FFC}, + [I(218,124)] = {64,0}, + [I(219,124)] = {64,0}, + [I(220,124)] = {64,0}, + [I(221,124)] = {64,0}, + [I(222,124)] = {64,0}, + [I(223,124)] = {64,0}, + [I(224,124)] = {31,0x7FFF67FC}, + [I(225,124)] = {64,0}, + [I(226,124)] = {31,0x7FFF6FFC}, + [I(227,124)] = {X32,0xFFFF37FC}, + [I(228,124)] = {64,0}, + [I(229,124)] = {X32,0xFFFF3FFC}, + [I(230,124)] = {X32,0xFFFF47FC}, + [I(231,124)] = {64,0}, + [I(232,124)] = {64,0}, + [I(233,124)] = {64,0}, + [I(234,124)] = {64,0}, + [I(235,124)] = {64,0}, + [I(236,124)] = {64,0}, + [I(237,124)] = {64,0}, + [I(238,124)] = {64,0}, + [I(239,124)] = {64,0}, + [I(240,124)] = {64,0}, + [I(241,124)] = {64,0}, + [I(242,124)] = {64,0}, + [I(243,124)] = {64,0}, + [I(244,124)] = {64,0}, + [I(245,124)] = {64,0}, + [I(246,124)] = {64,0}, + [I(247,124)] = {64,0}, + [I(248,124)] = {64,0}, + [I(249,124)] = {64,0}, + [I(250,124)] = {64,0}, + [I(251,124)] = {64,0}, + [I(252,124)] = {64,0}, + [I(253,124)] = {64,0}, + [I(254,124)] = {64,0}, + [I(255,124)] = {64,0}, + [I(0,125)] = {27,0x7FE3FFD}, + [I(1,125)] = {64,0}, + [I(2,125)] = {64,0}, + [I(3,125)] = {64,0}, + [I(4,125)] = {64,0}, + [I(5,125)] = {64,0}, + [I(6,125)] = {64,0}, + [I(7,125)] = {64,0}, + [I(8,125)] = {64,0}, + [I(9,125)] = {64,0}, + [I(10,125)] = {64,0}, + [I(11,125)] = {64,0}, + [I(12,125)] = {64,0}, + [I(13,125)] = {64,0}, + [I(14,125)] = {64,0}, + [I(15,125)] = {64,0}, + [I(16,125)] = {64,0}, + [I(17,125)] = {64,0}, + [I(18,125)] = {64,0}, + [I(19,125)] = {64,0}, + [I(20,125)] = {64,0}, + [I(21,125)] = {64,0}, + [I(22,125)] = {64,0}, + [I(23,125)] = {64,0}, + [I(24,125)] = {64,0}, + [I(25,125)] = {64,0}, + [I(26,125)] = {64,0}, + [I(27,125)] = {64,0}, + [I(28,125)] = {64,0}, + [I(29,125)] = {64,0}, + [I(30,125)] = {64,0}, + [I(31,125)] = {64,0}, + [I(32,125)] = {20,0x53FFD}, + [I(33,125)] = {24,0xFE3FFD}, + [I(34,125)] = {24,0xFE7FFD}, + [I(35,125)] = {26,0x3FEBFFD}, + [I(36,125)] = {27,0x7FE7FFD}, + [I(37,125)] = {20,0x57FFD}, + [I(38,125)] = {22,0x3E3FFD}, + [I(39,125)] = {25,0x1FEBFFD}, + [I(40,125)] = {24,0xFEBFFD}, + [I(41,125)] = {24,0xFEFFFD}, + [I(42,125)] = {22,0x3E7FFD}, + [I(43,125)] = {25,0x1FEFFFD}, + [I(44,125)] = {22,0x3EBFFD}, + [I(45,125)] = {20,0x5BFFD}, + [I(46,125)] = {20,0x5FFFD}, + [I(47,125)] = {20,0x63FFD}, + [I(48,125)] = {19,0x3FFD}, + [I(49,125)] = {19,0x7FFD}, + [I(50,125)] = {19,0xBFFD}, + [I(51,125)] = {20,0x67FFD}, + [I(52,125)] = {20,0x6BFFD}, + [I(53,125)] = {20,0x6FFFD}, + [I(54,125)] = {20,0x73FFD}, + [I(55,125)] = {20,0x77FFD}, + [I(56,125)] = {20,0x7BFFD}, + [I(57,125)] = {20,0x7FFFD}, + [I(58,125)] = {21,0x173FFD}, + [I(59,125)] = {22,0x3EFFFD}, + [I(60,125)] = {29,0x1FFF3FFD}, + [I(61,125)] = {20,0x83FFD}, + [I(62,125)] = {26,0x3FEFFFD}, + [I(63,125)] = {24,0xFF3FFD}, + [I(64,125)] = {27,0x7FEBFFD}, + [I(65,125)] = {20,0x87FFD}, + [I(66,125)] = {21,0x177FFD}, + [I(67,125)] = {21,0x17BFFD}, + [I(68,125)] = {21,0x17FFFD}, + [I(69,125)] = {21,0x183FFD}, + [I(70,125)] = {21,0x187FFD}, + [I(71,125)] = {21,0x18BFFD}, + [I(72,125)] = {21,0x18FFFD}, + [I(73,125)] = {21,0x193FFD}, + [I(74,125)] = {21,0x197FFD}, + [I(75,125)] = {21,0x19BFFD}, + [I(76,125)] = {21,0x19FFFD}, + [I(77,125)] = {21,0x1A3FFD}, + [I(78,125)] = {21,0x1A7FFD}, + [I(79,125)] = {21,0x1ABFFD}, + [I(80,125)] = {21,0x1AFFFD}, + [I(81,125)] = {21,0x1B3FFD}, + [I(82,125)] = {21,0x1B7FFD}, + [I(83,125)] = {21,0x1BBFFD}, + [I(84,125)] = {21,0x1BFFFD}, + [I(85,125)] = {21,0x1C3FFD}, + [I(86,125)] = {21,0x1C7FFD}, + [I(87,125)] = {21,0x1CBFFD}, + [I(88,125)] = {22,0x3F3FFD}, + [I(89,125)] = {21,0x1CFFFD}, + [I(90,125)] = {22,0x3F7FFD}, + [I(91,125)] = {27,0x7FEFFFD}, + [I(92,125)] = {64,0}, + [I(93,125)] = {27,0x7FF3FFD}, + [I(94,125)] = {28,0xFFF3FFD}, + [I(95,125)] = {20,0x8BFFD}, + [I(96,125)] = {29,0x1FFF7FFD}, + [I(97,125)] = {19,0xFFFD}, + [I(98,125)] = {20,0x8FFFD}, + [I(99,125)] = {19,0x13FFD}, + [I(100,125)] = {20,0x93FFD}, + [I(101,125)] = {19,0x17FFD}, + [I(102,125)] = {20,0x97FFD}, + [I(103,125)] = {20,0x9BFFD}, + [I(104,125)] = {20,0x9FFFD}, + [I(105,125)] = {19,0x1BFFD}, + [I(106,125)] = {21,0x1D3FFD}, + [I(107,125)] = {21,0x1D7FFD}, + [I(108,125)] = {20,0xA3FFD}, + [I(109,125)] = {20,0xA7FFD}, + [I(110,125)] = {20,0xABFFD}, + [I(111,125)] = {19,0x1FFFD}, + [I(112,125)] = {20,0xAFFFD}, + [I(113,125)] = {21,0x1DBFFD}, + [I(114,125)] = {20,0xB3FFD}, + [I(115,125)] = {19,0x23FFD}, + [I(116,125)] = {19,0x27FFD}, + [I(117,125)] = {20,0xB7FFD}, + [I(118,125)] = {21,0x1DFFFD}, + [I(119,125)] = {21,0x1E3FFD}, + [I(120,125)] = {21,0x1E7FFD}, + [I(121,125)] = {21,0x1EBFFD}, + [I(122,125)] = {21,0x1EFFFD}, + [I(123,125)] = {29,0x1FFFBFFD}, + [I(124,125)] = {25,0x1FF3FFD}, + [I(125,125)] = {28,0xFFF7FFD}, + [I(126,125)] = {27,0x7FF7FFD}, + [I(127,125)] = {64,0}, + [I(128,125)] = {64,0}, + [I(129,125)] = {64,0}, + [I(130,125)] = {64,0}, + [I(131,125)] = {64,0}, + [I(132,125)] = {64,0}, + [I(133,125)] = {64,0}, + [I(134,125)] = {64,0}, + [I(135,125)] = {64,0}, + [I(136,125)] = {64,0}, + [I(137,125)] = {64,0}, + [I(138,125)] = {64,0}, + [I(139,125)] = {64,0}, + [I(140,125)] = {64,0}, + [I(141,125)] = {64,0}, + [I(142,125)] = {64,0}, + [I(143,125)] = {64,0}, + [I(144,125)] = {64,0}, + [I(145,125)] = {64,0}, + [I(146,125)] = {64,0}, + [I(147,125)] = {64,0}, + [I(148,125)] = {64,0}, + [I(149,125)] = {64,0}, + [I(150,125)] = {64,0}, + [I(151,125)] = {64,0}, + [I(152,125)] = {64,0}, + [I(153,125)] = {64,0}, + [I(154,125)] = {64,0}, + [I(155,125)] = {64,0}, + [I(156,125)] = {64,0}, + [I(157,125)] = {64,0}, + [I(158,125)] = {64,0}, + [I(159,125)] = {64,0}, + [I(160,125)] = {64,0}, + [I(161,125)] = {64,0}, + [I(162,125)] = {64,0}, + [I(163,125)] = {64,0}, + [I(164,125)] = {64,0}, + [I(165,125)] = {64,0}, + [I(166,125)] = {64,0}, + [I(167,125)] = {64,0}, + [I(168,125)] = {64,0}, + [I(169,125)] = {64,0}, + [I(170,125)] = {64,0}, + [I(171,125)] = {64,0}, + [I(172,125)] = {64,0}, + [I(173,125)] = {64,0}, + [I(174,125)] = {64,0}, + [I(175,125)] = {64,0}, + [I(176,125)] = {64,0}, + [I(177,125)] = {64,0}, + [I(178,125)] = {64,0}, + [I(179,125)] = {64,0}, + [I(180,125)] = {64,0}, + [I(181,125)] = {64,0}, + [I(182,125)] = {64,0}, + [I(183,125)] = {64,0}, + [I(184,125)] = {64,0}, + [I(185,125)] = {64,0}, + [I(186,125)] = {64,0}, + [I(187,125)] = {64,0}, + [I(188,125)] = {64,0}, + [I(189,125)] = {64,0}, + [I(190,125)] = {64,0}, + [I(191,125)] = {64,0}, + [I(192,125)] = {64,0}, + [I(193,125)] = {64,0}, + [I(194,125)] = {64,0}, + [I(195,125)] = {64,0}, + [I(196,125)] = {64,0}, + [I(197,125)] = {64,0}, + [I(198,125)] = {64,0}, + [I(199,125)] = {64,0}, + [I(200,125)] = {64,0}, + [I(201,125)] = {64,0}, + [I(202,125)] = {64,0}, + [I(203,125)] = {64,0}, + [I(204,125)] = {64,0}, + [I(205,125)] = {64,0}, + [I(206,125)] = {64,0}, + [I(207,125)] = {64,0}, + [I(208,125)] = {64,0}, + [I(209,125)] = {64,0}, + [I(210,125)] = {64,0}, + [I(211,125)] = {64,0}, + [I(212,125)] = {64,0}, + [I(213,125)] = {64,0}, + [I(214,125)] = {64,0}, + [I(215,125)] = {64,0}, + [I(216,125)] = {64,0}, + [I(217,125)] = {64,0}, + [I(218,125)] = {64,0}, + [I(219,125)] = {64,0}, + [I(220,125)] = {64,0}, + [I(221,125)] = {64,0}, + [I(222,125)] = {64,0}, + [I(223,125)] = {64,0}, + [I(224,125)] = {64,0}, + [I(225,125)] = {64,0}, + [I(226,125)] = {64,0}, + [I(227,125)] = {64,0}, + [I(228,125)] = {64,0}, + [I(229,125)] = {64,0}, + [I(230,125)] = {64,0}, + [I(231,125)] = {64,0}, + [I(232,125)] = {64,0}, + [I(233,125)] = {64,0}, + [I(234,125)] = {64,0}, + [I(235,125)] = {64,0}, + [I(236,125)] = {64,0}, + [I(237,125)] = {64,0}, + [I(238,125)] = {64,0}, + [I(239,125)] = {64,0}, + [I(240,125)] = {64,0}, + [I(241,125)] = {64,0}, + [I(242,125)] = {64,0}, + [I(243,125)] = {64,0}, + [I(244,125)] = {64,0}, + [I(245,125)] = {64,0}, + [I(246,125)] = {64,0}, + [I(247,125)] = {64,0}, + [I(248,125)] = {64,0}, + [I(249,125)] = {64,0}, + [I(250,125)] = {64,0}, + [I(251,125)] = {64,0}, + [I(252,125)] = {64,0}, + [I(253,125)] = {64,0}, + [I(254,125)] = {64,0}, + [I(255,125)] = {64,0}, + [I(0,126)] = {26,0x3FF1FFD}, + [I(1,126)] = {64,0}, + [I(2,126)] = {64,0}, + [I(3,126)] = {64,0}, + [I(4,126)] = {64,0}, + [I(5,126)] = {64,0}, + [I(6,126)] = {64,0}, + [I(7,126)] = {64,0}, + [I(8,126)] = {64,0}, + [I(9,126)] = {64,0}, + [I(10,126)] = {64,0}, + [I(11,126)] = {64,0}, + [I(12,126)] = {64,0}, + [I(13,126)] = {64,0}, + [I(14,126)] = {64,0}, + [I(15,126)] = {64,0}, + [I(16,126)] = {64,0}, + [I(17,126)] = {64,0}, + [I(18,126)] = {64,0}, + [I(19,126)] = {64,0}, + [I(20,126)] = {64,0}, + [I(21,126)] = {64,0}, + [I(22,126)] = {64,0}, + [I(23,126)] = {64,0}, + [I(24,126)] = {64,0}, + [I(25,126)] = {64,0}, + [I(26,126)] = {64,0}, + [I(27,126)] = {64,0}, + [I(28,126)] = {64,0}, + [I(29,126)] = {64,0}, + [I(30,126)] = {64,0}, + [I(31,126)] = {64,0}, + [I(32,126)] = {19,0x29FFD}, + [I(33,126)] = {23,0x7F1FFD}, + [I(34,126)] = {23,0x7F3FFD}, + [I(35,126)] = {25,0x1FF5FFD}, + [I(36,126)] = {26,0x3FF3FFD}, + [I(37,126)] = {19,0x2BFFD}, + [I(38,126)] = {21,0x1F1FFD}, + [I(39,126)] = {24,0xFF5FFD}, + [I(40,126)] = {23,0x7F5FFD}, + [I(41,126)] = {23,0x7F7FFD}, + [I(42,126)] = {21,0x1F3FFD}, + [I(43,126)] = {24,0xFF7FFD}, + [I(44,126)] = {21,0x1F5FFD}, + [I(45,126)] = {19,0x2DFFD}, + [I(46,126)] = {19,0x2FFFD}, + [I(47,126)] = {19,0x31FFD}, + [I(48,126)] = {18,0x1FFD}, + [I(49,126)] = {18,0x3FFD}, + [I(50,126)] = {18,0x5FFD}, + [I(51,126)] = {19,0x33FFD}, + [I(52,126)] = {19,0x35FFD}, + [I(53,126)] = {19,0x37FFD}, + [I(54,126)] = {19,0x39FFD}, + [I(55,126)] = {19,0x3BFFD}, + [I(56,126)] = {19,0x3DFFD}, + [I(57,126)] = {19,0x3FFFD}, + [I(58,126)] = {20,0xB9FFD}, + [I(59,126)] = {21,0x1F7FFD}, + [I(60,126)] = {28,0xFFF9FFD}, + [I(61,126)] = {19,0x41FFD}, + [I(62,126)] = {25,0x1FF7FFD}, + [I(63,126)] = {23,0x7F9FFD}, + [I(64,126)] = {26,0x3FF5FFD}, + [I(65,126)] = {19,0x43FFD}, + [I(66,126)] = {20,0xBBFFD}, + [I(67,126)] = {20,0xBDFFD}, + [I(68,126)] = {20,0xBFFFD}, + [I(69,126)] = {20,0xC1FFD}, + [I(70,126)] = {20,0xC3FFD}, + [I(71,126)] = {20,0xC5FFD}, + [I(72,126)] = {20,0xC7FFD}, + [I(73,126)] = {20,0xC9FFD}, + [I(74,126)] = {20,0xCBFFD}, + [I(75,126)] = {20,0xCDFFD}, + [I(76,126)] = {20,0xCFFFD}, + [I(77,126)] = {20,0xD1FFD}, + [I(78,126)] = {20,0xD3FFD}, + [I(79,126)] = {20,0xD5FFD}, + [I(80,126)] = {20,0xD7FFD}, + [I(81,126)] = {20,0xD9FFD}, + [I(82,126)] = {20,0xDBFFD}, + [I(83,126)] = {20,0xDDFFD}, + [I(84,126)] = {20,0xDFFFD}, + [I(85,126)] = {20,0xE1FFD}, + [I(86,126)] = {20,0xE3FFD}, + [I(87,126)] = {20,0xE5FFD}, + [I(88,126)] = {21,0x1F9FFD}, + [I(89,126)] = {20,0xE7FFD}, + [I(90,126)] = {21,0x1FBFFD}, + [I(91,126)] = {26,0x3FF7FFD}, + [I(92,126)] = {X32,0xFFFE1FFD}, + [I(93,126)] = {26,0x3FF9FFD}, + [I(94,126)] = {27,0x7FF9FFD}, + [I(95,126)] = {19,0x45FFD}, + [I(96,126)] = {28,0xFFFBFFD}, + [I(97,126)] = {18,0x7FFD}, + [I(98,126)] = {19,0x47FFD}, + [I(99,126)] = {18,0x9FFD}, + [I(100,126)] = {19,0x49FFD}, + [I(101,126)] = {18,0xBFFD}, + [I(102,126)] = {19,0x4BFFD}, + [I(103,126)] = {19,0x4DFFD}, + [I(104,126)] = {19,0x4FFFD}, + [I(105,126)] = {18,0xDFFD}, + [I(106,126)] = {20,0xE9FFD}, + [I(107,126)] = {20,0xEBFFD}, + [I(108,126)] = {19,0x51FFD}, + [I(109,126)] = {19,0x53FFD}, + [I(110,126)] = {19,0x55FFD}, + [I(111,126)] = {18,0xFFFD}, + [I(112,126)] = {19,0x57FFD}, + [I(113,126)] = {20,0xEDFFD}, + [I(114,126)] = {19,0x59FFD}, + [I(115,126)] = {18,0x11FFD}, + [I(116,126)] = {18,0x13FFD}, + [I(117,126)] = {19,0x5BFFD}, + [I(118,126)] = {20,0xEFFFD}, + [I(119,126)] = {20,0xF1FFD}, + [I(120,126)] = {20,0xF3FFD}, + [I(121,126)] = {20,0xF5FFD}, + [I(122,126)] = {20,0xF7FFD}, + [I(123,126)] = {28,0xFFFDFFD}, + [I(124,126)] = {24,0xFF9FFD}, + [I(125,126)] = {27,0x7FFBFFD}, + [I(126,126)] = {26,0x3FFBFFD}, + [I(127,126)] = {64,0}, + [I(128,126)] = {64,0}, + [I(129,126)] = {64,0}, + [I(130,126)] = {64,0}, + [I(131,126)] = {64,0}, + [I(132,126)] = {64,0}, + [I(133,126)] = {64,0}, + [I(134,126)] = {64,0}, + [I(135,126)] = {64,0}, + [I(136,126)] = {64,0}, + [I(137,126)] = {64,0}, + [I(138,126)] = {64,0}, + [I(139,126)] = {64,0}, + [I(140,126)] = {64,0}, + [I(141,126)] = {64,0}, + [I(142,126)] = {64,0}, + [I(143,126)] = {64,0}, + [I(144,126)] = {64,0}, + [I(145,126)] = {64,0}, + [I(146,126)] = {64,0}, + [I(147,126)] = {64,0}, + [I(148,126)] = {64,0}, + [I(149,126)] = {64,0}, + [I(150,126)] = {64,0}, + [I(151,126)] = {64,0}, + [I(152,126)] = {64,0}, + [I(153,126)] = {64,0}, + [I(154,126)] = {64,0}, + [I(155,126)] = {64,0}, + [I(156,126)] = {64,0}, + [I(157,126)] = {64,0}, + [I(158,126)] = {64,0}, + [I(159,126)] = {64,0}, + [I(160,126)] = {64,0}, + [I(161,126)] = {64,0}, + [I(162,126)] = {64,0}, + [I(163,126)] = {64,0}, + [I(164,126)] = {64,0}, + [I(165,126)] = {64,0}, + [I(166,126)] = {64,0}, + [I(167,126)] = {64,0}, + [I(168,126)] = {64,0}, + [I(169,126)] = {64,0}, + [I(170,126)] = {64,0}, + [I(171,126)] = {64,0}, + [I(172,126)] = {64,0}, + [I(173,126)] = {64,0}, + [I(174,126)] = {64,0}, + [I(175,126)] = {64,0}, + [I(176,126)] = {64,0}, + [I(177,126)] = {64,0}, + [I(178,126)] = {64,0}, + [I(179,126)] = {64,0}, + [I(180,126)] = {64,0}, + [I(181,126)] = {64,0}, + [I(182,126)] = {64,0}, + [I(183,126)] = {64,0}, + [I(184,126)] = {64,0}, + [I(185,126)] = {64,0}, + [I(186,126)] = {64,0}, + [I(187,126)] = {64,0}, + [I(188,126)] = {64,0}, + [I(189,126)] = {64,0}, + [I(190,126)] = {64,0}, + [I(191,126)] = {64,0}, + [I(192,126)] = {64,0}, + [I(193,126)] = {64,0}, + [I(194,126)] = {64,0}, + [I(195,126)] = {X32,0xFFFE3FFD}, + [I(196,126)] = {64,0}, + [I(197,126)] = {64,0}, + [I(198,126)] = {64,0}, + [I(199,126)] = {64,0}, + [I(200,126)] = {64,0}, + [I(201,126)] = {64,0}, + [I(202,126)] = {64,0}, + [I(203,126)] = {64,0}, + [I(204,126)] = {64,0}, + [I(205,126)] = {64,0}, + [I(206,126)] = {64,0}, + [I(207,126)] = {64,0}, + [I(208,126)] = {X32,0xFFFE5FFD}, + [I(209,126)] = {64,0}, + [I(210,126)] = {64,0}, + [I(211,126)] = {64,0}, + [I(212,126)] = {64,0}, + [I(213,126)] = {64,0}, + [I(214,126)] = {64,0}, + [I(215,126)] = {64,0}, + [I(216,126)] = {64,0}, + [I(217,126)] = {64,0}, + [I(218,126)] = {64,0}, + [I(219,126)] = {64,0}, + [I(220,126)] = {64,0}, + [I(221,126)] = {64,0}, + [I(222,126)] = {64,0}, + [I(223,126)] = {64,0}, + [I(224,126)] = {64,0}, + [I(225,126)] = {64,0}, + [I(226,126)] = {64,0}, + [I(227,126)] = {64,0}, + [I(228,126)] = {64,0}, + [I(229,126)] = {64,0}, + [I(230,126)] = {64,0}, + [I(231,126)] = {64,0}, + [I(232,126)] = {64,0}, + [I(233,126)] = {64,0}, + [I(234,126)] = {64,0}, + [I(235,126)] = {64,0}, + [I(236,126)] = {64,0}, + [I(237,126)] = {64,0}, + [I(238,126)] = {64,0}, + [I(239,126)] = {64,0}, + [I(240,126)] = {64,0}, + [I(241,126)] = {64,0}, + [I(242,126)] = {64,0}, + [I(243,126)] = {64,0}, + [I(244,126)] = {64,0}, + [I(245,126)] = {64,0}, + [I(246,126)] = {64,0}, + [I(247,126)] = {64,0}, + [I(248,126)] = {64,0}, + [I(249,126)] = {64,0}, + [I(250,126)] = {64,0}, + [I(251,126)] = {64,0}, + [I(252,126)] = {64,0}, + [I(253,126)] = {64,0}, + [I(254,126)] = {64,0}, + [I(255,126)] = {64,0}, + [I(0,127)] = {64,0}, + [I(1,127)] = {64,0}, + [I(2,127)] = {64,0}, + [I(3,127)] = {64,0}, + [I(4,127)] = {64,0}, + [I(5,127)] = {64,0}, + [I(6,127)] = {64,0}, + [I(7,127)] = {64,0}, + [I(8,127)] = {64,0}, + [I(9,127)] = {64,0}, + [I(10,127)] = {64,0}, + [I(11,127)] = {64,0}, + [I(12,127)] = {64,0}, + [I(13,127)] = {64,0}, + [I(14,127)] = {64,0}, + [I(15,127)] = {64,0}, + [I(16,127)] = {64,0}, + [I(17,127)] = {64,0}, + [I(18,127)] = {64,0}, + [I(19,127)] = {64,0}, + [I(20,127)] = {64,0}, + [I(21,127)] = {64,0}, + [I(22,127)] = {64,0}, + [I(23,127)] = {64,0}, + [I(24,127)] = {64,0}, + [I(25,127)] = {64,0}, + [I(26,127)] = {64,0}, + [I(27,127)] = {64,0}, + [I(28,127)] = {64,0}, + [I(29,127)] = {64,0}, + [I(30,127)] = {64,0}, + [I(31,127)] = {64,0}, + [I(32,127)] = {64,0}, + [I(33,127)] = {64,0}, + [I(34,127)] = {64,0}, + [I(35,127)] = {64,0}, + [I(36,127)] = {64,0}, + [I(37,127)] = {64,0}, + [I(38,127)] = {64,0}, + [I(39,127)] = {64,0}, + [I(40,127)] = {64,0}, + [I(41,127)] = {64,0}, + [I(42,127)] = {64,0}, + [I(43,127)] = {64,0}, + [I(44,127)] = {64,0}, + [I(45,127)] = {64,0}, + [I(46,127)] = {64,0}, + [I(47,127)] = {64,0}, + [I(48,127)] = {64,0}, + [I(49,127)] = {64,0}, + [I(50,127)] = {64,0}, + [I(51,127)] = {64,0}, + [I(52,127)] = {64,0}, + [I(53,127)] = {64,0}, + [I(54,127)] = {64,0}, + [I(55,127)] = {64,0}, + [I(56,127)] = {64,0}, + [I(57,127)] = {64,0}, + [I(58,127)] = {64,0}, + [I(59,127)] = {64,0}, + [I(60,127)] = {64,0}, + [I(61,127)] = {64,0}, + [I(62,127)] = {64,0}, + [I(63,127)] = {64,0}, + [I(64,127)] = {64,0}, + [I(65,127)] = {64,0}, + [I(66,127)] = {64,0}, + [I(67,127)] = {64,0}, + [I(68,127)] = {64,0}, + [I(69,127)] = {64,0}, + [I(70,127)] = {64,0}, + [I(71,127)] = {64,0}, + [I(72,127)] = {64,0}, + [I(73,127)] = {64,0}, + [I(74,127)] = {64,0}, + [I(75,127)] = {64,0}, + [I(76,127)] = {64,0}, + [I(77,127)] = {64,0}, + [I(78,127)] = {64,0}, + [I(79,127)] = {64,0}, + [I(80,127)] = {64,0}, + [I(81,127)] = {64,0}, + [I(82,127)] = {64,0}, + [I(83,127)] = {64,0}, + [I(84,127)] = {64,0}, + [I(85,127)] = {64,0}, + [I(86,127)] = {64,0}, + [I(87,127)] = {64,0}, + [I(88,127)] = {64,0}, + [I(89,127)] = {64,0}, + [I(90,127)] = {64,0}, + [I(91,127)] = {64,0}, + [I(92,127)] = {64,0}, + [I(93,127)] = {64,0}, + [I(94,127)] = {64,0}, + [I(95,127)] = {64,0}, + [I(96,127)] = {64,0}, + [I(97,127)] = {64,0}, + [I(98,127)] = {64,0}, + [I(99,127)] = {64,0}, + [I(100,127)] = {64,0}, + [I(101,127)] = {64,0}, + [I(102,127)] = {64,0}, + [I(103,127)] = {64,0}, + [I(104,127)] = {64,0}, + [I(105,127)] = {64,0}, + [I(106,127)] = {64,0}, + [I(107,127)] = {64,0}, + [I(108,127)] = {64,0}, + [I(109,127)] = {64,0}, + [I(110,127)] = {64,0}, + [I(111,127)] = {64,0}, + [I(112,127)] = {64,0}, + [I(113,127)] = {64,0}, + [I(114,127)] = {64,0}, + [I(115,127)] = {64,0}, + [I(116,127)] = {64,0}, + [I(117,127)] = {64,0}, + [I(118,127)] = {64,0}, + [I(119,127)] = {64,0}, + [I(120,127)] = {64,0}, + [I(121,127)] = {64,0}, + [I(122,127)] = {64,0}, + [I(123,127)] = {64,0}, + [I(124,127)] = {64,0}, + [I(125,127)] = {64,0}, + [I(126,127)] = {64,0}, + [I(127,127)] = {64,0}, + [I(128,127)] = {64,0}, + [I(129,127)] = {64,0}, + [I(130,127)] = {64,0}, + [I(131,127)] = {64,0}, + [I(132,127)] = {64,0}, + [I(133,127)] = {64,0}, + [I(134,127)] = {64,0}, + [I(135,127)] = {64,0}, + [I(136,127)] = {64,0}, + [I(137,127)] = {64,0}, + [I(138,127)] = {64,0}, + [I(139,127)] = {64,0}, + [I(140,127)] = {64,0}, + [I(141,127)] = {64,0}, + [I(142,127)] = {64,0}, + [I(143,127)] = {64,0}, + [I(144,127)] = {64,0}, + [I(145,127)] = {64,0}, + [I(146,127)] = {64,0}, + [I(147,127)] = {64,0}, + [I(148,127)] = {64,0}, + [I(149,127)] = {64,0}, + [I(150,127)] = {64,0}, + [I(151,127)] = {64,0}, + [I(152,127)] = {64,0}, + [I(153,127)] = {64,0}, + [I(154,127)] = {64,0}, + [I(155,127)] = {64,0}, + [I(156,127)] = {64,0}, + [I(157,127)] = {64,0}, + [I(158,127)] = {64,0}, + [I(159,127)] = {64,0}, + [I(160,127)] = {64,0}, + [I(161,127)] = {64,0}, + [I(162,127)] = {64,0}, + [I(163,127)] = {64,0}, + [I(164,127)] = {64,0}, + [I(165,127)] = {64,0}, + [I(166,127)] = {64,0}, + [I(167,127)] = {64,0}, + [I(168,127)] = {64,0}, + [I(169,127)] = {64,0}, + [I(170,127)] = {64,0}, + [I(171,127)] = {64,0}, + [I(172,127)] = {64,0}, + [I(173,127)] = {64,0}, + [I(174,127)] = {64,0}, + [I(175,127)] = {64,0}, + [I(176,127)] = {64,0}, + [I(177,127)] = {64,0}, + [I(178,127)] = {64,0}, + [I(179,127)] = {64,0}, + [I(180,127)] = {64,0}, + [I(181,127)] = {64,0}, + [I(182,127)] = {64,0}, + [I(183,127)] = {64,0}, + [I(184,127)] = {64,0}, + [I(185,127)] = {64,0}, + [I(186,127)] = {64,0}, + [I(187,127)] = {64,0}, + [I(188,127)] = {64,0}, + [I(189,127)] = {64,0}, + [I(190,127)] = {64,0}, + [I(191,127)] = {64,0}, + [I(192,127)] = {64,0}, + [I(193,127)] = {64,0}, + [I(194,127)] = {64,0}, + [I(195,127)] = {64,0}, + [I(196,127)] = {64,0}, + [I(197,127)] = {64,0}, + [I(198,127)] = {64,0}, + [I(199,127)] = {64,0}, + [I(200,127)] = {64,0}, + [I(201,127)] = {64,0}, + [I(202,127)] = {64,0}, + [I(203,127)] = {64,0}, + [I(204,127)] = {64,0}, + [I(205,127)] = {64,0}, + [I(206,127)] = {64,0}, + [I(207,127)] = {64,0}, + [I(208,127)] = {64,0}, + [I(209,127)] = {64,0}, + [I(210,127)] = {64,0}, + [I(211,127)] = {64,0}, + [I(212,127)] = {64,0}, + [I(213,127)] = {64,0}, + [I(214,127)] = {64,0}, + [I(215,127)] = {64,0}, + [I(216,127)] = {64,0}, + [I(217,127)] = {64,0}, + [I(218,127)] = {64,0}, + [I(219,127)] = {64,0}, + [I(220,127)] = {64,0}, + [I(221,127)] = {64,0}, + [I(222,127)] = {64,0}, + [I(223,127)] = {64,0}, + [I(224,127)] = {64,0}, + [I(225,127)] = {64,0}, + [I(226,127)] = {64,0}, + [I(227,127)] = {64,0}, + [I(228,127)] = {64,0}, + [I(229,127)] = {64,0}, + [I(230,127)] = {64,0}, + [I(231,127)] = {64,0}, + [I(232,127)] = {64,0}, + [I(233,127)] = {64,0}, + [I(234,127)] = {64,0}, + [I(235,127)] = {64,0}, + [I(236,127)] = {64,0}, + [I(237,127)] = {64,0}, + [I(238,127)] = {64,0}, + [I(239,127)] = {64,0}, + [I(240,127)] = {64,0}, + [I(241,127)] = {64,0}, + [I(242,127)] = {64,0}, + [I(243,127)] = {64,0}, + [I(244,127)] = {64,0}, + [I(245,127)] = {64,0}, + [I(246,127)] = {64,0}, + [I(247,127)] = {64,0}, + [I(248,127)] = {64,0}, + [I(249,127)] = {64,0}, + [I(250,127)] = {64,0}, + [I(251,127)] = {64,0}, + [I(252,127)] = {64,0}, + [I(253,127)] = {64,0}, + [I(254,127)] = {64,0}, + [I(255,127)] = {64,0}, + [I(0,128)] = {64,0}, + [I(1,128)] = {64,0}, + [I(2,128)] = {64,0}, + [I(3,128)] = {64,0}, + [I(4,128)] = {64,0}, + [I(5,128)] = {64,0}, + [I(6,128)] = {64,0}, + [I(7,128)] = {64,0}, + [I(8,128)] = {64,0}, + [I(9,128)] = {64,0}, + [I(10,128)] = {64,0}, + [I(11,128)] = {64,0}, + [I(12,128)] = {64,0}, + [I(13,128)] = {64,0}, + [I(14,128)] = {64,0}, + [I(15,128)] = {64,0}, + [I(16,128)] = {64,0}, + [I(17,128)] = {64,0}, + [I(18,128)] = {64,0}, + [I(19,128)] = {64,0}, + [I(20,128)] = {64,0}, + [I(21,128)] = {64,0}, + [I(22,128)] = {64,0}, + [I(23,128)] = {64,0}, + [I(24,128)] = {64,0}, + [I(25,128)] = {64,0}, + [I(26,128)] = {64,0}, + [I(27,128)] = {64,0}, + [I(28,128)] = {64,0}, + [I(29,128)] = {64,0}, + [I(30,128)] = {64,0}, + [I(31,128)] = {64,0}, + [I(32,128)] = {26,0x14FFFE6}, + [I(33,128)] = {30,0x3F8FFFE6}, + [I(34,128)] = {30,0x3F9FFFE6}, + [I(35,128)] = {X32,0xFFAFFFE6}, + [I(36,128)] = {64,0}, + [I(37,128)] = {26,0x15FFFE6}, + [I(38,128)] = {28,0xF8FFFE6}, + [I(39,128)] = {31,0x7FAFFFE6}, + [I(40,128)] = {30,0x3FAFFFE6}, + [I(41,128)] = {30,0x3FBFFFE6}, + [I(42,128)] = {28,0xF9FFFE6}, + [I(43,128)] = {31,0x7FBFFFE6}, + [I(44,128)] = {28,0xFAFFFE6}, + [I(45,128)] = {26,0x16FFFE6}, + [I(46,128)] = {26,0x17FFFE6}, + [I(47,128)] = {26,0x18FFFE6}, + [I(48,128)] = {25,0xFFFE6}, + [I(49,128)] = {25,0x1FFFE6}, + [I(50,128)] = {25,0x2FFFE6}, + [I(51,128)] = {26,0x19FFFE6}, + [I(52,128)] = {26,0x1AFFFE6}, + [I(53,128)] = {26,0x1BFFFE6}, + [I(54,128)] = {26,0x1CFFFE6}, + [I(55,128)] = {26,0x1DFFFE6}, + [I(56,128)] = {26,0x1EFFFE6}, + [I(57,128)] = {26,0x1FFFFE6}, + [I(58,128)] = {27,0x5CFFFE6}, + [I(59,128)] = {28,0xFBFFFE6}, + [I(60,128)] = {64,0}, + [I(61,128)] = {26,0x20FFFE6}, + [I(62,128)] = {X32,0xFFBFFFE6}, + [I(63,128)] = {30,0x3FCFFFE6}, + [I(64,128)] = {64,0}, + [I(65,128)] = {26,0x21FFFE6}, + [I(66,128)] = {27,0x5DFFFE6}, + [I(67,128)] = {27,0x5EFFFE6}, + [I(68,128)] = {27,0x5FFFFE6}, + [I(69,128)] = {27,0x60FFFE6}, + [I(70,128)] = {27,0x61FFFE6}, + [I(71,128)] = {27,0x62FFFE6}, + [I(72,128)] = {27,0x63FFFE6}, + [I(73,128)] = {27,0x64FFFE6}, + [I(74,128)] = {27,0x65FFFE6}, + [I(75,128)] = {27,0x66FFFE6}, + [I(76,128)] = {27,0x67FFFE6}, + [I(77,128)] = {27,0x68FFFE6}, + [I(78,128)] = {27,0x69FFFE6}, + [I(79,128)] = {27,0x6AFFFE6}, + [I(80,128)] = {27,0x6BFFFE6}, + [I(81,128)] = {27,0x6CFFFE6}, + [I(82,128)] = {27,0x6DFFFE6}, + [I(83,128)] = {27,0x6EFFFE6}, + [I(84,128)] = {27,0x6FFFFE6}, + [I(85,128)] = {27,0x70FFFE6}, + [I(86,128)] = {27,0x71FFFE6}, + [I(87,128)] = {27,0x72FFFE6}, + [I(88,128)] = {28,0xFCFFFE6}, + [I(89,128)] = {27,0x73FFFE6}, + [I(90,128)] = {28,0xFDFFFE6}, + [I(91,128)] = {64,0}, + [I(92,128)] = {64,0}, + [I(93,128)] = {64,0}, + [I(94,128)] = {64,0}, + [I(95,128)] = {26,0x22FFFE6}, + [I(96,128)] = {64,0}, + [I(97,128)] = {25,0x3FFFE6}, + [I(98,128)] = {26,0x23FFFE6}, + [I(99,128)] = {25,0x4FFFE6}, + [I(100,128)] = {26,0x24FFFE6}, + [I(101,128)] = {25,0x5FFFE6}, + [I(102,128)] = {26,0x25FFFE6}, + [I(103,128)] = {26,0x26FFFE6}, + [I(104,128)] = {26,0x27FFFE6}, + [I(105,128)] = {25,0x6FFFE6}, + [I(106,128)] = {27,0x74FFFE6}, + [I(107,128)] = {27,0x75FFFE6}, + [I(108,128)] = {26,0x28FFFE6}, + [I(109,128)] = {26,0x29FFFE6}, + [I(110,128)] = {26,0x2AFFFE6}, + [I(111,128)] = {25,0x7FFFE6}, + [I(112,128)] = {26,0x2BFFFE6}, + [I(113,128)] = {27,0x76FFFE6}, + [I(114,128)] = {26,0x2CFFFE6}, + [I(115,128)] = {25,0x8FFFE6}, + [I(116,128)] = {25,0x9FFFE6}, + [I(117,128)] = {26,0x2DFFFE6}, + [I(118,128)] = {27,0x77FFFE6}, + [I(119,128)] = {27,0x78FFFE6}, + [I(120,128)] = {27,0x79FFFE6}, + [I(121,128)] = {27,0x7AFFFE6}, + [I(122,128)] = {27,0x7BFFFE6}, + [I(123,128)] = {64,0}, + [I(124,128)] = {31,0x7FCFFFE6}, + [I(125,128)] = {64,0}, + [I(126,128)] = {64,0}, + [I(127,128)] = {64,0}, + [I(128,128)] = {64,0}, + [I(129,128)] = {64,0}, + [I(130,128)] = {64,0}, + [I(131,128)] = {64,0}, + [I(132,128)] = {64,0}, + [I(133,128)] = {64,0}, + [I(134,128)] = {64,0}, + [I(135,128)] = {64,0}, + [I(136,128)] = {64,0}, + [I(137,128)] = {64,0}, + [I(138,128)] = {64,0}, + [I(139,128)] = {64,0}, + [I(140,128)] = {64,0}, + [I(141,128)] = {64,0}, + [I(142,128)] = {64,0}, + [I(143,128)] = {64,0}, + [I(144,128)] = {64,0}, + [I(145,128)] = {64,0}, + [I(146,128)] = {64,0}, + [I(147,128)] = {64,0}, + [I(148,128)] = {64,0}, + [I(149,128)] = {64,0}, + [I(150,128)] = {64,0}, + [I(151,128)] = {64,0}, + [I(152,128)] = {64,0}, + [I(153,128)] = {64,0}, + [I(154,128)] = {64,0}, + [I(155,128)] = {64,0}, + [I(156,128)] = {64,0}, + [I(157,128)] = {64,0}, + [I(158,128)] = {64,0}, + [I(159,128)] = {64,0}, + [I(160,128)] = {64,0}, + [I(161,128)] = {64,0}, + [I(162,128)] = {64,0}, + [I(163,128)] = {64,0}, + [I(164,128)] = {64,0}, + [I(165,128)] = {64,0}, + [I(166,128)] = {64,0}, + [I(167,128)] = {64,0}, + [I(168,128)] = {64,0}, + [I(169,128)] = {64,0}, + [I(170,128)] = {64,0}, + [I(171,128)] = {64,0}, + [I(172,128)] = {64,0}, + [I(173,128)] = {64,0}, + [I(174,128)] = {64,0}, + [I(175,128)] = {64,0}, + [I(176,128)] = {64,0}, + [I(177,128)] = {64,0}, + [I(178,128)] = {64,0}, + [I(179,128)] = {64,0}, + [I(180,128)] = {64,0}, + [I(181,128)] = {64,0}, + [I(182,128)] = {64,0}, + [I(183,128)] = {64,0}, + [I(184,128)] = {64,0}, + [I(185,128)] = {64,0}, + [I(186,128)] = {64,0}, + [I(187,128)] = {64,0}, + [I(188,128)] = {64,0}, + [I(189,128)] = {64,0}, + [I(190,128)] = {64,0}, + [I(191,128)] = {64,0}, + [I(192,128)] = {64,0}, + [I(193,128)] = {64,0}, + [I(194,128)] = {64,0}, + [I(195,128)] = {64,0}, + [I(196,128)] = {64,0}, + [I(197,128)] = {64,0}, + [I(198,128)] = {64,0}, + [I(199,128)] = {64,0}, + [I(200,128)] = {64,0}, + [I(201,128)] = {64,0}, + [I(202,128)] = {64,0}, + [I(203,128)] = {64,0}, + [I(204,128)] = {64,0}, + [I(205,128)] = {64,0}, + [I(206,128)] = {64,0}, + [I(207,128)] = {64,0}, + [I(208,128)] = {64,0}, + [I(209,128)] = {64,0}, + [I(210,128)] = {64,0}, + [I(211,128)] = {64,0}, + [I(212,128)] = {64,0}, + [I(213,128)] = {64,0}, + [I(214,128)] = {64,0}, + [I(215,128)] = {64,0}, + [I(216,128)] = {64,0}, + [I(217,128)] = {64,0}, + [I(218,128)] = {64,0}, + [I(219,128)] = {64,0}, + [I(220,128)] = {64,0}, + [I(221,128)] = {64,0}, + [I(222,128)] = {64,0}, + [I(223,128)] = {64,0}, + [I(224,128)] = {64,0}, + [I(225,128)] = {64,0}, + [I(226,128)] = {64,0}, + [I(227,128)] = {64,0}, + [I(228,128)] = {64,0}, + [I(229,128)] = {64,0}, + [I(230,128)] = {64,0}, + [I(231,128)] = {64,0}, + [I(232,128)] = {64,0}, + [I(233,128)] = {64,0}, + [I(234,128)] = {64,0}, + [I(235,128)] = {64,0}, + [I(236,128)] = {64,0}, + [I(237,128)] = {64,0}, + [I(238,128)] = {64,0}, + [I(239,128)] = {64,0}, + [I(240,128)] = {64,0}, + [I(241,128)] = {64,0}, + [I(242,128)] = {64,0}, + [I(243,128)] = {64,0}, + [I(244,128)] = {64,0}, + [I(245,128)] = {64,0}, + [I(246,128)] = {64,0}, + [I(247,128)] = {64,0}, + [I(248,128)] = {64,0}, + [I(249,128)] = {64,0}, + [I(250,128)] = {64,0}, + [I(251,128)] = {64,0}, + [I(252,128)] = {64,0}, + [I(253,128)] = {64,0}, + [I(254,128)] = {64,0}, + [I(255,128)] = {64,0}, + [I(0,129)] = {64,0}, + [I(1,129)] = {64,0}, + [I(2,129)] = {64,0}, + [I(3,129)] = {64,0}, + [I(4,129)] = {64,0}, + [I(5,129)] = {64,0}, + [I(6,129)] = {64,0}, + [I(7,129)] = {64,0}, + [I(8,129)] = {64,0}, + [I(9,129)] = {64,0}, + [I(10,129)] = {64,0}, + [I(11,129)] = {64,0}, + [I(12,129)] = {64,0}, + [I(13,129)] = {64,0}, + [I(14,129)] = {64,0}, + [I(15,129)] = {64,0}, + [I(16,129)] = {64,0}, + [I(17,129)] = {64,0}, + [I(18,129)] = {64,0}, + [I(19,129)] = {64,0}, + [I(20,129)] = {64,0}, + [I(21,129)] = {64,0}, + [I(22,129)] = {64,0}, + [I(23,129)] = {64,0}, + [I(24,129)] = {64,0}, + [I(25,129)] = {64,0}, + [I(26,129)] = {64,0}, + [I(27,129)] = {64,0}, + [I(28,129)] = {64,0}, + [I(29,129)] = {64,0}, + [I(30,129)] = {64,0}, + [I(31,129)] = {64,0}, + [I(32,129)] = {28,0x53FFFD2}, + [I(33,129)] = {X32,0xFE3FFFD2}, + [I(34,129)] = {X32,0xFE7FFFD2}, + [I(35,129)] = {64,0}, + [I(36,129)] = {64,0}, + [I(37,129)] = {28,0x57FFFD2}, + [I(38,129)] = {30,0x3E3FFFD2}, + [I(39,129)] = {64,0}, + [I(40,129)] = {X32,0xFEBFFFD2}, + [I(41,129)] = {X32,0xFEFFFFD2}, + [I(42,129)] = {30,0x3E7FFFD2}, + [I(43,129)] = {64,0}, + [I(44,129)] = {30,0x3EBFFFD2}, + [I(45,129)] = {28,0x5BFFFD2}, + [I(46,129)] = {28,0x5FFFFD2}, + [I(47,129)] = {28,0x63FFFD2}, + [I(48,129)] = {27,0x3FFFD2}, + [I(49,129)] = {27,0x7FFFD2}, + [I(50,129)] = {27,0xBFFFD2}, + [I(51,129)] = {28,0x67FFFD2}, + [I(52,129)] = {28,0x6BFFFD2}, + [I(53,129)] = {28,0x6FFFFD2}, + [I(54,129)] = {28,0x73FFFD2}, + [I(55,129)] = {28,0x77FFFD2}, + [I(56,129)] = {28,0x7BFFFD2}, + [I(57,129)] = {28,0x7FFFFD2}, + [I(58,129)] = {29,0x173FFFD2}, + [I(59,129)] = {30,0x3EFFFFD2}, + [I(60,129)] = {64,0}, + [I(61,129)] = {28,0x83FFFD2}, + [I(62,129)] = {64,0}, + [I(63,129)] = {X32,0xFF3FFFD2}, + [I(64,129)] = {64,0}, + [I(65,129)] = {28,0x87FFFD2}, + [I(66,129)] = {29,0x177FFFD2}, + [I(67,129)] = {29,0x17BFFFD2}, + [I(68,129)] = {29,0x17FFFFD2}, + [I(69,129)] = {29,0x183FFFD2}, + [I(70,129)] = {29,0x187FFFD2}, + [I(71,129)] = {29,0x18BFFFD2}, + [I(72,129)] = {29,0x18FFFFD2}, + [I(73,129)] = {29,0x193FFFD2}, + [I(74,129)] = {29,0x197FFFD2}, + [I(75,129)] = {29,0x19BFFFD2}, + [I(76,129)] = {29,0x19FFFFD2}, + [I(77,129)] = {29,0x1A3FFFD2}, + [I(78,129)] = {29,0x1A7FFFD2}, + [I(79,129)] = {29,0x1ABFFFD2}, + [I(80,129)] = {29,0x1AFFFFD2}, + [I(81,129)] = {29,0x1B3FFFD2}, + [I(82,129)] = {29,0x1B7FFFD2}, + [I(83,129)] = {29,0x1BBFFFD2}, + [I(84,129)] = {29,0x1BFFFFD2}, + [I(85,129)] = {29,0x1C3FFFD2}, + [I(86,129)] = {29,0x1C7FFFD2}, + [I(87,129)] = {29,0x1CBFFFD2}, + [I(88,129)] = {30,0x3F3FFFD2}, + [I(89,129)] = {29,0x1CFFFFD2}, + [I(90,129)] = {30,0x3F7FFFD2}, + [I(91,129)] = {64,0}, + [I(92,129)] = {64,0}, + [I(93,129)] = {64,0}, + [I(94,129)] = {64,0}, + [I(95,129)] = {28,0x8BFFFD2}, + [I(96,129)] = {64,0}, + [I(97,129)] = {27,0xFFFFD2}, + [I(98,129)] = {28,0x8FFFFD2}, + [I(99,129)] = {27,0x13FFFD2}, + [I(100,129)] = {28,0x93FFFD2}, + [I(101,129)] = {27,0x17FFFD2}, + [I(102,129)] = {28,0x97FFFD2}, + [I(103,129)] = {28,0x9BFFFD2}, + [I(104,129)] = {28,0x9FFFFD2}, + [I(105,129)] = {27,0x1BFFFD2}, + [I(106,129)] = {29,0x1D3FFFD2}, + [I(107,129)] = {29,0x1D7FFFD2}, + [I(108,129)] = {28,0xA3FFFD2}, + [I(109,129)] = {28,0xA7FFFD2}, + [I(110,129)] = {28,0xABFFFD2}, + [I(111,129)] = {27,0x1FFFFD2}, + [I(112,129)] = {28,0xAFFFFD2}, + [I(113,129)] = {29,0x1DBFFFD2}, + [I(114,129)] = {28,0xB3FFFD2}, + [I(115,129)] = {27,0x23FFFD2}, + [I(116,129)] = {27,0x27FFFD2}, + [I(117,129)] = {28,0xB7FFFD2}, + [I(118,129)] = {29,0x1DFFFFD2}, + [I(119,129)] = {29,0x1E3FFFD2}, + [I(120,129)] = {29,0x1E7FFFD2}, + [I(121,129)] = {29,0x1EBFFFD2}, + [I(122,129)] = {29,0x1EFFFFD2}, + [I(123,129)] = {64,0}, + [I(124,129)] = {64,0}, + [I(125,129)] = {64,0}, + [I(126,129)] = {64,0}, + [I(127,129)] = {64,0}, + [I(128,129)] = {64,0}, + [I(129,129)] = {64,0}, + [I(130,129)] = {64,0}, + [I(131,129)] = {64,0}, + [I(132,129)] = {64,0}, + [I(133,129)] = {64,0}, + [I(134,129)] = {64,0}, + [I(135,129)] = {64,0}, + [I(136,129)] = {64,0}, + [I(137,129)] = {64,0}, + [I(138,129)] = {64,0}, + [I(139,129)] = {64,0}, + [I(140,129)] = {64,0}, + [I(141,129)] = {64,0}, + [I(142,129)] = {64,0}, + [I(143,129)] = {64,0}, + [I(144,129)] = {64,0}, + [I(145,129)] = {64,0}, + [I(146,129)] = {64,0}, + [I(147,129)] = {64,0}, + [I(148,129)] = {64,0}, + [I(149,129)] = {64,0}, + [I(150,129)] = {64,0}, + [I(151,129)] = {64,0}, + [I(152,129)] = {64,0}, + [I(153,129)] = {64,0}, + [I(154,129)] = {64,0}, + [I(155,129)] = {64,0}, + [I(156,129)] = {64,0}, + [I(157,129)] = {64,0}, + [I(158,129)] = {64,0}, + [I(159,129)] = {64,0}, + [I(160,129)] = {64,0}, + [I(161,129)] = {64,0}, + [I(162,129)] = {64,0}, + [I(163,129)] = {64,0}, + [I(164,129)] = {64,0}, + [I(165,129)] = {64,0}, + [I(166,129)] = {64,0}, + [I(167,129)] = {64,0}, + [I(168,129)] = {64,0}, + [I(169,129)] = {64,0}, + [I(170,129)] = {64,0}, + [I(171,129)] = {64,0}, + [I(172,129)] = {64,0}, + [I(173,129)] = {64,0}, + [I(174,129)] = {64,0}, + [I(175,129)] = {64,0}, + [I(176,129)] = {64,0}, + [I(177,129)] = {64,0}, + [I(178,129)] = {64,0}, + [I(179,129)] = {64,0}, + [I(180,129)] = {64,0}, + [I(181,129)] = {64,0}, + [I(182,129)] = {64,0}, + [I(183,129)] = {64,0}, + [I(184,129)] = {64,0}, + [I(185,129)] = {64,0}, + [I(186,129)] = {64,0}, + [I(187,129)] = {64,0}, + [I(188,129)] = {64,0}, + [I(189,129)] = {64,0}, + [I(190,129)] = {64,0}, + [I(191,129)] = {64,0}, + [I(192,129)] = {64,0}, + [I(193,129)] = {64,0}, + [I(194,129)] = {64,0}, + [I(195,129)] = {64,0}, + [I(196,129)] = {64,0}, + [I(197,129)] = {64,0}, + [I(198,129)] = {64,0}, + [I(199,129)] = {64,0}, + [I(200,129)] = {64,0}, + [I(201,129)] = {64,0}, + [I(202,129)] = {64,0}, + [I(203,129)] = {64,0}, + [I(204,129)] = {64,0}, + [I(205,129)] = {64,0}, + [I(206,129)] = {64,0}, + [I(207,129)] = {64,0}, + [I(208,129)] = {64,0}, + [I(209,129)] = {64,0}, + [I(210,129)] = {64,0}, + [I(211,129)] = {64,0}, + [I(212,129)] = {64,0}, + [I(213,129)] = {64,0}, + [I(214,129)] = {64,0}, + [I(215,129)] = {64,0}, + [I(216,129)] = {64,0}, + [I(217,129)] = {64,0}, + [I(218,129)] = {64,0}, + [I(219,129)] = {64,0}, + [I(220,129)] = {64,0}, + [I(221,129)] = {64,0}, + [I(222,129)] = {64,0}, + [I(223,129)] = {64,0}, + [I(224,129)] = {64,0}, + [I(225,129)] = {64,0}, + [I(226,129)] = {64,0}, + [I(227,129)] = {64,0}, + [I(228,129)] = {64,0}, + [I(229,129)] = {64,0}, + [I(230,129)] = {64,0}, + [I(231,129)] = {64,0}, + [I(232,129)] = {64,0}, + [I(233,129)] = {64,0}, + [I(234,129)] = {64,0}, + [I(235,129)] = {64,0}, + [I(236,129)] = {64,0}, + [I(237,129)] = {64,0}, + [I(238,129)] = {64,0}, + [I(239,129)] = {64,0}, + [I(240,129)] = {64,0}, + [I(241,129)] = {64,0}, + [I(242,129)] = {64,0}, + [I(243,129)] = {64,0}, + [I(244,129)] = {64,0}, + [I(245,129)] = {64,0}, + [I(246,129)] = {64,0}, + [I(247,129)] = {64,0}, + [I(248,129)] = {64,0}, + [I(249,129)] = {64,0}, + [I(250,129)] = {64,0}, + [I(251,129)] = {64,0}, + [I(252,129)] = {64,0}, + [I(253,129)] = {64,0}, + [I(254,129)] = {64,0}, + [I(255,129)] = {64,0}, + [I(0,130)] = {64,0}, + [I(1,130)] = {64,0}, + [I(2,130)] = {64,0}, + [I(3,130)] = {64,0}, + [I(4,130)] = {64,0}, + [I(5,130)] = {64,0}, + [I(6,130)] = {64,0}, + [I(7,130)] = {64,0}, + [I(8,130)] = {64,0}, + [I(9,130)] = {64,0}, + [I(10,130)] = {64,0}, + [I(11,130)] = {64,0}, + [I(12,130)] = {64,0}, + [I(13,130)] = {64,0}, + [I(14,130)] = {64,0}, + [I(15,130)] = {64,0}, + [I(16,130)] = {64,0}, + [I(17,130)] = {64,0}, + [I(18,130)] = {64,0}, + [I(19,130)] = {64,0}, + [I(20,130)] = {64,0}, + [I(21,130)] = {64,0}, + [I(22,130)] = {64,0}, + [I(23,130)] = {64,0}, + [I(24,130)] = {64,0}, + [I(25,130)] = {64,0}, + [I(26,130)] = {64,0}, + [I(27,130)] = {64,0}, + [I(28,130)] = {64,0}, + [I(29,130)] = {64,0}, + [I(30,130)] = {64,0}, + [I(31,130)] = {64,0}, + [I(32,130)] = {26,0x14FFFE7}, + [I(33,130)] = {30,0x3F8FFFE7}, + [I(34,130)] = {30,0x3F9FFFE7}, + [I(35,130)] = {X32,0xFFAFFFE7}, + [I(36,130)] = {64,0}, + [I(37,130)] = {26,0x15FFFE7}, + [I(38,130)] = {28,0xF8FFFE7}, + [I(39,130)] = {31,0x7FAFFFE7}, + [I(40,130)] = {30,0x3FAFFFE7}, + [I(41,130)] = {30,0x3FBFFFE7}, + [I(42,130)] = {28,0xF9FFFE7}, + [I(43,130)] = {31,0x7FBFFFE7}, + [I(44,130)] = {28,0xFAFFFE7}, + [I(45,130)] = {26,0x16FFFE7}, + [I(46,130)] = {26,0x17FFFE7}, + [I(47,130)] = {26,0x18FFFE7}, + [I(48,130)] = {25,0xFFFE7}, + [I(49,130)] = {25,0x1FFFE7}, + [I(50,130)] = {25,0x2FFFE7}, + [I(51,130)] = {26,0x19FFFE7}, + [I(52,130)] = {26,0x1AFFFE7}, + [I(53,130)] = {26,0x1BFFFE7}, + [I(54,130)] = {26,0x1CFFFE7}, + [I(55,130)] = {26,0x1DFFFE7}, + [I(56,130)] = {26,0x1EFFFE7}, + [I(57,130)] = {26,0x1FFFFE7}, + [I(58,130)] = {27,0x5CFFFE7}, + [I(59,130)] = {28,0xFBFFFE7}, + [I(60,130)] = {64,0}, + [I(61,130)] = {26,0x20FFFE7}, + [I(62,130)] = {X32,0xFFBFFFE7}, + [I(63,130)] = {30,0x3FCFFFE7}, + [I(64,130)] = {64,0}, + [I(65,130)] = {26,0x21FFFE7}, + [I(66,130)] = {27,0x5DFFFE7}, + [I(67,130)] = {27,0x5EFFFE7}, + [I(68,130)] = {27,0x5FFFFE7}, + [I(69,130)] = {27,0x60FFFE7}, + [I(70,130)] = {27,0x61FFFE7}, + [I(71,130)] = {27,0x62FFFE7}, + [I(72,130)] = {27,0x63FFFE7}, + [I(73,130)] = {27,0x64FFFE7}, + [I(74,130)] = {27,0x65FFFE7}, + [I(75,130)] = {27,0x66FFFE7}, + [I(76,130)] = {27,0x67FFFE7}, + [I(77,130)] = {27,0x68FFFE7}, + [I(78,130)] = {27,0x69FFFE7}, + [I(79,130)] = {27,0x6AFFFE7}, + [I(80,130)] = {27,0x6BFFFE7}, + [I(81,130)] = {27,0x6CFFFE7}, + [I(82,130)] = {27,0x6DFFFE7}, + [I(83,130)] = {27,0x6EFFFE7}, + [I(84,130)] = {27,0x6FFFFE7}, + [I(85,130)] = {27,0x70FFFE7}, + [I(86,130)] = {27,0x71FFFE7}, + [I(87,130)] = {27,0x72FFFE7}, + [I(88,130)] = {28,0xFCFFFE7}, + [I(89,130)] = {27,0x73FFFE7}, + [I(90,130)] = {28,0xFDFFFE7}, + [I(91,130)] = {64,0}, + [I(92,130)] = {64,0}, + [I(93,130)] = {64,0}, + [I(94,130)] = {64,0}, + [I(95,130)] = {26,0x22FFFE7}, + [I(96,130)] = {64,0}, + [I(97,130)] = {25,0x3FFFE7}, + [I(98,130)] = {26,0x23FFFE7}, + [I(99,130)] = {25,0x4FFFE7}, + [I(100,130)] = {26,0x24FFFE7}, + [I(101,130)] = {25,0x5FFFE7}, + [I(102,130)] = {26,0x25FFFE7}, + [I(103,130)] = {26,0x26FFFE7}, + [I(104,130)] = {26,0x27FFFE7}, + [I(105,130)] = {25,0x6FFFE7}, + [I(106,130)] = {27,0x74FFFE7}, + [I(107,130)] = {27,0x75FFFE7}, + [I(108,130)] = {26,0x28FFFE7}, + [I(109,130)] = {26,0x29FFFE7}, + [I(110,130)] = {26,0x2AFFFE7}, + [I(111,130)] = {25,0x7FFFE7}, + [I(112,130)] = {26,0x2BFFFE7}, + [I(113,130)] = {27,0x76FFFE7}, + [I(114,130)] = {26,0x2CFFFE7}, + [I(115,130)] = {25,0x8FFFE7}, + [I(116,130)] = {25,0x9FFFE7}, + [I(117,130)] = {26,0x2DFFFE7}, + [I(118,130)] = {27,0x77FFFE7}, + [I(119,130)] = {27,0x78FFFE7}, + [I(120,130)] = {27,0x79FFFE7}, + [I(121,130)] = {27,0x7AFFFE7}, + [I(122,130)] = {27,0x7BFFFE7}, + [I(123,130)] = {64,0}, + [I(124,130)] = {31,0x7FCFFFE7}, + [I(125,130)] = {64,0}, + [I(126,130)] = {64,0}, + [I(127,130)] = {64,0}, + [I(128,130)] = {64,0}, + [I(129,130)] = {64,0}, + [I(130,130)] = {64,0}, + [I(131,130)] = {64,0}, + [I(132,130)] = {64,0}, + [I(133,130)] = {64,0}, + [I(134,130)] = {64,0}, + [I(135,130)] = {64,0}, + [I(136,130)] = {64,0}, + [I(137,130)] = {64,0}, + [I(138,130)] = {64,0}, + [I(139,130)] = {64,0}, + [I(140,130)] = {64,0}, + [I(141,130)] = {64,0}, + [I(142,130)] = {64,0}, + [I(143,130)] = {64,0}, + [I(144,130)] = {64,0}, + [I(145,130)] = {64,0}, + [I(146,130)] = {64,0}, + [I(147,130)] = {64,0}, + [I(148,130)] = {64,0}, + [I(149,130)] = {64,0}, + [I(150,130)] = {64,0}, + [I(151,130)] = {64,0}, + [I(152,130)] = {64,0}, + [I(153,130)] = {64,0}, + [I(154,130)] = {64,0}, + [I(155,130)] = {64,0}, + [I(156,130)] = {64,0}, + [I(157,130)] = {64,0}, + [I(158,130)] = {64,0}, + [I(159,130)] = {64,0}, + [I(160,130)] = {64,0}, + [I(161,130)] = {64,0}, + [I(162,130)] = {64,0}, + [I(163,130)] = {64,0}, + [I(164,130)] = {64,0}, + [I(165,130)] = {64,0}, + [I(166,130)] = {64,0}, + [I(167,130)] = {64,0}, + [I(168,130)] = {64,0}, + [I(169,130)] = {64,0}, + [I(170,130)] = {64,0}, + [I(171,130)] = {64,0}, + [I(172,130)] = {64,0}, + [I(173,130)] = {64,0}, + [I(174,130)] = {64,0}, + [I(175,130)] = {64,0}, + [I(176,130)] = {64,0}, + [I(177,130)] = {64,0}, + [I(178,130)] = {64,0}, + [I(179,130)] = {64,0}, + [I(180,130)] = {64,0}, + [I(181,130)] = {64,0}, + [I(182,130)] = {64,0}, + [I(183,130)] = {64,0}, + [I(184,130)] = {64,0}, + [I(185,130)] = {64,0}, + [I(186,130)] = {64,0}, + [I(187,130)] = {64,0}, + [I(188,130)] = {64,0}, + [I(189,130)] = {64,0}, + [I(190,130)] = {64,0}, + [I(191,130)] = {64,0}, + [I(192,130)] = {64,0}, + [I(193,130)] = {64,0}, + [I(194,130)] = {64,0}, + [I(195,130)] = {64,0}, + [I(196,130)] = {64,0}, + [I(197,130)] = {64,0}, + [I(198,130)] = {64,0}, + [I(199,130)] = {64,0}, + [I(200,130)] = {64,0}, + [I(201,130)] = {64,0}, + [I(202,130)] = {64,0}, + [I(203,130)] = {64,0}, + [I(204,130)] = {64,0}, + [I(205,130)] = {64,0}, + [I(206,130)] = {64,0}, + [I(207,130)] = {64,0}, + [I(208,130)] = {64,0}, + [I(209,130)] = {64,0}, + [I(210,130)] = {64,0}, + [I(211,130)] = {64,0}, + [I(212,130)] = {64,0}, + [I(213,130)] = {64,0}, + [I(214,130)] = {64,0}, + [I(215,130)] = {64,0}, + [I(216,130)] = {64,0}, + [I(217,130)] = {64,0}, + [I(218,130)] = {64,0}, + [I(219,130)] = {64,0}, + [I(220,130)] = {64,0}, + [I(221,130)] = {64,0}, + [I(222,130)] = {64,0}, + [I(223,130)] = {64,0}, + [I(224,130)] = {64,0}, + [I(225,130)] = {64,0}, + [I(226,130)] = {64,0}, + [I(227,130)] = {64,0}, + [I(228,130)] = {64,0}, + [I(229,130)] = {64,0}, + [I(230,130)] = {64,0}, + [I(231,130)] = {64,0}, + [I(232,130)] = {64,0}, + [I(233,130)] = {64,0}, + [I(234,130)] = {64,0}, + [I(235,130)] = {64,0}, + [I(236,130)] = {64,0}, + [I(237,130)] = {64,0}, + [I(238,130)] = {64,0}, + [I(239,130)] = {64,0}, + [I(240,130)] = {64,0}, + [I(241,130)] = {64,0}, + [I(242,130)] = {64,0}, + [I(243,130)] = {64,0}, + [I(244,130)] = {64,0}, + [I(245,130)] = {64,0}, + [I(246,130)] = {64,0}, + [I(247,130)] = {64,0}, + [I(248,130)] = {64,0}, + [I(249,130)] = {64,0}, + [I(250,130)] = {64,0}, + [I(251,130)] = {64,0}, + [I(252,130)] = {64,0}, + [I(253,130)] = {64,0}, + [I(254,130)] = {64,0}, + [I(255,130)] = {64,0}, + [I(0,131)] = {64,0}, + [I(1,131)] = {64,0}, + [I(2,131)] = {64,0}, + [I(3,131)] = {64,0}, + [I(4,131)] = {64,0}, + [I(5,131)] = {64,0}, + [I(6,131)] = {64,0}, + [I(7,131)] = {64,0}, + [I(8,131)] = {64,0}, + [I(9,131)] = {64,0}, + [I(10,131)] = {64,0}, + [I(11,131)] = {64,0}, + [I(12,131)] = {64,0}, + [I(13,131)] = {64,0}, + [I(14,131)] = {64,0}, + [I(15,131)] = {64,0}, + [I(16,131)] = {64,0}, + [I(17,131)] = {64,0}, + [I(18,131)] = {64,0}, + [I(19,131)] = {64,0}, + [I(20,131)] = {64,0}, + [I(21,131)] = {64,0}, + [I(22,131)] = {64,0}, + [I(23,131)] = {64,0}, + [I(24,131)] = {64,0}, + [I(25,131)] = {64,0}, + [I(26,131)] = {64,0}, + [I(27,131)] = {64,0}, + [I(28,131)] = {64,0}, + [I(29,131)] = {64,0}, + [I(30,131)] = {64,0}, + [I(31,131)] = {64,0}, + [I(32,131)] = {26,0x14FFFE8}, + [I(33,131)] = {30,0x3F8FFFE8}, + [I(34,131)] = {30,0x3F9FFFE8}, + [I(35,131)] = {X32,0xFFAFFFE8}, + [I(36,131)] = {64,0}, + [I(37,131)] = {26,0x15FFFE8}, + [I(38,131)] = {28,0xF8FFFE8}, + [I(39,131)] = {31,0x7FAFFFE8}, + [I(40,131)] = {30,0x3FAFFFE8}, + [I(41,131)] = {30,0x3FBFFFE8}, + [I(42,131)] = {28,0xF9FFFE8}, + [I(43,131)] = {31,0x7FBFFFE8}, + [I(44,131)] = {28,0xFAFFFE8}, + [I(45,131)] = {26,0x16FFFE8}, + [I(46,131)] = {26,0x17FFFE8}, + [I(47,131)] = {26,0x18FFFE8}, + [I(48,131)] = {25,0xFFFE8}, + [I(49,131)] = {25,0x1FFFE8}, + [I(50,131)] = {25,0x2FFFE8}, + [I(51,131)] = {26,0x19FFFE8}, + [I(52,131)] = {26,0x1AFFFE8}, + [I(53,131)] = {26,0x1BFFFE8}, + [I(54,131)] = {26,0x1CFFFE8}, + [I(55,131)] = {26,0x1DFFFE8}, + [I(56,131)] = {26,0x1EFFFE8}, + [I(57,131)] = {26,0x1FFFFE8}, + [I(58,131)] = {27,0x5CFFFE8}, + [I(59,131)] = {28,0xFBFFFE8}, + [I(60,131)] = {64,0}, + [I(61,131)] = {26,0x20FFFE8}, + [I(62,131)] = {X32,0xFFBFFFE8}, + [I(63,131)] = {30,0x3FCFFFE8}, + [I(64,131)] = {64,0}, + [I(65,131)] = {26,0x21FFFE8}, + [I(66,131)] = {27,0x5DFFFE8}, + [I(67,131)] = {27,0x5EFFFE8}, + [I(68,131)] = {27,0x5FFFFE8}, + [I(69,131)] = {27,0x60FFFE8}, + [I(70,131)] = {27,0x61FFFE8}, + [I(71,131)] = {27,0x62FFFE8}, + [I(72,131)] = {27,0x63FFFE8}, + [I(73,131)] = {27,0x64FFFE8}, + [I(74,131)] = {27,0x65FFFE8}, + [I(75,131)] = {27,0x66FFFE8}, + [I(76,131)] = {27,0x67FFFE8}, + [I(77,131)] = {27,0x68FFFE8}, + [I(78,131)] = {27,0x69FFFE8}, + [I(79,131)] = {27,0x6AFFFE8}, + [I(80,131)] = {27,0x6BFFFE8}, + [I(81,131)] = {27,0x6CFFFE8}, + [I(82,131)] = {27,0x6DFFFE8}, + [I(83,131)] = {27,0x6EFFFE8}, + [I(84,131)] = {27,0x6FFFFE8}, + [I(85,131)] = {27,0x70FFFE8}, + [I(86,131)] = {27,0x71FFFE8}, + [I(87,131)] = {27,0x72FFFE8}, + [I(88,131)] = {28,0xFCFFFE8}, + [I(89,131)] = {27,0x73FFFE8}, + [I(90,131)] = {28,0xFDFFFE8}, + [I(91,131)] = {64,0}, + [I(92,131)] = {64,0}, + [I(93,131)] = {64,0}, + [I(94,131)] = {64,0}, + [I(95,131)] = {26,0x22FFFE8}, + [I(96,131)] = {64,0}, + [I(97,131)] = {25,0x3FFFE8}, + [I(98,131)] = {26,0x23FFFE8}, + [I(99,131)] = {25,0x4FFFE8}, + [I(100,131)] = {26,0x24FFFE8}, + [I(101,131)] = {25,0x5FFFE8}, + [I(102,131)] = {26,0x25FFFE8}, + [I(103,131)] = {26,0x26FFFE8}, + [I(104,131)] = {26,0x27FFFE8}, + [I(105,131)] = {25,0x6FFFE8}, + [I(106,131)] = {27,0x74FFFE8}, + [I(107,131)] = {27,0x75FFFE8}, + [I(108,131)] = {26,0x28FFFE8}, + [I(109,131)] = {26,0x29FFFE8}, + [I(110,131)] = {26,0x2AFFFE8}, + [I(111,131)] = {25,0x7FFFE8}, + [I(112,131)] = {26,0x2BFFFE8}, + [I(113,131)] = {27,0x76FFFE8}, + [I(114,131)] = {26,0x2CFFFE8}, + [I(115,131)] = {25,0x8FFFE8}, + [I(116,131)] = {25,0x9FFFE8}, + [I(117,131)] = {26,0x2DFFFE8}, + [I(118,131)] = {27,0x77FFFE8}, + [I(119,131)] = {27,0x78FFFE8}, + [I(120,131)] = {27,0x79FFFE8}, + [I(121,131)] = {27,0x7AFFFE8}, + [I(122,131)] = {27,0x7BFFFE8}, + [I(123,131)] = {64,0}, + [I(124,131)] = {31,0x7FCFFFE8}, + [I(125,131)] = {64,0}, + [I(126,131)] = {64,0}, + [I(127,131)] = {64,0}, + [I(128,131)] = {64,0}, + [I(129,131)] = {64,0}, + [I(130,131)] = {64,0}, + [I(131,131)] = {64,0}, + [I(132,131)] = {64,0}, + [I(133,131)] = {64,0}, + [I(134,131)] = {64,0}, + [I(135,131)] = {64,0}, + [I(136,131)] = {64,0}, + [I(137,131)] = {64,0}, + [I(138,131)] = {64,0}, + [I(139,131)] = {64,0}, + [I(140,131)] = {64,0}, + [I(141,131)] = {64,0}, + [I(142,131)] = {64,0}, + [I(143,131)] = {64,0}, + [I(144,131)] = {64,0}, + [I(145,131)] = {64,0}, + [I(146,131)] = {64,0}, + [I(147,131)] = {64,0}, + [I(148,131)] = {64,0}, + [I(149,131)] = {64,0}, + [I(150,131)] = {64,0}, + [I(151,131)] = {64,0}, + [I(152,131)] = {64,0}, + [I(153,131)] = {64,0}, + [I(154,131)] = {64,0}, + [I(155,131)] = {64,0}, + [I(156,131)] = {64,0}, + [I(157,131)] = {64,0}, + [I(158,131)] = {64,0}, + [I(159,131)] = {64,0}, + [I(160,131)] = {64,0}, + [I(161,131)] = {64,0}, + [I(162,131)] = {64,0}, + [I(163,131)] = {64,0}, + [I(164,131)] = {64,0}, + [I(165,131)] = {64,0}, + [I(166,131)] = {64,0}, + [I(167,131)] = {64,0}, + [I(168,131)] = {64,0}, + [I(169,131)] = {64,0}, + [I(170,131)] = {64,0}, + [I(171,131)] = {64,0}, + [I(172,131)] = {64,0}, + [I(173,131)] = {64,0}, + [I(174,131)] = {64,0}, + [I(175,131)] = {64,0}, + [I(176,131)] = {64,0}, + [I(177,131)] = {64,0}, + [I(178,131)] = {64,0}, + [I(179,131)] = {64,0}, + [I(180,131)] = {64,0}, + [I(181,131)] = {64,0}, + [I(182,131)] = {64,0}, + [I(183,131)] = {64,0}, + [I(184,131)] = {64,0}, + [I(185,131)] = {64,0}, + [I(186,131)] = {64,0}, + [I(187,131)] = {64,0}, + [I(188,131)] = {64,0}, + [I(189,131)] = {64,0}, + [I(190,131)] = {64,0}, + [I(191,131)] = {64,0}, + [I(192,131)] = {64,0}, + [I(193,131)] = {64,0}, + [I(194,131)] = {64,0}, + [I(195,131)] = {64,0}, + [I(196,131)] = {64,0}, + [I(197,131)] = {64,0}, + [I(198,131)] = {64,0}, + [I(199,131)] = {64,0}, + [I(200,131)] = {64,0}, + [I(201,131)] = {64,0}, + [I(202,131)] = {64,0}, + [I(203,131)] = {64,0}, + [I(204,131)] = {64,0}, + [I(205,131)] = {64,0}, + [I(206,131)] = {64,0}, + [I(207,131)] = {64,0}, + [I(208,131)] = {64,0}, + [I(209,131)] = {64,0}, + [I(210,131)] = {64,0}, + [I(211,131)] = {64,0}, + [I(212,131)] = {64,0}, + [I(213,131)] = {64,0}, + [I(214,131)] = {64,0}, + [I(215,131)] = {64,0}, + [I(216,131)] = {64,0}, + [I(217,131)] = {64,0}, + [I(218,131)] = {64,0}, + [I(219,131)] = {64,0}, + [I(220,131)] = {64,0}, + [I(221,131)] = {64,0}, + [I(222,131)] = {64,0}, + [I(223,131)] = {64,0}, + [I(224,131)] = {64,0}, + [I(225,131)] = {64,0}, + [I(226,131)] = {64,0}, + [I(227,131)] = {64,0}, + [I(228,131)] = {64,0}, + [I(229,131)] = {64,0}, + [I(230,131)] = {64,0}, + [I(231,131)] = {64,0}, + [I(232,131)] = {64,0}, + [I(233,131)] = {64,0}, + [I(234,131)] = {64,0}, + [I(235,131)] = {64,0}, + [I(236,131)] = {64,0}, + [I(237,131)] = {64,0}, + [I(238,131)] = {64,0}, + [I(239,131)] = {64,0}, + [I(240,131)] = {64,0}, + [I(241,131)] = {64,0}, + [I(242,131)] = {64,0}, + [I(243,131)] = {64,0}, + [I(244,131)] = {64,0}, + [I(245,131)] = {64,0}, + [I(246,131)] = {64,0}, + [I(247,131)] = {64,0}, + [I(248,131)] = {64,0}, + [I(249,131)] = {64,0}, + [I(250,131)] = {64,0}, + [I(251,131)] = {64,0}, + [I(252,131)] = {64,0}, + [I(253,131)] = {64,0}, + [I(254,131)] = {64,0}, + [I(255,131)] = {64,0}, + [I(0,132)] = {64,0}, + [I(1,132)] = {64,0}, + [I(2,132)] = {64,0}, + [I(3,132)] = {64,0}, + [I(4,132)] = {64,0}, + [I(5,132)] = {64,0}, + [I(6,132)] = {64,0}, + [I(7,132)] = {64,0}, + [I(8,132)] = {64,0}, + [I(9,132)] = {64,0}, + [I(10,132)] = {64,0}, + [I(11,132)] = {64,0}, + [I(12,132)] = {64,0}, + [I(13,132)] = {64,0}, + [I(14,132)] = {64,0}, + [I(15,132)] = {64,0}, + [I(16,132)] = {64,0}, + [I(17,132)] = {64,0}, + [I(18,132)] = {64,0}, + [I(19,132)] = {64,0}, + [I(20,132)] = {64,0}, + [I(21,132)] = {64,0}, + [I(22,132)] = {64,0}, + [I(23,132)] = {64,0}, + [I(24,132)] = {64,0}, + [I(25,132)] = {64,0}, + [I(26,132)] = {64,0}, + [I(27,132)] = {64,0}, + [I(28,132)] = {64,0}, + [I(29,132)] = {64,0}, + [I(30,132)] = {64,0}, + [I(31,132)] = {64,0}, + [I(32,132)] = {28,0x53FFFD3}, + [I(33,132)] = {X32,0xFE3FFFD3}, + [I(34,132)] = {X32,0xFE7FFFD3}, + [I(35,132)] = {64,0}, + [I(36,132)] = {64,0}, + [I(37,132)] = {28,0x57FFFD3}, + [I(38,132)] = {30,0x3E3FFFD3}, + [I(39,132)] = {64,0}, + [I(40,132)] = {X32,0xFEBFFFD3}, + [I(41,132)] = {X32,0xFEFFFFD3}, + [I(42,132)] = {30,0x3E7FFFD3}, + [I(43,132)] = {64,0}, + [I(44,132)] = {30,0x3EBFFFD3}, + [I(45,132)] = {28,0x5BFFFD3}, + [I(46,132)] = {28,0x5FFFFD3}, + [I(47,132)] = {28,0x63FFFD3}, + [I(48,132)] = {27,0x3FFFD3}, + [I(49,132)] = {27,0x7FFFD3}, + [I(50,132)] = {27,0xBFFFD3}, + [I(51,132)] = {28,0x67FFFD3}, + [I(52,132)] = {28,0x6BFFFD3}, + [I(53,132)] = {28,0x6FFFFD3}, + [I(54,132)] = {28,0x73FFFD3}, + [I(55,132)] = {28,0x77FFFD3}, + [I(56,132)] = {28,0x7BFFFD3}, + [I(57,132)] = {28,0x7FFFFD3}, + [I(58,132)] = {29,0x173FFFD3}, + [I(59,132)] = {30,0x3EFFFFD3}, + [I(60,132)] = {64,0}, + [I(61,132)] = {28,0x83FFFD3}, + [I(62,132)] = {64,0}, + [I(63,132)] = {X32,0xFF3FFFD3}, + [I(64,132)] = {64,0}, + [I(65,132)] = {28,0x87FFFD3}, + [I(66,132)] = {29,0x177FFFD3}, + [I(67,132)] = {29,0x17BFFFD3}, + [I(68,132)] = {29,0x17FFFFD3}, + [I(69,132)] = {29,0x183FFFD3}, + [I(70,132)] = {29,0x187FFFD3}, + [I(71,132)] = {29,0x18BFFFD3}, + [I(72,132)] = {29,0x18FFFFD3}, + [I(73,132)] = {29,0x193FFFD3}, + [I(74,132)] = {29,0x197FFFD3}, + [I(75,132)] = {29,0x19BFFFD3}, + [I(76,132)] = {29,0x19FFFFD3}, + [I(77,132)] = {29,0x1A3FFFD3}, + [I(78,132)] = {29,0x1A7FFFD3}, + [I(79,132)] = {29,0x1ABFFFD3}, + [I(80,132)] = {29,0x1AFFFFD3}, + [I(81,132)] = {29,0x1B3FFFD3}, + [I(82,132)] = {29,0x1B7FFFD3}, + [I(83,132)] = {29,0x1BBFFFD3}, + [I(84,132)] = {29,0x1BFFFFD3}, + [I(85,132)] = {29,0x1C3FFFD3}, + [I(86,132)] = {29,0x1C7FFFD3}, + [I(87,132)] = {29,0x1CBFFFD3}, + [I(88,132)] = {30,0x3F3FFFD3}, + [I(89,132)] = {29,0x1CFFFFD3}, + [I(90,132)] = {30,0x3F7FFFD3}, + [I(91,132)] = {64,0}, + [I(92,132)] = {64,0}, + [I(93,132)] = {64,0}, + [I(94,132)] = {64,0}, + [I(95,132)] = {28,0x8BFFFD3}, + [I(96,132)] = {64,0}, + [I(97,132)] = {27,0xFFFFD3}, + [I(98,132)] = {28,0x8FFFFD3}, + [I(99,132)] = {27,0x13FFFD3}, + [I(100,132)] = {28,0x93FFFD3}, + [I(101,132)] = {27,0x17FFFD3}, + [I(102,132)] = {28,0x97FFFD3}, + [I(103,132)] = {28,0x9BFFFD3}, + [I(104,132)] = {28,0x9FFFFD3}, + [I(105,132)] = {27,0x1BFFFD3}, + [I(106,132)] = {29,0x1D3FFFD3}, + [I(107,132)] = {29,0x1D7FFFD3}, + [I(108,132)] = {28,0xA3FFFD3}, + [I(109,132)] = {28,0xA7FFFD3}, + [I(110,132)] = {28,0xABFFFD3}, + [I(111,132)] = {27,0x1FFFFD3}, + [I(112,132)] = {28,0xAFFFFD3}, + [I(113,132)] = {29,0x1DBFFFD3}, + [I(114,132)] = {28,0xB3FFFD3}, + [I(115,132)] = {27,0x23FFFD3}, + [I(116,132)] = {27,0x27FFFD3}, + [I(117,132)] = {28,0xB7FFFD3}, + [I(118,132)] = {29,0x1DFFFFD3}, + [I(119,132)] = {29,0x1E3FFFD3}, + [I(120,132)] = {29,0x1E7FFFD3}, + [I(121,132)] = {29,0x1EBFFFD3}, + [I(122,132)] = {29,0x1EFFFFD3}, + [I(123,132)] = {64,0}, + [I(124,132)] = {64,0}, + [I(125,132)] = {64,0}, + [I(126,132)] = {64,0}, + [I(127,132)] = {64,0}, + [I(128,132)] = {64,0}, + [I(129,132)] = {64,0}, + [I(130,132)] = {64,0}, + [I(131,132)] = {64,0}, + [I(132,132)] = {64,0}, + [I(133,132)] = {64,0}, + [I(134,132)] = {64,0}, + [I(135,132)] = {64,0}, + [I(136,132)] = {64,0}, + [I(137,132)] = {64,0}, + [I(138,132)] = {64,0}, + [I(139,132)] = {64,0}, + [I(140,132)] = {64,0}, + [I(141,132)] = {64,0}, + [I(142,132)] = {64,0}, + [I(143,132)] = {64,0}, + [I(144,132)] = {64,0}, + [I(145,132)] = {64,0}, + [I(146,132)] = {64,0}, + [I(147,132)] = {64,0}, + [I(148,132)] = {64,0}, + [I(149,132)] = {64,0}, + [I(150,132)] = {64,0}, + [I(151,132)] = {64,0}, + [I(152,132)] = {64,0}, + [I(153,132)] = {64,0}, + [I(154,132)] = {64,0}, + [I(155,132)] = {64,0}, + [I(156,132)] = {64,0}, + [I(157,132)] = {64,0}, + [I(158,132)] = {64,0}, + [I(159,132)] = {64,0}, + [I(160,132)] = {64,0}, + [I(161,132)] = {64,0}, + [I(162,132)] = {64,0}, + [I(163,132)] = {64,0}, + [I(164,132)] = {64,0}, + [I(165,132)] = {64,0}, + [I(166,132)] = {64,0}, + [I(167,132)] = {64,0}, + [I(168,132)] = {64,0}, + [I(169,132)] = {64,0}, + [I(170,132)] = {64,0}, + [I(171,132)] = {64,0}, + [I(172,132)] = {64,0}, + [I(173,132)] = {64,0}, + [I(174,132)] = {64,0}, + [I(175,132)] = {64,0}, + [I(176,132)] = {64,0}, + [I(177,132)] = {64,0}, + [I(178,132)] = {64,0}, + [I(179,132)] = {64,0}, + [I(180,132)] = {64,0}, + [I(181,132)] = {64,0}, + [I(182,132)] = {64,0}, + [I(183,132)] = {64,0}, + [I(184,132)] = {64,0}, + [I(185,132)] = {64,0}, + [I(186,132)] = {64,0}, + [I(187,132)] = {64,0}, + [I(188,132)] = {64,0}, + [I(189,132)] = {64,0}, + [I(190,132)] = {64,0}, + [I(191,132)] = {64,0}, + [I(192,132)] = {64,0}, + [I(193,132)] = {64,0}, + [I(194,132)] = {64,0}, + [I(195,132)] = {64,0}, + [I(196,132)] = {64,0}, + [I(197,132)] = {64,0}, + [I(198,132)] = {64,0}, + [I(199,132)] = {64,0}, + [I(200,132)] = {64,0}, + [I(201,132)] = {64,0}, + [I(202,132)] = {64,0}, + [I(203,132)] = {64,0}, + [I(204,132)] = {64,0}, + [I(205,132)] = {64,0}, + [I(206,132)] = {64,0}, + [I(207,132)] = {64,0}, + [I(208,132)] = {64,0}, + [I(209,132)] = {64,0}, + [I(210,132)] = {64,0}, + [I(211,132)] = {64,0}, + [I(212,132)] = {64,0}, + [I(213,132)] = {64,0}, + [I(214,132)] = {64,0}, + [I(215,132)] = {64,0}, + [I(216,132)] = {64,0}, + [I(217,132)] = {64,0}, + [I(218,132)] = {64,0}, + [I(219,132)] = {64,0}, + [I(220,132)] = {64,0}, + [I(221,132)] = {64,0}, + [I(222,132)] = {64,0}, + [I(223,132)] = {64,0}, + [I(224,132)] = {64,0}, + [I(225,132)] = {64,0}, + [I(226,132)] = {64,0}, + [I(227,132)] = {64,0}, + [I(228,132)] = {64,0}, + [I(229,132)] = {64,0}, + [I(230,132)] = {64,0}, + [I(231,132)] = {64,0}, + [I(232,132)] = {64,0}, + [I(233,132)] = {64,0}, + [I(234,132)] = {64,0}, + [I(235,132)] = {64,0}, + [I(236,132)] = {64,0}, + [I(237,132)] = {64,0}, + [I(238,132)] = {64,0}, + [I(239,132)] = {64,0}, + [I(240,132)] = {64,0}, + [I(241,132)] = {64,0}, + [I(242,132)] = {64,0}, + [I(243,132)] = {64,0}, + [I(244,132)] = {64,0}, + [I(245,132)] = {64,0}, + [I(246,132)] = {64,0}, + [I(247,132)] = {64,0}, + [I(248,132)] = {64,0}, + [I(249,132)] = {64,0}, + [I(250,132)] = {64,0}, + [I(251,132)] = {64,0}, + [I(252,132)] = {64,0}, + [I(253,132)] = {64,0}, + [I(254,132)] = {64,0}, + [I(255,132)] = {64,0}, + [I(0,133)] = {64,0}, + [I(1,133)] = {64,0}, + [I(2,133)] = {64,0}, + [I(3,133)] = {64,0}, + [I(4,133)] = {64,0}, + [I(5,133)] = {64,0}, + [I(6,133)] = {64,0}, + [I(7,133)] = {64,0}, + [I(8,133)] = {64,0}, + [I(9,133)] = {64,0}, + [I(10,133)] = {64,0}, + [I(11,133)] = {64,0}, + [I(12,133)] = {64,0}, + [I(13,133)] = {64,0}, + [I(14,133)] = {64,0}, + [I(15,133)] = {64,0}, + [I(16,133)] = {64,0}, + [I(17,133)] = {64,0}, + [I(18,133)] = {64,0}, + [I(19,133)] = {64,0}, + [I(20,133)] = {64,0}, + [I(21,133)] = {64,0}, + [I(22,133)] = {64,0}, + [I(23,133)] = {64,0}, + [I(24,133)] = {64,0}, + [I(25,133)] = {64,0}, + [I(26,133)] = {64,0}, + [I(27,133)] = {64,0}, + [I(28,133)] = {64,0}, + [I(29,133)] = {64,0}, + [I(30,133)] = {64,0}, + [I(31,133)] = {64,0}, + [I(32,133)] = {28,0x53FFFD4}, + [I(33,133)] = {X32,0xFE3FFFD4}, + [I(34,133)] = {X32,0xFE7FFFD4}, + [I(35,133)] = {64,0}, + [I(36,133)] = {64,0}, + [I(37,133)] = {28,0x57FFFD4}, + [I(38,133)] = {30,0x3E3FFFD4}, + [I(39,133)] = {64,0}, + [I(40,133)] = {X32,0xFEBFFFD4}, + [I(41,133)] = {X32,0xFEFFFFD4}, + [I(42,133)] = {30,0x3E7FFFD4}, + [I(43,133)] = {64,0}, + [I(44,133)] = {30,0x3EBFFFD4}, + [I(45,133)] = {28,0x5BFFFD4}, + [I(46,133)] = {28,0x5FFFFD4}, + [I(47,133)] = {28,0x63FFFD4}, + [I(48,133)] = {27,0x3FFFD4}, + [I(49,133)] = {27,0x7FFFD4}, + [I(50,133)] = {27,0xBFFFD4}, + [I(51,133)] = {28,0x67FFFD4}, + [I(52,133)] = {28,0x6BFFFD4}, + [I(53,133)] = {28,0x6FFFFD4}, + [I(54,133)] = {28,0x73FFFD4}, + [I(55,133)] = {28,0x77FFFD4}, + [I(56,133)] = {28,0x7BFFFD4}, + [I(57,133)] = {28,0x7FFFFD4}, + [I(58,133)] = {29,0x173FFFD4}, + [I(59,133)] = {30,0x3EFFFFD4}, + [I(60,133)] = {64,0}, + [I(61,133)] = {28,0x83FFFD4}, + [I(62,133)] = {64,0}, + [I(63,133)] = {X32,0xFF3FFFD4}, + [I(64,133)] = {64,0}, + [I(65,133)] = {28,0x87FFFD4}, + [I(66,133)] = {29,0x177FFFD4}, + [I(67,133)] = {29,0x17BFFFD4}, + [I(68,133)] = {29,0x17FFFFD4}, + [I(69,133)] = {29,0x183FFFD4}, + [I(70,133)] = {29,0x187FFFD4}, + [I(71,133)] = {29,0x18BFFFD4}, + [I(72,133)] = {29,0x18FFFFD4}, + [I(73,133)] = {29,0x193FFFD4}, + [I(74,133)] = {29,0x197FFFD4}, + [I(75,133)] = {29,0x19BFFFD4}, + [I(76,133)] = {29,0x19FFFFD4}, + [I(77,133)] = {29,0x1A3FFFD4}, + [I(78,133)] = {29,0x1A7FFFD4}, + [I(79,133)] = {29,0x1ABFFFD4}, + [I(80,133)] = {29,0x1AFFFFD4}, + [I(81,133)] = {29,0x1B3FFFD4}, + [I(82,133)] = {29,0x1B7FFFD4}, + [I(83,133)] = {29,0x1BBFFFD4}, + [I(84,133)] = {29,0x1BFFFFD4}, + [I(85,133)] = {29,0x1C3FFFD4}, + [I(86,133)] = {29,0x1C7FFFD4}, + [I(87,133)] = {29,0x1CBFFFD4}, + [I(88,133)] = {30,0x3F3FFFD4}, + [I(89,133)] = {29,0x1CFFFFD4}, + [I(90,133)] = {30,0x3F7FFFD4}, + [I(91,133)] = {64,0}, + [I(92,133)] = {64,0}, + [I(93,133)] = {64,0}, + [I(94,133)] = {64,0}, + [I(95,133)] = {28,0x8BFFFD4}, + [I(96,133)] = {64,0}, + [I(97,133)] = {27,0xFFFFD4}, + [I(98,133)] = {28,0x8FFFFD4}, + [I(99,133)] = {27,0x13FFFD4}, + [I(100,133)] = {28,0x93FFFD4}, + [I(101,133)] = {27,0x17FFFD4}, + [I(102,133)] = {28,0x97FFFD4}, + [I(103,133)] = {28,0x9BFFFD4}, + [I(104,133)] = {28,0x9FFFFD4}, + [I(105,133)] = {27,0x1BFFFD4}, + [I(106,133)] = {29,0x1D3FFFD4}, + [I(107,133)] = {29,0x1D7FFFD4}, + [I(108,133)] = {28,0xA3FFFD4}, + [I(109,133)] = {28,0xA7FFFD4}, + [I(110,133)] = {28,0xABFFFD4}, + [I(111,133)] = {27,0x1FFFFD4}, + [I(112,133)] = {28,0xAFFFFD4}, + [I(113,133)] = {29,0x1DBFFFD4}, + [I(114,133)] = {28,0xB3FFFD4}, + [I(115,133)] = {27,0x23FFFD4}, + [I(116,133)] = {27,0x27FFFD4}, + [I(117,133)] = {28,0xB7FFFD4}, + [I(118,133)] = {29,0x1DFFFFD4}, + [I(119,133)] = {29,0x1E3FFFD4}, + [I(120,133)] = {29,0x1E7FFFD4}, + [I(121,133)] = {29,0x1EBFFFD4}, + [I(122,133)] = {29,0x1EFFFFD4}, + [I(123,133)] = {64,0}, + [I(124,133)] = {64,0}, + [I(125,133)] = {64,0}, + [I(126,133)] = {64,0}, + [I(127,133)] = {64,0}, + [I(128,133)] = {64,0}, + [I(129,133)] = {64,0}, + [I(130,133)] = {64,0}, + [I(131,133)] = {64,0}, + [I(132,133)] = {64,0}, + [I(133,133)] = {64,0}, + [I(134,133)] = {64,0}, + [I(135,133)] = {64,0}, + [I(136,133)] = {64,0}, + [I(137,133)] = {64,0}, + [I(138,133)] = {64,0}, + [I(139,133)] = {64,0}, + [I(140,133)] = {64,0}, + [I(141,133)] = {64,0}, + [I(142,133)] = {64,0}, + [I(143,133)] = {64,0}, + [I(144,133)] = {64,0}, + [I(145,133)] = {64,0}, + [I(146,133)] = {64,0}, + [I(147,133)] = {64,0}, + [I(148,133)] = {64,0}, + [I(149,133)] = {64,0}, + [I(150,133)] = {64,0}, + [I(151,133)] = {64,0}, + [I(152,133)] = {64,0}, + [I(153,133)] = {64,0}, + [I(154,133)] = {64,0}, + [I(155,133)] = {64,0}, + [I(156,133)] = {64,0}, + [I(157,133)] = {64,0}, + [I(158,133)] = {64,0}, + [I(159,133)] = {64,0}, + [I(160,133)] = {64,0}, + [I(161,133)] = {64,0}, + [I(162,133)] = {64,0}, + [I(163,133)] = {64,0}, + [I(164,133)] = {64,0}, + [I(165,133)] = {64,0}, + [I(166,133)] = {64,0}, + [I(167,133)] = {64,0}, + [I(168,133)] = {64,0}, + [I(169,133)] = {64,0}, + [I(170,133)] = {64,0}, + [I(171,133)] = {64,0}, + [I(172,133)] = {64,0}, + [I(173,133)] = {64,0}, + [I(174,133)] = {64,0}, + [I(175,133)] = {64,0}, + [I(176,133)] = {64,0}, + [I(177,133)] = {64,0}, + [I(178,133)] = {64,0}, + [I(179,133)] = {64,0}, + [I(180,133)] = {64,0}, + [I(181,133)] = {64,0}, + [I(182,133)] = {64,0}, + [I(183,133)] = {64,0}, + [I(184,133)] = {64,0}, + [I(185,133)] = {64,0}, + [I(186,133)] = {64,0}, + [I(187,133)] = {64,0}, + [I(188,133)] = {64,0}, + [I(189,133)] = {64,0}, + [I(190,133)] = {64,0}, + [I(191,133)] = {64,0}, + [I(192,133)] = {64,0}, + [I(193,133)] = {64,0}, + [I(194,133)] = {64,0}, + [I(195,133)] = {64,0}, + [I(196,133)] = {64,0}, + [I(197,133)] = {64,0}, + [I(198,133)] = {64,0}, + [I(199,133)] = {64,0}, + [I(200,133)] = {64,0}, + [I(201,133)] = {64,0}, + [I(202,133)] = {64,0}, + [I(203,133)] = {64,0}, + [I(204,133)] = {64,0}, + [I(205,133)] = {64,0}, + [I(206,133)] = {64,0}, + [I(207,133)] = {64,0}, + [I(208,133)] = {64,0}, + [I(209,133)] = {64,0}, + [I(210,133)] = {64,0}, + [I(211,133)] = {64,0}, + [I(212,133)] = {64,0}, + [I(213,133)] = {64,0}, + [I(214,133)] = {64,0}, + [I(215,133)] = {64,0}, + [I(216,133)] = {64,0}, + [I(217,133)] = {64,0}, + [I(218,133)] = {64,0}, + [I(219,133)] = {64,0}, + [I(220,133)] = {64,0}, + [I(221,133)] = {64,0}, + [I(222,133)] = {64,0}, + [I(223,133)] = {64,0}, + [I(224,133)] = {64,0}, + [I(225,133)] = {64,0}, + [I(226,133)] = {64,0}, + [I(227,133)] = {64,0}, + [I(228,133)] = {64,0}, + [I(229,133)] = {64,0}, + [I(230,133)] = {64,0}, + [I(231,133)] = {64,0}, + [I(232,133)] = {64,0}, + [I(233,133)] = {64,0}, + [I(234,133)] = {64,0}, + [I(235,133)] = {64,0}, + [I(236,133)] = {64,0}, + [I(237,133)] = {64,0}, + [I(238,133)] = {64,0}, + [I(239,133)] = {64,0}, + [I(240,133)] = {64,0}, + [I(241,133)] = {64,0}, + [I(242,133)] = {64,0}, + [I(243,133)] = {64,0}, + [I(244,133)] = {64,0}, + [I(245,133)] = {64,0}, + [I(246,133)] = {64,0}, + [I(247,133)] = {64,0}, + [I(248,133)] = {64,0}, + [I(249,133)] = {64,0}, + [I(250,133)] = {64,0}, + [I(251,133)] = {64,0}, + [I(252,133)] = {64,0}, + [I(253,133)] = {64,0}, + [I(254,133)] = {64,0}, + [I(255,133)] = {64,0}, + [I(0,134)] = {64,0}, + [I(1,134)] = {64,0}, + [I(2,134)] = {64,0}, + [I(3,134)] = {64,0}, + [I(4,134)] = {64,0}, + [I(5,134)] = {64,0}, + [I(6,134)] = {64,0}, + [I(7,134)] = {64,0}, + [I(8,134)] = {64,0}, + [I(9,134)] = {64,0}, + [I(10,134)] = {64,0}, + [I(11,134)] = {64,0}, + [I(12,134)] = {64,0}, + [I(13,134)] = {64,0}, + [I(14,134)] = {64,0}, + [I(15,134)] = {64,0}, + [I(16,134)] = {64,0}, + [I(17,134)] = {64,0}, + [I(18,134)] = {64,0}, + [I(19,134)] = {64,0}, + [I(20,134)] = {64,0}, + [I(21,134)] = {64,0}, + [I(22,134)] = {64,0}, + [I(23,134)] = {64,0}, + [I(24,134)] = {64,0}, + [I(25,134)] = {64,0}, + [I(26,134)] = {64,0}, + [I(27,134)] = {64,0}, + [I(28,134)] = {64,0}, + [I(29,134)] = {64,0}, + [I(30,134)] = {64,0}, + [I(31,134)] = {64,0}, + [I(32,134)] = {28,0x53FFFD5}, + [I(33,134)] = {X32,0xFE3FFFD5}, + [I(34,134)] = {X32,0xFE7FFFD5}, + [I(35,134)] = {64,0}, + [I(36,134)] = {64,0}, + [I(37,134)] = {28,0x57FFFD5}, + [I(38,134)] = {30,0x3E3FFFD5}, + [I(39,134)] = {64,0}, + [I(40,134)] = {X32,0xFEBFFFD5}, + [I(41,134)] = {X32,0xFEFFFFD5}, + [I(42,134)] = {30,0x3E7FFFD5}, + [I(43,134)] = {64,0}, + [I(44,134)] = {30,0x3EBFFFD5}, + [I(45,134)] = {28,0x5BFFFD5}, + [I(46,134)] = {28,0x5FFFFD5}, + [I(47,134)] = {28,0x63FFFD5}, + [I(48,134)] = {27,0x3FFFD5}, + [I(49,134)] = {27,0x7FFFD5}, + [I(50,134)] = {27,0xBFFFD5}, + [I(51,134)] = {28,0x67FFFD5}, + [I(52,134)] = {28,0x6BFFFD5}, + [I(53,134)] = {28,0x6FFFFD5}, + [I(54,134)] = {28,0x73FFFD5}, + [I(55,134)] = {28,0x77FFFD5}, + [I(56,134)] = {28,0x7BFFFD5}, + [I(57,134)] = {28,0x7FFFFD5}, + [I(58,134)] = {29,0x173FFFD5}, + [I(59,134)] = {30,0x3EFFFFD5}, + [I(60,134)] = {64,0}, + [I(61,134)] = {28,0x83FFFD5}, + [I(62,134)] = {64,0}, + [I(63,134)] = {X32,0xFF3FFFD5}, + [I(64,134)] = {64,0}, + [I(65,134)] = {28,0x87FFFD5}, + [I(66,134)] = {29,0x177FFFD5}, + [I(67,134)] = {29,0x17BFFFD5}, + [I(68,134)] = {29,0x17FFFFD5}, + [I(69,134)] = {29,0x183FFFD5}, + [I(70,134)] = {29,0x187FFFD5}, + [I(71,134)] = {29,0x18BFFFD5}, + [I(72,134)] = {29,0x18FFFFD5}, + [I(73,134)] = {29,0x193FFFD5}, + [I(74,134)] = {29,0x197FFFD5}, + [I(75,134)] = {29,0x19BFFFD5}, + [I(76,134)] = {29,0x19FFFFD5}, + [I(77,134)] = {29,0x1A3FFFD5}, + [I(78,134)] = {29,0x1A7FFFD5}, + [I(79,134)] = {29,0x1ABFFFD5}, + [I(80,134)] = {29,0x1AFFFFD5}, + [I(81,134)] = {29,0x1B3FFFD5}, + [I(82,134)] = {29,0x1B7FFFD5}, + [I(83,134)] = {29,0x1BBFFFD5}, + [I(84,134)] = {29,0x1BFFFFD5}, + [I(85,134)] = {29,0x1C3FFFD5}, + [I(86,134)] = {29,0x1C7FFFD5}, + [I(87,134)] = {29,0x1CBFFFD5}, + [I(88,134)] = {30,0x3F3FFFD5}, + [I(89,134)] = {29,0x1CFFFFD5}, + [I(90,134)] = {30,0x3F7FFFD5}, + [I(91,134)] = {64,0}, + [I(92,134)] = {64,0}, + [I(93,134)] = {64,0}, + [I(94,134)] = {64,0}, + [I(95,134)] = {28,0x8BFFFD5}, + [I(96,134)] = {64,0}, + [I(97,134)] = {27,0xFFFFD5}, + [I(98,134)] = {28,0x8FFFFD5}, + [I(99,134)] = {27,0x13FFFD5}, + [I(100,134)] = {28,0x93FFFD5}, + [I(101,134)] = {27,0x17FFFD5}, + [I(102,134)] = {28,0x97FFFD5}, + [I(103,134)] = {28,0x9BFFFD5}, + [I(104,134)] = {28,0x9FFFFD5}, + [I(105,134)] = {27,0x1BFFFD5}, + [I(106,134)] = {29,0x1D3FFFD5}, + [I(107,134)] = {29,0x1D7FFFD5}, + [I(108,134)] = {28,0xA3FFFD5}, + [I(109,134)] = {28,0xA7FFFD5}, + [I(110,134)] = {28,0xABFFFD5}, + [I(111,134)] = {27,0x1FFFFD5}, + [I(112,134)] = {28,0xAFFFFD5}, + [I(113,134)] = {29,0x1DBFFFD5}, + [I(114,134)] = {28,0xB3FFFD5}, + [I(115,134)] = {27,0x23FFFD5}, + [I(116,134)] = {27,0x27FFFD5}, + [I(117,134)] = {28,0xB7FFFD5}, + [I(118,134)] = {29,0x1DFFFFD5}, + [I(119,134)] = {29,0x1E3FFFD5}, + [I(120,134)] = {29,0x1E7FFFD5}, + [I(121,134)] = {29,0x1EBFFFD5}, + [I(122,134)] = {29,0x1EFFFFD5}, + [I(123,134)] = {64,0}, + [I(124,134)] = {64,0}, + [I(125,134)] = {64,0}, + [I(126,134)] = {64,0}, + [I(127,134)] = {64,0}, + [I(128,134)] = {64,0}, + [I(129,134)] = {64,0}, + [I(130,134)] = {64,0}, + [I(131,134)] = {64,0}, + [I(132,134)] = {64,0}, + [I(133,134)] = {64,0}, + [I(134,134)] = {64,0}, + [I(135,134)] = {64,0}, + [I(136,134)] = {64,0}, + [I(137,134)] = {64,0}, + [I(138,134)] = {64,0}, + [I(139,134)] = {64,0}, + [I(140,134)] = {64,0}, + [I(141,134)] = {64,0}, + [I(142,134)] = {64,0}, + [I(143,134)] = {64,0}, + [I(144,134)] = {64,0}, + [I(145,134)] = {64,0}, + [I(146,134)] = {64,0}, + [I(147,134)] = {64,0}, + [I(148,134)] = {64,0}, + [I(149,134)] = {64,0}, + [I(150,134)] = {64,0}, + [I(151,134)] = {64,0}, + [I(152,134)] = {64,0}, + [I(153,134)] = {64,0}, + [I(154,134)] = {64,0}, + [I(155,134)] = {64,0}, + [I(156,134)] = {64,0}, + [I(157,134)] = {64,0}, + [I(158,134)] = {64,0}, + [I(159,134)] = {64,0}, + [I(160,134)] = {64,0}, + [I(161,134)] = {64,0}, + [I(162,134)] = {64,0}, + [I(163,134)] = {64,0}, + [I(164,134)] = {64,0}, + [I(165,134)] = {64,0}, + [I(166,134)] = {64,0}, + [I(167,134)] = {64,0}, + [I(168,134)] = {64,0}, + [I(169,134)] = {64,0}, + [I(170,134)] = {64,0}, + [I(171,134)] = {64,0}, + [I(172,134)] = {64,0}, + [I(173,134)] = {64,0}, + [I(174,134)] = {64,0}, + [I(175,134)] = {64,0}, + [I(176,134)] = {64,0}, + [I(177,134)] = {64,0}, + [I(178,134)] = {64,0}, + [I(179,134)] = {64,0}, + [I(180,134)] = {64,0}, + [I(181,134)] = {64,0}, + [I(182,134)] = {64,0}, + [I(183,134)] = {64,0}, + [I(184,134)] = {64,0}, + [I(185,134)] = {64,0}, + [I(186,134)] = {64,0}, + [I(187,134)] = {64,0}, + [I(188,134)] = {64,0}, + [I(189,134)] = {64,0}, + [I(190,134)] = {64,0}, + [I(191,134)] = {64,0}, + [I(192,134)] = {64,0}, + [I(193,134)] = {64,0}, + [I(194,134)] = {64,0}, + [I(195,134)] = {64,0}, + [I(196,134)] = {64,0}, + [I(197,134)] = {64,0}, + [I(198,134)] = {64,0}, + [I(199,134)] = {64,0}, + [I(200,134)] = {64,0}, + [I(201,134)] = {64,0}, + [I(202,134)] = {64,0}, + [I(203,134)] = {64,0}, + [I(204,134)] = {64,0}, + [I(205,134)] = {64,0}, + [I(206,134)] = {64,0}, + [I(207,134)] = {64,0}, + [I(208,134)] = {64,0}, + [I(209,134)] = {64,0}, + [I(210,134)] = {64,0}, + [I(211,134)] = {64,0}, + [I(212,134)] = {64,0}, + [I(213,134)] = {64,0}, + [I(214,134)] = {64,0}, + [I(215,134)] = {64,0}, + [I(216,134)] = {64,0}, + [I(217,134)] = {64,0}, + [I(218,134)] = {64,0}, + [I(219,134)] = {64,0}, + [I(220,134)] = {64,0}, + [I(221,134)] = {64,0}, + [I(222,134)] = {64,0}, + [I(223,134)] = {64,0}, + [I(224,134)] = {64,0}, + [I(225,134)] = {64,0}, + [I(226,134)] = {64,0}, + [I(227,134)] = {64,0}, + [I(228,134)] = {64,0}, + [I(229,134)] = {64,0}, + [I(230,134)] = {64,0}, + [I(231,134)] = {64,0}, + [I(232,134)] = {64,0}, + [I(233,134)] = {64,0}, + [I(234,134)] = {64,0}, + [I(235,134)] = {64,0}, + [I(236,134)] = {64,0}, + [I(237,134)] = {64,0}, + [I(238,134)] = {64,0}, + [I(239,134)] = {64,0}, + [I(240,134)] = {64,0}, + [I(241,134)] = {64,0}, + [I(242,134)] = {64,0}, + [I(243,134)] = {64,0}, + [I(244,134)] = {64,0}, + [I(245,134)] = {64,0}, + [I(246,134)] = {64,0}, + [I(247,134)] = {64,0}, + [I(248,134)] = {64,0}, + [I(249,134)] = {64,0}, + [I(250,134)] = {64,0}, + [I(251,134)] = {64,0}, + [I(252,134)] = {64,0}, + [I(253,134)] = {64,0}, + [I(254,134)] = {64,0}, + [I(255,134)] = {64,0}, + [I(0,135)] = {64,0}, + [I(1,135)] = {64,0}, + [I(2,135)] = {64,0}, + [I(3,135)] = {64,0}, + [I(4,135)] = {64,0}, + [I(5,135)] = {64,0}, + [I(6,135)] = {64,0}, + [I(7,135)] = {64,0}, + [I(8,135)] = {64,0}, + [I(9,135)] = {64,0}, + [I(10,135)] = {64,0}, + [I(11,135)] = {64,0}, + [I(12,135)] = {64,0}, + [I(13,135)] = {64,0}, + [I(14,135)] = {64,0}, + [I(15,135)] = {64,0}, + [I(16,135)] = {64,0}, + [I(17,135)] = {64,0}, + [I(18,135)] = {64,0}, + [I(19,135)] = {64,0}, + [I(20,135)] = {64,0}, + [I(21,135)] = {64,0}, + [I(22,135)] = {64,0}, + [I(23,135)] = {64,0}, + [I(24,135)] = {64,0}, + [I(25,135)] = {64,0}, + [I(26,135)] = {64,0}, + [I(27,135)] = {64,0}, + [I(28,135)] = {64,0}, + [I(29,135)] = {64,0}, + [I(30,135)] = {64,0}, + [I(31,135)] = {64,0}, + [I(32,135)] = {29,0xA7FFFD9}, + [I(33,135)] = {64,0}, + [I(34,135)] = {64,0}, + [I(35,135)] = {64,0}, + [I(36,135)] = {64,0}, + [I(37,135)] = {29,0xAFFFFD9}, + [I(38,135)] = {31,0x7C7FFFD9}, + [I(39,135)] = {64,0}, + [I(40,135)] = {64,0}, + [I(41,135)] = {64,0}, + [I(42,135)] = {31,0x7CFFFFD9}, + [I(43,135)] = {64,0}, + [I(44,135)] = {31,0x7D7FFFD9}, + [I(45,135)] = {29,0xB7FFFD9}, + [I(46,135)] = {29,0xBFFFFD9}, + [I(47,135)] = {29,0xC7FFFD9}, + [I(48,135)] = {28,0x7FFFD9}, + [I(49,135)] = {28,0xFFFFD9}, + [I(50,135)] = {28,0x17FFFD9}, + [I(51,135)] = {29,0xCFFFFD9}, + [I(52,135)] = {29,0xD7FFFD9}, + [I(53,135)] = {29,0xDFFFFD9}, + [I(54,135)] = {29,0xE7FFFD9}, + [I(55,135)] = {29,0xEFFFFD9}, + [I(56,135)] = {29,0xF7FFFD9}, + [I(57,135)] = {29,0xFFFFFD9}, + [I(58,135)] = {30,0x2E7FFFD9}, + [I(59,135)] = {31,0x7DFFFFD9}, + [I(60,135)] = {64,0}, + [I(61,135)] = {29,0x107FFFD9}, + [I(62,135)] = {64,0}, + [I(63,135)] = {64,0}, + [I(64,135)] = {64,0}, + [I(65,135)] = {29,0x10FFFFD9}, + [I(66,135)] = {30,0x2EFFFFD9}, + [I(67,135)] = {30,0x2F7FFFD9}, + [I(68,135)] = {30,0x2FFFFFD9}, + [I(69,135)] = {30,0x307FFFD9}, + [I(70,135)] = {30,0x30FFFFD9}, + [I(71,135)] = {30,0x317FFFD9}, + [I(72,135)] = {30,0x31FFFFD9}, + [I(73,135)] = {30,0x327FFFD9}, + [I(74,135)] = {30,0x32FFFFD9}, + [I(75,135)] = {30,0x337FFFD9}, + [I(76,135)] = {30,0x33FFFFD9}, + [I(77,135)] = {30,0x347FFFD9}, + [I(78,135)] = {30,0x34FFFFD9}, + [I(79,135)] = {30,0x357FFFD9}, + [I(80,135)] = {30,0x35FFFFD9}, + [I(81,135)] = {30,0x367FFFD9}, + [I(82,135)] = {30,0x36FFFFD9}, + [I(83,135)] = {30,0x377FFFD9}, + [I(84,135)] = {30,0x37FFFFD9}, + [I(85,135)] = {30,0x387FFFD9}, + [I(86,135)] = {30,0x38FFFFD9}, + [I(87,135)] = {30,0x397FFFD9}, + [I(88,135)] = {31,0x7E7FFFD9}, + [I(89,135)] = {30,0x39FFFFD9}, + [I(90,135)] = {31,0x7EFFFFD9}, + [I(91,135)] = {64,0}, + [I(92,135)] = {64,0}, + [I(93,135)] = {64,0}, + [I(94,135)] = {64,0}, + [I(95,135)] = {29,0x117FFFD9}, + [I(96,135)] = {64,0}, + [I(97,135)] = {28,0x1FFFFD9}, + [I(98,135)] = {29,0x11FFFFD9}, + [I(99,135)] = {28,0x27FFFD9}, + [I(100,135)] = {29,0x127FFFD9}, + [I(101,135)] = {28,0x2FFFFD9}, + [I(102,135)] = {29,0x12FFFFD9}, + [I(103,135)] = {29,0x137FFFD9}, + [I(104,135)] = {29,0x13FFFFD9}, + [I(105,135)] = {28,0x37FFFD9}, + [I(106,135)] = {30,0x3A7FFFD9}, + [I(107,135)] = {30,0x3AFFFFD9}, + [I(108,135)] = {29,0x147FFFD9}, + [I(109,135)] = {29,0x14FFFFD9}, + [I(110,135)] = {29,0x157FFFD9}, + [I(111,135)] = {28,0x3FFFFD9}, + [I(112,135)] = {29,0x15FFFFD9}, + [I(113,135)] = {30,0x3B7FFFD9}, + [I(114,135)] = {29,0x167FFFD9}, + [I(115,135)] = {28,0x47FFFD9}, + [I(116,135)] = {28,0x4FFFFD9}, + [I(117,135)] = {29,0x16FFFFD9}, + [I(118,135)] = {30,0x3BFFFFD9}, + [I(119,135)] = {30,0x3C7FFFD9}, + [I(120,135)] = {30,0x3CFFFFD9}, + [I(121,135)] = {30,0x3D7FFFD9}, + [I(122,135)] = {30,0x3DFFFFD9}, + [I(123,135)] = {64,0}, + [I(124,135)] = {64,0}, + [I(125,135)] = {64,0}, + [I(126,135)] = {64,0}, + [I(127,135)] = {64,0}, + [I(128,135)] = {64,0}, + [I(129,135)] = {64,0}, + [I(130,135)] = {64,0}, + [I(131,135)] = {64,0}, + [I(132,135)] = {64,0}, + [I(133,135)] = {64,0}, + [I(134,135)] = {64,0}, + [I(135,135)] = {64,0}, + [I(136,135)] = {64,0}, + [I(137,135)] = {64,0}, + [I(138,135)] = {64,0}, + [I(139,135)] = {64,0}, + [I(140,135)] = {64,0}, + [I(141,135)] = {64,0}, + [I(142,135)] = {64,0}, + [I(143,135)] = {64,0}, + [I(144,135)] = {64,0}, + [I(145,135)] = {64,0}, + [I(146,135)] = {64,0}, + [I(147,135)] = {64,0}, + [I(148,135)] = {64,0}, + [I(149,135)] = {64,0}, + [I(150,135)] = {64,0}, + [I(151,135)] = {64,0}, + [I(152,135)] = {64,0}, + [I(153,135)] = {64,0}, + [I(154,135)] = {64,0}, + [I(155,135)] = {64,0}, + [I(156,135)] = {64,0}, + [I(157,135)] = {64,0}, + [I(158,135)] = {64,0}, + [I(159,135)] = {64,0}, + [I(160,135)] = {64,0}, + [I(161,135)] = {64,0}, + [I(162,135)] = {64,0}, + [I(163,135)] = {64,0}, + [I(164,135)] = {64,0}, + [I(165,135)] = {64,0}, + [I(166,135)] = {64,0}, + [I(167,135)] = {64,0}, + [I(168,135)] = {64,0}, + [I(169,135)] = {64,0}, + [I(170,135)] = {64,0}, + [I(171,135)] = {64,0}, + [I(172,135)] = {64,0}, + [I(173,135)] = {64,0}, + [I(174,135)] = {64,0}, + [I(175,135)] = {64,0}, + [I(176,135)] = {64,0}, + [I(177,135)] = {64,0}, + [I(178,135)] = {64,0}, + [I(179,135)] = {64,0}, + [I(180,135)] = {64,0}, + [I(181,135)] = {64,0}, + [I(182,135)] = {64,0}, + [I(183,135)] = {64,0}, + [I(184,135)] = {64,0}, + [I(185,135)] = {64,0}, + [I(186,135)] = {64,0}, + [I(187,135)] = {64,0}, + [I(188,135)] = {64,0}, + [I(189,135)] = {64,0}, + [I(190,135)] = {64,0}, + [I(191,135)] = {64,0}, + [I(192,135)] = {64,0}, + [I(193,135)] = {64,0}, + [I(194,135)] = {64,0}, + [I(195,135)] = {64,0}, + [I(196,135)] = {64,0}, + [I(197,135)] = {64,0}, + [I(198,135)] = {64,0}, + [I(199,135)] = {64,0}, + [I(200,135)] = {64,0}, + [I(201,135)] = {64,0}, + [I(202,135)] = {64,0}, + [I(203,135)] = {64,0}, + [I(204,135)] = {64,0}, + [I(205,135)] = {64,0}, + [I(206,135)] = {64,0}, + [I(207,135)] = {64,0}, + [I(208,135)] = {64,0}, + [I(209,135)] = {64,0}, + [I(210,135)] = {64,0}, + [I(211,135)] = {64,0}, + [I(212,135)] = {64,0}, + [I(213,135)] = {64,0}, + [I(214,135)] = {64,0}, + [I(215,135)] = {64,0}, + [I(216,135)] = {64,0}, + [I(217,135)] = {64,0}, + [I(218,135)] = {64,0}, + [I(219,135)] = {64,0}, + [I(220,135)] = {64,0}, + [I(221,135)] = {64,0}, + [I(222,135)] = {64,0}, + [I(223,135)] = {64,0}, + [I(224,135)] = {64,0}, + [I(225,135)] = {64,0}, + [I(226,135)] = {64,0}, + [I(227,135)] = {64,0}, + [I(228,135)] = {64,0}, + [I(229,135)] = {64,0}, + [I(230,135)] = {64,0}, + [I(231,135)] = {64,0}, + [I(232,135)] = {64,0}, + [I(233,135)] = {64,0}, + [I(234,135)] = {64,0}, + [I(235,135)] = {64,0}, + [I(236,135)] = {64,0}, + [I(237,135)] = {64,0}, + [I(238,135)] = {64,0}, + [I(239,135)] = {64,0}, + [I(240,135)] = {64,0}, + [I(241,135)] = {64,0}, + [I(242,135)] = {64,0}, + [I(243,135)] = {64,0}, + [I(244,135)] = {64,0}, + [I(245,135)] = {64,0}, + [I(246,135)] = {64,0}, + [I(247,135)] = {64,0}, + [I(248,135)] = {64,0}, + [I(249,135)] = {64,0}, + [I(250,135)] = {64,0}, + [I(251,135)] = {64,0}, + [I(252,135)] = {64,0}, + [I(253,135)] = {64,0}, + [I(254,135)] = {64,0}, + [I(255,135)] = {64,0}, + [I(0,136)] = {64,0}, + [I(1,136)] = {64,0}, + [I(2,136)] = {64,0}, + [I(3,136)] = {64,0}, + [I(4,136)] = {64,0}, + [I(5,136)] = {64,0}, + [I(6,136)] = {64,0}, + [I(7,136)] = {64,0}, + [I(8,136)] = {64,0}, + [I(9,136)] = {64,0}, + [I(10,136)] = {64,0}, + [I(11,136)] = {64,0}, + [I(12,136)] = {64,0}, + [I(13,136)] = {64,0}, + [I(14,136)] = {64,0}, + [I(15,136)] = {64,0}, + [I(16,136)] = {64,0}, + [I(17,136)] = {64,0}, + [I(18,136)] = {64,0}, + [I(19,136)] = {64,0}, + [I(20,136)] = {64,0}, + [I(21,136)] = {64,0}, + [I(22,136)] = {64,0}, + [I(23,136)] = {64,0}, + [I(24,136)] = {64,0}, + [I(25,136)] = {64,0}, + [I(26,136)] = {64,0}, + [I(27,136)] = {64,0}, + [I(28,136)] = {64,0}, + [I(29,136)] = {64,0}, + [I(30,136)] = {64,0}, + [I(31,136)] = {64,0}, + [I(32,136)] = {28,0x53FFFD6}, + [I(33,136)] = {X32,0xFE3FFFD6}, + [I(34,136)] = {X32,0xFE7FFFD6}, + [I(35,136)] = {64,0}, + [I(36,136)] = {64,0}, + [I(37,136)] = {28,0x57FFFD6}, + [I(38,136)] = {30,0x3E3FFFD6}, + [I(39,136)] = {64,0}, + [I(40,136)] = {X32,0xFEBFFFD6}, + [I(41,136)] = {X32,0xFEFFFFD6}, + [I(42,136)] = {30,0x3E7FFFD6}, + [I(43,136)] = {64,0}, + [I(44,136)] = {30,0x3EBFFFD6}, + [I(45,136)] = {28,0x5BFFFD6}, + [I(46,136)] = {28,0x5FFFFD6}, + [I(47,136)] = {28,0x63FFFD6}, + [I(48,136)] = {27,0x3FFFD6}, + [I(49,136)] = {27,0x7FFFD6}, + [I(50,136)] = {27,0xBFFFD6}, + [I(51,136)] = {28,0x67FFFD6}, + [I(52,136)] = {28,0x6BFFFD6}, + [I(53,136)] = {28,0x6FFFFD6}, + [I(54,136)] = {28,0x73FFFD6}, + [I(55,136)] = {28,0x77FFFD6}, + [I(56,136)] = {28,0x7BFFFD6}, + [I(57,136)] = {28,0x7FFFFD6}, + [I(58,136)] = {29,0x173FFFD6}, + [I(59,136)] = {30,0x3EFFFFD6}, + [I(60,136)] = {64,0}, + [I(61,136)] = {28,0x83FFFD6}, + [I(62,136)] = {64,0}, + [I(63,136)] = {X32,0xFF3FFFD6}, + [I(64,136)] = {64,0}, + [I(65,136)] = {28,0x87FFFD6}, + [I(66,136)] = {29,0x177FFFD6}, + [I(67,136)] = {29,0x17BFFFD6}, + [I(68,136)] = {29,0x17FFFFD6}, + [I(69,136)] = {29,0x183FFFD6}, + [I(70,136)] = {29,0x187FFFD6}, + [I(71,136)] = {29,0x18BFFFD6}, + [I(72,136)] = {29,0x18FFFFD6}, + [I(73,136)] = {29,0x193FFFD6}, + [I(74,136)] = {29,0x197FFFD6}, + [I(75,136)] = {29,0x19BFFFD6}, + [I(76,136)] = {29,0x19FFFFD6}, + [I(77,136)] = {29,0x1A3FFFD6}, + [I(78,136)] = {29,0x1A7FFFD6}, + [I(79,136)] = {29,0x1ABFFFD6}, + [I(80,136)] = {29,0x1AFFFFD6}, + [I(81,136)] = {29,0x1B3FFFD6}, + [I(82,136)] = {29,0x1B7FFFD6}, + [I(83,136)] = {29,0x1BBFFFD6}, + [I(84,136)] = {29,0x1BFFFFD6}, + [I(85,136)] = {29,0x1C3FFFD6}, + [I(86,136)] = {29,0x1C7FFFD6}, + [I(87,136)] = {29,0x1CBFFFD6}, + [I(88,136)] = {30,0x3F3FFFD6}, + [I(89,136)] = {29,0x1CFFFFD6}, + [I(90,136)] = {30,0x3F7FFFD6}, + [I(91,136)] = {64,0}, + [I(92,136)] = {64,0}, + [I(93,136)] = {64,0}, + [I(94,136)] = {64,0}, + [I(95,136)] = {28,0x8BFFFD6}, + [I(96,136)] = {64,0}, + [I(97,136)] = {27,0xFFFFD6}, + [I(98,136)] = {28,0x8FFFFD6}, + [I(99,136)] = {27,0x13FFFD6}, + [I(100,136)] = {28,0x93FFFD6}, + [I(101,136)] = {27,0x17FFFD6}, + [I(102,136)] = {28,0x97FFFD6}, + [I(103,136)] = {28,0x9BFFFD6}, + [I(104,136)] = {28,0x9FFFFD6}, + [I(105,136)] = {27,0x1BFFFD6}, + [I(106,136)] = {29,0x1D3FFFD6}, + [I(107,136)] = {29,0x1D7FFFD6}, + [I(108,136)] = {28,0xA3FFFD6}, + [I(109,136)] = {28,0xA7FFFD6}, + [I(110,136)] = {28,0xABFFFD6}, + [I(111,136)] = {27,0x1FFFFD6}, + [I(112,136)] = {28,0xAFFFFD6}, + [I(113,136)] = {29,0x1DBFFFD6}, + [I(114,136)] = {28,0xB3FFFD6}, + [I(115,136)] = {27,0x23FFFD6}, + [I(116,136)] = {27,0x27FFFD6}, + [I(117,136)] = {28,0xB7FFFD6}, + [I(118,136)] = {29,0x1DFFFFD6}, + [I(119,136)] = {29,0x1E3FFFD6}, + [I(120,136)] = {29,0x1E7FFFD6}, + [I(121,136)] = {29,0x1EBFFFD6}, + [I(122,136)] = {29,0x1EFFFFD6}, + [I(123,136)] = {64,0}, + [I(124,136)] = {64,0}, + [I(125,136)] = {64,0}, + [I(126,136)] = {64,0}, + [I(127,136)] = {64,0}, + [I(128,136)] = {64,0}, + [I(129,136)] = {64,0}, + [I(130,136)] = {64,0}, + [I(131,136)] = {64,0}, + [I(132,136)] = {64,0}, + [I(133,136)] = {64,0}, + [I(134,136)] = {64,0}, + [I(135,136)] = {64,0}, + [I(136,136)] = {64,0}, + [I(137,136)] = {64,0}, + [I(138,136)] = {64,0}, + [I(139,136)] = {64,0}, + [I(140,136)] = {64,0}, + [I(141,136)] = {64,0}, + [I(142,136)] = {64,0}, + [I(143,136)] = {64,0}, + [I(144,136)] = {64,0}, + [I(145,136)] = {64,0}, + [I(146,136)] = {64,0}, + [I(147,136)] = {64,0}, + [I(148,136)] = {64,0}, + [I(149,136)] = {64,0}, + [I(150,136)] = {64,0}, + [I(151,136)] = {64,0}, + [I(152,136)] = {64,0}, + [I(153,136)] = {64,0}, + [I(154,136)] = {64,0}, + [I(155,136)] = {64,0}, + [I(156,136)] = {64,0}, + [I(157,136)] = {64,0}, + [I(158,136)] = {64,0}, + [I(159,136)] = {64,0}, + [I(160,136)] = {64,0}, + [I(161,136)] = {64,0}, + [I(162,136)] = {64,0}, + [I(163,136)] = {64,0}, + [I(164,136)] = {64,0}, + [I(165,136)] = {64,0}, + [I(166,136)] = {64,0}, + [I(167,136)] = {64,0}, + [I(168,136)] = {64,0}, + [I(169,136)] = {64,0}, + [I(170,136)] = {64,0}, + [I(171,136)] = {64,0}, + [I(172,136)] = {64,0}, + [I(173,136)] = {64,0}, + [I(174,136)] = {64,0}, + [I(175,136)] = {64,0}, + [I(176,136)] = {64,0}, + [I(177,136)] = {64,0}, + [I(178,136)] = {64,0}, + [I(179,136)] = {64,0}, + [I(180,136)] = {64,0}, + [I(181,136)] = {64,0}, + [I(182,136)] = {64,0}, + [I(183,136)] = {64,0}, + [I(184,136)] = {64,0}, + [I(185,136)] = {64,0}, + [I(186,136)] = {64,0}, + [I(187,136)] = {64,0}, + [I(188,136)] = {64,0}, + [I(189,136)] = {64,0}, + [I(190,136)] = {64,0}, + [I(191,136)] = {64,0}, + [I(192,136)] = {64,0}, + [I(193,136)] = {64,0}, + [I(194,136)] = {64,0}, + [I(195,136)] = {64,0}, + [I(196,136)] = {64,0}, + [I(197,136)] = {64,0}, + [I(198,136)] = {64,0}, + [I(199,136)] = {64,0}, + [I(200,136)] = {64,0}, + [I(201,136)] = {64,0}, + [I(202,136)] = {64,0}, + [I(203,136)] = {64,0}, + [I(204,136)] = {64,0}, + [I(205,136)] = {64,0}, + [I(206,136)] = {64,0}, + [I(207,136)] = {64,0}, + [I(208,136)] = {64,0}, + [I(209,136)] = {64,0}, + [I(210,136)] = {64,0}, + [I(211,136)] = {64,0}, + [I(212,136)] = {64,0}, + [I(213,136)] = {64,0}, + [I(214,136)] = {64,0}, + [I(215,136)] = {64,0}, + [I(216,136)] = {64,0}, + [I(217,136)] = {64,0}, + [I(218,136)] = {64,0}, + [I(219,136)] = {64,0}, + [I(220,136)] = {64,0}, + [I(221,136)] = {64,0}, + [I(222,136)] = {64,0}, + [I(223,136)] = {64,0}, + [I(224,136)] = {64,0}, + [I(225,136)] = {64,0}, + [I(226,136)] = {64,0}, + [I(227,136)] = {64,0}, + [I(228,136)] = {64,0}, + [I(229,136)] = {64,0}, + [I(230,136)] = {64,0}, + [I(231,136)] = {64,0}, + [I(232,136)] = {64,0}, + [I(233,136)] = {64,0}, + [I(234,136)] = {64,0}, + [I(235,136)] = {64,0}, + [I(236,136)] = {64,0}, + [I(237,136)] = {64,0}, + [I(238,136)] = {64,0}, + [I(239,136)] = {64,0}, + [I(240,136)] = {64,0}, + [I(241,136)] = {64,0}, + [I(242,136)] = {64,0}, + [I(243,136)] = {64,0}, + [I(244,136)] = {64,0}, + [I(245,136)] = {64,0}, + [I(246,136)] = {64,0}, + [I(247,136)] = {64,0}, + [I(248,136)] = {64,0}, + [I(249,136)] = {64,0}, + [I(250,136)] = {64,0}, + [I(251,136)] = {64,0}, + [I(252,136)] = {64,0}, + [I(253,136)] = {64,0}, + [I(254,136)] = {64,0}, + [I(255,136)] = {64,0}, + [I(0,137)] = {64,0}, + [I(1,137)] = {64,0}, + [I(2,137)] = {64,0}, + [I(3,137)] = {64,0}, + [I(4,137)] = {64,0}, + [I(5,137)] = {64,0}, + [I(6,137)] = {64,0}, + [I(7,137)] = {64,0}, + [I(8,137)] = {64,0}, + [I(9,137)] = {64,0}, + [I(10,137)] = {64,0}, + [I(11,137)] = {64,0}, + [I(12,137)] = {64,0}, + [I(13,137)] = {64,0}, + [I(14,137)] = {64,0}, + [I(15,137)] = {64,0}, + [I(16,137)] = {64,0}, + [I(17,137)] = {64,0}, + [I(18,137)] = {64,0}, + [I(19,137)] = {64,0}, + [I(20,137)] = {64,0}, + [I(21,137)] = {64,0}, + [I(22,137)] = {64,0}, + [I(23,137)] = {64,0}, + [I(24,137)] = {64,0}, + [I(25,137)] = {64,0}, + [I(26,137)] = {64,0}, + [I(27,137)] = {64,0}, + [I(28,137)] = {64,0}, + [I(29,137)] = {64,0}, + [I(30,137)] = {64,0}, + [I(31,137)] = {64,0}, + [I(32,137)] = {29,0xA7FFFDA}, + [I(33,137)] = {64,0}, + [I(34,137)] = {64,0}, + [I(35,137)] = {64,0}, + [I(36,137)] = {64,0}, + [I(37,137)] = {29,0xAFFFFDA}, + [I(38,137)] = {31,0x7C7FFFDA}, + [I(39,137)] = {64,0}, + [I(40,137)] = {64,0}, + [I(41,137)] = {64,0}, + [I(42,137)] = {31,0x7CFFFFDA}, + [I(43,137)] = {64,0}, + [I(44,137)] = {31,0x7D7FFFDA}, + [I(45,137)] = {29,0xB7FFFDA}, + [I(46,137)] = {29,0xBFFFFDA}, + [I(47,137)] = {29,0xC7FFFDA}, + [I(48,137)] = {28,0x7FFFDA}, + [I(49,137)] = {28,0xFFFFDA}, + [I(50,137)] = {28,0x17FFFDA}, + [I(51,137)] = {29,0xCFFFFDA}, + [I(52,137)] = {29,0xD7FFFDA}, + [I(53,137)] = {29,0xDFFFFDA}, + [I(54,137)] = {29,0xE7FFFDA}, + [I(55,137)] = {29,0xEFFFFDA}, + [I(56,137)] = {29,0xF7FFFDA}, + [I(57,137)] = {29,0xFFFFFDA}, + [I(58,137)] = {30,0x2E7FFFDA}, + [I(59,137)] = {31,0x7DFFFFDA}, + [I(60,137)] = {64,0}, + [I(61,137)] = {29,0x107FFFDA}, + [I(62,137)] = {64,0}, + [I(63,137)] = {64,0}, + [I(64,137)] = {64,0}, + [I(65,137)] = {29,0x10FFFFDA}, + [I(66,137)] = {30,0x2EFFFFDA}, + [I(67,137)] = {30,0x2F7FFFDA}, + [I(68,137)] = {30,0x2FFFFFDA}, + [I(69,137)] = {30,0x307FFFDA}, + [I(70,137)] = {30,0x30FFFFDA}, + [I(71,137)] = {30,0x317FFFDA}, + [I(72,137)] = {30,0x31FFFFDA}, + [I(73,137)] = {30,0x327FFFDA}, + [I(74,137)] = {30,0x32FFFFDA}, + [I(75,137)] = {30,0x337FFFDA}, + [I(76,137)] = {30,0x33FFFFDA}, + [I(77,137)] = {30,0x347FFFDA}, + [I(78,137)] = {30,0x34FFFFDA}, + [I(79,137)] = {30,0x357FFFDA}, + [I(80,137)] = {30,0x35FFFFDA}, + [I(81,137)] = {30,0x367FFFDA}, + [I(82,137)] = {30,0x36FFFFDA}, + [I(83,137)] = {30,0x377FFFDA}, + [I(84,137)] = {30,0x37FFFFDA}, + [I(85,137)] = {30,0x387FFFDA}, + [I(86,137)] = {30,0x38FFFFDA}, + [I(87,137)] = {30,0x397FFFDA}, + [I(88,137)] = {31,0x7E7FFFDA}, + [I(89,137)] = {30,0x39FFFFDA}, + [I(90,137)] = {31,0x7EFFFFDA}, + [I(91,137)] = {64,0}, + [I(92,137)] = {64,0}, + [I(93,137)] = {64,0}, + [I(94,137)] = {64,0}, + [I(95,137)] = {29,0x117FFFDA}, + [I(96,137)] = {64,0}, + [I(97,137)] = {28,0x1FFFFDA}, + [I(98,137)] = {29,0x11FFFFDA}, + [I(99,137)] = {28,0x27FFFDA}, + [I(100,137)] = {29,0x127FFFDA}, + [I(101,137)] = {28,0x2FFFFDA}, + [I(102,137)] = {29,0x12FFFFDA}, + [I(103,137)] = {29,0x137FFFDA}, + [I(104,137)] = {29,0x13FFFFDA}, + [I(105,137)] = {28,0x37FFFDA}, + [I(106,137)] = {30,0x3A7FFFDA}, + [I(107,137)] = {30,0x3AFFFFDA}, + [I(108,137)] = {29,0x147FFFDA}, + [I(109,137)] = {29,0x14FFFFDA}, + [I(110,137)] = {29,0x157FFFDA}, + [I(111,137)] = {28,0x3FFFFDA}, + [I(112,137)] = {29,0x15FFFFDA}, + [I(113,137)] = {30,0x3B7FFFDA}, + [I(114,137)] = {29,0x167FFFDA}, + [I(115,137)] = {28,0x47FFFDA}, + [I(116,137)] = {28,0x4FFFFDA}, + [I(117,137)] = {29,0x16FFFFDA}, + [I(118,137)] = {30,0x3BFFFFDA}, + [I(119,137)] = {30,0x3C7FFFDA}, + [I(120,137)] = {30,0x3CFFFFDA}, + [I(121,137)] = {30,0x3D7FFFDA}, + [I(122,137)] = {30,0x3DFFFFDA}, + [I(123,137)] = {64,0}, + [I(124,137)] = {64,0}, + [I(125,137)] = {64,0}, + [I(126,137)] = {64,0}, + [I(127,137)] = {64,0}, + [I(128,137)] = {64,0}, + [I(129,137)] = {64,0}, + [I(130,137)] = {64,0}, + [I(131,137)] = {64,0}, + [I(132,137)] = {64,0}, + [I(133,137)] = {64,0}, + [I(134,137)] = {64,0}, + [I(135,137)] = {64,0}, + [I(136,137)] = {64,0}, + [I(137,137)] = {64,0}, + [I(138,137)] = {64,0}, + [I(139,137)] = {64,0}, + [I(140,137)] = {64,0}, + [I(141,137)] = {64,0}, + [I(142,137)] = {64,0}, + [I(143,137)] = {64,0}, + [I(144,137)] = {64,0}, + [I(145,137)] = {64,0}, + [I(146,137)] = {64,0}, + [I(147,137)] = {64,0}, + [I(148,137)] = {64,0}, + [I(149,137)] = {64,0}, + [I(150,137)] = {64,0}, + [I(151,137)] = {64,0}, + [I(152,137)] = {64,0}, + [I(153,137)] = {64,0}, + [I(154,137)] = {64,0}, + [I(155,137)] = {64,0}, + [I(156,137)] = {64,0}, + [I(157,137)] = {64,0}, + [I(158,137)] = {64,0}, + [I(159,137)] = {64,0}, + [I(160,137)] = {64,0}, + [I(161,137)] = {64,0}, + [I(162,137)] = {64,0}, + [I(163,137)] = {64,0}, + [I(164,137)] = {64,0}, + [I(165,137)] = {64,0}, + [I(166,137)] = {64,0}, + [I(167,137)] = {64,0}, + [I(168,137)] = {64,0}, + [I(169,137)] = {64,0}, + [I(170,137)] = {64,0}, + [I(171,137)] = {64,0}, + [I(172,137)] = {64,0}, + [I(173,137)] = {64,0}, + [I(174,137)] = {64,0}, + [I(175,137)] = {64,0}, + [I(176,137)] = {64,0}, + [I(177,137)] = {64,0}, + [I(178,137)] = {64,0}, + [I(179,137)] = {64,0}, + [I(180,137)] = {64,0}, + [I(181,137)] = {64,0}, + [I(182,137)] = {64,0}, + [I(183,137)] = {64,0}, + [I(184,137)] = {64,0}, + [I(185,137)] = {64,0}, + [I(186,137)] = {64,0}, + [I(187,137)] = {64,0}, + [I(188,137)] = {64,0}, + [I(189,137)] = {64,0}, + [I(190,137)] = {64,0}, + [I(191,137)] = {64,0}, + [I(192,137)] = {64,0}, + [I(193,137)] = {64,0}, + [I(194,137)] = {64,0}, + [I(195,137)] = {64,0}, + [I(196,137)] = {64,0}, + [I(197,137)] = {64,0}, + [I(198,137)] = {64,0}, + [I(199,137)] = {64,0}, + [I(200,137)] = {64,0}, + [I(201,137)] = {64,0}, + [I(202,137)] = {64,0}, + [I(203,137)] = {64,0}, + [I(204,137)] = {64,0}, + [I(205,137)] = {64,0}, + [I(206,137)] = {64,0}, + [I(207,137)] = {64,0}, + [I(208,137)] = {64,0}, + [I(209,137)] = {64,0}, + [I(210,137)] = {64,0}, + [I(211,137)] = {64,0}, + [I(212,137)] = {64,0}, + [I(213,137)] = {64,0}, + [I(214,137)] = {64,0}, + [I(215,137)] = {64,0}, + [I(216,137)] = {64,0}, + [I(217,137)] = {64,0}, + [I(218,137)] = {64,0}, + [I(219,137)] = {64,0}, + [I(220,137)] = {64,0}, + [I(221,137)] = {64,0}, + [I(222,137)] = {64,0}, + [I(223,137)] = {64,0}, + [I(224,137)] = {64,0}, + [I(225,137)] = {64,0}, + [I(226,137)] = {64,0}, + [I(227,137)] = {64,0}, + [I(228,137)] = {64,0}, + [I(229,137)] = {64,0}, + [I(230,137)] = {64,0}, + [I(231,137)] = {64,0}, + [I(232,137)] = {64,0}, + [I(233,137)] = {64,0}, + [I(234,137)] = {64,0}, + [I(235,137)] = {64,0}, + [I(236,137)] = {64,0}, + [I(237,137)] = {64,0}, + [I(238,137)] = {64,0}, + [I(239,137)] = {64,0}, + [I(240,137)] = {64,0}, + [I(241,137)] = {64,0}, + [I(242,137)] = {64,0}, + [I(243,137)] = {64,0}, + [I(244,137)] = {64,0}, + [I(245,137)] = {64,0}, + [I(246,137)] = {64,0}, + [I(247,137)] = {64,0}, + [I(248,137)] = {64,0}, + [I(249,137)] = {64,0}, + [I(250,137)] = {64,0}, + [I(251,137)] = {64,0}, + [I(252,137)] = {64,0}, + [I(253,137)] = {64,0}, + [I(254,137)] = {64,0}, + [I(255,137)] = {64,0}, + [I(0,138)] = {64,0}, + [I(1,138)] = {64,0}, + [I(2,138)] = {64,0}, + [I(3,138)] = {64,0}, + [I(4,138)] = {64,0}, + [I(5,138)] = {64,0}, + [I(6,138)] = {64,0}, + [I(7,138)] = {64,0}, + [I(8,138)] = {64,0}, + [I(9,138)] = {64,0}, + [I(10,138)] = {64,0}, + [I(11,138)] = {64,0}, + [I(12,138)] = {64,0}, + [I(13,138)] = {64,0}, + [I(14,138)] = {64,0}, + [I(15,138)] = {64,0}, + [I(16,138)] = {64,0}, + [I(17,138)] = {64,0}, + [I(18,138)] = {64,0}, + [I(19,138)] = {64,0}, + [I(20,138)] = {64,0}, + [I(21,138)] = {64,0}, + [I(22,138)] = {64,0}, + [I(23,138)] = {64,0}, + [I(24,138)] = {64,0}, + [I(25,138)] = {64,0}, + [I(26,138)] = {64,0}, + [I(27,138)] = {64,0}, + [I(28,138)] = {64,0}, + [I(29,138)] = {64,0}, + [I(30,138)] = {64,0}, + [I(31,138)] = {64,0}, + [I(32,138)] = {29,0xA7FFFDB}, + [I(33,138)] = {64,0}, + [I(34,138)] = {64,0}, + [I(35,138)] = {64,0}, + [I(36,138)] = {64,0}, + [I(37,138)] = {29,0xAFFFFDB}, + [I(38,138)] = {31,0x7C7FFFDB}, + [I(39,138)] = {64,0}, + [I(40,138)] = {64,0}, + [I(41,138)] = {64,0}, + [I(42,138)] = {31,0x7CFFFFDB}, + [I(43,138)] = {64,0}, + [I(44,138)] = {31,0x7D7FFFDB}, + [I(45,138)] = {29,0xB7FFFDB}, + [I(46,138)] = {29,0xBFFFFDB}, + [I(47,138)] = {29,0xC7FFFDB}, + [I(48,138)] = {28,0x7FFFDB}, + [I(49,138)] = {28,0xFFFFDB}, + [I(50,138)] = {28,0x17FFFDB}, + [I(51,138)] = {29,0xCFFFFDB}, + [I(52,138)] = {29,0xD7FFFDB}, + [I(53,138)] = {29,0xDFFFFDB}, + [I(54,138)] = {29,0xE7FFFDB}, + [I(55,138)] = {29,0xEFFFFDB}, + [I(56,138)] = {29,0xF7FFFDB}, + [I(57,138)] = {29,0xFFFFFDB}, + [I(58,138)] = {30,0x2E7FFFDB}, + [I(59,138)] = {31,0x7DFFFFDB}, + [I(60,138)] = {64,0}, + [I(61,138)] = {29,0x107FFFDB}, + [I(62,138)] = {64,0}, + [I(63,138)] = {64,0}, + [I(64,138)] = {64,0}, + [I(65,138)] = {29,0x10FFFFDB}, + [I(66,138)] = {30,0x2EFFFFDB}, + [I(67,138)] = {30,0x2F7FFFDB}, + [I(68,138)] = {30,0x2FFFFFDB}, + [I(69,138)] = {30,0x307FFFDB}, + [I(70,138)] = {30,0x30FFFFDB}, + [I(71,138)] = {30,0x317FFFDB}, + [I(72,138)] = {30,0x31FFFFDB}, + [I(73,138)] = {30,0x327FFFDB}, + [I(74,138)] = {30,0x32FFFFDB}, + [I(75,138)] = {30,0x337FFFDB}, + [I(76,138)] = {30,0x33FFFFDB}, + [I(77,138)] = {30,0x347FFFDB}, + [I(78,138)] = {30,0x34FFFFDB}, + [I(79,138)] = {30,0x357FFFDB}, + [I(80,138)] = {30,0x35FFFFDB}, + [I(81,138)] = {30,0x367FFFDB}, + [I(82,138)] = {30,0x36FFFFDB}, + [I(83,138)] = {30,0x377FFFDB}, + [I(84,138)] = {30,0x37FFFFDB}, + [I(85,138)] = {30,0x387FFFDB}, + [I(86,138)] = {30,0x38FFFFDB}, + [I(87,138)] = {30,0x397FFFDB}, + [I(88,138)] = {31,0x7E7FFFDB}, + [I(89,138)] = {30,0x39FFFFDB}, + [I(90,138)] = {31,0x7EFFFFDB}, + [I(91,138)] = {64,0}, + [I(92,138)] = {64,0}, + [I(93,138)] = {64,0}, + [I(94,138)] = {64,0}, + [I(95,138)] = {29,0x117FFFDB}, + [I(96,138)] = {64,0}, + [I(97,138)] = {28,0x1FFFFDB}, + [I(98,138)] = {29,0x11FFFFDB}, + [I(99,138)] = {28,0x27FFFDB}, + [I(100,138)] = {29,0x127FFFDB}, + [I(101,138)] = {28,0x2FFFFDB}, + [I(102,138)] = {29,0x12FFFFDB}, + [I(103,138)] = {29,0x137FFFDB}, + [I(104,138)] = {29,0x13FFFFDB}, + [I(105,138)] = {28,0x37FFFDB}, + [I(106,138)] = {30,0x3A7FFFDB}, + [I(107,138)] = {30,0x3AFFFFDB}, + [I(108,138)] = {29,0x147FFFDB}, + [I(109,138)] = {29,0x14FFFFDB}, + [I(110,138)] = {29,0x157FFFDB}, + [I(111,138)] = {28,0x3FFFFDB}, + [I(112,138)] = {29,0x15FFFFDB}, + [I(113,138)] = {30,0x3B7FFFDB}, + [I(114,138)] = {29,0x167FFFDB}, + [I(115,138)] = {28,0x47FFFDB}, + [I(116,138)] = {28,0x4FFFFDB}, + [I(117,138)] = {29,0x16FFFFDB}, + [I(118,138)] = {30,0x3BFFFFDB}, + [I(119,138)] = {30,0x3C7FFFDB}, + [I(120,138)] = {30,0x3CFFFFDB}, + [I(121,138)] = {30,0x3D7FFFDB}, + [I(122,138)] = {30,0x3DFFFFDB}, + [I(123,138)] = {64,0}, + [I(124,138)] = {64,0}, + [I(125,138)] = {64,0}, + [I(126,138)] = {64,0}, + [I(127,138)] = {64,0}, + [I(128,138)] = {64,0}, + [I(129,138)] = {64,0}, + [I(130,138)] = {64,0}, + [I(131,138)] = {64,0}, + [I(132,138)] = {64,0}, + [I(133,138)] = {64,0}, + [I(134,138)] = {64,0}, + [I(135,138)] = {64,0}, + [I(136,138)] = {64,0}, + [I(137,138)] = {64,0}, + [I(138,138)] = {64,0}, + [I(139,138)] = {64,0}, + [I(140,138)] = {64,0}, + [I(141,138)] = {64,0}, + [I(142,138)] = {64,0}, + [I(143,138)] = {64,0}, + [I(144,138)] = {64,0}, + [I(145,138)] = {64,0}, + [I(146,138)] = {64,0}, + [I(147,138)] = {64,0}, + [I(148,138)] = {64,0}, + [I(149,138)] = {64,0}, + [I(150,138)] = {64,0}, + [I(151,138)] = {64,0}, + [I(152,138)] = {64,0}, + [I(153,138)] = {64,0}, + [I(154,138)] = {64,0}, + [I(155,138)] = {64,0}, + [I(156,138)] = {64,0}, + [I(157,138)] = {64,0}, + [I(158,138)] = {64,0}, + [I(159,138)] = {64,0}, + [I(160,138)] = {64,0}, + [I(161,138)] = {64,0}, + [I(162,138)] = {64,0}, + [I(163,138)] = {64,0}, + [I(164,138)] = {64,0}, + [I(165,138)] = {64,0}, + [I(166,138)] = {64,0}, + [I(167,138)] = {64,0}, + [I(168,138)] = {64,0}, + [I(169,138)] = {64,0}, + [I(170,138)] = {64,0}, + [I(171,138)] = {64,0}, + [I(172,138)] = {64,0}, + [I(173,138)] = {64,0}, + [I(174,138)] = {64,0}, + [I(175,138)] = {64,0}, + [I(176,138)] = {64,0}, + [I(177,138)] = {64,0}, + [I(178,138)] = {64,0}, + [I(179,138)] = {64,0}, + [I(180,138)] = {64,0}, + [I(181,138)] = {64,0}, + [I(182,138)] = {64,0}, + [I(183,138)] = {64,0}, + [I(184,138)] = {64,0}, + [I(185,138)] = {64,0}, + [I(186,138)] = {64,0}, + [I(187,138)] = {64,0}, + [I(188,138)] = {64,0}, + [I(189,138)] = {64,0}, + [I(190,138)] = {64,0}, + [I(191,138)] = {64,0}, + [I(192,138)] = {64,0}, + [I(193,138)] = {64,0}, + [I(194,138)] = {64,0}, + [I(195,138)] = {64,0}, + [I(196,138)] = {64,0}, + [I(197,138)] = {64,0}, + [I(198,138)] = {64,0}, + [I(199,138)] = {64,0}, + [I(200,138)] = {64,0}, + [I(201,138)] = {64,0}, + [I(202,138)] = {64,0}, + [I(203,138)] = {64,0}, + [I(204,138)] = {64,0}, + [I(205,138)] = {64,0}, + [I(206,138)] = {64,0}, + [I(207,138)] = {64,0}, + [I(208,138)] = {64,0}, + [I(209,138)] = {64,0}, + [I(210,138)] = {64,0}, + [I(211,138)] = {64,0}, + [I(212,138)] = {64,0}, + [I(213,138)] = {64,0}, + [I(214,138)] = {64,0}, + [I(215,138)] = {64,0}, + [I(216,138)] = {64,0}, + [I(217,138)] = {64,0}, + [I(218,138)] = {64,0}, + [I(219,138)] = {64,0}, + [I(220,138)] = {64,0}, + [I(221,138)] = {64,0}, + [I(222,138)] = {64,0}, + [I(223,138)] = {64,0}, + [I(224,138)] = {64,0}, + [I(225,138)] = {64,0}, + [I(226,138)] = {64,0}, + [I(227,138)] = {64,0}, + [I(228,138)] = {64,0}, + [I(229,138)] = {64,0}, + [I(230,138)] = {64,0}, + [I(231,138)] = {64,0}, + [I(232,138)] = {64,0}, + [I(233,138)] = {64,0}, + [I(234,138)] = {64,0}, + [I(235,138)] = {64,0}, + [I(236,138)] = {64,0}, + [I(237,138)] = {64,0}, + [I(238,138)] = {64,0}, + [I(239,138)] = {64,0}, + [I(240,138)] = {64,0}, + [I(241,138)] = {64,0}, + [I(242,138)] = {64,0}, + [I(243,138)] = {64,0}, + [I(244,138)] = {64,0}, + [I(245,138)] = {64,0}, + [I(246,138)] = {64,0}, + [I(247,138)] = {64,0}, + [I(248,138)] = {64,0}, + [I(249,138)] = {64,0}, + [I(250,138)] = {64,0}, + [I(251,138)] = {64,0}, + [I(252,138)] = {64,0}, + [I(253,138)] = {64,0}, + [I(254,138)] = {64,0}, + [I(255,138)] = {64,0}, + [I(0,139)] = {64,0}, + [I(1,139)] = {64,0}, + [I(2,139)] = {64,0}, + [I(3,139)] = {64,0}, + [I(4,139)] = {64,0}, + [I(5,139)] = {64,0}, + [I(6,139)] = {64,0}, + [I(7,139)] = {64,0}, + [I(8,139)] = {64,0}, + [I(9,139)] = {64,0}, + [I(10,139)] = {64,0}, + [I(11,139)] = {64,0}, + [I(12,139)] = {64,0}, + [I(13,139)] = {64,0}, + [I(14,139)] = {64,0}, + [I(15,139)] = {64,0}, + [I(16,139)] = {64,0}, + [I(17,139)] = {64,0}, + [I(18,139)] = {64,0}, + [I(19,139)] = {64,0}, + [I(20,139)] = {64,0}, + [I(21,139)] = {64,0}, + [I(22,139)] = {64,0}, + [I(23,139)] = {64,0}, + [I(24,139)] = {64,0}, + [I(25,139)] = {64,0}, + [I(26,139)] = {64,0}, + [I(27,139)] = {64,0}, + [I(28,139)] = {64,0}, + [I(29,139)] = {64,0}, + [I(30,139)] = {64,0}, + [I(31,139)] = {64,0}, + [I(32,139)] = {29,0xA7FFFDC}, + [I(33,139)] = {64,0}, + [I(34,139)] = {64,0}, + [I(35,139)] = {64,0}, + [I(36,139)] = {64,0}, + [I(37,139)] = {29,0xAFFFFDC}, + [I(38,139)] = {31,0x7C7FFFDC}, + [I(39,139)] = {64,0}, + [I(40,139)] = {64,0}, + [I(41,139)] = {64,0}, + [I(42,139)] = {31,0x7CFFFFDC}, + [I(43,139)] = {64,0}, + [I(44,139)] = {31,0x7D7FFFDC}, + [I(45,139)] = {29,0xB7FFFDC}, + [I(46,139)] = {29,0xBFFFFDC}, + [I(47,139)] = {29,0xC7FFFDC}, + [I(48,139)] = {28,0x7FFFDC}, + [I(49,139)] = {28,0xFFFFDC}, + [I(50,139)] = {28,0x17FFFDC}, + [I(51,139)] = {29,0xCFFFFDC}, + [I(52,139)] = {29,0xD7FFFDC}, + [I(53,139)] = {29,0xDFFFFDC}, + [I(54,139)] = {29,0xE7FFFDC}, + [I(55,139)] = {29,0xEFFFFDC}, + [I(56,139)] = {29,0xF7FFFDC}, + [I(57,139)] = {29,0xFFFFFDC}, + [I(58,139)] = {30,0x2E7FFFDC}, + [I(59,139)] = {31,0x7DFFFFDC}, + [I(60,139)] = {64,0}, + [I(61,139)] = {29,0x107FFFDC}, + [I(62,139)] = {64,0}, + [I(63,139)] = {64,0}, + [I(64,139)] = {64,0}, + [I(65,139)] = {29,0x10FFFFDC}, + [I(66,139)] = {30,0x2EFFFFDC}, + [I(67,139)] = {30,0x2F7FFFDC}, + [I(68,139)] = {30,0x2FFFFFDC}, + [I(69,139)] = {30,0x307FFFDC}, + [I(70,139)] = {30,0x30FFFFDC}, + [I(71,139)] = {30,0x317FFFDC}, + [I(72,139)] = {30,0x31FFFFDC}, + [I(73,139)] = {30,0x327FFFDC}, + [I(74,139)] = {30,0x32FFFFDC}, + [I(75,139)] = {30,0x337FFFDC}, + [I(76,139)] = {30,0x33FFFFDC}, + [I(77,139)] = {30,0x347FFFDC}, + [I(78,139)] = {30,0x34FFFFDC}, + [I(79,139)] = {30,0x357FFFDC}, + [I(80,139)] = {30,0x35FFFFDC}, + [I(81,139)] = {30,0x367FFFDC}, + [I(82,139)] = {30,0x36FFFFDC}, + [I(83,139)] = {30,0x377FFFDC}, + [I(84,139)] = {30,0x37FFFFDC}, + [I(85,139)] = {30,0x387FFFDC}, + [I(86,139)] = {30,0x38FFFFDC}, + [I(87,139)] = {30,0x397FFFDC}, + [I(88,139)] = {31,0x7E7FFFDC}, + [I(89,139)] = {30,0x39FFFFDC}, + [I(90,139)] = {31,0x7EFFFFDC}, + [I(91,139)] = {64,0}, + [I(92,139)] = {64,0}, + [I(93,139)] = {64,0}, + [I(94,139)] = {64,0}, + [I(95,139)] = {29,0x117FFFDC}, + [I(96,139)] = {64,0}, + [I(97,139)] = {28,0x1FFFFDC}, + [I(98,139)] = {29,0x11FFFFDC}, + [I(99,139)] = {28,0x27FFFDC}, + [I(100,139)] = {29,0x127FFFDC}, + [I(101,139)] = {28,0x2FFFFDC}, + [I(102,139)] = {29,0x12FFFFDC}, + [I(103,139)] = {29,0x137FFFDC}, + [I(104,139)] = {29,0x13FFFFDC}, + [I(105,139)] = {28,0x37FFFDC}, + [I(106,139)] = {30,0x3A7FFFDC}, + [I(107,139)] = {30,0x3AFFFFDC}, + [I(108,139)] = {29,0x147FFFDC}, + [I(109,139)] = {29,0x14FFFFDC}, + [I(110,139)] = {29,0x157FFFDC}, + [I(111,139)] = {28,0x3FFFFDC}, + [I(112,139)] = {29,0x15FFFFDC}, + [I(113,139)] = {30,0x3B7FFFDC}, + [I(114,139)] = {29,0x167FFFDC}, + [I(115,139)] = {28,0x47FFFDC}, + [I(116,139)] = {28,0x4FFFFDC}, + [I(117,139)] = {29,0x16FFFFDC}, + [I(118,139)] = {30,0x3BFFFFDC}, + [I(119,139)] = {30,0x3C7FFFDC}, + [I(120,139)] = {30,0x3CFFFFDC}, + [I(121,139)] = {30,0x3D7FFFDC}, + [I(122,139)] = {30,0x3DFFFFDC}, + [I(123,139)] = {64,0}, + [I(124,139)] = {64,0}, + [I(125,139)] = {64,0}, + [I(126,139)] = {64,0}, + [I(127,139)] = {64,0}, + [I(128,139)] = {64,0}, + [I(129,139)] = {64,0}, + [I(130,139)] = {64,0}, + [I(131,139)] = {64,0}, + [I(132,139)] = {64,0}, + [I(133,139)] = {64,0}, + [I(134,139)] = {64,0}, + [I(135,139)] = {64,0}, + [I(136,139)] = {64,0}, + [I(137,139)] = {64,0}, + [I(138,139)] = {64,0}, + [I(139,139)] = {64,0}, + [I(140,139)] = {64,0}, + [I(141,139)] = {64,0}, + [I(142,139)] = {64,0}, + [I(143,139)] = {64,0}, + [I(144,139)] = {64,0}, + [I(145,139)] = {64,0}, + [I(146,139)] = {64,0}, + [I(147,139)] = {64,0}, + [I(148,139)] = {64,0}, + [I(149,139)] = {64,0}, + [I(150,139)] = {64,0}, + [I(151,139)] = {64,0}, + [I(152,139)] = {64,0}, + [I(153,139)] = {64,0}, + [I(154,139)] = {64,0}, + [I(155,139)] = {64,0}, + [I(156,139)] = {64,0}, + [I(157,139)] = {64,0}, + [I(158,139)] = {64,0}, + [I(159,139)] = {64,0}, + [I(160,139)] = {64,0}, + [I(161,139)] = {64,0}, + [I(162,139)] = {64,0}, + [I(163,139)] = {64,0}, + [I(164,139)] = {64,0}, + [I(165,139)] = {64,0}, + [I(166,139)] = {64,0}, + [I(167,139)] = {64,0}, + [I(168,139)] = {64,0}, + [I(169,139)] = {64,0}, + [I(170,139)] = {64,0}, + [I(171,139)] = {64,0}, + [I(172,139)] = {64,0}, + [I(173,139)] = {64,0}, + [I(174,139)] = {64,0}, + [I(175,139)] = {64,0}, + [I(176,139)] = {64,0}, + [I(177,139)] = {64,0}, + [I(178,139)] = {64,0}, + [I(179,139)] = {64,0}, + [I(180,139)] = {64,0}, + [I(181,139)] = {64,0}, + [I(182,139)] = {64,0}, + [I(183,139)] = {64,0}, + [I(184,139)] = {64,0}, + [I(185,139)] = {64,0}, + [I(186,139)] = {64,0}, + [I(187,139)] = {64,0}, + [I(188,139)] = {64,0}, + [I(189,139)] = {64,0}, + [I(190,139)] = {64,0}, + [I(191,139)] = {64,0}, + [I(192,139)] = {64,0}, + [I(193,139)] = {64,0}, + [I(194,139)] = {64,0}, + [I(195,139)] = {64,0}, + [I(196,139)] = {64,0}, + [I(197,139)] = {64,0}, + [I(198,139)] = {64,0}, + [I(199,139)] = {64,0}, + [I(200,139)] = {64,0}, + [I(201,139)] = {64,0}, + [I(202,139)] = {64,0}, + [I(203,139)] = {64,0}, + [I(204,139)] = {64,0}, + [I(205,139)] = {64,0}, + [I(206,139)] = {64,0}, + [I(207,139)] = {64,0}, + [I(208,139)] = {64,0}, + [I(209,139)] = {64,0}, + [I(210,139)] = {64,0}, + [I(211,139)] = {64,0}, + [I(212,139)] = {64,0}, + [I(213,139)] = {64,0}, + [I(214,139)] = {64,0}, + [I(215,139)] = {64,0}, + [I(216,139)] = {64,0}, + [I(217,139)] = {64,0}, + [I(218,139)] = {64,0}, + [I(219,139)] = {64,0}, + [I(220,139)] = {64,0}, + [I(221,139)] = {64,0}, + [I(222,139)] = {64,0}, + [I(223,139)] = {64,0}, + [I(224,139)] = {64,0}, + [I(225,139)] = {64,0}, + [I(226,139)] = {64,0}, + [I(227,139)] = {64,0}, + [I(228,139)] = {64,0}, + [I(229,139)] = {64,0}, + [I(230,139)] = {64,0}, + [I(231,139)] = {64,0}, + [I(232,139)] = {64,0}, + [I(233,139)] = {64,0}, + [I(234,139)] = {64,0}, + [I(235,139)] = {64,0}, + [I(236,139)] = {64,0}, + [I(237,139)] = {64,0}, + [I(238,139)] = {64,0}, + [I(239,139)] = {64,0}, + [I(240,139)] = {64,0}, + [I(241,139)] = {64,0}, + [I(242,139)] = {64,0}, + [I(243,139)] = {64,0}, + [I(244,139)] = {64,0}, + [I(245,139)] = {64,0}, + [I(246,139)] = {64,0}, + [I(247,139)] = {64,0}, + [I(248,139)] = {64,0}, + [I(249,139)] = {64,0}, + [I(250,139)] = {64,0}, + [I(251,139)] = {64,0}, + [I(252,139)] = {64,0}, + [I(253,139)] = {64,0}, + [I(254,139)] = {64,0}, + [I(255,139)] = {64,0}, + [I(0,140)] = {64,0}, + [I(1,140)] = {64,0}, + [I(2,140)] = {64,0}, + [I(3,140)] = {64,0}, + [I(4,140)] = {64,0}, + [I(5,140)] = {64,0}, + [I(6,140)] = {64,0}, + [I(7,140)] = {64,0}, + [I(8,140)] = {64,0}, + [I(9,140)] = {64,0}, + [I(10,140)] = {64,0}, + [I(11,140)] = {64,0}, + [I(12,140)] = {64,0}, + [I(13,140)] = {64,0}, + [I(14,140)] = {64,0}, + [I(15,140)] = {64,0}, + [I(16,140)] = {64,0}, + [I(17,140)] = {64,0}, + [I(18,140)] = {64,0}, + [I(19,140)] = {64,0}, + [I(20,140)] = {64,0}, + [I(21,140)] = {64,0}, + [I(22,140)] = {64,0}, + [I(23,140)] = {64,0}, + [I(24,140)] = {64,0}, + [I(25,140)] = {64,0}, + [I(26,140)] = {64,0}, + [I(27,140)] = {64,0}, + [I(28,140)] = {64,0}, + [I(29,140)] = {64,0}, + [I(30,140)] = {64,0}, + [I(31,140)] = {64,0}, + [I(32,140)] = {29,0xA7FFFDD}, + [I(33,140)] = {64,0}, + [I(34,140)] = {64,0}, + [I(35,140)] = {64,0}, + [I(36,140)] = {64,0}, + [I(37,140)] = {29,0xAFFFFDD}, + [I(38,140)] = {31,0x7C7FFFDD}, + [I(39,140)] = {64,0}, + [I(40,140)] = {64,0}, + [I(41,140)] = {64,0}, + [I(42,140)] = {31,0x7CFFFFDD}, + [I(43,140)] = {64,0}, + [I(44,140)] = {31,0x7D7FFFDD}, + [I(45,140)] = {29,0xB7FFFDD}, + [I(46,140)] = {29,0xBFFFFDD}, + [I(47,140)] = {29,0xC7FFFDD}, + [I(48,140)] = {28,0x7FFFDD}, + [I(49,140)] = {28,0xFFFFDD}, + [I(50,140)] = {28,0x17FFFDD}, + [I(51,140)] = {29,0xCFFFFDD}, + [I(52,140)] = {29,0xD7FFFDD}, + [I(53,140)] = {29,0xDFFFFDD}, + [I(54,140)] = {29,0xE7FFFDD}, + [I(55,140)] = {29,0xEFFFFDD}, + [I(56,140)] = {29,0xF7FFFDD}, + [I(57,140)] = {29,0xFFFFFDD}, + [I(58,140)] = {30,0x2E7FFFDD}, + [I(59,140)] = {31,0x7DFFFFDD}, + [I(60,140)] = {64,0}, + [I(61,140)] = {29,0x107FFFDD}, + [I(62,140)] = {64,0}, + [I(63,140)] = {64,0}, + [I(64,140)] = {64,0}, + [I(65,140)] = {29,0x10FFFFDD}, + [I(66,140)] = {30,0x2EFFFFDD}, + [I(67,140)] = {30,0x2F7FFFDD}, + [I(68,140)] = {30,0x2FFFFFDD}, + [I(69,140)] = {30,0x307FFFDD}, + [I(70,140)] = {30,0x30FFFFDD}, + [I(71,140)] = {30,0x317FFFDD}, + [I(72,140)] = {30,0x31FFFFDD}, + [I(73,140)] = {30,0x327FFFDD}, + [I(74,140)] = {30,0x32FFFFDD}, + [I(75,140)] = {30,0x337FFFDD}, + [I(76,140)] = {30,0x33FFFFDD}, + [I(77,140)] = {30,0x347FFFDD}, + [I(78,140)] = {30,0x34FFFFDD}, + [I(79,140)] = {30,0x357FFFDD}, + [I(80,140)] = {30,0x35FFFFDD}, + [I(81,140)] = {30,0x367FFFDD}, + [I(82,140)] = {30,0x36FFFFDD}, + [I(83,140)] = {30,0x377FFFDD}, + [I(84,140)] = {30,0x37FFFFDD}, + [I(85,140)] = {30,0x387FFFDD}, + [I(86,140)] = {30,0x38FFFFDD}, + [I(87,140)] = {30,0x397FFFDD}, + [I(88,140)] = {31,0x7E7FFFDD}, + [I(89,140)] = {30,0x39FFFFDD}, + [I(90,140)] = {31,0x7EFFFFDD}, + [I(91,140)] = {64,0}, + [I(92,140)] = {64,0}, + [I(93,140)] = {64,0}, + [I(94,140)] = {64,0}, + [I(95,140)] = {29,0x117FFFDD}, + [I(96,140)] = {64,0}, + [I(97,140)] = {28,0x1FFFFDD}, + [I(98,140)] = {29,0x11FFFFDD}, + [I(99,140)] = {28,0x27FFFDD}, + [I(100,140)] = {29,0x127FFFDD}, + [I(101,140)] = {28,0x2FFFFDD}, + [I(102,140)] = {29,0x12FFFFDD}, + [I(103,140)] = {29,0x137FFFDD}, + [I(104,140)] = {29,0x13FFFFDD}, + [I(105,140)] = {28,0x37FFFDD}, + [I(106,140)] = {30,0x3A7FFFDD}, + [I(107,140)] = {30,0x3AFFFFDD}, + [I(108,140)] = {29,0x147FFFDD}, + [I(109,140)] = {29,0x14FFFFDD}, + [I(110,140)] = {29,0x157FFFDD}, + [I(111,140)] = {28,0x3FFFFDD}, + [I(112,140)] = {29,0x15FFFFDD}, + [I(113,140)] = {30,0x3B7FFFDD}, + [I(114,140)] = {29,0x167FFFDD}, + [I(115,140)] = {28,0x47FFFDD}, + [I(116,140)] = {28,0x4FFFFDD}, + [I(117,140)] = {29,0x16FFFFDD}, + [I(118,140)] = {30,0x3BFFFFDD}, + [I(119,140)] = {30,0x3C7FFFDD}, + [I(120,140)] = {30,0x3CFFFFDD}, + [I(121,140)] = {30,0x3D7FFFDD}, + [I(122,140)] = {30,0x3DFFFFDD}, + [I(123,140)] = {64,0}, + [I(124,140)] = {64,0}, + [I(125,140)] = {64,0}, + [I(126,140)] = {64,0}, + [I(127,140)] = {64,0}, + [I(128,140)] = {64,0}, + [I(129,140)] = {64,0}, + [I(130,140)] = {64,0}, + [I(131,140)] = {64,0}, + [I(132,140)] = {64,0}, + [I(133,140)] = {64,0}, + [I(134,140)] = {64,0}, + [I(135,140)] = {64,0}, + [I(136,140)] = {64,0}, + [I(137,140)] = {64,0}, + [I(138,140)] = {64,0}, + [I(139,140)] = {64,0}, + [I(140,140)] = {64,0}, + [I(141,140)] = {64,0}, + [I(142,140)] = {64,0}, + [I(143,140)] = {64,0}, + [I(144,140)] = {64,0}, + [I(145,140)] = {64,0}, + [I(146,140)] = {64,0}, + [I(147,140)] = {64,0}, + [I(148,140)] = {64,0}, + [I(149,140)] = {64,0}, + [I(150,140)] = {64,0}, + [I(151,140)] = {64,0}, + [I(152,140)] = {64,0}, + [I(153,140)] = {64,0}, + [I(154,140)] = {64,0}, + [I(155,140)] = {64,0}, + [I(156,140)] = {64,0}, + [I(157,140)] = {64,0}, + [I(158,140)] = {64,0}, + [I(159,140)] = {64,0}, + [I(160,140)] = {64,0}, + [I(161,140)] = {64,0}, + [I(162,140)] = {64,0}, + [I(163,140)] = {64,0}, + [I(164,140)] = {64,0}, + [I(165,140)] = {64,0}, + [I(166,140)] = {64,0}, + [I(167,140)] = {64,0}, + [I(168,140)] = {64,0}, + [I(169,140)] = {64,0}, + [I(170,140)] = {64,0}, + [I(171,140)] = {64,0}, + [I(172,140)] = {64,0}, + [I(173,140)] = {64,0}, + [I(174,140)] = {64,0}, + [I(175,140)] = {64,0}, + [I(176,140)] = {64,0}, + [I(177,140)] = {64,0}, + [I(178,140)] = {64,0}, + [I(179,140)] = {64,0}, + [I(180,140)] = {64,0}, + [I(181,140)] = {64,0}, + [I(182,140)] = {64,0}, + [I(183,140)] = {64,0}, + [I(184,140)] = {64,0}, + [I(185,140)] = {64,0}, + [I(186,140)] = {64,0}, + [I(187,140)] = {64,0}, + [I(188,140)] = {64,0}, + [I(189,140)] = {64,0}, + [I(190,140)] = {64,0}, + [I(191,140)] = {64,0}, + [I(192,140)] = {64,0}, + [I(193,140)] = {64,0}, + [I(194,140)] = {64,0}, + [I(195,140)] = {64,0}, + [I(196,140)] = {64,0}, + [I(197,140)] = {64,0}, + [I(198,140)] = {64,0}, + [I(199,140)] = {64,0}, + [I(200,140)] = {64,0}, + [I(201,140)] = {64,0}, + [I(202,140)] = {64,0}, + [I(203,140)] = {64,0}, + [I(204,140)] = {64,0}, + [I(205,140)] = {64,0}, + [I(206,140)] = {64,0}, + [I(207,140)] = {64,0}, + [I(208,140)] = {64,0}, + [I(209,140)] = {64,0}, + [I(210,140)] = {64,0}, + [I(211,140)] = {64,0}, + [I(212,140)] = {64,0}, + [I(213,140)] = {64,0}, + [I(214,140)] = {64,0}, + [I(215,140)] = {64,0}, + [I(216,140)] = {64,0}, + [I(217,140)] = {64,0}, + [I(218,140)] = {64,0}, + [I(219,140)] = {64,0}, + [I(220,140)] = {64,0}, + [I(221,140)] = {64,0}, + [I(222,140)] = {64,0}, + [I(223,140)] = {64,0}, + [I(224,140)] = {64,0}, + [I(225,140)] = {64,0}, + [I(226,140)] = {64,0}, + [I(227,140)] = {64,0}, + [I(228,140)] = {64,0}, + [I(229,140)] = {64,0}, + [I(230,140)] = {64,0}, + [I(231,140)] = {64,0}, + [I(232,140)] = {64,0}, + [I(233,140)] = {64,0}, + [I(234,140)] = {64,0}, + [I(235,140)] = {64,0}, + [I(236,140)] = {64,0}, + [I(237,140)] = {64,0}, + [I(238,140)] = {64,0}, + [I(239,140)] = {64,0}, + [I(240,140)] = {64,0}, + [I(241,140)] = {64,0}, + [I(242,140)] = {64,0}, + [I(243,140)] = {64,0}, + [I(244,140)] = {64,0}, + [I(245,140)] = {64,0}, + [I(246,140)] = {64,0}, + [I(247,140)] = {64,0}, + [I(248,140)] = {64,0}, + [I(249,140)] = {64,0}, + [I(250,140)] = {64,0}, + [I(251,140)] = {64,0}, + [I(252,140)] = {64,0}, + [I(253,140)] = {64,0}, + [I(254,140)] = {64,0}, + [I(255,140)] = {64,0}, + [I(0,141)] = {64,0}, + [I(1,141)] = {64,0}, + [I(2,141)] = {64,0}, + [I(3,141)] = {64,0}, + [I(4,141)] = {64,0}, + [I(5,141)] = {64,0}, + [I(6,141)] = {64,0}, + [I(7,141)] = {64,0}, + [I(8,141)] = {64,0}, + [I(9,141)] = {64,0}, + [I(10,141)] = {64,0}, + [I(11,141)] = {64,0}, + [I(12,141)] = {64,0}, + [I(13,141)] = {64,0}, + [I(14,141)] = {64,0}, + [I(15,141)] = {64,0}, + [I(16,141)] = {64,0}, + [I(17,141)] = {64,0}, + [I(18,141)] = {64,0}, + [I(19,141)] = {64,0}, + [I(20,141)] = {64,0}, + [I(21,141)] = {64,0}, + [I(22,141)] = {64,0}, + [I(23,141)] = {64,0}, + [I(24,141)] = {64,0}, + [I(25,141)] = {64,0}, + [I(26,141)] = {64,0}, + [I(27,141)] = {64,0}, + [I(28,141)] = {64,0}, + [I(29,141)] = {64,0}, + [I(30,141)] = {64,0}, + [I(31,141)] = {64,0}, + [I(32,141)] = {29,0xA7FFFDE}, + [I(33,141)] = {64,0}, + [I(34,141)] = {64,0}, + [I(35,141)] = {64,0}, + [I(36,141)] = {64,0}, + [I(37,141)] = {29,0xAFFFFDE}, + [I(38,141)] = {31,0x7C7FFFDE}, + [I(39,141)] = {64,0}, + [I(40,141)] = {64,0}, + [I(41,141)] = {64,0}, + [I(42,141)] = {31,0x7CFFFFDE}, + [I(43,141)] = {64,0}, + [I(44,141)] = {31,0x7D7FFFDE}, + [I(45,141)] = {29,0xB7FFFDE}, + [I(46,141)] = {29,0xBFFFFDE}, + [I(47,141)] = {29,0xC7FFFDE}, + [I(48,141)] = {28,0x7FFFDE}, + [I(49,141)] = {28,0xFFFFDE}, + [I(50,141)] = {28,0x17FFFDE}, + [I(51,141)] = {29,0xCFFFFDE}, + [I(52,141)] = {29,0xD7FFFDE}, + [I(53,141)] = {29,0xDFFFFDE}, + [I(54,141)] = {29,0xE7FFFDE}, + [I(55,141)] = {29,0xEFFFFDE}, + [I(56,141)] = {29,0xF7FFFDE}, + [I(57,141)] = {29,0xFFFFFDE}, + [I(58,141)] = {30,0x2E7FFFDE}, + [I(59,141)] = {31,0x7DFFFFDE}, + [I(60,141)] = {64,0}, + [I(61,141)] = {29,0x107FFFDE}, + [I(62,141)] = {64,0}, + [I(63,141)] = {64,0}, + [I(64,141)] = {64,0}, + [I(65,141)] = {29,0x10FFFFDE}, + [I(66,141)] = {30,0x2EFFFFDE}, + [I(67,141)] = {30,0x2F7FFFDE}, + [I(68,141)] = {30,0x2FFFFFDE}, + [I(69,141)] = {30,0x307FFFDE}, + [I(70,141)] = {30,0x30FFFFDE}, + [I(71,141)] = {30,0x317FFFDE}, + [I(72,141)] = {30,0x31FFFFDE}, + [I(73,141)] = {30,0x327FFFDE}, + [I(74,141)] = {30,0x32FFFFDE}, + [I(75,141)] = {30,0x337FFFDE}, + [I(76,141)] = {30,0x33FFFFDE}, + [I(77,141)] = {30,0x347FFFDE}, + [I(78,141)] = {30,0x34FFFFDE}, + [I(79,141)] = {30,0x357FFFDE}, + [I(80,141)] = {30,0x35FFFFDE}, + [I(81,141)] = {30,0x367FFFDE}, + [I(82,141)] = {30,0x36FFFFDE}, + [I(83,141)] = {30,0x377FFFDE}, + [I(84,141)] = {30,0x37FFFFDE}, + [I(85,141)] = {30,0x387FFFDE}, + [I(86,141)] = {30,0x38FFFFDE}, + [I(87,141)] = {30,0x397FFFDE}, + [I(88,141)] = {31,0x7E7FFFDE}, + [I(89,141)] = {30,0x39FFFFDE}, + [I(90,141)] = {31,0x7EFFFFDE}, + [I(91,141)] = {64,0}, + [I(92,141)] = {64,0}, + [I(93,141)] = {64,0}, + [I(94,141)] = {64,0}, + [I(95,141)] = {29,0x117FFFDE}, + [I(96,141)] = {64,0}, + [I(97,141)] = {28,0x1FFFFDE}, + [I(98,141)] = {29,0x11FFFFDE}, + [I(99,141)] = {28,0x27FFFDE}, + [I(100,141)] = {29,0x127FFFDE}, + [I(101,141)] = {28,0x2FFFFDE}, + [I(102,141)] = {29,0x12FFFFDE}, + [I(103,141)] = {29,0x137FFFDE}, + [I(104,141)] = {29,0x13FFFFDE}, + [I(105,141)] = {28,0x37FFFDE}, + [I(106,141)] = {30,0x3A7FFFDE}, + [I(107,141)] = {30,0x3AFFFFDE}, + [I(108,141)] = {29,0x147FFFDE}, + [I(109,141)] = {29,0x14FFFFDE}, + [I(110,141)] = {29,0x157FFFDE}, + [I(111,141)] = {28,0x3FFFFDE}, + [I(112,141)] = {29,0x15FFFFDE}, + [I(113,141)] = {30,0x3B7FFFDE}, + [I(114,141)] = {29,0x167FFFDE}, + [I(115,141)] = {28,0x47FFFDE}, + [I(116,141)] = {28,0x4FFFFDE}, + [I(117,141)] = {29,0x16FFFFDE}, + [I(118,141)] = {30,0x3BFFFFDE}, + [I(119,141)] = {30,0x3C7FFFDE}, + [I(120,141)] = {30,0x3CFFFFDE}, + [I(121,141)] = {30,0x3D7FFFDE}, + [I(122,141)] = {30,0x3DFFFFDE}, + [I(123,141)] = {64,0}, + [I(124,141)] = {64,0}, + [I(125,141)] = {64,0}, + [I(126,141)] = {64,0}, + [I(127,141)] = {64,0}, + [I(128,141)] = {64,0}, + [I(129,141)] = {64,0}, + [I(130,141)] = {64,0}, + [I(131,141)] = {64,0}, + [I(132,141)] = {64,0}, + [I(133,141)] = {64,0}, + [I(134,141)] = {64,0}, + [I(135,141)] = {64,0}, + [I(136,141)] = {64,0}, + [I(137,141)] = {64,0}, + [I(138,141)] = {64,0}, + [I(139,141)] = {64,0}, + [I(140,141)] = {64,0}, + [I(141,141)] = {64,0}, + [I(142,141)] = {64,0}, + [I(143,141)] = {64,0}, + [I(144,141)] = {64,0}, + [I(145,141)] = {64,0}, + [I(146,141)] = {64,0}, + [I(147,141)] = {64,0}, + [I(148,141)] = {64,0}, + [I(149,141)] = {64,0}, + [I(150,141)] = {64,0}, + [I(151,141)] = {64,0}, + [I(152,141)] = {64,0}, + [I(153,141)] = {64,0}, + [I(154,141)] = {64,0}, + [I(155,141)] = {64,0}, + [I(156,141)] = {64,0}, + [I(157,141)] = {64,0}, + [I(158,141)] = {64,0}, + [I(159,141)] = {64,0}, + [I(160,141)] = {64,0}, + [I(161,141)] = {64,0}, + [I(162,141)] = {64,0}, + [I(163,141)] = {64,0}, + [I(164,141)] = {64,0}, + [I(165,141)] = {64,0}, + [I(166,141)] = {64,0}, + [I(167,141)] = {64,0}, + [I(168,141)] = {64,0}, + [I(169,141)] = {64,0}, + [I(170,141)] = {64,0}, + [I(171,141)] = {64,0}, + [I(172,141)] = {64,0}, + [I(173,141)] = {64,0}, + [I(174,141)] = {64,0}, + [I(175,141)] = {64,0}, + [I(176,141)] = {64,0}, + [I(177,141)] = {64,0}, + [I(178,141)] = {64,0}, + [I(179,141)] = {64,0}, + [I(180,141)] = {64,0}, + [I(181,141)] = {64,0}, + [I(182,141)] = {64,0}, + [I(183,141)] = {64,0}, + [I(184,141)] = {64,0}, + [I(185,141)] = {64,0}, + [I(186,141)] = {64,0}, + [I(187,141)] = {64,0}, + [I(188,141)] = {64,0}, + [I(189,141)] = {64,0}, + [I(190,141)] = {64,0}, + [I(191,141)] = {64,0}, + [I(192,141)] = {64,0}, + [I(193,141)] = {64,0}, + [I(194,141)] = {64,0}, + [I(195,141)] = {64,0}, + [I(196,141)] = {64,0}, + [I(197,141)] = {64,0}, + [I(198,141)] = {64,0}, + [I(199,141)] = {64,0}, + [I(200,141)] = {64,0}, + [I(201,141)] = {64,0}, + [I(202,141)] = {64,0}, + [I(203,141)] = {64,0}, + [I(204,141)] = {64,0}, + [I(205,141)] = {64,0}, + [I(206,141)] = {64,0}, + [I(207,141)] = {64,0}, + [I(208,141)] = {64,0}, + [I(209,141)] = {64,0}, + [I(210,141)] = {64,0}, + [I(211,141)] = {64,0}, + [I(212,141)] = {64,0}, + [I(213,141)] = {64,0}, + [I(214,141)] = {64,0}, + [I(215,141)] = {64,0}, + [I(216,141)] = {64,0}, + [I(217,141)] = {64,0}, + [I(218,141)] = {64,0}, + [I(219,141)] = {64,0}, + [I(220,141)] = {64,0}, + [I(221,141)] = {64,0}, + [I(222,141)] = {64,0}, + [I(223,141)] = {64,0}, + [I(224,141)] = {64,0}, + [I(225,141)] = {64,0}, + [I(226,141)] = {64,0}, + [I(227,141)] = {64,0}, + [I(228,141)] = {64,0}, + [I(229,141)] = {64,0}, + [I(230,141)] = {64,0}, + [I(231,141)] = {64,0}, + [I(232,141)] = {64,0}, + [I(233,141)] = {64,0}, + [I(234,141)] = {64,0}, + [I(235,141)] = {64,0}, + [I(236,141)] = {64,0}, + [I(237,141)] = {64,0}, + [I(238,141)] = {64,0}, + [I(239,141)] = {64,0}, + [I(240,141)] = {64,0}, + [I(241,141)] = {64,0}, + [I(242,141)] = {64,0}, + [I(243,141)] = {64,0}, + [I(244,141)] = {64,0}, + [I(245,141)] = {64,0}, + [I(246,141)] = {64,0}, + [I(247,141)] = {64,0}, + [I(248,141)] = {64,0}, + [I(249,141)] = {64,0}, + [I(250,141)] = {64,0}, + [I(251,141)] = {64,0}, + [I(252,141)] = {64,0}, + [I(253,141)] = {64,0}, + [I(254,141)] = {64,0}, + [I(255,141)] = {64,0}, + [I(0,142)] = {64,0}, + [I(1,142)] = {64,0}, + [I(2,142)] = {64,0}, + [I(3,142)] = {64,0}, + [I(4,142)] = {64,0}, + [I(5,142)] = {64,0}, + [I(6,142)] = {64,0}, + [I(7,142)] = {64,0}, + [I(8,142)] = {64,0}, + [I(9,142)] = {64,0}, + [I(10,142)] = {64,0}, + [I(11,142)] = {64,0}, + [I(12,142)] = {64,0}, + [I(13,142)] = {64,0}, + [I(14,142)] = {64,0}, + [I(15,142)] = {64,0}, + [I(16,142)] = {64,0}, + [I(17,142)] = {64,0}, + [I(18,142)] = {64,0}, + [I(19,142)] = {64,0}, + [I(20,142)] = {64,0}, + [I(21,142)] = {64,0}, + [I(22,142)] = {64,0}, + [I(23,142)] = {64,0}, + [I(24,142)] = {64,0}, + [I(25,142)] = {64,0}, + [I(26,142)] = {64,0}, + [I(27,142)] = {64,0}, + [I(28,142)] = {64,0}, + [I(29,142)] = {64,0}, + [I(30,142)] = {64,0}, + [I(31,142)] = {64,0}, + [I(32,142)] = {30,0x14FFFFEB}, + [I(33,142)] = {64,0}, + [I(34,142)] = {64,0}, + [I(35,142)] = {64,0}, + [I(36,142)] = {64,0}, + [I(37,142)] = {30,0x15FFFFEB}, + [I(38,142)] = {X32,0xF8FFFFEB}, + [I(39,142)] = {64,0}, + [I(40,142)] = {64,0}, + [I(41,142)] = {64,0}, + [I(42,142)] = {X32,0xF9FFFFEB}, + [I(43,142)] = {64,0}, + [I(44,142)] = {X32,0xFAFFFFEB}, + [I(45,142)] = {30,0x16FFFFEB}, + [I(46,142)] = {30,0x17FFFFEB}, + [I(47,142)] = {30,0x18FFFFEB}, + [I(48,142)] = {29,0xFFFFEB}, + [I(49,142)] = {29,0x1FFFFEB}, + [I(50,142)] = {29,0x2FFFFEB}, + [I(51,142)] = {30,0x19FFFFEB}, + [I(52,142)] = {30,0x1AFFFFEB}, + [I(53,142)] = {30,0x1BFFFFEB}, + [I(54,142)] = {30,0x1CFFFFEB}, + [I(55,142)] = {30,0x1DFFFFEB}, + [I(56,142)] = {30,0x1EFFFFEB}, + [I(57,142)] = {30,0x1FFFFFEB}, + [I(58,142)] = {31,0x5CFFFFEB}, + [I(59,142)] = {X32,0xFBFFFFEB}, + [I(60,142)] = {64,0}, + [I(61,142)] = {30,0x20FFFFEB}, + [I(62,142)] = {64,0}, + [I(63,142)] = {64,0}, + [I(64,142)] = {64,0}, + [I(65,142)] = {30,0x21FFFFEB}, + [I(66,142)] = {31,0x5DFFFFEB}, + [I(67,142)] = {31,0x5EFFFFEB}, + [I(68,142)] = {31,0x5FFFFFEB}, + [I(69,142)] = {31,0x60FFFFEB}, + [I(70,142)] = {31,0x61FFFFEB}, + [I(71,142)] = {31,0x62FFFFEB}, + [I(72,142)] = {31,0x63FFFFEB}, + [I(73,142)] = {31,0x64FFFFEB}, + [I(74,142)] = {31,0x65FFFFEB}, + [I(75,142)] = {31,0x66FFFFEB}, + [I(76,142)] = {31,0x67FFFFEB}, + [I(77,142)] = {31,0x68FFFFEB}, + [I(78,142)] = {31,0x69FFFFEB}, + [I(79,142)] = {31,0x6AFFFFEB}, + [I(80,142)] = {31,0x6BFFFFEB}, + [I(81,142)] = {31,0x6CFFFFEB}, + [I(82,142)] = {31,0x6DFFFFEB}, + [I(83,142)] = {31,0x6EFFFFEB}, + [I(84,142)] = {31,0x6FFFFFEB}, + [I(85,142)] = {31,0x70FFFFEB}, + [I(86,142)] = {31,0x71FFFFEB}, + [I(87,142)] = {31,0x72FFFFEB}, + [I(88,142)] = {X32,0xFCFFFFEB}, + [I(89,142)] = {31,0x73FFFFEB}, + [I(90,142)] = {X32,0xFDFFFFEB}, + [I(91,142)] = {64,0}, + [I(92,142)] = {64,0}, + [I(93,142)] = {64,0}, + [I(94,142)] = {64,0}, + [I(95,142)] = {30,0x22FFFFEB}, + [I(96,142)] = {64,0}, + [I(97,142)] = {29,0x3FFFFEB}, + [I(98,142)] = {30,0x23FFFFEB}, + [I(99,142)] = {29,0x4FFFFEB}, + [I(100,142)] = {30,0x24FFFFEB}, + [I(101,142)] = {29,0x5FFFFEB}, + [I(102,142)] = {30,0x25FFFFEB}, + [I(103,142)] = {30,0x26FFFFEB}, + [I(104,142)] = {30,0x27FFFFEB}, + [I(105,142)] = {29,0x6FFFFEB}, + [I(106,142)] = {31,0x74FFFFEB}, + [I(107,142)] = {31,0x75FFFFEB}, + [I(108,142)] = {30,0x28FFFFEB}, + [I(109,142)] = {30,0x29FFFFEB}, + [I(110,142)] = {30,0x2AFFFFEB}, + [I(111,142)] = {29,0x7FFFFEB}, + [I(112,142)] = {30,0x2BFFFFEB}, + [I(113,142)] = {31,0x76FFFFEB}, + [I(114,142)] = {30,0x2CFFFFEB}, + [I(115,142)] = {29,0x8FFFFEB}, + [I(116,142)] = {29,0x9FFFFEB}, + [I(117,142)] = {30,0x2DFFFFEB}, + [I(118,142)] = {31,0x77FFFFEB}, + [I(119,142)] = {31,0x78FFFFEB}, + [I(120,142)] = {31,0x79FFFFEB}, + [I(121,142)] = {31,0x7AFFFFEB}, + [I(122,142)] = {31,0x7BFFFFEB}, + [I(123,142)] = {64,0}, + [I(124,142)] = {64,0}, + [I(125,142)] = {64,0}, + [I(126,142)] = {64,0}, + [I(127,142)] = {64,0}, + [I(128,142)] = {64,0}, + [I(129,142)] = {64,0}, + [I(130,142)] = {64,0}, + [I(131,142)] = {64,0}, + [I(132,142)] = {64,0}, + [I(133,142)] = {64,0}, + [I(134,142)] = {64,0}, + [I(135,142)] = {64,0}, + [I(136,142)] = {64,0}, + [I(137,142)] = {64,0}, + [I(138,142)] = {64,0}, + [I(139,142)] = {64,0}, + [I(140,142)] = {64,0}, + [I(141,142)] = {64,0}, + [I(142,142)] = {64,0}, + [I(143,142)] = {64,0}, + [I(144,142)] = {64,0}, + [I(145,142)] = {64,0}, + [I(146,142)] = {64,0}, + [I(147,142)] = {64,0}, + [I(148,142)] = {64,0}, + [I(149,142)] = {64,0}, + [I(150,142)] = {64,0}, + [I(151,142)] = {64,0}, + [I(152,142)] = {64,0}, + [I(153,142)] = {64,0}, + [I(154,142)] = {64,0}, + [I(155,142)] = {64,0}, + [I(156,142)] = {64,0}, + [I(157,142)] = {64,0}, + [I(158,142)] = {64,0}, + [I(159,142)] = {64,0}, + [I(160,142)] = {64,0}, + [I(161,142)] = {64,0}, + [I(162,142)] = {64,0}, + [I(163,142)] = {64,0}, + [I(164,142)] = {64,0}, + [I(165,142)] = {64,0}, + [I(166,142)] = {64,0}, + [I(167,142)] = {64,0}, + [I(168,142)] = {64,0}, + [I(169,142)] = {64,0}, + [I(170,142)] = {64,0}, + [I(171,142)] = {64,0}, + [I(172,142)] = {64,0}, + [I(173,142)] = {64,0}, + [I(174,142)] = {64,0}, + [I(175,142)] = {64,0}, + [I(176,142)] = {64,0}, + [I(177,142)] = {64,0}, + [I(178,142)] = {64,0}, + [I(179,142)] = {64,0}, + [I(180,142)] = {64,0}, + [I(181,142)] = {64,0}, + [I(182,142)] = {64,0}, + [I(183,142)] = {64,0}, + [I(184,142)] = {64,0}, + [I(185,142)] = {64,0}, + [I(186,142)] = {64,0}, + [I(187,142)] = {64,0}, + [I(188,142)] = {64,0}, + [I(189,142)] = {64,0}, + [I(190,142)] = {64,0}, + [I(191,142)] = {64,0}, + [I(192,142)] = {64,0}, + [I(193,142)] = {64,0}, + [I(194,142)] = {64,0}, + [I(195,142)] = {64,0}, + [I(196,142)] = {64,0}, + [I(197,142)] = {64,0}, + [I(198,142)] = {64,0}, + [I(199,142)] = {64,0}, + [I(200,142)] = {64,0}, + [I(201,142)] = {64,0}, + [I(202,142)] = {64,0}, + [I(203,142)] = {64,0}, + [I(204,142)] = {64,0}, + [I(205,142)] = {64,0}, + [I(206,142)] = {64,0}, + [I(207,142)] = {64,0}, + [I(208,142)] = {64,0}, + [I(209,142)] = {64,0}, + [I(210,142)] = {64,0}, + [I(211,142)] = {64,0}, + [I(212,142)] = {64,0}, + [I(213,142)] = {64,0}, + [I(214,142)] = {64,0}, + [I(215,142)] = {64,0}, + [I(216,142)] = {64,0}, + [I(217,142)] = {64,0}, + [I(218,142)] = {64,0}, + [I(219,142)] = {64,0}, + [I(220,142)] = {64,0}, + [I(221,142)] = {64,0}, + [I(222,142)] = {64,0}, + [I(223,142)] = {64,0}, + [I(224,142)] = {64,0}, + [I(225,142)] = {64,0}, + [I(226,142)] = {64,0}, + [I(227,142)] = {64,0}, + [I(228,142)] = {64,0}, + [I(229,142)] = {64,0}, + [I(230,142)] = {64,0}, + [I(231,142)] = {64,0}, + [I(232,142)] = {64,0}, + [I(233,142)] = {64,0}, + [I(234,142)] = {64,0}, + [I(235,142)] = {64,0}, + [I(236,142)] = {64,0}, + [I(237,142)] = {64,0}, + [I(238,142)] = {64,0}, + [I(239,142)] = {64,0}, + [I(240,142)] = {64,0}, + [I(241,142)] = {64,0}, + [I(242,142)] = {64,0}, + [I(243,142)] = {64,0}, + [I(244,142)] = {64,0}, + [I(245,142)] = {64,0}, + [I(246,142)] = {64,0}, + [I(247,142)] = {64,0}, + [I(248,142)] = {64,0}, + [I(249,142)] = {64,0}, + [I(250,142)] = {64,0}, + [I(251,142)] = {64,0}, + [I(252,142)] = {64,0}, + [I(253,142)] = {64,0}, + [I(254,142)] = {64,0}, + [I(255,142)] = {64,0}, + [I(0,143)] = {64,0}, + [I(1,143)] = {64,0}, + [I(2,143)] = {64,0}, + [I(3,143)] = {64,0}, + [I(4,143)] = {64,0}, + [I(5,143)] = {64,0}, + [I(6,143)] = {64,0}, + [I(7,143)] = {64,0}, + [I(8,143)] = {64,0}, + [I(9,143)] = {64,0}, + [I(10,143)] = {64,0}, + [I(11,143)] = {64,0}, + [I(12,143)] = {64,0}, + [I(13,143)] = {64,0}, + [I(14,143)] = {64,0}, + [I(15,143)] = {64,0}, + [I(16,143)] = {64,0}, + [I(17,143)] = {64,0}, + [I(18,143)] = {64,0}, + [I(19,143)] = {64,0}, + [I(20,143)] = {64,0}, + [I(21,143)] = {64,0}, + [I(22,143)] = {64,0}, + [I(23,143)] = {64,0}, + [I(24,143)] = {64,0}, + [I(25,143)] = {64,0}, + [I(26,143)] = {64,0}, + [I(27,143)] = {64,0}, + [I(28,143)] = {64,0}, + [I(29,143)] = {64,0}, + [I(30,143)] = {64,0}, + [I(31,143)] = {64,0}, + [I(32,143)] = {29,0xA7FFFDF}, + [I(33,143)] = {64,0}, + [I(34,143)] = {64,0}, + [I(35,143)] = {64,0}, + [I(36,143)] = {64,0}, + [I(37,143)] = {29,0xAFFFFDF}, + [I(38,143)] = {31,0x7C7FFFDF}, + [I(39,143)] = {64,0}, + [I(40,143)] = {64,0}, + [I(41,143)] = {64,0}, + [I(42,143)] = {31,0x7CFFFFDF}, + [I(43,143)] = {64,0}, + [I(44,143)] = {31,0x7D7FFFDF}, + [I(45,143)] = {29,0xB7FFFDF}, + [I(46,143)] = {29,0xBFFFFDF}, + [I(47,143)] = {29,0xC7FFFDF}, + [I(48,143)] = {28,0x7FFFDF}, + [I(49,143)] = {28,0xFFFFDF}, + [I(50,143)] = {28,0x17FFFDF}, + [I(51,143)] = {29,0xCFFFFDF}, + [I(52,143)] = {29,0xD7FFFDF}, + [I(53,143)] = {29,0xDFFFFDF}, + [I(54,143)] = {29,0xE7FFFDF}, + [I(55,143)] = {29,0xEFFFFDF}, + [I(56,143)] = {29,0xF7FFFDF}, + [I(57,143)] = {29,0xFFFFFDF}, + [I(58,143)] = {30,0x2E7FFFDF}, + [I(59,143)] = {31,0x7DFFFFDF}, + [I(60,143)] = {64,0}, + [I(61,143)] = {29,0x107FFFDF}, + [I(62,143)] = {64,0}, + [I(63,143)] = {64,0}, + [I(64,143)] = {64,0}, + [I(65,143)] = {29,0x10FFFFDF}, + [I(66,143)] = {30,0x2EFFFFDF}, + [I(67,143)] = {30,0x2F7FFFDF}, + [I(68,143)] = {30,0x2FFFFFDF}, + [I(69,143)] = {30,0x307FFFDF}, + [I(70,143)] = {30,0x30FFFFDF}, + [I(71,143)] = {30,0x317FFFDF}, + [I(72,143)] = {30,0x31FFFFDF}, + [I(73,143)] = {30,0x327FFFDF}, + [I(74,143)] = {30,0x32FFFFDF}, + [I(75,143)] = {30,0x337FFFDF}, + [I(76,143)] = {30,0x33FFFFDF}, + [I(77,143)] = {30,0x347FFFDF}, + [I(78,143)] = {30,0x34FFFFDF}, + [I(79,143)] = {30,0x357FFFDF}, + [I(80,143)] = {30,0x35FFFFDF}, + [I(81,143)] = {30,0x367FFFDF}, + [I(82,143)] = {30,0x36FFFFDF}, + [I(83,143)] = {30,0x377FFFDF}, + [I(84,143)] = {30,0x37FFFFDF}, + [I(85,143)] = {30,0x387FFFDF}, + [I(86,143)] = {30,0x38FFFFDF}, + [I(87,143)] = {30,0x397FFFDF}, + [I(88,143)] = {31,0x7E7FFFDF}, + [I(89,143)] = {30,0x39FFFFDF}, + [I(90,143)] = {31,0x7EFFFFDF}, + [I(91,143)] = {64,0}, + [I(92,143)] = {64,0}, + [I(93,143)] = {64,0}, + [I(94,143)] = {64,0}, + [I(95,143)] = {29,0x117FFFDF}, + [I(96,143)] = {64,0}, + [I(97,143)] = {28,0x1FFFFDF}, + [I(98,143)] = {29,0x11FFFFDF}, + [I(99,143)] = {28,0x27FFFDF}, + [I(100,143)] = {29,0x127FFFDF}, + [I(101,143)] = {28,0x2FFFFDF}, + [I(102,143)] = {29,0x12FFFFDF}, + [I(103,143)] = {29,0x137FFFDF}, + [I(104,143)] = {29,0x13FFFFDF}, + [I(105,143)] = {28,0x37FFFDF}, + [I(106,143)] = {30,0x3A7FFFDF}, + [I(107,143)] = {30,0x3AFFFFDF}, + [I(108,143)] = {29,0x147FFFDF}, + [I(109,143)] = {29,0x14FFFFDF}, + [I(110,143)] = {29,0x157FFFDF}, + [I(111,143)] = {28,0x3FFFFDF}, + [I(112,143)] = {29,0x15FFFFDF}, + [I(113,143)] = {30,0x3B7FFFDF}, + [I(114,143)] = {29,0x167FFFDF}, + [I(115,143)] = {28,0x47FFFDF}, + [I(116,143)] = {28,0x4FFFFDF}, + [I(117,143)] = {29,0x16FFFFDF}, + [I(118,143)] = {30,0x3BFFFFDF}, + [I(119,143)] = {30,0x3C7FFFDF}, + [I(120,143)] = {30,0x3CFFFFDF}, + [I(121,143)] = {30,0x3D7FFFDF}, + [I(122,143)] = {30,0x3DFFFFDF}, + [I(123,143)] = {64,0}, + [I(124,143)] = {64,0}, + [I(125,143)] = {64,0}, + [I(126,143)] = {64,0}, + [I(127,143)] = {64,0}, + [I(128,143)] = {64,0}, + [I(129,143)] = {64,0}, + [I(130,143)] = {64,0}, + [I(131,143)] = {64,0}, + [I(132,143)] = {64,0}, + [I(133,143)] = {64,0}, + [I(134,143)] = {64,0}, + [I(135,143)] = {64,0}, + [I(136,143)] = {64,0}, + [I(137,143)] = {64,0}, + [I(138,143)] = {64,0}, + [I(139,143)] = {64,0}, + [I(140,143)] = {64,0}, + [I(141,143)] = {64,0}, + [I(142,143)] = {64,0}, + [I(143,143)] = {64,0}, + [I(144,143)] = {64,0}, + [I(145,143)] = {64,0}, + [I(146,143)] = {64,0}, + [I(147,143)] = {64,0}, + [I(148,143)] = {64,0}, + [I(149,143)] = {64,0}, + [I(150,143)] = {64,0}, + [I(151,143)] = {64,0}, + [I(152,143)] = {64,0}, + [I(153,143)] = {64,0}, + [I(154,143)] = {64,0}, + [I(155,143)] = {64,0}, + [I(156,143)] = {64,0}, + [I(157,143)] = {64,0}, + [I(158,143)] = {64,0}, + [I(159,143)] = {64,0}, + [I(160,143)] = {64,0}, + [I(161,143)] = {64,0}, + [I(162,143)] = {64,0}, + [I(163,143)] = {64,0}, + [I(164,143)] = {64,0}, + [I(165,143)] = {64,0}, + [I(166,143)] = {64,0}, + [I(167,143)] = {64,0}, + [I(168,143)] = {64,0}, + [I(169,143)] = {64,0}, + [I(170,143)] = {64,0}, + [I(171,143)] = {64,0}, + [I(172,143)] = {64,0}, + [I(173,143)] = {64,0}, + [I(174,143)] = {64,0}, + [I(175,143)] = {64,0}, + [I(176,143)] = {64,0}, + [I(177,143)] = {64,0}, + [I(178,143)] = {64,0}, + [I(179,143)] = {64,0}, + [I(180,143)] = {64,0}, + [I(181,143)] = {64,0}, + [I(182,143)] = {64,0}, + [I(183,143)] = {64,0}, + [I(184,143)] = {64,0}, + [I(185,143)] = {64,0}, + [I(186,143)] = {64,0}, + [I(187,143)] = {64,0}, + [I(188,143)] = {64,0}, + [I(189,143)] = {64,0}, + [I(190,143)] = {64,0}, + [I(191,143)] = {64,0}, + [I(192,143)] = {64,0}, + [I(193,143)] = {64,0}, + [I(194,143)] = {64,0}, + [I(195,143)] = {64,0}, + [I(196,143)] = {64,0}, + [I(197,143)] = {64,0}, + [I(198,143)] = {64,0}, + [I(199,143)] = {64,0}, + [I(200,143)] = {64,0}, + [I(201,143)] = {64,0}, + [I(202,143)] = {64,0}, + [I(203,143)] = {64,0}, + [I(204,143)] = {64,0}, + [I(205,143)] = {64,0}, + [I(206,143)] = {64,0}, + [I(207,143)] = {64,0}, + [I(208,143)] = {64,0}, + [I(209,143)] = {64,0}, + [I(210,143)] = {64,0}, + [I(211,143)] = {64,0}, + [I(212,143)] = {64,0}, + [I(213,143)] = {64,0}, + [I(214,143)] = {64,0}, + [I(215,143)] = {64,0}, + [I(216,143)] = {64,0}, + [I(217,143)] = {64,0}, + [I(218,143)] = {64,0}, + [I(219,143)] = {64,0}, + [I(220,143)] = {64,0}, + [I(221,143)] = {64,0}, + [I(222,143)] = {64,0}, + [I(223,143)] = {64,0}, + [I(224,143)] = {64,0}, + [I(225,143)] = {64,0}, + [I(226,143)] = {64,0}, + [I(227,143)] = {64,0}, + [I(228,143)] = {64,0}, + [I(229,143)] = {64,0}, + [I(230,143)] = {64,0}, + [I(231,143)] = {64,0}, + [I(232,143)] = {64,0}, + [I(233,143)] = {64,0}, + [I(234,143)] = {64,0}, + [I(235,143)] = {64,0}, + [I(236,143)] = {64,0}, + [I(237,143)] = {64,0}, + [I(238,143)] = {64,0}, + [I(239,143)] = {64,0}, + [I(240,143)] = {64,0}, + [I(241,143)] = {64,0}, + [I(242,143)] = {64,0}, + [I(243,143)] = {64,0}, + [I(244,143)] = {64,0}, + [I(245,143)] = {64,0}, + [I(246,143)] = {64,0}, + [I(247,143)] = {64,0}, + [I(248,143)] = {64,0}, + [I(249,143)] = {64,0}, + [I(250,143)] = {64,0}, + [I(251,143)] = {64,0}, + [I(252,143)] = {64,0}, + [I(253,143)] = {64,0}, + [I(254,143)] = {64,0}, + [I(255,143)] = {64,0}, + [I(0,144)] = {64,0}, + [I(1,144)] = {64,0}, + [I(2,144)] = {64,0}, + [I(3,144)] = {64,0}, + [I(4,144)] = {64,0}, + [I(5,144)] = {64,0}, + [I(6,144)] = {64,0}, + [I(7,144)] = {64,0}, + [I(8,144)] = {64,0}, + [I(9,144)] = {64,0}, + [I(10,144)] = {64,0}, + [I(11,144)] = {64,0}, + [I(12,144)] = {64,0}, + [I(13,144)] = {64,0}, + [I(14,144)] = {64,0}, + [I(15,144)] = {64,0}, + [I(16,144)] = {64,0}, + [I(17,144)] = {64,0}, + [I(18,144)] = {64,0}, + [I(19,144)] = {64,0}, + [I(20,144)] = {64,0}, + [I(21,144)] = {64,0}, + [I(22,144)] = {64,0}, + [I(23,144)] = {64,0}, + [I(24,144)] = {64,0}, + [I(25,144)] = {64,0}, + [I(26,144)] = {64,0}, + [I(27,144)] = {64,0}, + [I(28,144)] = {64,0}, + [I(29,144)] = {64,0}, + [I(30,144)] = {64,0}, + [I(31,144)] = {64,0}, + [I(32,144)] = {30,0x14FFFFEC}, + [I(33,144)] = {64,0}, + [I(34,144)] = {64,0}, + [I(35,144)] = {64,0}, + [I(36,144)] = {64,0}, + [I(37,144)] = {30,0x15FFFFEC}, + [I(38,144)] = {X32,0xF8FFFFEC}, + [I(39,144)] = {64,0}, + [I(40,144)] = {64,0}, + [I(41,144)] = {64,0}, + [I(42,144)] = {X32,0xF9FFFFEC}, + [I(43,144)] = {64,0}, + [I(44,144)] = {X32,0xFAFFFFEC}, + [I(45,144)] = {30,0x16FFFFEC}, + [I(46,144)] = {30,0x17FFFFEC}, + [I(47,144)] = {30,0x18FFFFEC}, + [I(48,144)] = {29,0xFFFFEC}, + [I(49,144)] = {29,0x1FFFFEC}, + [I(50,144)] = {29,0x2FFFFEC}, + [I(51,144)] = {30,0x19FFFFEC}, + [I(52,144)] = {30,0x1AFFFFEC}, + [I(53,144)] = {30,0x1BFFFFEC}, + [I(54,144)] = {30,0x1CFFFFEC}, + [I(55,144)] = {30,0x1DFFFFEC}, + [I(56,144)] = {30,0x1EFFFFEC}, + [I(57,144)] = {30,0x1FFFFFEC}, + [I(58,144)] = {31,0x5CFFFFEC}, + [I(59,144)] = {X32,0xFBFFFFEC}, + [I(60,144)] = {64,0}, + [I(61,144)] = {30,0x20FFFFEC}, + [I(62,144)] = {64,0}, + [I(63,144)] = {64,0}, + [I(64,144)] = {64,0}, + [I(65,144)] = {30,0x21FFFFEC}, + [I(66,144)] = {31,0x5DFFFFEC}, + [I(67,144)] = {31,0x5EFFFFEC}, + [I(68,144)] = {31,0x5FFFFFEC}, + [I(69,144)] = {31,0x60FFFFEC}, + [I(70,144)] = {31,0x61FFFFEC}, + [I(71,144)] = {31,0x62FFFFEC}, + [I(72,144)] = {31,0x63FFFFEC}, + [I(73,144)] = {31,0x64FFFFEC}, + [I(74,144)] = {31,0x65FFFFEC}, + [I(75,144)] = {31,0x66FFFFEC}, + [I(76,144)] = {31,0x67FFFFEC}, + [I(77,144)] = {31,0x68FFFFEC}, + [I(78,144)] = {31,0x69FFFFEC}, + [I(79,144)] = {31,0x6AFFFFEC}, + [I(80,144)] = {31,0x6BFFFFEC}, + [I(81,144)] = {31,0x6CFFFFEC}, + [I(82,144)] = {31,0x6DFFFFEC}, + [I(83,144)] = {31,0x6EFFFFEC}, + [I(84,144)] = {31,0x6FFFFFEC}, + [I(85,144)] = {31,0x70FFFFEC}, + [I(86,144)] = {31,0x71FFFFEC}, + [I(87,144)] = {31,0x72FFFFEC}, + [I(88,144)] = {X32,0xFCFFFFEC}, + [I(89,144)] = {31,0x73FFFFEC}, + [I(90,144)] = {X32,0xFDFFFFEC}, + [I(91,144)] = {64,0}, + [I(92,144)] = {64,0}, + [I(93,144)] = {64,0}, + [I(94,144)] = {64,0}, + [I(95,144)] = {30,0x22FFFFEC}, + [I(96,144)] = {64,0}, + [I(97,144)] = {29,0x3FFFFEC}, + [I(98,144)] = {30,0x23FFFFEC}, + [I(99,144)] = {29,0x4FFFFEC}, + [I(100,144)] = {30,0x24FFFFEC}, + [I(101,144)] = {29,0x5FFFFEC}, + [I(102,144)] = {30,0x25FFFFEC}, + [I(103,144)] = {30,0x26FFFFEC}, + [I(104,144)] = {30,0x27FFFFEC}, + [I(105,144)] = {29,0x6FFFFEC}, + [I(106,144)] = {31,0x74FFFFEC}, + [I(107,144)] = {31,0x75FFFFEC}, + [I(108,144)] = {30,0x28FFFFEC}, + [I(109,144)] = {30,0x29FFFFEC}, + [I(110,144)] = {30,0x2AFFFFEC}, + [I(111,144)] = {29,0x7FFFFEC}, + [I(112,144)] = {30,0x2BFFFFEC}, + [I(113,144)] = {31,0x76FFFFEC}, + [I(114,144)] = {30,0x2CFFFFEC}, + [I(115,144)] = {29,0x8FFFFEC}, + [I(116,144)] = {29,0x9FFFFEC}, + [I(117,144)] = {30,0x2DFFFFEC}, + [I(118,144)] = {31,0x77FFFFEC}, + [I(119,144)] = {31,0x78FFFFEC}, + [I(120,144)] = {31,0x79FFFFEC}, + [I(121,144)] = {31,0x7AFFFFEC}, + [I(122,144)] = {31,0x7BFFFFEC}, + [I(123,144)] = {64,0}, + [I(124,144)] = {64,0}, + [I(125,144)] = {64,0}, + [I(126,144)] = {64,0}, + [I(127,144)] = {64,0}, + [I(128,144)] = {64,0}, + [I(129,144)] = {64,0}, + [I(130,144)] = {64,0}, + [I(131,144)] = {64,0}, + [I(132,144)] = {64,0}, + [I(133,144)] = {64,0}, + [I(134,144)] = {64,0}, + [I(135,144)] = {64,0}, + [I(136,144)] = {64,0}, + [I(137,144)] = {64,0}, + [I(138,144)] = {64,0}, + [I(139,144)] = {64,0}, + [I(140,144)] = {64,0}, + [I(141,144)] = {64,0}, + [I(142,144)] = {64,0}, + [I(143,144)] = {64,0}, + [I(144,144)] = {64,0}, + [I(145,144)] = {64,0}, + [I(146,144)] = {64,0}, + [I(147,144)] = {64,0}, + [I(148,144)] = {64,0}, + [I(149,144)] = {64,0}, + [I(150,144)] = {64,0}, + [I(151,144)] = {64,0}, + [I(152,144)] = {64,0}, + [I(153,144)] = {64,0}, + [I(154,144)] = {64,0}, + [I(155,144)] = {64,0}, + [I(156,144)] = {64,0}, + [I(157,144)] = {64,0}, + [I(158,144)] = {64,0}, + [I(159,144)] = {64,0}, + [I(160,144)] = {64,0}, + [I(161,144)] = {64,0}, + [I(162,144)] = {64,0}, + [I(163,144)] = {64,0}, + [I(164,144)] = {64,0}, + [I(165,144)] = {64,0}, + [I(166,144)] = {64,0}, + [I(167,144)] = {64,0}, + [I(168,144)] = {64,0}, + [I(169,144)] = {64,0}, + [I(170,144)] = {64,0}, + [I(171,144)] = {64,0}, + [I(172,144)] = {64,0}, + [I(173,144)] = {64,0}, + [I(174,144)] = {64,0}, + [I(175,144)] = {64,0}, + [I(176,144)] = {64,0}, + [I(177,144)] = {64,0}, + [I(178,144)] = {64,0}, + [I(179,144)] = {64,0}, + [I(180,144)] = {64,0}, + [I(181,144)] = {64,0}, + [I(182,144)] = {64,0}, + [I(183,144)] = {64,0}, + [I(184,144)] = {64,0}, + [I(185,144)] = {64,0}, + [I(186,144)] = {64,0}, + [I(187,144)] = {64,0}, + [I(188,144)] = {64,0}, + [I(189,144)] = {64,0}, + [I(190,144)] = {64,0}, + [I(191,144)] = {64,0}, + [I(192,144)] = {64,0}, + [I(193,144)] = {64,0}, + [I(194,144)] = {64,0}, + [I(195,144)] = {64,0}, + [I(196,144)] = {64,0}, + [I(197,144)] = {64,0}, + [I(198,144)] = {64,0}, + [I(199,144)] = {64,0}, + [I(200,144)] = {64,0}, + [I(201,144)] = {64,0}, + [I(202,144)] = {64,0}, + [I(203,144)] = {64,0}, + [I(204,144)] = {64,0}, + [I(205,144)] = {64,0}, + [I(206,144)] = {64,0}, + [I(207,144)] = {64,0}, + [I(208,144)] = {64,0}, + [I(209,144)] = {64,0}, + [I(210,144)] = {64,0}, + [I(211,144)] = {64,0}, + [I(212,144)] = {64,0}, + [I(213,144)] = {64,0}, + [I(214,144)] = {64,0}, + [I(215,144)] = {64,0}, + [I(216,144)] = {64,0}, + [I(217,144)] = {64,0}, + [I(218,144)] = {64,0}, + [I(219,144)] = {64,0}, + [I(220,144)] = {64,0}, + [I(221,144)] = {64,0}, + [I(222,144)] = {64,0}, + [I(223,144)] = {64,0}, + [I(224,144)] = {64,0}, + [I(225,144)] = {64,0}, + [I(226,144)] = {64,0}, + [I(227,144)] = {64,0}, + [I(228,144)] = {64,0}, + [I(229,144)] = {64,0}, + [I(230,144)] = {64,0}, + [I(231,144)] = {64,0}, + [I(232,144)] = {64,0}, + [I(233,144)] = {64,0}, + [I(234,144)] = {64,0}, + [I(235,144)] = {64,0}, + [I(236,144)] = {64,0}, + [I(237,144)] = {64,0}, + [I(238,144)] = {64,0}, + [I(239,144)] = {64,0}, + [I(240,144)] = {64,0}, + [I(241,144)] = {64,0}, + [I(242,144)] = {64,0}, + [I(243,144)] = {64,0}, + [I(244,144)] = {64,0}, + [I(245,144)] = {64,0}, + [I(246,144)] = {64,0}, + [I(247,144)] = {64,0}, + [I(248,144)] = {64,0}, + [I(249,144)] = {64,0}, + [I(250,144)] = {64,0}, + [I(251,144)] = {64,0}, + [I(252,144)] = {64,0}, + [I(253,144)] = {64,0}, + [I(254,144)] = {64,0}, + [I(255,144)] = {64,0}, + [I(0,145)] = {64,0}, + [I(1,145)] = {64,0}, + [I(2,145)] = {64,0}, + [I(3,145)] = {64,0}, + [I(4,145)] = {64,0}, + [I(5,145)] = {64,0}, + [I(6,145)] = {64,0}, + [I(7,145)] = {64,0}, + [I(8,145)] = {64,0}, + [I(9,145)] = {64,0}, + [I(10,145)] = {64,0}, + [I(11,145)] = {64,0}, + [I(12,145)] = {64,0}, + [I(13,145)] = {64,0}, + [I(14,145)] = {64,0}, + [I(15,145)] = {64,0}, + [I(16,145)] = {64,0}, + [I(17,145)] = {64,0}, + [I(18,145)] = {64,0}, + [I(19,145)] = {64,0}, + [I(20,145)] = {64,0}, + [I(21,145)] = {64,0}, + [I(22,145)] = {64,0}, + [I(23,145)] = {64,0}, + [I(24,145)] = {64,0}, + [I(25,145)] = {64,0}, + [I(26,145)] = {64,0}, + [I(27,145)] = {64,0}, + [I(28,145)] = {64,0}, + [I(29,145)] = {64,0}, + [I(30,145)] = {64,0}, + [I(31,145)] = {64,0}, + [I(32,145)] = {30,0x14FFFFED}, + [I(33,145)] = {64,0}, + [I(34,145)] = {64,0}, + [I(35,145)] = {64,0}, + [I(36,145)] = {64,0}, + [I(37,145)] = {30,0x15FFFFED}, + [I(38,145)] = {X32,0xF8FFFFED}, + [I(39,145)] = {64,0}, + [I(40,145)] = {64,0}, + [I(41,145)] = {64,0}, + [I(42,145)] = {X32,0xF9FFFFED}, + [I(43,145)] = {64,0}, + [I(44,145)] = {X32,0xFAFFFFED}, + [I(45,145)] = {30,0x16FFFFED}, + [I(46,145)] = {30,0x17FFFFED}, + [I(47,145)] = {30,0x18FFFFED}, + [I(48,145)] = {29,0xFFFFED}, + [I(49,145)] = {29,0x1FFFFED}, + [I(50,145)] = {29,0x2FFFFED}, + [I(51,145)] = {30,0x19FFFFED}, + [I(52,145)] = {30,0x1AFFFFED}, + [I(53,145)] = {30,0x1BFFFFED}, + [I(54,145)] = {30,0x1CFFFFED}, + [I(55,145)] = {30,0x1DFFFFED}, + [I(56,145)] = {30,0x1EFFFFED}, + [I(57,145)] = {30,0x1FFFFFED}, + [I(58,145)] = {31,0x5CFFFFED}, + [I(59,145)] = {X32,0xFBFFFFED}, + [I(60,145)] = {64,0}, + [I(61,145)] = {30,0x20FFFFED}, + [I(62,145)] = {64,0}, + [I(63,145)] = {64,0}, + [I(64,145)] = {64,0}, + [I(65,145)] = {30,0x21FFFFED}, + [I(66,145)] = {31,0x5DFFFFED}, + [I(67,145)] = {31,0x5EFFFFED}, + [I(68,145)] = {31,0x5FFFFFED}, + [I(69,145)] = {31,0x60FFFFED}, + [I(70,145)] = {31,0x61FFFFED}, + [I(71,145)] = {31,0x62FFFFED}, + [I(72,145)] = {31,0x63FFFFED}, + [I(73,145)] = {31,0x64FFFFED}, + [I(74,145)] = {31,0x65FFFFED}, + [I(75,145)] = {31,0x66FFFFED}, + [I(76,145)] = {31,0x67FFFFED}, + [I(77,145)] = {31,0x68FFFFED}, + [I(78,145)] = {31,0x69FFFFED}, + [I(79,145)] = {31,0x6AFFFFED}, + [I(80,145)] = {31,0x6BFFFFED}, + [I(81,145)] = {31,0x6CFFFFED}, + [I(82,145)] = {31,0x6DFFFFED}, + [I(83,145)] = {31,0x6EFFFFED}, + [I(84,145)] = {31,0x6FFFFFED}, + [I(85,145)] = {31,0x70FFFFED}, + [I(86,145)] = {31,0x71FFFFED}, + [I(87,145)] = {31,0x72FFFFED}, + [I(88,145)] = {X32,0xFCFFFFED}, + [I(89,145)] = {31,0x73FFFFED}, + [I(90,145)] = {X32,0xFDFFFFED}, + [I(91,145)] = {64,0}, + [I(92,145)] = {64,0}, + [I(93,145)] = {64,0}, + [I(94,145)] = {64,0}, + [I(95,145)] = {30,0x22FFFFED}, + [I(96,145)] = {64,0}, + [I(97,145)] = {29,0x3FFFFED}, + [I(98,145)] = {30,0x23FFFFED}, + [I(99,145)] = {29,0x4FFFFED}, + [I(100,145)] = {30,0x24FFFFED}, + [I(101,145)] = {29,0x5FFFFED}, + [I(102,145)] = {30,0x25FFFFED}, + [I(103,145)] = {30,0x26FFFFED}, + [I(104,145)] = {30,0x27FFFFED}, + [I(105,145)] = {29,0x6FFFFED}, + [I(106,145)] = {31,0x74FFFFED}, + [I(107,145)] = {31,0x75FFFFED}, + [I(108,145)] = {30,0x28FFFFED}, + [I(109,145)] = {30,0x29FFFFED}, + [I(110,145)] = {30,0x2AFFFFED}, + [I(111,145)] = {29,0x7FFFFED}, + [I(112,145)] = {30,0x2BFFFFED}, + [I(113,145)] = {31,0x76FFFFED}, + [I(114,145)] = {30,0x2CFFFFED}, + [I(115,145)] = {29,0x8FFFFED}, + [I(116,145)] = {29,0x9FFFFED}, + [I(117,145)] = {30,0x2DFFFFED}, + [I(118,145)] = {31,0x77FFFFED}, + [I(119,145)] = {31,0x78FFFFED}, + [I(120,145)] = {31,0x79FFFFED}, + [I(121,145)] = {31,0x7AFFFFED}, + [I(122,145)] = {31,0x7BFFFFED}, + [I(123,145)] = {64,0}, + [I(124,145)] = {64,0}, + [I(125,145)] = {64,0}, + [I(126,145)] = {64,0}, + [I(127,145)] = {64,0}, + [I(128,145)] = {64,0}, + [I(129,145)] = {64,0}, + [I(130,145)] = {64,0}, + [I(131,145)] = {64,0}, + [I(132,145)] = {64,0}, + [I(133,145)] = {64,0}, + [I(134,145)] = {64,0}, + [I(135,145)] = {64,0}, + [I(136,145)] = {64,0}, + [I(137,145)] = {64,0}, + [I(138,145)] = {64,0}, + [I(139,145)] = {64,0}, + [I(140,145)] = {64,0}, + [I(141,145)] = {64,0}, + [I(142,145)] = {64,0}, + [I(143,145)] = {64,0}, + [I(144,145)] = {64,0}, + [I(145,145)] = {64,0}, + [I(146,145)] = {64,0}, + [I(147,145)] = {64,0}, + [I(148,145)] = {64,0}, + [I(149,145)] = {64,0}, + [I(150,145)] = {64,0}, + [I(151,145)] = {64,0}, + [I(152,145)] = {64,0}, + [I(153,145)] = {64,0}, + [I(154,145)] = {64,0}, + [I(155,145)] = {64,0}, + [I(156,145)] = {64,0}, + [I(157,145)] = {64,0}, + [I(158,145)] = {64,0}, + [I(159,145)] = {64,0}, + [I(160,145)] = {64,0}, + [I(161,145)] = {64,0}, + [I(162,145)] = {64,0}, + [I(163,145)] = {64,0}, + [I(164,145)] = {64,0}, + [I(165,145)] = {64,0}, + [I(166,145)] = {64,0}, + [I(167,145)] = {64,0}, + [I(168,145)] = {64,0}, + [I(169,145)] = {64,0}, + [I(170,145)] = {64,0}, + [I(171,145)] = {64,0}, + [I(172,145)] = {64,0}, + [I(173,145)] = {64,0}, + [I(174,145)] = {64,0}, + [I(175,145)] = {64,0}, + [I(176,145)] = {64,0}, + [I(177,145)] = {64,0}, + [I(178,145)] = {64,0}, + [I(179,145)] = {64,0}, + [I(180,145)] = {64,0}, + [I(181,145)] = {64,0}, + [I(182,145)] = {64,0}, + [I(183,145)] = {64,0}, + [I(184,145)] = {64,0}, + [I(185,145)] = {64,0}, + [I(186,145)] = {64,0}, + [I(187,145)] = {64,0}, + [I(188,145)] = {64,0}, + [I(189,145)] = {64,0}, + [I(190,145)] = {64,0}, + [I(191,145)] = {64,0}, + [I(192,145)] = {64,0}, + [I(193,145)] = {64,0}, + [I(194,145)] = {64,0}, + [I(195,145)] = {64,0}, + [I(196,145)] = {64,0}, + [I(197,145)] = {64,0}, + [I(198,145)] = {64,0}, + [I(199,145)] = {64,0}, + [I(200,145)] = {64,0}, + [I(201,145)] = {64,0}, + [I(202,145)] = {64,0}, + [I(203,145)] = {64,0}, + [I(204,145)] = {64,0}, + [I(205,145)] = {64,0}, + [I(206,145)] = {64,0}, + [I(207,145)] = {64,0}, + [I(208,145)] = {64,0}, + [I(209,145)] = {64,0}, + [I(210,145)] = {64,0}, + [I(211,145)] = {64,0}, + [I(212,145)] = {64,0}, + [I(213,145)] = {64,0}, + [I(214,145)] = {64,0}, + [I(215,145)] = {64,0}, + [I(216,145)] = {64,0}, + [I(217,145)] = {64,0}, + [I(218,145)] = {64,0}, + [I(219,145)] = {64,0}, + [I(220,145)] = {64,0}, + [I(221,145)] = {64,0}, + [I(222,145)] = {64,0}, + [I(223,145)] = {64,0}, + [I(224,145)] = {64,0}, + [I(225,145)] = {64,0}, + [I(226,145)] = {64,0}, + [I(227,145)] = {64,0}, + [I(228,145)] = {64,0}, + [I(229,145)] = {64,0}, + [I(230,145)] = {64,0}, + [I(231,145)] = {64,0}, + [I(232,145)] = {64,0}, + [I(233,145)] = {64,0}, + [I(234,145)] = {64,0}, + [I(235,145)] = {64,0}, + [I(236,145)] = {64,0}, + [I(237,145)] = {64,0}, + [I(238,145)] = {64,0}, + [I(239,145)] = {64,0}, + [I(240,145)] = {64,0}, + [I(241,145)] = {64,0}, + [I(242,145)] = {64,0}, + [I(243,145)] = {64,0}, + [I(244,145)] = {64,0}, + [I(245,145)] = {64,0}, + [I(246,145)] = {64,0}, + [I(247,145)] = {64,0}, + [I(248,145)] = {64,0}, + [I(249,145)] = {64,0}, + [I(250,145)] = {64,0}, + [I(251,145)] = {64,0}, + [I(252,145)] = {64,0}, + [I(253,145)] = {64,0}, + [I(254,145)] = {64,0}, + [I(255,145)] = {64,0}, + [I(0,146)] = {64,0}, + [I(1,146)] = {64,0}, + [I(2,146)] = {64,0}, + [I(3,146)] = {64,0}, + [I(4,146)] = {64,0}, + [I(5,146)] = {64,0}, + [I(6,146)] = {64,0}, + [I(7,146)] = {64,0}, + [I(8,146)] = {64,0}, + [I(9,146)] = {64,0}, + [I(10,146)] = {64,0}, + [I(11,146)] = {64,0}, + [I(12,146)] = {64,0}, + [I(13,146)] = {64,0}, + [I(14,146)] = {64,0}, + [I(15,146)] = {64,0}, + [I(16,146)] = {64,0}, + [I(17,146)] = {64,0}, + [I(18,146)] = {64,0}, + [I(19,146)] = {64,0}, + [I(20,146)] = {64,0}, + [I(21,146)] = {64,0}, + [I(22,146)] = {64,0}, + [I(23,146)] = {64,0}, + [I(24,146)] = {64,0}, + [I(25,146)] = {64,0}, + [I(26,146)] = {64,0}, + [I(27,146)] = {64,0}, + [I(28,146)] = {64,0}, + [I(29,146)] = {64,0}, + [I(30,146)] = {64,0}, + [I(31,146)] = {64,0}, + [I(32,146)] = {28,0x53FFFD7}, + [I(33,146)] = {X32,0xFE3FFFD7}, + [I(34,146)] = {X32,0xFE7FFFD7}, + [I(35,146)] = {64,0}, + [I(36,146)] = {64,0}, + [I(37,146)] = {28,0x57FFFD7}, + [I(38,146)] = {30,0x3E3FFFD7}, + [I(39,146)] = {64,0}, + [I(40,146)] = {X32,0xFEBFFFD7}, + [I(41,146)] = {X32,0xFEFFFFD7}, + [I(42,146)] = {30,0x3E7FFFD7}, + [I(43,146)] = {64,0}, + [I(44,146)] = {30,0x3EBFFFD7}, + [I(45,146)] = {28,0x5BFFFD7}, + [I(46,146)] = {28,0x5FFFFD7}, + [I(47,146)] = {28,0x63FFFD7}, + [I(48,146)] = {27,0x3FFFD7}, + [I(49,146)] = {27,0x7FFFD7}, + [I(50,146)] = {27,0xBFFFD7}, + [I(51,146)] = {28,0x67FFFD7}, + [I(52,146)] = {28,0x6BFFFD7}, + [I(53,146)] = {28,0x6FFFFD7}, + [I(54,146)] = {28,0x73FFFD7}, + [I(55,146)] = {28,0x77FFFD7}, + [I(56,146)] = {28,0x7BFFFD7}, + [I(57,146)] = {28,0x7FFFFD7}, + [I(58,146)] = {29,0x173FFFD7}, + [I(59,146)] = {30,0x3EFFFFD7}, + [I(60,146)] = {64,0}, + [I(61,146)] = {28,0x83FFFD7}, + [I(62,146)] = {64,0}, + [I(63,146)] = {X32,0xFF3FFFD7}, + [I(64,146)] = {64,0}, + [I(65,146)] = {28,0x87FFFD7}, + [I(66,146)] = {29,0x177FFFD7}, + [I(67,146)] = {29,0x17BFFFD7}, + [I(68,146)] = {29,0x17FFFFD7}, + [I(69,146)] = {29,0x183FFFD7}, + [I(70,146)] = {29,0x187FFFD7}, + [I(71,146)] = {29,0x18BFFFD7}, + [I(72,146)] = {29,0x18FFFFD7}, + [I(73,146)] = {29,0x193FFFD7}, + [I(74,146)] = {29,0x197FFFD7}, + [I(75,146)] = {29,0x19BFFFD7}, + [I(76,146)] = {29,0x19FFFFD7}, + [I(77,146)] = {29,0x1A3FFFD7}, + [I(78,146)] = {29,0x1A7FFFD7}, + [I(79,146)] = {29,0x1ABFFFD7}, + [I(80,146)] = {29,0x1AFFFFD7}, + [I(81,146)] = {29,0x1B3FFFD7}, + [I(82,146)] = {29,0x1B7FFFD7}, + [I(83,146)] = {29,0x1BBFFFD7}, + [I(84,146)] = {29,0x1BFFFFD7}, + [I(85,146)] = {29,0x1C3FFFD7}, + [I(86,146)] = {29,0x1C7FFFD7}, + [I(87,146)] = {29,0x1CBFFFD7}, + [I(88,146)] = {30,0x3F3FFFD7}, + [I(89,146)] = {29,0x1CFFFFD7}, + [I(90,146)] = {30,0x3F7FFFD7}, + [I(91,146)] = {64,0}, + [I(92,146)] = {64,0}, + [I(93,146)] = {64,0}, + [I(94,146)] = {64,0}, + [I(95,146)] = {28,0x8BFFFD7}, + [I(96,146)] = {64,0}, + [I(97,146)] = {27,0xFFFFD7}, + [I(98,146)] = {28,0x8FFFFD7}, + [I(99,146)] = {27,0x13FFFD7}, + [I(100,146)] = {28,0x93FFFD7}, + [I(101,146)] = {27,0x17FFFD7}, + [I(102,146)] = {28,0x97FFFD7}, + [I(103,146)] = {28,0x9BFFFD7}, + [I(104,146)] = {28,0x9FFFFD7}, + [I(105,146)] = {27,0x1BFFFD7}, + [I(106,146)] = {29,0x1D3FFFD7}, + [I(107,146)] = {29,0x1D7FFFD7}, + [I(108,146)] = {28,0xA3FFFD7}, + [I(109,146)] = {28,0xA7FFFD7}, + [I(110,146)] = {28,0xABFFFD7}, + [I(111,146)] = {27,0x1FFFFD7}, + [I(112,146)] = {28,0xAFFFFD7}, + [I(113,146)] = {29,0x1DBFFFD7}, + [I(114,146)] = {28,0xB3FFFD7}, + [I(115,146)] = {27,0x23FFFD7}, + [I(116,146)] = {27,0x27FFFD7}, + [I(117,146)] = {28,0xB7FFFD7}, + [I(118,146)] = {29,0x1DFFFFD7}, + [I(119,146)] = {29,0x1E3FFFD7}, + [I(120,146)] = {29,0x1E7FFFD7}, + [I(121,146)] = {29,0x1EBFFFD7}, + [I(122,146)] = {29,0x1EFFFFD7}, + [I(123,146)] = {64,0}, + [I(124,146)] = {64,0}, + [I(125,146)] = {64,0}, + [I(126,146)] = {64,0}, + [I(127,146)] = {64,0}, + [I(128,146)] = {64,0}, + [I(129,146)] = {64,0}, + [I(130,146)] = {64,0}, + [I(131,146)] = {64,0}, + [I(132,146)] = {64,0}, + [I(133,146)] = {64,0}, + [I(134,146)] = {64,0}, + [I(135,146)] = {64,0}, + [I(136,146)] = {64,0}, + [I(137,146)] = {64,0}, + [I(138,146)] = {64,0}, + [I(139,146)] = {64,0}, + [I(140,146)] = {64,0}, + [I(141,146)] = {64,0}, + [I(142,146)] = {64,0}, + [I(143,146)] = {64,0}, + [I(144,146)] = {64,0}, + [I(145,146)] = {64,0}, + [I(146,146)] = {64,0}, + [I(147,146)] = {64,0}, + [I(148,146)] = {64,0}, + [I(149,146)] = {64,0}, + [I(150,146)] = {64,0}, + [I(151,146)] = {64,0}, + [I(152,146)] = {64,0}, + [I(153,146)] = {64,0}, + [I(154,146)] = {64,0}, + [I(155,146)] = {64,0}, + [I(156,146)] = {64,0}, + [I(157,146)] = {64,0}, + [I(158,146)] = {64,0}, + [I(159,146)] = {64,0}, + [I(160,146)] = {64,0}, + [I(161,146)] = {64,0}, + [I(162,146)] = {64,0}, + [I(163,146)] = {64,0}, + [I(164,146)] = {64,0}, + [I(165,146)] = {64,0}, + [I(166,146)] = {64,0}, + [I(167,146)] = {64,0}, + [I(168,146)] = {64,0}, + [I(169,146)] = {64,0}, + [I(170,146)] = {64,0}, + [I(171,146)] = {64,0}, + [I(172,146)] = {64,0}, + [I(173,146)] = {64,0}, + [I(174,146)] = {64,0}, + [I(175,146)] = {64,0}, + [I(176,146)] = {64,0}, + [I(177,146)] = {64,0}, + [I(178,146)] = {64,0}, + [I(179,146)] = {64,0}, + [I(180,146)] = {64,0}, + [I(181,146)] = {64,0}, + [I(182,146)] = {64,0}, + [I(183,146)] = {64,0}, + [I(184,146)] = {64,0}, + [I(185,146)] = {64,0}, + [I(186,146)] = {64,0}, + [I(187,146)] = {64,0}, + [I(188,146)] = {64,0}, + [I(189,146)] = {64,0}, + [I(190,146)] = {64,0}, + [I(191,146)] = {64,0}, + [I(192,146)] = {64,0}, + [I(193,146)] = {64,0}, + [I(194,146)] = {64,0}, + [I(195,146)] = {64,0}, + [I(196,146)] = {64,0}, + [I(197,146)] = {64,0}, + [I(198,146)] = {64,0}, + [I(199,146)] = {64,0}, + [I(200,146)] = {64,0}, + [I(201,146)] = {64,0}, + [I(202,146)] = {64,0}, + [I(203,146)] = {64,0}, + [I(204,146)] = {64,0}, + [I(205,146)] = {64,0}, + [I(206,146)] = {64,0}, + [I(207,146)] = {64,0}, + [I(208,146)] = {64,0}, + [I(209,146)] = {64,0}, + [I(210,146)] = {64,0}, + [I(211,146)] = {64,0}, + [I(212,146)] = {64,0}, + [I(213,146)] = {64,0}, + [I(214,146)] = {64,0}, + [I(215,146)] = {64,0}, + [I(216,146)] = {64,0}, + [I(217,146)] = {64,0}, + [I(218,146)] = {64,0}, + [I(219,146)] = {64,0}, + [I(220,146)] = {64,0}, + [I(221,146)] = {64,0}, + [I(222,146)] = {64,0}, + [I(223,146)] = {64,0}, + [I(224,146)] = {64,0}, + [I(225,146)] = {64,0}, + [I(226,146)] = {64,0}, + [I(227,146)] = {64,0}, + [I(228,146)] = {64,0}, + [I(229,146)] = {64,0}, + [I(230,146)] = {64,0}, + [I(231,146)] = {64,0}, + [I(232,146)] = {64,0}, + [I(233,146)] = {64,0}, + [I(234,146)] = {64,0}, + [I(235,146)] = {64,0}, + [I(236,146)] = {64,0}, + [I(237,146)] = {64,0}, + [I(238,146)] = {64,0}, + [I(239,146)] = {64,0}, + [I(240,146)] = {64,0}, + [I(241,146)] = {64,0}, + [I(242,146)] = {64,0}, + [I(243,146)] = {64,0}, + [I(244,146)] = {64,0}, + [I(245,146)] = {64,0}, + [I(246,146)] = {64,0}, + [I(247,146)] = {64,0}, + [I(248,146)] = {64,0}, + [I(249,146)] = {64,0}, + [I(250,146)] = {64,0}, + [I(251,146)] = {64,0}, + [I(252,146)] = {64,0}, + [I(253,146)] = {64,0}, + [I(254,146)] = {64,0}, + [I(255,146)] = {64,0}, + [I(0,147)] = {64,0}, + [I(1,147)] = {64,0}, + [I(2,147)] = {64,0}, + [I(3,147)] = {64,0}, + [I(4,147)] = {64,0}, + [I(5,147)] = {64,0}, + [I(6,147)] = {64,0}, + [I(7,147)] = {64,0}, + [I(8,147)] = {64,0}, + [I(9,147)] = {64,0}, + [I(10,147)] = {64,0}, + [I(11,147)] = {64,0}, + [I(12,147)] = {64,0}, + [I(13,147)] = {64,0}, + [I(14,147)] = {64,0}, + [I(15,147)] = {64,0}, + [I(16,147)] = {64,0}, + [I(17,147)] = {64,0}, + [I(18,147)] = {64,0}, + [I(19,147)] = {64,0}, + [I(20,147)] = {64,0}, + [I(21,147)] = {64,0}, + [I(22,147)] = {64,0}, + [I(23,147)] = {64,0}, + [I(24,147)] = {64,0}, + [I(25,147)] = {64,0}, + [I(26,147)] = {64,0}, + [I(27,147)] = {64,0}, + [I(28,147)] = {64,0}, + [I(29,147)] = {64,0}, + [I(30,147)] = {64,0}, + [I(31,147)] = {64,0}, + [I(32,147)] = {29,0xA7FFFE0}, + [I(33,147)] = {64,0}, + [I(34,147)] = {64,0}, + [I(35,147)] = {64,0}, + [I(36,147)] = {64,0}, + [I(37,147)] = {29,0xAFFFFE0}, + [I(38,147)] = {31,0x7C7FFFE0}, + [I(39,147)] = {64,0}, + [I(40,147)] = {64,0}, + [I(41,147)] = {64,0}, + [I(42,147)] = {31,0x7CFFFFE0}, + [I(43,147)] = {64,0}, + [I(44,147)] = {31,0x7D7FFFE0}, + [I(45,147)] = {29,0xB7FFFE0}, + [I(46,147)] = {29,0xBFFFFE0}, + [I(47,147)] = {29,0xC7FFFE0}, + [I(48,147)] = {28,0x7FFFE0}, + [I(49,147)] = {28,0xFFFFE0}, + [I(50,147)] = {28,0x17FFFE0}, + [I(51,147)] = {29,0xCFFFFE0}, + [I(52,147)] = {29,0xD7FFFE0}, + [I(53,147)] = {29,0xDFFFFE0}, + [I(54,147)] = {29,0xE7FFFE0}, + [I(55,147)] = {29,0xEFFFFE0}, + [I(56,147)] = {29,0xF7FFFE0}, + [I(57,147)] = {29,0xFFFFFE0}, + [I(58,147)] = {30,0x2E7FFFE0}, + [I(59,147)] = {31,0x7DFFFFE0}, + [I(60,147)] = {64,0}, + [I(61,147)] = {29,0x107FFFE0}, + [I(62,147)] = {64,0}, + [I(63,147)] = {64,0}, + [I(64,147)] = {64,0}, + [I(65,147)] = {29,0x10FFFFE0}, + [I(66,147)] = {30,0x2EFFFFE0}, + [I(67,147)] = {30,0x2F7FFFE0}, + [I(68,147)] = {30,0x2FFFFFE0}, + [I(69,147)] = {30,0x307FFFE0}, + [I(70,147)] = {30,0x30FFFFE0}, + [I(71,147)] = {30,0x317FFFE0}, + [I(72,147)] = {30,0x31FFFFE0}, + [I(73,147)] = {30,0x327FFFE0}, + [I(74,147)] = {30,0x32FFFFE0}, + [I(75,147)] = {30,0x337FFFE0}, + [I(76,147)] = {30,0x33FFFFE0}, + [I(77,147)] = {30,0x347FFFE0}, + [I(78,147)] = {30,0x34FFFFE0}, + [I(79,147)] = {30,0x357FFFE0}, + [I(80,147)] = {30,0x35FFFFE0}, + [I(81,147)] = {30,0x367FFFE0}, + [I(82,147)] = {30,0x36FFFFE0}, + [I(83,147)] = {30,0x377FFFE0}, + [I(84,147)] = {30,0x37FFFFE0}, + [I(85,147)] = {30,0x387FFFE0}, + [I(86,147)] = {30,0x38FFFFE0}, + [I(87,147)] = {30,0x397FFFE0}, + [I(88,147)] = {31,0x7E7FFFE0}, + [I(89,147)] = {30,0x39FFFFE0}, + [I(90,147)] = {31,0x7EFFFFE0}, + [I(91,147)] = {64,0}, + [I(92,147)] = {64,0}, + [I(93,147)] = {64,0}, + [I(94,147)] = {64,0}, + [I(95,147)] = {29,0x117FFFE0}, + [I(96,147)] = {64,0}, + [I(97,147)] = {28,0x1FFFFE0}, + [I(98,147)] = {29,0x11FFFFE0}, + [I(99,147)] = {28,0x27FFFE0}, + [I(100,147)] = {29,0x127FFFE0}, + [I(101,147)] = {28,0x2FFFFE0}, + [I(102,147)] = {29,0x12FFFFE0}, + [I(103,147)] = {29,0x137FFFE0}, + [I(104,147)] = {29,0x13FFFFE0}, + [I(105,147)] = {28,0x37FFFE0}, + [I(106,147)] = {30,0x3A7FFFE0}, + [I(107,147)] = {30,0x3AFFFFE0}, + [I(108,147)] = {29,0x147FFFE0}, + [I(109,147)] = {29,0x14FFFFE0}, + [I(110,147)] = {29,0x157FFFE0}, + [I(111,147)] = {28,0x3FFFFE0}, + [I(112,147)] = {29,0x15FFFFE0}, + [I(113,147)] = {30,0x3B7FFFE0}, + [I(114,147)] = {29,0x167FFFE0}, + [I(115,147)] = {28,0x47FFFE0}, + [I(116,147)] = {28,0x4FFFFE0}, + [I(117,147)] = {29,0x16FFFFE0}, + [I(118,147)] = {30,0x3BFFFFE0}, + [I(119,147)] = {30,0x3C7FFFE0}, + [I(120,147)] = {30,0x3CFFFFE0}, + [I(121,147)] = {30,0x3D7FFFE0}, + [I(122,147)] = {30,0x3DFFFFE0}, + [I(123,147)] = {64,0}, + [I(124,147)] = {64,0}, + [I(125,147)] = {64,0}, + [I(126,147)] = {64,0}, + [I(127,147)] = {64,0}, + [I(128,147)] = {64,0}, + [I(129,147)] = {64,0}, + [I(130,147)] = {64,0}, + [I(131,147)] = {64,0}, + [I(132,147)] = {64,0}, + [I(133,147)] = {64,0}, + [I(134,147)] = {64,0}, + [I(135,147)] = {64,0}, + [I(136,147)] = {64,0}, + [I(137,147)] = {64,0}, + [I(138,147)] = {64,0}, + [I(139,147)] = {64,0}, + [I(140,147)] = {64,0}, + [I(141,147)] = {64,0}, + [I(142,147)] = {64,0}, + [I(143,147)] = {64,0}, + [I(144,147)] = {64,0}, + [I(145,147)] = {64,0}, + [I(146,147)] = {64,0}, + [I(147,147)] = {64,0}, + [I(148,147)] = {64,0}, + [I(149,147)] = {64,0}, + [I(150,147)] = {64,0}, + [I(151,147)] = {64,0}, + [I(152,147)] = {64,0}, + [I(153,147)] = {64,0}, + [I(154,147)] = {64,0}, + [I(155,147)] = {64,0}, + [I(156,147)] = {64,0}, + [I(157,147)] = {64,0}, + [I(158,147)] = {64,0}, + [I(159,147)] = {64,0}, + [I(160,147)] = {64,0}, + [I(161,147)] = {64,0}, + [I(162,147)] = {64,0}, + [I(163,147)] = {64,0}, + [I(164,147)] = {64,0}, + [I(165,147)] = {64,0}, + [I(166,147)] = {64,0}, + [I(167,147)] = {64,0}, + [I(168,147)] = {64,0}, + [I(169,147)] = {64,0}, + [I(170,147)] = {64,0}, + [I(171,147)] = {64,0}, + [I(172,147)] = {64,0}, + [I(173,147)] = {64,0}, + [I(174,147)] = {64,0}, + [I(175,147)] = {64,0}, + [I(176,147)] = {64,0}, + [I(177,147)] = {64,0}, + [I(178,147)] = {64,0}, + [I(179,147)] = {64,0}, + [I(180,147)] = {64,0}, + [I(181,147)] = {64,0}, + [I(182,147)] = {64,0}, + [I(183,147)] = {64,0}, + [I(184,147)] = {64,0}, + [I(185,147)] = {64,0}, + [I(186,147)] = {64,0}, + [I(187,147)] = {64,0}, + [I(188,147)] = {64,0}, + [I(189,147)] = {64,0}, + [I(190,147)] = {64,0}, + [I(191,147)] = {64,0}, + [I(192,147)] = {64,0}, + [I(193,147)] = {64,0}, + [I(194,147)] = {64,0}, + [I(195,147)] = {64,0}, + [I(196,147)] = {64,0}, + [I(197,147)] = {64,0}, + [I(198,147)] = {64,0}, + [I(199,147)] = {64,0}, + [I(200,147)] = {64,0}, + [I(201,147)] = {64,0}, + [I(202,147)] = {64,0}, + [I(203,147)] = {64,0}, + [I(204,147)] = {64,0}, + [I(205,147)] = {64,0}, + [I(206,147)] = {64,0}, + [I(207,147)] = {64,0}, + [I(208,147)] = {64,0}, + [I(209,147)] = {64,0}, + [I(210,147)] = {64,0}, + [I(211,147)] = {64,0}, + [I(212,147)] = {64,0}, + [I(213,147)] = {64,0}, + [I(214,147)] = {64,0}, + [I(215,147)] = {64,0}, + [I(216,147)] = {64,0}, + [I(217,147)] = {64,0}, + [I(218,147)] = {64,0}, + [I(219,147)] = {64,0}, + [I(220,147)] = {64,0}, + [I(221,147)] = {64,0}, + [I(222,147)] = {64,0}, + [I(223,147)] = {64,0}, + [I(224,147)] = {64,0}, + [I(225,147)] = {64,0}, + [I(226,147)] = {64,0}, + [I(227,147)] = {64,0}, + [I(228,147)] = {64,0}, + [I(229,147)] = {64,0}, + [I(230,147)] = {64,0}, + [I(231,147)] = {64,0}, + [I(232,147)] = {64,0}, + [I(233,147)] = {64,0}, + [I(234,147)] = {64,0}, + [I(235,147)] = {64,0}, + [I(236,147)] = {64,0}, + [I(237,147)] = {64,0}, + [I(238,147)] = {64,0}, + [I(239,147)] = {64,0}, + [I(240,147)] = {64,0}, + [I(241,147)] = {64,0}, + [I(242,147)] = {64,0}, + [I(243,147)] = {64,0}, + [I(244,147)] = {64,0}, + [I(245,147)] = {64,0}, + [I(246,147)] = {64,0}, + [I(247,147)] = {64,0}, + [I(248,147)] = {64,0}, + [I(249,147)] = {64,0}, + [I(250,147)] = {64,0}, + [I(251,147)] = {64,0}, + [I(252,147)] = {64,0}, + [I(253,147)] = {64,0}, + [I(254,147)] = {64,0}, + [I(255,147)] = {64,0}, + [I(0,148)] = {64,0}, + [I(1,148)] = {64,0}, + [I(2,148)] = {64,0}, + [I(3,148)] = {64,0}, + [I(4,148)] = {64,0}, + [I(5,148)] = {64,0}, + [I(6,148)] = {64,0}, + [I(7,148)] = {64,0}, + [I(8,148)] = {64,0}, + [I(9,148)] = {64,0}, + [I(10,148)] = {64,0}, + [I(11,148)] = {64,0}, + [I(12,148)] = {64,0}, + [I(13,148)] = {64,0}, + [I(14,148)] = {64,0}, + [I(15,148)] = {64,0}, + [I(16,148)] = {64,0}, + [I(17,148)] = {64,0}, + [I(18,148)] = {64,0}, + [I(19,148)] = {64,0}, + [I(20,148)] = {64,0}, + [I(21,148)] = {64,0}, + [I(22,148)] = {64,0}, + [I(23,148)] = {64,0}, + [I(24,148)] = {64,0}, + [I(25,148)] = {64,0}, + [I(26,148)] = {64,0}, + [I(27,148)] = {64,0}, + [I(28,148)] = {64,0}, + [I(29,148)] = {64,0}, + [I(30,148)] = {64,0}, + [I(31,148)] = {64,0}, + [I(32,148)] = {30,0x14FFFFEE}, + [I(33,148)] = {64,0}, + [I(34,148)] = {64,0}, + [I(35,148)] = {64,0}, + [I(36,148)] = {64,0}, + [I(37,148)] = {30,0x15FFFFEE}, + [I(38,148)] = {X32,0xF8FFFFEE}, + [I(39,148)] = {64,0}, + [I(40,148)] = {64,0}, + [I(41,148)] = {64,0}, + [I(42,148)] = {X32,0xF9FFFFEE}, + [I(43,148)] = {64,0}, + [I(44,148)] = {X32,0xFAFFFFEE}, + [I(45,148)] = {30,0x16FFFFEE}, + [I(46,148)] = {30,0x17FFFFEE}, + [I(47,148)] = {30,0x18FFFFEE}, + [I(48,148)] = {29,0xFFFFEE}, + [I(49,148)] = {29,0x1FFFFEE}, + [I(50,148)] = {29,0x2FFFFEE}, + [I(51,148)] = {30,0x19FFFFEE}, + [I(52,148)] = {30,0x1AFFFFEE}, + [I(53,148)] = {30,0x1BFFFFEE}, + [I(54,148)] = {30,0x1CFFFFEE}, + [I(55,148)] = {30,0x1DFFFFEE}, + [I(56,148)] = {30,0x1EFFFFEE}, + [I(57,148)] = {30,0x1FFFFFEE}, + [I(58,148)] = {31,0x5CFFFFEE}, + [I(59,148)] = {X32,0xFBFFFFEE}, + [I(60,148)] = {64,0}, + [I(61,148)] = {30,0x20FFFFEE}, + [I(62,148)] = {64,0}, + [I(63,148)] = {64,0}, + [I(64,148)] = {64,0}, + [I(65,148)] = {30,0x21FFFFEE}, + [I(66,148)] = {31,0x5DFFFFEE}, + [I(67,148)] = {31,0x5EFFFFEE}, + [I(68,148)] = {31,0x5FFFFFEE}, + [I(69,148)] = {31,0x60FFFFEE}, + [I(70,148)] = {31,0x61FFFFEE}, + [I(71,148)] = {31,0x62FFFFEE}, + [I(72,148)] = {31,0x63FFFFEE}, + [I(73,148)] = {31,0x64FFFFEE}, + [I(74,148)] = {31,0x65FFFFEE}, + [I(75,148)] = {31,0x66FFFFEE}, + [I(76,148)] = {31,0x67FFFFEE}, + [I(77,148)] = {31,0x68FFFFEE}, + [I(78,148)] = {31,0x69FFFFEE}, + [I(79,148)] = {31,0x6AFFFFEE}, + [I(80,148)] = {31,0x6BFFFFEE}, + [I(81,148)] = {31,0x6CFFFFEE}, + [I(82,148)] = {31,0x6DFFFFEE}, + [I(83,148)] = {31,0x6EFFFFEE}, + [I(84,148)] = {31,0x6FFFFFEE}, + [I(85,148)] = {31,0x70FFFFEE}, + [I(86,148)] = {31,0x71FFFFEE}, + [I(87,148)] = {31,0x72FFFFEE}, + [I(88,148)] = {X32,0xFCFFFFEE}, + [I(89,148)] = {31,0x73FFFFEE}, + [I(90,148)] = {X32,0xFDFFFFEE}, + [I(91,148)] = {64,0}, + [I(92,148)] = {64,0}, + [I(93,148)] = {64,0}, + [I(94,148)] = {64,0}, + [I(95,148)] = {30,0x22FFFFEE}, + [I(96,148)] = {64,0}, + [I(97,148)] = {29,0x3FFFFEE}, + [I(98,148)] = {30,0x23FFFFEE}, + [I(99,148)] = {29,0x4FFFFEE}, + [I(100,148)] = {30,0x24FFFFEE}, + [I(101,148)] = {29,0x5FFFFEE}, + [I(102,148)] = {30,0x25FFFFEE}, + [I(103,148)] = {30,0x26FFFFEE}, + [I(104,148)] = {30,0x27FFFFEE}, + [I(105,148)] = {29,0x6FFFFEE}, + [I(106,148)] = {31,0x74FFFFEE}, + [I(107,148)] = {31,0x75FFFFEE}, + [I(108,148)] = {30,0x28FFFFEE}, + [I(109,148)] = {30,0x29FFFFEE}, + [I(110,148)] = {30,0x2AFFFFEE}, + [I(111,148)] = {29,0x7FFFFEE}, + [I(112,148)] = {30,0x2BFFFFEE}, + [I(113,148)] = {31,0x76FFFFEE}, + [I(114,148)] = {30,0x2CFFFFEE}, + [I(115,148)] = {29,0x8FFFFEE}, + [I(116,148)] = {29,0x9FFFFEE}, + [I(117,148)] = {30,0x2DFFFFEE}, + [I(118,148)] = {31,0x77FFFFEE}, + [I(119,148)] = {31,0x78FFFFEE}, + [I(120,148)] = {31,0x79FFFFEE}, + [I(121,148)] = {31,0x7AFFFFEE}, + [I(122,148)] = {31,0x7BFFFFEE}, + [I(123,148)] = {64,0}, + [I(124,148)] = {64,0}, + [I(125,148)] = {64,0}, + [I(126,148)] = {64,0}, + [I(127,148)] = {64,0}, + [I(128,148)] = {64,0}, + [I(129,148)] = {64,0}, + [I(130,148)] = {64,0}, + [I(131,148)] = {64,0}, + [I(132,148)] = {64,0}, + [I(133,148)] = {64,0}, + [I(134,148)] = {64,0}, + [I(135,148)] = {64,0}, + [I(136,148)] = {64,0}, + [I(137,148)] = {64,0}, + [I(138,148)] = {64,0}, + [I(139,148)] = {64,0}, + [I(140,148)] = {64,0}, + [I(141,148)] = {64,0}, + [I(142,148)] = {64,0}, + [I(143,148)] = {64,0}, + [I(144,148)] = {64,0}, + [I(145,148)] = {64,0}, + [I(146,148)] = {64,0}, + [I(147,148)] = {64,0}, + [I(148,148)] = {64,0}, + [I(149,148)] = {64,0}, + [I(150,148)] = {64,0}, + [I(151,148)] = {64,0}, + [I(152,148)] = {64,0}, + [I(153,148)] = {64,0}, + [I(154,148)] = {64,0}, + [I(155,148)] = {64,0}, + [I(156,148)] = {64,0}, + [I(157,148)] = {64,0}, + [I(158,148)] = {64,0}, + [I(159,148)] = {64,0}, + [I(160,148)] = {64,0}, + [I(161,148)] = {64,0}, + [I(162,148)] = {64,0}, + [I(163,148)] = {64,0}, + [I(164,148)] = {64,0}, + [I(165,148)] = {64,0}, + [I(166,148)] = {64,0}, + [I(167,148)] = {64,0}, + [I(168,148)] = {64,0}, + [I(169,148)] = {64,0}, + [I(170,148)] = {64,0}, + [I(171,148)] = {64,0}, + [I(172,148)] = {64,0}, + [I(173,148)] = {64,0}, + [I(174,148)] = {64,0}, + [I(175,148)] = {64,0}, + [I(176,148)] = {64,0}, + [I(177,148)] = {64,0}, + [I(178,148)] = {64,0}, + [I(179,148)] = {64,0}, + [I(180,148)] = {64,0}, + [I(181,148)] = {64,0}, + [I(182,148)] = {64,0}, + [I(183,148)] = {64,0}, + [I(184,148)] = {64,0}, + [I(185,148)] = {64,0}, + [I(186,148)] = {64,0}, + [I(187,148)] = {64,0}, + [I(188,148)] = {64,0}, + [I(189,148)] = {64,0}, + [I(190,148)] = {64,0}, + [I(191,148)] = {64,0}, + [I(192,148)] = {64,0}, + [I(193,148)] = {64,0}, + [I(194,148)] = {64,0}, + [I(195,148)] = {64,0}, + [I(196,148)] = {64,0}, + [I(197,148)] = {64,0}, + [I(198,148)] = {64,0}, + [I(199,148)] = {64,0}, + [I(200,148)] = {64,0}, + [I(201,148)] = {64,0}, + [I(202,148)] = {64,0}, + [I(203,148)] = {64,0}, + [I(204,148)] = {64,0}, + [I(205,148)] = {64,0}, + [I(206,148)] = {64,0}, + [I(207,148)] = {64,0}, + [I(208,148)] = {64,0}, + [I(209,148)] = {64,0}, + [I(210,148)] = {64,0}, + [I(211,148)] = {64,0}, + [I(212,148)] = {64,0}, + [I(213,148)] = {64,0}, + [I(214,148)] = {64,0}, + [I(215,148)] = {64,0}, + [I(216,148)] = {64,0}, + [I(217,148)] = {64,0}, + [I(218,148)] = {64,0}, + [I(219,148)] = {64,0}, + [I(220,148)] = {64,0}, + [I(221,148)] = {64,0}, + [I(222,148)] = {64,0}, + [I(223,148)] = {64,0}, + [I(224,148)] = {64,0}, + [I(225,148)] = {64,0}, + [I(226,148)] = {64,0}, + [I(227,148)] = {64,0}, + [I(228,148)] = {64,0}, + [I(229,148)] = {64,0}, + [I(230,148)] = {64,0}, + [I(231,148)] = {64,0}, + [I(232,148)] = {64,0}, + [I(233,148)] = {64,0}, + [I(234,148)] = {64,0}, + [I(235,148)] = {64,0}, + [I(236,148)] = {64,0}, + [I(237,148)] = {64,0}, + [I(238,148)] = {64,0}, + [I(239,148)] = {64,0}, + [I(240,148)] = {64,0}, + [I(241,148)] = {64,0}, + [I(242,148)] = {64,0}, + [I(243,148)] = {64,0}, + [I(244,148)] = {64,0}, + [I(245,148)] = {64,0}, + [I(246,148)] = {64,0}, + [I(247,148)] = {64,0}, + [I(248,148)] = {64,0}, + [I(249,148)] = {64,0}, + [I(250,148)] = {64,0}, + [I(251,148)] = {64,0}, + [I(252,148)] = {64,0}, + [I(253,148)] = {64,0}, + [I(254,148)] = {64,0}, + [I(255,148)] = {64,0}, + [I(0,149)] = {64,0}, + [I(1,149)] = {64,0}, + [I(2,149)] = {64,0}, + [I(3,149)] = {64,0}, + [I(4,149)] = {64,0}, + [I(5,149)] = {64,0}, + [I(6,149)] = {64,0}, + [I(7,149)] = {64,0}, + [I(8,149)] = {64,0}, + [I(9,149)] = {64,0}, + [I(10,149)] = {64,0}, + [I(11,149)] = {64,0}, + [I(12,149)] = {64,0}, + [I(13,149)] = {64,0}, + [I(14,149)] = {64,0}, + [I(15,149)] = {64,0}, + [I(16,149)] = {64,0}, + [I(17,149)] = {64,0}, + [I(18,149)] = {64,0}, + [I(19,149)] = {64,0}, + [I(20,149)] = {64,0}, + [I(21,149)] = {64,0}, + [I(22,149)] = {64,0}, + [I(23,149)] = {64,0}, + [I(24,149)] = {64,0}, + [I(25,149)] = {64,0}, + [I(26,149)] = {64,0}, + [I(27,149)] = {64,0}, + [I(28,149)] = {64,0}, + [I(29,149)] = {64,0}, + [I(30,149)] = {64,0}, + [I(31,149)] = {64,0}, + [I(32,149)] = {29,0xA7FFFE1}, + [I(33,149)] = {64,0}, + [I(34,149)] = {64,0}, + [I(35,149)] = {64,0}, + [I(36,149)] = {64,0}, + [I(37,149)] = {29,0xAFFFFE1}, + [I(38,149)] = {31,0x7C7FFFE1}, + [I(39,149)] = {64,0}, + [I(40,149)] = {64,0}, + [I(41,149)] = {64,0}, + [I(42,149)] = {31,0x7CFFFFE1}, + [I(43,149)] = {64,0}, + [I(44,149)] = {31,0x7D7FFFE1}, + [I(45,149)] = {29,0xB7FFFE1}, + [I(46,149)] = {29,0xBFFFFE1}, + [I(47,149)] = {29,0xC7FFFE1}, + [I(48,149)] = {28,0x7FFFE1}, + [I(49,149)] = {28,0xFFFFE1}, + [I(50,149)] = {28,0x17FFFE1}, + [I(51,149)] = {29,0xCFFFFE1}, + [I(52,149)] = {29,0xD7FFFE1}, + [I(53,149)] = {29,0xDFFFFE1}, + [I(54,149)] = {29,0xE7FFFE1}, + [I(55,149)] = {29,0xEFFFFE1}, + [I(56,149)] = {29,0xF7FFFE1}, + [I(57,149)] = {29,0xFFFFFE1}, + [I(58,149)] = {30,0x2E7FFFE1}, + [I(59,149)] = {31,0x7DFFFFE1}, + [I(60,149)] = {64,0}, + [I(61,149)] = {29,0x107FFFE1}, + [I(62,149)] = {64,0}, + [I(63,149)] = {64,0}, + [I(64,149)] = {64,0}, + [I(65,149)] = {29,0x10FFFFE1}, + [I(66,149)] = {30,0x2EFFFFE1}, + [I(67,149)] = {30,0x2F7FFFE1}, + [I(68,149)] = {30,0x2FFFFFE1}, + [I(69,149)] = {30,0x307FFFE1}, + [I(70,149)] = {30,0x30FFFFE1}, + [I(71,149)] = {30,0x317FFFE1}, + [I(72,149)] = {30,0x31FFFFE1}, + [I(73,149)] = {30,0x327FFFE1}, + [I(74,149)] = {30,0x32FFFFE1}, + [I(75,149)] = {30,0x337FFFE1}, + [I(76,149)] = {30,0x33FFFFE1}, + [I(77,149)] = {30,0x347FFFE1}, + [I(78,149)] = {30,0x34FFFFE1}, + [I(79,149)] = {30,0x357FFFE1}, + [I(80,149)] = {30,0x35FFFFE1}, + [I(81,149)] = {30,0x367FFFE1}, + [I(82,149)] = {30,0x36FFFFE1}, + [I(83,149)] = {30,0x377FFFE1}, + [I(84,149)] = {30,0x37FFFFE1}, + [I(85,149)] = {30,0x387FFFE1}, + [I(86,149)] = {30,0x38FFFFE1}, + [I(87,149)] = {30,0x397FFFE1}, + [I(88,149)] = {31,0x7E7FFFE1}, + [I(89,149)] = {30,0x39FFFFE1}, + [I(90,149)] = {31,0x7EFFFFE1}, + [I(91,149)] = {64,0}, + [I(92,149)] = {64,0}, + [I(93,149)] = {64,0}, + [I(94,149)] = {64,0}, + [I(95,149)] = {29,0x117FFFE1}, + [I(96,149)] = {64,0}, + [I(97,149)] = {28,0x1FFFFE1}, + [I(98,149)] = {29,0x11FFFFE1}, + [I(99,149)] = {28,0x27FFFE1}, + [I(100,149)] = {29,0x127FFFE1}, + [I(101,149)] = {28,0x2FFFFE1}, + [I(102,149)] = {29,0x12FFFFE1}, + [I(103,149)] = {29,0x137FFFE1}, + [I(104,149)] = {29,0x13FFFFE1}, + [I(105,149)] = {28,0x37FFFE1}, + [I(106,149)] = {30,0x3A7FFFE1}, + [I(107,149)] = {30,0x3AFFFFE1}, + [I(108,149)] = {29,0x147FFFE1}, + [I(109,149)] = {29,0x14FFFFE1}, + [I(110,149)] = {29,0x157FFFE1}, + [I(111,149)] = {28,0x3FFFFE1}, + [I(112,149)] = {29,0x15FFFFE1}, + [I(113,149)] = {30,0x3B7FFFE1}, + [I(114,149)] = {29,0x167FFFE1}, + [I(115,149)] = {28,0x47FFFE1}, + [I(116,149)] = {28,0x4FFFFE1}, + [I(117,149)] = {29,0x16FFFFE1}, + [I(118,149)] = {30,0x3BFFFFE1}, + [I(119,149)] = {30,0x3C7FFFE1}, + [I(120,149)] = {30,0x3CFFFFE1}, + [I(121,149)] = {30,0x3D7FFFE1}, + [I(122,149)] = {30,0x3DFFFFE1}, + [I(123,149)] = {64,0}, + [I(124,149)] = {64,0}, + [I(125,149)] = {64,0}, + [I(126,149)] = {64,0}, + [I(127,149)] = {64,0}, + [I(128,149)] = {64,0}, + [I(129,149)] = {64,0}, + [I(130,149)] = {64,0}, + [I(131,149)] = {64,0}, + [I(132,149)] = {64,0}, + [I(133,149)] = {64,0}, + [I(134,149)] = {64,0}, + [I(135,149)] = {64,0}, + [I(136,149)] = {64,0}, + [I(137,149)] = {64,0}, + [I(138,149)] = {64,0}, + [I(139,149)] = {64,0}, + [I(140,149)] = {64,0}, + [I(141,149)] = {64,0}, + [I(142,149)] = {64,0}, + [I(143,149)] = {64,0}, + [I(144,149)] = {64,0}, + [I(145,149)] = {64,0}, + [I(146,149)] = {64,0}, + [I(147,149)] = {64,0}, + [I(148,149)] = {64,0}, + [I(149,149)] = {64,0}, + [I(150,149)] = {64,0}, + [I(151,149)] = {64,0}, + [I(152,149)] = {64,0}, + [I(153,149)] = {64,0}, + [I(154,149)] = {64,0}, + [I(155,149)] = {64,0}, + [I(156,149)] = {64,0}, + [I(157,149)] = {64,0}, + [I(158,149)] = {64,0}, + [I(159,149)] = {64,0}, + [I(160,149)] = {64,0}, + [I(161,149)] = {64,0}, + [I(162,149)] = {64,0}, + [I(163,149)] = {64,0}, + [I(164,149)] = {64,0}, + [I(165,149)] = {64,0}, + [I(166,149)] = {64,0}, + [I(167,149)] = {64,0}, + [I(168,149)] = {64,0}, + [I(169,149)] = {64,0}, + [I(170,149)] = {64,0}, + [I(171,149)] = {64,0}, + [I(172,149)] = {64,0}, + [I(173,149)] = {64,0}, + [I(174,149)] = {64,0}, + [I(175,149)] = {64,0}, + [I(176,149)] = {64,0}, + [I(177,149)] = {64,0}, + [I(178,149)] = {64,0}, + [I(179,149)] = {64,0}, + [I(180,149)] = {64,0}, + [I(181,149)] = {64,0}, + [I(182,149)] = {64,0}, + [I(183,149)] = {64,0}, + [I(184,149)] = {64,0}, + [I(185,149)] = {64,0}, + [I(186,149)] = {64,0}, + [I(187,149)] = {64,0}, + [I(188,149)] = {64,0}, + [I(189,149)] = {64,0}, + [I(190,149)] = {64,0}, + [I(191,149)] = {64,0}, + [I(192,149)] = {64,0}, + [I(193,149)] = {64,0}, + [I(194,149)] = {64,0}, + [I(195,149)] = {64,0}, + [I(196,149)] = {64,0}, + [I(197,149)] = {64,0}, + [I(198,149)] = {64,0}, + [I(199,149)] = {64,0}, + [I(200,149)] = {64,0}, + [I(201,149)] = {64,0}, + [I(202,149)] = {64,0}, + [I(203,149)] = {64,0}, + [I(204,149)] = {64,0}, + [I(205,149)] = {64,0}, + [I(206,149)] = {64,0}, + [I(207,149)] = {64,0}, + [I(208,149)] = {64,0}, + [I(209,149)] = {64,0}, + [I(210,149)] = {64,0}, + [I(211,149)] = {64,0}, + [I(212,149)] = {64,0}, + [I(213,149)] = {64,0}, + [I(214,149)] = {64,0}, + [I(215,149)] = {64,0}, + [I(216,149)] = {64,0}, + [I(217,149)] = {64,0}, + [I(218,149)] = {64,0}, + [I(219,149)] = {64,0}, + [I(220,149)] = {64,0}, + [I(221,149)] = {64,0}, + [I(222,149)] = {64,0}, + [I(223,149)] = {64,0}, + [I(224,149)] = {64,0}, + [I(225,149)] = {64,0}, + [I(226,149)] = {64,0}, + [I(227,149)] = {64,0}, + [I(228,149)] = {64,0}, + [I(229,149)] = {64,0}, + [I(230,149)] = {64,0}, + [I(231,149)] = {64,0}, + [I(232,149)] = {64,0}, + [I(233,149)] = {64,0}, + [I(234,149)] = {64,0}, + [I(235,149)] = {64,0}, + [I(236,149)] = {64,0}, + [I(237,149)] = {64,0}, + [I(238,149)] = {64,0}, + [I(239,149)] = {64,0}, + [I(240,149)] = {64,0}, + [I(241,149)] = {64,0}, + [I(242,149)] = {64,0}, + [I(243,149)] = {64,0}, + [I(244,149)] = {64,0}, + [I(245,149)] = {64,0}, + [I(246,149)] = {64,0}, + [I(247,149)] = {64,0}, + [I(248,149)] = {64,0}, + [I(249,149)] = {64,0}, + [I(250,149)] = {64,0}, + [I(251,149)] = {64,0}, + [I(252,149)] = {64,0}, + [I(253,149)] = {64,0}, + [I(254,149)] = {64,0}, + [I(255,149)] = {64,0}, + [I(0,150)] = {64,0}, + [I(1,150)] = {64,0}, + [I(2,150)] = {64,0}, + [I(3,150)] = {64,0}, + [I(4,150)] = {64,0}, + [I(5,150)] = {64,0}, + [I(6,150)] = {64,0}, + [I(7,150)] = {64,0}, + [I(8,150)] = {64,0}, + [I(9,150)] = {64,0}, + [I(10,150)] = {64,0}, + [I(11,150)] = {64,0}, + [I(12,150)] = {64,0}, + [I(13,150)] = {64,0}, + [I(14,150)] = {64,0}, + [I(15,150)] = {64,0}, + [I(16,150)] = {64,0}, + [I(17,150)] = {64,0}, + [I(18,150)] = {64,0}, + [I(19,150)] = {64,0}, + [I(20,150)] = {64,0}, + [I(21,150)] = {64,0}, + [I(22,150)] = {64,0}, + [I(23,150)] = {64,0}, + [I(24,150)] = {64,0}, + [I(25,150)] = {64,0}, + [I(26,150)] = {64,0}, + [I(27,150)] = {64,0}, + [I(28,150)] = {64,0}, + [I(29,150)] = {64,0}, + [I(30,150)] = {64,0}, + [I(31,150)] = {64,0}, + [I(32,150)] = {29,0xA7FFFE2}, + [I(33,150)] = {64,0}, + [I(34,150)] = {64,0}, + [I(35,150)] = {64,0}, + [I(36,150)] = {64,0}, + [I(37,150)] = {29,0xAFFFFE2}, + [I(38,150)] = {31,0x7C7FFFE2}, + [I(39,150)] = {64,0}, + [I(40,150)] = {64,0}, + [I(41,150)] = {64,0}, + [I(42,150)] = {31,0x7CFFFFE2}, + [I(43,150)] = {64,0}, + [I(44,150)] = {31,0x7D7FFFE2}, + [I(45,150)] = {29,0xB7FFFE2}, + [I(46,150)] = {29,0xBFFFFE2}, + [I(47,150)] = {29,0xC7FFFE2}, + [I(48,150)] = {28,0x7FFFE2}, + [I(49,150)] = {28,0xFFFFE2}, + [I(50,150)] = {28,0x17FFFE2}, + [I(51,150)] = {29,0xCFFFFE2}, + [I(52,150)] = {29,0xD7FFFE2}, + [I(53,150)] = {29,0xDFFFFE2}, + [I(54,150)] = {29,0xE7FFFE2}, + [I(55,150)] = {29,0xEFFFFE2}, + [I(56,150)] = {29,0xF7FFFE2}, + [I(57,150)] = {29,0xFFFFFE2}, + [I(58,150)] = {30,0x2E7FFFE2}, + [I(59,150)] = {31,0x7DFFFFE2}, + [I(60,150)] = {64,0}, + [I(61,150)] = {29,0x107FFFE2}, + [I(62,150)] = {64,0}, + [I(63,150)] = {64,0}, + [I(64,150)] = {64,0}, + [I(65,150)] = {29,0x10FFFFE2}, + [I(66,150)] = {30,0x2EFFFFE2}, + [I(67,150)] = {30,0x2F7FFFE2}, + [I(68,150)] = {30,0x2FFFFFE2}, + [I(69,150)] = {30,0x307FFFE2}, + [I(70,150)] = {30,0x30FFFFE2}, + [I(71,150)] = {30,0x317FFFE2}, + [I(72,150)] = {30,0x31FFFFE2}, + [I(73,150)] = {30,0x327FFFE2}, + [I(74,150)] = {30,0x32FFFFE2}, + [I(75,150)] = {30,0x337FFFE2}, + [I(76,150)] = {30,0x33FFFFE2}, + [I(77,150)] = {30,0x347FFFE2}, + [I(78,150)] = {30,0x34FFFFE2}, + [I(79,150)] = {30,0x357FFFE2}, + [I(80,150)] = {30,0x35FFFFE2}, + [I(81,150)] = {30,0x367FFFE2}, + [I(82,150)] = {30,0x36FFFFE2}, + [I(83,150)] = {30,0x377FFFE2}, + [I(84,150)] = {30,0x37FFFFE2}, + [I(85,150)] = {30,0x387FFFE2}, + [I(86,150)] = {30,0x38FFFFE2}, + [I(87,150)] = {30,0x397FFFE2}, + [I(88,150)] = {31,0x7E7FFFE2}, + [I(89,150)] = {30,0x39FFFFE2}, + [I(90,150)] = {31,0x7EFFFFE2}, + [I(91,150)] = {64,0}, + [I(92,150)] = {64,0}, + [I(93,150)] = {64,0}, + [I(94,150)] = {64,0}, + [I(95,150)] = {29,0x117FFFE2}, + [I(96,150)] = {64,0}, + [I(97,150)] = {28,0x1FFFFE2}, + [I(98,150)] = {29,0x11FFFFE2}, + [I(99,150)] = {28,0x27FFFE2}, + [I(100,150)] = {29,0x127FFFE2}, + [I(101,150)] = {28,0x2FFFFE2}, + [I(102,150)] = {29,0x12FFFFE2}, + [I(103,150)] = {29,0x137FFFE2}, + [I(104,150)] = {29,0x13FFFFE2}, + [I(105,150)] = {28,0x37FFFE2}, + [I(106,150)] = {30,0x3A7FFFE2}, + [I(107,150)] = {30,0x3AFFFFE2}, + [I(108,150)] = {29,0x147FFFE2}, + [I(109,150)] = {29,0x14FFFFE2}, + [I(110,150)] = {29,0x157FFFE2}, + [I(111,150)] = {28,0x3FFFFE2}, + [I(112,150)] = {29,0x15FFFFE2}, + [I(113,150)] = {30,0x3B7FFFE2}, + [I(114,150)] = {29,0x167FFFE2}, + [I(115,150)] = {28,0x47FFFE2}, + [I(116,150)] = {28,0x4FFFFE2}, + [I(117,150)] = {29,0x16FFFFE2}, + [I(118,150)] = {30,0x3BFFFFE2}, + [I(119,150)] = {30,0x3C7FFFE2}, + [I(120,150)] = {30,0x3CFFFFE2}, + [I(121,150)] = {30,0x3D7FFFE2}, + [I(122,150)] = {30,0x3DFFFFE2}, + [I(123,150)] = {64,0}, + [I(124,150)] = {64,0}, + [I(125,150)] = {64,0}, + [I(126,150)] = {64,0}, + [I(127,150)] = {64,0}, + [I(128,150)] = {64,0}, + [I(129,150)] = {64,0}, + [I(130,150)] = {64,0}, + [I(131,150)] = {64,0}, + [I(132,150)] = {64,0}, + [I(133,150)] = {64,0}, + [I(134,150)] = {64,0}, + [I(135,150)] = {64,0}, + [I(136,150)] = {64,0}, + [I(137,150)] = {64,0}, + [I(138,150)] = {64,0}, + [I(139,150)] = {64,0}, + [I(140,150)] = {64,0}, + [I(141,150)] = {64,0}, + [I(142,150)] = {64,0}, + [I(143,150)] = {64,0}, + [I(144,150)] = {64,0}, + [I(145,150)] = {64,0}, + [I(146,150)] = {64,0}, + [I(147,150)] = {64,0}, + [I(148,150)] = {64,0}, + [I(149,150)] = {64,0}, + [I(150,150)] = {64,0}, + [I(151,150)] = {64,0}, + [I(152,150)] = {64,0}, + [I(153,150)] = {64,0}, + [I(154,150)] = {64,0}, + [I(155,150)] = {64,0}, + [I(156,150)] = {64,0}, + [I(157,150)] = {64,0}, + [I(158,150)] = {64,0}, + [I(159,150)] = {64,0}, + [I(160,150)] = {64,0}, + [I(161,150)] = {64,0}, + [I(162,150)] = {64,0}, + [I(163,150)] = {64,0}, + [I(164,150)] = {64,0}, + [I(165,150)] = {64,0}, + [I(166,150)] = {64,0}, + [I(167,150)] = {64,0}, + [I(168,150)] = {64,0}, + [I(169,150)] = {64,0}, + [I(170,150)] = {64,0}, + [I(171,150)] = {64,0}, + [I(172,150)] = {64,0}, + [I(173,150)] = {64,0}, + [I(174,150)] = {64,0}, + [I(175,150)] = {64,0}, + [I(176,150)] = {64,0}, + [I(177,150)] = {64,0}, + [I(178,150)] = {64,0}, + [I(179,150)] = {64,0}, + [I(180,150)] = {64,0}, + [I(181,150)] = {64,0}, + [I(182,150)] = {64,0}, + [I(183,150)] = {64,0}, + [I(184,150)] = {64,0}, + [I(185,150)] = {64,0}, + [I(186,150)] = {64,0}, + [I(187,150)] = {64,0}, + [I(188,150)] = {64,0}, + [I(189,150)] = {64,0}, + [I(190,150)] = {64,0}, + [I(191,150)] = {64,0}, + [I(192,150)] = {64,0}, + [I(193,150)] = {64,0}, + [I(194,150)] = {64,0}, + [I(195,150)] = {64,0}, + [I(196,150)] = {64,0}, + [I(197,150)] = {64,0}, + [I(198,150)] = {64,0}, + [I(199,150)] = {64,0}, + [I(200,150)] = {64,0}, + [I(201,150)] = {64,0}, + [I(202,150)] = {64,0}, + [I(203,150)] = {64,0}, + [I(204,150)] = {64,0}, + [I(205,150)] = {64,0}, + [I(206,150)] = {64,0}, + [I(207,150)] = {64,0}, + [I(208,150)] = {64,0}, + [I(209,150)] = {64,0}, + [I(210,150)] = {64,0}, + [I(211,150)] = {64,0}, + [I(212,150)] = {64,0}, + [I(213,150)] = {64,0}, + [I(214,150)] = {64,0}, + [I(215,150)] = {64,0}, + [I(216,150)] = {64,0}, + [I(217,150)] = {64,0}, + [I(218,150)] = {64,0}, + [I(219,150)] = {64,0}, + [I(220,150)] = {64,0}, + [I(221,150)] = {64,0}, + [I(222,150)] = {64,0}, + [I(223,150)] = {64,0}, + [I(224,150)] = {64,0}, + [I(225,150)] = {64,0}, + [I(226,150)] = {64,0}, + [I(227,150)] = {64,0}, + [I(228,150)] = {64,0}, + [I(229,150)] = {64,0}, + [I(230,150)] = {64,0}, + [I(231,150)] = {64,0}, + [I(232,150)] = {64,0}, + [I(233,150)] = {64,0}, + [I(234,150)] = {64,0}, + [I(235,150)] = {64,0}, + [I(236,150)] = {64,0}, + [I(237,150)] = {64,0}, + [I(238,150)] = {64,0}, + [I(239,150)] = {64,0}, + [I(240,150)] = {64,0}, + [I(241,150)] = {64,0}, + [I(242,150)] = {64,0}, + [I(243,150)] = {64,0}, + [I(244,150)] = {64,0}, + [I(245,150)] = {64,0}, + [I(246,150)] = {64,0}, + [I(247,150)] = {64,0}, + [I(248,150)] = {64,0}, + [I(249,150)] = {64,0}, + [I(250,150)] = {64,0}, + [I(251,150)] = {64,0}, + [I(252,150)] = {64,0}, + [I(253,150)] = {64,0}, + [I(254,150)] = {64,0}, + [I(255,150)] = {64,0}, + [I(0,151)] = {64,0}, + [I(1,151)] = {64,0}, + [I(2,151)] = {64,0}, + [I(3,151)] = {64,0}, + [I(4,151)] = {64,0}, + [I(5,151)] = {64,0}, + [I(6,151)] = {64,0}, + [I(7,151)] = {64,0}, + [I(8,151)] = {64,0}, + [I(9,151)] = {64,0}, + [I(10,151)] = {64,0}, + [I(11,151)] = {64,0}, + [I(12,151)] = {64,0}, + [I(13,151)] = {64,0}, + [I(14,151)] = {64,0}, + [I(15,151)] = {64,0}, + [I(16,151)] = {64,0}, + [I(17,151)] = {64,0}, + [I(18,151)] = {64,0}, + [I(19,151)] = {64,0}, + [I(20,151)] = {64,0}, + [I(21,151)] = {64,0}, + [I(22,151)] = {64,0}, + [I(23,151)] = {64,0}, + [I(24,151)] = {64,0}, + [I(25,151)] = {64,0}, + [I(26,151)] = {64,0}, + [I(27,151)] = {64,0}, + [I(28,151)] = {64,0}, + [I(29,151)] = {64,0}, + [I(30,151)] = {64,0}, + [I(31,151)] = {64,0}, + [I(32,151)] = {29,0xA7FFFE3}, + [I(33,151)] = {64,0}, + [I(34,151)] = {64,0}, + [I(35,151)] = {64,0}, + [I(36,151)] = {64,0}, + [I(37,151)] = {29,0xAFFFFE3}, + [I(38,151)] = {31,0x7C7FFFE3}, + [I(39,151)] = {64,0}, + [I(40,151)] = {64,0}, + [I(41,151)] = {64,0}, + [I(42,151)] = {31,0x7CFFFFE3}, + [I(43,151)] = {64,0}, + [I(44,151)] = {31,0x7D7FFFE3}, + [I(45,151)] = {29,0xB7FFFE3}, + [I(46,151)] = {29,0xBFFFFE3}, + [I(47,151)] = {29,0xC7FFFE3}, + [I(48,151)] = {28,0x7FFFE3}, + [I(49,151)] = {28,0xFFFFE3}, + [I(50,151)] = {28,0x17FFFE3}, + [I(51,151)] = {29,0xCFFFFE3}, + [I(52,151)] = {29,0xD7FFFE3}, + [I(53,151)] = {29,0xDFFFFE3}, + [I(54,151)] = {29,0xE7FFFE3}, + [I(55,151)] = {29,0xEFFFFE3}, + [I(56,151)] = {29,0xF7FFFE3}, + [I(57,151)] = {29,0xFFFFFE3}, + [I(58,151)] = {30,0x2E7FFFE3}, + [I(59,151)] = {31,0x7DFFFFE3}, + [I(60,151)] = {64,0}, + [I(61,151)] = {29,0x107FFFE3}, + [I(62,151)] = {64,0}, + [I(63,151)] = {64,0}, + [I(64,151)] = {64,0}, + [I(65,151)] = {29,0x10FFFFE3}, + [I(66,151)] = {30,0x2EFFFFE3}, + [I(67,151)] = {30,0x2F7FFFE3}, + [I(68,151)] = {30,0x2FFFFFE3}, + [I(69,151)] = {30,0x307FFFE3}, + [I(70,151)] = {30,0x30FFFFE3}, + [I(71,151)] = {30,0x317FFFE3}, + [I(72,151)] = {30,0x31FFFFE3}, + [I(73,151)] = {30,0x327FFFE3}, + [I(74,151)] = {30,0x32FFFFE3}, + [I(75,151)] = {30,0x337FFFE3}, + [I(76,151)] = {30,0x33FFFFE3}, + [I(77,151)] = {30,0x347FFFE3}, + [I(78,151)] = {30,0x34FFFFE3}, + [I(79,151)] = {30,0x357FFFE3}, + [I(80,151)] = {30,0x35FFFFE3}, + [I(81,151)] = {30,0x367FFFE3}, + [I(82,151)] = {30,0x36FFFFE3}, + [I(83,151)] = {30,0x377FFFE3}, + [I(84,151)] = {30,0x37FFFFE3}, + [I(85,151)] = {30,0x387FFFE3}, + [I(86,151)] = {30,0x38FFFFE3}, + [I(87,151)] = {30,0x397FFFE3}, + [I(88,151)] = {31,0x7E7FFFE3}, + [I(89,151)] = {30,0x39FFFFE3}, + [I(90,151)] = {31,0x7EFFFFE3}, + [I(91,151)] = {64,0}, + [I(92,151)] = {64,0}, + [I(93,151)] = {64,0}, + [I(94,151)] = {64,0}, + [I(95,151)] = {29,0x117FFFE3}, + [I(96,151)] = {64,0}, + [I(97,151)] = {28,0x1FFFFE3}, + [I(98,151)] = {29,0x11FFFFE3}, + [I(99,151)] = {28,0x27FFFE3}, + [I(100,151)] = {29,0x127FFFE3}, + [I(101,151)] = {28,0x2FFFFE3}, + [I(102,151)] = {29,0x12FFFFE3}, + [I(103,151)] = {29,0x137FFFE3}, + [I(104,151)] = {29,0x13FFFFE3}, + [I(105,151)] = {28,0x37FFFE3}, + [I(106,151)] = {30,0x3A7FFFE3}, + [I(107,151)] = {30,0x3AFFFFE3}, + [I(108,151)] = {29,0x147FFFE3}, + [I(109,151)] = {29,0x14FFFFE3}, + [I(110,151)] = {29,0x157FFFE3}, + [I(111,151)] = {28,0x3FFFFE3}, + [I(112,151)] = {29,0x15FFFFE3}, + [I(113,151)] = {30,0x3B7FFFE3}, + [I(114,151)] = {29,0x167FFFE3}, + [I(115,151)] = {28,0x47FFFE3}, + [I(116,151)] = {28,0x4FFFFE3}, + [I(117,151)] = {29,0x16FFFFE3}, + [I(118,151)] = {30,0x3BFFFFE3}, + [I(119,151)] = {30,0x3C7FFFE3}, + [I(120,151)] = {30,0x3CFFFFE3}, + [I(121,151)] = {30,0x3D7FFFE3}, + [I(122,151)] = {30,0x3DFFFFE3}, + [I(123,151)] = {64,0}, + [I(124,151)] = {64,0}, + [I(125,151)] = {64,0}, + [I(126,151)] = {64,0}, + [I(127,151)] = {64,0}, + [I(128,151)] = {64,0}, + [I(129,151)] = {64,0}, + [I(130,151)] = {64,0}, + [I(131,151)] = {64,0}, + [I(132,151)] = {64,0}, + [I(133,151)] = {64,0}, + [I(134,151)] = {64,0}, + [I(135,151)] = {64,0}, + [I(136,151)] = {64,0}, + [I(137,151)] = {64,0}, + [I(138,151)] = {64,0}, + [I(139,151)] = {64,0}, + [I(140,151)] = {64,0}, + [I(141,151)] = {64,0}, + [I(142,151)] = {64,0}, + [I(143,151)] = {64,0}, + [I(144,151)] = {64,0}, + [I(145,151)] = {64,0}, + [I(146,151)] = {64,0}, + [I(147,151)] = {64,0}, + [I(148,151)] = {64,0}, + [I(149,151)] = {64,0}, + [I(150,151)] = {64,0}, + [I(151,151)] = {64,0}, + [I(152,151)] = {64,0}, + [I(153,151)] = {64,0}, + [I(154,151)] = {64,0}, + [I(155,151)] = {64,0}, + [I(156,151)] = {64,0}, + [I(157,151)] = {64,0}, + [I(158,151)] = {64,0}, + [I(159,151)] = {64,0}, + [I(160,151)] = {64,0}, + [I(161,151)] = {64,0}, + [I(162,151)] = {64,0}, + [I(163,151)] = {64,0}, + [I(164,151)] = {64,0}, + [I(165,151)] = {64,0}, + [I(166,151)] = {64,0}, + [I(167,151)] = {64,0}, + [I(168,151)] = {64,0}, + [I(169,151)] = {64,0}, + [I(170,151)] = {64,0}, + [I(171,151)] = {64,0}, + [I(172,151)] = {64,0}, + [I(173,151)] = {64,0}, + [I(174,151)] = {64,0}, + [I(175,151)] = {64,0}, + [I(176,151)] = {64,0}, + [I(177,151)] = {64,0}, + [I(178,151)] = {64,0}, + [I(179,151)] = {64,0}, + [I(180,151)] = {64,0}, + [I(181,151)] = {64,0}, + [I(182,151)] = {64,0}, + [I(183,151)] = {64,0}, + [I(184,151)] = {64,0}, + [I(185,151)] = {64,0}, + [I(186,151)] = {64,0}, + [I(187,151)] = {64,0}, + [I(188,151)] = {64,0}, + [I(189,151)] = {64,0}, + [I(190,151)] = {64,0}, + [I(191,151)] = {64,0}, + [I(192,151)] = {64,0}, + [I(193,151)] = {64,0}, + [I(194,151)] = {64,0}, + [I(195,151)] = {64,0}, + [I(196,151)] = {64,0}, + [I(197,151)] = {64,0}, + [I(198,151)] = {64,0}, + [I(199,151)] = {64,0}, + [I(200,151)] = {64,0}, + [I(201,151)] = {64,0}, + [I(202,151)] = {64,0}, + [I(203,151)] = {64,0}, + [I(204,151)] = {64,0}, + [I(205,151)] = {64,0}, + [I(206,151)] = {64,0}, + [I(207,151)] = {64,0}, + [I(208,151)] = {64,0}, + [I(209,151)] = {64,0}, + [I(210,151)] = {64,0}, + [I(211,151)] = {64,0}, + [I(212,151)] = {64,0}, + [I(213,151)] = {64,0}, + [I(214,151)] = {64,0}, + [I(215,151)] = {64,0}, + [I(216,151)] = {64,0}, + [I(217,151)] = {64,0}, + [I(218,151)] = {64,0}, + [I(219,151)] = {64,0}, + [I(220,151)] = {64,0}, + [I(221,151)] = {64,0}, + [I(222,151)] = {64,0}, + [I(223,151)] = {64,0}, + [I(224,151)] = {64,0}, + [I(225,151)] = {64,0}, + [I(226,151)] = {64,0}, + [I(227,151)] = {64,0}, + [I(228,151)] = {64,0}, + [I(229,151)] = {64,0}, + [I(230,151)] = {64,0}, + [I(231,151)] = {64,0}, + [I(232,151)] = {64,0}, + [I(233,151)] = {64,0}, + [I(234,151)] = {64,0}, + [I(235,151)] = {64,0}, + [I(236,151)] = {64,0}, + [I(237,151)] = {64,0}, + [I(238,151)] = {64,0}, + [I(239,151)] = {64,0}, + [I(240,151)] = {64,0}, + [I(241,151)] = {64,0}, + [I(242,151)] = {64,0}, + [I(243,151)] = {64,0}, + [I(244,151)] = {64,0}, + [I(245,151)] = {64,0}, + [I(246,151)] = {64,0}, + [I(247,151)] = {64,0}, + [I(248,151)] = {64,0}, + [I(249,151)] = {64,0}, + [I(250,151)] = {64,0}, + [I(251,151)] = {64,0}, + [I(252,151)] = {64,0}, + [I(253,151)] = {64,0}, + [I(254,151)] = {64,0}, + [I(255,151)] = {64,0}, + [I(0,152)] = {64,0}, + [I(1,152)] = {64,0}, + [I(2,152)] = {64,0}, + [I(3,152)] = {64,0}, + [I(4,152)] = {64,0}, + [I(5,152)] = {64,0}, + [I(6,152)] = {64,0}, + [I(7,152)] = {64,0}, + [I(8,152)] = {64,0}, + [I(9,152)] = {64,0}, + [I(10,152)] = {64,0}, + [I(11,152)] = {64,0}, + [I(12,152)] = {64,0}, + [I(13,152)] = {64,0}, + [I(14,152)] = {64,0}, + [I(15,152)] = {64,0}, + [I(16,152)] = {64,0}, + [I(17,152)] = {64,0}, + [I(18,152)] = {64,0}, + [I(19,152)] = {64,0}, + [I(20,152)] = {64,0}, + [I(21,152)] = {64,0}, + [I(22,152)] = {64,0}, + [I(23,152)] = {64,0}, + [I(24,152)] = {64,0}, + [I(25,152)] = {64,0}, + [I(26,152)] = {64,0}, + [I(27,152)] = {64,0}, + [I(28,152)] = {64,0}, + [I(29,152)] = {64,0}, + [I(30,152)] = {64,0}, + [I(31,152)] = {64,0}, + [I(32,152)] = {29,0xA7FFFE4}, + [I(33,152)] = {64,0}, + [I(34,152)] = {64,0}, + [I(35,152)] = {64,0}, + [I(36,152)] = {64,0}, + [I(37,152)] = {29,0xAFFFFE4}, + [I(38,152)] = {31,0x7C7FFFE4}, + [I(39,152)] = {64,0}, + [I(40,152)] = {64,0}, + [I(41,152)] = {64,0}, + [I(42,152)] = {31,0x7CFFFFE4}, + [I(43,152)] = {64,0}, + [I(44,152)] = {31,0x7D7FFFE4}, + [I(45,152)] = {29,0xB7FFFE4}, + [I(46,152)] = {29,0xBFFFFE4}, + [I(47,152)] = {29,0xC7FFFE4}, + [I(48,152)] = {28,0x7FFFE4}, + [I(49,152)] = {28,0xFFFFE4}, + [I(50,152)] = {28,0x17FFFE4}, + [I(51,152)] = {29,0xCFFFFE4}, + [I(52,152)] = {29,0xD7FFFE4}, + [I(53,152)] = {29,0xDFFFFE4}, + [I(54,152)] = {29,0xE7FFFE4}, + [I(55,152)] = {29,0xEFFFFE4}, + [I(56,152)] = {29,0xF7FFFE4}, + [I(57,152)] = {29,0xFFFFFE4}, + [I(58,152)] = {30,0x2E7FFFE4}, + [I(59,152)] = {31,0x7DFFFFE4}, + [I(60,152)] = {64,0}, + [I(61,152)] = {29,0x107FFFE4}, + [I(62,152)] = {64,0}, + [I(63,152)] = {64,0}, + [I(64,152)] = {64,0}, + [I(65,152)] = {29,0x10FFFFE4}, + [I(66,152)] = {30,0x2EFFFFE4}, + [I(67,152)] = {30,0x2F7FFFE4}, + [I(68,152)] = {30,0x2FFFFFE4}, + [I(69,152)] = {30,0x307FFFE4}, + [I(70,152)] = {30,0x30FFFFE4}, + [I(71,152)] = {30,0x317FFFE4}, + [I(72,152)] = {30,0x31FFFFE4}, + [I(73,152)] = {30,0x327FFFE4}, + [I(74,152)] = {30,0x32FFFFE4}, + [I(75,152)] = {30,0x337FFFE4}, + [I(76,152)] = {30,0x33FFFFE4}, + [I(77,152)] = {30,0x347FFFE4}, + [I(78,152)] = {30,0x34FFFFE4}, + [I(79,152)] = {30,0x357FFFE4}, + [I(80,152)] = {30,0x35FFFFE4}, + [I(81,152)] = {30,0x367FFFE4}, + [I(82,152)] = {30,0x36FFFFE4}, + [I(83,152)] = {30,0x377FFFE4}, + [I(84,152)] = {30,0x37FFFFE4}, + [I(85,152)] = {30,0x387FFFE4}, + [I(86,152)] = {30,0x38FFFFE4}, + [I(87,152)] = {30,0x397FFFE4}, + [I(88,152)] = {31,0x7E7FFFE4}, + [I(89,152)] = {30,0x39FFFFE4}, + [I(90,152)] = {31,0x7EFFFFE4}, + [I(91,152)] = {64,0}, + [I(92,152)] = {64,0}, + [I(93,152)] = {64,0}, + [I(94,152)] = {64,0}, + [I(95,152)] = {29,0x117FFFE4}, + [I(96,152)] = {64,0}, + [I(97,152)] = {28,0x1FFFFE4}, + [I(98,152)] = {29,0x11FFFFE4}, + [I(99,152)] = {28,0x27FFFE4}, + [I(100,152)] = {29,0x127FFFE4}, + [I(101,152)] = {28,0x2FFFFE4}, + [I(102,152)] = {29,0x12FFFFE4}, + [I(103,152)] = {29,0x137FFFE4}, + [I(104,152)] = {29,0x13FFFFE4}, + [I(105,152)] = {28,0x37FFFE4}, + [I(106,152)] = {30,0x3A7FFFE4}, + [I(107,152)] = {30,0x3AFFFFE4}, + [I(108,152)] = {29,0x147FFFE4}, + [I(109,152)] = {29,0x14FFFFE4}, + [I(110,152)] = {29,0x157FFFE4}, + [I(111,152)] = {28,0x3FFFFE4}, + [I(112,152)] = {29,0x15FFFFE4}, + [I(113,152)] = {30,0x3B7FFFE4}, + [I(114,152)] = {29,0x167FFFE4}, + [I(115,152)] = {28,0x47FFFE4}, + [I(116,152)] = {28,0x4FFFFE4}, + [I(117,152)] = {29,0x16FFFFE4}, + [I(118,152)] = {30,0x3BFFFFE4}, + [I(119,152)] = {30,0x3C7FFFE4}, + [I(120,152)] = {30,0x3CFFFFE4}, + [I(121,152)] = {30,0x3D7FFFE4}, + [I(122,152)] = {30,0x3DFFFFE4}, + [I(123,152)] = {64,0}, + [I(124,152)] = {64,0}, + [I(125,152)] = {64,0}, + [I(126,152)] = {64,0}, + [I(127,152)] = {64,0}, + [I(128,152)] = {64,0}, + [I(129,152)] = {64,0}, + [I(130,152)] = {64,0}, + [I(131,152)] = {64,0}, + [I(132,152)] = {64,0}, + [I(133,152)] = {64,0}, + [I(134,152)] = {64,0}, + [I(135,152)] = {64,0}, + [I(136,152)] = {64,0}, + [I(137,152)] = {64,0}, + [I(138,152)] = {64,0}, + [I(139,152)] = {64,0}, + [I(140,152)] = {64,0}, + [I(141,152)] = {64,0}, + [I(142,152)] = {64,0}, + [I(143,152)] = {64,0}, + [I(144,152)] = {64,0}, + [I(145,152)] = {64,0}, + [I(146,152)] = {64,0}, + [I(147,152)] = {64,0}, + [I(148,152)] = {64,0}, + [I(149,152)] = {64,0}, + [I(150,152)] = {64,0}, + [I(151,152)] = {64,0}, + [I(152,152)] = {64,0}, + [I(153,152)] = {64,0}, + [I(154,152)] = {64,0}, + [I(155,152)] = {64,0}, + [I(156,152)] = {64,0}, + [I(157,152)] = {64,0}, + [I(158,152)] = {64,0}, + [I(159,152)] = {64,0}, + [I(160,152)] = {64,0}, + [I(161,152)] = {64,0}, + [I(162,152)] = {64,0}, + [I(163,152)] = {64,0}, + [I(164,152)] = {64,0}, + [I(165,152)] = {64,0}, + [I(166,152)] = {64,0}, + [I(167,152)] = {64,0}, + [I(168,152)] = {64,0}, + [I(169,152)] = {64,0}, + [I(170,152)] = {64,0}, + [I(171,152)] = {64,0}, + [I(172,152)] = {64,0}, + [I(173,152)] = {64,0}, + [I(174,152)] = {64,0}, + [I(175,152)] = {64,0}, + [I(176,152)] = {64,0}, + [I(177,152)] = {64,0}, + [I(178,152)] = {64,0}, + [I(179,152)] = {64,0}, + [I(180,152)] = {64,0}, + [I(181,152)] = {64,0}, + [I(182,152)] = {64,0}, + [I(183,152)] = {64,0}, + [I(184,152)] = {64,0}, + [I(185,152)] = {64,0}, + [I(186,152)] = {64,0}, + [I(187,152)] = {64,0}, + [I(188,152)] = {64,0}, + [I(189,152)] = {64,0}, + [I(190,152)] = {64,0}, + [I(191,152)] = {64,0}, + [I(192,152)] = {64,0}, + [I(193,152)] = {64,0}, + [I(194,152)] = {64,0}, + [I(195,152)] = {64,0}, + [I(196,152)] = {64,0}, + [I(197,152)] = {64,0}, + [I(198,152)] = {64,0}, + [I(199,152)] = {64,0}, + [I(200,152)] = {64,0}, + [I(201,152)] = {64,0}, + [I(202,152)] = {64,0}, + [I(203,152)] = {64,0}, + [I(204,152)] = {64,0}, + [I(205,152)] = {64,0}, + [I(206,152)] = {64,0}, + [I(207,152)] = {64,0}, + [I(208,152)] = {64,0}, + [I(209,152)] = {64,0}, + [I(210,152)] = {64,0}, + [I(211,152)] = {64,0}, + [I(212,152)] = {64,0}, + [I(213,152)] = {64,0}, + [I(214,152)] = {64,0}, + [I(215,152)] = {64,0}, + [I(216,152)] = {64,0}, + [I(217,152)] = {64,0}, + [I(218,152)] = {64,0}, + [I(219,152)] = {64,0}, + [I(220,152)] = {64,0}, + [I(221,152)] = {64,0}, + [I(222,152)] = {64,0}, + [I(223,152)] = {64,0}, + [I(224,152)] = {64,0}, + [I(225,152)] = {64,0}, + [I(226,152)] = {64,0}, + [I(227,152)] = {64,0}, + [I(228,152)] = {64,0}, + [I(229,152)] = {64,0}, + [I(230,152)] = {64,0}, + [I(231,152)] = {64,0}, + [I(232,152)] = {64,0}, + [I(233,152)] = {64,0}, + [I(234,152)] = {64,0}, + [I(235,152)] = {64,0}, + [I(236,152)] = {64,0}, + [I(237,152)] = {64,0}, + [I(238,152)] = {64,0}, + [I(239,152)] = {64,0}, + [I(240,152)] = {64,0}, + [I(241,152)] = {64,0}, + [I(242,152)] = {64,0}, + [I(243,152)] = {64,0}, + [I(244,152)] = {64,0}, + [I(245,152)] = {64,0}, + [I(246,152)] = {64,0}, + [I(247,152)] = {64,0}, + [I(248,152)] = {64,0}, + [I(249,152)] = {64,0}, + [I(250,152)] = {64,0}, + [I(251,152)] = {64,0}, + [I(252,152)] = {64,0}, + [I(253,152)] = {64,0}, + [I(254,152)] = {64,0}, + [I(255,152)] = {64,0}, + [I(0,153)] = {64,0}, + [I(1,153)] = {64,0}, + [I(2,153)] = {64,0}, + [I(3,153)] = {64,0}, + [I(4,153)] = {64,0}, + [I(5,153)] = {64,0}, + [I(6,153)] = {64,0}, + [I(7,153)] = {64,0}, + [I(8,153)] = {64,0}, + [I(9,153)] = {64,0}, + [I(10,153)] = {64,0}, + [I(11,153)] = {64,0}, + [I(12,153)] = {64,0}, + [I(13,153)] = {64,0}, + [I(14,153)] = {64,0}, + [I(15,153)] = {64,0}, + [I(16,153)] = {64,0}, + [I(17,153)] = {64,0}, + [I(18,153)] = {64,0}, + [I(19,153)] = {64,0}, + [I(20,153)] = {64,0}, + [I(21,153)] = {64,0}, + [I(22,153)] = {64,0}, + [I(23,153)] = {64,0}, + [I(24,153)] = {64,0}, + [I(25,153)] = {64,0}, + [I(26,153)] = {64,0}, + [I(27,153)] = {64,0}, + [I(28,153)] = {64,0}, + [I(29,153)] = {64,0}, + [I(30,153)] = {64,0}, + [I(31,153)] = {64,0}, + [I(32,153)] = {27,0x29FFFDC}, + [I(33,153)] = {31,0x7F1FFFDC}, + [I(34,153)] = {31,0x7F3FFFDC}, + [I(35,153)] = {64,0}, + [I(36,153)] = {64,0}, + [I(37,153)] = {27,0x2BFFFDC}, + [I(38,153)] = {29,0x1F1FFFDC}, + [I(39,153)] = {X32,0xFF5FFFDC}, + [I(40,153)] = {31,0x7F5FFFDC}, + [I(41,153)] = {31,0x7F7FFFDC}, + [I(42,153)] = {29,0x1F3FFFDC}, + [I(43,153)] = {X32,0xFF7FFFDC}, + [I(44,153)] = {29,0x1F5FFFDC}, + [I(45,153)] = {27,0x2DFFFDC}, + [I(46,153)] = {27,0x2FFFFDC}, + [I(47,153)] = {27,0x31FFFDC}, + [I(48,153)] = {26,0x1FFFDC}, + [I(49,153)] = {26,0x3FFFDC}, + [I(50,153)] = {26,0x5FFFDC}, + [I(51,153)] = {27,0x33FFFDC}, + [I(52,153)] = {27,0x35FFFDC}, + [I(53,153)] = {27,0x37FFFDC}, + [I(54,153)] = {27,0x39FFFDC}, + [I(55,153)] = {27,0x3BFFFDC}, + [I(56,153)] = {27,0x3DFFFDC}, + [I(57,153)] = {27,0x3FFFFDC}, + [I(58,153)] = {28,0xB9FFFDC}, + [I(59,153)] = {29,0x1F7FFFDC}, + [I(60,153)] = {64,0}, + [I(61,153)] = {27,0x41FFFDC}, + [I(62,153)] = {64,0}, + [I(63,153)] = {31,0x7F9FFFDC}, + [I(64,153)] = {64,0}, + [I(65,153)] = {27,0x43FFFDC}, + [I(66,153)] = {28,0xBBFFFDC}, + [I(67,153)] = {28,0xBDFFFDC}, + [I(68,153)] = {28,0xBFFFFDC}, + [I(69,153)] = {28,0xC1FFFDC}, + [I(70,153)] = {28,0xC3FFFDC}, + [I(71,153)] = {28,0xC5FFFDC}, + [I(72,153)] = {28,0xC7FFFDC}, + [I(73,153)] = {28,0xC9FFFDC}, + [I(74,153)] = {28,0xCBFFFDC}, + [I(75,153)] = {28,0xCDFFFDC}, + [I(76,153)] = {28,0xCFFFFDC}, + [I(77,153)] = {28,0xD1FFFDC}, + [I(78,153)] = {28,0xD3FFFDC}, + [I(79,153)] = {28,0xD5FFFDC}, + [I(80,153)] = {28,0xD7FFFDC}, + [I(81,153)] = {28,0xD9FFFDC}, + [I(82,153)] = {28,0xDBFFFDC}, + [I(83,153)] = {28,0xDDFFFDC}, + [I(84,153)] = {28,0xDFFFFDC}, + [I(85,153)] = {28,0xE1FFFDC}, + [I(86,153)] = {28,0xE3FFFDC}, + [I(87,153)] = {28,0xE5FFFDC}, + [I(88,153)] = {29,0x1F9FFFDC}, + [I(89,153)] = {28,0xE7FFFDC}, + [I(90,153)] = {29,0x1FBFFFDC}, + [I(91,153)] = {64,0}, + [I(92,153)] = {64,0}, + [I(93,153)] = {64,0}, + [I(94,153)] = {64,0}, + [I(95,153)] = {27,0x45FFFDC}, + [I(96,153)] = {64,0}, + [I(97,153)] = {26,0x7FFFDC}, + [I(98,153)] = {27,0x47FFFDC}, + [I(99,153)] = {26,0x9FFFDC}, + [I(100,153)] = {27,0x49FFFDC}, + [I(101,153)] = {26,0xBFFFDC}, + [I(102,153)] = {27,0x4BFFFDC}, + [I(103,153)] = {27,0x4DFFFDC}, + [I(104,153)] = {27,0x4FFFFDC}, + [I(105,153)] = {26,0xDFFFDC}, + [I(106,153)] = {28,0xE9FFFDC}, + [I(107,153)] = {28,0xEBFFFDC}, + [I(108,153)] = {27,0x51FFFDC}, + [I(109,153)] = {27,0x53FFFDC}, + [I(110,153)] = {27,0x55FFFDC}, + [I(111,153)] = {26,0xFFFFDC}, + [I(112,153)] = {27,0x57FFFDC}, + [I(113,153)] = {28,0xEDFFFDC}, + [I(114,153)] = {27,0x59FFFDC}, + [I(115,153)] = {26,0x11FFFDC}, + [I(116,153)] = {26,0x13FFFDC}, + [I(117,153)] = {27,0x5BFFFDC}, + [I(118,153)] = {28,0xEFFFFDC}, + [I(119,153)] = {28,0xF1FFFDC}, + [I(120,153)] = {28,0xF3FFFDC}, + [I(121,153)] = {28,0xF5FFFDC}, + [I(122,153)] = {28,0xF7FFFDC}, + [I(123,153)] = {64,0}, + [I(124,153)] = {X32,0xFF9FFFDC}, + [I(125,153)] = {64,0}, + [I(126,153)] = {64,0}, + [I(127,153)] = {64,0}, + [I(128,153)] = {64,0}, + [I(129,153)] = {64,0}, + [I(130,153)] = {64,0}, + [I(131,153)] = {64,0}, + [I(132,153)] = {64,0}, + [I(133,153)] = {64,0}, + [I(134,153)] = {64,0}, + [I(135,153)] = {64,0}, + [I(136,153)] = {64,0}, + [I(137,153)] = {64,0}, + [I(138,153)] = {64,0}, + [I(139,153)] = {64,0}, + [I(140,153)] = {64,0}, + [I(141,153)] = {64,0}, + [I(142,153)] = {64,0}, + [I(143,153)] = {64,0}, + [I(144,153)] = {64,0}, + [I(145,153)] = {64,0}, + [I(146,153)] = {64,0}, + [I(147,153)] = {64,0}, + [I(148,153)] = {64,0}, + [I(149,153)] = {64,0}, + [I(150,153)] = {64,0}, + [I(151,153)] = {64,0}, + [I(152,153)] = {64,0}, + [I(153,153)] = {64,0}, + [I(154,153)] = {64,0}, + [I(155,153)] = {64,0}, + [I(156,153)] = {64,0}, + [I(157,153)] = {64,0}, + [I(158,153)] = {64,0}, + [I(159,153)] = {64,0}, + [I(160,153)] = {64,0}, + [I(161,153)] = {64,0}, + [I(162,153)] = {64,0}, + [I(163,153)] = {64,0}, + [I(164,153)] = {64,0}, + [I(165,153)] = {64,0}, + [I(166,153)] = {64,0}, + [I(167,153)] = {64,0}, + [I(168,153)] = {64,0}, + [I(169,153)] = {64,0}, + [I(170,153)] = {64,0}, + [I(171,153)] = {64,0}, + [I(172,153)] = {64,0}, + [I(173,153)] = {64,0}, + [I(174,153)] = {64,0}, + [I(175,153)] = {64,0}, + [I(176,153)] = {64,0}, + [I(177,153)] = {64,0}, + [I(178,153)] = {64,0}, + [I(179,153)] = {64,0}, + [I(180,153)] = {64,0}, + [I(181,153)] = {64,0}, + [I(182,153)] = {64,0}, + [I(183,153)] = {64,0}, + [I(184,153)] = {64,0}, + [I(185,153)] = {64,0}, + [I(186,153)] = {64,0}, + [I(187,153)] = {64,0}, + [I(188,153)] = {64,0}, + [I(189,153)] = {64,0}, + [I(190,153)] = {64,0}, + [I(191,153)] = {64,0}, + [I(192,153)] = {64,0}, + [I(193,153)] = {64,0}, + [I(194,153)] = {64,0}, + [I(195,153)] = {64,0}, + [I(196,153)] = {64,0}, + [I(197,153)] = {64,0}, + [I(198,153)] = {64,0}, + [I(199,153)] = {64,0}, + [I(200,153)] = {64,0}, + [I(201,153)] = {64,0}, + [I(202,153)] = {64,0}, + [I(203,153)] = {64,0}, + [I(204,153)] = {64,0}, + [I(205,153)] = {64,0}, + [I(206,153)] = {64,0}, + [I(207,153)] = {64,0}, + [I(208,153)] = {64,0}, + [I(209,153)] = {64,0}, + [I(210,153)] = {64,0}, + [I(211,153)] = {64,0}, + [I(212,153)] = {64,0}, + [I(213,153)] = {64,0}, + [I(214,153)] = {64,0}, + [I(215,153)] = {64,0}, + [I(216,153)] = {64,0}, + [I(217,153)] = {64,0}, + [I(218,153)] = {64,0}, + [I(219,153)] = {64,0}, + [I(220,153)] = {64,0}, + [I(221,153)] = {64,0}, + [I(222,153)] = {64,0}, + [I(223,153)] = {64,0}, + [I(224,153)] = {64,0}, + [I(225,153)] = {64,0}, + [I(226,153)] = {64,0}, + [I(227,153)] = {64,0}, + [I(228,153)] = {64,0}, + [I(229,153)] = {64,0}, + [I(230,153)] = {64,0}, + [I(231,153)] = {64,0}, + [I(232,153)] = {64,0}, + [I(233,153)] = {64,0}, + [I(234,153)] = {64,0}, + [I(235,153)] = {64,0}, + [I(236,153)] = {64,0}, + [I(237,153)] = {64,0}, + [I(238,153)] = {64,0}, + [I(239,153)] = {64,0}, + [I(240,153)] = {64,0}, + [I(241,153)] = {64,0}, + [I(242,153)] = {64,0}, + [I(243,153)] = {64,0}, + [I(244,153)] = {64,0}, + [I(245,153)] = {64,0}, + [I(246,153)] = {64,0}, + [I(247,153)] = {64,0}, + [I(248,153)] = {64,0}, + [I(249,153)] = {64,0}, + [I(250,153)] = {64,0}, + [I(251,153)] = {64,0}, + [I(252,153)] = {64,0}, + [I(253,153)] = {64,0}, + [I(254,153)] = {64,0}, + [I(255,153)] = {64,0}, + [I(0,154)] = {64,0}, + [I(1,154)] = {64,0}, + [I(2,154)] = {64,0}, + [I(3,154)] = {64,0}, + [I(4,154)] = {64,0}, + [I(5,154)] = {64,0}, + [I(6,154)] = {64,0}, + [I(7,154)] = {64,0}, + [I(8,154)] = {64,0}, + [I(9,154)] = {64,0}, + [I(10,154)] = {64,0}, + [I(11,154)] = {64,0}, + [I(12,154)] = {64,0}, + [I(13,154)] = {64,0}, + [I(14,154)] = {64,0}, + [I(15,154)] = {64,0}, + [I(16,154)] = {64,0}, + [I(17,154)] = {64,0}, + [I(18,154)] = {64,0}, + [I(19,154)] = {64,0}, + [I(20,154)] = {64,0}, + [I(21,154)] = {64,0}, + [I(22,154)] = {64,0}, + [I(23,154)] = {64,0}, + [I(24,154)] = {64,0}, + [I(25,154)] = {64,0}, + [I(26,154)] = {64,0}, + [I(27,154)] = {64,0}, + [I(28,154)] = {64,0}, + [I(29,154)] = {64,0}, + [I(30,154)] = {64,0}, + [I(31,154)] = {64,0}, + [I(32,154)] = {28,0x53FFFD8}, + [I(33,154)] = {X32,0xFE3FFFD8}, + [I(34,154)] = {X32,0xFE7FFFD8}, + [I(35,154)] = {64,0}, + [I(36,154)] = {64,0}, + [I(37,154)] = {28,0x57FFFD8}, + [I(38,154)] = {30,0x3E3FFFD8}, + [I(39,154)] = {64,0}, + [I(40,154)] = {X32,0xFEBFFFD8}, + [I(41,154)] = {X32,0xFEFFFFD8}, + [I(42,154)] = {30,0x3E7FFFD8}, + [I(43,154)] = {64,0}, + [I(44,154)] = {30,0x3EBFFFD8}, + [I(45,154)] = {28,0x5BFFFD8}, + [I(46,154)] = {28,0x5FFFFD8}, + [I(47,154)] = {28,0x63FFFD8}, + [I(48,154)] = {27,0x3FFFD8}, + [I(49,154)] = {27,0x7FFFD8}, + [I(50,154)] = {27,0xBFFFD8}, + [I(51,154)] = {28,0x67FFFD8}, + [I(52,154)] = {28,0x6BFFFD8}, + [I(53,154)] = {28,0x6FFFFD8}, + [I(54,154)] = {28,0x73FFFD8}, + [I(55,154)] = {28,0x77FFFD8}, + [I(56,154)] = {28,0x7BFFFD8}, + [I(57,154)] = {28,0x7FFFFD8}, + [I(58,154)] = {29,0x173FFFD8}, + [I(59,154)] = {30,0x3EFFFFD8}, + [I(60,154)] = {64,0}, + [I(61,154)] = {28,0x83FFFD8}, + [I(62,154)] = {64,0}, + [I(63,154)] = {X32,0xFF3FFFD8}, + [I(64,154)] = {64,0}, + [I(65,154)] = {28,0x87FFFD8}, + [I(66,154)] = {29,0x177FFFD8}, + [I(67,154)] = {29,0x17BFFFD8}, + [I(68,154)] = {29,0x17FFFFD8}, + [I(69,154)] = {29,0x183FFFD8}, + [I(70,154)] = {29,0x187FFFD8}, + [I(71,154)] = {29,0x18BFFFD8}, + [I(72,154)] = {29,0x18FFFFD8}, + [I(73,154)] = {29,0x193FFFD8}, + [I(74,154)] = {29,0x197FFFD8}, + [I(75,154)] = {29,0x19BFFFD8}, + [I(76,154)] = {29,0x19FFFFD8}, + [I(77,154)] = {29,0x1A3FFFD8}, + [I(78,154)] = {29,0x1A7FFFD8}, + [I(79,154)] = {29,0x1ABFFFD8}, + [I(80,154)] = {29,0x1AFFFFD8}, + [I(81,154)] = {29,0x1B3FFFD8}, + [I(82,154)] = {29,0x1B7FFFD8}, + [I(83,154)] = {29,0x1BBFFFD8}, + [I(84,154)] = {29,0x1BFFFFD8}, + [I(85,154)] = {29,0x1C3FFFD8}, + [I(86,154)] = {29,0x1C7FFFD8}, + [I(87,154)] = {29,0x1CBFFFD8}, + [I(88,154)] = {30,0x3F3FFFD8}, + [I(89,154)] = {29,0x1CFFFFD8}, + [I(90,154)] = {30,0x3F7FFFD8}, + [I(91,154)] = {64,0}, + [I(92,154)] = {64,0}, + [I(93,154)] = {64,0}, + [I(94,154)] = {64,0}, + [I(95,154)] = {28,0x8BFFFD8}, + [I(96,154)] = {64,0}, + [I(97,154)] = {27,0xFFFFD8}, + [I(98,154)] = {28,0x8FFFFD8}, + [I(99,154)] = {27,0x13FFFD8}, + [I(100,154)] = {28,0x93FFFD8}, + [I(101,154)] = {27,0x17FFFD8}, + [I(102,154)] = {28,0x97FFFD8}, + [I(103,154)] = {28,0x9BFFFD8}, + [I(104,154)] = {28,0x9FFFFD8}, + [I(105,154)] = {27,0x1BFFFD8}, + [I(106,154)] = {29,0x1D3FFFD8}, + [I(107,154)] = {29,0x1D7FFFD8}, + [I(108,154)] = {28,0xA3FFFD8}, + [I(109,154)] = {28,0xA7FFFD8}, + [I(110,154)] = {28,0xABFFFD8}, + [I(111,154)] = {27,0x1FFFFD8}, + [I(112,154)] = {28,0xAFFFFD8}, + [I(113,154)] = {29,0x1DBFFFD8}, + [I(114,154)] = {28,0xB3FFFD8}, + [I(115,154)] = {27,0x23FFFD8}, + [I(116,154)] = {27,0x27FFFD8}, + [I(117,154)] = {28,0xB7FFFD8}, + [I(118,154)] = {29,0x1DFFFFD8}, + [I(119,154)] = {29,0x1E3FFFD8}, + [I(120,154)] = {29,0x1E7FFFD8}, + [I(121,154)] = {29,0x1EBFFFD8}, + [I(122,154)] = {29,0x1EFFFFD8}, + [I(123,154)] = {64,0}, + [I(124,154)] = {64,0}, + [I(125,154)] = {64,0}, + [I(126,154)] = {64,0}, + [I(127,154)] = {64,0}, + [I(128,154)] = {64,0}, + [I(129,154)] = {64,0}, + [I(130,154)] = {64,0}, + [I(131,154)] = {64,0}, + [I(132,154)] = {64,0}, + [I(133,154)] = {64,0}, + [I(134,154)] = {64,0}, + [I(135,154)] = {64,0}, + [I(136,154)] = {64,0}, + [I(137,154)] = {64,0}, + [I(138,154)] = {64,0}, + [I(139,154)] = {64,0}, + [I(140,154)] = {64,0}, + [I(141,154)] = {64,0}, + [I(142,154)] = {64,0}, + [I(143,154)] = {64,0}, + [I(144,154)] = {64,0}, + [I(145,154)] = {64,0}, + [I(146,154)] = {64,0}, + [I(147,154)] = {64,0}, + [I(148,154)] = {64,0}, + [I(149,154)] = {64,0}, + [I(150,154)] = {64,0}, + [I(151,154)] = {64,0}, + [I(152,154)] = {64,0}, + [I(153,154)] = {64,0}, + [I(154,154)] = {64,0}, + [I(155,154)] = {64,0}, + [I(156,154)] = {64,0}, + [I(157,154)] = {64,0}, + [I(158,154)] = {64,0}, + [I(159,154)] = {64,0}, + [I(160,154)] = {64,0}, + [I(161,154)] = {64,0}, + [I(162,154)] = {64,0}, + [I(163,154)] = {64,0}, + [I(164,154)] = {64,0}, + [I(165,154)] = {64,0}, + [I(166,154)] = {64,0}, + [I(167,154)] = {64,0}, + [I(168,154)] = {64,0}, + [I(169,154)] = {64,0}, + [I(170,154)] = {64,0}, + [I(171,154)] = {64,0}, + [I(172,154)] = {64,0}, + [I(173,154)] = {64,0}, + [I(174,154)] = {64,0}, + [I(175,154)] = {64,0}, + [I(176,154)] = {64,0}, + [I(177,154)] = {64,0}, + [I(178,154)] = {64,0}, + [I(179,154)] = {64,0}, + [I(180,154)] = {64,0}, + [I(181,154)] = {64,0}, + [I(182,154)] = {64,0}, + [I(183,154)] = {64,0}, + [I(184,154)] = {64,0}, + [I(185,154)] = {64,0}, + [I(186,154)] = {64,0}, + [I(187,154)] = {64,0}, + [I(188,154)] = {64,0}, + [I(189,154)] = {64,0}, + [I(190,154)] = {64,0}, + [I(191,154)] = {64,0}, + [I(192,154)] = {64,0}, + [I(193,154)] = {64,0}, + [I(194,154)] = {64,0}, + [I(195,154)] = {64,0}, + [I(196,154)] = {64,0}, + [I(197,154)] = {64,0}, + [I(198,154)] = {64,0}, + [I(199,154)] = {64,0}, + [I(200,154)] = {64,0}, + [I(201,154)] = {64,0}, + [I(202,154)] = {64,0}, + [I(203,154)] = {64,0}, + [I(204,154)] = {64,0}, + [I(205,154)] = {64,0}, + [I(206,154)] = {64,0}, + [I(207,154)] = {64,0}, + [I(208,154)] = {64,0}, + [I(209,154)] = {64,0}, + [I(210,154)] = {64,0}, + [I(211,154)] = {64,0}, + [I(212,154)] = {64,0}, + [I(213,154)] = {64,0}, + [I(214,154)] = {64,0}, + [I(215,154)] = {64,0}, + [I(216,154)] = {64,0}, + [I(217,154)] = {64,0}, + [I(218,154)] = {64,0}, + [I(219,154)] = {64,0}, + [I(220,154)] = {64,0}, + [I(221,154)] = {64,0}, + [I(222,154)] = {64,0}, + [I(223,154)] = {64,0}, + [I(224,154)] = {64,0}, + [I(225,154)] = {64,0}, + [I(226,154)] = {64,0}, + [I(227,154)] = {64,0}, + [I(228,154)] = {64,0}, + [I(229,154)] = {64,0}, + [I(230,154)] = {64,0}, + [I(231,154)] = {64,0}, + [I(232,154)] = {64,0}, + [I(233,154)] = {64,0}, + [I(234,154)] = {64,0}, + [I(235,154)] = {64,0}, + [I(236,154)] = {64,0}, + [I(237,154)] = {64,0}, + [I(238,154)] = {64,0}, + [I(239,154)] = {64,0}, + [I(240,154)] = {64,0}, + [I(241,154)] = {64,0}, + [I(242,154)] = {64,0}, + [I(243,154)] = {64,0}, + [I(244,154)] = {64,0}, + [I(245,154)] = {64,0}, + [I(246,154)] = {64,0}, + [I(247,154)] = {64,0}, + [I(248,154)] = {64,0}, + [I(249,154)] = {64,0}, + [I(250,154)] = {64,0}, + [I(251,154)] = {64,0}, + [I(252,154)] = {64,0}, + [I(253,154)] = {64,0}, + [I(254,154)] = {64,0}, + [I(255,154)] = {64,0}, + [I(0,155)] = {64,0}, + [I(1,155)] = {64,0}, + [I(2,155)] = {64,0}, + [I(3,155)] = {64,0}, + [I(4,155)] = {64,0}, + [I(5,155)] = {64,0}, + [I(6,155)] = {64,0}, + [I(7,155)] = {64,0}, + [I(8,155)] = {64,0}, + [I(9,155)] = {64,0}, + [I(10,155)] = {64,0}, + [I(11,155)] = {64,0}, + [I(12,155)] = {64,0}, + [I(13,155)] = {64,0}, + [I(14,155)] = {64,0}, + [I(15,155)] = {64,0}, + [I(16,155)] = {64,0}, + [I(17,155)] = {64,0}, + [I(18,155)] = {64,0}, + [I(19,155)] = {64,0}, + [I(20,155)] = {64,0}, + [I(21,155)] = {64,0}, + [I(22,155)] = {64,0}, + [I(23,155)] = {64,0}, + [I(24,155)] = {64,0}, + [I(25,155)] = {64,0}, + [I(26,155)] = {64,0}, + [I(27,155)] = {64,0}, + [I(28,155)] = {64,0}, + [I(29,155)] = {64,0}, + [I(30,155)] = {64,0}, + [I(31,155)] = {64,0}, + [I(32,155)] = {29,0xA7FFFE5}, + [I(33,155)] = {64,0}, + [I(34,155)] = {64,0}, + [I(35,155)] = {64,0}, + [I(36,155)] = {64,0}, + [I(37,155)] = {29,0xAFFFFE5}, + [I(38,155)] = {31,0x7C7FFFE5}, + [I(39,155)] = {64,0}, + [I(40,155)] = {64,0}, + [I(41,155)] = {64,0}, + [I(42,155)] = {31,0x7CFFFFE5}, + [I(43,155)] = {64,0}, + [I(44,155)] = {31,0x7D7FFFE5}, + [I(45,155)] = {29,0xB7FFFE5}, + [I(46,155)] = {29,0xBFFFFE5}, + [I(47,155)] = {29,0xC7FFFE5}, + [I(48,155)] = {28,0x7FFFE5}, + [I(49,155)] = {28,0xFFFFE5}, + [I(50,155)] = {28,0x17FFFE5}, + [I(51,155)] = {29,0xCFFFFE5}, + [I(52,155)] = {29,0xD7FFFE5}, + [I(53,155)] = {29,0xDFFFFE5}, + [I(54,155)] = {29,0xE7FFFE5}, + [I(55,155)] = {29,0xEFFFFE5}, + [I(56,155)] = {29,0xF7FFFE5}, + [I(57,155)] = {29,0xFFFFFE5}, + [I(58,155)] = {30,0x2E7FFFE5}, + [I(59,155)] = {31,0x7DFFFFE5}, + [I(60,155)] = {64,0}, + [I(61,155)] = {29,0x107FFFE5}, + [I(62,155)] = {64,0}, + [I(63,155)] = {64,0}, + [I(64,155)] = {64,0}, + [I(65,155)] = {29,0x10FFFFE5}, + [I(66,155)] = {30,0x2EFFFFE5}, + [I(67,155)] = {30,0x2F7FFFE5}, + [I(68,155)] = {30,0x2FFFFFE5}, + [I(69,155)] = {30,0x307FFFE5}, + [I(70,155)] = {30,0x30FFFFE5}, + [I(71,155)] = {30,0x317FFFE5}, + [I(72,155)] = {30,0x31FFFFE5}, + [I(73,155)] = {30,0x327FFFE5}, + [I(74,155)] = {30,0x32FFFFE5}, + [I(75,155)] = {30,0x337FFFE5}, + [I(76,155)] = {30,0x33FFFFE5}, + [I(77,155)] = {30,0x347FFFE5}, + [I(78,155)] = {30,0x34FFFFE5}, + [I(79,155)] = {30,0x357FFFE5}, + [I(80,155)] = {30,0x35FFFFE5}, + [I(81,155)] = {30,0x367FFFE5}, + [I(82,155)] = {30,0x36FFFFE5}, + [I(83,155)] = {30,0x377FFFE5}, + [I(84,155)] = {30,0x37FFFFE5}, + [I(85,155)] = {30,0x387FFFE5}, + [I(86,155)] = {30,0x38FFFFE5}, + [I(87,155)] = {30,0x397FFFE5}, + [I(88,155)] = {31,0x7E7FFFE5}, + [I(89,155)] = {30,0x39FFFFE5}, + [I(90,155)] = {31,0x7EFFFFE5}, + [I(91,155)] = {64,0}, + [I(92,155)] = {64,0}, + [I(93,155)] = {64,0}, + [I(94,155)] = {64,0}, + [I(95,155)] = {29,0x117FFFE5}, + [I(96,155)] = {64,0}, + [I(97,155)] = {28,0x1FFFFE5}, + [I(98,155)] = {29,0x11FFFFE5}, + [I(99,155)] = {28,0x27FFFE5}, + [I(100,155)] = {29,0x127FFFE5}, + [I(101,155)] = {28,0x2FFFFE5}, + [I(102,155)] = {29,0x12FFFFE5}, + [I(103,155)] = {29,0x137FFFE5}, + [I(104,155)] = {29,0x13FFFFE5}, + [I(105,155)] = {28,0x37FFFE5}, + [I(106,155)] = {30,0x3A7FFFE5}, + [I(107,155)] = {30,0x3AFFFFE5}, + [I(108,155)] = {29,0x147FFFE5}, + [I(109,155)] = {29,0x14FFFFE5}, + [I(110,155)] = {29,0x157FFFE5}, + [I(111,155)] = {28,0x3FFFFE5}, + [I(112,155)] = {29,0x15FFFFE5}, + [I(113,155)] = {30,0x3B7FFFE5}, + [I(114,155)] = {29,0x167FFFE5}, + [I(115,155)] = {28,0x47FFFE5}, + [I(116,155)] = {28,0x4FFFFE5}, + [I(117,155)] = {29,0x16FFFFE5}, + [I(118,155)] = {30,0x3BFFFFE5}, + [I(119,155)] = {30,0x3C7FFFE5}, + [I(120,155)] = {30,0x3CFFFFE5}, + [I(121,155)] = {30,0x3D7FFFE5}, + [I(122,155)] = {30,0x3DFFFFE5}, + [I(123,155)] = {64,0}, + [I(124,155)] = {64,0}, + [I(125,155)] = {64,0}, + [I(126,155)] = {64,0}, + [I(127,155)] = {64,0}, + [I(128,155)] = {64,0}, + [I(129,155)] = {64,0}, + [I(130,155)] = {64,0}, + [I(131,155)] = {64,0}, + [I(132,155)] = {64,0}, + [I(133,155)] = {64,0}, + [I(134,155)] = {64,0}, + [I(135,155)] = {64,0}, + [I(136,155)] = {64,0}, + [I(137,155)] = {64,0}, + [I(138,155)] = {64,0}, + [I(139,155)] = {64,0}, + [I(140,155)] = {64,0}, + [I(141,155)] = {64,0}, + [I(142,155)] = {64,0}, + [I(143,155)] = {64,0}, + [I(144,155)] = {64,0}, + [I(145,155)] = {64,0}, + [I(146,155)] = {64,0}, + [I(147,155)] = {64,0}, + [I(148,155)] = {64,0}, + [I(149,155)] = {64,0}, + [I(150,155)] = {64,0}, + [I(151,155)] = {64,0}, + [I(152,155)] = {64,0}, + [I(153,155)] = {64,0}, + [I(154,155)] = {64,0}, + [I(155,155)] = {64,0}, + [I(156,155)] = {64,0}, + [I(157,155)] = {64,0}, + [I(158,155)] = {64,0}, + [I(159,155)] = {64,0}, + [I(160,155)] = {64,0}, + [I(161,155)] = {64,0}, + [I(162,155)] = {64,0}, + [I(163,155)] = {64,0}, + [I(164,155)] = {64,0}, + [I(165,155)] = {64,0}, + [I(166,155)] = {64,0}, + [I(167,155)] = {64,0}, + [I(168,155)] = {64,0}, + [I(169,155)] = {64,0}, + [I(170,155)] = {64,0}, + [I(171,155)] = {64,0}, + [I(172,155)] = {64,0}, + [I(173,155)] = {64,0}, + [I(174,155)] = {64,0}, + [I(175,155)] = {64,0}, + [I(176,155)] = {64,0}, + [I(177,155)] = {64,0}, + [I(178,155)] = {64,0}, + [I(179,155)] = {64,0}, + [I(180,155)] = {64,0}, + [I(181,155)] = {64,0}, + [I(182,155)] = {64,0}, + [I(183,155)] = {64,0}, + [I(184,155)] = {64,0}, + [I(185,155)] = {64,0}, + [I(186,155)] = {64,0}, + [I(187,155)] = {64,0}, + [I(188,155)] = {64,0}, + [I(189,155)] = {64,0}, + [I(190,155)] = {64,0}, + [I(191,155)] = {64,0}, + [I(192,155)] = {64,0}, + [I(193,155)] = {64,0}, + [I(194,155)] = {64,0}, + [I(195,155)] = {64,0}, + [I(196,155)] = {64,0}, + [I(197,155)] = {64,0}, + [I(198,155)] = {64,0}, + [I(199,155)] = {64,0}, + [I(200,155)] = {64,0}, + [I(201,155)] = {64,0}, + [I(202,155)] = {64,0}, + [I(203,155)] = {64,0}, + [I(204,155)] = {64,0}, + [I(205,155)] = {64,0}, + [I(206,155)] = {64,0}, + [I(207,155)] = {64,0}, + [I(208,155)] = {64,0}, + [I(209,155)] = {64,0}, + [I(210,155)] = {64,0}, + [I(211,155)] = {64,0}, + [I(212,155)] = {64,0}, + [I(213,155)] = {64,0}, + [I(214,155)] = {64,0}, + [I(215,155)] = {64,0}, + [I(216,155)] = {64,0}, + [I(217,155)] = {64,0}, + [I(218,155)] = {64,0}, + [I(219,155)] = {64,0}, + [I(220,155)] = {64,0}, + [I(221,155)] = {64,0}, + [I(222,155)] = {64,0}, + [I(223,155)] = {64,0}, + [I(224,155)] = {64,0}, + [I(225,155)] = {64,0}, + [I(226,155)] = {64,0}, + [I(227,155)] = {64,0}, + [I(228,155)] = {64,0}, + [I(229,155)] = {64,0}, + [I(230,155)] = {64,0}, + [I(231,155)] = {64,0}, + [I(232,155)] = {64,0}, + [I(233,155)] = {64,0}, + [I(234,155)] = {64,0}, + [I(235,155)] = {64,0}, + [I(236,155)] = {64,0}, + [I(237,155)] = {64,0}, + [I(238,155)] = {64,0}, + [I(239,155)] = {64,0}, + [I(240,155)] = {64,0}, + [I(241,155)] = {64,0}, + [I(242,155)] = {64,0}, + [I(243,155)] = {64,0}, + [I(244,155)] = {64,0}, + [I(245,155)] = {64,0}, + [I(246,155)] = {64,0}, + [I(247,155)] = {64,0}, + [I(248,155)] = {64,0}, + [I(249,155)] = {64,0}, + [I(250,155)] = {64,0}, + [I(251,155)] = {64,0}, + [I(252,155)] = {64,0}, + [I(253,155)] = {64,0}, + [I(254,155)] = {64,0}, + [I(255,155)] = {64,0}, + [I(0,156)] = {64,0}, + [I(1,156)] = {64,0}, + [I(2,156)] = {64,0}, + [I(3,156)] = {64,0}, + [I(4,156)] = {64,0}, + [I(5,156)] = {64,0}, + [I(6,156)] = {64,0}, + [I(7,156)] = {64,0}, + [I(8,156)] = {64,0}, + [I(9,156)] = {64,0}, + [I(10,156)] = {64,0}, + [I(11,156)] = {64,0}, + [I(12,156)] = {64,0}, + [I(13,156)] = {64,0}, + [I(14,156)] = {64,0}, + [I(15,156)] = {64,0}, + [I(16,156)] = {64,0}, + [I(17,156)] = {64,0}, + [I(18,156)] = {64,0}, + [I(19,156)] = {64,0}, + [I(20,156)] = {64,0}, + [I(21,156)] = {64,0}, + [I(22,156)] = {64,0}, + [I(23,156)] = {64,0}, + [I(24,156)] = {64,0}, + [I(25,156)] = {64,0}, + [I(26,156)] = {64,0}, + [I(27,156)] = {64,0}, + [I(28,156)] = {64,0}, + [I(29,156)] = {64,0}, + [I(30,156)] = {64,0}, + [I(31,156)] = {64,0}, + [I(32,156)] = {28,0x53FFFD9}, + [I(33,156)] = {X32,0xFE3FFFD9}, + [I(34,156)] = {X32,0xFE7FFFD9}, + [I(35,156)] = {64,0}, + [I(36,156)] = {64,0}, + [I(37,156)] = {28,0x57FFFD9}, + [I(38,156)] = {30,0x3E3FFFD9}, + [I(39,156)] = {64,0}, + [I(40,156)] = {X32,0xFEBFFFD9}, + [I(41,156)] = {X32,0xFEFFFFD9}, + [I(42,156)] = {30,0x3E7FFFD9}, + [I(43,156)] = {64,0}, + [I(44,156)] = {30,0x3EBFFFD9}, + [I(45,156)] = {28,0x5BFFFD9}, + [I(46,156)] = {28,0x5FFFFD9}, + [I(47,156)] = {28,0x63FFFD9}, + [I(48,156)] = {27,0x3FFFD9}, + [I(49,156)] = {27,0x7FFFD9}, + [I(50,156)] = {27,0xBFFFD9}, + [I(51,156)] = {28,0x67FFFD9}, + [I(52,156)] = {28,0x6BFFFD9}, + [I(53,156)] = {28,0x6FFFFD9}, + [I(54,156)] = {28,0x73FFFD9}, + [I(55,156)] = {28,0x77FFFD9}, + [I(56,156)] = {28,0x7BFFFD9}, + [I(57,156)] = {28,0x7FFFFD9}, + [I(58,156)] = {29,0x173FFFD9}, + [I(59,156)] = {30,0x3EFFFFD9}, + [I(60,156)] = {64,0}, + [I(61,156)] = {28,0x83FFFD9}, + [I(62,156)] = {64,0}, + [I(63,156)] = {X32,0xFF3FFFD9}, + [I(64,156)] = {64,0}, + [I(65,156)] = {28,0x87FFFD9}, + [I(66,156)] = {29,0x177FFFD9}, + [I(67,156)] = {29,0x17BFFFD9}, + [I(68,156)] = {29,0x17FFFFD9}, + [I(69,156)] = {29,0x183FFFD9}, + [I(70,156)] = {29,0x187FFFD9}, + [I(71,156)] = {29,0x18BFFFD9}, + [I(72,156)] = {29,0x18FFFFD9}, + [I(73,156)] = {29,0x193FFFD9}, + [I(74,156)] = {29,0x197FFFD9}, + [I(75,156)] = {29,0x19BFFFD9}, + [I(76,156)] = {29,0x19FFFFD9}, + [I(77,156)] = {29,0x1A3FFFD9}, + [I(78,156)] = {29,0x1A7FFFD9}, + [I(79,156)] = {29,0x1ABFFFD9}, + [I(80,156)] = {29,0x1AFFFFD9}, + [I(81,156)] = {29,0x1B3FFFD9}, + [I(82,156)] = {29,0x1B7FFFD9}, + [I(83,156)] = {29,0x1BBFFFD9}, + [I(84,156)] = {29,0x1BFFFFD9}, + [I(85,156)] = {29,0x1C3FFFD9}, + [I(86,156)] = {29,0x1C7FFFD9}, + [I(87,156)] = {29,0x1CBFFFD9}, + [I(88,156)] = {30,0x3F3FFFD9}, + [I(89,156)] = {29,0x1CFFFFD9}, + [I(90,156)] = {30,0x3F7FFFD9}, + [I(91,156)] = {64,0}, + [I(92,156)] = {64,0}, + [I(93,156)] = {64,0}, + [I(94,156)] = {64,0}, + [I(95,156)] = {28,0x8BFFFD9}, + [I(96,156)] = {64,0}, + [I(97,156)] = {27,0xFFFFD9}, + [I(98,156)] = {28,0x8FFFFD9}, + [I(99,156)] = {27,0x13FFFD9}, + [I(100,156)] = {28,0x93FFFD9}, + [I(101,156)] = {27,0x17FFFD9}, + [I(102,156)] = {28,0x97FFFD9}, + [I(103,156)] = {28,0x9BFFFD9}, + [I(104,156)] = {28,0x9FFFFD9}, + [I(105,156)] = {27,0x1BFFFD9}, + [I(106,156)] = {29,0x1D3FFFD9}, + [I(107,156)] = {29,0x1D7FFFD9}, + [I(108,156)] = {28,0xA3FFFD9}, + [I(109,156)] = {28,0xA7FFFD9}, + [I(110,156)] = {28,0xABFFFD9}, + [I(111,156)] = {27,0x1FFFFD9}, + [I(112,156)] = {28,0xAFFFFD9}, + [I(113,156)] = {29,0x1DBFFFD9}, + [I(114,156)] = {28,0xB3FFFD9}, + [I(115,156)] = {27,0x23FFFD9}, + [I(116,156)] = {27,0x27FFFD9}, + [I(117,156)] = {28,0xB7FFFD9}, + [I(118,156)] = {29,0x1DFFFFD9}, + [I(119,156)] = {29,0x1E3FFFD9}, + [I(120,156)] = {29,0x1E7FFFD9}, + [I(121,156)] = {29,0x1EBFFFD9}, + [I(122,156)] = {29,0x1EFFFFD9}, + [I(123,156)] = {64,0}, + [I(124,156)] = {64,0}, + [I(125,156)] = {64,0}, + [I(126,156)] = {64,0}, + [I(127,156)] = {64,0}, + [I(128,156)] = {64,0}, + [I(129,156)] = {64,0}, + [I(130,156)] = {64,0}, + [I(131,156)] = {64,0}, + [I(132,156)] = {64,0}, + [I(133,156)] = {64,0}, + [I(134,156)] = {64,0}, + [I(135,156)] = {64,0}, + [I(136,156)] = {64,0}, + [I(137,156)] = {64,0}, + [I(138,156)] = {64,0}, + [I(139,156)] = {64,0}, + [I(140,156)] = {64,0}, + [I(141,156)] = {64,0}, + [I(142,156)] = {64,0}, + [I(143,156)] = {64,0}, + [I(144,156)] = {64,0}, + [I(145,156)] = {64,0}, + [I(146,156)] = {64,0}, + [I(147,156)] = {64,0}, + [I(148,156)] = {64,0}, + [I(149,156)] = {64,0}, + [I(150,156)] = {64,0}, + [I(151,156)] = {64,0}, + [I(152,156)] = {64,0}, + [I(153,156)] = {64,0}, + [I(154,156)] = {64,0}, + [I(155,156)] = {64,0}, + [I(156,156)] = {64,0}, + [I(157,156)] = {64,0}, + [I(158,156)] = {64,0}, + [I(159,156)] = {64,0}, + [I(160,156)] = {64,0}, + [I(161,156)] = {64,0}, + [I(162,156)] = {64,0}, + [I(163,156)] = {64,0}, + [I(164,156)] = {64,0}, + [I(165,156)] = {64,0}, + [I(166,156)] = {64,0}, + [I(167,156)] = {64,0}, + [I(168,156)] = {64,0}, + [I(169,156)] = {64,0}, + [I(170,156)] = {64,0}, + [I(171,156)] = {64,0}, + [I(172,156)] = {64,0}, + [I(173,156)] = {64,0}, + [I(174,156)] = {64,0}, + [I(175,156)] = {64,0}, + [I(176,156)] = {64,0}, + [I(177,156)] = {64,0}, + [I(178,156)] = {64,0}, + [I(179,156)] = {64,0}, + [I(180,156)] = {64,0}, + [I(181,156)] = {64,0}, + [I(182,156)] = {64,0}, + [I(183,156)] = {64,0}, + [I(184,156)] = {64,0}, + [I(185,156)] = {64,0}, + [I(186,156)] = {64,0}, + [I(187,156)] = {64,0}, + [I(188,156)] = {64,0}, + [I(189,156)] = {64,0}, + [I(190,156)] = {64,0}, + [I(191,156)] = {64,0}, + [I(192,156)] = {64,0}, + [I(193,156)] = {64,0}, + [I(194,156)] = {64,0}, + [I(195,156)] = {64,0}, + [I(196,156)] = {64,0}, + [I(197,156)] = {64,0}, + [I(198,156)] = {64,0}, + [I(199,156)] = {64,0}, + [I(200,156)] = {64,0}, + [I(201,156)] = {64,0}, + [I(202,156)] = {64,0}, + [I(203,156)] = {64,0}, + [I(204,156)] = {64,0}, + [I(205,156)] = {64,0}, + [I(206,156)] = {64,0}, + [I(207,156)] = {64,0}, + [I(208,156)] = {64,0}, + [I(209,156)] = {64,0}, + [I(210,156)] = {64,0}, + [I(211,156)] = {64,0}, + [I(212,156)] = {64,0}, + [I(213,156)] = {64,0}, + [I(214,156)] = {64,0}, + [I(215,156)] = {64,0}, + [I(216,156)] = {64,0}, + [I(217,156)] = {64,0}, + [I(218,156)] = {64,0}, + [I(219,156)] = {64,0}, + [I(220,156)] = {64,0}, + [I(221,156)] = {64,0}, + [I(222,156)] = {64,0}, + [I(223,156)] = {64,0}, + [I(224,156)] = {64,0}, + [I(225,156)] = {64,0}, + [I(226,156)] = {64,0}, + [I(227,156)] = {64,0}, + [I(228,156)] = {64,0}, + [I(229,156)] = {64,0}, + [I(230,156)] = {64,0}, + [I(231,156)] = {64,0}, + [I(232,156)] = {64,0}, + [I(233,156)] = {64,0}, + [I(234,156)] = {64,0}, + [I(235,156)] = {64,0}, + [I(236,156)] = {64,0}, + [I(237,156)] = {64,0}, + [I(238,156)] = {64,0}, + [I(239,156)] = {64,0}, + [I(240,156)] = {64,0}, + [I(241,156)] = {64,0}, + [I(242,156)] = {64,0}, + [I(243,156)] = {64,0}, + [I(244,156)] = {64,0}, + [I(245,156)] = {64,0}, + [I(246,156)] = {64,0}, + [I(247,156)] = {64,0}, + [I(248,156)] = {64,0}, + [I(249,156)] = {64,0}, + [I(250,156)] = {64,0}, + [I(251,156)] = {64,0}, + [I(252,156)] = {64,0}, + [I(253,156)] = {64,0}, + [I(254,156)] = {64,0}, + [I(255,156)] = {64,0}, + [I(0,157)] = {64,0}, + [I(1,157)] = {64,0}, + [I(2,157)] = {64,0}, + [I(3,157)] = {64,0}, + [I(4,157)] = {64,0}, + [I(5,157)] = {64,0}, + [I(6,157)] = {64,0}, + [I(7,157)] = {64,0}, + [I(8,157)] = {64,0}, + [I(9,157)] = {64,0}, + [I(10,157)] = {64,0}, + [I(11,157)] = {64,0}, + [I(12,157)] = {64,0}, + [I(13,157)] = {64,0}, + [I(14,157)] = {64,0}, + [I(15,157)] = {64,0}, + [I(16,157)] = {64,0}, + [I(17,157)] = {64,0}, + [I(18,157)] = {64,0}, + [I(19,157)] = {64,0}, + [I(20,157)] = {64,0}, + [I(21,157)] = {64,0}, + [I(22,157)] = {64,0}, + [I(23,157)] = {64,0}, + [I(24,157)] = {64,0}, + [I(25,157)] = {64,0}, + [I(26,157)] = {64,0}, + [I(27,157)] = {64,0}, + [I(28,157)] = {64,0}, + [I(29,157)] = {64,0}, + [I(30,157)] = {64,0}, + [I(31,157)] = {64,0}, + [I(32,157)] = {29,0xA7FFFE6}, + [I(33,157)] = {64,0}, + [I(34,157)] = {64,0}, + [I(35,157)] = {64,0}, + [I(36,157)] = {64,0}, + [I(37,157)] = {29,0xAFFFFE6}, + [I(38,157)] = {31,0x7C7FFFE6}, + [I(39,157)] = {64,0}, + [I(40,157)] = {64,0}, + [I(41,157)] = {64,0}, + [I(42,157)] = {31,0x7CFFFFE6}, + [I(43,157)] = {64,0}, + [I(44,157)] = {31,0x7D7FFFE6}, + [I(45,157)] = {29,0xB7FFFE6}, + [I(46,157)] = {29,0xBFFFFE6}, + [I(47,157)] = {29,0xC7FFFE6}, + [I(48,157)] = {28,0x7FFFE6}, + [I(49,157)] = {28,0xFFFFE6}, + [I(50,157)] = {28,0x17FFFE6}, + [I(51,157)] = {29,0xCFFFFE6}, + [I(52,157)] = {29,0xD7FFFE6}, + [I(53,157)] = {29,0xDFFFFE6}, + [I(54,157)] = {29,0xE7FFFE6}, + [I(55,157)] = {29,0xEFFFFE6}, + [I(56,157)] = {29,0xF7FFFE6}, + [I(57,157)] = {29,0xFFFFFE6}, + [I(58,157)] = {30,0x2E7FFFE6}, + [I(59,157)] = {31,0x7DFFFFE6}, + [I(60,157)] = {64,0}, + [I(61,157)] = {29,0x107FFFE6}, + [I(62,157)] = {64,0}, + [I(63,157)] = {64,0}, + [I(64,157)] = {64,0}, + [I(65,157)] = {29,0x10FFFFE6}, + [I(66,157)] = {30,0x2EFFFFE6}, + [I(67,157)] = {30,0x2F7FFFE6}, + [I(68,157)] = {30,0x2FFFFFE6}, + [I(69,157)] = {30,0x307FFFE6}, + [I(70,157)] = {30,0x30FFFFE6}, + [I(71,157)] = {30,0x317FFFE6}, + [I(72,157)] = {30,0x31FFFFE6}, + [I(73,157)] = {30,0x327FFFE6}, + [I(74,157)] = {30,0x32FFFFE6}, + [I(75,157)] = {30,0x337FFFE6}, + [I(76,157)] = {30,0x33FFFFE6}, + [I(77,157)] = {30,0x347FFFE6}, + [I(78,157)] = {30,0x34FFFFE6}, + [I(79,157)] = {30,0x357FFFE6}, + [I(80,157)] = {30,0x35FFFFE6}, + [I(81,157)] = {30,0x367FFFE6}, + [I(82,157)] = {30,0x36FFFFE6}, + [I(83,157)] = {30,0x377FFFE6}, + [I(84,157)] = {30,0x37FFFFE6}, + [I(85,157)] = {30,0x387FFFE6}, + [I(86,157)] = {30,0x38FFFFE6}, + [I(87,157)] = {30,0x397FFFE6}, + [I(88,157)] = {31,0x7E7FFFE6}, + [I(89,157)] = {30,0x39FFFFE6}, + [I(90,157)] = {31,0x7EFFFFE6}, + [I(91,157)] = {64,0}, + [I(92,157)] = {64,0}, + [I(93,157)] = {64,0}, + [I(94,157)] = {64,0}, + [I(95,157)] = {29,0x117FFFE6}, + [I(96,157)] = {64,0}, + [I(97,157)] = {28,0x1FFFFE6}, + [I(98,157)] = {29,0x11FFFFE6}, + [I(99,157)] = {28,0x27FFFE6}, + [I(100,157)] = {29,0x127FFFE6}, + [I(101,157)] = {28,0x2FFFFE6}, + [I(102,157)] = {29,0x12FFFFE6}, + [I(103,157)] = {29,0x137FFFE6}, + [I(104,157)] = {29,0x13FFFFE6}, + [I(105,157)] = {28,0x37FFFE6}, + [I(106,157)] = {30,0x3A7FFFE6}, + [I(107,157)] = {30,0x3AFFFFE6}, + [I(108,157)] = {29,0x147FFFE6}, + [I(109,157)] = {29,0x14FFFFE6}, + [I(110,157)] = {29,0x157FFFE6}, + [I(111,157)] = {28,0x3FFFFE6}, + [I(112,157)] = {29,0x15FFFFE6}, + [I(113,157)] = {30,0x3B7FFFE6}, + [I(114,157)] = {29,0x167FFFE6}, + [I(115,157)] = {28,0x47FFFE6}, + [I(116,157)] = {28,0x4FFFFE6}, + [I(117,157)] = {29,0x16FFFFE6}, + [I(118,157)] = {30,0x3BFFFFE6}, + [I(119,157)] = {30,0x3C7FFFE6}, + [I(120,157)] = {30,0x3CFFFFE6}, + [I(121,157)] = {30,0x3D7FFFE6}, + [I(122,157)] = {30,0x3DFFFFE6}, + [I(123,157)] = {64,0}, + [I(124,157)] = {64,0}, + [I(125,157)] = {64,0}, + [I(126,157)] = {64,0}, + [I(127,157)] = {64,0}, + [I(128,157)] = {64,0}, + [I(129,157)] = {64,0}, + [I(130,157)] = {64,0}, + [I(131,157)] = {64,0}, + [I(132,157)] = {64,0}, + [I(133,157)] = {64,0}, + [I(134,157)] = {64,0}, + [I(135,157)] = {64,0}, + [I(136,157)] = {64,0}, + [I(137,157)] = {64,0}, + [I(138,157)] = {64,0}, + [I(139,157)] = {64,0}, + [I(140,157)] = {64,0}, + [I(141,157)] = {64,0}, + [I(142,157)] = {64,0}, + [I(143,157)] = {64,0}, + [I(144,157)] = {64,0}, + [I(145,157)] = {64,0}, + [I(146,157)] = {64,0}, + [I(147,157)] = {64,0}, + [I(148,157)] = {64,0}, + [I(149,157)] = {64,0}, + [I(150,157)] = {64,0}, + [I(151,157)] = {64,0}, + [I(152,157)] = {64,0}, + [I(153,157)] = {64,0}, + [I(154,157)] = {64,0}, + [I(155,157)] = {64,0}, + [I(156,157)] = {64,0}, + [I(157,157)] = {64,0}, + [I(158,157)] = {64,0}, + [I(159,157)] = {64,0}, + [I(160,157)] = {64,0}, + [I(161,157)] = {64,0}, + [I(162,157)] = {64,0}, + [I(163,157)] = {64,0}, + [I(164,157)] = {64,0}, + [I(165,157)] = {64,0}, + [I(166,157)] = {64,0}, + [I(167,157)] = {64,0}, + [I(168,157)] = {64,0}, + [I(169,157)] = {64,0}, + [I(170,157)] = {64,0}, + [I(171,157)] = {64,0}, + [I(172,157)] = {64,0}, + [I(173,157)] = {64,0}, + [I(174,157)] = {64,0}, + [I(175,157)] = {64,0}, + [I(176,157)] = {64,0}, + [I(177,157)] = {64,0}, + [I(178,157)] = {64,0}, + [I(179,157)] = {64,0}, + [I(180,157)] = {64,0}, + [I(181,157)] = {64,0}, + [I(182,157)] = {64,0}, + [I(183,157)] = {64,0}, + [I(184,157)] = {64,0}, + [I(185,157)] = {64,0}, + [I(186,157)] = {64,0}, + [I(187,157)] = {64,0}, + [I(188,157)] = {64,0}, + [I(189,157)] = {64,0}, + [I(190,157)] = {64,0}, + [I(191,157)] = {64,0}, + [I(192,157)] = {64,0}, + [I(193,157)] = {64,0}, + [I(194,157)] = {64,0}, + [I(195,157)] = {64,0}, + [I(196,157)] = {64,0}, + [I(197,157)] = {64,0}, + [I(198,157)] = {64,0}, + [I(199,157)] = {64,0}, + [I(200,157)] = {64,0}, + [I(201,157)] = {64,0}, + [I(202,157)] = {64,0}, + [I(203,157)] = {64,0}, + [I(204,157)] = {64,0}, + [I(205,157)] = {64,0}, + [I(206,157)] = {64,0}, + [I(207,157)] = {64,0}, + [I(208,157)] = {64,0}, + [I(209,157)] = {64,0}, + [I(210,157)] = {64,0}, + [I(211,157)] = {64,0}, + [I(212,157)] = {64,0}, + [I(213,157)] = {64,0}, + [I(214,157)] = {64,0}, + [I(215,157)] = {64,0}, + [I(216,157)] = {64,0}, + [I(217,157)] = {64,0}, + [I(218,157)] = {64,0}, + [I(219,157)] = {64,0}, + [I(220,157)] = {64,0}, + [I(221,157)] = {64,0}, + [I(222,157)] = {64,0}, + [I(223,157)] = {64,0}, + [I(224,157)] = {64,0}, + [I(225,157)] = {64,0}, + [I(226,157)] = {64,0}, + [I(227,157)] = {64,0}, + [I(228,157)] = {64,0}, + [I(229,157)] = {64,0}, + [I(230,157)] = {64,0}, + [I(231,157)] = {64,0}, + [I(232,157)] = {64,0}, + [I(233,157)] = {64,0}, + [I(234,157)] = {64,0}, + [I(235,157)] = {64,0}, + [I(236,157)] = {64,0}, + [I(237,157)] = {64,0}, + [I(238,157)] = {64,0}, + [I(239,157)] = {64,0}, + [I(240,157)] = {64,0}, + [I(241,157)] = {64,0}, + [I(242,157)] = {64,0}, + [I(243,157)] = {64,0}, + [I(244,157)] = {64,0}, + [I(245,157)] = {64,0}, + [I(246,157)] = {64,0}, + [I(247,157)] = {64,0}, + [I(248,157)] = {64,0}, + [I(249,157)] = {64,0}, + [I(250,157)] = {64,0}, + [I(251,157)] = {64,0}, + [I(252,157)] = {64,0}, + [I(253,157)] = {64,0}, + [I(254,157)] = {64,0}, + [I(255,157)] = {64,0}, + [I(0,158)] = {64,0}, + [I(1,158)] = {64,0}, + [I(2,158)] = {64,0}, + [I(3,158)] = {64,0}, + [I(4,158)] = {64,0}, + [I(5,158)] = {64,0}, + [I(6,158)] = {64,0}, + [I(7,158)] = {64,0}, + [I(8,158)] = {64,0}, + [I(9,158)] = {64,0}, + [I(10,158)] = {64,0}, + [I(11,158)] = {64,0}, + [I(12,158)] = {64,0}, + [I(13,158)] = {64,0}, + [I(14,158)] = {64,0}, + [I(15,158)] = {64,0}, + [I(16,158)] = {64,0}, + [I(17,158)] = {64,0}, + [I(18,158)] = {64,0}, + [I(19,158)] = {64,0}, + [I(20,158)] = {64,0}, + [I(21,158)] = {64,0}, + [I(22,158)] = {64,0}, + [I(23,158)] = {64,0}, + [I(24,158)] = {64,0}, + [I(25,158)] = {64,0}, + [I(26,158)] = {64,0}, + [I(27,158)] = {64,0}, + [I(28,158)] = {64,0}, + [I(29,158)] = {64,0}, + [I(30,158)] = {64,0}, + [I(31,158)] = {64,0}, + [I(32,158)] = {29,0xA7FFFE7}, + [I(33,158)] = {64,0}, + [I(34,158)] = {64,0}, + [I(35,158)] = {64,0}, + [I(36,158)] = {64,0}, + [I(37,158)] = {29,0xAFFFFE7}, + [I(38,158)] = {31,0x7C7FFFE7}, + [I(39,158)] = {64,0}, + [I(40,158)] = {64,0}, + [I(41,158)] = {64,0}, + [I(42,158)] = {31,0x7CFFFFE7}, + [I(43,158)] = {64,0}, + [I(44,158)] = {31,0x7D7FFFE7}, + [I(45,158)] = {29,0xB7FFFE7}, + [I(46,158)] = {29,0xBFFFFE7}, + [I(47,158)] = {29,0xC7FFFE7}, + [I(48,158)] = {28,0x7FFFE7}, + [I(49,158)] = {28,0xFFFFE7}, + [I(50,158)] = {28,0x17FFFE7}, + [I(51,158)] = {29,0xCFFFFE7}, + [I(52,158)] = {29,0xD7FFFE7}, + [I(53,158)] = {29,0xDFFFFE7}, + [I(54,158)] = {29,0xE7FFFE7}, + [I(55,158)] = {29,0xEFFFFE7}, + [I(56,158)] = {29,0xF7FFFE7}, + [I(57,158)] = {29,0xFFFFFE7}, + [I(58,158)] = {30,0x2E7FFFE7}, + [I(59,158)] = {31,0x7DFFFFE7}, + [I(60,158)] = {64,0}, + [I(61,158)] = {29,0x107FFFE7}, + [I(62,158)] = {64,0}, + [I(63,158)] = {64,0}, + [I(64,158)] = {64,0}, + [I(65,158)] = {29,0x10FFFFE7}, + [I(66,158)] = {30,0x2EFFFFE7}, + [I(67,158)] = {30,0x2F7FFFE7}, + [I(68,158)] = {30,0x2FFFFFE7}, + [I(69,158)] = {30,0x307FFFE7}, + [I(70,158)] = {30,0x30FFFFE7}, + [I(71,158)] = {30,0x317FFFE7}, + [I(72,158)] = {30,0x31FFFFE7}, + [I(73,158)] = {30,0x327FFFE7}, + [I(74,158)] = {30,0x32FFFFE7}, + [I(75,158)] = {30,0x337FFFE7}, + [I(76,158)] = {30,0x33FFFFE7}, + [I(77,158)] = {30,0x347FFFE7}, + [I(78,158)] = {30,0x34FFFFE7}, + [I(79,158)] = {30,0x357FFFE7}, + [I(80,158)] = {30,0x35FFFFE7}, + [I(81,158)] = {30,0x367FFFE7}, + [I(82,158)] = {30,0x36FFFFE7}, + [I(83,158)] = {30,0x377FFFE7}, + [I(84,158)] = {30,0x37FFFFE7}, + [I(85,158)] = {30,0x387FFFE7}, + [I(86,158)] = {30,0x38FFFFE7}, + [I(87,158)] = {30,0x397FFFE7}, + [I(88,158)] = {31,0x7E7FFFE7}, + [I(89,158)] = {30,0x39FFFFE7}, + [I(90,158)] = {31,0x7EFFFFE7}, + [I(91,158)] = {64,0}, + [I(92,158)] = {64,0}, + [I(93,158)] = {64,0}, + [I(94,158)] = {64,0}, + [I(95,158)] = {29,0x117FFFE7}, + [I(96,158)] = {64,0}, + [I(97,158)] = {28,0x1FFFFE7}, + [I(98,158)] = {29,0x11FFFFE7}, + [I(99,158)] = {28,0x27FFFE7}, + [I(100,158)] = {29,0x127FFFE7}, + [I(101,158)] = {28,0x2FFFFE7}, + [I(102,158)] = {29,0x12FFFFE7}, + [I(103,158)] = {29,0x137FFFE7}, + [I(104,158)] = {29,0x13FFFFE7}, + [I(105,158)] = {28,0x37FFFE7}, + [I(106,158)] = {30,0x3A7FFFE7}, + [I(107,158)] = {30,0x3AFFFFE7}, + [I(108,158)] = {29,0x147FFFE7}, + [I(109,158)] = {29,0x14FFFFE7}, + [I(110,158)] = {29,0x157FFFE7}, + [I(111,158)] = {28,0x3FFFFE7}, + [I(112,158)] = {29,0x15FFFFE7}, + [I(113,158)] = {30,0x3B7FFFE7}, + [I(114,158)] = {29,0x167FFFE7}, + [I(115,158)] = {28,0x47FFFE7}, + [I(116,158)] = {28,0x4FFFFE7}, + [I(117,158)] = {29,0x16FFFFE7}, + [I(118,158)] = {30,0x3BFFFFE7}, + [I(119,158)] = {30,0x3C7FFFE7}, + [I(120,158)] = {30,0x3CFFFFE7}, + [I(121,158)] = {30,0x3D7FFFE7}, + [I(122,158)] = {30,0x3DFFFFE7}, + [I(123,158)] = {64,0}, + [I(124,158)] = {64,0}, + [I(125,158)] = {64,0}, + [I(126,158)] = {64,0}, + [I(127,158)] = {64,0}, + [I(128,158)] = {64,0}, + [I(129,158)] = {64,0}, + [I(130,158)] = {64,0}, + [I(131,158)] = {64,0}, + [I(132,158)] = {64,0}, + [I(133,158)] = {64,0}, + [I(134,158)] = {64,0}, + [I(135,158)] = {64,0}, + [I(136,158)] = {64,0}, + [I(137,158)] = {64,0}, + [I(138,158)] = {64,0}, + [I(139,158)] = {64,0}, + [I(140,158)] = {64,0}, + [I(141,158)] = {64,0}, + [I(142,158)] = {64,0}, + [I(143,158)] = {64,0}, + [I(144,158)] = {64,0}, + [I(145,158)] = {64,0}, + [I(146,158)] = {64,0}, + [I(147,158)] = {64,0}, + [I(148,158)] = {64,0}, + [I(149,158)] = {64,0}, + [I(150,158)] = {64,0}, + [I(151,158)] = {64,0}, + [I(152,158)] = {64,0}, + [I(153,158)] = {64,0}, + [I(154,158)] = {64,0}, + [I(155,158)] = {64,0}, + [I(156,158)] = {64,0}, + [I(157,158)] = {64,0}, + [I(158,158)] = {64,0}, + [I(159,158)] = {64,0}, + [I(160,158)] = {64,0}, + [I(161,158)] = {64,0}, + [I(162,158)] = {64,0}, + [I(163,158)] = {64,0}, + [I(164,158)] = {64,0}, + [I(165,158)] = {64,0}, + [I(166,158)] = {64,0}, + [I(167,158)] = {64,0}, + [I(168,158)] = {64,0}, + [I(169,158)] = {64,0}, + [I(170,158)] = {64,0}, + [I(171,158)] = {64,0}, + [I(172,158)] = {64,0}, + [I(173,158)] = {64,0}, + [I(174,158)] = {64,0}, + [I(175,158)] = {64,0}, + [I(176,158)] = {64,0}, + [I(177,158)] = {64,0}, + [I(178,158)] = {64,0}, + [I(179,158)] = {64,0}, + [I(180,158)] = {64,0}, + [I(181,158)] = {64,0}, + [I(182,158)] = {64,0}, + [I(183,158)] = {64,0}, + [I(184,158)] = {64,0}, + [I(185,158)] = {64,0}, + [I(186,158)] = {64,0}, + [I(187,158)] = {64,0}, + [I(188,158)] = {64,0}, + [I(189,158)] = {64,0}, + [I(190,158)] = {64,0}, + [I(191,158)] = {64,0}, + [I(192,158)] = {64,0}, + [I(193,158)] = {64,0}, + [I(194,158)] = {64,0}, + [I(195,158)] = {64,0}, + [I(196,158)] = {64,0}, + [I(197,158)] = {64,0}, + [I(198,158)] = {64,0}, + [I(199,158)] = {64,0}, + [I(200,158)] = {64,0}, + [I(201,158)] = {64,0}, + [I(202,158)] = {64,0}, + [I(203,158)] = {64,0}, + [I(204,158)] = {64,0}, + [I(205,158)] = {64,0}, + [I(206,158)] = {64,0}, + [I(207,158)] = {64,0}, + [I(208,158)] = {64,0}, + [I(209,158)] = {64,0}, + [I(210,158)] = {64,0}, + [I(211,158)] = {64,0}, + [I(212,158)] = {64,0}, + [I(213,158)] = {64,0}, + [I(214,158)] = {64,0}, + [I(215,158)] = {64,0}, + [I(216,158)] = {64,0}, + [I(217,158)] = {64,0}, + [I(218,158)] = {64,0}, + [I(219,158)] = {64,0}, + [I(220,158)] = {64,0}, + [I(221,158)] = {64,0}, + [I(222,158)] = {64,0}, + [I(223,158)] = {64,0}, + [I(224,158)] = {64,0}, + [I(225,158)] = {64,0}, + [I(226,158)] = {64,0}, + [I(227,158)] = {64,0}, + [I(228,158)] = {64,0}, + [I(229,158)] = {64,0}, + [I(230,158)] = {64,0}, + [I(231,158)] = {64,0}, + [I(232,158)] = {64,0}, + [I(233,158)] = {64,0}, + [I(234,158)] = {64,0}, + [I(235,158)] = {64,0}, + [I(236,158)] = {64,0}, + [I(237,158)] = {64,0}, + [I(238,158)] = {64,0}, + [I(239,158)] = {64,0}, + [I(240,158)] = {64,0}, + [I(241,158)] = {64,0}, + [I(242,158)] = {64,0}, + [I(243,158)] = {64,0}, + [I(244,158)] = {64,0}, + [I(245,158)] = {64,0}, + [I(246,158)] = {64,0}, + [I(247,158)] = {64,0}, + [I(248,158)] = {64,0}, + [I(249,158)] = {64,0}, + [I(250,158)] = {64,0}, + [I(251,158)] = {64,0}, + [I(252,158)] = {64,0}, + [I(253,158)] = {64,0}, + [I(254,158)] = {64,0}, + [I(255,158)] = {64,0}, + [I(0,159)] = {64,0}, + [I(1,159)] = {64,0}, + [I(2,159)] = {64,0}, + [I(3,159)] = {64,0}, + [I(4,159)] = {64,0}, + [I(5,159)] = {64,0}, + [I(6,159)] = {64,0}, + [I(7,159)] = {64,0}, + [I(8,159)] = {64,0}, + [I(9,159)] = {64,0}, + [I(10,159)] = {64,0}, + [I(11,159)] = {64,0}, + [I(12,159)] = {64,0}, + [I(13,159)] = {64,0}, + [I(14,159)] = {64,0}, + [I(15,159)] = {64,0}, + [I(16,159)] = {64,0}, + [I(17,159)] = {64,0}, + [I(18,159)] = {64,0}, + [I(19,159)] = {64,0}, + [I(20,159)] = {64,0}, + [I(21,159)] = {64,0}, + [I(22,159)] = {64,0}, + [I(23,159)] = {64,0}, + [I(24,159)] = {64,0}, + [I(25,159)] = {64,0}, + [I(26,159)] = {64,0}, + [I(27,159)] = {64,0}, + [I(28,159)] = {64,0}, + [I(29,159)] = {64,0}, + [I(30,159)] = {64,0}, + [I(31,159)] = {64,0}, + [I(32,159)] = {30,0x14FFFFEF}, + [I(33,159)] = {64,0}, + [I(34,159)] = {64,0}, + [I(35,159)] = {64,0}, + [I(36,159)] = {64,0}, + [I(37,159)] = {30,0x15FFFFEF}, + [I(38,159)] = {X32,0xF8FFFFEF}, + [I(39,159)] = {64,0}, + [I(40,159)] = {64,0}, + [I(41,159)] = {64,0}, + [I(42,159)] = {X32,0xF9FFFFEF}, + [I(43,159)] = {64,0}, + [I(44,159)] = {X32,0xFAFFFFEF}, + [I(45,159)] = {30,0x16FFFFEF}, + [I(46,159)] = {30,0x17FFFFEF}, + [I(47,159)] = {30,0x18FFFFEF}, + [I(48,159)] = {29,0xFFFFEF}, + [I(49,159)] = {29,0x1FFFFEF}, + [I(50,159)] = {29,0x2FFFFEF}, + [I(51,159)] = {30,0x19FFFFEF}, + [I(52,159)] = {30,0x1AFFFFEF}, + [I(53,159)] = {30,0x1BFFFFEF}, + [I(54,159)] = {30,0x1CFFFFEF}, + [I(55,159)] = {30,0x1DFFFFEF}, + [I(56,159)] = {30,0x1EFFFFEF}, + [I(57,159)] = {30,0x1FFFFFEF}, + [I(58,159)] = {31,0x5CFFFFEF}, + [I(59,159)] = {X32,0xFBFFFFEF}, + [I(60,159)] = {64,0}, + [I(61,159)] = {30,0x20FFFFEF}, + [I(62,159)] = {64,0}, + [I(63,159)] = {64,0}, + [I(64,159)] = {64,0}, + [I(65,159)] = {30,0x21FFFFEF}, + [I(66,159)] = {31,0x5DFFFFEF}, + [I(67,159)] = {31,0x5EFFFFEF}, + [I(68,159)] = {31,0x5FFFFFEF}, + [I(69,159)] = {31,0x60FFFFEF}, + [I(70,159)] = {31,0x61FFFFEF}, + [I(71,159)] = {31,0x62FFFFEF}, + [I(72,159)] = {31,0x63FFFFEF}, + [I(73,159)] = {31,0x64FFFFEF}, + [I(74,159)] = {31,0x65FFFFEF}, + [I(75,159)] = {31,0x66FFFFEF}, + [I(76,159)] = {31,0x67FFFFEF}, + [I(77,159)] = {31,0x68FFFFEF}, + [I(78,159)] = {31,0x69FFFFEF}, + [I(79,159)] = {31,0x6AFFFFEF}, + [I(80,159)] = {31,0x6BFFFFEF}, + [I(81,159)] = {31,0x6CFFFFEF}, + [I(82,159)] = {31,0x6DFFFFEF}, + [I(83,159)] = {31,0x6EFFFFEF}, + [I(84,159)] = {31,0x6FFFFFEF}, + [I(85,159)] = {31,0x70FFFFEF}, + [I(86,159)] = {31,0x71FFFFEF}, + [I(87,159)] = {31,0x72FFFFEF}, + [I(88,159)] = {X32,0xFCFFFFEF}, + [I(89,159)] = {31,0x73FFFFEF}, + [I(90,159)] = {X32,0xFDFFFFEF}, + [I(91,159)] = {64,0}, + [I(92,159)] = {64,0}, + [I(93,159)] = {64,0}, + [I(94,159)] = {64,0}, + [I(95,159)] = {30,0x22FFFFEF}, + [I(96,159)] = {64,0}, + [I(97,159)] = {29,0x3FFFFEF}, + [I(98,159)] = {30,0x23FFFFEF}, + [I(99,159)] = {29,0x4FFFFEF}, + [I(100,159)] = {30,0x24FFFFEF}, + [I(101,159)] = {29,0x5FFFFEF}, + [I(102,159)] = {30,0x25FFFFEF}, + [I(103,159)] = {30,0x26FFFFEF}, + [I(104,159)] = {30,0x27FFFFEF}, + [I(105,159)] = {29,0x6FFFFEF}, + [I(106,159)] = {31,0x74FFFFEF}, + [I(107,159)] = {31,0x75FFFFEF}, + [I(108,159)] = {30,0x28FFFFEF}, + [I(109,159)] = {30,0x29FFFFEF}, + [I(110,159)] = {30,0x2AFFFFEF}, + [I(111,159)] = {29,0x7FFFFEF}, + [I(112,159)] = {30,0x2BFFFFEF}, + [I(113,159)] = {31,0x76FFFFEF}, + [I(114,159)] = {30,0x2CFFFFEF}, + [I(115,159)] = {29,0x8FFFFEF}, + [I(116,159)] = {29,0x9FFFFEF}, + [I(117,159)] = {30,0x2DFFFFEF}, + [I(118,159)] = {31,0x77FFFFEF}, + [I(119,159)] = {31,0x78FFFFEF}, + [I(120,159)] = {31,0x79FFFFEF}, + [I(121,159)] = {31,0x7AFFFFEF}, + [I(122,159)] = {31,0x7BFFFFEF}, + [I(123,159)] = {64,0}, + [I(124,159)] = {64,0}, + [I(125,159)] = {64,0}, + [I(126,159)] = {64,0}, + [I(127,159)] = {64,0}, + [I(128,159)] = {64,0}, + [I(129,159)] = {64,0}, + [I(130,159)] = {64,0}, + [I(131,159)] = {64,0}, + [I(132,159)] = {64,0}, + [I(133,159)] = {64,0}, + [I(134,159)] = {64,0}, + [I(135,159)] = {64,0}, + [I(136,159)] = {64,0}, + [I(137,159)] = {64,0}, + [I(138,159)] = {64,0}, + [I(139,159)] = {64,0}, + [I(140,159)] = {64,0}, + [I(141,159)] = {64,0}, + [I(142,159)] = {64,0}, + [I(143,159)] = {64,0}, + [I(144,159)] = {64,0}, + [I(145,159)] = {64,0}, + [I(146,159)] = {64,0}, + [I(147,159)] = {64,0}, + [I(148,159)] = {64,0}, + [I(149,159)] = {64,0}, + [I(150,159)] = {64,0}, + [I(151,159)] = {64,0}, + [I(152,159)] = {64,0}, + [I(153,159)] = {64,0}, + [I(154,159)] = {64,0}, + [I(155,159)] = {64,0}, + [I(156,159)] = {64,0}, + [I(157,159)] = {64,0}, + [I(158,159)] = {64,0}, + [I(159,159)] = {64,0}, + [I(160,159)] = {64,0}, + [I(161,159)] = {64,0}, + [I(162,159)] = {64,0}, + [I(163,159)] = {64,0}, + [I(164,159)] = {64,0}, + [I(165,159)] = {64,0}, + [I(166,159)] = {64,0}, + [I(167,159)] = {64,0}, + [I(168,159)] = {64,0}, + [I(169,159)] = {64,0}, + [I(170,159)] = {64,0}, + [I(171,159)] = {64,0}, + [I(172,159)] = {64,0}, + [I(173,159)] = {64,0}, + [I(174,159)] = {64,0}, + [I(175,159)] = {64,0}, + [I(176,159)] = {64,0}, + [I(177,159)] = {64,0}, + [I(178,159)] = {64,0}, + [I(179,159)] = {64,0}, + [I(180,159)] = {64,0}, + [I(181,159)] = {64,0}, + [I(182,159)] = {64,0}, + [I(183,159)] = {64,0}, + [I(184,159)] = {64,0}, + [I(185,159)] = {64,0}, + [I(186,159)] = {64,0}, + [I(187,159)] = {64,0}, + [I(188,159)] = {64,0}, + [I(189,159)] = {64,0}, + [I(190,159)] = {64,0}, + [I(191,159)] = {64,0}, + [I(192,159)] = {64,0}, + [I(193,159)] = {64,0}, + [I(194,159)] = {64,0}, + [I(195,159)] = {64,0}, + [I(196,159)] = {64,0}, + [I(197,159)] = {64,0}, + [I(198,159)] = {64,0}, + [I(199,159)] = {64,0}, + [I(200,159)] = {64,0}, + [I(201,159)] = {64,0}, + [I(202,159)] = {64,0}, + [I(203,159)] = {64,0}, + [I(204,159)] = {64,0}, + [I(205,159)] = {64,0}, + [I(206,159)] = {64,0}, + [I(207,159)] = {64,0}, + [I(208,159)] = {64,0}, + [I(209,159)] = {64,0}, + [I(210,159)] = {64,0}, + [I(211,159)] = {64,0}, + [I(212,159)] = {64,0}, + [I(213,159)] = {64,0}, + [I(214,159)] = {64,0}, + [I(215,159)] = {64,0}, + [I(216,159)] = {64,0}, + [I(217,159)] = {64,0}, + [I(218,159)] = {64,0}, + [I(219,159)] = {64,0}, + [I(220,159)] = {64,0}, + [I(221,159)] = {64,0}, + [I(222,159)] = {64,0}, + [I(223,159)] = {64,0}, + [I(224,159)] = {64,0}, + [I(225,159)] = {64,0}, + [I(226,159)] = {64,0}, + [I(227,159)] = {64,0}, + [I(228,159)] = {64,0}, + [I(229,159)] = {64,0}, + [I(230,159)] = {64,0}, + [I(231,159)] = {64,0}, + [I(232,159)] = {64,0}, + [I(233,159)] = {64,0}, + [I(234,159)] = {64,0}, + [I(235,159)] = {64,0}, + [I(236,159)] = {64,0}, + [I(237,159)] = {64,0}, + [I(238,159)] = {64,0}, + [I(239,159)] = {64,0}, + [I(240,159)] = {64,0}, + [I(241,159)] = {64,0}, + [I(242,159)] = {64,0}, + [I(243,159)] = {64,0}, + [I(244,159)] = {64,0}, + [I(245,159)] = {64,0}, + [I(246,159)] = {64,0}, + [I(247,159)] = {64,0}, + [I(248,159)] = {64,0}, + [I(249,159)] = {64,0}, + [I(250,159)] = {64,0}, + [I(251,159)] = {64,0}, + [I(252,159)] = {64,0}, + [I(253,159)] = {64,0}, + [I(254,159)] = {64,0}, + [I(255,159)] = {64,0}, + [I(0,160)] = {64,0}, + [I(1,160)] = {64,0}, + [I(2,160)] = {64,0}, + [I(3,160)] = {64,0}, + [I(4,160)] = {64,0}, + [I(5,160)] = {64,0}, + [I(6,160)] = {64,0}, + [I(7,160)] = {64,0}, + [I(8,160)] = {64,0}, + [I(9,160)] = {64,0}, + [I(10,160)] = {64,0}, + [I(11,160)] = {64,0}, + [I(12,160)] = {64,0}, + [I(13,160)] = {64,0}, + [I(14,160)] = {64,0}, + [I(15,160)] = {64,0}, + [I(16,160)] = {64,0}, + [I(17,160)] = {64,0}, + [I(18,160)] = {64,0}, + [I(19,160)] = {64,0}, + [I(20,160)] = {64,0}, + [I(21,160)] = {64,0}, + [I(22,160)] = {64,0}, + [I(23,160)] = {64,0}, + [I(24,160)] = {64,0}, + [I(25,160)] = {64,0}, + [I(26,160)] = {64,0}, + [I(27,160)] = {64,0}, + [I(28,160)] = {64,0}, + [I(29,160)] = {64,0}, + [I(30,160)] = {64,0}, + [I(31,160)] = {64,0}, + [I(32,160)] = {28,0x53FFFDA}, + [I(33,160)] = {X32,0xFE3FFFDA}, + [I(34,160)] = {X32,0xFE7FFFDA}, + [I(35,160)] = {64,0}, + [I(36,160)] = {64,0}, + [I(37,160)] = {28,0x57FFFDA}, + [I(38,160)] = {30,0x3E3FFFDA}, + [I(39,160)] = {64,0}, + [I(40,160)] = {X32,0xFEBFFFDA}, + [I(41,160)] = {X32,0xFEFFFFDA}, + [I(42,160)] = {30,0x3E7FFFDA}, + [I(43,160)] = {64,0}, + [I(44,160)] = {30,0x3EBFFFDA}, + [I(45,160)] = {28,0x5BFFFDA}, + [I(46,160)] = {28,0x5FFFFDA}, + [I(47,160)] = {28,0x63FFFDA}, + [I(48,160)] = {27,0x3FFFDA}, + [I(49,160)] = {27,0x7FFFDA}, + [I(50,160)] = {27,0xBFFFDA}, + [I(51,160)] = {28,0x67FFFDA}, + [I(52,160)] = {28,0x6BFFFDA}, + [I(53,160)] = {28,0x6FFFFDA}, + [I(54,160)] = {28,0x73FFFDA}, + [I(55,160)] = {28,0x77FFFDA}, + [I(56,160)] = {28,0x7BFFFDA}, + [I(57,160)] = {28,0x7FFFFDA}, + [I(58,160)] = {29,0x173FFFDA}, + [I(59,160)] = {30,0x3EFFFFDA}, + [I(60,160)] = {64,0}, + [I(61,160)] = {28,0x83FFFDA}, + [I(62,160)] = {64,0}, + [I(63,160)] = {X32,0xFF3FFFDA}, + [I(64,160)] = {64,0}, + [I(65,160)] = {28,0x87FFFDA}, + [I(66,160)] = {29,0x177FFFDA}, + [I(67,160)] = {29,0x17BFFFDA}, + [I(68,160)] = {29,0x17FFFFDA}, + [I(69,160)] = {29,0x183FFFDA}, + [I(70,160)] = {29,0x187FFFDA}, + [I(71,160)] = {29,0x18BFFFDA}, + [I(72,160)] = {29,0x18FFFFDA}, + [I(73,160)] = {29,0x193FFFDA}, + [I(74,160)] = {29,0x197FFFDA}, + [I(75,160)] = {29,0x19BFFFDA}, + [I(76,160)] = {29,0x19FFFFDA}, + [I(77,160)] = {29,0x1A3FFFDA}, + [I(78,160)] = {29,0x1A7FFFDA}, + [I(79,160)] = {29,0x1ABFFFDA}, + [I(80,160)] = {29,0x1AFFFFDA}, + [I(81,160)] = {29,0x1B3FFFDA}, + [I(82,160)] = {29,0x1B7FFFDA}, + [I(83,160)] = {29,0x1BBFFFDA}, + [I(84,160)] = {29,0x1BFFFFDA}, + [I(85,160)] = {29,0x1C3FFFDA}, + [I(86,160)] = {29,0x1C7FFFDA}, + [I(87,160)] = {29,0x1CBFFFDA}, + [I(88,160)] = {30,0x3F3FFFDA}, + [I(89,160)] = {29,0x1CFFFFDA}, + [I(90,160)] = {30,0x3F7FFFDA}, + [I(91,160)] = {64,0}, + [I(92,160)] = {64,0}, + [I(93,160)] = {64,0}, + [I(94,160)] = {64,0}, + [I(95,160)] = {28,0x8BFFFDA}, + [I(96,160)] = {64,0}, + [I(97,160)] = {27,0xFFFFDA}, + [I(98,160)] = {28,0x8FFFFDA}, + [I(99,160)] = {27,0x13FFFDA}, + [I(100,160)] = {28,0x93FFFDA}, + [I(101,160)] = {27,0x17FFFDA}, + [I(102,160)] = {28,0x97FFFDA}, + [I(103,160)] = {28,0x9BFFFDA}, + [I(104,160)] = {28,0x9FFFFDA}, + [I(105,160)] = {27,0x1BFFFDA}, + [I(106,160)] = {29,0x1D3FFFDA}, + [I(107,160)] = {29,0x1D7FFFDA}, + [I(108,160)] = {28,0xA3FFFDA}, + [I(109,160)] = {28,0xA7FFFDA}, + [I(110,160)] = {28,0xABFFFDA}, + [I(111,160)] = {27,0x1FFFFDA}, + [I(112,160)] = {28,0xAFFFFDA}, + [I(113,160)] = {29,0x1DBFFFDA}, + [I(114,160)] = {28,0xB3FFFDA}, + [I(115,160)] = {27,0x23FFFDA}, + [I(116,160)] = {27,0x27FFFDA}, + [I(117,160)] = {28,0xB7FFFDA}, + [I(118,160)] = {29,0x1DFFFFDA}, + [I(119,160)] = {29,0x1E3FFFDA}, + [I(120,160)] = {29,0x1E7FFFDA}, + [I(121,160)] = {29,0x1EBFFFDA}, + [I(122,160)] = {29,0x1EFFFFDA}, + [I(123,160)] = {64,0}, + [I(124,160)] = {64,0}, + [I(125,160)] = {64,0}, + [I(126,160)] = {64,0}, + [I(127,160)] = {64,0}, + [I(128,160)] = {64,0}, + [I(129,160)] = {64,0}, + [I(130,160)] = {64,0}, + [I(131,160)] = {64,0}, + [I(132,160)] = {64,0}, + [I(133,160)] = {64,0}, + [I(134,160)] = {64,0}, + [I(135,160)] = {64,0}, + [I(136,160)] = {64,0}, + [I(137,160)] = {64,0}, + [I(138,160)] = {64,0}, + [I(139,160)] = {64,0}, + [I(140,160)] = {64,0}, + [I(141,160)] = {64,0}, + [I(142,160)] = {64,0}, + [I(143,160)] = {64,0}, + [I(144,160)] = {64,0}, + [I(145,160)] = {64,0}, + [I(146,160)] = {64,0}, + [I(147,160)] = {64,0}, + [I(148,160)] = {64,0}, + [I(149,160)] = {64,0}, + [I(150,160)] = {64,0}, + [I(151,160)] = {64,0}, + [I(152,160)] = {64,0}, + [I(153,160)] = {64,0}, + [I(154,160)] = {64,0}, + [I(155,160)] = {64,0}, + [I(156,160)] = {64,0}, + [I(157,160)] = {64,0}, + [I(158,160)] = {64,0}, + [I(159,160)] = {64,0}, + [I(160,160)] = {64,0}, + [I(161,160)] = {64,0}, + [I(162,160)] = {64,0}, + [I(163,160)] = {64,0}, + [I(164,160)] = {64,0}, + [I(165,160)] = {64,0}, + [I(166,160)] = {64,0}, + [I(167,160)] = {64,0}, + [I(168,160)] = {64,0}, + [I(169,160)] = {64,0}, + [I(170,160)] = {64,0}, + [I(171,160)] = {64,0}, + [I(172,160)] = {64,0}, + [I(173,160)] = {64,0}, + [I(174,160)] = {64,0}, + [I(175,160)] = {64,0}, + [I(176,160)] = {64,0}, + [I(177,160)] = {64,0}, + [I(178,160)] = {64,0}, + [I(179,160)] = {64,0}, + [I(180,160)] = {64,0}, + [I(181,160)] = {64,0}, + [I(182,160)] = {64,0}, + [I(183,160)] = {64,0}, + [I(184,160)] = {64,0}, + [I(185,160)] = {64,0}, + [I(186,160)] = {64,0}, + [I(187,160)] = {64,0}, + [I(188,160)] = {64,0}, + [I(189,160)] = {64,0}, + [I(190,160)] = {64,0}, + [I(191,160)] = {64,0}, + [I(192,160)] = {64,0}, + [I(193,160)] = {64,0}, + [I(194,160)] = {64,0}, + [I(195,160)] = {64,0}, + [I(196,160)] = {64,0}, + [I(197,160)] = {64,0}, + [I(198,160)] = {64,0}, + [I(199,160)] = {64,0}, + [I(200,160)] = {64,0}, + [I(201,160)] = {64,0}, + [I(202,160)] = {64,0}, + [I(203,160)] = {64,0}, + [I(204,160)] = {64,0}, + [I(205,160)] = {64,0}, + [I(206,160)] = {64,0}, + [I(207,160)] = {64,0}, + [I(208,160)] = {64,0}, + [I(209,160)] = {64,0}, + [I(210,160)] = {64,0}, + [I(211,160)] = {64,0}, + [I(212,160)] = {64,0}, + [I(213,160)] = {64,0}, + [I(214,160)] = {64,0}, + [I(215,160)] = {64,0}, + [I(216,160)] = {64,0}, + [I(217,160)] = {64,0}, + [I(218,160)] = {64,0}, + [I(219,160)] = {64,0}, + [I(220,160)] = {64,0}, + [I(221,160)] = {64,0}, + [I(222,160)] = {64,0}, + [I(223,160)] = {64,0}, + [I(224,160)] = {64,0}, + [I(225,160)] = {64,0}, + [I(226,160)] = {64,0}, + [I(227,160)] = {64,0}, + [I(228,160)] = {64,0}, + [I(229,160)] = {64,0}, + [I(230,160)] = {64,0}, + [I(231,160)] = {64,0}, + [I(232,160)] = {64,0}, + [I(233,160)] = {64,0}, + [I(234,160)] = {64,0}, + [I(235,160)] = {64,0}, + [I(236,160)] = {64,0}, + [I(237,160)] = {64,0}, + [I(238,160)] = {64,0}, + [I(239,160)] = {64,0}, + [I(240,160)] = {64,0}, + [I(241,160)] = {64,0}, + [I(242,160)] = {64,0}, + [I(243,160)] = {64,0}, + [I(244,160)] = {64,0}, + [I(245,160)] = {64,0}, + [I(246,160)] = {64,0}, + [I(247,160)] = {64,0}, + [I(248,160)] = {64,0}, + [I(249,160)] = {64,0}, + [I(250,160)] = {64,0}, + [I(251,160)] = {64,0}, + [I(252,160)] = {64,0}, + [I(253,160)] = {64,0}, + [I(254,160)] = {64,0}, + [I(255,160)] = {64,0}, + [I(0,161)] = {64,0}, + [I(1,161)] = {64,0}, + [I(2,161)] = {64,0}, + [I(3,161)] = {64,0}, + [I(4,161)] = {64,0}, + [I(5,161)] = {64,0}, + [I(6,161)] = {64,0}, + [I(7,161)] = {64,0}, + [I(8,161)] = {64,0}, + [I(9,161)] = {64,0}, + [I(10,161)] = {64,0}, + [I(11,161)] = {64,0}, + [I(12,161)] = {64,0}, + [I(13,161)] = {64,0}, + [I(14,161)] = {64,0}, + [I(15,161)] = {64,0}, + [I(16,161)] = {64,0}, + [I(17,161)] = {64,0}, + [I(18,161)] = {64,0}, + [I(19,161)] = {64,0}, + [I(20,161)] = {64,0}, + [I(21,161)] = {64,0}, + [I(22,161)] = {64,0}, + [I(23,161)] = {64,0}, + [I(24,161)] = {64,0}, + [I(25,161)] = {64,0}, + [I(26,161)] = {64,0}, + [I(27,161)] = {64,0}, + [I(28,161)] = {64,0}, + [I(29,161)] = {64,0}, + [I(30,161)] = {64,0}, + [I(31,161)] = {64,0}, + [I(32,161)] = {27,0x29FFFDD}, + [I(33,161)] = {31,0x7F1FFFDD}, + [I(34,161)] = {31,0x7F3FFFDD}, + [I(35,161)] = {64,0}, + [I(36,161)] = {64,0}, + [I(37,161)] = {27,0x2BFFFDD}, + [I(38,161)] = {29,0x1F1FFFDD}, + [I(39,161)] = {X32,0xFF5FFFDD}, + [I(40,161)] = {31,0x7F5FFFDD}, + [I(41,161)] = {31,0x7F7FFFDD}, + [I(42,161)] = {29,0x1F3FFFDD}, + [I(43,161)] = {X32,0xFF7FFFDD}, + [I(44,161)] = {29,0x1F5FFFDD}, + [I(45,161)] = {27,0x2DFFFDD}, + [I(46,161)] = {27,0x2FFFFDD}, + [I(47,161)] = {27,0x31FFFDD}, + [I(48,161)] = {26,0x1FFFDD}, + [I(49,161)] = {26,0x3FFFDD}, + [I(50,161)] = {26,0x5FFFDD}, + [I(51,161)] = {27,0x33FFFDD}, + [I(52,161)] = {27,0x35FFFDD}, + [I(53,161)] = {27,0x37FFFDD}, + [I(54,161)] = {27,0x39FFFDD}, + [I(55,161)] = {27,0x3BFFFDD}, + [I(56,161)] = {27,0x3DFFFDD}, + [I(57,161)] = {27,0x3FFFFDD}, + [I(58,161)] = {28,0xB9FFFDD}, + [I(59,161)] = {29,0x1F7FFFDD}, + [I(60,161)] = {64,0}, + [I(61,161)] = {27,0x41FFFDD}, + [I(62,161)] = {64,0}, + [I(63,161)] = {31,0x7F9FFFDD}, + [I(64,161)] = {64,0}, + [I(65,161)] = {27,0x43FFFDD}, + [I(66,161)] = {28,0xBBFFFDD}, + [I(67,161)] = {28,0xBDFFFDD}, + [I(68,161)] = {28,0xBFFFFDD}, + [I(69,161)] = {28,0xC1FFFDD}, + [I(70,161)] = {28,0xC3FFFDD}, + [I(71,161)] = {28,0xC5FFFDD}, + [I(72,161)] = {28,0xC7FFFDD}, + [I(73,161)] = {28,0xC9FFFDD}, + [I(74,161)] = {28,0xCBFFFDD}, + [I(75,161)] = {28,0xCDFFFDD}, + [I(76,161)] = {28,0xCFFFFDD}, + [I(77,161)] = {28,0xD1FFFDD}, + [I(78,161)] = {28,0xD3FFFDD}, + [I(79,161)] = {28,0xD5FFFDD}, + [I(80,161)] = {28,0xD7FFFDD}, + [I(81,161)] = {28,0xD9FFFDD}, + [I(82,161)] = {28,0xDBFFFDD}, + [I(83,161)] = {28,0xDDFFFDD}, + [I(84,161)] = {28,0xDFFFFDD}, + [I(85,161)] = {28,0xE1FFFDD}, + [I(86,161)] = {28,0xE3FFFDD}, + [I(87,161)] = {28,0xE5FFFDD}, + [I(88,161)] = {29,0x1F9FFFDD}, + [I(89,161)] = {28,0xE7FFFDD}, + [I(90,161)] = {29,0x1FBFFFDD}, + [I(91,161)] = {64,0}, + [I(92,161)] = {64,0}, + [I(93,161)] = {64,0}, + [I(94,161)] = {64,0}, + [I(95,161)] = {27,0x45FFFDD}, + [I(96,161)] = {64,0}, + [I(97,161)] = {26,0x7FFFDD}, + [I(98,161)] = {27,0x47FFFDD}, + [I(99,161)] = {26,0x9FFFDD}, + [I(100,161)] = {27,0x49FFFDD}, + [I(101,161)] = {26,0xBFFFDD}, + [I(102,161)] = {27,0x4BFFFDD}, + [I(103,161)] = {27,0x4DFFFDD}, + [I(104,161)] = {27,0x4FFFFDD}, + [I(105,161)] = {26,0xDFFFDD}, + [I(106,161)] = {28,0xE9FFFDD}, + [I(107,161)] = {28,0xEBFFFDD}, + [I(108,161)] = {27,0x51FFFDD}, + [I(109,161)] = {27,0x53FFFDD}, + [I(110,161)] = {27,0x55FFFDD}, + [I(111,161)] = {26,0xFFFFDD}, + [I(112,161)] = {27,0x57FFFDD}, + [I(113,161)] = {28,0xEDFFFDD}, + [I(114,161)] = {27,0x59FFFDD}, + [I(115,161)] = {26,0x11FFFDD}, + [I(116,161)] = {26,0x13FFFDD}, + [I(117,161)] = {27,0x5BFFFDD}, + [I(118,161)] = {28,0xEFFFFDD}, + [I(119,161)] = {28,0xF1FFFDD}, + [I(120,161)] = {28,0xF3FFFDD}, + [I(121,161)] = {28,0xF5FFFDD}, + [I(122,161)] = {28,0xF7FFFDD}, + [I(123,161)] = {64,0}, + [I(124,161)] = {X32,0xFF9FFFDD}, + [I(125,161)] = {64,0}, + [I(126,161)] = {64,0}, + [I(127,161)] = {64,0}, + [I(128,161)] = {64,0}, + [I(129,161)] = {64,0}, + [I(130,161)] = {64,0}, + [I(131,161)] = {64,0}, + [I(132,161)] = {64,0}, + [I(133,161)] = {64,0}, + [I(134,161)] = {64,0}, + [I(135,161)] = {64,0}, + [I(136,161)] = {64,0}, + [I(137,161)] = {64,0}, + [I(138,161)] = {64,0}, + [I(139,161)] = {64,0}, + [I(140,161)] = {64,0}, + [I(141,161)] = {64,0}, + [I(142,161)] = {64,0}, + [I(143,161)] = {64,0}, + [I(144,161)] = {64,0}, + [I(145,161)] = {64,0}, + [I(146,161)] = {64,0}, + [I(147,161)] = {64,0}, + [I(148,161)] = {64,0}, + [I(149,161)] = {64,0}, + [I(150,161)] = {64,0}, + [I(151,161)] = {64,0}, + [I(152,161)] = {64,0}, + [I(153,161)] = {64,0}, + [I(154,161)] = {64,0}, + [I(155,161)] = {64,0}, + [I(156,161)] = {64,0}, + [I(157,161)] = {64,0}, + [I(158,161)] = {64,0}, + [I(159,161)] = {64,0}, + [I(160,161)] = {64,0}, + [I(161,161)] = {64,0}, + [I(162,161)] = {64,0}, + [I(163,161)] = {64,0}, + [I(164,161)] = {64,0}, + [I(165,161)] = {64,0}, + [I(166,161)] = {64,0}, + [I(167,161)] = {64,0}, + [I(168,161)] = {64,0}, + [I(169,161)] = {64,0}, + [I(170,161)] = {64,0}, + [I(171,161)] = {64,0}, + [I(172,161)] = {64,0}, + [I(173,161)] = {64,0}, + [I(174,161)] = {64,0}, + [I(175,161)] = {64,0}, + [I(176,161)] = {64,0}, + [I(177,161)] = {64,0}, + [I(178,161)] = {64,0}, + [I(179,161)] = {64,0}, + [I(180,161)] = {64,0}, + [I(181,161)] = {64,0}, + [I(182,161)] = {64,0}, + [I(183,161)] = {64,0}, + [I(184,161)] = {64,0}, + [I(185,161)] = {64,0}, + [I(186,161)] = {64,0}, + [I(187,161)] = {64,0}, + [I(188,161)] = {64,0}, + [I(189,161)] = {64,0}, + [I(190,161)] = {64,0}, + [I(191,161)] = {64,0}, + [I(192,161)] = {64,0}, + [I(193,161)] = {64,0}, + [I(194,161)] = {64,0}, + [I(195,161)] = {64,0}, + [I(196,161)] = {64,0}, + [I(197,161)] = {64,0}, + [I(198,161)] = {64,0}, + [I(199,161)] = {64,0}, + [I(200,161)] = {64,0}, + [I(201,161)] = {64,0}, + [I(202,161)] = {64,0}, + [I(203,161)] = {64,0}, + [I(204,161)] = {64,0}, + [I(205,161)] = {64,0}, + [I(206,161)] = {64,0}, + [I(207,161)] = {64,0}, + [I(208,161)] = {64,0}, + [I(209,161)] = {64,0}, + [I(210,161)] = {64,0}, + [I(211,161)] = {64,0}, + [I(212,161)] = {64,0}, + [I(213,161)] = {64,0}, + [I(214,161)] = {64,0}, + [I(215,161)] = {64,0}, + [I(216,161)] = {64,0}, + [I(217,161)] = {64,0}, + [I(218,161)] = {64,0}, + [I(219,161)] = {64,0}, + [I(220,161)] = {64,0}, + [I(221,161)] = {64,0}, + [I(222,161)] = {64,0}, + [I(223,161)] = {64,0}, + [I(224,161)] = {64,0}, + [I(225,161)] = {64,0}, + [I(226,161)] = {64,0}, + [I(227,161)] = {64,0}, + [I(228,161)] = {64,0}, + [I(229,161)] = {64,0}, + [I(230,161)] = {64,0}, + [I(231,161)] = {64,0}, + [I(232,161)] = {64,0}, + [I(233,161)] = {64,0}, + [I(234,161)] = {64,0}, + [I(235,161)] = {64,0}, + [I(236,161)] = {64,0}, + [I(237,161)] = {64,0}, + [I(238,161)] = {64,0}, + [I(239,161)] = {64,0}, + [I(240,161)] = {64,0}, + [I(241,161)] = {64,0}, + [I(242,161)] = {64,0}, + [I(243,161)] = {64,0}, + [I(244,161)] = {64,0}, + [I(245,161)] = {64,0}, + [I(246,161)] = {64,0}, + [I(247,161)] = {64,0}, + [I(248,161)] = {64,0}, + [I(249,161)] = {64,0}, + [I(250,161)] = {64,0}, + [I(251,161)] = {64,0}, + [I(252,161)] = {64,0}, + [I(253,161)] = {64,0}, + [I(254,161)] = {64,0}, + [I(255,161)] = {64,0}, + [I(0,162)] = {64,0}, + [I(1,162)] = {64,0}, + [I(2,162)] = {64,0}, + [I(3,162)] = {64,0}, + [I(4,162)] = {64,0}, + [I(5,162)] = {64,0}, + [I(6,162)] = {64,0}, + [I(7,162)] = {64,0}, + [I(8,162)] = {64,0}, + [I(9,162)] = {64,0}, + [I(10,162)] = {64,0}, + [I(11,162)] = {64,0}, + [I(12,162)] = {64,0}, + [I(13,162)] = {64,0}, + [I(14,162)] = {64,0}, + [I(15,162)] = {64,0}, + [I(16,162)] = {64,0}, + [I(17,162)] = {64,0}, + [I(18,162)] = {64,0}, + [I(19,162)] = {64,0}, + [I(20,162)] = {64,0}, + [I(21,162)] = {64,0}, + [I(22,162)] = {64,0}, + [I(23,162)] = {64,0}, + [I(24,162)] = {64,0}, + [I(25,162)] = {64,0}, + [I(26,162)] = {64,0}, + [I(27,162)] = {64,0}, + [I(28,162)] = {64,0}, + [I(29,162)] = {64,0}, + [I(30,162)] = {64,0}, + [I(31,162)] = {64,0}, + [I(32,162)] = {26,0x14FFFE9}, + [I(33,162)] = {30,0x3F8FFFE9}, + [I(34,162)] = {30,0x3F9FFFE9}, + [I(35,162)] = {X32,0xFFAFFFE9}, + [I(36,162)] = {64,0}, + [I(37,162)] = {26,0x15FFFE9}, + [I(38,162)] = {28,0xF8FFFE9}, + [I(39,162)] = {31,0x7FAFFFE9}, + [I(40,162)] = {30,0x3FAFFFE9}, + [I(41,162)] = {30,0x3FBFFFE9}, + [I(42,162)] = {28,0xF9FFFE9}, + [I(43,162)] = {31,0x7FBFFFE9}, + [I(44,162)] = {28,0xFAFFFE9}, + [I(45,162)] = {26,0x16FFFE9}, + [I(46,162)] = {26,0x17FFFE9}, + [I(47,162)] = {26,0x18FFFE9}, + [I(48,162)] = {25,0xFFFE9}, + [I(49,162)] = {25,0x1FFFE9}, + [I(50,162)] = {25,0x2FFFE9}, + [I(51,162)] = {26,0x19FFFE9}, + [I(52,162)] = {26,0x1AFFFE9}, + [I(53,162)] = {26,0x1BFFFE9}, + [I(54,162)] = {26,0x1CFFFE9}, + [I(55,162)] = {26,0x1DFFFE9}, + [I(56,162)] = {26,0x1EFFFE9}, + [I(57,162)] = {26,0x1FFFFE9}, + [I(58,162)] = {27,0x5CFFFE9}, + [I(59,162)] = {28,0xFBFFFE9}, + [I(60,162)] = {64,0}, + [I(61,162)] = {26,0x20FFFE9}, + [I(62,162)] = {X32,0xFFBFFFE9}, + [I(63,162)] = {30,0x3FCFFFE9}, + [I(64,162)] = {64,0}, + [I(65,162)] = {26,0x21FFFE9}, + [I(66,162)] = {27,0x5DFFFE9}, + [I(67,162)] = {27,0x5EFFFE9}, + [I(68,162)] = {27,0x5FFFFE9}, + [I(69,162)] = {27,0x60FFFE9}, + [I(70,162)] = {27,0x61FFFE9}, + [I(71,162)] = {27,0x62FFFE9}, + [I(72,162)] = {27,0x63FFFE9}, + [I(73,162)] = {27,0x64FFFE9}, + [I(74,162)] = {27,0x65FFFE9}, + [I(75,162)] = {27,0x66FFFE9}, + [I(76,162)] = {27,0x67FFFE9}, + [I(77,162)] = {27,0x68FFFE9}, + [I(78,162)] = {27,0x69FFFE9}, + [I(79,162)] = {27,0x6AFFFE9}, + [I(80,162)] = {27,0x6BFFFE9}, + [I(81,162)] = {27,0x6CFFFE9}, + [I(82,162)] = {27,0x6DFFFE9}, + [I(83,162)] = {27,0x6EFFFE9}, + [I(84,162)] = {27,0x6FFFFE9}, + [I(85,162)] = {27,0x70FFFE9}, + [I(86,162)] = {27,0x71FFFE9}, + [I(87,162)] = {27,0x72FFFE9}, + [I(88,162)] = {28,0xFCFFFE9}, + [I(89,162)] = {27,0x73FFFE9}, + [I(90,162)] = {28,0xFDFFFE9}, + [I(91,162)] = {64,0}, + [I(92,162)] = {64,0}, + [I(93,162)] = {64,0}, + [I(94,162)] = {64,0}, + [I(95,162)] = {26,0x22FFFE9}, + [I(96,162)] = {64,0}, + [I(97,162)] = {25,0x3FFFE9}, + [I(98,162)] = {26,0x23FFFE9}, + [I(99,162)] = {25,0x4FFFE9}, + [I(100,162)] = {26,0x24FFFE9}, + [I(101,162)] = {25,0x5FFFE9}, + [I(102,162)] = {26,0x25FFFE9}, + [I(103,162)] = {26,0x26FFFE9}, + [I(104,162)] = {26,0x27FFFE9}, + [I(105,162)] = {25,0x6FFFE9}, + [I(106,162)] = {27,0x74FFFE9}, + [I(107,162)] = {27,0x75FFFE9}, + [I(108,162)] = {26,0x28FFFE9}, + [I(109,162)] = {26,0x29FFFE9}, + [I(110,162)] = {26,0x2AFFFE9}, + [I(111,162)] = {25,0x7FFFE9}, + [I(112,162)] = {26,0x2BFFFE9}, + [I(113,162)] = {27,0x76FFFE9}, + [I(114,162)] = {26,0x2CFFFE9}, + [I(115,162)] = {25,0x8FFFE9}, + [I(116,162)] = {25,0x9FFFE9}, + [I(117,162)] = {26,0x2DFFFE9}, + [I(118,162)] = {27,0x77FFFE9}, + [I(119,162)] = {27,0x78FFFE9}, + [I(120,162)] = {27,0x79FFFE9}, + [I(121,162)] = {27,0x7AFFFE9}, + [I(122,162)] = {27,0x7BFFFE9}, + [I(123,162)] = {64,0}, + [I(124,162)] = {31,0x7FCFFFE9}, + [I(125,162)] = {64,0}, + [I(126,162)] = {64,0}, + [I(127,162)] = {64,0}, + [I(128,162)] = {64,0}, + [I(129,162)] = {64,0}, + [I(130,162)] = {64,0}, + [I(131,162)] = {64,0}, + [I(132,162)] = {64,0}, + [I(133,162)] = {64,0}, + [I(134,162)] = {64,0}, + [I(135,162)] = {64,0}, + [I(136,162)] = {64,0}, + [I(137,162)] = {64,0}, + [I(138,162)] = {64,0}, + [I(139,162)] = {64,0}, + [I(140,162)] = {64,0}, + [I(141,162)] = {64,0}, + [I(142,162)] = {64,0}, + [I(143,162)] = {64,0}, + [I(144,162)] = {64,0}, + [I(145,162)] = {64,0}, + [I(146,162)] = {64,0}, + [I(147,162)] = {64,0}, + [I(148,162)] = {64,0}, + [I(149,162)] = {64,0}, + [I(150,162)] = {64,0}, + [I(151,162)] = {64,0}, + [I(152,162)] = {64,0}, + [I(153,162)] = {64,0}, + [I(154,162)] = {64,0}, + [I(155,162)] = {64,0}, + [I(156,162)] = {64,0}, + [I(157,162)] = {64,0}, + [I(158,162)] = {64,0}, + [I(159,162)] = {64,0}, + [I(160,162)] = {64,0}, + [I(161,162)] = {64,0}, + [I(162,162)] = {64,0}, + [I(163,162)] = {64,0}, + [I(164,162)] = {64,0}, + [I(165,162)] = {64,0}, + [I(166,162)] = {64,0}, + [I(167,162)] = {64,0}, + [I(168,162)] = {64,0}, + [I(169,162)] = {64,0}, + [I(170,162)] = {64,0}, + [I(171,162)] = {64,0}, + [I(172,162)] = {64,0}, + [I(173,162)] = {64,0}, + [I(174,162)] = {64,0}, + [I(175,162)] = {64,0}, + [I(176,162)] = {64,0}, + [I(177,162)] = {64,0}, + [I(178,162)] = {64,0}, + [I(179,162)] = {64,0}, + [I(180,162)] = {64,0}, + [I(181,162)] = {64,0}, + [I(182,162)] = {64,0}, + [I(183,162)] = {64,0}, + [I(184,162)] = {64,0}, + [I(185,162)] = {64,0}, + [I(186,162)] = {64,0}, + [I(187,162)] = {64,0}, + [I(188,162)] = {64,0}, + [I(189,162)] = {64,0}, + [I(190,162)] = {64,0}, + [I(191,162)] = {64,0}, + [I(192,162)] = {64,0}, + [I(193,162)] = {64,0}, + [I(194,162)] = {64,0}, + [I(195,162)] = {64,0}, + [I(196,162)] = {64,0}, + [I(197,162)] = {64,0}, + [I(198,162)] = {64,0}, + [I(199,162)] = {64,0}, + [I(200,162)] = {64,0}, + [I(201,162)] = {64,0}, + [I(202,162)] = {64,0}, + [I(203,162)] = {64,0}, + [I(204,162)] = {64,0}, + [I(205,162)] = {64,0}, + [I(206,162)] = {64,0}, + [I(207,162)] = {64,0}, + [I(208,162)] = {64,0}, + [I(209,162)] = {64,0}, + [I(210,162)] = {64,0}, + [I(211,162)] = {64,0}, + [I(212,162)] = {64,0}, + [I(213,162)] = {64,0}, + [I(214,162)] = {64,0}, + [I(215,162)] = {64,0}, + [I(216,162)] = {64,0}, + [I(217,162)] = {64,0}, + [I(218,162)] = {64,0}, + [I(219,162)] = {64,0}, + [I(220,162)] = {64,0}, + [I(221,162)] = {64,0}, + [I(222,162)] = {64,0}, + [I(223,162)] = {64,0}, + [I(224,162)] = {64,0}, + [I(225,162)] = {64,0}, + [I(226,162)] = {64,0}, + [I(227,162)] = {64,0}, + [I(228,162)] = {64,0}, + [I(229,162)] = {64,0}, + [I(230,162)] = {64,0}, + [I(231,162)] = {64,0}, + [I(232,162)] = {64,0}, + [I(233,162)] = {64,0}, + [I(234,162)] = {64,0}, + [I(235,162)] = {64,0}, + [I(236,162)] = {64,0}, + [I(237,162)] = {64,0}, + [I(238,162)] = {64,0}, + [I(239,162)] = {64,0}, + [I(240,162)] = {64,0}, + [I(241,162)] = {64,0}, + [I(242,162)] = {64,0}, + [I(243,162)] = {64,0}, + [I(244,162)] = {64,0}, + [I(245,162)] = {64,0}, + [I(246,162)] = {64,0}, + [I(247,162)] = {64,0}, + [I(248,162)] = {64,0}, + [I(249,162)] = {64,0}, + [I(250,162)] = {64,0}, + [I(251,162)] = {64,0}, + [I(252,162)] = {64,0}, + [I(253,162)] = {64,0}, + [I(254,162)] = {64,0}, + [I(255,162)] = {64,0}, + [I(0,163)] = {64,0}, + [I(1,163)] = {64,0}, + [I(2,163)] = {64,0}, + [I(3,163)] = {64,0}, + [I(4,163)] = {64,0}, + [I(5,163)] = {64,0}, + [I(6,163)] = {64,0}, + [I(7,163)] = {64,0}, + [I(8,163)] = {64,0}, + [I(9,163)] = {64,0}, + [I(10,163)] = {64,0}, + [I(11,163)] = {64,0}, + [I(12,163)] = {64,0}, + [I(13,163)] = {64,0}, + [I(14,163)] = {64,0}, + [I(15,163)] = {64,0}, + [I(16,163)] = {64,0}, + [I(17,163)] = {64,0}, + [I(18,163)] = {64,0}, + [I(19,163)] = {64,0}, + [I(20,163)] = {64,0}, + [I(21,163)] = {64,0}, + [I(22,163)] = {64,0}, + [I(23,163)] = {64,0}, + [I(24,163)] = {64,0}, + [I(25,163)] = {64,0}, + [I(26,163)] = {64,0}, + [I(27,163)] = {64,0}, + [I(28,163)] = {64,0}, + [I(29,163)] = {64,0}, + [I(30,163)] = {64,0}, + [I(31,163)] = {64,0}, + [I(32,163)] = {28,0x53FFFDB}, + [I(33,163)] = {X32,0xFE3FFFDB}, + [I(34,163)] = {X32,0xFE7FFFDB}, + [I(35,163)] = {64,0}, + [I(36,163)] = {64,0}, + [I(37,163)] = {28,0x57FFFDB}, + [I(38,163)] = {30,0x3E3FFFDB}, + [I(39,163)] = {64,0}, + [I(40,163)] = {X32,0xFEBFFFDB}, + [I(41,163)] = {X32,0xFEFFFFDB}, + [I(42,163)] = {30,0x3E7FFFDB}, + [I(43,163)] = {64,0}, + [I(44,163)] = {30,0x3EBFFFDB}, + [I(45,163)] = {28,0x5BFFFDB}, + [I(46,163)] = {28,0x5FFFFDB}, + [I(47,163)] = {28,0x63FFFDB}, + [I(48,163)] = {27,0x3FFFDB}, + [I(49,163)] = {27,0x7FFFDB}, + [I(50,163)] = {27,0xBFFFDB}, + [I(51,163)] = {28,0x67FFFDB}, + [I(52,163)] = {28,0x6BFFFDB}, + [I(53,163)] = {28,0x6FFFFDB}, + [I(54,163)] = {28,0x73FFFDB}, + [I(55,163)] = {28,0x77FFFDB}, + [I(56,163)] = {28,0x7BFFFDB}, + [I(57,163)] = {28,0x7FFFFDB}, + [I(58,163)] = {29,0x173FFFDB}, + [I(59,163)] = {30,0x3EFFFFDB}, + [I(60,163)] = {64,0}, + [I(61,163)] = {28,0x83FFFDB}, + [I(62,163)] = {64,0}, + [I(63,163)] = {X32,0xFF3FFFDB}, + [I(64,163)] = {64,0}, + [I(65,163)] = {28,0x87FFFDB}, + [I(66,163)] = {29,0x177FFFDB}, + [I(67,163)] = {29,0x17BFFFDB}, + [I(68,163)] = {29,0x17FFFFDB}, + [I(69,163)] = {29,0x183FFFDB}, + [I(70,163)] = {29,0x187FFFDB}, + [I(71,163)] = {29,0x18BFFFDB}, + [I(72,163)] = {29,0x18FFFFDB}, + [I(73,163)] = {29,0x193FFFDB}, + [I(74,163)] = {29,0x197FFFDB}, + [I(75,163)] = {29,0x19BFFFDB}, + [I(76,163)] = {29,0x19FFFFDB}, + [I(77,163)] = {29,0x1A3FFFDB}, + [I(78,163)] = {29,0x1A7FFFDB}, + [I(79,163)] = {29,0x1ABFFFDB}, + [I(80,163)] = {29,0x1AFFFFDB}, + [I(81,163)] = {29,0x1B3FFFDB}, + [I(82,163)] = {29,0x1B7FFFDB}, + [I(83,163)] = {29,0x1BBFFFDB}, + [I(84,163)] = {29,0x1BFFFFDB}, + [I(85,163)] = {29,0x1C3FFFDB}, + [I(86,163)] = {29,0x1C7FFFDB}, + [I(87,163)] = {29,0x1CBFFFDB}, + [I(88,163)] = {30,0x3F3FFFDB}, + [I(89,163)] = {29,0x1CFFFFDB}, + [I(90,163)] = {30,0x3F7FFFDB}, + [I(91,163)] = {64,0}, + [I(92,163)] = {64,0}, + [I(93,163)] = {64,0}, + [I(94,163)] = {64,0}, + [I(95,163)] = {28,0x8BFFFDB}, + [I(96,163)] = {64,0}, + [I(97,163)] = {27,0xFFFFDB}, + [I(98,163)] = {28,0x8FFFFDB}, + [I(99,163)] = {27,0x13FFFDB}, + [I(100,163)] = {28,0x93FFFDB}, + [I(101,163)] = {27,0x17FFFDB}, + [I(102,163)] = {28,0x97FFFDB}, + [I(103,163)] = {28,0x9BFFFDB}, + [I(104,163)] = {28,0x9FFFFDB}, + [I(105,163)] = {27,0x1BFFFDB}, + [I(106,163)] = {29,0x1D3FFFDB}, + [I(107,163)] = {29,0x1D7FFFDB}, + [I(108,163)] = {28,0xA3FFFDB}, + [I(109,163)] = {28,0xA7FFFDB}, + [I(110,163)] = {28,0xABFFFDB}, + [I(111,163)] = {27,0x1FFFFDB}, + [I(112,163)] = {28,0xAFFFFDB}, + [I(113,163)] = {29,0x1DBFFFDB}, + [I(114,163)] = {28,0xB3FFFDB}, + [I(115,163)] = {27,0x23FFFDB}, + [I(116,163)] = {27,0x27FFFDB}, + [I(117,163)] = {28,0xB7FFFDB}, + [I(118,163)] = {29,0x1DFFFFDB}, + [I(119,163)] = {29,0x1E3FFFDB}, + [I(120,163)] = {29,0x1E7FFFDB}, + [I(121,163)] = {29,0x1EBFFFDB}, + [I(122,163)] = {29,0x1EFFFFDB}, + [I(123,163)] = {64,0}, + [I(124,163)] = {64,0}, + [I(125,163)] = {64,0}, + [I(126,163)] = {64,0}, + [I(127,163)] = {64,0}, + [I(128,163)] = {64,0}, + [I(129,163)] = {64,0}, + [I(130,163)] = {64,0}, + [I(131,163)] = {64,0}, + [I(132,163)] = {64,0}, + [I(133,163)] = {64,0}, + [I(134,163)] = {64,0}, + [I(135,163)] = {64,0}, + [I(136,163)] = {64,0}, + [I(137,163)] = {64,0}, + [I(138,163)] = {64,0}, + [I(139,163)] = {64,0}, + [I(140,163)] = {64,0}, + [I(141,163)] = {64,0}, + [I(142,163)] = {64,0}, + [I(143,163)] = {64,0}, + [I(144,163)] = {64,0}, + [I(145,163)] = {64,0}, + [I(146,163)] = {64,0}, + [I(147,163)] = {64,0}, + [I(148,163)] = {64,0}, + [I(149,163)] = {64,0}, + [I(150,163)] = {64,0}, + [I(151,163)] = {64,0}, + [I(152,163)] = {64,0}, + [I(153,163)] = {64,0}, + [I(154,163)] = {64,0}, + [I(155,163)] = {64,0}, + [I(156,163)] = {64,0}, + [I(157,163)] = {64,0}, + [I(158,163)] = {64,0}, + [I(159,163)] = {64,0}, + [I(160,163)] = {64,0}, + [I(161,163)] = {64,0}, + [I(162,163)] = {64,0}, + [I(163,163)] = {64,0}, + [I(164,163)] = {64,0}, + [I(165,163)] = {64,0}, + [I(166,163)] = {64,0}, + [I(167,163)] = {64,0}, + [I(168,163)] = {64,0}, + [I(169,163)] = {64,0}, + [I(170,163)] = {64,0}, + [I(171,163)] = {64,0}, + [I(172,163)] = {64,0}, + [I(173,163)] = {64,0}, + [I(174,163)] = {64,0}, + [I(175,163)] = {64,0}, + [I(176,163)] = {64,0}, + [I(177,163)] = {64,0}, + [I(178,163)] = {64,0}, + [I(179,163)] = {64,0}, + [I(180,163)] = {64,0}, + [I(181,163)] = {64,0}, + [I(182,163)] = {64,0}, + [I(183,163)] = {64,0}, + [I(184,163)] = {64,0}, + [I(185,163)] = {64,0}, + [I(186,163)] = {64,0}, + [I(187,163)] = {64,0}, + [I(188,163)] = {64,0}, + [I(189,163)] = {64,0}, + [I(190,163)] = {64,0}, + [I(191,163)] = {64,0}, + [I(192,163)] = {64,0}, + [I(193,163)] = {64,0}, + [I(194,163)] = {64,0}, + [I(195,163)] = {64,0}, + [I(196,163)] = {64,0}, + [I(197,163)] = {64,0}, + [I(198,163)] = {64,0}, + [I(199,163)] = {64,0}, + [I(200,163)] = {64,0}, + [I(201,163)] = {64,0}, + [I(202,163)] = {64,0}, + [I(203,163)] = {64,0}, + [I(204,163)] = {64,0}, + [I(205,163)] = {64,0}, + [I(206,163)] = {64,0}, + [I(207,163)] = {64,0}, + [I(208,163)] = {64,0}, + [I(209,163)] = {64,0}, + [I(210,163)] = {64,0}, + [I(211,163)] = {64,0}, + [I(212,163)] = {64,0}, + [I(213,163)] = {64,0}, + [I(214,163)] = {64,0}, + [I(215,163)] = {64,0}, + [I(216,163)] = {64,0}, + [I(217,163)] = {64,0}, + [I(218,163)] = {64,0}, + [I(219,163)] = {64,0}, + [I(220,163)] = {64,0}, + [I(221,163)] = {64,0}, + [I(222,163)] = {64,0}, + [I(223,163)] = {64,0}, + [I(224,163)] = {64,0}, + [I(225,163)] = {64,0}, + [I(226,163)] = {64,0}, + [I(227,163)] = {64,0}, + [I(228,163)] = {64,0}, + [I(229,163)] = {64,0}, + [I(230,163)] = {64,0}, + [I(231,163)] = {64,0}, + [I(232,163)] = {64,0}, + [I(233,163)] = {64,0}, + [I(234,163)] = {64,0}, + [I(235,163)] = {64,0}, + [I(236,163)] = {64,0}, + [I(237,163)] = {64,0}, + [I(238,163)] = {64,0}, + [I(239,163)] = {64,0}, + [I(240,163)] = {64,0}, + [I(241,163)] = {64,0}, + [I(242,163)] = {64,0}, + [I(243,163)] = {64,0}, + [I(244,163)] = {64,0}, + [I(245,163)] = {64,0}, + [I(246,163)] = {64,0}, + [I(247,163)] = {64,0}, + [I(248,163)] = {64,0}, + [I(249,163)] = {64,0}, + [I(250,163)] = {64,0}, + [I(251,163)] = {64,0}, + [I(252,163)] = {64,0}, + [I(253,163)] = {64,0}, + [I(254,163)] = {64,0}, + [I(255,163)] = {64,0}, + [I(0,164)] = {64,0}, + [I(1,164)] = {64,0}, + [I(2,164)] = {64,0}, + [I(3,164)] = {64,0}, + [I(4,164)] = {64,0}, + [I(5,164)] = {64,0}, + [I(6,164)] = {64,0}, + [I(7,164)] = {64,0}, + [I(8,164)] = {64,0}, + [I(9,164)] = {64,0}, + [I(10,164)] = {64,0}, + [I(11,164)] = {64,0}, + [I(12,164)] = {64,0}, + [I(13,164)] = {64,0}, + [I(14,164)] = {64,0}, + [I(15,164)] = {64,0}, + [I(16,164)] = {64,0}, + [I(17,164)] = {64,0}, + [I(18,164)] = {64,0}, + [I(19,164)] = {64,0}, + [I(20,164)] = {64,0}, + [I(21,164)] = {64,0}, + [I(22,164)] = {64,0}, + [I(23,164)] = {64,0}, + [I(24,164)] = {64,0}, + [I(25,164)] = {64,0}, + [I(26,164)] = {64,0}, + [I(27,164)] = {64,0}, + [I(28,164)] = {64,0}, + [I(29,164)] = {64,0}, + [I(30,164)] = {64,0}, + [I(31,164)] = {64,0}, + [I(32,164)] = {28,0x53FFFDC}, + [I(33,164)] = {X32,0xFE3FFFDC}, + [I(34,164)] = {X32,0xFE7FFFDC}, + [I(35,164)] = {64,0}, + [I(36,164)] = {64,0}, + [I(37,164)] = {28,0x57FFFDC}, + [I(38,164)] = {30,0x3E3FFFDC}, + [I(39,164)] = {64,0}, + [I(40,164)] = {X32,0xFEBFFFDC}, + [I(41,164)] = {X32,0xFEFFFFDC}, + [I(42,164)] = {30,0x3E7FFFDC}, + [I(43,164)] = {64,0}, + [I(44,164)] = {30,0x3EBFFFDC}, + [I(45,164)] = {28,0x5BFFFDC}, + [I(46,164)] = {28,0x5FFFFDC}, + [I(47,164)] = {28,0x63FFFDC}, + [I(48,164)] = {27,0x3FFFDC}, + [I(49,164)] = {27,0x7FFFDC}, + [I(50,164)] = {27,0xBFFFDC}, + [I(51,164)] = {28,0x67FFFDC}, + [I(52,164)] = {28,0x6BFFFDC}, + [I(53,164)] = {28,0x6FFFFDC}, + [I(54,164)] = {28,0x73FFFDC}, + [I(55,164)] = {28,0x77FFFDC}, + [I(56,164)] = {28,0x7BFFFDC}, + [I(57,164)] = {28,0x7FFFFDC}, + [I(58,164)] = {29,0x173FFFDC}, + [I(59,164)] = {30,0x3EFFFFDC}, + [I(60,164)] = {64,0}, + [I(61,164)] = {28,0x83FFFDC}, + [I(62,164)] = {64,0}, + [I(63,164)] = {X32,0xFF3FFFDC}, + [I(64,164)] = {64,0}, + [I(65,164)] = {28,0x87FFFDC}, + [I(66,164)] = {29,0x177FFFDC}, + [I(67,164)] = {29,0x17BFFFDC}, + [I(68,164)] = {29,0x17FFFFDC}, + [I(69,164)] = {29,0x183FFFDC}, + [I(70,164)] = {29,0x187FFFDC}, + [I(71,164)] = {29,0x18BFFFDC}, + [I(72,164)] = {29,0x18FFFFDC}, + [I(73,164)] = {29,0x193FFFDC}, + [I(74,164)] = {29,0x197FFFDC}, + [I(75,164)] = {29,0x19BFFFDC}, + [I(76,164)] = {29,0x19FFFFDC}, + [I(77,164)] = {29,0x1A3FFFDC}, + [I(78,164)] = {29,0x1A7FFFDC}, + [I(79,164)] = {29,0x1ABFFFDC}, + [I(80,164)] = {29,0x1AFFFFDC}, + [I(81,164)] = {29,0x1B3FFFDC}, + [I(82,164)] = {29,0x1B7FFFDC}, + [I(83,164)] = {29,0x1BBFFFDC}, + [I(84,164)] = {29,0x1BFFFFDC}, + [I(85,164)] = {29,0x1C3FFFDC}, + [I(86,164)] = {29,0x1C7FFFDC}, + [I(87,164)] = {29,0x1CBFFFDC}, + [I(88,164)] = {30,0x3F3FFFDC}, + [I(89,164)] = {29,0x1CFFFFDC}, + [I(90,164)] = {30,0x3F7FFFDC}, + [I(91,164)] = {64,0}, + [I(92,164)] = {64,0}, + [I(93,164)] = {64,0}, + [I(94,164)] = {64,0}, + [I(95,164)] = {28,0x8BFFFDC}, + [I(96,164)] = {64,0}, + [I(97,164)] = {27,0xFFFFDC}, + [I(98,164)] = {28,0x8FFFFDC}, + [I(99,164)] = {27,0x13FFFDC}, + [I(100,164)] = {28,0x93FFFDC}, + [I(101,164)] = {27,0x17FFFDC}, + [I(102,164)] = {28,0x97FFFDC}, + [I(103,164)] = {28,0x9BFFFDC}, + [I(104,164)] = {28,0x9FFFFDC}, + [I(105,164)] = {27,0x1BFFFDC}, + [I(106,164)] = {29,0x1D3FFFDC}, + [I(107,164)] = {29,0x1D7FFFDC}, + [I(108,164)] = {28,0xA3FFFDC}, + [I(109,164)] = {28,0xA7FFFDC}, + [I(110,164)] = {28,0xABFFFDC}, + [I(111,164)] = {27,0x1FFFFDC}, + [I(112,164)] = {28,0xAFFFFDC}, + [I(113,164)] = {29,0x1DBFFFDC}, + [I(114,164)] = {28,0xB3FFFDC}, + [I(115,164)] = {27,0x23FFFDC}, + [I(116,164)] = {27,0x27FFFDC}, + [I(117,164)] = {28,0xB7FFFDC}, + [I(118,164)] = {29,0x1DFFFFDC}, + [I(119,164)] = {29,0x1E3FFFDC}, + [I(120,164)] = {29,0x1E7FFFDC}, + [I(121,164)] = {29,0x1EBFFFDC}, + [I(122,164)] = {29,0x1EFFFFDC}, + [I(123,164)] = {64,0}, + [I(124,164)] = {64,0}, + [I(125,164)] = {64,0}, + [I(126,164)] = {64,0}, + [I(127,164)] = {64,0}, + [I(128,164)] = {64,0}, + [I(129,164)] = {64,0}, + [I(130,164)] = {64,0}, + [I(131,164)] = {64,0}, + [I(132,164)] = {64,0}, + [I(133,164)] = {64,0}, + [I(134,164)] = {64,0}, + [I(135,164)] = {64,0}, + [I(136,164)] = {64,0}, + [I(137,164)] = {64,0}, + [I(138,164)] = {64,0}, + [I(139,164)] = {64,0}, + [I(140,164)] = {64,0}, + [I(141,164)] = {64,0}, + [I(142,164)] = {64,0}, + [I(143,164)] = {64,0}, + [I(144,164)] = {64,0}, + [I(145,164)] = {64,0}, + [I(146,164)] = {64,0}, + [I(147,164)] = {64,0}, + [I(148,164)] = {64,0}, + [I(149,164)] = {64,0}, + [I(150,164)] = {64,0}, + [I(151,164)] = {64,0}, + [I(152,164)] = {64,0}, + [I(153,164)] = {64,0}, + [I(154,164)] = {64,0}, + [I(155,164)] = {64,0}, + [I(156,164)] = {64,0}, + [I(157,164)] = {64,0}, + [I(158,164)] = {64,0}, + [I(159,164)] = {64,0}, + [I(160,164)] = {64,0}, + [I(161,164)] = {64,0}, + [I(162,164)] = {64,0}, + [I(163,164)] = {64,0}, + [I(164,164)] = {64,0}, + [I(165,164)] = {64,0}, + [I(166,164)] = {64,0}, + [I(167,164)] = {64,0}, + [I(168,164)] = {64,0}, + [I(169,164)] = {64,0}, + [I(170,164)] = {64,0}, + [I(171,164)] = {64,0}, + [I(172,164)] = {64,0}, + [I(173,164)] = {64,0}, + [I(174,164)] = {64,0}, + [I(175,164)] = {64,0}, + [I(176,164)] = {64,0}, + [I(177,164)] = {64,0}, + [I(178,164)] = {64,0}, + [I(179,164)] = {64,0}, + [I(180,164)] = {64,0}, + [I(181,164)] = {64,0}, + [I(182,164)] = {64,0}, + [I(183,164)] = {64,0}, + [I(184,164)] = {64,0}, + [I(185,164)] = {64,0}, + [I(186,164)] = {64,0}, + [I(187,164)] = {64,0}, + [I(188,164)] = {64,0}, + [I(189,164)] = {64,0}, + [I(190,164)] = {64,0}, + [I(191,164)] = {64,0}, + [I(192,164)] = {64,0}, + [I(193,164)] = {64,0}, + [I(194,164)] = {64,0}, + [I(195,164)] = {64,0}, + [I(196,164)] = {64,0}, + [I(197,164)] = {64,0}, + [I(198,164)] = {64,0}, + [I(199,164)] = {64,0}, + [I(200,164)] = {64,0}, + [I(201,164)] = {64,0}, + [I(202,164)] = {64,0}, + [I(203,164)] = {64,0}, + [I(204,164)] = {64,0}, + [I(205,164)] = {64,0}, + [I(206,164)] = {64,0}, + [I(207,164)] = {64,0}, + [I(208,164)] = {64,0}, + [I(209,164)] = {64,0}, + [I(210,164)] = {64,0}, + [I(211,164)] = {64,0}, + [I(212,164)] = {64,0}, + [I(213,164)] = {64,0}, + [I(214,164)] = {64,0}, + [I(215,164)] = {64,0}, + [I(216,164)] = {64,0}, + [I(217,164)] = {64,0}, + [I(218,164)] = {64,0}, + [I(219,164)] = {64,0}, + [I(220,164)] = {64,0}, + [I(221,164)] = {64,0}, + [I(222,164)] = {64,0}, + [I(223,164)] = {64,0}, + [I(224,164)] = {64,0}, + [I(225,164)] = {64,0}, + [I(226,164)] = {64,0}, + [I(227,164)] = {64,0}, + [I(228,164)] = {64,0}, + [I(229,164)] = {64,0}, + [I(230,164)] = {64,0}, + [I(231,164)] = {64,0}, + [I(232,164)] = {64,0}, + [I(233,164)] = {64,0}, + [I(234,164)] = {64,0}, + [I(235,164)] = {64,0}, + [I(236,164)] = {64,0}, + [I(237,164)] = {64,0}, + [I(238,164)] = {64,0}, + [I(239,164)] = {64,0}, + [I(240,164)] = {64,0}, + [I(241,164)] = {64,0}, + [I(242,164)] = {64,0}, + [I(243,164)] = {64,0}, + [I(244,164)] = {64,0}, + [I(245,164)] = {64,0}, + [I(246,164)] = {64,0}, + [I(247,164)] = {64,0}, + [I(248,164)] = {64,0}, + [I(249,164)] = {64,0}, + [I(250,164)] = {64,0}, + [I(251,164)] = {64,0}, + [I(252,164)] = {64,0}, + [I(253,164)] = {64,0}, + [I(254,164)] = {64,0}, + [I(255,164)] = {64,0}, + [I(0,165)] = {64,0}, + [I(1,165)] = {64,0}, + [I(2,165)] = {64,0}, + [I(3,165)] = {64,0}, + [I(4,165)] = {64,0}, + [I(5,165)] = {64,0}, + [I(6,165)] = {64,0}, + [I(7,165)] = {64,0}, + [I(8,165)] = {64,0}, + [I(9,165)] = {64,0}, + [I(10,165)] = {64,0}, + [I(11,165)] = {64,0}, + [I(12,165)] = {64,0}, + [I(13,165)] = {64,0}, + [I(14,165)] = {64,0}, + [I(15,165)] = {64,0}, + [I(16,165)] = {64,0}, + [I(17,165)] = {64,0}, + [I(18,165)] = {64,0}, + [I(19,165)] = {64,0}, + [I(20,165)] = {64,0}, + [I(21,165)] = {64,0}, + [I(22,165)] = {64,0}, + [I(23,165)] = {64,0}, + [I(24,165)] = {64,0}, + [I(25,165)] = {64,0}, + [I(26,165)] = {64,0}, + [I(27,165)] = {64,0}, + [I(28,165)] = {64,0}, + [I(29,165)] = {64,0}, + [I(30,165)] = {64,0}, + [I(31,165)] = {64,0}, + [I(32,165)] = {29,0xA7FFFE8}, + [I(33,165)] = {64,0}, + [I(34,165)] = {64,0}, + [I(35,165)] = {64,0}, + [I(36,165)] = {64,0}, + [I(37,165)] = {29,0xAFFFFE8}, + [I(38,165)] = {31,0x7C7FFFE8}, + [I(39,165)] = {64,0}, + [I(40,165)] = {64,0}, + [I(41,165)] = {64,0}, + [I(42,165)] = {31,0x7CFFFFE8}, + [I(43,165)] = {64,0}, + [I(44,165)] = {31,0x7D7FFFE8}, + [I(45,165)] = {29,0xB7FFFE8}, + [I(46,165)] = {29,0xBFFFFE8}, + [I(47,165)] = {29,0xC7FFFE8}, + [I(48,165)] = {28,0x7FFFE8}, + [I(49,165)] = {28,0xFFFFE8}, + [I(50,165)] = {28,0x17FFFE8}, + [I(51,165)] = {29,0xCFFFFE8}, + [I(52,165)] = {29,0xD7FFFE8}, + [I(53,165)] = {29,0xDFFFFE8}, + [I(54,165)] = {29,0xE7FFFE8}, + [I(55,165)] = {29,0xEFFFFE8}, + [I(56,165)] = {29,0xF7FFFE8}, + [I(57,165)] = {29,0xFFFFFE8}, + [I(58,165)] = {30,0x2E7FFFE8}, + [I(59,165)] = {31,0x7DFFFFE8}, + [I(60,165)] = {64,0}, + [I(61,165)] = {29,0x107FFFE8}, + [I(62,165)] = {64,0}, + [I(63,165)] = {64,0}, + [I(64,165)] = {64,0}, + [I(65,165)] = {29,0x10FFFFE8}, + [I(66,165)] = {30,0x2EFFFFE8}, + [I(67,165)] = {30,0x2F7FFFE8}, + [I(68,165)] = {30,0x2FFFFFE8}, + [I(69,165)] = {30,0x307FFFE8}, + [I(70,165)] = {30,0x30FFFFE8}, + [I(71,165)] = {30,0x317FFFE8}, + [I(72,165)] = {30,0x31FFFFE8}, + [I(73,165)] = {30,0x327FFFE8}, + [I(74,165)] = {30,0x32FFFFE8}, + [I(75,165)] = {30,0x337FFFE8}, + [I(76,165)] = {30,0x33FFFFE8}, + [I(77,165)] = {30,0x347FFFE8}, + [I(78,165)] = {30,0x34FFFFE8}, + [I(79,165)] = {30,0x357FFFE8}, + [I(80,165)] = {30,0x35FFFFE8}, + [I(81,165)] = {30,0x367FFFE8}, + [I(82,165)] = {30,0x36FFFFE8}, + [I(83,165)] = {30,0x377FFFE8}, + [I(84,165)] = {30,0x37FFFFE8}, + [I(85,165)] = {30,0x387FFFE8}, + [I(86,165)] = {30,0x38FFFFE8}, + [I(87,165)] = {30,0x397FFFE8}, + [I(88,165)] = {31,0x7E7FFFE8}, + [I(89,165)] = {30,0x39FFFFE8}, + [I(90,165)] = {31,0x7EFFFFE8}, + [I(91,165)] = {64,0}, + [I(92,165)] = {64,0}, + [I(93,165)] = {64,0}, + [I(94,165)] = {64,0}, + [I(95,165)] = {29,0x117FFFE8}, + [I(96,165)] = {64,0}, + [I(97,165)] = {28,0x1FFFFE8}, + [I(98,165)] = {29,0x11FFFFE8}, + [I(99,165)] = {28,0x27FFFE8}, + [I(100,165)] = {29,0x127FFFE8}, + [I(101,165)] = {28,0x2FFFFE8}, + [I(102,165)] = {29,0x12FFFFE8}, + [I(103,165)] = {29,0x137FFFE8}, + [I(104,165)] = {29,0x13FFFFE8}, + [I(105,165)] = {28,0x37FFFE8}, + [I(106,165)] = {30,0x3A7FFFE8}, + [I(107,165)] = {30,0x3AFFFFE8}, + [I(108,165)] = {29,0x147FFFE8}, + [I(109,165)] = {29,0x14FFFFE8}, + [I(110,165)] = {29,0x157FFFE8}, + [I(111,165)] = {28,0x3FFFFE8}, + [I(112,165)] = {29,0x15FFFFE8}, + [I(113,165)] = {30,0x3B7FFFE8}, + [I(114,165)] = {29,0x167FFFE8}, + [I(115,165)] = {28,0x47FFFE8}, + [I(116,165)] = {28,0x4FFFFE8}, + [I(117,165)] = {29,0x16FFFFE8}, + [I(118,165)] = {30,0x3BFFFFE8}, + [I(119,165)] = {30,0x3C7FFFE8}, + [I(120,165)] = {30,0x3CFFFFE8}, + [I(121,165)] = {30,0x3D7FFFE8}, + [I(122,165)] = {30,0x3DFFFFE8}, + [I(123,165)] = {64,0}, + [I(124,165)] = {64,0}, + [I(125,165)] = {64,0}, + [I(126,165)] = {64,0}, + [I(127,165)] = {64,0}, + [I(128,165)] = {64,0}, + [I(129,165)] = {64,0}, + [I(130,165)] = {64,0}, + [I(131,165)] = {64,0}, + [I(132,165)] = {64,0}, + [I(133,165)] = {64,0}, + [I(134,165)] = {64,0}, + [I(135,165)] = {64,0}, + [I(136,165)] = {64,0}, + [I(137,165)] = {64,0}, + [I(138,165)] = {64,0}, + [I(139,165)] = {64,0}, + [I(140,165)] = {64,0}, + [I(141,165)] = {64,0}, + [I(142,165)] = {64,0}, + [I(143,165)] = {64,0}, + [I(144,165)] = {64,0}, + [I(145,165)] = {64,0}, + [I(146,165)] = {64,0}, + [I(147,165)] = {64,0}, + [I(148,165)] = {64,0}, + [I(149,165)] = {64,0}, + [I(150,165)] = {64,0}, + [I(151,165)] = {64,0}, + [I(152,165)] = {64,0}, + [I(153,165)] = {64,0}, + [I(154,165)] = {64,0}, + [I(155,165)] = {64,0}, + [I(156,165)] = {64,0}, + [I(157,165)] = {64,0}, + [I(158,165)] = {64,0}, + [I(159,165)] = {64,0}, + [I(160,165)] = {64,0}, + [I(161,165)] = {64,0}, + [I(162,165)] = {64,0}, + [I(163,165)] = {64,0}, + [I(164,165)] = {64,0}, + [I(165,165)] = {64,0}, + [I(166,165)] = {64,0}, + [I(167,165)] = {64,0}, + [I(168,165)] = {64,0}, + [I(169,165)] = {64,0}, + [I(170,165)] = {64,0}, + [I(171,165)] = {64,0}, + [I(172,165)] = {64,0}, + [I(173,165)] = {64,0}, + [I(174,165)] = {64,0}, + [I(175,165)] = {64,0}, + [I(176,165)] = {64,0}, + [I(177,165)] = {64,0}, + [I(178,165)] = {64,0}, + [I(179,165)] = {64,0}, + [I(180,165)] = {64,0}, + [I(181,165)] = {64,0}, + [I(182,165)] = {64,0}, + [I(183,165)] = {64,0}, + [I(184,165)] = {64,0}, + [I(185,165)] = {64,0}, + [I(186,165)] = {64,0}, + [I(187,165)] = {64,0}, + [I(188,165)] = {64,0}, + [I(189,165)] = {64,0}, + [I(190,165)] = {64,0}, + [I(191,165)] = {64,0}, + [I(192,165)] = {64,0}, + [I(193,165)] = {64,0}, + [I(194,165)] = {64,0}, + [I(195,165)] = {64,0}, + [I(196,165)] = {64,0}, + [I(197,165)] = {64,0}, + [I(198,165)] = {64,0}, + [I(199,165)] = {64,0}, + [I(200,165)] = {64,0}, + [I(201,165)] = {64,0}, + [I(202,165)] = {64,0}, + [I(203,165)] = {64,0}, + [I(204,165)] = {64,0}, + [I(205,165)] = {64,0}, + [I(206,165)] = {64,0}, + [I(207,165)] = {64,0}, + [I(208,165)] = {64,0}, + [I(209,165)] = {64,0}, + [I(210,165)] = {64,0}, + [I(211,165)] = {64,0}, + [I(212,165)] = {64,0}, + [I(213,165)] = {64,0}, + [I(214,165)] = {64,0}, + [I(215,165)] = {64,0}, + [I(216,165)] = {64,0}, + [I(217,165)] = {64,0}, + [I(218,165)] = {64,0}, + [I(219,165)] = {64,0}, + [I(220,165)] = {64,0}, + [I(221,165)] = {64,0}, + [I(222,165)] = {64,0}, + [I(223,165)] = {64,0}, + [I(224,165)] = {64,0}, + [I(225,165)] = {64,0}, + [I(226,165)] = {64,0}, + [I(227,165)] = {64,0}, + [I(228,165)] = {64,0}, + [I(229,165)] = {64,0}, + [I(230,165)] = {64,0}, + [I(231,165)] = {64,0}, + [I(232,165)] = {64,0}, + [I(233,165)] = {64,0}, + [I(234,165)] = {64,0}, + [I(235,165)] = {64,0}, + [I(236,165)] = {64,0}, + [I(237,165)] = {64,0}, + [I(238,165)] = {64,0}, + [I(239,165)] = {64,0}, + [I(240,165)] = {64,0}, + [I(241,165)] = {64,0}, + [I(242,165)] = {64,0}, + [I(243,165)] = {64,0}, + [I(244,165)] = {64,0}, + [I(245,165)] = {64,0}, + [I(246,165)] = {64,0}, + [I(247,165)] = {64,0}, + [I(248,165)] = {64,0}, + [I(249,165)] = {64,0}, + [I(250,165)] = {64,0}, + [I(251,165)] = {64,0}, + [I(252,165)] = {64,0}, + [I(253,165)] = {64,0}, + [I(254,165)] = {64,0}, + [I(255,165)] = {64,0}, + [I(0,166)] = {64,0}, + [I(1,166)] = {64,0}, + [I(2,166)] = {64,0}, + [I(3,166)] = {64,0}, + [I(4,166)] = {64,0}, + [I(5,166)] = {64,0}, + [I(6,166)] = {64,0}, + [I(7,166)] = {64,0}, + [I(8,166)] = {64,0}, + [I(9,166)] = {64,0}, + [I(10,166)] = {64,0}, + [I(11,166)] = {64,0}, + [I(12,166)] = {64,0}, + [I(13,166)] = {64,0}, + [I(14,166)] = {64,0}, + [I(15,166)] = {64,0}, + [I(16,166)] = {64,0}, + [I(17,166)] = {64,0}, + [I(18,166)] = {64,0}, + [I(19,166)] = {64,0}, + [I(20,166)] = {64,0}, + [I(21,166)] = {64,0}, + [I(22,166)] = {64,0}, + [I(23,166)] = {64,0}, + [I(24,166)] = {64,0}, + [I(25,166)] = {64,0}, + [I(26,166)] = {64,0}, + [I(27,166)] = {64,0}, + [I(28,166)] = {64,0}, + [I(29,166)] = {64,0}, + [I(30,166)] = {64,0}, + [I(31,166)] = {64,0}, + [I(32,166)] = {29,0xA7FFFE9}, + [I(33,166)] = {64,0}, + [I(34,166)] = {64,0}, + [I(35,166)] = {64,0}, + [I(36,166)] = {64,0}, + [I(37,166)] = {29,0xAFFFFE9}, + [I(38,166)] = {31,0x7C7FFFE9}, + [I(39,166)] = {64,0}, + [I(40,166)] = {64,0}, + [I(41,166)] = {64,0}, + [I(42,166)] = {31,0x7CFFFFE9}, + [I(43,166)] = {64,0}, + [I(44,166)] = {31,0x7D7FFFE9}, + [I(45,166)] = {29,0xB7FFFE9}, + [I(46,166)] = {29,0xBFFFFE9}, + [I(47,166)] = {29,0xC7FFFE9}, + [I(48,166)] = {28,0x7FFFE9}, + [I(49,166)] = {28,0xFFFFE9}, + [I(50,166)] = {28,0x17FFFE9}, + [I(51,166)] = {29,0xCFFFFE9}, + [I(52,166)] = {29,0xD7FFFE9}, + [I(53,166)] = {29,0xDFFFFE9}, + [I(54,166)] = {29,0xE7FFFE9}, + [I(55,166)] = {29,0xEFFFFE9}, + [I(56,166)] = {29,0xF7FFFE9}, + [I(57,166)] = {29,0xFFFFFE9}, + [I(58,166)] = {30,0x2E7FFFE9}, + [I(59,166)] = {31,0x7DFFFFE9}, + [I(60,166)] = {64,0}, + [I(61,166)] = {29,0x107FFFE9}, + [I(62,166)] = {64,0}, + [I(63,166)] = {64,0}, + [I(64,166)] = {64,0}, + [I(65,166)] = {29,0x10FFFFE9}, + [I(66,166)] = {30,0x2EFFFFE9}, + [I(67,166)] = {30,0x2F7FFFE9}, + [I(68,166)] = {30,0x2FFFFFE9}, + [I(69,166)] = {30,0x307FFFE9}, + [I(70,166)] = {30,0x30FFFFE9}, + [I(71,166)] = {30,0x317FFFE9}, + [I(72,166)] = {30,0x31FFFFE9}, + [I(73,166)] = {30,0x327FFFE9}, + [I(74,166)] = {30,0x32FFFFE9}, + [I(75,166)] = {30,0x337FFFE9}, + [I(76,166)] = {30,0x33FFFFE9}, + [I(77,166)] = {30,0x347FFFE9}, + [I(78,166)] = {30,0x34FFFFE9}, + [I(79,166)] = {30,0x357FFFE9}, + [I(80,166)] = {30,0x35FFFFE9}, + [I(81,166)] = {30,0x367FFFE9}, + [I(82,166)] = {30,0x36FFFFE9}, + [I(83,166)] = {30,0x377FFFE9}, + [I(84,166)] = {30,0x37FFFFE9}, + [I(85,166)] = {30,0x387FFFE9}, + [I(86,166)] = {30,0x38FFFFE9}, + [I(87,166)] = {30,0x397FFFE9}, + [I(88,166)] = {31,0x7E7FFFE9}, + [I(89,166)] = {30,0x39FFFFE9}, + [I(90,166)] = {31,0x7EFFFFE9}, + [I(91,166)] = {64,0}, + [I(92,166)] = {64,0}, + [I(93,166)] = {64,0}, + [I(94,166)] = {64,0}, + [I(95,166)] = {29,0x117FFFE9}, + [I(96,166)] = {64,0}, + [I(97,166)] = {28,0x1FFFFE9}, + [I(98,166)] = {29,0x11FFFFE9}, + [I(99,166)] = {28,0x27FFFE9}, + [I(100,166)] = {29,0x127FFFE9}, + [I(101,166)] = {28,0x2FFFFE9}, + [I(102,166)] = {29,0x12FFFFE9}, + [I(103,166)] = {29,0x137FFFE9}, + [I(104,166)] = {29,0x13FFFFE9}, + [I(105,166)] = {28,0x37FFFE9}, + [I(106,166)] = {30,0x3A7FFFE9}, + [I(107,166)] = {30,0x3AFFFFE9}, + [I(108,166)] = {29,0x147FFFE9}, + [I(109,166)] = {29,0x14FFFFE9}, + [I(110,166)] = {29,0x157FFFE9}, + [I(111,166)] = {28,0x3FFFFE9}, + [I(112,166)] = {29,0x15FFFFE9}, + [I(113,166)] = {30,0x3B7FFFE9}, + [I(114,166)] = {29,0x167FFFE9}, + [I(115,166)] = {28,0x47FFFE9}, + [I(116,166)] = {28,0x4FFFFE9}, + [I(117,166)] = {29,0x16FFFFE9}, + [I(118,166)] = {30,0x3BFFFFE9}, + [I(119,166)] = {30,0x3C7FFFE9}, + [I(120,166)] = {30,0x3CFFFFE9}, + [I(121,166)] = {30,0x3D7FFFE9}, + [I(122,166)] = {30,0x3DFFFFE9}, + [I(123,166)] = {64,0}, + [I(124,166)] = {64,0}, + [I(125,166)] = {64,0}, + [I(126,166)] = {64,0}, + [I(127,166)] = {64,0}, + [I(128,166)] = {64,0}, + [I(129,166)] = {64,0}, + [I(130,166)] = {64,0}, + [I(131,166)] = {64,0}, + [I(132,166)] = {64,0}, + [I(133,166)] = {64,0}, + [I(134,166)] = {64,0}, + [I(135,166)] = {64,0}, + [I(136,166)] = {64,0}, + [I(137,166)] = {64,0}, + [I(138,166)] = {64,0}, + [I(139,166)] = {64,0}, + [I(140,166)] = {64,0}, + [I(141,166)] = {64,0}, + [I(142,166)] = {64,0}, + [I(143,166)] = {64,0}, + [I(144,166)] = {64,0}, + [I(145,166)] = {64,0}, + [I(146,166)] = {64,0}, + [I(147,166)] = {64,0}, + [I(148,166)] = {64,0}, + [I(149,166)] = {64,0}, + [I(150,166)] = {64,0}, + [I(151,166)] = {64,0}, + [I(152,166)] = {64,0}, + [I(153,166)] = {64,0}, + [I(154,166)] = {64,0}, + [I(155,166)] = {64,0}, + [I(156,166)] = {64,0}, + [I(157,166)] = {64,0}, + [I(158,166)] = {64,0}, + [I(159,166)] = {64,0}, + [I(160,166)] = {64,0}, + [I(161,166)] = {64,0}, + [I(162,166)] = {64,0}, + [I(163,166)] = {64,0}, + [I(164,166)] = {64,0}, + [I(165,166)] = {64,0}, + [I(166,166)] = {64,0}, + [I(167,166)] = {64,0}, + [I(168,166)] = {64,0}, + [I(169,166)] = {64,0}, + [I(170,166)] = {64,0}, + [I(171,166)] = {64,0}, + [I(172,166)] = {64,0}, + [I(173,166)] = {64,0}, + [I(174,166)] = {64,0}, + [I(175,166)] = {64,0}, + [I(176,166)] = {64,0}, + [I(177,166)] = {64,0}, + [I(178,166)] = {64,0}, + [I(179,166)] = {64,0}, + [I(180,166)] = {64,0}, + [I(181,166)] = {64,0}, + [I(182,166)] = {64,0}, + [I(183,166)] = {64,0}, + [I(184,166)] = {64,0}, + [I(185,166)] = {64,0}, + [I(186,166)] = {64,0}, + [I(187,166)] = {64,0}, + [I(188,166)] = {64,0}, + [I(189,166)] = {64,0}, + [I(190,166)] = {64,0}, + [I(191,166)] = {64,0}, + [I(192,166)] = {64,0}, + [I(193,166)] = {64,0}, + [I(194,166)] = {64,0}, + [I(195,166)] = {64,0}, + [I(196,166)] = {64,0}, + [I(197,166)] = {64,0}, + [I(198,166)] = {64,0}, + [I(199,166)] = {64,0}, + [I(200,166)] = {64,0}, + [I(201,166)] = {64,0}, + [I(202,166)] = {64,0}, + [I(203,166)] = {64,0}, + [I(204,166)] = {64,0}, + [I(205,166)] = {64,0}, + [I(206,166)] = {64,0}, + [I(207,166)] = {64,0}, + [I(208,166)] = {64,0}, + [I(209,166)] = {64,0}, + [I(210,166)] = {64,0}, + [I(211,166)] = {64,0}, + [I(212,166)] = {64,0}, + [I(213,166)] = {64,0}, + [I(214,166)] = {64,0}, + [I(215,166)] = {64,0}, + [I(216,166)] = {64,0}, + [I(217,166)] = {64,0}, + [I(218,166)] = {64,0}, + [I(219,166)] = {64,0}, + [I(220,166)] = {64,0}, + [I(221,166)] = {64,0}, + [I(222,166)] = {64,0}, + [I(223,166)] = {64,0}, + [I(224,166)] = {64,0}, + [I(225,166)] = {64,0}, + [I(226,166)] = {64,0}, + [I(227,166)] = {64,0}, + [I(228,166)] = {64,0}, + [I(229,166)] = {64,0}, + [I(230,166)] = {64,0}, + [I(231,166)] = {64,0}, + [I(232,166)] = {64,0}, + [I(233,166)] = {64,0}, + [I(234,166)] = {64,0}, + [I(235,166)] = {64,0}, + [I(236,166)] = {64,0}, + [I(237,166)] = {64,0}, + [I(238,166)] = {64,0}, + [I(239,166)] = {64,0}, + [I(240,166)] = {64,0}, + [I(241,166)] = {64,0}, + [I(242,166)] = {64,0}, + [I(243,166)] = {64,0}, + [I(244,166)] = {64,0}, + [I(245,166)] = {64,0}, + [I(246,166)] = {64,0}, + [I(247,166)] = {64,0}, + [I(248,166)] = {64,0}, + [I(249,166)] = {64,0}, + [I(250,166)] = {64,0}, + [I(251,166)] = {64,0}, + [I(252,166)] = {64,0}, + [I(253,166)] = {64,0}, + [I(254,166)] = {64,0}, + [I(255,166)] = {64,0}, + [I(0,167)] = {64,0}, + [I(1,167)] = {64,0}, + [I(2,167)] = {64,0}, + [I(3,167)] = {64,0}, + [I(4,167)] = {64,0}, + [I(5,167)] = {64,0}, + [I(6,167)] = {64,0}, + [I(7,167)] = {64,0}, + [I(8,167)] = {64,0}, + [I(9,167)] = {64,0}, + [I(10,167)] = {64,0}, + [I(11,167)] = {64,0}, + [I(12,167)] = {64,0}, + [I(13,167)] = {64,0}, + [I(14,167)] = {64,0}, + [I(15,167)] = {64,0}, + [I(16,167)] = {64,0}, + [I(17,167)] = {64,0}, + [I(18,167)] = {64,0}, + [I(19,167)] = {64,0}, + [I(20,167)] = {64,0}, + [I(21,167)] = {64,0}, + [I(22,167)] = {64,0}, + [I(23,167)] = {64,0}, + [I(24,167)] = {64,0}, + [I(25,167)] = {64,0}, + [I(26,167)] = {64,0}, + [I(27,167)] = {64,0}, + [I(28,167)] = {64,0}, + [I(29,167)] = {64,0}, + [I(30,167)] = {64,0}, + [I(31,167)] = {64,0}, + [I(32,167)] = {27,0x29FFFDE}, + [I(33,167)] = {31,0x7F1FFFDE}, + [I(34,167)] = {31,0x7F3FFFDE}, + [I(35,167)] = {64,0}, + [I(36,167)] = {64,0}, + [I(37,167)] = {27,0x2BFFFDE}, + [I(38,167)] = {29,0x1F1FFFDE}, + [I(39,167)] = {X32,0xFF5FFFDE}, + [I(40,167)] = {31,0x7F5FFFDE}, + [I(41,167)] = {31,0x7F7FFFDE}, + [I(42,167)] = {29,0x1F3FFFDE}, + [I(43,167)] = {X32,0xFF7FFFDE}, + [I(44,167)] = {29,0x1F5FFFDE}, + [I(45,167)] = {27,0x2DFFFDE}, + [I(46,167)] = {27,0x2FFFFDE}, + [I(47,167)] = {27,0x31FFFDE}, + [I(48,167)] = {26,0x1FFFDE}, + [I(49,167)] = {26,0x3FFFDE}, + [I(50,167)] = {26,0x5FFFDE}, + [I(51,167)] = {27,0x33FFFDE}, + [I(52,167)] = {27,0x35FFFDE}, + [I(53,167)] = {27,0x37FFFDE}, + [I(54,167)] = {27,0x39FFFDE}, + [I(55,167)] = {27,0x3BFFFDE}, + [I(56,167)] = {27,0x3DFFFDE}, + [I(57,167)] = {27,0x3FFFFDE}, + [I(58,167)] = {28,0xB9FFFDE}, + [I(59,167)] = {29,0x1F7FFFDE}, + [I(60,167)] = {64,0}, + [I(61,167)] = {27,0x41FFFDE}, + [I(62,167)] = {64,0}, + [I(63,167)] = {31,0x7F9FFFDE}, + [I(64,167)] = {64,0}, + [I(65,167)] = {27,0x43FFFDE}, + [I(66,167)] = {28,0xBBFFFDE}, + [I(67,167)] = {28,0xBDFFFDE}, + [I(68,167)] = {28,0xBFFFFDE}, + [I(69,167)] = {28,0xC1FFFDE}, + [I(70,167)] = {28,0xC3FFFDE}, + [I(71,167)] = {28,0xC5FFFDE}, + [I(72,167)] = {28,0xC7FFFDE}, + [I(73,167)] = {28,0xC9FFFDE}, + [I(74,167)] = {28,0xCBFFFDE}, + [I(75,167)] = {28,0xCDFFFDE}, + [I(76,167)] = {28,0xCFFFFDE}, + [I(77,167)] = {28,0xD1FFFDE}, + [I(78,167)] = {28,0xD3FFFDE}, + [I(79,167)] = {28,0xD5FFFDE}, + [I(80,167)] = {28,0xD7FFFDE}, + [I(81,167)] = {28,0xD9FFFDE}, + [I(82,167)] = {28,0xDBFFFDE}, + [I(83,167)] = {28,0xDDFFFDE}, + [I(84,167)] = {28,0xDFFFFDE}, + [I(85,167)] = {28,0xE1FFFDE}, + [I(86,167)] = {28,0xE3FFFDE}, + [I(87,167)] = {28,0xE5FFFDE}, + [I(88,167)] = {29,0x1F9FFFDE}, + [I(89,167)] = {28,0xE7FFFDE}, + [I(90,167)] = {29,0x1FBFFFDE}, + [I(91,167)] = {64,0}, + [I(92,167)] = {64,0}, + [I(93,167)] = {64,0}, + [I(94,167)] = {64,0}, + [I(95,167)] = {27,0x45FFFDE}, + [I(96,167)] = {64,0}, + [I(97,167)] = {26,0x7FFFDE}, + [I(98,167)] = {27,0x47FFFDE}, + [I(99,167)] = {26,0x9FFFDE}, + [I(100,167)] = {27,0x49FFFDE}, + [I(101,167)] = {26,0xBFFFDE}, + [I(102,167)] = {27,0x4BFFFDE}, + [I(103,167)] = {27,0x4DFFFDE}, + [I(104,167)] = {27,0x4FFFFDE}, + [I(105,167)] = {26,0xDFFFDE}, + [I(106,167)] = {28,0xE9FFFDE}, + [I(107,167)] = {28,0xEBFFFDE}, + [I(108,167)] = {27,0x51FFFDE}, + [I(109,167)] = {27,0x53FFFDE}, + [I(110,167)] = {27,0x55FFFDE}, + [I(111,167)] = {26,0xFFFFDE}, + [I(112,167)] = {27,0x57FFFDE}, + [I(113,167)] = {28,0xEDFFFDE}, + [I(114,167)] = {27,0x59FFFDE}, + [I(115,167)] = {26,0x11FFFDE}, + [I(116,167)] = {26,0x13FFFDE}, + [I(117,167)] = {27,0x5BFFFDE}, + [I(118,167)] = {28,0xEFFFFDE}, + [I(119,167)] = {28,0xF1FFFDE}, + [I(120,167)] = {28,0xF3FFFDE}, + [I(121,167)] = {28,0xF5FFFDE}, + [I(122,167)] = {28,0xF7FFFDE}, + [I(123,167)] = {64,0}, + [I(124,167)] = {X32,0xFF9FFFDE}, + [I(125,167)] = {64,0}, + [I(126,167)] = {64,0}, + [I(127,167)] = {64,0}, + [I(128,167)] = {64,0}, + [I(129,167)] = {64,0}, + [I(130,167)] = {64,0}, + [I(131,167)] = {64,0}, + [I(132,167)] = {64,0}, + [I(133,167)] = {64,0}, + [I(134,167)] = {64,0}, + [I(135,167)] = {64,0}, + [I(136,167)] = {64,0}, + [I(137,167)] = {64,0}, + [I(138,167)] = {64,0}, + [I(139,167)] = {64,0}, + [I(140,167)] = {64,0}, + [I(141,167)] = {64,0}, + [I(142,167)] = {64,0}, + [I(143,167)] = {64,0}, + [I(144,167)] = {64,0}, + [I(145,167)] = {64,0}, + [I(146,167)] = {64,0}, + [I(147,167)] = {64,0}, + [I(148,167)] = {64,0}, + [I(149,167)] = {64,0}, + [I(150,167)] = {64,0}, + [I(151,167)] = {64,0}, + [I(152,167)] = {64,0}, + [I(153,167)] = {64,0}, + [I(154,167)] = {64,0}, + [I(155,167)] = {64,0}, + [I(156,167)] = {64,0}, + [I(157,167)] = {64,0}, + [I(158,167)] = {64,0}, + [I(159,167)] = {64,0}, + [I(160,167)] = {64,0}, + [I(161,167)] = {64,0}, + [I(162,167)] = {64,0}, + [I(163,167)] = {64,0}, + [I(164,167)] = {64,0}, + [I(165,167)] = {64,0}, + [I(166,167)] = {64,0}, + [I(167,167)] = {64,0}, + [I(168,167)] = {64,0}, + [I(169,167)] = {64,0}, + [I(170,167)] = {64,0}, + [I(171,167)] = {64,0}, + [I(172,167)] = {64,0}, + [I(173,167)] = {64,0}, + [I(174,167)] = {64,0}, + [I(175,167)] = {64,0}, + [I(176,167)] = {64,0}, + [I(177,167)] = {64,0}, + [I(178,167)] = {64,0}, + [I(179,167)] = {64,0}, + [I(180,167)] = {64,0}, + [I(181,167)] = {64,0}, + [I(182,167)] = {64,0}, + [I(183,167)] = {64,0}, + [I(184,167)] = {64,0}, + [I(185,167)] = {64,0}, + [I(186,167)] = {64,0}, + [I(187,167)] = {64,0}, + [I(188,167)] = {64,0}, + [I(189,167)] = {64,0}, + [I(190,167)] = {64,0}, + [I(191,167)] = {64,0}, + [I(192,167)] = {64,0}, + [I(193,167)] = {64,0}, + [I(194,167)] = {64,0}, + [I(195,167)] = {64,0}, + [I(196,167)] = {64,0}, + [I(197,167)] = {64,0}, + [I(198,167)] = {64,0}, + [I(199,167)] = {64,0}, + [I(200,167)] = {64,0}, + [I(201,167)] = {64,0}, + [I(202,167)] = {64,0}, + [I(203,167)] = {64,0}, + [I(204,167)] = {64,0}, + [I(205,167)] = {64,0}, + [I(206,167)] = {64,0}, + [I(207,167)] = {64,0}, + [I(208,167)] = {64,0}, + [I(209,167)] = {64,0}, + [I(210,167)] = {64,0}, + [I(211,167)] = {64,0}, + [I(212,167)] = {64,0}, + [I(213,167)] = {64,0}, + [I(214,167)] = {64,0}, + [I(215,167)] = {64,0}, + [I(216,167)] = {64,0}, + [I(217,167)] = {64,0}, + [I(218,167)] = {64,0}, + [I(219,167)] = {64,0}, + [I(220,167)] = {64,0}, + [I(221,167)] = {64,0}, + [I(222,167)] = {64,0}, + [I(223,167)] = {64,0}, + [I(224,167)] = {64,0}, + [I(225,167)] = {64,0}, + [I(226,167)] = {64,0}, + [I(227,167)] = {64,0}, + [I(228,167)] = {64,0}, + [I(229,167)] = {64,0}, + [I(230,167)] = {64,0}, + [I(231,167)] = {64,0}, + [I(232,167)] = {64,0}, + [I(233,167)] = {64,0}, + [I(234,167)] = {64,0}, + [I(235,167)] = {64,0}, + [I(236,167)] = {64,0}, + [I(237,167)] = {64,0}, + [I(238,167)] = {64,0}, + [I(239,167)] = {64,0}, + [I(240,167)] = {64,0}, + [I(241,167)] = {64,0}, + [I(242,167)] = {64,0}, + [I(243,167)] = {64,0}, + [I(244,167)] = {64,0}, + [I(245,167)] = {64,0}, + [I(246,167)] = {64,0}, + [I(247,167)] = {64,0}, + [I(248,167)] = {64,0}, + [I(249,167)] = {64,0}, + [I(250,167)] = {64,0}, + [I(251,167)] = {64,0}, + [I(252,167)] = {64,0}, + [I(253,167)] = {64,0}, + [I(254,167)] = {64,0}, + [I(255,167)] = {64,0}, + [I(0,168)] = {64,0}, + [I(1,168)] = {64,0}, + [I(2,168)] = {64,0}, + [I(3,168)] = {64,0}, + [I(4,168)] = {64,0}, + [I(5,168)] = {64,0}, + [I(6,168)] = {64,0}, + [I(7,168)] = {64,0}, + [I(8,168)] = {64,0}, + [I(9,168)] = {64,0}, + [I(10,168)] = {64,0}, + [I(11,168)] = {64,0}, + [I(12,168)] = {64,0}, + [I(13,168)] = {64,0}, + [I(14,168)] = {64,0}, + [I(15,168)] = {64,0}, + [I(16,168)] = {64,0}, + [I(17,168)] = {64,0}, + [I(18,168)] = {64,0}, + [I(19,168)] = {64,0}, + [I(20,168)] = {64,0}, + [I(21,168)] = {64,0}, + [I(22,168)] = {64,0}, + [I(23,168)] = {64,0}, + [I(24,168)] = {64,0}, + [I(25,168)] = {64,0}, + [I(26,168)] = {64,0}, + [I(27,168)] = {64,0}, + [I(28,168)] = {64,0}, + [I(29,168)] = {64,0}, + [I(30,168)] = {64,0}, + [I(31,168)] = {64,0}, + [I(32,168)] = {29,0xA7FFFEA}, + [I(33,168)] = {64,0}, + [I(34,168)] = {64,0}, + [I(35,168)] = {64,0}, + [I(36,168)] = {64,0}, + [I(37,168)] = {29,0xAFFFFEA}, + [I(38,168)] = {31,0x7C7FFFEA}, + [I(39,168)] = {64,0}, + [I(40,168)] = {64,0}, + [I(41,168)] = {64,0}, + [I(42,168)] = {31,0x7CFFFFEA}, + [I(43,168)] = {64,0}, + [I(44,168)] = {31,0x7D7FFFEA}, + [I(45,168)] = {29,0xB7FFFEA}, + [I(46,168)] = {29,0xBFFFFEA}, + [I(47,168)] = {29,0xC7FFFEA}, + [I(48,168)] = {28,0x7FFFEA}, + [I(49,168)] = {28,0xFFFFEA}, + [I(50,168)] = {28,0x17FFFEA}, + [I(51,168)] = {29,0xCFFFFEA}, + [I(52,168)] = {29,0xD7FFFEA}, + [I(53,168)] = {29,0xDFFFFEA}, + [I(54,168)] = {29,0xE7FFFEA}, + [I(55,168)] = {29,0xEFFFFEA}, + [I(56,168)] = {29,0xF7FFFEA}, + [I(57,168)] = {29,0xFFFFFEA}, + [I(58,168)] = {30,0x2E7FFFEA}, + [I(59,168)] = {31,0x7DFFFFEA}, + [I(60,168)] = {64,0}, + [I(61,168)] = {29,0x107FFFEA}, + [I(62,168)] = {64,0}, + [I(63,168)] = {64,0}, + [I(64,168)] = {64,0}, + [I(65,168)] = {29,0x10FFFFEA}, + [I(66,168)] = {30,0x2EFFFFEA}, + [I(67,168)] = {30,0x2F7FFFEA}, + [I(68,168)] = {30,0x2FFFFFEA}, + [I(69,168)] = {30,0x307FFFEA}, + [I(70,168)] = {30,0x30FFFFEA}, + [I(71,168)] = {30,0x317FFFEA}, + [I(72,168)] = {30,0x31FFFFEA}, + [I(73,168)] = {30,0x327FFFEA}, + [I(74,168)] = {30,0x32FFFFEA}, + [I(75,168)] = {30,0x337FFFEA}, + [I(76,168)] = {30,0x33FFFFEA}, + [I(77,168)] = {30,0x347FFFEA}, + [I(78,168)] = {30,0x34FFFFEA}, + [I(79,168)] = {30,0x357FFFEA}, + [I(80,168)] = {30,0x35FFFFEA}, + [I(81,168)] = {30,0x367FFFEA}, + [I(82,168)] = {30,0x36FFFFEA}, + [I(83,168)] = {30,0x377FFFEA}, + [I(84,168)] = {30,0x37FFFFEA}, + [I(85,168)] = {30,0x387FFFEA}, + [I(86,168)] = {30,0x38FFFFEA}, + [I(87,168)] = {30,0x397FFFEA}, + [I(88,168)] = {31,0x7E7FFFEA}, + [I(89,168)] = {30,0x39FFFFEA}, + [I(90,168)] = {31,0x7EFFFFEA}, + [I(91,168)] = {64,0}, + [I(92,168)] = {64,0}, + [I(93,168)] = {64,0}, + [I(94,168)] = {64,0}, + [I(95,168)] = {29,0x117FFFEA}, + [I(96,168)] = {64,0}, + [I(97,168)] = {28,0x1FFFFEA}, + [I(98,168)] = {29,0x11FFFFEA}, + [I(99,168)] = {28,0x27FFFEA}, + [I(100,168)] = {29,0x127FFFEA}, + [I(101,168)] = {28,0x2FFFFEA}, + [I(102,168)] = {29,0x12FFFFEA}, + [I(103,168)] = {29,0x137FFFEA}, + [I(104,168)] = {29,0x13FFFFEA}, + [I(105,168)] = {28,0x37FFFEA}, + [I(106,168)] = {30,0x3A7FFFEA}, + [I(107,168)] = {30,0x3AFFFFEA}, + [I(108,168)] = {29,0x147FFFEA}, + [I(109,168)] = {29,0x14FFFFEA}, + [I(110,168)] = {29,0x157FFFEA}, + [I(111,168)] = {28,0x3FFFFEA}, + [I(112,168)] = {29,0x15FFFFEA}, + [I(113,168)] = {30,0x3B7FFFEA}, + [I(114,168)] = {29,0x167FFFEA}, + [I(115,168)] = {28,0x47FFFEA}, + [I(116,168)] = {28,0x4FFFFEA}, + [I(117,168)] = {29,0x16FFFFEA}, + [I(118,168)] = {30,0x3BFFFFEA}, + [I(119,168)] = {30,0x3C7FFFEA}, + [I(120,168)] = {30,0x3CFFFFEA}, + [I(121,168)] = {30,0x3D7FFFEA}, + [I(122,168)] = {30,0x3DFFFFEA}, + [I(123,168)] = {64,0}, + [I(124,168)] = {64,0}, + [I(125,168)] = {64,0}, + [I(126,168)] = {64,0}, + [I(127,168)] = {64,0}, + [I(128,168)] = {64,0}, + [I(129,168)] = {64,0}, + [I(130,168)] = {64,0}, + [I(131,168)] = {64,0}, + [I(132,168)] = {64,0}, + [I(133,168)] = {64,0}, + [I(134,168)] = {64,0}, + [I(135,168)] = {64,0}, + [I(136,168)] = {64,0}, + [I(137,168)] = {64,0}, + [I(138,168)] = {64,0}, + [I(139,168)] = {64,0}, + [I(140,168)] = {64,0}, + [I(141,168)] = {64,0}, + [I(142,168)] = {64,0}, + [I(143,168)] = {64,0}, + [I(144,168)] = {64,0}, + [I(145,168)] = {64,0}, + [I(146,168)] = {64,0}, + [I(147,168)] = {64,0}, + [I(148,168)] = {64,0}, + [I(149,168)] = {64,0}, + [I(150,168)] = {64,0}, + [I(151,168)] = {64,0}, + [I(152,168)] = {64,0}, + [I(153,168)] = {64,0}, + [I(154,168)] = {64,0}, + [I(155,168)] = {64,0}, + [I(156,168)] = {64,0}, + [I(157,168)] = {64,0}, + [I(158,168)] = {64,0}, + [I(159,168)] = {64,0}, + [I(160,168)] = {64,0}, + [I(161,168)] = {64,0}, + [I(162,168)] = {64,0}, + [I(163,168)] = {64,0}, + [I(164,168)] = {64,0}, + [I(165,168)] = {64,0}, + [I(166,168)] = {64,0}, + [I(167,168)] = {64,0}, + [I(168,168)] = {64,0}, + [I(169,168)] = {64,0}, + [I(170,168)] = {64,0}, + [I(171,168)] = {64,0}, + [I(172,168)] = {64,0}, + [I(173,168)] = {64,0}, + [I(174,168)] = {64,0}, + [I(175,168)] = {64,0}, + [I(176,168)] = {64,0}, + [I(177,168)] = {64,0}, + [I(178,168)] = {64,0}, + [I(179,168)] = {64,0}, + [I(180,168)] = {64,0}, + [I(181,168)] = {64,0}, + [I(182,168)] = {64,0}, + [I(183,168)] = {64,0}, + [I(184,168)] = {64,0}, + [I(185,168)] = {64,0}, + [I(186,168)] = {64,0}, + [I(187,168)] = {64,0}, + [I(188,168)] = {64,0}, + [I(189,168)] = {64,0}, + [I(190,168)] = {64,0}, + [I(191,168)] = {64,0}, + [I(192,168)] = {64,0}, + [I(193,168)] = {64,0}, + [I(194,168)] = {64,0}, + [I(195,168)] = {64,0}, + [I(196,168)] = {64,0}, + [I(197,168)] = {64,0}, + [I(198,168)] = {64,0}, + [I(199,168)] = {64,0}, + [I(200,168)] = {64,0}, + [I(201,168)] = {64,0}, + [I(202,168)] = {64,0}, + [I(203,168)] = {64,0}, + [I(204,168)] = {64,0}, + [I(205,168)] = {64,0}, + [I(206,168)] = {64,0}, + [I(207,168)] = {64,0}, + [I(208,168)] = {64,0}, + [I(209,168)] = {64,0}, + [I(210,168)] = {64,0}, + [I(211,168)] = {64,0}, + [I(212,168)] = {64,0}, + [I(213,168)] = {64,0}, + [I(214,168)] = {64,0}, + [I(215,168)] = {64,0}, + [I(216,168)] = {64,0}, + [I(217,168)] = {64,0}, + [I(218,168)] = {64,0}, + [I(219,168)] = {64,0}, + [I(220,168)] = {64,0}, + [I(221,168)] = {64,0}, + [I(222,168)] = {64,0}, + [I(223,168)] = {64,0}, + [I(224,168)] = {64,0}, + [I(225,168)] = {64,0}, + [I(226,168)] = {64,0}, + [I(227,168)] = {64,0}, + [I(228,168)] = {64,0}, + [I(229,168)] = {64,0}, + [I(230,168)] = {64,0}, + [I(231,168)] = {64,0}, + [I(232,168)] = {64,0}, + [I(233,168)] = {64,0}, + [I(234,168)] = {64,0}, + [I(235,168)] = {64,0}, + [I(236,168)] = {64,0}, + [I(237,168)] = {64,0}, + [I(238,168)] = {64,0}, + [I(239,168)] = {64,0}, + [I(240,168)] = {64,0}, + [I(241,168)] = {64,0}, + [I(242,168)] = {64,0}, + [I(243,168)] = {64,0}, + [I(244,168)] = {64,0}, + [I(245,168)] = {64,0}, + [I(246,168)] = {64,0}, + [I(247,168)] = {64,0}, + [I(248,168)] = {64,0}, + [I(249,168)] = {64,0}, + [I(250,168)] = {64,0}, + [I(251,168)] = {64,0}, + [I(252,168)] = {64,0}, + [I(253,168)] = {64,0}, + [I(254,168)] = {64,0}, + [I(255,168)] = {64,0}, + [I(0,169)] = {64,0}, + [I(1,169)] = {64,0}, + [I(2,169)] = {64,0}, + [I(3,169)] = {64,0}, + [I(4,169)] = {64,0}, + [I(5,169)] = {64,0}, + [I(6,169)] = {64,0}, + [I(7,169)] = {64,0}, + [I(8,169)] = {64,0}, + [I(9,169)] = {64,0}, + [I(10,169)] = {64,0}, + [I(11,169)] = {64,0}, + [I(12,169)] = {64,0}, + [I(13,169)] = {64,0}, + [I(14,169)] = {64,0}, + [I(15,169)] = {64,0}, + [I(16,169)] = {64,0}, + [I(17,169)] = {64,0}, + [I(18,169)] = {64,0}, + [I(19,169)] = {64,0}, + [I(20,169)] = {64,0}, + [I(21,169)] = {64,0}, + [I(22,169)] = {64,0}, + [I(23,169)] = {64,0}, + [I(24,169)] = {64,0}, + [I(25,169)] = {64,0}, + [I(26,169)] = {64,0}, + [I(27,169)] = {64,0}, + [I(28,169)] = {64,0}, + [I(29,169)] = {64,0}, + [I(30,169)] = {64,0}, + [I(31,169)] = {64,0}, + [I(32,169)] = {28,0x53FFFDD}, + [I(33,169)] = {X32,0xFE3FFFDD}, + [I(34,169)] = {X32,0xFE7FFFDD}, + [I(35,169)] = {64,0}, + [I(36,169)] = {64,0}, + [I(37,169)] = {28,0x57FFFDD}, + [I(38,169)] = {30,0x3E3FFFDD}, + [I(39,169)] = {64,0}, + [I(40,169)] = {X32,0xFEBFFFDD}, + [I(41,169)] = {X32,0xFEFFFFDD}, + [I(42,169)] = {30,0x3E7FFFDD}, + [I(43,169)] = {64,0}, + [I(44,169)] = {30,0x3EBFFFDD}, + [I(45,169)] = {28,0x5BFFFDD}, + [I(46,169)] = {28,0x5FFFFDD}, + [I(47,169)] = {28,0x63FFFDD}, + [I(48,169)] = {27,0x3FFFDD}, + [I(49,169)] = {27,0x7FFFDD}, + [I(50,169)] = {27,0xBFFFDD}, + [I(51,169)] = {28,0x67FFFDD}, + [I(52,169)] = {28,0x6BFFFDD}, + [I(53,169)] = {28,0x6FFFFDD}, + [I(54,169)] = {28,0x73FFFDD}, + [I(55,169)] = {28,0x77FFFDD}, + [I(56,169)] = {28,0x7BFFFDD}, + [I(57,169)] = {28,0x7FFFFDD}, + [I(58,169)] = {29,0x173FFFDD}, + [I(59,169)] = {30,0x3EFFFFDD}, + [I(60,169)] = {64,0}, + [I(61,169)] = {28,0x83FFFDD}, + [I(62,169)] = {64,0}, + [I(63,169)] = {X32,0xFF3FFFDD}, + [I(64,169)] = {64,0}, + [I(65,169)] = {28,0x87FFFDD}, + [I(66,169)] = {29,0x177FFFDD}, + [I(67,169)] = {29,0x17BFFFDD}, + [I(68,169)] = {29,0x17FFFFDD}, + [I(69,169)] = {29,0x183FFFDD}, + [I(70,169)] = {29,0x187FFFDD}, + [I(71,169)] = {29,0x18BFFFDD}, + [I(72,169)] = {29,0x18FFFFDD}, + [I(73,169)] = {29,0x193FFFDD}, + [I(74,169)] = {29,0x197FFFDD}, + [I(75,169)] = {29,0x19BFFFDD}, + [I(76,169)] = {29,0x19FFFFDD}, + [I(77,169)] = {29,0x1A3FFFDD}, + [I(78,169)] = {29,0x1A7FFFDD}, + [I(79,169)] = {29,0x1ABFFFDD}, + [I(80,169)] = {29,0x1AFFFFDD}, + [I(81,169)] = {29,0x1B3FFFDD}, + [I(82,169)] = {29,0x1B7FFFDD}, + [I(83,169)] = {29,0x1BBFFFDD}, + [I(84,169)] = {29,0x1BFFFFDD}, + [I(85,169)] = {29,0x1C3FFFDD}, + [I(86,169)] = {29,0x1C7FFFDD}, + [I(87,169)] = {29,0x1CBFFFDD}, + [I(88,169)] = {30,0x3F3FFFDD}, + [I(89,169)] = {29,0x1CFFFFDD}, + [I(90,169)] = {30,0x3F7FFFDD}, + [I(91,169)] = {64,0}, + [I(92,169)] = {64,0}, + [I(93,169)] = {64,0}, + [I(94,169)] = {64,0}, + [I(95,169)] = {28,0x8BFFFDD}, + [I(96,169)] = {64,0}, + [I(97,169)] = {27,0xFFFFDD}, + [I(98,169)] = {28,0x8FFFFDD}, + [I(99,169)] = {27,0x13FFFDD}, + [I(100,169)] = {28,0x93FFFDD}, + [I(101,169)] = {27,0x17FFFDD}, + [I(102,169)] = {28,0x97FFFDD}, + [I(103,169)] = {28,0x9BFFFDD}, + [I(104,169)] = {28,0x9FFFFDD}, + [I(105,169)] = {27,0x1BFFFDD}, + [I(106,169)] = {29,0x1D3FFFDD}, + [I(107,169)] = {29,0x1D7FFFDD}, + [I(108,169)] = {28,0xA3FFFDD}, + [I(109,169)] = {28,0xA7FFFDD}, + [I(110,169)] = {28,0xABFFFDD}, + [I(111,169)] = {27,0x1FFFFDD}, + [I(112,169)] = {28,0xAFFFFDD}, + [I(113,169)] = {29,0x1DBFFFDD}, + [I(114,169)] = {28,0xB3FFFDD}, + [I(115,169)] = {27,0x23FFFDD}, + [I(116,169)] = {27,0x27FFFDD}, + [I(117,169)] = {28,0xB7FFFDD}, + [I(118,169)] = {29,0x1DFFFFDD}, + [I(119,169)] = {29,0x1E3FFFDD}, + [I(120,169)] = {29,0x1E7FFFDD}, + [I(121,169)] = {29,0x1EBFFFDD}, + [I(122,169)] = {29,0x1EFFFFDD}, + [I(123,169)] = {64,0}, + [I(124,169)] = {64,0}, + [I(125,169)] = {64,0}, + [I(126,169)] = {64,0}, + [I(127,169)] = {64,0}, + [I(128,169)] = {64,0}, + [I(129,169)] = {64,0}, + [I(130,169)] = {64,0}, + [I(131,169)] = {64,0}, + [I(132,169)] = {64,0}, + [I(133,169)] = {64,0}, + [I(134,169)] = {64,0}, + [I(135,169)] = {64,0}, + [I(136,169)] = {64,0}, + [I(137,169)] = {64,0}, + [I(138,169)] = {64,0}, + [I(139,169)] = {64,0}, + [I(140,169)] = {64,0}, + [I(141,169)] = {64,0}, + [I(142,169)] = {64,0}, + [I(143,169)] = {64,0}, + [I(144,169)] = {64,0}, + [I(145,169)] = {64,0}, + [I(146,169)] = {64,0}, + [I(147,169)] = {64,0}, + [I(148,169)] = {64,0}, + [I(149,169)] = {64,0}, + [I(150,169)] = {64,0}, + [I(151,169)] = {64,0}, + [I(152,169)] = {64,0}, + [I(153,169)] = {64,0}, + [I(154,169)] = {64,0}, + [I(155,169)] = {64,0}, + [I(156,169)] = {64,0}, + [I(157,169)] = {64,0}, + [I(158,169)] = {64,0}, + [I(159,169)] = {64,0}, + [I(160,169)] = {64,0}, + [I(161,169)] = {64,0}, + [I(162,169)] = {64,0}, + [I(163,169)] = {64,0}, + [I(164,169)] = {64,0}, + [I(165,169)] = {64,0}, + [I(166,169)] = {64,0}, + [I(167,169)] = {64,0}, + [I(168,169)] = {64,0}, + [I(169,169)] = {64,0}, + [I(170,169)] = {64,0}, + [I(171,169)] = {64,0}, + [I(172,169)] = {64,0}, + [I(173,169)] = {64,0}, + [I(174,169)] = {64,0}, + [I(175,169)] = {64,0}, + [I(176,169)] = {64,0}, + [I(177,169)] = {64,0}, + [I(178,169)] = {64,0}, + [I(179,169)] = {64,0}, + [I(180,169)] = {64,0}, + [I(181,169)] = {64,0}, + [I(182,169)] = {64,0}, + [I(183,169)] = {64,0}, + [I(184,169)] = {64,0}, + [I(185,169)] = {64,0}, + [I(186,169)] = {64,0}, + [I(187,169)] = {64,0}, + [I(188,169)] = {64,0}, + [I(189,169)] = {64,0}, + [I(190,169)] = {64,0}, + [I(191,169)] = {64,0}, + [I(192,169)] = {64,0}, + [I(193,169)] = {64,0}, + [I(194,169)] = {64,0}, + [I(195,169)] = {64,0}, + [I(196,169)] = {64,0}, + [I(197,169)] = {64,0}, + [I(198,169)] = {64,0}, + [I(199,169)] = {64,0}, + [I(200,169)] = {64,0}, + [I(201,169)] = {64,0}, + [I(202,169)] = {64,0}, + [I(203,169)] = {64,0}, + [I(204,169)] = {64,0}, + [I(205,169)] = {64,0}, + [I(206,169)] = {64,0}, + [I(207,169)] = {64,0}, + [I(208,169)] = {64,0}, + [I(209,169)] = {64,0}, + [I(210,169)] = {64,0}, + [I(211,169)] = {64,0}, + [I(212,169)] = {64,0}, + [I(213,169)] = {64,0}, + [I(214,169)] = {64,0}, + [I(215,169)] = {64,0}, + [I(216,169)] = {64,0}, + [I(217,169)] = {64,0}, + [I(218,169)] = {64,0}, + [I(219,169)] = {64,0}, + [I(220,169)] = {64,0}, + [I(221,169)] = {64,0}, + [I(222,169)] = {64,0}, + [I(223,169)] = {64,0}, + [I(224,169)] = {64,0}, + [I(225,169)] = {64,0}, + [I(226,169)] = {64,0}, + [I(227,169)] = {64,0}, + [I(228,169)] = {64,0}, + [I(229,169)] = {64,0}, + [I(230,169)] = {64,0}, + [I(231,169)] = {64,0}, + [I(232,169)] = {64,0}, + [I(233,169)] = {64,0}, + [I(234,169)] = {64,0}, + [I(235,169)] = {64,0}, + [I(236,169)] = {64,0}, + [I(237,169)] = {64,0}, + [I(238,169)] = {64,0}, + [I(239,169)] = {64,0}, + [I(240,169)] = {64,0}, + [I(241,169)] = {64,0}, + [I(242,169)] = {64,0}, + [I(243,169)] = {64,0}, + [I(244,169)] = {64,0}, + [I(245,169)] = {64,0}, + [I(246,169)] = {64,0}, + [I(247,169)] = {64,0}, + [I(248,169)] = {64,0}, + [I(249,169)] = {64,0}, + [I(250,169)] = {64,0}, + [I(251,169)] = {64,0}, + [I(252,169)] = {64,0}, + [I(253,169)] = {64,0}, + [I(254,169)] = {64,0}, + [I(255,169)] = {64,0}, + [I(0,170)] = {64,0}, + [I(1,170)] = {64,0}, + [I(2,170)] = {64,0}, + [I(3,170)] = {64,0}, + [I(4,170)] = {64,0}, + [I(5,170)] = {64,0}, + [I(6,170)] = {64,0}, + [I(7,170)] = {64,0}, + [I(8,170)] = {64,0}, + [I(9,170)] = {64,0}, + [I(10,170)] = {64,0}, + [I(11,170)] = {64,0}, + [I(12,170)] = {64,0}, + [I(13,170)] = {64,0}, + [I(14,170)] = {64,0}, + [I(15,170)] = {64,0}, + [I(16,170)] = {64,0}, + [I(17,170)] = {64,0}, + [I(18,170)] = {64,0}, + [I(19,170)] = {64,0}, + [I(20,170)] = {64,0}, + [I(21,170)] = {64,0}, + [I(22,170)] = {64,0}, + [I(23,170)] = {64,0}, + [I(24,170)] = {64,0}, + [I(25,170)] = {64,0}, + [I(26,170)] = {64,0}, + [I(27,170)] = {64,0}, + [I(28,170)] = {64,0}, + [I(29,170)] = {64,0}, + [I(30,170)] = {64,0}, + [I(31,170)] = {64,0}, + [I(32,170)] = {28,0x53FFFDE}, + [I(33,170)] = {X32,0xFE3FFFDE}, + [I(34,170)] = {X32,0xFE7FFFDE}, + [I(35,170)] = {64,0}, + [I(36,170)] = {64,0}, + [I(37,170)] = {28,0x57FFFDE}, + [I(38,170)] = {30,0x3E3FFFDE}, + [I(39,170)] = {64,0}, + [I(40,170)] = {X32,0xFEBFFFDE}, + [I(41,170)] = {X32,0xFEFFFFDE}, + [I(42,170)] = {30,0x3E7FFFDE}, + [I(43,170)] = {64,0}, + [I(44,170)] = {30,0x3EBFFFDE}, + [I(45,170)] = {28,0x5BFFFDE}, + [I(46,170)] = {28,0x5FFFFDE}, + [I(47,170)] = {28,0x63FFFDE}, + [I(48,170)] = {27,0x3FFFDE}, + [I(49,170)] = {27,0x7FFFDE}, + [I(50,170)] = {27,0xBFFFDE}, + [I(51,170)] = {28,0x67FFFDE}, + [I(52,170)] = {28,0x6BFFFDE}, + [I(53,170)] = {28,0x6FFFFDE}, + [I(54,170)] = {28,0x73FFFDE}, + [I(55,170)] = {28,0x77FFFDE}, + [I(56,170)] = {28,0x7BFFFDE}, + [I(57,170)] = {28,0x7FFFFDE}, + [I(58,170)] = {29,0x173FFFDE}, + [I(59,170)] = {30,0x3EFFFFDE}, + [I(60,170)] = {64,0}, + [I(61,170)] = {28,0x83FFFDE}, + [I(62,170)] = {64,0}, + [I(63,170)] = {X32,0xFF3FFFDE}, + [I(64,170)] = {64,0}, + [I(65,170)] = {28,0x87FFFDE}, + [I(66,170)] = {29,0x177FFFDE}, + [I(67,170)] = {29,0x17BFFFDE}, + [I(68,170)] = {29,0x17FFFFDE}, + [I(69,170)] = {29,0x183FFFDE}, + [I(70,170)] = {29,0x187FFFDE}, + [I(71,170)] = {29,0x18BFFFDE}, + [I(72,170)] = {29,0x18FFFFDE}, + [I(73,170)] = {29,0x193FFFDE}, + [I(74,170)] = {29,0x197FFFDE}, + [I(75,170)] = {29,0x19BFFFDE}, + [I(76,170)] = {29,0x19FFFFDE}, + [I(77,170)] = {29,0x1A3FFFDE}, + [I(78,170)] = {29,0x1A7FFFDE}, + [I(79,170)] = {29,0x1ABFFFDE}, + [I(80,170)] = {29,0x1AFFFFDE}, + [I(81,170)] = {29,0x1B3FFFDE}, + [I(82,170)] = {29,0x1B7FFFDE}, + [I(83,170)] = {29,0x1BBFFFDE}, + [I(84,170)] = {29,0x1BFFFFDE}, + [I(85,170)] = {29,0x1C3FFFDE}, + [I(86,170)] = {29,0x1C7FFFDE}, + [I(87,170)] = {29,0x1CBFFFDE}, + [I(88,170)] = {30,0x3F3FFFDE}, + [I(89,170)] = {29,0x1CFFFFDE}, + [I(90,170)] = {30,0x3F7FFFDE}, + [I(91,170)] = {64,0}, + [I(92,170)] = {64,0}, + [I(93,170)] = {64,0}, + [I(94,170)] = {64,0}, + [I(95,170)] = {28,0x8BFFFDE}, + [I(96,170)] = {64,0}, + [I(97,170)] = {27,0xFFFFDE}, + [I(98,170)] = {28,0x8FFFFDE}, + [I(99,170)] = {27,0x13FFFDE}, + [I(100,170)] = {28,0x93FFFDE}, + [I(101,170)] = {27,0x17FFFDE}, + [I(102,170)] = {28,0x97FFFDE}, + [I(103,170)] = {28,0x9BFFFDE}, + [I(104,170)] = {28,0x9FFFFDE}, + [I(105,170)] = {27,0x1BFFFDE}, + [I(106,170)] = {29,0x1D3FFFDE}, + [I(107,170)] = {29,0x1D7FFFDE}, + [I(108,170)] = {28,0xA3FFFDE}, + [I(109,170)] = {28,0xA7FFFDE}, + [I(110,170)] = {28,0xABFFFDE}, + [I(111,170)] = {27,0x1FFFFDE}, + [I(112,170)] = {28,0xAFFFFDE}, + [I(113,170)] = {29,0x1DBFFFDE}, + [I(114,170)] = {28,0xB3FFFDE}, + [I(115,170)] = {27,0x23FFFDE}, + [I(116,170)] = {27,0x27FFFDE}, + [I(117,170)] = {28,0xB7FFFDE}, + [I(118,170)] = {29,0x1DFFFFDE}, + [I(119,170)] = {29,0x1E3FFFDE}, + [I(120,170)] = {29,0x1E7FFFDE}, + [I(121,170)] = {29,0x1EBFFFDE}, + [I(122,170)] = {29,0x1EFFFFDE}, + [I(123,170)] = {64,0}, + [I(124,170)] = {64,0}, + [I(125,170)] = {64,0}, + [I(126,170)] = {64,0}, + [I(127,170)] = {64,0}, + [I(128,170)] = {64,0}, + [I(129,170)] = {64,0}, + [I(130,170)] = {64,0}, + [I(131,170)] = {64,0}, + [I(132,170)] = {64,0}, + [I(133,170)] = {64,0}, + [I(134,170)] = {64,0}, + [I(135,170)] = {64,0}, + [I(136,170)] = {64,0}, + [I(137,170)] = {64,0}, + [I(138,170)] = {64,0}, + [I(139,170)] = {64,0}, + [I(140,170)] = {64,0}, + [I(141,170)] = {64,0}, + [I(142,170)] = {64,0}, + [I(143,170)] = {64,0}, + [I(144,170)] = {64,0}, + [I(145,170)] = {64,0}, + [I(146,170)] = {64,0}, + [I(147,170)] = {64,0}, + [I(148,170)] = {64,0}, + [I(149,170)] = {64,0}, + [I(150,170)] = {64,0}, + [I(151,170)] = {64,0}, + [I(152,170)] = {64,0}, + [I(153,170)] = {64,0}, + [I(154,170)] = {64,0}, + [I(155,170)] = {64,0}, + [I(156,170)] = {64,0}, + [I(157,170)] = {64,0}, + [I(158,170)] = {64,0}, + [I(159,170)] = {64,0}, + [I(160,170)] = {64,0}, + [I(161,170)] = {64,0}, + [I(162,170)] = {64,0}, + [I(163,170)] = {64,0}, + [I(164,170)] = {64,0}, + [I(165,170)] = {64,0}, + [I(166,170)] = {64,0}, + [I(167,170)] = {64,0}, + [I(168,170)] = {64,0}, + [I(169,170)] = {64,0}, + [I(170,170)] = {64,0}, + [I(171,170)] = {64,0}, + [I(172,170)] = {64,0}, + [I(173,170)] = {64,0}, + [I(174,170)] = {64,0}, + [I(175,170)] = {64,0}, + [I(176,170)] = {64,0}, + [I(177,170)] = {64,0}, + [I(178,170)] = {64,0}, + [I(179,170)] = {64,0}, + [I(180,170)] = {64,0}, + [I(181,170)] = {64,0}, + [I(182,170)] = {64,0}, + [I(183,170)] = {64,0}, + [I(184,170)] = {64,0}, + [I(185,170)] = {64,0}, + [I(186,170)] = {64,0}, + [I(187,170)] = {64,0}, + [I(188,170)] = {64,0}, + [I(189,170)] = {64,0}, + [I(190,170)] = {64,0}, + [I(191,170)] = {64,0}, + [I(192,170)] = {64,0}, + [I(193,170)] = {64,0}, + [I(194,170)] = {64,0}, + [I(195,170)] = {64,0}, + [I(196,170)] = {64,0}, + [I(197,170)] = {64,0}, + [I(198,170)] = {64,0}, + [I(199,170)] = {64,0}, + [I(200,170)] = {64,0}, + [I(201,170)] = {64,0}, + [I(202,170)] = {64,0}, + [I(203,170)] = {64,0}, + [I(204,170)] = {64,0}, + [I(205,170)] = {64,0}, + [I(206,170)] = {64,0}, + [I(207,170)] = {64,0}, + [I(208,170)] = {64,0}, + [I(209,170)] = {64,0}, + [I(210,170)] = {64,0}, + [I(211,170)] = {64,0}, + [I(212,170)] = {64,0}, + [I(213,170)] = {64,0}, + [I(214,170)] = {64,0}, + [I(215,170)] = {64,0}, + [I(216,170)] = {64,0}, + [I(217,170)] = {64,0}, + [I(218,170)] = {64,0}, + [I(219,170)] = {64,0}, + [I(220,170)] = {64,0}, + [I(221,170)] = {64,0}, + [I(222,170)] = {64,0}, + [I(223,170)] = {64,0}, + [I(224,170)] = {64,0}, + [I(225,170)] = {64,0}, + [I(226,170)] = {64,0}, + [I(227,170)] = {64,0}, + [I(228,170)] = {64,0}, + [I(229,170)] = {64,0}, + [I(230,170)] = {64,0}, + [I(231,170)] = {64,0}, + [I(232,170)] = {64,0}, + [I(233,170)] = {64,0}, + [I(234,170)] = {64,0}, + [I(235,170)] = {64,0}, + [I(236,170)] = {64,0}, + [I(237,170)] = {64,0}, + [I(238,170)] = {64,0}, + [I(239,170)] = {64,0}, + [I(240,170)] = {64,0}, + [I(241,170)] = {64,0}, + [I(242,170)] = {64,0}, + [I(243,170)] = {64,0}, + [I(244,170)] = {64,0}, + [I(245,170)] = {64,0}, + [I(246,170)] = {64,0}, + [I(247,170)] = {64,0}, + [I(248,170)] = {64,0}, + [I(249,170)] = {64,0}, + [I(250,170)] = {64,0}, + [I(251,170)] = {64,0}, + [I(252,170)] = {64,0}, + [I(253,170)] = {64,0}, + [I(254,170)] = {64,0}, + [I(255,170)] = {64,0}, + [I(0,171)] = {64,0}, + [I(1,171)] = {64,0}, + [I(2,171)] = {64,0}, + [I(3,171)] = {64,0}, + [I(4,171)] = {64,0}, + [I(5,171)] = {64,0}, + [I(6,171)] = {64,0}, + [I(7,171)] = {64,0}, + [I(8,171)] = {64,0}, + [I(9,171)] = {64,0}, + [I(10,171)] = {64,0}, + [I(11,171)] = {64,0}, + [I(12,171)] = {64,0}, + [I(13,171)] = {64,0}, + [I(14,171)] = {64,0}, + [I(15,171)] = {64,0}, + [I(16,171)] = {64,0}, + [I(17,171)] = {64,0}, + [I(18,171)] = {64,0}, + [I(19,171)] = {64,0}, + [I(20,171)] = {64,0}, + [I(21,171)] = {64,0}, + [I(22,171)] = {64,0}, + [I(23,171)] = {64,0}, + [I(24,171)] = {64,0}, + [I(25,171)] = {64,0}, + [I(26,171)] = {64,0}, + [I(27,171)] = {64,0}, + [I(28,171)] = {64,0}, + [I(29,171)] = {64,0}, + [I(30,171)] = {64,0}, + [I(31,171)] = {64,0}, + [I(32,171)] = {30,0x14FFFFF0}, + [I(33,171)] = {64,0}, + [I(34,171)] = {64,0}, + [I(35,171)] = {64,0}, + [I(36,171)] = {64,0}, + [I(37,171)] = {30,0x15FFFFF0}, + [I(38,171)] = {X32,0xF8FFFFF0}, + [I(39,171)] = {64,0}, + [I(40,171)] = {64,0}, + [I(41,171)] = {64,0}, + [I(42,171)] = {X32,0xF9FFFFF0}, + [I(43,171)] = {64,0}, + [I(44,171)] = {X32,0xFAFFFFF0}, + [I(45,171)] = {30,0x16FFFFF0}, + [I(46,171)] = {30,0x17FFFFF0}, + [I(47,171)] = {30,0x18FFFFF0}, + [I(48,171)] = {29,0xFFFFF0}, + [I(49,171)] = {29,0x1FFFFF0}, + [I(50,171)] = {29,0x2FFFFF0}, + [I(51,171)] = {30,0x19FFFFF0}, + [I(52,171)] = {30,0x1AFFFFF0}, + [I(53,171)] = {30,0x1BFFFFF0}, + [I(54,171)] = {30,0x1CFFFFF0}, + [I(55,171)] = {30,0x1DFFFFF0}, + [I(56,171)] = {30,0x1EFFFFF0}, + [I(57,171)] = {30,0x1FFFFFF0}, + [I(58,171)] = {31,0x5CFFFFF0}, + [I(59,171)] = {X32,0xFBFFFFF0}, + [I(60,171)] = {64,0}, + [I(61,171)] = {30,0x20FFFFF0}, + [I(62,171)] = {64,0}, + [I(63,171)] = {64,0}, + [I(64,171)] = {64,0}, + [I(65,171)] = {30,0x21FFFFF0}, + [I(66,171)] = {31,0x5DFFFFF0}, + [I(67,171)] = {31,0x5EFFFFF0}, + [I(68,171)] = {31,0x5FFFFFF0}, + [I(69,171)] = {31,0x60FFFFF0}, + [I(70,171)] = {31,0x61FFFFF0}, + [I(71,171)] = {31,0x62FFFFF0}, + [I(72,171)] = {31,0x63FFFFF0}, + [I(73,171)] = {31,0x64FFFFF0}, + [I(74,171)] = {31,0x65FFFFF0}, + [I(75,171)] = {31,0x66FFFFF0}, + [I(76,171)] = {31,0x67FFFFF0}, + [I(77,171)] = {31,0x68FFFFF0}, + [I(78,171)] = {31,0x69FFFFF0}, + [I(79,171)] = {31,0x6AFFFFF0}, + [I(80,171)] = {31,0x6BFFFFF0}, + [I(81,171)] = {31,0x6CFFFFF0}, + [I(82,171)] = {31,0x6DFFFFF0}, + [I(83,171)] = {31,0x6EFFFFF0}, + [I(84,171)] = {31,0x6FFFFFF0}, + [I(85,171)] = {31,0x70FFFFF0}, + [I(86,171)] = {31,0x71FFFFF0}, + [I(87,171)] = {31,0x72FFFFF0}, + [I(88,171)] = {X32,0xFCFFFFF0}, + [I(89,171)] = {31,0x73FFFFF0}, + [I(90,171)] = {X32,0xFDFFFFF0}, + [I(91,171)] = {64,0}, + [I(92,171)] = {64,0}, + [I(93,171)] = {64,0}, + [I(94,171)] = {64,0}, + [I(95,171)] = {30,0x22FFFFF0}, + [I(96,171)] = {64,0}, + [I(97,171)] = {29,0x3FFFFF0}, + [I(98,171)] = {30,0x23FFFFF0}, + [I(99,171)] = {29,0x4FFFFF0}, + [I(100,171)] = {30,0x24FFFFF0}, + [I(101,171)] = {29,0x5FFFFF0}, + [I(102,171)] = {30,0x25FFFFF0}, + [I(103,171)] = {30,0x26FFFFF0}, + [I(104,171)] = {30,0x27FFFFF0}, + [I(105,171)] = {29,0x6FFFFF0}, + [I(106,171)] = {31,0x74FFFFF0}, + [I(107,171)] = {31,0x75FFFFF0}, + [I(108,171)] = {30,0x28FFFFF0}, + [I(109,171)] = {30,0x29FFFFF0}, + [I(110,171)] = {30,0x2AFFFFF0}, + [I(111,171)] = {29,0x7FFFFF0}, + [I(112,171)] = {30,0x2BFFFFF0}, + [I(113,171)] = {31,0x76FFFFF0}, + [I(114,171)] = {30,0x2CFFFFF0}, + [I(115,171)] = {29,0x8FFFFF0}, + [I(116,171)] = {29,0x9FFFFF0}, + [I(117,171)] = {30,0x2DFFFFF0}, + [I(118,171)] = {31,0x77FFFFF0}, + [I(119,171)] = {31,0x78FFFFF0}, + [I(120,171)] = {31,0x79FFFFF0}, + [I(121,171)] = {31,0x7AFFFFF0}, + [I(122,171)] = {31,0x7BFFFFF0}, + [I(123,171)] = {64,0}, + [I(124,171)] = {64,0}, + [I(125,171)] = {64,0}, + [I(126,171)] = {64,0}, + [I(127,171)] = {64,0}, + [I(128,171)] = {64,0}, + [I(129,171)] = {64,0}, + [I(130,171)] = {64,0}, + [I(131,171)] = {64,0}, + [I(132,171)] = {64,0}, + [I(133,171)] = {64,0}, + [I(134,171)] = {64,0}, + [I(135,171)] = {64,0}, + [I(136,171)] = {64,0}, + [I(137,171)] = {64,0}, + [I(138,171)] = {64,0}, + [I(139,171)] = {64,0}, + [I(140,171)] = {64,0}, + [I(141,171)] = {64,0}, + [I(142,171)] = {64,0}, + [I(143,171)] = {64,0}, + [I(144,171)] = {64,0}, + [I(145,171)] = {64,0}, + [I(146,171)] = {64,0}, + [I(147,171)] = {64,0}, + [I(148,171)] = {64,0}, + [I(149,171)] = {64,0}, + [I(150,171)] = {64,0}, + [I(151,171)] = {64,0}, + [I(152,171)] = {64,0}, + [I(153,171)] = {64,0}, + [I(154,171)] = {64,0}, + [I(155,171)] = {64,0}, + [I(156,171)] = {64,0}, + [I(157,171)] = {64,0}, + [I(158,171)] = {64,0}, + [I(159,171)] = {64,0}, + [I(160,171)] = {64,0}, + [I(161,171)] = {64,0}, + [I(162,171)] = {64,0}, + [I(163,171)] = {64,0}, + [I(164,171)] = {64,0}, + [I(165,171)] = {64,0}, + [I(166,171)] = {64,0}, + [I(167,171)] = {64,0}, + [I(168,171)] = {64,0}, + [I(169,171)] = {64,0}, + [I(170,171)] = {64,0}, + [I(171,171)] = {64,0}, + [I(172,171)] = {64,0}, + [I(173,171)] = {64,0}, + [I(174,171)] = {64,0}, + [I(175,171)] = {64,0}, + [I(176,171)] = {64,0}, + [I(177,171)] = {64,0}, + [I(178,171)] = {64,0}, + [I(179,171)] = {64,0}, + [I(180,171)] = {64,0}, + [I(181,171)] = {64,0}, + [I(182,171)] = {64,0}, + [I(183,171)] = {64,0}, + [I(184,171)] = {64,0}, + [I(185,171)] = {64,0}, + [I(186,171)] = {64,0}, + [I(187,171)] = {64,0}, + [I(188,171)] = {64,0}, + [I(189,171)] = {64,0}, + [I(190,171)] = {64,0}, + [I(191,171)] = {64,0}, + [I(192,171)] = {64,0}, + [I(193,171)] = {64,0}, + [I(194,171)] = {64,0}, + [I(195,171)] = {64,0}, + [I(196,171)] = {64,0}, + [I(197,171)] = {64,0}, + [I(198,171)] = {64,0}, + [I(199,171)] = {64,0}, + [I(200,171)] = {64,0}, + [I(201,171)] = {64,0}, + [I(202,171)] = {64,0}, + [I(203,171)] = {64,0}, + [I(204,171)] = {64,0}, + [I(205,171)] = {64,0}, + [I(206,171)] = {64,0}, + [I(207,171)] = {64,0}, + [I(208,171)] = {64,0}, + [I(209,171)] = {64,0}, + [I(210,171)] = {64,0}, + [I(211,171)] = {64,0}, + [I(212,171)] = {64,0}, + [I(213,171)] = {64,0}, + [I(214,171)] = {64,0}, + [I(215,171)] = {64,0}, + [I(216,171)] = {64,0}, + [I(217,171)] = {64,0}, + [I(218,171)] = {64,0}, + [I(219,171)] = {64,0}, + [I(220,171)] = {64,0}, + [I(221,171)] = {64,0}, + [I(222,171)] = {64,0}, + [I(223,171)] = {64,0}, + [I(224,171)] = {64,0}, + [I(225,171)] = {64,0}, + [I(226,171)] = {64,0}, + [I(227,171)] = {64,0}, + [I(228,171)] = {64,0}, + [I(229,171)] = {64,0}, + [I(230,171)] = {64,0}, + [I(231,171)] = {64,0}, + [I(232,171)] = {64,0}, + [I(233,171)] = {64,0}, + [I(234,171)] = {64,0}, + [I(235,171)] = {64,0}, + [I(236,171)] = {64,0}, + [I(237,171)] = {64,0}, + [I(238,171)] = {64,0}, + [I(239,171)] = {64,0}, + [I(240,171)] = {64,0}, + [I(241,171)] = {64,0}, + [I(242,171)] = {64,0}, + [I(243,171)] = {64,0}, + [I(244,171)] = {64,0}, + [I(245,171)] = {64,0}, + [I(246,171)] = {64,0}, + [I(247,171)] = {64,0}, + [I(248,171)] = {64,0}, + [I(249,171)] = {64,0}, + [I(250,171)] = {64,0}, + [I(251,171)] = {64,0}, + [I(252,171)] = {64,0}, + [I(253,171)] = {64,0}, + [I(254,171)] = {64,0}, + [I(255,171)] = {64,0}, + [I(0,172)] = {64,0}, + [I(1,172)] = {64,0}, + [I(2,172)] = {64,0}, + [I(3,172)] = {64,0}, + [I(4,172)] = {64,0}, + [I(5,172)] = {64,0}, + [I(6,172)] = {64,0}, + [I(7,172)] = {64,0}, + [I(8,172)] = {64,0}, + [I(9,172)] = {64,0}, + [I(10,172)] = {64,0}, + [I(11,172)] = {64,0}, + [I(12,172)] = {64,0}, + [I(13,172)] = {64,0}, + [I(14,172)] = {64,0}, + [I(15,172)] = {64,0}, + [I(16,172)] = {64,0}, + [I(17,172)] = {64,0}, + [I(18,172)] = {64,0}, + [I(19,172)] = {64,0}, + [I(20,172)] = {64,0}, + [I(21,172)] = {64,0}, + [I(22,172)] = {64,0}, + [I(23,172)] = {64,0}, + [I(24,172)] = {64,0}, + [I(25,172)] = {64,0}, + [I(26,172)] = {64,0}, + [I(27,172)] = {64,0}, + [I(28,172)] = {64,0}, + [I(29,172)] = {64,0}, + [I(30,172)] = {64,0}, + [I(31,172)] = {64,0}, + [I(32,172)] = {27,0x29FFFDF}, + [I(33,172)] = {31,0x7F1FFFDF}, + [I(34,172)] = {31,0x7F3FFFDF}, + [I(35,172)] = {64,0}, + [I(36,172)] = {64,0}, + [I(37,172)] = {27,0x2BFFFDF}, + [I(38,172)] = {29,0x1F1FFFDF}, + [I(39,172)] = {X32,0xFF5FFFDF}, + [I(40,172)] = {31,0x7F5FFFDF}, + [I(41,172)] = {31,0x7F7FFFDF}, + [I(42,172)] = {29,0x1F3FFFDF}, + [I(43,172)] = {X32,0xFF7FFFDF}, + [I(44,172)] = {29,0x1F5FFFDF}, + [I(45,172)] = {27,0x2DFFFDF}, + [I(46,172)] = {27,0x2FFFFDF}, + [I(47,172)] = {27,0x31FFFDF}, + [I(48,172)] = {26,0x1FFFDF}, + [I(49,172)] = {26,0x3FFFDF}, + [I(50,172)] = {26,0x5FFFDF}, + [I(51,172)] = {27,0x33FFFDF}, + [I(52,172)] = {27,0x35FFFDF}, + [I(53,172)] = {27,0x37FFFDF}, + [I(54,172)] = {27,0x39FFFDF}, + [I(55,172)] = {27,0x3BFFFDF}, + [I(56,172)] = {27,0x3DFFFDF}, + [I(57,172)] = {27,0x3FFFFDF}, + [I(58,172)] = {28,0xB9FFFDF}, + [I(59,172)] = {29,0x1F7FFFDF}, + [I(60,172)] = {64,0}, + [I(61,172)] = {27,0x41FFFDF}, + [I(62,172)] = {64,0}, + [I(63,172)] = {31,0x7F9FFFDF}, + [I(64,172)] = {64,0}, + [I(65,172)] = {27,0x43FFFDF}, + [I(66,172)] = {28,0xBBFFFDF}, + [I(67,172)] = {28,0xBDFFFDF}, + [I(68,172)] = {28,0xBFFFFDF}, + [I(69,172)] = {28,0xC1FFFDF}, + [I(70,172)] = {28,0xC3FFFDF}, + [I(71,172)] = {28,0xC5FFFDF}, + [I(72,172)] = {28,0xC7FFFDF}, + [I(73,172)] = {28,0xC9FFFDF}, + [I(74,172)] = {28,0xCBFFFDF}, + [I(75,172)] = {28,0xCDFFFDF}, + [I(76,172)] = {28,0xCFFFFDF}, + [I(77,172)] = {28,0xD1FFFDF}, + [I(78,172)] = {28,0xD3FFFDF}, + [I(79,172)] = {28,0xD5FFFDF}, + [I(80,172)] = {28,0xD7FFFDF}, + [I(81,172)] = {28,0xD9FFFDF}, + [I(82,172)] = {28,0xDBFFFDF}, + [I(83,172)] = {28,0xDDFFFDF}, + [I(84,172)] = {28,0xDFFFFDF}, + [I(85,172)] = {28,0xE1FFFDF}, + [I(86,172)] = {28,0xE3FFFDF}, + [I(87,172)] = {28,0xE5FFFDF}, + [I(88,172)] = {29,0x1F9FFFDF}, + [I(89,172)] = {28,0xE7FFFDF}, + [I(90,172)] = {29,0x1FBFFFDF}, + [I(91,172)] = {64,0}, + [I(92,172)] = {64,0}, + [I(93,172)] = {64,0}, + [I(94,172)] = {64,0}, + [I(95,172)] = {27,0x45FFFDF}, + [I(96,172)] = {64,0}, + [I(97,172)] = {26,0x7FFFDF}, + [I(98,172)] = {27,0x47FFFDF}, + [I(99,172)] = {26,0x9FFFDF}, + [I(100,172)] = {27,0x49FFFDF}, + [I(101,172)] = {26,0xBFFFDF}, + [I(102,172)] = {27,0x4BFFFDF}, + [I(103,172)] = {27,0x4DFFFDF}, + [I(104,172)] = {27,0x4FFFFDF}, + [I(105,172)] = {26,0xDFFFDF}, + [I(106,172)] = {28,0xE9FFFDF}, + [I(107,172)] = {28,0xEBFFFDF}, + [I(108,172)] = {27,0x51FFFDF}, + [I(109,172)] = {27,0x53FFFDF}, + [I(110,172)] = {27,0x55FFFDF}, + [I(111,172)] = {26,0xFFFFDF}, + [I(112,172)] = {27,0x57FFFDF}, + [I(113,172)] = {28,0xEDFFFDF}, + [I(114,172)] = {27,0x59FFFDF}, + [I(115,172)] = {26,0x11FFFDF}, + [I(116,172)] = {26,0x13FFFDF}, + [I(117,172)] = {27,0x5BFFFDF}, + [I(118,172)] = {28,0xEFFFFDF}, + [I(119,172)] = {28,0xF1FFFDF}, + [I(120,172)] = {28,0xF3FFFDF}, + [I(121,172)] = {28,0xF5FFFDF}, + [I(122,172)] = {28,0xF7FFFDF}, + [I(123,172)] = {64,0}, + [I(124,172)] = {X32,0xFF9FFFDF}, + [I(125,172)] = {64,0}, + [I(126,172)] = {64,0}, + [I(127,172)] = {64,0}, + [I(128,172)] = {64,0}, + [I(129,172)] = {64,0}, + [I(130,172)] = {64,0}, + [I(131,172)] = {64,0}, + [I(132,172)] = {64,0}, + [I(133,172)] = {64,0}, + [I(134,172)] = {64,0}, + [I(135,172)] = {64,0}, + [I(136,172)] = {64,0}, + [I(137,172)] = {64,0}, + [I(138,172)] = {64,0}, + [I(139,172)] = {64,0}, + [I(140,172)] = {64,0}, + [I(141,172)] = {64,0}, + [I(142,172)] = {64,0}, + [I(143,172)] = {64,0}, + [I(144,172)] = {64,0}, + [I(145,172)] = {64,0}, + [I(146,172)] = {64,0}, + [I(147,172)] = {64,0}, + [I(148,172)] = {64,0}, + [I(149,172)] = {64,0}, + [I(150,172)] = {64,0}, + [I(151,172)] = {64,0}, + [I(152,172)] = {64,0}, + [I(153,172)] = {64,0}, + [I(154,172)] = {64,0}, + [I(155,172)] = {64,0}, + [I(156,172)] = {64,0}, + [I(157,172)] = {64,0}, + [I(158,172)] = {64,0}, + [I(159,172)] = {64,0}, + [I(160,172)] = {64,0}, + [I(161,172)] = {64,0}, + [I(162,172)] = {64,0}, + [I(163,172)] = {64,0}, + [I(164,172)] = {64,0}, + [I(165,172)] = {64,0}, + [I(166,172)] = {64,0}, + [I(167,172)] = {64,0}, + [I(168,172)] = {64,0}, + [I(169,172)] = {64,0}, + [I(170,172)] = {64,0}, + [I(171,172)] = {64,0}, + [I(172,172)] = {64,0}, + [I(173,172)] = {64,0}, + [I(174,172)] = {64,0}, + [I(175,172)] = {64,0}, + [I(176,172)] = {64,0}, + [I(177,172)] = {64,0}, + [I(178,172)] = {64,0}, + [I(179,172)] = {64,0}, + [I(180,172)] = {64,0}, + [I(181,172)] = {64,0}, + [I(182,172)] = {64,0}, + [I(183,172)] = {64,0}, + [I(184,172)] = {64,0}, + [I(185,172)] = {64,0}, + [I(186,172)] = {64,0}, + [I(187,172)] = {64,0}, + [I(188,172)] = {64,0}, + [I(189,172)] = {64,0}, + [I(190,172)] = {64,0}, + [I(191,172)] = {64,0}, + [I(192,172)] = {64,0}, + [I(193,172)] = {64,0}, + [I(194,172)] = {64,0}, + [I(195,172)] = {64,0}, + [I(196,172)] = {64,0}, + [I(197,172)] = {64,0}, + [I(198,172)] = {64,0}, + [I(199,172)] = {64,0}, + [I(200,172)] = {64,0}, + [I(201,172)] = {64,0}, + [I(202,172)] = {64,0}, + [I(203,172)] = {64,0}, + [I(204,172)] = {64,0}, + [I(205,172)] = {64,0}, + [I(206,172)] = {64,0}, + [I(207,172)] = {64,0}, + [I(208,172)] = {64,0}, + [I(209,172)] = {64,0}, + [I(210,172)] = {64,0}, + [I(211,172)] = {64,0}, + [I(212,172)] = {64,0}, + [I(213,172)] = {64,0}, + [I(214,172)] = {64,0}, + [I(215,172)] = {64,0}, + [I(216,172)] = {64,0}, + [I(217,172)] = {64,0}, + [I(218,172)] = {64,0}, + [I(219,172)] = {64,0}, + [I(220,172)] = {64,0}, + [I(221,172)] = {64,0}, + [I(222,172)] = {64,0}, + [I(223,172)] = {64,0}, + [I(224,172)] = {64,0}, + [I(225,172)] = {64,0}, + [I(226,172)] = {64,0}, + [I(227,172)] = {64,0}, + [I(228,172)] = {64,0}, + [I(229,172)] = {64,0}, + [I(230,172)] = {64,0}, + [I(231,172)] = {64,0}, + [I(232,172)] = {64,0}, + [I(233,172)] = {64,0}, + [I(234,172)] = {64,0}, + [I(235,172)] = {64,0}, + [I(236,172)] = {64,0}, + [I(237,172)] = {64,0}, + [I(238,172)] = {64,0}, + [I(239,172)] = {64,0}, + [I(240,172)] = {64,0}, + [I(241,172)] = {64,0}, + [I(242,172)] = {64,0}, + [I(243,172)] = {64,0}, + [I(244,172)] = {64,0}, + [I(245,172)] = {64,0}, + [I(246,172)] = {64,0}, + [I(247,172)] = {64,0}, + [I(248,172)] = {64,0}, + [I(249,172)] = {64,0}, + [I(250,172)] = {64,0}, + [I(251,172)] = {64,0}, + [I(252,172)] = {64,0}, + [I(253,172)] = {64,0}, + [I(254,172)] = {64,0}, + [I(255,172)] = {64,0}, + [I(0,173)] = {64,0}, + [I(1,173)] = {64,0}, + [I(2,173)] = {64,0}, + [I(3,173)] = {64,0}, + [I(4,173)] = {64,0}, + [I(5,173)] = {64,0}, + [I(6,173)] = {64,0}, + [I(7,173)] = {64,0}, + [I(8,173)] = {64,0}, + [I(9,173)] = {64,0}, + [I(10,173)] = {64,0}, + [I(11,173)] = {64,0}, + [I(12,173)] = {64,0}, + [I(13,173)] = {64,0}, + [I(14,173)] = {64,0}, + [I(15,173)] = {64,0}, + [I(16,173)] = {64,0}, + [I(17,173)] = {64,0}, + [I(18,173)] = {64,0}, + [I(19,173)] = {64,0}, + [I(20,173)] = {64,0}, + [I(21,173)] = {64,0}, + [I(22,173)] = {64,0}, + [I(23,173)] = {64,0}, + [I(24,173)] = {64,0}, + [I(25,173)] = {64,0}, + [I(26,173)] = {64,0}, + [I(27,173)] = {64,0}, + [I(28,173)] = {64,0}, + [I(29,173)] = {64,0}, + [I(30,173)] = {64,0}, + [I(31,173)] = {64,0}, + [I(32,173)] = {28,0x53FFFDF}, + [I(33,173)] = {X32,0xFE3FFFDF}, + [I(34,173)] = {X32,0xFE7FFFDF}, + [I(35,173)] = {64,0}, + [I(36,173)] = {64,0}, + [I(37,173)] = {28,0x57FFFDF}, + [I(38,173)] = {30,0x3E3FFFDF}, + [I(39,173)] = {64,0}, + [I(40,173)] = {X32,0xFEBFFFDF}, + [I(41,173)] = {X32,0xFEFFFFDF}, + [I(42,173)] = {30,0x3E7FFFDF}, + [I(43,173)] = {64,0}, + [I(44,173)] = {30,0x3EBFFFDF}, + [I(45,173)] = {28,0x5BFFFDF}, + [I(46,173)] = {28,0x5FFFFDF}, + [I(47,173)] = {28,0x63FFFDF}, + [I(48,173)] = {27,0x3FFFDF}, + [I(49,173)] = {27,0x7FFFDF}, + [I(50,173)] = {27,0xBFFFDF}, + [I(51,173)] = {28,0x67FFFDF}, + [I(52,173)] = {28,0x6BFFFDF}, + [I(53,173)] = {28,0x6FFFFDF}, + [I(54,173)] = {28,0x73FFFDF}, + [I(55,173)] = {28,0x77FFFDF}, + [I(56,173)] = {28,0x7BFFFDF}, + [I(57,173)] = {28,0x7FFFFDF}, + [I(58,173)] = {29,0x173FFFDF}, + [I(59,173)] = {30,0x3EFFFFDF}, + [I(60,173)] = {64,0}, + [I(61,173)] = {28,0x83FFFDF}, + [I(62,173)] = {64,0}, + [I(63,173)] = {X32,0xFF3FFFDF}, + [I(64,173)] = {64,0}, + [I(65,173)] = {28,0x87FFFDF}, + [I(66,173)] = {29,0x177FFFDF}, + [I(67,173)] = {29,0x17BFFFDF}, + [I(68,173)] = {29,0x17FFFFDF}, + [I(69,173)] = {29,0x183FFFDF}, + [I(70,173)] = {29,0x187FFFDF}, + [I(71,173)] = {29,0x18BFFFDF}, + [I(72,173)] = {29,0x18FFFFDF}, + [I(73,173)] = {29,0x193FFFDF}, + [I(74,173)] = {29,0x197FFFDF}, + [I(75,173)] = {29,0x19BFFFDF}, + [I(76,173)] = {29,0x19FFFFDF}, + [I(77,173)] = {29,0x1A3FFFDF}, + [I(78,173)] = {29,0x1A7FFFDF}, + [I(79,173)] = {29,0x1ABFFFDF}, + [I(80,173)] = {29,0x1AFFFFDF}, + [I(81,173)] = {29,0x1B3FFFDF}, + [I(82,173)] = {29,0x1B7FFFDF}, + [I(83,173)] = {29,0x1BBFFFDF}, + [I(84,173)] = {29,0x1BFFFFDF}, + [I(85,173)] = {29,0x1C3FFFDF}, + [I(86,173)] = {29,0x1C7FFFDF}, + [I(87,173)] = {29,0x1CBFFFDF}, + [I(88,173)] = {30,0x3F3FFFDF}, + [I(89,173)] = {29,0x1CFFFFDF}, + [I(90,173)] = {30,0x3F7FFFDF}, + [I(91,173)] = {64,0}, + [I(92,173)] = {64,0}, + [I(93,173)] = {64,0}, + [I(94,173)] = {64,0}, + [I(95,173)] = {28,0x8BFFFDF}, + [I(96,173)] = {64,0}, + [I(97,173)] = {27,0xFFFFDF}, + [I(98,173)] = {28,0x8FFFFDF}, + [I(99,173)] = {27,0x13FFFDF}, + [I(100,173)] = {28,0x93FFFDF}, + [I(101,173)] = {27,0x17FFFDF}, + [I(102,173)] = {28,0x97FFFDF}, + [I(103,173)] = {28,0x9BFFFDF}, + [I(104,173)] = {28,0x9FFFFDF}, + [I(105,173)] = {27,0x1BFFFDF}, + [I(106,173)] = {29,0x1D3FFFDF}, + [I(107,173)] = {29,0x1D7FFFDF}, + [I(108,173)] = {28,0xA3FFFDF}, + [I(109,173)] = {28,0xA7FFFDF}, + [I(110,173)] = {28,0xABFFFDF}, + [I(111,173)] = {27,0x1FFFFDF}, + [I(112,173)] = {28,0xAFFFFDF}, + [I(113,173)] = {29,0x1DBFFFDF}, + [I(114,173)] = {28,0xB3FFFDF}, + [I(115,173)] = {27,0x23FFFDF}, + [I(116,173)] = {27,0x27FFFDF}, + [I(117,173)] = {28,0xB7FFFDF}, + [I(118,173)] = {29,0x1DFFFFDF}, + [I(119,173)] = {29,0x1E3FFFDF}, + [I(120,173)] = {29,0x1E7FFFDF}, + [I(121,173)] = {29,0x1EBFFFDF}, + [I(122,173)] = {29,0x1EFFFFDF}, + [I(123,173)] = {64,0}, + [I(124,173)] = {64,0}, + [I(125,173)] = {64,0}, + [I(126,173)] = {64,0}, + [I(127,173)] = {64,0}, + [I(128,173)] = {64,0}, + [I(129,173)] = {64,0}, + [I(130,173)] = {64,0}, + [I(131,173)] = {64,0}, + [I(132,173)] = {64,0}, + [I(133,173)] = {64,0}, + [I(134,173)] = {64,0}, + [I(135,173)] = {64,0}, + [I(136,173)] = {64,0}, + [I(137,173)] = {64,0}, + [I(138,173)] = {64,0}, + [I(139,173)] = {64,0}, + [I(140,173)] = {64,0}, + [I(141,173)] = {64,0}, + [I(142,173)] = {64,0}, + [I(143,173)] = {64,0}, + [I(144,173)] = {64,0}, + [I(145,173)] = {64,0}, + [I(146,173)] = {64,0}, + [I(147,173)] = {64,0}, + [I(148,173)] = {64,0}, + [I(149,173)] = {64,0}, + [I(150,173)] = {64,0}, + [I(151,173)] = {64,0}, + [I(152,173)] = {64,0}, + [I(153,173)] = {64,0}, + [I(154,173)] = {64,0}, + [I(155,173)] = {64,0}, + [I(156,173)] = {64,0}, + [I(157,173)] = {64,0}, + [I(158,173)] = {64,0}, + [I(159,173)] = {64,0}, + [I(160,173)] = {64,0}, + [I(161,173)] = {64,0}, + [I(162,173)] = {64,0}, + [I(163,173)] = {64,0}, + [I(164,173)] = {64,0}, + [I(165,173)] = {64,0}, + [I(166,173)] = {64,0}, + [I(167,173)] = {64,0}, + [I(168,173)] = {64,0}, + [I(169,173)] = {64,0}, + [I(170,173)] = {64,0}, + [I(171,173)] = {64,0}, + [I(172,173)] = {64,0}, + [I(173,173)] = {64,0}, + [I(174,173)] = {64,0}, + [I(175,173)] = {64,0}, + [I(176,173)] = {64,0}, + [I(177,173)] = {64,0}, + [I(178,173)] = {64,0}, + [I(179,173)] = {64,0}, + [I(180,173)] = {64,0}, + [I(181,173)] = {64,0}, + [I(182,173)] = {64,0}, + [I(183,173)] = {64,0}, + [I(184,173)] = {64,0}, + [I(185,173)] = {64,0}, + [I(186,173)] = {64,0}, + [I(187,173)] = {64,0}, + [I(188,173)] = {64,0}, + [I(189,173)] = {64,0}, + [I(190,173)] = {64,0}, + [I(191,173)] = {64,0}, + [I(192,173)] = {64,0}, + [I(193,173)] = {64,0}, + [I(194,173)] = {64,0}, + [I(195,173)] = {64,0}, + [I(196,173)] = {64,0}, + [I(197,173)] = {64,0}, + [I(198,173)] = {64,0}, + [I(199,173)] = {64,0}, + [I(200,173)] = {64,0}, + [I(201,173)] = {64,0}, + [I(202,173)] = {64,0}, + [I(203,173)] = {64,0}, + [I(204,173)] = {64,0}, + [I(205,173)] = {64,0}, + [I(206,173)] = {64,0}, + [I(207,173)] = {64,0}, + [I(208,173)] = {64,0}, + [I(209,173)] = {64,0}, + [I(210,173)] = {64,0}, + [I(211,173)] = {64,0}, + [I(212,173)] = {64,0}, + [I(213,173)] = {64,0}, + [I(214,173)] = {64,0}, + [I(215,173)] = {64,0}, + [I(216,173)] = {64,0}, + [I(217,173)] = {64,0}, + [I(218,173)] = {64,0}, + [I(219,173)] = {64,0}, + [I(220,173)] = {64,0}, + [I(221,173)] = {64,0}, + [I(222,173)] = {64,0}, + [I(223,173)] = {64,0}, + [I(224,173)] = {64,0}, + [I(225,173)] = {64,0}, + [I(226,173)] = {64,0}, + [I(227,173)] = {64,0}, + [I(228,173)] = {64,0}, + [I(229,173)] = {64,0}, + [I(230,173)] = {64,0}, + [I(231,173)] = {64,0}, + [I(232,173)] = {64,0}, + [I(233,173)] = {64,0}, + [I(234,173)] = {64,0}, + [I(235,173)] = {64,0}, + [I(236,173)] = {64,0}, + [I(237,173)] = {64,0}, + [I(238,173)] = {64,0}, + [I(239,173)] = {64,0}, + [I(240,173)] = {64,0}, + [I(241,173)] = {64,0}, + [I(242,173)] = {64,0}, + [I(243,173)] = {64,0}, + [I(244,173)] = {64,0}, + [I(245,173)] = {64,0}, + [I(246,173)] = {64,0}, + [I(247,173)] = {64,0}, + [I(248,173)] = {64,0}, + [I(249,173)] = {64,0}, + [I(250,173)] = {64,0}, + [I(251,173)] = {64,0}, + [I(252,173)] = {64,0}, + [I(253,173)] = {64,0}, + [I(254,173)] = {64,0}, + [I(255,173)] = {64,0}, + [I(0,174)] = {64,0}, + [I(1,174)] = {64,0}, + [I(2,174)] = {64,0}, + [I(3,174)] = {64,0}, + [I(4,174)] = {64,0}, + [I(5,174)] = {64,0}, + [I(6,174)] = {64,0}, + [I(7,174)] = {64,0}, + [I(8,174)] = {64,0}, + [I(9,174)] = {64,0}, + [I(10,174)] = {64,0}, + [I(11,174)] = {64,0}, + [I(12,174)] = {64,0}, + [I(13,174)] = {64,0}, + [I(14,174)] = {64,0}, + [I(15,174)] = {64,0}, + [I(16,174)] = {64,0}, + [I(17,174)] = {64,0}, + [I(18,174)] = {64,0}, + [I(19,174)] = {64,0}, + [I(20,174)] = {64,0}, + [I(21,174)] = {64,0}, + [I(22,174)] = {64,0}, + [I(23,174)] = {64,0}, + [I(24,174)] = {64,0}, + [I(25,174)] = {64,0}, + [I(26,174)] = {64,0}, + [I(27,174)] = {64,0}, + [I(28,174)] = {64,0}, + [I(29,174)] = {64,0}, + [I(30,174)] = {64,0}, + [I(31,174)] = {64,0}, + [I(32,174)] = {29,0xA7FFFEB}, + [I(33,174)] = {64,0}, + [I(34,174)] = {64,0}, + [I(35,174)] = {64,0}, + [I(36,174)] = {64,0}, + [I(37,174)] = {29,0xAFFFFEB}, + [I(38,174)] = {31,0x7C7FFFEB}, + [I(39,174)] = {64,0}, + [I(40,174)] = {64,0}, + [I(41,174)] = {64,0}, + [I(42,174)] = {31,0x7CFFFFEB}, + [I(43,174)] = {64,0}, + [I(44,174)] = {31,0x7D7FFFEB}, + [I(45,174)] = {29,0xB7FFFEB}, + [I(46,174)] = {29,0xBFFFFEB}, + [I(47,174)] = {29,0xC7FFFEB}, + [I(48,174)] = {28,0x7FFFEB}, + [I(49,174)] = {28,0xFFFFEB}, + [I(50,174)] = {28,0x17FFFEB}, + [I(51,174)] = {29,0xCFFFFEB}, + [I(52,174)] = {29,0xD7FFFEB}, + [I(53,174)] = {29,0xDFFFFEB}, + [I(54,174)] = {29,0xE7FFFEB}, + [I(55,174)] = {29,0xEFFFFEB}, + [I(56,174)] = {29,0xF7FFFEB}, + [I(57,174)] = {29,0xFFFFFEB}, + [I(58,174)] = {30,0x2E7FFFEB}, + [I(59,174)] = {31,0x7DFFFFEB}, + [I(60,174)] = {64,0}, + [I(61,174)] = {29,0x107FFFEB}, + [I(62,174)] = {64,0}, + [I(63,174)] = {64,0}, + [I(64,174)] = {64,0}, + [I(65,174)] = {29,0x10FFFFEB}, + [I(66,174)] = {30,0x2EFFFFEB}, + [I(67,174)] = {30,0x2F7FFFEB}, + [I(68,174)] = {30,0x2FFFFFEB}, + [I(69,174)] = {30,0x307FFFEB}, + [I(70,174)] = {30,0x30FFFFEB}, + [I(71,174)] = {30,0x317FFFEB}, + [I(72,174)] = {30,0x31FFFFEB}, + [I(73,174)] = {30,0x327FFFEB}, + [I(74,174)] = {30,0x32FFFFEB}, + [I(75,174)] = {30,0x337FFFEB}, + [I(76,174)] = {30,0x33FFFFEB}, + [I(77,174)] = {30,0x347FFFEB}, + [I(78,174)] = {30,0x34FFFFEB}, + [I(79,174)] = {30,0x357FFFEB}, + [I(80,174)] = {30,0x35FFFFEB}, + [I(81,174)] = {30,0x367FFFEB}, + [I(82,174)] = {30,0x36FFFFEB}, + [I(83,174)] = {30,0x377FFFEB}, + [I(84,174)] = {30,0x37FFFFEB}, + [I(85,174)] = {30,0x387FFFEB}, + [I(86,174)] = {30,0x38FFFFEB}, + [I(87,174)] = {30,0x397FFFEB}, + [I(88,174)] = {31,0x7E7FFFEB}, + [I(89,174)] = {30,0x39FFFFEB}, + [I(90,174)] = {31,0x7EFFFFEB}, + [I(91,174)] = {64,0}, + [I(92,174)] = {64,0}, + [I(93,174)] = {64,0}, + [I(94,174)] = {64,0}, + [I(95,174)] = {29,0x117FFFEB}, + [I(96,174)] = {64,0}, + [I(97,174)] = {28,0x1FFFFEB}, + [I(98,174)] = {29,0x11FFFFEB}, + [I(99,174)] = {28,0x27FFFEB}, + [I(100,174)] = {29,0x127FFFEB}, + [I(101,174)] = {28,0x2FFFFEB}, + [I(102,174)] = {29,0x12FFFFEB}, + [I(103,174)] = {29,0x137FFFEB}, + [I(104,174)] = {29,0x13FFFFEB}, + [I(105,174)] = {28,0x37FFFEB}, + [I(106,174)] = {30,0x3A7FFFEB}, + [I(107,174)] = {30,0x3AFFFFEB}, + [I(108,174)] = {29,0x147FFFEB}, + [I(109,174)] = {29,0x14FFFFEB}, + [I(110,174)] = {29,0x157FFFEB}, + [I(111,174)] = {28,0x3FFFFEB}, + [I(112,174)] = {29,0x15FFFFEB}, + [I(113,174)] = {30,0x3B7FFFEB}, + [I(114,174)] = {29,0x167FFFEB}, + [I(115,174)] = {28,0x47FFFEB}, + [I(116,174)] = {28,0x4FFFFEB}, + [I(117,174)] = {29,0x16FFFFEB}, + [I(118,174)] = {30,0x3BFFFFEB}, + [I(119,174)] = {30,0x3C7FFFEB}, + [I(120,174)] = {30,0x3CFFFFEB}, + [I(121,174)] = {30,0x3D7FFFEB}, + [I(122,174)] = {30,0x3DFFFFEB}, + [I(123,174)] = {64,0}, + [I(124,174)] = {64,0}, + [I(125,174)] = {64,0}, + [I(126,174)] = {64,0}, + [I(127,174)] = {64,0}, + [I(128,174)] = {64,0}, + [I(129,174)] = {64,0}, + [I(130,174)] = {64,0}, + [I(131,174)] = {64,0}, + [I(132,174)] = {64,0}, + [I(133,174)] = {64,0}, + [I(134,174)] = {64,0}, + [I(135,174)] = {64,0}, + [I(136,174)] = {64,0}, + [I(137,174)] = {64,0}, + [I(138,174)] = {64,0}, + [I(139,174)] = {64,0}, + [I(140,174)] = {64,0}, + [I(141,174)] = {64,0}, + [I(142,174)] = {64,0}, + [I(143,174)] = {64,0}, + [I(144,174)] = {64,0}, + [I(145,174)] = {64,0}, + [I(146,174)] = {64,0}, + [I(147,174)] = {64,0}, + [I(148,174)] = {64,0}, + [I(149,174)] = {64,0}, + [I(150,174)] = {64,0}, + [I(151,174)] = {64,0}, + [I(152,174)] = {64,0}, + [I(153,174)] = {64,0}, + [I(154,174)] = {64,0}, + [I(155,174)] = {64,0}, + [I(156,174)] = {64,0}, + [I(157,174)] = {64,0}, + [I(158,174)] = {64,0}, + [I(159,174)] = {64,0}, + [I(160,174)] = {64,0}, + [I(161,174)] = {64,0}, + [I(162,174)] = {64,0}, + [I(163,174)] = {64,0}, + [I(164,174)] = {64,0}, + [I(165,174)] = {64,0}, + [I(166,174)] = {64,0}, + [I(167,174)] = {64,0}, + [I(168,174)] = {64,0}, + [I(169,174)] = {64,0}, + [I(170,174)] = {64,0}, + [I(171,174)] = {64,0}, + [I(172,174)] = {64,0}, + [I(173,174)] = {64,0}, + [I(174,174)] = {64,0}, + [I(175,174)] = {64,0}, + [I(176,174)] = {64,0}, + [I(177,174)] = {64,0}, + [I(178,174)] = {64,0}, + [I(179,174)] = {64,0}, + [I(180,174)] = {64,0}, + [I(181,174)] = {64,0}, + [I(182,174)] = {64,0}, + [I(183,174)] = {64,0}, + [I(184,174)] = {64,0}, + [I(185,174)] = {64,0}, + [I(186,174)] = {64,0}, + [I(187,174)] = {64,0}, + [I(188,174)] = {64,0}, + [I(189,174)] = {64,0}, + [I(190,174)] = {64,0}, + [I(191,174)] = {64,0}, + [I(192,174)] = {64,0}, + [I(193,174)] = {64,0}, + [I(194,174)] = {64,0}, + [I(195,174)] = {64,0}, + [I(196,174)] = {64,0}, + [I(197,174)] = {64,0}, + [I(198,174)] = {64,0}, + [I(199,174)] = {64,0}, + [I(200,174)] = {64,0}, + [I(201,174)] = {64,0}, + [I(202,174)] = {64,0}, + [I(203,174)] = {64,0}, + [I(204,174)] = {64,0}, + [I(205,174)] = {64,0}, + [I(206,174)] = {64,0}, + [I(207,174)] = {64,0}, + [I(208,174)] = {64,0}, + [I(209,174)] = {64,0}, + [I(210,174)] = {64,0}, + [I(211,174)] = {64,0}, + [I(212,174)] = {64,0}, + [I(213,174)] = {64,0}, + [I(214,174)] = {64,0}, + [I(215,174)] = {64,0}, + [I(216,174)] = {64,0}, + [I(217,174)] = {64,0}, + [I(218,174)] = {64,0}, + [I(219,174)] = {64,0}, + [I(220,174)] = {64,0}, + [I(221,174)] = {64,0}, + [I(222,174)] = {64,0}, + [I(223,174)] = {64,0}, + [I(224,174)] = {64,0}, + [I(225,174)] = {64,0}, + [I(226,174)] = {64,0}, + [I(227,174)] = {64,0}, + [I(228,174)] = {64,0}, + [I(229,174)] = {64,0}, + [I(230,174)] = {64,0}, + [I(231,174)] = {64,0}, + [I(232,174)] = {64,0}, + [I(233,174)] = {64,0}, + [I(234,174)] = {64,0}, + [I(235,174)] = {64,0}, + [I(236,174)] = {64,0}, + [I(237,174)] = {64,0}, + [I(238,174)] = {64,0}, + [I(239,174)] = {64,0}, + [I(240,174)] = {64,0}, + [I(241,174)] = {64,0}, + [I(242,174)] = {64,0}, + [I(243,174)] = {64,0}, + [I(244,174)] = {64,0}, + [I(245,174)] = {64,0}, + [I(246,174)] = {64,0}, + [I(247,174)] = {64,0}, + [I(248,174)] = {64,0}, + [I(249,174)] = {64,0}, + [I(250,174)] = {64,0}, + [I(251,174)] = {64,0}, + [I(252,174)] = {64,0}, + [I(253,174)] = {64,0}, + [I(254,174)] = {64,0}, + [I(255,174)] = {64,0}, + [I(0,175)] = {64,0}, + [I(1,175)] = {64,0}, + [I(2,175)] = {64,0}, + [I(3,175)] = {64,0}, + [I(4,175)] = {64,0}, + [I(5,175)] = {64,0}, + [I(6,175)] = {64,0}, + [I(7,175)] = {64,0}, + [I(8,175)] = {64,0}, + [I(9,175)] = {64,0}, + [I(10,175)] = {64,0}, + [I(11,175)] = {64,0}, + [I(12,175)] = {64,0}, + [I(13,175)] = {64,0}, + [I(14,175)] = {64,0}, + [I(15,175)] = {64,0}, + [I(16,175)] = {64,0}, + [I(17,175)] = {64,0}, + [I(18,175)] = {64,0}, + [I(19,175)] = {64,0}, + [I(20,175)] = {64,0}, + [I(21,175)] = {64,0}, + [I(22,175)] = {64,0}, + [I(23,175)] = {64,0}, + [I(24,175)] = {64,0}, + [I(25,175)] = {64,0}, + [I(26,175)] = {64,0}, + [I(27,175)] = {64,0}, + [I(28,175)] = {64,0}, + [I(29,175)] = {64,0}, + [I(30,175)] = {64,0}, + [I(31,175)] = {64,0}, + [I(32,175)] = {29,0xA7FFFEC}, + [I(33,175)] = {64,0}, + [I(34,175)] = {64,0}, + [I(35,175)] = {64,0}, + [I(36,175)] = {64,0}, + [I(37,175)] = {29,0xAFFFFEC}, + [I(38,175)] = {31,0x7C7FFFEC}, + [I(39,175)] = {64,0}, + [I(40,175)] = {64,0}, + [I(41,175)] = {64,0}, + [I(42,175)] = {31,0x7CFFFFEC}, + [I(43,175)] = {64,0}, + [I(44,175)] = {31,0x7D7FFFEC}, + [I(45,175)] = {29,0xB7FFFEC}, + [I(46,175)] = {29,0xBFFFFEC}, + [I(47,175)] = {29,0xC7FFFEC}, + [I(48,175)] = {28,0x7FFFEC}, + [I(49,175)] = {28,0xFFFFEC}, + [I(50,175)] = {28,0x17FFFEC}, + [I(51,175)] = {29,0xCFFFFEC}, + [I(52,175)] = {29,0xD7FFFEC}, + [I(53,175)] = {29,0xDFFFFEC}, + [I(54,175)] = {29,0xE7FFFEC}, + [I(55,175)] = {29,0xEFFFFEC}, + [I(56,175)] = {29,0xF7FFFEC}, + [I(57,175)] = {29,0xFFFFFEC}, + [I(58,175)] = {30,0x2E7FFFEC}, + [I(59,175)] = {31,0x7DFFFFEC}, + [I(60,175)] = {64,0}, + [I(61,175)] = {29,0x107FFFEC}, + [I(62,175)] = {64,0}, + [I(63,175)] = {64,0}, + [I(64,175)] = {64,0}, + [I(65,175)] = {29,0x10FFFFEC}, + [I(66,175)] = {30,0x2EFFFFEC}, + [I(67,175)] = {30,0x2F7FFFEC}, + [I(68,175)] = {30,0x2FFFFFEC}, + [I(69,175)] = {30,0x307FFFEC}, + [I(70,175)] = {30,0x30FFFFEC}, + [I(71,175)] = {30,0x317FFFEC}, + [I(72,175)] = {30,0x31FFFFEC}, + [I(73,175)] = {30,0x327FFFEC}, + [I(74,175)] = {30,0x32FFFFEC}, + [I(75,175)] = {30,0x337FFFEC}, + [I(76,175)] = {30,0x33FFFFEC}, + [I(77,175)] = {30,0x347FFFEC}, + [I(78,175)] = {30,0x34FFFFEC}, + [I(79,175)] = {30,0x357FFFEC}, + [I(80,175)] = {30,0x35FFFFEC}, + [I(81,175)] = {30,0x367FFFEC}, + [I(82,175)] = {30,0x36FFFFEC}, + [I(83,175)] = {30,0x377FFFEC}, + [I(84,175)] = {30,0x37FFFFEC}, + [I(85,175)] = {30,0x387FFFEC}, + [I(86,175)] = {30,0x38FFFFEC}, + [I(87,175)] = {30,0x397FFFEC}, + [I(88,175)] = {31,0x7E7FFFEC}, + [I(89,175)] = {30,0x39FFFFEC}, + [I(90,175)] = {31,0x7EFFFFEC}, + [I(91,175)] = {64,0}, + [I(92,175)] = {64,0}, + [I(93,175)] = {64,0}, + [I(94,175)] = {64,0}, + [I(95,175)] = {29,0x117FFFEC}, + [I(96,175)] = {64,0}, + [I(97,175)] = {28,0x1FFFFEC}, + [I(98,175)] = {29,0x11FFFFEC}, + [I(99,175)] = {28,0x27FFFEC}, + [I(100,175)] = {29,0x127FFFEC}, + [I(101,175)] = {28,0x2FFFFEC}, + [I(102,175)] = {29,0x12FFFFEC}, + [I(103,175)] = {29,0x137FFFEC}, + [I(104,175)] = {29,0x13FFFFEC}, + [I(105,175)] = {28,0x37FFFEC}, + [I(106,175)] = {30,0x3A7FFFEC}, + [I(107,175)] = {30,0x3AFFFFEC}, + [I(108,175)] = {29,0x147FFFEC}, + [I(109,175)] = {29,0x14FFFFEC}, + [I(110,175)] = {29,0x157FFFEC}, + [I(111,175)] = {28,0x3FFFFEC}, + [I(112,175)] = {29,0x15FFFFEC}, + [I(113,175)] = {30,0x3B7FFFEC}, + [I(114,175)] = {29,0x167FFFEC}, + [I(115,175)] = {28,0x47FFFEC}, + [I(116,175)] = {28,0x4FFFFEC}, + [I(117,175)] = {29,0x16FFFFEC}, + [I(118,175)] = {30,0x3BFFFFEC}, + [I(119,175)] = {30,0x3C7FFFEC}, + [I(120,175)] = {30,0x3CFFFFEC}, + [I(121,175)] = {30,0x3D7FFFEC}, + [I(122,175)] = {30,0x3DFFFFEC}, + [I(123,175)] = {64,0}, + [I(124,175)] = {64,0}, + [I(125,175)] = {64,0}, + [I(126,175)] = {64,0}, + [I(127,175)] = {64,0}, + [I(128,175)] = {64,0}, + [I(129,175)] = {64,0}, + [I(130,175)] = {64,0}, + [I(131,175)] = {64,0}, + [I(132,175)] = {64,0}, + [I(133,175)] = {64,0}, + [I(134,175)] = {64,0}, + [I(135,175)] = {64,0}, + [I(136,175)] = {64,0}, + [I(137,175)] = {64,0}, + [I(138,175)] = {64,0}, + [I(139,175)] = {64,0}, + [I(140,175)] = {64,0}, + [I(141,175)] = {64,0}, + [I(142,175)] = {64,0}, + [I(143,175)] = {64,0}, + [I(144,175)] = {64,0}, + [I(145,175)] = {64,0}, + [I(146,175)] = {64,0}, + [I(147,175)] = {64,0}, + [I(148,175)] = {64,0}, + [I(149,175)] = {64,0}, + [I(150,175)] = {64,0}, + [I(151,175)] = {64,0}, + [I(152,175)] = {64,0}, + [I(153,175)] = {64,0}, + [I(154,175)] = {64,0}, + [I(155,175)] = {64,0}, + [I(156,175)] = {64,0}, + [I(157,175)] = {64,0}, + [I(158,175)] = {64,0}, + [I(159,175)] = {64,0}, + [I(160,175)] = {64,0}, + [I(161,175)] = {64,0}, + [I(162,175)] = {64,0}, + [I(163,175)] = {64,0}, + [I(164,175)] = {64,0}, + [I(165,175)] = {64,0}, + [I(166,175)] = {64,0}, + [I(167,175)] = {64,0}, + [I(168,175)] = {64,0}, + [I(169,175)] = {64,0}, + [I(170,175)] = {64,0}, + [I(171,175)] = {64,0}, + [I(172,175)] = {64,0}, + [I(173,175)] = {64,0}, + [I(174,175)] = {64,0}, + [I(175,175)] = {64,0}, + [I(176,175)] = {64,0}, + [I(177,175)] = {64,0}, + [I(178,175)] = {64,0}, + [I(179,175)] = {64,0}, + [I(180,175)] = {64,0}, + [I(181,175)] = {64,0}, + [I(182,175)] = {64,0}, + [I(183,175)] = {64,0}, + [I(184,175)] = {64,0}, + [I(185,175)] = {64,0}, + [I(186,175)] = {64,0}, + [I(187,175)] = {64,0}, + [I(188,175)] = {64,0}, + [I(189,175)] = {64,0}, + [I(190,175)] = {64,0}, + [I(191,175)] = {64,0}, + [I(192,175)] = {64,0}, + [I(193,175)] = {64,0}, + [I(194,175)] = {64,0}, + [I(195,175)] = {64,0}, + [I(196,175)] = {64,0}, + [I(197,175)] = {64,0}, + [I(198,175)] = {64,0}, + [I(199,175)] = {64,0}, + [I(200,175)] = {64,0}, + [I(201,175)] = {64,0}, + [I(202,175)] = {64,0}, + [I(203,175)] = {64,0}, + [I(204,175)] = {64,0}, + [I(205,175)] = {64,0}, + [I(206,175)] = {64,0}, + [I(207,175)] = {64,0}, + [I(208,175)] = {64,0}, + [I(209,175)] = {64,0}, + [I(210,175)] = {64,0}, + [I(211,175)] = {64,0}, + [I(212,175)] = {64,0}, + [I(213,175)] = {64,0}, + [I(214,175)] = {64,0}, + [I(215,175)] = {64,0}, + [I(216,175)] = {64,0}, + [I(217,175)] = {64,0}, + [I(218,175)] = {64,0}, + [I(219,175)] = {64,0}, + [I(220,175)] = {64,0}, + [I(221,175)] = {64,0}, + [I(222,175)] = {64,0}, + [I(223,175)] = {64,0}, + [I(224,175)] = {64,0}, + [I(225,175)] = {64,0}, + [I(226,175)] = {64,0}, + [I(227,175)] = {64,0}, + [I(228,175)] = {64,0}, + [I(229,175)] = {64,0}, + [I(230,175)] = {64,0}, + [I(231,175)] = {64,0}, + [I(232,175)] = {64,0}, + [I(233,175)] = {64,0}, + [I(234,175)] = {64,0}, + [I(235,175)] = {64,0}, + [I(236,175)] = {64,0}, + [I(237,175)] = {64,0}, + [I(238,175)] = {64,0}, + [I(239,175)] = {64,0}, + [I(240,175)] = {64,0}, + [I(241,175)] = {64,0}, + [I(242,175)] = {64,0}, + [I(243,175)] = {64,0}, + [I(244,175)] = {64,0}, + [I(245,175)] = {64,0}, + [I(246,175)] = {64,0}, + [I(247,175)] = {64,0}, + [I(248,175)] = {64,0}, + [I(249,175)] = {64,0}, + [I(250,175)] = {64,0}, + [I(251,175)] = {64,0}, + [I(252,175)] = {64,0}, + [I(253,175)] = {64,0}, + [I(254,175)] = {64,0}, + [I(255,175)] = {64,0}, + [I(0,176)] = {64,0}, + [I(1,176)] = {64,0}, + [I(2,176)] = {64,0}, + [I(3,176)] = {64,0}, + [I(4,176)] = {64,0}, + [I(5,176)] = {64,0}, + [I(6,176)] = {64,0}, + [I(7,176)] = {64,0}, + [I(8,176)] = {64,0}, + [I(9,176)] = {64,0}, + [I(10,176)] = {64,0}, + [I(11,176)] = {64,0}, + [I(12,176)] = {64,0}, + [I(13,176)] = {64,0}, + [I(14,176)] = {64,0}, + [I(15,176)] = {64,0}, + [I(16,176)] = {64,0}, + [I(17,176)] = {64,0}, + [I(18,176)] = {64,0}, + [I(19,176)] = {64,0}, + [I(20,176)] = {64,0}, + [I(21,176)] = {64,0}, + [I(22,176)] = {64,0}, + [I(23,176)] = {64,0}, + [I(24,176)] = {64,0}, + [I(25,176)] = {64,0}, + [I(26,176)] = {64,0}, + [I(27,176)] = {64,0}, + [I(28,176)] = {64,0}, + [I(29,176)] = {64,0}, + [I(30,176)] = {64,0}, + [I(31,176)] = {64,0}, + [I(32,176)] = {27,0x29FFFE0}, + [I(33,176)] = {31,0x7F1FFFE0}, + [I(34,176)] = {31,0x7F3FFFE0}, + [I(35,176)] = {64,0}, + [I(36,176)] = {64,0}, + [I(37,176)] = {27,0x2BFFFE0}, + [I(38,176)] = {29,0x1F1FFFE0}, + [I(39,176)] = {X32,0xFF5FFFE0}, + [I(40,176)] = {31,0x7F5FFFE0}, + [I(41,176)] = {31,0x7F7FFFE0}, + [I(42,176)] = {29,0x1F3FFFE0}, + [I(43,176)] = {X32,0xFF7FFFE0}, + [I(44,176)] = {29,0x1F5FFFE0}, + [I(45,176)] = {27,0x2DFFFE0}, + [I(46,176)] = {27,0x2FFFFE0}, + [I(47,176)] = {27,0x31FFFE0}, + [I(48,176)] = {26,0x1FFFE0}, + [I(49,176)] = {26,0x3FFFE0}, + [I(50,176)] = {26,0x5FFFE0}, + [I(51,176)] = {27,0x33FFFE0}, + [I(52,176)] = {27,0x35FFFE0}, + [I(53,176)] = {27,0x37FFFE0}, + [I(54,176)] = {27,0x39FFFE0}, + [I(55,176)] = {27,0x3BFFFE0}, + [I(56,176)] = {27,0x3DFFFE0}, + [I(57,176)] = {27,0x3FFFFE0}, + [I(58,176)] = {28,0xB9FFFE0}, + [I(59,176)] = {29,0x1F7FFFE0}, + [I(60,176)] = {64,0}, + [I(61,176)] = {27,0x41FFFE0}, + [I(62,176)] = {64,0}, + [I(63,176)] = {31,0x7F9FFFE0}, + [I(64,176)] = {64,0}, + [I(65,176)] = {27,0x43FFFE0}, + [I(66,176)] = {28,0xBBFFFE0}, + [I(67,176)] = {28,0xBDFFFE0}, + [I(68,176)] = {28,0xBFFFFE0}, + [I(69,176)] = {28,0xC1FFFE0}, + [I(70,176)] = {28,0xC3FFFE0}, + [I(71,176)] = {28,0xC5FFFE0}, + [I(72,176)] = {28,0xC7FFFE0}, + [I(73,176)] = {28,0xC9FFFE0}, + [I(74,176)] = {28,0xCBFFFE0}, + [I(75,176)] = {28,0xCDFFFE0}, + [I(76,176)] = {28,0xCFFFFE0}, + [I(77,176)] = {28,0xD1FFFE0}, + [I(78,176)] = {28,0xD3FFFE0}, + [I(79,176)] = {28,0xD5FFFE0}, + [I(80,176)] = {28,0xD7FFFE0}, + [I(81,176)] = {28,0xD9FFFE0}, + [I(82,176)] = {28,0xDBFFFE0}, + [I(83,176)] = {28,0xDDFFFE0}, + [I(84,176)] = {28,0xDFFFFE0}, + [I(85,176)] = {28,0xE1FFFE0}, + [I(86,176)] = {28,0xE3FFFE0}, + [I(87,176)] = {28,0xE5FFFE0}, + [I(88,176)] = {29,0x1F9FFFE0}, + [I(89,176)] = {28,0xE7FFFE0}, + [I(90,176)] = {29,0x1FBFFFE0}, + [I(91,176)] = {64,0}, + [I(92,176)] = {64,0}, + [I(93,176)] = {64,0}, + [I(94,176)] = {64,0}, + [I(95,176)] = {27,0x45FFFE0}, + [I(96,176)] = {64,0}, + [I(97,176)] = {26,0x7FFFE0}, + [I(98,176)] = {27,0x47FFFE0}, + [I(99,176)] = {26,0x9FFFE0}, + [I(100,176)] = {27,0x49FFFE0}, + [I(101,176)] = {26,0xBFFFE0}, + [I(102,176)] = {27,0x4BFFFE0}, + [I(103,176)] = {27,0x4DFFFE0}, + [I(104,176)] = {27,0x4FFFFE0}, + [I(105,176)] = {26,0xDFFFE0}, + [I(106,176)] = {28,0xE9FFFE0}, + [I(107,176)] = {28,0xEBFFFE0}, + [I(108,176)] = {27,0x51FFFE0}, + [I(109,176)] = {27,0x53FFFE0}, + [I(110,176)] = {27,0x55FFFE0}, + [I(111,176)] = {26,0xFFFFE0}, + [I(112,176)] = {27,0x57FFFE0}, + [I(113,176)] = {28,0xEDFFFE0}, + [I(114,176)] = {27,0x59FFFE0}, + [I(115,176)] = {26,0x11FFFE0}, + [I(116,176)] = {26,0x13FFFE0}, + [I(117,176)] = {27,0x5BFFFE0}, + [I(118,176)] = {28,0xEFFFFE0}, + [I(119,176)] = {28,0xF1FFFE0}, + [I(120,176)] = {28,0xF3FFFE0}, + [I(121,176)] = {28,0xF5FFFE0}, + [I(122,176)] = {28,0xF7FFFE0}, + [I(123,176)] = {64,0}, + [I(124,176)] = {X32,0xFF9FFFE0}, + [I(125,176)] = {64,0}, + [I(126,176)] = {64,0}, + [I(127,176)] = {64,0}, + [I(128,176)] = {64,0}, + [I(129,176)] = {64,0}, + [I(130,176)] = {64,0}, + [I(131,176)] = {64,0}, + [I(132,176)] = {64,0}, + [I(133,176)] = {64,0}, + [I(134,176)] = {64,0}, + [I(135,176)] = {64,0}, + [I(136,176)] = {64,0}, + [I(137,176)] = {64,0}, + [I(138,176)] = {64,0}, + [I(139,176)] = {64,0}, + [I(140,176)] = {64,0}, + [I(141,176)] = {64,0}, + [I(142,176)] = {64,0}, + [I(143,176)] = {64,0}, + [I(144,176)] = {64,0}, + [I(145,176)] = {64,0}, + [I(146,176)] = {64,0}, + [I(147,176)] = {64,0}, + [I(148,176)] = {64,0}, + [I(149,176)] = {64,0}, + [I(150,176)] = {64,0}, + [I(151,176)] = {64,0}, + [I(152,176)] = {64,0}, + [I(153,176)] = {64,0}, + [I(154,176)] = {64,0}, + [I(155,176)] = {64,0}, + [I(156,176)] = {64,0}, + [I(157,176)] = {64,0}, + [I(158,176)] = {64,0}, + [I(159,176)] = {64,0}, + [I(160,176)] = {64,0}, + [I(161,176)] = {64,0}, + [I(162,176)] = {64,0}, + [I(163,176)] = {64,0}, + [I(164,176)] = {64,0}, + [I(165,176)] = {64,0}, + [I(166,176)] = {64,0}, + [I(167,176)] = {64,0}, + [I(168,176)] = {64,0}, + [I(169,176)] = {64,0}, + [I(170,176)] = {64,0}, + [I(171,176)] = {64,0}, + [I(172,176)] = {64,0}, + [I(173,176)] = {64,0}, + [I(174,176)] = {64,0}, + [I(175,176)] = {64,0}, + [I(176,176)] = {64,0}, + [I(177,176)] = {64,0}, + [I(178,176)] = {64,0}, + [I(179,176)] = {64,0}, + [I(180,176)] = {64,0}, + [I(181,176)] = {64,0}, + [I(182,176)] = {64,0}, + [I(183,176)] = {64,0}, + [I(184,176)] = {64,0}, + [I(185,176)] = {64,0}, + [I(186,176)] = {64,0}, + [I(187,176)] = {64,0}, + [I(188,176)] = {64,0}, + [I(189,176)] = {64,0}, + [I(190,176)] = {64,0}, + [I(191,176)] = {64,0}, + [I(192,176)] = {64,0}, + [I(193,176)] = {64,0}, + [I(194,176)] = {64,0}, + [I(195,176)] = {64,0}, + [I(196,176)] = {64,0}, + [I(197,176)] = {64,0}, + [I(198,176)] = {64,0}, + [I(199,176)] = {64,0}, + [I(200,176)] = {64,0}, + [I(201,176)] = {64,0}, + [I(202,176)] = {64,0}, + [I(203,176)] = {64,0}, + [I(204,176)] = {64,0}, + [I(205,176)] = {64,0}, + [I(206,176)] = {64,0}, + [I(207,176)] = {64,0}, + [I(208,176)] = {64,0}, + [I(209,176)] = {64,0}, + [I(210,176)] = {64,0}, + [I(211,176)] = {64,0}, + [I(212,176)] = {64,0}, + [I(213,176)] = {64,0}, + [I(214,176)] = {64,0}, + [I(215,176)] = {64,0}, + [I(216,176)] = {64,0}, + [I(217,176)] = {64,0}, + [I(218,176)] = {64,0}, + [I(219,176)] = {64,0}, + [I(220,176)] = {64,0}, + [I(221,176)] = {64,0}, + [I(222,176)] = {64,0}, + [I(223,176)] = {64,0}, + [I(224,176)] = {64,0}, + [I(225,176)] = {64,0}, + [I(226,176)] = {64,0}, + [I(227,176)] = {64,0}, + [I(228,176)] = {64,0}, + [I(229,176)] = {64,0}, + [I(230,176)] = {64,0}, + [I(231,176)] = {64,0}, + [I(232,176)] = {64,0}, + [I(233,176)] = {64,0}, + [I(234,176)] = {64,0}, + [I(235,176)] = {64,0}, + [I(236,176)] = {64,0}, + [I(237,176)] = {64,0}, + [I(238,176)] = {64,0}, + [I(239,176)] = {64,0}, + [I(240,176)] = {64,0}, + [I(241,176)] = {64,0}, + [I(242,176)] = {64,0}, + [I(243,176)] = {64,0}, + [I(244,176)] = {64,0}, + [I(245,176)] = {64,0}, + [I(246,176)] = {64,0}, + [I(247,176)] = {64,0}, + [I(248,176)] = {64,0}, + [I(249,176)] = {64,0}, + [I(250,176)] = {64,0}, + [I(251,176)] = {64,0}, + [I(252,176)] = {64,0}, + [I(253,176)] = {64,0}, + [I(254,176)] = {64,0}, + [I(255,176)] = {64,0}, + [I(0,177)] = {64,0}, + [I(1,177)] = {64,0}, + [I(2,177)] = {64,0}, + [I(3,177)] = {64,0}, + [I(4,177)] = {64,0}, + [I(5,177)] = {64,0}, + [I(6,177)] = {64,0}, + [I(7,177)] = {64,0}, + [I(8,177)] = {64,0}, + [I(9,177)] = {64,0}, + [I(10,177)] = {64,0}, + [I(11,177)] = {64,0}, + [I(12,177)] = {64,0}, + [I(13,177)] = {64,0}, + [I(14,177)] = {64,0}, + [I(15,177)] = {64,0}, + [I(16,177)] = {64,0}, + [I(17,177)] = {64,0}, + [I(18,177)] = {64,0}, + [I(19,177)] = {64,0}, + [I(20,177)] = {64,0}, + [I(21,177)] = {64,0}, + [I(22,177)] = {64,0}, + [I(23,177)] = {64,0}, + [I(24,177)] = {64,0}, + [I(25,177)] = {64,0}, + [I(26,177)] = {64,0}, + [I(27,177)] = {64,0}, + [I(28,177)] = {64,0}, + [I(29,177)] = {64,0}, + [I(30,177)] = {64,0}, + [I(31,177)] = {64,0}, + [I(32,177)] = {27,0x29FFFE1}, + [I(33,177)] = {31,0x7F1FFFE1}, + [I(34,177)] = {31,0x7F3FFFE1}, + [I(35,177)] = {64,0}, + [I(36,177)] = {64,0}, + [I(37,177)] = {27,0x2BFFFE1}, + [I(38,177)] = {29,0x1F1FFFE1}, + [I(39,177)] = {X32,0xFF5FFFE1}, + [I(40,177)] = {31,0x7F5FFFE1}, + [I(41,177)] = {31,0x7F7FFFE1}, + [I(42,177)] = {29,0x1F3FFFE1}, + [I(43,177)] = {X32,0xFF7FFFE1}, + [I(44,177)] = {29,0x1F5FFFE1}, + [I(45,177)] = {27,0x2DFFFE1}, + [I(46,177)] = {27,0x2FFFFE1}, + [I(47,177)] = {27,0x31FFFE1}, + [I(48,177)] = {26,0x1FFFE1}, + [I(49,177)] = {26,0x3FFFE1}, + [I(50,177)] = {26,0x5FFFE1}, + [I(51,177)] = {27,0x33FFFE1}, + [I(52,177)] = {27,0x35FFFE1}, + [I(53,177)] = {27,0x37FFFE1}, + [I(54,177)] = {27,0x39FFFE1}, + [I(55,177)] = {27,0x3BFFFE1}, + [I(56,177)] = {27,0x3DFFFE1}, + [I(57,177)] = {27,0x3FFFFE1}, + [I(58,177)] = {28,0xB9FFFE1}, + [I(59,177)] = {29,0x1F7FFFE1}, + [I(60,177)] = {64,0}, + [I(61,177)] = {27,0x41FFFE1}, + [I(62,177)] = {64,0}, + [I(63,177)] = {31,0x7F9FFFE1}, + [I(64,177)] = {64,0}, + [I(65,177)] = {27,0x43FFFE1}, + [I(66,177)] = {28,0xBBFFFE1}, + [I(67,177)] = {28,0xBDFFFE1}, + [I(68,177)] = {28,0xBFFFFE1}, + [I(69,177)] = {28,0xC1FFFE1}, + [I(70,177)] = {28,0xC3FFFE1}, + [I(71,177)] = {28,0xC5FFFE1}, + [I(72,177)] = {28,0xC7FFFE1}, + [I(73,177)] = {28,0xC9FFFE1}, + [I(74,177)] = {28,0xCBFFFE1}, + [I(75,177)] = {28,0xCDFFFE1}, + [I(76,177)] = {28,0xCFFFFE1}, + [I(77,177)] = {28,0xD1FFFE1}, + [I(78,177)] = {28,0xD3FFFE1}, + [I(79,177)] = {28,0xD5FFFE1}, + [I(80,177)] = {28,0xD7FFFE1}, + [I(81,177)] = {28,0xD9FFFE1}, + [I(82,177)] = {28,0xDBFFFE1}, + [I(83,177)] = {28,0xDDFFFE1}, + [I(84,177)] = {28,0xDFFFFE1}, + [I(85,177)] = {28,0xE1FFFE1}, + [I(86,177)] = {28,0xE3FFFE1}, + [I(87,177)] = {28,0xE5FFFE1}, + [I(88,177)] = {29,0x1F9FFFE1}, + [I(89,177)] = {28,0xE7FFFE1}, + [I(90,177)] = {29,0x1FBFFFE1}, + [I(91,177)] = {64,0}, + [I(92,177)] = {64,0}, + [I(93,177)] = {64,0}, + [I(94,177)] = {64,0}, + [I(95,177)] = {27,0x45FFFE1}, + [I(96,177)] = {64,0}, + [I(97,177)] = {26,0x7FFFE1}, + [I(98,177)] = {27,0x47FFFE1}, + [I(99,177)] = {26,0x9FFFE1}, + [I(100,177)] = {27,0x49FFFE1}, + [I(101,177)] = {26,0xBFFFE1}, + [I(102,177)] = {27,0x4BFFFE1}, + [I(103,177)] = {27,0x4DFFFE1}, + [I(104,177)] = {27,0x4FFFFE1}, + [I(105,177)] = {26,0xDFFFE1}, + [I(106,177)] = {28,0xE9FFFE1}, + [I(107,177)] = {28,0xEBFFFE1}, + [I(108,177)] = {27,0x51FFFE1}, + [I(109,177)] = {27,0x53FFFE1}, + [I(110,177)] = {27,0x55FFFE1}, + [I(111,177)] = {26,0xFFFFE1}, + [I(112,177)] = {27,0x57FFFE1}, + [I(113,177)] = {28,0xEDFFFE1}, + [I(114,177)] = {27,0x59FFFE1}, + [I(115,177)] = {26,0x11FFFE1}, + [I(116,177)] = {26,0x13FFFE1}, + [I(117,177)] = {27,0x5BFFFE1}, + [I(118,177)] = {28,0xEFFFFE1}, + [I(119,177)] = {28,0xF1FFFE1}, + [I(120,177)] = {28,0xF3FFFE1}, + [I(121,177)] = {28,0xF5FFFE1}, + [I(122,177)] = {28,0xF7FFFE1}, + [I(123,177)] = {64,0}, + [I(124,177)] = {X32,0xFF9FFFE1}, + [I(125,177)] = {64,0}, + [I(126,177)] = {64,0}, + [I(127,177)] = {64,0}, + [I(128,177)] = {64,0}, + [I(129,177)] = {64,0}, + [I(130,177)] = {64,0}, + [I(131,177)] = {64,0}, + [I(132,177)] = {64,0}, + [I(133,177)] = {64,0}, + [I(134,177)] = {64,0}, + [I(135,177)] = {64,0}, + [I(136,177)] = {64,0}, + [I(137,177)] = {64,0}, + [I(138,177)] = {64,0}, + [I(139,177)] = {64,0}, + [I(140,177)] = {64,0}, + [I(141,177)] = {64,0}, + [I(142,177)] = {64,0}, + [I(143,177)] = {64,0}, + [I(144,177)] = {64,0}, + [I(145,177)] = {64,0}, + [I(146,177)] = {64,0}, + [I(147,177)] = {64,0}, + [I(148,177)] = {64,0}, + [I(149,177)] = {64,0}, + [I(150,177)] = {64,0}, + [I(151,177)] = {64,0}, + [I(152,177)] = {64,0}, + [I(153,177)] = {64,0}, + [I(154,177)] = {64,0}, + [I(155,177)] = {64,0}, + [I(156,177)] = {64,0}, + [I(157,177)] = {64,0}, + [I(158,177)] = {64,0}, + [I(159,177)] = {64,0}, + [I(160,177)] = {64,0}, + [I(161,177)] = {64,0}, + [I(162,177)] = {64,0}, + [I(163,177)] = {64,0}, + [I(164,177)] = {64,0}, + [I(165,177)] = {64,0}, + [I(166,177)] = {64,0}, + [I(167,177)] = {64,0}, + [I(168,177)] = {64,0}, + [I(169,177)] = {64,0}, + [I(170,177)] = {64,0}, + [I(171,177)] = {64,0}, + [I(172,177)] = {64,0}, + [I(173,177)] = {64,0}, + [I(174,177)] = {64,0}, + [I(175,177)] = {64,0}, + [I(176,177)] = {64,0}, + [I(177,177)] = {64,0}, + [I(178,177)] = {64,0}, + [I(179,177)] = {64,0}, + [I(180,177)] = {64,0}, + [I(181,177)] = {64,0}, + [I(182,177)] = {64,0}, + [I(183,177)] = {64,0}, + [I(184,177)] = {64,0}, + [I(185,177)] = {64,0}, + [I(186,177)] = {64,0}, + [I(187,177)] = {64,0}, + [I(188,177)] = {64,0}, + [I(189,177)] = {64,0}, + [I(190,177)] = {64,0}, + [I(191,177)] = {64,0}, + [I(192,177)] = {64,0}, + [I(193,177)] = {64,0}, + [I(194,177)] = {64,0}, + [I(195,177)] = {64,0}, + [I(196,177)] = {64,0}, + [I(197,177)] = {64,0}, + [I(198,177)] = {64,0}, + [I(199,177)] = {64,0}, + [I(200,177)] = {64,0}, + [I(201,177)] = {64,0}, + [I(202,177)] = {64,0}, + [I(203,177)] = {64,0}, + [I(204,177)] = {64,0}, + [I(205,177)] = {64,0}, + [I(206,177)] = {64,0}, + [I(207,177)] = {64,0}, + [I(208,177)] = {64,0}, + [I(209,177)] = {64,0}, + [I(210,177)] = {64,0}, + [I(211,177)] = {64,0}, + [I(212,177)] = {64,0}, + [I(213,177)] = {64,0}, + [I(214,177)] = {64,0}, + [I(215,177)] = {64,0}, + [I(216,177)] = {64,0}, + [I(217,177)] = {64,0}, + [I(218,177)] = {64,0}, + [I(219,177)] = {64,0}, + [I(220,177)] = {64,0}, + [I(221,177)] = {64,0}, + [I(222,177)] = {64,0}, + [I(223,177)] = {64,0}, + [I(224,177)] = {64,0}, + [I(225,177)] = {64,0}, + [I(226,177)] = {64,0}, + [I(227,177)] = {64,0}, + [I(228,177)] = {64,0}, + [I(229,177)] = {64,0}, + [I(230,177)] = {64,0}, + [I(231,177)] = {64,0}, + [I(232,177)] = {64,0}, + [I(233,177)] = {64,0}, + [I(234,177)] = {64,0}, + [I(235,177)] = {64,0}, + [I(236,177)] = {64,0}, + [I(237,177)] = {64,0}, + [I(238,177)] = {64,0}, + [I(239,177)] = {64,0}, + [I(240,177)] = {64,0}, + [I(241,177)] = {64,0}, + [I(242,177)] = {64,0}, + [I(243,177)] = {64,0}, + [I(244,177)] = {64,0}, + [I(245,177)] = {64,0}, + [I(246,177)] = {64,0}, + [I(247,177)] = {64,0}, + [I(248,177)] = {64,0}, + [I(249,177)] = {64,0}, + [I(250,177)] = {64,0}, + [I(251,177)] = {64,0}, + [I(252,177)] = {64,0}, + [I(253,177)] = {64,0}, + [I(254,177)] = {64,0}, + [I(255,177)] = {64,0}, + [I(0,178)] = {64,0}, + [I(1,178)] = {64,0}, + [I(2,178)] = {64,0}, + [I(3,178)] = {64,0}, + [I(4,178)] = {64,0}, + [I(5,178)] = {64,0}, + [I(6,178)] = {64,0}, + [I(7,178)] = {64,0}, + [I(8,178)] = {64,0}, + [I(9,178)] = {64,0}, + [I(10,178)] = {64,0}, + [I(11,178)] = {64,0}, + [I(12,178)] = {64,0}, + [I(13,178)] = {64,0}, + [I(14,178)] = {64,0}, + [I(15,178)] = {64,0}, + [I(16,178)] = {64,0}, + [I(17,178)] = {64,0}, + [I(18,178)] = {64,0}, + [I(19,178)] = {64,0}, + [I(20,178)] = {64,0}, + [I(21,178)] = {64,0}, + [I(22,178)] = {64,0}, + [I(23,178)] = {64,0}, + [I(24,178)] = {64,0}, + [I(25,178)] = {64,0}, + [I(26,178)] = {64,0}, + [I(27,178)] = {64,0}, + [I(28,178)] = {64,0}, + [I(29,178)] = {64,0}, + [I(30,178)] = {64,0}, + [I(31,178)] = {64,0}, + [I(32,178)] = {28,0x53FFFE0}, + [I(33,178)] = {X32,0xFE3FFFE0}, + [I(34,178)] = {X32,0xFE7FFFE0}, + [I(35,178)] = {64,0}, + [I(36,178)] = {64,0}, + [I(37,178)] = {28,0x57FFFE0}, + [I(38,178)] = {30,0x3E3FFFE0}, + [I(39,178)] = {64,0}, + [I(40,178)] = {X32,0xFEBFFFE0}, + [I(41,178)] = {X32,0xFEFFFFE0}, + [I(42,178)] = {30,0x3E7FFFE0}, + [I(43,178)] = {64,0}, + [I(44,178)] = {30,0x3EBFFFE0}, + [I(45,178)] = {28,0x5BFFFE0}, + [I(46,178)] = {28,0x5FFFFE0}, + [I(47,178)] = {28,0x63FFFE0}, + [I(48,178)] = {27,0x3FFFE0}, + [I(49,178)] = {27,0x7FFFE0}, + [I(50,178)] = {27,0xBFFFE0}, + [I(51,178)] = {28,0x67FFFE0}, + [I(52,178)] = {28,0x6BFFFE0}, + [I(53,178)] = {28,0x6FFFFE0}, + [I(54,178)] = {28,0x73FFFE0}, + [I(55,178)] = {28,0x77FFFE0}, + [I(56,178)] = {28,0x7BFFFE0}, + [I(57,178)] = {28,0x7FFFFE0}, + [I(58,178)] = {29,0x173FFFE0}, + [I(59,178)] = {30,0x3EFFFFE0}, + [I(60,178)] = {64,0}, + [I(61,178)] = {28,0x83FFFE0}, + [I(62,178)] = {64,0}, + [I(63,178)] = {X32,0xFF3FFFE0}, + [I(64,178)] = {64,0}, + [I(65,178)] = {28,0x87FFFE0}, + [I(66,178)] = {29,0x177FFFE0}, + [I(67,178)] = {29,0x17BFFFE0}, + [I(68,178)] = {29,0x17FFFFE0}, + [I(69,178)] = {29,0x183FFFE0}, + [I(70,178)] = {29,0x187FFFE0}, + [I(71,178)] = {29,0x18BFFFE0}, + [I(72,178)] = {29,0x18FFFFE0}, + [I(73,178)] = {29,0x193FFFE0}, + [I(74,178)] = {29,0x197FFFE0}, + [I(75,178)] = {29,0x19BFFFE0}, + [I(76,178)] = {29,0x19FFFFE0}, + [I(77,178)] = {29,0x1A3FFFE0}, + [I(78,178)] = {29,0x1A7FFFE0}, + [I(79,178)] = {29,0x1ABFFFE0}, + [I(80,178)] = {29,0x1AFFFFE0}, + [I(81,178)] = {29,0x1B3FFFE0}, + [I(82,178)] = {29,0x1B7FFFE0}, + [I(83,178)] = {29,0x1BBFFFE0}, + [I(84,178)] = {29,0x1BFFFFE0}, + [I(85,178)] = {29,0x1C3FFFE0}, + [I(86,178)] = {29,0x1C7FFFE0}, + [I(87,178)] = {29,0x1CBFFFE0}, + [I(88,178)] = {30,0x3F3FFFE0}, + [I(89,178)] = {29,0x1CFFFFE0}, + [I(90,178)] = {30,0x3F7FFFE0}, + [I(91,178)] = {64,0}, + [I(92,178)] = {64,0}, + [I(93,178)] = {64,0}, + [I(94,178)] = {64,0}, + [I(95,178)] = {28,0x8BFFFE0}, + [I(96,178)] = {64,0}, + [I(97,178)] = {27,0xFFFFE0}, + [I(98,178)] = {28,0x8FFFFE0}, + [I(99,178)] = {27,0x13FFFE0}, + [I(100,178)] = {28,0x93FFFE0}, + [I(101,178)] = {27,0x17FFFE0}, + [I(102,178)] = {28,0x97FFFE0}, + [I(103,178)] = {28,0x9BFFFE0}, + [I(104,178)] = {28,0x9FFFFE0}, + [I(105,178)] = {27,0x1BFFFE0}, + [I(106,178)] = {29,0x1D3FFFE0}, + [I(107,178)] = {29,0x1D7FFFE0}, + [I(108,178)] = {28,0xA3FFFE0}, + [I(109,178)] = {28,0xA7FFFE0}, + [I(110,178)] = {28,0xABFFFE0}, + [I(111,178)] = {27,0x1FFFFE0}, + [I(112,178)] = {28,0xAFFFFE0}, + [I(113,178)] = {29,0x1DBFFFE0}, + [I(114,178)] = {28,0xB3FFFE0}, + [I(115,178)] = {27,0x23FFFE0}, + [I(116,178)] = {27,0x27FFFE0}, + [I(117,178)] = {28,0xB7FFFE0}, + [I(118,178)] = {29,0x1DFFFFE0}, + [I(119,178)] = {29,0x1E3FFFE0}, + [I(120,178)] = {29,0x1E7FFFE0}, + [I(121,178)] = {29,0x1EBFFFE0}, + [I(122,178)] = {29,0x1EFFFFE0}, + [I(123,178)] = {64,0}, + [I(124,178)] = {64,0}, + [I(125,178)] = {64,0}, + [I(126,178)] = {64,0}, + [I(127,178)] = {64,0}, + [I(128,178)] = {64,0}, + [I(129,178)] = {64,0}, + [I(130,178)] = {64,0}, + [I(131,178)] = {64,0}, + [I(132,178)] = {64,0}, + [I(133,178)] = {64,0}, + [I(134,178)] = {64,0}, + [I(135,178)] = {64,0}, + [I(136,178)] = {64,0}, + [I(137,178)] = {64,0}, + [I(138,178)] = {64,0}, + [I(139,178)] = {64,0}, + [I(140,178)] = {64,0}, + [I(141,178)] = {64,0}, + [I(142,178)] = {64,0}, + [I(143,178)] = {64,0}, + [I(144,178)] = {64,0}, + [I(145,178)] = {64,0}, + [I(146,178)] = {64,0}, + [I(147,178)] = {64,0}, + [I(148,178)] = {64,0}, + [I(149,178)] = {64,0}, + [I(150,178)] = {64,0}, + [I(151,178)] = {64,0}, + [I(152,178)] = {64,0}, + [I(153,178)] = {64,0}, + [I(154,178)] = {64,0}, + [I(155,178)] = {64,0}, + [I(156,178)] = {64,0}, + [I(157,178)] = {64,0}, + [I(158,178)] = {64,0}, + [I(159,178)] = {64,0}, + [I(160,178)] = {64,0}, + [I(161,178)] = {64,0}, + [I(162,178)] = {64,0}, + [I(163,178)] = {64,0}, + [I(164,178)] = {64,0}, + [I(165,178)] = {64,0}, + [I(166,178)] = {64,0}, + [I(167,178)] = {64,0}, + [I(168,178)] = {64,0}, + [I(169,178)] = {64,0}, + [I(170,178)] = {64,0}, + [I(171,178)] = {64,0}, + [I(172,178)] = {64,0}, + [I(173,178)] = {64,0}, + [I(174,178)] = {64,0}, + [I(175,178)] = {64,0}, + [I(176,178)] = {64,0}, + [I(177,178)] = {64,0}, + [I(178,178)] = {64,0}, + [I(179,178)] = {64,0}, + [I(180,178)] = {64,0}, + [I(181,178)] = {64,0}, + [I(182,178)] = {64,0}, + [I(183,178)] = {64,0}, + [I(184,178)] = {64,0}, + [I(185,178)] = {64,0}, + [I(186,178)] = {64,0}, + [I(187,178)] = {64,0}, + [I(188,178)] = {64,0}, + [I(189,178)] = {64,0}, + [I(190,178)] = {64,0}, + [I(191,178)] = {64,0}, + [I(192,178)] = {64,0}, + [I(193,178)] = {64,0}, + [I(194,178)] = {64,0}, + [I(195,178)] = {64,0}, + [I(196,178)] = {64,0}, + [I(197,178)] = {64,0}, + [I(198,178)] = {64,0}, + [I(199,178)] = {64,0}, + [I(200,178)] = {64,0}, + [I(201,178)] = {64,0}, + [I(202,178)] = {64,0}, + [I(203,178)] = {64,0}, + [I(204,178)] = {64,0}, + [I(205,178)] = {64,0}, + [I(206,178)] = {64,0}, + [I(207,178)] = {64,0}, + [I(208,178)] = {64,0}, + [I(209,178)] = {64,0}, + [I(210,178)] = {64,0}, + [I(211,178)] = {64,0}, + [I(212,178)] = {64,0}, + [I(213,178)] = {64,0}, + [I(214,178)] = {64,0}, + [I(215,178)] = {64,0}, + [I(216,178)] = {64,0}, + [I(217,178)] = {64,0}, + [I(218,178)] = {64,0}, + [I(219,178)] = {64,0}, + [I(220,178)] = {64,0}, + [I(221,178)] = {64,0}, + [I(222,178)] = {64,0}, + [I(223,178)] = {64,0}, + [I(224,178)] = {64,0}, + [I(225,178)] = {64,0}, + [I(226,178)] = {64,0}, + [I(227,178)] = {64,0}, + [I(228,178)] = {64,0}, + [I(229,178)] = {64,0}, + [I(230,178)] = {64,0}, + [I(231,178)] = {64,0}, + [I(232,178)] = {64,0}, + [I(233,178)] = {64,0}, + [I(234,178)] = {64,0}, + [I(235,178)] = {64,0}, + [I(236,178)] = {64,0}, + [I(237,178)] = {64,0}, + [I(238,178)] = {64,0}, + [I(239,178)] = {64,0}, + [I(240,178)] = {64,0}, + [I(241,178)] = {64,0}, + [I(242,178)] = {64,0}, + [I(243,178)] = {64,0}, + [I(244,178)] = {64,0}, + [I(245,178)] = {64,0}, + [I(246,178)] = {64,0}, + [I(247,178)] = {64,0}, + [I(248,178)] = {64,0}, + [I(249,178)] = {64,0}, + [I(250,178)] = {64,0}, + [I(251,178)] = {64,0}, + [I(252,178)] = {64,0}, + [I(253,178)] = {64,0}, + [I(254,178)] = {64,0}, + [I(255,178)] = {64,0}, + [I(0,179)] = {64,0}, + [I(1,179)] = {64,0}, + [I(2,179)] = {64,0}, + [I(3,179)] = {64,0}, + [I(4,179)] = {64,0}, + [I(5,179)] = {64,0}, + [I(6,179)] = {64,0}, + [I(7,179)] = {64,0}, + [I(8,179)] = {64,0}, + [I(9,179)] = {64,0}, + [I(10,179)] = {64,0}, + [I(11,179)] = {64,0}, + [I(12,179)] = {64,0}, + [I(13,179)] = {64,0}, + [I(14,179)] = {64,0}, + [I(15,179)] = {64,0}, + [I(16,179)] = {64,0}, + [I(17,179)] = {64,0}, + [I(18,179)] = {64,0}, + [I(19,179)] = {64,0}, + [I(20,179)] = {64,0}, + [I(21,179)] = {64,0}, + [I(22,179)] = {64,0}, + [I(23,179)] = {64,0}, + [I(24,179)] = {64,0}, + [I(25,179)] = {64,0}, + [I(26,179)] = {64,0}, + [I(27,179)] = {64,0}, + [I(28,179)] = {64,0}, + [I(29,179)] = {64,0}, + [I(30,179)] = {64,0}, + [I(31,179)] = {64,0}, + [I(32,179)] = {27,0x29FFFE2}, + [I(33,179)] = {31,0x7F1FFFE2}, + [I(34,179)] = {31,0x7F3FFFE2}, + [I(35,179)] = {64,0}, + [I(36,179)] = {64,0}, + [I(37,179)] = {27,0x2BFFFE2}, + [I(38,179)] = {29,0x1F1FFFE2}, + [I(39,179)] = {X32,0xFF5FFFE2}, + [I(40,179)] = {31,0x7F5FFFE2}, + [I(41,179)] = {31,0x7F7FFFE2}, + [I(42,179)] = {29,0x1F3FFFE2}, + [I(43,179)] = {X32,0xFF7FFFE2}, + [I(44,179)] = {29,0x1F5FFFE2}, + [I(45,179)] = {27,0x2DFFFE2}, + [I(46,179)] = {27,0x2FFFFE2}, + [I(47,179)] = {27,0x31FFFE2}, + [I(48,179)] = {26,0x1FFFE2}, + [I(49,179)] = {26,0x3FFFE2}, + [I(50,179)] = {26,0x5FFFE2}, + [I(51,179)] = {27,0x33FFFE2}, + [I(52,179)] = {27,0x35FFFE2}, + [I(53,179)] = {27,0x37FFFE2}, + [I(54,179)] = {27,0x39FFFE2}, + [I(55,179)] = {27,0x3BFFFE2}, + [I(56,179)] = {27,0x3DFFFE2}, + [I(57,179)] = {27,0x3FFFFE2}, + [I(58,179)] = {28,0xB9FFFE2}, + [I(59,179)] = {29,0x1F7FFFE2}, + [I(60,179)] = {64,0}, + [I(61,179)] = {27,0x41FFFE2}, + [I(62,179)] = {64,0}, + [I(63,179)] = {31,0x7F9FFFE2}, + [I(64,179)] = {64,0}, + [I(65,179)] = {27,0x43FFFE2}, + [I(66,179)] = {28,0xBBFFFE2}, + [I(67,179)] = {28,0xBDFFFE2}, + [I(68,179)] = {28,0xBFFFFE2}, + [I(69,179)] = {28,0xC1FFFE2}, + [I(70,179)] = {28,0xC3FFFE2}, + [I(71,179)] = {28,0xC5FFFE2}, + [I(72,179)] = {28,0xC7FFFE2}, + [I(73,179)] = {28,0xC9FFFE2}, + [I(74,179)] = {28,0xCBFFFE2}, + [I(75,179)] = {28,0xCDFFFE2}, + [I(76,179)] = {28,0xCFFFFE2}, + [I(77,179)] = {28,0xD1FFFE2}, + [I(78,179)] = {28,0xD3FFFE2}, + [I(79,179)] = {28,0xD5FFFE2}, + [I(80,179)] = {28,0xD7FFFE2}, + [I(81,179)] = {28,0xD9FFFE2}, + [I(82,179)] = {28,0xDBFFFE2}, + [I(83,179)] = {28,0xDDFFFE2}, + [I(84,179)] = {28,0xDFFFFE2}, + [I(85,179)] = {28,0xE1FFFE2}, + [I(86,179)] = {28,0xE3FFFE2}, + [I(87,179)] = {28,0xE5FFFE2}, + [I(88,179)] = {29,0x1F9FFFE2}, + [I(89,179)] = {28,0xE7FFFE2}, + [I(90,179)] = {29,0x1FBFFFE2}, + [I(91,179)] = {64,0}, + [I(92,179)] = {64,0}, + [I(93,179)] = {64,0}, + [I(94,179)] = {64,0}, + [I(95,179)] = {27,0x45FFFE2}, + [I(96,179)] = {64,0}, + [I(97,179)] = {26,0x7FFFE2}, + [I(98,179)] = {27,0x47FFFE2}, + [I(99,179)] = {26,0x9FFFE2}, + [I(100,179)] = {27,0x49FFFE2}, + [I(101,179)] = {26,0xBFFFE2}, + [I(102,179)] = {27,0x4BFFFE2}, + [I(103,179)] = {27,0x4DFFFE2}, + [I(104,179)] = {27,0x4FFFFE2}, + [I(105,179)] = {26,0xDFFFE2}, + [I(106,179)] = {28,0xE9FFFE2}, + [I(107,179)] = {28,0xEBFFFE2}, + [I(108,179)] = {27,0x51FFFE2}, + [I(109,179)] = {27,0x53FFFE2}, + [I(110,179)] = {27,0x55FFFE2}, + [I(111,179)] = {26,0xFFFFE2}, + [I(112,179)] = {27,0x57FFFE2}, + [I(113,179)] = {28,0xEDFFFE2}, + [I(114,179)] = {27,0x59FFFE2}, + [I(115,179)] = {26,0x11FFFE2}, + [I(116,179)] = {26,0x13FFFE2}, + [I(117,179)] = {27,0x5BFFFE2}, + [I(118,179)] = {28,0xEFFFFE2}, + [I(119,179)] = {28,0xF1FFFE2}, + [I(120,179)] = {28,0xF3FFFE2}, + [I(121,179)] = {28,0xF5FFFE2}, + [I(122,179)] = {28,0xF7FFFE2}, + [I(123,179)] = {64,0}, + [I(124,179)] = {X32,0xFF9FFFE2}, + [I(125,179)] = {64,0}, + [I(126,179)] = {64,0}, + [I(127,179)] = {64,0}, + [I(128,179)] = {64,0}, + [I(129,179)] = {64,0}, + [I(130,179)] = {64,0}, + [I(131,179)] = {64,0}, + [I(132,179)] = {64,0}, + [I(133,179)] = {64,0}, + [I(134,179)] = {64,0}, + [I(135,179)] = {64,0}, + [I(136,179)] = {64,0}, + [I(137,179)] = {64,0}, + [I(138,179)] = {64,0}, + [I(139,179)] = {64,0}, + [I(140,179)] = {64,0}, + [I(141,179)] = {64,0}, + [I(142,179)] = {64,0}, + [I(143,179)] = {64,0}, + [I(144,179)] = {64,0}, + [I(145,179)] = {64,0}, + [I(146,179)] = {64,0}, + [I(147,179)] = {64,0}, + [I(148,179)] = {64,0}, + [I(149,179)] = {64,0}, + [I(150,179)] = {64,0}, + [I(151,179)] = {64,0}, + [I(152,179)] = {64,0}, + [I(153,179)] = {64,0}, + [I(154,179)] = {64,0}, + [I(155,179)] = {64,0}, + [I(156,179)] = {64,0}, + [I(157,179)] = {64,0}, + [I(158,179)] = {64,0}, + [I(159,179)] = {64,0}, + [I(160,179)] = {64,0}, + [I(161,179)] = {64,0}, + [I(162,179)] = {64,0}, + [I(163,179)] = {64,0}, + [I(164,179)] = {64,0}, + [I(165,179)] = {64,0}, + [I(166,179)] = {64,0}, + [I(167,179)] = {64,0}, + [I(168,179)] = {64,0}, + [I(169,179)] = {64,0}, + [I(170,179)] = {64,0}, + [I(171,179)] = {64,0}, + [I(172,179)] = {64,0}, + [I(173,179)] = {64,0}, + [I(174,179)] = {64,0}, + [I(175,179)] = {64,0}, + [I(176,179)] = {64,0}, + [I(177,179)] = {64,0}, + [I(178,179)] = {64,0}, + [I(179,179)] = {64,0}, + [I(180,179)] = {64,0}, + [I(181,179)] = {64,0}, + [I(182,179)] = {64,0}, + [I(183,179)] = {64,0}, + [I(184,179)] = {64,0}, + [I(185,179)] = {64,0}, + [I(186,179)] = {64,0}, + [I(187,179)] = {64,0}, + [I(188,179)] = {64,0}, + [I(189,179)] = {64,0}, + [I(190,179)] = {64,0}, + [I(191,179)] = {64,0}, + [I(192,179)] = {64,0}, + [I(193,179)] = {64,0}, + [I(194,179)] = {64,0}, + [I(195,179)] = {64,0}, + [I(196,179)] = {64,0}, + [I(197,179)] = {64,0}, + [I(198,179)] = {64,0}, + [I(199,179)] = {64,0}, + [I(200,179)] = {64,0}, + [I(201,179)] = {64,0}, + [I(202,179)] = {64,0}, + [I(203,179)] = {64,0}, + [I(204,179)] = {64,0}, + [I(205,179)] = {64,0}, + [I(206,179)] = {64,0}, + [I(207,179)] = {64,0}, + [I(208,179)] = {64,0}, + [I(209,179)] = {64,0}, + [I(210,179)] = {64,0}, + [I(211,179)] = {64,0}, + [I(212,179)] = {64,0}, + [I(213,179)] = {64,0}, + [I(214,179)] = {64,0}, + [I(215,179)] = {64,0}, + [I(216,179)] = {64,0}, + [I(217,179)] = {64,0}, + [I(218,179)] = {64,0}, + [I(219,179)] = {64,0}, + [I(220,179)] = {64,0}, + [I(221,179)] = {64,0}, + [I(222,179)] = {64,0}, + [I(223,179)] = {64,0}, + [I(224,179)] = {64,0}, + [I(225,179)] = {64,0}, + [I(226,179)] = {64,0}, + [I(227,179)] = {64,0}, + [I(228,179)] = {64,0}, + [I(229,179)] = {64,0}, + [I(230,179)] = {64,0}, + [I(231,179)] = {64,0}, + [I(232,179)] = {64,0}, + [I(233,179)] = {64,0}, + [I(234,179)] = {64,0}, + [I(235,179)] = {64,0}, + [I(236,179)] = {64,0}, + [I(237,179)] = {64,0}, + [I(238,179)] = {64,0}, + [I(239,179)] = {64,0}, + [I(240,179)] = {64,0}, + [I(241,179)] = {64,0}, + [I(242,179)] = {64,0}, + [I(243,179)] = {64,0}, + [I(244,179)] = {64,0}, + [I(245,179)] = {64,0}, + [I(246,179)] = {64,0}, + [I(247,179)] = {64,0}, + [I(248,179)] = {64,0}, + [I(249,179)] = {64,0}, + [I(250,179)] = {64,0}, + [I(251,179)] = {64,0}, + [I(252,179)] = {64,0}, + [I(253,179)] = {64,0}, + [I(254,179)] = {64,0}, + [I(255,179)] = {64,0}, + [I(0,180)] = {64,0}, + [I(1,180)] = {64,0}, + [I(2,180)] = {64,0}, + [I(3,180)] = {64,0}, + [I(4,180)] = {64,0}, + [I(5,180)] = {64,0}, + [I(6,180)] = {64,0}, + [I(7,180)] = {64,0}, + [I(8,180)] = {64,0}, + [I(9,180)] = {64,0}, + [I(10,180)] = {64,0}, + [I(11,180)] = {64,0}, + [I(12,180)] = {64,0}, + [I(13,180)] = {64,0}, + [I(14,180)] = {64,0}, + [I(15,180)] = {64,0}, + [I(16,180)] = {64,0}, + [I(17,180)] = {64,0}, + [I(18,180)] = {64,0}, + [I(19,180)] = {64,0}, + [I(20,180)] = {64,0}, + [I(21,180)] = {64,0}, + [I(22,180)] = {64,0}, + [I(23,180)] = {64,0}, + [I(24,180)] = {64,0}, + [I(25,180)] = {64,0}, + [I(26,180)] = {64,0}, + [I(27,180)] = {64,0}, + [I(28,180)] = {64,0}, + [I(29,180)] = {64,0}, + [I(30,180)] = {64,0}, + [I(31,180)] = {64,0}, + [I(32,180)] = {29,0xA7FFFED}, + [I(33,180)] = {64,0}, + [I(34,180)] = {64,0}, + [I(35,180)] = {64,0}, + [I(36,180)] = {64,0}, + [I(37,180)] = {29,0xAFFFFED}, + [I(38,180)] = {31,0x7C7FFFED}, + [I(39,180)] = {64,0}, + [I(40,180)] = {64,0}, + [I(41,180)] = {64,0}, + [I(42,180)] = {31,0x7CFFFFED}, + [I(43,180)] = {64,0}, + [I(44,180)] = {31,0x7D7FFFED}, + [I(45,180)] = {29,0xB7FFFED}, + [I(46,180)] = {29,0xBFFFFED}, + [I(47,180)] = {29,0xC7FFFED}, + [I(48,180)] = {28,0x7FFFED}, + [I(49,180)] = {28,0xFFFFED}, + [I(50,180)] = {28,0x17FFFED}, + [I(51,180)] = {29,0xCFFFFED}, + [I(52,180)] = {29,0xD7FFFED}, + [I(53,180)] = {29,0xDFFFFED}, + [I(54,180)] = {29,0xE7FFFED}, + [I(55,180)] = {29,0xEFFFFED}, + [I(56,180)] = {29,0xF7FFFED}, + [I(57,180)] = {29,0xFFFFFED}, + [I(58,180)] = {30,0x2E7FFFED}, + [I(59,180)] = {31,0x7DFFFFED}, + [I(60,180)] = {64,0}, + [I(61,180)] = {29,0x107FFFED}, + [I(62,180)] = {64,0}, + [I(63,180)] = {64,0}, + [I(64,180)] = {64,0}, + [I(65,180)] = {29,0x10FFFFED}, + [I(66,180)] = {30,0x2EFFFFED}, + [I(67,180)] = {30,0x2F7FFFED}, + [I(68,180)] = {30,0x2FFFFFED}, + [I(69,180)] = {30,0x307FFFED}, + [I(70,180)] = {30,0x30FFFFED}, + [I(71,180)] = {30,0x317FFFED}, + [I(72,180)] = {30,0x31FFFFED}, + [I(73,180)] = {30,0x327FFFED}, + [I(74,180)] = {30,0x32FFFFED}, + [I(75,180)] = {30,0x337FFFED}, + [I(76,180)] = {30,0x33FFFFED}, + [I(77,180)] = {30,0x347FFFED}, + [I(78,180)] = {30,0x34FFFFED}, + [I(79,180)] = {30,0x357FFFED}, + [I(80,180)] = {30,0x35FFFFED}, + [I(81,180)] = {30,0x367FFFED}, + [I(82,180)] = {30,0x36FFFFED}, + [I(83,180)] = {30,0x377FFFED}, + [I(84,180)] = {30,0x37FFFFED}, + [I(85,180)] = {30,0x387FFFED}, + [I(86,180)] = {30,0x38FFFFED}, + [I(87,180)] = {30,0x397FFFED}, + [I(88,180)] = {31,0x7E7FFFED}, + [I(89,180)] = {30,0x39FFFFED}, + [I(90,180)] = {31,0x7EFFFFED}, + [I(91,180)] = {64,0}, + [I(92,180)] = {64,0}, + [I(93,180)] = {64,0}, + [I(94,180)] = {64,0}, + [I(95,180)] = {29,0x117FFFED}, + [I(96,180)] = {64,0}, + [I(97,180)] = {28,0x1FFFFED}, + [I(98,180)] = {29,0x11FFFFED}, + [I(99,180)] = {28,0x27FFFED}, + [I(100,180)] = {29,0x127FFFED}, + [I(101,180)] = {28,0x2FFFFED}, + [I(102,180)] = {29,0x12FFFFED}, + [I(103,180)] = {29,0x137FFFED}, + [I(104,180)] = {29,0x13FFFFED}, + [I(105,180)] = {28,0x37FFFED}, + [I(106,180)] = {30,0x3A7FFFED}, + [I(107,180)] = {30,0x3AFFFFED}, + [I(108,180)] = {29,0x147FFFED}, + [I(109,180)] = {29,0x14FFFFED}, + [I(110,180)] = {29,0x157FFFED}, + [I(111,180)] = {28,0x3FFFFED}, + [I(112,180)] = {29,0x15FFFFED}, + [I(113,180)] = {30,0x3B7FFFED}, + [I(114,180)] = {29,0x167FFFED}, + [I(115,180)] = {28,0x47FFFED}, + [I(116,180)] = {28,0x4FFFFED}, + [I(117,180)] = {29,0x16FFFFED}, + [I(118,180)] = {30,0x3BFFFFED}, + [I(119,180)] = {30,0x3C7FFFED}, + [I(120,180)] = {30,0x3CFFFFED}, + [I(121,180)] = {30,0x3D7FFFED}, + [I(122,180)] = {30,0x3DFFFFED}, + [I(123,180)] = {64,0}, + [I(124,180)] = {64,0}, + [I(125,180)] = {64,0}, + [I(126,180)] = {64,0}, + [I(127,180)] = {64,0}, + [I(128,180)] = {64,0}, + [I(129,180)] = {64,0}, + [I(130,180)] = {64,0}, + [I(131,180)] = {64,0}, + [I(132,180)] = {64,0}, + [I(133,180)] = {64,0}, + [I(134,180)] = {64,0}, + [I(135,180)] = {64,0}, + [I(136,180)] = {64,0}, + [I(137,180)] = {64,0}, + [I(138,180)] = {64,0}, + [I(139,180)] = {64,0}, + [I(140,180)] = {64,0}, + [I(141,180)] = {64,0}, + [I(142,180)] = {64,0}, + [I(143,180)] = {64,0}, + [I(144,180)] = {64,0}, + [I(145,180)] = {64,0}, + [I(146,180)] = {64,0}, + [I(147,180)] = {64,0}, + [I(148,180)] = {64,0}, + [I(149,180)] = {64,0}, + [I(150,180)] = {64,0}, + [I(151,180)] = {64,0}, + [I(152,180)] = {64,0}, + [I(153,180)] = {64,0}, + [I(154,180)] = {64,0}, + [I(155,180)] = {64,0}, + [I(156,180)] = {64,0}, + [I(157,180)] = {64,0}, + [I(158,180)] = {64,0}, + [I(159,180)] = {64,0}, + [I(160,180)] = {64,0}, + [I(161,180)] = {64,0}, + [I(162,180)] = {64,0}, + [I(163,180)] = {64,0}, + [I(164,180)] = {64,0}, + [I(165,180)] = {64,0}, + [I(166,180)] = {64,0}, + [I(167,180)] = {64,0}, + [I(168,180)] = {64,0}, + [I(169,180)] = {64,0}, + [I(170,180)] = {64,0}, + [I(171,180)] = {64,0}, + [I(172,180)] = {64,0}, + [I(173,180)] = {64,0}, + [I(174,180)] = {64,0}, + [I(175,180)] = {64,0}, + [I(176,180)] = {64,0}, + [I(177,180)] = {64,0}, + [I(178,180)] = {64,0}, + [I(179,180)] = {64,0}, + [I(180,180)] = {64,0}, + [I(181,180)] = {64,0}, + [I(182,180)] = {64,0}, + [I(183,180)] = {64,0}, + [I(184,180)] = {64,0}, + [I(185,180)] = {64,0}, + [I(186,180)] = {64,0}, + [I(187,180)] = {64,0}, + [I(188,180)] = {64,0}, + [I(189,180)] = {64,0}, + [I(190,180)] = {64,0}, + [I(191,180)] = {64,0}, + [I(192,180)] = {64,0}, + [I(193,180)] = {64,0}, + [I(194,180)] = {64,0}, + [I(195,180)] = {64,0}, + [I(196,180)] = {64,0}, + [I(197,180)] = {64,0}, + [I(198,180)] = {64,0}, + [I(199,180)] = {64,0}, + [I(200,180)] = {64,0}, + [I(201,180)] = {64,0}, + [I(202,180)] = {64,0}, + [I(203,180)] = {64,0}, + [I(204,180)] = {64,0}, + [I(205,180)] = {64,0}, + [I(206,180)] = {64,0}, + [I(207,180)] = {64,0}, + [I(208,180)] = {64,0}, + [I(209,180)] = {64,0}, + [I(210,180)] = {64,0}, + [I(211,180)] = {64,0}, + [I(212,180)] = {64,0}, + [I(213,180)] = {64,0}, + [I(214,180)] = {64,0}, + [I(215,180)] = {64,0}, + [I(216,180)] = {64,0}, + [I(217,180)] = {64,0}, + [I(218,180)] = {64,0}, + [I(219,180)] = {64,0}, + [I(220,180)] = {64,0}, + [I(221,180)] = {64,0}, + [I(222,180)] = {64,0}, + [I(223,180)] = {64,0}, + [I(224,180)] = {64,0}, + [I(225,180)] = {64,0}, + [I(226,180)] = {64,0}, + [I(227,180)] = {64,0}, + [I(228,180)] = {64,0}, + [I(229,180)] = {64,0}, + [I(230,180)] = {64,0}, + [I(231,180)] = {64,0}, + [I(232,180)] = {64,0}, + [I(233,180)] = {64,0}, + [I(234,180)] = {64,0}, + [I(235,180)] = {64,0}, + [I(236,180)] = {64,0}, + [I(237,180)] = {64,0}, + [I(238,180)] = {64,0}, + [I(239,180)] = {64,0}, + [I(240,180)] = {64,0}, + [I(241,180)] = {64,0}, + [I(242,180)] = {64,0}, + [I(243,180)] = {64,0}, + [I(244,180)] = {64,0}, + [I(245,180)] = {64,0}, + [I(246,180)] = {64,0}, + [I(247,180)] = {64,0}, + [I(248,180)] = {64,0}, + [I(249,180)] = {64,0}, + [I(250,180)] = {64,0}, + [I(251,180)] = {64,0}, + [I(252,180)] = {64,0}, + [I(253,180)] = {64,0}, + [I(254,180)] = {64,0}, + [I(255,180)] = {64,0}, + [I(0,181)] = {64,0}, + [I(1,181)] = {64,0}, + [I(2,181)] = {64,0}, + [I(3,181)] = {64,0}, + [I(4,181)] = {64,0}, + [I(5,181)] = {64,0}, + [I(6,181)] = {64,0}, + [I(7,181)] = {64,0}, + [I(8,181)] = {64,0}, + [I(9,181)] = {64,0}, + [I(10,181)] = {64,0}, + [I(11,181)] = {64,0}, + [I(12,181)] = {64,0}, + [I(13,181)] = {64,0}, + [I(14,181)] = {64,0}, + [I(15,181)] = {64,0}, + [I(16,181)] = {64,0}, + [I(17,181)] = {64,0}, + [I(18,181)] = {64,0}, + [I(19,181)] = {64,0}, + [I(20,181)] = {64,0}, + [I(21,181)] = {64,0}, + [I(22,181)] = {64,0}, + [I(23,181)] = {64,0}, + [I(24,181)] = {64,0}, + [I(25,181)] = {64,0}, + [I(26,181)] = {64,0}, + [I(27,181)] = {64,0}, + [I(28,181)] = {64,0}, + [I(29,181)] = {64,0}, + [I(30,181)] = {64,0}, + [I(31,181)] = {64,0}, + [I(32,181)] = {28,0x53FFFE1}, + [I(33,181)] = {X32,0xFE3FFFE1}, + [I(34,181)] = {X32,0xFE7FFFE1}, + [I(35,181)] = {64,0}, + [I(36,181)] = {64,0}, + [I(37,181)] = {28,0x57FFFE1}, + [I(38,181)] = {30,0x3E3FFFE1}, + [I(39,181)] = {64,0}, + [I(40,181)] = {X32,0xFEBFFFE1}, + [I(41,181)] = {X32,0xFEFFFFE1}, + [I(42,181)] = {30,0x3E7FFFE1}, + [I(43,181)] = {64,0}, + [I(44,181)] = {30,0x3EBFFFE1}, + [I(45,181)] = {28,0x5BFFFE1}, + [I(46,181)] = {28,0x5FFFFE1}, + [I(47,181)] = {28,0x63FFFE1}, + [I(48,181)] = {27,0x3FFFE1}, + [I(49,181)] = {27,0x7FFFE1}, + [I(50,181)] = {27,0xBFFFE1}, + [I(51,181)] = {28,0x67FFFE1}, + [I(52,181)] = {28,0x6BFFFE1}, + [I(53,181)] = {28,0x6FFFFE1}, + [I(54,181)] = {28,0x73FFFE1}, + [I(55,181)] = {28,0x77FFFE1}, + [I(56,181)] = {28,0x7BFFFE1}, + [I(57,181)] = {28,0x7FFFFE1}, + [I(58,181)] = {29,0x173FFFE1}, + [I(59,181)] = {30,0x3EFFFFE1}, + [I(60,181)] = {64,0}, + [I(61,181)] = {28,0x83FFFE1}, + [I(62,181)] = {64,0}, + [I(63,181)] = {X32,0xFF3FFFE1}, + [I(64,181)] = {64,0}, + [I(65,181)] = {28,0x87FFFE1}, + [I(66,181)] = {29,0x177FFFE1}, + [I(67,181)] = {29,0x17BFFFE1}, + [I(68,181)] = {29,0x17FFFFE1}, + [I(69,181)] = {29,0x183FFFE1}, + [I(70,181)] = {29,0x187FFFE1}, + [I(71,181)] = {29,0x18BFFFE1}, + [I(72,181)] = {29,0x18FFFFE1}, + [I(73,181)] = {29,0x193FFFE1}, + [I(74,181)] = {29,0x197FFFE1}, + [I(75,181)] = {29,0x19BFFFE1}, + [I(76,181)] = {29,0x19FFFFE1}, + [I(77,181)] = {29,0x1A3FFFE1}, + [I(78,181)] = {29,0x1A7FFFE1}, + [I(79,181)] = {29,0x1ABFFFE1}, + [I(80,181)] = {29,0x1AFFFFE1}, + [I(81,181)] = {29,0x1B3FFFE1}, + [I(82,181)] = {29,0x1B7FFFE1}, + [I(83,181)] = {29,0x1BBFFFE1}, + [I(84,181)] = {29,0x1BFFFFE1}, + [I(85,181)] = {29,0x1C3FFFE1}, + [I(86,181)] = {29,0x1C7FFFE1}, + [I(87,181)] = {29,0x1CBFFFE1}, + [I(88,181)] = {30,0x3F3FFFE1}, + [I(89,181)] = {29,0x1CFFFFE1}, + [I(90,181)] = {30,0x3F7FFFE1}, + [I(91,181)] = {64,0}, + [I(92,181)] = {64,0}, + [I(93,181)] = {64,0}, + [I(94,181)] = {64,0}, + [I(95,181)] = {28,0x8BFFFE1}, + [I(96,181)] = {64,0}, + [I(97,181)] = {27,0xFFFFE1}, + [I(98,181)] = {28,0x8FFFFE1}, + [I(99,181)] = {27,0x13FFFE1}, + [I(100,181)] = {28,0x93FFFE1}, + [I(101,181)] = {27,0x17FFFE1}, + [I(102,181)] = {28,0x97FFFE1}, + [I(103,181)] = {28,0x9BFFFE1}, + [I(104,181)] = {28,0x9FFFFE1}, + [I(105,181)] = {27,0x1BFFFE1}, + [I(106,181)] = {29,0x1D3FFFE1}, + [I(107,181)] = {29,0x1D7FFFE1}, + [I(108,181)] = {28,0xA3FFFE1}, + [I(109,181)] = {28,0xA7FFFE1}, + [I(110,181)] = {28,0xABFFFE1}, + [I(111,181)] = {27,0x1FFFFE1}, + [I(112,181)] = {28,0xAFFFFE1}, + [I(113,181)] = {29,0x1DBFFFE1}, + [I(114,181)] = {28,0xB3FFFE1}, + [I(115,181)] = {27,0x23FFFE1}, + [I(116,181)] = {27,0x27FFFE1}, + [I(117,181)] = {28,0xB7FFFE1}, + [I(118,181)] = {29,0x1DFFFFE1}, + [I(119,181)] = {29,0x1E3FFFE1}, + [I(120,181)] = {29,0x1E7FFFE1}, + [I(121,181)] = {29,0x1EBFFFE1}, + [I(122,181)] = {29,0x1EFFFFE1}, + [I(123,181)] = {64,0}, + [I(124,181)] = {64,0}, + [I(125,181)] = {64,0}, + [I(126,181)] = {64,0}, + [I(127,181)] = {64,0}, + [I(128,181)] = {64,0}, + [I(129,181)] = {64,0}, + [I(130,181)] = {64,0}, + [I(131,181)] = {64,0}, + [I(132,181)] = {64,0}, + [I(133,181)] = {64,0}, + [I(134,181)] = {64,0}, + [I(135,181)] = {64,0}, + [I(136,181)] = {64,0}, + [I(137,181)] = {64,0}, + [I(138,181)] = {64,0}, + [I(139,181)] = {64,0}, + [I(140,181)] = {64,0}, + [I(141,181)] = {64,0}, + [I(142,181)] = {64,0}, + [I(143,181)] = {64,0}, + [I(144,181)] = {64,0}, + [I(145,181)] = {64,0}, + [I(146,181)] = {64,0}, + [I(147,181)] = {64,0}, + [I(148,181)] = {64,0}, + [I(149,181)] = {64,0}, + [I(150,181)] = {64,0}, + [I(151,181)] = {64,0}, + [I(152,181)] = {64,0}, + [I(153,181)] = {64,0}, + [I(154,181)] = {64,0}, + [I(155,181)] = {64,0}, + [I(156,181)] = {64,0}, + [I(157,181)] = {64,0}, + [I(158,181)] = {64,0}, + [I(159,181)] = {64,0}, + [I(160,181)] = {64,0}, + [I(161,181)] = {64,0}, + [I(162,181)] = {64,0}, + [I(163,181)] = {64,0}, + [I(164,181)] = {64,0}, + [I(165,181)] = {64,0}, + [I(166,181)] = {64,0}, + [I(167,181)] = {64,0}, + [I(168,181)] = {64,0}, + [I(169,181)] = {64,0}, + [I(170,181)] = {64,0}, + [I(171,181)] = {64,0}, + [I(172,181)] = {64,0}, + [I(173,181)] = {64,0}, + [I(174,181)] = {64,0}, + [I(175,181)] = {64,0}, + [I(176,181)] = {64,0}, + [I(177,181)] = {64,0}, + [I(178,181)] = {64,0}, + [I(179,181)] = {64,0}, + [I(180,181)] = {64,0}, + [I(181,181)] = {64,0}, + [I(182,181)] = {64,0}, + [I(183,181)] = {64,0}, + [I(184,181)] = {64,0}, + [I(185,181)] = {64,0}, + [I(186,181)] = {64,0}, + [I(187,181)] = {64,0}, + [I(188,181)] = {64,0}, + [I(189,181)] = {64,0}, + [I(190,181)] = {64,0}, + [I(191,181)] = {64,0}, + [I(192,181)] = {64,0}, + [I(193,181)] = {64,0}, + [I(194,181)] = {64,0}, + [I(195,181)] = {64,0}, + [I(196,181)] = {64,0}, + [I(197,181)] = {64,0}, + [I(198,181)] = {64,0}, + [I(199,181)] = {64,0}, + [I(200,181)] = {64,0}, + [I(201,181)] = {64,0}, + [I(202,181)] = {64,0}, + [I(203,181)] = {64,0}, + [I(204,181)] = {64,0}, + [I(205,181)] = {64,0}, + [I(206,181)] = {64,0}, + [I(207,181)] = {64,0}, + [I(208,181)] = {64,0}, + [I(209,181)] = {64,0}, + [I(210,181)] = {64,0}, + [I(211,181)] = {64,0}, + [I(212,181)] = {64,0}, + [I(213,181)] = {64,0}, + [I(214,181)] = {64,0}, + [I(215,181)] = {64,0}, + [I(216,181)] = {64,0}, + [I(217,181)] = {64,0}, + [I(218,181)] = {64,0}, + [I(219,181)] = {64,0}, + [I(220,181)] = {64,0}, + [I(221,181)] = {64,0}, + [I(222,181)] = {64,0}, + [I(223,181)] = {64,0}, + [I(224,181)] = {64,0}, + [I(225,181)] = {64,0}, + [I(226,181)] = {64,0}, + [I(227,181)] = {64,0}, + [I(228,181)] = {64,0}, + [I(229,181)] = {64,0}, + [I(230,181)] = {64,0}, + [I(231,181)] = {64,0}, + [I(232,181)] = {64,0}, + [I(233,181)] = {64,0}, + [I(234,181)] = {64,0}, + [I(235,181)] = {64,0}, + [I(236,181)] = {64,0}, + [I(237,181)] = {64,0}, + [I(238,181)] = {64,0}, + [I(239,181)] = {64,0}, + [I(240,181)] = {64,0}, + [I(241,181)] = {64,0}, + [I(242,181)] = {64,0}, + [I(243,181)] = {64,0}, + [I(244,181)] = {64,0}, + [I(245,181)] = {64,0}, + [I(246,181)] = {64,0}, + [I(247,181)] = {64,0}, + [I(248,181)] = {64,0}, + [I(249,181)] = {64,0}, + [I(250,181)] = {64,0}, + [I(251,181)] = {64,0}, + [I(252,181)] = {64,0}, + [I(253,181)] = {64,0}, + [I(254,181)] = {64,0}, + [I(255,181)] = {64,0}, + [I(0,182)] = {64,0}, + [I(1,182)] = {64,0}, + [I(2,182)] = {64,0}, + [I(3,182)] = {64,0}, + [I(4,182)] = {64,0}, + [I(5,182)] = {64,0}, + [I(6,182)] = {64,0}, + [I(7,182)] = {64,0}, + [I(8,182)] = {64,0}, + [I(9,182)] = {64,0}, + [I(10,182)] = {64,0}, + [I(11,182)] = {64,0}, + [I(12,182)] = {64,0}, + [I(13,182)] = {64,0}, + [I(14,182)] = {64,0}, + [I(15,182)] = {64,0}, + [I(16,182)] = {64,0}, + [I(17,182)] = {64,0}, + [I(18,182)] = {64,0}, + [I(19,182)] = {64,0}, + [I(20,182)] = {64,0}, + [I(21,182)] = {64,0}, + [I(22,182)] = {64,0}, + [I(23,182)] = {64,0}, + [I(24,182)] = {64,0}, + [I(25,182)] = {64,0}, + [I(26,182)] = {64,0}, + [I(27,182)] = {64,0}, + [I(28,182)] = {64,0}, + [I(29,182)] = {64,0}, + [I(30,182)] = {64,0}, + [I(31,182)] = {64,0}, + [I(32,182)] = {29,0xA7FFFEE}, + [I(33,182)] = {64,0}, + [I(34,182)] = {64,0}, + [I(35,182)] = {64,0}, + [I(36,182)] = {64,0}, + [I(37,182)] = {29,0xAFFFFEE}, + [I(38,182)] = {31,0x7C7FFFEE}, + [I(39,182)] = {64,0}, + [I(40,182)] = {64,0}, + [I(41,182)] = {64,0}, + [I(42,182)] = {31,0x7CFFFFEE}, + [I(43,182)] = {64,0}, + [I(44,182)] = {31,0x7D7FFFEE}, + [I(45,182)] = {29,0xB7FFFEE}, + [I(46,182)] = {29,0xBFFFFEE}, + [I(47,182)] = {29,0xC7FFFEE}, + [I(48,182)] = {28,0x7FFFEE}, + [I(49,182)] = {28,0xFFFFEE}, + [I(50,182)] = {28,0x17FFFEE}, + [I(51,182)] = {29,0xCFFFFEE}, + [I(52,182)] = {29,0xD7FFFEE}, + [I(53,182)] = {29,0xDFFFFEE}, + [I(54,182)] = {29,0xE7FFFEE}, + [I(55,182)] = {29,0xEFFFFEE}, + [I(56,182)] = {29,0xF7FFFEE}, + [I(57,182)] = {29,0xFFFFFEE}, + [I(58,182)] = {30,0x2E7FFFEE}, + [I(59,182)] = {31,0x7DFFFFEE}, + [I(60,182)] = {64,0}, + [I(61,182)] = {29,0x107FFFEE}, + [I(62,182)] = {64,0}, + [I(63,182)] = {64,0}, + [I(64,182)] = {64,0}, + [I(65,182)] = {29,0x10FFFFEE}, + [I(66,182)] = {30,0x2EFFFFEE}, + [I(67,182)] = {30,0x2F7FFFEE}, + [I(68,182)] = {30,0x2FFFFFEE}, + [I(69,182)] = {30,0x307FFFEE}, + [I(70,182)] = {30,0x30FFFFEE}, + [I(71,182)] = {30,0x317FFFEE}, + [I(72,182)] = {30,0x31FFFFEE}, + [I(73,182)] = {30,0x327FFFEE}, + [I(74,182)] = {30,0x32FFFFEE}, + [I(75,182)] = {30,0x337FFFEE}, + [I(76,182)] = {30,0x33FFFFEE}, + [I(77,182)] = {30,0x347FFFEE}, + [I(78,182)] = {30,0x34FFFFEE}, + [I(79,182)] = {30,0x357FFFEE}, + [I(80,182)] = {30,0x35FFFFEE}, + [I(81,182)] = {30,0x367FFFEE}, + [I(82,182)] = {30,0x36FFFFEE}, + [I(83,182)] = {30,0x377FFFEE}, + [I(84,182)] = {30,0x37FFFFEE}, + [I(85,182)] = {30,0x387FFFEE}, + [I(86,182)] = {30,0x38FFFFEE}, + [I(87,182)] = {30,0x397FFFEE}, + [I(88,182)] = {31,0x7E7FFFEE}, + [I(89,182)] = {30,0x39FFFFEE}, + [I(90,182)] = {31,0x7EFFFFEE}, + [I(91,182)] = {64,0}, + [I(92,182)] = {64,0}, + [I(93,182)] = {64,0}, + [I(94,182)] = {64,0}, + [I(95,182)] = {29,0x117FFFEE}, + [I(96,182)] = {64,0}, + [I(97,182)] = {28,0x1FFFFEE}, + [I(98,182)] = {29,0x11FFFFEE}, + [I(99,182)] = {28,0x27FFFEE}, + [I(100,182)] = {29,0x127FFFEE}, + [I(101,182)] = {28,0x2FFFFEE}, + [I(102,182)] = {29,0x12FFFFEE}, + [I(103,182)] = {29,0x137FFFEE}, + [I(104,182)] = {29,0x13FFFFEE}, + [I(105,182)] = {28,0x37FFFEE}, + [I(106,182)] = {30,0x3A7FFFEE}, + [I(107,182)] = {30,0x3AFFFFEE}, + [I(108,182)] = {29,0x147FFFEE}, + [I(109,182)] = {29,0x14FFFFEE}, + [I(110,182)] = {29,0x157FFFEE}, + [I(111,182)] = {28,0x3FFFFEE}, + [I(112,182)] = {29,0x15FFFFEE}, + [I(113,182)] = {30,0x3B7FFFEE}, + [I(114,182)] = {29,0x167FFFEE}, + [I(115,182)] = {28,0x47FFFEE}, + [I(116,182)] = {28,0x4FFFFEE}, + [I(117,182)] = {29,0x16FFFFEE}, + [I(118,182)] = {30,0x3BFFFFEE}, + [I(119,182)] = {30,0x3C7FFFEE}, + [I(120,182)] = {30,0x3CFFFFEE}, + [I(121,182)] = {30,0x3D7FFFEE}, + [I(122,182)] = {30,0x3DFFFFEE}, + [I(123,182)] = {64,0}, + [I(124,182)] = {64,0}, + [I(125,182)] = {64,0}, + [I(126,182)] = {64,0}, + [I(127,182)] = {64,0}, + [I(128,182)] = {64,0}, + [I(129,182)] = {64,0}, + [I(130,182)] = {64,0}, + [I(131,182)] = {64,0}, + [I(132,182)] = {64,0}, + [I(133,182)] = {64,0}, + [I(134,182)] = {64,0}, + [I(135,182)] = {64,0}, + [I(136,182)] = {64,0}, + [I(137,182)] = {64,0}, + [I(138,182)] = {64,0}, + [I(139,182)] = {64,0}, + [I(140,182)] = {64,0}, + [I(141,182)] = {64,0}, + [I(142,182)] = {64,0}, + [I(143,182)] = {64,0}, + [I(144,182)] = {64,0}, + [I(145,182)] = {64,0}, + [I(146,182)] = {64,0}, + [I(147,182)] = {64,0}, + [I(148,182)] = {64,0}, + [I(149,182)] = {64,0}, + [I(150,182)] = {64,0}, + [I(151,182)] = {64,0}, + [I(152,182)] = {64,0}, + [I(153,182)] = {64,0}, + [I(154,182)] = {64,0}, + [I(155,182)] = {64,0}, + [I(156,182)] = {64,0}, + [I(157,182)] = {64,0}, + [I(158,182)] = {64,0}, + [I(159,182)] = {64,0}, + [I(160,182)] = {64,0}, + [I(161,182)] = {64,0}, + [I(162,182)] = {64,0}, + [I(163,182)] = {64,0}, + [I(164,182)] = {64,0}, + [I(165,182)] = {64,0}, + [I(166,182)] = {64,0}, + [I(167,182)] = {64,0}, + [I(168,182)] = {64,0}, + [I(169,182)] = {64,0}, + [I(170,182)] = {64,0}, + [I(171,182)] = {64,0}, + [I(172,182)] = {64,0}, + [I(173,182)] = {64,0}, + [I(174,182)] = {64,0}, + [I(175,182)] = {64,0}, + [I(176,182)] = {64,0}, + [I(177,182)] = {64,0}, + [I(178,182)] = {64,0}, + [I(179,182)] = {64,0}, + [I(180,182)] = {64,0}, + [I(181,182)] = {64,0}, + [I(182,182)] = {64,0}, + [I(183,182)] = {64,0}, + [I(184,182)] = {64,0}, + [I(185,182)] = {64,0}, + [I(186,182)] = {64,0}, + [I(187,182)] = {64,0}, + [I(188,182)] = {64,0}, + [I(189,182)] = {64,0}, + [I(190,182)] = {64,0}, + [I(191,182)] = {64,0}, + [I(192,182)] = {64,0}, + [I(193,182)] = {64,0}, + [I(194,182)] = {64,0}, + [I(195,182)] = {64,0}, + [I(196,182)] = {64,0}, + [I(197,182)] = {64,0}, + [I(198,182)] = {64,0}, + [I(199,182)] = {64,0}, + [I(200,182)] = {64,0}, + [I(201,182)] = {64,0}, + [I(202,182)] = {64,0}, + [I(203,182)] = {64,0}, + [I(204,182)] = {64,0}, + [I(205,182)] = {64,0}, + [I(206,182)] = {64,0}, + [I(207,182)] = {64,0}, + [I(208,182)] = {64,0}, + [I(209,182)] = {64,0}, + [I(210,182)] = {64,0}, + [I(211,182)] = {64,0}, + [I(212,182)] = {64,0}, + [I(213,182)] = {64,0}, + [I(214,182)] = {64,0}, + [I(215,182)] = {64,0}, + [I(216,182)] = {64,0}, + [I(217,182)] = {64,0}, + [I(218,182)] = {64,0}, + [I(219,182)] = {64,0}, + [I(220,182)] = {64,0}, + [I(221,182)] = {64,0}, + [I(222,182)] = {64,0}, + [I(223,182)] = {64,0}, + [I(224,182)] = {64,0}, + [I(225,182)] = {64,0}, + [I(226,182)] = {64,0}, + [I(227,182)] = {64,0}, + [I(228,182)] = {64,0}, + [I(229,182)] = {64,0}, + [I(230,182)] = {64,0}, + [I(231,182)] = {64,0}, + [I(232,182)] = {64,0}, + [I(233,182)] = {64,0}, + [I(234,182)] = {64,0}, + [I(235,182)] = {64,0}, + [I(236,182)] = {64,0}, + [I(237,182)] = {64,0}, + [I(238,182)] = {64,0}, + [I(239,182)] = {64,0}, + [I(240,182)] = {64,0}, + [I(241,182)] = {64,0}, + [I(242,182)] = {64,0}, + [I(243,182)] = {64,0}, + [I(244,182)] = {64,0}, + [I(245,182)] = {64,0}, + [I(246,182)] = {64,0}, + [I(247,182)] = {64,0}, + [I(248,182)] = {64,0}, + [I(249,182)] = {64,0}, + [I(250,182)] = {64,0}, + [I(251,182)] = {64,0}, + [I(252,182)] = {64,0}, + [I(253,182)] = {64,0}, + [I(254,182)] = {64,0}, + [I(255,182)] = {64,0}, + [I(0,183)] = {64,0}, + [I(1,183)] = {64,0}, + [I(2,183)] = {64,0}, + [I(3,183)] = {64,0}, + [I(4,183)] = {64,0}, + [I(5,183)] = {64,0}, + [I(6,183)] = {64,0}, + [I(7,183)] = {64,0}, + [I(8,183)] = {64,0}, + [I(9,183)] = {64,0}, + [I(10,183)] = {64,0}, + [I(11,183)] = {64,0}, + [I(12,183)] = {64,0}, + [I(13,183)] = {64,0}, + [I(14,183)] = {64,0}, + [I(15,183)] = {64,0}, + [I(16,183)] = {64,0}, + [I(17,183)] = {64,0}, + [I(18,183)] = {64,0}, + [I(19,183)] = {64,0}, + [I(20,183)] = {64,0}, + [I(21,183)] = {64,0}, + [I(22,183)] = {64,0}, + [I(23,183)] = {64,0}, + [I(24,183)] = {64,0}, + [I(25,183)] = {64,0}, + [I(26,183)] = {64,0}, + [I(27,183)] = {64,0}, + [I(28,183)] = {64,0}, + [I(29,183)] = {64,0}, + [I(30,183)] = {64,0}, + [I(31,183)] = {64,0}, + [I(32,183)] = {29,0xA7FFFEF}, + [I(33,183)] = {64,0}, + [I(34,183)] = {64,0}, + [I(35,183)] = {64,0}, + [I(36,183)] = {64,0}, + [I(37,183)] = {29,0xAFFFFEF}, + [I(38,183)] = {31,0x7C7FFFEF}, + [I(39,183)] = {64,0}, + [I(40,183)] = {64,0}, + [I(41,183)] = {64,0}, + [I(42,183)] = {31,0x7CFFFFEF}, + [I(43,183)] = {64,0}, + [I(44,183)] = {31,0x7D7FFFEF}, + [I(45,183)] = {29,0xB7FFFEF}, + [I(46,183)] = {29,0xBFFFFEF}, + [I(47,183)] = {29,0xC7FFFEF}, + [I(48,183)] = {28,0x7FFFEF}, + [I(49,183)] = {28,0xFFFFEF}, + [I(50,183)] = {28,0x17FFFEF}, + [I(51,183)] = {29,0xCFFFFEF}, + [I(52,183)] = {29,0xD7FFFEF}, + [I(53,183)] = {29,0xDFFFFEF}, + [I(54,183)] = {29,0xE7FFFEF}, + [I(55,183)] = {29,0xEFFFFEF}, + [I(56,183)] = {29,0xF7FFFEF}, + [I(57,183)] = {29,0xFFFFFEF}, + [I(58,183)] = {30,0x2E7FFFEF}, + [I(59,183)] = {31,0x7DFFFFEF}, + [I(60,183)] = {64,0}, + [I(61,183)] = {29,0x107FFFEF}, + [I(62,183)] = {64,0}, + [I(63,183)] = {64,0}, + [I(64,183)] = {64,0}, + [I(65,183)] = {29,0x10FFFFEF}, + [I(66,183)] = {30,0x2EFFFFEF}, + [I(67,183)] = {30,0x2F7FFFEF}, + [I(68,183)] = {30,0x2FFFFFEF}, + [I(69,183)] = {30,0x307FFFEF}, + [I(70,183)] = {30,0x30FFFFEF}, + [I(71,183)] = {30,0x317FFFEF}, + [I(72,183)] = {30,0x31FFFFEF}, + [I(73,183)] = {30,0x327FFFEF}, + [I(74,183)] = {30,0x32FFFFEF}, + [I(75,183)] = {30,0x337FFFEF}, + [I(76,183)] = {30,0x33FFFFEF}, + [I(77,183)] = {30,0x347FFFEF}, + [I(78,183)] = {30,0x34FFFFEF}, + [I(79,183)] = {30,0x357FFFEF}, + [I(80,183)] = {30,0x35FFFFEF}, + [I(81,183)] = {30,0x367FFFEF}, + [I(82,183)] = {30,0x36FFFFEF}, + [I(83,183)] = {30,0x377FFFEF}, + [I(84,183)] = {30,0x37FFFFEF}, + [I(85,183)] = {30,0x387FFFEF}, + [I(86,183)] = {30,0x38FFFFEF}, + [I(87,183)] = {30,0x397FFFEF}, + [I(88,183)] = {31,0x7E7FFFEF}, + [I(89,183)] = {30,0x39FFFFEF}, + [I(90,183)] = {31,0x7EFFFFEF}, + [I(91,183)] = {64,0}, + [I(92,183)] = {64,0}, + [I(93,183)] = {64,0}, + [I(94,183)] = {64,0}, + [I(95,183)] = {29,0x117FFFEF}, + [I(96,183)] = {64,0}, + [I(97,183)] = {28,0x1FFFFEF}, + [I(98,183)] = {29,0x11FFFFEF}, + [I(99,183)] = {28,0x27FFFEF}, + [I(100,183)] = {29,0x127FFFEF}, + [I(101,183)] = {28,0x2FFFFEF}, + [I(102,183)] = {29,0x12FFFFEF}, + [I(103,183)] = {29,0x137FFFEF}, + [I(104,183)] = {29,0x13FFFFEF}, + [I(105,183)] = {28,0x37FFFEF}, + [I(106,183)] = {30,0x3A7FFFEF}, + [I(107,183)] = {30,0x3AFFFFEF}, + [I(108,183)] = {29,0x147FFFEF}, + [I(109,183)] = {29,0x14FFFFEF}, + [I(110,183)] = {29,0x157FFFEF}, + [I(111,183)] = {28,0x3FFFFEF}, + [I(112,183)] = {29,0x15FFFFEF}, + [I(113,183)] = {30,0x3B7FFFEF}, + [I(114,183)] = {29,0x167FFFEF}, + [I(115,183)] = {28,0x47FFFEF}, + [I(116,183)] = {28,0x4FFFFEF}, + [I(117,183)] = {29,0x16FFFFEF}, + [I(118,183)] = {30,0x3BFFFFEF}, + [I(119,183)] = {30,0x3C7FFFEF}, + [I(120,183)] = {30,0x3CFFFFEF}, + [I(121,183)] = {30,0x3D7FFFEF}, + [I(122,183)] = {30,0x3DFFFFEF}, + [I(123,183)] = {64,0}, + [I(124,183)] = {64,0}, + [I(125,183)] = {64,0}, + [I(126,183)] = {64,0}, + [I(127,183)] = {64,0}, + [I(128,183)] = {64,0}, + [I(129,183)] = {64,0}, + [I(130,183)] = {64,0}, + [I(131,183)] = {64,0}, + [I(132,183)] = {64,0}, + [I(133,183)] = {64,0}, + [I(134,183)] = {64,0}, + [I(135,183)] = {64,0}, + [I(136,183)] = {64,0}, + [I(137,183)] = {64,0}, + [I(138,183)] = {64,0}, + [I(139,183)] = {64,0}, + [I(140,183)] = {64,0}, + [I(141,183)] = {64,0}, + [I(142,183)] = {64,0}, + [I(143,183)] = {64,0}, + [I(144,183)] = {64,0}, + [I(145,183)] = {64,0}, + [I(146,183)] = {64,0}, + [I(147,183)] = {64,0}, + [I(148,183)] = {64,0}, + [I(149,183)] = {64,0}, + [I(150,183)] = {64,0}, + [I(151,183)] = {64,0}, + [I(152,183)] = {64,0}, + [I(153,183)] = {64,0}, + [I(154,183)] = {64,0}, + [I(155,183)] = {64,0}, + [I(156,183)] = {64,0}, + [I(157,183)] = {64,0}, + [I(158,183)] = {64,0}, + [I(159,183)] = {64,0}, + [I(160,183)] = {64,0}, + [I(161,183)] = {64,0}, + [I(162,183)] = {64,0}, + [I(163,183)] = {64,0}, + [I(164,183)] = {64,0}, + [I(165,183)] = {64,0}, + [I(166,183)] = {64,0}, + [I(167,183)] = {64,0}, + [I(168,183)] = {64,0}, + [I(169,183)] = {64,0}, + [I(170,183)] = {64,0}, + [I(171,183)] = {64,0}, + [I(172,183)] = {64,0}, + [I(173,183)] = {64,0}, + [I(174,183)] = {64,0}, + [I(175,183)] = {64,0}, + [I(176,183)] = {64,0}, + [I(177,183)] = {64,0}, + [I(178,183)] = {64,0}, + [I(179,183)] = {64,0}, + [I(180,183)] = {64,0}, + [I(181,183)] = {64,0}, + [I(182,183)] = {64,0}, + [I(183,183)] = {64,0}, + [I(184,183)] = {64,0}, + [I(185,183)] = {64,0}, + [I(186,183)] = {64,0}, + [I(187,183)] = {64,0}, + [I(188,183)] = {64,0}, + [I(189,183)] = {64,0}, + [I(190,183)] = {64,0}, + [I(191,183)] = {64,0}, + [I(192,183)] = {64,0}, + [I(193,183)] = {64,0}, + [I(194,183)] = {64,0}, + [I(195,183)] = {64,0}, + [I(196,183)] = {64,0}, + [I(197,183)] = {64,0}, + [I(198,183)] = {64,0}, + [I(199,183)] = {64,0}, + [I(200,183)] = {64,0}, + [I(201,183)] = {64,0}, + [I(202,183)] = {64,0}, + [I(203,183)] = {64,0}, + [I(204,183)] = {64,0}, + [I(205,183)] = {64,0}, + [I(206,183)] = {64,0}, + [I(207,183)] = {64,0}, + [I(208,183)] = {64,0}, + [I(209,183)] = {64,0}, + [I(210,183)] = {64,0}, + [I(211,183)] = {64,0}, + [I(212,183)] = {64,0}, + [I(213,183)] = {64,0}, + [I(214,183)] = {64,0}, + [I(215,183)] = {64,0}, + [I(216,183)] = {64,0}, + [I(217,183)] = {64,0}, + [I(218,183)] = {64,0}, + [I(219,183)] = {64,0}, + [I(220,183)] = {64,0}, + [I(221,183)] = {64,0}, + [I(222,183)] = {64,0}, + [I(223,183)] = {64,0}, + [I(224,183)] = {64,0}, + [I(225,183)] = {64,0}, + [I(226,183)] = {64,0}, + [I(227,183)] = {64,0}, + [I(228,183)] = {64,0}, + [I(229,183)] = {64,0}, + [I(230,183)] = {64,0}, + [I(231,183)] = {64,0}, + [I(232,183)] = {64,0}, + [I(233,183)] = {64,0}, + [I(234,183)] = {64,0}, + [I(235,183)] = {64,0}, + [I(236,183)] = {64,0}, + [I(237,183)] = {64,0}, + [I(238,183)] = {64,0}, + [I(239,183)] = {64,0}, + [I(240,183)] = {64,0}, + [I(241,183)] = {64,0}, + [I(242,183)] = {64,0}, + [I(243,183)] = {64,0}, + [I(244,183)] = {64,0}, + [I(245,183)] = {64,0}, + [I(246,183)] = {64,0}, + [I(247,183)] = {64,0}, + [I(248,183)] = {64,0}, + [I(249,183)] = {64,0}, + [I(250,183)] = {64,0}, + [I(251,183)] = {64,0}, + [I(252,183)] = {64,0}, + [I(253,183)] = {64,0}, + [I(254,183)] = {64,0}, + [I(255,183)] = {64,0}, + [I(0,184)] = {64,0}, + [I(1,184)] = {64,0}, + [I(2,184)] = {64,0}, + [I(3,184)] = {64,0}, + [I(4,184)] = {64,0}, + [I(5,184)] = {64,0}, + [I(6,184)] = {64,0}, + [I(7,184)] = {64,0}, + [I(8,184)] = {64,0}, + [I(9,184)] = {64,0}, + [I(10,184)] = {64,0}, + [I(11,184)] = {64,0}, + [I(12,184)] = {64,0}, + [I(13,184)] = {64,0}, + [I(14,184)] = {64,0}, + [I(15,184)] = {64,0}, + [I(16,184)] = {64,0}, + [I(17,184)] = {64,0}, + [I(18,184)] = {64,0}, + [I(19,184)] = {64,0}, + [I(20,184)] = {64,0}, + [I(21,184)] = {64,0}, + [I(22,184)] = {64,0}, + [I(23,184)] = {64,0}, + [I(24,184)] = {64,0}, + [I(25,184)] = {64,0}, + [I(26,184)] = {64,0}, + [I(27,184)] = {64,0}, + [I(28,184)] = {64,0}, + [I(29,184)] = {64,0}, + [I(30,184)] = {64,0}, + [I(31,184)] = {64,0}, + [I(32,184)] = {26,0x14FFFEA}, + [I(33,184)] = {30,0x3F8FFFEA}, + [I(34,184)] = {30,0x3F9FFFEA}, + [I(35,184)] = {X32,0xFFAFFFEA}, + [I(36,184)] = {64,0}, + [I(37,184)] = {26,0x15FFFEA}, + [I(38,184)] = {28,0xF8FFFEA}, + [I(39,184)] = {31,0x7FAFFFEA}, + [I(40,184)] = {30,0x3FAFFFEA}, + [I(41,184)] = {30,0x3FBFFFEA}, + [I(42,184)] = {28,0xF9FFFEA}, + [I(43,184)] = {31,0x7FBFFFEA}, + [I(44,184)] = {28,0xFAFFFEA}, + [I(45,184)] = {26,0x16FFFEA}, + [I(46,184)] = {26,0x17FFFEA}, + [I(47,184)] = {26,0x18FFFEA}, + [I(48,184)] = {25,0xFFFEA}, + [I(49,184)] = {25,0x1FFFEA}, + [I(50,184)] = {25,0x2FFFEA}, + [I(51,184)] = {26,0x19FFFEA}, + [I(52,184)] = {26,0x1AFFFEA}, + [I(53,184)] = {26,0x1BFFFEA}, + [I(54,184)] = {26,0x1CFFFEA}, + [I(55,184)] = {26,0x1DFFFEA}, + [I(56,184)] = {26,0x1EFFFEA}, + [I(57,184)] = {26,0x1FFFFEA}, + [I(58,184)] = {27,0x5CFFFEA}, + [I(59,184)] = {28,0xFBFFFEA}, + [I(60,184)] = {64,0}, + [I(61,184)] = {26,0x20FFFEA}, + [I(62,184)] = {X32,0xFFBFFFEA}, + [I(63,184)] = {30,0x3FCFFFEA}, + [I(64,184)] = {64,0}, + [I(65,184)] = {26,0x21FFFEA}, + [I(66,184)] = {27,0x5DFFFEA}, + [I(67,184)] = {27,0x5EFFFEA}, + [I(68,184)] = {27,0x5FFFFEA}, + [I(69,184)] = {27,0x60FFFEA}, + [I(70,184)] = {27,0x61FFFEA}, + [I(71,184)] = {27,0x62FFFEA}, + [I(72,184)] = {27,0x63FFFEA}, + [I(73,184)] = {27,0x64FFFEA}, + [I(74,184)] = {27,0x65FFFEA}, + [I(75,184)] = {27,0x66FFFEA}, + [I(76,184)] = {27,0x67FFFEA}, + [I(77,184)] = {27,0x68FFFEA}, + [I(78,184)] = {27,0x69FFFEA}, + [I(79,184)] = {27,0x6AFFFEA}, + [I(80,184)] = {27,0x6BFFFEA}, + [I(81,184)] = {27,0x6CFFFEA}, + [I(82,184)] = {27,0x6DFFFEA}, + [I(83,184)] = {27,0x6EFFFEA}, + [I(84,184)] = {27,0x6FFFFEA}, + [I(85,184)] = {27,0x70FFFEA}, + [I(86,184)] = {27,0x71FFFEA}, + [I(87,184)] = {27,0x72FFFEA}, + [I(88,184)] = {28,0xFCFFFEA}, + [I(89,184)] = {27,0x73FFFEA}, + [I(90,184)] = {28,0xFDFFFEA}, + [I(91,184)] = {64,0}, + [I(92,184)] = {64,0}, + [I(93,184)] = {64,0}, + [I(94,184)] = {64,0}, + [I(95,184)] = {26,0x22FFFEA}, + [I(96,184)] = {64,0}, + [I(97,184)] = {25,0x3FFFEA}, + [I(98,184)] = {26,0x23FFFEA}, + [I(99,184)] = {25,0x4FFFEA}, + [I(100,184)] = {26,0x24FFFEA}, + [I(101,184)] = {25,0x5FFFEA}, + [I(102,184)] = {26,0x25FFFEA}, + [I(103,184)] = {26,0x26FFFEA}, + [I(104,184)] = {26,0x27FFFEA}, + [I(105,184)] = {25,0x6FFFEA}, + [I(106,184)] = {27,0x74FFFEA}, + [I(107,184)] = {27,0x75FFFEA}, + [I(108,184)] = {26,0x28FFFEA}, + [I(109,184)] = {26,0x29FFFEA}, + [I(110,184)] = {26,0x2AFFFEA}, + [I(111,184)] = {25,0x7FFFEA}, + [I(112,184)] = {26,0x2BFFFEA}, + [I(113,184)] = {27,0x76FFFEA}, + [I(114,184)] = {26,0x2CFFFEA}, + [I(115,184)] = {25,0x8FFFEA}, + [I(116,184)] = {25,0x9FFFEA}, + [I(117,184)] = {26,0x2DFFFEA}, + [I(118,184)] = {27,0x77FFFEA}, + [I(119,184)] = {27,0x78FFFEA}, + [I(120,184)] = {27,0x79FFFEA}, + [I(121,184)] = {27,0x7AFFFEA}, + [I(122,184)] = {27,0x7BFFFEA}, + [I(123,184)] = {64,0}, + [I(124,184)] = {31,0x7FCFFFEA}, + [I(125,184)] = {64,0}, + [I(126,184)] = {64,0}, + [I(127,184)] = {64,0}, + [I(128,184)] = {64,0}, + [I(129,184)] = {64,0}, + [I(130,184)] = {64,0}, + [I(131,184)] = {64,0}, + [I(132,184)] = {64,0}, + [I(133,184)] = {64,0}, + [I(134,184)] = {64,0}, + [I(135,184)] = {64,0}, + [I(136,184)] = {64,0}, + [I(137,184)] = {64,0}, + [I(138,184)] = {64,0}, + [I(139,184)] = {64,0}, + [I(140,184)] = {64,0}, + [I(141,184)] = {64,0}, + [I(142,184)] = {64,0}, + [I(143,184)] = {64,0}, + [I(144,184)] = {64,0}, + [I(145,184)] = {64,0}, + [I(146,184)] = {64,0}, + [I(147,184)] = {64,0}, + [I(148,184)] = {64,0}, + [I(149,184)] = {64,0}, + [I(150,184)] = {64,0}, + [I(151,184)] = {64,0}, + [I(152,184)] = {64,0}, + [I(153,184)] = {64,0}, + [I(154,184)] = {64,0}, + [I(155,184)] = {64,0}, + [I(156,184)] = {64,0}, + [I(157,184)] = {64,0}, + [I(158,184)] = {64,0}, + [I(159,184)] = {64,0}, + [I(160,184)] = {64,0}, + [I(161,184)] = {64,0}, + [I(162,184)] = {64,0}, + [I(163,184)] = {64,0}, + [I(164,184)] = {64,0}, + [I(165,184)] = {64,0}, + [I(166,184)] = {64,0}, + [I(167,184)] = {64,0}, + [I(168,184)] = {64,0}, + [I(169,184)] = {64,0}, + [I(170,184)] = {64,0}, + [I(171,184)] = {64,0}, + [I(172,184)] = {64,0}, + [I(173,184)] = {64,0}, + [I(174,184)] = {64,0}, + [I(175,184)] = {64,0}, + [I(176,184)] = {64,0}, + [I(177,184)] = {64,0}, + [I(178,184)] = {64,0}, + [I(179,184)] = {64,0}, + [I(180,184)] = {64,0}, + [I(181,184)] = {64,0}, + [I(182,184)] = {64,0}, + [I(183,184)] = {64,0}, + [I(184,184)] = {64,0}, + [I(185,184)] = {64,0}, + [I(186,184)] = {64,0}, + [I(187,184)] = {64,0}, + [I(188,184)] = {64,0}, + [I(189,184)] = {64,0}, + [I(190,184)] = {64,0}, + [I(191,184)] = {64,0}, + [I(192,184)] = {64,0}, + [I(193,184)] = {64,0}, + [I(194,184)] = {64,0}, + [I(195,184)] = {64,0}, + [I(196,184)] = {64,0}, + [I(197,184)] = {64,0}, + [I(198,184)] = {64,0}, + [I(199,184)] = {64,0}, + [I(200,184)] = {64,0}, + [I(201,184)] = {64,0}, + [I(202,184)] = {64,0}, + [I(203,184)] = {64,0}, + [I(204,184)] = {64,0}, + [I(205,184)] = {64,0}, + [I(206,184)] = {64,0}, + [I(207,184)] = {64,0}, + [I(208,184)] = {64,0}, + [I(209,184)] = {64,0}, + [I(210,184)] = {64,0}, + [I(211,184)] = {64,0}, + [I(212,184)] = {64,0}, + [I(213,184)] = {64,0}, + [I(214,184)] = {64,0}, + [I(215,184)] = {64,0}, + [I(216,184)] = {64,0}, + [I(217,184)] = {64,0}, + [I(218,184)] = {64,0}, + [I(219,184)] = {64,0}, + [I(220,184)] = {64,0}, + [I(221,184)] = {64,0}, + [I(222,184)] = {64,0}, + [I(223,184)] = {64,0}, + [I(224,184)] = {64,0}, + [I(225,184)] = {64,0}, + [I(226,184)] = {64,0}, + [I(227,184)] = {64,0}, + [I(228,184)] = {64,0}, + [I(229,184)] = {64,0}, + [I(230,184)] = {64,0}, + [I(231,184)] = {64,0}, + [I(232,184)] = {64,0}, + [I(233,184)] = {64,0}, + [I(234,184)] = {64,0}, + [I(235,184)] = {64,0}, + [I(236,184)] = {64,0}, + [I(237,184)] = {64,0}, + [I(238,184)] = {64,0}, + [I(239,184)] = {64,0}, + [I(240,184)] = {64,0}, + [I(241,184)] = {64,0}, + [I(242,184)] = {64,0}, + [I(243,184)] = {64,0}, + [I(244,184)] = {64,0}, + [I(245,184)] = {64,0}, + [I(246,184)] = {64,0}, + [I(247,184)] = {64,0}, + [I(248,184)] = {64,0}, + [I(249,184)] = {64,0}, + [I(250,184)] = {64,0}, + [I(251,184)] = {64,0}, + [I(252,184)] = {64,0}, + [I(253,184)] = {64,0}, + [I(254,184)] = {64,0}, + [I(255,184)] = {64,0}, + [I(0,185)] = {64,0}, + [I(1,185)] = {64,0}, + [I(2,185)] = {64,0}, + [I(3,185)] = {64,0}, + [I(4,185)] = {64,0}, + [I(5,185)] = {64,0}, + [I(6,185)] = {64,0}, + [I(7,185)] = {64,0}, + [I(8,185)] = {64,0}, + [I(9,185)] = {64,0}, + [I(10,185)] = {64,0}, + [I(11,185)] = {64,0}, + [I(12,185)] = {64,0}, + [I(13,185)] = {64,0}, + [I(14,185)] = {64,0}, + [I(15,185)] = {64,0}, + [I(16,185)] = {64,0}, + [I(17,185)] = {64,0}, + [I(18,185)] = {64,0}, + [I(19,185)] = {64,0}, + [I(20,185)] = {64,0}, + [I(21,185)] = {64,0}, + [I(22,185)] = {64,0}, + [I(23,185)] = {64,0}, + [I(24,185)] = {64,0}, + [I(25,185)] = {64,0}, + [I(26,185)] = {64,0}, + [I(27,185)] = {64,0}, + [I(28,185)] = {64,0}, + [I(29,185)] = {64,0}, + [I(30,185)] = {64,0}, + [I(31,185)] = {64,0}, + [I(32,185)] = {28,0x53FFFE2}, + [I(33,185)] = {X32,0xFE3FFFE2}, + [I(34,185)] = {X32,0xFE7FFFE2}, + [I(35,185)] = {64,0}, + [I(36,185)] = {64,0}, + [I(37,185)] = {28,0x57FFFE2}, + [I(38,185)] = {30,0x3E3FFFE2}, + [I(39,185)] = {64,0}, + [I(40,185)] = {X32,0xFEBFFFE2}, + [I(41,185)] = {X32,0xFEFFFFE2}, + [I(42,185)] = {30,0x3E7FFFE2}, + [I(43,185)] = {64,0}, + [I(44,185)] = {30,0x3EBFFFE2}, + [I(45,185)] = {28,0x5BFFFE2}, + [I(46,185)] = {28,0x5FFFFE2}, + [I(47,185)] = {28,0x63FFFE2}, + [I(48,185)] = {27,0x3FFFE2}, + [I(49,185)] = {27,0x7FFFE2}, + [I(50,185)] = {27,0xBFFFE2}, + [I(51,185)] = {28,0x67FFFE2}, + [I(52,185)] = {28,0x6BFFFE2}, + [I(53,185)] = {28,0x6FFFFE2}, + [I(54,185)] = {28,0x73FFFE2}, + [I(55,185)] = {28,0x77FFFE2}, + [I(56,185)] = {28,0x7BFFFE2}, + [I(57,185)] = {28,0x7FFFFE2}, + [I(58,185)] = {29,0x173FFFE2}, + [I(59,185)] = {30,0x3EFFFFE2}, + [I(60,185)] = {64,0}, + [I(61,185)] = {28,0x83FFFE2}, + [I(62,185)] = {64,0}, + [I(63,185)] = {X32,0xFF3FFFE2}, + [I(64,185)] = {64,0}, + [I(65,185)] = {28,0x87FFFE2}, + [I(66,185)] = {29,0x177FFFE2}, + [I(67,185)] = {29,0x17BFFFE2}, + [I(68,185)] = {29,0x17FFFFE2}, + [I(69,185)] = {29,0x183FFFE2}, + [I(70,185)] = {29,0x187FFFE2}, + [I(71,185)] = {29,0x18BFFFE2}, + [I(72,185)] = {29,0x18FFFFE2}, + [I(73,185)] = {29,0x193FFFE2}, + [I(74,185)] = {29,0x197FFFE2}, + [I(75,185)] = {29,0x19BFFFE2}, + [I(76,185)] = {29,0x19FFFFE2}, + [I(77,185)] = {29,0x1A3FFFE2}, + [I(78,185)] = {29,0x1A7FFFE2}, + [I(79,185)] = {29,0x1ABFFFE2}, + [I(80,185)] = {29,0x1AFFFFE2}, + [I(81,185)] = {29,0x1B3FFFE2}, + [I(82,185)] = {29,0x1B7FFFE2}, + [I(83,185)] = {29,0x1BBFFFE2}, + [I(84,185)] = {29,0x1BFFFFE2}, + [I(85,185)] = {29,0x1C3FFFE2}, + [I(86,185)] = {29,0x1C7FFFE2}, + [I(87,185)] = {29,0x1CBFFFE2}, + [I(88,185)] = {30,0x3F3FFFE2}, + [I(89,185)] = {29,0x1CFFFFE2}, + [I(90,185)] = {30,0x3F7FFFE2}, + [I(91,185)] = {64,0}, + [I(92,185)] = {64,0}, + [I(93,185)] = {64,0}, + [I(94,185)] = {64,0}, + [I(95,185)] = {28,0x8BFFFE2}, + [I(96,185)] = {64,0}, + [I(97,185)] = {27,0xFFFFE2}, + [I(98,185)] = {28,0x8FFFFE2}, + [I(99,185)] = {27,0x13FFFE2}, + [I(100,185)] = {28,0x93FFFE2}, + [I(101,185)] = {27,0x17FFFE2}, + [I(102,185)] = {28,0x97FFFE2}, + [I(103,185)] = {28,0x9BFFFE2}, + [I(104,185)] = {28,0x9FFFFE2}, + [I(105,185)] = {27,0x1BFFFE2}, + [I(106,185)] = {29,0x1D3FFFE2}, + [I(107,185)] = {29,0x1D7FFFE2}, + [I(108,185)] = {28,0xA3FFFE2}, + [I(109,185)] = {28,0xA7FFFE2}, + [I(110,185)] = {28,0xABFFFE2}, + [I(111,185)] = {27,0x1FFFFE2}, + [I(112,185)] = {28,0xAFFFFE2}, + [I(113,185)] = {29,0x1DBFFFE2}, + [I(114,185)] = {28,0xB3FFFE2}, + [I(115,185)] = {27,0x23FFFE2}, + [I(116,185)] = {27,0x27FFFE2}, + [I(117,185)] = {28,0xB7FFFE2}, + [I(118,185)] = {29,0x1DFFFFE2}, + [I(119,185)] = {29,0x1E3FFFE2}, + [I(120,185)] = {29,0x1E7FFFE2}, + [I(121,185)] = {29,0x1EBFFFE2}, + [I(122,185)] = {29,0x1EFFFFE2}, + [I(123,185)] = {64,0}, + [I(124,185)] = {64,0}, + [I(125,185)] = {64,0}, + [I(126,185)] = {64,0}, + [I(127,185)] = {64,0}, + [I(128,185)] = {64,0}, + [I(129,185)] = {64,0}, + [I(130,185)] = {64,0}, + [I(131,185)] = {64,0}, + [I(132,185)] = {64,0}, + [I(133,185)] = {64,0}, + [I(134,185)] = {64,0}, + [I(135,185)] = {64,0}, + [I(136,185)] = {64,0}, + [I(137,185)] = {64,0}, + [I(138,185)] = {64,0}, + [I(139,185)] = {64,0}, + [I(140,185)] = {64,0}, + [I(141,185)] = {64,0}, + [I(142,185)] = {64,0}, + [I(143,185)] = {64,0}, + [I(144,185)] = {64,0}, + [I(145,185)] = {64,0}, + [I(146,185)] = {64,0}, + [I(147,185)] = {64,0}, + [I(148,185)] = {64,0}, + [I(149,185)] = {64,0}, + [I(150,185)] = {64,0}, + [I(151,185)] = {64,0}, + [I(152,185)] = {64,0}, + [I(153,185)] = {64,0}, + [I(154,185)] = {64,0}, + [I(155,185)] = {64,0}, + [I(156,185)] = {64,0}, + [I(157,185)] = {64,0}, + [I(158,185)] = {64,0}, + [I(159,185)] = {64,0}, + [I(160,185)] = {64,0}, + [I(161,185)] = {64,0}, + [I(162,185)] = {64,0}, + [I(163,185)] = {64,0}, + [I(164,185)] = {64,0}, + [I(165,185)] = {64,0}, + [I(166,185)] = {64,0}, + [I(167,185)] = {64,0}, + [I(168,185)] = {64,0}, + [I(169,185)] = {64,0}, + [I(170,185)] = {64,0}, + [I(171,185)] = {64,0}, + [I(172,185)] = {64,0}, + [I(173,185)] = {64,0}, + [I(174,185)] = {64,0}, + [I(175,185)] = {64,0}, + [I(176,185)] = {64,0}, + [I(177,185)] = {64,0}, + [I(178,185)] = {64,0}, + [I(179,185)] = {64,0}, + [I(180,185)] = {64,0}, + [I(181,185)] = {64,0}, + [I(182,185)] = {64,0}, + [I(183,185)] = {64,0}, + [I(184,185)] = {64,0}, + [I(185,185)] = {64,0}, + [I(186,185)] = {64,0}, + [I(187,185)] = {64,0}, + [I(188,185)] = {64,0}, + [I(189,185)] = {64,0}, + [I(190,185)] = {64,0}, + [I(191,185)] = {64,0}, + [I(192,185)] = {64,0}, + [I(193,185)] = {64,0}, + [I(194,185)] = {64,0}, + [I(195,185)] = {64,0}, + [I(196,185)] = {64,0}, + [I(197,185)] = {64,0}, + [I(198,185)] = {64,0}, + [I(199,185)] = {64,0}, + [I(200,185)] = {64,0}, + [I(201,185)] = {64,0}, + [I(202,185)] = {64,0}, + [I(203,185)] = {64,0}, + [I(204,185)] = {64,0}, + [I(205,185)] = {64,0}, + [I(206,185)] = {64,0}, + [I(207,185)] = {64,0}, + [I(208,185)] = {64,0}, + [I(209,185)] = {64,0}, + [I(210,185)] = {64,0}, + [I(211,185)] = {64,0}, + [I(212,185)] = {64,0}, + [I(213,185)] = {64,0}, + [I(214,185)] = {64,0}, + [I(215,185)] = {64,0}, + [I(216,185)] = {64,0}, + [I(217,185)] = {64,0}, + [I(218,185)] = {64,0}, + [I(219,185)] = {64,0}, + [I(220,185)] = {64,0}, + [I(221,185)] = {64,0}, + [I(222,185)] = {64,0}, + [I(223,185)] = {64,0}, + [I(224,185)] = {64,0}, + [I(225,185)] = {64,0}, + [I(226,185)] = {64,0}, + [I(227,185)] = {64,0}, + [I(228,185)] = {64,0}, + [I(229,185)] = {64,0}, + [I(230,185)] = {64,0}, + [I(231,185)] = {64,0}, + [I(232,185)] = {64,0}, + [I(233,185)] = {64,0}, + [I(234,185)] = {64,0}, + [I(235,185)] = {64,0}, + [I(236,185)] = {64,0}, + [I(237,185)] = {64,0}, + [I(238,185)] = {64,0}, + [I(239,185)] = {64,0}, + [I(240,185)] = {64,0}, + [I(241,185)] = {64,0}, + [I(242,185)] = {64,0}, + [I(243,185)] = {64,0}, + [I(244,185)] = {64,0}, + [I(245,185)] = {64,0}, + [I(246,185)] = {64,0}, + [I(247,185)] = {64,0}, + [I(248,185)] = {64,0}, + [I(249,185)] = {64,0}, + [I(250,185)] = {64,0}, + [I(251,185)] = {64,0}, + [I(252,185)] = {64,0}, + [I(253,185)] = {64,0}, + [I(254,185)] = {64,0}, + [I(255,185)] = {64,0}, + [I(0,186)] = {64,0}, + [I(1,186)] = {64,0}, + [I(2,186)] = {64,0}, + [I(3,186)] = {64,0}, + [I(4,186)] = {64,0}, + [I(5,186)] = {64,0}, + [I(6,186)] = {64,0}, + [I(7,186)] = {64,0}, + [I(8,186)] = {64,0}, + [I(9,186)] = {64,0}, + [I(10,186)] = {64,0}, + [I(11,186)] = {64,0}, + [I(12,186)] = {64,0}, + [I(13,186)] = {64,0}, + [I(14,186)] = {64,0}, + [I(15,186)] = {64,0}, + [I(16,186)] = {64,0}, + [I(17,186)] = {64,0}, + [I(18,186)] = {64,0}, + [I(19,186)] = {64,0}, + [I(20,186)] = {64,0}, + [I(21,186)] = {64,0}, + [I(22,186)] = {64,0}, + [I(23,186)] = {64,0}, + [I(24,186)] = {64,0}, + [I(25,186)] = {64,0}, + [I(26,186)] = {64,0}, + [I(27,186)] = {64,0}, + [I(28,186)] = {64,0}, + [I(29,186)] = {64,0}, + [I(30,186)] = {64,0}, + [I(31,186)] = {64,0}, + [I(32,186)] = {28,0x53FFFE3}, + [I(33,186)] = {X32,0xFE3FFFE3}, + [I(34,186)] = {X32,0xFE7FFFE3}, + [I(35,186)] = {64,0}, + [I(36,186)] = {64,0}, + [I(37,186)] = {28,0x57FFFE3}, + [I(38,186)] = {30,0x3E3FFFE3}, + [I(39,186)] = {64,0}, + [I(40,186)] = {X32,0xFEBFFFE3}, + [I(41,186)] = {X32,0xFEFFFFE3}, + [I(42,186)] = {30,0x3E7FFFE3}, + [I(43,186)] = {64,0}, + [I(44,186)] = {30,0x3EBFFFE3}, + [I(45,186)] = {28,0x5BFFFE3}, + [I(46,186)] = {28,0x5FFFFE3}, + [I(47,186)] = {28,0x63FFFE3}, + [I(48,186)] = {27,0x3FFFE3}, + [I(49,186)] = {27,0x7FFFE3}, + [I(50,186)] = {27,0xBFFFE3}, + [I(51,186)] = {28,0x67FFFE3}, + [I(52,186)] = {28,0x6BFFFE3}, + [I(53,186)] = {28,0x6FFFFE3}, + [I(54,186)] = {28,0x73FFFE3}, + [I(55,186)] = {28,0x77FFFE3}, + [I(56,186)] = {28,0x7BFFFE3}, + [I(57,186)] = {28,0x7FFFFE3}, + [I(58,186)] = {29,0x173FFFE3}, + [I(59,186)] = {30,0x3EFFFFE3}, + [I(60,186)] = {64,0}, + [I(61,186)] = {28,0x83FFFE3}, + [I(62,186)] = {64,0}, + [I(63,186)] = {X32,0xFF3FFFE3}, + [I(64,186)] = {64,0}, + [I(65,186)] = {28,0x87FFFE3}, + [I(66,186)] = {29,0x177FFFE3}, + [I(67,186)] = {29,0x17BFFFE3}, + [I(68,186)] = {29,0x17FFFFE3}, + [I(69,186)] = {29,0x183FFFE3}, + [I(70,186)] = {29,0x187FFFE3}, + [I(71,186)] = {29,0x18BFFFE3}, + [I(72,186)] = {29,0x18FFFFE3}, + [I(73,186)] = {29,0x193FFFE3}, + [I(74,186)] = {29,0x197FFFE3}, + [I(75,186)] = {29,0x19BFFFE3}, + [I(76,186)] = {29,0x19FFFFE3}, + [I(77,186)] = {29,0x1A3FFFE3}, + [I(78,186)] = {29,0x1A7FFFE3}, + [I(79,186)] = {29,0x1ABFFFE3}, + [I(80,186)] = {29,0x1AFFFFE3}, + [I(81,186)] = {29,0x1B3FFFE3}, + [I(82,186)] = {29,0x1B7FFFE3}, + [I(83,186)] = {29,0x1BBFFFE3}, + [I(84,186)] = {29,0x1BFFFFE3}, + [I(85,186)] = {29,0x1C3FFFE3}, + [I(86,186)] = {29,0x1C7FFFE3}, + [I(87,186)] = {29,0x1CBFFFE3}, + [I(88,186)] = {30,0x3F3FFFE3}, + [I(89,186)] = {29,0x1CFFFFE3}, + [I(90,186)] = {30,0x3F7FFFE3}, + [I(91,186)] = {64,0}, + [I(92,186)] = {64,0}, + [I(93,186)] = {64,0}, + [I(94,186)] = {64,0}, + [I(95,186)] = {28,0x8BFFFE3}, + [I(96,186)] = {64,0}, + [I(97,186)] = {27,0xFFFFE3}, + [I(98,186)] = {28,0x8FFFFE3}, + [I(99,186)] = {27,0x13FFFE3}, + [I(100,186)] = {28,0x93FFFE3}, + [I(101,186)] = {27,0x17FFFE3}, + [I(102,186)] = {28,0x97FFFE3}, + [I(103,186)] = {28,0x9BFFFE3}, + [I(104,186)] = {28,0x9FFFFE3}, + [I(105,186)] = {27,0x1BFFFE3}, + [I(106,186)] = {29,0x1D3FFFE3}, + [I(107,186)] = {29,0x1D7FFFE3}, + [I(108,186)] = {28,0xA3FFFE3}, + [I(109,186)] = {28,0xA7FFFE3}, + [I(110,186)] = {28,0xABFFFE3}, + [I(111,186)] = {27,0x1FFFFE3}, + [I(112,186)] = {28,0xAFFFFE3}, + [I(113,186)] = {29,0x1DBFFFE3}, + [I(114,186)] = {28,0xB3FFFE3}, + [I(115,186)] = {27,0x23FFFE3}, + [I(116,186)] = {27,0x27FFFE3}, + [I(117,186)] = {28,0xB7FFFE3}, + [I(118,186)] = {29,0x1DFFFFE3}, + [I(119,186)] = {29,0x1E3FFFE3}, + [I(120,186)] = {29,0x1E7FFFE3}, + [I(121,186)] = {29,0x1EBFFFE3}, + [I(122,186)] = {29,0x1EFFFFE3}, + [I(123,186)] = {64,0}, + [I(124,186)] = {64,0}, + [I(125,186)] = {64,0}, + [I(126,186)] = {64,0}, + [I(127,186)] = {64,0}, + [I(128,186)] = {64,0}, + [I(129,186)] = {64,0}, + [I(130,186)] = {64,0}, + [I(131,186)] = {64,0}, + [I(132,186)] = {64,0}, + [I(133,186)] = {64,0}, + [I(134,186)] = {64,0}, + [I(135,186)] = {64,0}, + [I(136,186)] = {64,0}, + [I(137,186)] = {64,0}, + [I(138,186)] = {64,0}, + [I(139,186)] = {64,0}, + [I(140,186)] = {64,0}, + [I(141,186)] = {64,0}, + [I(142,186)] = {64,0}, + [I(143,186)] = {64,0}, + [I(144,186)] = {64,0}, + [I(145,186)] = {64,0}, + [I(146,186)] = {64,0}, + [I(147,186)] = {64,0}, + [I(148,186)] = {64,0}, + [I(149,186)] = {64,0}, + [I(150,186)] = {64,0}, + [I(151,186)] = {64,0}, + [I(152,186)] = {64,0}, + [I(153,186)] = {64,0}, + [I(154,186)] = {64,0}, + [I(155,186)] = {64,0}, + [I(156,186)] = {64,0}, + [I(157,186)] = {64,0}, + [I(158,186)] = {64,0}, + [I(159,186)] = {64,0}, + [I(160,186)] = {64,0}, + [I(161,186)] = {64,0}, + [I(162,186)] = {64,0}, + [I(163,186)] = {64,0}, + [I(164,186)] = {64,0}, + [I(165,186)] = {64,0}, + [I(166,186)] = {64,0}, + [I(167,186)] = {64,0}, + [I(168,186)] = {64,0}, + [I(169,186)] = {64,0}, + [I(170,186)] = {64,0}, + [I(171,186)] = {64,0}, + [I(172,186)] = {64,0}, + [I(173,186)] = {64,0}, + [I(174,186)] = {64,0}, + [I(175,186)] = {64,0}, + [I(176,186)] = {64,0}, + [I(177,186)] = {64,0}, + [I(178,186)] = {64,0}, + [I(179,186)] = {64,0}, + [I(180,186)] = {64,0}, + [I(181,186)] = {64,0}, + [I(182,186)] = {64,0}, + [I(183,186)] = {64,0}, + [I(184,186)] = {64,0}, + [I(185,186)] = {64,0}, + [I(186,186)] = {64,0}, + [I(187,186)] = {64,0}, + [I(188,186)] = {64,0}, + [I(189,186)] = {64,0}, + [I(190,186)] = {64,0}, + [I(191,186)] = {64,0}, + [I(192,186)] = {64,0}, + [I(193,186)] = {64,0}, + [I(194,186)] = {64,0}, + [I(195,186)] = {64,0}, + [I(196,186)] = {64,0}, + [I(197,186)] = {64,0}, + [I(198,186)] = {64,0}, + [I(199,186)] = {64,0}, + [I(200,186)] = {64,0}, + [I(201,186)] = {64,0}, + [I(202,186)] = {64,0}, + [I(203,186)] = {64,0}, + [I(204,186)] = {64,0}, + [I(205,186)] = {64,0}, + [I(206,186)] = {64,0}, + [I(207,186)] = {64,0}, + [I(208,186)] = {64,0}, + [I(209,186)] = {64,0}, + [I(210,186)] = {64,0}, + [I(211,186)] = {64,0}, + [I(212,186)] = {64,0}, + [I(213,186)] = {64,0}, + [I(214,186)] = {64,0}, + [I(215,186)] = {64,0}, + [I(216,186)] = {64,0}, + [I(217,186)] = {64,0}, + [I(218,186)] = {64,0}, + [I(219,186)] = {64,0}, + [I(220,186)] = {64,0}, + [I(221,186)] = {64,0}, + [I(222,186)] = {64,0}, + [I(223,186)] = {64,0}, + [I(224,186)] = {64,0}, + [I(225,186)] = {64,0}, + [I(226,186)] = {64,0}, + [I(227,186)] = {64,0}, + [I(228,186)] = {64,0}, + [I(229,186)] = {64,0}, + [I(230,186)] = {64,0}, + [I(231,186)] = {64,0}, + [I(232,186)] = {64,0}, + [I(233,186)] = {64,0}, + [I(234,186)] = {64,0}, + [I(235,186)] = {64,0}, + [I(236,186)] = {64,0}, + [I(237,186)] = {64,0}, + [I(238,186)] = {64,0}, + [I(239,186)] = {64,0}, + [I(240,186)] = {64,0}, + [I(241,186)] = {64,0}, + [I(242,186)] = {64,0}, + [I(243,186)] = {64,0}, + [I(244,186)] = {64,0}, + [I(245,186)] = {64,0}, + [I(246,186)] = {64,0}, + [I(247,186)] = {64,0}, + [I(248,186)] = {64,0}, + [I(249,186)] = {64,0}, + [I(250,186)] = {64,0}, + [I(251,186)] = {64,0}, + [I(252,186)] = {64,0}, + [I(253,186)] = {64,0}, + [I(254,186)] = {64,0}, + [I(255,186)] = {64,0}, + [I(0,187)] = {64,0}, + [I(1,187)] = {64,0}, + [I(2,187)] = {64,0}, + [I(3,187)] = {64,0}, + [I(4,187)] = {64,0}, + [I(5,187)] = {64,0}, + [I(6,187)] = {64,0}, + [I(7,187)] = {64,0}, + [I(8,187)] = {64,0}, + [I(9,187)] = {64,0}, + [I(10,187)] = {64,0}, + [I(11,187)] = {64,0}, + [I(12,187)] = {64,0}, + [I(13,187)] = {64,0}, + [I(14,187)] = {64,0}, + [I(15,187)] = {64,0}, + [I(16,187)] = {64,0}, + [I(17,187)] = {64,0}, + [I(18,187)] = {64,0}, + [I(19,187)] = {64,0}, + [I(20,187)] = {64,0}, + [I(21,187)] = {64,0}, + [I(22,187)] = {64,0}, + [I(23,187)] = {64,0}, + [I(24,187)] = {64,0}, + [I(25,187)] = {64,0}, + [I(26,187)] = {64,0}, + [I(27,187)] = {64,0}, + [I(28,187)] = {64,0}, + [I(29,187)] = {64,0}, + [I(30,187)] = {64,0}, + [I(31,187)] = {64,0}, + [I(32,187)] = {28,0x53FFFE4}, + [I(33,187)] = {X32,0xFE3FFFE4}, + [I(34,187)] = {X32,0xFE7FFFE4}, + [I(35,187)] = {64,0}, + [I(36,187)] = {64,0}, + [I(37,187)] = {28,0x57FFFE4}, + [I(38,187)] = {30,0x3E3FFFE4}, + [I(39,187)] = {64,0}, + [I(40,187)] = {X32,0xFEBFFFE4}, + [I(41,187)] = {X32,0xFEFFFFE4}, + [I(42,187)] = {30,0x3E7FFFE4}, + [I(43,187)] = {64,0}, + [I(44,187)] = {30,0x3EBFFFE4}, + [I(45,187)] = {28,0x5BFFFE4}, + [I(46,187)] = {28,0x5FFFFE4}, + [I(47,187)] = {28,0x63FFFE4}, + [I(48,187)] = {27,0x3FFFE4}, + [I(49,187)] = {27,0x7FFFE4}, + [I(50,187)] = {27,0xBFFFE4}, + [I(51,187)] = {28,0x67FFFE4}, + [I(52,187)] = {28,0x6BFFFE4}, + [I(53,187)] = {28,0x6FFFFE4}, + [I(54,187)] = {28,0x73FFFE4}, + [I(55,187)] = {28,0x77FFFE4}, + [I(56,187)] = {28,0x7BFFFE4}, + [I(57,187)] = {28,0x7FFFFE4}, + [I(58,187)] = {29,0x173FFFE4}, + [I(59,187)] = {30,0x3EFFFFE4}, + [I(60,187)] = {64,0}, + [I(61,187)] = {28,0x83FFFE4}, + [I(62,187)] = {64,0}, + [I(63,187)] = {X32,0xFF3FFFE4}, + [I(64,187)] = {64,0}, + [I(65,187)] = {28,0x87FFFE4}, + [I(66,187)] = {29,0x177FFFE4}, + [I(67,187)] = {29,0x17BFFFE4}, + [I(68,187)] = {29,0x17FFFFE4}, + [I(69,187)] = {29,0x183FFFE4}, + [I(70,187)] = {29,0x187FFFE4}, + [I(71,187)] = {29,0x18BFFFE4}, + [I(72,187)] = {29,0x18FFFFE4}, + [I(73,187)] = {29,0x193FFFE4}, + [I(74,187)] = {29,0x197FFFE4}, + [I(75,187)] = {29,0x19BFFFE4}, + [I(76,187)] = {29,0x19FFFFE4}, + [I(77,187)] = {29,0x1A3FFFE4}, + [I(78,187)] = {29,0x1A7FFFE4}, + [I(79,187)] = {29,0x1ABFFFE4}, + [I(80,187)] = {29,0x1AFFFFE4}, + [I(81,187)] = {29,0x1B3FFFE4}, + [I(82,187)] = {29,0x1B7FFFE4}, + [I(83,187)] = {29,0x1BBFFFE4}, + [I(84,187)] = {29,0x1BFFFFE4}, + [I(85,187)] = {29,0x1C3FFFE4}, + [I(86,187)] = {29,0x1C7FFFE4}, + [I(87,187)] = {29,0x1CBFFFE4}, + [I(88,187)] = {30,0x3F3FFFE4}, + [I(89,187)] = {29,0x1CFFFFE4}, + [I(90,187)] = {30,0x3F7FFFE4}, + [I(91,187)] = {64,0}, + [I(92,187)] = {64,0}, + [I(93,187)] = {64,0}, + [I(94,187)] = {64,0}, + [I(95,187)] = {28,0x8BFFFE4}, + [I(96,187)] = {64,0}, + [I(97,187)] = {27,0xFFFFE4}, + [I(98,187)] = {28,0x8FFFFE4}, + [I(99,187)] = {27,0x13FFFE4}, + [I(100,187)] = {28,0x93FFFE4}, + [I(101,187)] = {27,0x17FFFE4}, + [I(102,187)] = {28,0x97FFFE4}, + [I(103,187)] = {28,0x9BFFFE4}, + [I(104,187)] = {28,0x9FFFFE4}, + [I(105,187)] = {27,0x1BFFFE4}, + [I(106,187)] = {29,0x1D3FFFE4}, + [I(107,187)] = {29,0x1D7FFFE4}, + [I(108,187)] = {28,0xA3FFFE4}, + [I(109,187)] = {28,0xA7FFFE4}, + [I(110,187)] = {28,0xABFFFE4}, + [I(111,187)] = {27,0x1FFFFE4}, + [I(112,187)] = {28,0xAFFFFE4}, + [I(113,187)] = {29,0x1DBFFFE4}, + [I(114,187)] = {28,0xB3FFFE4}, + [I(115,187)] = {27,0x23FFFE4}, + [I(116,187)] = {27,0x27FFFE4}, + [I(117,187)] = {28,0xB7FFFE4}, + [I(118,187)] = {29,0x1DFFFFE4}, + [I(119,187)] = {29,0x1E3FFFE4}, + [I(120,187)] = {29,0x1E7FFFE4}, + [I(121,187)] = {29,0x1EBFFFE4}, + [I(122,187)] = {29,0x1EFFFFE4}, + [I(123,187)] = {64,0}, + [I(124,187)] = {64,0}, + [I(125,187)] = {64,0}, + [I(126,187)] = {64,0}, + [I(127,187)] = {64,0}, + [I(128,187)] = {64,0}, + [I(129,187)] = {64,0}, + [I(130,187)] = {64,0}, + [I(131,187)] = {64,0}, + [I(132,187)] = {64,0}, + [I(133,187)] = {64,0}, + [I(134,187)] = {64,0}, + [I(135,187)] = {64,0}, + [I(136,187)] = {64,0}, + [I(137,187)] = {64,0}, + [I(138,187)] = {64,0}, + [I(139,187)] = {64,0}, + [I(140,187)] = {64,0}, + [I(141,187)] = {64,0}, + [I(142,187)] = {64,0}, + [I(143,187)] = {64,0}, + [I(144,187)] = {64,0}, + [I(145,187)] = {64,0}, + [I(146,187)] = {64,0}, + [I(147,187)] = {64,0}, + [I(148,187)] = {64,0}, + [I(149,187)] = {64,0}, + [I(150,187)] = {64,0}, + [I(151,187)] = {64,0}, + [I(152,187)] = {64,0}, + [I(153,187)] = {64,0}, + [I(154,187)] = {64,0}, + [I(155,187)] = {64,0}, + [I(156,187)] = {64,0}, + [I(157,187)] = {64,0}, + [I(158,187)] = {64,0}, + [I(159,187)] = {64,0}, + [I(160,187)] = {64,0}, + [I(161,187)] = {64,0}, + [I(162,187)] = {64,0}, + [I(163,187)] = {64,0}, + [I(164,187)] = {64,0}, + [I(165,187)] = {64,0}, + [I(166,187)] = {64,0}, + [I(167,187)] = {64,0}, + [I(168,187)] = {64,0}, + [I(169,187)] = {64,0}, + [I(170,187)] = {64,0}, + [I(171,187)] = {64,0}, + [I(172,187)] = {64,0}, + [I(173,187)] = {64,0}, + [I(174,187)] = {64,0}, + [I(175,187)] = {64,0}, + [I(176,187)] = {64,0}, + [I(177,187)] = {64,0}, + [I(178,187)] = {64,0}, + [I(179,187)] = {64,0}, + [I(180,187)] = {64,0}, + [I(181,187)] = {64,0}, + [I(182,187)] = {64,0}, + [I(183,187)] = {64,0}, + [I(184,187)] = {64,0}, + [I(185,187)] = {64,0}, + [I(186,187)] = {64,0}, + [I(187,187)] = {64,0}, + [I(188,187)] = {64,0}, + [I(189,187)] = {64,0}, + [I(190,187)] = {64,0}, + [I(191,187)] = {64,0}, + [I(192,187)] = {64,0}, + [I(193,187)] = {64,0}, + [I(194,187)] = {64,0}, + [I(195,187)] = {64,0}, + [I(196,187)] = {64,0}, + [I(197,187)] = {64,0}, + [I(198,187)] = {64,0}, + [I(199,187)] = {64,0}, + [I(200,187)] = {64,0}, + [I(201,187)] = {64,0}, + [I(202,187)] = {64,0}, + [I(203,187)] = {64,0}, + [I(204,187)] = {64,0}, + [I(205,187)] = {64,0}, + [I(206,187)] = {64,0}, + [I(207,187)] = {64,0}, + [I(208,187)] = {64,0}, + [I(209,187)] = {64,0}, + [I(210,187)] = {64,0}, + [I(211,187)] = {64,0}, + [I(212,187)] = {64,0}, + [I(213,187)] = {64,0}, + [I(214,187)] = {64,0}, + [I(215,187)] = {64,0}, + [I(216,187)] = {64,0}, + [I(217,187)] = {64,0}, + [I(218,187)] = {64,0}, + [I(219,187)] = {64,0}, + [I(220,187)] = {64,0}, + [I(221,187)] = {64,0}, + [I(222,187)] = {64,0}, + [I(223,187)] = {64,0}, + [I(224,187)] = {64,0}, + [I(225,187)] = {64,0}, + [I(226,187)] = {64,0}, + [I(227,187)] = {64,0}, + [I(228,187)] = {64,0}, + [I(229,187)] = {64,0}, + [I(230,187)] = {64,0}, + [I(231,187)] = {64,0}, + [I(232,187)] = {64,0}, + [I(233,187)] = {64,0}, + [I(234,187)] = {64,0}, + [I(235,187)] = {64,0}, + [I(236,187)] = {64,0}, + [I(237,187)] = {64,0}, + [I(238,187)] = {64,0}, + [I(239,187)] = {64,0}, + [I(240,187)] = {64,0}, + [I(241,187)] = {64,0}, + [I(242,187)] = {64,0}, + [I(243,187)] = {64,0}, + [I(244,187)] = {64,0}, + [I(245,187)] = {64,0}, + [I(246,187)] = {64,0}, + [I(247,187)] = {64,0}, + [I(248,187)] = {64,0}, + [I(249,187)] = {64,0}, + [I(250,187)] = {64,0}, + [I(251,187)] = {64,0}, + [I(252,187)] = {64,0}, + [I(253,187)] = {64,0}, + [I(254,187)] = {64,0}, + [I(255,187)] = {64,0}, + [I(0,188)] = {64,0}, + [I(1,188)] = {64,0}, + [I(2,188)] = {64,0}, + [I(3,188)] = {64,0}, + [I(4,188)] = {64,0}, + [I(5,188)] = {64,0}, + [I(6,188)] = {64,0}, + [I(7,188)] = {64,0}, + [I(8,188)] = {64,0}, + [I(9,188)] = {64,0}, + [I(10,188)] = {64,0}, + [I(11,188)] = {64,0}, + [I(12,188)] = {64,0}, + [I(13,188)] = {64,0}, + [I(14,188)] = {64,0}, + [I(15,188)] = {64,0}, + [I(16,188)] = {64,0}, + [I(17,188)] = {64,0}, + [I(18,188)] = {64,0}, + [I(19,188)] = {64,0}, + [I(20,188)] = {64,0}, + [I(21,188)] = {64,0}, + [I(22,188)] = {64,0}, + [I(23,188)] = {64,0}, + [I(24,188)] = {64,0}, + [I(25,188)] = {64,0}, + [I(26,188)] = {64,0}, + [I(27,188)] = {64,0}, + [I(28,188)] = {64,0}, + [I(29,188)] = {64,0}, + [I(30,188)] = {64,0}, + [I(31,188)] = {64,0}, + [I(32,188)] = {29,0xA7FFFF0}, + [I(33,188)] = {64,0}, + [I(34,188)] = {64,0}, + [I(35,188)] = {64,0}, + [I(36,188)] = {64,0}, + [I(37,188)] = {29,0xAFFFFF0}, + [I(38,188)] = {31,0x7C7FFFF0}, + [I(39,188)] = {64,0}, + [I(40,188)] = {64,0}, + [I(41,188)] = {64,0}, + [I(42,188)] = {31,0x7CFFFFF0}, + [I(43,188)] = {64,0}, + [I(44,188)] = {31,0x7D7FFFF0}, + [I(45,188)] = {29,0xB7FFFF0}, + [I(46,188)] = {29,0xBFFFFF0}, + [I(47,188)] = {29,0xC7FFFF0}, + [I(48,188)] = {28,0x7FFFF0}, + [I(49,188)] = {28,0xFFFFF0}, + [I(50,188)] = {28,0x17FFFF0}, + [I(51,188)] = {29,0xCFFFFF0}, + [I(52,188)] = {29,0xD7FFFF0}, + [I(53,188)] = {29,0xDFFFFF0}, + [I(54,188)] = {29,0xE7FFFF0}, + [I(55,188)] = {29,0xEFFFFF0}, + [I(56,188)] = {29,0xF7FFFF0}, + [I(57,188)] = {29,0xFFFFFF0}, + [I(58,188)] = {30,0x2E7FFFF0}, + [I(59,188)] = {31,0x7DFFFFF0}, + [I(60,188)] = {64,0}, + [I(61,188)] = {29,0x107FFFF0}, + [I(62,188)] = {64,0}, + [I(63,188)] = {64,0}, + [I(64,188)] = {64,0}, + [I(65,188)] = {29,0x10FFFFF0}, + [I(66,188)] = {30,0x2EFFFFF0}, + [I(67,188)] = {30,0x2F7FFFF0}, + [I(68,188)] = {30,0x2FFFFFF0}, + [I(69,188)] = {30,0x307FFFF0}, + [I(70,188)] = {30,0x30FFFFF0}, + [I(71,188)] = {30,0x317FFFF0}, + [I(72,188)] = {30,0x31FFFFF0}, + [I(73,188)] = {30,0x327FFFF0}, + [I(74,188)] = {30,0x32FFFFF0}, + [I(75,188)] = {30,0x337FFFF0}, + [I(76,188)] = {30,0x33FFFFF0}, + [I(77,188)] = {30,0x347FFFF0}, + [I(78,188)] = {30,0x34FFFFF0}, + [I(79,188)] = {30,0x357FFFF0}, + [I(80,188)] = {30,0x35FFFFF0}, + [I(81,188)] = {30,0x367FFFF0}, + [I(82,188)] = {30,0x36FFFFF0}, + [I(83,188)] = {30,0x377FFFF0}, + [I(84,188)] = {30,0x37FFFFF0}, + [I(85,188)] = {30,0x387FFFF0}, + [I(86,188)] = {30,0x38FFFFF0}, + [I(87,188)] = {30,0x397FFFF0}, + [I(88,188)] = {31,0x7E7FFFF0}, + [I(89,188)] = {30,0x39FFFFF0}, + [I(90,188)] = {31,0x7EFFFFF0}, + [I(91,188)] = {64,0}, + [I(92,188)] = {64,0}, + [I(93,188)] = {64,0}, + [I(94,188)] = {64,0}, + [I(95,188)] = {29,0x117FFFF0}, + [I(96,188)] = {64,0}, + [I(97,188)] = {28,0x1FFFFF0}, + [I(98,188)] = {29,0x11FFFFF0}, + [I(99,188)] = {28,0x27FFFF0}, + [I(100,188)] = {29,0x127FFFF0}, + [I(101,188)] = {28,0x2FFFFF0}, + [I(102,188)] = {29,0x12FFFFF0}, + [I(103,188)] = {29,0x137FFFF0}, + [I(104,188)] = {29,0x13FFFFF0}, + [I(105,188)] = {28,0x37FFFF0}, + [I(106,188)] = {30,0x3A7FFFF0}, + [I(107,188)] = {30,0x3AFFFFF0}, + [I(108,188)] = {29,0x147FFFF0}, + [I(109,188)] = {29,0x14FFFFF0}, + [I(110,188)] = {29,0x157FFFF0}, + [I(111,188)] = {28,0x3FFFFF0}, + [I(112,188)] = {29,0x15FFFFF0}, + [I(113,188)] = {30,0x3B7FFFF0}, + [I(114,188)] = {29,0x167FFFF0}, + [I(115,188)] = {28,0x47FFFF0}, + [I(116,188)] = {28,0x4FFFFF0}, + [I(117,188)] = {29,0x16FFFFF0}, + [I(118,188)] = {30,0x3BFFFFF0}, + [I(119,188)] = {30,0x3C7FFFF0}, + [I(120,188)] = {30,0x3CFFFFF0}, + [I(121,188)] = {30,0x3D7FFFF0}, + [I(122,188)] = {30,0x3DFFFFF0}, + [I(123,188)] = {64,0}, + [I(124,188)] = {64,0}, + [I(125,188)] = {64,0}, + [I(126,188)] = {64,0}, + [I(127,188)] = {64,0}, + [I(128,188)] = {64,0}, + [I(129,188)] = {64,0}, + [I(130,188)] = {64,0}, + [I(131,188)] = {64,0}, + [I(132,188)] = {64,0}, + [I(133,188)] = {64,0}, + [I(134,188)] = {64,0}, + [I(135,188)] = {64,0}, + [I(136,188)] = {64,0}, + [I(137,188)] = {64,0}, + [I(138,188)] = {64,0}, + [I(139,188)] = {64,0}, + [I(140,188)] = {64,0}, + [I(141,188)] = {64,0}, + [I(142,188)] = {64,0}, + [I(143,188)] = {64,0}, + [I(144,188)] = {64,0}, + [I(145,188)] = {64,0}, + [I(146,188)] = {64,0}, + [I(147,188)] = {64,0}, + [I(148,188)] = {64,0}, + [I(149,188)] = {64,0}, + [I(150,188)] = {64,0}, + [I(151,188)] = {64,0}, + [I(152,188)] = {64,0}, + [I(153,188)] = {64,0}, + [I(154,188)] = {64,0}, + [I(155,188)] = {64,0}, + [I(156,188)] = {64,0}, + [I(157,188)] = {64,0}, + [I(158,188)] = {64,0}, + [I(159,188)] = {64,0}, + [I(160,188)] = {64,0}, + [I(161,188)] = {64,0}, + [I(162,188)] = {64,0}, + [I(163,188)] = {64,0}, + [I(164,188)] = {64,0}, + [I(165,188)] = {64,0}, + [I(166,188)] = {64,0}, + [I(167,188)] = {64,0}, + [I(168,188)] = {64,0}, + [I(169,188)] = {64,0}, + [I(170,188)] = {64,0}, + [I(171,188)] = {64,0}, + [I(172,188)] = {64,0}, + [I(173,188)] = {64,0}, + [I(174,188)] = {64,0}, + [I(175,188)] = {64,0}, + [I(176,188)] = {64,0}, + [I(177,188)] = {64,0}, + [I(178,188)] = {64,0}, + [I(179,188)] = {64,0}, + [I(180,188)] = {64,0}, + [I(181,188)] = {64,0}, + [I(182,188)] = {64,0}, + [I(183,188)] = {64,0}, + [I(184,188)] = {64,0}, + [I(185,188)] = {64,0}, + [I(186,188)] = {64,0}, + [I(187,188)] = {64,0}, + [I(188,188)] = {64,0}, + [I(189,188)] = {64,0}, + [I(190,188)] = {64,0}, + [I(191,188)] = {64,0}, + [I(192,188)] = {64,0}, + [I(193,188)] = {64,0}, + [I(194,188)] = {64,0}, + [I(195,188)] = {64,0}, + [I(196,188)] = {64,0}, + [I(197,188)] = {64,0}, + [I(198,188)] = {64,0}, + [I(199,188)] = {64,0}, + [I(200,188)] = {64,0}, + [I(201,188)] = {64,0}, + [I(202,188)] = {64,0}, + [I(203,188)] = {64,0}, + [I(204,188)] = {64,0}, + [I(205,188)] = {64,0}, + [I(206,188)] = {64,0}, + [I(207,188)] = {64,0}, + [I(208,188)] = {64,0}, + [I(209,188)] = {64,0}, + [I(210,188)] = {64,0}, + [I(211,188)] = {64,0}, + [I(212,188)] = {64,0}, + [I(213,188)] = {64,0}, + [I(214,188)] = {64,0}, + [I(215,188)] = {64,0}, + [I(216,188)] = {64,0}, + [I(217,188)] = {64,0}, + [I(218,188)] = {64,0}, + [I(219,188)] = {64,0}, + [I(220,188)] = {64,0}, + [I(221,188)] = {64,0}, + [I(222,188)] = {64,0}, + [I(223,188)] = {64,0}, + [I(224,188)] = {64,0}, + [I(225,188)] = {64,0}, + [I(226,188)] = {64,0}, + [I(227,188)] = {64,0}, + [I(228,188)] = {64,0}, + [I(229,188)] = {64,0}, + [I(230,188)] = {64,0}, + [I(231,188)] = {64,0}, + [I(232,188)] = {64,0}, + [I(233,188)] = {64,0}, + [I(234,188)] = {64,0}, + [I(235,188)] = {64,0}, + [I(236,188)] = {64,0}, + [I(237,188)] = {64,0}, + [I(238,188)] = {64,0}, + [I(239,188)] = {64,0}, + [I(240,188)] = {64,0}, + [I(241,188)] = {64,0}, + [I(242,188)] = {64,0}, + [I(243,188)] = {64,0}, + [I(244,188)] = {64,0}, + [I(245,188)] = {64,0}, + [I(246,188)] = {64,0}, + [I(247,188)] = {64,0}, + [I(248,188)] = {64,0}, + [I(249,188)] = {64,0}, + [I(250,188)] = {64,0}, + [I(251,188)] = {64,0}, + [I(252,188)] = {64,0}, + [I(253,188)] = {64,0}, + [I(254,188)] = {64,0}, + [I(255,188)] = {64,0}, + [I(0,189)] = {64,0}, + [I(1,189)] = {64,0}, + [I(2,189)] = {64,0}, + [I(3,189)] = {64,0}, + [I(4,189)] = {64,0}, + [I(5,189)] = {64,0}, + [I(6,189)] = {64,0}, + [I(7,189)] = {64,0}, + [I(8,189)] = {64,0}, + [I(9,189)] = {64,0}, + [I(10,189)] = {64,0}, + [I(11,189)] = {64,0}, + [I(12,189)] = {64,0}, + [I(13,189)] = {64,0}, + [I(14,189)] = {64,0}, + [I(15,189)] = {64,0}, + [I(16,189)] = {64,0}, + [I(17,189)] = {64,0}, + [I(18,189)] = {64,0}, + [I(19,189)] = {64,0}, + [I(20,189)] = {64,0}, + [I(21,189)] = {64,0}, + [I(22,189)] = {64,0}, + [I(23,189)] = {64,0}, + [I(24,189)] = {64,0}, + [I(25,189)] = {64,0}, + [I(26,189)] = {64,0}, + [I(27,189)] = {64,0}, + [I(28,189)] = {64,0}, + [I(29,189)] = {64,0}, + [I(30,189)] = {64,0}, + [I(31,189)] = {64,0}, + [I(32,189)] = {28,0x53FFFE5}, + [I(33,189)] = {X32,0xFE3FFFE5}, + [I(34,189)] = {X32,0xFE7FFFE5}, + [I(35,189)] = {64,0}, + [I(36,189)] = {64,0}, + [I(37,189)] = {28,0x57FFFE5}, + [I(38,189)] = {30,0x3E3FFFE5}, + [I(39,189)] = {64,0}, + [I(40,189)] = {X32,0xFEBFFFE5}, + [I(41,189)] = {X32,0xFEFFFFE5}, + [I(42,189)] = {30,0x3E7FFFE5}, + [I(43,189)] = {64,0}, + [I(44,189)] = {30,0x3EBFFFE5}, + [I(45,189)] = {28,0x5BFFFE5}, + [I(46,189)] = {28,0x5FFFFE5}, + [I(47,189)] = {28,0x63FFFE5}, + [I(48,189)] = {27,0x3FFFE5}, + [I(49,189)] = {27,0x7FFFE5}, + [I(50,189)] = {27,0xBFFFE5}, + [I(51,189)] = {28,0x67FFFE5}, + [I(52,189)] = {28,0x6BFFFE5}, + [I(53,189)] = {28,0x6FFFFE5}, + [I(54,189)] = {28,0x73FFFE5}, + [I(55,189)] = {28,0x77FFFE5}, + [I(56,189)] = {28,0x7BFFFE5}, + [I(57,189)] = {28,0x7FFFFE5}, + [I(58,189)] = {29,0x173FFFE5}, + [I(59,189)] = {30,0x3EFFFFE5}, + [I(60,189)] = {64,0}, + [I(61,189)] = {28,0x83FFFE5}, + [I(62,189)] = {64,0}, + [I(63,189)] = {X32,0xFF3FFFE5}, + [I(64,189)] = {64,0}, + [I(65,189)] = {28,0x87FFFE5}, + [I(66,189)] = {29,0x177FFFE5}, + [I(67,189)] = {29,0x17BFFFE5}, + [I(68,189)] = {29,0x17FFFFE5}, + [I(69,189)] = {29,0x183FFFE5}, + [I(70,189)] = {29,0x187FFFE5}, + [I(71,189)] = {29,0x18BFFFE5}, + [I(72,189)] = {29,0x18FFFFE5}, + [I(73,189)] = {29,0x193FFFE5}, + [I(74,189)] = {29,0x197FFFE5}, + [I(75,189)] = {29,0x19BFFFE5}, + [I(76,189)] = {29,0x19FFFFE5}, + [I(77,189)] = {29,0x1A3FFFE5}, + [I(78,189)] = {29,0x1A7FFFE5}, + [I(79,189)] = {29,0x1ABFFFE5}, + [I(80,189)] = {29,0x1AFFFFE5}, + [I(81,189)] = {29,0x1B3FFFE5}, + [I(82,189)] = {29,0x1B7FFFE5}, + [I(83,189)] = {29,0x1BBFFFE5}, + [I(84,189)] = {29,0x1BFFFFE5}, + [I(85,189)] = {29,0x1C3FFFE5}, + [I(86,189)] = {29,0x1C7FFFE5}, + [I(87,189)] = {29,0x1CBFFFE5}, + [I(88,189)] = {30,0x3F3FFFE5}, + [I(89,189)] = {29,0x1CFFFFE5}, + [I(90,189)] = {30,0x3F7FFFE5}, + [I(91,189)] = {64,0}, + [I(92,189)] = {64,0}, + [I(93,189)] = {64,0}, + [I(94,189)] = {64,0}, + [I(95,189)] = {28,0x8BFFFE5}, + [I(96,189)] = {64,0}, + [I(97,189)] = {27,0xFFFFE5}, + [I(98,189)] = {28,0x8FFFFE5}, + [I(99,189)] = {27,0x13FFFE5}, + [I(100,189)] = {28,0x93FFFE5}, + [I(101,189)] = {27,0x17FFFE5}, + [I(102,189)] = {28,0x97FFFE5}, + [I(103,189)] = {28,0x9BFFFE5}, + [I(104,189)] = {28,0x9FFFFE5}, + [I(105,189)] = {27,0x1BFFFE5}, + [I(106,189)] = {29,0x1D3FFFE5}, + [I(107,189)] = {29,0x1D7FFFE5}, + [I(108,189)] = {28,0xA3FFFE5}, + [I(109,189)] = {28,0xA7FFFE5}, + [I(110,189)] = {28,0xABFFFE5}, + [I(111,189)] = {27,0x1FFFFE5}, + [I(112,189)] = {28,0xAFFFFE5}, + [I(113,189)] = {29,0x1DBFFFE5}, + [I(114,189)] = {28,0xB3FFFE5}, + [I(115,189)] = {27,0x23FFFE5}, + [I(116,189)] = {27,0x27FFFE5}, + [I(117,189)] = {28,0xB7FFFE5}, + [I(118,189)] = {29,0x1DFFFFE5}, + [I(119,189)] = {29,0x1E3FFFE5}, + [I(120,189)] = {29,0x1E7FFFE5}, + [I(121,189)] = {29,0x1EBFFFE5}, + [I(122,189)] = {29,0x1EFFFFE5}, + [I(123,189)] = {64,0}, + [I(124,189)] = {64,0}, + [I(125,189)] = {64,0}, + [I(126,189)] = {64,0}, + [I(127,189)] = {64,0}, + [I(128,189)] = {64,0}, + [I(129,189)] = {64,0}, + [I(130,189)] = {64,0}, + [I(131,189)] = {64,0}, + [I(132,189)] = {64,0}, + [I(133,189)] = {64,0}, + [I(134,189)] = {64,0}, + [I(135,189)] = {64,0}, + [I(136,189)] = {64,0}, + [I(137,189)] = {64,0}, + [I(138,189)] = {64,0}, + [I(139,189)] = {64,0}, + [I(140,189)] = {64,0}, + [I(141,189)] = {64,0}, + [I(142,189)] = {64,0}, + [I(143,189)] = {64,0}, + [I(144,189)] = {64,0}, + [I(145,189)] = {64,0}, + [I(146,189)] = {64,0}, + [I(147,189)] = {64,0}, + [I(148,189)] = {64,0}, + [I(149,189)] = {64,0}, + [I(150,189)] = {64,0}, + [I(151,189)] = {64,0}, + [I(152,189)] = {64,0}, + [I(153,189)] = {64,0}, + [I(154,189)] = {64,0}, + [I(155,189)] = {64,0}, + [I(156,189)] = {64,0}, + [I(157,189)] = {64,0}, + [I(158,189)] = {64,0}, + [I(159,189)] = {64,0}, + [I(160,189)] = {64,0}, + [I(161,189)] = {64,0}, + [I(162,189)] = {64,0}, + [I(163,189)] = {64,0}, + [I(164,189)] = {64,0}, + [I(165,189)] = {64,0}, + [I(166,189)] = {64,0}, + [I(167,189)] = {64,0}, + [I(168,189)] = {64,0}, + [I(169,189)] = {64,0}, + [I(170,189)] = {64,0}, + [I(171,189)] = {64,0}, + [I(172,189)] = {64,0}, + [I(173,189)] = {64,0}, + [I(174,189)] = {64,0}, + [I(175,189)] = {64,0}, + [I(176,189)] = {64,0}, + [I(177,189)] = {64,0}, + [I(178,189)] = {64,0}, + [I(179,189)] = {64,0}, + [I(180,189)] = {64,0}, + [I(181,189)] = {64,0}, + [I(182,189)] = {64,0}, + [I(183,189)] = {64,0}, + [I(184,189)] = {64,0}, + [I(185,189)] = {64,0}, + [I(186,189)] = {64,0}, + [I(187,189)] = {64,0}, + [I(188,189)] = {64,0}, + [I(189,189)] = {64,0}, + [I(190,189)] = {64,0}, + [I(191,189)] = {64,0}, + [I(192,189)] = {64,0}, + [I(193,189)] = {64,0}, + [I(194,189)] = {64,0}, + [I(195,189)] = {64,0}, + [I(196,189)] = {64,0}, + [I(197,189)] = {64,0}, + [I(198,189)] = {64,0}, + [I(199,189)] = {64,0}, + [I(200,189)] = {64,0}, + [I(201,189)] = {64,0}, + [I(202,189)] = {64,0}, + [I(203,189)] = {64,0}, + [I(204,189)] = {64,0}, + [I(205,189)] = {64,0}, + [I(206,189)] = {64,0}, + [I(207,189)] = {64,0}, + [I(208,189)] = {64,0}, + [I(209,189)] = {64,0}, + [I(210,189)] = {64,0}, + [I(211,189)] = {64,0}, + [I(212,189)] = {64,0}, + [I(213,189)] = {64,0}, + [I(214,189)] = {64,0}, + [I(215,189)] = {64,0}, + [I(216,189)] = {64,0}, + [I(217,189)] = {64,0}, + [I(218,189)] = {64,0}, + [I(219,189)] = {64,0}, + [I(220,189)] = {64,0}, + [I(221,189)] = {64,0}, + [I(222,189)] = {64,0}, + [I(223,189)] = {64,0}, + [I(224,189)] = {64,0}, + [I(225,189)] = {64,0}, + [I(226,189)] = {64,0}, + [I(227,189)] = {64,0}, + [I(228,189)] = {64,0}, + [I(229,189)] = {64,0}, + [I(230,189)] = {64,0}, + [I(231,189)] = {64,0}, + [I(232,189)] = {64,0}, + [I(233,189)] = {64,0}, + [I(234,189)] = {64,0}, + [I(235,189)] = {64,0}, + [I(236,189)] = {64,0}, + [I(237,189)] = {64,0}, + [I(238,189)] = {64,0}, + [I(239,189)] = {64,0}, + [I(240,189)] = {64,0}, + [I(241,189)] = {64,0}, + [I(242,189)] = {64,0}, + [I(243,189)] = {64,0}, + [I(244,189)] = {64,0}, + [I(245,189)] = {64,0}, + [I(246,189)] = {64,0}, + [I(247,189)] = {64,0}, + [I(248,189)] = {64,0}, + [I(249,189)] = {64,0}, + [I(250,189)] = {64,0}, + [I(251,189)] = {64,0}, + [I(252,189)] = {64,0}, + [I(253,189)] = {64,0}, + [I(254,189)] = {64,0}, + [I(255,189)] = {64,0}, + [I(0,190)] = {64,0}, + [I(1,190)] = {64,0}, + [I(2,190)] = {64,0}, + [I(3,190)] = {64,0}, + [I(4,190)] = {64,0}, + [I(5,190)] = {64,0}, + [I(6,190)] = {64,0}, + [I(7,190)] = {64,0}, + [I(8,190)] = {64,0}, + [I(9,190)] = {64,0}, + [I(10,190)] = {64,0}, + [I(11,190)] = {64,0}, + [I(12,190)] = {64,0}, + [I(13,190)] = {64,0}, + [I(14,190)] = {64,0}, + [I(15,190)] = {64,0}, + [I(16,190)] = {64,0}, + [I(17,190)] = {64,0}, + [I(18,190)] = {64,0}, + [I(19,190)] = {64,0}, + [I(20,190)] = {64,0}, + [I(21,190)] = {64,0}, + [I(22,190)] = {64,0}, + [I(23,190)] = {64,0}, + [I(24,190)] = {64,0}, + [I(25,190)] = {64,0}, + [I(26,190)] = {64,0}, + [I(27,190)] = {64,0}, + [I(28,190)] = {64,0}, + [I(29,190)] = {64,0}, + [I(30,190)] = {64,0}, + [I(31,190)] = {64,0}, + [I(32,190)] = {28,0x53FFFE6}, + [I(33,190)] = {X32,0xFE3FFFE6}, + [I(34,190)] = {X32,0xFE7FFFE6}, + [I(35,190)] = {64,0}, + [I(36,190)] = {64,0}, + [I(37,190)] = {28,0x57FFFE6}, + [I(38,190)] = {30,0x3E3FFFE6}, + [I(39,190)] = {64,0}, + [I(40,190)] = {X32,0xFEBFFFE6}, + [I(41,190)] = {X32,0xFEFFFFE6}, + [I(42,190)] = {30,0x3E7FFFE6}, + [I(43,190)] = {64,0}, + [I(44,190)] = {30,0x3EBFFFE6}, + [I(45,190)] = {28,0x5BFFFE6}, + [I(46,190)] = {28,0x5FFFFE6}, + [I(47,190)] = {28,0x63FFFE6}, + [I(48,190)] = {27,0x3FFFE6}, + [I(49,190)] = {27,0x7FFFE6}, + [I(50,190)] = {27,0xBFFFE6}, + [I(51,190)] = {28,0x67FFFE6}, + [I(52,190)] = {28,0x6BFFFE6}, + [I(53,190)] = {28,0x6FFFFE6}, + [I(54,190)] = {28,0x73FFFE6}, + [I(55,190)] = {28,0x77FFFE6}, + [I(56,190)] = {28,0x7BFFFE6}, + [I(57,190)] = {28,0x7FFFFE6}, + [I(58,190)] = {29,0x173FFFE6}, + [I(59,190)] = {30,0x3EFFFFE6}, + [I(60,190)] = {64,0}, + [I(61,190)] = {28,0x83FFFE6}, + [I(62,190)] = {64,0}, + [I(63,190)] = {X32,0xFF3FFFE6}, + [I(64,190)] = {64,0}, + [I(65,190)] = {28,0x87FFFE6}, + [I(66,190)] = {29,0x177FFFE6}, + [I(67,190)] = {29,0x17BFFFE6}, + [I(68,190)] = {29,0x17FFFFE6}, + [I(69,190)] = {29,0x183FFFE6}, + [I(70,190)] = {29,0x187FFFE6}, + [I(71,190)] = {29,0x18BFFFE6}, + [I(72,190)] = {29,0x18FFFFE6}, + [I(73,190)] = {29,0x193FFFE6}, + [I(74,190)] = {29,0x197FFFE6}, + [I(75,190)] = {29,0x19BFFFE6}, + [I(76,190)] = {29,0x19FFFFE6}, + [I(77,190)] = {29,0x1A3FFFE6}, + [I(78,190)] = {29,0x1A7FFFE6}, + [I(79,190)] = {29,0x1ABFFFE6}, + [I(80,190)] = {29,0x1AFFFFE6}, + [I(81,190)] = {29,0x1B3FFFE6}, + [I(82,190)] = {29,0x1B7FFFE6}, + [I(83,190)] = {29,0x1BBFFFE6}, + [I(84,190)] = {29,0x1BFFFFE6}, + [I(85,190)] = {29,0x1C3FFFE6}, + [I(86,190)] = {29,0x1C7FFFE6}, + [I(87,190)] = {29,0x1CBFFFE6}, + [I(88,190)] = {30,0x3F3FFFE6}, + [I(89,190)] = {29,0x1CFFFFE6}, + [I(90,190)] = {30,0x3F7FFFE6}, + [I(91,190)] = {64,0}, + [I(92,190)] = {64,0}, + [I(93,190)] = {64,0}, + [I(94,190)] = {64,0}, + [I(95,190)] = {28,0x8BFFFE6}, + [I(96,190)] = {64,0}, + [I(97,190)] = {27,0xFFFFE6}, + [I(98,190)] = {28,0x8FFFFE6}, + [I(99,190)] = {27,0x13FFFE6}, + [I(100,190)] = {28,0x93FFFE6}, + [I(101,190)] = {27,0x17FFFE6}, + [I(102,190)] = {28,0x97FFFE6}, + [I(103,190)] = {28,0x9BFFFE6}, + [I(104,190)] = {28,0x9FFFFE6}, + [I(105,190)] = {27,0x1BFFFE6}, + [I(106,190)] = {29,0x1D3FFFE6}, + [I(107,190)] = {29,0x1D7FFFE6}, + [I(108,190)] = {28,0xA3FFFE6}, + [I(109,190)] = {28,0xA7FFFE6}, + [I(110,190)] = {28,0xABFFFE6}, + [I(111,190)] = {27,0x1FFFFE6}, + [I(112,190)] = {28,0xAFFFFE6}, + [I(113,190)] = {29,0x1DBFFFE6}, + [I(114,190)] = {28,0xB3FFFE6}, + [I(115,190)] = {27,0x23FFFE6}, + [I(116,190)] = {27,0x27FFFE6}, + [I(117,190)] = {28,0xB7FFFE6}, + [I(118,190)] = {29,0x1DFFFFE6}, + [I(119,190)] = {29,0x1E3FFFE6}, + [I(120,190)] = {29,0x1E7FFFE6}, + [I(121,190)] = {29,0x1EBFFFE6}, + [I(122,190)] = {29,0x1EFFFFE6}, + [I(123,190)] = {64,0}, + [I(124,190)] = {64,0}, + [I(125,190)] = {64,0}, + [I(126,190)] = {64,0}, + [I(127,190)] = {64,0}, + [I(128,190)] = {64,0}, + [I(129,190)] = {64,0}, + [I(130,190)] = {64,0}, + [I(131,190)] = {64,0}, + [I(132,190)] = {64,0}, + [I(133,190)] = {64,0}, + [I(134,190)] = {64,0}, + [I(135,190)] = {64,0}, + [I(136,190)] = {64,0}, + [I(137,190)] = {64,0}, + [I(138,190)] = {64,0}, + [I(139,190)] = {64,0}, + [I(140,190)] = {64,0}, + [I(141,190)] = {64,0}, + [I(142,190)] = {64,0}, + [I(143,190)] = {64,0}, + [I(144,190)] = {64,0}, + [I(145,190)] = {64,0}, + [I(146,190)] = {64,0}, + [I(147,190)] = {64,0}, + [I(148,190)] = {64,0}, + [I(149,190)] = {64,0}, + [I(150,190)] = {64,0}, + [I(151,190)] = {64,0}, + [I(152,190)] = {64,0}, + [I(153,190)] = {64,0}, + [I(154,190)] = {64,0}, + [I(155,190)] = {64,0}, + [I(156,190)] = {64,0}, + [I(157,190)] = {64,0}, + [I(158,190)] = {64,0}, + [I(159,190)] = {64,0}, + [I(160,190)] = {64,0}, + [I(161,190)] = {64,0}, + [I(162,190)] = {64,0}, + [I(163,190)] = {64,0}, + [I(164,190)] = {64,0}, + [I(165,190)] = {64,0}, + [I(166,190)] = {64,0}, + [I(167,190)] = {64,0}, + [I(168,190)] = {64,0}, + [I(169,190)] = {64,0}, + [I(170,190)] = {64,0}, + [I(171,190)] = {64,0}, + [I(172,190)] = {64,0}, + [I(173,190)] = {64,0}, + [I(174,190)] = {64,0}, + [I(175,190)] = {64,0}, + [I(176,190)] = {64,0}, + [I(177,190)] = {64,0}, + [I(178,190)] = {64,0}, + [I(179,190)] = {64,0}, + [I(180,190)] = {64,0}, + [I(181,190)] = {64,0}, + [I(182,190)] = {64,0}, + [I(183,190)] = {64,0}, + [I(184,190)] = {64,0}, + [I(185,190)] = {64,0}, + [I(186,190)] = {64,0}, + [I(187,190)] = {64,0}, + [I(188,190)] = {64,0}, + [I(189,190)] = {64,0}, + [I(190,190)] = {64,0}, + [I(191,190)] = {64,0}, + [I(192,190)] = {64,0}, + [I(193,190)] = {64,0}, + [I(194,190)] = {64,0}, + [I(195,190)] = {64,0}, + [I(196,190)] = {64,0}, + [I(197,190)] = {64,0}, + [I(198,190)] = {64,0}, + [I(199,190)] = {64,0}, + [I(200,190)] = {64,0}, + [I(201,190)] = {64,0}, + [I(202,190)] = {64,0}, + [I(203,190)] = {64,0}, + [I(204,190)] = {64,0}, + [I(205,190)] = {64,0}, + [I(206,190)] = {64,0}, + [I(207,190)] = {64,0}, + [I(208,190)] = {64,0}, + [I(209,190)] = {64,0}, + [I(210,190)] = {64,0}, + [I(211,190)] = {64,0}, + [I(212,190)] = {64,0}, + [I(213,190)] = {64,0}, + [I(214,190)] = {64,0}, + [I(215,190)] = {64,0}, + [I(216,190)] = {64,0}, + [I(217,190)] = {64,0}, + [I(218,190)] = {64,0}, + [I(219,190)] = {64,0}, + [I(220,190)] = {64,0}, + [I(221,190)] = {64,0}, + [I(222,190)] = {64,0}, + [I(223,190)] = {64,0}, + [I(224,190)] = {64,0}, + [I(225,190)] = {64,0}, + [I(226,190)] = {64,0}, + [I(227,190)] = {64,0}, + [I(228,190)] = {64,0}, + [I(229,190)] = {64,0}, + [I(230,190)] = {64,0}, + [I(231,190)] = {64,0}, + [I(232,190)] = {64,0}, + [I(233,190)] = {64,0}, + [I(234,190)] = {64,0}, + [I(235,190)] = {64,0}, + [I(236,190)] = {64,0}, + [I(237,190)] = {64,0}, + [I(238,190)] = {64,0}, + [I(239,190)] = {64,0}, + [I(240,190)] = {64,0}, + [I(241,190)] = {64,0}, + [I(242,190)] = {64,0}, + [I(243,190)] = {64,0}, + [I(244,190)] = {64,0}, + [I(245,190)] = {64,0}, + [I(246,190)] = {64,0}, + [I(247,190)] = {64,0}, + [I(248,190)] = {64,0}, + [I(249,190)] = {64,0}, + [I(250,190)] = {64,0}, + [I(251,190)] = {64,0}, + [I(252,190)] = {64,0}, + [I(253,190)] = {64,0}, + [I(254,190)] = {64,0}, + [I(255,190)] = {64,0}, + [I(0,191)] = {64,0}, + [I(1,191)] = {64,0}, + [I(2,191)] = {64,0}, + [I(3,191)] = {64,0}, + [I(4,191)] = {64,0}, + [I(5,191)] = {64,0}, + [I(6,191)] = {64,0}, + [I(7,191)] = {64,0}, + [I(8,191)] = {64,0}, + [I(9,191)] = {64,0}, + [I(10,191)] = {64,0}, + [I(11,191)] = {64,0}, + [I(12,191)] = {64,0}, + [I(13,191)] = {64,0}, + [I(14,191)] = {64,0}, + [I(15,191)] = {64,0}, + [I(16,191)] = {64,0}, + [I(17,191)] = {64,0}, + [I(18,191)] = {64,0}, + [I(19,191)] = {64,0}, + [I(20,191)] = {64,0}, + [I(21,191)] = {64,0}, + [I(22,191)] = {64,0}, + [I(23,191)] = {64,0}, + [I(24,191)] = {64,0}, + [I(25,191)] = {64,0}, + [I(26,191)] = {64,0}, + [I(27,191)] = {64,0}, + [I(28,191)] = {64,0}, + [I(29,191)] = {64,0}, + [I(30,191)] = {64,0}, + [I(31,191)] = {64,0}, + [I(32,191)] = {29,0xA7FFFF1}, + [I(33,191)] = {64,0}, + [I(34,191)] = {64,0}, + [I(35,191)] = {64,0}, + [I(36,191)] = {64,0}, + [I(37,191)] = {29,0xAFFFFF1}, + [I(38,191)] = {31,0x7C7FFFF1}, + [I(39,191)] = {64,0}, + [I(40,191)] = {64,0}, + [I(41,191)] = {64,0}, + [I(42,191)] = {31,0x7CFFFFF1}, + [I(43,191)] = {64,0}, + [I(44,191)] = {31,0x7D7FFFF1}, + [I(45,191)] = {29,0xB7FFFF1}, + [I(46,191)] = {29,0xBFFFFF1}, + [I(47,191)] = {29,0xC7FFFF1}, + [I(48,191)] = {28,0x7FFFF1}, + [I(49,191)] = {28,0xFFFFF1}, + [I(50,191)] = {28,0x17FFFF1}, + [I(51,191)] = {29,0xCFFFFF1}, + [I(52,191)] = {29,0xD7FFFF1}, + [I(53,191)] = {29,0xDFFFFF1}, + [I(54,191)] = {29,0xE7FFFF1}, + [I(55,191)] = {29,0xEFFFFF1}, + [I(56,191)] = {29,0xF7FFFF1}, + [I(57,191)] = {29,0xFFFFFF1}, + [I(58,191)] = {30,0x2E7FFFF1}, + [I(59,191)] = {31,0x7DFFFFF1}, + [I(60,191)] = {64,0}, + [I(61,191)] = {29,0x107FFFF1}, + [I(62,191)] = {64,0}, + [I(63,191)] = {64,0}, + [I(64,191)] = {64,0}, + [I(65,191)] = {29,0x10FFFFF1}, + [I(66,191)] = {30,0x2EFFFFF1}, + [I(67,191)] = {30,0x2F7FFFF1}, + [I(68,191)] = {30,0x2FFFFFF1}, + [I(69,191)] = {30,0x307FFFF1}, + [I(70,191)] = {30,0x30FFFFF1}, + [I(71,191)] = {30,0x317FFFF1}, + [I(72,191)] = {30,0x31FFFFF1}, + [I(73,191)] = {30,0x327FFFF1}, + [I(74,191)] = {30,0x32FFFFF1}, + [I(75,191)] = {30,0x337FFFF1}, + [I(76,191)] = {30,0x33FFFFF1}, + [I(77,191)] = {30,0x347FFFF1}, + [I(78,191)] = {30,0x34FFFFF1}, + [I(79,191)] = {30,0x357FFFF1}, + [I(80,191)] = {30,0x35FFFFF1}, + [I(81,191)] = {30,0x367FFFF1}, + [I(82,191)] = {30,0x36FFFFF1}, + [I(83,191)] = {30,0x377FFFF1}, + [I(84,191)] = {30,0x37FFFFF1}, + [I(85,191)] = {30,0x387FFFF1}, + [I(86,191)] = {30,0x38FFFFF1}, + [I(87,191)] = {30,0x397FFFF1}, + [I(88,191)] = {31,0x7E7FFFF1}, + [I(89,191)] = {30,0x39FFFFF1}, + [I(90,191)] = {31,0x7EFFFFF1}, + [I(91,191)] = {64,0}, + [I(92,191)] = {64,0}, + [I(93,191)] = {64,0}, + [I(94,191)] = {64,0}, + [I(95,191)] = {29,0x117FFFF1}, + [I(96,191)] = {64,0}, + [I(97,191)] = {28,0x1FFFFF1}, + [I(98,191)] = {29,0x11FFFFF1}, + [I(99,191)] = {28,0x27FFFF1}, + [I(100,191)] = {29,0x127FFFF1}, + [I(101,191)] = {28,0x2FFFFF1}, + [I(102,191)] = {29,0x12FFFFF1}, + [I(103,191)] = {29,0x137FFFF1}, + [I(104,191)] = {29,0x13FFFFF1}, + [I(105,191)] = {28,0x37FFFF1}, + [I(106,191)] = {30,0x3A7FFFF1}, + [I(107,191)] = {30,0x3AFFFFF1}, + [I(108,191)] = {29,0x147FFFF1}, + [I(109,191)] = {29,0x14FFFFF1}, + [I(110,191)] = {29,0x157FFFF1}, + [I(111,191)] = {28,0x3FFFFF1}, + [I(112,191)] = {29,0x15FFFFF1}, + [I(113,191)] = {30,0x3B7FFFF1}, + [I(114,191)] = {29,0x167FFFF1}, + [I(115,191)] = {28,0x47FFFF1}, + [I(116,191)] = {28,0x4FFFFF1}, + [I(117,191)] = {29,0x16FFFFF1}, + [I(118,191)] = {30,0x3BFFFFF1}, + [I(119,191)] = {30,0x3C7FFFF1}, + [I(120,191)] = {30,0x3CFFFFF1}, + [I(121,191)] = {30,0x3D7FFFF1}, + [I(122,191)] = {30,0x3DFFFFF1}, + [I(123,191)] = {64,0}, + [I(124,191)] = {64,0}, + [I(125,191)] = {64,0}, + [I(126,191)] = {64,0}, + [I(127,191)] = {64,0}, + [I(128,191)] = {64,0}, + [I(129,191)] = {64,0}, + [I(130,191)] = {64,0}, + [I(131,191)] = {64,0}, + [I(132,191)] = {64,0}, + [I(133,191)] = {64,0}, + [I(134,191)] = {64,0}, + [I(135,191)] = {64,0}, + [I(136,191)] = {64,0}, + [I(137,191)] = {64,0}, + [I(138,191)] = {64,0}, + [I(139,191)] = {64,0}, + [I(140,191)] = {64,0}, + [I(141,191)] = {64,0}, + [I(142,191)] = {64,0}, + [I(143,191)] = {64,0}, + [I(144,191)] = {64,0}, + [I(145,191)] = {64,0}, + [I(146,191)] = {64,0}, + [I(147,191)] = {64,0}, + [I(148,191)] = {64,0}, + [I(149,191)] = {64,0}, + [I(150,191)] = {64,0}, + [I(151,191)] = {64,0}, + [I(152,191)] = {64,0}, + [I(153,191)] = {64,0}, + [I(154,191)] = {64,0}, + [I(155,191)] = {64,0}, + [I(156,191)] = {64,0}, + [I(157,191)] = {64,0}, + [I(158,191)] = {64,0}, + [I(159,191)] = {64,0}, + [I(160,191)] = {64,0}, + [I(161,191)] = {64,0}, + [I(162,191)] = {64,0}, + [I(163,191)] = {64,0}, + [I(164,191)] = {64,0}, + [I(165,191)] = {64,0}, + [I(166,191)] = {64,0}, + [I(167,191)] = {64,0}, + [I(168,191)] = {64,0}, + [I(169,191)] = {64,0}, + [I(170,191)] = {64,0}, + [I(171,191)] = {64,0}, + [I(172,191)] = {64,0}, + [I(173,191)] = {64,0}, + [I(174,191)] = {64,0}, + [I(175,191)] = {64,0}, + [I(176,191)] = {64,0}, + [I(177,191)] = {64,0}, + [I(178,191)] = {64,0}, + [I(179,191)] = {64,0}, + [I(180,191)] = {64,0}, + [I(181,191)] = {64,0}, + [I(182,191)] = {64,0}, + [I(183,191)] = {64,0}, + [I(184,191)] = {64,0}, + [I(185,191)] = {64,0}, + [I(186,191)] = {64,0}, + [I(187,191)] = {64,0}, + [I(188,191)] = {64,0}, + [I(189,191)] = {64,0}, + [I(190,191)] = {64,0}, + [I(191,191)] = {64,0}, + [I(192,191)] = {64,0}, + [I(193,191)] = {64,0}, + [I(194,191)] = {64,0}, + [I(195,191)] = {64,0}, + [I(196,191)] = {64,0}, + [I(197,191)] = {64,0}, + [I(198,191)] = {64,0}, + [I(199,191)] = {64,0}, + [I(200,191)] = {64,0}, + [I(201,191)] = {64,0}, + [I(202,191)] = {64,0}, + [I(203,191)] = {64,0}, + [I(204,191)] = {64,0}, + [I(205,191)] = {64,0}, + [I(206,191)] = {64,0}, + [I(207,191)] = {64,0}, + [I(208,191)] = {64,0}, + [I(209,191)] = {64,0}, + [I(210,191)] = {64,0}, + [I(211,191)] = {64,0}, + [I(212,191)] = {64,0}, + [I(213,191)] = {64,0}, + [I(214,191)] = {64,0}, + [I(215,191)] = {64,0}, + [I(216,191)] = {64,0}, + [I(217,191)] = {64,0}, + [I(218,191)] = {64,0}, + [I(219,191)] = {64,0}, + [I(220,191)] = {64,0}, + [I(221,191)] = {64,0}, + [I(222,191)] = {64,0}, + [I(223,191)] = {64,0}, + [I(224,191)] = {64,0}, + [I(225,191)] = {64,0}, + [I(226,191)] = {64,0}, + [I(227,191)] = {64,0}, + [I(228,191)] = {64,0}, + [I(229,191)] = {64,0}, + [I(230,191)] = {64,0}, + [I(231,191)] = {64,0}, + [I(232,191)] = {64,0}, + [I(233,191)] = {64,0}, + [I(234,191)] = {64,0}, + [I(235,191)] = {64,0}, + [I(236,191)] = {64,0}, + [I(237,191)] = {64,0}, + [I(238,191)] = {64,0}, + [I(239,191)] = {64,0}, + [I(240,191)] = {64,0}, + [I(241,191)] = {64,0}, + [I(242,191)] = {64,0}, + [I(243,191)] = {64,0}, + [I(244,191)] = {64,0}, + [I(245,191)] = {64,0}, + [I(246,191)] = {64,0}, + [I(247,191)] = {64,0}, + [I(248,191)] = {64,0}, + [I(249,191)] = {64,0}, + [I(250,191)] = {64,0}, + [I(251,191)] = {64,0}, + [I(252,191)] = {64,0}, + [I(253,191)] = {64,0}, + [I(254,191)] = {64,0}, + [I(255,191)] = {64,0}, + [I(0,192)] = {64,0}, + [I(1,192)] = {64,0}, + [I(2,192)] = {64,0}, + [I(3,192)] = {64,0}, + [I(4,192)] = {64,0}, + [I(5,192)] = {64,0}, + [I(6,192)] = {64,0}, + [I(7,192)] = {64,0}, + [I(8,192)] = {64,0}, + [I(9,192)] = {64,0}, + [I(10,192)] = {64,0}, + [I(11,192)] = {64,0}, + [I(12,192)] = {64,0}, + [I(13,192)] = {64,0}, + [I(14,192)] = {64,0}, + [I(15,192)] = {64,0}, + [I(16,192)] = {64,0}, + [I(17,192)] = {64,0}, + [I(18,192)] = {64,0}, + [I(19,192)] = {64,0}, + [I(20,192)] = {64,0}, + [I(21,192)] = {64,0}, + [I(22,192)] = {64,0}, + [I(23,192)] = {64,0}, + [I(24,192)] = {64,0}, + [I(25,192)] = {64,0}, + [I(26,192)] = {64,0}, + [I(27,192)] = {64,0}, + [I(28,192)] = {64,0}, + [I(29,192)] = {64,0}, + [I(30,192)] = {64,0}, + [I(31,192)] = {64,0}, + [I(32,192)] = {X32,0x53FFFFE0}, + [I(33,192)] = {64,0}, + [I(34,192)] = {64,0}, + [I(35,192)] = {64,0}, + [I(36,192)] = {64,0}, + [I(37,192)] = {X32,0x57FFFFE0}, + [I(38,192)] = {64,0}, + [I(39,192)] = {64,0}, + [I(40,192)] = {64,0}, + [I(41,192)] = {64,0}, + [I(42,192)] = {64,0}, + [I(43,192)] = {64,0}, + [I(44,192)] = {64,0}, + [I(45,192)] = {X32,0x5BFFFFE0}, + [I(46,192)] = {X32,0x5FFFFFE0}, + [I(47,192)] = {X32,0x63FFFFE0}, + [I(48,192)] = {31,0x3FFFFE0}, + [I(49,192)] = {31,0x7FFFFE0}, + [I(50,192)] = {31,0xBFFFFE0}, + [I(51,192)] = {X32,0x67FFFFE0}, + [I(52,192)] = {X32,0x6BFFFFE0}, + [I(53,192)] = {X32,0x6FFFFFE0}, + [I(54,192)] = {X32,0x73FFFFE0}, + [I(55,192)] = {X32,0x77FFFFE0}, + [I(56,192)] = {X32,0x7BFFFFE0}, + [I(57,192)] = {X32,0x7FFFFFE0}, + [I(58,192)] = {64,0}, + [I(59,192)] = {64,0}, + [I(60,192)] = {64,0}, + [I(61,192)] = {X32,0x83FFFFE0}, + [I(62,192)] = {64,0}, + [I(63,192)] = {64,0}, + [I(64,192)] = {64,0}, + [I(65,192)] = {X32,0x87FFFFE0}, + [I(66,192)] = {64,0}, + [I(67,192)] = {64,0}, + [I(68,192)] = {64,0}, + [I(69,192)] = {64,0}, + [I(70,192)] = {64,0}, + [I(71,192)] = {64,0}, + [I(72,192)] = {64,0}, + [I(73,192)] = {64,0}, + [I(74,192)] = {64,0}, + [I(75,192)] = {64,0}, + [I(76,192)] = {64,0}, + [I(77,192)] = {64,0}, + [I(78,192)] = {64,0}, + [I(79,192)] = {64,0}, + [I(80,192)] = {64,0}, + [I(81,192)] = {64,0}, + [I(82,192)] = {64,0}, + [I(83,192)] = {64,0}, + [I(84,192)] = {64,0}, + [I(85,192)] = {64,0}, + [I(86,192)] = {64,0}, + [I(87,192)] = {64,0}, + [I(88,192)] = {64,0}, + [I(89,192)] = {64,0}, + [I(90,192)] = {64,0}, + [I(91,192)] = {64,0}, + [I(92,192)] = {64,0}, + [I(93,192)] = {64,0}, + [I(94,192)] = {64,0}, + [I(95,192)] = {X32,0x8BFFFFE0}, + [I(96,192)] = {64,0}, + [I(97,192)] = {31,0xFFFFFE0}, + [I(98,192)] = {X32,0x8FFFFFE0}, + [I(99,192)] = {31,0x13FFFFE0}, + [I(100,192)] = {X32,0x93FFFFE0}, + [I(101,192)] = {31,0x17FFFFE0}, + [I(102,192)] = {X32,0x97FFFFE0}, + [I(103,192)] = {X32,0x9BFFFFE0}, + [I(104,192)] = {X32,0x9FFFFFE0}, + [I(105,192)] = {31,0x1BFFFFE0}, + [I(106,192)] = {64,0}, + [I(107,192)] = {64,0}, + [I(108,192)] = {X32,0xA3FFFFE0}, + [I(109,192)] = {X32,0xA7FFFFE0}, + [I(110,192)] = {X32,0xABFFFFE0}, + [I(111,192)] = {31,0x1FFFFFE0}, + [I(112,192)] = {X32,0xAFFFFFE0}, + [I(113,192)] = {64,0}, + [I(114,192)] = {X32,0xB3FFFFE0}, + [I(115,192)] = {31,0x23FFFFE0}, + [I(116,192)] = {31,0x27FFFFE0}, + [I(117,192)] = {X32,0xB7FFFFE0}, + [I(118,192)] = {64,0}, + [I(119,192)] = {64,0}, + [I(120,192)] = {64,0}, + [I(121,192)] = {64,0}, + [I(122,192)] = {64,0}, + [I(123,192)] = {64,0}, + [I(124,192)] = {64,0}, + [I(125,192)] = {64,0}, + [I(126,192)] = {64,0}, + [I(127,192)] = {64,0}, + [I(128,192)] = {64,0}, + [I(129,192)] = {64,0}, + [I(130,192)] = {64,0}, + [I(131,192)] = {64,0}, + [I(132,192)] = {64,0}, + [I(133,192)] = {64,0}, + [I(134,192)] = {64,0}, + [I(135,192)] = {64,0}, + [I(136,192)] = {64,0}, + [I(137,192)] = {64,0}, + [I(138,192)] = {64,0}, + [I(139,192)] = {64,0}, + [I(140,192)] = {64,0}, + [I(141,192)] = {64,0}, + [I(142,192)] = {64,0}, + [I(143,192)] = {64,0}, + [I(144,192)] = {64,0}, + [I(145,192)] = {64,0}, + [I(146,192)] = {64,0}, + [I(147,192)] = {64,0}, + [I(148,192)] = {64,0}, + [I(149,192)] = {64,0}, + [I(150,192)] = {64,0}, + [I(151,192)] = {64,0}, + [I(152,192)] = {64,0}, + [I(153,192)] = {64,0}, + [I(154,192)] = {64,0}, + [I(155,192)] = {64,0}, + [I(156,192)] = {64,0}, + [I(157,192)] = {64,0}, + [I(158,192)] = {64,0}, + [I(159,192)] = {64,0}, + [I(160,192)] = {64,0}, + [I(161,192)] = {64,0}, + [I(162,192)] = {64,0}, + [I(163,192)] = {64,0}, + [I(164,192)] = {64,0}, + [I(165,192)] = {64,0}, + [I(166,192)] = {64,0}, + [I(167,192)] = {64,0}, + [I(168,192)] = {64,0}, + [I(169,192)] = {64,0}, + [I(170,192)] = {64,0}, + [I(171,192)] = {64,0}, + [I(172,192)] = {64,0}, + [I(173,192)] = {64,0}, + [I(174,192)] = {64,0}, + [I(175,192)] = {64,0}, + [I(176,192)] = {64,0}, + [I(177,192)] = {64,0}, + [I(178,192)] = {64,0}, + [I(179,192)] = {64,0}, + [I(180,192)] = {64,0}, + [I(181,192)] = {64,0}, + [I(182,192)] = {64,0}, + [I(183,192)] = {64,0}, + [I(184,192)] = {64,0}, + [I(185,192)] = {64,0}, + [I(186,192)] = {64,0}, + [I(187,192)] = {64,0}, + [I(188,192)] = {64,0}, + [I(189,192)] = {64,0}, + [I(190,192)] = {64,0}, + [I(191,192)] = {64,0}, + [I(192,192)] = {64,0}, + [I(193,192)] = {64,0}, + [I(194,192)] = {64,0}, + [I(195,192)] = {64,0}, + [I(196,192)] = {64,0}, + [I(197,192)] = {64,0}, + [I(198,192)] = {64,0}, + [I(199,192)] = {64,0}, + [I(200,192)] = {64,0}, + [I(201,192)] = {64,0}, + [I(202,192)] = {64,0}, + [I(203,192)] = {64,0}, + [I(204,192)] = {64,0}, + [I(205,192)] = {64,0}, + [I(206,192)] = {64,0}, + [I(207,192)] = {64,0}, + [I(208,192)] = {64,0}, + [I(209,192)] = {64,0}, + [I(210,192)] = {64,0}, + [I(211,192)] = {64,0}, + [I(212,192)] = {64,0}, + [I(213,192)] = {64,0}, + [I(214,192)] = {64,0}, + [I(215,192)] = {64,0}, + [I(216,192)] = {64,0}, + [I(217,192)] = {64,0}, + [I(218,192)] = {64,0}, + [I(219,192)] = {64,0}, + [I(220,192)] = {64,0}, + [I(221,192)] = {64,0}, + [I(222,192)] = {64,0}, + [I(223,192)] = {64,0}, + [I(224,192)] = {64,0}, + [I(225,192)] = {64,0}, + [I(226,192)] = {64,0}, + [I(227,192)] = {64,0}, + [I(228,192)] = {64,0}, + [I(229,192)] = {64,0}, + [I(230,192)] = {64,0}, + [I(231,192)] = {64,0}, + [I(232,192)] = {64,0}, + [I(233,192)] = {64,0}, + [I(234,192)] = {64,0}, + [I(235,192)] = {64,0}, + [I(236,192)] = {64,0}, + [I(237,192)] = {64,0}, + [I(238,192)] = {64,0}, + [I(239,192)] = {64,0}, + [I(240,192)] = {64,0}, + [I(241,192)] = {64,0}, + [I(242,192)] = {64,0}, + [I(243,192)] = {64,0}, + [I(244,192)] = {64,0}, + [I(245,192)] = {64,0}, + [I(246,192)] = {64,0}, + [I(247,192)] = {64,0}, + [I(248,192)] = {64,0}, + [I(249,192)] = {64,0}, + [I(250,192)] = {64,0}, + [I(251,192)] = {64,0}, + [I(252,192)] = {64,0}, + [I(253,192)] = {64,0}, + [I(254,192)] = {64,0}, + [I(255,192)] = {64,0}, + [I(0,193)] = {64,0}, + [I(1,193)] = {64,0}, + [I(2,193)] = {64,0}, + [I(3,193)] = {64,0}, + [I(4,193)] = {64,0}, + [I(5,193)] = {64,0}, + [I(6,193)] = {64,0}, + [I(7,193)] = {64,0}, + [I(8,193)] = {64,0}, + [I(9,193)] = {64,0}, + [I(10,193)] = {64,0}, + [I(11,193)] = {64,0}, + [I(12,193)] = {64,0}, + [I(13,193)] = {64,0}, + [I(14,193)] = {64,0}, + [I(15,193)] = {64,0}, + [I(16,193)] = {64,0}, + [I(17,193)] = {64,0}, + [I(18,193)] = {64,0}, + [I(19,193)] = {64,0}, + [I(20,193)] = {64,0}, + [I(21,193)] = {64,0}, + [I(22,193)] = {64,0}, + [I(23,193)] = {64,0}, + [I(24,193)] = {64,0}, + [I(25,193)] = {64,0}, + [I(26,193)] = {64,0}, + [I(27,193)] = {64,0}, + [I(28,193)] = {64,0}, + [I(29,193)] = {64,0}, + [I(30,193)] = {64,0}, + [I(31,193)] = {64,0}, + [I(32,193)] = {X32,0x53FFFFE1}, + [I(33,193)] = {64,0}, + [I(34,193)] = {64,0}, + [I(35,193)] = {64,0}, + [I(36,193)] = {64,0}, + [I(37,193)] = {X32,0x57FFFFE1}, + [I(38,193)] = {64,0}, + [I(39,193)] = {64,0}, + [I(40,193)] = {64,0}, + [I(41,193)] = {64,0}, + [I(42,193)] = {64,0}, + [I(43,193)] = {64,0}, + [I(44,193)] = {64,0}, + [I(45,193)] = {X32,0x5BFFFFE1}, + [I(46,193)] = {X32,0x5FFFFFE1}, + [I(47,193)] = {X32,0x63FFFFE1}, + [I(48,193)] = {31,0x3FFFFE1}, + [I(49,193)] = {31,0x7FFFFE1}, + [I(50,193)] = {31,0xBFFFFE1}, + [I(51,193)] = {X32,0x67FFFFE1}, + [I(52,193)] = {X32,0x6BFFFFE1}, + [I(53,193)] = {X32,0x6FFFFFE1}, + [I(54,193)] = {X32,0x73FFFFE1}, + [I(55,193)] = {X32,0x77FFFFE1}, + [I(56,193)] = {X32,0x7BFFFFE1}, + [I(57,193)] = {X32,0x7FFFFFE1}, + [I(58,193)] = {64,0}, + [I(59,193)] = {64,0}, + [I(60,193)] = {64,0}, + [I(61,193)] = {X32,0x83FFFFE1}, + [I(62,193)] = {64,0}, + [I(63,193)] = {64,0}, + [I(64,193)] = {64,0}, + [I(65,193)] = {X32,0x87FFFFE1}, + [I(66,193)] = {64,0}, + [I(67,193)] = {64,0}, + [I(68,193)] = {64,0}, + [I(69,193)] = {64,0}, + [I(70,193)] = {64,0}, + [I(71,193)] = {64,0}, + [I(72,193)] = {64,0}, + [I(73,193)] = {64,0}, + [I(74,193)] = {64,0}, + [I(75,193)] = {64,0}, + [I(76,193)] = {64,0}, + [I(77,193)] = {64,0}, + [I(78,193)] = {64,0}, + [I(79,193)] = {64,0}, + [I(80,193)] = {64,0}, + [I(81,193)] = {64,0}, + [I(82,193)] = {64,0}, + [I(83,193)] = {64,0}, + [I(84,193)] = {64,0}, + [I(85,193)] = {64,0}, + [I(86,193)] = {64,0}, + [I(87,193)] = {64,0}, + [I(88,193)] = {64,0}, + [I(89,193)] = {64,0}, + [I(90,193)] = {64,0}, + [I(91,193)] = {64,0}, + [I(92,193)] = {64,0}, + [I(93,193)] = {64,0}, + [I(94,193)] = {64,0}, + [I(95,193)] = {X32,0x8BFFFFE1}, + [I(96,193)] = {64,0}, + [I(97,193)] = {31,0xFFFFFE1}, + [I(98,193)] = {X32,0x8FFFFFE1}, + [I(99,193)] = {31,0x13FFFFE1}, + [I(100,193)] = {X32,0x93FFFFE1}, + [I(101,193)] = {31,0x17FFFFE1}, + [I(102,193)] = {X32,0x97FFFFE1}, + [I(103,193)] = {X32,0x9BFFFFE1}, + [I(104,193)] = {X32,0x9FFFFFE1}, + [I(105,193)] = {31,0x1BFFFFE1}, + [I(106,193)] = {64,0}, + [I(107,193)] = {64,0}, + [I(108,193)] = {X32,0xA3FFFFE1}, + [I(109,193)] = {X32,0xA7FFFFE1}, + [I(110,193)] = {X32,0xABFFFFE1}, + [I(111,193)] = {31,0x1FFFFFE1}, + [I(112,193)] = {X32,0xAFFFFFE1}, + [I(113,193)] = {64,0}, + [I(114,193)] = {X32,0xB3FFFFE1}, + [I(115,193)] = {31,0x23FFFFE1}, + [I(116,193)] = {31,0x27FFFFE1}, + [I(117,193)] = {X32,0xB7FFFFE1}, + [I(118,193)] = {64,0}, + [I(119,193)] = {64,0}, + [I(120,193)] = {64,0}, + [I(121,193)] = {64,0}, + [I(122,193)] = {64,0}, + [I(123,193)] = {64,0}, + [I(124,193)] = {64,0}, + [I(125,193)] = {64,0}, + [I(126,193)] = {64,0}, + [I(127,193)] = {64,0}, + [I(128,193)] = {64,0}, + [I(129,193)] = {64,0}, + [I(130,193)] = {64,0}, + [I(131,193)] = {64,0}, + [I(132,193)] = {64,0}, + [I(133,193)] = {64,0}, + [I(134,193)] = {64,0}, + [I(135,193)] = {64,0}, + [I(136,193)] = {64,0}, + [I(137,193)] = {64,0}, + [I(138,193)] = {64,0}, + [I(139,193)] = {64,0}, + [I(140,193)] = {64,0}, + [I(141,193)] = {64,0}, + [I(142,193)] = {64,0}, + [I(143,193)] = {64,0}, + [I(144,193)] = {64,0}, + [I(145,193)] = {64,0}, + [I(146,193)] = {64,0}, + [I(147,193)] = {64,0}, + [I(148,193)] = {64,0}, + [I(149,193)] = {64,0}, + [I(150,193)] = {64,0}, + [I(151,193)] = {64,0}, + [I(152,193)] = {64,0}, + [I(153,193)] = {64,0}, + [I(154,193)] = {64,0}, + [I(155,193)] = {64,0}, + [I(156,193)] = {64,0}, + [I(157,193)] = {64,0}, + [I(158,193)] = {64,0}, + [I(159,193)] = {64,0}, + [I(160,193)] = {64,0}, + [I(161,193)] = {64,0}, + [I(162,193)] = {64,0}, + [I(163,193)] = {64,0}, + [I(164,193)] = {64,0}, + [I(165,193)] = {64,0}, + [I(166,193)] = {64,0}, + [I(167,193)] = {64,0}, + [I(168,193)] = {64,0}, + [I(169,193)] = {64,0}, + [I(170,193)] = {64,0}, + [I(171,193)] = {64,0}, + [I(172,193)] = {64,0}, + [I(173,193)] = {64,0}, + [I(174,193)] = {64,0}, + [I(175,193)] = {64,0}, + [I(176,193)] = {64,0}, + [I(177,193)] = {64,0}, + [I(178,193)] = {64,0}, + [I(179,193)] = {64,0}, + [I(180,193)] = {64,0}, + [I(181,193)] = {64,0}, + [I(182,193)] = {64,0}, + [I(183,193)] = {64,0}, + [I(184,193)] = {64,0}, + [I(185,193)] = {64,0}, + [I(186,193)] = {64,0}, + [I(187,193)] = {64,0}, + [I(188,193)] = {64,0}, + [I(189,193)] = {64,0}, + [I(190,193)] = {64,0}, + [I(191,193)] = {64,0}, + [I(192,193)] = {64,0}, + [I(193,193)] = {64,0}, + [I(194,193)] = {64,0}, + [I(195,193)] = {64,0}, + [I(196,193)] = {64,0}, + [I(197,193)] = {64,0}, + [I(198,193)] = {64,0}, + [I(199,193)] = {64,0}, + [I(200,193)] = {64,0}, + [I(201,193)] = {64,0}, + [I(202,193)] = {64,0}, + [I(203,193)] = {64,0}, + [I(204,193)] = {64,0}, + [I(205,193)] = {64,0}, + [I(206,193)] = {64,0}, + [I(207,193)] = {64,0}, + [I(208,193)] = {64,0}, + [I(209,193)] = {64,0}, + [I(210,193)] = {64,0}, + [I(211,193)] = {64,0}, + [I(212,193)] = {64,0}, + [I(213,193)] = {64,0}, + [I(214,193)] = {64,0}, + [I(215,193)] = {64,0}, + [I(216,193)] = {64,0}, + [I(217,193)] = {64,0}, + [I(218,193)] = {64,0}, + [I(219,193)] = {64,0}, + [I(220,193)] = {64,0}, + [I(221,193)] = {64,0}, + [I(222,193)] = {64,0}, + [I(223,193)] = {64,0}, + [I(224,193)] = {64,0}, + [I(225,193)] = {64,0}, + [I(226,193)] = {64,0}, + [I(227,193)] = {64,0}, + [I(228,193)] = {64,0}, + [I(229,193)] = {64,0}, + [I(230,193)] = {64,0}, + [I(231,193)] = {64,0}, + [I(232,193)] = {64,0}, + [I(233,193)] = {64,0}, + [I(234,193)] = {64,0}, + [I(235,193)] = {64,0}, + [I(236,193)] = {64,0}, + [I(237,193)] = {64,0}, + [I(238,193)] = {64,0}, + [I(239,193)] = {64,0}, + [I(240,193)] = {64,0}, + [I(241,193)] = {64,0}, + [I(242,193)] = {64,0}, + [I(243,193)] = {64,0}, + [I(244,193)] = {64,0}, + [I(245,193)] = {64,0}, + [I(246,193)] = {64,0}, + [I(247,193)] = {64,0}, + [I(248,193)] = {64,0}, + [I(249,193)] = {64,0}, + [I(250,193)] = {64,0}, + [I(251,193)] = {64,0}, + [I(252,193)] = {64,0}, + [I(253,193)] = {64,0}, + [I(254,193)] = {64,0}, + [I(255,193)] = {64,0}, + [I(0,194)] = {64,0}, + [I(1,194)] = {64,0}, + [I(2,194)] = {64,0}, + [I(3,194)] = {64,0}, + [I(4,194)] = {64,0}, + [I(5,194)] = {64,0}, + [I(6,194)] = {64,0}, + [I(7,194)] = {64,0}, + [I(8,194)] = {64,0}, + [I(9,194)] = {64,0}, + [I(10,194)] = {64,0}, + [I(11,194)] = {64,0}, + [I(12,194)] = {64,0}, + [I(13,194)] = {64,0}, + [I(14,194)] = {64,0}, + [I(15,194)] = {64,0}, + [I(16,194)] = {64,0}, + [I(17,194)] = {64,0}, + [I(18,194)] = {64,0}, + [I(19,194)] = {64,0}, + [I(20,194)] = {64,0}, + [I(21,194)] = {64,0}, + [I(22,194)] = {64,0}, + [I(23,194)] = {64,0}, + [I(24,194)] = {64,0}, + [I(25,194)] = {64,0}, + [I(26,194)] = {64,0}, + [I(27,194)] = {64,0}, + [I(28,194)] = {64,0}, + [I(29,194)] = {64,0}, + [I(30,194)] = {64,0}, + [I(31,194)] = {64,0}, + [I(32,194)] = {26,0x14FFFEB}, + [I(33,194)] = {30,0x3F8FFFEB}, + [I(34,194)] = {30,0x3F9FFFEB}, + [I(35,194)] = {X32,0xFFAFFFEB}, + [I(36,194)] = {64,0}, + [I(37,194)] = {26,0x15FFFEB}, + [I(38,194)] = {28,0xF8FFFEB}, + [I(39,194)] = {31,0x7FAFFFEB}, + [I(40,194)] = {30,0x3FAFFFEB}, + [I(41,194)] = {30,0x3FBFFFEB}, + [I(42,194)] = {28,0xF9FFFEB}, + [I(43,194)] = {31,0x7FBFFFEB}, + [I(44,194)] = {28,0xFAFFFEB}, + [I(45,194)] = {26,0x16FFFEB}, + [I(46,194)] = {26,0x17FFFEB}, + [I(47,194)] = {26,0x18FFFEB}, + [I(48,194)] = {25,0xFFFEB}, + [I(49,194)] = {25,0x1FFFEB}, + [I(50,194)] = {25,0x2FFFEB}, + [I(51,194)] = {26,0x19FFFEB}, + [I(52,194)] = {26,0x1AFFFEB}, + [I(53,194)] = {26,0x1BFFFEB}, + [I(54,194)] = {26,0x1CFFFEB}, + [I(55,194)] = {26,0x1DFFFEB}, + [I(56,194)] = {26,0x1EFFFEB}, + [I(57,194)] = {26,0x1FFFFEB}, + [I(58,194)] = {27,0x5CFFFEB}, + [I(59,194)] = {28,0xFBFFFEB}, + [I(60,194)] = {64,0}, + [I(61,194)] = {26,0x20FFFEB}, + [I(62,194)] = {X32,0xFFBFFFEB}, + [I(63,194)] = {30,0x3FCFFFEB}, + [I(64,194)] = {64,0}, + [I(65,194)] = {26,0x21FFFEB}, + [I(66,194)] = {27,0x5DFFFEB}, + [I(67,194)] = {27,0x5EFFFEB}, + [I(68,194)] = {27,0x5FFFFEB}, + [I(69,194)] = {27,0x60FFFEB}, + [I(70,194)] = {27,0x61FFFEB}, + [I(71,194)] = {27,0x62FFFEB}, + [I(72,194)] = {27,0x63FFFEB}, + [I(73,194)] = {27,0x64FFFEB}, + [I(74,194)] = {27,0x65FFFEB}, + [I(75,194)] = {27,0x66FFFEB}, + [I(76,194)] = {27,0x67FFFEB}, + [I(77,194)] = {27,0x68FFFEB}, + [I(78,194)] = {27,0x69FFFEB}, + [I(79,194)] = {27,0x6AFFFEB}, + [I(80,194)] = {27,0x6BFFFEB}, + [I(81,194)] = {27,0x6CFFFEB}, + [I(82,194)] = {27,0x6DFFFEB}, + [I(83,194)] = {27,0x6EFFFEB}, + [I(84,194)] = {27,0x6FFFFEB}, + [I(85,194)] = {27,0x70FFFEB}, + [I(86,194)] = {27,0x71FFFEB}, + [I(87,194)] = {27,0x72FFFEB}, + [I(88,194)] = {28,0xFCFFFEB}, + [I(89,194)] = {27,0x73FFFEB}, + [I(90,194)] = {28,0xFDFFFEB}, + [I(91,194)] = {64,0}, + [I(92,194)] = {64,0}, + [I(93,194)] = {64,0}, + [I(94,194)] = {64,0}, + [I(95,194)] = {26,0x22FFFEB}, + [I(96,194)] = {64,0}, + [I(97,194)] = {25,0x3FFFEB}, + [I(98,194)] = {26,0x23FFFEB}, + [I(99,194)] = {25,0x4FFFEB}, + [I(100,194)] = {26,0x24FFFEB}, + [I(101,194)] = {25,0x5FFFEB}, + [I(102,194)] = {26,0x25FFFEB}, + [I(103,194)] = {26,0x26FFFEB}, + [I(104,194)] = {26,0x27FFFEB}, + [I(105,194)] = {25,0x6FFFEB}, + [I(106,194)] = {27,0x74FFFEB}, + [I(107,194)] = {27,0x75FFFEB}, + [I(108,194)] = {26,0x28FFFEB}, + [I(109,194)] = {26,0x29FFFEB}, + [I(110,194)] = {26,0x2AFFFEB}, + [I(111,194)] = {25,0x7FFFEB}, + [I(112,194)] = {26,0x2BFFFEB}, + [I(113,194)] = {27,0x76FFFEB}, + [I(114,194)] = {26,0x2CFFFEB}, + [I(115,194)] = {25,0x8FFFEB}, + [I(116,194)] = {25,0x9FFFEB}, + [I(117,194)] = {26,0x2DFFFEB}, + [I(118,194)] = {27,0x77FFFEB}, + [I(119,194)] = {27,0x78FFFEB}, + [I(120,194)] = {27,0x79FFFEB}, + [I(121,194)] = {27,0x7AFFFEB}, + [I(122,194)] = {27,0x7BFFFEB}, + [I(123,194)] = {64,0}, + [I(124,194)] = {31,0x7FCFFFEB}, + [I(125,194)] = {64,0}, + [I(126,194)] = {64,0}, + [I(127,194)] = {64,0}, + [I(128,194)] = {64,0}, + [I(129,194)] = {64,0}, + [I(130,194)] = {64,0}, + [I(131,194)] = {64,0}, + [I(132,194)] = {64,0}, + [I(133,194)] = {64,0}, + [I(134,194)] = {64,0}, + [I(135,194)] = {64,0}, + [I(136,194)] = {64,0}, + [I(137,194)] = {64,0}, + [I(138,194)] = {64,0}, + [I(139,194)] = {64,0}, + [I(140,194)] = {64,0}, + [I(141,194)] = {64,0}, + [I(142,194)] = {64,0}, + [I(143,194)] = {64,0}, + [I(144,194)] = {64,0}, + [I(145,194)] = {64,0}, + [I(146,194)] = {64,0}, + [I(147,194)] = {64,0}, + [I(148,194)] = {64,0}, + [I(149,194)] = {64,0}, + [I(150,194)] = {64,0}, + [I(151,194)] = {64,0}, + [I(152,194)] = {64,0}, + [I(153,194)] = {64,0}, + [I(154,194)] = {64,0}, + [I(155,194)] = {64,0}, + [I(156,194)] = {64,0}, + [I(157,194)] = {64,0}, + [I(158,194)] = {64,0}, + [I(159,194)] = {64,0}, + [I(160,194)] = {64,0}, + [I(161,194)] = {64,0}, + [I(162,194)] = {64,0}, + [I(163,194)] = {64,0}, + [I(164,194)] = {64,0}, + [I(165,194)] = {64,0}, + [I(166,194)] = {64,0}, + [I(167,194)] = {64,0}, + [I(168,194)] = {64,0}, + [I(169,194)] = {64,0}, + [I(170,194)] = {64,0}, + [I(171,194)] = {64,0}, + [I(172,194)] = {64,0}, + [I(173,194)] = {64,0}, + [I(174,194)] = {64,0}, + [I(175,194)] = {64,0}, + [I(176,194)] = {64,0}, + [I(177,194)] = {64,0}, + [I(178,194)] = {64,0}, + [I(179,194)] = {64,0}, + [I(180,194)] = {64,0}, + [I(181,194)] = {64,0}, + [I(182,194)] = {64,0}, + [I(183,194)] = {64,0}, + [I(184,194)] = {64,0}, + [I(185,194)] = {64,0}, + [I(186,194)] = {64,0}, + [I(187,194)] = {64,0}, + [I(188,194)] = {64,0}, + [I(189,194)] = {64,0}, + [I(190,194)] = {64,0}, + [I(191,194)] = {64,0}, + [I(192,194)] = {64,0}, + [I(193,194)] = {64,0}, + [I(194,194)] = {64,0}, + [I(195,194)] = {64,0}, + [I(196,194)] = {64,0}, + [I(197,194)] = {64,0}, + [I(198,194)] = {64,0}, + [I(199,194)] = {64,0}, + [I(200,194)] = {64,0}, + [I(201,194)] = {64,0}, + [I(202,194)] = {64,0}, + [I(203,194)] = {64,0}, + [I(204,194)] = {64,0}, + [I(205,194)] = {64,0}, + [I(206,194)] = {64,0}, + [I(207,194)] = {64,0}, + [I(208,194)] = {64,0}, + [I(209,194)] = {64,0}, + [I(210,194)] = {64,0}, + [I(211,194)] = {64,0}, + [I(212,194)] = {64,0}, + [I(213,194)] = {64,0}, + [I(214,194)] = {64,0}, + [I(215,194)] = {64,0}, + [I(216,194)] = {64,0}, + [I(217,194)] = {64,0}, + [I(218,194)] = {64,0}, + [I(219,194)] = {64,0}, + [I(220,194)] = {64,0}, + [I(221,194)] = {64,0}, + [I(222,194)] = {64,0}, + [I(223,194)] = {64,0}, + [I(224,194)] = {64,0}, + [I(225,194)] = {64,0}, + [I(226,194)] = {64,0}, + [I(227,194)] = {64,0}, + [I(228,194)] = {64,0}, + [I(229,194)] = {64,0}, + [I(230,194)] = {64,0}, + [I(231,194)] = {64,0}, + [I(232,194)] = {64,0}, + [I(233,194)] = {64,0}, + [I(234,194)] = {64,0}, + [I(235,194)] = {64,0}, + [I(236,194)] = {64,0}, + [I(237,194)] = {64,0}, + [I(238,194)] = {64,0}, + [I(239,194)] = {64,0}, + [I(240,194)] = {64,0}, + [I(241,194)] = {64,0}, + [I(242,194)] = {64,0}, + [I(243,194)] = {64,0}, + [I(244,194)] = {64,0}, + [I(245,194)] = {64,0}, + [I(246,194)] = {64,0}, + [I(247,194)] = {64,0}, + [I(248,194)] = {64,0}, + [I(249,194)] = {64,0}, + [I(250,194)] = {64,0}, + [I(251,194)] = {64,0}, + [I(252,194)] = {64,0}, + [I(253,194)] = {64,0}, + [I(254,194)] = {64,0}, + [I(255,194)] = {64,0}, + [I(0,195)] = {X32,0xFFC7FFF1}, + [I(1,195)] = {64,0}, + [I(2,195)] = {64,0}, + [I(3,195)] = {64,0}, + [I(4,195)] = {64,0}, + [I(5,195)] = {64,0}, + [I(6,195)] = {64,0}, + [I(7,195)] = {64,0}, + [I(8,195)] = {64,0}, + [I(9,195)] = {64,0}, + [I(10,195)] = {64,0}, + [I(11,195)] = {64,0}, + [I(12,195)] = {64,0}, + [I(13,195)] = {64,0}, + [I(14,195)] = {64,0}, + [I(15,195)] = {64,0}, + [I(16,195)] = {64,0}, + [I(17,195)] = {64,0}, + [I(18,195)] = {64,0}, + [I(19,195)] = {64,0}, + [I(20,195)] = {64,0}, + [I(21,195)] = {64,0}, + [I(22,195)] = {64,0}, + [I(23,195)] = {64,0}, + [I(24,195)] = {64,0}, + [I(25,195)] = {64,0}, + [I(26,195)] = {64,0}, + [I(27,195)] = {64,0}, + [I(28,195)] = {64,0}, + [I(29,195)] = {64,0}, + [I(30,195)] = {64,0}, + [I(31,195)] = {64,0}, + [I(32,195)] = {25,0xA7FFF1}, + [I(33,195)] = {29,0x1FC7FFF1}, + [I(34,195)] = {29,0x1FCFFFF1}, + [I(35,195)] = {31,0x7FD7FFF1}, + [I(36,195)] = {X32,0xFFCFFFF1}, + [I(37,195)] = {25,0xAFFFF1}, + [I(38,195)] = {27,0x7C7FFF1}, + [I(39,195)] = {30,0x3FD7FFF1}, + [I(40,195)] = {29,0x1FD7FFF1}, + [I(41,195)] = {29,0x1FDFFFF1}, + [I(42,195)] = {27,0x7CFFFF1}, + [I(43,195)] = {30,0x3FDFFFF1}, + [I(44,195)] = {27,0x7D7FFF1}, + [I(45,195)] = {25,0xB7FFF1}, + [I(46,195)] = {25,0xBFFFF1}, + [I(47,195)] = {25,0xC7FFF1}, + [I(48,195)] = {24,0x7FFF1}, + [I(49,195)] = {24,0xFFFF1}, + [I(50,195)] = {24,0x17FFF1}, + [I(51,195)] = {25,0xCFFFF1}, + [I(52,195)] = {25,0xD7FFF1}, + [I(53,195)] = {25,0xDFFFF1}, + [I(54,195)] = {25,0xE7FFF1}, + [I(55,195)] = {25,0xEFFFF1}, + [I(56,195)] = {25,0xF7FFF1}, + [I(57,195)] = {25,0xFFFFF1}, + [I(58,195)] = {26,0x2E7FFF1}, + [I(59,195)] = {27,0x7DFFFF1}, + [I(60,195)] = {64,0}, + [I(61,195)] = {25,0x107FFF1}, + [I(62,195)] = {31,0x7FDFFFF1}, + [I(63,195)] = {29,0x1FE7FFF1}, + [I(64,195)] = {X32,0xFFD7FFF1}, + [I(65,195)] = {25,0x10FFFF1}, + [I(66,195)] = {26,0x2EFFFF1}, + [I(67,195)] = {26,0x2F7FFF1}, + [I(68,195)] = {26,0x2FFFFF1}, + [I(69,195)] = {26,0x307FFF1}, + [I(70,195)] = {26,0x30FFFF1}, + [I(71,195)] = {26,0x317FFF1}, + [I(72,195)] = {26,0x31FFFF1}, + [I(73,195)] = {26,0x327FFF1}, + [I(74,195)] = {26,0x32FFFF1}, + [I(75,195)] = {26,0x337FFF1}, + [I(76,195)] = {26,0x33FFFF1}, + [I(77,195)] = {26,0x347FFF1}, + [I(78,195)] = {26,0x34FFFF1}, + [I(79,195)] = {26,0x357FFF1}, + [I(80,195)] = {26,0x35FFFF1}, + [I(81,195)] = {26,0x367FFF1}, + [I(82,195)] = {26,0x36FFFF1}, + [I(83,195)] = {26,0x377FFF1}, + [I(84,195)] = {26,0x37FFFF1}, + [I(85,195)] = {26,0x387FFF1}, + [I(86,195)] = {26,0x38FFFF1}, + [I(87,195)] = {26,0x397FFF1}, + [I(88,195)] = {27,0x7E7FFF1}, + [I(89,195)] = {26,0x39FFFF1}, + [I(90,195)] = {27,0x7EFFFF1}, + [I(91,195)] = {X32,0xFFDFFFF1}, + [I(92,195)] = {64,0}, + [I(93,195)] = {X32,0xFFE7FFF1}, + [I(94,195)] = {64,0}, + [I(95,195)] = {25,0x117FFF1}, + [I(96,195)] = {64,0}, + [I(97,195)] = {24,0x1FFFF1}, + [I(98,195)] = {25,0x11FFFF1}, + [I(99,195)] = {24,0x27FFF1}, + [I(100,195)] = {25,0x127FFF1}, + [I(101,195)] = {24,0x2FFFF1}, + [I(102,195)] = {25,0x12FFFF1}, + [I(103,195)] = {25,0x137FFF1}, + [I(104,195)] = {25,0x13FFFF1}, + [I(105,195)] = {24,0x37FFF1}, + [I(106,195)] = {26,0x3A7FFF1}, + [I(107,195)] = {26,0x3AFFFF1}, + [I(108,195)] = {25,0x147FFF1}, + [I(109,195)] = {25,0x14FFFF1}, + [I(110,195)] = {25,0x157FFF1}, + [I(111,195)] = {24,0x3FFFF1}, + [I(112,195)] = {25,0x15FFFF1}, + [I(113,195)] = {26,0x3B7FFF1}, + [I(114,195)] = {25,0x167FFF1}, + [I(115,195)] = {24,0x47FFF1}, + [I(116,195)] = {24,0x4FFFF1}, + [I(117,195)] = {25,0x16FFFF1}, + [I(118,195)] = {26,0x3BFFFF1}, + [I(119,195)] = {26,0x3C7FFF1}, + [I(120,195)] = {26,0x3CFFFF1}, + [I(121,195)] = {26,0x3D7FFF1}, + [I(122,195)] = {26,0x3DFFFF1}, + [I(123,195)] = {64,0}, + [I(124,195)] = {30,0x3FE7FFF1}, + [I(125,195)] = {64,0}, + [I(126,195)] = {X32,0xFFEFFFF1}, + [I(127,195)] = {64,0}, + [I(128,195)] = {64,0}, + [I(129,195)] = {64,0}, + [I(130,195)] = {64,0}, + [I(131,195)] = {64,0}, + [I(132,195)] = {64,0}, + [I(133,195)] = {64,0}, + [I(134,195)] = {64,0}, + [I(135,195)] = {64,0}, + [I(136,195)] = {64,0}, + [I(137,195)] = {64,0}, + [I(138,195)] = {64,0}, + [I(139,195)] = {64,0}, + [I(140,195)] = {64,0}, + [I(141,195)] = {64,0}, + [I(142,195)] = {64,0}, + [I(143,195)] = {64,0}, + [I(144,195)] = {64,0}, + [I(145,195)] = {64,0}, + [I(146,195)] = {64,0}, + [I(147,195)] = {64,0}, + [I(148,195)] = {64,0}, + [I(149,195)] = {64,0}, + [I(150,195)] = {64,0}, + [I(151,195)] = {64,0}, + [I(152,195)] = {64,0}, + [I(153,195)] = {64,0}, + [I(154,195)] = {64,0}, + [I(155,195)] = {64,0}, + [I(156,195)] = {64,0}, + [I(157,195)] = {64,0}, + [I(158,195)] = {64,0}, + [I(159,195)] = {64,0}, + [I(160,195)] = {64,0}, + [I(161,195)] = {64,0}, + [I(162,195)] = {64,0}, + [I(163,195)] = {64,0}, + [I(164,195)] = {64,0}, + [I(165,195)] = {64,0}, + [I(166,195)] = {64,0}, + [I(167,195)] = {64,0}, + [I(168,195)] = {64,0}, + [I(169,195)] = {64,0}, + [I(170,195)] = {64,0}, + [I(171,195)] = {64,0}, + [I(172,195)] = {64,0}, + [I(173,195)] = {64,0}, + [I(174,195)] = {64,0}, + [I(175,195)] = {64,0}, + [I(176,195)] = {64,0}, + [I(177,195)] = {64,0}, + [I(178,195)] = {64,0}, + [I(179,195)] = {64,0}, + [I(180,195)] = {64,0}, + [I(181,195)] = {64,0}, + [I(182,195)] = {64,0}, + [I(183,195)] = {64,0}, + [I(184,195)] = {64,0}, + [I(185,195)] = {64,0}, + [I(186,195)] = {64,0}, + [I(187,195)] = {64,0}, + [I(188,195)] = {64,0}, + [I(189,195)] = {64,0}, + [I(190,195)] = {64,0}, + [I(191,195)] = {64,0}, + [I(192,195)] = {64,0}, + [I(193,195)] = {64,0}, + [I(194,195)] = {64,0}, + [I(195,195)] = {64,0}, + [I(196,195)] = {64,0}, + [I(197,195)] = {64,0}, + [I(198,195)] = {64,0}, + [I(199,195)] = {64,0}, + [I(200,195)] = {64,0}, + [I(201,195)] = {64,0}, + [I(202,195)] = {64,0}, + [I(203,195)] = {64,0}, + [I(204,195)] = {64,0}, + [I(205,195)] = {64,0}, + [I(206,195)] = {64,0}, + [I(207,195)] = {64,0}, + [I(208,195)] = {64,0}, + [I(209,195)] = {64,0}, + [I(210,195)] = {64,0}, + [I(211,195)] = {64,0}, + [I(212,195)] = {64,0}, + [I(213,195)] = {64,0}, + [I(214,195)] = {64,0}, + [I(215,195)] = {64,0}, + [I(216,195)] = {64,0}, + [I(217,195)] = {64,0}, + [I(218,195)] = {64,0}, + [I(219,195)] = {64,0}, + [I(220,195)] = {64,0}, + [I(221,195)] = {64,0}, + [I(222,195)] = {64,0}, + [I(223,195)] = {64,0}, + [I(224,195)] = {64,0}, + [I(225,195)] = {64,0}, + [I(226,195)] = {64,0}, + [I(227,195)] = {64,0}, + [I(228,195)] = {64,0}, + [I(229,195)] = {64,0}, + [I(230,195)] = {64,0}, + [I(231,195)] = {64,0}, + [I(232,195)] = {64,0}, + [I(233,195)] = {64,0}, + [I(234,195)] = {64,0}, + [I(235,195)] = {64,0}, + [I(236,195)] = {64,0}, + [I(237,195)] = {64,0}, + [I(238,195)] = {64,0}, + [I(239,195)] = {64,0}, + [I(240,195)] = {64,0}, + [I(241,195)] = {64,0}, + [I(242,195)] = {64,0}, + [I(243,195)] = {64,0}, + [I(244,195)] = {64,0}, + [I(245,195)] = {64,0}, + [I(246,195)] = {64,0}, + [I(247,195)] = {64,0}, + [I(248,195)] = {64,0}, + [I(249,195)] = {64,0}, + [I(250,195)] = {64,0}, + [I(251,195)] = {64,0}, + [I(252,195)] = {64,0}, + [I(253,195)] = {64,0}, + [I(254,195)] = {64,0}, + [I(255,195)] = {64,0}, + [I(0,196)] = {64,0}, + [I(1,196)] = {64,0}, + [I(2,196)] = {64,0}, + [I(3,196)] = {64,0}, + [I(4,196)] = {64,0}, + [I(5,196)] = {64,0}, + [I(6,196)] = {64,0}, + [I(7,196)] = {64,0}, + [I(8,196)] = {64,0}, + [I(9,196)] = {64,0}, + [I(10,196)] = {64,0}, + [I(11,196)] = {64,0}, + [I(12,196)] = {64,0}, + [I(13,196)] = {64,0}, + [I(14,196)] = {64,0}, + [I(15,196)] = {64,0}, + [I(16,196)] = {64,0}, + [I(17,196)] = {64,0}, + [I(18,196)] = {64,0}, + [I(19,196)] = {64,0}, + [I(20,196)] = {64,0}, + [I(21,196)] = {64,0}, + [I(22,196)] = {64,0}, + [I(23,196)] = {64,0}, + [I(24,196)] = {64,0}, + [I(25,196)] = {64,0}, + [I(26,196)] = {64,0}, + [I(27,196)] = {64,0}, + [I(28,196)] = {64,0}, + [I(29,196)] = {64,0}, + [I(30,196)] = {64,0}, + [I(31,196)] = {64,0}, + [I(32,196)] = {28,0x53FFFE7}, + [I(33,196)] = {X32,0xFE3FFFE7}, + [I(34,196)] = {X32,0xFE7FFFE7}, + [I(35,196)] = {64,0}, + [I(36,196)] = {64,0}, + [I(37,196)] = {28,0x57FFFE7}, + [I(38,196)] = {30,0x3E3FFFE7}, + [I(39,196)] = {64,0}, + [I(40,196)] = {X32,0xFEBFFFE7}, + [I(41,196)] = {X32,0xFEFFFFE7}, + [I(42,196)] = {30,0x3E7FFFE7}, + [I(43,196)] = {64,0}, + [I(44,196)] = {30,0x3EBFFFE7}, + [I(45,196)] = {28,0x5BFFFE7}, + [I(46,196)] = {28,0x5FFFFE7}, + [I(47,196)] = {28,0x63FFFE7}, + [I(48,196)] = {27,0x3FFFE7}, + [I(49,196)] = {27,0x7FFFE7}, + [I(50,196)] = {27,0xBFFFE7}, + [I(51,196)] = {28,0x67FFFE7}, + [I(52,196)] = {28,0x6BFFFE7}, + [I(53,196)] = {28,0x6FFFFE7}, + [I(54,196)] = {28,0x73FFFE7}, + [I(55,196)] = {28,0x77FFFE7}, + [I(56,196)] = {28,0x7BFFFE7}, + [I(57,196)] = {28,0x7FFFFE7}, + [I(58,196)] = {29,0x173FFFE7}, + [I(59,196)] = {30,0x3EFFFFE7}, + [I(60,196)] = {64,0}, + [I(61,196)] = {28,0x83FFFE7}, + [I(62,196)] = {64,0}, + [I(63,196)] = {X32,0xFF3FFFE7}, + [I(64,196)] = {64,0}, + [I(65,196)] = {28,0x87FFFE7}, + [I(66,196)] = {29,0x177FFFE7}, + [I(67,196)] = {29,0x17BFFFE7}, + [I(68,196)] = {29,0x17FFFFE7}, + [I(69,196)] = {29,0x183FFFE7}, + [I(70,196)] = {29,0x187FFFE7}, + [I(71,196)] = {29,0x18BFFFE7}, + [I(72,196)] = {29,0x18FFFFE7}, + [I(73,196)] = {29,0x193FFFE7}, + [I(74,196)] = {29,0x197FFFE7}, + [I(75,196)] = {29,0x19BFFFE7}, + [I(76,196)] = {29,0x19FFFFE7}, + [I(77,196)] = {29,0x1A3FFFE7}, + [I(78,196)] = {29,0x1A7FFFE7}, + [I(79,196)] = {29,0x1ABFFFE7}, + [I(80,196)] = {29,0x1AFFFFE7}, + [I(81,196)] = {29,0x1B3FFFE7}, + [I(82,196)] = {29,0x1B7FFFE7}, + [I(83,196)] = {29,0x1BBFFFE7}, + [I(84,196)] = {29,0x1BFFFFE7}, + [I(85,196)] = {29,0x1C3FFFE7}, + [I(86,196)] = {29,0x1C7FFFE7}, + [I(87,196)] = {29,0x1CBFFFE7}, + [I(88,196)] = {30,0x3F3FFFE7}, + [I(89,196)] = {29,0x1CFFFFE7}, + [I(90,196)] = {30,0x3F7FFFE7}, + [I(91,196)] = {64,0}, + [I(92,196)] = {64,0}, + [I(93,196)] = {64,0}, + [I(94,196)] = {64,0}, + [I(95,196)] = {28,0x8BFFFE7}, + [I(96,196)] = {64,0}, + [I(97,196)] = {27,0xFFFFE7}, + [I(98,196)] = {28,0x8FFFFE7}, + [I(99,196)] = {27,0x13FFFE7}, + [I(100,196)] = {28,0x93FFFE7}, + [I(101,196)] = {27,0x17FFFE7}, + [I(102,196)] = {28,0x97FFFE7}, + [I(103,196)] = {28,0x9BFFFE7}, + [I(104,196)] = {28,0x9FFFFE7}, + [I(105,196)] = {27,0x1BFFFE7}, + [I(106,196)] = {29,0x1D3FFFE7}, + [I(107,196)] = {29,0x1D7FFFE7}, + [I(108,196)] = {28,0xA3FFFE7}, + [I(109,196)] = {28,0xA7FFFE7}, + [I(110,196)] = {28,0xABFFFE7}, + [I(111,196)] = {27,0x1FFFFE7}, + [I(112,196)] = {28,0xAFFFFE7}, + [I(113,196)] = {29,0x1DBFFFE7}, + [I(114,196)] = {28,0xB3FFFE7}, + [I(115,196)] = {27,0x23FFFE7}, + [I(116,196)] = {27,0x27FFFE7}, + [I(117,196)] = {28,0xB7FFFE7}, + [I(118,196)] = {29,0x1DFFFFE7}, + [I(119,196)] = {29,0x1E3FFFE7}, + [I(120,196)] = {29,0x1E7FFFE7}, + [I(121,196)] = {29,0x1EBFFFE7}, + [I(122,196)] = {29,0x1EFFFFE7}, + [I(123,196)] = {64,0}, + [I(124,196)] = {64,0}, + [I(125,196)] = {64,0}, + [I(126,196)] = {64,0}, + [I(127,196)] = {64,0}, + [I(128,196)] = {64,0}, + [I(129,196)] = {64,0}, + [I(130,196)] = {64,0}, + [I(131,196)] = {64,0}, + [I(132,196)] = {64,0}, + [I(133,196)] = {64,0}, + [I(134,196)] = {64,0}, + [I(135,196)] = {64,0}, + [I(136,196)] = {64,0}, + [I(137,196)] = {64,0}, + [I(138,196)] = {64,0}, + [I(139,196)] = {64,0}, + [I(140,196)] = {64,0}, + [I(141,196)] = {64,0}, + [I(142,196)] = {64,0}, + [I(143,196)] = {64,0}, + [I(144,196)] = {64,0}, + [I(145,196)] = {64,0}, + [I(146,196)] = {64,0}, + [I(147,196)] = {64,0}, + [I(148,196)] = {64,0}, + [I(149,196)] = {64,0}, + [I(150,196)] = {64,0}, + [I(151,196)] = {64,0}, + [I(152,196)] = {64,0}, + [I(153,196)] = {64,0}, + [I(154,196)] = {64,0}, + [I(155,196)] = {64,0}, + [I(156,196)] = {64,0}, + [I(157,196)] = {64,0}, + [I(158,196)] = {64,0}, + [I(159,196)] = {64,0}, + [I(160,196)] = {64,0}, + [I(161,196)] = {64,0}, + [I(162,196)] = {64,0}, + [I(163,196)] = {64,0}, + [I(164,196)] = {64,0}, + [I(165,196)] = {64,0}, + [I(166,196)] = {64,0}, + [I(167,196)] = {64,0}, + [I(168,196)] = {64,0}, + [I(169,196)] = {64,0}, + [I(170,196)] = {64,0}, + [I(171,196)] = {64,0}, + [I(172,196)] = {64,0}, + [I(173,196)] = {64,0}, + [I(174,196)] = {64,0}, + [I(175,196)] = {64,0}, + [I(176,196)] = {64,0}, + [I(177,196)] = {64,0}, + [I(178,196)] = {64,0}, + [I(179,196)] = {64,0}, + [I(180,196)] = {64,0}, + [I(181,196)] = {64,0}, + [I(182,196)] = {64,0}, + [I(183,196)] = {64,0}, + [I(184,196)] = {64,0}, + [I(185,196)] = {64,0}, + [I(186,196)] = {64,0}, + [I(187,196)] = {64,0}, + [I(188,196)] = {64,0}, + [I(189,196)] = {64,0}, + [I(190,196)] = {64,0}, + [I(191,196)] = {64,0}, + [I(192,196)] = {64,0}, + [I(193,196)] = {64,0}, + [I(194,196)] = {64,0}, + [I(195,196)] = {64,0}, + [I(196,196)] = {64,0}, + [I(197,196)] = {64,0}, + [I(198,196)] = {64,0}, + [I(199,196)] = {64,0}, + [I(200,196)] = {64,0}, + [I(201,196)] = {64,0}, + [I(202,196)] = {64,0}, + [I(203,196)] = {64,0}, + [I(204,196)] = {64,0}, + [I(205,196)] = {64,0}, + [I(206,196)] = {64,0}, + [I(207,196)] = {64,0}, + [I(208,196)] = {64,0}, + [I(209,196)] = {64,0}, + [I(210,196)] = {64,0}, + [I(211,196)] = {64,0}, + [I(212,196)] = {64,0}, + [I(213,196)] = {64,0}, + [I(214,196)] = {64,0}, + [I(215,196)] = {64,0}, + [I(216,196)] = {64,0}, + [I(217,196)] = {64,0}, + [I(218,196)] = {64,0}, + [I(219,196)] = {64,0}, + [I(220,196)] = {64,0}, + [I(221,196)] = {64,0}, + [I(222,196)] = {64,0}, + [I(223,196)] = {64,0}, + [I(224,196)] = {64,0}, + [I(225,196)] = {64,0}, + [I(226,196)] = {64,0}, + [I(227,196)] = {64,0}, + [I(228,196)] = {64,0}, + [I(229,196)] = {64,0}, + [I(230,196)] = {64,0}, + [I(231,196)] = {64,0}, + [I(232,196)] = {64,0}, + [I(233,196)] = {64,0}, + [I(234,196)] = {64,0}, + [I(235,196)] = {64,0}, + [I(236,196)] = {64,0}, + [I(237,196)] = {64,0}, + [I(238,196)] = {64,0}, + [I(239,196)] = {64,0}, + [I(240,196)] = {64,0}, + [I(241,196)] = {64,0}, + [I(242,196)] = {64,0}, + [I(243,196)] = {64,0}, + [I(244,196)] = {64,0}, + [I(245,196)] = {64,0}, + [I(246,196)] = {64,0}, + [I(247,196)] = {64,0}, + [I(248,196)] = {64,0}, + [I(249,196)] = {64,0}, + [I(250,196)] = {64,0}, + [I(251,196)] = {64,0}, + [I(252,196)] = {64,0}, + [I(253,196)] = {64,0}, + [I(254,196)] = {64,0}, + [I(255,196)] = {64,0}, + [I(0,197)] = {64,0}, + [I(1,197)] = {64,0}, + [I(2,197)] = {64,0}, + [I(3,197)] = {64,0}, + [I(4,197)] = {64,0}, + [I(5,197)] = {64,0}, + [I(6,197)] = {64,0}, + [I(7,197)] = {64,0}, + [I(8,197)] = {64,0}, + [I(9,197)] = {64,0}, + [I(10,197)] = {64,0}, + [I(11,197)] = {64,0}, + [I(12,197)] = {64,0}, + [I(13,197)] = {64,0}, + [I(14,197)] = {64,0}, + [I(15,197)] = {64,0}, + [I(16,197)] = {64,0}, + [I(17,197)] = {64,0}, + [I(18,197)] = {64,0}, + [I(19,197)] = {64,0}, + [I(20,197)] = {64,0}, + [I(21,197)] = {64,0}, + [I(22,197)] = {64,0}, + [I(23,197)] = {64,0}, + [I(24,197)] = {64,0}, + [I(25,197)] = {64,0}, + [I(26,197)] = {64,0}, + [I(27,197)] = {64,0}, + [I(28,197)] = {64,0}, + [I(29,197)] = {64,0}, + [I(30,197)] = {64,0}, + [I(31,197)] = {64,0}, + [I(32,197)] = {29,0xA7FFFF2}, + [I(33,197)] = {64,0}, + [I(34,197)] = {64,0}, + [I(35,197)] = {64,0}, + [I(36,197)] = {64,0}, + [I(37,197)] = {29,0xAFFFFF2}, + [I(38,197)] = {31,0x7C7FFFF2}, + [I(39,197)] = {64,0}, + [I(40,197)] = {64,0}, + [I(41,197)] = {64,0}, + [I(42,197)] = {31,0x7CFFFFF2}, + [I(43,197)] = {64,0}, + [I(44,197)] = {31,0x7D7FFFF2}, + [I(45,197)] = {29,0xB7FFFF2}, + [I(46,197)] = {29,0xBFFFFF2}, + [I(47,197)] = {29,0xC7FFFF2}, + [I(48,197)] = {28,0x7FFFF2}, + [I(49,197)] = {28,0xFFFFF2}, + [I(50,197)] = {28,0x17FFFF2}, + [I(51,197)] = {29,0xCFFFFF2}, + [I(52,197)] = {29,0xD7FFFF2}, + [I(53,197)] = {29,0xDFFFFF2}, + [I(54,197)] = {29,0xE7FFFF2}, + [I(55,197)] = {29,0xEFFFFF2}, + [I(56,197)] = {29,0xF7FFFF2}, + [I(57,197)] = {29,0xFFFFFF2}, + [I(58,197)] = {30,0x2E7FFFF2}, + [I(59,197)] = {31,0x7DFFFFF2}, + [I(60,197)] = {64,0}, + [I(61,197)] = {29,0x107FFFF2}, + [I(62,197)] = {64,0}, + [I(63,197)] = {64,0}, + [I(64,197)] = {64,0}, + [I(65,197)] = {29,0x10FFFFF2}, + [I(66,197)] = {30,0x2EFFFFF2}, + [I(67,197)] = {30,0x2F7FFFF2}, + [I(68,197)] = {30,0x2FFFFFF2}, + [I(69,197)] = {30,0x307FFFF2}, + [I(70,197)] = {30,0x30FFFFF2}, + [I(71,197)] = {30,0x317FFFF2}, + [I(72,197)] = {30,0x31FFFFF2}, + [I(73,197)] = {30,0x327FFFF2}, + [I(74,197)] = {30,0x32FFFFF2}, + [I(75,197)] = {30,0x337FFFF2}, + [I(76,197)] = {30,0x33FFFFF2}, + [I(77,197)] = {30,0x347FFFF2}, + [I(78,197)] = {30,0x34FFFFF2}, + [I(79,197)] = {30,0x357FFFF2}, + [I(80,197)] = {30,0x35FFFFF2}, + [I(81,197)] = {30,0x367FFFF2}, + [I(82,197)] = {30,0x36FFFFF2}, + [I(83,197)] = {30,0x377FFFF2}, + [I(84,197)] = {30,0x37FFFFF2}, + [I(85,197)] = {30,0x387FFFF2}, + [I(86,197)] = {30,0x38FFFFF2}, + [I(87,197)] = {30,0x397FFFF2}, + [I(88,197)] = {31,0x7E7FFFF2}, + [I(89,197)] = {30,0x39FFFFF2}, + [I(90,197)] = {31,0x7EFFFFF2}, + [I(91,197)] = {64,0}, + [I(92,197)] = {64,0}, + [I(93,197)] = {64,0}, + [I(94,197)] = {64,0}, + [I(95,197)] = {29,0x117FFFF2}, + [I(96,197)] = {64,0}, + [I(97,197)] = {28,0x1FFFFF2}, + [I(98,197)] = {29,0x11FFFFF2}, + [I(99,197)] = {28,0x27FFFF2}, + [I(100,197)] = {29,0x127FFFF2}, + [I(101,197)] = {28,0x2FFFFF2}, + [I(102,197)] = {29,0x12FFFFF2}, + [I(103,197)] = {29,0x137FFFF2}, + [I(104,197)] = {29,0x13FFFFF2}, + [I(105,197)] = {28,0x37FFFF2}, + [I(106,197)] = {30,0x3A7FFFF2}, + [I(107,197)] = {30,0x3AFFFFF2}, + [I(108,197)] = {29,0x147FFFF2}, + [I(109,197)] = {29,0x14FFFFF2}, + [I(110,197)] = {29,0x157FFFF2}, + [I(111,197)] = {28,0x3FFFFF2}, + [I(112,197)] = {29,0x15FFFFF2}, + [I(113,197)] = {30,0x3B7FFFF2}, + [I(114,197)] = {29,0x167FFFF2}, + [I(115,197)] = {28,0x47FFFF2}, + [I(116,197)] = {28,0x4FFFFF2}, + [I(117,197)] = {29,0x16FFFFF2}, + [I(118,197)] = {30,0x3BFFFFF2}, + [I(119,197)] = {30,0x3C7FFFF2}, + [I(120,197)] = {30,0x3CFFFFF2}, + [I(121,197)] = {30,0x3D7FFFF2}, + [I(122,197)] = {30,0x3DFFFFF2}, + [I(123,197)] = {64,0}, + [I(124,197)] = {64,0}, + [I(125,197)] = {64,0}, + [I(126,197)] = {64,0}, + [I(127,197)] = {64,0}, + [I(128,197)] = {64,0}, + [I(129,197)] = {64,0}, + [I(130,197)] = {64,0}, + [I(131,197)] = {64,0}, + [I(132,197)] = {64,0}, + [I(133,197)] = {64,0}, + [I(134,197)] = {64,0}, + [I(135,197)] = {64,0}, + [I(136,197)] = {64,0}, + [I(137,197)] = {64,0}, + [I(138,197)] = {64,0}, + [I(139,197)] = {64,0}, + [I(140,197)] = {64,0}, + [I(141,197)] = {64,0}, + [I(142,197)] = {64,0}, + [I(143,197)] = {64,0}, + [I(144,197)] = {64,0}, + [I(145,197)] = {64,0}, + [I(146,197)] = {64,0}, + [I(147,197)] = {64,0}, + [I(148,197)] = {64,0}, + [I(149,197)] = {64,0}, + [I(150,197)] = {64,0}, + [I(151,197)] = {64,0}, + [I(152,197)] = {64,0}, + [I(153,197)] = {64,0}, + [I(154,197)] = {64,0}, + [I(155,197)] = {64,0}, + [I(156,197)] = {64,0}, + [I(157,197)] = {64,0}, + [I(158,197)] = {64,0}, + [I(159,197)] = {64,0}, + [I(160,197)] = {64,0}, + [I(161,197)] = {64,0}, + [I(162,197)] = {64,0}, + [I(163,197)] = {64,0}, + [I(164,197)] = {64,0}, + [I(165,197)] = {64,0}, + [I(166,197)] = {64,0}, + [I(167,197)] = {64,0}, + [I(168,197)] = {64,0}, + [I(169,197)] = {64,0}, + [I(170,197)] = {64,0}, + [I(171,197)] = {64,0}, + [I(172,197)] = {64,0}, + [I(173,197)] = {64,0}, + [I(174,197)] = {64,0}, + [I(175,197)] = {64,0}, + [I(176,197)] = {64,0}, + [I(177,197)] = {64,0}, + [I(178,197)] = {64,0}, + [I(179,197)] = {64,0}, + [I(180,197)] = {64,0}, + [I(181,197)] = {64,0}, + [I(182,197)] = {64,0}, + [I(183,197)] = {64,0}, + [I(184,197)] = {64,0}, + [I(185,197)] = {64,0}, + [I(186,197)] = {64,0}, + [I(187,197)] = {64,0}, + [I(188,197)] = {64,0}, + [I(189,197)] = {64,0}, + [I(190,197)] = {64,0}, + [I(191,197)] = {64,0}, + [I(192,197)] = {64,0}, + [I(193,197)] = {64,0}, + [I(194,197)] = {64,0}, + [I(195,197)] = {64,0}, + [I(196,197)] = {64,0}, + [I(197,197)] = {64,0}, + [I(198,197)] = {64,0}, + [I(199,197)] = {64,0}, + [I(200,197)] = {64,0}, + [I(201,197)] = {64,0}, + [I(202,197)] = {64,0}, + [I(203,197)] = {64,0}, + [I(204,197)] = {64,0}, + [I(205,197)] = {64,0}, + [I(206,197)] = {64,0}, + [I(207,197)] = {64,0}, + [I(208,197)] = {64,0}, + [I(209,197)] = {64,0}, + [I(210,197)] = {64,0}, + [I(211,197)] = {64,0}, + [I(212,197)] = {64,0}, + [I(213,197)] = {64,0}, + [I(214,197)] = {64,0}, + [I(215,197)] = {64,0}, + [I(216,197)] = {64,0}, + [I(217,197)] = {64,0}, + [I(218,197)] = {64,0}, + [I(219,197)] = {64,0}, + [I(220,197)] = {64,0}, + [I(221,197)] = {64,0}, + [I(222,197)] = {64,0}, + [I(223,197)] = {64,0}, + [I(224,197)] = {64,0}, + [I(225,197)] = {64,0}, + [I(226,197)] = {64,0}, + [I(227,197)] = {64,0}, + [I(228,197)] = {64,0}, + [I(229,197)] = {64,0}, + [I(230,197)] = {64,0}, + [I(231,197)] = {64,0}, + [I(232,197)] = {64,0}, + [I(233,197)] = {64,0}, + [I(234,197)] = {64,0}, + [I(235,197)] = {64,0}, + [I(236,197)] = {64,0}, + [I(237,197)] = {64,0}, + [I(238,197)] = {64,0}, + [I(239,197)] = {64,0}, + [I(240,197)] = {64,0}, + [I(241,197)] = {64,0}, + [I(242,197)] = {64,0}, + [I(243,197)] = {64,0}, + [I(244,197)] = {64,0}, + [I(245,197)] = {64,0}, + [I(246,197)] = {64,0}, + [I(247,197)] = {64,0}, + [I(248,197)] = {64,0}, + [I(249,197)] = {64,0}, + [I(250,197)] = {64,0}, + [I(251,197)] = {64,0}, + [I(252,197)] = {64,0}, + [I(253,197)] = {64,0}, + [I(254,197)] = {64,0}, + [I(255,197)] = {64,0}, + [I(0,198)] = {64,0}, + [I(1,198)] = {64,0}, + [I(2,198)] = {64,0}, + [I(3,198)] = {64,0}, + [I(4,198)] = {64,0}, + [I(5,198)] = {64,0}, + [I(6,198)] = {64,0}, + [I(7,198)] = {64,0}, + [I(8,198)] = {64,0}, + [I(9,198)] = {64,0}, + [I(10,198)] = {64,0}, + [I(11,198)] = {64,0}, + [I(12,198)] = {64,0}, + [I(13,198)] = {64,0}, + [I(14,198)] = {64,0}, + [I(15,198)] = {64,0}, + [I(16,198)] = {64,0}, + [I(17,198)] = {64,0}, + [I(18,198)] = {64,0}, + [I(19,198)] = {64,0}, + [I(20,198)] = {64,0}, + [I(21,198)] = {64,0}, + [I(22,198)] = {64,0}, + [I(23,198)] = {64,0}, + [I(24,198)] = {64,0}, + [I(25,198)] = {64,0}, + [I(26,198)] = {64,0}, + [I(27,198)] = {64,0}, + [I(28,198)] = {64,0}, + [I(29,198)] = {64,0}, + [I(30,198)] = {64,0}, + [I(31,198)] = {64,0}, + [I(32,198)] = {28,0x53FFFE8}, + [I(33,198)] = {X32,0xFE3FFFE8}, + [I(34,198)] = {X32,0xFE7FFFE8}, + [I(35,198)] = {64,0}, + [I(36,198)] = {64,0}, + [I(37,198)] = {28,0x57FFFE8}, + [I(38,198)] = {30,0x3E3FFFE8}, + [I(39,198)] = {64,0}, + [I(40,198)] = {X32,0xFEBFFFE8}, + [I(41,198)] = {X32,0xFEFFFFE8}, + [I(42,198)] = {30,0x3E7FFFE8}, + [I(43,198)] = {64,0}, + [I(44,198)] = {30,0x3EBFFFE8}, + [I(45,198)] = {28,0x5BFFFE8}, + [I(46,198)] = {28,0x5FFFFE8}, + [I(47,198)] = {28,0x63FFFE8}, + [I(48,198)] = {27,0x3FFFE8}, + [I(49,198)] = {27,0x7FFFE8}, + [I(50,198)] = {27,0xBFFFE8}, + [I(51,198)] = {28,0x67FFFE8}, + [I(52,198)] = {28,0x6BFFFE8}, + [I(53,198)] = {28,0x6FFFFE8}, + [I(54,198)] = {28,0x73FFFE8}, + [I(55,198)] = {28,0x77FFFE8}, + [I(56,198)] = {28,0x7BFFFE8}, + [I(57,198)] = {28,0x7FFFFE8}, + [I(58,198)] = {29,0x173FFFE8}, + [I(59,198)] = {30,0x3EFFFFE8}, + [I(60,198)] = {64,0}, + [I(61,198)] = {28,0x83FFFE8}, + [I(62,198)] = {64,0}, + [I(63,198)] = {X32,0xFF3FFFE8}, + [I(64,198)] = {64,0}, + [I(65,198)] = {28,0x87FFFE8}, + [I(66,198)] = {29,0x177FFFE8}, + [I(67,198)] = {29,0x17BFFFE8}, + [I(68,198)] = {29,0x17FFFFE8}, + [I(69,198)] = {29,0x183FFFE8}, + [I(70,198)] = {29,0x187FFFE8}, + [I(71,198)] = {29,0x18BFFFE8}, + [I(72,198)] = {29,0x18FFFFE8}, + [I(73,198)] = {29,0x193FFFE8}, + [I(74,198)] = {29,0x197FFFE8}, + [I(75,198)] = {29,0x19BFFFE8}, + [I(76,198)] = {29,0x19FFFFE8}, + [I(77,198)] = {29,0x1A3FFFE8}, + [I(78,198)] = {29,0x1A7FFFE8}, + [I(79,198)] = {29,0x1ABFFFE8}, + [I(80,198)] = {29,0x1AFFFFE8}, + [I(81,198)] = {29,0x1B3FFFE8}, + [I(82,198)] = {29,0x1B7FFFE8}, + [I(83,198)] = {29,0x1BBFFFE8}, + [I(84,198)] = {29,0x1BFFFFE8}, + [I(85,198)] = {29,0x1C3FFFE8}, + [I(86,198)] = {29,0x1C7FFFE8}, + [I(87,198)] = {29,0x1CBFFFE8}, + [I(88,198)] = {30,0x3F3FFFE8}, + [I(89,198)] = {29,0x1CFFFFE8}, + [I(90,198)] = {30,0x3F7FFFE8}, + [I(91,198)] = {64,0}, + [I(92,198)] = {64,0}, + [I(93,198)] = {64,0}, + [I(94,198)] = {64,0}, + [I(95,198)] = {28,0x8BFFFE8}, + [I(96,198)] = {64,0}, + [I(97,198)] = {27,0xFFFFE8}, + [I(98,198)] = {28,0x8FFFFE8}, + [I(99,198)] = {27,0x13FFFE8}, + [I(100,198)] = {28,0x93FFFE8}, + [I(101,198)] = {27,0x17FFFE8}, + [I(102,198)] = {28,0x97FFFE8}, + [I(103,198)] = {28,0x9BFFFE8}, + [I(104,198)] = {28,0x9FFFFE8}, + [I(105,198)] = {27,0x1BFFFE8}, + [I(106,198)] = {29,0x1D3FFFE8}, + [I(107,198)] = {29,0x1D7FFFE8}, + [I(108,198)] = {28,0xA3FFFE8}, + [I(109,198)] = {28,0xA7FFFE8}, + [I(110,198)] = {28,0xABFFFE8}, + [I(111,198)] = {27,0x1FFFFE8}, + [I(112,198)] = {28,0xAFFFFE8}, + [I(113,198)] = {29,0x1DBFFFE8}, + [I(114,198)] = {28,0xB3FFFE8}, + [I(115,198)] = {27,0x23FFFE8}, + [I(116,198)] = {27,0x27FFFE8}, + [I(117,198)] = {28,0xB7FFFE8}, + [I(118,198)] = {29,0x1DFFFFE8}, + [I(119,198)] = {29,0x1E3FFFE8}, + [I(120,198)] = {29,0x1E7FFFE8}, + [I(121,198)] = {29,0x1EBFFFE8}, + [I(122,198)] = {29,0x1EFFFFE8}, + [I(123,198)] = {64,0}, + [I(124,198)] = {64,0}, + [I(125,198)] = {64,0}, + [I(126,198)] = {64,0}, + [I(127,198)] = {64,0}, + [I(128,198)] = {64,0}, + [I(129,198)] = {64,0}, + [I(130,198)] = {64,0}, + [I(131,198)] = {64,0}, + [I(132,198)] = {64,0}, + [I(133,198)] = {64,0}, + [I(134,198)] = {64,0}, + [I(135,198)] = {64,0}, + [I(136,198)] = {64,0}, + [I(137,198)] = {64,0}, + [I(138,198)] = {64,0}, + [I(139,198)] = {64,0}, + [I(140,198)] = {64,0}, + [I(141,198)] = {64,0}, + [I(142,198)] = {64,0}, + [I(143,198)] = {64,0}, + [I(144,198)] = {64,0}, + [I(145,198)] = {64,0}, + [I(146,198)] = {64,0}, + [I(147,198)] = {64,0}, + [I(148,198)] = {64,0}, + [I(149,198)] = {64,0}, + [I(150,198)] = {64,0}, + [I(151,198)] = {64,0}, + [I(152,198)] = {64,0}, + [I(153,198)] = {64,0}, + [I(154,198)] = {64,0}, + [I(155,198)] = {64,0}, + [I(156,198)] = {64,0}, + [I(157,198)] = {64,0}, + [I(158,198)] = {64,0}, + [I(159,198)] = {64,0}, + [I(160,198)] = {64,0}, + [I(161,198)] = {64,0}, + [I(162,198)] = {64,0}, + [I(163,198)] = {64,0}, + [I(164,198)] = {64,0}, + [I(165,198)] = {64,0}, + [I(166,198)] = {64,0}, + [I(167,198)] = {64,0}, + [I(168,198)] = {64,0}, + [I(169,198)] = {64,0}, + [I(170,198)] = {64,0}, + [I(171,198)] = {64,0}, + [I(172,198)] = {64,0}, + [I(173,198)] = {64,0}, + [I(174,198)] = {64,0}, + [I(175,198)] = {64,0}, + [I(176,198)] = {64,0}, + [I(177,198)] = {64,0}, + [I(178,198)] = {64,0}, + [I(179,198)] = {64,0}, + [I(180,198)] = {64,0}, + [I(181,198)] = {64,0}, + [I(182,198)] = {64,0}, + [I(183,198)] = {64,0}, + [I(184,198)] = {64,0}, + [I(185,198)] = {64,0}, + [I(186,198)] = {64,0}, + [I(187,198)] = {64,0}, + [I(188,198)] = {64,0}, + [I(189,198)] = {64,0}, + [I(190,198)] = {64,0}, + [I(191,198)] = {64,0}, + [I(192,198)] = {64,0}, + [I(193,198)] = {64,0}, + [I(194,198)] = {64,0}, + [I(195,198)] = {64,0}, + [I(196,198)] = {64,0}, + [I(197,198)] = {64,0}, + [I(198,198)] = {64,0}, + [I(199,198)] = {64,0}, + [I(200,198)] = {64,0}, + [I(201,198)] = {64,0}, + [I(202,198)] = {64,0}, + [I(203,198)] = {64,0}, + [I(204,198)] = {64,0}, + [I(205,198)] = {64,0}, + [I(206,198)] = {64,0}, + [I(207,198)] = {64,0}, + [I(208,198)] = {64,0}, + [I(209,198)] = {64,0}, + [I(210,198)] = {64,0}, + [I(211,198)] = {64,0}, + [I(212,198)] = {64,0}, + [I(213,198)] = {64,0}, + [I(214,198)] = {64,0}, + [I(215,198)] = {64,0}, + [I(216,198)] = {64,0}, + [I(217,198)] = {64,0}, + [I(218,198)] = {64,0}, + [I(219,198)] = {64,0}, + [I(220,198)] = {64,0}, + [I(221,198)] = {64,0}, + [I(222,198)] = {64,0}, + [I(223,198)] = {64,0}, + [I(224,198)] = {64,0}, + [I(225,198)] = {64,0}, + [I(226,198)] = {64,0}, + [I(227,198)] = {64,0}, + [I(228,198)] = {64,0}, + [I(229,198)] = {64,0}, + [I(230,198)] = {64,0}, + [I(231,198)] = {64,0}, + [I(232,198)] = {64,0}, + [I(233,198)] = {64,0}, + [I(234,198)] = {64,0}, + [I(235,198)] = {64,0}, + [I(236,198)] = {64,0}, + [I(237,198)] = {64,0}, + [I(238,198)] = {64,0}, + [I(239,198)] = {64,0}, + [I(240,198)] = {64,0}, + [I(241,198)] = {64,0}, + [I(242,198)] = {64,0}, + [I(243,198)] = {64,0}, + [I(244,198)] = {64,0}, + [I(245,198)] = {64,0}, + [I(246,198)] = {64,0}, + [I(247,198)] = {64,0}, + [I(248,198)] = {64,0}, + [I(249,198)] = {64,0}, + [I(250,198)] = {64,0}, + [I(251,198)] = {64,0}, + [I(252,198)] = {64,0}, + [I(253,198)] = {64,0}, + [I(254,198)] = {64,0}, + [I(255,198)] = {64,0}, + [I(0,199)] = {64,0}, + [I(1,199)] = {64,0}, + [I(2,199)] = {64,0}, + [I(3,199)] = {64,0}, + [I(4,199)] = {64,0}, + [I(5,199)] = {64,0}, + [I(6,199)] = {64,0}, + [I(7,199)] = {64,0}, + [I(8,199)] = {64,0}, + [I(9,199)] = {64,0}, + [I(10,199)] = {64,0}, + [I(11,199)] = {64,0}, + [I(12,199)] = {64,0}, + [I(13,199)] = {64,0}, + [I(14,199)] = {64,0}, + [I(15,199)] = {64,0}, + [I(16,199)] = {64,0}, + [I(17,199)] = {64,0}, + [I(18,199)] = {64,0}, + [I(19,199)] = {64,0}, + [I(20,199)] = {64,0}, + [I(21,199)] = {64,0}, + [I(22,199)] = {64,0}, + [I(23,199)] = {64,0}, + [I(24,199)] = {64,0}, + [I(25,199)] = {64,0}, + [I(26,199)] = {64,0}, + [I(27,199)] = {64,0}, + [I(28,199)] = {64,0}, + [I(29,199)] = {64,0}, + [I(30,199)] = {64,0}, + [I(31,199)] = {64,0}, + [I(32,199)] = {31,0x29FFFFEC}, + [I(33,199)] = {64,0}, + [I(34,199)] = {64,0}, + [I(35,199)] = {64,0}, + [I(36,199)] = {64,0}, + [I(37,199)] = {31,0x2BFFFFEC}, + [I(38,199)] = {64,0}, + [I(39,199)] = {64,0}, + [I(40,199)] = {64,0}, + [I(41,199)] = {64,0}, + [I(42,199)] = {64,0}, + [I(43,199)] = {64,0}, + [I(44,199)] = {64,0}, + [I(45,199)] = {31,0x2DFFFFEC}, + [I(46,199)] = {31,0x2FFFFFEC}, + [I(47,199)] = {31,0x31FFFFEC}, + [I(48,199)] = {30,0x1FFFFEC}, + [I(49,199)] = {30,0x3FFFFEC}, + [I(50,199)] = {30,0x5FFFFEC}, + [I(51,199)] = {31,0x33FFFFEC}, + [I(52,199)] = {31,0x35FFFFEC}, + [I(53,199)] = {31,0x37FFFFEC}, + [I(54,199)] = {31,0x39FFFFEC}, + [I(55,199)] = {31,0x3BFFFFEC}, + [I(56,199)] = {31,0x3DFFFFEC}, + [I(57,199)] = {31,0x3FFFFFEC}, + [I(58,199)] = {X32,0xB9FFFFEC}, + [I(59,199)] = {64,0}, + [I(60,199)] = {64,0}, + [I(61,199)] = {31,0x41FFFFEC}, + [I(62,199)] = {64,0}, + [I(63,199)] = {64,0}, + [I(64,199)] = {64,0}, + [I(65,199)] = {31,0x43FFFFEC}, + [I(66,199)] = {X32,0xBBFFFFEC}, + [I(67,199)] = {X32,0xBDFFFFEC}, + [I(68,199)] = {X32,0xBFFFFFEC}, + [I(69,199)] = {X32,0xC1FFFFEC}, + [I(70,199)] = {X32,0xC3FFFFEC}, + [I(71,199)] = {X32,0xC5FFFFEC}, + [I(72,199)] = {X32,0xC7FFFFEC}, + [I(73,199)] = {X32,0xC9FFFFEC}, + [I(74,199)] = {X32,0xCBFFFFEC}, + [I(75,199)] = {X32,0xCDFFFFEC}, + [I(76,199)] = {X32,0xCFFFFFEC}, + [I(77,199)] = {X32,0xD1FFFFEC}, + [I(78,199)] = {X32,0xD3FFFFEC}, + [I(79,199)] = {X32,0xD5FFFFEC}, + [I(80,199)] = {X32,0xD7FFFFEC}, + [I(81,199)] = {X32,0xD9FFFFEC}, + [I(82,199)] = {X32,0xDBFFFFEC}, + [I(83,199)] = {X32,0xDDFFFFEC}, + [I(84,199)] = {X32,0xDFFFFFEC}, + [I(85,199)] = {X32,0xE1FFFFEC}, + [I(86,199)] = {X32,0xE3FFFFEC}, + [I(87,199)] = {X32,0xE5FFFFEC}, + [I(88,199)] = {64,0}, + [I(89,199)] = {X32,0xE7FFFFEC}, + [I(90,199)] = {64,0}, + [I(91,199)] = {64,0}, + [I(92,199)] = {64,0}, + [I(93,199)] = {64,0}, + [I(94,199)] = {64,0}, + [I(95,199)] = {31,0x45FFFFEC}, + [I(96,199)] = {64,0}, + [I(97,199)] = {30,0x7FFFFEC}, + [I(98,199)] = {31,0x47FFFFEC}, + [I(99,199)] = {30,0x9FFFFEC}, + [I(100,199)] = {31,0x49FFFFEC}, + [I(101,199)] = {30,0xBFFFFEC}, + [I(102,199)] = {31,0x4BFFFFEC}, + [I(103,199)] = {31,0x4DFFFFEC}, + [I(104,199)] = {31,0x4FFFFFEC}, + [I(105,199)] = {30,0xDFFFFEC}, + [I(106,199)] = {X32,0xE9FFFFEC}, + [I(107,199)] = {X32,0xEBFFFFEC}, + [I(108,199)] = {31,0x51FFFFEC}, + [I(109,199)] = {31,0x53FFFFEC}, + [I(110,199)] = {31,0x55FFFFEC}, + [I(111,199)] = {30,0xFFFFFEC}, + [I(112,199)] = {31,0x57FFFFEC}, + [I(113,199)] = {X32,0xEDFFFFEC}, + [I(114,199)] = {31,0x59FFFFEC}, + [I(115,199)] = {30,0x11FFFFEC}, + [I(116,199)] = {30,0x13FFFFEC}, + [I(117,199)] = {31,0x5BFFFFEC}, + [I(118,199)] = {X32,0xEFFFFFEC}, + [I(119,199)] = {X32,0xF1FFFFEC}, + [I(120,199)] = {X32,0xF3FFFFEC}, + [I(121,199)] = {X32,0xF5FFFFEC}, + [I(122,199)] = {X32,0xF7FFFFEC}, + [I(123,199)] = {64,0}, + [I(124,199)] = {64,0}, + [I(125,199)] = {64,0}, + [I(126,199)] = {64,0}, + [I(127,199)] = {64,0}, + [I(128,199)] = {64,0}, + [I(129,199)] = {64,0}, + [I(130,199)] = {64,0}, + [I(131,199)] = {64,0}, + [I(132,199)] = {64,0}, + [I(133,199)] = {64,0}, + [I(134,199)] = {64,0}, + [I(135,199)] = {64,0}, + [I(136,199)] = {64,0}, + [I(137,199)] = {64,0}, + [I(138,199)] = {64,0}, + [I(139,199)] = {64,0}, + [I(140,199)] = {64,0}, + [I(141,199)] = {64,0}, + [I(142,199)] = {64,0}, + [I(143,199)] = {64,0}, + [I(144,199)] = {64,0}, + [I(145,199)] = {64,0}, + [I(146,199)] = {64,0}, + [I(147,199)] = {64,0}, + [I(148,199)] = {64,0}, + [I(149,199)] = {64,0}, + [I(150,199)] = {64,0}, + [I(151,199)] = {64,0}, + [I(152,199)] = {64,0}, + [I(153,199)] = {64,0}, + [I(154,199)] = {64,0}, + [I(155,199)] = {64,0}, + [I(156,199)] = {64,0}, + [I(157,199)] = {64,0}, + [I(158,199)] = {64,0}, + [I(159,199)] = {64,0}, + [I(160,199)] = {64,0}, + [I(161,199)] = {64,0}, + [I(162,199)] = {64,0}, + [I(163,199)] = {64,0}, + [I(164,199)] = {64,0}, + [I(165,199)] = {64,0}, + [I(166,199)] = {64,0}, + [I(167,199)] = {64,0}, + [I(168,199)] = {64,0}, + [I(169,199)] = {64,0}, + [I(170,199)] = {64,0}, + [I(171,199)] = {64,0}, + [I(172,199)] = {64,0}, + [I(173,199)] = {64,0}, + [I(174,199)] = {64,0}, + [I(175,199)] = {64,0}, + [I(176,199)] = {64,0}, + [I(177,199)] = {64,0}, + [I(178,199)] = {64,0}, + [I(179,199)] = {64,0}, + [I(180,199)] = {64,0}, + [I(181,199)] = {64,0}, + [I(182,199)] = {64,0}, + [I(183,199)] = {64,0}, + [I(184,199)] = {64,0}, + [I(185,199)] = {64,0}, + [I(186,199)] = {64,0}, + [I(187,199)] = {64,0}, + [I(188,199)] = {64,0}, + [I(189,199)] = {64,0}, + [I(190,199)] = {64,0}, + [I(191,199)] = {64,0}, + [I(192,199)] = {64,0}, + [I(193,199)] = {64,0}, + [I(194,199)] = {64,0}, + [I(195,199)] = {64,0}, + [I(196,199)] = {64,0}, + [I(197,199)] = {64,0}, + [I(198,199)] = {64,0}, + [I(199,199)] = {64,0}, + [I(200,199)] = {64,0}, + [I(201,199)] = {64,0}, + [I(202,199)] = {64,0}, + [I(203,199)] = {64,0}, + [I(204,199)] = {64,0}, + [I(205,199)] = {64,0}, + [I(206,199)] = {64,0}, + [I(207,199)] = {64,0}, + [I(208,199)] = {64,0}, + [I(209,199)] = {64,0}, + [I(210,199)] = {64,0}, + [I(211,199)] = {64,0}, + [I(212,199)] = {64,0}, + [I(213,199)] = {64,0}, + [I(214,199)] = {64,0}, + [I(215,199)] = {64,0}, + [I(216,199)] = {64,0}, + [I(217,199)] = {64,0}, + [I(218,199)] = {64,0}, + [I(219,199)] = {64,0}, + [I(220,199)] = {64,0}, + [I(221,199)] = {64,0}, + [I(222,199)] = {64,0}, + [I(223,199)] = {64,0}, + [I(224,199)] = {64,0}, + [I(225,199)] = {64,0}, + [I(226,199)] = {64,0}, + [I(227,199)] = {64,0}, + [I(228,199)] = {64,0}, + [I(229,199)] = {64,0}, + [I(230,199)] = {64,0}, + [I(231,199)] = {64,0}, + [I(232,199)] = {64,0}, + [I(233,199)] = {64,0}, + [I(234,199)] = {64,0}, + [I(235,199)] = {64,0}, + [I(236,199)] = {64,0}, + [I(237,199)] = {64,0}, + [I(238,199)] = {64,0}, + [I(239,199)] = {64,0}, + [I(240,199)] = {64,0}, + [I(241,199)] = {64,0}, + [I(242,199)] = {64,0}, + [I(243,199)] = {64,0}, + [I(244,199)] = {64,0}, + [I(245,199)] = {64,0}, + [I(246,199)] = {64,0}, + [I(247,199)] = {64,0}, + [I(248,199)] = {64,0}, + [I(249,199)] = {64,0}, + [I(250,199)] = {64,0}, + [I(251,199)] = {64,0}, + [I(252,199)] = {64,0}, + [I(253,199)] = {64,0}, + [I(254,199)] = {64,0}, + [I(255,199)] = {64,0}, + [I(0,200)] = {64,0}, + [I(1,200)] = {64,0}, + [I(2,200)] = {64,0}, + [I(3,200)] = {64,0}, + [I(4,200)] = {64,0}, + [I(5,200)] = {64,0}, + [I(6,200)] = {64,0}, + [I(7,200)] = {64,0}, + [I(8,200)] = {64,0}, + [I(9,200)] = {64,0}, + [I(10,200)] = {64,0}, + [I(11,200)] = {64,0}, + [I(12,200)] = {64,0}, + [I(13,200)] = {64,0}, + [I(14,200)] = {64,0}, + [I(15,200)] = {64,0}, + [I(16,200)] = {64,0}, + [I(17,200)] = {64,0}, + [I(18,200)] = {64,0}, + [I(19,200)] = {64,0}, + [I(20,200)] = {64,0}, + [I(21,200)] = {64,0}, + [I(22,200)] = {64,0}, + [I(23,200)] = {64,0}, + [I(24,200)] = {64,0}, + [I(25,200)] = {64,0}, + [I(26,200)] = {64,0}, + [I(27,200)] = {64,0}, + [I(28,200)] = {64,0}, + [I(29,200)] = {64,0}, + [I(30,200)] = {64,0}, + [I(31,200)] = {64,0}, + [I(32,200)] = {X32,0x53FFFFE2}, + [I(33,200)] = {64,0}, + [I(34,200)] = {64,0}, + [I(35,200)] = {64,0}, + [I(36,200)] = {64,0}, + [I(37,200)] = {X32,0x57FFFFE2}, + [I(38,200)] = {64,0}, + [I(39,200)] = {64,0}, + [I(40,200)] = {64,0}, + [I(41,200)] = {64,0}, + [I(42,200)] = {64,0}, + [I(43,200)] = {64,0}, + [I(44,200)] = {64,0}, + [I(45,200)] = {X32,0x5BFFFFE2}, + [I(46,200)] = {X32,0x5FFFFFE2}, + [I(47,200)] = {X32,0x63FFFFE2}, + [I(48,200)] = {31,0x3FFFFE2}, + [I(49,200)] = {31,0x7FFFFE2}, + [I(50,200)] = {31,0xBFFFFE2}, + [I(51,200)] = {X32,0x67FFFFE2}, + [I(52,200)] = {X32,0x6BFFFFE2}, + [I(53,200)] = {X32,0x6FFFFFE2}, + [I(54,200)] = {X32,0x73FFFFE2}, + [I(55,200)] = {X32,0x77FFFFE2}, + [I(56,200)] = {X32,0x7BFFFFE2}, + [I(57,200)] = {X32,0x7FFFFFE2}, + [I(58,200)] = {64,0}, + [I(59,200)] = {64,0}, + [I(60,200)] = {64,0}, + [I(61,200)] = {X32,0x83FFFFE2}, + [I(62,200)] = {64,0}, + [I(63,200)] = {64,0}, + [I(64,200)] = {64,0}, + [I(65,200)] = {X32,0x87FFFFE2}, + [I(66,200)] = {64,0}, + [I(67,200)] = {64,0}, + [I(68,200)] = {64,0}, + [I(69,200)] = {64,0}, + [I(70,200)] = {64,0}, + [I(71,200)] = {64,0}, + [I(72,200)] = {64,0}, + [I(73,200)] = {64,0}, + [I(74,200)] = {64,0}, + [I(75,200)] = {64,0}, + [I(76,200)] = {64,0}, + [I(77,200)] = {64,0}, + [I(78,200)] = {64,0}, + [I(79,200)] = {64,0}, + [I(80,200)] = {64,0}, + [I(81,200)] = {64,0}, + [I(82,200)] = {64,0}, + [I(83,200)] = {64,0}, + [I(84,200)] = {64,0}, + [I(85,200)] = {64,0}, + [I(86,200)] = {64,0}, + [I(87,200)] = {64,0}, + [I(88,200)] = {64,0}, + [I(89,200)] = {64,0}, + [I(90,200)] = {64,0}, + [I(91,200)] = {64,0}, + [I(92,200)] = {64,0}, + [I(93,200)] = {64,0}, + [I(94,200)] = {64,0}, + [I(95,200)] = {X32,0x8BFFFFE2}, + [I(96,200)] = {64,0}, + [I(97,200)] = {31,0xFFFFFE2}, + [I(98,200)] = {X32,0x8FFFFFE2}, + [I(99,200)] = {31,0x13FFFFE2}, + [I(100,200)] = {X32,0x93FFFFE2}, + [I(101,200)] = {31,0x17FFFFE2}, + [I(102,200)] = {X32,0x97FFFFE2}, + [I(103,200)] = {X32,0x9BFFFFE2}, + [I(104,200)] = {X32,0x9FFFFFE2}, + [I(105,200)] = {31,0x1BFFFFE2}, + [I(106,200)] = {64,0}, + [I(107,200)] = {64,0}, + [I(108,200)] = {X32,0xA3FFFFE2}, + [I(109,200)] = {X32,0xA7FFFFE2}, + [I(110,200)] = {X32,0xABFFFFE2}, + [I(111,200)] = {31,0x1FFFFFE2}, + [I(112,200)] = {X32,0xAFFFFFE2}, + [I(113,200)] = {64,0}, + [I(114,200)] = {X32,0xB3FFFFE2}, + [I(115,200)] = {31,0x23FFFFE2}, + [I(116,200)] = {31,0x27FFFFE2}, + [I(117,200)] = {X32,0xB7FFFFE2}, + [I(118,200)] = {64,0}, + [I(119,200)] = {64,0}, + [I(120,200)] = {64,0}, + [I(121,200)] = {64,0}, + [I(122,200)] = {64,0}, + [I(123,200)] = {64,0}, + [I(124,200)] = {64,0}, + [I(125,200)] = {64,0}, + [I(126,200)] = {64,0}, + [I(127,200)] = {64,0}, + [I(128,200)] = {64,0}, + [I(129,200)] = {64,0}, + [I(130,200)] = {64,0}, + [I(131,200)] = {64,0}, + [I(132,200)] = {64,0}, + [I(133,200)] = {64,0}, + [I(134,200)] = {64,0}, + [I(135,200)] = {64,0}, + [I(136,200)] = {64,0}, + [I(137,200)] = {64,0}, + [I(138,200)] = {64,0}, + [I(139,200)] = {64,0}, + [I(140,200)] = {64,0}, + [I(141,200)] = {64,0}, + [I(142,200)] = {64,0}, + [I(143,200)] = {64,0}, + [I(144,200)] = {64,0}, + [I(145,200)] = {64,0}, + [I(146,200)] = {64,0}, + [I(147,200)] = {64,0}, + [I(148,200)] = {64,0}, + [I(149,200)] = {64,0}, + [I(150,200)] = {64,0}, + [I(151,200)] = {64,0}, + [I(152,200)] = {64,0}, + [I(153,200)] = {64,0}, + [I(154,200)] = {64,0}, + [I(155,200)] = {64,0}, + [I(156,200)] = {64,0}, + [I(157,200)] = {64,0}, + [I(158,200)] = {64,0}, + [I(159,200)] = {64,0}, + [I(160,200)] = {64,0}, + [I(161,200)] = {64,0}, + [I(162,200)] = {64,0}, + [I(163,200)] = {64,0}, + [I(164,200)] = {64,0}, + [I(165,200)] = {64,0}, + [I(166,200)] = {64,0}, + [I(167,200)] = {64,0}, + [I(168,200)] = {64,0}, + [I(169,200)] = {64,0}, + [I(170,200)] = {64,0}, + [I(171,200)] = {64,0}, + [I(172,200)] = {64,0}, + [I(173,200)] = {64,0}, + [I(174,200)] = {64,0}, + [I(175,200)] = {64,0}, + [I(176,200)] = {64,0}, + [I(177,200)] = {64,0}, + [I(178,200)] = {64,0}, + [I(179,200)] = {64,0}, + [I(180,200)] = {64,0}, + [I(181,200)] = {64,0}, + [I(182,200)] = {64,0}, + [I(183,200)] = {64,0}, + [I(184,200)] = {64,0}, + [I(185,200)] = {64,0}, + [I(186,200)] = {64,0}, + [I(187,200)] = {64,0}, + [I(188,200)] = {64,0}, + [I(189,200)] = {64,0}, + [I(190,200)] = {64,0}, + [I(191,200)] = {64,0}, + [I(192,200)] = {64,0}, + [I(193,200)] = {64,0}, + [I(194,200)] = {64,0}, + [I(195,200)] = {64,0}, + [I(196,200)] = {64,0}, + [I(197,200)] = {64,0}, + [I(198,200)] = {64,0}, + [I(199,200)] = {64,0}, + [I(200,200)] = {64,0}, + [I(201,200)] = {64,0}, + [I(202,200)] = {64,0}, + [I(203,200)] = {64,0}, + [I(204,200)] = {64,0}, + [I(205,200)] = {64,0}, + [I(206,200)] = {64,0}, + [I(207,200)] = {64,0}, + [I(208,200)] = {64,0}, + [I(209,200)] = {64,0}, + [I(210,200)] = {64,0}, + [I(211,200)] = {64,0}, + [I(212,200)] = {64,0}, + [I(213,200)] = {64,0}, + [I(214,200)] = {64,0}, + [I(215,200)] = {64,0}, + [I(216,200)] = {64,0}, + [I(217,200)] = {64,0}, + [I(218,200)] = {64,0}, + [I(219,200)] = {64,0}, + [I(220,200)] = {64,0}, + [I(221,200)] = {64,0}, + [I(222,200)] = {64,0}, + [I(223,200)] = {64,0}, + [I(224,200)] = {64,0}, + [I(225,200)] = {64,0}, + [I(226,200)] = {64,0}, + [I(227,200)] = {64,0}, + [I(228,200)] = {64,0}, + [I(229,200)] = {64,0}, + [I(230,200)] = {64,0}, + [I(231,200)] = {64,0}, + [I(232,200)] = {64,0}, + [I(233,200)] = {64,0}, + [I(234,200)] = {64,0}, + [I(235,200)] = {64,0}, + [I(236,200)] = {64,0}, + [I(237,200)] = {64,0}, + [I(238,200)] = {64,0}, + [I(239,200)] = {64,0}, + [I(240,200)] = {64,0}, + [I(241,200)] = {64,0}, + [I(242,200)] = {64,0}, + [I(243,200)] = {64,0}, + [I(244,200)] = {64,0}, + [I(245,200)] = {64,0}, + [I(246,200)] = {64,0}, + [I(247,200)] = {64,0}, + [I(248,200)] = {64,0}, + [I(249,200)] = {64,0}, + [I(250,200)] = {64,0}, + [I(251,200)] = {64,0}, + [I(252,200)] = {64,0}, + [I(253,200)] = {64,0}, + [I(254,200)] = {64,0}, + [I(255,200)] = {64,0}, + [I(0,201)] = {64,0}, + [I(1,201)] = {64,0}, + [I(2,201)] = {64,0}, + [I(3,201)] = {64,0}, + [I(4,201)] = {64,0}, + [I(5,201)] = {64,0}, + [I(6,201)] = {64,0}, + [I(7,201)] = {64,0}, + [I(8,201)] = {64,0}, + [I(9,201)] = {64,0}, + [I(10,201)] = {64,0}, + [I(11,201)] = {64,0}, + [I(12,201)] = {64,0}, + [I(13,201)] = {64,0}, + [I(14,201)] = {64,0}, + [I(15,201)] = {64,0}, + [I(16,201)] = {64,0}, + [I(17,201)] = {64,0}, + [I(18,201)] = {64,0}, + [I(19,201)] = {64,0}, + [I(20,201)] = {64,0}, + [I(21,201)] = {64,0}, + [I(22,201)] = {64,0}, + [I(23,201)] = {64,0}, + [I(24,201)] = {64,0}, + [I(25,201)] = {64,0}, + [I(26,201)] = {64,0}, + [I(27,201)] = {64,0}, + [I(28,201)] = {64,0}, + [I(29,201)] = {64,0}, + [I(30,201)] = {64,0}, + [I(31,201)] = {64,0}, + [I(32,201)] = {X32,0x53FFFFE3}, + [I(33,201)] = {64,0}, + [I(34,201)] = {64,0}, + [I(35,201)] = {64,0}, + [I(36,201)] = {64,0}, + [I(37,201)] = {X32,0x57FFFFE3}, + [I(38,201)] = {64,0}, + [I(39,201)] = {64,0}, + [I(40,201)] = {64,0}, + [I(41,201)] = {64,0}, + [I(42,201)] = {64,0}, + [I(43,201)] = {64,0}, + [I(44,201)] = {64,0}, + [I(45,201)] = {X32,0x5BFFFFE3}, + [I(46,201)] = {X32,0x5FFFFFE3}, + [I(47,201)] = {X32,0x63FFFFE3}, + [I(48,201)] = {31,0x3FFFFE3}, + [I(49,201)] = {31,0x7FFFFE3}, + [I(50,201)] = {31,0xBFFFFE3}, + [I(51,201)] = {X32,0x67FFFFE3}, + [I(52,201)] = {X32,0x6BFFFFE3}, + [I(53,201)] = {X32,0x6FFFFFE3}, + [I(54,201)] = {X32,0x73FFFFE3}, + [I(55,201)] = {X32,0x77FFFFE3}, + [I(56,201)] = {X32,0x7BFFFFE3}, + [I(57,201)] = {X32,0x7FFFFFE3}, + [I(58,201)] = {64,0}, + [I(59,201)] = {64,0}, + [I(60,201)] = {64,0}, + [I(61,201)] = {X32,0x83FFFFE3}, + [I(62,201)] = {64,0}, + [I(63,201)] = {64,0}, + [I(64,201)] = {64,0}, + [I(65,201)] = {X32,0x87FFFFE3}, + [I(66,201)] = {64,0}, + [I(67,201)] = {64,0}, + [I(68,201)] = {64,0}, + [I(69,201)] = {64,0}, + [I(70,201)] = {64,0}, + [I(71,201)] = {64,0}, + [I(72,201)] = {64,0}, + [I(73,201)] = {64,0}, + [I(74,201)] = {64,0}, + [I(75,201)] = {64,0}, + [I(76,201)] = {64,0}, + [I(77,201)] = {64,0}, + [I(78,201)] = {64,0}, + [I(79,201)] = {64,0}, + [I(80,201)] = {64,0}, + [I(81,201)] = {64,0}, + [I(82,201)] = {64,0}, + [I(83,201)] = {64,0}, + [I(84,201)] = {64,0}, + [I(85,201)] = {64,0}, + [I(86,201)] = {64,0}, + [I(87,201)] = {64,0}, + [I(88,201)] = {64,0}, + [I(89,201)] = {64,0}, + [I(90,201)] = {64,0}, + [I(91,201)] = {64,0}, + [I(92,201)] = {64,0}, + [I(93,201)] = {64,0}, + [I(94,201)] = {64,0}, + [I(95,201)] = {X32,0x8BFFFFE3}, + [I(96,201)] = {64,0}, + [I(97,201)] = {31,0xFFFFFE3}, + [I(98,201)] = {X32,0x8FFFFFE3}, + [I(99,201)] = {31,0x13FFFFE3}, + [I(100,201)] = {X32,0x93FFFFE3}, + [I(101,201)] = {31,0x17FFFFE3}, + [I(102,201)] = {X32,0x97FFFFE3}, + [I(103,201)] = {X32,0x9BFFFFE3}, + [I(104,201)] = {X32,0x9FFFFFE3}, + [I(105,201)] = {31,0x1BFFFFE3}, + [I(106,201)] = {64,0}, + [I(107,201)] = {64,0}, + [I(108,201)] = {X32,0xA3FFFFE3}, + [I(109,201)] = {X32,0xA7FFFFE3}, + [I(110,201)] = {X32,0xABFFFFE3}, + [I(111,201)] = {31,0x1FFFFFE3}, + [I(112,201)] = {X32,0xAFFFFFE3}, + [I(113,201)] = {64,0}, + [I(114,201)] = {X32,0xB3FFFFE3}, + [I(115,201)] = {31,0x23FFFFE3}, + [I(116,201)] = {31,0x27FFFFE3}, + [I(117,201)] = {X32,0xB7FFFFE3}, + [I(118,201)] = {64,0}, + [I(119,201)] = {64,0}, + [I(120,201)] = {64,0}, + [I(121,201)] = {64,0}, + [I(122,201)] = {64,0}, + [I(123,201)] = {64,0}, + [I(124,201)] = {64,0}, + [I(125,201)] = {64,0}, + [I(126,201)] = {64,0}, + [I(127,201)] = {64,0}, + [I(128,201)] = {64,0}, + [I(129,201)] = {64,0}, + [I(130,201)] = {64,0}, + [I(131,201)] = {64,0}, + [I(132,201)] = {64,0}, + [I(133,201)] = {64,0}, + [I(134,201)] = {64,0}, + [I(135,201)] = {64,0}, + [I(136,201)] = {64,0}, + [I(137,201)] = {64,0}, + [I(138,201)] = {64,0}, + [I(139,201)] = {64,0}, + [I(140,201)] = {64,0}, + [I(141,201)] = {64,0}, + [I(142,201)] = {64,0}, + [I(143,201)] = {64,0}, + [I(144,201)] = {64,0}, + [I(145,201)] = {64,0}, + [I(146,201)] = {64,0}, + [I(147,201)] = {64,0}, + [I(148,201)] = {64,0}, + [I(149,201)] = {64,0}, + [I(150,201)] = {64,0}, + [I(151,201)] = {64,0}, + [I(152,201)] = {64,0}, + [I(153,201)] = {64,0}, + [I(154,201)] = {64,0}, + [I(155,201)] = {64,0}, + [I(156,201)] = {64,0}, + [I(157,201)] = {64,0}, + [I(158,201)] = {64,0}, + [I(159,201)] = {64,0}, + [I(160,201)] = {64,0}, + [I(161,201)] = {64,0}, + [I(162,201)] = {64,0}, + [I(163,201)] = {64,0}, + [I(164,201)] = {64,0}, + [I(165,201)] = {64,0}, + [I(166,201)] = {64,0}, + [I(167,201)] = {64,0}, + [I(168,201)] = {64,0}, + [I(169,201)] = {64,0}, + [I(170,201)] = {64,0}, + [I(171,201)] = {64,0}, + [I(172,201)] = {64,0}, + [I(173,201)] = {64,0}, + [I(174,201)] = {64,0}, + [I(175,201)] = {64,0}, + [I(176,201)] = {64,0}, + [I(177,201)] = {64,0}, + [I(178,201)] = {64,0}, + [I(179,201)] = {64,0}, + [I(180,201)] = {64,0}, + [I(181,201)] = {64,0}, + [I(182,201)] = {64,0}, + [I(183,201)] = {64,0}, + [I(184,201)] = {64,0}, + [I(185,201)] = {64,0}, + [I(186,201)] = {64,0}, + [I(187,201)] = {64,0}, + [I(188,201)] = {64,0}, + [I(189,201)] = {64,0}, + [I(190,201)] = {64,0}, + [I(191,201)] = {64,0}, + [I(192,201)] = {64,0}, + [I(193,201)] = {64,0}, + [I(194,201)] = {64,0}, + [I(195,201)] = {64,0}, + [I(196,201)] = {64,0}, + [I(197,201)] = {64,0}, + [I(198,201)] = {64,0}, + [I(199,201)] = {64,0}, + [I(200,201)] = {64,0}, + [I(201,201)] = {64,0}, + [I(202,201)] = {64,0}, + [I(203,201)] = {64,0}, + [I(204,201)] = {64,0}, + [I(205,201)] = {64,0}, + [I(206,201)] = {64,0}, + [I(207,201)] = {64,0}, + [I(208,201)] = {64,0}, + [I(209,201)] = {64,0}, + [I(210,201)] = {64,0}, + [I(211,201)] = {64,0}, + [I(212,201)] = {64,0}, + [I(213,201)] = {64,0}, + [I(214,201)] = {64,0}, + [I(215,201)] = {64,0}, + [I(216,201)] = {64,0}, + [I(217,201)] = {64,0}, + [I(218,201)] = {64,0}, + [I(219,201)] = {64,0}, + [I(220,201)] = {64,0}, + [I(221,201)] = {64,0}, + [I(222,201)] = {64,0}, + [I(223,201)] = {64,0}, + [I(224,201)] = {64,0}, + [I(225,201)] = {64,0}, + [I(226,201)] = {64,0}, + [I(227,201)] = {64,0}, + [I(228,201)] = {64,0}, + [I(229,201)] = {64,0}, + [I(230,201)] = {64,0}, + [I(231,201)] = {64,0}, + [I(232,201)] = {64,0}, + [I(233,201)] = {64,0}, + [I(234,201)] = {64,0}, + [I(235,201)] = {64,0}, + [I(236,201)] = {64,0}, + [I(237,201)] = {64,0}, + [I(238,201)] = {64,0}, + [I(239,201)] = {64,0}, + [I(240,201)] = {64,0}, + [I(241,201)] = {64,0}, + [I(242,201)] = {64,0}, + [I(243,201)] = {64,0}, + [I(244,201)] = {64,0}, + [I(245,201)] = {64,0}, + [I(246,201)] = {64,0}, + [I(247,201)] = {64,0}, + [I(248,201)] = {64,0}, + [I(249,201)] = {64,0}, + [I(250,201)] = {64,0}, + [I(251,201)] = {64,0}, + [I(252,201)] = {64,0}, + [I(253,201)] = {64,0}, + [I(254,201)] = {64,0}, + [I(255,201)] = {64,0}, + [I(0,202)] = {64,0}, + [I(1,202)] = {64,0}, + [I(2,202)] = {64,0}, + [I(3,202)] = {64,0}, + [I(4,202)] = {64,0}, + [I(5,202)] = {64,0}, + [I(6,202)] = {64,0}, + [I(7,202)] = {64,0}, + [I(8,202)] = {64,0}, + [I(9,202)] = {64,0}, + [I(10,202)] = {64,0}, + [I(11,202)] = {64,0}, + [I(12,202)] = {64,0}, + [I(13,202)] = {64,0}, + [I(14,202)] = {64,0}, + [I(15,202)] = {64,0}, + [I(16,202)] = {64,0}, + [I(17,202)] = {64,0}, + [I(18,202)] = {64,0}, + [I(19,202)] = {64,0}, + [I(20,202)] = {64,0}, + [I(21,202)] = {64,0}, + [I(22,202)] = {64,0}, + [I(23,202)] = {64,0}, + [I(24,202)] = {64,0}, + [I(25,202)] = {64,0}, + [I(26,202)] = {64,0}, + [I(27,202)] = {64,0}, + [I(28,202)] = {64,0}, + [I(29,202)] = {64,0}, + [I(30,202)] = {64,0}, + [I(31,202)] = {64,0}, + [I(32,202)] = {X32,0x53FFFFE4}, + [I(33,202)] = {64,0}, + [I(34,202)] = {64,0}, + [I(35,202)] = {64,0}, + [I(36,202)] = {64,0}, + [I(37,202)] = {X32,0x57FFFFE4}, + [I(38,202)] = {64,0}, + [I(39,202)] = {64,0}, + [I(40,202)] = {64,0}, + [I(41,202)] = {64,0}, + [I(42,202)] = {64,0}, + [I(43,202)] = {64,0}, + [I(44,202)] = {64,0}, + [I(45,202)] = {X32,0x5BFFFFE4}, + [I(46,202)] = {X32,0x5FFFFFE4}, + [I(47,202)] = {X32,0x63FFFFE4}, + [I(48,202)] = {31,0x3FFFFE4}, + [I(49,202)] = {31,0x7FFFFE4}, + [I(50,202)] = {31,0xBFFFFE4}, + [I(51,202)] = {X32,0x67FFFFE4}, + [I(52,202)] = {X32,0x6BFFFFE4}, + [I(53,202)] = {X32,0x6FFFFFE4}, + [I(54,202)] = {X32,0x73FFFFE4}, + [I(55,202)] = {X32,0x77FFFFE4}, + [I(56,202)] = {X32,0x7BFFFFE4}, + [I(57,202)] = {X32,0x7FFFFFE4}, + [I(58,202)] = {64,0}, + [I(59,202)] = {64,0}, + [I(60,202)] = {64,0}, + [I(61,202)] = {X32,0x83FFFFE4}, + [I(62,202)] = {64,0}, + [I(63,202)] = {64,0}, + [I(64,202)] = {64,0}, + [I(65,202)] = {X32,0x87FFFFE4}, + [I(66,202)] = {64,0}, + [I(67,202)] = {64,0}, + [I(68,202)] = {64,0}, + [I(69,202)] = {64,0}, + [I(70,202)] = {64,0}, + [I(71,202)] = {64,0}, + [I(72,202)] = {64,0}, + [I(73,202)] = {64,0}, + [I(74,202)] = {64,0}, + [I(75,202)] = {64,0}, + [I(76,202)] = {64,0}, + [I(77,202)] = {64,0}, + [I(78,202)] = {64,0}, + [I(79,202)] = {64,0}, + [I(80,202)] = {64,0}, + [I(81,202)] = {64,0}, + [I(82,202)] = {64,0}, + [I(83,202)] = {64,0}, + [I(84,202)] = {64,0}, + [I(85,202)] = {64,0}, + [I(86,202)] = {64,0}, + [I(87,202)] = {64,0}, + [I(88,202)] = {64,0}, + [I(89,202)] = {64,0}, + [I(90,202)] = {64,0}, + [I(91,202)] = {64,0}, + [I(92,202)] = {64,0}, + [I(93,202)] = {64,0}, + [I(94,202)] = {64,0}, + [I(95,202)] = {X32,0x8BFFFFE4}, + [I(96,202)] = {64,0}, + [I(97,202)] = {31,0xFFFFFE4}, + [I(98,202)] = {X32,0x8FFFFFE4}, + [I(99,202)] = {31,0x13FFFFE4}, + [I(100,202)] = {X32,0x93FFFFE4}, + [I(101,202)] = {31,0x17FFFFE4}, + [I(102,202)] = {X32,0x97FFFFE4}, + [I(103,202)] = {X32,0x9BFFFFE4}, + [I(104,202)] = {X32,0x9FFFFFE4}, + [I(105,202)] = {31,0x1BFFFFE4}, + [I(106,202)] = {64,0}, + [I(107,202)] = {64,0}, + [I(108,202)] = {X32,0xA3FFFFE4}, + [I(109,202)] = {X32,0xA7FFFFE4}, + [I(110,202)] = {X32,0xABFFFFE4}, + [I(111,202)] = {31,0x1FFFFFE4}, + [I(112,202)] = {X32,0xAFFFFFE4}, + [I(113,202)] = {64,0}, + [I(114,202)] = {X32,0xB3FFFFE4}, + [I(115,202)] = {31,0x23FFFFE4}, + [I(116,202)] = {31,0x27FFFFE4}, + [I(117,202)] = {X32,0xB7FFFFE4}, + [I(118,202)] = {64,0}, + [I(119,202)] = {64,0}, + [I(120,202)] = {64,0}, + [I(121,202)] = {64,0}, + [I(122,202)] = {64,0}, + [I(123,202)] = {64,0}, + [I(124,202)] = {64,0}, + [I(125,202)] = {64,0}, + [I(126,202)] = {64,0}, + [I(127,202)] = {64,0}, + [I(128,202)] = {64,0}, + [I(129,202)] = {64,0}, + [I(130,202)] = {64,0}, + [I(131,202)] = {64,0}, + [I(132,202)] = {64,0}, + [I(133,202)] = {64,0}, + [I(134,202)] = {64,0}, + [I(135,202)] = {64,0}, + [I(136,202)] = {64,0}, + [I(137,202)] = {64,0}, + [I(138,202)] = {64,0}, + [I(139,202)] = {64,0}, + [I(140,202)] = {64,0}, + [I(141,202)] = {64,0}, + [I(142,202)] = {64,0}, + [I(143,202)] = {64,0}, + [I(144,202)] = {64,0}, + [I(145,202)] = {64,0}, + [I(146,202)] = {64,0}, + [I(147,202)] = {64,0}, + [I(148,202)] = {64,0}, + [I(149,202)] = {64,0}, + [I(150,202)] = {64,0}, + [I(151,202)] = {64,0}, + [I(152,202)] = {64,0}, + [I(153,202)] = {64,0}, + [I(154,202)] = {64,0}, + [I(155,202)] = {64,0}, + [I(156,202)] = {64,0}, + [I(157,202)] = {64,0}, + [I(158,202)] = {64,0}, + [I(159,202)] = {64,0}, + [I(160,202)] = {64,0}, + [I(161,202)] = {64,0}, + [I(162,202)] = {64,0}, + [I(163,202)] = {64,0}, + [I(164,202)] = {64,0}, + [I(165,202)] = {64,0}, + [I(166,202)] = {64,0}, + [I(167,202)] = {64,0}, + [I(168,202)] = {64,0}, + [I(169,202)] = {64,0}, + [I(170,202)] = {64,0}, + [I(171,202)] = {64,0}, + [I(172,202)] = {64,0}, + [I(173,202)] = {64,0}, + [I(174,202)] = {64,0}, + [I(175,202)] = {64,0}, + [I(176,202)] = {64,0}, + [I(177,202)] = {64,0}, + [I(178,202)] = {64,0}, + [I(179,202)] = {64,0}, + [I(180,202)] = {64,0}, + [I(181,202)] = {64,0}, + [I(182,202)] = {64,0}, + [I(183,202)] = {64,0}, + [I(184,202)] = {64,0}, + [I(185,202)] = {64,0}, + [I(186,202)] = {64,0}, + [I(187,202)] = {64,0}, + [I(188,202)] = {64,0}, + [I(189,202)] = {64,0}, + [I(190,202)] = {64,0}, + [I(191,202)] = {64,0}, + [I(192,202)] = {64,0}, + [I(193,202)] = {64,0}, + [I(194,202)] = {64,0}, + [I(195,202)] = {64,0}, + [I(196,202)] = {64,0}, + [I(197,202)] = {64,0}, + [I(198,202)] = {64,0}, + [I(199,202)] = {64,0}, + [I(200,202)] = {64,0}, + [I(201,202)] = {64,0}, + [I(202,202)] = {64,0}, + [I(203,202)] = {64,0}, + [I(204,202)] = {64,0}, + [I(205,202)] = {64,0}, + [I(206,202)] = {64,0}, + [I(207,202)] = {64,0}, + [I(208,202)] = {64,0}, + [I(209,202)] = {64,0}, + [I(210,202)] = {64,0}, + [I(211,202)] = {64,0}, + [I(212,202)] = {64,0}, + [I(213,202)] = {64,0}, + [I(214,202)] = {64,0}, + [I(215,202)] = {64,0}, + [I(216,202)] = {64,0}, + [I(217,202)] = {64,0}, + [I(218,202)] = {64,0}, + [I(219,202)] = {64,0}, + [I(220,202)] = {64,0}, + [I(221,202)] = {64,0}, + [I(222,202)] = {64,0}, + [I(223,202)] = {64,0}, + [I(224,202)] = {64,0}, + [I(225,202)] = {64,0}, + [I(226,202)] = {64,0}, + [I(227,202)] = {64,0}, + [I(228,202)] = {64,0}, + [I(229,202)] = {64,0}, + [I(230,202)] = {64,0}, + [I(231,202)] = {64,0}, + [I(232,202)] = {64,0}, + [I(233,202)] = {64,0}, + [I(234,202)] = {64,0}, + [I(235,202)] = {64,0}, + [I(236,202)] = {64,0}, + [I(237,202)] = {64,0}, + [I(238,202)] = {64,0}, + [I(239,202)] = {64,0}, + [I(240,202)] = {64,0}, + [I(241,202)] = {64,0}, + [I(242,202)] = {64,0}, + [I(243,202)] = {64,0}, + [I(244,202)] = {64,0}, + [I(245,202)] = {64,0}, + [I(246,202)] = {64,0}, + [I(247,202)] = {64,0}, + [I(248,202)] = {64,0}, + [I(249,202)] = {64,0}, + [I(250,202)] = {64,0}, + [I(251,202)] = {64,0}, + [I(252,202)] = {64,0}, + [I(253,202)] = {64,0}, + [I(254,202)] = {64,0}, + [I(255,202)] = {64,0}, + [I(0,203)] = {64,0}, + [I(1,203)] = {64,0}, + [I(2,203)] = {64,0}, + [I(3,203)] = {64,0}, + [I(4,203)] = {64,0}, + [I(5,203)] = {64,0}, + [I(6,203)] = {64,0}, + [I(7,203)] = {64,0}, + [I(8,203)] = {64,0}, + [I(9,203)] = {64,0}, + [I(10,203)] = {64,0}, + [I(11,203)] = {64,0}, + [I(12,203)] = {64,0}, + [I(13,203)] = {64,0}, + [I(14,203)] = {64,0}, + [I(15,203)] = {64,0}, + [I(16,203)] = {64,0}, + [I(17,203)] = {64,0}, + [I(18,203)] = {64,0}, + [I(19,203)] = {64,0}, + [I(20,203)] = {64,0}, + [I(21,203)] = {64,0}, + [I(22,203)] = {64,0}, + [I(23,203)] = {64,0}, + [I(24,203)] = {64,0}, + [I(25,203)] = {64,0}, + [I(26,203)] = {64,0}, + [I(27,203)] = {64,0}, + [I(28,203)] = {64,0}, + [I(29,203)] = {64,0}, + [I(30,203)] = {64,0}, + [I(31,203)] = {64,0}, + [I(32,203)] = {64,0}, + [I(33,203)] = {64,0}, + [I(34,203)] = {64,0}, + [I(35,203)] = {64,0}, + [I(36,203)] = {64,0}, + [I(37,203)] = {64,0}, + [I(38,203)] = {64,0}, + [I(39,203)] = {64,0}, + [I(40,203)] = {64,0}, + [I(41,203)] = {64,0}, + [I(42,203)] = {64,0}, + [I(43,203)] = {64,0}, + [I(44,203)] = {64,0}, + [I(45,203)] = {64,0}, + [I(46,203)] = {64,0}, + [I(47,203)] = {64,0}, + [I(48,203)] = {X32,0x7FFFFDE}, + [I(49,203)] = {X32,0xFFFFFDE}, + [I(50,203)] = {X32,0x17FFFFDE}, + [I(51,203)] = {64,0}, + [I(52,203)] = {64,0}, + [I(53,203)] = {64,0}, + [I(54,203)] = {64,0}, + [I(55,203)] = {64,0}, + [I(56,203)] = {64,0}, + [I(57,203)] = {64,0}, + [I(58,203)] = {64,0}, + [I(59,203)] = {64,0}, + [I(60,203)] = {64,0}, + [I(61,203)] = {64,0}, + [I(62,203)] = {64,0}, + [I(63,203)] = {64,0}, + [I(64,203)] = {64,0}, + [I(65,203)] = {64,0}, + [I(66,203)] = {64,0}, + [I(67,203)] = {64,0}, + [I(68,203)] = {64,0}, + [I(69,203)] = {64,0}, + [I(70,203)] = {64,0}, + [I(71,203)] = {64,0}, + [I(72,203)] = {64,0}, + [I(73,203)] = {64,0}, + [I(74,203)] = {64,0}, + [I(75,203)] = {64,0}, + [I(76,203)] = {64,0}, + [I(77,203)] = {64,0}, + [I(78,203)] = {64,0}, + [I(79,203)] = {64,0}, + [I(80,203)] = {64,0}, + [I(81,203)] = {64,0}, + [I(82,203)] = {64,0}, + [I(83,203)] = {64,0}, + [I(84,203)] = {64,0}, + [I(85,203)] = {64,0}, + [I(86,203)] = {64,0}, + [I(87,203)] = {64,0}, + [I(88,203)] = {64,0}, + [I(89,203)] = {64,0}, + [I(90,203)] = {64,0}, + [I(91,203)] = {64,0}, + [I(92,203)] = {64,0}, + [I(93,203)] = {64,0}, + [I(94,203)] = {64,0}, + [I(95,203)] = {64,0}, + [I(96,203)] = {64,0}, + [I(97,203)] = {X32,0x1FFFFFDE}, + [I(98,203)] = {64,0}, + [I(99,203)] = {X32,0x27FFFFDE}, + [I(100,203)] = {64,0}, + [I(101,203)] = {X32,0x2FFFFFDE}, + [I(102,203)] = {64,0}, + [I(103,203)] = {64,0}, + [I(104,203)] = {64,0}, + [I(105,203)] = {X32,0x37FFFFDE}, + [I(106,203)] = {64,0}, + [I(107,203)] = {64,0}, + [I(108,203)] = {64,0}, + [I(109,203)] = {64,0}, + [I(110,203)] = {64,0}, + [I(111,203)] = {X32,0x3FFFFFDE}, + [I(112,203)] = {64,0}, + [I(113,203)] = {64,0}, + [I(114,203)] = {64,0}, + [I(115,203)] = {X32,0x47FFFFDE}, + [I(116,203)] = {X32,0x4FFFFFDE}, + [I(117,203)] = {64,0}, + [I(118,203)] = {64,0}, + [I(119,203)] = {64,0}, + [I(120,203)] = {64,0}, + [I(121,203)] = {64,0}, + [I(122,203)] = {64,0}, + [I(123,203)] = {64,0}, + [I(124,203)] = {64,0}, + [I(125,203)] = {64,0}, + [I(126,203)] = {64,0}, + [I(127,203)] = {64,0}, + [I(128,203)] = {64,0}, + [I(129,203)] = {64,0}, + [I(130,203)] = {64,0}, + [I(131,203)] = {64,0}, + [I(132,203)] = {64,0}, + [I(133,203)] = {64,0}, + [I(134,203)] = {64,0}, + [I(135,203)] = {64,0}, + [I(136,203)] = {64,0}, + [I(137,203)] = {64,0}, + [I(138,203)] = {64,0}, + [I(139,203)] = {64,0}, + [I(140,203)] = {64,0}, + [I(141,203)] = {64,0}, + [I(142,203)] = {64,0}, + [I(143,203)] = {64,0}, + [I(144,203)] = {64,0}, + [I(145,203)] = {64,0}, + [I(146,203)] = {64,0}, + [I(147,203)] = {64,0}, + [I(148,203)] = {64,0}, + [I(149,203)] = {64,0}, + [I(150,203)] = {64,0}, + [I(151,203)] = {64,0}, + [I(152,203)] = {64,0}, + [I(153,203)] = {64,0}, + [I(154,203)] = {64,0}, + [I(155,203)] = {64,0}, + [I(156,203)] = {64,0}, + [I(157,203)] = {64,0}, + [I(158,203)] = {64,0}, + [I(159,203)] = {64,0}, + [I(160,203)] = {64,0}, + [I(161,203)] = {64,0}, + [I(162,203)] = {64,0}, + [I(163,203)] = {64,0}, + [I(164,203)] = {64,0}, + [I(165,203)] = {64,0}, + [I(166,203)] = {64,0}, + [I(167,203)] = {64,0}, + [I(168,203)] = {64,0}, + [I(169,203)] = {64,0}, + [I(170,203)] = {64,0}, + [I(171,203)] = {64,0}, + [I(172,203)] = {64,0}, + [I(173,203)] = {64,0}, + [I(174,203)] = {64,0}, + [I(175,203)] = {64,0}, + [I(176,203)] = {64,0}, + [I(177,203)] = {64,0}, + [I(178,203)] = {64,0}, + [I(179,203)] = {64,0}, + [I(180,203)] = {64,0}, + [I(181,203)] = {64,0}, + [I(182,203)] = {64,0}, + [I(183,203)] = {64,0}, + [I(184,203)] = {64,0}, + [I(185,203)] = {64,0}, + [I(186,203)] = {64,0}, + [I(187,203)] = {64,0}, + [I(188,203)] = {64,0}, + [I(189,203)] = {64,0}, + [I(190,203)] = {64,0}, + [I(191,203)] = {64,0}, + [I(192,203)] = {64,0}, + [I(193,203)] = {64,0}, + [I(194,203)] = {64,0}, + [I(195,203)] = {64,0}, + [I(196,203)] = {64,0}, + [I(197,203)] = {64,0}, + [I(198,203)] = {64,0}, + [I(199,203)] = {64,0}, + [I(200,203)] = {64,0}, + [I(201,203)] = {64,0}, + [I(202,203)] = {64,0}, + [I(203,203)] = {64,0}, + [I(204,203)] = {64,0}, + [I(205,203)] = {64,0}, + [I(206,203)] = {64,0}, + [I(207,203)] = {64,0}, + [I(208,203)] = {64,0}, + [I(209,203)] = {64,0}, + [I(210,203)] = {64,0}, + [I(211,203)] = {64,0}, + [I(212,203)] = {64,0}, + [I(213,203)] = {64,0}, + [I(214,203)] = {64,0}, + [I(215,203)] = {64,0}, + [I(216,203)] = {64,0}, + [I(217,203)] = {64,0}, + [I(218,203)] = {64,0}, + [I(219,203)] = {64,0}, + [I(220,203)] = {64,0}, + [I(221,203)] = {64,0}, + [I(222,203)] = {64,0}, + [I(223,203)] = {64,0}, + [I(224,203)] = {64,0}, + [I(225,203)] = {64,0}, + [I(226,203)] = {64,0}, + [I(227,203)] = {64,0}, + [I(228,203)] = {64,0}, + [I(229,203)] = {64,0}, + [I(230,203)] = {64,0}, + [I(231,203)] = {64,0}, + [I(232,203)] = {64,0}, + [I(233,203)] = {64,0}, + [I(234,203)] = {64,0}, + [I(235,203)] = {64,0}, + [I(236,203)] = {64,0}, + [I(237,203)] = {64,0}, + [I(238,203)] = {64,0}, + [I(239,203)] = {64,0}, + [I(240,203)] = {64,0}, + [I(241,203)] = {64,0}, + [I(242,203)] = {64,0}, + [I(243,203)] = {64,0}, + [I(244,203)] = {64,0}, + [I(245,203)] = {64,0}, + [I(246,203)] = {64,0}, + [I(247,203)] = {64,0}, + [I(248,203)] = {64,0}, + [I(249,203)] = {64,0}, + [I(250,203)] = {64,0}, + [I(251,203)] = {64,0}, + [I(252,203)] = {64,0}, + [I(253,203)] = {64,0}, + [I(254,203)] = {64,0}, + [I(255,203)] = {64,0}, + [I(0,204)] = {64,0}, + [I(1,204)] = {64,0}, + [I(2,204)] = {64,0}, + [I(3,204)] = {64,0}, + [I(4,204)] = {64,0}, + [I(5,204)] = {64,0}, + [I(6,204)] = {64,0}, + [I(7,204)] = {64,0}, + [I(8,204)] = {64,0}, + [I(9,204)] = {64,0}, + [I(10,204)] = {64,0}, + [I(11,204)] = {64,0}, + [I(12,204)] = {64,0}, + [I(13,204)] = {64,0}, + [I(14,204)] = {64,0}, + [I(15,204)] = {64,0}, + [I(16,204)] = {64,0}, + [I(17,204)] = {64,0}, + [I(18,204)] = {64,0}, + [I(19,204)] = {64,0}, + [I(20,204)] = {64,0}, + [I(21,204)] = {64,0}, + [I(22,204)] = {64,0}, + [I(23,204)] = {64,0}, + [I(24,204)] = {64,0}, + [I(25,204)] = {64,0}, + [I(26,204)] = {64,0}, + [I(27,204)] = {64,0}, + [I(28,204)] = {64,0}, + [I(29,204)] = {64,0}, + [I(30,204)] = {64,0}, + [I(31,204)] = {64,0}, + [I(32,204)] = {64,0}, + [I(33,204)] = {64,0}, + [I(34,204)] = {64,0}, + [I(35,204)] = {64,0}, + [I(36,204)] = {64,0}, + [I(37,204)] = {64,0}, + [I(38,204)] = {64,0}, + [I(39,204)] = {64,0}, + [I(40,204)] = {64,0}, + [I(41,204)] = {64,0}, + [I(42,204)] = {64,0}, + [I(43,204)] = {64,0}, + [I(44,204)] = {64,0}, + [I(45,204)] = {64,0}, + [I(46,204)] = {64,0}, + [I(47,204)] = {64,0}, + [I(48,204)] = {X32,0x7FFFFDF}, + [I(49,204)] = {X32,0xFFFFFDF}, + [I(50,204)] = {X32,0x17FFFFDF}, + [I(51,204)] = {64,0}, + [I(52,204)] = {64,0}, + [I(53,204)] = {64,0}, + [I(54,204)] = {64,0}, + [I(55,204)] = {64,0}, + [I(56,204)] = {64,0}, + [I(57,204)] = {64,0}, + [I(58,204)] = {64,0}, + [I(59,204)] = {64,0}, + [I(60,204)] = {64,0}, + [I(61,204)] = {64,0}, + [I(62,204)] = {64,0}, + [I(63,204)] = {64,0}, + [I(64,204)] = {64,0}, + [I(65,204)] = {64,0}, + [I(66,204)] = {64,0}, + [I(67,204)] = {64,0}, + [I(68,204)] = {64,0}, + [I(69,204)] = {64,0}, + [I(70,204)] = {64,0}, + [I(71,204)] = {64,0}, + [I(72,204)] = {64,0}, + [I(73,204)] = {64,0}, + [I(74,204)] = {64,0}, + [I(75,204)] = {64,0}, + [I(76,204)] = {64,0}, + [I(77,204)] = {64,0}, + [I(78,204)] = {64,0}, + [I(79,204)] = {64,0}, + [I(80,204)] = {64,0}, + [I(81,204)] = {64,0}, + [I(82,204)] = {64,0}, + [I(83,204)] = {64,0}, + [I(84,204)] = {64,0}, + [I(85,204)] = {64,0}, + [I(86,204)] = {64,0}, + [I(87,204)] = {64,0}, + [I(88,204)] = {64,0}, + [I(89,204)] = {64,0}, + [I(90,204)] = {64,0}, + [I(91,204)] = {64,0}, + [I(92,204)] = {64,0}, + [I(93,204)] = {64,0}, + [I(94,204)] = {64,0}, + [I(95,204)] = {64,0}, + [I(96,204)] = {64,0}, + [I(97,204)] = {X32,0x1FFFFFDF}, + [I(98,204)] = {64,0}, + [I(99,204)] = {X32,0x27FFFFDF}, + [I(100,204)] = {64,0}, + [I(101,204)] = {X32,0x2FFFFFDF}, + [I(102,204)] = {64,0}, + [I(103,204)] = {64,0}, + [I(104,204)] = {64,0}, + [I(105,204)] = {X32,0x37FFFFDF}, + [I(106,204)] = {64,0}, + [I(107,204)] = {64,0}, + [I(108,204)] = {64,0}, + [I(109,204)] = {64,0}, + [I(110,204)] = {64,0}, + [I(111,204)] = {X32,0x3FFFFFDF}, + [I(112,204)] = {64,0}, + [I(113,204)] = {64,0}, + [I(114,204)] = {64,0}, + [I(115,204)] = {X32,0x47FFFFDF}, + [I(116,204)] = {X32,0x4FFFFFDF}, + [I(117,204)] = {64,0}, + [I(118,204)] = {64,0}, + [I(119,204)] = {64,0}, + [I(120,204)] = {64,0}, + [I(121,204)] = {64,0}, + [I(122,204)] = {64,0}, + [I(123,204)] = {64,0}, + [I(124,204)] = {64,0}, + [I(125,204)] = {64,0}, + [I(126,204)] = {64,0}, + [I(127,204)] = {64,0}, + [I(128,204)] = {64,0}, + [I(129,204)] = {64,0}, + [I(130,204)] = {64,0}, + [I(131,204)] = {64,0}, + [I(132,204)] = {64,0}, + [I(133,204)] = {64,0}, + [I(134,204)] = {64,0}, + [I(135,204)] = {64,0}, + [I(136,204)] = {64,0}, + [I(137,204)] = {64,0}, + [I(138,204)] = {64,0}, + [I(139,204)] = {64,0}, + [I(140,204)] = {64,0}, + [I(141,204)] = {64,0}, + [I(142,204)] = {64,0}, + [I(143,204)] = {64,0}, + [I(144,204)] = {64,0}, + [I(145,204)] = {64,0}, + [I(146,204)] = {64,0}, + [I(147,204)] = {64,0}, + [I(148,204)] = {64,0}, + [I(149,204)] = {64,0}, + [I(150,204)] = {64,0}, + [I(151,204)] = {64,0}, + [I(152,204)] = {64,0}, + [I(153,204)] = {64,0}, + [I(154,204)] = {64,0}, + [I(155,204)] = {64,0}, + [I(156,204)] = {64,0}, + [I(157,204)] = {64,0}, + [I(158,204)] = {64,0}, + [I(159,204)] = {64,0}, + [I(160,204)] = {64,0}, + [I(161,204)] = {64,0}, + [I(162,204)] = {64,0}, + [I(163,204)] = {64,0}, + [I(164,204)] = {64,0}, + [I(165,204)] = {64,0}, + [I(166,204)] = {64,0}, + [I(167,204)] = {64,0}, + [I(168,204)] = {64,0}, + [I(169,204)] = {64,0}, + [I(170,204)] = {64,0}, + [I(171,204)] = {64,0}, + [I(172,204)] = {64,0}, + [I(173,204)] = {64,0}, + [I(174,204)] = {64,0}, + [I(175,204)] = {64,0}, + [I(176,204)] = {64,0}, + [I(177,204)] = {64,0}, + [I(178,204)] = {64,0}, + [I(179,204)] = {64,0}, + [I(180,204)] = {64,0}, + [I(181,204)] = {64,0}, + [I(182,204)] = {64,0}, + [I(183,204)] = {64,0}, + [I(184,204)] = {64,0}, + [I(185,204)] = {64,0}, + [I(186,204)] = {64,0}, + [I(187,204)] = {64,0}, + [I(188,204)] = {64,0}, + [I(189,204)] = {64,0}, + [I(190,204)] = {64,0}, + [I(191,204)] = {64,0}, + [I(192,204)] = {64,0}, + [I(193,204)] = {64,0}, + [I(194,204)] = {64,0}, + [I(195,204)] = {64,0}, + [I(196,204)] = {64,0}, + [I(197,204)] = {64,0}, + [I(198,204)] = {64,0}, + [I(199,204)] = {64,0}, + [I(200,204)] = {64,0}, + [I(201,204)] = {64,0}, + [I(202,204)] = {64,0}, + [I(203,204)] = {64,0}, + [I(204,204)] = {64,0}, + [I(205,204)] = {64,0}, + [I(206,204)] = {64,0}, + [I(207,204)] = {64,0}, + [I(208,204)] = {64,0}, + [I(209,204)] = {64,0}, + [I(210,204)] = {64,0}, + [I(211,204)] = {64,0}, + [I(212,204)] = {64,0}, + [I(213,204)] = {64,0}, + [I(214,204)] = {64,0}, + [I(215,204)] = {64,0}, + [I(216,204)] = {64,0}, + [I(217,204)] = {64,0}, + [I(218,204)] = {64,0}, + [I(219,204)] = {64,0}, + [I(220,204)] = {64,0}, + [I(221,204)] = {64,0}, + [I(222,204)] = {64,0}, + [I(223,204)] = {64,0}, + [I(224,204)] = {64,0}, + [I(225,204)] = {64,0}, + [I(226,204)] = {64,0}, + [I(227,204)] = {64,0}, + [I(228,204)] = {64,0}, + [I(229,204)] = {64,0}, + [I(230,204)] = {64,0}, + [I(231,204)] = {64,0}, + [I(232,204)] = {64,0}, + [I(233,204)] = {64,0}, + [I(234,204)] = {64,0}, + [I(235,204)] = {64,0}, + [I(236,204)] = {64,0}, + [I(237,204)] = {64,0}, + [I(238,204)] = {64,0}, + [I(239,204)] = {64,0}, + [I(240,204)] = {64,0}, + [I(241,204)] = {64,0}, + [I(242,204)] = {64,0}, + [I(243,204)] = {64,0}, + [I(244,204)] = {64,0}, + [I(245,204)] = {64,0}, + [I(246,204)] = {64,0}, + [I(247,204)] = {64,0}, + [I(248,204)] = {64,0}, + [I(249,204)] = {64,0}, + [I(250,204)] = {64,0}, + [I(251,204)] = {64,0}, + [I(252,204)] = {64,0}, + [I(253,204)] = {64,0}, + [I(254,204)] = {64,0}, + [I(255,204)] = {64,0}, + [I(0,205)] = {64,0}, + [I(1,205)] = {64,0}, + [I(2,205)] = {64,0}, + [I(3,205)] = {64,0}, + [I(4,205)] = {64,0}, + [I(5,205)] = {64,0}, + [I(6,205)] = {64,0}, + [I(7,205)] = {64,0}, + [I(8,205)] = {64,0}, + [I(9,205)] = {64,0}, + [I(10,205)] = {64,0}, + [I(11,205)] = {64,0}, + [I(12,205)] = {64,0}, + [I(13,205)] = {64,0}, + [I(14,205)] = {64,0}, + [I(15,205)] = {64,0}, + [I(16,205)] = {64,0}, + [I(17,205)] = {64,0}, + [I(18,205)] = {64,0}, + [I(19,205)] = {64,0}, + [I(20,205)] = {64,0}, + [I(21,205)] = {64,0}, + [I(22,205)] = {64,0}, + [I(23,205)] = {64,0}, + [I(24,205)] = {64,0}, + [I(25,205)] = {64,0}, + [I(26,205)] = {64,0}, + [I(27,205)] = {64,0}, + [I(28,205)] = {64,0}, + [I(29,205)] = {64,0}, + [I(30,205)] = {64,0}, + [I(31,205)] = {64,0}, + [I(32,205)] = {X32,0x53FFFFE5}, + [I(33,205)] = {64,0}, + [I(34,205)] = {64,0}, + [I(35,205)] = {64,0}, + [I(36,205)] = {64,0}, + [I(37,205)] = {X32,0x57FFFFE5}, + [I(38,205)] = {64,0}, + [I(39,205)] = {64,0}, + [I(40,205)] = {64,0}, + [I(41,205)] = {64,0}, + [I(42,205)] = {64,0}, + [I(43,205)] = {64,0}, + [I(44,205)] = {64,0}, + [I(45,205)] = {X32,0x5BFFFFE5}, + [I(46,205)] = {X32,0x5FFFFFE5}, + [I(47,205)] = {X32,0x63FFFFE5}, + [I(48,205)] = {31,0x3FFFFE5}, + [I(49,205)] = {31,0x7FFFFE5}, + [I(50,205)] = {31,0xBFFFFE5}, + [I(51,205)] = {X32,0x67FFFFE5}, + [I(52,205)] = {X32,0x6BFFFFE5}, + [I(53,205)] = {X32,0x6FFFFFE5}, + [I(54,205)] = {X32,0x73FFFFE5}, + [I(55,205)] = {X32,0x77FFFFE5}, + [I(56,205)] = {X32,0x7BFFFFE5}, + [I(57,205)] = {X32,0x7FFFFFE5}, + [I(58,205)] = {64,0}, + [I(59,205)] = {64,0}, + [I(60,205)] = {64,0}, + [I(61,205)] = {X32,0x83FFFFE5}, + [I(62,205)] = {64,0}, + [I(63,205)] = {64,0}, + [I(64,205)] = {64,0}, + [I(65,205)] = {X32,0x87FFFFE5}, + [I(66,205)] = {64,0}, + [I(67,205)] = {64,0}, + [I(68,205)] = {64,0}, + [I(69,205)] = {64,0}, + [I(70,205)] = {64,0}, + [I(71,205)] = {64,0}, + [I(72,205)] = {64,0}, + [I(73,205)] = {64,0}, + [I(74,205)] = {64,0}, + [I(75,205)] = {64,0}, + [I(76,205)] = {64,0}, + [I(77,205)] = {64,0}, + [I(78,205)] = {64,0}, + [I(79,205)] = {64,0}, + [I(80,205)] = {64,0}, + [I(81,205)] = {64,0}, + [I(82,205)] = {64,0}, + [I(83,205)] = {64,0}, + [I(84,205)] = {64,0}, + [I(85,205)] = {64,0}, + [I(86,205)] = {64,0}, + [I(87,205)] = {64,0}, + [I(88,205)] = {64,0}, + [I(89,205)] = {64,0}, + [I(90,205)] = {64,0}, + [I(91,205)] = {64,0}, + [I(92,205)] = {64,0}, + [I(93,205)] = {64,0}, + [I(94,205)] = {64,0}, + [I(95,205)] = {X32,0x8BFFFFE5}, + [I(96,205)] = {64,0}, + [I(97,205)] = {31,0xFFFFFE5}, + [I(98,205)] = {X32,0x8FFFFFE5}, + [I(99,205)] = {31,0x13FFFFE5}, + [I(100,205)] = {X32,0x93FFFFE5}, + [I(101,205)] = {31,0x17FFFFE5}, + [I(102,205)] = {X32,0x97FFFFE5}, + [I(103,205)] = {X32,0x9BFFFFE5}, + [I(104,205)] = {X32,0x9FFFFFE5}, + [I(105,205)] = {31,0x1BFFFFE5}, + [I(106,205)] = {64,0}, + [I(107,205)] = {64,0}, + [I(108,205)] = {X32,0xA3FFFFE5}, + [I(109,205)] = {X32,0xA7FFFFE5}, + [I(110,205)] = {X32,0xABFFFFE5}, + [I(111,205)] = {31,0x1FFFFFE5}, + [I(112,205)] = {X32,0xAFFFFFE5}, + [I(113,205)] = {64,0}, + [I(114,205)] = {X32,0xB3FFFFE5}, + [I(115,205)] = {31,0x23FFFFE5}, + [I(116,205)] = {31,0x27FFFFE5}, + [I(117,205)] = {X32,0xB7FFFFE5}, + [I(118,205)] = {64,0}, + [I(119,205)] = {64,0}, + [I(120,205)] = {64,0}, + [I(121,205)] = {64,0}, + [I(122,205)] = {64,0}, + [I(123,205)] = {64,0}, + [I(124,205)] = {64,0}, + [I(125,205)] = {64,0}, + [I(126,205)] = {64,0}, + [I(127,205)] = {64,0}, + [I(128,205)] = {64,0}, + [I(129,205)] = {64,0}, + [I(130,205)] = {64,0}, + [I(131,205)] = {64,0}, + [I(132,205)] = {64,0}, + [I(133,205)] = {64,0}, + [I(134,205)] = {64,0}, + [I(135,205)] = {64,0}, + [I(136,205)] = {64,0}, + [I(137,205)] = {64,0}, + [I(138,205)] = {64,0}, + [I(139,205)] = {64,0}, + [I(140,205)] = {64,0}, + [I(141,205)] = {64,0}, + [I(142,205)] = {64,0}, + [I(143,205)] = {64,0}, + [I(144,205)] = {64,0}, + [I(145,205)] = {64,0}, + [I(146,205)] = {64,0}, + [I(147,205)] = {64,0}, + [I(148,205)] = {64,0}, + [I(149,205)] = {64,0}, + [I(150,205)] = {64,0}, + [I(151,205)] = {64,0}, + [I(152,205)] = {64,0}, + [I(153,205)] = {64,0}, + [I(154,205)] = {64,0}, + [I(155,205)] = {64,0}, + [I(156,205)] = {64,0}, + [I(157,205)] = {64,0}, + [I(158,205)] = {64,0}, + [I(159,205)] = {64,0}, + [I(160,205)] = {64,0}, + [I(161,205)] = {64,0}, + [I(162,205)] = {64,0}, + [I(163,205)] = {64,0}, + [I(164,205)] = {64,0}, + [I(165,205)] = {64,0}, + [I(166,205)] = {64,0}, + [I(167,205)] = {64,0}, + [I(168,205)] = {64,0}, + [I(169,205)] = {64,0}, + [I(170,205)] = {64,0}, + [I(171,205)] = {64,0}, + [I(172,205)] = {64,0}, + [I(173,205)] = {64,0}, + [I(174,205)] = {64,0}, + [I(175,205)] = {64,0}, + [I(176,205)] = {64,0}, + [I(177,205)] = {64,0}, + [I(178,205)] = {64,0}, + [I(179,205)] = {64,0}, + [I(180,205)] = {64,0}, + [I(181,205)] = {64,0}, + [I(182,205)] = {64,0}, + [I(183,205)] = {64,0}, + [I(184,205)] = {64,0}, + [I(185,205)] = {64,0}, + [I(186,205)] = {64,0}, + [I(187,205)] = {64,0}, + [I(188,205)] = {64,0}, + [I(189,205)] = {64,0}, + [I(190,205)] = {64,0}, + [I(191,205)] = {64,0}, + [I(192,205)] = {64,0}, + [I(193,205)] = {64,0}, + [I(194,205)] = {64,0}, + [I(195,205)] = {64,0}, + [I(196,205)] = {64,0}, + [I(197,205)] = {64,0}, + [I(198,205)] = {64,0}, + [I(199,205)] = {64,0}, + [I(200,205)] = {64,0}, + [I(201,205)] = {64,0}, + [I(202,205)] = {64,0}, + [I(203,205)] = {64,0}, + [I(204,205)] = {64,0}, + [I(205,205)] = {64,0}, + [I(206,205)] = {64,0}, + [I(207,205)] = {64,0}, + [I(208,205)] = {64,0}, + [I(209,205)] = {64,0}, + [I(210,205)] = {64,0}, + [I(211,205)] = {64,0}, + [I(212,205)] = {64,0}, + [I(213,205)] = {64,0}, + [I(214,205)] = {64,0}, + [I(215,205)] = {64,0}, + [I(216,205)] = {64,0}, + [I(217,205)] = {64,0}, + [I(218,205)] = {64,0}, + [I(219,205)] = {64,0}, + [I(220,205)] = {64,0}, + [I(221,205)] = {64,0}, + [I(222,205)] = {64,0}, + [I(223,205)] = {64,0}, + [I(224,205)] = {64,0}, + [I(225,205)] = {64,0}, + [I(226,205)] = {64,0}, + [I(227,205)] = {64,0}, + [I(228,205)] = {64,0}, + [I(229,205)] = {64,0}, + [I(230,205)] = {64,0}, + [I(231,205)] = {64,0}, + [I(232,205)] = {64,0}, + [I(233,205)] = {64,0}, + [I(234,205)] = {64,0}, + [I(235,205)] = {64,0}, + [I(236,205)] = {64,0}, + [I(237,205)] = {64,0}, + [I(238,205)] = {64,0}, + [I(239,205)] = {64,0}, + [I(240,205)] = {64,0}, + [I(241,205)] = {64,0}, + [I(242,205)] = {64,0}, + [I(243,205)] = {64,0}, + [I(244,205)] = {64,0}, + [I(245,205)] = {64,0}, + [I(246,205)] = {64,0}, + [I(247,205)] = {64,0}, + [I(248,205)] = {64,0}, + [I(249,205)] = {64,0}, + [I(250,205)] = {64,0}, + [I(251,205)] = {64,0}, + [I(252,205)] = {64,0}, + [I(253,205)] = {64,0}, + [I(254,205)] = {64,0}, + [I(255,205)] = {64,0}, + [I(0,206)] = {64,0}, + [I(1,206)] = {64,0}, + [I(2,206)] = {64,0}, + [I(3,206)] = {64,0}, + [I(4,206)] = {64,0}, + [I(5,206)] = {64,0}, + [I(6,206)] = {64,0}, + [I(7,206)] = {64,0}, + [I(8,206)] = {64,0}, + [I(9,206)] = {64,0}, + [I(10,206)] = {64,0}, + [I(11,206)] = {64,0}, + [I(12,206)] = {64,0}, + [I(13,206)] = {64,0}, + [I(14,206)] = {64,0}, + [I(15,206)] = {64,0}, + [I(16,206)] = {64,0}, + [I(17,206)] = {64,0}, + [I(18,206)] = {64,0}, + [I(19,206)] = {64,0}, + [I(20,206)] = {64,0}, + [I(21,206)] = {64,0}, + [I(22,206)] = {64,0}, + [I(23,206)] = {64,0}, + [I(24,206)] = {64,0}, + [I(25,206)] = {64,0}, + [I(26,206)] = {64,0}, + [I(27,206)] = {64,0}, + [I(28,206)] = {64,0}, + [I(29,206)] = {64,0}, + [I(30,206)] = {64,0}, + [I(31,206)] = {64,0}, + [I(32,206)] = {30,0x14FFFFF1}, + [I(33,206)] = {64,0}, + [I(34,206)] = {64,0}, + [I(35,206)] = {64,0}, + [I(36,206)] = {64,0}, + [I(37,206)] = {30,0x15FFFFF1}, + [I(38,206)] = {X32,0xF8FFFFF1}, + [I(39,206)] = {64,0}, + [I(40,206)] = {64,0}, + [I(41,206)] = {64,0}, + [I(42,206)] = {X32,0xF9FFFFF1}, + [I(43,206)] = {64,0}, + [I(44,206)] = {X32,0xFAFFFFF1}, + [I(45,206)] = {30,0x16FFFFF1}, + [I(46,206)] = {30,0x17FFFFF1}, + [I(47,206)] = {30,0x18FFFFF1}, + [I(48,206)] = {29,0xFFFFF1}, + [I(49,206)] = {29,0x1FFFFF1}, + [I(50,206)] = {29,0x2FFFFF1}, + [I(51,206)] = {30,0x19FFFFF1}, + [I(52,206)] = {30,0x1AFFFFF1}, + [I(53,206)] = {30,0x1BFFFFF1}, + [I(54,206)] = {30,0x1CFFFFF1}, + [I(55,206)] = {30,0x1DFFFFF1}, + [I(56,206)] = {30,0x1EFFFFF1}, + [I(57,206)] = {30,0x1FFFFFF1}, + [I(58,206)] = {31,0x5CFFFFF1}, + [I(59,206)] = {X32,0xFBFFFFF1}, + [I(60,206)] = {64,0}, + [I(61,206)] = {30,0x20FFFFF1}, + [I(62,206)] = {64,0}, + [I(63,206)] = {64,0}, + [I(64,206)] = {64,0}, + [I(65,206)] = {30,0x21FFFFF1}, + [I(66,206)] = {31,0x5DFFFFF1}, + [I(67,206)] = {31,0x5EFFFFF1}, + [I(68,206)] = {31,0x5FFFFFF1}, + [I(69,206)] = {31,0x60FFFFF1}, + [I(70,206)] = {31,0x61FFFFF1}, + [I(71,206)] = {31,0x62FFFFF1}, + [I(72,206)] = {31,0x63FFFFF1}, + [I(73,206)] = {31,0x64FFFFF1}, + [I(74,206)] = {31,0x65FFFFF1}, + [I(75,206)] = {31,0x66FFFFF1}, + [I(76,206)] = {31,0x67FFFFF1}, + [I(77,206)] = {31,0x68FFFFF1}, + [I(78,206)] = {31,0x69FFFFF1}, + [I(79,206)] = {31,0x6AFFFFF1}, + [I(80,206)] = {31,0x6BFFFFF1}, + [I(81,206)] = {31,0x6CFFFFF1}, + [I(82,206)] = {31,0x6DFFFFF1}, + [I(83,206)] = {31,0x6EFFFFF1}, + [I(84,206)] = {31,0x6FFFFFF1}, + [I(85,206)] = {31,0x70FFFFF1}, + [I(86,206)] = {31,0x71FFFFF1}, + [I(87,206)] = {31,0x72FFFFF1}, + [I(88,206)] = {X32,0xFCFFFFF1}, + [I(89,206)] = {31,0x73FFFFF1}, + [I(90,206)] = {X32,0xFDFFFFF1}, + [I(91,206)] = {64,0}, + [I(92,206)] = {64,0}, + [I(93,206)] = {64,0}, + [I(94,206)] = {64,0}, + [I(95,206)] = {30,0x22FFFFF1}, + [I(96,206)] = {64,0}, + [I(97,206)] = {29,0x3FFFFF1}, + [I(98,206)] = {30,0x23FFFFF1}, + [I(99,206)] = {29,0x4FFFFF1}, + [I(100,206)] = {30,0x24FFFFF1}, + [I(101,206)] = {29,0x5FFFFF1}, + [I(102,206)] = {30,0x25FFFFF1}, + [I(103,206)] = {30,0x26FFFFF1}, + [I(104,206)] = {30,0x27FFFFF1}, + [I(105,206)] = {29,0x6FFFFF1}, + [I(106,206)] = {31,0x74FFFFF1}, + [I(107,206)] = {31,0x75FFFFF1}, + [I(108,206)] = {30,0x28FFFFF1}, + [I(109,206)] = {30,0x29FFFFF1}, + [I(110,206)] = {30,0x2AFFFFF1}, + [I(111,206)] = {29,0x7FFFFF1}, + [I(112,206)] = {30,0x2BFFFFF1}, + [I(113,206)] = {31,0x76FFFFF1}, + [I(114,206)] = {30,0x2CFFFFF1}, + [I(115,206)] = {29,0x8FFFFF1}, + [I(116,206)] = {29,0x9FFFFF1}, + [I(117,206)] = {30,0x2DFFFFF1}, + [I(118,206)] = {31,0x77FFFFF1}, + [I(119,206)] = {31,0x78FFFFF1}, + [I(120,206)] = {31,0x79FFFFF1}, + [I(121,206)] = {31,0x7AFFFFF1}, + [I(122,206)] = {31,0x7BFFFFF1}, + [I(123,206)] = {64,0}, + [I(124,206)] = {64,0}, + [I(125,206)] = {64,0}, + [I(126,206)] = {64,0}, + [I(127,206)] = {64,0}, + [I(128,206)] = {64,0}, + [I(129,206)] = {64,0}, + [I(130,206)] = {64,0}, + [I(131,206)] = {64,0}, + [I(132,206)] = {64,0}, + [I(133,206)] = {64,0}, + [I(134,206)] = {64,0}, + [I(135,206)] = {64,0}, + [I(136,206)] = {64,0}, + [I(137,206)] = {64,0}, + [I(138,206)] = {64,0}, + [I(139,206)] = {64,0}, + [I(140,206)] = {64,0}, + [I(141,206)] = {64,0}, + [I(142,206)] = {64,0}, + [I(143,206)] = {64,0}, + [I(144,206)] = {64,0}, + [I(145,206)] = {64,0}, + [I(146,206)] = {64,0}, + [I(147,206)] = {64,0}, + [I(148,206)] = {64,0}, + [I(149,206)] = {64,0}, + [I(150,206)] = {64,0}, + [I(151,206)] = {64,0}, + [I(152,206)] = {64,0}, + [I(153,206)] = {64,0}, + [I(154,206)] = {64,0}, + [I(155,206)] = {64,0}, + [I(156,206)] = {64,0}, + [I(157,206)] = {64,0}, + [I(158,206)] = {64,0}, + [I(159,206)] = {64,0}, + [I(160,206)] = {64,0}, + [I(161,206)] = {64,0}, + [I(162,206)] = {64,0}, + [I(163,206)] = {64,0}, + [I(164,206)] = {64,0}, + [I(165,206)] = {64,0}, + [I(166,206)] = {64,0}, + [I(167,206)] = {64,0}, + [I(168,206)] = {64,0}, + [I(169,206)] = {64,0}, + [I(170,206)] = {64,0}, + [I(171,206)] = {64,0}, + [I(172,206)] = {64,0}, + [I(173,206)] = {64,0}, + [I(174,206)] = {64,0}, + [I(175,206)] = {64,0}, + [I(176,206)] = {64,0}, + [I(177,206)] = {64,0}, + [I(178,206)] = {64,0}, + [I(179,206)] = {64,0}, + [I(180,206)] = {64,0}, + [I(181,206)] = {64,0}, + [I(182,206)] = {64,0}, + [I(183,206)] = {64,0}, + [I(184,206)] = {64,0}, + [I(185,206)] = {64,0}, + [I(186,206)] = {64,0}, + [I(187,206)] = {64,0}, + [I(188,206)] = {64,0}, + [I(189,206)] = {64,0}, + [I(190,206)] = {64,0}, + [I(191,206)] = {64,0}, + [I(192,206)] = {64,0}, + [I(193,206)] = {64,0}, + [I(194,206)] = {64,0}, + [I(195,206)] = {64,0}, + [I(196,206)] = {64,0}, + [I(197,206)] = {64,0}, + [I(198,206)] = {64,0}, + [I(199,206)] = {64,0}, + [I(200,206)] = {64,0}, + [I(201,206)] = {64,0}, + [I(202,206)] = {64,0}, + [I(203,206)] = {64,0}, + [I(204,206)] = {64,0}, + [I(205,206)] = {64,0}, + [I(206,206)] = {64,0}, + [I(207,206)] = {64,0}, + [I(208,206)] = {64,0}, + [I(209,206)] = {64,0}, + [I(210,206)] = {64,0}, + [I(211,206)] = {64,0}, + [I(212,206)] = {64,0}, + [I(213,206)] = {64,0}, + [I(214,206)] = {64,0}, + [I(215,206)] = {64,0}, + [I(216,206)] = {64,0}, + [I(217,206)] = {64,0}, + [I(218,206)] = {64,0}, + [I(219,206)] = {64,0}, + [I(220,206)] = {64,0}, + [I(221,206)] = {64,0}, + [I(222,206)] = {64,0}, + [I(223,206)] = {64,0}, + [I(224,206)] = {64,0}, + [I(225,206)] = {64,0}, + [I(226,206)] = {64,0}, + [I(227,206)] = {64,0}, + [I(228,206)] = {64,0}, + [I(229,206)] = {64,0}, + [I(230,206)] = {64,0}, + [I(231,206)] = {64,0}, + [I(232,206)] = {64,0}, + [I(233,206)] = {64,0}, + [I(234,206)] = {64,0}, + [I(235,206)] = {64,0}, + [I(236,206)] = {64,0}, + [I(237,206)] = {64,0}, + [I(238,206)] = {64,0}, + [I(239,206)] = {64,0}, + [I(240,206)] = {64,0}, + [I(241,206)] = {64,0}, + [I(242,206)] = {64,0}, + [I(243,206)] = {64,0}, + [I(244,206)] = {64,0}, + [I(245,206)] = {64,0}, + [I(246,206)] = {64,0}, + [I(247,206)] = {64,0}, + [I(248,206)] = {64,0}, + [I(249,206)] = {64,0}, + [I(250,206)] = {64,0}, + [I(251,206)] = {64,0}, + [I(252,206)] = {64,0}, + [I(253,206)] = {64,0}, + [I(254,206)] = {64,0}, + [I(255,206)] = {64,0}, + [I(0,207)] = {64,0}, + [I(1,207)] = {64,0}, + [I(2,207)] = {64,0}, + [I(3,207)] = {64,0}, + [I(4,207)] = {64,0}, + [I(5,207)] = {64,0}, + [I(6,207)] = {64,0}, + [I(7,207)] = {64,0}, + [I(8,207)] = {64,0}, + [I(9,207)] = {64,0}, + [I(10,207)] = {64,0}, + [I(11,207)] = {64,0}, + [I(12,207)] = {64,0}, + [I(13,207)] = {64,0}, + [I(14,207)] = {64,0}, + [I(15,207)] = {64,0}, + [I(16,207)] = {64,0}, + [I(17,207)] = {64,0}, + [I(18,207)] = {64,0}, + [I(19,207)] = {64,0}, + [I(20,207)] = {64,0}, + [I(21,207)] = {64,0}, + [I(22,207)] = {64,0}, + [I(23,207)] = {64,0}, + [I(24,207)] = {64,0}, + [I(25,207)] = {64,0}, + [I(26,207)] = {64,0}, + [I(27,207)] = {64,0}, + [I(28,207)] = {64,0}, + [I(29,207)] = {64,0}, + [I(30,207)] = {64,0}, + [I(31,207)] = {64,0}, + [I(32,207)] = {31,0x29FFFFED}, + [I(33,207)] = {64,0}, + [I(34,207)] = {64,0}, + [I(35,207)] = {64,0}, + [I(36,207)] = {64,0}, + [I(37,207)] = {31,0x2BFFFFED}, + [I(38,207)] = {64,0}, + [I(39,207)] = {64,0}, + [I(40,207)] = {64,0}, + [I(41,207)] = {64,0}, + [I(42,207)] = {64,0}, + [I(43,207)] = {64,0}, + [I(44,207)] = {64,0}, + [I(45,207)] = {31,0x2DFFFFED}, + [I(46,207)] = {31,0x2FFFFFED}, + [I(47,207)] = {31,0x31FFFFED}, + [I(48,207)] = {30,0x1FFFFED}, + [I(49,207)] = {30,0x3FFFFED}, + [I(50,207)] = {30,0x5FFFFED}, + [I(51,207)] = {31,0x33FFFFED}, + [I(52,207)] = {31,0x35FFFFED}, + [I(53,207)] = {31,0x37FFFFED}, + [I(54,207)] = {31,0x39FFFFED}, + [I(55,207)] = {31,0x3BFFFFED}, + [I(56,207)] = {31,0x3DFFFFED}, + [I(57,207)] = {31,0x3FFFFFED}, + [I(58,207)] = {X32,0xB9FFFFED}, + [I(59,207)] = {64,0}, + [I(60,207)] = {64,0}, + [I(61,207)] = {31,0x41FFFFED}, + [I(62,207)] = {64,0}, + [I(63,207)] = {64,0}, + [I(64,207)] = {64,0}, + [I(65,207)] = {31,0x43FFFFED}, + [I(66,207)] = {X32,0xBBFFFFED}, + [I(67,207)] = {X32,0xBDFFFFED}, + [I(68,207)] = {X32,0xBFFFFFED}, + [I(69,207)] = {X32,0xC1FFFFED}, + [I(70,207)] = {X32,0xC3FFFFED}, + [I(71,207)] = {X32,0xC5FFFFED}, + [I(72,207)] = {X32,0xC7FFFFED}, + [I(73,207)] = {X32,0xC9FFFFED}, + [I(74,207)] = {X32,0xCBFFFFED}, + [I(75,207)] = {X32,0xCDFFFFED}, + [I(76,207)] = {X32,0xCFFFFFED}, + [I(77,207)] = {X32,0xD1FFFFED}, + [I(78,207)] = {X32,0xD3FFFFED}, + [I(79,207)] = {X32,0xD5FFFFED}, + [I(80,207)] = {X32,0xD7FFFFED}, + [I(81,207)] = {X32,0xD9FFFFED}, + [I(82,207)] = {X32,0xDBFFFFED}, + [I(83,207)] = {X32,0xDDFFFFED}, + [I(84,207)] = {X32,0xDFFFFFED}, + [I(85,207)] = {X32,0xE1FFFFED}, + [I(86,207)] = {X32,0xE3FFFFED}, + [I(87,207)] = {X32,0xE5FFFFED}, + [I(88,207)] = {64,0}, + [I(89,207)] = {X32,0xE7FFFFED}, + [I(90,207)] = {64,0}, + [I(91,207)] = {64,0}, + [I(92,207)] = {64,0}, + [I(93,207)] = {64,0}, + [I(94,207)] = {64,0}, + [I(95,207)] = {31,0x45FFFFED}, + [I(96,207)] = {64,0}, + [I(97,207)] = {30,0x7FFFFED}, + [I(98,207)] = {31,0x47FFFFED}, + [I(99,207)] = {30,0x9FFFFED}, + [I(100,207)] = {31,0x49FFFFED}, + [I(101,207)] = {30,0xBFFFFED}, + [I(102,207)] = {31,0x4BFFFFED}, + [I(103,207)] = {31,0x4DFFFFED}, + [I(104,207)] = {31,0x4FFFFFED}, + [I(105,207)] = {30,0xDFFFFED}, + [I(106,207)] = {X32,0xE9FFFFED}, + [I(107,207)] = {X32,0xEBFFFFED}, + [I(108,207)] = {31,0x51FFFFED}, + [I(109,207)] = {31,0x53FFFFED}, + [I(110,207)] = {31,0x55FFFFED}, + [I(111,207)] = {30,0xFFFFFED}, + [I(112,207)] = {31,0x57FFFFED}, + [I(113,207)] = {X32,0xEDFFFFED}, + [I(114,207)] = {31,0x59FFFFED}, + [I(115,207)] = {30,0x11FFFFED}, + [I(116,207)] = {30,0x13FFFFED}, + [I(117,207)] = {31,0x5BFFFFED}, + [I(118,207)] = {X32,0xEFFFFFED}, + [I(119,207)] = {X32,0xF1FFFFED}, + [I(120,207)] = {X32,0xF3FFFFED}, + [I(121,207)] = {X32,0xF5FFFFED}, + [I(122,207)] = {X32,0xF7FFFFED}, + [I(123,207)] = {64,0}, + [I(124,207)] = {64,0}, + [I(125,207)] = {64,0}, + [I(126,207)] = {64,0}, + [I(127,207)] = {64,0}, + [I(128,207)] = {64,0}, + [I(129,207)] = {64,0}, + [I(130,207)] = {64,0}, + [I(131,207)] = {64,0}, + [I(132,207)] = {64,0}, + [I(133,207)] = {64,0}, + [I(134,207)] = {64,0}, + [I(135,207)] = {64,0}, + [I(136,207)] = {64,0}, + [I(137,207)] = {64,0}, + [I(138,207)] = {64,0}, + [I(139,207)] = {64,0}, + [I(140,207)] = {64,0}, + [I(141,207)] = {64,0}, + [I(142,207)] = {64,0}, + [I(143,207)] = {64,0}, + [I(144,207)] = {64,0}, + [I(145,207)] = {64,0}, + [I(146,207)] = {64,0}, + [I(147,207)] = {64,0}, + [I(148,207)] = {64,0}, + [I(149,207)] = {64,0}, + [I(150,207)] = {64,0}, + [I(151,207)] = {64,0}, + [I(152,207)] = {64,0}, + [I(153,207)] = {64,0}, + [I(154,207)] = {64,0}, + [I(155,207)] = {64,0}, + [I(156,207)] = {64,0}, + [I(157,207)] = {64,0}, + [I(158,207)] = {64,0}, + [I(159,207)] = {64,0}, + [I(160,207)] = {64,0}, + [I(161,207)] = {64,0}, + [I(162,207)] = {64,0}, + [I(163,207)] = {64,0}, + [I(164,207)] = {64,0}, + [I(165,207)] = {64,0}, + [I(166,207)] = {64,0}, + [I(167,207)] = {64,0}, + [I(168,207)] = {64,0}, + [I(169,207)] = {64,0}, + [I(170,207)] = {64,0}, + [I(171,207)] = {64,0}, + [I(172,207)] = {64,0}, + [I(173,207)] = {64,0}, + [I(174,207)] = {64,0}, + [I(175,207)] = {64,0}, + [I(176,207)] = {64,0}, + [I(177,207)] = {64,0}, + [I(178,207)] = {64,0}, + [I(179,207)] = {64,0}, + [I(180,207)] = {64,0}, + [I(181,207)] = {64,0}, + [I(182,207)] = {64,0}, + [I(183,207)] = {64,0}, + [I(184,207)] = {64,0}, + [I(185,207)] = {64,0}, + [I(186,207)] = {64,0}, + [I(187,207)] = {64,0}, + [I(188,207)] = {64,0}, + [I(189,207)] = {64,0}, + [I(190,207)] = {64,0}, + [I(191,207)] = {64,0}, + [I(192,207)] = {64,0}, + [I(193,207)] = {64,0}, + [I(194,207)] = {64,0}, + [I(195,207)] = {64,0}, + [I(196,207)] = {64,0}, + [I(197,207)] = {64,0}, + [I(198,207)] = {64,0}, + [I(199,207)] = {64,0}, + [I(200,207)] = {64,0}, + [I(201,207)] = {64,0}, + [I(202,207)] = {64,0}, + [I(203,207)] = {64,0}, + [I(204,207)] = {64,0}, + [I(205,207)] = {64,0}, + [I(206,207)] = {64,0}, + [I(207,207)] = {64,0}, + [I(208,207)] = {64,0}, + [I(209,207)] = {64,0}, + [I(210,207)] = {64,0}, + [I(211,207)] = {64,0}, + [I(212,207)] = {64,0}, + [I(213,207)] = {64,0}, + [I(214,207)] = {64,0}, + [I(215,207)] = {64,0}, + [I(216,207)] = {64,0}, + [I(217,207)] = {64,0}, + [I(218,207)] = {64,0}, + [I(219,207)] = {64,0}, + [I(220,207)] = {64,0}, + [I(221,207)] = {64,0}, + [I(222,207)] = {64,0}, + [I(223,207)] = {64,0}, + [I(224,207)] = {64,0}, + [I(225,207)] = {64,0}, + [I(226,207)] = {64,0}, + [I(227,207)] = {64,0}, + [I(228,207)] = {64,0}, + [I(229,207)] = {64,0}, + [I(230,207)] = {64,0}, + [I(231,207)] = {64,0}, + [I(232,207)] = {64,0}, + [I(233,207)] = {64,0}, + [I(234,207)] = {64,0}, + [I(235,207)] = {64,0}, + [I(236,207)] = {64,0}, + [I(237,207)] = {64,0}, + [I(238,207)] = {64,0}, + [I(239,207)] = {64,0}, + [I(240,207)] = {64,0}, + [I(241,207)] = {64,0}, + [I(242,207)] = {64,0}, + [I(243,207)] = {64,0}, + [I(244,207)] = {64,0}, + [I(245,207)] = {64,0}, + [I(246,207)] = {64,0}, + [I(247,207)] = {64,0}, + [I(248,207)] = {64,0}, + [I(249,207)] = {64,0}, + [I(250,207)] = {64,0}, + [I(251,207)] = {64,0}, + [I(252,207)] = {64,0}, + [I(253,207)] = {64,0}, + [I(254,207)] = {64,0}, + [I(255,207)] = {64,0}, + [I(0,208)] = {X32,0xFFC7FFF2}, + [I(1,208)] = {64,0}, + [I(2,208)] = {64,0}, + [I(3,208)] = {64,0}, + [I(4,208)] = {64,0}, + [I(5,208)] = {64,0}, + [I(6,208)] = {64,0}, + [I(7,208)] = {64,0}, + [I(8,208)] = {64,0}, + [I(9,208)] = {64,0}, + [I(10,208)] = {64,0}, + [I(11,208)] = {64,0}, + [I(12,208)] = {64,0}, + [I(13,208)] = {64,0}, + [I(14,208)] = {64,0}, + [I(15,208)] = {64,0}, + [I(16,208)] = {64,0}, + [I(17,208)] = {64,0}, + [I(18,208)] = {64,0}, + [I(19,208)] = {64,0}, + [I(20,208)] = {64,0}, + [I(21,208)] = {64,0}, + [I(22,208)] = {64,0}, + [I(23,208)] = {64,0}, + [I(24,208)] = {64,0}, + [I(25,208)] = {64,0}, + [I(26,208)] = {64,0}, + [I(27,208)] = {64,0}, + [I(28,208)] = {64,0}, + [I(29,208)] = {64,0}, + [I(30,208)] = {64,0}, + [I(31,208)] = {64,0}, + [I(32,208)] = {25,0xA7FFF2}, + [I(33,208)] = {29,0x1FC7FFF2}, + [I(34,208)] = {29,0x1FCFFFF2}, + [I(35,208)] = {31,0x7FD7FFF2}, + [I(36,208)] = {X32,0xFFCFFFF2}, + [I(37,208)] = {25,0xAFFFF2}, + [I(38,208)] = {27,0x7C7FFF2}, + [I(39,208)] = {30,0x3FD7FFF2}, + [I(40,208)] = {29,0x1FD7FFF2}, + [I(41,208)] = {29,0x1FDFFFF2}, + [I(42,208)] = {27,0x7CFFFF2}, + [I(43,208)] = {30,0x3FDFFFF2}, + [I(44,208)] = {27,0x7D7FFF2}, + [I(45,208)] = {25,0xB7FFF2}, + [I(46,208)] = {25,0xBFFFF2}, + [I(47,208)] = {25,0xC7FFF2}, + [I(48,208)] = {24,0x7FFF2}, + [I(49,208)] = {24,0xFFFF2}, + [I(50,208)] = {24,0x17FFF2}, + [I(51,208)] = {25,0xCFFFF2}, + [I(52,208)] = {25,0xD7FFF2}, + [I(53,208)] = {25,0xDFFFF2}, + [I(54,208)] = {25,0xE7FFF2}, + [I(55,208)] = {25,0xEFFFF2}, + [I(56,208)] = {25,0xF7FFF2}, + [I(57,208)] = {25,0xFFFFF2}, + [I(58,208)] = {26,0x2E7FFF2}, + [I(59,208)] = {27,0x7DFFFF2}, + [I(60,208)] = {64,0}, + [I(61,208)] = {25,0x107FFF2}, + [I(62,208)] = {31,0x7FDFFFF2}, + [I(63,208)] = {29,0x1FE7FFF2}, + [I(64,208)] = {X32,0xFFD7FFF2}, + [I(65,208)] = {25,0x10FFFF2}, + [I(66,208)] = {26,0x2EFFFF2}, + [I(67,208)] = {26,0x2F7FFF2}, + [I(68,208)] = {26,0x2FFFFF2}, + [I(69,208)] = {26,0x307FFF2}, + [I(70,208)] = {26,0x30FFFF2}, + [I(71,208)] = {26,0x317FFF2}, + [I(72,208)] = {26,0x31FFFF2}, + [I(73,208)] = {26,0x327FFF2}, + [I(74,208)] = {26,0x32FFFF2}, + [I(75,208)] = {26,0x337FFF2}, + [I(76,208)] = {26,0x33FFFF2}, + [I(77,208)] = {26,0x347FFF2}, + [I(78,208)] = {26,0x34FFFF2}, + [I(79,208)] = {26,0x357FFF2}, + [I(80,208)] = {26,0x35FFFF2}, + [I(81,208)] = {26,0x367FFF2}, + [I(82,208)] = {26,0x36FFFF2}, + [I(83,208)] = {26,0x377FFF2}, + [I(84,208)] = {26,0x37FFFF2}, + [I(85,208)] = {26,0x387FFF2}, + [I(86,208)] = {26,0x38FFFF2}, + [I(87,208)] = {26,0x397FFF2}, + [I(88,208)] = {27,0x7E7FFF2}, + [I(89,208)] = {26,0x39FFFF2}, + [I(90,208)] = {27,0x7EFFFF2}, + [I(91,208)] = {X32,0xFFDFFFF2}, + [I(92,208)] = {64,0}, + [I(93,208)] = {X32,0xFFE7FFF2}, + [I(94,208)] = {64,0}, + [I(95,208)] = {25,0x117FFF2}, + [I(96,208)] = {64,0}, + [I(97,208)] = {24,0x1FFFF2}, + [I(98,208)] = {25,0x11FFFF2}, + [I(99,208)] = {24,0x27FFF2}, + [I(100,208)] = {25,0x127FFF2}, + [I(101,208)] = {24,0x2FFFF2}, + [I(102,208)] = {25,0x12FFFF2}, + [I(103,208)] = {25,0x137FFF2}, + [I(104,208)] = {25,0x13FFFF2}, + [I(105,208)] = {24,0x37FFF2}, + [I(106,208)] = {26,0x3A7FFF2}, + [I(107,208)] = {26,0x3AFFFF2}, + [I(108,208)] = {25,0x147FFF2}, + [I(109,208)] = {25,0x14FFFF2}, + [I(110,208)] = {25,0x157FFF2}, + [I(111,208)] = {24,0x3FFFF2}, + [I(112,208)] = {25,0x15FFFF2}, + [I(113,208)] = {26,0x3B7FFF2}, + [I(114,208)] = {25,0x167FFF2}, + [I(115,208)] = {24,0x47FFF2}, + [I(116,208)] = {24,0x4FFFF2}, + [I(117,208)] = {25,0x16FFFF2}, + [I(118,208)] = {26,0x3BFFFF2}, + [I(119,208)] = {26,0x3C7FFF2}, + [I(120,208)] = {26,0x3CFFFF2}, + [I(121,208)] = {26,0x3D7FFF2}, + [I(122,208)] = {26,0x3DFFFF2}, + [I(123,208)] = {64,0}, + [I(124,208)] = {30,0x3FE7FFF2}, + [I(125,208)] = {64,0}, + [I(126,208)] = {X32,0xFFEFFFF2}, + [I(127,208)] = {64,0}, + [I(128,208)] = {64,0}, + [I(129,208)] = {64,0}, + [I(130,208)] = {64,0}, + [I(131,208)] = {64,0}, + [I(132,208)] = {64,0}, + [I(133,208)] = {64,0}, + [I(134,208)] = {64,0}, + [I(135,208)] = {64,0}, + [I(136,208)] = {64,0}, + [I(137,208)] = {64,0}, + [I(138,208)] = {64,0}, + [I(139,208)] = {64,0}, + [I(140,208)] = {64,0}, + [I(141,208)] = {64,0}, + [I(142,208)] = {64,0}, + [I(143,208)] = {64,0}, + [I(144,208)] = {64,0}, + [I(145,208)] = {64,0}, + [I(146,208)] = {64,0}, + [I(147,208)] = {64,0}, + [I(148,208)] = {64,0}, + [I(149,208)] = {64,0}, + [I(150,208)] = {64,0}, + [I(151,208)] = {64,0}, + [I(152,208)] = {64,0}, + [I(153,208)] = {64,0}, + [I(154,208)] = {64,0}, + [I(155,208)] = {64,0}, + [I(156,208)] = {64,0}, + [I(157,208)] = {64,0}, + [I(158,208)] = {64,0}, + [I(159,208)] = {64,0}, + [I(160,208)] = {64,0}, + [I(161,208)] = {64,0}, + [I(162,208)] = {64,0}, + [I(163,208)] = {64,0}, + [I(164,208)] = {64,0}, + [I(165,208)] = {64,0}, + [I(166,208)] = {64,0}, + [I(167,208)] = {64,0}, + [I(168,208)] = {64,0}, + [I(169,208)] = {64,0}, + [I(170,208)] = {64,0}, + [I(171,208)] = {64,0}, + [I(172,208)] = {64,0}, + [I(173,208)] = {64,0}, + [I(174,208)] = {64,0}, + [I(175,208)] = {64,0}, + [I(176,208)] = {64,0}, + [I(177,208)] = {64,0}, + [I(178,208)] = {64,0}, + [I(179,208)] = {64,0}, + [I(180,208)] = {64,0}, + [I(181,208)] = {64,0}, + [I(182,208)] = {64,0}, + [I(183,208)] = {64,0}, + [I(184,208)] = {64,0}, + [I(185,208)] = {64,0}, + [I(186,208)] = {64,0}, + [I(187,208)] = {64,0}, + [I(188,208)] = {64,0}, + [I(189,208)] = {64,0}, + [I(190,208)] = {64,0}, + [I(191,208)] = {64,0}, + [I(192,208)] = {64,0}, + [I(193,208)] = {64,0}, + [I(194,208)] = {64,0}, + [I(195,208)] = {64,0}, + [I(196,208)] = {64,0}, + [I(197,208)] = {64,0}, + [I(198,208)] = {64,0}, + [I(199,208)] = {64,0}, + [I(200,208)] = {64,0}, + [I(201,208)] = {64,0}, + [I(202,208)] = {64,0}, + [I(203,208)] = {64,0}, + [I(204,208)] = {64,0}, + [I(205,208)] = {64,0}, + [I(206,208)] = {64,0}, + [I(207,208)] = {64,0}, + [I(208,208)] = {64,0}, + [I(209,208)] = {64,0}, + [I(210,208)] = {64,0}, + [I(211,208)] = {64,0}, + [I(212,208)] = {64,0}, + [I(213,208)] = {64,0}, + [I(214,208)] = {64,0}, + [I(215,208)] = {64,0}, + [I(216,208)] = {64,0}, + [I(217,208)] = {64,0}, + [I(218,208)] = {64,0}, + [I(219,208)] = {64,0}, + [I(220,208)] = {64,0}, + [I(221,208)] = {64,0}, + [I(222,208)] = {64,0}, + [I(223,208)] = {64,0}, + [I(224,208)] = {64,0}, + [I(225,208)] = {64,0}, + [I(226,208)] = {64,0}, + [I(227,208)] = {64,0}, + [I(228,208)] = {64,0}, + [I(229,208)] = {64,0}, + [I(230,208)] = {64,0}, + [I(231,208)] = {64,0}, + [I(232,208)] = {64,0}, + [I(233,208)] = {64,0}, + [I(234,208)] = {64,0}, + [I(235,208)] = {64,0}, + [I(236,208)] = {64,0}, + [I(237,208)] = {64,0}, + [I(238,208)] = {64,0}, + [I(239,208)] = {64,0}, + [I(240,208)] = {64,0}, + [I(241,208)] = {64,0}, + [I(242,208)] = {64,0}, + [I(243,208)] = {64,0}, + [I(244,208)] = {64,0}, + [I(245,208)] = {64,0}, + [I(246,208)] = {64,0}, + [I(247,208)] = {64,0}, + [I(248,208)] = {64,0}, + [I(249,208)] = {64,0}, + [I(250,208)] = {64,0}, + [I(251,208)] = {64,0}, + [I(252,208)] = {64,0}, + [I(253,208)] = {64,0}, + [I(254,208)] = {64,0}, + [I(255,208)] = {64,0}, + [I(0,209)] = {64,0}, + [I(1,209)] = {64,0}, + [I(2,209)] = {64,0}, + [I(3,209)] = {64,0}, + [I(4,209)] = {64,0}, + [I(5,209)] = {64,0}, + [I(6,209)] = {64,0}, + [I(7,209)] = {64,0}, + [I(8,209)] = {64,0}, + [I(9,209)] = {64,0}, + [I(10,209)] = {64,0}, + [I(11,209)] = {64,0}, + [I(12,209)] = {64,0}, + [I(13,209)] = {64,0}, + [I(14,209)] = {64,0}, + [I(15,209)] = {64,0}, + [I(16,209)] = {64,0}, + [I(17,209)] = {64,0}, + [I(18,209)] = {64,0}, + [I(19,209)] = {64,0}, + [I(20,209)] = {64,0}, + [I(21,209)] = {64,0}, + [I(22,209)] = {64,0}, + [I(23,209)] = {64,0}, + [I(24,209)] = {64,0}, + [I(25,209)] = {64,0}, + [I(26,209)] = {64,0}, + [I(27,209)] = {64,0}, + [I(28,209)] = {64,0}, + [I(29,209)] = {64,0}, + [I(30,209)] = {64,0}, + [I(31,209)] = {64,0}, + [I(32,209)] = {27,0x29FFFE3}, + [I(33,209)] = {31,0x7F1FFFE3}, + [I(34,209)] = {31,0x7F3FFFE3}, + [I(35,209)] = {64,0}, + [I(36,209)] = {64,0}, + [I(37,209)] = {27,0x2BFFFE3}, + [I(38,209)] = {29,0x1F1FFFE3}, + [I(39,209)] = {X32,0xFF5FFFE3}, + [I(40,209)] = {31,0x7F5FFFE3}, + [I(41,209)] = {31,0x7F7FFFE3}, + [I(42,209)] = {29,0x1F3FFFE3}, + [I(43,209)] = {X32,0xFF7FFFE3}, + [I(44,209)] = {29,0x1F5FFFE3}, + [I(45,209)] = {27,0x2DFFFE3}, + [I(46,209)] = {27,0x2FFFFE3}, + [I(47,209)] = {27,0x31FFFE3}, + [I(48,209)] = {26,0x1FFFE3}, + [I(49,209)] = {26,0x3FFFE3}, + [I(50,209)] = {26,0x5FFFE3}, + [I(51,209)] = {27,0x33FFFE3}, + [I(52,209)] = {27,0x35FFFE3}, + [I(53,209)] = {27,0x37FFFE3}, + [I(54,209)] = {27,0x39FFFE3}, + [I(55,209)] = {27,0x3BFFFE3}, + [I(56,209)] = {27,0x3DFFFE3}, + [I(57,209)] = {27,0x3FFFFE3}, + [I(58,209)] = {28,0xB9FFFE3}, + [I(59,209)] = {29,0x1F7FFFE3}, + [I(60,209)] = {64,0}, + [I(61,209)] = {27,0x41FFFE3}, + [I(62,209)] = {64,0}, + [I(63,209)] = {31,0x7F9FFFE3}, + [I(64,209)] = {64,0}, + [I(65,209)] = {27,0x43FFFE3}, + [I(66,209)] = {28,0xBBFFFE3}, + [I(67,209)] = {28,0xBDFFFE3}, + [I(68,209)] = {28,0xBFFFFE3}, + [I(69,209)] = {28,0xC1FFFE3}, + [I(70,209)] = {28,0xC3FFFE3}, + [I(71,209)] = {28,0xC5FFFE3}, + [I(72,209)] = {28,0xC7FFFE3}, + [I(73,209)] = {28,0xC9FFFE3}, + [I(74,209)] = {28,0xCBFFFE3}, + [I(75,209)] = {28,0xCDFFFE3}, + [I(76,209)] = {28,0xCFFFFE3}, + [I(77,209)] = {28,0xD1FFFE3}, + [I(78,209)] = {28,0xD3FFFE3}, + [I(79,209)] = {28,0xD5FFFE3}, + [I(80,209)] = {28,0xD7FFFE3}, + [I(81,209)] = {28,0xD9FFFE3}, + [I(82,209)] = {28,0xDBFFFE3}, + [I(83,209)] = {28,0xDDFFFE3}, + [I(84,209)] = {28,0xDFFFFE3}, + [I(85,209)] = {28,0xE1FFFE3}, + [I(86,209)] = {28,0xE3FFFE3}, + [I(87,209)] = {28,0xE5FFFE3}, + [I(88,209)] = {29,0x1F9FFFE3}, + [I(89,209)] = {28,0xE7FFFE3}, + [I(90,209)] = {29,0x1FBFFFE3}, + [I(91,209)] = {64,0}, + [I(92,209)] = {64,0}, + [I(93,209)] = {64,0}, + [I(94,209)] = {64,0}, + [I(95,209)] = {27,0x45FFFE3}, + [I(96,209)] = {64,0}, + [I(97,209)] = {26,0x7FFFE3}, + [I(98,209)] = {27,0x47FFFE3}, + [I(99,209)] = {26,0x9FFFE3}, + [I(100,209)] = {27,0x49FFFE3}, + [I(101,209)] = {26,0xBFFFE3}, + [I(102,209)] = {27,0x4BFFFE3}, + [I(103,209)] = {27,0x4DFFFE3}, + [I(104,209)] = {27,0x4FFFFE3}, + [I(105,209)] = {26,0xDFFFE3}, + [I(106,209)] = {28,0xE9FFFE3}, + [I(107,209)] = {28,0xEBFFFE3}, + [I(108,209)] = {27,0x51FFFE3}, + [I(109,209)] = {27,0x53FFFE3}, + [I(110,209)] = {27,0x55FFFE3}, + [I(111,209)] = {26,0xFFFFE3}, + [I(112,209)] = {27,0x57FFFE3}, + [I(113,209)] = {28,0xEDFFFE3}, + [I(114,209)] = {27,0x59FFFE3}, + [I(115,209)] = {26,0x11FFFE3}, + [I(116,209)] = {26,0x13FFFE3}, + [I(117,209)] = {27,0x5BFFFE3}, + [I(118,209)] = {28,0xEFFFFE3}, + [I(119,209)] = {28,0xF1FFFE3}, + [I(120,209)] = {28,0xF3FFFE3}, + [I(121,209)] = {28,0xF5FFFE3}, + [I(122,209)] = {28,0xF7FFFE3}, + [I(123,209)] = {64,0}, + [I(124,209)] = {X32,0xFF9FFFE3}, + [I(125,209)] = {64,0}, + [I(126,209)] = {64,0}, + [I(127,209)] = {64,0}, + [I(128,209)] = {64,0}, + [I(129,209)] = {64,0}, + [I(130,209)] = {64,0}, + [I(131,209)] = {64,0}, + [I(132,209)] = {64,0}, + [I(133,209)] = {64,0}, + [I(134,209)] = {64,0}, + [I(135,209)] = {64,0}, + [I(136,209)] = {64,0}, + [I(137,209)] = {64,0}, + [I(138,209)] = {64,0}, + [I(139,209)] = {64,0}, + [I(140,209)] = {64,0}, + [I(141,209)] = {64,0}, + [I(142,209)] = {64,0}, + [I(143,209)] = {64,0}, + [I(144,209)] = {64,0}, + [I(145,209)] = {64,0}, + [I(146,209)] = {64,0}, + [I(147,209)] = {64,0}, + [I(148,209)] = {64,0}, + [I(149,209)] = {64,0}, + [I(150,209)] = {64,0}, + [I(151,209)] = {64,0}, + [I(152,209)] = {64,0}, + [I(153,209)] = {64,0}, + [I(154,209)] = {64,0}, + [I(155,209)] = {64,0}, + [I(156,209)] = {64,0}, + [I(157,209)] = {64,0}, + [I(158,209)] = {64,0}, + [I(159,209)] = {64,0}, + [I(160,209)] = {64,0}, + [I(161,209)] = {64,0}, + [I(162,209)] = {64,0}, + [I(163,209)] = {64,0}, + [I(164,209)] = {64,0}, + [I(165,209)] = {64,0}, + [I(166,209)] = {64,0}, + [I(167,209)] = {64,0}, + [I(168,209)] = {64,0}, + [I(169,209)] = {64,0}, + [I(170,209)] = {64,0}, + [I(171,209)] = {64,0}, + [I(172,209)] = {64,0}, + [I(173,209)] = {64,0}, + [I(174,209)] = {64,0}, + [I(175,209)] = {64,0}, + [I(176,209)] = {64,0}, + [I(177,209)] = {64,0}, + [I(178,209)] = {64,0}, + [I(179,209)] = {64,0}, + [I(180,209)] = {64,0}, + [I(181,209)] = {64,0}, + [I(182,209)] = {64,0}, + [I(183,209)] = {64,0}, + [I(184,209)] = {64,0}, + [I(185,209)] = {64,0}, + [I(186,209)] = {64,0}, + [I(187,209)] = {64,0}, + [I(188,209)] = {64,0}, + [I(189,209)] = {64,0}, + [I(190,209)] = {64,0}, + [I(191,209)] = {64,0}, + [I(192,209)] = {64,0}, + [I(193,209)] = {64,0}, + [I(194,209)] = {64,0}, + [I(195,209)] = {64,0}, + [I(196,209)] = {64,0}, + [I(197,209)] = {64,0}, + [I(198,209)] = {64,0}, + [I(199,209)] = {64,0}, + [I(200,209)] = {64,0}, + [I(201,209)] = {64,0}, + [I(202,209)] = {64,0}, + [I(203,209)] = {64,0}, + [I(204,209)] = {64,0}, + [I(205,209)] = {64,0}, + [I(206,209)] = {64,0}, + [I(207,209)] = {64,0}, + [I(208,209)] = {64,0}, + [I(209,209)] = {64,0}, + [I(210,209)] = {64,0}, + [I(211,209)] = {64,0}, + [I(212,209)] = {64,0}, + [I(213,209)] = {64,0}, + [I(214,209)] = {64,0}, + [I(215,209)] = {64,0}, + [I(216,209)] = {64,0}, + [I(217,209)] = {64,0}, + [I(218,209)] = {64,0}, + [I(219,209)] = {64,0}, + [I(220,209)] = {64,0}, + [I(221,209)] = {64,0}, + [I(222,209)] = {64,0}, + [I(223,209)] = {64,0}, + [I(224,209)] = {64,0}, + [I(225,209)] = {64,0}, + [I(226,209)] = {64,0}, + [I(227,209)] = {64,0}, + [I(228,209)] = {64,0}, + [I(229,209)] = {64,0}, + [I(230,209)] = {64,0}, + [I(231,209)] = {64,0}, + [I(232,209)] = {64,0}, + [I(233,209)] = {64,0}, + [I(234,209)] = {64,0}, + [I(235,209)] = {64,0}, + [I(236,209)] = {64,0}, + [I(237,209)] = {64,0}, + [I(238,209)] = {64,0}, + [I(239,209)] = {64,0}, + [I(240,209)] = {64,0}, + [I(241,209)] = {64,0}, + [I(242,209)] = {64,0}, + [I(243,209)] = {64,0}, + [I(244,209)] = {64,0}, + [I(245,209)] = {64,0}, + [I(246,209)] = {64,0}, + [I(247,209)] = {64,0}, + [I(248,209)] = {64,0}, + [I(249,209)] = {64,0}, + [I(250,209)] = {64,0}, + [I(251,209)] = {64,0}, + [I(252,209)] = {64,0}, + [I(253,209)] = {64,0}, + [I(254,209)] = {64,0}, + [I(255,209)] = {64,0}, + [I(0,210)] = {64,0}, + [I(1,210)] = {64,0}, + [I(2,210)] = {64,0}, + [I(3,210)] = {64,0}, + [I(4,210)] = {64,0}, + [I(5,210)] = {64,0}, + [I(6,210)] = {64,0}, + [I(7,210)] = {64,0}, + [I(8,210)] = {64,0}, + [I(9,210)] = {64,0}, + [I(10,210)] = {64,0}, + [I(11,210)] = {64,0}, + [I(12,210)] = {64,0}, + [I(13,210)] = {64,0}, + [I(14,210)] = {64,0}, + [I(15,210)] = {64,0}, + [I(16,210)] = {64,0}, + [I(17,210)] = {64,0}, + [I(18,210)] = {64,0}, + [I(19,210)] = {64,0}, + [I(20,210)] = {64,0}, + [I(21,210)] = {64,0}, + [I(22,210)] = {64,0}, + [I(23,210)] = {64,0}, + [I(24,210)] = {64,0}, + [I(25,210)] = {64,0}, + [I(26,210)] = {64,0}, + [I(27,210)] = {64,0}, + [I(28,210)] = {64,0}, + [I(29,210)] = {64,0}, + [I(30,210)] = {64,0}, + [I(31,210)] = {64,0}, + [I(32,210)] = {X32,0x53FFFFE6}, + [I(33,210)] = {64,0}, + [I(34,210)] = {64,0}, + [I(35,210)] = {64,0}, + [I(36,210)] = {64,0}, + [I(37,210)] = {X32,0x57FFFFE6}, + [I(38,210)] = {64,0}, + [I(39,210)] = {64,0}, + [I(40,210)] = {64,0}, + [I(41,210)] = {64,0}, + [I(42,210)] = {64,0}, + [I(43,210)] = {64,0}, + [I(44,210)] = {64,0}, + [I(45,210)] = {X32,0x5BFFFFE6}, + [I(46,210)] = {X32,0x5FFFFFE6}, + [I(47,210)] = {X32,0x63FFFFE6}, + [I(48,210)] = {31,0x3FFFFE6}, + [I(49,210)] = {31,0x7FFFFE6}, + [I(50,210)] = {31,0xBFFFFE6}, + [I(51,210)] = {X32,0x67FFFFE6}, + [I(52,210)] = {X32,0x6BFFFFE6}, + [I(53,210)] = {X32,0x6FFFFFE6}, + [I(54,210)] = {X32,0x73FFFFE6}, + [I(55,210)] = {X32,0x77FFFFE6}, + [I(56,210)] = {X32,0x7BFFFFE6}, + [I(57,210)] = {X32,0x7FFFFFE6}, + [I(58,210)] = {64,0}, + [I(59,210)] = {64,0}, + [I(60,210)] = {64,0}, + [I(61,210)] = {X32,0x83FFFFE6}, + [I(62,210)] = {64,0}, + [I(63,210)] = {64,0}, + [I(64,210)] = {64,0}, + [I(65,210)] = {X32,0x87FFFFE6}, + [I(66,210)] = {64,0}, + [I(67,210)] = {64,0}, + [I(68,210)] = {64,0}, + [I(69,210)] = {64,0}, + [I(70,210)] = {64,0}, + [I(71,210)] = {64,0}, + [I(72,210)] = {64,0}, + [I(73,210)] = {64,0}, + [I(74,210)] = {64,0}, + [I(75,210)] = {64,0}, + [I(76,210)] = {64,0}, + [I(77,210)] = {64,0}, + [I(78,210)] = {64,0}, + [I(79,210)] = {64,0}, + [I(80,210)] = {64,0}, + [I(81,210)] = {64,0}, + [I(82,210)] = {64,0}, + [I(83,210)] = {64,0}, + [I(84,210)] = {64,0}, + [I(85,210)] = {64,0}, + [I(86,210)] = {64,0}, + [I(87,210)] = {64,0}, + [I(88,210)] = {64,0}, + [I(89,210)] = {64,0}, + [I(90,210)] = {64,0}, + [I(91,210)] = {64,0}, + [I(92,210)] = {64,0}, + [I(93,210)] = {64,0}, + [I(94,210)] = {64,0}, + [I(95,210)] = {X32,0x8BFFFFE6}, + [I(96,210)] = {64,0}, + [I(97,210)] = {31,0xFFFFFE6}, + [I(98,210)] = {X32,0x8FFFFFE6}, + [I(99,210)] = {31,0x13FFFFE6}, + [I(100,210)] = {X32,0x93FFFFE6}, + [I(101,210)] = {31,0x17FFFFE6}, + [I(102,210)] = {X32,0x97FFFFE6}, + [I(103,210)] = {X32,0x9BFFFFE6}, + [I(104,210)] = {X32,0x9FFFFFE6}, + [I(105,210)] = {31,0x1BFFFFE6}, + [I(106,210)] = {64,0}, + [I(107,210)] = {64,0}, + [I(108,210)] = {X32,0xA3FFFFE6}, + [I(109,210)] = {X32,0xA7FFFFE6}, + [I(110,210)] = {X32,0xABFFFFE6}, + [I(111,210)] = {31,0x1FFFFFE6}, + [I(112,210)] = {X32,0xAFFFFFE6}, + [I(113,210)] = {64,0}, + [I(114,210)] = {X32,0xB3FFFFE6}, + [I(115,210)] = {31,0x23FFFFE6}, + [I(116,210)] = {31,0x27FFFFE6}, + [I(117,210)] = {X32,0xB7FFFFE6}, + [I(118,210)] = {64,0}, + [I(119,210)] = {64,0}, + [I(120,210)] = {64,0}, + [I(121,210)] = {64,0}, + [I(122,210)] = {64,0}, + [I(123,210)] = {64,0}, + [I(124,210)] = {64,0}, + [I(125,210)] = {64,0}, + [I(126,210)] = {64,0}, + [I(127,210)] = {64,0}, + [I(128,210)] = {64,0}, + [I(129,210)] = {64,0}, + [I(130,210)] = {64,0}, + [I(131,210)] = {64,0}, + [I(132,210)] = {64,0}, + [I(133,210)] = {64,0}, + [I(134,210)] = {64,0}, + [I(135,210)] = {64,0}, + [I(136,210)] = {64,0}, + [I(137,210)] = {64,0}, + [I(138,210)] = {64,0}, + [I(139,210)] = {64,0}, + [I(140,210)] = {64,0}, + [I(141,210)] = {64,0}, + [I(142,210)] = {64,0}, + [I(143,210)] = {64,0}, + [I(144,210)] = {64,0}, + [I(145,210)] = {64,0}, + [I(146,210)] = {64,0}, + [I(147,210)] = {64,0}, + [I(148,210)] = {64,0}, + [I(149,210)] = {64,0}, + [I(150,210)] = {64,0}, + [I(151,210)] = {64,0}, + [I(152,210)] = {64,0}, + [I(153,210)] = {64,0}, + [I(154,210)] = {64,0}, + [I(155,210)] = {64,0}, + [I(156,210)] = {64,0}, + [I(157,210)] = {64,0}, + [I(158,210)] = {64,0}, + [I(159,210)] = {64,0}, + [I(160,210)] = {64,0}, + [I(161,210)] = {64,0}, + [I(162,210)] = {64,0}, + [I(163,210)] = {64,0}, + [I(164,210)] = {64,0}, + [I(165,210)] = {64,0}, + [I(166,210)] = {64,0}, + [I(167,210)] = {64,0}, + [I(168,210)] = {64,0}, + [I(169,210)] = {64,0}, + [I(170,210)] = {64,0}, + [I(171,210)] = {64,0}, + [I(172,210)] = {64,0}, + [I(173,210)] = {64,0}, + [I(174,210)] = {64,0}, + [I(175,210)] = {64,0}, + [I(176,210)] = {64,0}, + [I(177,210)] = {64,0}, + [I(178,210)] = {64,0}, + [I(179,210)] = {64,0}, + [I(180,210)] = {64,0}, + [I(181,210)] = {64,0}, + [I(182,210)] = {64,0}, + [I(183,210)] = {64,0}, + [I(184,210)] = {64,0}, + [I(185,210)] = {64,0}, + [I(186,210)] = {64,0}, + [I(187,210)] = {64,0}, + [I(188,210)] = {64,0}, + [I(189,210)] = {64,0}, + [I(190,210)] = {64,0}, + [I(191,210)] = {64,0}, + [I(192,210)] = {64,0}, + [I(193,210)] = {64,0}, + [I(194,210)] = {64,0}, + [I(195,210)] = {64,0}, + [I(196,210)] = {64,0}, + [I(197,210)] = {64,0}, + [I(198,210)] = {64,0}, + [I(199,210)] = {64,0}, + [I(200,210)] = {64,0}, + [I(201,210)] = {64,0}, + [I(202,210)] = {64,0}, + [I(203,210)] = {64,0}, + [I(204,210)] = {64,0}, + [I(205,210)] = {64,0}, + [I(206,210)] = {64,0}, + [I(207,210)] = {64,0}, + [I(208,210)] = {64,0}, + [I(209,210)] = {64,0}, + [I(210,210)] = {64,0}, + [I(211,210)] = {64,0}, + [I(212,210)] = {64,0}, + [I(213,210)] = {64,0}, + [I(214,210)] = {64,0}, + [I(215,210)] = {64,0}, + [I(216,210)] = {64,0}, + [I(217,210)] = {64,0}, + [I(218,210)] = {64,0}, + [I(219,210)] = {64,0}, + [I(220,210)] = {64,0}, + [I(221,210)] = {64,0}, + [I(222,210)] = {64,0}, + [I(223,210)] = {64,0}, + [I(224,210)] = {64,0}, + [I(225,210)] = {64,0}, + [I(226,210)] = {64,0}, + [I(227,210)] = {64,0}, + [I(228,210)] = {64,0}, + [I(229,210)] = {64,0}, + [I(230,210)] = {64,0}, + [I(231,210)] = {64,0}, + [I(232,210)] = {64,0}, + [I(233,210)] = {64,0}, + [I(234,210)] = {64,0}, + [I(235,210)] = {64,0}, + [I(236,210)] = {64,0}, + [I(237,210)] = {64,0}, + [I(238,210)] = {64,0}, + [I(239,210)] = {64,0}, + [I(240,210)] = {64,0}, + [I(241,210)] = {64,0}, + [I(242,210)] = {64,0}, + [I(243,210)] = {64,0}, + [I(244,210)] = {64,0}, + [I(245,210)] = {64,0}, + [I(246,210)] = {64,0}, + [I(247,210)] = {64,0}, + [I(248,210)] = {64,0}, + [I(249,210)] = {64,0}, + [I(250,210)] = {64,0}, + [I(251,210)] = {64,0}, + [I(252,210)] = {64,0}, + [I(253,210)] = {64,0}, + [I(254,210)] = {64,0}, + [I(255,210)] = {64,0}, + [I(0,211)] = {64,0}, + [I(1,211)] = {64,0}, + [I(2,211)] = {64,0}, + [I(3,211)] = {64,0}, + [I(4,211)] = {64,0}, + [I(5,211)] = {64,0}, + [I(6,211)] = {64,0}, + [I(7,211)] = {64,0}, + [I(8,211)] = {64,0}, + [I(9,211)] = {64,0}, + [I(10,211)] = {64,0}, + [I(11,211)] = {64,0}, + [I(12,211)] = {64,0}, + [I(13,211)] = {64,0}, + [I(14,211)] = {64,0}, + [I(15,211)] = {64,0}, + [I(16,211)] = {64,0}, + [I(17,211)] = {64,0}, + [I(18,211)] = {64,0}, + [I(19,211)] = {64,0}, + [I(20,211)] = {64,0}, + [I(21,211)] = {64,0}, + [I(22,211)] = {64,0}, + [I(23,211)] = {64,0}, + [I(24,211)] = {64,0}, + [I(25,211)] = {64,0}, + [I(26,211)] = {64,0}, + [I(27,211)] = {64,0}, + [I(28,211)] = {64,0}, + [I(29,211)] = {64,0}, + [I(30,211)] = {64,0}, + [I(31,211)] = {64,0}, + [I(32,211)] = {64,0}, + [I(33,211)] = {64,0}, + [I(34,211)] = {64,0}, + [I(35,211)] = {64,0}, + [I(36,211)] = {64,0}, + [I(37,211)] = {64,0}, + [I(38,211)] = {64,0}, + [I(39,211)] = {64,0}, + [I(40,211)] = {64,0}, + [I(41,211)] = {64,0}, + [I(42,211)] = {64,0}, + [I(43,211)] = {64,0}, + [I(44,211)] = {64,0}, + [I(45,211)] = {64,0}, + [I(46,211)] = {64,0}, + [I(47,211)] = {64,0}, + [I(48,211)] = {X32,0x7FFFFE0}, + [I(49,211)] = {X32,0xFFFFFE0}, + [I(50,211)] = {X32,0x17FFFFE0}, + [I(51,211)] = {64,0}, + [I(52,211)] = {64,0}, + [I(53,211)] = {64,0}, + [I(54,211)] = {64,0}, + [I(55,211)] = {64,0}, + [I(56,211)] = {64,0}, + [I(57,211)] = {64,0}, + [I(58,211)] = {64,0}, + [I(59,211)] = {64,0}, + [I(60,211)] = {64,0}, + [I(61,211)] = {64,0}, + [I(62,211)] = {64,0}, + [I(63,211)] = {64,0}, + [I(64,211)] = {64,0}, + [I(65,211)] = {64,0}, + [I(66,211)] = {64,0}, + [I(67,211)] = {64,0}, + [I(68,211)] = {64,0}, + [I(69,211)] = {64,0}, + [I(70,211)] = {64,0}, + [I(71,211)] = {64,0}, + [I(72,211)] = {64,0}, + [I(73,211)] = {64,0}, + [I(74,211)] = {64,0}, + [I(75,211)] = {64,0}, + [I(76,211)] = {64,0}, + [I(77,211)] = {64,0}, + [I(78,211)] = {64,0}, + [I(79,211)] = {64,0}, + [I(80,211)] = {64,0}, + [I(81,211)] = {64,0}, + [I(82,211)] = {64,0}, + [I(83,211)] = {64,0}, + [I(84,211)] = {64,0}, + [I(85,211)] = {64,0}, + [I(86,211)] = {64,0}, + [I(87,211)] = {64,0}, + [I(88,211)] = {64,0}, + [I(89,211)] = {64,0}, + [I(90,211)] = {64,0}, + [I(91,211)] = {64,0}, + [I(92,211)] = {64,0}, + [I(93,211)] = {64,0}, + [I(94,211)] = {64,0}, + [I(95,211)] = {64,0}, + [I(96,211)] = {64,0}, + [I(97,211)] = {X32,0x1FFFFFE0}, + [I(98,211)] = {64,0}, + [I(99,211)] = {X32,0x27FFFFE0}, + [I(100,211)] = {64,0}, + [I(101,211)] = {X32,0x2FFFFFE0}, + [I(102,211)] = {64,0}, + [I(103,211)] = {64,0}, + [I(104,211)] = {64,0}, + [I(105,211)] = {X32,0x37FFFFE0}, + [I(106,211)] = {64,0}, + [I(107,211)] = {64,0}, + [I(108,211)] = {64,0}, + [I(109,211)] = {64,0}, + [I(110,211)] = {64,0}, + [I(111,211)] = {X32,0x3FFFFFE0}, + [I(112,211)] = {64,0}, + [I(113,211)] = {64,0}, + [I(114,211)] = {64,0}, + [I(115,211)] = {X32,0x47FFFFE0}, + [I(116,211)] = {X32,0x4FFFFFE0}, + [I(117,211)] = {64,0}, + [I(118,211)] = {64,0}, + [I(119,211)] = {64,0}, + [I(120,211)] = {64,0}, + [I(121,211)] = {64,0}, + [I(122,211)] = {64,0}, + [I(123,211)] = {64,0}, + [I(124,211)] = {64,0}, + [I(125,211)] = {64,0}, + [I(126,211)] = {64,0}, + [I(127,211)] = {64,0}, + [I(128,211)] = {64,0}, + [I(129,211)] = {64,0}, + [I(130,211)] = {64,0}, + [I(131,211)] = {64,0}, + [I(132,211)] = {64,0}, + [I(133,211)] = {64,0}, + [I(134,211)] = {64,0}, + [I(135,211)] = {64,0}, + [I(136,211)] = {64,0}, + [I(137,211)] = {64,0}, + [I(138,211)] = {64,0}, + [I(139,211)] = {64,0}, + [I(140,211)] = {64,0}, + [I(141,211)] = {64,0}, + [I(142,211)] = {64,0}, + [I(143,211)] = {64,0}, + [I(144,211)] = {64,0}, + [I(145,211)] = {64,0}, + [I(146,211)] = {64,0}, + [I(147,211)] = {64,0}, + [I(148,211)] = {64,0}, + [I(149,211)] = {64,0}, + [I(150,211)] = {64,0}, + [I(151,211)] = {64,0}, + [I(152,211)] = {64,0}, + [I(153,211)] = {64,0}, + [I(154,211)] = {64,0}, + [I(155,211)] = {64,0}, + [I(156,211)] = {64,0}, + [I(157,211)] = {64,0}, + [I(158,211)] = {64,0}, + [I(159,211)] = {64,0}, + [I(160,211)] = {64,0}, + [I(161,211)] = {64,0}, + [I(162,211)] = {64,0}, + [I(163,211)] = {64,0}, + [I(164,211)] = {64,0}, + [I(165,211)] = {64,0}, + [I(166,211)] = {64,0}, + [I(167,211)] = {64,0}, + [I(168,211)] = {64,0}, + [I(169,211)] = {64,0}, + [I(170,211)] = {64,0}, + [I(171,211)] = {64,0}, + [I(172,211)] = {64,0}, + [I(173,211)] = {64,0}, + [I(174,211)] = {64,0}, + [I(175,211)] = {64,0}, + [I(176,211)] = {64,0}, + [I(177,211)] = {64,0}, + [I(178,211)] = {64,0}, + [I(179,211)] = {64,0}, + [I(180,211)] = {64,0}, + [I(181,211)] = {64,0}, + [I(182,211)] = {64,0}, + [I(183,211)] = {64,0}, + [I(184,211)] = {64,0}, + [I(185,211)] = {64,0}, + [I(186,211)] = {64,0}, + [I(187,211)] = {64,0}, + [I(188,211)] = {64,0}, + [I(189,211)] = {64,0}, + [I(190,211)] = {64,0}, + [I(191,211)] = {64,0}, + [I(192,211)] = {64,0}, + [I(193,211)] = {64,0}, + [I(194,211)] = {64,0}, + [I(195,211)] = {64,0}, + [I(196,211)] = {64,0}, + [I(197,211)] = {64,0}, + [I(198,211)] = {64,0}, + [I(199,211)] = {64,0}, + [I(200,211)] = {64,0}, + [I(201,211)] = {64,0}, + [I(202,211)] = {64,0}, + [I(203,211)] = {64,0}, + [I(204,211)] = {64,0}, + [I(205,211)] = {64,0}, + [I(206,211)] = {64,0}, + [I(207,211)] = {64,0}, + [I(208,211)] = {64,0}, + [I(209,211)] = {64,0}, + [I(210,211)] = {64,0}, + [I(211,211)] = {64,0}, + [I(212,211)] = {64,0}, + [I(213,211)] = {64,0}, + [I(214,211)] = {64,0}, + [I(215,211)] = {64,0}, + [I(216,211)] = {64,0}, + [I(217,211)] = {64,0}, + [I(218,211)] = {64,0}, + [I(219,211)] = {64,0}, + [I(220,211)] = {64,0}, + [I(221,211)] = {64,0}, + [I(222,211)] = {64,0}, + [I(223,211)] = {64,0}, + [I(224,211)] = {64,0}, + [I(225,211)] = {64,0}, + [I(226,211)] = {64,0}, + [I(227,211)] = {64,0}, + [I(228,211)] = {64,0}, + [I(229,211)] = {64,0}, + [I(230,211)] = {64,0}, + [I(231,211)] = {64,0}, + [I(232,211)] = {64,0}, + [I(233,211)] = {64,0}, + [I(234,211)] = {64,0}, + [I(235,211)] = {64,0}, + [I(236,211)] = {64,0}, + [I(237,211)] = {64,0}, + [I(238,211)] = {64,0}, + [I(239,211)] = {64,0}, + [I(240,211)] = {64,0}, + [I(241,211)] = {64,0}, + [I(242,211)] = {64,0}, + [I(243,211)] = {64,0}, + [I(244,211)] = {64,0}, + [I(245,211)] = {64,0}, + [I(246,211)] = {64,0}, + [I(247,211)] = {64,0}, + [I(248,211)] = {64,0}, + [I(249,211)] = {64,0}, + [I(250,211)] = {64,0}, + [I(251,211)] = {64,0}, + [I(252,211)] = {64,0}, + [I(253,211)] = {64,0}, + [I(254,211)] = {64,0}, + [I(255,211)] = {64,0}, + [I(0,212)] = {64,0}, + [I(1,212)] = {64,0}, + [I(2,212)] = {64,0}, + [I(3,212)] = {64,0}, + [I(4,212)] = {64,0}, + [I(5,212)] = {64,0}, + [I(6,212)] = {64,0}, + [I(7,212)] = {64,0}, + [I(8,212)] = {64,0}, + [I(9,212)] = {64,0}, + [I(10,212)] = {64,0}, + [I(11,212)] = {64,0}, + [I(12,212)] = {64,0}, + [I(13,212)] = {64,0}, + [I(14,212)] = {64,0}, + [I(15,212)] = {64,0}, + [I(16,212)] = {64,0}, + [I(17,212)] = {64,0}, + [I(18,212)] = {64,0}, + [I(19,212)] = {64,0}, + [I(20,212)] = {64,0}, + [I(21,212)] = {64,0}, + [I(22,212)] = {64,0}, + [I(23,212)] = {64,0}, + [I(24,212)] = {64,0}, + [I(25,212)] = {64,0}, + [I(26,212)] = {64,0}, + [I(27,212)] = {64,0}, + [I(28,212)] = {64,0}, + [I(29,212)] = {64,0}, + [I(30,212)] = {64,0}, + [I(31,212)] = {64,0}, + [I(32,212)] = {64,0}, + [I(33,212)] = {64,0}, + [I(34,212)] = {64,0}, + [I(35,212)] = {64,0}, + [I(36,212)] = {64,0}, + [I(37,212)] = {64,0}, + [I(38,212)] = {64,0}, + [I(39,212)] = {64,0}, + [I(40,212)] = {64,0}, + [I(41,212)] = {64,0}, + [I(42,212)] = {64,0}, + [I(43,212)] = {64,0}, + [I(44,212)] = {64,0}, + [I(45,212)] = {64,0}, + [I(46,212)] = {64,0}, + [I(47,212)] = {64,0}, + [I(48,212)] = {X32,0x7FFFFE1}, + [I(49,212)] = {X32,0xFFFFFE1}, + [I(50,212)] = {X32,0x17FFFFE1}, + [I(51,212)] = {64,0}, + [I(52,212)] = {64,0}, + [I(53,212)] = {64,0}, + [I(54,212)] = {64,0}, + [I(55,212)] = {64,0}, + [I(56,212)] = {64,0}, + [I(57,212)] = {64,0}, + [I(58,212)] = {64,0}, + [I(59,212)] = {64,0}, + [I(60,212)] = {64,0}, + [I(61,212)] = {64,0}, + [I(62,212)] = {64,0}, + [I(63,212)] = {64,0}, + [I(64,212)] = {64,0}, + [I(65,212)] = {64,0}, + [I(66,212)] = {64,0}, + [I(67,212)] = {64,0}, + [I(68,212)] = {64,0}, + [I(69,212)] = {64,0}, + [I(70,212)] = {64,0}, + [I(71,212)] = {64,0}, + [I(72,212)] = {64,0}, + [I(73,212)] = {64,0}, + [I(74,212)] = {64,0}, + [I(75,212)] = {64,0}, + [I(76,212)] = {64,0}, + [I(77,212)] = {64,0}, + [I(78,212)] = {64,0}, + [I(79,212)] = {64,0}, + [I(80,212)] = {64,0}, + [I(81,212)] = {64,0}, + [I(82,212)] = {64,0}, + [I(83,212)] = {64,0}, + [I(84,212)] = {64,0}, + [I(85,212)] = {64,0}, + [I(86,212)] = {64,0}, + [I(87,212)] = {64,0}, + [I(88,212)] = {64,0}, + [I(89,212)] = {64,0}, + [I(90,212)] = {64,0}, + [I(91,212)] = {64,0}, + [I(92,212)] = {64,0}, + [I(93,212)] = {64,0}, + [I(94,212)] = {64,0}, + [I(95,212)] = {64,0}, + [I(96,212)] = {64,0}, + [I(97,212)] = {X32,0x1FFFFFE1}, + [I(98,212)] = {64,0}, + [I(99,212)] = {X32,0x27FFFFE1}, + [I(100,212)] = {64,0}, + [I(101,212)] = {X32,0x2FFFFFE1}, + [I(102,212)] = {64,0}, + [I(103,212)] = {64,0}, + [I(104,212)] = {64,0}, + [I(105,212)] = {X32,0x37FFFFE1}, + [I(106,212)] = {64,0}, + [I(107,212)] = {64,0}, + [I(108,212)] = {64,0}, + [I(109,212)] = {64,0}, + [I(110,212)] = {64,0}, + [I(111,212)] = {X32,0x3FFFFFE1}, + [I(112,212)] = {64,0}, + [I(113,212)] = {64,0}, + [I(114,212)] = {64,0}, + [I(115,212)] = {X32,0x47FFFFE1}, + [I(116,212)] = {X32,0x4FFFFFE1}, + [I(117,212)] = {64,0}, + [I(118,212)] = {64,0}, + [I(119,212)] = {64,0}, + [I(120,212)] = {64,0}, + [I(121,212)] = {64,0}, + [I(122,212)] = {64,0}, + [I(123,212)] = {64,0}, + [I(124,212)] = {64,0}, + [I(125,212)] = {64,0}, + [I(126,212)] = {64,0}, + [I(127,212)] = {64,0}, + [I(128,212)] = {64,0}, + [I(129,212)] = {64,0}, + [I(130,212)] = {64,0}, + [I(131,212)] = {64,0}, + [I(132,212)] = {64,0}, + [I(133,212)] = {64,0}, + [I(134,212)] = {64,0}, + [I(135,212)] = {64,0}, + [I(136,212)] = {64,0}, + [I(137,212)] = {64,0}, + [I(138,212)] = {64,0}, + [I(139,212)] = {64,0}, + [I(140,212)] = {64,0}, + [I(141,212)] = {64,0}, + [I(142,212)] = {64,0}, + [I(143,212)] = {64,0}, + [I(144,212)] = {64,0}, + [I(145,212)] = {64,0}, + [I(146,212)] = {64,0}, + [I(147,212)] = {64,0}, + [I(148,212)] = {64,0}, + [I(149,212)] = {64,0}, + [I(150,212)] = {64,0}, + [I(151,212)] = {64,0}, + [I(152,212)] = {64,0}, + [I(153,212)] = {64,0}, + [I(154,212)] = {64,0}, + [I(155,212)] = {64,0}, + [I(156,212)] = {64,0}, + [I(157,212)] = {64,0}, + [I(158,212)] = {64,0}, + [I(159,212)] = {64,0}, + [I(160,212)] = {64,0}, + [I(161,212)] = {64,0}, + [I(162,212)] = {64,0}, + [I(163,212)] = {64,0}, + [I(164,212)] = {64,0}, + [I(165,212)] = {64,0}, + [I(166,212)] = {64,0}, + [I(167,212)] = {64,0}, + [I(168,212)] = {64,0}, + [I(169,212)] = {64,0}, + [I(170,212)] = {64,0}, + [I(171,212)] = {64,0}, + [I(172,212)] = {64,0}, + [I(173,212)] = {64,0}, + [I(174,212)] = {64,0}, + [I(175,212)] = {64,0}, + [I(176,212)] = {64,0}, + [I(177,212)] = {64,0}, + [I(178,212)] = {64,0}, + [I(179,212)] = {64,0}, + [I(180,212)] = {64,0}, + [I(181,212)] = {64,0}, + [I(182,212)] = {64,0}, + [I(183,212)] = {64,0}, + [I(184,212)] = {64,0}, + [I(185,212)] = {64,0}, + [I(186,212)] = {64,0}, + [I(187,212)] = {64,0}, + [I(188,212)] = {64,0}, + [I(189,212)] = {64,0}, + [I(190,212)] = {64,0}, + [I(191,212)] = {64,0}, + [I(192,212)] = {64,0}, + [I(193,212)] = {64,0}, + [I(194,212)] = {64,0}, + [I(195,212)] = {64,0}, + [I(196,212)] = {64,0}, + [I(197,212)] = {64,0}, + [I(198,212)] = {64,0}, + [I(199,212)] = {64,0}, + [I(200,212)] = {64,0}, + [I(201,212)] = {64,0}, + [I(202,212)] = {64,0}, + [I(203,212)] = {64,0}, + [I(204,212)] = {64,0}, + [I(205,212)] = {64,0}, + [I(206,212)] = {64,0}, + [I(207,212)] = {64,0}, + [I(208,212)] = {64,0}, + [I(209,212)] = {64,0}, + [I(210,212)] = {64,0}, + [I(211,212)] = {64,0}, + [I(212,212)] = {64,0}, + [I(213,212)] = {64,0}, + [I(214,212)] = {64,0}, + [I(215,212)] = {64,0}, + [I(216,212)] = {64,0}, + [I(217,212)] = {64,0}, + [I(218,212)] = {64,0}, + [I(219,212)] = {64,0}, + [I(220,212)] = {64,0}, + [I(221,212)] = {64,0}, + [I(222,212)] = {64,0}, + [I(223,212)] = {64,0}, + [I(224,212)] = {64,0}, + [I(225,212)] = {64,0}, + [I(226,212)] = {64,0}, + [I(227,212)] = {64,0}, + [I(228,212)] = {64,0}, + [I(229,212)] = {64,0}, + [I(230,212)] = {64,0}, + [I(231,212)] = {64,0}, + [I(232,212)] = {64,0}, + [I(233,212)] = {64,0}, + [I(234,212)] = {64,0}, + [I(235,212)] = {64,0}, + [I(236,212)] = {64,0}, + [I(237,212)] = {64,0}, + [I(238,212)] = {64,0}, + [I(239,212)] = {64,0}, + [I(240,212)] = {64,0}, + [I(241,212)] = {64,0}, + [I(242,212)] = {64,0}, + [I(243,212)] = {64,0}, + [I(244,212)] = {64,0}, + [I(245,212)] = {64,0}, + [I(246,212)] = {64,0}, + [I(247,212)] = {64,0}, + [I(248,212)] = {64,0}, + [I(249,212)] = {64,0}, + [I(250,212)] = {64,0}, + [I(251,212)] = {64,0}, + [I(252,212)] = {64,0}, + [I(253,212)] = {64,0}, + [I(254,212)] = {64,0}, + [I(255,212)] = {64,0}, + [I(0,213)] = {64,0}, + [I(1,213)] = {64,0}, + [I(2,213)] = {64,0}, + [I(3,213)] = {64,0}, + [I(4,213)] = {64,0}, + [I(5,213)] = {64,0}, + [I(6,213)] = {64,0}, + [I(7,213)] = {64,0}, + [I(8,213)] = {64,0}, + [I(9,213)] = {64,0}, + [I(10,213)] = {64,0}, + [I(11,213)] = {64,0}, + [I(12,213)] = {64,0}, + [I(13,213)] = {64,0}, + [I(14,213)] = {64,0}, + [I(15,213)] = {64,0}, + [I(16,213)] = {64,0}, + [I(17,213)] = {64,0}, + [I(18,213)] = {64,0}, + [I(19,213)] = {64,0}, + [I(20,213)] = {64,0}, + [I(21,213)] = {64,0}, + [I(22,213)] = {64,0}, + [I(23,213)] = {64,0}, + [I(24,213)] = {64,0}, + [I(25,213)] = {64,0}, + [I(26,213)] = {64,0}, + [I(27,213)] = {64,0}, + [I(28,213)] = {64,0}, + [I(29,213)] = {64,0}, + [I(30,213)] = {64,0}, + [I(31,213)] = {64,0}, + [I(32,213)] = {X32,0x53FFFFE7}, + [I(33,213)] = {64,0}, + [I(34,213)] = {64,0}, + [I(35,213)] = {64,0}, + [I(36,213)] = {64,0}, + [I(37,213)] = {X32,0x57FFFFE7}, + [I(38,213)] = {64,0}, + [I(39,213)] = {64,0}, + [I(40,213)] = {64,0}, + [I(41,213)] = {64,0}, + [I(42,213)] = {64,0}, + [I(43,213)] = {64,0}, + [I(44,213)] = {64,0}, + [I(45,213)] = {X32,0x5BFFFFE7}, + [I(46,213)] = {X32,0x5FFFFFE7}, + [I(47,213)] = {X32,0x63FFFFE7}, + [I(48,213)] = {31,0x3FFFFE7}, + [I(49,213)] = {31,0x7FFFFE7}, + [I(50,213)] = {31,0xBFFFFE7}, + [I(51,213)] = {X32,0x67FFFFE7}, + [I(52,213)] = {X32,0x6BFFFFE7}, + [I(53,213)] = {X32,0x6FFFFFE7}, + [I(54,213)] = {X32,0x73FFFFE7}, + [I(55,213)] = {X32,0x77FFFFE7}, + [I(56,213)] = {X32,0x7BFFFFE7}, + [I(57,213)] = {X32,0x7FFFFFE7}, + [I(58,213)] = {64,0}, + [I(59,213)] = {64,0}, + [I(60,213)] = {64,0}, + [I(61,213)] = {X32,0x83FFFFE7}, + [I(62,213)] = {64,0}, + [I(63,213)] = {64,0}, + [I(64,213)] = {64,0}, + [I(65,213)] = {X32,0x87FFFFE7}, + [I(66,213)] = {64,0}, + [I(67,213)] = {64,0}, + [I(68,213)] = {64,0}, + [I(69,213)] = {64,0}, + [I(70,213)] = {64,0}, + [I(71,213)] = {64,0}, + [I(72,213)] = {64,0}, + [I(73,213)] = {64,0}, + [I(74,213)] = {64,0}, + [I(75,213)] = {64,0}, + [I(76,213)] = {64,0}, + [I(77,213)] = {64,0}, + [I(78,213)] = {64,0}, + [I(79,213)] = {64,0}, + [I(80,213)] = {64,0}, + [I(81,213)] = {64,0}, + [I(82,213)] = {64,0}, + [I(83,213)] = {64,0}, + [I(84,213)] = {64,0}, + [I(85,213)] = {64,0}, + [I(86,213)] = {64,0}, + [I(87,213)] = {64,0}, + [I(88,213)] = {64,0}, + [I(89,213)] = {64,0}, + [I(90,213)] = {64,0}, + [I(91,213)] = {64,0}, + [I(92,213)] = {64,0}, + [I(93,213)] = {64,0}, + [I(94,213)] = {64,0}, + [I(95,213)] = {X32,0x8BFFFFE7}, + [I(96,213)] = {64,0}, + [I(97,213)] = {31,0xFFFFFE7}, + [I(98,213)] = {X32,0x8FFFFFE7}, + [I(99,213)] = {31,0x13FFFFE7}, + [I(100,213)] = {X32,0x93FFFFE7}, + [I(101,213)] = {31,0x17FFFFE7}, + [I(102,213)] = {X32,0x97FFFFE7}, + [I(103,213)] = {X32,0x9BFFFFE7}, + [I(104,213)] = {X32,0x9FFFFFE7}, + [I(105,213)] = {31,0x1BFFFFE7}, + [I(106,213)] = {64,0}, + [I(107,213)] = {64,0}, + [I(108,213)] = {X32,0xA3FFFFE7}, + [I(109,213)] = {X32,0xA7FFFFE7}, + [I(110,213)] = {X32,0xABFFFFE7}, + [I(111,213)] = {31,0x1FFFFFE7}, + [I(112,213)] = {X32,0xAFFFFFE7}, + [I(113,213)] = {64,0}, + [I(114,213)] = {X32,0xB3FFFFE7}, + [I(115,213)] = {31,0x23FFFFE7}, + [I(116,213)] = {31,0x27FFFFE7}, + [I(117,213)] = {X32,0xB7FFFFE7}, + [I(118,213)] = {64,0}, + [I(119,213)] = {64,0}, + [I(120,213)] = {64,0}, + [I(121,213)] = {64,0}, + [I(122,213)] = {64,0}, + [I(123,213)] = {64,0}, + [I(124,213)] = {64,0}, + [I(125,213)] = {64,0}, + [I(126,213)] = {64,0}, + [I(127,213)] = {64,0}, + [I(128,213)] = {64,0}, + [I(129,213)] = {64,0}, + [I(130,213)] = {64,0}, + [I(131,213)] = {64,0}, + [I(132,213)] = {64,0}, + [I(133,213)] = {64,0}, + [I(134,213)] = {64,0}, + [I(135,213)] = {64,0}, + [I(136,213)] = {64,0}, + [I(137,213)] = {64,0}, + [I(138,213)] = {64,0}, + [I(139,213)] = {64,0}, + [I(140,213)] = {64,0}, + [I(141,213)] = {64,0}, + [I(142,213)] = {64,0}, + [I(143,213)] = {64,0}, + [I(144,213)] = {64,0}, + [I(145,213)] = {64,0}, + [I(146,213)] = {64,0}, + [I(147,213)] = {64,0}, + [I(148,213)] = {64,0}, + [I(149,213)] = {64,0}, + [I(150,213)] = {64,0}, + [I(151,213)] = {64,0}, + [I(152,213)] = {64,0}, + [I(153,213)] = {64,0}, + [I(154,213)] = {64,0}, + [I(155,213)] = {64,0}, + [I(156,213)] = {64,0}, + [I(157,213)] = {64,0}, + [I(158,213)] = {64,0}, + [I(159,213)] = {64,0}, + [I(160,213)] = {64,0}, + [I(161,213)] = {64,0}, + [I(162,213)] = {64,0}, + [I(163,213)] = {64,0}, + [I(164,213)] = {64,0}, + [I(165,213)] = {64,0}, + [I(166,213)] = {64,0}, + [I(167,213)] = {64,0}, + [I(168,213)] = {64,0}, + [I(169,213)] = {64,0}, + [I(170,213)] = {64,0}, + [I(171,213)] = {64,0}, + [I(172,213)] = {64,0}, + [I(173,213)] = {64,0}, + [I(174,213)] = {64,0}, + [I(175,213)] = {64,0}, + [I(176,213)] = {64,0}, + [I(177,213)] = {64,0}, + [I(178,213)] = {64,0}, + [I(179,213)] = {64,0}, + [I(180,213)] = {64,0}, + [I(181,213)] = {64,0}, + [I(182,213)] = {64,0}, + [I(183,213)] = {64,0}, + [I(184,213)] = {64,0}, + [I(185,213)] = {64,0}, + [I(186,213)] = {64,0}, + [I(187,213)] = {64,0}, + [I(188,213)] = {64,0}, + [I(189,213)] = {64,0}, + [I(190,213)] = {64,0}, + [I(191,213)] = {64,0}, + [I(192,213)] = {64,0}, + [I(193,213)] = {64,0}, + [I(194,213)] = {64,0}, + [I(195,213)] = {64,0}, + [I(196,213)] = {64,0}, + [I(197,213)] = {64,0}, + [I(198,213)] = {64,0}, + [I(199,213)] = {64,0}, + [I(200,213)] = {64,0}, + [I(201,213)] = {64,0}, + [I(202,213)] = {64,0}, + [I(203,213)] = {64,0}, + [I(204,213)] = {64,0}, + [I(205,213)] = {64,0}, + [I(206,213)] = {64,0}, + [I(207,213)] = {64,0}, + [I(208,213)] = {64,0}, + [I(209,213)] = {64,0}, + [I(210,213)] = {64,0}, + [I(211,213)] = {64,0}, + [I(212,213)] = {64,0}, + [I(213,213)] = {64,0}, + [I(214,213)] = {64,0}, + [I(215,213)] = {64,0}, + [I(216,213)] = {64,0}, + [I(217,213)] = {64,0}, + [I(218,213)] = {64,0}, + [I(219,213)] = {64,0}, + [I(220,213)] = {64,0}, + [I(221,213)] = {64,0}, + [I(222,213)] = {64,0}, + [I(223,213)] = {64,0}, + [I(224,213)] = {64,0}, + [I(225,213)] = {64,0}, + [I(226,213)] = {64,0}, + [I(227,213)] = {64,0}, + [I(228,213)] = {64,0}, + [I(229,213)] = {64,0}, + [I(230,213)] = {64,0}, + [I(231,213)] = {64,0}, + [I(232,213)] = {64,0}, + [I(233,213)] = {64,0}, + [I(234,213)] = {64,0}, + [I(235,213)] = {64,0}, + [I(236,213)] = {64,0}, + [I(237,213)] = {64,0}, + [I(238,213)] = {64,0}, + [I(239,213)] = {64,0}, + [I(240,213)] = {64,0}, + [I(241,213)] = {64,0}, + [I(242,213)] = {64,0}, + [I(243,213)] = {64,0}, + [I(244,213)] = {64,0}, + [I(245,213)] = {64,0}, + [I(246,213)] = {64,0}, + [I(247,213)] = {64,0}, + [I(248,213)] = {64,0}, + [I(249,213)] = {64,0}, + [I(250,213)] = {64,0}, + [I(251,213)] = {64,0}, + [I(252,213)] = {64,0}, + [I(253,213)] = {64,0}, + [I(254,213)] = {64,0}, + [I(255,213)] = {64,0}, + [I(0,214)] = {64,0}, + [I(1,214)] = {64,0}, + [I(2,214)] = {64,0}, + [I(3,214)] = {64,0}, + [I(4,214)] = {64,0}, + [I(5,214)] = {64,0}, + [I(6,214)] = {64,0}, + [I(7,214)] = {64,0}, + [I(8,214)] = {64,0}, + [I(9,214)] = {64,0}, + [I(10,214)] = {64,0}, + [I(11,214)] = {64,0}, + [I(12,214)] = {64,0}, + [I(13,214)] = {64,0}, + [I(14,214)] = {64,0}, + [I(15,214)] = {64,0}, + [I(16,214)] = {64,0}, + [I(17,214)] = {64,0}, + [I(18,214)] = {64,0}, + [I(19,214)] = {64,0}, + [I(20,214)] = {64,0}, + [I(21,214)] = {64,0}, + [I(22,214)] = {64,0}, + [I(23,214)] = {64,0}, + [I(24,214)] = {64,0}, + [I(25,214)] = {64,0}, + [I(26,214)] = {64,0}, + [I(27,214)] = {64,0}, + [I(28,214)] = {64,0}, + [I(29,214)] = {64,0}, + [I(30,214)] = {64,0}, + [I(31,214)] = {64,0}, + [I(32,214)] = {64,0}, + [I(33,214)] = {64,0}, + [I(34,214)] = {64,0}, + [I(35,214)] = {64,0}, + [I(36,214)] = {64,0}, + [I(37,214)] = {64,0}, + [I(38,214)] = {64,0}, + [I(39,214)] = {64,0}, + [I(40,214)] = {64,0}, + [I(41,214)] = {64,0}, + [I(42,214)] = {64,0}, + [I(43,214)] = {64,0}, + [I(44,214)] = {64,0}, + [I(45,214)] = {64,0}, + [I(46,214)] = {64,0}, + [I(47,214)] = {64,0}, + [I(48,214)] = {X32,0x7FFFFE2}, + [I(49,214)] = {X32,0xFFFFFE2}, + [I(50,214)] = {X32,0x17FFFFE2}, + [I(51,214)] = {64,0}, + [I(52,214)] = {64,0}, + [I(53,214)] = {64,0}, + [I(54,214)] = {64,0}, + [I(55,214)] = {64,0}, + [I(56,214)] = {64,0}, + [I(57,214)] = {64,0}, + [I(58,214)] = {64,0}, + [I(59,214)] = {64,0}, + [I(60,214)] = {64,0}, + [I(61,214)] = {64,0}, + [I(62,214)] = {64,0}, + [I(63,214)] = {64,0}, + [I(64,214)] = {64,0}, + [I(65,214)] = {64,0}, + [I(66,214)] = {64,0}, + [I(67,214)] = {64,0}, + [I(68,214)] = {64,0}, + [I(69,214)] = {64,0}, + [I(70,214)] = {64,0}, + [I(71,214)] = {64,0}, + [I(72,214)] = {64,0}, + [I(73,214)] = {64,0}, + [I(74,214)] = {64,0}, + [I(75,214)] = {64,0}, + [I(76,214)] = {64,0}, + [I(77,214)] = {64,0}, + [I(78,214)] = {64,0}, + [I(79,214)] = {64,0}, + [I(80,214)] = {64,0}, + [I(81,214)] = {64,0}, + [I(82,214)] = {64,0}, + [I(83,214)] = {64,0}, + [I(84,214)] = {64,0}, + [I(85,214)] = {64,0}, + [I(86,214)] = {64,0}, + [I(87,214)] = {64,0}, + [I(88,214)] = {64,0}, + [I(89,214)] = {64,0}, + [I(90,214)] = {64,0}, + [I(91,214)] = {64,0}, + [I(92,214)] = {64,0}, + [I(93,214)] = {64,0}, + [I(94,214)] = {64,0}, + [I(95,214)] = {64,0}, + [I(96,214)] = {64,0}, + [I(97,214)] = {X32,0x1FFFFFE2}, + [I(98,214)] = {64,0}, + [I(99,214)] = {X32,0x27FFFFE2}, + [I(100,214)] = {64,0}, + [I(101,214)] = {X32,0x2FFFFFE2}, + [I(102,214)] = {64,0}, + [I(103,214)] = {64,0}, + [I(104,214)] = {64,0}, + [I(105,214)] = {X32,0x37FFFFE2}, + [I(106,214)] = {64,0}, + [I(107,214)] = {64,0}, + [I(108,214)] = {64,0}, + [I(109,214)] = {64,0}, + [I(110,214)] = {64,0}, + [I(111,214)] = {X32,0x3FFFFFE2}, + [I(112,214)] = {64,0}, + [I(113,214)] = {64,0}, + [I(114,214)] = {64,0}, + [I(115,214)] = {X32,0x47FFFFE2}, + [I(116,214)] = {X32,0x4FFFFFE2}, + [I(117,214)] = {64,0}, + [I(118,214)] = {64,0}, + [I(119,214)] = {64,0}, + [I(120,214)] = {64,0}, + [I(121,214)] = {64,0}, + [I(122,214)] = {64,0}, + [I(123,214)] = {64,0}, + [I(124,214)] = {64,0}, + [I(125,214)] = {64,0}, + [I(126,214)] = {64,0}, + [I(127,214)] = {64,0}, + [I(128,214)] = {64,0}, + [I(129,214)] = {64,0}, + [I(130,214)] = {64,0}, + [I(131,214)] = {64,0}, + [I(132,214)] = {64,0}, + [I(133,214)] = {64,0}, + [I(134,214)] = {64,0}, + [I(135,214)] = {64,0}, + [I(136,214)] = {64,0}, + [I(137,214)] = {64,0}, + [I(138,214)] = {64,0}, + [I(139,214)] = {64,0}, + [I(140,214)] = {64,0}, + [I(141,214)] = {64,0}, + [I(142,214)] = {64,0}, + [I(143,214)] = {64,0}, + [I(144,214)] = {64,0}, + [I(145,214)] = {64,0}, + [I(146,214)] = {64,0}, + [I(147,214)] = {64,0}, + [I(148,214)] = {64,0}, + [I(149,214)] = {64,0}, + [I(150,214)] = {64,0}, + [I(151,214)] = {64,0}, + [I(152,214)] = {64,0}, + [I(153,214)] = {64,0}, + [I(154,214)] = {64,0}, + [I(155,214)] = {64,0}, + [I(156,214)] = {64,0}, + [I(157,214)] = {64,0}, + [I(158,214)] = {64,0}, + [I(159,214)] = {64,0}, + [I(160,214)] = {64,0}, + [I(161,214)] = {64,0}, + [I(162,214)] = {64,0}, + [I(163,214)] = {64,0}, + [I(164,214)] = {64,0}, + [I(165,214)] = {64,0}, + [I(166,214)] = {64,0}, + [I(167,214)] = {64,0}, + [I(168,214)] = {64,0}, + [I(169,214)] = {64,0}, + [I(170,214)] = {64,0}, + [I(171,214)] = {64,0}, + [I(172,214)] = {64,0}, + [I(173,214)] = {64,0}, + [I(174,214)] = {64,0}, + [I(175,214)] = {64,0}, + [I(176,214)] = {64,0}, + [I(177,214)] = {64,0}, + [I(178,214)] = {64,0}, + [I(179,214)] = {64,0}, + [I(180,214)] = {64,0}, + [I(181,214)] = {64,0}, + [I(182,214)] = {64,0}, + [I(183,214)] = {64,0}, + [I(184,214)] = {64,0}, + [I(185,214)] = {64,0}, + [I(186,214)] = {64,0}, + [I(187,214)] = {64,0}, + [I(188,214)] = {64,0}, + [I(189,214)] = {64,0}, + [I(190,214)] = {64,0}, + [I(191,214)] = {64,0}, + [I(192,214)] = {64,0}, + [I(193,214)] = {64,0}, + [I(194,214)] = {64,0}, + [I(195,214)] = {64,0}, + [I(196,214)] = {64,0}, + [I(197,214)] = {64,0}, + [I(198,214)] = {64,0}, + [I(199,214)] = {64,0}, + [I(200,214)] = {64,0}, + [I(201,214)] = {64,0}, + [I(202,214)] = {64,0}, + [I(203,214)] = {64,0}, + [I(204,214)] = {64,0}, + [I(205,214)] = {64,0}, + [I(206,214)] = {64,0}, + [I(207,214)] = {64,0}, + [I(208,214)] = {64,0}, + [I(209,214)] = {64,0}, + [I(210,214)] = {64,0}, + [I(211,214)] = {64,0}, + [I(212,214)] = {64,0}, + [I(213,214)] = {64,0}, + [I(214,214)] = {64,0}, + [I(215,214)] = {64,0}, + [I(216,214)] = {64,0}, + [I(217,214)] = {64,0}, + [I(218,214)] = {64,0}, + [I(219,214)] = {64,0}, + [I(220,214)] = {64,0}, + [I(221,214)] = {64,0}, + [I(222,214)] = {64,0}, + [I(223,214)] = {64,0}, + [I(224,214)] = {64,0}, + [I(225,214)] = {64,0}, + [I(226,214)] = {64,0}, + [I(227,214)] = {64,0}, + [I(228,214)] = {64,0}, + [I(229,214)] = {64,0}, + [I(230,214)] = {64,0}, + [I(231,214)] = {64,0}, + [I(232,214)] = {64,0}, + [I(233,214)] = {64,0}, + [I(234,214)] = {64,0}, + [I(235,214)] = {64,0}, + [I(236,214)] = {64,0}, + [I(237,214)] = {64,0}, + [I(238,214)] = {64,0}, + [I(239,214)] = {64,0}, + [I(240,214)] = {64,0}, + [I(241,214)] = {64,0}, + [I(242,214)] = {64,0}, + [I(243,214)] = {64,0}, + [I(244,214)] = {64,0}, + [I(245,214)] = {64,0}, + [I(246,214)] = {64,0}, + [I(247,214)] = {64,0}, + [I(248,214)] = {64,0}, + [I(249,214)] = {64,0}, + [I(250,214)] = {64,0}, + [I(251,214)] = {64,0}, + [I(252,214)] = {64,0}, + [I(253,214)] = {64,0}, + [I(254,214)] = {64,0}, + [I(255,214)] = {64,0}, + [I(0,215)] = {64,0}, + [I(1,215)] = {64,0}, + [I(2,215)] = {64,0}, + [I(3,215)] = {64,0}, + [I(4,215)] = {64,0}, + [I(5,215)] = {64,0}, + [I(6,215)] = {64,0}, + [I(7,215)] = {64,0}, + [I(8,215)] = {64,0}, + [I(9,215)] = {64,0}, + [I(10,215)] = {64,0}, + [I(11,215)] = {64,0}, + [I(12,215)] = {64,0}, + [I(13,215)] = {64,0}, + [I(14,215)] = {64,0}, + [I(15,215)] = {64,0}, + [I(16,215)] = {64,0}, + [I(17,215)] = {64,0}, + [I(18,215)] = {64,0}, + [I(19,215)] = {64,0}, + [I(20,215)] = {64,0}, + [I(21,215)] = {64,0}, + [I(22,215)] = {64,0}, + [I(23,215)] = {64,0}, + [I(24,215)] = {64,0}, + [I(25,215)] = {64,0}, + [I(26,215)] = {64,0}, + [I(27,215)] = {64,0}, + [I(28,215)] = {64,0}, + [I(29,215)] = {64,0}, + [I(30,215)] = {64,0}, + [I(31,215)] = {64,0}, + [I(32,215)] = {30,0x14FFFFF2}, + [I(33,215)] = {64,0}, + [I(34,215)] = {64,0}, + [I(35,215)] = {64,0}, + [I(36,215)] = {64,0}, + [I(37,215)] = {30,0x15FFFFF2}, + [I(38,215)] = {X32,0xF8FFFFF2}, + [I(39,215)] = {64,0}, + [I(40,215)] = {64,0}, + [I(41,215)] = {64,0}, + [I(42,215)] = {X32,0xF9FFFFF2}, + [I(43,215)] = {64,0}, + [I(44,215)] = {X32,0xFAFFFFF2}, + [I(45,215)] = {30,0x16FFFFF2}, + [I(46,215)] = {30,0x17FFFFF2}, + [I(47,215)] = {30,0x18FFFFF2}, + [I(48,215)] = {29,0xFFFFF2}, + [I(49,215)] = {29,0x1FFFFF2}, + [I(50,215)] = {29,0x2FFFFF2}, + [I(51,215)] = {30,0x19FFFFF2}, + [I(52,215)] = {30,0x1AFFFFF2}, + [I(53,215)] = {30,0x1BFFFFF2}, + [I(54,215)] = {30,0x1CFFFFF2}, + [I(55,215)] = {30,0x1DFFFFF2}, + [I(56,215)] = {30,0x1EFFFFF2}, + [I(57,215)] = {30,0x1FFFFFF2}, + [I(58,215)] = {31,0x5CFFFFF2}, + [I(59,215)] = {X32,0xFBFFFFF2}, + [I(60,215)] = {64,0}, + [I(61,215)] = {30,0x20FFFFF2}, + [I(62,215)] = {64,0}, + [I(63,215)] = {64,0}, + [I(64,215)] = {64,0}, + [I(65,215)] = {30,0x21FFFFF2}, + [I(66,215)] = {31,0x5DFFFFF2}, + [I(67,215)] = {31,0x5EFFFFF2}, + [I(68,215)] = {31,0x5FFFFFF2}, + [I(69,215)] = {31,0x60FFFFF2}, + [I(70,215)] = {31,0x61FFFFF2}, + [I(71,215)] = {31,0x62FFFFF2}, + [I(72,215)] = {31,0x63FFFFF2}, + [I(73,215)] = {31,0x64FFFFF2}, + [I(74,215)] = {31,0x65FFFFF2}, + [I(75,215)] = {31,0x66FFFFF2}, + [I(76,215)] = {31,0x67FFFFF2}, + [I(77,215)] = {31,0x68FFFFF2}, + [I(78,215)] = {31,0x69FFFFF2}, + [I(79,215)] = {31,0x6AFFFFF2}, + [I(80,215)] = {31,0x6BFFFFF2}, + [I(81,215)] = {31,0x6CFFFFF2}, + [I(82,215)] = {31,0x6DFFFFF2}, + [I(83,215)] = {31,0x6EFFFFF2}, + [I(84,215)] = {31,0x6FFFFFF2}, + [I(85,215)] = {31,0x70FFFFF2}, + [I(86,215)] = {31,0x71FFFFF2}, + [I(87,215)] = {31,0x72FFFFF2}, + [I(88,215)] = {X32,0xFCFFFFF2}, + [I(89,215)] = {31,0x73FFFFF2}, + [I(90,215)] = {X32,0xFDFFFFF2}, + [I(91,215)] = {64,0}, + [I(92,215)] = {64,0}, + [I(93,215)] = {64,0}, + [I(94,215)] = {64,0}, + [I(95,215)] = {30,0x22FFFFF2}, + [I(96,215)] = {64,0}, + [I(97,215)] = {29,0x3FFFFF2}, + [I(98,215)] = {30,0x23FFFFF2}, + [I(99,215)] = {29,0x4FFFFF2}, + [I(100,215)] = {30,0x24FFFFF2}, + [I(101,215)] = {29,0x5FFFFF2}, + [I(102,215)] = {30,0x25FFFFF2}, + [I(103,215)] = {30,0x26FFFFF2}, + [I(104,215)] = {30,0x27FFFFF2}, + [I(105,215)] = {29,0x6FFFFF2}, + [I(106,215)] = {31,0x74FFFFF2}, + [I(107,215)] = {31,0x75FFFFF2}, + [I(108,215)] = {30,0x28FFFFF2}, + [I(109,215)] = {30,0x29FFFFF2}, + [I(110,215)] = {30,0x2AFFFFF2}, + [I(111,215)] = {29,0x7FFFFF2}, + [I(112,215)] = {30,0x2BFFFFF2}, + [I(113,215)] = {31,0x76FFFFF2}, + [I(114,215)] = {30,0x2CFFFFF2}, + [I(115,215)] = {29,0x8FFFFF2}, + [I(116,215)] = {29,0x9FFFFF2}, + [I(117,215)] = {30,0x2DFFFFF2}, + [I(118,215)] = {31,0x77FFFFF2}, + [I(119,215)] = {31,0x78FFFFF2}, + [I(120,215)] = {31,0x79FFFFF2}, + [I(121,215)] = {31,0x7AFFFFF2}, + [I(122,215)] = {31,0x7BFFFFF2}, + [I(123,215)] = {64,0}, + [I(124,215)] = {64,0}, + [I(125,215)] = {64,0}, + [I(126,215)] = {64,0}, + [I(127,215)] = {64,0}, + [I(128,215)] = {64,0}, + [I(129,215)] = {64,0}, + [I(130,215)] = {64,0}, + [I(131,215)] = {64,0}, + [I(132,215)] = {64,0}, + [I(133,215)] = {64,0}, + [I(134,215)] = {64,0}, + [I(135,215)] = {64,0}, + [I(136,215)] = {64,0}, + [I(137,215)] = {64,0}, + [I(138,215)] = {64,0}, + [I(139,215)] = {64,0}, + [I(140,215)] = {64,0}, + [I(141,215)] = {64,0}, + [I(142,215)] = {64,0}, + [I(143,215)] = {64,0}, + [I(144,215)] = {64,0}, + [I(145,215)] = {64,0}, + [I(146,215)] = {64,0}, + [I(147,215)] = {64,0}, + [I(148,215)] = {64,0}, + [I(149,215)] = {64,0}, + [I(150,215)] = {64,0}, + [I(151,215)] = {64,0}, + [I(152,215)] = {64,0}, + [I(153,215)] = {64,0}, + [I(154,215)] = {64,0}, + [I(155,215)] = {64,0}, + [I(156,215)] = {64,0}, + [I(157,215)] = {64,0}, + [I(158,215)] = {64,0}, + [I(159,215)] = {64,0}, + [I(160,215)] = {64,0}, + [I(161,215)] = {64,0}, + [I(162,215)] = {64,0}, + [I(163,215)] = {64,0}, + [I(164,215)] = {64,0}, + [I(165,215)] = {64,0}, + [I(166,215)] = {64,0}, + [I(167,215)] = {64,0}, + [I(168,215)] = {64,0}, + [I(169,215)] = {64,0}, + [I(170,215)] = {64,0}, + [I(171,215)] = {64,0}, + [I(172,215)] = {64,0}, + [I(173,215)] = {64,0}, + [I(174,215)] = {64,0}, + [I(175,215)] = {64,0}, + [I(176,215)] = {64,0}, + [I(177,215)] = {64,0}, + [I(178,215)] = {64,0}, + [I(179,215)] = {64,0}, + [I(180,215)] = {64,0}, + [I(181,215)] = {64,0}, + [I(182,215)] = {64,0}, + [I(183,215)] = {64,0}, + [I(184,215)] = {64,0}, + [I(185,215)] = {64,0}, + [I(186,215)] = {64,0}, + [I(187,215)] = {64,0}, + [I(188,215)] = {64,0}, + [I(189,215)] = {64,0}, + [I(190,215)] = {64,0}, + [I(191,215)] = {64,0}, + [I(192,215)] = {64,0}, + [I(193,215)] = {64,0}, + [I(194,215)] = {64,0}, + [I(195,215)] = {64,0}, + [I(196,215)] = {64,0}, + [I(197,215)] = {64,0}, + [I(198,215)] = {64,0}, + [I(199,215)] = {64,0}, + [I(200,215)] = {64,0}, + [I(201,215)] = {64,0}, + [I(202,215)] = {64,0}, + [I(203,215)] = {64,0}, + [I(204,215)] = {64,0}, + [I(205,215)] = {64,0}, + [I(206,215)] = {64,0}, + [I(207,215)] = {64,0}, + [I(208,215)] = {64,0}, + [I(209,215)] = {64,0}, + [I(210,215)] = {64,0}, + [I(211,215)] = {64,0}, + [I(212,215)] = {64,0}, + [I(213,215)] = {64,0}, + [I(214,215)] = {64,0}, + [I(215,215)] = {64,0}, + [I(216,215)] = {64,0}, + [I(217,215)] = {64,0}, + [I(218,215)] = {64,0}, + [I(219,215)] = {64,0}, + [I(220,215)] = {64,0}, + [I(221,215)] = {64,0}, + [I(222,215)] = {64,0}, + [I(223,215)] = {64,0}, + [I(224,215)] = {64,0}, + [I(225,215)] = {64,0}, + [I(226,215)] = {64,0}, + [I(227,215)] = {64,0}, + [I(228,215)] = {64,0}, + [I(229,215)] = {64,0}, + [I(230,215)] = {64,0}, + [I(231,215)] = {64,0}, + [I(232,215)] = {64,0}, + [I(233,215)] = {64,0}, + [I(234,215)] = {64,0}, + [I(235,215)] = {64,0}, + [I(236,215)] = {64,0}, + [I(237,215)] = {64,0}, + [I(238,215)] = {64,0}, + [I(239,215)] = {64,0}, + [I(240,215)] = {64,0}, + [I(241,215)] = {64,0}, + [I(242,215)] = {64,0}, + [I(243,215)] = {64,0}, + [I(244,215)] = {64,0}, + [I(245,215)] = {64,0}, + [I(246,215)] = {64,0}, + [I(247,215)] = {64,0}, + [I(248,215)] = {64,0}, + [I(249,215)] = {64,0}, + [I(250,215)] = {64,0}, + [I(251,215)] = {64,0}, + [I(252,215)] = {64,0}, + [I(253,215)] = {64,0}, + [I(254,215)] = {64,0}, + [I(255,215)] = {64,0}, + [I(0,216)] = {64,0}, + [I(1,216)] = {64,0}, + [I(2,216)] = {64,0}, + [I(3,216)] = {64,0}, + [I(4,216)] = {64,0}, + [I(5,216)] = {64,0}, + [I(6,216)] = {64,0}, + [I(7,216)] = {64,0}, + [I(8,216)] = {64,0}, + [I(9,216)] = {64,0}, + [I(10,216)] = {64,0}, + [I(11,216)] = {64,0}, + [I(12,216)] = {64,0}, + [I(13,216)] = {64,0}, + [I(14,216)] = {64,0}, + [I(15,216)] = {64,0}, + [I(16,216)] = {64,0}, + [I(17,216)] = {64,0}, + [I(18,216)] = {64,0}, + [I(19,216)] = {64,0}, + [I(20,216)] = {64,0}, + [I(21,216)] = {64,0}, + [I(22,216)] = {64,0}, + [I(23,216)] = {64,0}, + [I(24,216)] = {64,0}, + [I(25,216)] = {64,0}, + [I(26,216)] = {64,0}, + [I(27,216)] = {64,0}, + [I(28,216)] = {64,0}, + [I(29,216)] = {64,0}, + [I(30,216)] = {64,0}, + [I(31,216)] = {64,0}, + [I(32,216)] = {27,0x29FFFE4}, + [I(33,216)] = {31,0x7F1FFFE4}, + [I(34,216)] = {31,0x7F3FFFE4}, + [I(35,216)] = {64,0}, + [I(36,216)] = {64,0}, + [I(37,216)] = {27,0x2BFFFE4}, + [I(38,216)] = {29,0x1F1FFFE4}, + [I(39,216)] = {X32,0xFF5FFFE4}, + [I(40,216)] = {31,0x7F5FFFE4}, + [I(41,216)] = {31,0x7F7FFFE4}, + [I(42,216)] = {29,0x1F3FFFE4}, + [I(43,216)] = {X32,0xFF7FFFE4}, + [I(44,216)] = {29,0x1F5FFFE4}, + [I(45,216)] = {27,0x2DFFFE4}, + [I(46,216)] = {27,0x2FFFFE4}, + [I(47,216)] = {27,0x31FFFE4}, + [I(48,216)] = {26,0x1FFFE4}, + [I(49,216)] = {26,0x3FFFE4}, + [I(50,216)] = {26,0x5FFFE4}, + [I(51,216)] = {27,0x33FFFE4}, + [I(52,216)] = {27,0x35FFFE4}, + [I(53,216)] = {27,0x37FFFE4}, + [I(54,216)] = {27,0x39FFFE4}, + [I(55,216)] = {27,0x3BFFFE4}, + [I(56,216)] = {27,0x3DFFFE4}, + [I(57,216)] = {27,0x3FFFFE4}, + [I(58,216)] = {28,0xB9FFFE4}, + [I(59,216)] = {29,0x1F7FFFE4}, + [I(60,216)] = {64,0}, + [I(61,216)] = {27,0x41FFFE4}, + [I(62,216)] = {64,0}, + [I(63,216)] = {31,0x7F9FFFE4}, + [I(64,216)] = {64,0}, + [I(65,216)] = {27,0x43FFFE4}, + [I(66,216)] = {28,0xBBFFFE4}, + [I(67,216)] = {28,0xBDFFFE4}, + [I(68,216)] = {28,0xBFFFFE4}, + [I(69,216)] = {28,0xC1FFFE4}, + [I(70,216)] = {28,0xC3FFFE4}, + [I(71,216)] = {28,0xC5FFFE4}, + [I(72,216)] = {28,0xC7FFFE4}, + [I(73,216)] = {28,0xC9FFFE4}, + [I(74,216)] = {28,0xCBFFFE4}, + [I(75,216)] = {28,0xCDFFFE4}, + [I(76,216)] = {28,0xCFFFFE4}, + [I(77,216)] = {28,0xD1FFFE4}, + [I(78,216)] = {28,0xD3FFFE4}, + [I(79,216)] = {28,0xD5FFFE4}, + [I(80,216)] = {28,0xD7FFFE4}, + [I(81,216)] = {28,0xD9FFFE4}, + [I(82,216)] = {28,0xDBFFFE4}, + [I(83,216)] = {28,0xDDFFFE4}, + [I(84,216)] = {28,0xDFFFFE4}, + [I(85,216)] = {28,0xE1FFFE4}, + [I(86,216)] = {28,0xE3FFFE4}, + [I(87,216)] = {28,0xE5FFFE4}, + [I(88,216)] = {29,0x1F9FFFE4}, + [I(89,216)] = {28,0xE7FFFE4}, + [I(90,216)] = {29,0x1FBFFFE4}, + [I(91,216)] = {64,0}, + [I(92,216)] = {64,0}, + [I(93,216)] = {64,0}, + [I(94,216)] = {64,0}, + [I(95,216)] = {27,0x45FFFE4}, + [I(96,216)] = {64,0}, + [I(97,216)] = {26,0x7FFFE4}, + [I(98,216)] = {27,0x47FFFE4}, + [I(99,216)] = {26,0x9FFFE4}, + [I(100,216)] = {27,0x49FFFE4}, + [I(101,216)] = {26,0xBFFFE4}, + [I(102,216)] = {27,0x4BFFFE4}, + [I(103,216)] = {27,0x4DFFFE4}, + [I(104,216)] = {27,0x4FFFFE4}, + [I(105,216)] = {26,0xDFFFE4}, + [I(106,216)] = {28,0xE9FFFE4}, + [I(107,216)] = {28,0xEBFFFE4}, + [I(108,216)] = {27,0x51FFFE4}, + [I(109,216)] = {27,0x53FFFE4}, + [I(110,216)] = {27,0x55FFFE4}, + [I(111,216)] = {26,0xFFFFE4}, + [I(112,216)] = {27,0x57FFFE4}, + [I(113,216)] = {28,0xEDFFFE4}, + [I(114,216)] = {27,0x59FFFE4}, + [I(115,216)] = {26,0x11FFFE4}, + [I(116,216)] = {26,0x13FFFE4}, + [I(117,216)] = {27,0x5BFFFE4}, + [I(118,216)] = {28,0xEFFFFE4}, + [I(119,216)] = {28,0xF1FFFE4}, + [I(120,216)] = {28,0xF3FFFE4}, + [I(121,216)] = {28,0xF5FFFE4}, + [I(122,216)] = {28,0xF7FFFE4}, + [I(123,216)] = {64,0}, + [I(124,216)] = {X32,0xFF9FFFE4}, + [I(125,216)] = {64,0}, + [I(126,216)] = {64,0}, + [I(127,216)] = {64,0}, + [I(128,216)] = {64,0}, + [I(129,216)] = {64,0}, + [I(130,216)] = {64,0}, + [I(131,216)] = {64,0}, + [I(132,216)] = {64,0}, + [I(133,216)] = {64,0}, + [I(134,216)] = {64,0}, + [I(135,216)] = {64,0}, + [I(136,216)] = {64,0}, + [I(137,216)] = {64,0}, + [I(138,216)] = {64,0}, + [I(139,216)] = {64,0}, + [I(140,216)] = {64,0}, + [I(141,216)] = {64,0}, + [I(142,216)] = {64,0}, + [I(143,216)] = {64,0}, + [I(144,216)] = {64,0}, + [I(145,216)] = {64,0}, + [I(146,216)] = {64,0}, + [I(147,216)] = {64,0}, + [I(148,216)] = {64,0}, + [I(149,216)] = {64,0}, + [I(150,216)] = {64,0}, + [I(151,216)] = {64,0}, + [I(152,216)] = {64,0}, + [I(153,216)] = {64,0}, + [I(154,216)] = {64,0}, + [I(155,216)] = {64,0}, + [I(156,216)] = {64,0}, + [I(157,216)] = {64,0}, + [I(158,216)] = {64,0}, + [I(159,216)] = {64,0}, + [I(160,216)] = {64,0}, + [I(161,216)] = {64,0}, + [I(162,216)] = {64,0}, + [I(163,216)] = {64,0}, + [I(164,216)] = {64,0}, + [I(165,216)] = {64,0}, + [I(166,216)] = {64,0}, + [I(167,216)] = {64,0}, + [I(168,216)] = {64,0}, + [I(169,216)] = {64,0}, + [I(170,216)] = {64,0}, + [I(171,216)] = {64,0}, + [I(172,216)] = {64,0}, + [I(173,216)] = {64,0}, + [I(174,216)] = {64,0}, + [I(175,216)] = {64,0}, + [I(176,216)] = {64,0}, + [I(177,216)] = {64,0}, + [I(178,216)] = {64,0}, + [I(179,216)] = {64,0}, + [I(180,216)] = {64,0}, + [I(181,216)] = {64,0}, + [I(182,216)] = {64,0}, + [I(183,216)] = {64,0}, + [I(184,216)] = {64,0}, + [I(185,216)] = {64,0}, + [I(186,216)] = {64,0}, + [I(187,216)] = {64,0}, + [I(188,216)] = {64,0}, + [I(189,216)] = {64,0}, + [I(190,216)] = {64,0}, + [I(191,216)] = {64,0}, + [I(192,216)] = {64,0}, + [I(193,216)] = {64,0}, + [I(194,216)] = {64,0}, + [I(195,216)] = {64,0}, + [I(196,216)] = {64,0}, + [I(197,216)] = {64,0}, + [I(198,216)] = {64,0}, + [I(199,216)] = {64,0}, + [I(200,216)] = {64,0}, + [I(201,216)] = {64,0}, + [I(202,216)] = {64,0}, + [I(203,216)] = {64,0}, + [I(204,216)] = {64,0}, + [I(205,216)] = {64,0}, + [I(206,216)] = {64,0}, + [I(207,216)] = {64,0}, + [I(208,216)] = {64,0}, + [I(209,216)] = {64,0}, + [I(210,216)] = {64,0}, + [I(211,216)] = {64,0}, + [I(212,216)] = {64,0}, + [I(213,216)] = {64,0}, + [I(214,216)] = {64,0}, + [I(215,216)] = {64,0}, + [I(216,216)] = {64,0}, + [I(217,216)] = {64,0}, + [I(218,216)] = {64,0}, + [I(219,216)] = {64,0}, + [I(220,216)] = {64,0}, + [I(221,216)] = {64,0}, + [I(222,216)] = {64,0}, + [I(223,216)] = {64,0}, + [I(224,216)] = {64,0}, + [I(225,216)] = {64,0}, + [I(226,216)] = {64,0}, + [I(227,216)] = {64,0}, + [I(228,216)] = {64,0}, + [I(229,216)] = {64,0}, + [I(230,216)] = {64,0}, + [I(231,216)] = {64,0}, + [I(232,216)] = {64,0}, + [I(233,216)] = {64,0}, + [I(234,216)] = {64,0}, + [I(235,216)] = {64,0}, + [I(236,216)] = {64,0}, + [I(237,216)] = {64,0}, + [I(238,216)] = {64,0}, + [I(239,216)] = {64,0}, + [I(240,216)] = {64,0}, + [I(241,216)] = {64,0}, + [I(242,216)] = {64,0}, + [I(243,216)] = {64,0}, + [I(244,216)] = {64,0}, + [I(245,216)] = {64,0}, + [I(246,216)] = {64,0}, + [I(247,216)] = {64,0}, + [I(248,216)] = {64,0}, + [I(249,216)] = {64,0}, + [I(250,216)] = {64,0}, + [I(251,216)] = {64,0}, + [I(252,216)] = {64,0}, + [I(253,216)] = {64,0}, + [I(254,216)] = {64,0}, + [I(255,216)] = {64,0}, + [I(0,217)] = {64,0}, + [I(1,217)] = {64,0}, + [I(2,217)] = {64,0}, + [I(3,217)] = {64,0}, + [I(4,217)] = {64,0}, + [I(5,217)] = {64,0}, + [I(6,217)] = {64,0}, + [I(7,217)] = {64,0}, + [I(8,217)] = {64,0}, + [I(9,217)] = {64,0}, + [I(10,217)] = {64,0}, + [I(11,217)] = {64,0}, + [I(12,217)] = {64,0}, + [I(13,217)] = {64,0}, + [I(14,217)] = {64,0}, + [I(15,217)] = {64,0}, + [I(16,217)] = {64,0}, + [I(17,217)] = {64,0}, + [I(18,217)] = {64,0}, + [I(19,217)] = {64,0}, + [I(20,217)] = {64,0}, + [I(21,217)] = {64,0}, + [I(22,217)] = {64,0}, + [I(23,217)] = {64,0}, + [I(24,217)] = {64,0}, + [I(25,217)] = {64,0}, + [I(26,217)] = {64,0}, + [I(27,217)] = {64,0}, + [I(28,217)] = {64,0}, + [I(29,217)] = {64,0}, + [I(30,217)] = {64,0}, + [I(31,217)] = {64,0}, + [I(32,217)] = {27,0x29FFFE5}, + [I(33,217)] = {31,0x7F1FFFE5}, + [I(34,217)] = {31,0x7F3FFFE5}, + [I(35,217)] = {64,0}, + [I(36,217)] = {64,0}, + [I(37,217)] = {27,0x2BFFFE5}, + [I(38,217)] = {29,0x1F1FFFE5}, + [I(39,217)] = {X32,0xFF5FFFE5}, + [I(40,217)] = {31,0x7F5FFFE5}, + [I(41,217)] = {31,0x7F7FFFE5}, + [I(42,217)] = {29,0x1F3FFFE5}, + [I(43,217)] = {X32,0xFF7FFFE5}, + [I(44,217)] = {29,0x1F5FFFE5}, + [I(45,217)] = {27,0x2DFFFE5}, + [I(46,217)] = {27,0x2FFFFE5}, + [I(47,217)] = {27,0x31FFFE5}, + [I(48,217)] = {26,0x1FFFE5}, + [I(49,217)] = {26,0x3FFFE5}, + [I(50,217)] = {26,0x5FFFE5}, + [I(51,217)] = {27,0x33FFFE5}, + [I(52,217)] = {27,0x35FFFE5}, + [I(53,217)] = {27,0x37FFFE5}, + [I(54,217)] = {27,0x39FFFE5}, + [I(55,217)] = {27,0x3BFFFE5}, + [I(56,217)] = {27,0x3DFFFE5}, + [I(57,217)] = {27,0x3FFFFE5}, + [I(58,217)] = {28,0xB9FFFE5}, + [I(59,217)] = {29,0x1F7FFFE5}, + [I(60,217)] = {64,0}, + [I(61,217)] = {27,0x41FFFE5}, + [I(62,217)] = {64,0}, + [I(63,217)] = {31,0x7F9FFFE5}, + [I(64,217)] = {64,0}, + [I(65,217)] = {27,0x43FFFE5}, + [I(66,217)] = {28,0xBBFFFE5}, + [I(67,217)] = {28,0xBDFFFE5}, + [I(68,217)] = {28,0xBFFFFE5}, + [I(69,217)] = {28,0xC1FFFE5}, + [I(70,217)] = {28,0xC3FFFE5}, + [I(71,217)] = {28,0xC5FFFE5}, + [I(72,217)] = {28,0xC7FFFE5}, + [I(73,217)] = {28,0xC9FFFE5}, + [I(74,217)] = {28,0xCBFFFE5}, + [I(75,217)] = {28,0xCDFFFE5}, + [I(76,217)] = {28,0xCFFFFE5}, + [I(77,217)] = {28,0xD1FFFE5}, + [I(78,217)] = {28,0xD3FFFE5}, + [I(79,217)] = {28,0xD5FFFE5}, + [I(80,217)] = {28,0xD7FFFE5}, + [I(81,217)] = {28,0xD9FFFE5}, + [I(82,217)] = {28,0xDBFFFE5}, + [I(83,217)] = {28,0xDDFFFE5}, + [I(84,217)] = {28,0xDFFFFE5}, + [I(85,217)] = {28,0xE1FFFE5}, + [I(86,217)] = {28,0xE3FFFE5}, + [I(87,217)] = {28,0xE5FFFE5}, + [I(88,217)] = {29,0x1F9FFFE5}, + [I(89,217)] = {28,0xE7FFFE5}, + [I(90,217)] = {29,0x1FBFFFE5}, + [I(91,217)] = {64,0}, + [I(92,217)] = {64,0}, + [I(93,217)] = {64,0}, + [I(94,217)] = {64,0}, + [I(95,217)] = {27,0x45FFFE5}, + [I(96,217)] = {64,0}, + [I(97,217)] = {26,0x7FFFE5}, + [I(98,217)] = {27,0x47FFFE5}, + [I(99,217)] = {26,0x9FFFE5}, + [I(100,217)] = {27,0x49FFFE5}, + [I(101,217)] = {26,0xBFFFE5}, + [I(102,217)] = {27,0x4BFFFE5}, + [I(103,217)] = {27,0x4DFFFE5}, + [I(104,217)] = {27,0x4FFFFE5}, + [I(105,217)] = {26,0xDFFFE5}, + [I(106,217)] = {28,0xE9FFFE5}, + [I(107,217)] = {28,0xEBFFFE5}, + [I(108,217)] = {27,0x51FFFE5}, + [I(109,217)] = {27,0x53FFFE5}, + [I(110,217)] = {27,0x55FFFE5}, + [I(111,217)] = {26,0xFFFFE5}, + [I(112,217)] = {27,0x57FFFE5}, + [I(113,217)] = {28,0xEDFFFE5}, + [I(114,217)] = {27,0x59FFFE5}, + [I(115,217)] = {26,0x11FFFE5}, + [I(116,217)] = {26,0x13FFFE5}, + [I(117,217)] = {27,0x5BFFFE5}, + [I(118,217)] = {28,0xEFFFFE5}, + [I(119,217)] = {28,0xF1FFFE5}, + [I(120,217)] = {28,0xF3FFFE5}, + [I(121,217)] = {28,0xF5FFFE5}, + [I(122,217)] = {28,0xF7FFFE5}, + [I(123,217)] = {64,0}, + [I(124,217)] = {X32,0xFF9FFFE5}, + [I(125,217)] = {64,0}, + [I(126,217)] = {64,0}, + [I(127,217)] = {64,0}, + [I(128,217)] = {64,0}, + [I(129,217)] = {64,0}, + [I(130,217)] = {64,0}, + [I(131,217)] = {64,0}, + [I(132,217)] = {64,0}, + [I(133,217)] = {64,0}, + [I(134,217)] = {64,0}, + [I(135,217)] = {64,0}, + [I(136,217)] = {64,0}, + [I(137,217)] = {64,0}, + [I(138,217)] = {64,0}, + [I(139,217)] = {64,0}, + [I(140,217)] = {64,0}, + [I(141,217)] = {64,0}, + [I(142,217)] = {64,0}, + [I(143,217)] = {64,0}, + [I(144,217)] = {64,0}, + [I(145,217)] = {64,0}, + [I(146,217)] = {64,0}, + [I(147,217)] = {64,0}, + [I(148,217)] = {64,0}, + [I(149,217)] = {64,0}, + [I(150,217)] = {64,0}, + [I(151,217)] = {64,0}, + [I(152,217)] = {64,0}, + [I(153,217)] = {64,0}, + [I(154,217)] = {64,0}, + [I(155,217)] = {64,0}, + [I(156,217)] = {64,0}, + [I(157,217)] = {64,0}, + [I(158,217)] = {64,0}, + [I(159,217)] = {64,0}, + [I(160,217)] = {64,0}, + [I(161,217)] = {64,0}, + [I(162,217)] = {64,0}, + [I(163,217)] = {64,0}, + [I(164,217)] = {64,0}, + [I(165,217)] = {64,0}, + [I(166,217)] = {64,0}, + [I(167,217)] = {64,0}, + [I(168,217)] = {64,0}, + [I(169,217)] = {64,0}, + [I(170,217)] = {64,0}, + [I(171,217)] = {64,0}, + [I(172,217)] = {64,0}, + [I(173,217)] = {64,0}, + [I(174,217)] = {64,0}, + [I(175,217)] = {64,0}, + [I(176,217)] = {64,0}, + [I(177,217)] = {64,0}, + [I(178,217)] = {64,0}, + [I(179,217)] = {64,0}, + [I(180,217)] = {64,0}, + [I(181,217)] = {64,0}, + [I(182,217)] = {64,0}, + [I(183,217)] = {64,0}, + [I(184,217)] = {64,0}, + [I(185,217)] = {64,0}, + [I(186,217)] = {64,0}, + [I(187,217)] = {64,0}, + [I(188,217)] = {64,0}, + [I(189,217)] = {64,0}, + [I(190,217)] = {64,0}, + [I(191,217)] = {64,0}, + [I(192,217)] = {64,0}, + [I(193,217)] = {64,0}, + [I(194,217)] = {64,0}, + [I(195,217)] = {64,0}, + [I(196,217)] = {64,0}, + [I(197,217)] = {64,0}, + [I(198,217)] = {64,0}, + [I(199,217)] = {64,0}, + [I(200,217)] = {64,0}, + [I(201,217)] = {64,0}, + [I(202,217)] = {64,0}, + [I(203,217)] = {64,0}, + [I(204,217)] = {64,0}, + [I(205,217)] = {64,0}, + [I(206,217)] = {64,0}, + [I(207,217)] = {64,0}, + [I(208,217)] = {64,0}, + [I(209,217)] = {64,0}, + [I(210,217)] = {64,0}, + [I(211,217)] = {64,0}, + [I(212,217)] = {64,0}, + [I(213,217)] = {64,0}, + [I(214,217)] = {64,0}, + [I(215,217)] = {64,0}, + [I(216,217)] = {64,0}, + [I(217,217)] = {64,0}, + [I(218,217)] = {64,0}, + [I(219,217)] = {64,0}, + [I(220,217)] = {64,0}, + [I(221,217)] = {64,0}, + [I(222,217)] = {64,0}, + [I(223,217)] = {64,0}, + [I(224,217)] = {64,0}, + [I(225,217)] = {64,0}, + [I(226,217)] = {64,0}, + [I(227,217)] = {64,0}, + [I(228,217)] = {64,0}, + [I(229,217)] = {64,0}, + [I(230,217)] = {64,0}, + [I(231,217)] = {64,0}, + [I(232,217)] = {64,0}, + [I(233,217)] = {64,0}, + [I(234,217)] = {64,0}, + [I(235,217)] = {64,0}, + [I(236,217)] = {64,0}, + [I(237,217)] = {64,0}, + [I(238,217)] = {64,0}, + [I(239,217)] = {64,0}, + [I(240,217)] = {64,0}, + [I(241,217)] = {64,0}, + [I(242,217)] = {64,0}, + [I(243,217)] = {64,0}, + [I(244,217)] = {64,0}, + [I(245,217)] = {64,0}, + [I(246,217)] = {64,0}, + [I(247,217)] = {64,0}, + [I(248,217)] = {64,0}, + [I(249,217)] = {64,0}, + [I(250,217)] = {64,0}, + [I(251,217)] = {64,0}, + [I(252,217)] = {64,0}, + [I(253,217)] = {64,0}, + [I(254,217)] = {64,0}, + [I(255,217)] = {64,0}, + [I(0,218)] = {64,0}, + [I(1,218)] = {64,0}, + [I(2,218)] = {64,0}, + [I(3,218)] = {64,0}, + [I(4,218)] = {64,0}, + [I(5,218)] = {64,0}, + [I(6,218)] = {64,0}, + [I(7,218)] = {64,0}, + [I(8,218)] = {64,0}, + [I(9,218)] = {64,0}, + [I(10,218)] = {64,0}, + [I(11,218)] = {64,0}, + [I(12,218)] = {64,0}, + [I(13,218)] = {64,0}, + [I(14,218)] = {64,0}, + [I(15,218)] = {64,0}, + [I(16,218)] = {64,0}, + [I(17,218)] = {64,0}, + [I(18,218)] = {64,0}, + [I(19,218)] = {64,0}, + [I(20,218)] = {64,0}, + [I(21,218)] = {64,0}, + [I(22,218)] = {64,0}, + [I(23,218)] = {64,0}, + [I(24,218)] = {64,0}, + [I(25,218)] = {64,0}, + [I(26,218)] = {64,0}, + [I(27,218)] = {64,0}, + [I(28,218)] = {64,0}, + [I(29,218)] = {64,0}, + [I(30,218)] = {64,0}, + [I(31,218)] = {64,0}, + [I(32,218)] = {X32,0x53FFFFE8}, + [I(33,218)] = {64,0}, + [I(34,218)] = {64,0}, + [I(35,218)] = {64,0}, + [I(36,218)] = {64,0}, + [I(37,218)] = {X32,0x57FFFFE8}, + [I(38,218)] = {64,0}, + [I(39,218)] = {64,0}, + [I(40,218)] = {64,0}, + [I(41,218)] = {64,0}, + [I(42,218)] = {64,0}, + [I(43,218)] = {64,0}, + [I(44,218)] = {64,0}, + [I(45,218)] = {X32,0x5BFFFFE8}, + [I(46,218)] = {X32,0x5FFFFFE8}, + [I(47,218)] = {X32,0x63FFFFE8}, + [I(48,218)] = {31,0x3FFFFE8}, + [I(49,218)] = {31,0x7FFFFE8}, + [I(50,218)] = {31,0xBFFFFE8}, + [I(51,218)] = {X32,0x67FFFFE8}, + [I(52,218)] = {X32,0x6BFFFFE8}, + [I(53,218)] = {X32,0x6FFFFFE8}, + [I(54,218)] = {X32,0x73FFFFE8}, + [I(55,218)] = {X32,0x77FFFFE8}, + [I(56,218)] = {X32,0x7BFFFFE8}, + [I(57,218)] = {X32,0x7FFFFFE8}, + [I(58,218)] = {64,0}, + [I(59,218)] = {64,0}, + [I(60,218)] = {64,0}, + [I(61,218)] = {X32,0x83FFFFE8}, + [I(62,218)] = {64,0}, + [I(63,218)] = {64,0}, + [I(64,218)] = {64,0}, + [I(65,218)] = {X32,0x87FFFFE8}, + [I(66,218)] = {64,0}, + [I(67,218)] = {64,0}, + [I(68,218)] = {64,0}, + [I(69,218)] = {64,0}, + [I(70,218)] = {64,0}, + [I(71,218)] = {64,0}, + [I(72,218)] = {64,0}, + [I(73,218)] = {64,0}, + [I(74,218)] = {64,0}, + [I(75,218)] = {64,0}, + [I(76,218)] = {64,0}, + [I(77,218)] = {64,0}, + [I(78,218)] = {64,0}, + [I(79,218)] = {64,0}, + [I(80,218)] = {64,0}, + [I(81,218)] = {64,0}, + [I(82,218)] = {64,0}, + [I(83,218)] = {64,0}, + [I(84,218)] = {64,0}, + [I(85,218)] = {64,0}, + [I(86,218)] = {64,0}, + [I(87,218)] = {64,0}, + [I(88,218)] = {64,0}, + [I(89,218)] = {64,0}, + [I(90,218)] = {64,0}, + [I(91,218)] = {64,0}, + [I(92,218)] = {64,0}, + [I(93,218)] = {64,0}, + [I(94,218)] = {64,0}, + [I(95,218)] = {X32,0x8BFFFFE8}, + [I(96,218)] = {64,0}, + [I(97,218)] = {31,0xFFFFFE8}, + [I(98,218)] = {X32,0x8FFFFFE8}, + [I(99,218)] = {31,0x13FFFFE8}, + [I(100,218)] = {X32,0x93FFFFE8}, + [I(101,218)] = {31,0x17FFFFE8}, + [I(102,218)] = {X32,0x97FFFFE8}, + [I(103,218)] = {X32,0x9BFFFFE8}, + [I(104,218)] = {X32,0x9FFFFFE8}, + [I(105,218)] = {31,0x1BFFFFE8}, + [I(106,218)] = {64,0}, + [I(107,218)] = {64,0}, + [I(108,218)] = {X32,0xA3FFFFE8}, + [I(109,218)] = {X32,0xA7FFFFE8}, + [I(110,218)] = {X32,0xABFFFFE8}, + [I(111,218)] = {31,0x1FFFFFE8}, + [I(112,218)] = {X32,0xAFFFFFE8}, + [I(113,218)] = {64,0}, + [I(114,218)] = {X32,0xB3FFFFE8}, + [I(115,218)] = {31,0x23FFFFE8}, + [I(116,218)] = {31,0x27FFFFE8}, + [I(117,218)] = {X32,0xB7FFFFE8}, + [I(118,218)] = {64,0}, + [I(119,218)] = {64,0}, + [I(120,218)] = {64,0}, + [I(121,218)] = {64,0}, + [I(122,218)] = {64,0}, + [I(123,218)] = {64,0}, + [I(124,218)] = {64,0}, + [I(125,218)] = {64,0}, + [I(126,218)] = {64,0}, + [I(127,218)] = {64,0}, + [I(128,218)] = {64,0}, + [I(129,218)] = {64,0}, + [I(130,218)] = {64,0}, + [I(131,218)] = {64,0}, + [I(132,218)] = {64,0}, + [I(133,218)] = {64,0}, + [I(134,218)] = {64,0}, + [I(135,218)] = {64,0}, + [I(136,218)] = {64,0}, + [I(137,218)] = {64,0}, + [I(138,218)] = {64,0}, + [I(139,218)] = {64,0}, + [I(140,218)] = {64,0}, + [I(141,218)] = {64,0}, + [I(142,218)] = {64,0}, + [I(143,218)] = {64,0}, + [I(144,218)] = {64,0}, + [I(145,218)] = {64,0}, + [I(146,218)] = {64,0}, + [I(147,218)] = {64,0}, + [I(148,218)] = {64,0}, + [I(149,218)] = {64,0}, + [I(150,218)] = {64,0}, + [I(151,218)] = {64,0}, + [I(152,218)] = {64,0}, + [I(153,218)] = {64,0}, + [I(154,218)] = {64,0}, + [I(155,218)] = {64,0}, + [I(156,218)] = {64,0}, + [I(157,218)] = {64,0}, + [I(158,218)] = {64,0}, + [I(159,218)] = {64,0}, + [I(160,218)] = {64,0}, + [I(161,218)] = {64,0}, + [I(162,218)] = {64,0}, + [I(163,218)] = {64,0}, + [I(164,218)] = {64,0}, + [I(165,218)] = {64,0}, + [I(166,218)] = {64,0}, + [I(167,218)] = {64,0}, + [I(168,218)] = {64,0}, + [I(169,218)] = {64,0}, + [I(170,218)] = {64,0}, + [I(171,218)] = {64,0}, + [I(172,218)] = {64,0}, + [I(173,218)] = {64,0}, + [I(174,218)] = {64,0}, + [I(175,218)] = {64,0}, + [I(176,218)] = {64,0}, + [I(177,218)] = {64,0}, + [I(178,218)] = {64,0}, + [I(179,218)] = {64,0}, + [I(180,218)] = {64,0}, + [I(181,218)] = {64,0}, + [I(182,218)] = {64,0}, + [I(183,218)] = {64,0}, + [I(184,218)] = {64,0}, + [I(185,218)] = {64,0}, + [I(186,218)] = {64,0}, + [I(187,218)] = {64,0}, + [I(188,218)] = {64,0}, + [I(189,218)] = {64,0}, + [I(190,218)] = {64,0}, + [I(191,218)] = {64,0}, + [I(192,218)] = {64,0}, + [I(193,218)] = {64,0}, + [I(194,218)] = {64,0}, + [I(195,218)] = {64,0}, + [I(196,218)] = {64,0}, + [I(197,218)] = {64,0}, + [I(198,218)] = {64,0}, + [I(199,218)] = {64,0}, + [I(200,218)] = {64,0}, + [I(201,218)] = {64,0}, + [I(202,218)] = {64,0}, + [I(203,218)] = {64,0}, + [I(204,218)] = {64,0}, + [I(205,218)] = {64,0}, + [I(206,218)] = {64,0}, + [I(207,218)] = {64,0}, + [I(208,218)] = {64,0}, + [I(209,218)] = {64,0}, + [I(210,218)] = {64,0}, + [I(211,218)] = {64,0}, + [I(212,218)] = {64,0}, + [I(213,218)] = {64,0}, + [I(214,218)] = {64,0}, + [I(215,218)] = {64,0}, + [I(216,218)] = {64,0}, + [I(217,218)] = {64,0}, + [I(218,218)] = {64,0}, + [I(219,218)] = {64,0}, + [I(220,218)] = {64,0}, + [I(221,218)] = {64,0}, + [I(222,218)] = {64,0}, + [I(223,218)] = {64,0}, + [I(224,218)] = {64,0}, + [I(225,218)] = {64,0}, + [I(226,218)] = {64,0}, + [I(227,218)] = {64,0}, + [I(228,218)] = {64,0}, + [I(229,218)] = {64,0}, + [I(230,218)] = {64,0}, + [I(231,218)] = {64,0}, + [I(232,218)] = {64,0}, + [I(233,218)] = {64,0}, + [I(234,218)] = {64,0}, + [I(235,218)] = {64,0}, + [I(236,218)] = {64,0}, + [I(237,218)] = {64,0}, + [I(238,218)] = {64,0}, + [I(239,218)] = {64,0}, + [I(240,218)] = {64,0}, + [I(241,218)] = {64,0}, + [I(242,218)] = {64,0}, + [I(243,218)] = {64,0}, + [I(244,218)] = {64,0}, + [I(245,218)] = {64,0}, + [I(246,218)] = {64,0}, + [I(247,218)] = {64,0}, + [I(248,218)] = {64,0}, + [I(249,218)] = {64,0}, + [I(250,218)] = {64,0}, + [I(251,218)] = {64,0}, + [I(252,218)] = {64,0}, + [I(253,218)] = {64,0}, + [I(254,218)] = {64,0}, + [I(255,218)] = {64,0}, + [I(0,219)] = {64,0}, + [I(1,219)] = {64,0}, + [I(2,219)] = {64,0}, + [I(3,219)] = {64,0}, + [I(4,219)] = {64,0}, + [I(5,219)] = {64,0}, + [I(6,219)] = {64,0}, + [I(7,219)] = {64,0}, + [I(8,219)] = {64,0}, + [I(9,219)] = {64,0}, + [I(10,219)] = {64,0}, + [I(11,219)] = {64,0}, + [I(12,219)] = {64,0}, + [I(13,219)] = {64,0}, + [I(14,219)] = {64,0}, + [I(15,219)] = {64,0}, + [I(16,219)] = {64,0}, + [I(17,219)] = {64,0}, + [I(18,219)] = {64,0}, + [I(19,219)] = {64,0}, + [I(20,219)] = {64,0}, + [I(21,219)] = {64,0}, + [I(22,219)] = {64,0}, + [I(23,219)] = {64,0}, + [I(24,219)] = {64,0}, + [I(25,219)] = {64,0}, + [I(26,219)] = {64,0}, + [I(27,219)] = {64,0}, + [I(28,219)] = {64,0}, + [I(29,219)] = {64,0}, + [I(30,219)] = {64,0}, + [I(31,219)] = {64,0}, + [I(32,219)] = {X32,0x53FFFFE9}, + [I(33,219)] = {64,0}, + [I(34,219)] = {64,0}, + [I(35,219)] = {64,0}, + [I(36,219)] = {64,0}, + [I(37,219)] = {X32,0x57FFFFE9}, + [I(38,219)] = {64,0}, + [I(39,219)] = {64,0}, + [I(40,219)] = {64,0}, + [I(41,219)] = {64,0}, + [I(42,219)] = {64,0}, + [I(43,219)] = {64,0}, + [I(44,219)] = {64,0}, + [I(45,219)] = {X32,0x5BFFFFE9}, + [I(46,219)] = {X32,0x5FFFFFE9}, + [I(47,219)] = {X32,0x63FFFFE9}, + [I(48,219)] = {31,0x3FFFFE9}, + [I(49,219)] = {31,0x7FFFFE9}, + [I(50,219)] = {31,0xBFFFFE9}, + [I(51,219)] = {X32,0x67FFFFE9}, + [I(52,219)] = {X32,0x6BFFFFE9}, + [I(53,219)] = {X32,0x6FFFFFE9}, + [I(54,219)] = {X32,0x73FFFFE9}, + [I(55,219)] = {X32,0x77FFFFE9}, + [I(56,219)] = {X32,0x7BFFFFE9}, + [I(57,219)] = {X32,0x7FFFFFE9}, + [I(58,219)] = {64,0}, + [I(59,219)] = {64,0}, + [I(60,219)] = {64,0}, + [I(61,219)] = {X32,0x83FFFFE9}, + [I(62,219)] = {64,0}, + [I(63,219)] = {64,0}, + [I(64,219)] = {64,0}, + [I(65,219)] = {X32,0x87FFFFE9}, + [I(66,219)] = {64,0}, + [I(67,219)] = {64,0}, + [I(68,219)] = {64,0}, + [I(69,219)] = {64,0}, + [I(70,219)] = {64,0}, + [I(71,219)] = {64,0}, + [I(72,219)] = {64,0}, + [I(73,219)] = {64,0}, + [I(74,219)] = {64,0}, + [I(75,219)] = {64,0}, + [I(76,219)] = {64,0}, + [I(77,219)] = {64,0}, + [I(78,219)] = {64,0}, + [I(79,219)] = {64,0}, + [I(80,219)] = {64,0}, + [I(81,219)] = {64,0}, + [I(82,219)] = {64,0}, + [I(83,219)] = {64,0}, + [I(84,219)] = {64,0}, + [I(85,219)] = {64,0}, + [I(86,219)] = {64,0}, + [I(87,219)] = {64,0}, + [I(88,219)] = {64,0}, + [I(89,219)] = {64,0}, + [I(90,219)] = {64,0}, + [I(91,219)] = {64,0}, + [I(92,219)] = {64,0}, + [I(93,219)] = {64,0}, + [I(94,219)] = {64,0}, + [I(95,219)] = {X32,0x8BFFFFE9}, + [I(96,219)] = {64,0}, + [I(97,219)] = {31,0xFFFFFE9}, + [I(98,219)] = {X32,0x8FFFFFE9}, + [I(99,219)] = {31,0x13FFFFE9}, + [I(100,219)] = {X32,0x93FFFFE9}, + [I(101,219)] = {31,0x17FFFFE9}, + [I(102,219)] = {X32,0x97FFFFE9}, + [I(103,219)] = {X32,0x9BFFFFE9}, + [I(104,219)] = {X32,0x9FFFFFE9}, + [I(105,219)] = {31,0x1BFFFFE9}, + [I(106,219)] = {64,0}, + [I(107,219)] = {64,0}, + [I(108,219)] = {X32,0xA3FFFFE9}, + [I(109,219)] = {X32,0xA7FFFFE9}, + [I(110,219)] = {X32,0xABFFFFE9}, + [I(111,219)] = {31,0x1FFFFFE9}, + [I(112,219)] = {X32,0xAFFFFFE9}, + [I(113,219)] = {64,0}, + [I(114,219)] = {X32,0xB3FFFFE9}, + [I(115,219)] = {31,0x23FFFFE9}, + [I(116,219)] = {31,0x27FFFFE9}, + [I(117,219)] = {X32,0xB7FFFFE9}, + [I(118,219)] = {64,0}, + [I(119,219)] = {64,0}, + [I(120,219)] = {64,0}, + [I(121,219)] = {64,0}, + [I(122,219)] = {64,0}, + [I(123,219)] = {64,0}, + [I(124,219)] = {64,0}, + [I(125,219)] = {64,0}, + [I(126,219)] = {64,0}, + [I(127,219)] = {64,0}, + [I(128,219)] = {64,0}, + [I(129,219)] = {64,0}, + [I(130,219)] = {64,0}, + [I(131,219)] = {64,0}, + [I(132,219)] = {64,0}, + [I(133,219)] = {64,0}, + [I(134,219)] = {64,0}, + [I(135,219)] = {64,0}, + [I(136,219)] = {64,0}, + [I(137,219)] = {64,0}, + [I(138,219)] = {64,0}, + [I(139,219)] = {64,0}, + [I(140,219)] = {64,0}, + [I(141,219)] = {64,0}, + [I(142,219)] = {64,0}, + [I(143,219)] = {64,0}, + [I(144,219)] = {64,0}, + [I(145,219)] = {64,0}, + [I(146,219)] = {64,0}, + [I(147,219)] = {64,0}, + [I(148,219)] = {64,0}, + [I(149,219)] = {64,0}, + [I(150,219)] = {64,0}, + [I(151,219)] = {64,0}, + [I(152,219)] = {64,0}, + [I(153,219)] = {64,0}, + [I(154,219)] = {64,0}, + [I(155,219)] = {64,0}, + [I(156,219)] = {64,0}, + [I(157,219)] = {64,0}, + [I(158,219)] = {64,0}, + [I(159,219)] = {64,0}, + [I(160,219)] = {64,0}, + [I(161,219)] = {64,0}, + [I(162,219)] = {64,0}, + [I(163,219)] = {64,0}, + [I(164,219)] = {64,0}, + [I(165,219)] = {64,0}, + [I(166,219)] = {64,0}, + [I(167,219)] = {64,0}, + [I(168,219)] = {64,0}, + [I(169,219)] = {64,0}, + [I(170,219)] = {64,0}, + [I(171,219)] = {64,0}, + [I(172,219)] = {64,0}, + [I(173,219)] = {64,0}, + [I(174,219)] = {64,0}, + [I(175,219)] = {64,0}, + [I(176,219)] = {64,0}, + [I(177,219)] = {64,0}, + [I(178,219)] = {64,0}, + [I(179,219)] = {64,0}, + [I(180,219)] = {64,0}, + [I(181,219)] = {64,0}, + [I(182,219)] = {64,0}, + [I(183,219)] = {64,0}, + [I(184,219)] = {64,0}, + [I(185,219)] = {64,0}, + [I(186,219)] = {64,0}, + [I(187,219)] = {64,0}, + [I(188,219)] = {64,0}, + [I(189,219)] = {64,0}, + [I(190,219)] = {64,0}, + [I(191,219)] = {64,0}, + [I(192,219)] = {64,0}, + [I(193,219)] = {64,0}, + [I(194,219)] = {64,0}, + [I(195,219)] = {64,0}, + [I(196,219)] = {64,0}, + [I(197,219)] = {64,0}, + [I(198,219)] = {64,0}, + [I(199,219)] = {64,0}, + [I(200,219)] = {64,0}, + [I(201,219)] = {64,0}, + [I(202,219)] = {64,0}, + [I(203,219)] = {64,0}, + [I(204,219)] = {64,0}, + [I(205,219)] = {64,0}, + [I(206,219)] = {64,0}, + [I(207,219)] = {64,0}, + [I(208,219)] = {64,0}, + [I(209,219)] = {64,0}, + [I(210,219)] = {64,0}, + [I(211,219)] = {64,0}, + [I(212,219)] = {64,0}, + [I(213,219)] = {64,0}, + [I(214,219)] = {64,0}, + [I(215,219)] = {64,0}, + [I(216,219)] = {64,0}, + [I(217,219)] = {64,0}, + [I(218,219)] = {64,0}, + [I(219,219)] = {64,0}, + [I(220,219)] = {64,0}, + [I(221,219)] = {64,0}, + [I(222,219)] = {64,0}, + [I(223,219)] = {64,0}, + [I(224,219)] = {64,0}, + [I(225,219)] = {64,0}, + [I(226,219)] = {64,0}, + [I(227,219)] = {64,0}, + [I(228,219)] = {64,0}, + [I(229,219)] = {64,0}, + [I(230,219)] = {64,0}, + [I(231,219)] = {64,0}, + [I(232,219)] = {64,0}, + [I(233,219)] = {64,0}, + [I(234,219)] = {64,0}, + [I(235,219)] = {64,0}, + [I(236,219)] = {64,0}, + [I(237,219)] = {64,0}, + [I(238,219)] = {64,0}, + [I(239,219)] = {64,0}, + [I(240,219)] = {64,0}, + [I(241,219)] = {64,0}, + [I(242,219)] = {64,0}, + [I(243,219)] = {64,0}, + [I(244,219)] = {64,0}, + [I(245,219)] = {64,0}, + [I(246,219)] = {64,0}, + [I(247,219)] = {64,0}, + [I(248,219)] = {64,0}, + [I(249,219)] = {64,0}, + [I(250,219)] = {64,0}, + [I(251,219)] = {64,0}, + [I(252,219)] = {64,0}, + [I(253,219)] = {64,0}, + [I(254,219)] = {64,0}, + [I(255,219)] = {64,0}, + [I(0,220)] = {64,0}, + [I(1,220)] = {64,0}, + [I(2,220)] = {64,0}, + [I(3,220)] = {64,0}, + [I(4,220)] = {64,0}, + [I(5,220)] = {64,0}, + [I(6,220)] = {64,0}, + [I(7,220)] = {64,0}, + [I(8,220)] = {64,0}, + [I(9,220)] = {64,0}, + [I(10,220)] = {64,0}, + [I(11,220)] = {64,0}, + [I(12,220)] = {64,0}, + [I(13,220)] = {64,0}, + [I(14,220)] = {64,0}, + [I(15,220)] = {64,0}, + [I(16,220)] = {64,0}, + [I(17,220)] = {64,0}, + [I(18,220)] = {64,0}, + [I(19,220)] = {64,0}, + [I(20,220)] = {64,0}, + [I(21,220)] = {64,0}, + [I(22,220)] = {64,0}, + [I(23,220)] = {64,0}, + [I(24,220)] = {64,0}, + [I(25,220)] = {64,0}, + [I(26,220)] = {64,0}, + [I(27,220)] = {64,0}, + [I(28,220)] = {64,0}, + [I(29,220)] = {64,0}, + [I(30,220)] = {64,0}, + [I(31,220)] = {64,0}, + [I(32,220)] = {64,0}, + [I(33,220)] = {64,0}, + [I(34,220)] = {64,0}, + [I(35,220)] = {64,0}, + [I(36,220)] = {64,0}, + [I(37,220)] = {64,0}, + [I(38,220)] = {64,0}, + [I(39,220)] = {64,0}, + [I(40,220)] = {64,0}, + [I(41,220)] = {64,0}, + [I(42,220)] = {64,0}, + [I(43,220)] = {64,0}, + [I(44,220)] = {64,0}, + [I(45,220)] = {64,0}, + [I(46,220)] = {64,0}, + [I(47,220)] = {64,0}, + [I(48,220)] = {64,0}, + [I(49,220)] = {64,0}, + [I(50,220)] = {64,0}, + [I(51,220)] = {64,0}, + [I(52,220)] = {64,0}, + [I(53,220)] = {64,0}, + [I(54,220)] = {64,0}, + [I(55,220)] = {64,0}, + [I(56,220)] = {64,0}, + [I(57,220)] = {64,0}, + [I(58,220)] = {64,0}, + [I(59,220)] = {64,0}, + [I(60,220)] = {64,0}, + [I(61,220)] = {64,0}, + [I(62,220)] = {64,0}, + [I(63,220)] = {64,0}, + [I(64,220)] = {64,0}, + [I(65,220)] = {64,0}, + [I(66,220)] = {64,0}, + [I(67,220)] = {64,0}, + [I(68,220)] = {64,0}, + [I(69,220)] = {64,0}, + [I(70,220)] = {64,0}, + [I(71,220)] = {64,0}, + [I(72,220)] = {64,0}, + [I(73,220)] = {64,0}, + [I(74,220)] = {64,0}, + [I(75,220)] = {64,0}, + [I(76,220)] = {64,0}, + [I(77,220)] = {64,0}, + [I(78,220)] = {64,0}, + [I(79,220)] = {64,0}, + [I(80,220)] = {64,0}, + [I(81,220)] = {64,0}, + [I(82,220)] = {64,0}, + [I(83,220)] = {64,0}, + [I(84,220)] = {64,0}, + [I(85,220)] = {64,0}, + [I(86,220)] = {64,0}, + [I(87,220)] = {64,0}, + [I(88,220)] = {64,0}, + [I(89,220)] = {64,0}, + [I(90,220)] = {64,0}, + [I(91,220)] = {64,0}, + [I(92,220)] = {64,0}, + [I(93,220)] = {64,0}, + [I(94,220)] = {64,0}, + [I(95,220)] = {64,0}, + [I(96,220)] = {64,0}, + [I(97,220)] = {64,0}, + [I(98,220)] = {64,0}, + [I(99,220)] = {64,0}, + [I(100,220)] = {64,0}, + [I(101,220)] = {64,0}, + [I(102,220)] = {64,0}, + [I(103,220)] = {64,0}, + [I(104,220)] = {64,0}, + [I(105,220)] = {64,0}, + [I(106,220)] = {64,0}, + [I(107,220)] = {64,0}, + [I(108,220)] = {64,0}, + [I(109,220)] = {64,0}, + [I(110,220)] = {64,0}, + [I(111,220)] = {64,0}, + [I(112,220)] = {64,0}, + [I(113,220)] = {64,0}, + [I(114,220)] = {64,0}, + [I(115,220)] = {64,0}, + [I(116,220)] = {64,0}, + [I(117,220)] = {64,0}, + [I(118,220)] = {64,0}, + [I(119,220)] = {64,0}, + [I(120,220)] = {64,0}, + [I(121,220)] = {64,0}, + [I(122,220)] = {64,0}, + [I(123,220)] = {64,0}, + [I(124,220)] = {64,0}, + [I(125,220)] = {64,0}, + [I(126,220)] = {64,0}, + [I(127,220)] = {64,0}, + [I(128,220)] = {64,0}, + [I(129,220)] = {64,0}, + [I(130,220)] = {64,0}, + [I(131,220)] = {64,0}, + [I(132,220)] = {64,0}, + [I(133,220)] = {64,0}, + [I(134,220)] = {64,0}, + [I(135,220)] = {64,0}, + [I(136,220)] = {64,0}, + [I(137,220)] = {64,0}, + [I(138,220)] = {64,0}, + [I(139,220)] = {64,0}, + [I(140,220)] = {64,0}, + [I(141,220)] = {64,0}, + [I(142,220)] = {64,0}, + [I(143,220)] = {64,0}, + [I(144,220)] = {64,0}, + [I(145,220)] = {64,0}, + [I(146,220)] = {64,0}, + [I(147,220)] = {64,0}, + [I(148,220)] = {64,0}, + [I(149,220)] = {64,0}, + [I(150,220)] = {64,0}, + [I(151,220)] = {64,0}, + [I(152,220)] = {64,0}, + [I(153,220)] = {64,0}, + [I(154,220)] = {64,0}, + [I(155,220)] = {64,0}, + [I(156,220)] = {64,0}, + [I(157,220)] = {64,0}, + [I(158,220)] = {64,0}, + [I(159,220)] = {64,0}, + [I(160,220)] = {64,0}, + [I(161,220)] = {64,0}, + [I(162,220)] = {64,0}, + [I(163,220)] = {64,0}, + [I(164,220)] = {64,0}, + [I(165,220)] = {64,0}, + [I(166,220)] = {64,0}, + [I(167,220)] = {64,0}, + [I(168,220)] = {64,0}, + [I(169,220)] = {64,0}, + [I(170,220)] = {64,0}, + [I(171,220)] = {64,0}, + [I(172,220)] = {64,0}, + [I(173,220)] = {64,0}, + [I(174,220)] = {64,0}, + [I(175,220)] = {64,0}, + [I(176,220)] = {64,0}, + [I(177,220)] = {64,0}, + [I(178,220)] = {64,0}, + [I(179,220)] = {64,0}, + [I(180,220)] = {64,0}, + [I(181,220)] = {64,0}, + [I(182,220)] = {64,0}, + [I(183,220)] = {64,0}, + [I(184,220)] = {64,0}, + [I(185,220)] = {64,0}, + [I(186,220)] = {64,0}, + [I(187,220)] = {64,0}, + [I(188,220)] = {64,0}, + [I(189,220)] = {64,0}, + [I(190,220)] = {64,0}, + [I(191,220)] = {64,0}, + [I(192,220)] = {64,0}, + [I(193,220)] = {64,0}, + [I(194,220)] = {64,0}, + [I(195,220)] = {64,0}, + [I(196,220)] = {64,0}, + [I(197,220)] = {64,0}, + [I(198,220)] = {64,0}, + [I(199,220)] = {64,0}, + [I(200,220)] = {64,0}, + [I(201,220)] = {64,0}, + [I(202,220)] = {64,0}, + [I(203,220)] = {64,0}, + [I(204,220)] = {64,0}, + [I(205,220)] = {64,0}, + [I(206,220)] = {64,0}, + [I(207,220)] = {64,0}, + [I(208,220)] = {64,0}, + [I(209,220)] = {64,0}, + [I(210,220)] = {64,0}, + [I(211,220)] = {64,0}, + [I(212,220)] = {64,0}, + [I(213,220)] = {64,0}, + [I(214,220)] = {64,0}, + [I(215,220)] = {64,0}, + [I(216,220)] = {64,0}, + [I(217,220)] = {64,0}, + [I(218,220)] = {64,0}, + [I(219,220)] = {64,0}, + [I(220,220)] = {64,0}, + [I(221,220)] = {64,0}, + [I(222,220)] = {64,0}, + [I(223,220)] = {64,0}, + [I(224,220)] = {64,0}, + [I(225,220)] = {64,0}, + [I(226,220)] = {64,0}, + [I(227,220)] = {64,0}, + [I(228,220)] = {64,0}, + [I(229,220)] = {64,0}, + [I(230,220)] = {64,0}, + [I(231,220)] = {64,0}, + [I(232,220)] = {64,0}, + [I(233,220)] = {64,0}, + [I(234,220)] = {64,0}, + [I(235,220)] = {64,0}, + [I(236,220)] = {64,0}, + [I(237,220)] = {64,0}, + [I(238,220)] = {64,0}, + [I(239,220)] = {64,0}, + [I(240,220)] = {64,0}, + [I(241,220)] = {64,0}, + [I(242,220)] = {64,0}, + [I(243,220)] = {64,0}, + [I(244,220)] = {64,0}, + [I(245,220)] = {64,0}, + [I(246,220)] = {64,0}, + [I(247,220)] = {64,0}, + [I(248,220)] = {64,0}, + [I(249,220)] = {64,0}, + [I(250,220)] = {64,0}, + [I(251,220)] = {64,0}, + [I(252,220)] = {64,0}, + [I(253,220)] = {64,0}, + [I(254,220)] = {64,0}, + [I(255,220)] = {64,0}, + [I(0,221)] = {64,0}, + [I(1,221)] = {64,0}, + [I(2,221)] = {64,0}, + [I(3,221)] = {64,0}, + [I(4,221)] = {64,0}, + [I(5,221)] = {64,0}, + [I(6,221)] = {64,0}, + [I(7,221)] = {64,0}, + [I(8,221)] = {64,0}, + [I(9,221)] = {64,0}, + [I(10,221)] = {64,0}, + [I(11,221)] = {64,0}, + [I(12,221)] = {64,0}, + [I(13,221)] = {64,0}, + [I(14,221)] = {64,0}, + [I(15,221)] = {64,0}, + [I(16,221)] = {64,0}, + [I(17,221)] = {64,0}, + [I(18,221)] = {64,0}, + [I(19,221)] = {64,0}, + [I(20,221)] = {64,0}, + [I(21,221)] = {64,0}, + [I(22,221)] = {64,0}, + [I(23,221)] = {64,0}, + [I(24,221)] = {64,0}, + [I(25,221)] = {64,0}, + [I(26,221)] = {64,0}, + [I(27,221)] = {64,0}, + [I(28,221)] = {64,0}, + [I(29,221)] = {64,0}, + [I(30,221)] = {64,0}, + [I(31,221)] = {64,0}, + [I(32,221)] = {64,0}, + [I(33,221)] = {64,0}, + [I(34,221)] = {64,0}, + [I(35,221)] = {64,0}, + [I(36,221)] = {64,0}, + [I(37,221)] = {64,0}, + [I(38,221)] = {64,0}, + [I(39,221)] = {64,0}, + [I(40,221)] = {64,0}, + [I(41,221)] = {64,0}, + [I(42,221)] = {64,0}, + [I(43,221)] = {64,0}, + [I(44,221)] = {64,0}, + [I(45,221)] = {64,0}, + [I(46,221)] = {64,0}, + [I(47,221)] = {64,0}, + [I(48,221)] = {X32,0x7FFFFE3}, + [I(49,221)] = {X32,0xFFFFFE3}, + [I(50,221)] = {X32,0x17FFFFE3}, + [I(51,221)] = {64,0}, + [I(52,221)] = {64,0}, + [I(53,221)] = {64,0}, + [I(54,221)] = {64,0}, + [I(55,221)] = {64,0}, + [I(56,221)] = {64,0}, + [I(57,221)] = {64,0}, + [I(58,221)] = {64,0}, + [I(59,221)] = {64,0}, + [I(60,221)] = {64,0}, + [I(61,221)] = {64,0}, + [I(62,221)] = {64,0}, + [I(63,221)] = {64,0}, + [I(64,221)] = {64,0}, + [I(65,221)] = {64,0}, + [I(66,221)] = {64,0}, + [I(67,221)] = {64,0}, + [I(68,221)] = {64,0}, + [I(69,221)] = {64,0}, + [I(70,221)] = {64,0}, + [I(71,221)] = {64,0}, + [I(72,221)] = {64,0}, + [I(73,221)] = {64,0}, + [I(74,221)] = {64,0}, + [I(75,221)] = {64,0}, + [I(76,221)] = {64,0}, + [I(77,221)] = {64,0}, + [I(78,221)] = {64,0}, + [I(79,221)] = {64,0}, + [I(80,221)] = {64,0}, + [I(81,221)] = {64,0}, + [I(82,221)] = {64,0}, + [I(83,221)] = {64,0}, + [I(84,221)] = {64,0}, + [I(85,221)] = {64,0}, + [I(86,221)] = {64,0}, + [I(87,221)] = {64,0}, + [I(88,221)] = {64,0}, + [I(89,221)] = {64,0}, + [I(90,221)] = {64,0}, + [I(91,221)] = {64,0}, + [I(92,221)] = {64,0}, + [I(93,221)] = {64,0}, + [I(94,221)] = {64,0}, + [I(95,221)] = {64,0}, + [I(96,221)] = {64,0}, + [I(97,221)] = {X32,0x1FFFFFE3}, + [I(98,221)] = {64,0}, + [I(99,221)] = {X32,0x27FFFFE3}, + [I(100,221)] = {64,0}, + [I(101,221)] = {X32,0x2FFFFFE3}, + [I(102,221)] = {64,0}, + [I(103,221)] = {64,0}, + [I(104,221)] = {64,0}, + [I(105,221)] = {X32,0x37FFFFE3}, + [I(106,221)] = {64,0}, + [I(107,221)] = {64,0}, + [I(108,221)] = {64,0}, + [I(109,221)] = {64,0}, + [I(110,221)] = {64,0}, + [I(111,221)] = {X32,0x3FFFFFE3}, + [I(112,221)] = {64,0}, + [I(113,221)] = {64,0}, + [I(114,221)] = {64,0}, + [I(115,221)] = {X32,0x47FFFFE3}, + [I(116,221)] = {X32,0x4FFFFFE3}, + [I(117,221)] = {64,0}, + [I(118,221)] = {64,0}, + [I(119,221)] = {64,0}, + [I(120,221)] = {64,0}, + [I(121,221)] = {64,0}, + [I(122,221)] = {64,0}, + [I(123,221)] = {64,0}, + [I(124,221)] = {64,0}, + [I(125,221)] = {64,0}, + [I(126,221)] = {64,0}, + [I(127,221)] = {64,0}, + [I(128,221)] = {64,0}, + [I(129,221)] = {64,0}, + [I(130,221)] = {64,0}, + [I(131,221)] = {64,0}, + [I(132,221)] = {64,0}, + [I(133,221)] = {64,0}, + [I(134,221)] = {64,0}, + [I(135,221)] = {64,0}, + [I(136,221)] = {64,0}, + [I(137,221)] = {64,0}, + [I(138,221)] = {64,0}, + [I(139,221)] = {64,0}, + [I(140,221)] = {64,0}, + [I(141,221)] = {64,0}, + [I(142,221)] = {64,0}, + [I(143,221)] = {64,0}, + [I(144,221)] = {64,0}, + [I(145,221)] = {64,0}, + [I(146,221)] = {64,0}, + [I(147,221)] = {64,0}, + [I(148,221)] = {64,0}, + [I(149,221)] = {64,0}, + [I(150,221)] = {64,0}, + [I(151,221)] = {64,0}, + [I(152,221)] = {64,0}, + [I(153,221)] = {64,0}, + [I(154,221)] = {64,0}, + [I(155,221)] = {64,0}, + [I(156,221)] = {64,0}, + [I(157,221)] = {64,0}, + [I(158,221)] = {64,0}, + [I(159,221)] = {64,0}, + [I(160,221)] = {64,0}, + [I(161,221)] = {64,0}, + [I(162,221)] = {64,0}, + [I(163,221)] = {64,0}, + [I(164,221)] = {64,0}, + [I(165,221)] = {64,0}, + [I(166,221)] = {64,0}, + [I(167,221)] = {64,0}, + [I(168,221)] = {64,0}, + [I(169,221)] = {64,0}, + [I(170,221)] = {64,0}, + [I(171,221)] = {64,0}, + [I(172,221)] = {64,0}, + [I(173,221)] = {64,0}, + [I(174,221)] = {64,0}, + [I(175,221)] = {64,0}, + [I(176,221)] = {64,0}, + [I(177,221)] = {64,0}, + [I(178,221)] = {64,0}, + [I(179,221)] = {64,0}, + [I(180,221)] = {64,0}, + [I(181,221)] = {64,0}, + [I(182,221)] = {64,0}, + [I(183,221)] = {64,0}, + [I(184,221)] = {64,0}, + [I(185,221)] = {64,0}, + [I(186,221)] = {64,0}, + [I(187,221)] = {64,0}, + [I(188,221)] = {64,0}, + [I(189,221)] = {64,0}, + [I(190,221)] = {64,0}, + [I(191,221)] = {64,0}, + [I(192,221)] = {64,0}, + [I(193,221)] = {64,0}, + [I(194,221)] = {64,0}, + [I(195,221)] = {64,0}, + [I(196,221)] = {64,0}, + [I(197,221)] = {64,0}, + [I(198,221)] = {64,0}, + [I(199,221)] = {64,0}, + [I(200,221)] = {64,0}, + [I(201,221)] = {64,0}, + [I(202,221)] = {64,0}, + [I(203,221)] = {64,0}, + [I(204,221)] = {64,0}, + [I(205,221)] = {64,0}, + [I(206,221)] = {64,0}, + [I(207,221)] = {64,0}, + [I(208,221)] = {64,0}, + [I(209,221)] = {64,0}, + [I(210,221)] = {64,0}, + [I(211,221)] = {64,0}, + [I(212,221)] = {64,0}, + [I(213,221)] = {64,0}, + [I(214,221)] = {64,0}, + [I(215,221)] = {64,0}, + [I(216,221)] = {64,0}, + [I(217,221)] = {64,0}, + [I(218,221)] = {64,0}, + [I(219,221)] = {64,0}, + [I(220,221)] = {64,0}, + [I(221,221)] = {64,0}, + [I(222,221)] = {64,0}, + [I(223,221)] = {64,0}, + [I(224,221)] = {64,0}, + [I(225,221)] = {64,0}, + [I(226,221)] = {64,0}, + [I(227,221)] = {64,0}, + [I(228,221)] = {64,0}, + [I(229,221)] = {64,0}, + [I(230,221)] = {64,0}, + [I(231,221)] = {64,0}, + [I(232,221)] = {64,0}, + [I(233,221)] = {64,0}, + [I(234,221)] = {64,0}, + [I(235,221)] = {64,0}, + [I(236,221)] = {64,0}, + [I(237,221)] = {64,0}, + [I(238,221)] = {64,0}, + [I(239,221)] = {64,0}, + [I(240,221)] = {64,0}, + [I(241,221)] = {64,0}, + [I(242,221)] = {64,0}, + [I(243,221)] = {64,0}, + [I(244,221)] = {64,0}, + [I(245,221)] = {64,0}, + [I(246,221)] = {64,0}, + [I(247,221)] = {64,0}, + [I(248,221)] = {64,0}, + [I(249,221)] = {64,0}, + [I(250,221)] = {64,0}, + [I(251,221)] = {64,0}, + [I(252,221)] = {64,0}, + [I(253,221)] = {64,0}, + [I(254,221)] = {64,0}, + [I(255,221)] = {64,0}, + [I(0,222)] = {64,0}, + [I(1,222)] = {64,0}, + [I(2,222)] = {64,0}, + [I(3,222)] = {64,0}, + [I(4,222)] = {64,0}, + [I(5,222)] = {64,0}, + [I(6,222)] = {64,0}, + [I(7,222)] = {64,0}, + [I(8,222)] = {64,0}, + [I(9,222)] = {64,0}, + [I(10,222)] = {64,0}, + [I(11,222)] = {64,0}, + [I(12,222)] = {64,0}, + [I(13,222)] = {64,0}, + [I(14,222)] = {64,0}, + [I(15,222)] = {64,0}, + [I(16,222)] = {64,0}, + [I(17,222)] = {64,0}, + [I(18,222)] = {64,0}, + [I(19,222)] = {64,0}, + [I(20,222)] = {64,0}, + [I(21,222)] = {64,0}, + [I(22,222)] = {64,0}, + [I(23,222)] = {64,0}, + [I(24,222)] = {64,0}, + [I(25,222)] = {64,0}, + [I(26,222)] = {64,0}, + [I(27,222)] = {64,0}, + [I(28,222)] = {64,0}, + [I(29,222)] = {64,0}, + [I(30,222)] = {64,0}, + [I(31,222)] = {64,0}, + [I(32,222)] = {64,0}, + [I(33,222)] = {64,0}, + [I(34,222)] = {64,0}, + [I(35,222)] = {64,0}, + [I(36,222)] = {64,0}, + [I(37,222)] = {64,0}, + [I(38,222)] = {64,0}, + [I(39,222)] = {64,0}, + [I(40,222)] = {64,0}, + [I(41,222)] = {64,0}, + [I(42,222)] = {64,0}, + [I(43,222)] = {64,0}, + [I(44,222)] = {64,0}, + [I(45,222)] = {64,0}, + [I(46,222)] = {64,0}, + [I(47,222)] = {64,0}, + [I(48,222)] = {X32,0x7FFFFE4}, + [I(49,222)] = {X32,0xFFFFFE4}, + [I(50,222)] = {X32,0x17FFFFE4}, + [I(51,222)] = {64,0}, + [I(52,222)] = {64,0}, + [I(53,222)] = {64,0}, + [I(54,222)] = {64,0}, + [I(55,222)] = {64,0}, + [I(56,222)] = {64,0}, + [I(57,222)] = {64,0}, + [I(58,222)] = {64,0}, + [I(59,222)] = {64,0}, + [I(60,222)] = {64,0}, + [I(61,222)] = {64,0}, + [I(62,222)] = {64,0}, + [I(63,222)] = {64,0}, + [I(64,222)] = {64,0}, + [I(65,222)] = {64,0}, + [I(66,222)] = {64,0}, + [I(67,222)] = {64,0}, + [I(68,222)] = {64,0}, + [I(69,222)] = {64,0}, + [I(70,222)] = {64,0}, + [I(71,222)] = {64,0}, + [I(72,222)] = {64,0}, + [I(73,222)] = {64,0}, + [I(74,222)] = {64,0}, + [I(75,222)] = {64,0}, + [I(76,222)] = {64,0}, + [I(77,222)] = {64,0}, + [I(78,222)] = {64,0}, + [I(79,222)] = {64,0}, + [I(80,222)] = {64,0}, + [I(81,222)] = {64,0}, + [I(82,222)] = {64,0}, + [I(83,222)] = {64,0}, + [I(84,222)] = {64,0}, + [I(85,222)] = {64,0}, + [I(86,222)] = {64,0}, + [I(87,222)] = {64,0}, + [I(88,222)] = {64,0}, + [I(89,222)] = {64,0}, + [I(90,222)] = {64,0}, + [I(91,222)] = {64,0}, + [I(92,222)] = {64,0}, + [I(93,222)] = {64,0}, + [I(94,222)] = {64,0}, + [I(95,222)] = {64,0}, + [I(96,222)] = {64,0}, + [I(97,222)] = {X32,0x1FFFFFE4}, + [I(98,222)] = {64,0}, + [I(99,222)] = {X32,0x27FFFFE4}, + [I(100,222)] = {64,0}, + [I(101,222)] = {X32,0x2FFFFFE4}, + [I(102,222)] = {64,0}, + [I(103,222)] = {64,0}, + [I(104,222)] = {64,0}, + [I(105,222)] = {X32,0x37FFFFE4}, + [I(106,222)] = {64,0}, + [I(107,222)] = {64,0}, + [I(108,222)] = {64,0}, + [I(109,222)] = {64,0}, + [I(110,222)] = {64,0}, + [I(111,222)] = {X32,0x3FFFFFE4}, + [I(112,222)] = {64,0}, + [I(113,222)] = {64,0}, + [I(114,222)] = {64,0}, + [I(115,222)] = {X32,0x47FFFFE4}, + [I(116,222)] = {X32,0x4FFFFFE4}, + [I(117,222)] = {64,0}, + [I(118,222)] = {64,0}, + [I(119,222)] = {64,0}, + [I(120,222)] = {64,0}, + [I(121,222)] = {64,0}, + [I(122,222)] = {64,0}, + [I(123,222)] = {64,0}, + [I(124,222)] = {64,0}, + [I(125,222)] = {64,0}, + [I(126,222)] = {64,0}, + [I(127,222)] = {64,0}, + [I(128,222)] = {64,0}, + [I(129,222)] = {64,0}, + [I(130,222)] = {64,0}, + [I(131,222)] = {64,0}, + [I(132,222)] = {64,0}, + [I(133,222)] = {64,0}, + [I(134,222)] = {64,0}, + [I(135,222)] = {64,0}, + [I(136,222)] = {64,0}, + [I(137,222)] = {64,0}, + [I(138,222)] = {64,0}, + [I(139,222)] = {64,0}, + [I(140,222)] = {64,0}, + [I(141,222)] = {64,0}, + [I(142,222)] = {64,0}, + [I(143,222)] = {64,0}, + [I(144,222)] = {64,0}, + [I(145,222)] = {64,0}, + [I(146,222)] = {64,0}, + [I(147,222)] = {64,0}, + [I(148,222)] = {64,0}, + [I(149,222)] = {64,0}, + [I(150,222)] = {64,0}, + [I(151,222)] = {64,0}, + [I(152,222)] = {64,0}, + [I(153,222)] = {64,0}, + [I(154,222)] = {64,0}, + [I(155,222)] = {64,0}, + [I(156,222)] = {64,0}, + [I(157,222)] = {64,0}, + [I(158,222)] = {64,0}, + [I(159,222)] = {64,0}, + [I(160,222)] = {64,0}, + [I(161,222)] = {64,0}, + [I(162,222)] = {64,0}, + [I(163,222)] = {64,0}, + [I(164,222)] = {64,0}, + [I(165,222)] = {64,0}, + [I(166,222)] = {64,0}, + [I(167,222)] = {64,0}, + [I(168,222)] = {64,0}, + [I(169,222)] = {64,0}, + [I(170,222)] = {64,0}, + [I(171,222)] = {64,0}, + [I(172,222)] = {64,0}, + [I(173,222)] = {64,0}, + [I(174,222)] = {64,0}, + [I(175,222)] = {64,0}, + [I(176,222)] = {64,0}, + [I(177,222)] = {64,0}, + [I(178,222)] = {64,0}, + [I(179,222)] = {64,0}, + [I(180,222)] = {64,0}, + [I(181,222)] = {64,0}, + [I(182,222)] = {64,0}, + [I(183,222)] = {64,0}, + [I(184,222)] = {64,0}, + [I(185,222)] = {64,0}, + [I(186,222)] = {64,0}, + [I(187,222)] = {64,0}, + [I(188,222)] = {64,0}, + [I(189,222)] = {64,0}, + [I(190,222)] = {64,0}, + [I(191,222)] = {64,0}, + [I(192,222)] = {64,0}, + [I(193,222)] = {64,0}, + [I(194,222)] = {64,0}, + [I(195,222)] = {64,0}, + [I(196,222)] = {64,0}, + [I(197,222)] = {64,0}, + [I(198,222)] = {64,0}, + [I(199,222)] = {64,0}, + [I(200,222)] = {64,0}, + [I(201,222)] = {64,0}, + [I(202,222)] = {64,0}, + [I(203,222)] = {64,0}, + [I(204,222)] = {64,0}, + [I(205,222)] = {64,0}, + [I(206,222)] = {64,0}, + [I(207,222)] = {64,0}, + [I(208,222)] = {64,0}, + [I(209,222)] = {64,0}, + [I(210,222)] = {64,0}, + [I(211,222)] = {64,0}, + [I(212,222)] = {64,0}, + [I(213,222)] = {64,0}, + [I(214,222)] = {64,0}, + [I(215,222)] = {64,0}, + [I(216,222)] = {64,0}, + [I(217,222)] = {64,0}, + [I(218,222)] = {64,0}, + [I(219,222)] = {64,0}, + [I(220,222)] = {64,0}, + [I(221,222)] = {64,0}, + [I(222,222)] = {64,0}, + [I(223,222)] = {64,0}, + [I(224,222)] = {64,0}, + [I(225,222)] = {64,0}, + [I(226,222)] = {64,0}, + [I(227,222)] = {64,0}, + [I(228,222)] = {64,0}, + [I(229,222)] = {64,0}, + [I(230,222)] = {64,0}, + [I(231,222)] = {64,0}, + [I(232,222)] = {64,0}, + [I(233,222)] = {64,0}, + [I(234,222)] = {64,0}, + [I(235,222)] = {64,0}, + [I(236,222)] = {64,0}, + [I(237,222)] = {64,0}, + [I(238,222)] = {64,0}, + [I(239,222)] = {64,0}, + [I(240,222)] = {64,0}, + [I(241,222)] = {64,0}, + [I(242,222)] = {64,0}, + [I(243,222)] = {64,0}, + [I(244,222)] = {64,0}, + [I(245,222)] = {64,0}, + [I(246,222)] = {64,0}, + [I(247,222)] = {64,0}, + [I(248,222)] = {64,0}, + [I(249,222)] = {64,0}, + [I(250,222)] = {64,0}, + [I(251,222)] = {64,0}, + [I(252,222)] = {64,0}, + [I(253,222)] = {64,0}, + [I(254,222)] = {64,0}, + [I(255,222)] = {64,0}, + [I(0,223)] = {64,0}, + [I(1,223)] = {64,0}, + [I(2,223)] = {64,0}, + [I(3,223)] = {64,0}, + [I(4,223)] = {64,0}, + [I(5,223)] = {64,0}, + [I(6,223)] = {64,0}, + [I(7,223)] = {64,0}, + [I(8,223)] = {64,0}, + [I(9,223)] = {64,0}, + [I(10,223)] = {64,0}, + [I(11,223)] = {64,0}, + [I(12,223)] = {64,0}, + [I(13,223)] = {64,0}, + [I(14,223)] = {64,0}, + [I(15,223)] = {64,0}, + [I(16,223)] = {64,0}, + [I(17,223)] = {64,0}, + [I(18,223)] = {64,0}, + [I(19,223)] = {64,0}, + [I(20,223)] = {64,0}, + [I(21,223)] = {64,0}, + [I(22,223)] = {64,0}, + [I(23,223)] = {64,0}, + [I(24,223)] = {64,0}, + [I(25,223)] = {64,0}, + [I(26,223)] = {64,0}, + [I(27,223)] = {64,0}, + [I(28,223)] = {64,0}, + [I(29,223)] = {64,0}, + [I(30,223)] = {64,0}, + [I(31,223)] = {64,0}, + [I(32,223)] = {64,0}, + [I(33,223)] = {64,0}, + [I(34,223)] = {64,0}, + [I(35,223)] = {64,0}, + [I(36,223)] = {64,0}, + [I(37,223)] = {64,0}, + [I(38,223)] = {64,0}, + [I(39,223)] = {64,0}, + [I(40,223)] = {64,0}, + [I(41,223)] = {64,0}, + [I(42,223)] = {64,0}, + [I(43,223)] = {64,0}, + [I(44,223)] = {64,0}, + [I(45,223)] = {64,0}, + [I(46,223)] = {64,0}, + [I(47,223)] = {64,0}, + [I(48,223)] = {X32,0x7FFFFE5}, + [I(49,223)] = {X32,0xFFFFFE5}, + [I(50,223)] = {X32,0x17FFFFE5}, + [I(51,223)] = {64,0}, + [I(52,223)] = {64,0}, + [I(53,223)] = {64,0}, + [I(54,223)] = {64,0}, + [I(55,223)] = {64,0}, + [I(56,223)] = {64,0}, + [I(57,223)] = {64,0}, + [I(58,223)] = {64,0}, + [I(59,223)] = {64,0}, + [I(60,223)] = {64,0}, + [I(61,223)] = {64,0}, + [I(62,223)] = {64,0}, + [I(63,223)] = {64,0}, + [I(64,223)] = {64,0}, + [I(65,223)] = {64,0}, + [I(66,223)] = {64,0}, + [I(67,223)] = {64,0}, + [I(68,223)] = {64,0}, + [I(69,223)] = {64,0}, + [I(70,223)] = {64,0}, + [I(71,223)] = {64,0}, + [I(72,223)] = {64,0}, + [I(73,223)] = {64,0}, + [I(74,223)] = {64,0}, + [I(75,223)] = {64,0}, + [I(76,223)] = {64,0}, + [I(77,223)] = {64,0}, + [I(78,223)] = {64,0}, + [I(79,223)] = {64,0}, + [I(80,223)] = {64,0}, + [I(81,223)] = {64,0}, + [I(82,223)] = {64,0}, + [I(83,223)] = {64,0}, + [I(84,223)] = {64,0}, + [I(85,223)] = {64,0}, + [I(86,223)] = {64,0}, + [I(87,223)] = {64,0}, + [I(88,223)] = {64,0}, + [I(89,223)] = {64,0}, + [I(90,223)] = {64,0}, + [I(91,223)] = {64,0}, + [I(92,223)] = {64,0}, + [I(93,223)] = {64,0}, + [I(94,223)] = {64,0}, + [I(95,223)] = {64,0}, + [I(96,223)] = {64,0}, + [I(97,223)] = {X32,0x1FFFFFE5}, + [I(98,223)] = {64,0}, + [I(99,223)] = {X32,0x27FFFFE5}, + [I(100,223)] = {64,0}, + [I(101,223)] = {X32,0x2FFFFFE5}, + [I(102,223)] = {64,0}, + [I(103,223)] = {64,0}, + [I(104,223)] = {64,0}, + [I(105,223)] = {X32,0x37FFFFE5}, + [I(106,223)] = {64,0}, + [I(107,223)] = {64,0}, + [I(108,223)] = {64,0}, + [I(109,223)] = {64,0}, + [I(110,223)] = {64,0}, + [I(111,223)] = {X32,0x3FFFFFE5}, + [I(112,223)] = {64,0}, + [I(113,223)] = {64,0}, + [I(114,223)] = {64,0}, + [I(115,223)] = {X32,0x47FFFFE5}, + [I(116,223)] = {X32,0x4FFFFFE5}, + [I(117,223)] = {64,0}, + [I(118,223)] = {64,0}, + [I(119,223)] = {64,0}, + [I(120,223)] = {64,0}, + [I(121,223)] = {64,0}, + [I(122,223)] = {64,0}, + [I(123,223)] = {64,0}, + [I(124,223)] = {64,0}, + [I(125,223)] = {64,0}, + [I(126,223)] = {64,0}, + [I(127,223)] = {64,0}, + [I(128,223)] = {64,0}, + [I(129,223)] = {64,0}, + [I(130,223)] = {64,0}, + [I(131,223)] = {64,0}, + [I(132,223)] = {64,0}, + [I(133,223)] = {64,0}, + [I(134,223)] = {64,0}, + [I(135,223)] = {64,0}, + [I(136,223)] = {64,0}, + [I(137,223)] = {64,0}, + [I(138,223)] = {64,0}, + [I(139,223)] = {64,0}, + [I(140,223)] = {64,0}, + [I(141,223)] = {64,0}, + [I(142,223)] = {64,0}, + [I(143,223)] = {64,0}, + [I(144,223)] = {64,0}, + [I(145,223)] = {64,0}, + [I(146,223)] = {64,0}, + [I(147,223)] = {64,0}, + [I(148,223)] = {64,0}, + [I(149,223)] = {64,0}, + [I(150,223)] = {64,0}, + [I(151,223)] = {64,0}, + [I(152,223)] = {64,0}, + [I(153,223)] = {64,0}, + [I(154,223)] = {64,0}, + [I(155,223)] = {64,0}, + [I(156,223)] = {64,0}, + [I(157,223)] = {64,0}, + [I(158,223)] = {64,0}, + [I(159,223)] = {64,0}, + [I(160,223)] = {64,0}, + [I(161,223)] = {64,0}, + [I(162,223)] = {64,0}, + [I(163,223)] = {64,0}, + [I(164,223)] = {64,0}, + [I(165,223)] = {64,0}, + [I(166,223)] = {64,0}, + [I(167,223)] = {64,0}, + [I(168,223)] = {64,0}, + [I(169,223)] = {64,0}, + [I(170,223)] = {64,0}, + [I(171,223)] = {64,0}, + [I(172,223)] = {64,0}, + [I(173,223)] = {64,0}, + [I(174,223)] = {64,0}, + [I(175,223)] = {64,0}, + [I(176,223)] = {64,0}, + [I(177,223)] = {64,0}, + [I(178,223)] = {64,0}, + [I(179,223)] = {64,0}, + [I(180,223)] = {64,0}, + [I(181,223)] = {64,0}, + [I(182,223)] = {64,0}, + [I(183,223)] = {64,0}, + [I(184,223)] = {64,0}, + [I(185,223)] = {64,0}, + [I(186,223)] = {64,0}, + [I(187,223)] = {64,0}, + [I(188,223)] = {64,0}, + [I(189,223)] = {64,0}, + [I(190,223)] = {64,0}, + [I(191,223)] = {64,0}, + [I(192,223)] = {64,0}, + [I(193,223)] = {64,0}, + [I(194,223)] = {64,0}, + [I(195,223)] = {64,0}, + [I(196,223)] = {64,0}, + [I(197,223)] = {64,0}, + [I(198,223)] = {64,0}, + [I(199,223)] = {64,0}, + [I(200,223)] = {64,0}, + [I(201,223)] = {64,0}, + [I(202,223)] = {64,0}, + [I(203,223)] = {64,0}, + [I(204,223)] = {64,0}, + [I(205,223)] = {64,0}, + [I(206,223)] = {64,0}, + [I(207,223)] = {64,0}, + [I(208,223)] = {64,0}, + [I(209,223)] = {64,0}, + [I(210,223)] = {64,0}, + [I(211,223)] = {64,0}, + [I(212,223)] = {64,0}, + [I(213,223)] = {64,0}, + [I(214,223)] = {64,0}, + [I(215,223)] = {64,0}, + [I(216,223)] = {64,0}, + [I(217,223)] = {64,0}, + [I(218,223)] = {64,0}, + [I(219,223)] = {64,0}, + [I(220,223)] = {64,0}, + [I(221,223)] = {64,0}, + [I(222,223)] = {64,0}, + [I(223,223)] = {64,0}, + [I(224,223)] = {64,0}, + [I(225,223)] = {64,0}, + [I(226,223)] = {64,0}, + [I(227,223)] = {64,0}, + [I(228,223)] = {64,0}, + [I(229,223)] = {64,0}, + [I(230,223)] = {64,0}, + [I(231,223)] = {64,0}, + [I(232,223)] = {64,0}, + [I(233,223)] = {64,0}, + [I(234,223)] = {64,0}, + [I(235,223)] = {64,0}, + [I(236,223)] = {64,0}, + [I(237,223)] = {64,0}, + [I(238,223)] = {64,0}, + [I(239,223)] = {64,0}, + [I(240,223)] = {64,0}, + [I(241,223)] = {64,0}, + [I(242,223)] = {64,0}, + [I(243,223)] = {64,0}, + [I(244,223)] = {64,0}, + [I(245,223)] = {64,0}, + [I(246,223)] = {64,0}, + [I(247,223)] = {64,0}, + [I(248,223)] = {64,0}, + [I(249,223)] = {64,0}, + [I(250,223)] = {64,0}, + [I(251,223)] = {64,0}, + [I(252,223)] = {64,0}, + [I(253,223)] = {64,0}, + [I(254,223)] = {64,0}, + [I(255,223)] = {64,0}, + [I(0,224)] = {64,0}, + [I(1,224)] = {64,0}, + [I(2,224)] = {64,0}, + [I(3,224)] = {64,0}, + [I(4,224)] = {64,0}, + [I(5,224)] = {64,0}, + [I(6,224)] = {64,0}, + [I(7,224)] = {64,0}, + [I(8,224)] = {64,0}, + [I(9,224)] = {64,0}, + [I(10,224)] = {64,0}, + [I(11,224)] = {64,0}, + [I(12,224)] = {64,0}, + [I(13,224)] = {64,0}, + [I(14,224)] = {64,0}, + [I(15,224)] = {64,0}, + [I(16,224)] = {64,0}, + [I(17,224)] = {64,0}, + [I(18,224)] = {64,0}, + [I(19,224)] = {64,0}, + [I(20,224)] = {64,0}, + [I(21,224)] = {64,0}, + [I(22,224)] = {64,0}, + [I(23,224)] = {64,0}, + [I(24,224)] = {64,0}, + [I(25,224)] = {64,0}, + [I(26,224)] = {64,0}, + [I(27,224)] = {64,0}, + [I(28,224)] = {64,0}, + [I(29,224)] = {64,0}, + [I(30,224)] = {64,0}, + [I(31,224)] = {64,0}, + [I(32,224)] = {26,0x14FFFEC}, + [I(33,224)] = {30,0x3F8FFFEC}, + [I(34,224)] = {30,0x3F9FFFEC}, + [I(35,224)] = {X32,0xFFAFFFEC}, + [I(36,224)] = {64,0}, + [I(37,224)] = {26,0x15FFFEC}, + [I(38,224)] = {28,0xF8FFFEC}, + [I(39,224)] = {31,0x7FAFFFEC}, + [I(40,224)] = {30,0x3FAFFFEC}, + [I(41,224)] = {30,0x3FBFFFEC}, + [I(42,224)] = {28,0xF9FFFEC}, + [I(43,224)] = {31,0x7FBFFFEC}, + [I(44,224)] = {28,0xFAFFFEC}, + [I(45,224)] = {26,0x16FFFEC}, + [I(46,224)] = {26,0x17FFFEC}, + [I(47,224)] = {26,0x18FFFEC}, + [I(48,224)] = {25,0xFFFEC}, + [I(49,224)] = {25,0x1FFFEC}, + [I(50,224)] = {25,0x2FFFEC}, + [I(51,224)] = {26,0x19FFFEC}, + [I(52,224)] = {26,0x1AFFFEC}, + [I(53,224)] = {26,0x1BFFFEC}, + [I(54,224)] = {26,0x1CFFFEC}, + [I(55,224)] = {26,0x1DFFFEC}, + [I(56,224)] = {26,0x1EFFFEC}, + [I(57,224)] = {26,0x1FFFFEC}, + [I(58,224)] = {27,0x5CFFFEC}, + [I(59,224)] = {28,0xFBFFFEC}, + [I(60,224)] = {64,0}, + [I(61,224)] = {26,0x20FFFEC}, + [I(62,224)] = {X32,0xFFBFFFEC}, + [I(63,224)] = {30,0x3FCFFFEC}, + [I(64,224)] = {64,0}, + [I(65,224)] = {26,0x21FFFEC}, + [I(66,224)] = {27,0x5DFFFEC}, + [I(67,224)] = {27,0x5EFFFEC}, + [I(68,224)] = {27,0x5FFFFEC}, + [I(69,224)] = {27,0x60FFFEC}, + [I(70,224)] = {27,0x61FFFEC}, + [I(71,224)] = {27,0x62FFFEC}, + [I(72,224)] = {27,0x63FFFEC}, + [I(73,224)] = {27,0x64FFFEC}, + [I(74,224)] = {27,0x65FFFEC}, + [I(75,224)] = {27,0x66FFFEC}, + [I(76,224)] = {27,0x67FFFEC}, + [I(77,224)] = {27,0x68FFFEC}, + [I(78,224)] = {27,0x69FFFEC}, + [I(79,224)] = {27,0x6AFFFEC}, + [I(80,224)] = {27,0x6BFFFEC}, + [I(81,224)] = {27,0x6CFFFEC}, + [I(82,224)] = {27,0x6DFFFEC}, + [I(83,224)] = {27,0x6EFFFEC}, + [I(84,224)] = {27,0x6FFFFEC}, + [I(85,224)] = {27,0x70FFFEC}, + [I(86,224)] = {27,0x71FFFEC}, + [I(87,224)] = {27,0x72FFFEC}, + [I(88,224)] = {28,0xFCFFFEC}, + [I(89,224)] = {27,0x73FFFEC}, + [I(90,224)] = {28,0xFDFFFEC}, + [I(91,224)] = {64,0}, + [I(92,224)] = {64,0}, + [I(93,224)] = {64,0}, + [I(94,224)] = {64,0}, + [I(95,224)] = {26,0x22FFFEC}, + [I(96,224)] = {64,0}, + [I(97,224)] = {25,0x3FFFEC}, + [I(98,224)] = {26,0x23FFFEC}, + [I(99,224)] = {25,0x4FFFEC}, + [I(100,224)] = {26,0x24FFFEC}, + [I(101,224)] = {25,0x5FFFEC}, + [I(102,224)] = {26,0x25FFFEC}, + [I(103,224)] = {26,0x26FFFEC}, + [I(104,224)] = {26,0x27FFFEC}, + [I(105,224)] = {25,0x6FFFEC}, + [I(106,224)] = {27,0x74FFFEC}, + [I(107,224)] = {27,0x75FFFEC}, + [I(108,224)] = {26,0x28FFFEC}, + [I(109,224)] = {26,0x29FFFEC}, + [I(110,224)] = {26,0x2AFFFEC}, + [I(111,224)] = {25,0x7FFFEC}, + [I(112,224)] = {26,0x2BFFFEC}, + [I(113,224)] = {27,0x76FFFEC}, + [I(114,224)] = {26,0x2CFFFEC}, + [I(115,224)] = {25,0x8FFFEC}, + [I(116,224)] = {25,0x9FFFEC}, + [I(117,224)] = {26,0x2DFFFEC}, + [I(118,224)] = {27,0x77FFFEC}, + [I(119,224)] = {27,0x78FFFEC}, + [I(120,224)] = {27,0x79FFFEC}, + [I(121,224)] = {27,0x7AFFFEC}, + [I(122,224)] = {27,0x7BFFFEC}, + [I(123,224)] = {64,0}, + [I(124,224)] = {31,0x7FCFFFEC}, + [I(125,224)] = {64,0}, + [I(126,224)] = {64,0}, + [I(127,224)] = {64,0}, + [I(128,224)] = {64,0}, + [I(129,224)] = {64,0}, + [I(130,224)] = {64,0}, + [I(131,224)] = {64,0}, + [I(132,224)] = {64,0}, + [I(133,224)] = {64,0}, + [I(134,224)] = {64,0}, + [I(135,224)] = {64,0}, + [I(136,224)] = {64,0}, + [I(137,224)] = {64,0}, + [I(138,224)] = {64,0}, + [I(139,224)] = {64,0}, + [I(140,224)] = {64,0}, + [I(141,224)] = {64,0}, + [I(142,224)] = {64,0}, + [I(143,224)] = {64,0}, + [I(144,224)] = {64,0}, + [I(145,224)] = {64,0}, + [I(146,224)] = {64,0}, + [I(147,224)] = {64,0}, + [I(148,224)] = {64,0}, + [I(149,224)] = {64,0}, + [I(150,224)] = {64,0}, + [I(151,224)] = {64,0}, + [I(152,224)] = {64,0}, + [I(153,224)] = {64,0}, + [I(154,224)] = {64,0}, + [I(155,224)] = {64,0}, + [I(156,224)] = {64,0}, + [I(157,224)] = {64,0}, + [I(158,224)] = {64,0}, + [I(159,224)] = {64,0}, + [I(160,224)] = {64,0}, + [I(161,224)] = {64,0}, + [I(162,224)] = {64,0}, + [I(163,224)] = {64,0}, + [I(164,224)] = {64,0}, + [I(165,224)] = {64,0}, + [I(166,224)] = {64,0}, + [I(167,224)] = {64,0}, + [I(168,224)] = {64,0}, + [I(169,224)] = {64,0}, + [I(170,224)] = {64,0}, + [I(171,224)] = {64,0}, + [I(172,224)] = {64,0}, + [I(173,224)] = {64,0}, + [I(174,224)] = {64,0}, + [I(175,224)] = {64,0}, + [I(176,224)] = {64,0}, + [I(177,224)] = {64,0}, + [I(178,224)] = {64,0}, + [I(179,224)] = {64,0}, + [I(180,224)] = {64,0}, + [I(181,224)] = {64,0}, + [I(182,224)] = {64,0}, + [I(183,224)] = {64,0}, + [I(184,224)] = {64,0}, + [I(185,224)] = {64,0}, + [I(186,224)] = {64,0}, + [I(187,224)] = {64,0}, + [I(188,224)] = {64,0}, + [I(189,224)] = {64,0}, + [I(190,224)] = {64,0}, + [I(191,224)] = {64,0}, + [I(192,224)] = {64,0}, + [I(193,224)] = {64,0}, + [I(194,224)] = {64,0}, + [I(195,224)] = {64,0}, + [I(196,224)] = {64,0}, + [I(197,224)] = {64,0}, + [I(198,224)] = {64,0}, + [I(199,224)] = {64,0}, + [I(200,224)] = {64,0}, + [I(201,224)] = {64,0}, + [I(202,224)] = {64,0}, + [I(203,224)] = {64,0}, + [I(204,224)] = {64,0}, + [I(205,224)] = {64,0}, + [I(206,224)] = {64,0}, + [I(207,224)] = {64,0}, + [I(208,224)] = {64,0}, + [I(209,224)] = {64,0}, + [I(210,224)] = {64,0}, + [I(211,224)] = {64,0}, + [I(212,224)] = {64,0}, + [I(213,224)] = {64,0}, + [I(214,224)] = {64,0}, + [I(215,224)] = {64,0}, + [I(216,224)] = {64,0}, + [I(217,224)] = {64,0}, + [I(218,224)] = {64,0}, + [I(219,224)] = {64,0}, + [I(220,224)] = {64,0}, + [I(221,224)] = {64,0}, + [I(222,224)] = {64,0}, + [I(223,224)] = {64,0}, + [I(224,224)] = {64,0}, + [I(225,224)] = {64,0}, + [I(226,224)] = {64,0}, + [I(227,224)] = {64,0}, + [I(228,224)] = {64,0}, + [I(229,224)] = {64,0}, + [I(230,224)] = {64,0}, + [I(231,224)] = {64,0}, + [I(232,224)] = {64,0}, + [I(233,224)] = {64,0}, + [I(234,224)] = {64,0}, + [I(235,224)] = {64,0}, + [I(236,224)] = {64,0}, + [I(237,224)] = {64,0}, + [I(238,224)] = {64,0}, + [I(239,224)] = {64,0}, + [I(240,224)] = {64,0}, + [I(241,224)] = {64,0}, + [I(242,224)] = {64,0}, + [I(243,224)] = {64,0}, + [I(244,224)] = {64,0}, + [I(245,224)] = {64,0}, + [I(246,224)] = {64,0}, + [I(247,224)] = {64,0}, + [I(248,224)] = {64,0}, + [I(249,224)] = {64,0}, + [I(250,224)] = {64,0}, + [I(251,224)] = {64,0}, + [I(252,224)] = {64,0}, + [I(253,224)] = {64,0}, + [I(254,224)] = {64,0}, + [I(255,224)] = {64,0}, + [I(0,225)] = {64,0}, + [I(1,225)] = {64,0}, + [I(2,225)] = {64,0}, + [I(3,225)] = {64,0}, + [I(4,225)] = {64,0}, + [I(5,225)] = {64,0}, + [I(6,225)] = {64,0}, + [I(7,225)] = {64,0}, + [I(8,225)] = {64,0}, + [I(9,225)] = {64,0}, + [I(10,225)] = {64,0}, + [I(11,225)] = {64,0}, + [I(12,225)] = {64,0}, + [I(13,225)] = {64,0}, + [I(14,225)] = {64,0}, + [I(15,225)] = {64,0}, + [I(16,225)] = {64,0}, + [I(17,225)] = {64,0}, + [I(18,225)] = {64,0}, + [I(19,225)] = {64,0}, + [I(20,225)] = {64,0}, + [I(21,225)] = {64,0}, + [I(22,225)] = {64,0}, + [I(23,225)] = {64,0}, + [I(24,225)] = {64,0}, + [I(25,225)] = {64,0}, + [I(26,225)] = {64,0}, + [I(27,225)] = {64,0}, + [I(28,225)] = {64,0}, + [I(29,225)] = {64,0}, + [I(30,225)] = {64,0}, + [I(31,225)] = {64,0}, + [I(32,225)] = {30,0x14FFFFF3}, + [I(33,225)] = {64,0}, + [I(34,225)] = {64,0}, + [I(35,225)] = {64,0}, + [I(36,225)] = {64,0}, + [I(37,225)] = {30,0x15FFFFF3}, + [I(38,225)] = {X32,0xF8FFFFF3}, + [I(39,225)] = {64,0}, + [I(40,225)] = {64,0}, + [I(41,225)] = {64,0}, + [I(42,225)] = {X32,0xF9FFFFF3}, + [I(43,225)] = {64,0}, + [I(44,225)] = {X32,0xFAFFFFF3}, + [I(45,225)] = {30,0x16FFFFF3}, + [I(46,225)] = {30,0x17FFFFF3}, + [I(47,225)] = {30,0x18FFFFF3}, + [I(48,225)] = {29,0xFFFFF3}, + [I(49,225)] = {29,0x1FFFFF3}, + [I(50,225)] = {29,0x2FFFFF3}, + [I(51,225)] = {30,0x19FFFFF3}, + [I(52,225)] = {30,0x1AFFFFF3}, + [I(53,225)] = {30,0x1BFFFFF3}, + [I(54,225)] = {30,0x1CFFFFF3}, + [I(55,225)] = {30,0x1DFFFFF3}, + [I(56,225)] = {30,0x1EFFFFF3}, + [I(57,225)] = {30,0x1FFFFFF3}, + [I(58,225)] = {31,0x5CFFFFF3}, + [I(59,225)] = {X32,0xFBFFFFF3}, + [I(60,225)] = {64,0}, + [I(61,225)] = {30,0x20FFFFF3}, + [I(62,225)] = {64,0}, + [I(63,225)] = {64,0}, + [I(64,225)] = {64,0}, + [I(65,225)] = {30,0x21FFFFF3}, + [I(66,225)] = {31,0x5DFFFFF3}, + [I(67,225)] = {31,0x5EFFFFF3}, + [I(68,225)] = {31,0x5FFFFFF3}, + [I(69,225)] = {31,0x60FFFFF3}, + [I(70,225)] = {31,0x61FFFFF3}, + [I(71,225)] = {31,0x62FFFFF3}, + [I(72,225)] = {31,0x63FFFFF3}, + [I(73,225)] = {31,0x64FFFFF3}, + [I(74,225)] = {31,0x65FFFFF3}, + [I(75,225)] = {31,0x66FFFFF3}, + [I(76,225)] = {31,0x67FFFFF3}, + [I(77,225)] = {31,0x68FFFFF3}, + [I(78,225)] = {31,0x69FFFFF3}, + [I(79,225)] = {31,0x6AFFFFF3}, + [I(80,225)] = {31,0x6BFFFFF3}, + [I(81,225)] = {31,0x6CFFFFF3}, + [I(82,225)] = {31,0x6DFFFFF3}, + [I(83,225)] = {31,0x6EFFFFF3}, + [I(84,225)] = {31,0x6FFFFFF3}, + [I(85,225)] = {31,0x70FFFFF3}, + [I(86,225)] = {31,0x71FFFFF3}, + [I(87,225)] = {31,0x72FFFFF3}, + [I(88,225)] = {X32,0xFCFFFFF3}, + [I(89,225)] = {31,0x73FFFFF3}, + [I(90,225)] = {X32,0xFDFFFFF3}, + [I(91,225)] = {64,0}, + [I(92,225)] = {64,0}, + [I(93,225)] = {64,0}, + [I(94,225)] = {64,0}, + [I(95,225)] = {30,0x22FFFFF3}, + [I(96,225)] = {64,0}, + [I(97,225)] = {29,0x3FFFFF3}, + [I(98,225)] = {30,0x23FFFFF3}, + [I(99,225)] = {29,0x4FFFFF3}, + [I(100,225)] = {30,0x24FFFFF3}, + [I(101,225)] = {29,0x5FFFFF3}, + [I(102,225)] = {30,0x25FFFFF3}, + [I(103,225)] = {30,0x26FFFFF3}, + [I(104,225)] = {30,0x27FFFFF3}, + [I(105,225)] = {29,0x6FFFFF3}, + [I(106,225)] = {31,0x74FFFFF3}, + [I(107,225)] = {31,0x75FFFFF3}, + [I(108,225)] = {30,0x28FFFFF3}, + [I(109,225)] = {30,0x29FFFFF3}, + [I(110,225)] = {30,0x2AFFFFF3}, + [I(111,225)] = {29,0x7FFFFF3}, + [I(112,225)] = {30,0x2BFFFFF3}, + [I(113,225)] = {31,0x76FFFFF3}, + [I(114,225)] = {30,0x2CFFFFF3}, + [I(115,225)] = {29,0x8FFFFF3}, + [I(116,225)] = {29,0x9FFFFF3}, + [I(117,225)] = {30,0x2DFFFFF3}, + [I(118,225)] = {31,0x77FFFFF3}, + [I(119,225)] = {31,0x78FFFFF3}, + [I(120,225)] = {31,0x79FFFFF3}, + [I(121,225)] = {31,0x7AFFFFF3}, + [I(122,225)] = {31,0x7BFFFFF3}, + [I(123,225)] = {64,0}, + [I(124,225)] = {64,0}, + [I(125,225)] = {64,0}, + [I(126,225)] = {64,0}, + [I(127,225)] = {64,0}, + [I(128,225)] = {64,0}, + [I(129,225)] = {64,0}, + [I(130,225)] = {64,0}, + [I(131,225)] = {64,0}, + [I(132,225)] = {64,0}, + [I(133,225)] = {64,0}, + [I(134,225)] = {64,0}, + [I(135,225)] = {64,0}, + [I(136,225)] = {64,0}, + [I(137,225)] = {64,0}, + [I(138,225)] = {64,0}, + [I(139,225)] = {64,0}, + [I(140,225)] = {64,0}, + [I(141,225)] = {64,0}, + [I(142,225)] = {64,0}, + [I(143,225)] = {64,0}, + [I(144,225)] = {64,0}, + [I(145,225)] = {64,0}, + [I(146,225)] = {64,0}, + [I(147,225)] = {64,0}, + [I(148,225)] = {64,0}, + [I(149,225)] = {64,0}, + [I(150,225)] = {64,0}, + [I(151,225)] = {64,0}, + [I(152,225)] = {64,0}, + [I(153,225)] = {64,0}, + [I(154,225)] = {64,0}, + [I(155,225)] = {64,0}, + [I(156,225)] = {64,0}, + [I(157,225)] = {64,0}, + [I(158,225)] = {64,0}, + [I(159,225)] = {64,0}, + [I(160,225)] = {64,0}, + [I(161,225)] = {64,0}, + [I(162,225)] = {64,0}, + [I(163,225)] = {64,0}, + [I(164,225)] = {64,0}, + [I(165,225)] = {64,0}, + [I(166,225)] = {64,0}, + [I(167,225)] = {64,0}, + [I(168,225)] = {64,0}, + [I(169,225)] = {64,0}, + [I(170,225)] = {64,0}, + [I(171,225)] = {64,0}, + [I(172,225)] = {64,0}, + [I(173,225)] = {64,0}, + [I(174,225)] = {64,0}, + [I(175,225)] = {64,0}, + [I(176,225)] = {64,0}, + [I(177,225)] = {64,0}, + [I(178,225)] = {64,0}, + [I(179,225)] = {64,0}, + [I(180,225)] = {64,0}, + [I(181,225)] = {64,0}, + [I(182,225)] = {64,0}, + [I(183,225)] = {64,0}, + [I(184,225)] = {64,0}, + [I(185,225)] = {64,0}, + [I(186,225)] = {64,0}, + [I(187,225)] = {64,0}, + [I(188,225)] = {64,0}, + [I(189,225)] = {64,0}, + [I(190,225)] = {64,0}, + [I(191,225)] = {64,0}, + [I(192,225)] = {64,0}, + [I(193,225)] = {64,0}, + [I(194,225)] = {64,0}, + [I(195,225)] = {64,0}, + [I(196,225)] = {64,0}, + [I(197,225)] = {64,0}, + [I(198,225)] = {64,0}, + [I(199,225)] = {64,0}, + [I(200,225)] = {64,0}, + [I(201,225)] = {64,0}, + [I(202,225)] = {64,0}, + [I(203,225)] = {64,0}, + [I(204,225)] = {64,0}, + [I(205,225)] = {64,0}, + [I(206,225)] = {64,0}, + [I(207,225)] = {64,0}, + [I(208,225)] = {64,0}, + [I(209,225)] = {64,0}, + [I(210,225)] = {64,0}, + [I(211,225)] = {64,0}, + [I(212,225)] = {64,0}, + [I(213,225)] = {64,0}, + [I(214,225)] = {64,0}, + [I(215,225)] = {64,0}, + [I(216,225)] = {64,0}, + [I(217,225)] = {64,0}, + [I(218,225)] = {64,0}, + [I(219,225)] = {64,0}, + [I(220,225)] = {64,0}, + [I(221,225)] = {64,0}, + [I(222,225)] = {64,0}, + [I(223,225)] = {64,0}, + [I(224,225)] = {64,0}, + [I(225,225)] = {64,0}, + [I(226,225)] = {64,0}, + [I(227,225)] = {64,0}, + [I(228,225)] = {64,0}, + [I(229,225)] = {64,0}, + [I(230,225)] = {64,0}, + [I(231,225)] = {64,0}, + [I(232,225)] = {64,0}, + [I(233,225)] = {64,0}, + [I(234,225)] = {64,0}, + [I(235,225)] = {64,0}, + [I(236,225)] = {64,0}, + [I(237,225)] = {64,0}, + [I(238,225)] = {64,0}, + [I(239,225)] = {64,0}, + [I(240,225)] = {64,0}, + [I(241,225)] = {64,0}, + [I(242,225)] = {64,0}, + [I(243,225)] = {64,0}, + [I(244,225)] = {64,0}, + [I(245,225)] = {64,0}, + [I(246,225)] = {64,0}, + [I(247,225)] = {64,0}, + [I(248,225)] = {64,0}, + [I(249,225)] = {64,0}, + [I(250,225)] = {64,0}, + [I(251,225)] = {64,0}, + [I(252,225)] = {64,0}, + [I(253,225)] = {64,0}, + [I(254,225)] = {64,0}, + [I(255,225)] = {64,0}, + [I(0,226)] = {64,0}, + [I(1,226)] = {64,0}, + [I(2,226)] = {64,0}, + [I(3,226)] = {64,0}, + [I(4,226)] = {64,0}, + [I(5,226)] = {64,0}, + [I(6,226)] = {64,0}, + [I(7,226)] = {64,0}, + [I(8,226)] = {64,0}, + [I(9,226)] = {64,0}, + [I(10,226)] = {64,0}, + [I(11,226)] = {64,0}, + [I(12,226)] = {64,0}, + [I(13,226)] = {64,0}, + [I(14,226)] = {64,0}, + [I(15,226)] = {64,0}, + [I(16,226)] = {64,0}, + [I(17,226)] = {64,0}, + [I(18,226)] = {64,0}, + [I(19,226)] = {64,0}, + [I(20,226)] = {64,0}, + [I(21,226)] = {64,0}, + [I(22,226)] = {64,0}, + [I(23,226)] = {64,0}, + [I(24,226)] = {64,0}, + [I(25,226)] = {64,0}, + [I(26,226)] = {64,0}, + [I(27,226)] = {64,0}, + [I(28,226)] = {64,0}, + [I(29,226)] = {64,0}, + [I(30,226)] = {64,0}, + [I(31,226)] = {64,0}, + [I(32,226)] = {26,0x14FFFED}, + [I(33,226)] = {30,0x3F8FFFED}, + [I(34,226)] = {30,0x3F9FFFED}, + [I(35,226)] = {X32,0xFFAFFFED}, + [I(36,226)] = {64,0}, + [I(37,226)] = {26,0x15FFFED}, + [I(38,226)] = {28,0xF8FFFED}, + [I(39,226)] = {31,0x7FAFFFED}, + [I(40,226)] = {30,0x3FAFFFED}, + [I(41,226)] = {30,0x3FBFFFED}, + [I(42,226)] = {28,0xF9FFFED}, + [I(43,226)] = {31,0x7FBFFFED}, + [I(44,226)] = {28,0xFAFFFED}, + [I(45,226)] = {26,0x16FFFED}, + [I(46,226)] = {26,0x17FFFED}, + [I(47,226)] = {26,0x18FFFED}, + [I(48,226)] = {25,0xFFFED}, + [I(49,226)] = {25,0x1FFFED}, + [I(50,226)] = {25,0x2FFFED}, + [I(51,226)] = {26,0x19FFFED}, + [I(52,226)] = {26,0x1AFFFED}, + [I(53,226)] = {26,0x1BFFFED}, + [I(54,226)] = {26,0x1CFFFED}, + [I(55,226)] = {26,0x1DFFFED}, + [I(56,226)] = {26,0x1EFFFED}, + [I(57,226)] = {26,0x1FFFFED}, + [I(58,226)] = {27,0x5CFFFED}, + [I(59,226)] = {28,0xFBFFFED}, + [I(60,226)] = {64,0}, + [I(61,226)] = {26,0x20FFFED}, + [I(62,226)] = {X32,0xFFBFFFED}, + [I(63,226)] = {30,0x3FCFFFED}, + [I(64,226)] = {64,0}, + [I(65,226)] = {26,0x21FFFED}, + [I(66,226)] = {27,0x5DFFFED}, + [I(67,226)] = {27,0x5EFFFED}, + [I(68,226)] = {27,0x5FFFFED}, + [I(69,226)] = {27,0x60FFFED}, + [I(70,226)] = {27,0x61FFFED}, + [I(71,226)] = {27,0x62FFFED}, + [I(72,226)] = {27,0x63FFFED}, + [I(73,226)] = {27,0x64FFFED}, + [I(74,226)] = {27,0x65FFFED}, + [I(75,226)] = {27,0x66FFFED}, + [I(76,226)] = {27,0x67FFFED}, + [I(77,226)] = {27,0x68FFFED}, + [I(78,226)] = {27,0x69FFFED}, + [I(79,226)] = {27,0x6AFFFED}, + [I(80,226)] = {27,0x6BFFFED}, + [I(81,226)] = {27,0x6CFFFED}, + [I(82,226)] = {27,0x6DFFFED}, + [I(83,226)] = {27,0x6EFFFED}, + [I(84,226)] = {27,0x6FFFFED}, + [I(85,226)] = {27,0x70FFFED}, + [I(86,226)] = {27,0x71FFFED}, + [I(87,226)] = {27,0x72FFFED}, + [I(88,226)] = {28,0xFCFFFED}, + [I(89,226)] = {27,0x73FFFED}, + [I(90,226)] = {28,0xFDFFFED}, + [I(91,226)] = {64,0}, + [I(92,226)] = {64,0}, + [I(93,226)] = {64,0}, + [I(94,226)] = {64,0}, + [I(95,226)] = {26,0x22FFFED}, + [I(96,226)] = {64,0}, + [I(97,226)] = {25,0x3FFFED}, + [I(98,226)] = {26,0x23FFFED}, + [I(99,226)] = {25,0x4FFFED}, + [I(100,226)] = {26,0x24FFFED}, + [I(101,226)] = {25,0x5FFFED}, + [I(102,226)] = {26,0x25FFFED}, + [I(103,226)] = {26,0x26FFFED}, + [I(104,226)] = {26,0x27FFFED}, + [I(105,226)] = {25,0x6FFFED}, + [I(106,226)] = {27,0x74FFFED}, + [I(107,226)] = {27,0x75FFFED}, + [I(108,226)] = {26,0x28FFFED}, + [I(109,226)] = {26,0x29FFFED}, + [I(110,226)] = {26,0x2AFFFED}, + [I(111,226)] = {25,0x7FFFED}, + [I(112,226)] = {26,0x2BFFFED}, + [I(113,226)] = {27,0x76FFFED}, + [I(114,226)] = {26,0x2CFFFED}, + [I(115,226)] = {25,0x8FFFED}, + [I(116,226)] = {25,0x9FFFED}, + [I(117,226)] = {26,0x2DFFFED}, + [I(118,226)] = {27,0x77FFFED}, + [I(119,226)] = {27,0x78FFFED}, + [I(120,226)] = {27,0x79FFFED}, + [I(121,226)] = {27,0x7AFFFED}, + [I(122,226)] = {27,0x7BFFFED}, + [I(123,226)] = {64,0}, + [I(124,226)] = {31,0x7FCFFFED}, + [I(125,226)] = {64,0}, + [I(126,226)] = {64,0}, + [I(127,226)] = {64,0}, + [I(128,226)] = {64,0}, + [I(129,226)] = {64,0}, + [I(130,226)] = {64,0}, + [I(131,226)] = {64,0}, + [I(132,226)] = {64,0}, + [I(133,226)] = {64,0}, + [I(134,226)] = {64,0}, + [I(135,226)] = {64,0}, + [I(136,226)] = {64,0}, + [I(137,226)] = {64,0}, + [I(138,226)] = {64,0}, + [I(139,226)] = {64,0}, + [I(140,226)] = {64,0}, + [I(141,226)] = {64,0}, + [I(142,226)] = {64,0}, + [I(143,226)] = {64,0}, + [I(144,226)] = {64,0}, + [I(145,226)] = {64,0}, + [I(146,226)] = {64,0}, + [I(147,226)] = {64,0}, + [I(148,226)] = {64,0}, + [I(149,226)] = {64,0}, + [I(150,226)] = {64,0}, + [I(151,226)] = {64,0}, + [I(152,226)] = {64,0}, + [I(153,226)] = {64,0}, + [I(154,226)] = {64,0}, + [I(155,226)] = {64,0}, + [I(156,226)] = {64,0}, + [I(157,226)] = {64,0}, + [I(158,226)] = {64,0}, + [I(159,226)] = {64,0}, + [I(160,226)] = {64,0}, + [I(161,226)] = {64,0}, + [I(162,226)] = {64,0}, + [I(163,226)] = {64,0}, + [I(164,226)] = {64,0}, + [I(165,226)] = {64,0}, + [I(166,226)] = {64,0}, + [I(167,226)] = {64,0}, + [I(168,226)] = {64,0}, + [I(169,226)] = {64,0}, + [I(170,226)] = {64,0}, + [I(171,226)] = {64,0}, + [I(172,226)] = {64,0}, + [I(173,226)] = {64,0}, + [I(174,226)] = {64,0}, + [I(175,226)] = {64,0}, + [I(176,226)] = {64,0}, + [I(177,226)] = {64,0}, + [I(178,226)] = {64,0}, + [I(179,226)] = {64,0}, + [I(180,226)] = {64,0}, + [I(181,226)] = {64,0}, + [I(182,226)] = {64,0}, + [I(183,226)] = {64,0}, + [I(184,226)] = {64,0}, + [I(185,226)] = {64,0}, + [I(186,226)] = {64,0}, + [I(187,226)] = {64,0}, + [I(188,226)] = {64,0}, + [I(189,226)] = {64,0}, + [I(190,226)] = {64,0}, + [I(191,226)] = {64,0}, + [I(192,226)] = {64,0}, + [I(193,226)] = {64,0}, + [I(194,226)] = {64,0}, + [I(195,226)] = {64,0}, + [I(196,226)] = {64,0}, + [I(197,226)] = {64,0}, + [I(198,226)] = {64,0}, + [I(199,226)] = {64,0}, + [I(200,226)] = {64,0}, + [I(201,226)] = {64,0}, + [I(202,226)] = {64,0}, + [I(203,226)] = {64,0}, + [I(204,226)] = {64,0}, + [I(205,226)] = {64,0}, + [I(206,226)] = {64,0}, + [I(207,226)] = {64,0}, + [I(208,226)] = {64,0}, + [I(209,226)] = {64,0}, + [I(210,226)] = {64,0}, + [I(211,226)] = {64,0}, + [I(212,226)] = {64,0}, + [I(213,226)] = {64,0}, + [I(214,226)] = {64,0}, + [I(215,226)] = {64,0}, + [I(216,226)] = {64,0}, + [I(217,226)] = {64,0}, + [I(218,226)] = {64,0}, + [I(219,226)] = {64,0}, + [I(220,226)] = {64,0}, + [I(221,226)] = {64,0}, + [I(222,226)] = {64,0}, + [I(223,226)] = {64,0}, + [I(224,226)] = {64,0}, + [I(225,226)] = {64,0}, + [I(226,226)] = {64,0}, + [I(227,226)] = {64,0}, + [I(228,226)] = {64,0}, + [I(229,226)] = {64,0}, + [I(230,226)] = {64,0}, + [I(231,226)] = {64,0}, + [I(232,226)] = {64,0}, + [I(233,226)] = {64,0}, + [I(234,226)] = {64,0}, + [I(235,226)] = {64,0}, + [I(236,226)] = {64,0}, + [I(237,226)] = {64,0}, + [I(238,226)] = {64,0}, + [I(239,226)] = {64,0}, + [I(240,226)] = {64,0}, + [I(241,226)] = {64,0}, + [I(242,226)] = {64,0}, + [I(243,226)] = {64,0}, + [I(244,226)] = {64,0}, + [I(245,226)] = {64,0}, + [I(246,226)] = {64,0}, + [I(247,226)] = {64,0}, + [I(248,226)] = {64,0}, + [I(249,226)] = {64,0}, + [I(250,226)] = {64,0}, + [I(251,226)] = {64,0}, + [I(252,226)] = {64,0}, + [I(253,226)] = {64,0}, + [I(254,226)] = {64,0}, + [I(255,226)] = {64,0}, + [I(0,227)] = {64,0}, + [I(1,227)] = {64,0}, + [I(2,227)] = {64,0}, + [I(3,227)] = {64,0}, + [I(4,227)] = {64,0}, + [I(5,227)] = {64,0}, + [I(6,227)] = {64,0}, + [I(7,227)] = {64,0}, + [I(8,227)] = {64,0}, + [I(9,227)] = {64,0}, + [I(10,227)] = {64,0}, + [I(11,227)] = {64,0}, + [I(12,227)] = {64,0}, + [I(13,227)] = {64,0}, + [I(14,227)] = {64,0}, + [I(15,227)] = {64,0}, + [I(16,227)] = {64,0}, + [I(17,227)] = {64,0}, + [I(18,227)] = {64,0}, + [I(19,227)] = {64,0}, + [I(20,227)] = {64,0}, + [I(21,227)] = {64,0}, + [I(22,227)] = {64,0}, + [I(23,227)] = {64,0}, + [I(24,227)] = {64,0}, + [I(25,227)] = {64,0}, + [I(26,227)] = {64,0}, + [I(27,227)] = {64,0}, + [I(28,227)] = {64,0}, + [I(29,227)] = {64,0}, + [I(30,227)] = {64,0}, + [I(31,227)] = {64,0}, + [I(32,227)] = {27,0x29FFFE6}, + [I(33,227)] = {31,0x7F1FFFE6}, + [I(34,227)] = {31,0x7F3FFFE6}, + [I(35,227)] = {64,0}, + [I(36,227)] = {64,0}, + [I(37,227)] = {27,0x2BFFFE6}, + [I(38,227)] = {29,0x1F1FFFE6}, + [I(39,227)] = {X32,0xFF5FFFE6}, + [I(40,227)] = {31,0x7F5FFFE6}, + [I(41,227)] = {31,0x7F7FFFE6}, + [I(42,227)] = {29,0x1F3FFFE6}, + [I(43,227)] = {X32,0xFF7FFFE6}, + [I(44,227)] = {29,0x1F5FFFE6}, + [I(45,227)] = {27,0x2DFFFE6}, + [I(46,227)] = {27,0x2FFFFE6}, + [I(47,227)] = {27,0x31FFFE6}, + [I(48,227)] = {26,0x1FFFE6}, + [I(49,227)] = {26,0x3FFFE6}, + [I(50,227)] = {26,0x5FFFE6}, + [I(51,227)] = {27,0x33FFFE6}, + [I(52,227)] = {27,0x35FFFE6}, + [I(53,227)] = {27,0x37FFFE6}, + [I(54,227)] = {27,0x39FFFE6}, + [I(55,227)] = {27,0x3BFFFE6}, + [I(56,227)] = {27,0x3DFFFE6}, + [I(57,227)] = {27,0x3FFFFE6}, + [I(58,227)] = {28,0xB9FFFE6}, + [I(59,227)] = {29,0x1F7FFFE6}, + [I(60,227)] = {64,0}, + [I(61,227)] = {27,0x41FFFE6}, + [I(62,227)] = {64,0}, + [I(63,227)] = {31,0x7F9FFFE6}, + [I(64,227)] = {64,0}, + [I(65,227)] = {27,0x43FFFE6}, + [I(66,227)] = {28,0xBBFFFE6}, + [I(67,227)] = {28,0xBDFFFE6}, + [I(68,227)] = {28,0xBFFFFE6}, + [I(69,227)] = {28,0xC1FFFE6}, + [I(70,227)] = {28,0xC3FFFE6}, + [I(71,227)] = {28,0xC5FFFE6}, + [I(72,227)] = {28,0xC7FFFE6}, + [I(73,227)] = {28,0xC9FFFE6}, + [I(74,227)] = {28,0xCBFFFE6}, + [I(75,227)] = {28,0xCDFFFE6}, + [I(76,227)] = {28,0xCFFFFE6}, + [I(77,227)] = {28,0xD1FFFE6}, + [I(78,227)] = {28,0xD3FFFE6}, + [I(79,227)] = {28,0xD5FFFE6}, + [I(80,227)] = {28,0xD7FFFE6}, + [I(81,227)] = {28,0xD9FFFE6}, + [I(82,227)] = {28,0xDBFFFE6}, + [I(83,227)] = {28,0xDDFFFE6}, + [I(84,227)] = {28,0xDFFFFE6}, + [I(85,227)] = {28,0xE1FFFE6}, + [I(86,227)] = {28,0xE3FFFE6}, + [I(87,227)] = {28,0xE5FFFE6}, + [I(88,227)] = {29,0x1F9FFFE6}, + [I(89,227)] = {28,0xE7FFFE6}, + [I(90,227)] = {29,0x1FBFFFE6}, + [I(91,227)] = {64,0}, + [I(92,227)] = {64,0}, + [I(93,227)] = {64,0}, + [I(94,227)] = {64,0}, + [I(95,227)] = {27,0x45FFFE6}, + [I(96,227)] = {64,0}, + [I(97,227)] = {26,0x7FFFE6}, + [I(98,227)] = {27,0x47FFFE6}, + [I(99,227)] = {26,0x9FFFE6}, + [I(100,227)] = {27,0x49FFFE6}, + [I(101,227)] = {26,0xBFFFE6}, + [I(102,227)] = {27,0x4BFFFE6}, + [I(103,227)] = {27,0x4DFFFE6}, + [I(104,227)] = {27,0x4FFFFE6}, + [I(105,227)] = {26,0xDFFFE6}, + [I(106,227)] = {28,0xE9FFFE6}, + [I(107,227)] = {28,0xEBFFFE6}, + [I(108,227)] = {27,0x51FFFE6}, + [I(109,227)] = {27,0x53FFFE6}, + [I(110,227)] = {27,0x55FFFE6}, + [I(111,227)] = {26,0xFFFFE6}, + [I(112,227)] = {27,0x57FFFE6}, + [I(113,227)] = {28,0xEDFFFE6}, + [I(114,227)] = {27,0x59FFFE6}, + [I(115,227)] = {26,0x11FFFE6}, + [I(116,227)] = {26,0x13FFFE6}, + [I(117,227)] = {27,0x5BFFFE6}, + [I(118,227)] = {28,0xEFFFFE6}, + [I(119,227)] = {28,0xF1FFFE6}, + [I(120,227)] = {28,0xF3FFFE6}, + [I(121,227)] = {28,0xF5FFFE6}, + [I(122,227)] = {28,0xF7FFFE6}, + [I(123,227)] = {64,0}, + [I(124,227)] = {X32,0xFF9FFFE6}, + [I(125,227)] = {64,0}, + [I(126,227)] = {64,0}, + [I(127,227)] = {64,0}, + [I(128,227)] = {64,0}, + [I(129,227)] = {64,0}, + [I(130,227)] = {64,0}, + [I(131,227)] = {64,0}, + [I(132,227)] = {64,0}, + [I(133,227)] = {64,0}, + [I(134,227)] = {64,0}, + [I(135,227)] = {64,0}, + [I(136,227)] = {64,0}, + [I(137,227)] = {64,0}, + [I(138,227)] = {64,0}, + [I(139,227)] = {64,0}, + [I(140,227)] = {64,0}, + [I(141,227)] = {64,0}, + [I(142,227)] = {64,0}, + [I(143,227)] = {64,0}, + [I(144,227)] = {64,0}, + [I(145,227)] = {64,0}, + [I(146,227)] = {64,0}, + [I(147,227)] = {64,0}, + [I(148,227)] = {64,0}, + [I(149,227)] = {64,0}, + [I(150,227)] = {64,0}, + [I(151,227)] = {64,0}, + [I(152,227)] = {64,0}, + [I(153,227)] = {64,0}, + [I(154,227)] = {64,0}, + [I(155,227)] = {64,0}, + [I(156,227)] = {64,0}, + [I(157,227)] = {64,0}, + [I(158,227)] = {64,0}, + [I(159,227)] = {64,0}, + [I(160,227)] = {64,0}, + [I(161,227)] = {64,0}, + [I(162,227)] = {64,0}, + [I(163,227)] = {64,0}, + [I(164,227)] = {64,0}, + [I(165,227)] = {64,0}, + [I(166,227)] = {64,0}, + [I(167,227)] = {64,0}, + [I(168,227)] = {64,0}, + [I(169,227)] = {64,0}, + [I(170,227)] = {64,0}, + [I(171,227)] = {64,0}, + [I(172,227)] = {64,0}, + [I(173,227)] = {64,0}, + [I(174,227)] = {64,0}, + [I(175,227)] = {64,0}, + [I(176,227)] = {64,0}, + [I(177,227)] = {64,0}, + [I(178,227)] = {64,0}, + [I(179,227)] = {64,0}, + [I(180,227)] = {64,0}, + [I(181,227)] = {64,0}, + [I(182,227)] = {64,0}, + [I(183,227)] = {64,0}, + [I(184,227)] = {64,0}, + [I(185,227)] = {64,0}, + [I(186,227)] = {64,0}, + [I(187,227)] = {64,0}, + [I(188,227)] = {64,0}, + [I(189,227)] = {64,0}, + [I(190,227)] = {64,0}, + [I(191,227)] = {64,0}, + [I(192,227)] = {64,0}, + [I(193,227)] = {64,0}, + [I(194,227)] = {64,0}, + [I(195,227)] = {64,0}, + [I(196,227)] = {64,0}, + [I(197,227)] = {64,0}, + [I(198,227)] = {64,0}, + [I(199,227)] = {64,0}, + [I(200,227)] = {64,0}, + [I(201,227)] = {64,0}, + [I(202,227)] = {64,0}, + [I(203,227)] = {64,0}, + [I(204,227)] = {64,0}, + [I(205,227)] = {64,0}, + [I(206,227)] = {64,0}, + [I(207,227)] = {64,0}, + [I(208,227)] = {64,0}, + [I(209,227)] = {64,0}, + [I(210,227)] = {64,0}, + [I(211,227)] = {64,0}, + [I(212,227)] = {64,0}, + [I(213,227)] = {64,0}, + [I(214,227)] = {64,0}, + [I(215,227)] = {64,0}, + [I(216,227)] = {64,0}, + [I(217,227)] = {64,0}, + [I(218,227)] = {64,0}, + [I(219,227)] = {64,0}, + [I(220,227)] = {64,0}, + [I(221,227)] = {64,0}, + [I(222,227)] = {64,0}, + [I(223,227)] = {64,0}, + [I(224,227)] = {64,0}, + [I(225,227)] = {64,0}, + [I(226,227)] = {64,0}, + [I(227,227)] = {64,0}, + [I(228,227)] = {64,0}, + [I(229,227)] = {64,0}, + [I(230,227)] = {64,0}, + [I(231,227)] = {64,0}, + [I(232,227)] = {64,0}, + [I(233,227)] = {64,0}, + [I(234,227)] = {64,0}, + [I(235,227)] = {64,0}, + [I(236,227)] = {64,0}, + [I(237,227)] = {64,0}, + [I(238,227)] = {64,0}, + [I(239,227)] = {64,0}, + [I(240,227)] = {64,0}, + [I(241,227)] = {64,0}, + [I(242,227)] = {64,0}, + [I(243,227)] = {64,0}, + [I(244,227)] = {64,0}, + [I(245,227)] = {64,0}, + [I(246,227)] = {64,0}, + [I(247,227)] = {64,0}, + [I(248,227)] = {64,0}, + [I(249,227)] = {64,0}, + [I(250,227)] = {64,0}, + [I(251,227)] = {64,0}, + [I(252,227)] = {64,0}, + [I(253,227)] = {64,0}, + [I(254,227)] = {64,0}, + [I(255,227)] = {64,0}, + [I(0,228)] = {64,0}, + [I(1,228)] = {64,0}, + [I(2,228)] = {64,0}, + [I(3,228)] = {64,0}, + [I(4,228)] = {64,0}, + [I(5,228)] = {64,0}, + [I(6,228)] = {64,0}, + [I(7,228)] = {64,0}, + [I(8,228)] = {64,0}, + [I(9,228)] = {64,0}, + [I(10,228)] = {64,0}, + [I(11,228)] = {64,0}, + [I(12,228)] = {64,0}, + [I(13,228)] = {64,0}, + [I(14,228)] = {64,0}, + [I(15,228)] = {64,0}, + [I(16,228)] = {64,0}, + [I(17,228)] = {64,0}, + [I(18,228)] = {64,0}, + [I(19,228)] = {64,0}, + [I(20,228)] = {64,0}, + [I(21,228)] = {64,0}, + [I(22,228)] = {64,0}, + [I(23,228)] = {64,0}, + [I(24,228)] = {64,0}, + [I(25,228)] = {64,0}, + [I(26,228)] = {64,0}, + [I(27,228)] = {64,0}, + [I(28,228)] = {64,0}, + [I(29,228)] = {64,0}, + [I(30,228)] = {64,0}, + [I(31,228)] = {64,0}, + [I(32,228)] = {28,0x53FFFE9}, + [I(33,228)] = {X32,0xFE3FFFE9}, + [I(34,228)] = {X32,0xFE7FFFE9}, + [I(35,228)] = {64,0}, + [I(36,228)] = {64,0}, + [I(37,228)] = {28,0x57FFFE9}, + [I(38,228)] = {30,0x3E3FFFE9}, + [I(39,228)] = {64,0}, + [I(40,228)] = {X32,0xFEBFFFE9}, + [I(41,228)] = {X32,0xFEFFFFE9}, + [I(42,228)] = {30,0x3E7FFFE9}, + [I(43,228)] = {64,0}, + [I(44,228)] = {30,0x3EBFFFE9}, + [I(45,228)] = {28,0x5BFFFE9}, + [I(46,228)] = {28,0x5FFFFE9}, + [I(47,228)] = {28,0x63FFFE9}, + [I(48,228)] = {27,0x3FFFE9}, + [I(49,228)] = {27,0x7FFFE9}, + [I(50,228)] = {27,0xBFFFE9}, + [I(51,228)] = {28,0x67FFFE9}, + [I(52,228)] = {28,0x6BFFFE9}, + [I(53,228)] = {28,0x6FFFFE9}, + [I(54,228)] = {28,0x73FFFE9}, + [I(55,228)] = {28,0x77FFFE9}, + [I(56,228)] = {28,0x7BFFFE9}, + [I(57,228)] = {28,0x7FFFFE9}, + [I(58,228)] = {29,0x173FFFE9}, + [I(59,228)] = {30,0x3EFFFFE9}, + [I(60,228)] = {64,0}, + [I(61,228)] = {28,0x83FFFE9}, + [I(62,228)] = {64,0}, + [I(63,228)] = {X32,0xFF3FFFE9}, + [I(64,228)] = {64,0}, + [I(65,228)] = {28,0x87FFFE9}, + [I(66,228)] = {29,0x177FFFE9}, + [I(67,228)] = {29,0x17BFFFE9}, + [I(68,228)] = {29,0x17FFFFE9}, + [I(69,228)] = {29,0x183FFFE9}, + [I(70,228)] = {29,0x187FFFE9}, + [I(71,228)] = {29,0x18BFFFE9}, + [I(72,228)] = {29,0x18FFFFE9}, + [I(73,228)] = {29,0x193FFFE9}, + [I(74,228)] = {29,0x197FFFE9}, + [I(75,228)] = {29,0x19BFFFE9}, + [I(76,228)] = {29,0x19FFFFE9}, + [I(77,228)] = {29,0x1A3FFFE9}, + [I(78,228)] = {29,0x1A7FFFE9}, + [I(79,228)] = {29,0x1ABFFFE9}, + [I(80,228)] = {29,0x1AFFFFE9}, + [I(81,228)] = {29,0x1B3FFFE9}, + [I(82,228)] = {29,0x1B7FFFE9}, + [I(83,228)] = {29,0x1BBFFFE9}, + [I(84,228)] = {29,0x1BFFFFE9}, + [I(85,228)] = {29,0x1C3FFFE9}, + [I(86,228)] = {29,0x1C7FFFE9}, + [I(87,228)] = {29,0x1CBFFFE9}, + [I(88,228)] = {30,0x3F3FFFE9}, + [I(89,228)] = {29,0x1CFFFFE9}, + [I(90,228)] = {30,0x3F7FFFE9}, + [I(91,228)] = {64,0}, + [I(92,228)] = {64,0}, + [I(93,228)] = {64,0}, + [I(94,228)] = {64,0}, + [I(95,228)] = {28,0x8BFFFE9}, + [I(96,228)] = {64,0}, + [I(97,228)] = {27,0xFFFFE9}, + [I(98,228)] = {28,0x8FFFFE9}, + [I(99,228)] = {27,0x13FFFE9}, + [I(100,228)] = {28,0x93FFFE9}, + [I(101,228)] = {27,0x17FFFE9}, + [I(102,228)] = {28,0x97FFFE9}, + [I(103,228)] = {28,0x9BFFFE9}, + [I(104,228)] = {28,0x9FFFFE9}, + [I(105,228)] = {27,0x1BFFFE9}, + [I(106,228)] = {29,0x1D3FFFE9}, + [I(107,228)] = {29,0x1D7FFFE9}, + [I(108,228)] = {28,0xA3FFFE9}, + [I(109,228)] = {28,0xA7FFFE9}, + [I(110,228)] = {28,0xABFFFE9}, + [I(111,228)] = {27,0x1FFFFE9}, + [I(112,228)] = {28,0xAFFFFE9}, + [I(113,228)] = {29,0x1DBFFFE9}, + [I(114,228)] = {28,0xB3FFFE9}, + [I(115,228)] = {27,0x23FFFE9}, + [I(116,228)] = {27,0x27FFFE9}, + [I(117,228)] = {28,0xB7FFFE9}, + [I(118,228)] = {29,0x1DFFFFE9}, + [I(119,228)] = {29,0x1E3FFFE9}, + [I(120,228)] = {29,0x1E7FFFE9}, + [I(121,228)] = {29,0x1EBFFFE9}, + [I(122,228)] = {29,0x1EFFFFE9}, + [I(123,228)] = {64,0}, + [I(124,228)] = {64,0}, + [I(125,228)] = {64,0}, + [I(126,228)] = {64,0}, + [I(127,228)] = {64,0}, + [I(128,228)] = {64,0}, + [I(129,228)] = {64,0}, + [I(130,228)] = {64,0}, + [I(131,228)] = {64,0}, + [I(132,228)] = {64,0}, + [I(133,228)] = {64,0}, + [I(134,228)] = {64,0}, + [I(135,228)] = {64,0}, + [I(136,228)] = {64,0}, + [I(137,228)] = {64,0}, + [I(138,228)] = {64,0}, + [I(139,228)] = {64,0}, + [I(140,228)] = {64,0}, + [I(141,228)] = {64,0}, + [I(142,228)] = {64,0}, + [I(143,228)] = {64,0}, + [I(144,228)] = {64,0}, + [I(145,228)] = {64,0}, + [I(146,228)] = {64,0}, + [I(147,228)] = {64,0}, + [I(148,228)] = {64,0}, + [I(149,228)] = {64,0}, + [I(150,228)] = {64,0}, + [I(151,228)] = {64,0}, + [I(152,228)] = {64,0}, + [I(153,228)] = {64,0}, + [I(154,228)] = {64,0}, + [I(155,228)] = {64,0}, + [I(156,228)] = {64,0}, + [I(157,228)] = {64,0}, + [I(158,228)] = {64,0}, + [I(159,228)] = {64,0}, + [I(160,228)] = {64,0}, + [I(161,228)] = {64,0}, + [I(162,228)] = {64,0}, + [I(163,228)] = {64,0}, + [I(164,228)] = {64,0}, + [I(165,228)] = {64,0}, + [I(166,228)] = {64,0}, + [I(167,228)] = {64,0}, + [I(168,228)] = {64,0}, + [I(169,228)] = {64,0}, + [I(170,228)] = {64,0}, + [I(171,228)] = {64,0}, + [I(172,228)] = {64,0}, + [I(173,228)] = {64,0}, + [I(174,228)] = {64,0}, + [I(175,228)] = {64,0}, + [I(176,228)] = {64,0}, + [I(177,228)] = {64,0}, + [I(178,228)] = {64,0}, + [I(179,228)] = {64,0}, + [I(180,228)] = {64,0}, + [I(181,228)] = {64,0}, + [I(182,228)] = {64,0}, + [I(183,228)] = {64,0}, + [I(184,228)] = {64,0}, + [I(185,228)] = {64,0}, + [I(186,228)] = {64,0}, + [I(187,228)] = {64,0}, + [I(188,228)] = {64,0}, + [I(189,228)] = {64,0}, + [I(190,228)] = {64,0}, + [I(191,228)] = {64,0}, + [I(192,228)] = {64,0}, + [I(193,228)] = {64,0}, + [I(194,228)] = {64,0}, + [I(195,228)] = {64,0}, + [I(196,228)] = {64,0}, + [I(197,228)] = {64,0}, + [I(198,228)] = {64,0}, + [I(199,228)] = {64,0}, + [I(200,228)] = {64,0}, + [I(201,228)] = {64,0}, + [I(202,228)] = {64,0}, + [I(203,228)] = {64,0}, + [I(204,228)] = {64,0}, + [I(205,228)] = {64,0}, + [I(206,228)] = {64,0}, + [I(207,228)] = {64,0}, + [I(208,228)] = {64,0}, + [I(209,228)] = {64,0}, + [I(210,228)] = {64,0}, + [I(211,228)] = {64,0}, + [I(212,228)] = {64,0}, + [I(213,228)] = {64,0}, + [I(214,228)] = {64,0}, + [I(215,228)] = {64,0}, + [I(216,228)] = {64,0}, + [I(217,228)] = {64,0}, + [I(218,228)] = {64,0}, + [I(219,228)] = {64,0}, + [I(220,228)] = {64,0}, + [I(221,228)] = {64,0}, + [I(222,228)] = {64,0}, + [I(223,228)] = {64,0}, + [I(224,228)] = {64,0}, + [I(225,228)] = {64,0}, + [I(226,228)] = {64,0}, + [I(227,228)] = {64,0}, + [I(228,228)] = {64,0}, + [I(229,228)] = {64,0}, + [I(230,228)] = {64,0}, + [I(231,228)] = {64,0}, + [I(232,228)] = {64,0}, + [I(233,228)] = {64,0}, + [I(234,228)] = {64,0}, + [I(235,228)] = {64,0}, + [I(236,228)] = {64,0}, + [I(237,228)] = {64,0}, + [I(238,228)] = {64,0}, + [I(239,228)] = {64,0}, + [I(240,228)] = {64,0}, + [I(241,228)] = {64,0}, + [I(242,228)] = {64,0}, + [I(243,228)] = {64,0}, + [I(244,228)] = {64,0}, + [I(245,228)] = {64,0}, + [I(246,228)] = {64,0}, + [I(247,228)] = {64,0}, + [I(248,228)] = {64,0}, + [I(249,228)] = {64,0}, + [I(250,228)] = {64,0}, + [I(251,228)] = {64,0}, + [I(252,228)] = {64,0}, + [I(253,228)] = {64,0}, + [I(254,228)] = {64,0}, + [I(255,228)] = {64,0}, + [I(0,229)] = {64,0}, + [I(1,229)] = {64,0}, + [I(2,229)] = {64,0}, + [I(3,229)] = {64,0}, + [I(4,229)] = {64,0}, + [I(5,229)] = {64,0}, + [I(6,229)] = {64,0}, + [I(7,229)] = {64,0}, + [I(8,229)] = {64,0}, + [I(9,229)] = {64,0}, + [I(10,229)] = {64,0}, + [I(11,229)] = {64,0}, + [I(12,229)] = {64,0}, + [I(13,229)] = {64,0}, + [I(14,229)] = {64,0}, + [I(15,229)] = {64,0}, + [I(16,229)] = {64,0}, + [I(17,229)] = {64,0}, + [I(18,229)] = {64,0}, + [I(19,229)] = {64,0}, + [I(20,229)] = {64,0}, + [I(21,229)] = {64,0}, + [I(22,229)] = {64,0}, + [I(23,229)] = {64,0}, + [I(24,229)] = {64,0}, + [I(25,229)] = {64,0}, + [I(26,229)] = {64,0}, + [I(27,229)] = {64,0}, + [I(28,229)] = {64,0}, + [I(29,229)] = {64,0}, + [I(30,229)] = {64,0}, + [I(31,229)] = {64,0}, + [I(32,229)] = {27,0x29FFFE7}, + [I(33,229)] = {31,0x7F1FFFE7}, + [I(34,229)] = {31,0x7F3FFFE7}, + [I(35,229)] = {64,0}, + [I(36,229)] = {64,0}, + [I(37,229)] = {27,0x2BFFFE7}, + [I(38,229)] = {29,0x1F1FFFE7}, + [I(39,229)] = {X32,0xFF5FFFE7}, + [I(40,229)] = {31,0x7F5FFFE7}, + [I(41,229)] = {31,0x7F7FFFE7}, + [I(42,229)] = {29,0x1F3FFFE7}, + [I(43,229)] = {X32,0xFF7FFFE7}, + [I(44,229)] = {29,0x1F5FFFE7}, + [I(45,229)] = {27,0x2DFFFE7}, + [I(46,229)] = {27,0x2FFFFE7}, + [I(47,229)] = {27,0x31FFFE7}, + [I(48,229)] = {26,0x1FFFE7}, + [I(49,229)] = {26,0x3FFFE7}, + [I(50,229)] = {26,0x5FFFE7}, + [I(51,229)] = {27,0x33FFFE7}, + [I(52,229)] = {27,0x35FFFE7}, + [I(53,229)] = {27,0x37FFFE7}, + [I(54,229)] = {27,0x39FFFE7}, + [I(55,229)] = {27,0x3BFFFE7}, + [I(56,229)] = {27,0x3DFFFE7}, + [I(57,229)] = {27,0x3FFFFE7}, + [I(58,229)] = {28,0xB9FFFE7}, + [I(59,229)] = {29,0x1F7FFFE7}, + [I(60,229)] = {64,0}, + [I(61,229)] = {27,0x41FFFE7}, + [I(62,229)] = {64,0}, + [I(63,229)] = {31,0x7F9FFFE7}, + [I(64,229)] = {64,0}, + [I(65,229)] = {27,0x43FFFE7}, + [I(66,229)] = {28,0xBBFFFE7}, + [I(67,229)] = {28,0xBDFFFE7}, + [I(68,229)] = {28,0xBFFFFE7}, + [I(69,229)] = {28,0xC1FFFE7}, + [I(70,229)] = {28,0xC3FFFE7}, + [I(71,229)] = {28,0xC5FFFE7}, + [I(72,229)] = {28,0xC7FFFE7}, + [I(73,229)] = {28,0xC9FFFE7}, + [I(74,229)] = {28,0xCBFFFE7}, + [I(75,229)] = {28,0xCDFFFE7}, + [I(76,229)] = {28,0xCFFFFE7}, + [I(77,229)] = {28,0xD1FFFE7}, + [I(78,229)] = {28,0xD3FFFE7}, + [I(79,229)] = {28,0xD5FFFE7}, + [I(80,229)] = {28,0xD7FFFE7}, + [I(81,229)] = {28,0xD9FFFE7}, + [I(82,229)] = {28,0xDBFFFE7}, + [I(83,229)] = {28,0xDDFFFE7}, + [I(84,229)] = {28,0xDFFFFE7}, + [I(85,229)] = {28,0xE1FFFE7}, + [I(86,229)] = {28,0xE3FFFE7}, + [I(87,229)] = {28,0xE5FFFE7}, + [I(88,229)] = {29,0x1F9FFFE7}, + [I(89,229)] = {28,0xE7FFFE7}, + [I(90,229)] = {29,0x1FBFFFE7}, + [I(91,229)] = {64,0}, + [I(92,229)] = {64,0}, + [I(93,229)] = {64,0}, + [I(94,229)] = {64,0}, + [I(95,229)] = {27,0x45FFFE7}, + [I(96,229)] = {64,0}, + [I(97,229)] = {26,0x7FFFE7}, + [I(98,229)] = {27,0x47FFFE7}, + [I(99,229)] = {26,0x9FFFE7}, + [I(100,229)] = {27,0x49FFFE7}, + [I(101,229)] = {26,0xBFFFE7}, + [I(102,229)] = {27,0x4BFFFE7}, + [I(103,229)] = {27,0x4DFFFE7}, + [I(104,229)] = {27,0x4FFFFE7}, + [I(105,229)] = {26,0xDFFFE7}, + [I(106,229)] = {28,0xE9FFFE7}, + [I(107,229)] = {28,0xEBFFFE7}, + [I(108,229)] = {27,0x51FFFE7}, + [I(109,229)] = {27,0x53FFFE7}, + [I(110,229)] = {27,0x55FFFE7}, + [I(111,229)] = {26,0xFFFFE7}, + [I(112,229)] = {27,0x57FFFE7}, + [I(113,229)] = {28,0xEDFFFE7}, + [I(114,229)] = {27,0x59FFFE7}, + [I(115,229)] = {26,0x11FFFE7}, + [I(116,229)] = {26,0x13FFFE7}, + [I(117,229)] = {27,0x5BFFFE7}, + [I(118,229)] = {28,0xEFFFFE7}, + [I(119,229)] = {28,0xF1FFFE7}, + [I(120,229)] = {28,0xF3FFFE7}, + [I(121,229)] = {28,0xF5FFFE7}, + [I(122,229)] = {28,0xF7FFFE7}, + [I(123,229)] = {64,0}, + [I(124,229)] = {X32,0xFF9FFFE7}, + [I(125,229)] = {64,0}, + [I(126,229)] = {64,0}, + [I(127,229)] = {64,0}, + [I(128,229)] = {64,0}, + [I(129,229)] = {64,0}, + [I(130,229)] = {64,0}, + [I(131,229)] = {64,0}, + [I(132,229)] = {64,0}, + [I(133,229)] = {64,0}, + [I(134,229)] = {64,0}, + [I(135,229)] = {64,0}, + [I(136,229)] = {64,0}, + [I(137,229)] = {64,0}, + [I(138,229)] = {64,0}, + [I(139,229)] = {64,0}, + [I(140,229)] = {64,0}, + [I(141,229)] = {64,0}, + [I(142,229)] = {64,0}, + [I(143,229)] = {64,0}, + [I(144,229)] = {64,0}, + [I(145,229)] = {64,0}, + [I(146,229)] = {64,0}, + [I(147,229)] = {64,0}, + [I(148,229)] = {64,0}, + [I(149,229)] = {64,0}, + [I(150,229)] = {64,0}, + [I(151,229)] = {64,0}, + [I(152,229)] = {64,0}, + [I(153,229)] = {64,0}, + [I(154,229)] = {64,0}, + [I(155,229)] = {64,0}, + [I(156,229)] = {64,0}, + [I(157,229)] = {64,0}, + [I(158,229)] = {64,0}, + [I(159,229)] = {64,0}, + [I(160,229)] = {64,0}, + [I(161,229)] = {64,0}, + [I(162,229)] = {64,0}, + [I(163,229)] = {64,0}, + [I(164,229)] = {64,0}, + [I(165,229)] = {64,0}, + [I(166,229)] = {64,0}, + [I(167,229)] = {64,0}, + [I(168,229)] = {64,0}, + [I(169,229)] = {64,0}, + [I(170,229)] = {64,0}, + [I(171,229)] = {64,0}, + [I(172,229)] = {64,0}, + [I(173,229)] = {64,0}, + [I(174,229)] = {64,0}, + [I(175,229)] = {64,0}, + [I(176,229)] = {64,0}, + [I(177,229)] = {64,0}, + [I(178,229)] = {64,0}, + [I(179,229)] = {64,0}, + [I(180,229)] = {64,0}, + [I(181,229)] = {64,0}, + [I(182,229)] = {64,0}, + [I(183,229)] = {64,0}, + [I(184,229)] = {64,0}, + [I(185,229)] = {64,0}, + [I(186,229)] = {64,0}, + [I(187,229)] = {64,0}, + [I(188,229)] = {64,0}, + [I(189,229)] = {64,0}, + [I(190,229)] = {64,0}, + [I(191,229)] = {64,0}, + [I(192,229)] = {64,0}, + [I(193,229)] = {64,0}, + [I(194,229)] = {64,0}, + [I(195,229)] = {64,0}, + [I(196,229)] = {64,0}, + [I(197,229)] = {64,0}, + [I(198,229)] = {64,0}, + [I(199,229)] = {64,0}, + [I(200,229)] = {64,0}, + [I(201,229)] = {64,0}, + [I(202,229)] = {64,0}, + [I(203,229)] = {64,0}, + [I(204,229)] = {64,0}, + [I(205,229)] = {64,0}, + [I(206,229)] = {64,0}, + [I(207,229)] = {64,0}, + [I(208,229)] = {64,0}, + [I(209,229)] = {64,0}, + [I(210,229)] = {64,0}, + [I(211,229)] = {64,0}, + [I(212,229)] = {64,0}, + [I(213,229)] = {64,0}, + [I(214,229)] = {64,0}, + [I(215,229)] = {64,0}, + [I(216,229)] = {64,0}, + [I(217,229)] = {64,0}, + [I(218,229)] = {64,0}, + [I(219,229)] = {64,0}, + [I(220,229)] = {64,0}, + [I(221,229)] = {64,0}, + [I(222,229)] = {64,0}, + [I(223,229)] = {64,0}, + [I(224,229)] = {64,0}, + [I(225,229)] = {64,0}, + [I(226,229)] = {64,0}, + [I(227,229)] = {64,0}, + [I(228,229)] = {64,0}, + [I(229,229)] = {64,0}, + [I(230,229)] = {64,0}, + [I(231,229)] = {64,0}, + [I(232,229)] = {64,0}, + [I(233,229)] = {64,0}, + [I(234,229)] = {64,0}, + [I(235,229)] = {64,0}, + [I(236,229)] = {64,0}, + [I(237,229)] = {64,0}, + [I(238,229)] = {64,0}, + [I(239,229)] = {64,0}, + [I(240,229)] = {64,0}, + [I(241,229)] = {64,0}, + [I(242,229)] = {64,0}, + [I(243,229)] = {64,0}, + [I(244,229)] = {64,0}, + [I(245,229)] = {64,0}, + [I(246,229)] = {64,0}, + [I(247,229)] = {64,0}, + [I(248,229)] = {64,0}, + [I(249,229)] = {64,0}, + [I(250,229)] = {64,0}, + [I(251,229)] = {64,0}, + [I(252,229)] = {64,0}, + [I(253,229)] = {64,0}, + [I(254,229)] = {64,0}, + [I(255,229)] = {64,0}, + [I(0,230)] = {64,0}, + [I(1,230)] = {64,0}, + [I(2,230)] = {64,0}, + [I(3,230)] = {64,0}, + [I(4,230)] = {64,0}, + [I(5,230)] = {64,0}, + [I(6,230)] = {64,0}, + [I(7,230)] = {64,0}, + [I(8,230)] = {64,0}, + [I(9,230)] = {64,0}, + [I(10,230)] = {64,0}, + [I(11,230)] = {64,0}, + [I(12,230)] = {64,0}, + [I(13,230)] = {64,0}, + [I(14,230)] = {64,0}, + [I(15,230)] = {64,0}, + [I(16,230)] = {64,0}, + [I(17,230)] = {64,0}, + [I(18,230)] = {64,0}, + [I(19,230)] = {64,0}, + [I(20,230)] = {64,0}, + [I(21,230)] = {64,0}, + [I(22,230)] = {64,0}, + [I(23,230)] = {64,0}, + [I(24,230)] = {64,0}, + [I(25,230)] = {64,0}, + [I(26,230)] = {64,0}, + [I(27,230)] = {64,0}, + [I(28,230)] = {64,0}, + [I(29,230)] = {64,0}, + [I(30,230)] = {64,0}, + [I(31,230)] = {64,0}, + [I(32,230)] = {27,0x29FFFE8}, + [I(33,230)] = {31,0x7F1FFFE8}, + [I(34,230)] = {31,0x7F3FFFE8}, + [I(35,230)] = {64,0}, + [I(36,230)] = {64,0}, + [I(37,230)] = {27,0x2BFFFE8}, + [I(38,230)] = {29,0x1F1FFFE8}, + [I(39,230)] = {X32,0xFF5FFFE8}, + [I(40,230)] = {31,0x7F5FFFE8}, + [I(41,230)] = {31,0x7F7FFFE8}, + [I(42,230)] = {29,0x1F3FFFE8}, + [I(43,230)] = {X32,0xFF7FFFE8}, + [I(44,230)] = {29,0x1F5FFFE8}, + [I(45,230)] = {27,0x2DFFFE8}, + [I(46,230)] = {27,0x2FFFFE8}, + [I(47,230)] = {27,0x31FFFE8}, + [I(48,230)] = {26,0x1FFFE8}, + [I(49,230)] = {26,0x3FFFE8}, + [I(50,230)] = {26,0x5FFFE8}, + [I(51,230)] = {27,0x33FFFE8}, + [I(52,230)] = {27,0x35FFFE8}, + [I(53,230)] = {27,0x37FFFE8}, + [I(54,230)] = {27,0x39FFFE8}, + [I(55,230)] = {27,0x3BFFFE8}, + [I(56,230)] = {27,0x3DFFFE8}, + [I(57,230)] = {27,0x3FFFFE8}, + [I(58,230)] = {28,0xB9FFFE8}, + [I(59,230)] = {29,0x1F7FFFE8}, + [I(60,230)] = {64,0}, + [I(61,230)] = {27,0x41FFFE8}, + [I(62,230)] = {64,0}, + [I(63,230)] = {31,0x7F9FFFE8}, + [I(64,230)] = {64,0}, + [I(65,230)] = {27,0x43FFFE8}, + [I(66,230)] = {28,0xBBFFFE8}, + [I(67,230)] = {28,0xBDFFFE8}, + [I(68,230)] = {28,0xBFFFFE8}, + [I(69,230)] = {28,0xC1FFFE8}, + [I(70,230)] = {28,0xC3FFFE8}, + [I(71,230)] = {28,0xC5FFFE8}, + [I(72,230)] = {28,0xC7FFFE8}, + [I(73,230)] = {28,0xC9FFFE8}, + [I(74,230)] = {28,0xCBFFFE8}, + [I(75,230)] = {28,0xCDFFFE8}, + [I(76,230)] = {28,0xCFFFFE8}, + [I(77,230)] = {28,0xD1FFFE8}, + [I(78,230)] = {28,0xD3FFFE8}, + [I(79,230)] = {28,0xD5FFFE8}, + [I(80,230)] = {28,0xD7FFFE8}, + [I(81,230)] = {28,0xD9FFFE8}, + [I(82,230)] = {28,0xDBFFFE8}, + [I(83,230)] = {28,0xDDFFFE8}, + [I(84,230)] = {28,0xDFFFFE8}, + [I(85,230)] = {28,0xE1FFFE8}, + [I(86,230)] = {28,0xE3FFFE8}, + [I(87,230)] = {28,0xE5FFFE8}, + [I(88,230)] = {29,0x1F9FFFE8}, + [I(89,230)] = {28,0xE7FFFE8}, + [I(90,230)] = {29,0x1FBFFFE8}, + [I(91,230)] = {64,0}, + [I(92,230)] = {64,0}, + [I(93,230)] = {64,0}, + [I(94,230)] = {64,0}, + [I(95,230)] = {27,0x45FFFE8}, + [I(96,230)] = {64,0}, + [I(97,230)] = {26,0x7FFFE8}, + [I(98,230)] = {27,0x47FFFE8}, + [I(99,230)] = {26,0x9FFFE8}, + [I(100,230)] = {27,0x49FFFE8}, + [I(101,230)] = {26,0xBFFFE8}, + [I(102,230)] = {27,0x4BFFFE8}, + [I(103,230)] = {27,0x4DFFFE8}, + [I(104,230)] = {27,0x4FFFFE8}, + [I(105,230)] = {26,0xDFFFE8}, + [I(106,230)] = {28,0xE9FFFE8}, + [I(107,230)] = {28,0xEBFFFE8}, + [I(108,230)] = {27,0x51FFFE8}, + [I(109,230)] = {27,0x53FFFE8}, + [I(110,230)] = {27,0x55FFFE8}, + [I(111,230)] = {26,0xFFFFE8}, + [I(112,230)] = {27,0x57FFFE8}, + [I(113,230)] = {28,0xEDFFFE8}, + [I(114,230)] = {27,0x59FFFE8}, + [I(115,230)] = {26,0x11FFFE8}, + [I(116,230)] = {26,0x13FFFE8}, + [I(117,230)] = {27,0x5BFFFE8}, + [I(118,230)] = {28,0xEFFFFE8}, + [I(119,230)] = {28,0xF1FFFE8}, + [I(120,230)] = {28,0xF3FFFE8}, + [I(121,230)] = {28,0xF5FFFE8}, + [I(122,230)] = {28,0xF7FFFE8}, + [I(123,230)] = {64,0}, + [I(124,230)] = {X32,0xFF9FFFE8}, + [I(125,230)] = {64,0}, + [I(126,230)] = {64,0}, + [I(127,230)] = {64,0}, + [I(128,230)] = {64,0}, + [I(129,230)] = {64,0}, + [I(130,230)] = {64,0}, + [I(131,230)] = {64,0}, + [I(132,230)] = {64,0}, + [I(133,230)] = {64,0}, + [I(134,230)] = {64,0}, + [I(135,230)] = {64,0}, + [I(136,230)] = {64,0}, + [I(137,230)] = {64,0}, + [I(138,230)] = {64,0}, + [I(139,230)] = {64,0}, + [I(140,230)] = {64,0}, + [I(141,230)] = {64,0}, + [I(142,230)] = {64,0}, + [I(143,230)] = {64,0}, + [I(144,230)] = {64,0}, + [I(145,230)] = {64,0}, + [I(146,230)] = {64,0}, + [I(147,230)] = {64,0}, + [I(148,230)] = {64,0}, + [I(149,230)] = {64,0}, + [I(150,230)] = {64,0}, + [I(151,230)] = {64,0}, + [I(152,230)] = {64,0}, + [I(153,230)] = {64,0}, + [I(154,230)] = {64,0}, + [I(155,230)] = {64,0}, + [I(156,230)] = {64,0}, + [I(157,230)] = {64,0}, + [I(158,230)] = {64,0}, + [I(159,230)] = {64,0}, + [I(160,230)] = {64,0}, + [I(161,230)] = {64,0}, + [I(162,230)] = {64,0}, + [I(163,230)] = {64,0}, + [I(164,230)] = {64,0}, + [I(165,230)] = {64,0}, + [I(166,230)] = {64,0}, + [I(167,230)] = {64,0}, + [I(168,230)] = {64,0}, + [I(169,230)] = {64,0}, + [I(170,230)] = {64,0}, + [I(171,230)] = {64,0}, + [I(172,230)] = {64,0}, + [I(173,230)] = {64,0}, + [I(174,230)] = {64,0}, + [I(175,230)] = {64,0}, + [I(176,230)] = {64,0}, + [I(177,230)] = {64,0}, + [I(178,230)] = {64,0}, + [I(179,230)] = {64,0}, + [I(180,230)] = {64,0}, + [I(181,230)] = {64,0}, + [I(182,230)] = {64,0}, + [I(183,230)] = {64,0}, + [I(184,230)] = {64,0}, + [I(185,230)] = {64,0}, + [I(186,230)] = {64,0}, + [I(187,230)] = {64,0}, + [I(188,230)] = {64,0}, + [I(189,230)] = {64,0}, + [I(190,230)] = {64,0}, + [I(191,230)] = {64,0}, + [I(192,230)] = {64,0}, + [I(193,230)] = {64,0}, + [I(194,230)] = {64,0}, + [I(195,230)] = {64,0}, + [I(196,230)] = {64,0}, + [I(197,230)] = {64,0}, + [I(198,230)] = {64,0}, + [I(199,230)] = {64,0}, + [I(200,230)] = {64,0}, + [I(201,230)] = {64,0}, + [I(202,230)] = {64,0}, + [I(203,230)] = {64,0}, + [I(204,230)] = {64,0}, + [I(205,230)] = {64,0}, + [I(206,230)] = {64,0}, + [I(207,230)] = {64,0}, + [I(208,230)] = {64,0}, + [I(209,230)] = {64,0}, + [I(210,230)] = {64,0}, + [I(211,230)] = {64,0}, + [I(212,230)] = {64,0}, + [I(213,230)] = {64,0}, + [I(214,230)] = {64,0}, + [I(215,230)] = {64,0}, + [I(216,230)] = {64,0}, + [I(217,230)] = {64,0}, + [I(218,230)] = {64,0}, + [I(219,230)] = {64,0}, + [I(220,230)] = {64,0}, + [I(221,230)] = {64,0}, + [I(222,230)] = {64,0}, + [I(223,230)] = {64,0}, + [I(224,230)] = {64,0}, + [I(225,230)] = {64,0}, + [I(226,230)] = {64,0}, + [I(227,230)] = {64,0}, + [I(228,230)] = {64,0}, + [I(229,230)] = {64,0}, + [I(230,230)] = {64,0}, + [I(231,230)] = {64,0}, + [I(232,230)] = {64,0}, + [I(233,230)] = {64,0}, + [I(234,230)] = {64,0}, + [I(235,230)] = {64,0}, + [I(236,230)] = {64,0}, + [I(237,230)] = {64,0}, + [I(238,230)] = {64,0}, + [I(239,230)] = {64,0}, + [I(240,230)] = {64,0}, + [I(241,230)] = {64,0}, + [I(242,230)] = {64,0}, + [I(243,230)] = {64,0}, + [I(244,230)] = {64,0}, + [I(245,230)] = {64,0}, + [I(246,230)] = {64,0}, + [I(247,230)] = {64,0}, + [I(248,230)] = {64,0}, + [I(249,230)] = {64,0}, + [I(250,230)] = {64,0}, + [I(251,230)] = {64,0}, + [I(252,230)] = {64,0}, + [I(253,230)] = {64,0}, + [I(254,230)] = {64,0}, + [I(255,230)] = {64,0}, + [I(0,231)] = {64,0}, + [I(1,231)] = {64,0}, + [I(2,231)] = {64,0}, + [I(3,231)] = {64,0}, + [I(4,231)] = {64,0}, + [I(5,231)] = {64,0}, + [I(6,231)] = {64,0}, + [I(7,231)] = {64,0}, + [I(8,231)] = {64,0}, + [I(9,231)] = {64,0}, + [I(10,231)] = {64,0}, + [I(11,231)] = {64,0}, + [I(12,231)] = {64,0}, + [I(13,231)] = {64,0}, + [I(14,231)] = {64,0}, + [I(15,231)] = {64,0}, + [I(16,231)] = {64,0}, + [I(17,231)] = {64,0}, + [I(18,231)] = {64,0}, + [I(19,231)] = {64,0}, + [I(20,231)] = {64,0}, + [I(21,231)] = {64,0}, + [I(22,231)] = {64,0}, + [I(23,231)] = {64,0}, + [I(24,231)] = {64,0}, + [I(25,231)] = {64,0}, + [I(26,231)] = {64,0}, + [I(27,231)] = {64,0}, + [I(28,231)] = {64,0}, + [I(29,231)] = {64,0}, + [I(30,231)] = {64,0}, + [I(31,231)] = {64,0}, + [I(32,231)] = {29,0xA7FFFF3}, + [I(33,231)] = {64,0}, + [I(34,231)] = {64,0}, + [I(35,231)] = {64,0}, + [I(36,231)] = {64,0}, + [I(37,231)] = {29,0xAFFFFF3}, + [I(38,231)] = {31,0x7C7FFFF3}, + [I(39,231)] = {64,0}, + [I(40,231)] = {64,0}, + [I(41,231)] = {64,0}, + [I(42,231)] = {31,0x7CFFFFF3}, + [I(43,231)] = {64,0}, + [I(44,231)] = {31,0x7D7FFFF3}, + [I(45,231)] = {29,0xB7FFFF3}, + [I(46,231)] = {29,0xBFFFFF3}, + [I(47,231)] = {29,0xC7FFFF3}, + [I(48,231)] = {28,0x7FFFF3}, + [I(49,231)] = {28,0xFFFFF3}, + [I(50,231)] = {28,0x17FFFF3}, + [I(51,231)] = {29,0xCFFFFF3}, + [I(52,231)] = {29,0xD7FFFF3}, + [I(53,231)] = {29,0xDFFFFF3}, + [I(54,231)] = {29,0xE7FFFF3}, + [I(55,231)] = {29,0xEFFFFF3}, + [I(56,231)] = {29,0xF7FFFF3}, + [I(57,231)] = {29,0xFFFFFF3}, + [I(58,231)] = {30,0x2E7FFFF3}, + [I(59,231)] = {31,0x7DFFFFF3}, + [I(60,231)] = {64,0}, + [I(61,231)] = {29,0x107FFFF3}, + [I(62,231)] = {64,0}, + [I(63,231)] = {64,0}, + [I(64,231)] = {64,0}, + [I(65,231)] = {29,0x10FFFFF3}, + [I(66,231)] = {30,0x2EFFFFF3}, + [I(67,231)] = {30,0x2F7FFFF3}, + [I(68,231)] = {30,0x2FFFFFF3}, + [I(69,231)] = {30,0x307FFFF3}, + [I(70,231)] = {30,0x30FFFFF3}, + [I(71,231)] = {30,0x317FFFF3}, + [I(72,231)] = {30,0x31FFFFF3}, + [I(73,231)] = {30,0x327FFFF3}, + [I(74,231)] = {30,0x32FFFFF3}, + [I(75,231)] = {30,0x337FFFF3}, + [I(76,231)] = {30,0x33FFFFF3}, + [I(77,231)] = {30,0x347FFFF3}, + [I(78,231)] = {30,0x34FFFFF3}, + [I(79,231)] = {30,0x357FFFF3}, + [I(80,231)] = {30,0x35FFFFF3}, + [I(81,231)] = {30,0x367FFFF3}, + [I(82,231)] = {30,0x36FFFFF3}, + [I(83,231)] = {30,0x377FFFF3}, + [I(84,231)] = {30,0x37FFFFF3}, + [I(85,231)] = {30,0x387FFFF3}, + [I(86,231)] = {30,0x38FFFFF3}, + [I(87,231)] = {30,0x397FFFF3}, + [I(88,231)] = {31,0x7E7FFFF3}, + [I(89,231)] = {30,0x39FFFFF3}, + [I(90,231)] = {31,0x7EFFFFF3}, + [I(91,231)] = {64,0}, + [I(92,231)] = {64,0}, + [I(93,231)] = {64,0}, + [I(94,231)] = {64,0}, + [I(95,231)] = {29,0x117FFFF3}, + [I(96,231)] = {64,0}, + [I(97,231)] = {28,0x1FFFFF3}, + [I(98,231)] = {29,0x11FFFFF3}, + [I(99,231)] = {28,0x27FFFF3}, + [I(100,231)] = {29,0x127FFFF3}, + [I(101,231)] = {28,0x2FFFFF3}, + [I(102,231)] = {29,0x12FFFFF3}, + [I(103,231)] = {29,0x137FFFF3}, + [I(104,231)] = {29,0x13FFFFF3}, + [I(105,231)] = {28,0x37FFFF3}, + [I(106,231)] = {30,0x3A7FFFF3}, + [I(107,231)] = {30,0x3AFFFFF3}, + [I(108,231)] = {29,0x147FFFF3}, + [I(109,231)] = {29,0x14FFFFF3}, + [I(110,231)] = {29,0x157FFFF3}, + [I(111,231)] = {28,0x3FFFFF3}, + [I(112,231)] = {29,0x15FFFFF3}, + [I(113,231)] = {30,0x3B7FFFF3}, + [I(114,231)] = {29,0x167FFFF3}, + [I(115,231)] = {28,0x47FFFF3}, + [I(116,231)] = {28,0x4FFFFF3}, + [I(117,231)] = {29,0x16FFFFF3}, + [I(118,231)] = {30,0x3BFFFFF3}, + [I(119,231)] = {30,0x3C7FFFF3}, + [I(120,231)] = {30,0x3CFFFFF3}, + [I(121,231)] = {30,0x3D7FFFF3}, + [I(122,231)] = {30,0x3DFFFFF3}, + [I(123,231)] = {64,0}, + [I(124,231)] = {64,0}, + [I(125,231)] = {64,0}, + [I(126,231)] = {64,0}, + [I(127,231)] = {64,0}, + [I(128,231)] = {64,0}, + [I(129,231)] = {64,0}, + [I(130,231)] = {64,0}, + [I(131,231)] = {64,0}, + [I(132,231)] = {64,0}, + [I(133,231)] = {64,0}, + [I(134,231)] = {64,0}, + [I(135,231)] = {64,0}, + [I(136,231)] = {64,0}, + [I(137,231)] = {64,0}, + [I(138,231)] = {64,0}, + [I(139,231)] = {64,0}, + [I(140,231)] = {64,0}, + [I(141,231)] = {64,0}, + [I(142,231)] = {64,0}, + [I(143,231)] = {64,0}, + [I(144,231)] = {64,0}, + [I(145,231)] = {64,0}, + [I(146,231)] = {64,0}, + [I(147,231)] = {64,0}, + [I(148,231)] = {64,0}, + [I(149,231)] = {64,0}, + [I(150,231)] = {64,0}, + [I(151,231)] = {64,0}, + [I(152,231)] = {64,0}, + [I(153,231)] = {64,0}, + [I(154,231)] = {64,0}, + [I(155,231)] = {64,0}, + [I(156,231)] = {64,0}, + [I(157,231)] = {64,0}, + [I(158,231)] = {64,0}, + [I(159,231)] = {64,0}, + [I(160,231)] = {64,0}, + [I(161,231)] = {64,0}, + [I(162,231)] = {64,0}, + [I(163,231)] = {64,0}, + [I(164,231)] = {64,0}, + [I(165,231)] = {64,0}, + [I(166,231)] = {64,0}, + [I(167,231)] = {64,0}, + [I(168,231)] = {64,0}, + [I(169,231)] = {64,0}, + [I(170,231)] = {64,0}, + [I(171,231)] = {64,0}, + [I(172,231)] = {64,0}, + [I(173,231)] = {64,0}, + [I(174,231)] = {64,0}, + [I(175,231)] = {64,0}, + [I(176,231)] = {64,0}, + [I(177,231)] = {64,0}, + [I(178,231)] = {64,0}, + [I(179,231)] = {64,0}, + [I(180,231)] = {64,0}, + [I(181,231)] = {64,0}, + [I(182,231)] = {64,0}, + [I(183,231)] = {64,0}, + [I(184,231)] = {64,0}, + [I(185,231)] = {64,0}, + [I(186,231)] = {64,0}, + [I(187,231)] = {64,0}, + [I(188,231)] = {64,0}, + [I(189,231)] = {64,0}, + [I(190,231)] = {64,0}, + [I(191,231)] = {64,0}, + [I(192,231)] = {64,0}, + [I(193,231)] = {64,0}, + [I(194,231)] = {64,0}, + [I(195,231)] = {64,0}, + [I(196,231)] = {64,0}, + [I(197,231)] = {64,0}, + [I(198,231)] = {64,0}, + [I(199,231)] = {64,0}, + [I(200,231)] = {64,0}, + [I(201,231)] = {64,0}, + [I(202,231)] = {64,0}, + [I(203,231)] = {64,0}, + [I(204,231)] = {64,0}, + [I(205,231)] = {64,0}, + [I(206,231)] = {64,0}, + [I(207,231)] = {64,0}, + [I(208,231)] = {64,0}, + [I(209,231)] = {64,0}, + [I(210,231)] = {64,0}, + [I(211,231)] = {64,0}, + [I(212,231)] = {64,0}, + [I(213,231)] = {64,0}, + [I(214,231)] = {64,0}, + [I(215,231)] = {64,0}, + [I(216,231)] = {64,0}, + [I(217,231)] = {64,0}, + [I(218,231)] = {64,0}, + [I(219,231)] = {64,0}, + [I(220,231)] = {64,0}, + [I(221,231)] = {64,0}, + [I(222,231)] = {64,0}, + [I(223,231)] = {64,0}, + [I(224,231)] = {64,0}, + [I(225,231)] = {64,0}, + [I(226,231)] = {64,0}, + [I(227,231)] = {64,0}, + [I(228,231)] = {64,0}, + [I(229,231)] = {64,0}, + [I(230,231)] = {64,0}, + [I(231,231)] = {64,0}, + [I(232,231)] = {64,0}, + [I(233,231)] = {64,0}, + [I(234,231)] = {64,0}, + [I(235,231)] = {64,0}, + [I(236,231)] = {64,0}, + [I(237,231)] = {64,0}, + [I(238,231)] = {64,0}, + [I(239,231)] = {64,0}, + [I(240,231)] = {64,0}, + [I(241,231)] = {64,0}, + [I(242,231)] = {64,0}, + [I(243,231)] = {64,0}, + [I(244,231)] = {64,0}, + [I(245,231)] = {64,0}, + [I(246,231)] = {64,0}, + [I(247,231)] = {64,0}, + [I(248,231)] = {64,0}, + [I(249,231)] = {64,0}, + [I(250,231)] = {64,0}, + [I(251,231)] = {64,0}, + [I(252,231)] = {64,0}, + [I(253,231)] = {64,0}, + [I(254,231)] = {64,0}, + [I(255,231)] = {64,0}, + [I(0,232)] = {64,0}, + [I(1,232)] = {64,0}, + [I(2,232)] = {64,0}, + [I(3,232)] = {64,0}, + [I(4,232)] = {64,0}, + [I(5,232)] = {64,0}, + [I(6,232)] = {64,0}, + [I(7,232)] = {64,0}, + [I(8,232)] = {64,0}, + [I(9,232)] = {64,0}, + [I(10,232)] = {64,0}, + [I(11,232)] = {64,0}, + [I(12,232)] = {64,0}, + [I(13,232)] = {64,0}, + [I(14,232)] = {64,0}, + [I(15,232)] = {64,0}, + [I(16,232)] = {64,0}, + [I(17,232)] = {64,0}, + [I(18,232)] = {64,0}, + [I(19,232)] = {64,0}, + [I(20,232)] = {64,0}, + [I(21,232)] = {64,0}, + [I(22,232)] = {64,0}, + [I(23,232)] = {64,0}, + [I(24,232)] = {64,0}, + [I(25,232)] = {64,0}, + [I(26,232)] = {64,0}, + [I(27,232)] = {64,0}, + [I(28,232)] = {64,0}, + [I(29,232)] = {64,0}, + [I(30,232)] = {64,0}, + [I(31,232)] = {64,0}, + [I(32,232)] = {28,0x53FFFEA}, + [I(33,232)] = {X32,0xFE3FFFEA}, + [I(34,232)] = {X32,0xFE7FFFEA}, + [I(35,232)] = {64,0}, + [I(36,232)] = {64,0}, + [I(37,232)] = {28,0x57FFFEA}, + [I(38,232)] = {30,0x3E3FFFEA}, + [I(39,232)] = {64,0}, + [I(40,232)] = {X32,0xFEBFFFEA}, + [I(41,232)] = {X32,0xFEFFFFEA}, + [I(42,232)] = {30,0x3E7FFFEA}, + [I(43,232)] = {64,0}, + [I(44,232)] = {30,0x3EBFFFEA}, + [I(45,232)] = {28,0x5BFFFEA}, + [I(46,232)] = {28,0x5FFFFEA}, + [I(47,232)] = {28,0x63FFFEA}, + [I(48,232)] = {27,0x3FFFEA}, + [I(49,232)] = {27,0x7FFFEA}, + [I(50,232)] = {27,0xBFFFEA}, + [I(51,232)] = {28,0x67FFFEA}, + [I(52,232)] = {28,0x6BFFFEA}, + [I(53,232)] = {28,0x6FFFFEA}, + [I(54,232)] = {28,0x73FFFEA}, + [I(55,232)] = {28,0x77FFFEA}, + [I(56,232)] = {28,0x7BFFFEA}, + [I(57,232)] = {28,0x7FFFFEA}, + [I(58,232)] = {29,0x173FFFEA}, + [I(59,232)] = {30,0x3EFFFFEA}, + [I(60,232)] = {64,0}, + [I(61,232)] = {28,0x83FFFEA}, + [I(62,232)] = {64,0}, + [I(63,232)] = {X32,0xFF3FFFEA}, + [I(64,232)] = {64,0}, + [I(65,232)] = {28,0x87FFFEA}, + [I(66,232)] = {29,0x177FFFEA}, + [I(67,232)] = {29,0x17BFFFEA}, + [I(68,232)] = {29,0x17FFFFEA}, + [I(69,232)] = {29,0x183FFFEA}, + [I(70,232)] = {29,0x187FFFEA}, + [I(71,232)] = {29,0x18BFFFEA}, + [I(72,232)] = {29,0x18FFFFEA}, + [I(73,232)] = {29,0x193FFFEA}, + [I(74,232)] = {29,0x197FFFEA}, + [I(75,232)] = {29,0x19BFFFEA}, + [I(76,232)] = {29,0x19FFFFEA}, + [I(77,232)] = {29,0x1A3FFFEA}, + [I(78,232)] = {29,0x1A7FFFEA}, + [I(79,232)] = {29,0x1ABFFFEA}, + [I(80,232)] = {29,0x1AFFFFEA}, + [I(81,232)] = {29,0x1B3FFFEA}, + [I(82,232)] = {29,0x1B7FFFEA}, + [I(83,232)] = {29,0x1BBFFFEA}, + [I(84,232)] = {29,0x1BFFFFEA}, + [I(85,232)] = {29,0x1C3FFFEA}, + [I(86,232)] = {29,0x1C7FFFEA}, + [I(87,232)] = {29,0x1CBFFFEA}, + [I(88,232)] = {30,0x3F3FFFEA}, + [I(89,232)] = {29,0x1CFFFFEA}, + [I(90,232)] = {30,0x3F7FFFEA}, + [I(91,232)] = {64,0}, + [I(92,232)] = {64,0}, + [I(93,232)] = {64,0}, + [I(94,232)] = {64,0}, + [I(95,232)] = {28,0x8BFFFEA}, + [I(96,232)] = {64,0}, + [I(97,232)] = {27,0xFFFFEA}, + [I(98,232)] = {28,0x8FFFFEA}, + [I(99,232)] = {27,0x13FFFEA}, + [I(100,232)] = {28,0x93FFFEA}, + [I(101,232)] = {27,0x17FFFEA}, + [I(102,232)] = {28,0x97FFFEA}, + [I(103,232)] = {28,0x9BFFFEA}, + [I(104,232)] = {28,0x9FFFFEA}, + [I(105,232)] = {27,0x1BFFFEA}, + [I(106,232)] = {29,0x1D3FFFEA}, + [I(107,232)] = {29,0x1D7FFFEA}, + [I(108,232)] = {28,0xA3FFFEA}, + [I(109,232)] = {28,0xA7FFFEA}, + [I(110,232)] = {28,0xABFFFEA}, + [I(111,232)] = {27,0x1FFFFEA}, + [I(112,232)] = {28,0xAFFFFEA}, + [I(113,232)] = {29,0x1DBFFFEA}, + [I(114,232)] = {28,0xB3FFFEA}, + [I(115,232)] = {27,0x23FFFEA}, + [I(116,232)] = {27,0x27FFFEA}, + [I(117,232)] = {28,0xB7FFFEA}, + [I(118,232)] = {29,0x1DFFFFEA}, + [I(119,232)] = {29,0x1E3FFFEA}, + [I(120,232)] = {29,0x1E7FFFEA}, + [I(121,232)] = {29,0x1EBFFFEA}, + [I(122,232)] = {29,0x1EFFFFEA}, + [I(123,232)] = {64,0}, + [I(124,232)] = {64,0}, + [I(125,232)] = {64,0}, + [I(126,232)] = {64,0}, + [I(127,232)] = {64,0}, + [I(128,232)] = {64,0}, + [I(129,232)] = {64,0}, + [I(130,232)] = {64,0}, + [I(131,232)] = {64,0}, + [I(132,232)] = {64,0}, + [I(133,232)] = {64,0}, + [I(134,232)] = {64,0}, + [I(135,232)] = {64,0}, + [I(136,232)] = {64,0}, + [I(137,232)] = {64,0}, + [I(138,232)] = {64,0}, + [I(139,232)] = {64,0}, + [I(140,232)] = {64,0}, + [I(141,232)] = {64,0}, + [I(142,232)] = {64,0}, + [I(143,232)] = {64,0}, + [I(144,232)] = {64,0}, + [I(145,232)] = {64,0}, + [I(146,232)] = {64,0}, + [I(147,232)] = {64,0}, + [I(148,232)] = {64,0}, + [I(149,232)] = {64,0}, + [I(150,232)] = {64,0}, + [I(151,232)] = {64,0}, + [I(152,232)] = {64,0}, + [I(153,232)] = {64,0}, + [I(154,232)] = {64,0}, + [I(155,232)] = {64,0}, + [I(156,232)] = {64,0}, + [I(157,232)] = {64,0}, + [I(158,232)] = {64,0}, + [I(159,232)] = {64,0}, + [I(160,232)] = {64,0}, + [I(161,232)] = {64,0}, + [I(162,232)] = {64,0}, + [I(163,232)] = {64,0}, + [I(164,232)] = {64,0}, + [I(165,232)] = {64,0}, + [I(166,232)] = {64,0}, + [I(167,232)] = {64,0}, + [I(168,232)] = {64,0}, + [I(169,232)] = {64,0}, + [I(170,232)] = {64,0}, + [I(171,232)] = {64,0}, + [I(172,232)] = {64,0}, + [I(173,232)] = {64,0}, + [I(174,232)] = {64,0}, + [I(175,232)] = {64,0}, + [I(176,232)] = {64,0}, + [I(177,232)] = {64,0}, + [I(178,232)] = {64,0}, + [I(179,232)] = {64,0}, + [I(180,232)] = {64,0}, + [I(181,232)] = {64,0}, + [I(182,232)] = {64,0}, + [I(183,232)] = {64,0}, + [I(184,232)] = {64,0}, + [I(185,232)] = {64,0}, + [I(186,232)] = {64,0}, + [I(187,232)] = {64,0}, + [I(188,232)] = {64,0}, + [I(189,232)] = {64,0}, + [I(190,232)] = {64,0}, + [I(191,232)] = {64,0}, + [I(192,232)] = {64,0}, + [I(193,232)] = {64,0}, + [I(194,232)] = {64,0}, + [I(195,232)] = {64,0}, + [I(196,232)] = {64,0}, + [I(197,232)] = {64,0}, + [I(198,232)] = {64,0}, + [I(199,232)] = {64,0}, + [I(200,232)] = {64,0}, + [I(201,232)] = {64,0}, + [I(202,232)] = {64,0}, + [I(203,232)] = {64,0}, + [I(204,232)] = {64,0}, + [I(205,232)] = {64,0}, + [I(206,232)] = {64,0}, + [I(207,232)] = {64,0}, + [I(208,232)] = {64,0}, + [I(209,232)] = {64,0}, + [I(210,232)] = {64,0}, + [I(211,232)] = {64,0}, + [I(212,232)] = {64,0}, + [I(213,232)] = {64,0}, + [I(214,232)] = {64,0}, + [I(215,232)] = {64,0}, + [I(216,232)] = {64,0}, + [I(217,232)] = {64,0}, + [I(218,232)] = {64,0}, + [I(219,232)] = {64,0}, + [I(220,232)] = {64,0}, + [I(221,232)] = {64,0}, + [I(222,232)] = {64,0}, + [I(223,232)] = {64,0}, + [I(224,232)] = {64,0}, + [I(225,232)] = {64,0}, + [I(226,232)] = {64,0}, + [I(227,232)] = {64,0}, + [I(228,232)] = {64,0}, + [I(229,232)] = {64,0}, + [I(230,232)] = {64,0}, + [I(231,232)] = {64,0}, + [I(232,232)] = {64,0}, + [I(233,232)] = {64,0}, + [I(234,232)] = {64,0}, + [I(235,232)] = {64,0}, + [I(236,232)] = {64,0}, + [I(237,232)] = {64,0}, + [I(238,232)] = {64,0}, + [I(239,232)] = {64,0}, + [I(240,232)] = {64,0}, + [I(241,232)] = {64,0}, + [I(242,232)] = {64,0}, + [I(243,232)] = {64,0}, + [I(244,232)] = {64,0}, + [I(245,232)] = {64,0}, + [I(246,232)] = {64,0}, + [I(247,232)] = {64,0}, + [I(248,232)] = {64,0}, + [I(249,232)] = {64,0}, + [I(250,232)] = {64,0}, + [I(251,232)] = {64,0}, + [I(252,232)] = {64,0}, + [I(253,232)] = {64,0}, + [I(254,232)] = {64,0}, + [I(255,232)] = {64,0}, + [I(0,233)] = {64,0}, + [I(1,233)] = {64,0}, + [I(2,233)] = {64,0}, + [I(3,233)] = {64,0}, + [I(4,233)] = {64,0}, + [I(5,233)] = {64,0}, + [I(6,233)] = {64,0}, + [I(7,233)] = {64,0}, + [I(8,233)] = {64,0}, + [I(9,233)] = {64,0}, + [I(10,233)] = {64,0}, + [I(11,233)] = {64,0}, + [I(12,233)] = {64,0}, + [I(13,233)] = {64,0}, + [I(14,233)] = {64,0}, + [I(15,233)] = {64,0}, + [I(16,233)] = {64,0}, + [I(17,233)] = {64,0}, + [I(18,233)] = {64,0}, + [I(19,233)] = {64,0}, + [I(20,233)] = {64,0}, + [I(21,233)] = {64,0}, + [I(22,233)] = {64,0}, + [I(23,233)] = {64,0}, + [I(24,233)] = {64,0}, + [I(25,233)] = {64,0}, + [I(26,233)] = {64,0}, + [I(27,233)] = {64,0}, + [I(28,233)] = {64,0}, + [I(29,233)] = {64,0}, + [I(30,233)] = {64,0}, + [I(31,233)] = {64,0}, + [I(32,233)] = {28,0x53FFFEB}, + [I(33,233)] = {X32,0xFE3FFFEB}, + [I(34,233)] = {X32,0xFE7FFFEB}, + [I(35,233)] = {64,0}, + [I(36,233)] = {64,0}, + [I(37,233)] = {28,0x57FFFEB}, + [I(38,233)] = {30,0x3E3FFFEB}, + [I(39,233)] = {64,0}, + [I(40,233)] = {X32,0xFEBFFFEB}, + [I(41,233)] = {X32,0xFEFFFFEB}, + [I(42,233)] = {30,0x3E7FFFEB}, + [I(43,233)] = {64,0}, + [I(44,233)] = {30,0x3EBFFFEB}, + [I(45,233)] = {28,0x5BFFFEB}, + [I(46,233)] = {28,0x5FFFFEB}, + [I(47,233)] = {28,0x63FFFEB}, + [I(48,233)] = {27,0x3FFFEB}, + [I(49,233)] = {27,0x7FFFEB}, + [I(50,233)] = {27,0xBFFFEB}, + [I(51,233)] = {28,0x67FFFEB}, + [I(52,233)] = {28,0x6BFFFEB}, + [I(53,233)] = {28,0x6FFFFEB}, + [I(54,233)] = {28,0x73FFFEB}, + [I(55,233)] = {28,0x77FFFEB}, + [I(56,233)] = {28,0x7BFFFEB}, + [I(57,233)] = {28,0x7FFFFEB}, + [I(58,233)] = {29,0x173FFFEB}, + [I(59,233)] = {30,0x3EFFFFEB}, + [I(60,233)] = {64,0}, + [I(61,233)] = {28,0x83FFFEB}, + [I(62,233)] = {64,0}, + [I(63,233)] = {X32,0xFF3FFFEB}, + [I(64,233)] = {64,0}, + [I(65,233)] = {28,0x87FFFEB}, + [I(66,233)] = {29,0x177FFFEB}, + [I(67,233)] = {29,0x17BFFFEB}, + [I(68,233)] = {29,0x17FFFFEB}, + [I(69,233)] = {29,0x183FFFEB}, + [I(70,233)] = {29,0x187FFFEB}, + [I(71,233)] = {29,0x18BFFFEB}, + [I(72,233)] = {29,0x18FFFFEB}, + [I(73,233)] = {29,0x193FFFEB}, + [I(74,233)] = {29,0x197FFFEB}, + [I(75,233)] = {29,0x19BFFFEB}, + [I(76,233)] = {29,0x19FFFFEB}, + [I(77,233)] = {29,0x1A3FFFEB}, + [I(78,233)] = {29,0x1A7FFFEB}, + [I(79,233)] = {29,0x1ABFFFEB}, + [I(80,233)] = {29,0x1AFFFFEB}, + [I(81,233)] = {29,0x1B3FFFEB}, + [I(82,233)] = {29,0x1B7FFFEB}, + [I(83,233)] = {29,0x1BBFFFEB}, + [I(84,233)] = {29,0x1BFFFFEB}, + [I(85,233)] = {29,0x1C3FFFEB}, + [I(86,233)] = {29,0x1C7FFFEB}, + [I(87,233)] = {29,0x1CBFFFEB}, + [I(88,233)] = {30,0x3F3FFFEB}, + [I(89,233)] = {29,0x1CFFFFEB}, + [I(90,233)] = {30,0x3F7FFFEB}, + [I(91,233)] = {64,0}, + [I(92,233)] = {64,0}, + [I(93,233)] = {64,0}, + [I(94,233)] = {64,0}, + [I(95,233)] = {28,0x8BFFFEB}, + [I(96,233)] = {64,0}, + [I(97,233)] = {27,0xFFFFEB}, + [I(98,233)] = {28,0x8FFFFEB}, + [I(99,233)] = {27,0x13FFFEB}, + [I(100,233)] = {28,0x93FFFEB}, + [I(101,233)] = {27,0x17FFFEB}, + [I(102,233)] = {28,0x97FFFEB}, + [I(103,233)] = {28,0x9BFFFEB}, + [I(104,233)] = {28,0x9FFFFEB}, + [I(105,233)] = {27,0x1BFFFEB}, + [I(106,233)] = {29,0x1D3FFFEB}, + [I(107,233)] = {29,0x1D7FFFEB}, + [I(108,233)] = {28,0xA3FFFEB}, + [I(109,233)] = {28,0xA7FFFEB}, + [I(110,233)] = {28,0xABFFFEB}, + [I(111,233)] = {27,0x1FFFFEB}, + [I(112,233)] = {28,0xAFFFFEB}, + [I(113,233)] = {29,0x1DBFFFEB}, + [I(114,233)] = {28,0xB3FFFEB}, + [I(115,233)] = {27,0x23FFFEB}, + [I(116,233)] = {27,0x27FFFEB}, + [I(117,233)] = {28,0xB7FFFEB}, + [I(118,233)] = {29,0x1DFFFFEB}, + [I(119,233)] = {29,0x1E3FFFEB}, + [I(120,233)] = {29,0x1E7FFFEB}, + [I(121,233)] = {29,0x1EBFFFEB}, + [I(122,233)] = {29,0x1EFFFFEB}, + [I(123,233)] = {64,0}, + [I(124,233)] = {64,0}, + [I(125,233)] = {64,0}, + [I(126,233)] = {64,0}, + [I(127,233)] = {64,0}, + [I(128,233)] = {64,0}, + [I(129,233)] = {64,0}, + [I(130,233)] = {64,0}, + [I(131,233)] = {64,0}, + [I(132,233)] = {64,0}, + [I(133,233)] = {64,0}, + [I(134,233)] = {64,0}, + [I(135,233)] = {64,0}, + [I(136,233)] = {64,0}, + [I(137,233)] = {64,0}, + [I(138,233)] = {64,0}, + [I(139,233)] = {64,0}, + [I(140,233)] = {64,0}, + [I(141,233)] = {64,0}, + [I(142,233)] = {64,0}, + [I(143,233)] = {64,0}, + [I(144,233)] = {64,0}, + [I(145,233)] = {64,0}, + [I(146,233)] = {64,0}, + [I(147,233)] = {64,0}, + [I(148,233)] = {64,0}, + [I(149,233)] = {64,0}, + [I(150,233)] = {64,0}, + [I(151,233)] = {64,0}, + [I(152,233)] = {64,0}, + [I(153,233)] = {64,0}, + [I(154,233)] = {64,0}, + [I(155,233)] = {64,0}, + [I(156,233)] = {64,0}, + [I(157,233)] = {64,0}, + [I(158,233)] = {64,0}, + [I(159,233)] = {64,0}, + [I(160,233)] = {64,0}, + [I(161,233)] = {64,0}, + [I(162,233)] = {64,0}, + [I(163,233)] = {64,0}, + [I(164,233)] = {64,0}, + [I(165,233)] = {64,0}, + [I(166,233)] = {64,0}, + [I(167,233)] = {64,0}, + [I(168,233)] = {64,0}, + [I(169,233)] = {64,0}, + [I(170,233)] = {64,0}, + [I(171,233)] = {64,0}, + [I(172,233)] = {64,0}, + [I(173,233)] = {64,0}, + [I(174,233)] = {64,0}, + [I(175,233)] = {64,0}, + [I(176,233)] = {64,0}, + [I(177,233)] = {64,0}, + [I(178,233)] = {64,0}, + [I(179,233)] = {64,0}, + [I(180,233)] = {64,0}, + [I(181,233)] = {64,0}, + [I(182,233)] = {64,0}, + [I(183,233)] = {64,0}, + [I(184,233)] = {64,0}, + [I(185,233)] = {64,0}, + [I(186,233)] = {64,0}, + [I(187,233)] = {64,0}, + [I(188,233)] = {64,0}, + [I(189,233)] = {64,0}, + [I(190,233)] = {64,0}, + [I(191,233)] = {64,0}, + [I(192,233)] = {64,0}, + [I(193,233)] = {64,0}, + [I(194,233)] = {64,0}, + [I(195,233)] = {64,0}, + [I(196,233)] = {64,0}, + [I(197,233)] = {64,0}, + [I(198,233)] = {64,0}, + [I(199,233)] = {64,0}, + [I(200,233)] = {64,0}, + [I(201,233)] = {64,0}, + [I(202,233)] = {64,0}, + [I(203,233)] = {64,0}, + [I(204,233)] = {64,0}, + [I(205,233)] = {64,0}, + [I(206,233)] = {64,0}, + [I(207,233)] = {64,0}, + [I(208,233)] = {64,0}, + [I(209,233)] = {64,0}, + [I(210,233)] = {64,0}, + [I(211,233)] = {64,0}, + [I(212,233)] = {64,0}, + [I(213,233)] = {64,0}, + [I(214,233)] = {64,0}, + [I(215,233)] = {64,0}, + [I(216,233)] = {64,0}, + [I(217,233)] = {64,0}, + [I(218,233)] = {64,0}, + [I(219,233)] = {64,0}, + [I(220,233)] = {64,0}, + [I(221,233)] = {64,0}, + [I(222,233)] = {64,0}, + [I(223,233)] = {64,0}, + [I(224,233)] = {64,0}, + [I(225,233)] = {64,0}, + [I(226,233)] = {64,0}, + [I(227,233)] = {64,0}, + [I(228,233)] = {64,0}, + [I(229,233)] = {64,0}, + [I(230,233)] = {64,0}, + [I(231,233)] = {64,0}, + [I(232,233)] = {64,0}, + [I(233,233)] = {64,0}, + [I(234,233)] = {64,0}, + [I(235,233)] = {64,0}, + [I(236,233)] = {64,0}, + [I(237,233)] = {64,0}, + [I(238,233)] = {64,0}, + [I(239,233)] = {64,0}, + [I(240,233)] = {64,0}, + [I(241,233)] = {64,0}, + [I(242,233)] = {64,0}, + [I(243,233)] = {64,0}, + [I(244,233)] = {64,0}, + [I(245,233)] = {64,0}, + [I(246,233)] = {64,0}, + [I(247,233)] = {64,0}, + [I(248,233)] = {64,0}, + [I(249,233)] = {64,0}, + [I(250,233)] = {64,0}, + [I(251,233)] = {64,0}, + [I(252,233)] = {64,0}, + [I(253,233)] = {64,0}, + [I(254,233)] = {64,0}, + [I(255,233)] = {64,0}, + [I(0,234)] = {64,0}, + [I(1,234)] = {64,0}, + [I(2,234)] = {64,0}, + [I(3,234)] = {64,0}, + [I(4,234)] = {64,0}, + [I(5,234)] = {64,0}, + [I(6,234)] = {64,0}, + [I(7,234)] = {64,0}, + [I(8,234)] = {64,0}, + [I(9,234)] = {64,0}, + [I(10,234)] = {64,0}, + [I(11,234)] = {64,0}, + [I(12,234)] = {64,0}, + [I(13,234)] = {64,0}, + [I(14,234)] = {64,0}, + [I(15,234)] = {64,0}, + [I(16,234)] = {64,0}, + [I(17,234)] = {64,0}, + [I(18,234)] = {64,0}, + [I(19,234)] = {64,0}, + [I(20,234)] = {64,0}, + [I(21,234)] = {64,0}, + [I(22,234)] = {64,0}, + [I(23,234)] = {64,0}, + [I(24,234)] = {64,0}, + [I(25,234)] = {64,0}, + [I(26,234)] = {64,0}, + [I(27,234)] = {64,0}, + [I(28,234)] = {64,0}, + [I(29,234)] = {64,0}, + [I(30,234)] = {64,0}, + [I(31,234)] = {64,0}, + [I(32,234)] = {31,0x29FFFFEE}, + [I(33,234)] = {64,0}, + [I(34,234)] = {64,0}, + [I(35,234)] = {64,0}, + [I(36,234)] = {64,0}, + [I(37,234)] = {31,0x2BFFFFEE}, + [I(38,234)] = {64,0}, + [I(39,234)] = {64,0}, + [I(40,234)] = {64,0}, + [I(41,234)] = {64,0}, + [I(42,234)] = {64,0}, + [I(43,234)] = {64,0}, + [I(44,234)] = {64,0}, + [I(45,234)] = {31,0x2DFFFFEE}, + [I(46,234)] = {31,0x2FFFFFEE}, + [I(47,234)] = {31,0x31FFFFEE}, + [I(48,234)] = {30,0x1FFFFEE}, + [I(49,234)] = {30,0x3FFFFEE}, + [I(50,234)] = {30,0x5FFFFEE}, + [I(51,234)] = {31,0x33FFFFEE}, + [I(52,234)] = {31,0x35FFFFEE}, + [I(53,234)] = {31,0x37FFFFEE}, + [I(54,234)] = {31,0x39FFFFEE}, + [I(55,234)] = {31,0x3BFFFFEE}, + [I(56,234)] = {31,0x3DFFFFEE}, + [I(57,234)] = {31,0x3FFFFFEE}, + [I(58,234)] = {X32,0xB9FFFFEE}, + [I(59,234)] = {64,0}, + [I(60,234)] = {64,0}, + [I(61,234)] = {31,0x41FFFFEE}, + [I(62,234)] = {64,0}, + [I(63,234)] = {64,0}, + [I(64,234)] = {64,0}, + [I(65,234)] = {31,0x43FFFFEE}, + [I(66,234)] = {X32,0xBBFFFFEE}, + [I(67,234)] = {X32,0xBDFFFFEE}, + [I(68,234)] = {X32,0xBFFFFFEE}, + [I(69,234)] = {X32,0xC1FFFFEE}, + [I(70,234)] = {X32,0xC3FFFFEE}, + [I(71,234)] = {X32,0xC5FFFFEE}, + [I(72,234)] = {X32,0xC7FFFFEE}, + [I(73,234)] = {X32,0xC9FFFFEE}, + [I(74,234)] = {X32,0xCBFFFFEE}, + [I(75,234)] = {X32,0xCDFFFFEE}, + [I(76,234)] = {X32,0xCFFFFFEE}, + [I(77,234)] = {X32,0xD1FFFFEE}, + [I(78,234)] = {X32,0xD3FFFFEE}, + [I(79,234)] = {X32,0xD5FFFFEE}, + [I(80,234)] = {X32,0xD7FFFFEE}, + [I(81,234)] = {X32,0xD9FFFFEE}, + [I(82,234)] = {X32,0xDBFFFFEE}, + [I(83,234)] = {X32,0xDDFFFFEE}, + [I(84,234)] = {X32,0xDFFFFFEE}, + [I(85,234)] = {X32,0xE1FFFFEE}, + [I(86,234)] = {X32,0xE3FFFFEE}, + [I(87,234)] = {X32,0xE5FFFFEE}, + [I(88,234)] = {64,0}, + [I(89,234)] = {X32,0xE7FFFFEE}, + [I(90,234)] = {64,0}, + [I(91,234)] = {64,0}, + [I(92,234)] = {64,0}, + [I(93,234)] = {64,0}, + [I(94,234)] = {64,0}, + [I(95,234)] = {31,0x45FFFFEE}, + [I(96,234)] = {64,0}, + [I(97,234)] = {30,0x7FFFFEE}, + [I(98,234)] = {31,0x47FFFFEE}, + [I(99,234)] = {30,0x9FFFFEE}, + [I(100,234)] = {31,0x49FFFFEE}, + [I(101,234)] = {30,0xBFFFFEE}, + [I(102,234)] = {31,0x4BFFFFEE}, + [I(103,234)] = {31,0x4DFFFFEE}, + [I(104,234)] = {31,0x4FFFFFEE}, + [I(105,234)] = {30,0xDFFFFEE}, + [I(106,234)] = {X32,0xE9FFFFEE}, + [I(107,234)] = {X32,0xEBFFFFEE}, + [I(108,234)] = {31,0x51FFFFEE}, + [I(109,234)] = {31,0x53FFFFEE}, + [I(110,234)] = {31,0x55FFFFEE}, + [I(111,234)] = {30,0xFFFFFEE}, + [I(112,234)] = {31,0x57FFFFEE}, + [I(113,234)] = {X32,0xEDFFFFEE}, + [I(114,234)] = {31,0x59FFFFEE}, + [I(115,234)] = {30,0x11FFFFEE}, + [I(116,234)] = {30,0x13FFFFEE}, + [I(117,234)] = {31,0x5BFFFFEE}, + [I(118,234)] = {X32,0xEFFFFFEE}, + [I(119,234)] = {X32,0xF1FFFFEE}, + [I(120,234)] = {X32,0xF3FFFFEE}, + [I(121,234)] = {X32,0xF5FFFFEE}, + [I(122,234)] = {X32,0xF7FFFFEE}, + [I(123,234)] = {64,0}, + [I(124,234)] = {64,0}, + [I(125,234)] = {64,0}, + [I(126,234)] = {64,0}, + [I(127,234)] = {64,0}, + [I(128,234)] = {64,0}, + [I(129,234)] = {64,0}, + [I(130,234)] = {64,0}, + [I(131,234)] = {64,0}, + [I(132,234)] = {64,0}, + [I(133,234)] = {64,0}, + [I(134,234)] = {64,0}, + [I(135,234)] = {64,0}, + [I(136,234)] = {64,0}, + [I(137,234)] = {64,0}, + [I(138,234)] = {64,0}, + [I(139,234)] = {64,0}, + [I(140,234)] = {64,0}, + [I(141,234)] = {64,0}, + [I(142,234)] = {64,0}, + [I(143,234)] = {64,0}, + [I(144,234)] = {64,0}, + [I(145,234)] = {64,0}, + [I(146,234)] = {64,0}, + [I(147,234)] = {64,0}, + [I(148,234)] = {64,0}, + [I(149,234)] = {64,0}, + [I(150,234)] = {64,0}, + [I(151,234)] = {64,0}, + [I(152,234)] = {64,0}, + [I(153,234)] = {64,0}, + [I(154,234)] = {64,0}, + [I(155,234)] = {64,0}, + [I(156,234)] = {64,0}, + [I(157,234)] = {64,0}, + [I(158,234)] = {64,0}, + [I(159,234)] = {64,0}, + [I(160,234)] = {64,0}, + [I(161,234)] = {64,0}, + [I(162,234)] = {64,0}, + [I(163,234)] = {64,0}, + [I(164,234)] = {64,0}, + [I(165,234)] = {64,0}, + [I(166,234)] = {64,0}, + [I(167,234)] = {64,0}, + [I(168,234)] = {64,0}, + [I(169,234)] = {64,0}, + [I(170,234)] = {64,0}, + [I(171,234)] = {64,0}, + [I(172,234)] = {64,0}, + [I(173,234)] = {64,0}, + [I(174,234)] = {64,0}, + [I(175,234)] = {64,0}, + [I(176,234)] = {64,0}, + [I(177,234)] = {64,0}, + [I(178,234)] = {64,0}, + [I(179,234)] = {64,0}, + [I(180,234)] = {64,0}, + [I(181,234)] = {64,0}, + [I(182,234)] = {64,0}, + [I(183,234)] = {64,0}, + [I(184,234)] = {64,0}, + [I(185,234)] = {64,0}, + [I(186,234)] = {64,0}, + [I(187,234)] = {64,0}, + [I(188,234)] = {64,0}, + [I(189,234)] = {64,0}, + [I(190,234)] = {64,0}, + [I(191,234)] = {64,0}, + [I(192,234)] = {64,0}, + [I(193,234)] = {64,0}, + [I(194,234)] = {64,0}, + [I(195,234)] = {64,0}, + [I(196,234)] = {64,0}, + [I(197,234)] = {64,0}, + [I(198,234)] = {64,0}, + [I(199,234)] = {64,0}, + [I(200,234)] = {64,0}, + [I(201,234)] = {64,0}, + [I(202,234)] = {64,0}, + [I(203,234)] = {64,0}, + [I(204,234)] = {64,0}, + [I(205,234)] = {64,0}, + [I(206,234)] = {64,0}, + [I(207,234)] = {64,0}, + [I(208,234)] = {64,0}, + [I(209,234)] = {64,0}, + [I(210,234)] = {64,0}, + [I(211,234)] = {64,0}, + [I(212,234)] = {64,0}, + [I(213,234)] = {64,0}, + [I(214,234)] = {64,0}, + [I(215,234)] = {64,0}, + [I(216,234)] = {64,0}, + [I(217,234)] = {64,0}, + [I(218,234)] = {64,0}, + [I(219,234)] = {64,0}, + [I(220,234)] = {64,0}, + [I(221,234)] = {64,0}, + [I(222,234)] = {64,0}, + [I(223,234)] = {64,0}, + [I(224,234)] = {64,0}, + [I(225,234)] = {64,0}, + [I(226,234)] = {64,0}, + [I(227,234)] = {64,0}, + [I(228,234)] = {64,0}, + [I(229,234)] = {64,0}, + [I(230,234)] = {64,0}, + [I(231,234)] = {64,0}, + [I(232,234)] = {64,0}, + [I(233,234)] = {64,0}, + [I(234,234)] = {64,0}, + [I(235,234)] = {64,0}, + [I(236,234)] = {64,0}, + [I(237,234)] = {64,0}, + [I(238,234)] = {64,0}, + [I(239,234)] = {64,0}, + [I(240,234)] = {64,0}, + [I(241,234)] = {64,0}, + [I(242,234)] = {64,0}, + [I(243,234)] = {64,0}, + [I(244,234)] = {64,0}, + [I(245,234)] = {64,0}, + [I(246,234)] = {64,0}, + [I(247,234)] = {64,0}, + [I(248,234)] = {64,0}, + [I(249,234)] = {64,0}, + [I(250,234)] = {64,0}, + [I(251,234)] = {64,0}, + [I(252,234)] = {64,0}, + [I(253,234)] = {64,0}, + [I(254,234)] = {64,0}, + [I(255,234)] = {64,0}, + [I(0,235)] = {64,0}, + [I(1,235)] = {64,0}, + [I(2,235)] = {64,0}, + [I(3,235)] = {64,0}, + [I(4,235)] = {64,0}, + [I(5,235)] = {64,0}, + [I(6,235)] = {64,0}, + [I(7,235)] = {64,0}, + [I(8,235)] = {64,0}, + [I(9,235)] = {64,0}, + [I(10,235)] = {64,0}, + [I(11,235)] = {64,0}, + [I(12,235)] = {64,0}, + [I(13,235)] = {64,0}, + [I(14,235)] = {64,0}, + [I(15,235)] = {64,0}, + [I(16,235)] = {64,0}, + [I(17,235)] = {64,0}, + [I(18,235)] = {64,0}, + [I(19,235)] = {64,0}, + [I(20,235)] = {64,0}, + [I(21,235)] = {64,0}, + [I(22,235)] = {64,0}, + [I(23,235)] = {64,0}, + [I(24,235)] = {64,0}, + [I(25,235)] = {64,0}, + [I(26,235)] = {64,0}, + [I(27,235)] = {64,0}, + [I(28,235)] = {64,0}, + [I(29,235)] = {64,0}, + [I(30,235)] = {64,0}, + [I(31,235)] = {64,0}, + [I(32,235)] = {31,0x29FFFFEF}, + [I(33,235)] = {64,0}, + [I(34,235)] = {64,0}, + [I(35,235)] = {64,0}, + [I(36,235)] = {64,0}, + [I(37,235)] = {31,0x2BFFFFEF}, + [I(38,235)] = {64,0}, + [I(39,235)] = {64,0}, + [I(40,235)] = {64,0}, + [I(41,235)] = {64,0}, + [I(42,235)] = {64,0}, + [I(43,235)] = {64,0}, + [I(44,235)] = {64,0}, + [I(45,235)] = {31,0x2DFFFFEF}, + [I(46,235)] = {31,0x2FFFFFEF}, + [I(47,235)] = {31,0x31FFFFEF}, + [I(48,235)] = {30,0x1FFFFEF}, + [I(49,235)] = {30,0x3FFFFEF}, + [I(50,235)] = {30,0x5FFFFEF}, + [I(51,235)] = {31,0x33FFFFEF}, + [I(52,235)] = {31,0x35FFFFEF}, + [I(53,235)] = {31,0x37FFFFEF}, + [I(54,235)] = {31,0x39FFFFEF}, + [I(55,235)] = {31,0x3BFFFFEF}, + [I(56,235)] = {31,0x3DFFFFEF}, + [I(57,235)] = {31,0x3FFFFFEF}, + [I(58,235)] = {X32,0xB9FFFFEF}, + [I(59,235)] = {64,0}, + [I(60,235)] = {64,0}, + [I(61,235)] = {31,0x41FFFFEF}, + [I(62,235)] = {64,0}, + [I(63,235)] = {64,0}, + [I(64,235)] = {64,0}, + [I(65,235)] = {31,0x43FFFFEF}, + [I(66,235)] = {X32,0xBBFFFFEF}, + [I(67,235)] = {X32,0xBDFFFFEF}, + [I(68,235)] = {X32,0xBFFFFFEF}, + [I(69,235)] = {X32,0xC1FFFFEF}, + [I(70,235)] = {X32,0xC3FFFFEF}, + [I(71,235)] = {X32,0xC5FFFFEF}, + [I(72,235)] = {X32,0xC7FFFFEF}, + [I(73,235)] = {X32,0xC9FFFFEF}, + [I(74,235)] = {X32,0xCBFFFFEF}, + [I(75,235)] = {X32,0xCDFFFFEF}, + [I(76,235)] = {X32,0xCFFFFFEF}, + [I(77,235)] = {X32,0xD1FFFFEF}, + [I(78,235)] = {X32,0xD3FFFFEF}, + [I(79,235)] = {X32,0xD5FFFFEF}, + [I(80,235)] = {X32,0xD7FFFFEF}, + [I(81,235)] = {X32,0xD9FFFFEF}, + [I(82,235)] = {X32,0xDBFFFFEF}, + [I(83,235)] = {X32,0xDDFFFFEF}, + [I(84,235)] = {X32,0xDFFFFFEF}, + [I(85,235)] = {X32,0xE1FFFFEF}, + [I(86,235)] = {X32,0xE3FFFFEF}, + [I(87,235)] = {X32,0xE5FFFFEF}, + [I(88,235)] = {64,0}, + [I(89,235)] = {X32,0xE7FFFFEF}, + [I(90,235)] = {64,0}, + [I(91,235)] = {64,0}, + [I(92,235)] = {64,0}, + [I(93,235)] = {64,0}, + [I(94,235)] = {64,0}, + [I(95,235)] = {31,0x45FFFFEF}, + [I(96,235)] = {64,0}, + [I(97,235)] = {30,0x7FFFFEF}, + [I(98,235)] = {31,0x47FFFFEF}, + [I(99,235)] = {30,0x9FFFFEF}, + [I(100,235)] = {31,0x49FFFFEF}, + [I(101,235)] = {30,0xBFFFFEF}, + [I(102,235)] = {31,0x4BFFFFEF}, + [I(103,235)] = {31,0x4DFFFFEF}, + [I(104,235)] = {31,0x4FFFFFEF}, + [I(105,235)] = {30,0xDFFFFEF}, + [I(106,235)] = {X32,0xE9FFFFEF}, + [I(107,235)] = {X32,0xEBFFFFEF}, + [I(108,235)] = {31,0x51FFFFEF}, + [I(109,235)] = {31,0x53FFFFEF}, + [I(110,235)] = {31,0x55FFFFEF}, + [I(111,235)] = {30,0xFFFFFEF}, + [I(112,235)] = {31,0x57FFFFEF}, + [I(113,235)] = {X32,0xEDFFFFEF}, + [I(114,235)] = {31,0x59FFFFEF}, + [I(115,235)] = {30,0x11FFFFEF}, + [I(116,235)] = {30,0x13FFFFEF}, + [I(117,235)] = {31,0x5BFFFFEF}, + [I(118,235)] = {X32,0xEFFFFFEF}, + [I(119,235)] = {X32,0xF1FFFFEF}, + [I(120,235)] = {X32,0xF3FFFFEF}, + [I(121,235)] = {X32,0xF5FFFFEF}, + [I(122,235)] = {X32,0xF7FFFFEF}, + [I(123,235)] = {64,0}, + [I(124,235)] = {64,0}, + [I(125,235)] = {64,0}, + [I(126,235)] = {64,0}, + [I(127,235)] = {64,0}, + [I(128,235)] = {64,0}, + [I(129,235)] = {64,0}, + [I(130,235)] = {64,0}, + [I(131,235)] = {64,0}, + [I(132,235)] = {64,0}, + [I(133,235)] = {64,0}, + [I(134,235)] = {64,0}, + [I(135,235)] = {64,0}, + [I(136,235)] = {64,0}, + [I(137,235)] = {64,0}, + [I(138,235)] = {64,0}, + [I(139,235)] = {64,0}, + [I(140,235)] = {64,0}, + [I(141,235)] = {64,0}, + [I(142,235)] = {64,0}, + [I(143,235)] = {64,0}, + [I(144,235)] = {64,0}, + [I(145,235)] = {64,0}, + [I(146,235)] = {64,0}, + [I(147,235)] = {64,0}, + [I(148,235)] = {64,0}, + [I(149,235)] = {64,0}, + [I(150,235)] = {64,0}, + [I(151,235)] = {64,0}, + [I(152,235)] = {64,0}, + [I(153,235)] = {64,0}, + [I(154,235)] = {64,0}, + [I(155,235)] = {64,0}, + [I(156,235)] = {64,0}, + [I(157,235)] = {64,0}, + [I(158,235)] = {64,0}, + [I(159,235)] = {64,0}, + [I(160,235)] = {64,0}, + [I(161,235)] = {64,0}, + [I(162,235)] = {64,0}, + [I(163,235)] = {64,0}, + [I(164,235)] = {64,0}, + [I(165,235)] = {64,0}, + [I(166,235)] = {64,0}, + [I(167,235)] = {64,0}, + [I(168,235)] = {64,0}, + [I(169,235)] = {64,0}, + [I(170,235)] = {64,0}, + [I(171,235)] = {64,0}, + [I(172,235)] = {64,0}, + [I(173,235)] = {64,0}, + [I(174,235)] = {64,0}, + [I(175,235)] = {64,0}, + [I(176,235)] = {64,0}, + [I(177,235)] = {64,0}, + [I(178,235)] = {64,0}, + [I(179,235)] = {64,0}, + [I(180,235)] = {64,0}, + [I(181,235)] = {64,0}, + [I(182,235)] = {64,0}, + [I(183,235)] = {64,0}, + [I(184,235)] = {64,0}, + [I(185,235)] = {64,0}, + [I(186,235)] = {64,0}, + [I(187,235)] = {64,0}, + [I(188,235)] = {64,0}, + [I(189,235)] = {64,0}, + [I(190,235)] = {64,0}, + [I(191,235)] = {64,0}, + [I(192,235)] = {64,0}, + [I(193,235)] = {64,0}, + [I(194,235)] = {64,0}, + [I(195,235)] = {64,0}, + [I(196,235)] = {64,0}, + [I(197,235)] = {64,0}, + [I(198,235)] = {64,0}, + [I(199,235)] = {64,0}, + [I(200,235)] = {64,0}, + [I(201,235)] = {64,0}, + [I(202,235)] = {64,0}, + [I(203,235)] = {64,0}, + [I(204,235)] = {64,0}, + [I(205,235)] = {64,0}, + [I(206,235)] = {64,0}, + [I(207,235)] = {64,0}, + [I(208,235)] = {64,0}, + [I(209,235)] = {64,0}, + [I(210,235)] = {64,0}, + [I(211,235)] = {64,0}, + [I(212,235)] = {64,0}, + [I(213,235)] = {64,0}, + [I(214,235)] = {64,0}, + [I(215,235)] = {64,0}, + [I(216,235)] = {64,0}, + [I(217,235)] = {64,0}, + [I(218,235)] = {64,0}, + [I(219,235)] = {64,0}, + [I(220,235)] = {64,0}, + [I(221,235)] = {64,0}, + [I(222,235)] = {64,0}, + [I(223,235)] = {64,0}, + [I(224,235)] = {64,0}, + [I(225,235)] = {64,0}, + [I(226,235)] = {64,0}, + [I(227,235)] = {64,0}, + [I(228,235)] = {64,0}, + [I(229,235)] = {64,0}, + [I(230,235)] = {64,0}, + [I(231,235)] = {64,0}, + [I(232,235)] = {64,0}, + [I(233,235)] = {64,0}, + [I(234,235)] = {64,0}, + [I(235,235)] = {64,0}, + [I(236,235)] = {64,0}, + [I(237,235)] = {64,0}, + [I(238,235)] = {64,0}, + [I(239,235)] = {64,0}, + [I(240,235)] = {64,0}, + [I(241,235)] = {64,0}, + [I(242,235)] = {64,0}, + [I(243,235)] = {64,0}, + [I(244,235)] = {64,0}, + [I(245,235)] = {64,0}, + [I(246,235)] = {64,0}, + [I(247,235)] = {64,0}, + [I(248,235)] = {64,0}, + [I(249,235)] = {64,0}, + [I(250,235)] = {64,0}, + [I(251,235)] = {64,0}, + [I(252,235)] = {64,0}, + [I(253,235)] = {64,0}, + [I(254,235)] = {64,0}, + [I(255,235)] = {64,0}, + [I(0,236)] = {64,0}, + [I(1,236)] = {64,0}, + [I(2,236)] = {64,0}, + [I(3,236)] = {64,0}, + [I(4,236)] = {64,0}, + [I(5,236)] = {64,0}, + [I(6,236)] = {64,0}, + [I(7,236)] = {64,0}, + [I(8,236)] = {64,0}, + [I(9,236)] = {64,0}, + [I(10,236)] = {64,0}, + [I(11,236)] = {64,0}, + [I(12,236)] = {64,0}, + [I(13,236)] = {64,0}, + [I(14,236)] = {64,0}, + [I(15,236)] = {64,0}, + [I(16,236)] = {64,0}, + [I(17,236)] = {64,0}, + [I(18,236)] = {64,0}, + [I(19,236)] = {64,0}, + [I(20,236)] = {64,0}, + [I(21,236)] = {64,0}, + [I(22,236)] = {64,0}, + [I(23,236)] = {64,0}, + [I(24,236)] = {64,0}, + [I(25,236)] = {64,0}, + [I(26,236)] = {64,0}, + [I(27,236)] = {64,0}, + [I(28,236)] = {64,0}, + [I(29,236)] = {64,0}, + [I(30,236)] = {64,0}, + [I(31,236)] = {64,0}, + [I(32,236)] = {30,0x14FFFFF4}, + [I(33,236)] = {64,0}, + [I(34,236)] = {64,0}, + [I(35,236)] = {64,0}, + [I(36,236)] = {64,0}, + [I(37,236)] = {30,0x15FFFFF4}, + [I(38,236)] = {X32,0xF8FFFFF4}, + [I(39,236)] = {64,0}, + [I(40,236)] = {64,0}, + [I(41,236)] = {64,0}, + [I(42,236)] = {X32,0xF9FFFFF4}, + [I(43,236)] = {64,0}, + [I(44,236)] = {X32,0xFAFFFFF4}, + [I(45,236)] = {30,0x16FFFFF4}, + [I(46,236)] = {30,0x17FFFFF4}, + [I(47,236)] = {30,0x18FFFFF4}, + [I(48,236)] = {29,0xFFFFF4}, + [I(49,236)] = {29,0x1FFFFF4}, + [I(50,236)] = {29,0x2FFFFF4}, + [I(51,236)] = {30,0x19FFFFF4}, + [I(52,236)] = {30,0x1AFFFFF4}, + [I(53,236)] = {30,0x1BFFFFF4}, + [I(54,236)] = {30,0x1CFFFFF4}, + [I(55,236)] = {30,0x1DFFFFF4}, + [I(56,236)] = {30,0x1EFFFFF4}, + [I(57,236)] = {30,0x1FFFFFF4}, + [I(58,236)] = {31,0x5CFFFFF4}, + [I(59,236)] = {X32,0xFBFFFFF4}, + [I(60,236)] = {64,0}, + [I(61,236)] = {30,0x20FFFFF4}, + [I(62,236)] = {64,0}, + [I(63,236)] = {64,0}, + [I(64,236)] = {64,0}, + [I(65,236)] = {30,0x21FFFFF4}, + [I(66,236)] = {31,0x5DFFFFF4}, + [I(67,236)] = {31,0x5EFFFFF4}, + [I(68,236)] = {31,0x5FFFFFF4}, + [I(69,236)] = {31,0x60FFFFF4}, + [I(70,236)] = {31,0x61FFFFF4}, + [I(71,236)] = {31,0x62FFFFF4}, + [I(72,236)] = {31,0x63FFFFF4}, + [I(73,236)] = {31,0x64FFFFF4}, + [I(74,236)] = {31,0x65FFFFF4}, + [I(75,236)] = {31,0x66FFFFF4}, + [I(76,236)] = {31,0x67FFFFF4}, + [I(77,236)] = {31,0x68FFFFF4}, + [I(78,236)] = {31,0x69FFFFF4}, + [I(79,236)] = {31,0x6AFFFFF4}, + [I(80,236)] = {31,0x6BFFFFF4}, + [I(81,236)] = {31,0x6CFFFFF4}, + [I(82,236)] = {31,0x6DFFFFF4}, + [I(83,236)] = {31,0x6EFFFFF4}, + [I(84,236)] = {31,0x6FFFFFF4}, + [I(85,236)] = {31,0x70FFFFF4}, + [I(86,236)] = {31,0x71FFFFF4}, + [I(87,236)] = {31,0x72FFFFF4}, + [I(88,236)] = {X32,0xFCFFFFF4}, + [I(89,236)] = {31,0x73FFFFF4}, + [I(90,236)] = {X32,0xFDFFFFF4}, + [I(91,236)] = {64,0}, + [I(92,236)] = {64,0}, + [I(93,236)] = {64,0}, + [I(94,236)] = {64,0}, + [I(95,236)] = {30,0x22FFFFF4}, + [I(96,236)] = {64,0}, + [I(97,236)] = {29,0x3FFFFF4}, + [I(98,236)] = {30,0x23FFFFF4}, + [I(99,236)] = {29,0x4FFFFF4}, + [I(100,236)] = {30,0x24FFFFF4}, + [I(101,236)] = {29,0x5FFFFF4}, + [I(102,236)] = {30,0x25FFFFF4}, + [I(103,236)] = {30,0x26FFFFF4}, + [I(104,236)] = {30,0x27FFFFF4}, + [I(105,236)] = {29,0x6FFFFF4}, + [I(106,236)] = {31,0x74FFFFF4}, + [I(107,236)] = {31,0x75FFFFF4}, + [I(108,236)] = {30,0x28FFFFF4}, + [I(109,236)] = {30,0x29FFFFF4}, + [I(110,236)] = {30,0x2AFFFFF4}, + [I(111,236)] = {29,0x7FFFFF4}, + [I(112,236)] = {30,0x2BFFFFF4}, + [I(113,236)] = {31,0x76FFFFF4}, + [I(114,236)] = {30,0x2CFFFFF4}, + [I(115,236)] = {29,0x8FFFFF4}, + [I(116,236)] = {29,0x9FFFFF4}, + [I(117,236)] = {30,0x2DFFFFF4}, + [I(118,236)] = {31,0x77FFFFF4}, + [I(119,236)] = {31,0x78FFFFF4}, + [I(120,236)] = {31,0x79FFFFF4}, + [I(121,236)] = {31,0x7AFFFFF4}, + [I(122,236)] = {31,0x7BFFFFF4}, + [I(123,236)] = {64,0}, + [I(124,236)] = {64,0}, + [I(125,236)] = {64,0}, + [I(126,236)] = {64,0}, + [I(127,236)] = {64,0}, + [I(128,236)] = {64,0}, + [I(129,236)] = {64,0}, + [I(130,236)] = {64,0}, + [I(131,236)] = {64,0}, + [I(132,236)] = {64,0}, + [I(133,236)] = {64,0}, + [I(134,236)] = {64,0}, + [I(135,236)] = {64,0}, + [I(136,236)] = {64,0}, + [I(137,236)] = {64,0}, + [I(138,236)] = {64,0}, + [I(139,236)] = {64,0}, + [I(140,236)] = {64,0}, + [I(141,236)] = {64,0}, + [I(142,236)] = {64,0}, + [I(143,236)] = {64,0}, + [I(144,236)] = {64,0}, + [I(145,236)] = {64,0}, + [I(146,236)] = {64,0}, + [I(147,236)] = {64,0}, + [I(148,236)] = {64,0}, + [I(149,236)] = {64,0}, + [I(150,236)] = {64,0}, + [I(151,236)] = {64,0}, + [I(152,236)] = {64,0}, + [I(153,236)] = {64,0}, + [I(154,236)] = {64,0}, + [I(155,236)] = {64,0}, + [I(156,236)] = {64,0}, + [I(157,236)] = {64,0}, + [I(158,236)] = {64,0}, + [I(159,236)] = {64,0}, + [I(160,236)] = {64,0}, + [I(161,236)] = {64,0}, + [I(162,236)] = {64,0}, + [I(163,236)] = {64,0}, + [I(164,236)] = {64,0}, + [I(165,236)] = {64,0}, + [I(166,236)] = {64,0}, + [I(167,236)] = {64,0}, + [I(168,236)] = {64,0}, + [I(169,236)] = {64,0}, + [I(170,236)] = {64,0}, + [I(171,236)] = {64,0}, + [I(172,236)] = {64,0}, + [I(173,236)] = {64,0}, + [I(174,236)] = {64,0}, + [I(175,236)] = {64,0}, + [I(176,236)] = {64,0}, + [I(177,236)] = {64,0}, + [I(178,236)] = {64,0}, + [I(179,236)] = {64,0}, + [I(180,236)] = {64,0}, + [I(181,236)] = {64,0}, + [I(182,236)] = {64,0}, + [I(183,236)] = {64,0}, + [I(184,236)] = {64,0}, + [I(185,236)] = {64,0}, + [I(186,236)] = {64,0}, + [I(187,236)] = {64,0}, + [I(188,236)] = {64,0}, + [I(189,236)] = {64,0}, + [I(190,236)] = {64,0}, + [I(191,236)] = {64,0}, + [I(192,236)] = {64,0}, + [I(193,236)] = {64,0}, + [I(194,236)] = {64,0}, + [I(195,236)] = {64,0}, + [I(196,236)] = {64,0}, + [I(197,236)] = {64,0}, + [I(198,236)] = {64,0}, + [I(199,236)] = {64,0}, + [I(200,236)] = {64,0}, + [I(201,236)] = {64,0}, + [I(202,236)] = {64,0}, + [I(203,236)] = {64,0}, + [I(204,236)] = {64,0}, + [I(205,236)] = {64,0}, + [I(206,236)] = {64,0}, + [I(207,236)] = {64,0}, + [I(208,236)] = {64,0}, + [I(209,236)] = {64,0}, + [I(210,236)] = {64,0}, + [I(211,236)] = {64,0}, + [I(212,236)] = {64,0}, + [I(213,236)] = {64,0}, + [I(214,236)] = {64,0}, + [I(215,236)] = {64,0}, + [I(216,236)] = {64,0}, + [I(217,236)] = {64,0}, + [I(218,236)] = {64,0}, + [I(219,236)] = {64,0}, + [I(220,236)] = {64,0}, + [I(221,236)] = {64,0}, + [I(222,236)] = {64,0}, + [I(223,236)] = {64,0}, + [I(224,236)] = {64,0}, + [I(225,236)] = {64,0}, + [I(226,236)] = {64,0}, + [I(227,236)] = {64,0}, + [I(228,236)] = {64,0}, + [I(229,236)] = {64,0}, + [I(230,236)] = {64,0}, + [I(231,236)] = {64,0}, + [I(232,236)] = {64,0}, + [I(233,236)] = {64,0}, + [I(234,236)] = {64,0}, + [I(235,236)] = {64,0}, + [I(236,236)] = {64,0}, + [I(237,236)] = {64,0}, + [I(238,236)] = {64,0}, + [I(239,236)] = {64,0}, + [I(240,236)] = {64,0}, + [I(241,236)] = {64,0}, + [I(242,236)] = {64,0}, + [I(243,236)] = {64,0}, + [I(244,236)] = {64,0}, + [I(245,236)] = {64,0}, + [I(246,236)] = {64,0}, + [I(247,236)] = {64,0}, + [I(248,236)] = {64,0}, + [I(249,236)] = {64,0}, + [I(250,236)] = {64,0}, + [I(251,236)] = {64,0}, + [I(252,236)] = {64,0}, + [I(253,236)] = {64,0}, + [I(254,236)] = {64,0}, + [I(255,236)] = {64,0}, + [I(0,237)] = {64,0}, + [I(1,237)] = {64,0}, + [I(2,237)] = {64,0}, + [I(3,237)] = {64,0}, + [I(4,237)] = {64,0}, + [I(5,237)] = {64,0}, + [I(6,237)] = {64,0}, + [I(7,237)] = {64,0}, + [I(8,237)] = {64,0}, + [I(9,237)] = {64,0}, + [I(10,237)] = {64,0}, + [I(11,237)] = {64,0}, + [I(12,237)] = {64,0}, + [I(13,237)] = {64,0}, + [I(14,237)] = {64,0}, + [I(15,237)] = {64,0}, + [I(16,237)] = {64,0}, + [I(17,237)] = {64,0}, + [I(18,237)] = {64,0}, + [I(19,237)] = {64,0}, + [I(20,237)] = {64,0}, + [I(21,237)] = {64,0}, + [I(22,237)] = {64,0}, + [I(23,237)] = {64,0}, + [I(24,237)] = {64,0}, + [I(25,237)] = {64,0}, + [I(26,237)] = {64,0}, + [I(27,237)] = {64,0}, + [I(28,237)] = {64,0}, + [I(29,237)] = {64,0}, + [I(30,237)] = {64,0}, + [I(31,237)] = {64,0}, + [I(32,237)] = {30,0x14FFFFF5}, + [I(33,237)] = {64,0}, + [I(34,237)] = {64,0}, + [I(35,237)] = {64,0}, + [I(36,237)] = {64,0}, + [I(37,237)] = {30,0x15FFFFF5}, + [I(38,237)] = {X32,0xF8FFFFF5}, + [I(39,237)] = {64,0}, + [I(40,237)] = {64,0}, + [I(41,237)] = {64,0}, + [I(42,237)] = {X32,0xF9FFFFF5}, + [I(43,237)] = {64,0}, + [I(44,237)] = {X32,0xFAFFFFF5}, + [I(45,237)] = {30,0x16FFFFF5}, + [I(46,237)] = {30,0x17FFFFF5}, + [I(47,237)] = {30,0x18FFFFF5}, + [I(48,237)] = {29,0xFFFFF5}, + [I(49,237)] = {29,0x1FFFFF5}, + [I(50,237)] = {29,0x2FFFFF5}, + [I(51,237)] = {30,0x19FFFFF5}, + [I(52,237)] = {30,0x1AFFFFF5}, + [I(53,237)] = {30,0x1BFFFFF5}, + [I(54,237)] = {30,0x1CFFFFF5}, + [I(55,237)] = {30,0x1DFFFFF5}, + [I(56,237)] = {30,0x1EFFFFF5}, + [I(57,237)] = {30,0x1FFFFFF5}, + [I(58,237)] = {31,0x5CFFFFF5}, + [I(59,237)] = {X32,0xFBFFFFF5}, + [I(60,237)] = {64,0}, + [I(61,237)] = {30,0x20FFFFF5}, + [I(62,237)] = {64,0}, + [I(63,237)] = {64,0}, + [I(64,237)] = {64,0}, + [I(65,237)] = {30,0x21FFFFF5}, + [I(66,237)] = {31,0x5DFFFFF5}, + [I(67,237)] = {31,0x5EFFFFF5}, + [I(68,237)] = {31,0x5FFFFFF5}, + [I(69,237)] = {31,0x60FFFFF5}, + [I(70,237)] = {31,0x61FFFFF5}, + [I(71,237)] = {31,0x62FFFFF5}, + [I(72,237)] = {31,0x63FFFFF5}, + [I(73,237)] = {31,0x64FFFFF5}, + [I(74,237)] = {31,0x65FFFFF5}, + [I(75,237)] = {31,0x66FFFFF5}, + [I(76,237)] = {31,0x67FFFFF5}, + [I(77,237)] = {31,0x68FFFFF5}, + [I(78,237)] = {31,0x69FFFFF5}, + [I(79,237)] = {31,0x6AFFFFF5}, + [I(80,237)] = {31,0x6BFFFFF5}, + [I(81,237)] = {31,0x6CFFFFF5}, + [I(82,237)] = {31,0x6DFFFFF5}, + [I(83,237)] = {31,0x6EFFFFF5}, + [I(84,237)] = {31,0x6FFFFFF5}, + [I(85,237)] = {31,0x70FFFFF5}, + [I(86,237)] = {31,0x71FFFFF5}, + [I(87,237)] = {31,0x72FFFFF5}, + [I(88,237)] = {X32,0xFCFFFFF5}, + [I(89,237)] = {31,0x73FFFFF5}, + [I(90,237)] = {X32,0xFDFFFFF5}, + [I(91,237)] = {64,0}, + [I(92,237)] = {64,0}, + [I(93,237)] = {64,0}, + [I(94,237)] = {64,0}, + [I(95,237)] = {30,0x22FFFFF5}, + [I(96,237)] = {64,0}, + [I(97,237)] = {29,0x3FFFFF5}, + [I(98,237)] = {30,0x23FFFFF5}, + [I(99,237)] = {29,0x4FFFFF5}, + [I(100,237)] = {30,0x24FFFFF5}, + [I(101,237)] = {29,0x5FFFFF5}, + [I(102,237)] = {30,0x25FFFFF5}, + [I(103,237)] = {30,0x26FFFFF5}, + [I(104,237)] = {30,0x27FFFFF5}, + [I(105,237)] = {29,0x6FFFFF5}, + [I(106,237)] = {31,0x74FFFFF5}, + [I(107,237)] = {31,0x75FFFFF5}, + [I(108,237)] = {30,0x28FFFFF5}, + [I(109,237)] = {30,0x29FFFFF5}, + [I(110,237)] = {30,0x2AFFFFF5}, + [I(111,237)] = {29,0x7FFFFF5}, + [I(112,237)] = {30,0x2BFFFFF5}, + [I(113,237)] = {31,0x76FFFFF5}, + [I(114,237)] = {30,0x2CFFFFF5}, + [I(115,237)] = {29,0x8FFFFF5}, + [I(116,237)] = {29,0x9FFFFF5}, + [I(117,237)] = {30,0x2DFFFFF5}, + [I(118,237)] = {31,0x77FFFFF5}, + [I(119,237)] = {31,0x78FFFFF5}, + [I(120,237)] = {31,0x79FFFFF5}, + [I(121,237)] = {31,0x7AFFFFF5}, + [I(122,237)] = {31,0x7BFFFFF5}, + [I(123,237)] = {64,0}, + [I(124,237)] = {64,0}, + [I(125,237)] = {64,0}, + [I(126,237)] = {64,0}, + [I(127,237)] = {64,0}, + [I(128,237)] = {64,0}, + [I(129,237)] = {64,0}, + [I(130,237)] = {64,0}, + [I(131,237)] = {64,0}, + [I(132,237)] = {64,0}, + [I(133,237)] = {64,0}, + [I(134,237)] = {64,0}, + [I(135,237)] = {64,0}, + [I(136,237)] = {64,0}, + [I(137,237)] = {64,0}, + [I(138,237)] = {64,0}, + [I(139,237)] = {64,0}, + [I(140,237)] = {64,0}, + [I(141,237)] = {64,0}, + [I(142,237)] = {64,0}, + [I(143,237)] = {64,0}, + [I(144,237)] = {64,0}, + [I(145,237)] = {64,0}, + [I(146,237)] = {64,0}, + [I(147,237)] = {64,0}, + [I(148,237)] = {64,0}, + [I(149,237)] = {64,0}, + [I(150,237)] = {64,0}, + [I(151,237)] = {64,0}, + [I(152,237)] = {64,0}, + [I(153,237)] = {64,0}, + [I(154,237)] = {64,0}, + [I(155,237)] = {64,0}, + [I(156,237)] = {64,0}, + [I(157,237)] = {64,0}, + [I(158,237)] = {64,0}, + [I(159,237)] = {64,0}, + [I(160,237)] = {64,0}, + [I(161,237)] = {64,0}, + [I(162,237)] = {64,0}, + [I(163,237)] = {64,0}, + [I(164,237)] = {64,0}, + [I(165,237)] = {64,0}, + [I(166,237)] = {64,0}, + [I(167,237)] = {64,0}, + [I(168,237)] = {64,0}, + [I(169,237)] = {64,0}, + [I(170,237)] = {64,0}, + [I(171,237)] = {64,0}, + [I(172,237)] = {64,0}, + [I(173,237)] = {64,0}, + [I(174,237)] = {64,0}, + [I(175,237)] = {64,0}, + [I(176,237)] = {64,0}, + [I(177,237)] = {64,0}, + [I(178,237)] = {64,0}, + [I(179,237)] = {64,0}, + [I(180,237)] = {64,0}, + [I(181,237)] = {64,0}, + [I(182,237)] = {64,0}, + [I(183,237)] = {64,0}, + [I(184,237)] = {64,0}, + [I(185,237)] = {64,0}, + [I(186,237)] = {64,0}, + [I(187,237)] = {64,0}, + [I(188,237)] = {64,0}, + [I(189,237)] = {64,0}, + [I(190,237)] = {64,0}, + [I(191,237)] = {64,0}, + [I(192,237)] = {64,0}, + [I(193,237)] = {64,0}, + [I(194,237)] = {64,0}, + [I(195,237)] = {64,0}, + [I(196,237)] = {64,0}, + [I(197,237)] = {64,0}, + [I(198,237)] = {64,0}, + [I(199,237)] = {64,0}, + [I(200,237)] = {64,0}, + [I(201,237)] = {64,0}, + [I(202,237)] = {64,0}, + [I(203,237)] = {64,0}, + [I(204,237)] = {64,0}, + [I(205,237)] = {64,0}, + [I(206,237)] = {64,0}, + [I(207,237)] = {64,0}, + [I(208,237)] = {64,0}, + [I(209,237)] = {64,0}, + [I(210,237)] = {64,0}, + [I(211,237)] = {64,0}, + [I(212,237)] = {64,0}, + [I(213,237)] = {64,0}, + [I(214,237)] = {64,0}, + [I(215,237)] = {64,0}, + [I(216,237)] = {64,0}, + [I(217,237)] = {64,0}, + [I(218,237)] = {64,0}, + [I(219,237)] = {64,0}, + [I(220,237)] = {64,0}, + [I(221,237)] = {64,0}, + [I(222,237)] = {64,0}, + [I(223,237)] = {64,0}, + [I(224,237)] = {64,0}, + [I(225,237)] = {64,0}, + [I(226,237)] = {64,0}, + [I(227,237)] = {64,0}, + [I(228,237)] = {64,0}, + [I(229,237)] = {64,0}, + [I(230,237)] = {64,0}, + [I(231,237)] = {64,0}, + [I(232,237)] = {64,0}, + [I(233,237)] = {64,0}, + [I(234,237)] = {64,0}, + [I(235,237)] = {64,0}, + [I(236,237)] = {64,0}, + [I(237,237)] = {64,0}, + [I(238,237)] = {64,0}, + [I(239,237)] = {64,0}, + [I(240,237)] = {64,0}, + [I(241,237)] = {64,0}, + [I(242,237)] = {64,0}, + [I(243,237)] = {64,0}, + [I(244,237)] = {64,0}, + [I(245,237)] = {64,0}, + [I(246,237)] = {64,0}, + [I(247,237)] = {64,0}, + [I(248,237)] = {64,0}, + [I(249,237)] = {64,0}, + [I(250,237)] = {64,0}, + [I(251,237)] = {64,0}, + [I(252,237)] = {64,0}, + [I(253,237)] = {64,0}, + [I(254,237)] = {64,0}, + [I(255,237)] = {64,0}, + [I(0,238)] = {64,0}, + [I(1,238)] = {64,0}, + [I(2,238)] = {64,0}, + [I(3,238)] = {64,0}, + [I(4,238)] = {64,0}, + [I(5,238)] = {64,0}, + [I(6,238)] = {64,0}, + [I(7,238)] = {64,0}, + [I(8,238)] = {64,0}, + [I(9,238)] = {64,0}, + [I(10,238)] = {64,0}, + [I(11,238)] = {64,0}, + [I(12,238)] = {64,0}, + [I(13,238)] = {64,0}, + [I(14,238)] = {64,0}, + [I(15,238)] = {64,0}, + [I(16,238)] = {64,0}, + [I(17,238)] = {64,0}, + [I(18,238)] = {64,0}, + [I(19,238)] = {64,0}, + [I(20,238)] = {64,0}, + [I(21,238)] = {64,0}, + [I(22,238)] = {64,0}, + [I(23,238)] = {64,0}, + [I(24,238)] = {64,0}, + [I(25,238)] = {64,0}, + [I(26,238)] = {64,0}, + [I(27,238)] = {64,0}, + [I(28,238)] = {64,0}, + [I(29,238)] = {64,0}, + [I(30,238)] = {64,0}, + [I(31,238)] = {64,0}, + [I(32,238)] = {X32,0x53FFFFEA}, + [I(33,238)] = {64,0}, + [I(34,238)] = {64,0}, + [I(35,238)] = {64,0}, + [I(36,238)] = {64,0}, + [I(37,238)] = {X32,0x57FFFFEA}, + [I(38,238)] = {64,0}, + [I(39,238)] = {64,0}, + [I(40,238)] = {64,0}, + [I(41,238)] = {64,0}, + [I(42,238)] = {64,0}, + [I(43,238)] = {64,0}, + [I(44,238)] = {64,0}, + [I(45,238)] = {X32,0x5BFFFFEA}, + [I(46,238)] = {X32,0x5FFFFFEA}, + [I(47,238)] = {X32,0x63FFFFEA}, + [I(48,238)] = {31,0x3FFFFEA}, + [I(49,238)] = {31,0x7FFFFEA}, + [I(50,238)] = {31,0xBFFFFEA}, + [I(51,238)] = {X32,0x67FFFFEA}, + [I(52,238)] = {X32,0x6BFFFFEA}, + [I(53,238)] = {X32,0x6FFFFFEA}, + [I(54,238)] = {X32,0x73FFFFEA}, + [I(55,238)] = {X32,0x77FFFFEA}, + [I(56,238)] = {X32,0x7BFFFFEA}, + [I(57,238)] = {X32,0x7FFFFFEA}, + [I(58,238)] = {64,0}, + [I(59,238)] = {64,0}, + [I(60,238)] = {64,0}, + [I(61,238)] = {X32,0x83FFFFEA}, + [I(62,238)] = {64,0}, + [I(63,238)] = {64,0}, + [I(64,238)] = {64,0}, + [I(65,238)] = {X32,0x87FFFFEA}, + [I(66,238)] = {64,0}, + [I(67,238)] = {64,0}, + [I(68,238)] = {64,0}, + [I(69,238)] = {64,0}, + [I(70,238)] = {64,0}, + [I(71,238)] = {64,0}, + [I(72,238)] = {64,0}, + [I(73,238)] = {64,0}, + [I(74,238)] = {64,0}, + [I(75,238)] = {64,0}, + [I(76,238)] = {64,0}, + [I(77,238)] = {64,0}, + [I(78,238)] = {64,0}, + [I(79,238)] = {64,0}, + [I(80,238)] = {64,0}, + [I(81,238)] = {64,0}, + [I(82,238)] = {64,0}, + [I(83,238)] = {64,0}, + [I(84,238)] = {64,0}, + [I(85,238)] = {64,0}, + [I(86,238)] = {64,0}, + [I(87,238)] = {64,0}, + [I(88,238)] = {64,0}, + [I(89,238)] = {64,0}, + [I(90,238)] = {64,0}, + [I(91,238)] = {64,0}, + [I(92,238)] = {64,0}, + [I(93,238)] = {64,0}, + [I(94,238)] = {64,0}, + [I(95,238)] = {X32,0x8BFFFFEA}, + [I(96,238)] = {64,0}, + [I(97,238)] = {31,0xFFFFFEA}, + [I(98,238)] = {X32,0x8FFFFFEA}, + [I(99,238)] = {31,0x13FFFFEA}, + [I(100,238)] = {X32,0x93FFFFEA}, + [I(101,238)] = {31,0x17FFFFEA}, + [I(102,238)] = {X32,0x97FFFFEA}, + [I(103,238)] = {X32,0x9BFFFFEA}, + [I(104,238)] = {X32,0x9FFFFFEA}, + [I(105,238)] = {31,0x1BFFFFEA}, + [I(106,238)] = {64,0}, + [I(107,238)] = {64,0}, + [I(108,238)] = {X32,0xA3FFFFEA}, + [I(109,238)] = {X32,0xA7FFFFEA}, + [I(110,238)] = {X32,0xABFFFFEA}, + [I(111,238)] = {31,0x1FFFFFEA}, + [I(112,238)] = {X32,0xAFFFFFEA}, + [I(113,238)] = {64,0}, + [I(114,238)] = {X32,0xB3FFFFEA}, + [I(115,238)] = {31,0x23FFFFEA}, + [I(116,238)] = {31,0x27FFFFEA}, + [I(117,238)] = {X32,0xB7FFFFEA}, + [I(118,238)] = {64,0}, + [I(119,238)] = {64,0}, + [I(120,238)] = {64,0}, + [I(121,238)] = {64,0}, + [I(122,238)] = {64,0}, + [I(123,238)] = {64,0}, + [I(124,238)] = {64,0}, + [I(125,238)] = {64,0}, + [I(126,238)] = {64,0}, + [I(127,238)] = {64,0}, + [I(128,238)] = {64,0}, + [I(129,238)] = {64,0}, + [I(130,238)] = {64,0}, + [I(131,238)] = {64,0}, + [I(132,238)] = {64,0}, + [I(133,238)] = {64,0}, + [I(134,238)] = {64,0}, + [I(135,238)] = {64,0}, + [I(136,238)] = {64,0}, + [I(137,238)] = {64,0}, + [I(138,238)] = {64,0}, + [I(139,238)] = {64,0}, + [I(140,238)] = {64,0}, + [I(141,238)] = {64,0}, + [I(142,238)] = {64,0}, + [I(143,238)] = {64,0}, + [I(144,238)] = {64,0}, + [I(145,238)] = {64,0}, + [I(146,238)] = {64,0}, + [I(147,238)] = {64,0}, + [I(148,238)] = {64,0}, + [I(149,238)] = {64,0}, + [I(150,238)] = {64,0}, + [I(151,238)] = {64,0}, + [I(152,238)] = {64,0}, + [I(153,238)] = {64,0}, + [I(154,238)] = {64,0}, + [I(155,238)] = {64,0}, + [I(156,238)] = {64,0}, + [I(157,238)] = {64,0}, + [I(158,238)] = {64,0}, + [I(159,238)] = {64,0}, + [I(160,238)] = {64,0}, + [I(161,238)] = {64,0}, + [I(162,238)] = {64,0}, + [I(163,238)] = {64,0}, + [I(164,238)] = {64,0}, + [I(165,238)] = {64,0}, + [I(166,238)] = {64,0}, + [I(167,238)] = {64,0}, + [I(168,238)] = {64,0}, + [I(169,238)] = {64,0}, + [I(170,238)] = {64,0}, + [I(171,238)] = {64,0}, + [I(172,238)] = {64,0}, + [I(173,238)] = {64,0}, + [I(174,238)] = {64,0}, + [I(175,238)] = {64,0}, + [I(176,238)] = {64,0}, + [I(177,238)] = {64,0}, + [I(178,238)] = {64,0}, + [I(179,238)] = {64,0}, + [I(180,238)] = {64,0}, + [I(181,238)] = {64,0}, + [I(182,238)] = {64,0}, + [I(183,238)] = {64,0}, + [I(184,238)] = {64,0}, + [I(185,238)] = {64,0}, + [I(186,238)] = {64,0}, + [I(187,238)] = {64,0}, + [I(188,238)] = {64,0}, + [I(189,238)] = {64,0}, + [I(190,238)] = {64,0}, + [I(191,238)] = {64,0}, + [I(192,238)] = {64,0}, + [I(193,238)] = {64,0}, + [I(194,238)] = {64,0}, + [I(195,238)] = {64,0}, + [I(196,238)] = {64,0}, + [I(197,238)] = {64,0}, + [I(198,238)] = {64,0}, + [I(199,238)] = {64,0}, + [I(200,238)] = {64,0}, + [I(201,238)] = {64,0}, + [I(202,238)] = {64,0}, + [I(203,238)] = {64,0}, + [I(204,238)] = {64,0}, + [I(205,238)] = {64,0}, + [I(206,238)] = {64,0}, + [I(207,238)] = {64,0}, + [I(208,238)] = {64,0}, + [I(209,238)] = {64,0}, + [I(210,238)] = {64,0}, + [I(211,238)] = {64,0}, + [I(212,238)] = {64,0}, + [I(213,238)] = {64,0}, + [I(214,238)] = {64,0}, + [I(215,238)] = {64,0}, + [I(216,238)] = {64,0}, + [I(217,238)] = {64,0}, + [I(218,238)] = {64,0}, + [I(219,238)] = {64,0}, + [I(220,238)] = {64,0}, + [I(221,238)] = {64,0}, + [I(222,238)] = {64,0}, + [I(223,238)] = {64,0}, + [I(224,238)] = {64,0}, + [I(225,238)] = {64,0}, + [I(226,238)] = {64,0}, + [I(227,238)] = {64,0}, + [I(228,238)] = {64,0}, + [I(229,238)] = {64,0}, + [I(230,238)] = {64,0}, + [I(231,238)] = {64,0}, + [I(232,238)] = {64,0}, + [I(233,238)] = {64,0}, + [I(234,238)] = {64,0}, + [I(235,238)] = {64,0}, + [I(236,238)] = {64,0}, + [I(237,238)] = {64,0}, + [I(238,238)] = {64,0}, + [I(239,238)] = {64,0}, + [I(240,238)] = {64,0}, + [I(241,238)] = {64,0}, + [I(242,238)] = {64,0}, + [I(243,238)] = {64,0}, + [I(244,238)] = {64,0}, + [I(245,238)] = {64,0}, + [I(246,238)] = {64,0}, + [I(247,238)] = {64,0}, + [I(248,238)] = {64,0}, + [I(249,238)] = {64,0}, + [I(250,238)] = {64,0}, + [I(251,238)] = {64,0}, + [I(252,238)] = {64,0}, + [I(253,238)] = {64,0}, + [I(254,238)] = {64,0}, + [I(255,238)] = {64,0}, + [I(0,239)] = {64,0}, + [I(1,239)] = {64,0}, + [I(2,239)] = {64,0}, + [I(3,239)] = {64,0}, + [I(4,239)] = {64,0}, + [I(5,239)] = {64,0}, + [I(6,239)] = {64,0}, + [I(7,239)] = {64,0}, + [I(8,239)] = {64,0}, + [I(9,239)] = {64,0}, + [I(10,239)] = {64,0}, + [I(11,239)] = {64,0}, + [I(12,239)] = {64,0}, + [I(13,239)] = {64,0}, + [I(14,239)] = {64,0}, + [I(15,239)] = {64,0}, + [I(16,239)] = {64,0}, + [I(17,239)] = {64,0}, + [I(18,239)] = {64,0}, + [I(19,239)] = {64,0}, + [I(20,239)] = {64,0}, + [I(21,239)] = {64,0}, + [I(22,239)] = {64,0}, + [I(23,239)] = {64,0}, + [I(24,239)] = {64,0}, + [I(25,239)] = {64,0}, + [I(26,239)] = {64,0}, + [I(27,239)] = {64,0}, + [I(28,239)] = {64,0}, + [I(29,239)] = {64,0}, + [I(30,239)] = {64,0}, + [I(31,239)] = {64,0}, + [I(32,239)] = {29,0xA7FFFF4}, + [I(33,239)] = {64,0}, + [I(34,239)] = {64,0}, + [I(35,239)] = {64,0}, + [I(36,239)] = {64,0}, + [I(37,239)] = {29,0xAFFFFF4}, + [I(38,239)] = {31,0x7C7FFFF4}, + [I(39,239)] = {64,0}, + [I(40,239)] = {64,0}, + [I(41,239)] = {64,0}, + [I(42,239)] = {31,0x7CFFFFF4}, + [I(43,239)] = {64,0}, + [I(44,239)] = {31,0x7D7FFFF4}, + [I(45,239)] = {29,0xB7FFFF4}, + [I(46,239)] = {29,0xBFFFFF4}, + [I(47,239)] = {29,0xC7FFFF4}, + [I(48,239)] = {28,0x7FFFF4}, + [I(49,239)] = {28,0xFFFFF4}, + [I(50,239)] = {28,0x17FFFF4}, + [I(51,239)] = {29,0xCFFFFF4}, + [I(52,239)] = {29,0xD7FFFF4}, + [I(53,239)] = {29,0xDFFFFF4}, + [I(54,239)] = {29,0xE7FFFF4}, + [I(55,239)] = {29,0xEFFFFF4}, + [I(56,239)] = {29,0xF7FFFF4}, + [I(57,239)] = {29,0xFFFFFF4}, + [I(58,239)] = {30,0x2E7FFFF4}, + [I(59,239)] = {31,0x7DFFFFF4}, + [I(60,239)] = {64,0}, + [I(61,239)] = {29,0x107FFFF4}, + [I(62,239)] = {64,0}, + [I(63,239)] = {64,0}, + [I(64,239)] = {64,0}, + [I(65,239)] = {29,0x10FFFFF4}, + [I(66,239)] = {30,0x2EFFFFF4}, + [I(67,239)] = {30,0x2F7FFFF4}, + [I(68,239)] = {30,0x2FFFFFF4}, + [I(69,239)] = {30,0x307FFFF4}, + [I(70,239)] = {30,0x30FFFFF4}, + [I(71,239)] = {30,0x317FFFF4}, + [I(72,239)] = {30,0x31FFFFF4}, + [I(73,239)] = {30,0x327FFFF4}, + [I(74,239)] = {30,0x32FFFFF4}, + [I(75,239)] = {30,0x337FFFF4}, + [I(76,239)] = {30,0x33FFFFF4}, + [I(77,239)] = {30,0x347FFFF4}, + [I(78,239)] = {30,0x34FFFFF4}, + [I(79,239)] = {30,0x357FFFF4}, + [I(80,239)] = {30,0x35FFFFF4}, + [I(81,239)] = {30,0x367FFFF4}, + [I(82,239)] = {30,0x36FFFFF4}, + [I(83,239)] = {30,0x377FFFF4}, + [I(84,239)] = {30,0x37FFFFF4}, + [I(85,239)] = {30,0x387FFFF4}, + [I(86,239)] = {30,0x38FFFFF4}, + [I(87,239)] = {30,0x397FFFF4}, + [I(88,239)] = {31,0x7E7FFFF4}, + [I(89,239)] = {30,0x39FFFFF4}, + [I(90,239)] = {31,0x7EFFFFF4}, + [I(91,239)] = {64,0}, + [I(92,239)] = {64,0}, + [I(93,239)] = {64,0}, + [I(94,239)] = {64,0}, + [I(95,239)] = {29,0x117FFFF4}, + [I(96,239)] = {64,0}, + [I(97,239)] = {28,0x1FFFFF4}, + [I(98,239)] = {29,0x11FFFFF4}, + [I(99,239)] = {28,0x27FFFF4}, + [I(100,239)] = {29,0x127FFFF4}, + [I(101,239)] = {28,0x2FFFFF4}, + [I(102,239)] = {29,0x12FFFFF4}, + [I(103,239)] = {29,0x137FFFF4}, + [I(104,239)] = {29,0x13FFFFF4}, + [I(105,239)] = {28,0x37FFFF4}, + [I(106,239)] = {30,0x3A7FFFF4}, + [I(107,239)] = {30,0x3AFFFFF4}, + [I(108,239)] = {29,0x147FFFF4}, + [I(109,239)] = {29,0x14FFFFF4}, + [I(110,239)] = {29,0x157FFFF4}, + [I(111,239)] = {28,0x3FFFFF4}, + [I(112,239)] = {29,0x15FFFFF4}, + [I(113,239)] = {30,0x3B7FFFF4}, + [I(114,239)] = {29,0x167FFFF4}, + [I(115,239)] = {28,0x47FFFF4}, + [I(116,239)] = {28,0x4FFFFF4}, + [I(117,239)] = {29,0x16FFFFF4}, + [I(118,239)] = {30,0x3BFFFFF4}, + [I(119,239)] = {30,0x3C7FFFF4}, + [I(120,239)] = {30,0x3CFFFFF4}, + [I(121,239)] = {30,0x3D7FFFF4}, + [I(122,239)] = {30,0x3DFFFFF4}, + [I(123,239)] = {64,0}, + [I(124,239)] = {64,0}, + [I(125,239)] = {64,0}, + [I(126,239)] = {64,0}, + [I(127,239)] = {64,0}, + [I(128,239)] = {64,0}, + [I(129,239)] = {64,0}, + [I(130,239)] = {64,0}, + [I(131,239)] = {64,0}, + [I(132,239)] = {64,0}, + [I(133,239)] = {64,0}, + [I(134,239)] = {64,0}, + [I(135,239)] = {64,0}, + [I(136,239)] = {64,0}, + [I(137,239)] = {64,0}, + [I(138,239)] = {64,0}, + [I(139,239)] = {64,0}, + [I(140,239)] = {64,0}, + [I(141,239)] = {64,0}, + [I(142,239)] = {64,0}, + [I(143,239)] = {64,0}, + [I(144,239)] = {64,0}, + [I(145,239)] = {64,0}, + [I(146,239)] = {64,0}, + [I(147,239)] = {64,0}, + [I(148,239)] = {64,0}, + [I(149,239)] = {64,0}, + [I(150,239)] = {64,0}, + [I(151,239)] = {64,0}, + [I(152,239)] = {64,0}, + [I(153,239)] = {64,0}, + [I(154,239)] = {64,0}, + [I(155,239)] = {64,0}, + [I(156,239)] = {64,0}, + [I(157,239)] = {64,0}, + [I(158,239)] = {64,0}, + [I(159,239)] = {64,0}, + [I(160,239)] = {64,0}, + [I(161,239)] = {64,0}, + [I(162,239)] = {64,0}, + [I(163,239)] = {64,0}, + [I(164,239)] = {64,0}, + [I(165,239)] = {64,0}, + [I(166,239)] = {64,0}, + [I(167,239)] = {64,0}, + [I(168,239)] = {64,0}, + [I(169,239)] = {64,0}, + [I(170,239)] = {64,0}, + [I(171,239)] = {64,0}, + [I(172,239)] = {64,0}, + [I(173,239)] = {64,0}, + [I(174,239)] = {64,0}, + [I(175,239)] = {64,0}, + [I(176,239)] = {64,0}, + [I(177,239)] = {64,0}, + [I(178,239)] = {64,0}, + [I(179,239)] = {64,0}, + [I(180,239)] = {64,0}, + [I(181,239)] = {64,0}, + [I(182,239)] = {64,0}, + [I(183,239)] = {64,0}, + [I(184,239)] = {64,0}, + [I(185,239)] = {64,0}, + [I(186,239)] = {64,0}, + [I(187,239)] = {64,0}, + [I(188,239)] = {64,0}, + [I(189,239)] = {64,0}, + [I(190,239)] = {64,0}, + [I(191,239)] = {64,0}, + [I(192,239)] = {64,0}, + [I(193,239)] = {64,0}, + [I(194,239)] = {64,0}, + [I(195,239)] = {64,0}, + [I(196,239)] = {64,0}, + [I(197,239)] = {64,0}, + [I(198,239)] = {64,0}, + [I(199,239)] = {64,0}, + [I(200,239)] = {64,0}, + [I(201,239)] = {64,0}, + [I(202,239)] = {64,0}, + [I(203,239)] = {64,0}, + [I(204,239)] = {64,0}, + [I(205,239)] = {64,0}, + [I(206,239)] = {64,0}, + [I(207,239)] = {64,0}, + [I(208,239)] = {64,0}, + [I(209,239)] = {64,0}, + [I(210,239)] = {64,0}, + [I(211,239)] = {64,0}, + [I(212,239)] = {64,0}, + [I(213,239)] = {64,0}, + [I(214,239)] = {64,0}, + [I(215,239)] = {64,0}, + [I(216,239)] = {64,0}, + [I(217,239)] = {64,0}, + [I(218,239)] = {64,0}, + [I(219,239)] = {64,0}, + [I(220,239)] = {64,0}, + [I(221,239)] = {64,0}, + [I(222,239)] = {64,0}, + [I(223,239)] = {64,0}, + [I(224,239)] = {64,0}, + [I(225,239)] = {64,0}, + [I(226,239)] = {64,0}, + [I(227,239)] = {64,0}, + [I(228,239)] = {64,0}, + [I(229,239)] = {64,0}, + [I(230,239)] = {64,0}, + [I(231,239)] = {64,0}, + [I(232,239)] = {64,0}, + [I(233,239)] = {64,0}, + [I(234,239)] = {64,0}, + [I(235,239)] = {64,0}, + [I(236,239)] = {64,0}, + [I(237,239)] = {64,0}, + [I(238,239)] = {64,0}, + [I(239,239)] = {64,0}, + [I(240,239)] = {64,0}, + [I(241,239)] = {64,0}, + [I(242,239)] = {64,0}, + [I(243,239)] = {64,0}, + [I(244,239)] = {64,0}, + [I(245,239)] = {64,0}, + [I(246,239)] = {64,0}, + [I(247,239)] = {64,0}, + [I(248,239)] = {64,0}, + [I(249,239)] = {64,0}, + [I(250,239)] = {64,0}, + [I(251,239)] = {64,0}, + [I(252,239)] = {64,0}, + [I(253,239)] = {64,0}, + [I(254,239)] = {64,0}, + [I(255,239)] = {64,0}, + [I(0,240)] = {64,0}, + [I(1,240)] = {64,0}, + [I(2,240)] = {64,0}, + [I(3,240)] = {64,0}, + [I(4,240)] = {64,0}, + [I(5,240)] = {64,0}, + [I(6,240)] = {64,0}, + [I(7,240)] = {64,0}, + [I(8,240)] = {64,0}, + [I(9,240)] = {64,0}, + [I(10,240)] = {64,0}, + [I(11,240)] = {64,0}, + [I(12,240)] = {64,0}, + [I(13,240)] = {64,0}, + [I(14,240)] = {64,0}, + [I(15,240)] = {64,0}, + [I(16,240)] = {64,0}, + [I(17,240)] = {64,0}, + [I(18,240)] = {64,0}, + [I(19,240)] = {64,0}, + [I(20,240)] = {64,0}, + [I(21,240)] = {64,0}, + [I(22,240)] = {64,0}, + [I(23,240)] = {64,0}, + [I(24,240)] = {64,0}, + [I(25,240)] = {64,0}, + [I(26,240)] = {64,0}, + [I(27,240)] = {64,0}, + [I(28,240)] = {64,0}, + [I(29,240)] = {64,0}, + [I(30,240)] = {64,0}, + [I(31,240)] = {64,0}, + [I(32,240)] = {X32,0x53FFFFEB}, + [I(33,240)] = {64,0}, + [I(34,240)] = {64,0}, + [I(35,240)] = {64,0}, + [I(36,240)] = {64,0}, + [I(37,240)] = {X32,0x57FFFFEB}, + [I(38,240)] = {64,0}, + [I(39,240)] = {64,0}, + [I(40,240)] = {64,0}, + [I(41,240)] = {64,0}, + [I(42,240)] = {64,0}, + [I(43,240)] = {64,0}, + [I(44,240)] = {64,0}, + [I(45,240)] = {X32,0x5BFFFFEB}, + [I(46,240)] = {X32,0x5FFFFFEB}, + [I(47,240)] = {X32,0x63FFFFEB}, + [I(48,240)] = {31,0x3FFFFEB}, + [I(49,240)] = {31,0x7FFFFEB}, + [I(50,240)] = {31,0xBFFFFEB}, + [I(51,240)] = {X32,0x67FFFFEB}, + [I(52,240)] = {X32,0x6BFFFFEB}, + [I(53,240)] = {X32,0x6FFFFFEB}, + [I(54,240)] = {X32,0x73FFFFEB}, + [I(55,240)] = {X32,0x77FFFFEB}, + [I(56,240)] = {X32,0x7BFFFFEB}, + [I(57,240)] = {X32,0x7FFFFFEB}, + [I(58,240)] = {64,0}, + [I(59,240)] = {64,0}, + [I(60,240)] = {64,0}, + [I(61,240)] = {X32,0x83FFFFEB}, + [I(62,240)] = {64,0}, + [I(63,240)] = {64,0}, + [I(64,240)] = {64,0}, + [I(65,240)] = {X32,0x87FFFFEB}, + [I(66,240)] = {64,0}, + [I(67,240)] = {64,0}, + [I(68,240)] = {64,0}, + [I(69,240)] = {64,0}, + [I(70,240)] = {64,0}, + [I(71,240)] = {64,0}, + [I(72,240)] = {64,0}, + [I(73,240)] = {64,0}, + [I(74,240)] = {64,0}, + [I(75,240)] = {64,0}, + [I(76,240)] = {64,0}, + [I(77,240)] = {64,0}, + [I(78,240)] = {64,0}, + [I(79,240)] = {64,0}, + [I(80,240)] = {64,0}, + [I(81,240)] = {64,0}, + [I(82,240)] = {64,0}, + [I(83,240)] = {64,0}, + [I(84,240)] = {64,0}, + [I(85,240)] = {64,0}, + [I(86,240)] = {64,0}, + [I(87,240)] = {64,0}, + [I(88,240)] = {64,0}, + [I(89,240)] = {64,0}, + [I(90,240)] = {64,0}, + [I(91,240)] = {64,0}, + [I(92,240)] = {64,0}, + [I(93,240)] = {64,0}, + [I(94,240)] = {64,0}, + [I(95,240)] = {X32,0x8BFFFFEB}, + [I(96,240)] = {64,0}, + [I(97,240)] = {31,0xFFFFFEB}, + [I(98,240)] = {X32,0x8FFFFFEB}, + [I(99,240)] = {31,0x13FFFFEB}, + [I(100,240)] = {X32,0x93FFFFEB}, + [I(101,240)] = {31,0x17FFFFEB}, + [I(102,240)] = {X32,0x97FFFFEB}, + [I(103,240)] = {X32,0x9BFFFFEB}, + [I(104,240)] = {X32,0x9FFFFFEB}, + [I(105,240)] = {31,0x1BFFFFEB}, + [I(106,240)] = {64,0}, + [I(107,240)] = {64,0}, + [I(108,240)] = {X32,0xA3FFFFEB}, + [I(109,240)] = {X32,0xA7FFFFEB}, + [I(110,240)] = {X32,0xABFFFFEB}, + [I(111,240)] = {31,0x1FFFFFEB}, + [I(112,240)] = {X32,0xAFFFFFEB}, + [I(113,240)] = {64,0}, + [I(114,240)] = {X32,0xB3FFFFEB}, + [I(115,240)] = {31,0x23FFFFEB}, + [I(116,240)] = {31,0x27FFFFEB}, + [I(117,240)] = {X32,0xB7FFFFEB}, + [I(118,240)] = {64,0}, + [I(119,240)] = {64,0}, + [I(120,240)] = {64,0}, + [I(121,240)] = {64,0}, + [I(122,240)] = {64,0}, + [I(123,240)] = {64,0}, + [I(124,240)] = {64,0}, + [I(125,240)] = {64,0}, + [I(126,240)] = {64,0}, + [I(127,240)] = {64,0}, + [I(128,240)] = {64,0}, + [I(129,240)] = {64,0}, + [I(130,240)] = {64,0}, + [I(131,240)] = {64,0}, + [I(132,240)] = {64,0}, + [I(133,240)] = {64,0}, + [I(134,240)] = {64,0}, + [I(135,240)] = {64,0}, + [I(136,240)] = {64,0}, + [I(137,240)] = {64,0}, + [I(138,240)] = {64,0}, + [I(139,240)] = {64,0}, + [I(140,240)] = {64,0}, + [I(141,240)] = {64,0}, + [I(142,240)] = {64,0}, + [I(143,240)] = {64,0}, + [I(144,240)] = {64,0}, + [I(145,240)] = {64,0}, + [I(146,240)] = {64,0}, + [I(147,240)] = {64,0}, + [I(148,240)] = {64,0}, + [I(149,240)] = {64,0}, + [I(150,240)] = {64,0}, + [I(151,240)] = {64,0}, + [I(152,240)] = {64,0}, + [I(153,240)] = {64,0}, + [I(154,240)] = {64,0}, + [I(155,240)] = {64,0}, + [I(156,240)] = {64,0}, + [I(157,240)] = {64,0}, + [I(158,240)] = {64,0}, + [I(159,240)] = {64,0}, + [I(160,240)] = {64,0}, + [I(161,240)] = {64,0}, + [I(162,240)] = {64,0}, + [I(163,240)] = {64,0}, + [I(164,240)] = {64,0}, + [I(165,240)] = {64,0}, + [I(166,240)] = {64,0}, + [I(167,240)] = {64,0}, + [I(168,240)] = {64,0}, + [I(169,240)] = {64,0}, + [I(170,240)] = {64,0}, + [I(171,240)] = {64,0}, + [I(172,240)] = {64,0}, + [I(173,240)] = {64,0}, + [I(174,240)] = {64,0}, + [I(175,240)] = {64,0}, + [I(176,240)] = {64,0}, + [I(177,240)] = {64,0}, + [I(178,240)] = {64,0}, + [I(179,240)] = {64,0}, + [I(180,240)] = {64,0}, + [I(181,240)] = {64,0}, + [I(182,240)] = {64,0}, + [I(183,240)] = {64,0}, + [I(184,240)] = {64,0}, + [I(185,240)] = {64,0}, + [I(186,240)] = {64,0}, + [I(187,240)] = {64,0}, + [I(188,240)] = {64,0}, + [I(189,240)] = {64,0}, + [I(190,240)] = {64,0}, + [I(191,240)] = {64,0}, + [I(192,240)] = {64,0}, + [I(193,240)] = {64,0}, + [I(194,240)] = {64,0}, + [I(195,240)] = {64,0}, + [I(196,240)] = {64,0}, + [I(197,240)] = {64,0}, + [I(198,240)] = {64,0}, + [I(199,240)] = {64,0}, + [I(200,240)] = {64,0}, + [I(201,240)] = {64,0}, + [I(202,240)] = {64,0}, + [I(203,240)] = {64,0}, + [I(204,240)] = {64,0}, + [I(205,240)] = {64,0}, + [I(206,240)] = {64,0}, + [I(207,240)] = {64,0}, + [I(208,240)] = {64,0}, + [I(209,240)] = {64,0}, + [I(210,240)] = {64,0}, + [I(211,240)] = {64,0}, + [I(212,240)] = {64,0}, + [I(213,240)] = {64,0}, + [I(214,240)] = {64,0}, + [I(215,240)] = {64,0}, + [I(216,240)] = {64,0}, + [I(217,240)] = {64,0}, + [I(218,240)] = {64,0}, + [I(219,240)] = {64,0}, + [I(220,240)] = {64,0}, + [I(221,240)] = {64,0}, + [I(222,240)] = {64,0}, + [I(223,240)] = {64,0}, + [I(224,240)] = {64,0}, + [I(225,240)] = {64,0}, + [I(226,240)] = {64,0}, + [I(227,240)] = {64,0}, + [I(228,240)] = {64,0}, + [I(229,240)] = {64,0}, + [I(230,240)] = {64,0}, + [I(231,240)] = {64,0}, + [I(232,240)] = {64,0}, + [I(233,240)] = {64,0}, + [I(234,240)] = {64,0}, + [I(235,240)] = {64,0}, + [I(236,240)] = {64,0}, + [I(237,240)] = {64,0}, + [I(238,240)] = {64,0}, + [I(239,240)] = {64,0}, + [I(240,240)] = {64,0}, + [I(241,240)] = {64,0}, + [I(242,240)] = {64,0}, + [I(243,240)] = {64,0}, + [I(244,240)] = {64,0}, + [I(245,240)] = {64,0}, + [I(246,240)] = {64,0}, + [I(247,240)] = {64,0}, + [I(248,240)] = {64,0}, + [I(249,240)] = {64,0}, + [I(250,240)] = {64,0}, + [I(251,240)] = {64,0}, + [I(252,240)] = {64,0}, + [I(253,240)] = {64,0}, + [I(254,240)] = {64,0}, + [I(255,240)] = {64,0}, + [I(0,241)] = {64,0}, + [I(1,241)] = {64,0}, + [I(2,241)] = {64,0}, + [I(3,241)] = {64,0}, + [I(4,241)] = {64,0}, + [I(5,241)] = {64,0}, + [I(6,241)] = {64,0}, + [I(7,241)] = {64,0}, + [I(8,241)] = {64,0}, + [I(9,241)] = {64,0}, + [I(10,241)] = {64,0}, + [I(11,241)] = {64,0}, + [I(12,241)] = {64,0}, + [I(13,241)] = {64,0}, + [I(14,241)] = {64,0}, + [I(15,241)] = {64,0}, + [I(16,241)] = {64,0}, + [I(17,241)] = {64,0}, + [I(18,241)] = {64,0}, + [I(19,241)] = {64,0}, + [I(20,241)] = {64,0}, + [I(21,241)] = {64,0}, + [I(22,241)] = {64,0}, + [I(23,241)] = {64,0}, + [I(24,241)] = {64,0}, + [I(25,241)] = {64,0}, + [I(26,241)] = {64,0}, + [I(27,241)] = {64,0}, + [I(28,241)] = {64,0}, + [I(29,241)] = {64,0}, + [I(30,241)] = {64,0}, + [I(31,241)] = {64,0}, + [I(32,241)] = {64,0}, + [I(33,241)] = {64,0}, + [I(34,241)] = {64,0}, + [I(35,241)] = {64,0}, + [I(36,241)] = {64,0}, + [I(37,241)] = {64,0}, + [I(38,241)] = {64,0}, + [I(39,241)] = {64,0}, + [I(40,241)] = {64,0}, + [I(41,241)] = {64,0}, + [I(42,241)] = {64,0}, + [I(43,241)] = {64,0}, + [I(44,241)] = {64,0}, + [I(45,241)] = {64,0}, + [I(46,241)] = {64,0}, + [I(47,241)] = {64,0}, + [I(48,241)] = {X32,0x7FFFFE6}, + [I(49,241)] = {X32,0xFFFFFE6}, + [I(50,241)] = {X32,0x17FFFFE6}, + [I(51,241)] = {64,0}, + [I(52,241)] = {64,0}, + [I(53,241)] = {64,0}, + [I(54,241)] = {64,0}, + [I(55,241)] = {64,0}, + [I(56,241)] = {64,0}, + [I(57,241)] = {64,0}, + [I(58,241)] = {64,0}, + [I(59,241)] = {64,0}, + [I(60,241)] = {64,0}, + [I(61,241)] = {64,0}, + [I(62,241)] = {64,0}, + [I(63,241)] = {64,0}, + [I(64,241)] = {64,0}, + [I(65,241)] = {64,0}, + [I(66,241)] = {64,0}, + [I(67,241)] = {64,0}, + [I(68,241)] = {64,0}, + [I(69,241)] = {64,0}, + [I(70,241)] = {64,0}, + [I(71,241)] = {64,0}, + [I(72,241)] = {64,0}, + [I(73,241)] = {64,0}, + [I(74,241)] = {64,0}, + [I(75,241)] = {64,0}, + [I(76,241)] = {64,0}, + [I(77,241)] = {64,0}, + [I(78,241)] = {64,0}, + [I(79,241)] = {64,0}, + [I(80,241)] = {64,0}, + [I(81,241)] = {64,0}, + [I(82,241)] = {64,0}, + [I(83,241)] = {64,0}, + [I(84,241)] = {64,0}, + [I(85,241)] = {64,0}, + [I(86,241)] = {64,0}, + [I(87,241)] = {64,0}, + [I(88,241)] = {64,0}, + [I(89,241)] = {64,0}, + [I(90,241)] = {64,0}, + [I(91,241)] = {64,0}, + [I(92,241)] = {64,0}, + [I(93,241)] = {64,0}, + [I(94,241)] = {64,0}, + [I(95,241)] = {64,0}, + [I(96,241)] = {64,0}, + [I(97,241)] = {X32,0x1FFFFFE6}, + [I(98,241)] = {64,0}, + [I(99,241)] = {X32,0x27FFFFE6}, + [I(100,241)] = {64,0}, + [I(101,241)] = {X32,0x2FFFFFE6}, + [I(102,241)] = {64,0}, + [I(103,241)] = {64,0}, + [I(104,241)] = {64,0}, + [I(105,241)] = {X32,0x37FFFFE6}, + [I(106,241)] = {64,0}, + [I(107,241)] = {64,0}, + [I(108,241)] = {64,0}, + [I(109,241)] = {64,0}, + [I(110,241)] = {64,0}, + [I(111,241)] = {X32,0x3FFFFFE6}, + [I(112,241)] = {64,0}, + [I(113,241)] = {64,0}, + [I(114,241)] = {64,0}, + [I(115,241)] = {X32,0x47FFFFE6}, + [I(116,241)] = {X32,0x4FFFFFE6}, + [I(117,241)] = {64,0}, + [I(118,241)] = {64,0}, + [I(119,241)] = {64,0}, + [I(120,241)] = {64,0}, + [I(121,241)] = {64,0}, + [I(122,241)] = {64,0}, + [I(123,241)] = {64,0}, + [I(124,241)] = {64,0}, + [I(125,241)] = {64,0}, + [I(126,241)] = {64,0}, + [I(127,241)] = {64,0}, + [I(128,241)] = {64,0}, + [I(129,241)] = {64,0}, + [I(130,241)] = {64,0}, + [I(131,241)] = {64,0}, + [I(132,241)] = {64,0}, + [I(133,241)] = {64,0}, + [I(134,241)] = {64,0}, + [I(135,241)] = {64,0}, + [I(136,241)] = {64,0}, + [I(137,241)] = {64,0}, + [I(138,241)] = {64,0}, + [I(139,241)] = {64,0}, + [I(140,241)] = {64,0}, + [I(141,241)] = {64,0}, + [I(142,241)] = {64,0}, + [I(143,241)] = {64,0}, + [I(144,241)] = {64,0}, + [I(145,241)] = {64,0}, + [I(146,241)] = {64,0}, + [I(147,241)] = {64,0}, + [I(148,241)] = {64,0}, + [I(149,241)] = {64,0}, + [I(150,241)] = {64,0}, + [I(151,241)] = {64,0}, + [I(152,241)] = {64,0}, + [I(153,241)] = {64,0}, + [I(154,241)] = {64,0}, + [I(155,241)] = {64,0}, + [I(156,241)] = {64,0}, + [I(157,241)] = {64,0}, + [I(158,241)] = {64,0}, + [I(159,241)] = {64,0}, + [I(160,241)] = {64,0}, + [I(161,241)] = {64,0}, + [I(162,241)] = {64,0}, + [I(163,241)] = {64,0}, + [I(164,241)] = {64,0}, + [I(165,241)] = {64,0}, + [I(166,241)] = {64,0}, + [I(167,241)] = {64,0}, + [I(168,241)] = {64,0}, + [I(169,241)] = {64,0}, + [I(170,241)] = {64,0}, + [I(171,241)] = {64,0}, + [I(172,241)] = {64,0}, + [I(173,241)] = {64,0}, + [I(174,241)] = {64,0}, + [I(175,241)] = {64,0}, + [I(176,241)] = {64,0}, + [I(177,241)] = {64,0}, + [I(178,241)] = {64,0}, + [I(179,241)] = {64,0}, + [I(180,241)] = {64,0}, + [I(181,241)] = {64,0}, + [I(182,241)] = {64,0}, + [I(183,241)] = {64,0}, + [I(184,241)] = {64,0}, + [I(185,241)] = {64,0}, + [I(186,241)] = {64,0}, + [I(187,241)] = {64,0}, + [I(188,241)] = {64,0}, + [I(189,241)] = {64,0}, + [I(190,241)] = {64,0}, + [I(191,241)] = {64,0}, + [I(192,241)] = {64,0}, + [I(193,241)] = {64,0}, + [I(194,241)] = {64,0}, + [I(195,241)] = {64,0}, + [I(196,241)] = {64,0}, + [I(197,241)] = {64,0}, + [I(198,241)] = {64,0}, + [I(199,241)] = {64,0}, + [I(200,241)] = {64,0}, + [I(201,241)] = {64,0}, + [I(202,241)] = {64,0}, + [I(203,241)] = {64,0}, + [I(204,241)] = {64,0}, + [I(205,241)] = {64,0}, + [I(206,241)] = {64,0}, + [I(207,241)] = {64,0}, + [I(208,241)] = {64,0}, + [I(209,241)] = {64,0}, + [I(210,241)] = {64,0}, + [I(211,241)] = {64,0}, + [I(212,241)] = {64,0}, + [I(213,241)] = {64,0}, + [I(214,241)] = {64,0}, + [I(215,241)] = {64,0}, + [I(216,241)] = {64,0}, + [I(217,241)] = {64,0}, + [I(218,241)] = {64,0}, + [I(219,241)] = {64,0}, + [I(220,241)] = {64,0}, + [I(221,241)] = {64,0}, + [I(222,241)] = {64,0}, + [I(223,241)] = {64,0}, + [I(224,241)] = {64,0}, + [I(225,241)] = {64,0}, + [I(226,241)] = {64,0}, + [I(227,241)] = {64,0}, + [I(228,241)] = {64,0}, + [I(229,241)] = {64,0}, + [I(230,241)] = {64,0}, + [I(231,241)] = {64,0}, + [I(232,241)] = {64,0}, + [I(233,241)] = {64,0}, + [I(234,241)] = {64,0}, + [I(235,241)] = {64,0}, + [I(236,241)] = {64,0}, + [I(237,241)] = {64,0}, + [I(238,241)] = {64,0}, + [I(239,241)] = {64,0}, + [I(240,241)] = {64,0}, + [I(241,241)] = {64,0}, + [I(242,241)] = {64,0}, + [I(243,241)] = {64,0}, + [I(244,241)] = {64,0}, + [I(245,241)] = {64,0}, + [I(246,241)] = {64,0}, + [I(247,241)] = {64,0}, + [I(248,241)] = {64,0}, + [I(249,241)] = {64,0}, + [I(250,241)] = {64,0}, + [I(251,241)] = {64,0}, + [I(252,241)] = {64,0}, + [I(253,241)] = {64,0}, + [I(254,241)] = {64,0}, + [I(255,241)] = {64,0}, + [I(0,242)] = {64,0}, + [I(1,242)] = {64,0}, + [I(2,242)] = {64,0}, + [I(3,242)] = {64,0}, + [I(4,242)] = {64,0}, + [I(5,242)] = {64,0}, + [I(6,242)] = {64,0}, + [I(7,242)] = {64,0}, + [I(8,242)] = {64,0}, + [I(9,242)] = {64,0}, + [I(10,242)] = {64,0}, + [I(11,242)] = {64,0}, + [I(12,242)] = {64,0}, + [I(13,242)] = {64,0}, + [I(14,242)] = {64,0}, + [I(15,242)] = {64,0}, + [I(16,242)] = {64,0}, + [I(17,242)] = {64,0}, + [I(18,242)] = {64,0}, + [I(19,242)] = {64,0}, + [I(20,242)] = {64,0}, + [I(21,242)] = {64,0}, + [I(22,242)] = {64,0}, + [I(23,242)] = {64,0}, + [I(24,242)] = {64,0}, + [I(25,242)] = {64,0}, + [I(26,242)] = {64,0}, + [I(27,242)] = {64,0}, + [I(28,242)] = {64,0}, + [I(29,242)] = {64,0}, + [I(30,242)] = {64,0}, + [I(31,242)] = {64,0}, + [I(32,242)] = {X32,0x53FFFFEC}, + [I(33,242)] = {64,0}, + [I(34,242)] = {64,0}, + [I(35,242)] = {64,0}, + [I(36,242)] = {64,0}, + [I(37,242)] = {X32,0x57FFFFEC}, + [I(38,242)] = {64,0}, + [I(39,242)] = {64,0}, + [I(40,242)] = {64,0}, + [I(41,242)] = {64,0}, + [I(42,242)] = {64,0}, + [I(43,242)] = {64,0}, + [I(44,242)] = {64,0}, + [I(45,242)] = {X32,0x5BFFFFEC}, + [I(46,242)] = {X32,0x5FFFFFEC}, + [I(47,242)] = {X32,0x63FFFFEC}, + [I(48,242)] = {31,0x3FFFFEC}, + [I(49,242)] = {31,0x7FFFFEC}, + [I(50,242)] = {31,0xBFFFFEC}, + [I(51,242)] = {X32,0x67FFFFEC}, + [I(52,242)] = {X32,0x6BFFFFEC}, + [I(53,242)] = {X32,0x6FFFFFEC}, + [I(54,242)] = {X32,0x73FFFFEC}, + [I(55,242)] = {X32,0x77FFFFEC}, + [I(56,242)] = {X32,0x7BFFFFEC}, + [I(57,242)] = {X32,0x7FFFFFEC}, + [I(58,242)] = {64,0}, + [I(59,242)] = {64,0}, + [I(60,242)] = {64,0}, + [I(61,242)] = {X32,0x83FFFFEC}, + [I(62,242)] = {64,0}, + [I(63,242)] = {64,0}, + [I(64,242)] = {64,0}, + [I(65,242)] = {X32,0x87FFFFEC}, + [I(66,242)] = {64,0}, + [I(67,242)] = {64,0}, + [I(68,242)] = {64,0}, + [I(69,242)] = {64,0}, + [I(70,242)] = {64,0}, + [I(71,242)] = {64,0}, + [I(72,242)] = {64,0}, + [I(73,242)] = {64,0}, + [I(74,242)] = {64,0}, + [I(75,242)] = {64,0}, + [I(76,242)] = {64,0}, + [I(77,242)] = {64,0}, + [I(78,242)] = {64,0}, + [I(79,242)] = {64,0}, + [I(80,242)] = {64,0}, + [I(81,242)] = {64,0}, + [I(82,242)] = {64,0}, + [I(83,242)] = {64,0}, + [I(84,242)] = {64,0}, + [I(85,242)] = {64,0}, + [I(86,242)] = {64,0}, + [I(87,242)] = {64,0}, + [I(88,242)] = {64,0}, + [I(89,242)] = {64,0}, + [I(90,242)] = {64,0}, + [I(91,242)] = {64,0}, + [I(92,242)] = {64,0}, + [I(93,242)] = {64,0}, + [I(94,242)] = {64,0}, + [I(95,242)] = {X32,0x8BFFFFEC}, + [I(96,242)] = {64,0}, + [I(97,242)] = {31,0xFFFFFEC}, + [I(98,242)] = {X32,0x8FFFFFEC}, + [I(99,242)] = {31,0x13FFFFEC}, + [I(100,242)] = {X32,0x93FFFFEC}, + [I(101,242)] = {31,0x17FFFFEC}, + [I(102,242)] = {X32,0x97FFFFEC}, + [I(103,242)] = {X32,0x9BFFFFEC}, + [I(104,242)] = {X32,0x9FFFFFEC}, + [I(105,242)] = {31,0x1BFFFFEC}, + [I(106,242)] = {64,0}, + [I(107,242)] = {64,0}, + [I(108,242)] = {X32,0xA3FFFFEC}, + [I(109,242)] = {X32,0xA7FFFFEC}, + [I(110,242)] = {X32,0xABFFFFEC}, + [I(111,242)] = {31,0x1FFFFFEC}, + [I(112,242)] = {X32,0xAFFFFFEC}, + [I(113,242)] = {64,0}, + [I(114,242)] = {X32,0xB3FFFFEC}, + [I(115,242)] = {31,0x23FFFFEC}, + [I(116,242)] = {31,0x27FFFFEC}, + [I(117,242)] = {X32,0xB7FFFFEC}, + [I(118,242)] = {64,0}, + [I(119,242)] = {64,0}, + [I(120,242)] = {64,0}, + [I(121,242)] = {64,0}, + [I(122,242)] = {64,0}, + [I(123,242)] = {64,0}, + [I(124,242)] = {64,0}, + [I(125,242)] = {64,0}, + [I(126,242)] = {64,0}, + [I(127,242)] = {64,0}, + [I(128,242)] = {64,0}, + [I(129,242)] = {64,0}, + [I(130,242)] = {64,0}, + [I(131,242)] = {64,0}, + [I(132,242)] = {64,0}, + [I(133,242)] = {64,0}, + [I(134,242)] = {64,0}, + [I(135,242)] = {64,0}, + [I(136,242)] = {64,0}, + [I(137,242)] = {64,0}, + [I(138,242)] = {64,0}, + [I(139,242)] = {64,0}, + [I(140,242)] = {64,0}, + [I(141,242)] = {64,0}, + [I(142,242)] = {64,0}, + [I(143,242)] = {64,0}, + [I(144,242)] = {64,0}, + [I(145,242)] = {64,0}, + [I(146,242)] = {64,0}, + [I(147,242)] = {64,0}, + [I(148,242)] = {64,0}, + [I(149,242)] = {64,0}, + [I(150,242)] = {64,0}, + [I(151,242)] = {64,0}, + [I(152,242)] = {64,0}, + [I(153,242)] = {64,0}, + [I(154,242)] = {64,0}, + [I(155,242)] = {64,0}, + [I(156,242)] = {64,0}, + [I(157,242)] = {64,0}, + [I(158,242)] = {64,0}, + [I(159,242)] = {64,0}, + [I(160,242)] = {64,0}, + [I(161,242)] = {64,0}, + [I(162,242)] = {64,0}, + [I(163,242)] = {64,0}, + [I(164,242)] = {64,0}, + [I(165,242)] = {64,0}, + [I(166,242)] = {64,0}, + [I(167,242)] = {64,0}, + [I(168,242)] = {64,0}, + [I(169,242)] = {64,0}, + [I(170,242)] = {64,0}, + [I(171,242)] = {64,0}, + [I(172,242)] = {64,0}, + [I(173,242)] = {64,0}, + [I(174,242)] = {64,0}, + [I(175,242)] = {64,0}, + [I(176,242)] = {64,0}, + [I(177,242)] = {64,0}, + [I(178,242)] = {64,0}, + [I(179,242)] = {64,0}, + [I(180,242)] = {64,0}, + [I(181,242)] = {64,0}, + [I(182,242)] = {64,0}, + [I(183,242)] = {64,0}, + [I(184,242)] = {64,0}, + [I(185,242)] = {64,0}, + [I(186,242)] = {64,0}, + [I(187,242)] = {64,0}, + [I(188,242)] = {64,0}, + [I(189,242)] = {64,0}, + [I(190,242)] = {64,0}, + [I(191,242)] = {64,0}, + [I(192,242)] = {64,0}, + [I(193,242)] = {64,0}, + [I(194,242)] = {64,0}, + [I(195,242)] = {64,0}, + [I(196,242)] = {64,0}, + [I(197,242)] = {64,0}, + [I(198,242)] = {64,0}, + [I(199,242)] = {64,0}, + [I(200,242)] = {64,0}, + [I(201,242)] = {64,0}, + [I(202,242)] = {64,0}, + [I(203,242)] = {64,0}, + [I(204,242)] = {64,0}, + [I(205,242)] = {64,0}, + [I(206,242)] = {64,0}, + [I(207,242)] = {64,0}, + [I(208,242)] = {64,0}, + [I(209,242)] = {64,0}, + [I(210,242)] = {64,0}, + [I(211,242)] = {64,0}, + [I(212,242)] = {64,0}, + [I(213,242)] = {64,0}, + [I(214,242)] = {64,0}, + [I(215,242)] = {64,0}, + [I(216,242)] = {64,0}, + [I(217,242)] = {64,0}, + [I(218,242)] = {64,0}, + [I(219,242)] = {64,0}, + [I(220,242)] = {64,0}, + [I(221,242)] = {64,0}, + [I(222,242)] = {64,0}, + [I(223,242)] = {64,0}, + [I(224,242)] = {64,0}, + [I(225,242)] = {64,0}, + [I(226,242)] = {64,0}, + [I(227,242)] = {64,0}, + [I(228,242)] = {64,0}, + [I(229,242)] = {64,0}, + [I(230,242)] = {64,0}, + [I(231,242)] = {64,0}, + [I(232,242)] = {64,0}, + [I(233,242)] = {64,0}, + [I(234,242)] = {64,0}, + [I(235,242)] = {64,0}, + [I(236,242)] = {64,0}, + [I(237,242)] = {64,0}, + [I(238,242)] = {64,0}, + [I(239,242)] = {64,0}, + [I(240,242)] = {64,0}, + [I(241,242)] = {64,0}, + [I(242,242)] = {64,0}, + [I(243,242)] = {64,0}, + [I(244,242)] = {64,0}, + [I(245,242)] = {64,0}, + [I(246,242)] = {64,0}, + [I(247,242)] = {64,0}, + [I(248,242)] = {64,0}, + [I(249,242)] = {64,0}, + [I(250,242)] = {64,0}, + [I(251,242)] = {64,0}, + [I(252,242)] = {64,0}, + [I(253,242)] = {64,0}, + [I(254,242)] = {64,0}, + [I(255,242)] = {64,0}, + [I(0,243)] = {64,0}, + [I(1,243)] = {64,0}, + [I(2,243)] = {64,0}, + [I(3,243)] = {64,0}, + [I(4,243)] = {64,0}, + [I(5,243)] = {64,0}, + [I(6,243)] = {64,0}, + [I(7,243)] = {64,0}, + [I(8,243)] = {64,0}, + [I(9,243)] = {64,0}, + [I(10,243)] = {64,0}, + [I(11,243)] = {64,0}, + [I(12,243)] = {64,0}, + [I(13,243)] = {64,0}, + [I(14,243)] = {64,0}, + [I(15,243)] = {64,0}, + [I(16,243)] = {64,0}, + [I(17,243)] = {64,0}, + [I(18,243)] = {64,0}, + [I(19,243)] = {64,0}, + [I(20,243)] = {64,0}, + [I(21,243)] = {64,0}, + [I(22,243)] = {64,0}, + [I(23,243)] = {64,0}, + [I(24,243)] = {64,0}, + [I(25,243)] = {64,0}, + [I(26,243)] = {64,0}, + [I(27,243)] = {64,0}, + [I(28,243)] = {64,0}, + [I(29,243)] = {64,0}, + [I(30,243)] = {64,0}, + [I(31,243)] = {64,0}, + [I(32,243)] = {X32,0x53FFFFED}, + [I(33,243)] = {64,0}, + [I(34,243)] = {64,0}, + [I(35,243)] = {64,0}, + [I(36,243)] = {64,0}, + [I(37,243)] = {X32,0x57FFFFED}, + [I(38,243)] = {64,0}, + [I(39,243)] = {64,0}, + [I(40,243)] = {64,0}, + [I(41,243)] = {64,0}, + [I(42,243)] = {64,0}, + [I(43,243)] = {64,0}, + [I(44,243)] = {64,0}, + [I(45,243)] = {X32,0x5BFFFFED}, + [I(46,243)] = {X32,0x5FFFFFED}, + [I(47,243)] = {X32,0x63FFFFED}, + [I(48,243)] = {31,0x3FFFFED}, + [I(49,243)] = {31,0x7FFFFED}, + [I(50,243)] = {31,0xBFFFFED}, + [I(51,243)] = {X32,0x67FFFFED}, + [I(52,243)] = {X32,0x6BFFFFED}, + [I(53,243)] = {X32,0x6FFFFFED}, + [I(54,243)] = {X32,0x73FFFFED}, + [I(55,243)] = {X32,0x77FFFFED}, + [I(56,243)] = {X32,0x7BFFFFED}, + [I(57,243)] = {X32,0x7FFFFFED}, + [I(58,243)] = {64,0}, + [I(59,243)] = {64,0}, + [I(60,243)] = {64,0}, + [I(61,243)] = {X32,0x83FFFFED}, + [I(62,243)] = {64,0}, + [I(63,243)] = {64,0}, + [I(64,243)] = {64,0}, + [I(65,243)] = {X32,0x87FFFFED}, + [I(66,243)] = {64,0}, + [I(67,243)] = {64,0}, + [I(68,243)] = {64,0}, + [I(69,243)] = {64,0}, + [I(70,243)] = {64,0}, + [I(71,243)] = {64,0}, + [I(72,243)] = {64,0}, + [I(73,243)] = {64,0}, + [I(74,243)] = {64,0}, + [I(75,243)] = {64,0}, + [I(76,243)] = {64,0}, + [I(77,243)] = {64,0}, + [I(78,243)] = {64,0}, + [I(79,243)] = {64,0}, + [I(80,243)] = {64,0}, + [I(81,243)] = {64,0}, + [I(82,243)] = {64,0}, + [I(83,243)] = {64,0}, + [I(84,243)] = {64,0}, + [I(85,243)] = {64,0}, + [I(86,243)] = {64,0}, + [I(87,243)] = {64,0}, + [I(88,243)] = {64,0}, + [I(89,243)] = {64,0}, + [I(90,243)] = {64,0}, + [I(91,243)] = {64,0}, + [I(92,243)] = {64,0}, + [I(93,243)] = {64,0}, + [I(94,243)] = {64,0}, + [I(95,243)] = {X32,0x8BFFFFED}, + [I(96,243)] = {64,0}, + [I(97,243)] = {31,0xFFFFFED}, + [I(98,243)] = {X32,0x8FFFFFED}, + [I(99,243)] = {31,0x13FFFFED}, + [I(100,243)] = {X32,0x93FFFFED}, + [I(101,243)] = {31,0x17FFFFED}, + [I(102,243)] = {X32,0x97FFFFED}, + [I(103,243)] = {X32,0x9BFFFFED}, + [I(104,243)] = {X32,0x9FFFFFED}, + [I(105,243)] = {31,0x1BFFFFED}, + [I(106,243)] = {64,0}, + [I(107,243)] = {64,0}, + [I(108,243)] = {X32,0xA3FFFFED}, + [I(109,243)] = {X32,0xA7FFFFED}, + [I(110,243)] = {X32,0xABFFFFED}, + [I(111,243)] = {31,0x1FFFFFED}, + [I(112,243)] = {X32,0xAFFFFFED}, + [I(113,243)] = {64,0}, + [I(114,243)] = {X32,0xB3FFFFED}, + [I(115,243)] = {31,0x23FFFFED}, + [I(116,243)] = {31,0x27FFFFED}, + [I(117,243)] = {X32,0xB7FFFFED}, + [I(118,243)] = {64,0}, + [I(119,243)] = {64,0}, + [I(120,243)] = {64,0}, + [I(121,243)] = {64,0}, + [I(122,243)] = {64,0}, + [I(123,243)] = {64,0}, + [I(124,243)] = {64,0}, + [I(125,243)] = {64,0}, + [I(126,243)] = {64,0}, + [I(127,243)] = {64,0}, + [I(128,243)] = {64,0}, + [I(129,243)] = {64,0}, + [I(130,243)] = {64,0}, + [I(131,243)] = {64,0}, + [I(132,243)] = {64,0}, + [I(133,243)] = {64,0}, + [I(134,243)] = {64,0}, + [I(135,243)] = {64,0}, + [I(136,243)] = {64,0}, + [I(137,243)] = {64,0}, + [I(138,243)] = {64,0}, + [I(139,243)] = {64,0}, + [I(140,243)] = {64,0}, + [I(141,243)] = {64,0}, + [I(142,243)] = {64,0}, + [I(143,243)] = {64,0}, + [I(144,243)] = {64,0}, + [I(145,243)] = {64,0}, + [I(146,243)] = {64,0}, + [I(147,243)] = {64,0}, + [I(148,243)] = {64,0}, + [I(149,243)] = {64,0}, + [I(150,243)] = {64,0}, + [I(151,243)] = {64,0}, + [I(152,243)] = {64,0}, + [I(153,243)] = {64,0}, + [I(154,243)] = {64,0}, + [I(155,243)] = {64,0}, + [I(156,243)] = {64,0}, + [I(157,243)] = {64,0}, + [I(158,243)] = {64,0}, + [I(159,243)] = {64,0}, + [I(160,243)] = {64,0}, + [I(161,243)] = {64,0}, + [I(162,243)] = {64,0}, + [I(163,243)] = {64,0}, + [I(164,243)] = {64,0}, + [I(165,243)] = {64,0}, + [I(166,243)] = {64,0}, + [I(167,243)] = {64,0}, + [I(168,243)] = {64,0}, + [I(169,243)] = {64,0}, + [I(170,243)] = {64,0}, + [I(171,243)] = {64,0}, + [I(172,243)] = {64,0}, + [I(173,243)] = {64,0}, + [I(174,243)] = {64,0}, + [I(175,243)] = {64,0}, + [I(176,243)] = {64,0}, + [I(177,243)] = {64,0}, + [I(178,243)] = {64,0}, + [I(179,243)] = {64,0}, + [I(180,243)] = {64,0}, + [I(181,243)] = {64,0}, + [I(182,243)] = {64,0}, + [I(183,243)] = {64,0}, + [I(184,243)] = {64,0}, + [I(185,243)] = {64,0}, + [I(186,243)] = {64,0}, + [I(187,243)] = {64,0}, + [I(188,243)] = {64,0}, + [I(189,243)] = {64,0}, + [I(190,243)] = {64,0}, + [I(191,243)] = {64,0}, + [I(192,243)] = {64,0}, + [I(193,243)] = {64,0}, + [I(194,243)] = {64,0}, + [I(195,243)] = {64,0}, + [I(196,243)] = {64,0}, + [I(197,243)] = {64,0}, + [I(198,243)] = {64,0}, + [I(199,243)] = {64,0}, + [I(200,243)] = {64,0}, + [I(201,243)] = {64,0}, + [I(202,243)] = {64,0}, + [I(203,243)] = {64,0}, + [I(204,243)] = {64,0}, + [I(205,243)] = {64,0}, + [I(206,243)] = {64,0}, + [I(207,243)] = {64,0}, + [I(208,243)] = {64,0}, + [I(209,243)] = {64,0}, + [I(210,243)] = {64,0}, + [I(211,243)] = {64,0}, + [I(212,243)] = {64,0}, + [I(213,243)] = {64,0}, + [I(214,243)] = {64,0}, + [I(215,243)] = {64,0}, + [I(216,243)] = {64,0}, + [I(217,243)] = {64,0}, + [I(218,243)] = {64,0}, + [I(219,243)] = {64,0}, + [I(220,243)] = {64,0}, + [I(221,243)] = {64,0}, + [I(222,243)] = {64,0}, + [I(223,243)] = {64,0}, + [I(224,243)] = {64,0}, + [I(225,243)] = {64,0}, + [I(226,243)] = {64,0}, + [I(227,243)] = {64,0}, + [I(228,243)] = {64,0}, + [I(229,243)] = {64,0}, + [I(230,243)] = {64,0}, + [I(231,243)] = {64,0}, + [I(232,243)] = {64,0}, + [I(233,243)] = {64,0}, + [I(234,243)] = {64,0}, + [I(235,243)] = {64,0}, + [I(236,243)] = {64,0}, + [I(237,243)] = {64,0}, + [I(238,243)] = {64,0}, + [I(239,243)] = {64,0}, + [I(240,243)] = {64,0}, + [I(241,243)] = {64,0}, + [I(242,243)] = {64,0}, + [I(243,243)] = {64,0}, + [I(244,243)] = {64,0}, + [I(245,243)] = {64,0}, + [I(246,243)] = {64,0}, + [I(247,243)] = {64,0}, + [I(248,243)] = {64,0}, + [I(249,243)] = {64,0}, + [I(250,243)] = {64,0}, + [I(251,243)] = {64,0}, + [I(252,243)] = {64,0}, + [I(253,243)] = {64,0}, + [I(254,243)] = {64,0}, + [I(255,243)] = {64,0}, + [I(0,244)] = {64,0}, + [I(1,244)] = {64,0}, + [I(2,244)] = {64,0}, + [I(3,244)] = {64,0}, + [I(4,244)] = {64,0}, + [I(5,244)] = {64,0}, + [I(6,244)] = {64,0}, + [I(7,244)] = {64,0}, + [I(8,244)] = {64,0}, + [I(9,244)] = {64,0}, + [I(10,244)] = {64,0}, + [I(11,244)] = {64,0}, + [I(12,244)] = {64,0}, + [I(13,244)] = {64,0}, + [I(14,244)] = {64,0}, + [I(15,244)] = {64,0}, + [I(16,244)] = {64,0}, + [I(17,244)] = {64,0}, + [I(18,244)] = {64,0}, + [I(19,244)] = {64,0}, + [I(20,244)] = {64,0}, + [I(21,244)] = {64,0}, + [I(22,244)] = {64,0}, + [I(23,244)] = {64,0}, + [I(24,244)] = {64,0}, + [I(25,244)] = {64,0}, + [I(26,244)] = {64,0}, + [I(27,244)] = {64,0}, + [I(28,244)] = {64,0}, + [I(29,244)] = {64,0}, + [I(30,244)] = {64,0}, + [I(31,244)] = {64,0}, + [I(32,244)] = {64,0}, + [I(33,244)] = {64,0}, + [I(34,244)] = {64,0}, + [I(35,244)] = {64,0}, + [I(36,244)] = {64,0}, + [I(37,244)] = {64,0}, + [I(38,244)] = {64,0}, + [I(39,244)] = {64,0}, + [I(40,244)] = {64,0}, + [I(41,244)] = {64,0}, + [I(42,244)] = {64,0}, + [I(43,244)] = {64,0}, + [I(44,244)] = {64,0}, + [I(45,244)] = {64,0}, + [I(46,244)] = {64,0}, + [I(47,244)] = {64,0}, + [I(48,244)] = {X32,0x7FFFFE7}, + [I(49,244)] = {X32,0xFFFFFE7}, + [I(50,244)] = {X32,0x17FFFFE7}, + [I(51,244)] = {64,0}, + [I(52,244)] = {64,0}, + [I(53,244)] = {64,0}, + [I(54,244)] = {64,0}, + [I(55,244)] = {64,0}, + [I(56,244)] = {64,0}, + [I(57,244)] = {64,0}, + [I(58,244)] = {64,0}, + [I(59,244)] = {64,0}, + [I(60,244)] = {64,0}, + [I(61,244)] = {64,0}, + [I(62,244)] = {64,0}, + [I(63,244)] = {64,0}, + [I(64,244)] = {64,0}, + [I(65,244)] = {64,0}, + [I(66,244)] = {64,0}, + [I(67,244)] = {64,0}, + [I(68,244)] = {64,0}, + [I(69,244)] = {64,0}, + [I(70,244)] = {64,0}, + [I(71,244)] = {64,0}, + [I(72,244)] = {64,0}, + [I(73,244)] = {64,0}, + [I(74,244)] = {64,0}, + [I(75,244)] = {64,0}, + [I(76,244)] = {64,0}, + [I(77,244)] = {64,0}, + [I(78,244)] = {64,0}, + [I(79,244)] = {64,0}, + [I(80,244)] = {64,0}, + [I(81,244)] = {64,0}, + [I(82,244)] = {64,0}, + [I(83,244)] = {64,0}, + [I(84,244)] = {64,0}, + [I(85,244)] = {64,0}, + [I(86,244)] = {64,0}, + [I(87,244)] = {64,0}, + [I(88,244)] = {64,0}, + [I(89,244)] = {64,0}, + [I(90,244)] = {64,0}, + [I(91,244)] = {64,0}, + [I(92,244)] = {64,0}, + [I(93,244)] = {64,0}, + [I(94,244)] = {64,0}, + [I(95,244)] = {64,0}, + [I(96,244)] = {64,0}, + [I(97,244)] = {X32,0x1FFFFFE7}, + [I(98,244)] = {64,0}, + [I(99,244)] = {X32,0x27FFFFE7}, + [I(100,244)] = {64,0}, + [I(101,244)] = {X32,0x2FFFFFE7}, + [I(102,244)] = {64,0}, + [I(103,244)] = {64,0}, + [I(104,244)] = {64,0}, + [I(105,244)] = {X32,0x37FFFFE7}, + [I(106,244)] = {64,0}, + [I(107,244)] = {64,0}, + [I(108,244)] = {64,0}, + [I(109,244)] = {64,0}, + [I(110,244)] = {64,0}, + [I(111,244)] = {X32,0x3FFFFFE7}, + [I(112,244)] = {64,0}, + [I(113,244)] = {64,0}, + [I(114,244)] = {64,0}, + [I(115,244)] = {X32,0x47FFFFE7}, + [I(116,244)] = {X32,0x4FFFFFE7}, + [I(117,244)] = {64,0}, + [I(118,244)] = {64,0}, + [I(119,244)] = {64,0}, + [I(120,244)] = {64,0}, + [I(121,244)] = {64,0}, + [I(122,244)] = {64,0}, + [I(123,244)] = {64,0}, + [I(124,244)] = {64,0}, + [I(125,244)] = {64,0}, + [I(126,244)] = {64,0}, + [I(127,244)] = {64,0}, + [I(128,244)] = {64,0}, + [I(129,244)] = {64,0}, + [I(130,244)] = {64,0}, + [I(131,244)] = {64,0}, + [I(132,244)] = {64,0}, + [I(133,244)] = {64,0}, + [I(134,244)] = {64,0}, + [I(135,244)] = {64,0}, + [I(136,244)] = {64,0}, + [I(137,244)] = {64,0}, + [I(138,244)] = {64,0}, + [I(139,244)] = {64,0}, + [I(140,244)] = {64,0}, + [I(141,244)] = {64,0}, + [I(142,244)] = {64,0}, + [I(143,244)] = {64,0}, + [I(144,244)] = {64,0}, + [I(145,244)] = {64,0}, + [I(146,244)] = {64,0}, + [I(147,244)] = {64,0}, + [I(148,244)] = {64,0}, + [I(149,244)] = {64,0}, + [I(150,244)] = {64,0}, + [I(151,244)] = {64,0}, + [I(152,244)] = {64,0}, + [I(153,244)] = {64,0}, + [I(154,244)] = {64,0}, + [I(155,244)] = {64,0}, + [I(156,244)] = {64,0}, + [I(157,244)] = {64,0}, + [I(158,244)] = {64,0}, + [I(159,244)] = {64,0}, + [I(160,244)] = {64,0}, + [I(161,244)] = {64,0}, + [I(162,244)] = {64,0}, + [I(163,244)] = {64,0}, + [I(164,244)] = {64,0}, + [I(165,244)] = {64,0}, + [I(166,244)] = {64,0}, + [I(167,244)] = {64,0}, + [I(168,244)] = {64,0}, + [I(169,244)] = {64,0}, + [I(170,244)] = {64,0}, + [I(171,244)] = {64,0}, + [I(172,244)] = {64,0}, + [I(173,244)] = {64,0}, + [I(174,244)] = {64,0}, + [I(175,244)] = {64,0}, + [I(176,244)] = {64,0}, + [I(177,244)] = {64,0}, + [I(178,244)] = {64,0}, + [I(179,244)] = {64,0}, + [I(180,244)] = {64,0}, + [I(181,244)] = {64,0}, + [I(182,244)] = {64,0}, + [I(183,244)] = {64,0}, + [I(184,244)] = {64,0}, + [I(185,244)] = {64,0}, + [I(186,244)] = {64,0}, + [I(187,244)] = {64,0}, + [I(188,244)] = {64,0}, + [I(189,244)] = {64,0}, + [I(190,244)] = {64,0}, + [I(191,244)] = {64,0}, + [I(192,244)] = {64,0}, + [I(193,244)] = {64,0}, + [I(194,244)] = {64,0}, + [I(195,244)] = {64,0}, + [I(196,244)] = {64,0}, + [I(197,244)] = {64,0}, + [I(198,244)] = {64,0}, + [I(199,244)] = {64,0}, + [I(200,244)] = {64,0}, + [I(201,244)] = {64,0}, + [I(202,244)] = {64,0}, + [I(203,244)] = {64,0}, + [I(204,244)] = {64,0}, + [I(205,244)] = {64,0}, + [I(206,244)] = {64,0}, + [I(207,244)] = {64,0}, + [I(208,244)] = {64,0}, + [I(209,244)] = {64,0}, + [I(210,244)] = {64,0}, + [I(211,244)] = {64,0}, + [I(212,244)] = {64,0}, + [I(213,244)] = {64,0}, + [I(214,244)] = {64,0}, + [I(215,244)] = {64,0}, + [I(216,244)] = {64,0}, + [I(217,244)] = {64,0}, + [I(218,244)] = {64,0}, + [I(219,244)] = {64,0}, + [I(220,244)] = {64,0}, + [I(221,244)] = {64,0}, + [I(222,244)] = {64,0}, + [I(223,244)] = {64,0}, + [I(224,244)] = {64,0}, + [I(225,244)] = {64,0}, + [I(226,244)] = {64,0}, + [I(227,244)] = {64,0}, + [I(228,244)] = {64,0}, + [I(229,244)] = {64,0}, + [I(230,244)] = {64,0}, + [I(231,244)] = {64,0}, + [I(232,244)] = {64,0}, + [I(233,244)] = {64,0}, + [I(234,244)] = {64,0}, + [I(235,244)] = {64,0}, + [I(236,244)] = {64,0}, + [I(237,244)] = {64,0}, + [I(238,244)] = {64,0}, + [I(239,244)] = {64,0}, + [I(240,244)] = {64,0}, + [I(241,244)] = {64,0}, + [I(242,244)] = {64,0}, + [I(243,244)] = {64,0}, + [I(244,244)] = {64,0}, + [I(245,244)] = {64,0}, + [I(246,244)] = {64,0}, + [I(247,244)] = {64,0}, + [I(248,244)] = {64,0}, + [I(249,244)] = {64,0}, + [I(250,244)] = {64,0}, + [I(251,244)] = {64,0}, + [I(252,244)] = {64,0}, + [I(253,244)] = {64,0}, + [I(254,244)] = {64,0}, + [I(255,244)] = {64,0}, + [I(0,245)] = {64,0}, + [I(1,245)] = {64,0}, + [I(2,245)] = {64,0}, + [I(3,245)] = {64,0}, + [I(4,245)] = {64,0}, + [I(5,245)] = {64,0}, + [I(6,245)] = {64,0}, + [I(7,245)] = {64,0}, + [I(8,245)] = {64,0}, + [I(9,245)] = {64,0}, + [I(10,245)] = {64,0}, + [I(11,245)] = {64,0}, + [I(12,245)] = {64,0}, + [I(13,245)] = {64,0}, + [I(14,245)] = {64,0}, + [I(15,245)] = {64,0}, + [I(16,245)] = {64,0}, + [I(17,245)] = {64,0}, + [I(18,245)] = {64,0}, + [I(19,245)] = {64,0}, + [I(20,245)] = {64,0}, + [I(21,245)] = {64,0}, + [I(22,245)] = {64,0}, + [I(23,245)] = {64,0}, + [I(24,245)] = {64,0}, + [I(25,245)] = {64,0}, + [I(26,245)] = {64,0}, + [I(27,245)] = {64,0}, + [I(28,245)] = {64,0}, + [I(29,245)] = {64,0}, + [I(30,245)] = {64,0}, + [I(31,245)] = {64,0}, + [I(32,245)] = {64,0}, + [I(33,245)] = {64,0}, + [I(34,245)] = {64,0}, + [I(35,245)] = {64,0}, + [I(36,245)] = {64,0}, + [I(37,245)] = {64,0}, + [I(38,245)] = {64,0}, + [I(39,245)] = {64,0}, + [I(40,245)] = {64,0}, + [I(41,245)] = {64,0}, + [I(42,245)] = {64,0}, + [I(43,245)] = {64,0}, + [I(44,245)] = {64,0}, + [I(45,245)] = {64,0}, + [I(46,245)] = {64,0}, + [I(47,245)] = {64,0}, + [I(48,245)] = {X32,0x7FFFFE8}, + [I(49,245)] = {X32,0xFFFFFE8}, + [I(50,245)] = {X32,0x17FFFFE8}, + [I(51,245)] = {64,0}, + [I(52,245)] = {64,0}, + [I(53,245)] = {64,0}, + [I(54,245)] = {64,0}, + [I(55,245)] = {64,0}, + [I(56,245)] = {64,0}, + [I(57,245)] = {64,0}, + [I(58,245)] = {64,0}, + [I(59,245)] = {64,0}, + [I(60,245)] = {64,0}, + [I(61,245)] = {64,0}, + [I(62,245)] = {64,0}, + [I(63,245)] = {64,0}, + [I(64,245)] = {64,0}, + [I(65,245)] = {64,0}, + [I(66,245)] = {64,0}, + [I(67,245)] = {64,0}, + [I(68,245)] = {64,0}, + [I(69,245)] = {64,0}, + [I(70,245)] = {64,0}, + [I(71,245)] = {64,0}, + [I(72,245)] = {64,0}, + [I(73,245)] = {64,0}, + [I(74,245)] = {64,0}, + [I(75,245)] = {64,0}, + [I(76,245)] = {64,0}, + [I(77,245)] = {64,0}, + [I(78,245)] = {64,0}, + [I(79,245)] = {64,0}, + [I(80,245)] = {64,0}, + [I(81,245)] = {64,0}, + [I(82,245)] = {64,0}, + [I(83,245)] = {64,0}, + [I(84,245)] = {64,0}, + [I(85,245)] = {64,0}, + [I(86,245)] = {64,0}, + [I(87,245)] = {64,0}, + [I(88,245)] = {64,0}, + [I(89,245)] = {64,0}, + [I(90,245)] = {64,0}, + [I(91,245)] = {64,0}, + [I(92,245)] = {64,0}, + [I(93,245)] = {64,0}, + [I(94,245)] = {64,0}, + [I(95,245)] = {64,0}, + [I(96,245)] = {64,0}, + [I(97,245)] = {X32,0x1FFFFFE8}, + [I(98,245)] = {64,0}, + [I(99,245)] = {X32,0x27FFFFE8}, + [I(100,245)] = {64,0}, + [I(101,245)] = {X32,0x2FFFFFE8}, + [I(102,245)] = {64,0}, + [I(103,245)] = {64,0}, + [I(104,245)] = {64,0}, + [I(105,245)] = {X32,0x37FFFFE8}, + [I(106,245)] = {64,0}, + [I(107,245)] = {64,0}, + [I(108,245)] = {64,0}, + [I(109,245)] = {64,0}, + [I(110,245)] = {64,0}, + [I(111,245)] = {X32,0x3FFFFFE8}, + [I(112,245)] = {64,0}, + [I(113,245)] = {64,0}, + [I(114,245)] = {64,0}, + [I(115,245)] = {X32,0x47FFFFE8}, + [I(116,245)] = {X32,0x4FFFFFE8}, + [I(117,245)] = {64,0}, + [I(118,245)] = {64,0}, + [I(119,245)] = {64,0}, + [I(120,245)] = {64,0}, + [I(121,245)] = {64,0}, + [I(122,245)] = {64,0}, + [I(123,245)] = {64,0}, + [I(124,245)] = {64,0}, + [I(125,245)] = {64,0}, + [I(126,245)] = {64,0}, + [I(127,245)] = {64,0}, + [I(128,245)] = {64,0}, + [I(129,245)] = {64,0}, + [I(130,245)] = {64,0}, + [I(131,245)] = {64,0}, + [I(132,245)] = {64,0}, + [I(133,245)] = {64,0}, + [I(134,245)] = {64,0}, + [I(135,245)] = {64,0}, + [I(136,245)] = {64,0}, + [I(137,245)] = {64,0}, + [I(138,245)] = {64,0}, + [I(139,245)] = {64,0}, + [I(140,245)] = {64,0}, + [I(141,245)] = {64,0}, + [I(142,245)] = {64,0}, + [I(143,245)] = {64,0}, + [I(144,245)] = {64,0}, + [I(145,245)] = {64,0}, + [I(146,245)] = {64,0}, + [I(147,245)] = {64,0}, + [I(148,245)] = {64,0}, + [I(149,245)] = {64,0}, + [I(150,245)] = {64,0}, + [I(151,245)] = {64,0}, + [I(152,245)] = {64,0}, + [I(153,245)] = {64,0}, + [I(154,245)] = {64,0}, + [I(155,245)] = {64,0}, + [I(156,245)] = {64,0}, + [I(157,245)] = {64,0}, + [I(158,245)] = {64,0}, + [I(159,245)] = {64,0}, + [I(160,245)] = {64,0}, + [I(161,245)] = {64,0}, + [I(162,245)] = {64,0}, + [I(163,245)] = {64,0}, + [I(164,245)] = {64,0}, + [I(165,245)] = {64,0}, + [I(166,245)] = {64,0}, + [I(167,245)] = {64,0}, + [I(168,245)] = {64,0}, + [I(169,245)] = {64,0}, + [I(170,245)] = {64,0}, + [I(171,245)] = {64,0}, + [I(172,245)] = {64,0}, + [I(173,245)] = {64,0}, + [I(174,245)] = {64,0}, + [I(175,245)] = {64,0}, + [I(176,245)] = {64,0}, + [I(177,245)] = {64,0}, + [I(178,245)] = {64,0}, + [I(179,245)] = {64,0}, + [I(180,245)] = {64,0}, + [I(181,245)] = {64,0}, + [I(182,245)] = {64,0}, + [I(183,245)] = {64,0}, + [I(184,245)] = {64,0}, + [I(185,245)] = {64,0}, + [I(186,245)] = {64,0}, + [I(187,245)] = {64,0}, + [I(188,245)] = {64,0}, + [I(189,245)] = {64,0}, + [I(190,245)] = {64,0}, + [I(191,245)] = {64,0}, + [I(192,245)] = {64,0}, + [I(193,245)] = {64,0}, + [I(194,245)] = {64,0}, + [I(195,245)] = {64,0}, + [I(196,245)] = {64,0}, + [I(197,245)] = {64,0}, + [I(198,245)] = {64,0}, + [I(199,245)] = {64,0}, + [I(200,245)] = {64,0}, + [I(201,245)] = {64,0}, + [I(202,245)] = {64,0}, + [I(203,245)] = {64,0}, + [I(204,245)] = {64,0}, + [I(205,245)] = {64,0}, + [I(206,245)] = {64,0}, + [I(207,245)] = {64,0}, + [I(208,245)] = {64,0}, + [I(209,245)] = {64,0}, + [I(210,245)] = {64,0}, + [I(211,245)] = {64,0}, + [I(212,245)] = {64,0}, + [I(213,245)] = {64,0}, + [I(214,245)] = {64,0}, + [I(215,245)] = {64,0}, + [I(216,245)] = {64,0}, + [I(217,245)] = {64,0}, + [I(218,245)] = {64,0}, + [I(219,245)] = {64,0}, + [I(220,245)] = {64,0}, + [I(221,245)] = {64,0}, + [I(222,245)] = {64,0}, + [I(223,245)] = {64,0}, + [I(224,245)] = {64,0}, + [I(225,245)] = {64,0}, + [I(226,245)] = {64,0}, + [I(227,245)] = {64,0}, + [I(228,245)] = {64,0}, + [I(229,245)] = {64,0}, + [I(230,245)] = {64,0}, + [I(231,245)] = {64,0}, + [I(232,245)] = {64,0}, + [I(233,245)] = {64,0}, + [I(234,245)] = {64,0}, + [I(235,245)] = {64,0}, + [I(236,245)] = {64,0}, + [I(237,245)] = {64,0}, + [I(238,245)] = {64,0}, + [I(239,245)] = {64,0}, + [I(240,245)] = {64,0}, + [I(241,245)] = {64,0}, + [I(242,245)] = {64,0}, + [I(243,245)] = {64,0}, + [I(244,245)] = {64,0}, + [I(245,245)] = {64,0}, + [I(246,245)] = {64,0}, + [I(247,245)] = {64,0}, + [I(248,245)] = {64,0}, + [I(249,245)] = {64,0}, + [I(250,245)] = {64,0}, + [I(251,245)] = {64,0}, + [I(252,245)] = {64,0}, + [I(253,245)] = {64,0}, + [I(254,245)] = {64,0}, + [I(255,245)] = {64,0}, + [I(0,246)] = {64,0}, + [I(1,246)] = {64,0}, + [I(2,246)] = {64,0}, + [I(3,246)] = {64,0}, + [I(4,246)] = {64,0}, + [I(5,246)] = {64,0}, + [I(6,246)] = {64,0}, + [I(7,246)] = {64,0}, + [I(8,246)] = {64,0}, + [I(9,246)] = {64,0}, + [I(10,246)] = {64,0}, + [I(11,246)] = {64,0}, + [I(12,246)] = {64,0}, + [I(13,246)] = {64,0}, + [I(14,246)] = {64,0}, + [I(15,246)] = {64,0}, + [I(16,246)] = {64,0}, + [I(17,246)] = {64,0}, + [I(18,246)] = {64,0}, + [I(19,246)] = {64,0}, + [I(20,246)] = {64,0}, + [I(21,246)] = {64,0}, + [I(22,246)] = {64,0}, + [I(23,246)] = {64,0}, + [I(24,246)] = {64,0}, + [I(25,246)] = {64,0}, + [I(26,246)] = {64,0}, + [I(27,246)] = {64,0}, + [I(28,246)] = {64,0}, + [I(29,246)] = {64,0}, + [I(30,246)] = {64,0}, + [I(31,246)] = {64,0}, + [I(32,246)] = {64,0}, + [I(33,246)] = {64,0}, + [I(34,246)] = {64,0}, + [I(35,246)] = {64,0}, + [I(36,246)] = {64,0}, + [I(37,246)] = {64,0}, + [I(38,246)] = {64,0}, + [I(39,246)] = {64,0}, + [I(40,246)] = {64,0}, + [I(41,246)] = {64,0}, + [I(42,246)] = {64,0}, + [I(43,246)] = {64,0}, + [I(44,246)] = {64,0}, + [I(45,246)] = {64,0}, + [I(46,246)] = {64,0}, + [I(47,246)] = {64,0}, + [I(48,246)] = {X32,0x7FFFFE9}, + [I(49,246)] = {X32,0xFFFFFE9}, + [I(50,246)] = {X32,0x17FFFFE9}, + [I(51,246)] = {64,0}, + [I(52,246)] = {64,0}, + [I(53,246)] = {64,0}, + [I(54,246)] = {64,0}, + [I(55,246)] = {64,0}, + [I(56,246)] = {64,0}, + [I(57,246)] = {64,0}, + [I(58,246)] = {64,0}, + [I(59,246)] = {64,0}, + [I(60,246)] = {64,0}, + [I(61,246)] = {64,0}, + [I(62,246)] = {64,0}, + [I(63,246)] = {64,0}, + [I(64,246)] = {64,0}, + [I(65,246)] = {64,0}, + [I(66,246)] = {64,0}, + [I(67,246)] = {64,0}, + [I(68,246)] = {64,0}, + [I(69,246)] = {64,0}, + [I(70,246)] = {64,0}, + [I(71,246)] = {64,0}, + [I(72,246)] = {64,0}, + [I(73,246)] = {64,0}, + [I(74,246)] = {64,0}, + [I(75,246)] = {64,0}, + [I(76,246)] = {64,0}, + [I(77,246)] = {64,0}, + [I(78,246)] = {64,0}, + [I(79,246)] = {64,0}, + [I(80,246)] = {64,0}, + [I(81,246)] = {64,0}, + [I(82,246)] = {64,0}, + [I(83,246)] = {64,0}, + [I(84,246)] = {64,0}, + [I(85,246)] = {64,0}, + [I(86,246)] = {64,0}, + [I(87,246)] = {64,0}, + [I(88,246)] = {64,0}, + [I(89,246)] = {64,0}, + [I(90,246)] = {64,0}, + [I(91,246)] = {64,0}, + [I(92,246)] = {64,0}, + [I(93,246)] = {64,0}, + [I(94,246)] = {64,0}, + [I(95,246)] = {64,0}, + [I(96,246)] = {64,0}, + [I(97,246)] = {X32,0x1FFFFFE9}, + [I(98,246)] = {64,0}, + [I(99,246)] = {X32,0x27FFFFE9}, + [I(100,246)] = {64,0}, + [I(101,246)] = {X32,0x2FFFFFE9}, + [I(102,246)] = {64,0}, + [I(103,246)] = {64,0}, + [I(104,246)] = {64,0}, + [I(105,246)] = {X32,0x37FFFFE9}, + [I(106,246)] = {64,0}, + [I(107,246)] = {64,0}, + [I(108,246)] = {64,0}, + [I(109,246)] = {64,0}, + [I(110,246)] = {64,0}, + [I(111,246)] = {X32,0x3FFFFFE9}, + [I(112,246)] = {64,0}, + [I(113,246)] = {64,0}, + [I(114,246)] = {64,0}, + [I(115,246)] = {X32,0x47FFFFE9}, + [I(116,246)] = {X32,0x4FFFFFE9}, + [I(117,246)] = {64,0}, + [I(118,246)] = {64,0}, + [I(119,246)] = {64,0}, + [I(120,246)] = {64,0}, + [I(121,246)] = {64,0}, + [I(122,246)] = {64,0}, + [I(123,246)] = {64,0}, + [I(124,246)] = {64,0}, + [I(125,246)] = {64,0}, + [I(126,246)] = {64,0}, + [I(127,246)] = {64,0}, + [I(128,246)] = {64,0}, + [I(129,246)] = {64,0}, + [I(130,246)] = {64,0}, + [I(131,246)] = {64,0}, + [I(132,246)] = {64,0}, + [I(133,246)] = {64,0}, + [I(134,246)] = {64,0}, + [I(135,246)] = {64,0}, + [I(136,246)] = {64,0}, + [I(137,246)] = {64,0}, + [I(138,246)] = {64,0}, + [I(139,246)] = {64,0}, + [I(140,246)] = {64,0}, + [I(141,246)] = {64,0}, + [I(142,246)] = {64,0}, + [I(143,246)] = {64,0}, + [I(144,246)] = {64,0}, + [I(145,246)] = {64,0}, + [I(146,246)] = {64,0}, + [I(147,246)] = {64,0}, + [I(148,246)] = {64,0}, + [I(149,246)] = {64,0}, + [I(150,246)] = {64,0}, + [I(151,246)] = {64,0}, + [I(152,246)] = {64,0}, + [I(153,246)] = {64,0}, + [I(154,246)] = {64,0}, + [I(155,246)] = {64,0}, + [I(156,246)] = {64,0}, + [I(157,246)] = {64,0}, + [I(158,246)] = {64,0}, + [I(159,246)] = {64,0}, + [I(160,246)] = {64,0}, + [I(161,246)] = {64,0}, + [I(162,246)] = {64,0}, + [I(163,246)] = {64,0}, + [I(164,246)] = {64,0}, + [I(165,246)] = {64,0}, + [I(166,246)] = {64,0}, + [I(167,246)] = {64,0}, + [I(168,246)] = {64,0}, + [I(169,246)] = {64,0}, + [I(170,246)] = {64,0}, + [I(171,246)] = {64,0}, + [I(172,246)] = {64,0}, + [I(173,246)] = {64,0}, + [I(174,246)] = {64,0}, + [I(175,246)] = {64,0}, + [I(176,246)] = {64,0}, + [I(177,246)] = {64,0}, + [I(178,246)] = {64,0}, + [I(179,246)] = {64,0}, + [I(180,246)] = {64,0}, + [I(181,246)] = {64,0}, + [I(182,246)] = {64,0}, + [I(183,246)] = {64,0}, + [I(184,246)] = {64,0}, + [I(185,246)] = {64,0}, + [I(186,246)] = {64,0}, + [I(187,246)] = {64,0}, + [I(188,246)] = {64,0}, + [I(189,246)] = {64,0}, + [I(190,246)] = {64,0}, + [I(191,246)] = {64,0}, + [I(192,246)] = {64,0}, + [I(193,246)] = {64,0}, + [I(194,246)] = {64,0}, + [I(195,246)] = {64,0}, + [I(196,246)] = {64,0}, + [I(197,246)] = {64,0}, + [I(198,246)] = {64,0}, + [I(199,246)] = {64,0}, + [I(200,246)] = {64,0}, + [I(201,246)] = {64,0}, + [I(202,246)] = {64,0}, + [I(203,246)] = {64,0}, + [I(204,246)] = {64,0}, + [I(205,246)] = {64,0}, + [I(206,246)] = {64,0}, + [I(207,246)] = {64,0}, + [I(208,246)] = {64,0}, + [I(209,246)] = {64,0}, + [I(210,246)] = {64,0}, + [I(211,246)] = {64,0}, + [I(212,246)] = {64,0}, + [I(213,246)] = {64,0}, + [I(214,246)] = {64,0}, + [I(215,246)] = {64,0}, + [I(216,246)] = {64,0}, + [I(217,246)] = {64,0}, + [I(218,246)] = {64,0}, + [I(219,246)] = {64,0}, + [I(220,246)] = {64,0}, + [I(221,246)] = {64,0}, + [I(222,246)] = {64,0}, + [I(223,246)] = {64,0}, + [I(224,246)] = {64,0}, + [I(225,246)] = {64,0}, + [I(226,246)] = {64,0}, + [I(227,246)] = {64,0}, + [I(228,246)] = {64,0}, + [I(229,246)] = {64,0}, + [I(230,246)] = {64,0}, + [I(231,246)] = {64,0}, + [I(232,246)] = {64,0}, + [I(233,246)] = {64,0}, + [I(234,246)] = {64,0}, + [I(235,246)] = {64,0}, + [I(236,246)] = {64,0}, + [I(237,246)] = {64,0}, + [I(238,246)] = {64,0}, + [I(239,246)] = {64,0}, + [I(240,246)] = {64,0}, + [I(241,246)] = {64,0}, + [I(242,246)] = {64,0}, + [I(243,246)] = {64,0}, + [I(244,246)] = {64,0}, + [I(245,246)] = {64,0}, + [I(246,246)] = {64,0}, + [I(247,246)] = {64,0}, + [I(248,246)] = {64,0}, + [I(249,246)] = {64,0}, + [I(250,246)] = {64,0}, + [I(251,246)] = {64,0}, + [I(252,246)] = {64,0}, + [I(253,246)] = {64,0}, + [I(254,246)] = {64,0}, + [I(255,246)] = {64,0}, + [I(0,247)] = {64,0}, + [I(1,247)] = {64,0}, + [I(2,247)] = {64,0}, + [I(3,247)] = {64,0}, + [I(4,247)] = {64,0}, + [I(5,247)] = {64,0}, + [I(6,247)] = {64,0}, + [I(7,247)] = {64,0}, + [I(8,247)] = {64,0}, + [I(9,247)] = {64,0}, + [I(10,247)] = {64,0}, + [I(11,247)] = {64,0}, + [I(12,247)] = {64,0}, + [I(13,247)] = {64,0}, + [I(14,247)] = {64,0}, + [I(15,247)] = {64,0}, + [I(16,247)] = {64,0}, + [I(17,247)] = {64,0}, + [I(18,247)] = {64,0}, + [I(19,247)] = {64,0}, + [I(20,247)] = {64,0}, + [I(21,247)] = {64,0}, + [I(22,247)] = {64,0}, + [I(23,247)] = {64,0}, + [I(24,247)] = {64,0}, + [I(25,247)] = {64,0}, + [I(26,247)] = {64,0}, + [I(27,247)] = {64,0}, + [I(28,247)] = {64,0}, + [I(29,247)] = {64,0}, + [I(30,247)] = {64,0}, + [I(31,247)] = {64,0}, + [I(32,247)] = {64,0}, + [I(33,247)] = {64,0}, + [I(34,247)] = {64,0}, + [I(35,247)] = {64,0}, + [I(36,247)] = {64,0}, + [I(37,247)] = {64,0}, + [I(38,247)] = {64,0}, + [I(39,247)] = {64,0}, + [I(40,247)] = {64,0}, + [I(41,247)] = {64,0}, + [I(42,247)] = {64,0}, + [I(43,247)] = {64,0}, + [I(44,247)] = {64,0}, + [I(45,247)] = {64,0}, + [I(46,247)] = {64,0}, + [I(47,247)] = {64,0}, + [I(48,247)] = {X32,0x7FFFFEA}, + [I(49,247)] = {X32,0xFFFFFEA}, + [I(50,247)] = {X32,0x17FFFFEA}, + [I(51,247)] = {64,0}, + [I(52,247)] = {64,0}, + [I(53,247)] = {64,0}, + [I(54,247)] = {64,0}, + [I(55,247)] = {64,0}, + [I(56,247)] = {64,0}, + [I(57,247)] = {64,0}, + [I(58,247)] = {64,0}, + [I(59,247)] = {64,0}, + [I(60,247)] = {64,0}, + [I(61,247)] = {64,0}, + [I(62,247)] = {64,0}, + [I(63,247)] = {64,0}, + [I(64,247)] = {64,0}, + [I(65,247)] = {64,0}, + [I(66,247)] = {64,0}, + [I(67,247)] = {64,0}, + [I(68,247)] = {64,0}, + [I(69,247)] = {64,0}, + [I(70,247)] = {64,0}, + [I(71,247)] = {64,0}, + [I(72,247)] = {64,0}, + [I(73,247)] = {64,0}, + [I(74,247)] = {64,0}, + [I(75,247)] = {64,0}, + [I(76,247)] = {64,0}, + [I(77,247)] = {64,0}, + [I(78,247)] = {64,0}, + [I(79,247)] = {64,0}, + [I(80,247)] = {64,0}, + [I(81,247)] = {64,0}, + [I(82,247)] = {64,0}, + [I(83,247)] = {64,0}, + [I(84,247)] = {64,0}, + [I(85,247)] = {64,0}, + [I(86,247)] = {64,0}, + [I(87,247)] = {64,0}, + [I(88,247)] = {64,0}, + [I(89,247)] = {64,0}, + [I(90,247)] = {64,0}, + [I(91,247)] = {64,0}, + [I(92,247)] = {64,0}, + [I(93,247)] = {64,0}, + [I(94,247)] = {64,0}, + [I(95,247)] = {64,0}, + [I(96,247)] = {64,0}, + [I(97,247)] = {X32,0x1FFFFFEA}, + [I(98,247)] = {64,0}, + [I(99,247)] = {X32,0x27FFFFEA}, + [I(100,247)] = {64,0}, + [I(101,247)] = {X32,0x2FFFFFEA}, + [I(102,247)] = {64,0}, + [I(103,247)] = {64,0}, + [I(104,247)] = {64,0}, + [I(105,247)] = {X32,0x37FFFFEA}, + [I(106,247)] = {64,0}, + [I(107,247)] = {64,0}, + [I(108,247)] = {64,0}, + [I(109,247)] = {64,0}, + [I(110,247)] = {64,0}, + [I(111,247)] = {X32,0x3FFFFFEA}, + [I(112,247)] = {64,0}, + [I(113,247)] = {64,0}, + [I(114,247)] = {64,0}, + [I(115,247)] = {X32,0x47FFFFEA}, + [I(116,247)] = {X32,0x4FFFFFEA}, + [I(117,247)] = {64,0}, + [I(118,247)] = {64,0}, + [I(119,247)] = {64,0}, + [I(120,247)] = {64,0}, + [I(121,247)] = {64,0}, + [I(122,247)] = {64,0}, + [I(123,247)] = {64,0}, + [I(124,247)] = {64,0}, + [I(125,247)] = {64,0}, + [I(126,247)] = {64,0}, + [I(127,247)] = {64,0}, + [I(128,247)] = {64,0}, + [I(129,247)] = {64,0}, + [I(130,247)] = {64,0}, + [I(131,247)] = {64,0}, + [I(132,247)] = {64,0}, + [I(133,247)] = {64,0}, + [I(134,247)] = {64,0}, + [I(135,247)] = {64,0}, + [I(136,247)] = {64,0}, + [I(137,247)] = {64,0}, + [I(138,247)] = {64,0}, + [I(139,247)] = {64,0}, + [I(140,247)] = {64,0}, + [I(141,247)] = {64,0}, + [I(142,247)] = {64,0}, + [I(143,247)] = {64,0}, + [I(144,247)] = {64,0}, + [I(145,247)] = {64,0}, + [I(146,247)] = {64,0}, + [I(147,247)] = {64,0}, + [I(148,247)] = {64,0}, + [I(149,247)] = {64,0}, + [I(150,247)] = {64,0}, + [I(151,247)] = {64,0}, + [I(152,247)] = {64,0}, + [I(153,247)] = {64,0}, + [I(154,247)] = {64,0}, + [I(155,247)] = {64,0}, + [I(156,247)] = {64,0}, + [I(157,247)] = {64,0}, + [I(158,247)] = {64,0}, + [I(159,247)] = {64,0}, + [I(160,247)] = {64,0}, + [I(161,247)] = {64,0}, + [I(162,247)] = {64,0}, + [I(163,247)] = {64,0}, + [I(164,247)] = {64,0}, + [I(165,247)] = {64,0}, + [I(166,247)] = {64,0}, + [I(167,247)] = {64,0}, + [I(168,247)] = {64,0}, + [I(169,247)] = {64,0}, + [I(170,247)] = {64,0}, + [I(171,247)] = {64,0}, + [I(172,247)] = {64,0}, + [I(173,247)] = {64,0}, + [I(174,247)] = {64,0}, + [I(175,247)] = {64,0}, + [I(176,247)] = {64,0}, + [I(177,247)] = {64,0}, + [I(178,247)] = {64,0}, + [I(179,247)] = {64,0}, + [I(180,247)] = {64,0}, + [I(181,247)] = {64,0}, + [I(182,247)] = {64,0}, + [I(183,247)] = {64,0}, + [I(184,247)] = {64,0}, + [I(185,247)] = {64,0}, + [I(186,247)] = {64,0}, + [I(187,247)] = {64,0}, + [I(188,247)] = {64,0}, + [I(189,247)] = {64,0}, + [I(190,247)] = {64,0}, + [I(191,247)] = {64,0}, + [I(192,247)] = {64,0}, + [I(193,247)] = {64,0}, + [I(194,247)] = {64,0}, + [I(195,247)] = {64,0}, + [I(196,247)] = {64,0}, + [I(197,247)] = {64,0}, + [I(198,247)] = {64,0}, + [I(199,247)] = {64,0}, + [I(200,247)] = {64,0}, + [I(201,247)] = {64,0}, + [I(202,247)] = {64,0}, + [I(203,247)] = {64,0}, + [I(204,247)] = {64,0}, + [I(205,247)] = {64,0}, + [I(206,247)] = {64,0}, + [I(207,247)] = {64,0}, + [I(208,247)] = {64,0}, + [I(209,247)] = {64,0}, + [I(210,247)] = {64,0}, + [I(211,247)] = {64,0}, + [I(212,247)] = {64,0}, + [I(213,247)] = {64,0}, + [I(214,247)] = {64,0}, + [I(215,247)] = {64,0}, + [I(216,247)] = {64,0}, + [I(217,247)] = {64,0}, + [I(218,247)] = {64,0}, + [I(219,247)] = {64,0}, + [I(220,247)] = {64,0}, + [I(221,247)] = {64,0}, + [I(222,247)] = {64,0}, + [I(223,247)] = {64,0}, + [I(224,247)] = {64,0}, + [I(225,247)] = {64,0}, + [I(226,247)] = {64,0}, + [I(227,247)] = {64,0}, + [I(228,247)] = {64,0}, + [I(229,247)] = {64,0}, + [I(230,247)] = {64,0}, + [I(231,247)] = {64,0}, + [I(232,247)] = {64,0}, + [I(233,247)] = {64,0}, + [I(234,247)] = {64,0}, + [I(235,247)] = {64,0}, + [I(236,247)] = {64,0}, + [I(237,247)] = {64,0}, + [I(238,247)] = {64,0}, + [I(239,247)] = {64,0}, + [I(240,247)] = {64,0}, + [I(241,247)] = {64,0}, + [I(242,247)] = {64,0}, + [I(243,247)] = {64,0}, + [I(244,247)] = {64,0}, + [I(245,247)] = {64,0}, + [I(246,247)] = {64,0}, + [I(247,247)] = {64,0}, + [I(248,247)] = {64,0}, + [I(249,247)] = {64,0}, + [I(250,247)] = {64,0}, + [I(251,247)] = {64,0}, + [I(252,247)] = {64,0}, + [I(253,247)] = {64,0}, + [I(254,247)] = {64,0}, + [I(255,247)] = {64,0}, + [I(0,248)] = {64,0}, + [I(1,248)] = {64,0}, + [I(2,248)] = {64,0}, + [I(3,248)] = {64,0}, + [I(4,248)] = {64,0}, + [I(5,248)] = {64,0}, + [I(6,248)] = {64,0}, + [I(7,248)] = {64,0}, + [I(8,248)] = {64,0}, + [I(9,248)] = {64,0}, + [I(10,248)] = {64,0}, + [I(11,248)] = {64,0}, + [I(12,248)] = {64,0}, + [I(13,248)] = {64,0}, + [I(14,248)] = {64,0}, + [I(15,248)] = {64,0}, + [I(16,248)] = {64,0}, + [I(17,248)] = {64,0}, + [I(18,248)] = {64,0}, + [I(19,248)] = {64,0}, + [I(20,248)] = {64,0}, + [I(21,248)] = {64,0}, + [I(22,248)] = {64,0}, + [I(23,248)] = {64,0}, + [I(24,248)] = {64,0}, + [I(25,248)] = {64,0}, + [I(26,248)] = {64,0}, + [I(27,248)] = {64,0}, + [I(28,248)] = {64,0}, + [I(29,248)] = {64,0}, + [I(30,248)] = {64,0}, + [I(31,248)] = {64,0}, + [I(32,248)] = {64,0}, + [I(33,248)] = {64,0}, + [I(34,248)] = {64,0}, + [I(35,248)] = {64,0}, + [I(36,248)] = {64,0}, + [I(37,248)] = {64,0}, + [I(38,248)] = {64,0}, + [I(39,248)] = {64,0}, + [I(40,248)] = {64,0}, + [I(41,248)] = {64,0}, + [I(42,248)] = {64,0}, + [I(43,248)] = {64,0}, + [I(44,248)] = {64,0}, + [I(45,248)] = {64,0}, + [I(46,248)] = {64,0}, + [I(47,248)] = {64,0}, + [I(48,248)] = {X32,0x7FFFFEB}, + [I(49,248)] = {X32,0xFFFFFEB}, + [I(50,248)] = {X32,0x17FFFFEB}, + [I(51,248)] = {64,0}, + [I(52,248)] = {64,0}, + [I(53,248)] = {64,0}, + [I(54,248)] = {64,0}, + [I(55,248)] = {64,0}, + [I(56,248)] = {64,0}, + [I(57,248)] = {64,0}, + [I(58,248)] = {64,0}, + [I(59,248)] = {64,0}, + [I(60,248)] = {64,0}, + [I(61,248)] = {64,0}, + [I(62,248)] = {64,0}, + [I(63,248)] = {64,0}, + [I(64,248)] = {64,0}, + [I(65,248)] = {64,0}, + [I(66,248)] = {64,0}, + [I(67,248)] = {64,0}, + [I(68,248)] = {64,0}, + [I(69,248)] = {64,0}, + [I(70,248)] = {64,0}, + [I(71,248)] = {64,0}, + [I(72,248)] = {64,0}, + [I(73,248)] = {64,0}, + [I(74,248)] = {64,0}, + [I(75,248)] = {64,0}, + [I(76,248)] = {64,0}, + [I(77,248)] = {64,0}, + [I(78,248)] = {64,0}, + [I(79,248)] = {64,0}, + [I(80,248)] = {64,0}, + [I(81,248)] = {64,0}, + [I(82,248)] = {64,0}, + [I(83,248)] = {64,0}, + [I(84,248)] = {64,0}, + [I(85,248)] = {64,0}, + [I(86,248)] = {64,0}, + [I(87,248)] = {64,0}, + [I(88,248)] = {64,0}, + [I(89,248)] = {64,0}, + [I(90,248)] = {64,0}, + [I(91,248)] = {64,0}, + [I(92,248)] = {64,0}, + [I(93,248)] = {64,0}, + [I(94,248)] = {64,0}, + [I(95,248)] = {64,0}, + [I(96,248)] = {64,0}, + [I(97,248)] = {X32,0x1FFFFFEB}, + [I(98,248)] = {64,0}, + [I(99,248)] = {X32,0x27FFFFEB}, + [I(100,248)] = {64,0}, + [I(101,248)] = {X32,0x2FFFFFEB}, + [I(102,248)] = {64,0}, + [I(103,248)] = {64,0}, + [I(104,248)] = {64,0}, + [I(105,248)] = {X32,0x37FFFFEB}, + [I(106,248)] = {64,0}, + [I(107,248)] = {64,0}, + [I(108,248)] = {64,0}, + [I(109,248)] = {64,0}, + [I(110,248)] = {64,0}, + [I(111,248)] = {X32,0x3FFFFFEB}, + [I(112,248)] = {64,0}, + [I(113,248)] = {64,0}, + [I(114,248)] = {64,0}, + [I(115,248)] = {X32,0x47FFFFEB}, + [I(116,248)] = {X32,0x4FFFFFEB}, + [I(117,248)] = {64,0}, + [I(118,248)] = {64,0}, + [I(119,248)] = {64,0}, + [I(120,248)] = {64,0}, + [I(121,248)] = {64,0}, + [I(122,248)] = {64,0}, + [I(123,248)] = {64,0}, + [I(124,248)] = {64,0}, + [I(125,248)] = {64,0}, + [I(126,248)] = {64,0}, + [I(127,248)] = {64,0}, + [I(128,248)] = {64,0}, + [I(129,248)] = {64,0}, + [I(130,248)] = {64,0}, + [I(131,248)] = {64,0}, + [I(132,248)] = {64,0}, + [I(133,248)] = {64,0}, + [I(134,248)] = {64,0}, + [I(135,248)] = {64,0}, + [I(136,248)] = {64,0}, + [I(137,248)] = {64,0}, + [I(138,248)] = {64,0}, + [I(139,248)] = {64,0}, + [I(140,248)] = {64,0}, + [I(141,248)] = {64,0}, + [I(142,248)] = {64,0}, + [I(143,248)] = {64,0}, + [I(144,248)] = {64,0}, + [I(145,248)] = {64,0}, + [I(146,248)] = {64,0}, + [I(147,248)] = {64,0}, + [I(148,248)] = {64,0}, + [I(149,248)] = {64,0}, + [I(150,248)] = {64,0}, + [I(151,248)] = {64,0}, + [I(152,248)] = {64,0}, + [I(153,248)] = {64,0}, + [I(154,248)] = {64,0}, + [I(155,248)] = {64,0}, + [I(156,248)] = {64,0}, + [I(157,248)] = {64,0}, + [I(158,248)] = {64,0}, + [I(159,248)] = {64,0}, + [I(160,248)] = {64,0}, + [I(161,248)] = {64,0}, + [I(162,248)] = {64,0}, + [I(163,248)] = {64,0}, + [I(164,248)] = {64,0}, + [I(165,248)] = {64,0}, + [I(166,248)] = {64,0}, + [I(167,248)] = {64,0}, + [I(168,248)] = {64,0}, + [I(169,248)] = {64,0}, + [I(170,248)] = {64,0}, + [I(171,248)] = {64,0}, + [I(172,248)] = {64,0}, + [I(173,248)] = {64,0}, + [I(174,248)] = {64,0}, + [I(175,248)] = {64,0}, + [I(176,248)] = {64,0}, + [I(177,248)] = {64,0}, + [I(178,248)] = {64,0}, + [I(179,248)] = {64,0}, + [I(180,248)] = {64,0}, + [I(181,248)] = {64,0}, + [I(182,248)] = {64,0}, + [I(183,248)] = {64,0}, + [I(184,248)] = {64,0}, + [I(185,248)] = {64,0}, + [I(186,248)] = {64,0}, + [I(187,248)] = {64,0}, + [I(188,248)] = {64,0}, + [I(189,248)] = {64,0}, + [I(190,248)] = {64,0}, + [I(191,248)] = {64,0}, + [I(192,248)] = {64,0}, + [I(193,248)] = {64,0}, + [I(194,248)] = {64,0}, + [I(195,248)] = {64,0}, + [I(196,248)] = {64,0}, + [I(197,248)] = {64,0}, + [I(198,248)] = {64,0}, + [I(199,248)] = {64,0}, + [I(200,248)] = {64,0}, + [I(201,248)] = {64,0}, + [I(202,248)] = {64,0}, + [I(203,248)] = {64,0}, + [I(204,248)] = {64,0}, + [I(205,248)] = {64,0}, + [I(206,248)] = {64,0}, + [I(207,248)] = {64,0}, + [I(208,248)] = {64,0}, + [I(209,248)] = {64,0}, + [I(210,248)] = {64,0}, + [I(211,248)] = {64,0}, + [I(212,248)] = {64,0}, + [I(213,248)] = {64,0}, + [I(214,248)] = {64,0}, + [I(215,248)] = {64,0}, + [I(216,248)] = {64,0}, + [I(217,248)] = {64,0}, + [I(218,248)] = {64,0}, + [I(219,248)] = {64,0}, + [I(220,248)] = {64,0}, + [I(221,248)] = {64,0}, + [I(222,248)] = {64,0}, + [I(223,248)] = {64,0}, + [I(224,248)] = {64,0}, + [I(225,248)] = {64,0}, + [I(226,248)] = {64,0}, + [I(227,248)] = {64,0}, + [I(228,248)] = {64,0}, + [I(229,248)] = {64,0}, + [I(230,248)] = {64,0}, + [I(231,248)] = {64,0}, + [I(232,248)] = {64,0}, + [I(233,248)] = {64,0}, + [I(234,248)] = {64,0}, + [I(235,248)] = {64,0}, + [I(236,248)] = {64,0}, + [I(237,248)] = {64,0}, + [I(238,248)] = {64,0}, + [I(239,248)] = {64,0}, + [I(240,248)] = {64,0}, + [I(241,248)] = {64,0}, + [I(242,248)] = {64,0}, + [I(243,248)] = {64,0}, + [I(244,248)] = {64,0}, + [I(245,248)] = {64,0}, + [I(246,248)] = {64,0}, + [I(247,248)] = {64,0}, + [I(248,248)] = {64,0}, + [I(249,248)] = {64,0}, + [I(250,248)] = {64,0}, + [I(251,248)] = {64,0}, + [I(252,248)] = {64,0}, + [I(253,248)] = {64,0}, + [I(254,248)] = {64,0}, + [I(255,248)] = {64,0}, + [I(0,249)] = {64,0}, + [I(1,249)] = {64,0}, + [I(2,249)] = {64,0}, + [I(3,249)] = {64,0}, + [I(4,249)] = {64,0}, + [I(5,249)] = {64,0}, + [I(6,249)] = {64,0}, + [I(7,249)] = {64,0}, + [I(8,249)] = {64,0}, + [I(9,249)] = {64,0}, + [I(10,249)] = {64,0}, + [I(11,249)] = {64,0}, + [I(12,249)] = {64,0}, + [I(13,249)] = {64,0}, + [I(14,249)] = {64,0}, + [I(15,249)] = {64,0}, + [I(16,249)] = {64,0}, + [I(17,249)] = {64,0}, + [I(18,249)] = {64,0}, + [I(19,249)] = {64,0}, + [I(20,249)] = {64,0}, + [I(21,249)] = {64,0}, + [I(22,249)] = {64,0}, + [I(23,249)] = {64,0}, + [I(24,249)] = {64,0}, + [I(25,249)] = {64,0}, + [I(26,249)] = {64,0}, + [I(27,249)] = {64,0}, + [I(28,249)] = {64,0}, + [I(29,249)] = {64,0}, + [I(30,249)] = {64,0}, + [I(31,249)] = {64,0}, + [I(32,249)] = {64,0}, + [I(33,249)] = {64,0}, + [I(34,249)] = {64,0}, + [I(35,249)] = {64,0}, + [I(36,249)] = {64,0}, + [I(37,249)] = {64,0}, + [I(38,249)] = {64,0}, + [I(39,249)] = {64,0}, + [I(40,249)] = {64,0}, + [I(41,249)] = {64,0}, + [I(42,249)] = {64,0}, + [I(43,249)] = {64,0}, + [I(44,249)] = {64,0}, + [I(45,249)] = {64,0}, + [I(46,249)] = {64,0}, + [I(47,249)] = {64,0}, + [I(48,249)] = {64,0}, + [I(49,249)] = {64,0}, + [I(50,249)] = {64,0}, + [I(51,249)] = {64,0}, + [I(52,249)] = {64,0}, + [I(53,249)] = {64,0}, + [I(54,249)] = {64,0}, + [I(55,249)] = {64,0}, + [I(56,249)] = {64,0}, + [I(57,249)] = {64,0}, + [I(58,249)] = {64,0}, + [I(59,249)] = {64,0}, + [I(60,249)] = {64,0}, + [I(61,249)] = {64,0}, + [I(62,249)] = {64,0}, + [I(63,249)] = {64,0}, + [I(64,249)] = {64,0}, + [I(65,249)] = {64,0}, + [I(66,249)] = {64,0}, + [I(67,249)] = {64,0}, + [I(68,249)] = {64,0}, + [I(69,249)] = {64,0}, + [I(70,249)] = {64,0}, + [I(71,249)] = {64,0}, + [I(72,249)] = {64,0}, + [I(73,249)] = {64,0}, + [I(74,249)] = {64,0}, + [I(75,249)] = {64,0}, + [I(76,249)] = {64,0}, + [I(77,249)] = {64,0}, + [I(78,249)] = {64,0}, + [I(79,249)] = {64,0}, + [I(80,249)] = {64,0}, + [I(81,249)] = {64,0}, + [I(82,249)] = {64,0}, + [I(83,249)] = {64,0}, + [I(84,249)] = {64,0}, + [I(85,249)] = {64,0}, + [I(86,249)] = {64,0}, + [I(87,249)] = {64,0}, + [I(88,249)] = {64,0}, + [I(89,249)] = {64,0}, + [I(90,249)] = {64,0}, + [I(91,249)] = {64,0}, + [I(92,249)] = {64,0}, + [I(93,249)] = {64,0}, + [I(94,249)] = {64,0}, + [I(95,249)] = {64,0}, + [I(96,249)] = {64,0}, + [I(97,249)] = {64,0}, + [I(98,249)] = {64,0}, + [I(99,249)] = {64,0}, + [I(100,249)] = {64,0}, + [I(101,249)] = {64,0}, + [I(102,249)] = {64,0}, + [I(103,249)] = {64,0}, + [I(104,249)] = {64,0}, + [I(105,249)] = {64,0}, + [I(106,249)] = {64,0}, + [I(107,249)] = {64,0}, + [I(108,249)] = {64,0}, + [I(109,249)] = {64,0}, + [I(110,249)] = {64,0}, + [I(111,249)] = {64,0}, + [I(112,249)] = {64,0}, + [I(113,249)] = {64,0}, + [I(114,249)] = {64,0}, + [I(115,249)] = {64,0}, + [I(116,249)] = {64,0}, + [I(117,249)] = {64,0}, + [I(118,249)] = {64,0}, + [I(119,249)] = {64,0}, + [I(120,249)] = {64,0}, + [I(121,249)] = {64,0}, + [I(122,249)] = {64,0}, + [I(123,249)] = {64,0}, + [I(124,249)] = {64,0}, + [I(125,249)] = {64,0}, + [I(126,249)] = {64,0}, + [I(127,249)] = {64,0}, + [I(128,249)] = {64,0}, + [I(129,249)] = {64,0}, + [I(130,249)] = {64,0}, + [I(131,249)] = {64,0}, + [I(132,249)] = {64,0}, + [I(133,249)] = {64,0}, + [I(134,249)] = {64,0}, + [I(135,249)] = {64,0}, + [I(136,249)] = {64,0}, + [I(137,249)] = {64,0}, + [I(138,249)] = {64,0}, + [I(139,249)] = {64,0}, + [I(140,249)] = {64,0}, + [I(141,249)] = {64,0}, + [I(142,249)] = {64,0}, + [I(143,249)] = {64,0}, + [I(144,249)] = {64,0}, + [I(145,249)] = {64,0}, + [I(146,249)] = {64,0}, + [I(147,249)] = {64,0}, + [I(148,249)] = {64,0}, + [I(149,249)] = {64,0}, + [I(150,249)] = {64,0}, + [I(151,249)] = {64,0}, + [I(152,249)] = {64,0}, + [I(153,249)] = {64,0}, + [I(154,249)] = {64,0}, + [I(155,249)] = {64,0}, + [I(156,249)] = {64,0}, + [I(157,249)] = {64,0}, + [I(158,249)] = {64,0}, + [I(159,249)] = {64,0}, + [I(160,249)] = {64,0}, + [I(161,249)] = {64,0}, + [I(162,249)] = {64,0}, + [I(163,249)] = {64,0}, + [I(164,249)] = {64,0}, + [I(165,249)] = {64,0}, + [I(166,249)] = {64,0}, + [I(167,249)] = {64,0}, + [I(168,249)] = {64,0}, + [I(169,249)] = {64,0}, + [I(170,249)] = {64,0}, + [I(171,249)] = {64,0}, + [I(172,249)] = {64,0}, + [I(173,249)] = {64,0}, + [I(174,249)] = {64,0}, + [I(175,249)] = {64,0}, + [I(176,249)] = {64,0}, + [I(177,249)] = {64,0}, + [I(178,249)] = {64,0}, + [I(179,249)] = {64,0}, + [I(180,249)] = {64,0}, + [I(181,249)] = {64,0}, + [I(182,249)] = {64,0}, + [I(183,249)] = {64,0}, + [I(184,249)] = {64,0}, + [I(185,249)] = {64,0}, + [I(186,249)] = {64,0}, + [I(187,249)] = {64,0}, + [I(188,249)] = {64,0}, + [I(189,249)] = {64,0}, + [I(190,249)] = {64,0}, + [I(191,249)] = {64,0}, + [I(192,249)] = {64,0}, + [I(193,249)] = {64,0}, + [I(194,249)] = {64,0}, + [I(195,249)] = {64,0}, + [I(196,249)] = {64,0}, + [I(197,249)] = {64,0}, + [I(198,249)] = {64,0}, + [I(199,249)] = {64,0}, + [I(200,249)] = {64,0}, + [I(201,249)] = {64,0}, + [I(202,249)] = {64,0}, + [I(203,249)] = {64,0}, + [I(204,249)] = {64,0}, + [I(205,249)] = {64,0}, + [I(206,249)] = {64,0}, + [I(207,249)] = {64,0}, + [I(208,249)] = {64,0}, + [I(209,249)] = {64,0}, + [I(210,249)] = {64,0}, + [I(211,249)] = {64,0}, + [I(212,249)] = {64,0}, + [I(213,249)] = {64,0}, + [I(214,249)] = {64,0}, + [I(215,249)] = {64,0}, + [I(216,249)] = {64,0}, + [I(217,249)] = {64,0}, + [I(218,249)] = {64,0}, + [I(219,249)] = {64,0}, + [I(220,249)] = {64,0}, + [I(221,249)] = {64,0}, + [I(222,249)] = {64,0}, + [I(223,249)] = {64,0}, + [I(224,249)] = {64,0}, + [I(225,249)] = {64,0}, + [I(226,249)] = {64,0}, + [I(227,249)] = {64,0}, + [I(228,249)] = {64,0}, + [I(229,249)] = {64,0}, + [I(230,249)] = {64,0}, + [I(231,249)] = {64,0}, + [I(232,249)] = {64,0}, + [I(233,249)] = {64,0}, + [I(234,249)] = {64,0}, + [I(235,249)] = {64,0}, + [I(236,249)] = {64,0}, + [I(237,249)] = {64,0}, + [I(238,249)] = {64,0}, + [I(239,249)] = {64,0}, + [I(240,249)] = {64,0}, + [I(241,249)] = {64,0}, + [I(242,249)] = {64,0}, + [I(243,249)] = {64,0}, + [I(244,249)] = {64,0}, + [I(245,249)] = {64,0}, + [I(246,249)] = {64,0}, + [I(247,249)] = {64,0}, + [I(248,249)] = {64,0}, + [I(249,249)] = {64,0}, + [I(250,249)] = {64,0}, + [I(251,249)] = {64,0}, + [I(252,249)] = {64,0}, + [I(253,249)] = {64,0}, + [I(254,249)] = {64,0}, + [I(255,249)] = {64,0}, + [I(0,250)] = {64,0}, + [I(1,250)] = {64,0}, + [I(2,250)] = {64,0}, + [I(3,250)] = {64,0}, + [I(4,250)] = {64,0}, + [I(5,250)] = {64,0}, + [I(6,250)] = {64,0}, + [I(7,250)] = {64,0}, + [I(8,250)] = {64,0}, + [I(9,250)] = {64,0}, + [I(10,250)] = {64,0}, + [I(11,250)] = {64,0}, + [I(12,250)] = {64,0}, + [I(13,250)] = {64,0}, + [I(14,250)] = {64,0}, + [I(15,250)] = {64,0}, + [I(16,250)] = {64,0}, + [I(17,250)] = {64,0}, + [I(18,250)] = {64,0}, + [I(19,250)] = {64,0}, + [I(20,250)] = {64,0}, + [I(21,250)] = {64,0}, + [I(22,250)] = {64,0}, + [I(23,250)] = {64,0}, + [I(24,250)] = {64,0}, + [I(25,250)] = {64,0}, + [I(26,250)] = {64,0}, + [I(27,250)] = {64,0}, + [I(28,250)] = {64,0}, + [I(29,250)] = {64,0}, + [I(30,250)] = {64,0}, + [I(31,250)] = {64,0}, + [I(32,250)] = {64,0}, + [I(33,250)] = {64,0}, + [I(34,250)] = {64,0}, + [I(35,250)] = {64,0}, + [I(36,250)] = {64,0}, + [I(37,250)] = {64,0}, + [I(38,250)] = {64,0}, + [I(39,250)] = {64,0}, + [I(40,250)] = {64,0}, + [I(41,250)] = {64,0}, + [I(42,250)] = {64,0}, + [I(43,250)] = {64,0}, + [I(44,250)] = {64,0}, + [I(45,250)] = {64,0}, + [I(46,250)] = {64,0}, + [I(47,250)] = {64,0}, + [I(48,250)] = {X32,0x7FFFFEC}, + [I(49,250)] = {X32,0xFFFFFEC}, + [I(50,250)] = {X32,0x17FFFFEC}, + [I(51,250)] = {64,0}, + [I(52,250)] = {64,0}, + [I(53,250)] = {64,0}, + [I(54,250)] = {64,0}, + [I(55,250)] = {64,0}, + [I(56,250)] = {64,0}, + [I(57,250)] = {64,0}, + [I(58,250)] = {64,0}, + [I(59,250)] = {64,0}, + [I(60,250)] = {64,0}, + [I(61,250)] = {64,0}, + [I(62,250)] = {64,0}, + [I(63,250)] = {64,0}, + [I(64,250)] = {64,0}, + [I(65,250)] = {64,0}, + [I(66,250)] = {64,0}, + [I(67,250)] = {64,0}, + [I(68,250)] = {64,0}, + [I(69,250)] = {64,0}, + [I(70,250)] = {64,0}, + [I(71,250)] = {64,0}, + [I(72,250)] = {64,0}, + [I(73,250)] = {64,0}, + [I(74,250)] = {64,0}, + [I(75,250)] = {64,0}, + [I(76,250)] = {64,0}, + [I(77,250)] = {64,0}, + [I(78,250)] = {64,0}, + [I(79,250)] = {64,0}, + [I(80,250)] = {64,0}, + [I(81,250)] = {64,0}, + [I(82,250)] = {64,0}, + [I(83,250)] = {64,0}, + [I(84,250)] = {64,0}, + [I(85,250)] = {64,0}, + [I(86,250)] = {64,0}, + [I(87,250)] = {64,0}, + [I(88,250)] = {64,0}, + [I(89,250)] = {64,0}, + [I(90,250)] = {64,0}, + [I(91,250)] = {64,0}, + [I(92,250)] = {64,0}, + [I(93,250)] = {64,0}, + [I(94,250)] = {64,0}, + [I(95,250)] = {64,0}, + [I(96,250)] = {64,0}, + [I(97,250)] = {X32,0x1FFFFFEC}, + [I(98,250)] = {64,0}, + [I(99,250)] = {X32,0x27FFFFEC}, + [I(100,250)] = {64,0}, + [I(101,250)] = {X32,0x2FFFFFEC}, + [I(102,250)] = {64,0}, + [I(103,250)] = {64,0}, + [I(104,250)] = {64,0}, + [I(105,250)] = {X32,0x37FFFFEC}, + [I(106,250)] = {64,0}, + [I(107,250)] = {64,0}, + [I(108,250)] = {64,0}, + [I(109,250)] = {64,0}, + [I(110,250)] = {64,0}, + [I(111,250)] = {X32,0x3FFFFFEC}, + [I(112,250)] = {64,0}, + [I(113,250)] = {64,0}, + [I(114,250)] = {64,0}, + [I(115,250)] = {X32,0x47FFFFEC}, + [I(116,250)] = {X32,0x4FFFFFEC}, + [I(117,250)] = {64,0}, + [I(118,250)] = {64,0}, + [I(119,250)] = {64,0}, + [I(120,250)] = {64,0}, + [I(121,250)] = {64,0}, + [I(122,250)] = {64,0}, + [I(123,250)] = {64,0}, + [I(124,250)] = {64,0}, + [I(125,250)] = {64,0}, + [I(126,250)] = {64,0}, + [I(127,250)] = {64,0}, + [I(128,250)] = {64,0}, + [I(129,250)] = {64,0}, + [I(130,250)] = {64,0}, + [I(131,250)] = {64,0}, + [I(132,250)] = {64,0}, + [I(133,250)] = {64,0}, + [I(134,250)] = {64,0}, + [I(135,250)] = {64,0}, + [I(136,250)] = {64,0}, + [I(137,250)] = {64,0}, + [I(138,250)] = {64,0}, + [I(139,250)] = {64,0}, + [I(140,250)] = {64,0}, + [I(141,250)] = {64,0}, + [I(142,250)] = {64,0}, + [I(143,250)] = {64,0}, + [I(144,250)] = {64,0}, + [I(145,250)] = {64,0}, + [I(146,250)] = {64,0}, + [I(147,250)] = {64,0}, + [I(148,250)] = {64,0}, + [I(149,250)] = {64,0}, + [I(150,250)] = {64,0}, + [I(151,250)] = {64,0}, + [I(152,250)] = {64,0}, + [I(153,250)] = {64,0}, + [I(154,250)] = {64,0}, + [I(155,250)] = {64,0}, + [I(156,250)] = {64,0}, + [I(157,250)] = {64,0}, + [I(158,250)] = {64,0}, + [I(159,250)] = {64,0}, + [I(160,250)] = {64,0}, + [I(161,250)] = {64,0}, + [I(162,250)] = {64,0}, + [I(163,250)] = {64,0}, + [I(164,250)] = {64,0}, + [I(165,250)] = {64,0}, + [I(166,250)] = {64,0}, + [I(167,250)] = {64,0}, + [I(168,250)] = {64,0}, + [I(169,250)] = {64,0}, + [I(170,250)] = {64,0}, + [I(171,250)] = {64,0}, + [I(172,250)] = {64,0}, + [I(173,250)] = {64,0}, + [I(174,250)] = {64,0}, + [I(175,250)] = {64,0}, + [I(176,250)] = {64,0}, + [I(177,250)] = {64,0}, + [I(178,250)] = {64,0}, + [I(179,250)] = {64,0}, + [I(180,250)] = {64,0}, + [I(181,250)] = {64,0}, + [I(182,250)] = {64,0}, + [I(183,250)] = {64,0}, + [I(184,250)] = {64,0}, + [I(185,250)] = {64,0}, + [I(186,250)] = {64,0}, + [I(187,250)] = {64,0}, + [I(188,250)] = {64,0}, + [I(189,250)] = {64,0}, + [I(190,250)] = {64,0}, + [I(191,250)] = {64,0}, + [I(192,250)] = {64,0}, + [I(193,250)] = {64,0}, + [I(194,250)] = {64,0}, + [I(195,250)] = {64,0}, + [I(196,250)] = {64,0}, + [I(197,250)] = {64,0}, + [I(198,250)] = {64,0}, + [I(199,250)] = {64,0}, + [I(200,250)] = {64,0}, + [I(201,250)] = {64,0}, + [I(202,250)] = {64,0}, + [I(203,250)] = {64,0}, + [I(204,250)] = {64,0}, + [I(205,250)] = {64,0}, + [I(206,250)] = {64,0}, + [I(207,250)] = {64,0}, + [I(208,250)] = {64,0}, + [I(209,250)] = {64,0}, + [I(210,250)] = {64,0}, + [I(211,250)] = {64,0}, + [I(212,250)] = {64,0}, + [I(213,250)] = {64,0}, + [I(214,250)] = {64,0}, + [I(215,250)] = {64,0}, + [I(216,250)] = {64,0}, + [I(217,250)] = {64,0}, + [I(218,250)] = {64,0}, + [I(219,250)] = {64,0}, + [I(220,250)] = {64,0}, + [I(221,250)] = {64,0}, + [I(222,250)] = {64,0}, + [I(223,250)] = {64,0}, + [I(224,250)] = {64,0}, + [I(225,250)] = {64,0}, + [I(226,250)] = {64,0}, + [I(227,250)] = {64,0}, + [I(228,250)] = {64,0}, + [I(229,250)] = {64,0}, + [I(230,250)] = {64,0}, + [I(231,250)] = {64,0}, + [I(232,250)] = {64,0}, + [I(233,250)] = {64,0}, + [I(234,250)] = {64,0}, + [I(235,250)] = {64,0}, + [I(236,250)] = {64,0}, + [I(237,250)] = {64,0}, + [I(238,250)] = {64,0}, + [I(239,250)] = {64,0}, + [I(240,250)] = {64,0}, + [I(241,250)] = {64,0}, + [I(242,250)] = {64,0}, + [I(243,250)] = {64,0}, + [I(244,250)] = {64,0}, + [I(245,250)] = {64,0}, + [I(246,250)] = {64,0}, + [I(247,250)] = {64,0}, + [I(248,250)] = {64,0}, + [I(249,250)] = {64,0}, + [I(250,250)] = {64,0}, + [I(251,250)] = {64,0}, + [I(252,250)] = {64,0}, + [I(253,250)] = {64,0}, + [I(254,250)] = {64,0}, + [I(255,250)] = {64,0}, + [I(0,251)] = {64,0}, + [I(1,251)] = {64,0}, + [I(2,251)] = {64,0}, + [I(3,251)] = {64,0}, + [I(4,251)] = {64,0}, + [I(5,251)] = {64,0}, + [I(6,251)] = {64,0}, + [I(7,251)] = {64,0}, + [I(8,251)] = {64,0}, + [I(9,251)] = {64,0}, + [I(10,251)] = {64,0}, + [I(11,251)] = {64,0}, + [I(12,251)] = {64,0}, + [I(13,251)] = {64,0}, + [I(14,251)] = {64,0}, + [I(15,251)] = {64,0}, + [I(16,251)] = {64,0}, + [I(17,251)] = {64,0}, + [I(18,251)] = {64,0}, + [I(19,251)] = {64,0}, + [I(20,251)] = {64,0}, + [I(21,251)] = {64,0}, + [I(22,251)] = {64,0}, + [I(23,251)] = {64,0}, + [I(24,251)] = {64,0}, + [I(25,251)] = {64,0}, + [I(26,251)] = {64,0}, + [I(27,251)] = {64,0}, + [I(28,251)] = {64,0}, + [I(29,251)] = {64,0}, + [I(30,251)] = {64,0}, + [I(31,251)] = {64,0}, + [I(32,251)] = {64,0}, + [I(33,251)] = {64,0}, + [I(34,251)] = {64,0}, + [I(35,251)] = {64,0}, + [I(36,251)] = {64,0}, + [I(37,251)] = {64,0}, + [I(38,251)] = {64,0}, + [I(39,251)] = {64,0}, + [I(40,251)] = {64,0}, + [I(41,251)] = {64,0}, + [I(42,251)] = {64,0}, + [I(43,251)] = {64,0}, + [I(44,251)] = {64,0}, + [I(45,251)] = {64,0}, + [I(46,251)] = {64,0}, + [I(47,251)] = {64,0}, + [I(48,251)] = {X32,0x7FFFFED}, + [I(49,251)] = {X32,0xFFFFFED}, + [I(50,251)] = {X32,0x17FFFFED}, + [I(51,251)] = {64,0}, + [I(52,251)] = {64,0}, + [I(53,251)] = {64,0}, + [I(54,251)] = {64,0}, + [I(55,251)] = {64,0}, + [I(56,251)] = {64,0}, + [I(57,251)] = {64,0}, + [I(58,251)] = {64,0}, + [I(59,251)] = {64,0}, + [I(60,251)] = {64,0}, + [I(61,251)] = {64,0}, + [I(62,251)] = {64,0}, + [I(63,251)] = {64,0}, + [I(64,251)] = {64,0}, + [I(65,251)] = {64,0}, + [I(66,251)] = {64,0}, + [I(67,251)] = {64,0}, + [I(68,251)] = {64,0}, + [I(69,251)] = {64,0}, + [I(70,251)] = {64,0}, + [I(71,251)] = {64,0}, + [I(72,251)] = {64,0}, + [I(73,251)] = {64,0}, + [I(74,251)] = {64,0}, + [I(75,251)] = {64,0}, + [I(76,251)] = {64,0}, + [I(77,251)] = {64,0}, + [I(78,251)] = {64,0}, + [I(79,251)] = {64,0}, + [I(80,251)] = {64,0}, + [I(81,251)] = {64,0}, + [I(82,251)] = {64,0}, + [I(83,251)] = {64,0}, + [I(84,251)] = {64,0}, + [I(85,251)] = {64,0}, + [I(86,251)] = {64,0}, + [I(87,251)] = {64,0}, + [I(88,251)] = {64,0}, + [I(89,251)] = {64,0}, + [I(90,251)] = {64,0}, + [I(91,251)] = {64,0}, + [I(92,251)] = {64,0}, + [I(93,251)] = {64,0}, + [I(94,251)] = {64,0}, + [I(95,251)] = {64,0}, + [I(96,251)] = {64,0}, + [I(97,251)] = {X32,0x1FFFFFED}, + [I(98,251)] = {64,0}, + [I(99,251)] = {X32,0x27FFFFED}, + [I(100,251)] = {64,0}, + [I(101,251)] = {X32,0x2FFFFFED}, + [I(102,251)] = {64,0}, + [I(103,251)] = {64,0}, + [I(104,251)] = {64,0}, + [I(105,251)] = {X32,0x37FFFFED}, + [I(106,251)] = {64,0}, + [I(107,251)] = {64,0}, + [I(108,251)] = {64,0}, + [I(109,251)] = {64,0}, + [I(110,251)] = {64,0}, + [I(111,251)] = {X32,0x3FFFFFED}, + [I(112,251)] = {64,0}, + [I(113,251)] = {64,0}, + [I(114,251)] = {64,0}, + [I(115,251)] = {X32,0x47FFFFED}, + [I(116,251)] = {X32,0x4FFFFFED}, + [I(117,251)] = {64,0}, + [I(118,251)] = {64,0}, + [I(119,251)] = {64,0}, + [I(120,251)] = {64,0}, + [I(121,251)] = {64,0}, + [I(122,251)] = {64,0}, + [I(123,251)] = {64,0}, + [I(124,251)] = {64,0}, + [I(125,251)] = {64,0}, + [I(126,251)] = {64,0}, + [I(127,251)] = {64,0}, + [I(128,251)] = {64,0}, + [I(129,251)] = {64,0}, + [I(130,251)] = {64,0}, + [I(131,251)] = {64,0}, + [I(132,251)] = {64,0}, + [I(133,251)] = {64,0}, + [I(134,251)] = {64,0}, + [I(135,251)] = {64,0}, + [I(136,251)] = {64,0}, + [I(137,251)] = {64,0}, + [I(138,251)] = {64,0}, + [I(139,251)] = {64,0}, + [I(140,251)] = {64,0}, + [I(141,251)] = {64,0}, + [I(142,251)] = {64,0}, + [I(143,251)] = {64,0}, + [I(144,251)] = {64,0}, + [I(145,251)] = {64,0}, + [I(146,251)] = {64,0}, + [I(147,251)] = {64,0}, + [I(148,251)] = {64,0}, + [I(149,251)] = {64,0}, + [I(150,251)] = {64,0}, + [I(151,251)] = {64,0}, + [I(152,251)] = {64,0}, + [I(153,251)] = {64,0}, + [I(154,251)] = {64,0}, + [I(155,251)] = {64,0}, + [I(156,251)] = {64,0}, + [I(157,251)] = {64,0}, + [I(158,251)] = {64,0}, + [I(159,251)] = {64,0}, + [I(160,251)] = {64,0}, + [I(161,251)] = {64,0}, + [I(162,251)] = {64,0}, + [I(163,251)] = {64,0}, + [I(164,251)] = {64,0}, + [I(165,251)] = {64,0}, + [I(166,251)] = {64,0}, + [I(167,251)] = {64,0}, + [I(168,251)] = {64,0}, + [I(169,251)] = {64,0}, + [I(170,251)] = {64,0}, + [I(171,251)] = {64,0}, + [I(172,251)] = {64,0}, + [I(173,251)] = {64,0}, + [I(174,251)] = {64,0}, + [I(175,251)] = {64,0}, + [I(176,251)] = {64,0}, + [I(177,251)] = {64,0}, + [I(178,251)] = {64,0}, + [I(179,251)] = {64,0}, + [I(180,251)] = {64,0}, + [I(181,251)] = {64,0}, + [I(182,251)] = {64,0}, + [I(183,251)] = {64,0}, + [I(184,251)] = {64,0}, + [I(185,251)] = {64,0}, + [I(186,251)] = {64,0}, + [I(187,251)] = {64,0}, + [I(188,251)] = {64,0}, + [I(189,251)] = {64,0}, + [I(190,251)] = {64,0}, + [I(191,251)] = {64,0}, + [I(192,251)] = {64,0}, + [I(193,251)] = {64,0}, + [I(194,251)] = {64,0}, + [I(195,251)] = {64,0}, + [I(196,251)] = {64,0}, + [I(197,251)] = {64,0}, + [I(198,251)] = {64,0}, + [I(199,251)] = {64,0}, + [I(200,251)] = {64,0}, + [I(201,251)] = {64,0}, + [I(202,251)] = {64,0}, + [I(203,251)] = {64,0}, + [I(204,251)] = {64,0}, + [I(205,251)] = {64,0}, + [I(206,251)] = {64,0}, + [I(207,251)] = {64,0}, + [I(208,251)] = {64,0}, + [I(209,251)] = {64,0}, + [I(210,251)] = {64,0}, + [I(211,251)] = {64,0}, + [I(212,251)] = {64,0}, + [I(213,251)] = {64,0}, + [I(214,251)] = {64,0}, + [I(215,251)] = {64,0}, + [I(216,251)] = {64,0}, + [I(217,251)] = {64,0}, + [I(218,251)] = {64,0}, + [I(219,251)] = {64,0}, + [I(220,251)] = {64,0}, + [I(221,251)] = {64,0}, + [I(222,251)] = {64,0}, + [I(223,251)] = {64,0}, + [I(224,251)] = {64,0}, + [I(225,251)] = {64,0}, + [I(226,251)] = {64,0}, + [I(227,251)] = {64,0}, + [I(228,251)] = {64,0}, + [I(229,251)] = {64,0}, + [I(230,251)] = {64,0}, + [I(231,251)] = {64,0}, + [I(232,251)] = {64,0}, + [I(233,251)] = {64,0}, + [I(234,251)] = {64,0}, + [I(235,251)] = {64,0}, + [I(236,251)] = {64,0}, + [I(237,251)] = {64,0}, + [I(238,251)] = {64,0}, + [I(239,251)] = {64,0}, + [I(240,251)] = {64,0}, + [I(241,251)] = {64,0}, + [I(242,251)] = {64,0}, + [I(243,251)] = {64,0}, + [I(244,251)] = {64,0}, + [I(245,251)] = {64,0}, + [I(246,251)] = {64,0}, + [I(247,251)] = {64,0}, + [I(248,251)] = {64,0}, + [I(249,251)] = {64,0}, + [I(250,251)] = {64,0}, + [I(251,251)] = {64,0}, + [I(252,251)] = {64,0}, + [I(253,251)] = {64,0}, + [I(254,251)] = {64,0}, + [I(255,251)] = {64,0}, + [I(0,252)] = {64,0}, + [I(1,252)] = {64,0}, + [I(2,252)] = {64,0}, + [I(3,252)] = {64,0}, + [I(4,252)] = {64,0}, + [I(5,252)] = {64,0}, + [I(6,252)] = {64,0}, + [I(7,252)] = {64,0}, + [I(8,252)] = {64,0}, + [I(9,252)] = {64,0}, + [I(10,252)] = {64,0}, + [I(11,252)] = {64,0}, + [I(12,252)] = {64,0}, + [I(13,252)] = {64,0}, + [I(14,252)] = {64,0}, + [I(15,252)] = {64,0}, + [I(16,252)] = {64,0}, + [I(17,252)] = {64,0}, + [I(18,252)] = {64,0}, + [I(19,252)] = {64,0}, + [I(20,252)] = {64,0}, + [I(21,252)] = {64,0}, + [I(22,252)] = {64,0}, + [I(23,252)] = {64,0}, + [I(24,252)] = {64,0}, + [I(25,252)] = {64,0}, + [I(26,252)] = {64,0}, + [I(27,252)] = {64,0}, + [I(28,252)] = {64,0}, + [I(29,252)] = {64,0}, + [I(30,252)] = {64,0}, + [I(31,252)] = {64,0}, + [I(32,252)] = {64,0}, + [I(33,252)] = {64,0}, + [I(34,252)] = {64,0}, + [I(35,252)] = {64,0}, + [I(36,252)] = {64,0}, + [I(37,252)] = {64,0}, + [I(38,252)] = {64,0}, + [I(39,252)] = {64,0}, + [I(40,252)] = {64,0}, + [I(41,252)] = {64,0}, + [I(42,252)] = {64,0}, + [I(43,252)] = {64,0}, + [I(44,252)] = {64,0}, + [I(45,252)] = {64,0}, + [I(46,252)] = {64,0}, + [I(47,252)] = {64,0}, + [I(48,252)] = {X32,0x7FFFFEE}, + [I(49,252)] = {X32,0xFFFFFEE}, + [I(50,252)] = {X32,0x17FFFFEE}, + [I(51,252)] = {64,0}, + [I(52,252)] = {64,0}, + [I(53,252)] = {64,0}, + [I(54,252)] = {64,0}, + [I(55,252)] = {64,0}, + [I(56,252)] = {64,0}, + [I(57,252)] = {64,0}, + [I(58,252)] = {64,0}, + [I(59,252)] = {64,0}, + [I(60,252)] = {64,0}, + [I(61,252)] = {64,0}, + [I(62,252)] = {64,0}, + [I(63,252)] = {64,0}, + [I(64,252)] = {64,0}, + [I(65,252)] = {64,0}, + [I(66,252)] = {64,0}, + [I(67,252)] = {64,0}, + [I(68,252)] = {64,0}, + [I(69,252)] = {64,0}, + [I(70,252)] = {64,0}, + [I(71,252)] = {64,0}, + [I(72,252)] = {64,0}, + [I(73,252)] = {64,0}, + [I(74,252)] = {64,0}, + [I(75,252)] = {64,0}, + [I(76,252)] = {64,0}, + [I(77,252)] = {64,0}, + [I(78,252)] = {64,0}, + [I(79,252)] = {64,0}, + [I(80,252)] = {64,0}, + [I(81,252)] = {64,0}, + [I(82,252)] = {64,0}, + [I(83,252)] = {64,0}, + [I(84,252)] = {64,0}, + [I(85,252)] = {64,0}, + [I(86,252)] = {64,0}, + [I(87,252)] = {64,0}, + [I(88,252)] = {64,0}, + [I(89,252)] = {64,0}, + [I(90,252)] = {64,0}, + [I(91,252)] = {64,0}, + [I(92,252)] = {64,0}, + [I(93,252)] = {64,0}, + [I(94,252)] = {64,0}, + [I(95,252)] = {64,0}, + [I(96,252)] = {64,0}, + [I(97,252)] = {X32,0x1FFFFFEE}, + [I(98,252)] = {64,0}, + [I(99,252)] = {X32,0x27FFFFEE}, + [I(100,252)] = {64,0}, + [I(101,252)] = {X32,0x2FFFFFEE}, + [I(102,252)] = {64,0}, + [I(103,252)] = {64,0}, + [I(104,252)] = {64,0}, + [I(105,252)] = {X32,0x37FFFFEE}, + [I(106,252)] = {64,0}, + [I(107,252)] = {64,0}, + [I(108,252)] = {64,0}, + [I(109,252)] = {64,0}, + [I(110,252)] = {64,0}, + [I(111,252)] = {X32,0x3FFFFFEE}, + [I(112,252)] = {64,0}, + [I(113,252)] = {64,0}, + [I(114,252)] = {64,0}, + [I(115,252)] = {X32,0x47FFFFEE}, + [I(116,252)] = {X32,0x4FFFFFEE}, + [I(117,252)] = {64,0}, + [I(118,252)] = {64,0}, + [I(119,252)] = {64,0}, + [I(120,252)] = {64,0}, + [I(121,252)] = {64,0}, + [I(122,252)] = {64,0}, + [I(123,252)] = {64,0}, + [I(124,252)] = {64,0}, + [I(125,252)] = {64,0}, + [I(126,252)] = {64,0}, + [I(127,252)] = {64,0}, + [I(128,252)] = {64,0}, + [I(129,252)] = {64,0}, + [I(130,252)] = {64,0}, + [I(131,252)] = {64,0}, + [I(132,252)] = {64,0}, + [I(133,252)] = {64,0}, + [I(134,252)] = {64,0}, + [I(135,252)] = {64,0}, + [I(136,252)] = {64,0}, + [I(137,252)] = {64,0}, + [I(138,252)] = {64,0}, + [I(139,252)] = {64,0}, + [I(140,252)] = {64,0}, + [I(141,252)] = {64,0}, + [I(142,252)] = {64,0}, + [I(143,252)] = {64,0}, + [I(144,252)] = {64,0}, + [I(145,252)] = {64,0}, + [I(146,252)] = {64,0}, + [I(147,252)] = {64,0}, + [I(148,252)] = {64,0}, + [I(149,252)] = {64,0}, + [I(150,252)] = {64,0}, + [I(151,252)] = {64,0}, + [I(152,252)] = {64,0}, + [I(153,252)] = {64,0}, + [I(154,252)] = {64,0}, + [I(155,252)] = {64,0}, + [I(156,252)] = {64,0}, + [I(157,252)] = {64,0}, + [I(158,252)] = {64,0}, + [I(159,252)] = {64,0}, + [I(160,252)] = {64,0}, + [I(161,252)] = {64,0}, + [I(162,252)] = {64,0}, + [I(163,252)] = {64,0}, + [I(164,252)] = {64,0}, + [I(165,252)] = {64,0}, + [I(166,252)] = {64,0}, + [I(167,252)] = {64,0}, + [I(168,252)] = {64,0}, + [I(169,252)] = {64,0}, + [I(170,252)] = {64,0}, + [I(171,252)] = {64,0}, + [I(172,252)] = {64,0}, + [I(173,252)] = {64,0}, + [I(174,252)] = {64,0}, + [I(175,252)] = {64,0}, + [I(176,252)] = {64,0}, + [I(177,252)] = {64,0}, + [I(178,252)] = {64,0}, + [I(179,252)] = {64,0}, + [I(180,252)] = {64,0}, + [I(181,252)] = {64,0}, + [I(182,252)] = {64,0}, + [I(183,252)] = {64,0}, + [I(184,252)] = {64,0}, + [I(185,252)] = {64,0}, + [I(186,252)] = {64,0}, + [I(187,252)] = {64,0}, + [I(188,252)] = {64,0}, + [I(189,252)] = {64,0}, + [I(190,252)] = {64,0}, + [I(191,252)] = {64,0}, + [I(192,252)] = {64,0}, + [I(193,252)] = {64,0}, + [I(194,252)] = {64,0}, + [I(195,252)] = {64,0}, + [I(196,252)] = {64,0}, + [I(197,252)] = {64,0}, + [I(198,252)] = {64,0}, + [I(199,252)] = {64,0}, + [I(200,252)] = {64,0}, + [I(201,252)] = {64,0}, + [I(202,252)] = {64,0}, + [I(203,252)] = {64,0}, + [I(204,252)] = {64,0}, + [I(205,252)] = {64,0}, + [I(206,252)] = {64,0}, + [I(207,252)] = {64,0}, + [I(208,252)] = {64,0}, + [I(209,252)] = {64,0}, + [I(210,252)] = {64,0}, + [I(211,252)] = {64,0}, + [I(212,252)] = {64,0}, + [I(213,252)] = {64,0}, + [I(214,252)] = {64,0}, + [I(215,252)] = {64,0}, + [I(216,252)] = {64,0}, + [I(217,252)] = {64,0}, + [I(218,252)] = {64,0}, + [I(219,252)] = {64,0}, + [I(220,252)] = {64,0}, + [I(221,252)] = {64,0}, + [I(222,252)] = {64,0}, + [I(223,252)] = {64,0}, + [I(224,252)] = {64,0}, + [I(225,252)] = {64,0}, + [I(226,252)] = {64,0}, + [I(227,252)] = {64,0}, + [I(228,252)] = {64,0}, + [I(229,252)] = {64,0}, + [I(230,252)] = {64,0}, + [I(231,252)] = {64,0}, + [I(232,252)] = {64,0}, + [I(233,252)] = {64,0}, + [I(234,252)] = {64,0}, + [I(235,252)] = {64,0}, + [I(236,252)] = {64,0}, + [I(237,252)] = {64,0}, + [I(238,252)] = {64,0}, + [I(239,252)] = {64,0}, + [I(240,252)] = {64,0}, + [I(241,252)] = {64,0}, + [I(242,252)] = {64,0}, + [I(243,252)] = {64,0}, + [I(244,252)] = {64,0}, + [I(245,252)] = {64,0}, + [I(246,252)] = {64,0}, + [I(247,252)] = {64,0}, + [I(248,252)] = {64,0}, + [I(249,252)] = {64,0}, + [I(250,252)] = {64,0}, + [I(251,252)] = {64,0}, + [I(252,252)] = {64,0}, + [I(253,252)] = {64,0}, + [I(254,252)] = {64,0}, + [I(255,252)] = {64,0}, + [I(0,253)] = {64,0}, + [I(1,253)] = {64,0}, + [I(2,253)] = {64,0}, + [I(3,253)] = {64,0}, + [I(4,253)] = {64,0}, + [I(5,253)] = {64,0}, + [I(6,253)] = {64,0}, + [I(7,253)] = {64,0}, + [I(8,253)] = {64,0}, + [I(9,253)] = {64,0}, + [I(10,253)] = {64,0}, + [I(11,253)] = {64,0}, + [I(12,253)] = {64,0}, + [I(13,253)] = {64,0}, + [I(14,253)] = {64,0}, + [I(15,253)] = {64,0}, + [I(16,253)] = {64,0}, + [I(17,253)] = {64,0}, + [I(18,253)] = {64,0}, + [I(19,253)] = {64,0}, + [I(20,253)] = {64,0}, + [I(21,253)] = {64,0}, + [I(22,253)] = {64,0}, + [I(23,253)] = {64,0}, + [I(24,253)] = {64,0}, + [I(25,253)] = {64,0}, + [I(26,253)] = {64,0}, + [I(27,253)] = {64,0}, + [I(28,253)] = {64,0}, + [I(29,253)] = {64,0}, + [I(30,253)] = {64,0}, + [I(31,253)] = {64,0}, + [I(32,253)] = {64,0}, + [I(33,253)] = {64,0}, + [I(34,253)] = {64,0}, + [I(35,253)] = {64,0}, + [I(36,253)] = {64,0}, + [I(37,253)] = {64,0}, + [I(38,253)] = {64,0}, + [I(39,253)] = {64,0}, + [I(40,253)] = {64,0}, + [I(41,253)] = {64,0}, + [I(42,253)] = {64,0}, + [I(43,253)] = {64,0}, + [I(44,253)] = {64,0}, + [I(45,253)] = {64,0}, + [I(46,253)] = {64,0}, + [I(47,253)] = {64,0}, + [I(48,253)] = {X32,0x7FFFFEF}, + [I(49,253)] = {X32,0xFFFFFEF}, + [I(50,253)] = {X32,0x17FFFFEF}, + [I(51,253)] = {64,0}, + [I(52,253)] = {64,0}, + [I(53,253)] = {64,0}, + [I(54,253)] = {64,0}, + [I(55,253)] = {64,0}, + [I(56,253)] = {64,0}, + [I(57,253)] = {64,0}, + [I(58,253)] = {64,0}, + [I(59,253)] = {64,0}, + [I(60,253)] = {64,0}, + [I(61,253)] = {64,0}, + [I(62,253)] = {64,0}, + [I(63,253)] = {64,0}, + [I(64,253)] = {64,0}, + [I(65,253)] = {64,0}, + [I(66,253)] = {64,0}, + [I(67,253)] = {64,0}, + [I(68,253)] = {64,0}, + [I(69,253)] = {64,0}, + [I(70,253)] = {64,0}, + [I(71,253)] = {64,0}, + [I(72,253)] = {64,0}, + [I(73,253)] = {64,0}, + [I(74,253)] = {64,0}, + [I(75,253)] = {64,0}, + [I(76,253)] = {64,0}, + [I(77,253)] = {64,0}, + [I(78,253)] = {64,0}, + [I(79,253)] = {64,0}, + [I(80,253)] = {64,0}, + [I(81,253)] = {64,0}, + [I(82,253)] = {64,0}, + [I(83,253)] = {64,0}, + [I(84,253)] = {64,0}, + [I(85,253)] = {64,0}, + [I(86,253)] = {64,0}, + [I(87,253)] = {64,0}, + [I(88,253)] = {64,0}, + [I(89,253)] = {64,0}, + [I(90,253)] = {64,0}, + [I(91,253)] = {64,0}, + [I(92,253)] = {64,0}, + [I(93,253)] = {64,0}, + [I(94,253)] = {64,0}, + [I(95,253)] = {64,0}, + [I(96,253)] = {64,0}, + [I(97,253)] = {X32,0x1FFFFFEF}, + [I(98,253)] = {64,0}, + [I(99,253)] = {X32,0x27FFFFEF}, + [I(100,253)] = {64,0}, + [I(101,253)] = {X32,0x2FFFFFEF}, + [I(102,253)] = {64,0}, + [I(103,253)] = {64,0}, + [I(104,253)] = {64,0}, + [I(105,253)] = {X32,0x37FFFFEF}, + [I(106,253)] = {64,0}, + [I(107,253)] = {64,0}, + [I(108,253)] = {64,0}, + [I(109,253)] = {64,0}, + [I(110,253)] = {64,0}, + [I(111,253)] = {X32,0x3FFFFFEF}, + [I(112,253)] = {64,0}, + [I(113,253)] = {64,0}, + [I(114,253)] = {64,0}, + [I(115,253)] = {X32,0x47FFFFEF}, + [I(116,253)] = {X32,0x4FFFFFEF}, + [I(117,253)] = {64,0}, + [I(118,253)] = {64,0}, + [I(119,253)] = {64,0}, + [I(120,253)] = {64,0}, + [I(121,253)] = {64,0}, + [I(122,253)] = {64,0}, + [I(123,253)] = {64,0}, + [I(124,253)] = {64,0}, + [I(125,253)] = {64,0}, + [I(126,253)] = {64,0}, + [I(127,253)] = {64,0}, + [I(128,253)] = {64,0}, + [I(129,253)] = {64,0}, + [I(130,253)] = {64,0}, + [I(131,253)] = {64,0}, + [I(132,253)] = {64,0}, + [I(133,253)] = {64,0}, + [I(134,253)] = {64,0}, + [I(135,253)] = {64,0}, + [I(136,253)] = {64,0}, + [I(137,253)] = {64,0}, + [I(138,253)] = {64,0}, + [I(139,253)] = {64,0}, + [I(140,253)] = {64,0}, + [I(141,253)] = {64,0}, + [I(142,253)] = {64,0}, + [I(143,253)] = {64,0}, + [I(144,253)] = {64,0}, + [I(145,253)] = {64,0}, + [I(146,253)] = {64,0}, + [I(147,253)] = {64,0}, + [I(148,253)] = {64,0}, + [I(149,253)] = {64,0}, + [I(150,253)] = {64,0}, + [I(151,253)] = {64,0}, + [I(152,253)] = {64,0}, + [I(153,253)] = {64,0}, + [I(154,253)] = {64,0}, + [I(155,253)] = {64,0}, + [I(156,253)] = {64,0}, + [I(157,253)] = {64,0}, + [I(158,253)] = {64,0}, + [I(159,253)] = {64,0}, + [I(160,253)] = {64,0}, + [I(161,253)] = {64,0}, + [I(162,253)] = {64,0}, + [I(163,253)] = {64,0}, + [I(164,253)] = {64,0}, + [I(165,253)] = {64,0}, + [I(166,253)] = {64,0}, + [I(167,253)] = {64,0}, + [I(168,253)] = {64,0}, + [I(169,253)] = {64,0}, + [I(170,253)] = {64,0}, + [I(171,253)] = {64,0}, + [I(172,253)] = {64,0}, + [I(173,253)] = {64,0}, + [I(174,253)] = {64,0}, + [I(175,253)] = {64,0}, + [I(176,253)] = {64,0}, + [I(177,253)] = {64,0}, + [I(178,253)] = {64,0}, + [I(179,253)] = {64,0}, + [I(180,253)] = {64,0}, + [I(181,253)] = {64,0}, + [I(182,253)] = {64,0}, + [I(183,253)] = {64,0}, + [I(184,253)] = {64,0}, + [I(185,253)] = {64,0}, + [I(186,253)] = {64,0}, + [I(187,253)] = {64,0}, + [I(188,253)] = {64,0}, + [I(189,253)] = {64,0}, + [I(190,253)] = {64,0}, + [I(191,253)] = {64,0}, + [I(192,253)] = {64,0}, + [I(193,253)] = {64,0}, + [I(194,253)] = {64,0}, + [I(195,253)] = {64,0}, + [I(196,253)] = {64,0}, + [I(197,253)] = {64,0}, + [I(198,253)] = {64,0}, + [I(199,253)] = {64,0}, + [I(200,253)] = {64,0}, + [I(201,253)] = {64,0}, + [I(202,253)] = {64,0}, + [I(203,253)] = {64,0}, + [I(204,253)] = {64,0}, + [I(205,253)] = {64,0}, + [I(206,253)] = {64,0}, + [I(207,253)] = {64,0}, + [I(208,253)] = {64,0}, + [I(209,253)] = {64,0}, + [I(210,253)] = {64,0}, + [I(211,253)] = {64,0}, + [I(212,253)] = {64,0}, + [I(213,253)] = {64,0}, + [I(214,253)] = {64,0}, + [I(215,253)] = {64,0}, + [I(216,253)] = {64,0}, + [I(217,253)] = {64,0}, + [I(218,253)] = {64,0}, + [I(219,253)] = {64,0}, + [I(220,253)] = {64,0}, + [I(221,253)] = {64,0}, + [I(222,253)] = {64,0}, + [I(223,253)] = {64,0}, + [I(224,253)] = {64,0}, + [I(225,253)] = {64,0}, + [I(226,253)] = {64,0}, + [I(227,253)] = {64,0}, + [I(228,253)] = {64,0}, + [I(229,253)] = {64,0}, + [I(230,253)] = {64,0}, + [I(231,253)] = {64,0}, + [I(232,253)] = {64,0}, + [I(233,253)] = {64,0}, + [I(234,253)] = {64,0}, + [I(235,253)] = {64,0}, + [I(236,253)] = {64,0}, + [I(237,253)] = {64,0}, + [I(238,253)] = {64,0}, + [I(239,253)] = {64,0}, + [I(240,253)] = {64,0}, + [I(241,253)] = {64,0}, + [I(242,253)] = {64,0}, + [I(243,253)] = {64,0}, + [I(244,253)] = {64,0}, + [I(245,253)] = {64,0}, + [I(246,253)] = {64,0}, + [I(247,253)] = {64,0}, + [I(248,253)] = {64,0}, + [I(249,253)] = {64,0}, + [I(250,253)] = {64,0}, + [I(251,253)] = {64,0}, + [I(252,253)] = {64,0}, + [I(253,253)] = {64,0}, + [I(254,253)] = {64,0}, + [I(255,253)] = {64,0}, + [I(0,254)] = {64,0}, + [I(1,254)] = {64,0}, + [I(2,254)] = {64,0}, + [I(3,254)] = {64,0}, + [I(4,254)] = {64,0}, + [I(5,254)] = {64,0}, + [I(6,254)] = {64,0}, + [I(7,254)] = {64,0}, + [I(8,254)] = {64,0}, + [I(9,254)] = {64,0}, + [I(10,254)] = {64,0}, + [I(11,254)] = {64,0}, + [I(12,254)] = {64,0}, + [I(13,254)] = {64,0}, + [I(14,254)] = {64,0}, + [I(15,254)] = {64,0}, + [I(16,254)] = {64,0}, + [I(17,254)] = {64,0}, + [I(18,254)] = {64,0}, + [I(19,254)] = {64,0}, + [I(20,254)] = {64,0}, + [I(21,254)] = {64,0}, + [I(22,254)] = {64,0}, + [I(23,254)] = {64,0}, + [I(24,254)] = {64,0}, + [I(25,254)] = {64,0}, + [I(26,254)] = {64,0}, + [I(27,254)] = {64,0}, + [I(28,254)] = {64,0}, + [I(29,254)] = {64,0}, + [I(30,254)] = {64,0}, + [I(31,254)] = {64,0}, + [I(32,254)] = {64,0}, + [I(33,254)] = {64,0}, + [I(34,254)] = {64,0}, + [I(35,254)] = {64,0}, + [I(36,254)] = {64,0}, + [I(37,254)] = {64,0}, + [I(38,254)] = {64,0}, + [I(39,254)] = {64,0}, + [I(40,254)] = {64,0}, + [I(41,254)] = {64,0}, + [I(42,254)] = {64,0}, + [I(43,254)] = {64,0}, + [I(44,254)] = {64,0}, + [I(45,254)] = {64,0}, + [I(46,254)] = {64,0}, + [I(47,254)] = {64,0}, + [I(48,254)] = {X32,0x7FFFFF0}, + [I(49,254)] = {X32,0xFFFFFF0}, + [I(50,254)] = {X32,0x17FFFFF0}, + [I(51,254)] = {64,0}, + [I(52,254)] = {64,0}, + [I(53,254)] = {64,0}, + [I(54,254)] = {64,0}, + [I(55,254)] = {64,0}, + [I(56,254)] = {64,0}, + [I(57,254)] = {64,0}, + [I(58,254)] = {64,0}, + [I(59,254)] = {64,0}, + [I(60,254)] = {64,0}, + [I(61,254)] = {64,0}, + [I(62,254)] = {64,0}, + [I(63,254)] = {64,0}, + [I(64,254)] = {64,0}, + [I(65,254)] = {64,0}, + [I(66,254)] = {64,0}, + [I(67,254)] = {64,0}, + [I(68,254)] = {64,0}, + [I(69,254)] = {64,0}, + [I(70,254)] = {64,0}, + [I(71,254)] = {64,0}, + [I(72,254)] = {64,0}, + [I(73,254)] = {64,0}, + [I(74,254)] = {64,0}, + [I(75,254)] = {64,0}, + [I(76,254)] = {64,0}, + [I(77,254)] = {64,0}, + [I(78,254)] = {64,0}, + [I(79,254)] = {64,0}, + [I(80,254)] = {64,0}, + [I(81,254)] = {64,0}, + [I(82,254)] = {64,0}, + [I(83,254)] = {64,0}, + [I(84,254)] = {64,0}, + [I(85,254)] = {64,0}, + [I(86,254)] = {64,0}, + [I(87,254)] = {64,0}, + [I(88,254)] = {64,0}, + [I(89,254)] = {64,0}, + [I(90,254)] = {64,0}, + [I(91,254)] = {64,0}, + [I(92,254)] = {64,0}, + [I(93,254)] = {64,0}, + [I(94,254)] = {64,0}, + [I(95,254)] = {64,0}, + [I(96,254)] = {64,0}, + [I(97,254)] = {X32,0x1FFFFFF0}, + [I(98,254)] = {64,0}, + [I(99,254)] = {X32,0x27FFFFF0}, + [I(100,254)] = {64,0}, + [I(101,254)] = {X32,0x2FFFFFF0}, + [I(102,254)] = {64,0}, + [I(103,254)] = {64,0}, + [I(104,254)] = {64,0}, + [I(105,254)] = {X32,0x37FFFFF0}, + [I(106,254)] = {64,0}, + [I(107,254)] = {64,0}, + [I(108,254)] = {64,0}, + [I(109,254)] = {64,0}, + [I(110,254)] = {64,0}, + [I(111,254)] = {X32,0x3FFFFFF0}, + [I(112,254)] = {64,0}, + [I(113,254)] = {64,0}, + [I(114,254)] = {64,0}, + [I(115,254)] = {X32,0x47FFFFF0}, + [I(116,254)] = {X32,0x4FFFFFF0}, + [I(117,254)] = {64,0}, + [I(118,254)] = {64,0}, + [I(119,254)] = {64,0}, + [I(120,254)] = {64,0}, + [I(121,254)] = {64,0}, + [I(122,254)] = {64,0}, + [I(123,254)] = {64,0}, + [I(124,254)] = {64,0}, + [I(125,254)] = {64,0}, + [I(126,254)] = {64,0}, + [I(127,254)] = {64,0}, + [I(128,254)] = {64,0}, + [I(129,254)] = {64,0}, + [I(130,254)] = {64,0}, + [I(131,254)] = {64,0}, + [I(132,254)] = {64,0}, + [I(133,254)] = {64,0}, + [I(134,254)] = {64,0}, + [I(135,254)] = {64,0}, + [I(136,254)] = {64,0}, + [I(137,254)] = {64,0}, + [I(138,254)] = {64,0}, + [I(139,254)] = {64,0}, + [I(140,254)] = {64,0}, + [I(141,254)] = {64,0}, + [I(142,254)] = {64,0}, + [I(143,254)] = {64,0}, + [I(144,254)] = {64,0}, + [I(145,254)] = {64,0}, + [I(146,254)] = {64,0}, + [I(147,254)] = {64,0}, + [I(148,254)] = {64,0}, + [I(149,254)] = {64,0}, + [I(150,254)] = {64,0}, + [I(151,254)] = {64,0}, + [I(152,254)] = {64,0}, + [I(153,254)] = {64,0}, + [I(154,254)] = {64,0}, + [I(155,254)] = {64,0}, + [I(156,254)] = {64,0}, + [I(157,254)] = {64,0}, + [I(158,254)] = {64,0}, + [I(159,254)] = {64,0}, + [I(160,254)] = {64,0}, + [I(161,254)] = {64,0}, + [I(162,254)] = {64,0}, + [I(163,254)] = {64,0}, + [I(164,254)] = {64,0}, + [I(165,254)] = {64,0}, + [I(166,254)] = {64,0}, + [I(167,254)] = {64,0}, + [I(168,254)] = {64,0}, + [I(169,254)] = {64,0}, + [I(170,254)] = {64,0}, + [I(171,254)] = {64,0}, + [I(172,254)] = {64,0}, + [I(173,254)] = {64,0}, + [I(174,254)] = {64,0}, + [I(175,254)] = {64,0}, + [I(176,254)] = {64,0}, + [I(177,254)] = {64,0}, + [I(178,254)] = {64,0}, + [I(179,254)] = {64,0}, + [I(180,254)] = {64,0}, + [I(181,254)] = {64,0}, + [I(182,254)] = {64,0}, + [I(183,254)] = {64,0}, + [I(184,254)] = {64,0}, + [I(185,254)] = {64,0}, + [I(186,254)] = {64,0}, + [I(187,254)] = {64,0}, + [I(188,254)] = {64,0}, + [I(189,254)] = {64,0}, + [I(190,254)] = {64,0}, + [I(191,254)] = {64,0}, + [I(192,254)] = {64,0}, + [I(193,254)] = {64,0}, + [I(194,254)] = {64,0}, + [I(195,254)] = {64,0}, + [I(196,254)] = {64,0}, + [I(197,254)] = {64,0}, + [I(198,254)] = {64,0}, + [I(199,254)] = {64,0}, + [I(200,254)] = {64,0}, + [I(201,254)] = {64,0}, + [I(202,254)] = {64,0}, + [I(203,254)] = {64,0}, + [I(204,254)] = {64,0}, + [I(205,254)] = {64,0}, + [I(206,254)] = {64,0}, + [I(207,254)] = {64,0}, + [I(208,254)] = {64,0}, + [I(209,254)] = {64,0}, + [I(210,254)] = {64,0}, + [I(211,254)] = {64,0}, + [I(212,254)] = {64,0}, + [I(213,254)] = {64,0}, + [I(214,254)] = {64,0}, + [I(215,254)] = {64,0}, + [I(216,254)] = {64,0}, + [I(217,254)] = {64,0}, + [I(218,254)] = {64,0}, + [I(219,254)] = {64,0}, + [I(220,254)] = {64,0}, + [I(221,254)] = {64,0}, + [I(222,254)] = {64,0}, + [I(223,254)] = {64,0}, + [I(224,254)] = {64,0}, + [I(225,254)] = {64,0}, + [I(226,254)] = {64,0}, + [I(227,254)] = {64,0}, + [I(228,254)] = {64,0}, + [I(229,254)] = {64,0}, + [I(230,254)] = {64,0}, + [I(231,254)] = {64,0}, + [I(232,254)] = {64,0}, + [I(233,254)] = {64,0}, + [I(234,254)] = {64,0}, + [I(235,254)] = {64,0}, + [I(236,254)] = {64,0}, + [I(237,254)] = {64,0}, + [I(238,254)] = {64,0}, + [I(239,254)] = {64,0}, + [I(240,254)] = {64,0}, + [I(241,254)] = {64,0}, + [I(242,254)] = {64,0}, + [I(243,254)] = {64,0}, + [I(244,254)] = {64,0}, + [I(245,254)] = {64,0}, + [I(246,254)] = {64,0}, + [I(247,254)] = {64,0}, + [I(248,254)] = {64,0}, + [I(249,254)] = {64,0}, + [I(250,254)] = {64,0}, + [I(251,254)] = {64,0}, + [I(252,254)] = {64,0}, + [I(253,254)] = {64,0}, + [I(254,254)] = {64,0}, + [I(255,254)] = {64,0}, + [I(0,255)] = {64,0}, + [I(1,255)] = {64,0}, + [I(2,255)] = {64,0}, + [I(3,255)] = {64,0}, + [I(4,255)] = {64,0}, + [I(5,255)] = {64,0}, + [I(6,255)] = {64,0}, + [I(7,255)] = {64,0}, + [I(8,255)] = {64,0}, + [I(9,255)] = {64,0}, + [I(10,255)] = {64,0}, + [I(11,255)] = {64,0}, + [I(12,255)] = {64,0}, + [I(13,255)] = {64,0}, + [I(14,255)] = {64,0}, + [I(15,255)] = {64,0}, + [I(16,255)] = {64,0}, + [I(17,255)] = {64,0}, + [I(18,255)] = {64,0}, + [I(19,255)] = {64,0}, + [I(20,255)] = {64,0}, + [I(21,255)] = {64,0}, + [I(22,255)] = {64,0}, + [I(23,255)] = {64,0}, + [I(24,255)] = {64,0}, + [I(25,255)] = {64,0}, + [I(26,255)] = {64,0}, + [I(27,255)] = {64,0}, + [I(28,255)] = {64,0}, + [I(29,255)] = {64,0}, + [I(30,255)] = {64,0}, + [I(31,255)] = {64,0}, + [I(32,255)] = {X32,0x53FFFFEE}, + [I(33,255)] = {64,0}, + [I(34,255)] = {64,0}, + [I(35,255)] = {64,0}, + [I(36,255)] = {64,0}, + [I(37,255)] = {X32,0x57FFFFEE}, + [I(38,255)] = {64,0}, + [I(39,255)] = {64,0}, + [I(40,255)] = {64,0}, + [I(41,255)] = {64,0}, + [I(42,255)] = {64,0}, + [I(43,255)] = {64,0}, + [I(44,255)] = {64,0}, + [I(45,255)] = {X32,0x5BFFFFEE}, + [I(46,255)] = {X32,0x5FFFFFEE}, + [I(47,255)] = {X32,0x63FFFFEE}, + [I(48,255)] = {31,0x3FFFFEE}, + [I(49,255)] = {31,0x7FFFFEE}, + [I(50,255)] = {31,0xBFFFFEE}, + [I(51,255)] = {X32,0x67FFFFEE}, + [I(52,255)] = {X32,0x6BFFFFEE}, + [I(53,255)] = {X32,0x6FFFFFEE}, + [I(54,255)] = {X32,0x73FFFFEE}, + [I(55,255)] = {X32,0x77FFFFEE}, + [I(56,255)] = {X32,0x7BFFFFEE}, + [I(57,255)] = {X32,0x7FFFFFEE}, + [I(58,255)] = {64,0}, + [I(59,255)] = {64,0}, + [I(60,255)] = {64,0}, + [I(61,255)] = {X32,0x83FFFFEE}, + [I(62,255)] = {64,0}, + [I(63,255)] = {64,0}, + [I(64,255)] = {64,0}, + [I(65,255)] = {X32,0x87FFFFEE}, + [I(66,255)] = {64,0}, + [I(67,255)] = {64,0}, + [I(68,255)] = {64,0}, + [I(69,255)] = {64,0}, + [I(70,255)] = {64,0}, + [I(71,255)] = {64,0}, + [I(72,255)] = {64,0}, + [I(73,255)] = {64,0}, + [I(74,255)] = {64,0}, + [I(75,255)] = {64,0}, + [I(76,255)] = {64,0}, + [I(77,255)] = {64,0}, + [I(78,255)] = {64,0}, + [I(79,255)] = {64,0}, + [I(80,255)] = {64,0}, + [I(81,255)] = {64,0}, + [I(82,255)] = {64,0}, + [I(83,255)] = {64,0}, + [I(84,255)] = {64,0}, + [I(85,255)] = {64,0}, + [I(86,255)] = {64,0}, + [I(87,255)] = {64,0}, + [I(88,255)] = {64,0}, + [I(89,255)] = {64,0}, + [I(90,255)] = {64,0}, + [I(91,255)] = {64,0}, + [I(92,255)] = {64,0}, + [I(93,255)] = {64,0}, + [I(94,255)] = {64,0}, + [I(95,255)] = {X32,0x8BFFFFEE}, + [I(96,255)] = {64,0}, + [I(97,255)] = {31,0xFFFFFEE}, + [I(98,255)] = {X32,0x8FFFFFEE}, + [I(99,255)] = {31,0x13FFFFEE}, + [I(100,255)] = {X32,0x93FFFFEE}, + [I(101,255)] = {31,0x17FFFFEE}, + [I(102,255)] = {X32,0x97FFFFEE}, + [I(103,255)] = {X32,0x9BFFFFEE}, + [I(104,255)] = {X32,0x9FFFFFEE}, + [I(105,255)] = {31,0x1BFFFFEE}, + [I(106,255)] = {64,0}, + [I(107,255)] = {64,0}, + [I(108,255)] = {X32,0xA3FFFFEE}, + [I(109,255)] = {X32,0xA7FFFFEE}, + [I(110,255)] = {X32,0xABFFFFEE}, + [I(111,255)] = {31,0x1FFFFFEE}, + [I(112,255)] = {X32,0xAFFFFFEE}, + [I(113,255)] = {64,0}, + [I(114,255)] = {X32,0xB3FFFFEE}, + [I(115,255)] = {31,0x23FFFFEE}, + [I(116,255)] = {31,0x27FFFFEE}, + [I(117,255)] = {X32,0xB7FFFFEE}, + [I(118,255)] = {64,0}, + [I(119,255)] = {64,0}, + [I(120,255)] = {64,0}, + [I(121,255)] = {64,0}, + [I(122,255)] = {64,0}, + [I(123,255)] = {64,0}, + [I(124,255)] = {64,0}, + [I(125,255)] = {64,0}, + [I(126,255)] = {64,0}, + [I(127,255)] = {64,0}, + [I(128,255)] = {64,0}, + [I(129,255)] = {64,0}, + [I(130,255)] = {64,0}, + [I(131,255)] = {64,0}, + [I(132,255)] = {64,0}, + [I(133,255)] = {64,0}, + [I(134,255)] = {64,0}, + [I(135,255)] = {64,0}, + [I(136,255)] = {64,0}, + [I(137,255)] = {64,0}, + [I(138,255)] = {64,0}, + [I(139,255)] = {64,0}, + [I(140,255)] = {64,0}, + [I(141,255)] = {64,0}, + [I(142,255)] = {64,0}, + [I(143,255)] = {64,0}, + [I(144,255)] = {64,0}, + [I(145,255)] = {64,0}, + [I(146,255)] = {64,0}, + [I(147,255)] = {64,0}, + [I(148,255)] = {64,0}, + [I(149,255)] = {64,0}, + [I(150,255)] = {64,0}, + [I(151,255)] = {64,0}, + [I(152,255)] = {64,0}, + [I(153,255)] = {64,0}, + [I(154,255)] = {64,0}, + [I(155,255)] = {64,0}, + [I(156,255)] = {64,0}, + [I(157,255)] = {64,0}, + [I(158,255)] = {64,0}, + [I(159,255)] = {64,0}, + [I(160,255)] = {64,0}, + [I(161,255)] = {64,0}, + [I(162,255)] = {64,0}, + [I(163,255)] = {64,0}, + [I(164,255)] = {64,0}, + [I(165,255)] = {64,0}, + [I(166,255)] = {64,0}, + [I(167,255)] = {64,0}, + [I(168,255)] = {64,0}, + [I(169,255)] = {64,0}, + [I(170,255)] = {64,0}, + [I(171,255)] = {64,0}, + [I(172,255)] = {64,0}, + [I(173,255)] = {64,0}, + [I(174,255)] = {64,0}, + [I(175,255)] = {64,0}, + [I(176,255)] = {64,0}, + [I(177,255)] = {64,0}, + [I(178,255)] = {64,0}, + [I(179,255)] = {64,0}, + [I(180,255)] = {64,0}, + [I(181,255)] = {64,0}, + [I(182,255)] = {64,0}, + [I(183,255)] = {64,0}, + [I(184,255)] = {64,0}, + [I(185,255)] = {64,0}, + [I(186,255)] = {64,0}, + [I(187,255)] = {64,0}, + [I(188,255)] = {64,0}, + [I(189,255)] = {64,0}, + [I(190,255)] = {64,0}, + [I(191,255)] = {64,0}, + [I(192,255)] = {64,0}, + [I(193,255)] = {64,0}, + [I(194,255)] = {64,0}, + [I(195,255)] = {64,0}, + [I(196,255)] = {64,0}, + [I(197,255)] = {64,0}, + [I(198,255)] = {64,0}, + [I(199,255)] = {64,0}, + [I(200,255)] = {64,0}, + [I(201,255)] = {64,0}, + [I(202,255)] = {64,0}, + [I(203,255)] = {64,0}, + [I(204,255)] = {64,0}, + [I(205,255)] = {64,0}, + [I(206,255)] = {64,0}, + [I(207,255)] = {64,0}, + [I(208,255)] = {64,0}, + [I(209,255)] = {64,0}, + [I(210,255)] = {64,0}, + [I(211,255)] = {64,0}, + [I(212,255)] = {64,0}, + [I(213,255)] = {64,0}, + [I(214,255)] = {64,0}, + [I(215,255)] = {64,0}, + [I(216,255)] = {64,0}, + [I(217,255)] = {64,0}, + [I(218,255)] = {64,0}, + [I(219,255)] = {64,0}, + [I(220,255)] = {64,0}, + [I(221,255)] = {64,0}, + [I(222,255)] = {64,0}, + [I(223,255)] = {64,0}, + [I(224,255)] = {64,0}, + [I(225,255)] = {64,0}, + [I(226,255)] = {64,0}, + [I(227,255)] = {64,0}, + [I(228,255)] = {64,0}, + [I(229,255)] = {64,0}, + [I(230,255)] = {64,0}, + [I(231,255)] = {64,0}, + [I(232,255)] = {64,0}, + [I(233,255)] = {64,0}, + [I(234,255)] = {64,0}, + [I(235,255)] = {64,0}, + [I(236,255)] = {64,0}, + [I(237,255)] = {64,0}, + [I(238,255)] = {64,0}, + [I(239,255)] = {64,0}, + [I(240,255)] = {64,0}, + [I(241,255)] = {64,0}, + [I(242,255)] = {64,0}, + [I(243,255)] = {64,0}, + [I(244,255)] = {64,0}, + [I(245,255)] = {64,0}, + [I(246,255)] = {64,0}, + [I(247,255)] = {64,0}, + [I(248,255)] = {64,0}, + [I(249,255)] = {64,0}, + [I(250,255)] = {64,0}, + [I(251,255)] = {64,0}, + [I(252,255)] = {64,0}, + [I(253,255)] = {64,0}, + [I(254,255)] = {64,0}, + [I(255,255)] = {64,0}, +}; +#undef X32 +#undef I + +static const struct hdec { uint8_t lens; uint8_t out[3]; } hdecs[] = +{ +/* + ,------------- Number of bits consumed by the index + | ,------ Number of bytes in output; 0 means long or invalid code + | | ,--- Output, aligned to the left + V V V */ +/* 0 */ {(15<<2)|3,{48,48,48}}, +/* 1 */ {(15<<2)|3,{48,48,48}}, +/* 2 */ {(15<<2)|3,{48,48,49}}, +/* 3 */ {(15<<2)|3,{48,48,49}}, +/* 4 */ {(15<<2)|3,{48,48,50}}, +/* 5 */ {(15<<2)|3,{48,48,50}}, +/* 6 */ {(15<<2)|3,{48,48,97}}, +/* 7 */ {(15<<2)|3,{48,48,97}}, +/* 8 */ {(15<<2)|3,{48,48,99}}, +/* 9 */ {(15<<2)|3,{48,48,99}}, +/* 10 */ {(15<<2)|3,{48,48,101}}, +/* 11 */ {(15<<2)|3,{48,48,101}}, +/* 12 */ {(15<<2)|3,{48,48,105}}, +/* 13 */ {(15<<2)|3,{48,48,105}}, +/* 14 */ {(15<<2)|3,{48,48,111}}, +/* 15 */ {(15<<2)|3,{48,48,111}}, +/* 16 */ {(15<<2)|3,{48,48,115}}, +/* 17 */ {(15<<2)|3,{48,48,115}}, +/* 18 */ {(15<<2)|3,{48,48,116}}, +/* 19 */ {(15<<2)|3,{48,48,116}}, +/* 20 */ {(16<<2)|3,{48,48,32}}, +/* 21 */ {(16<<2)|3,{48,48,37}}, +/* 22 */ {(16<<2)|3,{48,48,45}}, +/* 23 */ {(16<<2)|3,{48,48,46}}, +/* 24 */ {(16<<2)|3,{48,48,47}}, +/* 25 */ {(16<<2)|3,{48,48,51}}, +/* 26 */ {(16<<2)|3,{48,48,52}}, +/* 27 */ {(16<<2)|3,{48,48,53}}, +/* 28 */ {(16<<2)|3,{48,48,54}}, +/* 29 */ {(16<<2)|3,{48,48,55}}, +/* 30 */ {(16<<2)|3,{48,48,56}}, +/* 31 */ {(16<<2)|3,{48,48,57}}, +/* 32 */ {(16<<2)|3,{48,48,61}}, +/* 33 */ {(16<<2)|3,{48,48,65}}, +/* 34 */ {(16<<2)|3,{48,48,95}}, +/* 35 */ {(16<<2)|3,{48,48,98}}, +/* 36 */ {(16<<2)|3,{48,48,100}}, +/* 37 */ {(16<<2)|3,{48,48,102}}, +/* 38 */ {(16<<2)|3,{48,48,103}}, +/* 39 */ {(16<<2)|3,{48,48,104}}, +/* 40 */ {(16<<2)|3,{48,48,108}}, +/* 41 */ {(16<<2)|3,{48,48,109}}, +/* 42 */ {(16<<2)|3,{48,48,110}}, +/* 43 */ {(16<<2)|3,{48,48,112}}, +/* 44 */ {(16<<2)|3,{48,48,114}}, +/* 45 */ {(16<<2)|3,{48,48,117}}, +/* 46 */ {(10<<2)|2,{48,48,0}}, +/* 47 */ {(10<<2)|2,{48,48,0}}, +/* 48 */ {(10<<2)|2,{48,48,0}}, +/* 49 */ {(10<<2)|2,{48,48,0}}, +/* 50 */ {(10<<2)|2,{48,48,0}}, +/* 51 */ {(10<<2)|2,{48,48,0}}, +/* 52 */ {(10<<2)|2,{48,48,0}}, +/* 53 */ {(10<<2)|2,{48,48,0}}, +/* 54 */ {(10<<2)|2,{48,48,0}}, +/* 55 */ {(10<<2)|2,{48,48,0}}, +/* 56 */ {(10<<2)|2,{48,48,0}}, +/* 57 */ {(10<<2)|2,{48,48,0}}, +/* 58 */ {(10<<2)|2,{48,48,0}}, +/* 59 */ {(10<<2)|2,{48,48,0}}, +/* 60 */ {(10<<2)|2,{48,48,0}}, +/* 61 */ {(10<<2)|2,{48,48,0}}, +/* 62 */ {(10<<2)|2,{48,48,0}}, +/* 63 */ {(10<<2)|2,{48,48,0}}, +/* 64 */ {(15<<2)|3,{48,49,48}}, +/* 65 */ {(15<<2)|3,{48,49,48}}, +/* 66 */ {(15<<2)|3,{48,49,49}}, +/* 67 */ {(15<<2)|3,{48,49,49}}, +/* 68 */ {(15<<2)|3,{48,49,50}}, +/* 69 */ {(15<<2)|3,{48,49,50}}, +/* 70 */ {(15<<2)|3,{48,49,97}}, +/* 71 */ {(15<<2)|3,{48,49,97}}, +/* 72 */ {(15<<2)|3,{48,49,99}}, +/* 73 */ {(15<<2)|3,{48,49,99}}, +/* 74 */ {(15<<2)|3,{48,49,101}}, +/* 75 */ {(15<<2)|3,{48,49,101}}, +/* 76 */ {(15<<2)|3,{48,49,105}}, +/* 77 */ {(15<<2)|3,{48,49,105}}, +/* 78 */ {(15<<2)|3,{48,49,111}}, +/* 79 */ {(15<<2)|3,{48,49,111}}, +/* 80 */ {(15<<2)|3,{48,49,115}}, +/* 81 */ {(15<<2)|3,{48,49,115}}, +/* 82 */ {(15<<2)|3,{48,49,116}}, +/* 83 */ {(15<<2)|3,{48,49,116}}, +/* 84 */ {(16<<2)|3,{48,49,32}}, +/* 85 */ {(16<<2)|3,{48,49,37}}, +/* 86 */ {(16<<2)|3,{48,49,45}}, +/* 87 */ {(16<<2)|3,{48,49,46}}, +/* 88 */ {(16<<2)|3,{48,49,47}}, +/* 89 */ {(16<<2)|3,{48,49,51}}, +/* 90 */ {(16<<2)|3,{48,49,52}}, +/* 91 */ {(16<<2)|3,{48,49,53}}, +/* 92 */ {(16<<2)|3,{48,49,54}}, +/* 93 */ {(16<<2)|3,{48,49,55}}, +/* 94 */ {(16<<2)|3,{48,49,56}}, +/* 95 */ {(16<<2)|3,{48,49,57}}, +/* 96 */ {(16<<2)|3,{48,49,61}}, +/* 97 */ {(16<<2)|3,{48,49,65}}, +/* 98 */ {(16<<2)|3,{48,49,95}}, +/* 99 */ {(16<<2)|3,{48,49,98}}, +/* 100 */ {(16<<2)|3,{48,49,100}}, +/* 101 */ {(16<<2)|3,{48,49,102}}, +/* 102 */ {(16<<2)|3,{48,49,103}}, +/* 103 */ {(16<<2)|3,{48,49,104}}, +/* 104 */ {(16<<2)|3,{48,49,108}}, +/* 105 */ {(16<<2)|3,{48,49,109}}, +/* 106 */ {(16<<2)|3,{48,49,110}}, +/* 107 */ {(16<<2)|3,{48,49,112}}, +/* 108 */ {(16<<2)|3,{48,49,114}}, +/* 109 */ {(16<<2)|3,{48,49,117}}, +/* 110 */ {(10<<2)|2,{48,49,0}}, +/* 111 */ {(10<<2)|2,{48,49,0}}, +/* 112 */ {(10<<2)|2,{48,49,0}}, +/* 113 */ {(10<<2)|2,{48,49,0}}, +/* 114 */ {(10<<2)|2,{48,49,0}}, +/* 115 */ {(10<<2)|2,{48,49,0}}, +/* 116 */ {(10<<2)|2,{48,49,0}}, +/* 117 */ {(10<<2)|2,{48,49,0}}, +/* 118 */ {(10<<2)|2,{48,49,0}}, +/* 119 */ {(10<<2)|2,{48,49,0}}, +/* 120 */ {(10<<2)|2,{48,49,0}}, +/* 121 */ {(10<<2)|2,{48,49,0}}, +/* 122 */ {(10<<2)|2,{48,49,0}}, +/* 123 */ {(10<<2)|2,{48,49,0}}, +/* 124 */ {(10<<2)|2,{48,49,0}}, +/* 125 */ {(10<<2)|2,{48,49,0}}, +/* 126 */ {(10<<2)|2,{48,49,0}}, +/* 127 */ {(10<<2)|2,{48,49,0}}, +/* 128 */ {(15<<2)|3,{48,50,48}}, +/* 129 */ {(15<<2)|3,{48,50,48}}, +/* 130 */ {(15<<2)|3,{48,50,49}}, +/* 131 */ {(15<<2)|3,{48,50,49}}, +/* 132 */ {(15<<2)|3,{48,50,50}}, +/* 133 */ {(15<<2)|3,{48,50,50}}, +/* 134 */ {(15<<2)|3,{48,50,97}}, +/* 135 */ {(15<<2)|3,{48,50,97}}, +/* 136 */ {(15<<2)|3,{48,50,99}}, +/* 137 */ {(15<<2)|3,{48,50,99}}, +/* 138 */ {(15<<2)|3,{48,50,101}}, +/* 139 */ {(15<<2)|3,{48,50,101}}, +/* 140 */ {(15<<2)|3,{48,50,105}}, +/* 141 */ {(15<<2)|3,{48,50,105}}, +/* 142 */ {(15<<2)|3,{48,50,111}}, +/* 143 */ {(15<<2)|3,{48,50,111}}, +/* 144 */ {(15<<2)|3,{48,50,115}}, +/* 145 */ {(15<<2)|3,{48,50,115}}, +/* 146 */ {(15<<2)|3,{48,50,116}}, +/* 147 */ {(15<<2)|3,{48,50,116}}, +/* 148 */ {(16<<2)|3,{48,50,32}}, +/* 149 */ {(16<<2)|3,{48,50,37}}, +/* 150 */ {(16<<2)|3,{48,50,45}}, +/* 151 */ {(16<<2)|3,{48,50,46}}, +/* 152 */ {(16<<2)|3,{48,50,47}}, +/* 153 */ {(16<<2)|3,{48,50,51}}, +/* 154 */ {(16<<2)|3,{48,50,52}}, +/* 155 */ {(16<<2)|3,{48,50,53}}, +/* 156 */ {(16<<2)|3,{48,50,54}}, +/* 157 */ {(16<<2)|3,{48,50,55}}, +/* 158 */ {(16<<2)|3,{48,50,56}}, +/* 159 */ {(16<<2)|3,{48,50,57}}, +/* 160 */ {(16<<2)|3,{48,50,61}}, +/* 161 */ {(16<<2)|3,{48,50,65}}, +/* 162 */ {(16<<2)|3,{48,50,95}}, +/* 163 */ {(16<<2)|3,{48,50,98}}, +/* 164 */ {(16<<2)|3,{48,50,100}}, +/* 165 */ {(16<<2)|3,{48,50,102}}, +/* 166 */ {(16<<2)|3,{48,50,103}}, +/* 167 */ {(16<<2)|3,{48,50,104}}, +/* 168 */ {(16<<2)|3,{48,50,108}}, +/* 169 */ {(16<<2)|3,{48,50,109}}, +/* 170 */ {(16<<2)|3,{48,50,110}}, +/* 171 */ {(16<<2)|3,{48,50,112}}, +/* 172 */ {(16<<2)|3,{48,50,114}}, +/* 173 */ {(16<<2)|3,{48,50,117}}, +/* 174 */ {(10<<2)|2,{48,50,0}}, +/* 175 */ {(10<<2)|2,{48,50,0}}, +/* 176 */ {(10<<2)|2,{48,50,0}}, +/* 177 */ {(10<<2)|2,{48,50,0}}, +/* 178 */ {(10<<2)|2,{48,50,0}}, +/* 179 */ {(10<<2)|2,{48,50,0}}, +/* 180 */ {(10<<2)|2,{48,50,0}}, +/* 181 */ {(10<<2)|2,{48,50,0}}, +/* 182 */ {(10<<2)|2,{48,50,0}}, +/* 183 */ {(10<<2)|2,{48,50,0}}, +/* 184 */ {(10<<2)|2,{48,50,0}}, +/* 185 */ {(10<<2)|2,{48,50,0}}, +/* 186 */ {(10<<2)|2,{48,50,0}}, +/* 187 */ {(10<<2)|2,{48,50,0}}, +/* 188 */ {(10<<2)|2,{48,50,0}}, +/* 189 */ {(10<<2)|2,{48,50,0}}, +/* 190 */ {(10<<2)|2,{48,50,0}}, +/* 191 */ {(10<<2)|2,{48,50,0}}, +/* 192 */ {(15<<2)|3,{48,97,48}}, +/* 193 */ {(15<<2)|3,{48,97,48}}, +/* 194 */ {(15<<2)|3,{48,97,49}}, +/* 195 */ {(15<<2)|3,{48,97,49}}, +/* 196 */ {(15<<2)|3,{48,97,50}}, +/* 197 */ {(15<<2)|3,{48,97,50}}, +/* 198 */ {(15<<2)|3,{48,97,97}}, +/* 199 */ {(15<<2)|3,{48,97,97}}, +/* 200 */ {(15<<2)|3,{48,97,99}}, +/* 201 */ {(15<<2)|3,{48,97,99}}, +/* 202 */ {(15<<2)|3,{48,97,101}}, +/* 203 */ {(15<<2)|3,{48,97,101}}, +/* 204 */ {(15<<2)|3,{48,97,105}}, +/* 205 */ {(15<<2)|3,{48,97,105}}, +/* 206 */ {(15<<2)|3,{48,97,111}}, +/* 207 */ {(15<<2)|3,{48,97,111}}, +/* 208 */ {(15<<2)|3,{48,97,115}}, +/* 209 */ {(15<<2)|3,{48,97,115}}, +/* 210 */ {(15<<2)|3,{48,97,116}}, +/* 211 */ {(15<<2)|3,{48,97,116}}, +/* 212 */ {(16<<2)|3,{48,97,32}}, +/* 213 */ {(16<<2)|3,{48,97,37}}, +/* 214 */ {(16<<2)|3,{48,97,45}}, +/* 215 */ {(16<<2)|3,{48,97,46}}, +/* 216 */ {(16<<2)|3,{48,97,47}}, +/* 217 */ {(16<<2)|3,{48,97,51}}, +/* 218 */ {(16<<2)|3,{48,97,52}}, +/* 219 */ {(16<<2)|3,{48,97,53}}, +/* 220 */ {(16<<2)|3,{48,97,54}}, +/* 221 */ {(16<<2)|3,{48,97,55}}, +/* 222 */ {(16<<2)|3,{48,97,56}}, +/* 223 */ {(16<<2)|3,{48,97,57}}, +/* 224 */ {(16<<2)|3,{48,97,61}}, +/* 225 */ {(16<<2)|3,{48,97,65}}, +/* 226 */ {(16<<2)|3,{48,97,95}}, +/* 227 */ {(16<<2)|3,{48,97,98}}, +/* 228 */ {(16<<2)|3,{48,97,100}}, +/* 229 */ {(16<<2)|3,{48,97,102}}, +/* 230 */ {(16<<2)|3,{48,97,103}}, +/* 231 */ {(16<<2)|3,{48,97,104}}, +/* 232 */ {(16<<2)|3,{48,97,108}}, +/* 233 */ {(16<<2)|3,{48,97,109}}, +/* 234 */ {(16<<2)|3,{48,97,110}}, +/* 235 */ {(16<<2)|3,{48,97,112}}, +/* 236 */ {(16<<2)|3,{48,97,114}}, +/* 237 */ {(16<<2)|3,{48,97,117}}, +/* 238 */ {(10<<2)|2,{48,97,0}}, +/* 239 */ {(10<<2)|2,{48,97,0}}, +/* 240 */ {(10<<2)|2,{48,97,0}}, +/* 241 */ {(10<<2)|2,{48,97,0}}, +/* 242 */ {(10<<2)|2,{48,97,0}}, +/* 243 */ {(10<<2)|2,{48,97,0}}, +/* 244 */ {(10<<2)|2,{48,97,0}}, +/* 245 */ {(10<<2)|2,{48,97,0}}, +/* 246 */ {(10<<2)|2,{48,97,0}}, +/* 247 */ {(10<<2)|2,{48,97,0}}, +/* 248 */ {(10<<2)|2,{48,97,0}}, +/* 249 */ {(10<<2)|2,{48,97,0}}, +/* 250 */ {(10<<2)|2,{48,97,0}}, +/* 251 */ {(10<<2)|2,{48,97,0}}, +/* 252 */ {(10<<2)|2,{48,97,0}}, +/* 253 */ {(10<<2)|2,{48,97,0}}, +/* 254 */ {(10<<2)|2,{48,97,0}}, +/* 255 */ {(10<<2)|2,{48,97,0}}, +/* 256 */ {(15<<2)|3,{48,99,48}}, +/* 257 */ {(15<<2)|3,{48,99,48}}, +/* 258 */ {(15<<2)|3,{48,99,49}}, +/* 259 */ {(15<<2)|3,{48,99,49}}, +/* 260 */ {(15<<2)|3,{48,99,50}}, +/* 261 */ {(15<<2)|3,{48,99,50}}, +/* 262 */ {(15<<2)|3,{48,99,97}}, +/* 263 */ {(15<<2)|3,{48,99,97}}, +/* 264 */ {(15<<2)|3,{48,99,99}}, +/* 265 */ {(15<<2)|3,{48,99,99}}, +/* 266 */ {(15<<2)|3,{48,99,101}}, +/* 267 */ {(15<<2)|3,{48,99,101}}, +/* 268 */ {(15<<2)|3,{48,99,105}}, +/* 269 */ {(15<<2)|3,{48,99,105}}, +/* 270 */ {(15<<2)|3,{48,99,111}}, +/* 271 */ {(15<<2)|3,{48,99,111}}, +/* 272 */ {(15<<2)|3,{48,99,115}}, +/* 273 */ {(15<<2)|3,{48,99,115}}, +/* 274 */ {(15<<2)|3,{48,99,116}}, +/* 275 */ {(15<<2)|3,{48,99,116}}, +/* 276 */ {(16<<2)|3,{48,99,32}}, +/* 277 */ {(16<<2)|3,{48,99,37}}, +/* 278 */ {(16<<2)|3,{48,99,45}}, +/* 279 */ {(16<<2)|3,{48,99,46}}, +/* 280 */ {(16<<2)|3,{48,99,47}}, +/* 281 */ {(16<<2)|3,{48,99,51}}, +/* 282 */ {(16<<2)|3,{48,99,52}}, +/* 283 */ {(16<<2)|3,{48,99,53}}, +/* 284 */ {(16<<2)|3,{48,99,54}}, +/* 285 */ {(16<<2)|3,{48,99,55}}, +/* 286 */ {(16<<2)|3,{48,99,56}}, +/* 287 */ {(16<<2)|3,{48,99,57}}, +/* 288 */ {(16<<2)|3,{48,99,61}}, +/* 289 */ {(16<<2)|3,{48,99,65}}, +/* 290 */ {(16<<2)|3,{48,99,95}}, +/* 291 */ {(16<<2)|3,{48,99,98}}, +/* 292 */ {(16<<2)|3,{48,99,100}}, +/* 293 */ {(16<<2)|3,{48,99,102}}, +/* 294 */ {(16<<2)|3,{48,99,103}}, +/* 295 */ {(16<<2)|3,{48,99,104}}, +/* 296 */ {(16<<2)|3,{48,99,108}}, +/* 297 */ {(16<<2)|3,{48,99,109}}, +/* 298 */ {(16<<2)|3,{48,99,110}}, +/* 299 */ {(16<<2)|3,{48,99,112}}, +/* 300 */ {(16<<2)|3,{48,99,114}}, +/* 301 */ {(16<<2)|3,{48,99,117}}, +/* 302 */ {(10<<2)|2,{48,99,0}}, +/* 303 */ {(10<<2)|2,{48,99,0}}, +/* 304 */ {(10<<2)|2,{48,99,0}}, +/* 305 */ {(10<<2)|2,{48,99,0}}, +/* 306 */ {(10<<2)|2,{48,99,0}}, +/* 307 */ {(10<<2)|2,{48,99,0}}, +/* 308 */ {(10<<2)|2,{48,99,0}}, +/* 309 */ {(10<<2)|2,{48,99,0}}, +/* 310 */ {(10<<2)|2,{48,99,0}}, +/* 311 */ {(10<<2)|2,{48,99,0}}, +/* 312 */ {(10<<2)|2,{48,99,0}}, +/* 313 */ {(10<<2)|2,{48,99,0}}, +/* 314 */ {(10<<2)|2,{48,99,0}}, +/* 315 */ {(10<<2)|2,{48,99,0}}, +/* 316 */ {(10<<2)|2,{48,99,0}}, +/* 317 */ {(10<<2)|2,{48,99,0}}, +/* 318 */ {(10<<2)|2,{48,99,0}}, +/* 319 */ {(10<<2)|2,{48,99,0}}, +/* 320 */ {(15<<2)|3,{48,101,48}}, +/* 321 */ {(15<<2)|3,{48,101,48}}, +/* 322 */ {(15<<2)|3,{48,101,49}}, +/* 323 */ {(15<<2)|3,{48,101,49}}, +/* 324 */ {(15<<2)|3,{48,101,50}}, +/* 325 */ {(15<<2)|3,{48,101,50}}, +/* 326 */ {(15<<2)|3,{48,101,97}}, +/* 327 */ {(15<<2)|3,{48,101,97}}, +/* 328 */ {(15<<2)|3,{48,101,99}}, +/* 329 */ {(15<<2)|3,{48,101,99}}, +/* 330 */ {(15<<2)|3,{48,101,101}}, +/* 331 */ {(15<<2)|3,{48,101,101}}, +/* 332 */ {(15<<2)|3,{48,101,105}}, +/* 333 */ {(15<<2)|3,{48,101,105}}, +/* 334 */ {(15<<2)|3,{48,101,111}}, +/* 335 */ {(15<<2)|3,{48,101,111}}, +/* 336 */ {(15<<2)|3,{48,101,115}}, +/* 337 */ {(15<<2)|3,{48,101,115}}, +/* 338 */ {(15<<2)|3,{48,101,116}}, +/* 339 */ {(15<<2)|3,{48,101,116}}, +/* 340 */ {(16<<2)|3,{48,101,32}}, +/* 341 */ {(16<<2)|3,{48,101,37}}, +/* 342 */ {(16<<2)|3,{48,101,45}}, +/* 343 */ {(16<<2)|3,{48,101,46}}, +/* 344 */ {(16<<2)|3,{48,101,47}}, +/* 345 */ {(16<<2)|3,{48,101,51}}, +/* 346 */ {(16<<2)|3,{48,101,52}}, +/* 347 */ {(16<<2)|3,{48,101,53}}, +/* 348 */ {(16<<2)|3,{48,101,54}}, +/* 349 */ {(16<<2)|3,{48,101,55}}, +/* 350 */ {(16<<2)|3,{48,101,56}}, +/* 351 */ {(16<<2)|3,{48,101,57}}, +/* 352 */ {(16<<2)|3,{48,101,61}}, +/* 353 */ {(16<<2)|3,{48,101,65}}, +/* 354 */ {(16<<2)|3,{48,101,95}}, +/* 355 */ {(16<<2)|3,{48,101,98}}, +/* 356 */ {(16<<2)|3,{48,101,100}}, +/* 357 */ {(16<<2)|3,{48,101,102}}, +/* 358 */ {(16<<2)|3,{48,101,103}}, +/* 359 */ {(16<<2)|3,{48,101,104}}, +/* 360 */ {(16<<2)|3,{48,101,108}}, +/* 361 */ {(16<<2)|3,{48,101,109}}, +/* 362 */ {(16<<2)|3,{48,101,110}}, +/* 363 */ {(16<<2)|3,{48,101,112}}, +/* 364 */ {(16<<2)|3,{48,101,114}}, +/* 365 */ {(16<<2)|3,{48,101,117}}, +/* 366 */ {(10<<2)|2,{48,101,0}}, +/* 367 */ {(10<<2)|2,{48,101,0}}, +/* 368 */ {(10<<2)|2,{48,101,0}}, +/* 369 */ {(10<<2)|2,{48,101,0}}, +/* 370 */ {(10<<2)|2,{48,101,0}}, +/* 371 */ {(10<<2)|2,{48,101,0}}, +/* 372 */ {(10<<2)|2,{48,101,0}}, +/* 373 */ {(10<<2)|2,{48,101,0}}, +/* 374 */ {(10<<2)|2,{48,101,0}}, +/* 375 */ {(10<<2)|2,{48,101,0}}, +/* 376 */ {(10<<2)|2,{48,101,0}}, +/* 377 */ {(10<<2)|2,{48,101,0}}, +/* 378 */ {(10<<2)|2,{48,101,0}}, +/* 379 */ {(10<<2)|2,{48,101,0}}, +/* 380 */ {(10<<2)|2,{48,101,0}}, +/* 381 */ {(10<<2)|2,{48,101,0}}, +/* 382 */ {(10<<2)|2,{48,101,0}}, +/* 383 */ {(10<<2)|2,{48,101,0}}, +/* 384 */ {(15<<2)|3,{48,105,48}}, +/* 385 */ {(15<<2)|3,{48,105,48}}, +/* 386 */ {(15<<2)|3,{48,105,49}}, +/* 387 */ {(15<<2)|3,{48,105,49}}, +/* 388 */ {(15<<2)|3,{48,105,50}}, +/* 389 */ {(15<<2)|3,{48,105,50}}, +/* 390 */ {(15<<2)|3,{48,105,97}}, +/* 391 */ {(15<<2)|3,{48,105,97}}, +/* 392 */ {(15<<2)|3,{48,105,99}}, +/* 393 */ {(15<<2)|3,{48,105,99}}, +/* 394 */ {(15<<2)|3,{48,105,101}}, +/* 395 */ {(15<<2)|3,{48,105,101}}, +/* 396 */ {(15<<2)|3,{48,105,105}}, +/* 397 */ {(15<<2)|3,{48,105,105}}, +/* 398 */ {(15<<2)|3,{48,105,111}}, +/* 399 */ {(15<<2)|3,{48,105,111}}, +/* 400 */ {(15<<2)|3,{48,105,115}}, +/* 401 */ {(15<<2)|3,{48,105,115}}, +/* 402 */ {(15<<2)|3,{48,105,116}}, +/* 403 */ {(15<<2)|3,{48,105,116}}, +/* 404 */ {(16<<2)|3,{48,105,32}}, +/* 405 */ {(16<<2)|3,{48,105,37}}, +/* 406 */ {(16<<2)|3,{48,105,45}}, +/* 407 */ {(16<<2)|3,{48,105,46}}, +/* 408 */ {(16<<2)|3,{48,105,47}}, +/* 409 */ {(16<<2)|3,{48,105,51}}, +/* 410 */ {(16<<2)|3,{48,105,52}}, +/* 411 */ {(16<<2)|3,{48,105,53}}, +/* 412 */ {(16<<2)|3,{48,105,54}}, +/* 413 */ {(16<<2)|3,{48,105,55}}, +/* 414 */ {(16<<2)|3,{48,105,56}}, +/* 415 */ {(16<<2)|3,{48,105,57}}, +/* 416 */ {(16<<2)|3,{48,105,61}}, +/* 417 */ {(16<<2)|3,{48,105,65}}, +/* 418 */ {(16<<2)|3,{48,105,95}}, +/* 419 */ {(16<<2)|3,{48,105,98}}, +/* 420 */ {(16<<2)|3,{48,105,100}}, +/* 421 */ {(16<<2)|3,{48,105,102}}, +/* 422 */ {(16<<2)|3,{48,105,103}}, +/* 423 */ {(16<<2)|3,{48,105,104}}, +/* 424 */ {(16<<2)|3,{48,105,108}}, +/* 425 */ {(16<<2)|3,{48,105,109}}, +/* 426 */ {(16<<2)|3,{48,105,110}}, +/* 427 */ {(16<<2)|3,{48,105,112}}, +/* 428 */ {(16<<2)|3,{48,105,114}}, +/* 429 */ {(16<<2)|3,{48,105,117}}, +/* 430 */ {(10<<2)|2,{48,105,0}}, +/* 431 */ {(10<<2)|2,{48,105,0}}, +/* 432 */ {(10<<2)|2,{48,105,0}}, +/* 433 */ {(10<<2)|2,{48,105,0}}, +/* 434 */ {(10<<2)|2,{48,105,0}}, +/* 435 */ {(10<<2)|2,{48,105,0}}, +/* 436 */ {(10<<2)|2,{48,105,0}}, +/* 437 */ {(10<<2)|2,{48,105,0}}, +/* 438 */ {(10<<2)|2,{48,105,0}}, +/* 439 */ {(10<<2)|2,{48,105,0}}, +/* 440 */ {(10<<2)|2,{48,105,0}}, +/* 441 */ {(10<<2)|2,{48,105,0}}, +/* 442 */ {(10<<2)|2,{48,105,0}}, +/* 443 */ {(10<<2)|2,{48,105,0}}, +/* 444 */ {(10<<2)|2,{48,105,0}}, +/* 445 */ {(10<<2)|2,{48,105,0}}, +/* 446 */ {(10<<2)|2,{48,105,0}}, +/* 447 */ {(10<<2)|2,{48,105,0}}, +/* 448 */ {(15<<2)|3,{48,111,48}}, +/* 449 */ {(15<<2)|3,{48,111,48}}, +/* 450 */ {(15<<2)|3,{48,111,49}}, +/* 451 */ {(15<<2)|3,{48,111,49}}, +/* 452 */ {(15<<2)|3,{48,111,50}}, +/* 453 */ {(15<<2)|3,{48,111,50}}, +/* 454 */ {(15<<2)|3,{48,111,97}}, +/* 455 */ {(15<<2)|3,{48,111,97}}, +/* 456 */ {(15<<2)|3,{48,111,99}}, +/* 457 */ {(15<<2)|3,{48,111,99}}, +/* 458 */ {(15<<2)|3,{48,111,101}}, +/* 459 */ {(15<<2)|3,{48,111,101}}, +/* 460 */ {(15<<2)|3,{48,111,105}}, +/* 461 */ {(15<<2)|3,{48,111,105}}, +/* 462 */ {(15<<2)|3,{48,111,111}}, +/* 463 */ {(15<<2)|3,{48,111,111}}, +/* 464 */ {(15<<2)|3,{48,111,115}}, +/* 465 */ {(15<<2)|3,{48,111,115}}, +/* 466 */ {(15<<2)|3,{48,111,116}}, +/* 467 */ {(15<<2)|3,{48,111,116}}, +/* 468 */ {(16<<2)|3,{48,111,32}}, +/* 469 */ {(16<<2)|3,{48,111,37}}, +/* 470 */ {(16<<2)|3,{48,111,45}}, +/* 471 */ {(16<<2)|3,{48,111,46}}, +/* 472 */ {(16<<2)|3,{48,111,47}}, +/* 473 */ {(16<<2)|3,{48,111,51}}, +/* 474 */ {(16<<2)|3,{48,111,52}}, +/* 475 */ {(16<<2)|3,{48,111,53}}, +/* 476 */ {(16<<2)|3,{48,111,54}}, +/* 477 */ {(16<<2)|3,{48,111,55}}, +/* 478 */ {(16<<2)|3,{48,111,56}}, +/* 479 */ {(16<<2)|3,{48,111,57}}, +/* 480 */ {(16<<2)|3,{48,111,61}}, +/* 481 */ {(16<<2)|3,{48,111,65}}, +/* 482 */ {(16<<2)|3,{48,111,95}}, +/* 483 */ {(16<<2)|3,{48,111,98}}, +/* 484 */ {(16<<2)|3,{48,111,100}}, +/* 485 */ {(16<<2)|3,{48,111,102}}, +/* 486 */ {(16<<2)|3,{48,111,103}}, +/* 487 */ {(16<<2)|3,{48,111,104}}, +/* 488 */ {(16<<2)|3,{48,111,108}}, +/* 489 */ {(16<<2)|3,{48,111,109}}, +/* 490 */ {(16<<2)|3,{48,111,110}}, +/* 491 */ {(16<<2)|3,{48,111,112}}, +/* 492 */ {(16<<2)|3,{48,111,114}}, +/* 493 */ {(16<<2)|3,{48,111,117}}, +/* 494 */ {(10<<2)|2,{48,111,0}}, +/* 495 */ {(10<<2)|2,{48,111,0}}, +/* 496 */ {(10<<2)|2,{48,111,0}}, +/* 497 */ {(10<<2)|2,{48,111,0}}, +/* 498 */ {(10<<2)|2,{48,111,0}}, +/* 499 */ {(10<<2)|2,{48,111,0}}, +/* 500 */ {(10<<2)|2,{48,111,0}}, +/* 501 */ {(10<<2)|2,{48,111,0}}, +/* 502 */ {(10<<2)|2,{48,111,0}}, +/* 503 */ {(10<<2)|2,{48,111,0}}, +/* 504 */ {(10<<2)|2,{48,111,0}}, +/* 505 */ {(10<<2)|2,{48,111,0}}, +/* 506 */ {(10<<2)|2,{48,111,0}}, +/* 507 */ {(10<<2)|2,{48,111,0}}, +/* 508 */ {(10<<2)|2,{48,111,0}}, +/* 509 */ {(10<<2)|2,{48,111,0}}, +/* 510 */ {(10<<2)|2,{48,111,0}}, +/* 511 */ {(10<<2)|2,{48,111,0}}, +/* 512 */ {(15<<2)|3,{48,115,48}}, +/* 513 */ {(15<<2)|3,{48,115,48}}, +/* 514 */ {(15<<2)|3,{48,115,49}}, +/* 515 */ {(15<<2)|3,{48,115,49}}, +/* 516 */ {(15<<2)|3,{48,115,50}}, +/* 517 */ {(15<<2)|3,{48,115,50}}, +/* 518 */ {(15<<2)|3,{48,115,97}}, +/* 519 */ {(15<<2)|3,{48,115,97}}, +/* 520 */ {(15<<2)|3,{48,115,99}}, +/* 521 */ {(15<<2)|3,{48,115,99}}, +/* 522 */ {(15<<2)|3,{48,115,101}}, +/* 523 */ {(15<<2)|3,{48,115,101}}, +/* 524 */ {(15<<2)|3,{48,115,105}}, +/* 525 */ {(15<<2)|3,{48,115,105}}, +/* 526 */ {(15<<2)|3,{48,115,111}}, +/* 527 */ {(15<<2)|3,{48,115,111}}, +/* 528 */ {(15<<2)|3,{48,115,115}}, +/* 529 */ {(15<<2)|3,{48,115,115}}, +/* 530 */ {(15<<2)|3,{48,115,116}}, +/* 531 */ {(15<<2)|3,{48,115,116}}, +/* 532 */ {(16<<2)|3,{48,115,32}}, +/* 533 */ {(16<<2)|3,{48,115,37}}, +/* 534 */ {(16<<2)|3,{48,115,45}}, +/* 535 */ {(16<<2)|3,{48,115,46}}, +/* 536 */ {(16<<2)|3,{48,115,47}}, +/* 537 */ {(16<<2)|3,{48,115,51}}, +/* 538 */ {(16<<2)|3,{48,115,52}}, +/* 539 */ {(16<<2)|3,{48,115,53}}, +/* 540 */ {(16<<2)|3,{48,115,54}}, +/* 541 */ {(16<<2)|3,{48,115,55}}, +/* 542 */ {(16<<2)|3,{48,115,56}}, +/* 543 */ {(16<<2)|3,{48,115,57}}, +/* 544 */ {(16<<2)|3,{48,115,61}}, +/* 545 */ {(16<<2)|3,{48,115,65}}, +/* 546 */ {(16<<2)|3,{48,115,95}}, +/* 547 */ {(16<<2)|3,{48,115,98}}, +/* 548 */ {(16<<2)|3,{48,115,100}}, +/* 549 */ {(16<<2)|3,{48,115,102}}, +/* 550 */ {(16<<2)|3,{48,115,103}}, +/* 551 */ {(16<<2)|3,{48,115,104}}, +/* 552 */ {(16<<2)|3,{48,115,108}}, +/* 553 */ {(16<<2)|3,{48,115,109}}, +/* 554 */ {(16<<2)|3,{48,115,110}}, +/* 555 */ {(16<<2)|3,{48,115,112}}, +/* 556 */ {(16<<2)|3,{48,115,114}}, +/* 557 */ {(16<<2)|3,{48,115,117}}, +/* 558 */ {(10<<2)|2,{48,115,0}}, +/* 559 */ {(10<<2)|2,{48,115,0}}, +/* 560 */ {(10<<2)|2,{48,115,0}}, +/* 561 */ {(10<<2)|2,{48,115,0}}, +/* 562 */ {(10<<2)|2,{48,115,0}}, +/* 563 */ {(10<<2)|2,{48,115,0}}, +/* 564 */ {(10<<2)|2,{48,115,0}}, +/* 565 */ {(10<<2)|2,{48,115,0}}, +/* 566 */ {(10<<2)|2,{48,115,0}}, +/* 567 */ {(10<<2)|2,{48,115,0}}, +/* 568 */ {(10<<2)|2,{48,115,0}}, +/* 569 */ {(10<<2)|2,{48,115,0}}, +/* 570 */ {(10<<2)|2,{48,115,0}}, +/* 571 */ {(10<<2)|2,{48,115,0}}, +/* 572 */ {(10<<2)|2,{48,115,0}}, +/* 573 */ {(10<<2)|2,{48,115,0}}, +/* 574 */ {(10<<2)|2,{48,115,0}}, +/* 575 */ {(10<<2)|2,{48,115,0}}, +/* 576 */ {(15<<2)|3,{48,116,48}}, +/* 577 */ {(15<<2)|3,{48,116,48}}, +/* 578 */ {(15<<2)|3,{48,116,49}}, +/* 579 */ {(15<<2)|3,{48,116,49}}, +/* 580 */ {(15<<2)|3,{48,116,50}}, +/* 581 */ {(15<<2)|3,{48,116,50}}, +/* 582 */ {(15<<2)|3,{48,116,97}}, +/* 583 */ {(15<<2)|3,{48,116,97}}, +/* 584 */ {(15<<2)|3,{48,116,99}}, +/* 585 */ {(15<<2)|3,{48,116,99}}, +/* 586 */ {(15<<2)|3,{48,116,101}}, +/* 587 */ {(15<<2)|3,{48,116,101}}, +/* 588 */ {(15<<2)|3,{48,116,105}}, +/* 589 */ {(15<<2)|3,{48,116,105}}, +/* 590 */ {(15<<2)|3,{48,116,111}}, +/* 591 */ {(15<<2)|3,{48,116,111}}, +/* 592 */ {(15<<2)|3,{48,116,115}}, +/* 593 */ {(15<<2)|3,{48,116,115}}, +/* 594 */ {(15<<2)|3,{48,116,116}}, +/* 595 */ {(15<<2)|3,{48,116,116}}, +/* 596 */ {(16<<2)|3,{48,116,32}}, +/* 597 */ {(16<<2)|3,{48,116,37}}, +/* 598 */ {(16<<2)|3,{48,116,45}}, +/* 599 */ {(16<<2)|3,{48,116,46}}, +/* 600 */ {(16<<2)|3,{48,116,47}}, +/* 601 */ {(16<<2)|3,{48,116,51}}, +/* 602 */ {(16<<2)|3,{48,116,52}}, +/* 603 */ {(16<<2)|3,{48,116,53}}, +/* 604 */ {(16<<2)|3,{48,116,54}}, +/* 605 */ {(16<<2)|3,{48,116,55}}, +/* 606 */ {(16<<2)|3,{48,116,56}}, +/* 607 */ {(16<<2)|3,{48,116,57}}, +/* 608 */ {(16<<2)|3,{48,116,61}}, +/* 609 */ {(16<<2)|3,{48,116,65}}, +/* 610 */ {(16<<2)|3,{48,116,95}}, +/* 611 */ {(16<<2)|3,{48,116,98}}, +/* 612 */ {(16<<2)|3,{48,116,100}}, +/* 613 */ {(16<<2)|3,{48,116,102}}, +/* 614 */ {(16<<2)|3,{48,116,103}}, +/* 615 */ {(16<<2)|3,{48,116,104}}, +/* 616 */ {(16<<2)|3,{48,116,108}}, +/* 617 */ {(16<<2)|3,{48,116,109}}, +/* 618 */ {(16<<2)|3,{48,116,110}}, +/* 619 */ {(16<<2)|3,{48,116,112}}, +/* 620 */ {(16<<2)|3,{48,116,114}}, +/* 621 */ {(16<<2)|3,{48,116,117}}, +/* 622 */ {(10<<2)|2,{48,116,0}}, +/* 623 */ {(10<<2)|2,{48,116,0}}, +/* 624 */ {(10<<2)|2,{48,116,0}}, +/* 625 */ {(10<<2)|2,{48,116,0}}, +/* 626 */ {(10<<2)|2,{48,116,0}}, +/* 627 */ {(10<<2)|2,{48,116,0}}, +/* 628 */ {(10<<2)|2,{48,116,0}}, +/* 629 */ {(10<<2)|2,{48,116,0}}, +/* 630 */ {(10<<2)|2,{48,116,0}}, +/* 631 */ {(10<<2)|2,{48,116,0}}, +/* 632 */ {(10<<2)|2,{48,116,0}}, +/* 633 */ {(10<<2)|2,{48,116,0}}, +/* 634 */ {(10<<2)|2,{48,116,0}}, +/* 635 */ {(10<<2)|2,{48,116,0}}, +/* 636 */ {(10<<2)|2,{48,116,0}}, +/* 637 */ {(10<<2)|2,{48,116,0}}, +/* 638 */ {(10<<2)|2,{48,116,0}}, +/* 639 */ {(10<<2)|2,{48,116,0}}, +/* 640 */ {(16<<2)|3,{48,32,48}}, +/* 641 */ {(16<<2)|3,{48,32,49}}, +/* 642 */ {(16<<2)|3,{48,32,50}}, +/* 643 */ {(16<<2)|3,{48,32,97}}, +/* 644 */ {(16<<2)|3,{48,32,99}}, +/* 645 */ {(16<<2)|3,{48,32,101}}, +/* 646 */ {(16<<2)|3,{48,32,105}}, +/* 647 */ {(16<<2)|3,{48,32,111}}, +/* 648 */ {(16<<2)|3,{48,32,115}}, +/* 649 */ {(16<<2)|3,{48,32,116}}, +/* 650 */ {(11<<2)|2,{48,32,0}}, +/* 651 */ {(11<<2)|2,{48,32,0}}, +/* 652 */ {(11<<2)|2,{48,32,0}}, +/* 653 */ {(11<<2)|2,{48,32,0}}, +/* 654 */ {(11<<2)|2,{48,32,0}}, +/* 655 */ {(11<<2)|2,{48,32,0}}, +/* 656 */ {(11<<2)|2,{48,32,0}}, +/* 657 */ {(11<<2)|2,{48,32,0}}, +/* 658 */ {(11<<2)|2,{48,32,0}}, +/* 659 */ {(11<<2)|2,{48,32,0}}, +/* 660 */ {(11<<2)|2,{48,32,0}}, +/* 661 */ {(11<<2)|2,{48,32,0}}, +/* 662 */ {(11<<2)|2,{48,32,0}}, +/* 663 */ {(11<<2)|2,{48,32,0}}, +/* 664 */ {(11<<2)|2,{48,32,0}}, +/* 665 */ {(11<<2)|2,{48,32,0}}, +/* 666 */ {(11<<2)|2,{48,32,0}}, +/* 667 */ {(11<<2)|2,{48,32,0}}, +/* 668 */ {(11<<2)|2,{48,32,0}}, +/* 669 */ {(11<<2)|2,{48,32,0}}, +/* 670 */ {(11<<2)|2,{48,32,0}}, +/* 671 */ {(11<<2)|2,{48,32,0}}, +/* 672 */ {(16<<2)|3,{48,37,48}}, +/* 673 */ {(16<<2)|3,{48,37,49}}, +/* 674 */ {(16<<2)|3,{48,37,50}}, +/* 675 */ {(16<<2)|3,{48,37,97}}, +/* 676 */ {(16<<2)|3,{48,37,99}}, +/* 677 */ {(16<<2)|3,{48,37,101}}, +/* 678 */ {(16<<2)|3,{48,37,105}}, +/* 679 */ {(16<<2)|3,{48,37,111}}, +/* 680 */ {(16<<2)|3,{48,37,115}}, +/* 681 */ {(16<<2)|3,{48,37,116}}, +/* 682 */ {(11<<2)|2,{48,37,0}}, +/* 683 */ {(11<<2)|2,{48,37,0}}, +/* 684 */ {(11<<2)|2,{48,37,0}}, +/* 685 */ {(11<<2)|2,{48,37,0}}, +/* 686 */ {(11<<2)|2,{48,37,0}}, +/* 687 */ {(11<<2)|2,{48,37,0}}, +/* 688 */ {(11<<2)|2,{48,37,0}}, +/* 689 */ {(11<<2)|2,{48,37,0}}, +/* 690 */ {(11<<2)|2,{48,37,0}}, +/* 691 */ {(11<<2)|2,{48,37,0}}, +/* 692 */ {(11<<2)|2,{48,37,0}}, +/* 693 */ {(11<<2)|2,{48,37,0}}, +/* 694 */ {(11<<2)|2,{48,37,0}}, +/* 695 */ {(11<<2)|2,{48,37,0}}, +/* 696 */ {(11<<2)|2,{48,37,0}}, +/* 697 */ {(11<<2)|2,{48,37,0}}, +/* 698 */ {(11<<2)|2,{48,37,0}}, +/* 699 */ {(11<<2)|2,{48,37,0}}, +/* 700 */ {(11<<2)|2,{48,37,0}}, +/* 701 */ {(11<<2)|2,{48,37,0}}, +/* 702 */ {(11<<2)|2,{48,37,0}}, +/* 703 */ {(11<<2)|2,{48,37,0}}, +/* 704 */ {(16<<2)|3,{48,45,48}}, +/* 705 */ {(16<<2)|3,{48,45,49}}, +/* 706 */ {(16<<2)|3,{48,45,50}}, +/* 707 */ {(16<<2)|3,{48,45,97}}, +/* 708 */ {(16<<2)|3,{48,45,99}}, +/* 709 */ {(16<<2)|3,{48,45,101}}, +/* 710 */ {(16<<2)|3,{48,45,105}}, +/* 711 */ {(16<<2)|3,{48,45,111}}, +/* 712 */ {(16<<2)|3,{48,45,115}}, +/* 713 */ {(16<<2)|3,{48,45,116}}, +/* 714 */ {(11<<2)|2,{48,45,0}}, +/* 715 */ {(11<<2)|2,{48,45,0}}, +/* 716 */ {(11<<2)|2,{48,45,0}}, +/* 717 */ {(11<<2)|2,{48,45,0}}, +/* 718 */ {(11<<2)|2,{48,45,0}}, +/* 719 */ {(11<<2)|2,{48,45,0}}, +/* 720 */ {(11<<2)|2,{48,45,0}}, +/* 721 */ {(11<<2)|2,{48,45,0}}, +/* 722 */ {(11<<2)|2,{48,45,0}}, +/* 723 */ {(11<<2)|2,{48,45,0}}, +/* 724 */ {(11<<2)|2,{48,45,0}}, +/* 725 */ {(11<<2)|2,{48,45,0}}, +/* 726 */ {(11<<2)|2,{48,45,0}}, +/* 727 */ {(11<<2)|2,{48,45,0}}, +/* 728 */ {(11<<2)|2,{48,45,0}}, +/* 729 */ {(11<<2)|2,{48,45,0}}, +/* 730 */ {(11<<2)|2,{48,45,0}}, +/* 731 */ {(11<<2)|2,{48,45,0}}, +/* 732 */ {(11<<2)|2,{48,45,0}}, +/* 733 */ {(11<<2)|2,{48,45,0}}, +/* 734 */ {(11<<2)|2,{48,45,0}}, +/* 735 */ {(11<<2)|2,{48,45,0}}, +/* 736 */ {(16<<2)|3,{48,46,48}}, +/* 737 */ {(16<<2)|3,{48,46,49}}, +/* 738 */ {(16<<2)|3,{48,46,50}}, +/* 739 */ {(16<<2)|3,{48,46,97}}, +/* 740 */ {(16<<2)|3,{48,46,99}}, +/* 741 */ {(16<<2)|3,{48,46,101}}, +/* 742 */ {(16<<2)|3,{48,46,105}}, +/* 743 */ {(16<<2)|3,{48,46,111}}, +/* 744 */ {(16<<2)|3,{48,46,115}}, +/* 745 */ {(16<<2)|3,{48,46,116}}, +/* 746 */ {(11<<2)|2,{48,46,0}}, +/* 747 */ {(11<<2)|2,{48,46,0}}, +/* 748 */ {(11<<2)|2,{48,46,0}}, +/* 749 */ {(11<<2)|2,{48,46,0}}, +/* 750 */ {(11<<2)|2,{48,46,0}}, +/* 751 */ {(11<<2)|2,{48,46,0}}, +/* 752 */ {(11<<2)|2,{48,46,0}}, +/* 753 */ {(11<<2)|2,{48,46,0}}, +/* 754 */ {(11<<2)|2,{48,46,0}}, +/* 755 */ {(11<<2)|2,{48,46,0}}, +/* 756 */ {(11<<2)|2,{48,46,0}}, +/* 757 */ {(11<<2)|2,{48,46,0}}, +/* 758 */ {(11<<2)|2,{48,46,0}}, +/* 759 */ {(11<<2)|2,{48,46,0}}, +/* 760 */ {(11<<2)|2,{48,46,0}}, +/* 761 */ {(11<<2)|2,{48,46,0}}, +/* 762 */ {(11<<2)|2,{48,46,0}}, +/* 763 */ {(11<<2)|2,{48,46,0}}, +/* 764 */ {(11<<2)|2,{48,46,0}}, +/* 765 */ {(11<<2)|2,{48,46,0}}, +/* 766 */ {(11<<2)|2,{48,46,0}}, +/* 767 */ {(11<<2)|2,{48,46,0}}, +/* 768 */ {(16<<2)|3,{48,47,48}}, +/* 769 */ {(16<<2)|3,{48,47,49}}, +/* 770 */ {(16<<2)|3,{48,47,50}}, +/* 771 */ {(16<<2)|3,{48,47,97}}, +/* 772 */ {(16<<2)|3,{48,47,99}}, +/* 773 */ {(16<<2)|3,{48,47,101}}, +/* 774 */ {(16<<2)|3,{48,47,105}}, +/* 775 */ {(16<<2)|3,{48,47,111}}, +/* 776 */ {(16<<2)|3,{48,47,115}}, +/* 777 */ {(16<<2)|3,{48,47,116}}, +/* 778 */ {(11<<2)|2,{48,47,0}}, +/* 779 */ {(11<<2)|2,{48,47,0}}, +/* 780 */ {(11<<2)|2,{48,47,0}}, +/* 781 */ {(11<<2)|2,{48,47,0}}, +/* 782 */ {(11<<2)|2,{48,47,0}}, +/* 783 */ {(11<<2)|2,{48,47,0}}, +/* 784 */ {(11<<2)|2,{48,47,0}}, +/* 785 */ {(11<<2)|2,{48,47,0}}, +/* 786 */ {(11<<2)|2,{48,47,0}}, +/* 787 */ {(11<<2)|2,{48,47,0}}, +/* 788 */ {(11<<2)|2,{48,47,0}}, +/* 789 */ {(11<<2)|2,{48,47,0}}, +/* 790 */ {(11<<2)|2,{48,47,0}}, +/* 791 */ {(11<<2)|2,{48,47,0}}, +/* 792 */ {(11<<2)|2,{48,47,0}}, +/* 793 */ {(11<<2)|2,{48,47,0}}, +/* 794 */ {(11<<2)|2,{48,47,0}}, +/* 795 */ {(11<<2)|2,{48,47,0}}, +/* 796 */ {(11<<2)|2,{48,47,0}}, +/* 797 */ {(11<<2)|2,{48,47,0}}, +/* 798 */ {(11<<2)|2,{48,47,0}}, +/* 799 */ {(11<<2)|2,{48,47,0}}, +/* 800 */ {(16<<2)|3,{48,51,48}}, +/* 801 */ {(16<<2)|3,{48,51,49}}, +/* 802 */ {(16<<2)|3,{48,51,50}}, +/* 803 */ {(16<<2)|3,{48,51,97}}, +/* 804 */ {(16<<2)|3,{48,51,99}}, +/* 805 */ {(16<<2)|3,{48,51,101}}, +/* 806 */ {(16<<2)|3,{48,51,105}}, +/* 807 */ {(16<<2)|3,{48,51,111}}, +/* 808 */ {(16<<2)|3,{48,51,115}}, +/* 809 */ {(16<<2)|3,{48,51,116}}, +/* 810 */ {(11<<2)|2,{48,51,0}}, +/* 811 */ {(11<<2)|2,{48,51,0}}, +/* 812 */ {(11<<2)|2,{48,51,0}}, +/* 813 */ {(11<<2)|2,{48,51,0}}, +/* 814 */ {(11<<2)|2,{48,51,0}}, +/* 815 */ {(11<<2)|2,{48,51,0}}, +/* 816 */ {(11<<2)|2,{48,51,0}}, +/* 817 */ {(11<<2)|2,{48,51,0}}, +/* 818 */ {(11<<2)|2,{48,51,0}}, +/* 819 */ {(11<<2)|2,{48,51,0}}, +/* 820 */ {(11<<2)|2,{48,51,0}}, +/* 821 */ {(11<<2)|2,{48,51,0}}, +/* 822 */ {(11<<2)|2,{48,51,0}}, +/* 823 */ {(11<<2)|2,{48,51,0}}, +/* 824 */ {(11<<2)|2,{48,51,0}}, +/* 825 */ {(11<<2)|2,{48,51,0}}, +/* 826 */ {(11<<2)|2,{48,51,0}}, +/* 827 */ {(11<<2)|2,{48,51,0}}, +/* 828 */ {(11<<2)|2,{48,51,0}}, +/* 829 */ {(11<<2)|2,{48,51,0}}, +/* 830 */ {(11<<2)|2,{48,51,0}}, +/* 831 */ {(11<<2)|2,{48,51,0}}, +/* 832 */ {(16<<2)|3,{48,52,48}}, +/* 833 */ {(16<<2)|3,{48,52,49}}, +/* 834 */ {(16<<2)|3,{48,52,50}}, +/* 835 */ {(16<<2)|3,{48,52,97}}, +/* 836 */ {(16<<2)|3,{48,52,99}}, +/* 837 */ {(16<<2)|3,{48,52,101}}, +/* 838 */ {(16<<2)|3,{48,52,105}}, +/* 839 */ {(16<<2)|3,{48,52,111}}, +/* 840 */ {(16<<2)|3,{48,52,115}}, +/* 841 */ {(16<<2)|3,{48,52,116}}, +/* 842 */ {(11<<2)|2,{48,52,0}}, +/* 843 */ {(11<<2)|2,{48,52,0}}, +/* 844 */ {(11<<2)|2,{48,52,0}}, +/* 845 */ {(11<<2)|2,{48,52,0}}, +/* 846 */ {(11<<2)|2,{48,52,0}}, +/* 847 */ {(11<<2)|2,{48,52,0}}, +/* 848 */ {(11<<2)|2,{48,52,0}}, +/* 849 */ {(11<<2)|2,{48,52,0}}, +/* 850 */ {(11<<2)|2,{48,52,0}}, +/* 851 */ {(11<<2)|2,{48,52,0}}, +/* 852 */ {(11<<2)|2,{48,52,0}}, +/* 853 */ {(11<<2)|2,{48,52,0}}, +/* 854 */ {(11<<2)|2,{48,52,0}}, +/* 855 */ {(11<<2)|2,{48,52,0}}, +/* 856 */ {(11<<2)|2,{48,52,0}}, +/* 857 */ {(11<<2)|2,{48,52,0}}, +/* 858 */ {(11<<2)|2,{48,52,0}}, +/* 859 */ {(11<<2)|2,{48,52,0}}, +/* 860 */ {(11<<2)|2,{48,52,0}}, +/* 861 */ {(11<<2)|2,{48,52,0}}, +/* 862 */ {(11<<2)|2,{48,52,0}}, +/* 863 */ {(11<<2)|2,{48,52,0}}, +/* 864 */ {(16<<2)|3,{48,53,48}}, +/* 865 */ {(16<<2)|3,{48,53,49}}, +/* 866 */ {(16<<2)|3,{48,53,50}}, +/* 867 */ {(16<<2)|3,{48,53,97}}, +/* 868 */ {(16<<2)|3,{48,53,99}}, +/* 869 */ {(16<<2)|3,{48,53,101}}, +/* 870 */ {(16<<2)|3,{48,53,105}}, +/* 871 */ {(16<<2)|3,{48,53,111}}, +/* 872 */ {(16<<2)|3,{48,53,115}}, +/* 873 */ {(16<<2)|3,{48,53,116}}, +/* 874 */ {(11<<2)|2,{48,53,0}}, +/* 875 */ {(11<<2)|2,{48,53,0}}, +/* 876 */ {(11<<2)|2,{48,53,0}}, +/* 877 */ {(11<<2)|2,{48,53,0}}, +/* 878 */ {(11<<2)|2,{48,53,0}}, +/* 879 */ {(11<<2)|2,{48,53,0}}, +/* 880 */ {(11<<2)|2,{48,53,0}}, +/* 881 */ {(11<<2)|2,{48,53,0}}, +/* 882 */ {(11<<2)|2,{48,53,0}}, +/* 883 */ {(11<<2)|2,{48,53,0}}, +/* 884 */ {(11<<2)|2,{48,53,0}}, +/* 885 */ {(11<<2)|2,{48,53,0}}, +/* 886 */ {(11<<2)|2,{48,53,0}}, +/* 887 */ {(11<<2)|2,{48,53,0}}, +/* 888 */ {(11<<2)|2,{48,53,0}}, +/* 889 */ {(11<<2)|2,{48,53,0}}, +/* 890 */ {(11<<2)|2,{48,53,0}}, +/* 891 */ {(11<<2)|2,{48,53,0}}, +/* 892 */ {(11<<2)|2,{48,53,0}}, +/* 893 */ {(11<<2)|2,{48,53,0}}, +/* 894 */ {(11<<2)|2,{48,53,0}}, +/* 895 */ {(11<<2)|2,{48,53,0}}, +/* 896 */ {(16<<2)|3,{48,54,48}}, +/* 897 */ {(16<<2)|3,{48,54,49}}, +/* 898 */ {(16<<2)|3,{48,54,50}}, +/* 899 */ {(16<<2)|3,{48,54,97}}, +/* 900 */ {(16<<2)|3,{48,54,99}}, +/* 901 */ {(16<<2)|3,{48,54,101}}, +/* 902 */ {(16<<2)|3,{48,54,105}}, +/* 903 */ {(16<<2)|3,{48,54,111}}, +/* 904 */ {(16<<2)|3,{48,54,115}}, +/* 905 */ {(16<<2)|3,{48,54,116}}, +/* 906 */ {(11<<2)|2,{48,54,0}}, +/* 907 */ {(11<<2)|2,{48,54,0}}, +/* 908 */ {(11<<2)|2,{48,54,0}}, +/* 909 */ {(11<<2)|2,{48,54,0}}, +/* 910 */ {(11<<2)|2,{48,54,0}}, +/* 911 */ {(11<<2)|2,{48,54,0}}, +/* 912 */ {(11<<2)|2,{48,54,0}}, +/* 913 */ {(11<<2)|2,{48,54,0}}, +/* 914 */ {(11<<2)|2,{48,54,0}}, +/* 915 */ {(11<<2)|2,{48,54,0}}, +/* 916 */ {(11<<2)|2,{48,54,0}}, +/* 917 */ {(11<<2)|2,{48,54,0}}, +/* 918 */ {(11<<2)|2,{48,54,0}}, +/* 919 */ {(11<<2)|2,{48,54,0}}, +/* 920 */ {(11<<2)|2,{48,54,0}}, +/* 921 */ {(11<<2)|2,{48,54,0}}, +/* 922 */ {(11<<2)|2,{48,54,0}}, +/* 923 */ {(11<<2)|2,{48,54,0}}, +/* 924 */ {(11<<2)|2,{48,54,0}}, +/* 925 */ {(11<<2)|2,{48,54,0}}, +/* 926 */ {(11<<2)|2,{48,54,0}}, +/* 927 */ {(11<<2)|2,{48,54,0}}, +/* 928 */ {(16<<2)|3,{48,55,48}}, +/* 929 */ {(16<<2)|3,{48,55,49}}, +/* 930 */ {(16<<2)|3,{48,55,50}}, +/* 931 */ {(16<<2)|3,{48,55,97}}, +/* 932 */ {(16<<2)|3,{48,55,99}}, +/* 933 */ {(16<<2)|3,{48,55,101}}, +/* 934 */ {(16<<2)|3,{48,55,105}}, +/* 935 */ {(16<<2)|3,{48,55,111}}, +/* 936 */ {(16<<2)|3,{48,55,115}}, +/* 937 */ {(16<<2)|3,{48,55,116}}, +/* 938 */ {(11<<2)|2,{48,55,0}}, +/* 939 */ {(11<<2)|2,{48,55,0}}, +/* 940 */ {(11<<2)|2,{48,55,0}}, +/* 941 */ {(11<<2)|2,{48,55,0}}, +/* 942 */ {(11<<2)|2,{48,55,0}}, +/* 943 */ {(11<<2)|2,{48,55,0}}, +/* 944 */ {(11<<2)|2,{48,55,0}}, +/* 945 */ {(11<<2)|2,{48,55,0}}, +/* 946 */ {(11<<2)|2,{48,55,0}}, +/* 947 */ {(11<<2)|2,{48,55,0}}, +/* 948 */ {(11<<2)|2,{48,55,0}}, +/* 949 */ {(11<<2)|2,{48,55,0}}, +/* 950 */ {(11<<2)|2,{48,55,0}}, +/* 951 */ {(11<<2)|2,{48,55,0}}, +/* 952 */ {(11<<2)|2,{48,55,0}}, +/* 953 */ {(11<<2)|2,{48,55,0}}, +/* 954 */ {(11<<2)|2,{48,55,0}}, +/* 955 */ {(11<<2)|2,{48,55,0}}, +/* 956 */ {(11<<2)|2,{48,55,0}}, +/* 957 */ {(11<<2)|2,{48,55,0}}, +/* 958 */ {(11<<2)|2,{48,55,0}}, +/* 959 */ {(11<<2)|2,{48,55,0}}, +/* 960 */ {(16<<2)|3,{48,56,48}}, +/* 961 */ {(16<<2)|3,{48,56,49}}, +/* 962 */ {(16<<2)|3,{48,56,50}}, +/* 963 */ {(16<<2)|3,{48,56,97}}, +/* 964 */ {(16<<2)|3,{48,56,99}}, +/* 965 */ {(16<<2)|3,{48,56,101}}, +/* 966 */ {(16<<2)|3,{48,56,105}}, +/* 967 */ {(16<<2)|3,{48,56,111}}, +/* 968 */ {(16<<2)|3,{48,56,115}}, +/* 969 */ {(16<<2)|3,{48,56,116}}, +/* 970 */ {(11<<2)|2,{48,56,0}}, +/* 971 */ {(11<<2)|2,{48,56,0}}, +/* 972 */ {(11<<2)|2,{48,56,0}}, +/* 973 */ {(11<<2)|2,{48,56,0}}, +/* 974 */ {(11<<2)|2,{48,56,0}}, +/* 975 */ {(11<<2)|2,{48,56,0}}, +/* 976 */ {(11<<2)|2,{48,56,0}}, +/* 977 */ {(11<<2)|2,{48,56,0}}, +/* 978 */ {(11<<2)|2,{48,56,0}}, +/* 979 */ {(11<<2)|2,{48,56,0}}, +/* 980 */ {(11<<2)|2,{48,56,0}}, +/* 981 */ {(11<<2)|2,{48,56,0}}, +/* 982 */ {(11<<2)|2,{48,56,0}}, +/* 983 */ {(11<<2)|2,{48,56,0}}, +/* 984 */ {(11<<2)|2,{48,56,0}}, +/* 985 */ {(11<<2)|2,{48,56,0}}, +/* 986 */ {(11<<2)|2,{48,56,0}}, +/* 987 */ {(11<<2)|2,{48,56,0}}, +/* 988 */ {(11<<2)|2,{48,56,0}}, +/* 989 */ {(11<<2)|2,{48,56,0}}, +/* 990 */ {(11<<2)|2,{48,56,0}}, +/* 991 */ {(11<<2)|2,{48,56,0}}, +/* 992 */ {(16<<2)|3,{48,57,48}}, +/* 993 */ {(16<<2)|3,{48,57,49}}, +/* 994 */ {(16<<2)|3,{48,57,50}}, +/* 995 */ {(16<<2)|3,{48,57,97}}, +/* 996 */ {(16<<2)|3,{48,57,99}}, +/* 997 */ {(16<<2)|3,{48,57,101}}, +/* 998 */ {(16<<2)|3,{48,57,105}}, +/* 999 */ {(16<<2)|3,{48,57,111}}, +/* 1000 */ {(16<<2)|3,{48,57,115}}, +/* 1001 */ {(16<<2)|3,{48,57,116}}, +/* 1002 */ {(11<<2)|2,{48,57,0}}, +/* 1003 */ {(11<<2)|2,{48,57,0}}, +/* 1004 */ {(11<<2)|2,{48,57,0}}, +/* 1005 */ {(11<<2)|2,{48,57,0}}, +/* 1006 */ {(11<<2)|2,{48,57,0}}, +/* 1007 */ {(11<<2)|2,{48,57,0}}, +/* 1008 */ {(11<<2)|2,{48,57,0}}, +/* 1009 */ {(11<<2)|2,{48,57,0}}, +/* 1010 */ {(11<<2)|2,{48,57,0}}, +/* 1011 */ {(11<<2)|2,{48,57,0}}, +/* 1012 */ {(11<<2)|2,{48,57,0}}, +/* 1013 */ {(11<<2)|2,{48,57,0}}, +/* 1014 */ {(11<<2)|2,{48,57,0}}, +/* 1015 */ {(11<<2)|2,{48,57,0}}, +/* 1016 */ {(11<<2)|2,{48,57,0}}, +/* 1017 */ {(11<<2)|2,{48,57,0}}, +/* 1018 */ {(11<<2)|2,{48,57,0}}, +/* 1019 */ {(11<<2)|2,{48,57,0}}, +/* 1020 */ {(11<<2)|2,{48,57,0}}, +/* 1021 */ {(11<<2)|2,{48,57,0}}, +/* 1022 */ {(11<<2)|2,{48,57,0}}, +/* 1023 */ {(11<<2)|2,{48,57,0}}, +/* 1024 */ {(16<<2)|3,{48,61,48}}, +/* 1025 */ {(16<<2)|3,{48,61,49}}, +/* 1026 */ {(16<<2)|3,{48,61,50}}, +/* 1027 */ {(16<<2)|3,{48,61,97}}, +/* 1028 */ {(16<<2)|3,{48,61,99}}, +/* 1029 */ {(16<<2)|3,{48,61,101}}, +/* 1030 */ {(16<<2)|3,{48,61,105}}, +/* 1031 */ {(16<<2)|3,{48,61,111}}, +/* 1032 */ {(16<<2)|3,{48,61,115}}, +/* 1033 */ {(16<<2)|3,{48,61,116}}, +/* 1034 */ {(11<<2)|2,{48,61,0}}, +/* 1035 */ {(11<<2)|2,{48,61,0}}, +/* 1036 */ {(11<<2)|2,{48,61,0}}, +/* 1037 */ {(11<<2)|2,{48,61,0}}, +/* 1038 */ {(11<<2)|2,{48,61,0}}, +/* 1039 */ {(11<<2)|2,{48,61,0}}, +/* 1040 */ {(11<<2)|2,{48,61,0}}, +/* 1041 */ {(11<<2)|2,{48,61,0}}, +/* 1042 */ {(11<<2)|2,{48,61,0}}, +/* 1043 */ {(11<<2)|2,{48,61,0}}, +/* 1044 */ {(11<<2)|2,{48,61,0}}, +/* 1045 */ {(11<<2)|2,{48,61,0}}, +/* 1046 */ {(11<<2)|2,{48,61,0}}, +/* 1047 */ {(11<<2)|2,{48,61,0}}, +/* 1048 */ {(11<<2)|2,{48,61,0}}, +/* 1049 */ {(11<<2)|2,{48,61,0}}, +/* 1050 */ {(11<<2)|2,{48,61,0}}, +/* 1051 */ {(11<<2)|2,{48,61,0}}, +/* 1052 */ {(11<<2)|2,{48,61,0}}, +/* 1053 */ {(11<<2)|2,{48,61,0}}, +/* 1054 */ {(11<<2)|2,{48,61,0}}, +/* 1055 */ {(11<<2)|2,{48,61,0}}, +/* 1056 */ {(16<<2)|3,{48,65,48}}, +/* 1057 */ {(16<<2)|3,{48,65,49}}, +/* 1058 */ {(16<<2)|3,{48,65,50}}, +/* 1059 */ {(16<<2)|3,{48,65,97}}, +/* 1060 */ {(16<<2)|3,{48,65,99}}, +/* 1061 */ {(16<<2)|3,{48,65,101}}, +/* 1062 */ {(16<<2)|3,{48,65,105}}, +/* 1063 */ {(16<<2)|3,{48,65,111}}, +/* 1064 */ {(16<<2)|3,{48,65,115}}, +/* 1065 */ {(16<<2)|3,{48,65,116}}, +/* 1066 */ {(11<<2)|2,{48,65,0}}, +/* 1067 */ {(11<<2)|2,{48,65,0}}, +/* 1068 */ {(11<<2)|2,{48,65,0}}, +/* 1069 */ {(11<<2)|2,{48,65,0}}, +/* 1070 */ {(11<<2)|2,{48,65,0}}, +/* 1071 */ {(11<<2)|2,{48,65,0}}, +/* 1072 */ {(11<<2)|2,{48,65,0}}, +/* 1073 */ {(11<<2)|2,{48,65,0}}, +/* 1074 */ {(11<<2)|2,{48,65,0}}, +/* 1075 */ {(11<<2)|2,{48,65,0}}, +/* 1076 */ {(11<<2)|2,{48,65,0}}, +/* 1077 */ {(11<<2)|2,{48,65,0}}, +/* 1078 */ {(11<<2)|2,{48,65,0}}, +/* 1079 */ {(11<<2)|2,{48,65,0}}, +/* 1080 */ {(11<<2)|2,{48,65,0}}, +/* 1081 */ {(11<<2)|2,{48,65,0}}, +/* 1082 */ {(11<<2)|2,{48,65,0}}, +/* 1083 */ {(11<<2)|2,{48,65,0}}, +/* 1084 */ {(11<<2)|2,{48,65,0}}, +/* 1085 */ {(11<<2)|2,{48,65,0}}, +/* 1086 */ {(11<<2)|2,{48,65,0}}, +/* 1087 */ {(11<<2)|2,{48,65,0}}, +/* 1088 */ {(16<<2)|3,{48,95,48}}, +/* 1089 */ {(16<<2)|3,{48,95,49}}, +/* 1090 */ {(16<<2)|3,{48,95,50}}, +/* 1091 */ {(16<<2)|3,{48,95,97}}, +/* 1092 */ {(16<<2)|3,{48,95,99}}, +/* 1093 */ {(16<<2)|3,{48,95,101}}, +/* 1094 */ {(16<<2)|3,{48,95,105}}, +/* 1095 */ {(16<<2)|3,{48,95,111}}, +/* 1096 */ {(16<<2)|3,{48,95,115}}, +/* 1097 */ {(16<<2)|3,{48,95,116}}, +/* 1098 */ {(11<<2)|2,{48,95,0}}, +/* 1099 */ {(11<<2)|2,{48,95,0}}, +/* 1100 */ {(11<<2)|2,{48,95,0}}, +/* 1101 */ {(11<<2)|2,{48,95,0}}, +/* 1102 */ {(11<<2)|2,{48,95,0}}, +/* 1103 */ {(11<<2)|2,{48,95,0}}, +/* 1104 */ {(11<<2)|2,{48,95,0}}, +/* 1105 */ {(11<<2)|2,{48,95,0}}, +/* 1106 */ {(11<<2)|2,{48,95,0}}, +/* 1107 */ {(11<<2)|2,{48,95,0}}, +/* 1108 */ {(11<<2)|2,{48,95,0}}, +/* 1109 */ {(11<<2)|2,{48,95,0}}, +/* 1110 */ {(11<<2)|2,{48,95,0}}, +/* 1111 */ {(11<<2)|2,{48,95,0}}, +/* 1112 */ {(11<<2)|2,{48,95,0}}, +/* 1113 */ {(11<<2)|2,{48,95,0}}, +/* 1114 */ {(11<<2)|2,{48,95,0}}, +/* 1115 */ {(11<<2)|2,{48,95,0}}, +/* 1116 */ {(11<<2)|2,{48,95,0}}, +/* 1117 */ {(11<<2)|2,{48,95,0}}, +/* 1118 */ {(11<<2)|2,{48,95,0}}, +/* 1119 */ {(11<<2)|2,{48,95,0}}, +/* 1120 */ {(16<<2)|3,{48,98,48}}, +/* 1121 */ {(16<<2)|3,{48,98,49}}, +/* 1122 */ {(16<<2)|3,{48,98,50}}, +/* 1123 */ {(16<<2)|3,{48,98,97}}, +/* 1124 */ {(16<<2)|3,{48,98,99}}, +/* 1125 */ {(16<<2)|3,{48,98,101}}, +/* 1126 */ {(16<<2)|3,{48,98,105}}, +/* 1127 */ {(16<<2)|3,{48,98,111}}, +/* 1128 */ {(16<<2)|3,{48,98,115}}, +/* 1129 */ {(16<<2)|3,{48,98,116}}, +/* 1130 */ {(11<<2)|2,{48,98,0}}, +/* 1131 */ {(11<<2)|2,{48,98,0}}, +/* 1132 */ {(11<<2)|2,{48,98,0}}, +/* 1133 */ {(11<<2)|2,{48,98,0}}, +/* 1134 */ {(11<<2)|2,{48,98,0}}, +/* 1135 */ {(11<<2)|2,{48,98,0}}, +/* 1136 */ {(11<<2)|2,{48,98,0}}, +/* 1137 */ {(11<<2)|2,{48,98,0}}, +/* 1138 */ {(11<<2)|2,{48,98,0}}, +/* 1139 */ {(11<<2)|2,{48,98,0}}, +/* 1140 */ {(11<<2)|2,{48,98,0}}, +/* 1141 */ {(11<<2)|2,{48,98,0}}, +/* 1142 */ {(11<<2)|2,{48,98,0}}, +/* 1143 */ {(11<<2)|2,{48,98,0}}, +/* 1144 */ {(11<<2)|2,{48,98,0}}, +/* 1145 */ {(11<<2)|2,{48,98,0}}, +/* 1146 */ {(11<<2)|2,{48,98,0}}, +/* 1147 */ {(11<<2)|2,{48,98,0}}, +/* 1148 */ {(11<<2)|2,{48,98,0}}, +/* 1149 */ {(11<<2)|2,{48,98,0}}, +/* 1150 */ {(11<<2)|2,{48,98,0}}, +/* 1151 */ {(11<<2)|2,{48,98,0}}, +/* 1152 */ {(16<<2)|3,{48,100,48}}, +/* 1153 */ {(16<<2)|3,{48,100,49}}, +/* 1154 */ {(16<<2)|3,{48,100,50}}, +/* 1155 */ {(16<<2)|3,{48,100,97}}, +/* 1156 */ {(16<<2)|3,{48,100,99}}, +/* 1157 */ {(16<<2)|3,{48,100,101}}, +/* 1158 */ {(16<<2)|3,{48,100,105}}, +/* 1159 */ {(16<<2)|3,{48,100,111}}, +/* 1160 */ {(16<<2)|3,{48,100,115}}, +/* 1161 */ {(16<<2)|3,{48,100,116}}, +/* 1162 */ {(11<<2)|2,{48,100,0}}, +/* 1163 */ {(11<<2)|2,{48,100,0}}, +/* 1164 */ {(11<<2)|2,{48,100,0}}, +/* 1165 */ {(11<<2)|2,{48,100,0}}, +/* 1166 */ {(11<<2)|2,{48,100,0}}, +/* 1167 */ {(11<<2)|2,{48,100,0}}, +/* 1168 */ {(11<<2)|2,{48,100,0}}, +/* 1169 */ {(11<<2)|2,{48,100,0}}, +/* 1170 */ {(11<<2)|2,{48,100,0}}, +/* 1171 */ {(11<<2)|2,{48,100,0}}, +/* 1172 */ {(11<<2)|2,{48,100,0}}, +/* 1173 */ {(11<<2)|2,{48,100,0}}, +/* 1174 */ {(11<<2)|2,{48,100,0}}, +/* 1175 */ {(11<<2)|2,{48,100,0}}, +/* 1176 */ {(11<<2)|2,{48,100,0}}, +/* 1177 */ {(11<<2)|2,{48,100,0}}, +/* 1178 */ {(11<<2)|2,{48,100,0}}, +/* 1179 */ {(11<<2)|2,{48,100,0}}, +/* 1180 */ {(11<<2)|2,{48,100,0}}, +/* 1181 */ {(11<<2)|2,{48,100,0}}, +/* 1182 */ {(11<<2)|2,{48,100,0}}, +/* 1183 */ {(11<<2)|2,{48,100,0}}, +/* 1184 */ {(16<<2)|3,{48,102,48}}, +/* 1185 */ {(16<<2)|3,{48,102,49}}, +/* 1186 */ {(16<<2)|3,{48,102,50}}, +/* 1187 */ {(16<<2)|3,{48,102,97}}, +/* 1188 */ {(16<<2)|3,{48,102,99}}, +/* 1189 */ {(16<<2)|3,{48,102,101}}, +/* 1190 */ {(16<<2)|3,{48,102,105}}, +/* 1191 */ {(16<<2)|3,{48,102,111}}, +/* 1192 */ {(16<<2)|3,{48,102,115}}, +/* 1193 */ {(16<<2)|3,{48,102,116}}, +/* 1194 */ {(11<<2)|2,{48,102,0}}, +/* 1195 */ {(11<<2)|2,{48,102,0}}, +/* 1196 */ {(11<<2)|2,{48,102,0}}, +/* 1197 */ {(11<<2)|2,{48,102,0}}, +/* 1198 */ {(11<<2)|2,{48,102,0}}, +/* 1199 */ {(11<<2)|2,{48,102,0}}, +/* 1200 */ {(11<<2)|2,{48,102,0}}, +/* 1201 */ {(11<<2)|2,{48,102,0}}, +/* 1202 */ {(11<<2)|2,{48,102,0}}, +/* 1203 */ {(11<<2)|2,{48,102,0}}, +/* 1204 */ {(11<<2)|2,{48,102,0}}, +/* 1205 */ {(11<<2)|2,{48,102,0}}, +/* 1206 */ {(11<<2)|2,{48,102,0}}, +/* 1207 */ {(11<<2)|2,{48,102,0}}, +/* 1208 */ {(11<<2)|2,{48,102,0}}, +/* 1209 */ {(11<<2)|2,{48,102,0}}, +/* 1210 */ {(11<<2)|2,{48,102,0}}, +/* 1211 */ {(11<<2)|2,{48,102,0}}, +/* 1212 */ {(11<<2)|2,{48,102,0}}, +/* 1213 */ {(11<<2)|2,{48,102,0}}, +/* 1214 */ {(11<<2)|2,{48,102,0}}, +/* 1215 */ {(11<<2)|2,{48,102,0}}, +/* 1216 */ {(16<<2)|3,{48,103,48}}, +/* 1217 */ {(16<<2)|3,{48,103,49}}, +/* 1218 */ {(16<<2)|3,{48,103,50}}, +/* 1219 */ {(16<<2)|3,{48,103,97}}, +/* 1220 */ {(16<<2)|3,{48,103,99}}, +/* 1221 */ {(16<<2)|3,{48,103,101}}, +/* 1222 */ {(16<<2)|3,{48,103,105}}, +/* 1223 */ {(16<<2)|3,{48,103,111}}, +/* 1224 */ {(16<<2)|3,{48,103,115}}, +/* 1225 */ {(16<<2)|3,{48,103,116}}, +/* 1226 */ {(11<<2)|2,{48,103,0}}, +/* 1227 */ {(11<<2)|2,{48,103,0}}, +/* 1228 */ {(11<<2)|2,{48,103,0}}, +/* 1229 */ {(11<<2)|2,{48,103,0}}, +/* 1230 */ {(11<<2)|2,{48,103,0}}, +/* 1231 */ {(11<<2)|2,{48,103,0}}, +/* 1232 */ {(11<<2)|2,{48,103,0}}, +/* 1233 */ {(11<<2)|2,{48,103,0}}, +/* 1234 */ {(11<<2)|2,{48,103,0}}, +/* 1235 */ {(11<<2)|2,{48,103,0}}, +/* 1236 */ {(11<<2)|2,{48,103,0}}, +/* 1237 */ {(11<<2)|2,{48,103,0}}, +/* 1238 */ {(11<<2)|2,{48,103,0}}, +/* 1239 */ {(11<<2)|2,{48,103,0}}, +/* 1240 */ {(11<<2)|2,{48,103,0}}, +/* 1241 */ {(11<<2)|2,{48,103,0}}, +/* 1242 */ {(11<<2)|2,{48,103,0}}, +/* 1243 */ {(11<<2)|2,{48,103,0}}, +/* 1244 */ {(11<<2)|2,{48,103,0}}, +/* 1245 */ {(11<<2)|2,{48,103,0}}, +/* 1246 */ {(11<<2)|2,{48,103,0}}, +/* 1247 */ {(11<<2)|2,{48,103,0}}, +/* 1248 */ {(16<<2)|3,{48,104,48}}, +/* 1249 */ {(16<<2)|3,{48,104,49}}, +/* 1250 */ {(16<<2)|3,{48,104,50}}, +/* 1251 */ {(16<<2)|3,{48,104,97}}, +/* 1252 */ {(16<<2)|3,{48,104,99}}, +/* 1253 */ {(16<<2)|3,{48,104,101}}, +/* 1254 */ {(16<<2)|3,{48,104,105}}, +/* 1255 */ {(16<<2)|3,{48,104,111}}, +/* 1256 */ {(16<<2)|3,{48,104,115}}, +/* 1257 */ {(16<<2)|3,{48,104,116}}, +/* 1258 */ {(11<<2)|2,{48,104,0}}, +/* 1259 */ {(11<<2)|2,{48,104,0}}, +/* 1260 */ {(11<<2)|2,{48,104,0}}, +/* 1261 */ {(11<<2)|2,{48,104,0}}, +/* 1262 */ {(11<<2)|2,{48,104,0}}, +/* 1263 */ {(11<<2)|2,{48,104,0}}, +/* 1264 */ {(11<<2)|2,{48,104,0}}, +/* 1265 */ {(11<<2)|2,{48,104,0}}, +/* 1266 */ {(11<<2)|2,{48,104,0}}, +/* 1267 */ {(11<<2)|2,{48,104,0}}, +/* 1268 */ {(11<<2)|2,{48,104,0}}, +/* 1269 */ {(11<<2)|2,{48,104,0}}, +/* 1270 */ {(11<<2)|2,{48,104,0}}, +/* 1271 */ {(11<<2)|2,{48,104,0}}, +/* 1272 */ {(11<<2)|2,{48,104,0}}, +/* 1273 */ {(11<<2)|2,{48,104,0}}, +/* 1274 */ {(11<<2)|2,{48,104,0}}, +/* 1275 */ {(11<<2)|2,{48,104,0}}, +/* 1276 */ {(11<<2)|2,{48,104,0}}, +/* 1277 */ {(11<<2)|2,{48,104,0}}, +/* 1278 */ {(11<<2)|2,{48,104,0}}, +/* 1279 */ {(11<<2)|2,{48,104,0}}, +/* 1280 */ {(16<<2)|3,{48,108,48}}, +/* 1281 */ {(16<<2)|3,{48,108,49}}, +/* 1282 */ {(16<<2)|3,{48,108,50}}, +/* 1283 */ {(16<<2)|3,{48,108,97}}, +/* 1284 */ {(16<<2)|3,{48,108,99}}, +/* 1285 */ {(16<<2)|3,{48,108,101}}, +/* 1286 */ {(16<<2)|3,{48,108,105}}, +/* 1287 */ {(16<<2)|3,{48,108,111}}, +/* 1288 */ {(16<<2)|3,{48,108,115}}, +/* 1289 */ {(16<<2)|3,{48,108,116}}, +/* 1290 */ {(11<<2)|2,{48,108,0}}, +/* 1291 */ {(11<<2)|2,{48,108,0}}, +/* 1292 */ {(11<<2)|2,{48,108,0}}, +/* 1293 */ {(11<<2)|2,{48,108,0}}, +/* 1294 */ {(11<<2)|2,{48,108,0}}, +/* 1295 */ {(11<<2)|2,{48,108,0}}, +/* 1296 */ {(11<<2)|2,{48,108,0}}, +/* 1297 */ {(11<<2)|2,{48,108,0}}, +/* 1298 */ {(11<<2)|2,{48,108,0}}, +/* 1299 */ {(11<<2)|2,{48,108,0}}, +/* 1300 */ {(11<<2)|2,{48,108,0}}, +/* 1301 */ {(11<<2)|2,{48,108,0}}, +/* 1302 */ {(11<<2)|2,{48,108,0}}, +/* 1303 */ {(11<<2)|2,{48,108,0}}, +/* 1304 */ {(11<<2)|2,{48,108,0}}, +/* 1305 */ {(11<<2)|2,{48,108,0}}, +/* 1306 */ {(11<<2)|2,{48,108,0}}, +/* 1307 */ {(11<<2)|2,{48,108,0}}, +/* 1308 */ {(11<<2)|2,{48,108,0}}, +/* 1309 */ {(11<<2)|2,{48,108,0}}, +/* 1310 */ {(11<<2)|2,{48,108,0}}, +/* 1311 */ {(11<<2)|2,{48,108,0}}, +/* 1312 */ {(16<<2)|3,{48,109,48}}, +/* 1313 */ {(16<<2)|3,{48,109,49}}, +/* 1314 */ {(16<<2)|3,{48,109,50}}, +/* 1315 */ {(16<<2)|3,{48,109,97}}, +/* 1316 */ {(16<<2)|3,{48,109,99}}, +/* 1317 */ {(16<<2)|3,{48,109,101}}, +/* 1318 */ {(16<<2)|3,{48,109,105}}, +/* 1319 */ {(16<<2)|3,{48,109,111}}, +/* 1320 */ {(16<<2)|3,{48,109,115}}, +/* 1321 */ {(16<<2)|3,{48,109,116}}, +/* 1322 */ {(11<<2)|2,{48,109,0}}, +/* 1323 */ {(11<<2)|2,{48,109,0}}, +/* 1324 */ {(11<<2)|2,{48,109,0}}, +/* 1325 */ {(11<<2)|2,{48,109,0}}, +/* 1326 */ {(11<<2)|2,{48,109,0}}, +/* 1327 */ {(11<<2)|2,{48,109,0}}, +/* 1328 */ {(11<<2)|2,{48,109,0}}, +/* 1329 */ {(11<<2)|2,{48,109,0}}, +/* 1330 */ {(11<<2)|2,{48,109,0}}, +/* 1331 */ {(11<<2)|2,{48,109,0}}, +/* 1332 */ {(11<<2)|2,{48,109,0}}, +/* 1333 */ {(11<<2)|2,{48,109,0}}, +/* 1334 */ {(11<<2)|2,{48,109,0}}, +/* 1335 */ {(11<<2)|2,{48,109,0}}, +/* 1336 */ {(11<<2)|2,{48,109,0}}, +/* 1337 */ {(11<<2)|2,{48,109,0}}, +/* 1338 */ {(11<<2)|2,{48,109,0}}, +/* 1339 */ {(11<<2)|2,{48,109,0}}, +/* 1340 */ {(11<<2)|2,{48,109,0}}, +/* 1341 */ {(11<<2)|2,{48,109,0}}, +/* 1342 */ {(11<<2)|2,{48,109,0}}, +/* 1343 */ {(11<<2)|2,{48,109,0}}, +/* 1344 */ {(16<<2)|3,{48,110,48}}, +/* 1345 */ {(16<<2)|3,{48,110,49}}, +/* 1346 */ {(16<<2)|3,{48,110,50}}, +/* 1347 */ {(16<<2)|3,{48,110,97}}, +/* 1348 */ {(16<<2)|3,{48,110,99}}, +/* 1349 */ {(16<<2)|3,{48,110,101}}, +/* 1350 */ {(16<<2)|3,{48,110,105}}, +/* 1351 */ {(16<<2)|3,{48,110,111}}, +/* 1352 */ {(16<<2)|3,{48,110,115}}, +/* 1353 */ {(16<<2)|3,{48,110,116}}, +/* 1354 */ {(11<<2)|2,{48,110,0}}, +/* 1355 */ {(11<<2)|2,{48,110,0}}, +/* 1356 */ {(11<<2)|2,{48,110,0}}, +/* 1357 */ {(11<<2)|2,{48,110,0}}, +/* 1358 */ {(11<<2)|2,{48,110,0}}, +/* 1359 */ {(11<<2)|2,{48,110,0}}, +/* 1360 */ {(11<<2)|2,{48,110,0}}, +/* 1361 */ {(11<<2)|2,{48,110,0}}, +/* 1362 */ {(11<<2)|2,{48,110,0}}, +/* 1363 */ {(11<<2)|2,{48,110,0}}, +/* 1364 */ {(11<<2)|2,{48,110,0}}, +/* 1365 */ {(11<<2)|2,{48,110,0}}, +/* 1366 */ {(11<<2)|2,{48,110,0}}, +/* 1367 */ {(11<<2)|2,{48,110,0}}, +/* 1368 */ {(11<<2)|2,{48,110,0}}, +/* 1369 */ {(11<<2)|2,{48,110,0}}, +/* 1370 */ {(11<<2)|2,{48,110,0}}, +/* 1371 */ {(11<<2)|2,{48,110,0}}, +/* 1372 */ {(11<<2)|2,{48,110,0}}, +/* 1373 */ {(11<<2)|2,{48,110,0}}, +/* 1374 */ {(11<<2)|2,{48,110,0}}, +/* 1375 */ {(11<<2)|2,{48,110,0}}, +/* 1376 */ {(16<<2)|3,{48,112,48}}, +/* 1377 */ {(16<<2)|3,{48,112,49}}, +/* 1378 */ {(16<<2)|3,{48,112,50}}, +/* 1379 */ {(16<<2)|3,{48,112,97}}, +/* 1380 */ {(16<<2)|3,{48,112,99}}, +/* 1381 */ {(16<<2)|3,{48,112,101}}, +/* 1382 */ {(16<<2)|3,{48,112,105}}, +/* 1383 */ {(16<<2)|3,{48,112,111}}, +/* 1384 */ {(16<<2)|3,{48,112,115}}, +/* 1385 */ {(16<<2)|3,{48,112,116}}, +/* 1386 */ {(11<<2)|2,{48,112,0}}, +/* 1387 */ {(11<<2)|2,{48,112,0}}, +/* 1388 */ {(11<<2)|2,{48,112,0}}, +/* 1389 */ {(11<<2)|2,{48,112,0}}, +/* 1390 */ {(11<<2)|2,{48,112,0}}, +/* 1391 */ {(11<<2)|2,{48,112,0}}, +/* 1392 */ {(11<<2)|2,{48,112,0}}, +/* 1393 */ {(11<<2)|2,{48,112,0}}, +/* 1394 */ {(11<<2)|2,{48,112,0}}, +/* 1395 */ {(11<<2)|2,{48,112,0}}, +/* 1396 */ {(11<<2)|2,{48,112,0}}, +/* 1397 */ {(11<<2)|2,{48,112,0}}, +/* 1398 */ {(11<<2)|2,{48,112,0}}, +/* 1399 */ {(11<<2)|2,{48,112,0}}, +/* 1400 */ {(11<<2)|2,{48,112,0}}, +/* 1401 */ {(11<<2)|2,{48,112,0}}, +/* 1402 */ {(11<<2)|2,{48,112,0}}, +/* 1403 */ {(11<<2)|2,{48,112,0}}, +/* 1404 */ {(11<<2)|2,{48,112,0}}, +/* 1405 */ {(11<<2)|2,{48,112,0}}, +/* 1406 */ {(11<<2)|2,{48,112,0}}, +/* 1407 */ {(11<<2)|2,{48,112,0}}, +/* 1408 */ {(16<<2)|3,{48,114,48}}, +/* 1409 */ {(16<<2)|3,{48,114,49}}, +/* 1410 */ {(16<<2)|3,{48,114,50}}, +/* 1411 */ {(16<<2)|3,{48,114,97}}, +/* 1412 */ {(16<<2)|3,{48,114,99}}, +/* 1413 */ {(16<<2)|3,{48,114,101}}, +/* 1414 */ {(16<<2)|3,{48,114,105}}, +/* 1415 */ {(16<<2)|3,{48,114,111}}, +/* 1416 */ {(16<<2)|3,{48,114,115}}, +/* 1417 */ {(16<<2)|3,{48,114,116}}, +/* 1418 */ {(11<<2)|2,{48,114,0}}, +/* 1419 */ {(11<<2)|2,{48,114,0}}, +/* 1420 */ {(11<<2)|2,{48,114,0}}, +/* 1421 */ {(11<<2)|2,{48,114,0}}, +/* 1422 */ {(11<<2)|2,{48,114,0}}, +/* 1423 */ {(11<<2)|2,{48,114,0}}, +/* 1424 */ {(11<<2)|2,{48,114,0}}, +/* 1425 */ {(11<<2)|2,{48,114,0}}, +/* 1426 */ {(11<<2)|2,{48,114,0}}, +/* 1427 */ {(11<<2)|2,{48,114,0}}, +/* 1428 */ {(11<<2)|2,{48,114,0}}, +/* 1429 */ {(11<<2)|2,{48,114,0}}, +/* 1430 */ {(11<<2)|2,{48,114,0}}, +/* 1431 */ {(11<<2)|2,{48,114,0}}, +/* 1432 */ {(11<<2)|2,{48,114,0}}, +/* 1433 */ {(11<<2)|2,{48,114,0}}, +/* 1434 */ {(11<<2)|2,{48,114,0}}, +/* 1435 */ {(11<<2)|2,{48,114,0}}, +/* 1436 */ {(11<<2)|2,{48,114,0}}, +/* 1437 */ {(11<<2)|2,{48,114,0}}, +/* 1438 */ {(11<<2)|2,{48,114,0}}, +/* 1439 */ {(11<<2)|2,{48,114,0}}, +/* 1440 */ {(16<<2)|3,{48,117,48}}, +/* 1441 */ {(16<<2)|3,{48,117,49}}, +/* 1442 */ {(16<<2)|3,{48,117,50}}, +/* 1443 */ {(16<<2)|3,{48,117,97}}, +/* 1444 */ {(16<<2)|3,{48,117,99}}, +/* 1445 */ {(16<<2)|3,{48,117,101}}, +/* 1446 */ {(16<<2)|3,{48,117,105}}, +/* 1447 */ {(16<<2)|3,{48,117,111}}, +/* 1448 */ {(16<<2)|3,{48,117,115}}, +/* 1449 */ {(16<<2)|3,{48,117,116}}, +/* 1450 */ {(11<<2)|2,{48,117,0}}, +/* 1451 */ {(11<<2)|2,{48,117,0}}, +/* 1452 */ {(11<<2)|2,{48,117,0}}, +/* 1453 */ {(11<<2)|2,{48,117,0}}, +/* 1454 */ {(11<<2)|2,{48,117,0}}, +/* 1455 */ {(11<<2)|2,{48,117,0}}, +/* 1456 */ {(11<<2)|2,{48,117,0}}, +/* 1457 */ {(11<<2)|2,{48,117,0}}, +/* 1458 */ {(11<<2)|2,{48,117,0}}, +/* 1459 */ {(11<<2)|2,{48,117,0}}, +/* 1460 */ {(11<<2)|2,{48,117,0}}, +/* 1461 */ {(11<<2)|2,{48,117,0}}, +/* 1462 */ {(11<<2)|2,{48,117,0}}, +/* 1463 */ {(11<<2)|2,{48,117,0}}, +/* 1464 */ {(11<<2)|2,{48,117,0}}, +/* 1465 */ {(11<<2)|2,{48,117,0}}, +/* 1466 */ {(11<<2)|2,{48,117,0}}, +/* 1467 */ {(11<<2)|2,{48,117,0}}, +/* 1468 */ {(11<<2)|2,{48,117,0}}, +/* 1469 */ {(11<<2)|2,{48,117,0}}, +/* 1470 */ {(11<<2)|2,{48,117,0}}, +/* 1471 */ {(11<<2)|2,{48,117,0}}, +/* 1472 */ {(12<<2)|2,{48,58,0}}, +/* 1473 */ {(12<<2)|2,{48,58,0}}, +/* 1474 */ {(12<<2)|2,{48,58,0}}, +/* 1475 */ {(12<<2)|2,{48,58,0}}, +/* 1476 */ {(12<<2)|2,{48,58,0}}, +/* 1477 */ {(12<<2)|2,{48,58,0}}, +/* 1478 */ {(12<<2)|2,{48,58,0}}, +/* 1479 */ {(12<<2)|2,{48,58,0}}, +/* 1480 */ {(12<<2)|2,{48,58,0}}, +/* 1481 */ {(12<<2)|2,{48,58,0}}, +/* 1482 */ {(12<<2)|2,{48,58,0}}, +/* 1483 */ {(12<<2)|2,{48,58,0}}, +/* 1484 */ {(12<<2)|2,{48,58,0}}, +/* 1485 */ {(12<<2)|2,{48,58,0}}, +/* 1486 */ {(12<<2)|2,{48,58,0}}, +/* 1487 */ {(12<<2)|2,{48,58,0}}, +/* 1488 */ {(12<<2)|2,{48,66,0}}, +/* 1489 */ {(12<<2)|2,{48,66,0}}, +/* 1490 */ {(12<<2)|2,{48,66,0}}, +/* 1491 */ {(12<<2)|2,{48,66,0}}, +/* 1492 */ {(12<<2)|2,{48,66,0}}, +/* 1493 */ {(12<<2)|2,{48,66,0}}, +/* 1494 */ {(12<<2)|2,{48,66,0}}, +/* 1495 */ {(12<<2)|2,{48,66,0}}, +/* 1496 */ {(12<<2)|2,{48,66,0}}, +/* 1497 */ {(12<<2)|2,{48,66,0}}, +/* 1498 */ {(12<<2)|2,{48,66,0}}, +/* 1499 */ {(12<<2)|2,{48,66,0}}, +/* 1500 */ {(12<<2)|2,{48,66,0}}, +/* 1501 */ {(12<<2)|2,{48,66,0}}, +/* 1502 */ {(12<<2)|2,{48,66,0}}, +/* 1503 */ {(12<<2)|2,{48,66,0}}, +/* 1504 */ {(12<<2)|2,{48,67,0}}, +/* 1505 */ {(12<<2)|2,{48,67,0}}, +/* 1506 */ {(12<<2)|2,{48,67,0}}, +/* 1507 */ {(12<<2)|2,{48,67,0}}, +/* 1508 */ {(12<<2)|2,{48,67,0}}, +/* 1509 */ {(12<<2)|2,{48,67,0}}, +/* 1510 */ {(12<<2)|2,{48,67,0}}, +/* 1511 */ {(12<<2)|2,{48,67,0}}, +/* 1512 */ {(12<<2)|2,{48,67,0}}, +/* 1513 */ {(12<<2)|2,{48,67,0}}, +/* 1514 */ {(12<<2)|2,{48,67,0}}, +/* 1515 */ {(12<<2)|2,{48,67,0}}, +/* 1516 */ {(12<<2)|2,{48,67,0}}, +/* 1517 */ {(12<<2)|2,{48,67,0}}, +/* 1518 */ {(12<<2)|2,{48,67,0}}, +/* 1519 */ {(12<<2)|2,{48,67,0}}, +/* 1520 */ {(12<<2)|2,{48,68,0}}, +/* 1521 */ {(12<<2)|2,{48,68,0}}, +/* 1522 */ {(12<<2)|2,{48,68,0}}, +/* 1523 */ {(12<<2)|2,{48,68,0}}, +/* 1524 */ {(12<<2)|2,{48,68,0}}, +/* 1525 */ {(12<<2)|2,{48,68,0}}, +/* 1526 */ {(12<<2)|2,{48,68,0}}, +/* 1527 */ {(12<<2)|2,{48,68,0}}, +/* 1528 */ {(12<<2)|2,{48,68,0}}, +/* 1529 */ {(12<<2)|2,{48,68,0}}, +/* 1530 */ {(12<<2)|2,{48,68,0}}, +/* 1531 */ {(12<<2)|2,{48,68,0}}, +/* 1532 */ {(12<<2)|2,{48,68,0}}, +/* 1533 */ {(12<<2)|2,{48,68,0}}, +/* 1534 */ {(12<<2)|2,{48,68,0}}, +/* 1535 */ {(12<<2)|2,{48,68,0}}, +/* 1536 */ {(12<<2)|2,{48,69,0}}, +/* 1537 */ {(12<<2)|2,{48,69,0}}, +/* 1538 */ {(12<<2)|2,{48,69,0}}, +/* 1539 */ {(12<<2)|2,{48,69,0}}, +/* 1540 */ {(12<<2)|2,{48,69,0}}, +/* 1541 */ {(12<<2)|2,{48,69,0}}, +/* 1542 */ {(12<<2)|2,{48,69,0}}, +/* 1543 */ {(12<<2)|2,{48,69,0}}, +/* 1544 */ {(12<<2)|2,{48,69,0}}, +/* 1545 */ {(12<<2)|2,{48,69,0}}, +/* 1546 */ {(12<<2)|2,{48,69,0}}, +/* 1547 */ {(12<<2)|2,{48,69,0}}, +/* 1548 */ {(12<<2)|2,{48,69,0}}, +/* 1549 */ {(12<<2)|2,{48,69,0}}, +/* 1550 */ {(12<<2)|2,{48,69,0}}, +/* 1551 */ {(12<<2)|2,{48,69,0}}, +/* 1552 */ {(12<<2)|2,{48,70,0}}, +/* 1553 */ {(12<<2)|2,{48,70,0}}, +/* 1554 */ {(12<<2)|2,{48,70,0}}, +/* 1555 */ {(12<<2)|2,{48,70,0}}, +/* 1556 */ {(12<<2)|2,{48,70,0}}, +/* 1557 */ {(12<<2)|2,{48,70,0}}, +/* 1558 */ {(12<<2)|2,{48,70,0}}, +/* 1559 */ {(12<<2)|2,{48,70,0}}, +/* 1560 */ {(12<<2)|2,{48,70,0}}, +/* 1561 */ {(12<<2)|2,{48,70,0}}, +/* 1562 */ {(12<<2)|2,{48,70,0}}, +/* 1563 */ {(12<<2)|2,{48,70,0}}, +/* 1564 */ {(12<<2)|2,{48,70,0}}, +/* 1565 */ {(12<<2)|2,{48,70,0}}, +/* 1566 */ {(12<<2)|2,{48,70,0}}, +/* 1567 */ {(12<<2)|2,{48,70,0}}, +/* 1568 */ {(12<<2)|2,{48,71,0}}, +/* 1569 */ {(12<<2)|2,{48,71,0}}, +/* 1570 */ {(12<<2)|2,{48,71,0}}, +/* 1571 */ {(12<<2)|2,{48,71,0}}, +/* 1572 */ {(12<<2)|2,{48,71,0}}, +/* 1573 */ {(12<<2)|2,{48,71,0}}, +/* 1574 */ {(12<<2)|2,{48,71,0}}, +/* 1575 */ {(12<<2)|2,{48,71,0}}, +/* 1576 */ {(12<<2)|2,{48,71,0}}, +/* 1577 */ {(12<<2)|2,{48,71,0}}, +/* 1578 */ {(12<<2)|2,{48,71,0}}, +/* 1579 */ {(12<<2)|2,{48,71,0}}, +/* 1580 */ {(12<<2)|2,{48,71,0}}, +/* 1581 */ {(12<<2)|2,{48,71,0}}, +/* 1582 */ {(12<<2)|2,{48,71,0}}, +/* 1583 */ {(12<<2)|2,{48,71,0}}, +/* 1584 */ {(12<<2)|2,{48,72,0}}, +/* 1585 */ {(12<<2)|2,{48,72,0}}, +/* 1586 */ {(12<<2)|2,{48,72,0}}, +/* 1587 */ {(12<<2)|2,{48,72,0}}, +/* 1588 */ {(12<<2)|2,{48,72,0}}, +/* 1589 */ {(12<<2)|2,{48,72,0}}, +/* 1590 */ {(12<<2)|2,{48,72,0}}, +/* 1591 */ {(12<<2)|2,{48,72,0}}, +/* 1592 */ {(12<<2)|2,{48,72,0}}, +/* 1593 */ {(12<<2)|2,{48,72,0}}, +/* 1594 */ {(12<<2)|2,{48,72,0}}, +/* 1595 */ {(12<<2)|2,{48,72,0}}, +/* 1596 */ {(12<<2)|2,{48,72,0}}, +/* 1597 */ {(12<<2)|2,{48,72,0}}, +/* 1598 */ {(12<<2)|2,{48,72,0}}, +/* 1599 */ {(12<<2)|2,{48,72,0}}, +/* 1600 */ {(12<<2)|2,{48,73,0}}, +/* 1601 */ {(12<<2)|2,{48,73,0}}, +/* 1602 */ {(12<<2)|2,{48,73,0}}, +/* 1603 */ {(12<<2)|2,{48,73,0}}, +/* 1604 */ {(12<<2)|2,{48,73,0}}, +/* 1605 */ {(12<<2)|2,{48,73,0}}, +/* 1606 */ {(12<<2)|2,{48,73,0}}, +/* 1607 */ {(12<<2)|2,{48,73,0}}, +/* 1608 */ {(12<<2)|2,{48,73,0}}, +/* 1609 */ {(12<<2)|2,{48,73,0}}, +/* 1610 */ {(12<<2)|2,{48,73,0}}, +/* 1611 */ {(12<<2)|2,{48,73,0}}, +/* 1612 */ {(12<<2)|2,{48,73,0}}, +/* 1613 */ {(12<<2)|2,{48,73,0}}, +/* 1614 */ {(12<<2)|2,{48,73,0}}, +/* 1615 */ {(12<<2)|2,{48,73,0}}, +/* 1616 */ {(12<<2)|2,{48,74,0}}, +/* 1617 */ {(12<<2)|2,{48,74,0}}, +/* 1618 */ {(12<<2)|2,{48,74,0}}, +/* 1619 */ {(12<<2)|2,{48,74,0}}, +/* 1620 */ {(12<<2)|2,{48,74,0}}, +/* 1621 */ {(12<<2)|2,{48,74,0}}, +/* 1622 */ {(12<<2)|2,{48,74,0}}, +/* 1623 */ {(12<<2)|2,{48,74,0}}, +/* 1624 */ {(12<<2)|2,{48,74,0}}, +/* 1625 */ {(12<<2)|2,{48,74,0}}, +/* 1626 */ {(12<<2)|2,{48,74,0}}, +/* 1627 */ {(12<<2)|2,{48,74,0}}, +/* 1628 */ {(12<<2)|2,{48,74,0}}, +/* 1629 */ {(12<<2)|2,{48,74,0}}, +/* 1630 */ {(12<<2)|2,{48,74,0}}, +/* 1631 */ {(12<<2)|2,{48,74,0}}, +/* 1632 */ {(12<<2)|2,{48,75,0}}, +/* 1633 */ {(12<<2)|2,{48,75,0}}, +/* 1634 */ {(12<<2)|2,{48,75,0}}, +/* 1635 */ {(12<<2)|2,{48,75,0}}, +/* 1636 */ {(12<<2)|2,{48,75,0}}, +/* 1637 */ {(12<<2)|2,{48,75,0}}, +/* 1638 */ {(12<<2)|2,{48,75,0}}, +/* 1639 */ {(12<<2)|2,{48,75,0}}, +/* 1640 */ {(12<<2)|2,{48,75,0}}, +/* 1641 */ {(12<<2)|2,{48,75,0}}, +/* 1642 */ {(12<<2)|2,{48,75,0}}, +/* 1643 */ {(12<<2)|2,{48,75,0}}, +/* 1644 */ {(12<<2)|2,{48,75,0}}, +/* 1645 */ {(12<<2)|2,{48,75,0}}, +/* 1646 */ {(12<<2)|2,{48,75,0}}, +/* 1647 */ {(12<<2)|2,{48,75,0}}, +/* 1648 */ {(12<<2)|2,{48,76,0}}, +/* 1649 */ {(12<<2)|2,{48,76,0}}, +/* 1650 */ {(12<<2)|2,{48,76,0}}, +/* 1651 */ {(12<<2)|2,{48,76,0}}, +/* 1652 */ {(12<<2)|2,{48,76,0}}, +/* 1653 */ {(12<<2)|2,{48,76,0}}, +/* 1654 */ {(12<<2)|2,{48,76,0}}, +/* 1655 */ {(12<<2)|2,{48,76,0}}, +/* 1656 */ {(12<<2)|2,{48,76,0}}, +/* 1657 */ {(12<<2)|2,{48,76,0}}, +/* 1658 */ {(12<<2)|2,{48,76,0}}, +/* 1659 */ {(12<<2)|2,{48,76,0}}, +/* 1660 */ {(12<<2)|2,{48,76,0}}, +/* 1661 */ {(12<<2)|2,{48,76,0}}, +/* 1662 */ {(12<<2)|2,{48,76,0}}, +/* 1663 */ {(12<<2)|2,{48,76,0}}, +/* 1664 */ {(12<<2)|2,{48,77,0}}, +/* 1665 */ {(12<<2)|2,{48,77,0}}, +/* 1666 */ {(12<<2)|2,{48,77,0}}, +/* 1667 */ {(12<<2)|2,{48,77,0}}, +/* 1668 */ {(12<<2)|2,{48,77,0}}, +/* 1669 */ {(12<<2)|2,{48,77,0}}, +/* 1670 */ {(12<<2)|2,{48,77,0}}, +/* 1671 */ {(12<<2)|2,{48,77,0}}, +/* 1672 */ {(12<<2)|2,{48,77,0}}, +/* 1673 */ {(12<<2)|2,{48,77,0}}, +/* 1674 */ {(12<<2)|2,{48,77,0}}, +/* 1675 */ {(12<<2)|2,{48,77,0}}, +/* 1676 */ {(12<<2)|2,{48,77,0}}, +/* 1677 */ {(12<<2)|2,{48,77,0}}, +/* 1678 */ {(12<<2)|2,{48,77,0}}, +/* 1679 */ {(12<<2)|2,{48,77,0}}, +/* 1680 */ {(12<<2)|2,{48,78,0}}, +/* 1681 */ {(12<<2)|2,{48,78,0}}, +/* 1682 */ {(12<<2)|2,{48,78,0}}, +/* 1683 */ {(12<<2)|2,{48,78,0}}, +/* 1684 */ {(12<<2)|2,{48,78,0}}, +/* 1685 */ {(12<<2)|2,{48,78,0}}, +/* 1686 */ {(12<<2)|2,{48,78,0}}, +/* 1687 */ {(12<<2)|2,{48,78,0}}, +/* 1688 */ {(12<<2)|2,{48,78,0}}, +/* 1689 */ {(12<<2)|2,{48,78,0}}, +/* 1690 */ {(12<<2)|2,{48,78,0}}, +/* 1691 */ {(12<<2)|2,{48,78,0}}, +/* 1692 */ {(12<<2)|2,{48,78,0}}, +/* 1693 */ {(12<<2)|2,{48,78,0}}, +/* 1694 */ {(12<<2)|2,{48,78,0}}, +/* 1695 */ {(12<<2)|2,{48,78,0}}, +/* 1696 */ {(12<<2)|2,{48,79,0}}, +/* 1697 */ {(12<<2)|2,{48,79,0}}, +/* 1698 */ {(12<<2)|2,{48,79,0}}, +/* 1699 */ {(12<<2)|2,{48,79,0}}, +/* 1700 */ {(12<<2)|2,{48,79,0}}, +/* 1701 */ {(12<<2)|2,{48,79,0}}, +/* 1702 */ {(12<<2)|2,{48,79,0}}, +/* 1703 */ {(12<<2)|2,{48,79,0}}, +/* 1704 */ {(12<<2)|2,{48,79,0}}, +/* 1705 */ {(12<<2)|2,{48,79,0}}, +/* 1706 */ {(12<<2)|2,{48,79,0}}, +/* 1707 */ {(12<<2)|2,{48,79,0}}, +/* 1708 */ {(12<<2)|2,{48,79,0}}, +/* 1709 */ {(12<<2)|2,{48,79,0}}, +/* 1710 */ {(12<<2)|2,{48,79,0}}, +/* 1711 */ {(12<<2)|2,{48,79,0}}, +/* 1712 */ {(12<<2)|2,{48,80,0}}, +/* 1713 */ {(12<<2)|2,{48,80,0}}, +/* 1714 */ {(12<<2)|2,{48,80,0}}, +/* 1715 */ {(12<<2)|2,{48,80,0}}, +/* 1716 */ {(12<<2)|2,{48,80,0}}, +/* 1717 */ {(12<<2)|2,{48,80,0}}, +/* 1718 */ {(12<<2)|2,{48,80,0}}, +/* 1719 */ {(12<<2)|2,{48,80,0}}, +/* 1720 */ {(12<<2)|2,{48,80,0}}, +/* 1721 */ {(12<<2)|2,{48,80,0}}, +/* 1722 */ {(12<<2)|2,{48,80,0}}, +/* 1723 */ {(12<<2)|2,{48,80,0}}, +/* 1724 */ {(12<<2)|2,{48,80,0}}, +/* 1725 */ {(12<<2)|2,{48,80,0}}, +/* 1726 */ {(12<<2)|2,{48,80,0}}, +/* 1727 */ {(12<<2)|2,{48,80,0}}, +/* 1728 */ {(12<<2)|2,{48,81,0}}, +/* 1729 */ {(12<<2)|2,{48,81,0}}, +/* 1730 */ {(12<<2)|2,{48,81,0}}, +/* 1731 */ {(12<<2)|2,{48,81,0}}, +/* 1732 */ {(12<<2)|2,{48,81,0}}, +/* 1733 */ {(12<<2)|2,{48,81,0}}, +/* 1734 */ {(12<<2)|2,{48,81,0}}, +/* 1735 */ {(12<<2)|2,{48,81,0}}, +/* 1736 */ {(12<<2)|2,{48,81,0}}, +/* 1737 */ {(12<<2)|2,{48,81,0}}, +/* 1738 */ {(12<<2)|2,{48,81,0}}, +/* 1739 */ {(12<<2)|2,{48,81,0}}, +/* 1740 */ {(12<<2)|2,{48,81,0}}, +/* 1741 */ {(12<<2)|2,{48,81,0}}, +/* 1742 */ {(12<<2)|2,{48,81,0}}, +/* 1743 */ {(12<<2)|2,{48,81,0}}, +/* 1744 */ {(12<<2)|2,{48,82,0}}, +/* 1745 */ {(12<<2)|2,{48,82,0}}, +/* 1746 */ {(12<<2)|2,{48,82,0}}, +/* 1747 */ {(12<<2)|2,{48,82,0}}, +/* 1748 */ {(12<<2)|2,{48,82,0}}, +/* 1749 */ {(12<<2)|2,{48,82,0}}, +/* 1750 */ {(12<<2)|2,{48,82,0}}, +/* 1751 */ {(12<<2)|2,{48,82,0}}, +/* 1752 */ {(12<<2)|2,{48,82,0}}, +/* 1753 */ {(12<<2)|2,{48,82,0}}, +/* 1754 */ {(12<<2)|2,{48,82,0}}, +/* 1755 */ {(12<<2)|2,{48,82,0}}, +/* 1756 */ {(12<<2)|2,{48,82,0}}, +/* 1757 */ {(12<<2)|2,{48,82,0}}, +/* 1758 */ {(12<<2)|2,{48,82,0}}, +/* 1759 */ {(12<<2)|2,{48,82,0}}, +/* 1760 */ {(12<<2)|2,{48,83,0}}, +/* 1761 */ {(12<<2)|2,{48,83,0}}, +/* 1762 */ {(12<<2)|2,{48,83,0}}, +/* 1763 */ {(12<<2)|2,{48,83,0}}, +/* 1764 */ {(12<<2)|2,{48,83,0}}, +/* 1765 */ {(12<<2)|2,{48,83,0}}, +/* 1766 */ {(12<<2)|2,{48,83,0}}, +/* 1767 */ {(12<<2)|2,{48,83,0}}, +/* 1768 */ {(12<<2)|2,{48,83,0}}, +/* 1769 */ {(12<<2)|2,{48,83,0}}, +/* 1770 */ {(12<<2)|2,{48,83,0}}, +/* 1771 */ {(12<<2)|2,{48,83,0}}, +/* 1772 */ {(12<<2)|2,{48,83,0}}, +/* 1773 */ {(12<<2)|2,{48,83,0}}, +/* 1774 */ {(12<<2)|2,{48,83,0}}, +/* 1775 */ {(12<<2)|2,{48,83,0}}, +/* 1776 */ {(12<<2)|2,{48,84,0}}, +/* 1777 */ {(12<<2)|2,{48,84,0}}, +/* 1778 */ {(12<<2)|2,{48,84,0}}, +/* 1779 */ {(12<<2)|2,{48,84,0}}, +/* 1780 */ {(12<<2)|2,{48,84,0}}, +/* 1781 */ {(12<<2)|2,{48,84,0}}, +/* 1782 */ {(12<<2)|2,{48,84,0}}, +/* 1783 */ {(12<<2)|2,{48,84,0}}, +/* 1784 */ {(12<<2)|2,{48,84,0}}, +/* 1785 */ {(12<<2)|2,{48,84,0}}, +/* 1786 */ {(12<<2)|2,{48,84,0}}, +/* 1787 */ {(12<<2)|2,{48,84,0}}, +/* 1788 */ {(12<<2)|2,{48,84,0}}, +/* 1789 */ {(12<<2)|2,{48,84,0}}, +/* 1790 */ {(12<<2)|2,{48,84,0}}, +/* 1791 */ {(12<<2)|2,{48,84,0}}, +/* 1792 */ {(12<<2)|2,{48,85,0}}, +/* 1793 */ {(12<<2)|2,{48,85,0}}, +/* 1794 */ {(12<<2)|2,{48,85,0}}, +/* 1795 */ {(12<<2)|2,{48,85,0}}, +/* 1796 */ {(12<<2)|2,{48,85,0}}, +/* 1797 */ {(12<<2)|2,{48,85,0}}, +/* 1798 */ {(12<<2)|2,{48,85,0}}, +/* 1799 */ {(12<<2)|2,{48,85,0}}, +/* 1800 */ {(12<<2)|2,{48,85,0}}, +/* 1801 */ {(12<<2)|2,{48,85,0}}, +/* 1802 */ {(12<<2)|2,{48,85,0}}, +/* 1803 */ {(12<<2)|2,{48,85,0}}, +/* 1804 */ {(12<<2)|2,{48,85,0}}, +/* 1805 */ {(12<<2)|2,{48,85,0}}, +/* 1806 */ {(12<<2)|2,{48,85,0}}, +/* 1807 */ {(12<<2)|2,{48,85,0}}, +/* 1808 */ {(12<<2)|2,{48,86,0}}, +/* 1809 */ {(12<<2)|2,{48,86,0}}, +/* 1810 */ {(12<<2)|2,{48,86,0}}, +/* 1811 */ {(12<<2)|2,{48,86,0}}, +/* 1812 */ {(12<<2)|2,{48,86,0}}, +/* 1813 */ {(12<<2)|2,{48,86,0}}, +/* 1814 */ {(12<<2)|2,{48,86,0}}, +/* 1815 */ {(12<<2)|2,{48,86,0}}, +/* 1816 */ {(12<<2)|2,{48,86,0}}, +/* 1817 */ {(12<<2)|2,{48,86,0}}, +/* 1818 */ {(12<<2)|2,{48,86,0}}, +/* 1819 */ {(12<<2)|2,{48,86,0}}, +/* 1820 */ {(12<<2)|2,{48,86,0}}, +/* 1821 */ {(12<<2)|2,{48,86,0}}, +/* 1822 */ {(12<<2)|2,{48,86,0}}, +/* 1823 */ {(12<<2)|2,{48,86,0}}, +/* 1824 */ {(12<<2)|2,{48,87,0}}, +/* 1825 */ {(12<<2)|2,{48,87,0}}, +/* 1826 */ {(12<<2)|2,{48,87,0}}, +/* 1827 */ {(12<<2)|2,{48,87,0}}, +/* 1828 */ {(12<<2)|2,{48,87,0}}, +/* 1829 */ {(12<<2)|2,{48,87,0}}, +/* 1830 */ {(12<<2)|2,{48,87,0}}, +/* 1831 */ {(12<<2)|2,{48,87,0}}, +/* 1832 */ {(12<<2)|2,{48,87,0}}, +/* 1833 */ {(12<<2)|2,{48,87,0}}, +/* 1834 */ {(12<<2)|2,{48,87,0}}, +/* 1835 */ {(12<<2)|2,{48,87,0}}, +/* 1836 */ {(12<<2)|2,{48,87,0}}, +/* 1837 */ {(12<<2)|2,{48,87,0}}, +/* 1838 */ {(12<<2)|2,{48,87,0}}, +/* 1839 */ {(12<<2)|2,{48,87,0}}, +/* 1840 */ {(12<<2)|2,{48,89,0}}, +/* 1841 */ {(12<<2)|2,{48,89,0}}, +/* 1842 */ {(12<<2)|2,{48,89,0}}, +/* 1843 */ {(12<<2)|2,{48,89,0}}, +/* 1844 */ {(12<<2)|2,{48,89,0}}, +/* 1845 */ {(12<<2)|2,{48,89,0}}, +/* 1846 */ {(12<<2)|2,{48,89,0}}, +/* 1847 */ {(12<<2)|2,{48,89,0}}, +/* 1848 */ {(12<<2)|2,{48,89,0}}, +/* 1849 */ {(12<<2)|2,{48,89,0}}, +/* 1850 */ {(12<<2)|2,{48,89,0}}, +/* 1851 */ {(12<<2)|2,{48,89,0}}, +/* 1852 */ {(12<<2)|2,{48,89,0}}, +/* 1853 */ {(12<<2)|2,{48,89,0}}, +/* 1854 */ {(12<<2)|2,{48,89,0}}, +/* 1855 */ {(12<<2)|2,{48,89,0}}, +/* 1856 */ {(12<<2)|2,{48,106,0}}, +/* 1857 */ {(12<<2)|2,{48,106,0}}, +/* 1858 */ {(12<<2)|2,{48,106,0}}, +/* 1859 */ {(12<<2)|2,{48,106,0}}, +/* 1860 */ {(12<<2)|2,{48,106,0}}, +/* 1861 */ {(12<<2)|2,{48,106,0}}, +/* 1862 */ {(12<<2)|2,{48,106,0}}, +/* 1863 */ {(12<<2)|2,{48,106,0}}, +/* 1864 */ {(12<<2)|2,{48,106,0}}, +/* 1865 */ {(12<<2)|2,{48,106,0}}, +/* 1866 */ {(12<<2)|2,{48,106,0}}, +/* 1867 */ {(12<<2)|2,{48,106,0}}, +/* 1868 */ {(12<<2)|2,{48,106,0}}, +/* 1869 */ {(12<<2)|2,{48,106,0}}, +/* 1870 */ {(12<<2)|2,{48,106,0}}, +/* 1871 */ {(12<<2)|2,{48,106,0}}, +/* 1872 */ {(12<<2)|2,{48,107,0}}, +/* 1873 */ {(12<<2)|2,{48,107,0}}, +/* 1874 */ {(12<<2)|2,{48,107,0}}, +/* 1875 */ {(12<<2)|2,{48,107,0}}, +/* 1876 */ {(12<<2)|2,{48,107,0}}, +/* 1877 */ {(12<<2)|2,{48,107,0}}, +/* 1878 */ {(12<<2)|2,{48,107,0}}, +/* 1879 */ {(12<<2)|2,{48,107,0}}, +/* 1880 */ {(12<<2)|2,{48,107,0}}, +/* 1881 */ {(12<<2)|2,{48,107,0}}, +/* 1882 */ {(12<<2)|2,{48,107,0}}, +/* 1883 */ {(12<<2)|2,{48,107,0}}, +/* 1884 */ {(12<<2)|2,{48,107,0}}, +/* 1885 */ {(12<<2)|2,{48,107,0}}, +/* 1886 */ {(12<<2)|2,{48,107,0}}, +/* 1887 */ {(12<<2)|2,{48,107,0}}, +/* 1888 */ {(12<<2)|2,{48,113,0}}, +/* 1889 */ {(12<<2)|2,{48,113,0}}, +/* 1890 */ {(12<<2)|2,{48,113,0}}, +/* 1891 */ {(12<<2)|2,{48,113,0}}, +/* 1892 */ {(12<<2)|2,{48,113,0}}, +/* 1893 */ {(12<<2)|2,{48,113,0}}, +/* 1894 */ {(12<<2)|2,{48,113,0}}, +/* 1895 */ {(12<<2)|2,{48,113,0}}, +/* 1896 */ {(12<<2)|2,{48,113,0}}, +/* 1897 */ {(12<<2)|2,{48,113,0}}, +/* 1898 */ {(12<<2)|2,{48,113,0}}, +/* 1899 */ {(12<<2)|2,{48,113,0}}, +/* 1900 */ {(12<<2)|2,{48,113,0}}, +/* 1901 */ {(12<<2)|2,{48,113,0}}, +/* 1902 */ {(12<<2)|2,{48,113,0}}, +/* 1903 */ {(12<<2)|2,{48,113,0}}, +/* 1904 */ {(12<<2)|2,{48,118,0}}, +/* 1905 */ {(12<<2)|2,{48,118,0}}, +/* 1906 */ {(12<<2)|2,{48,118,0}}, +/* 1907 */ {(12<<2)|2,{48,118,0}}, +/* 1908 */ {(12<<2)|2,{48,118,0}}, +/* 1909 */ {(12<<2)|2,{48,118,0}}, +/* 1910 */ {(12<<2)|2,{48,118,0}}, +/* 1911 */ {(12<<2)|2,{48,118,0}}, +/* 1912 */ {(12<<2)|2,{48,118,0}}, +/* 1913 */ {(12<<2)|2,{48,118,0}}, +/* 1914 */ {(12<<2)|2,{48,118,0}}, +/* 1915 */ {(12<<2)|2,{48,118,0}}, +/* 1916 */ {(12<<2)|2,{48,118,0}}, +/* 1917 */ {(12<<2)|2,{48,118,0}}, +/* 1918 */ {(12<<2)|2,{48,118,0}}, +/* 1919 */ {(12<<2)|2,{48,118,0}}, +/* 1920 */ {(12<<2)|2,{48,119,0}}, +/* 1921 */ {(12<<2)|2,{48,119,0}}, +/* 1922 */ {(12<<2)|2,{48,119,0}}, +/* 1923 */ {(12<<2)|2,{48,119,0}}, +/* 1924 */ {(12<<2)|2,{48,119,0}}, +/* 1925 */ {(12<<2)|2,{48,119,0}}, +/* 1926 */ {(12<<2)|2,{48,119,0}}, +/* 1927 */ {(12<<2)|2,{48,119,0}}, +/* 1928 */ {(12<<2)|2,{48,119,0}}, +/* 1929 */ {(12<<2)|2,{48,119,0}}, +/* 1930 */ {(12<<2)|2,{48,119,0}}, +/* 1931 */ {(12<<2)|2,{48,119,0}}, +/* 1932 */ {(12<<2)|2,{48,119,0}}, +/* 1933 */ {(12<<2)|2,{48,119,0}}, +/* 1934 */ {(12<<2)|2,{48,119,0}}, +/* 1935 */ {(12<<2)|2,{48,119,0}}, +/* 1936 */ {(12<<2)|2,{48,120,0}}, +/* 1937 */ {(12<<2)|2,{48,120,0}}, +/* 1938 */ {(12<<2)|2,{48,120,0}}, +/* 1939 */ {(12<<2)|2,{48,120,0}}, +/* 1940 */ {(12<<2)|2,{48,120,0}}, +/* 1941 */ {(12<<2)|2,{48,120,0}}, +/* 1942 */ {(12<<2)|2,{48,120,0}}, +/* 1943 */ {(12<<2)|2,{48,120,0}}, +/* 1944 */ {(12<<2)|2,{48,120,0}}, +/* 1945 */ {(12<<2)|2,{48,120,0}}, +/* 1946 */ {(12<<2)|2,{48,120,0}}, +/* 1947 */ {(12<<2)|2,{48,120,0}}, +/* 1948 */ {(12<<2)|2,{48,120,0}}, +/* 1949 */ {(12<<2)|2,{48,120,0}}, +/* 1950 */ {(12<<2)|2,{48,120,0}}, +/* 1951 */ {(12<<2)|2,{48,120,0}}, +/* 1952 */ {(12<<2)|2,{48,121,0}}, +/* 1953 */ {(12<<2)|2,{48,121,0}}, +/* 1954 */ {(12<<2)|2,{48,121,0}}, +/* 1955 */ {(12<<2)|2,{48,121,0}}, +/* 1956 */ {(12<<2)|2,{48,121,0}}, +/* 1957 */ {(12<<2)|2,{48,121,0}}, +/* 1958 */ {(12<<2)|2,{48,121,0}}, +/* 1959 */ {(12<<2)|2,{48,121,0}}, +/* 1960 */ {(12<<2)|2,{48,121,0}}, +/* 1961 */ {(12<<2)|2,{48,121,0}}, +/* 1962 */ {(12<<2)|2,{48,121,0}}, +/* 1963 */ {(12<<2)|2,{48,121,0}}, +/* 1964 */ {(12<<2)|2,{48,121,0}}, +/* 1965 */ {(12<<2)|2,{48,121,0}}, +/* 1966 */ {(12<<2)|2,{48,121,0}}, +/* 1967 */ {(12<<2)|2,{48,121,0}}, +/* 1968 */ {(12<<2)|2,{48,122,0}}, +/* 1969 */ {(12<<2)|2,{48,122,0}}, +/* 1970 */ {(12<<2)|2,{48,122,0}}, +/* 1971 */ {(12<<2)|2,{48,122,0}}, +/* 1972 */ {(12<<2)|2,{48,122,0}}, +/* 1973 */ {(12<<2)|2,{48,122,0}}, +/* 1974 */ {(12<<2)|2,{48,122,0}}, +/* 1975 */ {(12<<2)|2,{48,122,0}}, +/* 1976 */ {(12<<2)|2,{48,122,0}}, +/* 1977 */ {(12<<2)|2,{48,122,0}}, +/* 1978 */ {(12<<2)|2,{48,122,0}}, +/* 1979 */ {(12<<2)|2,{48,122,0}}, +/* 1980 */ {(12<<2)|2,{48,122,0}}, +/* 1981 */ {(12<<2)|2,{48,122,0}}, +/* 1982 */ {(12<<2)|2,{48,122,0}}, +/* 1983 */ {(12<<2)|2,{48,122,0}}, +/* 1984 */ {(13<<2)|2,{48,38,0}}, +/* 1985 */ {(13<<2)|2,{48,38,0}}, +/* 1986 */ {(13<<2)|2,{48,38,0}}, +/* 1987 */ {(13<<2)|2,{48,38,0}}, +/* 1988 */ {(13<<2)|2,{48,38,0}}, +/* 1989 */ {(13<<2)|2,{48,38,0}}, +/* 1990 */ {(13<<2)|2,{48,38,0}}, +/* 1991 */ {(13<<2)|2,{48,38,0}}, +/* 1992 */ {(13<<2)|2,{48,42,0}}, +/* 1993 */ {(13<<2)|2,{48,42,0}}, +/* 1994 */ {(13<<2)|2,{48,42,0}}, +/* 1995 */ {(13<<2)|2,{48,42,0}}, +/* 1996 */ {(13<<2)|2,{48,42,0}}, +/* 1997 */ {(13<<2)|2,{48,42,0}}, +/* 1998 */ {(13<<2)|2,{48,42,0}}, +/* 1999 */ {(13<<2)|2,{48,42,0}}, +/* 2000 */ {(13<<2)|2,{48,44,0}}, +/* 2001 */ {(13<<2)|2,{48,44,0}}, +/* 2002 */ {(13<<2)|2,{48,44,0}}, +/* 2003 */ {(13<<2)|2,{48,44,0}}, +/* 2004 */ {(13<<2)|2,{48,44,0}}, +/* 2005 */ {(13<<2)|2,{48,44,0}}, +/* 2006 */ {(13<<2)|2,{48,44,0}}, +/* 2007 */ {(13<<2)|2,{48,44,0}}, +/* 2008 */ {(13<<2)|2,{48,59,0}}, +/* 2009 */ {(13<<2)|2,{48,59,0}}, +/* 2010 */ {(13<<2)|2,{48,59,0}}, +/* 2011 */ {(13<<2)|2,{48,59,0}}, +/* 2012 */ {(13<<2)|2,{48,59,0}}, +/* 2013 */ {(13<<2)|2,{48,59,0}}, +/* 2014 */ {(13<<2)|2,{48,59,0}}, +/* 2015 */ {(13<<2)|2,{48,59,0}}, +/* 2016 */ {(13<<2)|2,{48,88,0}}, +/* 2017 */ {(13<<2)|2,{48,88,0}}, +/* 2018 */ {(13<<2)|2,{48,88,0}}, +/* 2019 */ {(13<<2)|2,{48,88,0}}, +/* 2020 */ {(13<<2)|2,{48,88,0}}, +/* 2021 */ {(13<<2)|2,{48,88,0}}, +/* 2022 */ {(13<<2)|2,{48,88,0}}, +/* 2023 */ {(13<<2)|2,{48,88,0}}, +/* 2024 */ {(13<<2)|2,{48,90,0}}, +/* 2025 */ {(13<<2)|2,{48,90,0}}, +/* 2026 */ {(13<<2)|2,{48,90,0}}, +/* 2027 */ {(13<<2)|2,{48,90,0}}, +/* 2028 */ {(13<<2)|2,{48,90,0}}, +/* 2029 */ {(13<<2)|2,{48,90,0}}, +/* 2030 */ {(13<<2)|2,{48,90,0}}, +/* 2031 */ {(13<<2)|2,{48,90,0}}, +/* 2032 */ {(15<<2)|2,{48,33,0}}, +/* 2033 */ {(15<<2)|2,{48,33,0}}, +/* 2034 */ {(15<<2)|2,{48,34,0}}, +/* 2035 */ {(15<<2)|2,{48,34,0}}, +/* 2036 */ {(15<<2)|2,{48,40,0}}, +/* 2037 */ {(15<<2)|2,{48,40,0}}, +/* 2038 */ {(15<<2)|2,{48,41,0}}, +/* 2039 */ {(15<<2)|2,{48,41,0}}, +/* 2040 */ {(15<<2)|2,{48,63,0}}, +/* 2041 */ {(15<<2)|2,{48,63,0}}, +/* 2042 */ {(16<<2)|2,{48,39,0}}, +/* 2043 */ {(16<<2)|2,{48,43,0}}, +/* 2044 */ {(16<<2)|2,{48,124,0}}, +/* 2045 */ {(5<<2)|1,{48,0,0}}, +/* 2046 */ {(5<<2)|1,{48,0,0}}, +/* 2047 */ {(5<<2)|1,{48,0,0}}, +/* 2048 */ {(15<<2)|3,{49,48,48}}, +/* 2049 */ {(15<<2)|3,{49,48,48}}, +/* 2050 */ {(15<<2)|3,{49,48,49}}, +/* 2051 */ {(15<<2)|3,{49,48,49}}, +/* 2052 */ {(15<<2)|3,{49,48,50}}, +/* 2053 */ {(15<<2)|3,{49,48,50}}, +/* 2054 */ {(15<<2)|3,{49,48,97}}, +/* 2055 */ {(15<<2)|3,{49,48,97}}, +/* 2056 */ {(15<<2)|3,{49,48,99}}, +/* 2057 */ {(15<<2)|3,{49,48,99}}, +/* 2058 */ {(15<<2)|3,{49,48,101}}, +/* 2059 */ {(15<<2)|3,{49,48,101}}, +/* 2060 */ {(15<<2)|3,{49,48,105}}, +/* 2061 */ {(15<<2)|3,{49,48,105}}, +/* 2062 */ {(15<<2)|3,{49,48,111}}, +/* 2063 */ {(15<<2)|3,{49,48,111}}, +/* 2064 */ {(15<<2)|3,{49,48,115}}, +/* 2065 */ {(15<<2)|3,{49,48,115}}, +/* 2066 */ {(15<<2)|3,{49,48,116}}, +/* 2067 */ {(15<<2)|3,{49,48,116}}, +/* 2068 */ {(16<<2)|3,{49,48,32}}, +/* 2069 */ {(16<<2)|3,{49,48,37}}, +/* 2070 */ {(16<<2)|3,{49,48,45}}, +/* 2071 */ {(16<<2)|3,{49,48,46}}, +/* 2072 */ {(16<<2)|3,{49,48,47}}, +/* 2073 */ {(16<<2)|3,{49,48,51}}, +/* 2074 */ {(16<<2)|3,{49,48,52}}, +/* 2075 */ {(16<<2)|3,{49,48,53}}, +/* 2076 */ {(16<<2)|3,{49,48,54}}, +/* 2077 */ {(16<<2)|3,{49,48,55}}, +/* 2078 */ {(16<<2)|3,{49,48,56}}, +/* 2079 */ {(16<<2)|3,{49,48,57}}, +/* 2080 */ {(16<<2)|3,{49,48,61}}, +/* 2081 */ {(16<<2)|3,{49,48,65}}, +/* 2082 */ {(16<<2)|3,{49,48,95}}, +/* 2083 */ {(16<<2)|3,{49,48,98}}, +/* 2084 */ {(16<<2)|3,{49,48,100}}, +/* 2085 */ {(16<<2)|3,{49,48,102}}, +/* 2086 */ {(16<<2)|3,{49,48,103}}, +/* 2087 */ {(16<<2)|3,{49,48,104}}, +/* 2088 */ {(16<<2)|3,{49,48,108}}, +/* 2089 */ {(16<<2)|3,{49,48,109}}, +/* 2090 */ {(16<<2)|3,{49,48,110}}, +/* 2091 */ {(16<<2)|3,{49,48,112}}, +/* 2092 */ {(16<<2)|3,{49,48,114}}, +/* 2093 */ {(16<<2)|3,{49,48,117}}, +/* 2094 */ {(10<<2)|2,{49,48,0}}, +/* 2095 */ {(10<<2)|2,{49,48,0}}, +/* 2096 */ {(10<<2)|2,{49,48,0}}, +/* 2097 */ {(10<<2)|2,{49,48,0}}, +/* 2098 */ {(10<<2)|2,{49,48,0}}, +/* 2099 */ {(10<<2)|2,{49,48,0}}, +/* 2100 */ {(10<<2)|2,{49,48,0}}, +/* 2101 */ {(10<<2)|2,{49,48,0}}, +/* 2102 */ {(10<<2)|2,{49,48,0}}, +/* 2103 */ {(10<<2)|2,{49,48,0}}, +/* 2104 */ {(10<<2)|2,{49,48,0}}, +/* 2105 */ {(10<<2)|2,{49,48,0}}, +/* 2106 */ {(10<<2)|2,{49,48,0}}, +/* 2107 */ {(10<<2)|2,{49,48,0}}, +/* 2108 */ {(10<<2)|2,{49,48,0}}, +/* 2109 */ {(10<<2)|2,{49,48,0}}, +/* 2110 */ {(10<<2)|2,{49,48,0}}, +/* 2111 */ {(10<<2)|2,{49,48,0}}, +/* 2112 */ {(15<<2)|3,{49,49,48}}, +/* 2113 */ {(15<<2)|3,{49,49,48}}, +/* 2114 */ {(15<<2)|3,{49,49,49}}, +/* 2115 */ {(15<<2)|3,{49,49,49}}, +/* 2116 */ {(15<<2)|3,{49,49,50}}, +/* 2117 */ {(15<<2)|3,{49,49,50}}, +/* 2118 */ {(15<<2)|3,{49,49,97}}, +/* 2119 */ {(15<<2)|3,{49,49,97}}, +/* 2120 */ {(15<<2)|3,{49,49,99}}, +/* 2121 */ {(15<<2)|3,{49,49,99}}, +/* 2122 */ {(15<<2)|3,{49,49,101}}, +/* 2123 */ {(15<<2)|3,{49,49,101}}, +/* 2124 */ {(15<<2)|3,{49,49,105}}, +/* 2125 */ {(15<<2)|3,{49,49,105}}, +/* 2126 */ {(15<<2)|3,{49,49,111}}, +/* 2127 */ {(15<<2)|3,{49,49,111}}, +/* 2128 */ {(15<<2)|3,{49,49,115}}, +/* 2129 */ {(15<<2)|3,{49,49,115}}, +/* 2130 */ {(15<<2)|3,{49,49,116}}, +/* 2131 */ {(15<<2)|3,{49,49,116}}, +/* 2132 */ {(16<<2)|3,{49,49,32}}, +/* 2133 */ {(16<<2)|3,{49,49,37}}, +/* 2134 */ {(16<<2)|3,{49,49,45}}, +/* 2135 */ {(16<<2)|3,{49,49,46}}, +/* 2136 */ {(16<<2)|3,{49,49,47}}, +/* 2137 */ {(16<<2)|3,{49,49,51}}, +/* 2138 */ {(16<<2)|3,{49,49,52}}, +/* 2139 */ {(16<<2)|3,{49,49,53}}, +/* 2140 */ {(16<<2)|3,{49,49,54}}, +/* 2141 */ {(16<<2)|3,{49,49,55}}, +/* 2142 */ {(16<<2)|3,{49,49,56}}, +/* 2143 */ {(16<<2)|3,{49,49,57}}, +/* 2144 */ {(16<<2)|3,{49,49,61}}, +/* 2145 */ {(16<<2)|3,{49,49,65}}, +/* 2146 */ {(16<<2)|3,{49,49,95}}, +/* 2147 */ {(16<<2)|3,{49,49,98}}, +/* 2148 */ {(16<<2)|3,{49,49,100}}, +/* 2149 */ {(16<<2)|3,{49,49,102}}, +/* 2150 */ {(16<<2)|3,{49,49,103}}, +/* 2151 */ {(16<<2)|3,{49,49,104}}, +/* 2152 */ {(16<<2)|3,{49,49,108}}, +/* 2153 */ {(16<<2)|3,{49,49,109}}, +/* 2154 */ {(16<<2)|3,{49,49,110}}, +/* 2155 */ {(16<<2)|3,{49,49,112}}, +/* 2156 */ {(16<<2)|3,{49,49,114}}, +/* 2157 */ {(16<<2)|3,{49,49,117}}, +/* 2158 */ {(10<<2)|2,{49,49,0}}, +/* 2159 */ {(10<<2)|2,{49,49,0}}, +/* 2160 */ {(10<<2)|2,{49,49,0}}, +/* 2161 */ {(10<<2)|2,{49,49,0}}, +/* 2162 */ {(10<<2)|2,{49,49,0}}, +/* 2163 */ {(10<<2)|2,{49,49,0}}, +/* 2164 */ {(10<<2)|2,{49,49,0}}, +/* 2165 */ {(10<<2)|2,{49,49,0}}, +/* 2166 */ {(10<<2)|2,{49,49,0}}, +/* 2167 */ {(10<<2)|2,{49,49,0}}, +/* 2168 */ {(10<<2)|2,{49,49,0}}, +/* 2169 */ {(10<<2)|2,{49,49,0}}, +/* 2170 */ {(10<<2)|2,{49,49,0}}, +/* 2171 */ {(10<<2)|2,{49,49,0}}, +/* 2172 */ {(10<<2)|2,{49,49,0}}, +/* 2173 */ {(10<<2)|2,{49,49,0}}, +/* 2174 */ {(10<<2)|2,{49,49,0}}, +/* 2175 */ {(10<<2)|2,{49,49,0}}, +/* 2176 */ {(15<<2)|3,{49,50,48}}, +/* 2177 */ {(15<<2)|3,{49,50,48}}, +/* 2178 */ {(15<<2)|3,{49,50,49}}, +/* 2179 */ {(15<<2)|3,{49,50,49}}, +/* 2180 */ {(15<<2)|3,{49,50,50}}, +/* 2181 */ {(15<<2)|3,{49,50,50}}, +/* 2182 */ {(15<<2)|3,{49,50,97}}, +/* 2183 */ {(15<<2)|3,{49,50,97}}, +/* 2184 */ {(15<<2)|3,{49,50,99}}, +/* 2185 */ {(15<<2)|3,{49,50,99}}, +/* 2186 */ {(15<<2)|3,{49,50,101}}, +/* 2187 */ {(15<<2)|3,{49,50,101}}, +/* 2188 */ {(15<<2)|3,{49,50,105}}, +/* 2189 */ {(15<<2)|3,{49,50,105}}, +/* 2190 */ {(15<<2)|3,{49,50,111}}, +/* 2191 */ {(15<<2)|3,{49,50,111}}, +/* 2192 */ {(15<<2)|3,{49,50,115}}, +/* 2193 */ {(15<<2)|3,{49,50,115}}, +/* 2194 */ {(15<<2)|3,{49,50,116}}, +/* 2195 */ {(15<<2)|3,{49,50,116}}, +/* 2196 */ {(16<<2)|3,{49,50,32}}, +/* 2197 */ {(16<<2)|3,{49,50,37}}, +/* 2198 */ {(16<<2)|3,{49,50,45}}, +/* 2199 */ {(16<<2)|3,{49,50,46}}, +/* 2200 */ {(16<<2)|3,{49,50,47}}, +/* 2201 */ {(16<<2)|3,{49,50,51}}, +/* 2202 */ {(16<<2)|3,{49,50,52}}, +/* 2203 */ {(16<<2)|3,{49,50,53}}, +/* 2204 */ {(16<<2)|3,{49,50,54}}, +/* 2205 */ {(16<<2)|3,{49,50,55}}, +/* 2206 */ {(16<<2)|3,{49,50,56}}, +/* 2207 */ {(16<<2)|3,{49,50,57}}, +/* 2208 */ {(16<<2)|3,{49,50,61}}, +/* 2209 */ {(16<<2)|3,{49,50,65}}, +/* 2210 */ {(16<<2)|3,{49,50,95}}, +/* 2211 */ {(16<<2)|3,{49,50,98}}, +/* 2212 */ {(16<<2)|3,{49,50,100}}, +/* 2213 */ {(16<<2)|3,{49,50,102}}, +/* 2214 */ {(16<<2)|3,{49,50,103}}, +/* 2215 */ {(16<<2)|3,{49,50,104}}, +/* 2216 */ {(16<<2)|3,{49,50,108}}, +/* 2217 */ {(16<<2)|3,{49,50,109}}, +/* 2218 */ {(16<<2)|3,{49,50,110}}, +/* 2219 */ {(16<<2)|3,{49,50,112}}, +/* 2220 */ {(16<<2)|3,{49,50,114}}, +/* 2221 */ {(16<<2)|3,{49,50,117}}, +/* 2222 */ {(10<<2)|2,{49,50,0}}, +/* 2223 */ {(10<<2)|2,{49,50,0}}, +/* 2224 */ {(10<<2)|2,{49,50,0}}, +/* 2225 */ {(10<<2)|2,{49,50,0}}, +/* 2226 */ {(10<<2)|2,{49,50,0}}, +/* 2227 */ {(10<<2)|2,{49,50,0}}, +/* 2228 */ {(10<<2)|2,{49,50,0}}, +/* 2229 */ {(10<<2)|2,{49,50,0}}, +/* 2230 */ {(10<<2)|2,{49,50,0}}, +/* 2231 */ {(10<<2)|2,{49,50,0}}, +/* 2232 */ {(10<<2)|2,{49,50,0}}, +/* 2233 */ {(10<<2)|2,{49,50,0}}, +/* 2234 */ {(10<<2)|2,{49,50,0}}, +/* 2235 */ {(10<<2)|2,{49,50,0}}, +/* 2236 */ {(10<<2)|2,{49,50,0}}, +/* 2237 */ {(10<<2)|2,{49,50,0}}, +/* 2238 */ {(10<<2)|2,{49,50,0}}, +/* 2239 */ {(10<<2)|2,{49,50,0}}, +/* 2240 */ {(15<<2)|3,{49,97,48}}, +/* 2241 */ {(15<<2)|3,{49,97,48}}, +/* 2242 */ {(15<<2)|3,{49,97,49}}, +/* 2243 */ {(15<<2)|3,{49,97,49}}, +/* 2244 */ {(15<<2)|3,{49,97,50}}, +/* 2245 */ {(15<<2)|3,{49,97,50}}, +/* 2246 */ {(15<<2)|3,{49,97,97}}, +/* 2247 */ {(15<<2)|3,{49,97,97}}, +/* 2248 */ {(15<<2)|3,{49,97,99}}, +/* 2249 */ {(15<<2)|3,{49,97,99}}, +/* 2250 */ {(15<<2)|3,{49,97,101}}, +/* 2251 */ {(15<<2)|3,{49,97,101}}, +/* 2252 */ {(15<<2)|3,{49,97,105}}, +/* 2253 */ {(15<<2)|3,{49,97,105}}, +/* 2254 */ {(15<<2)|3,{49,97,111}}, +/* 2255 */ {(15<<2)|3,{49,97,111}}, +/* 2256 */ {(15<<2)|3,{49,97,115}}, +/* 2257 */ {(15<<2)|3,{49,97,115}}, +/* 2258 */ {(15<<2)|3,{49,97,116}}, +/* 2259 */ {(15<<2)|3,{49,97,116}}, +/* 2260 */ {(16<<2)|3,{49,97,32}}, +/* 2261 */ {(16<<2)|3,{49,97,37}}, +/* 2262 */ {(16<<2)|3,{49,97,45}}, +/* 2263 */ {(16<<2)|3,{49,97,46}}, +/* 2264 */ {(16<<2)|3,{49,97,47}}, +/* 2265 */ {(16<<2)|3,{49,97,51}}, +/* 2266 */ {(16<<2)|3,{49,97,52}}, +/* 2267 */ {(16<<2)|3,{49,97,53}}, +/* 2268 */ {(16<<2)|3,{49,97,54}}, +/* 2269 */ {(16<<2)|3,{49,97,55}}, +/* 2270 */ {(16<<2)|3,{49,97,56}}, +/* 2271 */ {(16<<2)|3,{49,97,57}}, +/* 2272 */ {(16<<2)|3,{49,97,61}}, +/* 2273 */ {(16<<2)|3,{49,97,65}}, +/* 2274 */ {(16<<2)|3,{49,97,95}}, +/* 2275 */ {(16<<2)|3,{49,97,98}}, +/* 2276 */ {(16<<2)|3,{49,97,100}}, +/* 2277 */ {(16<<2)|3,{49,97,102}}, +/* 2278 */ {(16<<2)|3,{49,97,103}}, +/* 2279 */ {(16<<2)|3,{49,97,104}}, +/* 2280 */ {(16<<2)|3,{49,97,108}}, +/* 2281 */ {(16<<2)|3,{49,97,109}}, +/* 2282 */ {(16<<2)|3,{49,97,110}}, +/* 2283 */ {(16<<2)|3,{49,97,112}}, +/* 2284 */ {(16<<2)|3,{49,97,114}}, +/* 2285 */ {(16<<2)|3,{49,97,117}}, +/* 2286 */ {(10<<2)|2,{49,97,0}}, +/* 2287 */ {(10<<2)|2,{49,97,0}}, +/* 2288 */ {(10<<2)|2,{49,97,0}}, +/* 2289 */ {(10<<2)|2,{49,97,0}}, +/* 2290 */ {(10<<2)|2,{49,97,0}}, +/* 2291 */ {(10<<2)|2,{49,97,0}}, +/* 2292 */ {(10<<2)|2,{49,97,0}}, +/* 2293 */ {(10<<2)|2,{49,97,0}}, +/* 2294 */ {(10<<2)|2,{49,97,0}}, +/* 2295 */ {(10<<2)|2,{49,97,0}}, +/* 2296 */ {(10<<2)|2,{49,97,0}}, +/* 2297 */ {(10<<2)|2,{49,97,0}}, +/* 2298 */ {(10<<2)|2,{49,97,0}}, +/* 2299 */ {(10<<2)|2,{49,97,0}}, +/* 2300 */ {(10<<2)|2,{49,97,0}}, +/* 2301 */ {(10<<2)|2,{49,97,0}}, +/* 2302 */ {(10<<2)|2,{49,97,0}}, +/* 2303 */ {(10<<2)|2,{49,97,0}}, +/* 2304 */ {(15<<2)|3,{49,99,48}}, +/* 2305 */ {(15<<2)|3,{49,99,48}}, +/* 2306 */ {(15<<2)|3,{49,99,49}}, +/* 2307 */ {(15<<2)|3,{49,99,49}}, +/* 2308 */ {(15<<2)|3,{49,99,50}}, +/* 2309 */ {(15<<2)|3,{49,99,50}}, +/* 2310 */ {(15<<2)|3,{49,99,97}}, +/* 2311 */ {(15<<2)|3,{49,99,97}}, +/* 2312 */ {(15<<2)|3,{49,99,99}}, +/* 2313 */ {(15<<2)|3,{49,99,99}}, +/* 2314 */ {(15<<2)|3,{49,99,101}}, +/* 2315 */ {(15<<2)|3,{49,99,101}}, +/* 2316 */ {(15<<2)|3,{49,99,105}}, +/* 2317 */ {(15<<2)|3,{49,99,105}}, +/* 2318 */ {(15<<2)|3,{49,99,111}}, +/* 2319 */ {(15<<2)|3,{49,99,111}}, +/* 2320 */ {(15<<2)|3,{49,99,115}}, +/* 2321 */ {(15<<2)|3,{49,99,115}}, +/* 2322 */ {(15<<2)|3,{49,99,116}}, +/* 2323 */ {(15<<2)|3,{49,99,116}}, +/* 2324 */ {(16<<2)|3,{49,99,32}}, +/* 2325 */ {(16<<2)|3,{49,99,37}}, +/* 2326 */ {(16<<2)|3,{49,99,45}}, +/* 2327 */ {(16<<2)|3,{49,99,46}}, +/* 2328 */ {(16<<2)|3,{49,99,47}}, +/* 2329 */ {(16<<2)|3,{49,99,51}}, +/* 2330 */ {(16<<2)|3,{49,99,52}}, +/* 2331 */ {(16<<2)|3,{49,99,53}}, +/* 2332 */ {(16<<2)|3,{49,99,54}}, +/* 2333 */ {(16<<2)|3,{49,99,55}}, +/* 2334 */ {(16<<2)|3,{49,99,56}}, +/* 2335 */ {(16<<2)|3,{49,99,57}}, +/* 2336 */ {(16<<2)|3,{49,99,61}}, +/* 2337 */ {(16<<2)|3,{49,99,65}}, +/* 2338 */ {(16<<2)|3,{49,99,95}}, +/* 2339 */ {(16<<2)|3,{49,99,98}}, +/* 2340 */ {(16<<2)|3,{49,99,100}}, +/* 2341 */ {(16<<2)|3,{49,99,102}}, +/* 2342 */ {(16<<2)|3,{49,99,103}}, +/* 2343 */ {(16<<2)|3,{49,99,104}}, +/* 2344 */ {(16<<2)|3,{49,99,108}}, +/* 2345 */ {(16<<2)|3,{49,99,109}}, +/* 2346 */ {(16<<2)|3,{49,99,110}}, +/* 2347 */ {(16<<2)|3,{49,99,112}}, +/* 2348 */ {(16<<2)|3,{49,99,114}}, +/* 2349 */ {(16<<2)|3,{49,99,117}}, +/* 2350 */ {(10<<2)|2,{49,99,0}}, +/* 2351 */ {(10<<2)|2,{49,99,0}}, +/* 2352 */ {(10<<2)|2,{49,99,0}}, +/* 2353 */ {(10<<2)|2,{49,99,0}}, +/* 2354 */ {(10<<2)|2,{49,99,0}}, +/* 2355 */ {(10<<2)|2,{49,99,0}}, +/* 2356 */ {(10<<2)|2,{49,99,0}}, +/* 2357 */ {(10<<2)|2,{49,99,0}}, +/* 2358 */ {(10<<2)|2,{49,99,0}}, +/* 2359 */ {(10<<2)|2,{49,99,0}}, +/* 2360 */ {(10<<2)|2,{49,99,0}}, +/* 2361 */ {(10<<2)|2,{49,99,0}}, +/* 2362 */ {(10<<2)|2,{49,99,0}}, +/* 2363 */ {(10<<2)|2,{49,99,0}}, +/* 2364 */ {(10<<2)|2,{49,99,0}}, +/* 2365 */ {(10<<2)|2,{49,99,0}}, +/* 2366 */ {(10<<2)|2,{49,99,0}}, +/* 2367 */ {(10<<2)|2,{49,99,0}}, +/* 2368 */ {(15<<2)|3,{49,101,48}}, +/* 2369 */ {(15<<2)|3,{49,101,48}}, +/* 2370 */ {(15<<2)|3,{49,101,49}}, +/* 2371 */ {(15<<2)|3,{49,101,49}}, +/* 2372 */ {(15<<2)|3,{49,101,50}}, +/* 2373 */ {(15<<2)|3,{49,101,50}}, +/* 2374 */ {(15<<2)|3,{49,101,97}}, +/* 2375 */ {(15<<2)|3,{49,101,97}}, +/* 2376 */ {(15<<2)|3,{49,101,99}}, +/* 2377 */ {(15<<2)|3,{49,101,99}}, +/* 2378 */ {(15<<2)|3,{49,101,101}}, +/* 2379 */ {(15<<2)|3,{49,101,101}}, +/* 2380 */ {(15<<2)|3,{49,101,105}}, +/* 2381 */ {(15<<2)|3,{49,101,105}}, +/* 2382 */ {(15<<2)|3,{49,101,111}}, +/* 2383 */ {(15<<2)|3,{49,101,111}}, +/* 2384 */ {(15<<2)|3,{49,101,115}}, +/* 2385 */ {(15<<2)|3,{49,101,115}}, +/* 2386 */ {(15<<2)|3,{49,101,116}}, +/* 2387 */ {(15<<2)|3,{49,101,116}}, +/* 2388 */ {(16<<2)|3,{49,101,32}}, +/* 2389 */ {(16<<2)|3,{49,101,37}}, +/* 2390 */ {(16<<2)|3,{49,101,45}}, +/* 2391 */ {(16<<2)|3,{49,101,46}}, +/* 2392 */ {(16<<2)|3,{49,101,47}}, +/* 2393 */ {(16<<2)|3,{49,101,51}}, +/* 2394 */ {(16<<2)|3,{49,101,52}}, +/* 2395 */ {(16<<2)|3,{49,101,53}}, +/* 2396 */ {(16<<2)|3,{49,101,54}}, +/* 2397 */ {(16<<2)|3,{49,101,55}}, +/* 2398 */ {(16<<2)|3,{49,101,56}}, +/* 2399 */ {(16<<2)|3,{49,101,57}}, +/* 2400 */ {(16<<2)|3,{49,101,61}}, +/* 2401 */ {(16<<2)|3,{49,101,65}}, +/* 2402 */ {(16<<2)|3,{49,101,95}}, +/* 2403 */ {(16<<2)|3,{49,101,98}}, +/* 2404 */ {(16<<2)|3,{49,101,100}}, +/* 2405 */ {(16<<2)|3,{49,101,102}}, +/* 2406 */ {(16<<2)|3,{49,101,103}}, +/* 2407 */ {(16<<2)|3,{49,101,104}}, +/* 2408 */ {(16<<2)|3,{49,101,108}}, +/* 2409 */ {(16<<2)|3,{49,101,109}}, +/* 2410 */ {(16<<2)|3,{49,101,110}}, +/* 2411 */ {(16<<2)|3,{49,101,112}}, +/* 2412 */ {(16<<2)|3,{49,101,114}}, +/* 2413 */ {(16<<2)|3,{49,101,117}}, +/* 2414 */ {(10<<2)|2,{49,101,0}}, +/* 2415 */ {(10<<2)|2,{49,101,0}}, +/* 2416 */ {(10<<2)|2,{49,101,0}}, +/* 2417 */ {(10<<2)|2,{49,101,0}}, +/* 2418 */ {(10<<2)|2,{49,101,0}}, +/* 2419 */ {(10<<2)|2,{49,101,0}}, +/* 2420 */ {(10<<2)|2,{49,101,0}}, +/* 2421 */ {(10<<2)|2,{49,101,0}}, +/* 2422 */ {(10<<2)|2,{49,101,0}}, +/* 2423 */ {(10<<2)|2,{49,101,0}}, +/* 2424 */ {(10<<2)|2,{49,101,0}}, +/* 2425 */ {(10<<2)|2,{49,101,0}}, +/* 2426 */ {(10<<2)|2,{49,101,0}}, +/* 2427 */ {(10<<2)|2,{49,101,0}}, +/* 2428 */ {(10<<2)|2,{49,101,0}}, +/* 2429 */ {(10<<2)|2,{49,101,0}}, +/* 2430 */ {(10<<2)|2,{49,101,0}}, +/* 2431 */ {(10<<2)|2,{49,101,0}}, +/* 2432 */ {(15<<2)|3,{49,105,48}}, +/* 2433 */ {(15<<2)|3,{49,105,48}}, +/* 2434 */ {(15<<2)|3,{49,105,49}}, +/* 2435 */ {(15<<2)|3,{49,105,49}}, +/* 2436 */ {(15<<2)|3,{49,105,50}}, +/* 2437 */ {(15<<2)|3,{49,105,50}}, +/* 2438 */ {(15<<2)|3,{49,105,97}}, +/* 2439 */ {(15<<2)|3,{49,105,97}}, +/* 2440 */ {(15<<2)|3,{49,105,99}}, +/* 2441 */ {(15<<2)|3,{49,105,99}}, +/* 2442 */ {(15<<2)|3,{49,105,101}}, +/* 2443 */ {(15<<2)|3,{49,105,101}}, +/* 2444 */ {(15<<2)|3,{49,105,105}}, +/* 2445 */ {(15<<2)|3,{49,105,105}}, +/* 2446 */ {(15<<2)|3,{49,105,111}}, +/* 2447 */ {(15<<2)|3,{49,105,111}}, +/* 2448 */ {(15<<2)|3,{49,105,115}}, +/* 2449 */ {(15<<2)|3,{49,105,115}}, +/* 2450 */ {(15<<2)|3,{49,105,116}}, +/* 2451 */ {(15<<2)|3,{49,105,116}}, +/* 2452 */ {(16<<2)|3,{49,105,32}}, +/* 2453 */ {(16<<2)|3,{49,105,37}}, +/* 2454 */ {(16<<2)|3,{49,105,45}}, +/* 2455 */ {(16<<2)|3,{49,105,46}}, +/* 2456 */ {(16<<2)|3,{49,105,47}}, +/* 2457 */ {(16<<2)|3,{49,105,51}}, +/* 2458 */ {(16<<2)|3,{49,105,52}}, +/* 2459 */ {(16<<2)|3,{49,105,53}}, +/* 2460 */ {(16<<2)|3,{49,105,54}}, +/* 2461 */ {(16<<2)|3,{49,105,55}}, +/* 2462 */ {(16<<2)|3,{49,105,56}}, +/* 2463 */ {(16<<2)|3,{49,105,57}}, +/* 2464 */ {(16<<2)|3,{49,105,61}}, +/* 2465 */ {(16<<2)|3,{49,105,65}}, +/* 2466 */ {(16<<2)|3,{49,105,95}}, +/* 2467 */ {(16<<2)|3,{49,105,98}}, +/* 2468 */ {(16<<2)|3,{49,105,100}}, +/* 2469 */ {(16<<2)|3,{49,105,102}}, +/* 2470 */ {(16<<2)|3,{49,105,103}}, +/* 2471 */ {(16<<2)|3,{49,105,104}}, +/* 2472 */ {(16<<2)|3,{49,105,108}}, +/* 2473 */ {(16<<2)|3,{49,105,109}}, +/* 2474 */ {(16<<2)|3,{49,105,110}}, +/* 2475 */ {(16<<2)|3,{49,105,112}}, +/* 2476 */ {(16<<2)|3,{49,105,114}}, +/* 2477 */ {(16<<2)|3,{49,105,117}}, +/* 2478 */ {(10<<2)|2,{49,105,0}}, +/* 2479 */ {(10<<2)|2,{49,105,0}}, +/* 2480 */ {(10<<2)|2,{49,105,0}}, +/* 2481 */ {(10<<2)|2,{49,105,0}}, +/* 2482 */ {(10<<2)|2,{49,105,0}}, +/* 2483 */ {(10<<2)|2,{49,105,0}}, +/* 2484 */ {(10<<2)|2,{49,105,0}}, +/* 2485 */ {(10<<2)|2,{49,105,0}}, +/* 2486 */ {(10<<2)|2,{49,105,0}}, +/* 2487 */ {(10<<2)|2,{49,105,0}}, +/* 2488 */ {(10<<2)|2,{49,105,0}}, +/* 2489 */ {(10<<2)|2,{49,105,0}}, +/* 2490 */ {(10<<2)|2,{49,105,0}}, +/* 2491 */ {(10<<2)|2,{49,105,0}}, +/* 2492 */ {(10<<2)|2,{49,105,0}}, +/* 2493 */ {(10<<2)|2,{49,105,0}}, +/* 2494 */ {(10<<2)|2,{49,105,0}}, +/* 2495 */ {(10<<2)|2,{49,105,0}}, +/* 2496 */ {(15<<2)|3,{49,111,48}}, +/* 2497 */ {(15<<2)|3,{49,111,48}}, +/* 2498 */ {(15<<2)|3,{49,111,49}}, +/* 2499 */ {(15<<2)|3,{49,111,49}}, +/* 2500 */ {(15<<2)|3,{49,111,50}}, +/* 2501 */ {(15<<2)|3,{49,111,50}}, +/* 2502 */ {(15<<2)|3,{49,111,97}}, +/* 2503 */ {(15<<2)|3,{49,111,97}}, +/* 2504 */ {(15<<2)|3,{49,111,99}}, +/* 2505 */ {(15<<2)|3,{49,111,99}}, +/* 2506 */ {(15<<2)|3,{49,111,101}}, +/* 2507 */ {(15<<2)|3,{49,111,101}}, +/* 2508 */ {(15<<2)|3,{49,111,105}}, +/* 2509 */ {(15<<2)|3,{49,111,105}}, +/* 2510 */ {(15<<2)|3,{49,111,111}}, +/* 2511 */ {(15<<2)|3,{49,111,111}}, +/* 2512 */ {(15<<2)|3,{49,111,115}}, +/* 2513 */ {(15<<2)|3,{49,111,115}}, +/* 2514 */ {(15<<2)|3,{49,111,116}}, +/* 2515 */ {(15<<2)|3,{49,111,116}}, +/* 2516 */ {(16<<2)|3,{49,111,32}}, +/* 2517 */ {(16<<2)|3,{49,111,37}}, +/* 2518 */ {(16<<2)|3,{49,111,45}}, +/* 2519 */ {(16<<2)|3,{49,111,46}}, +/* 2520 */ {(16<<2)|3,{49,111,47}}, +/* 2521 */ {(16<<2)|3,{49,111,51}}, +/* 2522 */ {(16<<2)|3,{49,111,52}}, +/* 2523 */ {(16<<2)|3,{49,111,53}}, +/* 2524 */ {(16<<2)|3,{49,111,54}}, +/* 2525 */ {(16<<2)|3,{49,111,55}}, +/* 2526 */ {(16<<2)|3,{49,111,56}}, +/* 2527 */ {(16<<2)|3,{49,111,57}}, +/* 2528 */ {(16<<2)|3,{49,111,61}}, +/* 2529 */ {(16<<2)|3,{49,111,65}}, +/* 2530 */ {(16<<2)|3,{49,111,95}}, +/* 2531 */ {(16<<2)|3,{49,111,98}}, +/* 2532 */ {(16<<2)|3,{49,111,100}}, +/* 2533 */ {(16<<2)|3,{49,111,102}}, +/* 2534 */ {(16<<2)|3,{49,111,103}}, +/* 2535 */ {(16<<2)|3,{49,111,104}}, +/* 2536 */ {(16<<2)|3,{49,111,108}}, +/* 2537 */ {(16<<2)|3,{49,111,109}}, +/* 2538 */ {(16<<2)|3,{49,111,110}}, +/* 2539 */ {(16<<2)|3,{49,111,112}}, +/* 2540 */ {(16<<2)|3,{49,111,114}}, +/* 2541 */ {(16<<2)|3,{49,111,117}}, +/* 2542 */ {(10<<2)|2,{49,111,0}}, +/* 2543 */ {(10<<2)|2,{49,111,0}}, +/* 2544 */ {(10<<2)|2,{49,111,0}}, +/* 2545 */ {(10<<2)|2,{49,111,0}}, +/* 2546 */ {(10<<2)|2,{49,111,0}}, +/* 2547 */ {(10<<2)|2,{49,111,0}}, +/* 2548 */ {(10<<2)|2,{49,111,0}}, +/* 2549 */ {(10<<2)|2,{49,111,0}}, +/* 2550 */ {(10<<2)|2,{49,111,0}}, +/* 2551 */ {(10<<2)|2,{49,111,0}}, +/* 2552 */ {(10<<2)|2,{49,111,0}}, +/* 2553 */ {(10<<2)|2,{49,111,0}}, +/* 2554 */ {(10<<2)|2,{49,111,0}}, +/* 2555 */ {(10<<2)|2,{49,111,0}}, +/* 2556 */ {(10<<2)|2,{49,111,0}}, +/* 2557 */ {(10<<2)|2,{49,111,0}}, +/* 2558 */ {(10<<2)|2,{49,111,0}}, +/* 2559 */ {(10<<2)|2,{49,111,0}}, +/* 2560 */ {(15<<2)|3,{49,115,48}}, +/* 2561 */ {(15<<2)|3,{49,115,48}}, +/* 2562 */ {(15<<2)|3,{49,115,49}}, +/* 2563 */ {(15<<2)|3,{49,115,49}}, +/* 2564 */ {(15<<2)|3,{49,115,50}}, +/* 2565 */ {(15<<2)|3,{49,115,50}}, +/* 2566 */ {(15<<2)|3,{49,115,97}}, +/* 2567 */ {(15<<2)|3,{49,115,97}}, +/* 2568 */ {(15<<2)|3,{49,115,99}}, +/* 2569 */ {(15<<2)|3,{49,115,99}}, +/* 2570 */ {(15<<2)|3,{49,115,101}}, +/* 2571 */ {(15<<2)|3,{49,115,101}}, +/* 2572 */ {(15<<2)|3,{49,115,105}}, +/* 2573 */ {(15<<2)|3,{49,115,105}}, +/* 2574 */ {(15<<2)|3,{49,115,111}}, +/* 2575 */ {(15<<2)|3,{49,115,111}}, +/* 2576 */ {(15<<2)|3,{49,115,115}}, +/* 2577 */ {(15<<2)|3,{49,115,115}}, +/* 2578 */ {(15<<2)|3,{49,115,116}}, +/* 2579 */ {(15<<2)|3,{49,115,116}}, +/* 2580 */ {(16<<2)|3,{49,115,32}}, +/* 2581 */ {(16<<2)|3,{49,115,37}}, +/* 2582 */ {(16<<2)|3,{49,115,45}}, +/* 2583 */ {(16<<2)|3,{49,115,46}}, +/* 2584 */ {(16<<2)|3,{49,115,47}}, +/* 2585 */ {(16<<2)|3,{49,115,51}}, +/* 2586 */ {(16<<2)|3,{49,115,52}}, +/* 2587 */ {(16<<2)|3,{49,115,53}}, +/* 2588 */ {(16<<2)|3,{49,115,54}}, +/* 2589 */ {(16<<2)|3,{49,115,55}}, +/* 2590 */ {(16<<2)|3,{49,115,56}}, +/* 2591 */ {(16<<2)|3,{49,115,57}}, +/* 2592 */ {(16<<2)|3,{49,115,61}}, +/* 2593 */ {(16<<2)|3,{49,115,65}}, +/* 2594 */ {(16<<2)|3,{49,115,95}}, +/* 2595 */ {(16<<2)|3,{49,115,98}}, +/* 2596 */ {(16<<2)|3,{49,115,100}}, +/* 2597 */ {(16<<2)|3,{49,115,102}}, +/* 2598 */ {(16<<2)|3,{49,115,103}}, +/* 2599 */ {(16<<2)|3,{49,115,104}}, +/* 2600 */ {(16<<2)|3,{49,115,108}}, +/* 2601 */ {(16<<2)|3,{49,115,109}}, +/* 2602 */ {(16<<2)|3,{49,115,110}}, +/* 2603 */ {(16<<2)|3,{49,115,112}}, +/* 2604 */ {(16<<2)|3,{49,115,114}}, +/* 2605 */ {(16<<2)|3,{49,115,117}}, +/* 2606 */ {(10<<2)|2,{49,115,0}}, +/* 2607 */ {(10<<2)|2,{49,115,0}}, +/* 2608 */ {(10<<2)|2,{49,115,0}}, +/* 2609 */ {(10<<2)|2,{49,115,0}}, +/* 2610 */ {(10<<2)|2,{49,115,0}}, +/* 2611 */ {(10<<2)|2,{49,115,0}}, +/* 2612 */ {(10<<2)|2,{49,115,0}}, +/* 2613 */ {(10<<2)|2,{49,115,0}}, +/* 2614 */ {(10<<2)|2,{49,115,0}}, +/* 2615 */ {(10<<2)|2,{49,115,0}}, +/* 2616 */ {(10<<2)|2,{49,115,0}}, +/* 2617 */ {(10<<2)|2,{49,115,0}}, +/* 2618 */ {(10<<2)|2,{49,115,0}}, +/* 2619 */ {(10<<2)|2,{49,115,0}}, +/* 2620 */ {(10<<2)|2,{49,115,0}}, +/* 2621 */ {(10<<2)|2,{49,115,0}}, +/* 2622 */ {(10<<2)|2,{49,115,0}}, +/* 2623 */ {(10<<2)|2,{49,115,0}}, +/* 2624 */ {(15<<2)|3,{49,116,48}}, +/* 2625 */ {(15<<2)|3,{49,116,48}}, +/* 2626 */ {(15<<2)|3,{49,116,49}}, +/* 2627 */ {(15<<2)|3,{49,116,49}}, +/* 2628 */ {(15<<2)|3,{49,116,50}}, +/* 2629 */ {(15<<2)|3,{49,116,50}}, +/* 2630 */ {(15<<2)|3,{49,116,97}}, +/* 2631 */ {(15<<2)|3,{49,116,97}}, +/* 2632 */ {(15<<2)|3,{49,116,99}}, +/* 2633 */ {(15<<2)|3,{49,116,99}}, +/* 2634 */ {(15<<2)|3,{49,116,101}}, +/* 2635 */ {(15<<2)|3,{49,116,101}}, +/* 2636 */ {(15<<2)|3,{49,116,105}}, +/* 2637 */ {(15<<2)|3,{49,116,105}}, +/* 2638 */ {(15<<2)|3,{49,116,111}}, +/* 2639 */ {(15<<2)|3,{49,116,111}}, +/* 2640 */ {(15<<2)|3,{49,116,115}}, +/* 2641 */ {(15<<2)|3,{49,116,115}}, +/* 2642 */ {(15<<2)|3,{49,116,116}}, +/* 2643 */ {(15<<2)|3,{49,116,116}}, +/* 2644 */ {(16<<2)|3,{49,116,32}}, +/* 2645 */ {(16<<2)|3,{49,116,37}}, +/* 2646 */ {(16<<2)|3,{49,116,45}}, +/* 2647 */ {(16<<2)|3,{49,116,46}}, +/* 2648 */ {(16<<2)|3,{49,116,47}}, +/* 2649 */ {(16<<2)|3,{49,116,51}}, +/* 2650 */ {(16<<2)|3,{49,116,52}}, +/* 2651 */ {(16<<2)|3,{49,116,53}}, +/* 2652 */ {(16<<2)|3,{49,116,54}}, +/* 2653 */ {(16<<2)|3,{49,116,55}}, +/* 2654 */ {(16<<2)|3,{49,116,56}}, +/* 2655 */ {(16<<2)|3,{49,116,57}}, +/* 2656 */ {(16<<2)|3,{49,116,61}}, +/* 2657 */ {(16<<2)|3,{49,116,65}}, +/* 2658 */ {(16<<2)|3,{49,116,95}}, +/* 2659 */ {(16<<2)|3,{49,116,98}}, +/* 2660 */ {(16<<2)|3,{49,116,100}}, +/* 2661 */ {(16<<2)|3,{49,116,102}}, +/* 2662 */ {(16<<2)|3,{49,116,103}}, +/* 2663 */ {(16<<2)|3,{49,116,104}}, +/* 2664 */ {(16<<2)|3,{49,116,108}}, +/* 2665 */ {(16<<2)|3,{49,116,109}}, +/* 2666 */ {(16<<2)|3,{49,116,110}}, +/* 2667 */ {(16<<2)|3,{49,116,112}}, +/* 2668 */ {(16<<2)|3,{49,116,114}}, +/* 2669 */ {(16<<2)|3,{49,116,117}}, +/* 2670 */ {(10<<2)|2,{49,116,0}}, +/* 2671 */ {(10<<2)|2,{49,116,0}}, +/* 2672 */ {(10<<2)|2,{49,116,0}}, +/* 2673 */ {(10<<2)|2,{49,116,0}}, +/* 2674 */ {(10<<2)|2,{49,116,0}}, +/* 2675 */ {(10<<2)|2,{49,116,0}}, +/* 2676 */ {(10<<2)|2,{49,116,0}}, +/* 2677 */ {(10<<2)|2,{49,116,0}}, +/* 2678 */ {(10<<2)|2,{49,116,0}}, +/* 2679 */ {(10<<2)|2,{49,116,0}}, +/* 2680 */ {(10<<2)|2,{49,116,0}}, +/* 2681 */ {(10<<2)|2,{49,116,0}}, +/* 2682 */ {(10<<2)|2,{49,116,0}}, +/* 2683 */ {(10<<2)|2,{49,116,0}}, +/* 2684 */ {(10<<2)|2,{49,116,0}}, +/* 2685 */ {(10<<2)|2,{49,116,0}}, +/* 2686 */ {(10<<2)|2,{49,116,0}}, +/* 2687 */ {(10<<2)|2,{49,116,0}}, +/* 2688 */ {(16<<2)|3,{49,32,48}}, +/* 2689 */ {(16<<2)|3,{49,32,49}}, +/* 2690 */ {(16<<2)|3,{49,32,50}}, +/* 2691 */ {(16<<2)|3,{49,32,97}}, +/* 2692 */ {(16<<2)|3,{49,32,99}}, +/* 2693 */ {(16<<2)|3,{49,32,101}}, +/* 2694 */ {(16<<2)|3,{49,32,105}}, +/* 2695 */ {(16<<2)|3,{49,32,111}}, +/* 2696 */ {(16<<2)|3,{49,32,115}}, +/* 2697 */ {(16<<2)|3,{49,32,116}}, +/* 2698 */ {(11<<2)|2,{49,32,0}}, +/* 2699 */ {(11<<2)|2,{49,32,0}}, +/* 2700 */ {(11<<2)|2,{49,32,0}}, +/* 2701 */ {(11<<2)|2,{49,32,0}}, +/* 2702 */ {(11<<2)|2,{49,32,0}}, +/* 2703 */ {(11<<2)|2,{49,32,0}}, +/* 2704 */ {(11<<2)|2,{49,32,0}}, +/* 2705 */ {(11<<2)|2,{49,32,0}}, +/* 2706 */ {(11<<2)|2,{49,32,0}}, +/* 2707 */ {(11<<2)|2,{49,32,0}}, +/* 2708 */ {(11<<2)|2,{49,32,0}}, +/* 2709 */ {(11<<2)|2,{49,32,0}}, +/* 2710 */ {(11<<2)|2,{49,32,0}}, +/* 2711 */ {(11<<2)|2,{49,32,0}}, +/* 2712 */ {(11<<2)|2,{49,32,0}}, +/* 2713 */ {(11<<2)|2,{49,32,0}}, +/* 2714 */ {(11<<2)|2,{49,32,0}}, +/* 2715 */ {(11<<2)|2,{49,32,0}}, +/* 2716 */ {(11<<2)|2,{49,32,0}}, +/* 2717 */ {(11<<2)|2,{49,32,0}}, +/* 2718 */ {(11<<2)|2,{49,32,0}}, +/* 2719 */ {(11<<2)|2,{49,32,0}}, +/* 2720 */ {(16<<2)|3,{49,37,48}}, +/* 2721 */ {(16<<2)|3,{49,37,49}}, +/* 2722 */ {(16<<2)|3,{49,37,50}}, +/* 2723 */ {(16<<2)|3,{49,37,97}}, +/* 2724 */ {(16<<2)|3,{49,37,99}}, +/* 2725 */ {(16<<2)|3,{49,37,101}}, +/* 2726 */ {(16<<2)|3,{49,37,105}}, +/* 2727 */ {(16<<2)|3,{49,37,111}}, +/* 2728 */ {(16<<2)|3,{49,37,115}}, +/* 2729 */ {(16<<2)|3,{49,37,116}}, +/* 2730 */ {(11<<2)|2,{49,37,0}}, +/* 2731 */ {(11<<2)|2,{49,37,0}}, +/* 2732 */ {(11<<2)|2,{49,37,0}}, +/* 2733 */ {(11<<2)|2,{49,37,0}}, +/* 2734 */ {(11<<2)|2,{49,37,0}}, +/* 2735 */ {(11<<2)|2,{49,37,0}}, +/* 2736 */ {(11<<2)|2,{49,37,0}}, +/* 2737 */ {(11<<2)|2,{49,37,0}}, +/* 2738 */ {(11<<2)|2,{49,37,0}}, +/* 2739 */ {(11<<2)|2,{49,37,0}}, +/* 2740 */ {(11<<2)|2,{49,37,0}}, +/* 2741 */ {(11<<2)|2,{49,37,0}}, +/* 2742 */ {(11<<2)|2,{49,37,0}}, +/* 2743 */ {(11<<2)|2,{49,37,0}}, +/* 2744 */ {(11<<2)|2,{49,37,0}}, +/* 2745 */ {(11<<2)|2,{49,37,0}}, +/* 2746 */ {(11<<2)|2,{49,37,0}}, +/* 2747 */ {(11<<2)|2,{49,37,0}}, +/* 2748 */ {(11<<2)|2,{49,37,0}}, +/* 2749 */ {(11<<2)|2,{49,37,0}}, +/* 2750 */ {(11<<2)|2,{49,37,0}}, +/* 2751 */ {(11<<2)|2,{49,37,0}}, +/* 2752 */ {(16<<2)|3,{49,45,48}}, +/* 2753 */ {(16<<2)|3,{49,45,49}}, +/* 2754 */ {(16<<2)|3,{49,45,50}}, +/* 2755 */ {(16<<2)|3,{49,45,97}}, +/* 2756 */ {(16<<2)|3,{49,45,99}}, +/* 2757 */ {(16<<2)|3,{49,45,101}}, +/* 2758 */ {(16<<2)|3,{49,45,105}}, +/* 2759 */ {(16<<2)|3,{49,45,111}}, +/* 2760 */ {(16<<2)|3,{49,45,115}}, +/* 2761 */ {(16<<2)|3,{49,45,116}}, +/* 2762 */ {(11<<2)|2,{49,45,0}}, +/* 2763 */ {(11<<2)|2,{49,45,0}}, +/* 2764 */ {(11<<2)|2,{49,45,0}}, +/* 2765 */ {(11<<2)|2,{49,45,0}}, +/* 2766 */ {(11<<2)|2,{49,45,0}}, +/* 2767 */ {(11<<2)|2,{49,45,0}}, +/* 2768 */ {(11<<2)|2,{49,45,0}}, +/* 2769 */ {(11<<2)|2,{49,45,0}}, +/* 2770 */ {(11<<2)|2,{49,45,0}}, +/* 2771 */ {(11<<2)|2,{49,45,0}}, +/* 2772 */ {(11<<2)|2,{49,45,0}}, +/* 2773 */ {(11<<2)|2,{49,45,0}}, +/* 2774 */ {(11<<2)|2,{49,45,0}}, +/* 2775 */ {(11<<2)|2,{49,45,0}}, +/* 2776 */ {(11<<2)|2,{49,45,0}}, +/* 2777 */ {(11<<2)|2,{49,45,0}}, +/* 2778 */ {(11<<2)|2,{49,45,0}}, +/* 2779 */ {(11<<2)|2,{49,45,0}}, +/* 2780 */ {(11<<2)|2,{49,45,0}}, +/* 2781 */ {(11<<2)|2,{49,45,0}}, +/* 2782 */ {(11<<2)|2,{49,45,0}}, +/* 2783 */ {(11<<2)|2,{49,45,0}}, +/* 2784 */ {(16<<2)|3,{49,46,48}}, +/* 2785 */ {(16<<2)|3,{49,46,49}}, +/* 2786 */ {(16<<2)|3,{49,46,50}}, +/* 2787 */ {(16<<2)|3,{49,46,97}}, +/* 2788 */ {(16<<2)|3,{49,46,99}}, +/* 2789 */ {(16<<2)|3,{49,46,101}}, +/* 2790 */ {(16<<2)|3,{49,46,105}}, +/* 2791 */ {(16<<2)|3,{49,46,111}}, +/* 2792 */ {(16<<2)|3,{49,46,115}}, +/* 2793 */ {(16<<2)|3,{49,46,116}}, +/* 2794 */ {(11<<2)|2,{49,46,0}}, +/* 2795 */ {(11<<2)|2,{49,46,0}}, +/* 2796 */ {(11<<2)|2,{49,46,0}}, +/* 2797 */ {(11<<2)|2,{49,46,0}}, +/* 2798 */ {(11<<2)|2,{49,46,0}}, +/* 2799 */ {(11<<2)|2,{49,46,0}}, +/* 2800 */ {(11<<2)|2,{49,46,0}}, +/* 2801 */ {(11<<2)|2,{49,46,0}}, +/* 2802 */ {(11<<2)|2,{49,46,0}}, +/* 2803 */ {(11<<2)|2,{49,46,0}}, +/* 2804 */ {(11<<2)|2,{49,46,0}}, +/* 2805 */ {(11<<2)|2,{49,46,0}}, +/* 2806 */ {(11<<2)|2,{49,46,0}}, +/* 2807 */ {(11<<2)|2,{49,46,0}}, +/* 2808 */ {(11<<2)|2,{49,46,0}}, +/* 2809 */ {(11<<2)|2,{49,46,0}}, +/* 2810 */ {(11<<2)|2,{49,46,0}}, +/* 2811 */ {(11<<2)|2,{49,46,0}}, +/* 2812 */ {(11<<2)|2,{49,46,0}}, +/* 2813 */ {(11<<2)|2,{49,46,0}}, +/* 2814 */ {(11<<2)|2,{49,46,0}}, +/* 2815 */ {(11<<2)|2,{49,46,0}}, +/* 2816 */ {(16<<2)|3,{49,47,48}}, +/* 2817 */ {(16<<2)|3,{49,47,49}}, +/* 2818 */ {(16<<2)|3,{49,47,50}}, +/* 2819 */ {(16<<2)|3,{49,47,97}}, +/* 2820 */ {(16<<2)|3,{49,47,99}}, +/* 2821 */ {(16<<2)|3,{49,47,101}}, +/* 2822 */ {(16<<2)|3,{49,47,105}}, +/* 2823 */ {(16<<2)|3,{49,47,111}}, +/* 2824 */ {(16<<2)|3,{49,47,115}}, +/* 2825 */ {(16<<2)|3,{49,47,116}}, +/* 2826 */ {(11<<2)|2,{49,47,0}}, +/* 2827 */ {(11<<2)|2,{49,47,0}}, +/* 2828 */ {(11<<2)|2,{49,47,0}}, +/* 2829 */ {(11<<2)|2,{49,47,0}}, +/* 2830 */ {(11<<2)|2,{49,47,0}}, +/* 2831 */ {(11<<2)|2,{49,47,0}}, +/* 2832 */ {(11<<2)|2,{49,47,0}}, +/* 2833 */ {(11<<2)|2,{49,47,0}}, +/* 2834 */ {(11<<2)|2,{49,47,0}}, +/* 2835 */ {(11<<2)|2,{49,47,0}}, +/* 2836 */ {(11<<2)|2,{49,47,0}}, +/* 2837 */ {(11<<2)|2,{49,47,0}}, +/* 2838 */ {(11<<2)|2,{49,47,0}}, +/* 2839 */ {(11<<2)|2,{49,47,0}}, +/* 2840 */ {(11<<2)|2,{49,47,0}}, +/* 2841 */ {(11<<2)|2,{49,47,0}}, +/* 2842 */ {(11<<2)|2,{49,47,0}}, +/* 2843 */ {(11<<2)|2,{49,47,0}}, +/* 2844 */ {(11<<2)|2,{49,47,0}}, +/* 2845 */ {(11<<2)|2,{49,47,0}}, +/* 2846 */ {(11<<2)|2,{49,47,0}}, +/* 2847 */ {(11<<2)|2,{49,47,0}}, +/* 2848 */ {(16<<2)|3,{49,51,48}}, +/* 2849 */ {(16<<2)|3,{49,51,49}}, +/* 2850 */ {(16<<2)|3,{49,51,50}}, +/* 2851 */ {(16<<2)|3,{49,51,97}}, +/* 2852 */ {(16<<2)|3,{49,51,99}}, +/* 2853 */ {(16<<2)|3,{49,51,101}}, +/* 2854 */ {(16<<2)|3,{49,51,105}}, +/* 2855 */ {(16<<2)|3,{49,51,111}}, +/* 2856 */ {(16<<2)|3,{49,51,115}}, +/* 2857 */ {(16<<2)|3,{49,51,116}}, +/* 2858 */ {(11<<2)|2,{49,51,0}}, +/* 2859 */ {(11<<2)|2,{49,51,0}}, +/* 2860 */ {(11<<2)|2,{49,51,0}}, +/* 2861 */ {(11<<2)|2,{49,51,0}}, +/* 2862 */ {(11<<2)|2,{49,51,0}}, +/* 2863 */ {(11<<2)|2,{49,51,0}}, +/* 2864 */ {(11<<2)|2,{49,51,0}}, +/* 2865 */ {(11<<2)|2,{49,51,0}}, +/* 2866 */ {(11<<2)|2,{49,51,0}}, +/* 2867 */ {(11<<2)|2,{49,51,0}}, +/* 2868 */ {(11<<2)|2,{49,51,0}}, +/* 2869 */ {(11<<2)|2,{49,51,0}}, +/* 2870 */ {(11<<2)|2,{49,51,0}}, +/* 2871 */ {(11<<2)|2,{49,51,0}}, +/* 2872 */ {(11<<2)|2,{49,51,0}}, +/* 2873 */ {(11<<2)|2,{49,51,0}}, +/* 2874 */ {(11<<2)|2,{49,51,0}}, +/* 2875 */ {(11<<2)|2,{49,51,0}}, +/* 2876 */ {(11<<2)|2,{49,51,0}}, +/* 2877 */ {(11<<2)|2,{49,51,0}}, +/* 2878 */ {(11<<2)|2,{49,51,0}}, +/* 2879 */ {(11<<2)|2,{49,51,0}}, +/* 2880 */ {(16<<2)|3,{49,52,48}}, +/* 2881 */ {(16<<2)|3,{49,52,49}}, +/* 2882 */ {(16<<2)|3,{49,52,50}}, +/* 2883 */ {(16<<2)|3,{49,52,97}}, +/* 2884 */ {(16<<2)|3,{49,52,99}}, +/* 2885 */ {(16<<2)|3,{49,52,101}}, +/* 2886 */ {(16<<2)|3,{49,52,105}}, +/* 2887 */ {(16<<2)|3,{49,52,111}}, +/* 2888 */ {(16<<2)|3,{49,52,115}}, +/* 2889 */ {(16<<2)|3,{49,52,116}}, +/* 2890 */ {(11<<2)|2,{49,52,0}}, +/* 2891 */ {(11<<2)|2,{49,52,0}}, +/* 2892 */ {(11<<2)|2,{49,52,0}}, +/* 2893 */ {(11<<2)|2,{49,52,0}}, +/* 2894 */ {(11<<2)|2,{49,52,0}}, +/* 2895 */ {(11<<2)|2,{49,52,0}}, +/* 2896 */ {(11<<2)|2,{49,52,0}}, +/* 2897 */ {(11<<2)|2,{49,52,0}}, +/* 2898 */ {(11<<2)|2,{49,52,0}}, +/* 2899 */ {(11<<2)|2,{49,52,0}}, +/* 2900 */ {(11<<2)|2,{49,52,0}}, +/* 2901 */ {(11<<2)|2,{49,52,0}}, +/* 2902 */ {(11<<2)|2,{49,52,0}}, +/* 2903 */ {(11<<2)|2,{49,52,0}}, +/* 2904 */ {(11<<2)|2,{49,52,0}}, +/* 2905 */ {(11<<2)|2,{49,52,0}}, +/* 2906 */ {(11<<2)|2,{49,52,0}}, +/* 2907 */ {(11<<2)|2,{49,52,0}}, +/* 2908 */ {(11<<2)|2,{49,52,0}}, +/* 2909 */ {(11<<2)|2,{49,52,0}}, +/* 2910 */ {(11<<2)|2,{49,52,0}}, +/* 2911 */ {(11<<2)|2,{49,52,0}}, +/* 2912 */ {(16<<2)|3,{49,53,48}}, +/* 2913 */ {(16<<2)|3,{49,53,49}}, +/* 2914 */ {(16<<2)|3,{49,53,50}}, +/* 2915 */ {(16<<2)|3,{49,53,97}}, +/* 2916 */ {(16<<2)|3,{49,53,99}}, +/* 2917 */ {(16<<2)|3,{49,53,101}}, +/* 2918 */ {(16<<2)|3,{49,53,105}}, +/* 2919 */ {(16<<2)|3,{49,53,111}}, +/* 2920 */ {(16<<2)|3,{49,53,115}}, +/* 2921 */ {(16<<2)|3,{49,53,116}}, +/* 2922 */ {(11<<2)|2,{49,53,0}}, +/* 2923 */ {(11<<2)|2,{49,53,0}}, +/* 2924 */ {(11<<2)|2,{49,53,0}}, +/* 2925 */ {(11<<2)|2,{49,53,0}}, +/* 2926 */ {(11<<2)|2,{49,53,0}}, +/* 2927 */ {(11<<2)|2,{49,53,0}}, +/* 2928 */ {(11<<2)|2,{49,53,0}}, +/* 2929 */ {(11<<2)|2,{49,53,0}}, +/* 2930 */ {(11<<2)|2,{49,53,0}}, +/* 2931 */ {(11<<2)|2,{49,53,0}}, +/* 2932 */ {(11<<2)|2,{49,53,0}}, +/* 2933 */ {(11<<2)|2,{49,53,0}}, +/* 2934 */ {(11<<2)|2,{49,53,0}}, +/* 2935 */ {(11<<2)|2,{49,53,0}}, +/* 2936 */ {(11<<2)|2,{49,53,0}}, +/* 2937 */ {(11<<2)|2,{49,53,0}}, +/* 2938 */ {(11<<2)|2,{49,53,0}}, +/* 2939 */ {(11<<2)|2,{49,53,0}}, +/* 2940 */ {(11<<2)|2,{49,53,0}}, +/* 2941 */ {(11<<2)|2,{49,53,0}}, +/* 2942 */ {(11<<2)|2,{49,53,0}}, +/* 2943 */ {(11<<2)|2,{49,53,0}}, +/* 2944 */ {(16<<2)|3,{49,54,48}}, +/* 2945 */ {(16<<2)|3,{49,54,49}}, +/* 2946 */ {(16<<2)|3,{49,54,50}}, +/* 2947 */ {(16<<2)|3,{49,54,97}}, +/* 2948 */ {(16<<2)|3,{49,54,99}}, +/* 2949 */ {(16<<2)|3,{49,54,101}}, +/* 2950 */ {(16<<2)|3,{49,54,105}}, +/* 2951 */ {(16<<2)|3,{49,54,111}}, +/* 2952 */ {(16<<2)|3,{49,54,115}}, +/* 2953 */ {(16<<2)|3,{49,54,116}}, +/* 2954 */ {(11<<2)|2,{49,54,0}}, +/* 2955 */ {(11<<2)|2,{49,54,0}}, +/* 2956 */ {(11<<2)|2,{49,54,0}}, +/* 2957 */ {(11<<2)|2,{49,54,0}}, +/* 2958 */ {(11<<2)|2,{49,54,0}}, +/* 2959 */ {(11<<2)|2,{49,54,0}}, +/* 2960 */ {(11<<2)|2,{49,54,0}}, +/* 2961 */ {(11<<2)|2,{49,54,0}}, +/* 2962 */ {(11<<2)|2,{49,54,0}}, +/* 2963 */ {(11<<2)|2,{49,54,0}}, +/* 2964 */ {(11<<2)|2,{49,54,0}}, +/* 2965 */ {(11<<2)|2,{49,54,0}}, +/* 2966 */ {(11<<2)|2,{49,54,0}}, +/* 2967 */ {(11<<2)|2,{49,54,0}}, +/* 2968 */ {(11<<2)|2,{49,54,0}}, +/* 2969 */ {(11<<2)|2,{49,54,0}}, +/* 2970 */ {(11<<2)|2,{49,54,0}}, +/* 2971 */ {(11<<2)|2,{49,54,0}}, +/* 2972 */ {(11<<2)|2,{49,54,0}}, +/* 2973 */ {(11<<2)|2,{49,54,0}}, +/* 2974 */ {(11<<2)|2,{49,54,0}}, +/* 2975 */ {(11<<2)|2,{49,54,0}}, +/* 2976 */ {(16<<2)|3,{49,55,48}}, +/* 2977 */ {(16<<2)|3,{49,55,49}}, +/* 2978 */ {(16<<2)|3,{49,55,50}}, +/* 2979 */ {(16<<2)|3,{49,55,97}}, +/* 2980 */ {(16<<2)|3,{49,55,99}}, +/* 2981 */ {(16<<2)|3,{49,55,101}}, +/* 2982 */ {(16<<2)|3,{49,55,105}}, +/* 2983 */ {(16<<2)|3,{49,55,111}}, +/* 2984 */ {(16<<2)|3,{49,55,115}}, +/* 2985 */ {(16<<2)|3,{49,55,116}}, +/* 2986 */ {(11<<2)|2,{49,55,0}}, +/* 2987 */ {(11<<2)|2,{49,55,0}}, +/* 2988 */ {(11<<2)|2,{49,55,0}}, +/* 2989 */ {(11<<2)|2,{49,55,0}}, +/* 2990 */ {(11<<2)|2,{49,55,0}}, +/* 2991 */ {(11<<2)|2,{49,55,0}}, +/* 2992 */ {(11<<2)|2,{49,55,0}}, +/* 2993 */ {(11<<2)|2,{49,55,0}}, +/* 2994 */ {(11<<2)|2,{49,55,0}}, +/* 2995 */ {(11<<2)|2,{49,55,0}}, +/* 2996 */ {(11<<2)|2,{49,55,0}}, +/* 2997 */ {(11<<2)|2,{49,55,0}}, +/* 2998 */ {(11<<2)|2,{49,55,0}}, +/* 2999 */ {(11<<2)|2,{49,55,0}}, +/* 3000 */ {(11<<2)|2,{49,55,0}}, +/* 3001 */ {(11<<2)|2,{49,55,0}}, +/* 3002 */ {(11<<2)|2,{49,55,0}}, +/* 3003 */ {(11<<2)|2,{49,55,0}}, +/* 3004 */ {(11<<2)|2,{49,55,0}}, +/* 3005 */ {(11<<2)|2,{49,55,0}}, +/* 3006 */ {(11<<2)|2,{49,55,0}}, +/* 3007 */ {(11<<2)|2,{49,55,0}}, +/* 3008 */ {(16<<2)|3,{49,56,48}}, +/* 3009 */ {(16<<2)|3,{49,56,49}}, +/* 3010 */ {(16<<2)|3,{49,56,50}}, +/* 3011 */ {(16<<2)|3,{49,56,97}}, +/* 3012 */ {(16<<2)|3,{49,56,99}}, +/* 3013 */ {(16<<2)|3,{49,56,101}}, +/* 3014 */ {(16<<2)|3,{49,56,105}}, +/* 3015 */ {(16<<2)|3,{49,56,111}}, +/* 3016 */ {(16<<2)|3,{49,56,115}}, +/* 3017 */ {(16<<2)|3,{49,56,116}}, +/* 3018 */ {(11<<2)|2,{49,56,0}}, +/* 3019 */ {(11<<2)|2,{49,56,0}}, +/* 3020 */ {(11<<2)|2,{49,56,0}}, +/* 3021 */ {(11<<2)|2,{49,56,0}}, +/* 3022 */ {(11<<2)|2,{49,56,0}}, +/* 3023 */ {(11<<2)|2,{49,56,0}}, +/* 3024 */ {(11<<2)|2,{49,56,0}}, +/* 3025 */ {(11<<2)|2,{49,56,0}}, +/* 3026 */ {(11<<2)|2,{49,56,0}}, +/* 3027 */ {(11<<2)|2,{49,56,0}}, +/* 3028 */ {(11<<2)|2,{49,56,0}}, +/* 3029 */ {(11<<2)|2,{49,56,0}}, +/* 3030 */ {(11<<2)|2,{49,56,0}}, +/* 3031 */ {(11<<2)|2,{49,56,0}}, +/* 3032 */ {(11<<2)|2,{49,56,0}}, +/* 3033 */ {(11<<2)|2,{49,56,0}}, +/* 3034 */ {(11<<2)|2,{49,56,0}}, +/* 3035 */ {(11<<2)|2,{49,56,0}}, +/* 3036 */ {(11<<2)|2,{49,56,0}}, +/* 3037 */ {(11<<2)|2,{49,56,0}}, +/* 3038 */ {(11<<2)|2,{49,56,0}}, +/* 3039 */ {(11<<2)|2,{49,56,0}}, +/* 3040 */ {(16<<2)|3,{49,57,48}}, +/* 3041 */ {(16<<2)|3,{49,57,49}}, +/* 3042 */ {(16<<2)|3,{49,57,50}}, +/* 3043 */ {(16<<2)|3,{49,57,97}}, +/* 3044 */ {(16<<2)|3,{49,57,99}}, +/* 3045 */ {(16<<2)|3,{49,57,101}}, +/* 3046 */ {(16<<2)|3,{49,57,105}}, +/* 3047 */ {(16<<2)|3,{49,57,111}}, +/* 3048 */ {(16<<2)|3,{49,57,115}}, +/* 3049 */ {(16<<2)|3,{49,57,116}}, +/* 3050 */ {(11<<2)|2,{49,57,0}}, +/* 3051 */ {(11<<2)|2,{49,57,0}}, +/* 3052 */ {(11<<2)|2,{49,57,0}}, +/* 3053 */ {(11<<2)|2,{49,57,0}}, +/* 3054 */ {(11<<2)|2,{49,57,0}}, +/* 3055 */ {(11<<2)|2,{49,57,0}}, +/* 3056 */ {(11<<2)|2,{49,57,0}}, +/* 3057 */ {(11<<2)|2,{49,57,0}}, +/* 3058 */ {(11<<2)|2,{49,57,0}}, +/* 3059 */ {(11<<2)|2,{49,57,0}}, +/* 3060 */ {(11<<2)|2,{49,57,0}}, +/* 3061 */ {(11<<2)|2,{49,57,0}}, +/* 3062 */ {(11<<2)|2,{49,57,0}}, +/* 3063 */ {(11<<2)|2,{49,57,0}}, +/* 3064 */ {(11<<2)|2,{49,57,0}}, +/* 3065 */ {(11<<2)|2,{49,57,0}}, +/* 3066 */ {(11<<2)|2,{49,57,0}}, +/* 3067 */ {(11<<2)|2,{49,57,0}}, +/* 3068 */ {(11<<2)|2,{49,57,0}}, +/* 3069 */ {(11<<2)|2,{49,57,0}}, +/* 3070 */ {(11<<2)|2,{49,57,0}}, +/* 3071 */ {(11<<2)|2,{49,57,0}}, +/* 3072 */ {(16<<2)|3,{49,61,48}}, +/* 3073 */ {(16<<2)|3,{49,61,49}}, +/* 3074 */ {(16<<2)|3,{49,61,50}}, +/* 3075 */ {(16<<2)|3,{49,61,97}}, +/* 3076 */ {(16<<2)|3,{49,61,99}}, +/* 3077 */ {(16<<2)|3,{49,61,101}}, +/* 3078 */ {(16<<2)|3,{49,61,105}}, +/* 3079 */ {(16<<2)|3,{49,61,111}}, +/* 3080 */ {(16<<2)|3,{49,61,115}}, +/* 3081 */ {(16<<2)|3,{49,61,116}}, +/* 3082 */ {(11<<2)|2,{49,61,0}}, +/* 3083 */ {(11<<2)|2,{49,61,0}}, +/* 3084 */ {(11<<2)|2,{49,61,0}}, +/* 3085 */ {(11<<2)|2,{49,61,0}}, +/* 3086 */ {(11<<2)|2,{49,61,0}}, +/* 3087 */ {(11<<2)|2,{49,61,0}}, +/* 3088 */ {(11<<2)|2,{49,61,0}}, +/* 3089 */ {(11<<2)|2,{49,61,0}}, +/* 3090 */ {(11<<2)|2,{49,61,0}}, +/* 3091 */ {(11<<2)|2,{49,61,0}}, +/* 3092 */ {(11<<2)|2,{49,61,0}}, +/* 3093 */ {(11<<2)|2,{49,61,0}}, +/* 3094 */ {(11<<2)|2,{49,61,0}}, +/* 3095 */ {(11<<2)|2,{49,61,0}}, +/* 3096 */ {(11<<2)|2,{49,61,0}}, +/* 3097 */ {(11<<2)|2,{49,61,0}}, +/* 3098 */ {(11<<2)|2,{49,61,0}}, +/* 3099 */ {(11<<2)|2,{49,61,0}}, +/* 3100 */ {(11<<2)|2,{49,61,0}}, +/* 3101 */ {(11<<2)|2,{49,61,0}}, +/* 3102 */ {(11<<2)|2,{49,61,0}}, +/* 3103 */ {(11<<2)|2,{49,61,0}}, +/* 3104 */ {(16<<2)|3,{49,65,48}}, +/* 3105 */ {(16<<2)|3,{49,65,49}}, +/* 3106 */ {(16<<2)|3,{49,65,50}}, +/* 3107 */ {(16<<2)|3,{49,65,97}}, +/* 3108 */ {(16<<2)|3,{49,65,99}}, +/* 3109 */ {(16<<2)|3,{49,65,101}}, +/* 3110 */ {(16<<2)|3,{49,65,105}}, +/* 3111 */ {(16<<2)|3,{49,65,111}}, +/* 3112 */ {(16<<2)|3,{49,65,115}}, +/* 3113 */ {(16<<2)|3,{49,65,116}}, +/* 3114 */ {(11<<2)|2,{49,65,0}}, +/* 3115 */ {(11<<2)|2,{49,65,0}}, +/* 3116 */ {(11<<2)|2,{49,65,0}}, +/* 3117 */ {(11<<2)|2,{49,65,0}}, +/* 3118 */ {(11<<2)|2,{49,65,0}}, +/* 3119 */ {(11<<2)|2,{49,65,0}}, +/* 3120 */ {(11<<2)|2,{49,65,0}}, +/* 3121 */ {(11<<2)|2,{49,65,0}}, +/* 3122 */ {(11<<2)|2,{49,65,0}}, +/* 3123 */ {(11<<2)|2,{49,65,0}}, +/* 3124 */ {(11<<2)|2,{49,65,0}}, +/* 3125 */ {(11<<2)|2,{49,65,0}}, +/* 3126 */ {(11<<2)|2,{49,65,0}}, +/* 3127 */ {(11<<2)|2,{49,65,0}}, +/* 3128 */ {(11<<2)|2,{49,65,0}}, +/* 3129 */ {(11<<2)|2,{49,65,0}}, +/* 3130 */ {(11<<2)|2,{49,65,0}}, +/* 3131 */ {(11<<2)|2,{49,65,0}}, +/* 3132 */ {(11<<2)|2,{49,65,0}}, +/* 3133 */ {(11<<2)|2,{49,65,0}}, +/* 3134 */ {(11<<2)|2,{49,65,0}}, +/* 3135 */ {(11<<2)|2,{49,65,0}}, +/* 3136 */ {(16<<2)|3,{49,95,48}}, +/* 3137 */ {(16<<2)|3,{49,95,49}}, +/* 3138 */ {(16<<2)|3,{49,95,50}}, +/* 3139 */ {(16<<2)|3,{49,95,97}}, +/* 3140 */ {(16<<2)|3,{49,95,99}}, +/* 3141 */ {(16<<2)|3,{49,95,101}}, +/* 3142 */ {(16<<2)|3,{49,95,105}}, +/* 3143 */ {(16<<2)|3,{49,95,111}}, +/* 3144 */ {(16<<2)|3,{49,95,115}}, +/* 3145 */ {(16<<2)|3,{49,95,116}}, +/* 3146 */ {(11<<2)|2,{49,95,0}}, +/* 3147 */ {(11<<2)|2,{49,95,0}}, +/* 3148 */ {(11<<2)|2,{49,95,0}}, +/* 3149 */ {(11<<2)|2,{49,95,0}}, +/* 3150 */ {(11<<2)|2,{49,95,0}}, +/* 3151 */ {(11<<2)|2,{49,95,0}}, +/* 3152 */ {(11<<2)|2,{49,95,0}}, +/* 3153 */ {(11<<2)|2,{49,95,0}}, +/* 3154 */ {(11<<2)|2,{49,95,0}}, +/* 3155 */ {(11<<2)|2,{49,95,0}}, +/* 3156 */ {(11<<2)|2,{49,95,0}}, +/* 3157 */ {(11<<2)|2,{49,95,0}}, +/* 3158 */ {(11<<2)|2,{49,95,0}}, +/* 3159 */ {(11<<2)|2,{49,95,0}}, +/* 3160 */ {(11<<2)|2,{49,95,0}}, +/* 3161 */ {(11<<2)|2,{49,95,0}}, +/* 3162 */ {(11<<2)|2,{49,95,0}}, +/* 3163 */ {(11<<2)|2,{49,95,0}}, +/* 3164 */ {(11<<2)|2,{49,95,0}}, +/* 3165 */ {(11<<2)|2,{49,95,0}}, +/* 3166 */ {(11<<2)|2,{49,95,0}}, +/* 3167 */ {(11<<2)|2,{49,95,0}}, +/* 3168 */ {(16<<2)|3,{49,98,48}}, +/* 3169 */ {(16<<2)|3,{49,98,49}}, +/* 3170 */ {(16<<2)|3,{49,98,50}}, +/* 3171 */ {(16<<2)|3,{49,98,97}}, +/* 3172 */ {(16<<2)|3,{49,98,99}}, +/* 3173 */ {(16<<2)|3,{49,98,101}}, +/* 3174 */ {(16<<2)|3,{49,98,105}}, +/* 3175 */ {(16<<2)|3,{49,98,111}}, +/* 3176 */ {(16<<2)|3,{49,98,115}}, +/* 3177 */ {(16<<2)|3,{49,98,116}}, +/* 3178 */ {(11<<2)|2,{49,98,0}}, +/* 3179 */ {(11<<2)|2,{49,98,0}}, +/* 3180 */ {(11<<2)|2,{49,98,0}}, +/* 3181 */ {(11<<2)|2,{49,98,0}}, +/* 3182 */ {(11<<2)|2,{49,98,0}}, +/* 3183 */ {(11<<2)|2,{49,98,0}}, +/* 3184 */ {(11<<2)|2,{49,98,0}}, +/* 3185 */ {(11<<2)|2,{49,98,0}}, +/* 3186 */ {(11<<2)|2,{49,98,0}}, +/* 3187 */ {(11<<2)|2,{49,98,0}}, +/* 3188 */ {(11<<2)|2,{49,98,0}}, +/* 3189 */ {(11<<2)|2,{49,98,0}}, +/* 3190 */ {(11<<2)|2,{49,98,0}}, +/* 3191 */ {(11<<2)|2,{49,98,0}}, +/* 3192 */ {(11<<2)|2,{49,98,0}}, +/* 3193 */ {(11<<2)|2,{49,98,0}}, +/* 3194 */ {(11<<2)|2,{49,98,0}}, +/* 3195 */ {(11<<2)|2,{49,98,0}}, +/* 3196 */ {(11<<2)|2,{49,98,0}}, +/* 3197 */ {(11<<2)|2,{49,98,0}}, +/* 3198 */ {(11<<2)|2,{49,98,0}}, +/* 3199 */ {(11<<2)|2,{49,98,0}}, +/* 3200 */ {(16<<2)|3,{49,100,48}}, +/* 3201 */ {(16<<2)|3,{49,100,49}}, +/* 3202 */ {(16<<2)|3,{49,100,50}}, +/* 3203 */ {(16<<2)|3,{49,100,97}}, +/* 3204 */ {(16<<2)|3,{49,100,99}}, +/* 3205 */ {(16<<2)|3,{49,100,101}}, +/* 3206 */ {(16<<2)|3,{49,100,105}}, +/* 3207 */ {(16<<2)|3,{49,100,111}}, +/* 3208 */ {(16<<2)|3,{49,100,115}}, +/* 3209 */ {(16<<2)|3,{49,100,116}}, +/* 3210 */ {(11<<2)|2,{49,100,0}}, +/* 3211 */ {(11<<2)|2,{49,100,0}}, +/* 3212 */ {(11<<2)|2,{49,100,0}}, +/* 3213 */ {(11<<2)|2,{49,100,0}}, +/* 3214 */ {(11<<2)|2,{49,100,0}}, +/* 3215 */ {(11<<2)|2,{49,100,0}}, +/* 3216 */ {(11<<2)|2,{49,100,0}}, +/* 3217 */ {(11<<2)|2,{49,100,0}}, +/* 3218 */ {(11<<2)|2,{49,100,0}}, +/* 3219 */ {(11<<2)|2,{49,100,0}}, +/* 3220 */ {(11<<2)|2,{49,100,0}}, +/* 3221 */ {(11<<2)|2,{49,100,0}}, +/* 3222 */ {(11<<2)|2,{49,100,0}}, +/* 3223 */ {(11<<2)|2,{49,100,0}}, +/* 3224 */ {(11<<2)|2,{49,100,0}}, +/* 3225 */ {(11<<2)|2,{49,100,0}}, +/* 3226 */ {(11<<2)|2,{49,100,0}}, +/* 3227 */ {(11<<2)|2,{49,100,0}}, +/* 3228 */ {(11<<2)|2,{49,100,0}}, +/* 3229 */ {(11<<2)|2,{49,100,0}}, +/* 3230 */ {(11<<2)|2,{49,100,0}}, +/* 3231 */ {(11<<2)|2,{49,100,0}}, +/* 3232 */ {(16<<2)|3,{49,102,48}}, +/* 3233 */ {(16<<2)|3,{49,102,49}}, +/* 3234 */ {(16<<2)|3,{49,102,50}}, +/* 3235 */ {(16<<2)|3,{49,102,97}}, +/* 3236 */ {(16<<2)|3,{49,102,99}}, +/* 3237 */ {(16<<2)|3,{49,102,101}}, +/* 3238 */ {(16<<2)|3,{49,102,105}}, +/* 3239 */ {(16<<2)|3,{49,102,111}}, +/* 3240 */ {(16<<2)|3,{49,102,115}}, +/* 3241 */ {(16<<2)|3,{49,102,116}}, +/* 3242 */ {(11<<2)|2,{49,102,0}}, +/* 3243 */ {(11<<2)|2,{49,102,0}}, +/* 3244 */ {(11<<2)|2,{49,102,0}}, +/* 3245 */ {(11<<2)|2,{49,102,0}}, +/* 3246 */ {(11<<2)|2,{49,102,0}}, +/* 3247 */ {(11<<2)|2,{49,102,0}}, +/* 3248 */ {(11<<2)|2,{49,102,0}}, +/* 3249 */ {(11<<2)|2,{49,102,0}}, +/* 3250 */ {(11<<2)|2,{49,102,0}}, +/* 3251 */ {(11<<2)|2,{49,102,0}}, +/* 3252 */ {(11<<2)|2,{49,102,0}}, +/* 3253 */ {(11<<2)|2,{49,102,0}}, +/* 3254 */ {(11<<2)|2,{49,102,0}}, +/* 3255 */ {(11<<2)|2,{49,102,0}}, +/* 3256 */ {(11<<2)|2,{49,102,0}}, +/* 3257 */ {(11<<2)|2,{49,102,0}}, +/* 3258 */ {(11<<2)|2,{49,102,0}}, +/* 3259 */ {(11<<2)|2,{49,102,0}}, +/* 3260 */ {(11<<2)|2,{49,102,0}}, +/* 3261 */ {(11<<2)|2,{49,102,0}}, +/* 3262 */ {(11<<2)|2,{49,102,0}}, +/* 3263 */ {(11<<2)|2,{49,102,0}}, +/* 3264 */ {(16<<2)|3,{49,103,48}}, +/* 3265 */ {(16<<2)|3,{49,103,49}}, +/* 3266 */ {(16<<2)|3,{49,103,50}}, +/* 3267 */ {(16<<2)|3,{49,103,97}}, +/* 3268 */ {(16<<2)|3,{49,103,99}}, +/* 3269 */ {(16<<2)|3,{49,103,101}}, +/* 3270 */ {(16<<2)|3,{49,103,105}}, +/* 3271 */ {(16<<2)|3,{49,103,111}}, +/* 3272 */ {(16<<2)|3,{49,103,115}}, +/* 3273 */ {(16<<2)|3,{49,103,116}}, +/* 3274 */ {(11<<2)|2,{49,103,0}}, +/* 3275 */ {(11<<2)|2,{49,103,0}}, +/* 3276 */ {(11<<2)|2,{49,103,0}}, +/* 3277 */ {(11<<2)|2,{49,103,0}}, +/* 3278 */ {(11<<2)|2,{49,103,0}}, +/* 3279 */ {(11<<2)|2,{49,103,0}}, +/* 3280 */ {(11<<2)|2,{49,103,0}}, +/* 3281 */ {(11<<2)|2,{49,103,0}}, +/* 3282 */ {(11<<2)|2,{49,103,0}}, +/* 3283 */ {(11<<2)|2,{49,103,0}}, +/* 3284 */ {(11<<2)|2,{49,103,0}}, +/* 3285 */ {(11<<2)|2,{49,103,0}}, +/* 3286 */ {(11<<2)|2,{49,103,0}}, +/* 3287 */ {(11<<2)|2,{49,103,0}}, +/* 3288 */ {(11<<2)|2,{49,103,0}}, +/* 3289 */ {(11<<2)|2,{49,103,0}}, +/* 3290 */ {(11<<2)|2,{49,103,0}}, +/* 3291 */ {(11<<2)|2,{49,103,0}}, +/* 3292 */ {(11<<2)|2,{49,103,0}}, +/* 3293 */ {(11<<2)|2,{49,103,0}}, +/* 3294 */ {(11<<2)|2,{49,103,0}}, +/* 3295 */ {(11<<2)|2,{49,103,0}}, +/* 3296 */ {(16<<2)|3,{49,104,48}}, +/* 3297 */ {(16<<2)|3,{49,104,49}}, +/* 3298 */ {(16<<2)|3,{49,104,50}}, +/* 3299 */ {(16<<2)|3,{49,104,97}}, +/* 3300 */ {(16<<2)|3,{49,104,99}}, +/* 3301 */ {(16<<2)|3,{49,104,101}}, +/* 3302 */ {(16<<2)|3,{49,104,105}}, +/* 3303 */ {(16<<2)|3,{49,104,111}}, +/* 3304 */ {(16<<2)|3,{49,104,115}}, +/* 3305 */ {(16<<2)|3,{49,104,116}}, +/* 3306 */ {(11<<2)|2,{49,104,0}}, +/* 3307 */ {(11<<2)|2,{49,104,0}}, +/* 3308 */ {(11<<2)|2,{49,104,0}}, +/* 3309 */ {(11<<2)|2,{49,104,0}}, +/* 3310 */ {(11<<2)|2,{49,104,0}}, +/* 3311 */ {(11<<2)|2,{49,104,0}}, +/* 3312 */ {(11<<2)|2,{49,104,0}}, +/* 3313 */ {(11<<2)|2,{49,104,0}}, +/* 3314 */ {(11<<2)|2,{49,104,0}}, +/* 3315 */ {(11<<2)|2,{49,104,0}}, +/* 3316 */ {(11<<2)|2,{49,104,0}}, +/* 3317 */ {(11<<2)|2,{49,104,0}}, +/* 3318 */ {(11<<2)|2,{49,104,0}}, +/* 3319 */ {(11<<2)|2,{49,104,0}}, +/* 3320 */ {(11<<2)|2,{49,104,0}}, +/* 3321 */ {(11<<2)|2,{49,104,0}}, +/* 3322 */ {(11<<2)|2,{49,104,0}}, +/* 3323 */ {(11<<2)|2,{49,104,0}}, +/* 3324 */ {(11<<2)|2,{49,104,0}}, +/* 3325 */ {(11<<2)|2,{49,104,0}}, +/* 3326 */ {(11<<2)|2,{49,104,0}}, +/* 3327 */ {(11<<2)|2,{49,104,0}}, +/* 3328 */ {(16<<2)|3,{49,108,48}}, +/* 3329 */ {(16<<2)|3,{49,108,49}}, +/* 3330 */ {(16<<2)|3,{49,108,50}}, +/* 3331 */ {(16<<2)|3,{49,108,97}}, +/* 3332 */ {(16<<2)|3,{49,108,99}}, +/* 3333 */ {(16<<2)|3,{49,108,101}}, +/* 3334 */ {(16<<2)|3,{49,108,105}}, +/* 3335 */ {(16<<2)|3,{49,108,111}}, +/* 3336 */ {(16<<2)|3,{49,108,115}}, +/* 3337 */ {(16<<2)|3,{49,108,116}}, +/* 3338 */ {(11<<2)|2,{49,108,0}}, +/* 3339 */ {(11<<2)|2,{49,108,0}}, +/* 3340 */ {(11<<2)|2,{49,108,0}}, +/* 3341 */ {(11<<2)|2,{49,108,0}}, +/* 3342 */ {(11<<2)|2,{49,108,0}}, +/* 3343 */ {(11<<2)|2,{49,108,0}}, +/* 3344 */ {(11<<2)|2,{49,108,0}}, +/* 3345 */ {(11<<2)|2,{49,108,0}}, +/* 3346 */ {(11<<2)|2,{49,108,0}}, +/* 3347 */ {(11<<2)|2,{49,108,0}}, +/* 3348 */ {(11<<2)|2,{49,108,0}}, +/* 3349 */ {(11<<2)|2,{49,108,0}}, +/* 3350 */ {(11<<2)|2,{49,108,0}}, +/* 3351 */ {(11<<2)|2,{49,108,0}}, +/* 3352 */ {(11<<2)|2,{49,108,0}}, +/* 3353 */ {(11<<2)|2,{49,108,0}}, +/* 3354 */ {(11<<2)|2,{49,108,0}}, +/* 3355 */ {(11<<2)|2,{49,108,0}}, +/* 3356 */ {(11<<2)|2,{49,108,0}}, +/* 3357 */ {(11<<2)|2,{49,108,0}}, +/* 3358 */ {(11<<2)|2,{49,108,0}}, +/* 3359 */ {(11<<2)|2,{49,108,0}}, +/* 3360 */ {(16<<2)|3,{49,109,48}}, +/* 3361 */ {(16<<2)|3,{49,109,49}}, +/* 3362 */ {(16<<2)|3,{49,109,50}}, +/* 3363 */ {(16<<2)|3,{49,109,97}}, +/* 3364 */ {(16<<2)|3,{49,109,99}}, +/* 3365 */ {(16<<2)|3,{49,109,101}}, +/* 3366 */ {(16<<2)|3,{49,109,105}}, +/* 3367 */ {(16<<2)|3,{49,109,111}}, +/* 3368 */ {(16<<2)|3,{49,109,115}}, +/* 3369 */ {(16<<2)|3,{49,109,116}}, +/* 3370 */ {(11<<2)|2,{49,109,0}}, +/* 3371 */ {(11<<2)|2,{49,109,0}}, +/* 3372 */ {(11<<2)|2,{49,109,0}}, +/* 3373 */ {(11<<2)|2,{49,109,0}}, +/* 3374 */ {(11<<2)|2,{49,109,0}}, +/* 3375 */ {(11<<2)|2,{49,109,0}}, +/* 3376 */ {(11<<2)|2,{49,109,0}}, +/* 3377 */ {(11<<2)|2,{49,109,0}}, +/* 3378 */ {(11<<2)|2,{49,109,0}}, +/* 3379 */ {(11<<2)|2,{49,109,0}}, +/* 3380 */ {(11<<2)|2,{49,109,0}}, +/* 3381 */ {(11<<2)|2,{49,109,0}}, +/* 3382 */ {(11<<2)|2,{49,109,0}}, +/* 3383 */ {(11<<2)|2,{49,109,0}}, +/* 3384 */ {(11<<2)|2,{49,109,0}}, +/* 3385 */ {(11<<2)|2,{49,109,0}}, +/* 3386 */ {(11<<2)|2,{49,109,0}}, +/* 3387 */ {(11<<2)|2,{49,109,0}}, +/* 3388 */ {(11<<2)|2,{49,109,0}}, +/* 3389 */ {(11<<2)|2,{49,109,0}}, +/* 3390 */ {(11<<2)|2,{49,109,0}}, +/* 3391 */ {(11<<2)|2,{49,109,0}}, +/* 3392 */ {(16<<2)|3,{49,110,48}}, +/* 3393 */ {(16<<2)|3,{49,110,49}}, +/* 3394 */ {(16<<2)|3,{49,110,50}}, +/* 3395 */ {(16<<2)|3,{49,110,97}}, +/* 3396 */ {(16<<2)|3,{49,110,99}}, +/* 3397 */ {(16<<2)|3,{49,110,101}}, +/* 3398 */ {(16<<2)|3,{49,110,105}}, +/* 3399 */ {(16<<2)|3,{49,110,111}}, +/* 3400 */ {(16<<2)|3,{49,110,115}}, +/* 3401 */ {(16<<2)|3,{49,110,116}}, +/* 3402 */ {(11<<2)|2,{49,110,0}}, +/* 3403 */ {(11<<2)|2,{49,110,0}}, +/* 3404 */ {(11<<2)|2,{49,110,0}}, +/* 3405 */ {(11<<2)|2,{49,110,0}}, +/* 3406 */ {(11<<2)|2,{49,110,0}}, +/* 3407 */ {(11<<2)|2,{49,110,0}}, +/* 3408 */ {(11<<2)|2,{49,110,0}}, +/* 3409 */ {(11<<2)|2,{49,110,0}}, +/* 3410 */ {(11<<2)|2,{49,110,0}}, +/* 3411 */ {(11<<2)|2,{49,110,0}}, +/* 3412 */ {(11<<2)|2,{49,110,0}}, +/* 3413 */ {(11<<2)|2,{49,110,0}}, +/* 3414 */ {(11<<2)|2,{49,110,0}}, +/* 3415 */ {(11<<2)|2,{49,110,0}}, +/* 3416 */ {(11<<2)|2,{49,110,0}}, +/* 3417 */ {(11<<2)|2,{49,110,0}}, +/* 3418 */ {(11<<2)|2,{49,110,0}}, +/* 3419 */ {(11<<2)|2,{49,110,0}}, +/* 3420 */ {(11<<2)|2,{49,110,0}}, +/* 3421 */ {(11<<2)|2,{49,110,0}}, +/* 3422 */ {(11<<2)|2,{49,110,0}}, +/* 3423 */ {(11<<2)|2,{49,110,0}}, +/* 3424 */ {(16<<2)|3,{49,112,48}}, +/* 3425 */ {(16<<2)|3,{49,112,49}}, +/* 3426 */ {(16<<2)|3,{49,112,50}}, +/* 3427 */ {(16<<2)|3,{49,112,97}}, +/* 3428 */ {(16<<2)|3,{49,112,99}}, +/* 3429 */ {(16<<2)|3,{49,112,101}}, +/* 3430 */ {(16<<2)|3,{49,112,105}}, +/* 3431 */ {(16<<2)|3,{49,112,111}}, +/* 3432 */ {(16<<2)|3,{49,112,115}}, +/* 3433 */ {(16<<2)|3,{49,112,116}}, +/* 3434 */ {(11<<2)|2,{49,112,0}}, +/* 3435 */ {(11<<2)|2,{49,112,0}}, +/* 3436 */ {(11<<2)|2,{49,112,0}}, +/* 3437 */ {(11<<2)|2,{49,112,0}}, +/* 3438 */ {(11<<2)|2,{49,112,0}}, +/* 3439 */ {(11<<2)|2,{49,112,0}}, +/* 3440 */ {(11<<2)|2,{49,112,0}}, +/* 3441 */ {(11<<2)|2,{49,112,0}}, +/* 3442 */ {(11<<2)|2,{49,112,0}}, +/* 3443 */ {(11<<2)|2,{49,112,0}}, +/* 3444 */ {(11<<2)|2,{49,112,0}}, +/* 3445 */ {(11<<2)|2,{49,112,0}}, +/* 3446 */ {(11<<2)|2,{49,112,0}}, +/* 3447 */ {(11<<2)|2,{49,112,0}}, +/* 3448 */ {(11<<2)|2,{49,112,0}}, +/* 3449 */ {(11<<2)|2,{49,112,0}}, +/* 3450 */ {(11<<2)|2,{49,112,0}}, +/* 3451 */ {(11<<2)|2,{49,112,0}}, +/* 3452 */ {(11<<2)|2,{49,112,0}}, +/* 3453 */ {(11<<2)|2,{49,112,0}}, +/* 3454 */ {(11<<2)|2,{49,112,0}}, +/* 3455 */ {(11<<2)|2,{49,112,0}}, +/* 3456 */ {(16<<2)|3,{49,114,48}}, +/* 3457 */ {(16<<2)|3,{49,114,49}}, +/* 3458 */ {(16<<2)|3,{49,114,50}}, +/* 3459 */ {(16<<2)|3,{49,114,97}}, +/* 3460 */ {(16<<2)|3,{49,114,99}}, +/* 3461 */ {(16<<2)|3,{49,114,101}}, +/* 3462 */ {(16<<2)|3,{49,114,105}}, +/* 3463 */ {(16<<2)|3,{49,114,111}}, +/* 3464 */ {(16<<2)|3,{49,114,115}}, +/* 3465 */ {(16<<2)|3,{49,114,116}}, +/* 3466 */ {(11<<2)|2,{49,114,0}}, +/* 3467 */ {(11<<2)|2,{49,114,0}}, +/* 3468 */ {(11<<2)|2,{49,114,0}}, +/* 3469 */ {(11<<2)|2,{49,114,0}}, +/* 3470 */ {(11<<2)|2,{49,114,0}}, +/* 3471 */ {(11<<2)|2,{49,114,0}}, +/* 3472 */ {(11<<2)|2,{49,114,0}}, +/* 3473 */ {(11<<2)|2,{49,114,0}}, +/* 3474 */ {(11<<2)|2,{49,114,0}}, +/* 3475 */ {(11<<2)|2,{49,114,0}}, +/* 3476 */ {(11<<2)|2,{49,114,0}}, +/* 3477 */ {(11<<2)|2,{49,114,0}}, +/* 3478 */ {(11<<2)|2,{49,114,0}}, +/* 3479 */ {(11<<2)|2,{49,114,0}}, +/* 3480 */ {(11<<2)|2,{49,114,0}}, +/* 3481 */ {(11<<2)|2,{49,114,0}}, +/* 3482 */ {(11<<2)|2,{49,114,0}}, +/* 3483 */ {(11<<2)|2,{49,114,0}}, +/* 3484 */ {(11<<2)|2,{49,114,0}}, +/* 3485 */ {(11<<2)|2,{49,114,0}}, +/* 3486 */ {(11<<2)|2,{49,114,0}}, +/* 3487 */ {(11<<2)|2,{49,114,0}}, +/* 3488 */ {(16<<2)|3,{49,117,48}}, +/* 3489 */ {(16<<2)|3,{49,117,49}}, +/* 3490 */ {(16<<2)|3,{49,117,50}}, +/* 3491 */ {(16<<2)|3,{49,117,97}}, +/* 3492 */ {(16<<2)|3,{49,117,99}}, +/* 3493 */ {(16<<2)|3,{49,117,101}}, +/* 3494 */ {(16<<2)|3,{49,117,105}}, +/* 3495 */ {(16<<2)|3,{49,117,111}}, +/* 3496 */ {(16<<2)|3,{49,117,115}}, +/* 3497 */ {(16<<2)|3,{49,117,116}}, +/* 3498 */ {(11<<2)|2,{49,117,0}}, +/* 3499 */ {(11<<2)|2,{49,117,0}}, +/* 3500 */ {(11<<2)|2,{49,117,0}}, +/* 3501 */ {(11<<2)|2,{49,117,0}}, +/* 3502 */ {(11<<2)|2,{49,117,0}}, +/* 3503 */ {(11<<2)|2,{49,117,0}}, +/* 3504 */ {(11<<2)|2,{49,117,0}}, +/* 3505 */ {(11<<2)|2,{49,117,0}}, +/* 3506 */ {(11<<2)|2,{49,117,0}}, +/* 3507 */ {(11<<2)|2,{49,117,0}}, +/* 3508 */ {(11<<2)|2,{49,117,0}}, +/* 3509 */ {(11<<2)|2,{49,117,0}}, +/* 3510 */ {(11<<2)|2,{49,117,0}}, +/* 3511 */ {(11<<2)|2,{49,117,0}}, +/* 3512 */ {(11<<2)|2,{49,117,0}}, +/* 3513 */ {(11<<2)|2,{49,117,0}}, +/* 3514 */ {(11<<2)|2,{49,117,0}}, +/* 3515 */ {(11<<2)|2,{49,117,0}}, +/* 3516 */ {(11<<2)|2,{49,117,0}}, +/* 3517 */ {(11<<2)|2,{49,117,0}}, +/* 3518 */ {(11<<2)|2,{49,117,0}}, +/* 3519 */ {(11<<2)|2,{49,117,0}}, +/* 3520 */ {(12<<2)|2,{49,58,0}}, +/* 3521 */ {(12<<2)|2,{49,58,0}}, +/* 3522 */ {(12<<2)|2,{49,58,0}}, +/* 3523 */ {(12<<2)|2,{49,58,0}}, +/* 3524 */ {(12<<2)|2,{49,58,0}}, +/* 3525 */ {(12<<2)|2,{49,58,0}}, +/* 3526 */ {(12<<2)|2,{49,58,0}}, +/* 3527 */ {(12<<2)|2,{49,58,0}}, +/* 3528 */ {(12<<2)|2,{49,58,0}}, +/* 3529 */ {(12<<2)|2,{49,58,0}}, +/* 3530 */ {(12<<2)|2,{49,58,0}}, +/* 3531 */ {(12<<2)|2,{49,58,0}}, +/* 3532 */ {(12<<2)|2,{49,58,0}}, +/* 3533 */ {(12<<2)|2,{49,58,0}}, +/* 3534 */ {(12<<2)|2,{49,58,0}}, +/* 3535 */ {(12<<2)|2,{49,58,0}}, +/* 3536 */ {(12<<2)|2,{49,66,0}}, +/* 3537 */ {(12<<2)|2,{49,66,0}}, +/* 3538 */ {(12<<2)|2,{49,66,0}}, +/* 3539 */ {(12<<2)|2,{49,66,0}}, +/* 3540 */ {(12<<2)|2,{49,66,0}}, +/* 3541 */ {(12<<2)|2,{49,66,0}}, +/* 3542 */ {(12<<2)|2,{49,66,0}}, +/* 3543 */ {(12<<2)|2,{49,66,0}}, +/* 3544 */ {(12<<2)|2,{49,66,0}}, +/* 3545 */ {(12<<2)|2,{49,66,0}}, +/* 3546 */ {(12<<2)|2,{49,66,0}}, +/* 3547 */ {(12<<2)|2,{49,66,0}}, +/* 3548 */ {(12<<2)|2,{49,66,0}}, +/* 3549 */ {(12<<2)|2,{49,66,0}}, +/* 3550 */ {(12<<2)|2,{49,66,0}}, +/* 3551 */ {(12<<2)|2,{49,66,0}}, +/* 3552 */ {(12<<2)|2,{49,67,0}}, +/* 3553 */ {(12<<2)|2,{49,67,0}}, +/* 3554 */ {(12<<2)|2,{49,67,0}}, +/* 3555 */ {(12<<2)|2,{49,67,0}}, +/* 3556 */ {(12<<2)|2,{49,67,0}}, +/* 3557 */ {(12<<2)|2,{49,67,0}}, +/* 3558 */ {(12<<2)|2,{49,67,0}}, +/* 3559 */ {(12<<2)|2,{49,67,0}}, +/* 3560 */ {(12<<2)|2,{49,67,0}}, +/* 3561 */ {(12<<2)|2,{49,67,0}}, +/* 3562 */ {(12<<2)|2,{49,67,0}}, +/* 3563 */ {(12<<2)|2,{49,67,0}}, +/* 3564 */ {(12<<2)|2,{49,67,0}}, +/* 3565 */ {(12<<2)|2,{49,67,0}}, +/* 3566 */ {(12<<2)|2,{49,67,0}}, +/* 3567 */ {(12<<2)|2,{49,67,0}}, +/* 3568 */ {(12<<2)|2,{49,68,0}}, +/* 3569 */ {(12<<2)|2,{49,68,0}}, +/* 3570 */ {(12<<2)|2,{49,68,0}}, +/* 3571 */ {(12<<2)|2,{49,68,0}}, +/* 3572 */ {(12<<2)|2,{49,68,0}}, +/* 3573 */ {(12<<2)|2,{49,68,0}}, +/* 3574 */ {(12<<2)|2,{49,68,0}}, +/* 3575 */ {(12<<2)|2,{49,68,0}}, +/* 3576 */ {(12<<2)|2,{49,68,0}}, +/* 3577 */ {(12<<2)|2,{49,68,0}}, +/* 3578 */ {(12<<2)|2,{49,68,0}}, +/* 3579 */ {(12<<2)|2,{49,68,0}}, +/* 3580 */ {(12<<2)|2,{49,68,0}}, +/* 3581 */ {(12<<2)|2,{49,68,0}}, +/* 3582 */ {(12<<2)|2,{49,68,0}}, +/* 3583 */ {(12<<2)|2,{49,68,0}}, +/* 3584 */ {(12<<2)|2,{49,69,0}}, +/* 3585 */ {(12<<2)|2,{49,69,0}}, +/* 3586 */ {(12<<2)|2,{49,69,0}}, +/* 3587 */ {(12<<2)|2,{49,69,0}}, +/* 3588 */ {(12<<2)|2,{49,69,0}}, +/* 3589 */ {(12<<2)|2,{49,69,0}}, +/* 3590 */ {(12<<2)|2,{49,69,0}}, +/* 3591 */ {(12<<2)|2,{49,69,0}}, +/* 3592 */ {(12<<2)|2,{49,69,0}}, +/* 3593 */ {(12<<2)|2,{49,69,0}}, +/* 3594 */ {(12<<2)|2,{49,69,0}}, +/* 3595 */ {(12<<2)|2,{49,69,0}}, +/* 3596 */ {(12<<2)|2,{49,69,0}}, +/* 3597 */ {(12<<2)|2,{49,69,0}}, +/* 3598 */ {(12<<2)|2,{49,69,0}}, +/* 3599 */ {(12<<2)|2,{49,69,0}}, +/* 3600 */ {(12<<2)|2,{49,70,0}}, +/* 3601 */ {(12<<2)|2,{49,70,0}}, +/* 3602 */ {(12<<2)|2,{49,70,0}}, +/* 3603 */ {(12<<2)|2,{49,70,0}}, +/* 3604 */ {(12<<2)|2,{49,70,0}}, +/* 3605 */ {(12<<2)|2,{49,70,0}}, +/* 3606 */ {(12<<2)|2,{49,70,0}}, +/* 3607 */ {(12<<2)|2,{49,70,0}}, +/* 3608 */ {(12<<2)|2,{49,70,0}}, +/* 3609 */ {(12<<2)|2,{49,70,0}}, +/* 3610 */ {(12<<2)|2,{49,70,0}}, +/* 3611 */ {(12<<2)|2,{49,70,0}}, +/* 3612 */ {(12<<2)|2,{49,70,0}}, +/* 3613 */ {(12<<2)|2,{49,70,0}}, +/* 3614 */ {(12<<2)|2,{49,70,0}}, +/* 3615 */ {(12<<2)|2,{49,70,0}}, +/* 3616 */ {(12<<2)|2,{49,71,0}}, +/* 3617 */ {(12<<2)|2,{49,71,0}}, +/* 3618 */ {(12<<2)|2,{49,71,0}}, +/* 3619 */ {(12<<2)|2,{49,71,0}}, +/* 3620 */ {(12<<2)|2,{49,71,0}}, +/* 3621 */ {(12<<2)|2,{49,71,0}}, +/* 3622 */ {(12<<2)|2,{49,71,0}}, +/* 3623 */ {(12<<2)|2,{49,71,0}}, +/* 3624 */ {(12<<2)|2,{49,71,0}}, +/* 3625 */ {(12<<2)|2,{49,71,0}}, +/* 3626 */ {(12<<2)|2,{49,71,0}}, +/* 3627 */ {(12<<2)|2,{49,71,0}}, +/* 3628 */ {(12<<2)|2,{49,71,0}}, +/* 3629 */ {(12<<2)|2,{49,71,0}}, +/* 3630 */ {(12<<2)|2,{49,71,0}}, +/* 3631 */ {(12<<2)|2,{49,71,0}}, +/* 3632 */ {(12<<2)|2,{49,72,0}}, +/* 3633 */ {(12<<2)|2,{49,72,0}}, +/* 3634 */ {(12<<2)|2,{49,72,0}}, +/* 3635 */ {(12<<2)|2,{49,72,0}}, +/* 3636 */ {(12<<2)|2,{49,72,0}}, +/* 3637 */ {(12<<2)|2,{49,72,0}}, +/* 3638 */ {(12<<2)|2,{49,72,0}}, +/* 3639 */ {(12<<2)|2,{49,72,0}}, +/* 3640 */ {(12<<2)|2,{49,72,0}}, +/* 3641 */ {(12<<2)|2,{49,72,0}}, +/* 3642 */ {(12<<2)|2,{49,72,0}}, +/* 3643 */ {(12<<2)|2,{49,72,0}}, +/* 3644 */ {(12<<2)|2,{49,72,0}}, +/* 3645 */ {(12<<2)|2,{49,72,0}}, +/* 3646 */ {(12<<2)|2,{49,72,0}}, +/* 3647 */ {(12<<2)|2,{49,72,0}}, +/* 3648 */ {(12<<2)|2,{49,73,0}}, +/* 3649 */ {(12<<2)|2,{49,73,0}}, +/* 3650 */ {(12<<2)|2,{49,73,0}}, +/* 3651 */ {(12<<2)|2,{49,73,0}}, +/* 3652 */ {(12<<2)|2,{49,73,0}}, +/* 3653 */ {(12<<2)|2,{49,73,0}}, +/* 3654 */ {(12<<2)|2,{49,73,0}}, +/* 3655 */ {(12<<2)|2,{49,73,0}}, +/* 3656 */ {(12<<2)|2,{49,73,0}}, +/* 3657 */ {(12<<2)|2,{49,73,0}}, +/* 3658 */ {(12<<2)|2,{49,73,0}}, +/* 3659 */ {(12<<2)|2,{49,73,0}}, +/* 3660 */ {(12<<2)|2,{49,73,0}}, +/* 3661 */ {(12<<2)|2,{49,73,0}}, +/* 3662 */ {(12<<2)|2,{49,73,0}}, +/* 3663 */ {(12<<2)|2,{49,73,0}}, +/* 3664 */ {(12<<2)|2,{49,74,0}}, +/* 3665 */ {(12<<2)|2,{49,74,0}}, +/* 3666 */ {(12<<2)|2,{49,74,0}}, +/* 3667 */ {(12<<2)|2,{49,74,0}}, +/* 3668 */ {(12<<2)|2,{49,74,0}}, +/* 3669 */ {(12<<2)|2,{49,74,0}}, +/* 3670 */ {(12<<2)|2,{49,74,0}}, +/* 3671 */ {(12<<2)|2,{49,74,0}}, +/* 3672 */ {(12<<2)|2,{49,74,0}}, +/* 3673 */ {(12<<2)|2,{49,74,0}}, +/* 3674 */ {(12<<2)|2,{49,74,0}}, +/* 3675 */ {(12<<2)|2,{49,74,0}}, +/* 3676 */ {(12<<2)|2,{49,74,0}}, +/* 3677 */ {(12<<2)|2,{49,74,0}}, +/* 3678 */ {(12<<2)|2,{49,74,0}}, +/* 3679 */ {(12<<2)|2,{49,74,0}}, +/* 3680 */ {(12<<2)|2,{49,75,0}}, +/* 3681 */ {(12<<2)|2,{49,75,0}}, +/* 3682 */ {(12<<2)|2,{49,75,0}}, +/* 3683 */ {(12<<2)|2,{49,75,0}}, +/* 3684 */ {(12<<2)|2,{49,75,0}}, +/* 3685 */ {(12<<2)|2,{49,75,0}}, +/* 3686 */ {(12<<2)|2,{49,75,0}}, +/* 3687 */ {(12<<2)|2,{49,75,0}}, +/* 3688 */ {(12<<2)|2,{49,75,0}}, +/* 3689 */ {(12<<2)|2,{49,75,0}}, +/* 3690 */ {(12<<2)|2,{49,75,0}}, +/* 3691 */ {(12<<2)|2,{49,75,0}}, +/* 3692 */ {(12<<2)|2,{49,75,0}}, +/* 3693 */ {(12<<2)|2,{49,75,0}}, +/* 3694 */ {(12<<2)|2,{49,75,0}}, +/* 3695 */ {(12<<2)|2,{49,75,0}}, +/* 3696 */ {(12<<2)|2,{49,76,0}}, +/* 3697 */ {(12<<2)|2,{49,76,0}}, +/* 3698 */ {(12<<2)|2,{49,76,0}}, +/* 3699 */ {(12<<2)|2,{49,76,0}}, +/* 3700 */ {(12<<2)|2,{49,76,0}}, +/* 3701 */ {(12<<2)|2,{49,76,0}}, +/* 3702 */ {(12<<2)|2,{49,76,0}}, +/* 3703 */ {(12<<2)|2,{49,76,0}}, +/* 3704 */ {(12<<2)|2,{49,76,0}}, +/* 3705 */ {(12<<2)|2,{49,76,0}}, +/* 3706 */ {(12<<2)|2,{49,76,0}}, +/* 3707 */ {(12<<2)|2,{49,76,0}}, +/* 3708 */ {(12<<2)|2,{49,76,0}}, +/* 3709 */ {(12<<2)|2,{49,76,0}}, +/* 3710 */ {(12<<2)|2,{49,76,0}}, +/* 3711 */ {(12<<2)|2,{49,76,0}}, +/* 3712 */ {(12<<2)|2,{49,77,0}}, +/* 3713 */ {(12<<2)|2,{49,77,0}}, +/* 3714 */ {(12<<2)|2,{49,77,0}}, +/* 3715 */ {(12<<2)|2,{49,77,0}}, +/* 3716 */ {(12<<2)|2,{49,77,0}}, +/* 3717 */ {(12<<2)|2,{49,77,0}}, +/* 3718 */ {(12<<2)|2,{49,77,0}}, +/* 3719 */ {(12<<2)|2,{49,77,0}}, +/* 3720 */ {(12<<2)|2,{49,77,0}}, +/* 3721 */ {(12<<2)|2,{49,77,0}}, +/* 3722 */ {(12<<2)|2,{49,77,0}}, +/* 3723 */ {(12<<2)|2,{49,77,0}}, +/* 3724 */ {(12<<2)|2,{49,77,0}}, +/* 3725 */ {(12<<2)|2,{49,77,0}}, +/* 3726 */ {(12<<2)|2,{49,77,0}}, +/* 3727 */ {(12<<2)|2,{49,77,0}}, +/* 3728 */ {(12<<2)|2,{49,78,0}}, +/* 3729 */ {(12<<2)|2,{49,78,0}}, +/* 3730 */ {(12<<2)|2,{49,78,0}}, +/* 3731 */ {(12<<2)|2,{49,78,0}}, +/* 3732 */ {(12<<2)|2,{49,78,0}}, +/* 3733 */ {(12<<2)|2,{49,78,0}}, +/* 3734 */ {(12<<2)|2,{49,78,0}}, +/* 3735 */ {(12<<2)|2,{49,78,0}}, +/* 3736 */ {(12<<2)|2,{49,78,0}}, +/* 3737 */ {(12<<2)|2,{49,78,0}}, +/* 3738 */ {(12<<2)|2,{49,78,0}}, +/* 3739 */ {(12<<2)|2,{49,78,0}}, +/* 3740 */ {(12<<2)|2,{49,78,0}}, +/* 3741 */ {(12<<2)|2,{49,78,0}}, +/* 3742 */ {(12<<2)|2,{49,78,0}}, +/* 3743 */ {(12<<2)|2,{49,78,0}}, +/* 3744 */ {(12<<2)|2,{49,79,0}}, +/* 3745 */ {(12<<2)|2,{49,79,0}}, +/* 3746 */ {(12<<2)|2,{49,79,0}}, +/* 3747 */ {(12<<2)|2,{49,79,0}}, +/* 3748 */ {(12<<2)|2,{49,79,0}}, +/* 3749 */ {(12<<2)|2,{49,79,0}}, +/* 3750 */ {(12<<2)|2,{49,79,0}}, +/* 3751 */ {(12<<2)|2,{49,79,0}}, +/* 3752 */ {(12<<2)|2,{49,79,0}}, +/* 3753 */ {(12<<2)|2,{49,79,0}}, +/* 3754 */ {(12<<2)|2,{49,79,0}}, +/* 3755 */ {(12<<2)|2,{49,79,0}}, +/* 3756 */ {(12<<2)|2,{49,79,0}}, +/* 3757 */ {(12<<2)|2,{49,79,0}}, +/* 3758 */ {(12<<2)|2,{49,79,0}}, +/* 3759 */ {(12<<2)|2,{49,79,0}}, +/* 3760 */ {(12<<2)|2,{49,80,0}}, +/* 3761 */ {(12<<2)|2,{49,80,0}}, +/* 3762 */ {(12<<2)|2,{49,80,0}}, +/* 3763 */ {(12<<2)|2,{49,80,0}}, +/* 3764 */ {(12<<2)|2,{49,80,0}}, +/* 3765 */ {(12<<2)|2,{49,80,0}}, +/* 3766 */ {(12<<2)|2,{49,80,0}}, +/* 3767 */ {(12<<2)|2,{49,80,0}}, +/* 3768 */ {(12<<2)|2,{49,80,0}}, +/* 3769 */ {(12<<2)|2,{49,80,0}}, +/* 3770 */ {(12<<2)|2,{49,80,0}}, +/* 3771 */ {(12<<2)|2,{49,80,0}}, +/* 3772 */ {(12<<2)|2,{49,80,0}}, +/* 3773 */ {(12<<2)|2,{49,80,0}}, +/* 3774 */ {(12<<2)|2,{49,80,0}}, +/* 3775 */ {(12<<2)|2,{49,80,0}}, +/* 3776 */ {(12<<2)|2,{49,81,0}}, +/* 3777 */ {(12<<2)|2,{49,81,0}}, +/* 3778 */ {(12<<2)|2,{49,81,0}}, +/* 3779 */ {(12<<2)|2,{49,81,0}}, +/* 3780 */ {(12<<2)|2,{49,81,0}}, +/* 3781 */ {(12<<2)|2,{49,81,0}}, +/* 3782 */ {(12<<2)|2,{49,81,0}}, +/* 3783 */ {(12<<2)|2,{49,81,0}}, +/* 3784 */ {(12<<2)|2,{49,81,0}}, +/* 3785 */ {(12<<2)|2,{49,81,0}}, +/* 3786 */ {(12<<2)|2,{49,81,0}}, +/* 3787 */ {(12<<2)|2,{49,81,0}}, +/* 3788 */ {(12<<2)|2,{49,81,0}}, +/* 3789 */ {(12<<2)|2,{49,81,0}}, +/* 3790 */ {(12<<2)|2,{49,81,0}}, +/* 3791 */ {(12<<2)|2,{49,81,0}}, +/* 3792 */ {(12<<2)|2,{49,82,0}}, +/* 3793 */ {(12<<2)|2,{49,82,0}}, +/* 3794 */ {(12<<2)|2,{49,82,0}}, +/* 3795 */ {(12<<2)|2,{49,82,0}}, +/* 3796 */ {(12<<2)|2,{49,82,0}}, +/* 3797 */ {(12<<2)|2,{49,82,0}}, +/* 3798 */ {(12<<2)|2,{49,82,0}}, +/* 3799 */ {(12<<2)|2,{49,82,0}}, +/* 3800 */ {(12<<2)|2,{49,82,0}}, +/* 3801 */ {(12<<2)|2,{49,82,0}}, +/* 3802 */ {(12<<2)|2,{49,82,0}}, +/* 3803 */ {(12<<2)|2,{49,82,0}}, +/* 3804 */ {(12<<2)|2,{49,82,0}}, +/* 3805 */ {(12<<2)|2,{49,82,0}}, +/* 3806 */ {(12<<2)|2,{49,82,0}}, +/* 3807 */ {(12<<2)|2,{49,82,0}}, +/* 3808 */ {(12<<2)|2,{49,83,0}}, +/* 3809 */ {(12<<2)|2,{49,83,0}}, +/* 3810 */ {(12<<2)|2,{49,83,0}}, +/* 3811 */ {(12<<2)|2,{49,83,0}}, +/* 3812 */ {(12<<2)|2,{49,83,0}}, +/* 3813 */ {(12<<2)|2,{49,83,0}}, +/* 3814 */ {(12<<2)|2,{49,83,0}}, +/* 3815 */ {(12<<2)|2,{49,83,0}}, +/* 3816 */ {(12<<2)|2,{49,83,0}}, +/* 3817 */ {(12<<2)|2,{49,83,0}}, +/* 3818 */ {(12<<2)|2,{49,83,0}}, +/* 3819 */ {(12<<2)|2,{49,83,0}}, +/* 3820 */ {(12<<2)|2,{49,83,0}}, +/* 3821 */ {(12<<2)|2,{49,83,0}}, +/* 3822 */ {(12<<2)|2,{49,83,0}}, +/* 3823 */ {(12<<2)|2,{49,83,0}}, +/* 3824 */ {(12<<2)|2,{49,84,0}}, +/* 3825 */ {(12<<2)|2,{49,84,0}}, +/* 3826 */ {(12<<2)|2,{49,84,0}}, +/* 3827 */ {(12<<2)|2,{49,84,0}}, +/* 3828 */ {(12<<2)|2,{49,84,0}}, +/* 3829 */ {(12<<2)|2,{49,84,0}}, +/* 3830 */ {(12<<2)|2,{49,84,0}}, +/* 3831 */ {(12<<2)|2,{49,84,0}}, +/* 3832 */ {(12<<2)|2,{49,84,0}}, +/* 3833 */ {(12<<2)|2,{49,84,0}}, +/* 3834 */ {(12<<2)|2,{49,84,0}}, +/* 3835 */ {(12<<2)|2,{49,84,0}}, +/* 3836 */ {(12<<2)|2,{49,84,0}}, +/* 3837 */ {(12<<2)|2,{49,84,0}}, +/* 3838 */ {(12<<2)|2,{49,84,0}}, +/* 3839 */ {(12<<2)|2,{49,84,0}}, +/* 3840 */ {(12<<2)|2,{49,85,0}}, +/* 3841 */ {(12<<2)|2,{49,85,0}}, +/* 3842 */ {(12<<2)|2,{49,85,0}}, +/* 3843 */ {(12<<2)|2,{49,85,0}}, +/* 3844 */ {(12<<2)|2,{49,85,0}}, +/* 3845 */ {(12<<2)|2,{49,85,0}}, +/* 3846 */ {(12<<2)|2,{49,85,0}}, +/* 3847 */ {(12<<2)|2,{49,85,0}}, +/* 3848 */ {(12<<2)|2,{49,85,0}}, +/* 3849 */ {(12<<2)|2,{49,85,0}}, +/* 3850 */ {(12<<2)|2,{49,85,0}}, +/* 3851 */ {(12<<2)|2,{49,85,0}}, +/* 3852 */ {(12<<2)|2,{49,85,0}}, +/* 3853 */ {(12<<2)|2,{49,85,0}}, +/* 3854 */ {(12<<2)|2,{49,85,0}}, +/* 3855 */ {(12<<2)|2,{49,85,0}}, +/* 3856 */ {(12<<2)|2,{49,86,0}}, +/* 3857 */ {(12<<2)|2,{49,86,0}}, +/* 3858 */ {(12<<2)|2,{49,86,0}}, +/* 3859 */ {(12<<2)|2,{49,86,0}}, +/* 3860 */ {(12<<2)|2,{49,86,0}}, +/* 3861 */ {(12<<2)|2,{49,86,0}}, +/* 3862 */ {(12<<2)|2,{49,86,0}}, +/* 3863 */ {(12<<2)|2,{49,86,0}}, +/* 3864 */ {(12<<2)|2,{49,86,0}}, +/* 3865 */ {(12<<2)|2,{49,86,0}}, +/* 3866 */ {(12<<2)|2,{49,86,0}}, +/* 3867 */ {(12<<2)|2,{49,86,0}}, +/* 3868 */ {(12<<2)|2,{49,86,0}}, +/* 3869 */ {(12<<2)|2,{49,86,0}}, +/* 3870 */ {(12<<2)|2,{49,86,0}}, +/* 3871 */ {(12<<2)|2,{49,86,0}}, +/* 3872 */ {(12<<2)|2,{49,87,0}}, +/* 3873 */ {(12<<2)|2,{49,87,0}}, +/* 3874 */ {(12<<2)|2,{49,87,0}}, +/* 3875 */ {(12<<2)|2,{49,87,0}}, +/* 3876 */ {(12<<2)|2,{49,87,0}}, +/* 3877 */ {(12<<2)|2,{49,87,0}}, +/* 3878 */ {(12<<2)|2,{49,87,0}}, +/* 3879 */ {(12<<2)|2,{49,87,0}}, +/* 3880 */ {(12<<2)|2,{49,87,0}}, +/* 3881 */ {(12<<2)|2,{49,87,0}}, +/* 3882 */ {(12<<2)|2,{49,87,0}}, +/* 3883 */ {(12<<2)|2,{49,87,0}}, +/* 3884 */ {(12<<2)|2,{49,87,0}}, +/* 3885 */ {(12<<2)|2,{49,87,0}}, +/* 3886 */ {(12<<2)|2,{49,87,0}}, +/* 3887 */ {(12<<2)|2,{49,87,0}}, +/* 3888 */ {(12<<2)|2,{49,89,0}}, +/* 3889 */ {(12<<2)|2,{49,89,0}}, +/* 3890 */ {(12<<2)|2,{49,89,0}}, +/* 3891 */ {(12<<2)|2,{49,89,0}}, +/* 3892 */ {(12<<2)|2,{49,89,0}}, +/* 3893 */ {(12<<2)|2,{49,89,0}}, +/* 3894 */ {(12<<2)|2,{49,89,0}}, +/* 3895 */ {(12<<2)|2,{49,89,0}}, +/* 3896 */ {(12<<2)|2,{49,89,0}}, +/* 3897 */ {(12<<2)|2,{49,89,0}}, +/* 3898 */ {(12<<2)|2,{49,89,0}}, +/* 3899 */ {(12<<2)|2,{49,89,0}}, +/* 3900 */ {(12<<2)|2,{49,89,0}}, +/* 3901 */ {(12<<2)|2,{49,89,0}}, +/* 3902 */ {(12<<2)|2,{49,89,0}}, +/* 3903 */ {(12<<2)|2,{49,89,0}}, +/* 3904 */ {(12<<2)|2,{49,106,0}}, +/* 3905 */ {(12<<2)|2,{49,106,0}}, +/* 3906 */ {(12<<2)|2,{49,106,0}}, +/* 3907 */ {(12<<2)|2,{49,106,0}}, +/* 3908 */ {(12<<2)|2,{49,106,0}}, +/* 3909 */ {(12<<2)|2,{49,106,0}}, +/* 3910 */ {(12<<2)|2,{49,106,0}}, +/* 3911 */ {(12<<2)|2,{49,106,0}}, +/* 3912 */ {(12<<2)|2,{49,106,0}}, +/* 3913 */ {(12<<2)|2,{49,106,0}}, +/* 3914 */ {(12<<2)|2,{49,106,0}}, +/* 3915 */ {(12<<2)|2,{49,106,0}}, +/* 3916 */ {(12<<2)|2,{49,106,0}}, +/* 3917 */ {(12<<2)|2,{49,106,0}}, +/* 3918 */ {(12<<2)|2,{49,106,0}}, +/* 3919 */ {(12<<2)|2,{49,106,0}}, +/* 3920 */ {(12<<2)|2,{49,107,0}}, +/* 3921 */ {(12<<2)|2,{49,107,0}}, +/* 3922 */ {(12<<2)|2,{49,107,0}}, +/* 3923 */ {(12<<2)|2,{49,107,0}}, +/* 3924 */ {(12<<2)|2,{49,107,0}}, +/* 3925 */ {(12<<2)|2,{49,107,0}}, +/* 3926 */ {(12<<2)|2,{49,107,0}}, +/* 3927 */ {(12<<2)|2,{49,107,0}}, +/* 3928 */ {(12<<2)|2,{49,107,0}}, +/* 3929 */ {(12<<2)|2,{49,107,0}}, +/* 3930 */ {(12<<2)|2,{49,107,0}}, +/* 3931 */ {(12<<2)|2,{49,107,0}}, +/* 3932 */ {(12<<2)|2,{49,107,0}}, +/* 3933 */ {(12<<2)|2,{49,107,0}}, +/* 3934 */ {(12<<2)|2,{49,107,0}}, +/* 3935 */ {(12<<2)|2,{49,107,0}}, +/* 3936 */ {(12<<2)|2,{49,113,0}}, +/* 3937 */ {(12<<2)|2,{49,113,0}}, +/* 3938 */ {(12<<2)|2,{49,113,0}}, +/* 3939 */ {(12<<2)|2,{49,113,0}}, +/* 3940 */ {(12<<2)|2,{49,113,0}}, +/* 3941 */ {(12<<2)|2,{49,113,0}}, +/* 3942 */ {(12<<2)|2,{49,113,0}}, +/* 3943 */ {(12<<2)|2,{49,113,0}}, +/* 3944 */ {(12<<2)|2,{49,113,0}}, +/* 3945 */ {(12<<2)|2,{49,113,0}}, +/* 3946 */ {(12<<2)|2,{49,113,0}}, +/* 3947 */ {(12<<2)|2,{49,113,0}}, +/* 3948 */ {(12<<2)|2,{49,113,0}}, +/* 3949 */ {(12<<2)|2,{49,113,0}}, +/* 3950 */ {(12<<2)|2,{49,113,0}}, +/* 3951 */ {(12<<2)|2,{49,113,0}}, +/* 3952 */ {(12<<2)|2,{49,118,0}}, +/* 3953 */ {(12<<2)|2,{49,118,0}}, +/* 3954 */ {(12<<2)|2,{49,118,0}}, +/* 3955 */ {(12<<2)|2,{49,118,0}}, +/* 3956 */ {(12<<2)|2,{49,118,0}}, +/* 3957 */ {(12<<2)|2,{49,118,0}}, +/* 3958 */ {(12<<2)|2,{49,118,0}}, +/* 3959 */ {(12<<2)|2,{49,118,0}}, +/* 3960 */ {(12<<2)|2,{49,118,0}}, +/* 3961 */ {(12<<2)|2,{49,118,0}}, +/* 3962 */ {(12<<2)|2,{49,118,0}}, +/* 3963 */ {(12<<2)|2,{49,118,0}}, +/* 3964 */ {(12<<2)|2,{49,118,0}}, +/* 3965 */ {(12<<2)|2,{49,118,0}}, +/* 3966 */ {(12<<2)|2,{49,118,0}}, +/* 3967 */ {(12<<2)|2,{49,118,0}}, +/* 3968 */ {(12<<2)|2,{49,119,0}}, +/* 3969 */ {(12<<2)|2,{49,119,0}}, +/* 3970 */ {(12<<2)|2,{49,119,0}}, +/* 3971 */ {(12<<2)|2,{49,119,0}}, +/* 3972 */ {(12<<2)|2,{49,119,0}}, +/* 3973 */ {(12<<2)|2,{49,119,0}}, +/* 3974 */ {(12<<2)|2,{49,119,0}}, +/* 3975 */ {(12<<2)|2,{49,119,0}}, +/* 3976 */ {(12<<2)|2,{49,119,0}}, +/* 3977 */ {(12<<2)|2,{49,119,0}}, +/* 3978 */ {(12<<2)|2,{49,119,0}}, +/* 3979 */ {(12<<2)|2,{49,119,0}}, +/* 3980 */ {(12<<2)|2,{49,119,0}}, +/* 3981 */ {(12<<2)|2,{49,119,0}}, +/* 3982 */ {(12<<2)|2,{49,119,0}}, +/* 3983 */ {(12<<2)|2,{49,119,0}}, +/* 3984 */ {(12<<2)|2,{49,120,0}}, +/* 3985 */ {(12<<2)|2,{49,120,0}}, +/* 3986 */ {(12<<2)|2,{49,120,0}}, +/* 3987 */ {(12<<2)|2,{49,120,0}}, +/* 3988 */ {(12<<2)|2,{49,120,0}}, +/* 3989 */ {(12<<2)|2,{49,120,0}}, +/* 3990 */ {(12<<2)|2,{49,120,0}}, +/* 3991 */ {(12<<2)|2,{49,120,0}}, +/* 3992 */ {(12<<2)|2,{49,120,0}}, +/* 3993 */ {(12<<2)|2,{49,120,0}}, +/* 3994 */ {(12<<2)|2,{49,120,0}}, +/* 3995 */ {(12<<2)|2,{49,120,0}}, +/* 3996 */ {(12<<2)|2,{49,120,0}}, +/* 3997 */ {(12<<2)|2,{49,120,0}}, +/* 3998 */ {(12<<2)|2,{49,120,0}}, +/* 3999 */ {(12<<2)|2,{49,120,0}}, +/* 4000 */ {(12<<2)|2,{49,121,0}}, +/* 4001 */ {(12<<2)|2,{49,121,0}}, +/* 4002 */ {(12<<2)|2,{49,121,0}}, +/* 4003 */ {(12<<2)|2,{49,121,0}}, +/* 4004 */ {(12<<2)|2,{49,121,0}}, +/* 4005 */ {(12<<2)|2,{49,121,0}}, +/* 4006 */ {(12<<2)|2,{49,121,0}}, +/* 4007 */ {(12<<2)|2,{49,121,0}}, +/* 4008 */ {(12<<2)|2,{49,121,0}}, +/* 4009 */ {(12<<2)|2,{49,121,0}}, +/* 4010 */ {(12<<2)|2,{49,121,0}}, +/* 4011 */ {(12<<2)|2,{49,121,0}}, +/* 4012 */ {(12<<2)|2,{49,121,0}}, +/* 4013 */ {(12<<2)|2,{49,121,0}}, +/* 4014 */ {(12<<2)|2,{49,121,0}}, +/* 4015 */ {(12<<2)|2,{49,121,0}}, +/* 4016 */ {(12<<2)|2,{49,122,0}}, +/* 4017 */ {(12<<2)|2,{49,122,0}}, +/* 4018 */ {(12<<2)|2,{49,122,0}}, +/* 4019 */ {(12<<2)|2,{49,122,0}}, +/* 4020 */ {(12<<2)|2,{49,122,0}}, +/* 4021 */ {(12<<2)|2,{49,122,0}}, +/* 4022 */ {(12<<2)|2,{49,122,0}}, +/* 4023 */ {(12<<2)|2,{49,122,0}}, +/* 4024 */ {(12<<2)|2,{49,122,0}}, +/* 4025 */ {(12<<2)|2,{49,122,0}}, +/* 4026 */ {(12<<2)|2,{49,122,0}}, +/* 4027 */ {(12<<2)|2,{49,122,0}}, +/* 4028 */ {(12<<2)|2,{49,122,0}}, +/* 4029 */ {(12<<2)|2,{49,122,0}}, +/* 4030 */ {(12<<2)|2,{49,122,0}}, +/* 4031 */ {(12<<2)|2,{49,122,0}}, +/* 4032 */ {(13<<2)|2,{49,38,0}}, +/* 4033 */ {(13<<2)|2,{49,38,0}}, +/* 4034 */ {(13<<2)|2,{49,38,0}}, +/* 4035 */ {(13<<2)|2,{49,38,0}}, +/* 4036 */ {(13<<2)|2,{49,38,0}}, +/* 4037 */ {(13<<2)|2,{49,38,0}}, +/* 4038 */ {(13<<2)|2,{49,38,0}}, +/* 4039 */ {(13<<2)|2,{49,38,0}}, +/* 4040 */ {(13<<2)|2,{49,42,0}}, +/* 4041 */ {(13<<2)|2,{49,42,0}}, +/* 4042 */ {(13<<2)|2,{49,42,0}}, +/* 4043 */ {(13<<2)|2,{49,42,0}}, +/* 4044 */ {(13<<2)|2,{49,42,0}}, +/* 4045 */ {(13<<2)|2,{49,42,0}}, +/* 4046 */ {(13<<2)|2,{49,42,0}}, +/* 4047 */ {(13<<2)|2,{49,42,0}}, +/* 4048 */ {(13<<2)|2,{49,44,0}}, +/* 4049 */ {(13<<2)|2,{49,44,0}}, +/* 4050 */ {(13<<2)|2,{49,44,0}}, +/* 4051 */ {(13<<2)|2,{49,44,0}}, +/* 4052 */ {(13<<2)|2,{49,44,0}}, +/* 4053 */ {(13<<2)|2,{49,44,0}}, +/* 4054 */ {(13<<2)|2,{49,44,0}}, +/* 4055 */ {(13<<2)|2,{49,44,0}}, +/* 4056 */ {(13<<2)|2,{49,59,0}}, +/* 4057 */ {(13<<2)|2,{49,59,0}}, +/* 4058 */ {(13<<2)|2,{49,59,0}}, +/* 4059 */ {(13<<2)|2,{49,59,0}}, +/* 4060 */ {(13<<2)|2,{49,59,0}}, +/* 4061 */ {(13<<2)|2,{49,59,0}}, +/* 4062 */ {(13<<2)|2,{49,59,0}}, +/* 4063 */ {(13<<2)|2,{49,59,0}}, +/* 4064 */ {(13<<2)|2,{49,88,0}}, +/* 4065 */ {(13<<2)|2,{49,88,0}}, +/* 4066 */ {(13<<2)|2,{49,88,0}}, +/* 4067 */ {(13<<2)|2,{49,88,0}}, +/* 4068 */ {(13<<2)|2,{49,88,0}}, +/* 4069 */ {(13<<2)|2,{49,88,0}}, +/* 4070 */ {(13<<2)|2,{49,88,0}}, +/* 4071 */ {(13<<2)|2,{49,88,0}}, +/* 4072 */ {(13<<2)|2,{49,90,0}}, +/* 4073 */ {(13<<2)|2,{49,90,0}}, +/* 4074 */ {(13<<2)|2,{49,90,0}}, +/* 4075 */ {(13<<2)|2,{49,90,0}}, +/* 4076 */ {(13<<2)|2,{49,90,0}}, +/* 4077 */ {(13<<2)|2,{49,90,0}}, +/* 4078 */ {(13<<2)|2,{49,90,0}}, +/* 4079 */ {(13<<2)|2,{49,90,0}}, +/* 4080 */ {(15<<2)|2,{49,33,0}}, +/* 4081 */ {(15<<2)|2,{49,33,0}}, +/* 4082 */ {(15<<2)|2,{49,34,0}}, +/* 4083 */ {(15<<2)|2,{49,34,0}}, +/* 4084 */ {(15<<2)|2,{49,40,0}}, +/* 4085 */ {(15<<2)|2,{49,40,0}}, +/* 4086 */ {(15<<2)|2,{49,41,0}}, +/* 4087 */ {(15<<2)|2,{49,41,0}}, +/* 4088 */ {(15<<2)|2,{49,63,0}}, +/* 4089 */ {(15<<2)|2,{49,63,0}}, +/* 4090 */ {(16<<2)|2,{49,39,0}}, +/* 4091 */ {(16<<2)|2,{49,43,0}}, +/* 4092 */ {(16<<2)|2,{49,124,0}}, +/* 4093 */ {(5<<2)|1,{49,0,0}}, +/* 4094 */ {(5<<2)|1,{49,0,0}}, +/* 4095 */ {(5<<2)|1,{49,0,0}}, +/* 4096 */ {(15<<2)|3,{50,48,48}}, +/* 4097 */ {(15<<2)|3,{50,48,48}}, +/* 4098 */ {(15<<2)|3,{50,48,49}}, +/* 4099 */ {(15<<2)|3,{50,48,49}}, +/* 4100 */ {(15<<2)|3,{50,48,50}}, +/* 4101 */ {(15<<2)|3,{50,48,50}}, +/* 4102 */ {(15<<2)|3,{50,48,97}}, +/* 4103 */ {(15<<2)|3,{50,48,97}}, +/* 4104 */ {(15<<2)|3,{50,48,99}}, +/* 4105 */ {(15<<2)|3,{50,48,99}}, +/* 4106 */ {(15<<2)|3,{50,48,101}}, +/* 4107 */ {(15<<2)|3,{50,48,101}}, +/* 4108 */ {(15<<2)|3,{50,48,105}}, +/* 4109 */ {(15<<2)|3,{50,48,105}}, +/* 4110 */ {(15<<2)|3,{50,48,111}}, +/* 4111 */ {(15<<2)|3,{50,48,111}}, +/* 4112 */ {(15<<2)|3,{50,48,115}}, +/* 4113 */ {(15<<2)|3,{50,48,115}}, +/* 4114 */ {(15<<2)|3,{50,48,116}}, +/* 4115 */ {(15<<2)|3,{50,48,116}}, +/* 4116 */ {(16<<2)|3,{50,48,32}}, +/* 4117 */ {(16<<2)|3,{50,48,37}}, +/* 4118 */ {(16<<2)|3,{50,48,45}}, +/* 4119 */ {(16<<2)|3,{50,48,46}}, +/* 4120 */ {(16<<2)|3,{50,48,47}}, +/* 4121 */ {(16<<2)|3,{50,48,51}}, +/* 4122 */ {(16<<2)|3,{50,48,52}}, +/* 4123 */ {(16<<2)|3,{50,48,53}}, +/* 4124 */ {(16<<2)|3,{50,48,54}}, +/* 4125 */ {(16<<2)|3,{50,48,55}}, +/* 4126 */ {(16<<2)|3,{50,48,56}}, +/* 4127 */ {(16<<2)|3,{50,48,57}}, +/* 4128 */ {(16<<2)|3,{50,48,61}}, +/* 4129 */ {(16<<2)|3,{50,48,65}}, +/* 4130 */ {(16<<2)|3,{50,48,95}}, +/* 4131 */ {(16<<2)|3,{50,48,98}}, +/* 4132 */ {(16<<2)|3,{50,48,100}}, +/* 4133 */ {(16<<2)|3,{50,48,102}}, +/* 4134 */ {(16<<2)|3,{50,48,103}}, +/* 4135 */ {(16<<2)|3,{50,48,104}}, +/* 4136 */ {(16<<2)|3,{50,48,108}}, +/* 4137 */ {(16<<2)|3,{50,48,109}}, +/* 4138 */ {(16<<2)|3,{50,48,110}}, +/* 4139 */ {(16<<2)|3,{50,48,112}}, +/* 4140 */ {(16<<2)|3,{50,48,114}}, +/* 4141 */ {(16<<2)|3,{50,48,117}}, +/* 4142 */ {(10<<2)|2,{50,48,0}}, +/* 4143 */ {(10<<2)|2,{50,48,0}}, +/* 4144 */ {(10<<2)|2,{50,48,0}}, +/* 4145 */ {(10<<2)|2,{50,48,0}}, +/* 4146 */ {(10<<2)|2,{50,48,0}}, +/* 4147 */ {(10<<2)|2,{50,48,0}}, +/* 4148 */ {(10<<2)|2,{50,48,0}}, +/* 4149 */ {(10<<2)|2,{50,48,0}}, +/* 4150 */ {(10<<2)|2,{50,48,0}}, +/* 4151 */ {(10<<2)|2,{50,48,0}}, +/* 4152 */ {(10<<2)|2,{50,48,0}}, +/* 4153 */ {(10<<2)|2,{50,48,0}}, +/* 4154 */ {(10<<2)|2,{50,48,0}}, +/* 4155 */ {(10<<2)|2,{50,48,0}}, +/* 4156 */ {(10<<2)|2,{50,48,0}}, +/* 4157 */ {(10<<2)|2,{50,48,0}}, +/* 4158 */ {(10<<2)|2,{50,48,0}}, +/* 4159 */ {(10<<2)|2,{50,48,0}}, +/* 4160 */ {(15<<2)|3,{50,49,48}}, +/* 4161 */ {(15<<2)|3,{50,49,48}}, +/* 4162 */ {(15<<2)|3,{50,49,49}}, +/* 4163 */ {(15<<2)|3,{50,49,49}}, +/* 4164 */ {(15<<2)|3,{50,49,50}}, +/* 4165 */ {(15<<2)|3,{50,49,50}}, +/* 4166 */ {(15<<2)|3,{50,49,97}}, +/* 4167 */ {(15<<2)|3,{50,49,97}}, +/* 4168 */ {(15<<2)|3,{50,49,99}}, +/* 4169 */ {(15<<2)|3,{50,49,99}}, +/* 4170 */ {(15<<2)|3,{50,49,101}}, +/* 4171 */ {(15<<2)|3,{50,49,101}}, +/* 4172 */ {(15<<2)|3,{50,49,105}}, +/* 4173 */ {(15<<2)|3,{50,49,105}}, +/* 4174 */ {(15<<2)|3,{50,49,111}}, +/* 4175 */ {(15<<2)|3,{50,49,111}}, +/* 4176 */ {(15<<2)|3,{50,49,115}}, +/* 4177 */ {(15<<2)|3,{50,49,115}}, +/* 4178 */ {(15<<2)|3,{50,49,116}}, +/* 4179 */ {(15<<2)|3,{50,49,116}}, +/* 4180 */ {(16<<2)|3,{50,49,32}}, +/* 4181 */ {(16<<2)|3,{50,49,37}}, +/* 4182 */ {(16<<2)|3,{50,49,45}}, +/* 4183 */ {(16<<2)|3,{50,49,46}}, +/* 4184 */ {(16<<2)|3,{50,49,47}}, +/* 4185 */ {(16<<2)|3,{50,49,51}}, +/* 4186 */ {(16<<2)|3,{50,49,52}}, +/* 4187 */ {(16<<2)|3,{50,49,53}}, +/* 4188 */ {(16<<2)|3,{50,49,54}}, +/* 4189 */ {(16<<2)|3,{50,49,55}}, +/* 4190 */ {(16<<2)|3,{50,49,56}}, +/* 4191 */ {(16<<2)|3,{50,49,57}}, +/* 4192 */ {(16<<2)|3,{50,49,61}}, +/* 4193 */ {(16<<2)|3,{50,49,65}}, +/* 4194 */ {(16<<2)|3,{50,49,95}}, +/* 4195 */ {(16<<2)|3,{50,49,98}}, +/* 4196 */ {(16<<2)|3,{50,49,100}}, +/* 4197 */ {(16<<2)|3,{50,49,102}}, +/* 4198 */ {(16<<2)|3,{50,49,103}}, +/* 4199 */ {(16<<2)|3,{50,49,104}}, +/* 4200 */ {(16<<2)|3,{50,49,108}}, +/* 4201 */ {(16<<2)|3,{50,49,109}}, +/* 4202 */ {(16<<2)|3,{50,49,110}}, +/* 4203 */ {(16<<2)|3,{50,49,112}}, +/* 4204 */ {(16<<2)|3,{50,49,114}}, +/* 4205 */ {(16<<2)|3,{50,49,117}}, +/* 4206 */ {(10<<2)|2,{50,49,0}}, +/* 4207 */ {(10<<2)|2,{50,49,0}}, +/* 4208 */ {(10<<2)|2,{50,49,0}}, +/* 4209 */ {(10<<2)|2,{50,49,0}}, +/* 4210 */ {(10<<2)|2,{50,49,0}}, +/* 4211 */ {(10<<2)|2,{50,49,0}}, +/* 4212 */ {(10<<2)|2,{50,49,0}}, +/* 4213 */ {(10<<2)|2,{50,49,0}}, +/* 4214 */ {(10<<2)|2,{50,49,0}}, +/* 4215 */ {(10<<2)|2,{50,49,0}}, +/* 4216 */ {(10<<2)|2,{50,49,0}}, +/* 4217 */ {(10<<2)|2,{50,49,0}}, +/* 4218 */ {(10<<2)|2,{50,49,0}}, +/* 4219 */ {(10<<2)|2,{50,49,0}}, +/* 4220 */ {(10<<2)|2,{50,49,0}}, +/* 4221 */ {(10<<2)|2,{50,49,0}}, +/* 4222 */ {(10<<2)|2,{50,49,0}}, +/* 4223 */ {(10<<2)|2,{50,49,0}}, +/* 4224 */ {(15<<2)|3,{50,50,48}}, +/* 4225 */ {(15<<2)|3,{50,50,48}}, +/* 4226 */ {(15<<2)|3,{50,50,49}}, +/* 4227 */ {(15<<2)|3,{50,50,49}}, +/* 4228 */ {(15<<2)|3,{50,50,50}}, +/* 4229 */ {(15<<2)|3,{50,50,50}}, +/* 4230 */ {(15<<2)|3,{50,50,97}}, +/* 4231 */ {(15<<2)|3,{50,50,97}}, +/* 4232 */ {(15<<2)|3,{50,50,99}}, +/* 4233 */ {(15<<2)|3,{50,50,99}}, +/* 4234 */ {(15<<2)|3,{50,50,101}}, +/* 4235 */ {(15<<2)|3,{50,50,101}}, +/* 4236 */ {(15<<2)|3,{50,50,105}}, +/* 4237 */ {(15<<2)|3,{50,50,105}}, +/* 4238 */ {(15<<2)|3,{50,50,111}}, +/* 4239 */ {(15<<2)|3,{50,50,111}}, +/* 4240 */ {(15<<2)|3,{50,50,115}}, +/* 4241 */ {(15<<2)|3,{50,50,115}}, +/* 4242 */ {(15<<2)|3,{50,50,116}}, +/* 4243 */ {(15<<2)|3,{50,50,116}}, +/* 4244 */ {(16<<2)|3,{50,50,32}}, +/* 4245 */ {(16<<2)|3,{50,50,37}}, +/* 4246 */ {(16<<2)|3,{50,50,45}}, +/* 4247 */ {(16<<2)|3,{50,50,46}}, +/* 4248 */ {(16<<2)|3,{50,50,47}}, +/* 4249 */ {(16<<2)|3,{50,50,51}}, +/* 4250 */ {(16<<2)|3,{50,50,52}}, +/* 4251 */ {(16<<2)|3,{50,50,53}}, +/* 4252 */ {(16<<2)|3,{50,50,54}}, +/* 4253 */ {(16<<2)|3,{50,50,55}}, +/* 4254 */ {(16<<2)|3,{50,50,56}}, +/* 4255 */ {(16<<2)|3,{50,50,57}}, +/* 4256 */ {(16<<2)|3,{50,50,61}}, +/* 4257 */ {(16<<2)|3,{50,50,65}}, +/* 4258 */ {(16<<2)|3,{50,50,95}}, +/* 4259 */ {(16<<2)|3,{50,50,98}}, +/* 4260 */ {(16<<2)|3,{50,50,100}}, +/* 4261 */ {(16<<2)|3,{50,50,102}}, +/* 4262 */ {(16<<2)|3,{50,50,103}}, +/* 4263 */ {(16<<2)|3,{50,50,104}}, +/* 4264 */ {(16<<2)|3,{50,50,108}}, +/* 4265 */ {(16<<2)|3,{50,50,109}}, +/* 4266 */ {(16<<2)|3,{50,50,110}}, +/* 4267 */ {(16<<2)|3,{50,50,112}}, +/* 4268 */ {(16<<2)|3,{50,50,114}}, +/* 4269 */ {(16<<2)|3,{50,50,117}}, +/* 4270 */ {(10<<2)|2,{50,50,0}}, +/* 4271 */ {(10<<2)|2,{50,50,0}}, +/* 4272 */ {(10<<2)|2,{50,50,0}}, +/* 4273 */ {(10<<2)|2,{50,50,0}}, +/* 4274 */ {(10<<2)|2,{50,50,0}}, +/* 4275 */ {(10<<2)|2,{50,50,0}}, +/* 4276 */ {(10<<2)|2,{50,50,0}}, +/* 4277 */ {(10<<2)|2,{50,50,0}}, +/* 4278 */ {(10<<2)|2,{50,50,0}}, +/* 4279 */ {(10<<2)|2,{50,50,0}}, +/* 4280 */ {(10<<2)|2,{50,50,0}}, +/* 4281 */ {(10<<2)|2,{50,50,0}}, +/* 4282 */ {(10<<2)|2,{50,50,0}}, +/* 4283 */ {(10<<2)|2,{50,50,0}}, +/* 4284 */ {(10<<2)|2,{50,50,0}}, +/* 4285 */ {(10<<2)|2,{50,50,0}}, +/* 4286 */ {(10<<2)|2,{50,50,0}}, +/* 4287 */ {(10<<2)|2,{50,50,0}}, +/* 4288 */ {(15<<2)|3,{50,97,48}}, +/* 4289 */ {(15<<2)|3,{50,97,48}}, +/* 4290 */ {(15<<2)|3,{50,97,49}}, +/* 4291 */ {(15<<2)|3,{50,97,49}}, +/* 4292 */ {(15<<2)|3,{50,97,50}}, +/* 4293 */ {(15<<2)|3,{50,97,50}}, +/* 4294 */ {(15<<2)|3,{50,97,97}}, +/* 4295 */ {(15<<2)|3,{50,97,97}}, +/* 4296 */ {(15<<2)|3,{50,97,99}}, +/* 4297 */ {(15<<2)|3,{50,97,99}}, +/* 4298 */ {(15<<2)|3,{50,97,101}}, +/* 4299 */ {(15<<2)|3,{50,97,101}}, +/* 4300 */ {(15<<2)|3,{50,97,105}}, +/* 4301 */ {(15<<2)|3,{50,97,105}}, +/* 4302 */ {(15<<2)|3,{50,97,111}}, +/* 4303 */ {(15<<2)|3,{50,97,111}}, +/* 4304 */ {(15<<2)|3,{50,97,115}}, +/* 4305 */ {(15<<2)|3,{50,97,115}}, +/* 4306 */ {(15<<2)|3,{50,97,116}}, +/* 4307 */ {(15<<2)|3,{50,97,116}}, +/* 4308 */ {(16<<2)|3,{50,97,32}}, +/* 4309 */ {(16<<2)|3,{50,97,37}}, +/* 4310 */ {(16<<2)|3,{50,97,45}}, +/* 4311 */ {(16<<2)|3,{50,97,46}}, +/* 4312 */ {(16<<2)|3,{50,97,47}}, +/* 4313 */ {(16<<2)|3,{50,97,51}}, +/* 4314 */ {(16<<2)|3,{50,97,52}}, +/* 4315 */ {(16<<2)|3,{50,97,53}}, +/* 4316 */ {(16<<2)|3,{50,97,54}}, +/* 4317 */ {(16<<2)|3,{50,97,55}}, +/* 4318 */ {(16<<2)|3,{50,97,56}}, +/* 4319 */ {(16<<2)|3,{50,97,57}}, +/* 4320 */ {(16<<2)|3,{50,97,61}}, +/* 4321 */ {(16<<2)|3,{50,97,65}}, +/* 4322 */ {(16<<2)|3,{50,97,95}}, +/* 4323 */ {(16<<2)|3,{50,97,98}}, +/* 4324 */ {(16<<2)|3,{50,97,100}}, +/* 4325 */ {(16<<2)|3,{50,97,102}}, +/* 4326 */ {(16<<2)|3,{50,97,103}}, +/* 4327 */ {(16<<2)|3,{50,97,104}}, +/* 4328 */ {(16<<2)|3,{50,97,108}}, +/* 4329 */ {(16<<2)|3,{50,97,109}}, +/* 4330 */ {(16<<2)|3,{50,97,110}}, +/* 4331 */ {(16<<2)|3,{50,97,112}}, +/* 4332 */ {(16<<2)|3,{50,97,114}}, +/* 4333 */ {(16<<2)|3,{50,97,117}}, +/* 4334 */ {(10<<2)|2,{50,97,0}}, +/* 4335 */ {(10<<2)|2,{50,97,0}}, +/* 4336 */ {(10<<2)|2,{50,97,0}}, +/* 4337 */ {(10<<2)|2,{50,97,0}}, +/* 4338 */ {(10<<2)|2,{50,97,0}}, +/* 4339 */ {(10<<2)|2,{50,97,0}}, +/* 4340 */ {(10<<2)|2,{50,97,0}}, +/* 4341 */ {(10<<2)|2,{50,97,0}}, +/* 4342 */ {(10<<2)|2,{50,97,0}}, +/* 4343 */ {(10<<2)|2,{50,97,0}}, +/* 4344 */ {(10<<2)|2,{50,97,0}}, +/* 4345 */ {(10<<2)|2,{50,97,0}}, +/* 4346 */ {(10<<2)|2,{50,97,0}}, +/* 4347 */ {(10<<2)|2,{50,97,0}}, +/* 4348 */ {(10<<2)|2,{50,97,0}}, +/* 4349 */ {(10<<2)|2,{50,97,0}}, +/* 4350 */ {(10<<2)|2,{50,97,0}}, +/* 4351 */ {(10<<2)|2,{50,97,0}}, +/* 4352 */ {(15<<2)|3,{50,99,48}}, +/* 4353 */ {(15<<2)|3,{50,99,48}}, +/* 4354 */ {(15<<2)|3,{50,99,49}}, +/* 4355 */ {(15<<2)|3,{50,99,49}}, +/* 4356 */ {(15<<2)|3,{50,99,50}}, +/* 4357 */ {(15<<2)|3,{50,99,50}}, +/* 4358 */ {(15<<2)|3,{50,99,97}}, +/* 4359 */ {(15<<2)|3,{50,99,97}}, +/* 4360 */ {(15<<2)|3,{50,99,99}}, +/* 4361 */ {(15<<2)|3,{50,99,99}}, +/* 4362 */ {(15<<2)|3,{50,99,101}}, +/* 4363 */ {(15<<2)|3,{50,99,101}}, +/* 4364 */ {(15<<2)|3,{50,99,105}}, +/* 4365 */ {(15<<2)|3,{50,99,105}}, +/* 4366 */ {(15<<2)|3,{50,99,111}}, +/* 4367 */ {(15<<2)|3,{50,99,111}}, +/* 4368 */ {(15<<2)|3,{50,99,115}}, +/* 4369 */ {(15<<2)|3,{50,99,115}}, +/* 4370 */ {(15<<2)|3,{50,99,116}}, +/* 4371 */ {(15<<2)|3,{50,99,116}}, +/* 4372 */ {(16<<2)|3,{50,99,32}}, +/* 4373 */ {(16<<2)|3,{50,99,37}}, +/* 4374 */ {(16<<2)|3,{50,99,45}}, +/* 4375 */ {(16<<2)|3,{50,99,46}}, +/* 4376 */ {(16<<2)|3,{50,99,47}}, +/* 4377 */ {(16<<2)|3,{50,99,51}}, +/* 4378 */ {(16<<2)|3,{50,99,52}}, +/* 4379 */ {(16<<2)|3,{50,99,53}}, +/* 4380 */ {(16<<2)|3,{50,99,54}}, +/* 4381 */ {(16<<2)|3,{50,99,55}}, +/* 4382 */ {(16<<2)|3,{50,99,56}}, +/* 4383 */ {(16<<2)|3,{50,99,57}}, +/* 4384 */ {(16<<2)|3,{50,99,61}}, +/* 4385 */ {(16<<2)|3,{50,99,65}}, +/* 4386 */ {(16<<2)|3,{50,99,95}}, +/* 4387 */ {(16<<2)|3,{50,99,98}}, +/* 4388 */ {(16<<2)|3,{50,99,100}}, +/* 4389 */ {(16<<2)|3,{50,99,102}}, +/* 4390 */ {(16<<2)|3,{50,99,103}}, +/* 4391 */ {(16<<2)|3,{50,99,104}}, +/* 4392 */ {(16<<2)|3,{50,99,108}}, +/* 4393 */ {(16<<2)|3,{50,99,109}}, +/* 4394 */ {(16<<2)|3,{50,99,110}}, +/* 4395 */ {(16<<2)|3,{50,99,112}}, +/* 4396 */ {(16<<2)|3,{50,99,114}}, +/* 4397 */ {(16<<2)|3,{50,99,117}}, +/* 4398 */ {(10<<2)|2,{50,99,0}}, +/* 4399 */ {(10<<2)|2,{50,99,0}}, +/* 4400 */ {(10<<2)|2,{50,99,0}}, +/* 4401 */ {(10<<2)|2,{50,99,0}}, +/* 4402 */ {(10<<2)|2,{50,99,0}}, +/* 4403 */ {(10<<2)|2,{50,99,0}}, +/* 4404 */ {(10<<2)|2,{50,99,0}}, +/* 4405 */ {(10<<2)|2,{50,99,0}}, +/* 4406 */ {(10<<2)|2,{50,99,0}}, +/* 4407 */ {(10<<2)|2,{50,99,0}}, +/* 4408 */ {(10<<2)|2,{50,99,0}}, +/* 4409 */ {(10<<2)|2,{50,99,0}}, +/* 4410 */ {(10<<2)|2,{50,99,0}}, +/* 4411 */ {(10<<2)|2,{50,99,0}}, +/* 4412 */ {(10<<2)|2,{50,99,0}}, +/* 4413 */ {(10<<2)|2,{50,99,0}}, +/* 4414 */ {(10<<2)|2,{50,99,0}}, +/* 4415 */ {(10<<2)|2,{50,99,0}}, +/* 4416 */ {(15<<2)|3,{50,101,48}}, +/* 4417 */ {(15<<2)|3,{50,101,48}}, +/* 4418 */ {(15<<2)|3,{50,101,49}}, +/* 4419 */ {(15<<2)|3,{50,101,49}}, +/* 4420 */ {(15<<2)|3,{50,101,50}}, +/* 4421 */ {(15<<2)|3,{50,101,50}}, +/* 4422 */ {(15<<2)|3,{50,101,97}}, +/* 4423 */ {(15<<2)|3,{50,101,97}}, +/* 4424 */ {(15<<2)|3,{50,101,99}}, +/* 4425 */ {(15<<2)|3,{50,101,99}}, +/* 4426 */ {(15<<2)|3,{50,101,101}}, +/* 4427 */ {(15<<2)|3,{50,101,101}}, +/* 4428 */ {(15<<2)|3,{50,101,105}}, +/* 4429 */ {(15<<2)|3,{50,101,105}}, +/* 4430 */ {(15<<2)|3,{50,101,111}}, +/* 4431 */ {(15<<2)|3,{50,101,111}}, +/* 4432 */ {(15<<2)|3,{50,101,115}}, +/* 4433 */ {(15<<2)|3,{50,101,115}}, +/* 4434 */ {(15<<2)|3,{50,101,116}}, +/* 4435 */ {(15<<2)|3,{50,101,116}}, +/* 4436 */ {(16<<2)|3,{50,101,32}}, +/* 4437 */ {(16<<2)|3,{50,101,37}}, +/* 4438 */ {(16<<2)|3,{50,101,45}}, +/* 4439 */ {(16<<2)|3,{50,101,46}}, +/* 4440 */ {(16<<2)|3,{50,101,47}}, +/* 4441 */ {(16<<2)|3,{50,101,51}}, +/* 4442 */ {(16<<2)|3,{50,101,52}}, +/* 4443 */ {(16<<2)|3,{50,101,53}}, +/* 4444 */ {(16<<2)|3,{50,101,54}}, +/* 4445 */ {(16<<2)|3,{50,101,55}}, +/* 4446 */ {(16<<2)|3,{50,101,56}}, +/* 4447 */ {(16<<2)|3,{50,101,57}}, +/* 4448 */ {(16<<2)|3,{50,101,61}}, +/* 4449 */ {(16<<2)|3,{50,101,65}}, +/* 4450 */ {(16<<2)|3,{50,101,95}}, +/* 4451 */ {(16<<2)|3,{50,101,98}}, +/* 4452 */ {(16<<2)|3,{50,101,100}}, +/* 4453 */ {(16<<2)|3,{50,101,102}}, +/* 4454 */ {(16<<2)|3,{50,101,103}}, +/* 4455 */ {(16<<2)|3,{50,101,104}}, +/* 4456 */ {(16<<2)|3,{50,101,108}}, +/* 4457 */ {(16<<2)|3,{50,101,109}}, +/* 4458 */ {(16<<2)|3,{50,101,110}}, +/* 4459 */ {(16<<2)|3,{50,101,112}}, +/* 4460 */ {(16<<2)|3,{50,101,114}}, +/* 4461 */ {(16<<2)|3,{50,101,117}}, +/* 4462 */ {(10<<2)|2,{50,101,0}}, +/* 4463 */ {(10<<2)|2,{50,101,0}}, +/* 4464 */ {(10<<2)|2,{50,101,0}}, +/* 4465 */ {(10<<2)|2,{50,101,0}}, +/* 4466 */ {(10<<2)|2,{50,101,0}}, +/* 4467 */ {(10<<2)|2,{50,101,0}}, +/* 4468 */ {(10<<2)|2,{50,101,0}}, +/* 4469 */ {(10<<2)|2,{50,101,0}}, +/* 4470 */ {(10<<2)|2,{50,101,0}}, +/* 4471 */ {(10<<2)|2,{50,101,0}}, +/* 4472 */ {(10<<2)|2,{50,101,0}}, +/* 4473 */ {(10<<2)|2,{50,101,0}}, +/* 4474 */ {(10<<2)|2,{50,101,0}}, +/* 4475 */ {(10<<2)|2,{50,101,0}}, +/* 4476 */ {(10<<2)|2,{50,101,0}}, +/* 4477 */ {(10<<2)|2,{50,101,0}}, +/* 4478 */ {(10<<2)|2,{50,101,0}}, +/* 4479 */ {(10<<2)|2,{50,101,0}}, +/* 4480 */ {(15<<2)|3,{50,105,48}}, +/* 4481 */ {(15<<2)|3,{50,105,48}}, +/* 4482 */ {(15<<2)|3,{50,105,49}}, +/* 4483 */ {(15<<2)|3,{50,105,49}}, +/* 4484 */ {(15<<2)|3,{50,105,50}}, +/* 4485 */ {(15<<2)|3,{50,105,50}}, +/* 4486 */ {(15<<2)|3,{50,105,97}}, +/* 4487 */ {(15<<2)|3,{50,105,97}}, +/* 4488 */ {(15<<2)|3,{50,105,99}}, +/* 4489 */ {(15<<2)|3,{50,105,99}}, +/* 4490 */ {(15<<2)|3,{50,105,101}}, +/* 4491 */ {(15<<2)|3,{50,105,101}}, +/* 4492 */ {(15<<2)|3,{50,105,105}}, +/* 4493 */ {(15<<2)|3,{50,105,105}}, +/* 4494 */ {(15<<2)|3,{50,105,111}}, +/* 4495 */ {(15<<2)|3,{50,105,111}}, +/* 4496 */ {(15<<2)|3,{50,105,115}}, +/* 4497 */ {(15<<2)|3,{50,105,115}}, +/* 4498 */ {(15<<2)|3,{50,105,116}}, +/* 4499 */ {(15<<2)|3,{50,105,116}}, +/* 4500 */ {(16<<2)|3,{50,105,32}}, +/* 4501 */ {(16<<2)|3,{50,105,37}}, +/* 4502 */ {(16<<2)|3,{50,105,45}}, +/* 4503 */ {(16<<2)|3,{50,105,46}}, +/* 4504 */ {(16<<2)|3,{50,105,47}}, +/* 4505 */ {(16<<2)|3,{50,105,51}}, +/* 4506 */ {(16<<2)|3,{50,105,52}}, +/* 4507 */ {(16<<2)|3,{50,105,53}}, +/* 4508 */ {(16<<2)|3,{50,105,54}}, +/* 4509 */ {(16<<2)|3,{50,105,55}}, +/* 4510 */ {(16<<2)|3,{50,105,56}}, +/* 4511 */ {(16<<2)|3,{50,105,57}}, +/* 4512 */ {(16<<2)|3,{50,105,61}}, +/* 4513 */ {(16<<2)|3,{50,105,65}}, +/* 4514 */ {(16<<2)|3,{50,105,95}}, +/* 4515 */ {(16<<2)|3,{50,105,98}}, +/* 4516 */ {(16<<2)|3,{50,105,100}}, +/* 4517 */ {(16<<2)|3,{50,105,102}}, +/* 4518 */ {(16<<2)|3,{50,105,103}}, +/* 4519 */ {(16<<2)|3,{50,105,104}}, +/* 4520 */ {(16<<2)|3,{50,105,108}}, +/* 4521 */ {(16<<2)|3,{50,105,109}}, +/* 4522 */ {(16<<2)|3,{50,105,110}}, +/* 4523 */ {(16<<2)|3,{50,105,112}}, +/* 4524 */ {(16<<2)|3,{50,105,114}}, +/* 4525 */ {(16<<2)|3,{50,105,117}}, +/* 4526 */ {(10<<2)|2,{50,105,0}}, +/* 4527 */ {(10<<2)|2,{50,105,0}}, +/* 4528 */ {(10<<2)|2,{50,105,0}}, +/* 4529 */ {(10<<2)|2,{50,105,0}}, +/* 4530 */ {(10<<2)|2,{50,105,0}}, +/* 4531 */ {(10<<2)|2,{50,105,0}}, +/* 4532 */ {(10<<2)|2,{50,105,0}}, +/* 4533 */ {(10<<2)|2,{50,105,0}}, +/* 4534 */ {(10<<2)|2,{50,105,0}}, +/* 4535 */ {(10<<2)|2,{50,105,0}}, +/* 4536 */ {(10<<2)|2,{50,105,0}}, +/* 4537 */ {(10<<2)|2,{50,105,0}}, +/* 4538 */ {(10<<2)|2,{50,105,0}}, +/* 4539 */ {(10<<2)|2,{50,105,0}}, +/* 4540 */ {(10<<2)|2,{50,105,0}}, +/* 4541 */ {(10<<2)|2,{50,105,0}}, +/* 4542 */ {(10<<2)|2,{50,105,0}}, +/* 4543 */ {(10<<2)|2,{50,105,0}}, +/* 4544 */ {(15<<2)|3,{50,111,48}}, +/* 4545 */ {(15<<2)|3,{50,111,48}}, +/* 4546 */ {(15<<2)|3,{50,111,49}}, +/* 4547 */ {(15<<2)|3,{50,111,49}}, +/* 4548 */ {(15<<2)|3,{50,111,50}}, +/* 4549 */ {(15<<2)|3,{50,111,50}}, +/* 4550 */ {(15<<2)|3,{50,111,97}}, +/* 4551 */ {(15<<2)|3,{50,111,97}}, +/* 4552 */ {(15<<2)|3,{50,111,99}}, +/* 4553 */ {(15<<2)|3,{50,111,99}}, +/* 4554 */ {(15<<2)|3,{50,111,101}}, +/* 4555 */ {(15<<2)|3,{50,111,101}}, +/* 4556 */ {(15<<2)|3,{50,111,105}}, +/* 4557 */ {(15<<2)|3,{50,111,105}}, +/* 4558 */ {(15<<2)|3,{50,111,111}}, +/* 4559 */ {(15<<2)|3,{50,111,111}}, +/* 4560 */ {(15<<2)|3,{50,111,115}}, +/* 4561 */ {(15<<2)|3,{50,111,115}}, +/* 4562 */ {(15<<2)|3,{50,111,116}}, +/* 4563 */ {(15<<2)|3,{50,111,116}}, +/* 4564 */ {(16<<2)|3,{50,111,32}}, +/* 4565 */ {(16<<2)|3,{50,111,37}}, +/* 4566 */ {(16<<2)|3,{50,111,45}}, +/* 4567 */ {(16<<2)|3,{50,111,46}}, +/* 4568 */ {(16<<2)|3,{50,111,47}}, +/* 4569 */ {(16<<2)|3,{50,111,51}}, +/* 4570 */ {(16<<2)|3,{50,111,52}}, +/* 4571 */ {(16<<2)|3,{50,111,53}}, +/* 4572 */ {(16<<2)|3,{50,111,54}}, +/* 4573 */ {(16<<2)|3,{50,111,55}}, +/* 4574 */ {(16<<2)|3,{50,111,56}}, +/* 4575 */ {(16<<2)|3,{50,111,57}}, +/* 4576 */ {(16<<2)|3,{50,111,61}}, +/* 4577 */ {(16<<2)|3,{50,111,65}}, +/* 4578 */ {(16<<2)|3,{50,111,95}}, +/* 4579 */ {(16<<2)|3,{50,111,98}}, +/* 4580 */ {(16<<2)|3,{50,111,100}}, +/* 4581 */ {(16<<2)|3,{50,111,102}}, +/* 4582 */ {(16<<2)|3,{50,111,103}}, +/* 4583 */ {(16<<2)|3,{50,111,104}}, +/* 4584 */ {(16<<2)|3,{50,111,108}}, +/* 4585 */ {(16<<2)|3,{50,111,109}}, +/* 4586 */ {(16<<2)|3,{50,111,110}}, +/* 4587 */ {(16<<2)|3,{50,111,112}}, +/* 4588 */ {(16<<2)|3,{50,111,114}}, +/* 4589 */ {(16<<2)|3,{50,111,117}}, +/* 4590 */ {(10<<2)|2,{50,111,0}}, +/* 4591 */ {(10<<2)|2,{50,111,0}}, +/* 4592 */ {(10<<2)|2,{50,111,0}}, +/* 4593 */ {(10<<2)|2,{50,111,0}}, +/* 4594 */ {(10<<2)|2,{50,111,0}}, +/* 4595 */ {(10<<2)|2,{50,111,0}}, +/* 4596 */ {(10<<2)|2,{50,111,0}}, +/* 4597 */ {(10<<2)|2,{50,111,0}}, +/* 4598 */ {(10<<2)|2,{50,111,0}}, +/* 4599 */ {(10<<2)|2,{50,111,0}}, +/* 4600 */ {(10<<2)|2,{50,111,0}}, +/* 4601 */ {(10<<2)|2,{50,111,0}}, +/* 4602 */ {(10<<2)|2,{50,111,0}}, +/* 4603 */ {(10<<2)|2,{50,111,0}}, +/* 4604 */ {(10<<2)|2,{50,111,0}}, +/* 4605 */ {(10<<2)|2,{50,111,0}}, +/* 4606 */ {(10<<2)|2,{50,111,0}}, +/* 4607 */ {(10<<2)|2,{50,111,0}}, +/* 4608 */ {(15<<2)|3,{50,115,48}}, +/* 4609 */ {(15<<2)|3,{50,115,48}}, +/* 4610 */ {(15<<2)|3,{50,115,49}}, +/* 4611 */ {(15<<2)|3,{50,115,49}}, +/* 4612 */ {(15<<2)|3,{50,115,50}}, +/* 4613 */ {(15<<2)|3,{50,115,50}}, +/* 4614 */ {(15<<2)|3,{50,115,97}}, +/* 4615 */ {(15<<2)|3,{50,115,97}}, +/* 4616 */ {(15<<2)|3,{50,115,99}}, +/* 4617 */ {(15<<2)|3,{50,115,99}}, +/* 4618 */ {(15<<2)|3,{50,115,101}}, +/* 4619 */ {(15<<2)|3,{50,115,101}}, +/* 4620 */ {(15<<2)|3,{50,115,105}}, +/* 4621 */ {(15<<2)|3,{50,115,105}}, +/* 4622 */ {(15<<2)|3,{50,115,111}}, +/* 4623 */ {(15<<2)|3,{50,115,111}}, +/* 4624 */ {(15<<2)|3,{50,115,115}}, +/* 4625 */ {(15<<2)|3,{50,115,115}}, +/* 4626 */ {(15<<2)|3,{50,115,116}}, +/* 4627 */ {(15<<2)|3,{50,115,116}}, +/* 4628 */ {(16<<2)|3,{50,115,32}}, +/* 4629 */ {(16<<2)|3,{50,115,37}}, +/* 4630 */ {(16<<2)|3,{50,115,45}}, +/* 4631 */ {(16<<2)|3,{50,115,46}}, +/* 4632 */ {(16<<2)|3,{50,115,47}}, +/* 4633 */ {(16<<2)|3,{50,115,51}}, +/* 4634 */ {(16<<2)|3,{50,115,52}}, +/* 4635 */ {(16<<2)|3,{50,115,53}}, +/* 4636 */ {(16<<2)|3,{50,115,54}}, +/* 4637 */ {(16<<2)|3,{50,115,55}}, +/* 4638 */ {(16<<2)|3,{50,115,56}}, +/* 4639 */ {(16<<2)|3,{50,115,57}}, +/* 4640 */ {(16<<2)|3,{50,115,61}}, +/* 4641 */ {(16<<2)|3,{50,115,65}}, +/* 4642 */ {(16<<2)|3,{50,115,95}}, +/* 4643 */ {(16<<2)|3,{50,115,98}}, +/* 4644 */ {(16<<2)|3,{50,115,100}}, +/* 4645 */ {(16<<2)|3,{50,115,102}}, +/* 4646 */ {(16<<2)|3,{50,115,103}}, +/* 4647 */ {(16<<2)|3,{50,115,104}}, +/* 4648 */ {(16<<2)|3,{50,115,108}}, +/* 4649 */ {(16<<2)|3,{50,115,109}}, +/* 4650 */ {(16<<2)|3,{50,115,110}}, +/* 4651 */ {(16<<2)|3,{50,115,112}}, +/* 4652 */ {(16<<2)|3,{50,115,114}}, +/* 4653 */ {(16<<2)|3,{50,115,117}}, +/* 4654 */ {(10<<2)|2,{50,115,0}}, +/* 4655 */ {(10<<2)|2,{50,115,0}}, +/* 4656 */ {(10<<2)|2,{50,115,0}}, +/* 4657 */ {(10<<2)|2,{50,115,0}}, +/* 4658 */ {(10<<2)|2,{50,115,0}}, +/* 4659 */ {(10<<2)|2,{50,115,0}}, +/* 4660 */ {(10<<2)|2,{50,115,0}}, +/* 4661 */ {(10<<2)|2,{50,115,0}}, +/* 4662 */ {(10<<2)|2,{50,115,0}}, +/* 4663 */ {(10<<2)|2,{50,115,0}}, +/* 4664 */ {(10<<2)|2,{50,115,0}}, +/* 4665 */ {(10<<2)|2,{50,115,0}}, +/* 4666 */ {(10<<2)|2,{50,115,0}}, +/* 4667 */ {(10<<2)|2,{50,115,0}}, +/* 4668 */ {(10<<2)|2,{50,115,0}}, +/* 4669 */ {(10<<2)|2,{50,115,0}}, +/* 4670 */ {(10<<2)|2,{50,115,0}}, +/* 4671 */ {(10<<2)|2,{50,115,0}}, +/* 4672 */ {(15<<2)|3,{50,116,48}}, +/* 4673 */ {(15<<2)|3,{50,116,48}}, +/* 4674 */ {(15<<2)|3,{50,116,49}}, +/* 4675 */ {(15<<2)|3,{50,116,49}}, +/* 4676 */ {(15<<2)|3,{50,116,50}}, +/* 4677 */ {(15<<2)|3,{50,116,50}}, +/* 4678 */ {(15<<2)|3,{50,116,97}}, +/* 4679 */ {(15<<2)|3,{50,116,97}}, +/* 4680 */ {(15<<2)|3,{50,116,99}}, +/* 4681 */ {(15<<2)|3,{50,116,99}}, +/* 4682 */ {(15<<2)|3,{50,116,101}}, +/* 4683 */ {(15<<2)|3,{50,116,101}}, +/* 4684 */ {(15<<2)|3,{50,116,105}}, +/* 4685 */ {(15<<2)|3,{50,116,105}}, +/* 4686 */ {(15<<2)|3,{50,116,111}}, +/* 4687 */ {(15<<2)|3,{50,116,111}}, +/* 4688 */ {(15<<2)|3,{50,116,115}}, +/* 4689 */ {(15<<2)|3,{50,116,115}}, +/* 4690 */ {(15<<2)|3,{50,116,116}}, +/* 4691 */ {(15<<2)|3,{50,116,116}}, +/* 4692 */ {(16<<2)|3,{50,116,32}}, +/* 4693 */ {(16<<2)|3,{50,116,37}}, +/* 4694 */ {(16<<2)|3,{50,116,45}}, +/* 4695 */ {(16<<2)|3,{50,116,46}}, +/* 4696 */ {(16<<2)|3,{50,116,47}}, +/* 4697 */ {(16<<2)|3,{50,116,51}}, +/* 4698 */ {(16<<2)|3,{50,116,52}}, +/* 4699 */ {(16<<2)|3,{50,116,53}}, +/* 4700 */ {(16<<2)|3,{50,116,54}}, +/* 4701 */ {(16<<2)|3,{50,116,55}}, +/* 4702 */ {(16<<2)|3,{50,116,56}}, +/* 4703 */ {(16<<2)|3,{50,116,57}}, +/* 4704 */ {(16<<2)|3,{50,116,61}}, +/* 4705 */ {(16<<2)|3,{50,116,65}}, +/* 4706 */ {(16<<2)|3,{50,116,95}}, +/* 4707 */ {(16<<2)|3,{50,116,98}}, +/* 4708 */ {(16<<2)|3,{50,116,100}}, +/* 4709 */ {(16<<2)|3,{50,116,102}}, +/* 4710 */ {(16<<2)|3,{50,116,103}}, +/* 4711 */ {(16<<2)|3,{50,116,104}}, +/* 4712 */ {(16<<2)|3,{50,116,108}}, +/* 4713 */ {(16<<2)|3,{50,116,109}}, +/* 4714 */ {(16<<2)|3,{50,116,110}}, +/* 4715 */ {(16<<2)|3,{50,116,112}}, +/* 4716 */ {(16<<2)|3,{50,116,114}}, +/* 4717 */ {(16<<2)|3,{50,116,117}}, +/* 4718 */ {(10<<2)|2,{50,116,0}}, +/* 4719 */ {(10<<2)|2,{50,116,0}}, +/* 4720 */ {(10<<2)|2,{50,116,0}}, +/* 4721 */ {(10<<2)|2,{50,116,0}}, +/* 4722 */ {(10<<2)|2,{50,116,0}}, +/* 4723 */ {(10<<2)|2,{50,116,0}}, +/* 4724 */ {(10<<2)|2,{50,116,0}}, +/* 4725 */ {(10<<2)|2,{50,116,0}}, +/* 4726 */ {(10<<2)|2,{50,116,0}}, +/* 4727 */ {(10<<2)|2,{50,116,0}}, +/* 4728 */ {(10<<2)|2,{50,116,0}}, +/* 4729 */ {(10<<2)|2,{50,116,0}}, +/* 4730 */ {(10<<2)|2,{50,116,0}}, +/* 4731 */ {(10<<2)|2,{50,116,0}}, +/* 4732 */ {(10<<2)|2,{50,116,0}}, +/* 4733 */ {(10<<2)|2,{50,116,0}}, +/* 4734 */ {(10<<2)|2,{50,116,0}}, +/* 4735 */ {(10<<2)|2,{50,116,0}}, +/* 4736 */ {(16<<2)|3,{50,32,48}}, +/* 4737 */ {(16<<2)|3,{50,32,49}}, +/* 4738 */ {(16<<2)|3,{50,32,50}}, +/* 4739 */ {(16<<2)|3,{50,32,97}}, +/* 4740 */ {(16<<2)|3,{50,32,99}}, +/* 4741 */ {(16<<2)|3,{50,32,101}}, +/* 4742 */ {(16<<2)|3,{50,32,105}}, +/* 4743 */ {(16<<2)|3,{50,32,111}}, +/* 4744 */ {(16<<2)|3,{50,32,115}}, +/* 4745 */ {(16<<2)|3,{50,32,116}}, +/* 4746 */ {(11<<2)|2,{50,32,0}}, +/* 4747 */ {(11<<2)|2,{50,32,0}}, +/* 4748 */ {(11<<2)|2,{50,32,0}}, +/* 4749 */ {(11<<2)|2,{50,32,0}}, +/* 4750 */ {(11<<2)|2,{50,32,0}}, +/* 4751 */ {(11<<2)|2,{50,32,0}}, +/* 4752 */ {(11<<2)|2,{50,32,0}}, +/* 4753 */ {(11<<2)|2,{50,32,0}}, +/* 4754 */ {(11<<2)|2,{50,32,0}}, +/* 4755 */ {(11<<2)|2,{50,32,0}}, +/* 4756 */ {(11<<2)|2,{50,32,0}}, +/* 4757 */ {(11<<2)|2,{50,32,0}}, +/* 4758 */ {(11<<2)|2,{50,32,0}}, +/* 4759 */ {(11<<2)|2,{50,32,0}}, +/* 4760 */ {(11<<2)|2,{50,32,0}}, +/* 4761 */ {(11<<2)|2,{50,32,0}}, +/* 4762 */ {(11<<2)|2,{50,32,0}}, +/* 4763 */ {(11<<2)|2,{50,32,0}}, +/* 4764 */ {(11<<2)|2,{50,32,0}}, +/* 4765 */ {(11<<2)|2,{50,32,0}}, +/* 4766 */ {(11<<2)|2,{50,32,0}}, +/* 4767 */ {(11<<2)|2,{50,32,0}}, +/* 4768 */ {(16<<2)|3,{50,37,48}}, +/* 4769 */ {(16<<2)|3,{50,37,49}}, +/* 4770 */ {(16<<2)|3,{50,37,50}}, +/* 4771 */ {(16<<2)|3,{50,37,97}}, +/* 4772 */ {(16<<2)|3,{50,37,99}}, +/* 4773 */ {(16<<2)|3,{50,37,101}}, +/* 4774 */ {(16<<2)|3,{50,37,105}}, +/* 4775 */ {(16<<2)|3,{50,37,111}}, +/* 4776 */ {(16<<2)|3,{50,37,115}}, +/* 4777 */ {(16<<2)|3,{50,37,116}}, +/* 4778 */ {(11<<2)|2,{50,37,0}}, +/* 4779 */ {(11<<2)|2,{50,37,0}}, +/* 4780 */ {(11<<2)|2,{50,37,0}}, +/* 4781 */ {(11<<2)|2,{50,37,0}}, +/* 4782 */ {(11<<2)|2,{50,37,0}}, +/* 4783 */ {(11<<2)|2,{50,37,0}}, +/* 4784 */ {(11<<2)|2,{50,37,0}}, +/* 4785 */ {(11<<2)|2,{50,37,0}}, +/* 4786 */ {(11<<2)|2,{50,37,0}}, +/* 4787 */ {(11<<2)|2,{50,37,0}}, +/* 4788 */ {(11<<2)|2,{50,37,0}}, +/* 4789 */ {(11<<2)|2,{50,37,0}}, +/* 4790 */ {(11<<2)|2,{50,37,0}}, +/* 4791 */ {(11<<2)|2,{50,37,0}}, +/* 4792 */ {(11<<2)|2,{50,37,0}}, +/* 4793 */ {(11<<2)|2,{50,37,0}}, +/* 4794 */ {(11<<2)|2,{50,37,0}}, +/* 4795 */ {(11<<2)|2,{50,37,0}}, +/* 4796 */ {(11<<2)|2,{50,37,0}}, +/* 4797 */ {(11<<2)|2,{50,37,0}}, +/* 4798 */ {(11<<2)|2,{50,37,0}}, +/* 4799 */ {(11<<2)|2,{50,37,0}}, +/* 4800 */ {(16<<2)|3,{50,45,48}}, +/* 4801 */ {(16<<2)|3,{50,45,49}}, +/* 4802 */ {(16<<2)|3,{50,45,50}}, +/* 4803 */ {(16<<2)|3,{50,45,97}}, +/* 4804 */ {(16<<2)|3,{50,45,99}}, +/* 4805 */ {(16<<2)|3,{50,45,101}}, +/* 4806 */ {(16<<2)|3,{50,45,105}}, +/* 4807 */ {(16<<2)|3,{50,45,111}}, +/* 4808 */ {(16<<2)|3,{50,45,115}}, +/* 4809 */ {(16<<2)|3,{50,45,116}}, +/* 4810 */ {(11<<2)|2,{50,45,0}}, +/* 4811 */ {(11<<2)|2,{50,45,0}}, +/* 4812 */ {(11<<2)|2,{50,45,0}}, +/* 4813 */ {(11<<2)|2,{50,45,0}}, +/* 4814 */ {(11<<2)|2,{50,45,0}}, +/* 4815 */ {(11<<2)|2,{50,45,0}}, +/* 4816 */ {(11<<2)|2,{50,45,0}}, +/* 4817 */ {(11<<2)|2,{50,45,0}}, +/* 4818 */ {(11<<2)|2,{50,45,0}}, +/* 4819 */ {(11<<2)|2,{50,45,0}}, +/* 4820 */ {(11<<2)|2,{50,45,0}}, +/* 4821 */ {(11<<2)|2,{50,45,0}}, +/* 4822 */ {(11<<2)|2,{50,45,0}}, +/* 4823 */ {(11<<2)|2,{50,45,0}}, +/* 4824 */ {(11<<2)|2,{50,45,0}}, +/* 4825 */ {(11<<2)|2,{50,45,0}}, +/* 4826 */ {(11<<2)|2,{50,45,0}}, +/* 4827 */ {(11<<2)|2,{50,45,0}}, +/* 4828 */ {(11<<2)|2,{50,45,0}}, +/* 4829 */ {(11<<2)|2,{50,45,0}}, +/* 4830 */ {(11<<2)|2,{50,45,0}}, +/* 4831 */ {(11<<2)|2,{50,45,0}}, +/* 4832 */ {(16<<2)|3,{50,46,48}}, +/* 4833 */ {(16<<2)|3,{50,46,49}}, +/* 4834 */ {(16<<2)|3,{50,46,50}}, +/* 4835 */ {(16<<2)|3,{50,46,97}}, +/* 4836 */ {(16<<2)|3,{50,46,99}}, +/* 4837 */ {(16<<2)|3,{50,46,101}}, +/* 4838 */ {(16<<2)|3,{50,46,105}}, +/* 4839 */ {(16<<2)|3,{50,46,111}}, +/* 4840 */ {(16<<2)|3,{50,46,115}}, +/* 4841 */ {(16<<2)|3,{50,46,116}}, +/* 4842 */ {(11<<2)|2,{50,46,0}}, +/* 4843 */ {(11<<2)|2,{50,46,0}}, +/* 4844 */ {(11<<2)|2,{50,46,0}}, +/* 4845 */ {(11<<2)|2,{50,46,0}}, +/* 4846 */ {(11<<2)|2,{50,46,0}}, +/* 4847 */ {(11<<2)|2,{50,46,0}}, +/* 4848 */ {(11<<2)|2,{50,46,0}}, +/* 4849 */ {(11<<2)|2,{50,46,0}}, +/* 4850 */ {(11<<2)|2,{50,46,0}}, +/* 4851 */ {(11<<2)|2,{50,46,0}}, +/* 4852 */ {(11<<2)|2,{50,46,0}}, +/* 4853 */ {(11<<2)|2,{50,46,0}}, +/* 4854 */ {(11<<2)|2,{50,46,0}}, +/* 4855 */ {(11<<2)|2,{50,46,0}}, +/* 4856 */ {(11<<2)|2,{50,46,0}}, +/* 4857 */ {(11<<2)|2,{50,46,0}}, +/* 4858 */ {(11<<2)|2,{50,46,0}}, +/* 4859 */ {(11<<2)|2,{50,46,0}}, +/* 4860 */ {(11<<2)|2,{50,46,0}}, +/* 4861 */ {(11<<2)|2,{50,46,0}}, +/* 4862 */ {(11<<2)|2,{50,46,0}}, +/* 4863 */ {(11<<2)|2,{50,46,0}}, +/* 4864 */ {(16<<2)|3,{50,47,48}}, +/* 4865 */ {(16<<2)|3,{50,47,49}}, +/* 4866 */ {(16<<2)|3,{50,47,50}}, +/* 4867 */ {(16<<2)|3,{50,47,97}}, +/* 4868 */ {(16<<2)|3,{50,47,99}}, +/* 4869 */ {(16<<2)|3,{50,47,101}}, +/* 4870 */ {(16<<2)|3,{50,47,105}}, +/* 4871 */ {(16<<2)|3,{50,47,111}}, +/* 4872 */ {(16<<2)|3,{50,47,115}}, +/* 4873 */ {(16<<2)|3,{50,47,116}}, +/* 4874 */ {(11<<2)|2,{50,47,0}}, +/* 4875 */ {(11<<2)|2,{50,47,0}}, +/* 4876 */ {(11<<2)|2,{50,47,0}}, +/* 4877 */ {(11<<2)|2,{50,47,0}}, +/* 4878 */ {(11<<2)|2,{50,47,0}}, +/* 4879 */ {(11<<2)|2,{50,47,0}}, +/* 4880 */ {(11<<2)|2,{50,47,0}}, +/* 4881 */ {(11<<2)|2,{50,47,0}}, +/* 4882 */ {(11<<2)|2,{50,47,0}}, +/* 4883 */ {(11<<2)|2,{50,47,0}}, +/* 4884 */ {(11<<2)|2,{50,47,0}}, +/* 4885 */ {(11<<2)|2,{50,47,0}}, +/* 4886 */ {(11<<2)|2,{50,47,0}}, +/* 4887 */ {(11<<2)|2,{50,47,0}}, +/* 4888 */ {(11<<2)|2,{50,47,0}}, +/* 4889 */ {(11<<2)|2,{50,47,0}}, +/* 4890 */ {(11<<2)|2,{50,47,0}}, +/* 4891 */ {(11<<2)|2,{50,47,0}}, +/* 4892 */ {(11<<2)|2,{50,47,0}}, +/* 4893 */ {(11<<2)|2,{50,47,0}}, +/* 4894 */ {(11<<2)|2,{50,47,0}}, +/* 4895 */ {(11<<2)|2,{50,47,0}}, +/* 4896 */ {(16<<2)|3,{50,51,48}}, +/* 4897 */ {(16<<2)|3,{50,51,49}}, +/* 4898 */ {(16<<2)|3,{50,51,50}}, +/* 4899 */ {(16<<2)|3,{50,51,97}}, +/* 4900 */ {(16<<2)|3,{50,51,99}}, +/* 4901 */ {(16<<2)|3,{50,51,101}}, +/* 4902 */ {(16<<2)|3,{50,51,105}}, +/* 4903 */ {(16<<2)|3,{50,51,111}}, +/* 4904 */ {(16<<2)|3,{50,51,115}}, +/* 4905 */ {(16<<2)|3,{50,51,116}}, +/* 4906 */ {(11<<2)|2,{50,51,0}}, +/* 4907 */ {(11<<2)|2,{50,51,0}}, +/* 4908 */ {(11<<2)|2,{50,51,0}}, +/* 4909 */ {(11<<2)|2,{50,51,0}}, +/* 4910 */ {(11<<2)|2,{50,51,0}}, +/* 4911 */ {(11<<2)|2,{50,51,0}}, +/* 4912 */ {(11<<2)|2,{50,51,0}}, +/* 4913 */ {(11<<2)|2,{50,51,0}}, +/* 4914 */ {(11<<2)|2,{50,51,0}}, +/* 4915 */ {(11<<2)|2,{50,51,0}}, +/* 4916 */ {(11<<2)|2,{50,51,0}}, +/* 4917 */ {(11<<2)|2,{50,51,0}}, +/* 4918 */ {(11<<2)|2,{50,51,0}}, +/* 4919 */ {(11<<2)|2,{50,51,0}}, +/* 4920 */ {(11<<2)|2,{50,51,0}}, +/* 4921 */ {(11<<2)|2,{50,51,0}}, +/* 4922 */ {(11<<2)|2,{50,51,0}}, +/* 4923 */ {(11<<2)|2,{50,51,0}}, +/* 4924 */ {(11<<2)|2,{50,51,0}}, +/* 4925 */ {(11<<2)|2,{50,51,0}}, +/* 4926 */ {(11<<2)|2,{50,51,0}}, +/* 4927 */ {(11<<2)|2,{50,51,0}}, +/* 4928 */ {(16<<2)|3,{50,52,48}}, +/* 4929 */ {(16<<2)|3,{50,52,49}}, +/* 4930 */ {(16<<2)|3,{50,52,50}}, +/* 4931 */ {(16<<2)|3,{50,52,97}}, +/* 4932 */ {(16<<2)|3,{50,52,99}}, +/* 4933 */ {(16<<2)|3,{50,52,101}}, +/* 4934 */ {(16<<2)|3,{50,52,105}}, +/* 4935 */ {(16<<2)|3,{50,52,111}}, +/* 4936 */ {(16<<2)|3,{50,52,115}}, +/* 4937 */ {(16<<2)|3,{50,52,116}}, +/* 4938 */ {(11<<2)|2,{50,52,0}}, +/* 4939 */ {(11<<2)|2,{50,52,0}}, +/* 4940 */ {(11<<2)|2,{50,52,0}}, +/* 4941 */ {(11<<2)|2,{50,52,0}}, +/* 4942 */ {(11<<2)|2,{50,52,0}}, +/* 4943 */ {(11<<2)|2,{50,52,0}}, +/* 4944 */ {(11<<2)|2,{50,52,0}}, +/* 4945 */ {(11<<2)|2,{50,52,0}}, +/* 4946 */ {(11<<2)|2,{50,52,0}}, +/* 4947 */ {(11<<2)|2,{50,52,0}}, +/* 4948 */ {(11<<2)|2,{50,52,0}}, +/* 4949 */ {(11<<2)|2,{50,52,0}}, +/* 4950 */ {(11<<2)|2,{50,52,0}}, +/* 4951 */ {(11<<2)|2,{50,52,0}}, +/* 4952 */ {(11<<2)|2,{50,52,0}}, +/* 4953 */ {(11<<2)|2,{50,52,0}}, +/* 4954 */ {(11<<2)|2,{50,52,0}}, +/* 4955 */ {(11<<2)|2,{50,52,0}}, +/* 4956 */ {(11<<2)|2,{50,52,0}}, +/* 4957 */ {(11<<2)|2,{50,52,0}}, +/* 4958 */ {(11<<2)|2,{50,52,0}}, +/* 4959 */ {(11<<2)|2,{50,52,0}}, +/* 4960 */ {(16<<2)|3,{50,53,48}}, +/* 4961 */ {(16<<2)|3,{50,53,49}}, +/* 4962 */ {(16<<2)|3,{50,53,50}}, +/* 4963 */ {(16<<2)|3,{50,53,97}}, +/* 4964 */ {(16<<2)|3,{50,53,99}}, +/* 4965 */ {(16<<2)|3,{50,53,101}}, +/* 4966 */ {(16<<2)|3,{50,53,105}}, +/* 4967 */ {(16<<2)|3,{50,53,111}}, +/* 4968 */ {(16<<2)|3,{50,53,115}}, +/* 4969 */ {(16<<2)|3,{50,53,116}}, +/* 4970 */ {(11<<2)|2,{50,53,0}}, +/* 4971 */ {(11<<2)|2,{50,53,0}}, +/* 4972 */ {(11<<2)|2,{50,53,0}}, +/* 4973 */ {(11<<2)|2,{50,53,0}}, +/* 4974 */ {(11<<2)|2,{50,53,0}}, +/* 4975 */ {(11<<2)|2,{50,53,0}}, +/* 4976 */ {(11<<2)|2,{50,53,0}}, +/* 4977 */ {(11<<2)|2,{50,53,0}}, +/* 4978 */ {(11<<2)|2,{50,53,0}}, +/* 4979 */ {(11<<2)|2,{50,53,0}}, +/* 4980 */ {(11<<2)|2,{50,53,0}}, +/* 4981 */ {(11<<2)|2,{50,53,0}}, +/* 4982 */ {(11<<2)|2,{50,53,0}}, +/* 4983 */ {(11<<2)|2,{50,53,0}}, +/* 4984 */ {(11<<2)|2,{50,53,0}}, +/* 4985 */ {(11<<2)|2,{50,53,0}}, +/* 4986 */ {(11<<2)|2,{50,53,0}}, +/* 4987 */ {(11<<2)|2,{50,53,0}}, +/* 4988 */ {(11<<2)|2,{50,53,0}}, +/* 4989 */ {(11<<2)|2,{50,53,0}}, +/* 4990 */ {(11<<2)|2,{50,53,0}}, +/* 4991 */ {(11<<2)|2,{50,53,0}}, +/* 4992 */ {(16<<2)|3,{50,54,48}}, +/* 4993 */ {(16<<2)|3,{50,54,49}}, +/* 4994 */ {(16<<2)|3,{50,54,50}}, +/* 4995 */ {(16<<2)|3,{50,54,97}}, +/* 4996 */ {(16<<2)|3,{50,54,99}}, +/* 4997 */ {(16<<2)|3,{50,54,101}}, +/* 4998 */ {(16<<2)|3,{50,54,105}}, +/* 4999 */ {(16<<2)|3,{50,54,111}}, +/* 5000 */ {(16<<2)|3,{50,54,115}}, +/* 5001 */ {(16<<2)|3,{50,54,116}}, +/* 5002 */ {(11<<2)|2,{50,54,0}}, +/* 5003 */ {(11<<2)|2,{50,54,0}}, +/* 5004 */ {(11<<2)|2,{50,54,0}}, +/* 5005 */ {(11<<2)|2,{50,54,0}}, +/* 5006 */ {(11<<2)|2,{50,54,0}}, +/* 5007 */ {(11<<2)|2,{50,54,0}}, +/* 5008 */ {(11<<2)|2,{50,54,0}}, +/* 5009 */ {(11<<2)|2,{50,54,0}}, +/* 5010 */ {(11<<2)|2,{50,54,0}}, +/* 5011 */ {(11<<2)|2,{50,54,0}}, +/* 5012 */ {(11<<2)|2,{50,54,0}}, +/* 5013 */ {(11<<2)|2,{50,54,0}}, +/* 5014 */ {(11<<2)|2,{50,54,0}}, +/* 5015 */ {(11<<2)|2,{50,54,0}}, +/* 5016 */ {(11<<2)|2,{50,54,0}}, +/* 5017 */ {(11<<2)|2,{50,54,0}}, +/* 5018 */ {(11<<2)|2,{50,54,0}}, +/* 5019 */ {(11<<2)|2,{50,54,0}}, +/* 5020 */ {(11<<2)|2,{50,54,0}}, +/* 5021 */ {(11<<2)|2,{50,54,0}}, +/* 5022 */ {(11<<2)|2,{50,54,0}}, +/* 5023 */ {(11<<2)|2,{50,54,0}}, +/* 5024 */ {(16<<2)|3,{50,55,48}}, +/* 5025 */ {(16<<2)|3,{50,55,49}}, +/* 5026 */ {(16<<2)|3,{50,55,50}}, +/* 5027 */ {(16<<2)|3,{50,55,97}}, +/* 5028 */ {(16<<2)|3,{50,55,99}}, +/* 5029 */ {(16<<2)|3,{50,55,101}}, +/* 5030 */ {(16<<2)|3,{50,55,105}}, +/* 5031 */ {(16<<2)|3,{50,55,111}}, +/* 5032 */ {(16<<2)|3,{50,55,115}}, +/* 5033 */ {(16<<2)|3,{50,55,116}}, +/* 5034 */ {(11<<2)|2,{50,55,0}}, +/* 5035 */ {(11<<2)|2,{50,55,0}}, +/* 5036 */ {(11<<2)|2,{50,55,0}}, +/* 5037 */ {(11<<2)|2,{50,55,0}}, +/* 5038 */ {(11<<2)|2,{50,55,0}}, +/* 5039 */ {(11<<2)|2,{50,55,0}}, +/* 5040 */ {(11<<2)|2,{50,55,0}}, +/* 5041 */ {(11<<2)|2,{50,55,0}}, +/* 5042 */ {(11<<2)|2,{50,55,0}}, +/* 5043 */ {(11<<2)|2,{50,55,0}}, +/* 5044 */ {(11<<2)|2,{50,55,0}}, +/* 5045 */ {(11<<2)|2,{50,55,0}}, +/* 5046 */ {(11<<2)|2,{50,55,0}}, +/* 5047 */ {(11<<2)|2,{50,55,0}}, +/* 5048 */ {(11<<2)|2,{50,55,0}}, +/* 5049 */ {(11<<2)|2,{50,55,0}}, +/* 5050 */ {(11<<2)|2,{50,55,0}}, +/* 5051 */ {(11<<2)|2,{50,55,0}}, +/* 5052 */ {(11<<2)|2,{50,55,0}}, +/* 5053 */ {(11<<2)|2,{50,55,0}}, +/* 5054 */ {(11<<2)|2,{50,55,0}}, +/* 5055 */ {(11<<2)|2,{50,55,0}}, +/* 5056 */ {(16<<2)|3,{50,56,48}}, +/* 5057 */ {(16<<2)|3,{50,56,49}}, +/* 5058 */ {(16<<2)|3,{50,56,50}}, +/* 5059 */ {(16<<2)|3,{50,56,97}}, +/* 5060 */ {(16<<2)|3,{50,56,99}}, +/* 5061 */ {(16<<2)|3,{50,56,101}}, +/* 5062 */ {(16<<2)|3,{50,56,105}}, +/* 5063 */ {(16<<2)|3,{50,56,111}}, +/* 5064 */ {(16<<2)|3,{50,56,115}}, +/* 5065 */ {(16<<2)|3,{50,56,116}}, +/* 5066 */ {(11<<2)|2,{50,56,0}}, +/* 5067 */ {(11<<2)|2,{50,56,0}}, +/* 5068 */ {(11<<2)|2,{50,56,0}}, +/* 5069 */ {(11<<2)|2,{50,56,0}}, +/* 5070 */ {(11<<2)|2,{50,56,0}}, +/* 5071 */ {(11<<2)|2,{50,56,0}}, +/* 5072 */ {(11<<2)|2,{50,56,0}}, +/* 5073 */ {(11<<2)|2,{50,56,0}}, +/* 5074 */ {(11<<2)|2,{50,56,0}}, +/* 5075 */ {(11<<2)|2,{50,56,0}}, +/* 5076 */ {(11<<2)|2,{50,56,0}}, +/* 5077 */ {(11<<2)|2,{50,56,0}}, +/* 5078 */ {(11<<2)|2,{50,56,0}}, +/* 5079 */ {(11<<2)|2,{50,56,0}}, +/* 5080 */ {(11<<2)|2,{50,56,0}}, +/* 5081 */ {(11<<2)|2,{50,56,0}}, +/* 5082 */ {(11<<2)|2,{50,56,0}}, +/* 5083 */ {(11<<2)|2,{50,56,0}}, +/* 5084 */ {(11<<2)|2,{50,56,0}}, +/* 5085 */ {(11<<2)|2,{50,56,0}}, +/* 5086 */ {(11<<2)|2,{50,56,0}}, +/* 5087 */ {(11<<2)|2,{50,56,0}}, +/* 5088 */ {(16<<2)|3,{50,57,48}}, +/* 5089 */ {(16<<2)|3,{50,57,49}}, +/* 5090 */ {(16<<2)|3,{50,57,50}}, +/* 5091 */ {(16<<2)|3,{50,57,97}}, +/* 5092 */ {(16<<2)|3,{50,57,99}}, +/* 5093 */ {(16<<2)|3,{50,57,101}}, +/* 5094 */ {(16<<2)|3,{50,57,105}}, +/* 5095 */ {(16<<2)|3,{50,57,111}}, +/* 5096 */ {(16<<2)|3,{50,57,115}}, +/* 5097 */ {(16<<2)|3,{50,57,116}}, +/* 5098 */ {(11<<2)|2,{50,57,0}}, +/* 5099 */ {(11<<2)|2,{50,57,0}}, +/* 5100 */ {(11<<2)|2,{50,57,0}}, +/* 5101 */ {(11<<2)|2,{50,57,0}}, +/* 5102 */ {(11<<2)|2,{50,57,0}}, +/* 5103 */ {(11<<2)|2,{50,57,0}}, +/* 5104 */ {(11<<2)|2,{50,57,0}}, +/* 5105 */ {(11<<2)|2,{50,57,0}}, +/* 5106 */ {(11<<2)|2,{50,57,0}}, +/* 5107 */ {(11<<2)|2,{50,57,0}}, +/* 5108 */ {(11<<2)|2,{50,57,0}}, +/* 5109 */ {(11<<2)|2,{50,57,0}}, +/* 5110 */ {(11<<2)|2,{50,57,0}}, +/* 5111 */ {(11<<2)|2,{50,57,0}}, +/* 5112 */ {(11<<2)|2,{50,57,0}}, +/* 5113 */ {(11<<2)|2,{50,57,0}}, +/* 5114 */ {(11<<2)|2,{50,57,0}}, +/* 5115 */ {(11<<2)|2,{50,57,0}}, +/* 5116 */ {(11<<2)|2,{50,57,0}}, +/* 5117 */ {(11<<2)|2,{50,57,0}}, +/* 5118 */ {(11<<2)|2,{50,57,0}}, +/* 5119 */ {(11<<2)|2,{50,57,0}}, +/* 5120 */ {(16<<2)|3,{50,61,48}}, +/* 5121 */ {(16<<2)|3,{50,61,49}}, +/* 5122 */ {(16<<2)|3,{50,61,50}}, +/* 5123 */ {(16<<2)|3,{50,61,97}}, +/* 5124 */ {(16<<2)|3,{50,61,99}}, +/* 5125 */ {(16<<2)|3,{50,61,101}}, +/* 5126 */ {(16<<2)|3,{50,61,105}}, +/* 5127 */ {(16<<2)|3,{50,61,111}}, +/* 5128 */ {(16<<2)|3,{50,61,115}}, +/* 5129 */ {(16<<2)|3,{50,61,116}}, +/* 5130 */ {(11<<2)|2,{50,61,0}}, +/* 5131 */ {(11<<2)|2,{50,61,0}}, +/* 5132 */ {(11<<2)|2,{50,61,0}}, +/* 5133 */ {(11<<2)|2,{50,61,0}}, +/* 5134 */ {(11<<2)|2,{50,61,0}}, +/* 5135 */ {(11<<2)|2,{50,61,0}}, +/* 5136 */ {(11<<2)|2,{50,61,0}}, +/* 5137 */ {(11<<2)|2,{50,61,0}}, +/* 5138 */ {(11<<2)|2,{50,61,0}}, +/* 5139 */ {(11<<2)|2,{50,61,0}}, +/* 5140 */ {(11<<2)|2,{50,61,0}}, +/* 5141 */ {(11<<2)|2,{50,61,0}}, +/* 5142 */ {(11<<2)|2,{50,61,0}}, +/* 5143 */ {(11<<2)|2,{50,61,0}}, +/* 5144 */ {(11<<2)|2,{50,61,0}}, +/* 5145 */ {(11<<2)|2,{50,61,0}}, +/* 5146 */ {(11<<2)|2,{50,61,0}}, +/* 5147 */ {(11<<2)|2,{50,61,0}}, +/* 5148 */ {(11<<2)|2,{50,61,0}}, +/* 5149 */ {(11<<2)|2,{50,61,0}}, +/* 5150 */ {(11<<2)|2,{50,61,0}}, +/* 5151 */ {(11<<2)|2,{50,61,0}}, +/* 5152 */ {(16<<2)|3,{50,65,48}}, +/* 5153 */ {(16<<2)|3,{50,65,49}}, +/* 5154 */ {(16<<2)|3,{50,65,50}}, +/* 5155 */ {(16<<2)|3,{50,65,97}}, +/* 5156 */ {(16<<2)|3,{50,65,99}}, +/* 5157 */ {(16<<2)|3,{50,65,101}}, +/* 5158 */ {(16<<2)|3,{50,65,105}}, +/* 5159 */ {(16<<2)|3,{50,65,111}}, +/* 5160 */ {(16<<2)|3,{50,65,115}}, +/* 5161 */ {(16<<2)|3,{50,65,116}}, +/* 5162 */ {(11<<2)|2,{50,65,0}}, +/* 5163 */ {(11<<2)|2,{50,65,0}}, +/* 5164 */ {(11<<2)|2,{50,65,0}}, +/* 5165 */ {(11<<2)|2,{50,65,0}}, +/* 5166 */ {(11<<2)|2,{50,65,0}}, +/* 5167 */ {(11<<2)|2,{50,65,0}}, +/* 5168 */ {(11<<2)|2,{50,65,0}}, +/* 5169 */ {(11<<2)|2,{50,65,0}}, +/* 5170 */ {(11<<2)|2,{50,65,0}}, +/* 5171 */ {(11<<2)|2,{50,65,0}}, +/* 5172 */ {(11<<2)|2,{50,65,0}}, +/* 5173 */ {(11<<2)|2,{50,65,0}}, +/* 5174 */ {(11<<2)|2,{50,65,0}}, +/* 5175 */ {(11<<2)|2,{50,65,0}}, +/* 5176 */ {(11<<2)|2,{50,65,0}}, +/* 5177 */ {(11<<2)|2,{50,65,0}}, +/* 5178 */ {(11<<2)|2,{50,65,0}}, +/* 5179 */ {(11<<2)|2,{50,65,0}}, +/* 5180 */ {(11<<2)|2,{50,65,0}}, +/* 5181 */ {(11<<2)|2,{50,65,0}}, +/* 5182 */ {(11<<2)|2,{50,65,0}}, +/* 5183 */ {(11<<2)|2,{50,65,0}}, +/* 5184 */ {(16<<2)|3,{50,95,48}}, +/* 5185 */ {(16<<2)|3,{50,95,49}}, +/* 5186 */ {(16<<2)|3,{50,95,50}}, +/* 5187 */ {(16<<2)|3,{50,95,97}}, +/* 5188 */ {(16<<2)|3,{50,95,99}}, +/* 5189 */ {(16<<2)|3,{50,95,101}}, +/* 5190 */ {(16<<2)|3,{50,95,105}}, +/* 5191 */ {(16<<2)|3,{50,95,111}}, +/* 5192 */ {(16<<2)|3,{50,95,115}}, +/* 5193 */ {(16<<2)|3,{50,95,116}}, +/* 5194 */ {(11<<2)|2,{50,95,0}}, +/* 5195 */ {(11<<2)|2,{50,95,0}}, +/* 5196 */ {(11<<2)|2,{50,95,0}}, +/* 5197 */ {(11<<2)|2,{50,95,0}}, +/* 5198 */ {(11<<2)|2,{50,95,0}}, +/* 5199 */ {(11<<2)|2,{50,95,0}}, +/* 5200 */ {(11<<2)|2,{50,95,0}}, +/* 5201 */ {(11<<2)|2,{50,95,0}}, +/* 5202 */ {(11<<2)|2,{50,95,0}}, +/* 5203 */ {(11<<2)|2,{50,95,0}}, +/* 5204 */ {(11<<2)|2,{50,95,0}}, +/* 5205 */ {(11<<2)|2,{50,95,0}}, +/* 5206 */ {(11<<2)|2,{50,95,0}}, +/* 5207 */ {(11<<2)|2,{50,95,0}}, +/* 5208 */ {(11<<2)|2,{50,95,0}}, +/* 5209 */ {(11<<2)|2,{50,95,0}}, +/* 5210 */ {(11<<2)|2,{50,95,0}}, +/* 5211 */ {(11<<2)|2,{50,95,0}}, +/* 5212 */ {(11<<2)|2,{50,95,0}}, +/* 5213 */ {(11<<2)|2,{50,95,0}}, +/* 5214 */ {(11<<2)|2,{50,95,0}}, +/* 5215 */ {(11<<2)|2,{50,95,0}}, +/* 5216 */ {(16<<2)|3,{50,98,48}}, +/* 5217 */ {(16<<2)|3,{50,98,49}}, +/* 5218 */ {(16<<2)|3,{50,98,50}}, +/* 5219 */ {(16<<2)|3,{50,98,97}}, +/* 5220 */ {(16<<2)|3,{50,98,99}}, +/* 5221 */ {(16<<2)|3,{50,98,101}}, +/* 5222 */ {(16<<2)|3,{50,98,105}}, +/* 5223 */ {(16<<2)|3,{50,98,111}}, +/* 5224 */ {(16<<2)|3,{50,98,115}}, +/* 5225 */ {(16<<2)|3,{50,98,116}}, +/* 5226 */ {(11<<2)|2,{50,98,0}}, +/* 5227 */ {(11<<2)|2,{50,98,0}}, +/* 5228 */ {(11<<2)|2,{50,98,0}}, +/* 5229 */ {(11<<2)|2,{50,98,0}}, +/* 5230 */ {(11<<2)|2,{50,98,0}}, +/* 5231 */ {(11<<2)|2,{50,98,0}}, +/* 5232 */ {(11<<2)|2,{50,98,0}}, +/* 5233 */ {(11<<2)|2,{50,98,0}}, +/* 5234 */ {(11<<2)|2,{50,98,0}}, +/* 5235 */ {(11<<2)|2,{50,98,0}}, +/* 5236 */ {(11<<2)|2,{50,98,0}}, +/* 5237 */ {(11<<2)|2,{50,98,0}}, +/* 5238 */ {(11<<2)|2,{50,98,0}}, +/* 5239 */ {(11<<2)|2,{50,98,0}}, +/* 5240 */ {(11<<2)|2,{50,98,0}}, +/* 5241 */ {(11<<2)|2,{50,98,0}}, +/* 5242 */ {(11<<2)|2,{50,98,0}}, +/* 5243 */ {(11<<2)|2,{50,98,0}}, +/* 5244 */ {(11<<2)|2,{50,98,0}}, +/* 5245 */ {(11<<2)|2,{50,98,0}}, +/* 5246 */ {(11<<2)|2,{50,98,0}}, +/* 5247 */ {(11<<2)|2,{50,98,0}}, +/* 5248 */ {(16<<2)|3,{50,100,48}}, +/* 5249 */ {(16<<2)|3,{50,100,49}}, +/* 5250 */ {(16<<2)|3,{50,100,50}}, +/* 5251 */ {(16<<2)|3,{50,100,97}}, +/* 5252 */ {(16<<2)|3,{50,100,99}}, +/* 5253 */ {(16<<2)|3,{50,100,101}}, +/* 5254 */ {(16<<2)|3,{50,100,105}}, +/* 5255 */ {(16<<2)|3,{50,100,111}}, +/* 5256 */ {(16<<2)|3,{50,100,115}}, +/* 5257 */ {(16<<2)|3,{50,100,116}}, +/* 5258 */ {(11<<2)|2,{50,100,0}}, +/* 5259 */ {(11<<2)|2,{50,100,0}}, +/* 5260 */ {(11<<2)|2,{50,100,0}}, +/* 5261 */ {(11<<2)|2,{50,100,0}}, +/* 5262 */ {(11<<2)|2,{50,100,0}}, +/* 5263 */ {(11<<2)|2,{50,100,0}}, +/* 5264 */ {(11<<2)|2,{50,100,0}}, +/* 5265 */ {(11<<2)|2,{50,100,0}}, +/* 5266 */ {(11<<2)|2,{50,100,0}}, +/* 5267 */ {(11<<2)|2,{50,100,0}}, +/* 5268 */ {(11<<2)|2,{50,100,0}}, +/* 5269 */ {(11<<2)|2,{50,100,0}}, +/* 5270 */ {(11<<2)|2,{50,100,0}}, +/* 5271 */ {(11<<2)|2,{50,100,0}}, +/* 5272 */ {(11<<2)|2,{50,100,0}}, +/* 5273 */ {(11<<2)|2,{50,100,0}}, +/* 5274 */ {(11<<2)|2,{50,100,0}}, +/* 5275 */ {(11<<2)|2,{50,100,0}}, +/* 5276 */ {(11<<2)|2,{50,100,0}}, +/* 5277 */ {(11<<2)|2,{50,100,0}}, +/* 5278 */ {(11<<2)|2,{50,100,0}}, +/* 5279 */ {(11<<2)|2,{50,100,0}}, +/* 5280 */ {(16<<2)|3,{50,102,48}}, +/* 5281 */ {(16<<2)|3,{50,102,49}}, +/* 5282 */ {(16<<2)|3,{50,102,50}}, +/* 5283 */ {(16<<2)|3,{50,102,97}}, +/* 5284 */ {(16<<2)|3,{50,102,99}}, +/* 5285 */ {(16<<2)|3,{50,102,101}}, +/* 5286 */ {(16<<2)|3,{50,102,105}}, +/* 5287 */ {(16<<2)|3,{50,102,111}}, +/* 5288 */ {(16<<2)|3,{50,102,115}}, +/* 5289 */ {(16<<2)|3,{50,102,116}}, +/* 5290 */ {(11<<2)|2,{50,102,0}}, +/* 5291 */ {(11<<2)|2,{50,102,0}}, +/* 5292 */ {(11<<2)|2,{50,102,0}}, +/* 5293 */ {(11<<2)|2,{50,102,0}}, +/* 5294 */ {(11<<2)|2,{50,102,0}}, +/* 5295 */ {(11<<2)|2,{50,102,0}}, +/* 5296 */ {(11<<2)|2,{50,102,0}}, +/* 5297 */ {(11<<2)|2,{50,102,0}}, +/* 5298 */ {(11<<2)|2,{50,102,0}}, +/* 5299 */ {(11<<2)|2,{50,102,0}}, +/* 5300 */ {(11<<2)|2,{50,102,0}}, +/* 5301 */ {(11<<2)|2,{50,102,0}}, +/* 5302 */ {(11<<2)|2,{50,102,0}}, +/* 5303 */ {(11<<2)|2,{50,102,0}}, +/* 5304 */ {(11<<2)|2,{50,102,0}}, +/* 5305 */ {(11<<2)|2,{50,102,0}}, +/* 5306 */ {(11<<2)|2,{50,102,0}}, +/* 5307 */ {(11<<2)|2,{50,102,0}}, +/* 5308 */ {(11<<2)|2,{50,102,0}}, +/* 5309 */ {(11<<2)|2,{50,102,0}}, +/* 5310 */ {(11<<2)|2,{50,102,0}}, +/* 5311 */ {(11<<2)|2,{50,102,0}}, +/* 5312 */ {(16<<2)|3,{50,103,48}}, +/* 5313 */ {(16<<2)|3,{50,103,49}}, +/* 5314 */ {(16<<2)|3,{50,103,50}}, +/* 5315 */ {(16<<2)|3,{50,103,97}}, +/* 5316 */ {(16<<2)|3,{50,103,99}}, +/* 5317 */ {(16<<2)|3,{50,103,101}}, +/* 5318 */ {(16<<2)|3,{50,103,105}}, +/* 5319 */ {(16<<2)|3,{50,103,111}}, +/* 5320 */ {(16<<2)|3,{50,103,115}}, +/* 5321 */ {(16<<2)|3,{50,103,116}}, +/* 5322 */ {(11<<2)|2,{50,103,0}}, +/* 5323 */ {(11<<2)|2,{50,103,0}}, +/* 5324 */ {(11<<2)|2,{50,103,0}}, +/* 5325 */ {(11<<2)|2,{50,103,0}}, +/* 5326 */ {(11<<2)|2,{50,103,0}}, +/* 5327 */ {(11<<2)|2,{50,103,0}}, +/* 5328 */ {(11<<2)|2,{50,103,0}}, +/* 5329 */ {(11<<2)|2,{50,103,0}}, +/* 5330 */ {(11<<2)|2,{50,103,0}}, +/* 5331 */ {(11<<2)|2,{50,103,0}}, +/* 5332 */ {(11<<2)|2,{50,103,0}}, +/* 5333 */ {(11<<2)|2,{50,103,0}}, +/* 5334 */ {(11<<2)|2,{50,103,0}}, +/* 5335 */ {(11<<2)|2,{50,103,0}}, +/* 5336 */ {(11<<2)|2,{50,103,0}}, +/* 5337 */ {(11<<2)|2,{50,103,0}}, +/* 5338 */ {(11<<2)|2,{50,103,0}}, +/* 5339 */ {(11<<2)|2,{50,103,0}}, +/* 5340 */ {(11<<2)|2,{50,103,0}}, +/* 5341 */ {(11<<2)|2,{50,103,0}}, +/* 5342 */ {(11<<2)|2,{50,103,0}}, +/* 5343 */ {(11<<2)|2,{50,103,0}}, +/* 5344 */ {(16<<2)|3,{50,104,48}}, +/* 5345 */ {(16<<2)|3,{50,104,49}}, +/* 5346 */ {(16<<2)|3,{50,104,50}}, +/* 5347 */ {(16<<2)|3,{50,104,97}}, +/* 5348 */ {(16<<2)|3,{50,104,99}}, +/* 5349 */ {(16<<2)|3,{50,104,101}}, +/* 5350 */ {(16<<2)|3,{50,104,105}}, +/* 5351 */ {(16<<2)|3,{50,104,111}}, +/* 5352 */ {(16<<2)|3,{50,104,115}}, +/* 5353 */ {(16<<2)|3,{50,104,116}}, +/* 5354 */ {(11<<2)|2,{50,104,0}}, +/* 5355 */ {(11<<2)|2,{50,104,0}}, +/* 5356 */ {(11<<2)|2,{50,104,0}}, +/* 5357 */ {(11<<2)|2,{50,104,0}}, +/* 5358 */ {(11<<2)|2,{50,104,0}}, +/* 5359 */ {(11<<2)|2,{50,104,0}}, +/* 5360 */ {(11<<2)|2,{50,104,0}}, +/* 5361 */ {(11<<2)|2,{50,104,0}}, +/* 5362 */ {(11<<2)|2,{50,104,0}}, +/* 5363 */ {(11<<2)|2,{50,104,0}}, +/* 5364 */ {(11<<2)|2,{50,104,0}}, +/* 5365 */ {(11<<2)|2,{50,104,0}}, +/* 5366 */ {(11<<2)|2,{50,104,0}}, +/* 5367 */ {(11<<2)|2,{50,104,0}}, +/* 5368 */ {(11<<2)|2,{50,104,0}}, +/* 5369 */ {(11<<2)|2,{50,104,0}}, +/* 5370 */ {(11<<2)|2,{50,104,0}}, +/* 5371 */ {(11<<2)|2,{50,104,0}}, +/* 5372 */ {(11<<2)|2,{50,104,0}}, +/* 5373 */ {(11<<2)|2,{50,104,0}}, +/* 5374 */ {(11<<2)|2,{50,104,0}}, +/* 5375 */ {(11<<2)|2,{50,104,0}}, +/* 5376 */ {(16<<2)|3,{50,108,48}}, +/* 5377 */ {(16<<2)|3,{50,108,49}}, +/* 5378 */ {(16<<2)|3,{50,108,50}}, +/* 5379 */ {(16<<2)|3,{50,108,97}}, +/* 5380 */ {(16<<2)|3,{50,108,99}}, +/* 5381 */ {(16<<2)|3,{50,108,101}}, +/* 5382 */ {(16<<2)|3,{50,108,105}}, +/* 5383 */ {(16<<2)|3,{50,108,111}}, +/* 5384 */ {(16<<2)|3,{50,108,115}}, +/* 5385 */ {(16<<2)|3,{50,108,116}}, +/* 5386 */ {(11<<2)|2,{50,108,0}}, +/* 5387 */ {(11<<2)|2,{50,108,0}}, +/* 5388 */ {(11<<2)|2,{50,108,0}}, +/* 5389 */ {(11<<2)|2,{50,108,0}}, +/* 5390 */ {(11<<2)|2,{50,108,0}}, +/* 5391 */ {(11<<2)|2,{50,108,0}}, +/* 5392 */ {(11<<2)|2,{50,108,0}}, +/* 5393 */ {(11<<2)|2,{50,108,0}}, +/* 5394 */ {(11<<2)|2,{50,108,0}}, +/* 5395 */ {(11<<2)|2,{50,108,0}}, +/* 5396 */ {(11<<2)|2,{50,108,0}}, +/* 5397 */ {(11<<2)|2,{50,108,0}}, +/* 5398 */ {(11<<2)|2,{50,108,0}}, +/* 5399 */ {(11<<2)|2,{50,108,0}}, +/* 5400 */ {(11<<2)|2,{50,108,0}}, +/* 5401 */ {(11<<2)|2,{50,108,0}}, +/* 5402 */ {(11<<2)|2,{50,108,0}}, +/* 5403 */ {(11<<2)|2,{50,108,0}}, +/* 5404 */ {(11<<2)|2,{50,108,0}}, +/* 5405 */ {(11<<2)|2,{50,108,0}}, +/* 5406 */ {(11<<2)|2,{50,108,0}}, +/* 5407 */ {(11<<2)|2,{50,108,0}}, +/* 5408 */ {(16<<2)|3,{50,109,48}}, +/* 5409 */ {(16<<2)|3,{50,109,49}}, +/* 5410 */ {(16<<2)|3,{50,109,50}}, +/* 5411 */ {(16<<2)|3,{50,109,97}}, +/* 5412 */ {(16<<2)|3,{50,109,99}}, +/* 5413 */ {(16<<2)|3,{50,109,101}}, +/* 5414 */ {(16<<2)|3,{50,109,105}}, +/* 5415 */ {(16<<2)|3,{50,109,111}}, +/* 5416 */ {(16<<2)|3,{50,109,115}}, +/* 5417 */ {(16<<2)|3,{50,109,116}}, +/* 5418 */ {(11<<2)|2,{50,109,0}}, +/* 5419 */ {(11<<2)|2,{50,109,0}}, +/* 5420 */ {(11<<2)|2,{50,109,0}}, +/* 5421 */ {(11<<2)|2,{50,109,0}}, +/* 5422 */ {(11<<2)|2,{50,109,0}}, +/* 5423 */ {(11<<2)|2,{50,109,0}}, +/* 5424 */ {(11<<2)|2,{50,109,0}}, +/* 5425 */ {(11<<2)|2,{50,109,0}}, +/* 5426 */ {(11<<2)|2,{50,109,0}}, +/* 5427 */ {(11<<2)|2,{50,109,0}}, +/* 5428 */ {(11<<2)|2,{50,109,0}}, +/* 5429 */ {(11<<2)|2,{50,109,0}}, +/* 5430 */ {(11<<2)|2,{50,109,0}}, +/* 5431 */ {(11<<2)|2,{50,109,0}}, +/* 5432 */ {(11<<2)|2,{50,109,0}}, +/* 5433 */ {(11<<2)|2,{50,109,0}}, +/* 5434 */ {(11<<2)|2,{50,109,0}}, +/* 5435 */ {(11<<2)|2,{50,109,0}}, +/* 5436 */ {(11<<2)|2,{50,109,0}}, +/* 5437 */ {(11<<2)|2,{50,109,0}}, +/* 5438 */ {(11<<2)|2,{50,109,0}}, +/* 5439 */ {(11<<2)|2,{50,109,0}}, +/* 5440 */ {(16<<2)|3,{50,110,48}}, +/* 5441 */ {(16<<2)|3,{50,110,49}}, +/* 5442 */ {(16<<2)|3,{50,110,50}}, +/* 5443 */ {(16<<2)|3,{50,110,97}}, +/* 5444 */ {(16<<2)|3,{50,110,99}}, +/* 5445 */ {(16<<2)|3,{50,110,101}}, +/* 5446 */ {(16<<2)|3,{50,110,105}}, +/* 5447 */ {(16<<2)|3,{50,110,111}}, +/* 5448 */ {(16<<2)|3,{50,110,115}}, +/* 5449 */ {(16<<2)|3,{50,110,116}}, +/* 5450 */ {(11<<2)|2,{50,110,0}}, +/* 5451 */ {(11<<2)|2,{50,110,0}}, +/* 5452 */ {(11<<2)|2,{50,110,0}}, +/* 5453 */ {(11<<2)|2,{50,110,0}}, +/* 5454 */ {(11<<2)|2,{50,110,0}}, +/* 5455 */ {(11<<2)|2,{50,110,0}}, +/* 5456 */ {(11<<2)|2,{50,110,0}}, +/* 5457 */ {(11<<2)|2,{50,110,0}}, +/* 5458 */ {(11<<2)|2,{50,110,0}}, +/* 5459 */ {(11<<2)|2,{50,110,0}}, +/* 5460 */ {(11<<2)|2,{50,110,0}}, +/* 5461 */ {(11<<2)|2,{50,110,0}}, +/* 5462 */ {(11<<2)|2,{50,110,0}}, +/* 5463 */ {(11<<2)|2,{50,110,0}}, +/* 5464 */ {(11<<2)|2,{50,110,0}}, +/* 5465 */ {(11<<2)|2,{50,110,0}}, +/* 5466 */ {(11<<2)|2,{50,110,0}}, +/* 5467 */ {(11<<2)|2,{50,110,0}}, +/* 5468 */ {(11<<2)|2,{50,110,0}}, +/* 5469 */ {(11<<2)|2,{50,110,0}}, +/* 5470 */ {(11<<2)|2,{50,110,0}}, +/* 5471 */ {(11<<2)|2,{50,110,0}}, +/* 5472 */ {(16<<2)|3,{50,112,48}}, +/* 5473 */ {(16<<2)|3,{50,112,49}}, +/* 5474 */ {(16<<2)|3,{50,112,50}}, +/* 5475 */ {(16<<2)|3,{50,112,97}}, +/* 5476 */ {(16<<2)|3,{50,112,99}}, +/* 5477 */ {(16<<2)|3,{50,112,101}}, +/* 5478 */ {(16<<2)|3,{50,112,105}}, +/* 5479 */ {(16<<2)|3,{50,112,111}}, +/* 5480 */ {(16<<2)|3,{50,112,115}}, +/* 5481 */ {(16<<2)|3,{50,112,116}}, +/* 5482 */ {(11<<2)|2,{50,112,0}}, +/* 5483 */ {(11<<2)|2,{50,112,0}}, +/* 5484 */ {(11<<2)|2,{50,112,0}}, +/* 5485 */ {(11<<2)|2,{50,112,0}}, +/* 5486 */ {(11<<2)|2,{50,112,0}}, +/* 5487 */ {(11<<2)|2,{50,112,0}}, +/* 5488 */ {(11<<2)|2,{50,112,0}}, +/* 5489 */ {(11<<2)|2,{50,112,0}}, +/* 5490 */ {(11<<2)|2,{50,112,0}}, +/* 5491 */ {(11<<2)|2,{50,112,0}}, +/* 5492 */ {(11<<2)|2,{50,112,0}}, +/* 5493 */ {(11<<2)|2,{50,112,0}}, +/* 5494 */ {(11<<2)|2,{50,112,0}}, +/* 5495 */ {(11<<2)|2,{50,112,0}}, +/* 5496 */ {(11<<2)|2,{50,112,0}}, +/* 5497 */ {(11<<2)|2,{50,112,0}}, +/* 5498 */ {(11<<2)|2,{50,112,0}}, +/* 5499 */ {(11<<2)|2,{50,112,0}}, +/* 5500 */ {(11<<2)|2,{50,112,0}}, +/* 5501 */ {(11<<2)|2,{50,112,0}}, +/* 5502 */ {(11<<2)|2,{50,112,0}}, +/* 5503 */ {(11<<2)|2,{50,112,0}}, +/* 5504 */ {(16<<2)|3,{50,114,48}}, +/* 5505 */ {(16<<2)|3,{50,114,49}}, +/* 5506 */ {(16<<2)|3,{50,114,50}}, +/* 5507 */ {(16<<2)|3,{50,114,97}}, +/* 5508 */ {(16<<2)|3,{50,114,99}}, +/* 5509 */ {(16<<2)|3,{50,114,101}}, +/* 5510 */ {(16<<2)|3,{50,114,105}}, +/* 5511 */ {(16<<2)|3,{50,114,111}}, +/* 5512 */ {(16<<2)|3,{50,114,115}}, +/* 5513 */ {(16<<2)|3,{50,114,116}}, +/* 5514 */ {(11<<2)|2,{50,114,0}}, +/* 5515 */ {(11<<2)|2,{50,114,0}}, +/* 5516 */ {(11<<2)|2,{50,114,0}}, +/* 5517 */ {(11<<2)|2,{50,114,0}}, +/* 5518 */ {(11<<2)|2,{50,114,0}}, +/* 5519 */ {(11<<2)|2,{50,114,0}}, +/* 5520 */ {(11<<2)|2,{50,114,0}}, +/* 5521 */ {(11<<2)|2,{50,114,0}}, +/* 5522 */ {(11<<2)|2,{50,114,0}}, +/* 5523 */ {(11<<2)|2,{50,114,0}}, +/* 5524 */ {(11<<2)|2,{50,114,0}}, +/* 5525 */ {(11<<2)|2,{50,114,0}}, +/* 5526 */ {(11<<2)|2,{50,114,0}}, +/* 5527 */ {(11<<2)|2,{50,114,0}}, +/* 5528 */ {(11<<2)|2,{50,114,0}}, +/* 5529 */ {(11<<2)|2,{50,114,0}}, +/* 5530 */ {(11<<2)|2,{50,114,0}}, +/* 5531 */ {(11<<2)|2,{50,114,0}}, +/* 5532 */ {(11<<2)|2,{50,114,0}}, +/* 5533 */ {(11<<2)|2,{50,114,0}}, +/* 5534 */ {(11<<2)|2,{50,114,0}}, +/* 5535 */ {(11<<2)|2,{50,114,0}}, +/* 5536 */ {(16<<2)|3,{50,117,48}}, +/* 5537 */ {(16<<2)|3,{50,117,49}}, +/* 5538 */ {(16<<2)|3,{50,117,50}}, +/* 5539 */ {(16<<2)|3,{50,117,97}}, +/* 5540 */ {(16<<2)|3,{50,117,99}}, +/* 5541 */ {(16<<2)|3,{50,117,101}}, +/* 5542 */ {(16<<2)|3,{50,117,105}}, +/* 5543 */ {(16<<2)|3,{50,117,111}}, +/* 5544 */ {(16<<2)|3,{50,117,115}}, +/* 5545 */ {(16<<2)|3,{50,117,116}}, +/* 5546 */ {(11<<2)|2,{50,117,0}}, +/* 5547 */ {(11<<2)|2,{50,117,0}}, +/* 5548 */ {(11<<2)|2,{50,117,0}}, +/* 5549 */ {(11<<2)|2,{50,117,0}}, +/* 5550 */ {(11<<2)|2,{50,117,0}}, +/* 5551 */ {(11<<2)|2,{50,117,0}}, +/* 5552 */ {(11<<2)|2,{50,117,0}}, +/* 5553 */ {(11<<2)|2,{50,117,0}}, +/* 5554 */ {(11<<2)|2,{50,117,0}}, +/* 5555 */ {(11<<2)|2,{50,117,0}}, +/* 5556 */ {(11<<2)|2,{50,117,0}}, +/* 5557 */ {(11<<2)|2,{50,117,0}}, +/* 5558 */ {(11<<2)|2,{50,117,0}}, +/* 5559 */ {(11<<2)|2,{50,117,0}}, +/* 5560 */ {(11<<2)|2,{50,117,0}}, +/* 5561 */ {(11<<2)|2,{50,117,0}}, +/* 5562 */ {(11<<2)|2,{50,117,0}}, +/* 5563 */ {(11<<2)|2,{50,117,0}}, +/* 5564 */ {(11<<2)|2,{50,117,0}}, +/* 5565 */ {(11<<2)|2,{50,117,0}}, +/* 5566 */ {(11<<2)|2,{50,117,0}}, +/* 5567 */ {(11<<2)|2,{50,117,0}}, +/* 5568 */ {(12<<2)|2,{50,58,0}}, +/* 5569 */ {(12<<2)|2,{50,58,0}}, +/* 5570 */ {(12<<2)|2,{50,58,0}}, +/* 5571 */ {(12<<2)|2,{50,58,0}}, +/* 5572 */ {(12<<2)|2,{50,58,0}}, +/* 5573 */ {(12<<2)|2,{50,58,0}}, +/* 5574 */ {(12<<2)|2,{50,58,0}}, +/* 5575 */ {(12<<2)|2,{50,58,0}}, +/* 5576 */ {(12<<2)|2,{50,58,0}}, +/* 5577 */ {(12<<2)|2,{50,58,0}}, +/* 5578 */ {(12<<2)|2,{50,58,0}}, +/* 5579 */ {(12<<2)|2,{50,58,0}}, +/* 5580 */ {(12<<2)|2,{50,58,0}}, +/* 5581 */ {(12<<2)|2,{50,58,0}}, +/* 5582 */ {(12<<2)|2,{50,58,0}}, +/* 5583 */ {(12<<2)|2,{50,58,0}}, +/* 5584 */ {(12<<2)|2,{50,66,0}}, +/* 5585 */ {(12<<2)|2,{50,66,0}}, +/* 5586 */ {(12<<2)|2,{50,66,0}}, +/* 5587 */ {(12<<2)|2,{50,66,0}}, +/* 5588 */ {(12<<2)|2,{50,66,0}}, +/* 5589 */ {(12<<2)|2,{50,66,0}}, +/* 5590 */ {(12<<2)|2,{50,66,0}}, +/* 5591 */ {(12<<2)|2,{50,66,0}}, +/* 5592 */ {(12<<2)|2,{50,66,0}}, +/* 5593 */ {(12<<2)|2,{50,66,0}}, +/* 5594 */ {(12<<2)|2,{50,66,0}}, +/* 5595 */ {(12<<2)|2,{50,66,0}}, +/* 5596 */ {(12<<2)|2,{50,66,0}}, +/* 5597 */ {(12<<2)|2,{50,66,0}}, +/* 5598 */ {(12<<2)|2,{50,66,0}}, +/* 5599 */ {(12<<2)|2,{50,66,0}}, +/* 5600 */ {(12<<2)|2,{50,67,0}}, +/* 5601 */ {(12<<2)|2,{50,67,0}}, +/* 5602 */ {(12<<2)|2,{50,67,0}}, +/* 5603 */ {(12<<2)|2,{50,67,0}}, +/* 5604 */ {(12<<2)|2,{50,67,0}}, +/* 5605 */ {(12<<2)|2,{50,67,0}}, +/* 5606 */ {(12<<2)|2,{50,67,0}}, +/* 5607 */ {(12<<2)|2,{50,67,0}}, +/* 5608 */ {(12<<2)|2,{50,67,0}}, +/* 5609 */ {(12<<2)|2,{50,67,0}}, +/* 5610 */ {(12<<2)|2,{50,67,0}}, +/* 5611 */ {(12<<2)|2,{50,67,0}}, +/* 5612 */ {(12<<2)|2,{50,67,0}}, +/* 5613 */ {(12<<2)|2,{50,67,0}}, +/* 5614 */ {(12<<2)|2,{50,67,0}}, +/* 5615 */ {(12<<2)|2,{50,67,0}}, +/* 5616 */ {(12<<2)|2,{50,68,0}}, +/* 5617 */ {(12<<2)|2,{50,68,0}}, +/* 5618 */ {(12<<2)|2,{50,68,0}}, +/* 5619 */ {(12<<2)|2,{50,68,0}}, +/* 5620 */ {(12<<2)|2,{50,68,0}}, +/* 5621 */ {(12<<2)|2,{50,68,0}}, +/* 5622 */ {(12<<2)|2,{50,68,0}}, +/* 5623 */ {(12<<2)|2,{50,68,0}}, +/* 5624 */ {(12<<2)|2,{50,68,0}}, +/* 5625 */ {(12<<2)|2,{50,68,0}}, +/* 5626 */ {(12<<2)|2,{50,68,0}}, +/* 5627 */ {(12<<2)|2,{50,68,0}}, +/* 5628 */ {(12<<2)|2,{50,68,0}}, +/* 5629 */ {(12<<2)|2,{50,68,0}}, +/* 5630 */ {(12<<2)|2,{50,68,0}}, +/* 5631 */ {(12<<2)|2,{50,68,0}}, +/* 5632 */ {(12<<2)|2,{50,69,0}}, +/* 5633 */ {(12<<2)|2,{50,69,0}}, +/* 5634 */ {(12<<2)|2,{50,69,0}}, +/* 5635 */ {(12<<2)|2,{50,69,0}}, +/* 5636 */ {(12<<2)|2,{50,69,0}}, +/* 5637 */ {(12<<2)|2,{50,69,0}}, +/* 5638 */ {(12<<2)|2,{50,69,0}}, +/* 5639 */ {(12<<2)|2,{50,69,0}}, +/* 5640 */ {(12<<2)|2,{50,69,0}}, +/* 5641 */ {(12<<2)|2,{50,69,0}}, +/* 5642 */ {(12<<2)|2,{50,69,0}}, +/* 5643 */ {(12<<2)|2,{50,69,0}}, +/* 5644 */ {(12<<2)|2,{50,69,0}}, +/* 5645 */ {(12<<2)|2,{50,69,0}}, +/* 5646 */ {(12<<2)|2,{50,69,0}}, +/* 5647 */ {(12<<2)|2,{50,69,0}}, +/* 5648 */ {(12<<2)|2,{50,70,0}}, +/* 5649 */ {(12<<2)|2,{50,70,0}}, +/* 5650 */ {(12<<2)|2,{50,70,0}}, +/* 5651 */ {(12<<2)|2,{50,70,0}}, +/* 5652 */ {(12<<2)|2,{50,70,0}}, +/* 5653 */ {(12<<2)|2,{50,70,0}}, +/* 5654 */ {(12<<2)|2,{50,70,0}}, +/* 5655 */ {(12<<2)|2,{50,70,0}}, +/* 5656 */ {(12<<2)|2,{50,70,0}}, +/* 5657 */ {(12<<2)|2,{50,70,0}}, +/* 5658 */ {(12<<2)|2,{50,70,0}}, +/* 5659 */ {(12<<2)|2,{50,70,0}}, +/* 5660 */ {(12<<2)|2,{50,70,0}}, +/* 5661 */ {(12<<2)|2,{50,70,0}}, +/* 5662 */ {(12<<2)|2,{50,70,0}}, +/* 5663 */ {(12<<2)|2,{50,70,0}}, +/* 5664 */ {(12<<2)|2,{50,71,0}}, +/* 5665 */ {(12<<2)|2,{50,71,0}}, +/* 5666 */ {(12<<2)|2,{50,71,0}}, +/* 5667 */ {(12<<2)|2,{50,71,0}}, +/* 5668 */ {(12<<2)|2,{50,71,0}}, +/* 5669 */ {(12<<2)|2,{50,71,0}}, +/* 5670 */ {(12<<2)|2,{50,71,0}}, +/* 5671 */ {(12<<2)|2,{50,71,0}}, +/* 5672 */ {(12<<2)|2,{50,71,0}}, +/* 5673 */ {(12<<2)|2,{50,71,0}}, +/* 5674 */ {(12<<2)|2,{50,71,0}}, +/* 5675 */ {(12<<2)|2,{50,71,0}}, +/* 5676 */ {(12<<2)|2,{50,71,0}}, +/* 5677 */ {(12<<2)|2,{50,71,0}}, +/* 5678 */ {(12<<2)|2,{50,71,0}}, +/* 5679 */ {(12<<2)|2,{50,71,0}}, +/* 5680 */ {(12<<2)|2,{50,72,0}}, +/* 5681 */ {(12<<2)|2,{50,72,0}}, +/* 5682 */ {(12<<2)|2,{50,72,0}}, +/* 5683 */ {(12<<2)|2,{50,72,0}}, +/* 5684 */ {(12<<2)|2,{50,72,0}}, +/* 5685 */ {(12<<2)|2,{50,72,0}}, +/* 5686 */ {(12<<2)|2,{50,72,0}}, +/* 5687 */ {(12<<2)|2,{50,72,0}}, +/* 5688 */ {(12<<2)|2,{50,72,0}}, +/* 5689 */ {(12<<2)|2,{50,72,0}}, +/* 5690 */ {(12<<2)|2,{50,72,0}}, +/* 5691 */ {(12<<2)|2,{50,72,0}}, +/* 5692 */ {(12<<2)|2,{50,72,0}}, +/* 5693 */ {(12<<2)|2,{50,72,0}}, +/* 5694 */ {(12<<2)|2,{50,72,0}}, +/* 5695 */ {(12<<2)|2,{50,72,0}}, +/* 5696 */ {(12<<2)|2,{50,73,0}}, +/* 5697 */ {(12<<2)|2,{50,73,0}}, +/* 5698 */ {(12<<2)|2,{50,73,0}}, +/* 5699 */ {(12<<2)|2,{50,73,0}}, +/* 5700 */ {(12<<2)|2,{50,73,0}}, +/* 5701 */ {(12<<2)|2,{50,73,0}}, +/* 5702 */ {(12<<2)|2,{50,73,0}}, +/* 5703 */ {(12<<2)|2,{50,73,0}}, +/* 5704 */ {(12<<2)|2,{50,73,0}}, +/* 5705 */ {(12<<2)|2,{50,73,0}}, +/* 5706 */ {(12<<2)|2,{50,73,0}}, +/* 5707 */ {(12<<2)|2,{50,73,0}}, +/* 5708 */ {(12<<2)|2,{50,73,0}}, +/* 5709 */ {(12<<2)|2,{50,73,0}}, +/* 5710 */ {(12<<2)|2,{50,73,0}}, +/* 5711 */ {(12<<2)|2,{50,73,0}}, +/* 5712 */ {(12<<2)|2,{50,74,0}}, +/* 5713 */ {(12<<2)|2,{50,74,0}}, +/* 5714 */ {(12<<2)|2,{50,74,0}}, +/* 5715 */ {(12<<2)|2,{50,74,0}}, +/* 5716 */ {(12<<2)|2,{50,74,0}}, +/* 5717 */ {(12<<2)|2,{50,74,0}}, +/* 5718 */ {(12<<2)|2,{50,74,0}}, +/* 5719 */ {(12<<2)|2,{50,74,0}}, +/* 5720 */ {(12<<2)|2,{50,74,0}}, +/* 5721 */ {(12<<2)|2,{50,74,0}}, +/* 5722 */ {(12<<2)|2,{50,74,0}}, +/* 5723 */ {(12<<2)|2,{50,74,0}}, +/* 5724 */ {(12<<2)|2,{50,74,0}}, +/* 5725 */ {(12<<2)|2,{50,74,0}}, +/* 5726 */ {(12<<2)|2,{50,74,0}}, +/* 5727 */ {(12<<2)|2,{50,74,0}}, +/* 5728 */ {(12<<2)|2,{50,75,0}}, +/* 5729 */ {(12<<2)|2,{50,75,0}}, +/* 5730 */ {(12<<2)|2,{50,75,0}}, +/* 5731 */ {(12<<2)|2,{50,75,0}}, +/* 5732 */ {(12<<2)|2,{50,75,0}}, +/* 5733 */ {(12<<2)|2,{50,75,0}}, +/* 5734 */ {(12<<2)|2,{50,75,0}}, +/* 5735 */ {(12<<2)|2,{50,75,0}}, +/* 5736 */ {(12<<2)|2,{50,75,0}}, +/* 5737 */ {(12<<2)|2,{50,75,0}}, +/* 5738 */ {(12<<2)|2,{50,75,0}}, +/* 5739 */ {(12<<2)|2,{50,75,0}}, +/* 5740 */ {(12<<2)|2,{50,75,0}}, +/* 5741 */ {(12<<2)|2,{50,75,0}}, +/* 5742 */ {(12<<2)|2,{50,75,0}}, +/* 5743 */ {(12<<2)|2,{50,75,0}}, +/* 5744 */ {(12<<2)|2,{50,76,0}}, +/* 5745 */ {(12<<2)|2,{50,76,0}}, +/* 5746 */ {(12<<2)|2,{50,76,0}}, +/* 5747 */ {(12<<2)|2,{50,76,0}}, +/* 5748 */ {(12<<2)|2,{50,76,0}}, +/* 5749 */ {(12<<2)|2,{50,76,0}}, +/* 5750 */ {(12<<2)|2,{50,76,0}}, +/* 5751 */ {(12<<2)|2,{50,76,0}}, +/* 5752 */ {(12<<2)|2,{50,76,0}}, +/* 5753 */ {(12<<2)|2,{50,76,0}}, +/* 5754 */ {(12<<2)|2,{50,76,0}}, +/* 5755 */ {(12<<2)|2,{50,76,0}}, +/* 5756 */ {(12<<2)|2,{50,76,0}}, +/* 5757 */ {(12<<2)|2,{50,76,0}}, +/* 5758 */ {(12<<2)|2,{50,76,0}}, +/* 5759 */ {(12<<2)|2,{50,76,0}}, +/* 5760 */ {(12<<2)|2,{50,77,0}}, +/* 5761 */ {(12<<2)|2,{50,77,0}}, +/* 5762 */ {(12<<2)|2,{50,77,0}}, +/* 5763 */ {(12<<2)|2,{50,77,0}}, +/* 5764 */ {(12<<2)|2,{50,77,0}}, +/* 5765 */ {(12<<2)|2,{50,77,0}}, +/* 5766 */ {(12<<2)|2,{50,77,0}}, +/* 5767 */ {(12<<2)|2,{50,77,0}}, +/* 5768 */ {(12<<2)|2,{50,77,0}}, +/* 5769 */ {(12<<2)|2,{50,77,0}}, +/* 5770 */ {(12<<2)|2,{50,77,0}}, +/* 5771 */ {(12<<2)|2,{50,77,0}}, +/* 5772 */ {(12<<2)|2,{50,77,0}}, +/* 5773 */ {(12<<2)|2,{50,77,0}}, +/* 5774 */ {(12<<2)|2,{50,77,0}}, +/* 5775 */ {(12<<2)|2,{50,77,0}}, +/* 5776 */ {(12<<2)|2,{50,78,0}}, +/* 5777 */ {(12<<2)|2,{50,78,0}}, +/* 5778 */ {(12<<2)|2,{50,78,0}}, +/* 5779 */ {(12<<2)|2,{50,78,0}}, +/* 5780 */ {(12<<2)|2,{50,78,0}}, +/* 5781 */ {(12<<2)|2,{50,78,0}}, +/* 5782 */ {(12<<2)|2,{50,78,0}}, +/* 5783 */ {(12<<2)|2,{50,78,0}}, +/* 5784 */ {(12<<2)|2,{50,78,0}}, +/* 5785 */ {(12<<2)|2,{50,78,0}}, +/* 5786 */ {(12<<2)|2,{50,78,0}}, +/* 5787 */ {(12<<2)|2,{50,78,0}}, +/* 5788 */ {(12<<2)|2,{50,78,0}}, +/* 5789 */ {(12<<2)|2,{50,78,0}}, +/* 5790 */ {(12<<2)|2,{50,78,0}}, +/* 5791 */ {(12<<2)|2,{50,78,0}}, +/* 5792 */ {(12<<2)|2,{50,79,0}}, +/* 5793 */ {(12<<2)|2,{50,79,0}}, +/* 5794 */ {(12<<2)|2,{50,79,0}}, +/* 5795 */ {(12<<2)|2,{50,79,0}}, +/* 5796 */ {(12<<2)|2,{50,79,0}}, +/* 5797 */ {(12<<2)|2,{50,79,0}}, +/* 5798 */ {(12<<2)|2,{50,79,0}}, +/* 5799 */ {(12<<2)|2,{50,79,0}}, +/* 5800 */ {(12<<2)|2,{50,79,0}}, +/* 5801 */ {(12<<2)|2,{50,79,0}}, +/* 5802 */ {(12<<2)|2,{50,79,0}}, +/* 5803 */ {(12<<2)|2,{50,79,0}}, +/* 5804 */ {(12<<2)|2,{50,79,0}}, +/* 5805 */ {(12<<2)|2,{50,79,0}}, +/* 5806 */ {(12<<2)|2,{50,79,0}}, +/* 5807 */ {(12<<2)|2,{50,79,0}}, +/* 5808 */ {(12<<2)|2,{50,80,0}}, +/* 5809 */ {(12<<2)|2,{50,80,0}}, +/* 5810 */ {(12<<2)|2,{50,80,0}}, +/* 5811 */ {(12<<2)|2,{50,80,0}}, +/* 5812 */ {(12<<2)|2,{50,80,0}}, +/* 5813 */ {(12<<2)|2,{50,80,0}}, +/* 5814 */ {(12<<2)|2,{50,80,0}}, +/* 5815 */ {(12<<2)|2,{50,80,0}}, +/* 5816 */ {(12<<2)|2,{50,80,0}}, +/* 5817 */ {(12<<2)|2,{50,80,0}}, +/* 5818 */ {(12<<2)|2,{50,80,0}}, +/* 5819 */ {(12<<2)|2,{50,80,0}}, +/* 5820 */ {(12<<2)|2,{50,80,0}}, +/* 5821 */ {(12<<2)|2,{50,80,0}}, +/* 5822 */ {(12<<2)|2,{50,80,0}}, +/* 5823 */ {(12<<2)|2,{50,80,0}}, +/* 5824 */ {(12<<2)|2,{50,81,0}}, +/* 5825 */ {(12<<2)|2,{50,81,0}}, +/* 5826 */ {(12<<2)|2,{50,81,0}}, +/* 5827 */ {(12<<2)|2,{50,81,0}}, +/* 5828 */ {(12<<2)|2,{50,81,0}}, +/* 5829 */ {(12<<2)|2,{50,81,0}}, +/* 5830 */ {(12<<2)|2,{50,81,0}}, +/* 5831 */ {(12<<2)|2,{50,81,0}}, +/* 5832 */ {(12<<2)|2,{50,81,0}}, +/* 5833 */ {(12<<2)|2,{50,81,0}}, +/* 5834 */ {(12<<2)|2,{50,81,0}}, +/* 5835 */ {(12<<2)|2,{50,81,0}}, +/* 5836 */ {(12<<2)|2,{50,81,0}}, +/* 5837 */ {(12<<2)|2,{50,81,0}}, +/* 5838 */ {(12<<2)|2,{50,81,0}}, +/* 5839 */ {(12<<2)|2,{50,81,0}}, +/* 5840 */ {(12<<2)|2,{50,82,0}}, +/* 5841 */ {(12<<2)|2,{50,82,0}}, +/* 5842 */ {(12<<2)|2,{50,82,0}}, +/* 5843 */ {(12<<2)|2,{50,82,0}}, +/* 5844 */ {(12<<2)|2,{50,82,0}}, +/* 5845 */ {(12<<2)|2,{50,82,0}}, +/* 5846 */ {(12<<2)|2,{50,82,0}}, +/* 5847 */ {(12<<2)|2,{50,82,0}}, +/* 5848 */ {(12<<2)|2,{50,82,0}}, +/* 5849 */ {(12<<2)|2,{50,82,0}}, +/* 5850 */ {(12<<2)|2,{50,82,0}}, +/* 5851 */ {(12<<2)|2,{50,82,0}}, +/* 5852 */ {(12<<2)|2,{50,82,0}}, +/* 5853 */ {(12<<2)|2,{50,82,0}}, +/* 5854 */ {(12<<2)|2,{50,82,0}}, +/* 5855 */ {(12<<2)|2,{50,82,0}}, +/* 5856 */ {(12<<2)|2,{50,83,0}}, +/* 5857 */ {(12<<2)|2,{50,83,0}}, +/* 5858 */ {(12<<2)|2,{50,83,0}}, +/* 5859 */ {(12<<2)|2,{50,83,0}}, +/* 5860 */ {(12<<2)|2,{50,83,0}}, +/* 5861 */ {(12<<2)|2,{50,83,0}}, +/* 5862 */ {(12<<2)|2,{50,83,0}}, +/* 5863 */ {(12<<2)|2,{50,83,0}}, +/* 5864 */ {(12<<2)|2,{50,83,0}}, +/* 5865 */ {(12<<2)|2,{50,83,0}}, +/* 5866 */ {(12<<2)|2,{50,83,0}}, +/* 5867 */ {(12<<2)|2,{50,83,0}}, +/* 5868 */ {(12<<2)|2,{50,83,0}}, +/* 5869 */ {(12<<2)|2,{50,83,0}}, +/* 5870 */ {(12<<2)|2,{50,83,0}}, +/* 5871 */ {(12<<2)|2,{50,83,0}}, +/* 5872 */ {(12<<2)|2,{50,84,0}}, +/* 5873 */ {(12<<2)|2,{50,84,0}}, +/* 5874 */ {(12<<2)|2,{50,84,0}}, +/* 5875 */ {(12<<2)|2,{50,84,0}}, +/* 5876 */ {(12<<2)|2,{50,84,0}}, +/* 5877 */ {(12<<2)|2,{50,84,0}}, +/* 5878 */ {(12<<2)|2,{50,84,0}}, +/* 5879 */ {(12<<2)|2,{50,84,0}}, +/* 5880 */ {(12<<2)|2,{50,84,0}}, +/* 5881 */ {(12<<2)|2,{50,84,0}}, +/* 5882 */ {(12<<2)|2,{50,84,0}}, +/* 5883 */ {(12<<2)|2,{50,84,0}}, +/* 5884 */ {(12<<2)|2,{50,84,0}}, +/* 5885 */ {(12<<2)|2,{50,84,0}}, +/* 5886 */ {(12<<2)|2,{50,84,0}}, +/* 5887 */ {(12<<2)|2,{50,84,0}}, +/* 5888 */ {(12<<2)|2,{50,85,0}}, +/* 5889 */ {(12<<2)|2,{50,85,0}}, +/* 5890 */ {(12<<2)|2,{50,85,0}}, +/* 5891 */ {(12<<2)|2,{50,85,0}}, +/* 5892 */ {(12<<2)|2,{50,85,0}}, +/* 5893 */ {(12<<2)|2,{50,85,0}}, +/* 5894 */ {(12<<2)|2,{50,85,0}}, +/* 5895 */ {(12<<2)|2,{50,85,0}}, +/* 5896 */ {(12<<2)|2,{50,85,0}}, +/* 5897 */ {(12<<2)|2,{50,85,0}}, +/* 5898 */ {(12<<2)|2,{50,85,0}}, +/* 5899 */ {(12<<2)|2,{50,85,0}}, +/* 5900 */ {(12<<2)|2,{50,85,0}}, +/* 5901 */ {(12<<2)|2,{50,85,0}}, +/* 5902 */ {(12<<2)|2,{50,85,0}}, +/* 5903 */ {(12<<2)|2,{50,85,0}}, +/* 5904 */ {(12<<2)|2,{50,86,0}}, +/* 5905 */ {(12<<2)|2,{50,86,0}}, +/* 5906 */ {(12<<2)|2,{50,86,0}}, +/* 5907 */ {(12<<2)|2,{50,86,0}}, +/* 5908 */ {(12<<2)|2,{50,86,0}}, +/* 5909 */ {(12<<2)|2,{50,86,0}}, +/* 5910 */ {(12<<2)|2,{50,86,0}}, +/* 5911 */ {(12<<2)|2,{50,86,0}}, +/* 5912 */ {(12<<2)|2,{50,86,0}}, +/* 5913 */ {(12<<2)|2,{50,86,0}}, +/* 5914 */ {(12<<2)|2,{50,86,0}}, +/* 5915 */ {(12<<2)|2,{50,86,0}}, +/* 5916 */ {(12<<2)|2,{50,86,0}}, +/* 5917 */ {(12<<2)|2,{50,86,0}}, +/* 5918 */ {(12<<2)|2,{50,86,0}}, +/* 5919 */ {(12<<2)|2,{50,86,0}}, +/* 5920 */ {(12<<2)|2,{50,87,0}}, +/* 5921 */ {(12<<2)|2,{50,87,0}}, +/* 5922 */ {(12<<2)|2,{50,87,0}}, +/* 5923 */ {(12<<2)|2,{50,87,0}}, +/* 5924 */ {(12<<2)|2,{50,87,0}}, +/* 5925 */ {(12<<2)|2,{50,87,0}}, +/* 5926 */ {(12<<2)|2,{50,87,0}}, +/* 5927 */ {(12<<2)|2,{50,87,0}}, +/* 5928 */ {(12<<2)|2,{50,87,0}}, +/* 5929 */ {(12<<2)|2,{50,87,0}}, +/* 5930 */ {(12<<2)|2,{50,87,0}}, +/* 5931 */ {(12<<2)|2,{50,87,0}}, +/* 5932 */ {(12<<2)|2,{50,87,0}}, +/* 5933 */ {(12<<2)|2,{50,87,0}}, +/* 5934 */ {(12<<2)|2,{50,87,0}}, +/* 5935 */ {(12<<2)|2,{50,87,0}}, +/* 5936 */ {(12<<2)|2,{50,89,0}}, +/* 5937 */ {(12<<2)|2,{50,89,0}}, +/* 5938 */ {(12<<2)|2,{50,89,0}}, +/* 5939 */ {(12<<2)|2,{50,89,0}}, +/* 5940 */ {(12<<2)|2,{50,89,0}}, +/* 5941 */ {(12<<2)|2,{50,89,0}}, +/* 5942 */ {(12<<2)|2,{50,89,0}}, +/* 5943 */ {(12<<2)|2,{50,89,0}}, +/* 5944 */ {(12<<2)|2,{50,89,0}}, +/* 5945 */ {(12<<2)|2,{50,89,0}}, +/* 5946 */ {(12<<2)|2,{50,89,0}}, +/* 5947 */ {(12<<2)|2,{50,89,0}}, +/* 5948 */ {(12<<2)|2,{50,89,0}}, +/* 5949 */ {(12<<2)|2,{50,89,0}}, +/* 5950 */ {(12<<2)|2,{50,89,0}}, +/* 5951 */ {(12<<2)|2,{50,89,0}}, +/* 5952 */ {(12<<2)|2,{50,106,0}}, +/* 5953 */ {(12<<2)|2,{50,106,0}}, +/* 5954 */ {(12<<2)|2,{50,106,0}}, +/* 5955 */ {(12<<2)|2,{50,106,0}}, +/* 5956 */ {(12<<2)|2,{50,106,0}}, +/* 5957 */ {(12<<2)|2,{50,106,0}}, +/* 5958 */ {(12<<2)|2,{50,106,0}}, +/* 5959 */ {(12<<2)|2,{50,106,0}}, +/* 5960 */ {(12<<2)|2,{50,106,0}}, +/* 5961 */ {(12<<2)|2,{50,106,0}}, +/* 5962 */ {(12<<2)|2,{50,106,0}}, +/* 5963 */ {(12<<2)|2,{50,106,0}}, +/* 5964 */ {(12<<2)|2,{50,106,0}}, +/* 5965 */ {(12<<2)|2,{50,106,0}}, +/* 5966 */ {(12<<2)|2,{50,106,0}}, +/* 5967 */ {(12<<2)|2,{50,106,0}}, +/* 5968 */ {(12<<2)|2,{50,107,0}}, +/* 5969 */ {(12<<2)|2,{50,107,0}}, +/* 5970 */ {(12<<2)|2,{50,107,0}}, +/* 5971 */ {(12<<2)|2,{50,107,0}}, +/* 5972 */ {(12<<2)|2,{50,107,0}}, +/* 5973 */ {(12<<2)|2,{50,107,0}}, +/* 5974 */ {(12<<2)|2,{50,107,0}}, +/* 5975 */ {(12<<2)|2,{50,107,0}}, +/* 5976 */ {(12<<2)|2,{50,107,0}}, +/* 5977 */ {(12<<2)|2,{50,107,0}}, +/* 5978 */ {(12<<2)|2,{50,107,0}}, +/* 5979 */ {(12<<2)|2,{50,107,0}}, +/* 5980 */ {(12<<2)|2,{50,107,0}}, +/* 5981 */ {(12<<2)|2,{50,107,0}}, +/* 5982 */ {(12<<2)|2,{50,107,0}}, +/* 5983 */ {(12<<2)|2,{50,107,0}}, +/* 5984 */ {(12<<2)|2,{50,113,0}}, +/* 5985 */ {(12<<2)|2,{50,113,0}}, +/* 5986 */ {(12<<2)|2,{50,113,0}}, +/* 5987 */ {(12<<2)|2,{50,113,0}}, +/* 5988 */ {(12<<2)|2,{50,113,0}}, +/* 5989 */ {(12<<2)|2,{50,113,0}}, +/* 5990 */ {(12<<2)|2,{50,113,0}}, +/* 5991 */ {(12<<2)|2,{50,113,0}}, +/* 5992 */ {(12<<2)|2,{50,113,0}}, +/* 5993 */ {(12<<2)|2,{50,113,0}}, +/* 5994 */ {(12<<2)|2,{50,113,0}}, +/* 5995 */ {(12<<2)|2,{50,113,0}}, +/* 5996 */ {(12<<2)|2,{50,113,0}}, +/* 5997 */ {(12<<2)|2,{50,113,0}}, +/* 5998 */ {(12<<2)|2,{50,113,0}}, +/* 5999 */ {(12<<2)|2,{50,113,0}}, +/* 6000 */ {(12<<2)|2,{50,118,0}}, +/* 6001 */ {(12<<2)|2,{50,118,0}}, +/* 6002 */ {(12<<2)|2,{50,118,0}}, +/* 6003 */ {(12<<2)|2,{50,118,0}}, +/* 6004 */ {(12<<2)|2,{50,118,0}}, +/* 6005 */ {(12<<2)|2,{50,118,0}}, +/* 6006 */ {(12<<2)|2,{50,118,0}}, +/* 6007 */ {(12<<2)|2,{50,118,0}}, +/* 6008 */ {(12<<2)|2,{50,118,0}}, +/* 6009 */ {(12<<2)|2,{50,118,0}}, +/* 6010 */ {(12<<2)|2,{50,118,0}}, +/* 6011 */ {(12<<2)|2,{50,118,0}}, +/* 6012 */ {(12<<2)|2,{50,118,0}}, +/* 6013 */ {(12<<2)|2,{50,118,0}}, +/* 6014 */ {(12<<2)|2,{50,118,0}}, +/* 6015 */ {(12<<2)|2,{50,118,0}}, +/* 6016 */ {(12<<2)|2,{50,119,0}}, +/* 6017 */ {(12<<2)|2,{50,119,0}}, +/* 6018 */ {(12<<2)|2,{50,119,0}}, +/* 6019 */ {(12<<2)|2,{50,119,0}}, +/* 6020 */ {(12<<2)|2,{50,119,0}}, +/* 6021 */ {(12<<2)|2,{50,119,0}}, +/* 6022 */ {(12<<2)|2,{50,119,0}}, +/* 6023 */ {(12<<2)|2,{50,119,0}}, +/* 6024 */ {(12<<2)|2,{50,119,0}}, +/* 6025 */ {(12<<2)|2,{50,119,0}}, +/* 6026 */ {(12<<2)|2,{50,119,0}}, +/* 6027 */ {(12<<2)|2,{50,119,0}}, +/* 6028 */ {(12<<2)|2,{50,119,0}}, +/* 6029 */ {(12<<2)|2,{50,119,0}}, +/* 6030 */ {(12<<2)|2,{50,119,0}}, +/* 6031 */ {(12<<2)|2,{50,119,0}}, +/* 6032 */ {(12<<2)|2,{50,120,0}}, +/* 6033 */ {(12<<2)|2,{50,120,0}}, +/* 6034 */ {(12<<2)|2,{50,120,0}}, +/* 6035 */ {(12<<2)|2,{50,120,0}}, +/* 6036 */ {(12<<2)|2,{50,120,0}}, +/* 6037 */ {(12<<2)|2,{50,120,0}}, +/* 6038 */ {(12<<2)|2,{50,120,0}}, +/* 6039 */ {(12<<2)|2,{50,120,0}}, +/* 6040 */ {(12<<2)|2,{50,120,0}}, +/* 6041 */ {(12<<2)|2,{50,120,0}}, +/* 6042 */ {(12<<2)|2,{50,120,0}}, +/* 6043 */ {(12<<2)|2,{50,120,0}}, +/* 6044 */ {(12<<2)|2,{50,120,0}}, +/* 6045 */ {(12<<2)|2,{50,120,0}}, +/* 6046 */ {(12<<2)|2,{50,120,0}}, +/* 6047 */ {(12<<2)|2,{50,120,0}}, +/* 6048 */ {(12<<2)|2,{50,121,0}}, +/* 6049 */ {(12<<2)|2,{50,121,0}}, +/* 6050 */ {(12<<2)|2,{50,121,0}}, +/* 6051 */ {(12<<2)|2,{50,121,0}}, +/* 6052 */ {(12<<2)|2,{50,121,0}}, +/* 6053 */ {(12<<2)|2,{50,121,0}}, +/* 6054 */ {(12<<2)|2,{50,121,0}}, +/* 6055 */ {(12<<2)|2,{50,121,0}}, +/* 6056 */ {(12<<2)|2,{50,121,0}}, +/* 6057 */ {(12<<2)|2,{50,121,0}}, +/* 6058 */ {(12<<2)|2,{50,121,0}}, +/* 6059 */ {(12<<2)|2,{50,121,0}}, +/* 6060 */ {(12<<2)|2,{50,121,0}}, +/* 6061 */ {(12<<2)|2,{50,121,0}}, +/* 6062 */ {(12<<2)|2,{50,121,0}}, +/* 6063 */ {(12<<2)|2,{50,121,0}}, +/* 6064 */ {(12<<2)|2,{50,122,0}}, +/* 6065 */ {(12<<2)|2,{50,122,0}}, +/* 6066 */ {(12<<2)|2,{50,122,0}}, +/* 6067 */ {(12<<2)|2,{50,122,0}}, +/* 6068 */ {(12<<2)|2,{50,122,0}}, +/* 6069 */ {(12<<2)|2,{50,122,0}}, +/* 6070 */ {(12<<2)|2,{50,122,0}}, +/* 6071 */ {(12<<2)|2,{50,122,0}}, +/* 6072 */ {(12<<2)|2,{50,122,0}}, +/* 6073 */ {(12<<2)|2,{50,122,0}}, +/* 6074 */ {(12<<2)|2,{50,122,0}}, +/* 6075 */ {(12<<2)|2,{50,122,0}}, +/* 6076 */ {(12<<2)|2,{50,122,0}}, +/* 6077 */ {(12<<2)|2,{50,122,0}}, +/* 6078 */ {(12<<2)|2,{50,122,0}}, +/* 6079 */ {(12<<2)|2,{50,122,0}}, +/* 6080 */ {(13<<2)|2,{50,38,0}}, +/* 6081 */ {(13<<2)|2,{50,38,0}}, +/* 6082 */ {(13<<2)|2,{50,38,0}}, +/* 6083 */ {(13<<2)|2,{50,38,0}}, +/* 6084 */ {(13<<2)|2,{50,38,0}}, +/* 6085 */ {(13<<2)|2,{50,38,0}}, +/* 6086 */ {(13<<2)|2,{50,38,0}}, +/* 6087 */ {(13<<2)|2,{50,38,0}}, +/* 6088 */ {(13<<2)|2,{50,42,0}}, +/* 6089 */ {(13<<2)|2,{50,42,0}}, +/* 6090 */ {(13<<2)|2,{50,42,0}}, +/* 6091 */ {(13<<2)|2,{50,42,0}}, +/* 6092 */ {(13<<2)|2,{50,42,0}}, +/* 6093 */ {(13<<2)|2,{50,42,0}}, +/* 6094 */ {(13<<2)|2,{50,42,0}}, +/* 6095 */ {(13<<2)|2,{50,42,0}}, +/* 6096 */ {(13<<2)|2,{50,44,0}}, +/* 6097 */ {(13<<2)|2,{50,44,0}}, +/* 6098 */ {(13<<2)|2,{50,44,0}}, +/* 6099 */ {(13<<2)|2,{50,44,0}}, +/* 6100 */ {(13<<2)|2,{50,44,0}}, +/* 6101 */ {(13<<2)|2,{50,44,0}}, +/* 6102 */ {(13<<2)|2,{50,44,0}}, +/* 6103 */ {(13<<2)|2,{50,44,0}}, +/* 6104 */ {(13<<2)|2,{50,59,0}}, +/* 6105 */ {(13<<2)|2,{50,59,0}}, +/* 6106 */ {(13<<2)|2,{50,59,0}}, +/* 6107 */ {(13<<2)|2,{50,59,0}}, +/* 6108 */ {(13<<2)|2,{50,59,0}}, +/* 6109 */ {(13<<2)|2,{50,59,0}}, +/* 6110 */ {(13<<2)|2,{50,59,0}}, +/* 6111 */ {(13<<2)|2,{50,59,0}}, +/* 6112 */ {(13<<2)|2,{50,88,0}}, +/* 6113 */ {(13<<2)|2,{50,88,0}}, +/* 6114 */ {(13<<2)|2,{50,88,0}}, +/* 6115 */ {(13<<2)|2,{50,88,0}}, +/* 6116 */ {(13<<2)|2,{50,88,0}}, +/* 6117 */ {(13<<2)|2,{50,88,0}}, +/* 6118 */ {(13<<2)|2,{50,88,0}}, +/* 6119 */ {(13<<2)|2,{50,88,0}}, +/* 6120 */ {(13<<2)|2,{50,90,0}}, +/* 6121 */ {(13<<2)|2,{50,90,0}}, +/* 6122 */ {(13<<2)|2,{50,90,0}}, +/* 6123 */ {(13<<2)|2,{50,90,0}}, +/* 6124 */ {(13<<2)|2,{50,90,0}}, +/* 6125 */ {(13<<2)|2,{50,90,0}}, +/* 6126 */ {(13<<2)|2,{50,90,0}}, +/* 6127 */ {(13<<2)|2,{50,90,0}}, +/* 6128 */ {(15<<2)|2,{50,33,0}}, +/* 6129 */ {(15<<2)|2,{50,33,0}}, +/* 6130 */ {(15<<2)|2,{50,34,0}}, +/* 6131 */ {(15<<2)|2,{50,34,0}}, +/* 6132 */ {(15<<2)|2,{50,40,0}}, +/* 6133 */ {(15<<2)|2,{50,40,0}}, +/* 6134 */ {(15<<2)|2,{50,41,0}}, +/* 6135 */ {(15<<2)|2,{50,41,0}}, +/* 6136 */ {(15<<2)|2,{50,63,0}}, +/* 6137 */ {(15<<2)|2,{50,63,0}}, +/* 6138 */ {(16<<2)|2,{50,39,0}}, +/* 6139 */ {(16<<2)|2,{50,43,0}}, +/* 6140 */ {(16<<2)|2,{50,124,0}}, +/* 6141 */ {(5<<2)|1,{50,0,0}}, +/* 6142 */ {(5<<2)|1,{50,0,0}}, +/* 6143 */ {(5<<2)|1,{50,0,0}}, +/* 6144 */ {(15<<2)|3,{97,48,48}}, +/* 6145 */ {(15<<2)|3,{97,48,48}}, +/* 6146 */ {(15<<2)|3,{97,48,49}}, +/* 6147 */ {(15<<2)|3,{97,48,49}}, +/* 6148 */ {(15<<2)|3,{97,48,50}}, +/* 6149 */ {(15<<2)|3,{97,48,50}}, +/* 6150 */ {(15<<2)|3,{97,48,97}}, +/* 6151 */ {(15<<2)|3,{97,48,97}}, +/* 6152 */ {(15<<2)|3,{97,48,99}}, +/* 6153 */ {(15<<2)|3,{97,48,99}}, +/* 6154 */ {(15<<2)|3,{97,48,101}}, +/* 6155 */ {(15<<2)|3,{97,48,101}}, +/* 6156 */ {(15<<2)|3,{97,48,105}}, +/* 6157 */ {(15<<2)|3,{97,48,105}}, +/* 6158 */ {(15<<2)|3,{97,48,111}}, +/* 6159 */ {(15<<2)|3,{97,48,111}}, +/* 6160 */ {(15<<2)|3,{97,48,115}}, +/* 6161 */ {(15<<2)|3,{97,48,115}}, +/* 6162 */ {(15<<2)|3,{97,48,116}}, +/* 6163 */ {(15<<2)|3,{97,48,116}}, +/* 6164 */ {(16<<2)|3,{97,48,32}}, +/* 6165 */ {(16<<2)|3,{97,48,37}}, +/* 6166 */ {(16<<2)|3,{97,48,45}}, +/* 6167 */ {(16<<2)|3,{97,48,46}}, +/* 6168 */ {(16<<2)|3,{97,48,47}}, +/* 6169 */ {(16<<2)|3,{97,48,51}}, +/* 6170 */ {(16<<2)|3,{97,48,52}}, +/* 6171 */ {(16<<2)|3,{97,48,53}}, +/* 6172 */ {(16<<2)|3,{97,48,54}}, +/* 6173 */ {(16<<2)|3,{97,48,55}}, +/* 6174 */ {(16<<2)|3,{97,48,56}}, +/* 6175 */ {(16<<2)|3,{97,48,57}}, +/* 6176 */ {(16<<2)|3,{97,48,61}}, +/* 6177 */ {(16<<2)|3,{97,48,65}}, +/* 6178 */ {(16<<2)|3,{97,48,95}}, +/* 6179 */ {(16<<2)|3,{97,48,98}}, +/* 6180 */ {(16<<2)|3,{97,48,100}}, +/* 6181 */ {(16<<2)|3,{97,48,102}}, +/* 6182 */ {(16<<2)|3,{97,48,103}}, +/* 6183 */ {(16<<2)|3,{97,48,104}}, +/* 6184 */ {(16<<2)|3,{97,48,108}}, +/* 6185 */ {(16<<2)|3,{97,48,109}}, +/* 6186 */ {(16<<2)|3,{97,48,110}}, +/* 6187 */ {(16<<2)|3,{97,48,112}}, +/* 6188 */ {(16<<2)|3,{97,48,114}}, +/* 6189 */ {(16<<2)|3,{97,48,117}}, +/* 6190 */ {(10<<2)|2,{97,48,0}}, +/* 6191 */ {(10<<2)|2,{97,48,0}}, +/* 6192 */ {(10<<2)|2,{97,48,0}}, +/* 6193 */ {(10<<2)|2,{97,48,0}}, +/* 6194 */ {(10<<2)|2,{97,48,0}}, +/* 6195 */ {(10<<2)|2,{97,48,0}}, +/* 6196 */ {(10<<2)|2,{97,48,0}}, +/* 6197 */ {(10<<2)|2,{97,48,0}}, +/* 6198 */ {(10<<2)|2,{97,48,0}}, +/* 6199 */ {(10<<2)|2,{97,48,0}}, +/* 6200 */ {(10<<2)|2,{97,48,0}}, +/* 6201 */ {(10<<2)|2,{97,48,0}}, +/* 6202 */ {(10<<2)|2,{97,48,0}}, +/* 6203 */ {(10<<2)|2,{97,48,0}}, +/* 6204 */ {(10<<2)|2,{97,48,0}}, +/* 6205 */ {(10<<2)|2,{97,48,0}}, +/* 6206 */ {(10<<2)|2,{97,48,0}}, +/* 6207 */ {(10<<2)|2,{97,48,0}}, +/* 6208 */ {(15<<2)|3,{97,49,48}}, +/* 6209 */ {(15<<2)|3,{97,49,48}}, +/* 6210 */ {(15<<2)|3,{97,49,49}}, +/* 6211 */ {(15<<2)|3,{97,49,49}}, +/* 6212 */ {(15<<2)|3,{97,49,50}}, +/* 6213 */ {(15<<2)|3,{97,49,50}}, +/* 6214 */ {(15<<2)|3,{97,49,97}}, +/* 6215 */ {(15<<2)|3,{97,49,97}}, +/* 6216 */ {(15<<2)|3,{97,49,99}}, +/* 6217 */ {(15<<2)|3,{97,49,99}}, +/* 6218 */ {(15<<2)|3,{97,49,101}}, +/* 6219 */ {(15<<2)|3,{97,49,101}}, +/* 6220 */ {(15<<2)|3,{97,49,105}}, +/* 6221 */ {(15<<2)|3,{97,49,105}}, +/* 6222 */ {(15<<2)|3,{97,49,111}}, +/* 6223 */ {(15<<2)|3,{97,49,111}}, +/* 6224 */ {(15<<2)|3,{97,49,115}}, +/* 6225 */ {(15<<2)|3,{97,49,115}}, +/* 6226 */ {(15<<2)|3,{97,49,116}}, +/* 6227 */ {(15<<2)|3,{97,49,116}}, +/* 6228 */ {(16<<2)|3,{97,49,32}}, +/* 6229 */ {(16<<2)|3,{97,49,37}}, +/* 6230 */ {(16<<2)|3,{97,49,45}}, +/* 6231 */ {(16<<2)|3,{97,49,46}}, +/* 6232 */ {(16<<2)|3,{97,49,47}}, +/* 6233 */ {(16<<2)|3,{97,49,51}}, +/* 6234 */ {(16<<2)|3,{97,49,52}}, +/* 6235 */ {(16<<2)|3,{97,49,53}}, +/* 6236 */ {(16<<2)|3,{97,49,54}}, +/* 6237 */ {(16<<2)|3,{97,49,55}}, +/* 6238 */ {(16<<2)|3,{97,49,56}}, +/* 6239 */ {(16<<2)|3,{97,49,57}}, +/* 6240 */ {(16<<2)|3,{97,49,61}}, +/* 6241 */ {(16<<2)|3,{97,49,65}}, +/* 6242 */ {(16<<2)|3,{97,49,95}}, +/* 6243 */ {(16<<2)|3,{97,49,98}}, +/* 6244 */ {(16<<2)|3,{97,49,100}}, +/* 6245 */ {(16<<2)|3,{97,49,102}}, +/* 6246 */ {(16<<2)|3,{97,49,103}}, +/* 6247 */ {(16<<2)|3,{97,49,104}}, +/* 6248 */ {(16<<2)|3,{97,49,108}}, +/* 6249 */ {(16<<2)|3,{97,49,109}}, +/* 6250 */ {(16<<2)|3,{97,49,110}}, +/* 6251 */ {(16<<2)|3,{97,49,112}}, +/* 6252 */ {(16<<2)|3,{97,49,114}}, +/* 6253 */ {(16<<2)|3,{97,49,117}}, +/* 6254 */ {(10<<2)|2,{97,49,0}}, +/* 6255 */ {(10<<2)|2,{97,49,0}}, +/* 6256 */ {(10<<2)|2,{97,49,0}}, +/* 6257 */ {(10<<2)|2,{97,49,0}}, +/* 6258 */ {(10<<2)|2,{97,49,0}}, +/* 6259 */ {(10<<2)|2,{97,49,0}}, +/* 6260 */ {(10<<2)|2,{97,49,0}}, +/* 6261 */ {(10<<2)|2,{97,49,0}}, +/* 6262 */ {(10<<2)|2,{97,49,0}}, +/* 6263 */ {(10<<2)|2,{97,49,0}}, +/* 6264 */ {(10<<2)|2,{97,49,0}}, +/* 6265 */ {(10<<2)|2,{97,49,0}}, +/* 6266 */ {(10<<2)|2,{97,49,0}}, +/* 6267 */ {(10<<2)|2,{97,49,0}}, +/* 6268 */ {(10<<2)|2,{97,49,0}}, +/* 6269 */ {(10<<2)|2,{97,49,0}}, +/* 6270 */ {(10<<2)|2,{97,49,0}}, +/* 6271 */ {(10<<2)|2,{97,49,0}}, +/* 6272 */ {(15<<2)|3,{97,50,48}}, +/* 6273 */ {(15<<2)|3,{97,50,48}}, +/* 6274 */ {(15<<2)|3,{97,50,49}}, +/* 6275 */ {(15<<2)|3,{97,50,49}}, +/* 6276 */ {(15<<2)|3,{97,50,50}}, +/* 6277 */ {(15<<2)|3,{97,50,50}}, +/* 6278 */ {(15<<2)|3,{97,50,97}}, +/* 6279 */ {(15<<2)|3,{97,50,97}}, +/* 6280 */ {(15<<2)|3,{97,50,99}}, +/* 6281 */ {(15<<2)|3,{97,50,99}}, +/* 6282 */ {(15<<2)|3,{97,50,101}}, +/* 6283 */ {(15<<2)|3,{97,50,101}}, +/* 6284 */ {(15<<2)|3,{97,50,105}}, +/* 6285 */ {(15<<2)|3,{97,50,105}}, +/* 6286 */ {(15<<2)|3,{97,50,111}}, +/* 6287 */ {(15<<2)|3,{97,50,111}}, +/* 6288 */ {(15<<2)|3,{97,50,115}}, +/* 6289 */ {(15<<2)|3,{97,50,115}}, +/* 6290 */ {(15<<2)|3,{97,50,116}}, +/* 6291 */ {(15<<2)|3,{97,50,116}}, +/* 6292 */ {(16<<2)|3,{97,50,32}}, +/* 6293 */ {(16<<2)|3,{97,50,37}}, +/* 6294 */ {(16<<2)|3,{97,50,45}}, +/* 6295 */ {(16<<2)|3,{97,50,46}}, +/* 6296 */ {(16<<2)|3,{97,50,47}}, +/* 6297 */ {(16<<2)|3,{97,50,51}}, +/* 6298 */ {(16<<2)|3,{97,50,52}}, +/* 6299 */ {(16<<2)|3,{97,50,53}}, +/* 6300 */ {(16<<2)|3,{97,50,54}}, +/* 6301 */ {(16<<2)|3,{97,50,55}}, +/* 6302 */ {(16<<2)|3,{97,50,56}}, +/* 6303 */ {(16<<2)|3,{97,50,57}}, +/* 6304 */ {(16<<2)|3,{97,50,61}}, +/* 6305 */ {(16<<2)|3,{97,50,65}}, +/* 6306 */ {(16<<2)|3,{97,50,95}}, +/* 6307 */ {(16<<2)|3,{97,50,98}}, +/* 6308 */ {(16<<2)|3,{97,50,100}}, +/* 6309 */ {(16<<2)|3,{97,50,102}}, +/* 6310 */ {(16<<2)|3,{97,50,103}}, +/* 6311 */ {(16<<2)|3,{97,50,104}}, +/* 6312 */ {(16<<2)|3,{97,50,108}}, +/* 6313 */ {(16<<2)|3,{97,50,109}}, +/* 6314 */ {(16<<2)|3,{97,50,110}}, +/* 6315 */ {(16<<2)|3,{97,50,112}}, +/* 6316 */ {(16<<2)|3,{97,50,114}}, +/* 6317 */ {(16<<2)|3,{97,50,117}}, +/* 6318 */ {(10<<2)|2,{97,50,0}}, +/* 6319 */ {(10<<2)|2,{97,50,0}}, +/* 6320 */ {(10<<2)|2,{97,50,0}}, +/* 6321 */ {(10<<2)|2,{97,50,0}}, +/* 6322 */ {(10<<2)|2,{97,50,0}}, +/* 6323 */ {(10<<2)|2,{97,50,0}}, +/* 6324 */ {(10<<2)|2,{97,50,0}}, +/* 6325 */ {(10<<2)|2,{97,50,0}}, +/* 6326 */ {(10<<2)|2,{97,50,0}}, +/* 6327 */ {(10<<2)|2,{97,50,0}}, +/* 6328 */ {(10<<2)|2,{97,50,0}}, +/* 6329 */ {(10<<2)|2,{97,50,0}}, +/* 6330 */ {(10<<2)|2,{97,50,0}}, +/* 6331 */ {(10<<2)|2,{97,50,0}}, +/* 6332 */ {(10<<2)|2,{97,50,0}}, +/* 6333 */ {(10<<2)|2,{97,50,0}}, +/* 6334 */ {(10<<2)|2,{97,50,0}}, +/* 6335 */ {(10<<2)|2,{97,50,0}}, +/* 6336 */ {(15<<2)|3,{97,97,48}}, +/* 6337 */ {(15<<2)|3,{97,97,48}}, +/* 6338 */ {(15<<2)|3,{97,97,49}}, +/* 6339 */ {(15<<2)|3,{97,97,49}}, +/* 6340 */ {(15<<2)|3,{97,97,50}}, +/* 6341 */ {(15<<2)|3,{97,97,50}}, +/* 6342 */ {(15<<2)|3,{97,97,97}}, +/* 6343 */ {(15<<2)|3,{97,97,97}}, +/* 6344 */ {(15<<2)|3,{97,97,99}}, +/* 6345 */ {(15<<2)|3,{97,97,99}}, +/* 6346 */ {(15<<2)|3,{97,97,101}}, +/* 6347 */ {(15<<2)|3,{97,97,101}}, +/* 6348 */ {(15<<2)|3,{97,97,105}}, +/* 6349 */ {(15<<2)|3,{97,97,105}}, +/* 6350 */ {(15<<2)|3,{97,97,111}}, +/* 6351 */ {(15<<2)|3,{97,97,111}}, +/* 6352 */ {(15<<2)|3,{97,97,115}}, +/* 6353 */ {(15<<2)|3,{97,97,115}}, +/* 6354 */ {(15<<2)|3,{97,97,116}}, +/* 6355 */ {(15<<2)|3,{97,97,116}}, +/* 6356 */ {(16<<2)|3,{97,97,32}}, +/* 6357 */ {(16<<2)|3,{97,97,37}}, +/* 6358 */ {(16<<2)|3,{97,97,45}}, +/* 6359 */ {(16<<2)|3,{97,97,46}}, +/* 6360 */ {(16<<2)|3,{97,97,47}}, +/* 6361 */ {(16<<2)|3,{97,97,51}}, +/* 6362 */ {(16<<2)|3,{97,97,52}}, +/* 6363 */ {(16<<2)|3,{97,97,53}}, +/* 6364 */ {(16<<2)|3,{97,97,54}}, +/* 6365 */ {(16<<2)|3,{97,97,55}}, +/* 6366 */ {(16<<2)|3,{97,97,56}}, +/* 6367 */ {(16<<2)|3,{97,97,57}}, +/* 6368 */ {(16<<2)|3,{97,97,61}}, +/* 6369 */ {(16<<2)|3,{97,97,65}}, +/* 6370 */ {(16<<2)|3,{97,97,95}}, +/* 6371 */ {(16<<2)|3,{97,97,98}}, +/* 6372 */ {(16<<2)|3,{97,97,100}}, +/* 6373 */ {(16<<2)|3,{97,97,102}}, +/* 6374 */ {(16<<2)|3,{97,97,103}}, +/* 6375 */ {(16<<2)|3,{97,97,104}}, +/* 6376 */ {(16<<2)|3,{97,97,108}}, +/* 6377 */ {(16<<2)|3,{97,97,109}}, +/* 6378 */ {(16<<2)|3,{97,97,110}}, +/* 6379 */ {(16<<2)|3,{97,97,112}}, +/* 6380 */ {(16<<2)|3,{97,97,114}}, +/* 6381 */ {(16<<2)|3,{97,97,117}}, +/* 6382 */ {(10<<2)|2,{97,97,0}}, +/* 6383 */ {(10<<2)|2,{97,97,0}}, +/* 6384 */ {(10<<2)|2,{97,97,0}}, +/* 6385 */ {(10<<2)|2,{97,97,0}}, +/* 6386 */ {(10<<2)|2,{97,97,0}}, +/* 6387 */ {(10<<2)|2,{97,97,0}}, +/* 6388 */ {(10<<2)|2,{97,97,0}}, +/* 6389 */ {(10<<2)|2,{97,97,0}}, +/* 6390 */ {(10<<2)|2,{97,97,0}}, +/* 6391 */ {(10<<2)|2,{97,97,0}}, +/* 6392 */ {(10<<2)|2,{97,97,0}}, +/* 6393 */ {(10<<2)|2,{97,97,0}}, +/* 6394 */ {(10<<2)|2,{97,97,0}}, +/* 6395 */ {(10<<2)|2,{97,97,0}}, +/* 6396 */ {(10<<2)|2,{97,97,0}}, +/* 6397 */ {(10<<2)|2,{97,97,0}}, +/* 6398 */ {(10<<2)|2,{97,97,0}}, +/* 6399 */ {(10<<2)|2,{97,97,0}}, +/* 6400 */ {(15<<2)|3,{97,99,48}}, +/* 6401 */ {(15<<2)|3,{97,99,48}}, +/* 6402 */ {(15<<2)|3,{97,99,49}}, +/* 6403 */ {(15<<2)|3,{97,99,49}}, +/* 6404 */ {(15<<2)|3,{97,99,50}}, +/* 6405 */ {(15<<2)|3,{97,99,50}}, +/* 6406 */ {(15<<2)|3,{97,99,97}}, +/* 6407 */ {(15<<2)|3,{97,99,97}}, +/* 6408 */ {(15<<2)|3,{97,99,99}}, +/* 6409 */ {(15<<2)|3,{97,99,99}}, +/* 6410 */ {(15<<2)|3,{97,99,101}}, +/* 6411 */ {(15<<2)|3,{97,99,101}}, +/* 6412 */ {(15<<2)|3,{97,99,105}}, +/* 6413 */ {(15<<2)|3,{97,99,105}}, +/* 6414 */ {(15<<2)|3,{97,99,111}}, +/* 6415 */ {(15<<2)|3,{97,99,111}}, +/* 6416 */ {(15<<2)|3,{97,99,115}}, +/* 6417 */ {(15<<2)|3,{97,99,115}}, +/* 6418 */ {(15<<2)|3,{97,99,116}}, +/* 6419 */ {(15<<2)|3,{97,99,116}}, +/* 6420 */ {(16<<2)|3,{97,99,32}}, +/* 6421 */ {(16<<2)|3,{97,99,37}}, +/* 6422 */ {(16<<2)|3,{97,99,45}}, +/* 6423 */ {(16<<2)|3,{97,99,46}}, +/* 6424 */ {(16<<2)|3,{97,99,47}}, +/* 6425 */ {(16<<2)|3,{97,99,51}}, +/* 6426 */ {(16<<2)|3,{97,99,52}}, +/* 6427 */ {(16<<2)|3,{97,99,53}}, +/* 6428 */ {(16<<2)|3,{97,99,54}}, +/* 6429 */ {(16<<2)|3,{97,99,55}}, +/* 6430 */ {(16<<2)|3,{97,99,56}}, +/* 6431 */ {(16<<2)|3,{97,99,57}}, +/* 6432 */ {(16<<2)|3,{97,99,61}}, +/* 6433 */ {(16<<2)|3,{97,99,65}}, +/* 6434 */ {(16<<2)|3,{97,99,95}}, +/* 6435 */ {(16<<2)|3,{97,99,98}}, +/* 6436 */ {(16<<2)|3,{97,99,100}}, +/* 6437 */ {(16<<2)|3,{97,99,102}}, +/* 6438 */ {(16<<2)|3,{97,99,103}}, +/* 6439 */ {(16<<2)|3,{97,99,104}}, +/* 6440 */ {(16<<2)|3,{97,99,108}}, +/* 6441 */ {(16<<2)|3,{97,99,109}}, +/* 6442 */ {(16<<2)|3,{97,99,110}}, +/* 6443 */ {(16<<2)|3,{97,99,112}}, +/* 6444 */ {(16<<2)|3,{97,99,114}}, +/* 6445 */ {(16<<2)|3,{97,99,117}}, +/* 6446 */ {(10<<2)|2,{97,99,0}}, +/* 6447 */ {(10<<2)|2,{97,99,0}}, +/* 6448 */ {(10<<2)|2,{97,99,0}}, +/* 6449 */ {(10<<2)|2,{97,99,0}}, +/* 6450 */ {(10<<2)|2,{97,99,0}}, +/* 6451 */ {(10<<2)|2,{97,99,0}}, +/* 6452 */ {(10<<2)|2,{97,99,0}}, +/* 6453 */ {(10<<2)|2,{97,99,0}}, +/* 6454 */ {(10<<2)|2,{97,99,0}}, +/* 6455 */ {(10<<2)|2,{97,99,0}}, +/* 6456 */ {(10<<2)|2,{97,99,0}}, +/* 6457 */ {(10<<2)|2,{97,99,0}}, +/* 6458 */ {(10<<2)|2,{97,99,0}}, +/* 6459 */ {(10<<2)|2,{97,99,0}}, +/* 6460 */ {(10<<2)|2,{97,99,0}}, +/* 6461 */ {(10<<2)|2,{97,99,0}}, +/* 6462 */ {(10<<2)|2,{97,99,0}}, +/* 6463 */ {(10<<2)|2,{97,99,0}}, +/* 6464 */ {(15<<2)|3,{97,101,48}}, +/* 6465 */ {(15<<2)|3,{97,101,48}}, +/* 6466 */ {(15<<2)|3,{97,101,49}}, +/* 6467 */ {(15<<2)|3,{97,101,49}}, +/* 6468 */ {(15<<2)|3,{97,101,50}}, +/* 6469 */ {(15<<2)|3,{97,101,50}}, +/* 6470 */ {(15<<2)|3,{97,101,97}}, +/* 6471 */ {(15<<2)|3,{97,101,97}}, +/* 6472 */ {(15<<2)|3,{97,101,99}}, +/* 6473 */ {(15<<2)|3,{97,101,99}}, +/* 6474 */ {(15<<2)|3,{97,101,101}}, +/* 6475 */ {(15<<2)|3,{97,101,101}}, +/* 6476 */ {(15<<2)|3,{97,101,105}}, +/* 6477 */ {(15<<2)|3,{97,101,105}}, +/* 6478 */ {(15<<2)|3,{97,101,111}}, +/* 6479 */ {(15<<2)|3,{97,101,111}}, +/* 6480 */ {(15<<2)|3,{97,101,115}}, +/* 6481 */ {(15<<2)|3,{97,101,115}}, +/* 6482 */ {(15<<2)|3,{97,101,116}}, +/* 6483 */ {(15<<2)|3,{97,101,116}}, +/* 6484 */ {(16<<2)|3,{97,101,32}}, +/* 6485 */ {(16<<2)|3,{97,101,37}}, +/* 6486 */ {(16<<2)|3,{97,101,45}}, +/* 6487 */ {(16<<2)|3,{97,101,46}}, +/* 6488 */ {(16<<2)|3,{97,101,47}}, +/* 6489 */ {(16<<2)|3,{97,101,51}}, +/* 6490 */ {(16<<2)|3,{97,101,52}}, +/* 6491 */ {(16<<2)|3,{97,101,53}}, +/* 6492 */ {(16<<2)|3,{97,101,54}}, +/* 6493 */ {(16<<2)|3,{97,101,55}}, +/* 6494 */ {(16<<2)|3,{97,101,56}}, +/* 6495 */ {(16<<2)|3,{97,101,57}}, +/* 6496 */ {(16<<2)|3,{97,101,61}}, +/* 6497 */ {(16<<2)|3,{97,101,65}}, +/* 6498 */ {(16<<2)|3,{97,101,95}}, +/* 6499 */ {(16<<2)|3,{97,101,98}}, +/* 6500 */ {(16<<2)|3,{97,101,100}}, +/* 6501 */ {(16<<2)|3,{97,101,102}}, +/* 6502 */ {(16<<2)|3,{97,101,103}}, +/* 6503 */ {(16<<2)|3,{97,101,104}}, +/* 6504 */ {(16<<2)|3,{97,101,108}}, +/* 6505 */ {(16<<2)|3,{97,101,109}}, +/* 6506 */ {(16<<2)|3,{97,101,110}}, +/* 6507 */ {(16<<2)|3,{97,101,112}}, +/* 6508 */ {(16<<2)|3,{97,101,114}}, +/* 6509 */ {(16<<2)|3,{97,101,117}}, +/* 6510 */ {(10<<2)|2,{97,101,0}}, +/* 6511 */ {(10<<2)|2,{97,101,0}}, +/* 6512 */ {(10<<2)|2,{97,101,0}}, +/* 6513 */ {(10<<2)|2,{97,101,0}}, +/* 6514 */ {(10<<2)|2,{97,101,0}}, +/* 6515 */ {(10<<2)|2,{97,101,0}}, +/* 6516 */ {(10<<2)|2,{97,101,0}}, +/* 6517 */ {(10<<2)|2,{97,101,0}}, +/* 6518 */ {(10<<2)|2,{97,101,0}}, +/* 6519 */ {(10<<2)|2,{97,101,0}}, +/* 6520 */ {(10<<2)|2,{97,101,0}}, +/* 6521 */ {(10<<2)|2,{97,101,0}}, +/* 6522 */ {(10<<2)|2,{97,101,0}}, +/* 6523 */ {(10<<2)|2,{97,101,0}}, +/* 6524 */ {(10<<2)|2,{97,101,0}}, +/* 6525 */ {(10<<2)|2,{97,101,0}}, +/* 6526 */ {(10<<2)|2,{97,101,0}}, +/* 6527 */ {(10<<2)|2,{97,101,0}}, +/* 6528 */ {(15<<2)|3,{97,105,48}}, +/* 6529 */ {(15<<2)|3,{97,105,48}}, +/* 6530 */ {(15<<2)|3,{97,105,49}}, +/* 6531 */ {(15<<2)|3,{97,105,49}}, +/* 6532 */ {(15<<2)|3,{97,105,50}}, +/* 6533 */ {(15<<2)|3,{97,105,50}}, +/* 6534 */ {(15<<2)|3,{97,105,97}}, +/* 6535 */ {(15<<2)|3,{97,105,97}}, +/* 6536 */ {(15<<2)|3,{97,105,99}}, +/* 6537 */ {(15<<2)|3,{97,105,99}}, +/* 6538 */ {(15<<2)|3,{97,105,101}}, +/* 6539 */ {(15<<2)|3,{97,105,101}}, +/* 6540 */ {(15<<2)|3,{97,105,105}}, +/* 6541 */ {(15<<2)|3,{97,105,105}}, +/* 6542 */ {(15<<2)|3,{97,105,111}}, +/* 6543 */ {(15<<2)|3,{97,105,111}}, +/* 6544 */ {(15<<2)|3,{97,105,115}}, +/* 6545 */ {(15<<2)|3,{97,105,115}}, +/* 6546 */ {(15<<2)|3,{97,105,116}}, +/* 6547 */ {(15<<2)|3,{97,105,116}}, +/* 6548 */ {(16<<2)|3,{97,105,32}}, +/* 6549 */ {(16<<2)|3,{97,105,37}}, +/* 6550 */ {(16<<2)|3,{97,105,45}}, +/* 6551 */ {(16<<2)|3,{97,105,46}}, +/* 6552 */ {(16<<2)|3,{97,105,47}}, +/* 6553 */ {(16<<2)|3,{97,105,51}}, +/* 6554 */ {(16<<2)|3,{97,105,52}}, +/* 6555 */ {(16<<2)|3,{97,105,53}}, +/* 6556 */ {(16<<2)|3,{97,105,54}}, +/* 6557 */ {(16<<2)|3,{97,105,55}}, +/* 6558 */ {(16<<2)|3,{97,105,56}}, +/* 6559 */ {(16<<2)|3,{97,105,57}}, +/* 6560 */ {(16<<2)|3,{97,105,61}}, +/* 6561 */ {(16<<2)|3,{97,105,65}}, +/* 6562 */ {(16<<2)|3,{97,105,95}}, +/* 6563 */ {(16<<2)|3,{97,105,98}}, +/* 6564 */ {(16<<2)|3,{97,105,100}}, +/* 6565 */ {(16<<2)|3,{97,105,102}}, +/* 6566 */ {(16<<2)|3,{97,105,103}}, +/* 6567 */ {(16<<2)|3,{97,105,104}}, +/* 6568 */ {(16<<2)|3,{97,105,108}}, +/* 6569 */ {(16<<2)|3,{97,105,109}}, +/* 6570 */ {(16<<2)|3,{97,105,110}}, +/* 6571 */ {(16<<2)|3,{97,105,112}}, +/* 6572 */ {(16<<2)|3,{97,105,114}}, +/* 6573 */ {(16<<2)|3,{97,105,117}}, +/* 6574 */ {(10<<2)|2,{97,105,0}}, +/* 6575 */ {(10<<2)|2,{97,105,0}}, +/* 6576 */ {(10<<2)|2,{97,105,0}}, +/* 6577 */ {(10<<2)|2,{97,105,0}}, +/* 6578 */ {(10<<2)|2,{97,105,0}}, +/* 6579 */ {(10<<2)|2,{97,105,0}}, +/* 6580 */ {(10<<2)|2,{97,105,0}}, +/* 6581 */ {(10<<2)|2,{97,105,0}}, +/* 6582 */ {(10<<2)|2,{97,105,0}}, +/* 6583 */ {(10<<2)|2,{97,105,0}}, +/* 6584 */ {(10<<2)|2,{97,105,0}}, +/* 6585 */ {(10<<2)|2,{97,105,0}}, +/* 6586 */ {(10<<2)|2,{97,105,0}}, +/* 6587 */ {(10<<2)|2,{97,105,0}}, +/* 6588 */ {(10<<2)|2,{97,105,0}}, +/* 6589 */ {(10<<2)|2,{97,105,0}}, +/* 6590 */ {(10<<2)|2,{97,105,0}}, +/* 6591 */ {(10<<2)|2,{97,105,0}}, +/* 6592 */ {(15<<2)|3,{97,111,48}}, +/* 6593 */ {(15<<2)|3,{97,111,48}}, +/* 6594 */ {(15<<2)|3,{97,111,49}}, +/* 6595 */ {(15<<2)|3,{97,111,49}}, +/* 6596 */ {(15<<2)|3,{97,111,50}}, +/* 6597 */ {(15<<2)|3,{97,111,50}}, +/* 6598 */ {(15<<2)|3,{97,111,97}}, +/* 6599 */ {(15<<2)|3,{97,111,97}}, +/* 6600 */ {(15<<2)|3,{97,111,99}}, +/* 6601 */ {(15<<2)|3,{97,111,99}}, +/* 6602 */ {(15<<2)|3,{97,111,101}}, +/* 6603 */ {(15<<2)|3,{97,111,101}}, +/* 6604 */ {(15<<2)|3,{97,111,105}}, +/* 6605 */ {(15<<2)|3,{97,111,105}}, +/* 6606 */ {(15<<2)|3,{97,111,111}}, +/* 6607 */ {(15<<2)|3,{97,111,111}}, +/* 6608 */ {(15<<2)|3,{97,111,115}}, +/* 6609 */ {(15<<2)|3,{97,111,115}}, +/* 6610 */ {(15<<2)|3,{97,111,116}}, +/* 6611 */ {(15<<2)|3,{97,111,116}}, +/* 6612 */ {(16<<2)|3,{97,111,32}}, +/* 6613 */ {(16<<2)|3,{97,111,37}}, +/* 6614 */ {(16<<2)|3,{97,111,45}}, +/* 6615 */ {(16<<2)|3,{97,111,46}}, +/* 6616 */ {(16<<2)|3,{97,111,47}}, +/* 6617 */ {(16<<2)|3,{97,111,51}}, +/* 6618 */ {(16<<2)|3,{97,111,52}}, +/* 6619 */ {(16<<2)|3,{97,111,53}}, +/* 6620 */ {(16<<2)|3,{97,111,54}}, +/* 6621 */ {(16<<2)|3,{97,111,55}}, +/* 6622 */ {(16<<2)|3,{97,111,56}}, +/* 6623 */ {(16<<2)|3,{97,111,57}}, +/* 6624 */ {(16<<2)|3,{97,111,61}}, +/* 6625 */ {(16<<2)|3,{97,111,65}}, +/* 6626 */ {(16<<2)|3,{97,111,95}}, +/* 6627 */ {(16<<2)|3,{97,111,98}}, +/* 6628 */ {(16<<2)|3,{97,111,100}}, +/* 6629 */ {(16<<2)|3,{97,111,102}}, +/* 6630 */ {(16<<2)|3,{97,111,103}}, +/* 6631 */ {(16<<2)|3,{97,111,104}}, +/* 6632 */ {(16<<2)|3,{97,111,108}}, +/* 6633 */ {(16<<2)|3,{97,111,109}}, +/* 6634 */ {(16<<2)|3,{97,111,110}}, +/* 6635 */ {(16<<2)|3,{97,111,112}}, +/* 6636 */ {(16<<2)|3,{97,111,114}}, +/* 6637 */ {(16<<2)|3,{97,111,117}}, +/* 6638 */ {(10<<2)|2,{97,111,0}}, +/* 6639 */ {(10<<2)|2,{97,111,0}}, +/* 6640 */ {(10<<2)|2,{97,111,0}}, +/* 6641 */ {(10<<2)|2,{97,111,0}}, +/* 6642 */ {(10<<2)|2,{97,111,0}}, +/* 6643 */ {(10<<2)|2,{97,111,0}}, +/* 6644 */ {(10<<2)|2,{97,111,0}}, +/* 6645 */ {(10<<2)|2,{97,111,0}}, +/* 6646 */ {(10<<2)|2,{97,111,0}}, +/* 6647 */ {(10<<2)|2,{97,111,0}}, +/* 6648 */ {(10<<2)|2,{97,111,0}}, +/* 6649 */ {(10<<2)|2,{97,111,0}}, +/* 6650 */ {(10<<2)|2,{97,111,0}}, +/* 6651 */ {(10<<2)|2,{97,111,0}}, +/* 6652 */ {(10<<2)|2,{97,111,0}}, +/* 6653 */ {(10<<2)|2,{97,111,0}}, +/* 6654 */ {(10<<2)|2,{97,111,0}}, +/* 6655 */ {(10<<2)|2,{97,111,0}}, +/* 6656 */ {(15<<2)|3,{97,115,48}}, +/* 6657 */ {(15<<2)|3,{97,115,48}}, +/* 6658 */ {(15<<2)|3,{97,115,49}}, +/* 6659 */ {(15<<2)|3,{97,115,49}}, +/* 6660 */ {(15<<2)|3,{97,115,50}}, +/* 6661 */ {(15<<2)|3,{97,115,50}}, +/* 6662 */ {(15<<2)|3,{97,115,97}}, +/* 6663 */ {(15<<2)|3,{97,115,97}}, +/* 6664 */ {(15<<2)|3,{97,115,99}}, +/* 6665 */ {(15<<2)|3,{97,115,99}}, +/* 6666 */ {(15<<2)|3,{97,115,101}}, +/* 6667 */ {(15<<2)|3,{97,115,101}}, +/* 6668 */ {(15<<2)|3,{97,115,105}}, +/* 6669 */ {(15<<2)|3,{97,115,105}}, +/* 6670 */ {(15<<2)|3,{97,115,111}}, +/* 6671 */ {(15<<2)|3,{97,115,111}}, +/* 6672 */ {(15<<2)|3,{97,115,115}}, +/* 6673 */ {(15<<2)|3,{97,115,115}}, +/* 6674 */ {(15<<2)|3,{97,115,116}}, +/* 6675 */ {(15<<2)|3,{97,115,116}}, +/* 6676 */ {(16<<2)|3,{97,115,32}}, +/* 6677 */ {(16<<2)|3,{97,115,37}}, +/* 6678 */ {(16<<2)|3,{97,115,45}}, +/* 6679 */ {(16<<2)|3,{97,115,46}}, +/* 6680 */ {(16<<2)|3,{97,115,47}}, +/* 6681 */ {(16<<2)|3,{97,115,51}}, +/* 6682 */ {(16<<2)|3,{97,115,52}}, +/* 6683 */ {(16<<2)|3,{97,115,53}}, +/* 6684 */ {(16<<2)|3,{97,115,54}}, +/* 6685 */ {(16<<2)|3,{97,115,55}}, +/* 6686 */ {(16<<2)|3,{97,115,56}}, +/* 6687 */ {(16<<2)|3,{97,115,57}}, +/* 6688 */ {(16<<2)|3,{97,115,61}}, +/* 6689 */ {(16<<2)|3,{97,115,65}}, +/* 6690 */ {(16<<2)|3,{97,115,95}}, +/* 6691 */ {(16<<2)|3,{97,115,98}}, +/* 6692 */ {(16<<2)|3,{97,115,100}}, +/* 6693 */ {(16<<2)|3,{97,115,102}}, +/* 6694 */ {(16<<2)|3,{97,115,103}}, +/* 6695 */ {(16<<2)|3,{97,115,104}}, +/* 6696 */ {(16<<2)|3,{97,115,108}}, +/* 6697 */ {(16<<2)|3,{97,115,109}}, +/* 6698 */ {(16<<2)|3,{97,115,110}}, +/* 6699 */ {(16<<2)|3,{97,115,112}}, +/* 6700 */ {(16<<2)|3,{97,115,114}}, +/* 6701 */ {(16<<2)|3,{97,115,117}}, +/* 6702 */ {(10<<2)|2,{97,115,0}}, +/* 6703 */ {(10<<2)|2,{97,115,0}}, +/* 6704 */ {(10<<2)|2,{97,115,0}}, +/* 6705 */ {(10<<2)|2,{97,115,0}}, +/* 6706 */ {(10<<2)|2,{97,115,0}}, +/* 6707 */ {(10<<2)|2,{97,115,0}}, +/* 6708 */ {(10<<2)|2,{97,115,0}}, +/* 6709 */ {(10<<2)|2,{97,115,0}}, +/* 6710 */ {(10<<2)|2,{97,115,0}}, +/* 6711 */ {(10<<2)|2,{97,115,0}}, +/* 6712 */ {(10<<2)|2,{97,115,0}}, +/* 6713 */ {(10<<2)|2,{97,115,0}}, +/* 6714 */ {(10<<2)|2,{97,115,0}}, +/* 6715 */ {(10<<2)|2,{97,115,0}}, +/* 6716 */ {(10<<2)|2,{97,115,0}}, +/* 6717 */ {(10<<2)|2,{97,115,0}}, +/* 6718 */ {(10<<2)|2,{97,115,0}}, +/* 6719 */ {(10<<2)|2,{97,115,0}}, +/* 6720 */ {(15<<2)|3,{97,116,48}}, +/* 6721 */ {(15<<2)|3,{97,116,48}}, +/* 6722 */ {(15<<2)|3,{97,116,49}}, +/* 6723 */ {(15<<2)|3,{97,116,49}}, +/* 6724 */ {(15<<2)|3,{97,116,50}}, +/* 6725 */ {(15<<2)|3,{97,116,50}}, +/* 6726 */ {(15<<2)|3,{97,116,97}}, +/* 6727 */ {(15<<2)|3,{97,116,97}}, +/* 6728 */ {(15<<2)|3,{97,116,99}}, +/* 6729 */ {(15<<2)|3,{97,116,99}}, +/* 6730 */ {(15<<2)|3,{97,116,101}}, +/* 6731 */ {(15<<2)|3,{97,116,101}}, +/* 6732 */ {(15<<2)|3,{97,116,105}}, +/* 6733 */ {(15<<2)|3,{97,116,105}}, +/* 6734 */ {(15<<2)|3,{97,116,111}}, +/* 6735 */ {(15<<2)|3,{97,116,111}}, +/* 6736 */ {(15<<2)|3,{97,116,115}}, +/* 6737 */ {(15<<2)|3,{97,116,115}}, +/* 6738 */ {(15<<2)|3,{97,116,116}}, +/* 6739 */ {(15<<2)|3,{97,116,116}}, +/* 6740 */ {(16<<2)|3,{97,116,32}}, +/* 6741 */ {(16<<2)|3,{97,116,37}}, +/* 6742 */ {(16<<2)|3,{97,116,45}}, +/* 6743 */ {(16<<2)|3,{97,116,46}}, +/* 6744 */ {(16<<2)|3,{97,116,47}}, +/* 6745 */ {(16<<2)|3,{97,116,51}}, +/* 6746 */ {(16<<2)|3,{97,116,52}}, +/* 6747 */ {(16<<2)|3,{97,116,53}}, +/* 6748 */ {(16<<2)|3,{97,116,54}}, +/* 6749 */ {(16<<2)|3,{97,116,55}}, +/* 6750 */ {(16<<2)|3,{97,116,56}}, +/* 6751 */ {(16<<2)|3,{97,116,57}}, +/* 6752 */ {(16<<2)|3,{97,116,61}}, +/* 6753 */ {(16<<2)|3,{97,116,65}}, +/* 6754 */ {(16<<2)|3,{97,116,95}}, +/* 6755 */ {(16<<2)|3,{97,116,98}}, +/* 6756 */ {(16<<2)|3,{97,116,100}}, +/* 6757 */ {(16<<2)|3,{97,116,102}}, +/* 6758 */ {(16<<2)|3,{97,116,103}}, +/* 6759 */ {(16<<2)|3,{97,116,104}}, +/* 6760 */ {(16<<2)|3,{97,116,108}}, +/* 6761 */ {(16<<2)|3,{97,116,109}}, +/* 6762 */ {(16<<2)|3,{97,116,110}}, +/* 6763 */ {(16<<2)|3,{97,116,112}}, +/* 6764 */ {(16<<2)|3,{97,116,114}}, +/* 6765 */ {(16<<2)|3,{97,116,117}}, +/* 6766 */ {(10<<2)|2,{97,116,0}}, +/* 6767 */ {(10<<2)|2,{97,116,0}}, +/* 6768 */ {(10<<2)|2,{97,116,0}}, +/* 6769 */ {(10<<2)|2,{97,116,0}}, +/* 6770 */ {(10<<2)|2,{97,116,0}}, +/* 6771 */ {(10<<2)|2,{97,116,0}}, +/* 6772 */ {(10<<2)|2,{97,116,0}}, +/* 6773 */ {(10<<2)|2,{97,116,0}}, +/* 6774 */ {(10<<2)|2,{97,116,0}}, +/* 6775 */ {(10<<2)|2,{97,116,0}}, +/* 6776 */ {(10<<2)|2,{97,116,0}}, +/* 6777 */ {(10<<2)|2,{97,116,0}}, +/* 6778 */ {(10<<2)|2,{97,116,0}}, +/* 6779 */ {(10<<2)|2,{97,116,0}}, +/* 6780 */ {(10<<2)|2,{97,116,0}}, +/* 6781 */ {(10<<2)|2,{97,116,0}}, +/* 6782 */ {(10<<2)|2,{97,116,0}}, +/* 6783 */ {(10<<2)|2,{97,116,0}}, +/* 6784 */ {(16<<2)|3,{97,32,48}}, +/* 6785 */ {(16<<2)|3,{97,32,49}}, +/* 6786 */ {(16<<2)|3,{97,32,50}}, +/* 6787 */ {(16<<2)|3,{97,32,97}}, +/* 6788 */ {(16<<2)|3,{97,32,99}}, +/* 6789 */ {(16<<2)|3,{97,32,101}}, +/* 6790 */ {(16<<2)|3,{97,32,105}}, +/* 6791 */ {(16<<2)|3,{97,32,111}}, +/* 6792 */ {(16<<2)|3,{97,32,115}}, +/* 6793 */ {(16<<2)|3,{97,32,116}}, +/* 6794 */ {(11<<2)|2,{97,32,0}}, +/* 6795 */ {(11<<2)|2,{97,32,0}}, +/* 6796 */ {(11<<2)|2,{97,32,0}}, +/* 6797 */ {(11<<2)|2,{97,32,0}}, +/* 6798 */ {(11<<2)|2,{97,32,0}}, +/* 6799 */ {(11<<2)|2,{97,32,0}}, +/* 6800 */ {(11<<2)|2,{97,32,0}}, +/* 6801 */ {(11<<2)|2,{97,32,0}}, +/* 6802 */ {(11<<2)|2,{97,32,0}}, +/* 6803 */ {(11<<2)|2,{97,32,0}}, +/* 6804 */ {(11<<2)|2,{97,32,0}}, +/* 6805 */ {(11<<2)|2,{97,32,0}}, +/* 6806 */ {(11<<2)|2,{97,32,0}}, +/* 6807 */ {(11<<2)|2,{97,32,0}}, +/* 6808 */ {(11<<2)|2,{97,32,0}}, +/* 6809 */ {(11<<2)|2,{97,32,0}}, +/* 6810 */ {(11<<2)|2,{97,32,0}}, +/* 6811 */ {(11<<2)|2,{97,32,0}}, +/* 6812 */ {(11<<2)|2,{97,32,0}}, +/* 6813 */ {(11<<2)|2,{97,32,0}}, +/* 6814 */ {(11<<2)|2,{97,32,0}}, +/* 6815 */ {(11<<2)|2,{97,32,0}}, +/* 6816 */ {(16<<2)|3,{97,37,48}}, +/* 6817 */ {(16<<2)|3,{97,37,49}}, +/* 6818 */ {(16<<2)|3,{97,37,50}}, +/* 6819 */ {(16<<2)|3,{97,37,97}}, +/* 6820 */ {(16<<2)|3,{97,37,99}}, +/* 6821 */ {(16<<2)|3,{97,37,101}}, +/* 6822 */ {(16<<2)|3,{97,37,105}}, +/* 6823 */ {(16<<2)|3,{97,37,111}}, +/* 6824 */ {(16<<2)|3,{97,37,115}}, +/* 6825 */ {(16<<2)|3,{97,37,116}}, +/* 6826 */ {(11<<2)|2,{97,37,0}}, +/* 6827 */ {(11<<2)|2,{97,37,0}}, +/* 6828 */ {(11<<2)|2,{97,37,0}}, +/* 6829 */ {(11<<2)|2,{97,37,0}}, +/* 6830 */ {(11<<2)|2,{97,37,0}}, +/* 6831 */ {(11<<2)|2,{97,37,0}}, +/* 6832 */ {(11<<2)|2,{97,37,0}}, +/* 6833 */ {(11<<2)|2,{97,37,0}}, +/* 6834 */ {(11<<2)|2,{97,37,0}}, +/* 6835 */ {(11<<2)|2,{97,37,0}}, +/* 6836 */ {(11<<2)|2,{97,37,0}}, +/* 6837 */ {(11<<2)|2,{97,37,0}}, +/* 6838 */ {(11<<2)|2,{97,37,0}}, +/* 6839 */ {(11<<2)|2,{97,37,0}}, +/* 6840 */ {(11<<2)|2,{97,37,0}}, +/* 6841 */ {(11<<2)|2,{97,37,0}}, +/* 6842 */ {(11<<2)|2,{97,37,0}}, +/* 6843 */ {(11<<2)|2,{97,37,0}}, +/* 6844 */ {(11<<2)|2,{97,37,0}}, +/* 6845 */ {(11<<2)|2,{97,37,0}}, +/* 6846 */ {(11<<2)|2,{97,37,0}}, +/* 6847 */ {(11<<2)|2,{97,37,0}}, +/* 6848 */ {(16<<2)|3,{97,45,48}}, +/* 6849 */ {(16<<2)|3,{97,45,49}}, +/* 6850 */ {(16<<2)|3,{97,45,50}}, +/* 6851 */ {(16<<2)|3,{97,45,97}}, +/* 6852 */ {(16<<2)|3,{97,45,99}}, +/* 6853 */ {(16<<2)|3,{97,45,101}}, +/* 6854 */ {(16<<2)|3,{97,45,105}}, +/* 6855 */ {(16<<2)|3,{97,45,111}}, +/* 6856 */ {(16<<2)|3,{97,45,115}}, +/* 6857 */ {(16<<2)|3,{97,45,116}}, +/* 6858 */ {(11<<2)|2,{97,45,0}}, +/* 6859 */ {(11<<2)|2,{97,45,0}}, +/* 6860 */ {(11<<2)|2,{97,45,0}}, +/* 6861 */ {(11<<2)|2,{97,45,0}}, +/* 6862 */ {(11<<2)|2,{97,45,0}}, +/* 6863 */ {(11<<2)|2,{97,45,0}}, +/* 6864 */ {(11<<2)|2,{97,45,0}}, +/* 6865 */ {(11<<2)|2,{97,45,0}}, +/* 6866 */ {(11<<2)|2,{97,45,0}}, +/* 6867 */ {(11<<2)|2,{97,45,0}}, +/* 6868 */ {(11<<2)|2,{97,45,0}}, +/* 6869 */ {(11<<2)|2,{97,45,0}}, +/* 6870 */ {(11<<2)|2,{97,45,0}}, +/* 6871 */ {(11<<2)|2,{97,45,0}}, +/* 6872 */ {(11<<2)|2,{97,45,0}}, +/* 6873 */ {(11<<2)|2,{97,45,0}}, +/* 6874 */ {(11<<2)|2,{97,45,0}}, +/* 6875 */ {(11<<2)|2,{97,45,0}}, +/* 6876 */ {(11<<2)|2,{97,45,0}}, +/* 6877 */ {(11<<2)|2,{97,45,0}}, +/* 6878 */ {(11<<2)|2,{97,45,0}}, +/* 6879 */ {(11<<2)|2,{97,45,0}}, +/* 6880 */ {(16<<2)|3,{97,46,48}}, +/* 6881 */ {(16<<2)|3,{97,46,49}}, +/* 6882 */ {(16<<2)|3,{97,46,50}}, +/* 6883 */ {(16<<2)|3,{97,46,97}}, +/* 6884 */ {(16<<2)|3,{97,46,99}}, +/* 6885 */ {(16<<2)|3,{97,46,101}}, +/* 6886 */ {(16<<2)|3,{97,46,105}}, +/* 6887 */ {(16<<2)|3,{97,46,111}}, +/* 6888 */ {(16<<2)|3,{97,46,115}}, +/* 6889 */ {(16<<2)|3,{97,46,116}}, +/* 6890 */ {(11<<2)|2,{97,46,0}}, +/* 6891 */ {(11<<2)|2,{97,46,0}}, +/* 6892 */ {(11<<2)|2,{97,46,0}}, +/* 6893 */ {(11<<2)|2,{97,46,0}}, +/* 6894 */ {(11<<2)|2,{97,46,0}}, +/* 6895 */ {(11<<2)|2,{97,46,0}}, +/* 6896 */ {(11<<2)|2,{97,46,0}}, +/* 6897 */ {(11<<2)|2,{97,46,0}}, +/* 6898 */ {(11<<2)|2,{97,46,0}}, +/* 6899 */ {(11<<2)|2,{97,46,0}}, +/* 6900 */ {(11<<2)|2,{97,46,0}}, +/* 6901 */ {(11<<2)|2,{97,46,0}}, +/* 6902 */ {(11<<2)|2,{97,46,0}}, +/* 6903 */ {(11<<2)|2,{97,46,0}}, +/* 6904 */ {(11<<2)|2,{97,46,0}}, +/* 6905 */ {(11<<2)|2,{97,46,0}}, +/* 6906 */ {(11<<2)|2,{97,46,0}}, +/* 6907 */ {(11<<2)|2,{97,46,0}}, +/* 6908 */ {(11<<2)|2,{97,46,0}}, +/* 6909 */ {(11<<2)|2,{97,46,0}}, +/* 6910 */ {(11<<2)|2,{97,46,0}}, +/* 6911 */ {(11<<2)|2,{97,46,0}}, +/* 6912 */ {(16<<2)|3,{97,47,48}}, +/* 6913 */ {(16<<2)|3,{97,47,49}}, +/* 6914 */ {(16<<2)|3,{97,47,50}}, +/* 6915 */ {(16<<2)|3,{97,47,97}}, +/* 6916 */ {(16<<2)|3,{97,47,99}}, +/* 6917 */ {(16<<2)|3,{97,47,101}}, +/* 6918 */ {(16<<2)|3,{97,47,105}}, +/* 6919 */ {(16<<2)|3,{97,47,111}}, +/* 6920 */ {(16<<2)|3,{97,47,115}}, +/* 6921 */ {(16<<2)|3,{97,47,116}}, +/* 6922 */ {(11<<2)|2,{97,47,0}}, +/* 6923 */ {(11<<2)|2,{97,47,0}}, +/* 6924 */ {(11<<2)|2,{97,47,0}}, +/* 6925 */ {(11<<2)|2,{97,47,0}}, +/* 6926 */ {(11<<2)|2,{97,47,0}}, +/* 6927 */ {(11<<2)|2,{97,47,0}}, +/* 6928 */ {(11<<2)|2,{97,47,0}}, +/* 6929 */ {(11<<2)|2,{97,47,0}}, +/* 6930 */ {(11<<2)|2,{97,47,0}}, +/* 6931 */ {(11<<2)|2,{97,47,0}}, +/* 6932 */ {(11<<2)|2,{97,47,0}}, +/* 6933 */ {(11<<2)|2,{97,47,0}}, +/* 6934 */ {(11<<2)|2,{97,47,0}}, +/* 6935 */ {(11<<2)|2,{97,47,0}}, +/* 6936 */ {(11<<2)|2,{97,47,0}}, +/* 6937 */ {(11<<2)|2,{97,47,0}}, +/* 6938 */ {(11<<2)|2,{97,47,0}}, +/* 6939 */ {(11<<2)|2,{97,47,0}}, +/* 6940 */ {(11<<2)|2,{97,47,0}}, +/* 6941 */ {(11<<2)|2,{97,47,0}}, +/* 6942 */ {(11<<2)|2,{97,47,0}}, +/* 6943 */ {(11<<2)|2,{97,47,0}}, +/* 6944 */ {(16<<2)|3,{97,51,48}}, +/* 6945 */ {(16<<2)|3,{97,51,49}}, +/* 6946 */ {(16<<2)|3,{97,51,50}}, +/* 6947 */ {(16<<2)|3,{97,51,97}}, +/* 6948 */ {(16<<2)|3,{97,51,99}}, +/* 6949 */ {(16<<2)|3,{97,51,101}}, +/* 6950 */ {(16<<2)|3,{97,51,105}}, +/* 6951 */ {(16<<2)|3,{97,51,111}}, +/* 6952 */ {(16<<2)|3,{97,51,115}}, +/* 6953 */ {(16<<2)|3,{97,51,116}}, +/* 6954 */ {(11<<2)|2,{97,51,0}}, +/* 6955 */ {(11<<2)|2,{97,51,0}}, +/* 6956 */ {(11<<2)|2,{97,51,0}}, +/* 6957 */ {(11<<2)|2,{97,51,0}}, +/* 6958 */ {(11<<2)|2,{97,51,0}}, +/* 6959 */ {(11<<2)|2,{97,51,0}}, +/* 6960 */ {(11<<2)|2,{97,51,0}}, +/* 6961 */ {(11<<2)|2,{97,51,0}}, +/* 6962 */ {(11<<2)|2,{97,51,0}}, +/* 6963 */ {(11<<2)|2,{97,51,0}}, +/* 6964 */ {(11<<2)|2,{97,51,0}}, +/* 6965 */ {(11<<2)|2,{97,51,0}}, +/* 6966 */ {(11<<2)|2,{97,51,0}}, +/* 6967 */ {(11<<2)|2,{97,51,0}}, +/* 6968 */ {(11<<2)|2,{97,51,0}}, +/* 6969 */ {(11<<2)|2,{97,51,0}}, +/* 6970 */ {(11<<2)|2,{97,51,0}}, +/* 6971 */ {(11<<2)|2,{97,51,0}}, +/* 6972 */ {(11<<2)|2,{97,51,0}}, +/* 6973 */ {(11<<2)|2,{97,51,0}}, +/* 6974 */ {(11<<2)|2,{97,51,0}}, +/* 6975 */ {(11<<2)|2,{97,51,0}}, +/* 6976 */ {(16<<2)|3,{97,52,48}}, +/* 6977 */ {(16<<2)|3,{97,52,49}}, +/* 6978 */ {(16<<2)|3,{97,52,50}}, +/* 6979 */ {(16<<2)|3,{97,52,97}}, +/* 6980 */ {(16<<2)|3,{97,52,99}}, +/* 6981 */ {(16<<2)|3,{97,52,101}}, +/* 6982 */ {(16<<2)|3,{97,52,105}}, +/* 6983 */ {(16<<2)|3,{97,52,111}}, +/* 6984 */ {(16<<2)|3,{97,52,115}}, +/* 6985 */ {(16<<2)|3,{97,52,116}}, +/* 6986 */ {(11<<2)|2,{97,52,0}}, +/* 6987 */ {(11<<2)|2,{97,52,0}}, +/* 6988 */ {(11<<2)|2,{97,52,0}}, +/* 6989 */ {(11<<2)|2,{97,52,0}}, +/* 6990 */ {(11<<2)|2,{97,52,0}}, +/* 6991 */ {(11<<2)|2,{97,52,0}}, +/* 6992 */ {(11<<2)|2,{97,52,0}}, +/* 6993 */ {(11<<2)|2,{97,52,0}}, +/* 6994 */ {(11<<2)|2,{97,52,0}}, +/* 6995 */ {(11<<2)|2,{97,52,0}}, +/* 6996 */ {(11<<2)|2,{97,52,0}}, +/* 6997 */ {(11<<2)|2,{97,52,0}}, +/* 6998 */ {(11<<2)|2,{97,52,0}}, +/* 6999 */ {(11<<2)|2,{97,52,0}}, +/* 7000 */ {(11<<2)|2,{97,52,0}}, +/* 7001 */ {(11<<2)|2,{97,52,0}}, +/* 7002 */ {(11<<2)|2,{97,52,0}}, +/* 7003 */ {(11<<2)|2,{97,52,0}}, +/* 7004 */ {(11<<2)|2,{97,52,0}}, +/* 7005 */ {(11<<2)|2,{97,52,0}}, +/* 7006 */ {(11<<2)|2,{97,52,0}}, +/* 7007 */ {(11<<2)|2,{97,52,0}}, +/* 7008 */ {(16<<2)|3,{97,53,48}}, +/* 7009 */ {(16<<2)|3,{97,53,49}}, +/* 7010 */ {(16<<2)|3,{97,53,50}}, +/* 7011 */ {(16<<2)|3,{97,53,97}}, +/* 7012 */ {(16<<2)|3,{97,53,99}}, +/* 7013 */ {(16<<2)|3,{97,53,101}}, +/* 7014 */ {(16<<2)|3,{97,53,105}}, +/* 7015 */ {(16<<2)|3,{97,53,111}}, +/* 7016 */ {(16<<2)|3,{97,53,115}}, +/* 7017 */ {(16<<2)|3,{97,53,116}}, +/* 7018 */ {(11<<2)|2,{97,53,0}}, +/* 7019 */ {(11<<2)|2,{97,53,0}}, +/* 7020 */ {(11<<2)|2,{97,53,0}}, +/* 7021 */ {(11<<2)|2,{97,53,0}}, +/* 7022 */ {(11<<2)|2,{97,53,0}}, +/* 7023 */ {(11<<2)|2,{97,53,0}}, +/* 7024 */ {(11<<2)|2,{97,53,0}}, +/* 7025 */ {(11<<2)|2,{97,53,0}}, +/* 7026 */ {(11<<2)|2,{97,53,0}}, +/* 7027 */ {(11<<2)|2,{97,53,0}}, +/* 7028 */ {(11<<2)|2,{97,53,0}}, +/* 7029 */ {(11<<2)|2,{97,53,0}}, +/* 7030 */ {(11<<2)|2,{97,53,0}}, +/* 7031 */ {(11<<2)|2,{97,53,0}}, +/* 7032 */ {(11<<2)|2,{97,53,0}}, +/* 7033 */ {(11<<2)|2,{97,53,0}}, +/* 7034 */ {(11<<2)|2,{97,53,0}}, +/* 7035 */ {(11<<2)|2,{97,53,0}}, +/* 7036 */ {(11<<2)|2,{97,53,0}}, +/* 7037 */ {(11<<2)|2,{97,53,0}}, +/* 7038 */ {(11<<2)|2,{97,53,0}}, +/* 7039 */ {(11<<2)|2,{97,53,0}}, +/* 7040 */ {(16<<2)|3,{97,54,48}}, +/* 7041 */ {(16<<2)|3,{97,54,49}}, +/* 7042 */ {(16<<2)|3,{97,54,50}}, +/* 7043 */ {(16<<2)|3,{97,54,97}}, +/* 7044 */ {(16<<2)|3,{97,54,99}}, +/* 7045 */ {(16<<2)|3,{97,54,101}}, +/* 7046 */ {(16<<2)|3,{97,54,105}}, +/* 7047 */ {(16<<2)|3,{97,54,111}}, +/* 7048 */ {(16<<2)|3,{97,54,115}}, +/* 7049 */ {(16<<2)|3,{97,54,116}}, +/* 7050 */ {(11<<2)|2,{97,54,0}}, +/* 7051 */ {(11<<2)|2,{97,54,0}}, +/* 7052 */ {(11<<2)|2,{97,54,0}}, +/* 7053 */ {(11<<2)|2,{97,54,0}}, +/* 7054 */ {(11<<2)|2,{97,54,0}}, +/* 7055 */ {(11<<2)|2,{97,54,0}}, +/* 7056 */ {(11<<2)|2,{97,54,0}}, +/* 7057 */ {(11<<2)|2,{97,54,0}}, +/* 7058 */ {(11<<2)|2,{97,54,0}}, +/* 7059 */ {(11<<2)|2,{97,54,0}}, +/* 7060 */ {(11<<2)|2,{97,54,0}}, +/* 7061 */ {(11<<2)|2,{97,54,0}}, +/* 7062 */ {(11<<2)|2,{97,54,0}}, +/* 7063 */ {(11<<2)|2,{97,54,0}}, +/* 7064 */ {(11<<2)|2,{97,54,0}}, +/* 7065 */ {(11<<2)|2,{97,54,0}}, +/* 7066 */ {(11<<2)|2,{97,54,0}}, +/* 7067 */ {(11<<2)|2,{97,54,0}}, +/* 7068 */ {(11<<2)|2,{97,54,0}}, +/* 7069 */ {(11<<2)|2,{97,54,0}}, +/* 7070 */ {(11<<2)|2,{97,54,0}}, +/* 7071 */ {(11<<2)|2,{97,54,0}}, +/* 7072 */ {(16<<2)|3,{97,55,48}}, +/* 7073 */ {(16<<2)|3,{97,55,49}}, +/* 7074 */ {(16<<2)|3,{97,55,50}}, +/* 7075 */ {(16<<2)|3,{97,55,97}}, +/* 7076 */ {(16<<2)|3,{97,55,99}}, +/* 7077 */ {(16<<2)|3,{97,55,101}}, +/* 7078 */ {(16<<2)|3,{97,55,105}}, +/* 7079 */ {(16<<2)|3,{97,55,111}}, +/* 7080 */ {(16<<2)|3,{97,55,115}}, +/* 7081 */ {(16<<2)|3,{97,55,116}}, +/* 7082 */ {(11<<2)|2,{97,55,0}}, +/* 7083 */ {(11<<2)|2,{97,55,0}}, +/* 7084 */ {(11<<2)|2,{97,55,0}}, +/* 7085 */ {(11<<2)|2,{97,55,0}}, +/* 7086 */ {(11<<2)|2,{97,55,0}}, +/* 7087 */ {(11<<2)|2,{97,55,0}}, +/* 7088 */ {(11<<2)|2,{97,55,0}}, +/* 7089 */ {(11<<2)|2,{97,55,0}}, +/* 7090 */ {(11<<2)|2,{97,55,0}}, +/* 7091 */ {(11<<2)|2,{97,55,0}}, +/* 7092 */ {(11<<2)|2,{97,55,0}}, +/* 7093 */ {(11<<2)|2,{97,55,0}}, +/* 7094 */ {(11<<2)|2,{97,55,0}}, +/* 7095 */ {(11<<2)|2,{97,55,0}}, +/* 7096 */ {(11<<2)|2,{97,55,0}}, +/* 7097 */ {(11<<2)|2,{97,55,0}}, +/* 7098 */ {(11<<2)|2,{97,55,0}}, +/* 7099 */ {(11<<2)|2,{97,55,0}}, +/* 7100 */ {(11<<2)|2,{97,55,0}}, +/* 7101 */ {(11<<2)|2,{97,55,0}}, +/* 7102 */ {(11<<2)|2,{97,55,0}}, +/* 7103 */ {(11<<2)|2,{97,55,0}}, +/* 7104 */ {(16<<2)|3,{97,56,48}}, +/* 7105 */ {(16<<2)|3,{97,56,49}}, +/* 7106 */ {(16<<2)|3,{97,56,50}}, +/* 7107 */ {(16<<2)|3,{97,56,97}}, +/* 7108 */ {(16<<2)|3,{97,56,99}}, +/* 7109 */ {(16<<2)|3,{97,56,101}}, +/* 7110 */ {(16<<2)|3,{97,56,105}}, +/* 7111 */ {(16<<2)|3,{97,56,111}}, +/* 7112 */ {(16<<2)|3,{97,56,115}}, +/* 7113 */ {(16<<2)|3,{97,56,116}}, +/* 7114 */ {(11<<2)|2,{97,56,0}}, +/* 7115 */ {(11<<2)|2,{97,56,0}}, +/* 7116 */ {(11<<2)|2,{97,56,0}}, +/* 7117 */ {(11<<2)|2,{97,56,0}}, +/* 7118 */ {(11<<2)|2,{97,56,0}}, +/* 7119 */ {(11<<2)|2,{97,56,0}}, +/* 7120 */ {(11<<2)|2,{97,56,0}}, +/* 7121 */ {(11<<2)|2,{97,56,0}}, +/* 7122 */ {(11<<2)|2,{97,56,0}}, +/* 7123 */ {(11<<2)|2,{97,56,0}}, +/* 7124 */ {(11<<2)|2,{97,56,0}}, +/* 7125 */ {(11<<2)|2,{97,56,0}}, +/* 7126 */ {(11<<2)|2,{97,56,0}}, +/* 7127 */ {(11<<2)|2,{97,56,0}}, +/* 7128 */ {(11<<2)|2,{97,56,0}}, +/* 7129 */ {(11<<2)|2,{97,56,0}}, +/* 7130 */ {(11<<2)|2,{97,56,0}}, +/* 7131 */ {(11<<2)|2,{97,56,0}}, +/* 7132 */ {(11<<2)|2,{97,56,0}}, +/* 7133 */ {(11<<2)|2,{97,56,0}}, +/* 7134 */ {(11<<2)|2,{97,56,0}}, +/* 7135 */ {(11<<2)|2,{97,56,0}}, +/* 7136 */ {(16<<2)|3,{97,57,48}}, +/* 7137 */ {(16<<2)|3,{97,57,49}}, +/* 7138 */ {(16<<2)|3,{97,57,50}}, +/* 7139 */ {(16<<2)|3,{97,57,97}}, +/* 7140 */ {(16<<2)|3,{97,57,99}}, +/* 7141 */ {(16<<2)|3,{97,57,101}}, +/* 7142 */ {(16<<2)|3,{97,57,105}}, +/* 7143 */ {(16<<2)|3,{97,57,111}}, +/* 7144 */ {(16<<2)|3,{97,57,115}}, +/* 7145 */ {(16<<2)|3,{97,57,116}}, +/* 7146 */ {(11<<2)|2,{97,57,0}}, +/* 7147 */ {(11<<2)|2,{97,57,0}}, +/* 7148 */ {(11<<2)|2,{97,57,0}}, +/* 7149 */ {(11<<2)|2,{97,57,0}}, +/* 7150 */ {(11<<2)|2,{97,57,0}}, +/* 7151 */ {(11<<2)|2,{97,57,0}}, +/* 7152 */ {(11<<2)|2,{97,57,0}}, +/* 7153 */ {(11<<2)|2,{97,57,0}}, +/* 7154 */ {(11<<2)|2,{97,57,0}}, +/* 7155 */ {(11<<2)|2,{97,57,0}}, +/* 7156 */ {(11<<2)|2,{97,57,0}}, +/* 7157 */ {(11<<2)|2,{97,57,0}}, +/* 7158 */ {(11<<2)|2,{97,57,0}}, +/* 7159 */ {(11<<2)|2,{97,57,0}}, +/* 7160 */ {(11<<2)|2,{97,57,0}}, +/* 7161 */ {(11<<2)|2,{97,57,0}}, +/* 7162 */ {(11<<2)|2,{97,57,0}}, +/* 7163 */ {(11<<2)|2,{97,57,0}}, +/* 7164 */ {(11<<2)|2,{97,57,0}}, +/* 7165 */ {(11<<2)|2,{97,57,0}}, +/* 7166 */ {(11<<2)|2,{97,57,0}}, +/* 7167 */ {(11<<2)|2,{97,57,0}}, +/* 7168 */ {(16<<2)|3,{97,61,48}}, +/* 7169 */ {(16<<2)|3,{97,61,49}}, +/* 7170 */ {(16<<2)|3,{97,61,50}}, +/* 7171 */ {(16<<2)|3,{97,61,97}}, +/* 7172 */ {(16<<2)|3,{97,61,99}}, +/* 7173 */ {(16<<2)|3,{97,61,101}}, +/* 7174 */ {(16<<2)|3,{97,61,105}}, +/* 7175 */ {(16<<2)|3,{97,61,111}}, +/* 7176 */ {(16<<2)|3,{97,61,115}}, +/* 7177 */ {(16<<2)|3,{97,61,116}}, +/* 7178 */ {(11<<2)|2,{97,61,0}}, +/* 7179 */ {(11<<2)|2,{97,61,0}}, +/* 7180 */ {(11<<2)|2,{97,61,0}}, +/* 7181 */ {(11<<2)|2,{97,61,0}}, +/* 7182 */ {(11<<2)|2,{97,61,0}}, +/* 7183 */ {(11<<2)|2,{97,61,0}}, +/* 7184 */ {(11<<2)|2,{97,61,0}}, +/* 7185 */ {(11<<2)|2,{97,61,0}}, +/* 7186 */ {(11<<2)|2,{97,61,0}}, +/* 7187 */ {(11<<2)|2,{97,61,0}}, +/* 7188 */ {(11<<2)|2,{97,61,0}}, +/* 7189 */ {(11<<2)|2,{97,61,0}}, +/* 7190 */ {(11<<2)|2,{97,61,0}}, +/* 7191 */ {(11<<2)|2,{97,61,0}}, +/* 7192 */ {(11<<2)|2,{97,61,0}}, +/* 7193 */ {(11<<2)|2,{97,61,0}}, +/* 7194 */ {(11<<2)|2,{97,61,0}}, +/* 7195 */ {(11<<2)|2,{97,61,0}}, +/* 7196 */ {(11<<2)|2,{97,61,0}}, +/* 7197 */ {(11<<2)|2,{97,61,0}}, +/* 7198 */ {(11<<2)|2,{97,61,0}}, +/* 7199 */ {(11<<2)|2,{97,61,0}}, +/* 7200 */ {(16<<2)|3,{97,65,48}}, +/* 7201 */ {(16<<2)|3,{97,65,49}}, +/* 7202 */ {(16<<2)|3,{97,65,50}}, +/* 7203 */ {(16<<2)|3,{97,65,97}}, +/* 7204 */ {(16<<2)|3,{97,65,99}}, +/* 7205 */ {(16<<2)|3,{97,65,101}}, +/* 7206 */ {(16<<2)|3,{97,65,105}}, +/* 7207 */ {(16<<2)|3,{97,65,111}}, +/* 7208 */ {(16<<2)|3,{97,65,115}}, +/* 7209 */ {(16<<2)|3,{97,65,116}}, +/* 7210 */ {(11<<2)|2,{97,65,0}}, +/* 7211 */ {(11<<2)|2,{97,65,0}}, +/* 7212 */ {(11<<2)|2,{97,65,0}}, +/* 7213 */ {(11<<2)|2,{97,65,0}}, +/* 7214 */ {(11<<2)|2,{97,65,0}}, +/* 7215 */ {(11<<2)|2,{97,65,0}}, +/* 7216 */ {(11<<2)|2,{97,65,0}}, +/* 7217 */ {(11<<2)|2,{97,65,0}}, +/* 7218 */ {(11<<2)|2,{97,65,0}}, +/* 7219 */ {(11<<2)|2,{97,65,0}}, +/* 7220 */ {(11<<2)|2,{97,65,0}}, +/* 7221 */ {(11<<2)|2,{97,65,0}}, +/* 7222 */ {(11<<2)|2,{97,65,0}}, +/* 7223 */ {(11<<2)|2,{97,65,0}}, +/* 7224 */ {(11<<2)|2,{97,65,0}}, +/* 7225 */ {(11<<2)|2,{97,65,0}}, +/* 7226 */ {(11<<2)|2,{97,65,0}}, +/* 7227 */ {(11<<2)|2,{97,65,0}}, +/* 7228 */ {(11<<2)|2,{97,65,0}}, +/* 7229 */ {(11<<2)|2,{97,65,0}}, +/* 7230 */ {(11<<2)|2,{97,65,0}}, +/* 7231 */ {(11<<2)|2,{97,65,0}}, +/* 7232 */ {(16<<2)|3,{97,95,48}}, +/* 7233 */ {(16<<2)|3,{97,95,49}}, +/* 7234 */ {(16<<2)|3,{97,95,50}}, +/* 7235 */ {(16<<2)|3,{97,95,97}}, +/* 7236 */ {(16<<2)|3,{97,95,99}}, +/* 7237 */ {(16<<2)|3,{97,95,101}}, +/* 7238 */ {(16<<2)|3,{97,95,105}}, +/* 7239 */ {(16<<2)|3,{97,95,111}}, +/* 7240 */ {(16<<2)|3,{97,95,115}}, +/* 7241 */ {(16<<2)|3,{97,95,116}}, +/* 7242 */ {(11<<2)|2,{97,95,0}}, +/* 7243 */ {(11<<2)|2,{97,95,0}}, +/* 7244 */ {(11<<2)|2,{97,95,0}}, +/* 7245 */ {(11<<2)|2,{97,95,0}}, +/* 7246 */ {(11<<2)|2,{97,95,0}}, +/* 7247 */ {(11<<2)|2,{97,95,0}}, +/* 7248 */ {(11<<2)|2,{97,95,0}}, +/* 7249 */ {(11<<2)|2,{97,95,0}}, +/* 7250 */ {(11<<2)|2,{97,95,0}}, +/* 7251 */ {(11<<2)|2,{97,95,0}}, +/* 7252 */ {(11<<2)|2,{97,95,0}}, +/* 7253 */ {(11<<2)|2,{97,95,0}}, +/* 7254 */ {(11<<2)|2,{97,95,0}}, +/* 7255 */ {(11<<2)|2,{97,95,0}}, +/* 7256 */ {(11<<2)|2,{97,95,0}}, +/* 7257 */ {(11<<2)|2,{97,95,0}}, +/* 7258 */ {(11<<2)|2,{97,95,0}}, +/* 7259 */ {(11<<2)|2,{97,95,0}}, +/* 7260 */ {(11<<2)|2,{97,95,0}}, +/* 7261 */ {(11<<2)|2,{97,95,0}}, +/* 7262 */ {(11<<2)|2,{97,95,0}}, +/* 7263 */ {(11<<2)|2,{97,95,0}}, +/* 7264 */ {(16<<2)|3,{97,98,48}}, +/* 7265 */ {(16<<2)|3,{97,98,49}}, +/* 7266 */ {(16<<2)|3,{97,98,50}}, +/* 7267 */ {(16<<2)|3,{97,98,97}}, +/* 7268 */ {(16<<2)|3,{97,98,99}}, +/* 7269 */ {(16<<2)|3,{97,98,101}}, +/* 7270 */ {(16<<2)|3,{97,98,105}}, +/* 7271 */ {(16<<2)|3,{97,98,111}}, +/* 7272 */ {(16<<2)|3,{97,98,115}}, +/* 7273 */ {(16<<2)|3,{97,98,116}}, +/* 7274 */ {(11<<2)|2,{97,98,0}}, +/* 7275 */ {(11<<2)|2,{97,98,0}}, +/* 7276 */ {(11<<2)|2,{97,98,0}}, +/* 7277 */ {(11<<2)|2,{97,98,0}}, +/* 7278 */ {(11<<2)|2,{97,98,0}}, +/* 7279 */ {(11<<2)|2,{97,98,0}}, +/* 7280 */ {(11<<2)|2,{97,98,0}}, +/* 7281 */ {(11<<2)|2,{97,98,0}}, +/* 7282 */ {(11<<2)|2,{97,98,0}}, +/* 7283 */ {(11<<2)|2,{97,98,0}}, +/* 7284 */ {(11<<2)|2,{97,98,0}}, +/* 7285 */ {(11<<2)|2,{97,98,0}}, +/* 7286 */ {(11<<2)|2,{97,98,0}}, +/* 7287 */ {(11<<2)|2,{97,98,0}}, +/* 7288 */ {(11<<2)|2,{97,98,0}}, +/* 7289 */ {(11<<2)|2,{97,98,0}}, +/* 7290 */ {(11<<2)|2,{97,98,0}}, +/* 7291 */ {(11<<2)|2,{97,98,0}}, +/* 7292 */ {(11<<2)|2,{97,98,0}}, +/* 7293 */ {(11<<2)|2,{97,98,0}}, +/* 7294 */ {(11<<2)|2,{97,98,0}}, +/* 7295 */ {(11<<2)|2,{97,98,0}}, +/* 7296 */ {(16<<2)|3,{97,100,48}}, +/* 7297 */ {(16<<2)|3,{97,100,49}}, +/* 7298 */ {(16<<2)|3,{97,100,50}}, +/* 7299 */ {(16<<2)|3,{97,100,97}}, +/* 7300 */ {(16<<2)|3,{97,100,99}}, +/* 7301 */ {(16<<2)|3,{97,100,101}}, +/* 7302 */ {(16<<2)|3,{97,100,105}}, +/* 7303 */ {(16<<2)|3,{97,100,111}}, +/* 7304 */ {(16<<2)|3,{97,100,115}}, +/* 7305 */ {(16<<2)|3,{97,100,116}}, +/* 7306 */ {(11<<2)|2,{97,100,0}}, +/* 7307 */ {(11<<2)|2,{97,100,0}}, +/* 7308 */ {(11<<2)|2,{97,100,0}}, +/* 7309 */ {(11<<2)|2,{97,100,0}}, +/* 7310 */ {(11<<2)|2,{97,100,0}}, +/* 7311 */ {(11<<2)|2,{97,100,0}}, +/* 7312 */ {(11<<2)|2,{97,100,0}}, +/* 7313 */ {(11<<2)|2,{97,100,0}}, +/* 7314 */ {(11<<2)|2,{97,100,0}}, +/* 7315 */ {(11<<2)|2,{97,100,0}}, +/* 7316 */ {(11<<2)|2,{97,100,0}}, +/* 7317 */ {(11<<2)|2,{97,100,0}}, +/* 7318 */ {(11<<2)|2,{97,100,0}}, +/* 7319 */ {(11<<2)|2,{97,100,0}}, +/* 7320 */ {(11<<2)|2,{97,100,0}}, +/* 7321 */ {(11<<2)|2,{97,100,0}}, +/* 7322 */ {(11<<2)|2,{97,100,0}}, +/* 7323 */ {(11<<2)|2,{97,100,0}}, +/* 7324 */ {(11<<2)|2,{97,100,0}}, +/* 7325 */ {(11<<2)|2,{97,100,0}}, +/* 7326 */ {(11<<2)|2,{97,100,0}}, +/* 7327 */ {(11<<2)|2,{97,100,0}}, +/* 7328 */ {(16<<2)|3,{97,102,48}}, +/* 7329 */ {(16<<2)|3,{97,102,49}}, +/* 7330 */ {(16<<2)|3,{97,102,50}}, +/* 7331 */ {(16<<2)|3,{97,102,97}}, +/* 7332 */ {(16<<2)|3,{97,102,99}}, +/* 7333 */ {(16<<2)|3,{97,102,101}}, +/* 7334 */ {(16<<2)|3,{97,102,105}}, +/* 7335 */ {(16<<2)|3,{97,102,111}}, +/* 7336 */ {(16<<2)|3,{97,102,115}}, +/* 7337 */ {(16<<2)|3,{97,102,116}}, +/* 7338 */ {(11<<2)|2,{97,102,0}}, +/* 7339 */ {(11<<2)|2,{97,102,0}}, +/* 7340 */ {(11<<2)|2,{97,102,0}}, +/* 7341 */ {(11<<2)|2,{97,102,0}}, +/* 7342 */ {(11<<2)|2,{97,102,0}}, +/* 7343 */ {(11<<2)|2,{97,102,0}}, +/* 7344 */ {(11<<2)|2,{97,102,0}}, +/* 7345 */ {(11<<2)|2,{97,102,0}}, +/* 7346 */ {(11<<2)|2,{97,102,0}}, +/* 7347 */ {(11<<2)|2,{97,102,0}}, +/* 7348 */ {(11<<2)|2,{97,102,0}}, +/* 7349 */ {(11<<2)|2,{97,102,0}}, +/* 7350 */ {(11<<2)|2,{97,102,0}}, +/* 7351 */ {(11<<2)|2,{97,102,0}}, +/* 7352 */ {(11<<2)|2,{97,102,0}}, +/* 7353 */ {(11<<2)|2,{97,102,0}}, +/* 7354 */ {(11<<2)|2,{97,102,0}}, +/* 7355 */ {(11<<2)|2,{97,102,0}}, +/* 7356 */ {(11<<2)|2,{97,102,0}}, +/* 7357 */ {(11<<2)|2,{97,102,0}}, +/* 7358 */ {(11<<2)|2,{97,102,0}}, +/* 7359 */ {(11<<2)|2,{97,102,0}}, +/* 7360 */ {(16<<2)|3,{97,103,48}}, +/* 7361 */ {(16<<2)|3,{97,103,49}}, +/* 7362 */ {(16<<2)|3,{97,103,50}}, +/* 7363 */ {(16<<2)|3,{97,103,97}}, +/* 7364 */ {(16<<2)|3,{97,103,99}}, +/* 7365 */ {(16<<2)|3,{97,103,101}}, +/* 7366 */ {(16<<2)|3,{97,103,105}}, +/* 7367 */ {(16<<2)|3,{97,103,111}}, +/* 7368 */ {(16<<2)|3,{97,103,115}}, +/* 7369 */ {(16<<2)|3,{97,103,116}}, +/* 7370 */ {(11<<2)|2,{97,103,0}}, +/* 7371 */ {(11<<2)|2,{97,103,0}}, +/* 7372 */ {(11<<2)|2,{97,103,0}}, +/* 7373 */ {(11<<2)|2,{97,103,0}}, +/* 7374 */ {(11<<2)|2,{97,103,0}}, +/* 7375 */ {(11<<2)|2,{97,103,0}}, +/* 7376 */ {(11<<2)|2,{97,103,0}}, +/* 7377 */ {(11<<2)|2,{97,103,0}}, +/* 7378 */ {(11<<2)|2,{97,103,0}}, +/* 7379 */ {(11<<2)|2,{97,103,0}}, +/* 7380 */ {(11<<2)|2,{97,103,0}}, +/* 7381 */ {(11<<2)|2,{97,103,0}}, +/* 7382 */ {(11<<2)|2,{97,103,0}}, +/* 7383 */ {(11<<2)|2,{97,103,0}}, +/* 7384 */ {(11<<2)|2,{97,103,0}}, +/* 7385 */ {(11<<2)|2,{97,103,0}}, +/* 7386 */ {(11<<2)|2,{97,103,0}}, +/* 7387 */ {(11<<2)|2,{97,103,0}}, +/* 7388 */ {(11<<2)|2,{97,103,0}}, +/* 7389 */ {(11<<2)|2,{97,103,0}}, +/* 7390 */ {(11<<2)|2,{97,103,0}}, +/* 7391 */ {(11<<2)|2,{97,103,0}}, +/* 7392 */ {(16<<2)|3,{97,104,48}}, +/* 7393 */ {(16<<2)|3,{97,104,49}}, +/* 7394 */ {(16<<2)|3,{97,104,50}}, +/* 7395 */ {(16<<2)|3,{97,104,97}}, +/* 7396 */ {(16<<2)|3,{97,104,99}}, +/* 7397 */ {(16<<2)|3,{97,104,101}}, +/* 7398 */ {(16<<2)|3,{97,104,105}}, +/* 7399 */ {(16<<2)|3,{97,104,111}}, +/* 7400 */ {(16<<2)|3,{97,104,115}}, +/* 7401 */ {(16<<2)|3,{97,104,116}}, +/* 7402 */ {(11<<2)|2,{97,104,0}}, +/* 7403 */ {(11<<2)|2,{97,104,0}}, +/* 7404 */ {(11<<2)|2,{97,104,0}}, +/* 7405 */ {(11<<2)|2,{97,104,0}}, +/* 7406 */ {(11<<2)|2,{97,104,0}}, +/* 7407 */ {(11<<2)|2,{97,104,0}}, +/* 7408 */ {(11<<2)|2,{97,104,0}}, +/* 7409 */ {(11<<2)|2,{97,104,0}}, +/* 7410 */ {(11<<2)|2,{97,104,0}}, +/* 7411 */ {(11<<2)|2,{97,104,0}}, +/* 7412 */ {(11<<2)|2,{97,104,0}}, +/* 7413 */ {(11<<2)|2,{97,104,0}}, +/* 7414 */ {(11<<2)|2,{97,104,0}}, +/* 7415 */ {(11<<2)|2,{97,104,0}}, +/* 7416 */ {(11<<2)|2,{97,104,0}}, +/* 7417 */ {(11<<2)|2,{97,104,0}}, +/* 7418 */ {(11<<2)|2,{97,104,0}}, +/* 7419 */ {(11<<2)|2,{97,104,0}}, +/* 7420 */ {(11<<2)|2,{97,104,0}}, +/* 7421 */ {(11<<2)|2,{97,104,0}}, +/* 7422 */ {(11<<2)|2,{97,104,0}}, +/* 7423 */ {(11<<2)|2,{97,104,0}}, +/* 7424 */ {(16<<2)|3,{97,108,48}}, +/* 7425 */ {(16<<2)|3,{97,108,49}}, +/* 7426 */ {(16<<2)|3,{97,108,50}}, +/* 7427 */ {(16<<2)|3,{97,108,97}}, +/* 7428 */ {(16<<2)|3,{97,108,99}}, +/* 7429 */ {(16<<2)|3,{97,108,101}}, +/* 7430 */ {(16<<2)|3,{97,108,105}}, +/* 7431 */ {(16<<2)|3,{97,108,111}}, +/* 7432 */ {(16<<2)|3,{97,108,115}}, +/* 7433 */ {(16<<2)|3,{97,108,116}}, +/* 7434 */ {(11<<2)|2,{97,108,0}}, +/* 7435 */ {(11<<2)|2,{97,108,0}}, +/* 7436 */ {(11<<2)|2,{97,108,0}}, +/* 7437 */ {(11<<2)|2,{97,108,0}}, +/* 7438 */ {(11<<2)|2,{97,108,0}}, +/* 7439 */ {(11<<2)|2,{97,108,0}}, +/* 7440 */ {(11<<2)|2,{97,108,0}}, +/* 7441 */ {(11<<2)|2,{97,108,0}}, +/* 7442 */ {(11<<2)|2,{97,108,0}}, +/* 7443 */ {(11<<2)|2,{97,108,0}}, +/* 7444 */ {(11<<2)|2,{97,108,0}}, +/* 7445 */ {(11<<2)|2,{97,108,0}}, +/* 7446 */ {(11<<2)|2,{97,108,0}}, +/* 7447 */ {(11<<2)|2,{97,108,0}}, +/* 7448 */ {(11<<2)|2,{97,108,0}}, +/* 7449 */ {(11<<2)|2,{97,108,0}}, +/* 7450 */ {(11<<2)|2,{97,108,0}}, +/* 7451 */ {(11<<2)|2,{97,108,0}}, +/* 7452 */ {(11<<2)|2,{97,108,0}}, +/* 7453 */ {(11<<2)|2,{97,108,0}}, +/* 7454 */ {(11<<2)|2,{97,108,0}}, +/* 7455 */ {(11<<2)|2,{97,108,0}}, +/* 7456 */ {(16<<2)|3,{97,109,48}}, +/* 7457 */ {(16<<2)|3,{97,109,49}}, +/* 7458 */ {(16<<2)|3,{97,109,50}}, +/* 7459 */ {(16<<2)|3,{97,109,97}}, +/* 7460 */ {(16<<2)|3,{97,109,99}}, +/* 7461 */ {(16<<2)|3,{97,109,101}}, +/* 7462 */ {(16<<2)|3,{97,109,105}}, +/* 7463 */ {(16<<2)|3,{97,109,111}}, +/* 7464 */ {(16<<2)|3,{97,109,115}}, +/* 7465 */ {(16<<2)|3,{97,109,116}}, +/* 7466 */ {(11<<2)|2,{97,109,0}}, +/* 7467 */ {(11<<2)|2,{97,109,0}}, +/* 7468 */ {(11<<2)|2,{97,109,0}}, +/* 7469 */ {(11<<2)|2,{97,109,0}}, +/* 7470 */ {(11<<2)|2,{97,109,0}}, +/* 7471 */ {(11<<2)|2,{97,109,0}}, +/* 7472 */ {(11<<2)|2,{97,109,0}}, +/* 7473 */ {(11<<2)|2,{97,109,0}}, +/* 7474 */ {(11<<2)|2,{97,109,0}}, +/* 7475 */ {(11<<2)|2,{97,109,0}}, +/* 7476 */ {(11<<2)|2,{97,109,0}}, +/* 7477 */ {(11<<2)|2,{97,109,0}}, +/* 7478 */ {(11<<2)|2,{97,109,0}}, +/* 7479 */ {(11<<2)|2,{97,109,0}}, +/* 7480 */ {(11<<2)|2,{97,109,0}}, +/* 7481 */ {(11<<2)|2,{97,109,0}}, +/* 7482 */ {(11<<2)|2,{97,109,0}}, +/* 7483 */ {(11<<2)|2,{97,109,0}}, +/* 7484 */ {(11<<2)|2,{97,109,0}}, +/* 7485 */ {(11<<2)|2,{97,109,0}}, +/* 7486 */ {(11<<2)|2,{97,109,0}}, +/* 7487 */ {(11<<2)|2,{97,109,0}}, +/* 7488 */ {(16<<2)|3,{97,110,48}}, +/* 7489 */ {(16<<2)|3,{97,110,49}}, +/* 7490 */ {(16<<2)|3,{97,110,50}}, +/* 7491 */ {(16<<2)|3,{97,110,97}}, +/* 7492 */ {(16<<2)|3,{97,110,99}}, +/* 7493 */ {(16<<2)|3,{97,110,101}}, +/* 7494 */ {(16<<2)|3,{97,110,105}}, +/* 7495 */ {(16<<2)|3,{97,110,111}}, +/* 7496 */ {(16<<2)|3,{97,110,115}}, +/* 7497 */ {(16<<2)|3,{97,110,116}}, +/* 7498 */ {(11<<2)|2,{97,110,0}}, +/* 7499 */ {(11<<2)|2,{97,110,0}}, +/* 7500 */ {(11<<2)|2,{97,110,0}}, +/* 7501 */ {(11<<2)|2,{97,110,0}}, +/* 7502 */ {(11<<2)|2,{97,110,0}}, +/* 7503 */ {(11<<2)|2,{97,110,0}}, +/* 7504 */ {(11<<2)|2,{97,110,0}}, +/* 7505 */ {(11<<2)|2,{97,110,0}}, +/* 7506 */ {(11<<2)|2,{97,110,0}}, +/* 7507 */ {(11<<2)|2,{97,110,0}}, +/* 7508 */ {(11<<2)|2,{97,110,0}}, +/* 7509 */ {(11<<2)|2,{97,110,0}}, +/* 7510 */ {(11<<2)|2,{97,110,0}}, +/* 7511 */ {(11<<2)|2,{97,110,0}}, +/* 7512 */ {(11<<2)|2,{97,110,0}}, +/* 7513 */ {(11<<2)|2,{97,110,0}}, +/* 7514 */ {(11<<2)|2,{97,110,0}}, +/* 7515 */ {(11<<2)|2,{97,110,0}}, +/* 7516 */ {(11<<2)|2,{97,110,0}}, +/* 7517 */ {(11<<2)|2,{97,110,0}}, +/* 7518 */ {(11<<2)|2,{97,110,0}}, +/* 7519 */ {(11<<2)|2,{97,110,0}}, +/* 7520 */ {(16<<2)|3,{97,112,48}}, +/* 7521 */ {(16<<2)|3,{97,112,49}}, +/* 7522 */ {(16<<2)|3,{97,112,50}}, +/* 7523 */ {(16<<2)|3,{97,112,97}}, +/* 7524 */ {(16<<2)|3,{97,112,99}}, +/* 7525 */ {(16<<2)|3,{97,112,101}}, +/* 7526 */ {(16<<2)|3,{97,112,105}}, +/* 7527 */ {(16<<2)|3,{97,112,111}}, +/* 7528 */ {(16<<2)|3,{97,112,115}}, +/* 7529 */ {(16<<2)|3,{97,112,116}}, +/* 7530 */ {(11<<2)|2,{97,112,0}}, +/* 7531 */ {(11<<2)|2,{97,112,0}}, +/* 7532 */ {(11<<2)|2,{97,112,0}}, +/* 7533 */ {(11<<2)|2,{97,112,0}}, +/* 7534 */ {(11<<2)|2,{97,112,0}}, +/* 7535 */ {(11<<2)|2,{97,112,0}}, +/* 7536 */ {(11<<2)|2,{97,112,0}}, +/* 7537 */ {(11<<2)|2,{97,112,0}}, +/* 7538 */ {(11<<2)|2,{97,112,0}}, +/* 7539 */ {(11<<2)|2,{97,112,0}}, +/* 7540 */ {(11<<2)|2,{97,112,0}}, +/* 7541 */ {(11<<2)|2,{97,112,0}}, +/* 7542 */ {(11<<2)|2,{97,112,0}}, +/* 7543 */ {(11<<2)|2,{97,112,0}}, +/* 7544 */ {(11<<2)|2,{97,112,0}}, +/* 7545 */ {(11<<2)|2,{97,112,0}}, +/* 7546 */ {(11<<2)|2,{97,112,0}}, +/* 7547 */ {(11<<2)|2,{97,112,0}}, +/* 7548 */ {(11<<2)|2,{97,112,0}}, +/* 7549 */ {(11<<2)|2,{97,112,0}}, +/* 7550 */ {(11<<2)|2,{97,112,0}}, +/* 7551 */ {(11<<2)|2,{97,112,0}}, +/* 7552 */ {(16<<2)|3,{97,114,48}}, +/* 7553 */ {(16<<2)|3,{97,114,49}}, +/* 7554 */ {(16<<2)|3,{97,114,50}}, +/* 7555 */ {(16<<2)|3,{97,114,97}}, +/* 7556 */ {(16<<2)|3,{97,114,99}}, +/* 7557 */ {(16<<2)|3,{97,114,101}}, +/* 7558 */ {(16<<2)|3,{97,114,105}}, +/* 7559 */ {(16<<2)|3,{97,114,111}}, +/* 7560 */ {(16<<2)|3,{97,114,115}}, +/* 7561 */ {(16<<2)|3,{97,114,116}}, +/* 7562 */ {(11<<2)|2,{97,114,0}}, +/* 7563 */ {(11<<2)|2,{97,114,0}}, +/* 7564 */ {(11<<2)|2,{97,114,0}}, +/* 7565 */ {(11<<2)|2,{97,114,0}}, +/* 7566 */ {(11<<2)|2,{97,114,0}}, +/* 7567 */ {(11<<2)|2,{97,114,0}}, +/* 7568 */ {(11<<2)|2,{97,114,0}}, +/* 7569 */ {(11<<2)|2,{97,114,0}}, +/* 7570 */ {(11<<2)|2,{97,114,0}}, +/* 7571 */ {(11<<2)|2,{97,114,0}}, +/* 7572 */ {(11<<2)|2,{97,114,0}}, +/* 7573 */ {(11<<2)|2,{97,114,0}}, +/* 7574 */ {(11<<2)|2,{97,114,0}}, +/* 7575 */ {(11<<2)|2,{97,114,0}}, +/* 7576 */ {(11<<2)|2,{97,114,0}}, +/* 7577 */ {(11<<2)|2,{97,114,0}}, +/* 7578 */ {(11<<2)|2,{97,114,0}}, +/* 7579 */ {(11<<2)|2,{97,114,0}}, +/* 7580 */ {(11<<2)|2,{97,114,0}}, +/* 7581 */ {(11<<2)|2,{97,114,0}}, +/* 7582 */ {(11<<2)|2,{97,114,0}}, +/* 7583 */ {(11<<2)|2,{97,114,0}}, +/* 7584 */ {(16<<2)|3,{97,117,48}}, +/* 7585 */ {(16<<2)|3,{97,117,49}}, +/* 7586 */ {(16<<2)|3,{97,117,50}}, +/* 7587 */ {(16<<2)|3,{97,117,97}}, +/* 7588 */ {(16<<2)|3,{97,117,99}}, +/* 7589 */ {(16<<2)|3,{97,117,101}}, +/* 7590 */ {(16<<2)|3,{97,117,105}}, +/* 7591 */ {(16<<2)|3,{97,117,111}}, +/* 7592 */ {(16<<2)|3,{97,117,115}}, +/* 7593 */ {(16<<2)|3,{97,117,116}}, +/* 7594 */ {(11<<2)|2,{97,117,0}}, +/* 7595 */ {(11<<2)|2,{97,117,0}}, +/* 7596 */ {(11<<2)|2,{97,117,0}}, +/* 7597 */ {(11<<2)|2,{97,117,0}}, +/* 7598 */ {(11<<2)|2,{97,117,0}}, +/* 7599 */ {(11<<2)|2,{97,117,0}}, +/* 7600 */ {(11<<2)|2,{97,117,0}}, +/* 7601 */ {(11<<2)|2,{97,117,0}}, +/* 7602 */ {(11<<2)|2,{97,117,0}}, +/* 7603 */ {(11<<2)|2,{97,117,0}}, +/* 7604 */ {(11<<2)|2,{97,117,0}}, +/* 7605 */ {(11<<2)|2,{97,117,0}}, +/* 7606 */ {(11<<2)|2,{97,117,0}}, +/* 7607 */ {(11<<2)|2,{97,117,0}}, +/* 7608 */ {(11<<2)|2,{97,117,0}}, +/* 7609 */ {(11<<2)|2,{97,117,0}}, +/* 7610 */ {(11<<2)|2,{97,117,0}}, +/* 7611 */ {(11<<2)|2,{97,117,0}}, +/* 7612 */ {(11<<2)|2,{97,117,0}}, +/* 7613 */ {(11<<2)|2,{97,117,0}}, +/* 7614 */ {(11<<2)|2,{97,117,0}}, +/* 7615 */ {(11<<2)|2,{97,117,0}}, +/* 7616 */ {(12<<2)|2,{97,58,0}}, +/* 7617 */ {(12<<2)|2,{97,58,0}}, +/* 7618 */ {(12<<2)|2,{97,58,0}}, +/* 7619 */ {(12<<2)|2,{97,58,0}}, +/* 7620 */ {(12<<2)|2,{97,58,0}}, +/* 7621 */ {(12<<2)|2,{97,58,0}}, +/* 7622 */ {(12<<2)|2,{97,58,0}}, +/* 7623 */ {(12<<2)|2,{97,58,0}}, +/* 7624 */ {(12<<2)|2,{97,58,0}}, +/* 7625 */ {(12<<2)|2,{97,58,0}}, +/* 7626 */ {(12<<2)|2,{97,58,0}}, +/* 7627 */ {(12<<2)|2,{97,58,0}}, +/* 7628 */ {(12<<2)|2,{97,58,0}}, +/* 7629 */ {(12<<2)|2,{97,58,0}}, +/* 7630 */ {(12<<2)|2,{97,58,0}}, +/* 7631 */ {(12<<2)|2,{97,58,0}}, +/* 7632 */ {(12<<2)|2,{97,66,0}}, +/* 7633 */ {(12<<2)|2,{97,66,0}}, +/* 7634 */ {(12<<2)|2,{97,66,0}}, +/* 7635 */ {(12<<2)|2,{97,66,0}}, +/* 7636 */ {(12<<2)|2,{97,66,0}}, +/* 7637 */ {(12<<2)|2,{97,66,0}}, +/* 7638 */ {(12<<2)|2,{97,66,0}}, +/* 7639 */ {(12<<2)|2,{97,66,0}}, +/* 7640 */ {(12<<2)|2,{97,66,0}}, +/* 7641 */ {(12<<2)|2,{97,66,0}}, +/* 7642 */ {(12<<2)|2,{97,66,0}}, +/* 7643 */ {(12<<2)|2,{97,66,0}}, +/* 7644 */ {(12<<2)|2,{97,66,0}}, +/* 7645 */ {(12<<2)|2,{97,66,0}}, +/* 7646 */ {(12<<2)|2,{97,66,0}}, +/* 7647 */ {(12<<2)|2,{97,66,0}}, +/* 7648 */ {(12<<2)|2,{97,67,0}}, +/* 7649 */ {(12<<2)|2,{97,67,0}}, +/* 7650 */ {(12<<2)|2,{97,67,0}}, +/* 7651 */ {(12<<2)|2,{97,67,0}}, +/* 7652 */ {(12<<2)|2,{97,67,0}}, +/* 7653 */ {(12<<2)|2,{97,67,0}}, +/* 7654 */ {(12<<2)|2,{97,67,0}}, +/* 7655 */ {(12<<2)|2,{97,67,0}}, +/* 7656 */ {(12<<2)|2,{97,67,0}}, +/* 7657 */ {(12<<2)|2,{97,67,0}}, +/* 7658 */ {(12<<2)|2,{97,67,0}}, +/* 7659 */ {(12<<2)|2,{97,67,0}}, +/* 7660 */ {(12<<2)|2,{97,67,0}}, +/* 7661 */ {(12<<2)|2,{97,67,0}}, +/* 7662 */ {(12<<2)|2,{97,67,0}}, +/* 7663 */ {(12<<2)|2,{97,67,0}}, +/* 7664 */ {(12<<2)|2,{97,68,0}}, +/* 7665 */ {(12<<2)|2,{97,68,0}}, +/* 7666 */ {(12<<2)|2,{97,68,0}}, +/* 7667 */ {(12<<2)|2,{97,68,0}}, +/* 7668 */ {(12<<2)|2,{97,68,0}}, +/* 7669 */ {(12<<2)|2,{97,68,0}}, +/* 7670 */ {(12<<2)|2,{97,68,0}}, +/* 7671 */ {(12<<2)|2,{97,68,0}}, +/* 7672 */ {(12<<2)|2,{97,68,0}}, +/* 7673 */ {(12<<2)|2,{97,68,0}}, +/* 7674 */ {(12<<2)|2,{97,68,0}}, +/* 7675 */ {(12<<2)|2,{97,68,0}}, +/* 7676 */ {(12<<2)|2,{97,68,0}}, +/* 7677 */ {(12<<2)|2,{97,68,0}}, +/* 7678 */ {(12<<2)|2,{97,68,0}}, +/* 7679 */ {(12<<2)|2,{97,68,0}}, +/* 7680 */ {(12<<2)|2,{97,69,0}}, +/* 7681 */ {(12<<2)|2,{97,69,0}}, +/* 7682 */ {(12<<2)|2,{97,69,0}}, +/* 7683 */ {(12<<2)|2,{97,69,0}}, +/* 7684 */ {(12<<2)|2,{97,69,0}}, +/* 7685 */ {(12<<2)|2,{97,69,0}}, +/* 7686 */ {(12<<2)|2,{97,69,0}}, +/* 7687 */ {(12<<2)|2,{97,69,0}}, +/* 7688 */ {(12<<2)|2,{97,69,0}}, +/* 7689 */ {(12<<2)|2,{97,69,0}}, +/* 7690 */ {(12<<2)|2,{97,69,0}}, +/* 7691 */ {(12<<2)|2,{97,69,0}}, +/* 7692 */ {(12<<2)|2,{97,69,0}}, +/* 7693 */ {(12<<2)|2,{97,69,0}}, +/* 7694 */ {(12<<2)|2,{97,69,0}}, +/* 7695 */ {(12<<2)|2,{97,69,0}}, +/* 7696 */ {(12<<2)|2,{97,70,0}}, +/* 7697 */ {(12<<2)|2,{97,70,0}}, +/* 7698 */ {(12<<2)|2,{97,70,0}}, +/* 7699 */ {(12<<2)|2,{97,70,0}}, +/* 7700 */ {(12<<2)|2,{97,70,0}}, +/* 7701 */ {(12<<2)|2,{97,70,0}}, +/* 7702 */ {(12<<2)|2,{97,70,0}}, +/* 7703 */ {(12<<2)|2,{97,70,0}}, +/* 7704 */ {(12<<2)|2,{97,70,0}}, +/* 7705 */ {(12<<2)|2,{97,70,0}}, +/* 7706 */ {(12<<2)|2,{97,70,0}}, +/* 7707 */ {(12<<2)|2,{97,70,0}}, +/* 7708 */ {(12<<2)|2,{97,70,0}}, +/* 7709 */ {(12<<2)|2,{97,70,0}}, +/* 7710 */ {(12<<2)|2,{97,70,0}}, +/* 7711 */ {(12<<2)|2,{97,70,0}}, +/* 7712 */ {(12<<2)|2,{97,71,0}}, +/* 7713 */ {(12<<2)|2,{97,71,0}}, +/* 7714 */ {(12<<2)|2,{97,71,0}}, +/* 7715 */ {(12<<2)|2,{97,71,0}}, +/* 7716 */ {(12<<2)|2,{97,71,0}}, +/* 7717 */ {(12<<2)|2,{97,71,0}}, +/* 7718 */ {(12<<2)|2,{97,71,0}}, +/* 7719 */ {(12<<2)|2,{97,71,0}}, +/* 7720 */ {(12<<2)|2,{97,71,0}}, +/* 7721 */ {(12<<2)|2,{97,71,0}}, +/* 7722 */ {(12<<2)|2,{97,71,0}}, +/* 7723 */ {(12<<2)|2,{97,71,0}}, +/* 7724 */ {(12<<2)|2,{97,71,0}}, +/* 7725 */ {(12<<2)|2,{97,71,0}}, +/* 7726 */ {(12<<2)|2,{97,71,0}}, +/* 7727 */ {(12<<2)|2,{97,71,0}}, +/* 7728 */ {(12<<2)|2,{97,72,0}}, +/* 7729 */ {(12<<2)|2,{97,72,0}}, +/* 7730 */ {(12<<2)|2,{97,72,0}}, +/* 7731 */ {(12<<2)|2,{97,72,0}}, +/* 7732 */ {(12<<2)|2,{97,72,0}}, +/* 7733 */ {(12<<2)|2,{97,72,0}}, +/* 7734 */ {(12<<2)|2,{97,72,0}}, +/* 7735 */ {(12<<2)|2,{97,72,0}}, +/* 7736 */ {(12<<2)|2,{97,72,0}}, +/* 7737 */ {(12<<2)|2,{97,72,0}}, +/* 7738 */ {(12<<2)|2,{97,72,0}}, +/* 7739 */ {(12<<2)|2,{97,72,0}}, +/* 7740 */ {(12<<2)|2,{97,72,0}}, +/* 7741 */ {(12<<2)|2,{97,72,0}}, +/* 7742 */ {(12<<2)|2,{97,72,0}}, +/* 7743 */ {(12<<2)|2,{97,72,0}}, +/* 7744 */ {(12<<2)|2,{97,73,0}}, +/* 7745 */ {(12<<2)|2,{97,73,0}}, +/* 7746 */ {(12<<2)|2,{97,73,0}}, +/* 7747 */ {(12<<2)|2,{97,73,0}}, +/* 7748 */ {(12<<2)|2,{97,73,0}}, +/* 7749 */ {(12<<2)|2,{97,73,0}}, +/* 7750 */ {(12<<2)|2,{97,73,0}}, +/* 7751 */ {(12<<2)|2,{97,73,0}}, +/* 7752 */ {(12<<2)|2,{97,73,0}}, +/* 7753 */ {(12<<2)|2,{97,73,0}}, +/* 7754 */ {(12<<2)|2,{97,73,0}}, +/* 7755 */ {(12<<2)|2,{97,73,0}}, +/* 7756 */ {(12<<2)|2,{97,73,0}}, +/* 7757 */ {(12<<2)|2,{97,73,0}}, +/* 7758 */ {(12<<2)|2,{97,73,0}}, +/* 7759 */ {(12<<2)|2,{97,73,0}}, +/* 7760 */ {(12<<2)|2,{97,74,0}}, +/* 7761 */ {(12<<2)|2,{97,74,0}}, +/* 7762 */ {(12<<2)|2,{97,74,0}}, +/* 7763 */ {(12<<2)|2,{97,74,0}}, +/* 7764 */ {(12<<2)|2,{97,74,0}}, +/* 7765 */ {(12<<2)|2,{97,74,0}}, +/* 7766 */ {(12<<2)|2,{97,74,0}}, +/* 7767 */ {(12<<2)|2,{97,74,0}}, +/* 7768 */ {(12<<2)|2,{97,74,0}}, +/* 7769 */ {(12<<2)|2,{97,74,0}}, +/* 7770 */ {(12<<2)|2,{97,74,0}}, +/* 7771 */ {(12<<2)|2,{97,74,0}}, +/* 7772 */ {(12<<2)|2,{97,74,0}}, +/* 7773 */ {(12<<2)|2,{97,74,0}}, +/* 7774 */ {(12<<2)|2,{97,74,0}}, +/* 7775 */ {(12<<2)|2,{97,74,0}}, +/* 7776 */ {(12<<2)|2,{97,75,0}}, +/* 7777 */ {(12<<2)|2,{97,75,0}}, +/* 7778 */ {(12<<2)|2,{97,75,0}}, +/* 7779 */ {(12<<2)|2,{97,75,0}}, +/* 7780 */ {(12<<2)|2,{97,75,0}}, +/* 7781 */ {(12<<2)|2,{97,75,0}}, +/* 7782 */ {(12<<2)|2,{97,75,0}}, +/* 7783 */ {(12<<2)|2,{97,75,0}}, +/* 7784 */ {(12<<2)|2,{97,75,0}}, +/* 7785 */ {(12<<2)|2,{97,75,0}}, +/* 7786 */ {(12<<2)|2,{97,75,0}}, +/* 7787 */ {(12<<2)|2,{97,75,0}}, +/* 7788 */ {(12<<2)|2,{97,75,0}}, +/* 7789 */ {(12<<2)|2,{97,75,0}}, +/* 7790 */ {(12<<2)|2,{97,75,0}}, +/* 7791 */ {(12<<2)|2,{97,75,0}}, +/* 7792 */ {(12<<2)|2,{97,76,0}}, +/* 7793 */ {(12<<2)|2,{97,76,0}}, +/* 7794 */ {(12<<2)|2,{97,76,0}}, +/* 7795 */ {(12<<2)|2,{97,76,0}}, +/* 7796 */ {(12<<2)|2,{97,76,0}}, +/* 7797 */ {(12<<2)|2,{97,76,0}}, +/* 7798 */ {(12<<2)|2,{97,76,0}}, +/* 7799 */ {(12<<2)|2,{97,76,0}}, +/* 7800 */ {(12<<2)|2,{97,76,0}}, +/* 7801 */ {(12<<2)|2,{97,76,0}}, +/* 7802 */ {(12<<2)|2,{97,76,0}}, +/* 7803 */ {(12<<2)|2,{97,76,0}}, +/* 7804 */ {(12<<2)|2,{97,76,0}}, +/* 7805 */ {(12<<2)|2,{97,76,0}}, +/* 7806 */ {(12<<2)|2,{97,76,0}}, +/* 7807 */ {(12<<2)|2,{97,76,0}}, +/* 7808 */ {(12<<2)|2,{97,77,0}}, +/* 7809 */ {(12<<2)|2,{97,77,0}}, +/* 7810 */ {(12<<2)|2,{97,77,0}}, +/* 7811 */ {(12<<2)|2,{97,77,0}}, +/* 7812 */ {(12<<2)|2,{97,77,0}}, +/* 7813 */ {(12<<2)|2,{97,77,0}}, +/* 7814 */ {(12<<2)|2,{97,77,0}}, +/* 7815 */ {(12<<2)|2,{97,77,0}}, +/* 7816 */ {(12<<2)|2,{97,77,0}}, +/* 7817 */ {(12<<2)|2,{97,77,0}}, +/* 7818 */ {(12<<2)|2,{97,77,0}}, +/* 7819 */ {(12<<2)|2,{97,77,0}}, +/* 7820 */ {(12<<2)|2,{97,77,0}}, +/* 7821 */ {(12<<2)|2,{97,77,0}}, +/* 7822 */ {(12<<2)|2,{97,77,0}}, +/* 7823 */ {(12<<2)|2,{97,77,0}}, +/* 7824 */ {(12<<2)|2,{97,78,0}}, +/* 7825 */ {(12<<2)|2,{97,78,0}}, +/* 7826 */ {(12<<2)|2,{97,78,0}}, +/* 7827 */ {(12<<2)|2,{97,78,0}}, +/* 7828 */ {(12<<2)|2,{97,78,0}}, +/* 7829 */ {(12<<2)|2,{97,78,0}}, +/* 7830 */ {(12<<2)|2,{97,78,0}}, +/* 7831 */ {(12<<2)|2,{97,78,0}}, +/* 7832 */ {(12<<2)|2,{97,78,0}}, +/* 7833 */ {(12<<2)|2,{97,78,0}}, +/* 7834 */ {(12<<2)|2,{97,78,0}}, +/* 7835 */ {(12<<2)|2,{97,78,0}}, +/* 7836 */ {(12<<2)|2,{97,78,0}}, +/* 7837 */ {(12<<2)|2,{97,78,0}}, +/* 7838 */ {(12<<2)|2,{97,78,0}}, +/* 7839 */ {(12<<2)|2,{97,78,0}}, +/* 7840 */ {(12<<2)|2,{97,79,0}}, +/* 7841 */ {(12<<2)|2,{97,79,0}}, +/* 7842 */ {(12<<2)|2,{97,79,0}}, +/* 7843 */ {(12<<2)|2,{97,79,0}}, +/* 7844 */ {(12<<2)|2,{97,79,0}}, +/* 7845 */ {(12<<2)|2,{97,79,0}}, +/* 7846 */ {(12<<2)|2,{97,79,0}}, +/* 7847 */ {(12<<2)|2,{97,79,0}}, +/* 7848 */ {(12<<2)|2,{97,79,0}}, +/* 7849 */ {(12<<2)|2,{97,79,0}}, +/* 7850 */ {(12<<2)|2,{97,79,0}}, +/* 7851 */ {(12<<2)|2,{97,79,0}}, +/* 7852 */ {(12<<2)|2,{97,79,0}}, +/* 7853 */ {(12<<2)|2,{97,79,0}}, +/* 7854 */ {(12<<2)|2,{97,79,0}}, +/* 7855 */ {(12<<2)|2,{97,79,0}}, +/* 7856 */ {(12<<2)|2,{97,80,0}}, +/* 7857 */ {(12<<2)|2,{97,80,0}}, +/* 7858 */ {(12<<2)|2,{97,80,0}}, +/* 7859 */ {(12<<2)|2,{97,80,0}}, +/* 7860 */ {(12<<2)|2,{97,80,0}}, +/* 7861 */ {(12<<2)|2,{97,80,0}}, +/* 7862 */ {(12<<2)|2,{97,80,0}}, +/* 7863 */ {(12<<2)|2,{97,80,0}}, +/* 7864 */ {(12<<2)|2,{97,80,0}}, +/* 7865 */ {(12<<2)|2,{97,80,0}}, +/* 7866 */ {(12<<2)|2,{97,80,0}}, +/* 7867 */ {(12<<2)|2,{97,80,0}}, +/* 7868 */ {(12<<2)|2,{97,80,0}}, +/* 7869 */ {(12<<2)|2,{97,80,0}}, +/* 7870 */ {(12<<2)|2,{97,80,0}}, +/* 7871 */ {(12<<2)|2,{97,80,0}}, +/* 7872 */ {(12<<2)|2,{97,81,0}}, +/* 7873 */ {(12<<2)|2,{97,81,0}}, +/* 7874 */ {(12<<2)|2,{97,81,0}}, +/* 7875 */ {(12<<2)|2,{97,81,0}}, +/* 7876 */ {(12<<2)|2,{97,81,0}}, +/* 7877 */ {(12<<2)|2,{97,81,0}}, +/* 7878 */ {(12<<2)|2,{97,81,0}}, +/* 7879 */ {(12<<2)|2,{97,81,0}}, +/* 7880 */ {(12<<2)|2,{97,81,0}}, +/* 7881 */ {(12<<2)|2,{97,81,0}}, +/* 7882 */ {(12<<2)|2,{97,81,0}}, +/* 7883 */ {(12<<2)|2,{97,81,0}}, +/* 7884 */ {(12<<2)|2,{97,81,0}}, +/* 7885 */ {(12<<2)|2,{97,81,0}}, +/* 7886 */ {(12<<2)|2,{97,81,0}}, +/* 7887 */ {(12<<2)|2,{97,81,0}}, +/* 7888 */ {(12<<2)|2,{97,82,0}}, +/* 7889 */ {(12<<2)|2,{97,82,0}}, +/* 7890 */ {(12<<2)|2,{97,82,0}}, +/* 7891 */ {(12<<2)|2,{97,82,0}}, +/* 7892 */ {(12<<2)|2,{97,82,0}}, +/* 7893 */ {(12<<2)|2,{97,82,0}}, +/* 7894 */ {(12<<2)|2,{97,82,0}}, +/* 7895 */ {(12<<2)|2,{97,82,0}}, +/* 7896 */ {(12<<2)|2,{97,82,0}}, +/* 7897 */ {(12<<2)|2,{97,82,0}}, +/* 7898 */ {(12<<2)|2,{97,82,0}}, +/* 7899 */ {(12<<2)|2,{97,82,0}}, +/* 7900 */ {(12<<2)|2,{97,82,0}}, +/* 7901 */ {(12<<2)|2,{97,82,0}}, +/* 7902 */ {(12<<2)|2,{97,82,0}}, +/* 7903 */ {(12<<2)|2,{97,82,0}}, +/* 7904 */ {(12<<2)|2,{97,83,0}}, +/* 7905 */ {(12<<2)|2,{97,83,0}}, +/* 7906 */ {(12<<2)|2,{97,83,0}}, +/* 7907 */ {(12<<2)|2,{97,83,0}}, +/* 7908 */ {(12<<2)|2,{97,83,0}}, +/* 7909 */ {(12<<2)|2,{97,83,0}}, +/* 7910 */ {(12<<2)|2,{97,83,0}}, +/* 7911 */ {(12<<2)|2,{97,83,0}}, +/* 7912 */ {(12<<2)|2,{97,83,0}}, +/* 7913 */ {(12<<2)|2,{97,83,0}}, +/* 7914 */ {(12<<2)|2,{97,83,0}}, +/* 7915 */ {(12<<2)|2,{97,83,0}}, +/* 7916 */ {(12<<2)|2,{97,83,0}}, +/* 7917 */ {(12<<2)|2,{97,83,0}}, +/* 7918 */ {(12<<2)|2,{97,83,0}}, +/* 7919 */ {(12<<2)|2,{97,83,0}}, +/* 7920 */ {(12<<2)|2,{97,84,0}}, +/* 7921 */ {(12<<2)|2,{97,84,0}}, +/* 7922 */ {(12<<2)|2,{97,84,0}}, +/* 7923 */ {(12<<2)|2,{97,84,0}}, +/* 7924 */ {(12<<2)|2,{97,84,0}}, +/* 7925 */ {(12<<2)|2,{97,84,0}}, +/* 7926 */ {(12<<2)|2,{97,84,0}}, +/* 7927 */ {(12<<2)|2,{97,84,0}}, +/* 7928 */ {(12<<2)|2,{97,84,0}}, +/* 7929 */ {(12<<2)|2,{97,84,0}}, +/* 7930 */ {(12<<2)|2,{97,84,0}}, +/* 7931 */ {(12<<2)|2,{97,84,0}}, +/* 7932 */ {(12<<2)|2,{97,84,0}}, +/* 7933 */ {(12<<2)|2,{97,84,0}}, +/* 7934 */ {(12<<2)|2,{97,84,0}}, +/* 7935 */ {(12<<2)|2,{97,84,0}}, +/* 7936 */ {(12<<2)|2,{97,85,0}}, +/* 7937 */ {(12<<2)|2,{97,85,0}}, +/* 7938 */ {(12<<2)|2,{97,85,0}}, +/* 7939 */ {(12<<2)|2,{97,85,0}}, +/* 7940 */ {(12<<2)|2,{97,85,0}}, +/* 7941 */ {(12<<2)|2,{97,85,0}}, +/* 7942 */ {(12<<2)|2,{97,85,0}}, +/* 7943 */ {(12<<2)|2,{97,85,0}}, +/* 7944 */ {(12<<2)|2,{97,85,0}}, +/* 7945 */ {(12<<2)|2,{97,85,0}}, +/* 7946 */ {(12<<2)|2,{97,85,0}}, +/* 7947 */ {(12<<2)|2,{97,85,0}}, +/* 7948 */ {(12<<2)|2,{97,85,0}}, +/* 7949 */ {(12<<2)|2,{97,85,0}}, +/* 7950 */ {(12<<2)|2,{97,85,0}}, +/* 7951 */ {(12<<2)|2,{97,85,0}}, +/* 7952 */ {(12<<2)|2,{97,86,0}}, +/* 7953 */ {(12<<2)|2,{97,86,0}}, +/* 7954 */ {(12<<2)|2,{97,86,0}}, +/* 7955 */ {(12<<2)|2,{97,86,0}}, +/* 7956 */ {(12<<2)|2,{97,86,0}}, +/* 7957 */ {(12<<2)|2,{97,86,0}}, +/* 7958 */ {(12<<2)|2,{97,86,0}}, +/* 7959 */ {(12<<2)|2,{97,86,0}}, +/* 7960 */ {(12<<2)|2,{97,86,0}}, +/* 7961 */ {(12<<2)|2,{97,86,0}}, +/* 7962 */ {(12<<2)|2,{97,86,0}}, +/* 7963 */ {(12<<2)|2,{97,86,0}}, +/* 7964 */ {(12<<2)|2,{97,86,0}}, +/* 7965 */ {(12<<2)|2,{97,86,0}}, +/* 7966 */ {(12<<2)|2,{97,86,0}}, +/* 7967 */ {(12<<2)|2,{97,86,0}}, +/* 7968 */ {(12<<2)|2,{97,87,0}}, +/* 7969 */ {(12<<2)|2,{97,87,0}}, +/* 7970 */ {(12<<2)|2,{97,87,0}}, +/* 7971 */ {(12<<2)|2,{97,87,0}}, +/* 7972 */ {(12<<2)|2,{97,87,0}}, +/* 7973 */ {(12<<2)|2,{97,87,0}}, +/* 7974 */ {(12<<2)|2,{97,87,0}}, +/* 7975 */ {(12<<2)|2,{97,87,0}}, +/* 7976 */ {(12<<2)|2,{97,87,0}}, +/* 7977 */ {(12<<2)|2,{97,87,0}}, +/* 7978 */ {(12<<2)|2,{97,87,0}}, +/* 7979 */ {(12<<2)|2,{97,87,0}}, +/* 7980 */ {(12<<2)|2,{97,87,0}}, +/* 7981 */ {(12<<2)|2,{97,87,0}}, +/* 7982 */ {(12<<2)|2,{97,87,0}}, +/* 7983 */ {(12<<2)|2,{97,87,0}}, +/* 7984 */ {(12<<2)|2,{97,89,0}}, +/* 7985 */ {(12<<2)|2,{97,89,0}}, +/* 7986 */ {(12<<2)|2,{97,89,0}}, +/* 7987 */ {(12<<2)|2,{97,89,0}}, +/* 7988 */ {(12<<2)|2,{97,89,0}}, +/* 7989 */ {(12<<2)|2,{97,89,0}}, +/* 7990 */ {(12<<2)|2,{97,89,0}}, +/* 7991 */ {(12<<2)|2,{97,89,0}}, +/* 7992 */ {(12<<2)|2,{97,89,0}}, +/* 7993 */ {(12<<2)|2,{97,89,0}}, +/* 7994 */ {(12<<2)|2,{97,89,0}}, +/* 7995 */ {(12<<2)|2,{97,89,0}}, +/* 7996 */ {(12<<2)|2,{97,89,0}}, +/* 7997 */ {(12<<2)|2,{97,89,0}}, +/* 7998 */ {(12<<2)|2,{97,89,0}}, +/* 7999 */ {(12<<2)|2,{97,89,0}}, +/* 8000 */ {(12<<2)|2,{97,106,0}}, +/* 8001 */ {(12<<2)|2,{97,106,0}}, +/* 8002 */ {(12<<2)|2,{97,106,0}}, +/* 8003 */ {(12<<2)|2,{97,106,0}}, +/* 8004 */ {(12<<2)|2,{97,106,0}}, +/* 8005 */ {(12<<2)|2,{97,106,0}}, +/* 8006 */ {(12<<2)|2,{97,106,0}}, +/* 8007 */ {(12<<2)|2,{97,106,0}}, +/* 8008 */ {(12<<2)|2,{97,106,0}}, +/* 8009 */ {(12<<2)|2,{97,106,0}}, +/* 8010 */ {(12<<2)|2,{97,106,0}}, +/* 8011 */ {(12<<2)|2,{97,106,0}}, +/* 8012 */ {(12<<2)|2,{97,106,0}}, +/* 8013 */ {(12<<2)|2,{97,106,0}}, +/* 8014 */ {(12<<2)|2,{97,106,0}}, +/* 8015 */ {(12<<2)|2,{97,106,0}}, +/* 8016 */ {(12<<2)|2,{97,107,0}}, +/* 8017 */ {(12<<2)|2,{97,107,0}}, +/* 8018 */ {(12<<2)|2,{97,107,0}}, +/* 8019 */ {(12<<2)|2,{97,107,0}}, +/* 8020 */ {(12<<2)|2,{97,107,0}}, +/* 8021 */ {(12<<2)|2,{97,107,0}}, +/* 8022 */ {(12<<2)|2,{97,107,0}}, +/* 8023 */ {(12<<2)|2,{97,107,0}}, +/* 8024 */ {(12<<2)|2,{97,107,0}}, +/* 8025 */ {(12<<2)|2,{97,107,0}}, +/* 8026 */ {(12<<2)|2,{97,107,0}}, +/* 8027 */ {(12<<2)|2,{97,107,0}}, +/* 8028 */ {(12<<2)|2,{97,107,0}}, +/* 8029 */ {(12<<2)|2,{97,107,0}}, +/* 8030 */ {(12<<2)|2,{97,107,0}}, +/* 8031 */ {(12<<2)|2,{97,107,0}}, +/* 8032 */ {(12<<2)|2,{97,113,0}}, +/* 8033 */ {(12<<2)|2,{97,113,0}}, +/* 8034 */ {(12<<2)|2,{97,113,0}}, +/* 8035 */ {(12<<2)|2,{97,113,0}}, +/* 8036 */ {(12<<2)|2,{97,113,0}}, +/* 8037 */ {(12<<2)|2,{97,113,0}}, +/* 8038 */ {(12<<2)|2,{97,113,0}}, +/* 8039 */ {(12<<2)|2,{97,113,0}}, +/* 8040 */ {(12<<2)|2,{97,113,0}}, +/* 8041 */ {(12<<2)|2,{97,113,0}}, +/* 8042 */ {(12<<2)|2,{97,113,0}}, +/* 8043 */ {(12<<2)|2,{97,113,0}}, +/* 8044 */ {(12<<2)|2,{97,113,0}}, +/* 8045 */ {(12<<2)|2,{97,113,0}}, +/* 8046 */ {(12<<2)|2,{97,113,0}}, +/* 8047 */ {(12<<2)|2,{97,113,0}}, +/* 8048 */ {(12<<2)|2,{97,118,0}}, +/* 8049 */ {(12<<2)|2,{97,118,0}}, +/* 8050 */ {(12<<2)|2,{97,118,0}}, +/* 8051 */ {(12<<2)|2,{97,118,0}}, +/* 8052 */ {(12<<2)|2,{97,118,0}}, +/* 8053 */ {(12<<2)|2,{97,118,0}}, +/* 8054 */ {(12<<2)|2,{97,118,0}}, +/* 8055 */ {(12<<2)|2,{97,118,0}}, +/* 8056 */ {(12<<2)|2,{97,118,0}}, +/* 8057 */ {(12<<2)|2,{97,118,0}}, +/* 8058 */ {(12<<2)|2,{97,118,0}}, +/* 8059 */ {(12<<2)|2,{97,118,0}}, +/* 8060 */ {(12<<2)|2,{97,118,0}}, +/* 8061 */ {(12<<2)|2,{97,118,0}}, +/* 8062 */ {(12<<2)|2,{97,118,0}}, +/* 8063 */ {(12<<2)|2,{97,118,0}}, +/* 8064 */ {(12<<2)|2,{97,119,0}}, +/* 8065 */ {(12<<2)|2,{97,119,0}}, +/* 8066 */ {(12<<2)|2,{97,119,0}}, +/* 8067 */ {(12<<2)|2,{97,119,0}}, +/* 8068 */ {(12<<2)|2,{97,119,0}}, +/* 8069 */ {(12<<2)|2,{97,119,0}}, +/* 8070 */ {(12<<2)|2,{97,119,0}}, +/* 8071 */ {(12<<2)|2,{97,119,0}}, +/* 8072 */ {(12<<2)|2,{97,119,0}}, +/* 8073 */ {(12<<2)|2,{97,119,0}}, +/* 8074 */ {(12<<2)|2,{97,119,0}}, +/* 8075 */ {(12<<2)|2,{97,119,0}}, +/* 8076 */ {(12<<2)|2,{97,119,0}}, +/* 8077 */ {(12<<2)|2,{97,119,0}}, +/* 8078 */ {(12<<2)|2,{97,119,0}}, +/* 8079 */ {(12<<2)|2,{97,119,0}}, +/* 8080 */ {(12<<2)|2,{97,120,0}}, +/* 8081 */ {(12<<2)|2,{97,120,0}}, +/* 8082 */ {(12<<2)|2,{97,120,0}}, +/* 8083 */ {(12<<2)|2,{97,120,0}}, +/* 8084 */ {(12<<2)|2,{97,120,0}}, +/* 8085 */ {(12<<2)|2,{97,120,0}}, +/* 8086 */ {(12<<2)|2,{97,120,0}}, +/* 8087 */ {(12<<2)|2,{97,120,0}}, +/* 8088 */ {(12<<2)|2,{97,120,0}}, +/* 8089 */ {(12<<2)|2,{97,120,0}}, +/* 8090 */ {(12<<2)|2,{97,120,0}}, +/* 8091 */ {(12<<2)|2,{97,120,0}}, +/* 8092 */ {(12<<2)|2,{97,120,0}}, +/* 8093 */ {(12<<2)|2,{97,120,0}}, +/* 8094 */ {(12<<2)|2,{97,120,0}}, +/* 8095 */ {(12<<2)|2,{97,120,0}}, +/* 8096 */ {(12<<2)|2,{97,121,0}}, +/* 8097 */ {(12<<2)|2,{97,121,0}}, +/* 8098 */ {(12<<2)|2,{97,121,0}}, +/* 8099 */ {(12<<2)|2,{97,121,0}}, +/* 8100 */ {(12<<2)|2,{97,121,0}}, +/* 8101 */ {(12<<2)|2,{97,121,0}}, +/* 8102 */ {(12<<2)|2,{97,121,0}}, +/* 8103 */ {(12<<2)|2,{97,121,0}}, +/* 8104 */ {(12<<2)|2,{97,121,0}}, +/* 8105 */ {(12<<2)|2,{97,121,0}}, +/* 8106 */ {(12<<2)|2,{97,121,0}}, +/* 8107 */ {(12<<2)|2,{97,121,0}}, +/* 8108 */ {(12<<2)|2,{97,121,0}}, +/* 8109 */ {(12<<2)|2,{97,121,0}}, +/* 8110 */ {(12<<2)|2,{97,121,0}}, +/* 8111 */ {(12<<2)|2,{97,121,0}}, +/* 8112 */ {(12<<2)|2,{97,122,0}}, +/* 8113 */ {(12<<2)|2,{97,122,0}}, +/* 8114 */ {(12<<2)|2,{97,122,0}}, +/* 8115 */ {(12<<2)|2,{97,122,0}}, +/* 8116 */ {(12<<2)|2,{97,122,0}}, +/* 8117 */ {(12<<2)|2,{97,122,0}}, +/* 8118 */ {(12<<2)|2,{97,122,0}}, +/* 8119 */ {(12<<2)|2,{97,122,0}}, +/* 8120 */ {(12<<2)|2,{97,122,0}}, +/* 8121 */ {(12<<2)|2,{97,122,0}}, +/* 8122 */ {(12<<2)|2,{97,122,0}}, +/* 8123 */ {(12<<2)|2,{97,122,0}}, +/* 8124 */ {(12<<2)|2,{97,122,0}}, +/* 8125 */ {(12<<2)|2,{97,122,0}}, +/* 8126 */ {(12<<2)|2,{97,122,0}}, +/* 8127 */ {(12<<2)|2,{97,122,0}}, +/* 8128 */ {(13<<2)|2,{97,38,0}}, +/* 8129 */ {(13<<2)|2,{97,38,0}}, +/* 8130 */ {(13<<2)|2,{97,38,0}}, +/* 8131 */ {(13<<2)|2,{97,38,0}}, +/* 8132 */ {(13<<2)|2,{97,38,0}}, +/* 8133 */ {(13<<2)|2,{97,38,0}}, +/* 8134 */ {(13<<2)|2,{97,38,0}}, +/* 8135 */ {(13<<2)|2,{97,38,0}}, +/* 8136 */ {(13<<2)|2,{97,42,0}}, +/* 8137 */ {(13<<2)|2,{97,42,0}}, +/* 8138 */ {(13<<2)|2,{97,42,0}}, +/* 8139 */ {(13<<2)|2,{97,42,0}}, +/* 8140 */ {(13<<2)|2,{97,42,0}}, +/* 8141 */ {(13<<2)|2,{97,42,0}}, +/* 8142 */ {(13<<2)|2,{97,42,0}}, +/* 8143 */ {(13<<2)|2,{97,42,0}}, +/* 8144 */ {(13<<2)|2,{97,44,0}}, +/* 8145 */ {(13<<2)|2,{97,44,0}}, +/* 8146 */ {(13<<2)|2,{97,44,0}}, +/* 8147 */ {(13<<2)|2,{97,44,0}}, +/* 8148 */ {(13<<2)|2,{97,44,0}}, +/* 8149 */ {(13<<2)|2,{97,44,0}}, +/* 8150 */ {(13<<2)|2,{97,44,0}}, +/* 8151 */ {(13<<2)|2,{97,44,0}}, +/* 8152 */ {(13<<2)|2,{97,59,0}}, +/* 8153 */ {(13<<2)|2,{97,59,0}}, +/* 8154 */ {(13<<2)|2,{97,59,0}}, +/* 8155 */ {(13<<2)|2,{97,59,0}}, +/* 8156 */ {(13<<2)|2,{97,59,0}}, +/* 8157 */ {(13<<2)|2,{97,59,0}}, +/* 8158 */ {(13<<2)|2,{97,59,0}}, +/* 8159 */ {(13<<2)|2,{97,59,0}}, +/* 8160 */ {(13<<2)|2,{97,88,0}}, +/* 8161 */ {(13<<2)|2,{97,88,0}}, +/* 8162 */ {(13<<2)|2,{97,88,0}}, +/* 8163 */ {(13<<2)|2,{97,88,0}}, +/* 8164 */ {(13<<2)|2,{97,88,0}}, +/* 8165 */ {(13<<2)|2,{97,88,0}}, +/* 8166 */ {(13<<2)|2,{97,88,0}}, +/* 8167 */ {(13<<2)|2,{97,88,0}}, +/* 8168 */ {(13<<2)|2,{97,90,0}}, +/* 8169 */ {(13<<2)|2,{97,90,0}}, +/* 8170 */ {(13<<2)|2,{97,90,0}}, +/* 8171 */ {(13<<2)|2,{97,90,0}}, +/* 8172 */ {(13<<2)|2,{97,90,0}}, +/* 8173 */ {(13<<2)|2,{97,90,0}}, +/* 8174 */ {(13<<2)|2,{97,90,0}}, +/* 8175 */ {(13<<2)|2,{97,90,0}}, +/* 8176 */ {(15<<2)|2,{97,33,0}}, +/* 8177 */ {(15<<2)|2,{97,33,0}}, +/* 8178 */ {(15<<2)|2,{97,34,0}}, +/* 8179 */ {(15<<2)|2,{97,34,0}}, +/* 8180 */ {(15<<2)|2,{97,40,0}}, +/* 8181 */ {(15<<2)|2,{97,40,0}}, +/* 8182 */ {(15<<2)|2,{97,41,0}}, +/* 8183 */ {(15<<2)|2,{97,41,0}}, +/* 8184 */ {(15<<2)|2,{97,63,0}}, +/* 8185 */ {(15<<2)|2,{97,63,0}}, +/* 8186 */ {(16<<2)|2,{97,39,0}}, +/* 8187 */ {(16<<2)|2,{97,43,0}}, +/* 8188 */ {(16<<2)|2,{97,124,0}}, +/* 8189 */ {(5<<2)|1,{97,0,0}}, +/* 8190 */ {(5<<2)|1,{97,0,0}}, +/* 8191 */ {(5<<2)|1,{97,0,0}}, +/* 8192 */ {(15<<2)|3,{99,48,48}}, +/* 8193 */ {(15<<2)|3,{99,48,48}}, +/* 8194 */ {(15<<2)|3,{99,48,49}}, +/* 8195 */ {(15<<2)|3,{99,48,49}}, +/* 8196 */ {(15<<2)|3,{99,48,50}}, +/* 8197 */ {(15<<2)|3,{99,48,50}}, +/* 8198 */ {(15<<2)|3,{99,48,97}}, +/* 8199 */ {(15<<2)|3,{99,48,97}}, +/* 8200 */ {(15<<2)|3,{99,48,99}}, +/* 8201 */ {(15<<2)|3,{99,48,99}}, +/* 8202 */ {(15<<2)|3,{99,48,101}}, +/* 8203 */ {(15<<2)|3,{99,48,101}}, +/* 8204 */ {(15<<2)|3,{99,48,105}}, +/* 8205 */ {(15<<2)|3,{99,48,105}}, +/* 8206 */ {(15<<2)|3,{99,48,111}}, +/* 8207 */ {(15<<2)|3,{99,48,111}}, +/* 8208 */ {(15<<2)|3,{99,48,115}}, +/* 8209 */ {(15<<2)|3,{99,48,115}}, +/* 8210 */ {(15<<2)|3,{99,48,116}}, +/* 8211 */ {(15<<2)|3,{99,48,116}}, +/* 8212 */ {(16<<2)|3,{99,48,32}}, +/* 8213 */ {(16<<2)|3,{99,48,37}}, +/* 8214 */ {(16<<2)|3,{99,48,45}}, +/* 8215 */ {(16<<2)|3,{99,48,46}}, +/* 8216 */ {(16<<2)|3,{99,48,47}}, +/* 8217 */ {(16<<2)|3,{99,48,51}}, +/* 8218 */ {(16<<2)|3,{99,48,52}}, +/* 8219 */ {(16<<2)|3,{99,48,53}}, +/* 8220 */ {(16<<2)|3,{99,48,54}}, +/* 8221 */ {(16<<2)|3,{99,48,55}}, +/* 8222 */ {(16<<2)|3,{99,48,56}}, +/* 8223 */ {(16<<2)|3,{99,48,57}}, +/* 8224 */ {(16<<2)|3,{99,48,61}}, +/* 8225 */ {(16<<2)|3,{99,48,65}}, +/* 8226 */ {(16<<2)|3,{99,48,95}}, +/* 8227 */ {(16<<2)|3,{99,48,98}}, +/* 8228 */ {(16<<2)|3,{99,48,100}}, +/* 8229 */ {(16<<2)|3,{99,48,102}}, +/* 8230 */ {(16<<2)|3,{99,48,103}}, +/* 8231 */ {(16<<2)|3,{99,48,104}}, +/* 8232 */ {(16<<2)|3,{99,48,108}}, +/* 8233 */ {(16<<2)|3,{99,48,109}}, +/* 8234 */ {(16<<2)|3,{99,48,110}}, +/* 8235 */ {(16<<2)|3,{99,48,112}}, +/* 8236 */ {(16<<2)|3,{99,48,114}}, +/* 8237 */ {(16<<2)|3,{99,48,117}}, +/* 8238 */ {(10<<2)|2,{99,48,0}}, +/* 8239 */ {(10<<2)|2,{99,48,0}}, +/* 8240 */ {(10<<2)|2,{99,48,0}}, +/* 8241 */ {(10<<2)|2,{99,48,0}}, +/* 8242 */ {(10<<2)|2,{99,48,0}}, +/* 8243 */ {(10<<2)|2,{99,48,0}}, +/* 8244 */ {(10<<2)|2,{99,48,0}}, +/* 8245 */ {(10<<2)|2,{99,48,0}}, +/* 8246 */ {(10<<2)|2,{99,48,0}}, +/* 8247 */ {(10<<2)|2,{99,48,0}}, +/* 8248 */ {(10<<2)|2,{99,48,0}}, +/* 8249 */ {(10<<2)|2,{99,48,0}}, +/* 8250 */ {(10<<2)|2,{99,48,0}}, +/* 8251 */ {(10<<2)|2,{99,48,0}}, +/* 8252 */ {(10<<2)|2,{99,48,0}}, +/* 8253 */ {(10<<2)|2,{99,48,0}}, +/* 8254 */ {(10<<2)|2,{99,48,0}}, +/* 8255 */ {(10<<2)|2,{99,48,0}}, +/* 8256 */ {(15<<2)|3,{99,49,48}}, +/* 8257 */ {(15<<2)|3,{99,49,48}}, +/* 8258 */ {(15<<2)|3,{99,49,49}}, +/* 8259 */ {(15<<2)|3,{99,49,49}}, +/* 8260 */ {(15<<2)|3,{99,49,50}}, +/* 8261 */ {(15<<2)|3,{99,49,50}}, +/* 8262 */ {(15<<2)|3,{99,49,97}}, +/* 8263 */ {(15<<2)|3,{99,49,97}}, +/* 8264 */ {(15<<2)|3,{99,49,99}}, +/* 8265 */ {(15<<2)|3,{99,49,99}}, +/* 8266 */ {(15<<2)|3,{99,49,101}}, +/* 8267 */ {(15<<2)|3,{99,49,101}}, +/* 8268 */ {(15<<2)|3,{99,49,105}}, +/* 8269 */ {(15<<2)|3,{99,49,105}}, +/* 8270 */ {(15<<2)|3,{99,49,111}}, +/* 8271 */ {(15<<2)|3,{99,49,111}}, +/* 8272 */ {(15<<2)|3,{99,49,115}}, +/* 8273 */ {(15<<2)|3,{99,49,115}}, +/* 8274 */ {(15<<2)|3,{99,49,116}}, +/* 8275 */ {(15<<2)|3,{99,49,116}}, +/* 8276 */ {(16<<2)|3,{99,49,32}}, +/* 8277 */ {(16<<2)|3,{99,49,37}}, +/* 8278 */ {(16<<2)|3,{99,49,45}}, +/* 8279 */ {(16<<2)|3,{99,49,46}}, +/* 8280 */ {(16<<2)|3,{99,49,47}}, +/* 8281 */ {(16<<2)|3,{99,49,51}}, +/* 8282 */ {(16<<2)|3,{99,49,52}}, +/* 8283 */ {(16<<2)|3,{99,49,53}}, +/* 8284 */ {(16<<2)|3,{99,49,54}}, +/* 8285 */ {(16<<2)|3,{99,49,55}}, +/* 8286 */ {(16<<2)|3,{99,49,56}}, +/* 8287 */ {(16<<2)|3,{99,49,57}}, +/* 8288 */ {(16<<2)|3,{99,49,61}}, +/* 8289 */ {(16<<2)|3,{99,49,65}}, +/* 8290 */ {(16<<2)|3,{99,49,95}}, +/* 8291 */ {(16<<2)|3,{99,49,98}}, +/* 8292 */ {(16<<2)|3,{99,49,100}}, +/* 8293 */ {(16<<2)|3,{99,49,102}}, +/* 8294 */ {(16<<2)|3,{99,49,103}}, +/* 8295 */ {(16<<2)|3,{99,49,104}}, +/* 8296 */ {(16<<2)|3,{99,49,108}}, +/* 8297 */ {(16<<2)|3,{99,49,109}}, +/* 8298 */ {(16<<2)|3,{99,49,110}}, +/* 8299 */ {(16<<2)|3,{99,49,112}}, +/* 8300 */ {(16<<2)|3,{99,49,114}}, +/* 8301 */ {(16<<2)|3,{99,49,117}}, +/* 8302 */ {(10<<2)|2,{99,49,0}}, +/* 8303 */ {(10<<2)|2,{99,49,0}}, +/* 8304 */ {(10<<2)|2,{99,49,0}}, +/* 8305 */ {(10<<2)|2,{99,49,0}}, +/* 8306 */ {(10<<2)|2,{99,49,0}}, +/* 8307 */ {(10<<2)|2,{99,49,0}}, +/* 8308 */ {(10<<2)|2,{99,49,0}}, +/* 8309 */ {(10<<2)|2,{99,49,0}}, +/* 8310 */ {(10<<2)|2,{99,49,0}}, +/* 8311 */ {(10<<2)|2,{99,49,0}}, +/* 8312 */ {(10<<2)|2,{99,49,0}}, +/* 8313 */ {(10<<2)|2,{99,49,0}}, +/* 8314 */ {(10<<2)|2,{99,49,0}}, +/* 8315 */ {(10<<2)|2,{99,49,0}}, +/* 8316 */ {(10<<2)|2,{99,49,0}}, +/* 8317 */ {(10<<2)|2,{99,49,0}}, +/* 8318 */ {(10<<2)|2,{99,49,0}}, +/* 8319 */ {(10<<2)|2,{99,49,0}}, +/* 8320 */ {(15<<2)|3,{99,50,48}}, +/* 8321 */ {(15<<2)|3,{99,50,48}}, +/* 8322 */ {(15<<2)|3,{99,50,49}}, +/* 8323 */ {(15<<2)|3,{99,50,49}}, +/* 8324 */ {(15<<2)|3,{99,50,50}}, +/* 8325 */ {(15<<2)|3,{99,50,50}}, +/* 8326 */ {(15<<2)|3,{99,50,97}}, +/* 8327 */ {(15<<2)|3,{99,50,97}}, +/* 8328 */ {(15<<2)|3,{99,50,99}}, +/* 8329 */ {(15<<2)|3,{99,50,99}}, +/* 8330 */ {(15<<2)|3,{99,50,101}}, +/* 8331 */ {(15<<2)|3,{99,50,101}}, +/* 8332 */ {(15<<2)|3,{99,50,105}}, +/* 8333 */ {(15<<2)|3,{99,50,105}}, +/* 8334 */ {(15<<2)|3,{99,50,111}}, +/* 8335 */ {(15<<2)|3,{99,50,111}}, +/* 8336 */ {(15<<2)|3,{99,50,115}}, +/* 8337 */ {(15<<2)|3,{99,50,115}}, +/* 8338 */ {(15<<2)|3,{99,50,116}}, +/* 8339 */ {(15<<2)|3,{99,50,116}}, +/* 8340 */ {(16<<2)|3,{99,50,32}}, +/* 8341 */ {(16<<2)|3,{99,50,37}}, +/* 8342 */ {(16<<2)|3,{99,50,45}}, +/* 8343 */ {(16<<2)|3,{99,50,46}}, +/* 8344 */ {(16<<2)|3,{99,50,47}}, +/* 8345 */ {(16<<2)|3,{99,50,51}}, +/* 8346 */ {(16<<2)|3,{99,50,52}}, +/* 8347 */ {(16<<2)|3,{99,50,53}}, +/* 8348 */ {(16<<2)|3,{99,50,54}}, +/* 8349 */ {(16<<2)|3,{99,50,55}}, +/* 8350 */ {(16<<2)|3,{99,50,56}}, +/* 8351 */ {(16<<2)|3,{99,50,57}}, +/* 8352 */ {(16<<2)|3,{99,50,61}}, +/* 8353 */ {(16<<2)|3,{99,50,65}}, +/* 8354 */ {(16<<2)|3,{99,50,95}}, +/* 8355 */ {(16<<2)|3,{99,50,98}}, +/* 8356 */ {(16<<2)|3,{99,50,100}}, +/* 8357 */ {(16<<2)|3,{99,50,102}}, +/* 8358 */ {(16<<2)|3,{99,50,103}}, +/* 8359 */ {(16<<2)|3,{99,50,104}}, +/* 8360 */ {(16<<2)|3,{99,50,108}}, +/* 8361 */ {(16<<2)|3,{99,50,109}}, +/* 8362 */ {(16<<2)|3,{99,50,110}}, +/* 8363 */ {(16<<2)|3,{99,50,112}}, +/* 8364 */ {(16<<2)|3,{99,50,114}}, +/* 8365 */ {(16<<2)|3,{99,50,117}}, +/* 8366 */ {(10<<2)|2,{99,50,0}}, +/* 8367 */ {(10<<2)|2,{99,50,0}}, +/* 8368 */ {(10<<2)|2,{99,50,0}}, +/* 8369 */ {(10<<2)|2,{99,50,0}}, +/* 8370 */ {(10<<2)|2,{99,50,0}}, +/* 8371 */ {(10<<2)|2,{99,50,0}}, +/* 8372 */ {(10<<2)|2,{99,50,0}}, +/* 8373 */ {(10<<2)|2,{99,50,0}}, +/* 8374 */ {(10<<2)|2,{99,50,0}}, +/* 8375 */ {(10<<2)|2,{99,50,0}}, +/* 8376 */ {(10<<2)|2,{99,50,0}}, +/* 8377 */ {(10<<2)|2,{99,50,0}}, +/* 8378 */ {(10<<2)|2,{99,50,0}}, +/* 8379 */ {(10<<2)|2,{99,50,0}}, +/* 8380 */ {(10<<2)|2,{99,50,0}}, +/* 8381 */ {(10<<2)|2,{99,50,0}}, +/* 8382 */ {(10<<2)|2,{99,50,0}}, +/* 8383 */ {(10<<2)|2,{99,50,0}}, +/* 8384 */ {(15<<2)|3,{99,97,48}}, +/* 8385 */ {(15<<2)|3,{99,97,48}}, +/* 8386 */ {(15<<2)|3,{99,97,49}}, +/* 8387 */ {(15<<2)|3,{99,97,49}}, +/* 8388 */ {(15<<2)|3,{99,97,50}}, +/* 8389 */ {(15<<2)|3,{99,97,50}}, +/* 8390 */ {(15<<2)|3,{99,97,97}}, +/* 8391 */ {(15<<2)|3,{99,97,97}}, +/* 8392 */ {(15<<2)|3,{99,97,99}}, +/* 8393 */ {(15<<2)|3,{99,97,99}}, +/* 8394 */ {(15<<2)|3,{99,97,101}}, +/* 8395 */ {(15<<2)|3,{99,97,101}}, +/* 8396 */ {(15<<2)|3,{99,97,105}}, +/* 8397 */ {(15<<2)|3,{99,97,105}}, +/* 8398 */ {(15<<2)|3,{99,97,111}}, +/* 8399 */ {(15<<2)|3,{99,97,111}}, +/* 8400 */ {(15<<2)|3,{99,97,115}}, +/* 8401 */ {(15<<2)|3,{99,97,115}}, +/* 8402 */ {(15<<2)|3,{99,97,116}}, +/* 8403 */ {(15<<2)|3,{99,97,116}}, +/* 8404 */ {(16<<2)|3,{99,97,32}}, +/* 8405 */ {(16<<2)|3,{99,97,37}}, +/* 8406 */ {(16<<2)|3,{99,97,45}}, +/* 8407 */ {(16<<2)|3,{99,97,46}}, +/* 8408 */ {(16<<2)|3,{99,97,47}}, +/* 8409 */ {(16<<2)|3,{99,97,51}}, +/* 8410 */ {(16<<2)|3,{99,97,52}}, +/* 8411 */ {(16<<2)|3,{99,97,53}}, +/* 8412 */ {(16<<2)|3,{99,97,54}}, +/* 8413 */ {(16<<2)|3,{99,97,55}}, +/* 8414 */ {(16<<2)|3,{99,97,56}}, +/* 8415 */ {(16<<2)|3,{99,97,57}}, +/* 8416 */ {(16<<2)|3,{99,97,61}}, +/* 8417 */ {(16<<2)|3,{99,97,65}}, +/* 8418 */ {(16<<2)|3,{99,97,95}}, +/* 8419 */ {(16<<2)|3,{99,97,98}}, +/* 8420 */ {(16<<2)|3,{99,97,100}}, +/* 8421 */ {(16<<2)|3,{99,97,102}}, +/* 8422 */ {(16<<2)|3,{99,97,103}}, +/* 8423 */ {(16<<2)|3,{99,97,104}}, +/* 8424 */ {(16<<2)|3,{99,97,108}}, +/* 8425 */ {(16<<2)|3,{99,97,109}}, +/* 8426 */ {(16<<2)|3,{99,97,110}}, +/* 8427 */ {(16<<2)|3,{99,97,112}}, +/* 8428 */ {(16<<2)|3,{99,97,114}}, +/* 8429 */ {(16<<2)|3,{99,97,117}}, +/* 8430 */ {(10<<2)|2,{99,97,0}}, +/* 8431 */ {(10<<2)|2,{99,97,0}}, +/* 8432 */ {(10<<2)|2,{99,97,0}}, +/* 8433 */ {(10<<2)|2,{99,97,0}}, +/* 8434 */ {(10<<2)|2,{99,97,0}}, +/* 8435 */ {(10<<2)|2,{99,97,0}}, +/* 8436 */ {(10<<2)|2,{99,97,0}}, +/* 8437 */ {(10<<2)|2,{99,97,0}}, +/* 8438 */ {(10<<2)|2,{99,97,0}}, +/* 8439 */ {(10<<2)|2,{99,97,0}}, +/* 8440 */ {(10<<2)|2,{99,97,0}}, +/* 8441 */ {(10<<2)|2,{99,97,0}}, +/* 8442 */ {(10<<2)|2,{99,97,0}}, +/* 8443 */ {(10<<2)|2,{99,97,0}}, +/* 8444 */ {(10<<2)|2,{99,97,0}}, +/* 8445 */ {(10<<2)|2,{99,97,0}}, +/* 8446 */ {(10<<2)|2,{99,97,0}}, +/* 8447 */ {(10<<2)|2,{99,97,0}}, +/* 8448 */ {(15<<2)|3,{99,99,48}}, +/* 8449 */ {(15<<2)|3,{99,99,48}}, +/* 8450 */ {(15<<2)|3,{99,99,49}}, +/* 8451 */ {(15<<2)|3,{99,99,49}}, +/* 8452 */ {(15<<2)|3,{99,99,50}}, +/* 8453 */ {(15<<2)|3,{99,99,50}}, +/* 8454 */ {(15<<2)|3,{99,99,97}}, +/* 8455 */ {(15<<2)|3,{99,99,97}}, +/* 8456 */ {(15<<2)|3,{99,99,99}}, +/* 8457 */ {(15<<2)|3,{99,99,99}}, +/* 8458 */ {(15<<2)|3,{99,99,101}}, +/* 8459 */ {(15<<2)|3,{99,99,101}}, +/* 8460 */ {(15<<2)|3,{99,99,105}}, +/* 8461 */ {(15<<2)|3,{99,99,105}}, +/* 8462 */ {(15<<2)|3,{99,99,111}}, +/* 8463 */ {(15<<2)|3,{99,99,111}}, +/* 8464 */ {(15<<2)|3,{99,99,115}}, +/* 8465 */ {(15<<2)|3,{99,99,115}}, +/* 8466 */ {(15<<2)|3,{99,99,116}}, +/* 8467 */ {(15<<2)|3,{99,99,116}}, +/* 8468 */ {(16<<2)|3,{99,99,32}}, +/* 8469 */ {(16<<2)|3,{99,99,37}}, +/* 8470 */ {(16<<2)|3,{99,99,45}}, +/* 8471 */ {(16<<2)|3,{99,99,46}}, +/* 8472 */ {(16<<2)|3,{99,99,47}}, +/* 8473 */ {(16<<2)|3,{99,99,51}}, +/* 8474 */ {(16<<2)|3,{99,99,52}}, +/* 8475 */ {(16<<2)|3,{99,99,53}}, +/* 8476 */ {(16<<2)|3,{99,99,54}}, +/* 8477 */ {(16<<2)|3,{99,99,55}}, +/* 8478 */ {(16<<2)|3,{99,99,56}}, +/* 8479 */ {(16<<2)|3,{99,99,57}}, +/* 8480 */ {(16<<2)|3,{99,99,61}}, +/* 8481 */ {(16<<2)|3,{99,99,65}}, +/* 8482 */ {(16<<2)|3,{99,99,95}}, +/* 8483 */ {(16<<2)|3,{99,99,98}}, +/* 8484 */ {(16<<2)|3,{99,99,100}}, +/* 8485 */ {(16<<2)|3,{99,99,102}}, +/* 8486 */ {(16<<2)|3,{99,99,103}}, +/* 8487 */ {(16<<2)|3,{99,99,104}}, +/* 8488 */ {(16<<2)|3,{99,99,108}}, +/* 8489 */ {(16<<2)|3,{99,99,109}}, +/* 8490 */ {(16<<2)|3,{99,99,110}}, +/* 8491 */ {(16<<2)|3,{99,99,112}}, +/* 8492 */ {(16<<2)|3,{99,99,114}}, +/* 8493 */ {(16<<2)|3,{99,99,117}}, +/* 8494 */ {(10<<2)|2,{99,99,0}}, +/* 8495 */ {(10<<2)|2,{99,99,0}}, +/* 8496 */ {(10<<2)|2,{99,99,0}}, +/* 8497 */ {(10<<2)|2,{99,99,0}}, +/* 8498 */ {(10<<2)|2,{99,99,0}}, +/* 8499 */ {(10<<2)|2,{99,99,0}}, +/* 8500 */ {(10<<2)|2,{99,99,0}}, +/* 8501 */ {(10<<2)|2,{99,99,0}}, +/* 8502 */ {(10<<2)|2,{99,99,0}}, +/* 8503 */ {(10<<2)|2,{99,99,0}}, +/* 8504 */ {(10<<2)|2,{99,99,0}}, +/* 8505 */ {(10<<2)|2,{99,99,0}}, +/* 8506 */ {(10<<2)|2,{99,99,0}}, +/* 8507 */ {(10<<2)|2,{99,99,0}}, +/* 8508 */ {(10<<2)|2,{99,99,0}}, +/* 8509 */ {(10<<2)|2,{99,99,0}}, +/* 8510 */ {(10<<2)|2,{99,99,0}}, +/* 8511 */ {(10<<2)|2,{99,99,0}}, +/* 8512 */ {(15<<2)|3,{99,101,48}}, +/* 8513 */ {(15<<2)|3,{99,101,48}}, +/* 8514 */ {(15<<2)|3,{99,101,49}}, +/* 8515 */ {(15<<2)|3,{99,101,49}}, +/* 8516 */ {(15<<2)|3,{99,101,50}}, +/* 8517 */ {(15<<2)|3,{99,101,50}}, +/* 8518 */ {(15<<2)|3,{99,101,97}}, +/* 8519 */ {(15<<2)|3,{99,101,97}}, +/* 8520 */ {(15<<2)|3,{99,101,99}}, +/* 8521 */ {(15<<2)|3,{99,101,99}}, +/* 8522 */ {(15<<2)|3,{99,101,101}}, +/* 8523 */ {(15<<2)|3,{99,101,101}}, +/* 8524 */ {(15<<2)|3,{99,101,105}}, +/* 8525 */ {(15<<2)|3,{99,101,105}}, +/* 8526 */ {(15<<2)|3,{99,101,111}}, +/* 8527 */ {(15<<2)|3,{99,101,111}}, +/* 8528 */ {(15<<2)|3,{99,101,115}}, +/* 8529 */ {(15<<2)|3,{99,101,115}}, +/* 8530 */ {(15<<2)|3,{99,101,116}}, +/* 8531 */ {(15<<2)|3,{99,101,116}}, +/* 8532 */ {(16<<2)|3,{99,101,32}}, +/* 8533 */ {(16<<2)|3,{99,101,37}}, +/* 8534 */ {(16<<2)|3,{99,101,45}}, +/* 8535 */ {(16<<2)|3,{99,101,46}}, +/* 8536 */ {(16<<2)|3,{99,101,47}}, +/* 8537 */ {(16<<2)|3,{99,101,51}}, +/* 8538 */ {(16<<2)|3,{99,101,52}}, +/* 8539 */ {(16<<2)|3,{99,101,53}}, +/* 8540 */ {(16<<2)|3,{99,101,54}}, +/* 8541 */ {(16<<2)|3,{99,101,55}}, +/* 8542 */ {(16<<2)|3,{99,101,56}}, +/* 8543 */ {(16<<2)|3,{99,101,57}}, +/* 8544 */ {(16<<2)|3,{99,101,61}}, +/* 8545 */ {(16<<2)|3,{99,101,65}}, +/* 8546 */ {(16<<2)|3,{99,101,95}}, +/* 8547 */ {(16<<2)|3,{99,101,98}}, +/* 8548 */ {(16<<2)|3,{99,101,100}}, +/* 8549 */ {(16<<2)|3,{99,101,102}}, +/* 8550 */ {(16<<2)|3,{99,101,103}}, +/* 8551 */ {(16<<2)|3,{99,101,104}}, +/* 8552 */ {(16<<2)|3,{99,101,108}}, +/* 8553 */ {(16<<2)|3,{99,101,109}}, +/* 8554 */ {(16<<2)|3,{99,101,110}}, +/* 8555 */ {(16<<2)|3,{99,101,112}}, +/* 8556 */ {(16<<2)|3,{99,101,114}}, +/* 8557 */ {(16<<2)|3,{99,101,117}}, +/* 8558 */ {(10<<2)|2,{99,101,0}}, +/* 8559 */ {(10<<2)|2,{99,101,0}}, +/* 8560 */ {(10<<2)|2,{99,101,0}}, +/* 8561 */ {(10<<2)|2,{99,101,0}}, +/* 8562 */ {(10<<2)|2,{99,101,0}}, +/* 8563 */ {(10<<2)|2,{99,101,0}}, +/* 8564 */ {(10<<2)|2,{99,101,0}}, +/* 8565 */ {(10<<2)|2,{99,101,0}}, +/* 8566 */ {(10<<2)|2,{99,101,0}}, +/* 8567 */ {(10<<2)|2,{99,101,0}}, +/* 8568 */ {(10<<2)|2,{99,101,0}}, +/* 8569 */ {(10<<2)|2,{99,101,0}}, +/* 8570 */ {(10<<2)|2,{99,101,0}}, +/* 8571 */ {(10<<2)|2,{99,101,0}}, +/* 8572 */ {(10<<2)|2,{99,101,0}}, +/* 8573 */ {(10<<2)|2,{99,101,0}}, +/* 8574 */ {(10<<2)|2,{99,101,0}}, +/* 8575 */ {(10<<2)|2,{99,101,0}}, +/* 8576 */ {(15<<2)|3,{99,105,48}}, +/* 8577 */ {(15<<2)|3,{99,105,48}}, +/* 8578 */ {(15<<2)|3,{99,105,49}}, +/* 8579 */ {(15<<2)|3,{99,105,49}}, +/* 8580 */ {(15<<2)|3,{99,105,50}}, +/* 8581 */ {(15<<2)|3,{99,105,50}}, +/* 8582 */ {(15<<2)|3,{99,105,97}}, +/* 8583 */ {(15<<2)|3,{99,105,97}}, +/* 8584 */ {(15<<2)|3,{99,105,99}}, +/* 8585 */ {(15<<2)|3,{99,105,99}}, +/* 8586 */ {(15<<2)|3,{99,105,101}}, +/* 8587 */ {(15<<2)|3,{99,105,101}}, +/* 8588 */ {(15<<2)|3,{99,105,105}}, +/* 8589 */ {(15<<2)|3,{99,105,105}}, +/* 8590 */ {(15<<2)|3,{99,105,111}}, +/* 8591 */ {(15<<2)|3,{99,105,111}}, +/* 8592 */ {(15<<2)|3,{99,105,115}}, +/* 8593 */ {(15<<2)|3,{99,105,115}}, +/* 8594 */ {(15<<2)|3,{99,105,116}}, +/* 8595 */ {(15<<2)|3,{99,105,116}}, +/* 8596 */ {(16<<2)|3,{99,105,32}}, +/* 8597 */ {(16<<2)|3,{99,105,37}}, +/* 8598 */ {(16<<2)|3,{99,105,45}}, +/* 8599 */ {(16<<2)|3,{99,105,46}}, +/* 8600 */ {(16<<2)|3,{99,105,47}}, +/* 8601 */ {(16<<2)|3,{99,105,51}}, +/* 8602 */ {(16<<2)|3,{99,105,52}}, +/* 8603 */ {(16<<2)|3,{99,105,53}}, +/* 8604 */ {(16<<2)|3,{99,105,54}}, +/* 8605 */ {(16<<2)|3,{99,105,55}}, +/* 8606 */ {(16<<2)|3,{99,105,56}}, +/* 8607 */ {(16<<2)|3,{99,105,57}}, +/* 8608 */ {(16<<2)|3,{99,105,61}}, +/* 8609 */ {(16<<2)|3,{99,105,65}}, +/* 8610 */ {(16<<2)|3,{99,105,95}}, +/* 8611 */ {(16<<2)|3,{99,105,98}}, +/* 8612 */ {(16<<2)|3,{99,105,100}}, +/* 8613 */ {(16<<2)|3,{99,105,102}}, +/* 8614 */ {(16<<2)|3,{99,105,103}}, +/* 8615 */ {(16<<2)|3,{99,105,104}}, +/* 8616 */ {(16<<2)|3,{99,105,108}}, +/* 8617 */ {(16<<2)|3,{99,105,109}}, +/* 8618 */ {(16<<2)|3,{99,105,110}}, +/* 8619 */ {(16<<2)|3,{99,105,112}}, +/* 8620 */ {(16<<2)|3,{99,105,114}}, +/* 8621 */ {(16<<2)|3,{99,105,117}}, +/* 8622 */ {(10<<2)|2,{99,105,0}}, +/* 8623 */ {(10<<2)|2,{99,105,0}}, +/* 8624 */ {(10<<2)|2,{99,105,0}}, +/* 8625 */ {(10<<2)|2,{99,105,0}}, +/* 8626 */ {(10<<2)|2,{99,105,0}}, +/* 8627 */ {(10<<2)|2,{99,105,0}}, +/* 8628 */ {(10<<2)|2,{99,105,0}}, +/* 8629 */ {(10<<2)|2,{99,105,0}}, +/* 8630 */ {(10<<2)|2,{99,105,0}}, +/* 8631 */ {(10<<2)|2,{99,105,0}}, +/* 8632 */ {(10<<2)|2,{99,105,0}}, +/* 8633 */ {(10<<2)|2,{99,105,0}}, +/* 8634 */ {(10<<2)|2,{99,105,0}}, +/* 8635 */ {(10<<2)|2,{99,105,0}}, +/* 8636 */ {(10<<2)|2,{99,105,0}}, +/* 8637 */ {(10<<2)|2,{99,105,0}}, +/* 8638 */ {(10<<2)|2,{99,105,0}}, +/* 8639 */ {(10<<2)|2,{99,105,0}}, +/* 8640 */ {(15<<2)|3,{99,111,48}}, +/* 8641 */ {(15<<2)|3,{99,111,48}}, +/* 8642 */ {(15<<2)|3,{99,111,49}}, +/* 8643 */ {(15<<2)|3,{99,111,49}}, +/* 8644 */ {(15<<2)|3,{99,111,50}}, +/* 8645 */ {(15<<2)|3,{99,111,50}}, +/* 8646 */ {(15<<2)|3,{99,111,97}}, +/* 8647 */ {(15<<2)|3,{99,111,97}}, +/* 8648 */ {(15<<2)|3,{99,111,99}}, +/* 8649 */ {(15<<2)|3,{99,111,99}}, +/* 8650 */ {(15<<2)|3,{99,111,101}}, +/* 8651 */ {(15<<2)|3,{99,111,101}}, +/* 8652 */ {(15<<2)|3,{99,111,105}}, +/* 8653 */ {(15<<2)|3,{99,111,105}}, +/* 8654 */ {(15<<2)|3,{99,111,111}}, +/* 8655 */ {(15<<2)|3,{99,111,111}}, +/* 8656 */ {(15<<2)|3,{99,111,115}}, +/* 8657 */ {(15<<2)|3,{99,111,115}}, +/* 8658 */ {(15<<2)|3,{99,111,116}}, +/* 8659 */ {(15<<2)|3,{99,111,116}}, +/* 8660 */ {(16<<2)|3,{99,111,32}}, +/* 8661 */ {(16<<2)|3,{99,111,37}}, +/* 8662 */ {(16<<2)|3,{99,111,45}}, +/* 8663 */ {(16<<2)|3,{99,111,46}}, +/* 8664 */ {(16<<2)|3,{99,111,47}}, +/* 8665 */ {(16<<2)|3,{99,111,51}}, +/* 8666 */ {(16<<2)|3,{99,111,52}}, +/* 8667 */ {(16<<2)|3,{99,111,53}}, +/* 8668 */ {(16<<2)|3,{99,111,54}}, +/* 8669 */ {(16<<2)|3,{99,111,55}}, +/* 8670 */ {(16<<2)|3,{99,111,56}}, +/* 8671 */ {(16<<2)|3,{99,111,57}}, +/* 8672 */ {(16<<2)|3,{99,111,61}}, +/* 8673 */ {(16<<2)|3,{99,111,65}}, +/* 8674 */ {(16<<2)|3,{99,111,95}}, +/* 8675 */ {(16<<2)|3,{99,111,98}}, +/* 8676 */ {(16<<2)|3,{99,111,100}}, +/* 8677 */ {(16<<2)|3,{99,111,102}}, +/* 8678 */ {(16<<2)|3,{99,111,103}}, +/* 8679 */ {(16<<2)|3,{99,111,104}}, +/* 8680 */ {(16<<2)|3,{99,111,108}}, +/* 8681 */ {(16<<2)|3,{99,111,109}}, +/* 8682 */ {(16<<2)|3,{99,111,110}}, +/* 8683 */ {(16<<2)|3,{99,111,112}}, +/* 8684 */ {(16<<2)|3,{99,111,114}}, +/* 8685 */ {(16<<2)|3,{99,111,117}}, +/* 8686 */ {(10<<2)|2,{99,111,0}}, +/* 8687 */ {(10<<2)|2,{99,111,0}}, +/* 8688 */ {(10<<2)|2,{99,111,0}}, +/* 8689 */ {(10<<2)|2,{99,111,0}}, +/* 8690 */ {(10<<2)|2,{99,111,0}}, +/* 8691 */ {(10<<2)|2,{99,111,0}}, +/* 8692 */ {(10<<2)|2,{99,111,0}}, +/* 8693 */ {(10<<2)|2,{99,111,0}}, +/* 8694 */ {(10<<2)|2,{99,111,0}}, +/* 8695 */ {(10<<2)|2,{99,111,0}}, +/* 8696 */ {(10<<2)|2,{99,111,0}}, +/* 8697 */ {(10<<2)|2,{99,111,0}}, +/* 8698 */ {(10<<2)|2,{99,111,0}}, +/* 8699 */ {(10<<2)|2,{99,111,0}}, +/* 8700 */ {(10<<2)|2,{99,111,0}}, +/* 8701 */ {(10<<2)|2,{99,111,0}}, +/* 8702 */ {(10<<2)|2,{99,111,0}}, +/* 8703 */ {(10<<2)|2,{99,111,0}}, +/* 8704 */ {(15<<2)|3,{99,115,48}}, +/* 8705 */ {(15<<2)|3,{99,115,48}}, +/* 8706 */ {(15<<2)|3,{99,115,49}}, +/* 8707 */ {(15<<2)|3,{99,115,49}}, +/* 8708 */ {(15<<2)|3,{99,115,50}}, +/* 8709 */ {(15<<2)|3,{99,115,50}}, +/* 8710 */ {(15<<2)|3,{99,115,97}}, +/* 8711 */ {(15<<2)|3,{99,115,97}}, +/* 8712 */ {(15<<2)|3,{99,115,99}}, +/* 8713 */ {(15<<2)|3,{99,115,99}}, +/* 8714 */ {(15<<2)|3,{99,115,101}}, +/* 8715 */ {(15<<2)|3,{99,115,101}}, +/* 8716 */ {(15<<2)|3,{99,115,105}}, +/* 8717 */ {(15<<2)|3,{99,115,105}}, +/* 8718 */ {(15<<2)|3,{99,115,111}}, +/* 8719 */ {(15<<2)|3,{99,115,111}}, +/* 8720 */ {(15<<2)|3,{99,115,115}}, +/* 8721 */ {(15<<2)|3,{99,115,115}}, +/* 8722 */ {(15<<2)|3,{99,115,116}}, +/* 8723 */ {(15<<2)|3,{99,115,116}}, +/* 8724 */ {(16<<2)|3,{99,115,32}}, +/* 8725 */ {(16<<2)|3,{99,115,37}}, +/* 8726 */ {(16<<2)|3,{99,115,45}}, +/* 8727 */ {(16<<2)|3,{99,115,46}}, +/* 8728 */ {(16<<2)|3,{99,115,47}}, +/* 8729 */ {(16<<2)|3,{99,115,51}}, +/* 8730 */ {(16<<2)|3,{99,115,52}}, +/* 8731 */ {(16<<2)|3,{99,115,53}}, +/* 8732 */ {(16<<2)|3,{99,115,54}}, +/* 8733 */ {(16<<2)|3,{99,115,55}}, +/* 8734 */ {(16<<2)|3,{99,115,56}}, +/* 8735 */ {(16<<2)|3,{99,115,57}}, +/* 8736 */ {(16<<2)|3,{99,115,61}}, +/* 8737 */ {(16<<2)|3,{99,115,65}}, +/* 8738 */ {(16<<2)|3,{99,115,95}}, +/* 8739 */ {(16<<2)|3,{99,115,98}}, +/* 8740 */ {(16<<2)|3,{99,115,100}}, +/* 8741 */ {(16<<2)|3,{99,115,102}}, +/* 8742 */ {(16<<2)|3,{99,115,103}}, +/* 8743 */ {(16<<2)|3,{99,115,104}}, +/* 8744 */ {(16<<2)|3,{99,115,108}}, +/* 8745 */ {(16<<2)|3,{99,115,109}}, +/* 8746 */ {(16<<2)|3,{99,115,110}}, +/* 8747 */ {(16<<2)|3,{99,115,112}}, +/* 8748 */ {(16<<2)|3,{99,115,114}}, +/* 8749 */ {(16<<2)|3,{99,115,117}}, +/* 8750 */ {(10<<2)|2,{99,115,0}}, +/* 8751 */ {(10<<2)|2,{99,115,0}}, +/* 8752 */ {(10<<2)|2,{99,115,0}}, +/* 8753 */ {(10<<2)|2,{99,115,0}}, +/* 8754 */ {(10<<2)|2,{99,115,0}}, +/* 8755 */ {(10<<2)|2,{99,115,0}}, +/* 8756 */ {(10<<2)|2,{99,115,0}}, +/* 8757 */ {(10<<2)|2,{99,115,0}}, +/* 8758 */ {(10<<2)|2,{99,115,0}}, +/* 8759 */ {(10<<2)|2,{99,115,0}}, +/* 8760 */ {(10<<2)|2,{99,115,0}}, +/* 8761 */ {(10<<2)|2,{99,115,0}}, +/* 8762 */ {(10<<2)|2,{99,115,0}}, +/* 8763 */ {(10<<2)|2,{99,115,0}}, +/* 8764 */ {(10<<2)|2,{99,115,0}}, +/* 8765 */ {(10<<2)|2,{99,115,0}}, +/* 8766 */ {(10<<2)|2,{99,115,0}}, +/* 8767 */ {(10<<2)|2,{99,115,0}}, +/* 8768 */ {(15<<2)|3,{99,116,48}}, +/* 8769 */ {(15<<2)|3,{99,116,48}}, +/* 8770 */ {(15<<2)|3,{99,116,49}}, +/* 8771 */ {(15<<2)|3,{99,116,49}}, +/* 8772 */ {(15<<2)|3,{99,116,50}}, +/* 8773 */ {(15<<2)|3,{99,116,50}}, +/* 8774 */ {(15<<2)|3,{99,116,97}}, +/* 8775 */ {(15<<2)|3,{99,116,97}}, +/* 8776 */ {(15<<2)|3,{99,116,99}}, +/* 8777 */ {(15<<2)|3,{99,116,99}}, +/* 8778 */ {(15<<2)|3,{99,116,101}}, +/* 8779 */ {(15<<2)|3,{99,116,101}}, +/* 8780 */ {(15<<2)|3,{99,116,105}}, +/* 8781 */ {(15<<2)|3,{99,116,105}}, +/* 8782 */ {(15<<2)|3,{99,116,111}}, +/* 8783 */ {(15<<2)|3,{99,116,111}}, +/* 8784 */ {(15<<2)|3,{99,116,115}}, +/* 8785 */ {(15<<2)|3,{99,116,115}}, +/* 8786 */ {(15<<2)|3,{99,116,116}}, +/* 8787 */ {(15<<2)|3,{99,116,116}}, +/* 8788 */ {(16<<2)|3,{99,116,32}}, +/* 8789 */ {(16<<2)|3,{99,116,37}}, +/* 8790 */ {(16<<2)|3,{99,116,45}}, +/* 8791 */ {(16<<2)|3,{99,116,46}}, +/* 8792 */ {(16<<2)|3,{99,116,47}}, +/* 8793 */ {(16<<2)|3,{99,116,51}}, +/* 8794 */ {(16<<2)|3,{99,116,52}}, +/* 8795 */ {(16<<2)|3,{99,116,53}}, +/* 8796 */ {(16<<2)|3,{99,116,54}}, +/* 8797 */ {(16<<2)|3,{99,116,55}}, +/* 8798 */ {(16<<2)|3,{99,116,56}}, +/* 8799 */ {(16<<2)|3,{99,116,57}}, +/* 8800 */ {(16<<2)|3,{99,116,61}}, +/* 8801 */ {(16<<2)|3,{99,116,65}}, +/* 8802 */ {(16<<2)|3,{99,116,95}}, +/* 8803 */ {(16<<2)|3,{99,116,98}}, +/* 8804 */ {(16<<2)|3,{99,116,100}}, +/* 8805 */ {(16<<2)|3,{99,116,102}}, +/* 8806 */ {(16<<2)|3,{99,116,103}}, +/* 8807 */ {(16<<2)|3,{99,116,104}}, +/* 8808 */ {(16<<2)|3,{99,116,108}}, +/* 8809 */ {(16<<2)|3,{99,116,109}}, +/* 8810 */ {(16<<2)|3,{99,116,110}}, +/* 8811 */ {(16<<2)|3,{99,116,112}}, +/* 8812 */ {(16<<2)|3,{99,116,114}}, +/* 8813 */ {(16<<2)|3,{99,116,117}}, +/* 8814 */ {(10<<2)|2,{99,116,0}}, +/* 8815 */ {(10<<2)|2,{99,116,0}}, +/* 8816 */ {(10<<2)|2,{99,116,0}}, +/* 8817 */ {(10<<2)|2,{99,116,0}}, +/* 8818 */ {(10<<2)|2,{99,116,0}}, +/* 8819 */ {(10<<2)|2,{99,116,0}}, +/* 8820 */ {(10<<2)|2,{99,116,0}}, +/* 8821 */ {(10<<2)|2,{99,116,0}}, +/* 8822 */ {(10<<2)|2,{99,116,0}}, +/* 8823 */ {(10<<2)|2,{99,116,0}}, +/* 8824 */ {(10<<2)|2,{99,116,0}}, +/* 8825 */ {(10<<2)|2,{99,116,0}}, +/* 8826 */ {(10<<2)|2,{99,116,0}}, +/* 8827 */ {(10<<2)|2,{99,116,0}}, +/* 8828 */ {(10<<2)|2,{99,116,0}}, +/* 8829 */ {(10<<2)|2,{99,116,0}}, +/* 8830 */ {(10<<2)|2,{99,116,0}}, +/* 8831 */ {(10<<2)|2,{99,116,0}}, +/* 8832 */ {(16<<2)|3,{99,32,48}}, +/* 8833 */ {(16<<2)|3,{99,32,49}}, +/* 8834 */ {(16<<2)|3,{99,32,50}}, +/* 8835 */ {(16<<2)|3,{99,32,97}}, +/* 8836 */ {(16<<2)|3,{99,32,99}}, +/* 8837 */ {(16<<2)|3,{99,32,101}}, +/* 8838 */ {(16<<2)|3,{99,32,105}}, +/* 8839 */ {(16<<2)|3,{99,32,111}}, +/* 8840 */ {(16<<2)|3,{99,32,115}}, +/* 8841 */ {(16<<2)|3,{99,32,116}}, +/* 8842 */ {(11<<2)|2,{99,32,0}}, +/* 8843 */ {(11<<2)|2,{99,32,0}}, +/* 8844 */ {(11<<2)|2,{99,32,0}}, +/* 8845 */ {(11<<2)|2,{99,32,0}}, +/* 8846 */ {(11<<2)|2,{99,32,0}}, +/* 8847 */ {(11<<2)|2,{99,32,0}}, +/* 8848 */ {(11<<2)|2,{99,32,0}}, +/* 8849 */ {(11<<2)|2,{99,32,0}}, +/* 8850 */ {(11<<2)|2,{99,32,0}}, +/* 8851 */ {(11<<2)|2,{99,32,0}}, +/* 8852 */ {(11<<2)|2,{99,32,0}}, +/* 8853 */ {(11<<2)|2,{99,32,0}}, +/* 8854 */ {(11<<2)|2,{99,32,0}}, +/* 8855 */ {(11<<2)|2,{99,32,0}}, +/* 8856 */ {(11<<2)|2,{99,32,0}}, +/* 8857 */ {(11<<2)|2,{99,32,0}}, +/* 8858 */ {(11<<2)|2,{99,32,0}}, +/* 8859 */ {(11<<2)|2,{99,32,0}}, +/* 8860 */ {(11<<2)|2,{99,32,0}}, +/* 8861 */ {(11<<2)|2,{99,32,0}}, +/* 8862 */ {(11<<2)|2,{99,32,0}}, +/* 8863 */ {(11<<2)|2,{99,32,0}}, +/* 8864 */ {(16<<2)|3,{99,37,48}}, +/* 8865 */ {(16<<2)|3,{99,37,49}}, +/* 8866 */ {(16<<2)|3,{99,37,50}}, +/* 8867 */ {(16<<2)|3,{99,37,97}}, +/* 8868 */ {(16<<2)|3,{99,37,99}}, +/* 8869 */ {(16<<2)|3,{99,37,101}}, +/* 8870 */ {(16<<2)|3,{99,37,105}}, +/* 8871 */ {(16<<2)|3,{99,37,111}}, +/* 8872 */ {(16<<2)|3,{99,37,115}}, +/* 8873 */ {(16<<2)|3,{99,37,116}}, +/* 8874 */ {(11<<2)|2,{99,37,0}}, +/* 8875 */ {(11<<2)|2,{99,37,0}}, +/* 8876 */ {(11<<2)|2,{99,37,0}}, +/* 8877 */ {(11<<2)|2,{99,37,0}}, +/* 8878 */ {(11<<2)|2,{99,37,0}}, +/* 8879 */ {(11<<2)|2,{99,37,0}}, +/* 8880 */ {(11<<2)|2,{99,37,0}}, +/* 8881 */ {(11<<2)|2,{99,37,0}}, +/* 8882 */ {(11<<2)|2,{99,37,0}}, +/* 8883 */ {(11<<2)|2,{99,37,0}}, +/* 8884 */ {(11<<2)|2,{99,37,0}}, +/* 8885 */ {(11<<2)|2,{99,37,0}}, +/* 8886 */ {(11<<2)|2,{99,37,0}}, +/* 8887 */ {(11<<2)|2,{99,37,0}}, +/* 8888 */ {(11<<2)|2,{99,37,0}}, +/* 8889 */ {(11<<2)|2,{99,37,0}}, +/* 8890 */ {(11<<2)|2,{99,37,0}}, +/* 8891 */ {(11<<2)|2,{99,37,0}}, +/* 8892 */ {(11<<2)|2,{99,37,0}}, +/* 8893 */ {(11<<2)|2,{99,37,0}}, +/* 8894 */ {(11<<2)|2,{99,37,0}}, +/* 8895 */ {(11<<2)|2,{99,37,0}}, +/* 8896 */ {(16<<2)|3,{99,45,48}}, +/* 8897 */ {(16<<2)|3,{99,45,49}}, +/* 8898 */ {(16<<2)|3,{99,45,50}}, +/* 8899 */ {(16<<2)|3,{99,45,97}}, +/* 8900 */ {(16<<2)|3,{99,45,99}}, +/* 8901 */ {(16<<2)|3,{99,45,101}}, +/* 8902 */ {(16<<2)|3,{99,45,105}}, +/* 8903 */ {(16<<2)|3,{99,45,111}}, +/* 8904 */ {(16<<2)|3,{99,45,115}}, +/* 8905 */ {(16<<2)|3,{99,45,116}}, +/* 8906 */ {(11<<2)|2,{99,45,0}}, +/* 8907 */ {(11<<2)|2,{99,45,0}}, +/* 8908 */ {(11<<2)|2,{99,45,0}}, +/* 8909 */ {(11<<2)|2,{99,45,0}}, +/* 8910 */ {(11<<2)|2,{99,45,0}}, +/* 8911 */ {(11<<2)|2,{99,45,0}}, +/* 8912 */ {(11<<2)|2,{99,45,0}}, +/* 8913 */ {(11<<2)|2,{99,45,0}}, +/* 8914 */ {(11<<2)|2,{99,45,0}}, +/* 8915 */ {(11<<2)|2,{99,45,0}}, +/* 8916 */ {(11<<2)|2,{99,45,0}}, +/* 8917 */ {(11<<2)|2,{99,45,0}}, +/* 8918 */ {(11<<2)|2,{99,45,0}}, +/* 8919 */ {(11<<2)|2,{99,45,0}}, +/* 8920 */ {(11<<2)|2,{99,45,0}}, +/* 8921 */ {(11<<2)|2,{99,45,0}}, +/* 8922 */ {(11<<2)|2,{99,45,0}}, +/* 8923 */ {(11<<2)|2,{99,45,0}}, +/* 8924 */ {(11<<2)|2,{99,45,0}}, +/* 8925 */ {(11<<2)|2,{99,45,0}}, +/* 8926 */ {(11<<2)|2,{99,45,0}}, +/* 8927 */ {(11<<2)|2,{99,45,0}}, +/* 8928 */ {(16<<2)|3,{99,46,48}}, +/* 8929 */ {(16<<2)|3,{99,46,49}}, +/* 8930 */ {(16<<2)|3,{99,46,50}}, +/* 8931 */ {(16<<2)|3,{99,46,97}}, +/* 8932 */ {(16<<2)|3,{99,46,99}}, +/* 8933 */ {(16<<2)|3,{99,46,101}}, +/* 8934 */ {(16<<2)|3,{99,46,105}}, +/* 8935 */ {(16<<2)|3,{99,46,111}}, +/* 8936 */ {(16<<2)|3,{99,46,115}}, +/* 8937 */ {(16<<2)|3,{99,46,116}}, +/* 8938 */ {(11<<2)|2,{99,46,0}}, +/* 8939 */ {(11<<2)|2,{99,46,0}}, +/* 8940 */ {(11<<2)|2,{99,46,0}}, +/* 8941 */ {(11<<2)|2,{99,46,0}}, +/* 8942 */ {(11<<2)|2,{99,46,0}}, +/* 8943 */ {(11<<2)|2,{99,46,0}}, +/* 8944 */ {(11<<2)|2,{99,46,0}}, +/* 8945 */ {(11<<2)|2,{99,46,0}}, +/* 8946 */ {(11<<2)|2,{99,46,0}}, +/* 8947 */ {(11<<2)|2,{99,46,0}}, +/* 8948 */ {(11<<2)|2,{99,46,0}}, +/* 8949 */ {(11<<2)|2,{99,46,0}}, +/* 8950 */ {(11<<2)|2,{99,46,0}}, +/* 8951 */ {(11<<2)|2,{99,46,0}}, +/* 8952 */ {(11<<2)|2,{99,46,0}}, +/* 8953 */ {(11<<2)|2,{99,46,0}}, +/* 8954 */ {(11<<2)|2,{99,46,0}}, +/* 8955 */ {(11<<2)|2,{99,46,0}}, +/* 8956 */ {(11<<2)|2,{99,46,0}}, +/* 8957 */ {(11<<2)|2,{99,46,0}}, +/* 8958 */ {(11<<2)|2,{99,46,0}}, +/* 8959 */ {(11<<2)|2,{99,46,0}}, +/* 8960 */ {(16<<2)|3,{99,47,48}}, +/* 8961 */ {(16<<2)|3,{99,47,49}}, +/* 8962 */ {(16<<2)|3,{99,47,50}}, +/* 8963 */ {(16<<2)|3,{99,47,97}}, +/* 8964 */ {(16<<2)|3,{99,47,99}}, +/* 8965 */ {(16<<2)|3,{99,47,101}}, +/* 8966 */ {(16<<2)|3,{99,47,105}}, +/* 8967 */ {(16<<2)|3,{99,47,111}}, +/* 8968 */ {(16<<2)|3,{99,47,115}}, +/* 8969 */ {(16<<2)|3,{99,47,116}}, +/* 8970 */ {(11<<2)|2,{99,47,0}}, +/* 8971 */ {(11<<2)|2,{99,47,0}}, +/* 8972 */ {(11<<2)|2,{99,47,0}}, +/* 8973 */ {(11<<2)|2,{99,47,0}}, +/* 8974 */ {(11<<2)|2,{99,47,0}}, +/* 8975 */ {(11<<2)|2,{99,47,0}}, +/* 8976 */ {(11<<2)|2,{99,47,0}}, +/* 8977 */ {(11<<2)|2,{99,47,0}}, +/* 8978 */ {(11<<2)|2,{99,47,0}}, +/* 8979 */ {(11<<2)|2,{99,47,0}}, +/* 8980 */ {(11<<2)|2,{99,47,0}}, +/* 8981 */ {(11<<2)|2,{99,47,0}}, +/* 8982 */ {(11<<2)|2,{99,47,0}}, +/* 8983 */ {(11<<2)|2,{99,47,0}}, +/* 8984 */ {(11<<2)|2,{99,47,0}}, +/* 8985 */ {(11<<2)|2,{99,47,0}}, +/* 8986 */ {(11<<2)|2,{99,47,0}}, +/* 8987 */ {(11<<2)|2,{99,47,0}}, +/* 8988 */ {(11<<2)|2,{99,47,0}}, +/* 8989 */ {(11<<2)|2,{99,47,0}}, +/* 8990 */ {(11<<2)|2,{99,47,0}}, +/* 8991 */ {(11<<2)|2,{99,47,0}}, +/* 8992 */ {(16<<2)|3,{99,51,48}}, +/* 8993 */ {(16<<2)|3,{99,51,49}}, +/* 8994 */ {(16<<2)|3,{99,51,50}}, +/* 8995 */ {(16<<2)|3,{99,51,97}}, +/* 8996 */ {(16<<2)|3,{99,51,99}}, +/* 8997 */ {(16<<2)|3,{99,51,101}}, +/* 8998 */ {(16<<2)|3,{99,51,105}}, +/* 8999 */ {(16<<2)|3,{99,51,111}}, +/* 9000 */ {(16<<2)|3,{99,51,115}}, +/* 9001 */ {(16<<2)|3,{99,51,116}}, +/* 9002 */ {(11<<2)|2,{99,51,0}}, +/* 9003 */ {(11<<2)|2,{99,51,0}}, +/* 9004 */ {(11<<2)|2,{99,51,0}}, +/* 9005 */ {(11<<2)|2,{99,51,0}}, +/* 9006 */ {(11<<2)|2,{99,51,0}}, +/* 9007 */ {(11<<2)|2,{99,51,0}}, +/* 9008 */ {(11<<2)|2,{99,51,0}}, +/* 9009 */ {(11<<2)|2,{99,51,0}}, +/* 9010 */ {(11<<2)|2,{99,51,0}}, +/* 9011 */ {(11<<2)|2,{99,51,0}}, +/* 9012 */ {(11<<2)|2,{99,51,0}}, +/* 9013 */ {(11<<2)|2,{99,51,0}}, +/* 9014 */ {(11<<2)|2,{99,51,0}}, +/* 9015 */ {(11<<2)|2,{99,51,0}}, +/* 9016 */ {(11<<2)|2,{99,51,0}}, +/* 9017 */ {(11<<2)|2,{99,51,0}}, +/* 9018 */ {(11<<2)|2,{99,51,0}}, +/* 9019 */ {(11<<2)|2,{99,51,0}}, +/* 9020 */ {(11<<2)|2,{99,51,0}}, +/* 9021 */ {(11<<2)|2,{99,51,0}}, +/* 9022 */ {(11<<2)|2,{99,51,0}}, +/* 9023 */ {(11<<2)|2,{99,51,0}}, +/* 9024 */ {(16<<2)|3,{99,52,48}}, +/* 9025 */ {(16<<2)|3,{99,52,49}}, +/* 9026 */ {(16<<2)|3,{99,52,50}}, +/* 9027 */ {(16<<2)|3,{99,52,97}}, +/* 9028 */ {(16<<2)|3,{99,52,99}}, +/* 9029 */ {(16<<2)|3,{99,52,101}}, +/* 9030 */ {(16<<2)|3,{99,52,105}}, +/* 9031 */ {(16<<2)|3,{99,52,111}}, +/* 9032 */ {(16<<2)|3,{99,52,115}}, +/* 9033 */ {(16<<2)|3,{99,52,116}}, +/* 9034 */ {(11<<2)|2,{99,52,0}}, +/* 9035 */ {(11<<2)|2,{99,52,0}}, +/* 9036 */ {(11<<2)|2,{99,52,0}}, +/* 9037 */ {(11<<2)|2,{99,52,0}}, +/* 9038 */ {(11<<2)|2,{99,52,0}}, +/* 9039 */ {(11<<2)|2,{99,52,0}}, +/* 9040 */ {(11<<2)|2,{99,52,0}}, +/* 9041 */ {(11<<2)|2,{99,52,0}}, +/* 9042 */ {(11<<2)|2,{99,52,0}}, +/* 9043 */ {(11<<2)|2,{99,52,0}}, +/* 9044 */ {(11<<2)|2,{99,52,0}}, +/* 9045 */ {(11<<2)|2,{99,52,0}}, +/* 9046 */ {(11<<2)|2,{99,52,0}}, +/* 9047 */ {(11<<2)|2,{99,52,0}}, +/* 9048 */ {(11<<2)|2,{99,52,0}}, +/* 9049 */ {(11<<2)|2,{99,52,0}}, +/* 9050 */ {(11<<2)|2,{99,52,0}}, +/* 9051 */ {(11<<2)|2,{99,52,0}}, +/* 9052 */ {(11<<2)|2,{99,52,0}}, +/* 9053 */ {(11<<2)|2,{99,52,0}}, +/* 9054 */ {(11<<2)|2,{99,52,0}}, +/* 9055 */ {(11<<2)|2,{99,52,0}}, +/* 9056 */ {(16<<2)|3,{99,53,48}}, +/* 9057 */ {(16<<2)|3,{99,53,49}}, +/* 9058 */ {(16<<2)|3,{99,53,50}}, +/* 9059 */ {(16<<2)|3,{99,53,97}}, +/* 9060 */ {(16<<2)|3,{99,53,99}}, +/* 9061 */ {(16<<2)|3,{99,53,101}}, +/* 9062 */ {(16<<2)|3,{99,53,105}}, +/* 9063 */ {(16<<2)|3,{99,53,111}}, +/* 9064 */ {(16<<2)|3,{99,53,115}}, +/* 9065 */ {(16<<2)|3,{99,53,116}}, +/* 9066 */ {(11<<2)|2,{99,53,0}}, +/* 9067 */ {(11<<2)|2,{99,53,0}}, +/* 9068 */ {(11<<2)|2,{99,53,0}}, +/* 9069 */ {(11<<2)|2,{99,53,0}}, +/* 9070 */ {(11<<2)|2,{99,53,0}}, +/* 9071 */ {(11<<2)|2,{99,53,0}}, +/* 9072 */ {(11<<2)|2,{99,53,0}}, +/* 9073 */ {(11<<2)|2,{99,53,0}}, +/* 9074 */ {(11<<2)|2,{99,53,0}}, +/* 9075 */ {(11<<2)|2,{99,53,0}}, +/* 9076 */ {(11<<2)|2,{99,53,0}}, +/* 9077 */ {(11<<2)|2,{99,53,0}}, +/* 9078 */ {(11<<2)|2,{99,53,0}}, +/* 9079 */ {(11<<2)|2,{99,53,0}}, +/* 9080 */ {(11<<2)|2,{99,53,0}}, +/* 9081 */ {(11<<2)|2,{99,53,0}}, +/* 9082 */ {(11<<2)|2,{99,53,0}}, +/* 9083 */ {(11<<2)|2,{99,53,0}}, +/* 9084 */ {(11<<2)|2,{99,53,0}}, +/* 9085 */ {(11<<2)|2,{99,53,0}}, +/* 9086 */ {(11<<2)|2,{99,53,0}}, +/* 9087 */ {(11<<2)|2,{99,53,0}}, +/* 9088 */ {(16<<2)|3,{99,54,48}}, +/* 9089 */ {(16<<2)|3,{99,54,49}}, +/* 9090 */ {(16<<2)|3,{99,54,50}}, +/* 9091 */ {(16<<2)|3,{99,54,97}}, +/* 9092 */ {(16<<2)|3,{99,54,99}}, +/* 9093 */ {(16<<2)|3,{99,54,101}}, +/* 9094 */ {(16<<2)|3,{99,54,105}}, +/* 9095 */ {(16<<2)|3,{99,54,111}}, +/* 9096 */ {(16<<2)|3,{99,54,115}}, +/* 9097 */ {(16<<2)|3,{99,54,116}}, +/* 9098 */ {(11<<2)|2,{99,54,0}}, +/* 9099 */ {(11<<2)|2,{99,54,0}}, +/* 9100 */ {(11<<2)|2,{99,54,0}}, +/* 9101 */ {(11<<2)|2,{99,54,0}}, +/* 9102 */ {(11<<2)|2,{99,54,0}}, +/* 9103 */ {(11<<2)|2,{99,54,0}}, +/* 9104 */ {(11<<2)|2,{99,54,0}}, +/* 9105 */ {(11<<2)|2,{99,54,0}}, +/* 9106 */ {(11<<2)|2,{99,54,0}}, +/* 9107 */ {(11<<2)|2,{99,54,0}}, +/* 9108 */ {(11<<2)|2,{99,54,0}}, +/* 9109 */ {(11<<2)|2,{99,54,0}}, +/* 9110 */ {(11<<2)|2,{99,54,0}}, +/* 9111 */ {(11<<2)|2,{99,54,0}}, +/* 9112 */ {(11<<2)|2,{99,54,0}}, +/* 9113 */ {(11<<2)|2,{99,54,0}}, +/* 9114 */ {(11<<2)|2,{99,54,0}}, +/* 9115 */ {(11<<2)|2,{99,54,0}}, +/* 9116 */ {(11<<2)|2,{99,54,0}}, +/* 9117 */ {(11<<2)|2,{99,54,0}}, +/* 9118 */ {(11<<2)|2,{99,54,0}}, +/* 9119 */ {(11<<2)|2,{99,54,0}}, +/* 9120 */ {(16<<2)|3,{99,55,48}}, +/* 9121 */ {(16<<2)|3,{99,55,49}}, +/* 9122 */ {(16<<2)|3,{99,55,50}}, +/* 9123 */ {(16<<2)|3,{99,55,97}}, +/* 9124 */ {(16<<2)|3,{99,55,99}}, +/* 9125 */ {(16<<2)|3,{99,55,101}}, +/* 9126 */ {(16<<2)|3,{99,55,105}}, +/* 9127 */ {(16<<2)|3,{99,55,111}}, +/* 9128 */ {(16<<2)|3,{99,55,115}}, +/* 9129 */ {(16<<2)|3,{99,55,116}}, +/* 9130 */ {(11<<2)|2,{99,55,0}}, +/* 9131 */ {(11<<2)|2,{99,55,0}}, +/* 9132 */ {(11<<2)|2,{99,55,0}}, +/* 9133 */ {(11<<2)|2,{99,55,0}}, +/* 9134 */ {(11<<2)|2,{99,55,0}}, +/* 9135 */ {(11<<2)|2,{99,55,0}}, +/* 9136 */ {(11<<2)|2,{99,55,0}}, +/* 9137 */ {(11<<2)|2,{99,55,0}}, +/* 9138 */ {(11<<2)|2,{99,55,0}}, +/* 9139 */ {(11<<2)|2,{99,55,0}}, +/* 9140 */ {(11<<2)|2,{99,55,0}}, +/* 9141 */ {(11<<2)|2,{99,55,0}}, +/* 9142 */ {(11<<2)|2,{99,55,0}}, +/* 9143 */ {(11<<2)|2,{99,55,0}}, +/* 9144 */ {(11<<2)|2,{99,55,0}}, +/* 9145 */ {(11<<2)|2,{99,55,0}}, +/* 9146 */ {(11<<2)|2,{99,55,0}}, +/* 9147 */ {(11<<2)|2,{99,55,0}}, +/* 9148 */ {(11<<2)|2,{99,55,0}}, +/* 9149 */ {(11<<2)|2,{99,55,0}}, +/* 9150 */ {(11<<2)|2,{99,55,0}}, +/* 9151 */ {(11<<2)|2,{99,55,0}}, +/* 9152 */ {(16<<2)|3,{99,56,48}}, +/* 9153 */ {(16<<2)|3,{99,56,49}}, +/* 9154 */ {(16<<2)|3,{99,56,50}}, +/* 9155 */ {(16<<2)|3,{99,56,97}}, +/* 9156 */ {(16<<2)|3,{99,56,99}}, +/* 9157 */ {(16<<2)|3,{99,56,101}}, +/* 9158 */ {(16<<2)|3,{99,56,105}}, +/* 9159 */ {(16<<2)|3,{99,56,111}}, +/* 9160 */ {(16<<2)|3,{99,56,115}}, +/* 9161 */ {(16<<2)|3,{99,56,116}}, +/* 9162 */ {(11<<2)|2,{99,56,0}}, +/* 9163 */ {(11<<2)|2,{99,56,0}}, +/* 9164 */ {(11<<2)|2,{99,56,0}}, +/* 9165 */ {(11<<2)|2,{99,56,0}}, +/* 9166 */ {(11<<2)|2,{99,56,0}}, +/* 9167 */ {(11<<2)|2,{99,56,0}}, +/* 9168 */ {(11<<2)|2,{99,56,0}}, +/* 9169 */ {(11<<2)|2,{99,56,0}}, +/* 9170 */ {(11<<2)|2,{99,56,0}}, +/* 9171 */ {(11<<2)|2,{99,56,0}}, +/* 9172 */ {(11<<2)|2,{99,56,0}}, +/* 9173 */ {(11<<2)|2,{99,56,0}}, +/* 9174 */ {(11<<2)|2,{99,56,0}}, +/* 9175 */ {(11<<2)|2,{99,56,0}}, +/* 9176 */ {(11<<2)|2,{99,56,0}}, +/* 9177 */ {(11<<2)|2,{99,56,0}}, +/* 9178 */ {(11<<2)|2,{99,56,0}}, +/* 9179 */ {(11<<2)|2,{99,56,0}}, +/* 9180 */ {(11<<2)|2,{99,56,0}}, +/* 9181 */ {(11<<2)|2,{99,56,0}}, +/* 9182 */ {(11<<2)|2,{99,56,0}}, +/* 9183 */ {(11<<2)|2,{99,56,0}}, +/* 9184 */ {(16<<2)|3,{99,57,48}}, +/* 9185 */ {(16<<2)|3,{99,57,49}}, +/* 9186 */ {(16<<2)|3,{99,57,50}}, +/* 9187 */ {(16<<2)|3,{99,57,97}}, +/* 9188 */ {(16<<2)|3,{99,57,99}}, +/* 9189 */ {(16<<2)|3,{99,57,101}}, +/* 9190 */ {(16<<2)|3,{99,57,105}}, +/* 9191 */ {(16<<2)|3,{99,57,111}}, +/* 9192 */ {(16<<2)|3,{99,57,115}}, +/* 9193 */ {(16<<2)|3,{99,57,116}}, +/* 9194 */ {(11<<2)|2,{99,57,0}}, +/* 9195 */ {(11<<2)|2,{99,57,0}}, +/* 9196 */ {(11<<2)|2,{99,57,0}}, +/* 9197 */ {(11<<2)|2,{99,57,0}}, +/* 9198 */ {(11<<2)|2,{99,57,0}}, +/* 9199 */ {(11<<2)|2,{99,57,0}}, +/* 9200 */ {(11<<2)|2,{99,57,0}}, +/* 9201 */ {(11<<2)|2,{99,57,0}}, +/* 9202 */ {(11<<2)|2,{99,57,0}}, +/* 9203 */ {(11<<2)|2,{99,57,0}}, +/* 9204 */ {(11<<2)|2,{99,57,0}}, +/* 9205 */ {(11<<2)|2,{99,57,0}}, +/* 9206 */ {(11<<2)|2,{99,57,0}}, +/* 9207 */ {(11<<2)|2,{99,57,0}}, +/* 9208 */ {(11<<2)|2,{99,57,0}}, +/* 9209 */ {(11<<2)|2,{99,57,0}}, +/* 9210 */ {(11<<2)|2,{99,57,0}}, +/* 9211 */ {(11<<2)|2,{99,57,0}}, +/* 9212 */ {(11<<2)|2,{99,57,0}}, +/* 9213 */ {(11<<2)|2,{99,57,0}}, +/* 9214 */ {(11<<2)|2,{99,57,0}}, +/* 9215 */ {(11<<2)|2,{99,57,0}}, +/* 9216 */ {(16<<2)|3,{99,61,48}}, +/* 9217 */ {(16<<2)|3,{99,61,49}}, +/* 9218 */ {(16<<2)|3,{99,61,50}}, +/* 9219 */ {(16<<2)|3,{99,61,97}}, +/* 9220 */ {(16<<2)|3,{99,61,99}}, +/* 9221 */ {(16<<2)|3,{99,61,101}}, +/* 9222 */ {(16<<2)|3,{99,61,105}}, +/* 9223 */ {(16<<2)|3,{99,61,111}}, +/* 9224 */ {(16<<2)|3,{99,61,115}}, +/* 9225 */ {(16<<2)|3,{99,61,116}}, +/* 9226 */ {(11<<2)|2,{99,61,0}}, +/* 9227 */ {(11<<2)|2,{99,61,0}}, +/* 9228 */ {(11<<2)|2,{99,61,0}}, +/* 9229 */ {(11<<2)|2,{99,61,0}}, +/* 9230 */ {(11<<2)|2,{99,61,0}}, +/* 9231 */ {(11<<2)|2,{99,61,0}}, +/* 9232 */ {(11<<2)|2,{99,61,0}}, +/* 9233 */ {(11<<2)|2,{99,61,0}}, +/* 9234 */ {(11<<2)|2,{99,61,0}}, +/* 9235 */ {(11<<2)|2,{99,61,0}}, +/* 9236 */ {(11<<2)|2,{99,61,0}}, +/* 9237 */ {(11<<2)|2,{99,61,0}}, +/* 9238 */ {(11<<2)|2,{99,61,0}}, +/* 9239 */ {(11<<2)|2,{99,61,0}}, +/* 9240 */ {(11<<2)|2,{99,61,0}}, +/* 9241 */ {(11<<2)|2,{99,61,0}}, +/* 9242 */ {(11<<2)|2,{99,61,0}}, +/* 9243 */ {(11<<2)|2,{99,61,0}}, +/* 9244 */ {(11<<2)|2,{99,61,0}}, +/* 9245 */ {(11<<2)|2,{99,61,0}}, +/* 9246 */ {(11<<2)|2,{99,61,0}}, +/* 9247 */ {(11<<2)|2,{99,61,0}}, +/* 9248 */ {(16<<2)|3,{99,65,48}}, +/* 9249 */ {(16<<2)|3,{99,65,49}}, +/* 9250 */ {(16<<2)|3,{99,65,50}}, +/* 9251 */ {(16<<2)|3,{99,65,97}}, +/* 9252 */ {(16<<2)|3,{99,65,99}}, +/* 9253 */ {(16<<2)|3,{99,65,101}}, +/* 9254 */ {(16<<2)|3,{99,65,105}}, +/* 9255 */ {(16<<2)|3,{99,65,111}}, +/* 9256 */ {(16<<2)|3,{99,65,115}}, +/* 9257 */ {(16<<2)|3,{99,65,116}}, +/* 9258 */ {(11<<2)|2,{99,65,0}}, +/* 9259 */ {(11<<2)|2,{99,65,0}}, +/* 9260 */ {(11<<2)|2,{99,65,0}}, +/* 9261 */ {(11<<2)|2,{99,65,0}}, +/* 9262 */ {(11<<2)|2,{99,65,0}}, +/* 9263 */ {(11<<2)|2,{99,65,0}}, +/* 9264 */ {(11<<2)|2,{99,65,0}}, +/* 9265 */ {(11<<2)|2,{99,65,0}}, +/* 9266 */ {(11<<2)|2,{99,65,0}}, +/* 9267 */ {(11<<2)|2,{99,65,0}}, +/* 9268 */ {(11<<2)|2,{99,65,0}}, +/* 9269 */ {(11<<2)|2,{99,65,0}}, +/* 9270 */ {(11<<2)|2,{99,65,0}}, +/* 9271 */ {(11<<2)|2,{99,65,0}}, +/* 9272 */ {(11<<2)|2,{99,65,0}}, +/* 9273 */ {(11<<2)|2,{99,65,0}}, +/* 9274 */ {(11<<2)|2,{99,65,0}}, +/* 9275 */ {(11<<2)|2,{99,65,0}}, +/* 9276 */ {(11<<2)|2,{99,65,0}}, +/* 9277 */ {(11<<2)|2,{99,65,0}}, +/* 9278 */ {(11<<2)|2,{99,65,0}}, +/* 9279 */ {(11<<2)|2,{99,65,0}}, +/* 9280 */ {(16<<2)|3,{99,95,48}}, +/* 9281 */ {(16<<2)|3,{99,95,49}}, +/* 9282 */ {(16<<2)|3,{99,95,50}}, +/* 9283 */ {(16<<2)|3,{99,95,97}}, +/* 9284 */ {(16<<2)|3,{99,95,99}}, +/* 9285 */ {(16<<2)|3,{99,95,101}}, +/* 9286 */ {(16<<2)|3,{99,95,105}}, +/* 9287 */ {(16<<2)|3,{99,95,111}}, +/* 9288 */ {(16<<2)|3,{99,95,115}}, +/* 9289 */ {(16<<2)|3,{99,95,116}}, +/* 9290 */ {(11<<2)|2,{99,95,0}}, +/* 9291 */ {(11<<2)|2,{99,95,0}}, +/* 9292 */ {(11<<2)|2,{99,95,0}}, +/* 9293 */ {(11<<2)|2,{99,95,0}}, +/* 9294 */ {(11<<2)|2,{99,95,0}}, +/* 9295 */ {(11<<2)|2,{99,95,0}}, +/* 9296 */ {(11<<2)|2,{99,95,0}}, +/* 9297 */ {(11<<2)|2,{99,95,0}}, +/* 9298 */ {(11<<2)|2,{99,95,0}}, +/* 9299 */ {(11<<2)|2,{99,95,0}}, +/* 9300 */ {(11<<2)|2,{99,95,0}}, +/* 9301 */ {(11<<2)|2,{99,95,0}}, +/* 9302 */ {(11<<2)|2,{99,95,0}}, +/* 9303 */ {(11<<2)|2,{99,95,0}}, +/* 9304 */ {(11<<2)|2,{99,95,0}}, +/* 9305 */ {(11<<2)|2,{99,95,0}}, +/* 9306 */ {(11<<2)|2,{99,95,0}}, +/* 9307 */ {(11<<2)|2,{99,95,0}}, +/* 9308 */ {(11<<2)|2,{99,95,0}}, +/* 9309 */ {(11<<2)|2,{99,95,0}}, +/* 9310 */ {(11<<2)|2,{99,95,0}}, +/* 9311 */ {(11<<2)|2,{99,95,0}}, +/* 9312 */ {(16<<2)|3,{99,98,48}}, +/* 9313 */ {(16<<2)|3,{99,98,49}}, +/* 9314 */ {(16<<2)|3,{99,98,50}}, +/* 9315 */ {(16<<2)|3,{99,98,97}}, +/* 9316 */ {(16<<2)|3,{99,98,99}}, +/* 9317 */ {(16<<2)|3,{99,98,101}}, +/* 9318 */ {(16<<2)|3,{99,98,105}}, +/* 9319 */ {(16<<2)|3,{99,98,111}}, +/* 9320 */ {(16<<2)|3,{99,98,115}}, +/* 9321 */ {(16<<2)|3,{99,98,116}}, +/* 9322 */ {(11<<2)|2,{99,98,0}}, +/* 9323 */ {(11<<2)|2,{99,98,0}}, +/* 9324 */ {(11<<2)|2,{99,98,0}}, +/* 9325 */ {(11<<2)|2,{99,98,0}}, +/* 9326 */ {(11<<2)|2,{99,98,0}}, +/* 9327 */ {(11<<2)|2,{99,98,0}}, +/* 9328 */ {(11<<2)|2,{99,98,0}}, +/* 9329 */ {(11<<2)|2,{99,98,0}}, +/* 9330 */ {(11<<2)|2,{99,98,0}}, +/* 9331 */ {(11<<2)|2,{99,98,0}}, +/* 9332 */ {(11<<2)|2,{99,98,0}}, +/* 9333 */ {(11<<2)|2,{99,98,0}}, +/* 9334 */ {(11<<2)|2,{99,98,0}}, +/* 9335 */ {(11<<2)|2,{99,98,0}}, +/* 9336 */ {(11<<2)|2,{99,98,0}}, +/* 9337 */ {(11<<2)|2,{99,98,0}}, +/* 9338 */ {(11<<2)|2,{99,98,0}}, +/* 9339 */ {(11<<2)|2,{99,98,0}}, +/* 9340 */ {(11<<2)|2,{99,98,0}}, +/* 9341 */ {(11<<2)|2,{99,98,0}}, +/* 9342 */ {(11<<2)|2,{99,98,0}}, +/* 9343 */ {(11<<2)|2,{99,98,0}}, +/* 9344 */ {(16<<2)|3,{99,100,48}}, +/* 9345 */ {(16<<2)|3,{99,100,49}}, +/* 9346 */ {(16<<2)|3,{99,100,50}}, +/* 9347 */ {(16<<2)|3,{99,100,97}}, +/* 9348 */ {(16<<2)|3,{99,100,99}}, +/* 9349 */ {(16<<2)|3,{99,100,101}}, +/* 9350 */ {(16<<2)|3,{99,100,105}}, +/* 9351 */ {(16<<2)|3,{99,100,111}}, +/* 9352 */ {(16<<2)|3,{99,100,115}}, +/* 9353 */ {(16<<2)|3,{99,100,116}}, +/* 9354 */ {(11<<2)|2,{99,100,0}}, +/* 9355 */ {(11<<2)|2,{99,100,0}}, +/* 9356 */ {(11<<2)|2,{99,100,0}}, +/* 9357 */ {(11<<2)|2,{99,100,0}}, +/* 9358 */ {(11<<2)|2,{99,100,0}}, +/* 9359 */ {(11<<2)|2,{99,100,0}}, +/* 9360 */ {(11<<2)|2,{99,100,0}}, +/* 9361 */ {(11<<2)|2,{99,100,0}}, +/* 9362 */ {(11<<2)|2,{99,100,0}}, +/* 9363 */ {(11<<2)|2,{99,100,0}}, +/* 9364 */ {(11<<2)|2,{99,100,0}}, +/* 9365 */ {(11<<2)|2,{99,100,0}}, +/* 9366 */ {(11<<2)|2,{99,100,0}}, +/* 9367 */ {(11<<2)|2,{99,100,0}}, +/* 9368 */ {(11<<2)|2,{99,100,0}}, +/* 9369 */ {(11<<2)|2,{99,100,0}}, +/* 9370 */ {(11<<2)|2,{99,100,0}}, +/* 9371 */ {(11<<2)|2,{99,100,0}}, +/* 9372 */ {(11<<2)|2,{99,100,0}}, +/* 9373 */ {(11<<2)|2,{99,100,0}}, +/* 9374 */ {(11<<2)|2,{99,100,0}}, +/* 9375 */ {(11<<2)|2,{99,100,0}}, +/* 9376 */ {(16<<2)|3,{99,102,48}}, +/* 9377 */ {(16<<2)|3,{99,102,49}}, +/* 9378 */ {(16<<2)|3,{99,102,50}}, +/* 9379 */ {(16<<2)|3,{99,102,97}}, +/* 9380 */ {(16<<2)|3,{99,102,99}}, +/* 9381 */ {(16<<2)|3,{99,102,101}}, +/* 9382 */ {(16<<2)|3,{99,102,105}}, +/* 9383 */ {(16<<2)|3,{99,102,111}}, +/* 9384 */ {(16<<2)|3,{99,102,115}}, +/* 9385 */ {(16<<2)|3,{99,102,116}}, +/* 9386 */ {(11<<2)|2,{99,102,0}}, +/* 9387 */ {(11<<2)|2,{99,102,0}}, +/* 9388 */ {(11<<2)|2,{99,102,0}}, +/* 9389 */ {(11<<2)|2,{99,102,0}}, +/* 9390 */ {(11<<2)|2,{99,102,0}}, +/* 9391 */ {(11<<2)|2,{99,102,0}}, +/* 9392 */ {(11<<2)|2,{99,102,0}}, +/* 9393 */ {(11<<2)|2,{99,102,0}}, +/* 9394 */ {(11<<2)|2,{99,102,0}}, +/* 9395 */ {(11<<2)|2,{99,102,0}}, +/* 9396 */ {(11<<2)|2,{99,102,0}}, +/* 9397 */ {(11<<2)|2,{99,102,0}}, +/* 9398 */ {(11<<2)|2,{99,102,0}}, +/* 9399 */ {(11<<2)|2,{99,102,0}}, +/* 9400 */ {(11<<2)|2,{99,102,0}}, +/* 9401 */ {(11<<2)|2,{99,102,0}}, +/* 9402 */ {(11<<2)|2,{99,102,0}}, +/* 9403 */ {(11<<2)|2,{99,102,0}}, +/* 9404 */ {(11<<2)|2,{99,102,0}}, +/* 9405 */ {(11<<2)|2,{99,102,0}}, +/* 9406 */ {(11<<2)|2,{99,102,0}}, +/* 9407 */ {(11<<2)|2,{99,102,0}}, +/* 9408 */ {(16<<2)|3,{99,103,48}}, +/* 9409 */ {(16<<2)|3,{99,103,49}}, +/* 9410 */ {(16<<2)|3,{99,103,50}}, +/* 9411 */ {(16<<2)|3,{99,103,97}}, +/* 9412 */ {(16<<2)|3,{99,103,99}}, +/* 9413 */ {(16<<2)|3,{99,103,101}}, +/* 9414 */ {(16<<2)|3,{99,103,105}}, +/* 9415 */ {(16<<2)|3,{99,103,111}}, +/* 9416 */ {(16<<2)|3,{99,103,115}}, +/* 9417 */ {(16<<2)|3,{99,103,116}}, +/* 9418 */ {(11<<2)|2,{99,103,0}}, +/* 9419 */ {(11<<2)|2,{99,103,0}}, +/* 9420 */ {(11<<2)|2,{99,103,0}}, +/* 9421 */ {(11<<2)|2,{99,103,0}}, +/* 9422 */ {(11<<2)|2,{99,103,0}}, +/* 9423 */ {(11<<2)|2,{99,103,0}}, +/* 9424 */ {(11<<2)|2,{99,103,0}}, +/* 9425 */ {(11<<2)|2,{99,103,0}}, +/* 9426 */ {(11<<2)|2,{99,103,0}}, +/* 9427 */ {(11<<2)|2,{99,103,0}}, +/* 9428 */ {(11<<2)|2,{99,103,0}}, +/* 9429 */ {(11<<2)|2,{99,103,0}}, +/* 9430 */ {(11<<2)|2,{99,103,0}}, +/* 9431 */ {(11<<2)|2,{99,103,0}}, +/* 9432 */ {(11<<2)|2,{99,103,0}}, +/* 9433 */ {(11<<2)|2,{99,103,0}}, +/* 9434 */ {(11<<2)|2,{99,103,0}}, +/* 9435 */ {(11<<2)|2,{99,103,0}}, +/* 9436 */ {(11<<2)|2,{99,103,0}}, +/* 9437 */ {(11<<2)|2,{99,103,0}}, +/* 9438 */ {(11<<2)|2,{99,103,0}}, +/* 9439 */ {(11<<2)|2,{99,103,0}}, +/* 9440 */ {(16<<2)|3,{99,104,48}}, +/* 9441 */ {(16<<2)|3,{99,104,49}}, +/* 9442 */ {(16<<2)|3,{99,104,50}}, +/* 9443 */ {(16<<2)|3,{99,104,97}}, +/* 9444 */ {(16<<2)|3,{99,104,99}}, +/* 9445 */ {(16<<2)|3,{99,104,101}}, +/* 9446 */ {(16<<2)|3,{99,104,105}}, +/* 9447 */ {(16<<2)|3,{99,104,111}}, +/* 9448 */ {(16<<2)|3,{99,104,115}}, +/* 9449 */ {(16<<2)|3,{99,104,116}}, +/* 9450 */ {(11<<2)|2,{99,104,0}}, +/* 9451 */ {(11<<2)|2,{99,104,0}}, +/* 9452 */ {(11<<2)|2,{99,104,0}}, +/* 9453 */ {(11<<2)|2,{99,104,0}}, +/* 9454 */ {(11<<2)|2,{99,104,0}}, +/* 9455 */ {(11<<2)|2,{99,104,0}}, +/* 9456 */ {(11<<2)|2,{99,104,0}}, +/* 9457 */ {(11<<2)|2,{99,104,0}}, +/* 9458 */ {(11<<2)|2,{99,104,0}}, +/* 9459 */ {(11<<2)|2,{99,104,0}}, +/* 9460 */ {(11<<2)|2,{99,104,0}}, +/* 9461 */ {(11<<2)|2,{99,104,0}}, +/* 9462 */ {(11<<2)|2,{99,104,0}}, +/* 9463 */ {(11<<2)|2,{99,104,0}}, +/* 9464 */ {(11<<2)|2,{99,104,0}}, +/* 9465 */ {(11<<2)|2,{99,104,0}}, +/* 9466 */ {(11<<2)|2,{99,104,0}}, +/* 9467 */ {(11<<2)|2,{99,104,0}}, +/* 9468 */ {(11<<2)|2,{99,104,0}}, +/* 9469 */ {(11<<2)|2,{99,104,0}}, +/* 9470 */ {(11<<2)|2,{99,104,0}}, +/* 9471 */ {(11<<2)|2,{99,104,0}}, +/* 9472 */ {(16<<2)|3,{99,108,48}}, +/* 9473 */ {(16<<2)|3,{99,108,49}}, +/* 9474 */ {(16<<2)|3,{99,108,50}}, +/* 9475 */ {(16<<2)|3,{99,108,97}}, +/* 9476 */ {(16<<2)|3,{99,108,99}}, +/* 9477 */ {(16<<2)|3,{99,108,101}}, +/* 9478 */ {(16<<2)|3,{99,108,105}}, +/* 9479 */ {(16<<2)|3,{99,108,111}}, +/* 9480 */ {(16<<2)|3,{99,108,115}}, +/* 9481 */ {(16<<2)|3,{99,108,116}}, +/* 9482 */ {(11<<2)|2,{99,108,0}}, +/* 9483 */ {(11<<2)|2,{99,108,0}}, +/* 9484 */ {(11<<2)|2,{99,108,0}}, +/* 9485 */ {(11<<2)|2,{99,108,0}}, +/* 9486 */ {(11<<2)|2,{99,108,0}}, +/* 9487 */ {(11<<2)|2,{99,108,0}}, +/* 9488 */ {(11<<2)|2,{99,108,0}}, +/* 9489 */ {(11<<2)|2,{99,108,0}}, +/* 9490 */ {(11<<2)|2,{99,108,0}}, +/* 9491 */ {(11<<2)|2,{99,108,0}}, +/* 9492 */ {(11<<2)|2,{99,108,0}}, +/* 9493 */ {(11<<2)|2,{99,108,0}}, +/* 9494 */ {(11<<2)|2,{99,108,0}}, +/* 9495 */ {(11<<2)|2,{99,108,0}}, +/* 9496 */ {(11<<2)|2,{99,108,0}}, +/* 9497 */ {(11<<2)|2,{99,108,0}}, +/* 9498 */ {(11<<2)|2,{99,108,0}}, +/* 9499 */ {(11<<2)|2,{99,108,0}}, +/* 9500 */ {(11<<2)|2,{99,108,0}}, +/* 9501 */ {(11<<2)|2,{99,108,0}}, +/* 9502 */ {(11<<2)|2,{99,108,0}}, +/* 9503 */ {(11<<2)|2,{99,108,0}}, +/* 9504 */ {(16<<2)|3,{99,109,48}}, +/* 9505 */ {(16<<2)|3,{99,109,49}}, +/* 9506 */ {(16<<2)|3,{99,109,50}}, +/* 9507 */ {(16<<2)|3,{99,109,97}}, +/* 9508 */ {(16<<2)|3,{99,109,99}}, +/* 9509 */ {(16<<2)|3,{99,109,101}}, +/* 9510 */ {(16<<2)|3,{99,109,105}}, +/* 9511 */ {(16<<2)|3,{99,109,111}}, +/* 9512 */ {(16<<2)|3,{99,109,115}}, +/* 9513 */ {(16<<2)|3,{99,109,116}}, +/* 9514 */ {(11<<2)|2,{99,109,0}}, +/* 9515 */ {(11<<2)|2,{99,109,0}}, +/* 9516 */ {(11<<2)|2,{99,109,0}}, +/* 9517 */ {(11<<2)|2,{99,109,0}}, +/* 9518 */ {(11<<2)|2,{99,109,0}}, +/* 9519 */ {(11<<2)|2,{99,109,0}}, +/* 9520 */ {(11<<2)|2,{99,109,0}}, +/* 9521 */ {(11<<2)|2,{99,109,0}}, +/* 9522 */ {(11<<2)|2,{99,109,0}}, +/* 9523 */ {(11<<2)|2,{99,109,0}}, +/* 9524 */ {(11<<2)|2,{99,109,0}}, +/* 9525 */ {(11<<2)|2,{99,109,0}}, +/* 9526 */ {(11<<2)|2,{99,109,0}}, +/* 9527 */ {(11<<2)|2,{99,109,0}}, +/* 9528 */ {(11<<2)|2,{99,109,0}}, +/* 9529 */ {(11<<2)|2,{99,109,0}}, +/* 9530 */ {(11<<2)|2,{99,109,0}}, +/* 9531 */ {(11<<2)|2,{99,109,0}}, +/* 9532 */ {(11<<2)|2,{99,109,0}}, +/* 9533 */ {(11<<2)|2,{99,109,0}}, +/* 9534 */ {(11<<2)|2,{99,109,0}}, +/* 9535 */ {(11<<2)|2,{99,109,0}}, +/* 9536 */ {(16<<2)|3,{99,110,48}}, +/* 9537 */ {(16<<2)|3,{99,110,49}}, +/* 9538 */ {(16<<2)|3,{99,110,50}}, +/* 9539 */ {(16<<2)|3,{99,110,97}}, +/* 9540 */ {(16<<2)|3,{99,110,99}}, +/* 9541 */ {(16<<2)|3,{99,110,101}}, +/* 9542 */ {(16<<2)|3,{99,110,105}}, +/* 9543 */ {(16<<2)|3,{99,110,111}}, +/* 9544 */ {(16<<2)|3,{99,110,115}}, +/* 9545 */ {(16<<2)|3,{99,110,116}}, +/* 9546 */ {(11<<2)|2,{99,110,0}}, +/* 9547 */ {(11<<2)|2,{99,110,0}}, +/* 9548 */ {(11<<2)|2,{99,110,0}}, +/* 9549 */ {(11<<2)|2,{99,110,0}}, +/* 9550 */ {(11<<2)|2,{99,110,0}}, +/* 9551 */ {(11<<2)|2,{99,110,0}}, +/* 9552 */ {(11<<2)|2,{99,110,0}}, +/* 9553 */ {(11<<2)|2,{99,110,0}}, +/* 9554 */ {(11<<2)|2,{99,110,0}}, +/* 9555 */ {(11<<2)|2,{99,110,0}}, +/* 9556 */ {(11<<2)|2,{99,110,0}}, +/* 9557 */ {(11<<2)|2,{99,110,0}}, +/* 9558 */ {(11<<2)|2,{99,110,0}}, +/* 9559 */ {(11<<2)|2,{99,110,0}}, +/* 9560 */ {(11<<2)|2,{99,110,0}}, +/* 9561 */ {(11<<2)|2,{99,110,0}}, +/* 9562 */ {(11<<2)|2,{99,110,0}}, +/* 9563 */ {(11<<2)|2,{99,110,0}}, +/* 9564 */ {(11<<2)|2,{99,110,0}}, +/* 9565 */ {(11<<2)|2,{99,110,0}}, +/* 9566 */ {(11<<2)|2,{99,110,0}}, +/* 9567 */ {(11<<2)|2,{99,110,0}}, +/* 9568 */ {(16<<2)|3,{99,112,48}}, +/* 9569 */ {(16<<2)|3,{99,112,49}}, +/* 9570 */ {(16<<2)|3,{99,112,50}}, +/* 9571 */ {(16<<2)|3,{99,112,97}}, +/* 9572 */ {(16<<2)|3,{99,112,99}}, +/* 9573 */ {(16<<2)|3,{99,112,101}}, +/* 9574 */ {(16<<2)|3,{99,112,105}}, +/* 9575 */ {(16<<2)|3,{99,112,111}}, +/* 9576 */ {(16<<2)|3,{99,112,115}}, +/* 9577 */ {(16<<2)|3,{99,112,116}}, +/* 9578 */ {(11<<2)|2,{99,112,0}}, +/* 9579 */ {(11<<2)|2,{99,112,0}}, +/* 9580 */ {(11<<2)|2,{99,112,0}}, +/* 9581 */ {(11<<2)|2,{99,112,0}}, +/* 9582 */ {(11<<2)|2,{99,112,0}}, +/* 9583 */ {(11<<2)|2,{99,112,0}}, +/* 9584 */ {(11<<2)|2,{99,112,0}}, +/* 9585 */ {(11<<2)|2,{99,112,0}}, +/* 9586 */ {(11<<2)|2,{99,112,0}}, +/* 9587 */ {(11<<2)|2,{99,112,0}}, +/* 9588 */ {(11<<2)|2,{99,112,0}}, +/* 9589 */ {(11<<2)|2,{99,112,0}}, +/* 9590 */ {(11<<2)|2,{99,112,0}}, +/* 9591 */ {(11<<2)|2,{99,112,0}}, +/* 9592 */ {(11<<2)|2,{99,112,0}}, +/* 9593 */ {(11<<2)|2,{99,112,0}}, +/* 9594 */ {(11<<2)|2,{99,112,0}}, +/* 9595 */ {(11<<2)|2,{99,112,0}}, +/* 9596 */ {(11<<2)|2,{99,112,0}}, +/* 9597 */ {(11<<2)|2,{99,112,0}}, +/* 9598 */ {(11<<2)|2,{99,112,0}}, +/* 9599 */ {(11<<2)|2,{99,112,0}}, +/* 9600 */ {(16<<2)|3,{99,114,48}}, +/* 9601 */ {(16<<2)|3,{99,114,49}}, +/* 9602 */ {(16<<2)|3,{99,114,50}}, +/* 9603 */ {(16<<2)|3,{99,114,97}}, +/* 9604 */ {(16<<2)|3,{99,114,99}}, +/* 9605 */ {(16<<2)|3,{99,114,101}}, +/* 9606 */ {(16<<2)|3,{99,114,105}}, +/* 9607 */ {(16<<2)|3,{99,114,111}}, +/* 9608 */ {(16<<2)|3,{99,114,115}}, +/* 9609 */ {(16<<2)|3,{99,114,116}}, +/* 9610 */ {(11<<2)|2,{99,114,0}}, +/* 9611 */ {(11<<2)|2,{99,114,0}}, +/* 9612 */ {(11<<2)|2,{99,114,0}}, +/* 9613 */ {(11<<2)|2,{99,114,0}}, +/* 9614 */ {(11<<2)|2,{99,114,0}}, +/* 9615 */ {(11<<2)|2,{99,114,0}}, +/* 9616 */ {(11<<2)|2,{99,114,0}}, +/* 9617 */ {(11<<2)|2,{99,114,0}}, +/* 9618 */ {(11<<2)|2,{99,114,0}}, +/* 9619 */ {(11<<2)|2,{99,114,0}}, +/* 9620 */ {(11<<2)|2,{99,114,0}}, +/* 9621 */ {(11<<2)|2,{99,114,0}}, +/* 9622 */ {(11<<2)|2,{99,114,0}}, +/* 9623 */ {(11<<2)|2,{99,114,0}}, +/* 9624 */ {(11<<2)|2,{99,114,0}}, +/* 9625 */ {(11<<2)|2,{99,114,0}}, +/* 9626 */ {(11<<2)|2,{99,114,0}}, +/* 9627 */ {(11<<2)|2,{99,114,0}}, +/* 9628 */ {(11<<2)|2,{99,114,0}}, +/* 9629 */ {(11<<2)|2,{99,114,0}}, +/* 9630 */ {(11<<2)|2,{99,114,0}}, +/* 9631 */ {(11<<2)|2,{99,114,0}}, +/* 9632 */ {(16<<2)|3,{99,117,48}}, +/* 9633 */ {(16<<2)|3,{99,117,49}}, +/* 9634 */ {(16<<2)|3,{99,117,50}}, +/* 9635 */ {(16<<2)|3,{99,117,97}}, +/* 9636 */ {(16<<2)|3,{99,117,99}}, +/* 9637 */ {(16<<2)|3,{99,117,101}}, +/* 9638 */ {(16<<2)|3,{99,117,105}}, +/* 9639 */ {(16<<2)|3,{99,117,111}}, +/* 9640 */ {(16<<2)|3,{99,117,115}}, +/* 9641 */ {(16<<2)|3,{99,117,116}}, +/* 9642 */ {(11<<2)|2,{99,117,0}}, +/* 9643 */ {(11<<2)|2,{99,117,0}}, +/* 9644 */ {(11<<2)|2,{99,117,0}}, +/* 9645 */ {(11<<2)|2,{99,117,0}}, +/* 9646 */ {(11<<2)|2,{99,117,0}}, +/* 9647 */ {(11<<2)|2,{99,117,0}}, +/* 9648 */ {(11<<2)|2,{99,117,0}}, +/* 9649 */ {(11<<2)|2,{99,117,0}}, +/* 9650 */ {(11<<2)|2,{99,117,0}}, +/* 9651 */ {(11<<2)|2,{99,117,0}}, +/* 9652 */ {(11<<2)|2,{99,117,0}}, +/* 9653 */ {(11<<2)|2,{99,117,0}}, +/* 9654 */ {(11<<2)|2,{99,117,0}}, +/* 9655 */ {(11<<2)|2,{99,117,0}}, +/* 9656 */ {(11<<2)|2,{99,117,0}}, +/* 9657 */ {(11<<2)|2,{99,117,0}}, +/* 9658 */ {(11<<2)|2,{99,117,0}}, +/* 9659 */ {(11<<2)|2,{99,117,0}}, +/* 9660 */ {(11<<2)|2,{99,117,0}}, +/* 9661 */ {(11<<2)|2,{99,117,0}}, +/* 9662 */ {(11<<2)|2,{99,117,0}}, +/* 9663 */ {(11<<2)|2,{99,117,0}}, +/* 9664 */ {(12<<2)|2,{99,58,0}}, +/* 9665 */ {(12<<2)|2,{99,58,0}}, +/* 9666 */ {(12<<2)|2,{99,58,0}}, +/* 9667 */ {(12<<2)|2,{99,58,0}}, +/* 9668 */ {(12<<2)|2,{99,58,0}}, +/* 9669 */ {(12<<2)|2,{99,58,0}}, +/* 9670 */ {(12<<2)|2,{99,58,0}}, +/* 9671 */ {(12<<2)|2,{99,58,0}}, +/* 9672 */ {(12<<2)|2,{99,58,0}}, +/* 9673 */ {(12<<2)|2,{99,58,0}}, +/* 9674 */ {(12<<2)|2,{99,58,0}}, +/* 9675 */ {(12<<2)|2,{99,58,0}}, +/* 9676 */ {(12<<2)|2,{99,58,0}}, +/* 9677 */ {(12<<2)|2,{99,58,0}}, +/* 9678 */ {(12<<2)|2,{99,58,0}}, +/* 9679 */ {(12<<2)|2,{99,58,0}}, +/* 9680 */ {(12<<2)|2,{99,66,0}}, +/* 9681 */ {(12<<2)|2,{99,66,0}}, +/* 9682 */ {(12<<2)|2,{99,66,0}}, +/* 9683 */ {(12<<2)|2,{99,66,0}}, +/* 9684 */ {(12<<2)|2,{99,66,0}}, +/* 9685 */ {(12<<2)|2,{99,66,0}}, +/* 9686 */ {(12<<2)|2,{99,66,0}}, +/* 9687 */ {(12<<2)|2,{99,66,0}}, +/* 9688 */ {(12<<2)|2,{99,66,0}}, +/* 9689 */ {(12<<2)|2,{99,66,0}}, +/* 9690 */ {(12<<2)|2,{99,66,0}}, +/* 9691 */ {(12<<2)|2,{99,66,0}}, +/* 9692 */ {(12<<2)|2,{99,66,0}}, +/* 9693 */ {(12<<2)|2,{99,66,0}}, +/* 9694 */ {(12<<2)|2,{99,66,0}}, +/* 9695 */ {(12<<2)|2,{99,66,0}}, +/* 9696 */ {(12<<2)|2,{99,67,0}}, +/* 9697 */ {(12<<2)|2,{99,67,0}}, +/* 9698 */ {(12<<2)|2,{99,67,0}}, +/* 9699 */ {(12<<2)|2,{99,67,0}}, +/* 9700 */ {(12<<2)|2,{99,67,0}}, +/* 9701 */ {(12<<2)|2,{99,67,0}}, +/* 9702 */ {(12<<2)|2,{99,67,0}}, +/* 9703 */ {(12<<2)|2,{99,67,0}}, +/* 9704 */ {(12<<2)|2,{99,67,0}}, +/* 9705 */ {(12<<2)|2,{99,67,0}}, +/* 9706 */ {(12<<2)|2,{99,67,0}}, +/* 9707 */ {(12<<2)|2,{99,67,0}}, +/* 9708 */ {(12<<2)|2,{99,67,0}}, +/* 9709 */ {(12<<2)|2,{99,67,0}}, +/* 9710 */ {(12<<2)|2,{99,67,0}}, +/* 9711 */ {(12<<2)|2,{99,67,0}}, +/* 9712 */ {(12<<2)|2,{99,68,0}}, +/* 9713 */ {(12<<2)|2,{99,68,0}}, +/* 9714 */ {(12<<2)|2,{99,68,0}}, +/* 9715 */ {(12<<2)|2,{99,68,0}}, +/* 9716 */ {(12<<2)|2,{99,68,0}}, +/* 9717 */ {(12<<2)|2,{99,68,0}}, +/* 9718 */ {(12<<2)|2,{99,68,0}}, +/* 9719 */ {(12<<2)|2,{99,68,0}}, +/* 9720 */ {(12<<2)|2,{99,68,0}}, +/* 9721 */ {(12<<2)|2,{99,68,0}}, +/* 9722 */ {(12<<2)|2,{99,68,0}}, +/* 9723 */ {(12<<2)|2,{99,68,0}}, +/* 9724 */ {(12<<2)|2,{99,68,0}}, +/* 9725 */ {(12<<2)|2,{99,68,0}}, +/* 9726 */ {(12<<2)|2,{99,68,0}}, +/* 9727 */ {(12<<2)|2,{99,68,0}}, +/* 9728 */ {(12<<2)|2,{99,69,0}}, +/* 9729 */ {(12<<2)|2,{99,69,0}}, +/* 9730 */ {(12<<2)|2,{99,69,0}}, +/* 9731 */ {(12<<2)|2,{99,69,0}}, +/* 9732 */ {(12<<2)|2,{99,69,0}}, +/* 9733 */ {(12<<2)|2,{99,69,0}}, +/* 9734 */ {(12<<2)|2,{99,69,0}}, +/* 9735 */ {(12<<2)|2,{99,69,0}}, +/* 9736 */ {(12<<2)|2,{99,69,0}}, +/* 9737 */ {(12<<2)|2,{99,69,0}}, +/* 9738 */ {(12<<2)|2,{99,69,0}}, +/* 9739 */ {(12<<2)|2,{99,69,0}}, +/* 9740 */ {(12<<2)|2,{99,69,0}}, +/* 9741 */ {(12<<2)|2,{99,69,0}}, +/* 9742 */ {(12<<2)|2,{99,69,0}}, +/* 9743 */ {(12<<2)|2,{99,69,0}}, +/* 9744 */ {(12<<2)|2,{99,70,0}}, +/* 9745 */ {(12<<2)|2,{99,70,0}}, +/* 9746 */ {(12<<2)|2,{99,70,0}}, +/* 9747 */ {(12<<2)|2,{99,70,0}}, +/* 9748 */ {(12<<2)|2,{99,70,0}}, +/* 9749 */ {(12<<2)|2,{99,70,0}}, +/* 9750 */ {(12<<2)|2,{99,70,0}}, +/* 9751 */ {(12<<2)|2,{99,70,0}}, +/* 9752 */ {(12<<2)|2,{99,70,0}}, +/* 9753 */ {(12<<2)|2,{99,70,0}}, +/* 9754 */ {(12<<2)|2,{99,70,0}}, +/* 9755 */ {(12<<2)|2,{99,70,0}}, +/* 9756 */ {(12<<2)|2,{99,70,0}}, +/* 9757 */ {(12<<2)|2,{99,70,0}}, +/* 9758 */ {(12<<2)|2,{99,70,0}}, +/* 9759 */ {(12<<2)|2,{99,70,0}}, +/* 9760 */ {(12<<2)|2,{99,71,0}}, +/* 9761 */ {(12<<2)|2,{99,71,0}}, +/* 9762 */ {(12<<2)|2,{99,71,0}}, +/* 9763 */ {(12<<2)|2,{99,71,0}}, +/* 9764 */ {(12<<2)|2,{99,71,0}}, +/* 9765 */ {(12<<2)|2,{99,71,0}}, +/* 9766 */ {(12<<2)|2,{99,71,0}}, +/* 9767 */ {(12<<2)|2,{99,71,0}}, +/* 9768 */ {(12<<2)|2,{99,71,0}}, +/* 9769 */ {(12<<2)|2,{99,71,0}}, +/* 9770 */ {(12<<2)|2,{99,71,0}}, +/* 9771 */ {(12<<2)|2,{99,71,0}}, +/* 9772 */ {(12<<2)|2,{99,71,0}}, +/* 9773 */ {(12<<2)|2,{99,71,0}}, +/* 9774 */ {(12<<2)|2,{99,71,0}}, +/* 9775 */ {(12<<2)|2,{99,71,0}}, +/* 9776 */ {(12<<2)|2,{99,72,0}}, +/* 9777 */ {(12<<2)|2,{99,72,0}}, +/* 9778 */ {(12<<2)|2,{99,72,0}}, +/* 9779 */ {(12<<2)|2,{99,72,0}}, +/* 9780 */ {(12<<2)|2,{99,72,0}}, +/* 9781 */ {(12<<2)|2,{99,72,0}}, +/* 9782 */ {(12<<2)|2,{99,72,0}}, +/* 9783 */ {(12<<2)|2,{99,72,0}}, +/* 9784 */ {(12<<2)|2,{99,72,0}}, +/* 9785 */ {(12<<2)|2,{99,72,0}}, +/* 9786 */ {(12<<2)|2,{99,72,0}}, +/* 9787 */ {(12<<2)|2,{99,72,0}}, +/* 9788 */ {(12<<2)|2,{99,72,0}}, +/* 9789 */ {(12<<2)|2,{99,72,0}}, +/* 9790 */ {(12<<2)|2,{99,72,0}}, +/* 9791 */ {(12<<2)|2,{99,72,0}}, +/* 9792 */ {(12<<2)|2,{99,73,0}}, +/* 9793 */ {(12<<2)|2,{99,73,0}}, +/* 9794 */ {(12<<2)|2,{99,73,0}}, +/* 9795 */ {(12<<2)|2,{99,73,0}}, +/* 9796 */ {(12<<2)|2,{99,73,0}}, +/* 9797 */ {(12<<2)|2,{99,73,0}}, +/* 9798 */ {(12<<2)|2,{99,73,0}}, +/* 9799 */ {(12<<2)|2,{99,73,0}}, +/* 9800 */ {(12<<2)|2,{99,73,0}}, +/* 9801 */ {(12<<2)|2,{99,73,0}}, +/* 9802 */ {(12<<2)|2,{99,73,0}}, +/* 9803 */ {(12<<2)|2,{99,73,0}}, +/* 9804 */ {(12<<2)|2,{99,73,0}}, +/* 9805 */ {(12<<2)|2,{99,73,0}}, +/* 9806 */ {(12<<2)|2,{99,73,0}}, +/* 9807 */ {(12<<2)|2,{99,73,0}}, +/* 9808 */ {(12<<2)|2,{99,74,0}}, +/* 9809 */ {(12<<2)|2,{99,74,0}}, +/* 9810 */ {(12<<2)|2,{99,74,0}}, +/* 9811 */ {(12<<2)|2,{99,74,0}}, +/* 9812 */ {(12<<2)|2,{99,74,0}}, +/* 9813 */ {(12<<2)|2,{99,74,0}}, +/* 9814 */ {(12<<2)|2,{99,74,0}}, +/* 9815 */ {(12<<2)|2,{99,74,0}}, +/* 9816 */ {(12<<2)|2,{99,74,0}}, +/* 9817 */ {(12<<2)|2,{99,74,0}}, +/* 9818 */ {(12<<2)|2,{99,74,0}}, +/* 9819 */ {(12<<2)|2,{99,74,0}}, +/* 9820 */ {(12<<2)|2,{99,74,0}}, +/* 9821 */ {(12<<2)|2,{99,74,0}}, +/* 9822 */ {(12<<2)|2,{99,74,0}}, +/* 9823 */ {(12<<2)|2,{99,74,0}}, +/* 9824 */ {(12<<2)|2,{99,75,0}}, +/* 9825 */ {(12<<2)|2,{99,75,0}}, +/* 9826 */ {(12<<2)|2,{99,75,0}}, +/* 9827 */ {(12<<2)|2,{99,75,0}}, +/* 9828 */ {(12<<2)|2,{99,75,0}}, +/* 9829 */ {(12<<2)|2,{99,75,0}}, +/* 9830 */ {(12<<2)|2,{99,75,0}}, +/* 9831 */ {(12<<2)|2,{99,75,0}}, +/* 9832 */ {(12<<2)|2,{99,75,0}}, +/* 9833 */ {(12<<2)|2,{99,75,0}}, +/* 9834 */ {(12<<2)|2,{99,75,0}}, +/* 9835 */ {(12<<2)|2,{99,75,0}}, +/* 9836 */ {(12<<2)|2,{99,75,0}}, +/* 9837 */ {(12<<2)|2,{99,75,0}}, +/* 9838 */ {(12<<2)|2,{99,75,0}}, +/* 9839 */ {(12<<2)|2,{99,75,0}}, +/* 9840 */ {(12<<2)|2,{99,76,0}}, +/* 9841 */ {(12<<2)|2,{99,76,0}}, +/* 9842 */ {(12<<2)|2,{99,76,0}}, +/* 9843 */ {(12<<2)|2,{99,76,0}}, +/* 9844 */ {(12<<2)|2,{99,76,0}}, +/* 9845 */ {(12<<2)|2,{99,76,0}}, +/* 9846 */ {(12<<2)|2,{99,76,0}}, +/* 9847 */ {(12<<2)|2,{99,76,0}}, +/* 9848 */ {(12<<2)|2,{99,76,0}}, +/* 9849 */ {(12<<2)|2,{99,76,0}}, +/* 9850 */ {(12<<2)|2,{99,76,0}}, +/* 9851 */ {(12<<2)|2,{99,76,0}}, +/* 9852 */ {(12<<2)|2,{99,76,0}}, +/* 9853 */ {(12<<2)|2,{99,76,0}}, +/* 9854 */ {(12<<2)|2,{99,76,0}}, +/* 9855 */ {(12<<2)|2,{99,76,0}}, +/* 9856 */ {(12<<2)|2,{99,77,0}}, +/* 9857 */ {(12<<2)|2,{99,77,0}}, +/* 9858 */ {(12<<2)|2,{99,77,0}}, +/* 9859 */ {(12<<2)|2,{99,77,0}}, +/* 9860 */ {(12<<2)|2,{99,77,0}}, +/* 9861 */ {(12<<2)|2,{99,77,0}}, +/* 9862 */ {(12<<2)|2,{99,77,0}}, +/* 9863 */ {(12<<2)|2,{99,77,0}}, +/* 9864 */ {(12<<2)|2,{99,77,0}}, +/* 9865 */ {(12<<2)|2,{99,77,0}}, +/* 9866 */ {(12<<2)|2,{99,77,0}}, +/* 9867 */ {(12<<2)|2,{99,77,0}}, +/* 9868 */ {(12<<2)|2,{99,77,0}}, +/* 9869 */ {(12<<2)|2,{99,77,0}}, +/* 9870 */ {(12<<2)|2,{99,77,0}}, +/* 9871 */ {(12<<2)|2,{99,77,0}}, +/* 9872 */ {(12<<2)|2,{99,78,0}}, +/* 9873 */ {(12<<2)|2,{99,78,0}}, +/* 9874 */ {(12<<2)|2,{99,78,0}}, +/* 9875 */ {(12<<2)|2,{99,78,0}}, +/* 9876 */ {(12<<2)|2,{99,78,0}}, +/* 9877 */ {(12<<2)|2,{99,78,0}}, +/* 9878 */ {(12<<2)|2,{99,78,0}}, +/* 9879 */ {(12<<2)|2,{99,78,0}}, +/* 9880 */ {(12<<2)|2,{99,78,0}}, +/* 9881 */ {(12<<2)|2,{99,78,0}}, +/* 9882 */ {(12<<2)|2,{99,78,0}}, +/* 9883 */ {(12<<2)|2,{99,78,0}}, +/* 9884 */ {(12<<2)|2,{99,78,0}}, +/* 9885 */ {(12<<2)|2,{99,78,0}}, +/* 9886 */ {(12<<2)|2,{99,78,0}}, +/* 9887 */ {(12<<2)|2,{99,78,0}}, +/* 9888 */ {(12<<2)|2,{99,79,0}}, +/* 9889 */ {(12<<2)|2,{99,79,0}}, +/* 9890 */ {(12<<2)|2,{99,79,0}}, +/* 9891 */ {(12<<2)|2,{99,79,0}}, +/* 9892 */ {(12<<2)|2,{99,79,0}}, +/* 9893 */ {(12<<2)|2,{99,79,0}}, +/* 9894 */ {(12<<2)|2,{99,79,0}}, +/* 9895 */ {(12<<2)|2,{99,79,0}}, +/* 9896 */ {(12<<2)|2,{99,79,0}}, +/* 9897 */ {(12<<2)|2,{99,79,0}}, +/* 9898 */ {(12<<2)|2,{99,79,0}}, +/* 9899 */ {(12<<2)|2,{99,79,0}}, +/* 9900 */ {(12<<2)|2,{99,79,0}}, +/* 9901 */ {(12<<2)|2,{99,79,0}}, +/* 9902 */ {(12<<2)|2,{99,79,0}}, +/* 9903 */ {(12<<2)|2,{99,79,0}}, +/* 9904 */ {(12<<2)|2,{99,80,0}}, +/* 9905 */ {(12<<2)|2,{99,80,0}}, +/* 9906 */ {(12<<2)|2,{99,80,0}}, +/* 9907 */ {(12<<2)|2,{99,80,0}}, +/* 9908 */ {(12<<2)|2,{99,80,0}}, +/* 9909 */ {(12<<2)|2,{99,80,0}}, +/* 9910 */ {(12<<2)|2,{99,80,0}}, +/* 9911 */ {(12<<2)|2,{99,80,0}}, +/* 9912 */ {(12<<2)|2,{99,80,0}}, +/* 9913 */ {(12<<2)|2,{99,80,0}}, +/* 9914 */ {(12<<2)|2,{99,80,0}}, +/* 9915 */ {(12<<2)|2,{99,80,0}}, +/* 9916 */ {(12<<2)|2,{99,80,0}}, +/* 9917 */ {(12<<2)|2,{99,80,0}}, +/* 9918 */ {(12<<2)|2,{99,80,0}}, +/* 9919 */ {(12<<2)|2,{99,80,0}}, +/* 9920 */ {(12<<2)|2,{99,81,0}}, +/* 9921 */ {(12<<2)|2,{99,81,0}}, +/* 9922 */ {(12<<2)|2,{99,81,0}}, +/* 9923 */ {(12<<2)|2,{99,81,0}}, +/* 9924 */ {(12<<2)|2,{99,81,0}}, +/* 9925 */ {(12<<2)|2,{99,81,0}}, +/* 9926 */ {(12<<2)|2,{99,81,0}}, +/* 9927 */ {(12<<2)|2,{99,81,0}}, +/* 9928 */ {(12<<2)|2,{99,81,0}}, +/* 9929 */ {(12<<2)|2,{99,81,0}}, +/* 9930 */ {(12<<2)|2,{99,81,0}}, +/* 9931 */ {(12<<2)|2,{99,81,0}}, +/* 9932 */ {(12<<2)|2,{99,81,0}}, +/* 9933 */ {(12<<2)|2,{99,81,0}}, +/* 9934 */ {(12<<2)|2,{99,81,0}}, +/* 9935 */ {(12<<2)|2,{99,81,0}}, +/* 9936 */ {(12<<2)|2,{99,82,0}}, +/* 9937 */ {(12<<2)|2,{99,82,0}}, +/* 9938 */ {(12<<2)|2,{99,82,0}}, +/* 9939 */ {(12<<2)|2,{99,82,0}}, +/* 9940 */ {(12<<2)|2,{99,82,0}}, +/* 9941 */ {(12<<2)|2,{99,82,0}}, +/* 9942 */ {(12<<2)|2,{99,82,0}}, +/* 9943 */ {(12<<2)|2,{99,82,0}}, +/* 9944 */ {(12<<2)|2,{99,82,0}}, +/* 9945 */ {(12<<2)|2,{99,82,0}}, +/* 9946 */ {(12<<2)|2,{99,82,0}}, +/* 9947 */ {(12<<2)|2,{99,82,0}}, +/* 9948 */ {(12<<2)|2,{99,82,0}}, +/* 9949 */ {(12<<2)|2,{99,82,0}}, +/* 9950 */ {(12<<2)|2,{99,82,0}}, +/* 9951 */ {(12<<2)|2,{99,82,0}}, +/* 9952 */ {(12<<2)|2,{99,83,0}}, +/* 9953 */ {(12<<2)|2,{99,83,0}}, +/* 9954 */ {(12<<2)|2,{99,83,0}}, +/* 9955 */ {(12<<2)|2,{99,83,0}}, +/* 9956 */ {(12<<2)|2,{99,83,0}}, +/* 9957 */ {(12<<2)|2,{99,83,0}}, +/* 9958 */ {(12<<2)|2,{99,83,0}}, +/* 9959 */ {(12<<2)|2,{99,83,0}}, +/* 9960 */ {(12<<2)|2,{99,83,0}}, +/* 9961 */ {(12<<2)|2,{99,83,0}}, +/* 9962 */ {(12<<2)|2,{99,83,0}}, +/* 9963 */ {(12<<2)|2,{99,83,0}}, +/* 9964 */ {(12<<2)|2,{99,83,0}}, +/* 9965 */ {(12<<2)|2,{99,83,0}}, +/* 9966 */ {(12<<2)|2,{99,83,0}}, +/* 9967 */ {(12<<2)|2,{99,83,0}}, +/* 9968 */ {(12<<2)|2,{99,84,0}}, +/* 9969 */ {(12<<2)|2,{99,84,0}}, +/* 9970 */ {(12<<2)|2,{99,84,0}}, +/* 9971 */ {(12<<2)|2,{99,84,0}}, +/* 9972 */ {(12<<2)|2,{99,84,0}}, +/* 9973 */ {(12<<2)|2,{99,84,0}}, +/* 9974 */ {(12<<2)|2,{99,84,0}}, +/* 9975 */ {(12<<2)|2,{99,84,0}}, +/* 9976 */ {(12<<2)|2,{99,84,0}}, +/* 9977 */ {(12<<2)|2,{99,84,0}}, +/* 9978 */ {(12<<2)|2,{99,84,0}}, +/* 9979 */ {(12<<2)|2,{99,84,0}}, +/* 9980 */ {(12<<2)|2,{99,84,0}}, +/* 9981 */ {(12<<2)|2,{99,84,0}}, +/* 9982 */ {(12<<2)|2,{99,84,0}}, +/* 9983 */ {(12<<2)|2,{99,84,0}}, +/* 9984 */ {(12<<2)|2,{99,85,0}}, +/* 9985 */ {(12<<2)|2,{99,85,0}}, +/* 9986 */ {(12<<2)|2,{99,85,0}}, +/* 9987 */ {(12<<2)|2,{99,85,0}}, +/* 9988 */ {(12<<2)|2,{99,85,0}}, +/* 9989 */ {(12<<2)|2,{99,85,0}}, +/* 9990 */ {(12<<2)|2,{99,85,0}}, +/* 9991 */ {(12<<2)|2,{99,85,0}}, +/* 9992 */ {(12<<2)|2,{99,85,0}}, +/* 9993 */ {(12<<2)|2,{99,85,0}}, +/* 9994 */ {(12<<2)|2,{99,85,0}}, +/* 9995 */ {(12<<2)|2,{99,85,0}}, +/* 9996 */ {(12<<2)|2,{99,85,0}}, +/* 9997 */ {(12<<2)|2,{99,85,0}}, +/* 9998 */ {(12<<2)|2,{99,85,0}}, +/* 9999 */ {(12<<2)|2,{99,85,0}}, +/* 10000 */ {(12<<2)|2,{99,86,0}}, +/* 10001 */ {(12<<2)|2,{99,86,0}}, +/* 10002 */ {(12<<2)|2,{99,86,0}}, +/* 10003 */ {(12<<2)|2,{99,86,0}}, +/* 10004 */ {(12<<2)|2,{99,86,0}}, +/* 10005 */ {(12<<2)|2,{99,86,0}}, +/* 10006 */ {(12<<2)|2,{99,86,0}}, +/* 10007 */ {(12<<2)|2,{99,86,0}}, +/* 10008 */ {(12<<2)|2,{99,86,0}}, +/* 10009 */ {(12<<2)|2,{99,86,0}}, +/* 10010 */ {(12<<2)|2,{99,86,0}}, +/* 10011 */ {(12<<2)|2,{99,86,0}}, +/* 10012 */ {(12<<2)|2,{99,86,0}}, +/* 10013 */ {(12<<2)|2,{99,86,0}}, +/* 10014 */ {(12<<2)|2,{99,86,0}}, +/* 10015 */ {(12<<2)|2,{99,86,0}}, +/* 10016 */ {(12<<2)|2,{99,87,0}}, +/* 10017 */ {(12<<2)|2,{99,87,0}}, +/* 10018 */ {(12<<2)|2,{99,87,0}}, +/* 10019 */ {(12<<2)|2,{99,87,0}}, +/* 10020 */ {(12<<2)|2,{99,87,0}}, +/* 10021 */ {(12<<2)|2,{99,87,0}}, +/* 10022 */ {(12<<2)|2,{99,87,0}}, +/* 10023 */ {(12<<2)|2,{99,87,0}}, +/* 10024 */ {(12<<2)|2,{99,87,0}}, +/* 10025 */ {(12<<2)|2,{99,87,0}}, +/* 10026 */ {(12<<2)|2,{99,87,0}}, +/* 10027 */ {(12<<2)|2,{99,87,0}}, +/* 10028 */ {(12<<2)|2,{99,87,0}}, +/* 10029 */ {(12<<2)|2,{99,87,0}}, +/* 10030 */ {(12<<2)|2,{99,87,0}}, +/* 10031 */ {(12<<2)|2,{99,87,0}}, +/* 10032 */ {(12<<2)|2,{99,89,0}}, +/* 10033 */ {(12<<2)|2,{99,89,0}}, +/* 10034 */ {(12<<2)|2,{99,89,0}}, +/* 10035 */ {(12<<2)|2,{99,89,0}}, +/* 10036 */ {(12<<2)|2,{99,89,0}}, +/* 10037 */ {(12<<2)|2,{99,89,0}}, +/* 10038 */ {(12<<2)|2,{99,89,0}}, +/* 10039 */ {(12<<2)|2,{99,89,0}}, +/* 10040 */ {(12<<2)|2,{99,89,0}}, +/* 10041 */ {(12<<2)|2,{99,89,0}}, +/* 10042 */ {(12<<2)|2,{99,89,0}}, +/* 10043 */ {(12<<2)|2,{99,89,0}}, +/* 10044 */ {(12<<2)|2,{99,89,0}}, +/* 10045 */ {(12<<2)|2,{99,89,0}}, +/* 10046 */ {(12<<2)|2,{99,89,0}}, +/* 10047 */ {(12<<2)|2,{99,89,0}}, +/* 10048 */ {(12<<2)|2,{99,106,0}}, +/* 10049 */ {(12<<2)|2,{99,106,0}}, +/* 10050 */ {(12<<2)|2,{99,106,0}}, +/* 10051 */ {(12<<2)|2,{99,106,0}}, +/* 10052 */ {(12<<2)|2,{99,106,0}}, +/* 10053 */ {(12<<2)|2,{99,106,0}}, +/* 10054 */ {(12<<2)|2,{99,106,0}}, +/* 10055 */ {(12<<2)|2,{99,106,0}}, +/* 10056 */ {(12<<2)|2,{99,106,0}}, +/* 10057 */ {(12<<2)|2,{99,106,0}}, +/* 10058 */ {(12<<2)|2,{99,106,0}}, +/* 10059 */ {(12<<2)|2,{99,106,0}}, +/* 10060 */ {(12<<2)|2,{99,106,0}}, +/* 10061 */ {(12<<2)|2,{99,106,0}}, +/* 10062 */ {(12<<2)|2,{99,106,0}}, +/* 10063 */ {(12<<2)|2,{99,106,0}}, +/* 10064 */ {(12<<2)|2,{99,107,0}}, +/* 10065 */ {(12<<2)|2,{99,107,0}}, +/* 10066 */ {(12<<2)|2,{99,107,0}}, +/* 10067 */ {(12<<2)|2,{99,107,0}}, +/* 10068 */ {(12<<2)|2,{99,107,0}}, +/* 10069 */ {(12<<2)|2,{99,107,0}}, +/* 10070 */ {(12<<2)|2,{99,107,0}}, +/* 10071 */ {(12<<2)|2,{99,107,0}}, +/* 10072 */ {(12<<2)|2,{99,107,0}}, +/* 10073 */ {(12<<2)|2,{99,107,0}}, +/* 10074 */ {(12<<2)|2,{99,107,0}}, +/* 10075 */ {(12<<2)|2,{99,107,0}}, +/* 10076 */ {(12<<2)|2,{99,107,0}}, +/* 10077 */ {(12<<2)|2,{99,107,0}}, +/* 10078 */ {(12<<2)|2,{99,107,0}}, +/* 10079 */ {(12<<2)|2,{99,107,0}}, +/* 10080 */ {(12<<2)|2,{99,113,0}}, +/* 10081 */ {(12<<2)|2,{99,113,0}}, +/* 10082 */ {(12<<2)|2,{99,113,0}}, +/* 10083 */ {(12<<2)|2,{99,113,0}}, +/* 10084 */ {(12<<2)|2,{99,113,0}}, +/* 10085 */ {(12<<2)|2,{99,113,0}}, +/* 10086 */ {(12<<2)|2,{99,113,0}}, +/* 10087 */ {(12<<2)|2,{99,113,0}}, +/* 10088 */ {(12<<2)|2,{99,113,0}}, +/* 10089 */ {(12<<2)|2,{99,113,0}}, +/* 10090 */ {(12<<2)|2,{99,113,0}}, +/* 10091 */ {(12<<2)|2,{99,113,0}}, +/* 10092 */ {(12<<2)|2,{99,113,0}}, +/* 10093 */ {(12<<2)|2,{99,113,0}}, +/* 10094 */ {(12<<2)|2,{99,113,0}}, +/* 10095 */ {(12<<2)|2,{99,113,0}}, +/* 10096 */ {(12<<2)|2,{99,118,0}}, +/* 10097 */ {(12<<2)|2,{99,118,0}}, +/* 10098 */ {(12<<2)|2,{99,118,0}}, +/* 10099 */ {(12<<2)|2,{99,118,0}}, +/* 10100 */ {(12<<2)|2,{99,118,0}}, +/* 10101 */ {(12<<2)|2,{99,118,0}}, +/* 10102 */ {(12<<2)|2,{99,118,0}}, +/* 10103 */ {(12<<2)|2,{99,118,0}}, +/* 10104 */ {(12<<2)|2,{99,118,0}}, +/* 10105 */ {(12<<2)|2,{99,118,0}}, +/* 10106 */ {(12<<2)|2,{99,118,0}}, +/* 10107 */ {(12<<2)|2,{99,118,0}}, +/* 10108 */ {(12<<2)|2,{99,118,0}}, +/* 10109 */ {(12<<2)|2,{99,118,0}}, +/* 10110 */ {(12<<2)|2,{99,118,0}}, +/* 10111 */ {(12<<2)|2,{99,118,0}}, +/* 10112 */ {(12<<2)|2,{99,119,0}}, +/* 10113 */ {(12<<2)|2,{99,119,0}}, +/* 10114 */ {(12<<2)|2,{99,119,0}}, +/* 10115 */ {(12<<2)|2,{99,119,0}}, +/* 10116 */ {(12<<2)|2,{99,119,0}}, +/* 10117 */ {(12<<2)|2,{99,119,0}}, +/* 10118 */ {(12<<2)|2,{99,119,0}}, +/* 10119 */ {(12<<2)|2,{99,119,0}}, +/* 10120 */ {(12<<2)|2,{99,119,0}}, +/* 10121 */ {(12<<2)|2,{99,119,0}}, +/* 10122 */ {(12<<2)|2,{99,119,0}}, +/* 10123 */ {(12<<2)|2,{99,119,0}}, +/* 10124 */ {(12<<2)|2,{99,119,0}}, +/* 10125 */ {(12<<2)|2,{99,119,0}}, +/* 10126 */ {(12<<2)|2,{99,119,0}}, +/* 10127 */ {(12<<2)|2,{99,119,0}}, +/* 10128 */ {(12<<2)|2,{99,120,0}}, +/* 10129 */ {(12<<2)|2,{99,120,0}}, +/* 10130 */ {(12<<2)|2,{99,120,0}}, +/* 10131 */ {(12<<2)|2,{99,120,0}}, +/* 10132 */ {(12<<2)|2,{99,120,0}}, +/* 10133 */ {(12<<2)|2,{99,120,0}}, +/* 10134 */ {(12<<2)|2,{99,120,0}}, +/* 10135 */ {(12<<2)|2,{99,120,0}}, +/* 10136 */ {(12<<2)|2,{99,120,0}}, +/* 10137 */ {(12<<2)|2,{99,120,0}}, +/* 10138 */ {(12<<2)|2,{99,120,0}}, +/* 10139 */ {(12<<2)|2,{99,120,0}}, +/* 10140 */ {(12<<2)|2,{99,120,0}}, +/* 10141 */ {(12<<2)|2,{99,120,0}}, +/* 10142 */ {(12<<2)|2,{99,120,0}}, +/* 10143 */ {(12<<2)|2,{99,120,0}}, +/* 10144 */ {(12<<2)|2,{99,121,0}}, +/* 10145 */ {(12<<2)|2,{99,121,0}}, +/* 10146 */ {(12<<2)|2,{99,121,0}}, +/* 10147 */ {(12<<2)|2,{99,121,0}}, +/* 10148 */ {(12<<2)|2,{99,121,0}}, +/* 10149 */ {(12<<2)|2,{99,121,0}}, +/* 10150 */ {(12<<2)|2,{99,121,0}}, +/* 10151 */ {(12<<2)|2,{99,121,0}}, +/* 10152 */ {(12<<2)|2,{99,121,0}}, +/* 10153 */ {(12<<2)|2,{99,121,0}}, +/* 10154 */ {(12<<2)|2,{99,121,0}}, +/* 10155 */ {(12<<2)|2,{99,121,0}}, +/* 10156 */ {(12<<2)|2,{99,121,0}}, +/* 10157 */ {(12<<2)|2,{99,121,0}}, +/* 10158 */ {(12<<2)|2,{99,121,0}}, +/* 10159 */ {(12<<2)|2,{99,121,0}}, +/* 10160 */ {(12<<2)|2,{99,122,0}}, +/* 10161 */ {(12<<2)|2,{99,122,0}}, +/* 10162 */ {(12<<2)|2,{99,122,0}}, +/* 10163 */ {(12<<2)|2,{99,122,0}}, +/* 10164 */ {(12<<2)|2,{99,122,0}}, +/* 10165 */ {(12<<2)|2,{99,122,0}}, +/* 10166 */ {(12<<2)|2,{99,122,0}}, +/* 10167 */ {(12<<2)|2,{99,122,0}}, +/* 10168 */ {(12<<2)|2,{99,122,0}}, +/* 10169 */ {(12<<2)|2,{99,122,0}}, +/* 10170 */ {(12<<2)|2,{99,122,0}}, +/* 10171 */ {(12<<2)|2,{99,122,0}}, +/* 10172 */ {(12<<2)|2,{99,122,0}}, +/* 10173 */ {(12<<2)|2,{99,122,0}}, +/* 10174 */ {(12<<2)|2,{99,122,0}}, +/* 10175 */ {(12<<2)|2,{99,122,0}}, +/* 10176 */ {(13<<2)|2,{99,38,0}}, +/* 10177 */ {(13<<2)|2,{99,38,0}}, +/* 10178 */ {(13<<2)|2,{99,38,0}}, +/* 10179 */ {(13<<2)|2,{99,38,0}}, +/* 10180 */ {(13<<2)|2,{99,38,0}}, +/* 10181 */ {(13<<2)|2,{99,38,0}}, +/* 10182 */ {(13<<2)|2,{99,38,0}}, +/* 10183 */ {(13<<2)|2,{99,38,0}}, +/* 10184 */ {(13<<2)|2,{99,42,0}}, +/* 10185 */ {(13<<2)|2,{99,42,0}}, +/* 10186 */ {(13<<2)|2,{99,42,0}}, +/* 10187 */ {(13<<2)|2,{99,42,0}}, +/* 10188 */ {(13<<2)|2,{99,42,0}}, +/* 10189 */ {(13<<2)|2,{99,42,0}}, +/* 10190 */ {(13<<2)|2,{99,42,0}}, +/* 10191 */ {(13<<2)|2,{99,42,0}}, +/* 10192 */ {(13<<2)|2,{99,44,0}}, +/* 10193 */ {(13<<2)|2,{99,44,0}}, +/* 10194 */ {(13<<2)|2,{99,44,0}}, +/* 10195 */ {(13<<2)|2,{99,44,0}}, +/* 10196 */ {(13<<2)|2,{99,44,0}}, +/* 10197 */ {(13<<2)|2,{99,44,0}}, +/* 10198 */ {(13<<2)|2,{99,44,0}}, +/* 10199 */ {(13<<2)|2,{99,44,0}}, +/* 10200 */ {(13<<2)|2,{99,59,0}}, +/* 10201 */ {(13<<2)|2,{99,59,0}}, +/* 10202 */ {(13<<2)|2,{99,59,0}}, +/* 10203 */ {(13<<2)|2,{99,59,0}}, +/* 10204 */ {(13<<2)|2,{99,59,0}}, +/* 10205 */ {(13<<2)|2,{99,59,0}}, +/* 10206 */ {(13<<2)|2,{99,59,0}}, +/* 10207 */ {(13<<2)|2,{99,59,0}}, +/* 10208 */ {(13<<2)|2,{99,88,0}}, +/* 10209 */ {(13<<2)|2,{99,88,0}}, +/* 10210 */ {(13<<2)|2,{99,88,0}}, +/* 10211 */ {(13<<2)|2,{99,88,0}}, +/* 10212 */ {(13<<2)|2,{99,88,0}}, +/* 10213 */ {(13<<2)|2,{99,88,0}}, +/* 10214 */ {(13<<2)|2,{99,88,0}}, +/* 10215 */ {(13<<2)|2,{99,88,0}}, +/* 10216 */ {(13<<2)|2,{99,90,0}}, +/* 10217 */ {(13<<2)|2,{99,90,0}}, +/* 10218 */ {(13<<2)|2,{99,90,0}}, +/* 10219 */ {(13<<2)|2,{99,90,0}}, +/* 10220 */ {(13<<2)|2,{99,90,0}}, +/* 10221 */ {(13<<2)|2,{99,90,0}}, +/* 10222 */ {(13<<2)|2,{99,90,0}}, +/* 10223 */ {(13<<2)|2,{99,90,0}}, +/* 10224 */ {(15<<2)|2,{99,33,0}}, +/* 10225 */ {(15<<2)|2,{99,33,0}}, +/* 10226 */ {(15<<2)|2,{99,34,0}}, +/* 10227 */ {(15<<2)|2,{99,34,0}}, +/* 10228 */ {(15<<2)|2,{99,40,0}}, +/* 10229 */ {(15<<2)|2,{99,40,0}}, +/* 10230 */ {(15<<2)|2,{99,41,0}}, +/* 10231 */ {(15<<2)|2,{99,41,0}}, +/* 10232 */ {(15<<2)|2,{99,63,0}}, +/* 10233 */ {(15<<2)|2,{99,63,0}}, +/* 10234 */ {(16<<2)|2,{99,39,0}}, +/* 10235 */ {(16<<2)|2,{99,43,0}}, +/* 10236 */ {(16<<2)|2,{99,124,0}}, +/* 10237 */ {(5<<2)|1,{99,0,0}}, +/* 10238 */ {(5<<2)|1,{99,0,0}}, +/* 10239 */ {(5<<2)|1,{99,0,0}}, +/* 10240 */ {(15<<2)|3,{101,48,48}}, +/* 10241 */ {(15<<2)|3,{101,48,48}}, +/* 10242 */ {(15<<2)|3,{101,48,49}}, +/* 10243 */ {(15<<2)|3,{101,48,49}}, +/* 10244 */ {(15<<2)|3,{101,48,50}}, +/* 10245 */ {(15<<2)|3,{101,48,50}}, +/* 10246 */ {(15<<2)|3,{101,48,97}}, +/* 10247 */ {(15<<2)|3,{101,48,97}}, +/* 10248 */ {(15<<2)|3,{101,48,99}}, +/* 10249 */ {(15<<2)|3,{101,48,99}}, +/* 10250 */ {(15<<2)|3,{101,48,101}}, +/* 10251 */ {(15<<2)|3,{101,48,101}}, +/* 10252 */ {(15<<2)|3,{101,48,105}}, +/* 10253 */ {(15<<2)|3,{101,48,105}}, +/* 10254 */ {(15<<2)|3,{101,48,111}}, +/* 10255 */ {(15<<2)|3,{101,48,111}}, +/* 10256 */ {(15<<2)|3,{101,48,115}}, +/* 10257 */ {(15<<2)|3,{101,48,115}}, +/* 10258 */ {(15<<2)|3,{101,48,116}}, +/* 10259 */ {(15<<2)|3,{101,48,116}}, +/* 10260 */ {(16<<2)|3,{101,48,32}}, +/* 10261 */ {(16<<2)|3,{101,48,37}}, +/* 10262 */ {(16<<2)|3,{101,48,45}}, +/* 10263 */ {(16<<2)|3,{101,48,46}}, +/* 10264 */ {(16<<2)|3,{101,48,47}}, +/* 10265 */ {(16<<2)|3,{101,48,51}}, +/* 10266 */ {(16<<2)|3,{101,48,52}}, +/* 10267 */ {(16<<2)|3,{101,48,53}}, +/* 10268 */ {(16<<2)|3,{101,48,54}}, +/* 10269 */ {(16<<2)|3,{101,48,55}}, +/* 10270 */ {(16<<2)|3,{101,48,56}}, +/* 10271 */ {(16<<2)|3,{101,48,57}}, +/* 10272 */ {(16<<2)|3,{101,48,61}}, +/* 10273 */ {(16<<2)|3,{101,48,65}}, +/* 10274 */ {(16<<2)|3,{101,48,95}}, +/* 10275 */ {(16<<2)|3,{101,48,98}}, +/* 10276 */ {(16<<2)|3,{101,48,100}}, +/* 10277 */ {(16<<2)|3,{101,48,102}}, +/* 10278 */ {(16<<2)|3,{101,48,103}}, +/* 10279 */ {(16<<2)|3,{101,48,104}}, +/* 10280 */ {(16<<2)|3,{101,48,108}}, +/* 10281 */ {(16<<2)|3,{101,48,109}}, +/* 10282 */ {(16<<2)|3,{101,48,110}}, +/* 10283 */ {(16<<2)|3,{101,48,112}}, +/* 10284 */ {(16<<2)|3,{101,48,114}}, +/* 10285 */ {(16<<2)|3,{101,48,117}}, +/* 10286 */ {(10<<2)|2,{101,48,0}}, +/* 10287 */ {(10<<2)|2,{101,48,0}}, +/* 10288 */ {(10<<2)|2,{101,48,0}}, +/* 10289 */ {(10<<2)|2,{101,48,0}}, +/* 10290 */ {(10<<2)|2,{101,48,0}}, +/* 10291 */ {(10<<2)|2,{101,48,0}}, +/* 10292 */ {(10<<2)|2,{101,48,0}}, +/* 10293 */ {(10<<2)|2,{101,48,0}}, +/* 10294 */ {(10<<2)|2,{101,48,0}}, +/* 10295 */ {(10<<2)|2,{101,48,0}}, +/* 10296 */ {(10<<2)|2,{101,48,0}}, +/* 10297 */ {(10<<2)|2,{101,48,0}}, +/* 10298 */ {(10<<2)|2,{101,48,0}}, +/* 10299 */ {(10<<2)|2,{101,48,0}}, +/* 10300 */ {(10<<2)|2,{101,48,0}}, +/* 10301 */ {(10<<2)|2,{101,48,0}}, +/* 10302 */ {(10<<2)|2,{101,48,0}}, +/* 10303 */ {(10<<2)|2,{101,48,0}}, +/* 10304 */ {(15<<2)|3,{101,49,48}}, +/* 10305 */ {(15<<2)|3,{101,49,48}}, +/* 10306 */ {(15<<2)|3,{101,49,49}}, +/* 10307 */ {(15<<2)|3,{101,49,49}}, +/* 10308 */ {(15<<2)|3,{101,49,50}}, +/* 10309 */ {(15<<2)|3,{101,49,50}}, +/* 10310 */ {(15<<2)|3,{101,49,97}}, +/* 10311 */ {(15<<2)|3,{101,49,97}}, +/* 10312 */ {(15<<2)|3,{101,49,99}}, +/* 10313 */ {(15<<2)|3,{101,49,99}}, +/* 10314 */ {(15<<2)|3,{101,49,101}}, +/* 10315 */ {(15<<2)|3,{101,49,101}}, +/* 10316 */ {(15<<2)|3,{101,49,105}}, +/* 10317 */ {(15<<2)|3,{101,49,105}}, +/* 10318 */ {(15<<2)|3,{101,49,111}}, +/* 10319 */ {(15<<2)|3,{101,49,111}}, +/* 10320 */ {(15<<2)|3,{101,49,115}}, +/* 10321 */ {(15<<2)|3,{101,49,115}}, +/* 10322 */ {(15<<2)|3,{101,49,116}}, +/* 10323 */ {(15<<2)|3,{101,49,116}}, +/* 10324 */ {(16<<2)|3,{101,49,32}}, +/* 10325 */ {(16<<2)|3,{101,49,37}}, +/* 10326 */ {(16<<2)|3,{101,49,45}}, +/* 10327 */ {(16<<2)|3,{101,49,46}}, +/* 10328 */ {(16<<2)|3,{101,49,47}}, +/* 10329 */ {(16<<2)|3,{101,49,51}}, +/* 10330 */ {(16<<2)|3,{101,49,52}}, +/* 10331 */ {(16<<2)|3,{101,49,53}}, +/* 10332 */ {(16<<2)|3,{101,49,54}}, +/* 10333 */ {(16<<2)|3,{101,49,55}}, +/* 10334 */ {(16<<2)|3,{101,49,56}}, +/* 10335 */ {(16<<2)|3,{101,49,57}}, +/* 10336 */ {(16<<2)|3,{101,49,61}}, +/* 10337 */ {(16<<2)|3,{101,49,65}}, +/* 10338 */ {(16<<2)|3,{101,49,95}}, +/* 10339 */ {(16<<2)|3,{101,49,98}}, +/* 10340 */ {(16<<2)|3,{101,49,100}}, +/* 10341 */ {(16<<2)|3,{101,49,102}}, +/* 10342 */ {(16<<2)|3,{101,49,103}}, +/* 10343 */ {(16<<2)|3,{101,49,104}}, +/* 10344 */ {(16<<2)|3,{101,49,108}}, +/* 10345 */ {(16<<2)|3,{101,49,109}}, +/* 10346 */ {(16<<2)|3,{101,49,110}}, +/* 10347 */ {(16<<2)|3,{101,49,112}}, +/* 10348 */ {(16<<2)|3,{101,49,114}}, +/* 10349 */ {(16<<2)|3,{101,49,117}}, +/* 10350 */ {(10<<2)|2,{101,49,0}}, +/* 10351 */ {(10<<2)|2,{101,49,0}}, +/* 10352 */ {(10<<2)|2,{101,49,0}}, +/* 10353 */ {(10<<2)|2,{101,49,0}}, +/* 10354 */ {(10<<2)|2,{101,49,0}}, +/* 10355 */ {(10<<2)|2,{101,49,0}}, +/* 10356 */ {(10<<2)|2,{101,49,0}}, +/* 10357 */ {(10<<2)|2,{101,49,0}}, +/* 10358 */ {(10<<2)|2,{101,49,0}}, +/* 10359 */ {(10<<2)|2,{101,49,0}}, +/* 10360 */ {(10<<2)|2,{101,49,0}}, +/* 10361 */ {(10<<2)|2,{101,49,0}}, +/* 10362 */ {(10<<2)|2,{101,49,0}}, +/* 10363 */ {(10<<2)|2,{101,49,0}}, +/* 10364 */ {(10<<2)|2,{101,49,0}}, +/* 10365 */ {(10<<2)|2,{101,49,0}}, +/* 10366 */ {(10<<2)|2,{101,49,0}}, +/* 10367 */ {(10<<2)|2,{101,49,0}}, +/* 10368 */ {(15<<2)|3,{101,50,48}}, +/* 10369 */ {(15<<2)|3,{101,50,48}}, +/* 10370 */ {(15<<2)|3,{101,50,49}}, +/* 10371 */ {(15<<2)|3,{101,50,49}}, +/* 10372 */ {(15<<2)|3,{101,50,50}}, +/* 10373 */ {(15<<2)|3,{101,50,50}}, +/* 10374 */ {(15<<2)|3,{101,50,97}}, +/* 10375 */ {(15<<2)|3,{101,50,97}}, +/* 10376 */ {(15<<2)|3,{101,50,99}}, +/* 10377 */ {(15<<2)|3,{101,50,99}}, +/* 10378 */ {(15<<2)|3,{101,50,101}}, +/* 10379 */ {(15<<2)|3,{101,50,101}}, +/* 10380 */ {(15<<2)|3,{101,50,105}}, +/* 10381 */ {(15<<2)|3,{101,50,105}}, +/* 10382 */ {(15<<2)|3,{101,50,111}}, +/* 10383 */ {(15<<2)|3,{101,50,111}}, +/* 10384 */ {(15<<2)|3,{101,50,115}}, +/* 10385 */ {(15<<2)|3,{101,50,115}}, +/* 10386 */ {(15<<2)|3,{101,50,116}}, +/* 10387 */ {(15<<2)|3,{101,50,116}}, +/* 10388 */ {(16<<2)|3,{101,50,32}}, +/* 10389 */ {(16<<2)|3,{101,50,37}}, +/* 10390 */ {(16<<2)|3,{101,50,45}}, +/* 10391 */ {(16<<2)|3,{101,50,46}}, +/* 10392 */ {(16<<2)|3,{101,50,47}}, +/* 10393 */ {(16<<2)|3,{101,50,51}}, +/* 10394 */ {(16<<2)|3,{101,50,52}}, +/* 10395 */ {(16<<2)|3,{101,50,53}}, +/* 10396 */ {(16<<2)|3,{101,50,54}}, +/* 10397 */ {(16<<2)|3,{101,50,55}}, +/* 10398 */ {(16<<2)|3,{101,50,56}}, +/* 10399 */ {(16<<2)|3,{101,50,57}}, +/* 10400 */ {(16<<2)|3,{101,50,61}}, +/* 10401 */ {(16<<2)|3,{101,50,65}}, +/* 10402 */ {(16<<2)|3,{101,50,95}}, +/* 10403 */ {(16<<2)|3,{101,50,98}}, +/* 10404 */ {(16<<2)|3,{101,50,100}}, +/* 10405 */ {(16<<2)|3,{101,50,102}}, +/* 10406 */ {(16<<2)|3,{101,50,103}}, +/* 10407 */ {(16<<2)|3,{101,50,104}}, +/* 10408 */ {(16<<2)|3,{101,50,108}}, +/* 10409 */ {(16<<2)|3,{101,50,109}}, +/* 10410 */ {(16<<2)|3,{101,50,110}}, +/* 10411 */ {(16<<2)|3,{101,50,112}}, +/* 10412 */ {(16<<2)|3,{101,50,114}}, +/* 10413 */ {(16<<2)|3,{101,50,117}}, +/* 10414 */ {(10<<2)|2,{101,50,0}}, +/* 10415 */ {(10<<2)|2,{101,50,0}}, +/* 10416 */ {(10<<2)|2,{101,50,0}}, +/* 10417 */ {(10<<2)|2,{101,50,0}}, +/* 10418 */ {(10<<2)|2,{101,50,0}}, +/* 10419 */ {(10<<2)|2,{101,50,0}}, +/* 10420 */ {(10<<2)|2,{101,50,0}}, +/* 10421 */ {(10<<2)|2,{101,50,0}}, +/* 10422 */ {(10<<2)|2,{101,50,0}}, +/* 10423 */ {(10<<2)|2,{101,50,0}}, +/* 10424 */ {(10<<2)|2,{101,50,0}}, +/* 10425 */ {(10<<2)|2,{101,50,0}}, +/* 10426 */ {(10<<2)|2,{101,50,0}}, +/* 10427 */ {(10<<2)|2,{101,50,0}}, +/* 10428 */ {(10<<2)|2,{101,50,0}}, +/* 10429 */ {(10<<2)|2,{101,50,0}}, +/* 10430 */ {(10<<2)|2,{101,50,0}}, +/* 10431 */ {(10<<2)|2,{101,50,0}}, +/* 10432 */ {(15<<2)|3,{101,97,48}}, +/* 10433 */ {(15<<2)|3,{101,97,48}}, +/* 10434 */ {(15<<2)|3,{101,97,49}}, +/* 10435 */ {(15<<2)|3,{101,97,49}}, +/* 10436 */ {(15<<2)|3,{101,97,50}}, +/* 10437 */ {(15<<2)|3,{101,97,50}}, +/* 10438 */ {(15<<2)|3,{101,97,97}}, +/* 10439 */ {(15<<2)|3,{101,97,97}}, +/* 10440 */ {(15<<2)|3,{101,97,99}}, +/* 10441 */ {(15<<2)|3,{101,97,99}}, +/* 10442 */ {(15<<2)|3,{101,97,101}}, +/* 10443 */ {(15<<2)|3,{101,97,101}}, +/* 10444 */ {(15<<2)|3,{101,97,105}}, +/* 10445 */ {(15<<2)|3,{101,97,105}}, +/* 10446 */ {(15<<2)|3,{101,97,111}}, +/* 10447 */ {(15<<2)|3,{101,97,111}}, +/* 10448 */ {(15<<2)|3,{101,97,115}}, +/* 10449 */ {(15<<2)|3,{101,97,115}}, +/* 10450 */ {(15<<2)|3,{101,97,116}}, +/* 10451 */ {(15<<2)|3,{101,97,116}}, +/* 10452 */ {(16<<2)|3,{101,97,32}}, +/* 10453 */ {(16<<2)|3,{101,97,37}}, +/* 10454 */ {(16<<2)|3,{101,97,45}}, +/* 10455 */ {(16<<2)|3,{101,97,46}}, +/* 10456 */ {(16<<2)|3,{101,97,47}}, +/* 10457 */ {(16<<2)|3,{101,97,51}}, +/* 10458 */ {(16<<2)|3,{101,97,52}}, +/* 10459 */ {(16<<2)|3,{101,97,53}}, +/* 10460 */ {(16<<2)|3,{101,97,54}}, +/* 10461 */ {(16<<2)|3,{101,97,55}}, +/* 10462 */ {(16<<2)|3,{101,97,56}}, +/* 10463 */ {(16<<2)|3,{101,97,57}}, +/* 10464 */ {(16<<2)|3,{101,97,61}}, +/* 10465 */ {(16<<2)|3,{101,97,65}}, +/* 10466 */ {(16<<2)|3,{101,97,95}}, +/* 10467 */ {(16<<2)|3,{101,97,98}}, +/* 10468 */ {(16<<2)|3,{101,97,100}}, +/* 10469 */ {(16<<2)|3,{101,97,102}}, +/* 10470 */ {(16<<2)|3,{101,97,103}}, +/* 10471 */ {(16<<2)|3,{101,97,104}}, +/* 10472 */ {(16<<2)|3,{101,97,108}}, +/* 10473 */ {(16<<2)|3,{101,97,109}}, +/* 10474 */ {(16<<2)|3,{101,97,110}}, +/* 10475 */ {(16<<2)|3,{101,97,112}}, +/* 10476 */ {(16<<2)|3,{101,97,114}}, +/* 10477 */ {(16<<2)|3,{101,97,117}}, +/* 10478 */ {(10<<2)|2,{101,97,0}}, +/* 10479 */ {(10<<2)|2,{101,97,0}}, +/* 10480 */ {(10<<2)|2,{101,97,0}}, +/* 10481 */ {(10<<2)|2,{101,97,0}}, +/* 10482 */ {(10<<2)|2,{101,97,0}}, +/* 10483 */ {(10<<2)|2,{101,97,0}}, +/* 10484 */ {(10<<2)|2,{101,97,0}}, +/* 10485 */ {(10<<2)|2,{101,97,0}}, +/* 10486 */ {(10<<2)|2,{101,97,0}}, +/* 10487 */ {(10<<2)|2,{101,97,0}}, +/* 10488 */ {(10<<2)|2,{101,97,0}}, +/* 10489 */ {(10<<2)|2,{101,97,0}}, +/* 10490 */ {(10<<2)|2,{101,97,0}}, +/* 10491 */ {(10<<2)|2,{101,97,0}}, +/* 10492 */ {(10<<2)|2,{101,97,0}}, +/* 10493 */ {(10<<2)|2,{101,97,0}}, +/* 10494 */ {(10<<2)|2,{101,97,0}}, +/* 10495 */ {(10<<2)|2,{101,97,0}}, +/* 10496 */ {(15<<2)|3,{101,99,48}}, +/* 10497 */ {(15<<2)|3,{101,99,48}}, +/* 10498 */ {(15<<2)|3,{101,99,49}}, +/* 10499 */ {(15<<2)|3,{101,99,49}}, +/* 10500 */ {(15<<2)|3,{101,99,50}}, +/* 10501 */ {(15<<2)|3,{101,99,50}}, +/* 10502 */ {(15<<2)|3,{101,99,97}}, +/* 10503 */ {(15<<2)|3,{101,99,97}}, +/* 10504 */ {(15<<2)|3,{101,99,99}}, +/* 10505 */ {(15<<2)|3,{101,99,99}}, +/* 10506 */ {(15<<2)|3,{101,99,101}}, +/* 10507 */ {(15<<2)|3,{101,99,101}}, +/* 10508 */ {(15<<2)|3,{101,99,105}}, +/* 10509 */ {(15<<2)|3,{101,99,105}}, +/* 10510 */ {(15<<2)|3,{101,99,111}}, +/* 10511 */ {(15<<2)|3,{101,99,111}}, +/* 10512 */ {(15<<2)|3,{101,99,115}}, +/* 10513 */ {(15<<2)|3,{101,99,115}}, +/* 10514 */ {(15<<2)|3,{101,99,116}}, +/* 10515 */ {(15<<2)|3,{101,99,116}}, +/* 10516 */ {(16<<2)|3,{101,99,32}}, +/* 10517 */ {(16<<2)|3,{101,99,37}}, +/* 10518 */ {(16<<2)|3,{101,99,45}}, +/* 10519 */ {(16<<2)|3,{101,99,46}}, +/* 10520 */ {(16<<2)|3,{101,99,47}}, +/* 10521 */ {(16<<2)|3,{101,99,51}}, +/* 10522 */ {(16<<2)|3,{101,99,52}}, +/* 10523 */ {(16<<2)|3,{101,99,53}}, +/* 10524 */ {(16<<2)|3,{101,99,54}}, +/* 10525 */ {(16<<2)|3,{101,99,55}}, +/* 10526 */ {(16<<2)|3,{101,99,56}}, +/* 10527 */ {(16<<2)|3,{101,99,57}}, +/* 10528 */ {(16<<2)|3,{101,99,61}}, +/* 10529 */ {(16<<2)|3,{101,99,65}}, +/* 10530 */ {(16<<2)|3,{101,99,95}}, +/* 10531 */ {(16<<2)|3,{101,99,98}}, +/* 10532 */ {(16<<2)|3,{101,99,100}}, +/* 10533 */ {(16<<2)|3,{101,99,102}}, +/* 10534 */ {(16<<2)|3,{101,99,103}}, +/* 10535 */ {(16<<2)|3,{101,99,104}}, +/* 10536 */ {(16<<2)|3,{101,99,108}}, +/* 10537 */ {(16<<2)|3,{101,99,109}}, +/* 10538 */ {(16<<2)|3,{101,99,110}}, +/* 10539 */ {(16<<2)|3,{101,99,112}}, +/* 10540 */ {(16<<2)|3,{101,99,114}}, +/* 10541 */ {(16<<2)|3,{101,99,117}}, +/* 10542 */ {(10<<2)|2,{101,99,0}}, +/* 10543 */ {(10<<2)|2,{101,99,0}}, +/* 10544 */ {(10<<2)|2,{101,99,0}}, +/* 10545 */ {(10<<2)|2,{101,99,0}}, +/* 10546 */ {(10<<2)|2,{101,99,0}}, +/* 10547 */ {(10<<2)|2,{101,99,0}}, +/* 10548 */ {(10<<2)|2,{101,99,0}}, +/* 10549 */ {(10<<2)|2,{101,99,0}}, +/* 10550 */ {(10<<2)|2,{101,99,0}}, +/* 10551 */ {(10<<2)|2,{101,99,0}}, +/* 10552 */ {(10<<2)|2,{101,99,0}}, +/* 10553 */ {(10<<2)|2,{101,99,0}}, +/* 10554 */ {(10<<2)|2,{101,99,0}}, +/* 10555 */ {(10<<2)|2,{101,99,0}}, +/* 10556 */ {(10<<2)|2,{101,99,0}}, +/* 10557 */ {(10<<2)|2,{101,99,0}}, +/* 10558 */ {(10<<2)|2,{101,99,0}}, +/* 10559 */ {(10<<2)|2,{101,99,0}}, +/* 10560 */ {(15<<2)|3,{101,101,48}}, +/* 10561 */ {(15<<2)|3,{101,101,48}}, +/* 10562 */ {(15<<2)|3,{101,101,49}}, +/* 10563 */ {(15<<2)|3,{101,101,49}}, +/* 10564 */ {(15<<2)|3,{101,101,50}}, +/* 10565 */ {(15<<2)|3,{101,101,50}}, +/* 10566 */ {(15<<2)|3,{101,101,97}}, +/* 10567 */ {(15<<2)|3,{101,101,97}}, +/* 10568 */ {(15<<2)|3,{101,101,99}}, +/* 10569 */ {(15<<2)|3,{101,101,99}}, +/* 10570 */ {(15<<2)|3,{101,101,101}}, +/* 10571 */ {(15<<2)|3,{101,101,101}}, +/* 10572 */ {(15<<2)|3,{101,101,105}}, +/* 10573 */ {(15<<2)|3,{101,101,105}}, +/* 10574 */ {(15<<2)|3,{101,101,111}}, +/* 10575 */ {(15<<2)|3,{101,101,111}}, +/* 10576 */ {(15<<2)|3,{101,101,115}}, +/* 10577 */ {(15<<2)|3,{101,101,115}}, +/* 10578 */ {(15<<2)|3,{101,101,116}}, +/* 10579 */ {(15<<2)|3,{101,101,116}}, +/* 10580 */ {(16<<2)|3,{101,101,32}}, +/* 10581 */ {(16<<2)|3,{101,101,37}}, +/* 10582 */ {(16<<2)|3,{101,101,45}}, +/* 10583 */ {(16<<2)|3,{101,101,46}}, +/* 10584 */ {(16<<2)|3,{101,101,47}}, +/* 10585 */ {(16<<2)|3,{101,101,51}}, +/* 10586 */ {(16<<2)|3,{101,101,52}}, +/* 10587 */ {(16<<2)|3,{101,101,53}}, +/* 10588 */ {(16<<2)|3,{101,101,54}}, +/* 10589 */ {(16<<2)|3,{101,101,55}}, +/* 10590 */ {(16<<2)|3,{101,101,56}}, +/* 10591 */ {(16<<2)|3,{101,101,57}}, +/* 10592 */ {(16<<2)|3,{101,101,61}}, +/* 10593 */ {(16<<2)|3,{101,101,65}}, +/* 10594 */ {(16<<2)|3,{101,101,95}}, +/* 10595 */ {(16<<2)|3,{101,101,98}}, +/* 10596 */ {(16<<2)|3,{101,101,100}}, +/* 10597 */ {(16<<2)|3,{101,101,102}}, +/* 10598 */ {(16<<2)|3,{101,101,103}}, +/* 10599 */ {(16<<2)|3,{101,101,104}}, +/* 10600 */ {(16<<2)|3,{101,101,108}}, +/* 10601 */ {(16<<2)|3,{101,101,109}}, +/* 10602 */ {(16<<2)|3,{101,101,110}}, +/* 10603 */ {(16<<2)|3,{101,101,112}}, +/* 10604 */ {(16<<2)|3,{101,101,114}}, +/* 10605 */ {(16<<2)|3,{101,101,117}}, +/* 10606 */ {(10<<2)|2,{101,101,0}}, +/* 10607 */ {(10<<2)|2,{101,101,0}}, +/* 10608 */ {(10<<2)|2,{101,101,0}}, +/* 10609 */ {(10<<2)|2,{101,101,0}}, +/* 10610 */ {(10<<2)|2,{101,101,0}}, +/* 10611 */ {(10<<2)|2,{101,101,0}}, +/* 10612 */ {(10<<2)|2,{101,101,0}}, +/* 10613 */ {(10<<2)|2,{101,101,0}}, +/* 10614 */ {(10<<2)|2,{101,101,0}}, +/* 10615 */ {(10<<2)|2,{101,101,0}}, +/* 10616 */ {(10<<2)|2,{101,101,0}}, +/* 10617 */ {(10<<2)|2,{101,101,0}}, +/* 10618 */ {(10<<2)|2,{101,101,0}}, +/* 10619 */ {(10<<2)|2,{101,101,0}}, +/* 10620 */ {(10<<2)|2,{101,101,0}}, +/* 10621 */ {(10<<2)|2,{101,101,0}}, +/* 10622 */ {(10<<2)|2,{101,101,0}}, +/* 10623 */ {(10<<2)|2,{101,101,0}}, +/* 10624 */ {(15<<2)|3,{101,105,48}}, +/* 10625 */ {(15<<2)|3,{101,105,48}}, +/* 10626 */ {(15<<2)|3,{101,105,49}}, +/* 10627 */ {(15<<2)|3,{101,105,49}}, +/* 10628 */ {(15<<2)|3,{101,105,50}}, +/* 10629 */ {(15<<2)|3,{101,105,50}}, +/* 10630 */ {(15<<2)|3,{101,105,97}}, +/* 10631 */ {(15<<2)|3,{101,105,97}}, +/* 10632 */ {(15<<2)|3,{101,105,99}}, +/* 10633 */ {(15<<2)|3,{101,105,99}}, +/* 10634 */ {(15<<2)|3,{101,105,101}}, +/* 10635 */ {(15<<2)|3,{101,105,101}}, +/* 10636 */ {(15<<2)|3,{101,105,105}}, +/* 10637 */ {(15<<2)|3,{101,105,105}}, +/* 10638 */ {(15<<2)|3,{101,105,111}}, +/* 10639 */ {(15<<2)|3,{101,105,111}}, +/* 10640 */ {(15<<2)|3,{101,105,115}}, +/* 10641 */ {(15<<2)|3,{101,105,115}}, +/* 10642 */ {(15<<2)|3,{101,105,116}}, +/* 10643 */ {(15<<2)|3,{101,105,116}}, +/* 10644 */ {(16<<2)|3,{101,105,32}}, +/* 10645 */ {(16<<2)|3,{101,105,37}}, +/* 10646 */ {(16<<2)|3,{101,105,45}}, +/* 10647 */ {(16<<2)|3,{101,105,46}}, +/* 10648 */ {(16<<2)|3,{101,105,47}}, +/* 10649 */ {(16<<2)|3,{101,105,51}}, +/* 10650 */ {(16<<2)|3,{101,105,52}}, +/* 10651 */ {(16<<2)|3,{101,105,53}}, +/* 10652 */ {(16<<2)|3,{101,105,54}}, +/* 10653 */ {(16<<2)|3,{101,105,55}}, +/* 10654 */ {(16<<2)|3,{101,105,56}}, +/* 10655 */ {(16<<2)|3,{101,105,57}}, +/* 10656 */ {(16<<2)|3,{101,105,61}}, +/* 10657 */ {(16<<2)|3,{101,105,65}}, +/* 10658 */ {(16<<2)|3,{101,105,95}}, +/* 10659 */ {(16<<2)|3,{101,105,98}}, +/* 10660 */ {(16<<2)|3,{101,105,100}}, +/* 10661 */ {(16<<2)|3,{101,105,102}}, +/* 10662 */ {(16<<2)|3,{101,105,103}}, +/* 10663 */ {(16<<2)|3,{101,105,104}}, +/* 10664 */ {(16<<2)|3,{101,105,108}}, +/* 10665 */ {(16<<2)|3,{101,105,109}}, +/* 10666 */ {(16<<2)|3,{101,105,110}}, +/* 10667 */ {(16<<2)|3,{101,105,112}}, +/* 10668 */ {(16<<2)|3,{101,105,114}}, +/* 10669 */ {(16<<2)|3,{101,105,117}}, +/* 10670 */ {(10<<2)|2,{101,105,0}}, +/* 10671 */ {(10<<2)|2,{101,105,0}}, +/* 10672 */ {(10<<2)|2,{101,105,0}}, +/* 10673 */ {(10<<2)|2,{101,105,0}}, +/* 10674 */ {(10<<2)|2,{101,105,0}}, +/* 10675 */ {(10<<2)|2,{101,105,0}}, +/* 10676 */ {(10<<2)|2,{101,105,0}}, +/* 10677 */ {(10<<2)|2,{101,105,0}}, +/* 10678 */ {(10<<2)|2,{101,105,0}}, +/* 10679 */ {(10<<2)|2,{101,105,0}}, +/* 10680 */ {(10<<2)|2,{101,105,0}}, +/* 10681 */ {(10<<2)|2,{101,105,0}}, +/* 10682 */ {(10<<2)|2,{101,105,0}}, +/* 10683 */ {(10<<2)|2,{101,105,0}}, +/* 10684 */ {(10<<2)|2,{101,105,0}}, +/* 10685 */ {(10<<2)|2,{101,105,0}}, +/* 10686 */ {(10<<2)|2,{101,105,0}}, +/* 10687 */ {(10<<2)|2,{101,105,0}}, +/* 10688 */ {(15<<2)|3,{101,111,48}}, +/* 10689 */ {(15<<2)|3,{101,111,48}}, +/* 10690 */ {(15<<2)|3,{101,111,49}}, +/* 10691 */ {(15<<2)|3,{101,111,49}}, +/* 10692 */ {(15<<2)|3,{101,111,50}}, +/* 10693 */ {(15<<2)|3,{101,111,50}}, +/* 10694 */ {(15<<2)|3,{101,111,97}}, +/* 10695 */ {(15<<2)|3,{101,111,97}}, +/* 10696 */ {(15<<2)|3,{101,111,99}}, +/* 10697 */ {(15<<2)|3,{101,111,99}}, +/* 10698 */ {(15<<2)|3,{101,111,101}}, +/* 10699 */ {(15<<2)|3,{101,111,101}}, +/* 10700 */ {(15<<2)|3,{101,111,105}}, +/* 10701 */ {(15<<2)|3,{101,111,105}}, +/* 10702 */ {(15<<2)|3,{101,111,111}}, +/* 10703 */ {(15<<2)|3,{101,111,111}}, +/* 10704 */ {(15<<2)|3,{101,111,115}}, +/* 10705 */ {(15<<2)|3,{101,111,115}}, +/* 10706 */ {(15<<2)|3,{101,111,116}}, +/* 10707 */ {(15<<2)|3,{101,111,116}}, +/* 10708 */ {(16<<2)|3,{101,111,32}}, +/* 10709 */ {(16<<2)|3,{101,111,37}}, +/* 10710 */ {(16<<2)|3,{101,111,45}}, +/* 10711 */ {(16<<2)|3,{101,111,46}}, +/* 10712 */ {(16<<2)|3,{101,111,47}}, +/* 10713 */ {(16<<2)|3,{101,111,51}}, +/* 10714 */ {(16<<2)|3,{101,111,52}}, +/* 10715 */ {(16<<2)|3,{101,111,53}}, +/* 10716 */ {(16<<2)|3,{101,111,54}}, +/* 10717 */ {(16<<2)|3,{101,111,55}}, +/* 10718 */ {(16<<2)|3,{101,111,56}}, +/* 10719 */ {(16<<2)|3,{101,111,57}}, +/* 10720 */ {(16<<2)|3,{101,111,61}}, +/* 10721 */ {(16<<2)|3,{101,111,65}}, +/* 10722 */ {(16<<2)|3,{101,111,95}}, +/* 10723 */ {(16<<2)|3,{101,111,98}}, +/* 10724 */ {(16<<2)|3,{101,111,100}}, +/* 10725 */ {(16<<2)|3,{101,111,102}}, +/* 10726 */ {(16<<2)|3,{101,111,103}}, +/* 10727 */ {(16<<2)|3,{101,111,104}}, +/* 10728 */ {(16<<2)|3,{101,111,108}}, +/* 10729 */ {(16<<2)|3,{101,111,109}}, +/* 10730 */ {(16<<2)|3,{101,111,110}}, +/* 10731 */ {(16<<2)|3,{101,111,112}}, +/* 10732 */ {(16<<2)|3,{101,111,114}}, +/* 10733 */ {(16<<2)|3,{101,111,117}}, +/* 10734 */ {(10<<2)|2,{101,111,0}}, +/* 10735 */ {(10<<2)|2,{101,111,0}}, +/* 10736 */ {(10<<2)|2,{101,111,0}}, +/* 10737 */ {(10<<2)|2,{101,111,0}}, +/* 10738 */ {(10<<2)|2,{101,111,0}}, +/* 10739 */ {(10<<2)|2,{101,111,0}}, +/* 10740 */ {(10<<2)|2,{101,111,0}}, +/* 10741 */ {(10<<2)|2,{101,111,0}}, +/* 10742 */ {(10<<2)|2,{101,111,0}}, +/* 10743 */ {(10<<2)|2,{101,111,0}}, +/* 10744 */ {(10<<2)|2,{101,111,0}}, +/* 10745 */ {(10<<2)|2,{101,111,0}}, +/* 10746 */ {(10<<2)|2,{101,111,0}}, +/* 10747 */ {(10<<2)|2,{101,111,0}}, +/* 10748 */ {(10<<2)|2,{101,111,0}}, +/* 10749 */ {(10<<2)|2,{101,111,0}}, +/* 10750 */ {(10<<2)|2,{101,111,0}}, +/* 10751 */ {(10<<2)|2,{101,111,0}}, +/* 10752 */ {(15<<2)|3,{101,115,48}}, +/* 10753 */ {(15<<2)|3,{101,115,48}}, +/* 10754 */ {(15<<2)|3,{101,115,49}}, +/* 10755 */ {(15<<2)|3,{101,115,49}}, +/* 10756 */ {(15<<2)|3,{101,115,50}}, +/* 10757 */ {(15<<2)|3,{101,115,50}}, +/* 10758 */ {(15<<2)|3,{101,115,97}}, +/* 10759 */ {(15<<2)|3,{101,115,97}}, +/* 10760 */ {(15<<2)|3,{101,115,99}}, +/* 10761 */ {(15<<2)|3,{101,115,99}}, +/* 10762 */ {(15<<2)|3,{101,115,101}}, +/* 10763 */ {(15<<2)|3,{101,115,101}}, +/* 10764 */ {(15<<2)|3,{101,115,105}}, +/* 10765 */ {(15<<2)|3,{101,115,105}}, +/* 10766 */ {(15<<2)|3,{101,115,111}}, +/* 10767 */ {(15<<2)|3,{101,115,111}}, +/* 10768 */ {(15<<2)|3,{101,115,115}}, +/* 10769 */ {(15<<2)|3,{101,115,115}}, +/* 10770 */ {(15<<2)|3,{101,115,116}}, +/* 10771 */ {(15<<2)|3,{101,115,116}}, +/* 10772 */ {(16<<2)|3,{101,115,32}}, +/* 10773 */ {(16<<2)|3,{101,115,37}}, +/* 10774 */ {(16<<2)|3,{101,115,45}}, +/* 10775 */ {(16<<2)|3,{101,115,46}}, +/* 10776 */ {(16<<2)|3,{101,115,47}}, +/* 10777 */ {(16<<2)|3,{101,115,51}}, +/* 10778 */ {(16<<2)|3,{101,115,52}}, +/* 10779 */ {(16<<2)|3,{101,115,53}}, +/* 10780 */ {(16<<2)|3,{101,115,54}}, +/* 10781 */ {(16<<2)|3,{101,115,55}}, +/* 10782 */ {(16<<2)|3,{101,115,56}}, +/* 10783 */ {(16<<2)|3,{101,115,57}}, +/* 10784 */ {(16<<2)|3,{101,115,61}}, +/* 10785 */ {(16<<2)|3,{101,115,65}}, +/* 10786 */ {(16<<2)|3,{101,115,95}}, +/* 10787 */ {(16<<2)|3,{101,115,98}}, +/* 10788 */ {(16<<2)|3,{101,115,100}}, +/* 10789 */ {(16<<2)|3,{101,115,102}}, +/* 10790 */ {(16<<2)|3,{101,115,103}}, +/* 10791 */ {(16<<2)|3,{101,115,104}}, +/* 10792 */ {(16<<2)|3,{101,115,108}}, +/* 10793 */ {(16<<2)|3,{101,115,109}}, +/* 10794 */ {(16<<2)|3,{101,115,110}}, +/* 10795 */ {(16<<2)|3,{101,115,112}}, +/* 10796 */ {(16<<2)|3,{101,115,114}}, +/* 10797 */ {(16<<2)|3,{101,115,117}}, +/* 10798 */ {(10<<2)|2,{101,115,0}}, +/* 10799 */ {(10<<2)|2,{101,115,0}}, +/* 10800 */ {(10<<2)|2,{101,115,0}}, +/* 10801 */ {(10<<2)|2,{101,115,0}}, +/* 10802 */ {(10<<2)|2,{101,115,0}}, +/* 10803 */ {(10<<2)|2,{101,115,0}}, +/* 10804 */ {(10<<2)|2,{101,115,0}}, +/* 10805 */ {(10<<2)|2,{101,115,0}}, +/* 10806 */ {(10<<2)|2,{101,115,0}}, +/* 10807 */ {(10<<2)|2,{101,115,0}}, +/* 10808 */ {(10<<2)|2,{101,115,0}}, +/* 10809 */ {(10<<2)|2,{101,115,0}}, +/* 10810 */ {(10<<2)|2,{101,115,0}}, +/* 10811 */ {(10<<2)|2,{101,115,0}}, +/* 10812 */ {(10<<2)|2,{101,115,0}}, +/* 10813 */ {(10<<2)|2,{101,115,0}}, +/* 10814 */ {(10<<2)|2,{101,115,0}}, +/* 10815 */ {(10<<2)|2,{101,115,0}}, +/* 10816 */ {(15<<2)|3,{101,116,48}}, +/* 10817 */ {(15<<2)|3,{101,116,48}}, +/* 10818 */ {(15<<2)|3,{101,116,49}}, +/* 10819 */ {(15<<2)|3,{101,116,49}}, +/* 10820 */ {(15<<2)|3,{101,116,50}}, +/* 10821 */ {(15<<2)|3,{101,116,50}}, +/* 10822 */ {(15<<2)|3,{101,116,97}}, +/* 10823 */ {(15<<2)|3,{101,116,97}}, +/* 10824 */ {(15<<2)|3,{101,116,99}}, +/* 10825 */ {(15<<2)|3,{101,116,99}}, +/* 10826 */ {(15<<2)|3,{101,116,101}}, +/* 10827 */ {(15<<2)|3,{101,116,101}}, +/* 10828 */ {(15<<2)|3,{101,116,105}}, +/* 10829 */ {(15<<2)|3,{101,116,105}}, +/* 10830 */ {(15<<2)|3,{101,116,111}}, +/* 10831 */ {(15<<2)|3,{101,116,111}}, +/* 10832 */ {(15<<2)|3,{101,116,115}}, +/* 10833 */ {(15<<2)|3,{101,116,115}}, +/* 10834 */ {(15<<2)|3,{101,116,116}}, +/* 10835 */ {(15<<2)|3,{101,116,116}}, +/* 10836 */ {(16<<2)|3,{101,116,32}}, +/* 10837 */ {(16<<2)|3,{101,116,37}}, +/* 10838 */ {(16<<2)|3,{101,116,45}}, +/* 10839 */ {(16<<2)|3,{101,116,46}}, +/* 10840 */ {(16<<2)|3,{101,116,47}}, +/* 10841 */ {(16<<2)|3,{101,116,51}}, +/* 10842 */ {(16<<2)|3,{101,116,52}}, +/* 10843 */ {(16<<2)|3,{101,116,53}}, +/* 10844 */ {(16<<2)|3,{101,116,54}}, +/* 10845 */ {(16<<2)|3,{101,116,55}}, +/* 10846 */ {(16<<2)|3,{101,116,56}}, +/* 10847 */ {(16<<2)|3,{101,116,57}}, +/* 10848 */ {(16<<2)|3,{101,116,61}}, +/* 10849 */ {(16<<2)|3,{101,116,65}}, +/* 10850 */ {(16<<2)|3,{101,116,95}}, +/* 10851 */ {(16<<2)|3,{101,116,98}}, +/* 10852 */ {(16<<2)|3,{101,116,100}}, +/* 10853 */ {(16<<2)|3,{101,116,102}}, +/* 10854 */ {(16<<2)|3,{101,116,103}}, +/* 10855 */ {(16<<2)|3,{101,116,104}}, +/* 10856 */ {(16<<2)|3,{101,116,108}}, +/* 10857 */ {(16<<2)|3,{101,116,109}}, +/* 10858 */ {(16<<2)|3,{101,116,110}}, +/* 10859 */ {(16<<2)|3,{101,116,112}}, +/* 10860 */ {(16<<2)|3,{101,116,114}}, +/* 10861 */ {(16<<2)|3,{101,116,117}}, +/* 10862 */ {(10<<2)|2,{101,116,0}}, +/* 10863 */ {(10<<2)|2,{101,116,0}}, +/* 10864 */ {(10<<2)|2,{101,116,0}}, +/* 10865 */ {(10<<2)|2,{101,116,0}}, +/* 10866 */ {(10<<2)|2,{101,116,0}}, +/* 10867 */ {(10<<2)|2,{101,116,0}}, +/* 10868 */ {(10<<2)|2,{101,116,0}}, +/* 10869 */ {(10<<2)|2,{101,116,0}}, +/* 10870 */ {(10<<2)|2,{101,116,0}}, +/* 10871 */ {(10<<2)|2,{101,116,0}}, +/* 10872 */ {(10<<2)|2,{101,116,0}}, +/* 10873 */ {(10<<2)|2,{101,116,0}}, +/* 10874 */ {(10<<2)|2,{101,116,0}}, +/* 10875 */ {(10<<2)|2,{101,116,0}}, +/* 10876 */ {(10<<2)|2,{101,116,0}}, +/* 10877 */ {(10<<2)|2,{101,116,0}}, +/* 10878 */ {(10<<2)|2,{101,116,0}}, +/* 10879 */ {(10<<2)|2,{101,116,0}}, +/* 10880 */ {(16<<2)|3,{101,32,48}}, +/* 10881 */ {(16<<2)|3,{101,32,49}}, +/* 10882 */ {(16<<2)|3,{101,32,50}}, +/* 10883 */ {(16<<2)|3,{101,32,97}}, +/* 10884 */ {(16<<2)|3,{101,32,99}}, +/* 10885 */ {(16<<2)|3,{101,32,101}}, +/* 10886 */ {(16<<2)|3,{101,32,105}}, +/* 10887 */ {(16<<2)|3,{101,32,111}}, +/* 10888 */ {(16<<2)|3,{101,32,115}}, +/* 10889 */ {(16<<2)|3,{101,32,116}}, +/* 10890 */ {(11<<2)|2,{101,32,0}}, +/* 10891 */ {(11<<2)|2,{101,32,0}}, +/* 10892 */ {(11<<2)|2,{101,32,0}}, +/* 10893 */ {(11<<2)|2,{101,32,0}}, +/* 10894 */ {(11<<2)|2,{101,32,0}}, +/* 10895 */ {(11<<2)|2,{101,32,0}}, +/* 10896 */ {(11<<2)|2,{101,32,0}}, +/* 10897 */ {(11<<2)|2,{101,32,0}}, +/* 10898 */ {(11<<2)|2,{101,32,0}}, +/* 10899 */ {(11<<2)|2,{101,32,0}}, +/* 10900 */ {(11<<2)|2,{101,32,0}}, +/* 10901 */ {(11<<2)|2,{101,32,0}}, +/* 10902 */ {(11<<2)|2,{101,32,0}}, +/* 10903 */ {(11<<2)|2,{101,32,0}}, +/* 10904 */ {(11<<2)|2,{101,32,0}}, +/* 10905 */ {(11<<2)|2,{101,32,0}}, +/* 10906 */ {(11<<2)|2,{101,32,0}}, +/* 10907 */ {(11<<2)|2,{101,32,0}}, +/* 10908 */ {(11<<2)|2,{101,32,0}}, +/* 10909 */ {(11<<2)|2,{101,32,0}}, +/* 10910 */ {(11<<2)|2,{101,32,0}}, +/* 10911 */ {(11<<2)|2,{101,32,0}}, +/* 10912 */ {(16<<2)|3,{101,37,48}}, +/* 10913 */ {(16<<2)|3,{101,37,49}}, +/* 10914 */ {(16<<2)|3,{101,37,50}}, +/* 10915 */ {(16<<2)|3,{101,37,97}}, +/* 10916 */ {(16<<2)|3,{101,37,99}}, +/* 10917 */ {(16<<2)|3,{101,37,101}}, +/* 10918 */ {(16<<2)|3,{101,37,105}}, +/* 10919 */ {(16<<2)|3,{101,37,111}}, +/* 10920 */ {(16<<2)|3,{101,37,115}}, +/* 10921 */ {(16<<2)|3,{101,37,116}}, +/* 10922 */ {(11<<2)|2,{101,37,0}}, +/* 10923 */ {(11<<2)|2,{101,37,0}}, +/* 10924 */ {(11<<2)|2,{101,37,0}}, +/* 10925 */ {(11<<2)|2,{101,37,0}}, +/* 10926 */ {(11<<2)|2,{101,37,0}}, +/* 10927 */ {(11<<2)|2,{101,37,0}}, +/* 10928 */ {(11<<2)|2,{101,37,0}}, +/* 10929 */ {(11<<2)|2,{101,37,0}}, +/* 10930 */ {(11<<2)|2,{101,37,0}}, +/* 10931 */ {(11<<2)|2,{101,37,0}}, +/* 10932 */ {(11<<2)|2,{101,37,0}}, +/* 10933 */ {(11<<2)|2,{101,37,0}}, +/* 10934 */ {(11<<2)|2,{101,37,0}}, +/* 10935 */ {(11<<2)|2,{101,37,0}}, +/* 10936 */ {(11<<2)|2,{101,37,0}}, +/* 10937 */ {(11<<2)|2,{101,37,0}}, +/* 10938 */ {(11<<2)|2,{101,37,0}}, +/* 10939 */ {(11<<2)|2,{101,37,0}}, +/* 10940 */ {(11<<2)|2,{101,37,0}}, +/* 10941 */ {(11<<2)|2,{101,37,0}}, +/* 10942 */ {(11<<2)|2,{101,37,0}}, +/* 10943 */ {(11<<2)|2,{101,37,0}}, +/* 10944 */ {(16<<2)|3,{101,45,48}}, +/* 10945 */ {(16<<2)|3,{101,45,49}}, +/* 10946 */ {(16<<2)|3,{101,45,50}}, +/* 10947 */ {(16<<2)|3,{101,45,97}}, +/* 10948 */ {(16<<2)|3,{101,45,99}}, +/* 10949 */ {(16<<2)|3,{101,45,101}}, +/* 10950 */ {(16<<2)|3,{101,45,105}}, +/* 10951 */ {(16<<2)|3,{101,45,111}}, +/* 10952 */ {(16<<2)|3,{101,45,115}}, +/* 10953 */ {(16<<2)|3,{101,45,116}}, +/* 10954 */ {(11<<2)|2,{101,45,0}}, +/* 10955 */ {(11<<2)|2,{101,45,0}}, +/* 10956 */ {(11<<2)|2,{101,45,0}}, +/* 10957 */ {(11<<2)|2,{101,45,0}}, +/* 10958 */ {(11<<2)|2,{101,45,0}}, +/* 10959 */ {(11<<2)|2,{101,45,0}}, +/* 10960 */ {(11<<2)|2,{101,45,0}}, +/* 10961 */ {(11<<2)|2,{101,45,0}}, +/* 10962 */ {(11<<2)|2,{101,45,0}}, +/* 10963 */ {(11<<2)|2,{101,45,0}}, +/* 10964 */ {(11<<2)|2,{101,45,0}}, +/* 10965 */ {(11<<2)|2,{101,45,0}}, +/* 10966 */ {(11<<2)|2,{101,45,0}}, +/* 10967 */ {(11<<2)|2,{101,45,0}}, +/* 10968 */ {(11<<2)|2,{101,45,0}}, +/* 10969 */ {(11<<2)|2,{101,45,0}}, +/* 10970 */ {(11<<2)|2,{101,45,0}}, +/* 10971 */ {(11<<2)|2,{101,45,0}}, +/* 10972 */ {(11<<2)|2,{101,45,0}}, +/* 10973 */ {(11<<2)|2,{101,45,0}}, +/* 10974 */ {(11<<2)|2,{101,45,0}}, +/* 10975 */ {(11<<2)|2,{101,45,0}}, +/* 10976 */ {(16<<2)|3,{101,46,48}}, +/* 10977 */ {(16<<2)|3,{101,46,49}}, +/* 10978 */ {(16<<2)|3,{101,46,50}}, +/* 10979 */ {(16<<2)|3,{101,46,97}}, +/* 10980 */ {(16<<2)|3,{101,46,99}}, +/* 10981 */ {(16<<2)|3,{101,46,101}}, +/* 10982 */ {(16<<2)|3,{101,46,105}}, +/* 10983 */ {(16<<2)|3,{101,46,111}}, +/* 10984 */ {(16<<2)|3,{101,46,115}}, +/* 10985 */ {(16<<2)|3,{101,46,116}}, +/* 10986 */ {(11<<2)|2,{101,46,0}}, +/* 10987 */ {(11<<2)|2,{101,46,0}}, +/* 10988 */ {(11<<2)|2,{101,46,0}}, +/* 10989 */ {(11<<2)|2,{101,46,0}}, +/* 10990 */ {(11<<2)|2,{101,46,0}}, +/* 10991 */ {(11<<2)|2,{101,46,0}}, +/* 10992 */ {(11<<2)|2,{101,46,0}}, +/* 10993 */ {(11<<2)|2,{101,46,0}}, +/* 10994 */ {(11<<2)|2,{101,46,0}}, +/* 10995 */ {(11<<2)|2,{101,46,0}}, +/* 10996 */ {(11<<2)|2,{101,46,0}}, +/* 10997 */ {(11<<2)|2,{101,46,0}}, +/* 10998 */ {(11<<2)|2,{101,46,0}}, +/* 10999 */ {(11<<2)|2,{101,46,0}}, +/* 11000 */ {(11<<2)|2,{101,46,0}}, +/* 11001 */ {(11<<2)|2,{101,46,0}}, +/* 11002 */ {(11<<2)|2,{101,46,0}}, +/* 11003 */ {(11<<2)|2,{101,46,0}}, +/* 11004 */ {(11<<2)|2,{101,46,0}}, +/* 11005 */ {(11<<2)|2,{101,46,0}}, +/* 11006 */ {(11<<2)|2,{101,46,0}}, +/* 11007 */ {(11<<2)|2,{101,46,0}}, +/* 11008 */ {(16<<2)|3,{101,47,48}}, +/* 11009 */ {(16<<2)|3,{101,47,49}}, +/* 11010 */ {(16<<2)|3,{101,47,50}}, +/* 11011 */ {(16<<2)|3,{101,47,97}}, +/* 11012 */ {(16<<2)|3,{101,47,99}}, +/* 11013 */ {(16<<2)|3,{101,47,101}}, +/* 11014 */ {(16<<2)|3,{101,47,105}}, +/* 11015 */ {(16<<2)|3,{101,47,111}}, +/* 11016 */ {(16<<2)|3,{101,47,115}}, +/* 11017 */ {(16<<2)|3,{101,47,116}}, +/* 11018 */ {(11<<2)|2,{101,47,0}}, +/* 11019 */ {(11<<2)|2,{101,47,0}}, +/* 11020 */ {(11<<2)|2,{101,47,0}}, +/* 11021 */ {(11<<2)|2,{101,47,0}}, +/* 11022 */ {(11<<2)|2,{101,47,0}}, +/* 11023 */ {(11<<2)|2,{101,47,0}}, +/* 11024 */ {(11<<2)|2,{101,47,0}}, +/* 11025 */ {(11<<2)|2,{101,47,0}}, +/* 11026 */ {(11<<2)|2,{101,47,0}}, +/* 11027 */ {(11<<2)|2,{101,47,0}}, +/* 11028 */ {(11<<2)|2,{101,47,0}}, +/* 11029 */ {(11<<2)|2,{101,47,0}}, +/* 11030 */ {(11<<2)|2,{101,47,0}}, +/* 11031 */ {(11<<2)|2,{101,47,0}}, +/* 11032 */ {(11<<2)|2,{101,47,0}}, +/* 11033 */ {(11<<2)|2,{101,47,0}}, +/* 11034 */ {(11<<2)|2,{101,47,0}}, +/* 11035 */ {(11<<2)|2,{101,47,0}}, +/* 11036 */ {(11<<2)|2,{101,47,0}}, +/* 11037 */ {(11<<2)|2,{101,47,0}}, +/* 11038 */ {(11<<2)|2,{101,47,0}}, +/* 11039 */ {(11<<2)|2,{101,47,0}}, +/* 11040 */ {(16<<2)|3,{101,51,48}}, +/* 11041 */ {(16<<2)|3,{101,51,49}}, +/* 11042 */ {(16<<2)|3,{101,51,50}}, +/* 11043 */ {(16<<2)|3,{101,51,97}}, +/* 11044 */ {(16<<2)|3,{101,51,99}}, +/* 11045 */ {(16<<2)|3,{101,51,101}}, +/* 11046 */ {(16<<2)|3,{101,51,105}}, +/* 11047 */ {(16<<2)|3,{101,51,111}}, +/* 11048 */ {(16<<2)|3,{101,51,115}}, +/* 11049 */ {(16<<2)|3,{101,51,116}}, +/* 11050 */ {(11<<2)|2,{101,51,0}}, +/* 11051 */ {(11<<2)|2,{101,51,0}}, +/* 11052 */ {(11<<2)|2,{101,51,0}}, +/* 11053 */ {(11<<2)|2,{101,51,0}}, +/* 11054 */ {(11<<2)|2,{101,51,0}}, +/* 11055 */ {(11<<2)|2,{101,51,0}}, +/* 11056 */ {(11<<2)|2,{101,51,0}}, +/* 11057 */ {(11<<2)|2,{101,51,0}}, +/* 11058 */ {(11<<2)|2,{101,51,0}}, +/* 11059 */ {(11<<2)|2,{101,51,0}}, +/* 11060 */ {(11<<2)|2,{101,51,0}}, +/* 11061 */ {(11<<2)|2,{101,51,0}}, +/* 11062 */ {(11<<2)|2,{101,51,0}}, +/* 11063 */ {(11<<2)|2,{101,51,0}}, +/* 11064 */ {(11<<2)|2,{101,51,0}}, +/* 11065 */ {(11<<2)|2,{101,51,0}}, +/* 11066 */ {(11<<2)|2,{101,51,0}}, +/* 11067 */ {(11<<2)|2,{101,51,0}}, +/* 11068 */ {(11<<2)|2,{101,51,0}}, +/* 11069 */ {(11<<2)|2,{101,51,0}}, +/* 11070 */ {(11<<2)|2,{101,51,0}}, +/* 11071 */ {(11<<2)|2,{101,51,0}}, +/* 11072 */ {(16<<2)|3,{101,52,48}}, +/* 11073 */ {(16<<2)|3,{101,52,49}}, +/* 11074 */ {(16<<2)|3,{101,52,50}}, +/* 11075 */ {(16<<2)|3,{101,52,97}}, +/* 11076 */ {(16<<2)|3,{101,52,99}}, +/* 11077 */ {(16<<2)|3,{101,52,101}}, +/* 11078 */ {(16<<2)|3,{101,52,105}}, +/* 11079 */ {(16<<2)|3,{101,52,111}}, +/* 11080 */ {(16<<2)|3,{101,52,115}}, +/* 11081 */ {(16<<2)|3,{101,52,116}}, +/* 11082 */ {(11<<2)|2,{101,52,0}}, +/* 11083 */ {(11<<2)|2,{101,52,0}}, +/* 11084 */ {(11<<2)|2,{101,52,0}}, +/* 11085 */ {(11<<2)|2,{101,52,0}}, +/* 11086 */ {(11<<2)|2,{101,52,0}}, +/* 11087 */ {(11<<2)|2,{101,52,0}}, +/* 11088 */ {(11<<2)|2,{101,52,0}}, +/* 11089 */ {(11<<2)|2,{101,52,0}}, +/* 11090 */ {(11<<2)|2,{101,52,0}}, +/* 11091 */ {(11<<2)|2,{101,52,0}}, +/* 11092 */ {(11<<2)|2,{101,52,0}}, +/* 11093 */ {(11<<2)|2,{101,52,0}}, +/* 11094 */ {(11<<2)|2,{101,52,0}}, +/* 11095 */ {(11<<2)|2,{101,52,0}}, +/* 11096 */ {(11<<2)|2,{101,52,0}}, +/* 11097 */ {(11<<2)|2,{101,52,0}}, +/* 11098 */ {(11<<2)|2,{101,52,0}}, +/* 11099 */ {(11<<2)|2,{101,52,0}}, +/* 11100 */ {(11<<2)|2,{101,52,0}}, +/* 11101 */ {(11<<2)|2,{101,52,0}}, +/* 11102 */ {(11<<2)|2,{101,52,0}}, +/* 11103 */ {(11<<2)|2,{101,52,0}}, +/* 11104 */ {(16<<2)|3,{101,53,48}}, +/* 11105 */ {(16<<2)|3,{101,53,49}}, +/* 11106 */ {(16<<2)|3,{101,53,50}}, +/* 11107 */ {(16<<2)|3,{101,53,97}}, +/* 11108 */ {(16<<2)|3,{101,53,99}}, +/* 11109 */ {(16<<2)|3,{101,53,101}}, +/* 11110 */ {(16<<2)|3,{101,53,105}}, +/* 11111 */ {(16<<2)|3,{101,53,111}}, +/* 11112 */ {(16<<2)|3,{101,53,115}}, +/* 11113 */ {(16<<2)|3,{101,53,116}}, +/* 11114 */ {(11<<2)|2,{101,53,0}}, +/* 11115 */ {(11<<2)|2,{101,53,0}}, +/* 11116 */ {(11<<2)|2,{101,53,0}}, +/* 11117 */ {(11<<2)|2,{101,53,0}}, +/* 11118 */ {(11<<2)|2,{101,53,0}}, +/* 11119 */ {(11<<2)|2,{101,53,0}}, +/* 11120 */ {(11<<2)|2,{101,53,0}}, +/* 11121 */ {(11<<2)|2,{101,53,0}}, +/* 11122 */ {(11<<2)|2,{101,53,0}}, +/* 11123 */ {(11<<2)|2,{101,53,0}}, +/* 11124 */ {(11<<2)|2,{101,53,0}}, +/* 11125 */ {(11<<2)|2,{101,53,0}}, +/* 11126 */ {(11<<2)|2,{101,53,0}}, +/* 11127 */ {(11<<2)|2,{101,53,0}}, +/* 11128 */ {(11<<2)|2,{101,53,0}}, +/* 11129 */ {(11<<2)|2,{101,53,0}}, +/* 11130 */ {(11<<2)|2,{101,53,0}}, +/* 11131 */ {(11<<2)|2,{101,53,0}}, +/* 11132 */ {(11<<2)|2,{101,53,0}}, +/* 11133 */ {(11<<2)|2,{101,53,0}}, +/* 11134 */ {(11<<2)|2,{101,53,0}}, +/* 11135 */ {(11<<2)|2,{101,53,0}}, +/* 11136 */ {(16<<2)|3,{101,54,48}}, +/* 11137 */ {(16<<2)|3,{101,54,49}}, +/* 11138 */ {(16<<2)|3,{101,54,50}}, +/* 11139 */ {(16<<2)|3,{101,54,97}}, +/* 11140 */ {(16<<2)|3,{101,54,99}}, +/* 11141 */ {(16<<2)|3,{101,54,101}}, +/* 11142 */ {(16<<2)|3,{101,54,105}}, +/* 11143 */ {(16<<2)|3,{101,54,111}}, +/* 11144 */ {(16<<2)|3,{101,54,115}}, +/* 11145 */ {(16<<2)|3,{101,54,116}}, +/* 11146 */ {(11<<2)|2,{101,54,0}}, +/* 11147 */ {(11<<2)|2,{101,54,0}}, +/* 11148 */ {(11<<2)|2,{101,54,0}}, +/* 11149 */ {(11<<2)|2,{101,54,0}}, +/* 11150 */ {(11<<2)|2,{101,54,0}}, +/* 11151 */ {(11<<2)|2,{101,54,0}}, +/* 11152 */ {(11<<2)|2,{101,54,0}}, +/* 11153 */ {(11<<2)|2,{101,54,0}}, +/* 11154 */ {(11<<2)|2,{101,54,0}}, +/* 11155 */ {(11<<2)|2,{101,54,0}}, +/* 11156 */ {(11<<2)|2,{101,54,0}}, +/* 11157 */ {(11<<2)|2,{101,54,0}}, +/* 11158 */ {(11<<2)|2,{101,54,0}}, +/* 11159 */ {(11<<2)|2,{101,54,0}}, +/* 11160 */ {(11<<2)|2,{101,54,0}}, +/* 11161 */ {(11<<2)|2,{101,54,0}}, +/* 11162 */ {(11<<2)|2,{101,54,0}}, +/* 11163 */ {(11<<2)|2,{101,54,0}}, +/* 11164 */ {(11<<2)|2,{101,54,0}}, +/* 11165 */ {(11<<2)|2,{101,54,0}}, +/* 11166 */ {(11<<2)|2,{101,54,0}}, +/* 11167 */ {(11<<2)|2,{101,54,0}}, +/* 11168 */ {(16<<2)|3,{101,55,48}}, +/* 11169 */ {(16<<2)|3,{101,55,49}}, +/* 11170 */ {(16<<2)|3,{101,55,50}}, +/* 11171 */ {(16<<2)|3,{101,55,97}}, +/* 11172 */ {(16<<2)|3,{101,55,99}}, +/* 11173 */ {(16<<2)|3,{101,55,101}}, +/* 11174 */ {(16<<2)|3,{101,55,105}}, +/* 11175 */ {(16<<2)|3,{101,55,111}}, +/* 11176 */ {(16<<2)|3,{101,55,115}}, +/* 11177 */ {(16<<2)|3,{101,55,116}}, +/* 11178 */ {(11<<2)|2,{101,55,0}}, +/* 11179 */ {(11<<2)|2,{101,55,0}}, +/* 11180 */ {(11<<2)|2,{101,55,0}}, +/* 11181 */ {(11<<2)|2,{101,55,0}}, +/* 11182 */ {(11<<2)|2,{101,55,0}}, +/* 11183 */ {(11<<2)|2,{101,55,0}}, +/* 11184 */ {(11<<2)|2,{101,55,0}}, +/* 11185 */ {(11<<2)|2,{101,55,0}}, +/* 11186 */ {(11<<2)|2,{101,55,0}}, +/* 11187 */ {(11<<2)|2,{101,55,0}}, +/* 11188 */ {(11<<2)|2,{101,55,0}}, +/* 11189 */ {(11<<2)|2,{101,55,0}}, +/* 11190 */ {(11<<2)|2,{101,55,0}}, +/* 11191 */ {(11<<2)|2,{101,55,0}}, +/* 11192 */ {(11<<2)|2,{101,55,0}}, +/* 11193 */ {(11<<2)|2,{101,55,0}}, +/* 11194 */ {(11<<2)|2,{101,55,0}}, +/* 11195 */ {(11<<2)|2,{101,55,0}}, +/* 11196 */ {(11<<2)|2,{101,55,0}}, +/* 11197 */ {(11<<2)|2,{101,55,0}}, +/* 11198 */ {(11<<2)|2,{101,55,0}}, +/* 11199 */ {(11<<2)|2,{101,55,0}}, +/* 11200 */ {(16<<2)|3,{101,56,48}}, +/* 11201 */ {(16<<2)|3,{101,56,49}}, +/* 11202 */ {(16<<2)|3,{101,56,50}}, +/* 11203 */ {(16<<2)|3,{101,56,97}}, +/* 11204 */ {(16<<2)|3,{101,56,99}}, +/* 11205 */ {(16<<2)|3,{101,56,101}}, +/* 11206 */ {(16<<2)|3,{101,56,105}}, +/* 11207 */ {(16<<2)|3,{101,56,111}}, +/* 11208 */ {(16<<2)|3,{101,56,115}}, +/* 11209 */ {(16<<2)|3,{101,56,116}}, +/* 11210 */ {(11<<2)|2,{101,56,0}}, +/* 11211 */ {(11<<2)|2,{101,56,0}}, +/* 11212 */ {(11<<2)|2,{101,56,0}}, +/* 11213 */ {(11<<2)|2,{101,56,0}}, +/* 11214 */ {(11<<2)|2,{101,56,0}}, +/* 11215 */ {(11<<2)|2,{101,56,0}}, +/* 11216 */ {(11<<2)|2,{101,56,0}}, +/* 11217 */ {(11<<2)|2,{101,56,0}}, +/* 11218 */ {(11<<2)|2,{101,56,0}}, +/* 11219 */ {(11<<2)|2,{101,56,0}}, +/* 11220 */ {(11<<2)|2,{101,56,0}}, +/* 11221 */ {(11<<2)|2,{101,56,0}}, +/* 11222 */ {(11<<2)|2,{101,56,0}}, +/* 11223 */ {(11<<2)|2,{101,56,0}}, +/* 11224 */ {(11<<2)|2,{101,56,0}}, +/* 11225 */ {(11<<2)|2,{101,56,0}}, +/* 11226 */ {(11<<2)|2,{101,56,0}}, +/* 11227 */ {(11<<2)|2,{101,56,0}}, +/* 11228 */ {(11<<2)|2,{101,56,0}}, +/* 11229 */ {(11<<2)|2,{101,56,0}}, +/* 11230 */ {(11<<2)|2,{101,56,0}}, +/* 11231 */ {(11<<2)|2,{101,56,0}}, +/* 11232 */ {(16<<2)|3,{101,57,48}}, +/* 11233 */ {(16<<2)|3,{101,57,49}}, +/* 11234 */ {(16<<2)|3,{101,57,50}}, +/* 11235 */ {(16<<2)|3,{101,57,97}}, +/* 11236 */ {(16<<2)|3,{101,57,99}}, +/* 11237 */ {(16<<2)|3,{101,57,101}}, +/* 11238 */ {(16<<2)|3,{101,57,105}}, +/* 11239 */ {(16<<2)|3,{101,57,111}}, +/* 11240 */ {(16<<2)|3,{101,57,115}}, +/* 11241 */ {(16<<2)|3,{101,57,116}}, +/* 11242 */ {(11<<2)|2,{101,57,0}}, +/* 11243 */ {(11<<2)|2,{101,57,0}}, +/* 11244 */ {(11<<2)|2,{101,57,0}}, +/* 11245 */ {(11<<2)|2,{101,57,0}}, +/* 11246 */ {(11<<2)|2,{101,57,0}}, +/* 11247 */ {(11<<2)|2,{101,57,0}}, +/* 11248 */ {(11<<2)|2,{101,57,0}}, +/* 11249 */ {(11<<2)|2,{101,57,0}}, +/* 11250 */ {(11<<2)|2,{101,57,0}}, +/* 11251 */ {(11<<2)|2,{101,57,0}}, +/* 11252 */ {(11<<2)|2,{101,57,0}}, +/* 11253 */ {(11<<2)|2,{101,57,0}}, +/* 11254 */ {(11<<2)|2,{101,57,0}}, +/* 11255 */ {(11<<2)|2,{101,57,0}}, +/* 11256 */ {(11<<2)|2,{101,57,0}}, +/* 11257 */ {(11<<2)|2,{101,57,0}}, +/* 11258 */ {(11<<2)|2,{101,57,0}}, +/* 11259 */ {(11<<2)|2,{101,57,0}}, +/* 11260 */ {(11<<2)|2,{101,57,0}}, +/* 11261 */ {(11<<2)|2,{101,57,0}}, +/* 11262 */ {(11<<2)|2,{101,57,0}}, +/* 11263 */ {(11<<2)|2,{101,57,0}}, +/* 11264 */ {(16<<2)|3,{101,61,48}}, +/* 11265 */ {(16<<2)|3,{101,61,49}}, +/* 11266 */ {(16<<2)|3,{101,61,50}}, +/* 11267 */ {(16<<2)|3,{101,61,97}}, +/* 11268 */ {(16<<2)|3,{101,61,99}}, +/* 11269 */ {(16<<2)|3,{101,61,101}}, +/* 11270 */ {(16<<2)|3,{101,61,105}}, +/* 11271 */ {(16<<2)|3,{101,61,111}}, +/* 11272 */ {(16<<2)|3,{101,61,115}}, +/* 11273 */ {(16<<2)|3,{101,61,116}}, +/* 11274 */ {(11<<2)|2,{101,61,0}}, +/* 11275 */ {(11<<2)|2,{101,61,0}}, +/* 11276 */ {(11<<2)|2,{101,61,0}}, +/* 11277 */ {(11<<2)|2,{101,61,0}}, +/* 11278 */ {(11<<2)|2,{101,61,0}}, +/* 11279 */ {(11<<2)|2,{101,61,0}}, +/* 11280 */ {(11<<2)|2,{101,61,0}}, +/* 11281 */ {(11<<2)|2,{101,61,0}}, +/* 11282 */ {(11<<2)|2,{101,61,0}}, +/* 11283 */ {(11<<2)|2,{101,61,0}}, +/* 11284 */ {(11<<2)|2,{101,61,0}}, +/* 11285 */ {(11<<2)|2,{101,61,0}}, +/* 11286 */ {(11<<2)|2,{101,61,0}}, +/* 11287 */ {(11<<2)|2,{101,61,0}}, +/* 11288 */ {(11<<2)|2,{101,61,0}}, +/* 11289 */ {(11<<2)|2,{101,61,0}}, +/* 11290 */ {(11<<2)|2,{101,61,0}}, +/* 11291 */ {(11<<2)|2,{101,61,0}}, +/* 11292 */ {(11<<2)|2,{101,61,0}}, +/* 11293 */ {(11<<2)|2,{101,61,0}}, +/* 11294 */ {(11<<2)|2,{101,61,0}}, +/* 11295 */ {(11<<2)|2,{101,61,0}}, +/* 11296 */ {(16<<2)|3,{101,65,48}}, +/* 11297 */ {(16<<2)|3,{101,65,49}}, +/* 11298 */ {(16<<2)|3,{101,65,50}}, +/* 11299 */ {(16<<2)|3,{101,65,97}}, +/* 11300 */ {(16<<2)|3,{101,65,99}}, +/* 11301 */ {(16<<2)|3,{101,65,101}}, +/* 11302 */ {(16<<2)|3,{101,65,105}}, +/* 11303 */ {(16<<2)|3,{101,65,111}}, +/* 11304 */ {(16<<2)|3,{101,65,115}}, +/* 11305 */ {(16<<2)|3,{101,65,116}}, +/* 11306 */ {(11<<2)|2,{101,65,0}}, +/* 11307 */ {(11<<2)|2,{101,65,0}}, +/* 11308 */ {(11<<2)|2,{101,65,0}}, +/* 11309 */ {(11<<2)|2,{101,65,0}}, +/* 11310 */ {(11<<2)|2,{101,65,0}}, +/* 11311 */ {(11<<2)|2,{101,65,0}}, +/* 11312 */ {(11<<2)|2,{101,65,0}}, +/* 11313 */ {(11<<2)|2,{101,65,0}}, +/* 11314 */ {(11<<2)|2,{101,65,0}}, +/* 11315 */ {(11<<2)|2,{101,65,0}}, +/* 11316 */ {(11<<2)|2,{101,65,0}}, +/* 11317 */ {(11<<2)|2,{101,65,0}}, +/* 11318 */ {(11<<2)|2,{101,65,0}}, +/* 11319 */ {(11<<2)|2,{101,65,0}}, +/* 11320 */ {(11<<2)|2,{101,65,0}}, +/* 11321 */ {(11<<2)|2,{101,65,0}}, +/* 11322 */ {(11<<2)|2,{101,65,0}}, +/* 11323 */ {(11<<2)|2,{101,65,0}}, +/* 11324 */ {(11<<2)|2,{101,65,0}}, +/* 11325 */ {(11<<2)|2,{101,65,0}}, +/* 11326 */ {(11<<2)|2,{101,65,0}}, +/* 11327 */ {(11<<2)|2,{101,65,0}}, +/* 11328 */ {(16<<2)|3,{101,95,48}}, +/* 11329 */ {(16<<2)|3,{101,95,49}}, +/* 11330 */ {(16<<2)|3,{101,95,50}}, +/* 11331 */ {(16<<2)|3,{101,95,97}}, +/* 11332 */ {(16<<2)|3,{101,95,99}}, +/* 11333 */ {(16<<2)|3,{101,95,101}}, +/* 11334 */ {(16<<2)|3,{101,95,105}}, +/* 11335 */ {(16<<2)|3,{101,95,111}}, +/* 11336 */ {(16<<2)|3,{101,95,115}}, +/* 11337 */ {(16<<2)|3,{101,95,116}}, +/* 11338 */ {(11<<2)|2,{101,95,0}}, +/* 11339 */ {(11<<2)|2,{101,95,0}}, +/* 11340 */ {(11<<2)|2,{101,95,0}}, +/* 11341 */ {(11<<2)|2,{101,95,0}}, +/* 11342 */ {(11<<2)|2,{101,95,0}}, +/* 11343 */ {(11<<2)|2,{101,95,0}}, +/* 11344 */ {(11<<2)|2,{101,95,0}}, +/* 11345 */ {(11<<2)|2,{101,95,0}}, +/* 11346 */ {(11<<2)|2,{101,95,0}}, +/* 11347 */ {(11<<2)|2,{101,95,0}}, +/* 11348 */ {(11<<2)|2,{101,95,0}}, +/* 11349 */ {(11<<2)|2,{101,95,0}}, +/* 11350 */ {(11<<2)|2,{101,95,0}}, +/* 11351 */ {(11<<2)|2,{101,95,0}}, +/* 11352 */ {(11<<2)|2,{101,95,0}}, +/* 11353 */ {(11<<2)|2,{101,95,0}}, +/* 11354 */ {(11<<2)|2,{101,95,0}}, +/* 11355 */ {(11<<2)|2,{101,95,0}}, +/* 11356 */ {(11<<2)|2,{101,95,0}}, +/* 11357 */ {(11<<2)|2,{101,95,0}}, +/* 11358 */ {(11<<2)|2,{101,95,0}}, +/* 11359 */ {(11<<2)|2,{101,95,0}}, +/* 11360 */ {(16<<2)|3,{101,98,48}}, +/* 11361 */ {(16<<2)|3,{101,98,49}}, +/* 11362 */ {(16<<2)|3,{101,98,50}}, +/* 11363 */ {(16<<2)|3,{101,98,97}}, +/* 11364 */ {(16<<2)|3,{101,98,99}}, +/* 11365 */ {(16<<2)|3,{101,98,101}}, +/* 11366 */ {(16<<2)|3,{101,98,105}}, +/* 11367 */ {(16<<2)|3,{101,98,111}}, +/* 11368 */ {(16<<2)|3,{101,98,115}}, +/* 11369 */ {(16<<2)|3,{101,98,116}}, +/* 11370 */ {(11<<2)|2,{101,98,0}}, +/* 11371 */ {(11<<2)|2,{101,98,0}}, +/* 11372 */ {(11<<2)|2,{101,98,0}}, +/* 11373 */ {(11<<2)|2,{101,98,0}}, +/* 11374 */ {(11<<2)|2,{101,98,0}}, +/* 11375 */ {(11<<2)|2,{101,98,0}}, +/* 11376 */ {(11<<2)|2,{101,98,0}}, +/* 11377 */ {(11<<2)|2,{101,98,0}}, +/* 11378 */ {(11<<2)|2,{101,98,0}}, +/* 11379 */ {(11<<2)|2,{101,98,0}}, +/* 11380 */ {(11<<2)|2,{101,98,0}}, +/* 11381 */ {(11<<2)|2,{101,98,0}}, +/* 11382 */ {(11<<2)|2,{101,98,0}}, +/* 11383 */ {(11<<2)|2,{101,98,0}}, +/* 11384 */ {(11<<2)|2,{101,98,0}}, +/* 11385 */ {(11<<2)|2,{101,98,0}}, +/* 11386 */ {(11<<2)|2,{101,98,0}}, +/* 11387 */ {(11<<2)|2,{101,98,0}}, +/* 11388 */ {(11<<2)|2,{101,98,0}}, +/* 11389 */ {(11<<2)|2,{101,98,0}}, +/* 11390 */ {(11<<2)|2,{101,98,0}}, +/* 11391 */ {(11<<2)|2,{101,98,0}}, +/* 11392 */ {(16<<2)|3,{101,100,48}}, +/* 11393 */ {(16<<2)|3,{101,100,49}}, +/* 11394 */ {(16<<2)|3,{101,100,50}}, +/* 11395 */ {(16<<2)|3,{101,100,97}}, +/* 11396 */ {(16<<2)|3,{101,100,99}}, +/* 11397 */ {(16<<2)|3,{101,100,101}}, +/* 11398 */ {(16<<2)|3,{101,100,105}}, +/* 11399 */ {(16<<2)|3,{101,100,111}}, +/* 11400 */ {(16<<2)|3,{101,100,115}}, +/* 11401 */ {(16<<2)|3,{101,100,116}}, +/* 11402 */ {(11<<2)|2,{101,100,0}}, +/* 11403 */ {(11<<2)|2,{101,100,0}}, +/* 11404 */ {(11<<2)|2,{101,100,0}}, +/* 11405 */ {(11<<2)|2,{101,100,0}}, +/* 11406 */ {(11<<2)|2,{101,100,0}}, +/* 11407 */ {(11<<2)|2,{101,100,0}}, +/* 11408 */ {(11<<2)|2,{101,100,0}}, +/* 11409 */ {(11<<2)|2,{101,100,0}}, +/* 11410 */ {(11<<2)|2,{101,100,0}}, +/* 11411 */ {(11<<2)|2,{101,100,0}}, +/* 11412 */ {(11<<2)|2,{101,100,0}}, +/* 11413 */ {(11<<2)|2,{101,100,0}}, +/* 11414 */ {(11<<2)|2,{101,100,0}}, +/* 11415 */ {(11<<2)|2,{101,100,0}}, +/* 11416 */ {(11<<2)|2,{101,100,0}}, +/* 11417 */ {(11<<2)|2,{101,100,0}}, +/* 11418 */ {(11<<2)|2,{101,100,0}}, +/* 11419 */ {(11<<2)|2,{101,100,0}}, +/* 11420 */ {(11<<2)|2,{101,100,0}}, +/* 11421 */ {(11<<2)|2,{101,100,0}}, +/* 11422 */ {(11<<2)|2,{101,100,0}}, +/* 11423 */ {(11<<2)|2,{101,100,0}}, +/* 11424 */ {(16<<2)|3,{101,102,48}}, +/* 11425 */ {(16<<2)|3,{101,102,49}}, +/* 11426 */ {(16<<2)|3,{101,102,50}}, +/* 11427 */ {(16<<2)|3,{101,102,97}}, +/* 11428 */ {(16<<2)|3,{101,102,99}}, +/* 11429 */ {(16<<2)|3,{101,102,101}}, +/* 11430 */ {(16<<2)|3,{101,102,105}}, +/* 11431 */ {(16<<2)|3,{101,102,111}}, +/* 11432 */ {(16<<2)|3,{101,102,115}}, +/* 11433 */ {(16<<2)|3,{101,102,116}}, +/* 11434 */ {(11<<2)|2,{101,102,0}}, +/* 11435 */ {(11<<2)|2,{101,102,0}}, +/* 11436 */ {(11<<2)|2,{101,102,0}}, +/* 11437 */ {(11<<2)|2,{101,102,0}}, +/* 11438 */ {(11<<2)|2,{101,102,0}}, +/* 11439 */ {(11<<2)|2,{101,102,0}}, +/* 11440 */ {(11<<2)|2,{101,102,0}}, +/* 11441 */ {(11<<2)|2,{101,102,0}}, +/* 11442 */ {(11<<2)|2,{101,102,0}}, +/* 11443 */ {(11<<2)|2,{101,102,0}}, +/* 11444 */ {(11<<2)|2,{101,102,0}}, +/* 11445 */ {(11<<2)|2,{101,102,0}}, +/* 11446 */ {(11<<2)|2,{101,102,0}}, +/* 11447 */ {(11<<2)|2,{101,102,0}}, +/* 11448 */ {(11<<2)|2,{101,102,0}}, +/* 11449 */ {(11<<2)|2,{101,102,0}}, +/* 11450 */ {(11<<2)|2,{101,102,0}}, +/* 11451 */ {(11<<2)|2,{101,102,0}}, +/* 11452 */ {(11<<2)|2,{101,102,0}}, +/* 11453 */ {(11<<2)|2,{101,102,0}}, +/* 11454 */ {(11<<2)|2,{101,102,0}}, +/* 11455 */ {(11<<2)|2,{101,102,0}}, +/* 11456 */ {(16<<2)|3,{101,103,48}}, +/* 11457 */ {(16<<2)|3,{101,103,49}}, +/* 11458 */ {(16<<2)|3,{101,103,50}}, +/* 11459 */ {(16<<2)|3,{101,103,97}}, +/* 11460 */ {(16<<2)|3,{101,103,99}}, +/* 11461 */ {(16<<2)|3,{101,103,101}}, +/* 11462 */ {(16<<2)|3,{101,103,105}}, +/* 11463 */ {(16<<2)|3,{101,103,111}}, +/* 11464 */ {(16<<2)|3,{101,103,115}}, +/* 11465 */ {(16<<2)|3,{101,103,116}}, +/* 11466 */ {(11<<2)|2,{101,103,0}}, +/* 11467 */ {(11<<2)|2,{101,103,0}}, +/* 11468 */ {(11<<2)|2,{101,103,0}}, +/* 11469 */ {(11<<2)|2,{101,103,0}}, +/* 11470 */ {(11<<2)|2,{101,103,0}}, +/* 11471 */ {(11<<2)|2,{101,103,0}}, +/* 11472 */ {(11<<2)|2,{101,103,0}}, +/* 11473 */ {(11<<2)|2,{101,103,0}}, +/* 11474 */ {(11<<2)|2,{101,103,0}}, +/* 11475 */ {(11<<2)|2,{101,103,0}}, +/* 11476 */ {(11<<2)|2,{101,103,0}}, +/* 11477 */ {(11<<2)|2,{101,103,0}}, +/* 11478 */ {(11<<2)|2,{101,103,0}}, +/* 11479 */ {(11<<2)|2,{101,103,0}}, +/* 11480 */ {(11<<2)|2,{101,103,0}}, +/* 11481 */ {(11<<2)|2,{101,103,0}}, +/* 11482 */ {(11<<2)|2,{101,103,0}}, +/* 11483 */ {(11<<2)|2,{101,103,0}}, +/* 11484 */ {(11<<2)|2,{101,103,0}}, +/* 11485 */ {(11<<2)|2,{101,103,0}}, +/* 11486 */ {(11<<2)|2,{101,103,0}}, +/* 11487 */ {(11<<2)|2,{101,103,0}}, +/* 11488 */ {(16<<2)|3,{101,104,48}}, +/* 11489 */ {(16<<2)|3,{101,104,49}}, +/* 11490 */ {(16<<2)|3,{101,104,50}}, +/* 11491 */ {(16<<2)|3,{101,104,97}}, +/* 11492 */ {(16<<2)|3,{101,104,99}}, +/* 11493 */ {(16<<2)|3,{101,104,101}}, +/* 11494 */ {(16<<2)|3,{101,104,105}}, +/* 11495 */ {(16<<2)|3,{101,104,111}}, +/* 11496 */ {(16<<2)|3,{101,104,115}}, +/* 11497 */ {(16<<2)|3,{101,104,116}}, +/* 11498 */ {(11<<2)|2,{101,104,0}}, +/* 11499 */ {(11<<2)|2,{101,104,0}}, +/* 11500 */ {(11<<2)|2,{101,104,0}}, +/* 11501 */ {(11<<2)|2,{101,104,0}}, +/* 11502 */ {(11<<2)|2,{101,104,0}}, +/* 11503 */ {(11<<2)|2,{101,104,0}}, +/* 11504 */ {(11<<2)|2,{101,104,0}}, +/* 11505 */ {(11<<2)|2,{101,104,0}}, +/* 11506 */ {(11<<2)|2,{101,104,0}}, +/* 11507 */ {(11<<2)|2,{101,104,0}}, +/* 11508 */ {(11<<2)|2,{101,104,0}}, +/* 11509 */ {(11<<2)|2,{101,104,0}}, +/* 11510 */ {(11<<2)|2,{101,104,0}}, +/* 11511 */ {(11<<2)|2,{101,104,0}}, +/* 11512 */ {(11<<2)|2,{101,104,0}}, +/* 11513 */ {(11<<2)|2,{101,104,0}}, +/* 11514 */ {(11<<2)|2,{101,104,0}}, +/* 11515 */ {(11<<2)|2,{101,104,0}}, +/* 11516 */ {(11<<2)|2,{101,104,0}}, +/* 11517 */ {(11<<2)|2,{101,104,0}}, +/* 11518 */ {(11<<2)|2,{101,104,0}}, +/* 11519 */ {(11<<2)|2,{101,104,0}}, +/* 11520 */ {(16<<2)|3,{101,108,48}}, +/* 11521 */ {(16<<2)|3,{101,108,49}}, +/* 11522 */ {(16<<2)|3,{101,108,50}}, +/* 11523 */ {(16<<2)|3,{101,108,97}}, +/* 11524 */ {(16<<2)|3,{101,108,99}}, +/* 11525 */ {(16<<2)|3,{101,108,101}}, +/* 11526 */ {(16<<2)|3,{101,108,105}}, +/* 11527 */ {(16<<2)|3,{101,108,111}}, +/* 11528 */ {(16<<2)|3,{101,108,115}}, +/* 11529 */ {(16<<2)|3,{101,108,116}}, +/* 11530 */ {(11<<2)|2,{101,108,0}}, +/* 11531 */ {(11<<2)|2,{101,108,0}}, +/* 11532 */ {(11<<2)|2,{101,108,0}}, +/* 11533 */ {(11<<2)|2,{101,108,0}}, +/* 11534 */ {(11<<2)|2,{101,108,0}}, +/* 11535 */ {(11<<2)|2,{101,108,0}}, +/* 11536 */ {(11<<2)|2,{101,108,0}}, +/* 11537 */ {(11<<2)|2,{101,108,0}}, +/* 11538 */ {(11<<2)|2,{101,108,0}}, +/* 11539 */ {(11<<2)|2,{101,108,0}}, +/* 11540 */ {(11<<2)|2,{101,108,0}}, +/* 11541 */ {(11<<2)|2,{101,108,0}}, +/* 11542 */ {(11<<2)|2,{101,108,0}}, +/* 11543 */ {(11<<2)|2,{101,108,0}}, +/* 11544 */ {(11<<2)|2,{101,108,0}}, +/* 11545 */ {(11<<2)|2,{101,108,0}}, +/* 11546 */ {(11<<2)|2,{101,108,0}}, +/* 11547 */ {(11<<2)|2,{101,108,0}}, +/* 11548 */ {(11<<2)|2,{101,108,0}}, +/* 11549 */ {(11<<2)|2,{101,108,0}}, +/* 11550 */ {(11<<2)|2,{101,108,0}}, +/* 11551 */ {(11<<2)|2,{101,108,0}}, +/* 11552 */ {(16<<2)|3,{101,109,48}}, +/* 11553 */ {(16<<2)|3,{101,109,49}}, +/* 11554 */ {(16<<2)|3,{101,109,50}}, +/* 11555 */ {(16<<2)|3,{101,109,97}}, +/* 11556 */ {(16<<2)|3,{101,109,99}}, +/* 11557 */ {(16<<2)|3,{101,109,101}}, +/* 11558 */ {(16<<2)|3,{101,109,105}}, +/* 11559 */ {(16<<2)|3,{101,109,111}}, +/* 11560 */ {(16<<2)|3,{101,109,115}}, +/* 11561 */ {(16<<2)|3,{101,109,116}}, +/* 11562 */ {(11<<2)|2,{101,109,0}}, +/* 11563 */ {(11<<2)|2,{101,109,0}}, +/* 11564 */ {(11<<2)|2,{101,109,0}}, +/* 11565 */ {(11<<2)|2,{101,109,0}}, +/* 11566 */ {(11<<2)|2,{101,109,0}}, +/* 11567 */ {(11<<2)|2,{101,109,0}}, +/* 11568 */ {(11<<2)|2,{101,109,0}}, +/* 11569 */ {(11<<2)|2,{101,109,0}}, +/* 11570 */ {(11<<2)|2,{101,109,0}}, +/* 11571 */ {(11<<2)|2,{101,109,0}}, +/* 11572 */ {(11<<2)|2,{101,109,0}}, +/* 11573 */ {(11<<2)|2,{101,109,0}}, +/* 11574 */ {(11<<2)|2,{101,109,0}}, +/* 11575 */ {(11<<2)|2,{101,109,0}}, +/* 11576 */ {(11<<2)|2,{101,109,0}}, +/* 11577 */ {(11<<2)|2,{101,109,0}}, +/* 11578 */ {(11<<2)|2,{101,109,0}}, +/* 11579 */ {(11<<2)|2,{101,109,0}}, +/* 11580 */ {(11<<2)|2,{101,109,0}}, +/* 11581 */ {(11<<2)|2,{101,109,0}}, +/* 11582 */ {(11<<2)|2,{101,109,0}}, +/* 11583 */ {(11<<2)|2,{101,109,0}}, +/* 11584 */ {(16<<2)|3,{101,110,48}}, +/* 11585 */ {(16<<2)|3,{101,110,49}}, +/* 11586 */ {(16<<2)|3,{101,110,50}}, +/* 11587 */ {(16<<2)|3,{101,110,97}}, +/* 11588 */ {(16<<2)|3,{101,110,99}}, +/* 11589 */ {(16<<2)|3,{101,110,101}}, +/* 11590 */ {(16<<2)|3,{101,110,105}}, +/* 11591 */ {(16<<2)|3,{101,110,111}}, +/* 11592 */ {(16<<2)|3,{101,110,115}}, +/* 11593 */ {(16<<2)|3,{101,110,116}}, +/* 11594 */ {(11<<2)|2,{101,110,0}}, +/* 11595 */ {(11<<2)|2,{101,110,0}}, +/* 11596 */ {(11<<2)|2,{101,110,0}}, +/* 11597 */ {(11<<2)|2,{101,110,0}}, +/* 11598 */ {(11<<2)|2,{101,110,0}}, +/* 11599 */ {(11<<2)|2,{101,110,0}}, +/* 11600 */ {(11<<2)|2,{101,110,0}}, +/* 11601 */ {(11<<2)|2,{101,110,0}}, +/* 11602 */ {(11<<2)|2,{101,110,0}}, +/* 11603 */ {(11<<2)|2,{101,110,0}}, +/* 11604 */ {(11<<2)|2,{101,110,0}}, +/* 11605 */ {(11<<2)|2,{101,110,0}}, +/* 11606 */ {(11<<2)|2,{101,110,0}}, +/* 11607 */ {(11<<2)|2,{101,110,0}}, +/* 11608 */ {(11<<2)|2,{101,110,0}}, +/* 11609 */ {(11<<2)|2,{101,110,0}}, +/* 11610 */ {(11<<2)|2,{101,110,0}}, +/* 11611 */ {(11<<2)|2,{101,110,0}}, +/* 11612 */ {(11<<2)|2,{101,110,0}}, +/* 11613 */ {(11<<2)|2,{101,110,0}}, +/* 11614 */ {(11<<2)|2,{101,110,0}}, +/* 11615 */ {(11<<2)|2,{101,110,0}}, +/* 11616 */ {(16<<2)|3,{101,112,48}}, +/* 11617 */ {(16<<2)|3,{101,112,49}}, +/* 11618 */ {(16<<2)|3,{101,112,50}}, +/* 11619 */ {(16<<2)|3,{101,112,97}}, +/* 11620 */ {(16<<2)|3,{101,112,99}}, +/* 11621 */ {(16<<2)|3,{101,112,101}}, +/* 11622 */ {(16<<2)|3,{101,112,105}}, +/* 11623 */ {(16<<2)|3,{101,112,111}}, +/* 11624 */ {(16<<2)|3,{101,112,115}}, +/* 11625 */ {(16<<2)|3,{101,112,116}}, +/* 11626 */ {(11<<2)|2,{101,112,0}}, +/* 11627 */ {(11<<2)|2,{101,112,0}}, +/* 11628 */ {(11<<2)|2,{101,112,0}}, +/* 11629 */ {(11<<2)|2,{101,112,0}}, +/* 11630 */ {(11<<2)|2,{101,112,0}}, +/* 11631 */ {(11<<2)|2,{101,112,0}}, +/* 11632 */ {(11<<2)|2,{101,112,0}}, +/* 11633 */ {(11<<2)|2,{101,112,0}}, +/* 11634 */ {(11<<2)|2,{101,112,0}}, +/* 11635 */ {(11<<2)|2,{101,112,0}}, +/* 11636 */ {(11<<2)|2,{101,112,0}}, +/* 11637 */ {(11<<2)|2,{101,112,0}}, +/* 11638 */ {(11<<2)|2,{101,112,0}}, +/* 11639 */ {(11<<2)|2,{101,112,0}}, +/* 11640 */ {(11<<2)|2,{101,112,0}}, +/* 11641 */ {(11<<2)|2,{101,112,0}}, +/* 11642 */ {(11<<2)|2,{101,112,0}}, +/* 11643 */ {(11<<2)|2,{101,112,0}}, +/* 11644 */ {(11<<2)|2,{101,112,0}}, +/* 11645 */ {(11<<2)|2,{101,112,0}}, +/* 11646 */ {(11<<2)|2,{101,112,0}}, +/* 11647 */ {(11<<2)|2,{101,112,0}}, +/* 11648 */ {(16<<2)|3,{101,114,48}}, +/* 11649 */ {(16<<2)|3,{101,114,49}}, +/* 11650 */ {(16<<2)|3,{101,114,50}}, +/* 11651 */ {(16<<2)|3,{101,114,97}}, +/* 11652 */ {(16<<2)|3,{101,114,99}}, +/* 11653 */ {(16<<2)|3,{101,114,101}}, +/* 11654 */ {(16<<2)|3,{101,114,105}}, +/* 11655 */ {(16<<2)|3,{101,114,111}}, +/* 11656 */ {(16<<2)|3,{101,114,115}}, +/* 11657 */ {(16<<2)|3,{101,114,116}}, +/* 11658 */ {(11<<2)|2,{101,114,0}}, +/* 11659 */ {(11<<2)|2,{101,114,0}}, +/* 11660 */ {(11<<2)|2,{101,114,0}}, +/* 11661 */ {(11<<2)|2,{101,114,0}}, +/* 11662 */ {(11<<2)|2,{101,114,0}}, +/* 11663 */ {(11<<2)|2,{101,114,0}}, +/* 11664 */ {(11<<2)|2,{101,114,0}}, +/* 11665 */ {(11<<2)|2,{101,114,0}}, +/* 11666 */ {(11<<2)|2,{101,114,0}}, +/* 11667 */ {(11<<2)|2,{101,114,0}}, +/* 11668 */ {(11<<2)|2,{101,114,0}}, +/* 11669 */ {(11<<2)|2,{101,114,0}}, +/* 11670 */ {(11<<2)|2,{101,114,0}}, +/* 11671 */ {(11<<2)|2,{101,114,0}}, +/* 11672 */ {(11<<2)|2,{101,114,0}}, +/* 11673 */ {(11<<2)|2,{101,114,0}}, +/* 11674 */ {(11<<2)|2,{101,114,0}}, +/* 11675 */ {(11<<2)|2,{101,114,0}}, +/* 11676 */ {(11<<2)|2,{101,114,0}}, +/* 11677 */ {(11<<2)|2,{101,114,0}}, +/* 11678 */ {(11<<2)|2,{101,114,0}}, +/* 11679 */ {(11<<2)|2,{101,114,0}}, +/* 11680 */ {(16<<2)|3,{101,117,48}}, +/* 11681 */ {(16<<2)|3,{101,117,49}}, +/* 11682 */ {(16<<2)|3,{101,117,50}}, +/* 11683 */ {(16<<2)|3,{101,117,97}}, +/* 11684 */ {(16<<2)|3,{101,117,99}}, +/* 11685 */ {(16<<2)|3,{101,117,101}}, +/* 11686 */ {(16<<2)|3,{101,117,105}}, +/* 11687 */ {(16<<2)|3,{101,117,111}}, +/* 11688 */ {(16<<2)|3,{101,117,115}}, +/* 11689 */ {(16<<2)|3,{101,117,116}}, +/* 11690 */ {(11<<2)|2,{101,117,0}}, +/* 11691 */ {(11<<2)|2,{101,117,0}}, +/* 11692 */ {(11<<2)|2,{101,117,0}}, +/* 11693 */ {(11<<2)|2,{101,117,0}}, +/* 11694 */ {(11<<2)|2,{101,117,0}}, +/* 11695 */ {(11<<2)|2,{101,117,0}}, +/* 11696 */ {(11<<2)|2,{101,117,0}}, +/* 11697 */ {(11<<2)|2,{101,117,0}}, +/* 11698 */ {(11<<2)|2,{101,117,0}}, +/* 11699 */ {(11<<2)|2,{101,117,0}}, +/* 11700 */ {(11<<2)|2,{101,117,0}}, +/* 11701 */ {(11<<2)|2,{101,117,0}}, +/* 11702 */ {(11<<2)|2,{101,117,0}}, +/* 11703 */ {(11<<2)|2,{101,117,0}}, +/* 11704 */ {(11<<2)|2,{101,117,0}}, +/* 11705 */ {(11<<2)|2,{101,117,0}}, +/* 11706 */ {(11<<2)|2,{101,117,0}}, +/* 11707 */ {(11<<2)|2,{101,117,0}}, +/* 11708 */ {(11<<2)|2,{101,117,0}}, +/* 11709 */ {(11<<2)|2,{101,117,0}}, +/* 11710 */ {(11<<2)|2,{101,117,0}}, +/* 11711 */ {(11<<2)|2,{101,117,0}}, +/* 11712 */ {(12<<2)|2,{101,58,0}}, +/* 11713 */ {(12<<2)|2,{101,58,0}}, +/* 11714 */ {(12<<2)|2,{101,58,0}}, +/* 11715 */ {(12<<2)|2,{101,58,0}}, +/* 11716 */ {(12<<2)|2,{101,58,0}}, +/* 11717 */ {(12<<2)|2,{101,58,0}}, +/* 11718 */ {(12<<2)|2,{101,58,0}}, +/* 11719 */ {(12<<2)|2,{101,58,0}}, +/* 11720 */ {(12<<2)|2,{101,58,0}}, +/* 11721 */ {(12<<2)|2,{101,58,0}}, +/* 11722 */ {(12<<2)|2,{101,58,0}}, +/* 11723 */ {(12<<2)|2,{101,58,0}}, +/* 11724 */ {(12<<2)|2,{101,58,0}}, +/* 11725 */ {(12<<2)|2,{101,58,0}}, +/* 11726 */ {(12<<2)|2,{101,58,0}}, +/* 11727 */ {(12<<2)|2,{101,58,0}}, +/* 11728 */ {(12<<2)|2,{101,66,0}}, +/* 11729 */ {(12<<2)|2,{101,66,0}}, +/* 11730 */ {(12<<2)|2,{101,66,0}}, +/* 11731 */ {(12<<2)|2,{101,66,0}}, +/* 11732 */ {(12<<2)|2,{101,66,0}}, +/* 11733 */ {(12<<2)|2,{101,66,0}}, +/* 11734 */ {(12<<2)|2,{101,66,0}}, +/* 11735 */ {(12<<2)|2,{101,66,0}}, +/* 11736 */ {(12<<2)|2,{101,66,0}}, +/* 11737 */ {(12<<2)|2,{101,66,0}}, +/* 11738 */ {(12<<2)|2,{101,66,0}}, +/* 11739 */ {(12<<2)|2,{101,66,0}}, +/* 11740 */ {(12<<2)|2,{101,66,0}}, +/* 11741 */ {(12<<2)|2,{101,66,0}}, +/* 11742 */ {(12<<2)|2,{101,66,0}}, +/* 11743 */ {(12<<2)|2,{101,66,0}}, +/* 11744 */ {(12<<2)|2,{101,67,0}}, +/* 11745 */ {(12<<2)|2,{101,67,0}}, +/* 11746 */ {(12<<2)|2,{101,67,0}}, +/* 11747 */ {(12<<2)|2,{101,67,0}}, +/* 11748 */ {(12<<2)|2,{101,67,0}}, +/* 11749 */ {(12<<2)|2,{101,67,0}}, +/* 11750 */ {(12<<2)|2,{101,67,0}}, +/* 11751 */ {(12<<2)|2,{101,67,0}}, +/* 11752 */ {(12<<2)|2,{101,67,0}}, +/* 11753 */ {(12<<2)|2,{101,67,0}}, +/* 11754 */ {(12<<2)|2,{101,67,0}}, +/* 11755 */ {(12<<2)|2,{101,67,0}}, +/* 11756 */ {(12<<2)|2,{101,67,0}}, +/* 11757 */ {(12<<2)|2,{101,67,0}}, +/* 11758 */ {(12<<2)|2,{101,67,0}}, +/* 11759 */ {(12<<2)|2,{101,67,0}}, +/* 11760 */ {(12<<2)|2,{101,68,0}}, +/* 11761 */ {(12<<2)|2,{101,68,0}}, +/* 11762 */ {(12<<2)|2,{101,68,0}}, +/* 11763 */ {(12<<2)|2,{101,68,0}}, +/* 11764 */ {(12<<2)|2,{101,68,0}}, +/* 11765 */ {(12<<2)|2,{101,68,0}}, +/* 11766 */ {(12<<2)|2,{101,68,0}}, +/* 11767 */ {(12<<2)|2,{101,68,0}}, +/* 11768 */ {(12<<2)|2,{101,68,0}}, +/* 11769 */ {(12<<2)|2,{101,68,0}}, +/* 11770 */ {(12<<2)|2,{101,68,0}}, +/* 11771 */ {(12<<2)|2,{101,68,0}}, +/* 11772 */ {(12<<2)|2,{101,68,0}}, +/* 11773 */ {(12<<2)|2,{101,68,0}}, +/* 11774 */ {(12<<2)|2,{101,68,0}}, +/* 11775 */ {(12<<2)|2,{101,68,0}}, +/* 11776 */ {(12<<2)|2,{101,69,0}}, +/* 11777 */ {(12<<2)|2,{101,69,0}}, +/* 11778 */ {(12<<2)|2,{101,69,0}}, +/* 11779 */ {(12<<2)|2,{101,69,0}}, +/* 11780 */ {(12<<2)|2,{101,69,0}}, +/* 11781 */ {(12<<2)|2,{101,69,0}}, +/* 11782 */ {(12<<2)|2,{101,69,0}}, +/* 11783 */ {(12<<2)|2,{101,69,0}}, +/* 11784 */ {(12<<2)|2,{101,69,0}}, +/* 11785 */ {(12<<2)|2,{101,69,0}}, +/* 11786 */ {(12<<2)|2,{101,69,0}}, +/* 11787 */ {(12<<2)|2,{101,69,0}}, +/* 11788 */ {(12<<2)|2,{101,69,0}}, +/* 11789 */ {(12<<2)|2,{101,69,0}}, +/* 11790 */ {(12<<2)|2,{101,69,0}}, +/* 11791 */ {(12<<2)|2,{101,69,0}}, +/* 11792 */ {(12<<2)|2,{101,70,0}}, +/* 11793 */ {(12<<2)|2,{101,70,0}}, +/* 11794 */ {(12<<2)|2,{101,70,0}}, +/* 11795 */ {(12<<2)|2,{101,70,0}}, +/* 11796 */ {(12<<2)|2,{101,70,0}}, +/* 11797 */ {(12<<2)|2,{101,70,0}}, +/* 11798 */ {(12<<2)|2,{101,70,0}}, +/* 11799 */ {(12<<2)|2,{101,70,0}}, +/* 11800 */ {(12<<2)|2,{101,70,0}}, +/* 11801 */ {(12<<2)|2,{101,70,0}}, +/* 11802 */ {(12<<2)|2,{101,70,0}}, +/* 11803 */ {(12<<2)|2,{101,70,0}}, +/* 11804 */ {(12<<2)|2,{101,70,0}}, +/* 11805 */ {(12<<2)|2,{101,70,0}}, +/* 11806 */ {(12<<2)|2,{101,70,0}}, +/* 11807 */ {(12<<2)|2,{101,70,0}}, +/* 11808 */ {(12<<2)|2,{101,71,0}}, +/* 11809 */ {(12<<2)|2,{101,71,0}}, +/* 11810 */ {(12<<2)|2,{101,71,0}}, +/* 11811 */ {(12<<2)|2,{101,71,0}}, +/* 11812 */ {(12<<2)|2,{101,71,0}}, +/* 11813 */ {(12<<2)|2,{101,71,0}}, +/* 11814 */ {(12<<2)|2,{101,71,0}}, +/* 11815 */ {(12<<2)|2,{101,71,0}}, +/* 11816 */ {(12<<2)|2,{101,71,0}}, +/* 11817 */ {(12<<2)|2,{101,71,0}}, +/* 11818 */ {(12<<2)|2,{101,71,0}}, +/* 11819 */ {(12<<2)|2,{101,71,0}}, +/* 11820 */ {(12<<2)|2,{101,71,0}}, +/* 11821 */ {(12<<2)|2,{101,71,0}}, +/* 11822 */ {(12<<2)|2,{101,71,0}}, +/* 11823 */ {(12<<2)|2,{101,71,0}}, +/* 11824 */ {(12<<2)|2,{101,72,0}}, +/* 11825 */ {(12<<2)|2,{101,72,0}}, +/* 11826 */ {(12<<2)|2,{101,72,0}}, +/* 11827 */ {(12<<2)|2,{101,72,0}}, +/* 11828 */ {(12<<2)|2,{101,72,0}}, +/* 11829 */ {(12<<2)|2,{101,72,0}}, +/* 11830 */ {(12<<2)|2,{101,72,0}}, +/* 11831 */ {(12<<2)|2,{101,72,0}}, +/* 11832 */ {(12<<2)|2,{101,72,0}}, +/* 11833 */ {(12<<2)|2,{101,72,0}}, +/* 11834 */ {(12<<2)|2,{101,72,0}}, +/* 11835 */ {(12<<2)|2,{101,72,0}}, +/* 11836 */ {(12<<2)|2,{101,72,0}}, +/* 11837 */ {(12<<2)|2,{101,72,0}}, +/* 11838 */ {(12<<2)|2,{101,72,0}}, +/* 11839 */ {(12<<2)|2,{101,72,0}}, +/* 11840 */ {(12<<2)|2,{101,73,0}}, +/* 11841 */ {(12<<2)|2,{101,73,0}}, +/* 11842 */ {(12<<2)|2,{101,73,0}}, +/* 11843 */ {(12<<2)|2,{101,73,0}}, +/* 11844 */ {(12<<2)|2,{101,73,0}}, +/* 11845 */ {(12<<2)|2,{101,73,0}}, +/* 11846 */ {(12<<2)|2,{101,73,0}}, +/* 11847 */ {(12<<2)|2,{101,73,0}}, +/* 11848 */ {(12<<2)|2,{101,73,0}}, +/* 11849 */ {(12<<2)|2,{101,73,0}}, +/* 11850 */ {(12<<2)|2,{101,73,0}}, +/* 11851 */ {(12<<2)|2,{101,73,0}}, +/* 11852 */ {(12<<2)|2,{101,73,0}}, +/* 11853 */ {(12<<2)|2,{101,73,0}}, +/* 11854 */ {(12<<2)|2,{101,73,0}}, +/* 11855 */ {(12<<2)|2,{101,73,0}}, +/* 11856 */ {(12<<2)|2,{101,74,0}}, +/* 11857 */ {(12<<2)|2,{101,74,0}}, +/* 11858 */ {(12<<2)|2,{101,74,0}}, +/* 11859 */ {(12<<2)|2,{101,74,0}}, +/* 11860 */ {(12<<2)|2,{101,74,0}}, +/* 11861 */ {(12<<2)|2,{101,74,0}}, +/* 11862 */ {(12<<2)|2,{101,74,0}}, +/* 11863 */ {(12<<2)|2,{101,74,0}}, +/* 11864 */ {(12<<2)|2,{101,74,0}}, +/* 11865 */ {(12<<2)|2,{101,74,0}}, +/* 11866 */ {(12<<2)|2,{101,74,0}}, +/* 11867 */ {(12<<2)|2,{101,74,0}}, +/* 11868 */ {(12<<2)|2,{101,74,0}}, +/* 11869 */ {(12<<2)|2,{101,74,0}}, +/* 11870 */ {(12<<2)|2,{101,74,0}}, +/* 11871 */ {(12<<2)|2,{101,74,0}}, +/* 11872 */ {(12<<2)|2,{101,75,0}}, +/* 11873 */ {(12<<2)|2,{101,75,0}}, +/* 11874 */ {(12<<2)|2,{101,75,0}}, +/* 11875 */ {(12<<2)|2,{101,75,0}}, +/* 11876 */ {(12<<2)|2,{101,75,0}}, +/* 11877 */ {(12<<2)|2,{101,75,0}}, +/* 11878 */ {(12<<2)|2,{101,75,0}}, +/* 11879 */ {(12<<2)|2,{101,75,0}}, +/* 11880 */ {(12<<2)|2,{101,75,0}}, +/* 11881 */ {(12<<2)|2,{101,75,0}}, +/* 11882 */ {(12<<2)|2,{101,75,0}}, +/* 11883 */ {(12<<2)|2,{101,75,0}}, +/* 11884 */ {(12<<2)|2,{101,75,0}}, +/* 11885 */ {(12<<2)|2,{101,75,0}}, +/* 11886 */ {(12<<2)|2,{101,75,0}}, +/* 11887 */ {(12<<2)|2,{101,75,0}}, +/* 11888 */ {(12<<2)|2,{101,76,0}}, +/* 11889 */ {(12<<2)|2,{101,76,0}}, +/* 11890 */ {(12<<2)|2,{101,76,0}}, +/* 11891 */ {(12<<2)|2,{101,76,0}}, +/* 11892 */ {(12<<2)|2,{101,76,0}}, +/* 11893 */ {(12<<2)|2,{101,76,0}}, +/* 11894 */ {(12<<2)|2,{101,76,0}}, +/* 11895 */ {(12<<2)|2,{101,76,0}}, +/* 11896 */ {(12<<2)|2,{101,76,0}}, +/* 11897 */ {(12<<2)|2,{101,76,0}}, +/* 11898 */ {(12<<2)|2,{101,76,0}}, +/* 11899 */ {(12<<2)|2,{101,76,0}}, +/* 11900 */ {(12<<2)|2,{101,76,0}}, +/* 11901 */ {(12<<2)|2,{101,76,0}}, +/* 11902 */ {(12<<2)|2,{101,76,0}}, +/* 11903 */ {(12<<2)|2,{101,76,0}}, +/* 11904 */ {(12<<2)|2,{101,77,0}}, +/* 11905 */ {(12<<2)|2,{101,77,0}}, +/* 11906 */ {(12<<2)|2,{101,77,0}}, +/* 11907 */ {(12<<2)|2,{101,77,0}}, +/* 11908 */ {(12<<2)|2,{101,77,0}}, +/* 11909 */ {(12<<2)|2,{101,77,0}}, +/* 11910 */ {(12<<2)|2,{101,77,0}}, +/* 11911 */ {(12<<2)|2,{101,77,0}}, +/* 11912 */ {(12<<2)|2,{101,77,0}}, +/* 11913 */ {(12<<2)|2,{101,77,0}}, +/* 11914 */ {(12<<2)|2,{101,77,0}}, +/* 11915 */ {(12<<2)|2,{101,77,0}}, +/* 11916 */ {(12<<2)|2,{101,77,0}}, +/* 11917 */ {(12<<2)|2,{101,77,0}}, +/* 11918 */ {(12<<2)|2,{101,77,0}}, +/* 11919 */ {(12<<2)|2,{101,77,0}}, +/* 11920 */ {(12<<2)|2,{101,78,0}}, +/* 11921 */ {(12<<2)|2,{101,78,0}}, +/* 11922 */ {(12<<2)|2,{101,78,0}}, +/* 11923 */ {(12<<2)|2,{101,78,0}}, +/* 11924 */ {(12<<2)|2,{101,78,0}}, +/* 11925 */ {(12<<2)|2,{101,78,0}}, +/* 11926 */ {(12<<2)|2,{101,78,0}}, +/* 11927 */ {(12<<2)|2,{101,78,0}}, +/* 11928 */ {(12<<2)|2,{101,78,0}}, +/* 11929 */ {(12<<2)|2,{101,78,0}}, +/* 11930 */ {(12<<2)|2,{101,78,0}}, +/* 11931 */ {(12<<2)|2,{101,78,0}}, +/* 11932 */ {(12<<2)|2,{101,78,0}}, +/* 11933 */ {(12<<2)|2,{101,78,0}}, +/* 11934 */ {(12<<2)|2,{101,78,0}}, +/* 11935 */ {(12<<2)|2,{101,78,0}}, +/* 11936 */ {(12<<2)|2,{101,79,0}}, +/* 11937 */ {(12<<2)|2,{101,79,0}}, +/* 11938 */ {(12<<2)|2,{101,79,0}}, +/* 11939 */ {(12<<2)|2,{101,79,0}}, +/* 11940 */ {(12<<2)|2,{101,79,0}}, +/* 11941 */ {(12<<2)|2,{101,79,0}}, +/* 11942 */ {(12<<2)|2,{101,79,0}}, +/* 11943 */ {(12<<2)|2,{101,79,0}}, +/* 11944 */ {(12<<2)|2,{101,79,0}}, +/* 11945 */ {(12<<2)|2,{101,79,0}}, +/* 11946 */ {(12<<2)|2,{101,79,0}}, +/* 11947 */ {(12<<2)|2,{101,79,0}}, +/* 11948 */ {(12<<2)|2,{101,79,0}}, +/* 11949 */ {(12<<2)|2,{101,79,0}}, +/* 11950 */ {(12<<2)|2,{101,79,0}}, +/* 11951 */ {(12<<2)|2,{101,79,0}}, +/* 11952 */ {(12<<2)|2,{101,80,0}}, +/* 11953 */ {(12<<2)|2,{101,80,0}}, +/* 11954 */ {(12<<2)|2,{101,80,0}}, +/* 11955 */ {(12<<2)|2,{101,80,0}}, +/* 11956 */ {(12<<2)|2,{101,80,0}}, +/* 11957 */ {(12<<2)|2,{101,80,0}}, +/* 11958 */ {(12<<2)|2,{101,80,0}}, +/* 11959 */ {(12<<2)|2,{101,80,0}}, +/* 11960 */ {(12<<2)|2,{101,80,0}}, +/* 11961 */ {(12<<2)|2,{101,80,0}}, +/* 11962 */ {(12<<2)|2,{101,80,0}}, +/* 11963 */ {(12<<2)|2,{101,80,0}}, +/* 11964 */ {(12<<2)|2,{101,80,0}}, +/* 11965 */ {(12<<2)|2,{101,80,0}}, +/* 11966 */ {(12<<2)|2,{101,80,0}}, +/* 11967 */ {(12<<2)|2,{101,80,0}}, +/* 11968 */ {(12<<2)|2,{101,81,0}}, +/* 11969 */ {(12<<2)|2,{101,81,0}}, +/* 11970 */ {(12<<2)|2,{101,81,0}}, +/* 11971 */ {(12<<2)|2,{101,81,0}}, +/* 11972 */ {(12<<2)|2,{101,81,0}}, +/* 11973 */ {(12<<2)|2,{101,81,0}}, +/* 11974 */ {(12<<2)|2,{101,81,0}}, +/* 11975 */ {(12<<2)|2,{101,81,0}}, +/* 11976 */ {(12<<2)|2,{101,81,0}}, +/* 11977 */ {(12<<2)|2,{101,81,0}}, +/* 11978 */ {(12<<2)|2,{101,81,0}}, +/* 11979 */ {(12<<2)|2,{101,81,0}}, +/* 11980 */ {(12<<2)|2,{101,81,0}}, +/* 11981 */ {(12<<2)|2,{101,81,0}}, +/* 11982 */ {(12<<2)|2,{101,81,0}}, +/* 11983 */ {(12<<2)|2,{101,81,0}}, +/* 11984 */ {(12<<2)|2,{101,82,0}}, +/* 11985 */ {(12<<2)|2,{101,82,0}}, +/* 11986 */ {(12<<2)|2,{101,82,0}}, +/* 11987 */ {(12<<2)|2,{101,82,0}}, +/* 11988 */ {(12<<2)|2,{101,82,0}}, +/* 11989 */ {(12<<2)|2,{101,82,0}}, +/* 11990 */ {(12<<2)|2,{101,82,0}}, +/* 11991 */ {(12<<2)|2,{101,82,0}}, +/* 11992 */ {(12<<2)|2,{101,82,0}}, +/* 11993 */ {(12<<2)|2,{101,82,0}}, +/* 11994 */ {(12<<2)|2,{101,82,0}}, +/* 11995 */ {(12<<2)|2,{101,82,0}}, +/* 11996 */ {(12<<2)|2,{101,82,0}}, +/* 11997 */ {(12<<2)|2,{101,82,0}}, +/* 11998 */ {(12<<2)|2,{101,82,0}}, +/* 11999 */ {(12<<2)|2,{101,82,0}}, +/* 12000 */ {(12<<2)|2,{101,83,0}}, +/* 12001 */ {(12<<2)|2,{101,83,0}}, +/* 12002 */ {(12<<2)|2,{101,83,0}}, +/* 12003 */ {(12<<2)|2,{101,83,0}}, +/* 12004 */ {(12<<2)|2,{101,83,0}}, +/* 12005 */ {(12<<2)|2,{101,83,0}}, +/* 12006 */ {(12<<2)|2,{101,83,0}}, +/* 12007 */ {(12<<2)|2,{101,83,0}}, +/* 12008 */ {(12<<2)|2,{101,83,0}}, +/* 12009 */ {(12<<2)|2,{101,83,0}}, +/* 12010 */ {(12<<2)|2,{101,83,0}}, +/* 12011 */ {(12<<2)|2,{101,83,0}}, +/* 12012 */ {(12<<2)|2,{101,83,0}}, +/* 12013 */ {(12<<2)|2,{101,83,0}}, +/* 12014 */ {(12<<2)|2,{101,83,0}}, +/* 12015 */ {(12<<2)|2,{101,83,0}}, +/* 12016 */ {(12<<2)|2,{101,84,0}}, +/* 12017 */ {(12<<2)|2,{101,84,0}}, +/* 12018 */ {(12<<2)|2,{101,84,0}}, +/* 12019 */ {(12<<2)|2,{101,84,0}}, +/* 12020 */ {(12<<2)|2,{101,84,0}}, +/* 12021 */ {(12<<2)|2,{101,84,0}}, +/* 12022 */ {(12<<2)|2,{101,84,0}}, +/* 12023 */ {(12<<2)|2,{101,84,0}}, +/* 12024 */ {(12<<2)|2,{101,84,0}}, +/* 12025 */ {(12<<2)|2,{101,84,0}}, +/* 12026 */ {(12<<2)|2,{101,84,0}}, +/* 12027 */ {(12<<2)|2,{101,84,0}}, +/* 12028 */ {(12<<2)|2,{101,84,0}}, +/* 12029 */ {(12<<2)|2,{101,84,0}}, +/* 12030 */ {(12<<2)|2,{101,84,0}}, +/* 12031 */ {(12<<2)|2,{101,84,0}}, +/* 12032 */ {(12<<2)|2,{101,85,0}}, +/* 12033 */ {(12<<2)|2,{101,85,0}}, +/* 12034 */ {(12<<2)|2,{101,85,0}}, +/* 12035 */ {(12<<2)|2,{101,85,0}}, +/* 12036 */ {(12<<2)|2,{101,85,0}}, +/* 12037 */ {(12<<2)|2,{101,85,0}}, +/* 12038 */ {(12<<2)|2,{101,85,0}}, +/* 12039 */ {(12<<2)|2,{101,85,0}}, +/* 12040 */ {(12<<2)|2,{101,85,0}}, +/* 12041 */ {(12<<2)|2,{101,85,0}}, +/* 12042 */ {(12<<2)|2,{101,85,0}}, +/* 12043 */ {(12<<2)|2,{101,85,0}}, +/* 12044 */ {(12<<2)|2,{101,85,0}}, +/* 12045 */ {(12<<2)|2,{101,85,0}}, +/* 12046 */ {(12<<2)|2,{101,85,0}}, +/* 12047 */ {(12<<2)|2,{101,85,0}}, +/* 12048 */ {(12<<2)|2,{101,86,0}}, +/* 12049 */ {(12<<2)|2,{101,86,0}}, +/* 12050 */ {(12<<2)|2,{101,86,0}}, +/* 12051 */ {(12<<2)|2,{101,86,0}}, +/* 12052 */ {(12<<2)|2,{101,86,0}}, +/* 12053 */ {(12<<2)|2,{101,86,0}}, +/* 12054 */ {(12<<2)|2,{101,86,0}}, +/* 12055 */ {(12<<2)|2,{101,86,0}}, +/* 12056 */ {(12<<2)|2,{101,86,0}}, +/* 12057 */ {(12<<2)|2,{101,86,0}}, +/* 12058 */ {(12<<2)|2,{101,86,0}}, +/* 12059 */ {(12<<2)|2,{101,86,0}}, +/* 12060 */ {(12<<2)|2,{101,86,0}}, +/* 12061 */ {(12<<2)|2,{101,86,0}}, +/* 12062 */ {(12<<2)|2,{101,86,0}}, +/* 12063 */ {(12<<2)|2,{101,86,0}}, +/* 12064 */ {(12<<2)|2,{101,87,0}}, +/* 12065 */ {(12<<2)|2,{101,87,0}}, +/* 12066 */ {(12<<2)|2,{101,87,0}}, +/* 12067 */ {(12<<2)|2,{101,87,0}}, +/* 12068 */ {(12<<2)|2,{101,87,0}}, +/* 12069 */ {(12<<2)|2,{101,87,0}}, +/* 12070 */ {(12<<2)|2,{101,87,0}}, +/* 12071 */ {(12<<2)|2,{101,87,0}}, +/* 12072 */ {(12<<2)|2,{101,87,0}}, +/* 12073 */ {(12<<2)|2,{101,87,0}}, +/* 12074 */ {(12<<2)|2,{101,87,0}}, +/* 12075 */ {(12<<2)|2,{101,87,0}}, +/* 12076 */ {(12<<2)|2,{101,87,0}}, +/* 12077 */ {(12<<2)|2,{101,87,0}}, +/* 12078 */ {(12<<2)|2,{101,87,0}}, +/* 12079 */ {(12<<2)|2,{101,87,0}}, +/* 12080 */ {(12<<2)|2,{101,89,0}}, +/* 12081 */ {(12<<2)|2,{101,89,0}}, +/* 12082 */ {(12<<2)|2,{101,89,0}}, +/* 12083 */ {(12<<2)|2,{101,89,0}}, +/* 12084 */ {(12<<2)|2,{101,89,0}}, +/* 12085 */ {(12<<2)|2,{101,89,0}}, +/* 12086 */ {(12<<2)|2,{101,89,0}}, +/* 12087 */ {(12<<2)|2,{101,89,0}}, +/* 12088 */ {(12<<2)|2,{101,89,0}}, +/* 12089 */ {(12<<2)|2,{101,89,0}}, +/* 12090 */ {(12<<2)|2,{101,89,0}}, +/* 12091 */ {(12<<2)|2,{101,89,0}}, +/* 12092 */ {(12<<2)|2,{101,89,0}}, +/* 12093 */ {(12<<2)|2,{101,89,0}}, +/* 12094 */ {(12<<2)|2,{101,89,0}}, +/* 12095 */ {(12<<2)|2,{101,89,0}}, +/* 12096 */ {(12<<2)|2,{101,106,0}}, +/* 12097 */ {(12<<2)|2,{101,106,0}}, +/* 12098 */ {(12<<2)|2,{101,106,0}}, +/* 12099 */ {(12<<2)|2,{101,106,0}}, +/* 12100 */ {(12<<2)|2,{101,106,0}}, +/* 12101 */ {(12<<2)|2,{101,106,0}}, +/* 12102 */ {(12<<2)|2,{101,106,0}}, +/* 12103 */ {(12<<2)|2,{101,106,0}}, +/* 12104 */ {(12<<2)|2,{101,106,0}}, +/* 12105 */ {(12<<2)|2,{101,106,0}}, +/* 12106 */ {(12<<2)|2,{101,106,0}}, +/* 12107 */ {(12<<2)|2,{101,106,0}}, +/* 12108 */ {(12<<2)|2,{101,106,0}}, +/* 12109 */ {(12<<2)|2,{101,106,0}}, +/* 12110 */ {(12<<2)|2,{101,106,0}}, +/* 12111 */ {(12<<2)|2,{101,106,0}}, +/* 12112 */ {(12<<2)|2,{101,107,0}}, +/* 12113 */ {(12<<2)|2,{101,107,0}}, +/* 12114 */ {(12<<2)|2,{101,107,0}}, +/* 12115 */ {(12<<2)|2,{101,107,0}}, +/* 12116 */ {(12<<2)|2,{101,107,0}}, +/* 12117 */ {(12<<2)|2,{101,107,0}}, +/* 12118 */ {(12<<2)|2,{101,107,0}}, +/* 12119 */ {(12<<2)|2,{101,107,0}}, +/* 12120 */ {(12<<2)|2,{101,107,0}}, +/* 12121 */ {(12<<2)|2,{101,107,0}}, +/* 12122 */ {(12<<2)|2,{101,107,0}}, +/* 12123 */ {(12<<2)|2,{101,107,0}}, +/* 12124 */ {(12<<2)|2,{101,107,0}}, +/* 12125 */ {(12<<2)|2,{101,107,0}}, +/* 12126 */ {(12<<2)|2,{101,107,0}}, +/* 12127 */ {(12<<2)|2,{101,107,0}}, +/* 12128 */ {(12<<2)|2,{101,113,0}}, +/* 12129 */ {(12<<2)|2,{101,113,0}}, +/* 12130 */ {(12<<2)|2,{101,113,0}}, +/* 12131 */ {(12<<2)|2,{101,113,0}}, +/* 12132 */ {(12<<2)|2,{101,113,0}}, +/* 12133 */ {(12<<2)|2,{101,113,0}}, +/* 12134 */ {(12<<2)|2,{101,113,0}}, +/* 12135 */ {(12<<2)|2,{101,113,0}}, +/* 12136 */ {(12<<2)|2,{101,113,0}}, +/* 12137 */ {(12<<2)|2,{101,113,0}}, +/* 12138 */ {(12<<2)|2,{101,113,0}}, +/* 12139 */ {(12<<2)|2,{101,113,0}}, +/* 12140 */ {(12<<2)|2,{101,113,0}}, +/* 12141 */ {(12<<2)|2,{101,113,0}}, +/* 12142 */ {(12<<2)|2,{101,113,0}}, +/* 12143 */ {(12<<2)|2,{101,113,0}}, +/* 12144 */ {(12<<2)|2,{101,118,0}}, +/* 12145 */ {(12<<2)|2,{101,118,0}}, +/* 12146 */ {(12<<2)|2,{101,118,0}}, +/* 12147 */ {(12<<2)|2,{101,118,0}}, +/* 12148 */ {(12<<2)|2,{101,118,0}}, +/* 12149 */ {(12<<2)|2,{101,118,0}}, +/* 12150 */ {(12<<2)|2,{101,118,0}}, +/* 12151 */ {(12<<2)|2,{101,118,0}}, +/* 12152 */ {(12<<2)|2,{101,118,0}}, +/* 12153 */ {(12<<2)|2,{101,118,0}}, +/* 12154 */ {(12<<2)|2,{101,118,0}}, +/* 12155 */ {(12<<2)|2,{101,118,0}}, +/* 12156 */ {(12<<2)|2,{101,118,0}}, +/* 12157 */ {(12<<2)|2,{101,118,0}}, +/* 12158 */ {(12<<2)|2,{101,118,0}}, +/* 12159 */ {(12<<2)|2,{101,118,0}}, +/* 12160 */ {(12<<2)|2,{101,119,0}}, +/* 12161 */ {(12<<2)|2,{101,119,0}}, +/* 12162 */ {(12<<2)|2,{101,119,0}}, +/* 12163 */ {(12<<2)|2,{101,119,0}}, +/* 12164 */ {(12<<2)|2,{101,119,0}}, +/* 12165 */ {(12<<2)|2,{101,119,0}}, +/* 12166 */ {(12<<2)|2,{101,119,0}}, +/* 12167 */ {(12<<2)|2,{101,119,0}}, +/* 12168 */ {(12<<2)|2,{101,119,0}}, +/* 12169 */ {(12<<2)|2,{101,119,0}}, +/* 12170 */ {(12<<2)|2,{101,119,0}}, +/* 12171 */ {(12<<2)|2,{101,119,0}}, +/* 12172 */ {(12<<2)|2,{101,119,0}}, +/* 12173 */ {(12<<2)|2,{101,119,0}}, +/* 12174 */ {(12<<2)|2,{101,119,0}}, +/* 12175 */ {(12<<2)|2,{101,119,0}}, +/* 12176 */ {(12<<2)|2,{101,120,0}}, +/* 12177 */ {(12<<2)|2,{101,120,0}}, +/* 12178 */ {(12<<2)|2,{101,120,0}}, +/* 12179 */ {(12<<2)|2,{101,120,0}}, +/* 12180 */ {(12<<2)|2,{101,120,0}}, +/* 12181 */ {(12<<2)|2,{101,120,0}}, +/* 12182 */ {(12<<2)|2,{101,120,0}}, +/* 12183 */ {(12<<2)|2,{101,120,0}}, +/* 12184 */ {(12<<2)|2,{101,120,0}}, +/* 12185 */ {(12<<2)|2,{101,120,0}}, +/* 12186 */ {(12<<2)|2,{101,120,0}}, +/* 12187 */ {(12<<2)|2,{101,120,0}}, +/* 12188 */ {(12<<2)|2,{101,120,0}}, +/* 12189 */ {(12<<2)|2,{101,120,0}}, +/* 12190 */ {(12<<2)|2,{101,120,0}}, +/* 12191 */ {(12<<2)|2,{101,120,0}}, +/* 12192 */ {(12<<2)|2,{101,121,0}}, +/* 12193 */ {(12<<2)|2,{101,121,0}}, +/* 12194 */ {(12<<2)|2,{101,121,0}}, +/* 12195 */ {(12<<2)|2,{101,121,0}}, +/* 12196 */ {(12<<2)|2,{101,121,0}}, +/* 12197 */ {(12<<2)|2,{101,121,0}}, +/* 12198 */ {(12<<2)|2,{101,121,0}}, +/* 12199 */ {(12<<2)|2,{101,121,0}}, +/* 12200 */ {(12<<2)|2,{101,121,0}}, +/* 12201 */ {(12<<2)|2,{101,121,0}}, +/* 12202 */ {(12<<2)|2,{101,121,0}}, +/* 12203 */ {(12<<2)|2,{101,121,0}}, +/* 12204 */ {(12<<2)|2,{101,121,0}}, +/* 12205 */ {(12<<2)|2,{101,121,0}}, +/* 12206 */ {(12<<2)|2,{101,121,0}}, +/* 12207 */ {(12<<2)|2,{101,121,0}}, +/* 12208 */ {(12<<2)|2,{101,122,0}}, +/* 12209 */ {(12<<2)|2,{101,122,0}}, +/* 12210 */ {(12<<2)|2,{101,122,0}}, +/* 12211 */ {(12<<2)|2,{101,122,0}}, +/* 12212 */ {(12<<2)|2,{101,122,0}}, +/* 12213 */ {(12<<2)|2,{101,122,0}}, +/* 12214 */ {(12<<2)|2,{101,122,0}}, +/* 12215 */ {(12<<2)|2,{101,122,0}}, +/* 12216 */ {(12<<2)|2,{101,122,0}}, +/* 12217 */ {(12<<2)|2,{101,122,0}}, +/* 12218 */ {(12<<2)|2,{101,122,0}}, +/* 12219 */ {(12<<2)|2,{101,122,0}}, +/* 12220 */ {(12<<2)|2,{101,122,0}}, +/* 12221 */ {(12<<2)|2,{101,122,0}}, +/* 12222 */ {(12<<2)|2,{101,122,0}}, +/* 12223 */ {(12<<2)|2,{101,122,0}}, +/* 12224 */ {(13<<2)|2,{101,38,0}}, +/* 12225 */ {(13<<2)|2,{101,38,0}}, +/* 12226 */ {(13<<2)|2,{101,38,0}}, +/* 12227 */ {(13<<2)|2,{101,38,0}}, +/* 12228 */ {(13<<2)|2,{101,38,0}}, +/* 12229 */ {(13<<2)|2,{101,38,0}}, +/* 12230 */ {(13<<2)|2,{101,38,0}}, +/* 12231 */ {(13<<2)|2,{101,38,0}}, +/* 12232 */ {(13<<2)|2,{101,42,0}}, +/* 12233 */ {(13<<2)|2,{101,42,0}}, +/* 12234 */ {(13<<2)|2,{101,42,0}}, +/* 12235 */ {(13<<2)|2,{101,42,0}}, +/* 12236 */ {(13<<2)|2,{101,42,0}}, +/* 12237 */ {(13<<2)|2,{101,42,0}}, +/* 12238 */ {(13<<2)|2,{101,42,0}}, +/* 12239 */ {(13<<2)|2,{101,42,0}}, +/* 12240 */ {(13<<2)|2,{101,44,0}}, +/* 12241 */ {(13<<2)|2,{101,44,0}}, +/* 12242 */ {(13<<2)|2,{101,44,0}}, +/* 12243 */ {(13<<2)|2,{101,44,0}}, +/* 12244 */ {(13<<2)|2,{101,44,0}}, +/* 12245 */ {(13<<2)|2,{101,44,0}}, +/* 12246 */ {(13<<2)|2,{101,44,0}}, +/* 12247 */ {(13<<2)|2,{101,44,0}}, +/* 12248 */ {(13<<2)|2,{101,59,0}}, +/* 12249 */ {(13<<2)|2,{101,59,0}}, +/* 12250 */ {(13<<2)|2,{101,59,0}}, +/* 12251 */ {(13<<2)|2,{101,59,0}}, +/* 12252 */ {(13<<2)|2,{101,59,0}}, +/* 12253 */ {(13<<2)|2,{101,59,0}}, +/* 12254 */ {(13<<2)|2,{101,59,0}}, +/* 12255 */ {(13<<2)|2,{101,59,0}}, +/* 12256 */ {(13<<2)|2,{101,88,0}}, +/* 12257 */ {(13<<2)|2,{101,88,0}}, +/* 12258 */ {(13<<2)|2,{101,88,0}}, +/* 12259 */ {(13<<2)|2,{101,88,0}}, +/* 12260 */ {(13<<2)|2,{101,88,0}}, +/* 12261 */ {(13<<2)|2,{101,88,0}}, +/* 12262 */ {(13<<2)|2,{101,88,0}}, +/* 12263 */ {(13<<2)|2,{101,88,0}}, +/* 12264 */ {(13<<2)|2,{101,90,0}}, +/* 12265 */ {(13<<2)|2,{101,90,0}}, +/* 12266 */ {(13<<2)|2,{101,90,0}}, +/* 12267 */ {(13<<2)|2,{101,90,0}}, +/* 12268 */ {(13<<2)|2,{101,90,0}}, +/* 12269 */ {(13<<2)|2,{101,90,0}}, +/* 12270 */ {(13<<2)|2,{101,90,0}}, +/* 12271 */ {(13<<2)|2,{101,90,0}}, +/* 12272 */ {(15<<2)|2,{101,33,0}}, +/* 12273 */ {(15<<2)|2,{101,33,0}}, +/* 12274 */ {(15<<2)|2,{101,34,0}}, +/* 12275 */ {(15<<2)|2,{101,34,0}}, +/* 12276 */ {(15<<2)|2,{101,40,0}}, +/* 12277 */ {(15<<2)|2,{101,40,0}}, +/* 12278 */ {(15<<2)|2,{101,41,0}}, +/* 12279 */ {(15<<2)|2,{101,41,0}}, +/* 12280 */ {(15<<2)|2,{101,63,0}}, +/* 12281 */ {(15<<2)|2,{101,63,0}}, +/* 12282 */ {(16<<2)|2,{101,39,0}}, +/* 12283 */ {(16<<2)|2,{101,43,0}}, +/* 12284 */ {(16<<2)|2,{101,124,0}}, +/* 12285 */ {(5<<2)|1,{101,0,0}}, +/* 12286 */ {(5<<2)|1,{101,0,0}}, +/* 12287 */ {(5<<2)|1,{101,0,0}}, +/* 12288 */ {(15<<2)|3,{105,48,48}}, +/* 12289 */ {(15<<2)|3,{105,48,48}}, +/* 12290 */ {(15<<2)|3,{105,48,49}}, +/* 12291 */ {(15<<2)|3,{105,48,49}}, +/* 12292 */ {(15<<2)|3,{105,48,50}}, +/* 12293 */ {(15<<2)|3,{105,48,50}}, +/* 12294 */ {(15<<2)|3,{105,48,97}}, +/* 12295 */ {(15<<2)|3,{105,48,97}}, +/* 12296 */ {(15<<2)|3,{105,48,99}}, +/* 12297 */ {(15<<2)|3,{105,48,99}}, +/* 12298 */ {(15<<2)|3,{105,48,101}}, +/* 12299 */ {(15<<2)|3,{105,48,101}}, +/* 12300 */ {(15<<2)|3,{105,48,105}}, +/* 12301 */ {(15<<2)|3,{105,48,105}}, +/* 12302 */ {(15<<2)|3,{105,48,111}}, +/* 12303 */ {(15<<2)|3,{105,48,111}}, +/* 12304 */ {(15<<2)|3,{105,48,115}}, +/* 12305 */ {(15<<2)|3,{105,48,115}}, +/* 12306 */ {(15<<2)|3,{105,48,116}}, +/* 12307 */ {(15<<2)|3,{105,48,116}}, +/* 12308 */ {(16<<2)|3,{105,48,32}}, +/* 12309 */ {(16<<2)|3,{105,48,37}}, +/* 12310 */ {(16<<2)|3,{105,48,45}}, +/* 12311 */ {(16<<2)|3,{105,48,46}}, +/* 12312 */ {(16<<2)|3,{105,48,47}}, +/* 12313 */ {(16<<2)|3,{105,48,51}}, +/* 12314 */ {(16<<2)|3,{105,48,52}}, +/* 12315 */ {(16<<2)|3,{105,48,53}}, +/* 12316 */ {(16<<2)|3,{105,48,54}}, +/* 12317 */ {(16<<2)|3,{105,48,55}}, +/* 12318 */ {(16<<2)|3,{105,48,56}}, +/* 12319 */ {(16<<2)|3,{105,48,57}}, +/* 12320 */ {(16<<2)|3,{105,48,61}}, +/* 12321 */ {(16<<2)|3,{105,48,65}}, +/* 12322 */ {(16<<2)|3,{105,48,95}}, +/* 12323 */ {(16<<2)|3,{105,48,98}}, +/* 12324 */ {(16<<2)|3,{105,48,100}}, +/* 12325 */ {(16<<2)|3,{105,48,102}}, +/* 12326 */ {(16<<2)|3,{105,48,103}}, +/* 12327 */ {(16<<2)|3,{105,48,104}}, +/* 12328 */ {(16<<2)|3,{105,48,108}}, +/* 12329 */ {(16<<2)|3,{105,48,109}}, +/* 12330 */ {(16<<2)|3,{105,48,110}}, +/* 12331 */ {(16<<2)|3,{105,48,112}}, +/* 12332 */ {(16<<2)|3,{105,48,114}}, +/* 12333 */ {(16<<2)|3,{105,48,117}}, +/* 12334 */ {(10<<2)|2,{105,48,0}}, +/* 12335 */ {(10<<2)|2,{105,48,0}}, +/* 12336 */ {(10<<2)|2,{105,48,0}}, +/* 12337 */ {(10<<2)|2,{105,48,0}}, +/* 12338 */ {(10<<2)|2,{105,48,0}}, +/* 12339 */ {(10<<2)|2,{105,48,0}}, +/* 12340 */ {(10<<2)|2,{105,48,0}}, +/* 12341 */ {(10<<2)|2,{105,48,0}}, +/* 12342 */ {(10<<2)|2,{105,48,0}}, +/* 12343 */ {(10<<2)|2,{105,48,0}}, +/* 12344 */ {(10<<2)|2,{105,48,0}}, +/* 12345 */ {(10<<2)|2,{105,48,0}}, +/* 12346 */ {(10<<2)|2,{105,48,0}}, +/* 12347 */ {(10<<2)|2,{105,48,0}}, +/* 12348 */ {(10<<2)|2,{105,48,0}}, +/* 12349 */ {(10<<2)|2,{105,48,0}}, +/* 12350 */ {(10<<2)|2,{105,48,0}}, +/* 12351 */ {(10<<2)|2,{105,48,0}}, +/* 12352 */ {(15<<2)|3,{105,49,48}}, +/* 12353 */ {(15<<2)|3,{105,49,48}}, +/* 12354 */ {(15<<2)|3,{105,49,49}}, +/* 12355 */ {(15<<2)|3,{105,49,49}}, +/* 12356 */ {(15<<2)|3,{105,49,50}}, +/* 12357 */ {(15<<2)|3,{105,49,50}}, +/* 12358 */ {(15<<2)|3,{105,49,97}}, +/* 12359 */ {(15<<2)|3,{105,49,97}}, +/* 12360 */ {(15<<2)|3,{105,49,99}}, +/* 12361 */ {(15<<2)|3,{105,49,99}}, +/* 12362 */ {(15<<2)|3,{105,49,101}}, +/* 12363 */ {(15<<2)|3,{105,49,101}}, +/* 12364 */ {(15<<2)|3,{105,49,105}}, +/* 12365 */ {(15<<2)|3,{105,49,105}}, +/* 12366 */ {(15<<2)|3,{105,49,111}}, +/* 12367 */ {(15<<2)|3,{105,49,111}}, +/* 12368 */ {(15<<2)|3,{105,49,115}}, +/* 12369 */ {(15<<2)|3,{105,49,115}}, +/* 12370 */ {(15<<2)|3,{105,49,116}}, +/* 12371 */ {(15<<2)|3,{105,49,116}}, +/* 12372 */ {(16<<2)|3,{105,49,32}}, +/* 12373 */ {(16<<2)|3,{105,49,37}}, +/* 12374 */ {(16<<2)|3,{105,49,45}}, +/* 12375 */ {(16<<2)|3,{105,49,46}}, +/* 12376 */ {(16<<2)|3,{105,49,47}}, +/* 12377 */ {(16<<2)|3,{105,49,51}}, +/* 12378 */ {(16<<2)|3,{105,49,52}}, +/* 12379 */ {(16<<2)|3,{105,49,53}}, +/* 12380 */ {(16<<2)|3,{105,49,54}}, +/* 12381 */ {(16<<2)|3,{105,49,55}}, +/* 12382 */ {(16<<2)|3,{105,49,56}}, +/* 12383 */ {(16<<2)|3,{105,49,57}}, +/* 12384 */ {(16<<2)|3,{105,49,61}}, +/* 12385 */ {(16<<2)|3,{105,49,65}}, +/* 12386 */ {(16<<2)|3,{105,49,95}}, +/* 12387 */ {(16<<2)|3,{105,49,98}}, +/* 12388 */ {(16<<2)|3,{105,49,100}}, +/* 12389 */ {(16<<2)|3,{105,49,102}}, +/* 12390 */ {(16<<2)|3,{105,49,103}}, +/* 12391 */ {(16<<2)|3,{105,49,104}}, +/* 12392 */ {(16<<2)|3,{105,49,108}}, +/* 12393 */ {(16<<2)|3,{105,49,109}}, +/* 12394 */ {(16<<2)|3,{105,49,110}}, +/* 12395 */ {(16<<2)|3,{105,49,112}}, +/* 12396 */ {(16<<2)|3,{105,49,114}}, +/* 12397 */ {(16<<2)|3,{105,49,117}}, +/* 12398 */ {(10<<2)|2,{105,49,0}}, +/* 12399 */ {(10<<2)|2,{105,49,0}}, +/* 12400 */ {(10<<2)|2,{105,49,0}}, +/* 12401 */ {(10<<2)|2,{105,49,0}}, +/* 12402 */ {(10<<2)|2,{105,49,0}}, +/* 12403 */ {(10<<2)|2,{105,49,0}}, +/* 12404 */ {(10<<2)|2,{105,49,0}}, +/* 12405 */ {(10<<2)|2,{105,49,0}}, +/* 12406 */ {(10<<2)|2,{105,49,0}}, +/* 12407 */ {(10<<2)|2,{105,49,0}}, +/* 12408 */ {(10<<2)|2,{105,49,0}}, +/* 12409 */ {(10<<2)|2,{105,49,0}}, +/* 12410 */ {(10<<2)|2,{105,49,0}}, +/* 12411 */ {(10<<2)|2,{105,49,0}}, +/* 12412 */ {(10<<2)|2,{105,49,0}}, +/* 12413 */ {(10<<2)|2,{105,49,0}}, +/* 12414 */ {(10<<2)|2,{105,49,0}}, +/* 12415 */ {(10<<2)|2,{105,49,0}}, +/* 12416 */ {(15<<2)|3,{105,50,48}}, +/* 12417 */ {(15<<2)|3,{105,50,48}}, +/* 12418 */ {(15<<2)|3,{105,50,49}}, +/* 12419 */ {(15<<2)|3,{105,50,49}}, +/* 12420 */ {(15<<2)|3,{105,50,50}}, +/* 12421 */ {(15<<2)|3,{105,50,50}}, +/* 12422 */ {(15<<2)|3,{105,50,97}}, +/* 12423 */ {(15<<2)|3,{105,50,97}}, +/* 12424 */ {(15<<2)|3,{105,50,99}}, +/* 12425 */ {(15<<2)|3,{105,50,99}}, +/* 12426 */ {(15<<2)|3,{105,50,101}}, +/* 12427 */ {(15<<2)|3,{105,50,101}}, +/* 12428 */ {(15<<2)|3,{105,50,105}}, +/* 12429 */ {(15<<2)|3,{105,50,105}}, +/* 12430 */ {(15<<2)|3,{105,50,111}}, +/* 12431 */ {(15<<2)|3,{105,50,111}}, +/* 12432 */ {(15<<2)|3,{105,50,115}}, +/* 12433 */ {(15<<2)|3,{105,50,115}}, +/* 12434 */ {(15<<2)|3,{105,50,116}}, +/* 12435 */ {(15<<2)|3,{105,50,116}}, +/* 12436 */ {(16<<2)|3,{105,50,32}}, +/* 12437 */ {(16<<2)|3,{105,50,37}}, +/* 12438 */ {(16<<2)|3,{105,50,45}}, +/* 12439 */ {(16<<2)|3,{105,50,46}}, +/* 12440 */ {(16<<2)|3,{105,50,47}}, +/* 12441 */ {(16<<2)|3,{105,50,51}}, +/* 12442 */ {(16<<2)|3,{105,50,52}}, +/* 12443 */ {(16<<2)|3,{105,50,53}}, +/* 12444 */ {(16<<2)|3,{105,50,54}}, +/* 12445 */ {(16<<2)|3,{105,50,55}}, +/* 12446 */ {(16<<2)|3,{105,50,56}}, +/* 12447 */ {(16<<2)|3,{105,50,57}}, +/* 12448 */ {(16<<2)|3,{105,50,61}}, +/* 12449 */ {(16<<2)|3,{105,50,65}}, +/* 12450 */ {(16<<2)|3,{105,50,95}}, +/* 12451 */ {(16<<2)|3,{105,50,98}}, +/* 12452 */ {(16<<2)|3,{105,50,100}}, +/* 12453 */ {(16<<2)|3,{105,50,102}}, +/* 12454 */ {(16<<2)|3,{105,50,103}}, +/* 12455 */ {(16<<2)|3,{105,50,104}}, +/* 12456 */ {(16<<2)|3,{105,50,108}}, +/* 12457 */ {(16<<2)|3,{105,50,109}}, +/* 12458 */ {(16<<2)|3,{105,50,110}}, +/* 12459 */ {(16<<2)|3,{105,50,112}}, +/* 12460 */ {(16<<2)|3,{105,50,114}}, +/* 12461 */ {(16<<2)|3,{105,50,117}}, +/* 12462 */ {(10<<2)|2,{105,50,0}}, +/* 12463 */ {(10<<2)|2,{105,50,0}}, +/* 12464 */ {(10<<2)|2,{105,50,0}}, +/* 12465 */ {(10<<2)|2,{105,50,0}}, +/* 12466 */ {(10<<2)|2,{105,50,0}}, +/* 12467 */ {(10<<2)|2,{105,50,0}}, +/* 12468 */ {(10<<2)|2,{105,50,0}}, +/* 12469 */ {(10<<2)|2,{105,50,0}}, +/* 12470 */ {(10<<2)|2,{105,50,0}}, +/* 12471 */ {(10<<2)|2,{105,50,0}}, +/* 12472 */ {(10<<2)|2,{105,50,0}}, +/* 12473 */ {(10<<2)|2,{105,50,0}}, +/* 12474 */ {(10<<2)|2,{105,50,0}}, +/* 12475 */ {(10<<2)|2,{105,50,0}}, +/* 12476 */ {(10<<2)|2,{105,50,0}}, +/* 12477 */ {(10<<2)|2,{105,50,0}}, +/* 12478 */ {(10<<2)|2,{105,50,0}}, +/* 12479 */ {(10<<2)|2,{105,50,0}}, +/* 12480 */ {(15<<2)|3,{105,97,48}}, +/* 12481 */ {(15<<2)|3,{105,97,48}}, +/* 12482 */ {(15<<2)|3,{105,97,49}}, +/* 12483 */ {(15<<2)|3,{105,97,49}}, +/* 12484 */ {(15<<2)|3,{105,97,50}}, +/* 12485 */ {(15<<2)|3,{105,97,50}}, +/* 12486 */ {(15<<2)|3,{105,97,97}}, +/* 12487 */ {(15<<2)|3,{105,97,97}}, +/* 12488 */ {(15<<2)|3,{105,97,99}}, +/* 12489 */ {(15<<2)|3,{105,97,99}}, +/* 12490 */ {(15<<2)|3,{105,97,101}}, +/* 12491 */ {(15<<2)|3,{105,97,101}}, +/* 12492 */ {(15<<2)|3,{105,97,105}}, +/* 12493 */ {(15<<2)|3,{105,97,105}}, +/* 12494 */ {(15<<2)|3,{105,97,111}}, +/* 12495 */ {(15<<2)|3,{105,97,111}}, +/* 12496 */ {(15<<2)|3,{105,97,115}}, +/* 12497 */ {(15<<2)|3,{105,97,115}}, +/* 12498 */ {(15<<2)|3,{105,97,116}}, +/* 12499 */ {(15<<2)|3,{105,97,116}}, +/* 12500 */ {(16<<2)|3,{105,97,32}}, +/* 12501 */ {(16<<2)|3,{105,97,37}}, +/* 12502 */ {(16<<2)|3,{105,97,45}}, +/* 12503 */ {(16<<2)|3,{105,97,46}}, +/* 12504 */ {(16<<2)|3,{105,97,47}}, +/* 12505 */ {(16<<2)|3,{105,97,51}}, +/* 12506 */ {(16<<2)|3,{105,97,52}}, +/* 12507 */ {(16<<2)|3,{105,97,53}}, +/* 12508 */ {(16<<2)|3,{105,97,54}}, +/* 12509 */ {(16<<2)|3,{105,97,55}}, +/* 12510 */ {(16<<2)|3,{105,97,56}}, +/* 12511 */ {(16<<2)|3,{105,97,57}}, +/* 12512 */ {(16<<2)|3,{105,97,61}}, +/* 12513 */ {(16<<2)|3,{105,97,65}}, +/* 12514 */ {(16<<2)|3,{105,97,95}}, +/* 12515 */ {(16<<2)|3,{105,97,98}}, +/* 12516 */ {(16<<2)|3,{105,97,100}}, +/* 12517 */ {(16<<2)|3,{105,97,102}}, +/* 12518 */ {(16<<2)|3,{105,97,103}}, +/* 12519 */ {(16<<2)|3,{105,97,104}}, +/* 12520 */ {(16<<2)|3,{105,97,108}}, +/* 12521 */ {(16<<2)|3,{105,97,109}}, +/* 12522 */ {(16<<2)|3,{105,97,110}}, +/* 12523 */ {(16<<2)|3,{105,97,112}}, +/* 12524 */ {(16<<2)|3,{105,97,114}}, +/* 12525 */ {(16<<2)|3,{105,97,117}}, +/* 12526 */ {(10<<2)|2,{105,97,0}}, +/* 12527 */ {(10<<2)|2,{105,97,0}}, +/* 12528 */ {(10<<2)|2,{105,97,0}}, +/* 12529 */ {(10<<2)|2,{105,97,0}}, +/* 12530 */ {(10<<2)|2,{105,97,0}}, +/* 12531 */ {(10<<2)|2,{105,97,0}}, +/* 12532 */ {(10<<2)|2,{105,97,0}}, +/* 12533 */ {(10<<2)|2,{105,97,0}}, +/* 12534 */ {(10<<2)|2,{105,97,0}}, +/* 12535 */ {(10<<2)|2,{105,97,0}}, +/* 12536 */ {(10<<2)|2,{105,97,0}}, +/* 12537 */ {(10<<2)|2,{105,97,0}}, +/* 12538 */ {(10<<2)|2,{105,97,0}}, +/* 12539 */ {(10<<2)|2,{105,97,0}}, +/* 12540 */ {(10<<2)|2,{105,97,0}}, +/* 12541 */ {(10<<2)|2,{105,97,0}}, +/* 12542 */ {(10<<2)|2,{105,97,0}}, +/* 12543 */ {(10<<2)|2,{105,97,0}}, +/* 12544 */ {(15<<2)|3,{105,99,48}}, +/* 12545 */ {(15<<2)|3,{105,99,48}}, +/* 12546 */ {(15<<2)|3,{105,99,49}}, +/* 12547 */ {(15<<2)|3,{105,99,49}}, +/* 12548 */ {(15<<2)|3,{105,99,50}}, +/* 12549 */ {(15<<2)|3,{105,99,50}}, +/* 12550 */ {(15<<2)|3,{105,99,97}}, +/* 12551 */ {(15<<2)|3,{105,99,97}}, +/* 12552 */ {(15<<2)|3,{105,99,99}}, +/* 12553 */ {(15<<2)|3,{105,99,99}}, +/* 12554 */ {(15<<2)|3,{105,99,101}}, +/* 12555 */ {(15<<2)|3,{105,99,101}}, +/* 12556 */ {(15<<2)|3,{105,99,105}}, +/* 12557 */ {(15<<2)|3,{105,99,105}}, +/* 12558 */ {(15<<2)|3,{105,99,111}}, +/* 12559 */ {(15<<2)|3,{105,99,111}}, +/* 12560 */ {(15<<2)|3,{105,99,115}}, +/* 12561 */ {(15<<2)|3,{105,99,115}}, +/* 12562 */ {(15<<2)|3,{105,99,116}}, +/* 12563 */ {(15<<2)|3,{105,99,116}}, +/* 12564 */ {(16<<2)|3,{105,99,32}}, +/* 12565 */ {(16<<2)|3,{105,99,37}}, +/* 12566 */ {(16<<2)|3,{105,99,45}}, +/* 12567 */ {(16<<2)|3,{105,99,46}}, +/* 12568 */ {(16<<2)|3,{105,99,47}}, +/* 12569 */ {(16<<2)|3,{105,99,51}}, +/* 12570 */ {(16<<2)|3,{105,99,52}}, +/* 12571 */ {(16<<2)|3,{105,99,53}}, +/* 12572 */ {(16<<2)|3,{105,99,54}}, +/* 12573 */ {(16<<2)|3,{105,99,55}}, +/* 12574 */ {(16<<2)|3,{105,99,56}}, +/* 12575 */ {(16<<2)|3,{105,99,57}}, +/* 12576 */ {(16<<2)|3,{105,99,61}}, +/* 12577 */ {(16<<2)|3,{105,99,65}}, +/* 12578 */ {(16<<2)|3,{105,99,95}}, +/* 12579 */ {(16<<2)|3,{105,99,98}}, +/* 12580 */ {(16<<2)|3,{105,99,100}}, +/* 12581 */ {(16<<2)|3,{105,99,102}}, +/* 12582 */ {(16<<2)|3,{105,99,103}}, +/* 12583 */ {(16<<2)|3,{105,99,104}}, +/* 12584 */ {(16<<2)|3,{105,99,108}}, +/* 12585 */ {(16<<2)|3,{105,99,109}}, +/* 12586 */ {(16<<2)|3,{105,99,110}}, +/* 12587 */ {(16<<2)|3,{105,99,112}}, +/* 12588 */ {(16<<2)|3,{105,99,114}}, +/* 12589 */ {(16<<2)|3,{105,99,117}}, +/* 12590 */ {(10<<2)|2,{105,99,0}}, +/* 12591 */ {(10<<2)|2,{105,99,0}}, +/* 12592 */ {(10<<2)|2,{105,99,0}}, +/* 12593 */ {(10<<2)|2,{105,99,0}}, +/* 12594 */ {(10<<2)|2,{105,99,0}}, +/* 12595 */ {(10<<2)|2,{105,99,0}}, +/* 12596 */ {(10<<2)|2,{105,99,0}}, +/* 12597 */ {(10<<2)|2,{105,99,0}}, +/* 12598 */ {(10<<2)|2,{105,99,0}}, +/* 12599 */ {(10<<2)|2,{105,99,0}}, +/* 12600 */ {(10<<2)|2,{105,99,0}}, +/* 12601 */ {(10<<2)|2,{105,99,0}}, +/* 12602 */ {(10<<2)|2,{105,99,0}}, +/* 12603 */ {(10<<2)|2,{105,99,0}}, +/* 12604 */ {(10<<2)|2,{105,99,0}}, +/* 12605 */ {(10<<2)|2,{105,99,0}}, +/* 12606 */ {(10<<2)|2,{105,99,0}}, +/* 12607 */ {(10<<2)|2,{105,99,0}}, +/* 12608 */ {(15<<2)|3,{105,101,48}}, +/* 12609 */ {(15<<2)|3,{105,101,48}}, +/* 12610 */ {(15<<2)|3,{105,101,49}}, +/* 12611 */ {(15<<2)|3,{105,101,49}}, +/* 12612 */ {(15<<2)|3,{105,101,50}}, +/* 12613 */ {(15<<2)|3,{105,101,50}}, +/* 12614 */ {(15<<2)|3,{105,101,97}}, +/* 12615 */ {(15<<2)|3,{105,101,97}}, +/* 12616 */ {(15<<2)|3,{105,101,99}}, +/* 12617 */ {(15<<2)|3,{105,101,99}}, +/* 12618 */ {(15<<2)|3,{105,101,101}}, +/* 12619 */ {(15<<2)|3,{105,101,101}}, +/* 12620 */ {(15<<2)|3,{105,101,105}}, +/* 12621 */ {(15<<2)|3,{105,101,105}}, +/* 12622 */ {(15<<2)|3,{105,101,111}}, +/* 12623 */ {(15<<2)|3,{105,101,111}}, +/* 12624 */ {(15<<2)|3,{105,101,115}}, +/* 12625 */ {(15<<2)|3,{105,101,115}}, +/* 12626 */ {(15<<2)|3,{105,101,116}}, +/* 12627 */ {(15<<2)|3,{105,101,116}}, +/* 12628 */ {(16<<2)|3,{105,101,32}}, +/* 12629 */ {(16<<2)|3,{105,101,37}}, +/* 12630 */ {(16<<2)|3,{105,101,45}}, +/* 12631 */ {(16<<2)|3,{105,101,46}}, +/* 12632 */ {(16<<2)|3,{105,101,47}}, +/* 12633 */ {(16<<2)|3,{105,101,51}}, +/* 12634 */ {(16<<2)|3,{105,101,52}}, +/* 12635 */ {(16<<2)|3,{105,101,53}}, +/* 12636 */ {(16<<2)|3,{105,101,54}}, +/* 12637 */ {(16<<2)|3,{105,101,55}}, +/* 12638 */ {(16<<2)|3,{105,101,56}}, +/* 12639 */ {(16<<2)|3,{105,101,57}}, +/* 12640 */ {(16<<2)|3,{105,101,61}}, +/* 12641 */ {(16<<2)|3,{105,101,65}}, +/* 12642 */ {(16<<2)|3,{105,101,95}}, +/* 12643 */ {(16<<2)|3,{105,101,98}}, +/* 12644 */ {(16<<2)|3,{105,101,100}}, +/* 12645 */ {(16<<2)|3,{105,101,102}}, +/* 12646 */ {(16<<2)|3,{105,101,103}}, +/* 12647 */ {(16<<2)|3,{105,101,104}}, +/* 12648 */ {(16<<2)|3,{105,101,108}}, +/* 12649 */ {(16<<2)|3,{105,101,109}}, +/* 12650 */ {(16<<2)|3,{105,101,110}}, +/* 12651 */ {(16<<2)|3,{105,101,112}}, +/* 12652 */ {(16<<2)|3,{105,101,114}}, +/* 12653 */ {(16<<2)|3,{105,101,117}}, +/* 12654 */ {(10<<2)|2,{105,101,0}}, +/* 12655 */ {(10<<2)|2,{105,101,0}}, +/* 12656 */ {(10<<2)|2,{105,101,0}}, +/* 12657 */ {(10<<2)|2,{105,101,0}}, +/* 12658 */ {(10<<2)|2,{105,101,0}}, +/* 12659 */ {(10<<2)|2,{105,101,0}}, +/* 12660 */ {(10<<2)|2,{105,101,0}}, +/* 12661 */ {(10<<2)|2,{105,101,0}}, +/* 12662 */ {(10<<2)|2,{105,101,0}}, +/* 12663 */ {(10<<2)|2,{105,101,0}}, +/* 12664 */ {(10<<2)|2,{105,101,0}}, +/* 12665 */ {(10<<2)|2,{105,101,0}}, +/* 12666 */ {(10<<2)|2,{105,101,0}}, +/* 12667 */ {(10<<2)|2,{105,101,0}}, +/* 12668 */ {(10<<2)|2,{105,101,0}}, +/* 12669 */ {(10<<2)|2,{105,101,0}}, +/* 12670 */ {(10<<2)|2,{105,101,0}}, +/* 12671 */ {(10<<2)|2,{105,101,0}}, +/* 12672 */ {(15<<2)|3,{105,105,48}}, +/* 12673 */ {(15<<2)|3,{105,105,48}}, +/* 12674 */ {(15<<2)|3,{105,105,49}}, +/* 12675 */ {(15<<2)|3,{105,105,49}}, +/* 12676 */ {(15<<2)|3,{105,105,50}}, +/* 12677 */ {(15<<2)|3,{105,105,50}}, +/* 12678 */ {(15<<2)|3,{105,105,97}}, +/* 12679 */ {(15<<2)|3,{105,105,97}}, +/* 12680 */ {(15<<2)|3,{105,105,99}}, +/* 12681 */ {(15<<2)|3,{105,105,99}}, +/* 12682 */ {(15<<2)|3,{105,105,101}}, +/* 12683 */ {(15<<2)|3,{105,105,101}}, +/* 12684 */ {(15<<2)|3,{105,105,105}}, +/* 12685 */ {(15<<2)|3,{105,105,105}}, +/* 12686 */ {(15<<2)|3,{105,105,111}}, +/* 12687 */ {(15<<2)|3,{105,105,111}}, +/* 12688 */ {(15<<2)|3,{105,105,115}}, +/* 12689 */ {(15<<2)|3,{105,105,115}}, +/* 12690 */ {(15<<2)|3,{105,105,116}}, +/* 12691 */ {(15<<2)|3,{105,105,116}}, +/* 12692 */ {(16<<2)|3,{105,105,32}}, +/* 12693 */ {(16<<2)|3,{105,105,37}}, +/* 12694 */ {(16<<2)|3,{105,105,45}}, +/* 12695 */ {(16<<2)|3,{105,105,46}}, +/* 12696 */ {(16<<2)|3,{105,105,47}}, +/* 12697 */ {(16<<2)|3,{105,105,51}}, +/* 12698 */ {(16<<2)|3,{105,105,52}}, +/* 12699 */ {(16<<2)|3,{105,105,53}}, +/* 12700 */ {(16<<2)|3,{105,105,54}}, +/* 12701 */ {(16<<2)|3,{105,105,55}}, +/* 12702 */ {(16<<2)|3,{105,105,56}}, +/* 12703 */ {(16<<2)|3,{105,105,57}}, +/* 12704 */ {(16<<2)|3,{105,105,61}}, +/* 12705 */ {(16<<2)|3,{105,105,65}}, +/* 12706 */ {(16<<2)|3,{105,105,95}}, +/* 12707 */ {(16<<2)|3,{105,105,98}}, +/* 12708 */ {(16<<2)|3,{105,105,100}}, +/* 12709 */ {(16<<2)|3,{105,105,102}}, +/* 12710 */ {(16<<2)|3,{105,105,103}}, +/* 12711 */ {(16<<2)|3,{105,105,104}}, +/* 12712 */ {(16<<2)|3,{105,105,108}}, +/* 12713 */ {(16<<2)|3,{105,105,109}}, +/* 12714 */ {(16<<2)|3,{105,105,110}}, +/* 12715 */ {(16<<2)|3,{105,105,112}}, +/* 12716 */ {(16<<2)|3,{105,105,114}}, +/* 12717 */ {(16<<2)|3,{105,105,117}}, +/* 12718 */ {(10<<2)|2,{105,105,0}}, +/* 12719 */ {(10<<2)|2,{105,105,0}}, +/* 12720 */ {(10<<2)|2,{105,105,0}}, +/* 12721 */ {(10<<2)|2,{105,105,0}}, +/* 12722 */ {(10<<2)|2,{105,105,0}}, +/* 12723 */ {(10<<2)|2,{105,105,0}}, +/* 12724 */ {(10<<2)|2,{105,105,0}}, +/* 12725 */ {(10<<2)|2,{105,105,0}}, +/* 12726 */ {(10<<2)|2,{105,105,0}}, +/* 12727 */ {(10<<2)|2,{105,105,0}}, +/* 12728 */ {(10<<2)|2,{105,105,0}}, +/* 12729 */ {(10<<2)|2,{105,105,0}}, +/* 12730 */ {(10<<2)|2,{105,105,0}}, +/* 12731 */ {(10<<2)|2,{105,105,0}}, +/* 12732 */ {(10<<2)|2,{105,105,0}}, +/* 12733 */ {(10<<2)|2,{105,105,0}}, +/* 12734 */ {(10<<2)|2,{105,105,0}}, +/* 12735 */ {(10<<2)|2,{105,105,0}}, +/* 12736 */ {(15<<2)|3,{105,111,48}}, +/* 12737 */ {(15<<2)|3,{105,111,48}}, +/* 12738 */ {(15<<2)|3,{105,111,49}}, +/* 12739 */ {(15<<2)|3,{105,111,49}}, +/* 12740 */ {(15<<2)|3,{105,111,50}}, +/* 12741 */ {(15<<2)|3,{105,111,50}}, +/* 12742 */ {(15<<2)|3,{105,111,97}}, +/* 12743 */ {(15<<2)|3,{105,111,97}}, +/* 12744 */ {(15<<2)|3,{105,111,99}}, +/* 12745 */ {(15<<2)|3,{105,111,99}}, +/* 12746 */ {(15<<2)|3,{105,111,101}}, +/* 12747 */ {(15<<2)|3,{105,111,101}}, +/* 12748 */ {(15<<2)|3,{105,111,105}}, +/* 12749 */ {(15<<2)|3,{105,111,105}}, +/* 12750 */ {(15<<2)|3,{105,111,111}}, +/* 12751 */ {(15<<2)|3,{105,111,111}}, +/* 12752 */ {(15<<2)|3,{105,111,115}}, +/* 12753 */ {(15<<2)|3,{105,111,115}}, +/* 12754 */ {(15<<2)|3,{105,111,116}}, +/* 12755 */ {(15<<2)|3,{105,111,116}}, +/* 12756 */ {(16<<2)|3,{105,111,32}}, +/* 12757 */ {(16<<2)|3,{105,111,37}}, +/* 12758 */ {(16<<2)|3,{105,111,45}}, +/* 12759 */ {(16<<2)|3,{105,111,46}}, +/* 12760 */ {(16<<2)|3,{105,111,47}}, +/* 12761 */ {(16<<2)|3,{105,111,51}}, +/* 12762 */ {(16<<2)|3,{105,111,52}}, +/* 12763 */ {(16<<2)|3,{105,111,53}}, +/* 12764 */ {(16<<2)|3,{105,111,54}}, +/* 12765 */ {(16<<2)|3,{105,111,55}}, +/* 12766 */ {(16<<2)|3,{105,111,56}}, +/* 12767 */ {(16<<2)|3,{105,111,57}}, +/* 12768 */ {(16<<2)|3,{105,111,61}}, +/* 12769 */ {(16<<2)|3,{105,111,65}}, +/* 12770 */ {(16<<2)|3,{105,111,95}}, +/* 12771 */ {(16<<2)|3,{105,111,98}}, +/* 12772 */ {(16<<2)|3,{105,111,100}}, +/* 12773 */ {(16<<2)|3,{105,111,102}}, +/* 12774 */ {(16<<2)|3,{105,111,103}}, +/* 12775 */ {(16<<2)|3,{105,111,104}}, +/* 12776 */ {(16<<2)|3,{105,111,108}}, +/* 12777 */ {(16<<2)|3,{105,111,109}}, +/* 12778 */ {(16<<2)|3,{105,111,110}}, +/* 12779 */ {(16<<2)|3,{105,111,112}}, +/* 12780 */ {(16<<2)|3,{105,111,114}}, +/* 12781 */ {(16<<2)|3,{105,111,117}}, +/* 12782 */ {(10<<2)|2,{105,111,0}}, +/* 12783 */ {(10<<2)|2,{105,111,0}}, +/* 12784 */ {(10<<2)|2,{105,111,0}}, +/* 12785 */ {(10<<2)|2,{105,111,0}}, +/* 12786 */ {(10<<2)|2,{105,111,0}}, +/* 12787 */ {(10<<2)|2,{105,111,0}}, +/* 12788 */ {(10<<2)|2,{105,111,0}}, +/* 12789 */ {(10<<2)|2,{105,111,0}}, +/* 12790 */ {(10<<2)|2,{105,111,0}}, +/* 12791 */ {(10<<2)|2,{105,111,0}}, +/* 12792 */ {(10<<2)|2,{105,111,0}}, +/* 12793 */ {(10<<2)|2,{105,111,0}}, +/* 12794 */ {(10<<2)|2,{105,111,0}}, +/* 12795 */ {(10<<2)|2,{105,111,0}}, +/* 12796 */ {(10<<2)|2,{105,111,0}}, +/* 12797 */ {(10<<2)|2,{105,111,0}}, +/* 12798 */ {(10<<2)|2,{105,111,0}}, +/* 12799 */ {(10<<2)|2,{105,111,0}}, +/* 12800 */ {(15<<2)|3,{105,115,48}}, +/* 12801 */ {(15<<2)|3,{105,115,48}}, +/* 12802 */ {(15<<2)|3,{105,115,49}}, +/* 12803 */ {(15<<2)|3,{105,115,49}}, +/* 12804 */ {(15<<2)|3,{105,115,50}}, +/* 12805 */ {(15<<2)|3,{105,115,50}}, +/* 12806 */ {(15<<2)|3,{105,115,97}}, +/* 12807 */ {(15<<2)|3,{105,115,97}}, +/* 12808 */ {(15<<2)|3,{105,115,99}}, +/* 12809 */ {(15<<2)|3,{105,115,99}}, +/* 12810 */ {(15<<2)|3,{105,115,101}}, +/* 12811 */ {(15<<2)|3,{105,115,101}}, +/* 12812 */ {(15<<2)|3,{105,115,105}}, +/* 12813 */ {(15<<2)|3,{105,115,105}}, +/* 12814 */ {(15<<2)|3,{105,115,111}}, +/* 12815 */ {(15<<2)|3,{105,115,111}}, +/* 12816 */ {(15<<2)|3,{105,115,115}}, +/* 12817 */ {(15<<2)|3,{105,115,115}}, +/* 12818 */ {(15<<2)|3,{105,115,116}}, +/* 12819 */ {(15<<2)|3,{105,115,116}}, +/* 12820 */ {(16<<2)|3,{105,115,32}}, +/* 12821 */ {(16<<2)|3,{105,115,37}}, +/* 12822 */ {(16<<2)|3,{105,115,45}}, +/* 12823 */ {(16<<2)|3,{105,115,46}}, +/* 12824 */ {(16<<2)|3,{105,115,47}}, +/* 12825 */ {(16<<2)|3,{105,115,51}}, +/* 12826 */ {(16<<2)|3,{105,115,52}}, +/* 12827 */ {(16<<2)|3,{105,115,53}}, +/* 12828 */ {(16<<2)|3,{105,115,54}}, +/* 12829 */ {(16<<2)|3,{105,115,55}}, +/* 12830 */ {(16<<2)|3,{105,115,56}}, +/* 12831 */ {(16<<2)|3,{105,115,57}}, +/* 12832 */ {(16<<2)|3,{105,115,61}}, +/* 12833 */ {(16<<2)|3,{105,115,65}}, +/* 12834 */ {(16<<2)|3,{105,115,95}}, +/* 12835 */ {(16<<2)|3,{105,115,98}}, +/* 12836 */ {(16<<2)|3,{105,115,100}}, +/* 12837 */ {(16<<2)|3,{105,115,102}}, +/* 12838 */ {(16<<2)|3,{105,115,103}}, +/* 12839 */ {(16<<2)|3,{105,115,104}}, +/* 12840 */ {(16<<2)|3,{105,115,108}}, +/* 12841 */ {(16<<2)|3,{105,115,109}}, +/* 12842 */ {(16<<2)|3,{105,115,110}}, +/* 12843 */ {(16<<2)|3,{105,115,112}}, +/* 12844 */ {(16<<2)|3,{105,115,114}}, +/* 12845 */ {(16<<2)|3,{105,115,117}}, +/* 12846 */ {(10<<2)|2,{105,115,0}}, +/* 12847 */ {(10<<2)|2,{105,115,0}}, +/* 12848 */ {(10<<2)|2,{105,115,0}}, +/* 12849 */ {(10<<2)|2,{105,115,0}}, +/* 12850 */ {(10<<2)|2,{105,115,0}}, +/* 12851 */ {(10<<2)|2,{105,115,0}}, +/* 12852 */ {(10<<2)|2,{105,115,0}}, +/* 12853 */ {(10<<2)|2,{105,115,0}}, +/* 12854 */ {(10<<2)|2,{105,115,0}}, +/* 12855 */ {(10<<2)|2,{105,115,0}}, +/* 12856 */ {(10<<2)|2,{105,115,0}}, +/* 12857 */ {(10<<2)|2,{105,115,0}}, +/* 12858 */ {(10<<2)|2,{105,115,0}}, +/* 12859 */ {(10<<2)|2,{105,115,0}}, +/* 12860 */ {(10<<2)|2,{105,115,0}}, +/* 12861 */ {(10<<2)|2,{105,115,0}}, +/* 12862 */ {(10<<2)|2,{105,115,0}}, +/* 12863 */ {(10<<2)|2,{105,115,0}}, +/* 12864 */ {(15<<2)|3,{105,116,48}}, +/* 12865 */ {(15<<2)|3,{105,116,48}}, +/* 12866 */ {(15<<2)|3,{105,116,49}}, +/* 12867 */ {(15<<2)|3,{105,116,49}}, +/* 12868 */ {(15<<2)|3,{105,116,50}}, +/* 12869 */ {(15<<2)|3,{105,116,50}}, +/* 12870 */ {(15<<2)|3,{105,116,97}}, +/* 12871 */ {(15<<2)|3,{105,116,97}}, +/* 12872 */ {(15<<2)|3,{105,116,99}}, +/* 12873 */ {(15<<2)|3,{105,116,99}}, +/* 12874 */ {(15<<2)|3,{105,116,101}}, +/* 12875 */ {(15<<2)|3,{105,116,101}}, +/* 12876 */ {(15<<2)|3,{105,116,105}}, +/* 12877 */ {(15<<2)|3,{105,116,105}}, +/* 12878 */ {(15<<2)|3,{105,116,111}}, +/* 12879 */ {(15<<2)|3,{105,116,111}}, +/* 12880 */ {(15<<2)|3,{105,116,115}}, +/* 12881 */ {(15<<2)|3,{105,116,115}}, +/* 12882 */ {(15<<2)|3,{105,116,116}}, +/* 12883 */ {(15<<2)|3,{105,116,116}}, +/* 12884 */ {(16<<2)|3,{105,116,32}}, +/* 12885 */ {(16<<2)|3,{105,116,37}}, +/* 12886 */ {(16<<2)|3,{105,116,45}}, +/* 12887 */ {(16<<2)|3,{105,116,46}}, +/* 12888 */ {(16<<2)|3,{105,116,47}}, +/* 12889 */ {(16<<2)|3,{105,116,51}}, +/* 12890 */ {(16<<2)|3,{105,116,52}}, +/* 12891 */ {(16<<2)|3,{105,116,53}}, +/* 12892 */ {(16<<2)|3,{105,116,54}}, +/* 12893 */ {(16<<2)|3,{105,116,55}}, +/* 12894 */ {(16<<2)|3,{105,116,56}}, +/* 12895 */ {(16<<2)|3,{105,116,57}}, +/* 12896 */ {(16<<2)|3,{105,116,61}}, +/* 12897 */ {(16<<2)|3,{105,116,65}}, +/* 12898 */ {(16<<2)|3,{105,116,95}}, +/* 12899 */ {(16<<2)|3,{105,116,98}}, +/* 12900 */ {(16<<2)|3,{105,116,100}}, +/* 12901 */ {(16<<2)|3,{105,116,102}}, +/* 12902 */ {(16<<2)|3,{105,116,103}}, +/* 12903 */ {(16<<2)|3,{105,116,104}}, +/* 12904 */ {(16<<2)|3,{105,116,108}}, +/* 12905 */ {(16<<2)|3,{105,116,109}}, +/* 12906 */ {(16<<2)|3,{105,116,110}}, +/* 12907 */ {(16<<2)|3,{105,116,112}}, +/* 12908 */ {(16<<2)|3,{105,116,114}}, +/* 12909 */ {(16<<2)|3,{105,116,117}}, +/* 12910 */ {(10<<2)|2,{105,116,0}}, +/* 12911 */ {(10<<2)|2,{105,116,0}}, +/* 12912 */ {(10<<2)|2,{105,116,0}}, +/* 12913 */ {(10<<2)|2,{105,116,0}}, +/* 12914 */ {(10<<2)|2,{105,116,0}}, +/* 12915 */ {(10<<2)|2,{105,116,0}}, +/* 12916 */ {(10<<2)|2,{105,116,0}}, +/* 12917 */ {(10<<2)|2,{105,116,0}}, +/* 12918 */ {(10<<2)|2,{105,116,0}}, +/* 12919 */ {(10<<2)|2,{105,116,0}}, +/* 12920 */ {(10<<2)|2,{105,116,0}}, +/* 12921 */ {(10<<2)|2,{105,116,0}}, +/* 12922 */ {(10<<2)|2,{105,116,0}}, +/* 12923 */ {(10<<2)|2,{105,116,0}}, +/* 12924 */ {(10<<2)|2,{105,116,0}}, +/* 12925 */ {(10<<2)|2,{105,116,0}}, +/* 12926 */ {(10<<2)|2,{105,116,0}}, +/* 12927 */ {(10<<2)|2,{105,116,0}}, +/* 12928 */ {(16<<2)|3,{105,32,48}}, +/* 12929 */ {(16<<2)|3,{105,32,49}}, +/* 12930 */ {(16<<2)|3,{105,32,50}}, +/* 12931 */ {(16<<2)|3,{105,32,97}}, +/* 12932 */ {(16<<2)|3,{105,32,99}}, +/* 12933 */ {(16<<2)|3,{105,32,101}}, +/* 12934 */ {(16<<2)|3,{105,32,105}}, +/* 12935 */ {(16<<2)|3,{105,32,111}}, +/* 12936 */ {(16<<2)|3,{105,32,115}}, +/* 12937 */ {(16<<2)|3,{105,32,116}}, +/* 12938 */ {(11<<2)|2,{105,32,0}}, +/* 12939 */ {(11<<2)|2,{105,32,0}}, +/* 12940 */ {(11<<2)|2,{105,32,0}}, +/* 12941 */ {(11<<2)|2,{105,32,0}}, +/* 12942 */ {(11<<2)|2,{105,32,0}}, +/* 12943 */ {(11<<2)|2,{105,32,0}}, +/* 12944 */ {(11<<2)|2,{105,32,0}}, +/* 12945 */ {(11<<2)|2,{105,32,0}}, +/* 12946 */ {(11<<2)|2,{105,32,0}}, +/* 12947 */ {(11<<2)|2,{105,32,0}}, +/* 12948 */ {(11<<2)|2,{105,32,0}}, +/* 12949 */ {(11<<2)|2,{105,32,0}}, +/* 12950 */ {(11<<2)|2,{105,32,0}}, +/* 12951 */ {(11<<2)|2,{105,32,0}}, +/* 12952 */ {(11<<2)|2,{105,32,0}}, +/* 12953 */ {(11<<2)|2,{105,32,0}}, +/* 12954 */ {(11<<2)|2,{105,32,0}}, +/* 12955 */ {(11<<2)|2,{105,32,0}}, +/* 12956 */ {(11<<2)|2,{105,32,0}}, +/* 12957 */ {(11<<2)|2,{105,32,0}}, +/* 12958 */ {(11<<2)|2,{105,32,0}}, +/* 12959 */ {(11<<2)|2,{105,32,0}}, +/* 12960 */ {(16<<2)|3,{105,37,48}}, +/* 12961 */ {(16<<2)|3,{105,37,49}}, +/* 12962 */ {(16<<2)|3,{105,37,50}}, +/* 12963 */ {(16<<2)|3,{105,37,97}}, +/* 12964 */ {(16<<2)|3,{105,37,99}}, +/* 12965 */ {(16<<2)|3,{105,37,101}}, +/* 12966 */ {(16<<2)|3,{105,37,105}}, +/* 12967 */ {(16<<2)|3,{105,37,111}}, +/* 12968 */ {(16<<2)|3,{105,37,115}}, +/* 12969 */ {(16<<2)|3,{105,37,116}}, +/* 12970 */ {(11<<2)|2,{105,37,0}}, +/* 12971 */ {(11<<2)|2,{105,37,0}}, +/* 12972 */ {(11<<2)|2,{105,37,0}}, +/* 12973 */ {(11<<2)|2,{105,37,0}}, +/* 12974 */ {(11<<2)|2,{105,37,0}}, +/* 12975 */ {(11<<2)|2,{105,37,0}}, +/* 12976 */ {(11<<2)|2,{105,37,0}}, +/* 12977 */ {(11<<2)|2,{105,37,0}}, +/* 12978 */ {(11<<2)|2,{105,37,0}}, +/* 12979 */ {(11<<2)|2,{105,37,0}}, +/* 12980 */ {(11<<2)|2,{105,37,0}}, +/* 12981 */ {(11<<2)|2,{105,37,0}}, +/* 12982 */ {(11<<2)|2,{105,37,0}}, +/* 12983 */ {(11<<2)|2,{105,37,0}}, +/* 12984 */ {(11<<2)|2,{105,37,0}}, +/* 12985 */ {(11<<2)|2,{105,37,0}}, +/* 12986 */ {(11<<2)|2,{105,37,0}}, +/* 12987 */ {(11<<2)|2,{105,37,0}}, +/* 12988 */ {(11<<2)|2,{105,37,0}}, +/* 12989 */ {(11<<2)|2,{105,37,0}}, +/* 12990 */ {(11<<2)|2,{105,37,0}}, +/* 12991 */ {(11<<2)|2,{105,37,0}}, +/* 12992 */ {(16<<2)|3,{105,45,48}}, +/* 12993 */ {(16<<2)|3,{105,45,49}}, +/* 12994 */ {(16<<2)|3,{105,45,50}}, +/* 12995 */ {(16<<2)|3,{105,45,97}}, +/* 12996 */ {(16<<2)|3,{105,45,99}}, +/* 12997 */ {(16<<2)|3,{105,45,101}}, +/* 12998 */ {(16<<2)|3,{105,45,105}}, +/* 12999 */ {(16<<2)|3,{105,45,111}}, +/* 13000 */ {(16<<2)|3,{105,45,115}}, +/* 13001 */ {(16<<2)|3,{105,45,116}}, +/* 13002 */ {(11<<2)|2,{105,45,0}}, +/* 13003 */ {(11<<2)|2,{105,45,0}}, +/* 13004 */ {(11<<2)|2,{105,45,0}}, +/* 13005 */ {(11<<2)|2,{105,45,0}}, +/* 13006 */ {(11<<2)|2,{105,45,0}}, +/* 13007 */ {(11<<2)|2,{105,45,0}}, +/* 13008 */ {(11<<2)|2,{105,45,0}}, +/* 13009 */ {(11<<2)|2,{105,45,0}}, +/* 13010 */ {(11<<2)|2,{105,45,0}}, +/* 13011 */ {(11<<2)|2,{105,45,0}}, +/* 13012 */ {(11<<2)|2,{105,45,0}}, +/* 13013 */ {(11<<2)|2,{105,45,0}}, +/* 13014 */ {(11<<2)|2,{105,45,0}}, +/* 13015 */ {(11<<2)|2,{105,45,0}}, +/* 13016 */ {(11<<2)|2,{105,45,0}}, +/* 13017 */ {(11<<2)|2,{105,45,0}}, +/* 13018 */ {(11<<2)|2,{105,45,0}}, +/* 13019 */ {(11<<2)|2,{105,45,0}}, +/* 13020 */ {(11<<2)|2,{105,45,0}}, +/* 13021 */ {(11<<2)|2,{105,45,0}}, +/* 13022 */ {(11<<2)|2,{105,45,0}}, +/* 13023 */ {(11<<2)|2,{105,45,0}}, +/* 13024 */ {(16<<2)|3,{105,46,48}}, +/* 13025 */ {(16<<2)|3,{105,46,49}}, +/* 13026 */ {(16<<2)|3,{105,46,50}}, +/* 13027 */ {(16<<2)|3,{105,46,97}}, +/* 13028 */ {(16<<2)|3,{105,46,99}}, +/* 13029 */ {(16<<2)|3,{105,46,101}}, +/* 13030 */ {(16<<2)|3,{105,46,105}}, +/* 13031 */ {(16<<2)|3,{105,46,111}}, +/* 13032 */ {(16<<2)|3,{105,46,115}}, +/* 13033 */ {(16<<2)|3,{105,46,116}}, +/* 13034 */ {(11<<2)|2,{105,46,0}}, +/* 13035 */ {(11<<2)|2,{105,46,0}}, +/* 13036 */ {(11<<2)|2,{105,46,0}}, +/* 13037 */ {(11<<2)|2,{105,46,0}}, +/* 13038 */ {(11<<2)|2,{105,46,0}}, +/* 13039 */ {(11<<2)|2,{105,46,0}}, +/* 13040 */ {(11<<2)|2,{105,46,0}}, +/* 13041 */ {(11<<2)|2,{105,46,0}}, +/* 13042 */ {(11<<2)|2,{105,46,0}}, +/* 13043 */ {(11<<2)|2,{105,46,0}}, +/* 13044 */ {(11<<2)|2,{105,46,0}}, +/* 13045 */ {(11<<2)|2,{105,46,0}}, +/* 13046 */ {(11<<2)|2,{105,46,0}}, +/* 13047 */ {(11<<2)|2,{105,46,0}}, +/* 13048 */ {(11<<2)|2,{105,46,0}}, +/* 13049 */ {(11<<2)|2,{105,46,0}}, +/* 13050 */ {(11<<2)|2,{105,46,0}}, +/* 13051 */ {(11<<2)|2,{105,46,0}}, +/* 13052 */ {(11<<2)|2,{105,46,0}}, +/* 13053 */ {(11<<2)|2,{105,46,0}}, +/* 13054 */ {(11<<2)|2,{105,46,0}}, +/* 13055 */ {(11<<2)|2,{105,46,0}}, +/* 13056 */ {(16<<2)|3,{105,47,48}}, +/* 13057 */ {(16<<2)|3,{105,47,49}}, +/* 13058 */ {(16<<2)|3,{105,47,50}}, +/* 13059 */ {(16<<2)|3,{105,47,97}}, +/* 13060 */ {(16<<2)|3,{105,47,99}}, +/* 13061 */ {(16<<2)|3,{105,47,101}}, +/* 13062 */ {(16<<2)|3,{105,47,105}}, +/* 13063 */ {(16<<2)|3,{105,47,111}}, +/* 13064 */ {(16<<2)|3,{105,47,115}}, +/* 13065 */ {(16<<2)|3,{105,47,116}}, +/* 13066 */ {(11<<2)|2,{105,47,0}}, +/* 13067 */ {(11<<2)|2,{105,47,0}}, +/* 13068 */ {(11<<2)|2,{105,47,0}}, +/* 13069 */ {(11<<2)|2,{105,47,0}}, +/* 13070 */ {(11<<2)|2,{105,47,0}}, +/* 13071 */ {(11<<2)|2,{105,47,0}}, +/* 13072 */ {(11<<2)|2,{105,47,0}}, +/* 13073 */ {(11<<2)|2,{105,47,0}}, +/* 13074 */ {(11<<2)|2,{105,47,0}}, +/* 13075 */ {(11<<2)|2,{105,47,0}}, +/* 13076 */ {(11<<2)|2,{105,47,0}}, +/* 13077 */ {(11<<2)|2,{105,47,0}}, +/* 13078 */ {(11<<2)|2,{105,47,0}}, +/* 13079 */ {(11<<2)|2,{105,47,0}}, +/* 13080 */ {(11<<2)|2,{105,47,0}}, +/* 13081 */ {(11<<2)|2,{105,47,0}}, +/* 13082 */ {(11<<2)|2,{105,47,0}}, +/* 13083 */ {(11<<2)|2,{105,47,0}}, +/* 13084 */ {(11<<2)|2,{105,47,0}}, +/* 13085 */ {(11<<2)|2,{105,47,0}}, +/* 13086 */ {(11<<2)|2,{105,47,0}}, +/* 13087 */ {(11<<2)|2,{105,47,0}}, +/* 13088 */ {(16<<2)|3,{105,51,48}}, +/* 13089 */ {(16<<2)|3,{105,51,49}}, +/* 13090 */ {(16<<2)|3,{105,51,50}}, +/* 13091 */ {(16<<2)|3,{105,51,97}}, +/* 13092 */ {(16<<2)|3,{105,51,99}}, +/* 13093 */ {(16<<2)|3,{105,51,101}}, +/* 13094 */ {(16<<2)|3,{105,51,105}}, +/* 13095 */ {(16<<2)|3,{105,51,111}}, +/* 13096 */ {(16<<2)|3,{105,51,115}}, +/* 13097 */ {(16<<2)|3,{105,51,116}}, +/* 13098 */ {(11<<2)|2,{105,51,0}}, +/* 13099 */ {(11<<2)|2,{105,51,0}}, +/* 13100 */ {(11<<2)|2,{105,51,0}}, +/* 13101 */ {(11<<2)|2,{105,51,0}}, +/* 13102 */ {(11<<2)|2,{105,51,0}}, +/* 13103 */ {(11<<2)|2,{105,51,0}}, +/* 13104 */ {(11<<2)|2,{105,51,0}}, +/* 13105 */ {(11<<2)|2,{105,51,0}}, +/* 13106 */ {(11<<2)|2,{105,51,0}}, +/* 13107 */ {(11<<2)|2,{105,51,0}}, +/* 13108 */ {(11<<2)|2,{105,51,0}}, +/* 13109 */ {(11<<2)|2,{105,51,0}}, +/* 13110 */ {(11<<2)|2,{105,51,0}}, +/* 13111 */ {(11<<2)|2,{105,51,0}}, +/* 13112 */ {(11<<2)|2,{105,51,0}}, +/* 13113 */ {(11<<2)|2,{105,51,0}}, +/* 13114 */ {(11<<2)|2,{105,51,0}}, +/* 13115 */ {(11<<2)|2,{105,51,0}}, +/* 13116 */ {(11<<2)|2,{105,51,0}}, +/* 13117 */ {(11<<2)|2,{105,51,0}}, +/* 13118 */ {(11<<2)|2,{105,51,0}}, +/* 13119 */ {(11<<2)|2,{105,51,0}}, +/* 13120 */ {(16<<2)|3,{105,52,48}}, +/* 13121 */ {(16<<2)|3,{105,52,49}}, +/* 13122 */ {(16<<2)|3,{105,52,50}}, +/* 13123 */ {(16<<2)|3,{105,52,97}}, +/* 13124 */ {(16<<2)|3,{105,52,99}}, +/* 13125 */ {(16<<2)|3,{105,52,101}}, +/* 13126 */ {(16<<2)|3,{105,52,105}}, +/* 13127 */ {(16<<2)|3,{105,52,111}}, +/* 13128 */ {(16<<2)|3,{105,52,115}}, +/* 13129 */ {(16<<2)|3,{105,52,116}}, +/* 13130 */ {(11<<2)|2,{105,52,0}}, +/* 13131 */ {(11<<2)|2,{105,52,0}}, +/* 13132 */ {(11<<2)|2,{105,52,0}}, +/* 13133 */ {(11<<2)|2,{105,52,0}}, +/* 13134 */ {(11<<2)|2,{105,52,0}}, +/* 13135 */ {(11<<2)|2,{105,52,0}}, +/* 13136 */ {(11<<2)|2,{105,52,0}}, +/* 13137 */ {(11<<2)|2,{105,52,0}}, +/* 13138 */ {(11<<2)|2,{105,52,0}}, +/* 13139 */ {(11<<2)|2,{105,52,0}}, +/* 13140 */ {(11<<2)|2,{105,52,0}}, +/* 13141 */ {(11<<2)|2,{105,52,0}}, +/* 13142 */ {(11<<2)|2,{105,52,0}}, +/* 13143 */ {(11<<2)|2,{105,52,0}}, +/* 13144 */ {(11<<2)|2,{105,52,0}}, +/* 13145 */ {(11<<2)|2,{105,52,0}}, +/* 13146 */ {(11<<2)|2,{105,52,0}}, +/* 13147 */ {(11<<2)|2,{105,52,0}}, +/* 13148 */ {(11<<2)|2,{105,52,0}}, +/* 13149 */ {(11<<2)|2,{105,52,0}}, +/* 13150 */ {(11<<2)|2,{105,52,0}}, +/* 13151 */ {(11<<2)|2,{105,52,0}}, +/* 13152 */ {(16<<2)|3,{105,53,48}}, +/* 13153 */ {(16<<2)|3,{105,53,49}}, +/* 13154 */ {(16<<2)|3,{105,53,50}}, +/* 13155 */ {(16<<2)|3,{105,53,97}}, +/* 13156 */ {(16<<2)|3,{105,53,99}}, +/* 13157 */ {(16<<2)|3,{105,53,101}}, +/* 13158 */ {(16<<2)|3,{105,53,105}}, +/* 13159 */ {(16<<2)|3,{105,53,111}}, +/* 13160 */ {(16<<2)|3,{105,53,115}}, +/* 13161 */ {(16<<2)|3,{105,53,116}}, +/* 13162 */ {(11<<2)|2,{105,53,0}}, +/* 13163 */ {(11<<2)|2,{105,53,0}}, +/* 13164 */ {(11<<2)|2,{105,53,0}}, +/* 13165 */ {(11<<2)|2,{105,53,0}}, +/* 13166 */ {(11<<2)|2,{105,53,0}}, +/* 13167 */ {(11<<2)|2,{105,53,0}}, +/* 13168 */ {(11<<2)|2,{105,53,0}}, +/* 13169 */ {(11<<2)|2,{105,53,0}}, +/* 13170 */ {(11<<2)|2,{105,53,0}}, +/* 13171 */ {(11<<2)|2,{105,53,0}}, +/* 13172 */ {(11<<2)|2,{105,53,0}}, +/* 13173 */ {(11<<2)|2,{105,53,0}}, +/* 13174 */ {(11<<2)|2,{105,53,0}}, +/* 13175 */ {(11<<2)|2,{105,53,0}}, +/* 13176 */ {(11<<2)|2,{105,53,0}}, +/* 13177 */ {(11<<2)|2,{105,53,0}}, +/* 13178 */ {(11<<2)|2,{105,53,0}}, +/* 13179 */ {(11<<2)|2,{105,53,0}}, +/* 13180 */ {(11<<2)|2,{105,53,0}}, +/* 13181 */ {(11<<2)|2,{105,53,0}}, +/* 13182 */ {(11<<2)|2,{105,53,0}}, +/* 13183 */ {(11<<2)|2,{105,53,0}}, +/* 13184 */ {(16<<2)|3,{105,54,48}}, +/* 13185 */ {(16<<2)|3,{105,54,49}}, +/* 13186 */ {(16<<2)|3,{105,54,50}}, +/* 13187 */ {(16<<2)|3,{105,54,97}}, +/* 13188 */ {(16<<2)|3,{105,54,99}}, +/* 13189 */ {(16<<2)|3,{105,54,101}}, +/* 13190 */ {(16<<2)|3,{105,54,105}}, +/* 13191 */ {(16<<2)|3,{105,54,111}}, +/* 13192 */ {(16<<2)|3,{105,54,115}}, +/* 13193 */ {(16<<2)|3,{105,54,116}}, +/* 13194 */ {(11<<2)|2,{105,54,0}}, +/* 13195 */ {(11<<2)|2,{105,54,0}}, +/* 13196 */ {(11<<2)|2,{105,54,0}}, +/* 13197 */ {(11<<2)|2,{105,54,0}}, +/* 13198 */ {(11<<2)|2,{105,54,0}}, +/* 13199 */ {(11<<2)|2,{105,54,0}}, +/* 13200 */ {(11<<2)|2,{105,54,0}}, +/* 13201 */ {(11<<2)|2,{105,54,0}}, +/* 13202 */ {(11<<2)|2,{105,54,0}}, +/* 13203 */ {(11<<2)|2,{105,54,0}}, +/* 13204 */ {(11<<2)|2,{105,54,0}}, +/* 13205 */ {(11<<2)|2,{105,54,0}}, +/* 13206 */ {(11<<2)|2,{105,54,0}}, +/* 13207 */ {(11<<2)|2,{105,54,0}}, +/* 13208 */ {(11<<2)|2,{105,54,0}}, +/* 13209 */ {(11<<2)|2,{105,54,0}}, +/* 13210 */ {(11<<2)|2,{105,54,0}}, +/* 13211 */ {(11<<2)|2,{105,54,0}}, +/* 13212 */ {(11<<2)|2,{105,54,0}}, +/* 13213 */ {(11<<2)|2,{105,54,0}}, +/* 13214 */ {(11<<2)|2,{105,54,0}}, +/* 13215 */ {(11<<2)|2,{105,54,0}}, +/* 13216 */ {(16<<2)|3,{105,55,48}}, +/* 13217 */ {(16<<2)|3,{105,55,49}}, +/* 13218 */ {(16<<2)|3,{105,55,50}}, +/* 13219 */ {(16<<2)|3,{105,55,97}}, +/* 13220 */ {(16<<2)|3,{105,55,99}}, +/* 13221 */ {(16<<2)|3,{105,55,101}}, +/* 13222 */ {(16<<2)|3,{105,55,105}}, +/* 13223 */ {(16<<2)|3,{105,55,111}}, +/* 13224 */ {(16<<2)|3,{105,55,115}}, +/* 13225 */ {(16<<2)|3,{105,55,116}}, +/* 13226 */ {(11<<2)|2,{105,55,0}}, +/* 13227 */ {(11<<2)|2,{105,55,0}}, +/* 13228 */ {(11<<2)|2,{105,55,0}}, +/* 13229 */ {(11<<2)|2,{105,55,0}}, +/* 13230 */ {(11<<2)|2,{105,55,0}}, +/* 13231 */ {(11<<2)|2,{105,55,0}}, +/* 13232 */ {(11<<2)|2,{105,55,0}}, +/* 13233 */ {(11<<2)|2,{105,55,0}}, +/* 13234 */ {(11<<2)|2,{105,55,0}}, +/* 13235 */ {(11<<2)|2,{105,55,0}}, +/* 13236 */ {(11<<2)|2,{105,55,0}}, +/* 13237 */ {(11<<2)|2,{105,55,0}}, +/* 13238 */ {(11<<2)|2,{105,55,0}}, +/* 13239 */ {(11<<2)|2,{105,55,0}}, +/* 13240 */ {(11<<2)|2,{105,55,0}}, +/* 13241 */ {(11<<2)|2,{105,55,0}}, +/* 13242 */ {(11<<2)|2,{105,55,0}}, +/* 13243 */ {(11<<2)|2,{105,55,0}}, +/* 13244 */ {(11<<2)|2,{105,55,0}}, +/* 13245 */ {(11<<2)|2,{105,55,0}}, +/* 13246 */ {(11<<2)|2,{105,55,0}}, +/* 13247 */ {(11<<2)|2,{105,55,0}}, +/* 13248 */ {(16<<2)|3,{105,56,48}}, +/* 13249 */ {(16<<2)|3,{105,56,49}}, +/* 13250 */ {(16<<2)|3,{105,56,50}}, +/* 13251 */ {(16<<2)|3,{105,56,97}}, +/* 13252 */ {(16<<2)|3,{105,56,99}}, +/* 13253 */ {(16<<2)|3,{105,56,101}}, +/* 13254 */ {(16<<2)|3,{105,56,105}}, +/* 13255 */ {(16<<2)|3,{105,56,111}}, +/* 13256 */ {(16<<2)|3,{105,56,115}}, +/* 13257 */ {(16<<2)|3,{105,56,116}}, +/* 13258 */ {(11<<2)|2,{105,56,0}}, +/* 13259 */ {(11<<2)|2,{105,56,0}}, +/* 13260 */ {(11<<2)|2,{105,56,0}}, +/* 13261 */ {(11<<2)|2,{105,56,0}}, +/* 13262 */ {(11<<2)|2,{105,56,0}}, +/* 13263 */ {(11<<2)|2,{105,56,0}}, +/* 13264 */ {(11<<2)|2,{105,56,0}}, +/* 13265 */ {(11<<2)|2,{105,56,0}}, +/* 13266 */ {(11<<2)|2,{105,56,0}}, +/* 13267 */ {(11<<2)|2,{105,56,0}}, +/* 13268 */ {(11<<2)|2,{105,56,0}}, +/* 13269 */ {(11<<2)|2,{105,56,0}}, +/* 13270 */ {(11<<2)|2,{105,56,0}}, +/* 13271 */ {(11<<2)|2,{105,56,0}}, +/* 13272 */ {(11<<2)|2,{105,56,0}}, +/* 13273 */ {(11<<2)|2,{105,56,0}}, +/* 13274 */ {(11<<2)|2,{105,56,0}}, +/* 13275 */ {(11<<2)|2,{105,56,0}}, +/* 13276 */ {(11<<2)|2,{105,56,0}}, +/* 13277 */ {(11<<2)|2,{105,56,0}}, +/* 13278 */ {(11<<2)|2,{105,56,0}}, +/* 13279 */ {(11<<2)|2,{105,56,0}}, +/* 13280 */ {(16<<2)|3,{105,57,48}}, +/* 13281 */ {(16<<2)|3,{105,57,49}}, +/* 13282 */ {(16<<2)|3,{105,57,50}}, +/* 13283 */ {(16<<2)|3,{105,57,97}}, +/* 13284 */ {(16<<2)|3,{105,57,99}}, +/* 13285 */ {(16<<2)|3,{105,57,101}}, +/* 13286 */ {(16<<2)|3,{105,57,105}}, +/* 13287 */ {(16<<2)|3,{105,57,111}}, +/* 13288 */ {(16<<2)|3,{105,57,115}}, +/* 13289 */ {(16<<2)|3,{105,57,116}}, +/* 13290 */ {(11<<2)|2,{105,57,0}}, +/* 13291 */ {(11<<2)|2,{105,57,0}}, +/* 13292 */ {(11<<2)|2,{105,57,0}}, +/* 13293 */ {(11<<2)|2,{105,57,0}}, +/* 13294 */ {(11<<2)|2,{105,57,0}}, +/* 13295 */ {(11<<2)|2,{105,57,0}}, +/* 13296 */ {(11<<2)|2,{105,57,0}}, +/* 13297 */ {(11<<2)|2,{105,57,0}}, +/* 13298 */ {(11<<2)|2,{105,57,0}}, +/* 13299 */ {(11<<2)|2,{105,57,0}}, +/* 13300 */ {(11<<2)|2,{105,57,0}}, +/* 13301 */ {(11<<2)|2,{105,57,0}}, +/* 13302 */ {(11<<2)|2,{105,57,0}}, +/* 13303 */ {(11<<2)|2,{105,57,0}}, +/* 13304 */ {(11<<2)|2,{105,57,0}}, +/* 13305 */ {(11<<2)|2,{105,57,0}}, +/* 13306 */ {(11<<2)|2,{105,57,0}}, +/* 13307 */ {(11<<2)|2,{105,57,0}}, +/* 13308 */ {(11<<2)|2,{105,57,0}}, +/* 13309 */ {(11<<2)|2,{105,57,0}}, +/* 13310 */ {(11<<2)|2,{105,57,0}}, +/* 13311 */ {(11<<2)|2,{105,57,0}}, +/* 13312 */ {(16<<2)|3,{105,61,48}}, +/* 13313 */ {(16<<2)|3,{105,61,49}}, +/* 13314 */ {(16<<2)|3,{105,61,50}}, +/* 13315 */ {(16<<2)|3,{105,61,97}}, +/* 13316 */ {(16<<2)|3,{105,61,99}}, +/* 13317 */ {(16<<2)|3,{105,61,101}}, +/* 13318 */ {(16<<2)|3,{105,61,105}}, +/* 13319 */ {(16<<2)|3,{105,61,111}}, +/* 13320 */ {(16<<2)|3,{105,61,115}}, +/* 13321 */ {(16<<2)|3,{105,61,116}}, +/* 13322 */ {(11<<2)|2,{105,61,0}}, +/* 13323 */ {(11<<2)|2,{105,61,0}}, +/* 13324 */ {(11<<2)|2,{105,61,0}}, +/* 13325 */ {(11<<2)|2,{105,61,0}}, +/* 13326 */ {(11<<2)|2,{105,61,0}}, +/* 13327 */ {(11<<2)|2,{105,61,0}}, +/* 13328 */ {(11<<2)|2,{105,61,0}}, +/* 13329 */ {(11<<2)|2,{105,61,0}}, +/* 13330 */ {(11<<2)|2,{105,61,0}}, +/* 13331 */ {(11<<2)|2,{105,61,0}}, +/* 13332 */ {(11<<2)|2,{105,61,0}}, +/* 13333 */ {(11<<2)|2,{105,61,0}}, +/* 13334 */ {(11<<2)|2,{105,61,0}}, +/* 13335 */ {(11<<2)|2,{105,61,0}}, +/* 13336 */ {(11<<2)|2,{105,61,0}}, +/* 13337 */ {(11<<2)|2,{105,61,0}}, +/* 13338 */ {(11<<2)|2,{105,61,0}}, +/* 13339 */ {(11<<2)|2,{105,61,0}}, +/* 13340 */ {(11<<2)|2,{105,61,0}}, +/* 13341 */ {(11<<2)|2,{105,61,0}}, +/* 13342 */ {(11<<2)|2,{105,61,0}}, +/* 13343 */ {(11<<2)|2,{105,61,0}}, +/* 13344 */ {(16<<2)|3,{105,65,48}}, +/* 13345 */ {(16<<2)|3,{105,65,49}}, +/* 13346 */ {(16<<2)|3,{105,65,50}}, +/* 13347 */ {(16<<2)|3,{105,65,97}}, +/* 13348 */ {(16<<2)|3,{105,65,99}}, +/* 13349 */ {(16<<2)|3,{105,65,101}}, +/* 13350 */ {(16<<2)|3,{105,65,105}}, +/* 13351 */ {(16<<2)|3,{105,65,111}}, +/* 13352 */ {(16<<2)|3,{105,65,115}}, +/* 13353 */ {(16<<2)|3,{105,65,116}}, +/* 13354 */ {(11<<2)|2,{105,65,0}}, +/* 13355 */ {(11<<2)|2,{105,65,0}}, +/* 13356 */ {(11<<2)|2,{105,65,0}}, +/* 13357 */ {(11<<2)|2,{105,65,0}}, +/* 13358 */ {(11<<2)|2,{105,65,0}}, +/* 13359 */ {(11<<2)|2,{105,65,0}}, +/* 13360 */ {(11<<2)|2,{105,65,0}}, +/* 13361 */ {(11<<2)|2,{105,65,0}}, +/* 13362 */ {(11<<2)|2,{105,65,0}}, +/* 13363 */ {(11<<2)|2,{105,65,0}}, +/* 13364 */ {(11<<2)|2,{105,65,0}}, +/* 13365 */ {(11<<2)|2,{105,65,0}}, +/* 13366 */ {(11<<2)|2,{105,65,0}}, +/* 13367 */ {(11<<2)|2,{105,65,0}}, +/* 13368 */ {(11<<2)|2,{105,65,0}}, +/* 13369 */ {(11<<2)|2,{105,65,0}}, +/* 13370 */ {(11<<2)|2,{105,65,0}}, +/* 13371 */ {(11<<2)|2,{105,65,0}}, +/* 13372 */ {(11<<2)|2,{105,65,0}}, +/* 13373 */ {(11<<2)|2,{105,65,0}}, +/* 13374 */ {(11<<2)|2,{105,65,0}}, +/* 13375 */ {(11<<2)|2,{105,65,0}}, +/* 13376 */ {(16<<2)|3,{105,95,48}}, +/* 13377 */ {(16<<2)|3,{105,95,49}}, +/* 13378 */ {(16<<2)|3,{105,95,50}}, +/* 13379 */ {(16<<2)|3,{105,95,97}}, +/* 13380 */ {(16<<2)|3,{105,95,99}}, +/* 13381 */ {(16<<2)|3,{105,95,101}}, +/* 13382 */ {(16<<2)|3,{105,95,105}}, +/* 13383 */ {(16<<2)|3,{105,95,111}}, +/* 13384 */ {(16<<2)|3,{105,95,115}}, +/* 13385 */ {(16<<2)|3,{105,95,116}}, +/* 13386 */ {(11<<2)|2,{105,95,0}}, +/* 13387 */ {(11<<2)|2,{105,95,0}}, +/* 13388 */ {(11<<2)|2,{105,95,0}}, +/* 13389 */ {(11<<2)|2,{105,95,0}}, +/* 13390 */ {(11<<2)|2,{105,95,0}}, +/* 13391 */ {(11<<2)|2,{105,95,0}}, +/* 13392 */ {(11<<2)|2,{105,95,0}}, +/* 13393 */ {(11<<2)|2,{105,95,0}}, +/* 13394 */ {(11<<2)|2,{105,95,0}}, +/* 13395 */ {(11<<2)|2,{105,95,0}}, +/* 13396 */ {(11<<2)|2,{105,95,0}}, +/* 13397 */ {(11<<2)|2,{105,95,0}}, +/* 13398 */ {(11<<2)|2,{105,95,0}}, +/* 13399 */ {(11<<2)|2,{105,95,0}}, +/* 13400 */ {(11<<2)|2,{105,95,0}}, +/* 13401 */ {(11<<2)|2,{105,95,0}}, +/* 13402 */ {(11<<2)|2,{105,95,0}}, +/* 13403 */ {(11<<2)|2,{105,95,0}}, +/* 13404 */ {(11<<2)|2,{105,95,0}}, +/* 13405 */ {(11<<2)|2,{105,95,0}}, +/* 13406 */ {(11<<2)|2,{105,95,0}}, +/* 13407 */ {(11<<2)|2,{105,95,0}}, +/* 13408 */ {(16<<2)|3,{105,98,48}}, +/* 13409 */ {(16<<2)|3,{105,98,49}}, +/* 13410 */ {(16<<2)|3,{105,98,50}}, +/* 13411 */ {(16<<2)|3,{105,98,97}}, +/* 13412 */ {(16<<2)|3,{105,98,99}}, +/* 13413 */ {(16<<2)|3,{105,98,101}}, +/* 13414 */ {(16<<2)|3,{105,98,105}}, +/* 13415 */ {(16<<2)|3,{105,98,111}}, +/* 13416 */ {(16<<2)|3,{105,98,115}}, +/* 13417 */ {(16<<2)|3,{105,98,116}}, +/* 13418 */ {(11<<2)|2,{105,98,0}}, +/* 13419 */ {(11<<2)|2,{105,98,0}}, +/* 13420 */ {(11<<2)|2,{105,98,0}}, +/* 13421 */ {(11<<2)|2,{105,98,0}}, +/* 13422 */ {(11<<2)|2,{105,98,0}}, +/* 13423 */ {(11<<2)|2,{105,98,0}}, +/* 13424 */ {(11<<2)|2,{105,98,0}}, +/* 13425 */ {(11<<2)|2,{105,98,0}}, +/* 13426 */ {(11<<2)|2,{105,98,0}}, +/* 13427 */ {(11<<2)|2,{105,98,0}}, +/* 13428 */ {(11<<2)|2,{105,98,0}}, +/* 13429 */ {(11<<2)|2,{105,98,0}}, +/* 13430 */ {(11<<2)|2,{105,98,0}}, +/* 13431 */ {(11<<2)|2,{105,98,0}}, +/* 13432 */ {(11<<2)|2,{105,98,0}}, +/* 13433 */ {(11<<2)|2,{105,98,0}}, +/* 13434 */ {(11<<2)|2,{105,98,0}}, +/* 13435 */ {(11<<2)|2,{105,98,0}}, +/* 13436 */ {(11<<2)|2,{105,98,0}}, +/* 13437 */ {(11<<2)|2,{105,98,0}}, +/* 13438 */ {(11<<2)|2,{105,98,0}}, +/* 13439 */ {(11<<2)|2,{105,98,0}}, +/* 13440 */ {(16<<2)|3,{105,100,48}}, +/* 13441 */ {(16<<2)|3,{105,100,49}}, +/* 13442 */ {(16<<2)|3,{105,100,50}}, +/* 13443 */ {(16<<2)|3,{105,100,97}}, +/* 13444 */ {(16<<2)|3,{105,100,99}}, +/* 13445 */ {(16<<2)|3,{105,100,101}}, +/* 13446 */ {(16<<2)|3,{105,100,105}}, +/* 13447 */ {(16<<2)|3,{105,100,111}}, +/* 13448 */ {(16<<2)|3,{105,100,115}}, +/* 13449 */ {(16<<2)|3,{105,100,116}}, +/* 13450 */ {(11<<2)|2,{105,100,0}}, +/* 13451 */ {(11<<2)|2,{105,100,0}}, +/* 13452 */ {(11<<2)|2,{105,100,0}}, +/* 13453 */ {(11<<2)|2,{105,100,0}}, +/* 13454 */ {(11<<2)|2,{105,100,0}}, +/* 13455 */ {(11<<2)|2,{105,100,0}}, +/* 13456 */ {(11<<2)|2,{105,100,0}}, +/* 13457 */ {(11<<2)|2,{105,100,0}}, +/* 13458 */ {(11<<2)|2,{105,100,0}}, +/* 13459 */ {(11<<2)|2,{105,100,0}}, +/* 13460 */ {(11<<2)|2,{105,100,0}}, +/* 13461 */ {(11<<2)|2,{105,100,0}}, +/* 13462 */ {(11<<2)|2,{105,100,0}}, +/* 13463 */ {(11<<2)|2,{105,100,0}}, +/* 13464 */ {(11<<2)|2,{105,100,0}}, +/* 13465 */ {(11<<2)|2,{105,100,0}}, +/* 13466 */ {(11<<2)|2,{105,100,0}}, +/* 13467 */ {(11<<2)|2,{105,100,0}}, +/* 13468 */ {(11<<2)|2,{105,100,0}}, +/* 13469 */ {(11<<2)|2,{105,100,0}}, +/* 13470 */ {(11<<2)|2,{105,100,0}}, +/* 13471 */ {(11<<2)|2,{105,100,0}}, +/* 13472 */ {(16<<2)|3,{105,102,48}}, +/* 13473 */ {(16<<2)|3,{105,102,49}}, +/* 13474 */ {(16<<2)|3,{105,102,50}}, +/* 13475 */ {(16<<2)|3,{105,102,97}}, +/* 13476 */ {(16<<2)|3,{105,102,99}}, +/* 13477 */ {(16<<2)|3,{105,102,101}}, +/* 13478 */ {(16<<2)|3,{105,102,105}}, +/* 13479 */ {(16<<2)|3,{105,102,111}}, +/* 13480 */ {(16<<2)|3,{105,102,115}}, +/* 13481 */ {(16<<2)|3,{105,102,116}}, +/* 13482 */ {(11<<2)|2,{105,102,0}}, +/* 13483 */ {(11<<2)|2,{105,102,0}}, +/* 13484 */ {(11<<2)|2,{105,102,0}}, +/* 13485 */ {(11<<2)|2,{105,102,0}}, +/* 13486 */ {(11<<2)|2,{105,102,0}}, +/* 13487 */ {(11<<2)|2,{105,102,0}}, +/* 13488 */ {(11<<2)|2,{105,102,0}}, +/* 13489 */ {(11<<2)|2,{105,102,0}}, +/* 13490 */ {(11<<2)|2,{105,102,0}}, +/* 13491 */ {(11<<2)|2,{105,102,0}}, +/* 13492 */ {(11<<2)|2,{105,102,0}}, +/* 13493 */ {(11<<2)|2,{105,102,0}}, +/* 13494 */ {(11<<2)|2,{105,102,0}}, +/* 13495 */ {(11<<2)|2,{105,102,0}}, +/* 13496 */ {(11<<2)|2,{105,102,0}}, +/* 13497 */ {(11<<2)|2,{105,102,0}}, +/* 13498 */ {(11<<2)|2,{105,102,0}}, +/* 13499 */ {(11<<2)|2,{105,102,0}}, +/* 13500 */ {(11<<2)|2,{105,102,0}}, +/* 13501 */ {(11<<2)|2,{105,102,0}}, +/* 13502 */ {(11<<2)|2,{105,102,0}}, +/* 13503 */ {(11<<2)|2,{105,102,0}}, +/* 13504 */ {(16<<2)|3,{105,103,48}}, +/* 13505 */ {(16<<2)|3,{105,103,49}}, +/* 13506 */ {(16<<2)|3,{105,103,50}}, +/* 13507 */ {(16<<2)|3,{105,103,97}}, +/* 13508 */ {(16<<2)|3,{105,103,99}}, +/* 13509 */ {(16<<2)|3,{105,103,101}}, +/* 13510 */ {(16<<2)|3,{105,103,105}}, +/* 13511 */ {(16<<2)|3,{105,103,111}}, +/* 13512 */ {(16<<2)|3,{105,103,115}}, +/* 13513 */ {(16<<2)|3,{105,103,116}}, +/* 13514 */ {(11<<2)|2,{105,103,0}}, +/* 13515 */ {(11<<2)|2,{105,103,0}}, +/* 13516 */ {(11<<2)|2,{105,103,0}}, +/* 13517 */ {(11<<2)|2,{105,103,0}}, +/* 13518 */ {(11<<2)|2,{105,103,0}}, +/* 13519 */ {(11<<2)|2,{105,103,0}}, +/* 13520 */ {(11<<2)|2,{105,103,0}}, +/* 13521 */ {(11<<2)|2,{105,103,0}}, +/* 13522 */ {(11<<2)|2,{105,103,0}}, +/* 13523 */ {(11<<2)|2,{105,103,0}}, +/* 13524 */ {(11<<2)|2,{105,103,0}}, +/* 13525 */ {(11<<2)|2,{105,103,0}}, +/* 13526 */ {(11<<2)|2,{105,103,0}}, +/* 13527 */ {(11<<2)|2,{105,103,0}}, +/* 13528 */ {(11<<2)|2,{105,103,0}}, +/* 13529 */ {(11<<2)|2,{105,103,0}}, +/* 13530 */ {(11<<2)|2,{105,103,0}}, +/* 13531 */ {(11<<2)|2,{105,103,0}}, +/* 13532 */ {(11<<2)|2,{105,103,0}}, +/* 13533 */ {(11<<2)|2,{105,103,0}}, +/* 13534 */ {(11<<2)|2,{105,103,0}}, +/* 13535 */ {(11<<2)|2,{105,103,0}}, +/* 13536 */ {(16<<2)|3,{105,104,48}}, +/* 13537 */ {(16<<2)|3,{105,104,49}}, +/* 13538 */ {(16<<2)|3,{105,104,50}}, +/* 13539 */ {(16<<2)|3,{105,104,97}}, +/* 13540 */ {(16<<2)|3,{105,104,99}}, +/* 13541 */ {(16<<2)|3,{105,104,101}}, +/* 13542 */ {(16<<2)|3,{105,104,105}}, +/* 13543 */ {(16<<2)|3,{105,104,111}}, +/* 13544 */ {(16<<2)|3,{105,104,115}}, +/* 13545 */ {(16<<2)|3,{105,104,116}}, +/* 13546 */ {(11<<2)|2,{105,104,0}}, +/* 13547 */ {(11<<2)|2,{105,104,0}}, +/* 13548 */ {(11<<2)|2,{105,104,0}}, +/* 13549 */ {(11<<2)|2,{105,104,0}}, +/* 13550 */ {(11<<2)|2,{105,104,0}}, +/* 13551 */ {(11<<2)|2,{105,104,0}}, +/* 13552 */ {(11<<2)|2,{105,104,0}}, +/* 13553 */ {(11<<2)|2,{105,104,0}}, +/* 13554 */ {(11<<2)|2,{105,104,0}}, +/* 13555 */ {(11<<2)|2,{105,104,0}}, +/* 13556 */ {(11<<2)|2,{105,104,0}}, +/* 13557 */ {(11<<2)|2,{105,104,0}}, +/* 13558 */ {(11<<2)|2,{105,104,0}}, +/* 13559 */ {(11<<2)|2,{105,104,0}}, +/* 13560 */ {(11<<2)|2,{105,104,0}}, +/* 13561 */ {(11<<2)|2,{105,104,0}}, +/* 13562 */ {(11<<2)|2,{105,104,0}}, +/* 13563 */ {(11<<2)|2,{105,104,0}}, +/* 13564 */ {(11<<2)|2,{105,104,0}}, +/* 13565 */ {(11<<2)|2,{105,104,0}}, +/* 13566 */ {(11<<2)|2,{105,104,0}}, +/* 13567 */ {(11<<2)|2,{105,104,0}}, +/* 13568 */ {(16<<2)|3,{105,108,48}}, +/* 13569 */ {(16<<2)|3,{105,108,49}}, +/* 13570 */ {(16<<2)|3,{105,108,50}}, +/* 13571 */ {(16<<2)|3,{105,108,97}}, +/* 13572 */ {(16<<2)|3,{105,108,99}}, +/* 13573 */ {(16<<2)|3,{105,108,101}}, +/* 13574 */ {(16<<2)|3,{105,108,105}}, +/* 13575 */ {(16<<2)|3,{105,108,111}}, +/* 13576 */ {(16<<2)|3,{105,108,115}}, +/* 13577 */ {(16<<2)|3,{105,108,116}}, +/* 13578 */ {(11<<2)|2,{105,108,0}}, +/* 13579 */ {(11<<2)|2,{105,108,0}}, +/* 13580 */ {(11<<2)|2,{105,108,0}}, +/* 13581 */ {(11<<2)|2,{105,108,0}}, +/* 13582 */ {(11<<2)|2,{105,108,0}}, +/* 13583 */ {(11<<2)|2,{105,108,0}}, +/* 13584 */ {(11<<2)|2,{105,108,0}}, +/* 13585 */ {(11<<2)|2,{105,108,0}}, +/* 13586 */ {(11<<2)|2,{105,108,0}}, +/* 13587 */ {(11<<2)|2,{105,108,0}}, +/* 13588 */ {(11<<2)|2,{105,108,0}}, +/* 13589 */ {(11<<2)|2,{105,108,0}}, +/* 13590 */ {(11<<2)|2,{105,108,0}}, +/* 13591 */ {(11<<2)|2,{105,108,0}}, +/* 13592 */ {(11<<2)|2,{105,108,0}}, +/* 13593 */ {(11<<2)|2,{105,108,0}}, +/* 13594 */ {(11<<2)|2,{105,108,0}}, +/* 13595 */ {(11<<2)|2,{105,108,0}}, +/* 13596 */ {(11<<2)|2,{105,108,0}}, +/* 13597 */ {(11<<2)|2,{105,108,0}}, +/* 13598 */ {(11<<2)|2,{105,108,0}}, +/* 13599 */ {(11<<2)|2,{105,108,0}}, +/* 13600 */ {(16<<2)|3,{105,109,48}}, +/* 13601 */ {(16<<2)|3,{105,109,49}}, +/* 13602 */ {(16<<2)|3,{105,109,50}}, +/* 13603 */ {(16<<2)|3,{105,109,97}}, +/* 13604 */ {(16<<2)|3,{105,109,99}}, +/* 13605 */ {(16<<2)|3,{105,109,101}}, +/* 13606 */ {(16<<2)|3,{105,109,105}}, +/* 13607 */ {(16<<2)|3,{105,109,111}}, +/* 13608 */ {(16<<2)|3,{105,109,115}}, +/* 13609 */ {(16<<2)|3,{105,109,116}}, +/* 13610 */ {(11<<2)|2,{105,109,0}}, +/* 13611 */ {(11<<2)|2,{105,109,0}}, +/* 13612 */ {(11<<2)|2,{105,109,0}}, +/* 13613 */ {(11<<2)|2,{105,109,0}}, +/* 13614 */ {(11<<2)|2,{105,109,0}}, +/* 13615 */ {(11<<2)|2,{105,109,0}}, +/* 13616 */ {(11<<2)|2,{105,109,0}}, +/* 13617 */ {(11<<2)|2,{105,109,0}}, +/* 13618 */ {(11<<2)|2,{105,109,0}}, +/* 13619 */ {(11<<2)|2,{105,109,0}}, +/* 13620 */ {(11<<2)|2,{105,109,0}}, +/* 13621 */ {(11<<2)|2,{105,109,0}}, +/* 13622 */ {(11<<2)|2,{105,109,0}}, +/* 13623 */ {(11<<2)|2,{105,109,0}}, +/* 13624 */ {(11<<2)|2,{105,109,0}}, +/* 13625 */ {(11<<2)|2,{105,109,0}}, +/* 13626 */ {(11<<2)|2,{105,109,0}}, +/* 13627 */ {(11<<2)|2,{105,109,0}}, +/* 13628 */ {(11<<2)|2,{105,109,0}}, +/* 13629 */ {(11<<2)|2,{105,109,0}}, +/* 13630 */ {(11<<2)|2,{105,109,0}}, +/* 13631 */ {(11<<2)|2,{105,109,0}}, +/* 13632 */ {(16<<2)|3,{105,110,48}}, +/* 13633 */ {(16<<2)|3,{105,110,49}}, +/* 13634 */ {(16<<2)|3,{105,110,50}}, +/* 13635 */ {(16<<2)|3,{105,110,97}}, +/* 13636 */ {(16<<2)|3,{105,110,99}}, +/* 13637 */ {(16<<2)|3,{105,110,101}}, +/* 13638 */ {(16<<2)|3,{105,110,105}}, +/* 13639 */ {(16<<2)|3,{105,110,111}}, +/* 13640 */ {(16<<2)|3,{105,110,115}}, +/* 13641 */ {(16<<2)|3,{105,110,116}}, +/* 13642 */ {(11<<2)|2,{105,110,0}}, +/* 13643 */ {(11<<2)|2,{105,110,0}}, +/* 13644 */ {(11<<2)|2,{105,110,0}}, +/* 13645 */ {(11<<2)|2,{105,110,0}}, +/* 13646 */ {(11<<2)|2,{105,110,0}}, +/* 13647 */ {(11<<2)|2,{105,110,0}}, +/* 13648 */ {(11<<2)|2,{105,110,0}}, +/* 13649 */ {(11<<2)|2,{105,110,0}}, +/* 13650 */ {(11<<2)|2,{105,110,0}}, +/* 13651 */ {(11<<2)|2,{105,110,0}}, +/* 13652 */ {(11<<2)|2,{105,110,0}}, +/* 13653 */ {(11<<2)|2,{105,110,0}}, +/* 13654 */ {(11<<2)|2,{105,110,0}}, +/* 13655 */ {(11<<2)|2,{105,110,0}}, +/* 13656 */ {(11<<2)|2,{105,110,0}}, +/* 13657 */ {(11<<2)|2,{105,110,0}}, +/* 13658 */ {(11<<2)|2,{105,110,0}}, +/* 13659 */ {(11<<2)|2,{105,110,0}}, +/* 13660 */ {(11<<2)|2,{105,110,0}}, +/* 13661 */ {(11<<2)|2,{105,110,0}}, +/* 13662 */ {(11<<2)|2,{105,110,0}}, +/* 13663 */ {(11<<2)|2,{105,110,0}}, +/* 13664 */ {(16<<2)|3,{105,112,48}}, +/* 13665 */ {(16<<2)|3,{105,112,49}}, +/* 13666 */ {(16<<2)|3,{105,112,50}}, +/* 13667 */ {(16<<2)|3,{105,112,97}}, +/* 13668 */ {(16<<2)|3,{105,112,99}}, +/* 13669 */ {(16<<2)|3,{105,112,101}}, +/* 13670 */ {(16<<2)|3,{105,112,105}}, +/* 13671 */ {(16<<2)|3,{105,112,111}}, +/* 13672 */ {(16<<2)|3,{105,112,115}}, +/* 13673 */ {(16<<2)|3,{105,112,116}}, +/* 13674 */ {(11<<2)|2,{105,112,0}}, +/* 13675 */ {(11<<2)|2,{105,112,0}}, +/* 13676 */ {(11<<2)|2,{105,112,0}}, +/* 13677 */ {(11<<2)|2,{105,112,0}}, +/* 13678 */ {(11<<2)|2,{105,112,0}}, +/* 13679 */ {(11<<2)|2,{105,112,0}}, +/* 13680 */ {(11<<2)|2,{105,112,0}}, +/* 13681 */ {(11<<2)|2,{105,112,0}}, +/* 13682 */ {(11<<2)|2,{105,112,0}}, +/* 13683 */ {(11<<2)|2,{105,112,0}}, +/* 13684 */ {(11<<2)|2,{105,112,0}}, +/* 13685 */ {(11<<2)|2,{105,112,0}}, +/* 13686 */ {(11<<2)|2,{105,112,0}}, +/* 13687 */ {(11<<2)|2,{105,112,0}}, +/* 13688 */ {(11<<2)|2,{105,112,0}}, +/* 13689 */ {(11<<2)|2,{105,112,0}}, +/* 13690 */ {(11<<2)|2,{105,112,0}}, +/* 13691 */ {(11<<2)|2,{105,112,0}}, +/* 13692 */ {(11<<2)|2,{105,112,0}}, +/* 13693 */ {(11<<2)|2,{105,112,0}}, +/* 13694 */ {(11<<2)|2,{105,112,0}}, +/* 13695 */ {(11<<2)|2,{105,112,0}}, +/* 13696 */ {(16<<2)|3,{105,114,48}}, +/* 13697 */ {(16<<2)|3,{105,114,49}}, +/* 13698 */ {(16<<2)|3,{105,114,50}}, +/* 13699 */ {(16<<2)|3,{105,114,97}}, +/* 13700 */ {(16<<2)|3,{105,114,99}}, +/* 13701 */ {(16<<2)|3,{105,114,101}}, +/* 13702 */ {(16<<2)|3,{105,114,105}}, +/* 13703 */ {(16<<2)|3,{105,114,111}}, +/* 13704 */ {(16<<2)|3,{105,114,115}}, +/* 13705 */ {(16<<2)|3,{105,114,116}}, +/* 13706 */ {(11<<2)|2,{105,114,0}}, +/* 13707 */ {(11<<2)|2,{105,114,0}}, +/* 13708 */ {(11<<2)|2,{105,114,0}}, +/* 13709 */ {(11<<2)|2,{105,114,0}}, +/* 13710 */ {(11<<2)|2,{105,114,0}}, +/* 13711 */ {(11<<2)|2,{105,114,0}}, +/* 13712 */ {(11<<2)|2,{105,114,0}}, +/* 13713 */ {(11<<2)|2,{105,114,0}}, +/* 13714 */ {(11<<2)|2,{105,114,0}}, +/* 13715 */ {(11<<2)|2,{105,114,0}}, +/* 13716 */ {(11<<2)|2,{105,114,0}}, +/* 13717 */ {(11<<2)|2,{105,114,0}}, +/* 13718 */ {(11<<2)|2,{105,114,0}}, +/* 13719 */ {(11<<2)|2,{105,114,0}}, +/* 13720 */ {(11<<2)|2,{105,114,0}}, +/* 13721 */ {(11<<2)|2,{105,114,0}}, +/* 13722 */ {(11<<2)|2,{105,114,0}}, +/* 13723 */ {(11<<2)|2,{105,114,0}}, +/* 13724 */ {(11<<2)|2,{105,114,0}}, +/* 13725 */ {(11<<2)|2,{105,114,0}}, +/* 13726 */ {(11<<2)|2,{105,114,0}}, +/* 13727 */ {(11<<2)|2,{105,114,0}}, +/* 13728 */ {(16<<2)|3,{105,117,48}}, +/* 13729 */ {(16<<2)|3,{105,117,49}}, +/* 13730 */ {(16<<2)|3,{105,117,50}}, +/* 13731 */ {(16<<2)|3,{105,117,97}}, +/* 13732 */ {(16<<2)|3,{105,117,99}}, +/* 13733 */ {(16<<2)|3,{105,117,101}}, +/* 13734 */ {(16<<2)|3,{105,117,105}}, +/* 13735 */ {(16<<2)|3,{105,117,111}}, +/* 13736 */ {(16<<2)|3,{105,117,115}}, +/* 13737 */ {(16<<2)|3,{105,117,116}}, +/* 13738 */ {(11<<2)|2,{105,117,0}}, +/* 13739 */ {(11<<2)|2,{105,117,0}}, +/* 13740 */ {(11<<2)|2,{105,117,0}}, +/* 13741 */ {(11<<2)|2,{105,117,0}}, +/* 13742 */ {(11<<2)|2,{105,117,0}}, +/* 13743 */ {(11<<2)|2,{105,117,0}}, +/* 13744 */ {(11<<2)|2,{105,117,0}}, +/* 13745 */ {(11<<2)|2,{105,117,0}}, +/* 13746 */ {(11<<2)|2,{105,117,0}}, +/* 13747 */ {(11<<2)|2,{105,117,0}}, +/* 13748 */ {(11<<2)|2,{105,117,0}}, +/* 13749 */ {(11<<2)|2,{105,117,0}}, +/* 13750 */ {(11<<2)|2,{105,117,0}}, +/* 13751 */ {(11<<2)|2,{105,117,0}}, +/* 13752 */ {(11<<2)|2,{105,117,0}}, +/* 13753 */ {(11<<2)|2,{105,117,0}}, +/* 13754 */ {(11<<2)|2,{105,117,0}}, +/* 13755 */ {(11<<2)|2,{105,117,0}}, +/* 13756 */ {(11<<2)|2,{105,117,0}}, +/* 13757 */ {(11<<2)|2,{105,117,0}}, +/* 13758 */ {(11<<2)|2,{105,117,0}}, +/* 13759 */ {(11<<2)|2,{105,117,0}}, +/* 13760 */ {(12<<2)|2,{105,58,0}}, +/* 13761 */ {(12<<2)|2,{105,58,0}}, +/* 13762 */ {(12<<2)|2,{105,58,0}}, +/* 13763 */ {(12<<2)|2,{105,58,0}}, +/* 13764 */ {(12<<2)|2,{105,58,0}}, +/* 13765 */ {(12<<2)|2,{105,58,0}}, +/* 13766 */ {(12<<2)|2,{105,58,0}}, +/* 13767 */ {(12<<2)|2,{105,58,0}}, +/* 13768 */ {(12<<2)|2,{105,58,0}}, +/* 13769 */ {(12<<2)|2,{105,58,0}}, +/* 13770 */ {(12<<2)|2,{105,58,0}}, +/* 13771 */ {(12<<2)|2,{105,58,0}}, +/* 13772 */ {(12<<2)|2,{105,58,0}}, +/* 13773 */ {(12<<2)|2,{105,58,0}}, +/* 13774 */ {(12<<2)|2,{105,58,0}}, +/* 13775 */ {(12<<2)|2,{105,58,0}}, +/* 13776 */ {(12<<2)|2,{105,66,0}}, +/* 13777 */ {(12<<2)|2,{105,66,0}}, +/* 13778 */ {(12<<2)|2,{105,66,0}}, +/* 13779 */ {(12<<2)|2,{105,66,0}}, +/* 13780 */ {(12<<2)|2,{105,66,0}}, +/* 13781 */ {(12<<2)|2,{105,66,0}}, +/* 13782 */ {(12<<2)|2,{105,66,0}}, +/* 13783 */ {(12<<2)|2,{105,66,0}}, +/* 13784 */ {(12<<2)|2,{105,66,0}}, +/* 13785 */ {(12<<2)|2,{105,66,0}}, +/* 13786 */ {(12<<2)|2,{105,66,0}}, +/* 13787 */ {(12<<2)|2,{105,66,0}}, +/* 13788 */ {(12<<2)|2,{105,66,0}}, +/* 13789 */ {(12<<2)|2,{105,66,0}}, +/* 13790 */ {(12<<2)|2,{105,66,0}}, +/* 13791 */ {(12<<2)|2,{105,66,0}}, +/* 13792 */ {(12<<2)|2,{105,67,0}}, +/* 13793 */ {(12<<2)|2,{105,67,0}}, +/* 13794 */ {(12<<2)|2,{105,67,0}}, +/* 13795 */ {(12<<2)|2,{105,67,0}}, +/* 13796 */ {(12<<2)|2,{105,67,0}}, +/* 13797 */ {(12<<2)|2,{105,67,0}}, +/* 13798 */ {(12<<2)|2,{105,67,0}}, +/* 13799 */ {(12<<2)|2,{105,67,0}}, +/* 13800 */ {(12<<2)|2,{105,67,0}}, +/* 13801 */ {(12<<2)|2,{105,67,0}}, +/* 13802 */ {(12<<2)|2,{105,67,0}}, +/* 13803 */ {(12<<2)|2,{105,67,0}}, +/* 13804 */ {(12<<2)|2,{105,67,0}}, +/* 13805 */ {(12<<2)|2,{105,67,0}}, +/* 13806 */ {(12<<2)|2,{105,67,0}}, +/* 13807 */ {(12<<2)|2,{105,67,0}}, +/* 13808 */ {(12<<2)|2,{105,68,0}}, +/* 13809 */ {(12<<2)|2,{105,68,0}}, +/* 13810 */ {(12<<2)|2,{105,68,0}}, +/* 13811 */ {(12<<2)|2,{105,68,0}}, +/* 13812 */ {(12<<2)|2,{105,68,0}}, +/* 13813 */ {(12<<2)|2,{105,68,0}}, +/* 13814 */ {(12<<2)|2,{105,68,0}}, +/* 13815 */ {(12<<2)|2,{105,68,0}}, +/* 13816 */ {(12<<2)|2,{105,68,0}}, +/* 13817 */ {(12<<2)|2,{105,68,0}}, +/* 13818 */ {(12<<2)|2,{105,68,0}}, +/* 13819 */ {(12<<2)|2,{105,68,0}}, +/* 13820 */ {(12<<2)|2,{105,68,0}}, +/* 13821 */ {(12<<2)|2,{105,68,0}}, +/* 13822 */ {(12<<2)|2,{105,68,0}}, +/* 13823 */ {(12<<2)|2,{105,68,0}}, +/* 13824 */ {(12<<2)|2,{105,69,0}}, +/* 13825 */ {(12<<2)|2,{105,69,0}}, +/* 13826 */ {(12<<2)|2,{105,69,0}}, +/* 13827 */ {(12<<2)|2,{105,69,0}}, +/* 13828 */ {(12<<2)|2,{105,69,0}}, +/* 13829 */ {(12<<2)|2,{105,69,0}}, +/* 13830 */ {(12<<2)|2,{105,69,0}}, +/* 13831 */ {(12<<2)|2,{105,69,0}}, +/* 13832 */ {(12<<2)|2,{105,69,0}}, +/* 13833 */ {(12<<2)|2,{105,69,0}}, +/* 13834 */ {(12<<2)|2,{105,69,0}}, +/* 13835 */ {(12<<2)|2,{105,69,0}}, +/* 13836 */ {(12<<2)|2,{105,69,0}}, +/* 13837 */ {(12<<2)|2,{105,69,0}}, +/* 13838 */ {(12<<2)|2,{105,69,0}}, +/* 13839 */ {(12<<2)|2,{105,69,0}}, +/* 13840 */ {(12<<2)|2,{105,70,0}}, +/* 13841 */ {(12<<2)|2,{105,70,0}}, +/* 13842 */ {(12<<2)|2,{105,70,0}}, +/* 13843 */ {(12<<2)|2,{105,70,0}}, +/* 13844 */ {(12<<2)|2,{105,70,0}}, +/* 13845 */ {(12<<2)|2,{105,70,0}}, +/* 13846 */ {(12<<2)|2,{105,70,0}}, +/* 13847 */ {(12<<2)|2,{105,70,0}}, +/* 13848 */ {(12<<2)|2,{105,70,0}}, +/* 13849 */ {(12<<2)|2,{105,70,0}}, +/* 13850 */ {(12<<2)|2,{105,70,0}}, +/* 13851 */ {(12<<2)|2,{105,70,0}}, +/* 13852 */ {(12<<2)|2,{105,70,0}}, +/* 13853 */ {(12<<2)|2,{105,70,0}}, +/* 13854 */ {(12<<2)|2,{105,70,0}}, +/* 13855 */ {(12<<2)|2,{105,70,0}}, +/* 13856 */ {(12<<2)|2,{105,71,0}}, +/* 13857 */ {(12<<2)|2,{105,71,0}}, +/* 13858 */ {(12<<2)|2,{105,71,0}}, +/* 13859 */ {(12<<2)|2,{105,71,0}}, +/* 13860 */ {(12<<2)|2,{105,71,0}}, +/* 13861 */ {(12<<2)|2,{105,71,0}}, +/* 13862 */ {(12<<2)|2,{105,71,0}}, +/* 13863 */ {(12<<2)|2,{105,71,0}}, +/* 13864 */ {(12<<2)|2,{105,71,0}}, +/* 13865 */ {(12<<2)|2,{105,71,0}}, +/* 13866 */ {(12<<2)|2,{105,71,0}}, +/* 13867 */ {(12<<2)|2,{105,71,0}}, +/* 13868 */ {(12<<2)|2,{105,71,0}}, +/* 13869 */ {(12<<2)|2,{105,71,0}}, +/* 13870 */ {(12<<2)|2,{105,71,0}}, +/* 13871 */ {(12<<2)|2,{105,71,0}}, +/* 13872 */ {(12<<2)|2,{105,72,0}}, +/* 13873 */ {(12<<2)|2,{105,72,0}}, +/* 13874 */ {(12<<2)|2,{105,72,0}}, +/* 13875 */ {(12<<2)|2,{105,72,0}}, +/* 13876 */ {(12<<2)|2,{105,72,0}}, +/* 13877 */ {(12<<2)|2,{105,72,0}}, +/* 13878 */ {(12<<2)|2,{105,72,0}}, +/* 13879 */ {(12<<2)|2,{105,72,0}}, +/* 13880 */ {(12<<2)|2,{105,72,0}}, +/* 13881 */ {(12<<2)|2,{105,72,0}}, +/* 13882 */ {(12<<2)|2,{105,72,0}}, +/* 13883 */ {(12<<2)|2,{105,72,0}}, +/* 13884 */ {(12<<2)|2,{105,72,0}}, +/* 13885 */ {(12<<2)|2,{105,72,0}}, +/* 13886 */ {(12<<2)|2,{105,72,0}}, +/* 13887 */ {(12<<2)|2,{105,72,0}}, +/* 13888 */ {(12<<2)|2,{105,73,0}}, +/* 13889 */ {(12<<2)|2,{105,73,0}}, +/* 13890 */ {(12<<2)|2,{105,73,0}}, +/* 13891 */ {(12<<2)|2,{105,73,0}}, +/* 13892 */ {(12<<2)|2,{105,73,0}}, +/* 13893 */ {(12<<2)|2,{105,73,0}}, +/* 13894 */ {(12<<2)|2,{105,73,0}}, +/* 13895 */ {(12<<2)|2,{105,73,0}}, +/* 13896 */ {(12<<2)|2,{105,73,0}}, +/* 13897 */ {(12<<2)|2,{105,73,0}}, +/* 13898 */ {(12<<2)|2,{105,73,0}}, +/* 13899 */ {(12<<2)|2,{105,73,0}}, +/* 13900 */ {(12<<2)|2,{105,73,0}}, +/* 13901 */ {(12<<2)|2,{105,73,0}}, +/* 13902 */ {(12<<2)|2,{105,73,0}}, +/* 13903 */ {(12<<2)|2,{105,73,0}}, +/* 13904 */ {(12<<2)|2,{105,74,0}}, +/* 13905 */ {(12<<2)|2,{105,74,0}}, +/* 13906 */ {(12<<2)|2,{105,74,0}}, +/* 13907 */ {(12<<2)|2,{105,74,0}}, +/* 13908 */ {(12<<2)|2,{105,74,0}}, +/* 13909 */ {(12<<2)|2,{105,74,0}}, +/* 13910 */ {(12<<2)|2,{105,74,0}}, +/* 13911 */ {(12<<2)|2,{105,74,0}}, +/* 13912 */ {(12<<2)|2,{105,74,0}}, +/* 13913 */ {(12<<2)|2,{105,74,0}}, +/* 13914 */ {(12<<2)|2,{105,74,0}}, +/* 13915 */ {(12<<2)|2,{105,74,0}}, +/* 13916 */ {(12<<2)|2,{105,74,0}}, +/* 13917 */ {(12<<2)|2,{105,74,0}}, +/* 13918 */ {(12<<2)|2,{105,74,0}}, +/* 13919 */ {(12<<2)|2,{105,74,0}}, +/* 13920 */ {(12<<2)|2,{105,75,0}}, +/* 13921 */ {(12<<2)|2,{105,75,0}}, +/* 13922 */ {(12<<2)|2,{105,75,0}}, +/* 13923 */ {(12<<2)|2,{105,75,0}}, +/* 13924 */ {(12<<2)|2,{105,75,0}}, +/* 13925 */ {(12<<2)|2,{105,75,0}}, +/* 13926 */ {(12<<2)|2,{105,75,0}}, +/* 13927 */ {(12<<2)|2,{105,75,0}}, +/* 13928 */ {(12<<2)|2,{105,75,0}}, +/* 13929 */ {(12<<2)|2,{105,75,0}}, +/* 13930 */ {(12<<2)|2,{105,75,0}}, +/* 13931 */ {(12<<2)|2,{105,75,0}}, +/* 13932 */ {(12<<2)|2,{105,75,0}}, +/* 13933 */ {(12<<2)|2,{105,75,0}}, +/* 13934 */ {(12<<2)|2,{105,75,0}}, +/* 13935 */ {(12<<2)|2,{105,75,0}}, +/* 13936 */ {(12<<2)|2,{105,76,0}}, +/* 13937 */ {(12<<2)|2,{105,76,0}}, +/* 13938 */ {(12<<2)|2,{105,76,0}}, +/* 13939 */ {(12<<2)|2,{105,76,0}}, +/* 13940 */ {(12<<2)|2,{105,76,0}}, +/* 13941 */ {(12<<2)|2,{105,76,0}}, +/* 13942 */ {(12<<2)|2,{105,76,0}}, +/* 13943 */ {(12<<2)|2,{105,76,0}}, +/* 13944 */ {(12<<2)|2,{105,76,0}}, +/* 13945 */ {(12<<2)|2,{105,76,0}}, +/* 13946 */ {(12<<2)|2,{105,76,0}}, +/* 13947 */ {(12<<2)|2,{105,76,0}}, +/* 13948 */ {(12<<2)|2,{105,76,0}}, +/* 13949 */ {(12<<2)|2,{105,76,0}}, +/* 13950 */ {(12<<2)|2,{105,76,0}}, +/* 13951 */ {(12<<2)|2,{105,76,0}}, +/* 13952 */ {(12<<2)|2,{105,77,0}}, +/* 13953 */ {(12<<2)|2,{105,77,0}}, +/* 13954 */ {(12<<2)|2,{105,77,0}}, +/* 13955 */ {(12<<2)|2,{105,77,0}}, +/* 13956 */ {(12<<2)|2,{105,77,0}}, +/* 13957 */ {(12<<2)|2,{105,77,0}}, +/* 13958 */ {(12<<2)|2,{105,77,0}}, +/* 13959 */ {(12<<2)|2,{105,77,0}}, +/* 13960 */ {(12<<2)|2,{105,77,0}}, +/* 13961 */ {(12<<2)|2,{105,77,0}}, +/* 13962 */ {(12<<2)|2,{105,77,0}}, +/* 13963 */ {(12<<2)|2,{105,77,0}}, +/* 13964 */ {(12<<2)|2,{105,77,0}}, +/* 13965 */ {(12<<2)|2,{105,77,0}}, +/* 13966 */ {(12<<2)|2,{105,77,0}}, +/* 13967 */ {(12<<2)|2,{105,77,0}}, +/* 13968 */ {(12<<2)|2,{105,78,0}}, +/* 13969 */ {(12<<2)|2,{105,78,0}}, +/* 13970 */ {(12<<2)|2,{105,78,0}}, +/* 13971 */ {(12<<2)|2,{105,78,0}}, +/* 13972 */ {(12<<2)|2,{105,78,0}}, +/* 13973 */ {(12<<2)|2,{105,78,0}}, +/* 13974 */ {(12<<2)|2,{105,78,0}}, +/* 13975 */ {(12<<2)|2,{105,78,0}}, +/* 13976 */ {(12<<2)|2,{105,78,0}}, +/* 13977 */ {(12<<2)|2,{105,78,0}}, +/* 13978 */ {(12<<2)|2,{105,78,0}}, +/* 13979 */ {(12<<2)|2,{105,78,0}}, +/* 13980 */ {(12<<2)|2,{105,78,0}}, +/* 13981 */ {(12<<2)|2,{105,78,0}}, +/* 13982 */ {(12<<2)|2,{105,78,0}}, +/* 13983 */ {(12<<2)|2,{105,78,0}}, +/* 13984 */ {(12<<2)|2,{105,79,0}}, +/* 13985 */ {(12<<2)|2,{105,79,0}}, +/* 13986 */ {(12<<2)|2,{105,79,0}}, +/* 13987 */ {(12<<2)|2,{105,79,0}}, +/* 13988 */ {(12<<2)|2,{105,79,0}}, +/* 13989 */ {(12<<2)|2,{105,79,0}}, +/* 13990 */ {(12<<2)|2,{105,79,0}}, +/* 13991 */ {(12<<2)|2,{105,79,0}}, +/* 13992 */ {(12<<2)|2,{105,79,0}}, +/* 13993 */ {(12<<2)|2,{105,79,0}}, +/* 13994 */ {(12<<2)|2,{105,79,0}}, +/* 13995 */ {(12<<2)|2,{105,79,0}}, +/* 13996 */ {(12<<2)|2,{105,79,0}}, +/* 13997 */ {(12<<2)|2,{105,79,0}}, +/* 13998 */ {(12<<2)|2,{105,79,0}}, +/* 13999 */ {(12<<2)|2,{105,79,0}}, +/* 14000 */ {(12<<2)|2,{105,80,0}}, +/* 14001 */ {(12<<2)|2,{105,80,0}}, +/* 14002 */ {(12<<2)|2,{105,80,0}}, +/* 14003 */ {(12<<2)|2,{105,80,0}}, +/* 14004 */ {(12<<2)|2,{105,80,0}}, +/* 14005 */ {(12<<2)|2,{105,80,0}}, +/* 14006 */ {(12<<2)|2,{105,80,0}}, +/* 14007 */ {(12<<2)|2,{105,80,0}}, +/* 14008 */ {(12<<2)|2,{105,80,0}}, +/* 14009 */ {(12<<2)|2,{105,80,0}}, +/* 14010 */ {(12<<2)|2,{105,80,0}}, +/* 14011 */ {(12<<2)|2,{105,80,0}}, +/* 14012 */ {(12<<2)|2,{105,80,0}}, +/* 14013 */ {(12<<2)|2,{105,80,0}}, +/* 14014 */ {(12<<2)|2,{105,80,0}}, +/* 14015 */ {(12<<2)|2,{105,80,0}}, +/* 14016 */ {(12<<2)|2,{105,81,0}}, +/* 14017 */ {(12<<2)|2,{105,81,0}}, +/* 14018 */ {(12<<2)|2,{105,81,0}}, +/* 14019 */ {(12<<2)|2,{105,81,0}}, +/* 14020 */ {(12<<2)|2,{105,81,0}}, +/* 14021 */ {(12<<2)|2,{105,81,0}}, +/* 14022 */ {(12<<2)|2,{105,81,0}}, +/* 14023 */ {(12<<2)|2,{105,81,0}}, +/* 14024 */ {(12<<2)|2,{105,81,0}}, +/* 14025 */ {(12<<2)|2,{105,81,0}}, +/* 14026 */ {(12<<2)|2,{105,81,0}}, +/* 14027 */ {(12<<2)|2,{105,81,0}}, +/* 14028 */ {(12<<2)|2,{105,81,0}}, +/* 14029 */ {(12<<2)|2,{105,81,0}}, +/* 14030 */ {(12<<2)|2,{105,81,0}}, +/* 14031 */ {(12<<2)|2,{105,81,0}}, +/* 14032 */ {(12<<2)|2,{105,82,0}}, +/* 14033 */ {(12<<2)|2,{105,82,0}}, +/* 14034 */ {(12<<2)|2,{105,82,0}}, +/* 14035 */ {(12<<2)|2,{105,82,0}}, +/* 14036 */ {(12<<2)|2,{105,82,0}}, +/* 14037 */ {(12<<2)|2,{105,82,0}}, +/* 14038 */ {(12<<2)|2,{105,82,0}}, +/* 14039 */ {(12<<2)|2,{105,82,0}}, +/* 14040 */ {(12<<2)|2,{105,82,0}}, +/* 14041 */ {(12<<2)|2,{105,82,0}}, +/* 14042 */ {(12<<2)|2,{105,82,0}}, +/* 14043 */ {(12<<2)|2,{105,82,0}}, +/* 14044 */ {(12<<2)|2,{105,82,0}}, +/* 14045 */ {(12<<2)|2,{105,82,0}}, +/* 14046 */ {(12<<2)|2,{105,82,0}}, +/* 14047 */ {(12<<2)|2,{105,82,0}}, +/* 14048 */ {(12<<2)|2,{105,83,0}}, +/* 14049 */ {(12<<2)|2,{105,83,0}}, +/* 14050 */ {(12<<2)|2,{105,83,0}}, +/* 14051 */ {(12<<2)|2,{105,83,0}}, +/* 14052 */ {(12<<2)|2,{105,83,0}}, +/* 14053 */ {(12<<2)|2,{105,83,0}}, +/* 14054 */ {(12<<2)|2,{105,83,0}}, +/* 14055 */ {(12<<2)|2,{105,83,0}}, +/* 14056 */ {(12<<2)|2,{105,83,0}}, +/* 14057 */ {(12<<2)|2,{105,83,0}}, +/* 14058 */ {(12<<2)|2,{105,83,0}}, +/* 14059 */ {(12<<2)|2,{105,83,0}}, +/* 14060 */ {(12<<2)|2,{105,83,0}}, +/* 14061 */ {(12<<2)|2,{105,83,0}}, +/* 14062 */ {(12<<2)|2,{105,83,0}}, +/* 14063 */ {(12<<2)|2,{105,83,0}}, +/* 14064 */ {(12<<2)|2,{105,84,0}}, +/* 14065 */ {(12<<2)|2,{105,84,0}}, +/* 14066 */ {(12<<2)|2,{105,84,0}}, +/* 14067 */ {(12<<2)|2,{105,84,0}}, +/* 14068 */ {(12<<2)|2,{105,84,0}}, +/* 14069 */ {(12<<2)|2,{105,84,0}}, +/* 14070 */ {(12<<2)|2,{105,84,0}}, +/* 14071 */ {(12<<2)|2,{105,84,0}}, +/* 14072 */ {(12<<2)|2,{105,84,0}}, +/* 14073 */ {(12<<2)|2,{105,84,0}}, +/* 14074 */ {(12<<2)|2,{105,84,0}}, +/* 14075 */ {(12<<2)|2,{105,84,0}}, +/* 14076 */ {(12<<2)|2,{105,84,0}}, +/* 14077 */ {(12<<2)|2,{105,84,0}}, +/* 14078 */ {(12<<2)|2,{105,84,0}}, +/* 14079 */ {(12<<2)|2,{105,84,0}}, +/* 14080 */ {(12<<2)|2,{105,85,0}}, +/* 14081 */ {(12<<2)|2,{105,85,0}}, +/* 14082 */ {(12<<2)|2,{105,85,0}}, +/* 14083 */ {(12<<2)|2,{105,85,0}}, +/* 14084 */ {(12<<2)|2,{105,85,0}}, +/* 14085 */ {(12<<2)|2,{105,85,0}}, +/* 14086 */ {(12<<2)|2,{105,85,0}}, +/* 14087 */ {(12<<2)|2,{105,85,0}}, +/* 14088 */ {(12<<2)|2,{105,85,0}}, +/* 14089 */ {(12<<2)|2,{105,85,0}}, +/* 14090 */ {(12<<2)|2,{105,85,0}}, +/* 14091 */ {(12<<2)|2,{105,85,0}}, +/* 14092 */ {(12<<2)|2,{105,85,0}}, +/* 14093 */ {(12<<2)|2,{105,85,0}}, +/* 14094 */ {(12<<2)|2,{105,85,0}}, +/* 14095 */ {(12<<2)|2,{105,85,0}}, +/* 14096 */ {(12<<2)|2,{105,86,0}}, +/* 14097 */ {(12<<2)|2,{105,86,0}}, +/* 14098 */ {(12<<2)|2,{105,86,0}}, +/* 14099 */ {(12<<2)|2,{105,86,0}}, +/* 14100 */ {(12<<2)|2,{105,86,0}}, +/* 14101 */ {(12<<2)|2,{105,86,0}}, +/* 14102 */ {(12<<2)|2,{105,86,0}}, +/* 14103 */ {(12<<2)|2,{105,86,0}}, +/* 14104 */ {(12<<2)|2,{105,86,0}}, +/* 14105 */ {(12<<2)|2,{105,86,0}}, +/* 14106 */ {(12<<2)|2,{105,86,0}}, +/* 14107 */ {(12<<2)|2,{105,86,0}}, +/* 14108 */ {(12<<2)|2,{105,86,0}}, +/* 14109 */ {(12<<2)|2,{105,86,0}}, +/* 14110 */ {(12<<2)|2,{105,86,0}}, +/* 14111 */ {(12<<2)|2,{105,86,0}}, +/* 14112 */ {(12<<2)|2,{105,87,0}}, +/* 14113 */ {(12<<2)|2,{105,87,0}}, +/* 14114 */ {(12<<2)|2,{105,87,0}}, +/* 14115 */ {(12<<2)|2,{105,87,0}}, +/* 14116 */ {(12<<2)|2,{105,87,0}}, +/* 14117 */ {(12<<2)|2,{105,87,0}}, +/* 14118 */ {(12<<2)|2,{105,87,0}}, +/* 14119 */ {(12<<2)|2,{105,87,0}}, +/* 14120 */ {(12<<2)|2,{105,87,0}}, +/* 14121 */ {(12<<2)|2,{105,87,0}}, +/* 14122 */ {(12<<2)|2,{105,87,0}}, +/* 14123 */ {(12<<2)|2,{105,87,0}}, +/* 14124 */ {(12<<2)|2,{105,87,0}}, +/* 14125 */ {(12<<2)|2,{105,87,0}}, +/* 14126 */ {(12<<2)|2,{105,87,0}}, +/* 14127 */ {(12<<2)|2,{105,87,0}}, +/* 14128 */ {(12<<2)|2,{105,89,0}}, +/* 14129 */ {(12<<2)|2,{105,89,0}}, +/* 14130 */ {(12<<2)|2,{105,89,0}}, +/* 14131 */ {(12<<2)|2,{105,89,0}}, +/* 14132 */ {(12<<2)|2,{105,89,0}}, +/* 14133 */ {(12<<2)|2,{105,89,0}}, +/* 14134 */ {(12<<2)|2,{105,89,0}}, +/* 14135 */ {(12<<2)|2,{105,89,0}}, +/* 14136 */ {(12<<2)|2,{105,89,0}}, +/* 14137 */ {(12<<2)|2,{105,89,0}}, +/* 14138 */ {(12<<2)|2,{105,89,0}}, +/* 14139 */ {(12<<2)|2,{105,89,0}}, +/* 14140 */ {(12<<2)|2,{105,89,0}}, +/* 14141 */ {(12<<2)|2,{105,89,0}}, +/* 14142 */ {(12<<2)|2,{105,89,0}}, +/* 14143 */ {(12<<2)|2,{105,89,0}}, +/* 14144 */ {(12<<2)|2,{105,106,0}}, +/* 14145 */ {(12<<2)|2,{105,106,0}}, +/* 14146 */ {(12<<2)|2,{105,106,0}}, +/* 14147 */ {(12<<2)|2,{105,106,0}}, +/* 14148 */ {(12<<2)|2,{105,106,0}}, +/* 14149 */ {(12<<2)|2,{105,106,0}}, +/* 14150 */ {(12<<2)|2,{105,106,0}}, +/* 14151 */ {(12<<2)|2,{105,106,0}}, +/* 14152 */ {(12<<2)|2,{105,106,0}}, +/* 14153 */ {(12<<2)|2,{105,106,0}}, +/* 14154 */ {(12<<2)|2,{105,106,0}}, +/* 14155 */ {(12<<2)|2,{105,106,0}}, +/* 14156 */ {(12<<2)|2,{105,106,0}}, +/* 14157 */ {(12<<2)|2,{105,106,0}}, +/* 14158 */ {(12<<2)|2,{105,106,0}}, +/* 14159 */ {(12<<2)|2,{105,106,0}}, +/* 14160 */ {(12<<2)|2,{105,107,0}}, +/* 14161 */ {(12<<2)|2,{105,107,0}}, +/* 14162 */ {(12<<2)|2,{105,107,0}}, +/* 14163 */ {(12<<2)|2,{105,107,0}}, +/* 14164 */ {(12<<2)|2,{105,107,0}}, +/* 14165 */ {(12<<2)|2,{105,107,0}}, +/* 14166 */ {(12<<2)|2,{105,107,0}}, +/* 14167 */ {(12<<2)|2,{105,107,0}}, +/* 14168 */ {(12<<2)|2,{105,107,0}}, +/* 14169 */ {(12<<2)|2,{105,107,0}}, +/* 14170 */ {(12<<2)|2,{105,107,0}}, +/* 14171 */ {(12<<2)|2,{105,107,0}}, +/* 14172 */ {(12<<2)|2,{105,107,0}}, +/* 14173 */ {(12<<2)|2,{105,107,0}}, +/* 14174 */ {(12<<2)|2,{105,107,0}}, +/* 14175 */ {(12<<2)|2,{105,107,0}}, +/* 14176 */ {(12<<2)|2,{105,113,0}}, +/* 14177 */ {(12<<2)|2,{105,113,0}}, +/* 14178 */ {(12<<2)|2,{105,113,0}}, +/* 14179 */ {(12<<2)|2,{105,113,0}}, +/* 14180 */ {(12<<2)|2,{105,113,0}}, +/* 14181 */ {(12<<2)|2,{105,113,0}}, +/* 14182 */ {(12<<2)|2,{105,113,0}}, +/* 14183 */ {(12<<2)|2,{105,113,0}}, +/* 14184 */ {(12<<2)|2,{105,113,0}}, +/* 14185 */ {(12<<2)|2,{105,113,0}}, +/* 14186 */ {(12<<2)|2,{105,113,0}}, +/* 14187 */ {(12<<2)|2,{105,113,0}}, +/* 14188 */ {(12<<2)|2,{105,113,0}}, +/* 14189 */ {(12<<2)|2,{105,113,0}}, +/* 14190 */ {(12<<2)|2,{105,113,0}}, +/* 14191 */ {(12<<2)|2,{105,113,0}}, +/* 14192 */ {(12<<2)|2,{105,118,0}}, +/* 14193 */ {(12<<2)|2,{105,118,0}}, +/* 14194 */ {(12<<2)|2,{105,118,0}}, +/* 14195 */ {(12<<2)|2,{105,118,0}}, +/* 14196 */ {(12<<2)|2,{105,118,0}}, +/* 14197 */ {(12<<2)|2,{105,118,0}}, +/* 14198 */ {(12<<2)|2,{105,118,0}}, +/* 14199 */ {(12<<2)|2,{105,118,0}}, +/* 14200 */ {(12<<2)|2,{105,118,0}}, +/* 14201 */ {(12<<2)|2,{105,118,0}}, +/* 14202 */ {(12<<2)|2,{105,118,0}}, +/* 14203 */ {(12<<2)|2,{105,118,0}}, +/* 14204 */ {(12<<2)|2,{105,118,0}}, +/* 14205 */ {(12<<2)|2,{105,118,0}}, +/* 14206 */ {(12<<2)|2,{105,118,0}}, +/* 14207 */ {(12<<2)|2,{105,118,0}}, +/* 14208 */ {(12<<2)|2,{105,119,0}}, +/* 14209 */ {(12<<2)|2,{105,119,0}}, +/* 14210 */ {(12<<2)|2,{105,119,0}}, +/* 14211 */ {(12<<2)|2,{105,119,0}}, +/* 14212 */ {(12<<2)|2,{105,119,0}}, +/* 14213 */ {(12<<2)|2,{105,119,0}}, +/* 14214 */ {(12<<2)|2,{105,119,0}}, +/* 14215 */ {(12<<2)|2,{105,119,0}}, +/* 14216 */ {(12<<2)|2,{105,119,0}}, +/* 14217 */ {(12<<2)|2,{105,119,0}}, +/* 14218 */ {(12<<2)|2,{105,119,0}}, +/* 14219 */ {(12<<2)|2,{105,119,0}}, +/* 14220 */ {(12<<2)|2,{105,119,0}}, +/* 14221 */ {(12<<2)|2,{105,119,0}}, +/* 14222 */ {(12<<2)|2,{105,119,0}}, +/* 14223 */ {(12<<2)|2,{105,119,0}}, +/* 14224 */ {(12<<2)|2,{105,120,0}}, +/* 14225 */ {(12<<2)|2,{105,120,0}}, +/* 14226 */ {(12<<2)|2,{105,120,0}}, +/* 14227 */ {(12<<2)|2,{105,120,0}}, +/* 14228 */ {(12<<2)|2,{105,120,0}}, +/* 14229 */ {(12<<2)|2,{105,120,0}}, +/* 14230 */ {(12<<2)|2,{105,120,0}}, +/* 14231 */ {(12<<2)|2,{105,120,0}}, +/* 14232 */ {(12<<2)|2,{105,120,0}}, +/* 14233 */ {(12<<2)|2,{105,120,0}}, +/* 14234 */ {(12<<2)|2,{105,120,0}}, +/* 14235 */ {(12<<2)|2,{105,120,0}}, +/* 14236 */ {(12<<2)|2,{105,120,0}}, +/* 14237 */ {(12<<2)|2,{105,120,0}}, +/* 14238 */ {(12<<2)|2,{105,120,0}}, +/* 14239 */ {(12<<2)|2,{105,120,0}}, +/* 14240 */ {(12<<2)|2,{105,121,0}}, +/* 14241 */ {(12<<2)|2,{105,121,0}}, +/* 14242 */ {(12<<2)|2,{105,121,0}}, +/* 14243 */ {(12<<2)|2,{105,121,0}}, +/* 14244 */ {(12<<2)|2,{105,121,0}}, +/* 14245 */ {(12<<2)|2,{105,121,0}}, +/* 14246 */ {(12<<2)|2,{105,121,0}}, +/* 14247 */ {(12<<2)|2,{105,121,0}}, +/* 14248 */ {(12<<2)|2,{105,121,0}}, +/* 14249 */ {(12<<2)|2,{105,121,0}}, +/* 14250 */ {(12<<2)|2,{105,121,0}}, +/* 14251 */ {(12<<2)|2,{105,121,0}}, +/* 14252 */ {(12<<2)|2,{105,121,0}}, +/* 14253 */ {(12<<2)|2,{105,121,0}}, +/* 14254 */ {(12<<2)|2,{105,121,0}}, +/* 14255 */ {(12<<2)|2,{105,121,0}}, +/* 14256 */ {(12<<2)|2,{105,122,0}}, +/* 14257 */ {(12<<2)|2,{105,122,0}}, +/* 14258 */ {(12<<2)|2,{105,122,0}}, +/* 14259 */ {(12<<2)|2,{105,122,0}}, +/* 14260 */ {(12<<2)|2,{105,122,0}}, +/* 14261 */ {(12<<2)|2,{105,122,0}}, +/* 14262 */ {(12<<2)|2,{105,122,0}}, +/* 14263 */ {(12<<2)|2,{105,122,0}}, +/* 14264 */ {(12<<2)|2,{105,122,0}}, +/* 14265 */ {(12<<2)|2,{105,122,0}}, +/* 14266 */ {(12<<2)|2,{105,122,0}}, +/* 14267 */ {(12<<2)|2,{105,122,0}}, +/* 14268 */ {(12<<2)|2,{105,122,0}}, +/* 14269 */ {(12<<2)|2,{105,122,0}}, +/* 14270 */ {(12<<2)|2,{105,122,0}}, +/* 14271 */ {(12<<2)|2,{105,122,0}}, +/* 14272 */ {(13<<2)|2,{105,38,0}}, +/* 14273 */ {(13<<2)|2,{105,38,0}}, +/* 14274 */ {(13<<2)|2,{105,38,0}}, +/* 14275 */ {(13<<2)|2,{105,38,0}}, +/* 14276 */ {(13<<2)|2,{105,38,0}}, +/* 14277 */ {(13<<2)|2,{105,38,0}}, +/* 14278 */ {(13<<2)|2,{105,38,0}}, +/* 14279 */ {(13<<2)|2,{105,38,0}}, +/* 14280 */ {(13<<2)|2,{105,42,0}}, +/* 14281 */ {(13<<2)|2,{105,42,0}}, +/* 14282 */ {(13<<2)|2,{105,42,0}}, +/* 14283 */ {(13<<2)|2,{105,42,0}}, +/* 14284 */ {(13<<2)|2,{105,42,0}}, +/* 14285 */ {(13<<2)|2,{105,42,0}}, +/* 14286 */ {(13<<2)|2,{105,42,0}}, +/* 14287 */ {(13<<2)|2,{105,42,0}}, +/* 14288 */ {(13<<2)|2,{105,44,0}}, +/* 14289 */ {(13<<2)|2,{105,44,0}}, +/* 14290 */ {(13<<2)|2,{105,44,0}}, +/* 14291 */ {(13<<2)|2,{105,44,0}}, +/* 14292 */ {(13<<2)|2,{105,44,0}}, +/* 14293 */ {(13<<2)|2,{105,44,0}}, +/* 14294 */ {(13<<2)|2,{105,44,0}}, +/* 14295 */ {(13<<2)|2,{105,44,0}}, +/* 14296 */ {(13<<2)|2,{105,59,0}}, +/* 14297 */ {(13<<2)|2,{105,59,0}}, +/* 14298 */ {(13<<2)|2,{105,59,0}}, +/* 14299 */ {(13<<2)|2,{105,59,0}}, +/* 14300 */ {(13<<2)|2,{105,59,0}}, +/* 14301 */ {(13<<2)|2,{105,59,0}}, +/* 14302 */ {(13<<2)|2,{105,59,0}}, +/* 14303 */ {(13<<2)|2,{105,59,0}}, +/* 14304 */ {(13<<2)|2,{105,88,0}}, +/* 14305 */ {(13<<2)|2,{105,88,0}}, +/* 14306 */ {(13<<2)|2,{105,88,0}}, +/* 14307 */ {(13<<2)|2,{105,88,0}}, +/* 14308 */ {(13<<2)|2,{105,88,0}}, +/* 14309 */ {(13<<2)|2,{105,88,0}}, +/* 14310 */ {(13<<2)|2,{105,88,0}}, +/* 14311 */ {(13<<2)|2,{105,88,0}}, +/* 14312 */ {(13<<2)|2,{105,90,0}}, +/* 14313 */ {(13<<2)|2,{105,90,0}}, +/* 14314 */ {(13<<2)|2,{105,90,0}}, +/* 14315 */ {(13<<2)|2,{105,90,0}}, +/* 14316 */ {(13<<2)|2,{105,90,0}}, +/* 14317 */ {(13<<2)|2,{105,90,0}}, +/* 14318 */ {(13<<2)|2,{105,90,0}}, +/* 14319 */ {(13<<2)|2,{105,90,0}}, +/* 14320 */ {(15<<2)|2,{105,33,0}}, +/* 14321 */ {(15<<2)|2,{105,33,0}}, +/* 14322 */ {(15<<2)|2,{105,34,0}}, +/* 14323 */ {(15<<2)|2,{105,34,0}}, +/* 14324 */ {(15<<2)|2,{105,40,0}}, +/* 14325 */ {(15<<2)|2,{105,40,0}}, +/* 14326 */ {(15<<2)|2,{105,41,0}}, +/* 14327 */ {(15<<2)|2,{105,41,0}}, +/* 14328 */ {(15<<2)|2,{105,63,0}}, +/* 14329 */ {(15<<2)|2,{105,63,0}}, +/* 14330 */ {(16<<2)|2,{105,39,0}}, +/* 14331 */ {(16<<2)|2,{105,43,0}}, +/* 14332 */ {(16<<2)|2,{105,124,0}}, +/* 14333 */ {(5<<2)|1,{105,0,0}}, +/* 14334 */ {(5<<2)|1,{105,0,0}}, +/* 14335 */ {(5<<2)|1,{105,0,0}}, +/* 14336 */ {(15<<2)|3,{111,48,48}}, +/* 14337 */ {(15<<2)|3,{111,48,48}}, +/* 14338 */ {(15<<2)|3,{111,48,49}}, +/* 14339 */ {(15<<2)|3,{111,48,49}}, +/* 14340 */ {(15<<2)|3,{111,48,50}}, +/* 14341 */ {(15<<2)|3,{111,48,50}}, +/* 14342 */ {(15<<2)|3,{111,48,97}}, +/* 14343 */ {(15<<2)|3,{111,48,97}}, +/* 14344 */ {(15<<2)|3,{111,48,99}}, +/* 14345 */ {(15<<2)|3,{111,48,99}}, +/* 14346 */ {(15<<2)|3,{111,48,101}}, +/* 14347 */ {(15<<2)|3,{111,48,101}}, +/* 14348 */ {(15<<2)|3,{111,48,105}}, +/* 14349 */ {(15<<2)|3,{111,48,105}}, +/* 14350 */ {(15<<2)|3,{111,48,111}}, +/* 14351 */ {(15<<2)|3,{111,48,111}}, +/* 14352 */ {(15<<2)|3,{111,48,115}}, +/* 14353 */ {(15<<2)|3,{111,48,115}}, +/* 14354 */ {(15<<2)|3,{111,48,116}}, +/* 14355 */ {(15<<2)|3,{111,48,116}}, +/* 14356 */ {(16<<2)|3,{111,48,32}}, +/* 14357 */ {(16<<2)|3,{111,48,37}}, +/* 14358 */ {(16<<2)|3,{111,48,45}}, +/* 14359 */ {(16<<2)|3,{111,48,46}}, +/* 14360 */ {(16<<2)|3,{111,48,47}}, +/* 14361 */ {(16<<2)|3,{111,48,51}}, +/* 14362 */ {(16<<2)|3,{111,48,52}}, +/* 14363 */ {(16<<2)|3,{111,48,53}}, +/* 14364 */ {(16<<2)|3,{111,48,54}}, +/* 14365 */ {(16<<2)|3,{111,48,55}}, +/* 14366 */ {(16<<2)|3,{111,48,56}}, +/* 14367 */ {(16<<2)|3,{111,48,57}}, +/* 14368 */ {(16<<2)|3,{111,48,61}}, +/* 14369 */ {(16<<2)|3,{111,48,65}}, +/* 14370 */ {(16<<2)|3,{111,48,95}}, +/* 14371 */ {(16<<2)|3,{111,48,98}}, +/* 14372 */ {(16<<2)|3,{111,48,100}}, +/* 14373 */ {(16<<2)|3,{111,48,102}}, +/* 14374 */ {(16<<2)|3,{111,48,103}}, +/* 14375 */ {(16<<2)|3,{111,48,104}}, +/* 14376 */ {(16<<2)|3,{111,48,108}}, +/* 14377 */ {(16<<2)|3,{111,48,109}}, +/* 14378 */ {(16<<2)|3,{111,48,110}}, +/* 14379 */ {(16<<2)|3,{111,48,112}}, +/* 14380 */ {(16<<2)|3,{111,48,114}}, +/* 14381 */ {(16<<2)|3,{111,48,117}}, +/* 14382 */ {(10<<2)|2,{111,48,0}}, +/* 14383 */ {(10<<2)|2,{111,48,0}}, +/* 14384 */ {(10<<2)|2,{111,48,0}}, +/* 14385 */ {(10<<2)|2,{111,48,0}}, +/* 14386 */ {(10<<2)|2,{111,48,0}}, +/* 14387 */ {(10<<2)|2,{111,48,0}}, +/* 14388 */ {(10<<2)|2,{111,48,0}}, +/* 14389 */ {(10<<2)|2,{111,48,0}}, +/* 14390 */ {(10<<2)|2,{111,48,0}}, +/* 14391 */ {(10<<2)|2,{111,48,0}}, +/* 14392 */ {(10<<2)|2,{111,48,0}}, +/* 14393 */ {(10<<2)|2,{111,48,0}}, +/* 14394 */ {(10<<2)|2,{111,48,0}}, +/* 14395 */ {(10<<2)|2,{111,48,0}}, +/* 14396 */ {(10<<2)|2,{111,48,0}}, +/* 14397 */ {(10<<2)|2,{111,48,0}}, +/* 14398 */ {(10<<2)|2,{111,48,0}}, +/* 14399 */ {(10<<2)|2,{111,48,0}}, +/* 14400 */ {(15<<2)|3,{111,49,48}}, +/* 14401 */ {(15<<2)|3,{111,49,48}}, +/* 14402 */ {(15<<2)|3,{111,49,49}}, +/* 14403 */ {(15<<2)|3,{111,49,49}}, +/* 14404 */ {(15<<2)|3,{111,49,50}}, +/* 14405 */ {(15<<2)|3,{111,49,50}}, +/* 14406 */ {(15<<2)|3,{111,49,97}}, +/* 14407 */ {(15<<2)|3,{111,49,97}}, +/* 14408 */ {(15<<2)|3,{111,49,99}}, +/* 14409 */ {(15<<2)|3,{111,49,99}}, +/* 14410 */ {(15<<2)|3,{111,49,101}}, +/* 14411 */ {(15<<2)|3,{111,49,101}}, +/* 14412 */ {(15<<2)|3,{111,49,105}}, +/* 14413 */ {(15<<2)|3,{111,49,105}}, +/* 14414 */ {(15<<2)|3,{111,49,111}}, +/* 14415 */ {(15<<2)|3,{111,49,111}}, +/* 14416 */ {(15<<2)|3,{111,49,115}}, +/* 14417 */ {(15<<2)|3,{111,49,115}}, +/* 14418 */ {(15<<2)|3,{111,49,116}}, +/* 14419 */ {(15<<2)|3,{111,49,116}}, +/* 14420 */ {(16<<2)|3,{111,49,32}}, +/* 14421 */ {(16<<2)|3,{111,49,37}}, +/* 14422 */ {(16<<2)|3,{111,49,45}}, +/* 14423 */ {(16<<2)|3,{111,49,46}}, +/* 14424 */ {(16<<2)|3,{111,49,47}}, +/* 14425 */ {(16<<2)|3,{111,49,51}}, +/* 14426 */ {(16<<2)|3,{111,49,52}}, +/* 14427 */ {(16<<2)|3,{111,49,53}}, +/* 14428 */ {(16<<2)|3,{111,49,54}}, +/* 14429 */ {(16<<2)|3,{111,49,55}}, +/* 14430 */ {(16<<2)|3,{111,49,56}}, +/* 14431 */ {(16<<2)|3,{111,49,57}}, +/* 14432 */ {(16<<2)|3,{111,49,61}}, +/* 14433 */ {(16<<2)|3,{111,49,65}}, +/* 14434 */ {(16<<2)|3,{111,49,95}}, +/* 14435 */ {(16<<2)|3,{111,49,98}}, +/* 14436 */ {(16<<2)|3,{111,49,100}}, +/* 14437 */ {(16<<2)|3,{111,49,102}}, +/* 14438 */ {(16<<2)|3,{111,49,103}}, +/* 14439 */ {(16<<2)|3,{111,49,104}}, +/* 14440 */ {(16<<2)|3,{111,49,108}}, +/* 14441 */ {(16<<2)|3,{111,49,109}}, +/* 14442 */ {(16<<2)|3,{111,49,110}}, +/* 14443 */ {(16<<2)|3,{111,49,112}}, +/* 14444 */ {(16<<2)|3,{111,49,114}}, +/* 14445 */ {(16<<2)|3,{111,49,117}}, +/* 14446 */ {(10<<2)|2,{111,49,0}}, +/* 14447 */ {(10<<2)|2,{111,49,0}}, +/* 14448 */ {(10<<2)|2,{111,49,0}}, +/* 14449 */ {(10<<2)|2,{111,49,0}}, +/* 14450 */ {(10<<2)|2,{111,49,0}}, +/* 14451 */ {(10<<2)|2,{111,49,0}}, +/* 14452 */ {(10<<2)|2,{111,49,0}}, +/* 14453 */ {(10<<2)|2,{111,49,0}}, +/* 14454 */ {(10<<2)|2,{111,49,0}}, +/* 14455 */ {(10<<2)|2,{111,49,0}}, +/* 14456 */ {(10<<2)|2,{111,49,0}}, +/* 14457 */ {(10<<2)|2,{111,49,0}}, +/* 14458 */ {(10<<2)|2,{111,49,0}}, +/* 14459 */ {(10<<2)|2,{111,49,0}}, +/* 14460 */ {(10<<2)|2,{111,49,0}}, +/* 14461 */ {(10<<2)|2,{111,49,0}}, +/* 14462 */ {(10<<2)|2,{111,49,0}}, +/* 14463 */ {(10<<2)|2,{111,49,0}}, +/* 14464 */ {(15<<2)|3,{111,50,48}}, +/* 14465 */ {(15<<2)|3,{111,50,48}}, +/* 14466 */ {(15<<2)|3,{111,50,49}}, +/* 14467 */ {(15<<2)|3,{111,50,49}}, +/* 14468 */ {(15<<2)|3,{111,50,50}}, +/* 14469 */ {(15<<2)|3,{111,50,50}}, +/* 14470 */ {(15<<2)|3,{111,50,97}}, +/* 14471 */ {(15<<2)|3,{111,50,97}}, +/* 14472 */ {(15<<2)|3,{111,50,99}}, +/* 14473 */ {(15<<2)|3,{111,50,99}}, +/* 14474 */ {(15<<2)|3,{111,50,101}}, +/* 14475 */ {(15<<2)|3,{111,50,101}}, +/* 14476 */ {(15<<2)|3,{111,50,105}}, +/* 14477 */ {(15<<2)|3,{111,50,105}}, +/* 14478 */ {(15<<2)|3,{111,50,111}}, +/* 14479 */ {(15<<2)|3,{111,50,111}}, +/* 14480 */ {(15<<2)|3,{111,50,115}}, +/* 14481 */ {(15<<2)|3,{111,50,115}}, +/* 14482 */ {(15<<2)|3,{111,50,116}}, +/* 14483 */ {(15<<2)|3,{111,50,116}}, +/* 14484 */ {(16<<2)|3,{111,50,32}}, +/* 14485 */ {(16<<2)|3,{111,50,37}}, +/* 14486 */ {(16<<2)|3,{111,50,45}}, +/* 14487 */ {(16<<2)|3,{111,50,46}}, +/* 14488 */ {(16<<2)|3,{111,50,47}}, +/* 14489 */ {(16<<2)|3,{111,50,51}}, +/* 14490 */ {(16<<2)|3,{111,50,52}}, +/* 14491 */ {(16<<2)|3,{111,50,53}}, +/* 14492 */ {(16<<2)|3,{111,50,54}}, +/* 14493 */ {(16<<2)|3,{111,50,55}}, +/* 14494 */ {(16<<2)|3,{111,50,56}}, +/* 14495 */ {(16<<2)|3,{111,50,57}}, +/* 14496 */ {(16<<2)|3,{111,50,61}}, +/* 14497 */ {(16<<2)|3,{111,50,65}}, +/* 14498 */ {(16<<2)|3,{111,50,95}}, +/* 14499 */ {(16<<2)|3,{111,50,98}}, +/* 14500 */ {(16<<2)|3,{111,50,100}}, +/* 14501 */ {(16<<2)|3,{111,50,102}}, +/* 14502 */ {(16<<2)|3,{111,50,103}}, +/* 14503 */ {(16<<2)|3,{111,50,104}}, +/* 14504 */ {(16<<2)|3,{111,50,108}}, +/* 14505 */ {(16<<2)|3,{111,50,109}}, +/* 14506 */ {(16<<2)|3,{111,50,110}}, +/* 14507 */ {(16<<2)|3,{111,50,112}}, +/* 14508 */ {(16<<2)|3,{111,50,114}}, +/* 14509 */ {(16<<2)|3,{111,50,117}}, +/* 14510 */ {(10<<2)|2,{111,50,0}}, +/* 14511 */ {(10<<2)|2,{111,50,0}}, +/* 14512 */ {(10<<2)|2,{111,50,0}}, +/* 14513 */ {(10<<2)|2,{111,50,0}}, +/* 14514 */ {(10<<2)|2,{111,50,0}}, +/* 14515 */ {(10<<2)|2,{111,50,0}}, +/* 14516 */ {(10<<2)|2,{111,50,0}}, +/* 14517 */ {(10<<2)|2,{111,50,0}}, +/* 14518 */ {(10<<2)|2,{111,50,0}}, +/* 14519 */ {(10<<2)|2,{111,50,0}}, +/* 14520 */ {(10<<2)|2,{111,50,0}}, +/* 14521 */ {(10<<2)|2,{111,50,0}}, +/* 14522 */ {(10<<2)|2,{111,50,0}}, +/* 14523 */ {(10<<2)|2,{111,50,0}}, +/* 14524 */ {(10<<2)|2,{111,50,0}}, +/* 14525 */ {(10<<2)|2,{111,50,0}}, +/* 14526 */ {(10<<2)|2,{111,50,0}}, +/* 14527 */ {(10<<2)|2,{111,50,0}}, +/* 14528 */ {(15<<2)|3,{111,97,48}}, +/* 14529 */ {(15<<2)|3,{111,97,48}}, +/* 14530 */ {(15<<2)|3,{111,97,49}}, +/* 14531 */ {(15<<2)|3,{111,97,49}}, +/* 14532 */ {(15<<2)|3,{111,97,50}}, +/* 14533 */ {(15<<2)|3,{111,97,50}}, +/* 14534 */ {(15<<2)|3,{111,97,97}}, +/* 14535 */ {(15<<2)|3,{111,97,97}}, +/* 14536 */ {(15<<2)|3,{111,97,99}}, +/* 14537 */ {(15<<2)|3,{111,97,99}}, +/* 14538 */ {(15<<2)|3,{111,97,101}}, +/* 14539 */ {(15<<2)|3,{111,97,101}}, +/* 14540 */ {(15<<2)|3,{111,97,105}}, +/* 14541 */ {(15<<2)|3,{111,97,105}}, +/* 14542 */ {(15<<2)|3,{111,97,111}}, +/* 14543 */ {(15<<2)|3,{111,97,111}}, +/* 14544 */ {(15<<2)|3,{111,97,115}}, +/* 14545 */ {(15<<2)|3,{111,97,115}}, +/* 14546 */ {(15<<2)|3,{111,97,116}}, +/* 14547 */ {(15<<2)|3,{111,97,116}}, +/* 14548 */ {(16<<2)|3,{111,97,32}}, +/* 14549 */ {(16<<2)|3,{111,97,37}}, +/* 14550 */ {(16<<2)|3,{111,97,45}}, +/* 14551 */ {(16<<2)|3,{111,97,46}}, +/* 14552 */ {(16<<2)|3,{111,97,47}}, +/* 14553 */ {(16<<2)|3,{111,97,51}}, +/* 14554 */ {(16<<2)|3,{111,97,52}}, +/* 14555 */ {(16<<2)|3,{111,97,53}}, +/* 14556 */ {(16<<2)|3,{111,97,54}}, +/* 14557 */ {(16<<2)|3,{111,97,55}}, +/* 14558 */ {(16<<2)|3,{111,97,56}}, +/* 14559 */ {(16<<2)|3,{111,97,57}}, +/* 14560 */ {(16<<2)|3,{111,97,61}}, +/* 14561 */ {(16<<2)|3,{111,97,65}}, +/* 14562 */ {(16<<2)|3,{111,97,95}}, +/* 14563 */ {(16<<2)|3,{111,97,98}}, +/* 14564 */ {(16<<2)|3,{111,97,100}}, +/* 14565 */ {(16<<2)|3,{111,97,102}}, +/* 14566 */ {(16<<2)|3,{111,97,103}}, +/* 14567 */ {(16<<2)|3,{111,97,104}}, +/* 14568 */ {(16<<2)|3,{111,97,108}}, +/* 14569 */ {(16<<2)|3,{111,97,109}}, +/* 14570 */ {(16<<2)|3,{111,97,110}}, +/* 14571 */ {(16<<2)|3,{111,97,112}}, +/* 14572 */ {(16<<2)|3,{111,97,114}}, +/* 14573 */ {(16<<2)|3,{111,97,117}}, +/* 14574 */ {(10<<2)|2,{111,97,0}}, +/* 14575 */ {(10<<2)|2,{111,97,0}}, +/* 14576 */ {(10<<2)|2,{111,97,0}}, +/* 14577 */ {(10<<2)|2,{111,97,0}}, +/* 14578 */ {(10<<2)|2,{111,97,0}}, +/* 14579 */ {(10<<2)|2,{111,97,0}}, +/* 14580 */ {(10<<2)|2,{111,97,0}}, +/* 14581 */ {(10<<2)|2,{111,97,0}}, +/* 14582 */ {(10<<2)|2,{111,97,0}}, +/* 14583 */ {(10<<2)|2,{111,97,0}}, +/* 14584 */ {(10<<2)|2,{111,97,0}}, +/* 14585 */ {(10<<2)|2,{111,97,0}}, +/* 14586 */ {(10<<2)|2,{111,97,0}}, +/* 14587 */ {(10<<2)|2,{111,97,0}}, +/* 14588 */ {(10<<2)|2,{111,97,0}}, +/* 14589 */ {(10<<2)|2,{111,97,0}}, +/* 14590 */ {(10<<2)|2,{111,97,0}}, +/* 14591 */ {(10<<2)|2,{111,97,0}}, +/* 14592 */ {(15<<2)|3,{111,99,48}}, +/* 14593 */ {(15<<2)|3,{111,99,48}}, +/* 14594 */ {(15<<2)|3,{111,99,49}}, +/* 14595 */ {(15<<2)|3,{111,99,49}}, +/* 14596 */ {(15<<2)|3,{111,99,50}}, +/* 14597 */ {(15<<2)|3,{111,99,50}}, +/* 14598 */ {(15<<2)|3,{111,99,97}}, +/* 14599 */ {(15<<2)|3,{111,99,97}}, +/* 14600 */ {(15<<2)|3,{111,99,99}}, +/* 14601 */ {(15<<2)|3,{111,99,99}}, +/* 14602 */ {(15<<2)|3,{111,99,101}}, +/* 14603 */ {(15<<2)|3,{111,99,101}}, +/* 14604 */ {(15<<2)|3,{111,99,105}}, +/* 14605 */ {(15<<2)|3,{111,99,105}}, +/* 14606 */ {(15<<2)|3,{111,99,111}}, +/* 14607 */ {(15<<2)|3,{111,99,111}}, +/* 14608 */ {(15<<2)|3,{111,99,115}}, +/* 14609 */ {(15<<2)|3,{111,99,115}}, +/* 14610 */ {(15<<2)|3,{111,99,116}}, +/* 14611 */ {(15<<2)|3,{111,99,116}}, +/* 14612 */ {(16<<2)|3,{111,99,32}}, +/* 14613 */ {(16<<2)|3,{111,99,37}}, +/* 14614 */ {(16<<2)|3,{111,99,45}}, +/* 14615 */ {(16<<2)|3,{111,99,46}}, +/* 14616 */ {(16<<2)|3,{111,99,47}}, +/* 14617 */ {(16<<2)|3,{111,99,51}}, +/* 14618 */ {(16<<2)|3,{111,99,52}}, +/* 14619 */ {(16<<2)|3,{111,99,53}}, +/* 14620 */ {(16<<2)|3,{111,99,54}}, +/* 14621 */ {(16<<2)|3,{111,99,55}}, +/* 14622 */ {(16<<2)|3,{111,99,56}}, +/* 14623 */ {(16<<2)|3,{111,99,57}}, +/* 14624 */ {(16<<2)|3,{111,99,61}}, +/* 14625 */ {(16<<2)|3,{111,99,65}}, +/* 14626 */ {(16<<2)|3,{111,99,95}}, +/* 14627 */ {(16<<2)|3,{111,99,98}}, +/* 14628 */ {(16<<2)|3,{111,99,100}}, +/* 14629 */ {(16<<2)|3,{111,99,102}}, +/* 14630 */ {(16<<2)|3,{111,99,103}}, +/* 14631 */ {(16<<2)|3,{111,99,104}}, +/* 14632 */ {(16<<2)|3,{111,99,108}}, +/* 14633 */ {(16<<2)|3,{111,99,109}}, +/* 14634 */ {(16<<2)|3,{111,99,110}}, +/* 14635 */ {(16<<2)|3,{111,99,112}}, +/* 14636 */ {(16<<2)|3,{111,99,114}}, +/* 14637 */ {(16<<2)|3,{111,99,117}}, +/* 14638 */ {(10<<2)|2,{111,99,0}}, +/* 14639 */ {(10<<2)|2,{111,99,0}}, +/* 14640 */ {(10<<2)|2,{111,99,0}}, +/* 14641 */ {(10<<2)|2,{111,99,0}}, +/* 14642 */ {(10<<2)|2,{111,99,0}}, +/* 14643 */ {(10<<2)|2,{111,99,0}}, +/* 14644 */ {(10<<2)|2,{111,99,0}}, +/* 14645 */ {(10<<2)|2,{111,99,0}}, +/* 14646 */ {(10<<2)|2,{111,99,0}}, +/* 14647 */ {(10<<2)|2,{111,99,0}}, +/* 14648 */ {(10<<2)|2,{111,99,0}}, +/* 14649 */ {(10<<2)|2,{111,99,0}}, +/* 14650 */ {(10<<2)|2,{111,99,0}}, +/* 14651 */ {(10<<2)|2,{111,99,0}}, +/* 14652 */ {(10<<2)|2,{111,99,0}}, +/* 14653 */ {(10<<2)|2,{111,99,0}}, +/* 14654 */ {(10<<2)|2,{111,99,0}}, +/* 14655 */ {(10<<2)|2,{111,99,0}}, +/* 14656 */ {(15<<2)|3,{111,101,48}}, +/* 14657 */ {(15<<2)|3,{111,101,48}}, +/* 14658 */ {(15<<2)|3,{111,101,49}}, +/* 14659 */ {(15<<2)|3,{111,101,49}}, +/* 14660 */ {(15<<2)|3,{111,101,50}}, +/* 14661 */ {(15<<2)|3,{111,101,50}}, +/* 14662 */ {(15<<2)|3,{111,101,97}}, +/* 14663 */ {(15<<2)|3,{111,101,97}}, +/* 14664 */ {(15<<2)|3,{111,101,99}}, +/* 14665 */ {(15<<2)|3,{111,101,99}}, +/* 14666 */ {(15<<2)|3,{111,101,101}}, +/* 14667 */ {(15<<2)|3,{111,101,101}}, +/* 14668 */ {(15<<2)|3,{111,101,105}}, +/* 14669 */ {(15<<2)|3,{111,101,105}}, +/* 14670 */ {(15<<2)|3,{111,101,111}}, +/* 14671 */ {(15<<2)|3,{111,101,111}}, +/* 14672 */ {(15<<2)|3,{111,101,115}}, +/* 14673 */ {(15<<2)|3,{111,101,115}}, +/* 14674 */ {(15<<2)|3,{111,101,116}}, +/* 14675 */ {(15<<2)|3,{111,101,116}}, +/* 14676 */ {(16<<2)|3,{111,101,32}}, +/* 14677 */ {(16<<2)|3,{111,101,37}}, +/* 14678 */ {(16<<2)|3,{111,101,45}}, +/* 14679 */ {(16<<2)|3,{111,101,46}}, +/* 14680 */ {(16<<2)|3,{111,101,47}}, +/* 14681 */ {(16<<2)|3,{111,101,51}}, +/* 14682 */ {(16<<2)|3,{111,101,52}}, +/* 14683 */ {(16<<2)|3,{111,101,53}}, +/* 14684 */ {(16<<2)|3,{111,101,54}}, +/* 14685 */ {(16<<2)|3,{111,101,55}}, +/* 14686 */ {(16<<2)|3,{111,101,56}}, +/* 14687 */ {(16<<2)|3,{111,101,57}}, +/* 14688 */ {(16<<2)|3,{111,101,61}}, +/* 14689 */ {(16<<2)|3,{111,101,65}}, +/* 14690 */ {(16<<2)|3,{111,101,95}}, +/* 14691 */ {(16<<2)|3,{111,101,98}}, +/* 14692 */ {(16<<2)|3,{111,101,100}}, +/* 14693 */ {(16<<2)|3,{111,101,102}}, +/* 14694 */ {(16<<2)|3,{111,101,103}}, +/* 14695 */ {(16<<2)|3,{111,101,104}}, +/* 14696 */ {(16<<2)|3,{111,101,108}}, +/* 14697 */ {(16<<2)|3,{111,101,109}}, +/* 14698 */ {(16<<2)|3,{111,101,110}}, +/* 14699 */ {(16<<2)|3,{111,101,112}}, +/* 14700 */ {(16<<2)|3,{111,101,114}}, +/* 14701 */ {(16<<2)|3,{111,101,117}}, +/* 14702 */ {(10<<2)|2,{111,101,0}}, +/* 14703 */ {(10<<2)|2,{111,101,0}}, +/* 14704 */ {(10<<2)|2,{111,101,0}}, +/* 14705 */ {(10<<2)|2,{111,101,0}}, +/* 14706 */ {(10<<2)|2,{111,101,0}}, +/* 14707 */ {(10<<2)|2,{111,101,0}}, +/* 14708 */ {(10<<2)|2,{111,101,0}}, +/* 14709 */ {(10<<2)|2,{111,101,0}}, +/* 14710 */ {(10<<2)|2,{111,101,0}}, +/* 14711 */ {(10<<2)|2,{111,101,0}}, +/* 14712 */ {(10<<2)|2,{111,101,0}}, +/* 14713 */ {(10<<2)|2,{111,101,0}}, +/* 14714 */ {(10<<2)|2,{111,101,0}}, +/* 14715 */ {(10<<2)|2,{111,101,0}}, +/* 14716 */ {(10<<2)|2,{111,101,0}}, +/* 14717 */ {(10<<2)|2,{111,101,0}}, +/* 14718 */ {(10<<2)|2,{111,101,0}}, +/* 14719 */ {(10<<2)|2,{111,101,0}}, +/* 14720 */ {(15<<2)|3,{111,105,48}}, +/* 14721 */ {(15<<2)|3,{111,105,48}}, +/* 14722 */ {(15<<2)|3,{111,105,49}}, +/* 14723 */ {(15<<2)|3,{111,105,49}}, +/* 14724 */ {(15<<2)|3,{111,105,50}}, +/* 14725 */ {(15<<2)|3,{111,105,50}}, +/* 14726 */ {(15<<2)|3,{111,105,97}}, +/* 14727 */ {(15<<2)|3,{111,105,97}}, +/* 14728 */ {(15<<2)|3,{111,105,99}}, +/* 14729 */ {(15<<2)|3,{111,105,99}}, +/* 14730 */ {(15<<2)|3,{111,105,101}}, +/* 14731 */ {(15<<2)|3,{111,105,101}}, +/* 14732 */ {(15<<2)|3,{111,105,105}}, +/* 14733 */ {(15<<2)|3,{111,105,105}}, +/* 14734 */ {(15<<2)|3,{111,105,111}}, +/* 14735 */ {(15<<2)|3,{111,105,111}}, +/* 14736 */ {(15<<2)|3,{111,105,115}}, +/* 14737 */ {(15<<2)|3,{111,105,115}}, +/* 14738 */ {(15<<2)|3,{111,105,116}}, +/* 14739 */ {(15<<2)|3,{111,105,116}}, +/* 14740 */ {(16<<2)|3,{111,105,32}}, +/* 14741 */ {(16<<2)|3,{111,105,37}}, +/* 14742 */ {(16<<2)|3,{111,105,45}}, +/* 14743 */ {(16<<2)|3,{111,105,46}}, +/* 14744 */ {(16<<2)|3,{111,105,47}}, +/* 14745 */ {(16<<2)|3,{111,105,51}}, +/* 14746 */ {(16<<2)|3,{111,105,52}}, +/* 14747 */ {(16<<2)|3,{111,105,53}}, +/* 14748 */ {(16<<2)|3,{111,105,54}}, +/* 14749 */ {(16<<2)|3,{111,105,55}}, +/* 14750 */ {(16<<2)|3,{111,105,56}}, +/* 14751 */ {(16<<2)|3,{111,105,57}}, +/* 14752 */ {(16<<2)|3,{111,105,61}}, +/* 14753 */ {(16<<2)|3,{111,105,65}}, +/* 14754 */ {(16<<2)|3,{111,105,95}}, +/* 14755 */ {(16<<2)|3,{111,105,98}}, +/* 14756 */ {(16<<2)|3,{111,105,100}}, +/* 14757 */ {(16<<2)|3,{111,105,102}}, +/* 14758 */ {(16<<2)|3,{111,105,103}}, +/* 14759 */ {(16<<2)|3,{111,105,104}}, +/* 14760 */ {(16<<2)|3,{111,105,108}}, +/* 14761 */ {(16<<2)|3,{111,105,109}}, +/* 14762 */ {(16<<2)|3,{111,105,110}}, +/* 14763 */ {(16<<2)|3,{111,105,112}}, +/* 14764 */ {(16<<2)|3,{111,105,114}}, +/* 14765 */ {(16<<2)|3,{111,105,117}}, +/* 14766 */ {(10<<2)|2,{111,105,0}}, +/* 14767 */ {(10<<2)|2,{111,105,0}}, +/* 14768 */ {(10<<2)|2,{111,105,0}}, +/* 14769 */ {(10<<2)|2,{111,105,0}}, +/* 14770 */ {(10<<2)|2,{111,105,0}}, +/* 14771 */ {(10<<2)|2,{111,105,0}}, +/* 14772 */ {(10<<2)|2,{111,105,0}}, +/* 14773 */ {(10<<2)|2,{111,105,0}}, +/* 14774 */ {(10<<2)|2,{111,105,0}}, +/* 14775 */ {(10<<2)|2,{111,105,0}}, +/* 14776 */ {(10<<2)|2,{111,105,0}}, +/* 14777 */ {(10<<2)|2,{111,105,0}}, +/* 14778 */ {(10<<2)|2,{111,105,0}}, +/* 14779 */ {(10<<2)|2,{111,105,0}}, +/* 14780 */ {(10<<2)|2,{111,105,0}}, +/* 14781 */ {(10<<2)|2,{111,105,0}}, +/* 14782 */ {(10<<2)|2,{111,105,0}}, +/* 14783 */ {(10<<2)|2,{111,105,0}}, +/* 14784 */ {(15<<2)|3,{111,111,48}}, +/* 14785 */ {(15<<2)|3,{111,111,48}}, +/* 14786 */ {(15<<2)|3,{111,111,49}}, +/* 14787 */ {(15<<2)|3,{111,111,49}}, +/* 14788 */ {(15<<2)|3,{111,111,50}}, +/* 14789 */ {(15<<2)|3,{111,111,50}}, +/* 14790 */ {(15<<2)|3,{111,111,97}}, +/* 14791 */ {(15<<2)|3,{111,111,97}}, +/* 14792 */ {(15<<2)|3,{111,111,99}}, +/* 14793 */ {(15<<2)|3,{111,111,99}}, +/* 14794 */ {(15<<2)|3,{111,111,101}}, +/* 14795 */ {(15<<2)|3,{111,111,101}}, +/* 14796 */ {(15<<2)|3,{111,111,105}}, +/* 14797 */ {(15<<2)|3,{111,111,105}}, +/* 14798 */ {(15<<2)|3,{111,111,111}}, +/* 14799 */ {(15<<2)|3,{111,111,111}}, +/* 14800 */ {(15<<2)|3,{111,111,115}}, +/* 14801 */ {(15<<2)|3,{111,111,115}}, +/* 14802 */ {(15<<2)|3,{111,111,116}}, +/* 14803 */ {(15<<2)|3,{111,111,116}}, +/* 14804 */ {(16<<2)|3,{111,111,32}}, +/* 14805 */ {(16<<2)|3,{111,111,37}}, +/* 14806 */ {(16<<2)|3,{111,111,45}}, +/* 14807 */ {(16<<2)|3,{111,111,46}}, +/* 14808 */ {(16<<2)|3,{111,111,47}}, +/* 14809 */ {(16<<2)|3,{111,111,51}}, +/* 14810 */ {(16<<2)|3,{111,111,52}}, +/* 14811 */ {(16<<2)|3,{111,111,53}}, +/* 14812 */ {(16<<2)|3,{111,111,54}}, +/* 14813 */ {(16<<2)|3,{111,111,55}}, +/* 14814 */ {(16<<2)|3,{111,111,56}}, +/* 14815 */ {(16<<2)|3,{111,111,57}}, +/* 14816 */ {(16<<2)|3,{111,111,61}}, +/* 14817 */ {(16<<2)|3,{111,111,65}}, +/* 14818 */ {(16<<2)|3,{111,111,95}}, +/* 14819 */ {(16<<2)|3,{111,111,98}}, +/* 14820 */ {(16<<2)|3,{111,111,100}}, +/* 14821 */ {(16<<2)|3,{111,111,102}}, +/* 14822 */ {(16<<2)|3,{111,111,103}}, +/* 14823 */ {(16<<2)|3,{111,111,104}}, +/* 14824 */ {(16<<2)|3,{111,111,108}}, +/* 14825 */ {(16<<2)|3,{111,111,109}}, +/* 14826 */ {(16<<2)|3,{111,111,110}}, +/* 14827 */ {(16<<2)|3,{111,111,112}}, +/* 14828 */ {(16<<2)|3,{111,111,114}}, +/* 14829 */ {(16<<2)|3,{111,111,117}}, +/* 14830 */ {(10<<2)|2,{111,111,0}}, +/* 14831 */ {(10<<2)|2,{111,111,0}}, +/* 14832 */ {(10<<2)|2,{111,111,0}}, +/* 14833 */ {(10<<2)|2,{111,111,0}}, +/* 14834 */ {(10<<2)|2,{111,111,0}}, +/* 14835 */ {(10<<2)|2,{111,111,0}}, +/* 14836 */ {(10<<2)|2,{111,111,0}}, +/* 14837 */ {(10<<2)|2,{111,111,0}}, +/* 14838 */ {(10<<2)|2,{111,111,0}}, +/* 14839 */ {(10<<2)|2,{111,111,0}}, +/* 14840 */ {(10<<2)|2,{111,111,0}}, +/* 14841 */ {(10<<2)|2,{111,111,0}}, +/* 14842 */ {(10<<2)|2,{111,111,0}}, +/* 14843 */ {(10<<2)|2,{111,111,0}}, +/* 14844 */ {(10<<2)|2,{111,111,0}}, +/* 14845 */ {(10<<2)|2,{111,111,0}}, +/* 14846 */ {(10<<2)|2,{111,111,0}}, +/* 14847 */ {(10<<2)|2,{111,111,0}}, +/* 14848 */ {(15<<2)|3,{111,115,48}}, +/* 14849 */ {(15<<2)|3,{111,115,48}}, +/* 14850 */ {(15<<2)|3,{111,115,49}}, +/* 14851 */ {(15<<2)|3,{111,115,49}}, +/* 14852 */ {(15<<2)|3,{111,115,50}}, +/* 14853 */ {(15<<2)|3,{111,115,50}}, +/* 14854 */ {(15<<2)|3,{111,115,97}}, +/* 14855 */ {(15<<2)|3,{111,115,97}}, +/* 14856 */ {(15<<2)|3,{111,115,99}}, +/* 14857 */ {(15<<2)|3,{111,115,99}}, +/* 14858 */ {(15<<2)|3,{111,115,101}}, +/* 14859 */ {(15<<2)|3,{111,115,101}}, +/* 14860 */ {(15<<2)|3,{111,115,105}}, +/* 14861 */ {(15<<2)|3,{111,115,105}}, +/* 14862 */ {(15<<2)|3,{111,115,111}}, +/* 14863 */ {(15<<2)|3,{111,115,111}}, +/* 14864 */ {(15<<2)|3,{111,115,115}}, +/* 14865 */ {(15<<2)|3,{111,115,115}}, +/* 14866 */ {(15<<2)|3,{111,115,116}}, +/* 14867 */ {(15<<2)|3,{111,115,116}}, +/* 14868 */ {(16<<2)|3,{111,115,32}}, +/* 14869 */ {(16<<2)|3,{111,115,37}}, +/* 14870 */ {(16<<2)|3,{111,115,45}}, +/* 14871 */ {(16<<2)|3,{111,115,46}}, +/* 14872 */ {(16<<2)|3,{111,115,47}}, +/* 14873 */ {(16<<2)|3,{111,115,51}}, +/* 14874 */ {(16<<2)|3,{111,115,52}}, +/* 14875 */ {(16<<2)|3,{111,115,53}}, +/* 14876 */ {(16<<2)|3,{111,115,54}}, +/* 14877 */ {(16<<2)|3,{111,115,55}}, +/* 14878 */ {(16<<2)|3,{111,115,56}}, +/* 14879 */ {(16<<2)|3,{111,115,57}}, +/* 14880 */ {(16<<2)|3,{111,115,61}}, +/* 14881 */ {(16<<2)|3,{111,115,65}}, +/* 14882 */ {(16<<2)|3,{111,115,95}}, +/* 14883 */ {(16<<2)|3,{111,115,98}}, +/* 14884 */ {(16<<2)|3,{111,115,100}}, +/* 14885 */ {(16<<2)|3,{111,115,102}}, +/* 14886 */ {(16<<2)|3,{111,115,103}}, +/* 14887 */ {(16<<2)|3,{111,115,104}}, +/* 14888 */ {(16<<2)|3,{111,115,108}}, +/* 14889 */ {(16<<2)|3,{111,115,109}}, +/* 14890 */ {(16<<2)|3,{111,115,110}}, +/* 14891 */ {(16<<2)|3,{111,115,112}}, +/* 14892 */ {(16<<2)|3,{111,115,114}}, +/* 14893 */ {(16<<2)|3,{111,115,117}}, +/* 14894 */ {(10<<2)|2,{111,115,0}}, +/* 14895 */ {(10<<2)|2,{111,115,0}}, +/* 14896 */ {(10<<2)|2,{111,115,0}}, +/* 14897 */ {(10<<2)|2,{111,115,0}}, +/* 14898 */ {(10<<2)|2,{111,115,0}}, +/* 14899 */ {(10<<2)|2,{111,115,0}}, +/* 14900 */ {(10<<2)|2,{111,115,0}}, +/* 14901 */ {(10<<2)|2,{111,115,0}}, +/* 14902 */ {(10<<2)|2,{111,115,0}}, +/* 14903 */ {(10<<2)|2,{111,115,0}}, +/* 14904 */ {(10<<2)|2,{111,115,0}}, +/* 14905 */ {(10<<2)|2,{111,115,0}}, +/* 14906 */ {(10<<2)|2,{111,115,0}}, +/* 14907 */ {(10<<2)|2,{111,115,0}}, +/* 14908 */ {(10<<2)|2,{111,115,0}}, +/* 14909 */ {(10<<2)|2,{111,115,0}}, +/* 14910 */ {(10<<2)|2,{111,115,0}}, +/* 14911 */ {(10<<2)|2,{111,115,0}}, +/* 14912 */ {(15<<2)|3,{111,116,48}}, +/* 14913 */ {(15<<2)|3,{111,116,48}}, +/* 14914 */ {(15<<2)|3,{111,116,49}}, +/* 14915 */ {(15<<2)|3,{111,116,49}}, +/* 14916 */ {(15<<2)|3,{111,116,50}}, +/* 14917 */ {(15<<2)|3,{111,116,50}}, +/* 14918 */ {(15<<2)|3,{111,116,97}}, +/* 14919 */ {(15<<2)|3,{111,116,97}}, +/* 14920 */ {(15<<2)|3,{111,116,99}}, +/* 14921 */ {(15<<2)|3,{111,116,99}}, +/* 14922 */ {(15<<2)|3,{111,116,101}}, +/* 14923 */ {(15<<2)|3,{111,116,101}}, +/* 14924 */ {(15<<2)|3,{111,116,105}}, +/* 14925 */ {(15<<2)|3,{111,116,105}}, +/* 14926 */ {(15<<2)|3,{111,116,111}}, +/* 14927 */ {(15<<2)|3,{111,116,111}}, +/* 14928 */ {(15<<2)|3,{111,116,115}}, +/* 14929 */ {(15<<2)|3,{111,116,115}}, +/* 14930 */ {(15<<2)|3,{111,116,116}}, +/* 14931 */ {(15<<2)|3,{111,116,116}}, +/* 14932 */ {(16<<2)|3,{111,116,32}}, +/* 14933 */ {(16<<2)|3,{111,116,37}}, +/* 14934 */ {(16<<2)|3,{111,116,45}}, +/* 14935 */ {(16<<2)|3,{111,116,46}}, +/* 14936 */ {(16<<2)|3,{111,116,47}}, +/* 14937 */ {(16<<2)|3,{111,116,51}}, +/* 14938 */ {(16<<2)|3,{111,116,52}}, +/* 14939 */ {(16<<2)|3,{111,116,53}}, +/* 14940 */ {(16<<2)|3,{111,116,54}}, +/* 14941 */ {(16<<2)|3,{111,116,55}}, +/* 14942 */ {(16<<2)|3,{111,116,56}}, +/* 14943 */ {(16<<2)|3,{111,116,57}}, +/* 14944 */ {(16<<2)|3,{111,116,61}}, +/* 14945 */ {(16<<2)|3,{111,116,65}}, +/* 14946 */ {(16<<2)|3,{111,116,95}}, +/* 14947 */ {(16<<2)|3,{111,116,98}}, +/* 14948 */ {(16<<2)|3,{111,116,100}}, +/* 14949 */ {(16<<2)|3,{111,116,102}}, +/* 14950 */ {(16<<2)|3,{111,116,103}}, +/* 14951 */ {(16<<2)|3,{111,116,104}}, +/* 14952 */ {(16<<2)|3,{111,116,108}}, +/* 14953 */ {(16<<2)|3,{111,116,109}}, +/* 14954 */ {(16<<2)|3,{111,116,110}}, +/* 14955 */ {(16<<2)|3,{111,116,112}}, +/* 14956 */ {(16<<2)|3,{111,116,114}}, +/* 14957 */ {(16<<2)|3,{111,116,117}}, +/* 14958 */ {(10<<2)|2,{111,116,0}}, +/* 14959 */ {(10<<2)|2,{111,116,0}}, +/* 14960 */ {(10<<2)|2,{111,116,0}}, +/* 14961 */ {(10<<2)|2,{111,116,0}}, +/* 14962 */ {(10<<2)|2,{111,116,0}}, +/* 14963 */ {(10<<2)|2,{111,116,0}}, +/* 14964 */ {(10<<2)|2,{111,116,0}}, +/* 14965 */ {(10<<2)|2,{111,116,0}}, +/* 14966 */ {(10<<2)|2,{111,116,0}}, +/* 14967 */ {(10<<2)|2,{111,116,0}}, +/* 14968 */ {(10<<2)|2,{111,116,0}}, +/* 14969 */ {(10<<2)|2,{111,116,0}}, +/* 14970 */ {(10<<2)|2,{111,116,0}}, +/* 14971 */ {(10<<2)|2,{111,116,0}}, +/* 14972 */ {(10<<2)|2,{111,116,0}}, +/* 14973 */ {(10<<2)|2,{111,116,0}}, +/* 14974 */ {(10<<2)|2,{111,116,0}}, +/* 14975 */ {(10<<2)|2,{111,116,0}}, +/* 14976 */ {(16<<2)|3,{111,32,48}}, +/* 14977 */ {(16<<2)|3,{111,32,49}}, +/* 14978 */ {(16<<2)|3,{111,32,50}}, +/* 14979 */ {(16<<2)|3,{111,32,97}}, +/* 14980 */ {(16<<2)|3,{111,32,99}}, +/* 14981 */ {(16<<2)|3,{111,32,101}}, +/* 14982 */ {(16<<2)|3,{111,32,105}}, +/* 14983 */ {(16<<2)|3,{111,32,111}}, +/* 14984 */ {(16<<2)|3,{111,32,115}}, +/* 14985 */ {(16<<2)|3,{111,32,116}}, +/* 14986 */ {(11<<2)|2,{111,32,0}}, +/* 14987 */ {(11<<2)|2,{111,32,0}}, +/* 14988 */ {(11<<2)|2,{111,32,0}}, +/* 14989 */ {(11<<2)|2,{111,32,0}}, +/* 14990 */ {(11<<2)|2,{111,32,0}}, +/* 14991 */ {(11<<2)|2,{111,32,0}}, +/* 14992 */ {(11<<2)|2,{111,32,0}}, +/* 14993 */ {(11<<2)|2,{111,32,0}}, +/* 14994 */ {(11<<2)|2,{111,32,0}}, +/* 14995 */ {(11<<2)|2,{111,32,0}}, +/* 14996 */ {(11<<2)|2,{111,32,0}}, +/* 14997 */ {(11<<2)|2,{111,32,0}}, +/* 14998 */ {(11<<2)|2,{111,32,0}}, +/* 14999 */ {(11<<2)|2,{111,32,0}}, +/* 15000 */ {(11<<2)|2,{111,32,0}}, +/* 15001 */ {(11<<2)|2,{111,32,0}}, +/* 15002 */ {(11<<2)|2,{111,32,0}}, +/* 15003 */ {(11<<2)|2,{111,32,0}}, +/* 15004 */ {(11<<2)|2,{111,32,0}}, +/* 15005 */ {(11<<2)|2,{111,32,0}}, +/* 15006 */ {(11<<2)|2,{111,32,0}}, +/* 15007 */ {(11<<2)|2,{111,32,0}}, +/* 15008 */ {(16<<2)|3,{111,37,48}}, +/* 15009 */ {(16<<2)|3,{111,37,49}}, +/* 15010 */ {(16<<2)|3,{111,37,50}}, +/* 15011 */ {(16<<2)|3,{111,37,97}}, +/* 15012 */ {(16<<2)|3,{111,37,99}}, +/* 15013 */ {(16<<2)|3,{111,37,101}}, +/* 15014 */ {(16<<2)|3,{111,37,105}}, +/* 15015 */ {(16<<2)|3,{111,37,111}}, +/* 15016 */ {(16<<2)|3,{111,37,115}}, +/* 15017 */ {(16<<2)|3,{111,37,116}}, +/* 15018 */ {(11<<2)|2,{111,37,0}}, +/* 15019 */ {(11<<2)|2,{111,37,0}}, +/* 15020 */ {(11<<2)|2,{111,37,0}}, +/* 15021 */ {(11<<2)|2,{111,37,0}}, +/* 15022 */ {(11<<2)|2,{111,37,0}}, +/* 15023 */ {(11<<2)|2,{111,37,0}}, +/* 15024 */ {(11<<2)|2,{111,37,0}}, +/* 15025 */ {(11<<2)|2,{111,37,0}}, +/* 15026 */ {(11<<2)|2,{111,37,0}}, +/* 15027 */ {(11<<2)|2,{111,37,0}}, +/* 15028 */ {(11<<2)|2,{111,37,0}}, +/* 15029 */ {(11<<2)|2,{111,37,0}}, +/* 15030 */ {(11<<2)|2,{111,37,0}}, +/* 15031 */ {(11<<2)|2,{111,37,0}}, +/* 15032 */ {(11<<2)|2,{111,37,0}}, +/* 15033 */ {(11<<2)|2,{111,37,0}}, +/* 15034 */ {(11<<2)|2,{111,37,0}}, +/* 15035 */ {(11<<2)|2,{111,37,0}}, +/* 15036 */ {(11<<2)|2,{111,37,0}}, +/* 15037 */ {(11<<2)|2,{111,37,0}}, +/* 15038 */ {(11<<2)|2,{111,37,0}}, +/* 15039 */ {(11<<2)|2,{111,37,0}}, +/* 15040 */ {(16<<2)|3,{111,45,48}}, +/* 15041 */ {(16<<2)|3,{111,45,49}}, +/* 15042 */ {(16<<2)|3,{111,45,50}}, +/* 15043 */ {(16<<2)|3,{111,45,97}}, +/* 15044 */ {(16<<2)|3,{111,45,99}}, +/* 15045 */ {(16<<2)|3,{111,45,101}}, +/* 15046 */ {(16<<2)|3,{111,45,105}}, +/* 15047 */ {(16<<2)|3,{111,45,111}}, +/* 15048 */ {(16<<2)|3,{111,45,115}}, +/* 15049 */ {(16<<2)|3,{111,45,116}}, +/* 15050 */ {(11<<2)|2,{111,45,0}}, +/* 15051 */ {(11<<2)|2,{111,45,0}}, +/* 15052 */ {(11<<2)|2,{111,45,0}}, +/* 15053 */ {(11<<2)|2,{111,45,0}}, +/* 15054 */ {(11<<2)|2,{111,45,0}}, +/* 15055 */ {(11<<2)|2,{111,45,0}}, +/* 15056 */ {(11<<2)|2,{111,45,0}}, +/* 15057 */ {(11<<2)|2,{111,45,0}}, +/* 15058 */ {(11<<2)|2,{111,45,0}}, +/* 15059 */ {(11<<2)|2,{111,45,0}}, +/* 15060 */ {(11<<2)|2,{111,45,0}}, +/* 15061 */ {(11<<2)|2,{111,45,0}}, +/* 15062 */ {(11<<2)|2,{111,45,0}}, +/* 15063 */ {(11<<2)|2,{111,45,0}}, +/* 15064 */ {(11<<2)|2,{111,45,0}}, +/* 15065 */ {(11<<2)|2,{111,45,0}}, +/* 15066 */ {(11<<2)|2,{111,45,0}}, +/* 15067 */ {(11<<2)|2,{111,45,0}}, +/* 15068 */ {(11<<2)|2,{111,45,0}}, +/* 15069 */ {(11<<2)|2,{111,45,0}}, +/* 15070 */ {(11<<2)|2,{111,45,0}}, +/* 15071 */ {(11<<2)|2,{111,45,0}}, +/* 15072 */ {(16<<2)|3,{111,46,48}}, +/* 15073 */ {(16<<2)|3,{111,46,49}}, +/* 15074 */ {(16<<2)|3,{111,46,50}}, +/* 15075 */ {(16<<2)|3,{111,46,97}}, +/* 15076 */ {(16<<2)|3,{111,46,99}}, +/* 15077 */ {(16<<2)|3,{111,46,101}}, +/* 15078 */ {(16<<2)|3,{111,46,105}}, +/* 15079 */ {(16<<2)|3,{111,46,111}}, +/* 15080 */ {(16<<2)|3,{111,46,115}}, +/* 15081 */ {(16<<2)|3,{111,46,116}}, +/* 15082 */ {(11<<2)|2,{111,46,0}}, +/* 15083 */ {(11<<2)|2,{111,46,0}}, +/* 15084 */ {(11<<2)|2,{111,46,0}}, +/* 15085 */ {(11<<2)|2,{111,46,0}}, +/* 15086 */ {(11<<2)|2,{111,46,0}}, +/* 15087 */ {(11<<2)|2,{111,46,0}}, +/* 15088 */ {(11<<2)|2,{111,46,0}}, +/* 15089 */ {(11<<2)|2,{111,46,0}}, +/* 15090 */ {(11<<2)|2,{111,46,0}}, +/* 15091 */ {(11<<2)|2,{111,46,0}}, +/* 15092 */ {(11<<2)|2,{111,46,0}}, +/* 15093 */ {(11<<2)|2,{111,46,0}}, +/* 15094 */ {(11<<2)|2,{111,46,0}}, +/* 15095 */ {(11<<2)|2,{111,46,0}}, +/* 15096 */ {(11<<2)|2,{111,46,0}}, +/* 15097 */ {(11<<2)|2,{111,46,0}}, +/* 15098 */ {(11<<2)|2,{111,46,0}}, +/* 15099 */ {(11<<2)|2,{111,46,0}}, +/* 15100 */ {(11<<2)|2,{111,46,0}}, +/* 15101 */ {(11<<2)|2,{111,46,0}}, +/* 15102 */ {(11<<2)|2,{111,46,0}}, +/* 15103 */ {(11<<2)|2,{111,46,0}}, +/* 15104 */ {(16<<2)|3,{111,47,48}}, +/* 15105 */ {(16<<2)|3,{111,47,49}}, +/* 15106 */ {(16<<2)|3,{111,47,50}}, +/* 15107 */ {(16<<2)|3,{111,47,97}}, +/* 15108 */ {(16<<2)|3,{111,47,99}}, +/* 15109 */ {(16<<2)|3,{111,47,101}}, +/* 15110 */ {(16<<2)|3,{111,47,105}}, +/* 15111 */ {(16<<2)|3,{111,47,111}}, +/* 15112 */ {(16<<2)|3,{111,47,115}}, +/* 15113 */ {(16<<2)|3,{111,47,116}}, +/* 15114 */ {(11<<2)|2,{111,47,0}}, +/* 15115 */ {(11<<2)|2,{111,47,0}}, +/* 15116 */ {(11<<2)|2,{111,47,0}}, +/* 15117 */ {(11<<2)|2,{111,47,0}}, +/* 15118 */ {(11<<2)|2,{111,47,0}}, +/* 15119 */ {(11<<2)|2,{111,47,0}}, +/* 15120 */ {(11<<2)|2,{111,47,0}}, +/* 15121 */ {(11<<2)|2,{111,47,0}}, +/* 15122 */ {(11<<2)|2,{111,47,0}}, +/* 15123 */ {(11<<2)|2,{111,47,0}}, +/* 15124 */ {(11<<2)|2,{111,47,0}}, +/* 15125 */ {(11<<2)|2,{111,47,0}}, +/* 15126 */ {(11<<2)|2,{111,47,0}}, +/* 15127 */ {(11<<2)|2,{111,47,0}}, +/* 15128 */ {(11<<2)|2,{111,47,0}}, +/* 15129 */ {(11<<2)|2,{111,47,0}}, +/* 15130 */ {(11<<2)|2,{111,47,0}}, +/* 15131 */ {(11<<2)|2,{111,47,0}}, +/* 15132 */ {(11<<2)|2,{111,47,0}}, +/* 15133 */ {(11<<2)|2,{111,47,0}}, +/* 15134 */ {(11<<2)|2,{111,47,0}}, +/* 15135 */ {(11<<2)|2,{111,47,0}}, +/* 15136 */ {(16<<2)|3,{111,51,48}}, +/* 15137 */ {(16<<2)|3,{111,51,49}}, +/* 15138 */ {(16<<2)|3,{111,51,50}}, +/* 15139 */ {(16<<2)|3,{111,51,97}}, +/* 15140 */ {(16<<2)|3,{111,51,99}}, +/* 15141 */ {(16<<2)|3,{111,51,101}}, +/* 15142 */ {(16<<2)|3,{111,51,105}}, +/* 15143 */ {(16<<2)|3,{111,51,111}}, +/* 15144 */ {(16<<2)|3,{111,51,115}}, +/* 15145 */ {(16<<2)|3,{111,51,116}}, +/* 15146 */ {(11<<2)|2,{111,51,0}}, +/* 15147 */ {(11<<2)|2,{111,51,0}}, +/* 15148 */ {(11<<2)|2,{111,51,0}}, +/* 15149 */ {(11<<2)|2,{111,51,0}}, +/* 15150 */ {(11<<2)|2,{111,51,0}}, +/* 15151 */ {(11<<2)|2,{111,51,0}}, +/* 15152 */ {(11<<2)|2,{111,51,0}}, +/* 15153 */ {(11<<2)|2,{111,51,0}}, +/* 15154 */ {(11<<2)|2,{111,51,0}}, +/* 15155 */ {(11<<2)|2,{111,51,0}}, +/* 15156 */ {(11<<2)|2,{111,51,0}}, +/* 15157 */ {(11<<2)|2,{111,51,0}}, +/* 15158 */ {(11<<2)|2,{111,51,0}}, +/* 15159 */ {(11<<2)|2,{111,51,0}}, +/* 15160 */ {(11<<2)|2,{111,51,0}}, +/* 15161 */ {(11<<2)|2,{111,51,0}}, +/* 15162 */ {(11<<2)|2,{111,51,0}}, +/* 15163 */ {(11<<2)|2,{111,51,0}}, +/* 15164 */ {(11<<2)|2,{111,51,0}}, +/* 15165 */ {(11<<2)|2,{111,51,0}}, +/* 15166 */ {(11<<2)|2,{111,51,0}}, +/* 15167 */ {(11<<2)|2,{111,51,0}}, +/* 15168 */ {(16<<2)|3,{111,52,48}}, +/* 15169 */ {(16<<2)|3,{111,52,49}}, +/* 15170 */ {(16<<2)|3,{111,52,50}}, +/* 15171 */ {(16<<2)|3,{111,52,97}}, +/* 15172 */ {(16<<2)|3,{111,52,99}}, +/* 15173 */ {(16<<2)|3,{111,52,101}}, +/* 15174 */ {(16<<2)|3,{111,52,105}}, +/* 15175 */ {(16<<2)|3,{111,52,111}}, +/* 15176 */ {(16<<2)|3,{111,52,115}}, +/* 15177 */ {(16<<2)|3,{111,52,116}}, +/* 15178 */ {(11<<2)|2,{111,52,0}}, +/* 15179 */ {(11<<2)|2,{111,52,0}}, +/* 15180 */ {(11<<2)|2,{111,52,0}}, +/* 15181 */ {(11<<2)|2,{111,52,0}}, +/* 15182 */ {(11<<2)|2,{111,52,0}}, +/* 15183 */ {(11<<2)|2,{111,52,0}}, +/* 15184 */ {(11<<2)|2,{111,52,0}}, +/* 15185 */ {(11<<2)|2,{111,52,0}}, +/* 15186 */ {(11<<2)|2,{111,52,0}}, +/* 15187 */ {(11<<2)|2,{111,52,0}}, +/* 15188 */ {(11<<2)|2,{111,52,0}}, +/* 15189 */ {(11<<2)|2,{111,52,0}}, +/* 15190 */ {(11<<2)|2,{111,52,0}}, +/* 15191 */ {(11<<2)|2,{111,52,0}}, +/* 15192 */ {(11<<2)|2,{111,52,0}}, +/* 15193 */ {(11<<2)|2,{111,52,0}}, +/* 15194 */ {(11<<2)|2,{111,52,0}}, +/* 15195 */ {(11<<2)|2,{111,52,0}}, +/* 15196 */ {(11<<2)|2,{111,52,0}}, +/* 15197 */ {(11<<2)|2,{111,52,0}}, +/* 15198 */ {(11<<2)|2,{111,52,0}}, +/* 15199 */ {(11<<2)|2,{111,52,0}}, +/* 15200 */ {(16<<2)|3,{111,53,48}}, +/* 15201 */ {(16<<2)|3,{111,53,49}}, +/* 15202 */ {(16<<2)|3,{111,53,50}}, +/* 15203 */ {(16<<2)|3,{111,53,97}}, +/* 15204 */ {(16<<2)|3,{111,53,99}}, +/* 15205 */ {(16<<2)|3,{111,53,101}}, +/* 15206 */ {(16<<2)|3,{111,53,105}}, +/* 15207 */ {(16<<2)|3,{111,53,111}}, +/* 15208 */ {(16<<2)|3,{111,53,115}}, +/* 15209 */ {(16<<2)|3,{111,53,116}}, +/* 15210 */ {(11<<2)|2,{111,53,0}}, +/* 15211 */ {(11<<2)|2,{111,53,0}}, +/* 15212 */ {(11<<2)|2,{111,53,0}}, +/* 15213 */ {(11<<2)|2,{111,53,0}}, +/* 15214 */ {(11<<2)|2,{111,53,0}}, +/* 15215 */ {(11<<2)|2,{111,53,0}}, +/* 15216 */ {(11<<2)|2,{111,53,0}}, +/* 15217 */ {(11<<2)|2,{111,53,0}}, +/* 15218 */ {(11<<2)|2,{111,53,0}}, +/* 15219 */ {(11<<2)|2,{111,53,0}}, +/* 15220 */ {(11<<2)|2,{111,53,0}}, +/* 15221 */ {(11<<2)|2,{111,53,0}}, +/* 15222 */ {(11<<2)|2,{111,53,0}}, +/* 15223 */ {(11<<2)|2,{111,53,0}}, +/* 15224 */ {(11<<2)|2,{111,53,0}}, +/* 15225 */ {(11<<2)|2,{111,53,0}}, +/* 15226 */ {(11<<2)|2,{111,53,0}}, +/* 15227 */ {(11<<2)|2,{111,53,0}}, +/* 15228 */ {(11<<2)|2,{111,53,0}}, +/* 15229 */ {(11<<2)|2,{111,53,0}}, +/* 15230 */ {(11<<2)|2,{111,53,0}}, +/* 15231 */ {(11<<2)|2,{111,53,0}}, +/* 15232 */ {(16<<2)|3,{111,54,48}}, +/* 15233 */ {(16<<2)|3,{111,54,49}}, +/* 15234 */ {(16<<2)|3,{111,54,50}}, +/* 15235 */ {(16<<2)|3,{111,54,97}}, +/* 15236 */ {(16<<2)|3,{111,54,99}}, +/* 15237 */ {(16<<2)|3,{111,54,101}}, +/* 15238 */ {(16<<2)|3,{111,54,105}}, +/* 15239 */ {(16<<2)|3,{111,54,111}}, +/* 15240 */ {(16<<2)|3,{111,54,115}}, +/* 15241 */ {(16<<2)|3,{111,54,116}}, +/* 15242 */ {(11<<2)|2,{111,54,0}}, +/* 15243 */ {(11<<2)|2,{111,54,0}}, +/* 15244 */ {(11<<2)|2,{111,54,0}}, +/* 15245 */ {(11<<2)|2,{111,54,0}}, +/* 15246 */ {(11<<2)|2,{111,54,0}}, +/* 15247 */ {(11<<2)|2,{111,54,0}}, +/* 15248 */ {(11<<2)|2,{111,54,0}}, +/* 15249 */ {(11<<2)|2,{111,54,0}}, +/* 15250 */ {(11<<2)|2,{111,54,0}}, +/* 15251 */ {(11<<2)|2,{111,54,0}}, +/* 15252 */ {(11<<2)|2,{111,54,0}}, +/* 15253 */ {(11<<2)|2,{111,54,0}}, +/* 15254 */ {(11<<2)|2,{111,54,0}}, +/* 15255 */ {(11<<2)|2,{111,54,0}}, +/* 15256 */ {(11<<2)|2,{111,54,0}}, +/* 15257 */ {(11<<2)|2,{111,54,0}}, +/* 15258 */ {(11<<2)|2,{111,54,0}}, +/* 15259 */ {(11<<2)|2,{111,54,0}}, +/* 15260 */ {(11<<2)|2,{111,54,0}}, +/* 15261 */ {(11<<2)|2,{111,54,0}}, +/* 15262 */ {(11<<2)|2,{111,54,0}}, +/* 15263 */ {(11<<2)|2,{111,54,0}}, +/* 15264 */ {(16<<2)|3,{111,55,48}}, +/* 15265 */ {(16<<2)|3,{111,55,49}}, +/* 15266 */ {(16<<2)|3,{111,55,50}}, +/* 15267 */ {(16<<2)|3,{111,55,97}}, +/* 15268 */ {(16<<2)|3,{111,55,99}}, +/* 15269 */ {(16<<2)|3,{111,55,101}}, +/* 15270 */ {(16<<2)|3,{111,55,105}}, +/* 15271 */ {(16<<2)|3,{111,55,111}}, +/* 15272 */ {(16<<2)|3,{111,55,115}}, +/* 15273 */ {(16<<2)|3,{111,55,116}}, +/* 15274 */ {(11<<2)|2,{111,55,0}}, +/* 15275 */ {(11<<2)|2,{111,55,0}}, +/* 15276 */ {(11<<2)|2,{111,55,0}}, +/* 15277 */ {(11<<2)|2,{111,55,0}}, +/* 15278 */ {(11<<2)|2,{111,55,0}}, +/* 15279 */ {(11<<2)|2,{111,55,0}}, +/* 15280 */ {(11<<2)|2,{111,55,0}}, +/* 15281 */ {(11<<2)|2,{111,55,0}}, +/* 15282 */ {(11<<2)|2,{111,55,0}}, +/* 15283 */ {(11<<2)|2,{111,55,0}}, +/* 15284 */ {(11<<2)|2,{111,55,0}}, +/* 15285 */ {(11<<2)|2,{111,55,0}}, +/* 15286 */ {(11<<2)|2,{111,55,0}}, +/* 15287 */ {(11<<2)|2,{111,55,0}}, +/* 15288 */ {(11<<2)|2,{111,55,0}}, +/* 15289 */ {(11<<2)|2,{111,55,0}}, +/* 15290 */ {(11<<2)|2,{111,55,0}}, +/* 15291 */ {(11<<2)|2,{111,55,0}}, +/* 15292 */ {(11<<2)|2,{111,55,0}}, +/* 15293 */ {(11<<2)|2,{111,55,0}}, +/* 15294 */ {(11<<2)|2,{111,55,0}}, +/* 15295 */ {(11<<2)|2,{111,55,0}}, +/* 15296 */ {(16<<2)|3,{111,56,48}}, +/* 15297 */ {(16<<2)|3,{111,56,49}}, +/* 15298 */ {(16<<2)|3,{111,56,50}}, +/* 15299 */ {(16<<2)|3,{111,56,97}}, +/* 15300 */ {(16<<2)|3,{111,56,99}}, +/* 15301 */ {(16<<2)|3,{111,56,101}}, +/* 15302 */ {(16<<2)|3,{111,56,105}}, +/* 15303 */ {(16<<2)|3,{111,56,111}}, +/* 15304 */ {(16<<2)|3,{111,56,115}}, +/* 15305 */ {(16<<2)|3,{111,56,116}}, +/* 15306 */ {(11<<2)|2,{111,56,0}}, +/* 15307 */ {(11<<2)|2,{111,56,0}}, +/* 15308 */ {(11<<2)|2,{111,56,0}}, +/* 15309 */ {(11<<2)|2,{111,56,0}}, +/* 15310 */ {(11<<2)|2,{111,56,0}}, +/* 15311 */ {(11<<2)|2,{111,56,0}}, +/* 15312 */ {(11<<2)|2,{111,56,0}}, +/* 15313 */ {(11<<2)|2,{111,56,0}}, +/* 15314 */ {(11<<2)|2,{111,56,0}}, +/* 15315 */ {(11<<2)|2,{111,56,0}}, +/* 15316 */ {(11<<2)|2,{111,56,0}}, +/* 15317 */ {(11<<2)|2,{111,56,0}}, +/* 15318 */ {(11<<2)|2,{111,56,0}}, +/* 15319 */ {(11<<2)|2,{111,56,0}}, +/* 15320 */ {(11<<2)|2,{111,56,0}}, +/* 15321 */ {(11<<2)|2,{111,56,0}}, +/* 15322 */ {(11<<2)|2,{111,56,0}}, +/* 15323 */ {(11<<2)|2,{111,56,0}}, +/* 15324 */ {(11<<2)|2,{111,56,0}}, +/* 15325 */ {(11<<2)|2,{111,56,0}}, +/* 15326 */ {(11<<2)|2,{111,56,0}}, +/* 15327 */ {(11<<2)|2,{111,56,0}}, +/* 15328 */ {(16<<2)|3,{111,57,48}}, +/* 15329 */ {(16<<2)|3,{111,57,49}}, +/* 15330 */ {(16<<2)|3,{111,57,50}}, +/* 15331 */ {(16<<2)|3,{111,57,97}}, +/* 15332 */ {(16<<2)|3,{111,57,99}}, +/* 15333 */ {(16<<2)|3,{111,57,101}}, +/* 15334 */ {(16<<2)|3,{111,57,105}}, +/* 15335 */ {(16<<2)|3,{111,57,111}}, +/* 15336 */ {(16<<2)|3,{111,57,115}}, +/* 15337 */ {(16<<2)|3,{111,57,116}}, +/* 15338 */ {(11<<2)|2,{111,57,0}}, +/* 15339 */ {(11<<2)|2,{111,57,0}}, +/* 15340 */ {(11<<2)|2,{111,57,0}}, +/* 15341 */ {(11<<2)|2,{111,57,0}}, +/* 15342 */ {(11<<2)|2,{111,57,0}}, +/* 15343 */ {(11<<2)|2,{111,57,0}}, +/* 15344 */ {(11<<2)|2,{111,57,0}}, +/* 15345 */ {(11<<2)|2,{111,57,0}}, +/* 15346 */ {(11<<2)|2,{111,57,0}}, +/* 15347 */ {(11<<2)|2,{111,57,0}}, +/* 15348 */ {(11<<2)|2,{111,57,0}}, +/* 15349 */ {(11<<2)|2,{111,57,0}}, +/* 15350 */ {(11<<2)|2,{111,57,0}}, +/* 15351 */ {(11<<2)|2,{111,57,0}}, +/* 15352 */ {(11<<2)|2,{111,57,0}}, +/* 15353 */ {(11<<2)|2,{111,57,0}}, +/* 15354 */ {(11<<2)|2,{111,57,0}}, +/* 15355 */ {(11<<2)|2,{111,57,0}}, +/* 15356 */ {(11<<2)|2,{111,57,0}}, +/* 15357 */ {(11<<2)|2,{111,57,0}}, +/* 15358 */ {(11<<2)|2,{111,57,0}}, +/* 15359 */ {(11<<2)|2,{111,57,0}}, +/* 15360 */ {(16<<2)|3,{111,61,48}}, +/* 15361 */ {(16<<2)|3,{111,61,49}}, +/* 15362 */ {(16<<2)|3,{111,61,50}}, +/* 15363 */ {(16<<2)|3,{111,61,97}}, +/* 15364 */ {(16<<2)|3,{111,61,99}}, +/* 15365 */ {(16<<2)|3,{111,61,101}}, +/* 15366 */ {(16<<2)|3,{111,61,105}}, +/* 15367 */ {(16<<2)|3,{111,61,111}}, +/* 15368 */ {(16<<2)|3,{111,61,115}}, +/* 15369 */ {(16<<2)|3,{111,61,116}}, +/* 15370 */ {(11<<2)|2,{111,61,0}}, +/* 15371 */ {(11<<2)|2,{111,61,0}}, +/* 15372 */ {(11<<2)|2,{111,61,0}}, +/* 15373 */ {(11<<2)|2,{111,61,0}}, +/* 15374 */ {(11<<2)|2,{111,61,0}}, +/* 15375 */ {(11<<2)|2,{111,61,0}}, +/* 15376 */ {(11<<2)|2,{111,61,0}}, +/* 15377 */ {(11<<2)|2,{111,61,0}}, +/* 15378 */ {(11<<2)|2,{111,61,0}}, +/* 15379 */ {(11<<2)|2,{111,61,0}}, +/* 15380 */ {(11<<2)|2,{111,61,0}}, +/* 15381 */ {(11<<2)|2,{111,61,0}}, +/* 15382 */ {(11<<2)|2,{111,61,0}}, +/* 15383 */ {(11<<2)|2,{111,61,0}}, +/* 15384 */ {(11<<2)|2,{111,61,0}}, +/* 15385 */ {(11<<2)|2,{111,61,0}}, +/* 15386 */ {(11<<2)|2,{111,61,0}}, +/* 15387 */ {(11<<2)|2,{111,61,0}}, +/* 15388 */ {(11<<2)|2,{111,61,0}}, +/* 15389 */ {(11<<2)|2,{111,61,0}}, +/* 15390 */ {(11<<2)|2,{111,61,0}}, +/* 15391 */ {(11<<2)|2,{111,61,0}}, +/* 15392 */ {(16<<2)|3,{111,65,48}}, +/* 15393 */ {(16<<2)|3,{111,65,49}}, +/* 15394 */ {(16<<2)|3,{111,65,50}}, +/* 15395 */ {(16<<2)|3,{111,65,97}}, +/* 15396 */ {(16<<2)|3,{111,65,99}}, +/* 15397 */ {(16<<2)|3,{111,65,101}}, +/* 15398 */ {(16<<2)|3,{111,65,105}}, +/* 15399 */ {(16<<2)|3,{111,65,111}}, +/* 15400 */ {(16<<2)|3,{111,65,115}}, +/* 15401 */ {(16<<2)|3,{111,65,116}}, +/* 15402 */ {(11<<2)|2,{111,65,0}}, +/* 15403 */ {(11<<2)|2,{111,65,0}}, +/* 15404 */ {(11<<2)|2,{111,65,0}}, +/* 15405 */ {(11<<2)|2,{111,65,0}}, +/* 15406 */ {(11<<2)|2,{111,65,0}}, +/* 15407 */ {(11<<2)|2,{111,65,0}}, +/* 15408 */ {(11<<2)|2,{111,65,0}}, +/* 15409 */ {(11<<2)|2,{111,65,0}}, +/* 15410 */ {(11<<2)|2,{111,65,0}}, +/* 15411 */ {(11<<2)|2,{111,65,0}}, +/* 15412 */ {(11<<2)|2,{111,65,0}}, +/* 15413 */ {(11<<2)|2,{111,65,0}}, +/* 15414 */ {(11<<2)|2,{111,65,0}}, +/* 15415 */ {(11<<2)|2,{111,65,0}}, +/* 15416 */ {(11<<2)|2,{111,65,0}}, +/* 15417 */ {(11<<2)|2,{111,65,0}}, +/* 15418 */ {(11<<2)|2,{111,65,0}}, +/* 15419 */ {(11<<2)|2,{111,65,0}}, +/* 15420 */ {(11<<2)|2,{111,65,0}}, +/* 15421 */ {(11<<2)|2,{111,65,0}}, +/* 15422 */ {(11<<2)|2,{111,65,0}}, +/* 15423 */ {(11<<2)|2,{111,65,0}}, +/* 15424 */ {(16<<2)|3,{111,95,48}}, +/* 15425 */ {(16<<2)|3,{111,95,49}}, +/* 15426 */ {(16<<2)|3,{111,95,50}}, +/* 15427 */ {(16<<2)|3,{111,95,97}}, +/* 15428 */ {(16<<2)|3,{111,95,99}}, +/* 15429 */ {(16<<2)|3,{111,95,101}}, +/* 15430 */ {(16<<2)|3,{111,95,105}}, +/* 15431 */ {(16<<2)|3,{111,95,111}}, +/* 15432 */ {(16<<2)|3,{111,95,115}}, +/* 15433 */ {(16<<2)|3,{111,95,116}}, +/* 15434 */ {(11<<2)|2,{111,95,0}}, +/* 15435 */ {(11<<2)|2,{111,95,0}}, +/* 15436 */ {(11<<2)|2,{111,95,0}}, +/* 15437 */ {(11<<2)|2,{111,95,0}}, +/* 15438 */ {(11<<2)|2,{111,95,0}}, +/* 15439 */ {(11<<2)|2,{111,95,0}}, +/* 15440 */ {(11<<2)|2,{111,95,0}}, +/* 15441 */ {(11<<2)|2,{111,95,0}}, +/* 15442 */ {(11<<2)|2,{111,95,0}}, +/* 15443 */ {(11<<2)|2,{111,95,0}}, +/* 15444 */ {(11<<2)|2,{111,95,0}}, +/* 15445 */ {(11<<2)|2,{111,95,0}}, +/* 15446 */ {(11<<2)|2,{111,95,0}}, +/* 15447 */ {(11<<2)|2,{111,95,0}}, +/* 15448 */ {(11<<2)|2,{111,95,0}}, +/* 15449 */ {(11<<2)|2,{111,95,0}}, +/* 15450 */ {(11<<2)|2,{111,95,0}}, +/* 15451 */ {(11<<2)|2,{111,95,0}}, +/* 15452 */ {(11<<2)|2,{111,95,0}}, +/* 15453 */ {(11<<2)|2,{111,95,0}}, +/* 15454 */ {(11<<2)|2,{111,95,0}}, +/* 15455 */ {(11<<2)|2,{111,95,0}}, +/* 15456 */ {(16<<2)|3,{111,98,48}}, +/* 15457 */ {(16<<2)|3,{111,98,49}}, +/* 15458 */ {(16<<2)|3,{111,98,50}}, +/* 15459 */ {(16<<2)|3,{111,98,97}}, +/* 15460 */ {(16<<2)|3,{111,98,99}}, +/* 15461 */ {(16<<2)|3,{111,98,101}}, +/* 15462 */ {(16<<2)|3,{111,98,105}}, +/* 15463 */ {(16<<2)|3,{111,98,111}}, +/* 15464 */ {(16<<2)|3,{111,98,115}}, +/* 15465 */ {(16<<2)|3,{111,98,116}}, +/* 15466 */ {(11<<2)|2,{111,98,0}}, +/* 15467 */ {(11<<2)|2,{111,98,0}}, +/* 15468 */ {(11<<2)|2,{111,98,0}}, +/* 15469 */ {(11<<2)|2,{111,98,0}}, +/* 15470 */ {(11<<2)|2,{111,98,0}}, +/* 15471 */ {(11<<2)|2,{111,98,0}}, +/* 15472 */ {(11<<2)|2,{111,98,0}}, +/* 15473 */ {(11<<2)|2,{111,98,0}}, +/* 15474 */ {(11<<2)|2,{111,98,0}}, +/* 15475 */ {(11<<2)|2,{111,98,0}}, +/* 15476 */ {(11<<2)|2,{111,98,0}}, +/* 15477 */ {(11<<2)|2,{111,98,0}}, +/* 15478 */ {(11<<2)|2,{111,98,0}}, +/* 15479 */ {(11<<2)|2,{111,98,0}}, +/* 15480 */ {(11<<2)|2,{111,98,0}}, +/* 15481 */ {(11<<2)|2,{111,98,0}}, +/* 15482 */ {(11<<2)|2,{111,98,0}}, +/* 15483 */ {(11<<2)|2,{111,98,0}}, +/* 15484 */ {(11<<2)|2,{111,98,0}}, +/* 15485 */ {(11<<2)|2,{111,98,0}}, +/* 15486 */ {(11<<2)|2,{111,98,0}}, +/* 15487 */ {(11<<2)|2,{111,98,0}}, +/* 15488 */ {(16<<2)|3,{111,100,48}}, +/* 15489 */ {(16<<2)|3,{111,100,49}}, +/* 15490 */ {(16<<2)|3,{111,100,50}}, +/* 15491 */ {(16<<2)|3,{111,100,97}}, +/* 15492 */ {(16<<2)|3,{111,100,99}}, +/* 15493 */ {(16<<2)|3,{111,100,101}}, +/* 15494 */ {(16<<2)|3,{111,100,105}}, +/* 15495 */ {(16<<2)|3,{111,100,111}}, +/* 15496 */ {(16<<2)|3,{111,100,115}}, +/* 15497 */ {(16<<2)|3,{111,100,116}}, +/* 15498 */ {(11<<2)|2,{111,100,0}}, +/* 15499 */ {(11<<2)|2,{111,100,0}}, +/* 15500 */ {(11<<2)|2,{111,100,0}}, +/* 15501 */ {(11<<2)|2,{111,100,0}}, +/* 15502 */ {(11<<2)|2,{111,100,0}}, +/* 15503 */ {(11<<2)|2,{111,100,0}}, +/* 15504 */ {(11<<2)|2,{111,100,0}}, +/* 15505 */ {(11<<2)|2,{111,100,0}}, +/* 15506 */ {(11<<2)|2,{111,100,0}}, +/* 15507 */ {(11<<2)|2,{111,100,0}}, +/* 15508 */ {(11<<2)|2,{111,100,0}}, +/* 15509 */ {(11<<2)|2,{111,100,0}}, +/* 15510 */ {(11<<2)|2,{111,100,0}}, +/* 15511 */ {(11<<2)|2,{111,100,0}}, +/* 15512 */ {(11<<2)|2,{111,100,0}}, +/* 15513 */ {(11<<2)|2,{111,100,0}}, +/* 15514 */ {(11<<2)|2,{111,100,0}}, +/* 15515 */ {(11<<2)|2,{111,100,0}}, +/* 15516 */ {(11<<2)|2,{111,100,0}}, +/* 15517 */ {(11<<2)|2,{111,100,0}}, +/* 15518 */ {(11<<2)|2,{111,100,0}}, +/* 15519 */ {(11<<2)|2,{111,100,0}}, +/* 15520 */ {(16<<2)|3,{111,102,48}}, +/* 15521 */ {(16<<2)|3,{111,102,49}}, +/* 15522 */ {(16<<2)|3,{111,102,50}}, +/* 15523 */ {(16<<2)|3,{111,102,97}}, +/* 15524 */ {(16<<2)|3,{111,102,99}}, +/* 15525 */ {(16<<2)|3,{111,102,101}}, +/* 15526 */ {(16<<2)|3,{111,102,105}}, +/* 15527 */ {(16<<2)|3,{111,102,111}}, +/* 15528 */ {(16<<2)|3,{111,102,115}}, +/* 15529 */ {(16<<2)|3,{111,102,116}}, +/* 15530 */ {(11<<2)|2,{111,102,0}}, +/* 15531 */ {(11<<2)|2,{111,102,0}}, +/* 15532 */ {(11<<2)|2,{111,102,0}}, +/* 15533 */ {(11<<2)|2,{111,102,0}}, +/* 15534 */ {(11<<2)|2,{111,102,0}}, +/* 15535 */ {(11<<2)|2,{111,102,0}}, +/* 15536 */ {(11<<2)|2,{111,102,0}}, +/* 15537 */ {(11<<2)|2,{111,102,0}}, +/* 15538 */ {(11<<2)|2,{111,102,0}}, +/* 15539 */ {(11<<2)|2,{111,102,0}}, +/* 15540 */ {(11<<2)|2,{111,102,0}}, +/* 15541 */ {(11<<2)|2,{111,102,0}}, +/* 15542 */ {(11<<2)|2,{111,102,0}}, +/* 15543 */ {(11<<2)|2,{111,102,0}}, +/* 15544 */ {(11<<2)|2,{111,102,0}}, +/* 15545 */ {(11<<2)|2,{111,102,0}}, +/* 15546 */ {(11<<2)|2,{111,102,0}}, +/* 15547 */ {(11<<2)|2,{111,102,0}}, +/* 15548 */ {(11<<2)|2,{111,102,0}}, +/* 15549 */ {(11<<2)|2,{111,102,0}}, +/* 15550 */ {(11<<2)|2,{111,102,0}}, +/* 15551 */ {(11<<2)|2,{111,102,0}}, +/* 15552 */ {(16<<2)|3,{111,103,48}}, +/* 15553 */ {(16<<2)|3,{111,103,49}}, +/* 15554 */ {(16<<2)|3,{111,103,50}}, +/* 15555 */ {(16<<2)|3,{111,103,97}}, +/* 15556 */ {(16<<2)|3,{111,103,99}}, +/* 15557 */ {(16<<2)|3,{111,103,101}}, +/* 15558 */ {(16<<2)|3,{111,103,105}}, +/* 15559 */ {(16<<2)|3,{111,103,111}}, +/* 15560 */ {(16<<2)|3,{111,103,115}}, +/* 15561 */ {(16<<2)|3,{111,103,116}}, +/* 15562 */ {(11<<2)|2,{111,103,0}}, +/* 15563 */ {(11<<2)|2,{111,103,0}}, +/* 15564 */ {(11<<2)|2,{111,103,0}}, +/* 15565 */ {(11<<2)|2,{111,103,0}}, +/* 15566 */ {(11<<2)|2,{111,103,0}}, +/* 15567 */ {(11<<2)|2,{111,103,0}}, +/* 15568 */ {(11<<2)|2,{111,103,0}}, +/* 15569 */ {(11<<2)|2,{111,103,0}}, +/* 15570 */ {(11<<2)|2,{111,103,0}}, +/* 15571 */ {(11<<2)|2,{111,103,0}}, +/* 15572 */ {(11<<2)|2,{111,103,0}}, +/* 15573 */ {(11<<2)|2,{111,103,0}}, +/* 15574 */ {(11<<2)|2,{111,103,0}}, +/* 15575 */ {(11<<2)|2,{111,103,0}}, +/* 15576 */ {(11<<2)|2,{111,103,0}}, +/* 15577 */ {(11<<2)|2,{111,103,0}}, +/* 15578 */ {(11<<2)|2,{111,103,0}}, +/* 15579 */ {(11<<2)|2,{111,103,0}}, +/* 15580 */ {(11<<2)|2,{111,103,0}}, +/* 15581 */ {(11<<2)|2,{111,103,0}}, +/* 15582 */ {(11<<2)|2,{111,103,0}}, +/* 15583 */ {(11<<2)|2,{111,103,0}}, +/* 15584 */ {(16<<2)|3,{111,104,48}}, +/* 15585 */ {(16<<2)|3,{111,104,49}}, +/* 15586 */ {(16<<2)|3,{111,104,50}}, +/* 15587 */ {(16<<2)|3,{111,104,97}}, +/* 15588 */ {(16<<2)|3,{111,104,99}}, +/* 15589 */ {(16<<2)|3,{111,104,101}}, +/* 15590 */ {(16<<2)|3,{111,104,105}}, +/* 15591 */ {(16<<2)|3,{111,104,111}}, +/* 15592 */ {(16<<2)|3,{111,104,115}}, +/* 15593 */ {(16<<2)|3,{111,104,116}}, +/* 15594 */ {(11<<2)|2,{111,104,0}}, +/* 15595 */ {(11<<2)|2,{111,104,0}}, +/* 15596 */ {(11<<2)|2,{111,104,0}}, +/* 15597 */ {(11<<2)|2,{111,104,0}}, +/* 15598 */ {(11<<2)|2,{111,104,0}}, +/* 15599 */ {(11<<2)|2,{111,104,0}}, +/* 15600 */ {(11<<2)|2,{111,104,0}}, +/* 15601 */ {(11<<2)|2,{111,104,0}}, +/* 15602 */ {(11<<2)|2,{111,104,0}}, +/* 15603 */ {(11<<2)|2,{111,104,0}}, +/* 15604 */ {(11<<2)|2,{111,104,0}}, +/* 15605 */ {(11<<2)|2,{111,104,0}}, +/* 15606 */ {(11<<2)|2,{111,104,0}}, +/* 15607 */ {(11<<2)|2,{111,104,0}}, +/* 15608 */ {(11<<2)|2,{111,104,0}}, +/* 15609 */ {(11<<2)|2,{111,104,0}}, +/* 15610 */ {(11<<2)|2,{111,104,0}}, +/* 15611 */ {(11<<2)|2,{111,104,0}}, +/* 15612 */ {(11<<2)|2,{111,104,0}}, +/* 15613 */ {(11<<2)|2,{111,104,0}}, +/* 15614 */ {(11<<2)|2,{111,104,0}}, +/* 15615 */ {(11<<2)|2,{111,104,0}}, +/* 15616 */ {(16<<2)|3,{111,108,48}}, +/* 15617 */ {(16<<2)|3,{111,108,49}}, +/* 15618 */ {(16<<2)|3,{111,108,50}}, +/* 15619 */ {(16<<2)|3,{111,108,97}}, +/* 15620 */ {(16<<2)|3,{111,108,99}}, +/* 15621 */ {(16<<2)|3,{111,108,101}}, +/* 15622 */ {(16<<2)|3,{111,108,105}}, +/* 15623 */ {(16<<2)|3,{111,108,111}}, +/* 15624 */ {(16<<2)|3,{111,108,115}}, +/* 15625 */ {(16<<2)|3,{111,108,116}}, +/* 15626 */ {(11<<2)|2,{111,108,0}}, +/* 15627 */ {(11<<2)|2,{111,108,0}}, +/* 15628 */ {(11<<2)|2,{111,108,0}}, +/* 15629 */ {(11<<2)|2,{111,108,0}}, +/* 15630 */ {(11<<2)|2,{111,108,0}}, +/* 15631 */ {(11<<2)|2,{111,108,0}}, +/* 15632 */ {(11<<2)|2,{111,108,0}}, +/* 15633 */ {(11<<2)|2,{111,108,0}}, +/* 15634 */ {(11<<2)|2,{111,108,0}}, +/* 15635 */ {(11<<2)|2,{111,108,0}}, +/* 15636 */ {(11<<2)|2,{111,108,0}}, +/* 15637 */ {(11<<2)|2,{111,108,0}}, +/* 15638 */ {(11<<2)|2,{111,108,0}}, +/* 15639 */ {(11<<2)|2,{111,108,0}}, +/* 15640 */ {(11<<2)|2,{111,108,0}}, +/* 15641 */ {(11<<2)|2,{111,108,0}}, +/* 15642 */ {(11<<2)|2,{111,108,0}}, +/* 15643 */ {(11<<2)|2,{111,108,0}}, +/* 15644 */ {(11<<2)|2,{111,108,0}}, +/* 15645 */ {(11<<2)|2,{111,108,0}}, +/* 15646 */ {(11<<2)|2,{111,108,0}}, +/* 15647 */ {(11<<2)|2,{111,108,0}}, +/* 15648 */ {(16<<2)|3,{111,109,48}}, +/* 15649 */ {(16<<2)|3,{111,109,49}}, +/* 15650 */ {(16<<2)|3,{111,109,50}}, +/* 15651 */ {(16<<2)|3,{111,109,97}}, +/* 15652 */ {(16<<2)|3,{111,109,99}}, +/* 15653 */ {(16<<2)|3,{111,109,101}}, +/* 15654 */ {(16<<2)|3,{111,109,105}}, +/* 15655 */ {(16<<2)|3,{111,109,111}}, +/* 15656 */ {(16<<2)|3,{111,109,115}}, +/* 15657 */ {(16<<2)|3,{111,109,116}}, +/* 15658 */ {(11<<2)|2,{111,109,0}}, +/* 15659 */ {(11<<2)|2,{111,109,0}}, +/* 15660 */ {(11<<2)|2,{111,109,0}}, +/* 15661 */ {(11<<2)|2,{111,109,0}}, +/* 15662 */ {(11<<2)|2,{111,109,0}}, +/* 15663 */ {(11<<2)|2,{111,109,0}}, +/* 15664 */ {(11<<2)|2,{111,109,0}}, +/* 15665 */ {(11<<2)|2,{111,109,0}}, +/* 15666 */ {(11<<2)|2,{111,109,0}}, +/* 15667 */ {(11<<2)|2,{111,109,0}}, +/* 15668 */ {(11<<2)|2,{111,109,0}}, +/* 15669 */ {(11<<2)|2,{111,109,0}}, +/* 15670 */ {(11<<2)|2,{111,109,0}}, +/* 15671 */ {(11<<2)|2,{111,109,0}}, +/* 15672 */ {(11<<2)|2,{111,109,0}}, +/* 15673 */ {(11<<2)|2,{111,109,0}}, +/* 15674 */ {(11<<2)|2,{111,109,0}}, +/* 15675 */ {(11<<2)|2,{111,109,0}}, +/* 15676 */ {(11<<2)|2,{111,109,0}}, +/* 15677 */ {(11<<2)|2,{111,109,0}}, +/* 15678 */ {(11<<2)|2,{111,109,0}}, +/* 15679 */ {(11<<2)|2,{111,109,0}}, +/* 15680 */ {(16<<2)|3,{111,110,48}}, +/* 15681 */ {(16<<2)|3,{111,110,49}}, +/* 15682 */ {(16<<2)|3,{111,110,50}}, +/* 15683 */ {(16<<2)|3,{111,110,97}}, +/* 15684 */ {(16<<2)|3,{111,110,99}}, +/* 15685 */ {(16<<2)|3,{111,110,101}}, +/* 15686 */ {(16<<2)|3,{111,110,105}}, +/* 15687 */ {(16<<2)|3,{111,110,111}}, +/* 15688 */ {(16<<2)|3,{111,110,115}}, +/* 15689 */ {(16<<2)|3,{111,110,116}}, +/* 15690 */ {(11<<2)|2,{111,110,0}}, +/* 15691 */ {(11<<2)|2,{111,110,0}}, +/* 15692 */ {(11<<2)|2,{111,110,0}}, +/* 15693 */ {(11<<2)|2,{111,110,0}}, +/* 15694 */ {(11<<2)|2,{111,110,0}}, +/* 15695 */ {(11<<2)|2,{111,110,0}}, +/* 15696 */ {(11<<2)|2,{111,110,0}}, +/* 15697 */ {(11<<2)|2,{111,110,0}}, +/* 15698 */ {(11<<2)|2,{111,110,0}}, +/* 15699 */ {(11<<2)|2,{111,110,0}}, +/* 15700 */ {(11<<2)|2,{111,110,0}}, +/* 15701 */ {(11<<2)|2,{111,110,0}}, +/* 15702 */ {(11<<2)|2,{111,110,0}}, +/* 15703 */ {(11<<2)|2,{111,110,0}}, +/* 15704 */ {(11<<2)|2,{111,110,0}}, +/* 15705 */ {(11<<2)|2,{111,110,0}}, +/* 15706 */ {(11<<2)|2,{111,110,0}}, +/* 15707 */ {(11<<2)|2,{111,110,0}}, +/* 15708 */ {(11<<2)|2,{111,110,0}}, +/* 15709 */ {(11<<2)|2,{111,110,0}}, +/* 15710 */ {(11<<2)|2,{111,110,0}}, +/* 15711 */ {(11<<2)|2,{111,110,0}}, +/* 15712 */ {(16<<2)|3,{111,112,48}}, +/* 15713 */ {(16<<2)|3,{111,112,49}}, +/* 15714 */ {(16<<2)|3,{111,112,50}}, +/* 15715 */ {(16<<2)|3,{111,112,97}}, +/* 15716 */ {(16<<2)|3,{111,112,99}}, +/* 15717 */ {(16<<2)|3,{111,112,101}}, +/* 15718 */ {(16<<2)|3,{111,112,105}}, +/* 15719 */ {(16<<2)|3,{111,112,111}}, +/* 15720 */ {(16<<2)|3,{111,112,115}}, +/* 15721 */ {(16<<2)|3,{111,112,116}}, +/* 15722 */ {(11<<2)|2,{111,112,0}}, +/* 15723 */ {(11<<2)|2,{111,112,0}}, +/* 15724 */ {(11<<2)|2,{111,112,0}}, +/* 15725 */ {(11<<2)|2,{111,112,0}}, +/* 15726 */ {(11<<2)|2,{111,112,0}}, +/* 15727 */ {(11<<2)|2,{111,112,0}}, +/* 15728 */ {(11<<2)|2,{111,112,0}}, +/* 15729 */ {(11<<2)|2,{111,112,0}}, +/* 15730 */ {(11<<2)|2,{111,112,0}}, +/* 15731 */ {(11<<2)|2,{111,112,0}}, +/* 15732 */ {(11<<2)|2,{111,112,0}}, +/* 15733 */ {(11<<2)|2,{111,112,0}}, +/* 15734 */ {(11<<2)|2,{111,112,0}}, +/* 15735 */ {(11<<2)|2,{111,112,0}}, +/* 15736 */ {(11<<2)|2,{111,112,0}}, +/* 15737 */ {(11<<2)|2,{111,112,0}}, +/* 15738 */ {(11<<2)|2,{111,112,0}}, +/* 15739 */ {(11<<2)|2,{111,112,0}}, +/* 15740 */ {(11<<2)|2,{111,112,0}}, +/* 15741 */ {(11<<2)|2,{111,112,0}}, +/* 15742 */ {(11<<2)|2,{111,112,0}}, +/* 15743 */ {(11<<2)|2,{111,112,0}}, +/* 15744 */ {(16<<2)|3,{111,114,48}}, +/* 15745 */ {(16<<2)|3,{111,114,49}}, +/* 15746 */ {(16<<2)|3,{111,114,50}}, +/* 15747 */ {(16<<2)|3,{111,114,97}}, +/* 15748 */ {(16<<2)|3,{111,114,99}}, +/* 15749 */ {(16<<2)|3,{111,114,101}}, +/* 15750 */ {(16<<2)|3,{111,114,105}}, +/* 15751 */ {(16<<2)|3,{111,114,111}}, +/* 15752 */ {(16<<2)|3,{111,114,115}}, +/* 15753 */ {(16<<2)|3,{111,114,116}}, +/* 15754 */ {(11<<2)|2,{111,114,0}}, +/* 15755 */ {(11<<2)|2,{111,114,0}}, +/* 15756 */ {(11<<2)|2,{111,114,0}}, +/* 15757 */ {(11<<2)|2,{111,114,0}}, +/* 15758 */ {(11<<2)|2,{111,114,0}}, +/* 15759 */ {(11<<2)|2,{111,114,0}}, +/* 15760 */ {(11<<2)|2,{111,114,0}}, +/* 15761 */ {(11<<2)|2,{111,114,0}}, +/* 15762 */ {(11<<2)|2,{111,114,0}}, +/* 15763 */ {(11<<2)|2,{111,114,0}}, +/* 15764 */ {(11<<2)|2,{111,114,0}}, +/* 15765 */ {(11<<2)|2,{111,114,0}}, +/* 15766 */ {(11<<2)|2,{111,114,0}}, +/* 15767 */ {(11<<2)|2,{111,114,0}}, +/* 15768 */ {(11<<2)|2,{111,114,0}}, +/* 15769 */ {(11<<2)|2,{111,114,0}}, +/* 15770 */ {(11<<2)|2,{111,114,0}}, +/* 15771 */ {(11<<2)|2,{111,114,0}}, +/* 15772 */ {(11<<2)|2,{111,114,0}}, +/* 15773 */ {(11<<2)|2,{111,114,0}}, +/* 15774 */ {(11<<2)|2,{111,114,0}}, +/* 15775 */ {(11<<2)|2,{111,114,0}}, +/* 15776 */ {(16<<2)|3,{111,117,48}}, +/* 15777 */ {(16<<2)|3,{111,117,49}}, +/* 15778 */ {(16<<2)|3,{111,117,50}}, +/* 15779 */ {(16<<2)|3,{111,117,97}}, +/* 15780 */ {(16<<2)|3,{111,117,99}}, +/* 15781 */ {(16<<2)|3,{111,117,101}}, +/* 15782 */ {(16<<2)|3,{111,117,105}}, +/* 15783 */ {(16<<2)|3,{111,117,111}}, +/* 15784 */ {(16<<2)|3,{111,117,115}}, +/* 15785 */ {(16<<2)|3,{111,117,116}}, +/* 15786 */ {(11<<2)|2,{111,117,0}}, +/* 15787 */ {(11<<2)|2,{111,117,0}}, +/* 15788 */ {(11<<2)|2,{111,117,0}}, +/* 15789 */ {(11<<2)|2,{111,117,0}}, +/* 15790 */ {(11<<2)|2,{111,117,0}}, +/* 15791 */ {(11<<2)|2,{111,117,0}}, +/* 15792 */ {(11<<2)|2,{111,117,0}}, +/* 15793 */ {(11<<2)|2,{111,117,0}}, +/* 15794 */ {(11<<2)|2,{111,117,0}}, +/* 15795 */ {(11<<2)|2,{111,117,0}}, +/* 15796 */ {(11<<2)|2,{111,117,0}}, +/* 15797 */ {(11<<2)|2,{111,117,0}}, +/* 15798 */ {(11<<2)|2,{111,117,0}}, +/* 15799 */ {(11<<2)|2,{111,117,0}}, +/* 15800 */ {(11<<2)|2,{111,117,0}}, +/* 15801 */ {(11<<2)|2,{111,117,0}}, +/* 15802 */ {(11<<2)|2,{111,117,0}}, +/* 15803 */ {(11<<2)|2,{111,117,0}}, +/* 15804 */ {(11<<2)|2,{111,117,0}}, +/* 15805 */ {(11<<2)|2,{111,117,0}}, +/* 15806 */ {(11<<2)|2,{111,117,0}}, +/* 15807 */ {(11<<2)|2,{111,117,0}}, +/* 15808 */ {(12<<2)|2,{111,58,0}}, +/* 15809 */ {(12<<2)|2,{111,58,0}}, +/* 15810 */ {(12<<2)|2,{111,58,0}}, +/* 15811 */ {(12<<2)|2,{111,58,0}}, +/* 15812 */ {(12<<2)|2,{111,58,0}}, +/* 15813 */ {(12<<2)|2,{111,58,0}}, +/* 15814 */ {(12<<2)|2,{111,58,0}}, +/* 15815 */ {(12<<2)|2,{111,58,0}}, +/* 15816 */ {(12<<2)|2,{111,58,0}}, +/* 15817 */ {(12<<2)|2,{111,58,0}}, +/* 15818 */ {(12<<2)|2,{111,58,0}}, +/* 15819 */ {(12<<2)|2,{111,58,0}}, +/* 15820 */ {(12<<2)|2,{111,58,0}}, +/* 15821 */ {(12<<2)|2,{111,58,0}}, +/* 15822 */ {(12<<2)|2,{111,58,0}}, +/* 15823 */ {(12<<2)|2,{111,58,0}}, +/* 15824 */ {(12<<2)|2,{111,66,0}}, +/* 15825 */ {(12<<2)|2,{111,66,0}}, +/* 15826 */ {(12<<2)|2,{111,66,0}}, +/* 15827 */ {(12<<2)|2,{111,66,0}}, +/* 15828 */ {(12<<2)|2,{111,66,0}}, +/* 15829 */ {(12<<2)|2,{111,66,0}}, +/* 15830 */ {(12<<2)|2,{111,66,0}}, +/* 15831 */ {(12<<2)|2,{111,66,0}}, +/* 15832 */ {(12<<2)|2,{111,66,0}}, +/* 15833 */ {(12<<2)|2,{111,66,0}}, +/* 15834 */ {(12<<2)|2,{111,66,0}}, +/* 15835 */ {(12<<2)|2,{111,66,0}}, +/* 15836 */ {(12<<2)|2,{111,66,0}}, +/* 15837 */ {(12<<2)|2,{111,66,0}}, +/* 15838 */ {(12<<2)|2,{111,66,0}}, +/* 15839 */ {(12<<2)|2,{111,66,0}}, +/* 15840 */ {(12<<2)|2,{111,67,0}}, +/* 15841 */ {(12<<2)|2,{111,67,0}}, +/* 15842 */ {(12<<2)|2,{111,67,0}}, +/* 15843 */ {(12<<2)|2,{111,67,0}}, +/* 15844 */ {(12<<2)|2,{111,67,0}}, +/* 15845 */ {(12<<2)|2,{111,67,0}}, +/* 15846 */ {(12<<2)|2,{111,67,0}}, +/* 15847 */ {(12<<2)|2,{111,67,0}}, +/* 15848 */ {(12<<2)|2,{111,67,0}}, +/* 15849 */ {(12<<2)|2,{111,67,0}}, +/* 15850 */ {(12<<2)|2,{111,67,0}}, +/* 15851 */ {(12<<2)|2,{111,67,0}}, +/* 15852 */ {(12<<2)|2,{111,67,0}}, +/* 15853 */ {(12<<2)|2,{111,67,0}}, +/* 15854 */ {(12<<2)|2,{111,67,0}}, +/* 15855 */ {(12<<2)|2,{111,67,0}}, +/* 15856 */ {(12<<2)|2,{111,68,0}}, +/* 15857 */ {(12<<2)|2,{111,68,0}}, +/* 15858 */ {(12<<2)|2,{111,68,0}}, +/* 15859 */ {(12<<2)|2,{111,68,0}}, +/* 15860 */ {(12<<2)|2,{111,68,0}}, +/* 15861 */ {(12<<2)|2,{111,68,0}}, +/* 15862 */ {(12<<2)|2,{111,68,0}}, +/* 15863 */ {(12<<2)|2,{111,68,0}}, +/* 15864 */ {(12<<2)|2,{111,68,0}}, +/* 15865 */ {(12<<2)|2,{111,68,0}}, +/* 15866 */ {(12<<2)|2,{111,68,0}}, +/* 15867 */ {(12<<2)|2,{111,68,0}}, +/* 15868 */ {(12<<2)|2,{111,68,0}}, +/* 15869 */ {(12<<2)|2,{111,68,0}}, +/* 15870 */ {(12<<2)|2,{111,68,0}}, +/* 15871 */ {(12<<2)|2,{111,68,0}}, +/* 15872 */ {(12<<2)|2,{111,69,0}}, +/* 15873 */ {(12<<2)|2,{111,69,0}}, +/* 15874 */ {(12<<2)|2,{111,69,0}}, +/* 15875 */ {(12<<2)|2,{111,69,0}}, +/* 15876 */ {(12<<2)|2,{111,69,0}}, +/* 15877 */ {(12<<2)|2,{111,69,0}}, +/* 15878 */ {(12<<2)|2,{111,69,0}}, +/* 15879 */ {(12<<2)|2,{111,69,0}}, +/* 15880 */ {(12<<2)|2,{111,69,0}}, +/* 15881 */ {(12<<2)|2,{111,69,0}}, +/* 15882 */ {(12<<2)|2,{111,69,0}}, +/* 15883 */ {(12<<2)|2,{111,69,0}}, +/* 15884 */ {(12<<2)|2,{111,69,0}}, +/* 15885 */ {(12<<2)|2,{111,69,0}}, +/* 15886 */ {(12<<2)|2,{111,69,0}}, +/* 15887 */ {(12<<2)|2,{111,69,0}}, +/* 15888 */ {(12<<2)|2,{111,70,0}}, +/* 15889 */ {(12<<2)|2,{111,70,0}}, +/* 15890 */ {(12<<2)|2,{111,70,0}}, +/* 15891 */ {(12<<2)|2,{111,70,0}}, +/* 15892 */ {(12<<2)|2,{111,70,0}}, +/* 15893 */ {(12<<2)|2,{111,70,0}}, +/* 15894 */ {(12<<2)|2,{111,70,0}}, +/* 15895 */ {(12<<2)|2,{111,70,0}}, +/* 15896 */ {(12<<2)|2,{111,70,0}}, +/* 15897 */ {(12<<2)|2,{111,70,0}}, +/* 15898 */ {(12<<2)|2,{111,70,0}}, +/* 15899 */ {(12<<2)|2,{111,70,0}}, +/* 15900 */ {(12<<2)|2,{111,70,0}}, +/* 15901 */ {(12<<2)|2,{111,70,0}}, +/* 15902 */ {(12<<2)|2,{111,70,0}}, +/* 15903 */ {(12<<2)|2,{111,70,0}}, +/* 15904 */ {(12<<2)|2,{111,71,0}}, +/* 15905 */ {(12<<2)|2,{111,71,0}}, +/* 15906 */ {(12<<2)|2,{111,71,0}}, +/* 15907 */ {(12<<2)|2,{111,71,0}}, +/* 15908 */ {(12<<2)|2,{111,71,0}}, +/* 15909 */ {(12<<2)|2,{111,71,0}}, +/* 15910 */ {(12<<2)|2,{111,71,0}}, +/* 15911 */ {(12<<2)|2,{111,71,0}}, +/* 15912 */ {(12<<2)|2,{111,71,0}}, +/* 15913 */ {(12<<2)|2,{111,71,0}}, +/* 15914 */ {(12<<2)|2,{111,71,0}}, +/* 15915 */ {(12<<2)|2,{111,71,0}}, +/* 15916 */ {(12<<2)|2,{111,71,0}}, +/* 15917 */ {(12<<2)|2,{111,71,0}}, +/* 15918 */ {(12<<2)|2,{111,71,0}}, +/* 15919 */ {(12<<2)|2,{111,71,0}}, +/* 15920 */ {(12<<2)|2,{111,72,0}}, +/* 15921 */ {(12<<2)|2,{111,72,0}}, +/* 15922 */ {(12<<2)|2,{111,72,0}}, +/* 15923 */ {(12<<2)|2,{111,72,0}}, +/* 15924 */ {(12<<2)|2,{111,72,0}}, +/* 15925 */ {(12<<2)|2,{111,72,0}}, +/* 15926 */ {(12<<2)|2,{111,72,0}}, +/* 15927 */ {(12<<2)|2,{111,72,0}}, +/* 15928 */ {(12<<2)|2,{111,72,0}}, +/* 15929 */ {(12<<2)|2,{111,72,0}}, +/* 15930 */ {(12<<2)|2,{111,72,0}}, +/* 15931 */ {(12<<2)|2,{111,72,0}}, +/* 15932 */ {(12<<2)|2,{111,72,0}}, +/* 15933 */ {(12<<2)|2,{111,72,0}}, +/* 15934 */ {(12<<2)|2,{111,72,0}}, +/* 15935 */ {(12<<2)|2,{111,72,0}}, +/* 15936 */ {(12<<2)|2,{111,73,0}}, +/* 15937 */ {(12<<2)|2,{111,73,0}}, +/* 15938 */ {(12<<2)|2,{111,73,0}}, +/* 15939 */ {(12<<2)|2,{111,73,0}}, +/* 15940 */ {(12<<2)|2,{111,73,0}}, +/* 15941 */ {(12<<2)|2,{111,73,0}}, +/* 15942 */ {(12<<2)|2,{111,73,0}}, +/* 15943 */ {(12<<2)|2,{111,73,0}}, +/* 15944 */ {(12<<2)|2,{111,73,0}}, +/* 15945 */ {(12<<2)|2,{111,73,0}}, +/* 15946 */ {(12<<2)|2,{111,73,0}}, +/* 15947 */ {(12<<2)|2,{111,73,0}}, +/* 15948 */ {(12<<2)|2,{111,73,0}}, +/* 15949 */ {(12<<2)|2,{111,73,0}}, +/* 15950 */ {(12<<2)|2,{111,73,0}}, +/* 15951 */ {(12<<2)|2,{111,73,0}}, +/* 15952 */ {(12<<2)|2,{111,74,0}}, +/* 15953 */ {(12<<2)|2,{111,74,0}}, +/* 15954 */ {(12<<2)|2,{111,74,0}}, +/* 15955 */ {(12<<2)|2,{111,74,0}}, +/* 15956 */ {(12<<2)|2,{111,74,0}}, +/* 15957 */ {(12<<2)|2,{111,74,0}}, +/* 15958 */ {(12<<2)|2,{111,74,0}}, +/* 15959 */ {(12<<2)|2,{111,74,0}}, +/* 15960 */ {(12<<2)|2,{111,74,0}}, +/* 15961 */ {(12<<2)|2,{111,74,0}}, +/* 15962 */ {(12<<2)|2,{111,74,0}}, +/* 15963 */ {(12<<2)|2,{111,74,0}}, +/* 15964 */ {(12<<2)|2,{111,74,0}}, +/* 15965 */ {(12<<2)|2,{111,74,0}}, +/* 15966 */ {(12<<2)|2,{111,74,0}}, +/* 15967 */ {(12<<2)|2,{111,74,0}}, +/* 15968 */ {(12<<2)|2,{111,75,0}}, +/* 15969 */ {(12<<2)|2,{111,75,0}}, +/* 15970 */ {(12<<2)|2,{111,75,0}}, +/* 15971 */ {(12<<2)|2,{111,75,0}}, +/* 15972 */ {(12<<2)|2,{111,75,0}}, +/* 15973 */ {(12<<2)|2,{111,75,0}}, +/* 15974 */ {(12<<2)|2,{111,75,0}}, +/* 15975 */ {(12<<2)|2,{111,75,0}}, +/* 15976 */ {(12<<2)|2,{111,75,0}}, +/* 15977 */ {(12<<2)|2,{111,75,0}}, +/* 15978 */ {(12<<2)|2,{111,75,0}}, +/* 15979 */ {(12<<2)|2,{111,75,0}}, +/* 15980 */ {(12<<2)|2,{111,75,0}}, +/* 15981 */ {(12<<2)|2,{111,75,0}}, +/* 15982 */ {(12<<2)|2,{111,75,0}}, +/* 15983 */ {(12<<2)|2,{111,75,0}}, +/* 15984 */ {(12<<2)|2,{111,76,0}}, +/* 15985 */ {(12<<2)|2,{111,76,0}}, +/* 15986 */ {(12<<2)|2,{111,76,0}}, +/* 15987 */ {(12<<2)|2,{111,76,0}}, +/* 15988 */ {(12<<2)|2,{111,76,0}}, +/* 15989 */ {(12<<2)|2,{111,76,0}}, +/* 15990 */ {(12<<2)|2,{111,76,0}}, +/* 15991 */ {(12<<2)|2,{111,76,0}}, +/* 15992 */ {(12<<2)|2,{111,76,0}}, +/* 15993 */ {(12<<2)|2,{111,76,0}}, +/* 15994 */ {(12<<2)|2,{111,76,0}}, +/* 15995 */ {(12<<2)|2,{111,76,0}}, +/* 15996 */ {(12<<2)|2,{111,76,0}}, +/* 15997 */ {(12<<2)|2,{111,76,0}}, +/* 15998 */ {(12<<2)|2,{111,76,0}}, +/* 15999 */ {(12<<2)|2,{111,76,0}}, +/* 16000 */ {(12<<2)|2,{111,77,0}}, +/* 16001 */ {(12<<2)|2,{111,77,0}}, +/* 16002 */ {(12<<2)|2,{111,77,0}}, +/* 16003 */ {(12<<2)|2,{111,77,0}}, +/* 16004 */ {(12<<2)|2,{111,77,0}}, +/* 16005 */ {(12<<2)|2,{111,77,0}}, +/* 16006 */ {(12<<2)|2,{111,77,0}}, +/* 16007 */ {(12<<2)|2,{111,77,0}}, +/* 16008 */ {(12<<2)|2,{111,77,0}}, +/* 16009 */ {(12<<2)|2,{111,77,0}}, +/* 16010 */ {(12<<2)|2,{111,77,0}}, +/* 16011 */ {(12<<2)|2,{111,77,0}}, +/* 16012 */ {(12<<2)|2,{111,77,0}}, +/* 16013 */ {(12<<2)|2,{111,77,0}}, +/* 16014 */ {(12<<2)|2,{111,77,0}}, +/* 16015 */ {(12<<2)|2,{111,77,0}}, +/* 16016 */ {(12<<2)|2,{111,78,0}}, +/* 16017 */ {(12<<2)|2,{111,78,0}}, +/* 16018 */ {(12<<2)|2,{111,78,0}}, +/* 16019 */ {(12<<2)|2,{111,78,0}}, +/* 16020 */ {(12<<2)|2,{111,78,0}}, +/* 16021 */ {(12<<2)|2,{111,78,0}}, +/* 16022 */ {(12<<2)|2,{111,78,0}}, +/* 16023 */ {(12<<2)|2,{111,78,0}}, +/* 16024 */ {(12<<2)|2,{111,78,0}}, +/* 16025 */ {(12<<2)|2,{111,78,0}}, +/* 16026 */ {(12<<2)|2,{111,78,0}}, +/* 16027 */ {(12<<2)|2,{111,78,0}}, +/* 16028 */ {(12<<2)|2,{111,78,0}}, +/* 16029 */ {(12<<2)|2,{111,78,0}}, +/* 16030 */ {(12<<2)|2,{111,78,0}}, +/* 16031 */ {(12<<2)|2,{111,78,0}}, +/* 16032 */ {(12<<2)|2,{111,79,0}}, +/* 16033 */ {(12<<2)|2,{111,79,0}}, +/* 16034 */ {(12<<2)|2,{111,79,0}}, +/* 16035 */ {(12<<2)|2,{111,79,0}}, +/* 16036 */ {(12<<2)|2,{111,79,0}}, +/* 16037 */ {(12<<2)|2,{111,79,0}}, +/* 16038 */ {(12<<2)|2,{111,79,0}}, +/* 16039 */ {(12<<2)|2,{111,79,0}}, +/* 16040 */ {(12<<2)|2,{111,79,0}}, +/* 16041 */ {(12<<2)|2,{111,79,0}}, +/* 16042 */ {(12<<2)|2,{111,79,0}}, +/* 16043 */ {(12<<2)|2,{111,79,0}}, +/* 16044 */ {(12<<2)|2,{111,79,0}}, +/* 16045 */ {(12<<2)|2,{111,79,0}}, +/* 16046 */ {(12<<2)|2,{111,79,0}}, +/* 16047 */ {(12<<2)|2,{111,79,0}}, +/* 16048 */ {(12<<2)|2,{111,80,0}}, +/* 16049 */ {(12<<2)|2,{111,80,0}}, +/* 16050 */ {(12<<2)|2,{111,80,0}}, +/* 16051 */ {(12<<2)|2,{111,80,0}}, +/* 16052 */ {(12<<2)|2,{111,80,0}}, +/* 16053 */ {(12<<2)|2,{111,80,0}}, +/* 16054 */ {(12<<2)|2,{111,80,0}}, +/* 16055 */ {(12<<2)|2,{111,80,0}}, +/* 16056 */ {(12<<2)|2,{111,80,0}}, +/* 16057 */ {(12<<2)|2,{111,80,0}}, +/* 16058 */ {(12<<2)|2,{111,80,0}}, +/* 16059 */ {(12<<2)|2,{111,80,0}}, +/* 16060 */ {(12<<2)|2,{111,80,0}}, +/* 16061 */ {(12<<2)|2,{111,80,0}}, +/* 16062 */ {(12<<2)|2,{111,80,0}}, +/* 16063 */ {(12<<2)|2,{111,80,0}}, +/* 16064 */ {(12<<2)|2,{111,81,0}}, +/* 16065 */ {(12<<2)|2,{111,81,0}}, +/* 16066 */ {(12<<2)|2,{111,81,0}}, +/* 16067 */ {(12<<2)|2,{111,81,0}}, +/* 16068 */ {(12<<2)|2,{111,81,0}}, +/* 16069 */ {(12<<2)|2,{111,81,0}}, +/* 16070 */ {(12<<2)|2,{111,81,0}}, +/* 16071 */ {(12<<2)|2,{111,81,0}}, +/* 16072 */ {(12<<2)|2,{111,81,0}}, +/* 16073 */ {(12<<2)|2,{111,81,0}}, +/* 16074 */ {(12<<2)|2,{111,81,0}}, +/* 16075 */ {(12<<2)|2,{111,81,0}}, +/* 16076 */ {(12<<2)|2,{111,81,0}}, +/* 16077 */ {(12<<2)|2,{111,81,0}}, +/* 16078 */ {(12<<2)|2,{111,81,0}}, +/* 16079 */ {(12<<2)|2,{111,81,0}}, +/* 16080 */ {(12<<2)|2,{111,82,0}}, +/* 16081 */ {(12<<2)|2,{111,82,0}}, +/* 16082 */ {(12<<2)|2,{111,82,0}}, +/* 16083 */ {(12<<2)|2,{111,82,0}}, +/* 16084 */ {(12<<2)|2,{111,82,0}}, +/* 16085 */ {(12<<2)|2,{111,82,0}}, +/* 16086 */ {(12<<2)|2,{111,82,0}}, +/* 16087 */ {(12<<2)|2,{111,82,0}}, +/* 16088 */ {(12<<2)|2,{111,82,0}}, +/* 16089 */ {(12<<2)|2,{111,82,0}}, +/* 16090 */ {(12<<2)|2,{111,82,0}}, +/* 16091 */ {(12<<2)|2,{111,82,0}}, +/* 16092 */ {(12<<2)|2,{111,82,0}}, +/* 16093 */ {(12<<2)|2,{111,82,0}}, +/* 16094 */ {(12<<2)|2,{111,82,0}}, +/* 16095 */ {(12<<2)|2,{111,82,0}}, +/* 16096 */ {(12<<2)|2,{111,83,0}}, +/* 16097 */ {(12<<2)|2,{111,83,0}}, +/* 16098 */ {(12<<2)|2,{111,83,0}}, +/* 16099 */ {(12<<2)|2,{111,83,0}}, +/* 16100 */ {(12<<2)|2,{111,83,0}}, +/* 16101 */ {(12<<2)|2,{111,83,0}}, +/* 16102 */ {(12<<2)|2,{111,83,0}}, +/* 16103 */ {(12<<2)|2,{111,83,0}}, +/* 16104 */ {(12<<2)|2,{111,83,0}}, +/* 16105 */ {(12<<2)|2,{111,83,0}}, +/* 16106 */ {(12<<2)|2,{111,83,0}}, +/* 16107 */ {(12<<2)|2,{111,83,0}}, +/* 16108 */ {(12<<2)|2,{111,83,0}}, +/* 16109 */ {(12<<2)|2,{111,83,0}}, +/* 16110 */ {(12<<2)|2,{111,83,0}}, +/* 16111 */ {(12<<2)|2,{111,83,0}}, +/* 16112 */ {(12<<2)|2,{111,84,0}}, +/* 16113 */ {(12<<2)|2,{111,84,0}}, +/* 16114 */ {(12<<2)|2,{111,84,0}}, +/* 16115 */ {(12<<2)|2,{111,84,0}}, +/* 16116 */ {(12<<2)|2,{111,84,0}}, +/* 16117 */ {(12<<2)|2,{111,84,0}}, +/* 16118 */ {(12<<2)|2,{111,84,0}}, +/* 16119 */ {(12<<2)|2,{111,84,0}}, +/* 16120 */ {(12<<2)|2,{111,84,0}}, +/* 16121 */ {(12<<2)|2,{111,84,0}}, +/* 16122 */ {(12<<2)|2,{111,84,0}}, +/* 16123 */ {(12<<2)|2,{111,84,0}}, +/* 16124 */ {(12<<2)|2,{111,84,0}}, +/* 16125 */ {(12<<2)|2,{111,84,0}}, +/* 16126 */ {(12<<2)|2,{111,84,0}}, +/* 16127 */ {(12<<2)|2,{111,84,0}}, +/* 16128 */ {(12<<2)|2,{111,85,0}}, +/* 16129 */ {(12<<2)|2,{111,85,0}}, +/* 16130 */ {(12<<2)|2,{111,85,0}}, +/* 16131 */ {(12<<2)|2,{111,85,0}}, +/* 16132 */ {(12<<2)|2,{111,85,0}}, +/* 16133 */ {(12<<2)|2,{111,85,0}}, +/* 16134 */ {(12<<2)|2,{111,85,0}}, +/* 16135 */ {(12<<2)|2,{111,85,0}}, +/* 16136 */ {(12<<2)|2,{111,85,0}}, +/* 16137 */ {(12<<2)|2,{111,85,0}}, +/* 16138 */ {(12<<2)|2,{111,85,0}}, +/* 16139 */ {(12<<2)|2,{111,85,0}}, +/* 16140 */ {(12<<2)|2,{111,85,0}}, +/* 16141 */ {(12<<2)|2,{111,85,0}}, +/* 16142 */ {(12<<2)|2,{111,85,0}}, +/* 16143 */ {(12<<2)|2,{111,85,0}}, +/* 16144 */ {(12<<2)|2,{111,86,0}}, +/* 16145 */ {(12<<2)|2,{111,86,0}}, +/* 16146 */ {(12<<2)|2,{111,86,0}}, +/* 16147 */ {(12<<2)|2,{111,86,0}}, +/* 16148 */ {(12<<2)|2,{111,86,0}}, +/* 16149 */ {(12<<2)|2,{111,86,0}}, +/* 16150 */ {(12<<2)|2,{111,86,0}}, +/* 16151 */ {(12<<2)|2,{111,86,0}}, +/* 16152 */ {(12<<2)|2,{111,86,0}}, +/* 16153 */ {(12<<2)|2,{111,86,0}}, +/* 16154 */ {(12<<2)|2,{111,86,0}}, +/* 16155 */ {(12<<2)|2,{111,86,0}}, +/* 16156 */ {(12<<2)|2,{111,86,0}}, +/* 16157 */ {(12<<2)|2,{111,86,0}}, +/* 16158 */ {(12<<2)|2,{111,86,0}}, +/* 16159 */ {(12<<2)|2,{111,86,0}}, +/* 16160 */ {(12<<2)|2,{111,87,0}}, +/* 16161 */ {(12<<2)|2,{111,87,0}}, +/* 16162 */ {(12<<2)|2,{111,87,0}}, +/* 16163 */ {(12<<2)|2,{111,87,0}}, +/* 16164 */ {(12<<2)|2,{111,87,0}}, +/* 16165 */ {(12<<2)|2,{111,87,0}}, +/* 16166 */ {(12<<2)|2,{111,87,0}}, +/* 16167 */ {(12<<2)|2,{111,87,0}}, +/* 16168 */ {(12<<2)|2,{111,87,0}}, +/* 16169 */ {(12<<2)|2,{111,87,0}}, +/* 16170 */ {(12<<2)|2,{111,87,0}}, +/* 16171 */ {(12<<2)|2,{111,87,0}}, +/* 16172 */ {(12<<2)|2,{111,87,0}}, +/* 16173 */ {(12<<2)|2,{111,87,0}}, +/* 16174 */ {(12<<2)|2,{111,87,0}}, +/* 16175 */ {(12<<2)|2,{111,87,0}}, +/* 16176 */ {(12<<2)|2,{111,89,0}}, +/* 16177 */ {(12<<2)|2,{111,89,0}}, +/* 16178 */ {(12<<2)|2,{111,89,0}}, +/* 16179 */ {(12<<2)|2,{111,89,0}}, +/* 16180 */ {(12<<2)|2,{111,89,0}}, +/* 16181 */ {(12<<2)|2,{111,89,0}}, +/* 16182 */ {(12<<2)|2,{111,89,0}}, +/* 16183 */ {(12<<2)|2,{111,89,0}}, +/* 16184 */ {(12<<2)|2,{111,89,0}}, +/* 16185 */ {(12<<2)|2,{111,89,0}}, +/* 16186 */ {(12<<2)|2,{111,89,0}}, +/* 16187 */ {(12<<2)|2,{111,89,0}}, +/* 16188 */ {(12<<2)|2,{111,89,0}}, +/* 16189 */ {(12<<2)|2,{111,89,0}}, +/* 16190 */ {(12<<2)|2,{111,89,0}}, +/* 16191 */ {(12<<2)|2,{111,89,0}}, +/* 16192 */ {(12<<2)|2,{111,106,0}}, +/* 16193 */ {(12<<2)|2,{111,106,0}}, +/* 16194 */ {(12<<2)|2,{111,106,0}}, +/* 16195 */ {(12<<2)|2,{111,106,0}}, +/* 16196 */ {(12<<2)|2,{111,106,0}}, +/* 16197 */ {(12<<2)|2,{111,106,0}}, +/* 16198 */ {(12<<2)|2,{111,106,0}}, +/* 16199 */ {(12<<2)|2,{111,106,0}}, +/* 16200 */ {(12<<2)|2,{111,106,0}}, +/* 16201 */ {(12<<2)|2,{111,106,0}}, +/* 16202 */ {(12<<2)|2,{111,106,0}}, +/* 16203 */ {(12<<2)|2,{111,106,0}}, +/* 16204 */ {(12<<2)|2,{111,106,0}}, +/* 16205 */ {(12<<2)|2,{111,106,0}}, +/* 16206 */ {(12<<2)|2,{111,106,0}}, +/* 16207 */ {(12<<2)|2,{111,106,0}}, +/* 16208 */ {(12<<2)|2,{111,107,0}}, +/* 16209 */ {(12<<2)|2,{111,107,0}}, +/* 16210 */ {(12<<2)|2,{111,107,0}}, +/* 16211 */ {(12<<2)|2,{111,107,0}}, +/* 16212 */ {(12<<2)|2,{111,107,0}}, +/* 16213 */ {(12<<2)|2,{111,107,0}}, +/* 16214 */ {(12<<2)|2,{111,107,0}}, +/* 16215 */ {(12<<2)|2,{111,107,0}}, +/* 16216 */ {(12<<2)|2,{111,107,0}}, +/* 16217 */ {(12<<2)|2,{111,107,0}}, +/* 16218 */ {(12<<2)|2,{111,107,0}}, +/* 16219 */ {(12<<2)|2,{111,107,0}}, +/* 16220 */ {(12<<2)|2,{111,107,0}}, +/* 16221 */ {(12<<2)|2,{111,107,0}}, +/* 16222 */ {(12<<2)|2,{111,107,0}}, +/* 16223 */ {(12<<2)|2,{111,107,0}}, +/* 16224 */ {(12<<2)|2,{111,113,0}}, +/* 16225 */ {(12<<2)|2,{111,113,0}}, +/* 16226 */ {(12<<2)|2,{111,113,0}}, +/* 16227 */ {(12<<2)|2,{111,113,0}}, +/* 16228 */ {(12<<2)|2,{111,113,0}}, +/* 16229 */ {(12<<2)|2,{111,113,0}}, +/* 16230 */ {(12<<2)|2,{111,113,0}}, +/* 16231 */ {(12<<2)|2,{111,113,0}}, +/* 16232 */ {(12<<2)|2,{111,113,0}}, +/* 16233 */ {(12<<2)|2,{111,113,0}}, +/* 16234 */ {(12<<2)|2,{111,113,0}}, +/* 16235 */ {(12<<2)|2,{111,113,0}}, +/* 16236 */ {(12<<2)|2,{111,113,0}}, +/* 16237 */ {(12<<2)|2,{111,113,0}}, +/* 16238 */ {(12<<2)|2,{111,113,0}}, +/* 16239 */ {(12<<2)|2,{111,113,0}}, +/* 16240 */ {(12<<2)|2,{111,118,0}}, +/* 16241 */ {(12<<2)|2,{111,118,0}}, +/* 16242 */ {(12<<2)|2,{111,118,0}}, +/* 16243 */ {(12<<2)|2,{111,118,0}}, +/* 16244 */ {(12<<2)|2,{111,118,0}}, +/* 16245 */ {(12<<2)|2,{111,118,0}}, +/* 16246 */ {(12<<2)|2,{111,118,0}}, +/* 16247 */ {(12<<2)|2,{111,118,0}}, +/* 16248 */ {(12<<2)|2,{111,118,0}}, +/* 16249 */ {(12<<2)|2,{111,118,0}}, +/* 16250 */ {(12<<2)|2,{111,118,0}}, +/* 16251 */ {(12<<2)|2,{111,118,0}}, +/* 16252 */ {(12<<2)|2,{111,118,0}}, +/* 16253 */ {(12<<2)|2,{111,118,0}}, +/* 16254 */ {(12<<2)|2,{111,118,0}}, +/* 16255 */ {(12<<2)|2,{111,118,0}}, +/* 16256 */ {(12<<2)|2,{111,119,0}}, +/* 16257 */ {(12<<2)|2,{111,119,0}}, +/* 16258 */ {(12<<2)|2,{111,119,0}}, +/* 16259 */ {(12<<2)|2,{111,119,0}}, +/* 16260 */ {(12<<2)|2,{111,119,0}}, +/* 16261 */ {(12<<2)|2,{111,119,0}}, +/* 16262 */ {(12<<2)|2,{111,119,0}}, +/* 16263 */ {(12<<2)|2,{111,119,0}}, +/* 16264 */ {(12<<2)|2,{111,119,0}}, +/* 16265 */ {(12<<2)|2,{111,119,0}}, +/* 16266 */ {(12<<2)|2,{111,119,0}}, +/* 16267 */ {(12<<2)|2,{111,119,0}}, +/* 16268 */ {(12<<2)|2,{111,119,0}}, +/* 16269 */ {(12<<2)|2,{111,119,0}}, +/* 16270 */ {(12<<2)|2,{111,119,0}}, +/* 16271 */ {(12<<2)|2,{111,119,0}}, +/* 16272 */ {(12<<2)|2,{111,120,0}}, +/* 16273 */ {(12<<2)|2,{111,120,0}}, +/* 16274 */ {(12<<2)|2,{111,120,0}}, +/* 16275 */ {(12<<2)|2,{111,120,0}}, +/* 16276 */ {(12<<2)|2,{111,120,0}}, +/* 16277 */ {(12<<2)|2,{111,120,0}}, +/* 16278 */ {(12<<2)|2,{111,120,0}}, +/* 16279 */ {(12<<2)|2,{111,120,0}}, +/* 16280 */ {(12<<2)|2,{111,120,0}}, +/* 16281 */ {(12<<2)|2,{111,120,0}}, +/* 16282 */ {(12<<2)|2,{111,120,0}}, +/* 16283 */ {(12<<2)|2,{111,120,0}}, +/* 16284 */ {(12<<2)|2,{111,120,0}}, +/* 16285 */ {(12<<2)|2,{111,120,0}}, +/* 16286 */ {(12<<2)|2,{111,120,0}}, +/* 16287 */ {(12<<2)|2,{111,120,0}}, +/* 16288 */ {(12<<2)|2,{111,121,0}}, +/* 16289 */ {(12<<2)|2,{111,121,0}}, +/* 16290 */ {(12<<2)|2,{111,121,0}}, +/* 16291 */ {(12<<2)|2,{111,121,0}}, +/* 16292 */ {(12<<2)|2,{111,121,0}}, +/* 16293 */ {(12<<2)|2,{111,121,0}}, +/* 16294 */ {(12<<2)|2,{111,121,0}}, +/* 16295 */ {(12<<2)|2,{111,121,0}}, +/* 16296 */ {(12<<2)|2,{111,121,0}}, +/* 16297 */ {(12<<2)|2,{111,121,0}}, +/* 16298 */ {(12<<2)|2,{111,121,0}}, +/* 16299 */ {(12<<2)|2,{111,121,0}}, +/* 16300 */ {(12<<2)|2,{111,121,0}}, +/* 16301 */ {(12<<2)|2,{111,121,0}}, +/* 16302 */ {(12<<2)|2,{111,121,0}}, +/* 16303 */ {(12<<2)|2,{111,121,0}}, +/* 16304 */ {(12<<2)|2,{111,122,0}}, +/* 16305 */ {(12<<2)|2,{111,122,0}}, +/* 16306 */ {(12<<2)|2,{111,122,0}}, +/* 16307 */ {(12<<2)|2,{111,122,0}}, +/* 16308 */ {(12<<2)|2,{111,122,0}}, +/* 16309 */ {(12<<2)|2,{111,122,0}}, +/* 16310 */ {(12<<2)|2,{111,122,0}}, +/* 16311 */ {(12<<2)|2,{111,122,0}}, +/* 16312 */ {(12<<2)|2,{111,122,0}}, +/* 16313 */ {(12<<2)|2,{111,122,0}}, +/* 16314 */ {(12<<2)|2,{111,122,0}}, +/* 16315 */ {(12<<2)|2,{111,122,0}}, +/* 16316 */ {(12<<2)|2,{111,122,0}}, +/* 16317 */ {(12<<2)|2,{111,122,0}}, +/* 16318 */ {(12<<2)|2,{111,122,0}}, +/* 16319 */ {(12<<2)|2,{111,122,0}}, +/* 16320 */ {(13<<2)|2,{111,38,0}}, +/* 16321 */ {(13<<2)|2,{111,38,0}}, +/* 16322 */ {(13<<2)|2,{111,38,0}}, +/* 16323 */ {(13<<2)|2,{111,38,0}}, +/* 16324 */ {(13<<2)|2,{111,38,0}}, +/* 16325 */ {(13<<2)|2,{111,38,0}}, +/* 16326 */ {(13<<2)|2,{111,38,0}}, +/* 16327 */ {(13<<2)|2,{111,38,0}}, +/* 16328 */ {(13<<2)|2,{111,42,0}}, +/* 16329 */ {(13<<2)|2,{111,42,0}}, +/* 16330 */ {(13<<2)|2,{111,42,0}}, +/* 16331 */ {(13<<2)|2,{111,42,0}}, +/* 16332 */ {(13<<2)|2,{111,42,0}}, +/* 16333 */ {(13<<2)|2,{111,42,0}}, +/* 16334 */ {(13<<2)|2,{111,42,0}}, +/* 16335 */ {(13<<2)|2,{111,42,0}}, +/* 16336 */ {(13<<2)|2,{111,44,0}}, +/* 16337 */ {(13<<2)|2,{111,44,0}}, +/* 16338 */ {(13<<2)|2,{111,44,0}}, +/* 16339 */ {(13<<2)|2,{111,44,0}}, +/* 16340 */ {(13<<2)|2,{111,44,0}}, +/* 16341 */ {(13<<2)|2,{111,44,0}}, +/* 16342 */ {(13<<2)|2,{111,44,0}}, +/* 16343 */ {(13<<2)|2,{111,44,0}}, +/* 16344 */ {(13<<2)|2,{111,59,0}}, +/* 16345 */ {(13<<2)|2,{111,59,0}}, +/* 16346 */ {(13<<2)|2,{111,59,0}}, +/* 16347 */ {(13<<2)|2,{111,59,0}}, +/* 16348 */ {(13<<2)|2,{111,59,0}}, +/* 16349 */ {(13<<2)|2,{111,59,0}}, +/* 16350 */ {(13<<2)|2,{111,59,0}}, +/* 16351 */ {(13<<2)|2,{111,59,0}}, +/* 16352 */ {(13<<2)|2,{111,88,0}}, +/* 16353 */ {(13<<2)|2,{111,88,0}}, +/* 16354 */ {(13<<2)|2,{111,88,0}}, +/* 16355 */ {(13<<2)|2,{111,88,0}}, +/* 16356 */ {(13<<2)|2,{111,88,0}}, +/* 16357 */ {(13<<2)|2,{111,88,0}}, +/* 16358 */ {(13<<2)|2,{111,88,0}}, +/* 16359 */ {(13<<2)|2,{111,88,0}}, +/* 16360 */ {(13<<2)|2,{111,90,0}}, +/* 16361 */ {(13<<2)|2,{111,90,0}}, +/* 16362 */ {(13<<2)|2,{111,90,0}}, +/* 16363 */ {(13<<2)|2,{111,90,0}}, +/* 16364 */ {(13<<2)|2,{111,90,0}}, +/* 16365 */ {(13<<2)|2,{111,90,0}}, +/* 16366 */ {(13<<2)|2,{111,90,0}}, +/* 16367 */ {(13<<2)|2,{111,90,0}}, +/* 16368 */ {(15<<2)|2,{111,33,0}}, +/* 16369 */ {(15<<2)|2,{111,33,0}}, +/* 16370 */ {(15<<2)|2,{111,34,0}}, +/* 16371 */ {(15<<2)|2,{111,34,0}}, +/* 16372 */ {(15<<2)|2,{111,40,0}}, +/* 16373 */ {(15<<2)|2,{111,40,0}}, +/* 16374 */ {(15<<2)|2,{111,41,0}}, +/* 16375 */ {(15<<2)|2,{111,41,0}}, +/* 16376 */ {(15<<2)|2,{111,63,0}}, +/* 16377 */ {(15<<2)|2,{111,63,0}}, +/* 16378 */ {(16<<2)|2,{111,39,0}}, +/* 16379 */ {(16<<2)|2,{111,43,0}}, +/* 16380 */ {(16<<2)|2,{111,124,0}}, +/* 16381 */ {(5<<2)|1,{111,0,0}}, +/* 16382 */ {(5<<2)|1,{111,0,0}}, +/* 16383 */ {(5<<2)|1,{111,0,0}}, +/* 16384 */ {(15<<2)|3,{115,48,48}}, +/* 16385 */ {(15<<2)|3,{115,48,48}}, +/* 16386 */ {(15<<2)|3,{115,48,49}}, +/* 16387 */ {(15<<2)|3,{115,48,49}}, +/* 16388 */ {(15<<2)|3,{115,48,50}}, +/* 16389 */ {(15<<2)|3,{115,48,50}}, +/* 16390 */ {(15<<2)|3,{115,48,97}}, +/* 16391 */ {(15<<2)|3,{115,48,97}}, +/* 16392 */ {(15<<2)|3,{115,48,99}}, +/* 16393 */ {(15<<2)|3,{115,48,99}}, +/* 16394 */ {(15<<2)|3,{115,48,101}}, +/* 16395 */ {(15<<2)|3,{115,48,101}}, +/* 16396 */ {(15<<2)|3,{115,48,105}}, +/* 16397 */ {(15<<2)|3,{115,48,105}}, +/* 16398 */ {(15<<2)|3,{115,48,111}}, +/* 16399 */ {(15<<2)|3,{115,48,111}}, +/* 16400 */ {(15<<2)|3,{115,48,115}}, +/* 16401 */ {(15<<2)|3,{115,48,115}}, +/* 16402 */ {(15<<2)|3,{115,48,116}}, +/* 16403 */ {(15<<2)|3,{115,48,116}}, +/* 16404 */ {(16<<2)|3,{115,48,32}}, +/* 16405 */ {(16<<2)|3,{115,48,37}}, +/* 16406 */ {(16<<2)|3,{115,48,45}}, +/* 16407 */ {(16<<2)|3,{115,48,46}}, +/* 16408 */ {(16<<2)|3,{115,48,47}}, +/* 16409 */ {(16<<2)|3,{115,48,51}}, +/* 16410 */ {(16<<2)|3,{115,48,52}}, +/* 16411 */ {(16<<2)|3,{115,48,53}}, +/* 16412 */ {(16<<2)|3,{115,48,54}}, +/* 16413 */ {(16<<2)|3,{115,48,55}}, +/* 16414 */ {(16<<2)|3,{115,48,56}}, +/* 16415 */ {(16<<2)|3,{115,48,57}}, +/* 16416 */ {(16<<2)|3,{115,48,61}}, +/* 16417 */ {(16<<2)|3,{115,48,65}}, +/* 16418 */ {(16<<2)|3,{115,48,95}}, +/* 16419 */ {(16<<2)|3,{115,48,98}}, +/* 16420 */ {(16<<2)|3,{115,48,100}}, +/* 16421 */ {(16<<2)|3,{115,48,102}}, +/* 16422 */ {(16<<2)|3,{115,48,103}}, +/* 16423 */ {(16<<2)|3,{115,48,104}}, +/* 16424 */ {(16<<2)|3,{115,48,108}}, +/* 16425 */ {(16<<2)|3,{115,48,109}}, +/* 16426 */ {(16<<2)|3,{115,48,110}}, +/* 16427 */ {(16<<2)|3,{115,48,112}}, +/* 16428 */ {(16<<2)|3,{115,48,114}}, +/* 16429 */ {(16<<2)|3,{115,48,117}}, +/* 16430 */ {(10<<2)|2,{115,48,0}}, +/* 16431 */ {(10<<2)|2,{115,48,0}}, +/* 16432 */ {(10<<2)|2,{115,48,0}}, +/* 16433 */ {(10<<2)|2,{115,48,0}}, +/* 16434 */ {(10<<2)|2,{115,48,0}}, +/* 16435 */ {(10<<2)|2,{115,48,0}}, +/* 16436 */ {(10<<2)|2,{115,48,0}}, +/* 16437 */ {(10<<2)|2,{115,48,0}}, +/* 16438 */ {(10<<2)|2,{115,48,0}}, +/* 16439 */ {(10<<2)|2,{115,48,0}}, +/* 16440 */ {(10<<2)|2,{115,48,0}}, +/* 16441 */ {(10<<2)|2,{115,48,0}}, +/* 16442 */ {(10<<2)|2,{115,48,0}}, +/* 16443 */ {(10<<2)|2,{115,48,0}}, +/* 16444 */ {(10<<2)|2,{115,48,0}}, +/* 16445 */ {(10<<2)|2,{115,48,0}}, +/* 16446 */ {(10<<2)|2,{115,48,0}}, +/* 16447 */ {(10<<2)|2,{115,48,0}}, +/* 16448 */ {(15<<2)|3,{115,49,48}}, +/* 16449 */ {(15<<2)|3,{115,49,48}}, +/* 16450 */ {(15<<2)|3,{115,49,49}}, +/* 16451 */ {(15<<2)|3,{115,49,49}}, +/* 16452 */ {(15<<2)|3,{115,49,50}}, +/* 16453 */ {(15<<2)|3,{115,49,50}}, +/* 16454 */ {(15<<2)|3,{115,49,97}}, +/* 16455 */ {(15<<2)|3,{115,49,97}}, +/* 16456 */ {(15<<2)|3,{115,49,99}}, +/* 16457 */ {(15<<2)|3,{115,49,99}}, +/* 16458 */ {(15<<2)|3,{115,49,101}}, +/* 16459 */ {(15<<2)|3,{115,49,101}}, +/* 16460 */ {(15<<2)|3,{115,49,105}}, +/* 16461 */ {(15<<2)|3,{115,49,105}}, +/* 16462 */ {(15<<2)|3,{115,49,111}}, +/* 16463 */ {(15<<2)|3,{115,49,111}}, +/* 16464 */ {(15<<2)|3,{115,49,115}}, +/* 16465 */ {(15<<2)|3,{115,49,115}}, +/* 16466 */ {(15<<2)|3,{115,49,116}}, +/* 16467 */ {(15<<2)|3,{115,49,116}}, +/* 16468 */ {(16<<2)|3,{115,49,32}}, +/* 16469 */ {(16<<2)|3,{115,49,37}}, +/* 16470 */ {(16<<2)|3,{115,49,45}}, +/* 16471 */ {(16<<2)|3,{115,49,46}}, +/* 16472 */ {(16<<2)|3,{115,49,47}}, +/* 16473 */ {(16<<2)|3,{115,49,51}}, +/* 16474 */ {(16<<2)|3,{115,49,52}}, +/* 16475 */ {(16<<2)|3,{115,49,53}}, +/* 16476 */ {(16<<2)|3,{115,49,54}}, +/* 16477 */ {(16<<2)|3,{115,49,55}}, +/* 16478 */ {(16<<2)|3,{115,49,56}}, +/* 16479 */ {(16<<2)|3,{115,49,57}}, +/* 16480 */ {(16<<2)|3,{115,49,61}}, +/* 16481 */ {(16<<2)|3,{115,49,65}}, +/* 16482 */ {(16<<2)|3,{115,49,95}}, +/* 16483 */ {(16<<2)|3,{115,49,98}}, +/* 16484 */ {(16<<2)|3,{115,49,100}}, +/* 16485 */ {(16<<2)|3,{115,49,102}}, +/* 16486 */ {(16<<2)|3,{115,49,103}}, +/* 16487 */ {(16<<2)|3,{115,49,104}}, +/* 16488 */ {(16<<2)|3,{115,49,108}}, +/* 16489 */ {(16<<2)|3,{115,49,109}}, +/* 16490 */ {(16<<2)|3,{115,49,110}}, +/* 16491 */ {(16<<2)|3,{115,49,112}}, +/* 16492 */ {(16<<2)|3,{115,49,114}}, +/* 16493 */ {(16<<2)|3,{115,49,117}}, +/* 16494 */ {(10<<2)|2,{115,49,0}}, +/* 16495 */ {(10<<2)|2,{115,49,0}}, +/* 16496 */ {(10<<2)|2,{115,49,0}}, +/* 16497 */ {(10<<2)|2,{115,49,0}}, +/* 16498 */ {(10<<2)|2,{115,49,0}}, +/* 16499 */ {(10<<2)|2,{115,49,0}}, +/* 16500 */ {(10<<2)|2,{115,49,0}}, +/* 16501 */ {(10<<2)|2,{115,49,0}}, +/* 16502 */ {(10<<2)|2,{115,49,0}}, +/* 16503 */ {(10<<2)|2,{115,49,0}}, +/* 16504 */ {(10<<2)|2,{115,49,0}}, +/* 16505 */ {(10<<2)|2,{115,49,0}}, +/* 16506 */ {(10<<2)|2,{115,49,0}}, +/* 16507 */ {(10<<2)|2,{115,49,0}}, +/* 16508 */ {(10<<2)|2,{115,49,0}}, +/* 16509 */ {(10<<2)|2,{115,49,0}}, +/* 16510 */ {(10<<2)|2,{115,49,0}}, +/* 16511 */ {(10<<2)|2,{115,49,0}}, +/* 16512 */ {(15<<2)|3,{115,50,48}}, +/* 16513 */ {(15<<2)|3,{115,50,48}}, +/* 16514 */ {(15<<2)|3,{115,50,49}}, +/* 16515 */ {(15<<2)|3,{115,50,49}}, +/* 16516 */ {(15<<2)|3,{115,50,50}}, +/* 16517 */ {(15<<2)|3,{115,50,50}}, +/* 16518 */ {(15<<2)|3,{115,50,97}}, +/* 16519 */ {(15<<2)|3,{115,50,97}}, +/* 16520 */ {(15<<2)|3,{115,50,99}}, +/* 16521 */ {(15<<2)|3,{115,50,99}}, +/* 16522 */ {(15<<2)|3,{115,50,101}}, +/* 16523 */ {(15<<2)|3,{115,50,101}}, +/* 16524 */ {(15<<2)|3,{115,50,105}}, +/* 16525 */ {(15<<2)|3,{115,50,105}}, +/* 16526 */ {(15<<2)|3,{115,50,111}}, +/* 16527 */ {(15<<2)|3,{115,50,111}}, +/* 16528 */ {(15<<2)|3,{115,50,115}}, +/* 16529 */ {(15<<2)|3,{115,50,115}}, +/* 16530 */ {(15<<2)|3,{115,50,116}}, +/* 16531 */ {(15<<2)|3,{115,50,116}}, +/* 16532 */ {(16<<2)|3,{115,50,32}}, +/* 16533 */ {(16<<2)|3,{115,50,37}}, +/* 16534 */ {(16<<2)|3,{115,50,45}}, +/* 16535 */ {(16<<2)|3,{115,50,46}}, +/* 16536 */ {(16<<2)|3,{115,50,47}}, +/* 16537 */ {(16<<2)|3,{115,50,51}}, +/* 16538 */ {(16<<2)|3,{115,50,52}}, +/* 16539 */ {(16<<2)|3,{115,50,53}}, +/* 16540 */ {(16<<2)|3,{115,50,54}}, +/* 16541 */ {(16<<2)|3,{115,50,55}}, +/* 16542 */ {(16<<2)|3,{115,50,56}}, +/* 16543 */ {(16<<2)|3,{115,50,57}}, +/* 16544 */ {(16<<2)|3,{115,50,61}}, +/* 16545 */ {(16<<2)|3,{115,50,65}}, +/* 16546 */ {(16<<2)|3,{115,50,95}}, +/* 16547 */ {(16<<2)|3,{115,50,98}}, +/* 16548 */ {(16<<2)|3,{115,50,100}}, +/* 16549 */ {(16<<2)|3,{115,50,102}}, +/* 16550 */ {(16<<2)|3,{115,50,103}}, +/* 16551 */ {(16<<2)|3,{115,50,104}}, +/* 16552 */ {(16<<2)|3,{115,50,108}}, +/* 16553 */ {(16<<2)|3,{115,50,109}}, +/* 16554 */ {(16<<2)|3,{115,50,110}}, +/* 16555 */ {(16<<2)|3,{115,50,112}}, +/* 16556 */ {(16<<2)|3,{115,50,114}}, +/* 16557 */ {(16<<2)|3,{115,50,117}}, +/* 16558 */ {(10<<2)|2,{115,50,0}}, +/* 16559 */ {(10<<2)|2,{115,50,0}}, +/* 16560 */ {(10<<2)|2,{115,50,0}}, +/* 16561 */ {(10<<2)|2,{115,50,0}}, +/* 16562 */ {(10<<2)|2,{115,50,0}}, +/* 16563 */ {(10<<2)|2,{115,50,0}}, +/* 16564 */ {(10<<2)|2,{115,50,0}}, +/* 16565 */ {(10<<2)|2,{115,50,0}}, +/* 16566 */ {(10<<2)|2,{115,50,0}}, +/* 16567 */ {(10<<2)|2,{115,50,0}}, +/* 16568 */ {(10<<2)|2,{115,50,0}}, +/* 16569 */ {(10<<2)|2,{115,50,0}}, +/* 16570 */ {(10<<2)|2,{115,50,0}}, +/* 16571 */ {(10<<2)|2,{115,50,0}}, +/* 16572 */ {(10<<2)|2,{115,50,0}}, +/* 16573 */ {(10<<2)|2,{115,50,0}}, +/* 16574 */ {(10<<2)|2,{115,50,0}}, +/* 16575 */ {(10<<2)|2,{115,50,0}}, +/* 16576 */ {(15<<2)|3,{115,97,48}}, +/* 16577 */ {(15<<2)|3,{115,97,48}}, +/* 16578 */ {(15<<2)|3,{115,97,49}}, +/* 16579 */ {(15<<2)|3,{115,97,49}}, +/* 16580 */ {(15<<2)|3,{115,97,50}}, +/* 16581 */ {(15<<2)|3,{115,97,50}}, +/* 16582 */ {(15<<2)|3,{115,97,97}}, +/* 16583 */ {(15<<2)|3,{115,97,97}}, +/* 16584 */ {(15<<2)|3,{115,97,99}}, +/* 16585 */ {(15<<2)|3,{115,97,99}}, +/* 16586 */ {(15<<2)|3,{115,97,101}}, +/* 16587 */ {(15<<2)|3,{115,97,101}}, +/* 16588 */ {(15<<2)|3,{115,97,105}}, +/* 16589 */ {(15<<2)|3,{115,97,105}}, +/* 16590 */ {(15<<2)|3,{115,97,111}}, +/* 16591 */ {(15<<2)|3,{115,97,111}}, +/* 16592 */ {(15<<2)|3,{115,97,115}}, +/* 16593 */ {(15<<2)|3,{115,97,115}}, +/* 16594 */ {(15<<2)|3,{115,97,116}}, +/* 16595 */ {(15<<2)|3,{115,97,116}}, +/* 16596 */ {(16<<2)|3,{115,97,32}}, +/* 16597 */ {(16<<2)|3,{115,97,37}}, +/* 16598 */ {(16<<2)|3,{115,97,45}}, +/* 16599 */ {(16<<2)|3,{115,97,46}}, +/* 16600 */ {(16<<2)|3,{115,97,47}}, +/* 16601 */ {(16<<2)|3,{115,97,51}}, +/* 16602 */ {(16<<2)|3,{115,97,52}}, +/* 16603 */ {(16<<2)|3,{115,97,53}}, +/* 16604 */ {(16<<2)|3,{115,97,54}}, +/* 16605 */ {(16<<2)|3,{115,97,55}}, +/* 16606 */ {(16<<2)|3,{115,97,56}}, +/* 16607 */ {(16<<2)|3,{115,97,57}}, +/* 16608 */ {(16<<2)|3,{115,97,61}}, +/* 16609 */ {(16<<2)|3,{115,97,65}}, +/* 16610 */ {(16<<2)|3,{115,97,95}}, +/* 16611 */ {(16<<2)|3,{115,97,98}}, +/* 16612 */ {(16<<2)|3,{115,97,100}}, +/* 16613 */ {(16<<2)|3,{115,97,102}}, +/* 16614 */ {(16<<2)|3,{115,97,103}}, +/* 16615 */ {(16<<2)|3,{115,97,104}}, +/* 16616 */ {(16<<2)|3,{115,97,108}}, +/* 16617 */ {(16<<2)|3,{115,97,109}}, +/* 16618 */ {(16<<2)|3,{115,97,110}}, +/* 16619 */ {(16<<2)|3,{115,97,112}}, +/* 16620 */ {(16<<2)|3,{115,97,114}}, +/* 16621 */ {(16<<2)|3,{115,97,117}}, +/* 16622 */ {(10<<2)|2,{115,97,0}}, +/* 16623 */ {(10<<2)|2,{115,97,0}}, +/* 16624 */ {(10<<2)|2,{115,97,0}}, +/* 16625 */ {(10<<2)|2,{115,97,0}}, +/* 16626 */ {(10<<2)|2,{115,97,0}}, +/* 16627 */ {(10<<2)|2,{115,97,0}}, +/* 16628 */ {(10<<2)|2,{115,97,0}}, +/* 16629 */ {(10<<2)|2,{115,97,0}}, +/* 16630 */ {(10<<2)|2,{115,97,0}}, +/* 16631 */ {(10<<2)|2,{115,97,0}}, +/* 16632 */ {(10<<2)|2,{115,97,0}}, +/* 16633 */ {(10<<2)|2,{115,97,0}}, +/* 16634 */ {(10<<2)|2,{115,97,0}}, +/* 16635 */ {(10<<2)|2,{115,97,0}}, +/* 16636 */ {(10<<2)|2,{115,97,0}}, +/* 16637 */ {(10<<2)|2,{115,97,0}}, +/* 16638 */ {(10<<2)|2,{115,97,0}}, +/* 16639 */ {(10<<2)|2,{115,97,0}}, +/* 16640 */ {(15<<2)|3,{115,99,48}}, +/* 16641 */ {(15<<2)|3,{115,99,48}}, +/* 16642 */ {(15<<2)|3,{115,99,49}}, +/* 16643 */ {(15<<2)|3,{115,99,49}}, +/* 16644 */ {(15<<2)|3,{115,99,50}}, +/* 16645 */ {(15<<2)|3,{115,99,50}}, +/* 16646 */ {(15<<2)|3,{115,99,97}}, +/* 16647 */ {(15<<2)|3,{115,99,97}}, +/* 16648 */ {(15<<2)|3,{115,99,99}}, +/* 16649 */ {(15<<2)|3,{115,99,99}}, +/* 16650 */ {(15<<2)|3,{115,99,101}}, +/* 16651 */ {(15<<2)|3,{115,99,101}}, +/* 16652 */ {(15<<2)|3,{115,99,105}}, +/* 16653 */ {(15<<2)|3,{115,99,105}}, +/* 16654 */ {(15<<2)|3,{115,99,111}}, +/* 16655 */ {(15<<2)|3,{115,99,111}}, +/* 16656 */ {(15<<2)|3,{115,99,115}}, +/* 16657 */ {(15<<2)|3,{115,99,115}}, +/* 16658 */ {(15<<2)|3,{115,99,116}}, +/* 16659 */ {(15<<2)|3,{115,99,116}}, +/* 16660 */ {(16<<2)|3,{115,99,32}}, +/* 16661 */ {(16<<2)|3,{115,99,37}}, +/* 16662 */ {(16<<2)|3,{115,99,45}}, +/* 16663 */ {(16<<2)|3,{115,99,46}}, +/* 16664 */ {(16<<2)|3,{115,99,47}}, +/* 16665 */ {(16<<2)|3,{115,99,51}}, +/* 16666 */ {(16<<2)|3,{115,99,52}}, +/* 16667 */ {(16<<2)|3,{115,99,53}}, +/* 16668 */ {(16<<2)|3,{115,99,54}}, +/* 16669 */ {(16<<2)|3,{115,99,55}}, +/* 16670 */ {(16<<2)|3,{115,99,56}}, +/* 16671 */ {(16<<2)|3,{115,99,57}}, +/* 16672 */ {(16<<2)|3,{115,99,61}}, +/* 16673 */ {(16<<2)|3,{115,99,65}}, +/* 16674 */ {(16<<2)|3,{115,99,95}}, +/* 16675 */ {(16<<2)|3,{115,99,98}}, +/* 16676 */ {(16<<2)|3,{115,99,100}}, +/* 16677 */ {(16<<2)|3,{115,99,102}}, +/* 16678 */ {(16<<2)|3,{115,99,103}}, +/* 16679 */ {(16<<2)|3,{115,99,104}}, +/* 16680 */ {(16<<2)|3,{115,99,108}}, +/* 16681 */ {(16<<2)|3,{115,99,109}}, +/* 16682 */ {(16<<2)|3,{115,99,110}}, +/* 16683 */ {(16<<2)|3,{115,99,112}}, +/* 16684 */ {(16<<2)|3,{115,99,114}}, +/* 16685 */ {(16<<2)|3,{115,99,117}}, +/* 16686 */ {(10<<2)|2,{115,99,0}}, +/* 16687 */ {(10<<2)|2,{115,99,0}}, +/* 16688 */ {(10<<2)|2,{115,99,0}}, +/* 16689 */ {(10<<2)|2,{115,99,0}}, +/* 16690 */ {(10<<2)|2,{115,99,0}}, +/* 16691 */ {(10<<2)|2,{115,99,0}}, +/* 16692 */ {(10<<2)|2,{115,99,0}}, +/* 16693 */ {(10<<2)|2,{115,99,0}}, +/* 16694 */ {(10<<2)|2,{115,99,0}}, +/* 16695 */ {(10<<2)|2,{115,99,0}}, +/* 16696 */ {(10<<2)|2,{115,99,0}}, +/* 16697 */ {(10<<2)|2,{115,99,0}}, +/* 16698 */ {(10<<2)|2,{115,99,0}}, +/* 16699 */ {(10<<2)|2,{115,99,0}}, +/* 16700 */ {(10<<2)|2,{115,99,0}}, +/* 16701 */ {(10<<2)|2,{115,99,0}}, +/* 16702 */ {(10<<2)|2,{115,99,0}}, +/* 16703 */ {(10<<2)|2,{115,99,0}}, +/* 16704 */ {(15<<2)|3,{115,101,48}}, +/* 16705 */ {(15<<2)|3,{115,101,48}}, +/* 16706 */ {(15<<2)|3,{115,101,49}}, +/* 16707 */ {(15<<2)|3,{115,101,49}}, +/* 16708 */ {(15<<2)|3,{115,101,50}}, +/* 16709 */ {(15<<2)|3,{115,101,50}}, +/* 16710 */ {(15<<2)|3,{115,101,97}}, +/* 16711 */ {(15<<2)|3,{115,101,97}}, +/* 16712 */ {(15<<2)|3,{115,101,99}}, +/* 16713 */ {(15<<2)|3,{115,101,99}}, +/* 16714 */ {(15<<2)|3,{115,101,101}}, +/* 16715 */ {(15<<2)|3,{115,101,101}}, +/* 16716 */ {(15<<2)|3,{115,101,105}}, +/* 16717 */ {(15<<2)|3,{115,101,105}}, +/* 16718 */ {(15<<2)|3,{115,101,111}}, +/* 16719 */ {(15<<2)|3,{115,101,111}}, +/* 16720 */ {(15<<2)|3,{115,101,115}}, +/* 16721 */ {(15<<2)|3,{115,101,115}}, +/* 16722 */ {(15<<2)|3,{115,101,116}}, +/* 16723 */ {(15<<2)|3,{115,101,116}}, +/* 16724 */ {(16<<2)|3,{115,101,32}}, +/* 16725 */ {(16<<2)|3,{115,101,37}}, +/* 16726 */ {(16<<2)|3,{115,101,45}}, +/* 16727 */ {(16<<2)|3,{115,101,46}}, +/* 16728 */ {(16<<2)|3,{115,101,47}}, +/* 16729 */ {(16<<2)|3,{115,101,51}}, +/* 16730 */ {(16<<2)|3,{115,101,52}}, +/* 16731 */ {(16<<2)|3,{115,101,53}}, +/* 16732 */ {(16<<2)|3,{115,101,54}}, +/* 16733 */ {(16<<2)|3,{115,101,55}}, +/* 16734 */ {(16<<2)|3,{115,101,56}}, +/* 16735 */ {(16<<2)|3,{115,101,57}}, +/* 16736 */ {(16<<2)|3,{115,101,61}}, +/* 16737 */ {(16<<2)|3,{115,101,65}}, +/* 16738 */ {(16<<2)|3,{115,101,95}}, +/* 16739 */ {(16<<2)|3,{115,101,98}}, +/* 16740 */ {(16<<2)|3,{115,101,100}}, +/* 16741 */ {(16<<2)|3,{115,101,102}}, +/* 16742 */ {(16<<2)|3,{115,101,103}}, +/* 16743 */ {(16<<2)|3,{115,101,104}}, +/* 16744 */ {(16<<2)|3,{115,101,108}}, +/* 16745 */ {(16<<2)|3,{115,101,109}}, +/* 16746 */ {(16<<2)|3,{115,101,110}}, +/* 16747 */ {(16<<2)|3,{115,101,112}}, +/* 16748 */ {(16<<2)|3,{115,101,114}}, +/* 16749 */ {(16<<2)|3,{115,101,117}}, +/* 16750 */ {(10<<2)|2,{115,101,0}}, +/* 16751 */ {(10<<2)|2,{115,101,0}}, +/* 16752 */ {(10<<2)|2,{115,101,0}}, +/* 16753 */ {(10<<2)|2,{115,101,0}}, +/* 16754 */ {(10<<2)|2,{115,101,0}}, +/* 16755 */ {(10<<2)|2,{115,101,0}}, +/* 16756 */ {(10<<2)|2,{115,101,0}}, +/* 16757 */ {(10<<2)|2,{115,101,0}}, +/* 16758 */ {(10<<2)|2,{115,101,0}}, +/* 16759 */ {(10<<2)|2,{115,101,0}}, +/* 16760 */ {(10<<2)|2,{115,101,0}}, +/* 16761 */ {(10<<2)|2,{115,101,0}}, +/* 16762 */ {(10<<2)|2,{115,101,0}}, +/* 16763 */ {(10<<2)|2,{115,101,0}}, +/* 16764 */ {(10<<2)|2,{115,101,0}}, +/* 16765 */ {(10<<2)|2,{115,101,0}}, +/* 16766 */ {(10<<2)|2,{115,101,0}}, +/* 16767 */ {(10<<2)|2,{115,101,0}}, +/* 16768 */ {(15<<2)|3,{115,105,48}}, +/* 16769 */ {(15<<2)|3,{115,105,48}}, +/* 16770 */ {(15<<2)|3,{115,105,49}}, +/* 16771 */ {(15<<2)|3,{115,105,49}}, +/* 16772 */ {(15<<2)|3,{115,105,50}}, +/* 16773 */ {(15<<2)|3,{115,105,50}}, +/* 16774 */ {(15<<2)|3,{115,105,97}}, +/* 16775 */ {(15<<2)|3,{115,105,97}}, +/* 16776 */ {(15<<2)|3,{115,105,99}}, +/* 16777 */ {(15<<2)|3,{115,105,99}}, +/* 16778 */ {(15<<2)|3,{115,105,101}}, +/* 16779 */ {(15<<2)|3,{115,105,101}}, +/* 16780 */ {(15<<2)|3,{115,105,105}}, +/* 16781 */ {(15<<2)|3,{115,105,105}}, +/* 16782 */ {(15<<2)|3,{115,105,111}}, +/* 16783 */ {(15<<2)|3,{115,105,111}}, +/* 16784 */ {(15<<2)|3,{115,105,115}}, +/* 16785 */ {(15<<2)|3,{115,105,115}}, +/* 16786 */ {(15<<2)|3,{115,105,116}}, +/* 16787 */ {(15<<2)|3,{115,105,116}}, +/* 16788 */ {(16<<2)|3,{115,105,32}}, +/* 16789 */ {(16<<2)|3,{115,105,37}}, +/* 16790 */ {(16<<2)|3,{115,105,45}}, +/* 16791 */ {(16<<2)|3,{115,105,46}}, +/* 16792 */ {(16<<2)|3,{115,105,47}}, +/* 16793 */ {(16<<2)|3,{115,105,51}}, +/* 16794 */ {(16<<2)|3,{115,105,52}}, +/* 16795 */ {(16<<2)|3,{115,105,53}}, +/* 16796 */ {(16<<2)|3,{115,105,54}}, +/* 16797 */ {(16<<2)|3,{115,105,55}}, +/* 16798 */ {(16<<2)|3,{115,105,56}}, +/* 16799 */ {(16<<2)|3,{115,105,57}}, +/* 16800 */ {(16<<2)|3,{115,105,61}}, +/* 16801 */ {(16<<2)|3,{115,105,65}}, +/* 16802 */ {(16<<2)|3,{115,105,95}}, +/* 16803 */ {(16<<2)|3,{115,105,98}}, +/* 16804 */ {(16<<2)|3,{115,105,100}}, +/* 16805 */ {(16<<2)|3,{115,105,102}}, +/* 16806 */ {(16<<2)|3,{115,105,103}}, +/* 16807 */ {(16<<2)|3,{115,105,104}}, +/* 16808 */ {(16<<2)|3,{115,105,108}}, +/* 16809 */ {(16<<2)|3,{115,105,109}}, +/* 16810 */ {(16<<2)|3,{115,105,110}}, +/* 16811 */ {(16<<2)|3,{115,105,112}}, +/* 16812 */ {(16<<2)|3,{115,105,114}}, +/* 16813 */ {(16<<2)|3,{115,105,117}}, +/* 16814 */ {(10<<2)|2,{115,105,0}}, +/* 16815 */ {(10<<2)|2,{115,105,0}}, +/* 16816 */ {(10<<2)|2,{115,105,0}}, +/* 16817 */ {(10<<2)|2,{115,105,0}}, +/* 16818 */ {(10<<2)|2,{115,105,0}}, +/* 16819 */ {(10<<2)|2,{115,105,0}}, +/* 16820 */ {(10<<2)|2,{115,105,0}}, +/* 16821 */ {(10<<2)|2,{115,105,0}}, +/* 16822 */ {(10<<2)|2,{115,105,0}}, +/* 16823 */ {(10<<2)|2,{115,105,0}}, +/* 16824 */ {(10<<2)|2,{115,105,0}}, +/* 16825 */ {(10<<2)|2,{115,105,0}}, +/* 16826 */ {(10<<2)|2,{115,105,0}}, +/* 16827 */ {(10<<2)|2,{115,105,0}}, +/* 16828 */ {(10<<2)|2,{115,105,0}}, +/* 16829 */ {(10<<2)|2,{115,105,0}}, +/* 16830 */ {(10<<2)|2,{115,105,0}}, +/* 16831 */ {(10<<2)|2,{115,105,0}}, +/* 16832 */ {(15<<2)|3,{115,111,48}}, +/* 16833 */ {(15<<2)|3,{115,111,48}}, +/* 16834 */ {(15<<2)|3,{115,111,49}}, +/* 16835 */ {(15<<2)|3,{115,111,49}}, +/* 16836 */ {(15<<2)|3,{115,111,50}}, +/* 16837 */ {(15<<2)|3,{115,111,50}}, +/* 16838 */ {(15<<2)|3,{115,111,97}}, +/* 16839 */ {(15<<2)|3,{115,111,97}}, +/* 16840 */ {(15<<2)|3,{115,111,99}}, +/* 16841 */ {(15<<2)|3,{115,111,99}}, +/* 16842 */ {(15<<2)|3,{115,111,101}}, +/* 16843 */ {(15<<2)|3,{115,111,101}}, +/* 16844 */ {(15<<2)|3,{115,111,105}}, +/* 16845 */ {(15<<2)|3,{115,111,105}}, +/* 16846 */ {(15<<2)|3,{115,111,111}}, +/* 16847 */ {(15<<2)|3,{115,111,111}}, +/* 16848 */ {(15<<2)|3,{115,111,115}}, +/* 16849 */ {(15<<2)|3,{115,111,115}}, +/* 16850 */ {(15<<2)|3,{115,111,116}}, +/* 16851 */ {(15<<2)|3,{115,111,116}}, +/* 16852 */ {(16<<2)|3,{115,111,32}}, +/* 16853 */ {(16<<2)|3,{115,111,37}}, +/* 16854 */ {(16<<2)|3,{115,111,45}}, +/* 16855 */ {(16<<2)|3,{115,111,46}}, +/* 16856 */ {(16<<2)|3,{115,111,47}}, +/* 16857 */ {(16<<2)|3,{115,111,51}}, +/* 16858 */ {(16<<2)|3,{115,111,52}}, +/* 16859 */ {(16<<2)|3,{115,111,53}}, +/* 16860 */ {(16<<2)|3,{115,111,54}}, +/* 16861 */ {(16<<2)|3,{115,111,55}}, +/* 16862 */ {(16<<2)|3,{115,111,56}}, +/* 16863 */ {(16<<2)|3,{115,111,57}}, +/* 16864 */ {(16<<2)|3,{115,111,61}}, +/* 16865 */ {(16<<2)|3,{115,111,65}}, +/* 16866 */ {(16<<2)|3,{115,111,95}}, +/* 16867 */ {(16<<2)|3,{115,111,98}}, +/* 16868 */ {(16<<2)|3,{115,111,100}}, +/* 16869 */ {(16<<2)|3,{115,111,102}}, +/* 16870 */ {(16<<2)|3,{115,111,103}}, +/* 16871 */ {(16<<2)|3,{115,111,104}}, +/* 16872 */ {(16<<2)|3,{115,111,108}}, +/* 16873 */ {(16<<2)|3,{115,111,109}}, +/* 16874 */ {(16<<2)|3,{115,111,110}}, +/* 16875 */ {(16<<2)|3,{115,111,112}}, +/* 16876 */ {(16<<2)|3,{115,111,114}}, +/* 16877 */ {(16<<2)|3,{115,111,117}}, +/* 16878 */ {(10<<2)|2,{115,111,0}}, +/* 16879 */ {(10<<2)|2,{115,111,0}}, +/* 16880 */ {(10<<2)|2,{115,111,0}}, +/* 16881 */ {(10<<2)|2,{115,111,0}}, +/* 16882 */ {(10<<2)|2,{115,111,0}}, +/* 16883 */ {(10<<2)|2,{115,111,0}}, +/* 16884 */ {(10<<2)|2,{115,111,0}}, +/* 16885 */ {(10<<2)|2,{115,111,0}}, +/* 16886 */ {(10<<2)|2,{115,111,0}}, +/* 16887 */ {(10<<2)|2,{115,111,0}}, +/* 16888 */ {(10<<2)|2,{115,111,0}}, +/* 16889 */ {(10<<2)|2,{115,111,0}}, +/* 16890 */ {(10<<2)|2,{115,111,0}}, +/* 16891 */ {(10<<2)|2,{115,111,0}}, +/* 16892 */ {(10<<2)|2,{115,111,0}}, +/* 16893 */ {(10<<2)|2,{115,111,0}}, +/* 16894 */ {(10<<2)|2,{115,111,0}}, +/* 16895 */ {(10<<2)|2,{115,111,0}}, +/* 16896 */ {(15<<2)|3,{115,115,48}}, +/* 16897 */ {(15<<2)|3,{115,115,48}}, +/* 16898 */ {(15<<2)|3,{115,115,49}}, +/* 16899 */ {(15<<2)|3,{115,115,49}}, +/* 16900 */ {(15<<2)|3,{115,115,50}}, +/* 16901 */ {(15<<2)|3,{115,115,50}}, +/* 16902 */ {(15<<2)|3,{115,115,97}}, +/* 16903 */ {(15<<2)|3,{115,115,97}}, +/* 16904 */ {(15<<2)|3,{115,115,99}}, +/* 16905 */ {(15<<2)|3,{115,115,99}}, +/* 16906 */ {(15<<2)|3,{115,115,101}}, +/* 16907 */ {(15<<2)|3,{115,115,101}}, +/* 16908 */ {(15<<2)|3,{115,115,105}}, +/* 16909 */ {(15<<2)|3,{115,115,105}}, +/* 16910 */ {(15<<2)|3,{115,115,111}}, +/* 16911 */ {(15<<2)|3,{115,115,111}}, +/* 16912 */ {(15<<2)|3,{115,115,115}}, +/* 16913 */ {(15<<2)|3,{115,115,115}}, +/* 16914 */ {(15<<2)|3,{115,115,116}}, +/* 16915 */ {(15<<2)|3,{115,115,116}}, +/* 16916 */ {(16<<2)|3,{115,115,32}}, +/* 16917 */ {(16<<2)|3,{115,115,37}}, +/* 16918 */ {(16<<2)|3,{115,115,45}}, +/* 16919 */ {(16<<2)|3,{115,115,46}}, +/* 16920 */ {(16<<2)|3,{115,115,47}}, +/* 16921 */ {(16<<2)|3,{115,115,51}}, +/* 16922 */ {(16<<2)|3,{115,115,52}}, +/* 16923 */ {(16<<2)|3,{115,115,53}}, +/* 16924 */ {(16<<2)|3,{115,115,54}}, +/* 16925 */ {(16<<2)|3,{115,115,55}}, +/* 16926 */ {(16<<2)|3,{115,115,56}}, +/* 16927 */ {(16<<2)|3,{115,115,57}}, +/* 16928 */ {(16<<2)|3,{115,115,61}}, +/* 16929 */ {(16<<2)|3,{115,115,65}}, +/* 16930 */ {(16<<2)|3,{115,115,95}}, +/* 16931 */ {(16<<2)|3,{115,115,98}}, +/* 16932 */ {(16<<2)|3,{115,115,100}}, +/* 16933 */ {(16<<2)|3,{115,115,102}}, +/* 16934 */ {(16<<2)|3,{115,115,103}}, +/* 16935 */ {(16<<2)|3,{115,115,104}}, +/* 16936 */ {(16<<2)|3,{115,115,108}}, +/* 16937 */ {(16<<2)|3,{115,115,109}}, +/* 16938 */ {(16<<2)|3,{115,115,110}}, +/* 16939 */ {(16<<2)|3,{115,115,112}}, +/* 16940 */ {(16<<2)|3,{115,115,114}}, +/* 16941 */ {(16<<2)|3,{115,115,117}}, +/* 16942 */ {(10<<2)|2,{115,115,0}}, +/* 16943 */ {(10<<2)|2,{115,115,0}}, +/* 16944 */ {(10<<2)|2,{115,115,0}}, +/* 16945 */ {(10<<2)|2,{115,115,0}}, +/* 16946 */ {(10<<2)|2,{115,115,0}}, +/* 16947 */ {(10<<2)|2,{115,115,0}}, +/* 16948 */ {(10<<2)|2,{115,115,0}}, +/* 16949 */ {(10<<2)|2,{115,115,0}}, +/* 16950 */ {(10<<2)|2,{115,115,0}}, +/* 16951 */ {(10<<2)|2,{115,115,0}}, +/* 16952 */ {(10<<2)|2,{115,115,0}}, +/* 16953 */ {(10<<2)|2,{115,115,0}}, +/* 16954 */ {(10<<2)|2,{115,115,0}}, +/* 16955 */ {(10<<2)|2,{115,115,0}}, +/* 16956 */ {(10<<2)|2,{115,115,0}}, +/* 16957 */ {(10<<2)|2,{115,115,0}}, +/* 16958 */ {(10<<2)|2,{115,115,0}}, +/* 16959 */ {(10<<2)|2,{115,115,0}}, +/* 16960 */ {(15<<2)|3,{115,116,48}}, +/* 16961 */ {(15<<2)|3,{115,116,48}}, +/* 16962 */ {(15<<2)|3,{115,116,49}}, +/* 16963 */ {(15<<2)|3,{115,116,49}}, +/* 16964 */ {(15<<2)|3,{115,116,50}}, +/* 16965 */ {(15<<2)|3,{115,116,50}}, +/* 16966 */ {(15<<2)|3,{115,116,97}}, +/* 16967 */ {(15<<2)|3,{115,116,97}}, +/* 16968 */ {(15<<2)|3,{115,116,99}}, +/* 16969 */ {(15<<2)|3,{115,116,99}}, +/* 16970 */ {(15<<2)|3,{115,116,101}}, +/* 16971 */ {(15<<2)|3,{115,116,101}}, +/* 16972 */ {(15<<2)|3,{115,116,105}}, +/* 16973 */ {(15<<2)|3,{115,116,105}}, +/* 16974 */ {(15<<2)|3,{115,116,111}}, +/* 16975 */ {(15<<2)|3,{115,116,111}}, +/* 16976 */ {(15<<2)|3,{115,116,115}}, +/* 16977 */ {(15<<2)|3,{115,116,115}}, +/* 16978 */ {(15<<2)|3,{115,116,116}}, +/* 16979 */ {(15<<2)|3,{115,116,116}}, +/* 16980 */ {(16<<2)|3,{115,116,32}}, +/* 16981 */ {(16<<2)|3,{115,116,37}}, +/* 16982 */ {(16<<2)|3,{115,116,45}}, +/* 16983 */ {(16<<2)|3,{115,116,46}}, +/* 16984 */ {(16<<2)|3,{115,116,47}}, +/* 16985 */ {(16<<2)|3,{115,116,51}}, +/* 16986 */ {(16<<2)|3,{115,116,52}}, +/* 16987 */ {(16<<2)|3,{115,116,53}}, +/* 16988 */ {(16<<2)|3,{115,116,54}}, +/* 16989 */ {(16<<2)|3,{115,116,55}}, +/* 16990 */ {(16<<2)|3,{115,116,56}}, +/* 16991 */ {(16<<2)|3,{115,116,57}}, +/* 16992 */ {(16<<2)|3,{115,116,61}}, +/* 16993 */ {(16<<2)|3,{115,116,65}}, +/* 16994 */ {(16<<2)|3,{115,116,95}}, +/* 16995 */ {(16<<2)|3,{115,116,98}}, +/* 16996 */ {(16<<2)|3,{115,116,100}}, +/* 16997 */ {(16<<2)|3,{115,116,102}}, +/* 16998 */ {(16<<2)|3,{115,116,103}}, +/* 16999 */ {(16<<2)|3,{115,116,104}}, +/* 17000 */ {(16<<2)|3,{115,116,108}}, +/* 17001 */ {(16<<2)|3,{115,116,109}}, +/* 17002 */ {(16<<2)|3,{115,116,110}}, +/* 17003 */ {(16<<2)|3,{115,116,112}}, +/* 17004 */ {(16<<2)|3,{115,116,114}}, +/* 17005 */ {(16<<2)|3,{115,116,117}}, +/* 17006 */ {(10<<2)|2,{115,116,0}}, +/* 17007 */ {(10<<2)|2,{115,116,0}}, +/* 17008 */ {(10<<2)|2,{115,116,0}}, +/* 17009 */ {(10<<2)|2,{115,116,0}}, +/* 17010 */ {(10<<2)|2,{115,116,0}}, +/* 17011 */ {(10<<2)|2,{115,116,0}}, +/* 17012 */ {(10<<2)|2,{115,116,0}}, +/* 17013 */ {(10<<2)|2,{115,116,0}}, +/* 17014 */ {(10<<2)|2,{115,116,0}}, +/* 17015 */ {(10<<2)|2,{115,116,0}}, +/* 17016 */ {(10<<2)|2,{115,116,0}}, +/* 17017 */ {(10<<2)|2,{115,116,0}}, +/* 17018 */ {(10<<2)|2,{115,116,0}}, +/* 17019 */ {(10<<2)|2,{115,116,0}}, +/* 17020 */ {(10<<2)|2,{115,116,0}}, +/* 17021 */ {(10<<2)|2,{115,116,0}}, +/* 17022 */ {(10<<2)|2,{115,116,0}}, +/* 17023 */ {(10<<2)|2,{115,116,0}}, +/* 17024 */ {(16<<2)|3,{115,32,48}}, +/* 17025 */ {(16<<2)|3,{115,32,49}}, +/* 17026 */ {(16<<2)|3,{115,32,50}}, +/* 17027 */ {(16<<2)|3,{115,32,97}}, +/* 17028 */ {(16<<2)|3,{115,32,99}}, +/* 17029 */ {(16<<2)|3,{115,32,101}}, +/* 17030 */ {(16<<2)|3,{115,32,105}}, +/* 17031 */ {(16<<2)|3,{115,32,111}}, +/* 17032 */ {(16<<2)|3,{115,32,115}}, +/* 17033 */ {(16<<2)|3,{115,32,116}}, +/* 17034 */ {(11<<2)|2,{115,32,0}}, +/* 17035 */ {(11<<2)|2,{115,32,0}}, +/* 17036 */ {(11<<2)|2,{115,32,0}}, +/* 17037 */ {(11<<2)|2,{115,32,0}}, +/* 17038 */ {(11<<2)|2,{115,32,0}}, +/* 17039 */ {(11<<2)|2,{115,32,0}}, +/* 17040 */ {(11<<2)|2,{115,32,0}}, +/* 17041 */ {(11<<2)|2,{115,32,0}}, +/* 17042 */ {(11<<2)|2,{115,32,0}}, +/* 17043 */ {(11<<2)|2,{115,32,0}}, +/* 17044 */ {(11<<2)|2,{115,32,0}}, +/* 17045 */ {(11<<2)|2,{115,32,0}}, +/* 17046 */ {(11<<2)|2,{115,32,0}}, +/* 17047 */ {(11<<2)|2,{115,32,0}}, +/* 17048 */ {(11<<2)|2,{115,32,0}}, +/* 17049 */ {(11<<2)|2,{115,32,0}}, +/* 17050 */ {(11<<2)|2,{115,32,0}}, +/* 17051 */ {(11<<2)|2,{115,32,0}}, +/* 17052 */ {(11<<2)|2,{115,32,0}}, +/* 17053 */ {(11<<2)|2,{115,32,0}}, +/* 17054 */ {(11<<2)|2,{115,32,0}}, +/* 17055 */ {(11<<2)|2,{115,32,0}}, +/* 17056 */ {(16<<2)|3,{115,37,48}}, +/* 17057 */ {(16<<2)|3,{115,37,49}}, +/* 17058 */ {(16<<2)|3,{115,37,50}}, +/* 17059 */ {(16<<2)|3,{115,37,97}}, +/* 17060 */ {(16<<2)|3,{115,37,99}}, +/* 17061 */ {(16<<2)|3,{115,37,101}}, +/* 17062 */ {(16<<2)|3,{115,37,105}}, +/* 17063 */ {(16<<2)|3,{115,37,111}}, +/* 17064 */ {(16<<2)|3,{115,37,115}}, +/* 17065 */ {(16<<2)|3,{115,37,116}}, +/* 17066 */ {(11<<2)|2,{115,37,0}}, +/* 17067 */ {(11<<2)|2,{115,37,0}}, +/* 17068 */ {(11<<2)|2,{115,37,0}}, +/* 17069 */ {(11<<2)|2,{115,37,0}}, +/* 17070 */ {(11<<2)|2,{115,37,0}}, +/* 17071 */ {(11<<2)|2,{115,37,0}}, +/* 17072 */ {(11<<2)|2,{115,37,0}}, +/* 17073 */ {(11<<2)|2,{115,37,0}}, +/* 17074 */ {(11<<2)|2,{115,37,0}}, +/* 17075 */ {(11<<2)|2,{115,37,0}}, +/* 17076 */ {(11<<2)|2,{115,37,0}}, +/* 17077 */ {(11<<2)|2,{115,37,0}}, +/* 17078 */ {(11<<2)|2,{115,37,0}}, +/* 17079 */ {(11<<2)|2,{115,37,0}}, +/* 17080 */ {(11<<2)|2,{115,37,0}}, +/* 17081 */ {(11<<2)|2,{115,37,0}}, +/* 17082 */ {(11<<2)|2,{115,37,0}}, +/* 17083 */ {(11<<2)|2,{115,37,0}}, +/* 17084 */ {(11<<2)|2,{115,37,0}}, +/* 17085 */ {(11<<2)|2,{115,37,0}}, +/* 17086 */ {(11<<2)|2,{115,37,0}}, +/* 17087 */ {(11<<2)|2,{115,37,0}}, +/* 17088 */ {(16<<2)|3,{115,45,48}}, +/* 17089 */ {(16<<2)|3,{115,45,49}}, +/* 17090 */ {(16<<2)|3,{115,45,50}}, +/* 17091 */ {(16<<2)|3,{115,45,97}}, +/* 17092 */ {(16<<2)|3,{115,45,99}}, +/* 17093 */ {(16<<2)|3,{115,45,101}}, +/* 17094 */ {(16<<2)|3,{115,45,105}}, +/* 17095 */ {(16<<2)|3,{115,45,111}}, +/* 17096 */ {(16<<2)|3,{115,45,115}}, +/* 17097 */ {(16<<2)|3,{115,45,116}}, +/* 17098 */ {(11<<2)|2,{115,45,0}}, +/* 17099 */ {(11<<2)|2,{115,45,0}}, +/* 17100 */ {(11<<2)|2,{115,45,0}}, +/* 17101 */ {(11<<2)|2,{115,45,0}}, +/* 17102 */ {(11<<2)|2,{115,45,0}}, +/* 17103 */ {(11<<2)|2,{115,45,0}}, +/* 17104 */ {(11<<2)|2,{115,45,0}}, +/* 17105 */ {(11<<2)|2,{115,45,0}}, +/* 17106 */ {(11<<2)|2,{115,45,0}}, +/* 17107 */ {(11<<2)|2,{115,45,0}}, +/* 17108 */ {(11<<2)|2,{115,45,0}}, +/* 17109 */ {(11<<2)|2,{115,45,0}}, +/* 17110 */ {(11<<2)|2,{115,45,0}}, +/* 17111 */ {(11<<2)|2,{115,45,0}}, +/* 17112 */ {(11<<2)|2,{115,45,0}}, +/* 17113 */ {(11<<2)|2,{115,45,0}}, +/* 17114 */ {(11<<2)|2,{115,45,0}}, +/* 17115 */ {(11<<2)|2,{115,45,0}}, +/* 17116 */ {(11<<2)|2,{115,45,0}}, +/* 17117 */ {(11<<2)|2,{115,45,0}}, +/* 17118 */ {(11<<2)|2,{115,45,0}}, +/* 17119 */ {(11<<2)|2,{115,45,0}}, +/* 17120 */ {(16<<2)|3,{115,46,48}}, +/* 17121 */ {(16<<2)|3,{115,46,49}}, +/* 17122 */ {(16<<2)|3,{115,46,50}}, +/* 17123 */ {(16<<2)|3,{115,46,97}}, +/* 17124 */ {(16<<2)|3,{115,46,99}}, +/* 17125 */ {(16<<2)|3,{115,46,101}}, +/* 17126 */ {(16<<2)|3,{115,46,105}}, +/* 17127 */ {(16<<2)|3,{115,46,111}}, +/* 17128 */ {(16<<2)|3,{115,46,115}}, +/* 17129 */ {(16<<2)|3,{115,46,116}}, +/* 17130 */ {(11<<2)|2,{115,46,0}}, +/* 17131 */ {(11<<2)|2,{115,46,0}}, +/* 17132 */ {(11<<2)|2,{115,46,0}}, +/* 17133 */ {(11<<2)|2,{115,46,0}}, +/* 17134 */ {(11<<2)|2,{115,46,0}}, +/* 17135 */ {(11<<2)|2,{115,46,0}}, +/* 17136 */ {(11<<2)|2,{115,46,0}}, +/* 17137 */ {(11<<2)|2,{115,46,0}}, +/* 17138 */ {(11<<2)|2,{115,46,0}}, +/* 17139 */ {(11<<2)|2,{115,46,0}}, +/* 17140 */ {(11<<2)|2,{115,46,0}}, +/* 17141 */ {(11<<2)|2,{115,46,0}}, +/* 17142 */ {(11<<2)|2,{115,46,0}}, +/* 17143 */ {(11<<2)|2,{115,46,0}}, +/* 17144 */ {(11<<2)|2,{115,46,0}}, +/* 17145 */ {(11<<2)|2,{115,46,0}}, +/* 17146 */ {(11<<2)|2,{115,46,0}}, +/* 17147 */ {(11<<2)|2,{115,46,0}}, +/* 17148 */ {(11<<2)|2,{115,46,0}}, +/* 17149 */ {(11<<2)|2,{115,46,0}}, +/* 17150 */ {(11<<2)|2,{115,46,0}}, +/* 17151 */ {(11<<2)|2,{115,46,0}}, +/* 17152 */ {(16<<2)|3,{115,47,48}}, +/* 17153 */ {(16<<2)|3,{115,47,49}}, +/* 17154 */ {(16<<2)|3,{115,47,50}}, +/* 17155 */ {(16<<2)|3,{115,47,97}}, +/* 17156 */ {(16<<2)|3,{115,47,99}}, +/* 17157 */ {(16<<2)|3,{115,47,101}}, +/* 17158 */ {(16<<2)|3,{115,47,105}}, +/* 17159 */ {(16<<2)|3,{115,47,111}}, +/* 17160 */ {(16<<2)|3,{115,47,115}}, +/* 17161 */ {(16<<2)|3,{115,47,116}}, +/* 17162 */ {(11<<2)|2,{115,47,0}}, +/* 17163 */ {(11<<2)|2,{115,47,0}}, +/* 17164 */ {(11<<2)|2,{115,47,0}}, +/* 17165 */ {(11<<2)|2,{115,47,0}}, +/* 17166 */ {(11<<2)|2,{115,47,0}}, +/* 17167 */ {(11<<2)|2,{115,47,0}}, +/* 17168 */ {(11<<2)|2,{115,47,0}}, +/* 17169 */ {(11<<2)|2,{115,47,0}}, +/* 17170 */ {(11<<2)|2,{115,47,0}}, +/* 17171 */ {(11<<2)|2,{115,47,0}}, +/* 17172 */ {(11<<2)|2,{115,47,0}}, +/* 17173 */ {(11<<2)|2,{115,47,0}}, +/* 17174 */ {(11<<2)|2,{115,47,0}}, +/* 17175 */ {(11<<2)|2,{115,47,0}}, +/* 17176 */ {(11<<2)|2,{115,47,0}}, +/* 17177 */ {(11<<2)|2,{115,47,0}}, +/* 17178 */ {(11<<2)|2,{115,47,0}}, +/* 17179 */ {(11<<2)|2,{115,47,0}}, +/* 17180 */ {(11<<2)|2,{115,47,0}}, +/* 17181 */ {(11<<2)|2,{115,47,0}}, +/* 17182 */ {(11<<2)|2,{115,47,0}}, +/* 17183 */ {(11<<2)|2,{115,47,0}}, +/* 17184 */ {(16<<2)|3,{115,51,48}}, +/* 17185 */ {(16<<2)|3,{115,51,49}}, +/* 17186 */ {(16<<2)|3,{115,51,50}}, +/* 17187 */ {(16<<2)|3,{115,51,97}}, +/* 17188 */ {(16<<2)|3,{115,51,99}}, +/* 17189 */ {(16<<2)|3,{115,51,101}}, +/* 17190 */ {(16<<2)|3,{115,51,105}}, +/* 17191 */ {(16<<2)|3,{115,51,111}}, +/* 17192 */ {(16<<2)|3,{115,51,115}}, +/* 17193 */ {(16<<2)|3,{115,51,116}}, +/* 17194 */ {(11<<2)|2,{115,51,0}}, +/* 17195 */ {(11<<2)|2,{115,51,0}}, +/* 17196 */ {(11<<2)|2,{115,51,0}}, +/* 17197 */ {(11<<2)|2,{115,51,0}}, +/* 17198 */ {(11<<2)|2,{115,51,0}}, +/* 17199 */ {(11<<2)|2,{115,51,0}}, +/* 17200 */ {(11<<2)|2,{115,51,0}}, +/* 17201 */ {(11<<2)|2,{115,51,0}}, +/* 17202 */ {(11<<2)|2,{115,51,0}}, +/* 17203 */ {(11<<2)|2,{115,51,0}}, +/* 17204 */ {(11<<2)|2,{115,51,0}}, +/* 17205 */ {(11<<2)|2,{115,51,0}}, +/* 17206 */ {(11<<2)|2,{115,51,0}}, +/* 17207 */ {(11<<2)|2,{115,51,0}}, +/* 17208 */ {(11<<2)|2,{115,51,0}}, +/* 17209 */ {(11<<2)|2,{115,51,0}}, +/* 17210 */ {(11<<2)|2,{115,51,0}}, +/* 17211 */ {(11<<2)|2,{115,51,0}}, +/* 17212 */ {(11<<2)|2,{115,51,0}}, +/* 17213 */ {(11<<2)|2,{115,51,0}}, +/* 17214 */ {(11<<2)|2,{115,51,0}}, +/* 17215 */ {(11<<2)|2,{115,51,0}}, +/* 17216 */ {(16<<2)|3,{115,52,48}}, +/* 17217 */ {(16<<2)|3,{115,52,49}}, +/* 17218 */ {(16<<2)|3,{115,52,50}}, +/* 17219 */ {(16<<2)|3,{115,52,97}}, +/* 17220 */ {(16<<2)|3,{115,52,99}}, +/* 17221 */ {(16<<2)|3,{115,52,101}}, +/* 17222 */ {(16<<2)|3,{115,52,105}}, +/* 17223 */ {(16<<2)|3,{115,52,111}}, +/* 17224 */ {(16<<2)|3,{115,52,115}}, +/* 17225 */ {(16<<2)|3,{115,52,116}}, +/* 17226 */ {(11<<2)|2,{115,52,0}}, +/* 17227 */ {(11<<2)|2,{115,52,0}}, +/* 17228 */ {(11<<2)|2,{115,52,0}}, +/* 17229 */ {(11<<2)|2,{115,52,0}}, +/* 17230 */ {(11<<2)|2,{115,52,0}}, +/* 17231 */ {(11<<2)|2,{115,52,0}}, +/* 17232 */ {(11<<2)|2,{115,52,0}}, +/* 17233 */ {(11<<2)|2,{115,52,0}}, +/* 17234 */ {(11<<2)|2,{115,52,0}}, +/* 17235 */ {(11<<2)|2,{115,52,0}}, +/* 17236 */ {(11<<2)|2,{115,52,0}}, +/* 17237 */ {(11<<2)|2,{115,52,0}}, +/* 17238 */ {(11<<2)|2,{115,52,0}}, +/* 17239 */ {(11<<2)|2,{115,52,0}}, +/* 17240 */ {(11<<2)|2,{115,52,0}}, +/* 17241 */ {(11<<2)|2,{115,52,0}}, +/* 17242 */ {(11<<2)|2,{115,52,0}}, +/* 17243 */ {(11<<2)|2,{115,52,0}}, +/* 17244 */ {(11<<2)|2,{115,52,0}}, +/* 17245 */ {(11<<2)|2,{115,52,0}}, +/* 17246 */ {(11<<2)|2,{115,52,0}}, +/* 17247 */ {(11<<2)|2,{115,52,0}}, +/* 17248 */ {(16<<2)|3,{115,53,48}}, +/* 17249 */ {(16<<2)|3,{115,53,49}}, +/* 17250 */ {(16<<2)|3,{115,53,50}}, +/* 17251 */ {(16<<2)|3,{115,53,97}}, +/* 17252 */ {(16<<2)|3,{115,53,99}}, +/* 17253 */ {(16<<2)|3,{115,53,101}}, +/* 17254 */ {(16<<2)|3,{115,53,105}}, +/* 17255 */ {(16<<2)|3,{115,53,111}}, +/* 17256 */ {(16<<2)|3,{115,53,115}}, +/* 17257 */ {(16<<2)|3,{115,53,116}}, +/* 17258 */ {(11<<2)|2,{115,53,0}}, +/* 17259 */ {(11<<2)|2,{115,53,0}}, +/* 17260 */ {(11<<2)|2,{115,53,0}}, +/* 17261 */ {(11<<2)|2,{115,53,0}}, +/* 17262 */ {(11<<2)|2,{115,53,0}}, +/* 17263 */ {(11<<2)|2,{115,53,0}}, +/* 17264 */ {(11<<2)|2,{115,53,0}}, +/* 17265 */ {(11<<2)|2,{115,53,0}}, +/* 17266 */ {(11<<2)|2,{115,53,0}}, +/* 17267 */ {(11<<2)|2,{115,53,0}}, +/* 17268 */ {(11<<2)|2,{115,53,0}}, +/* 17269 */ {(11<<2)|2,{115,53,0}}, +/* 17270 */ {(11<<2)|2,{115,53,0}}, +/* 17271 */ {(11<<2)|2,{115,53,0}}, +/* 17272 */ {(11<<2)|2,{115,53,0}}, +/* 17273 */ {(11<<2)|2,{115,53,0}}, +/* 17274 */ {(11<<2)|2,{115,53,0}}, +/* 17275 */ {(11<<2)|2,{115,53,0}}, +/* 17276 */ {(11<<2)|2,{115,53,0}}, +/* 17277 */ {(11<<2)|2,{115,53,0}}, +/* 17278 */ {(11<<2)|2,{115,53,0}}, +/* 17279 */ {(11<<2)|2,{115,53,0}}, +/* 17280 */ {(16<<2)|3,{115,54,48}}, +/* 17281 */ {(16<<2)|3,{115,54,49}}, +/* 17282 */ {(16<<2)|3,{115,54,50}}, +/* 17283 */ {(16<<2)|3,{115,54,97}}, +/* 17284 */ {(16<<2)|3,{115,54,99}}, +/* 17285 */ {(16<<2)|3,{115,54,101}}, +/* 17286 */ {(16<<2)|3,{115,54,105}}, +/* 17287 */ {(16<<2)|3,{115,54,111}}, +/* 17288 */ {(16<<2)|3,{115,54,115}}, +/* 17289 */ {(16<<2)|3,{115,54,116}}, +/* 17290 */ {(11<<2)|2,{115,54,0}}, +/* 17291 */ {(11<<2)|2,{115,54,0}}, +/* 17292 */ {(11<<2)|2,{115,54,0}}, +/* 17293 */ {(11<<2)|2,{115,54,0}}, +/* 17294 */ {(11<<2)|2,{115,54,0}}, +/* 17295 */ {(11<<2)|2,{115,54,0}}, +/* 17296 */ {(11<<2)|2,{115,54,0}}, +/* 17297 */ {(11<<2)|2,{115,54,0}}, +/* 17298 */ {(11<<2)|2,{115,54,0}}, +/* 17299 */ {(11<<2)|2,{115,54,0}}, +/* 17300 */ {(11<<2)|2,{115,54,0}}, +/* 17301 */ {(11<<2)|2,{115,54,0}}, +/* 17302 */ {(11<<2)|2,{115,54,0}}, +/* 17303 */ {(11<<2)|2,{115,54,0}}, +/* 17304 */ {(11<<2)|2,{115,54,0}}, +/* 17305 */ {(11<<2)|2,{115,54,0}}, +/* 17306 */ {(11<<2)|2,{115,54,0}}, +/* 17307 */ {(11<<2)|2,{115,54,0}}, +/* 17308 */ {(11<<2)|2,{115,54,0}}, +/* 17309 */ {(11<<2)|2,{115,54,0}}, +/* 17310 */ {(11<<2)|2,{115,54,0}}, +/* 17311 */ {(11<<2)|2,{115,54,0}}, +/* 17312 */ {(16<<2)|3,{115,55,48}}, +/* 17313 */ {(16<<2)|3,{115,55,49}}, +/* 17314 */ {(16<<2)|3,{115,55,50}}, +/* 17315 */ {(16<<2)|3,{115,55,97}}, +/* 17316 */ {(16<<2)|3,{115,55,99}}, +/* 17317 */ {(16<<2)|3,{115,55,101}}, +/* 17318 */ {(16<<2)|3,{115,55,105}}, +/* 17319 */ {(16<<2)|3,{115,55,111}}, +/* 17320 */ {(16<<2)|3,{115,55,115}}, +/* 17321 */ {(16<<2)|3,{115,55,116}}, +/* 17322 */ {(11<<2)|2,{115,55,0}}, +/* 17323 */ {(11<<2)|2,{115,55,0}}, +/* 17324 */ {(11<<2)|2,{115,55,0}}, +/* 17325 */ {(11<<2)|2,{115,55,0}}, +/* 17326 */ {(11<<2)|2,{115,55,0}}, +/* 17327 */ {(11<<2)|2,{115,55,0}}, +/* 17328 */ {(11<<2)|2,{115,55,0}}, +/* 17329 */ {(11<<2)|2,{115,55,0}}, +/* 17330 */ {(11<<2)|2,{115,55,0}}, +/* 17331 */ {(11<<2)|2,{115,55,0}}, +/* 17332 */ {(11<<2)|2,{115,55,0}}, +/* 17333 */ {(11<<2)|2,{115,55,0}}, +/* 17334 */ {(11<<2)|2,{115,55,0}}, +/* 17335 */ {(11<<2)|2,{115,55,0}}, +/* 17336 */ {(11<<2)|2,{115,55,0}}, +/* 17337 */ {(11<<2)|2,{115,55,0}}, +/* 17338 */ {(11<<2)|2,{115,55,0}}, +/* 17339 */ {(11<<2)|2,{115,55,0}}, +/* 17340 */ {(11<<2)|2,{115,55,0}}, +/* 17341 */ {(11<<2)|2,{115,55,0}}, +/* 17342 */ {(11<<2)|2,{115,55,0}}, +/* 17343 */ {(11<<2)|2,{115,55,0}}, +/* 17344 */ {(16<<2)|3,{115,56,48}}, +/* 17345 */ {(16<<2)|3,{115,56,49}}, +/* 17346 */ {(16<<2)|3,{115,56,50}}, +/* 17347 */ {(16<<2)|3,{115,56,97}}, +/* 17348 */ {(16<<2)|3,{115,56,99}}, +/* 17349 */ {(16<<2)|3,{115,56,101}}, +/* 17350 */ {(16<<2)|3,{115,56,105}}, +/* 17351 */ {(16<<2)|3,{115,56,111}}, +/* 17352 */ {(16<<2)|3,{115,56,115}}, +/* 17353 */ {(16<<2)|3,{115,56,116}}, +/* 17354 */ {(11<<2)|2,{115,56,0}}, +/* 17355 */ {(11<<2)|2,{115,56,0}}, +/* 17356 */ {(11<<2)|2,{115,56,0}}, +/* 17357 */ {(11<<2)|2,{115,56,0}}, +/* 17358 */ {(11<<2)|2,{115,56,0}}, +/* 17359 */ {(11<<2)|2,{115,56,0}}, +/* 17360 */ {(11<<2)|2,{115,56,0}}, +/* 17361 */ {(11<<2)|2,{115,56,0}}, +/* 17362 */ {(11<<2)|2,{115,56,0}}, +/* 17363 */ {(11<<2)|2,{115,56,0}}, +/* 17364 */ {(11<<2)|2,{115,56,0}}, +/* 17365 */ {(11<<2)|2,{115,56,0}}, +/* 17366 */ {(11<<2)|2,{115,56,0}}, +/* 17367 */ {(11<<2)|2,{115,56,0}}, +/* 17368 */ {(11<<2)|2,{115,56,0}}, +/* 17369 */ {(11<<2)|2,{115,56,0}}, +/* 17370 */ {(11<<2)|2,{115,56,0}}, +/* 17371 */ {(11<<2)|2,{115,56,0}}, +/* 17372 */ {(11<<2)|2,{115,56,0}}, +/* 17373 */ {(11<<2)|2,{115,56,0}}, +/* 17374 */ {(11<<2)|2,{115,56,0}}, +/* 17375 */ {(11<<2)|2,{115,56,0}}, +/* 17376 */ {(16<<2)|3,{115,57,48}}, +/* 17377 */ {(16<<2)|3,{115,57,49}}, +/* 17378 */ {(16<<2)|3,{115,57,50}}, +/* 17379 */ {(16<<2)|3,{115,57,97}}, +/* 17380 */ {(16<<2)|3,{115,57,99}}, +/* 17381 */ {(16<<2)|3,{115,57,101}}, +/* 17382 */ {(16<<2)|3,{115,57,105}}, +/* 17383 */ {(16<<2)|3,{115,57,111}}, +/* 17384 */ {(16<<2)|3,{115,57,115}}, +/* 17385 */ {(16<<2)|3,{115,57,116}}, +/* 17386 */ {(11<<2)|2,{115,57,0}}, +/* 17387 */ {(11<<2)|2,{115,57,0}}, +/* 17388 */ {(11<<2)|2,{115,57,0}}, +/* 17389 */ {(11<<2)|2,{115,57,0}}, +/* 17390 */ {(11<<2)|2,{115,57,0}}, +/* 17391 */ {(11<<2)|2,{115,57,0}}, +/* 17392 */ {(11<<2)|2,{115,57,0}}, +/* 17393 */ {(11<<2)|2,{115,57,0}}, +/* 17394 */ {(11<<2)|2,{115,57,0}}, +/* 17395 */ {(11<<2)|2,{115,57,0}}, +/* 17396 */ {(11<<2)|2,{115,57,0}}, +/* 17397 */ {(11<<2)|2,{115,57,0}}, +/* 17398 */ {(11<<2)|2,{115,57,0}}, +/* 17399 */ {(11<<2)|2,{115,57,0}}, +/* 17400 */ {(11<<2)|2,{115,57,0}}, +/* 17401 */ {(11<<2)|2,{115,57,0}}, +/* 17402 */ {(11<<2)|2,{115,57,0}}, +/* 17403 */ {(11<<2)|2,{115,57,0}}, +/* 17404 */ {(11<<2)|2,{115,57,0}}, +/* 17405 */ {(11<<2)|2,{115,57,0}}, +/* 17406 */ {(11<<2)|2,{115,57,0}}, +/* 17407 */ {(11<<2)|2,{115,57,0}}, +/* 17408 */ {(16<<2)|3,{115,61,48}}, +/* 17409 */ {(16<<2)|3,{115,61,49}}, +/* 17410 */ {(16<<2)|3,{115,61,50}}, +/* 17411 */ {(16<<2)|3,{115,61,97}}, +/* 17412 */ {(16<<2)|3,{115,61,99}}, +/* 17413 */ {(16<<2)|3,{115,61,101}}, +/* 17414 */ {(16<<2)|3,{115,61,105}}, +/* 17415 */ {(16<<2)|3,{115,61,111}}, +/* 17416 */ {(16<<2)|3,{115,61,115}}, +/* 17417 */ {(16<<2)|3,{115,61,116}}, +/* 17418 */ {(11<<2)|2,{115,61,0}}, +/* 17419 */ {(11<<2)|2,{115,61,0}}, +/* 17420 */ {(11<<2)|2,{115,61,0}}, +/* 17421 */ {(11<<2)|2,{115,61,0}}, +/* 17422 */ {(11<<2)|2,{115,61,0}}, +/* 17423 */ {(11<<2)|2,{115,61,0}}, +/* 17424 */ {(11<<2)|2,{115,61,0}}, +/* 17425 */ {(11<<2)|2,{115,61,0}}, +/* 17426 */ {(11<<2)|2,{115,61,0}}, +/* 17427 */ {(11<<2)|2,{115,61,0}}, +/* 17428 */ {(11<<2)|2,{115,61,0}}, +/* 17429 */ {(11<<2)|2,{115,61,0}}, +/* 17430 */ {(11<<2)|2,{115,61,0}}, +/* 17431 */ {(11<<2)|2,{115,61,0}}, +/* 17432 */ {(11<<2)|2,{115,61,0}}, +/* 17433 */ {(11<<2)|2,{115,61,0}}, +/* 17434 */ {(11<<2)|2,{115,61,0}}, +/* 17435 */ {(11<<2)|2,{115,61,0}}, +/* 17436 */ {(11<<2)|2,{115,61,0}}, +/* 17437 */ {(11<<2)|2,{115,61,0}}, +/* 17438 */ {(11<<2)|2,{115,61,0}}, +/* 17439 */ {(11<<2)|2,{115,61,0}}, +/* 17440 */ {(16<<2)|3,{115,65,48}}, +/* 17441 */ {(16<<2)|3,{115,65,49}}, +/* 17442 */ {(16<<2)|3,{115,65,50}}, +/* 17443 */ {(16<<2)|3,{115,65,97}}, +/* 17444 */ {(16<<2)|3,{115,65,99}}, +/* 17445 */ {(16<<2)|3,{115,65,101}}, +/* 17446 */ {(16<<2)|3,{115,65,105}}, +/* 17447 */ {(16<<2)|3,{115,65,111}}, +/* 17448 */ {(16<<2)|3,{115,65,115}}, +/* 17449 */ {(16<<2)|3,{115,65,116}}, +/* 17450 */ {(11<<2)|2,{115,65,0}}, +/* 17451 */ {(11<<2)|2,{115,65,0}}, +/* 17452 */ {(11<<2)|2,{115,65,0}}, +/* 17453 */ {(11<<2)|2,{115,65,0}}, +/* 17454 */ {(11<<2)|2,{115,65,0}}, +/* 17455 */ {(11<<2)|2,{115,65,0}}, +/* 17456 */ {(11<<2)|2,{115,65,0}}, +/* 17457 */ {(11<<2)|2,{115,65,0}}, +/* 17458 */ {(11<<2)|2,{115,65,0}}, +/* 17459 */ {(11<<2)|2,{115,65,0}}, +/* 17460 */ {(11<<2)|2,{115,65,0}}, +/* 17461 */ {(11<<2)|2,{115,65,0}}, +/* 17462 */ {(11<<2)|2,{115,65,0}}, +/* 17463 */ {(11<<2)|2,{115,65,0}}, +/* 17464 */ {(11<<2)|2,{115,65,0}}, +/* 17465 */ {(11<<2)|2,{115,65,0}}, +/* 17466 */ {(11<<2)|2,{115,65,0}}, +/* 17467 */ {(11<<2)|2,{115,65,0}}, +/* 17468 */ {(11<<2)|2,{115,65,0}}, +/* 17469 */ {(11<<2)|2,{115,65,0}}, +/* 17470 */ {(11<<2)|2,{115,65,0}}, +/* 17471 */ {(11<<2)|2,{115,65,0}}, +/* 17472 */ {(16<<2)|3,{115,95,48}}, +/* 17473 */ {(16<<2)|3,{115,95,49}}, +/* 17474 */ {(16<<2)|3,{115,95,50}}, +/* 17475 */ {(16<<2)|3,{115,95,97}}, +/* 17476 */ {(16<<2)|3,{115,95,99}}, +/* 17477 */ {(16<<2)|3,{115,95,101}}, +/* 17478 */ {(16<<2)|3,{115,95,105}}, +/* 17479 */ {(16<<2)|3,{115,95,111}}, +/* 17480 */ {(16<<2)|3,{115,95,115}}, +/* 17481 */ {(16<<2)|3,{115,95,116}}, +/* 17482 */ {(11<<2)|2,{115,95,0}}, +/* 17483 */ {(11<<2)|2,{115,95,0}}, +/* 17484 */ {(11<<2)|2,{115,95,0}}, +/* 17485 */ {(11<<2)|2,{115,95,0}}, +/* 17486 */ {(11<<2)|2,{115,95,0}}, +/* 17487 */ {(11<<2)|2,{115,95,0}}, +/* 17488 */ {(11<<2)|2,{115,95,0}}, +/* 17489 */ {(11<<2)|2,{115,95,0}}, +/* 17490 */ {(11<<2)|2,{115,95,0}}, +/* 17491 */ {(11<<2)|2,{115,95,0}}, +/* 17492 */ {(11<<2)|2,{115,95,0}}, +/* 17493 */ {(11<<2)|2,{115,95,0}}, +/* 17494 */ {(11<<2)|2,{115,95,0}}, +/* 17495 */ {(11<<2)|2,{115,95,0}}, +/* 17496 */ {(11<<2)|2,{115,95,0}}, +/* 17497 */ {(11<<2)|2,{115,95,0}}, +/* 17498 */ {(11<<2)|2,{115,95,0}}, +/* 17499 */ {(11<<2)|2,{115,95,0}}, +/* 17500 */ {(11<<2)|2,{115,95,0}}, +/* 17501 */ {(11<<2)|2,{115,95,0}}, +/* 17502 */ {(11<<2)|2,{115,95,0}}, +/* 17503 */ {(11<<2)|2,{115,95,0}}, +/* 17504 */ {(16<<2)|3,{115,98,48}}, +/* 17505 */ {(16<<2)|3,{115,98,49}}, +/* 17506 */ {(16<<2)|3,{115,98,50}}, +/* 17507 */ {(16<<2)|3,{115,98,97}}, +/* 17508 */ {(16<<2)|3,{115,98,99}}, +/* 17509 */ {(16<<2)|3,{115,98,101}}, +/* 17510 */ {(16<<2)|3,{115,98,105}}, +/* 17511 */ {(16<<2)|3,{115,98,111}}, +/* 17512 */ {(16<<2)|3,{115,98,115}}, +/* 17513 */ {(16<<2)|3,{115,98,116}}, +/* 17514 */ {(11<<2)|2,{115,98,0}}, +/* 17515 */ {(11<<2)|2,{115,98,0}}, +/* 17516 */ {(11<<2)|2,{115,98,0}}, +/* 17517 */ {(11<<2)|2,{115,98,0}}, +/* 17518 */ {(11<<2)|2,{115,98,0}}, +/* 17519 */ {(11<<2)|2,{115,98,0}}, +/* 17520 */ {(11<<2)|2,{115,98,0}}, +/* 17521 */ {(11<<2)|2,{115,98,0}}, +/* 17522 */ {(11<<2)|2,{115,98,0}}, +/* 17523 */ {(11<<2)|2,{115,98,0}}, +/* 17524 */ {(11<<2)|2,{115,98,0}}, +/* 17525 */ {(11<<2)|2,{115,98,0}}, +/* 17526 */ {(11<<2)|2,{115,98,0}}, +/* 17527 */ {(11<<2)|2,{115,98,0}}, +/* 17528 */ {(11<<2)|2,{115,98,0}}, +/* 17529 */ {(11<<2)|2,{115,98,0}}, +/* 17530 */ {(11<<2)|2,{115,98,0}}, +/* 17531 */ {(11<<2)|2,{115,98,0}}, +/* 17532 */ {(11<<2)|2,{115,98,0}}, +/* 17533 */ {(11<<2)|2,{115,98,0}}, +/* 17534 */ {(11<<2)|2,{115,98,0}}, +/* 17535 */ {(11<<2)|2,{115,98,0}}, +/* 17536 */ {(16<<2)|3,{115,100,48}}, +/* 17537 */ {(16<<2)|3,{115,100,49}}, +/* 17538 */ {(16<<2)|3,{115,100,50}}, +/* 17539 */ {(16<<2)|3,{115,100,97}}, +/* 17540 */ {(16<<2)|3,{115,100,99}}, +/* 17541 */ {(16<<2)|3,{115,100,101}}, +/* 17542 */ {(16<<2)|3,{115,100,105}}, +/* 17543 */ {(16<<2)|3,{115,100,111}}, +/* 17544 */ {(16<<2)|3,{115,100,115}}, +/* 17545 */ {(16<<2)|3,{115,100,116}}, +/* 17546 */ {(11<<2)|2,{115,100,0}}, +/* 17547 */ {(11<<2)|2,{115,100,0}}, +/* 17548 */ {(11<<2)|2,{115,100,0}}, +/* 17549 */ {(11<<2)|2,{115,100,0}}, +/* 17550 */ {(11<<2)|2,{115,100,0}}, +/* 17551 */ {(11<<2)|2,{115,100,0}}, +/* 17552 */ {(11<<2)|2,{115,100,0}}, +/* 17553 */ {(11<<2)|2,{115,100,0}}, +/* 17554 */ {(11<<2)|2,{115,100,0}}, +/* 17555 */ {(11<<2)|2,{115,100,0}}, +/* 17556 */ {(11<<2)|2,{115,100,0}}, +/* 17557 */ {(11<<2)|2,{115,100,0}}, +/* 17558 */ {(11<<2)|2,{115,100,0}}, +/* 17559 */ {(11<<2)|2,{115,100,0}}, +/* 17560 */ {(11<<2)|2,{115,100,0}}, +/* 17561 */ {(11<<2)|2,{115,100,0}}, +/* 17562 */ {(11<<2)|2,{115,100,0}}, +/* 17563 */ {(11<<2)|2,{115,100,0}}, +/* 17564 */ {(11<<2)|2,{115,100,0}}, +/* 17565 */ {(11<<2)|2,{115,100,0}}, +/* 17566 */ {(11<<2)|2,{115,100,0}}, +/* 17567 */ {(11<<2)|2,{115,100,0}}, +/* 17568 */ {(16<<2)|3,{115,102,48}}, +/* 17569 */ {(16<<2)|3,{115,102,49}}, +/* 17570 */ {(16<<2)|3,{115,102,50}}, +/* 17571 */ {(16<<2)|3,{115,102,97}}, +/* 17572 */ {(16<<2)|3,{115,102,99}}, +/* 17573 */ {(16<<2)|3,{115,102,101}}, +/* 17574 */ {(16<<2)|3,{115,102,105}}, +/* 17575 */ {(16<<2)|3,{115,102,111}}, +/* 17576 */ {(16<<2)|3,{115,102,115}}, +/* 17577 */ {(16<<2)|3,{115,102,116}}, +/* 17578 */ {(11<<2)|2,{115,102,0}}, +/* 17579 */ {(11<<2)|2,{115,102,0}}, +/* 17580 */ {(11<<2)|2,{115,102,0}}, +/* 17581 */ {(11<<2)|2,{115,102,0}}, +/* 17582 */ {(11<<2)|2,{115,102,0}}, +/* 17583 */ {(11<<2)|2,{115,102,0}}, +/* 17584 */ {(11<<2)|2,{115,102,0}}, +/* 17585 */ {(11<<2)|2,{115,102,0}}, +/* 17586 */ {(11<<2)|2,{115,102,0}}, +/* 17587 */ {(11<<2)|2,{115,102,0}}, +/* 17588 */ {(11<<2)|2,{115,102,0}}, +/* 17589 */ {(11<<2)|2,{115,102,0}}, +/* 17590 */ {(11<<2)|2,{115,102,0}}, +/* 17591 */ {(11<<2)|2,{115,102,0}}, +/* 17592 */ {(11<<2)|2,{115,102,0}}, +/* 17593 */ {(11<<2)|2,{115,102,0}}, +/* 17594 */ {(11<<2)|2,{115,102,0}}, +/* 17595 */ {(11<<2)|2,{115,102,0}}, +/* 17596 */ {(11<<2)|2,{115,102,0}}, +/* 17597 */ {(11<<2)|2,{115,102,0}}, +/* 17598 */ {(11<<2)|2,{115,102,0}}, +/* 17599 */ {(11<<2)|2,{115,102,0}}, +/* 17600 */ {(16<<2)|3,{115,103,48}}, +/* 17601 */ {(16<<2)|3,{115,103,49}}, +/* 17602 */ {(16<<2)|3,{115,103,50}}, +/* 17603 */ {(16<<2)|3,{115,103,97}}, +/* 17604 */ {(16<<2)|3,{115,103,99}}, +/* 17605 */ {(16<<2)|3,{115,103,101}}, +/* 17606 */ {(16<<2)|3,{115,103,105}}, +/* 17607 */ {(16<<2)|3,{115,103,111}}, +/* 17608 */ {(16<<2)|3,{115,103,115}}, +/* 17609 */ {(16<<2)|3,{115,103,116}}, +/* 17610 */ {(11<<2)|2,{115,103,0}}, +/* 17611 */ {(11<<2)|2,{115,103,0}}, +/* 17612 */ {(11<<2)|2,{115,103,0}}, +/* 17613 */ {(11<<2)|2,{115,103,0}}, +/* 17614 */ {(11<<2)|2,{115,103,0}}, +/* 17615 */ {(11<<2)|2,{115,103,0}}, +/* 17616 */ {(11<<2)|2,{115,103,0}}, +/* 17617 */ {(11<<2)|2,{115,103,0}}, +/* 17618 */ {(11<<2)|2,{115,103,0}}, +/* 17619 */ {(11<<2)|2,{115,103,0}}, +/* 17620 */ {(11<<2)|2,{115,103,0}}, +/* 17621 */ {(11<<2)|2,{115,103,0}}, +/* 17622 */ {(11<<2)|2,{115,103,0}}, +/* 17623 */ {(11<<2)|2,{115,103,0}}, +/* 17624 */ {(11<<2)|2,{115,103,0}}, +/* 17625 */ {(11<<2)|2,{115,103,0}}, +/* 17626 */ {(11<<2)|2,{115,103,0}}, +/* 17627 */ {(11<<2)|2,{115,103,0}}, +/* 17628 */ {(11<<2)|2,{115,103,0}}, +/* 17629 */ {(11<<2)|2,{115,103,0}}, +/* 17630 */ {(11<<2)|2,{115,103,0}}, +/* 17631 */ {(11<<2)|2,{115,103,0}}, +/* 17632 */ {(16<<2)|3,{115,104,48}}, +/* 17633 */ {(16<<2)|3,{115,104,49}}, +/* 17634 */ {(16<<2)|3,{115,104,50}}, +/* 17635 */ {(16<<2)|3,{115,104,97}}, +/* 17636 */ {(16<<2)|3,{115,104,99}}, +/* 17637 */ {(16<<2)|3,{115,104,101}}, +/* 17638 */ {(16<<2)|3,{115,104,105}}, +/* 17639 */ {(16<<2)|3,{115,104,111}}, +/* 17640 */ {(16<<2)|3,{115,104,115}}, +/* 17641 */ {(16<<2)|3,{115,104,116}}, +/* 17642 */ {(11<<2)|2,{115,104,0}}, +/* 17643 */ {(11<<2)|2,{115,104,0}}, +/* 17644 */ {(11<<2)|2,{115,104,0}}, +/* 17645 */ {(11<<2)|2,{115,104,0}}, +/* 17646 */ {(11<<2)|2,{115,104,0}}, +/* 17647 */ {(11<<2)|2,{115,104,0}}, +/* 17648 */ {(11<<2)|2,{115,104,0}}, +/* 17649 */ {(11<<2)|2,{115,104,0}}, +/* 17650 */ {(11<<2)|2,{115,104,0}}, +/* 17651 */ {(11<<2)|2,{115,104,0}}, +/* 17652 */ {(11<<2)|2,{115,104,0}}, +/* 17653 */ {(11<<2)|2,{115,104,0}}, +/* 17654 */ {(11<<2)|2,{115,104,0}}, +/* 17655 */ {(11<<2)|2,{115,104,0}}, +/* 17656 */ {(11<<2)|2,{115,104,0}}, +/* 17657 */ {(11<<2)|2,{115,104,0}}, +/* 17658 */ {(11<<2)|2,{115,104,0}}, +/* 17659 */ {(11<<2)|2,{115,104,0}}, +/* 17660 */ {(11<<2)|2,{115,104,0}}, +/* 17661 */ {(11<<2)|2,{115,104,0}}, +/* 17662 */ {(11<<2)|2,{115,104,0}}, +/* 17663 */ {(11<<2)|2,{115,104,0}}, +/* 17664 */ {(16<<2)|3,{115,108,48}}, +/* 17665 */ {(16<<2)|3,{115,108,49}}, +/* 17666 */ {(16<<2)|3,{115,108,50}}, +/* 17667 */ {(16<<2)|3,{115,108,97}}, +/* 17668 */ {(16<<2)|3,{115,108,99}}, +/* 17669 */ {(16<<2)|3,{115,108,101}}, +/* 17670 */ {(16<<2)|3,{115,108,105}}, +/* 17671 */ {(16<<2)|3,{115,108,111}}, +/* 17672 */ {(16<<2)|3,{115,108,115}}, +/* 17673 */ {(16<<2)|3,{115,108,116}}, +/* 17674 */ {(11<<2)|2,{115,108,0}}, +/* 17675 */ {(11<<2)|2,{115,108,0}}, +/* 17676 */ {(11<<2)|2,{115,108,0}}, +/* 17677 */ {(11<<2)|2,{115,108,0}}, +/* 17678 */ {(11<<2)|2,{115,108,0}}, +/* 17679 */ {(11<<2)|2,{115,108,0}}, +/* 17680 */ {(11<<2)|2,{115,108,0}}, +/* 17681 */ {(11<<2)|2,{115,108,0}}, +/* 17682 */ {(11<<2)|2,{115,108,0}}, +/* 17683 */ {(11<<2)|2,{115,108,0}}, +/* 17684 */ {(11<<2)|2,{115,108,0}}, +/* 17685 */ {(11<<2)|2,{115,108,0}}, +/* 17686 */ {(11<<2)|2,{115,108,0}}, +/* 17687 */ {(11<<2)|2,{115,108,0}}, +/* 17688 */ {(11<<2)|2,{115,108,0}}, +/* 17689 */ {(11<<2)|2,{115,108,0}}, +/* 17690 */ {(11<<2)|2,{115,108,0}}, +/* 17691 */ {(11<<2)|2,{115,108,0}}, +/* 17692 */ {(11<<2)|2,{115,108,0}}, +/* 17693 */ {(11<<2)|2,{115,108,0}}, +/* 17694 */ {(11<<2)|2,{115,108,0}}, +/* 17695 */ {(11<<2)|2,{115,108,0}}, +/* 17696 */ {(16<<2)|3,{115,109,48}}, +/* 17697 */ {(16<<2)|3,{115,109,49}}, +/* 17698 */ {(16<<2)|3,{115,109,50}}, +/* 17699 */ {(16<<2)|3,{115,109,97}}, +/* 17700 */ {(16<<2)|3,{115,109,99}}, +/* 17701 */ {(16<<2)|3,{115,109,101}}, +/* 17702 */ {(16<<2)|3,{115,109,105}}, +/* 17703 */ {(16<<2)|3,{115,109,111}}, +/* 17704 */ {(16<<2)|3,{115,109,115}}, +/* 17705 */ {(16<<2)|3,{115,109,116}}, +/* 17706 */ {(11<<2)|2,{115,109,0}}, +/* 17707 */ {(11<<2)|2,{115,109,0}}, +/* 17708 */ {(11<<2)|2,{115,109,0}}, +/* 17709 */ {(11<<2)|2,{115,109,0}}, +/* 17710 */ {(11<<2)|2,{115,109,0}}, +/* 17711 */ {(11<<2)|2,{115,109,0}}, +/* 17712 */ {(11<<2)|2,{115,109,0}}, +/* 17713 */ {(11<<2)|2,{115,109,0}}, +/* 17714 */ {(11<<2)|2,{115,109,0}}, +/* 17715 */ {(11<<2)|2,{115,109,0}}, +/* 17716 */ {(11<<2)|2,{115,109,0}}, +/* 17717 */ {(11<<2)|2,{115,109,0}}, +/* 17718 */ {(11<<2)|2,{115,109,0}}, +/* 17719 */ {(11<<2)|2,{115,109,0}}, +/* 17720 */ {(11<<2)|2,{115,109,0}}, +/* 17721 */ {(11<<2)|2,{115,109,0}}, +/* 17722 */ {(11<<2)|2,{115,109,0}}, +/* 17723 */ {(11<<2)|2,{115,109,0}}, +/* 17724 */ {(11<<2)|2,{115,109,0}}, +/* 17725 */ {(11<<2)|2,{115,109,0}}, +/* 17726 */ {(11<<2)|2,{115,109,0}}, +/* 17727 */ {(11<<2)|2,{115,109,0}}, +/* 17728 */ {(16<<2)|3,{115,110,48}}, +/* 17729 */ {(16<<2)|3,{115,110,49}}, +/* 17730 */ {(16<<2)|3,{115,110,50}}, +/* 17731 */ {(16<<2)|3,{115,110,97}}, +/* 17732 */ {(16<<2)|3,{115,110,99}}, +/* 17733 */ {(16<<2)|3,{115,110,101}}, +/* 17734 */ {(16<<2)|3,{115,110,105}}, +/* 17735 */ {(16<<2)|3,{115,110,111}}, +/* 17736 */ {(16<<2)|3,{115,110,115}}, +/* 17737 */ {(16<<2)|3,{115,110,116}}, +/* 17738 */ {(11<<2)|2,{115,110,0}}, +/* 17739 */ {(11<<2)|2,{115,110,0}}, +/* 17740 */ {(11<<2)|2,{115,110,0}}, +/* 17741 */ {(11<<2)|2,{115,110,0}}, +/* 17742 */ {(11<<2)|2,{115,110,0}}, +/* 17743 */ {(11<<2)|2,{115,110,0}}, +/* 17744 */ {(11<<2)|2,{115,110,0}}, +/* 17745 */ {(11<<2)|2,{115,110,0}}, +/* 17746 */ {(11<<2)|2,{115,110,0}}, +/* 17747 */ {(11<<2)|2,{115,110,0}}, +/* 17748 */ {(11<<2)|2,{115,110,0}}, +/* 17749 */ {(11<<2)|2,{115,110,0}}, +/* 17750 */ {(11<<2)|2,{115,110,0}}, +/* 17751 */ {(11<<2)|2,{115,110,0}}, +/* 17752 */ {(11<<2)|2,{115,110,0}}, +/* 17753 */ {(11<<2)|2,{115,110,0}}, +/* 17754 */ {(11<<2)|2,{115,110,0}}, +/* 17755 */ {(11<<2)|2,{115,110,0}}, +/* 17756 */ {(11<<2)|2,{115,110,0}}, +/* 17757 */ {(11<<2)|2,{115,110,0}}, +/* 17758 */ {(11<<2)|2,{115,110,0}}, +/* 17759 */ {(11<<2)|2,{115,110,0}}, +/* 17760 */ {(16<<2)|3,{115,112,48}}, +/* 17761 */ {(16<<2)|3,{115,112,49}}, +/* 17762 */ {(16<<2)|3,{115,112,50}}, +/* 17763 */ {(16<<2)|3,{115,112,97}}, +/* 17764 */ {(16<<2)|3,{115,112,99}}, +/* 17765 */ {(16<<2)|3,{115,112,101}}, +/* 17766 */ {(16<<2)|3,{115,112,105}}, +/* 17767 */ {(16<<2)|3,{115,112,111}}, +/* 17768 */ {(16<<2)|3,{115,112,115}}, +/* 17769 */ {(16<<2)|3,{115,112,116}}, +/* 17770 */ {(11<<2)|2,{115,112,0}}, +/* 17771 */ {(11<<2)|2,{115,112,0}}, +/* 17772 */ {(11<<2)|2,{115,112,0}}, +/* 17773 */ {(11<<2)|2,{115,112,0}}, +/* 17774 */ {(11<<2)|2,{115,112,0}}, +/* 17775 */ {(11<<2)|2,{115,112,0}}, +/* 17776 */ {(11<<2)|2,{115,112,0}}, +/* 17777 */ {(11<<2)|2,{115,112,0}}, +/* 17778 */ {(11<<2)|2,{115,112,0}}, +/* 17779 */ {(11<<2)|2,{115,112,0}}, +/* 17780 */ {(11<<2)|2,{115,112,0}}, +/* 17781 */ {(11<<2)|2,{115,112,0}}, +/* 17782 */ {(11<<2)|2,{115,112,0}}, +/* 17783 */ {(11<<2)|2,{115,112,0}}, +/* 17784 */ {(11<<2)|2,{115,112,0}}, +/* 17785 */ {(11<<2)|2,{115,112,0}}, +/* 17786 */ {(11<<2)|2,{115,112,0}}, +/* 17787 */ {(11<<2)|2,{115,112,0}}, +/* 17788 */ {(11<<2)|2,{115,112,0}}, +/* 17789 */ {(11<<2)|2,{115,112,0}}, +/* 17790 */ {(11<<2)|2,{115,112,0}}, +/* 17791 */ {(11<<2)|2,{115,112,0}}, +/* 17792 */ {(16<<2)|3,{115,114,48}}, +/* 17793 */ {(16<<2)|3,{115,114,49}}, +/* 17794 */ {(16<<2)|3,{115,114,50}}, +/* 17795 */ {(16<<2)|3,{115,114,97}}, +/* 17796 */ {(16<<2)|3,{115,114,99}}, +/* 17797 */ {(16<<2)|3,{115,114,101}}, +/* 17798 */ {(16<<2)|3,{115,114,105}}, +/* 17799 */ {(16<<2)|3,{115,114,111}}, +/* 17800 */ {(16<<2)|3,{115,114,115}}, +/* 17801 */ {(16<<2)|3,{115,114,116}}, +/* 17802 */ {(11<<2)|2,{115,114,0}}, +/* 17803 */ {(11<<2)|2,{115,114,0}}, +/* 17804 */ {(11<<2)|2,{115,114,0}}, +/* 17805 */ {(11<<2)|2,{115,114,0}}, +/* 17806 */ {(11<<2)|2,{115,114,0}}, +/* 17807 */ {(11<<2)|2,{115,114,0}}, +/* 17808 */ {(11<<2)|2,{115,114,0}}, +/* 17809 */ {(11<<2)|2,{115,114,0}}, +/* 17810 */ {(11<<2)|2,{115,114,0}}, +/* 17811 */ {(11<<2)|2,{115,114,0}}, +/* 17812 */ {(11<<2)|2,{115,114,0}}, +/* 17813 */ {(11<<2)|2,{115,114,0}}, +/* 17814 */ {(11<<2)|2,{115,114,0}}, +/* 17815 */ {(11<<2)|2,{115,114,0}}, +/* 17816 */ {(11<<2)|2,{115,114,0}}, +/* 17817 */ {(11<<2)|2,{115,114,0}}, +/* 17818 */ {(11<<2)|2,{115,114,0}}, +/* 17819 */ {(11<<2)|2,{115,114,0}}, +/* 17820 */ {(11<<2)|2,{115,114,0}}, +/* 17821 */ {(11<<2)|2,{115,114,0}}, +/* 17822 */ {(11<<2)|2,{115,114,0}}, +/* 17823 */ {(11<<2)|2,{115,114,0}}, +/* 17824 */ {(16<<2)|3,{115,117,48}}, +/* 17825 */ {(16<<2)|3,{115,117,49}}, +/* 17826 */ {(16<<2)|3,{115,117,50}}, +/* 17827 */ {(16<<2)|3,{115,117,97}}, +/* 17828 */ {(16<<2)|3,{115,117,99}}, +/* 17829 */ {(16<<2)|3,{115,117,101}}, +/* 17830 */ {(16<<2)|3,{115,117,105}}, +/* 17831 */ {(16<<2)|3,{115,117,111}}, +/* 17832 */ {(16<<2)|3,{115,117,115}}, +/* 17833 */ {(16<<2)|3,{115,117,116}}, +/* 17834 */ {(11<<2)|2,{115,117,0}}, +/* 17835 */ {(11<<2)|2,{115,117,0}}, +/* 17836 */ {(11<<2)|2,{115,117,0}}, +/* 17837 */ {(11<<2)|2,{115,117,0}}, +/* 17838 */ {(11<<2)|2,{115,117,0}}, +/* 17839 */ {(11<<2)|2,{115,117,0}}, +/* 17840 */ {(11<<2)|2,{115,117,0}}, +/* 17841 */ {(11<<2)|2,{115,117,0}}, +/* 17842 */ {(11<<2)|2,{115,117,0}}, +/* 17843 */ {(11<<2)|2,{115,117,0}}, +/* 17844 */ {(11<<2)|2,{115,117,0}}, +/* 17845 */ {(11<<2)|2,{115,117,0}}, +/* 17846 */ {(11<<2)|2,{115,117,0}}, +/* 17847 */ {(11<<2)|2,{115,117,0}}, +/* 17848 */ {(11<<2)|2,{115,117,0}}, +/* 17849 */ {(11<<2)|2,{115,117,0}}, +/* 17850 */ {(11<<2)|2,{115,117,0}}, +/* 17851 */ {(11<<2)|2,{115,117,0}}, +/* 17852 */ {(11<<2)|2,{115,117,0}}, +/* 17853 */ {(11<<2)|2,{115,117,0}}, +/* 17854 */ {(11<<2)|2,{115,117,0}}, +/* 17855 */ {(11<<2)|2,{115,117,0}}, +/* 17856 */ {(12<<2)|2,{115,58,0}}, +/* 17857 */ {(12<<2)|2,{115,58,0}}, +/* 17858 */ {(12<<2)|2,{115,58,0}}, +/* 17859 */ {(12<<2)|2,{115,58,0}}, +/* 17860 */ {(12<<2)|2,{115,58,0}}, +/* 17861 */ {(12<<2)|2,{115,58,0}}, +/* 17862 */ {(12<<2)|2,{115,58,0}}, +/* 17863 */ {(12<<2)|2,{115,58,0}}, +/* 17864 */ {(12<<2)|2,{115,58,0}}, +/* 17865 */ {(12<<2)|2,{115,58,0}}, +/* 17866 */ {(12<<2)|2,{115,58,0}}, +/* 17867 */ {(12<<2)|2,{115,58,0}}, +/* 17868 */ {(12<<2)|2,{115,58,0}}, +/* 17869 */ {(12<<2)|2,{115,58,0}}, +/* 17870 */ {(12<<2)|2,{115,58,0}}, +/* 17871 */ {(12<<2)|2,{115,58,0}}, +/* 17872 */ {(12<<2)|2,{115,66,0}}, +/* 17873 */ {(12<<2)|2,{115,66,0}}, +/* 17874 */ {(12<<2)|2,{115,66,0}}, +/* 17875 */ {(12<<2)|2,{115,66,0}}, +/* 17876 */ {(12<<2)|2,{115,66,0}}, +/* 17877 */ {(12<<2)|2,{115,66,0}}, +/* 17878 */ {(12<<2)|2,{115,66,0}}, +/* 17879 */ {(12<<2)|2,{115,66,0}}, +/* 17880 */ {(12<<2)|2,{115,66,0}}, +/* 17881 */ {(12<<2)|2,{115,66,0}}, +/* 17882 */ {(12<<2)|2,{115,66,0}}, +/* 17883 */ {(12<<2)|2,{115,66,0}}, +/* 17884 */ {(12<<2)|2,{115,66,0}}, +/* 17885 */ {(12<<2)|2,{115,66,0}}, +/* 17886 */ {(12<<2)|2,{115,66,0}}, +/* 17887 */ {(12<<2)|2,{115,66,0}}, +/* 17888 */ {(12<<2)|2,{115,67,0}}, +/* 17889 */ {(12<<2)|2,{115,67,0}}, +/* 17890 */ {(12<<2)|2,{115,67,0}}, +/* 17891 */ {(12<<2)|2,{115,67,0}}, +/* 17892 */ {(12<<2)|2,{115,67,0}}, +/* 17893 */ {(12<<2)|2,{115,67,0}}, +/* 17894 */ {(12<<2)|2,{115,67,0}}, +/* 17895 */ {(12<<2)|2,{115,67,0}}, +/* 17896 */ {(12<<2)|2,{115,67,0}}, +/* 17897 */ {(12<<2)|2,{115,67,0}}, +/* 17898 */ {(12<<2)|2,{115,67,0}}, +/* 17899 */ {(12<<2)|2,{115,67,0}}, +/* 17900 */ {(12<<2)|2,{115,67,0}}, +/* 17901 */ {(12<<2)|2,{115,67,0}}, +/* 17902 */ {(12<<2)|2,{115,67,0}}, +/* 17903 */ {(12<<2)|2,{115,67,0}}, +/* 17904 */ {(12<<2)|2,{115,68,0}}, +/* 17905 */ {(12<<2)|2,{115,68,0}}, +/* 17906 */ {(12<<2)|2,{115,68,0}}, +/* 17907 */ {(12<<2)|2,{115,68,0}}, +/* 17908 */ {(12<<2)|2,{115,68,0}}, +/* 17909 */ {(12<<2)|2,{115,68,0}}, +/* 17910 */ {(12<<2)|2,{115,68,0}}, +/* 17911 */ {(12<<2)|2,{115,68,0}}, +/* 17912 */ {(12<<2)|2,{115,68,0}}, +/* 17913 */ {(12<<2)|2,{115,68,0}}, +/* 17914 */ {(12<<2)|2,{115,68,0}}, +/* 17915 */ {(12<<2)|2,{115,68,0}}, +/* 17916 */ {(12<<2)|2,{115,68,0}}, +/* 17917 */ {(12<<2)|2,{115,68,0}}, +/* 17918 */ {(12<<2)|2,{115,68,0}}, +/* 17919 */ {(12<<2)|2,{115,68,0}}, +/* 17920 */ {(12<<2)|2,{115,69,0}}, +/* 17921 */ {(12<<2)|2,{115,69,0}}, +/* 17922 */ {(12<<2)|2,{115,69,0}}, +/* 17923 */ {(12<<2)|2,{115,69,0}}, +/* 17924 */ {(12<<2)|2,{115,69,0}}, +/* 17925 */ {(12<<2)|2,{115,69,0}}, +/* 17926 */ {(12<<2)|2,{115,69,0}}, +/* 17927 */ {(12<<2)|2,{115,69,0}}, +/* 17928 */ {(12<<2)|2,{115,69,0}}, +/* 17929 */ {(12<<2)|2,{115,69,0}}, +/* 17930 */ {(12<<2)|2,{115,69,0}}, +/* 17931 */ {(12<<2)|2,{115,69,0}}, +/* 17932 */ {(12<<2)|2,{115,69,0}}, +/* 17933 */ {(12<<2)|2,{115,69,0}}, +/* 17934 */ {(12<<2)|2,{115,69,0}}, +/* 17935 */ {(12<<2)|2,{115,69,0}}, +/* 17936 */ {(12<<2)|2,{115,70,0}}, +/* 17937 */ {(12<<2)|2,{115,70,0}}, +/* 17938 */ {(12<<2)|2,{115,70,0}}, +/* 17939 */ {(12<<2)|2,{115,70,0}}, +/* 17940 */ {(12<<2)|2,{115,70,0}}, +/* 17941 */ {(12<<2)|2,{115,70,0}}, +/* 17942 */ {(12<<2)|2,{115,70,0}}, +/* 17943 */ {(12<<2)|2,{115,70,0}}, +/* 17944 */ {(12<<2)|2,{115,70,0}}, +/* 17945 */ {(12<<2)|2,{115,70,0}}, +/* 17946 */ {(12<<2)|2,{115,70,0}}, +/* 17947 */ {(12<<2)|2,{115,70,0}}, +/* 17948 */ {(12<<2)|2,{115,70,0}}, +/* 17949 */ {(12<<2)|2,{115,70,0}}, +/* 17950 */ {(12<<2)|2,{115,70,0}}, +/* 17951 */ {(12<<2)|2,{115,70,0}}, +/* 17952 */ {(12<<2)|2,{115,71,0}}, +/* 17953 */ {(12<<2)|2,{115,71,0}}, +/* 17954 */ {(12<<2)|2,{115,71,0}}, +/* 17955 */ {(12<<2)|2,{115,71,0}}, +/* 17956 */ {(12<<2)|2,{115,71,0}}, +/* 17957 */ {(12<<2)|2,{115,71,0}}, +/* 17958 */ {(12<<2)|2,{115,71,0}}, +/* 17959 */ {(12<<2)|2,{115,71,0}}, +/* 17960 */ {(12<<2)|2,{115,71,0}}, +/* 17961 */ {(12<<2)|2,{115,71,0}}, +/* 17962 */ {(12<<2)|2,{115,71,0}}, +/* 17963 */ {(12<<2)|2,{115,71,0}}, +/* 17964 */ {(12<<2)|2,{115,71,0}}, +/* 17965 */ {(12<<2)|2,{115,71,0}}, +/* 17966 */ {(12<<2)|2,{115,71,0}}, +/* 17967 */ {(12<<2)|2,{115,71,0}}, +/* 17968 */ {(12<<2)|2,{115,72,0}}, +/* 17969 */ {(12<<2)|2,{115,72,0}}, +/* 17970 */ {(12<<2)|2,{115,72,0}}, +/* 17971 */ {(12<<2)|2,{115,72,0}}, +/* 17972 */ {(12<<2)|2,{115,72,0}}, +/* 17973 */ {(12<<2)|2,{115,72,0}}, +/* 17974 */ {(12<<2)|2,{115,72,0}}, +/* 17975 */ {(12<<2)|2,{115,72,0}}, +/* 17976 */ {(12<<2)|2,{115,72,0}}, +/* 17977 */ {(12<<2)|2,{115,72,0}}, +/* 17978 */ {(12<<2)|2,{115,72,0}}, +/* 17979 */ {(12<<2)|2,{115,72,0}}, +/* 17980 */ {(12<<2)|2,{115,72,0}}, +/* 17981 */ {(12<<2)|2,{115,72,0}}, +/* 17982 */ {(12<<2)|2,{115,72,0}}, +/* 17983 */ {(12<<2)|2,{115,72,0}}, +/* 17984 */ {(12<<2)|2,{115,73,0}}, +/* 17985 */ {(12<<2)|2,{115,73,0}}, +/* 17986 */ {(12<<2)|2,{115,73,0}}, +/* 17987 */ {(12<<2)|2,{115,73,0}}, +/* 17988 */ {(12<<2)|2,{115,73,0}}, +/* 17989 */ {(12<<2)|2,{115,73,0}}, +/* 17990 */ {(12<<2)|2,{115,73,0}}, +/* 17991 */ {(12<<2)|2,{115,73,0}}, +/* 17992 */ {(12<<2)|2,{115,73,0}}, +/* 17993 */ {(12<<2)|2,{115,73,0}}, +/* 17994 */ {(12<<2)|2,{115,73,0}}, +/* 17995 */ {(12<<2)|2,{115,73,0}}, +/* 17996 */ {(12<<2)|2,{115,73,0}}, +/* 17997 */ {(12<<2)|2,{115,73,0}}, +/* 17998 */ {(12<<2)|2,{115,73,0}}, +/* 17999 */ {(12<<2)|2,{115,73,0}}, +/* 18000 */ {(12<<2)|2,{115,74,0}}, +/* 18001 */ {(12<<2)|2,{115,74,0}}, +/* 18002 */ {(12<<2)|2,{115,74,0}}, +/* 18003 */ {(12<<2)|2,{115,74,0}}, +/* 18004 */ {(12<<2)|2,{115,74,0}}, +/* 18005 */ {(12<<2)|2,{115,74,0}}, +/* 18006 */ {(12<<2)|2,{115,74,0}}, +/* 18007 */ {(12<<2)|2,{115,74,0}}, +/* 18008 */ {(12<<2)|2,{115,74,0}}, +/* 18009 */ {(12<<2)|2,{115,74,0}}, +/* 18010 */ {(12<<2)|2,{115,74,0}}, +/* 18011 */ {(12<<2)|2,{115,74,0}}, +/* 18012 */ {(12<<2)|2,{115,74,0}}, +/* 18013 */ {(12<<2)|2,{115,74,0}}, +/* 18014 */ {(12<<2)|2,{115,74,0}}, +/* 18015 */ {(12<<2)|2,{115,74,0}}, +/* 18016 */ {(12<<2)|2,{115,75,0}}, +/* 18017 */ {(12<<2)|2,{115,75,0}}, +/* 18018 */ {(12<<2)|2,{115,75,0}}, +/* 18019 */ {(12<<2)|2,{115,75,0}}, +/* 18020 */ {(12<<2)|2,{115,75,0}}, +/* 18021 */ {(12<<2)|2,{115,75,0}}, +/* 18022 */ {(12<<2)|2,{115,75,0}}, +/* 18023 */ {(12<<2)|2,{115,75,0}}, +/* 18024 */ {(12<<2)|2,{115,75,0}}, +/* 18025 */ {(12<<2)|2,{115,75,0}}, +/* 18026 */ {(12<<2)|2,{115,75,0}}, +/* 18027 */ {(12<<2)|2,{115,75,0}}, +/* 18028 */ {(12<<2)|2,{115,75,0}}, +/* 18029 */ {(12<<2)|2,{115,75,0}}, +/* 18030 */ {(12<<2)|2,{115,75,0}}, +/* 18031 */ {(12<<2)|2,{115,75,0}}, +/* 18032 */ {(12<<2)|2,{115,76,0}}, +/* 18033 */ {(12<<2)|2,{115,76,0}}, +/* 18034 */ {(12<<2)|2,{115,76,0}}, +/* 18035 */ {(12<<2)|2,{115,76,0}}, +/* 18036 */ {(12<<2)|2,{115,76,0}}, +/* 18037 */ {(12<<2)|2,{115,76,0}}, +/* 18038 */ {(12<<2)|2,{115,76,0}}, +/* 18039 */ {(12<<2)|2,{115,76,0}}, +/* 18040 */ {(12<<2)|2,{115,76,0}}, +/* 18041 */ {(12<<2)|2,{115,76,0}}, +/* 18042 */ {(12<<2)|2,{115,76,0}}, +/* 18043 */ {(12<<2)|2,{115,76,0}}, +/* 18044 */ {(12<<2)|2,{115,76,0}}, +/* 18045 */ {(12<<2)|2,{115,76,0}}, +/* 18046 */ {(12<<2)|2,{115,76,0}}, +/* 18047 */ {(12<<2)|2,{115,76,0}}, +/* 18048 */ {(12<<2)|2,{115,77,0}}, +/* 18049 */ {(12<<2)|2,{115,77,0}}, +/* 18050 */ {(12<<2)|2,{115,77,0}}, +/* 18051 */ {(12<<2)|2,{115,77,0}}, +/* 18052 */ {(12<<2)|2,{115,77,0}}, +/* 18053 */ {(12<<2)|2,{115,77,0}}, +/* 18054 */ {(12<<2)|2,{115,77,0}}, +/* 18055 */ {(12<<2)|2,{115,77,0}}, +/* 18056 */ {(12<<2)|2,{115,77,0}}, +/* 18057 */ {(12<<2)|2,{115,77,0}}, +/* 18058 */ {(12<<2)|2,{115,77,0}}, +/* 18059 */ {(12<<2)|2,{115,77,0}}, +/* 18060 */ {(12<<2)|2,{115,77,0}}, +/* 18061 */ {(12<<2)|2,{115,77,0}}, +/* 18062 */ {(12<<2)|2,{115,77,0}}, +/* 18063 */ {(12<<2)|2,{115,77,0}}, +/* 18064 */ {(12<<2)|2,{115,78,0}}, +/* 18065 */ {(12<<2)|2,{115,78,0}}, +/* 18066 */ {(12<<2)|2,{115,78,0}}, +/* 18067 */ {(12<<2)|2,{115,78,0}}, +/* 18068 */ {(12<<2)|2,{115,78,0}}, +/* 18069 */ {(12<<2)|2,{115,78,0}}, +/* 18070 */ {(12<<2)|2,{115,78,0}}, +/* 18071 */ {(12<<2)|2,{115,78,0}}, +/* 18072 */ {(12<<2)|2,{115,78,0}}, +/* 18073 */ {(12<<2)|2,{115,78,0}}, +/* 18074 */ {(12<<2)|2,{115,78,0}}, +/* 18075 */ {(12<<2)|2,{115,78,0}}, +/* 18076 */ {(12<<2)|2,{115,78,0}}, +/* 18077 */ {(12<<2)|2,{115,78,0}}, +/* 18078 */ {(12<<2)|2,{115,78,0}}, +/* 18079 */ {(12<<2)|2,{115,78,0}}, +/* 18080 */ {(12<<2)|2,{115,79,0}}, +/* 18081 */ {(12<<2)|2,{115,79,0}}, +/* 18082 */ {(12<<2)|2,{115,79,0}}, +/* 18083 */ {(12<<2)|2,{115,79,0}}, +/* 18084 */ {(12<<2)|2,{115,79,0}}, +/* 18085 */ {(12<<2)|2,{115,79,0}}, +/* 18086 */ {(12<<2)|2,{115,79,0}}, +/* 18087 */ {(12<<2)|2,{115,79,0}}, +/* 18088 */ {(12<<2)|2,{115,79,0}}, +/* 18089 */ {(12<<2)|2,{115,79,0}}, +/* 18090 */ {(12<<2)|2,{115,79,0}}, +/* 18091 */ {(12<<2)|2,{115,79,0}}, +/* 18092 */ {(12<<2)|2,{115,79,0}}, +/* 18093 */ {(12<<2)|2,{115,79,0}}, +/* 18094 */ {(12<<2)|2,{115,79,0}}, +/* 18095 */ {(12<<2)|2,{115,79,0}}, +/* 18096 */ {(12<<2)|2,{115,80,0}}, +/* 18097 */ {(12<<2)|2,{115,80,0}}, +/* 18098 */ {(12<<2)|2,{115,80,0}}, +/* 18099 */ {(12<<2)|2,{115,80,0}}, +/* 18100 */ {(12<<2)|2,{115,80,0}}, +/* 18101 */ {(12<<2)|2,{115,80,0}}, +/* 18102 */ {(12<<2)|2,{115,80,0}}, +/* 18103 */ {(12<<2)|2,{115,80,0}}, +/* 18104 */ {(12<<2)|2,{115,80,0}}, +/* 18105 */ {(12<<2)|2,{115,80,0}}, +/* 18106 */ {(12<<2)|2,{115,80,0}}, +/* 18107 */ {(12<<2)|2,{115,80,0}}, +/* 18108 */ {(12<<2)|2,{115,80,0}}, +/* 18109 */ {(12<<2)|2,{115,80,0}}, +/* 18110 */ {(12<<2)|2,{115,80,0}}, +/* 18111 */ {(12<<2)|2,{115,80,0}}, +/* 18112 */ {(12<<2)|2,{115,81,0}}, +/* 18113 */ {(12<<2)|2,{115,81,0}}, +/* 18114 */ {(12<<2)|2,{115,81,0}}, +/* 18115 */ {(12<<2)|2,{115,81,0}}, +/* 18116 */ {(12<<2)|2,{115,81,0}}, +/* 18117 */ {(12<<2)|2,{115,81,0}}, +/* 18118 */ {(12<<2)|2,{115,81,0}}, +/* 18119 */ {(12<<2)|2,{115,81,0}}, +/* 18120 */ {(12<<2)|2,{115,81,0}}, +/* 18121 */ {(12<<2)|2,{115,81,0}}, +/* 18122 */ {(12<<2)|2,{115,81,0}}, +/* 18123 */ {(12<<2)|2,{115,81,0}}, +/* 18124 */ {(12<<2)|2,{115,81,0}}, +/* 18125 */ {(12<<2)|2,{115,81,0}}, +/* 18126 */ {(12<<2)|2,{115,81,0}}, +/* 18127 */ {(12<<2)|2,{115,81,0}}, +/* 18128 */ {(12<<2)|2,{115,82,0}}, +/* 18129 */ {(12<<2)|2,{115,82,0}}, +/* 18130 */ {(12<<2)|2,{115,82,0}}, +/* 18131 */ {(12<<2)|2,{115,82,0}}, +/* 18132 */ {(12<<2)|2,{115,82,0}}, +/* 18133 */ {(12<<2)|2,{115,82,0}}, +/* 18134 */ {(12<<2)|2,{115,82,0}}, +/* 18135 */ {(12<<2)|2,{115,82,0}}, +/* 18136 */ {(12<<2)|2,{115,82,0}}, +/* 18137 */ {(12<<2)|2,{115,82,0}}, +/* 18138 */ {(12<<2)|2,{115,82,0}}, +/* 18139 */ {(12<<2)|2,{115,82,0}}, +/* 18140 */ {(12<<2)|2,{115,82,0}}, +/* 18141 */ {(12<<2)|2,{115,82,0}}, +/* 18142 */ {(12<<2)|2,{115,82,0}}, +/* 18143 */ {(12<<2)|2,{115,82,0}}, +/* 18144 */ {(12<<2)|2,{115,83,0}}, +/* 18145 */ {(12<<2)|2,{115,83,0}}, +/* 18146 */ {(12<<2)|2,{115,83,0}}, +/* 18147 */ {(12<<2)|2,{115,83,0}}, +/* 18148 */ {(12<<2)|2,{115,83,0}}, +/* 18149 */ {(12<<2)|2,{115,83,0}}, +/* 18150 */ {(12<<2)|2,{115,83,0}}, +/* 18151 */ {(12<<2)|2,{115,83,0}}, +/* 18152 */ {(12<<2)|2,{115,83,0}}, +/* 18153 */ {(12<<2)|2,{115,83,0}}, +/* 18154 */ {(12<<2)|2,{115,83,0}}, +/* 18155 */ {(12<<2)|2,{115,83,0}}, +/* 18156 */ {(12<<2)|2,{115,83,0}}, +/* 18157 */ {(12<<2)|2,{115,83,0}}, +/* 18158 */ {(12<<2)|2,{115,83,0}}, +/* 18159 */ {(12<<2)|2,{115,83,0}}, +/* 18160 */ {(12<<2)|2,{115,84,0}}, +/* 18161 */ {(12<<2)|2,{115,84,0}}, +/* 18162 */ {(12<<2)|2,{115,84,0}}, +/* 18163 */ {(12<<2)|2,{115,84,0}}, +/* 18164 */ {(12<<2)|2,{115,84,0}}, +/* 18165 */ {(12<<2)|2,{115,84,0}}, +/* 18166 */ {(12<<2)|2,{115,84,0}}, +/* 18167 */ {(12<<2)|2,{115,84,0}}, +/* 18168 */ {(12<<2)|2,{115,84,0}}, +/* 18169 */ {(12<<2)|2,{115,84,0}}, +/* 18170 */ {(12<<2)|2,{115,84,0}}, +/* 18171 */ {(12<<2)|2,{115,84,0}}, +/* 18172 */ {(12<<2)|2,{115,84,0}}, +/* 18173 */ {(12<<2)|2,{115,84,0}}, +/* 18174 */ {(12<<2)|2,{115,84,0}}, +/* 18175 */ {(12<<2)|2,{115,84,0}}, +/* 18176 */ {(12<<2)|2,{115,85,0}}, +/* 18177 */ {(12<<2)|2,{115,85,0}}, +/* 18178 */ {(12<<2)|2,{115,85,0}}, +/* 18179 */ {(12<<2)|2,{115,85,0}}, +/* 18180 */ {(12<<2)|2,{115,85,0}}, +/* 18181 */ {(12<<2)|2,{115,85,0}}, +/* 18182 */ {(12<<2)|2,{115,85,0}}, +/* 18183 */ {(12<<2)|2,{115,85,0}}, +/* 18184 */ {(12<<2)|2,{115,85,0}}, +/* 18185 */ {(12<<2)|2,{115,85,0}}, +/* 18186 */ {(12<<2)|2,{115,85,0}}, +/* 18187 */ {(12<<2)|2,{115,85,0}}, +/* 18188 */ {(12<<2)|2,{115,85,0}}, +/* 18189 */ {(12<<2)|2,{115,85,0}}, +/* 18190 */ {(12<<2)|2,{115,85,0}}, +/* 18191 */ {(12<<2)|2,{115,85,0}}, +/* 18192 */ {(12<<2)|2,{115,86,0}}, +/* 18193 */ {(12<<2)|2,{115,86,0}}, +/* 18194 */ {(12<<2)|2,{115,86,0}}, +/* 18195 */ {(12<<2)|2,{115,86,0}}, +/* 18196 */ {(12<<2)|2,{115,86,0}}, +/* 18197 */ {(12<<2)|2,{115,86,0}}, +/* 18198 */ {(12<<2)|2,{115,86,0}}, +/* 18199 */ {(12<<2)|2,{115,86,0}}, +/* 18200 */ {(12<<2)|2,{115,86,0}}, +/* 18201 */ {(12<<2)|2,{115,86,0}}, +/* 18202 */ {(12<<2)|2,{115,86,0}}, +/* 18203 */ {(12<<2)|2,{115,86,0}}, +/* 18204 */ {(12<<2)|2,{115,86,0}}, +/* 18205 */ {(12<<2)|2,{115,86,0}}, +/* 18206 */ {(12<<2)|2,{115,86,0}}, +/* 18207 */ {(12<<2)|2,{115,86,0}}, +/* 18208 */ {(12<<2)|2,{115,87,0}}, +/* 18209 */ {(12<<2)|2,{115,87,0}}, +/* 18210 */ {(12<<2)|2,{115,87,0}}, +/* 18211 */ {(12<<2)|2,{115,87,0}}, +/* 18212 */ {(12<<2)|2,{115,87,0}}, +/* 18213 */ {(12<<2)|2,{115,87,0}}, +/* 18214 */ {(12<<2)|2,{115,87,0}}, +/* 18215 */ {(12<<2)|2,{115,87,0}}, +/* 18216 */ {(12<<2)|2,{115,87,0}}, +/* 18217 */ {(12<<2)|2,{115,87,0}}, +/* 18218 */ {(12<<2)|2,{115,87,0}}, +/* 18219 */ {(12<<2)|2,{115,87,0}}, +/* 18220 */ {(12<<2)|2,{115,87,0}}, +/* 18221 */ {(12<<2)|2,{115,87,0}}, +/* 18222 */ {(12<<2)|2,{115,87,0}}, +/* 18223 */ {(12<<2)|2,{115,87,0}}, +/* 18224 */ {(12<<2)|2,{115,89,0}}, +/* 18225 */ {(12<<2)|2,{115,89,0}}, +/* 18226 */ {(12<<2)|2,{115,89,0}}, +/* 18227 */ {(12<<2)|2,{115,89,0}}, +/* 18228 */ {(12<<2)|2,{115,89,0}}, +/* 18229 */ {(12<<2)|2,{115,89,0}}, +/* 18230 */ {(12<<2)|2,{115,89,0}}, +/* 18231 */ {(12<<2)|2,{115,89,0}}, +/* 18232 */ {(12<<2)|2,{115,89,0}}, +/* 18233 */ {(12<<2)|2,{115,89,0}}, +/* 18234 */ {(12<<2)|2,{115,89,0}}, +/* 18235 */ {(12<<2)|2,{115,89,0}}, +/* 18236 */ {(12<<2)|2,{115,89,0}}, +/* 18237 */ {(12<<2)|2,{115,89,0}}, +/* 18238 */ {(12<<2)|2,{115,89,0}}, +/* 18239 */ {(12<<2)|2,{115,89,0}}, +/* 18240 */ {(12<<2)|2,{115,106,0}}, +/* 18241 */ {(12<<2)|2,{115,106,0}}, +/* 18242 */ {(12<<2)|2,{115,106,0}}, +/* 18243 */ {(12<<2)|2,{115,106,0}}, +/* 18244 */ {(12<<2)|2,{115,106,0}}, +/* 18245 */ {(12<<2)|2,{115,106,0}}, +/* 18246 */ {(12<<2)|2,{115,106,0}}, +/* 18247 */ {(12<<2)|2,{115,106,0}}, +/* 18248 */ {(12<<2)|2,{115,106,0}}, +/* 18249 */ {(12<<2)|2,{115,106,0}}, +/* 18250 */ {(12<<2)|2,{115,106,0}}, +/* 18251 */ {(12<<2)|2,{115,106,0}}, +/* 18252 */ {(12<<2)|2,{115,106,0}}, +/* 18253 */ {(12<<2)|2,{115,106,0}}, +/* 18254 */ {(12<<2)|2,{115,106,0}}, +/* 18255 */ {(12<<2)|2,{115,106,0}}, +/* 18256 */ {(12<<2)|2,{115,107,0}}, +/* 18257 */ {(12<<2)|2,{115,107,0}}, +/* 18258 */ {(12<<2)|2,{115,107,0}}, +/* 18259 */ {(12<<2)|2,{115,107,0}}, +/* 18260 */ {(12<<2)|2,{115,107,0}}, +/* 18261 */ {(12<<2)|2,{115,107,0}}, +/* 18262 */ {(12<<2)|2,{115,107,0}}, +/* 18263 */ {(12<<2)|2,{115,107,0}}, +/* 18264 */ {(12<<2)|2,{115,107,0}}, +/* 18265 */ {(12<<2)|2,{115,107,0}}, +/* 18266 */ {(12<<2)|2,{115,107,0}}, +/* 18267 */ {(12<<2)|2,{115,107,0}}, +/* 18268 */ {(12<<2)|2,{115,107,0}}, +/* 18269 */ {(12<<2)|2,{115,107,0}}, +/* 18270 */ {(12<<2)|2,{115,107,0}}, +/* 18271 */ {(12<<2)|2,{115,107,0}}, +/* 18272 */ {(12<<2)|2,{115,113,0}}, +/* 18273 */ {(12<<2)|2,{115,113,0}}, +/* 18274 */ {(12<<2)|2,{115,113,0}}, +/* 18275 */ {(12<<2)|2,{115,113,0}}, +/* 18276 */ {(12<<2)|2,{115,113,0}}, +/* 18277 */ {(12<<2)|2,{115,113,0}}, +/* 18278 */ {(12<<2)|2,{115,113,0}}, +/* 18279 */ {(12<<2)|2,{115,113,0}}, +/* 18280 */ {(12<<2)|2,{115,113,0}}, +/* 18281 */ {(12<<2)|2,{115,113,0}}, +/* 18282 */ {(12<<2)|2,{115,113,0}}, +/* 18283 */ {(12<<2)|2,{115,113,0}}, +/* 18284 */ {(12<<2)|2,{115,113,0}}, +/* 18285 */ {(12<<2)|2,{115,113,0}}, +/* 18286 */ {(12<<2)|2,{115,113,0}}, +/* 18287 */ {(12<<2)|2,{115,113,0}}, +/* 18288 */ {(12<<2)|2,{115,118,0}}, +/* 18289 */ {(12<<2)|2,{115,118,0}}, +/* 18290 */ {(12<<2)|2,{115,118,0}}, +/* 18291 */ {(12<<2)|2,{115,118,0}}, +/* 18292 */ {(12<<2)|2,{115,118,0}}, +/* 18293 */ {(12<<2)|2,{115,118,0}}, +/* 18294 */ {(12<<2)|2,{115,118,0}}, +/* 18295 */ {(12<<2)|2,{115,118,0}}, +/* 18296 */ {(12<<2)|2,{115,118,0}}, +/* 18297 */ {(12<<2)|2,{115,118,0}}, +/* 18298 */ {(12<<2)|2,{115,118,0}}, +/* 18299 */ {(12<<2)|2,{115,118,0}}, +/* 18300 */ {(12<<2)|2,{115,118,0}}, +/* 18301 */ {(12<<2)|2,{115,118,0}}, +/* 18302 */ {(12<<2)|2,{115,118,0}}, +/* 18303 */ {(12<<2)|2,{115,118,0}}, +/* 18304 */ {(12<<2)|2,{115,119,0}}, +/* 18305 */ {(12<<2)|2,{115,119,0}}, +/* 18306 */ {(12<<2)|2,{115,119,0}}, +/* 18307 */ {(12<<2)|2,{115,119,0}}, +/* 18308 */ {(12<<2)|2,{115,119,0}}, +/* 18309 */ {(12<<2)|2,{115,119,0}}, +/* 18310 */ {(12<<2)|2,{115,119,0}}, +/* 18311 */ {(12<<2)|2,{115,119,0}}, +/* 18312 */ {(12<<2)|2,{115,119,0}}, +/* 18313 */ {(12<<2)|2,{115,119,0}}, +/* 18314 */ {(12<<2)|2,{115,119,0}}, +/* 18315 */ {(12<<2)|2,{115,119,0}}, +/* 18316 */ {(12<<2)|2,{115,119,0}}, +/* 18317 */ {(12<<2)|2,{115,119,0}}, +/* 18318 */ {(12<<2)|2,{115,119,0}}, +/* 18319 */ {(12<<2)|2,{115,119,0}}, +/* 18320 */ {(12<<2)|2,{115,120,0}}, +/* 18321 */ {(12<<2)|2,{115,120,0}}, +/* 18322 */ {(12<<2)|2,{115,120,0}}, +/* 18323 */ {(12<<2)|2,{115,120,0}}, +/* 18324 */ {(12<<2)|2,{115,120,0}}, +/* 18325 */ {(12<<2)|2,{115,120,0}}, +/* 18326 */ {(12<<2)|2,{115,120,0}}, +/* 18327 */ {(12<<2)|2,{115,120,0}}, +/* 18328 */ {(12<<2)|2,{115,120,0}}, +/* 18329 */ {(12<<2)|2,{115,120,0}}, +/* 18330 */ {(12<<2)|2,{115,120,0}}, +/* 18331 */ {(12<<2)|2,{115,120,0}}, +/* 18332 */ {(12<<2)|2,{115,120,0}}, +/* 18333 */ {(12<<2)|2,{115,120,0}}, +/* 18334 */ {(12<<2)|2,{115,120,0}}, +/* 18335 */ {(12<<2)|2,{115,120,0}}, +/* 18336 */ {(12<<2)|2,{115,121,0}}, +/* 18337 */ {(12<<2)|2,{115,121,0}}, +/* 18338 */ {(12<<2)|2,{115,121,0}}, +/* 18339 */ {(12<<2)|2,{115,121,0}}, +/* 18340 */ {(12<<2)|2,{115,121,0}}, +/* 18341 */ {(12<<2)|2,{115,121,0}}, +/* 18342 */ {(12<<2)|2,{115,121,0}}, +/* 18343 */ {(12<<2)|2,{115,121,0}}, +/* 18344 */ {(12<<2)|2,{115,121,0}}, +/* 18345 */ {(12<<2)|2,{115,121,0}}, +/* 18346 */ {(12<<2)|2,{115,121,0}}, +/* 18347 */ {(12<<2)|2,{115,121,0}}, +/* 18348 */ {(12<<2)|2,{115,121,0}}, +/* 18349 */ {(12<<2)|2,{115,121,0}}, +/* 18350 */ {(12<<2)|2,{115,121,0}}, +/* 18351 */ {(12<<2)|2,{115,121,0}}, +/* 18352 */ {(12<<2)|2,{115,122,0}}, +/* 18353 */ {(12<<2)|2,{115,122,0}}, +/* 18354 */ {(12<<2)|2,{115,122,0}}, +/* 18355 */ {(12<<2)|2,{115,122,0}}, +/* 18356 */ {(12<<2)|2,{115,122,0}}, +/* 18357 */ {(12<<2)|2,{115,122,0}}, +/* 18358 */ {(12<<2)|2,{115,122,0}}, +/* 18359 */ {(12<<2)|2,{115,122,0}}, +/* 18360 */ {(12<<2)|2,{115,122,0}}, +/* 18361 */ {(12<<2)|2,{115,122,0}}, +/* 18362 */ {(12<<2)|2,{115,122,0}}, +/* 18363 */ {(12<<2)|2,{115,122,0}}, +/* 18364 */ {(12<<2)|2,{115,122,0}}, +/* 18365 */ {(12<<2)|2,{115,122,0}}, +/* 18366 */ {(12<<2)|2,{115,122,0}}, +/* 18367 */ {(12<<2)|2,{115,122,0}}, +/* 18368 */ {(13<<2)|2,{115,38,0}}, +/* 18369 */ {(13<<2)|2,{115,38,0}}, +/* 18370 */ {(13<<2)|2,{115,38,0}}, +/* 18371 */ {(13<<2)|2,{115,38,0}}, +/* 18372 */ {(13<<2)|2,{115,38,0}}, +/* 18373 */ {(13<<2)|2,{115,38,0}}, +/* 18374 */ {(13<<2)|2,{115,38,0}}, +/* 18375 */ {(13<<2)|2,{115,38,0}}, +/* 18376 */ {(13<<2)|2,{115,42,0}}, +/* 18377 */ {(13<<2)|2,{115,42,0}}, +/* 18378 */ {(13<<2)|2,{115,42,0}}, +/* 18379 */ {(13<<2)|2,{115,42,0}}, +/* 18380 */ {(13<<2)|2,{115,42,0}}, +/* 18381 */ {(13<<2)|2,{115,42,0}}, +/* 18382 */ {(13<<2)|2,{115,42,0}}, +/* 18383 */ {(13<<2)|2,{115,42,0}}, +/* 18384 */ {(13<<2)|2,{115,44,0}}, +/* 18385 */ {(13<<2)|2,{115,44,0}}, +/* 18386 */ {(13<<2)|2,{115,44,0}}, +/* 18387 */ {(13<<2)|2,{115,44,0}}, +/* 18388 */ {(13<<2)|2,{115,44,0}}, +/* 18389 */ {(13<<2)|2,{115,44,0}}, +/* 18390 */ {(13<<2)|2,{115,44,0}}, +/* 18391 */ {(13<<2)|2,{115,44,0}}, +/* 18392 */ {(13<<2)|2,{115,59,0}}, +/* 18393 */ {(13<<2)|2,{115,59,0}}, +/* 18394 */ {(13<<2)|2,{115,59,0}}, +/* 18395 */ {(13<<2)|2,{115,59,0}}, +/* 18396 */ {(13<<2)|2,{115,59,0}}, +/* 18397 */ {(13<<2)|2,{115,59,0}}, +/* 18398 */ {(13<<2)|2,{115,59,0}}, +/* 18399 */ {(13<<2)|2,{115,59,0}}, +/* 18400 */ {(13<<2)|2,{115,88,0}}, +/* 18401 */ {(13<<2)|2,{115,88,0}}, +/* 18402 */ {(13<<2)|2,{115,88,0}}, +/* 18403 */ {(13<<2)|2,{115,88,0}}, +/* 18404 */ {(13<<2)|2,{115,88,0}}, +/* 18405 */ {(13<<2)|2,{115,88,0}}, +/* 18406 */ {(13<<2)|2,{115,88,0}}, +/* 18407 */ {(13<<2)|2,{115,88,0}}, +/* 18408 */ {(13<<2)|2,{115,90,0}}, +/* 18409 */ {(13<<2)|2,{115,90,0}}, +/* 18410 */ {(13<<2)|2,{115,90,0}}, +/* 18411 */ {(13<<2)|2,{115,90,0}}, +/* 18412 */ {(13<<2)|2,{115,90,0}}, +/* 18413 */ {(13<<2)|2,{115,90,0}}, +/* 18414 */ {(13<<2)|2,{115,90,0}}, +/* 18415 */ {(13<<2)|2,{115,90,0}}, +/* 18416 */ {(15<<2)|2,{115,33,0}}, +/* 18417 */ {(15<<2)|2,{115,33,0}}, +/* 18418 */ {(15<<2)|2,{115,34,0}}, +/* 18419 */ {(15<<2)|2,{115,34,0}}, +/* 18420 */ {(15<<2)|2,{115,40,0}}, +/* 18421 */ {(15<<2)|2,{115,40,0}}, +/* 18422 */ {(15<<2)|2,{115,41,0}}, +/* 18423 */ {(15<<2)|2,{115,41,0}}, +/* 18424 */ {(15<<2)|2,{115,63,0}}, +/* 18425 */ {(15<<2)|2,{115,63,0}}, +/* 18426 */ {(16<<2)|2,{115,39,0}}, +/* 18427 */ {(16<<2)|2,{115,43,0}}, +/* 18428 */ {(16<<2)|2,{115,124,0}}, +/* 18429 */ {(5<<2)|1,{115,0,0}}, +/* 18430 */ {(5<<2)|1,{115,0,0}}, +/* 18431 */ {(5<<2)|1,{115,0,0}}, +/* 18432 */ {(15<<2)|3,{116,48,48}}, +/* 18433 */ {(15<<2)|3,{116,48,48}}, +/* 18434 */ {(15<<2)|3,{116,48,49}}, +/* 18435 */ {(15<<2)|3,{116,48,49}}, +/* 18436 */ {(15<<2)|3,{116,48,50}}, +/* 18437 */ {(15<<2)|3,{116,48,50}}, +/* 18438 */ {(15<<2)|3,{116,48,97}}, +/* 18439 */ {(15<<2)|3,{116,48,97}}, +/* 18440 */ {(15<<2)|3,{116,48,99}}, +/* 18441 */ {(15<<2)|3,{116,48,99}}, +/* 18442 */ {(15<<2)|3,{116,48,101}}, +/* 18443 */ {(15<<2)|3,{116,48,101}}, +/* 18444 */ {(15<<2)|3,{116,48,105}}, +/* 18445 */ {(15<<2)|3,{116,48,105}}, +/* 18446 */ {(15<<2)|3,{116,48,111}}, +/* 18447 */ {(15<<2)|3,{116,48,111}}, +/* 18448 */ {(15<<2)|3,{116,48,115}}, +/* 18449 */ {(15<<2)|3,{116,48,115}}, +/* 18450 */ {(15<<2)|3,{116,48,116}}, +/* 18451 */ {(15<<2)|3,{116,48,116}}, +/* 18452 */ {(16<<2)|3,{116,48,32}}, +/* 18453 */ {(16<<2)|3,{116,48,37}}, +/* 18454 */ {(16<<2)|3,{116,48,45}}, +/* 18455 */ {(16<<2)|3,{116,48,46}}, +/* 18456 */ {(16<<2)|3,{116,48,47}}, +/* 18457 */ {(16<<2)|3,{116,48,51}}, +/* 18458 */ {(16<<2)|3,{116,48,52}}, +/* 18459 */ {(16<<2)|3,{116,48,53}}, +/* 18460 */ {(16<<2)|3,{116,48,54}}, +/* 18461 */ {(16<<2)|3,{116,48,55}}, +/* 18462 */ {(16<<2)|3,{116,48,56}}, +/* 18463 */ {(16<<2)|3,{116,48,57}}, +/* 18464 */ {(16<<2)|3,{116,48,61}}, +/* 18465 */ {(16<<2)|3,{116,48,65}}, +/* 18466 */ {(16<<2)|3,{116,48,95}}, +/* 18467 */ {(16<<2)|3,{116,48,98}}, +/* 18468 */ {(16<<2)|3,{116,48,100}}, +/* 18469 */ {(16<<2)|3,{116,48,102}}, +/* 18470 */ {(16<<2)|3,{116,48,103}}, +/* 18471 */ {(16<<2)|3,{116,48,104}}, +/* 18472 */ {(16<<2)|3,{116,48,108}}, +/* 18473 */ {(16<<2)|3,{116,48,109}}, +/* 18474 */ {(16<<2)|3,{116,48,110}}, +/* 18475 */ {(16<<2)|3,{116,48,112}}, +/* 18476 */ {(16<<2)|3,{116,48,114}}, +/* 18477 */ {(16<<2)|3,{116,48,117}}, +/* 18478 */ {(10<<2)|2,{116,48,0}}, +/* 18479 */ {(10<<2)|2,{116,48,0}}, +/* 18480 */ {(10<<2)|2,{116,48,0}}, +/* 18481 */ {(10<<2)|2,{116,48,0}}, +/* 18482 */ {(10<<2)|2,{116,48,0}}, +/* 18483 */ {(10<<2)|2,{116,48,0}}, +/* 18484 */ {(10<<2)|2,{116,48,0}}, +/* 18485 */ {(10<<2)|2,{116,48,0}}, +/* 18486 */ {(10<<2)|2,{116,48,0}}, +/* 18487 */ {(10<<2)|2,{116,48,0}}, +/* 18488 */ {(10<<2)|2,{116,48,0}}, +/* 18489 */ {(10<<2)|2,{116,48,0}}, +/* 18490 */ {(10<<2)|2,{116,48,0}}, +/* 18491 */ {(10<<2)|2,{116,48,0}}, +/* 18492 */ {(10<<2)|2,{116,48,0}}, +/* 18493 */ {(10<<2)|2,{116,48,0}}, +/* 18494 */ {(10<<2)|2,{116,48,0}}, +/* 18495 */ {(10<<2)|2,{116,48,0}}, +/* 18496 */ {(15<<2)|3,{116,49,48}}, +/* 18497 */ {(15<<2)|3,{116,49,48}}, +/* 18498 */ {(15<<2)|3,{116,49,49}}, +/* 18499 */ {(15<<2)|3,{116,49,49}}, +/* 18500 */ {(15<<2)|3,{116,49,50}}, +/* 18501 */ {(15<<2)|3,{116,49,50}}, +/* 18502 */ {(15<<2)|3,{116,49,97}}, +/* 18503 */ {(15<<2)|3,{116,49,97}}, +/* 18504 */ {(15<<2)|3,{116,49,99}}, +/* 18505 */ {(15<<2)|3,{116,49,99}}, +/* 18506 */ {(15<<2)|3,{116,49,101}}, +/* 18507 */ {(15<<2)|3,{116,49,101}}, +/* 18508 */ {(15<<2)|3,{116,49,105}}, +/* 18509 */ {(15<<2)|3,{116,49,105}}, +/* 18510 */ {(15<<2)|3,{116,49,111}}, +/* 18511 */ {(15<<2)|3,{116,49,111}}, +/* 18512 */ {(15<<2)|3,{116,49,115}}, +/* 18513 */ {(15<<2)|3,{116,49,115}}, +/* 18514 */ {(15<<2)|3,{116,49,116}}, +/* 18515 */ {(15<<2)|3,{116,49,116}}, +/* 18516 */ {(16<<2)|3,{116,49,32}}, +/* 18517 */ {(16<<2)|3,{116,49,37}}, +/* 18518 */ {(16<<2)|3,{116,49,45}}, +/* 18519 */ {(16<<2)|3,{116,49,46}}, +/* 18520 */ {(16<<2)|3,{116,49,47}}, +/* 18521 */ {(16<<2)|3,{116,49,51}}, +/* 18522 */ {(16<<2)|3,{116,49,52}}, +/* 18523 */ {(16<<2)|3,{116,49,53}}, +/* 18524 */ {(16<<2)|3,{116,49,54}}, +/* 18525 */ {(16<<2)|3,{116,49,55}}, +/* 18526 */ {(16<<2)|3,{116,49,56}}, +/* 18527 */ {(16<<2)|3,{116,49,57}}, +/* 18528 */ {(16<<2)|3,{116,49,61}}, +/* 18529 */ {(16<<2)|3,{116,49,65}}, +/* 18530 */ {(16<<2)|3,{116,49,95}}, +/* 18531 */ {(16<<2)|3,{116,49,98}}, +/* 18532 */ {(16<<2)|3,{116,49,100}}, +/* 18533 */ {(16<<2)|3,{116,49,102}}, +/* 18534 */ {(16<<2)|3,{116,49,103}}, +/* 18535 */ {(16<<2)|3,{116,49,104}}, +/* 18536 */ {(16<<2)|3,{116,49,108}}, +/* 18537 */ {(16<<2)|3,{116,49,109}}, +/* 18538 */ {(16<<2)|3,{116,49,110}}, +/* 18539 */ {(16<<2)|3,{116,49,112}}, +/* 18540 */ {(16<<2)|3,{116,49,114}}, +/* 18541 */ {(16<<2)|3,{116,49,117}}, +/* 18542 */ {(10<<2)|2,{116,49,0}}, +/* 18543 */ {(10<<2)|2,{116,49,0}}, +/* 18544 */ {(10<<2)|2,{116,49,0}}, +/* 18545 */ {(10<<2)|2,{116,49,0}}, +/* 18546 */ {(10<<2)|2,{116,49,0}}, +/* 18547 */ {(10<<2)|2,{116,49,0}}, +/* 18548 */ {(10<<2)|2,{116,49,0}}, +/* 18549 */ {(10<<2)|2,{116,49,0}}, +/* 18550 */ {(10<<2)|2,{116,49,0}}, +/* 18551 */ {(10<<2)|2,{116,49,0}}, +/* 18552 */ {(10<<2)|2,{116,49,0}}, +/* 18553 */ {(10<<2)|2,{116,49,0}}, +/* 18554 */ {(10<<2)|2,{116,49,0}}, +/* 18555 */ {(10<<2)|2,{116,49,0}}, +/* 18556 */ {(10<<2)|2,{116,49,0}}, +/* 18557 */ {(10<<2)|2,{116,49,0}}, +/* 18558 */ {(10<<2)|2,{116,49,0}}, +/* 18559 */ {(10<<2)|2,{116,49,0}}, +/* 18560 */ {(15<<2)|3,{116,50,48}}, +/* 18561 */ {(15<<2)|3,{116,50,48}}, +/* 18562 */ {(15<<2)|3,{116,50,49}}, +/* 18563 */ {(15<<2)|3,{116,50,49}}, +/* 18564 */ {(15<<2)|3,{116,50,50}}, +/* 18565 */ {(15<<2)|3,{116,50,50}}, +/* 18566 */ {(15<<2)|3,{116,50,97}}, +/* 18567 */ {(15<<2)|3,{116,50,97}}, +/* 18568 */ {(15<<2)|3,{116,50,99}}, +/* 18569 */ {(15<<2)|3,{116,50,99}}, +/* 18570 */ {(15<<2)|3,{116,50,101}}, +/* 18571 */ {(15<<2)|3,{116,50,101}}, +/* 18572 */ {(15<<2)|3,{116,50,105}}, +/* 18573 */ {(15<<2)|3,{116,50,105}}, +/* 18574 */ {(15<<2)|3,{116,50,111}}, +/* 18575 */ {(15<<2)|3,{116,50,111}}, +/* 18576 */ {(15<<2)|3,{116,50,115}}, +/* 18577 */ {(15<<2)|3,{116,50,115}}, +/* 18578 */ {(15<<2)|3,{116,50,116}}, +/* 18579 */ {(15<<2)|3,{116,50,116}}, +/* 18580 */ {(16<<2)|3,{116,50,32}}, +/* 18581 */ {(16<<2)|3,{116,50,37}}, +/* 18582 */ {(16<<2)|3,{116,50,45}}, +/* 18583 */ {(16<<2)|3,{116,50,46}}, +/* 18584 */ {(16<<2)|3,{116,50,47}}, +/* 18585 */ {(16<<2)|3,{116,50,51}}, +/* 18586 */ {(16<<2)|3,{116,50,52}}, +/* 18587 */ {(16<<2)|3,{116,50,53}}, +/* 18588 */ {(16<<2)|3,{116,50,54}}, +/* 18589 */ {(16<<2)|3,{116,50,55}}, +/* 18590 */ {(16<<2)|3,{116,50,56}}, +/* 18591 */ {(16<<2)|3,{116,50,57}}, +/* 18592 */ {(16<<2)|3,{116,50,61}}, +/* 18593 */ {(16<<2)|3,{116,50,65}}, +/* 18594 */ {(16<<2)|3,{116,50,95}}, +/* 18595 */ {(16<<2)|3,{116,50,98}}, +/* 18596 */ {(16<<2)|3,{116,50,100}}, +/* 18597 */ {(16<<2)|3,{116,50,102}}, +/* 18598 */ {(16<<2)|3,{116,50,103}}, +/* 18599 */ {(16<<2)|3,{116,50,104}}, +/* 18600 */ {(16<<2)|3,{116,50,108}}, +/* 18601 */ {(16<<2)|3,{116,50,109}}, +/* 18602 */ {(16<<2)|3,{116,50,110}}, +/* 18603 */ {(16<<2)|3,{116,50,112}}, +/* 18604 */ {(16<<2)|3,{116,50,114}}, +/* 18605 */ {(16<<2)|3,{116,50,117}}, +/* 18606 */ {(10<<2)|2,{116,50,0}}, +/* 18607 */ {(10<<2)|2,{116,50,0}}, +/* 18608 */ {(10<<2)|2,{116,50,0}}, +/* 18609 */ {(10<<2)|2,{116,50,0}}, +/* 18610 */ {(10<<2)|2,{116,50,0}}, +/* 18611 */ {(10<<2)|2,{116,50,0}}, +/* 18612 */ {(10<<2)|2,{116,50,0}}, +/* 18613 */ {(10<<2)|2,{116,50,0}}, +/* 18614 */ {(10<<2)|2,{116,50,0}}, +/* 18615 */ {(10<<2)|2,{116,50,0}}, +/* 18616 */ {(10<<2)|2,{116,50,0}}, +/* 18617 */ {(10<<2)|2,{116,50,0}}, +/* 18618 */ {(10<<2)|2,{116,50,0}}, +/* 18619 */ {(10<<2)|2,{116,50,0}}, +/* 18620 */ {(10<<2)|2,{116,50,0}}, +/* 18621 */ {(10<<2)|2,{116,50,0}}, +/* 18622 */ {(10<<2)|2,{116,50,0}}, +/* 18623 */ {(10<<2)|2,{116,50,0}}, +/* 18624 */ {(15<<2)|3,{116,97,48}}, +/* 18625 */ {(15<<2)|3,{116,97,48}}, +/* 18626 */ {(15<<2)|3,{116,97,49}}, +/* 18627 */ {(15<<2)|3,{116,97,49}}, +/* 18628 */ {(15<<2)|3,{116,97,50}}, +/* 18629 */ {(15<<2)|3,{116,97,50}}, +/* 18630 */ {(15<<2)|3,{116,97,97}}, +/* 18631 */ {(15<<2)|3,{116,97,97}}, +/* 18632 */ {(15<<2)|3,{116,97,99}}, +/* 18633 */ {(15<<2)|3,{116,97,99}}, +/* 18634 */ {(15<<2)|3,{116,97,101}}, +/* 18635 */ {(15<<2)|3,{116,97,101}}, +/* 18636 */ {(15<<2)|3,{116,97,105}}, +/* 18637 */ {(15<<2)|3,{116,97,105}}, +/* 18638 */ {(15<<2)|3,{116,97,111}}, +/* 18639 */ {(15<<2)|3,{116,97,111}}, +/* 18640 */ {(15<<2)|3,{116,97,115}}, +/* 18641 */ {(15<<2)|3,{116,97,115}}, +/* 18642 */ {(15<<2)|3,{116,97,116}}, +/* 18643 */ {(15<<2)|3,{116,97,116}}, +/* 18644 */ {(16<<2)|3,{116,97,32}}, +/* 18645 */ {(16<<2)|3,{116,97,37}}, +/* 18646 */ {(16<<2)|3,{116,97,45}}, +/* 18647 */ {(16<<2)|3,{116,97,46}}, +/* 18648 */ {(16<<2)|3,{116,97,47}}, +/* 18649 */ {(16<<2)|3,{116,97,51}}, +/* 18650 */ {(16<<2)|3,{116,97,52}}, +/* 18651 */ {(16<<2)|3,{116,97,53}}, +/* 18652 */ {(16<<2)|3,{116,97,54}}, +/* 18653 */ {(16<<2)|3,{116,97,55}}, +/* 18654 */ {(16<<2)|3,{116,97,56}}, +/* 18655 */ {(16<<2)|3,{116,97,57}}, +/* 18656 */ {(16<<2)|3,{116,97,61}}, +/* 18657 */ {(16<<2)|3,{116,97,65}}, +/* 18658 */ {(16<<2)|3,{116,97,95}}, +/* 18659 */ {(16<<2)|3,{116,97,98}}, +/* 18660 */ {(16<<2)|3,{116,97,100}}, +/* 18661 */ {(16<<2)|3,{116,97,102}}, +/* 18662 */ {(16<<2)|3,{116,97,103}}, +/* 18663 */ {(16<<2)|3,{116,97,104}}, +/* 18664 */ {(16<<2)|3,{116,97,108}}, +/* 18665 */ {(16<<2)|3,{116,97,109}}, +/* 18666 */ {(16<<2)|3,{116,97,110}}, +/* 18667 */ {(16<<2)|3,{116,97,112}}, +/* 18668 */ {(16<<2)|3,{116,97,114}}, +/* 18669 */ {(16<<2)|3,{116,97,117}}, +/* 18670 */ {(10<<2)|2,{116,97,0}}, +/* 18671 */ {(10<<2)|2,{116,97,0}}, +/* 18672 */ {(10<<2)|2,{116,97,0}}, +/* 18673 */ {(10<<2)|2,{116,97,0}}, +/* 18674 */ {(10<<2)|2,{116,97,0}}, +/* 18675 */ {(10<<2)|2,{116,97,0}}, +/* 18676 */ {(10<<2)|2,{116,97,0}}, +/* 18677 */ {(10<<2)|2,{116,97,0}}, +/* 18678 */ {(10<<2)|2,{116,97,0}}, +/* 18679 */ {(10<<2)|2,{116,97,0}}, +/* 18680 */ {(10<<2)|2,{116,97,0}}, +/* 18681 */ {(10<<2)|2,{116,97,0}}, +/* 18682 */ {(10<<2)|2,{116,97,0}}, +/* 18683 */ {(10<<2)|2,{116,97,0}}, +/* 18684 */ {(10<<2)|2,{116,97,0}}, +/* 18685 */ {(10<<2)|2,{116,97,0}}, +/* 18686 */ {(10<<2)|2,{116,97,0}}, +/* 18687 */ {(10<<2)|2,{116,97,0}}, +/* 18688 */ {(15<<2)|3,{116,99,48}}, +/* 18689 */ {(15<<2)|3,{116,99,48}}, +/* 18690 */ {(15<<2)|3,{116,99,49}}, +/* 18691 */ {(15<<2)|3,{116,99,49}}, +/* 18692 */ {(15<<2)|3,{116,99,50}}, +/* 18693 */ {(15<<2)|3,{116,99,50}}, +/* 18694 */ {(15<<2)|3,{116,99,97}}, +/* 18695 */ {(15<<2)|3,{116,99,97}}, +/* 18696 */ {(15<<2)|3,{116,99,99}}, +/* 18697 */ {(15<<2)|3,{116,99,99}}, +/* 18698 */ {(15<<2)|3,{116,99,101}}, +/* 18699 */ {(15<<2)|3,{116,99,101}}, +/* 18700 */ {(15<<2)|3,{116,99,105}}, +/* 18701 */ {(15<<2)|3,{116,99,105}}, +/* 18702 */ {(15<<2)|3,{116,99,111}}, +/* 18703 */ {(15<<2)|3,{116,99,111}}, +/* 18704 */ {(15<<2)|3,{116,99,115}}, +/* 18705 */ {(15<<2)|3,{116,99,115}}, +/* 18706 */ {(15<<2)|3,{116,99,116}}, +/* 18707 */ {(15<<2)|3,{116,99,116}}, +/* 18708 */ {(16<<2)|3,{116,99,32}}, +/* 18709 */ {(16<<2)|3,{116,99,37}}, +/* 18710 */ {(16<<2)|3,{116,99,45}}, +/* 18711 */ {(16<<2)|3,{116,99,46}}, +/* 18712 */ {(16<<2)|3,{116,99,47}}, +/* 18713 */ {(16<<2)|3,{116,99,51}}, +/* 18714 */ {(16<<2)|3,{116,99,52}}, +/* 18715 */ {(16<<2)|3,{116,99,53}}, +/* 18716 */ {(16<<2)|3,{116,99,54}}, +/* 18717 */ {(16<<2)|3,{116,99,55}}, +/* 18718 */ {(16<<2)|3,{116,99,56}}, +/* 18719 */ {(16<<2)|3,{116,99,57}}, +/* 18720 */ {(16<<2)|3,{116,99,61}}, +/* 18721 */ {(16<<2)|3,{116,99,65}}, +/* 18722 */ {(16<<2)|3,{116,99,95}}, +/* 18723 */ {(16<<2)|3,{116,99,98}}, +/* 18724 */ {(16<<2)|3,{116,99,100}}, +/* 18725 */ {(16<<2)|3,{116,99,102}}, +/* 18726 */ {(16<<2)|3,{116,99,103}}, +/* 18727 */ {(16<<2)|3,{116,99,104}}, +/* 18728 */ {(16<<2)|3,{116,99,108}}, +/* 18729 */ {(16<<2)|3,{116,99,109}}, +/* 18730 */ {(16<<2)|3,{116,99,110}}, +/* 18731 */ {(16<<2)|3,{116,99,112}}, +/* 18732 */ {(16<<2)|3,{116,99,114}}, +/* 18733 */ {(16<<2)|3,{116,99,117}}, +/* 18734 */ {(10<<2)|2,{116,99,0}}, +/* 18735 */ {(10<<2)|2,{116,99,0}}, +/* 18736 */ {(10<<2)|2,{116,99,0}}, +/* 18737 */ {(10<<2)|2,{116,99,0}}, +/* 18738 */ {(10<<2)|2,{116,99,0}}, +/* 18739 */ {(10<<2)|2,{116,99,0}}, +/* 18740 */ {(10<<2)|2,{116,99,0}}, +/* 18741 */ {(10<<2)|2,{116,99,0}}, +/* 18742 */ {(10<<2)|2,{116,99,0}}, +/* 18743 */ {(10<<2)|2,{116,99,0}}, +/* 18744 */ {(10<<2)|2,{116,99,0}}, +/* 18745 */ {(10<<2)|2,{116,99,0}}, +/* 18746 */ {(10<<2)|2,{116,99,0}}, +/* 18747 */ {(10<<2)|2,{116,99,0}}, +/* 18748 */ {(10<<2)|2,{116,99,0}}, +/* 18749 */ {(10<<2)|2,{116,99,0}}, +/* 18750 */ {(10<<2)|2,{116,99,0}}, +/* 18751 */ {(10<<2)|2,{116,99,0}}, +/* 18752 */ {(15<<2)|3,{116,101,48}}, +/* 18753 */ {(15<<2)|3,{116,101,48}}, +/* 18754 */ {(15<<2)|3,{116,101,49}}, +/* 18755 */ {(15<<2)|3,{116,101,49}}, +/* 18756 */ {(15<<2)|3,{116,101,50}}, +/* 18757 */ {(15<<2)|3,{116,101,50}}, +/* 18758 */ {(15<<2)|3,{116,101,97}}, +/* 18759 */ {(15<<2)|3,{116,101,97}}, +/* 18760 */ {(15<<2)|3,{116,101,99}}, +/* 18761 */ {(15<<2)|3,{116,101,99}}, +/* 18762 */ {(15<<2)|3,{116,101,101}}, +/* 18763 */ {(15<<2)|3,{116,101,101}}, +/* 18764 */ {(15<<2)|3,{116,101,105}}, +/* 18765 */ {(15<<2)|3,{116,101,105}}, +/* 18766 */ {(15<<2)|3,{116,101,111}}, +/* 18767 */ {(15<<2)|3,{116,101,111}}, +/* 18768 */ {(15<<2)|3,{116,101,115}}, +/* 18769 */ {(15<<2)|3,{116,101,115}}, +/* 18770 */ {(15<<2)|3,{116,101,116}}, +/* 18771 */ {(15<<2)|3,{116,101,116}}, +/* 18772 */ {(16<<2)|3,{116,101,32}}, +/* 18773 */ {(16<<2)|3,{116,101,37}}, +/* 18774 */ {(16<<2)|3,{116,101,45}}, +/* 18775 */ {(16<<2)|3,{116,101,46}}, +/* 18776 */ {(16<<2)|3,{116,101,47}}, +/* 18777 */ {(16<<2)|3,{116,101,51}}, +/* 18778 */ {(16<<2)|3,{116,101,52}}, +/* 18779 */ {(16<<2)|3,{116,101,53}}, +/* 18780 */ {(16<<2)|3,{116,101,54}}, +/* 18781 */ {(16<<2)|3,{116,101,55}}, +/* 18782 */ {(16<<2)|3,{116,101,56}}, +/* 18783 */ {(16<<2)|3,{116,101,57}}, +/* 18784 */ {(16<<2)|3,{116,101,61}}, +/* 18785 */ {(16<<2)|3,{116,101,65}}, +/* 18786 */ {(16<<2)|3,{116,101,95}}, +/* 18787 */ {(16<<2)|3,{116,101,98}}, +/* 18788 */ {(16<<2)|3,{116,101,100}}, +/* 18789 */ {(16<<2)|3,{116,101,102}}, +/* 18790 */ {(16<<2)|3,{116,101,103}}, +/* 18791 */ {(16<<2)|3,{116,101,104}}, +/* 18792 */ {(16<<2)|3,{116,101,108}}, +/* 18793 */ {(16<<2)|3,{116,101,109}}, +/* 18794 */ {(16<<2)|3,{116,101,110}}, +/* 18795 */ {(16<<2)|3,{116,101,112}}, +/* 18796 */ {(16<<2)|3,{116,101,114}}, +/* 18797 */ {(16<<2)|3,{116,101,117}}, +/* 18798 */ {(10<<2)|2,{116,101,0}}, +/* 18799 */ {(10<<2)|2,{116,101,0}}, +/* 18800 */ {(10<<2)|2,{116,101,0}}, +/* 18801 */ {(10<<2)|2,{116,101,0}}, +/* 18802 */ {(10<<2)|2,{116,101,0}}, +/* 18803 */ {(10<<2)|2,{116,101,0}}, +/* 18804 */ {(10<<2)|2,{116,101,0}}, +/* 18805 */ {(10<<2)|2,{116,101,0}}, +/* 18806 */ {(10<<2)|2,{116,101,0}}, +/* 18807 */ {(10<<2)|2,{116,101,0}}, +/* 18808 */ {(10<<2)|2,{116,101,0}}, +/* 18809 */ {(10<<2)|2,{116,101,0}}, +/* 18810 */ {(10<<2)|2,{116,101,0}}, +/* 18811 */ {(10<<2)|2,{116,101,0}}, +/* 18812 */ {(10<<2)|2,{116,101,0}}, +/* 18813 */ {(10<<2)|2,{116,101,0}}, +/* 18814 */ {(10<<2)|2,{116,101,0}}, +/* 18815 */ {(10<<2)|2,{116,101,0}}, +/* 18816 */ {(15<<2)|3,{116,105,48}}, +/* 18817 */ {(15<<2)|3,{116,105,48}}, +/* 18818 */ {(15<<2)|3,{116,105,49}}, +/* 18819 */ {(15<<2)|3,{116,105,49}}, +/* 18820 */ {(15<<2)|3,{116,105,50}}, +/* 18821 */ {(15<<2)|3,{116,105,50}}, +/* 18822 */ {(15<<2)|3,{116,105,97}}, +/* 18823 */ {(15<<2)|3,{116,105,97}}, +/* 18824 */ {(15<<2)|3,{116,105,99}}, +/* 18825 */ {(15<<2)|3,{116,105,99}}, +/* 18826 */ {(15<<2)|3,{116,105,101}}, +/* 18827 */ {(15<<2)|3,{116,105,101}}, +/* 18828 */ {(15<<2)|3,{116,105,105}}, +/* 18829 */ {(15<<2)|3,{116,105,105}}, +/* 18830 */ {(15<<2)|3,{116,105,111}}, +/* 18831 */ {(15<<2)|3,{116,105,111}}, +/* 18832 */ {(15<<2)|3,{116,105,115}}, +/* 18833 */ {(15<<2)|3,{116,105,115}}, +/* 18834 */ {(15<<2)|3,{116,105,116}}, +/* 18835 */ {(15<<2)|3,{116,105,116}}, +/* 18836 */ {(16<<2)|3,{116,105,32}}, +/* 18837 */ {(16<<2)|3,{116,105,37}}, +/* 18838 */ {(16<<2)|3,{116,105,45}}, +/* 18839 */ {(16<<2)|3,{116,105,46}}, +/* 18840 */ {(16<<2)|3,{116,105,47}}, +/* 18841 */ {(16<<2)|3,{116,105,51}}, +/* 18842 */ {(16<<2)|3,{116,105,52}}, +/* 18843 */ {(16<<2)|3,{116,105,53}}, +/* 18844 */ {(16<<2)|3,{116,105,54}}, +/* 18845 */ {(16<<2)|3,{116,105,55}}, +/* 18846 */ {(16<<2)|3,{116,105,56}}, +/* 18847 */ {(16<<2)|3,{116,105,57}}, +/* 18848 */ {(16<<2)|3,{116,105,61}}, +/* 18849 */ {(16<<2)|3,{116,105,65}}, +/* 18850 */ {(16<<2)|3,{116,105,95}}, +/* 18851 */ {(16<<2)|3,{116,105,98}}, +/* 18852 */ {(16<<2)|3,{116,105,100}}, +/* 18853 */ {(16<<2)|3,{116,105,102}}, +/* 18854 */ {(16<<2)|3,{116,105,103}}, +/* 18855 */ {(16<<2)|3,{116,105,104}}, +/* 18856 */ {(16<<2)|3,{116,105,108}}, +/* 18857 */ {(16<<2)|3,{116,105,109}}, +/* 18858 */ {(16<<2)|3,{116,105,110}}, +/* 18859 */ {(16<<2)|3,{116,105,112}}, +/* 18860 */ {(16<<2)|3,{116,105,114}}, +/* 18861 */ {(16<<2)|3,{116,105,117}}, +/* 18862 */ {(10<<2)|2,{116,105,0}}, +/* 18863 */ {(10<<2)|2,{116,105,0}}, +/* 18864 */ {(10<<2)|2,{116,105,0}}, +/* 18865 */ {(10<<2)|2,{116,105,0}}, +/* 18866 */ {(10<<2)|2,{116,105,0}}, +/* 18867 */ {(10<<2)|2,{116,105,0}}, +/* 18868 */ {(10<<2)|2,{116,105,0}}, +/* 18869 */ {(10<<2)|2,{116,105,0}}, +/* 18870 */ {(10<<2)|2,{116,105,0}}, +/* 18871 */ {(10<<2)|2,{116,105,0}}, +/* 18872 */ {(10<<2)|2,{116,105,0}}, +/* 18873 */ {(10<<2)|2,{116,105,0}}, +/* 18874 */ {(10<<2)|2,{116,105,0}}, +/* 18875 */ {(10<<2)|2,{116,105,0}}, +/* 18876 */ {(10<<2)|2,{116,105,0}}, +/* 18877 */ {(10<<2)|2,{116,105,0}}, +/* 18878 */ {(10<<2)|2,{116,105,0}}, +/* 18879 */ {(10<<2)|2,{116,105,0}}, +/* 18880 */ {(15<<2)|3,{116,111,48}}, +/* 18881 */ {(15<<2)|3,{116,111,48}}, +/* 18882 */ {(15<<2)|3,{116,111,49}}, +/* 18883 */ {(15<<2)|3,{116,111,49}}, +/* 18884 */ {(15<<2)|3,{116,111,50}}, +/* 18885 */ {(15<<2)|3,{116,111,50}}, +/* 18886 */ {(15<<2)|3,{116,111,97}}, +/* 18887 */ {(15<<2)|3,{116,111,97}}, +/* 18888 */ {(15<<2)|3,{116,111,99}}, +/* 18889 */ {(15<<2)|3,{116,111,99}}, +/* 18890 */ {(15<<2)|3,{116,111,101}}, +/* 18891 */ {(15<<2)|3,{116,111,101}}, +/* 18892 */ {(15<<2)|3,{116,111,105}}, +/* 18893 */ {(15<<2)|3,{116,111,105}}, +/* 18894 */ {(15<<2)|3,{116,111,111}}, +/* 18895 */ {(15<<2)|3,{116,111,111}}, +/* 18896 */ {(15<<2)|3,{116,111,115}}, +/* 18897 */ {(15<<2)|3,{116,111,115}}, +/* 18898 */ {(15<<2)|3,{116,111,116}}, +/* 18899 */ {(15<<2)|3,{116,111,116}}, +/* 18900 */ {(16<<2)|3,{116,111,32}}, +/* 18901 */ {(16<<2)|3,{116,111,37}}, +/* 18902 */ {(16<<2)|3,{116,111,45}}, +/* 18903 */ {(16<<2)|3,{116,111,46}}, +/* 18904 */ {(16<<2)|3,{116,111,47}}, +/* 18905 */ {(16<<2)|3,{116,111,51}}, +/* 18906 */ {(16<<2)|3,{116,111,52}}, +/* 18907 */ {(16<<2)|3,{116,111,53}}, +/* 18908 */ {(16<<2)|3,{116,111,54}}, +/* 18909 */ {(16<<2)|3,{116,111,55}}, +/* 18910 */ {(16<<2)|3,{116,111,56}}, +/* 18911 */ {(16<<2)|3,{116,111,57}}, +/* 18912 */ {(16<<2)|3,{116,111,61}}, +/* 18913 */ {(16<<2)|3,{116,111,65}}, +/* 18914 */ {(16<<2)|3,{116,111,95}}, +/* 18915 */ {(16<<2)|3,{116,111,98}}, +/* 18916 */ {(16<<2)|3,{116,111,100}}, +/* 18917 */ {(16<<2)|3,{116,111,102}}, +/* 18918 */ {(16<<2)|3,{116,111,103}}, +/* 18919 */ {(16<<2)|3,{116,111,104}}, +/* 18920 */ {(16<<2)|3,{116,111,108}}, +/* 18921 */ {(16<<2)|3,{116,111,109}}, +/* 18922 */ {(16<<2)|3,{116,111,110}}, +/* 18923 */ {(16<<2)|3,{116,111,112}}, +/* 18924 */ {(16<<2)|3,{116,111,114}}, +/* 18925 */ {(16<<2)|3,{116,111,117}}, +/* 18926 */ {(10<<2)|2,{116,111,0}}, +/* 18927 */ {(10<<2)|2,{116,111,0}}, +/* 18928 */ {(10<<2)|2,{116,111,0}}, +/* 18929 */ {(10<<2)|2,{116,111,0}}, +/* 18930 */ {(10<<2)|2,{116,111,0}}, +/* 18931 */ {(10<<2)|2,{116,111,0}}, +/* 18932 */ {(10<<2)|2,{116,111,0}}, +/* 18933 */ {(10<<2)|2,{116,111,0}}, +/* 18934 */ {(10<<2)|2,{116,111,0}}, +/* 18935 */ {(10<<2)|2,{116,111,0}}, +/* 18936 */ {(10<<2)|2,{116,111,0}}, +/* 18937 */ {(10<<2)|2,{116,111,0}}, +/* 18938 */ {(10<<2)|2,{116,111,0}}, +/* 18939 */ {(10<<2)|2,{116,111,0}}, +/* 18940 */ {(10<<2)|2,{116,111,0}}, +/* 18941 */ {(10<<2)|2,{116,111,0}}, +/* 18942 */ {(10<<2)|2,{116,111,0}}, +/* 18943 */ {(10<<2)|2,{116,111,0}}, +/* 18944 */ {(15<<2)|3,{116,115,48}}, +/* 18945 */ {(15<<2)|3,{116,115,48}}, +/* 18946 */ {(15<<2)|3,{116,115,49}}, +/* 18947 */ {(15<<2)|3,{116,115,49}}, +/* 18948 */ {(15<<2)|3,{116,115,50}}, +/* 18949 */ {(15<<2)|3,{116,115,50}}, +/* 18950 */ {(15<<2)|3,{116,115,97}}, +/* 18951 */ {(15<<2)|3,{116,115,97}}, +/* 18952 */ {(15<<2)|3,{116,115,99}}, +/* 18953 */ {(15<<2)|3,{116,115,99}}, +/* 18954 */ {(15<<2)|3,{116,115,101}}, +/* 18955 */ {(15<<2)|3,{116,115,101}}, +/* 18956 */ {(15<<2)|3,{116,115,105}}, +/* 18957 */ {(15<<2)|3,{116,115,105}}, +/* 18958 */ {(15<<2)|3,{116,115,111}}, +/* 18959 */ {(15<<2)|3,{116,115,111}}, +/* 18960 */ {(15<<2)|3,{116,115,115}}, +/* 18961 */ {(15<<2)|3,{116,115,115}}, +/* 18962 */ {(15<<2)|3,{116,115,116}}, +/* 18963 */ {(15<<2)|3,{116,115,116}}, +/* 18964 */ {(16<<2)|3,{116,115,32}}, +/* 18965 */ {(16<<2)|3,{116,115,37}}, +/* 18966 */ {(16<<2)|3,{116,115,45}}, +/* 18967 */ {(16<<2)|3,{116,115,46}}, +/* 18968 */ {(16<<2)|3,{116,115,47}}, +/* 18969 */ {(16<<2)|3,{116,115,51}}, +/* 18970 */ {(16<<2)|3,{116,115,52}}, +/* 18971 */ {(16<<2)|3,{116,115,53}}, +/* 18972 */ {(16<<2)|3,{116,115,54}}, +/* 18973 */ {(16<<2)|3,{116,115,55}}, +/* 18974 */ {(16<<2)|3,{116,115,56}}, +/* 18975 */ {(16<<2)|3,{116,115,57}}, +/* 18976 */ {(16<<2)|3,{116,115,61}}, +/* 18977 */ {(16<<2)|3,{116,115,65}}, +/* 18978 */ {(16<<2)|3,{116,115,95}}, +/* 18979 */ {(16<<2)|3,{116,115,98}}, +/* 18980 */ {(16<<2)|3,{116,115,100}}, +/* 18981 */ {(16<<2)|3,{116,115,102}}, +/* 18982 */ {(16<<2)|3,{116,115,103}}, +/* 18983 */ {(16<<2)|3,{116,115,104}}, +/* 18984 */ {(16<<2)|3,{116,115,108}}, +/* 18985 */ {(16<<2)|3,{116,115,109}}, +/* 18986 */ {(16<<2)|3,{116,115,110}}, +/* 18987 */ {(16<<2)|3,{116,115,112}}, +/* 18988 */ {(16<<2)|3,{116,115,114}}, +/* 18989 */ {(16<<2)|3,{116,115,117}}, +/* 18990 */ {(10<<2)|2,{116,115,0}}, +/* 18991 */ {(10<<2)|2,{116,115,0}}, +/* 18992 */ {(10<<2)|2,{116,115,0}}, +/* 18993 */ {(10<<2)|2,{116,115,0}}, +/* 18994 */ {(10<<2)|2,{116,115,0}}, +/* 18995 */ {(10<<2)|2,{116,115,0}}, +/* 18996 */ {(10<<2)|2,{116,115,0}}, +/* 18997 */ {(10<<2)|2,{116,115,0}}, +/* 18998 */ {(10<<2)|2,{116,115,0}}, +/* 18999 */ {(10<<2)|2,{116,115,0}}, +/* 19000 */ {(10<<2)|2,{116,115,0}}, +/* 19001 */ {(10<<2)|2,{116,115,0}}, +/* 19002 */ {(10<<2)|2,{116,115,0}}, +/* 19003 */ {(10<<2)|2,{116,115,0}}, +/* 19004 */ {(10<<2)|2,{116,115,0}}, +/* 19005 */ {(10<<2)|2,{116,115,0}}, +/* 19006 */ {(10<<2)|2,{116,115,0}}, +/* 19007 */ {(10<<2)|2,{116,115,0}}, +/* 19008 */ {(15<<2)|3,{116,116,48}}, +/* 19009 */ {(15<<2)|3,{116,116,48}}, +/* 19010 */ {(15<<2)|3,{116,116,49}}, +/* 19011 */ {(15<<2)|3,{116,116,49}}, +/* 19012 */ {(15<<2)|3,{116,116,50}}, +/* 19013 */ {(15<<2)|3,{116,116,50}}, +/* 19014 */ {(15<<2)|3,{116,116,97}}, +/* 19015 */ {(15<<2)|3,{116,116,97}}, +/* 19016 */ {(15<<2)|3,{116,116,99}}, +/* 19017 */ {(15<<2)|3,{116,116,99}}, +/* 19018 */ {(15<<2)|3,{116,116,101}}, +/* 19019 */ {(15<<2)|3,{116,116,101}}, +/* 19020 */ {(15<<2)|3,{116,116,105}}, +/* 19021 */ {(15<<2)|3,{116,116,105}}, +/* 19022 */ {(15<<2)|3,{116,116,111}}, +/* 19023 */ {(15<<2)|3,{116,116,111}}, +/* 19024 */ {(15<<2)|3,{116,116,115}}, +/* 19025 */ {(15<<2)|3,{116,116,115}}, +/* 19026 */ {(15<<2)|3,{116,116,116}}, +/* 19027 */ {(15<<2)|3,{116,116,116}}, +/* 19028 */ {(16<<2)|3,{116,116,32}}, +/* 19029 */ {(16<<2)|3,{116,116,37}}, +/* 19030 */ {(16<<2)|3,{116,116,45}}, +/* 19031 */ {(16<<2)|3,{116,116,46}}, +/* 19032 */ {(16<<2)|3,{116,116,47}}, +/* 19033 */ {(16<<2)|3,{116,116,51}}, +/* 19034 */ {(16<<2)|3,{116,116,52}}, +/* 19035 */ {(16<<2)|3,{116,116,53}}, +/* 19036 */ {(16<<2)|3,{116,116,54}}, +/* 19037 */ {(16<<2)|3,{116,116,55}}, +/* 19038 */ {(16<<2)|3,{116,116,56}}, +/* 19039 */ {(16<<2)|3,{116,116,57}}, +/* 19040 */ {(16<<2)|3,{116,116,61}}, +/* 19041 */ {(16<<2)|3,{116,116,65}}, +/* 19042 */ {(16<<2)|3,{116,116,95}}, +/* 19043 */ {(16<<2)|3,{116,116,98}}, +/* 19044 */ {(16<<2)|3,{116,116,100}}, +/* 19045 */ {(16<<2)|3,{116,116,102}}, +/* 19046 */ {(16<<2)|3,{116,116,103}}, +/* 19047 */ {(16<<2)|3,{116,116,104}}, +/* 19048 */ {(16<<2)|3,{116,116,108}}, +/* 19049 */ {(16<<2)|3,{116,116,109}}, +/* 19050 */ {(16<<2)|3,{116,116,110}}, +/* 19051 */ {(16<<2)|3,{116,116,112}}, +/* 19052 */ {(16<<2)|3,{116,116,114}}, +/* 19053 */ {(16<<2)|3,{116,116,117}}, +/* 19054 */ {(10<<2)|2,{116,116,0}}, +/* 19055 */ {(10<<2)|2,{116,116,0}}, +/* 19056 */ {(10<<2)|2,{116,116,0}}, +/* 19057 */ {(10<<2)|2,{116,116,0}}, +/* 19058 */ {(10<<2)|2,{116,116,0}}, +/* 19059 */ {(10<<2)|2,{116,116,0}}, +/* 19060 */ {(10<<2)|2,{116,116,0}}, +/* 19061 */ {(10<<2)|2,{116,116,0}}, +/* 19062 */ {(10<<2)|2,{116,116,0}}, +/* 19063 */ {(10<<2)|2,{116,116,0}}, +/* 19064 */ {(10<<2)|2,{116,116,0}}, +/* 19065 */ {(10<<2)|2,{116,116,0}}, +/* 19066 */ {(10<<2)|2,{116,116,0}}, +/* 19067 */ {(10<<2)|2,{116,116,0}}, +/* 19068 */ {(10<<2)|2,{116,116,0}}, +/* 19069 */ {(10<<2)|2,{116,116,0}}, +/* 19070 */ {(10<<2)|2,{116,116,0}}, +/* 19071 */ {(10<<2)|2,{116,116,0}}, +/* 19072 */ {(16<<2)|3,{116,32,48}}, +/* 19073 */ {(16<<2)|3,{116,32,49}}, +/* 19074 */ {(16<<2)|3,{116,32,50}}, +/* 19075 */ {(16<<2)|3,{116,32,97}}, +/* 19076 */ {(16<<2)|3,{116,32,99}}, +/* 19077 */ {(16<<2)|3,{116,32,101}}, +/* 19078 */ {(16<<2)|3,{116,32,105}}, +/* 19079 */ {(16<<2)|3,{116,32,111}}, +/* 19080 */ {(16<<2)|3,{116,32,115}}, +/* 19081 */ {(16<<2)|3,{116,32,116}}, +/* 19082 */ {(11<<2)|2,{116,32,0}}, +/* 19083 */ {(11<<2)|2,{116,32,0}}, +/* 19084 */ {(11<<2)|2,{116,32,0}}, +/* 19085 */ {(11<<2)|2,{116,32,0}}, +/* 19086 */ {(11<<2)|2,{116,32,0}}, +/* 19087 */ {(11<<2)|2,{116,32,0}}, +/* 19088 */ {(11<<2)|2,{116,32,0}}, +/* 19089 */ {(11<<2)|2,{116,32,0}}, +/* 19090 */ {(11<<2)|2,{116,32,0}}, +/* 19091 */ {(11<<2)|2,{116,32,0}}, +/* 19092 */ {(11<<2)|2,{116,32,0}}, +/* 19093 */ {(11<<2)|2,{116,32,0}}, +/* 19094 */ {(11<<2)|2,{116,32,0}}, +/* 19095 */ {(11<<2)|2,{116,32,0}}, +/* 19096 */ {(11<<2)|2,{116,32,0}}, +/* 19097 */ {(11<<2)|2,{116,32,0}}, +/* 19098 */ {(11<<2)|2,{116,32,0}}, +/* 19099 */ {(11<<2)|2,{116,32,0}}, +/* 19100 */ {(11<<2)|2,{116,32,0}}, +/* 19101 */ {(11<<2)|2,{116,32,0}}, +/* 19102 */ {(11<<2)|2,{116,32,0}}, +/* 19103 */ {(11<<2)|2,{116,32,0}}, +/* 19104 */ {(16<<2)|3,{116,37,48}}, +/* 19105 */ {(16<<2)|3,{116,37,49}}, +/* 19106 */ {(16<<2)|3,{116,37,50}}, +/* 19107 */ {(16<<2)|3,{116,37,97}}, +/* 19108 */ {(16<<2)|3,{116,37,99}}, +/* 19109 */ {(16<<2)|3,{116,37,101}}, +/* 19110 */ {(16<<2)|3,{116,37,105}}, +/* 19111 */ {(16<<2)|3,{116,37,111}}, +/* 19112 */ {(16<<2)|3,{116,37,115}}, +/* 19113 */ {(16<<2)|3,{116,37,116}}, +/* 19114 */ {(11<<2)|2,{116,37,0}}, +/* 19115 */ {(11<<2)|2,{116,37,0}}, +/* 19116 */ {(11<<2)|2,{116,37,0}}, +/* 19117 */ {(11<<2)|2,{116,37,0}}, +/* 19118 */ {(11<<2)|2,{116,37,0}}, +/* 19119 */ {(11<<2)|2,{116,37,0}}, +/* 19120 */ {(11<<2)|2,{116,37,0}}, +/* 19121 */ {(11<<2)|2,{116,37,0}}, +/* 19122 */ {(11<<2)|2,{116,37,0}}, +/* 19123 */ {(11<<2)|2,{116,37,0}}, +/* 19124 */ {(11<<2)|2,{116,37,0}}, +/* 19125 */ {(11<<2)|2,{116,37,0}}, +/* 19126 */ {(11<<2)|2,{116,37,0}}, +/* 19127 */ {(11<<2)|2,{116,37,0}}, +/* 19128 */ {(11<<2)|2,{116,37,0}}, +/* 19129 */ {(11<<2)|2,{116,37,0}}, +/* 19130 */ {(11<<2)|2,{116,37,0}}, +/* 19131 */ {(11<<2)|2,{116,37,0}}, +/* 19132 */ {(11<<2)|2,{116,37,0}}, +/* 19133 */ {(11<<2)|2,{116,37,0}}, +/* 19134 */ {(11<<2)|2,{116,37,0}}, +/* 19135 */ {(11<<2)|2,{116,37,0}}, +/* 19136 */ {(16<<2)|3,{116,45,48}}, +/* 19137 */ {(16<<2)|3,{116,45,49}}, +/* 19138 */ {(16<<2)|3,{116,45,50}}, +/* 19139 */ {(16<<2)|3,{116,45,97}}, +/* 19140 */ {(16<<2)|3,{116,45,99}}, +/* 19141 */ {(16<<2)|3,{116,45,101}}, +/* 19142 */ {(16<<2)|3,{116,45,105}}, +/* 19143 */ {(16<<2)|3,{116,45,111}}, +/* 19144 */ {(16<<2)|3,{116,45,115}}, +/* 19145 */ {(16<<2)|3,{116,45,116}}, +/* 19146 */ {(11<<2)|2,{116,45,0}}, +/* 19147 */ {(11<<2)|2,{116,45,0}}, +/* 19148 */ {(11<<2)|2,{116,45,0}}, +/* 19149 */ {(11<<2)|2,{116,45,0}}, +/* 19150 */ {(11<<2)|2,{116,45,0}}, +/* 19151 */ {(11<<2)|2,{116,45,0}}, +/* 19152 */ {(11<<2)|2,{116,45,0}}, +/* 19153 */ {(11<<2)|2,{116,45,0}}, +/* 19154 */ {(11<<2)|2,{116,45,0}}, +/* 19155 */ {(11<<2)|2,{116,45,0}}, +/* 19156 */ {(11<<2)|2,{116,45,0}}, +/* 19157 */ {(11<<2)|2,{116,45,0}}, +/* 19158 */ {(11<<2)|2,{116,45,0}}, +/* 19159 */ {(11<<2)|2,{116,45,0}}, +/* 19160 */ {(11<<2)|2,{116,45,0}}, +/* 19161 */ {(11<<2)|2,{116,45,0}}, +/* 19162 */ {(11<<2)|2,{116,45,0}}, +/* 19163 */ {(11<<2)|2,{116,45,0}}, +/* 19164 */ {(11<<2)|2,{116,45,0}}, +/* 19165 */ {(11<<2)|2,{116,45,0}}, +/* 19166 */ {(11<<2)|2,{116,45,0}}, +/* 19167 */ {(11<<2)|2,{116,45,0}}, +/* 19168 */ {(16<<2)|3,{116,46,48}}, +/* 19169 */ {(16<<2)|3,{116,46,49}}, +/* 19170 */ {(16<<2)|3,{116,46,50}}, +/* 19171 */ {(16<<2)|3,{116,46,97}}, +/* 19172 */ {(16<<2)|3,{116,46,99}}, +/* 19173 */ {(16<<2)|3,{116,46,101}}, +/* 19174 */ {(16<<2)|3,{116,46,105}}, +/* 19175 */ {(16<<2)|3,{116,46,111}}, +/* 19176 */ {(16<<2)|3,{116,46,115}}, +/* 19177 */ {(16<<2)|3,{116,46,116}}, +/* 19178 */ {(11<<2)|2,{116,46,0}}, +/* 19179 */ {(11<<2)|2,{116,46,0}}, +/* 19180 */ {(11<<2)|2,{116,46,0}}, +/* 19181 */ {(11<<2)|2,{116,46,0}}, +/* 19182 */ {(11<<2)|2,{116,46,0}}, +/* 19183 */ {(11<<2)|2,{116,46,0}}, +/* 19184 */ {(11<<2)|2,{116,46,0}}, +/* 19185 */ {(11<<2)|2,{116,46,0}}, +/* 19186 */ {(11<<2)|2,{116,46,0}}, +/* 19187 */ {(11<<2)|2,{116,46,0}}, +/* 19188 */ {(11<<2)|2,{116,46,0}}, +/* 19189 */ {(11<<2)|2,{116,46,0}}, +/* 19190 */ {(11<<2)|2,{116,46,0}}, +/* 19191 */ {(11<<2)|2,{116,46,0}}, +/* 19192 */ {(11<<2)|2,{116,46,0}}, +/* 19193 */ {(11<<2)|2,{116,46,0}}, +/* 19194 */ {(11<<2)|2,{116,46,0}}, +/* 19195 */ {(11<<2)|2,{116,46,0}}, +/* 19196 */ {(11<<2)|2,{116,46,0}}, +/* 19197 */ {(11<<2)|2,{116,46,0}}, +/* 19198 */ {(11<<2)|2,{116,46,0}}, +/* 19199 */ {(11<<2)|2,{116,46,0}}, +/* 19200 */ {(16<<2)|3,{116,47,48}}, +/* 19201 */ {(16<<2)|3,{116,47,49}}, +/* 19202 */ {(16<<2)|3,{116,47,50}}, +/* 19203 */ {(16<<2)|3,{116,47,97}}, +/* 19204 */ {(16<<2)|3,{116,47,99}}, +/* 19205 */ {(16<<2)|3,{116,47,101}}, +/* 19206 */ {(16<<2)|3,{116,47,105}}, +/* 19207 */ {(16<<2)|3,{116,47,111}}, +/* 19208 */ {(16<<2)|3,{116,47,115}}, +/* 19209 */ {(16<<2)|3,{116,47,116}}, +/* 19210 */ {(11<<2)|2,{116,47,0}}, +/* 19211 */ {(11<<2)|2,{116,47,0}}, +/* 19212 */ {(11<<2)|2,{116,47,0}}, +/* 19213 */ {(11<<2)|2,{116,47,0}}, +/* 19214 */ {(11<<2)|2,{116,47,0}}, +/* 19215 */ {(11<<2)|2,{116,47,0}}, +/* 19216 */ {(11<<2)|2,{116,47,0}}, +/* 19217 */ {(11<<2)|2,{116,47,0}}, +/* 19218 */ {(11<<2)|2,{116,47,0}}, +/* 19219 */ {(11<<2)|2,{116,47,0}}, +/* 19220 */ {(11<<2)|2,{116,47,0}}, +/* 19221 */ {(11<<2)|2,{116,47,0}}, +/* 19222 */ {(11<<2)|2,{116,47,0}}, +/* 19223 */ {(11<<2)|2,{116,47,0}}, +/* 19224 */ {(11<<2)|2,{116,47,0}}, +/* 19225 */ {(11<<2)|2,{116,47,0}}, +/* 19226 */ {(11<<2)|2,{116,47,0}}, +/* 19227 */ {(11<<2)|2,{116,47,0}}, +/* 19228 */ {(11<<2)|2,{116,47,0}}, +/* 19229 */ {(11<<2)|2,{116,47,0}}, +/* 19230 */ {(11<<2)|2,{116,47,0}}, +/* 19231 */ {(11<<2)|2,{116,47,0}}, +/* 19232 */ {(16<<2)|3,{116,51,48}}, +/* 19233 */ {(16<<2)|3,{116,51,49}}, +/* 19234 */ {(16<<2)|3,{116,51,50}}, +/* 19235 */ {(16<<2)|3,{116,51,97}}, +/* 19236 */ {(16<<2)|3,{116,51,99}}, +/* 19237 */ {(16<<2)|3,{116,51,101}}, +/* 19238 */ {(16<<2)|3,{116,51,105}}, +/* 19239 */ {(16<<2)|3,{116,51,111}}, +/* 19240 */ {(16<<2)|3,{116,51,115}}, +/* 19241 */ {(16<<2)|3,{116,51,116}}, +/* 19242 */ {(11<<2)|2,{116,51,0}}, +/* 19243 */ {(11<<2)|2,{116,51,0}}, +/* 19244 */ {(11<<2)|2,{116,51,0}}, +/* 19245 */ {(11<<2)|2,{116,51,0}}, +/* 19246 */ {(11<<2)|2,{116,51,0}}, +/* 19247 */ {(11<<2)|2,{116,51,0}}, +/* 19248 */ {(11<<2)|2,{116,51,0}}, +/* 19249 */ {(11<<2)|2,{116,51,0}}, +/* 19250 */ {(11<<2)|2,{116,51,0}}, +/* 19251 */ {(11<<2)|2,{116,51,0}}, +/* 19252 */ {(11<<2)|2,{116,51,0}}, +/* 19253 */ {(11<<2)|2,{116,51,0}}, +/* 19254 */ {(11<<2)|2,{116,51,0}}, +/* 19255 */ {(11<<2)|2,{116,51,0}}, +/* 19256 */ {(11<<2)|2,{116,51,0}}, +/* 19257 */ {(11<<2)|2,{116,51,0}}, +/* 19258 */ {(11<<2)|2,{116,51,0}}, +/* 19259 */ {(11<<2)|2,{116,51,0}}, +/* 19260 */ {(11<<2)|2,{116,51,0}}, +/* 19261 */ {(11<<2)|2,{116,51,0}}, +/* 19262 */ {(11<<2)|2,{116,51,0}}, +/* 19263 */ {(11<<2)|2,{116,51,0}}, +/* 19264 */ {(16<<2)|3,{116,52,48}}, +/* 19265 */ {(16<<2)|3,{116,52,49}}, +/* 19266 */ {(16<<2)|3,{116,52,50}}, +/* 19267 */ {(16<<2)|3,{116,52,97}}, +/* 19268 */ {(16<<2)|3,{116,52,99}}, +/* 19269 */ {(16<<2)|3,{116,52,101}}, +/* 19270 */ {(16<<2)|3,{116,52,105}}, +/* 19271 */ {(16<<2)|3,{116,52,111}}, +/* 19272 */ {(16<<2)|3,{116,52,115}}, +/* 19273 */ {(16<<2)|3,{116,52,116}}, +/* 19274 */ {(11<<2)|2,{116,52,0}}, +/* 19275 */ {(11<<2)|2,{116,52,0}}, +/* 19276 */ {(11<<2)|2,{116,52,0}}, +/* 19277 */ {(11<<2)|2,{116,52,0}}, +/* 19278 */ {(11<<2)|2,{116,52,0}}, +/* 19279 */ {(11<<2)|2,{116,52,0}}, +/* 19280 */ {(11<<2)|2,{116,52,0}}, +/* 19281 */ {(11<<2)|2,{116,52,0}}, +/* 19282 */ {(11<<2)|2,{116,52,0}}, +/* 19283 */ {(11<<2)|2,{116,52,0}}, +/* 19284 */ {(11<<2)|2,{116,52,0}}, +/* 19285 */ {(11<<2)|2,{116,52,0}}, +/* 19286 */ {(11<<2)|2,{116,52,0}}, +/* 19287 */ {(11<<2)|2,{116,52,0}}, +/* 19288 */ {(11<<2)|2,{116,52,0}}, +/* 19289 */ {(11<<2)|2,{116,52,0}}, +/* 19290 */ {(11<<2)|2,{116,52,0}}, +/* 19291 */ {(11<<2)|2,{116,52,0}}, +/* 19292 */ {(11<<2)|2,{116,52,0}}, +/* 19293 */ {(11<<2)|2,{116,52,0}}, +/* 19294 */ {(11<<2)|2,{116,52,0}}, +/* 19295 */ {(11<<2)|2,{116,52,0}}, +/* 19296 */ {(16<<2)|3,{116,53,48}}, +/* 19297 */ {(16<<2)|3,{116,53,49}}, +/* 19298 */ {(16<<2)|3,{116,53,50}}, +/* 19299 */ {(16<<2)|3,{116,53,97}}, +/* 19300 */ {(16<<2)|3,{116,53,99}}, +/* 19301 */ {(16<<2)|3,{116,53,101}}, +/* 19302 */ {(16<<2)|3,{116,53,105}}, +/* 19303 */ {(16<<2)|3,{116,53,111}}, +/* 19304 */ {(16<<2)|3,{116,53,115}}, +/* 19305 */ {(16<<2)|3,{116,53,116}}, +/* 19306 */ {(11<<2)|2,{116,53,0}}, +/* 19307 */ {(11<<2)|2,{116,53,0}}, +/* 19308 */ {(11<<2)|2,{116,53,0}}, +/* 19309 */ {(11<<2)|2,{116,53,0}}, +/* 19310 */ {(11<<2)|2,{116,53,0}}, +/* 19311 */ {(11<<2)|2,{116,53,0}}, +/* 19312 */ {(11<<2)|2,{116,53,0}}, +/* 19313 */ {(11<<2)|2,{116,53,0}}, +/* 19314 */ {(11<<2)|2,{116,53,0}}, +/* 19315 */ {(11<<2)|2,{116,53,0}}, +/* 19316 */ {(11<<2)|2,{116,53,0}}, +/* 19317 */ {(11<<2)|2,{116,53,0}}, +/* 19318 */ {(11<<2)|2,{116,53,0}}, +/* 19319 */ {(11<<2)|2,{116,53,0}}, +/* 19320 */ {(11<<2)|2,{116,53,0}}, +/* 19321 */ {(11<<2)|2,{116,53,0}}, +/* 19322 */ {(11<<2)|2,{116,53,0}}, +/* 19323 */ {(11<<2)|2,{116,53,0}}, +/* 19324 */ {(11<<2)|2,{116,53,0}}, +/* 19325 */ {(11<<2)|2,{116,53,0}}, +/* 19326 */ {(11<<2)|2,{116,53,0}}, +/* 19327 */ {(11<<2)|2,{116,53,0}}, +/* 19328 */ {(16<<2)|3,{116,54,48}}, +/* 19329 */ {(16<<2)|3,{116,54,49}}, +/* 19330 */ {(16<<2)|3,{116,54,50}}, +/* 19331 */ {(16<<2)|3,{116,54,97}}, +/* 19332 */ {(16<<2)|3,{116,54,99}}, +/* 19333 */ {(16<<2)|3,{116,54,101}}, +/* 19334 */ {(16<<2)|3,{116,54,105}}, +/* 19335 */ {(16<<2)|3,{116,54,111}}, +/* 19336 */ {(16<<2)|3,{116,54,115}}, +/* 19337 */ {(16<<2)|3,{116,54,116}}, +/* 19338 */ {(11<<2)|2,{116,54,0}}, +/* 19339 */ {(11<<2)|2,{116,54,0}}, +/* 19340 */ {(11<<2)|2,{116,54,0}}, +/* 19341 */ {(11<<2)|2,{116,54,0}}, +/* 19342 */ {(11<<2)|2,{116,54,0}}, +/* 19343 */ {(11<<2)|2,{116,54,0}}, +/* 19344 */ {(11<<2)|2,{116,54,0}}, +/* 19345 */ {(11<<2)|2,{116,54,0}}, +/* 19346 */ {(11<<2)|2,{116,54,0}}, +/* 19347 */ {(11<<2)|2,{116,54,0}}, +/* 19348 */ {(11<<2)|2,{116,54,0}}, +/* 19349 */ {(11<<2)|2,{116,54,0}}, +/* 19350 */ {(11<<2)|2,{116,54,0}}, +/* 19351 */ {(11<<2)|2,{116,54,0}}, +/* 19352 */ {(11<<2)|2,{116,54,0}}, +/* 19353 */ {(11<<2)|2,{116,54,0}}, +/* 19354 */ {(11<<2)|2,{116,54,0}}, +/* 19355 */ {(11<<2)|2,{116,54,0}}, +/* 19356 */ {(11<<2)|2,{116,54,0}}, +/* 19357 */ {(11<<2)|2,{116,54,0}}, +/* 19358 */ {(11<<2)|2,{116,54,0}}, +/* 19359 */ {(11<<2)|2,{116,54,0}}, +/* 19360 */ {(16<<2)|3,{116,55,48}}, +/* 19361 */ {(16<<2)|3,{116,55,49}}, +/* 19362 */ {(16<<2)|3,{116,55,50}}, +/* 19363 */ {(16<<2)|3,{116,55,97}}, +/* 19364 */ {(16<<2)|3,{116,55,99}}, +/* 19365 */ {(16<<2)|3,{116,55,101}}, +/* 19366 */ {(16<<2)|3,{116,55,105}}, +/* 19367 */ {(16<<2)|3,{116,55,111}}, +/* 19368 */ {(16<<2)|3,{116,55,115}}, +/* 19369 */ {(16<<2)|3,{116,55,116}}, +/* 19370 */ {(11<<2)|2,{116,55,0}}, +/* 19371 */ {(11<<2)|2,{116,55,0}}, +/* 19372 */ {(11<<2)|2,{116,55,0}}, +/* 19373 */ {(11<<2)|2,{116,55,0}}, +/* 19374 */ {(11<<2)|2,{116,55,0}}, +/* 19375 */ {(11<<2)|2,{116,55,0}}, +/* 19376 */ {(11<<2)|2,{116,55,0}}, +/* 19377 */ {(11<<2)|2,{116,55,0}}, +/* 19378 */ {(11<<2)|2,{116,55,0}}, +/* 19379 */ {(11<<2)|2,{116,55,0}}, +/* 19380 */ {(11<<2)|2,{116,55,0}}, +/* 19381 */ {(11<<2)|2,{116,55,0}}, +/* 19382 */ {(11<<2)|2,{116,55,0}}, +/* 19383 */ {(11<<2)|2,{116,55,0}}, +/* 19384 */ {(11<<2)|2,{116,55,0}}, +/* 19385 */ {(11<<2)|2,{116,55,0}}, +/* 19386 */ {(11<<2)|2,{116,55,0}}, +/* 19387 */ {(11<<2)|2,{116,55,0}}, +/* 19388 */ {(11<<2)|2,{116,55,0}}, +/* 19389 */ {(11<<2)|2,{116,55,0}}, +/* 19390 */ {(11<<2)|2,{116,55,0}}, +/* 19391 */ {(11<<2)|2,{116,55,0}}, +/* 19392 */ {(16<<2)|3,{116,56,48}}, +/* 19393 */ {(16<<2)|3,{116,56,49}}, +/* 19394 */ {(16<<2)|3,{116,56,50}}, +/* 19395 */ {(16<<2)|3,{116,56,97}}, +/* 19396 */ {(16<<2)|3,{116,56,99}}, +/* 19397 */ {(16<<2)|3,{116,56,101}}, +/* 19398 */ {(16<<2)|3,{116,56,105}}, +/* 19399 */ {(16<<2)|3,{116,56,111}}, +/* 19400 */ {(16<<2)|3,{116,56,115}}, +/* 19401 */ {(16<<2)|3,{116,56,116}}, +/* 19402 */ {(11<<2)|2,{116,56,0}}, +/* 19403 */ {(11<<2)|2,{116,56,0}}, +/* 19404 */ {(11<<2)|2,{116,56,0}}, +/* 19405 */ {(11<<2)|2,{116,56,0}}, +/* 19406 */ {(11<<2)|2,{116,56,0}}, +/* 19407 */ {(11<<2)|2,{116,56,0}}, +/* 19408 */ {(11<<2)|2,{116,56,0}}, +/* 19409 */ {(11<<2)|2,{116,56,0}}, +/* 19410 */ {(11<<2)|2,{116,56,0}}, +/* 19411 */ {(11<<2)|2,{116,56,0}}, +/* 19412 */ {(11<<2)|2,{116,56,0}}, +/* 19413 */ {(11<<2)|2,{116,56,0}}, +/* 19414 */ {(11<<2)|2,{116,56,0}}, +/* 19415 */ {(11<<2)|2,{116,56,0}}, +/* 19416 */ {(11<<2)|2,{116,56,0}}, +/* 19417 */ {(11<<2)|2,{116,56,0}}, +/* 19418 */ {(11<<2)|2,{116,56,0}}, +/* 19419 */ {(11<<2)|2,{116,56,0}}, +/* 19420 */ {(11<<2)|2,{116,56,0}}, +/* 19421 */ {(11<<2)|2,{116,56,0}}, +/* 19422 */ {(11<<2)|2,{116,56,0}}, +/* 19423 */ {(11<<2)|2,{116,56,0}}, +/* 19424 */ {(16<<2)|3,{116,57,48}}, +/* 19425 */ {(16<<2)|3,{116,57,49}}, +/* 19426 */ {(16<<2)|3,{116,57,50}}, +/* 19427 */ {(16<<2)|3,{116,57,97}}, +/* 19428 */ {(16<<2)|3,{116,57,99}}, +/* 19429 */ {(16<<2)|3,{116,57,101}}, +/* 19430 */ {(16<<2)|3,{116,57,105}}, +/* 19431 */ {(16<<2)|3,{116,57,111}}, +/* 19432 */ {(16<<2)|3,{116,57,115}}, +/* 19433 */ {(16<<2)|3,{116,57,116}}, +/* 19434 */ {(11<<2)|2,{116,57,0}}, +/* 19435 */ {(11<<2)|2,{116,57,0}}, +/* 19436 */ {(11<<2)|2,{116,57,0}}, +/* 19437 */ {(11<<2)|2,{116,57,0}}, +/* 19438 */ {(11<<2)|2,{116,57,0}}, +/* 19439 */ {(11<<2)|2,{116,57,0}}, +/* 19440 */ {(11<<2)|2,{116,57,0}}, +/* 19441 */ {(11<<2)|2,{116,57,0}}, +/* 19442 */ {(11<<2)|2,{116,57,0}}, +/* 19443 */ {(11<<2)|2,{116,57,0}}, +/* 19444 */ {(11<<2)|2,{116,57,0}}, +/* 19445 */ {(11<<2)|2,{116,57,0}}, +/* 19446 */ {(11<<2)|2,{116,57,0}}, +/* 19447 */ {(11<<2)|2,{116,57,0}}, +/* 19448 */ {(11<<2)|2,{116,57,0}}, +/* 19449 */ {(11<<2)|2,{116,57,0}}, +/* 19450 */ {(11<<2)|2,{116,57,0}}, +/* 19451 */ {(11<<2)|2,{116,57,0}}, +/* 19452 */ {(11<<2)|2,{116,57,0}}, +/* 19453 */ {(11<<2)|2,{116,57,0}}, +/* 19454 */ {(11<<2)|2,{116,57,0}}, +/* 19455 */ {(11<<2)|2,{116,57,0}}, +/* 19456 */ {(16<<2)|3,{116,61,48}}, +/* 19457 */ {(16<<2)|3,{116,61,49}}, +/* 19458 */ {(16<<2)|3,{116,61,50}}, +/* 19459 */ {(16<<2)|3,{116,61,97}}, +/* 19460 */ {(16<<2)|3,{116,61,99}}, +/* 19461 */ {(16<<2)|3,{116,61,101}}, +/* 19462 */ {(16<<2)|3,{116,61,105}}, +/* 19463 */ {(16<<2)|3,{116,61,111}}, +/* 19464 */ {(16<<2)|3,{116,61,115}}, +/* 19465 */ {(16<<2)|3,{116,61,116}}, +/* 19466 */ {(11<<2)|2,{116,61,0}}, +/* 19467 */ {(11<<2)|2,{116,61,0}}, +/* 19468 */ {(11<<2)|2,{116,61,0}}, +/* 19469 */ {(11<<2)|2,{116,61,0}}, +/* 19470 */ {(11<<2)|2,{116,61,0}}, +/* 19471 */ {(11<<2)|2,{116,61,0}}, +/* 19472 */ {(11<<2)|2,{116,61,0}}, +/* 19473 */ {(11<<2)|2,{116,61,0}}, +/* 19474 */ {(11<<2)|2,{116,61,0}}, +/* 19475 */ {(11<<2)|2,{116,61,0}}, +/* 19476 */ {(11<<2)|2,{116,61,0}}, +/* 19477 */ {(11<<2)|2,{116,61,0}}, +/* 19478 */ {(11<<2)|2,{116,61,0}}, +/* 19479 */ {(11<<2)|2,{116,61,0}}, +/* 19480 */ {(11<<2)|2,{116,61,0}}, +/* 19481 */ {(11<<2)|2,{116,61,0}}, +/* 19482 */ {(11<<2)|2,{116,61,0}}, +/* 19483 */ {(11<<2)|2,{116,61,0}}, +/* 19484 */ {(11<<2)|2,{116,61,0}}, +/* 19485 */ {(11<<2)|2,{116,61,0}}, +/* 19486 */ {(11<<2)|2,{116,61,0}}, +/* 19487 */ {(11<<2)|2,{116,61,0}}, +/* 19488 */ {(16<<2)|3,{116,65,48}}, +/* 19489 */ {(16<<2)|3,{116,65,49}}, +/* 19490 */ {(16<<2)|3,{116,65,50}}, +/* 19491 */ {(16<<2)|3,{116,65,97}}, +/* 19492 */ {(16<<2)|3,{116,65,99}}, +/* 19493 */ {(16<<2)|3,{116,65,101}}, +/* 19494 */ {(16<<2)|3,{116,65,105}}, +/* 19495 */ {(16<<2)|3,{116,65,111}}, +/* 19496 */ {(16<<2)|3,{116,65,115}}, +/* 19497 */ {(16<<2)|3,{116,65,116}}, +/* 19498 */ {(11<<2)|2,{116,65,0}}, +/* 19499 */ {(11<<2)|2,{116,65,0}}, +/* 19500 */ {(11<<2)|2,{116,65,0}}, +/* 19501 */ {(11<<2)|2,{116,65,0}}, +/* 19502 */ {(11<<2)|2,{116,65,0}}, +/* 19503 */ {(11<<2)|2,{116,65,0}}, +/* 19504 */ {(11<<2)|2,{116,65,0}}, +/* 19505 */ {(11<<2)|2,{116,65,0}}, +/* 19506 */ {(11<<2)|2,{116,65,0}}, +/* 19507 */ {(11<<2)|2,{116,65,0}}, +/* 19508 */ {(11<<2)|2,{116,65,0}}, +/* 19509 */ {(11<<2)|2,{116,65,0}}, +/* 19510 */ {(11<<2)|2,{116,65,0}}, +/* 19511 */ {(11<<2)|2,{116,65,0}}, +/* 19512 */ {(11<<2)|2,{116,65,0}}, +/* 19513 */ {(11<<2)|2,{116,65,0}}, +/* 19514 */ {(11<<2)|2,{116,65,0}}, +/* 19515 */ {(11<<2)|2,{116,65,0}}, +/* 19516 */ {(11<<2)|2,{116,65,0}}, +/* 19517 */ {(11<<2)|2,{116,65,0}}, +/* 19518 */ {(11<<2)|2,{116,65,0}}, +/* 19519 */ {(11<<2)|2,{116,65,0}}, +/* 19520 */ {(16<<2)|3,{116,95,48}}, +/* 19521 */ {(16<<2)|3,{116,95,49}}, +/* 19522 */ {(16<<2)|3,{116,95,50}}, +/* 19523 */ {(16<<2)|3,{116,95,97}}, +/* 19524 */ {(16<<2)|3,{116,95,99}}, +/* 19525 */ {(16<<2)|3,{116,95,101}}, +/* 19526 */ {(16<<2)|3,{116,95,105}}, +/* 19527 */ {(16<<2)|3,{116,95,111}}, +/* 19528 */ {(16<<2)|3,{116,95,115}}, +/* 19529 */ {(16<<2)|3,{116,95,116}}, +/* 19530 */ {(11<<2)|2,{116,95,0}}, +/* 19531 */ {(11<<2)|2,{116,95,0}}, +/* 19532 */ {(11<<2)|2,{116,95,0}}, +/* 19533 */ {(11<<2)|2,{116,95,0}}, +/* 19534 */ {(11<<2)|2,{116,95,0}}, +/* 19535 */ {(11<<2)|2,{116,95,0}}, +/* 19536 */ {(11<<2)|2,{116,95,0}}, +/* 19537 */ {(11<<2)|2,{116,95,0}}, +/* 19538 */ {(11<<2)|2,{116,95,0}}, +/* 19539 */ {(11<<2)|2,{116,95,0}}, +/* 19540 */ {(11<<2)|2,{116,95,0}}, +/* 19541 */ {(11<<2)|2,{116,95,0}}, +/* 19542 */ {(11<<2)|2,{116,95,0}}, +/* 19543 */ {(11<<2)|2,{116,95,0}}, +/* 19544 */ {(11<<2)|2,{116,95,0}}, +/* 19545 */ {(11<<2)|2,{116,95,0}}, +/* 19546 */ {(11<<2)|2,{116,95,0}}, +/* 19547 */ {(11<<2)|2,{116,95,0}}, +/* 19548 */ {(11<<2)|2,{116,95,0}}, +/* 19549 */ {(11<<2)|2,{116,95,0}}, +/* 19550 */ {(11<<2)|2,{116,95,0}}, +/* 19551 */ {(11<<2)|2,{116,95,0}}, +/* 19552 */ {(16<<2)|3,{116,98,48}}, +/* 19553 */ {(16<<2)|3,{116,98,49}}, +/* 19554 */ {(16<<2)|3,{116,98,50}}, +/* 19555 */ {(16<<2)|3,{116,98,97}}, +/* 19556 */ {(16<<2)|3,{116,98,99}}, +/* 19557 */ {(16<<2)|3,{116,98,101}}, +/* 19558 */ {(16<<2)|3,{116,98,105}}, +/* 19559 */ {(16<<2)|3,{116,98,111}}, +/* 19560 */ {(16<<2)|3,{116,98,115}}, +/* 19561 */ {(16<<2)|3,{116,98,116}}, +/* 19562 */ {(11<<2)|2,{116,98,0}}, +/* 19563 */ {(11<<2)|2,{116,98,0}}, +/* 19564 */ {(11<<2)|2,{116,98,0}}, +/* 19565 */ {(11<<2)|2,{116,98,0}}, +/* 19566 */ {(11<<2)|2,{116,98,0}}, +/* 19567 */ {(11<<2)|2,{116,98,0}}, +/* 19568 */ {(11<<2)|2,{116,98,0}}, +/* 19569 */ {(11<<2)|2,{116,98,0}}, +/* 19570 */ {(11<<2)|2,{116,98,0}}, +/* 19571 */ {(11<<2)|2,{116,98,0}}, +/* 19572 */ {(11<<2)|2,{116,98,0}}, +/* 19573 */ {(11<<2)|2,{116,98,0}}, +/* 19574 */ {(11<<2)|2,{116,98,0}}, +/* 19575 */ {(11<<2)|2,{116,98,0}}, +/* 19576 */ {(11<<2)|2,{116,98,0}}, +/* 19577 */ {(11<<2)|2,{116,98,0}}, +/* 19578 */ {(11<<2)|2,{116,98,0}}, +/* 19579 */ {(11<<2)|2,{116,98,0}}, +/* 19580 */ {(11<<2)|2,{116,98,0}}, +/* 19581 */ {(11<<2)|2,{116,98,0}}, +/* 19582 */ {(11<<2)|2,{116,98,0}}, +/* 19583 */ {(11<<2)|2,{116,98,0}}, +/* 19584 */ {(16<<2)|3,{116,100,48}}, +/* 19585 */ {(16<<2)|3,{116,100,49}}, +/* 19586 */ {(16<<2)|3,{116,100,50}}, +/* 19587 */ {(16<<2)|3,{116,100,97}}, +/* 19588 */ {(16<<2)|3,{116,100,99}}, +/* 19589 */ {(16<<2)|3,{116,100,101}}, +/* 19590 */ {(16<<2)|3,{116,100,105}}, +/* 19591 */ {(16<<2)|3,{116,100,111}}, +/* 19592 */ {(16<<2)|3,{116,100,115}}, +/* 19593 */ {(16<<2)|3,{116,100,116}}, +/* 19594 */ {(11<<2)|2,{116,100,0}}, +/* 19595 */ {(11<<2)|2,{116,100,0}}, +/* 19596 */ {(11<<2)|2,{116,100,0}}, +/* 19597 */ {(11<<2)|2,{116,100,0}}, +/* 19598 */ {(11<<2)|2,{116,100,0}}, +/* 19599 */ {(11<<2)|2,{116,100,0}}, +/* 19600 */ {(11<<2)|2,{116,100,0}}, +/* 19601 */ {(11<<2)|2,{116,100,0}}, +/* 19602 */ {(11<<2)|2,{116,100,0}}, +/* 19603 */ {(11<<2)|2,{116,100,0}}, +/* 19604 */ {(11<<2)|2,{116,100,0}}, +/* 19605 */ {(11<<2)|2,{116,100,0}}, +/* 19606 */ {(11<<2)|2,{116,100,0}}, +/* 19607 */ {(11<<2)|2,{116,100,0}}, +/* 19608 */ {(11<<2)|2,{116,100,0}}, +/* 19609 */ {(11<<2)|2,{116,100,0}}, +/* 19610 */ {(11<<2)|2,{116,100,0}}, +/* 19611 */ {(11<<2)|2,{116,100,0}}, +/* 19612 */ {(11<<2)|2,{116,100,0}}, +/* 19613 */ {(11<<2)|2,{116,100,0}}, +/* 19614 */ {(11<<2)|2,{116,100,0}}, +/* 19615 */ {(11<<2)|2,{116,100,0}}, +/* 19616 */ {(16<<2)|3,{116,102,48}}, +/* 19617 */ {(16<<2)|3,{116,102,49}}, +/* 19618 */ {(16<<2)|3,{116,102,50}}, +/* 19619 */ {(16<<2)|3,{116,102,97}}, +/* 19620 */ {(16<<2)|3,{116,102,99}}, +/* 19621 */ {(16<<2)|3,{116,102,101}}, +/* 19622 */ {(16<<2)|3,{116,102,105}}, +/* 19623 */ {(16<<2)|3,{116,102,111}}, +/* 19624 */ {(16<<2)|3,{116,102,115}}, +/* 19625 */ {(16<<2)|3,{116,102,116}}, +/* 19626 */ {(11<<2)|2,{116,102,0}}, +/* 19627 */ {(11<<2)|2,{116,102,0}}, +/* 19628 */ {(11<<2)|2,{116,102,0}}, +/* 19629 */ {(11<<2)|2,{116,102,0}}, +/* 19630 */ {(11<<2)|2,{116,102,0}}, +/* 19631 */ {(11<<2)|2,{116,102,0}}, +/* 19632 */ {(11<<2)|2,{116,102,0}}, +/* 19633 */ {(11<<2)|2,{116,102,0}}, +/* 19634 */ {(11<<2)|2,{116,102,0}}, +/* 19635 */ {(11<<2)|2,{116,102,0}}, +/* 19636 */ {(11<<2)|2,{116,102,0}}, +/* 19637 */ {(11<<2)|2,{116,102,0}}, +/* 19638 */ {(11<<2)|2,{116,102,0}}, +/* 19639 */ {(11<<2)|2,{116,102,0}}, +/* 19640 */ {(11<<2)|2,{116,102,0}}, +/* 19641 */ {(11<<2)|2,{116,102,0}}, +/* 19642 */ {(11<<2)|2,{116,102,0}}, +/* 19643 */ {(11<<2)|2,{116,102,0}}, +/* 19644 */ {(11<<2)|2,{116,102,0}}, +/* 19645 */ {(11<<2)|2,{116,102,0}}, +/* 19646 */ {(11<<2)|2,{116,102,0}}, +/* 19647 */ {(11<<2)|2,{116,102,0}}, +/* 19648 */ {(16<<2)|3,{116,103,48}}, +/* 19649 */ {(16<<2)|3,{116,103,49}}, +/* 19650 */ {(16<<2)|3,{116,103,50}}, +/* 19651 */ {(16<<2)|3,{116,103,97}}, +/* 19652 */ {(16<<2)|3,{116,103,99}}, +/* 19653 */ {(16<<2)|3,{116,103,101}}, +/* 19654 */ {(16<<2)|3,{116,103,105}}, +/* 19655 */ {(16<<2)|3,{116,103,111}}, +/* 19656 */ {(16<<2)|3,{116,103,115}}, +/* 19657 */ {(16<<2)|3,{116,103,116}}, +/* 19658 */ {(11<<2)|2,{116,103,0}}, +/* 19659 */ {(11<<2)|2,{116,103,0}}, +/* 19660 */ {(11<<2)|2,{116,103,0}}, +/* 19661 */ {(11<<2)|2,{116,103,0}}, +/* 19662 */ {(11<<2)|2,{116,103,0}}, +/* 19663 */ {(11<<2)|2,{116,103,0}}, +/* 19664 */ {(11<<2)|2,{116,103,0}}, +/* 19665 */ {(11<<2)|2,{116,103,0}}, +/* 19666 */ {(11<<2)|2,{116,103,0}}, +/* 19667 */ {(11<<2)|2,{116,103,0}}, +/* 19668 */ {(11<<2)|2,{116,103,0}}, +/* 19669 */ {(11<<2)|2,{116,103,0}}, +/* 19670 */ {(11<<2)|2,{116,103,0}}, +/* 19671 */ {(11<<2)|2,{116,103,0}}, +/* 19672 */ {(11<<2)|2,{116,103,0}}, +/* 19673 */ {(11<<2)|2,{116,103,0}}, +/* 19674 */ {(11<<2)|2,{116,103,0}}, +/* 19675 */ {(11<<2)|2,{116,103,0}}, +/* 19676 */ {(11<<2)|2,{116,103,0}}, +/* 19677 */ {(11<<2)|2,{116,103,0}}, +/* 19678 */ {(11<<2)|2,{116,103,0}}, +/* 19679 */ {(11<<2)|2,{116,103,0}}, +/* 19680 */ {(16<<2)|3,{116,104,48}}, +/* 19681 */ {(16<<2)|3,{116,104,49}}, +/* 19682 */ {(16<<2)|3,{116,104,50}}, +/* 19683 */ {(16<<2)|3,{116,104,97}}, +/* 19684 */ {(16<<2)|3,{116,104,99}}, +/* 19685 */ {(16<<2)|3,{116,104,101}}, +/* 19686 */ {(16<<2)|3,{116,104,105}}, +/* 19687 */ {(16<<2)|3,{116,104,111}}, +/* 19688 */ {(16<<2)|3,{116,104,115}}, +/* 19689 */ {(16<<2)|3,{116,104,116}}, +/* 19690 */ {(11<<2)|2,{116,104,0}}, +/* 19691 */ {(11<<2)|2,{116,104,0}}, +/* 19692 */ {(11<<2)|2,{116,104,0}}, +/* 19693 */ {(11<<2)|2,{116,104,0}}, +/* 19694 */ {(11<<2)|2,{116,104,0}}, +/* 19695 */ {(11<<2)|2,{116,104,0}}, +/* 19696 */ {(11<<2)|2,{116,104,0}}, +/* 19697 */ {(11<<2)|2,{116,104,0}}, +/* 19698 */ {(11<<2)|2,{116,104,0}}, +/* 19699 */ {(11<<2)|2,{116,104,0}}, +/* 19700 */ {(11<<2)|2,{116,104,0}}, +/* 19701 */ {(11<<2)|2,{116,104,0}}, +/* 19702 */ {(11<<2)|2,{116,104,0}}, +/* 19703 */ {(11<<2)|2,{116,104,0}}, +/* 19704 */ {(11<<2)|2,{116,104,0}}, +/* 19705 */ {(11<<2)|2,{116,104,0}}, +/* 19706 */ {(11<<2)|2,{116,104,0}}, +/* 19707 */ {(11<<2)|2,{116,104,0}}, +/* 19708 */ {(11<<2)|2,{116,104,0}}, +/* 19709 */ {(11<<2)|2,{116,104,0}}, +/* 19710 */ {(11<<2)|2,{116,104,0}}, +/* 19711 */ {(11<<2)|2,{116,104,0}}, +/* 19712 */ {(16<<2)|3,{116,108,48}}, +/* 19713 */ {(16<<2)|3,{116,108,49}}, +/* 19714 */ {(16<<2)|3,{116,108,50}}, +/* 19715 */ {(16<<2)|3,{116,108,97}}, +/* 19716 */ {(16<<2)|3,{116,108,99}}, +/* 19717 */ {(16<<2)|3,{116,108,101}}, +/* 19718 */ {(16<<2)|3,{116,108,105}}, +/* 19719 */ {(16<<2)|3,{116,108,111}}, +/* 19720 */ {(16<<2)|3,{116,108,115}}, +/* 19721 */ {(16<<2)|3,{116,108,116}}, +/* 19722 */ {(11<<2)|2,{116,108,0}}, +/* 19723 */ {(11<<2)|2,{116,108,0}}, +/* 19724 */ {(11<<2)|2,{116,108,0}}, +/* 19725 */ {(11<<2)|2,{116,108,0}}, +/* 19726 */ {(11<<2)|2,{116,108,0}}, +/* 19727 */ {(11<<2)|2,{116,108,0}}, +/* 19728 */ {(11<<2)|2,{116,108,0}}, +/* 19729 */ {(11<<2)|2,{116,108,0}}, +/* 19730 */ {(11<<2)|2,{116,108,0}}, +/* 19731 */ {(11<<2)|2,{116,108,0}}, +/* 19732 */ {(11<<2)|2,{116,108,0}}, +/* 19733 */ {(11<<2)|2,{116,108,0}}, +/* 19734 */ {(11<<2)|2,{116,108,0}}, +/* 19735 */ {(11<<2)|2,{116,108,0}}, +/* 19736 */ {(11<<2)|2,{116,108,0}}, +/* 19737 */ {(11<<2)|2,{116,108,0}}, +/* 19738 */ {(11<<2)|2,{116,108,0}}, +/* 19739 */ {(11<<2)|2,{116,108,0}}, +/* 19740 */ {(11<<2)|2,{116,108,0}}, +/* 19741 */ {(11<<2)|2,{116,108,0}}, +/* 19742 */ {(11<<2)|2,{116,108,0}}, +/* 19743 */ {(11<<2)|2,{116,108,0}}, +/* 19744 */ {(16<<2)|3,{116,109,48}}, +/* 19745 */ {(16<<2)|3,{116,109,49}}, +/* 19746 */ {(16<<2)|3,{116,109,50}}, +/* 19747 */ {(16<<2)|3,{116,109,97}}, +/* 19748 */ {(16<<2)|3,{116,109,99}}, +/* 19749 */ {(16<<2)|3,{116,109,101}}, +/* 19750 */ {(16<<2)|3,{116,109,105}}, +/* 19751 */ {(16<<2)|3,{116,109,111}}, +/* 19752 */ {(16<<2)|3,{116,109,115}}, +/* 19753 */ {(16<<2)|3,{116,109,116}}, +/* 19754 */ {(11<<2)|2,{116,109,0}}, +/* 19755 */ {(11<<2)|2,{116,109,0}}, +/* 19756 */ {(11<<2)|2,{116,109,0}}, +/* 19757 */ {(11<<2)|2,{116,109,0}}, +/* 19758 */ {(11<<2)|2,{116,109,0}}, +/* 19759 */ {(11<<2)|2,{116,109,0}}, +/* 19760 */ {(11<<2)|2,{116,109,0}}, +/* 19761 */ {(11<<2)|2,{116,109,0}}, +/* 19762 */ {(11<<2)|2,{116,109,0}}, +/* 19763 */ {(11<<2)|2,{116,109,0}}, +/* 19764 */ {(11<<2)|2,{116,109,0}}, +/* 19765 */ {(11<<2)|2,{116,109,0}}, +/* 19766 */ {(11<<2)|2,{116,109,0}}, +/* 19767 */ {(11<<2)|2,{116,109,0}}, +/* 19768 */ {(11<<2)|2,{116,109,0}}, +/* 19769 */ {(11<<2)|2,{116,109,0}}, +/* 19770 */ {(11<<2)|2,{116,109,0}}, +/* 19771 */ {(11<<2)|2,{116,109,0}}, +/* 19772 */ {(11<<2)|2,{116,109,0}}, +/* 19773 */ {(11<<2)|2,{116,109,0}}, +/* 19774 */ {(11<<2)|2,{116,109,0}}, +/* 19775 */ {(11<<2)|2,{116,109,0}}, +/* 19776 */ {(16<<2)|3,{116,110,48}}, +/* 19777 */ {(16<<2)|3,{116,110,49}}, +/* 19778 */ {(16<<2)|3,{116,110,50}}, +/* 19779 */ {(16<<2)|3,{116,110,97}}, +/* 19780 */ {(16<<2)|3,{116,110,99}}, +/* 19781 */ {(16<<2)|3,{116,110,101}}, +/* 19782 */ {(16<<2)|3,{116,110,105}}, +/* 19783 */ {(16<<2)|3,{116,110,111}}, +/* 19784 */ {(16<<2)|3,{116,110,115}}, +/* 19785 */ {(16<<2)|3,{116,110,116}}, +/* 19786 */ {(11<<2)|2,{116,110,0}}, +/* 19787 */ {(11<<2)|2,{116,110,0}}, +/* 19788 */ {(11<<2)|2,{116,110,0}}, +/* 19789 */ {(11<<2)|2,{116,110,0}}, +/* 19790 */ {(11<<2)|2,{116,110,0}}, +/* 19791 */ {(11<<2)|2,{116,110,0}}, +/* 19792 */ {(11<<2)|2,{116,110,0}}, +/* 19793 */ {(11<<2)|2,{116,110,0}}, +/* 19794 */ {(11<<2)|2,{116,110,0}}, +/* 19795 */ {(11<<2)|2,{116,110,0}}, +/* 19796 */ {(11<<2)|2,{116,110,0}}, +/* 19797 */ {(11<<2)|2,{116,110,0}}, +/* 19798 */ {(11<<2)|2,{116,110,0}}, +/* 19799 */ {(11<<2)|2,{116,110,0}}, +/* 19800 */ {(11<<2)|2,{116,110,0}}, +/* 19801 */ {(11<<2)|2,{116,110,0}}, +/* 19802 */ {(11<<2)|2,{116,110,0}}, +/* 19803 */ {(11<<2)|2,{116,110,0}}, +/* 19804 */ {(11<<2)|2,{116,110,0}}, +/* 19805 */ {(11<<2)|2,{116,110,0}}, +/* 19806 */ {(11<<2)|2,{116,110,0}}, +/* 19807 */ {(11<<2)|2,{116,110,0}}, +/* 19808 */ {(16<<2)|3,{116,112,48}}, +/* 19809 */ {(16<<2)|3,{116,112,49}}, +/* 19810 */ {(16<<2)|3,{116,112,50}}, +/* 19811 */ {(16<<2)|3,{116,112,97}}, +/* 19812 */ {(16<<2)|3,{116,112,99}}, +/* 19813 */ {(16<<2)|3,{116,112,101}}, +/* 19814 */ {(16<<2)|3,{116,112,105}}, +/* 19815 */ {(16<<2)|3,{116,112,111}}, +/* 19816 */ {(16<<2)|3,{116,112,115}}, +/* 19817 */ {(16<<2)|3,{116,112,116}}, +/* 19818 */ {(11<<2)|2,{116,112,0}}, +/* 19819 */ {(11<<2)|2,{116,112,0}}, +/* 19820 */ {(11<<2)|2,{116,112,0}}, +/* 19821 */ {(11<<2)|2,{116,112,0}}, +/* 19822 */ {(11<<2)|2,{116,112,0}}, +/* 19823 */ {(11<<2)|2,{116,112,0}}, +/* 19824 */ {(11<<2)|2,{116,112,0}}, +/* 19825 */ {(11<<2)|2,{116,112,0}}, +/* 19826 */ {(11<<2)|2,{116,112,0}}, +/* 19827 */ {(11<<2)|2,{116,112,0}}, +/* 19828 */ {(11<<2)|2,{116,112,0}}, +/* 19829 */ {(11<<2)|2,{116,112,0}}, +/* 19830 */ {(11<<2)|2,{116,112,0}}, +/* 19831 */ {(11<<2)|2,{116,112,0}}, +/* 19832 */ {(11<<2)|2,{116,112,0}}, +/* 19833 */ {(11<<2)|2,{116,112,0}}, +/* 19834 */ {(11<<2)|2,{116,112,0}}, +/* 19835 */ {(11<<2)|2,{116,112,0}}, +/* 19836 */ {(11<<2)|2,{116,112,0}}, +/* 19837 */ {(11<<2)|2,{116,112,0}}, +/* 19838 */ {(11<<2)|2,{116,112,0}}, +/* 19839 */ {(11<<2)|2,{116,112,0}}, +/* 19840 */ {(16<<2)|3,{116,114,48}}, +/* 19841 */ {(16<<2)|3,{116,114,49}}, +/* 19842 */ {(16<<2)|3,{116,114,50}}, +/* 19843 */ {(16<<2)|3,{116,114,97}}, +/* 19844 */ {(16<<2)|3,{116,114,99}}, +/* 19845 */ {(16<<2)|3,{116,114,101}}, +/* 19846 */ {(16<<2)|3,{116,114,105}}, +/* 19847 */ {(16<<2)|3,{116,114,111}}, +/* 19848 */ {(16<<2)|3,{116,114,115}}, +/* 19849 */ {(16<<2)|3,{116,114,116}}, +/* 19850 */ {(11<<2)|2,{116,114,0}}, +/* 19851 */ {(11<<2)|2,{116,114,0}}, +/* 19852 */ {(11<<2)|2,{116,114,0}}, +/* 19853 */ {(11<<2)|2,{116,114,0}}, +/* 19854 */ {(11<<2)|2,{116,114,0}}, +/* 19855 */ {(11<<2)|2,{116,114,0}}, +/* 19856 */ {(11<<2)|2,{116,114,0}}, +/* 19857 */ {(11<<2)|2,{116,114,0}}, +/* 19858 */ {(11<<2)|2,{116,114,0}}, +/* 19859 */ {(11<<2)|2,{116,114,0}}, +/* 19860 */ {(11<<2)|2,{116,114,0}}, +/* 19861 */ {(11<<2)|2,{116,114,0}}, +/* 19862 */ {(11<<2)|2,{116,114,0}}, +/* 19863 */ {(11<<2)|2,{116,114,0}}, +/* 19864 */ {(11<<2)|2,{116,114,0}}, +/* 19865 */ {(11<<2)|2,{116,114,0}}, +/* 19866 */ {(11<<2)|2,{116,114,0}}, +/* 19867 */ {(11<<2)|2,{116,114,0}}, +/* 19868 */ {(11<<2)|2,{116,114,0}}, +/* 19869 */ {(11<<2)|2,{116,114,0}}, +/* 19870 */ {(11<<2)|2,{116,114,0}}, +/* 19871 */ {(11<<2)|2,{116,114,0}}, +/* 19872 */ {(16<<2)|3,{116,117,48}}, +/* 19873 */ {(16<<2)|3,{116,117,49}}, +/* 19874 */ {(16<<2)|3,{116,117,50}}, +/* 19875 */ {(16<<2)|3,{116,117,97}}, +/* 19876 */ {(16<<2)|3,{116,117,99}}, +/* 19877 */ {(16<<2)|3,{116,117,101}}, +/* 19878 */ {(16<<2)|3,{116,117,105}}, +/* 19879 */ {(16<<2)|3,{116,117,111}}, +/* 19880 */ {(16<<2)|3,{116,117,115}}, +/* 19881 */ {(16<<2)|3,{116,117,116}}, +/* 19882 */ {(11<<2)|2,{116,117,0}}, +/* 19883 */ {(11<<2)|2,{116,117,0}}, +/* 19884 */ {(11<<2)|2,{116,117,0}}, +/* 19885 */ {(11<<2)|2,{116,117,0}}, +/* 19886 */ {(11<<2)|2,{116,117,0}}, +/* 19887 */ {(11<<2)|2,{116,117,0}}, +/* 19888 */ {(11<<2)|2,{116,117,0}}, +/* 19889 */ {(11<<2)|2,{116,117,0}}, +/* 19890 */ {(11<<2)|2,{116,117,0}}, +/* 19891 */ {(11<<2)|2,{116,117,0}}, +/* 19892 */ {(11<<2)|2,{116,117,0}}, +/* 19893 */ {(11<<2)|2,{116,117,0}}, +/* 19894 */ {(11<<2)|2,{116,117,0}}, +/* 19895 */ {(11<<2)|2,{116,117,0}}, +/* 19896 */ {(11<<2)|2,{116,117,0}}, +/* 19897 */ {(11<<2)|2,{116,117,0}}, +/* 19898 */ {(11<<2)|2,{116,117,0}}, +/* 19899 */ {(11<<2)|2,{116,117,0}}, +/* 19900 */ {(11<<2)|2,{116,117,0}}, +/* 19901 */ {(11<<2)|2,{116,117,0}}, +/* 19902 */ {(11<<2)|2,{116,117,0}}, +/* 19903 */ {(11<<2)|2,{116,117,0}}, +/* 19904 */ {(12<<2)|2,{116,58,0}}, +/* 19905 */ {(12<<2)|2,{116,58,0}}, +/* 19906 */ {(12<<2)|2,{116,58,0}}, +/* 19907 */ {(12<<2)|2,{116,58,0}}, +/* 19908 */ {(12<<2)|2,{116,58,0}}, +/* 19909 */ {(12<<2)|2,{116,58,0}}, +/* 19910 */ {(12<<2)|2,{116,58,0}}, +/* 19911 */ {(12<<2)|2,{116,58,0}}, +/* 19912 */ {(12<<2)|2,{116,58,0}}, +/* 19913 */ {(12<<2)|2,{116,58,0}}, +/* 19914 */ {(12<<2)|2,{116,58,0}}, +/* 19915 */ {(12<<2)|2,{116,58,0}}, +/* 19916 */ {(12<<2)|2,{116,58,0}}, +/* 19917 */ {(12<<2)|2,{116,58,0}}, +/* 19918 */ {(12<<2)|2,{116,58,0}}, +/* 19919 */ {(12<<2)|2,{116,58,0}}, +/* 19920 */ {(12<<2)|2,{116,66,0}}, +/* 19921 */ {(12<<2)|2,{116,66,0}}, +/* 19922 */ {(12<<2)|2,{116,66,0}}, +/* 19923 */ {(12<<2)|2,{116,66,0}}, +/* 19924 */ {(12<<2)|2,{116,66,0}}, +/* 19925 */ {(12<<2)|2,{116,66,0}}, +/* 19926 */ {(12<<2)|2,{116,66,0}}, +/* 19927 */ {(12<<2)|2,{116,66,0}}, +/* 19928 */ {(12<<2)|2,{116,66,0}}, +/* 19929 */ {(12<<2)|2,{116,66,0}}, +/* 19930 */ {(12<<2)|2,{116,66,0}}, +/* 19931 */ {(12<<2)|2,{116,66,0}}, +/* 19932 */ {(12<<2)|2,{116,66,0}}, +/* 19933 */ {(12<<2)|2,{116,66,0}}, +/* 19934 */ {(12<<2)|2,{116,66,0}}, +/* 19935 */ {(12<<2)|2,{116,66,0}}, +/* 19936 */ {(12<<2)|2,{116,67,0}}, +/* 19937 */ {(12<<2)|2,{116,67,0}}, +/* 19938 */ {(12<<2)|2,{116,67,0}}, +/* 19939 */ {(12<<2)|2,{116,67,0}}, +/* 19940 */ {(12<<2)|2,{116,67,0}}, +/* 19941 */ {(12<<2)|2,{116,67,0}}, +/* 19942 */ {(12<<2)|2,{116,67,0}}, +/* 19943 */ {(12<<2)|2,{116,67,0}}, +/* 19944 */ {(12<<2)|2,{116,67,0}}, +/* 19945 */ {(12<<2)|2,{116,67,0}}, +/* 19946 */ {(12<<2)|2,{116,67,0}}, +/* 19947 */ {(12<<2)|2,{116,67,0}}, +/* 19948 */ {(12<<2)|2,{116,67,0}}, +/* 19949 */ {(12<<2)|2,{116,67,0}}, +/* 19950 */ {(12<<2)|2,{116,67,0}}, +/* 19951 */ {(12<<2)|2,{116,67,0}}, +/* 19952 */ {(12<<2)|2,{116,68,0}}, +/* 19953 */ {(12<<2)|2,{116,68,0}}, +/* 19954 */ {(12<<2)|2,{116,68,0}}, +/* 19955 */ {(12<<2)|2,{116,68,0}}, +/* 19956 */ {(12<<2)|2,{116,68,0}}, +/* 19957 */ {(12<<2)|2,{116,68,0}}, +/* 19958 */ {(12<<2)|2,{116,68,0}}, +/* 19959 */ {(12<<2)|2,{116,68,0}}, +/* 19960 */ {(12<<2)|2,{116,68,0}}, +/* 19961 */ {(12<<2)|2,{116,68,0}}, +/* 19962 */ {(12<<2)|2,{116,68,0}}, +/* 19963 */ {(12<<2)|2,{116,68,0}}, +/* 19964 */ {(12<<2)|2,{116,68,0}}, +/* 19965 */ {(12<<2)|2,{116,68,0}}, +/* 19966 */ {(12<<2)|2,{116,68,0}}, +/* 19967 */ {(12<<2)|2,{116,68,0}}, +/* 19968 */ {(12<<2)|2,{116,69,0}}, +/* 19969 */ {(12<<2)|2,{116,69,0}}, +/* 19970 */ {(12<<2)|2,{116,69,0}}, +/* 19971 */ {(12<<2)|2,{116,69,0}}, +/* 19972 */ {(12<<2)|2,{116,69,0}}, +/* 19973 */ {(12<<2)|2,{116,69,0}}, +/* 19974 */ {(12<<2)|2,{116,69,0}}, +/* 19975 */ {(12<<2)|2,{116,69,0}}, +/* 19976 */ {(12<<2)|2,{116,69,0}}, +/* 19977 */ {(12<<2)|2,{116,69,0}}, +/* 19978 */ {(12<<2)|2,{116,69,0}}, +/* 19979 */ {(12<<2)|2,{116,69,0}}, +/* 19980 */ {(12<<2)|2,{116,69,0}}, +/* 19981 */ {(12<<2)|2,{116,69,0}}, +/* 19982 */ {(12<<2)|2,{116,69,0}}, +/* 19983 */ {(12<<2)|2,{116,69,0}}, +/* 19984 */ {(12<<2)|2,{116,70,0}}, +/* 19985 */ {(12<<2)|2,{116,70,0}}, +/* 19986 */ {(12<<2)|2,{116,70,0}}, +/* 19987 */ {(12<<2)|2,{116,70,0}}, +/* 19988 */ {(12<<2)|2,{116,70,0}}, +/* 19989 */ {(12<<2)|2,{116,70,0}}, +/* 19990 */ {(12<<2)|2,{116,70,0}}, +/* 19991 */ {(12<<2)|2,{116,70,0}}, +/* 19992 */ {(12<<2)|2,{116,70,0}}, +/* 19993 */ {(12<<2)|2,{116,70,0}}, +/* 19994 */ {(12<<2)|2,{116,70,0}}, +/* 19995 */ {(12<<2)|2,{116,70,0}}, +/* 19996 */ {(12<<2)|2,{116,70,0}}, +/* 19997 */ {(12<<2)|2,{116,70,0}}, +/* 19998 */ {(12<<2)|2,{116,70,0}}, +/* 19999 */ {(12<<2)|2,{116,70,0}}, +/* 20000 */ {(12<<2)|2,{116,71,0}}, +/* 20001 */ {(12<<2)|2,{116,71,0}}, +/* 20002 */ {(12<<2)|2,{116,71,0}}, +/* 20003 */ {(12<<2)|2,{116,71,0}}, +/* 20004 */ {(12<<2)|2,{116,71,0}}, +/* 20005 */ {(12<<2)|2,{116,71,0}}, +/* 20006 */ {(12<<2)|2,{116,71,0}}, +/* 20007 */ {(12<<2)|2,{116,71,0}}, +/* 20008 */ {(12<<2)|2,{116,71,0}}, +/* 20009 */ {(12<<2)|2,{116,71,0}}, +/* 20010 */ {(12<<2)|2,{116,71,0}}, +/* 20011 */ {(12<<2)|2,{116,71,0}}, +/* 20012 */ {(12<<2)|2,{116,71,0}}, +/* 20013 */ {(12<<2)|2,{116,71,0}}, +/* 20014 */ {(12<<2)|2,{116,71,0}}, +/* 20015 */ {(12<<2)|2,{116,71,0}}, +/* 20016 */ {(12<<2)|2,{116,72,0}}, +/* 20017 */ {(12<<2)|2,{116,72,0}}, +/* 20018 */ {(12<<2)|2,{116,72,0}}, +/* 20019 */ {(12<<2)|2,{116,72,0}}, +/* 20020 */ {(12<<2)|2,{116,72,0}}, +/* 20021 */ {(12<<2)|2,{116,72,0}}, +/* 20022 */ {(12<<2)|2,{116,72,0}}, +/* 20023 */ {(12<<2)|2,{116,72,0}}, +/* 20024 */ {(12<<2)|2,{116,72,0}}, +/* 20025 */ {(12<<2)|2,{116,72,0}}, +/* 20026 */ {(12<<2)|2,{116,72,0}}, +/* 20027 */ {(12<<2)|2,{116,72,0}}, +/* 20028 */ {(12<<2)|2,{116,72,0}}, +/* 20029 */ {(12<<2)|2,{116,72,0}}, +/* 20030 */ {(12<<2)|2,{116,72,0}}, +/* 20031 */ {(12<<2)|2,{116,72,0}}, +/* 20032 */ {(12<<2)|2,{116,73,0}}, +/* 20033 */ {(12<<2)|2,{116,73,0}}, +/* 20034 */ {(12<<2)|2,{116,73,0}}, +/* 20035 */ {(12<<2)|2,{116,73,0}}, +/* 20036 */ {(12<<2)|2,{116,73,0}}, +/* 20037 */ {(12<<2)|2,{116,73,0}}, +/* 20038 */ {(12<<2)|2,{116,73,0}}, +/* 20039 */ {(12<<2)|2,{116,73,0}}, +/* 20040 */ {(12<<2)|2,{116,73,0}}, +/* 20041 */ {(12<<2)|2,{116,73,0}}, +/* 20042 */ {(12<<2)|2,{116,73,0}}, +/* 20043 */ {(12<<2)|2,{116,73,0}}, +/* 20044 */ {(12<<2)|2,{116,73,0}}, +/* 20045 */ {(12<<2)|2,{116,73,0}}, +/* 20046 */ {(12<<2)|2,{116,73,0}}, +/* 20047 */ {(12<<2)|2,{116,73,0}}, +/* 20048 */ {(12<<2)|2,{116,74,0}}, +/* 20049 */ {(12<<2)|2,{116,74,0}}, +/* 20050 */ {(12<<2)|2,{116,74,0}}, +/* 20051 */ {(12<<2)|2,{116,74,0}}, +/* 20052 */ {(12<<2)|2,{116,74,0}}, +/* 20053 */ {(12<<2)|2,{116,74,0}}, +/* 20054 */ {(12<<2)|2,{116,74,0}}, +/* 20055 */ {(12<<2)|2,{116,74,0}}, +/* 20056 */ {(12<<2)|2,{116,74,0}}, +/* 20057 */ {(12<<2)|2,{116,74,0}}, +/* 20058 */ {(12<<2)|2,{116,74,0}}, +/* 20059 */ {(12<<2)|2,{116,74,0}}, +/* 20060 */ {(12<<2)|2,{116,74,0}}, +/* 20061 */ {(12<<2)|2,{116,74,0}}, +/* 20062 */ {(12<<2)|2,{116,74,0}}, +/* 20063 */ {(12<<2)|2,{116,74,0}}, +/* 20064 */ {(12<<2)|2,{116,75,0}}, +/* 20065 */ {(12<<2)|2,{116,75,0}}, +/* 20066 */ {(12<<2)|2,{116,75,0}}, +/* 20067 */ {(12<<2)|2,{116,75,0}}, +/* 20068 */ {(12<<2)|2,{116,75,0}}, +/* 20069 */ {(12<<2)|2,{116,75,0}}, +/* 20070 */ {(12<<2)|2,{116,75,0}}, +/* 20071 */ {(12<<2)|2,{116,75,0}}, +/* 20072 */ {(12<<2)|2,{116,75,0}}, +/* 20073 */ {(12<<2)|2,{116,75,0}}, +/* 20074 */ {(12<<2)|2,{116,75,0}}, +/* 20075 */ {(12<<2)|2,{116,75,0}}, +/* 20076 */ {(12<<2)|2,{116,75,0}}, +/* 20077 */ {(12<<2)|2,{116,75,0}}, +/* 20078 */ {(12<<2)|2,{116,75,0}}, +/* 20079 */ {(12<<2)|2,{116,75,0}}, +/* 20080 */ {(12<<2)|2,{116,76,0}}, +/* 20081 */ {(12<<2)|2,{116,76,0}}, +/* 20082 */ {(12<<2)|2,{116,76,0}}, +/* 20083 */ {(12<<2)|2,{116,76,0}}, +/* 20084 */ {(12<<2)|2,{116,76,0}}, +/* 20085 */ {(12<<2)|2,{116,76,0}}, +/* 20086 */ {(12<<2)|2,{116,76,0}}, +/* 20087 */ {(12<<2)|2,{116,76,0}}, +/* 20088 */ {(12<<2)|2,{116,76,0}}, +/* 20089 */ {(12<<2)|2,{116,76,0}}, +/* 20090 */ {(12<<2)|2,{116,76,0}}, +/* 20091 */ {(12<<2)|2,{116,76,0}}, +/* 20092 */ {(12<<2)|2,{116,76,0}}, +/* 20093 */ {(12<<2)|2,{116,76,0}}, +/* 20094 */ {(12<<2)|2,{116,76,0}}, +/* 20095 */ {(12<<2)|2,{116,76,0}}, +/* 20096 */ {(12<<2)|2,{116,77,0}}, +/* 20097 */ {(12<<2)|2,{116,77,0}}, +/* 20098 */ {(12<<2)|2,{116,77,0}}, +/* 20099 */ {(12<<2)|2,{116,77,0}}, +/* 20100 */ {(12<<2)|2,{116,77,0}}, +/* 20101 */ {(12<<2)|2,{116,77,0}}, +/* 20102 */ {(12<<2)|2,{116,77,0}}, +/* 20103 */ {(12<<2)|2,{116,77,0}}, +/* 20104 */ {(12<<2)|2,{116,77,0}}, +/* 20105 */ {(12<<2)|2,{116,77,0}}, +/* 20106 */ {(12<<2)|2,{116,77,0}}, +/* 20107 */ {(12<<2)|2,{116,77,0}}, +/* 20108 */ {(12<<2)|2,{116,77,0}}, +/* 20109 */ {(12<<2)|2,{116,77,0}}, +/* 20110 */ {(12<<2)|2,{116,77,0}}, +/* 20111 */ {(12<<2)|2,{116,77,0}}, +/* 20112 */ {(12<<2)|2,{116,78,0}}, +/* 20113 */ {(12<<2)|2,{116,78,0}}, +/* 20114 */ {(12<<2)|2,{116,78,0}}, +/* 20115 */ {(12<<2)|2,{116,78,0}}, +/* 20116 */ {(12<<2)|2,{116,78,0}}, +/* 20117 */ {(12<<2)|2,{116,78,0}}, +/* 20118 */ {(12<<2)|2,{116,78,0}}, +/* 20119 */ {(12<<2)|2,{116,78,0}}, +/* 20120 */ {(12<<2)|2,{116,78,0}}, +/* 20121 */ {(12<<2)|2,{116,78,0}}, +/* 20122 */ {(12<<2)|2,{116,78,0}}, +/* 20123 */ {(12<<2)|2,{116,78,0}}, +/* 20124 */ {(12<<2)|2,{116,78,0}}, +/* 20125 */ {(12<<2)|2,{116,78,0}}, +/* 20126 */ {(12<<2)|2,{116,78,0}}, +/* 20127 */ {(12<<2)|2,{116,78,0}}, +/* 20128 */ {(12<<2)|2,{116,79,0}}, +/* 20129 */ {(12<<2)|2,{116,79,0}}, +/* 20130 */ {(12<<2)|2,{116,79,0}}, +/* 20131 */ {(12<<2)|2,{116,79,0}}, +/* 20132 */ {(12<<2)|2,{116,79,0}}, +/* 20133 */ {(12<<2)|2,{116,79,0}}, +/* 20134 */ {(12<<2)|2,{116,79,0}}, +/* 20135 */ {(12<<2)|2,{116,79,0}}, +/* 20136 */ {(12<<2)|2,{116,79,0}}, +/* 20137 */ {(12<<2)|2,{116,79,0}}, +/* 20138 */ {(12<<2)|2,{116,79,0}}, +/* 20139 */ {(12<<2)|2,{116,79,0}}, +/* 20140 */ {(12<<2)|2,{116,79,0}}, +/* 20141 */ {(12<<2)|2,{116,79,0}}, +/* 20142 */ {(12<<2)|2,{116,79,0}}, +/* 20143 */ {(12<<2)|2,{116,79,0}}, +/* 20144 */ {(12<<2)|2,{116,80,0}}, +/* 20145 */ {(12<<2)|2,{116,80,0}}, +/* 20146 */ {(12<<2)|2,{116,80,0}}, +/* 20147 */ {(12<<2)|2,{116,80,0}}, +/* 20148 */ {(12<<2)|2,{116,80,0}}, +/* 20149 */ {(12<<2)|2,{116,80,0}}, +/* 20150 */ {(12<<2)|2,{116,80,0}}, +/* 20151 */ {(12<<2)|2,{116,80,0}}, +/* 20152 */ {(12<<2)|2,{116,80,0}}, +/* 20153 */ {(12<<2)|2,{116,80,0}}, +/* 20154 */ {(12<<2)|2,{116,80,0}}, +/* 20155 */ {(12<<2)|2,{116,80,0}}, +/* 20156 */ {(12<<2)|2,{116,80,0}}, +/* 20157 */ {(12<<2)|2,{116,80,0}}, +/* 20158 */ {(12<<2)|2,{116,80,0}}, +/* 20159 */ {(12<<2)|2,{116,80,0}}, +/* 20160 */ {(12<<2)|2,{116,81,0}}, +/* 20161 */ {(12<<2)|2,{116,81,0}}, +/* 20162 */ {(12<<2)|2,{116,81,0}}, +/* 20163 */ {(12<<2)|2,{116,81,0}}, +/* 20164 */ {(12<<2)|2,{116,81,0}}, +/* 20165 */ {(12<<2)|2,{116,81,0}}, +/* 20166 */ {(12<<2)|2,{116,81,0}}, +/* 20167 */ {(12<<2)|2,{116,81,0}}, +/* 20168 */ {(12<<2)|2,{116,81,0}}, +/* 20169 */ {(12<<2)|2,{116,81,0}}, +/* 20170 */ {(12<<2)|2,{116,81,0}}, +/* 20171 */ {(12<<2)|2,{116,81,0}}, +/* 20172 */ {(12<<2)|2,{116,81,0}}, +/* 20173 */ {(12<<2)|2,{116,81,0}}, +/* 20174 */ {(12<<2)|2,{116,81,0}}, +/* 20175 */ {(12<<2)|2,{116,81,0}}, +/* 20176 */ {(12<<2)|2,{116,82,0}}, +/* 20177 */ {(12<<2)|2,{116,82,0}}, +/* 20178 */ {(12<<2)|2,{116,82,0}}, +/* 20179 */ {(12<<2)|2,{116,82,0}}, +/* 20180 */ {(12<<2)|2,{116,82,0}}, +/* 20181 */ {(12<<2)|2,{116,82,0}}, +/* 20182 */ {(12<<2)|2,{116,82,0}}, +/* 20183 */ {(12<<2)|2,{116,82,0}}, +/* 20184 */ {(12<<2)|2,{116,82,0}}, +/* 20185 */ {(12<<2)|2,{116,82,0}}, +/* 20186 */ {(12<<2)|2,{116,82,0}}, +/* 20187 */ {(12<<2)|2,{116,82,0}}, +/* 20188 */ {(12<<2)|2,{116,82,0}}, +/* 20189 */ {(12<<2)|2,{116,82,0}}, +/* 20190 */ {(12<<2)|2,{116,82,0}}, +/* 20191 */ {(12<<2)|2,{116,82,0}}, +/* 20192 */ {(12<<2)|2,{116,83,0}}, +/* 20193 */ {(12<<2)|2,{116,83,0}}, +/* 20194 */ {(12<<2)|2,{116,83,0}}, +/* 20195 */ {(12<<2)|2,{116,83,0}}, +/* 20196 */ {(12<<2)|2,{116,83,0}}, +/* 20197 */ {(12<<2)|2,{116,83,0}}, +/* 20198 */ {(12<<2)|2,{116,83,0}}, +/* 20199 */ {(12<<2)|2,{116,83,0}}, +/* 20200 */ {(12<<2)|2,{116,83,0}}, +/* 20201 */ {(12<<2)|2,{116,83,0}}, +/* 20202 */ {(12<<2)|2,{116,83,0}}, +/* 20203 */ {(12<<2)|2,{116,83,0}}, +/* 20204 */ {(12<<2)|2,{116,83,0}}, +/* 20205 */ {(12<<2)|2,{116,83,0}}, +/* 20206 */ {(12<<2)|2,{116,83,0}}, +/* 20207 */ {(12<<2)|2,{116,83,0}}, +/* 20208 */ {(12<<2)|2,{116,84,0}}, +/* 20209 */ {(12<<2)|2,{116,84,0}}, +/* 20210 */ {(12<<2)|2,{116,84,0}}, +/* 20211 */ {(12<<2)|2,{116,84,0}}, +/* 20212 */ {(12<<2)|2,{116,84,0}}, +/* 20213 */ {(12<<2)|2,{116,84,0}}, +/* 20214 */ {(12<<2)|2,{116,84,0}}, +/* 20215 */ {(12<<2)|2,{116,84,0}}, +/* 20216 */ {(12<<2)|2,{116,84,0}}, +/* 20217 */ {(12<<2)|2,{116,84,0}}, +/* 20218 */ {(12<<2)|2,{116,84,0}}, +/* 20219 */ {(12<<2)|2,{116,84,0}}, +/* 20220 */ {(12<<2)|2,{116,84,0}}, +/* 20221 */ {(12<<2)|2,{116,84,0}}, +/* 20222 */ {(12<<2)|2,{116,84,0}}, +/* 20223 */ {(12<<2)|2,{116,84,0}}, +/* 20224 */ {(12<<2)|2,{116,85,0}}, +/* 20225 */ {(12<<2)|2,{116,85,0}}, +/* 20226 */ {(12<<2)|2,{116,85,0}}, +/* 20227 */ {(12<<2)|2,{116,85,0}}, +/* 20228 */ {(12<<2)|2,{116,85,0}}, +/* 20229 */ {(12<<2)|2,{116,85,0}}, +/* 20230 */ {(12<<2)|2,{116,85,0}}, +/* 20231 */ {(12<<2)|2,{116,85,0}}, +/* 20232 */ {(12<<2)|2,{116,85,0}}, +/* 20233 */ {(12<<2)|2,{116,85,0}}, +/* 20234 */ {(12<<2)|2,{116,85,0}}, +/* 20235 */ {(12<<2)|2,{116,85,0}}, +/* 20236 */ {(12<<2)|2,{116,85,0}}, +/* 20237 */ {(12<<2)|2,{116,85,0}}, +/* 20238 */ {(12<<2)|2,{116,85,0}}, +/* 20239 */ {(12<<2)|2,{116,85,0}}, +/* 20240 */ {(12<<2)|2,{116,86,0}}, +/* 20241 */ {(12<<2)|2,{116,86,0}}, +/* 20242 */ {(12<<2)|2,{116,86,0}}, +/* 20243 */ {(12<<2)|2,{116,86,0}}, +/* 20244 */ {(12<<2)|2,{116,86,0}}, +/* 20245 */ {(12<<2)|2,{116,86,0}}, +/* 20246 */ {(12<<2)|2,{116,86,0}}, +/* 20247 */ {(12<<2)|2,{116,86,0}}, +/* 20248 */ {(12<<2)|2,{116,86,0}}, +/* 20249 */ {(12<<2)|2,{116,86,0}}, +/* 20250 */ {(12<<2)|2,{116,86,0}}, +/* 20251 */ {(12<<2)|2,{116,86,0}}, +/* 20252 */ {(12<<2)|2,{116,86,0}}, +/* 20253 */ {(12<<2)|2,{116,86,0}}, +/* 20254 */ {(12<<2)|2,{116,86,0}}, +/* 20255 */ {(12<<2)|2,{116,86,0}}, +/* 20256 */ {(12<<2)|2,{116,87,0}}, +/* 20257 */ {(12<<2)|2,{116,87,0}}, +/* 20258 */ {(12<<2)|2,{116,87,0}}, +/* 20259 */ {(12<<2)|2,{116,87,0}}, +/* 20260 */ {(12<<2)|2,{116,87,0}}, +/* 20261 */ {(12<<2)|2,{116,87,0}}, +/* 20262 */ {(12<<2)|2,{116,87,0}}, +/* 20263 */ {(12<<2)|2,{116,87,0}}, +/* 20264 */ {(12<<2)|2,{116,87,0}}, +/* 20265 */ {(12<<2)|2,{116,87,0}}, +/* 20266 */ {(12<<2)|2,{116,87,0}}, +/* 20267 */ {(12<<2)|2,{116,87,0}}, +/* 20268 */ {(12<<2)|2,{116,87,0}}, +/* 20269 */ {(12<<2)|2,{116,87,0}}, +/* 20270 */ {(12<<2)|2,{116,87,0}}, +/* 20271 */ {(12<<2)|2,{116,87,0}}, +/* 20272 */ {(12<<2)|2,{116,89,0}}, +/* 20273 */ {(12<<2)|2,{116,89,0}}, +/* 20274 */ {(12<<2)|2,{116,89,0}}, +/* 20275 */ {(12<<2)|2,{116,89,0}}, +/* 20276 */ {(12<<2)|2,{116,89,0}}, +/* 20277 */ {(12<<2)|2,{116,89,0}}, +/* 20278 */ {(12<<2)|2,{116,89,0}}, +/* 20279 */ {(12<<2)|2,{116,89,0}}, +/* 20280 */ {(12<<2)|2,{116,89,0}}, +/* 20281 */ {(12<<2)|2,{116,89,0}}, +/* 20282 */ {(12<<2)|2,{116,89,0}}, +/* 20283 */ {(12<<2)|2,{116,89,0}}, +/* 20284 */ {(12<<2)|2,{116,89,0}}, +/* 20285 */ {(12<<2)|2,{116,89,0}}, +/* 20286 */ {(12<<2)|2,{116,89,0}}, +/* 20287 */ {(12<<2)|2,{116,89,0}}, +/* 20288 */ {(12<<2)|2,{116,106,0}}, +/* 20289 */ {(12<<2)|2,{116,106,0}}, +/* 20290 */ {(12<<2)|2,{116,106,0}}, +/* 20291 */ {(12<<2)|2,{116,106,0}}, +/* 20292 */ {(12<<2)|2,{116,106,0}}, +/* 20293 */ {(12<<2)|2,{116,106,0}}, +/* 20294 */ {(12<<2)|2,{116,106,0}}, +/* 20295 */ {(12<<2)|2,{116,106,0}}, +/* 20296 */ {(12<<2)|2,{116,106,0}}, +/* 20297 */ {(12<<2)|2,{116,106,0}}, +/* 20298 */ {(12<<2)|2,{116,106,0}}, +/* 20299 */ {(12<<2)|2,{116,106,0}}, +/* 20300 */ {(12<<2)|2,{116,106,0}}, +/* 20301 */ {(12<<2)|2,{116,106,0}}, +/* 20302 */ {(12<<2)|2,{116,106,0}}, +/* 20303 */ {(12<<2)|2,{116,106,0}}, +/* 20304 */ {(12<<2)|2,{116,107,0}}, +/* 20305 */ {(12<<2)|2,{116,107,0}}, +/* 20306 */ {(12<<2)|2,{116,107,0}}, +/* 20307 */ {(12<<2)|2,{116,107,0}}, +/* 20308 */ {(12<<2)|2,{116,107,0}}, +/* 20309 */ {(12<<2)|2,{116,107,0}}, +/* 20310 */ {(12<<2)|2,{116,107,0}}, +/* 20311 */ {(12<<2)|2,{116,107,0}}, +/* 20312 */ {(12<<2)|2,{116,107,0}}, +/* 20313 */ {(12<<2)|2,{116,107,0}}, +/* 20314 */ {(12<<2)|2,{116,107,0}}, +/* 20315 */ {(12<<2)|2,{116,107,0}}, +/* 20316 */ {(12<<2)|2,{116,107,0}}, +/* 20317 */ {(12<<2)|2,{116,107,0}}, +/* 20318 */ {(12<<2)|2,{116,107,0}}, +/* 20319 */ {(12<<2)|2,{116,107,0}}, +/* 20320 */ {(12<<2)|2,{116,113,0}}, +/* 20321 */ {(12<<2)|2,{116,113,0}}, +/* 20322 */ {(12<<2)|2,{116,113,0}}, +/* 20323 */ {(12<<2)|2,{116,113,0}}, +/* 20324 */ {(12<<2)|2,{116,113,0}}, +/* 20325 */ {(12<<2)|2,{116,113,0}}, +/* 20326 */ {(12<<2)|2,{116,113,0}}, +/* 20327 */ {(12<<2)|2,{116,113,0}}, +/* 20328 */ {(12<<2)|2,{116,113,0}}, +/* 20329 */ {(12<<2)|2,{116,113,0}}, +/* 20330 */ {(12<<2)|2,{116,113,0}}, +/* 20331 */ {(12<<2)|2,{116,113,0}}, +/* 20332 */ {(12<<2)|2,{116,113,0}}, +/* 20333 */ {(12<<2)|2,{116,113,0}}, +/* 20334 */ {(12<<2)|2,{116,113,0}}, +/* 20335 */ {(12<<2)|2,{116,113,0}}, +/* 20336 */ {(12<<2)|2,{116,118,0}}, +/* 20337 */ {(12<<2)|2,{116,118,0}}, +/* 20338 */ {(12<<2)|2,{116,118,0}}, +/* 20339 */ {(12<<2)|2,{116,118,0}}, +/* 20340 */ {(12<<2)|2,{116,118,0}}, +/* 20341 */ {(12<<2)|2,{116,118,0}}, +/* 20342 */ {(12<<2)|2,{116,118,0}}, +/* 20343 */ {(12<<2)|2,{116,118,0}}, +/* 20344 */ {(12<<2)|2,{116,118,0}}, +/* 20345 */ {(12<<2)|2,{116,118,0}}, +/* 20346 */ {(12<<2)|2,{116,118,0}}, +/* 20347 */ {(12<<2)|2,{116,118,0}}, +/* 20348 */ {(12<<2)|2,{116,118,0}}, +/* 20349 */ {(12<<2)|2,{116,118,0}}, +/* 20350 */ {(12<<2)|2,{116,118,0}}, +/* 20351 */ {(12<<2)|2,{116,118,0}}, +/* 20352 */ {(12<<2)|2,{116,119,0}}, +/* 20353 */ {(12<<2)|2,{116,119,0}}, +/* 20354 */ {(12<<2)|2,{116,119,0}}, +/* 20355 */ {(12<<2)|2,{116,119,0}}, +/* 20356 */ {(12<<2)|2,{116,119,0}}, +/* 20357 */ {(12<<2)|2,{116,119,0}}, +/* 20358 */ {(12<<2)|2,{116,119,0}}, +/* 20359 */ {(12<<2)|2,{116,119,0}}, +/* 20360 */ {(12<<2)|2,{116,119,0}}, +/* 20361 */ {(12<<2)|2,{116,119,0}}, +/* 20362 */ {(12<<2)|2,{116,119,0}}, +/* 20363 */ {(12<<2)|2,{116,119,0}}, +/* 20364 */ {(12<<2)|2,{116,119,0}}, +/* 20365 */ {(12<<2)|2,{116,119,0}}, +/* 20366 */ {(12<<2)|2,{116,119,0}}, +/* 20367 */ {(12<<2)|2,{116,119,0}}, +/* 20368 */ {(12<<2)|2,{116,120,0}}, +/* 20369 */ {(12<<2)|2,{116,120,0}}, +/* 20370 */ {(12<<2)|2,{116,120,0}}, +/* 20371 */ {(12<<2)|2,{116,120,0}}, +/* 20372 */ {(12<<2)|2,{116,120,0}}, +/* 20373 */ {(12<<2)|2,{116,120,0}}, +/* 20374 */ {(12<<2)|2,{116,120,0}}, +/* 20375 */ {(12<<2)|2,{116,120,0}}, +/* 20376 */ {(12<<2)|2,{116,120,0}}, +/* 20377 */ {(12<<2)|2,{116,120,0}}, +/* 20378 */ {(12<<2)|2,{116,120,0}}, +/* 20379 */ {(12<<2)|2,{116,120,0}}, +/* 20380 */ {(12<<2)|2,{116,120,0}}, +/* 20381 */ {(12<<2)|2,{116,120,0}}, +/* 20382 */ {(12<<2)|2,{116,120,0}}, +/* 20383 */ {(12<<2)|2,{116,120,0}}, +/* 20384 */ {(12<<2)|2,{116,121,0}}, +/* 20385 */ {(12<<2)|2,{116,121,0}}, +/* 20386 */ {(12<<2)|2,{116,121,0}}, +/* 20387 */ {(12<<2)|2,{116,121,0}}, +/* 20388 */ {(12<<2)|2,{116,121,0}}, +/* 20389 */ {(12<<2)|2,{116,121,0}}, +/* 20390 */ {(12<<2)|2,{116,121,0}}, +/* 20391 */ {(12<<2)|2,{116,121,0}}, +/* 20392 */ {(12<<2)|2,{116,121,0}}, +/* 20393 */ {(12<<2)|2,{116,121,0}}, +/* 20394 */ {(12<<2)|2,{116,121,0}}, +/* 20395 */ {(12<<2)|2,{116,121,0}}, +/* 20396 */ {(12<<2)|2,{116,121,0}}, +/* 20397 */ {(12<<2)|2,{116,121,0}}, +/* 20398 */ {(12<<2)|2,{116,121,0}}, +/* 20399 */ {(12<<2)|2,{116,121,0}}, +/* 20400 */ {(12<<2)|2,{116,122,0}}, +/* 20401 */ {(12<<2)|2,{116,122,0}}, +/* 20402 */ {(12<<2)|2,{116,122,0}}, +/* 20403 */ {(12<<2)|2,{116,122,0}}, +/* 20404 */ {(12<<2)|2,{116,122,0}}, +/* 20405 */ {(12<<2)|2,{116,122,0}}, +/* 20406 */ {(12<<2)|2,{116,122,0}}, +/* 20407 */ {(12<<2)|2,{116,122,0}}, +/* 20408 */ {(12<<2)|2,{116,122,0}}, +/* 20409 */ {(12<<2)|2,{116,122,0}}, +/* 20410 */ {(12<<2)|2,{116,122,0}}, +/* 20411 */ {(12<<2)|2,{116,122,0}}, +/* 20412 */ {(12<<2)|2,{116,122,0}}, +/* 20413 */ {(12<<2)|2,{116,122,0}}, +/* 20414 */ {(12<<2)|2,{116,122,0}}, +/* 20415 */ {(12<<2)|2,{116,122,0}}, +/* 20416 */ {(13<<2)|2,{116,38,0}}, +/* 20417 */ {(13<<2)|2,{116,38,0}}, +/* 20418 */ {(13<<2)|2,{116,38,0}}, +/* 20419 */ {(13<<2)|2,{116,38,0}}, +/* 20420 */ {(13<<2)|2,{116,38,0}}, +/* 20421 */ {(13<<2)|2,{116,38,0}}, +/* 20422 */ {(13<<2)|2,{116,38,0}}, +/* 20423 */ {(13<<2)|2,{116,38,0}}, +/* 20424 */ {(13<<2)|2,{116,42,0}}, +/* 20425 */ {(13<<2)|2,{116,42,0}}, +/* 20426 */ {(13<<2)|2,{116,42,0}}, +/* 20427 */ {(13<<2)|2,{116,42,0}}, +/* 20428 */ {(13<<2)|2,{116,42,0}}, +/* 20429 */ {(13<<2)|2,{116,42,0}}, +/* 20430 */ {(13<<2)|2,{116,42,0}}, +/* 20431 */ {(13<<2)|2,{116,42,0}}, +/* 20432 */ {(13<<2)|2,{116,44,0}}, +/* 20433 */ {(13<<2)|2,{116,44,0}}, +/* 20434 */ {(13<<2)|2,{116,44,0}}, +/* 20435 */ {(13<<2)|2,{116,44,0}}, +/* 20436 */ {(13<<2)|2,{116,44,0}}, +/* 20437 */ {(13<<2)|2,{116,44,0}}, +/* 20438 */ {(13<<2)|2,{116,44,0}}, +/* 20439 */ {(13<<2)|2,{116,44,0}}, +/* 20440 */ {(13<<2)|2,{116,59,0}}, +/* 20441 */ {(13<<2)|2,{116,59,0}}, +/* 20442 */ {(13<<2)|2,{116,59,0}}, +/* 20443 */ {(13<<2)|2,{116,59,0}}, +/* 20444 */ {(13<<2)|2,{116,59,0}}, +/* 20445 */ {(13<<2)|2,{116,59,0}}, +/* 20446 */ {(13<<2)|2,{116,59,0}}, +/* 20447 */ {(13<<2)|2,{116,59,0}}, +/* 20448 */ {(13<<2)|2,{116,88,0}}, +/* 20449 */ {(13<<2)|2,{116,88,0}}, +/* 20450 */ {(13<<2)|2,{116,88,0}}, +/* 20451 */ {(13<<2)|2,{116,88,0}}, +/* 20452 */ {(13<<2)|2,{116,88,0}}, +/* 20453 */ {(13<<2)|2,{116,88,0}}, +/* 20454 */ {(13<<2)|2,{116,88,0}}, +/* 20455 */ {(13<<2)|2,{116,88,0}}, +/* 20456 */ {(13<<2)|2,{116,90,0}}, +/* 20457 */ {(13<<2)|2,{116,90,0}}, +/* 20458 */ {(13<<2)|2,{116,90,0}}, +/* 20459 */ {(13<<2)|2,{116,90,0}}, +/* 20460 */ {(13<<2)|2,{116,90,0}}, +/* 20461 */ {(13<<2)|2,{116,90,0}}, +/* 20462 */ {(13<<2)|2,{116,90,0}}, +/* 20463 */ {(13<<2)|2,{116,90,0}}, +/* 20464 */ {(15<<2)|2,{116,33,0}}, +/* 20465 */ {(15<<2)|2,{116,33,0}}, +/* 20466 */ {(15<<2)|2,{116,34,0}}, +/* 20467 */ {(15<<2)|2,{116,34,0}}, +/* 20468 */ {(15<<2)|2,{116,40,0}}, +/* 20469 */ {(15<<2)|2,{116,40,0}}, +/* 20470 */ {(15<<2)|2,{116,41,0}}, +/* 20471 */ {(15<<2)|2,{116,41,0}}, +/* 20472 */ {(15<<2)|2,{116,63,0}}, +/* 20473 */ {(15<<2)|2,{116,63,0}}, +/* 20474 */ {(16<<2)|2,{116,39,0}}, +/* 20475 */ {(16<<2)|2,{116,43,0}}, +/* 20476 */ {(16<<2)|2,{116,124,0}}, +/* 20477 */ {(5<<2)|1,{116,0,0}}, +/* 20478 */ {(5<<2)|1,{116,0,0}}, +/* 20479 */ {(5<<2)|1,{116,0,0}}, +/* 20480 */ {(16<<2)|3,{32,48,48}}, +/* 20481 */ {(16<<2)|3,{32,48,49}}, +/* 20482 */ {(16<<2)|3,{32,48,50}}, +/* 20483 */ {(16<<2)|3,{32,48,97}}, +/* 20484 */ {(16<<2)|3,{32,48,99}}, +/* 20485 */ {(16<<2)|3,{32,48,101}}, +/* 20486 */ {(16<<2)|3,{32,48,105}}, +/* 20487 */ {(16<<2)|3,{32,48,111}}, +/* 20488 */ {(16<<2)|3,{32,48,115}}, +/* 20489 */ {(16<<2)|3,{32,48,116}}, +/* 20490 */ {(11<<2)|2,{32,48,0}}, +/* 20491 */ {(11<<2)|2,{32,48,0}}, +/* 20492 */ {(11<<2)|2,{32,48,0}}, +/* 20493 */ {(11<<2)|2,{32,48,0}}, +/* 20494 */ {(11<<2)|2,{32,48,0}}, +/* 20495 */ {(11<<2)|2,{32,48,0}}, +/* 20496 */ {(11<<2)|2,{32,48,0}}, +/* 20497 */ {(11<<2)|2,{32,48,0}}, +/* 20498 */ {(11<<2)|2,{32,48,0}}, +/* 20499 */ {(11<<2)|2,{32,48,0}}, +/* 20500 */ {(11<<2)|2,{32,48,0}}, +/* 20501 */ {(11<<2)|2,{32,48,0}}, +/* 20502 */ {(11<<2)|2,{32,48,0}}, +/* 20503 */ {(11<<2)|2,{32,48,0}}, +/* 20504 */ {(11<<2)|2,{32,48,0}}, +/* 20505 */ {(11<<2)|2,{32,48,0}}, +/* 20506 */ {(11<<2)|2,{32,48,0}}, +/* 20507 */ {(11<<2)|2,{32,48,0}}, +/* 20508 */ {(11<<2)|2,{32,48,0}}, +/* 20509 */ {(11<<2)|2,{32,48,0}}, +/* 20510 */ {(11<<2)|2,{32,48,0}}, +/* 20511 */ {(11<<2)|2,{32,48,0}}, +/* 20512 */ {(16<<2)|3,{32,49,48}}, +/* 20513 */ {(16<<2)|3,{32,49,49}}, +/* 20514 */ {(16<<2)|3,{32,49,50}}, +/* 20515 */ {(16<<2)|3,{32,49,97}}, +/* 20516 */ {(16<<2)|3,{32,49,99}}, +/* 20517 */ {(16<<2)|3,{32,49,101}}, +/* 20518 */ {(16<<2)|3,{32,49,105}}, +/* 20519 */ {(16<<2)|3,{32,49,111}}, +/* 20520 */ {(16<<2)|3,{32,49,115}}, +/* 20521 */ {(16<<2)|3,{32,49,116}}, +/* 20522 */ {(11<<2)|2,{32,49,0}}, +/* 20523 */ {(11<<2)|2,{32,49,0}}, +/* 20524 */ {(11<<2)|2,{32,49,0}}, +/* 20525 */ {(11<<2)|2,{32,49,0}}, +/* 20526 */ {(11<<2)|2,{32,49,0}}, +/* 20527 */ {(11<<2)|2,{32,49,0}}, +/* 20528 */ {(11<<2)|2,{32,49,0}}, +/* 20529 */ {(11<<2)|2,{32,49,0}}, +/* 20530 */ {(11<<2)|2,{32,49,0}}, +/* 20531 */ {(11<<2)|2,{32,49,0}}, +/* 20532 */ {(11<<2)|2,{32,49,0}}, +/* 20533 */ {(11<<2)|2,{32,49,0}}, +/* 20534 */ {(11<<2)|2,{32,49,0}}, +/* 20535 */ {(11<<2)|2,{32,49,0}}, +/* 20536 */ {(11<<2)|2,{32,49,0}}, +/* 20537 */ {(11<<2)|2,{32,49,0}}, +/* 20538 */ {(11<<2)|2,{32,49,0}}, +/* 20539 */ {(11<<2)|2,{32,49,0}}, +/* 20540 */ {(11<<2)|2,{32,49,0}}, +/* 20541 */ {(11<<2)|2,{32,49,0}}, +/* 20542 */ {(11<<2)|2,{32,49,0}}, +/* 20543 */ {(11<<2)|2,{32,49,0}}, +/* 20544 */ {(16<<2)|3,{32,50,48}}, +/* 20545 */ {(16<<2)|3,{32,50,49}}, +/* 20546 */ {(16<<2)|3,{32,50,50}}, +/* 20547 */ {(16<<2)|3,{32,50,97}}, +/* 20548 */ {(16<<2)|3,{32,50,99}}, +/* 20549 */ {(16<<2)|3,{32,50,101}}, +/* 20550 */ {(16<<2)|3,{32,50,105}}, +/* 20551 */ {(16<<2)|3,{32,50,111}}, +/* 20552 */ {(16<<2)|3,{32,50,115}}, +/* 20553 */ {(16<<2)|3,{32,50,116}}, +/* 20554 */ {(11<<2)|2,{32,50,0}}, +/* 20555 */ {(11<<2)|2,{32,50,0}}, +/* 20556 */ {(11<<2)|2,{32,50,0}}, +/* 20557 */ {(11<<2)|2,{32,50,0}}, +/* 20558 */ {(11<<2)|2,{32,50,0}}, +/* 20559 */ {(11<<2)|2,{32,50,0}}, +/* 20560 */ {(11<<2)|2,{32,50,0}}, +/* 20561 */ {(11<<2)|2,{32,50,0}}, +/* 20562 */ {(11<<2)|2,{32,50,0}}, +/* 20563 */ {(11<<2)|2,{32,50,0}}, +/* 20564 */ {(11<<2)|2,{32,50,0}}, +/* 20565 */ {(11<<2)|2,{32,50,0}}, +/* 20566 */ {(11<<2)|2,{32,50,0}}, +/* 20567 */ {(11<<2)|2,{32,50,0}}, +/* 20568 */ {(11<<2)|2,{32,50,0}}, +/* 20569 */ {(11<<2)|2,{32,50,0}}, +/* 20570 */ {(11<<2)|2,{32,50,0}}, +/* 20571 */ {(11<<2)|2,{32,50,0}}, +/* 20572 */ {(11<<2)|2,{32,50,0}}, +/* 20573 */ {(11<<2)|2,{32,50,0}}, +/* 20574 */ {(11<<2)|2,{32,50,0}}, +/* 20575 */ {(11<<2)|2,{32,50,0}}, +/* 20576 */ {(16<<2)|3,{32,97,48}}, +/* 20577 */ {(16<<2)|3,{32,97,49}}, +/* 20578 */ {(16<<2)|3,{32,97,50}}, +/* 20579 */ {(16<<2)|3,{32,97,97}}, +/* 20580 */ {(16<<2)|3,{32,97,99}}, +/* 20581 */ {(16<<2)|3,{32,97,101}}, +/* 20582 */ {(16<<2)|3,{32,97,105}}, +/* 20583 */ {(16<<2)|3,{32,97,111}}, +/* 20584 */ {(16<<2)|3,{32,97,115}}, +/* 20585 */ {(16<<2)|3,{32,97,116}}, +/* 20586 */ {(11<<2)|2,{32,97,0}}, +/* 20587 */ {(11<<2)|2,{32,97,0}}, +/* 20588 */ {(11<<2)|2,{32,97,0}}, +/* 20589 */ {(11<<2)|2,{32,97,0}}, +/* 20590 */ {(11<<2)|2,{32,97,0}}, +/* 20591 */ {(11<<2)|2,{32,97,0}}, +/* 20592 */ {(11<<2)|2,{32,97,0}}, +/* 20593 */ {(11<<2)|2,{32,97,0}}, +/* 20594 */ {(11<<2)|2,{32,97,0}}, +/* 20595 */ {(11<<2)|2,{32,97,0}}, +/* 20596 */ {(11<<2)|2,{32,97,0}}, +/* 20597 */ {(11<<2)|2,{32,97,0}}, +/* 20598 */ {(11<<2)|2,{32,97,0}}, +/* 20599 */ {(11<<2)|2,{32,97,0}}, +/* 20600 */ {(11<<2)|2,{32,97,0}}, +/* 20601 */ {(11<<2)|2,{32,97,0}}, +/* 20602 */ {(11<<2)|2,{32,97,0}}, +/* 20603 */ {(11<<2)|2,{32,97,0}}, +/* 20604 */ {(11<<2)|2,{32,97,0}}, +/* 20605 */ {(11<<2)|2,{32,97,0}}, +/* 20606 */ {(11<<2)|2,{32,97,0}}, +/* 20607 */ {(11<<2)|2,{32,97,0}}, +/* 20608 */ {(16<<2)|3,{32,99,48}}, +/* 20609 */ {(16<<2)|3,{32,99,49}}, +/* 20610 */ {(16<<2)|3,{32,99,50}}, +/* 20611 */ {(16<<2)|3,{32,99,97}}, +/* 20612 */ {(16<<2)|3,{32,99,99}}, +/* 20613 */ {(16<<2)|3,{32,99,101}}, +/* 20614 */ {(16<<2)|3,{32,99,105}}, +/* 20615 */ {(16<<2)|3,{32,99,111}}, +/* 20616 */ {(16<<2)|3,{32,99,115}}, +/* 20617 */ {(16<<2)|3,{32,99,116}}, +/* 20618 */ {(11<<2)|2,{32,99,0}}, +/* 20619 */ {(11<<2)|2,{32,99,0}}, +/* 20620 */ {(11<<2)|2,{32,99,0}}, +/* 20621 */ {(11<<2)|2,{32,99,0}}, +/* 20622 */ {(11<<2)|2,{32,99,0}}, +/* 20623 */ {(11<<2)|2,{32,99,0}}, +/* 20624 */ {(11<<2)|2,{32,99,0}}, +/* 20625 */ {(11<<2)|2,{32,99,0}}, +/* 20626 */ {(11<<2)|2,{32,99,0}}, +/* 20627 */ {(11<<2)|2,{32,99,0}}, +/* 20628 */ {(11<<2)|2,{32,99,0}}, +/* 20629 */ {(11<<2)|2,{32,99,0}}, +/* 20630 */ {(11<<2)|2,{32,99,0}}, +/* 20631 */ {(11<<2)|2,{32,99,0}}, +/* 20632 */ {(11<<2)|2,{32,99,0}}, +/* 20633 */ {(11<<2)|2,{32,99,0}}, +/* 20634 */ {(11<<2)|2,{32,99,0}}, +/* 20635 */ {(11<<2)|2,{32,99,0}}, +/* 20636 */ {(11<<2)|2,{32,99,0}}, +/* 20637 */ {(11<<2)|2,{32,99,0}}, +/* 20638 */ {(11<<2)|2,{32,99,0}}, +/* 20639 */ {(11<<2)|2,{32,99,0}}, +/* 20640 */ {(16<<2)|3,{32,101,48}}, +/* 20641 */ {(16<<2)|3,{32,101,49}}, +/* 20642 */ {(16<<2)|3,{32,101,50}}, +/* 20643 */ {(16<<2)|3,{32,101,97}}, +/* 20644 */ {(16<<2)|3,{32,101,99}}, +/* 20645 */ {(16<<2)|3,{32,101,101}}, +/* 20646 */ {(16<<2)|3,{32,101,105}}, +/* 20647 */ {(16<<2)|3,{32,101,111}}, +/* 20648 */ {(16<<2)|3,{32,101,115}}, +/* 20649 */ {(16<<2)|3,{32,101,116}}, +/* 20650 */ {(11<<2)|2,{32,101,0}}, +/* 20651 */ {(11<<2)|2,{32,101,0}}, +/* 20652 */ {(11<<2)|2,{32,101,0}}, +/* 20653 */ {(11<<2)|2,{32,101,0}}, +/* 20654 */ {(11<<2)|2,{32,101,0}}, +/* 20655 */ {(11<<2)|2,{32,101,0}}, +/* 20656 */ {(11<<2)|2,{32,101,0}}, +/* 20657 */ {(11<<2)|2,{32,101,0}}, +/* 20658 */ {(11<<2)|2,{32,101,0}}, +/* 20659 */ {(11<<2)|2,{32,101,0}}, +/* 20660 */ {(11<<2)|2,{32,101,0}}, +/* 20661 */ {(11<<2)|2,{32,101,0}}, +/* 20662 */ {(11<<2)|2,{32,101,0}}, +/* 20663 */ {(11<<2)|2,{32,101,0}}, +/* 20664 */ {(11<<2)|2,{32,101,0}}, +/* 20665 */ {(11<<2)|2,{32,101,0}}, +/* 20666 */ {(11<<2)|2,{32,101,0}}, +/* 20667 */ {(11<<2)|2,{32,101,0}}, +/* 20668 */ {(11<<2)|2,{32,101,0}}, +/* 20669 */ {(11<<2)|2,{32,101,0}}, +/* 20670 */ {(11<<2)|2,{32,101,0}}, +/* 20671 */ {(11<<2)|2,{32,101,0}}, +/* 20672 */ {(16<<2)|3,{32,105,48}}, +/* 20673 */ {(16<<2)|3,{32,105,49}}, +/* 20674 */ {(16<<2)|3,{32,105,50}}, +/* 20675 */ {(16<<2)|3,{32,105,97}}, +/* 20676 */ {(16<<2)|3,{32,105,99}}, +/* 20677 */ {(16<<2)|3,{32,105,101}}, +/* 20678 */ {(16<<2)|3,{32,105,105}}, +/* 20679 */ {(16<<2)|3,{32,105,111}}, +/* 20680 */ {(16<<2)|3,{32,105,115}}, +/* 20681 */ {(16<<2)|3,{32,105,116}}, +/* 20682 */ {(11<<2)|2,{32,105,0}}, +/* 20683 */ {(11<<2)|2,{32,105,0}}, +/* 20684 */ {(11<<2)|2,{32,105,0}}, +/* 20685 */ {(11<<2)|2,{32,105,0}}, +/* 20686 */ {(11<<2)|2,{32,105,0}}, +/* 20687 */ {(11<<2)|2,{32,105,0}}, +/* 20688 */ {(11<<2)|2,{32,105,0}}, +/* 20689 */ {(11<<2)|2,{32,105,0}}, +/* 20690 */ {(11<<2)|2,{32,105,0}}, +/* 20691 */ {(11<<2)|2,{32,105,0}}, +/* 20692 */ {(11<<2)|2,{32,105,0}}, +/* 20693 */ {(11<<2)|2,{32,105,0}}, +/* 20694 */ {(11<<2)|2,{32,105,0}}, +/* 20695 */ {(11<<2)|2,{32,105,0}}, +/* 20696 */ {(11<<2)|2,{32,105,0}}, +/* 20697 */ {(11<<2)|2,{32,105,0}}, +/* 20698 */ {(11<<2)|2,{32,105,0}}, +/* 20699 */ {(11<<2)|2,{32,105,0}}, +/* 20700 */ {(11<<2)|2,{32,105,0}}, +/* 20701 */ {(11<<2)|2,{32,105,0}}, +/* 20702 */ {(11<<2)|2,{32,105,0}}, +/* 20703 */ {(11<<2)|2,{32,105,0}}, +/* 20704 */ {(16<<2)|3,{32,111,48}}, +/* 20705 */ {(16<<2)|3,{32,111,49}}, +/* 20706 */ {(16<<2)|3,{32,111,50}}, +/* 20707 */ {(16<<2)|3,{32,111,97}}, +/* 20708 */ {(16<<2)|3,{32,111,99}}, +/* 20709 */ {(16<<2)|3,{32,111,101}}, +/* 20710 */ {(16<<2)|3,{32,111,105}}, +/* 20711 */ {(16<<2)|3,{32,111,111}}, +/* 20712 */ {(16<<2)|3,{32,111,115}}, +/* 20713 */ {(16<<2)|3,{32,111,116}}, +/* 20714 */ {(11<<2)|2,{32,111,0}}, +/* 20715 */ {(11<<2)|2,{32,111,0}}, +/* 20716 */ {(11<<2)|2,{32,111,0}}, +/* 20717 */ {(11<<2)|2,{32,111,0}}, +/* 20718 */ {(11<<2)|2,{32,111,0}}, +/* 20719 */ {(11<<2)|2,{32,111,0}}, +/* 20720 */ {(11<<2)|2,{32,111,0}}, +/* 20721 */ {(11<<2)|2,{32,111,0}}, +/* 20722 */ {(11<<2)|2,{32,111,0}}, +/* 20723 */ {(11<<2)|2,{32,111,0}}, +/* 20724 */ {(11<<2)|2,{32,111,0}}, +/* 20725 */ {(11<<2)|2,{32,111,0}}, +/* 20726 */ {(11<<2)|2,{32,111,0}}, +/* 20727 */ {(11<<2)|2,{32,111,0}}, +/* 20728 */ {(11<<2)|2,{32,111,0}}, +/* 20729 */ {(11<<2)|2,{32,111,0}}, +/* 20730 */ {(11<<2)|2,{32,111,0}}, +/* 20731 */ {(11<<2)|2,{32,111,0}}, +/* 20732 */ {(11<<2)|2,{32,111,0}}, +/* 20733 */ {(11<<2)|2,{32,111,0}}, +/* 20734 */ {(11<<2)|2,{32,111,0}}, +/* 20735 */ {(11<<2)|2,{32,111,0}}, +/* 20736 */ {(16<<2)|3,{32,115,48}}, +/* 20737 */ {(16<<2)|3,{32,115,49}}, +/* 20738 */ {(16<<2)|3,{32,115,50}}, +/* 20739 */ {(16<<2)|3,{32,115,97}}, +/* 20740 */ {(16<<2)|3,{32,115,99}}, +/* 20741 */ {(16<<2)|3,{32,115,101}}, +/* 20742 */ {(16<<2)|3,{32,115,105}}, +/* 20743 */ {(16<<2)|3,{32,115,111}}, +/* 20744 */ {(16<<2)|3,{32,115,115}}, +/* 20745 */ {(16<<2)|3,{32,115,116}}, +/* 20746 */ {(11<<2)|2,{32,115,0}}, +/* 20747 */ {(11<<2)|2,{32,115,0}}, +/* 20748 */ {(11<<2)|2,{32,115,0}}, +/* 20749 */ {(11<<2)|2,{32,115,0}}, +/* 20750 */ {(11<<2)|2,{32,115,0}}, +/* 20751 */ {(11<<2)|2,{32,115,0}}, +/* 20752 */ {(11<<2)|2,{32,115,0}}, +/* 20753 */ {(11<<2)|2,{32,115,0}}, +/* 20754 */ {(11<<2)|2,{32,115,0}}, +/* 20755 */ {(11<<2)|2,{32,115,0}}, +/* 20756 */ {(11<<2)|2,{32,115,0}}, +/* 20757 */ {(11<<2)|2,{32,115,0}}, +/* 20758 */ {(11<<2)|2,{32,115,0}}, +/* 20759 */ {(11<<2)|2,{32,115,0}}, +/* 20760 */ {(11<<2)|2,{32,115,0}}, +/* 20761 */ {(11<<2)|2,{32,115,0}}, +/* 20762 */ {(11<<2)|2,{32,115,0}}, +/* 20763 */ {(11<<2)|2,{32,115,0}}, +/* 20764 */ {(11<<2)|2,{32,115,0}}, +/* 20765 */ {(11<<2)|2,{32,115,0}}, +/* 20766 */ {(11<<2)|2,{32,115,0}}, +/* 20767 */ {(11<<2)|2,{32,115,0}}, +/* 20768 */ {(16<<2)|3,{32,116,48}}, +/* 20769 */ {(16<<2)|3,{32,116,49}}, +/* 20770 */ {(16<<2)|3,{32,116,50}}, +/* 20771 */ {(16<<2)|3,{32,116,97}}, +/* 20772 */ {(16<<2)|3,{32,116,99}}, +/* 20773 */ {(16<<2)|3,{32,116,101}}, +/* 20774 */ {(16<<2)|3,{32,116,105}}, +/* 20775 */ {(16<<2)|3,{32,116,111}}, +/* 20776 */ {(16<<2)|3,{32,116,115}}, +/* 20777 */ {(16<<2)|3,{32,116,116}}, +/* 20778 */ {(11<<2)|2,{32,116,0}}, +/* 20779 */ {(11<<2)|2,{32,116,0}}, +/* 20780 */ {(11<<2)|2,{32,116,0}}, +/* 20781 */ {(11<<2)|2,{32,116,0}}, +/* 20782 */ {(11<<2)|2,{32,116,0}}, +/* 20783 */ {(11<<2)|2,{32,116,0}}, +/* 20784 */ {(11<<2)|2,{32,116,0}}, +/* 20785 */ {(11<<2)|2,{32,116,0}}, +/* 20786 */ {(11<<2)|2,{32,116,0}}, +/* 20787 */ {(11<<2)|2,{32,116,0}}, +/* 20788 */ {(11<<2)|2,{32,116,0}}, +/* 20789 */ {(11<<2)|2,{32,116,0}}, +/* 20790 */ {(11<<2)|2,{32,116,0}}, +/* 20791 */ {(11<<2)|2,{32,116,0}}, +/* 20792 */ {(11<<2)|2,{32,116,0}}, +/* 20793 */ {(11<<2)|2,{32,116,0}}, +/* 20794 */ {(11<<2)|2,{32,116,0}}, +/* 20795 */ {(11<<2)|2,{32,116,0}}, +/* 20796 */ {(11<<2)|2,{32,116,0}}, +/* 20797 */ {(11<<2)|2,{32,116,0}}, +/* 20798 */ {(11<<2)|2,{32,116,0}}, +/* 20799 */ {(11<<2)|2,{32,116,0}}, +/* 20800 */ {(12<<2)|2,{32,32,0}}, +/* 20801 */ {(12<<2)|2,{32,32,0}}, +/* 20802 */ {(12<<2)|2,{32,32,0}}, +/* 20803 */ {(12<<2)|2,{32,32,0}}, +/* 20804 */ {(12<<2)|2,{32,32,0}}, +/* 20805 */ {(12<<2)|2,{32,32,0}}, +/* 20806 */ {(12<<2)|2,{32,32,0}}, +/* 20807 */ {(12<<2)|2,{32,32,0}}, +/* 20808 */ {(12<<2)|2,{32,32,0}}, +/* 20809 */ {(12<<2)|2,{32,32,0}}, +/* 20810 */ {(12<<2)|2,{32,32,0}}, +/* 20811 */ {(12<<2)|2,{32,32,0}}, +/* 20812 */ {(12<<2)|2,{32,32,0}}, +/* 20813 */ {(12<<2)|2,{32,32,0}}, +/* 20814 */ {(12<<2)|2,{32,32,0}}, +/* 20815 */ {(12<<2)|2,{32,32,0}}, +/* 20816 */ {(12<<2)|2,{32,37,0}}, +/* 20817 */ {(12<<2)|2,{32,37,0}}, +/* 20818 */ {(12<<2)|2,{32,37,0}}, +/* 20819 */ {(12<<2)|2,{32,37,0}}, +/* 20820 */ {(12<<2)|2,{32,37,0}}, +/* 20821 */ {(12<<2)|2,{32,37,0}}, +/* 20822 */ {(12<<2)|2,{32,37,0}}, +/* 20823 */ {(12<<2)|2,{32,37,0}}, +/* 20824 */ {(12<<2)|2,{32,37,0}}, +/* 20825 */ {(12<<2)|2,{32,37,0}}, +/* 20826 */ {(12<<2)|2,{32,37,0}}, +/* 20827 */ {(12<<2)|2,{32,37,0}}, +/* 20828 */ {(12<<2)|2,{32,37,0}}, +/* 20829 */ {(12<<2)|2,{32,37,0}}, +/* 20830 */ {(12<<2)|2,{32,37,0}}, +/* 20831 */ {(12<<2)|2,{32,37,0}}, +/* 20832 */ {(12<<2)|2,{32,45,0}}, +/* 20833 */ {(12<<2)|2,{32,45,0}}, +/* 20834 */ {(12<<2)|2,{32,45,0}}, +/* 20835 */ {(12<<2)|2,{32,45,0}}, +/* 20836 */ {(12<<2)|2,{32,45,0}}, +/* 20837 */ {(12<<2)|2,{32,45,0}}, +/* 20838 */ {(12<<2)|2,{32,45,0}}, +/* 20839 */ {(12<<2)|2,{32,45,0}}, +/* 20840 */ {(12<<2)|2,{32,45,0}}, +/* 20841 */ {(12<<2)|2,{32,45,0}}, +/* 20842 */ {(12<<2)|2,{32,45,0}}, +/* 20843 */ {(12<<2)|2,{32,45,0}}, +/* 20844 */ {(12<<2)|2,{32,45,0}}, +/* 20845 */ {(12<<2)|2,{32,45,0}}, +/* 20846 */ {(12<<2)|2,{32,45,0}}, +/* 20847 */ {(12<<2)|2,{32,45,0}}, +/* 20848 */ {(12<<2)|2,{32,46,0}}, +/* 20849 */ {(12<<2)|2,{32,46,0}}, +/* 20850 */ {(12<<2)|2,{32,46,0}}, +/* 20851 */ {(12<<2)|2,{32,46,0}}, +/* 20852 */ {(12<<2)|2,{32,46,0}}, +/* 20853 */ {(12<<2)|2,{32,46,0}}, +/* 20854 */ {(12<<2)|2,{32,46,0}}, +/* 20855 */ {(12<<2)|2,{32,46,0}}, +/* 20856 */ {(12<<2)|2,{32,46,0}}, +/* 20857 */ {(12<<2)|2,{32,46,0}}, +/* 20858 */ {(12<<2)|2,{32,46,0}}, +/* 20859 */ {(12<<2)|2,{32,46,0}}, +/* 20860 */ {(12<<2)|2,{32,46,0}}, +/* 20861 */ {(12<<2)|2,{32,46,0}}, +/* 20862 */ {(12<<2)|2,{32,46,0}}, +/* 20863 */ {(12<<2)|2,{32,46,0}}, +/* 20864 */ {(12<<2)|2,{32,47,0}}, +/* 20865 */ {(12<<2)|2,{32,47,0}}, +/* 20866 */ {(12<<2)|2,{32,47,0}}, +/* 20867 */ {(12<<2)|2,{32,47,0}}, +/* 20868 */ {(12<<2)|2,{32,47,0}}, +/* 20869 */ {(12<<2)|2,{32,47,0}}, +/* 20870 */ {(12<<2)|2,{32,47,0}}, +/* 20871 */ {(12<<2)|2,{32,47,0}}, +/* 20872 */ {(12<<2)|2,{32,47,0}}, +/* 20873 */ {(12<<2)|2,{32,47,0}}, +/* 20874 */ {(12<<2)|2,{32,47,0}}, +/* 20875 */ {(12<<2)|2,{32,47,0}}, +/* 20876 */ {(12<<2)|2,{32,47,0}}, +/* 20877 */ {(12<<2)|2,{32,47,0}}, +/* 20878 */ {(12<<2)|2,{32,47,0}}, +/* 20879 */ {(12<<2)|2,{32,47,0}}, +/* 20880 */ {(12<<2)|2,{32,51,0}}, +/* 20881 */ {(12<<2)|2,{32,51,0}}, +/* 20882 */ {(12<<2)|2,{32,51,0}}, +/* 20883 */ {(12<<2)|2,{32,51,0}}, +/* 20884 */ {(12<<2)|2,{32,51,0}}, +/* 20885 */ {(12<<2)|2,{32,51,0}}, +/* 20886 */ {(12<<2)|2,{32,51,0}}, +/* 20887 */ {(12<<2)|2,{32,51,0}}, +/* 20888 */ {(12<<2)|2,{32,51,0}}, +/* 20889 */ {(12<<2)|2,{32,51,0}}, +/* 20890 */ {(12<<2)|2,{32,51,0}}, +/* 20891 */ {(12<<2)|2,{32,51,0}}, +/* 20892 */ {(12<<2)|2,{32,51,0}}, +/* 20893 */ {(12<<2)|2,{32,51,0}}, +/* 20894 */ {(12<<2)|2,{32,51,0}}, +/* 20895 */ {(12<<2)|2,{32,51,0}}, +/* 20896 */ {(12<<2)|2,{32,52,0}}, +/* 20897 */ {(12<<2)|2,{32,52,0}}, +/* 20898 */ {(12<<2)|2,{32,52,0}}, +/* 20899 */ {(12<<2)|2,{32,52,0}}, +/* 20900 */ {(12<<2)|2,{32,52,0}}, +/* 20901 */ {(12<<2)|2,{32,52,0}}, +/* 20902 */ {(12<<2)|2,{32,52,0}}, +/* 20903 */ {(12<<2)|2,{32,52,0}}, +/* 20904 */ {(12<<2)|2,{32,52,0}}, +/* 20905 */ {(12<<2)|2,{32,52,0}}, +/* 20906 */ {(12<<2)|2,{32,52,0}}, +/* 20907 */ {(12<<2)|2,{32,52,0}}, +/* 20908 */ {(12<<2)|2,{32,52,0}}, +/* 20909 */ {(12<<2)|2,{32,52,0}}, +/* 20910 */ {(12<<2)|2,{32,52,0}}, +/* 20911 */ {(12<<2)|2,{32,52,0}}, +/* 20912 */ {(12<<2)|2,{32,53,0}}, +/* 20913 */ {(12<<2)|2,{32,53,0}}, +/* 20914 */ {(12<<2)|2,{32,53,0}}, +/* 20915 */ {(12<<2)|2,{32,53,0}}, +/* 20916 */ {(12<<2)|2,{32,53,0}}, +/* 20917 */ {(12<<2)|2,{32,53,0}}, +/* 20918 */ {(12<<2)|2,{32,53,0}}, +/* 20919 */ {(12<<2)|2,{32,53,0}}, +/* 20920 */ {(12<<2)|2,{32,53,0}}, +/* 20921 */ {(12<<2)|2,{32,53,0}}, +/* 20922 */ {(12<<2)|2,{32,53,0}}, +/* 20923 */ {(12<<2)|2,{32,53,0}}, +/* 20924 */ {(12<<2)|2,{32,53,0}}, +/* 20925 */ {(12<<2)|2,{32,53,0}}, +/* 20926 */ {(12<<2)|2,{32,53,0}}, +/* 20927 */ {(12<<2)|2,{32,53,0}}, +/* 20928 */ {(12<<2)|2,{32,54,0}}, +/* 20929 */ {(12<<2)|2,{32,54,0}}, +/* 20930 */ {(12<<2)|2,{32,54,0}}, +/* 20931 */ {(12<<2)|2,{32,54,0}}, +/* 20932 */ {(12<<2)|2,{32,54,0}}, +/* 20933 */ {(12<<2)|2,{32,54,0}}, +/* 20934 */ {(12<<2)|2,{32,54,0}}, +/* 20935 */ {(12<<2)|2,{32,54,0}}, +/* 20936 */ {(12<<2)|2,{32,54,0}}, +/* 20937 */ {(12<<2)|2,{32,54,0}}, +/* 20938 */ {(12<<2)|2,{32,54,0}}, +/* 20939 */ {(12<<2)|2,{32,54,0}}, +/* 20940 */ {(12<<2)|2,{32,54,0}}, +/* 20941 */ {(12<<2)|2,{32,54,0}}, +/* 20942 */ {(12<<2)|2,{32,54,0}}, +/* 20943 */ {(12<<2)|2,{32,54,0}}, +/* 20944 */ {(12<<2)|2,{32,55,0}}, +/* 20945 */ {(12<<2)|2,{32,55,0}}, +/* 20946 */ {(12<<2)|2,{32,55,0}}, +/* 20947 */ {(12<<2)|2,{32,55,0}}, +/* 20948 */ {(12<<2)|2,{32,55,0}}, +/* 20949 */ {(12<<2)|2,{32,55,0}}, +/* 20950 */ {(12<<2)|2,{32,55,0}}, +/* 20951 */ {(12<<2)|2,{32,55,0}}, +/* 20952 */ {(12<<2)|2,{32,55,0}}, +/* 20953 */ {(12<<2)|2,{32,55,0}}, +/* 20954 */ {(12<<2)|2,{32,55,0}}, +/* 20955 */ {(12<<2)|2,{32,55,0}}, +/* 20956 */ {(12<<2)|2,{32,55,0}}, +/* 20957 */ {(12<<2)|2,{32,55,0}}, +/* 20958 */ {(12<<2)|2,{32,55,0}}, +/* 20959 */ {(12<<2)|2,{32,55,0}}, +/* 20960 */ {(12<<2)|2,{32,56,0}}, +/* 20961 */ {(12<<2)|2,{32,56,0}}, +/* 20962 */ {(12<<2)|2,{32,56,0}}, +/* 20963 */ {(12<<2)|2,{32,56,0}}, +/* 20964 */ {(12<<2)|2,{32,56,0}}, +/* 20965 */ {(12<<2)|2,{32,56,0}}, +/* 20966 */ {(12<<2)|2,{32,56,0}}, +/* 20967 */ {(12<<2)|2,{32,56,0}}, +/* 20968 */ {(12<<2)|2,{32,56,0}}, +/* 20969 */ {(12<<2)|2,{32,56,0}}, +/* 20970 */ {(12<<2)|2,{32,56,0}}, +/* 20971 */ {(12<<2)|2,{32,56,0}}, +/* 20972 */ {(12<<2)|2,{32,56,0}}, +/* 20973 */ {(12<<2)|2,{32,56,0}}, +/* 20974 */ {(12<<2)|2,{32,56,0}}, +/* 20975 */ {(12<<2)|2,{32,56,0}}, +/* 20976 */ {(12<<2)|2,{32,57,0}}, +/* 20977 */ {(12<<2)|2,{32,57,0}}, +/* 20978 */ {(12<<2)|2,{32,57,0}}, +/* 20979 */ {(12<<2)|2,{32,57,0}}, +/* 20980 */ {(12<<2)|2,{32,57,0}}, +/* 20981 */ {(12<<2)|2,{32,57,0}}, +/* 20982 */ {(12<<2)|2,{32,57,0}}, +/* 20983 */ {(12<<2)|2,{32,57,0}}, +/* 20984 */ {(12<<2)|2,{32,57,0}}, +/* 20985 */ {(12<<2)|2,{32,57,0}}, +/* 20986 */ {(12<<2)|2,{32,57,0}}, +/* 20987 */ {(12<<2)|2,{32,57,0}}, +/* 20988 */ {(12<<2)|2,{32,57,0}}, +/* 20989 */ {(12<<2)|2,{32,57,0}}, +/* 20990 */ {(12<<2)|2,{32,57,0}}, +/* 20991 */ {(12<<2)|2,{32,57,0}}, +/* 20992 */ {(12<<2)|2,{32,61,0}}, +/* 20993 */ {(12<<2)|2,{32,61,0}}, +/* 20994 */ {(12<<2)|2,{32,61,0}}, +/* 20995 */ {(12<<2)|2,{32,61,0}}, +/* 20996 */ {(12<<2)|2,{32,61,0}}, +/* 20997 */ {(12<<2)|2,{32,61,0}}, +/* 20998 */ {(12<<2)|2,{32,61,0}}, +/* 20999 */ {(12<<2)|2,{32,61,0}}, +/* 21000 */ {(12<<2)|2,{32,61,0}}, +/* 21001 */ {(12<<2)|2,{32,61,0}}, +/* 21002 */ {(12<<2)|2,{32,61,0}}, +/* 21003 */ {(12<<2)|2,{32,61,0}}, +/* 21004 */ {(12<<2)|2,{32,61,0}}, +/* 21005 */ {(12<<2)|2,{32,61,0}}, +/* 21006 */ {(12<<2)|2,{32,61,0}}, +/* 21007 */ {(12<<2)|2,{32,61,0}}, +/* 21008 */ {(12<<2)|2,{32,65,0}}, +/* 21009 */ {(12<<2)|2,{32,65,0}}, +/* 21010 */ {(12<<2)|2,{32,65,0}}, +/* 21011 */ {(12<<2)|2,{32,65,0}}, +/* 21012 */ {(12<<2)|2,{32,65,0}}, +/* 21013 */ {(12<<2)|2,{32,65,0}}, +/* 21014 */ {(12<<2)|2,{32,65,0}}, +/* 21015 */ {(12<<2)|2,{32,65,0}}, +/* 21016 */ {(12<<2)|2,{32,65,0}}, +/* 21017 */ {(12<<2)|2,{32,65,0}}, +/* 21018 */ {(12<<2)|2,{32,65,0}}, +/* 21019 */ {(12<<2)|2,{32,65,0}}, +/* 21020 */ {(12<<2)|2,{32,65,0}}, +/* 21021 */ {(12<<2)|2,{32,65,0}}, +/* 21022 */ {(12<<2)|2,{32,65,0}}, +/* 21023 */ {(12<<2)|2,{32,65,0}}, +/* 21024 */ {(12<<2)|2,{32,95,0}}, +/* 21025 */ {(12<<2)|2,{32,95,0}}, +/* 21026 */ {(12<<2)|2,{32,95,0}}, +/* 21027 */ {(12<<2)|2,{32,95,0}}, +/* 21028 */ {(12<<2)|2,{32,95,0}}, +/* 21029 */ {(12<<2)|2,{32,95,0}}, +/* 21030 */ {(12<<2)|2,{32,95,0}}, +/* 21031 */ {(12<<2)|2,{32,95,0}}, +/* 21032 */ {(12<<2)|2,{32,95,0}}, +/* 21033 */ {(12<<2)|2,{32,95,0}}, +/* 21034 */ {(12<<2)|2,{32,95,0}}, +/* 21035 */ {(12<<2)|2,{32,95,0}}, +/* 21036 */ {(12<<2)|2,{32,95,0}}, +/* 21037 */ {(12<<2)|2,{32,95,0}}, +/* 21038 */ {(12<<2)|2,{32,95,0}}, +/* 21039 */ {(12<<2)|2,{32,95,0}}, +/* 21040 */ {(12<<2)|2,{32,98,0}}, +/* 21041 */ {(12<<2)|2,{32,98,0}}, +/* 21042 */ {(12<<2)|2,{32,98,0}}, +/* 21043 */ {(12<<2)|2,{32,98,0}}, +/* 21044 */ {(12<<2)|2,{32,98,0}}, +/* 21045 */ {(12<<2)|2,{32,98,0}}, +/* 21046 */ {(12<<2)|2,{32,98,0}}, +/* 21047 */ {(12<<2)|2,{32,98,0}}, +/* 21048 */ {(12<<2)|2,{32,98,0}}, +/* 21049 */ {(12<<2)|2,{32,98,0}}, +/* 21050 */ {(12<<2)|2,{32,98,0}}, +/* 21051 */ {(12<<2)|2,{32,98,0}}, +/* 21052 */ {(12<<2)|2,{32,98,0}}, +/* 21053 */ {(12<<2)|2,{32,98,0}}, +/* 21054 */ {(12<<2)|2,{32,98,0}}, +/* 21055 */ {(12<<2)|2,{32,98,0}}, +/* 21056 */ {(12<<2)|2,{32,100,0}}, +/* 21057 */ {(12<<2)|2,{32,100,0}}, +/* 21058 */ {(12<<2)|2,{32,100,0}}, +/* 21059 */ {(12<<2)|2,{32,100,0}}, +/* 21060 */ {(12<<2)|2,{32,100,0}}, +/* 21061 */ {(12<<2)|2,{32,100,0}}, +/* 21062 */ {(12<<2)|2,{32,100,0}}, +/* 21063 */ {(12<<2)|2,{32,100,0}}, +/* 21064 */ {(12<<2)|2,{32,100,0}}, +/* 21065 */ {(12<<2)|2,{32,100,0}}, +/* 21066 */ {(12<<2)|2,{32,100,0}}, +/* 21067 */ {(12<<2)|2,{32,100,0}}, +/* 21068 */ {(12<<2)|2,{32,100,0}}, +/* 21069 */ {(12<<2)|2,{32,100,0}}, +/* 21070 */ {(12<<2)|2,{32,100,0}}, +/* 21071 */ {(12<<2)|2,{32,100,0}}, +/* 21072 */ {(12<<2)|2,{32,102,0}}, +/* 21073 */ {(12<<2)|2,{32,102,0}}, +/* 21074 */ {(12<<2)|2,{32,102,0}}, +/* 21075 */ {(12<<2)|2,{32,102,0}}, +/* 21076 */ {(12<<2)|2,{32,102,0}}, +/* 21077 */ {(12<<2)|2,{32,102,0}}, +/* 21078 */ {(12<<2)|2,{32,102,0}}, +/* 21079 */ {(12<<2)|2,{32,102,0}}, +/* 21080 */ {(12<<2)|2,{32,102,0}}, +/* 21081 */ {(12<<2)|2,{32,102,0}}, +/* 21082 */ {(12<<2)|2,{32,102,0}}, +/* 21083 */ {(12<<2)|2,{32,102,0}}, +/* 21084 */ {(12<<2)|2,{32,102,0}}, +/* 21085 */ {(12<<2)|2,{32,102,0}}, +/* 21086 */ {(12<<2)|2,{32,102,0}}, +/* 21087 */ {(12<<2)|2,{32,102,0}}, +/* 21088 */ {(12<<2)|2,{32,103,0}}, +/* 21089 */ {(12<<2)|2,{32,103,0}}, +/* 21090 */ {(12<<2)|2,{32,103,0}}, +/* 21091 */ {(12<<2)|2,{32,103,0}}, +/* 21092 */ {(12<<2)|2,{32,103,0}}, +/* 21093 */ {(12<<2)|2,{32,103,0}}, +/* 21094 */ {(12<<2)|2,{32,103,0}}, +/* 21095 */ {(12<<2)|2,{32,103,0}}, +/* 21096 */ {(12<<2)|2,{32,103,0}}, +/* 21097 */ {(12<<2)|2,{32,103,0}}, +/* 21098 */ {(12<<2)|2,{32,103,0}}, +/* 21099 */ {(12<<2)|2,{32,103,0}}, +/* 21100 */ {(12<<2)|2,{32,103,0}}, +/* 21101 */ {(12<<2)|2,{32,103,0}}, +/* 21102 */ {(12<<2)|2,{32,103,0}}, +/* 21103 */ {(12<<2)|2,{32,103,0}}, +/* 21104 */ {(12<<2)|2,{32,104,0}}, +/* 21105 */ {(12<<2)|2,{32,104,0}}, +/* 21106 */ {(12<<2)|2,{32,104,0}}, +/* 21107 */ {(12<<2)|2,{32,104,0}}, +/* 21108 */ {(12<<2)|2,{32,104,0}}, +/* 21109 */ {(12<<2)|2,{32,104,0}}, +/* 21110 */ {(12<<2)|2,{32,104,0}}, +/* 21111 */ {(12<<2)|2,{32,104,0}}, +/* 21112 */ {(12<<2)|2,{32,104,0}}, +/* 21113 */ {(12<<2)|2,{32,104,0}}, +/* 21114 */ {(12<<2)|2,{32,104,0}}, +/* 21115 */ {(12<<2)|2,{32,104,0}}, +/* 21116 */ {(12<<2)|2,{32,104,0}}, +/* 21117 */ {(12<<2)|2,{32,104,0}}, +/* 21118 */ {(12<<2)|2,{32,104,0}}, +/* 21119 */ {(12<<2)|2,{32,104,0}}, +/* 21120 */ {(12<<2)|2,{32,108,0}}, +/* 21121 */ {(12<<2)|2,{32,108,0}}, +/* 21122 */ {(12<<2)|2,{32,108,0}}, +/* 21123 */ {(12<<2)|2,{32,108,0}}, +/* 21124 */ {(12<<2)|2,{32,108,0}}, +/* 21125 */ {(12<<2)|2,{32,108,0}}, +/* 21126 */ {(12<<2)|2,{32,108,0}}, +/* 21127 */ {(12<<2)|2,{32,108,0}}, +/* 21128 */ {(12<<2)|2,{32,108,0}}, +/* 21129 */ {(12<<2)|2,{32,108,0}}, +/* 21130 */ {(12<<2)|2,{32,108,0}}, +/* 21131 */ {(12<<2)|2,{32,108,0}}, +/* 21132 */ {(12<<2)|2,{32,108,0}}, +/* 21133 */ {(12<<2)|2,{32,108,0}}, +/* 21134 */ {(12<<2)|2,{32,108,0}}, +/* 21135 */ {(12<<2)|2,{32,108,0}}, +/* 21136 */ {(12<<2)|2,{32,109,0}}, +/* 21137 */ {(12<<2)|2,{32,109,0}}, +/* 21138 */ {(12<<2)|2,{32,109,0}}, +/* 21139 */ {(12<<2)|2,{32,109,0}}, +/* 21140 */ {(12<<2)|2,{32,109,0}}, +/* 21141 */ {(12<<2)|2,{32,109,0}}, +/* 21142 */ {(12<<2)|2,{32,109,0}}, +/* 21143 */ {(12<<2)|2,{32,109,0}}, +/* 21144 */ {(12<<2)|2,{32,109,0}}, +/* 21145 */ {(12<<2)|2,{32,109,0}}, +/* 21146 */ {(12<<2)|2,{32,109,0}}, +/* 21147 */ {(12<<2)|2,{32,109,0}}, +/* 21148 */ {(12<<2)|2,{32,109,0}}, +/* 21149 */ {(12<<2)|2,{32,109,0}}, +/* 21150 */ {(12<<2)|2,{32,109,0}}, +/* 21151 */ {(12<<2)|2,{32,109,0}}, +/* 21152 */ {(12<<2)|2,{32,110,0}}, +/* 21153 */ {(12<<2)|2,{32,110,0}}, +/* 21154 */ {(12<<2)|2,{32,110,0}}, +/* 21155 */ {(12<<2)|2,{32,110,0}}, +/* 21156 */ {(12<<2)|2,{32,110,0}}, +/* 21157 */ {(12<<2)|2,{32,110,0}}, +/* 21158 */ {(12<<2)|2,{32,110,0}}, +/* 21159 */ {(12<<2)|2,{32,110,0}}, +/* 21160 */ {(12<<2)|2,{32,110,0}}, +/* 21161 */ {(12<<2)|2,{32,110,0}}, +/* 21162 */ {(12<<2)|2,{32,110,0}}, +/* 21163 */ {(12<<2)|2,{32,110,0}}, +/* 21164 */ {(12<<2)|2,{32,110,0}}, +/* 21165 */ {(12<<2)|2,{32,110,0}}, +/* 21166 */ {(12<<2)|2,{32,110,0}}, +/* 21167 */ {(12<<2)|2,{32,110,0}}, +/* 21168 */ {(12<<2)|2,{32,112,0}}, +/* 21169 */ {(12<<2)|2,{32,112,0}}, +/* 21170 */ {(12<<2)|2,{32,112,0}}, +/* 21171 */ {(12<<2)|2,{32,112,0}}, +/* 21172 */ {(12<<2)|2,{32,112,0}}, +/* 21173 */ {(12<<2)|2,{32,112,0}}, +/* 21174 */ {(12<<2)|2,{32,112,0}}, +/* 21175 */ {(12<<2)|2,{32,112,0}}, +/* 21176 */ {(12<<2)|2,{32,112,0}}, +/* 21177 */ {(12<<2)|2,{32,112,0}}, +/* 21178 */ {(12<<2)|2,{32,112,0}}, +/* 21179 */ {(12<<2)|2,{32,112,0}}, +/* 21180 */ {(12<<2)|2,{32,112,0}}, +/* 21181 */ {(12<<2)|2,{32,112,0}}, +/* 21182 */ {(12<<2)|2,{32,112,0}}, +/* 21183 */ {(12<<2)|2,{32,112,0}}, +/* 21184 */ {(12<<2)|2,{32,114,0}}, +/* 21185 */ {(12<<2)|2,{32,114,0}}, +/* 21186 */ {(12<<2)|2,{32,114,0}}, +/* 21187 */ {(12<<2)|2,{32,114,0}}, +/* 21188 */ {(12<<2)|2,{32,114,0}}, +/* 21189 */ {(12<<2)|2,{32,114,0}}, +/* 21190 */ {(12<<2)|2,{32,114,0}}, +/* 21191 */ {(12<<2)|2,{32,114,0}}, +/* 21192 */ {(12<<2)|2,{32,114,0}}, +/* 21193 */ {(12<<2)|2,{32,114,0}}, +/* 21194 */ {(12<<2)|2,{32,114,0}}, +/* 21195 */ {(12<<2)|2,{32,114,0}}, +/* 21196 */ {(12<<2)|2,{32,114,0}}, +/* 21197 */ {(12<<2)|2,{32,114,0}}, +/* 21198 */ {(12<<2)|2,{32,114,0}}, +/* 21199 */ {(12<<2)|2,{32,114,0}}, +/* 21200 */ {(12<<2)|2,{32,117,0}}, +/* 21201 */ {(12<<2)|2,{32,117,0}}, +/* 21202 */ {(12<<2)|2,{32,117,0}}, +/* 21203 */ {(12<<2)|2,{32,117,0}}, +/* 21204 */ {(12<<2)|2,{32,117,0}}, +/* 21205 */ {(12<<2)|2,{32,117,0}}, +/* 21206 */ {(12<<2)|2,{32,117,0}}, +/* 21207 */ {(12<<2)|2,{32,117,0}}, +/* 21208 */ {(12<<2)|2,{32,117,0}}, +/* 21209 */ {(12<<2)|2,{32,117,0}}, +/* 21210 */ {(12<<2)|2,{32,117,0}}, +/* 21211 */ {(12<<2)|2,{32,117,0}}, +/* 21212 */ {(12<<2)|2,{32,117,0}}, +/* 21213 */ {(12<<2)|2,{32,117,0}}, +/* 21214 */ {(12<<2)|2,{32,117,0}}, +/* 21215 */ {(12<<2)|2,{32,117,0}}, +/* 21216 */ {(13<<2)|2,{32,58,0}}, +/* 21217 */ {(13<<2)|2,{32,58,0}}, +/* 21218 */ {(13<<2)|2,{32,58,0}}, +/* 21219 */ {(13<<2)|2,{32,58,0}}, +/* 21220 */ {(13<<2)|2,{32,58,0}}, +/* 21221 */ {(13<<2)|2,{32,58,0}}, +/* 21222 */ {(13<<2)|2,{32,58,0}}, +/* 21223 */ {(13<<2)|2,{32,58,0}}, +/* 21224 */ {(13<<2)|2,{32,66,0}}, +/* 21225 */ {(13<<2)|2,{32,66,0}}, +/* 21226 */ {(13<<2)|2,{32,66,0}}, +/* 21227 */ {(13<<2)|2,{32,66,0}}, +/* 21228 */ {(13<<2)|2,{32,66,0}}, +/* 21229 */ {(13<<2)|2,{32,66,0}}, +/* 21230 */ {(13<<2)|2,{32,66,0}}, +/* 21231 */ {(13<<2)|2,{32,66,0}}, +/* 21232 */ {(13<<2)|2,{32,67,0}}, +/* 21233 */ {(13<<2)|2,{32,67,0}}, +/* 21234 */ {(13<<2)|2,{32,67,0}}, +/* 21235 */ {(13<<2)|2,{32,67,0}}, +/* 21236 */ {(13<<2)|2,{32,67,0}}, +/* 21237 */ {(13<<2)|2,{32,67,0}}, +/* 21238 */ {(13<<2)|2,{32,67,0}}, +/* 21239 */ {(13<<2)|2,{32,67,0}}, +/* 21240 */ {(13<<2)|2,{32,68,0}}, +/* 21241 */ {(13<<2)|2,{32,68,0}}, +/* 21242 */ {(13<<2)|2,{32,68,0}}, +/* 21243 */ {(13<<2)|2,{32,68,0}}, +/* 21244 */ {(13<<2)|2,{32,68,0}}, +/* 21245 */ {(13<<2)|2,{32,68,0}}, +/* 21246 */ {(13<<2)|2,{32,68,0}}, +/* 21247 */ {(13<<2)|2,{32,68,0}}, +/* 21248 */ {(13<<2)|2,{32,69,0}}, +/* 21249 */ {(13<<2)|2,{32,69,0}}, +/* 21250 */ {(13<<2)|2,{32,69,0}}, +/* 21251 */ {(13<<2)|2,{32,69,0}}, +/* 21252 */ {(13<<2)|2,{32,69,0}}, +/* 21253 */ {(13<<2)|2,{32,69,0}}, +/* 21254 */ {(13<<2)|2,{32,69,0}}, +/* 21255 */ {(13<<2)|2,{32,69,0}}, +/* 21256 */ {(13<<2)|2,{32,70,0}}, +/* 21257 */ {(13<<2)|2,{32,70,0}}, +/* 21258 */ {(13<<2)|2,{32,70,0}}, +/* 21259 */ {(13<<2)|2,{32,70,0}}, +/* 21260 */ {(13<<2)|2,{32,70,0}}, +/* 21261 */ {(13<<2)|2,{32,70,0}}, +/* 21262 */ {(13<<2)|2,{32,70,0}}, +/* 21263 */ {(13<<2)|2,{32,70,0}}, +/* 21264 */ {(13<<2)|2,{32,71,0}}, +/* 21265 */ {(13<<2)|2,{32,71,0}}, +/* 21266 */ {(13<<2)|2,{32,71,0}}, +/* 21267 */ {(13<<2)|2,{32,71,0}}, +/* 21268 */ {(13<<2)|2,{32,71,0}}, +/* 21269 */ {(13<<2)|2,{32,71,0}}, +/* 21270 */ {(13<<2)|2,{32,71,0}}, +/* 21271 */ {(13<<2)|2,{32,71,0}}, +/* 21272 */ {(13<<2)|2,{32,72,0}}, +/* 21273 */ {(13<<2)|2,{32,72,0}}, +/* 21274 */ {(13<<2)|2,{32,72,0}}, +/* 21275 */ {(13<<2)|2,{32,72,0}}, +/* 21276 */ {(13<<2)|2,{32,72,0}}, +/* 21277 */ {(13<<2)|2,{32,72,0}}, +/* 21278 */ {(13<<2)|2,{32,72,0}}, +/* 21279 */ {(13<<2)|2,{32,72,0}}, +/* 21280 */ {(13<<2)|2,{32,73,0}}, +/* 21281 */ {(13<<2)|2,{32,73,0}}, +/* 21282 */ {(13<<2)|2,{32,73,0}}, +/* 21283 */ {(13<<2)|2,{32,73,0}}, +/* 21284 */ {(13<<2)|2,{32,73,0}}, +/* 21285 */ {(13<<2)|2,{32,73,0}}, +/* 21286 */ {(13<<2)|2,{32,73,0}}, +/* 21287 */ {(13<<2)|2,{32,73,0}}, +/* 21288 */ {(13<<2)|2,{32,74,0}}, +/* 21289 */ {(13<<2)|2,{32,74,0}}, +/* 21290 */ {(13<<2)|2,{32,74,0}}, +/* 21291 */ {(13<<2)|2,{32,74,0}}, +/* 21292 */ {(13<<2)|2,{32,74,0}}, +/* 21293 */ {(13<<2)|2,{32,74,0}}, +/* 21294 */ {(13<<2)|2,{32,74,0}}, +/* 21295 */ {(13<<2)|2,{32,74,0}}, +/* 21296 */ {(13<<2)|2,{32,75,0}}, +/* 21297 */ {(13<<2)|2,{32,75,0}}, +/* 21298 */ {(13<<2)|2,{32,75,0}}, +/* 21299 */ {(13<<2)|2,{32,75,0}}, +/* 21300 */ {(13<<2)|2,{32,75,0}}, +/* 21301 */ {(13<<2)|2,{32,75,0}}, +/* 21302 */ {(13<<2)|2,{32,75,0}}, +/* 21303 */ {(13<<2)|2,{32,75,0}}, +/* 21304 */ {(13<<2)|2,{32,76,0}}, +/* 21305 */ {(13<<2)|2,{32,76,0}}, +/* 21306 */ {(13<<2)|2,{32,76,0}}, +/* 21307 */ {(13<<2)|2,{32,76,0}}, +/* 21308 */ {(13<<2)|2,{32,76,0}}, +/* 21309 */ {(13<<2)|2,{32,76,0}}, +/* 21310 */ {(13<<2)|2,{32,76,0}}, +/* 21311 */ {(13<<2)|2,{32,76,0}}, +/* 21312 */ {(13<<2)|2,{32,77,0}}, +/* 21313 */ {(13<<2)|2,{32,77,0}}, +/* 21314 */ {(13<<2)|2,{32,77,0}}, +/* 21315 */ {(13<<2)|2,{32,77,0}}, +/* 21316 */ {(13<<2)|2,{32,77,0}}, +/* 21317 */ {(13<<2)|2,{32,77,0}}, +/* 21318 */ {(13<<2)|2,{32,77,0}}, +/* 21319 */ {(13<<2)|2,{32,77,0}}, +/* 21320 */ {(13<<2)|2,{32,78,0}}, +/* 21321 */ {(13<<2)|2,{32,78,0}}, +/* 21322 */ {(13<<2)|2,{32,78,0}}, +/* 21323 */ {(13<<2)|2,{32,78,0}}, +/* 21324 */ {(13<<2)|2,{32,78,0}}, +/* 21325 */ {(13<<2)|2,{32,78,0}}, +/* 21326 */ {(13<<2)|2,{32,78,0}}, +/* 21327 */ {(13<<2)|2,{32,78,0}}, +/* 21328 */ {(13<<2)|2,{32,79,0}}, +/* 21329 */ {(13<<2)|2,{32,79,0}}, +/* 21330 */ {(13<<2)|2,{32,79,0}}, +/* 21331 */ {(13<<2)|2,{32,79,0}}, +/* 21332 */ {(13<<2)|2,{32,79,0}}, +/* 21333 */ {(13<<2)|2,{32,79,0}}, +/* 21334 */ {(13<<2)|2,{32,79,0}}, +/* 21335 */ {(13<<2)|2,{32,79,0}}, +/* 21336 */ {(13<<2)|2,{32,80,0}}, +/* 21337 */ {(13<<2)|2,{32,80,0}}, +/* 21338 */ {(13<<2)|2,{32,80,0}}, +/* 21339 */ {(13<<2)|2,{32,80,0}}, +/* 21340 */ {(13<<2)|2,{32,80,0}}, +/* 21341 */ {(13<<2)|2,{32,80,0}}, +/* 21342 */ {(13<<2)|2,{32,80,0}}, +/* 21343 */ {(13<<2)|2,{32,80,0}}, +/* 21344 */ {(13<<2)|2,{32,81,0}}, +/* 21345 */ {(13<<2)|2,{32,81,0}}, +/* 21346 */ {(13<<2)|2,{32,81,0}}, +/* 21347 */ {(13<<2)|2,{32,81,0}}, +/* 21348 */ {(13<<2)|2,{32,81,0}}, +/* 21349 */ {(13<<2)|2,{32,81,0}}, +/* 21350 */ {(13<<2)|2,{32,81,0}}, +/* 21351 */ {(13<<2)|2,{32,81,0}}, +/* 21352 */ {(13<<2)|2,{32,82,0}}, +/* 21353 */ {(13<<2)|2,{32,82,0}}, +/* 21354 */ {(13<<2)|2,{32,82,0}}, +/* 21355 */ {(13<<2)|2,{32,82,0}}, +/* 21356 */ {(13<<2)|2,{32,82,0}}, +/* 21357 */ {(13<<2)|2,{32,82,0}}, +/* 21358 */ {(13<<2)|2,{32,82,0}}, +/* 21359 */ {(13<<2)|2,{32,82,0}}, +/* 21360 */ {(13<<2)|2,{32,83,0}}, +/* 21361 */ {(13<<2)|2,{32,83,0}}, +/* 21362 */ {(13<<2)|2,{32,83,0}}, +/* 21363 */ {(13<<2)|2,{32,83,0}}, +/* 21364 */ {(13<<2)|2,{32,83,0}}, +/* 21365 */ {(13<<2)|2,{32,83,0}}, +/* 21366 */ {(13<<2)|2,{32,83,0}}, +/* 21367 */ {(13<<2)|2,{32,83,0}}, +/* 21368 */ {(13<<2)|2,{32,84,0}}, +/* 21369 */ {(13<<2)|2,{32,84,0}}, +/* 21370 */ {(13<<2)|2,{32,84,0}}, +/* 21371 */ {(13<<2)|2,{32,84,0}}, +/* 21372 */ {(13<<2)|2,{32,84,0}}, +/* 21373 */ {(13<<2)|2,{32,84,0}}, +/* 21374 */ {(13<<2)|2,{32,84,0}}, +/* 21375 */ {(13<<2)|2,{32,84,0}}, +/* 21376 */ {(13<<2)|2,{32,85,0}}, +/* 21377 */ {(13<<2)|2,{32,85,0}}, +/* 21378 */ {(13<<2)|2,{32,85,0}}, +/* 21379 */ {(13<<2)|2,{32,85,0}}, +/* 21380 */ {(13<<2)|2,{32,85,0}}, +/* 21381 */ {(13<<2)|2,{32,85,0}}, +/* 21382 */ {(13<<2)|2,{32,85,0}}, +/* 21383 */ {(13<<2)|2,{32,85,0}}, +/* 21384 */ {(13<<2)|2,{32,86,0}}, +/* 21385 */ {(13<<2)|2,{32,86,0}}, +/* 21386 */ {(13<<2)|2,{32,86,0}}, +/* 21387 */ {(13<<2)|2,{32,86,0}}, +/* 21388 */ {(13<<2)|2,{32,86,0}}, +/* 21389 */ {(13<<2)|2,{32,86,0}}, +/* 21390 */ {(13<<2)|2,{32,86,0}}, +/* 21391 */ {(13<<2)|2,{32,86,0}}, +/* 21392 */ {(13<<2)|2,{32,87,0}}, +/* 21393 */ {(13<<2)|2,{32,87,0}}, +/* 21394 */ {(13<<2)|2,{32,87,0}}, +/* 21395 */ {(13<<2)|2,{32,87,0}}, +/* 21396 */ {(13<<2)|2,{32,87,0}}, +/* 21397 */ {(13<<2)|2,{32,87,0}}, +/* 21398 */ {(13<<2)|2,{32,87,0}}, +/* 21399 */ {(13<<2)|2,{32,87,0}}, +/* 21400 */ {(13<<2)|2,{32,89,0}}, +/* 21401 */ {(13<<2)|2,{32,89,0}}, +/* 21402 */ {(13<<2)|2,{32,89,0}}, +/* 21403 */ {(13<<2)|2,{32,89,0}}, +/* 21404 */ {(13<<2)|2,{32,89,0}}, +/* 21405 */ {(13<<2)|2,{32,89,0}}, +/* 21406 */ {(13<<2)|2,{32,89,0}}, +/* 21407 */ {(13<<2)|2,{32,89,0}}, +/* 21408 */ {(13<<2)|2,{32,106,0}}, +/* 21409 */ {(13<<2)|2,{32,106,0}}, +/* 21410 */ {(13<<2)|2,{32,106,0}}, +/* 21411 */ {(13<<2)|2,{32,106,0}}, +/* 21412 */ {(13<<2)|2,{32,106,0}}, +/* 21413 */ {(13<<2)|2,{32,106,0}}, +/* 21414 */ {(13<<2)|2,{32,106,0}}, +/* 21415 */ {(13<<2)|2,{32,106,0}}, +/* 21416 */ {(13<<2)|2,{32,107,0}}, +/* 21417 */ {(13<<2)|2,{32,107,0}}, +/* 21418 */ {(13<<2)|2,{32,107,0}}, +/* 21419 */ {(13<<2)|2,{32,107,0}}, +/* 21420 */ {(13<<2)|2,{32,107,0}}, +/* 21421 */ {(13<<2)|2,{32,107,0}}, +/* 21422 */ {(13<<2)|2,{32,107,0}}, +/* 21423 */ {(13<<2)|2,{32,107,0}}, +/* 21424 */ {(13<<2)|2,{32,113,0}}, +/* 21425 */ {(13<<2)|2,{32,113,0}}, +/* 21426 */ {(13<<2)|2,{32,113,0}}, +/* 21427 */ {(13<<2)|2,{32,113,0}}, +/* 21428 */ {(13<<2)|2,{32,113,0}}, +/* 21429 */ {(13<<2)|2,{32,113,0}}, +/* 21430 */ {(13<<2)|2,{32,113,0}}, +/* 21431 */ {(13<<2)|2,{32,113,0}}, +/* 21432 */ {(13<<2)|2,{32,118,0}}, +/* 21433 */ {(13<<2)|2,{32,118,0}}, +/* 21434 */ {(13<<2)|2,{32,118,0}}, +/* 21435 */ {(13<<2)|2,{32,118,0}}, +/* 21436 */ {(13<<2)|2,{32,118,0}}, +/* 21437 */ {(13<<2)|2,{32,118,0}}, +/* 21438 */ {(13<<2)|2,{32,118,0}}, +/* 21439 */ {(13<<2)|2,{32,118,0}}, +/* 21440 */ {(13<<2)|2,{32,119,0}}, +/* 21441 */ {(13<<2)|2,{32,119,0}}, +/* 21442 */ {(13<<2)|2,{32,119,0}}, +/* 21443 */ {(13<<2)|2,{32,119,0}}, +/* 21444 */ {(13<<2)|2,{32,119,0}}, +/* 21445 */ {(13<<2)|2,{32,119,0}}, +/* 21446 */ {(13<<2)|2,{32,119,0}}, +/* 21447 */ {(13<<2)|2,{32,119,0}}, +/* 21448 */ {(13<<2)|2,{32,120,0}}, +/* 21449 */ {(13<<2)|2,{32,120,0}}, +/* 21450 */ {(13<<2)|2,{32,120,0}}, +/* 21451 */ {(13<<2)|2,{32,120,0}}, +/* 21452 */ {(13<<2)|2,{32,120,0}}, +/* 21453 */ {(13<<2)|2,{32,120,0}}, +/* 21454 */ {(13<<2)|2,{32,120,0}}, +/* 21455 */ {(13<<2)|2,{32,120,0}}, +/* 21456 */ {(13<<2)|2,{32,121,0}}, +/* 21457 */ {(13<<2)|2,{32,121,0}}, +/* 21458 */ {(13<<2)|2,{32,121,0}}, +/* 21459 */ {(13<<2)|2,{32,121,0}}, +/* 21460 */ {(13<<2)|2,{32,121,0}}, +/* 21461 */ {(13<<2)|2,{32,121,0}}, +/* 21462 */ {(13<<2)|2,{32,121,0}}, +/* 21463 */ {(13<<2)|2,{32,121,0}}, +/* 21464 */ {(13<<2)|2,{32,122,0}}, +/* 21465 */ {(13<<2)|2,{32,122,0}}, +/* 21466 */ {(13<<2)|2,{32,122,0}}, +/* 21467 */ {(13<<2)|2,{32,122,0}}, +/* 21468 */ {(13<<2)|2,{32,122,0}}, +/* 21469 */ {(13<<2)|2,{32,122,0}}, +/* 21470 */ {(13<<2)|2,{32,122,0}}, +/* 21471 */ {(13<<2)|2,{32,122,0}}, +/* 21472 */ {(14<<2)|2,{32,38,0}}, +/* 21473 */ {(14<<2)|2,{32,38,0}}, +/* 21474 */ {(14<<2)|2,{32,38,0}}, +/* 21475 */ {(14<<2)|2,{32,38,0}}, +/* 21476 */ {(14<<2)|2,{32,42,0}}, +/* 21477 */ {(14<<2)|2,{32,42,0}}, +/* 21478 */ {(14<<2)|2,{32,42,0}}, +/* 21479 */ {(14<<2)|2,{32,42,0}}, +/* 21480 */ {(14<<2)|2,{32,44,0}}, +/* 21481 */ {(14<<2)|2,{32,44,0}}, +/* 21482 */ {(14<<2)|2,{32,44,0}}, +/* 21483 */ {(14<<2)|2,{32,44,0}}, +/* 21484 */ {(14<<2)|2,{32,59,0}}, +/* 21485 */ {(14<<2)|2,{32,59,0}}, +/* 21486 */ {(14<<2)|2,{32,59,0}}, +/* 21487 */ {(14<<2)|2,{32,59,0}}, +/* 21488 */ {(14<<2)|2,{32,88,0}}, +/* 21489 */ {(14<<2)|2,{32,88,0}}, +/* 21490 */ {(14<<2)|2,{32,88,0}}, +/* 21491 */ {(14<<2)|2,{32,88,0}}, +/* 21492 */ {(14<<2)|2,{32,90,0}}, +/* 21493 */ {(14<<2)|2,{32,90,0}}, +/* 21494 */ {(14<<2)|2,{32,90,0}}, +/* 21495 */ {(14<<2)|2,{32,90,0}}, +/* 21496 */ {(16<<2)|2,{32,33,0}}, +/* 21497 */ {(16<<2)|2,{32,34,0}}, +/* 21498 */ {(16<<2)|2,{32,40,0}}, +/* 21499 */ {(16<<2)|2,{32,41,0}}, +/* 21500 */ {(16<<2)|2,{32,63,0}}, +/* 21501 */ {(6<<2)|1,{32,0,0}}, +/* 21502 */ {(6<<2)|1,{32,0,0}}, +/* 21503 */ {(6<<2)|1,{32,0,0}}, +/* 21504 */ {(16<<2)|3,{37,48,48}}, +/* 21505 */ {(16<<2)|3,{37,48,49}}, +/* 21506 */ {(16<<2)|3,{37,48,50}}, +/* 21507 */ {(16<<2)|3,{37,48,97}}, +/* 21508 */ {(16<<2)|3,{37,48,99}}, +/* 21509 */ {(16<<2)|3,{37,48,101}}, +/* 21510 */ {(16<<2)|3,{37,48,105}}, +/* 21511 */ {(16<<2)|3,{37,48,111}}, +/* 21512 */ {(16<<2)|3,{37,48,115}}, +/* 21513 */ {(16<<2)|3,{37,48,116}}, +/* 21514 */ {(11<<2)|2,{37,48,0}}, +/* 21515 */ {(11<<2)|2,{37,48,0}}, +/* 21516 */ {(11<<2)|2,{37,48,0}}, +/* 21517 */ {(11<<2)|2,{37,48,0}}, +/* 21518 */ {(11<<2)|2,{37,48,0}}, +/* 21519 */ {(11<<2)|2,{37,48,0}}, +/* 21520 */ {(11<<2)|2,{37,48,0}}, +/* 21521 */ {(11<<2)|2,{37,48,0}}, +/* 21522 */ {(11<<2)|2,{37,48,0}}, +/* 21523 */ {(11<<2)|2,{37,48,0}}, +/* 21524 */ {(11<<2)|2,{37,48,0}}, +/* 21525 */ {(11<<2)|2,{37,48,0}}, +/* 21526 */ {(11<<2)|2,{37,48,0}}, +/* 21527 */ {(11<<2)|2,{37,48,0}}, +/* 21528 */ {(11<<2)|2,{37,48,0}}, +/* 21529 */ {(11<<2)|2,{37,48,0}}, +/* 21530 */ {(11<<2)|2,{37,48,0}}, +/* 21531 */ {(11<<2)|2,{37,48,0}}, +/* 21532 */ {(11<<2)|2,{37,48,0}}, +/* 21533 */ {(11<<2)|2,{37,48,0}}, +/* 21534 */ {(11<<2)|2,{37,48,0}}, +/* 21535 */ {(11<<2)|2,{37,48,0}}, +/* 21536 */ {(16<<2)|3,{37,49,48}}, +/* 21537 */ {(16<<2)|3,{37,49,49}}, +/* 21538 */ {(16<<2)|3,{37,49,50}}, +/* 21539 */ {(16<<2)|3,{37,49,97}}, +/* 21540 */ {(16<<2)|3,{37,49,99}}, +/* 21541 */ {(16<<2)|3,{37,49,101}}, +/* 21542 */ {(16<<2)|3,{37,49,105}}, +/* 21543 */ {(16<<2)|3,{37,49,111}}, +/* 21544 */ {(16<<2)|3,{37,49,115}}, +/* 21545 */ {(16<<2)|3,{37,49,116}}, +/* 21546 */ {(11<<2)|2,{37,49,0}}, +/* 21547 */ {(11<<2)|2,{37,49,0}}, +/* 21548 */ {(11<<2)|2,{37,49,0}}, +/* 21549 */ {(11<<2)|2,{37,49,0}}, +/* 21550 */ {(11<<2)|2,{37,49,0}}, +/* 21551 */ {(11<<2)|2,{37,49,0}}, +/* 21552 */ {(11<<2)|2,{37,49,0}}, +/* 21553 */ {(11<<2)|2,{37,49,0}}, +/* 21554 */ {(11<<2)|2,{37,49,0}}, +/* 21555 */ {(11<<2)|2,{37,49,0}}, +/* 21556 */ {(11<<2)|2,{37,49,0}}, +/* 21557 */ {(11<<2)|2,{37,49,0}}, +/* 21558 */ {(11<<2)|2,{37,49,0}}, +/* 21559 */ {(11<<2)|2,{37,49,0}}, +/* 21560 */ {(11<<2)|2,{37,49,0}}, +/* 21561 */ {(11<<2)|2,{37,49,0}}, +/* 21562 */ {(11<<2)|2,{37,49,0}}, +/* 21563 */ {(11<<2)|2,{37,49,0}}, +/* 21564 */ {(11<<2)|2,{37,49,0}}, +/* 21565 */ {(11<<2)|2,{37,49,0}}, +/* 21566 */ {(11<<2)|2,{37,49,0}}, +/* 21567 */ {(11<<2)|2,{37,49,0}}, +/* 21568 */ {(16<<2)|3,{37,50,48}}, +/* 21569 */ {(16<<2)|3,{37,50,49}}, +/* 21570 */ {(16<<2)|3,{37,50,50}}, +/* 21571 */ {(16<<2)|3,{37,50,97}}, +/* 21572 */ {(16<<2)|3,{37,50,99}}, +/* 21573 */ {(16<<2)|3,{37,50,101}}, +/* 21574 */ {(16<<2)|3,{37,50,105}}, +/* 21575 */ {(16<<2)|3,{37,50,111}}, +/* 21576 */ {(16<<2)|3,{37,50,115}}, +/* 21577 */ {(16<<2)|3,{37,50,116}}, +/* 21578 */ {(11<<2)|2,{37,50,0}}, +/* 21579 */ {(11<<2)|2,{37,50,0}}, +/* 21580 */ {(11<<2)|2,{37,50,0}}, +/* 21581 */ {(11<<2)|2,{37,50,0}}, +/* 21582 */ {(11<<2)|2,{37,50,0}}, +/* 21583 */ {(11<<2)|2,{37,50,0}}, +/* 21584 */ {(11<<2)|2,{37,50,0}}, +/* 21585 */ {(11<<2)|2,{37,50,0}}, +/* 21586 */ {(11<<2)|2,{37,50,0}}, +/* 21587 */ {(11<<2)|2,{37,50,0}}, +/* 21588 */ {(11<<2)|2,{37,50,0}}, +/* 21589 */ {(11<<2)|2,{37,50,0}}, +/* 21590 */ {(11<<2)|2,{37,50,0}}, +/* 21591 */ {(11<<2)|2,{37,50,0}}, +/* 21592 */ {(11<<2)|2,{37,50,0}}, +/* 21593 */ {(11<<2)|2,{37,50,0}}, +/* 21594 */ {(11<<2)|2,{37,50,0}}, +/* 21595 */ {(11<<2)|2,{37,50,0}}, +/* 21596 */ {(11<<2)|2,{37,50,0}}, +/* 21597 */ {(11<<2)|2,{37,50,0}}, +/* 21598 */ {(11<<2)|2,{37,50,0}}, +/* 21599 */ {(11<<2)|2,{37,50,0}}, +/* 21600 */ {(16<<2)|3,{37,97,48}}, +/* 21601 */ {(16<<2)|3,{37,97,49}}, +/* 21602 */ {(16<<2)|3,{37,97,50}}, +/* 21603 */ {(16<<2)|3,{37,97,97}}, +/* 21604 */ {(16<<2)|3,{37,97,99}}, +/* 21605 */ {(16<<2)|3,{37,97,101}}, +/* 21606 */ {(16<<2)|3,{37,97,105}}, +/* 21607 */ {(16<<2)|3,{37,97,111}}, +/* 21608 */ {(16<<2)|3,{37,97,115}}, +/* 21609 */ {(16<<2)|3,{37,97,116}}, +/* 21610 */ {(11<<2)|2,{37,97,0}}, +/* 21611 */ {(11<<2)|2,{37,97,0}}, +/* 21612 */ {(11<<2)|2,{37,97,0}}, +/* 21613 */ {(11<<2)|2,{37,97,0}}, +/* 21614 */ {(11<<2)|2,{37,97,0}}, +/* 21615 */ {(11<<2)|2,{37,97,0}}, +/* 21616 */ {(11<<2)|2,{37,97,0}}, +/* 21617 */ {(11<<2)|2,{37,97,0}}, +/* 21618 */ {(11<<2)|2,{37,97,0}}, +/* 21619 */ {(11<<2)|2,{37,97,0}}, +/* 21620 */ {(11<<2)|2,{37,97,0}}, +/* 21621 */ {(11<<2)|2,{37,97,0}}, +/* 21622 */ {(11<<2)|2,{37,97,0}}, +/* 21623 */ {(11<<2)|2,{37,97,0}}, +/* 21624 */ {(11<<2)|2,{37,97,0}}, +/* 21625 */ {(11<<2)|2,{37,97,0}}, +/* 21626 */ {(11<<2)|2,{37,97,0}}, +/* 21627 */ {(11<<2)|2,{37,97,0}}, +/* 21628 */ {(11<<2)|2,{37,97,0}}, +/* 21629 */ {(11<<2)|2,{37,97,0}}, +/* 21630 */ {(11<<2)|2,{37,97,0}}, +/* 21631 */ {(11<<2)|2,{37,97,0}}, +/* 21632 */ {(16<<2)|3,{37,99,48}}, +/* 21633 */ {(16<<2)|3,{37,99,49}}, +/* 21634 */ {(16<<2)|3,{37,99,50}}, +/* 21635 */ {(16<<2)|3,{37,99,97}}, +/* 21636 */ {(16<<2)|3,{37,99,99}}, +/* 21637 */ {(16<<2)|3,{37,99,101}}, +/* 21638 */ {(16<<2)|3,{37,99,105}}, +/* 21639 */ {(16<<2)|3,{37,99,111}}, +/* 21640 */ {(16<<2)|3,{37,99,115}}, +/* 21641 */ {(16<<2)|3,{37,99,116}}, +/* 21642 */ {(11<<2)|2,{37,99,0}}, +/* 21643 */ {(11<<2)|2,{37,99,0}}, +/* 21644 */ {(11<<2)|2,{37,99,0}}, +/* 21645 */ {(11<<2)|2,{37,99,0}}, +/* 21646 */ {(11<<2)|2,{37,99,0}}, +/* 21647 */ {(11<<2)|2,{37,99,0}}, +/* 21648 */ {(11<<2)|2,{37,99,0}}, +/* 21649 */ {(11<<2)|2,{37,99,0}}, +/* 21650 */ {(11<<2)|2,{37,99,0}}, +/* 21651 */ {(11<<2)|2,{37,99,0}}, +/* 21652 */ {(11<<2)|2,{37,99,0}}, +/* 21653 */ {(11<<2)|2,{37,99,0}}, +/* 21654 */ {(11<<2)|2,{37,99,0}}, +/* 21655 */ {(11<<2)|2,{37,99,0}}, +/* 21656 */ {(11<<2)|2,{37,99,0}}, +/* 21657 */ {(11<<2)|2,{37,99,0}}, +/* 21658 */ {(11<<2)|2,{37,99,0}}, +/* 21659 */ {(11<<2)|2,{37,99,0}}, +/* 21660 */ {(11<<2)|2,{37,99,0}}, +/* 21661 */ {(11<<2)|2,{37,99,0}}, +/* 21662 */ {(11<<2)|2,{37,99,0}}, +/* 21663 */ {(11<<2)|2,{37,99,0}}, +/* 21664 */ {(16<<2)|3,{37,101,48}}, +/* 21665 */ {(16<<2)|3,{37,101,49}}, +/* 21666 */ {(16<<2)|3,{37,101,50}}, +/* 21667 */ {(16<<2)|3,{37,101,97}}, +/* 21668 */ {(16<<2)|3,{37,101,99}}, +/* 21669 */ {(16<<2)|3,{37,101,101}}, +/* 21670 */ {(16<<2)|3,{37,101,105}}, +/* 21671 */ {(16<<2)|3,{37,101,111}}, +/* 21672 */ {(16<<2)|3,{37,101,115}}, +/* 21673 */ {(16<<2)|3,{37,101,116}}, +/* 21674 */ {(11<<2)|2,{37,101,0}}, +/* 21675 */ {(11<<2)|2,{37,101,0}}, +/* 21676 */ {(11<<2)|2,{37,101,0}}, +/* 21677 */ {(11<<2)|2,{37,101,0}}, +/* 21678 */ {(11<<2)|2,{37,101,0}}, +/* 21679 */ {(11<<2)|2,{37,101,0}}, +/* 21680 */ {(11<<2)|2,{37,101,0}}, +/* 21681 */ {(11<<2)|2,{37,101,0}}, +/* 21682 */ {(11<<2)|2,{37,101,0}}, +/* 21683 */ {(11<<2)|2,{37,101,0}}, +/* 21684 */ {(11<<2)|2,{37,101,0}}, +/* 21685 */ {(11<<2)|2,{37,101,0}}, +/* 21686 */ {(11<<2)|2,{37,101,0}}, +/* 21687 */ {(11<<2)|2,{37,101,0}}, +/* 21688 */ {(11<<2)|2,{37,101,0}}, +/* 21689 */ {(11<<2)|2,{37,101,0}}, +/* 21690 */ {(11<<2)|2,{37,101,0}}, +/* 21691 */ {(11<<2)|2,{37,101,0}}, +/* 21692 */ {(11<<2)|2,{37,101,0}}, +/* 21693 */ {(11<<2)|2,{37,101,0}}, +/* 21694 */ {(11<<2)|2,{37,101,0}}, +/* 21695 */ {(11<<2)|2,{37,101,0}}, +/* 21696 */ {(16<<2)|3,{37,105,48}}, +/* 21697 */ {(16<<2)|3,{37,105,49}}, +/* 21698 */ {(16<<2)|3,{37,105,50}}, +/* 21699 */ {(16<<2)|3,{37,105,97}}, +/* 21700 */ {(16<<2)|3,{37,105,99}}, +/* 21701 */ {(16<<2)|3,{37,105,101}}, +/* 21702 */ {(16<<2)|3,{37,105,105}}, +/* 21703 */ {(16<<2)|3,{37,105,111}}, +/* 21704 */ {(16<<2)|3,{37,105,115}}, +/* 21705 */ {(16<<2)|3,{37,105,116}}, +/* 21706 */ {(11<<2)|2,{37,105,0}}, +/* 21707 */ {(11<<2)|2,{37,105,0}}, +/* 21708 */ {(11<<2)|2,{37,105,0}}, +/* 21709 */ {(11<<2)|2,{37,105,0}}, +/* 21710 */ {(11<<2)|2,{37,105,0}}, +/* 21711 */ {(11<<2)|2,{37,105,0}}, +/* 21712 */ {(11<<2)|2,{37,105,0}}, +/* 21713 */ {(11<<2)|2,{37,105,0}}, +/* 21714 */ {(11<<2)|2,{37,105,0}}, +/* 21715 */ {(11<<2)|2,{37,105,0}}, +/* 21716 */ {(11<<2)|2,{37,105,0}}, +/* 21717 */ {(11<<2)|2,{37,105,0}}, +/* 21718 */ {(11<<2)|2,{37,105,0}}, +/* 21719 */ {(11<<2)|2,{37,105,0}}, +/* 21720 */ {(11<<2)|2,{37,105,0}}, +/* 21721 */ {(11<<2)|2,{37,105,0}}, +/* 21722 */ {(11<<2)|2,{37,105,0}}, +/* 21723 */ {(11<<2)|2,{37,105,0}}, +/* 21724 */ {(11<<2)|2,{37,105,0}}, +/* 21725 */ {(11<<2)|2,{37,105,0}}, +/* 21726 */ {(11<<2)|2,{37,105,0}}, +/* 21727 */ {(11<<2)|2,{37,105,0}}, +/* 21728 */ {(16<<2)|3,{37,111,48}}, +/* 21729 */ {(16<<2)|3,{37,111,49}}, +/* 21730 */ {(16<<2)|3,{37,111,50}}, +/* 21731 */ {(16<<2)|3,{37,111,97}}, +/* 21732 */ {(16<<2)|3,{37,111,99}}, +/* 21733 */ {(16<<2)|3,{37,111,101}}, +/* 21734 */ {(16<<2)|3,{37,111,105}}, +/* 21735 */ {(16<<2)|3,{37,111,111}}, +/* 21736 */ {(16<<2)|3,{37,111,115}}, +/* 21737 */ {(16<<2)|3,{37,111,116}}, +/* 21738 */ {(11<<2)|2,{37,111,0}}, +/* 21739 */ {(11<<2)|2,{37,111,0}}, +/* 21740 */ {(11<<2)|2,{37,111,0}}, +/* 21741 */ {(11<<2)|2,{37,111,0}}, +/* 21742 */ {(11<<2)|2,{37,111,0}}, +/* 21743 */ {(11<<2)|2,{37,111,0}}, +/* 21744 */ {(11<<2)|2,{37,111,0}}, +/* 21745 */ {(11<<2)|2,{37,111,0}}, +/* 21746 */ {(11<<2)|2,{37,111,0}}, +/* 21747 */ {(11<<2)|2,{37,111,0}}, +/* 21748 */ {(11<<2)|2,{37,111,0}}, +/* 21749 */ {(11<<2)|2,{37,111,0}}, +/* 21750 */ {(11<<2)|2,{37,111,0}}, +/* 21751 */ {(11<<2)|2,{37,111,0}}, +/* 21752 */ {(11<<2)|2,{37,111,0}}, +/* 21753 */ {(11<<2)|2,{37,111,0}}, +/* 21754 */ {(11<<2)|2,{37,111,0}}, +/* 21755 */ {(11<<2)|2,{37,111,0}}, +/* 21756 */ {(11<<2)|2,{37,111,0}}, +/* 21757 */ {(11<<2)|2,{37,111,0}}, +/* 21758 */ {(11<<2)|2,{37,111,0}}, +/* 21759 */ {(11<<2)|2,{37,111,0}}, +/* 21760 */ {(16<<2)|3,{37,115,48}}, +/* 21761 */ {(16<<2)|3,{37,115,49}}, +/* 21762 */ {(16<<2)|3,{37,115,50}}, +/* 21763 */ {(16<<2)|3,{37,115,97}}, +/* 21764 */ {(16<<2)|3,{37,115,99}}, +/* 21765 */ {(16<<2)|3,{37,115,101}}, +/* 21766 */ {(16<<2)|3,{37,115,105}}, +/* 21767 */ {(16<<2)|3,{37,115,111}}, +/* 21768 */ {(16<<2)|3,{37,115,115}}, +/* 21769 */ {(16<<2)|3,{37,115,116}}, +/* 21770 */ {(11<<2)|2,{37,115,0}}, +/* 21771 */ {(11<<2)|2,{37,115,0}}, +/* 21772 */ {(11<<2)|2,{37,115,0}}, +/* 21773 */ {(11<<2)|2,{37,115,0}}, +/* 21774 */ {(11<<2)|2,{37,115,0}}, +/* 21775 */ {(11<<2)|2,{37,115,0}}, +/* 21776 */ {(11<<2)|2,{37,115,0}}, +/* 21777 */ {(11<<2)|2,{37,115,0}}, +/* 21778 */ {(11<<2)|2,{37,115,0}}, +/* 21779 */ {(11<<2)|2,{37,115,0}}, +/* 21780 */ {(11<<2)|2,{37,115,0}}, +/* 21781 */ {(11<<2)|2,{37,115,0}}, +/* 21782 */ {(11<<2)|2,{37,115,0}}, +/* 21783 */ {(11<<2)|2,{37,115,0}}, +/* 21784 */ {(11<<2)|2,{37,115,0}}, +/* 21785 */ {(11<<2)|2,{37,115,0}}, +/* 21786 */ {(11<<2)|2,{37,115,0}}, +/* 21787 */ {(11<<2)|2,{37,115,0}}, +/* 21788 */ {(11<<2)|2,{37,115,0}}, +/* 21789 */ {(11<<2)|2,{37,115,0}}, +/* 21790 */ {(11<<2)|2,{37,115,0}}, +/* 21791 */ {(11<<2)|2,{37,115,0}}, +/* 21792 */ {(16<<2)|3,{37,116,48}}, +/* 21793 */ {(16<<2)|3,{37,116,49}}, +/* 21794 */ {(16<<2)|3,{37,116,50}}, +/* 21795 */ {(16<<2)|3,{37,116,97}}, +/* 21796 */ {(16<<2)|3,{37,116,99}}, +/* 21797 */ {(16<<2)|3,{37,116,101}}, +/* 21798 */ {(16<<2)|3,{37,116,105}}, +/* 21799 */ {(16<<2)|3,{37,116,111}}, +/* 21800 */ {(16<<2)|3,{37,116,115}}, +/* 21801 */ {(16<<2)|3,{37,116,116}}, +/* 21802 */ {(11<<2)|2,{37,116,0}}, +/* 21803 */ {(11<<2)|2,{37,116,0}}, +/* 21804 */ {(11<<2)|2,{37,116,0}}, +/* 21805 */ {(11<<2)|2,{37,116,0}}, +/* 21806 */ {(11<<2)|2,{37,116,0}}, +/* 21807 */ {(11<<2)|2,{37,116,0}}, +/* 21808 */ {(11<<2)|2,{37,116,0}}, +/* 21809 */ {(11<<2)|2,{37,116,0}}, +/* 21810 */ {(11<<2)|2,{37,116,0}}, +/* 21811 */ {(11<<2)|2,{37,116,0}}, +/* 21812 */ {(11<<2)|2,{37,116,0}}, +/* 21813 */ {(11<<2)|2,{37,116,0}}, +/* 21814 */ {(11<<2)|2,{37,116,0}}, +/* 21815 */ {(11<<2)|2,{37,116,0}}, +/* 21816 */ {(11<<2)|2,{37,116,0}}, +/* 21817 */ {(11<<2)|2,{37,116,0}}, +/* 21818 */ {(11<<2)|2,{37,116,0}}, +/* 21819 */ {(11<<2)|2,{37,116,0}}, +/* 21820 */ {(11<<2)|2,{37,116,0}}, +/* 21821 */ {(11<<2)|2,{37,116,0}}, +/* 21822 */ {(11<<2)|2,{37,116,0}}, +/* 21823 */ {(11<<2)|2,{37,116,0}}, +/* 21824 */ {(12<<2)|2,{37,32,0}}, +/* 21825 */ {(12<<2)|2,{37,32,0}}, +/* 21826 */ {(12<<2)|2,{37,32,0}}, +/* 21827 */ {(12<<2)|2,{37,32,0}}, +/* 21828 */ {(12<<2)|2,{37,32,0}}, +/* 21829 */ {(12<<2)|2,{37,32,0}}, +/* 21830 */ {(12<<2)|2,{37,32,0}}, +/* 21831 */ {(12<<2)|2,{37,32,0}}, +/* 21832 */ {(12<<2)|2,{37,32,0}}, +/* 21833 */ {(12<<2)|2,{37,32,0}}, +/* 21834 */ {(12<<2)|2,{37,32,0}}, +/* 21835 */ {(12<<2)|2,{37,32,0}}, +/* 21836 */ {(12<<2)|2,{37,32,0}}, +/* 21837 */ {(12<<2)|2,{37,32,0}}, +/* 21838 */ {(12<<2)|2,{37,32,0}}, +/* 21839 */ {(12<<2)|2,{37,32,0}}, +/* 21840 */ {(12<<2)|2,{37,37,0}}, +/* 21841 */ {(12<<2)|2,{37,37,0}}, +/* 21842 */ {(12<<2)|2,{37,37,0}}, +/* 21843 */ {(12<<2)|2,{37,37,0}}, +/* 21844 */ {(12<<2)|2,{37,37,0}}, +/* 21845 */ {(12<<2)|2,{37,37,0}}, +/* 21846 */ {(12<<2)|2,{37,37,0}}, +/* 21847 */ {(12<<2)|2,{37,37,0}}, +/* 21848 */ {(12<<2)|2,{37,37,0}}, +/* 21849 */ {(12<<2)|2,{37,37,0}}, +/* 21850 */ {(12<<2)|2,{37,37,0}}, +/* 21851 */ {(12<<2)|2,{37,37,0}}, +/* 21852 */ {(12<<2)|2,{37,37,0}}, +/* 21853 */ {(12<<2)|2,{37,37,0}}, +/* 21854 */ {(12<<2)|2,{37,37,0}}, +/* 21855 */ {(12<<2)|2,{37,37,0}}, +/* 21856 */ {(12<<2)|2,{37,45,0}}, +/* 21857 */ {(12<<2)|2,{37,45,0}}, +/* 21858 */ {(12<<2)|2,{37,45,0}}, +/* 21859 */ {(12<<2)|2,{37,45,0}}, +/* 21860 */ {(12<<2)|2,{37,45,0}}, +/* 21861 */ {(12<<2)|2,{37,45,0}}, +/* 21862 */ {(12<<2)|2,{37,45,0}}, +/* 21863 */ {(12<<2)|2,{37,45,0}}, +/* 21864 */ {(12<<2)|2,{37,45,0}}, +/* 21865 */ {(12<<2)|2,{37,45,0}}, +/* 21866 */ {(12<<2)|2,{37,45,0}}, +/* 21867 */ {(12<<2)|2,{37,45,0}}, +/* 21868 */ {(12<<2)|2,{37,45,0}}, +/* 21869 */ {(12<<2)|2,{37,45,0}}, +/* 21870 */ {(12<<2)|2,{37,45,0}}, +/* 21871 */ {(12<<2)|2,{37,45,0}}, +/* 21872 */ {(12<<2)|2,{37,46,0}}, +/* 21873 */ {(12<<2)|2,{37,46,0}}, +/* 21874 */ {(12<<2)|2,{37,46,0}}, +/* 21875 */ {(12<<2)|2,{37,46,0}}, +/* 21876 */ {(12<<2)|2,{37,46,0}}, +/* 21877 */ {(12<<2)|2,{37,46,0}}, +/* 21878 */ {(12<<2)|2,{37,46,0}}, +/* 21879 */ {(12<<2)|2,{37,46,0}}, +/* 21880 */ {(12<<2)|2,{37,46,0}}, +/* 21881 */ {(12<<2)|2,{37,46,0}}, +/* 21882 */ {(12<<2)|2,{37,46,0}}, +/* 21883 */ {(12<<2)|2,{37,46,0}}, +/* 21884 */ {(12<<2)|2,{37,46,0}}, +/* 21885 */ {(12<<2)|2,{37,46,0}}, +/* 21886 */ {(12<<2)|2,{37,46,0}}, +/* 21887 */ {(12<<2)|2,{37,46,0}}, +/* 21888 */ {(12<<2)|2,{37,47,0}}, +/* 21889 */ {(12<<2)|2,{37,47,0}}, +/* 21890 */ {(12<<2)|2,{37,47,0}}, +/* 21891 */ {(12<<2)|2,{37,47,0}}, +/* 21892 */ {(12<<2)|2,{37,47,0}}, +/* 21893 */ {(12<<2)|2,{37,47,0}}, +/* 21894 */ {(12<<2)|2,{37,47,0}}, +/* 21895 */ {(12<<2)|2,{37,47,0}}, +/* 21896 */ {(12<<2)|2,{37,47,0}}, +/* 21897 */ {(12<<2)|2,{37,47,0}}, +/* 21898 */ {(12<<2)|2,{37,47,0}}, +/* 21899 */ {(12<<2)|2,{37,47,0}}, +/* 21900 */ {(12<<2)|2,{37,47,0}}, +/* 21901 */ {(12<<2)|2,{37,47,0}}, +/* 21902 */ {(12<<2)|2,{37,47,0}}, +/* 21903 */ {(12<<2)|2,{37,47,0}}, +/* 21904 */ {(12<<2)|2,{37,51,0}}, +/* 21905 */ {(12<<2)|2,{37,51,0}}, +/* 21906 */ {(12<<2)|2,{37,51,0}}, +/* 21907 */ {(12<<2)|2,{37,51,0}}, +/* 21908 */ {(12<<2)|2,{37,51,0}}, +/* 21909 */ {(12<<2)|2,{37,51,0}}, +/* 21910 */ {(12<<2)|2,{37,51,0}}, +/* 21911 */ {(12<<2)|2,{37,51,0}}, +/* 21912 */ {(12<<2)|2,{37,51,0}}, +/* 21913 */ {(12<<2)|2,{37,51,0}}, +/* 21914 */ {(12<<2)|2,{37,51,0}}, +/* 21915 */ {(12<<2)|2,{37,51,0}}, +/* 21916 */ {(12<<2)|2,{37,51,0}}, +/* 21917 */ {(12<<2)|2,{37,51,0}}, +/* 21918 */ {(12<<2)|2,{37,51,0}}, +/* 21919 */ {(12<<2)|2,{37,51,0}}, +/* 21920 */ {(12<<2)|2,{37,52,0}}, +/* 21921 */ {(12<<2)|2,{37,52,0}}, +/* 21922 */ {(12<<2)|2,{37,52,0}}, +/* 21923 */ {(12<<2)|2,{37,52,0}}, +/* 21924 */ {(12<<2)|2,{37,52,0}}, +/* 21925 */ {(12<<2)|2,{37,52,0}}, +/* 21926 */ {(12<<2)|2,{37,52,0}}, +/* 21927 */ {(12<<2)|2,{37,52,0}}, +/* 21928 */ {(12<<2)|2,{37,52,0}}, +/* 21929 */ {(12<<2)|2,{37,52,0}}, +/* 21930 */ {(12<<2)|2,{37,52,0}}, +/* 21931 */ {(12<<2)|2,{37,52,0}}, +/* 21932 */ {(12<<2)|2,{37,52,0}}, +/* 21933 */ {(12<<2)|2,{37,52,0}}, +/* 21934 */ {(12<<2)|2,{37,52,0}}, +/* 21935 */ {(12<<2)|2,{37,52,0}}, +/* 21936 */ {(12<<2)|2,{37,53,0}}, +/* 21937 */ {(12<<2)|2,{37,53,0}}, +/* 21938 */ {(12<<2)|2,{37,53,0}}, +/* 21939 */ {(12<<2)|2,{37,53,0}}, +/* 21940 */ {(12<<2)|2,{37,53,0}}, +/* 21941 */ {(12<<2)|2,{37,53,0}}, +/* 21942 */ {(12<<2)|2,{37,53,0}}, +/* 21943 */ {(12<<2)|2,{37,53,0}}, +/* 21944 */ {(12<<2)|2,{37,53,0}}, +/* 21945 */ {(12<<2)|2,{37,53,0}}, +/* 21946 */ {(12<<2)|2,{37,53,0}}, +/* 21947 */ {(12<<2)|2,{37,53,0}}, +/* 21948 */ {(12<<2)|2,{37,53,0}}, +/* 21949 */ {(12<<2)|2,{37,53,0}}, +/* 21950 */ {(12<<2)|2,{37,53,0}}, +/* 21951 */ {(12<<2)|2,{37,53,0}}, +/* 21952 */ {(12<<2)|2,{37,54,0}}, +/* 21953 */ {(12<<2)|2,{37,54,0}}, +/* 21954 */ {(12<<2)|2,{37,54,0}}, +/* 21955 */ {(12<<2)|2,{37,54,0}}, +/* 21956 */ {(12<<2)|2,{37,54,0}}, +/* 21957 */ {(12<<2)|2,{37,54,0}}, +/* 21958 */ {(12<<2)|2,{37,54,0}}, +/* 21959 */ {(12<<2)|2,{37,54,0}}, +/* 21960 */ {(12<<2)|2,{37,54,0}}, +/* 21961 */ {(12<<2)|2,{37,54,0}}, +/* 21962 */ {(12<<2)|2,{37,54,0}}, +/* 21963 */ {(12<<2)|2,{37,54,0}}, +/* 21964 */ {(12<<2)|2,{37,54,0}}, +/* 21965 */ {(12<<2)|2,{37,54,0}}, +/* 21966 */ {(12<<2)|2,{37,54,0}}, +/* 21967 */ {(12<<2)|2,{37,54,0}}, +/* 21968 */ {(12<<2)|2,{37,55,0}}, +/* 21969 */ {(12<<2)|2,{37,55,0}}, +/* 21970 */ {(12<<2)|2,{37,55,0}}, +/* 21971 */ {(12<<2)|2,{37,55,0}}, +/* 21972 */ {(12<<2)|2,{37,55,0}}, +/* 21973 */ {(12<<2)|2,{37,55,0}}, +/* 21974 */ {(12<<2)|2,{37,55,0}}, +/* 21975 */ {(12<<2)|2,{37,55,0}}, +/* 21976 */ {(12<<2)|2,{37,55,0}}, +/* 21977 */ {(12<<2)|2,{37,55,0}}, +/* 21978 */ {(12<<2)|2,{37,55,0}}, +/* 21979 */ {(12<<2)|2,{37,55,0}}, +/* 21980 */ {(12<<2)|2,{37,55,0}}, +/* 21981 */ {(12<<2)|2,{37,55,0}}, +/* 21982 */ {(12<<2)|2,{37,55,0}}, +/* 21983 */ {(12<<2)|2,{37,55,0}}, +/* 21984 */ {(12<<2)|2,{37,56,0}}, +/* 21985 */ {(12<<2)|2,{37,56,0}}, +/* 21986 */ {(12<<2)|2,{37,56,0}}, +/* 21987 */ {(12<<2)|2,{37,56,0}}, +/* 21988 */ {(12<<2)|2,{37,56,0}}, +/* 21989 */ {(12<<2)|2,{37,56,0}}, +/* 21990 */ {(12<<2)|2,{37,56,0}}, +/* 21991 */ {(12<<2)|2,{37,56,0}}, +/* 21992 */ {(12<<2)|2,{37,56,0}}, +/* 21993 */ {(12<<2)|2,{37,56,0}}, +/* 21994 */ {(12<<2)|2,{37,56,0}}, +/* 21995 */ {(12<<2)|2,{37,56,0}}, +/* 21996 */ {(12<<2)|2,{37,56,0}}, +/* 21997 */ {(12<<2)|2,{37,56,0}}, +/* 21998 */ {(12<<2)|2,{37,56,0}}, +/* 21999 */ {(12<<2)|2,{37,56,0}}, +/* 22000 */ {(12<<2)|2,{37,57,0}}, +/* 22001 */ {(12<<2)|2,{37,57,0}}, +/* 22002 */ {(12<<2)|2,{37,57,0}}, +/* 22003 */ {(12<<2)|2,{37,57,0}}, +/* 22004 */ {(12<<2)|2,{37,57,0}}, +/* 22005 */ {(12<<2)|2,{37,57,0}}, +/* 22006 */ {(12<<2)|2,{37,57,0}}, +/* 22007 */ {(12<<2)|2,{37,57,0}}, +/* 22008 */ {(12<<2)|2,{37,57,0}}, +/* 22009 */ {(12<<2)|2,{37,57,0}}, +/* 22010 */ {(12<<2)|2,{37,57,0}}, +/* 22011 */ {(12<<2)|2,{37,57,0}}, +/* 22012 */ {(12<<2)|2,{37,57,0}}, +/* 22013 */ {(12<<2)|2,{37,57,0}}, +/* 22014 */ {(12<<2)|2,{37,57,0}}, +/* 22015 */ {(12<<2)|2,{37,57,0}}, +/* 22016 */ {(12<<2)|2,{37,61,0}}, +/* 22017 */ {(12<<2)|2,{37,61,0}}, +/* 22018 */ {(12<<2)|2,{37,61,0}}, +/* 22019 */ {(12<<2)|2,{37,61,0}}, +/* 22020 */ {(12<<2)|2,{37,61,0}}, +/* 22021 */ {(12<<2)|2,{37,61,0}}, +/* 22022 */ {(12<<2)|2,{37,61,0}}, +/* 22023 */ {(12<<2)|2,{37,61,0}}, +/* 22024 */ {(12<<2)|2,{37,61,0}}, +/* 22025 */ {(12<<2)|2,{37,61,0}}, +/* 22026 */ {(12<<2)|2,{37,61,0}}, +/* 22027 */ {(12<<2)|2,{37,61,0}}, +/* 22028 */ {(12<<2)|2,{37,61,0}}, +/* 22029 */ {(12<<2)|2,{37,61,0}}, +/* 22030 */ {(12<<2)|2,{37,61,0}}, +/* 22031 */ {(12<<2)|2,{37,61,0}}, +/* 22032 */ {(12<<2)|2,{37,65,0}}, +/* 22033 */ {(12<<2)|2,{37,65,0}}, +/* 22034 */ {(12<<2)|2,{37,65,0}}, +/* 22035 */ {(12<<2)|2,{37,65,0}}, +/* 22036 */ {(12<<2)|2,{37,65,0}}, +/* 22037 */ {(12<<2)|2,{37,65,0}}, +/* 22038 */ {(12<<2)|2,{37,65,0}}, +/* 22039 */ {(12<<2)|2,{37,65,0}}, +/* 22040 */ {(12<<2)|2,{37,65,0}}, +/* 22041 */ {(12<<2)|2,{37,65,0}}, +/* 22042 */ {(12<<2)|2,{37,65,0}}, +/* 22043 */ {(12<<2)|2,{37,65,0}}, +/* 22044 */ {(12<<2)|2,{37,65,0}}, +/* 22045 */ {(12<<2)|2,{37,65,0}}, +/* 22046 */ {(12<<2)|2,{37,65,0}}, +/* 22047 */ {(12<<2)|2,{37,65,0}}, +/* 22048 */ {(12<<2)|2,{37,95,0}}, +/* 22049 */ {(12<<2)|2,{37,95,0}}, +/* 22050 */ {(12<<2)|2,{37,95,0}}, +/* 22051 */ {(12<<2)|2,{37,95,0}}, +/* 22052 */ {(12<<2)|2,{37,95,0}}, +/* 22053 */ {(12<<2)|2,{37,95,0}}, +/* 22054 */ {(12<<2)|2,{37,95,0}}, +/* 22055 */ {(12<<2)|2,{37,95,0}}, +/* 22056 */ {(12<<2)|2,{37,95,0}}, +/* 22057 */ {(12<<2)|2,{37,95,0}}, +/* 22058 */ {(12<<2)|2,{37,95,0}}, +/* 22059 */ {(12<<2)|2,{37,95,0}}, +/* 22060 */ {(12<<2)|2,{37,95,0}}, +/* 22061 */ {(12<<2)|2,{37,95,0}}, +/* 22062 */ {(12<<2)|2,{37,95,0}}, +/* 22063 */ {(12<<2)|2,{37,95,0}}, +/* 22064 */ {(12<<2)|2,{37,98,0}}, +/* 22065 */ {(12<<2)|2,{37,98,0}}, +/* 22066 */ {(12<<2)|2,{37,98,0}}, +/* 22067 */ {(12<<2)|2,{37,98,0}}, +/* 22068 */ {(12<<2)|2,{37,98,0}}, +/* 22069 */ {(12<<2)|2,{37,98,0}}, +/* 22070 */ {(12<<2)|2,{37,98,0}}, +/* 22071 */ {(12<<2)|2,{37,98,0}}, +/* 22072 */ {(12<<2)|2,{37,98,0}}, +/* 22073 */ {(12<<2)|2,{37,98,0}}, +/* 22074 */ {(12<<2)|2,{37,98,0}}, +/* 22075 */ {(12<<2)|2,{37,98,0}}, +/* 22076 */ {(12<<2)|2,{37,98,0}}, +/* 22077 */ {(12<<2)|2,{37,98,0}}, +/* 22078 */ {(12<<2)|2,{37,98,0}}, +/* 22079 */ {(12<<2)|2,{37,98,0}}, +/* 22080 */ {(12<<2)|2,{37,100,0}}, +/* 22081 */ {(12<<2)|2,{37,100,0}}, +/* 22082 */ {(12<<2)|2,{37,100,0}}, +/* 22083 */ {(12<<2)|2,{37,100,0}}, +/* 22084 */ {(12<<2)|2,{37,100,0}}, +/* 22085 */ {(12<<2)|2,{37,100,0}}, +/* 22086 */ {(12<<2)|2,{37,100,0}}, +/* 22087 */ {(12<<2)|2,{37,100,0}}, +/* 22088 */ {(12<<2)|2,{37,100,0}}, +/* 22089 */ {(12<<2)|2,{37,100,0}}, +/* 22090 */ {(12<<2)|2,{37,100,0}}, +/* 22091 */ {(12<<2)|2,{37,100,0}}, +/* 22092 */ {(12<<2)|2,{37,100,0}}, +/* 22093 */ {(12<<2)|2,{37,100,0}}, +/* 22094 */ {(12<<2)|2,{37,100,0}}, +/* 22095 */ {(12<<2)|2,{37,100,0}}, +/* 22096 */ {(12<<2)|2,{37,102,0}}, +/* 22097 */ {(12<<2)|2,{37,102,0}}, +/* 22098 */ {(12<<2)|2,{37,102,0}}, +/* 22099 */ {(12<<2)|2,{37,102,0}}, +/* 22100 */ {(12<<2)|2,{37,102,0}}, +/* 22101 */ {(12<<2)|2,{37,102,0}}, +/* 22102 */ {(12<<2)|2,{37,102,0}}, +/* 22103 */ {(12<<2)|2,{37,102,0}}, +/* 22104 */ {(12<<2)|2,{37,102,0}}, +/* 22105 */ {(12<<2)|2,{37,102,0}}, +/* 22106 */ {(12<<2)|2,{37,102,0}}, +/* 22107 */ {(12<<2)|2,{37,102,0}}, +/* 22108 */ {(12<<2)|2,{37,102,0}}, +/* 22109 */ {(12<<2)|2,{37,102,0}}, +/* 22110 */ {(12<<2)|2,{37,102,0}}, +/* 22111 */ {(12<<2)|2,{37,102,0}}, +/* 22112 */ {(12<<2)|2,{37,103,0}}, +/* 22113 */ {(12<<2)|2,{37,103,0}}, +/* 22114 */ {(12<<2)|2,{37,103,0}}, +/* 22115 */ {(12<<2)|2,{37,103,0}}, +/* 22116 */ {(12<<2)|2,{37,103,0}}, +/* 22117 */ {(12<<2)|2,{37,103,0}}, +/* 22118 */ {(12<<2)|2,{37,103,0}}, +/* 22119 */ {(12<<2)|2,{37,103,0}}, +/* 22120 */ {(12<<2)|2,{37,103,0}}, +/* 22121 */ {(12<<2)|2,{37,103,0}}, +/* 22122 */ {(12<<2)|2,{37,103,0}}, +/* 22123 */ {(12<<2)|2,{37,103,0}}, +/* 22124 */ {(12<<2)|2,{37,103,0}}, +/* 22125 */ {(12<<2)|2,{37,103,0}}, +/* 22126 */ {(12<<2)|2,{37,103,0}}, +/* 22127 */ {(12<<2)|2,{37,103,0}}, +/* 22128 */ {(12<<2)|2,{37,104,0}}, +/* 22129 */ {(12<<2)|2,{37,104,0}}, +/* 22130 */ {(12<<2)|2,{37,104,0}}, +/* 22131 */ {(12<<2)|2,{37,104,0}}, +/* 22132 */ {(12<<2)|2,{37,104,0}}, +/* 22133 */ {(12<<2)|2,{37,104,0}}, +/* 22134 */ {(12<<2)|2,{37,104,0}}, +/* 22135 */ {(12<<2)|2,{37,104,0}}, +/* 22136 */ {(12<<2)|2,{37,104,0}}, +/* 22137 */ {(12<<2)|2,{37,104,0}}, +/* 22138 */ {(12<<2)|2,{37,104,0}}, +/* 22139 */ {(12<<2)|2,{37,104,0}}, +/* 22140 */ {(12<<2)|2,{37,104,0}}, +/* 22141 */ {(12<<2)|2,{37,104,0}}, +/* 22142 */ {(12<<2)|2,{37,104,0}}, +/* 22143 */ {(12<<2)|2,{37,104,0}}, +/* 22144 */ {(12<<2)|2,{37,108,0}}, +/* 22145 */ {(12<<2)|2,{37,108,0}}, +/* 22146 */ {(12<<2)|2,{37,108,0}}, +/* 22147 */ {(12<<2)|2,{37,108,0}}, +/* 22148 */ {(12<<2)|2,{37,108,0}}, +/* 22149 */ {(12<<2)|2,{37,108,0}}, +/* 22150 */ {(12<<2)|2,{37,108,0}}, +/* 22151 */ {(12<<2)|2,{37,108,0}}, +/* 22152 */ {(12<<2)|2,{37,108,0}}, +/* 22153 */ {(12<<2)|2,{37,108,0}}, +/* 22154 */ {(12<<2)|2,{37,108,0}}, +/* 22155 */ {(12<<2)|2,{37,108,0}}, +/* 22156 */ {(12<<2)|2,{37,108,0}}, +/* 22157 */ {(12<<2)|2,{37,108,0}}, +/* 22158 */ {(12<<2)|2,{37,108,0}}, +/* 22159 */ {(12<<2)|2,{37,108,0}}, +/* 22160 */ {(12<<2)|2,{37,109,0}}, +/* 22161 */ {(12<<2)|2,{37,109,0}}, +/* 22162 */ {(12<<2)|2,{37,109,0}}, +/* 22163 */ {(12<<2)|2,{37,109,0}}, +/* 22164 */ {(12<<2)|2,{37,109,0}}, +/* 22165 */ {(12<<2)|2,{37,109,0}}, +/* 22166 */ {(12<<2)|2,{37,109,0}}, +/* 22167 */ {(12<<2)|2,{37,109,0}}, +/* 22168 */ {(12<<2)|2,{37,109,0}}, +/* 22169 */ {(12<<2)|2,{37,109,0}}, +/* 22170 */ {(12<<2)|2,{37,109,0}}, +/* 22171 */ {(12<<2)|2,{37,109,0}}, +/* 22172 */ {(12<<2)|2,{37,109,0}}, +/* 22173 */ {(12<<2)|2,{37,109,0}}, +/* 22174 */ {(12<<2)|2,{37,109,0}}, +/* 22175 */ {(12<<2)|2,{37,109,0}}, +/* 22176 */ {(12<<2)|2,{37,110,0}}, +/* 22177 */ {(12<<2)|2,{37,110,0}}, +/* 22178 */ {(12<<2)|2,{37,110,0}}, +/* 22179 */ {(12<<2)|2,{37,110,0}}, +/* 22180 */ {(12<<2)|2,{37,110,0}}, +/* 22181 */ {(12<<2)|2,{37,110,0}}, +/* 22182 */ {(12<<2)|2,{37,110,0}}, +/* 22183 */ {(12<<2)|2,{37,110,0}}, +/* 22184 */ {(12<<2)|2,{37,110,0}}, +/* 22185 */ {(12<<2)|2,{37,110,0}}, +/* 22186 */ {(12<<2)|2,{37,110,0}}, +/* 22187 */ {(12<<2)|2,{37,110,0}}, +/* 22188 */ {(12<<2)|2,{37,110,0}}, +/* 22189 */ {(12<<2)|2,{37,110,0}}, +/* 22190 */ {(12<<2)|2,{37,110,0}}, +/* 22191 */ {(12<<2)|2,{37,110,0}}, +/* 22192 */ {(12<<2)|2,{37,112,0}}, +/* 22193 */ {(12<<2)|2,{37,112,0}}, +/* 22194 */ {(12<<2)|2,{37,112,0}}, +/* 22195 */ {(12<<2)|2,{37,112,0}}, +/* 22196 */ {(12<<2)|2,{37,112,0}}, +/* 22197 */ {(12<<2)|2,{37,112,0}}, +/* 22198 */ {(12<<2)|2,{37,112,0}}, +/* 22199 */ {(12<<2)|2,{37,112,0}}, +/* 22200 */ {(12<<2)|2,{37,112,0}}, +/* 22201 */ {(12<<2)|2,{37,112,0}}, +/* 22202 */ {(12<<2)|2,{37,112,0}}, +/* 22203 */ {(12<<2)|2,{37,112,0}}, +/* 22204 */ {(12<<2)|2,{37,112,0}}, +/* 22205 */ {(12<<2)|2,{37,112,0}}, +/* 22206 */ {(12<<2)|2,{37,112,0}}, +/* 22207 */ {(12<<2)|2,{37,112,0}}, +/* 22208 */ {(12<<2)|2,{37,114,0}}, +/* 22209 */ {(12<<2)|2,{37,114,0}}, +/* 22210 */ {(12<<2)|2,{37,114,0}}, +/* 22211 */ {(12<<2)|2,{37,114,0}}, +/* 22212 */ {(12<<2)|2,{37,114,0}}, +/* 22213 */ {(12<<2)|2,{37,114,0}}, +/* 22214 */ {(12<<2)|2,{37,114,0}}, +/* 22215 */ {(12<<2)|2,{37,114,0}}, +/* 22216 */ {(12<<2)|2,{37,114,0}}, +/* 22217 */ {(12<<2)|2,{37,114,0}}, +/* 22218 */ {(12<<2)|2,{37,114,0}}, +/* 22219 */ {(12<<2)|2,{37,114,0}}, +/* 22220 */ {(12<<2)|2,{37,114,0}}, +/* 22221 */ {(12<<2)|2,{37,114,0}}, +/* 22222 */ {(12<<2)|2,{37,114,0}}, +/* 22223 */ {(12<<2)|2,{37,114,0}}, +/* 22224 */ {(12<<2)|2,{37,117,0}}, +/* 22225 */ {(12<<2)|2,{37,117,0}}, +/* 22226 */ {(12<<2)|2,{37,117,0}}, +/* 22227 */ {(12<<2)|2,{37,117,0}}, +/* 22228 */ {(12<<2)|2,{37,117,0}}, +/* 22229 */ {(12<<2)|2,{37,117,0}}, +/* 22230 */ {(12<<2)|2,{37,117,0}}, +/* 22231 */ {(12<<2)|2,{37,117,0}}, +/* 22232 */ {(12<<2)|2,{37,117,0}}, +/* 22233 */ {(12<<2)|2,{37,117,0}}, +/* 22234 */ {(12<<2)|2,{37,117,0}}, +/* 22235 */ {(12<<2)|2,{37,117,0}}, +/* 22236 */ {(12<<2)|2,{37,117,0}}, +/* 22237 */ {(12<<2)|2,{37,117,0}}, +/* 22238 */ {(12<<2)|2,{37,117,0}}, +/* 22239 */ {(12<<2)|2,{37,117,0}}, +/* 22240 */ {(13<<2)|2,{37,58,0}}, +/* 22241 */ {(13<<2)|2,{37,58,0}}, +/* 22242 */ {(13<<2)|2,{37,58,0}}, +/* 22243 */ {(13<<2)|2,{37,58,0}}, +/* 22244 */ {(13<<2)|2,{37,58,0}}, +/* 22245 */ {(13<<2)|2,{37,58,0}}, +/* 22246 */ {(13<<2)|2,{37,58,0}}, +/* 22247 */ {(13<<2)|2,{37,58,0}}, +/* 22248 */ {(13<<2)|2,{37,66,0}}, +/* 22249 */ {(13<<2)|2,{37,66,0}}, +/* 22250 */ {(13<<2)|2,{37,66,0}}, +/* 22251 */ {(13<<2)|2,{37,66,0}}, +/* 22252 */ {(13<<2)|2,{37,66,0}}, +/* 22253 */ {(13<<2)|2,{37,66,0}}, +/* 22254 */ {(13<<2)|2,{37,66,0}}, +/* 22255 */ {(13<<2)|2,{37,66,0}}, +/* 22256 */ {(13<<2)|2,{37,67,0}}, +/* 22257 */ {(13<<2)|2,{37,67,0}}, +/* 22258 */ {(13<<2)|2,{37,67,0}}, +/* 22259 */ {(13<<2)|2,{37,67,0}}, +/* 22260 */ {(13<<2)|2,{37,67,0}}, +/* 22261 */ {(13<<2)|2,{37,67,0}}, +/* 22262 */ {(13<<2)|2,{37,67,0}}, +/* 22263 */ {(13<<2)|2,{37,67,0}}, +/* 22264 */ {(13<<2)|2,{37,68,0}}, +/* 22265 */ {(13<<2)|2,{37,68,0}}, +/* 22266 */ {(13<<2)|2,{37,68,0}}, +/* 22267 */ {(13<<2)|2,{37,68,0}}, +/* 22268 */ {(13<<2)|2,{37,68,0}}, +/* 22269 */ {(13<<2)|2,{37,68,0}}, +/* 22270 */ {(13<<2)|2,{37,68,0}}, +/* 22271 */ {(13<<2)|2,{37,68,0}}, +/* 22272 */ {(13<<2)|2,{37,69,0}}, +/* 22273 */ {(13<<2)|2,{37,69,0}}, +/* 22274 */ {(13<<2)|2,{37,69,0}}, +/* 22275 */ {(13<<2)|2,{37,69,0}}, +/* 22276 */ {(13<<2)|2,{37,69,0}}, +/* 22277 */ {(13<<2)|2,{37,69,0}}, +/* 22278 */ {(13<<2)|2,{37,69,0}}, +/* 22279 */ {(13<<2)|2,{37,69,0}}, +/* 22280 */ {(13<<2)|2,{37,70,0}}, +/* 22281 */ {(13<<2)|2,{37,70,0}}, +/* 22282 */ {(13<<2)|2,{37,70,0}}, +/* 22283 */ {(13<<2)|2,{37,70,0}}, +/* 22284 */ {(13<<2)|2,{37,70,0}}, +/* 22285 */ {(13<<2)|2,{37,70,0}}, +/* 22286 */ {(13<<2)|2,{37,70,0}}, +/* 22287 */ {(13<<2)|2,{37,70,0}}, +/* 22288 */ {(13<<2)|2,{37,71,0}}, +/* 22289 */ {(13<<2)|2,{37,71,0}}, +/* 22290 */ {(13<<2)|2,{37,71,0}}, +/* 22291 */ {(13<<2)|2,{37,71,0}}, +/* 22292 */ {(13<<2)|2,{37,71,0}}, +/* 22293 */ {(13<<2)|2,{37,71,0}}, +/* 22294 */ {(13<<2)|2,{37,71,0}}, +/* 22295 */ {(13<<2)|2,{37,71,0}}, +/* 22296 */ {(13<<2)|2,{37,72,0}}, +/* 22297 */ {(13<<2)|2,{37,72,0}}, +/* 22298 */ {(13<<2)|2,{37,72,0}}, +/* 22299 */ {(13<<2)|2,{37,72,0}}, +/* 22300 */ {(13<<2)|2,{37,72,0}}, +/* 22301 */ {(13<<2)|2,{37,72,0}}, +/* 22302 */ {(13<<2)|2,{37,72,0}}, +/* 22303 */ {(13<<2)|2,{37,72,0}}, +/* 22304 */ {(13<<2)|2,{37,73,0}}, +/* 22305 */ {(13<<2)|2,{37,73,0}}, +/* 22306 */ {(13<<2)|2,{37,73,0}}, +/* 22307 */ {(13<<2)|2,{37,73,0}}, +/* 22308 */ {(13<<2)|2,{37,73,0}}, +/* 22309 */ {(13<<2)|2,{37,73,0}}, +/* 22310 */ {(13<<2)|2,{37,73,0}}, +/* 22311 */ {(13<<2)|2,{37,73,0}}, +/* 22312 */ {(13<<2)|2,{37,74,0}}, +/* 22313 */ {(13<<2)|2,{37,74,0}}, +/* 22314 */ {(13<<2)|2,{37,74,0}}, +/* 22315 */ {(13<<2)|2,{37,74,0}}, +/* 22316 */ {(13<<2)|2,{37,74,0}}, +/* 22317 */ {(13<<2)|2,{37,74,0}}, +/* 22318 */ {(13<<2)|2,{37,74,0}}, +/* 22319 */ {(13<<2)|2,{37,74,0}}, +/* 22320 */ {(13<<2)|2,{37,75,0}}, +/* 22321 */ {(13<<2)|2,{37,75,0}}, +/* 22322 */ {(13<<2)|2,{37,75,0}}, +/* 22323 */ {(13<<2)|2,{37,75,0}}, +/* 22324 */ {(13<<2)|2,{37,75,0}}, +/* 22325 */ {(13<<2)|2,{37,75,0}}, +/* 22326 */ {(13<<2)|2,{37,75,0}}, +/* 22327 */ {(13<<2)|2,{37,75,0}}, +/* 22328 */ {(13<<2)|2,{37,76,0}}, +/* 22329 */ {(13<<2)|2,{37,76,0}}, +/* 22330 */ {(13<<2)|2,{37,76,0}}, +/* 22331 */ {(13<<2)|2,{37,76,0}}, +/* 22332 */ {(13<<2)|2,{37,76,0}}, +/* 22333 */ {(13<<2)|2,{37,76,0}}, +/* 22334 */ {(13<<2)|2,{37,76,0}}, +/* 22335 */ {(13<<2)|2,{37,76,0}}, +/* 22336 */ {(13<<2)|2,{37,77,0}}, +/* 22337 */ {(13<<2)|2,{37,77,0}}, +/* 22338 */ {(13<<2)|2,{37,77,0}}, +/* 22339 */ {(13<<2)|2,{37,77,0}}, +/* 22340 */ {(13<<2)|2,{37,77,0}}, +/* 22341 */ {(13<<2)|2,{37,77,0}}, +/* 22342 */ {(13<<2)|2,{37,77,0}}, +/* 22343 */ {(13<<2)|2,{37,77,0}}, +/* 22344 */ {(13<<2)|2,{37,78,0}}, +/* 22345 */ {(13<<2)|2,{37,78,0}}, +/* 22346 */ {(13<<2)|2,{37,78,0}}, +/* 22347 */ {(13<<2)|2,{37,78,0}}, +/* 22348 */ {(13<<2)|2,{37,78,0}}, +/* 22349 */ {(13<<2)|2,{37,78,0}}, +/* 22350 */ {(13<<2)|2,{37,78,0}}, +/* 22351 */ {(13<<2)|2,{37,78,0}}, +/* 22352 */ {(13<<2)|2,{37,79,0}}, +/* 22353 */ {(13<<2)|2,{37,79,0}}, +/* 22354 */ {(13<<2)|2,{37,79,0}}, +/* 22355 */ {(13<<2)|2,{37,79,0}}, +/* 22356 */ {(13<<2)|2,{37,79,0}}, +/* 22357 */ {(13<<2)|2,{37,79,0}}, +/* 22358 */ {(13<<2)|2,{37,79,0}}, +/* 22359 */ {(13<<2)|2,{37,79,0}}, +/* 22360 */ {(13<<2)|2,{37,80,0}}, +/* 22361 */ {(13<<2)|2,{37,80,0}}, +/* 22362 */ {(13<<2)|2,{37,80,0}}, +/* 22363 */ {(13<<2)|2,{37,80,0}}, +/* 22364 */ {(13<<2)|2,{37,80,0}}, +/* 22365 */ {(13<<2)|2,{37,80,0}}, +/* 22366 */ {(13<<2)|2,{37,80,0}}, +/* 22367 */ {(13<<2)|2,{37,80,0}}, +/* 22368 */ {(13<<2)|2,{37,81,0}}, +/* 22369 */ {(13<<2)|2,{37,81,0}}, +/* 22370 */ {(13<<2)|2,{37,81,0}}, +/* 22371 */ {(13<<2)|2,{37,81,0}}, +/* 22372 */ {(13<<2)|2,{37,81,0}}, +/* 22373 */ {(13<<2)|2,{37,81,0}}, +/* 22374 */ {(13<<2)|2,{37,81,0}}, +/* 22375 */ {(13<<2)|2,{37,81,0}}, +/* 22376 */ {(13<<2)|2,{37,82,0}}, +/* 22377 */ {(13<<2)|2,{37,82,0}}, +/* 22378 */ {(13<<2)|2,{37,82,0}}, +/* 22379 */ {(13<<2)|2,{37,82,0}}, +/* 22380 */ {(13<<2)|2,{37,82,0}}, +/* 22381 */ {(13<<2)|2,{37,82,0}}, +/* 22382 */ {(13<<2)|2,{37,82,0}}, +/* 22383 */ {(13<<2)|2,{37,82,0}}, +/* 22384 */ {(13<<2)|2,{37,83,0}}, +/* 22385 */ {(13<<2)|2,{37,83,0}}, +/* 22386 */ {(13<<2)|2,{37,83,0}}, +/* 22387 */ {(13<<2)|2,{37,83,0}}, +/* 22388 */ {(13<<2)|2,{37,83,0}}, +/* 22389 */ {(13<<2)|2,{37,83,0}}, +/* 22390 */ {(13<<2)|2,{37,83,0}}, +/* 22391 */ {(13<<2)|2,{37,83,0}}, +/* 22392 */ {(13<<2)|2,{37,84,0}}, +/* 22393 */ {(13<<2)|2,{37,84,0}}, +/* 22394 */ {(13<<2)|2,{37,84,0}}, +/* 22395 */ {(13<<2)|2,{37,84,0}}, +/* 22396 */ {(13<<2)|2,{37,84,0}}, +/* 22397 */ {(13<<2)|2,{37,84,0}}, +/* 22398 */ {(13<<2)|2,{37,84,0}}, +/* 22399 */ {(13<<2)|2,{37,84,0}}, +/* 22400 */ {(13<<2)|2,{37,85,0}}, +/* 22401 */ {(13<<2)|2,{37,85,0}}, +/* 22402 */ {(13<<2)|2,{37,85,0}}, +/* 22403 */ {(13<<2)|2,{37,85,0}}, +/* 22404 */ {(13<<2)|2,{37,85,0}}, +/* 22405 */ {(13<<2)|2,{37,85,0}}, +/* 22406 */ {(13<<2)|2,{37,85,0}}, +/* 22407 */ {(13<<2)|2,{37,85,0}}, +/* 22408 */ {(13<<2)|2,{37,86,0}}, +/* 22409 */ {(13<<2)|2,{37,86,0}}, +/* 22410 */ {(13<<2)|2,{37,86,0}}, +/* 22411 */ {(13<<2)|2,{37,86,0}}, +/* 22412 */ {(13<<2)|2,{37,86,0}}, +/* 22413 */ {(13<<2)|2,{37,86,0}}, +/* 22414 */ {(13<<2)|2,{37,86,0}}, +/* 22415 */ {(13<<2)|2,{37,86,0}}, +/* 22416 */ {(13<<2)|2,{37,87,0}}, +/* 22417 */ {(13<<2)|2,{37,87,0}}, +/* 22418 */ {(13<<2)|2,{37,87,0}}, +/* 22419 */ {(13<<2)|2,{37,87,0}}, +/* 22420 */ {(13<<2)|2,{37,87,0}}, +/* 22421 */ {(13<<2)|2,{37,87,0}}, +/* 22422 */ {(13<<2)|2,{37,87,0}}, +/* 22423 */ {(13<<2)|2,{37,87,0}}, +/* 22424 */ {(13<<2)|2,{37,89,0}}, +/* 22425 */ {(13<<2)|2,{37,89,0}}, +/* 22426 */ {(13<<2)|2,{37,89,0}}, +/* 22427 */ {(13<<2)|2,{37,89,0}}, +/* 22428 */ {(13<<2)|2,{37,89,0}}, +/* 22429 */ {(13<<2)|2,{37,89,0}}, +/* 22430 */ {(13<<2)|2,{37,89,0}}, +/* 22431 */ {(13<<2)|2,{37,89,0}}, +/* 22432 */ {(13<<2)|2,{37,106,0}}, +/* 22433 */ {(13<<2)|2,{37,106,0}}, +/* 22434 */ {(13<<2)|2,{37,106,0}}, +/* 22435 */ {(13<<2)|2,{37,106,0}}, +/* 22436 */ {(13<<2)|2,{37,106,0}}, +/* 22437 */ {(13<<2)|2,{37,106,0}}, +/* 22438 */ {(13<<2)|2,{37,106,0}}, +/* 22439 */ {(13<<2)|2,{37,106,0}}, +/* 22440 */ {(13<<2)|2,{37,107,0}}, +/* 22441 */ {(13<<2)|2,{37,107,0}}, +/* 22442 */ {(13<<2)|2,{37,107,0}}, +/* 22443 */ {(13<<2)|2,{37,107,0}}, +/* 22444 */ {(13<<2)|2,{37,107,0}}, +/* 22445 */ {(13<<2)|2,{37,107,0}}, +/* 22446 */ {(13<<2)|2,{37,107,0}}, +/* 22447 */ {(13<<2)|2,{37,107,0}}, +/* 22448 */ {(13<<2)|2,{37,113,0}}, +/* 22449 */ {(13<<2)|2,{37,113,0}}, +/* 22450 */ {(13<<2)|2,{37,113,0}}, +/* 22451 */ {(13<<2)|2,{37,113,0}}, +/* 22452 */ {(13<<2)|2,{37,113,0}}, +/* 22453 */ {(13<<2)|2,{37,113,0}}, +/* 22454 */ {(13<<2)|2,{37,113,0}}, +/* 22455 */ {(13<<2)|2,{37,113,0}}, +/* 22456 */ {(13<<2)|2,{37,118,0}}, +/* 22457 */ {(13<<2)|2,{37,118,0}}, +/* 22458 */ {(13<<2)|2,{37,118,0}}, +/* 22459 */ {(13<<2)|2,{37,118,0}}, +/* 22460 */ {(13<<2)|2,{37,118,0}}, +/* 22461 */ {(13<<2)|2,{37,118,0}}, +/* 22462 */ {(13<<2)|2,{37,118,0}}, +/* 22463 */ {(13<<2)|2,{37,118,0}}, +/* 22464 */ {(13<<2)|2,{37,119,0}}, +/* 22465 */ {(13<<2)|2,{37,119,0}}, +/* 22466 */ {(13<<2)|2,{37,119,0}}, +/* 22467 */ {(13<<2)|2,{37,119,0}}, +/* 22468 */ {(13<<2)|2,{37,119,0}}, +/* 22469 */ {(13<<2)|2,{37,119,0}}, +/* 22470 */ {(13<<2)|2,{37,119,0}}, +/* 22471 */ {(13<<2)|2,{37,119,0}}, +/* 22472 */ {(13<<2)|2,{37,120,0}}, +/* 22473 */ {(13<<2)|2,{37,120,0}}, +/* 22474 */ {(13<<2)|2,{37,120,0}}, +/* 22475 */ {(13<<2)|2,{37,120,0}}, +/* 22476 */ {(13<<2)|2,{37,120,0}}, +/* 22477 */ {(13<<2)|2,{37,120,0}}, +/* 22478 */ {(13<<2)|2,{37,120,0}}, +/* 22479 */ {(13<<2)|2,{37,120,0}}, +/* 22480 */ {(13<<2)|2,{37,121,0}}, +/* 22481 */ {(13<<2)|2,{37,121,0}}, +/* 22482 */ {(13<<2)|2,{37,121,0}}, +/* 22483 */ {(13<<2)|2,{37,121,0}}, +/* 22484 */ {(13<<2)|2,{37,121,0}}, +/* 22485 */ {(13<<2)|2,{37,121,0}}, +/* 22486 */ {(13<<2)|2,{37,121,0}}, +/* 22487 */ {(13<<2)|2,{37,121,0}}, +/* 22488 */ {(13<<2)|2,{37,122,0}}, +/* 22489 */ {(13<<2)|2,{37,122,0}}, +/* 22490 */ {(13<<2)|2,{37,122,0}}, +/* 22491 */ {(13<<2)|2,{37,122,0}}, +/* 22492 */ {(13<<2)|2,{37,122,0}}, +/* 22493 */ {(13<<2)|2,{37,122,0}}, +/* 22494 */ {(13<<2)|2,{37,122,0}}, +/* 22495 */ {(13<<2)|2,{37,122,0}}, +/* 22496 */ {(14<<2)|2,{37,38,0}}, +/* 22497 */ {(14<<2)|2,{37,38,0}}, +/* 22498 */ {(14<<2)|2,{37,38,0}}, +/* 22499 */ {(14<<2)|2,{37,38,0}}, +/* 22500 */ {(14<<2)|2,{37,42,0}}, +/* 22501 */ {(14<<2)|2,{37,42,0}}, +/* 22502 */ {(14<<2)|2,{37,42,0}}, +/* 22503 */ {(14<<2)|2,{37,42,0}}, +/* 22504 */ {(14<<2)|2,{37,44,0}}, +/* 22505 */ {(14<<2)|2,{37,44,0}}, +/* 22506 */ {(14<<2)|2,{37,44,0}}, +/* 22507 */ {(14<<2)|2,{37,44,0}}, +/* 22508 */ {(14<<2)|2,{37,59,0}}, +/* 22509 */ {(14<<2)|2,{37,59,0}}, +/* 22510 */ {(14<<2)|2,{37,59,0}}, +/* 22511 */ {(14<<2)|2,{37,59,0}}, +/* 22512 */ {(14<<2)|2,{37,88,0}}, +/* 22513 */ {(14<<2)|2,{37,88,0}}, +/* 22514 */ {(14<<2)|2,{37,88,0}}, +/* 22515 */ {(14<<2)|2,{37,88,0}}, +/* 22516 */ {(14<<2)|2,{37,90,0}}, +/* 22517 */ {(14<<2)|2,{37,90,0}}, +/* 22518 */ {(14<<2)|2,{37,90,0}}, +/* 22519 */ {(14<<2)|2,{37,90,0}}, +/* 22520 */ {(16<<2)|2,{37,33,0}}, +/* 22521 */ {(16<<2)|2,{37,34,0}}, +/* 22522 */ {(16<<2)|2,{37,40,0}}, +/* 22523 */ {(16<<2)|2,{37,41,0}}, +/* 22524 */ {(16<<2)|2,{37,63,0}}, +/* 22525 */ {(6<<2)|1,{37,0,0}}, +/* 22526 */ {(6<<2)|1,{37,0,0}}, +/* 22527 */ {(6<<2)|1,{37,0,0}}, +/* 22528 */ {(16<<2)|3,{45,48,48}}, +/* 22529 */ {(16<<2)|3,{45,48,49}}, +/* 22530 */ {(16<<2)|3,{45,48,50}}, +/* 22531 */ {(16<<2)|3,{45,48,97}}, +/* 22532 */ {(16<<2)|3,{45,48,99}}, +/* 22533 */ {(16<<2)|3,{45,48,101}}, +/* 22534 */ {(16<<2)|3,{45,48,105}}, +/* 22535 */ {(16<<2)|3,{45,48,111}}, +/* 22536 */ {(16<<2)|3,{45,48,115}}, +/* 22537 */ {(16<<2)|3,{45,48,116}}, +/* 22538 */ {(11<<2)|2,{45,48,0}}, +/* 22539 */ {(11<<2)|2,{45,48,0}}, +/* 22540 */ {(11<<2)|2,{45,48,0}}, +/* 22541 */ {(11<<2)|2,{45,48,0}}, +/* 22542 */ {(11<<2)|2,{45,48,0}}, +/* 22543 */ {(11<<2)|2,{45,48,0}}, +/* 22544 */ {(11<<2)|2,{45,48,0}}, +/* 22545 */ {(11<<2)|2,{45,48,0}}, +/* 22546 */ {(11<<2)|2,{45,48,0}}, +/* 22547 */ {(11<<2)|2,{45,48,0}}, +/* 22548 */ {(11<<2)|2,{45,48,0}}, +/* 22549 */ {(11<<2)|2,{45,48,0}}, +/* 22550 */ {(11<<2)|2,{45,48,0}}, +/* 22551 */ {(11<<2)|2,{45,48,0}}, +/* 22552 */ {(11<<2)|2,{45,48,0}}, +/* 22553 */ {(11<<2)|2,{45,48,0}}, +/* 22554 */ {(11<<2)|2,{45,48,0}}, +/* 22555 */ {(11<<2)|2,{45,48,0}}, +/* 22556 */ {(11<<2)|2,{45,48,0}}, +/* 22557 */ {(11<<2)|2,{45,48,0}}, +/* 22558 */ {(11<<2)|2,{45,48,0}}, +/* 22559 */ {(11<<2)|2,{45,48,0}}, +/* 22560 */ {(16<<2)|3,{45,49,48}}, +/* 22561 */ {(16<<2)|3,{45,49,49}}, +/* 22562 */ {(16<<2)|3,{45,49,50}}, +/* 22563 */ {(16<<2)|3,{45,49,97}}, +/* 22564 */ {(16<<2)|3,{45,49,99}}, +/* 22565 */ {(16<<2)|3,{45,49,101}}, +/* 22566 */ {(16<<2)|3,{45,49,105}}, +/* 22567 */ {(16<<2)|3,{45,49,111}}, +/* 22568 */ {(16<<2)|3,{45,49,115}}, +/* 22569 */ {(16<<2)|3,{45,49,116}}, +/* 22570 */ {(11<<2)|2,{45,49,0}}, +/* 22571 */ {(11<<2)|2,{45,49,0}}, +/* 22572 */ {(11<<2)|2,{45,49,0}}, +/* 22573 */ {(11<<2)|2,{45,49,0}}, +/* 22574 */ {(11<<2)|2,{45,49,0}}, +/* 22575 */ {(11<<2)|2,{45,49,0}}, +/* 22576 */ {(11<<2)|2,{45,49,0}}, +/* 22577 */ {(11<<2)|2,{45,49,0}}, +/* 22578 */ {(11<<2)|2,{45,49,0}}, +/* 22579 */ {(11<<2)|2,{45,49,0}}, +/* 22580 */ {(11<<2)|2,{45,49,0}}, +/* 22581 */ {(11<<2)|2,{45,49,0}}, +/* 22582 */ {(11<<2)|2,{45,49,0}}, +/* 22583 */ {(11<<2)|2,{45,49,0}}, +/* 22584 */ {(11<<2)|2,{45,49,0}}, +/* 22585 */ {(11<<2)|2,{45,49,0}}, +/* 22586 */ {(11<<2)|2,{45,49,0}}, +/* 22587 */ {(11<<2)|2,{45,49,0}}, +/* 22588 */ {(11<<2)|2,{45,49,0}}, +/* 22589 */ {(11<<2)|2,{45,49,0}}, +/* 22590 */ {(11<<2)|2,{45,49,0}}, +/* 22591 */ {(11<<2)|2,{45,49,0}}, +/* 22592 */ {(16<<2)|3,{45,50,48}}, +/* 22593 */ {(16<<2)|3,{45,50,49}}, +/* 22594 */ {(16<<2)|3,{45,50,50}}, +/* 22595 */ {(16<<2)|3,{45,50,97}}, +/* 22596 */ {(16<<2)|3,{45,50,99}}, +/* 22597 */ {(16<<2)|3,{45,50,101}}, +/* 22598 */ {(16<<2)|3,{45,50,105}}, +/* 22599 */ {(16<<2)|3,{45,50,111}}, +/* 22600 */ {(16<<2)|3,{45,50,115}}, +/* 22601 */ {(16<<2)|3,{45,50,116}}, +/* 22602 */ {(11<<2)|2,{45,50,0}}, +/* 22603 */ {(11<<2)|2,{45,50,0}}, +/* 22604 */ {(11<<2)|2,{45,50,0}}, +/* 22605 */ {(11<<2)|2,{45,50,0}}, +/* 22606 */ {(11<<2)|2,{45,50,0}}, +/* 22607 */ {(11<<2)|2,{45,50,0}}, +/* 22608 */ {(11<<2)|2,{45,50,0}}, +/* 22609 */ {(11<<2)|2,{45,50,0}}, +/* 22610 */ {(11<<2)|2,{45,50,0}}, +/* 22611 */ {(11<<2)|2,{45,50,0}}, +/* 22612 */ {(11<<2)|2,{45,50,0}}, +/* 22613 */ {(11<<2)|2,{45,50,0}}, +/* 22614 */ {(11<<2)|2,{45,50,0}}, +/* 22615 */ {(11<<2)|2,{45,50,0}}, +/* 22616 */ {(11<<2)|2,{45,50,0}}, +/* 22617 */ {(11<<2)|2,{45,50,0}}, +/* 22618 */ {(11<<2)|2,{45,50,0}}, +/* 22619 */ {(11<<2)|2,{45,50,0}}, +/* 22620 */ {(11<<2)|2,{45,50,0}}, +/* 22621 */ {(11<<2)|2,{45,50,0}}, +/* 22622 */ {(11<<2)|2,{45,50,0}}, +/* 22623 */ {(11<<2)|2,{45,50,0}}, +/* 22624 */ {(16<<2)|3,{45,97,48}}, +/* 22625 */ {(16<<2)|3,{45,97,49}}, +/* 22626 */ {(16<<2)|3,{45,97,50}}, +/* 22627 */ {(16<<2)|3,{45,97,97}}, +/* 22628 */ {(16<<2)|3,{45,97,99}}, +/* 22629 */ {(16<<2)|3,{45,97,101}}, +/* 22630 */ {(16<<2)|3,{45,97,105}}, +/* 22631 */ {(16<<2)|3,{45,97,111}}, +/* 22632 */ {(16<<2)|3,{45,97,115}}, +/* 22633 */ {(16<<2)|3,{45,97,116}}, +/* 22634 */ {(11<<2)|2,{45,97,0}}, +/* 22635 */ {(11<<2)|2,{45,97,0}}, +/* 22636 */ {(11<<2)|2,{45,97,0}}, +/* 22637 */ {(11<<2)|2,{45,97,0}}, +/* 22638 */ {(11<<2)|2,{45,97,0}}, +/* 22639 */ {(11<<2)|2,{45,97,0}}, +/* 22640 */ {(11<<2)|2,{45,97,0}}, +/* 22641 */ {(11<<2)|2,{45,97,0}}, +/* 22642 */ {(11<<2)|2,{45,97,0}}, +/* 22643 */ {(11<<2)|2,{45,97,0}}, +/* 22644 */ {(11<<2)|2,{45,97,0}}, +/* 22645 */ {(11<<2)|2,{45,97,0}}, +/* 22646 */ {(11<<2)|2,{45,97,0}}, +/* 22647 */ {(11<<2)|2,{45,97,0}}, +/* 22648 */ {(11<<2)|2,{45,97,0}}, +/* 22649 */ {(11<<2)|2,{45,97,0}}, +/* 22650 */ {(11<<2)|2,{45,97,0}}, +/* 22651 */ {(11<<2)|2,{45,97,0}}, +/* 22652 */ {(11<<2)|2,{45,97,0}}, +/* 22653 */ {(11<<2)|2,{45,97,0}}, +/* 22654 */ {(11<<2)|2,{45,97,0}}, +/* 22655 */ {(11<<2)|2,{45,97,0}}, +/* 22656 */ {(16<<2)|3,{45,99,48}}, +/* 22657 */ {(16<<2)|3,{45,99,49}}, +/* 22658 */ {(16<<2)|3,{45,99,50}}, +/* 22659 */ {(16<<2)|3,{45,99,97}}, +/* 22660 */ {(16<<2)|3,{45,99,99}}, +/* 22661 */ {(16<<2)|3,{45,99,101}}, +/* 22662 */ {(16<<2)|3,{45,99,105}}, +/* 22663 */ {(16<<2)|3,{45,99,111}}, +/* 22664 */ {(16<<2)|3,{45,99,115}}, +/* 22665 */ {(16<<2)|3,{45,99,116}}, +/* 22666 */ {(11<<2)|2,{45,99,0}}, +/* 22667 */ {(11<<2)|2,{45,99,0}}, +/* 22668 */ {(11<<2)|2,{45,99,0}}, +/* 22669 */ {(11<<2)|2,{45,99,0}}, +/* 22670 */ {(11<<2)|2,{45,99,0}}, +/* 22671 */ {(11<<2)|2,{45,99,0}}, +/* 22672 */ {(11<<2)|2,{45,99,0}}, +/* 22673 */ {(11<<2)|2,{45,99,0}}, +/* 22674 */ {(11<<2)|2,{45,99,0}}, +/* 22675 */ {(11<<2)|2,{45,99,0}}, +/* 22676 */ {(11<<2)|2,{45,99,0}}, +/* 22677 */ {(11<<2)|2,{45,99,0}}, +/* 22678 */ {(11<<2)|2,{45,99,0}}, +/* 22679 */ {(11<<2)|2,{45,99,0}}, +/* 22680 */ {(11<<2)|2,{45,99,0}}, +/* 22681 */ {(11<<2)|2,{45,99,0}}, +/* 22682 */ {(11<<2)|2,{45,99,0}}, +/* 22683 */ {(11<<2)|2,{45,99,0}}, +/* 22684 */ {(11<<2)|2,{45,99,0}}, +/* 22685 */ {(11<<2)|2,{45,99,0}}, +/* 22686 */ {(11<<2)|2,{45,99,0}}, +/* 22687 */ {(11<<2)|2,{45,99,0}}, +/* 22688 */ {(16<<2)|3,{45,101,48}}, +/* 22689 */ {(16<<2)|3,{45,101,49}}, +/* 22690 */ {(16<<2)|3,{45,101,50}}, +/* 22691 */ {(16<<2)|3,{45,101,97}}, +/* 22692 */ {(16<<2)|3,{45,101,99}}, +/* 22693 */ {(16<<2)|3,{45,101,101}}, +/* 22694 */ {(16<<2)|3,{45,101,105}}, +/* 22695 */ {(16<<2)|3,{45,101,111}}, +/* 22696 */ {(16<<2)|3,{45,101,115}}, +/* 22697 */ {(16<<2)|3,{45,101,116}}, +/* 22698 */ {(11<<2)|2,{45,101,0}}, +/* 22699 */ {(11<<2)|2,{45,101,0}}, +/* 22700 */ {(11<<2)|2,{45,101,0}}, +/* 22701 */ {(11<<2)|2,{45,101,0}}, +/* 22702 */ {(11<<2)|2,{45,101,0}}, +/* 22703 */ {(11<<2)|2,{45,101,0}}, +/* 22704 */ {(11<<2)|2,{45,101,0}}, +/* 22705 */ {(11<<2)|2,{45,101,0}}, +/* 22706 */ {(11<<2)|2,{45,101,0}}, +/* 22707 */ {(11<<2)|2,{45,101,0}}, +/* 22708 */ {(11<<2)|2,{45,101,0}}, +/* 22709 */ {(11<<2)|2,{45,101,0}}, +/* 22710 */ {(11<<2)|2,{45,101,0}}, +/* 22711 */ {(11<<2)|2,{45,101,0}}, +/* 22712 */ {(11<<2)|2,{45,101,0}}, +/* 22713 */ {(11<<2)|2,{45,101,0}}, +/* 22714 */ {(11<<2)|2,{45,101,0}}, +/* 22715 */ {(11<<2)|2,{45,101,0}}, +/* 22716 */ {(11<<2)|2,{45,101,0}}, +/* 22717 */ {(11<<2)|2,{45,101,0}}, +/* 22718 */ {(11<<2)|2,{45,101,0}}, +/* 22719 */ {(11<<2)|2,{45,101,0}}, +/* 22720 */ {(16<<2)|3,{45,105,48}}, +/* 22721 */ {(16<<2)|3,{45,105,49}}, +/* 22722 */ {(16<<2)|3,{45,105,50}}, +/* 22723 */ {(16<<2)|3,{45,105,97}}, +/* 22724 */ {(16<<2)|3,{45,105,99}}, +/* 22725 */ {(16<<2)|3,{45,105,101}}, +/* 22726 */ {(16<<2)|3,{45,105,105}}, +/* 22727 */ {(16<<2)|3,{45,105,111}}, +/* 22728 */ {(16<<2)|3,{45,105,115}}, +/* 22729 */ {(16<<2)|3,{45,105,116}}, +/* 22730 */ {(11<<2)|2,{45,105,0}}, +/* 22731 */ {(11<<2)|2,{45,105,0}}, +/* 22732 */ {(11<<2)|2,{45,105,0}}, +/* 22733 */ {(11<<2)|2,{45,105,0}}, +/* 22734 */ {(11<<2)|2,{45,105,0}}, +/* 22735 */ {(11<<2)|2,{45,105,0}}, +/* 22736 */ {(11<<2)|2,{45,105,0}}, +/* 22737 */ {(11<<2)|2,{45,105,0}}, +/* 22738 */ {(11<<2)|2,{45,105,0}}, +/* 22739 */ {(11<<2)|2,{45,105,0}}, +/* 22740 */ {(11<<2)|2,{45,105,0}}, +/* 22741 */ {(11<<2)|2,{45,105,0}}, +/* 22742 */ {(11<<2)|2,{45,105,0}}, +/* 22743 */ {(11<<2)|2,{45,105,0}}, +/* 22744 */ {(11<<2)|2,{45,105,0}}, +/* 22745 */ {(11<<2)|2,{45,105,0}}, +/* 22746 */ {(11<<2)|2,{45,105,0}}, +/* 22747 */ {(11<<2)|2,{45,105,0}}, +/* 22748 */ {(11<<2)|2,{45,105,0}}, +/* 22749 */ {(11<<2)|2,{45,105,0}}, +/* 22750 */ {(11<<2)|2,{45,105,0}}, +/* 22751 */ {(11<<2)|2,{45,105,0}}, +/* 22752 */ {(16<<2)|3,{45,111,48}}, +/* 22753 */ {(16<<2)|3,{45,111,49}}, +/* 22754 */ {(16<<2)|3,{45,111,50}}, +/* 22755 */ {(16<<2)|3,{45,111,97}}, +/* 22756 */ {(16<<2)|3,{45,111,99}}, +/* 22757 */ {(16<<2)|3,{45,111,101}}, +/* 22758 */ {(16<<2)|3,{45,111,105}}, +/* 22759 */ {(16<<2)|3,{45,111,111}}, +/* 22760 */ {(16<<2)|3,{45,111,115}}, +/* 22761 */ {(16<<2)|3,{45,111,116}}, +/* 22762 */ {(11<<2)|2,{45,111,0}}, +/* 22763 */ {(11<<2)|2,{45,111,0}}, +/* 22764 */ {(11<<2)|2,{45,111,0}}, +/* 22765 */ {(11<<2)|2,{45,111,0}}, +/* 22766 */ {(11<<2)|2,{45,111,0}}, +/* 22767 */ {(11<<2)|2,{45,111,0}}, +/* 22768 */ {(11<<2)|2,{45,111,0}}, +/* 22769 */ {(11<<2)|2,{45,111,0}}, +/* 22770 */ {(11<<2)|2,{45,111,0}}, +/* 22771 */ {(11<<2)|2,{45,111,0}}, +/* 22772 */ {(11<<2)|2,{45,111,0}}, +/* 22773 */ {(11<<2)|2,{45,111,0}}, +/* 22774 */ {(11<<2)|2,{45,111,0}}, +/* 22775 */ {(11<<2)|2,{45,111,0}}, +/* 22776 */ {(11<<2)|2,{45,111,0}}, +/* 22777 */ {(11<<2)|2,{45,111,0}}, +/* 22778 */ {(11<<2)|2,{45,111,0}}, +/* 22779 */ {(11<<2)|2,{45,111,0}}, +/* 22780 */ {(11<<2)|2,{45,111,0}}, +/* 22781 */ {(11<<2)|2,{45,111,0}}, +/* 22782 */ {(11<<2)|2,{45,111,0}}, +/* 22783 */ {(11<<2)|2,{45,111,0}}, +/* 22784 */ {(16<<2)|3,{45,115,48}}, +/* 22785 */ {(16<<2)|3,{45,115,49}}, +/* 22786 */ {(16<<2)|3,{45,115,50}}, +/* 22787 */ {(16<<2)|3,{45,115,97}}, +/* 22788 */ {(16<<2)|3,{45,115,99}}, +/* 22789 */ {(16<<2)|3,{45,115,101}}, +/* 22790 */ {(16<<2)|3,{45,115,105}}, +/* 22791 */ {(16<<2)|3,{45,115,111}}, +/* 22792 */ {(16<<2)|3,{45,115,115}}, +/* 22793 */ {(16<<2)|3,{45,115,116}}, +/* 22794 */ {(11<<2)|2,{45,115,0}}, +/* 22795 */ {(11<<2)|2,{45,115,0}}, +/* 22796 */ {(11<<2)|2,{45,115,0}}, +/* 22797 */ {(11<<2)|2,{45,115,0}}, +/* 22798 */ {(11<<2)|2,{45,115,0}}, +/* 22799 */ {(11<<2)|2,{45,115,0}}, +/* 22800 */ {(11<<2)|2,{45,115,0}}, +/* 22801 */ {(11<<2)|2,{45,115,0}}, +/* 22802 */ {(11<<2)|2,{45,115,0}}, +/* 22803 */ {(11<<2)|2,{45,115,0}}, +/* 22804 */ {(11<<2)|2,{45,115,0}}, +/* 22805 */ {(11<<2)|2,{45,115,0}}, +/* 22806 */ {(11<<2)|2,{45,115,0}}, +/* 22807 */ {(11<<2)|2,{45,115,0}}, +/* 22808 */ {(11<<2)|2,{45,115,0}}, +/* 22809 */ {(11<<2)|2,{45,115,0}}, +/* 22810 */ {(11<<2)|2,{45,115,0}}, +/* 22811 */ {(11<<2)|2,{45,115,0}}, +/* 22812 */ {(11<<2)|2,{45,115,0}}, +/* 22813 */ {(11<<2)|2,{45,115,0}}, +/* 22814 */ {(11<<2)|2,{45,115,0}}, +/* 22815 */ {(11<<2)|2,{45,115,0}}, +/* 22816 */ {(16<<2)|3,{45,116,48}}, +/* 22817 */ {(16<<2)|3,{45,116,49}}, +/* 22818 */ {(16<<2)|3,{45,116,50}}, +/* 22819 */ {(16<<2)|3,{45,116,97}}, +/* 22820 */ {(16<<2)|3,{45,116,99}}, +/* 22821 */ {(16<<2)|3,{45,116,101}}, +/* 22822 */ {(16<<2)|3,{45,116,105}}, +/* 22823 */ {(16<<2)|3,{45,116,111}}, +/* 22824 */ {(16<<2)|3,{45,116,115}}, +/* 22825 */ {(16<<2)|3,{45,116,116}}, +/* 22826 */ {(11<<2)|2,{45,116,0}}, +/* 22827 */ {(11<<2)|2,{45,116,0}}, +/* 22828 */ {(11<<2)|2,{45,116,0}}, +/* 22829 */ {(11<<2)|2,{45,116,0}}, +/* 22830 */ {(11<<2)|2,{45,116,0}}, +/* 22831 */ {(11<<2)|2,{45,116,0}}, +/* 22832 */ {(11<<2)|2,{45,116,0}}, +/* 22833 */ {(11<<2)|2,{45,116,0}}, +/* 22834 */ {(11<<2)|2,{45,116,0}}, +/* 22835 */ {(11<<2)|2,{45,116,0}}, +/* 22836 */ {(11<<2)|2,{45,116,0}}, +/* 22837 */ {(11<<2)|2,{45,116,0}}, +/* 22838 */ {(11<<2)|2,{45,116,0}}, +/* 22839 */ {(11<<2)|2,{45,116,0}}, +/* 22840 */ {(11<<2)|2,{45,116,0}}, +/* 22841 */ {(11<<2)|2,{45,116,0}}, +/* 22842 */ {(11<<2)|2,{45,116,0}}, +/* 22843 */ {(11<<2)|2,{45,116,0}}, +/* 22844 */ {(11<<2)|2,{45,116,0}}, +/* 22845 */ {(11<<2)|2,{45,116,0}}, +/* 22846 */ {(11<<2)|2,{45,116,0}}, +/* 22847 */ {(11<<2)|2,{45,116,0}}, +/* 22848 */ {(12<<2)|2,{45,32,0}}, +/* 22849 */ {(12<<2)|2,{45,32,0}}, +/* 22850 */ {(12<<2)|2,{45,32,0}}, +/* 22851 */ {(12<<2)|2,{45,32,0}}, +/* 22852 */ {(12<<2)|2,{45,32,0}}, +/* 22853 */ {(12<<2)|2,{45,32,0}}, +/* 22854 */ {(12<<2)|2,{45,32,0}}, +/* 22855 */ {(12<<2)|2,{45,32,0}}, +/* 22856 */ {(12<<2)|2,{45,32,0}}, +/* 22857 */ {(12<<2)|2,{45,32,0}}, +/* 22858 */ {(12<<2)|2,{45,32,0}}, +/* 22859 */ {(12<<2)|2,{45,32,0}}, +/* 22860 */ {(12<<2)|2,{45,32,0}}, +/* 22861 */ {(12<<2)|2,{45,32,0}}, +/* 22862 */ {(12<<2)|2,{45,32,0}}, +/* 22863 */ {(12<<2)|2,{45,32,0}}, +/* 22864 */ {(12<<2)|2,{45,37,0}}, +/* 22865 */ {(12<<2)|2,{45,37,0}}, +/* 22866 */ {(12<<2)|2,{45,37,0}}, +/* 22867 */ {(12<<2)|2,{45,37,0}}, +/* 22868 */ {(12<<2)|2,{45,37,0}}, +/* 22869 */ {(12<<2)|2,{45,37,0}}, +/* 22870 */ {(12<<2)|2,{45,37,0}}, +/* 22871 */ {(12<<2)|2,{45,37,0}}, +/* 22872 */ {(12<<2)|2,{45,37,0}}, +/* 22873 */ {(12<<2)|2,{45,37,0}}, +/* 22874 */ {(12<<2)|2,{45,37,0}}, +/* 22875 */ {(12<<2)|2,{45,37,0}}, +/* 22876 */ {(12<<2)|2,{45,37,0}}, +/* 22877 */ {(12<<2)|2,{45,37,0}}, +/* 22878 */ {(12<<2)|2,{45,37,0}}, +/* 22879 */ {(12<<2)|2,{45,37,0}}, +/* 22880 */ {(12<<2)|2,{45,45,0}}, +/* 22881 */ {(12<<2)|2,{45,45,0}}, +/* 22882 */ {(12<<2)|2,{45,45,0}}, +/* 22883 */ {(12<<2)|2,{45,45,0}}, +/* 22884 */ {(12<<2)|2,{45,45,0}}, +/* 22885 */ {(12<<2)|2,{45,45,0}}, +/* 22886 */ {(12<<2)|2,{45,45,0}}, +/* 22887 */ {(12<<2)|2,{45,45,0}}, +/* 22888 */ {(12<<2)|2,{45,45,0}}, +/* 22889 */ {(12<<2)|2,{45,45,0}}, +/* 22890 */ {(12<<2)|2,{45,45,0}}, +/* 22891 */ {(12<<2)|2,{45,45,0}}, +/* 22892 */ {(12<<2)|2,{45,45,0}}, +/* 22893 */ {(12<<2)|2,{45,45,0}}, +/* 22894 */ {(12<<2)|2,{45,45,0}}, +/* 22895 */ {(12<<2)|2,{45,45,0}}, +/* 22896 */ {(12<<2)|2,{45,46,0}}, +/* 22897 */ {(12<<2)|2,{45,46,0}}, +/* 22898 */ {(12<<2)|2,{45,46,0}}, +/* 22899 */ {(12<<2)|2,{45,46,0}}, +/* 22900 */ {(12<<2)|2,{45,46,0}}, +/* 22901 */ {(12<<2)|2,{45,46,0}}, +/* 22902 */ {(12<<2)|2,{45,46,0}}, +/* 22903 */ {(12<<2)|2,{45,46,0}}, +/* 22904 */ {(12<<2)|2,{45,46,0}}, +/* 22905 */ {(12<<2)|2,{45,46,0}}, +/* 22906 */ {(12<<2)|2,{45,46,0}}, +/* 22907 */ {(12<<2)|2,{45,46,0}}, +/* 22908 */ {(12<<2)|2,{45,46,0}}, +/* 22909 */ {(12<<2)|2,{45,46,0}}, +/* 22910 */ {(12<<2)|2,{45,46,0}}, +/* 22911 */ {(12<<2)|2,{45,46,0}}, +/* 22912 */ {(12<<2)|2,{45,47,0}}, +/* 22913 */ {(12<<2)|2,{45,47,0}}, +/* 22914 */ {(12<<2)|2,{45,47,0}}, +/* 22915 */ {(12<<2)|2,{45,47,0}}, +/* 22916 */ {(12<<2)|2,{45,47,0}}, +/* 22917 */ {(12<<2)|2,{45,47,0}}, +/* 22918 */ {(12<<2)|2,{45,47,0}}, +/* 22919 */ {(12<<2)|2,{45,47,0}}, +/* 22920 */ {(12<<2)|2,{45,47,0}}, +/* 22921 */ {(12<<2)|2,{45,47,0}}, +/* 22922 */ {(12<<2)|2,{45,47,0}}, +/* 22923 */ {(12<<2)|2,{45,47,0}}, +/* 22924 */ {(12<<2)|2,{45,47,0}}, +/* 22925 */ {(12<<2)|2,{45,47,0}}, +/* 22926 */ {(12<<2)|2,{45,47,0}}, +/* 22927 */ {(12<<2)|2,{45,47,0}}, +/* 22928 */ {(12<<2)|2,{45,51,0}}, +/* 22929 */ {(12<<2)|2,{45,51,0}}, +/* 22930 */ {(12<<2)|2,{45,51,0}}, +/* 22931 */ {(12<<2)|2,{45,51,0}}, +/* 22932 */ {(12<<2)|2,{45,51,0}}, +/* 22933 */ {(12<<2)|2,{45,51,0}}, +/* 22934 */ {(12<<2)|2,{45,51,0}}, +/* 22935 */ {(12<<2)|2,{45,51,0}}, +/* 22936 */ {(12<<2)|2,{45,51,0}}, +/* 22937 */ {(12<<2)|2,{45,51,0}}, +/* 22938 */ {(12<<2)|2,{45,51,0}}, +/* 22939 */ {(12<<2)|2,{45,51,0}}, +/* 22940 */ {(12<<2)|2,{45,51,0}}, +/* 22941 */ {(12<<2)|2,{45,51,0}}, +/* 22942 */ {(12<<2)|2,{45,51,0}}, +/* 22943 */ {(12<<2)|2,{45,51,0}}, +/* 22944 */ {(12<<2)|2,{45,52,0}}, +/* 22945 */ {(12<<2)|2,{45,52,0}}, +/* 22946 */ {(12<<2)|2,{45,52,0}}, +/* 22947 */ {(12<<2)|2,{45,52,0}}, +/* 22948 */ {(12<<2)|2,{45,52,0}}, +/* 22949 */ {(12<<2)|2,{45,52,0}}, +/* 22950 */ {(12<<2)|2,{45,52,0}}, +/* 22951 */ {(12<<2)|2,{45,52,0}}, +/* 22952 */ {(12<<2)|2,{45,52,0}}, +/* 22953 */ {(12<<2)|2,{45,52,0}}, +/* 22954 */ {(12<<2)|2,{45,52,0}}, +/* 22955 */ {(12<<2)|2,{45,52,0}}, +/* 22956 */ {(12<<2)|2,{45,52,0}}, +/* 22957 */ {(12<<2)|2,{45,52,0}}, +/* 22958 */ {(12<<2)|2,{45,52,0}}, +/* 22959 */ {(12<<2)|2,{45,52,0}}, +/* 22960 */ {(12<<2)|2,{45,53,0}}, +/* 22961 */ {(12<<2)|2,{45,53,0}}, +/* 22962 */ {(12<<2)|2,{45,53,0}}, +/* 22963 */ {(12<<2)|2,{45,53,0}}, +/* 22964 */ {(12<<2)|2,{45,53,0}}, +/* 22965 */ {(12<<2)|2,{45,53,0}}, +/* 22966 */ {(12<<2)|2,{45,53,0}}, +/* 22967 */ {(12<<2)|2,{45,53,0}}, +/* 22968 */ {(12<<2)|2,{45,53,0}}, +/* 22969 */ {(12<<2)|2,{45,53,0}}, +/* 22970 */ {(12<<2)|2,{45,53,0}}, +/* 22971 */ {(12<<2)|2,{45,53,0}}, +/* 22972 */ {(12<<2)|2,{45,53,0}}, +/* 22973 */ {(12<<2)|2,{45,53,0}}, +/* 22974 */ {(12<<2)|2,{45,53,0}}, +/* 22975 */ {(12<<2)|2,{45,53,0}}, +/* 22976 */ {(12<<2)|2,{45,54,0}}, +/* 22977 */ {(12<<2)|2,{45,54,0}}, +/* 22978 */ {(12<<2)|2,{45,54,0}}, +/* 22979 */ {(12<<2)|2,{45,54,0}}, +/* 22980 */ {(12<<2)|2,{45,54,0}}, +/* 22981 */ {(12<<2)|2,{45,54,0}}, +/* 22982 */ {(12<<2)|2,{45,54,0}}, +/* 22983 */ {(12<<2)|2,{45,54,0}}, +/* 22984 */ {(12<<2)|2,{45,54,0}}, +/* 22985 */ {(12<<2)|2,{45,54,0}}, +/* 22986 */ {(12<<2)|2,{45,54,0}}, +/* 22987 */ {(12<<2)|2,{45,54,0}}, +/* 22988 */ {(12<<2)|2,{45,54,0}}, +/* 22989 */ {(12<<2)|2,{45,54,0}}, +/* 22990 */ {(12<<2)|2,{45,54,0}}, +/* 22991 */ {(12<<2)|2,{45,54,0}}, +/* 22992 */ {(12<<2)|2,{45,55,0}}, +/* 22993 */ {(12<<2)|2,{45,55,0}}, +/* 22994 */ {(12<<2)|2,{45,55,0}}, +/* 22995 */ {(12<<2)|2,{45,55,0}}, +/* 22996 */ {(12<<2)|2,{45,55,0}}, +/* 22997 */ {(12<<2)|2,{45,55,0}}, +/* 22998 */ {(12<<2)|2,{45,55,0}}, +/* 22999 */ {(12<<2)|2,{45,55,0}}, +/* 23000 */ {(12<<2)|2,{45,55,0}}, +/* 23001 */ {(12<<2)|2,{45,55,0}}, +/* 23002 */ {(12<<2)|2,{45,55,0}}, +/* 23003 */ {(12<<2)|2,{45,55,0}}, +/* 23004 */ {(12<<2)|2,{45,55,0}}, +/* 23005 */ {(12<<2)|2,{45,55,0}}, +/* 23006 */ {(12<<2)|2,{45,55,0}}, +/* 23007 */ {(12<<2)|2,{45,55,0}}, +/* 23008 */ {(12<<2)|2,{45,56,0}}, +/* 23009 */ {(12<<2)|2,{45,56,0}}, +/* 23010 */ {(12<<2)|2,{45,56,0}}, +/* 23011 */ {(12<<2)|2,{45,56,0}}, +/* 23012 */ {(12<<2)|2,{45,56,0}}, +/* 23013 */ {(12<<2)|2,{45,56,0}}, +/* 23014 */ {(12<<2)|2,{45,56,0}}, +/* 23015 */ {(12<<2)|2,{45,56,0}}, +/* 23016 */ {(12<<2)|2,{45,56,0}}, +/* 23017 */ {(12<<2)|2,{45,56,0}}, +/* 23018 */ {(12<<2)|2,{45,56,0}}, +/* 23019 */ {(12<<2)|2,{45,56,0}}, +/* 23020 */ {(12<<2)|2,{45,56,0}}, +/* 23021 */ {(12<<2)|2,{45,56,0}}, +/* 23022 */ {(12<<2)|2,{45,56,0}}, +/* 23023 */ {(12<<2)|2,{45,56,0}}, +/* 23024 */ {(12<<2)|2,{45,57,0}}, +/* 23025 */ {(12<<2)|2,{45,57,0}}, +/* 23026 */ {(12<<2)|2,{45,57,0}}, +/* 23027 */ {(12<<2)|2,{45,57,0}}, +/* 23028 */ {(12<<2)|2,{45,57,0}}, +/* 23029 */ {(12<<2)|2,{45,57,0}}, +/* 23030 */ {(12<<2)|2,{45,57,0}}, +/* 23031 */ {(12<<2)|2,{45,57,0}}, +/* 23032 */ {(12<<2)|2,{45,57,0}}, +/* 23033 */ {(12<<2)|2,{45,57,0}}, +/* 23034 */ {(12<<2)|2,{45,57,0}}, +/* 23035 */ {(12<<2)|2,{45,57,0}}, +/* 23036 */ {(12<<2)|2,{45,57,0}}, +/* 23037 */ {(12<<2)|2,{45,57,0}}, +/* 23038 */ {(12<<2)|2,{45,57,0}}, +/* 23039 */ {(12<<2)|2,{45,57,0}}, +/* 23040 */ {(12<<2)|2,{45,61,0}}, +/* 23041 */ {(12<<2)|2,{45,61,0}}, +/* 23042 */ {(12<<2)|2,{45,61,0}}, +/* 23043 */ {(12<<2)|2,{45,61,0}}, +/* 23044 */ {(12<<2)|2,{45,61,0}}, +/* 23045 */ {(12<<2)|2,{45,61,0}}, +/* 23046 */ {(12<<2)|2,{45,61,0}}, +/* 23047 */ {(12<<2)|2,{45,61,0}}, +/* 23048 */ {(12<<2)|2,{45,61,0}}, +/* 23049 */ {(12<<2)|2,{45,61,0}}, +/* 23050 */ {(12<<2)|2,{45,61,0}}, +/* 23051 */ {(12<<2)|2,{45,61,0}}, +/* 23052 */ {(12<<2)|2,{45,61,0}}, +/* 23053 */ {(12<<2)|2,{45,61,0}}, +/* 23054 */ {(12<<2)|2,{45,61,0}}, +/* 23055 */ {(12<<2)|2,{45,61,0}}, +/* 23056 */ {(12<<2)|2,{45,65,0}}, +/* 23057 */ {(12<<2)|2,{45,65,0}}, +/* 23058 */ {(12<<2)|2,{45,65,0}}, +/* 23059 */ {(12<<2)|2,{45,65,0}}, +/* 23060 */ {(12<<2)|2,{45,65,0}}, +/* 23061 */ {(12<<2)|2,{45,65,0}}, +/* 23062 */ {(12<<2)|2,{45,65,0}}, +/* 23063 */ {(12<<2)|2,{45,65,0}}, +/* 23064 */ {(12<<2)|2,{45,65,0}}, +/* 23065 */ {(12<<2)|2,{45,65,0}}, +/* 23066 */ {(12<<2)|2,{45,65,0}}, +/* 23067 */ {(12<<2)|2,{45,65,0}}, +/* 23068 */ {(12<<2)|2,{45,65,0}}, +/* 23069 */ {(12<<2)|2,{45,65,0}}, +/* 23070 */ {(12<<2)|2,{45,65,0}}, +/* 23071 */ {(12<<2)|2,{45,65,0}}, +/* 23072 */ {(12<<2)|2,{45,95,0}}, +/* 23073 */ {(12<<2)|2,{45,95,0}}, +/* 23074 */ {(12<<2)|2,{45,95,0}}, +/* 23075 */ {(12<<2)|2,{45,95,0}}, +/* 23076 */ {(12<<2)|2,{45,95,0}}, +/* 23077 */ {(12<<2)|2,{45,95,0}}, +/* 23078 */ {(12<<2)|2,{45,95,0}}, +/* 23079 */ {(12<<2)|2,{45,95,0}}, +/* 23080 */ {(12<<2)|2,{45,95,0}}, +/* 23081 */ {(12<<2)|2,{45,95,0}}, +/* 23082 */ {(12<<2)|2,{45,95,0}}, +/* 23083 */ {(12<<2)|2,{45,95,0}}, +/* 23084 */ {(12<<2)|2,{45,95,0}}, +/* 23085 */ {(12<<2)|2,{45,95,0}}, +/* 23086 */ {(12<<2)|2,{45,95,0}}, +/* 23087 */ {(12<<2)|2,{45,95,0}}, +/* 23088 */ {(12<<2)|2,{45,98,0}}, +/* 23089 */ {(12<<2)|2,{45,98,0}}, +/* 23090 */ {(12<<2)|2,{45,98,0}}, +/* 23091 */ {(12<<2)|2,{45,98,0}}, +/* 23092 */ {(12<<2)|2,{45,98,0}}, +/* 23093 */ {(12<<2)|2,{45,98,0}}, +/* 23094 */ {(12<<2)|2,{45,98,0}}, +/* 23095 */ {(12<<2)|2,{45,98,0}}, +/* 23096 */ {(12<<2)|2,{45,98,0}}, +/* 23097 */ {(12<<2)|2,{45,98,0}}, +/* 23098 */ {(12<<2)|2,{45,98,0}}, +/* 23099 */ {(12<<2)|2,{45,98,0}}, +/* 23100 */ {(12<<2)|2,{45,98,0}}, +/* 23101 */ {(12<<2)|2,{45,98,0}}, +/* 23102 */ {(12<<2)|2,{45,98,0}}, +/* 23103 */ {(12<<2)|2,{45,98,0}}, +/* 23104 */ {(12<<2)|2,{45,100,0}}, +/* 23105 */ {(12<<2)|2,{45,100,0}}, +/* 23106 */ {(12<<2)|2,{45,100,0}}, +/* 23107 */ {(12<<2)|2,{45,100,0}}, +/* 23108 */ {(12<<2)|2,{45,100,0}}, +/* 23109 */ {(12<<2)|2,{45,100,0}}, +/* 23110 */ {(12<<2)|2,{45,100,0}}, +/* 23111 */ {(12<<2)|2,{45,100,0}}, +/* 23112 */ {(12<<2)|2,{45,100,0}}, +/* 23113 */ {(12<<2)|2,{45,100,0}}, +/* 23114 */ {(12<<2)|2,{45,100,0}}, +/* 23115 */ {(12<<2)|2,{45,100,0}}, +/* 23116 */ {(12<<2)|2,{45,100,0}}, +/* 23117 */ {(12<<2)|2,{45,100,0}}, +/* 23118 */ {(12<<2)|2,{45,100,0}}, +/* 23119 */ {(12<<2)|2,{45,100,0}}, +/* 23120 */ {(12<<2)|2,{45,102,0}}, +/* 23121 */ {(12<<2)|2,{45,102,0}}, +/* 23122 */ {(12<<2)|2,{45,102,0}}, +/* 23123 */ {(12<<2)|2,{45,102,0}}, +/* 23124 */ {(12<<2)|2,{45,102,0}}, +/* 23125 */ {(12<<2)|2,{45,102,0}}, +/* 23126 */ {(12<<2)|2,{45,102,0}}, +/* 23127 */ {(12<<2)|2,{45,102,0}}, +/* 23128 */ {(12<<2)|2,{45,102,0}}, +/* 23129 */ {(12<<2)|2,{45,102,0}}, +/* 23130 */ {(12<<2)|2,{45,102,0}}, +/* 23131 */ {(12<<2)|2,{45,102,0}}, +/* 23132 */ {(12<<2)|2,{45,102,0}}, +/* 23133 */ {(12<<2)|2,{45,102,0}}, +/* 23134 */ {(12<<2)|2,{45,102,0}}, +/* 23135 */ {(12<<2)|2,{45,102,0}}, +/* 23136 */ {(12<<2)|2,{45,103,0}}, +/* 23137 */ {(12<<2)|2,{45,103,0}}, +/* 23138 */ {(12<<2)|2,{45,103,0}}, +/* 23139 */ {(12<<2)|2,{45,103,0}}, +/* 23140 */ {(12<<2)|2,{45,103,0}}, +/* 23141 */ {(12<<2)|2,{45,103,0}}, +/* 23142 */ {(12<<2)|2,{45,103,0}}, +/* 23143 */ {(12<<2)|2,{45,103,0}}, +/* 23144 */ {(12<<2)|2,{45,103,0}}, +/* 23145 */ {(12<<2)|2,{45,103,0}}, +/* 23146 */ {(12<<2)|2,{45,103,0}}, +/* 23147 */ {(12<<2)|2,{45,103,0}}, +/* 23148 */ {(12<<2)|2,{45,103,0}}, +/* 23149 */ {(12<<2)|2,{45,103,0}}, +/* 23150 */ {(12<<2)|2,{45,103,0}}, +/* 23151 */ {(12<<2)|2,{45,103,0}}, +/* 23152 */ {(12<<2)|2,{45,104,0}}, +/* 23153 */ {(12<<2)|2,{45,104,0}}, +/* 23154 */ {(12<<2)|2,{45,104,0}}, +/* 23155 */ {(12<<2)|2,{45,104,0}}, +/* 23156 */ {(12<<2)|2,{45,104,0}}, +/* 23157 */ {(12<<2)|2,{45,104,0}}, +/* 23158 */ {(12<<2)|2,{45,104,0}}, +/* 23159 */ {(12<<2)|2,{45,104,0}}, +/* 23160 */ {(12<<2)|2,{45,104,0}}, +/* 23161 */ {(12<<2)|2,{45,104,0}}, +/* 23162 */ {(12<<2)|2,{45,104,0}}, +/* 23163 */ {(12<<2)|2,{45,104,0}}, +/* 23164 */ {(12<<2)|2,{45,104,0}}, +/* 23165 */ {(12<<2)|2,{45,104,0}}, +/* 23166 */ {(12<<2)|2,{45,104,0}}, +/* 23167 */ {(12<<2)|2,{45,104,0}}, +/* 23168 */ {(12<<2)|2,{45,108,0}}, +/* 23169 */ {(12<<2)|2,{45,108,0}}, +/* 23170 */ {(12<<2)|2,{45,108,0}}, +/* 23171 */ {(12<<2)|2,{45,108,0}}, +/* 23172 */ {(12<<2)|2,{45,108,0}}, +/* 23173 */ {(12<<2)|2,{45,108,0}}, +/* 23174 */ {(12<<2)|2,{45,108,0}}, +/* 23175 */ {(12<<2)|2,{45,108,0}}, +/* 23176 */ {(12<<2)|2,{45,108,0}}, +/* 23177 */ {(12<<2)|2,{45,108,0}}, +/* 23178 */ {(12<<2)|2,{45,108,0}}, +/* 23179 */ {(12<<2)|2,{45,108,0}}, +/* 23180 */ {(12<<2)|2,{45,108,0}}, +/* 23181 */ {(12<<2)|2,{45,108,0}}, +/* 23182 */ {(12<<2)|2,{45,108,0}}, +/* 23183 */ {(12<<2)|2,{45,108,0}}, +/* 23184 */ {(12<<2)|2,{45,109,0}}, +/* 23185 */ {(12<<2)|2,{45,109,0}}, +/* 23186 */ {(12<<2)|2,{45,109,0}}, +/* 23187 */ {(12<<2)|2,{45,109,0}}, +/* 23188 */ {(12<<2)|2,{45,109,0}}, +/* 23189 */ {(12<<2)|2,{45,109,0}}, +/* 23190 */ {(12<<2)|2,{45,109,0}}, +/* 23191 */ {(12<<2)|2,{45,109,0}}, +/* 23192 */ {(12<<2)|2,{45,109,0}}, +/* 23193 */ {(12<<2)|2,{45,109,0}}, +/* 23194 */ {(12<<2)|2,{45,109,0}}, +/* 23195 */ {(12<<2)|2,{45,109,0}}, +/* 23196 */ {(12<<2)|2,{45,109,0}}, +/* 23197 */ {(12<<2)|2,{45,109,0}}, +/* 23198 */ {(12<<2)|2,{45,109,0}}, +/* 23199 */ {(12<<2)|2,{45,109,0}}, +/* 23200 */ {(12<<2)|2,{45,110,0}}, +/* 23201 */ {(12<<2)|2,{45,110,0}}, +/* 23202 */ {(12<<2)|2,{45,110,0}}, +/* 23203 */ {(12<<2)|2,{45,110,0}}, +/* 23204 */ {(12<<2)|2,{45,110,0}}, +/* 23205 */ {(12<<2)|2,{45,110,0}}, +/* 23206 */ {(12<<2)|2,{45,110,0}}, +/* 23207 */ {(12<<2)|2,{45,110,0}}, +/* 23208 */ {(12<<2)|2,{45,110,0}}, +/* 23209 */ {(12<<2)|2,{45,110,0}}, +/* 23210 */ {(12<<2)|2,{45,110,0}}, +/* 23211 */ {(12<<2)|2,{45,110,0}}, +/* 23212 */ {(12<<2)|2,{45,110,0}}, +/* 23213 */ {(12<<2)|2,{45,110,0}}, +/* 23214 */ {(12<<2)|2,{45,110,0}}, +/* 23215 */ {(12<<2)|2,{45,110,0}}, +/* 23216 */ {(12<<2)|2,{45,112,0}}, +/* 23217 */ {(12<<2)|2,{45,112,0}}, +/* 23218 */ {(12<<2)|2,{45,112,0}}, +/* 23219 */ {(12<<2)|2,{45,112,0}}, +/* 23220 */ {(12<<2)|2,{45,112,0}}, +/* 23221 */ {(12<<2)|2,{45,112,0}}, +/* 23222 */ {(12<<2)|2,{45,112,0}}, +/* 23223 */ {(12<<2)|2,{45,112,0}}, +/* 23224 */ {(12<<2)|2,{45,112,0}}, +/* 23225 */ {(12<<2)|2,{45,112,0}}, +/* 23226 */ {(12<<2)|2,{45,112,0}}, +/* 23227 */ {(12<<2)|2,{45,112,0}}, +/* 23228 */ {(12<<2)|2,{45,112,0}}, +/* 23229 */ {(12<<2)|2,{45,112,0}}, +/* 23230 */ {(12<<2)|2,{45,112,0}}, +/* 23231 */ {(12<<2)|2,{45,112,0}}, +/* 23232 */ {(12<<2)|2,{45,114,0}}, +/* 23233 */ {(12<<2)|2,{45,114,0}}, +/* 23234 */ {(12<<2)|2,{45,114,0}}, +/* 23235 */ {(12<<2)|2,{45,114,0}}, +/* 23236 */ {(12<<2)|2,{45,114,0}}, +/* 23237 */ {(12<<2)|2,{45,114,0}}, +/* 23238 */ {(12<<2)|2,{45,114,0}}, +/* 23239 */ {(12<<2)|2,{45,114,0}}, +/* 23240 */ {(12<<2)|2,{45,114,0}}, +/* 23241 */ {(12<<2)|2,{45,114,0}}, +/* 23242 */ {(12<<2)|2,{45,114,0}}, +/* 23243 */ {(12<<2)|2,{45,114,0}}, +/* 23244 */ {(12<<2)|2,{45,114,0}}, +/* 23245 */ {(12<<2)|2,{45,114,0}}, +/* 23246 */ {(12<<2)|2,{45,114,0}}, +/* 23247 */ {(12<<2)|2,{45,114,0}}, +/* 23248 */ {(12<<2)|2,{45,117,0}}, +/* 23249 */ {(12<<2)|2,{45,117,0}}, +/* 23250 */ {(12<<2)|2,{45,117,0}}, +/* 23251 */ {(12<<2)|2,{45,117,0}}, +/* 23252 */ {(12<<2)|2,{45,117,0}}, +/* 23253 */ {(12<<2)|2,{45,117,0}}, +/* 23254 */ {(12<<2)|2,{45,117,0}}, +/* 23255 */ {(12<<2)|2,{45,117,0}}, +/* 23256 */ {(12<<2)|2,{45,117,0}}, +/* 23257 */ {(12<<2)|2,{45,117,0}}, +/* 23258 */ {(12<<2)|2,{45,117,0}}, +/* 23259 */ {(12<<2)|2,{45,117,0}}, +/* 23260 */ {(12<<2)|2,{45,117,0}}, +/* 23261 */ {(12<<2)|2,{45,117,0}}, +/* 23262 */ {(12<<2)|2,{45,117,0}}, +/* 23263 */ {(12<<2)|2,{45,117,0}}, +/* 23264 */ {(13<<2)|2,{45,58,0}}, +/* 23265 */ {(13<<2)|2,{45,58,0}}, +/* 23266 */ {(13<<2)|2,{45,58,0}}, +/* 23267 */ {(13<<2)|2,{45,58,0}}, +/* 23268 */ {(13<<2)|2,{45,58,0}}, +/* 23269 */ {(13<<2)|2,{45,58,0}}, +/* 23270 */ {(13<<2)|2,{45,58,0}}, +/* 23271 */ {(13<<2)|2,{45,58,0}}, +/* 23272 */ {(13<<2)|2,{45,66,0}}, +/* 23273 */ {(13<<2)|2,{45,66,0}}, +/* 23274 */ {(13<<2)|2,{45,66,0}}, +/* 23275 */ {(13<<2)|2,{45,66,0}}, +/* 23276 */ {(13<<2)|2,{45,66,0}}, +/* 23277 */ {(13<<2)|2,{45,66,0}}, +/* 23278 */ {(13<<2)|2,{45,66,0}}, +/* 23279 */ {(13<<2)|2,{45,66,0}}, +/* 23280 */ {(13<<2)|2,{45,67,0}}, +/* 23281 */ {(13<<2)|2,{45,67,0}}, +/* 23282 */ {(13<<2)|2,{45,67,0}}, +/* 23283 */ {(13<<2)|2,{45,67,0}}, +/* 23284 */ {(13<<2)|2,{45,67,0}}, +/* 23285 */ {(13<<2)|2,{45,67,0}}, +/* 23286 */ {(13<<2)|2,{45,67,0}}, +/* 23287 */ {(13<<2)|2,{45,67,0}}, +/* 23288 */ {(13<<2)|2,{45,68,0}}, +/* 23289 */ {(13<<2)|2,{45,68,0}}, +/* 23290 */ {(13<<2)|2,{45,68,0}}, +/* 23291 */ {(13<<2)|2,{45,68,0}}, +/* 23292 */ {(13<<2)|2,{45,68,0}}, +/* 23293 */ {(13<<2)|2,{45,68,0}}, +/* 23294 */ {(13<<2)|2,{45,68,0}}, +/* 23295 */ {(13<<2)|2,{45,68,0}}, +/* 23296 */ {(13<<2)|2,{45,69,0}}, +/* 23297 */ {(13<<2)|2,{45,69,0}}, +/* 23298 */ {(13<<2)|2,{45,69,0}}, +/* 23299 */ {(13<<2)|2,{45,69,0}}, +/* 23300 */ {(13<<2)|2,{45,69,0}}, +/* 23301 */ {(13<<2)|2,{45,69,0}}, +/* 23302 */ {(13<<2)|2,{45,69,0}}, +/* 23303 */ {(13<<2)|2,{45,69,0}}, +/* 23304 */ {(13<<2)|2,{45,70,0}}, +/* 23305 */ {(13<<2)|2,{45,70,0}}, +/* 23306 */ {(13<<2)|2,{45,70,0}}, +/* 23307 */ {(13<<2)|2,{45,70,0}}, +/* 23308 */ {(13<<2)|2,{45,70,0}}, +/* 23309 */ {(13<<2)|2,{45,70,0}}, +/* 23310 */ {(13<<2)|2,{45,70,0}}, +/* 23311 */ {(13<<2)|2,{45,70,0}}, +/* 23312 */ {(13<<2)|2,{45,71,0}}, +/* 23313 */ {(13<<2)|2,{45,71,0}}, +/* 23314 */ {(13<<2)|2,{45,71,0}}, +/* 23315 */ {(13<<2)|2,{45,71,0}}, +/* 23316 */ {(13<<2)|2,{45,71,0}}, +/* 23317 */ {(13<<2)|2,{45,71,0}}, +/* 23318 */ {(13<<2)|2,{45,71,0}}, +/* 23319 */ {(13<<2)|2,{45,71,0}}, +/* 23320 */ {(13<<2)|2,{45,72,0}}, +/* 23321 */ {(13<<2)|2,{45,72,0}}, +/* 23322 */ {(13<<2)|2,{45,72,0}}, +/* 23323 */ {(13<<2)|2,{45,72,0}}, +/* 23324 */ {(13<<2)|2,{45,72,0}}, +/* 23325 */ {(13<<2)|2,{45,72,0}}, +/* 23326 */ {(13<<2)|2,{45,72,0}}, +/* 23327 */ {(13<<2)|2,{45,72,0}}, +/* 23328 */ {(13<<2)|2,{45,73,0}}, +/* 23329 */ {(13<<2)|2,{45,73,0}}, +/* 23330 */ {(13<<2)|2,{45,73,0}}, +/* 23331 */ {(13<<2)|2,{45,73,0}}, +/* 23332 */ {(13<<2)|2,{45,73,0}}, +/* 23333 */ {(13<<2)|2,{45,73,0}}, +/* 23334 */ {(13<<2)|2,{45,73,0}}, +/* 23335 */ {(13<<2)|2,{45,73,0}}, +/* 23336 */ {(13<<2)|2,{45,74,0}}, +/* 23337 */ {(13<<2)|2,{45,74,0}}, +/* 23338 */ {(13<<2)|2,{45,74,0}}, +/* 23339 */ {(13<<2)|2,{45,74,0}}, +/* 23340 */ {(13<<2)|2,{45,74,0}}, +/* 23341 */ {(13<<2)|2,{45,74,0}}, +/* 23342 */ {(13<<2)|2,{45,74,0}}, +/* 23343 */ {(13<<2)|2,{45,74,0}}, +/* 23344 */ {(13<<2)|2,{45,75,0}}, +/* 23345 */ {(13<<2)|2,{45,75,0}}, +/* 23346 */ {(13<<2)|2,{45,75,0}}, +/* 23347 */ {(13<<2)|2,{45,75,0}}, +/* 23348 */ {(13<<2)|2,{45,75,0}}, +/* 23349 */ {(13<<2)|2,{45,75,0}}, +/* 23350 */ {(13<<2)|2,{45,75,0}}, +/* 23351 */ {(13<<2)|2,{45,75,0}}, +/* 23352 */ {(13<<2)|2,{45,76,0}}, +/* 23353 */ {(13<<2)|2,{45,76,0}}, +/* 23354 */ {(13<<2)|2,{45,76,0}}, +/* 23355 */ {(13<<2)|2,{45,76,0}}, +/* 23356 */ {(13<<2)|2,{45,76,0}}, +/* 23357 */ {(13<<2)|2,{45,76,0}}, +/* 23358 */ {(13<<2)|2,{45,76,0}}, +/* 23359 */ {(13<<2)|2,{45,76,0}}, +/* 23360 */ {(13<<2)|2,{45,77,0}}, +/* 23361 */ {(13<<2)|2,{45,77,0}}, +/* 23362 */ {(13<<2)|2,{45,77,0}}, +/* 23363 */ {(13<<2)|2,{45,77,0}}, +/* 23364 */ {(13<<2)|2,{45,77,0}}, +/* 23365 */ {(13<<2)|2,{45,77,0}}, +/* 23366 */ {(13<<2)|2,{45,77,0}}, +/* 23367 */ {(13<<2)|2,{45,77,0}}, +/* 23368 */ {(13<<2)|2,{45,78,0}}, +/* 23369 */ {(13<<2)|2,{45,78,0}}, +/* 23370 */ {(13<<2)|2,{45,78,0}}, +/* 23371 */ {(13<<2)|2,{45,78,0}}, +/* 23372 */ {(13<<2)|2,{45,78,0}}, +/* 23373 */ {(13<<2)|2,{45,78,0}}, +/* 23374 */ {(13<<2)|2,{45,78,0}}, +/* 23375 */ {(13<<2)|2,{45,78,0}}, +/* 23376 */ {(13<<2)|2,{45,79,0}}, +/* 23377 */ {(13<<2)|2,{45,79,0}}, +/* 23378 */ {(13<<2)|2,{45,79,0}}, +/* 23379 */ {(13<<2)|2,{45,79,0}}, +/* 23380 */ {(13<<2)|2,{45,79,0}}, +/* 23381 */ {(13<<2)|2,{45,79,0}}, +/* 23382 */ {(13<<2)|2,{45,79,0}}, +/* 23383 */ {(13<<2)|2,{45,79,0}}, +/* 23384 */ {(13<<2)|2,{45,80,0}}, +/* 23385 */ {(13<<2)|2,{45,80,0}}, +/* 23386 */ {(13<<2)|2,{45,80,0}}, +/* 23387 */ {(13<<2)|2,{45,80,0}}, +/* 23388 */ {(13<<2)|2,{45,80,0}}, +/* 23389 */ {(13<<2)|2,{45,80,0}}, +/* 23390 */ {(13<<2)|2,{45,80,0}}, +/* 23391 */ {(13<<2)|2,{45,80,0}}, +/* 23392 */ {(13<<2)|2,{45,81,0}}, +/* 23393 */ {(13<<2)|2,{45,81,0}}, +/* 23394 */ {(13<<2)|2,{45,81,0}}, +/* 23395 */ {(13<<2)|2,{45,81,0}}, +/* 23396 */ {(13<<2)|2,{45,81,0}}, +/* 23397 */ {(13<<2)|2,{45,81,0}}, +/* 23398 */ {(13<<2)|2,{45,81,0}}, +/* 23399 */ {(13<<2)|2,{45,81,0}}, +/* 23400 */ {(13<<2)|2,{45,82,0}}, +/* 23401 */ {(13<<2)|2,{45,82,0}}, +/* 23402 */ {(13<<2)|2,{45,82,0}}, +/* 23403 */ {(13<<2)|2,{45,82,0}}, +/* 23404 */ {(13<<2)|2,{45,82,0}}, +/* 23405 */ {(13<<2)|2,{45,82,0}}, +/* 23406 */ {(13<<2)|2,{45,82,0}}, +/* 23407 */ {(13<<2)|2,{45,82,0}}, +/* 23408 */ {(13<<2)|2,{45,83,0}}, +/* 23409 */ {(13<<2)|2,{45,83,0}}, +/* 23410 */ {(13<<2)|2,{45,83,0}}, +/* 23411 */ {(13<<2)|2,{45,83,0}}, +/* 23412 */ {(13<<2)|2,{45,83,0}}, +/* 23413 */ {(13<<2)|2,{45,83,0}}, +/* 23414 */ {(13<<2)|2,{45,83,0}}, +/* 23415 */ {(13<<2)|2,{45,83,0}}, +/* 23416 */ {(13<<2)|2,{45,84,0}}, +/* 23417 */ {(13<<2)|2,{45,84,0}}, +/* 23418 */ {(13<<2)|2,{45,84,0}}, +/* 23419 */ {(13<<2)|2,{45,84,0}}, +/* 23420 */ {(13<<2)|2,{45,84,0}}, +/* 23421 */ {(13<<2)|2,{45,84,0}}, +/* 23422 */ {(13<<2)|2,{45,84,0}}, +/* 23423 */ {(13<<2)|2,{45,84,0}}, +/* 23424 */ {(13<<2)|2,{45,85,0}}, +/* 23425 */ {(13<<2)|2,{45,85,0}}, +/* 23426 */ {(13<<2)|2,{45,85,0}}, +/* 23427 */ {(13<<2)|2,{45,85,0}}, +/* 23428 */ {(13<<2)|2,{45,85,0}}, +/* 23429 */ {(13<<2)|2,{45,85,0}}, +/* 23430 */ {(13<<2)|2,{45,85,0}}, +/* 23431 */ {(13<<2)|2,{45,85,0}}, +/* 23432 */ {(13<<2)|2,{45,86,0}}, +/* 23433 */ {(13<<2)|2,{45,86,0}}, +/* 23434 */ {(13<<2)|2,{45,86,0}}, +/* 23435 */ {(13<<2)|2,{45,86,0}}, +/* 23436 */ {(13<<2)|2,{45,86,0}}, +/* 23437 */ {(13<<2)|2,{45,86,0}}, +/* 23438 */ {(13<<2)|2,{45,86,0}}, +/* 23439 */ {(13<<2)|2,{45,86,0}}, +/* 23440 */ {(13<<2)|2,{45,87,0}}, +/* 23441 */ {(13<<2)|2,{45,87,0}}, +/* 23442 */ {(13<<2)|2,{45,87,0}}, +/* 23443 */ {(13<<2)|2,{45,87,0}}, +/* 23444 */ {(13<<2)|2,{45,87,0}}, +/* 23445 */ {(13<<2)|2,{45,87,0}}, +/* 23446 */ {(13<<2)|2,{45,87,0}}, +/* 23447 */ {(13<<2)|2,{45,87,0}}, +/* 23448 */ {(13<<2)|2,{45,89,0}}, +/* 23449 */ {(13<<2)|2,{45,89,0}}, +/* 23450 */ {(13<<2)|2,{45,89,0}}, +/* 23451 */ {(13<<2)|2,{45,89,0}}, +/* 23452 */ {(13<<2)|2,{45,89,0}}, +/* 23453 */ {(13<<2)|2,{45,89,0}}, +/* 23454 */ {(13<<2)|2,{45,89,0}}, +/* 23455 */ {(13<<2)|2,{45,89,0}}, +/* 23456 */ {(13<<2)|2,{45,106,0}}, +/* 23457 */ {(13<<2)|2,{45,106,0}}, +/* 23458 */ {(13<<2)|2,{45,106,0}}, +/* 23459 */ {(13<<2)|2,{45,106,0}}, +/* 23460 */ {(13<<2)|2,{45,106,0}}, +/* 23461 */ {(13<<2)|2,{45,106,0}}, +/* 23462 */ {(13<<2)|2,{45,106,0}}, +/* 23463 */ {(13<<2)|2,{45,106,0}}, +/* 23464 */ {(13<<2)|2,{45,107,0}}, +/* 23465 */ {(13<<2)|2,{45,107,0}}, +/* 23466 */ {(13<<2)|2,{45,107,0}}, +/* 23467 */ {(13<<2)|2,{45,107,0}}, +/* 23468 */ {(13<<2)|2,{45,107,0}}, +/* 23469 */ {(13<<2)|2,{45,107,0}}, +/* 23470 */ {(13<<2)|2,{45,107,0}}, +/* 23471 */ {(13<<2)|2,{45,107,0}}, +/* 23472 */ {(13<<2)|2,{45,113,0}}, +/* 23473 */ {(13<<2)|2,{45,113,0}}, +/* 23474 */ {(13<<2)|2,{45,113,0}}, +/* 23475 */ {(13<<2)|2,{45,113,0}}, +/* 23476 */ {(13<<2)|2,{45,113,0}}, +/* 23477 */ {(13<<2)|2,{45,113,0}}, +/* 23478 */ {(13<<2)|2,{45,113,0}}, +/* 23479 */ {(13<<2)|2,{45,113,0}}, +/* 23480 */ {(13<<2)|2,{45,118,0}}, +/* 23481 */ {(13<<2)|2,{45,118,0}}, +/* 23482 */ {(13<<2)|2,{45,118,0}}, +/* 23483 */ {(13<<2)|2,{45,118,0}}, +/* 23484 */ {(13<<2)|2,{45,118,0}}, +/* 23485 */ {(13<<2)|2,{45,118,0}}, +/* 23486 */ {(13<<2)|2,{45,118,0}}, +/* 23487 */ {(13<<2)|2,{45,118,0}}, +/* 23488 */ {(13<<2)|2,{45,119,0}}, +/* 23489 */ {(13<<2)|2,{45,119,0}}, +/* 23490 */ {(13<<2)|2,{45,119,0}}, +/* 23491 */ {(13<<2)|2,{45,119,0}}, +/* 23492 */ {(13<<2)|2,{45,119,0}}, +/* 23493 */ {(13<<2)|2,{45,119,0}}, +/* 23494 */ {(13<<2)|2,{45,119,0}}, +/* 23495 */ {(13<<2)|2,{45,119,0}}, +/* 23496 */ {(13<<2)|2,{45,120,0}}, +/* 23497 */ {(13<<2)|2,{45,120,0}}, +/* 23498 */ {(13<<2)|2,{45,120,0}}, +/* 23499 */ {(13<<2)|2,{45,120,0}}, +/* 23500 */ {(13<<2)|2,{45,120,0}}, +/* 23501 */ {(13<<2)|2,{45,120,0}}, +/* 23502 */ {(13<<2)|2,{45,120,0}}, +/* 23503 */ {(13<<2)|2,{45,120,0}}, +/* 23504 */ {(13<<2)|2,{45,121,0}}, +/* 23505 */ {(13<<2)|2,{45,121,0}}, +/* 23506 */ {(13<<2)|2,{45,121,0}}, +/* 23507 */ {(13<<2)|2,{45,121,0}}, +/* 23508 */ {(13<<2)|2,{45,121,0}}, +/* 23509 */ {(13<<2)|2,{45,121,0}}, +/* 23510 */ {(13<<2)|2,{45,121,0}}, +/* 23511 */ {(13<<2)|2,{45,121,0}}, +/* 23512 */ {(13<<2)|2,{45,122,0}}, +/* 23513 */ {(13<<2)|2,{45,122,0}}, +/* 23514 */ {(13<<2)|2,{45,122,0}}, +/* 23515 */ {(13<<2)|2,{45,122,0}}, +/* 23516 */ {(13<<2)|2,{45,122,0}}, +/* 23517 */ {(13<<2)|2,{45,122,0}}, +/* 23518 */ {(13<<2)|2,{45,122,0}}, +/* 23519 */ {(13<<2)|2,{45,122,0}}, +/* 23520 */ {(14<<2)|2,{45,38,0}}, +/* 23521 */ {(14<<2)|2,{45,38,0}}, +/* 23522 */ {(14<<2)|2,{45,38,0}}, +/* 23523 */ {(14<<2)|2,{45,38,0}}, +/* 23524 */ {(14<<2)|2,{45,42,0}}, +/* 23525 */ {(14<<2)|2,{45,42,0}}, +/* 23526 */ {(14<<2)|2,{45,42,0}}, +/* 23527 */ {(14<<2)|2,{45,42,0}}, +/* 23528 */ {(14<<2)|2,{45,44,0}}, +/* 23529 */ {(14<<2)|2,{45,44,0}}, +/* 23530 */ {(14<<2)|2,{45,44,0}}, +/* 23531 */ {(14<<2)|2,{45,44,0}}, +/* 23532 */ {(14<<2)|2,{45,59,0}}, +/* 23533 */ {(14<<2)|2,{45,59,0}}, +/* 23534 */ {(14<<2)|2,{45,59,0}}, +/* 23535 */ {(14<<2)|2,{45,59,0}}, +/* 23536 */ {(14<<2)|2,{45,88,0}}, +/* 23537 */ {(14<<2)|2,{45,88,0}}, +/* 23538 */ {(14<<2)|2,{45,88,0}}, +/* 23539 */ {(14<<2)|2,{45,88,0}}, +/* 23540 */ {(14<<2)|2,{45,90,0}}, +/* 23541 */ {(14<<2)|2,{45,90,0}}, +/* 23542 */ {(14<<2)|2,{45,90,0}}, +/* 23543 */ {(14<<2)|2,{45,90,0}}, +/* 23544 */ {(16<<2)|2,{45,33,0}}, +/* 23545 */ {(16<<2)|2,{45,34,0}}, +/* 23546 */ {(16<<2)|2,{45,40,0}}, +/* 23547 */ {(16<<2)|2,{45,41,0}}, +/* 23548 */ {(16<<2)|2,{45,63,0}}, +/* 23549 */ {(6<<2)|1,{45,0,0}}, +/* 23550 */ {(6<<2)|1,{45,0,0}}, +/* 23551 */ {(6<<2)|1,{45,0,0}}, +/* 23552 */ {(16<<2)|3,{46,48,48}}, +/* 23553 */ {(16<<2)|3,{46,48,49}}, +/* 23554 */ {(16<<2)|3,{46,48,50}}, +/* 23555 */ {(16<<2)|3,{46,48,97}}, +/* 23556 */ {(16<<2)|3,{46,48,99}}, +/* 23557 */ {(16<<2)|3,{46,48,101}}, +/* 23558 */ {(16<<2)|3,{46,48,105}}, +/* 23559 */ {(16<<2)|3,{46,48,111}}, +/* 23560 */ {(16<<2)|3,{46,48,115}}, +/* 23561 */ {(16<<2)|3,{46,48,116}}, +/* 23562 */ {(11<<2)|2,{46,48,0}}, +/* 23563 */ {(11<<2)|2,{46,48,0}}, +/* 23564 */ {(11<<2)|2,{46,48,0}}, +/* 23565 */ {(11<<2)|2,{46,48,0}}, +/* 23566 */ {(11<<2)|2,{46,48,0}}, +/* 23567 */ {(11<<2)|2,{46,48,0}}, +/* 23568 */ {(11<<2)|2,{46,48,0}}, +/* 23569 */ {(11<<2)|2,{46,48,0}}, +/* 23570 */ {(11<<2)|2,{46,48,0}}, +/* 23571 */ {(11<<2)|2,{46,48,0}}, +/* 23572 */ {(11<<2)|2,{46,48,0}}, +/* 23573 */ {(11<<2)|2,{46,48,0}}, +/* 23574 */ {(11<<2)|2,{46,48,0}}, +/* 23575 */ {(11<<2)|2,{46,48,0}}, +/* 23576 */ {(11<<2)|2,{46,48,0}}, +/* 23577 */ {(11<<2)|2,{46,48,0}}, +/* 23578 */ {(11<<2)|2,{46,48,0}}, +/* 23579 */ {(11<<2)|2,{46,48,0}}, +/* 23580 */ {(11<<2)|2,{46,48,0}}, +/* 23581 */ {(11<<2)|2,{46,48,0}}, +/* 23582 */ {(11<<2)|2,{46,48,0}}, +/* 23583 */ {(11<<2)|2,{46,48,0}}, +/* 23584 */ {(16<<2)|3,{46,49,48}}, +/* 23585 */ {(16<<2)|3,{46,49,49}}, +/* 23586 */ {(16<<2)|3,{46,49,50}}, +/* 23587 */ {(16<<2)|3,{46,49,97}}, +/* 23588 */ {(16<<2)|3,{46,49,99}}, +/* 23589 */ {(16<<2)|3,{46,49,101}}, +/* 23590 */ {(16<<2)|3,{46,49,105}}, +/* 23591 */ {(16<<2)|3,{46,49,111}}, +/* 23592 */ {(16<<2)|3,{46,49,115}}, +/* 23593 */ {(16<<2)|3,{46,49,116}}, +/* 23594 */ {(11<<2)|2,{46,49,0}}, +/* 23595 */ {(11<<2)|2,{46,49,0}}, +/* 23596 */ {(11<<2)|2,{46,49,0}}, +/* 23597 */ {(11<<2)|2,{46,49,0}}, +/* 23598 */ {(11<<2)|2,{46,49,0}}, +/* 23599 */ {(11<<2)|2,{46,49,0}}, +/* 23600 */ {(11<<2)|2,{46,49,0}}, +/* 23601 */ {(11<<2)|2,{46,49,0}}, +/* 23602 */ {(11<<2)|2,{46,49,0}}, +/* 23603 */ {(11<<2)|2,{46,49,0}}, +/* 23604 */ {(11<<2)|2,{46,49,0}}, +/* 23605 */ {(11<<2)|2,{46,49,0}}, +/* 23606 */ {(11<<2)|2,{46,49,0}}, +/* 23607 */ {(11<<2)|2,{46,49,0}}, +/* 23608 */ {(11<<2)|2,{46,49,0}}, +/* 23609 */ {(11<<2)|2,{46,49,0}}, +/* 23610 */ {(11<<2)|2,{46,49,0}}, +/* 23611 */ {(11<<2)|2,{46,49,0}}, +/* 23612 */ {(11<<2)|2,{46,49,0}}, +/* 23613 */ {(11<<2)|2,{46,49,0}}, +/* 23614 */ {(11<<2)|2,{46,49,0}}, +/* 23615 */ {(11<<2)|2,{46,49,0}}, +/* 23616 */ {(16<<2)|3,{46,50,48}}, +/* 23617 */ {(16<<2)|3,{46,50,49}}, +/* 23618 */ {(16<<2)|3,{46,50,50}}, +/* 23619 */ {(16<<2)|3,{46,50,97}}, +/* 23620 */ {(16<<2)|3,{46,50,99}}, +/* 23621 */ {(16<<2)|3,{46,50,101}}, +/* 23622 */ {(16<<2)|3,{46,50,105}}, +/* 23623 */ {(16<<2)|3,{46,50,111}}, +/* 23624 */ {(16<<2)|3,{46,50,115}}, +/* 23625 */ {(16<<2)|3,{46,50,116}}, +/* 23626 */ {(11<<2)|2,{46,50,0}}, +/* 23627 */ {(11<<2)|2,{46,50,0}}, +/* 23628 */ {(11<<2)|2,{46,50,0}}, +/* 23629 */ {(11<<2)|2,{46,50,0}}, +/* 23630 */ {(11<<2)|2,{46,50,0}}, +/* 23631 */ {(11<<2)|2,{46,50,0}}, +/* 23632 */ {(11<<2)|2,{46,50,0}}, +/* 23633 */ {(11<<2)|2,{46,50,0}}, +/* 23634 */ {(11<<2)|2,{46,50,0}}, +/* 23635 */ {(11<<2)|2,{46,50,0}}, +/* 23636 */ {(11<<2)|2,{46,50,0}}, +/* 23637 */ {(11<<2)|2,{46,50,0}}, +/* 23638 */ {(11<<2)|2,{46,50,0}}, +/* 23639 */ {(11<<2)|2,{46,50,0}}, +/* 23640 */ {(11<<2)|2,{46,50,0}}, +/* 23641 */ {(11<<2)|2,{46,50,0}}, +/* 23642 */ {(11<<2)|2,{46,50,0}}, +/* 23643 */ {(11<<2)|2,{46,50,0}}, +/* 23644 */ {(11<<2)|2,{46,50,0}}, +/* 23645 */ {(11<<2)|2,{46,50,0}}, +/* 23646 */ {(11<<2)|2,{46,50,0}}, +/* 23647 */ {(11<<2)|2,{46,50,0}}, +/* 23648 */ {(16<<2)|3,{46,97,48}}, +/* 23649 */ {(16<<2)|3,{46,97,49}}, +/* 23650 */ {(16<<2)|3,{46,97,50}}, +/* 23651 */ {(16<<2)|3,{46,97,97}}, +/* 23652 */ {(16<<2)|3,{46,97,99}}, +/* 23653 */ {(16<<2)|3,{46,97,101}}, +/* 23654 */ {(16<<2)|3,{46,97,105}}, +/* 23655 */ {(16<<2)|3,{46,97,111}}, +/* 23656 */ {(16<<2)|3,{46,97,115}}, +/* 23657 */ {(16<<2)|3,{46,97,116}}, +/* 23658 */ {(11<<2)|2,{46,97,0}}, +/* 23659 */ {(11<<2)|2,{46,97,0}}, +/* 23660 */ {(11<<2)|2,{46,97,0}}, +/* 23661 */ {(11<<2)|2,{46,97,0}}, +/* 23662 */ {(11<<2)|2,{46,97,0}}, +/* 23663 */ {(11<<2)|2,{46,97,0}}, +/* 23664 */ {(11<<2)|2,{46,97,0}}, +/* 23665 */ {(11<<2)|2,{46,97,0}}, +/* 23666 */ {(11<<2)|2,{46,97,0}}, +/* 23667 */ {(11<<2)|2,{46,97,0}}, +/* 23668 */ {(11<<2)|2,{46,97,0}}, +/* 23669 */ {(11<<2)|2,{46,97,0}}, +/* 23670 */ {(11<<2)|2,{46,97,0}}, +/* 23671 */ {(11<<2)|2,{46,97,0}}, +/* 23672 */ {(11<<2)|2,{46,97,0}}, +/* 23673 */ {(11<<2)|2,{46,97,0}}, +/* 23674 */ {(11<<2)|2,{46,97,0}}, +/* 23675 */ {(11<<2)|2,{46,97,0}}, +/* 23676 */ {(11<<2)|2,{46,97,0}}, +/* 23677 */ {(11<<2)|2,{46,97,0}}, +/* 23678 */ {(11<<2)|2,{46,97,0}}, +/* 23679 */ {(11<<2)|2,{46,97,0}}, +/* 23680 */ {(16<<2)|3,{46,99,48}}, +/* 23681 */ {(16<<2)|3,{46,99,49}}, +/* 23682 */ {(16<<2)|3,{46,99,50}}, +/* 23683 */ {(16<<2)|3,{46,99,97}}, +/* 23684 */ {(16<<2)|3,{46,99,99}}, +/* 23685 */ {(16<<2)|3,{46,99,101}}, +/* 23686 */ {(16<<2)|3,{46,99,105}}, +/* 23687 */ {(16<<2)|3,{46,99,111}}, +/* 23688 */ {(16<<2)|3,{46,99,115}}, +/* 23689 */ {(16<<2)|3,{46,99,116}}, +/* 23690 */ {(11<<2)|2,{46,99,0}}, +/* 23691 */ {(11<<2)|2,{46,99,0}}, +/* 23692 */ {(11<<2)|2,{46,99,0}}, +/* 23693 */ {(11<<2)|2,{46,99,0}}, +/* 23694 */ {(11<<2)|2,{46,99,0}}, +/* 23695 */ {(11<<2)|2,{46,99,0}}, +/* 23696 */ {(11<<2)|2,{46,99,0}}, +/* 23697 */ {(11<<2)|2,{46,99,0}}, +/* 23698 */ {(11<<2)|2,{46,99,0}}, +/* 23699 */ {(11<<2)|2,{46,99,0}}, +/* 23700 */ {(11<<2)|2,{46,99,0}}, +/* 23701 */ {(11<<2)|2,{46,99,0}}, +/* 23702 */ {(11<<2)|2,{46,99,0}}, +/* 23703 */ {(11<<2)|2,{46,99,0}}, +/* 23704 */ {(11<<2)|2,{46,99,0}}, +/* 23705 */ {(11<<2)|2,{46,99,0}}, +/* 23706 */ {(11<<2)|2,{46,99,0}}, +/* 23707 */ {(11<<2)|2,{46,99,0}}, +/* 23708 */ {(11<<2)|2,{46,99,0}}, +/* 23709 */ {(11<<2)|2,{46,99,0}}, +/* 23710 */ {(11<<2)|2,{46,99,0}}, +/* 23711 */ {(11<<2)|2,{46,99,0}}, +/* 23712 */ {(16<<2)|3,{46,101,48}}, +/* 23713 */ {(16<<2)|3,{46,101,49}}, +/* 23714 */ {(16<<2)|3,{46,101,50}}, +/* 23715 */ {(16<<2)|3,{46,101,97}}, +/* 23716 */ {(16<<2)|3,{46,101,99}}, +/* 23717 */ {(16<<2)|3,{46,101,101}}, +/* 23718 */ {(16<<2)|3,{46,101,105}}, +/* 23719 */ {(16<<2)|3,{46,101,111}}, +/* 23720 */ {(16<<2)|3,{46,101,115}}, +/* 23721 */ {(16<<2)|3,{46,101,116}}, +/* 23722 */ {(11<<2)|2,{46,101,0}}, +/* 23723 */ {(11<<2)|2,{46,101,0}}, +/* 23724 */ {(11<<2)|2,{46,101,0}}, +/* 23725 */ {(11<<2)|2,{46,101,0}}, +/* 23726 */ {(11<<2)|2,{46,101,0}}, +/* 23727 */ {(11<<2)|2,{46,101,0}}, +/* 23728 */ {(11<<2)|2,{46,101,0}}, +/* 23729 */ {(11<<2)|2,{46,101,0}}, +/* 23730 */ {(11<<2)|2,{46,101,0}}, +/* 23731 */ {(11<<2)|2,{46,101,0}}, +/* 23732 */ {(11<<2)|2,{46,101,0}}, +/* 23733 */ {(11<<2)|2,{46,101,0}}, +/* 23734 */ {(11<<2)|2,{46,101,0}}, +/* 23735 */ {(11<<2)|2,{46,101,0}}, +/* 23736 */ {(11<<2)|2,{46,101,0}}, +/* 23737 */ {(11<<2)|2,{46,101,0}}, +/* 23738 */ {(11<<2)|2,{46,101,0}}, +/* 23739 */ {(11<<2)|2,{46,101,0}}, +/* 23740 */ {(11<<2)|2,{46,101,0}}, +/* 23741 */ {(11<<2)|2,{46,101,0}}, +/* 23742 */ {(11<<2)|2,{46,101,0}}, +/* 23743 */ {(11<<2)|2,{46,101,0}}, +/* 23744 */ {(16<<2)|3,{46,105,48}}, +/* 23745 */ {(16<<2)|3,{46,105,49}}, +/* 23746 */ {(16<<2)|3,{46,105,50}}, +/* 23747 */ {(16<<2)|3,{46,105,97}}, +/* 23748 */ {(16<<2)|3,{46,105,99}}, +/* 23749 */ {(16<<2)|3,{46,105,101}}, +/* 23750 */ {(16<<2)|3,{46,105,105}}, +/* 23751 */ {(16<<2)|3,{46,105,111}}, +/* 23752 */ {(16<<2)|3,{46,105,115}}, +/* 23753 */ {(16<<2)|3,{46,105,116}}, +/* 23754 */ {(11<<2)|2,{46,105,0}}, +/* 23755 */ {(11<<2)|2,{46,105,0}}, +/* 23756 */ {(11<<2)|2,{46,105,0}}, +/* 23757 */ {(11<<2)|2,{46,105,0}}, +/* 23758 */ {(11<<2)|2,{46,105,0}}, +/* 23759 */ {(11<<2)|2,{46,105,0}}, +/* 23760 */ {(11<<2)|2,{46,105,0}}, +/* 23761 */ {(11<<2)|2,{46,105,0}}, +/* 23762 */ {(11<<2)|2,{46,105,0}}, +/* 23763 */ {(11<<2)|2,{46,105,0}}, +/* 23764 */ {(11<<2)|2,{46,105,0}}, +/* 23765 */ {(11<<2)|2,{46,105,0}}, +/* 23766 */ {(11<<2)|2,{46,105,0}}, +/* 23767 */ {(11<<2)|2,{46,105,0}}, +/* 23768 */ {(11<<2)|2,{46,105,0}}, +/* 23769 */ {(11<<2)|2,{46,105,0}}, +/* 23770 */ {(11<<2)|2,{46,105,0}}, +/* 23771 */ {(11<<2)|2,{46,105,0}}, +/* 23772 */ {(11<<2)|2,{46,105,0}}, +/* 23773 */ {(11<<2)|2,{46,105,0}}, +/* 23774 */ {(11<<2)|2,{46,105,0}}, +/* 23775 */ {(11<<2)|2,{46,105,0}}, +/* 23776 */ {(16<<2)|3,{46,111,48}}, +/* 23777 */ {(16<<2)|3,{46,111,49}}, +/* 23778 */ {(16<<2)|3,{46,111,50}}, +/* 23779 */ {(16<<2)|3,{46,111,97}}, +/* 23780 */ {(16<<2)|3,{46,111,99}}, +/* 23781 */ {(16<<2)|3,{46,111,101}}, +/* 23782 */ {(16<<2)|3,{46,111,105}}, +/* 23783 */ {(16<<2)|3,{46,111,111}}, +/* 23784 */ {(16<<2)|3,{46,111,115}}, +/* 23785 */ {(16<<2)|3,{46,111,116}}, +/* 23786 */ {(11<<2)|2,{46,111,0}}, +/* 23787 */ {(11<<2)|2,{46,111,0}}, +/* 23788 */ {(11<<2)|2,{46,111,0}}, +/* 23789 */ {(11<<2)|2,{46,111,0}}, +/* 23790 */ {(11<<2)|2,{46,111,0}}, +/* 23791 */ {(11<<2)|2,{46,111,0}}, +/* 23792 */ {(11<<2)|2,{46,111,0}}, +/* 23793 */ {(11<<2)|2,{46,111,0}}, +/* 23794 */ {(11<<2)|2,{46,111,0}}, +/* 23795 */ {(11<<2)|2,{46,111,0}}, +/* 23796 */ {(11<<2)|2,{46,111,0}}, +/* 23797 */ {(11<<2)|2,{46,111,0}}, +/* 23798 */ {(11<<2)|2,{46,111,0}}, +/* 23799 */ {(11<<2)|2,{46,111,0}}, +/* 23800 */ {(11<<2)|2,{46,111,0}}, +/* 23801 */ {(11<<2)|2,{46,111,0}}, +/* 23802 */ {(11<<2)|2,{46,111,0}}, +/* 23803 */ {(11<<2)|2,{46,111,0}}, +/* 23804 */ {(11<<2)|2,{46,111,0}}, +/* 23805 */ {(11<<2)|2,{46,111,0}}, +/* 23806 */ {(11<<2)|2,{46,111,0}}, +/* 23807 */ {(11<<2)|2,{46,111,0}}, +/* 23808 */ {(16<<2)|3,{46,115,48}}, +/* 23809 */ {(16<<2)|3,{46,115,49}}, +/* 23810 */ {(16<<2)|3,{46,115,50}}, +/* 23811 */ {(16<<2)|3,{46,115,97}}, +/* 23812 */ {(16<<2)|3,{46,115,99}}, +/* 23813 */ {(16<<2)|3,{46,115,101}}, +/* 23814 */ {(16<<2)|3,{46,115,105}}, +/* 23815 */ {(16<<2)|3,{46,115,111}}, +/* 23816 */ {(16<<2)|3,{46,115,115}}, +/* 23817 */ {(16<<2)|3,{46,115,116}}, +/* 23818 */ {(11<<2)|2,{46,115,0}}, +/* 23819 */ {(11<<2)|2,{46,115,0}}, +/* 23820 */ {(11<<2)|2,{46,115,0}}, +/* 23821 */ {(11<<2)|2,{46,115,0}}, +/* 23822 */ {(11<<2)|2,{46,115,0}}, +/* 23823 */ {(11<<2)|2,{46,115,0}}, +/* 23824 */ {(11<<2)|2,{46,115,0}}, +/* 23825 */ {(11<<2)|2,{46,115,0}}, +/* 23826 */ {(11<<2)|2,{46,115,0}}, +/* 23827 */ {(11<<2)|2,{46,115,0}}, +/* 23828 */ {(11<<2)|2,{46,115,0}}, +/* 23829 */ {(11<<2)|2,{46,115,0}}, +/* 23830 */ {(11<<2)|2,{46,115,0}}, +/* 23831 */ {(11<<2)|2,{46,115,0}}, +/* 23832 */ {(11<<2)|2,{46,115,0}}, +/* 23833 */ {(11<<2)|2,{46,115,0}}, +/* 23834 */ {(11<<2)|2,{46,115,0}}, +/* 23835 */ {(11<<2)|2,{46,115,0}}, +/* 23836 */ {(11<<2)|2,{46,115,0}}, +/* 23837 */ {(11<<2)|2,{46,115,0}}, +/* 23838 */ {(11<<2)|2,{46,115,0}}, +/* 23839 */ {(11<<2)|2,{46,115,0}}, +/* 23840 */ {(16<<2)|3,{46,116,48}}, +/* 23841 */ {(16<<2)|3,{46,116,49}}, +/* 23842 */ {(16<<2)|3,{46,116,50}}, +/* 23843 */ {(16<<2)|3,{46,116,97}}, +/* 23844 */ {(16<<2)|3,{46,116,99}}, +/* 23845 */ {(16<<2)|3,{46,116,101}}, +/* 23846 */ {(16<<2)|3,{46,116,105}}, +/* 23847 */ {(16<<2)|3,{46,116,111}}, +/* 23848 */ {(16<<2)|3,{46,116,115}}, +/* 23849 */ {(16<<2)|3,{46,116,116}}, +/* 23850 */ {(11<<2)|2,{46,116,0}}, +/* 23851 */ {(11<<2)|2,{46,116,0}}, +/* 23852 */ {(11<<2)|2,{46,116,0}}, +/* 23853 */ {(11<<2)|2,{46,116,0}}, +/* 23854 */ {(11<<2)|2,{46,116,0}}, +/* 23855 */ {(11<<2)|2,{46,116,0}}, +/* 23856 */ {(11<<2)|2,{46,116,0}}, +/* 23857 */ {(11<<2)|2,{46,116,0}}, +/* 23858 */ {(11<<2)|2,{46,116,0}}, +/* 23859 */ {(11<<2)|2,{46,116,0}}, +/* 23860 */ {(11<<2)|2,{46,116,0}}, +/* 23861 */ {(11<<2)|2,{46,116,0}}, +/* 23862 */ {(11<<2)|2,{46,116,0}}, +/* 23863 */ {(11<<2)|2,{46,116,0}}, +/* 23864 */ {(11<<2)|2,{46,116,0}}, +/* 23865 */ {(11<<2)|2,{46,116,0}}, +/* 23866 */ {(11<<2)|2,{46,116,0}}, +/* 23867 */ {(11<<2)|2,{46,116,0}}, +/* 23868 */ {(11<<2)|2,{46,116,0}}, +/* 23869 */ {(11<<2)|2,{46,116,0}}, +/* 23870 */ {(11<<2)|2,{46,116,0}}, +/* 23871 */ {(11<<2)|2,{46,116,0}}, +/* 23872 */ {(12<<2)|2,{46,32,0}}, +/* 23873 */ {(12<<2)|2,{46,32,0}}, +/* 23874 */ {(12<<2)|2,{46,32,0}}, +/* 23875 */ {(12<<2)|2,{46,32,0}}, +/* 23876 */ {(12<<2)|2,{46,32,0}}, +/* 23877 */ {(12<<2)|2,{46,32,0}}, +/* 23878 */ {(12<<2)|2,{46,32,0}}, +/* 23879 */ {(12<<2)|2,{46,32,0}}, +/* 23880 */ {(12<<2)|2,{46,32,0}}, +/* 23881 */ {(12<<2)|2,{46,32,0}}, +/* 23882 */ {(12<<2)|2,{46,32,0}}, +/* 23883 */ {(12<<2)|2,{46,32,0}}, +/* 23884 */ {(12<<2)|2,{46,32,0}}, +/* 23885 */ {(12<<2)|2,{46,32,0}}, +/* 23886 */ {(12<<2)|2,{46,32,0}}, +/* 23887 */ {(12<<2)|2,{46,32,0}}, +/* 23888 */ {(12<<2)|2,{46,37,0}}, +/* 23889 */ {(12<<2)|2,{46,37,0}}, +/* 23890 */ {(12<<2)|2,{46,37,0}}, +/* 23891 */ {(12<<2)|2,{46,37,0}}, +/* 23892 */ {(12<<2)|2,{46,37,0}}, +/* 23893 */ {(12<<2)|2,{46,37,0}}, +/* 23894 */ {(12<<2)|2,{46,37,0}}, +/* 23895 */ {(12<<2)|2,{46,37,0}}, +/* 23896 */ {(12<<2)|2,{46,37,0}}, +/* 23897 */ {(12<<2)|2,{46,37,0}}, +/* 23898 */ {(12<<2)|2,{46,37,0}}, +/* 23899 */ {(12<<2)|2,{46,37,0}}, +/* 23900 */ {(12<<2)|2,{46,37,0}}, +/* 23901 */ {(12<<2)|2,{46,37,0}}, +/* 23902 */ {(12<<2)|2,{46,37,0}}, +/* 23903 */ {(12<<2)|2,{46,37,0}}, +/* 23904 */ {(12<<2)|2,{46,45,0}}, +/* 23905 */ {(12<<2)|2,{46,45,0}}, +/* 23906 */ {(12<<2)|2,{46,45,0}}, +/* 23907 */ {(12<<2)|2,{46,45,0}}, +/* 23908 */ {(12<<2)|2,{46,45,0}}, +/* 23909 */ {(12<<2)|2,{46,45,0}}, +/* 23910 */ {(12<<2)|2,{46,45,0}}, +/* 23911 */ {(12<<2)|2,{46,45,0}}, +/* 23912 */ {(12<<2)|2,{46,45,0}}, +/* 23913 */ {(12<<2)|2,{46,45,0}}, +/* 23914 */ {(12<<2)|2,{46,45,0}}, +/* 23915 */ {(12<<2)|2,{46,45,0}}, +/* 23916 */ {(12<<2)|2,{46,45,0}}, +/* 23917 */ {(12<<2)|2,{46,45,0}}, +/* 23918 */ {(12<<2)|2,{46,45,0}}, +/* 23919 */ {(12<<2)|2,{46,45,0}}, +/* 23920 */ {(12<<2)|2,{46,46,0}}, +/* 23921 */ {(12<<2)|2,{46,46,0}}, +/* 23922 */ {(12<<2)|2,{46,46,0}}, +/* 23923 */ {(12<<2)|2,{46,46,0}}, +/* 23924 */ {(12<<2)|2,{46,46,0}}, +/* 23925 */ {(12<<2)|2,{46,46,0}}, +/* 23926 */ {(12<<2)|2,{46,46,0}}, +/* 23927 */ {(12<<2)|2,{46,46,0}}, +/* 23928 */ {(12<<2)|2,{46,46,0}}, +/* 23929 */ {(12<<2)|2,{46,46,0}}, +/* 23930 */ {(12<<2)|2,{46,46,0}}, +/* 23931 */ {(12<<2)|2,{46,46,0}}, +/* 23932 */ {(12<<2)|2,{46,46,0}}, +/* 23933 */ {(12<<2)|2,{46,46,0}}, +/* 23934 */ {(12<<2)|2,{46,46,0}}, +/* 23935 */ {(12<<2)|2,{46,46,0}}, +/* 23936 */ {(12<<2)|2,{46,47,0}}, +/* 23937 */ {(12<<2)|2,{46,47,0}}, +/* 23938 */ {(12<<2)|2,{46,47,0}}, +/* 23939 */ {(12<<2)|2,{46,47,0}}, +/* 23940 */ {(12<<2)|2,{46,47,0}}, +/* 23941 */ {(12<<2)|2,{46,47,0}}, +/* 23942 */ {(12<<2)|2,{46,47,0}}, +/* 23943 */ {(12<<2)|2,{46,47,0}}, +/* 23944 */ {(12<<2)|2,{46,47,0}}, +/* 23945 */ {(12<<2)|2,{46,47,0}}, +/* 23946 */ {(12<<2)|2,{46,47,0}}, +/* 23947 */ {(12<<2)|2,{46,47,0}}, +/* 23948 */ {(12<<2)|2,{46,47,0}}, +/* 23949 */ {(12<<2)|2,{46,47,0}}, +/* 23950 */ {(12<<2)|2,{46,47,0}}, +/* 23951 */ {(12<<2)|2,{46,47,0}}, +/* 23952 */ {(12<<2)|2,{46,51,0}}, +/* 23953 */ {(12<<2)|2,{46,51,0}}, +/* 23954 */ {(12<<2)|2,{46,51,0}}, +/* 23955 */ {(12<<2)|2,{46,51,0}}, +/* 23956 */ {(12<<2)|2,{46,51,0}}, +/* 23957 */ {(12<<2)|2,{46,51,0}}, +/* 23958 */ {(12<<2)|2,{46,51,0}}, +/* 23959 */ {(12<<2)|2,{46,51,0}}, +/* 23960 */ {(12<<2)|2,{46,51,0}}, +/* 23961 */ {(12<<2)|2,{46,51,0}}, +/* 23962 */ {(12<<2)|2,{46,51,0}}, +/* 23963 */ {(12<<2)|2,{46,51,0}}, +/* 23964 */ {(12<<2)|2,{46,51,0}}, +/* 23965 */ {(12<<2)|2,{46,51,0}}, +/* 23966 */ {(12<<2)|2,{46,51,0}}, +/* 23967 */ {(12<<2)|2,{46,51,0}}, +/* 23968 */ {(12<<2)|2,{46,52,0}}, +/* 23969 */ {(12<<2)|2,{46,52,0}}, +/* 23970 */ {(12<<2)|2,{46,52,0}}, +/* 23971 */ {(12<<2)|2,{46,52,0}}, +/* 23972 */ {(12<<2)|2,{46,52,0}}, +/* 23973 */ {(12<<2)|2,{46,52,0}}, +/* 23974 */ {(12<<2)|2,{46,52,0}}, +/* 23975 */ {(12<<2)|2,{46,52,0}}, +/* 23976 */ {(12<<2)|2,{46,52,0}}, +/* 23977 */ {(12<<2)|2,{46,52,0}}, +/* 23978 */ {(12<<2)|2,{46,52,0}}, +/* 23979 */ {(12<<2)|2,{46,52,0}}, +/* 23980 */ {(12<<2)|2,{46,52,0}}, +/* 23981 */ {(12<<2)|2,{46,52,0}}, +/* 23982 */ {(12<<2)|2,{46,52,0}}, +/* 23983 */ {(12<<2)|2,{46,52,0}}, +/* 23984 */ {(12<<2)|2,{46,53,0}}, +/* 23985 */ {(12<<2)|2,{46,53,0}}, +/* 23986 */ {(12<<2)|2,{46,53,0}}, +/* 23987 */ {(12<<2)|2,{46,53,0}}, +/* 23988 */ {(12<<2)|2,{46,53,0}}, +/* 23989 */ {(12<<2)|2,{46,53,0}}, +/* 23990 */ {(12<<2)|2,{46,53,0}}, +/* 23991 */ {(12<<2)|2,{46,53,0}}, +/* 23992 */ {(12<<2)|2,{46,53,0}}, +/* 23993 */ {(12<<2)|2,{46,53,0}}, +/* 23994 */ {(12<<2)|2,{46,53,0}}, +/* 23995 */ {(12<<2)|2,{46,53,0}}, +/* 23996 */ {(12<<2)|2,{46,53,0}}, +/* 23997 */ {(12<<2)|2,{46,53,0}}, +/* 23998 */ {(12<<2)|2,{46,53,0}}, +/* 23999 */ {(12<<2)|2,{46,53,0}}, +/* 24000 */ {(12<<2)|2,{46,54,0}}, +/* 24001 */ {(12<<2)|2,{46,54,0}}, +/* 24002 */ {(12<<2)|2,{46,54,0}}, +/* 24003 */ {(12<<2)|2,{46,54,0}}, +/* 24004 */ {(12<<2)|2,{46,54,0}}, +/* 24005 */ {(12<<2)|2,{46,54,0}}, +/* 24006 */ {(12<<2)|2,{46,54,0}}, +/* 24007 */ {(12<<2)|2,{46,54,0}}, +/* 24008 */ {(12<<2)|2,{46,54,0}}, +/* 24009 */ {(12<<2)|2,{46,54,0}}, +/* 24010 */ {(12<<2)|2,{46,54,0}}, +/* 24011 */ {(12<<2)|2,{46,54,0}}, +/* 24012 */ {(12<<2)|2,{46,54,0}}, +/* 24013 */ {(12<<2)|2,{46,54,0}}, +/* 24014 */ {(12<<2)|2,{46,54,0}}, +/* 24015 */ {(12<<2)|2,{46,54,0}}, +/* 24016 */ {(12<<2)|2,{46,55,0}}, +/* 24017 */ {(12<<2)|2,{46,55,0}}, +/* 24018 */ {(12<<2)|2,{46,55,0}}, +/* 24019 */ {(12<<2)|2,{46,55,0}}, +/* 24020 */ {(12<<2)|2,{46,55,0}}, +/* 24021 */ {(12<<2)|2,{46,55,0}}, +/* 24022 */ {(12<<2)|2,{46,55,0}}, +/* 24023 */ {(12<<2)|2,{46,55,0}}, +/* 24024 */ {(12<<2)|2,{46,55,0}}, +/* 24025 */ {(12<<2)|2,{46,55,0}}, +/* 24026 */ {(12<<2)|2,{46,55,0}}, +/* 24027 */ {(12<<2)|2,{46,55,0}}, +/* 24028 */ {(12<<2)|2,{46,55,0}}, +/* 24029 */ {(12<<2)|2,{46,55,0}}, +/* 24030 */ {(12<<2)|2,{46,55,0}}, +/* 24031 */ {(12<<2)|2,{46,55,0}}, +/* 24032 */ {(12<<2)|2,{46,56,0}}, +/* 24033 */ {(12<<2)|2,{46,56,0}}, +/* 24034 */ {(12<<2)|2,{46,56,0}}, +/* 24035 */ {(12<<2)|2,{46,56,0}}, +/* 24036 */ {(12<<2)|2,{46,56,0}}, +/* 24037 */ {(12<<2)|2,{46,56,0}}, +/* 24038 */ {(12<<2)|2,{46,56,0}}, +/* 24039 */ {(12<<2)|2,{46,56,0}}, +/* 24040 */ {(12<<2)|2,{46,56,0}}, +/* 24041 */ {(12<<2)|2,{46,56,0}}, +/* 24042 */ {(12<<2)|2,{46,56,0}}, +/* 24043 */ {(12<<2)|2,{46,56,0}}, +/* 24044 */ {(12<<2)|2,{46,56,0}}, +/* 24045 */ {(12<<2)|2,{46,56,0}}, +/* 24046 */ {(12<<2)|2,{46,56,0}}, +/* 24047 */ {(12<<2)|2,{46,56,0}}, +/* 24048 */ {(12<<2)|2,{46,57,0}}, +/* 24049 */ {(12<<2)|2,{46,57,0}}, +/* 24050 */ {(12<<2)|2,{46,57,0}}, +/* 24051 */ {(12<<2)|2,{46,57,0}}, +/* 24052 */ {(12<<2)|2,{46,57,0}}, +/* 24053 */ {(12<<2)|2,{46,57,0}}, +/* 24054 */ {(12<<2)|2,{46,57,0}}, +/* 24055 */ {(12<<2)|2,{46,57,0}}, +/* 24056 */ {(12<<2)|2,{46,57,0}}, +/* 24057 */ {(12<<2)|2,{46,57,0}}, +/* 24058 */ {(12<<2)|2,{46,57,0}}, +/* 24059 */ {(12<<2)|2,{46,57,0}}, +/* 24060 */ {(12<<2)|2,{46,57,0}}, +/* 24061 */ {(12<<2)|2,{46,57,0}}, +/* 24062 */ {(12<<2)|2,{46,57,0}}, +/* 24063 */ {(12<<2)|2,{46,57,0}}, +/* 24064 */ {(12<<2)|2,{46,61,0}}, +/* 24065 */ {(12<<2)|2,{46,61,0}}, +/* 24066 */ {(12<<2)|2,{46,61,0}}, +/* 24067 */ {(12<<2)|2,{46,61,0}}, +/* 24068 */ {(12<<2)|2,{46,61,0}}, +/* 24069 */ {(12<<2)|2,{46,61,0}}, +/* 24070 */ {(12<<2)|2,{46,61,0}}, +/* 24071 */ {(12<<2)|2,{46,61,0}}, +/* 24072 */ {(12<<2)|2,{46,61,0}}, +/* 24073 */ {(12<<2)|2,{46,61,0}}, +/* 24074 */ {(12<<2)|2,{46,61,0}}, +/* 24075 */ {(12<<2)|2,{46,61,0}}, +/* 24076 */ {(12<<2)|2,{46,61,0}}, +/* 24077 */ {(12<<2)|2,{46,61,0}}, +/* 24078 */ {(12<<2)|2,{46,61,0}}, +/* 24079 */ {(12<<2)|2,{46,61,0}}, +/* 24080 */ {(12<<2)|2,{46,65,0}}, +/* 24081 */ {(12<<2)|2,{46,65,0}}, +/* 24082 */ {(12<<2)|2,{46,65,0}}, +/* 24083 */ {(12<<2)|2,{46,65,0}}, +/* 24084 */ {(12<<2)|2,{46,65,0}}, +/* 24085 */ {(12<<2)|2,{46,65,0}}, +/* 24086 */ {(12<<2)|2,{46,65,0}}, +/* 24087 */ {(12<<2)|2,{46,65,0}}, +/* 24088 */ {(12<<2)|2,{46,65,0}}, +/* 24089 */ {(12<<2)|2,{46,65,0}}, +/* 24090 */ {(12<<2)|2,{46,65,0}}, +/* 24091 */ {(12<<2)|2,{46,65,0}}, +/* 24092 */ {(12<<2)|2,{46,65,0}}, +/* 24093 */ {(12<<2)|2,{46,65,0}}, +/* 24094 */ {(12<<2)|2,{46,65,0}}, +/* 24095 */ {(12<<2)|2,{46,65,0}}, +/* 24096 */ {(12<<2)|2,{46,95,0}}, +/* 24097 */ {(12<<2)|2,{46,95,0}}, +/* 24098 */ {(12<<2)|2,{46,95,0}}, +/* 24099 */ {(12<<2)|2,{46,95,0}}, +/* 24100 */ {(12<<2)|2,{46,95,0}}, +/* 24101 */ {(12<<2)|2,{46,95,0}}, +/* 24102 */ {(12<<2)|2,{46,95,0}}, +/* 24103 */ {(12<<2)|2,{46,95,0}}, +/* 24104 */ {(12<<2)|2,{46,95,0}}, +/* 24105 */ {(12<<2)|2,{46,95,0}}, +/* 24106 */ {(12<<2)|2,{46,95,0}}, +/* 24107 */ {(12<<2)|2,{46,95,0}}, +/* 24108 */ {(12<<2)|2,{46,95,0}}, +/* 24109 */ {(12<<2)|2,{46,95,0}}, +/* 24110 */ {(12<<2)|2,{46,95,0}}, +/* 24111 */ {(12<<2)|2,{46,95,0}}, +/* 24112 */ {(12<<2)|2,{46,98,0}}, +/* 24113 */ {(12<<2)|2,{46,98,0}}, +/* 24114 */ {(12<<2)|2,{46,98,0}}, +/* 24115 */ {(12<<2)|2,{46,98,0}}, +/* 24116 */ {(12<<2)|2,{46,98,0}}, +/* 24117 */ {(12<<2)|2,{46,98,0}}, +/* 24118 */ {(12<<2)|2,{46,98,0}}, +/* 24119 */ {(12<<2)|2,{46,98,0}}, +/* 24120 */ {(12<<2)|2,{46,98,0}}, +/* 24121 */ {(12<<2)|2,{46,98,0}}, +/* 24122 */ {(12<<2)|2,{46,98,0}}, +/* 24123 */ {(12<<2)|2,{46,98,0}}, +/* 24124 */ {(12<<2)|2,{46,98,0}}, +/* 24125 */ {(12<<2)|2,{46,98,0}}, +/* 24126 */ {(12<<2)|2,{46,98,0}}, +/* 24127 */ {(12<<2)|2,{46,98,0}}, +/* 24128 */ {(12<<2)|2,{46,100,0}}, +/* 24129 */ {(12<<2)|2,{46,100,0}}, +/* 24130 */ {(12<<2)|2,{46,100,0}}, +/* 24131 */ {(12<<2)|2,{46,100,0}}, +/* 24132 */ {(12<<2)|2,{46,100,0}}, +/* 24133 */ {(12<<2)|2,{46,100,0}}, +/* 24134 */ {(12<<2)|2,{46,100,0}}, +/* 24135 */ {(12<<2)|2,{46,100,0}}, +/* 24136 */ {(12<<2)|2,{46,100,0}}, +/* 24137 */ {(12<<2)|2,{46,100,0}}, +/* 24138 */ {(12<<2)|2,{46,100,0}}, +/* 24139 */ {(12<<2)|2,{46,100,0}}, +/* 24140 */ {(12<<2)|2,{46,100,0}}, +/* 24141 */ {(12<<2)|2,{46,100,0}}, +/* 24142 */ {(12<<2)|2,{46,100,0}}, +/* 24143 */ {(12<<2)|2,{46,100,0}}, +/* 24144 */ {(12<<2)|2,{46,102,0}}, +/* 24145 */ {(12<<2)|2,{46,102,0}}, +/* 24146 */ {(12<<2)|2,{46,102,0}}, +/* 24147 */ {(12<<2)|2,{46,102,0}}, +/* 24148 */ {(12<<2)|2,{46,102,0}}, +/* 24149 */ {(12<<2)|2,{46,102,0}}, +/* 24150 */ {(12<<2)|2,{46,102,0}}, +/* 24151 */ {(12<<2)|2,{46,102,0}}, +/* 24152 */ {(12<<2)|2,{46,102,0}}, +/* 24153 */ {(12<<2)|2,{46,102,0}}, +/* 24154 */ {(12<<2)|2,{46,102,0}}, +/* 24155 */ {(12<<2)|2,{46,102,0}}, +/* 24156 */ {(12<<2)|2,{46,102,0}}, +/* 24157 */ {(12<<2)|2,{46,102,0}}, +/* 24158 */ {(12<<2)|2,{46,102,0}}, +/* 24159 */ {(12<<2)|2,{46,102,0}}, +/* 24160 */ {(12<<2)|2,{46,103,0}}, +/* 24161 */ {(12<<2)|2,{46,103,0}}, +/* 24162 */ {(12<<2)|2,{46,103,0}}, +/* 24163 */ {(12<<2)|2,{46,103,0}}, +/* 24164 */ {(12<<2)|2,{46,103,0}}, +/* 24165 */ {(12<<2)|2,{46,103,0}}, +/* 24166 */ {(12<<2)|2,{46,103,0}}, +/* 24167 */ {(12<<2)|2,{46,103,0}}, +/* 24168 */ {(12<<2)|2,{46,103,0}}, +/* 24169 */ {(12<<2)|2,{46,103,0}}, +/* 24170 */ {(12<<2)|2,{46,103,0}}, +/* 24171 */ {(12<<2)|2,{46,103,0}}, +/* 24172 */ {(12<<2)|2,{46,103,0}}, +/* 24173 */ {(12<<2)|2,{46,103,0}}, +/* 24174 */ {(12<<2)|2,{46,103,0}}, +/* 24175 */ {(12<<2)|2,{46,103,0}}, +/* 24176 */ {(12<<2)|2,{46,104,0}}, +/* 24177 */ {(12<<2)|2,{46,104,0}}, +/* 24178 */ {(12<<2)|2,{46,104,0}}, +/* 24179 */ {(12<<2)|2,{46,104,0}}, +/* 24180 */ {(12<<2)|2,{46,104,0}}, +/* 24181 */ {(12<<2)|2,{46,104,0}}, +/* 24182 */ {(12<<2)|2,{46,104,0}}, +/* 24183 */ {(12<<2)|2,{46,104,0}}, +/* 24184 */ {(12<<2)|2,{46,104,0}}, +/* 24185 */ {(12<<2)|2,{46,104,0}}, +/* 24186 */ {(12<<2)|2,{46,104,0}}, +/* 24187 */ {(12<<2)|2,{46,104,0}}, +/* 24188 */ {(12<<2)|2,{46,104,0}}, +/* 24189 */ {(12<<2)|2,{46,104,0}}, +/* 24190 */ {(12<<2)|2,{46,104,0}}, +/* 24191 */ {(12<<2)|2,{46,104,0}}, +/* 24192 */ {(12<<2)|2,{46,108,0}}, +/* 24193 */ {(12<<2)|2,{46,108,0}}, +/* 24194 */ {(12<<2)|2,{46,108,0}}, +/* 24195 */ {(12<<2)|2,{46,108,0}}, +/* 24196 */ {(12<<2)|2,{46,108,0}}, +/* 24197 */ {(12<<2)|2,{46,108,0}}, +/* 24198 */ {(12<<2)|2,{46,108,0}}, +/* 24199 */ {(12<<2)|2,{46,108,0}}, +/* 24200 */ {(12<<2)|2,{46,108,0}}, +/* 24201 */ {(12<<2)|2,{46,108,0}}, +/* 24202 */ {(12<<2)|2,{46,108,0}}, +/* 24203 */ {(12<<2)|2,{46,108,0}}, +/* 24204 */ {(12<<2)|2,{46,108,0}}, +/* 24205 */ {(12<<2)|2,{46,108,0}}, +/* 24206 */ {(12<<2)|2,{46,108,0}}, +/* 24207 */ {(12<<2)|2,{46,108,0}}, +/* 24208 */ {(12<<2)|2,{46,109,0}}, +/* 24209 */ {(12<<2)|2,{46,109,0}}, +/* 24210 */ {(12<<2)|2,{46,109,0}}, +/* 24211 */ {(12<<2)|2,{46,109,0}}, +/* 24212 */ {(12<<2)|2,{46,109,0}}, +/* 24213 */ {(12<<2)|2,{46,109,0}}, +/* 24214 */ {(12<<2)|2,{46,109,0}}, +/* 24215 */ {(12<<2)|2,{46,109,0}}, +/* 24216 */ {(12<<2)|2,{46,109,0}}, +/* 24217 */ {(12<<2)|2,{46,109,0}}, +/* 24218 */ {(12<<2)|2,{46,109,0}}, +/* 24219 */ {(12<<2)|2,{46,109,0}}, +/* 24220 */ {(12<<2)|2,{46,109,0}}, +/* 24221 */ {(12<<2)|2,{46,109,0}}, +/* 24222 */ {(12<<2)|2,{46,109,0}}, +/* 24223 */ {(12<<2)|2,{46,109,0}}, +/* 24224 */ {(12<<2)|2,{46,110,0}}, +/* 24225 */ {(12<<2)|2,{46,110,0}}, +/* 24226 */ {(12<<2)|2,{46,110,0}}, +/* 24227 */ {(12<<2)|2,{46,110,0}}, +/* 24228 */ {(12<<2)|2,{46,110,0}}, +/* 24229 */ {(12<<2)|2,{46,110,0}}, +/* 24230 */ {(12<<2)|2,{46,110,0}}, +/* 24231 */ {(12<<2)|2,{46,110,0}}, +/* 24232 */ {(12<<2)|2,{46,110,0}}, +/* 24233 */ {(12<<2)|2,{46,110,0}}, +/* 24234 */ {(12<<2)|2,{46,110,0}}, +/* 24235 */ {(12<<2)|2,{46,110,0}}, +/* 24236 */ {(12<<2)|2,{46,110,0}}, +/* 24237 */ {(12<<2)|2,{46,110,0}}, +/* 24238 */ {(12<<2)|2,{46,110,0}}, +/* 24239 */ {(12<<2)|2,{46,110,0}}, +/* 24240 */ {(12<<2)|2,{46,112,0}}, +/* 24241 */ {(12<<2)|2,{46,112,0}}, +/* 24242 */ {(12<<2)|2,{46,112,0}}, +/* 24243 */ {(12<<2)|2,{46,112,0}}, +/* 24244 */ {(12<<2)|2,{46,112,0}}, +/* 24245 */ {(12<<2)|2,{46,112,0}}, +/* 24246 */ {(12<<2)|2,{46,112,0}}, +/* 24247 */ {(12<<2)|2,{46,112,0}}, +/* 24248 */ {(12<<2)|2,{46,112,0}}, +/* 24249 */ {(12<<2)|2,{46,112,0}}, +/* 24250 */ {(12<<2)|2,{46,112,0}}, +/* 24251 */ {(12<<2)|2,{46,112,0}}, +/* 24252 */ {(12<<2)|2,{46,112,0}}, +/* 24253 */ {(12<<2)|2,{46,112,0}}, +/* 24254 */ {(12<<2)|2,{46,112,0}}, +/* 24255 */ {(12<<2)|2,{46,112,0}}, +/* 24256 */ {(12<<2)|2,{46,114,0}}, +/* 24257 */ {(12<<2)|2,{46,114,0}}, +/* 24258 */ {(12<<2)|2,{46,114,0}}, +/* 24259 */ {(12<<2)|2,{46,114,0}}, +/* 24260 */ {(12<<2)|2,{46,114,0}}, +/* 24261 */ {(12<<2)|2,{46,114,0}}, +/* 24262 */ {(12<<2)|2,{46,114,0}}, +/* 24263 */ {(12<<2)|2,{46,114,0}}, +/* 24264 */ {(12<<2)|2,{46,114,0}}, +/* 24265 */ {(12<<2)|2,{46,114,0}}, +/* 24266 */ {(12<<2)|2,{46,114,0}}, +/* 24267 */ {(12<<2)|2,{46,114,0}}, +/* 24268 */ {(12<<2)|2,{46,114,0}}, +/* 24269 */ {(12<<2)|2,{46,114,0}}, +/* 24270 */ {(12<<2)|2,{46,114,0}}, +/* 24271 */ {(12<<2)|2,{46,114,0}}, +/* 24272 */ {(12<<2)|2,{46,117,0}}, +/* 24273 */ {(12<<2)|2,{46,117,0}}, +/* 24274 */ {(12<<2)|2,{46,117,0}}, +/* 24275 */ {(12<<2)|2,{46,117,0}}, +/* 24276 */ {(12<<2)|2,{46,117,0}}, +/* 24277 */ {(12<<2)|2,{46,117,0}}, +/* 24278 */ {(12<<2)|2,{46,117,0}}, +/* 24279 */ {(12<<2)|2,{46,117,0}}, +/* 24280 */ {(12<<2)|2,{46,117,0}}, +/* 24281 */ {(12<<2)|2,{46,117,0}}, +/* 24282 */ {(12<<2)|2,{46,117,0}}, +/* 24283 */ {(12<<2)|2,{46,117,0}}, +/* 24284 */ {(12<<2)|2,{46,117,0}}, +/* 24285 */ {(12<<2)|2,{46,117,0}}, +/* 24286 */ {(12<<2)|2,{46,117,0}}, +/* 24287 */ {(12<<2)|2,{46,117,0}}, +/* 24288 */ {(13<<2)|2,{46,58,0}}, +/* 24289 */ {(13<<2)|2,{46,58,0}}, +/* 24290 */ {(13<<2)|2,{46,58,0}}, +/* 24291 */ {(13<<2)|2,{46,58,0}}, +/* 24292 */ {(13<<2)|2,{46,58,0}}, +/* 24293 */ {(13<<2)|2,{46,58,0}}, +/* 24294 */ {(13<<2)|2,{46,58,0}}, +/* 24295 */ {(13<<2)|2,{46,58,0}}, +/* 24296 */ {(13<<2)|2,{46,66,0}}, +/* 24297 */ {(13<<2)|2,{46,66,0}}, +/* 24298 */ {(13<<2)|2,{46,66,0}}, +/* 24299 */ {(13<<2)|2,{46,66,0}}, +/* 24300 */ {(13<<2)|2,{46,66,0}}, +/* 24301 */ {(13<<2)|2,{46,66,0}}, +/* 24302 */ {(13<<2)|2,{46,66,0}}, +/* 24303 */ {(13<<2)|2,{46,66,0}}, +/* 24304 */ {(13<<2)|2,{46,67,0}}, +/* 24305 */ {(13<<2)|2,{46,67,0}}, +/* 24306 */ {(13<<2)|2,{46,67,0}}, +/* 24307 */ {(13<<2)|2,{46,67,0}}, +/* 24308 */ {(13<<2)|2,{46,67,0}}, +/* 24309 */ {(13<<2)|2,{46,67,0}}, +/* 24310 */ {(13<<2)|2,{46,67,0}}, +/* 24311 */ {(13<<2)|2,{46,67,0}}, +/* 24312 */ {(13<<2)|2,{46,68,0}}, +/* 24313 */ {(13<<2)|2,{46,68,0}}, +/* 24314 */ {(13<<2)|2,{46,68,0}}, +/* 24315 */ {(13<<2)|2,{46,68,0}}, +/* 24316 */ {(13<<2)|2,{46,68,0}}, +/* 24317 */ {(13<<2)|2,{46,68,0}}, +/* 24318 */ {(13<<2)|2,{46,68,0}}, +/* 24319 */ {(13<<2)|2,{46,68,0}}, +/* 24320 */ {(13<<2)|2,{46,69,0}}, +/* 24321 */ {(13<<2)|2,{46,69,0}}, +/* 24322 */ {(13<<2)|2,{46,69,0}}, +/* 24323 */ {(13<<2)|2,{46,69,0}}, +/* 24324 */ {(13<<2)|2,{46,69,0}}, +/* 24325 */ {(13<<2)|2,{46,69,0}}, +/* 24326 */ {(13<<2)|2,{46,69,0}}, +/* 24327 */ {(13<<2)|2,{46,69,0}}, +/* 24328 */ {(13<<2)|2,{46,70,0}}, +/* 24329 */ {(13<<2)|2,{46,70,0}}, +/* 24330 */ {(13<<2)|2,{46,70,0}}, +/* 24331 */ {(13<<2)|2,{46,70,0}}, +/* 24332 */ {(13<<2)|2,{46,70,0}}, +/* 24333 */ {(13<<2)|2,{46,70,0}}, +/* 24334 */ {(13<<2)|2,{46,70,0}}, +/* 24335 */ {(13<<2)|2,{46,70,0}}, +/* 24336 */ {(13<<2)|2,{46,71,0}}, +/* 24337 */ {(13<<2)|2,{46,71,0}}, +/* 24338 */ {(13<<2)|2,{46,71,0}}, +/* 24339 */ {(13<<2)|2,{46,71,0}}, +/* 24340 */ {(13<<2)|2,{46,71,0}}, +/* 24341 */ {(13<<2)|2,{46,71,0}}, +/* 24342 */ {(13<<2)|2,{46,71,0}}, +/* 24343 */ {(13<<2)|2,{46,71,0}}, +/* 24344 */ {(13<<2)|2,{46,72,0}}, +/* 24345 */ {(13<<2)|2,{46,72,0}}, +/* 24346 */ {(13<<2)|2,{46,72,0}}, +/* 24347 */ {(13<<2)|2,{46,72,0}}, +/* 24348 */ {(13<<2)|2,{46,72,0}}, +/* 24349 */ {(13<<2)|2,{46,72,0}}, +/* 24350 */ {(13<<2)|2,{46,72,0}}, +/* 24351 */ {(13<<2)|2,{46,72,0}}, +/* 24352 */ {(13<<2)|2,{46,73,0}}, +/* 24353 */ {(13<<2)|2,{46,73,0}}, +/* 24354 */ {(13<<2)|2,{46,73,0}}, +/* 24355 */ {(13<<2)|2,{46,73,0}}, +/* 24356 */ {(13<<2)|2,{46,73,0}}, +/* 24357 */ {(13<<2)|2,{46,73,0}}, +/* 24358 */ {(13<<2)|2,{46,73,0}}, +/* 24359 */ {(13<<2)|2,{46,73,0}}, +/* 24360 */ {(13<<2)|2,{46,74,0}}, +/* 24361 */ {(13<<2)|2,{46,74,0}}, +/* 24362 */ {(13<<2)|2,{46,74,0}}, +/* 24363 */ {(13<<2)|2,{46,74,0}}, +/* 24364 */ {(13<<2)|2,{46,74,0}}, +/* 24365 */ {(13<<2)|2,{46,74,0}}, +/* 24366 */ {(13<<2)|2,{46,74,0}}, +/* 24367 */ {(13<<2)|2,{46,74,0}}, +/* 24368 */ {(13<<2)|2,{46,75,0}}, +/* 24369 */ {(13<<2)|2,{46,75,0}}, +/* 24370 */ {(13<<2)|2,{46,75,0}}, +/* 24371 */ {(13<<2)|2,{46,75,0}}, +/* 24372 */ {(13<<2)|2,{46,75,0}}, +/* 24373 */ {(13<<2)|2,{46,75,0}}, +/* 24374 */ {(13<<2)|2,{46,75,0}}, +/* 24375 */ {(13<<2)|2,{46,75,0}}, +/* 24376 */ {(13<<2)|2,{46,76,0}}, +/* 24377 */ {(13<<2)|2,{46,76,0}}, +/* 24378 */ {(13<<2)|2,{46,76,0}}, +/* 24379 */ {(13<<2)|2,{46,76,0}}, +/* 24380 */ {(13<<2)|2,{46,76,0}}, +/* 24381 */ {(13<<2)|2,{46,76,0}}, +/* 24382 */ {(13<<2)|2,{46,76,0}}, +/* 24383 */ {(13<<2)|2,{46,76,0}}, +/* 24384 */ {(13<<2)|2,{46,77,0}}, +/* 24385 */ {(13<<2)|2,{46,77,0}}, +/* 24386 */ {(13<<2)|2,{46,77,0}}, +/* 24387 */ {(13<<2)|2,{46,77,0}}, +/* 24388 */ {(13<<2)|2,{46,77,0}}, +/* 24389 */ {(13<<2)|2,{46,77,0}}, +/* 24390 */ {(13<<2)|2,{46,77,0}}, +/* 24391 */ {(13<<2)|2,{46,77,0}}, +/* 24392 */ {(13<<2)|2,{46,78,0}}, +/* 24393 */ {(13<<2)|2,{46,78,0}}, +/* 24394 */ {(13<<2)|2,{46,78,0}}, +/* 24395 */ {(13<<2)|2,{46,78,0}}, +/* 24396 */ {(13<<2)|2,{46,78,0}}, +/* 24397 */ {(13<<2)|2,{46,78,0}}, +/* 24398 */ {(13<<2)|2,{46,78,0}}, +/* 24399 */ {(13<<2)|2,{46,78,0}}, +/* 24400 */ {(13<<2)|2,{46,79,0}}, +/* 24401 */ {(13<<2)|2,{46,79,0}}, +/* 24402 */ {(13<<2)|2,{46,79,0}}, +/* 24403 */ {(13<<2)|2,{46,79,0}}, +/* 24404 */ {(13<<2)|2,{46,79,0}}, +/* 24405 */ {(13<<2)|2,{46,79,0}}, +/* 24406 */ {(13<<2)|2,{46,79,0}}, +/* 24407 */ {(13<<2)|2,{46,79,0}}, +/* 24408 */ {(13<<2)|2,{46,80,0}}, +/* 24409 */ {(13<<2)|2,{46,80,0}}, +/* 24410 */ {(13<<2)|2,{46,80,0}}, +/* 24411 */ {(13<<2)|2,{46,80,0}}, +/* 24412 */ {(13<<2)|2,{46,80,0}}, +/* 24413 */ {(13<<2)|2,{46,80,0}}, +/* 24414 */ {(13<<2)|2,{46,80,0}}, +/* 24415 */ {(13<<2)|2,{46,80,0}}, +/* 24416 */ {(13<<2)|2,{46,81,0}}, +/* 24417 */ {(13<<2)|2,{46,81,0}}, +/* 24418 */ {(13<<2)|2,{46,81,0}}, +/* 24419 */ {(13<<2)|2,{46,81,0}}, +/* 24420 */ {(13<<2)|2,{46,81,0}}, +/* 24421 */ {(13<<2)|2,{46,81,0}}, +/* 24422 */ {(13<<2)|2,{46,81,0}}, +/* 24423 */ {(13<<2)|2,{46,81,0}}, +/* 24424 */ {(13<<2)|2,{46,82,0}}, +/* 24425 */ {(13<<2)|2,{46,82,0}}, +/* 24426 */ {(13<<2)|2,{46,82,0}}, +/* 24427 */ {(13<<2)|2,{46,82,0}}, +/* 24428 */ {(13<<2)|2,{46,82,0}}, +/* 24429 */ {(13<<2)|2,{46,82,0}}, +/* 24430 */ {(13<<2)|2,{46,82,0}}, +/* 24431 */ {(13<<2)|2,{46,82,0}}, +/* 24432 */ {(13<<2)|2,{46,83,0}}, +/* 24433 */ {(13<<2)|2,{46,83,0}}, +/* 24434 */ {(13<<2)|2,{46,83,0}}, +/* 24435 */ {(13<<2)|2,{46,83,0}}, +/* 24436 */ {(13<<2)|2,{46,83,0}}, +/* 24437 */ {(13<<2)|2,{46,83,0}}, +/* 24438 */ {(13<<2)|2,{46,83,0}}, +/* 24439 */ {(13<<2)|2,{46,83,0}}, +/* 24440 */ {(13<<2)|2,{46,84,0}}, +/* 24441 */ {(13<<2)|2,{46,84,0}}, +/* 24442 */ {(13<<2)|2,{46,84,0}}, +/* 24443 */ {(13<<2)|2,{46,84,0}}, +/* 24444 */ {(13<<2)|2,{46,84,0}}, +/* 24445 */ {(13<<2)|2,{46,84,0}}, +/* 24446 */ {(13<<2)|2,{46,84,0}}, +/* 24447 */ {(13<<2)|2,{46,84,0}}, +/* 24448 */ {(13<<2)|2,{46,85,0}}, +/* 24449 */ {(13<<2)|2,{46,85,0}}, +/* 24450 */ {(13<<2)|2,{46,85,0}}, +/* 24451 */ {(13<<2)|2,{46,85,0}}, +/* 24452 */ {(13<<2)|2,{46,85,0}}, +/* 24453 */ {(13<<2)|2,{46,85,0}}, +/* 24454 */ {(13<<2)|2,{46,85,0}}, +/* 24455 */ {(13<<2)|2,{46,85,0}}, +/* 24456 */ {(13<<2)|2,{46,86,0}}, +/* 24457 */ {(13<<2)|2,{46,86,0}}, +/* 24458 */ {(13<<2)|2,{46,86,0}}, +/* 24459 */ {(13<<2)|2,{46,86,0}}, +/* 24460 */ {(13<<2)|2,{46,86,0}}, +/* 24461 */ {(13<<2)|2,{46,86,0}}, +/* 24462 */ {(13<<2)|2,{46,86,0}}, +/* 24463 */ {(13<<2)|2,{46,86,0}}, +/* 24464 */ {(13<<2)|2,{46,87,0}}, +/* 24465 */ {(13<<2)|2,{46,87,0}}, +/* 24466 */ {(13<<2)|2,{46,87,0}}, +/* 24467 */ {(13<<2)|2,{46,87,0}}, +/* 24468 */ {(13<<2)|2,{46,87,0}}, +/* 24469 */ {(13<<2)|2,{46,87,0}}, +/* 24470 */ {(13<<2)|2,{46,87,0}}, +/* 24471 */ {(13<<2)|2,{46,87,0}}, +/* 24472 */ {(13<<2)|2,{46,89,0}}, +/* 24473 */ {(13<<2)|2,{46,89,0}}, +/* 24474 */ {(13<<2)|2,{46,89,0}}, +/* 24475 */ {(13<<2)|2,{46,89,0}}, +/* 24476 */ {(13<<2)|2,{46,89,0}}, +/* 24477 */ {(13<<2)|2,{46,89,0}}, +/* 24478 */ {(13<<2)|2,{46,89,0}}, +/* 24479 */ {(13<<2)|2,{46,89,0}}, +/* 24480 */ {(13<<2)|2,{46,106,0}}, +/* 24481 */ {(13<<2)|2,{46,106,0}}, +/* 24482 */ {(13<<2)|2,{46,106,0}}, +/* 24483 */ {(13<<2)|2,{46,106,0}}, +/* 24484 */ {(13<<2)|2,{46,106,0}}, +/* 24485 */ {(13<<2)|2,{46,106,0}}, +/* 24486 */ {(13<<2)|2,{46,106,0}}, +/* 24487 */ {(13<<2)|2,{46,106,0}}, +/* 24488 */ {(13<<2)|2,{46,107,0}}, +/* 24489 */ {(13<<2)|2,{46,107,0}}, +/* 24490 */ {(13<<2)|2,{46,107,0}}, +/* 24491 */ {(13<<2)|2,{46,107,0}}, +/* 24492 */ {(13<<2)|2,{46,107,0}}, +/* 24493 */ {(13<<2)|2,{46,107,0}}, +/* 24494 */ {(13<<2)|2,{46,107,0}}, +/* 24495 */ {(13<<2)|2,{46,107,0}}, +/* 24496 */ {(13<<2)|2,{46,113,0}}, +/* 24497 */ {(13<<2)|2,{46,113,0}}, +/* 24498 */ {(13<<2)|2,{46,113,0}}, +/* 24499 */ {(13<<2)|2,{46,113,0}}, +/* 24500 */ {(13<<2)|2,{46,113,0}}, +/* 24501 */ {(13<<2)|2,{46,113,0}}, +/* 24502 */ {(13<<2)|2,{46,113,0}}, +/* 24503 */ {(13<<2)|2,{46,113,0}}, +/* 24504 */ {(13<<2)|2,{46,118,0}}, +/* 24505 */ {(13<<2)|2,{46,118,0}}, +/* 24506 */ {(13<<2)|2,{46,118,0}}, +/* 24507 */ {(13<<2)|2,{46,118,0}}, +/* 24508 */ {(13<<2)|2,{46,118,0}}, +/* 24509 */ {(13<<2)|2,{46,118,0}}, +/* 24510 */ {(13<<2)|2,{46,118,0}}, +/* 24511 */ {(13<<2)|2,{46,118,0}}, +/* 24512 */ {(13<<2)|2,{46,119,0}}, +/* 24513 */ {(13<<2)|2,{46,119,0}}, +/* 24514 */ {(13<<2)|2,{46,119,0}}, +/* 24515 */ {(13<<2)|2,{46,119,0}}, +/* 24516 */ {(13<<2)|2,{46,119,0}}, +/* 24517 */ {(13<<2)|2,{46,119,0}}, +/* 24518 */ {(13<<2)|2,{46,119,0}}, +/* 24519 */ {(13<<2)|2,{46,119,0}}, +/* 24520 */ {(13<<2)|2,{46,120,0}}, +/* 24521 */ {(13<<2)|2,{46,120,0}}, +/* 24522 */ {(13<<2)|2,{46,120,0}}, +/* 24523 */ {(13<<2)|2,{46,120,0}}, +/* 24524 */ {(13<<2)|2,{46,120,0}}, +/* 24525 */ {(13<<2)|2,{46,120,0}}, +/* 24526 */ {(13<<2)|2,{46,120,0}}, +/* 24527 */ {(13<<2)|2,{46,120,0}}, +/* 24528 */ {(13<<2)|2,{46,121,0}}, +/* 24529 */ {(13<<2)|2,{46,121,0}}, +/* 24530 */ {(13<<2)|2,{46,121,0}}, +/* 24531 */ {(13<<2)|2,{46,121,0}}, +/* 24532 */ {(13<<2)|2,{46,121,0}}, +/* 24533 */ {(13<<2)|2,{46,121,0}}, +/* 24534 */ {(13<<2)|2,{46,121,0}}, +/* 24535 */ {(13<<2)|2,{46,121,0}}, +/* 24536 */ {(13<<2)|2,{46,122,0}}, +/* 24537 */ {(13<<2)|2,{46,122,0}}, +/* 24538 */ {(13<<2)|2,{46,122,0}}, +/* 24539 */ {(13<<2)|2,{46,122,0}}, +/* 24540 */ {(13<<2)|2,{46,122,0}}, +/* 24541 */ {(13<<2)|2,{46,122,0}}, +/* 24542 */ {(13<<2)|2,{46,122,0}}, +/* 24543 */ {(13<<2)|2,{46,122,0}}, +/* 24544 */ {(14<<2)|2,{46,38,0}}, +/* 24545 */ {(14<<2)|2,{46,38,0}}, +/* 24546 */ {(14<<2)|2,{46,38,0}}, +/* 24547 */ {(14<<2)|2,{46,38,0}}, +/* 24548 */ {(14<<2)|2,{46,42,0}}, +/* 24549 */ {(14<<2)|2,{46,42,0}}, +/* 24550 */ {(14<<2)|2,{46,42,0}}, +/* 24551 */ {(14<<2)|2,{46,42,0}}, +/* 24552 */ {(14<<2)|2,{46,44,0}}, +/* 24553 */ {(14<<2)|2,{46,44,0}}, +/* 24554 */ {(14<<2)|2,{46,44,0}}, +/* 24555 */ {(14<<2)|2,{46,44,0}}, +/* 24556 */ {(14<<2)|2,{46,59,0}}, +/* 24557 */ {(14<<2)|2,{46,59,0}}, +/* 24558 */ {(14<<2)|2,{46,59,0}}, +/* 24559 */ {(14<<2)|2,{46,59,0}}, +/* 24560 */ {(14<<2)|2,{46,88,0}}, +/* 24561 */ {(14<<2)|2,{46,88,0}}, +/* 24562 */ {(14<<2)|2,{46,88,0}}, +/* 24563 */ {(14<<2)|2,{46,88,0}}, +/* 24564 */ {(14<<2)|2,{46,90,0}}, +/* 24565 */ {(14<<2)|2,{46,90,0}}, +/* 24566 */ {(14<<2)|2,{46,90,0}}, +/* 24567 */ {(14<<2)|2,{46,90,0}}, +/* 24568 */ {(16<<2)|2,{46,33,0}}, +/* 24569 */ {(16<<2)|2,{46,34,0}}, +/* 24570 */ {(16<<2)|2,{46,40,0}}, +/* 24571 */ {(16<<2)|2,{46,41,0}}, +/* 24572 */ {(16<<2)|2,{46,63,0}}, +/* 24573 */ {(6<<2)|1,{46,0,0}}, +/* 24574 */ {(6<<2)|1,{46,0,0}}, +/* 24575 */ {(6<<2)|1,{46,0,0}}, +/* 24576 */ {(16<<2)|3,{47,48,48}}, +/* 24577 */ {(16<<2)|3,{47,48,49}}, +/* 24578 */ {(16<<2)|3,{47,48,50}}, +/* 24579 */ {(16<<2)|3,{47,48,97}}, +/* 24580 */ {(16<<2)|3,{47,48,99}}, +/* 24581 */ {(16<<2)|3,{47,48,101}}, +/* 24582 */ {(16<<2)|3,{47,48,105}}, +/* 24583 */ {(16<<2)|3,{47,48,111}}, +/* 24584 */ {(16<<2)|3,{47,48,115}}, +/* 24585 */ {(16<<2)|3,{47,48,116}}, +/* 24586 */ {(11<<2)|2,{47,48,0}}, +/* 24587 */ {(11<<2)|2,{47,48,0}}, +/* 24588 */ {(11<<2)|2,{47,48,0}}, +/* 24589 */ {(11<<2)|2,{47,48,0}}, +/* 24590 */ {(11<<2)|2,{47,48,0}}, +/* 24591 */ {(11<<2)|2,{47,48,0}}, +/* 24592 */ {(11<<2)|2,{47,48,0}}, +/* 24593 */ {(11<<2)|2,{47,48,0}}, +/* 24594 */ {(11<<2)|2,{47,48,0}}, +/* 24595 */ {(11<<2)|2,{47,48,0}}, +/* 24596 */ {(11<<2)|2,{47,48,0}}, +/* 24597 */ {(11<<2)|2,{47,48,0}}, +/* 24598 */ {(11<<2)|2,{47,48,0}}, +/* 24599 */ {(11<<2)|2,{47,48,0}}, +/* 24600 */ {(11<<2)|2,{47,48,0}}, +/* 24601 */ {(11<<2)|2,{47,48,0}}, +/* 24602 */ {(11<<2)|2,{47,48,0}}, +/* 24603 */ {(11<<2)|2,{47,48,0}}, +/* 24604 */ {(11<<2)|2,{47,48,0}}, +/* 24605 */ {(11<<2)|2,{47,48,0}}, +/* 24606 */ {(11<<2)|2,{47,48,0}}, +/* 24607 */ {(11<<2)|2,{47,48,0}}, +/* 24608 */ {(16<<2)|3,{47,49,48}}, +/* 24609 */ {(16<<2)|3,{47,49,49}}, +/* 24610 */ {(16<<2)|3,{47,49,50}}, +/* 24611 */ {(16<<2)|3,{47,49,97}}, +/* 24612 */ {(16<<2)|3,{47,49,99}}, +/* 24613 */ {(16<<2)|3,{47,49,101}}, +/* 24614 */ {(16<<2)|3,{47,49,105}}, +/* 24615 */ {(16<<2)|3,{47,49,111}}, +/* 24616 */ {(16<<2)|3,{47,49,115}}, +/* 24617 */ {(16<<2)|3,{47,49,116}}, +/* 24618 */ {(11<<2)|2,{47,49,0}}, +/* 24619 */ {(11<<2)|2,{47,49,0}}, +/* 24620 */ {(11<<2)|2,{47,49,0}}, +/* 24621 */ {(11<<2)|2,{47,49,0}}, +/* 24622 */ {(11<<2)|2,{47,49,0}}, +/* 24623 */ {(11<<2)|2,{47,49,0}}, +/* 24624 */ {(11<<2)|2,{47,49,0}}, +/* 24625 */ {(11<<2)|2,{47,49,0}}, +/* 24626 */ {(11<<2)|2,{47,49,0}}, +/* 24627 */ {(11<<2)|2,{47,49,0}}, +/* 24628 */ {(11<<2)|2,{47,49,0}}, +/* 24629 */ {(11<<2)|2,{47,49,0}}, +/* 24630 */ {(11<<2)|2,{47,49,0}}, +/* 24631 */ {(11<<2)|2,{47,49,0}}, +/* 24632 */ {(11<<2)|2,{47,49,0}}, +/* 24633 */ {(11<<2)|2,{47,49,0}}, +/* 24634 */ {(11<<2)|2,{47,49,0}}, +/* 24635 */ {(11<<2)|2,{47,49,0}}, +/* 24636 */ {(11<<2)|2,{47,49,0}}, +/* 24637 */ {(11<<2)|2,{47,49,0}}, +/* 24638 */ {(11<<2)|2,{47,49,0}}, +/* 24639 */ {(11<<2)|2,{47,49,0}}, +/* 24640 */ {(16<<2)|3,{47,50,48}}, +/* 24641 */ {(16<<2)|3,{47,50,49}}, +/* 24642 */ {(16<<2)|3,{47,50,50}}, +/* 24643 */ {(16<<2)|3,{47,50,97}}, +/* 24644 */ {(16<<2)|3,{47,50,99}}, +/* 24645 */ {(16<<2)|3,{47,50,101}}, +/* 24646 */ {(16<<2)|3,{47,50,105}}, +/* 24647 */ {(16<<2)|3,{47,50,111}}, +/* 24648 */ {(16<<2)|3,{47,50,115}}, +/* 24649 */ {(16<<2)|3,{47,50,116}}, +/* 24650 */ {(11<<2)|2,{47,50,0}}, +/* 24651 */ {(11<<2)|2,{47,50,0}}, +/* 24652 */ {(11<<2)|2,{47,50,0}}, +/* 24653 */ {(11<<2)|2,{47,50,0}}, +/* 24654 */ {(11<<2)|2,{47,50,0}}, +/* 24655 */ {(11<<2)|2,{47,50,0}}, +/* 24656 */ {(11<<2)|2,{47,50,0}}, +/* 24657 */ {(11<<2)|2,{47,50,0}}, +/* 24658 */ {(11<<2)|2,{47,50,0}}, +/* 24659 */ {(11<<2)|2,{47,50,0}}, +/* 24660 */ {(11<<2)|2,{47,50,0}}, +/* 24661 */ {(11<<2)|2,{47,50,0}}, +/* 24662 */ {(11<<2)|2,{47,50,0}}, +/* 24663 */ {(11<<2)|2,{47,50,0}}, +/* 24664 */ {(11<<2)|2,{47,50,0}}, +/* 24665 */ {(11<<2)|2,{47,50,0}}, +/* 24666 */ {(11<<2)|2,{47,50,0}}, +/* 24667 */ {(11<<2)|2,{47,50,0}}, +/* 24668 */ {(11<<2)|2,{47,50,0}}, +/* 24669 */ {(11<<2)|2,{47,50,0}}, +/* 24670 */ {(11<<2)|2,{47,50,0}}, +/* 24671 */ {(11<<2)|2,{47,50,0}}, +/* 24672 */ {(16<<2)|3,{47,97,48}}, +/* 24673 */ {(16<<2)|3,{47,97,49}}, +/* 24674 */ {(16<<2)|3,{47,97,50}}, +/* 24675 */ {(16<<2)|3,{47,97,97}}, +/* 24676 */ {(16<<2)|3,{47,97,99}}, +/* 24677 */ {(16<<2)|3,{47,97,101}}, +/* 24678 */ {(16<<2)|3,{47,97,105}}, +/* 24679 */ {(16<<2)|3,{47,97,111}}, +/* 24680 */ {(16<<2)|3,{47,97,115}}, +/* 24681 */ {(16<<2)|3,{47,97,116}}, +/* 24682 */ {(11<<2)|2,{47,97,0}}, +/* 24683 */ {(11<<2)|2,{47,97,0}}, +/* 24684 */ {(11<<2)|2,{47,97,0}}, +/* 24685 */ {(11<<2)|2,{47,97,0}}, +/* 24686 */ {(11<<2)|2,{47,97,0}}, +/* 24687 */ {(11<<2)|2,{47,97,0}}, +/* 24688 */ {(11<<2)|2,{47,97,0}}, +/* 24689 */ {(11<<2)|2,{47,97,0}}, +/* 24690 */ {(11<<2)|2,{47,97,0}}, +/* 24691 */ {(11<<2)|2,{47,97,0}}, +/* 24692 */ {(11<<2)|2,{47,97,0}}, +/* 24693 */ {(11<<2)|2,{47,97,0}}, +/* 24694 */ {(11<<2)|2,{47,97,0}}, +/* 24695 */ {(11<<2)|2,{47,97,0}}, +/* 24696 */ {(11<<2)|2,{47,97,0}}, +/* 24697 */ {(11<<2)|2,{47,97,0}}, +/* 24698 */ {(11<<2)|2,{47,97,0}}, +/* 24699 */ {(11<<2)|2,{47,97,0}}, +/* 24700 */ {(11<<2)|2,{47,97,0}}, +/* 24701 */ {(11<<2)|2,{47,97,0}}, +/* 24702 */ {(11<<2)|2,{47,97,0}}, +/* 24703 */ {(11<<2)|2,{47,97,0}}, +/* 24704 */ {(16<<2)|3,{47,99,48}}, +/* 24705 */ {(16<<2)|3,{47,99,49}}, +/* 24706 */ {(16<<2)|3,{47,99,50}}, +/* 24707 */ {(16<<2)|3,{47,99,97}}, +/* 24708 */ {(16<<2)|3,{47,99,99}}, +/* 24709 */ {(16<<2)|3,{47,99,101}}, +/* 24710 */ {(16<<2)|3,{47,99,105}}, +/* 24711 */ {(16<<2)|3,{47,99,111}}, +/* 24712 */ {(16<<2)|3,{47,99,115}}, +/* 24713 */ {(16<<2)|3,{47,99,116}}, +/* 24714 */ {(11<<2)|2,{47,99,0}}, +/* 24715 */ {(11<<2)|2,{47,99,0}}, +/* 24716 */ {(11<<2)|2,{47,99,0}}, +/* 24717 */ {(11<<2)|2,{47,99,0}}, +/* 24718 */ {(11<<2)|2,{47,99,0}}, +/* 24719 */ {(11<<2)|2,{47,99,0}}, +/* 24720 */ {(11<<2)|2,{47,99,0}}, +/* 24721 */ {(11<<2)|2,{47,99,0}}, +/* 24722 */ {(11<<2)|2,{47,99,0}}, +/* 24723 */ {(11<<2)|2,{47,99,0}}, +/* 24724 */ {(11<<2)|2,{47,99,0}}, +/* 24725 */ {(11<<2)|2,{47,99,0}}, +/* 24726 */ {(11<<2)|2,{47,99,0}}, +/* 24727 */ {(11<<2)|2,{47,99,0}}, +/* 24728 */ {(11<<2)|2,{47,99,0}}, +/* 24729 */ {(11<<2)|2,{47,99,0}}, +/* 24730 */ {(11<<2)|2,{47,99,0}}, +/* 24731 */ {(11<<2)|2,{47,99,0}}, +/* 24732 */ {(11<<2)|2,{47,99,0}}, +/* 24733 */ {(11<<2)|2,{47,99,0}}, +/* 24734 */ {(11<<2)|2,{47,99,0}}, +/* 24735 */ {(11<<2)|2,{47,99,0}}, +/* 24736 */ {(16<<2)|3,{47,101,48}}, +/* 24737 */ {(16<<2)|3,{47,101,49}}, +/* 24738 */ {(16<<2)|3,{47,101,50}}, +/* 24739 */ {(16<<2)|3,{47,101,97}}, +/* 24740 */ {(16<<2)|3,{47,101,99}}, +/* 24741 */ {(16<<2)|3,{47,101,101}}, +/* 24742 */ {(16<<2)|3,{47,101,105}}, +/* 24743 */ {(16<<2)|3,{47,101,111}}, +/* 24744 */ {(16<<2)|3,{47,101,115}}, +/* 24745 */ {(16<<2)|3,{47,101,116}}, +/* 24746 */ {(11<<2)|2,{47,101,0}}, +/* 24747 */ {(11<<2)|2,{47,101,0}}, +/* 24748 */ {(11<<2)|2,{47,101,0}}, +/* 24749 */ {(11<<2)|2,{47,101,0}}, +/* 24750 */ {(11<<2)|2,{47,101,0}}, +/* 24751 */ {(11<<2)|2,{47,101,0}}, +/* 24752 */ {(11<<2)|2,{47,101,0}}, +/* 24753 */ {(11<<2)|2,{47,101,0}}, +/* 24754 */ {(11<<2)|2,{47,101,0}}, +/* 24755 */ {(11<<2)|2,{47,101,0}}, +/* 24756 */ {(11<<2)|2,{47,101,0}}, +/* 24757 */ {(11<<2)|2,{47,101,0}}, +/* 24758 */ {(11<<2)|2,{47,101,0}}, +/* 24759 */ {(11<<2)|2,{47,101,0}}, +/* 24760 */ {(11<<2)|2,{47,101,0}}, +/* 24761 */ {(11<<2)|2,{47,101,0}}, +/* 24762 */ {(11<<2)|2,{47,101,0}}, +/* 24763 */ {(11<<2)|2,{47,101,0}}, +/* 24764 */ {(11<<2)|2,{47,101,0}}, +/* 24765 */ {(11<<2)|2,{47,101,0}}, +/* 24766 */ {(11<<2)|2,{47,101,0}}, +/* 24767 */ {(11<<2)|2,{47,101,0}}, +/* 24768 */ {(16<<2)|3,{47,105,48}}, +/* 24769 */ {(16<<2)|3,{47,105,49}}, +/* 24770 */ {(16<<2)|3,{47,105,50}}, +/* 24771 */ {(16<<2)|3,{47,105,97}}, +/* 24772 */ {(16<<2)|3,{47,105,99}}, +/* 24773 */ {(16<<2)|3,{47,105,101}}, +/* 24774 */ {(16<<2)|3,{47,105,105}}, +/* 24775 */ {(16<<2)|3,{47,105,111}}, +/* 24776 */ {(16<<2)|3,{47,105,115}}, +/* 24777 */ {(16<<2)|3,{47,105,116}}, +/* 24778 */ {(11<<2)|2,{47,105,0}}, +/* 24779 */ {(11<<2)|2,{47,105,0}}, +/* 24780 */ {(11<<2)|2,{47,105,0}}, +/* 24781 */ {(11<<2)|2,{47,105,0}}, +/* 24782 */ {(11<<2)|2,{47,105,0}}, +/* 24783 */ {(11<<2)|2,{47,105,0}}, +/* 24784 */ {(11<<2)|2,{47,105,0}}, +/* 24785 */ {(11<<2)|2,{47,105,0}}, +/* 24786 */ {(11<<2)|2,{47,105,0}}, +/* 24787 */ {(11<<2)|2,{47,105,0}}, +/* 24788 */ {(11<<2)|2,{47,105,0}}, +/* 24789 */ {(11<<2)|2,{47,105,0}}, +/* 24790 */ {(11<<2)|2,{47,105,0}}, +/* 24791 */ {(11<<2)|2,{47,105,0}}, +/* 24792 */ {(11<<2)|2,{47,105,0}}, +/* 24793 */ {(11<<2)|2,{47,105,0}}, +/* 24794 */ {(11<<2)|2,{47,105,0}}, +/* 24795 */ {(11<<2)|2,{47,105,0}}, +/* 24796 */ {(11<<2)|2,{47,105,0}}, +/* 24797 */ {(11<<2)|2,{47,105,0}}, +/* 24798 */ {(11<<2)|2,{47,105,0}}, +/* 24799 */ {(11<<2)|2,{47,105,0}}, +/* 24800 */ {(16<<2)|3,{47,111,48}}, +/* 24801 */ {(16<<2)|3,{47,111,49}}, +/* 24802 */ {(16<<2)|3,{47,111,50}}, +/* 24803 */ {(16<<2)|3,{47,111,97}}, +/* 24804 */ {(16<<2)|3,{47,111,99}}, +/* 24805 */ {(16<<2)|3,{47,111,101}}, +/* 24806 */ {(16<<2)|3,{47,111,105}}, +/* 24807 */ {(16<<2)|3,{47,111,111}}, +/* 24808 */ {(16<<2)|3,{47,111,115}}, +/* 24809 */ {(16<<2)|3,{47,111,116}}, +/* 24810 */ {(11<<2)|2,{47,111,0}}, +/* 24811 */ {(11<<2)|2,{47,111,0}}, +/* 24812 */ {(11<<2)|2,{47,111,0}}, +/* 24813 */ {(11<<2)|2,{47,111,0}}, +/* 24814 */ {(11<<2)|2,{47,111,0}}, +/* 24815 */ {(11<<2)|2,{47,111,0}}, +/* 24816 */ {(11<<2)|2,{47,111,0}}, +/* 24817 */ {(11<<2)|2,{47,111,0}}, +/* 24818 */ {(11<<2)|2,{47,111,0}}, +/* 24819 */ {(11<<2)|2,{47,111,0}}, +/* 24820 */ {(11<<2)|2,{47,111,0}}, +/* 24821 */ {(11<<2)|2,{47,111,0}}, +/* 24822 */ {(11<<2)|2,{47,111,0}}, +/* 24823 */ {(11<<2)|2,{47,111,0}}, +/* 24824 */ {(11<<2)|2,{47,111,0}}, +/* 24825 */ {(11<<2)|2,{47,111,0}}, +/* 24826 */ {(11<<2)|2,{47,111,0}}, +/* 24827 */ {(11<<2)|2,{47,111,0}}, +/* 24828 */ {(11<<2)|2,{47,111,0}}, +/* 24829 */ {(11<<2)|2,{47,111,0}}, +/* 24830 */ {(11<<2)|2,{47,111,0}}, +/* 24831 */ {(11<<2)|2,{47,111,0}}, +/* 24832 */ {(16<<2)|3,{47,115,48}}, +/* 24833 */ {(16<<2)|3,{47,115,49}}, +/* 24834 */ {(16<<2)|3,{47,115,50}}, +/* 24835 */ {(16<<2)|3,{47,115,97}}, +/* 24836 */ {(16<<2)|3,{47,115,99}}, +/* 24837 */ {(16<<2)|3,{47,115,101}}, +/* 24838 */ {(16<<2)|3,{47,115,105}}, +/* 24839 */ {(16<<2)|3,{47,115,111}}, +/* 24840 */ {(16<<2)|3,{47,115,115}}, +/* 24841 */ {(16<<2)|3,{47,115,116}}, +/* 24842 */ {(11<<2)|2,{47,115,0}}, +/* 24843 */ {(11<<2)|2,{47,115,0}}, +/* 24844 */ {(11<<2)|2,{47,115,0}}, +/* 24845 */ {(11<<2)|2,{47,115,0}}, +/* 24846 */ {(11<<2)|2,{47,115,0}}, +/* 24847 */ {(11<<2)|2,{47,115,0}}, +/* 24848 */ {(11<<2)|2,{47,115,0}}, +/* 24849 */ {(11<<2)|2,{47,115,0}}, +/* 24850 */ {(11<<2)|2,{47,115,0}}, +/* 24851 */ {(11<<2)|2,{47,115,0}}, +/* 24852 */ {(11<<2)|2,{47,115,0}}, +/* 24853 */ {(11<<2)|2,{47,115,0}}, +/* 24854 */ {(11<<2)|2,{47,115,0}}, +/* 24855 */ {(11<<2)|2,{47,115,0}}, +/* 24856 */ {(11<<2)|2,{47,115,0}}, +/* 24857 */ {(11<<2)|2,{47,115,0}}, +/* 24858 */ {(11<<2)|2,{47,115,0}}, +/* 24859 */ {(11<<2)|2,{47,115,0}}, +/* 24860 */ {(11<<2)|2,{47,115,0}}, +/* 24861 */ {(11<<2)|2,{47,115,0}}, +/* 24862 */ {(11<<2)|2,{47,115,0}}, +/* 24863 */ {(11<<2)|2,{47,115,0}}, +/* 24864 */ {(16<<2)|3,{47,116,48}}, +/* 24865 */ {(16<<2)|3,{47,116,49}}, +/* 24866 */ {(16<<2)|3,{47,116,50}}, +/* 24867 */ {(16<<2)|3,{47,116,97}}, +/* 24868 */ {(16<<2)|3,{47,116,99}}, +/* 24869 */ {(16<<2)|3,{47,116,101}}, +/* 24870 */ {(16<<2)|3,{47,116,105}}, +/* 24871 */ {(16<<2)|3,{47,116,111}}, +/* 24872 */ {(16<<2)|3,{47,116,115}}, +/* 24873 */ {(16<<2)|3,{47,116,116}}, +/* 24874 */ {(11<<2)|2,{47,116,0}}, +/* 24875 */ {(11<<2)|2,{47,116,0}}, +/* 24876 */ {(11<<2)|2,{47,116,0}}, +/* 24877 */ {(11<<2)|2,{47,116,0}}, +/* 24878 */ {(11<<2)|2,{47,116,0}}, +/* 24879 */ {(11<<2)|2,{47,116,0}}, +/* 24880 */ {(11<<2)|2,{47,116,0}}, +/* 24881 */ {(11<<2)|2,{47,116,0}}, +/* 24882 */ {(11<<2)|2,{47,116,0}}, +/* 24883 */ {(11<<2)|2,{47,116,0}}, +/* 24884 */ {(11<<2)|2,{47,116,0}}, +/* 24885 */ {(11<<2)|2,{47,116,0}}, +/* 24886 */ {(11<<2)|2,{47,116,0}}, +/* 24887 */ {(11<<2)|2,{47,116,0}}, +/* 24888 */ {(11<<2)|2,{47,116,0}}, +/* 24889 */ {(11<<2)|2,{47,116,0}}, +/* 24890 */ {(11<<2)|2,{47,116,0}}, +/* 24891 */ {(11<<2)|2,{47,116,0}}, +/* 24892 */ {(11<<2)|2,{47,116,0}}, +/* 24893 */ {(11<<2)|2,{47,116,0}}, +/* 24894 */ {(11<<2)|2,{47,116,0}}, +/* 24895 */ {(11<<2)|2,{47,116,0}}, +/* 24896 */ {(12<<2)|2,{47,32,0}}, +/* 24897 */ {(12<<2)|2,{47,32,0}}, +/* 24898 */ {(12<<2)|2,{47,32,0}}, +/* 24899 */ {(12<<2)|2,{47,32,0}}, +/* 24900 */ {(12<<2)|2,{47,32,0}}, +/* 24901 */ {(12<<2)|2,{47,32,0}}, +/* 24902 */ {(12<<2)|2,{47,32,0}}, +/* 24903 */ {(12<<2)|2,{47,32,0}}, +/* 24904 */ {(12<<2)|2,{47,32,0}}, +/* 24905 */ {(12<<2)|2,{47,32,0}}, +/* 24906 */ {(12<<2)|2,{47,32,0}}, +/* 24907 */ {(12<<2)|2,{47,32,0}}, +/* 24908 */ {(12<<2)|2,{47,32,0}}, +/* 24909 */ {(12<<2)|2,{47,32,0}}, +/* 24910 */ {(12<<2)|2,{47,32,0}}, +/* 24911 */ {(12<<2)|2,{47,32,0}}, +/* 24912 */ {(12<<2)|2,{47,37,0}}, +/* 24913 */ {(12<<2)|2,{47,37,0}}, +/* 24914 */ {(12<<2)|2,{47,37,0}}, +/* 24915 */ {(12<<2)|2,{47,37,0}}, +/* 24916 */ {(12<<2)|2,{47,37,0}}, +/* 24917 */ {(12<<2)|2,{47,37,0}}, +/* 24918 */ {(12<<2)|2,{47,37,0}}, +/* 24919 */ {(12<<2)|2,{47,37,0}}, +/* 24920 */ {(12<<2)|2,{47,37,0}}, +/* 24921 */ {(12<<2)|2,{47,37,0}}, +/* 24922 */ {(12<<2)|2,{47,37,0}}, +/* 24923 */ {(12<<2)|2,{47,37,0}}, +/* 24924 */ {(12<<2)|2,{47,37,0}}, +/* 24925 */ {(12<<2)|2,{47,37,0}}, +/* 24926 */ {(12<<2)|2,{47,37,0}}, +/* 24927 */ {(12<<2)|2,{47,37,0}}, +/* 24928 */ {(12<<2)|2,{47,45,0}}, +/* 24929 */ {(12<<2)|2,{47,45,0}}, +/* 24930 */ {(12<<2)|2,{47,45,0}}, +/* 24931 */ {(12<<2)|2,{47,45,0}}, +/* 24932 */ {(12<<2)|2,{47,45,0}}, +/* 24933 */ {(12<<2)|2,{47,45,0}}, +/* 24934 */ {(12<<2)|2,{47,45,0}}, +/* 24935 */ {(12<<2)|2,{47,45,0}}, +/* 24936 */ {(12<<2)|2,{47,45,0}}, +/* 24937 */ {(12<<2)|2,{47,45,0}}, +/* 24938 */ {(12<<2)|2,{47,45,0}}, +/* 24939 */ {(12<<2)|2,{47,45,0}}, +/* 24940 */ {(12<<2)|2,{47,45,0}}, +/* 24941 */ {(12<<2)|2,{47,45,0}}, +/* 24942 */ {(12<<2)|2,{47,45,0}}, +/* 24943 */ {(12<<2)|2,{47,45,0}}, +/* 24944 */ {(12<<2)|2,{47,46,0}}, +/* 24945 */ {(12<<2)|2,{47,46,0}}, +/* 24946 */ {(12<<2)|2,{47,46,0}}, +/* 24947 */ {(12<<2)|2,{47,46,0}}, +/* 24948 */ {(12<<2)|2,{47,46,0}}, +/* 24949 */ {(12<<2)|2,{47,46,0}}, +/* 24950 */ {(12<<2)|2,{47,46,0}}, +/* 24951 */ {(12<<2)|2,{47,46,0}}, +/* 24952 */ {(12<<2)|2,{47,46,0}}, +/* 24953 */ {(12<<2)|2,{47,46,0}}, +/* 24954 */ {(12<<2)|2,{47,46,0}}, +/* 24955 */ {(12<<2)|2,{47,46,0}}, +/* 24956 */ {(12<<2)|2,{47,46,0}}, +/* 24957 */ {(12<<2)|2,{47,46,0}}, +/* 24958 */ {(12<<2)|2,{47,46,0}}, +/* 24959 */ {(12<<2)|2,{47,46,0}}, +/* 24960 */ {(12<<2)|2,{47,47,0}}, +/* 24961 */ {(12<<2)|2,{47,47,0}}, +/* 24962 */ {(12<<2)|2,{47,47,0}}, +/* 24963 */ {(12<<2)|2,{47,47,0}}, +/* 24964 */ {(12<<2)|2,{47,47,0}}, +/* 24965 */ {(12<<2)|2,{47,47,0}}, +/* 24966 */ {(12<<2)|2,{47,47,0}}, +/* 24967 */ {(12<<2)|2,{47,47,0}}, +/* 24968 */ {(12<<2)|2,{47,47,0}}, +/* 24969 */ {(12<<2)|2,{47,47,0}}, +/* 24970 */ {(12<<2)|2,{47,47,0}}, +/* 24971 */ {(12<<2)|2,{47,47,0}}, +/* 24972 */ {(12<<2)|2,{47,47,0}}, +/* 24973 */ {(12<<2)|2,{47,47,0}}, +/* 24974 */ {(12<<2)|2,{47,47,0}}, +/* 24975 */ {(12<<2)|2,{47,47,0}}, +/* 24976 */ {(12<<2)|2,{47,51,0}}, +/* 24977 */ {(12<<2)|2,{47,51,0}}, +/* 24978 */ {(12<<2)|2,{47,51,0}}, +/* 24979 */ {(12<<2)|2,{47,51,0}}, +/* 24980 */ {(12<<2)|2,{47,51,0}}, +/* 24981 */ {(12<<2)|2,{47,51,0}}, +/* 24982 */ {(12<<2)|2,{47,51,0}}, +/* 24983 */ {(12<<2)|2,{47,51,0}}, +/* 24984 */ {(12<<2)|2,{47,51,0}}, +/* 24985 */ {(12<<2)|2,{47,51,0}}, +/* 24986 */ {(12<<2)|2,{47,51,0}}, +/* 24987 */ {(12<<2)|2,{47,51,0}}, +/* 24988 */ {(12<<2)|2,{47,51,0}}, +/* 24989 */ {(12<<2)|2,{47,51,0}}, +/* 24990 */ {(12<<2)|2,{47,51,0}}, +/* 24991 */ {(12<<2)|2,{47,51,0}}, +/* 24992 */ {(12<<2)|2,{47,52,0}}, +/* 24993 */ {(12<<2)|2,{47,52,0}}, +/* 24994 */ {(12<<2)|2,{47,52,0}}, +/* 24995 */ {(12<<2)|2,{47,52,0}}, +/* 24996 */ {(12<<2)|2,{47,52,0}}, +/* 24997 */ {(12<<2)|2,{47,52,0}}, +/* 24998 */ {(12<<2)|2,{47,52,0}}, +/* 24999 */ {(12<<2)|2,{47,52,0}}, +/* 25000 */ {(12<<2)|2,{47,52,0}}, +/* 25001 */ {(12<<2)|2,{47,52,0}}, +/* 25002 */ {(12<<2)|2,{47,52,0}}, +/* 25003 */ {(12<<2)|2,{47,52,0}}, +/* 25004 */ {(12<<2)|2,{47,52,0}}, +/* 25005 */ {(12<<2)|2,{47,52,0}}, +/* 25006 */ {(12<<2)|2,{47,52,0}}, +/* 25007 */ {(12<<2)|2,{47,52,0}}, +/* 25008 */ {(12<<2)|2,{47,53,0}}, +/* 25009 */ {(12<<2)|2,{47,53,0}}, +/* 25010 */ {(12<<2)|2,{47,53,0}}, +/* 25011 */ {(12<<2)|2,{47,53,0}}, +/* 25012 */ {(12<<2)|2,{47,53,0}}, +/* 25013 */ {(12<<2)|2,{47,53,0}}, +/* 25014 */ {(12<<2)|2,{47,53,0}}, +/* 25015 */ {(12<<2)|2,{47,53,0}}, +/* 25016 */ {(12<<2)|2,{47,53,0}}, +/* 25017 */ {(12<<2)|2,{47,53,0}}, +/* 25018 */ {(12<<2)|2,{47,53,0}}, +/* 25019 */ {(12<<2)|2,{47,53,0}}, +/* 25020 */ {(12<<2)|2,{47,53,0}}, +/* 25021 */ {(12<<2)|2,{47,53,0}}, +/* 25022 */ {(12<<2)|2,{47,53,0}}, +/* 25023 */ {(12<<2)|2,{47,53,0}}, +/* 25024 */ {(12<<2)|2,{47,54,0}}, +/* 25025 */ {(12<<2)|2,{47,54,0}}, +/* 25026 */ {(12<<2)|2,{47,54,0}}, +/* 25027 */ {(12<<2)|2,{47,54,0}}, +/* 25028 */ {(12<<2)|2,{47,54,0}}, +/* 25029 */ {(12<<2)|2,{47,54,0}}, +/* 25030 */ {(12<<2)|2,{47,54,0}}, +/* 25031 */ {(12<<2)|2,{47,54,0}}, +/* 25032 */ {(12<<2)|2,{47,54,0}}, +/* 25033 */ {(12<<2)|2,{47,54,0}}, +/* 25034 */ {(12<<2)|2,{47,54,0}}, +/* 25035 */ {(12<<2)|2,{47,54,0}}, +/* 25036 */ {(12<<2)|2,{47,54,0}}, +/* 25037 */ {(12<<2)|2,{47,54,0}}, +/* 25038 */ {(12<<2)|2,{47,54,0}}, +/* 25039 */ {(12<<2)|2,{47,54,0}}, +/* 25040 */ {(12<<2)|2,{47,55,0}}, +/* 25041 */ {(12<<2)|2,{47,55,0}}, +/* 25042 */ {(12<<2)|2,{47,55,0}}, +/* 25043 */ {(12<<2)|2,{47,55,0}}, +/* 25044 */ {(12<<2)|2,{47,55,0}}, +/* 25045 */ {(12<<2)|2,{47,55,0}}, +/* 25046 */ {(12<<2)|2,{47,55,0}}, +/* 25047 */ {(12<<2)|2,{47,55,0}}, +/* 25048 */ {(12<<2)|2,{47,55,0}}, +/* 25049 */ {(12<<2)|2,{47,55,0}}, +/* 25050 */ {(12<<2)|2,{47,55,0}}, +/* 25051 */ {(12<<2)|2,{47,55,0}}, +/* 25052 */ {(12<<2)|2,{47,55,0}}, +/* 25053 */ {(12<<2)|2,{47,55,0}}, +/* 25054 */ {(12<<2)|2,{47,55,0}}, +/* 25055 */ {(12<<2)|2,{47,55,0}}, +/* 25056 */ {(12<<2)|2,{47,56,0}}, +/* 25057 */ {(12<<2)|2,{47,56,0}}, +/* 25058 */ {(12<<2)|2,{47,56,0}}, +/* 25059 */ {(12<<2)|2,{47,56,0}}, +/* 25060 */ {(12<<2)|2,{47,56,0}}, +/* 25061 */ {(12<<2)|2,{47,56,0}}, +/* 25062 */ {(12<<2)|2,{47,56,0}}, +/* 25063 */ {(12<<2)|2,{47,56,0}}, +/* 25064 */ {(12<<2)|2,{47,56,0}}, +/* 25065 */ {(12<<2)|2,{47,56,0}}, +/* 25066 */ {(12<<2)|2,{47,56,0}}, +/* 25067 */ {(12<<2)|2,{47,56,0}}, +/* 25068 */ {(12<<2)|2,{47,56,0}}, +/* 25069 */ {(12<<2)|2,{47,56,0}}, +/* 25070 */ {(12<<2)|2,{47,56,0}}, +/* 25071 */ {(12<<2)|2,{47,56,0}}, +/* 25072 */ {(12<<2)|2,{47,57,0}}, +/* 25073 */ {(12<<2)|2,{47,57,0}}, +/* 25074 */ {(12<<2)|2,{47,57,0}}, +/* 25075 */ {(12<<2)|2,{47,57,0}}, +/* 25076 */ {(12<<2)|2,{47,57,0}}, +/* 25077 */ {(12<<2)|2,{47,57,0}}, +/* 25078 */ {(12<<2)|2,{47,57,0}}, +/* 25079 */ {(12<<2)|2,{47,57,0}}, +/* 25080 */ {(12<<2)|2,{47,57,0}}, +/* 25081 */ {(12<<2)|2,{47,57,0}}, +/* 25082 */ {(12<<2)|2,{47,57,0}}, +/* 25083 */ {(12<<2)|2,{47,57,0}}, +/* 25084 */ {(12<<2)|2,{47,57,0}}, +/* 25085 */ {(12<<2)|2,{47,57,0}}, +/* 25086 */ {(12<<2)|2,{47,57,0}}, +/* 25087 */ {(12<<2)|2,{47,57,0}}, +/* 25088 */ {(12<<2)|2,{47,61,0}}, +/* 25089 */ {(12<<2)|2,{47,61,0}}, +/* 25090 */ {(12<<2)|2,{47,61,0}}, +/* 25091 */ {(12<<2)|2,{47,61,0}}, +/* 25092 */ {(12<<2)|2,{47,61,0}}, +/* 25093 */ {(12<<2)|2,{47,61,0}}, +/* 25094 */ {(12<<2)|2,{47,61,0}}, +/* 25095 */ {(12<<2)|2,{47,61,0}}, +/* 25096 */ {(12<<2)|2,{47,61,0}}, +/* 25097 */ {(12<<2)|2,{47,61,0}}, +/* 25098 */ {(12<<2)|2,{47,61,0}}, +/* 25099 */ {(12<<2)|2,{47,61,0}}, +/* 25100 */ {(12<<2)|2,{47,61,0}}, +/* 25101 */ {(12<<2)|2,{47,61,0}}, +/* 25102 */ {(12<<2)|2,{47,61,0}}, +/* 25103 */ {(12<<2)|2,{47,61,0}}, +/* 25104 */ {(12<<2)|2,{47,65,0}}, +/* 25105 */ {(12<<2)|2,{47,65,0}}, +/* 25106 */ {(12<<2)|2,{47,65,0}}, +/* 25107 */ {(12<<2)|2,{47,65,0}}, +/* 25108 */ {(12<<2)|2,{47,65,0}}, +/* 25109 */ {(12<<2)|2,{47,65,0}}, +/* 25110 */ {(12<<2)|2,{47,65,0}}, +/* 25111 */ {(12<<2)|2,{47,65,0}}, +/* 25112 */ {(12<<2)|2,{47,65,0}}, +/* 25113 */ {(12<<2)|2,{47,65,0}}, +/* 25114 */ {(12<<2)|2,{47,65,0}}, +/* 25115 */ {(12<<2)|2,{47,65,0}}, +/* 25116 */ {(12<<2)|2,{47,65,0}}, +/* 25117 */ {(12<<2)|2,{47,65,0}}, +/* 25118 */ {(12<<2)|2,{47,65,0}}, +/* 25119 */ {(12<<2)|2,{47,65,0}}, +/* 25120 */ {(12<<2)|2,{47,95,0}}, +/* 25121 */ {(12<<2)|2,{47,95,0}}, +/* 25122 */ {(12<<2)|2,{47,95,0}}, +/* 25123 */ {(12<<2)|2,{47,95,0}}, +/* 25124 */ {(12<<2)|2,{47,95,0}}, +/* 25125 */ {(12<<2)|2,{47,95,0}}, +/* 25126 */ {(12<<2)|2,{47,95,0}}, +/* 25127 */ {(12<<2)|2,{47,95,0}}, +/* 25128 */ {(12<<2)|2,{47,95,0}}, +/* 25129 */ {(12<<2)|2,{47,95,0}}, +/* 25130 */ {(12<<2)|2,{47,95,0}}, +/* 25131 */ {(12<<2)|2,{47,95,0}}, +/* 25132 */ {(12<<2)|2,{47,95,0}}, +/* 25133 */ {(12<<2)|2,{47,95,0}}, +/* 25134 */ {(12<<2)|2,{47,95,0}}, +/* 25135 */ {(12<<2)|2,{47,95,0}}, +/* 25136 */ {(12<<2)|2,{47,98,0}}, +/* 25137 */ {(12<<2)|2,{47,98,0}}, +/* 25138 */ {(12<<2)|2,{47,98,0}}, +/* 25139 */ {(12<<2)|2,{47,98,0}}, +/* 25140 */ {(12<<2)|2,{47,98,0}}, +/* 25141 */ {(12<<2)|2,{47,98,0}}, +/* 25142 */ {(12<<2)|2,{47,98,0}}, +/* 25143 */ {(12<<2)|2,{47,98,0}}, +/* 25144 */ {(12<<2)|2,{47,98,0}}, +/* 25145 */ {(12<<2)|2,{47,98,0}}, +/* 25146 */ {(12<<2)|2,{47,98,0}}, +/* 25147 */ {(12<<2)|2,{47,98,0}}, +/* 25148 */ {(12<<2)|2,{47,98,0}}, +/* 25149 */ {(12<<2)|2,{47,98,0}}, +/* 25150 */ {(12<<2)|2,{47,98,0}}, +/* 25151 */ {(12<<2)|2,{47,98,0}}, +/* 25152 */ {(12<<2)|2,{47,100,0}}, +/* 25153 */ {(12<<2)|2,{47,100,0}}, +/* 25154 */ {(12<<2)|2,{47,100,0}}, +/* 25155 */ {(12<<2)|2,{47,100,0}}, +/* 25156 */ {(12<<2)|2,{47,100,0}}, +/* 25157 */ {(12<<2)|2,{47,100,0}}, +/* 25158 */ {(12<<2)|2,{47,100,0}}, +/* 25159 */ {(12<<2)|2,{47,100,0}}, +/* 25160 */ {(12<<2)|2,{47,100,0}}, +/* 25161 */ {(12<<2)|2,{47,100,0}}, +/* 25162 */ {(12<<2)|2,{47,100,0}}, +/* 25163 */ {(12<<2)|2,{47,100,0}}, +/* 25164 */ {(12<<2)|2,{47,100,0}}, +/* 25165 */ {(12<<2)|2,{47,100,0}}, +/* 25166 */ {(12<<2)|2,{47,100,0}}, +/* 25167 */ {(12<<2)|2,{47,100,0}}, +/* 25168 */ {(12<<2)|2,{47,102,0}}, +/* 25169 */ {(12<<2)|2,{47,102,0}}, +/* 25170 */ {(12<<2)|2,{47,102,0}}, +/* 25171 */ {(12<<2)|2,{47,102,0}}, +/* 25172 */ {(12<<2)|2,{47,102,0}}, +/* 25173 */ {(12<<2)|2,{47,102,0}}, +/* 25174 */ {(12<<2)|2,{47,102,0}}, +/* 25175 */ {(12<<2)|2,{47,102,0}}, +/* 25176 */ {(12<<2)|2,{47,102,0}}, +/* 25177 */ {(12<<2)|2,{47,102,0}}, +/* 25178 */ {(12<<2)|2,{47,102,0}}, +/* 25179 */ {(12<<2)|2,{47,102,0}}, +/* 25180 */ {(12<<2)|2,{47,102,0}}, +/* 25181 */ {(12<<2)|2,{47,102,0}}, +/* 25182 */ {(12<<2)|2,{47,102,0}}, +/* 25183 */ {(12<<2)|2,{47,102,0}}, +/* 25184 */ {(12<<2)|2,{47,103,0}}, +/* 25185 */ {(12<<2)|2,{47,103,0}}, +/* 25186 */ {(12<<2)|2,{47,103,0}}, +/* 25187 */ {(12<<2)|2,{47,103,0}}, +/* 25188 */ {(12<<2)|2,{47,103,0}}, +/* 25189 */ {(12<<2)|2,{47,103,0}}, +/* 25190 */ {(12<<2)|2,{47,103,0}}, +/* 25191 */ {(12<<2)|2,{47,103,0}}, +/* 25192 */ {(12<<2)|2,{47,103,0}}, +/* 25193 */ {(12<<2)|2,{47,103,0}}, +/* 25194 */ {(12<<2)|2,{47,103,0}}, +/* 25195 */ {(12<<2)|2,{47,103,0}}, +/* 25196 */ {(12<<2)|2,{47,103,0}}, +/* 25197 */ {(12<<2)|2,{47,103,0}}, +/* 25198 */ {(12<<2)|2,{47,103,0}}, +/* 25199 */ {(12<<2)|2,{47,103,0}}, +/* 25200 */ {(12<<2)|2,{47,104,0}}, +/* 25201 */ {(12<<2)|2,{47,104,0}}, +/* 25202 */ {(12<<2)|2,{47,104,0}}, +/* 25203 */ {(12<<2)|2,{47,104,0}}, +/* 25204 */ {(12<<2)|2,{47,104,0}}, +/* 25205 */ {(12<<2)|2,{47,104,0}}, +/* 25206 */ {(12<<2)|2,{47,104,0}}, +/* 25207 */ {(12<<2)|2,{47,104,0}}, +/* 25208 */ {(12<<2)|2,{47,104,0}}, +/* 25209 */ {(12<<2)|2,{47,104,0}}, +/* 25210 */ {(12<<2)|2,{47,104,0}}, +/* 25211 */ {(12<<2)|2,{47,104,0}}, +/* 25212 */ {(12<<2)|2,{47,104,0}}, +/* 25213 */ {(12<<2)|2,{47,104,0}}, +/* 25214 */ {(12<<2)|2,{47,104,0}}, +/* 25215 */ {(12<<2)|2,{47,104,0}}, +/* 25216 */ {(12<<2)|2,{47,108,0}}, +/* 25217 */ {(12<<2)|2,{47,108,0}}, +/* 25218 */ {(12<<2)|2,{47,108,0}}, +/* 25219 */ {(12<<2)|2,{47,108,0}}, +/* 25220 */ {(12<<2)|2,{47,108,0}}, +/* 25221 */ {(12<<2)|2,{47,108,0}}, +/* 25222 */ {(12<<2)|2,{47,108,0}}, +/* 25223 */ {(12<<2)|2,{47,108,0}}, +/* 25224 */ {(12<<2)|2,{47,108,0}}, +/* 25225 */ {(12<<2)|2,{47,108,0}}, +/* 25226 */ {(12<<2)|2,{47,108,0}}, +/* 25227 */ {(12<<2)|2,{47,108,0}}, +/* 25228 */ {(12<<2)|2,{47,108,0}}, +/* 25229 */ {(12<<2)|2,{47,108,0}}, +/* 25230 */ {(12<<2)|2,{47,108,0}}, +/* 25231 */ {(12<<2)|2,{47,108,0}}, +/* 25232 */ {(12<<2)|2,{47,109,0}}, +/* 25233 */ {(12<<2)|2,{47,109,0}}, +/* 25234 */ {(12<<2)|2,{47,109,0}}, +/* 25235 */ {(12<<2)|2,{47,109,0}}, +/* 25236 */ {(12<<2)|2,{47,109,0}}, +/* 25237 */ {(12<<2)|2,{47,109,0}}, +/* 25238 */ {(12<<2)|2,{47,109,0}}, +/* 25239 */ {(12<<2)|2,{47,109,0}}, +/* 25240 */ {(12<<2)|2,{47,109,0}}, +/* 25241 */ {(12<<2)|2,{47,109,0}}, +/* 25242 */ {(12<<2)|2,{47,109,0}}, +/* 25243 */ {(12<<2)|2,{47,109,0}}, +/* 25244 */ {(12<<2)|2,{47,109,0}}, +/* 25245 */ {(12<<2)|2,{47,109,0}}, +/* 25246 */ {(12<<2)|2,{47,109,0}}, +/* 25247 */ {(12<<2)|2,{47,109,0}}, +/* 25248 */ {(12<<2)|2,{47,110,0}}, +/* 25249 */ {(12<<2)|2,{47,110,0}}, +/* 25250 */ {(12<<2)|2,{47,110,0}}, +/* 25251 */ {(12<<2)|2,{47,110,0}}, +/* 25252 */ {(12<<2)|2,{47,110,0}}, +/* 25253 */ {(12<<2)|2,{47,110,0}}, +/* 25254 */ {(12<<2)|2,{47,110,0}}, +/* 25255 */ {(12<<2)|2,{47,110,0}}, +/* 25256 */ {(12<<2)|2,{47,110,0}}, +/* 25257 */ {(12<<2)|2,{47,110,0}}, +/* 25258 */ {(12<<2)|2,{47,110,0}}, +/* 25259 */ {(12<<2)|2,{47,110,0}}, +/* 25260 */ {(12<<2)|2,{47,110,0}}, +/* 25261 */ {(12<<2)|2,{47,110,0}}, +/* 25262 */ {(12<<2)|2,{47,110,0}}, +/* 25263 */ {(12<<2)|2,{47,110,0}}, +/* 25264 */ {(12<<2)|2,{47,112,0}}, +/* 25265 */ {(12<<2)|2,{47,112,0}}, +/* 25266 */ {(12<<2)|2,{47,112,0}}, +/* 25267 */ {(12<<2)|2,{47,112,0}}, +/* 25268 */ {(12<<2)|2,{47,112,0}}, +/* 25269 */ {(12<<2)|2,{47,112,0}}, +/* 25270 */ {(12<<2)|2,{47,112,0}}, +/* 25271 */ {(12<<2)|2,{47,112,0}}, +/* 25272 */ {(12<<2)|2,{47,112,0}}, +/* 25273 */ {(12<<2)|2,{47,112,0}}, +/* 25274 */ {(12<<2)|2,{47,112,0}}, +/* 25275 */ {(12<<2)|2,{47,112,0}}, +/* 25276 */ {(12<<2)|2,{47,112,0}}, +/* 25277 */ {(12<<2)|2,{47,112,0}}, +/* 25278 */ {(12<<2)|2,{47,112,0}}, +/* 25279 */ {(12<<2)|2,{47,112,0}}, +/* 25280 */ {(12<<2)|2,{47,114,0}}, +/* 25281 */ {(12<<2)|2,{47,114,0}}, +/* 25282 */ {(12<<2)|2,{47,114,0}}, +/* 25283 */ {(12<<2)|2,{47,114,0}}, +/* 25284 */ {(12<<2)|2,{47,114,0}}, +/* 25285 */ {(12<<2)|2,{47,114,0}}, +/* 25286 */ {(12<<2)|2,{47,114,0}}, +/* 25287 */ {(12<<2)|2,{47,114,0}}, +/* 25288 */ {(12<<2)|2,{47,114,0}}, +/* 25289 */ {(12<<2)|2,{47,114,0}}, +/* 25290 */ {(12<<2)|2,{47,114,0}}, +/* 25291 */ {(12<<2)|2,{47,114,0}}, +/* 25292 */ {(12<<2)|2,{47,114,0}}, +/* 25293 */ {(12<<2)|2,{47,114,0}}, +/* 25294 */ {(12<<2)|2,{47,114,0}}, +/* 25295 */ {(12<<2)|2,{47,114,0}}, +/* 25296 */ {(12<<2)|2,{47,117,0}}, +/* 25297 */ {(12<<2)|2,{47,117,0}}, +/* 25298 */ {(12<<2)|2,{47,117,0}}, +/* 25299 */ {(12<<2)|2,{47,117,0}}, +/* 25300 */ {(12<<2)|2,{47,117,0}}, +/* 25301 */ {(12<<2)|2,{47,117,0}}, +/* 25302 */ {(12<<2)|2,{47,117,0}}, +/* 25303 */ {(12<<2)|2,{47,117,0}}, +/* 25304 */ {(12<<2)|2,{47,117,0}}, +/* 25305 */ {(12<<2)|2,{47,117,0}}, +/* 25306 */ {(12<<2)|2,{47,117,0}}, +/* 25307 */ {(12<<2)|2,{47,117,0}}, +/* 25308 */ {(12<<2)|2,{47,117,0}}, +/* 25309 */ {(12<<2)|2,{47,117,0}}, +/* 25310 */ {(12<<2)|2,{47,117,0}}, +/* 25311 */ {(12<<2)|2,{47,117,0}}, +/* 25312 */ {(13<<2)|2,{47,58,0}}, +/* 25313 */ {(13<<2)|2,{47,58,0}}, +/* 25314 */ {(13<<2)|2,{47,58,0}}, +/* 25315 */ {(13<<2)|2,{47,58,0}}, +/* 25316 */ {(13<<2)|2,{47,58,0}}, +/* 25317 */ {(13<<2)|2,{47,58,0}}, +/* 25318 */ {(13<<2)|2,{47,58,0}}, +/* 25319 */ {(13<<2)|2,{47,58,0}}, +/* 25320 */ {(13<<2)|2,{47,66,0}}, +/* 25321 */ {(13<<2)|2,{47,66,0}}, +/* 25322 */ {(13<<2)|2,{47,66,0}}, +/* 25323 */ {(13<<2)|2,{47,66,0}}, +/* 25324 */ {(13<<2)|2,{47,66,0}}, +/* 25325 */ {(13<<2)|2,{47,66,0}}, +/* 25326 */ {(13<<2)|2,{47,66,0}}, +/* 25327 */ {(13<<2)|2,{47,66,0}}, +/* 25328 */ {(13<<2)|2,{47,67,0}}, +/* 25329 */ {(13<<2)|2,{47,67,0}}, +/* 25330 */ {(13<<2)|2,{47,67,0}}, +/* 25331 */ {(13<<2)|2,{47,67,0}}, +/* 25332 */ {(13<<2)|2,{47,67,0}}, +/* 25333 */ {(13<<2)|2,{47,67,0}}, +/* 25334 */ {(13<<2)|2,{47,67,0}}, +/* 25335 */ {(13<<2)|2,{47,67,0}}, +/* 25336 */ {(13<<2)|2,{47,68,0}}, +/* 25337 */ {(13<<2)|2,{47,68,0}}, +/* 25338 */ {(13<<2)|2,{47,68,0}}, +/* 25339 */ {(13<<2)|2,{47,68,0}}, +/* 25340 */ {(13<<2)|2,{47,68,0}}, +/* 25341 */ {(13<<2)|2,{47,68,0}}, +/* 25342 */ {(13<<2)|2,{47,68,0}}, +/* 25343 */ {(13<<2)|2,{47,68,0}}, +/* 25344 */ {(13<<2)|2,{47,69,0}}, +/* 25345 */ {(13<<2)|2,{47,69,0}}, +/* 25346 */ {(13<<2)|2,{47,69,0}}, +/* 25347 */ {(13<<2)|2,{47,69,0}}, +/* 25348 */ {(13<<2)|2,{47,69,0}}, +/* 25349 */ {(13<<2)|2,{47,69,0}}, +/* 25350 */ {(13<<2)|2,{47,69,0}}, +/* 25351 */ {(13<<2)|2,{47,69,0}}, +/* 25352 */ {(13<<2)|2,{47,70,0}}, +/* 25353 */ {(13<<2)|2,{47,70,0}}, +/* 25354 */ {(13<<2)|2,{47,70,0}}, +/* 25355 */ {(13<<2)|2,{47,70,0}}, +/* 25356 */ {(13<<2)|2,{47,70,0}}, +/* 25357 */ {(13<<2)|2,{47,70,0}}, +/* 25358 */ {(13<<2)|2,{47,70,0}}, +/* 25359 */ {(13<<2)|2,{47,70,0}}, +/* 25360 */ {(13<<2)|2,{47,71,0}}, +/* 25361 */ {(13<<2)|2,{47,71,0}}, +/* 25362 */ {(13<<2)|2,{47,71,0}}, +/* 25363 */ {(13<<2)|2,{47,71,0}}, +/* 25364 */ {(13<<2)|2,{47,71,0}}, +/* 25365 */ {(13<<2)|2,{47,71,0}}, +/* 25366 */ {(13<<2)|2,{47,71,0}}, +/* 25367 */ {(13<<2)|2,{47,71,0}}, +/* 25368 */ {(13<<2)|2,{47,72,0}}, +/* 25369 */ {(13<<2)|2,{47,72,0}}, +/* 25370 */ {(13<<2)|2,{47,72,0}}, +/* 25371 */ {(13<<2)|2,{47,72,0}}, +/* 25372 */ {(13<<2)|2,{47,72,0}}, +/* 25373 */ {(13<<2)|2,{47,72,0}}, +/* 25374 */ {(13<<2)|2,{47,72,0}}, +/* 25375 */ {(13<<2)|2,{47,72,0}}, +/* 25376 */ {(13<<2)|2,{47,73,0}}, +/* 25377 */ {(13<<2)|2,{47,73,0}}, +/* 25378 */ {(13<<2)|2,{47,73,0}}, +/* 25379 */ {(13<<2)|2,{47,73,0}}, +/* 25380 */ {(13<<2)|2,{47,73,0}}, +/* 25381 */ {(13<<2)|2,{47,73,0}}, +/* 25382 */ {(13<<2)|2,{47,73,0}}, +/* 25383 */ {(13<<2)|2,{47,73,0}}, +/* 25384 */ {(13<<2)|2,{47,74,0}}, +/* 25385 */ {(13<<2)|2,{47,74,0}}, +/* 25386 */ {(13<<2)|2,{47,74,0}}, +/* 25387 */ {(13<<2)|2,{47,74,0}}, +/* 25388 */ {(13<<2)|2,{47,74,0}}, +/* 25389 */ {(13<<2)|2,{47,74,0}}, +/* 25390 */ {(13<<2)|2,{47,74,0}}, +/* 25391 */ {(13<<2)|2,{47,74,0}}, +/* 25392 */ {(13<<2)|2,{47,75,0}}, +/* 25393 */ {(13<<2)|2,{47,75,0}}, +/* 25394 */ {(13<<2)|2,{47,75,0}}, +/* 25395 */ {(13<<2)|2,{47,75,0}}, +/* 25396 */ {(13<<2)|2,{47,75,0}}, +/* 25397 */ {(13<<2)|2,{47,75,0}}, +/* 25398 */ {(13<<2)|2,{47,75,0}}, +/* 25399 */ {(13<<2)|2,{47,75,0}}, +/* 25400 */ {(13<<2)|2,{47,76,0}}, +/* 25401 */ {(13<<2)|2,{47,76,0}}, +/* 25402 */ {(13<<2)|2,{47,76,0}}, +/* 25403 */ {(13<<2)|2,{47,76,0}}, +/* 25404 */ {(13<<2)|2,{47,76,0}}, +/* 25405 */ {(13<<2)|2,{47,76,0}}, +/* 25406 */ {(13<<2)|2,{47,76,0}}, +/* 25407 */ {(13<<2)|2,{47,76,0}}, +/* 25408 */ {(13<<2)|2,{47,77,0}}, +/* 25409 */ {(13<<2)|2,{47,77,0}}, +/* 25410 */ {(13<<2)|2,{47,77,0}}, +/* 25411 */ {(13<<2)|2,{47,77,0}}, +/* 25412 */ {(13<<2)|2,{47,77,0}}, +/* 25413 */ {(13<<2)|2,{47,77,0}}, +/* 25414 */ {(13<<2)|2,{47,77,0}}, +/* 25415 */ {(13<<2)|2,{47,77,0}}, +/* 25416 */ {(13<<2)|2,{47,78,0}}, +/* 25417 */ {(13<<2)|2,{47,78,0}}, +/* 25418 */ {(13<<2)|2,{47,78,0}}, +/* 25419 */ {(13<<2)|2,{47,78,0}}, +/* 25420 */ {(13<<2)|2,{47,78,0}}, +/* 25421 */ {(13<<2)|2,{47,78,0}}, +/* 25422 */ {(13<<2)|2,{47,78,0}}, +/* 25423 */ {(13<<2)|2,{47,78,0}}, +/* 25424 */ {(13<<2)|2,{47,79,0}}, +/* 25425 */ {(13<<2)|2,{47,79,0}}, +/* 25426 */ {(13<<2)|2,{47,79,0}}, +/* 25427 */ {(13<<2)|2,{47,79,0}}, +/* 25428 */ {(13<<2)|2,{47,79,0}}, +/* 25429 */ {(13<<2)|2,{47,79,0}}, +/* 25430 */ {(13<<2)|2,{47,79,0}}, +/* 25431 */ {(13<<2)|2,{47,79,0}}, +/* 25432 */ {(13<<2)|2,{47,80,0}}, +/* 25433 */ {(13<<2)|2,{47,80,0}}, +/* 25434 */ {(13<<2)|2,{47,80,0}}, +/* 25435 */ {(13<<2)|2,{47,80,0}}, +/* 25436 */ {(13<<2)|2,{47,80,0}}, +/* 25437 */ {(13<<2)|2,{47,80,0}}, +/* 25438 */ {(13<<2)|2,{47,80,0}}, +/* 25439 */ {(13<<2)|2,{47,80,0}}, +/* 25440 */ {(13<<2)|2,{47,81,0}}, +/* 25441 */ {(13<<2)|2,{47,81,0}}, +/* 25442 */ {(13<<2)|2,{47,81,0}}, +/* 25443 */ {(13<<2)|2,{47,81,0}}, +/* 25444 */ {(13<<2)|2,{47,81,0}}, +/* 25445 */ {(13<<2)|2,{47,81,0}}, +/* 25446 */ {(13<<2)|2,{47,81,0}}, +/* 25447 */ {(13<<2)|2,{47,81,0}}, +/* 25448 */ {(13<<2)|2,{47,82,0}}, +/* 25449 */ {(13<<2)|2,{47,82,0}}, +/* 25450 */ {(13<<2)|2,{47,82,0}}, +/* 25451 */ {(13<<2)|2,{47,82,0}}, +/* 25452 */ {(13<<2)|2,{47,82,0}}, +/* 25453 */ {(13<<2)|2,{47,82,0}}, +/* 25454 */ {(13<<2)|2,{47,82,0}}, +/* 25455 */ {(13<<2)|2,{47,82,0}}, +/* 25456 */ {(13<<2)|2,{47,83,0}}, +/* 25457 */ {(13<<2)|2,{47,83,0}}, +/* 25458 */ {(13<<2)|2,{47,83,0}}, +/* 25459 */ {(13<<2)|2,{47,83,0}}, +/* 25460 */ {(13<<2)|2,{47,83,0}}, +/* 25461 */ {(13<<2)|2,{47,83,0}}, +/* 25462 */ {(13<<2)|2,{47,83,0}}, +/* 25463 */ {(13<<2)|2,{47,83,0}}, +/* 25464 */ {(13<<2)|2,{47,84,0}}, +/* 25465 */ {(13<<2)|2,{47,84,0}}, +/* 25466 */ {(13<<2)|2,{47,84,0}}, +/* 25467 */ {(13<<2)|2,{47,84,0}}, +/* 25468 */ {(13<<2)|2,{47,84,0}}, +/* 25469 */ {(13<<2)|2,{47,84,0}}, +/* 25470 */ {(13<<2)|2,{47,84,0}}, +/* 25471 */ {(13<<2)|2,{47,84,0}}, +/* 25472 */ {(13<<2)|2,{47,85,0}}, +/* 25473 */ {(13<<2)|2,{47,85,0}}, +/* 25474 */ {(13<<2)|2,{47,85,0}}, +/* 25475 */ {(13<<2)|2,{47,85,0}}, +/* 25476 */ {(13<<2)|2,{47,85,0}}, +/* 25477 */ {(13<<2)|2,{47,85,0}}, +/* 25478 */ {(13<<2)|2,{47,85,0}}, +/* 25479 */ {(13<<2)|2,{47,85,0}}, +/* 25480 */ {(13<<2)|2,{47,86,0}}, +/* 25481 */ {(13<<2)|2,{47,86,0}}, +/* 25482 */ {(13<<2)|2,{47,86,0}}, +/* 25483 */ {(13<<2)|2,{47,86,0}}, +/* 25484 */ {(13<<2)|2,{47,86,0}}, +/* 25485 */ {(13<<2)|2,{47,86,0}}, +/* 25486 */ {(13<<2)|2,{47,86,0}}, +/* 25487 */ {(13<<2)|2,{47,86,0}}, +/* 25488 */ {(13<<2)|2,{47,87,0}}, +/* 25489 */ {(13<<2)|2,{47,87,0}}, +/* 25490 */ {(13<<2)|2,{47,87,0}}, +/* 25491 */ {(13<<2)|2,{47,87,0}}, +/* 25492 */ {(13<<2)|2,{47,87,0}}, +/* 25493 */ {(13<<2)|2,{47,87,0}}, +/* 25494 */ {(13<<2)|2,{47,87,0}}, +/* 25495 */ {(13<<2)|2,{47,87,0}}, +/* 25496 */ {(13<<2)|2,{47,89,0}}, +/* 25497 */ {(13<<2)|2,{47,89,0}}, +/* 25498 */ {(13<<2)|2,{47,89,0}}, +/* 25499 */ {(13<<2)|2,{47,89,0}}, +/* 25500 */ {(13<<2)|2,{47,89,0}}, +/* 25501 */ {(13<<2)|2,{47,89,0}}, +/* 25502 */ {(13<<2)|2,{47,89,0}}, +/* 25503 */ {(13<<2)|2,{47,89,0}}, +/* 25504 */ {(13<<2)|2,{47,106,0}}, +/* 25505 */ {(13<<2)|2,{47,106,0}}, +/* 25506 */ {(13<<2)|2,{47,106,0}}, +/* 25507 */ {(13<<2)|2,{47,106,0}}, +/* 25508 */ {(13<<2)|2,{47,106,0}}, +/* 25509 */ {(13<<2)|2,{47,106,0}}, +/* 25510 */ {(13<<2)|2,{47,106,0}}, +/* 25511 */ {(13<<2)|2,{47,106,0}}, +/* 25512 */ {(13<<2)|2,{47,107,0}}, +/* 25513 */ {(13<<2)|2,{47,107,0}}, +/* 25514 */ {(13<<2)|2,{47,107,0}}, +/* 25515 */ {(13<<2)|2,{47,107,0}}, +/* 25516 */ {(13<<2)|2,{47,107,0}}, +/* 25517 */ {(13<<2)|2,{47,107,0}}, +/* 25518 */ {(13<<2)|2,{47,107,0}}, +/* 25519 */ {(13<<2)|2,{47,107,0}}, +/* 25520 */ {(13<<2)|2,{47,113,0}}, +/* 25521 */ {(13<<2)|2,{47,113,0}}, +/* 25522 */ {(13<<2)|2,{47,113,0}}, +/* 25523 */ {(13<<2)|2,{47,113,0}}, +/* 25524 */ {(13<<2)|2,{47,113,0}}, +/* 25525 */ {(13<<2)|2,{47,113,0}}, +/* 25526 */ {(13<<2)|2,{47,113,0}}, +/* 25527 */ {(13<<2)|2,{47,113,0}}, +/* 25528 */ {(13<<2)|2,{47,118,0}}, +/* 25529 */ {(13<<2)|2,{47,118,0}}, +/* 25530 */ {(13<<2)|2,{47,118,0}}, +/* 25531 */ {(13<<2)|2,{47,118,0}}, +/* 25532 */ {(13<<2)|2,{47,118,0}}, +/* 25533 */ {(13<<2)|2,{47,118,0}}, +/* 25534 */ {(13<<2)|2,{47,118,0}}, +/* 25535 */ {(13<<2)|2,{47,118,0}}, +/* 25536 */ {(13<<2)|2,{47,119,0}}, +/* 25537 */ {(13<<2)|2,{47,119,0}}, +/* 25538 */ {(13<<2)|2,{47,119,0}}, +/* 25539 */ {(13<<2)|2,{47,119,0}}, +/* 25540 */ {(13<<2)|2,{47,119,0}}, +/* 25541 */ {(13<<2)|2,{47,119,0}}, +/* 25542 */ {(13<<2)|2,{47,119,0}}, +/* 25543 */ {(13<<2)|2,{47,119,0}}, +/* 25544 */ {(13<<2)|2,{47,120,0}}, +/* 25545 */ {(13<<2)|2,{47,120,0}}, +/* 25546 */ {(13<<2)|2,{47,120,0}}, +/* 25547 */ {(13<<2)|2,{47,120,0}}, +/* 25548 */ {(13<<2)|2,{47,120,0}}, +/* 25549 */ {(13<<2)|2,{47,120,0}}, +/* 25550 */ {(13<<2)|2,{47,120,0}}, +/* 25551 */ {(13<<2)|2,{47,120,0}}, +/* 25552 */ {(13<<2)|2,{47,121,0}}, +/* 25553 */ {(13<<2)|2,{47,121,0}}, +/* 25554 */ {(13<<2)|2,{47,121,0}}, +/* 25555 */ {(13<<2)|2,{47,121,0}}, +/* 25556 */ {(13<<2)|2,{47,121,0}}, +/* 25557 */ {(13<<2)|2,{47,121,0}}, +/* 25558 */ {(13<<2)|2,{47,121,0}}, +/* 25559 */ {(13<<2)|2,{47,121,0}}, +/* 25560 */ {(13<<2)|2,{47,122,0}}, +/* 25561 */ {(13<<2)|2,{47,122,0}}, +/* 25562 */ {(13<<2)|2,{47,122,0}}, +/* 25563 */ {(13<<2)|2,{47,122,0}}, +/* 25564 */ {(13<<2)|2,{47,122,0}}, +/* 25565 */ {(13<<2)|2,{47,122,0}}, +/* 25566 */ {(13<<2)|2,{47,122,0}}, +/* 25567 */ {(13<<2)|2,{47,122,0}}, +/* 25568 */ {(14<<2)|2,{47,38,0}}, +/* 25569 */ {(14<<2)|2,{47,38,0}}, +/* 25570 */ {(14<<2)|2,{47,38,0}}, +/* 25571 */ {(14<<2)|2,{47,38,0}}, +/* 25572 */ {(14<<2)|2,{47,42,0}}, +/* 25573 */ {(14<<2)|2,{47,42,0}}, +/* 25574 */ {(14<<2)|2,{47,42,0}}, +/* 25575 */ {(14<<2)|2,{47,42,0}}, +/* 25576 */ {(14<<2)|2,{47,44,0}}, +/* 25577 */ {(14<<2)|2,{47,44,0}}, +/* 25578 */ {(14<<2)|2,{47,44,0}}, +/* 25579 */ {(14<<2)|2,{47,44,0}}, +/* 25580 */ {(14<<2)|2,{47,59,0}}, +/* 25581 */ {(14<<2)|2,{47,59,0}}, +/* 25582 */ {(14<<2)|2,{47,59,0}}, +/* 25583 */ {(14<<2)|2,{47,59,0}}, +/* 25584 */ {(14<<2)|2,{47,88,0}}, +/* 25585 */ {(14<<2)|2,{47,88,0}}, +/* 25586 */ {(14<<2)|2,{47,88,0}}, +/* 25587 */ {(14<<2)|2,{47,88,0}}, +/* 25588 */ {(14<<2)|2,{47,90,0}}, +/* 25589 */ {(14<<2)|2,{47,90,0}}, +/* 25590 */ {(14<<2)|2,{47,90,0}}, +/* 25591 */ {(14<<2)|2,{47,90,0}}, +/* 25592 */ {(16<<2)|2,{47,33,0}}, +/* 25593 */ {(16<<2)|2,{47,34,0}}, +/* 25594 */ {(16<<2)|2,{47,40,0}}, +/* 25595 */ {(16<<2)|2,{47,41,0}}, +/* 25596 */ {(16<<2)|2,{47,63,0}}, +/* 25597 */ {(6<<2)|1,{47,0,0}}, +/* 25598 */ {(6<<2)|1,{47,0,0}}, +/* 25599 */ {(6<<2)|1,{47,0,0}}, +/* 25600 */ {(16<<2)|3,{51,48,48}}, +/* 25601 */ {(16<<2)|3,{51,48,49}}, +/* 25602 */ {(16<<2)|3,{51,48,50}}, +/* 25603 */ {(16<<2)|3,{51,48,97}}, +/* 25604 */ {(16<<2)|3,{51,48,99}}, +/* 25605 */ {(16<<2)|3,{51,48,101}}, +/* 25606 */ {(16<<2)|3,{51,48,105}}, +/* 25607 */ {(16<<2)|3,{51,48,111}}, +/* 25608 */ {(16<<2)|3,{51,48,115}}, +/* 25609 */ {(16<<2)|3,{51,48,116}}, +/* 25610 */ {(11<<2)|2,{51,48,0}}, +/* 25611 */ {(11<<2)|2,{51,48,0}}, +/* 25612 */ {(11<<2)|2,{51,48,0}}, +/* 25613 */ {(11<<2)|2,{51,48,0}}, +/* 25614 */ {(11<<2)|2,{51,48,0}}, +/* 25615 */ {(11<<2)|2,{51,48,0}}, +/* 25616 */ {(11<<2)|2,{51,48,0}}, +/* 25617 */ {(11<<2)|2,{51,48,0}}, +/* 25618 */ {(11<<2)|2,{51,48,0}}, +/* 25619 */ {(11<<2)|2,{51,48,0}}, +/* 25620 */ {(11<<2)|2,{51,48,0}}, +/* 25621 */ {(11<<2)|2,{51,48,0}}, +/* 25622 */ {(11<<2)|2,{51,48,0}}, +/* 25623 */ {(11<<2)|2,{51,48,0}}, +/* 25624 */ {(11<<2)|2,{51,48,0}}, +/* 25625 */ {(11<<2)|2,{51,48,0}}, +/* 25626 */ {(11<<2)|2,{51,48,0}}, +/* 25627 */ {(11<<2)|2,{51,48,0}}, +/* 25628 */ {(11<<2)|2,{51,48,0}}, +/* 25629 */ {(11<<2)|2,{51,48,0}}, +/* 25630 */ {(11<<2)|2,{51,48,0}}, +/* 25631 */ {(11<<2)|2,{51,48,0}}, +/* 25632 */ {(16<<2)|3,{51,49,48}}, +/* 25633 */ {(16<<2)|3,{51,49,49}}, +/* 25634 */ {(16<<2)|3,{51,49,50}}, +/* 25635 */ {(16<<2)|3,{51,49,97}}, +/* 25636 */ {(16<<2)|3,{51,49,99}}, +/* 25637 */ {(16<<2)|3,{51,49,101}}, +/* 25638 */ {(16<<2)|3,{51,49,105}}, +/* 25639 */ {(16<<2)|3,{51,49,111}}, +/* 25640 */ {(16<<2)|3,{51,49,115}}, +/* 25641 */ {(16<<2)|3,{51,49,116}}, +/* 25642 */ {(11<<2)|2,{51,49,0}}, +/* 25643 */ {(11<<2)|2,{51,49,0}}, +/* 25644 */ {(11<<2)|2,{51,49,0}}, +/* 25645 */ {(11<<2)|2,{51,49,0}}, +/* 25646 */ {(11<<2)|2,{51,49,0}}, +/* 25647 */ {(11<<2)|2,{51,49,0}}, +/* 25648 */ {(11<<2)|2,{51,49,0}}, +/* 25649 */ {(11<<2)|2,{51,49,0}}, +/* 25650 */ {(11<<2)|2,{51,49,0}}, +/* 25651 */ {(11<<2)|2,{51,49,0}}, +/* 25652 */ {(11<<2)|2,{51,49,0}}, +/* 25653 */ {(11<<2)|2,{51,49,0}}, +/* 25654 */ {(11<<2)|2,{51,49,0}}, +/* 25655 */ {(11<<2)|2,{51,49,0}}, +/* 25656 */ {(11<<2)|2,{51,49,0}}, +/* 25657 */ {(11<<2)|2,{51,49,0}}, +/* 25658 */ {(11<<2)|2,{51,49,0}}, +/* 25659 */ {(11<<2)|2,{51,49,0}}, +/* 25660 */ {(11<<2)|2,{51,49,0}}, +/* 25661 */ {(11<<2)|2,{51,49,0}}, +/* 25662 */ {(11<<2)|2,{51,49,0}}, +/* 25663 */ {(11<<2)|2,{51,49,0}}, +/* 25664 */ {(16<<2)|3,{51,50,48}}, +/* 25665 */ {(16<<2)|3,{51,50,49}}, +/* 25666 */ {(16<<2)|3,{51,50,50}}, +/* 25667 */ {(16<<2)|3,{51,50,97}}, +/* 25668 */ {(16<<2)|3,{51,50,99}}, +/* 25669 */ {(16<<2)|3,{51,50,101}}, +/* 25670 */ {(16<<2)|3,{51,50,105}}, +/* 25671 */ {(16<<2)|3,{51,50,111}}, +/* 25672 */ {(16<<2)|3,{51,50,115}}, +/* 25673 */ {(16<<2)|3,{51,50,116}}, +/* 25674 */ {(11<<2)|2,{51,50,0}}, +/* 25675 */ {(11<<2)|2,{51,50,0}}, +/* 25676 */ {(11<<2)|2,{51,50,0}}, +/* 25677 */ {(11<<2)|2,{51,50,0}}, +/* 25678 */ {(11<<2)|2,{51,50,0}}, +/* 25679 */ {(11<<2)|2,{51,50,0}}, +/* 25680 */ {(11<<2)|2,{51,50,0}}, +/* 25681 */ {(11<<2)|2,{51,50,0}}, +/* 25682 */ {(11<<2)|2,{51,50,0}}, +/* 25683 */ {(11<<2)|2,{51,50,0}}, +/* 25684 */ {(11<<2)|2,{51,50,0}}, +/* 25685 */ {(11<<2)|2,{51,50,0}}, +/* 25686 */ {(11<<2)|2,{51,50,0}}, +/* 25687 */ {(11<<2)|2,{51,50,0}}, +/* 25688 */ {(11<<2)|2,{51,50,0}}, +/* 25689 */ {(11<<2)|2,{51,50,0}}, +/* 25690 */ {(11<<2)|2,{51,50,0}}, +/* 25691 */ {(11<<2)|2,{51,50,0}}, +/* 25692 */ {(11<<2)|2,{51,50,0}}, +/* 25693 */ {(11<<2)|2,{51,50,0}}, +/* 25694 */ {(11<<2)|2,{51,50,0}}, +/* 25695 */ {(11<<2)|2,{51,50,0}}, +/* 25696 */ {(16<<2)|3,{51,97,48}}, +/* 25697 */ {(16<<2)|3,{51,97,49}}, +/* 25698 */ {(16<<2)|3,{51,97,50}}, +/* 25699 */ {(16<<2)|3,{51,97,97}}, +/* 25700 */ {(16<<2)|3,{51,97,99}}, +/* 25701 */ {(16<<2)|3,{51,97,101}}, +/* 25702 */ {(16<<2)|3,{51,97,105}}, +/* 25703 */ {(16<<2)|3,{51,97,111}}, +/* 25704 */ {(16<<2)|3,{51,97,115}}, +/* 25705 */ {(16<<2)|3,{51,97,116}}, +/* 25706 */ {(11<<2)|2,{51,97,0}}, +/* 25707 */ {(11<<2)|2,{51,97,0}}, +/* 25708 */ {(11<<2)|2,{51,97,0}}, +/* 25709 */ {(11<<2)|2,{51,97,0}}, +/* 25710 */ {(11<<2)|2,{51,97,0}}, +/* 25711 */ {(11<<2)|2,{51,97,0}}, +/* 25712 */ {(11<<2)|2,{51,97,0}}, +/* 25713 */ {(11<<2)|2,{51,97,0}}, +/* 25714 */ {(11<<2)|2,{51,97,0}}, +/* 25715 */ {(11<<2)|2,{51,97,0}}, +/* 25716 */ {(11<<2)|2,{51,97,0}}, +/* 25717 */ {(11<<2)|2,{51,97,0}}, +/* 25718 */ {(11<<2)|2,{51,97,0}}, +/* 25719 */ {(11<<2)|2,{51,97,0}}, +/* 25720 */ {(11<<2)|2,{51,97,0}}, +/* 25721 */ {(11<<2)|2,{51,97,0}}, +/* 25722 */ {(11<<2)|2,{51,97,0}}, +/* 25723 */ {(11<<2)|2,{51,97,0}}, +/* 25724 */ {(11<<2)|2,{51,97,0}}, +/* 25725 */ {(11<<2)|2,{51,97,0}}, +/* 25726 */ {(11<<2)|2,{51,97,0}}, +/* 25727 */ {(11<<2)|2,{51,97,0}}, +/* 25728 */ {(16<<2)|3,{51,99,48}}, +/* 25729 */ {(16<<2)|3,{51,99,49}}, +/* 25730 */ {(16<<2)|3,{51,99,50}}, +/* 25731 */ {(16<<2)|3,{51,99,97}}, +/* 25732 */ {(16<<2)|3,{51,99,99}}, +/* 25733 */ {(16<<2)|3,{51,99,101}}, +/* 25734 */ {(16<<2)|3,{51,99,105}}, +/* 25735 */ {(16<<2)|3,{51,99,111}}, +/* 25736 */ {(16<<2)|3,{51,99,115}}, +/* 25737 */ {(16<<2)|3,{51,99,116}}, +/* 25738 */ {(11<<2)|2,{51,99,0}}, +/* 25739 */ {(11<<2)|2,{51,99,0}}, +/* 25740 */ {(11<<2)|2,{51,99,0}}, +/* 25741 */ {(11<<2)|2,{51,99,0}}, +/* 25742 */ {(11<<2)|2,{51,99,0}}, +/* 25743 */ {(11<<2)|2,{51,99,0}}, +/* 25744 */ {(11<<2)|2,{51,99,0}}, +/* 25745 */ {(11<<2)|2,{51,99,0}}, +/* 25746 */ {(11<<2)|2,{51,99,0}}, +/* 25747 */ {(11<<2)|2,{51,99,0}}, +/* 25748 */ {(11<<2)|2,{51,99,0}}, +/* 25749 */ {(11<<2)|2,{51,99,0}}, +/* 25750 */ {(11<<2)|2,{51,99,0}}, +/* 25751 */ {(11<<2)|2,{51,99,0}}, +/* 25752 */ {(11<<2)|2,{51,99,0}}, +/* 25753 */ {(11<<2)|2,{51,99,0}}, +/* 25754 */ {(11<<2)|2,{51,99,0}}, +/* 25755 */ {(11<<2)|2,{51,99,0}}, +/* 25756 */ {(11<<2)|2,{51,99,0}}, +/* 25757 */ {(11<<2)|2,{51,99,0}}, +/* 25758 */ {(11<<2)|2,{51,99,0}}, +/* 25759 */ {(11<<2)|2,{51,99,0}}, +/* 25760 */ {(16<<2)|3,{51,101,48}}, +/* 25761 */ {(16<<2)|3,{51,101,49}}, +/* 25762 */ {(16<<2)|3,{51,101,50}}, +/* 25763 */ {(16<<2)|3,{51,101,97}}, +/* 25764 */ {(16<<2)|3,{51,101,99}}, +/* 25765 */ {(16<<2)|3,{51,101,101}}, +/* 25766 */ {(16<<2)|3,{51,101,105}}, +/* 25767 */ {(16<<2)|3,{51,101,111}}, +/* 25768 */ {(16<<2)|3,{51,101,115}}, +/* 25769 */ {(16<<2)|3,{51,101,116}}, +/* 25770 */ {(11<<2)|2,{51,101,0}}, +/* 25771 */ {(11<<2)|2,{51,101,0}}, +/* 25772 */ {(11<<2)|2,{51,101,0}}, +/* 25773 */ {(11<<2)|2,{51,101,0}}, +/* 25774 */ {(11<<2)|2,{51,101,0}}, +/* 25775 */ {(11<<2)|2,{51,101,0}}, +/* 25776 */ {(11<<2)|2,{51,101,0}}, +/* 25777 */ {(11<<2)|2,{51,101,0}}, +/* 25778 */ {(11<<2)|2,{51,101,0}}, +/* 25779 */ {(11<<2)|2,{51,101,0}}, +/* 25780 */ {(11<<2)|2,{51,101,0}}, +/* 25781 */ {(11<<2)|2,{51,101,0}}, +/* 25782 */ {(11<<2)|2,{51,101,0}}, +/* 25783 */ {(11<<2)|2,{51,101,0}}, +/* 25784 */ {(11<<2)|2,{51,101,0}}, +/* 25785 */ {(11<<2)|2,{51,101,0}}, +/* 25786 */ {(11<<2)|2,{51,101,0}}, +/* 25787 */ {(11<<2)|2,{51,101,0}}, +/* 25788 */ {(11<<2)|2,{51,101,0}}, +/* 25789 */ {(11<<2)|2,{51,101,0}}, +/* 25790 */ {(11<<2)|2,{51,101,0}}, +/* 25791 */ {(11<<2)|2,{51,101,0}}, +/* 25792 */ {(16<<2)|3,{51,105,48}}, +/* 25793 */ {(16<<2)|3,{51,105,49}}, +/* 25794 */ {(16<<2)|3,{51,105,50}}, +/* 25795 */ {(16<<2)|3,{51,105,97}}, +/* 25796 */ {(16<<2)|3,{51,105,99}}, +/* 25797 */ {(16<<2)|3,{51,105,101}}, +/* 25798 */ {(16<<2)|3,{51,105,105}}, +/* 25799 */ {(16<<2)|3,{51,105,111}}, +/* 25800 */ {(16<<2)|3,{51,105,115}}, +/* 25801 */ {(16<<2)|3,{51,105,116}}, +/* 25802 */ {(11<<2)|2,{51,105,0}}, +/* 25803 */ {(11<<2)|2,{51,105,0}}, +/* 25804 */ {(11<<2)|2,{51,105,0}}, +/* 25805 */ {(11<<2)|2,{51,105,0}}, +/* 25806 */ {(11<<2)|2,{51,105,0}}, +/* 25807 */ {(11<<2)|2,{51,105,0}}, +/* 25808 */ {(11<<2)|2,{51,105,0}}, +/* 25809 */ {(11<<2)|2,{51,105,0}}, +/* 25810 */ {(11<<2)|2,{51,105,0}}, +/* 25811 */ {(11<<2)|2,{51,105,0}}, +/* 25812 */ {(11<<2)|2,{51,105,0}}, +/* 25813 */ {(11<<2)|2,{51,105,0}}, +/* 25814 */ {(11<<2)|2,{51,105,0}}, +/* 25815 */ {(11<<2)|2,{51,105,0}}, +/* 25816 */ {(11<<2)|2,{51,105,0}}, +/* 25817 */ {(11<<2)|2,{51,105,0}}, +/* 25818 */ {(11<<2)|2,{51,105,0}}, +/* 25819 */ {(11<<2)|2,{51,105,0}}, +/* 25820 */ {(11<<2)|2,{51,105,0}}, +/* 25821 */ {(11<<2)|2,{51,105,0}}, +/* 25822 */ {(11<<2)|2,{51,105,0}}, +/* 25823 */ {(11<<2)|2,{51,105,0}}, +/* 25824 */ {(16<<2)|3,{51,111,48}}, +/* 25825 */ {(16<<2)|3,{51,111,49}}, +/* 25826 */ {(16<<2)|3,{51,111,50}}, +/* 25827 */ {(16<<2)|3,{51,111,97}}, +/* 25828 */ {(16<<2)|3,{51,111,99}}, +/* 25829 */ {(16<<2)|3,{51,111,101}}, +/* 25830 */ {(16<<2)|3,{51,111,105}}, +/* 25831 */ {(16<<2)|3,{51,111,111}}, +/* 25832 */ {(16<<2)|3,{51,111,115}}, +/* 25833 */ {(16<<2)|3,{51,111,116}}, +/* 25834 */ {(11<<2)|2,{51,111,0}}, +/* 25835 */ {(11<<2)|2,{51,111,0}}, +/* 25836 */ {(11<<2)|2,{51,111,0}}, +/* 25837 */ {(11<<2)|2,{51,111,0}}, +/* 25838 */ {(11<<2)|2,{51,111,0}}, +/* 25839 */ {(11<<2)|2,{51,111,0}}, +/* 25840 */ {(11<<2)|2,{51,111,0}}, +/* 25841 */ {(11<<2)|2,{51,111,0}}, +/* 25842 */ {(11<<2)|2,{51,111,0}}, +/* 25843 */ {(11<<2)|2,{51,111,0}}, +/* 25844 */ {(11<<2)|2,{51,111,0}}, +/* 25845 */ {(11<<2)|2,{51,111,0}}, +/* 25846 */ {(11<<2)|2,{51,111,0}}, +/* 25847 */ {(11<<2)|2,{51,111,0}}, +/* 25848 */ {(11<<2)|2,{51,111,0}}, +/* 25849 */ {(11<<2)|2,{51,111,0}}, +/* 25850 */ {(11<<2)|2,{51,111,0}}, +/* 25851 */ {(11<<2)|2,{51,111,0}}, +/* 25852 */ {(11<<2)|2,{51,111,0}}, +/* 25853 */ {(11<<2)|2,{51,111,0}}, +/* 25854 */ {(11<<2)|2,{51,111,0}}, +/* 25855 */ {(11<<2)|2,{51,111,0}}, +/* 25856 */ {(16<<2)|3,{51,115,48}}, +/* 25857 */ {(16<<2)|3,{51,115,49}}, +/* 25858 */ {(16<<2)|3,{51,115,50}}, +/* 25859 */ {(16<<2)|3,{51,115,97}}, +/* 25860 */ {(16<<2)|3,{51,115,99}}, +/* 25861 */ {(16<<2)|3,{51,115,101}}, +/* 25862 */ {(16<<2)|3,{51,115,105}}, +/* 25863 */ {(16<<2)|3,{51,115,111}}, +/* 25864 */ {(16<<2)|3,{51,115,115}}, +/* 25865 */ {(16<<2)|3,{51,115,116}}, +/* 25866 */ {(11<<2)|2,{51,115,0}}, +/* 25867 */ {(11<<2)|2,{51,115,0}}, +/* 25868 */ {(11<<2)|2,{51,115,0}}, +/* 25869 */ {(11<<2)|2,{51,115,0}}, +/* 25870 */ {(11<<2)|2,{51,115,0}}, +/* 25871 */ {(11<<2)|2,{51,115,0}}, +/* 25872 */ {(11<<2)|2,{51,115,0}}, +/* 25873 */ {(11<<2)|2,{51,115,0}}, +/* 25874 */ {(11<<2)|2,{51,115,0}}, +/* 25875 */ {(11<<2)|2,{51,115,0}}, +/* 25876 */ {(11<<2)|2,{51,115,0}}, +/* 25877 */ {(11<<2)|2,{51,115,0}}, +/* 25878 */ {(11<<2)|2,{51,115,0}}, +/* 25879 */ {(11<<2)|2,{51,115,0}}, +/* 25880 */ {(11<<2)|2,{51,115,0}}, +/* 25881 */ {(11<<2)|2,{51,115,0}}, +/* 25882 */ {(11<<2)|2,{51,115,0}}, +/* 25883 */ {(11<<2)|2,{51,115,0}}, +/* 25884 */ {(11<<2)|2,{51,115,0}}, +/* 25885 */ {(11<<2)|2,{51,115,0}}, +/* 25886 */ {(11<<2)|2,{51,115,0}}, +/* 25887 */ {(11<<2)|2,{51,115,0}}, +/* 25888 */ {(16<<2)|3,{51,116,48}}, +/* 25889 */ {(16<<2)|3,{51,116,49}}, +/* 25890 */ {(16<<2)|3,{51,116,50}}, +/* 25891 */ {(16<<2)|3,{51,116,97}}, +/* 25892 */ {(16<<2)|3,{51,116,99}}, +/* 25893 */ {(16<<2)|3,{51,116,101}}, +/* 25894 */ {(16<<2)|3,{51,116,105}}, +/* 25895 */ {(16<<2)|3,{51,116,111}}, +/* 25896 */ {(16<<2)|3,{51,116,115}}, +/* 25897 */ {(16<<2)|3,{51,116,116}}, +/* 25898 */ {(11<<2)|2,{51,116,0}}, +/* 25899 */ {(11<<2)|2,{51,116,0}}, +/* 25900 */ {(11<<2)|2,{51,116,0}}, +/* 25901 */ {(11<<2)|2,{51,116,0}}, +/* 25902 */ {(11<<2)|2,{51,116,0}}, +/* 25903 */ {(11<<2)|2,{51,116,0}}, +/* 25904 */ {(11<<2)|2,{51,116,0}}, +/* 25905 */ {(11<<2)|2,{51,116,0}}, +/* 25906 */ {(11<<2)|2,{51,116,0}}, +/* 25907 */ {(11<<2)|2,{51,116,0}}, +/* 25908 */ {(11<<2)|2,{51,116,0}}, +/* 25909 */ {(11<<2)|2,{51,116,0}}, +/* 25910 */ {(11<<2)|2,{51,116,0}}, +/* 25911 */ {(11<<2)|2,{51,116,0}}, +/* 25912 */ {(11<<2)|2,{51,116,0}}, +/* 25913 */ {(11<<2)|2,{51,116,0}}, +/* 25914 */ {(11<<2)|2,{51,116,0}}, +/* 25915 */ {(11<<2)|2,{51,116,0}}, +/* 25916 */ {(11<<2)|2,{51,116,0}}, +/* 25917 */ {(11<<2)|2,{51,116,0}}, +/* 25918 */ {(11<<2)|2,{51,116,0}}, +/* 25919 */ {(11<<2)|2,{51,116,0}}, +/* 25920 */ {(12<<2)|2,{51,32,0}}, +/* 25921 */ {(12<<2)|2,{51,32,0}}, +/* 25922 */ {(12<<2)|2,{51,32,0}}, +/* 25923 */ {(12<<2)|2,{51,32,0}}, +/* 25924 */ {(12<<2)|2,{51,32,0}}, +/* 25925 */ {(12<<2)|2,{51,32,0}}, +/* 25926 */ {(12<<2)|2,{51,32,0}}, +/* 25927 */ {(12<<2)|2,{51,32,0}}, +/* 25928 */ {(12<<2)|2,{51,32,0}}, +/* 25929 */ {(12<<2)|2,{51,32,0}}, +/* 25930 */ {(12<<2)|2,{51,32,0}}, +/* 25931 */ {(12<<2)|2,{51,32,0}}, +/* 25932 */ {(12<<2)|2,{51,32,0}}, +/* 25933 */ {(12<<2)|2,{51,32,0}}, +/* 25934 */ {(12<<2)|2,{51,32,0}}, +/* 25935 */ {(12<<2)|2,{51,32,0}}, +/* 25936 */ {(12<<2)|2,{51,37,0}}, +/* 25937 */ {(12<<2)|2,{51,37,0}}, +/* 25938 */ {(12<<2)|2,{51,37,0}}, +/* 25939 */ {(12<<2)|2,{51,37,0}}, +/* 25940 */ {(12<<2)|2,{51,37,0}}, +/* 25941 */ {(12<<2)|2,{51,37,0}}, +/* 25942 */ {(12<<2)|2,{51,37,0}}, +/* 25943 */ {(12<<2)|2,{51,37,0}}, +/* 25944 */ {(12<<2)|2,{51,37,0}}, +/* 25945 */ {(12<<2)|2,{51,37,0}}, +/* 25946 */ {(12<<2)|2,{51,37,0}}, +/* 25947 */ {(12<<2)|2,{51,37,0}}, +/* 25948 */ {(12<<2)|2,{51,37,0}}, +/* 25949 */ {(12<<2)|2,{51,37,0}}, +/* 25950 */ {(12<<2)|2,{51,37,0}}, +/* 25951 */ {(12<<2)|2,{51,37,0}}, +/* 25952 */ {(12<<2)|2,{51,45,0}}, +/* 25953 */ {(12<<2)|2,{51,45,0}}, +/* 25954 */ {(12<<2)|2,{51,45,0}}, +/* 25955 */ {(12<<2)|2,{51,45,0}}, +/* 25956 */ {(12<<2)|2,{51,45,0}}, +/* 25957 */ {(12<<2)|2,{51,45,0}}, +/* 25958 */ {(12<<2)|2,{51,45,0}}, +/* 25959 */ {(12<<2)|2,{51,45,0}}, +/* 25960 */ {(12<<2)|2,{51,45,0}}, +/* 25961 */ {(12<<2)|2,{51,45,0}}, +/* 25962 */ {(12<<2)|2,{51,45,0}}, +/* 25963 */ {(12<<2)|2,{51,45,0}}, +/* 25964 */ {(12<<2)|2,{51,45,0}}, +/* 25965 */ {(12<<2)|2,{51,45,0}}, +/* 25966 */ {(12<<2)|2,{51,45,0}}, +/* 25967 */ {(12<<2)|2,{51,45,0}}, +/* 25968 */ {(12<<2)|2,{51,46,0}}, +/* 25969 */ {(12<<2)|2,{51,46,0}}, +/* 25970 */ {(12<<2)|2,{51,46,0}}, +/* 25971 */ {(12<<2)|2,{51,46,0}}, +/* 25972 */ {(12<<2)|2,{51,46,0}}, +/* 25973 */ {(12<<2)|2,{51,46,0}}, +/* 25974 */ {(12<<2)|2,{51,46,0}}, +/* 25975 */ {(12<<2)|2,{51,46,0}}, +/* 25976 */ {(12<<2)|2,{51,46,0}}, +/* 25977 */ {(12<<2)|2,{51,46,0}}, +/* 25978 */ {(12<<2)|2,{51,46,0}}, +/* 25979 */ {(12<<2)|2,{51,46,0}}, +/* 25980 */ {(12<<2)|2,{51,46,0}}, +/* 25981 */ {(12<<2)|2,{51,46,0}}, +/* 25982 */ {(12<<2)|2,{51,46,0}}, +/* 25983 */ {(12<<2)|2,{51,46,0}}, +/* 25984 */ {(12<<2)|2,{51,47,0}}, +/* 25985 */ {(12<<2)|2,{51,47,0}}, +/* 25986 */ {(12<<2)|2,{51,47,0}}, +/* 25987 */ {(12<<2)|2,{51,47,0}}, +/* 25988 */ {(12<<2)|2,{51,47,0}}, +/* 25989 */ {(12<<2)|2,{51,47,0}}, +/* 25990 */ {(12<<2)|2,{51,47,0}}, +/* 25991 */ {(12<<2)|2,{51,47,0}}, +/* 25992 */ {(12<<2)|2,{51,47,0}}, +/* 25993 */ {(12<<2)|2,{51,47,0}}, +/* 25994 */ {(12<<2)|2,{51,47,0}}, +/* 25995 */ {(12<<2)|2,{51,47,0}}, +/* 25996 */ {(12<<2)|2,{51,47,0}}, +/* 25997 */ {(12<<2)|2,{51,47,0}}, +/* 25998 */ {(12<<2)|2,{51,47,0}}, +/* 25999 */ {(12<<2)|2,{51,47,0}}, +/* 26000 */ {(12<<2)|2,{51,51,0}}, +/* 26001 */ {(12<<2)|2,{51,51,0}}, +/* 26002 */ {(12<<2)|2,{51,51,0}}, +/* 26003 */ {(12<<2)|2,{51,51,0}}, +/* 26004 */ {(12<<2)|2,{51,51,0}}, +/* 26005 */ {(12<<2)|2,{51,51,0}}, +/* 26006 */ {(12<<2)|2,{51,51,0}}, +/* 26007 */ {(12<<2)|2,{51,51,0}}, +/* 26008 */ {(12<<2)|2,{51,51,0}}, +/* 26009 */ {(12<<2)|2,{51,51,0}}, +/* 26010 */ {(12<<2)|2,{51,51,0}}, +/* 26011 */ {(12<<2)|2,{51,51,0}}, +/* 26012 */ {(12<<2)|2,{51,51,0}}, +/* 26013 */ {(12<<2)|2,{51,51,0}}, +/* 26014 */ {(12<<2)|2,{51,51,0}}, +/* 26015 */ {(12<<2)|2,{51,51,0}}, +/* 26016 */ {(12<<2)|2,{51,52,0}}, +/* 26017 */ {(12<<2)|2,{51,52,0}}, +/* 26018 */ {(12<<2)|2,{51,52,0}}, +/* 26019 */ {(12<<2)|2,{51,52,0}}, +/* 26020 */ {(12<<2)|2,{51,52,0}}, +/* 26021 */ {(12<<2)|2,{51,52,0}}, +/* 26022 */ {(12<<2)|2,{51,52,0}}, +/* 26023 */ {(12<<2)|2,{51,52,0}}, +/* 26024 */ {(12<<2)|2,{51,52,0}}, +/* 26025 */ {(12<<2)|2,{51,52,0}}, +/* 26026 */ {(12<<2)|2,{51,52,0}}, +/* 26027 */ {(12<<2)|2,{51,52,0}}, +/* 26028 */ {(12<<2)|2,{51,52,0}}, +/* 26029 */ {(12<<2)|2,{51,52,0}}, +/* 26030 */ {(12<<2)|2,{51,52,0}}, +/* 26031 */ {(12<<2)|2,{51,52,0}}, +/* 26032 */ {(12<<2)|2,{51,53,0}}, +/* 26033 */ {(12<<2)|2,{51,53,0}}, +/* 26034 */ {(12<<2)|2,{51,53,0}}, +/* 26035 */ {(12<<2)|2,{51,53,0}}, +/* 26036 */ {(12<<2)|2,{51,53,0}}, +/* 26037 */ {(12<<2)|2,{51,53,0}}, +/* 26038 */ {(12<<2)|2,{51,53,0}}, +/* 26039 */ {(12<<2)|2,{51,53,0}}, +/* 26040 */ {(12<<2)|2,{51,53,0}}, +/* 26041 */ {(12<<2)|2,{51,53,0}}, +/* 26042 */ {(12<<2)|2,{51,53,0}}, +/* 26043 */ {(12<<2)|2,{51,53,0}}, +/* 26044 */ {(12<<2)|2,{51,53,0}}, +/* 26045 */ {(12<<2)|2,{51,53,0}}, +/* 26046 */ {(12<<2)|2,{51,53,0}}, +/* 26047 */ {(12<<2)|2,{51,53,0}}, +/* 26048 */ {(12<<2)|2,{51,54,0}}, +/* 26049 */ {(12<<2)|2,{51,54,0}}, +/* 26050 */ {(12<<2)|2,{51,54,0}}, +/* 26051 */ {(12<<2)|2,{51,54,0}}, +/* 26052 */ {(12<<2)|2,{51,54,0}}, +/* 26053 */ {(12<<2)|2,{51,54,0}}, +/* 26054 */ {(12<<2)|2,{51,54,0}}, +/* 26055 */ {(12<<2)|2,{51,54,0}}, +/* 26056 */ {(12<<2)|2,{51,54,0}}, +/* 26057 */ {(12<<2)|2,{51,54,0}}, +/* 26058 */ {(12<<2)|2,{51,54,0}}, +/* 26059 */ {(12<<2)|2,{51,54,0}}, +/* 26060 */ {(12<<2)|2,{51,54,0}}, +/* 26061 */ {(12<<2)|2,{51,54,0}}, +/* 26062 */ {(12<<2)|2,{51,54,0}}, +/* 26063 */ {(12<<2)|2,{51,54,0}}, +/* 26064 */ {(12<<2)|2,{51,55,0}}, +/* 26065 */ {(12<<2)|2,{51,55,0}}, +/* 26066 */ {(12<<2)|2,{51,55,0}}, +/* 26067 */ {(12<<2)|2,{51,55,0}}, +/* 26068 */ {(12<<2)|2,{51,55,0}}, +/* 26069 */ {(12<<2)|2,{51,55,0}}, +/* 26070 */ {(12<<2)|2,{51,55,0}}, +/* 26071 */ {(12<<2)|2,{51,55,0}}, +/* 26072 */ {(12<<2)|2,{51,55,0}}, +/* 26073 */ {(12<<2)|2,{51,55,0}}, +/* 26074 */ {(12<<2)|2,{51,55,0}}, +/* 26075 */ {(12<<2)|2,{51,55,0}}, +/* 26076 */ {(12<<2)|2,{51,55,0}}, +/* 26077 */ {(12<<2)|2,{51,55,0}}, +/* 26078 */ {(12<<2)|2,{51,55,0}}, +/* 26079 */ {(12<<2)|2,{51,55,0}}, +/* 26080 */ {(12<<2)|2,{51,56,0}}, +/* 26081 */ {(12<<2)|2,{51,56,0}}, +/* 26082 */ {(12<<2)|2,{51,56,0}}, +/* 26083 */ {(12<<2)|2,{51,56,0}}, +/* 26084 */ {(12<<2)|2,{51,56,0}}, +/* 26085 */ {(12<<2)|2,{51,56,0}}, +/* 26086 */ {(12<<2)|2,{51,56,0}}, +/* 26087 */ {(12<<2)|2,{51,56,0}}, +/* 26088 */ {(12<<2)|2,{51,56,0}}, +/* 26089 */ {(12<<2)|2,{51,56,0}}, +/* 26090 */ {(12<<2)|2,{51,56,0}}, +/* 26091 */ {(12<<2)|2,{51,56,0}}, +/* 26092 */ {(12<<2)|2,{51,56,0}}, +/* 26093 */ {(12<<2)|2,{51,56,0}}, +/* 26094 */ {(12<<2)|2,{51,56,0}}, +/* 26095 */ {(12<<2)|2,{51,56,0}}, +/* 26096 */ {(12<<2)|2,{51,57,0}}, +/* 26097 */ {(12<<2)|2,{51,57,0}}, +/* 26098 */ {(12<<2)|2,{51,57,0}}, +/* 26099 */ {(12<<2)|2,{51,57,0}}, +/* 26100 */ {(12<<2)|2,{51,57,0}}, +/* 26101 */ {(12<<2)|2,{51,57,0}}, +/* 26102 */ {(12<<2)|2,{51,57,0}}, +/* 26103 */ {(12<<2)|2,{51,57,0}}, +/* 26104 */ {(12<<2)|2,{51,57,0}}, +/* 26105 */ {(12<<2)|2,{51,57,0}}, +/* 26106 */ {(12<<2)|2,{51,57,0}}, +/* 26107 */ {(12<<2)|2,{51,57,0}}, +/* 26108 */ {(12<<2)|2,{51,57,0}}, +/* 26109 */ {(12<<2)|2,{51,57,0}}, +/* 26110 */ {(12<<2)|2,{51,57,0}}, +/* 26111 */ {(12<<2)|2,{51,57,0}}, +/* 26112 */ {(12<<2)|2,{51,61,0}}, +/* 26113 */ {(12<<2)|2,{51,61,0}}, +/* 26114 */ {(12<<2)|2,{51,61,0}}, +/* 26115 */ {(12<<2)|2,{51,61,0}}, +/* 26116 */ {(12<<2)|2,{51,61,0}}, +/* 26117 */ {(12<<2)|2,{51,61,0}}, +/* 26118 */ {(12<<2)|2,{51,61,0}}, +/* 26119 */ {(12<<2)|2,{51,61,0}}, +/* 26120 */ {(12<<2)|2,{51,61,0}}, +/* 26121 */ {(12<<2)|2,{51,61,0}}, +/* 26122 */ {(12<<2)|2,{51,61,0}}, +/* 26123 */ {(12<<2)|2,{51,61,0}}, +/* 26124 */ {(12<<2)|2,{51,61,0}}, +/* 26125 */ {(12<<2)|2,{51,61,0}}, +/* 26126 */ {(12<<2)|2,{51,61,0}}, +/* 26127 */ {(12<<2)|2,{51,61,0}}, +/* 26128 */ {(12<<2)|2,{51,65,0}}, +/* 26129 */ {(12<<2)|2,{51,65,0}}, +/* 26130 */ {(12<<2)|2,{51,65,0}}, +/* 26131 */ {(12<<2)|2,{51,65,0}}, +/* 26132 */ {(12<<2)|2,{51,65,0}}, +/* 26133 */ {(12<<2)|2,{51,65,0}}, +/* 26134 */ {(12<<2)|2,{51,65,0}}, +/* 26135 */ {(12<<2)|2,{51,65,0}}, +/* 26136 */ {(12<<2)|2,{51,65,0}}, +/* 26137 */ {(12<<2)|2,{51,65,0}}, +/* 26138 */ {(12<<2)|2,{51,65,0}}, +/* 26139 */ {(12<<2)|2,{51,65,0}}, +/* 26140 */ {(12<<2)|2,{51,65,0}}, +/* 26141 */ {(12<<2)|2,{51,65,0}}, +/* 26142 */ {(12<<2)|2,{51,65,0}}, +/* 26143 */ {(12<<2)|2,{51,65,0}}, +/* 26144 */ {(12<<2)|2,{51,95,0}}, +/* 26145 */ {(12<<2)|2,{51,95,0}}, +/* 26146 */ {(12<<2)|2,{51,95,0}}, +/* 26147 */ {(12<<2)|2,{51,95,0}}, +/* 26148 */ {(12<<2)|2,{51,95,0}}, +/* 26149 */ {(12<<2)|2,{51,95,0}}, +/* 26150 */ {(12<<2)|2,{51,95,0}}, +/* 26151 */ {(12<<2)|2,{51,95,0}}, +/* 26152 */ {(12<<2)|2,{51,95,0}}, +/* 26153 */ {(12<<2)|2,{51,95,0}}, +/* 26154 */ {(12<<2)|2,{51,95,0}}, +/* 26155 */ {(12<<2)|2,{51,95,0}}, +/* 26156 */ {(12<<2)|2,{51,95,0}}, +/* 26157 */ {(12<<2)|2,{51,95,0}}, +/* 26158 */ {(12<<2)|2,{51,95,0}}, +/* 26159 */ {(12<<2)|2,{51,95,0}}, +/* 26160 */ {(12<<2)|2,{51,98,0}}, +/* 26161 */ {(12<<2)|2,{51,98,0}}, +/* 26162 */ {(12<<2)|2,{51,98,0}}, +/* 26163 */ {(12<<2)|2,{51,98,0}}, +/* 26164 */ {(12<<2)|2,{51,98,0}}, +/* 26165 */ {(12<<2)|2,{51,98,0}}, +/* 26166 */ {(12<<2)|2,{51,98,0}}, +/* 26167 */ {(12<<2)|2,{51,98,0}}, +/* 26168 */ {(12<<2)|2,{51,98,0}}, +/* 26169 */ {(12<<2)|2,{51,98,0}}, +/* 26170 */ {(12<<2)|2,{51,98,0}}, +/* 26171 */ {(12<<2)|2,{51,98,0}}, +/* 26172 */ {(12<<2)|2,{51,98,0}}, +/* 26173 */ {(12<<2)|2,{51,98,0}}, +/* 26174 */ {(12<<2)|2,{51,98,0}}, +/* 26175 */ {(12<<2)|2,{51,98,0}}, +/* 26176 */ {(12<<2)|2,{51,100,0}}, +/* 26177 */ {(12<<2)|2,{51,100,0}}, +/* 26178 */ {(12<<2)|2,{51,100,0}}, +/* 26179 */ {(12<<2)|2,{51,100,0}}, +/* 26180 */ {(12<<2)|2,{51,100,0}}, +/* 26181 */ {(12<<2)|2,{51,100,0}}, +/* 26182 */ {(12<<2)|2,{51,100,0}}, +/* 26183 */ {(12<<2)|2,{51,100,0}}, +/* 26184 */ {(12<<2)|2,{51,100,0}}, +/* 26185 */ {(12<<2)|2,{51,100,0}}, +/* 26186 */ {(12<<2)|2,{51,100,0}}, +/* 26187 */ {(12<<2)|2,{51,100,0}}, +/* 26188 */ {(12<<2)|2,{51,100,0}}, +/* 26189 */ {(12<<2)|2,{51,100,0}}, +/* 26190 */ {(12<<2)|2,{51,100,0}}, +/* 26191 */ {(12<<2)|2,{51,100,0}}, +/* 26192 */ {(12<<2)|2,{51,102,0}}, +/* 26193 */ {(12<<2)|2,{51,102,0}}, +/* 26194 */ {(12<<2)|2,{51,102,0}}, +/* 26195 */ {(12<<2)|2,{51,102,0}}, +/* 26196 */ {(12<<2)|2,{51,102,0}}, +/* 26197 */ {(12<<2)|2,{51,102,0}}, +/* 26198 */ {(12<<2)|2,{51,102,0}}, +/* 26199 */ {(12<<2)|2,{51,102,0}}, +/* 26200 */ {(12<<2)|2,{51,102,0}}, +/* 26201 */ {(12<<2)|2,{51,102,0}}, +/* 26202 */ {(12<<2)|2,{51,102,0}}, +/* 26203 */ {(12<<2)|2,{51,102,0}}, +/* 26204 */ {(12<<2)|2,{51,102,0}}, +/* 26205 */ {(12<<2)|2,{51,102,0}}, +/* 26206 */ {(12<<2)|2,{51,102,0}}, +/* 26207 */ {(12<<2)|2,{51,102,0}}, +/* 26208 */ {(12<<2)|2,{51,103,0}}, +/* 26209 */ {(12<<2)|2,{51,103,0}}, +/* 26210 */ {(12<<2)|2,{51,103,0}}, +/* 26211 */ {(12<<2)|2,{51,103,0}}, +/* 26212 */ {(12<<2)|2,{51,103,0}}, +/* 26213 */ {(12<<2)|2,{51,103,0}}, +/* 26214 */ {(12<<2)|2,{51,103,0}}, +/* 26215 */ {(12<<2)|2,{51,103,0}}, +/* 26216 */ {(12<<2)|2,{51,103,0}}, +/* 26217 */ {(12<<2)|2,{51,103,0}}, +/* 26218 */ {(12<<2)|2,{51,103,0}}, +/* 26219 */ {(12<<2)|2,{51,103,0}}, +/* 26220 */ {(12<<2)|2,{51,103,0}}, +/* 26221 */ {(12<<2)|2,{51,103,0}}, +/* 26222 */ {(12<<2)|2,{51,103,0}}, +/* 26223 */ {(12<<2)|2,{51,103,0}}, +/* 26224 */ {(12<<2)|2,{51,104,0}}, +/* 26225 */ {(12<<2)|2,{51,104,0}}, +/* 26226 */ {(12<<2)|2,{51,104,0}}, +/* 26227 */ {(12<<2)|2,{51,104,0}}, +/* 26228 */ {(12<<2)|2,{51,104,0}}, +/* 26229 */ {(12<<2)|2,{51,104,0}}, +/* 26230 */ {(12<<2)|2,{51,104,0}}, +/* 26231 */ {(12<<2)|2,{51,104,0}}, +/* 26232 */ {(12<<2)|2,{51,104,0}}, +/* 26233 */ {(12<<2)|2,{51,104,0}}, +/* 26234 */ {(12<<2)|2,{51,104,0}}, +/* 26235 */ {(12<<2)|2,{51,104,0}}, +/* 26236 */ {(12<<2)|2,{51,104,0}}, +/* 26237 */ {(12<<2)|2,{51,104,0}}, +/* 26238 */ {(12<<2)|2,{51,104,0}}, +/* 26239 */ {(12<<2)|2,{51,104,0}}, +/* 26240 */ {(12<<2)|2,{51,108,0}}, +/* 26241 */ {(12<<2)|2,{51,108,0}}, +/* 26242 */ {(12<<2)|2,{51,108,0}}, +/* 26243 */ {(12<<2)|2,{51,108,0}}, +/* 26244 */ {(12<<2)|2,{51,108,0}}, +/* 26245 */ {(12<<2)|2,{51,108,0}}, +/* 26246 */ {(12<<2)|2,{51,108,0}}, +/* 26247 */ {(12<<2)|2,{51,108,0}}, +/* 26248 */ {(12<<2)|2,{51,108,0}}, +/* 26249 */ {(12<<2)|2,{51,108,0}}, +/* 26250 */ {(12<<2)|2,{51,108,0}}, +/* 26251 */ {(12<<2)|2,{51,108,0}}, +/* 26252 */ {(12<<2)|2,{51,108,0}}, +/* 26253 */ {(12<<2)|2,{51,108,0}}, +/* 26254 */ {(12<<2)|2,{51,108,0}}, +/* 26255 */ {(12<<2)|2,{51,108,0}}, +/* 26256 */ {(12<<2)|2,{51,109,0}}, +/* 26257 */ {(12<<2)|2,{51,109,0}}, +/* 26258 */ {(12<<2)|2,{51,109,0}}, +/* 26259 */ {(12<<2)|2,{51,109,0}}, +/* 26260 */ {(12<<2)|2,{51,109,0}}, +/* 26261 */ {(12<<2)|2,{51,109,0}}, +/* 26262 */ {(12<<2)|2,{51,109,0}}, +/* 26263 */ {(12<<2)|2,{51,109,0}}, +/* 26264 */ {(12<<2)|2,{51,109,0}}, +/* 26265 */ {(12<<2)|2,{51,109,0}}, +/* 26266 */ {(12<<2)|2,{51,109,0}}, +/* 26267 */ {(12<<2)|2,{51,109,0}}, +/* 26268 */ {(12<<2)|2,{51,109,0}}, +/* 26269 */ {(12<<2)|2,{51,109,0}}, +/* 26270 */ {(12<<2)|2,{51,109,0}}, +/* 26271 */ {(12<<2)|2,{51,109,0}}, +/* 26272 */ {(12<<2)|2,{51,110,0}}, +/* 26273 */ {(12<<2)|2,{51,110,0}}, +/* 26274 */ {(12<<2)|2,{51,110,0}}, +/* 26275 */ {(12<<2)|2,{51,110,0}}, +/* 26276 */ {(12<<2)|2,{51,110,0}}, +/* 26277 */ {(12<<2)|2,{51,110,0}}, +/* 26278 */ {(12<<2)|2,{51,110,0}}, +/* 26279 */ {(12<<2)|2,{51,110,0}}, +/* 26280 */ {(12<<2)|2,{51,110,0}}, +/* 26281 */ {(12<<2)|2,{51,110,0}}, +/* 26282 */ {(12<<2)|2,{51,110,0}}, +/* 26283 */ {(12<<2)|2,{51,110,0}}, +/* 26284 */ {(12<<2)|2,{51,110,0}}, +/* 26285 */ {(12<<2)|2,{51,110,0}}, +/* 26286 */ {(12<<2)|2,{51,110,0}}, +/* 26287 */ {(12<<2)|2,{51,110,0}}, +/* 26288 */ {(12<<2)|2,{51,112,0}}, +/* 26289 */ {(12<<2)|2,{51,112,0}}, +/* 26290 */ {(12<<2)|2,{51,112,0}}, +/* 26291 */ {(12<<2)|2,{51,112,0}}, +/* 26292 */ {(12<<2)|2,{51,112,0}}, +/* 26293 */ {(12<<2)|2,{51,112,0}}, +/* 26294 */ {(12<<2)|2,{51,112,0}}, +/* 26295 */ {(12<<2)|2,{51,112,0}}, +/* 26296 */ {(12<<2)|2,{51,112,0}}, +/* 26297 */ {(12<<2)|2,{51,112,0}}, +/* 26298 */ {(12<<2)|2,{51,112,0}}, +/* 26299 */ {(12<<2)|2,{51,112,0}}, +/* 26300 */ {(12<<2)|2,{51,112,0}}, +/* 26301 */ {(12<<2)|2,{51,112,0}}, +/* 26302 */ {(12<<2)|2,{51,112,0}}, +/* 26303 */ {(12<<2)|2,{51,112,0}}, +/* 26304 */ {(12<<2)|2,{51,114,0}}, +/* 26305 */ {(12<<2)|2,{51,114,0}}, +/* 26306 */ {(12<<2)|2,{51,114,0}}, +/* 26307 */ {(12<<2)|2,{51,114,0}}, +/* 26308 */ {(12<<2)|2,{51,114,0}}, +/* 26309 */ {(12<<2)|2,{51,114,0}}, +/* 26310 */ {(12<<2)|2,{51,114,0}}, +/* 26311 */ {(12<<2)|2,{51,114,0}}, +/* 26312 */ {(12<<2)|2,{51,114,0}}, +/* 26313 */ {(12<<2)|2,{51,114,0}}, +/* 26314 */ {(12<<2)|2,{51,114,0}}, +/* 26315 */ {(12<<2)|2,{51,114,0}}, +/* 26316 */ {(12<<2)|2,{51,114,0}}, +/* 26317 */ {(12<<2)|2,{51,114,0}}, +/* 26318 */ {(12<<2)|2,{51,114,0}}, +/* 26319 */ {(12<<2)|2,{51,114,0}}, +/* 26320 */ {(12<<2)|2,{51,117,0}}, +/* 26321 */ {(12<<2)|2,{51,117,0}}, +/* 26322 */ {(12<<2)|2,{51,117,0}}, +/* 26323 */ {(12<<2)|2,{51,117,0}}, +/* 26324 */ {(12<<2)|2,{51,117,0}}, +/* 26325 */ {(12<<2)|2,{51,117,0}}, +/* 26326 */ {(12<<2)|2,{51,117,0}}, +/* 26327 */ {(12<<2)|2,{51,117,0}}, +/* 26328 */ {(12<<2)|2,{51,117,0}}, +/* 26329 */ {(12<<2)|2,{51,117,0}}, +/* 26330 */ {(12<<2)|2,{51,117,0}}, +/* 26331 */ {(12<<2)|2,{51,117,0}}, +/* 26332 */ {(12<<2)|2,{51,117,0}}, +/* 26333 */ {(12<<2)|2,{51,117,0}}, +/* 26334 */ {(12<<2)|2,{51,117,0}}, +/* 26335 */ {(12<<2)|2,{51,117,0}}, +/* 26336 */ {(13<<2)|2,{51,58,0}}, +/* 26337 */ {(13<<2)|2,{51,58,0}}, +/* 26338 */ {(13<<2)|2,{51,58,0}}, +/* 26339 */ {(13<<2)|2,{51,58,0}}, +/* 26340 */ {(13<<2)|2,{51,58,0}}, +/* 26341 */ {(13<<2)|2,{51,58,0}}, +/* 26342 */ {(13<<2)|2,{51,58,0}}, +/* 26343 */ {(13<<2)|2,{51,58,0}}, +/* 26344 */ {(13<<2)|2,{51,66,0}}, +/* 26345 */ {(13<<2)|2,{51,66,0}}, +/* 26346 */ {(13<<2)|2,{51,66,0}}, +/* 26347 */ {(13<<2)|2,{51,66,0}}, +/* 26348 */ {(13<<2)|2,{51,66,0}}, +/* 26349 */ {(13<<2)|2,{51,66,0}}, +/* 26350 */ {(13<<2)|2,{51,66,0}}, +/* 26351 */ {(13<<2)|2,{51,66,0}}, +/* 26352 */ {(13<<2)|2,{51,67,0}}, +/* 26353 */ {(13<<2)|2,{51,67,0}}, +/* 26354 */ {(13<<2)|2,{51,67,0}}, +/* 26355 */ {(13<<2)|2,{51,67,0}}, +/* 26356 */ {(13<<2)|2,{51,67,0}}, +/* 26357 */ {(13<<2)|2,{51,67,0}}, +/* 26358 */ {(13<<2)|2,{51,67,0}}, +/* 26359 */ {(13<<2)|2,{51,67,0}}, +/* 26360 */ {(13<<2)|2,{51,68,0}}, +/* 26361 */ {(13<<2)|2,{51,68,0}}, +/* 26362 */ {(13<<2)|2,{51,68,0}}, +/* 26363 */ {(13<<2)|2,{51,68,0}}, +/* 26364 */ {(13<<2)|2,{51,68,0}}, +/* 26365 */ {(13<<2)|2,{51,68,0}}, +/* 26366 */ {(13<<2)|2,{51,68,0}}, +/* 26367 */ {(13<<2)|2,{51,68,0}}, +/* 26368 */ {(13<<2)|2,{51,69,0}}, +/* 26369 */ {(13<<2)|2,{51,69,0}}, +/* 26370 */ {(13<<2)|2,{51,69,0}}, +/* 26371 */ {(13<<2)|2,{51,69,0}}, +/* 26372 */ {(13<<2)|2,{51,69,0}}, +/* 26373 */ {(13<<2)|2,{51,69,0}}, +/* 26374 */ {(13<<2)|2,{51,69,0}}, +/* 26375 */ {(13<<2)|2,{51,69,0}}, +/* 26376 */ {(13<<2)|2,{51,70,0}}, +/* 26377 */ {(13<<2)|2,{51,70,0}}, +/* 26378 */ {(13<<2)|2,{51,70,0}}, +/* 26379 */ {(13<<2)|2,{51,70,0}}, +/* 26380 */ {(13<<2)|2,{51,70,0}}, +/* 26381 */ {(13<<2)|2,{51,70,0}}, +/* 26382 */ {(13<<2)|2,{51,70,0}}, +/* 26383 */ {(13<<2)|2,{51,70,0}}, +/* 26384 */ {(13<<2)|2,{51,71,0}}, +/* 26385 */ {(13<<2)|2,{51,71,0}}, +/* 26386 */ {(13<<2)|2,{51,71,0}}, +/* 26387 */ {(13<<2)|2,{51,71,0}}, +/* 26388 */ {(13<<2)|2,{51,71,0}}, +/* 26389 */ {(13<<2)|2,{51,71,0}}, +/* 26390 */ {(13<<2)|2,{51,71,0}}, +/* 26391 */ {(13<<2)|2,{51,71,0}}, +/* 26392 */ {(13<<2)|2,{51,72,0}}, +/* 26393 */ {(13<<2)|2,{51,72,0}}, +/* 26394 */ {(13<<2)|2,{51,72,0}}, +/* 26395 */ {(13<<2)|2,{51,72,0}}, +/* 26396 */ {(13<<2)|2,{51,72,0}}, +/* 26397 */ {(13<<2)|2,{51,72,0}}, +/* 26398 */ {(13<<2)|2,{51,72,0}}, +/* 26399 */ {(13<<2)|2,{51,72,0}}, +/* 26400 */ {(13<<2)|2,{51,73,0}}, +/* 26401 */ {(13<<2)|2,{51,73,0}}, +/* 26402 */ {(13<<2)|2,{51,73,0}}, +/* 26403 */ {(13<<2)|2,{51,73,0}}, +/* 26404 */ {(13<<2)|2,{51,73,0}}, +/* 26405 */ {(13<<2)|2,{51,73,0}}, +/* 26406 */ {(13<<2)|2,{51,73,0}}, +/* 26407 */ {(13<<2)|2,{51,73,0}}, +/* 26408 */ {(13<<2)|2,{51,74,0}}, +/* 26409 */ {(13<<2)|2,{51,74,0}}, +/* 26410 */ {(13<<2)|2,{51,74,0}}, +/* 26411 */ {(13<<2)|2,{51,74,0}}, +/* 26412 */ {(13<<2)|2,{51,74,0}}, +/* 26413 */ {(13<<2)|2,{51,74,0}}, +/* 26414 */ {(13<<2)|2,{51,74,0}}, +/* 26415 */ {(13<<2)|2,{51,74,0}}, +/* 26416 */ {(13<<2)|2,{51,75,0}}, +/* 26417 */ {(13<<2)|2,{51,75,0}}, +/* 26418 */ {(13<<2)|2,{51,75,0}}, +/* 26419 */ {(13<<2)|2,{51,75,0}}, +/* 26420 */ {(13<<2)|2,{51,75,0}}, +/* 26421 */ {(13<<2)|2,{51,75,0}}, +/* 26422 */ {(13<<2)|2,{51,75,0}}, +/* 26423 */ {(13<<2)|2,{51,75,0}}, +/* 26424 */ {(13<<2)|2,{51,76,0}}, +/* 26425 */ {(13<<2)|2,{51,76,0}}, +/* 26426 */ {(13<<2)|2,{51,76,0}}, +/* 26427 */ {(13<<2)|2,{51,76,0}}, +/* 26428 */ {(13<<2)|2,{51,76,0}}, +/* 26429 */ {(13<<2)|2,{51,76,0}}, +/* 26430 */ {(13<<2)|2,{51,76,0}}, +/* 26431 */ {(13<<2)|2,{51,76,0}}, +/* 26432 */ {(13<<2)|2,{51,77,0}}, +/* 26433 */ {(13<<2)|2,{51,77,0}}, +/* 26434 */ {(13<<2)|2,{51,77,0}}, +/* 26435 */ {(13<<2)|2,{51,77,0}}, +/* 26436 */ {(13<<2)|2,{51,77,0}}, +/* 26437 */ {(13<<2)|2,{51,77,0}}, +/* 26438 */ {(13<<2)|2,{51,77,0}}, +/* 26439 */ {(13<<2)|2,{51,77,0}}, +/* 26440 */ {(13<<2)|2,{51,78,0}}, +/* 26441 */ {(13<<2)|2,{51,78,0}}, +/* 26442 */ {(13<<2)|2,{51,78,0}}, +/* 26443 */ {(13<<2)|2,{51,78,0}}, +/* 26444 */ {(13<<2)|2,{51,78,0}}, +/* 26445 */ {(13<<2)|2,{51,78,0}}, +/* 26446 */ {(13<<2)|2,{51,78,0}}, +/* 26447 */ {(13<<2)|2,{51,78,0}}, +/* 26448 */ {(13<<2)|2,{51,79,0}}, +/* 26449 */ {(13<<2)|2,{51,79,0}}, +/* 26450 */ {(13<<2)|2,{51,79,0}}, +/* 26451 */ {(13<<2)|2,{51,79,0}}, +/* 26452 */ {(13<<2)|2,{51,79,0}}, +/* 26453 */ {(13<<2)|2,{51,79,0}}, +/* 26454 */ {(13<<2)|2,{51,79,0}}, +/* 26455 */ {(13<<2)|2,{51,79,0}}, +/* 26456 */ {(13<<2)|2,{51,80,0}}, +/* 26457 */ {(13<<2)|2,{51,80,0}}, +/* 26458 */ {(13<<2)|2,{51,80,0}}, +/* 26459 */ {(13<<2)|2,{51,80,0}}, +/* 26460 */ {(13<<2)|2,{51,80,0}}, +/* 26461 */ {(13<<2)|2,{51,80,0}}, +/* 26462 */ {(13<<2)|2,{51,80,0}}, +/* 26463 */ {(13<<2)|2,{51,80,0}}, +/* 26464 */ {(13<<2)|2,{51,81,0}}, +/* 26465 */ {(13<<2)|2,{51,81,0}}, +/* 26466 */ {(13<<2)|2,{51,81,0}}, +/* 26467 */ {(13<<2)|2,{51,81,0}}, +/* 26468 */ {(13<<2)|2,{51,81,0}}, +/* 26469 */ {(13<<2)|2,{51,81,0}}, +/* 26470 */ {(13<<2)|2,{51,81,0}}, +/* 26471 */ {(13<<2)|2,{51,81,0}}, +/* 26472 */ {(13<<2)|2,{51,82,0}}, +/* 26473 */ {(13<<2)|2,{51,82,0}}, +/* 26474 */ {(13<<2)|2,{51,82,0}}, +/* 26475 */ {(13<<2)|2,{51,82,0}}, +/* 26476 */ {(13<<2)|2,{51,82,0}}, +/* 26477 */ {(13<<2)|2,{51,82,0}}, +/* 26478 */ {(13<<2)|2,{51,82,0}}, +/* 26479 */ {(13<<2)|2,{51,82,0}}, +/* 26480 */ {(13<<2)|2,{51,83,0}}, +/* 26481 */ {(13<<2)|2,{51,83,0}}, +/* 26482 */ {(13<<2)|2,{51,83,0}}, +/* 26483 */ {(13<<2)|2,{51,83,0}}, +/* 26484 */ {(13<<2)|2,{51,83,0}}, +/* 26485 */ {(13<<2)|2,{51,83,0}}, +/* 26486 */ {(13<<2)|2,{51,83,0}}, +/* 26487 */ {(13<<2)|2,{51,83,0}}, +/* 26488 */ {(13<<2)|2,{51,84,0}}, +/* 26489 */ {(13<<2)|2,{51,84,0}}, +/* 26490 */ {(13<<2)|2,{51,84,0}}, +/* 26491 */ {(13<<2)|2,{51,84,0}}, +/* 26492 */ {(13<<2)|2,{51,84,0}}, +/* 26493 */ {(13<<2)|2,{51,84,0}}, +/* 26494 */ {(13<<2)|2,{51,84,0}}, +/* 26495 */ {(13<<2)|2,{51,84,0}}, +/* 26496 */ {(13<<2)|2,{51,85,0}}, +/* 26497 */ {(13<<2)|2,{51,85,0}}, +/* 26498 */ {(13<<2)|2,{51,85,0}}, +/* 26499 */ {(13<<2)|2,{51,85,0}}, +/* 26500 */ {(13<<2)|2,{51,85,0}}, +/* 26501 */ {(13<<2)|2,{51,85,0}}, +/* 26502 */ {(13<<2)|2,{51,85,0}}, +/* 26503 */ {(13<<2)|2,{51,85,0}}, +/* 26504 */ {(13<<2)|2,{51,86,0}}, +/* 26505 */ {(13<<2)|2,{51,86,0}}, +/* 26506 */ {(13<<2)|2,{51,86,0}}, +/* 26507 */ {(13<<2)|2,{51,86,0}}, +/* 26508 */ {(13<<2)|2,{51,86,0}}, +/* 26509 */ {(13<<2)|2,{51,86,0}}, +/* 26510 */ {(13<<2)|2,{51,86,0}}, +/* 26511 */ {(13<<2)|2,{51,86,0}}, +/* 26512 */ {(13<<2)|2,{51,87,0}}, +/* 26513 */ {(13<<2)|2,{51,87,0}}, +/* 26514 */ {(13<<2)|2,{51,87,0}}, +/* 26515 */ {(13<<2)|2,{51,87,0}}, +/* 26516 */ {(13<<2)|2,{51,87,0}}, +/* 26517 */ {(13<<2)|2,{51,87,0}}, +/* 26518 */ {(13<<2)|2,{51,87,0}}, +/* 26519 */ {(13<<2)|2,{51,87,0}}, +/* 26520 */ {(13<<2)|2,{51,89,0}}, +/* 26521 */ {(13<<2)|2,{51,89,0}}, +/* 26522 */ {(13<<2)|2,{51,89,0}}, +/* 26523 */ {(13<<2)|2,{51,89,0}}, +/* 26524 */ {(13<<2)|2,{51,89,0}}, +/* 26525 */ {(13<<2)|2,{51,89,0}}, +/* 26526 */ {(13<<2)|2,{51,89,0}}, +/* 26527 */ {(13<<2)|2,{51,89,0}}, +/* 26528 */ {(13<<2)|2,{51,106,0}}, +/* 26529 */ {(13<<2)|2,{51,106,0}}, +/* 26530 */ {(13<<2)|2,{51,106,0}}, +/* 26531 */ {(13<<2)|2,{51,106,0}}, +/* 26532 */ {(13<<2)|2,{51,106,0}}, +/* 26533 */ {(13<<2)|2,{51,106,0}}, +/* 26534 */ {(13<<2)|2,{51,106,0}}, +/* 26535 */ {(13<<2)|2,{51,106,0}}, +/* 26536 */ {(13<<2)|2,{51,107,0}}, +/* 26537 */ {(13<<2)|2,{51,107,0}}, +/* 26538 */ {(13<<2)|2,{51,107,0}}, +/* 26539 */ {(13<<2)|2,{51,107,0}}, +/* 26540 */ {(13<<2)|2,{51,107,0}}, +/* 26541 */ {(13<<2)|2,{51,107,0}}, +/* 26542 */ {(13<<2)|2,{51,107,0}}, +/* 26543 */ {(13<<2)|2,{51,107,0}}, +/* 26544 */ {(13<<2)|2,{51,113,0}}, +/* 26545 */ {(13<<2)|2,{51,113,0}}, +/* 26546 */ {(13<<2)|2,{51,113,0}}, +/* 26547 */ {(13<<2)|2,{51,113,0}}, +/* 26548 */ {(13<<2)|2,{51,113,0}}, +/* 26549 */ {(13<<2)|2,{51,113,0}}, +/* 26550 */ {(13<<2)|2,{51,113,0}}, +/* 26551 */ {(13<<2)|2,{51,113,0}}, +/* 26552 */ {(13<<2)|2,{51,118,0}}, +/* 26553 */ {(13<<2)|2,{51,118,0}}, +/* 26554 */ {(13<<2)|2,{51,118,0}}, +/* 26555 */ {(13<<2)|2,{51,118,0}}, +/* 26556 */ {(13<<2)|2,{51,118,0}}, +/* 26557 */ {(13<<2)|2,{51,118,0}}, +/* 26558 */ {(13<<2)|2,{51,118,0}}, +/* 26559 */ {(13<<2)|2,{51,118,0}}, +/* 26560 */ {(13<<2)|2,{51,119,0}}, +/* 26561 */ {(13<<2)|2,{51,119,0}}, +/* 26562 */ {(13<<2)|2,{51,119,0}}, +/* 26563 */ {(13<<2)|2,{51,119,0}}, +/* 26564 */ {(13<<2)|2,{51,119,0}}, +/* 26565 */ {(13<<2)|2,{51,119,0}}, +/* 26566 */ {(13<<2)|2,{51,119,0}}, +/* 26567 */ {(13<<2)|2,{51,119,0}}, +/* 26568 */ {(13<<2)|2,{51,120,0}}, +/* 26569 */ {(13<<2)|2,{51,120,0}}, +/* 26570 */ {(13<<2)|2,{51,120,0}}, +/* 26571 */ {(13<<2)|2,{51,120,0}}, +/* 26572 */ {(13<<2)|2,{51,120,0}}, +/* 26573 */ {(13<<2)|2,{51,120,0}}, +/* 26574 */ {(13<<2)|2,{51,120,0}}, +/* 26575 */ {(13<<2)|2,{51,120,0}}, +/* 26576 */ {(13<<2)|2,{51,121,0}}, +/* 26577 */ {(13<<2)|2,{51,121,0}}, +/* 26578 */ {(13<<2)|2,{51,121,0}}, +/* 26579 */ {(13<<2)|2,{51,121,0}}, +/* 26580 */ {(13<<2)|2,{51,121,0}}, +/* 26581 */ {(13<<2)|2,{51,121,0}}, +/* 26582 */ {(13<<2)|2,{51,121,0}}, +/* 26583 */ {(13<<2)|2,{51,121,0}}, +/* 26584 */ {(13<<2)|2,{51,122,0}}, +/* 26585 */ {(13<<2)|2,{51,122,0}}, +/* 26586 */ {(13<<2)|2,{51,122,0}}, +/* 26587 */ {(13<<2)|2,{51,122,0}}, +/* 26588 */ {(13<<2)|2,{51,122,0}}, +/* 26589 */ {(13<<2)|2,{51,122,0}}, +/* 26590 */ {(13<<2)|2,{51,122,0}}, +/* 26591 */ {(13<<2)|2,{51,122,0}}, +/* 26592 */ {(14<<2)|2,{51,38,0}}, +/* 26593 */ {(14<<2)|2,{51,38,0}}, +/* 26594 */ {(14<<2)|2,{51,38,0}}, +/* 26595 */ {(14<<2)|2,{51,38,0}}, +/* 26596 */ {(14<<2)|2,{51,42,0}}, +/* 26597 */ {(14<<2)|2,{51,42,0}}, +/* 26598 */ {(14<<2)|2,{51,42,0}}, +/* 26599 */ {(14<<2)|2,{51,42,0}}, +/* 26600 */ {(14<<2)|2,{51,44,0}}, +/* 26601 */ {(14<<2)|2,{51,44,0}}, +/* 26602 */ {(14<<2)|2,{51,44,0}}, +/* 26603 */ {(14<<2)|2,{51,44,0}}, +/* 26604 */ {(14<<2)|2,{51,59,0}}, +/* 26605 */ {(14<<2)|2,{51,59,0}}, +/* 26606 */ {(14<<2)|2,{51,59,0}}, +/* 26607 */ {(14<<2)|2,{51,59,0}}, +/* 26608 */ {(14<<2)|2,{51,88,0}}, +/* 26609 */ {(14<<2)|2,{51,88,0}}, +/* 26610 */ {(14<<2)|2,{51,88,0}}, +/* 26611 */ {(14<<2)|2,{51,88,0}}, +/* 26612 */ {(14<<2)|2,{51,90,0}}, +/* 26613 */ {(14<<2)|2,{51,90,0}}, +/* 26614 */ {(14<<2)|2,{51,90,0}}, +/* 26615 */ {(14<<2)|2,{51,90,0}}, +/* 26616 */ {(16<<2)|2,{51,33,0}}, +/* 26617 */ {(16<<2)|2,{51,34,0}}, +/* 26618 */ {(16<<2)|2,{51,40,0}}, +/* 26619 */ {(16<<2)|2,{51,41,0}}, +/* 26620 */ {(16<<2)|2,{51,63,0}}, +/* 26621 */ {(6<<2)|1,{51,0,0}}, +/* 26622 */ {(6<<2)|1,{51,0,0}}, +/* 26623 */ {(6<<2)|1,{51,0,0}}, +/* 26624 */ {(16<<2)|3,{52,48,48}}, +/* 26625 */ {(16<<2)|3,{52,48,49}}, +/* 26626 */ {(16<<2)|3,{52,48,50}}, +/* 26627 */ {(16<<2)|3,{52,48,97}}, +/* 26628 */ {(16<<2)|3,{52,48,99}}, +/* 26629 */ {(16<<2)|3,{52,48,101}}, +/* 26630 */ {(16<<2)|3,{52,48,105}}, +/* 26631 */ {(16<<2)|3,{52,48,111}}, +/* 26632 */ {(16<<2)|3,{52,48,115}}, +/* 26633 */ {(16<<2)|3,{52,48,116}}, +/* 26634 */ {(11<<2)|2,{52,48,0}}, +/* 26635 */ {(11<<2)|2,{52,48,0}}, +/* 26636 */ {(11<<2)|2,{52,48,0}}, +/* 26637 */ {(11<<2)|2,{52,48,0}}, +/* 26638 */ {(11<<2)|2,{52,48,0}}, +/* 26639 */ {(11<<2)|2,{52,48,0}}, +/* 26640 */ {(11<<2)|2,{52,48,0}}, +/* 26641 */ {(11<<2)|2,{52,48,0}}, +/* 26642 */ {(11<<2)|2,{52,48,0}}, +/* 26643 */ {(11<<2)|2,{52,48,0}}, +/* 26644 */ {(11<<2)|2,{52,48,0}}, +/* 26645 */ {(11<<2)|2,{52,48,0}}, +/* 26646 */ {(11<<2)|2,{52,48,0}}, +/* 26647 */ {(11<<2)|2,{52,48,0}}, +/* 26648 */ {(11<<2)|2,{52,48,0}}, +/* 26649 */ {(11<<2)|2,{52,48,0}}, +/* 26650 */ {(11<<2)|2,{52,48,0}}, +/* 26651 */ {(11<<2)|2,{52,48,0}}, +/* 26652 */ {(11<<2)|2,{52,48,0}}, +/* 26653 */ {(11<<2)|2,{52,48,0}}, +/* 26654 */ {(11<<2)|2,{52,48,0}}, +/* 26655 */ {(11<<2)|2,{52,48,0}}, +/* 26656 */ {(16<<2)|3,{52,49,48}}, +/* 26657 */ {(16<<2)|3,{52,49,49}}, +/* 26658 */ {(16<<2)|3,{52,49,50}}, +/* 26659 */ {(16<<2)|3,{52,49,97}}, +/* 26660 */ {(16<<2)|3,{52,49,99}}, +/* 26661 */ {(16<<2)|3,{52,49,101}}, +/* 26662 */ {(16<<2)|3,{52,49,105}}, +/* 26663 */ {(16<<2)|3,{52,49,111}}, +/* 26664 */ {(16<<2)|3,{52,49,115}}, +/* 26665 */ {(16<<2)|3,{52,49,116}}, +/* 26666 */ {(11<<2)|2,{52,49,0}}, +/* 26667 */ {(11<<2)|2,{52,49,0}}, +/* 26668 */ {(11<<2)|2,{52,49,0}}, +/* 26669 */ {(11<<2)|2,{52,49,0}}, +/* 26670 */ {(11<<2)|2,{52,49,0}}, +/* 26671 */ {(11<<2)|2,{52,49,0}}, +/* 26672 */ {(11<<2)|2,{52,49,0}}, +/* 26673 */ {(11<<2)|2,{52,49,0}}, +/* 26674 */ {(11<<2)|2,{52,49,0}}, +/* 26675 */ {(11<<2)|2,{52,49,0}}, +/* 26676 */ {(11<<2)|2,{52,49,0}}, +/* 26677 */ {(11<<2)|2,{52,49,0}}, +/* 26678 */ {(11<<2)|2,{52,49,0}}, +/* 26679 */ {(11<<2)|2,{52,49,0}}, +/* 26680 */ {(11<<2)|2,{52,49,0}}, +/* 26681 */ {(11<<2)|2,{52,49,0}}, +/* 26682 */ {(11<<2)|2,{52,49,0}}, +/* 26683 */ {(11<<2)|2,{52,49,0}}, +/* 26684 */ {(11<<2)|2,{52,49,0}}, +/* 26685 */ {(11<<2)|2,{52,49,0}}, +/* 26686 */ {(11<<2)|2,{52,49,0}}, +/* 26687 */ {(11<<2)|2,{52,49,0}}, +/* 26688 */ {(16<<2)|3,{52,50,48}}, +/* 26689 */ {(16<<2)|3,{52,50,49}}, +/* 26690 */ {(16<<2)|3,{52,50,50}}, +/* 26691 */ {(16<<2)|3,{52,50,97}}, +/* 26692 */ {(16<<2)|3,{52,50,99}}, +/* 26693 */ {(16<<2)|3,{52,50,101}}, +/* 26694 */ {(16<<2)|3,{52,50,105}}, +/* 26695 */ {(16<<2)|3,{52,50,111}}, +/* 26696 */ {(16<<2)|3,{52,50,115}}, +/* 26697 */ {(16<<2)|3,{52,50,116}}, +/* 26698 */ {(11<<2)|2,{52,50,0}}, +/* 26699 */ {(11<<2)|2,{52,50,0}}, +/* 26700 */ {(11<<2)|2,{52,50,0}}, +/* 26701 */ {(11<<2)|2,{52,50,0}}, +/* 26702 */ {(11<<2)|2,{52,50,0}}, +/* 26703 */ {(11<<2)|2,{52,50,0}}, +/* 26704 */ {(11<<2)|2,{52,50,0}}, +/* 26705 */ {(11<<2)|2,{52,50,0}}, +/* 26706 */ {(11<<2)|2,{52,50,0}}, +/* 26707 */ {(11<<2)|2,{52,50,0}}, +/* 26708 */ {(11<<2)|2,{52,50,0}}, +/* 26709 */ {(11<<2)|2,{52,50,0}}, +/* 26710 */ {(11<<2)|2,{52,50,0}}, +/* 26711 */ {(11<<2)|2,{52,50,0}}, +/* 26712 */ {(11<<2)|2,{52,50,0}}, +/* 26713 */ {(11<<2)|2,{52,50,0}}, +/* 26714 */ {(11<<2)|2,{52,50,0}}, +/* 26715 */ {(11<<2)|2,{52,50,0}}, +/* 26716 */ {(11<<2)|2,{52,50,0}}, +/* 26717 */ {(11<<2)|2,{52,50,0}}, +/* 26718 */ {(11<<2)|2,{52,50,0}}, +/* 26719 */ {(11<<2)|2,{52,50,0}}, +/* 26720 */ {(16<<2)|3,{52,97,48}}, +/* 26721 */ {(16<<2)|3,{52,97,49}}, +/* 26722 */ {(16<<2)|3,{52,97,50}}, +/* 26723 */ {(16<<2)|3,{52,97,97}}, +/* 26724 */ {(16<<2)|3,{52,97,99}}, +/* 26725 */ {(16<<2)|3,{52,97,101}}, +/* 26726 */ {(16<<2)|3,{52,97,105}}, +/* 26727 */ {(16<<2)|3,{52,97,111}}, +/* 26728 */ {(16<<2)|3,{52,97,115}}, +/* 26729 */ {(16<<2)|3,{52,97,116}}, +/* 26730 */ {(11<<2)|2,{52,97,0}}, +/* 26731 */ {(11<<2)|2,{52,97,0}}, +/* 26732 */ {(11<<2)|2,{52,97,0}}, +/* 26733 */ {(11<<2)|2,{52,97,0}}, +/* 26734 */ {(11<<2)|2,{52,97,0}}, +/* 26735 */ {(11<<2)|2,{52,97,0}}, +/* 26736 */ {(11<<2)|2,{52,97,0}}, +/* 26737 */ {(11<<2)|2,{52,97,0}}, +/* 26738 */ {(11<<2)|2,{52,97,0}}, +/* 26739 */ {(11<<2)|2,{52,97,0}}, +/* 26740 */ {(11<<2)|2,{52,97,0}}, +/* 26741 */ {(11<<2)|2,{52,97,0}}, +/* 26742 */ {(11<<2)|2,{52,97,0}}, +/* 26743 */ {(11<<2)|2,{52,97,0}}, +/* 26744 */ {(11<<2)|2,{52,97,0}}, +/* 26745 */ {(11<<2)|2,{52,97,0}}, +/* 26746 */ {(11<<2)|2,{52,97,0}}, +/* 26747 */ {(11<<2)|2,{52,97,0}}, +/* 26748 */ {(11<<2)|2,{52,97,0}}, +/* 26749 */ {(11<<2)|2,{52,97,0}}, +/* 26750 */ {(11<<2)|2,{52,97,0}}, +/* 26751 */ {(11<<2)|2,{52,97,0}}, +/* 26752 */ {(16<<2)|3,{52,99,48}}, +/* 26753 */ {(16<<2)|3,{52,99,49}}, +/* 26754 */ {(16<<2)|3,{52,99,50}}, +/* 26755 */ {(16<<2)|3,{52,99,97}}, +/* 26756 */ {(16<<2)|3,{52,99,99}}, +/* 26757 */ {(16<<2)|3,{52,99,101}}, +/* 26758 */ {(16<<2)|3,{52,99,105}}, +/* 26759 */ {(16<<2)|3,{52,99,111}}, +/* 26760 */ {(16<<2)|3,{52,99,115}}, +/* 26761 */ {(16<<2)|3,{52,99,116}}, +/* 26762 */ {(11<<2)|2,{52,99,0}}, +/* 26763 */ {(11<<2)|2,{52,99,0}}, +/* 26764 */ {(11<<2)|2,{52,99,0}}, +/* 26765 */ {(11<<2)|2,{52,99,0}}, +/* 26766 */ {(11<<2)|2,{52,99,0}}, +/* 26767 */ {(11<<2)|2,{52,99,0}}, +/* 26768 */ {(11<<2)|2,{52,99,0}}, +/* 26769 */ {(11<<2)|2,{52,99,0}}, +/* 26770 */ {(11<<2)|2,{52,99,0}}, +/* 26771 */ {(11<<2)|2,{52,99,0}}, +/* 26772 */ {(11<<2)|2,{52,99,0}}, +/* 26773 */ {(11<<2)|2,{52,99,0}}, +/* 26774 */ {(11<<2)|2,{52,99,0}}, +/* 26775 */ {(11<<2)|2,{52,99,0}}, +/* 26776 */ {(11<<2)|2,{52,99,0}}, +/* 26777 */ {(11<<2)|2,{52,99,0}}, +/* 26778 */ {(11<<2)|2,{52,99,0}}, +/* 26779 */ {(11<<2)|2,{52,99,0}}, +/* 26780 */ {(11<<2)|2,{52,99,0}}, +/* 26781 */ {(11<<2)|2,{52,99,0}}, +/* 26782 */ {(11<<2)|2,{52,99,0}}, +/* 26783 */ {(11<<2)|2,{52,99,0}}, +/* 26784 */ {(16<<2)|3,{52,101,48}}, +/* 26785 */ {(16<<2)|3,{52,101,49}}, +/* 26786 */ {(16<<2)|3,{52,101,50}}, +/* 26787 */ {(16<<2)|3,{52,101,97}}, +/* 26788 */ {(16<<2)|3,{52,101,99}}, +/* 26789 */ {(16<<2)|3,{52,101,101}}, +/* 26790 */ {(16<<2)|3,{52,101,105}}, +/* 26791 */ {(16<<2)|3,{52,101,111}}, +/* 26792 */ {(16<<2)|3,{52,101,115}}, +/* 26793 */ {(16<<2)|3,{52,101,116}}, +/* 26794 */ {(11<<2)|2,{52,101,0}}, +/* 26795 */ {(11<<2)|2,{52,101,0}}, +/* 26796 */ {(11<<2)|2,{52,101,0}}, +/* 26797 */ {(11<<2)|2,{52,101,0}}, +/* 26798 */ {(11<<2)|2,{52,101,0}}, +/* 26799 */ {(11<<2)|2,{52,101,0}}, +/* 26800 */ {(11<<2)|2,{52,101,0}}, +/* 26801 */ {(11<<2)|2,{52,101,0}}, +/* 26802 */ {(11<<2)|2,{52,101,0}}, +/* 26803 */ {(11<<2)|2,{52,101,0}}, +/* 26804 */ {(11<<2)|2,{52,101,0}}, +/* 26805 */ {(11<<2)|2,{52,101,0}}, +/* 26806 */ {(11<<2)|2,{52,101,0}}, +/* 26807 */ {(11<<2)|2,{52,101,0}}, +/* 26808 */ {(11<<2)|2,{52,101,0}}, +/* 26809 */ {(11<<2)|2,{52,101,0}}, +/* 26810 */ {(11<<2)|2,{52,101,0}}, +/* 26811 */ {(11<<2)|2,{52,101,0}}, +/* 26812 */ {(11<<2)|2,{52,101,0}}, +/* 26813 */ {(11<<2)|2,{52,101,0}}, +/* 26814 */ {(11<<2)|2,{52,101,0}}, +/* 26815 */ {(11<<2)|2,{52,101,0}}, +/* 26816 */ {(16<<2)|3,{52,105,48}}, +/* 26817 */ {(16<<2)|3,{52,105,49}}, +/* 26818 */ {(16<<2)|3,{52,105,50}}, +/* 26819 */ {(16<<2)|3,{52,105,97}}, +/* 26820 */ {(16<<2)|3,{52,105,99}}, +/* 26821 */ {(16<<2)|3,{52,105,101}}, +/* 26822 */ {(16<<2)|3,{52,105,105}}, +/* 26823 */ {(16<<2)|3,{52,105,111}}, +/* 26824 */ {(16<<2)|3,{52,105,115}}, +/* 26825 */ {(16<<2)|3,{52,105,116}}, +/* 26826 */ {(11<<2)|2,{52,105,0}}, +/* 26827 */ {(11<<2)|2,{52,105,0}}, +/* 26828 */ {(11<<2)|2,{52,105,0}}, +/* 26829 */ {(11<<2)|2,{52,105,0}}, +/* 26830 */ {(11<<2)|2,{52,105,0}}, +/* 26831 */ {(11<<2)|2,{52,105,0}}, +/* 26832 */ {(11<<2)|2,{52,105,0}}, +/* 26833 */ {(11<<2)|2,{52,105,0}}, +/* 26834 */ {(11<<2)|2,{52,105,0}}, +/* 26835 */ {(11<<2)|2,{52,105,0}}, +/* 26836 */ {(11<<2)|2,{52,105,0}}, +/* 26837 */ {(11<<2)|2,{52,105,0}}, +/* 26838 */ {(11<<2)|2,{52,105,0}}, +/* 26839 */ {(11<<2)|2,{52,105,0}}, +/* 26840 */ {(11<<2)|2,{52,105,0}}, +/* 26841 */ {(11<<2)|2,{52,105,0}}, +/* 26842 */ {(11<<2)|2,{52,105,0}}, +/* 26843 */ {(11<<2)|2,{52,105,0}}, +/* 26844 */ {(11<<2)|2,{52,105,0}}, +/* 26845 */ {(11<<2)|2,{52,105,0}}, +/* 26846 */ {(11<<2)|2,{52,105,0}}, +/* 26847 */ {(11<<2)|2,{52,105,0}}, +/* 26848 */ {(16<<2)|3,{52,111,48}}, +/* 26849 */ {(16<<2)|3,{52,111,49}}, +/* 26850 */ {(16<<2)|3,{52,111,50}}, +/* 26851 */ {(16<<2)|3,{52,111,97}}, +/* 26852 */ {(16<<2)|3,{52,111,99}}, +/* 26853 */ {(16<<2)|3,{52,111,101}}, +/* 26854 */ {(16<<2)|3,{52,111,105}}, +/* 26855 */ {(16<<2)|3,{52,111,111}}, +/* 26856 */ {(16<<2)|3,{52,111,115}}, +/* 26857 */ {(16<<2)|3,{52,111,116}}, +/* 26858 */ {(11<<2)|2,{52,111,0}}, +/* 26859 */ {(11<<2)|2,{52,111,0}}, +/* 26860 */ {(11<<2)|2,{52,111,0}}, +/* 26861 */ {(11<<2)|2,{52,111,0}}, +/* 26862 */ {(11<<2)|2,{52,111,0}}, +/* 26863 */ {(11<<2)|2,{52,111,0}}, +/* 26864 */ {(11<<2)|2,{52,111,0}}, +/* 26865 */ {(11<<2)|2,{52,111,0}}, +/* 26866 */ {(11<<2)|2,{52,111,0}}, +/* 26867 */ {(11<<2)|2,{52,111,0}}, +/* 26868 */ {(11<<2)|2,{52,111,0}}, +/* 26869 */ {(11<<2)|2,{52,111,0}}, +/* 26870 */ {(11<<2)|2,{52,111,0}}, +/* 26871 */ {(11<<2)|2,{52,111,0}}, +/* 26872 */ {(11<<2)|2,{52,111,0}}, +/* 26873 */ {(11<<2)|2,{52,111,0}}, +/* 26874 */ {(11<<2)|2,{52,111,0}}, +/* 26875 */ {(11<<2)|2,{52,111,0}}, +/* 26876 */ {(11<<2)|2,{52,111,0}}, +/* 26877 */ {(11<<2)|2,{52,111,0}}, +/* 26878 */ {(11<<2)|2,{52,111,0}}, +/* 26879 */ {(11<<2)|2,{52,111,0}}, +/* 26880 */ {(16<<2)|3,{52,115,48}}, +/* 26881 */ {(16<<2)|3,{52,115,49}}, +/* 26882 */ {(16<<2)|3,{52,115,50}}, +/* 26883 */ {(16<<2)|3,{52,115,97}}, +/* 26884 */ {(16<<2)|3,{52,115,99}}, +/* 26885 */ {(16<<2)|3,{52,115,101}}, +/* 26886 */ {(16<<2)|3,{52,115,105}}, +/* 26887 */ {(16<<2)|3,{52,115,111}}, +/* 26888 */ {(16<<2)|3,{52,115,115}}, +/* 26889 */ {(16<<2)|3,{52,115,116}}, +/* 26890 */ {(11<<2)|2,{52,115,0}}, +/* 26891 */ {(11<<2)|2,{52,115,0}}, +/* 26892 */ {(11<<2)|2,{52,115,0}}, +/* 26893 */ {(11<<2)|2,{52,115,0}}, +/* 26894 */ {(11<<2)|2,{52,115,0}}, +/* 26895 */ {(11<<2)|2,{52,115,0}}, +/* 26896 */ {(11<<2)|2,{52,115,0}}, +/* 26897 */ {(11<<2)|2,{52,115,0}}, +/* 26898 */ {(11<<2)|2,{52,115,0}}, +/* 26899 */ {(11<<2)|2,{52,115,0}}, +/* 26900 */ {(11<<2)|2,{52,115,0}}, +/* 26901 */ {(11<<2)|2,{52,115,0}}, +/* 26902 */ {(11<<2)|2,{52,115,0}}, +/* 26903 */ {(11<<2)|2,{52,115,0}}, +/* 26904 */ {(11<<2)|2,{52,115,0}}, +/* 26905 */ {(11<<2)|2,{52,115,0}}, +/* 26906 */ {(11<<2)|2,{52,115,0}}, +/* 26907 */ {(11<<2)|2,{52,115,0}}, +/* 26908 */ {(11<<2)|2,{52,115,0}}, +/* 26909 */ {(11<<2)|2,{52,115,0}}, +/* 26910 */ {(11<<2)|2,{52,115,0}}, +/* 26911 */ {(11<<2)|2,{52,115,0}}, +/* 26912 */ {(16<<2)|3,{52,116,48}}, +/* 26913 */ {(16<<2)|3,{52,116,49}}, +/* 26914 */ {(16<<2)|3,{52,116,50}}, +/* 26915 */ {(16<<2)|3,{52,116,97}}, +/* 26916 */ {(16<<2)|3,{52,116,99}}, +/* 26917 */ {(16<<2)|3,{52,116,101}}, +/* 26918 */ {(16<<2)|3,{52,116,105}}, +/* 26919 */ {(16<<2)|3,{52,116,111}}, +/* 26920 */ {(16<<2)|3,{52,116,115}}, +/* 26921 */ {(16<<2)|3,{52,116,116}}, +/* 26922 */ {(11<<2)|2,{52,116,0}}, +/* 26923 */ {(11<<2)|2,{52,116,0}}, +/* 26924 */ {(11<<2)|2,{52,116,0}}, +/* 26925 */ {(11<<2)|2,{52,116,0}}, +/* 26926 */ {(11<<2)|2,{52,116,0}}, +/* 26927 */ {(11<<2)|2,{52,116,0}}, +/* 26928 */ {(11<<2)|2,{52,116,0}}, +/* 26929 */ {(11<<2)|2,{52,116,0}}, +/* 26930 */ {(11<<2)|2,{52,116,0}}, +/* 26931 */ {(11<<2)|2,{52,116,0}}, +/* 26932 */ {(11<<2)|2,{52,116,0}}, +/* 26933 */ {(11<<2)|2,{52,116,0}}, +/* 26934 */ {(11<<2)|2,{52,116,0}}, +/* 26935 */ {(11<<2)|2,{52,116,0}}, +/* 26936 */ {(11<<2)|2,{52,116,0}}, +/* 26937 */ {(11<<2)|2,{52,116,0}}, +/* 26938 */ {(11<<2)|2,{52,116,0}}, +/* 26939 */ {(11<<2)|2,{52,116,0}}, +/* 26940 */ {(11<<2)|2,{52,116,0}}, +/* 26941 */ {(11<<2)|2,{52,116,0}}, +/* 26942 */ {(11<<2)|2,{52,116,0}}, +/* 26943 */ {(11<<2)|2,{52,116,0}}, +/* 26944 */ {(12<<2)|2,{52,32,0}}, +/* 26945 */ {(12<<2)|2,{52,32,0}}, +/* 26946 */ {(12<<2)|2,{52,32,0}}, +/* 26947 */ {(12<<2)|2,{52,32,0}}, +/* 26948 */ {(12<<2)|2,{52,32,0}}, +/* 26949 */ {(12<<2)|2,{52,32,0}}, +/* 26950 */ {(12<<2)|2,{52,32,0}}, +/* 26951 */ {(12<<2)|2,{52,32,0}}, +/* 26952 */ {(12<<2)|2,{52,32,0}}, +/* 26953 */ {(12<<2)|2,{52,32,0}}, +/* 26954 */ {(12<<2)|2,{52,32,0}}, +/* 26955 */ {(12<<2)|2,{52,32,0}}, +/* 26956 */ {(12<<2)|2,{52,32,0}}, +/* 26957 */ {(12<<2)|2,{52,32,0}}, +/* 26958 */ {(12<<2)|2,{52,32,0}}, +/* 26959 */ {(12<<2)|2,{52,32,0}}, +/* 26960 */ {(12<<2)|2,{52,37,0}}, +/* 26961 */ {(12<<2)|2,{52,37,0}}, +/* 26962 */ {(12<<2)|2,{52,37,0}}, +/* 26963 */ {(12<<2)|2,{52,37,0}}, +/* 26964 */ {(12<<2)|2,{52,37,0}}, +/* 26965 */ {(12<<2)|2,{52,37,0}}, +/* 26966 */ {(12<<2)|2,{52,37,0}}, +/* 26967 */ {(12<<2)|2,{52,37,0}}, +/* 26968 */ {(12<<2)|2,{52,37,0}}, +/* 26969 */ {(12<<2)|2,{52,37,0}}, +/* 26970 */ {(12<<2)|2,{52,37,0}}, +/* 26971 */ {(12<<2)|2,{52,37,0}}, +/* 26972 */ {(12<<2)|2,{52,37,0}}, +/* 26973 */ {(12<<2)|2,{52,37,0}}, +/* 26974 */ {(12<<2)|2,{52,37,0}}, +/* 26975 */ {(12<<2)|2,{52,37,0}}, +/* 26976 */ {(12<<2)|2,{52,45,0}}, +/* 26977 */ {(12<<2)|2,{52,45,0}}, +/* 26978 */ {(12<<2)|2,{52,45,0}}, +/* 26979 */ {(12<<2)|2,{52,45,0}}, +/* 26980 */ {(12<<2)|2,{52,45,0}}, +/* 26981 */ {(12<<2)|2,{52,45,0}}, +/* 26982 */ {(12<<2)|2,{52,45,0}}, +/* 26983 */ {(12<<2)|2,{52,45,0}}, +/* 26984 */ {(12<<2)|2,{52,45,0}}, +/* 26985 */ {(12<<2)|2,{52,45,0}}, +/* 26986 */ {(12<<2)|2,{52,45,0}}, +/* 26987 */ {(12<<2)|2,{52,45,0}}, +/* 26988 */ {(12<<2)|2,{52,45,0}}, +/* 26989 */ {(12<<2)|2,{52,45,0}}, +/* 26990 */ {(12<<2)|2,{52,45,0}}, +/* 26991 */ {(12<<2)|2,{52,45,0}}, +/* 26992 */ {(12<<2)|2,{52,46,0}}, +/* 26993 */ {(12<<2)|2,{52,46,0}}, +/* 26994 */ {(12<<2)|2,{52,46,0}}, +/* 26995 */ {(12<<2)|2,{52,46,0}}, +/* 26996 */ {(12<<2)|2,{52,46,0}}, +/* 26997 */ {(12<<2)|2,{52,46,0}}, +/* 26998 */ {(12<<2)|2,{52,46,0}}, +/* 26999 */ {(12<<2)|2,{52,46,0}}, +/* 27000 */ {(12<<2)|2,{52,46,0}}, +/* 27001 */ {(12<<2)|2,{52,46,0}}, +/* 27002 */ {(12<<2)|2,{52,46,0}}, +/* 27003 */ {(12<<2)|2,{52,46,0}}, +/* 27004 */ {(12<<2)|2,{52,46,0}}, +/* 27005 */ {(12<<2)|2,{52,46,0}}, +/* 27006 */ {(12<<2)|2,{52,46,0}}, +/* 27007 */ {(12<<2)|2,{52,46,0}}, +/* 27008 */ {(12<<2)|2,{52,47,0}}, +/* 27009 */ {(12<<2)|2,{52,47,0}}, +/* 27010 */ {(12<<2)|2,{52,47,0}}, +/* 27011 */ {(12<<2)|2,{52,47,0}}, +/* 27012 */ {(12<<2)|2,{52,47,0}}, +/* 27013 */ {(12<<2)|2,{52,47,0}}, +/* 27014 */ {(12<<2)|2,{52,47,0}}, +/* 27015 */ {(12<<2)|2,{52,47,0}}, +/* 27016 */ {(12<<2)|2,{52,47,0}}, +/* 27017 */ {(12<<2)|2,{52,47,0}}, +/* 27018 */ {(12<<2)|2,{52,47,0}}, +/* 27019 */ {(12<<2)|2,{52,47,0}}, +/* 27020 */ {(12<<2)|2,{52,47,0}}, +/* 27021 */ {(12<<2)|2,{52,47,0}}, +/* 27022 */ {(12<<2)|2,{52,47,0}}, +/* 27023 */ {(12<<2)|2,{52,47,0}}, +/* 27024 */ {(12<<2)|2,{52,51,0}}, +/* 27025 */ {(12<<2)|2,{52,51,0}}, +/* 27026 */ {(12<<2)|2,{52,51,0}}, +/* 27027 */ {(12<<2)|2,{52,51,0}}, +/* 27028 */ {(12<<2)|2,{52,51,0}}, +/* 27029 */ {(12<<2)|2,{52,51,0}}, +/* 27030 */ {(12<<2)|2,{52,51,0}}, +/* 27031 */ {(12<<2)|2,{52,51,0}}, +/* 27032 */ {(12<<2)|2,{52,51,0}}, +/* 27033 */ {(12<<2)|2,{52,51,0}}, +/* 27034 */ {(12<<2)|2,{52,51,0}}, +/* 27035 */ {(12<<2)|2,{52,51,0}}, +/* 27036 */ {(12<<2)|2,{52,51,0}}, +/* 27037 */ {(12<<2)|2,{52,51,0}}, +/* 27038 */ {(12<<2)|2,{52,51,0}}, +/* 27039 */ {(12<<2)|2,{52,51,0}}, +/* 27040 */ {(12<<2)|2,{52,52,0}}, +/* 27041 */ {(12<<2)|2,{52,52,0}}, +/* 27042 */ {(12<<2)|2,{52,52,0}}, +/* 27043 */ {(12<<2)|2,{52,52,0}}, +/* 27044 */ {(12<<2)|2,{52,52,0}}, +/* 27045 */ {(12<<2)|2,{52,52,0}}, +/* 27046 */ {(12<<2)|2,{52,52,0}}, +/* 27047 */ {(12<<2)|2,{52,52,0}}, +/* 27048 */ {(12<<2)|2,{52,52,0}}, +/* 27049 */ {(12<<2)|2,{52,52,0}}, +/* 27050 */ {(12<<2)|2,{52,52,0}}, +/* 27051 */ {(12<<2)|2,{52,52,0}}, +/* 27052 */ {(12<<2)|2,{52,52,0}}, +/* 27053 */ {(12<<2)|2,{52,52,0}}, +/* 27054 */ {(12<<2)|2,{52,52,0}}, +/* 27055 */ {(12<<2)|2,{52,52,0}}, +/* 27056 */ {(12<<2)|2,{52,53,0}}, +/* 27057 */ {(12<<2)|2,{52,53,0}}, +/* 27058 */ {(12<<2)|2,{52,53,0}}, +/* 27059 */ {(12<<2)|2,{52,53,0}}, +/* 27060 */ {(12<<2)|2,{52,53,0}}, +/* 27061 */ {(12<<2)|2,{52,53,0}}, +/* 27062 */ {(12<<2)|2,{52,53,0}}, +/* 27063 */ {(12<<2)|2,{52,53,0}}, +/* 27064 */ {(12<<2)|2,{52,53,0}}, +/* 27065 */ {(12<<2)|2,{52,53,0}}, +/* 27066 */ {(12<<2)|2,{52,53,0}}, +/* 27067 */ {(12<<2)|2,{52,53,0}}, +/* 27068 */ {(12<<2)|2,{52,53,0}}, +/* 27069 */ {(12<<2)|2,{52,53,0}}, +/* 27070 */ {(12<<2)|2,{52,53,0}}, +/* 27071 */ {(12<<2)|2,{52,53,0}}, +/* 27072 */ {(12<<2)|2,{52,54,0}}, +/* 27073 */ {(12<<2)|2,{52,54,0}}, +/* 27074 */ {(12<<2)|2,{52,54,0}}, +/* 27075 */ {(12<<2)|2,{52,54,0}}, +/* 27076 */ {(12<<2)|2,{52,54,0}}, +/* 27077 */ {(12<<2)|2,{52,54,0}}, +/* 27078 */ {(12<<2)|2,{52,54,0}}, +/* 27079 */ {(12<<2)|2,{52,54,0}}, +/* 27080 */ {(12<<2)|2,{52,54,0}}, +/* 27081 */ {(12<<2)|2,{52,54,0}}, +/* 27082 */ {(12<<2)|2,{52,54,0}}, +/* 27083 */ {(12<<2)|2,{52,54,0}}, +/* 27084 */ {(12<<2)|2,{52,54,0}}, +/* 27085 */ {(12<<2)|2,{52,54,0}}, +/* 27086 */ {(12<<2)|2,{52,54,0}}, +/* 27087 */ {(12<<2)|2,{52,54,0}}, +/* 27088 */ {(12<<2)|2,{52,55,0}}, +/* 27089 */ {(12<<2)|2,{52,55,0}}, +/* 27090 */ {(12<<2)|2,{52,55,0}}, +/* 27091 */ {(12<<2)|2,{52,55,0}}, +/* 27092 */ {(12<<2)|2,{52,55,0}}, +/* 27093 */ {(12<<2)|2,{52,55,0}}, +/* 27094 */ {(12<<2)|2,{52,55,0}}, +/* 27095 */ {(12<<2)|2,{52,55,0}}, +/* 27096 */ {(12<<2)|2,{52,55,0}}, +/* 27097 */ {(12<<2)|2,{52,55,0}}, +/* 27098 */ {(12<<2)|2,{52,55,0}}, +/* 27099 */ {(12<<2)|2,{52,55,0}}, +/* 27100 */ {(12<<2)|2,{52,55,0}}, +/* 27101 */ {(12<<2)|2,{52,55,0}}, +/* 27102 */ {(12<<2)|2,{52,55,0}}, +/* 27103 */ {(12<<2)|2,{52,55,0}}, +/* 27104 */ {(12<<2)|2,{52,56,0}}, +/* 27105 */ {(12<<2)|2,{52,56,0}}, +/* 27106 */ {(12<<2)|2,{52,56,0}}, +/* 27107 */ {(12<<2)|2,{52,56,0}}, +/* 27108 */ {(12<<2)|2,{52,56,0}}, +/* 27109 */ {(12<<2)|2,{52,56,0}}, +/* 27110 */ {(12<<2)|2,{52,56,0}}, +/* 27111 */ {(12<<2)|2,{52,56,0}}, +/* 27112 */ {(12<<2)|2,{52,56,0}}, +/* 27113 */ {(12<<2)|2,{52,56,0}}, +/* 27114 */ {(12<<2)|2,{52,56,0}}, +/* 27115 */ {(12<<2)|2,{52,56,0}}, +/* 27116 */ {(12<<2)|2,{52,56,0}}, +/* 27117 */ {(12<<2)|2,{52,56,0}}, +/* 27118 */ {(12<<2)|2,{52,56,0}}, +/* 27119 */ {(12<<2)|2,{52,56,0}}, +/* 27120 */ {(12<<2)|2,{52,57,0}}, +/* 27121 */ {(12<<2)|2,{52,57,0}}, +/* 27122 */ {(12<<2)|2,{52,57,0}}, +/* 27123 */ {(12<<2)|2,{52,57,0}}, +/* 27124 */ {(12<<2)|2,{52,57,0}}, +/* 27125 */ {(12<<2)|2,{52,57,0}}, +/* 27126 */ {(12<<2)|2,{52,57,0}}, +/* 27127 */ {(12<<2)|2,{52,57,0}}, +/* 27128 */ {(12<<2)|2,{52,57,0}}, +/* 27129 */ {(12<<2)|2,{52,57,0}}, +/* 27130 */ {(12<<2)|2,{52,57,0}}, +/* 27131 */ {(12<<2)|2,{52,57,0}}, +/* 27132 */ {(12<<2)|2,{52,57,0}}, +/* 27133 */ {(12<<2)|2,{52,57,0}}, +/* 27134 */ {(12<<2)|2,{52,57,0}}, +/* 27135 */ {(12<<2)|2,{52,57,0}}, +/* 27136 */ {(12<<2)|2,{52,61,0}}, +/* 27137 */ {(12<<2)|2,{52,61,0}}, +/* 27138 */ {(12<<2)|2,{52,61,0}}, +/* 27139 */ {(12<<2)|2,{52,61,0}}, +/* 27140 */ {(12<<2)|2,{52,61,0}}, +/* 27141 */ {(12<<2)|2,{52,61,0}}, +/* 27142 */ {(12<<2)|2,{52,61,0}}, +/* 27143 */ {(12<<2)|2,{52,61,0}}, +/* 27144 */ {(12<<2)|2,{52,61,0}}, +/* 27145 */ {(12<<2)|2,{52,61,0}}, +/* 27146 */ {(12<<2)|2,{52,61,0}}, +/* 27147 */ {(12<<2)|2,{52,61,0}}, +/* 27148 */ {(12<<2)|2,{52,61,0}}, +/* 27149 */ {(12<<2)|2,{52,61,0}}, +/* 27150 */ {(12<<2)|2,{52,61,0}}, +/* 27151 */ {(12<<2)|2,{52,61,0}}, +/* 27152 */ {(12<<2)|2,{52,65,0}}, +/* 27153 */ {(12<<2)|2,{52,65,0}}, +/* 27154 */ {(12<<2)|2,{52,65,0}}, +/* 27155 */ {(12<<2)|2,{52,65,0}}, +/* 27156 */ {(12<<2)|2,{52,65,0}}, +/* 27157 */ {(12<<2)|2,{52,65,0}}, +/* 27158 */ {(12<<2)|2,{52,65,0}}, +/* 27159 */ {(12<<2)|2,{52,65,0}}, +/* 27160 */ {(12<<2)|2,{52,65,0}}, +/* 27161 */ {(12<<2)|2,{52,65,0}}, +/* 27162 */ {(12<<2)|2,{52,65,0}}, +/* 27163 */ {(12<<2)|2,{52,65,0}}, +/* 27164 */ {(12<<2)|2,{52,65,0}}, +/* 27165 */ {(12<<2)|2,{52,65,0}}, +/* 27166 */ {(12<<2)|2,{52,65,0}}, +/* 27167 */ {(12<<2)|2,{52,65,0}}, +/* 27168 */ {(12<<2)|2,{52,95,0}}, +/* 27169 */ {(12<<2)|2,{52,95,0}}, +/* 27170 */ {(12<<2)|2,{52,95,0}}, +/* 27171 */ {(12<<2)|2,{52,95,0}}, +/* 27172 */ {(12<<2)|2,{52,95,0}}, +/* 27173 */ {(12<<2)|2,{52,95,0}}, +/* 27174 */ {(12<<2)|2,{52,95,0}}, +/* 27175 */ {(12<<2)|2,{52,95,0}}, +/* 27176 */ {(12<<2)|2,{52,95,0}}, +/* 27177 */ {(12<<2)|2,{52,95,0}}, +/* 27178 */ {(12<<2)|2,{52,95,0}}, +/* 27179 */ {(12<<2)|2,{52,95,0}}, +/* 27180 */ {(12<<2)|2,{52,95,0}}, +/* 27181 */ {(12<<2)|2,{52,95,0}}, +/* 27182 */ {(12<<2)|2,{52,95,0}}, +/* 27183 */ {(12<<2)|2,{52,95,0}}, +/* 27184 */ {(12<<2)|2,{52,98,0}}, +/* 27185 */ {(12<<2)|2,{52,98,0}}, +/* 27186 */ {(12<<2)|2,{52,98,0}}, +/* 27187 */ {(12<<2)|2,{52,98,0}}, +/* 27188 */ {(12<<2)|2,{52,98,0}}, +/* 27189 */ {(12<<2)|2,{52,98,0}}, +/* 27190 */ {(12<<2)|2,{52,98,0}}, +/* 27191 */ {(12<<2)|2,{52,98,0}}, +/* 27192 */ {(12<<2)|2,{52,98,0}}, +/* 27193 */ {(12<<2)|2,{52,98,0}}, +/* 27194 */ {(12<<2)|2,{52,98,0}}, +/* 27195 */ {(12<<2)|2,{52,98,0}}, +/* 27196 */ {(12<<2)|2,{52,98,0}}, +/* 27197 */ {(12<<2)|2,{52,98,0}}, +/* 27198 */ {(12<<2)|2,{52,98,0}}, +/* 27199 */ {(12<<2)|2,{52,98,0}}, +/* 27200 */ {(12<<2)|2,{52,100,0}}, +/* 27201 */ {(12<<2)|2,{52,100,0}}, +/* 27202 */ {(12<<2)|2,{52,100,0}}, +/* 27203 */ {(12<<2)|2,{52,100,0}}, +/* 27204 */ {(12<<2)|2,{52,100,0}}, +/* 27205 */ {(12<<2)|2,{52,100,0}}, +/* 27206 */ {(12<<2)|2,{52,100,0}}, +/* 27207 */ {(12<<2)|2,{52,100,0}}, +/* 27208 */ {(12<<2)|2,{52,100,0}}, +/* 27209 */ {(12<<2)|2,{52,100,0}}, +/* 27210 */ {(12<<2)|2,{52,100,0}}, +/* 27211 */ {(12<<2)|2,{52,100,0}}, +/* 27212 */ {(12<<2)|2,{52,100,0}}, +/* 27213 */ {(12<<2)|2,{52,100,0}}, +/* 27214 */ {(12<<2)|2,{52,100,0}}, +/* 27215 */ {(12<<2)|2,{52,100,0}}, +/* 27216 */ {(12<<2)|2,{52,102,0}}, +/* 27217 */ {(12<<2)|2,{52,102,0}}, +/* 27218 */ {(12<<2)|2,{52,102,0}}, +/* 27219 */ {(12<<2)|2,{52,102,0}}, +/* 27220 */ {(12<<2)|2,{52,102,0}}, +/* 27221 */ {(12<<2)|2,{52,102,0}}, +/* 27222 */ {(12<<2)|2,{52,102,0}}, +/* 27223 */ {(12<<2)|2,{52,102,0}}, +/* 27224 */ {(12<<2)|2,{52,102,0}}, +/* 27225 */ {(12<<2)|2,{52,102,0}}, +/* 27226 */ {(12<<2)|2,{52,102,0}}, +/* 27227 */ {(12<<2)|2,{52,102,0}}, +/* 27228 */ {(12<<2)|2,{52,102,0}}, +/* 27229 */ {(12<<2)|2,{52,102,0}}, +/* 27230 */ {(12<<2)|2,{52,102,0}}, +/* 27231 */ {(12<<2)|2,{52,102,0}}, +/* 27232 */ {(12<<2)|2,{52,103,0}}, +/* 27233 */ {(12<<2)|2,{52,103,0}}, +/* 27234 */ {(12<<2)|2,{52,103,0}}, +/* 27235 */ {(12<<2)|2,{52,103,0}}, +/* 27236 */ {(12<<2)|2,{52,103,0}}, +/* 27237 */ {(12<<2)|2,{52,103,0}}, +/* 27238 */ {(12<<2)|2,{52,103,0}}, +/* 27239 */ {(12<<2)|2,{52,103,0}}, +/* 27240 */ {(12<<2)|2,{52,103,0}}, +/* 27241 */ {(12<<2)|2,{52,103,0}}, +/* 27242 */ {(12<<2)|2,{52,103,0}}, +/* 27243 */ {(12<<2)|2,{52,103,0}}, +/* 27244 */ {(12<<2)|2,{52,103,0}}, +/* 27245 */ {(12<<2)|2,{52,103,0}}, +/* 27246 */ {(12<<2)|2,{52,103,0}}, +/* 27247 */ {(12<<2)|2,{52,103,0}}, +/* 27248 */ {(12<<2)|2,{52,104,0}}, +/* 27249 */ {(12<<2)|2,{52,104,0}}, +/* 27250 */ {(12<<2)|2,{52,104,0}}, +/* 27251 */ {(12<<2)|2,{52,104,0}}, +/* 27252 */ {(12<<2)|2,{52,104,0}}, +/* 27253 */ {(12<<2)|2,{52,104,0}}, +/* 27254 */ {(12<<2)|2,{52,104,0}}, +/* 27255 */ {(12<<2)|2,{52,104,0}}, +/* 27256 */ {(12<<2)|2,{52,104,0}}, +/* 27257 */ {(12<<2)|2,{52,104,0}}, +/* 27258 */ {(12<<2)|2,{52,104,0}}, +/* 27259 */ {(12<<2)|2,{52,104,0}}, +/* 27260 */ {(12<<2)|2,{52,104,0}}, +/* 27261 */ {(12<<2)|2,{52,104,0}}, +/* 27262 */ {(12<<2)|2,{52,104,0}}, +/* 27263 */ {(12<<2)|2,{52,104,0}}, +/* 27264 */ {(12<<2)|2,{52,108,0}}, +/* 27265 */ {(12<<2)|2,{52,108,0}}, +/* 27266 */ {(12<<2)|2,{52,108,0}}, +/* 27267 */ {(12<<2)|2,{52,108,0}}, +/* 27268 */ {(12<<2)|2,{52,108,0}}, +/* 27269 */ {(12<<2)|2,{52,108,0}}, +/* 27270 */ {(12<<2)|2,{52,108,0}}, +/* 27271 */ {(12<<2)|2,{52,108,0}}, +/* 27272 */ {(12<<2)|2,{52,108,0}}, +/* 27273 */ {(12<<2)|2,{52,108,0}}, +/* 27274 */ {(12<<2)|2,{52,108,0}}, +/* 27275 */ {(12<<2)|2,{52,108,0}}, +/* 27276 */ {(12<<2)|2,{52,108,0}}, +/* 27277 */ {(12<<2)|2,{52,108,0}}, +/* 27278 */ {(12<<2)|2,{52,108,0}}, +/* 27279 */ {(12<<2)|2,{52,108,0}}, +/* 27280 */ {(12<<2)|2,{52,109,0}}, +/* 27281 */ {(12<<2)|2,{52,109,0}}, +/* 27282 */ {(12<<2)|2,{52,109,0}}, +/* 27283 */ {(12<<2)|2,{52,109,0}}, +/* 27284 */ {(12<<2)|2,{52,109,0}}, +/* 27285 */ {(12<<2)|2,{52,109,0}}, +/* 27286 */ {(12<<2)|2,{52,109,0}}, +/* 27287 */ {(12<<2)|2,{52,109,0}}, +/* 27288 */ {(12<<2)|2,{52,109,0}}, +/* 27289 */ {(12<<2)|2,{52,109,0}}, +/* 27290 */ {(12<<2)|2,{52,109,0}}, +/* 27291 */ {(12<<2)|2,{52,109,0}}, +/* 27292 */ {(12<<2)|2,{52,109,0}}, +/* 27293 */ {(12<<2)|2,{52,109,0}}, +/* 27294 */ {(12<<2)|2,{52,109,0}}, +/* 27295 */ {(12<<2)|2,{52,109,0}}, +/* 27296 */ {(12<<2)|2,{52,110,0}}, +/* 27297 */ {(12<<2)|2,{52,110,0}}, +/* 27298 */ {(12<<2)|2,{52,110,0}}, +/* 27299 */ {(12<<2)|2,{52,110,0}}, +/* 27300 */ {(12<<2)|2,{52,110,0}}, +/* 27301 */ {(12<<2)|2,{52,110,0}}, +/* 27302 */ {(12<<2)|2,{52,110,0}}, +/* 27303 */ {(12<<2)|2,{52,110,0}}, +/* 27304 */ {(12<<2)|2,{52,110,0}}, +/* 27305 */ {(12<<2)|2,{52,110,0}}, +/* 27306 */ {(12<<2)|2,{52,110,0}}, +/* 27307 */ {(12<<2)|2,{52,110,0}}, +/* 27308 */ {(12<<2)|2,{52,110,0}}, +/* 27309 */ {(12<<2)|2,{52,110,0}}, +/* 27310 */ {(12<<2)|2,{52,110,0}}, +/* 27311 */ {(12<<2)|2,{52,110,0}}, +/* 27312 */ {(12<<2)|2,{52,112,0}}, +/* 27313 */ {(12<<2)|2,{52,112,0}}, +/* 27314 */ {(12<<2)|2,{52,112,0}}, +/* 27315 */ {(12<<2)|2,{52,112,0}}, +/* 27316 */ {(12<<2)|2,{52,112,0}}, +/* 27317 */ {(12<<2)|2,{52,112,0}}, +/* 27318 */ {(12<<2)|2,{52,112,0}}, +/* 27319 */ {(12<<2)|2,{52,112,0}}, +/* 27320 */ {(12<<2)|2,{52,112,0}}, +/* 27321 */ {(12<<2)|2,{52,112,0}}, +/* 27322 */ {(12<<2)|2,{52,112,0}}, +/* 27323 */ {(12<<2)|2,{52,112,0}}, +/* 27324 */ {(12<<2)|2,{52,112,0}}, +/* 27325 */ {(12<<2)|2,{52,112,0}}, +/* 27326 */ {(12<<2)|2,{52,112,0}}, +/* 27327 */ {(12<<2)|2,{52,112,0}}, +/* 27328 */ {(12<<2)|2,{52,114,0}}, +/* 27329 */ {(12<<2)|2,{52,114,0}}, +/* 27330 */ {(12<<2)|2,{52,114,0}}, +/* 27331 */ {(12<<2)|2,{52,114,0}}, +/* 27332 */ {(12<<2)|2,{52,114,0}}, +/* 27333 */ {(12<<2)|2,{52,114,0}}, +/* 27334 */ {(12<<2)|2,{52,114,0}}, +/* 27335 */ {(12<<2)|2,{52,114,0}}, +/* 27336 */ {(12<<2)|2,{52,114,0}}, +/* 27337 */ {(12<<2)|2,{52,114,0}}, +/* 27338 */ {(12<<2)|2,{52,114,0}}, +/* 27339 */ {(12<<2)|2,{52,114,0}}, +/* 27340 */ {(12<<2)|2,{52,114,0}}, +/* 27341 */ {(12<<2)|2,{52,114,0}}, +/* 27342 */ {(12<<2)|2,{52,114,0}}, +/* 27343 */ {(12<<2)|2,{52,114,0}}, +/* 27344 */ {(12<<2)|2,{52,117,0}}, +/* 27345 */ {(12<<2)|2,{52,117,0}}, +/* 27346 */ {(12<<2)|2,{52,117,0}}, +/* 27347 */ {(12<<2)|2,{52,117,0}}, +/* 27348 */ {(12<<2)|2,{52,117,0}}, +/* 27349 */ {(12<<2)|2,{52,117,0}}, +/* 27350 */ {(12<<2)|2,{52,117,0}}, +/* 27351 */ {(12<<2)|2,{52,117,0}}, +/* 27352 */ {(12<<2)|2,{52,117,0}}, +/* 27353 */ {(12<<2)|2,{52,117,0}}, +/* 27354 */ {(12<<2)|2,{52,117,0}}, +/* 27355 */ {(12<<2)|2,{52,117,0}}, +/* 27356 */ {(12<<2)|2,{52,117,0}}, +/* 27357 */ {(12<<2)|2,{52,117,0}}, +/* 27358 */ {(12<<2)|2,{52,117,0}}, +/* 27359 */ {(12<<2)|2,{52,117,0}}, +/* 27360 */ {(13<<2)|2,{52,58,0}}, +/* 27361 */ {(13<<2)|2,{52,58,0}}, +/* 27362 */ {(13<<2)|2,{52,58,0}}, +/* 27363 */ {(13<<2)|2,{52,58,0}}, +/* 27364 */ {(13<<2)|2,{52,58,0}}, +/* 27365 */ {(13<<2)|2,{52,58,0}}, +/* 27366 */ {(13<<2)|2,{52,58,0}}, +/* 27367 */ {(13<<2)|2,{52,58,0}}, +/* 27368 */ {(13<<2)|2,{52,66,0}}, +/* 27369 */ {(13<<2)|2,{52,66,0}}, +/* 27370 */ {(13<<2)|2,{52,66,0}}, +/* 27371 */ {(13<<2)|2,{52,66,0}}, +/* 27372 */ {(13<<2)|2,{52,66,0}}, +/* 27373 */ {(13<<2)|2,{52,66,0}}, +/* 27374 */ {(13<<2)|2,{52,66,0}}, +/* 27375 */ {(13<<2)|2,{52,66,0}}, +/* 27376 */ {(13<<2)|2,{52,67,0}}, +/* 27377 */ {(13<<2)|2,{52,67,0}}, +/* 27378 */ {(13<<2)|2,{52,67,0}}, +/* 27379 */ {(13<<2)|2,{52,67,0}}, +/* 27380 */ {(13<<2)|2,{52,67,0}}, +/* 27381 */ {(13<<2)|2,{52,67,0}}, +/* 27382 */ {(13<<2)|2,{52,67,0}}, +/* 27383 */ {(13<<2)|2,{52,67,0}}, +/* 27384 */ {(13<<2)|2,{52,68,0}}, +/* 27385 */ {(13<<2)|2,{52,68,0}}, +/* 27386 */ {(13<<2)|2,{52,68,0}}, +/* 27387 */ {(13<<2)|2,{52,68,0}}, +/* 27388 */ {(13<<2)|2,{52,68,0}}, +/* 27389 */ {(13<<2)|2,{52,68,0}}, +/* 27390 */ {(13<<2)|2,{52,68,0}}, +/* 27391 */ {(13<<2)|2,{52,68,0}}, +/* 27392 */ {(13<<2)|2,{52,69,0}}, +/* 27393 */ {(13<<2)|2,{52,69,0}}, +/* 27394 */ {(13<<2)|2,{52,69,0}}, +/* 27395 */ {(13<<2)|2,{52,69,0}}, +/* 27396 */ {(13<<2)|2,{52,69,0}}, +/* 27397 */ {(13<<2)|2,{52,69,0}}, +/* 27398 */ {(13<<2)|2,{52,69,0}}, +/* 27399 */ {(13<<2)|2,{52,69,0}}, +/* 27400 */ {(13<<2)|2,{52,70,0}}, +/* 27401 */ {(13<<2)|2,{52,70,0}}, +/* 27402 */ {(13<<2)|2,{52,70,0}}, +/* 27403 */ {(13<<2)|2,{52,70,0}}, +/* 27404 */ {(13<<2)|2,{52,70,0}}, +/* 27405 */ {(13<<2)|2,{52,70,0}}, +/* 27406 */ {(13<<2)|2,{52,70,0}}, +/* 27407 */ {(13<<2)|2,{52,70,0}}, +/* 27408 */ {(13<<2)|2,{52,71,0}}, +/* 27409 */ {(13<<2)|2,{52,71,0}}, +/* 27410 */ {(13<<2)|2,{52,71,0}}, +/* 27411 */ {(13<<2)|2,{52,71,0}}, +/* 27412 */ {(13<<2)|2,{52,71,0}}, +/* 27413 */ {(13<<2)|2,{52,71,0}}, +/* 27414 */ {(13<<2)|2,{52,71,0}}, +/* 27415 */ {(13<<2)|2,{52,71,0}}, +/* 27416 */ {(13<<2)|2,{52,72,0}}, +/* 27417 */ {(13<<2)|2,{52,72,0}}, +/* 27418 */ {(13<<2)|2,{52,72,0}}, +/* 27419 */ {(13<<2)|2,{52,72,0}}, +/* 27420 */ {(13<<2)|2,{52,72,0}}, +/* 27421 */ {(13<<2)|2,{52,72,0}}, +/* 27422 */ {(13<<2)|2,{52,72,0}}, +/* 27423 */ {(13<<2)|2,{52,72,0}}, +/* 27424 */ {(13<<2)|2,{52,73,0}}, +/* 27425 */ {(13<<2)|2,{52,73,0}}, +/* 27426 */ {(13<<2)|2,{52,73,0}}, +/* 27427 */ {(13<<2)|2,{52,73,0}}, +/* 27428 */ {(13<<2)|2,{52,73,0}}, +/* 27429 */ {(13<<2)|2,{52,73,0}}, +/* 27430 */ {(13<<2)|2,{52,73,0}}, +/* 27431 */ {(13<<2)|2,{52,73,0}}, +/* 27432 */ {(13<<2)|2,{52,74,0}}, +/* 27433 */ {(13<<2)|2,{52,74,0}}, +/* 27434 */ {(13<<2)|2,{52,74,0}}, +/* 27435 */ {(13<<2)|2,{52,74,0}}, +/* 27436 */ {(13<<2)|2,{52,74,0}}, +/* 27437 */ {(13<<2)|2,{52,74,0}}, +/* 27438 */ {(13<<2)|2,{52,74,0}}, +/* 27439 */ {(13<<2)|2,{52,74,0}}, +/* 27440 */ {(13<<2)|2,{52,75,0}}, +/* 27441 */ {(13<<2)|2,{52,75,0}}, +/* 27442 */ {(13<<2)|2,{52,75,0}}, +/* 27443 */ {(13<<2)|2,{52,75,0}}, +/* 27444 */ {(13<<2)|2,{52,75,0}}, +/* 27445 */ {(13<<2)|2,{52,75,0}}, +/* 27446 */ {(13<<2)|2,{52,75,0}}, +/* 27447 */ {(13<<2)|2,{52,75,0}}, +/* 27448 */ {(13<<2)|2,{52,76,0}}, +/* 27449 */ {(13<<2)|2,{52,76,0}}, +/* 27450 */ {(13<<2)|2,{52,76,0}}, +/* 27451 */ {(13<<2)|2,{52,76,0}}, +/* 27452 */ {(13<<2)|2,{52,76,0}}, +/* 27453 */ {(13<<2)|2,{52,76,0}}, +/* 27454 */ {(13<<2)|2,{52,76,0}}, +/* 27455 */ {(13<<2)|2,{52,76,0}}, +/* 27456 */ {(13<<2)|2,{52,77,0}}, +/* 27457 */ {(13<<2)|2,{52,77,0}}, +/* 27458 */ {(13<<2)|2,{52,77,0}}, +/* 27459 */ {(13<<2)|2,{52,77,0}}, +/* 27460 */ {(13<<2)|2,{52,77,0}}, +/* 27461 */ {(13<<2)|2,{52,77,0}}, +/* 27462 */ {(13<<2)|2,{52,77,0}}, +/* 27463 */ {(13<<2)|2,{52,77,0}}, +/* 27464 */ {(13<<2)|2,{52,78,0}}, +/* 27465 */ {(13<<2)|2,{52,78,0}}, +/* 27466 */ {(13<<2)|2,{52,78,0}}, +/* 27467 */ {(13<<2)|2,{52,78,0}}, +/* 27468 */ {(13<<2)|2,{52,78,0}}, +/* 27469 */ {(13<<2)|2,{52,78,0}}, +/* 27470 */ {(13<<2)|2,{52,78,0}}, +/* 27471 */ {(13<<2)|2,{52,78,0}}, +/* 27472 */ {(13<<2)|2,{52,79,0}}, +/* 27473 */ {(13<<2)|2,{52,79,0}}, +/* 27474 */ {(13<<2)|2,{52,79,0}}, +/* 27475 */ {(13<<2)|2,{52,79,0}}, +/* 27476 */ {(13<<2)|2,{52,79,0}}, +/* 27477 */ {(13<<2)|2,{52,79,0}}, +/* 27478 */ {(13<<2)|2,{52,79,0}}, +/* 27479 */ {(13<<2)|2,{52,79,0}}, +/* 27480 */ {(13<<2)|2,{52,80,0}}, +/* 27481 */ {(13<<2)|2,{52,80,0}}, +/* 27482 */ {(13<<2)|2,{52,80,0}}, +/* 27483 */ {(13<<2)|2,{52,80,0}}, +/* 27484 */ {(13<<2)|2,{52,80,0}}, +/* 27485 */ {(13<<2)|2,{52,80,0}}, +/* 27486 */ {(13<<2)|2,{52,80,0}}, +/* 27487 */ {(13<<2)|2,{52,80,0}}, +/* 27488 */ {(13<<2)|2,{52,81,0}}, +/* 27489 */ {(13<<2)|2,{52,81,0}}, +/* 27490 */ {(13<<2)|2,{52,81,0}}, +/* 27491 */ {(13<<2)|2,{52,81,0}}, +/* 27492 */ {(13<<2)|2,{52,81,0}}, +/* 27493 */ {(13<<2)|2,{52,81,0}}, +/* 27494 */ {(13<<2)|2,{52,81,0}}, +/* 27495 */ {(13<<2)|2,{52,81,0}}, +/* 27496 */ {(13<<2)|2,{52,82,0}}, +/* 27497 */ {(13<<2)|2,{52,82,0}}, +/* 27498 */ {(13<<2)|2,{52,82,0}}, +/* 27499 */ {(13<<2)|2,{52,82,0}}, +/* 27500 */ {(13<<2)|2,{52,82,0}}, +/* 27501 */ {(13<<2)|2,{52,82,0}}, +/* 27502 */ {(13<<2)|2,{52,82,0}}, +/* 27503 */ {(13<<2)|2,{52,82,0}}, +/* 27504 */ {(13<<2)|2,{52,83,0}}, +/* 27505 */ {(13<<2)|2,{52,83,0}}, +/* 27506 */ {(13<<2)|2,{52,83,0}}, +/* 27507 */ {(13<<2)|2,{52,83,0}}, +/* 27508 */ {(13<<2)|2,{52,83,0}}, +/* 27509 */ {(13<<2)|2,{52,83,0}}, +/* 27510 */ {(13<<2)|2,{52,83,0}}, +/* 27511 */ {(13<<2)|2,{52,83,0}}, +/* 27512 */ {(13<<2)|2,{52,84,0}}, +/* 27513 */ {(13<<2)|2,{52,84,0}}, +/* 27514 */ {(13<<2)|2,{52,84,0}}, +/* 27515 */ {(13<<2)|2,{52,84,0}}, +/* 27516 */ {(13<<2)|2,{52,84,0}}, +/* 27517 */ {(13<<2)|2,{52,84,0}}, +/* 27518 */ {(13<<2)|2,{52,84,0}}, +/* 27519 */ {(13<<2)|2,{52,84,0}}, +/* 27520 */ {(13<<2)|2,{52,85,0}}, +/* 27521 */ {(13<<2)|2,{52,85,0}}, +/* 27522 */ {(13<<2)|2,{52,85,0}}, +/* 27523 */ {(13<<2)|2,{52,85,0}}, +/* 27524 */ {(13<<2)|2,{52,85,0}}, +/* 27525 */ {(13<<2)|2,{52,85,0}}, +/* 27526 */ {(13<<2)|2,{52,85,0}}, +/* 27527 */ {(13<<2)|2,{52,85,0}}, +/* 27528 */ {(13<<2)|2,{52,86,0}}, +/* 27529 */ {(13<<2)|2,{52,86,0}}, +/* 27530 */ {(13<<2)|2,{52,86,0}}, +/* 27531 */ {(13<<2)|2,{52,86,0}}, +/* 27532 */ {(13<<2)|2,{52,86,0}}, +/* 27533 */ {(13<<2)|2,{52,86,0}}, +/* 27534 */ {(13<<2)|2,{52,86,0}}, +/* 27535 */ {(13<<2)|2,{52,86,0}}, +/* 27536 */ {(13<<2)|2,{52,87,0}}, +/* 27537 */ {(13<<2)|2,{52,87,0}}, +/* 27538 */ {(13<<2)|2,{52,87,0}}, +/* 27539 */ {(13<<2)|2,{52,87,0}}, +/* 27540 */ {(13<<2)|2,{52,87,0}}, +/* 27541 */ {(13<<2)|2,{52,87,0}}, +/* 27542 */ {(13<<2)|2,{52,87,0}}, +/* 27543 */ {(13<<2)|2,{52,87,0}}, +/* 27544 */ {(13<<2)|2,{52,89,0}}, +/* 27545 */ {(13<<2)|2,{52,89,0}}, +/* 27546 */ {(13<<2)|2,{52,89,0}}, +/* 27547 */ {(13<<2)|2,{52,89,0}}, +/* 27548 */ {(13<<2)|2,{52,89,0}}, +/* 27549 */ {(13<<2)|2,{52,89,0}}, +/* 27550 */ {(13<<2)|2,{52,89,0}}, +/* 27551 */ {(13<<2)|2,{52,89,0}}, +/* 27552 */ {(13<<2)|2,{52,106,0}}, +/* 27553 */ {(13<<2)|2,{52,106,0}}, +/* 27554 */ {(13<<2)|2,{52,106,0}}, +/* 27555 */ {(13<<2)|2,{52,106,0}}, +/* 27556 */ {(13<<2)|2,{52,106,0}}, +/* 27557 */ {(13<<2)|2,{52,106,0}}, +/* 27558 */ {(13<<2)|2,{52,106,0}}, +/* 27559 */ {(13<<2)|2,{52,106,0}}, +/* 27560 */ {(13<<2)|2,{52,107,0}}, +/* 27561 */ {(13<<2)|2,{52,107,0}}, +/* 27562 */ {(13<<2)|2,{52,107,0}}, +/* 27563 */ {(13<<2)|2,{52,107,0}}, +/* 27564 */ {(13<<2)|2,{52,107,0}}, +/* 27565 */ {(13<<2)|2,{52,107,0}}, +/* 27566 */ {(13<<2)|2,{52,107,0}}, +/* 27567 */ {(13<<2)|2,{52,107,0}}, +/* 27568 */ {(13<<2)|2,{52,113,0}}, +/* 27569 */ {(13<<2)|2,{52,113,0}}, +/* 27570 */ {(13<<2)|2,{52,113,0}}, +/* 27571 */ {(13<<2)|2,{52,113,0}}, +/* 27572 */ {(13<<2)|2,{52,113,0}}, +/* 27573 */ {(13<<2)|2,{52,113,0}}, +/* 27574 */ {(13<<2)|2,{52,113,0}}, +/* 27575 */ {(13<<2)|2,{52,113,0}}, +/* 27576 */ {(13<<2)|2,{52,118,0}}, +/* 27577 */ {(13<<2)|2,{52,118,0}}, +/* 27578 */ {(13<<2)|2,{52,118,0}}, +/* 27579 */ {(13<<2)|2,{52,118,0}}, +/* 27580 */ {(13<<2)|2,{52,118,0}}, +/* 27581 */ {(13<<2)|2,{52,118,0}}, +/* 27582 */ {(13<<2)|2,{52,118,0}}, +/* 27583 */ {(13<<2)|2,{52,118,0}}, +/* 27584 */ {(13<<2)|2,{52,119,0}}, +/* 27585 */ {(13<<2)|2,{52,119,0}}, +/* 27586 */ {(13<<2)|2,{52,119,0}}, +/* 27587 */ {(13<<2)|2,{52,119,0}}, +/* 27588 */ {(13<<2)|2,{52,119,0}}, +/* 27589 */ {(13<<2)|2,{52,119,0}}, +/* 27590 */ {(13<<2)|2,{52,119,0}}, +/* 27591 */ {(13<<2)|2,{52,119,0}}, +/* 27592 */ {(13<<2)|2,{52,120,0}}, +/* 27593 */ {(13<<2)|2,{52,120,0}}, +/* 27594 */ {(13<<2)|2,{52,120,0}}, +/* 27595 */ {(13<<2)|2,{52,120,0}}, +/* 27596 */ {(13<<2)|2,{52,120,0}}, +/* 27597 */ {(13<<2)|2,{52,120,0}}, +/* 27598 */ {(13<<2)|2,{52,120,0}}, +/* 27599 */ {(13<<2)|2,{52,120,0}}, +/* 27600 */ {(13<<2)|2,{52,121,0}}, +/* 27601 */ {(13<<2)|2,{52,121,0}}, +/* 27602 */ {(13<<2)|2,{52,121,0}}, +/* 27603 */ {(13<<2)|2,{52,121,0}}, +/* 27604 */ {(13<<2)|2,{52,121,0}}, +/* 27605 */ {(13<<2)|2,{52,121,0}}, +/* 27606 */ {(13<<2)|2,{52,121,0}}, +/* 27607 */ {(13<<2)|2,{52,121,0}}, +/* 27608 */ {(13<<2)|2,{52,122,0}}, +/* 27609 */ {(13<<2)|2,{52,122,0}}, +/* 27610 */ {(13<<2)|2,{52,122,0}}, +/* 27611 */ {(13<<2)|2,{52,122,0}}, +/* 27612 */ {(13<<2)|2,{52,122,0}}, +/* 27613 */ {(13<<2)|2,{52,122,0}}, +/* 27614 */ {(13<<2)|2,{52,122,0}}, +/* 27615 */ {(13<<2)|2,{52,122,0}}, +/* 27616 */ {(14<<2)|2,{52,38,0}}, +/* 27617 */ {(14<<2)|2,{52,38,0}}, +/* 27618 */ {(14<<2)|2,{52,38,0}}, +/* 27619 */ {(14<<2)|2,{52,38,0}}, +/* 27620 */ {(14<<2)|2,{52,42,0}}, +/* 27621 */ {(14<<2)|2,{52,42,0}}, +/* 27622 */ {(14<<2)|2,{52,42,0}}, +/* 27623 */ {(14<<2)|2,{52,42,0}}, +/* 27624 */ {(14<<2)|2,{52,44,0}}, +/* 27625 */ {(14<<2)|2,{52,44,0}}, +/* 27626 */ {(14<<2)|2,{52,44,0}}, +/* 27627 */ {(14<<2)|2,{52,44,0}}, +/* 27628 */ {(14<<2)|2,{52,59,0}}, +/* 27629 */ {(14<<2)|2,{52,59,0}}, +/* 27630 */ {(14<<2)|2,{52,59,0}}, +/* 27631 */ {(14<<2)|2,{52,59,0}}, +/* 27632 */ {(14<<2)|2,{52,88,0}}, +/* 27633 */ {(14<<2)|2,{52,88,0}}, +/* 27634 */ {(14<<2)|2,{52,88,0}}, +/* 27635 */ {(14<<2)|2,{52,88,0}}, +/* 27636 */ {(14<<2)|2,{52,90,0}}, +/* 27637 */ {(14<<2)|2,{52,90,0}}, +/* 27638 */ {(14<<2)|2,{52,90,0}}, +/* 27639 */ {(14<<2)|2,{52,90,0}}, +/* 27640 */ {(16<<2)|2,{52,33,0}}, +/* 27641 */ {(16<<2)|2,{52,34,0}}, +/* 27642 */ {(16<<2)|2,{52,40,0}}, +/* 27643 */ {(16<<2)|2,{52,41,0}}, +/* 27644 */ {(16<<2)|2,{52,63,0}}, +/* 27645 */ {(6<<2)|1,{52,0,0}}, +/* 27646 */ {(6<<2)|1,{52,0,0}}, +/* 27647 */ {(6<<2)|1,{52,0,0}}, +/* 27648 */ {(16<<2)|3,{53,48,48}}, +/* 27649 */ {(16<<2)|3,{53,48,49}}, +/* 27650 */ {(16<<2)|3,{53,48,50}}, +/* 27651 */ {(16<<2)|3,{53,48,97}}, +/* 27652 */ {(16<<2)|3,{53,48,99}}, +/* 27653 */ {(16<<2)|3,{53,48,101}}, +/* 27654 */ {(16<<2)|3,{53,48,105}}, +/* 27655 */ {(16<<2)|3,{53,48,111}}, +/* 27656 */ {(16<<2)|3,{53,48,115}}, +/* 27657 */ {(16<<2)|3,{53,48,116}}, +/* 27658 */ {(11<<2)|2,{53,48,0}}, +/* 27659 */ {(11<<2)|2,{53,48,0}}, +/* 27660 */ {(11<<2)|2,{53,48,0}}, +/* 27661 */ {(11<<2)|2,{53,48,0}}, +/* 27662 */ {(11<<2)|2,{53,48,0}}, +/* 27663 */ {(11<<2)|2,{53,48,0}}, +/* 27664 */ {(11<<2)|2,{53,48,0}}, +/* 27665 */ {(11<<2)|2,{53,48,0}}, +/* 27666 */ {(11<<2)|2,{53,48,0}}, +/* 27667 */ {(11<<2)|2,{53,48,0}}, +/* 27668 */ {(11<<2)|2,{53,48,0}}, +/* 27669 */ {(11<<2)|2,{53,48,0}}, +/* 27670 */ {(11<<2)|2,{53,48,0}}, +/* 27671 */ {(11<<2)|2,{53,48,0}}, +/* 27672 */ {(11<<2)|2,{53,48,0}}, +/* 27673 */ {(11<<2)|2,{53,48,0}}, +/* 27674 */ {(11<<2)|2,{53,48,0}}, +/* 27675 */ {(11<<2)|2,{53,48,0}}, +/* 27676 */ {(11<<2)|2,{53,48,0}}, +/* 27677 */ {(11<<2)|2,{53,48,0}}, +/* 27678 */ {(11<<2)|2,{53,48,0}}, +/* 27679 */ {(11<<2)|2,{53,48,0}}, +/* 27680 */ {(16<<2)|3,{53,49,48}}, +/* 27681 */ {(16<<2)|3,{53,49,49}}, +/* 27682 */ {(16<<2)|3,{53,49,50}}, +/* 27683 */ {(16<<2)|3,{53,49,97}}, +/* 27684 */ {(16<<2)|3,{53,49,99}}, +/* 27685 */ {(16<<2)|3,{53,49,101}}, +/* 27686 */ {(16<<2)|3,{53,49,105}}, +/* 27687 */ {(16<<2)|3,{53,49,111}}, +/* 27688 */ {(16<<2)|3,{53,49,115}}, +/* 27689 */ {(16<<2)|3,{53,49,116}}, +/* 27690 */ {(11<<2)|2,{53,49,0}}, +/* 27691 */ {(11<<2)|2,{53,49,0}}, +/* 27692 */ {(11<<2)|2,{53,49,0}}, +/* 27693 */ {(11<<2)|2,{53,49,0}}, +/* 27694 */ {(11<<2)|2,{53,49,0}}, +/* 27695 */ {(11<<2)|2,{53,49,0}}, +/* 27696 */ {(11<<2)|2,{53,49,0}}, +/* 27697 */ {(11<<2)|2,{53,49,0}}, +/* 27698 */ {(11<<2)|2,{53,49,0}}, +/* 27699 */ {(11<<2)|2,{53,49,0}}, +/* 27700 */ {(11<<2)|2,{53,49,0}}, +/* 27701 */ {(11<<2)|2,{53,49,0}}, +/* 27702 */ {(11<<2)|2,{53,49,0}}, +/* 27703 */ {(11<<2)|2,{53,49,0}}, +/* 27704 */ {(11<<2)|2,{53,49,0}}, +/* 27705 */ {(11<<2)|2,{53,49,0}}, +/* 27706 */ {(11<<2)|2,{53,49,0}}, +/* 27707 */ {(11<<2)|2,{53,49,0}}, +/* 27708 */ {(11<<2)|2,{53,49,0}}, +/* 27709 */ {(11<<2)|2,{53,49,0}}, +/* 27710 */ {(11<<2)|2,{53,49,0}}, +/* 27711 */ {(11<<2)|2,{53,49,0}}, +/* 27712 */ {(16<<2)|3,{53,50,48}}, +/* 27713 */ {(16<<2)|3,{53,50,49}}, +/* 27714 */ {(16<<2)|3,{53,50,50}}, +/* 27715 */ {(16<<2)|3,{53,50,97}}, +/* 27716 */ {(16<<2)|3,{53,50,99}}, +/* 27717 */ {(16<<2)|3,{53,50,101}}, +/* 27718 */ {(16<<2)|3,{53,50,105}}, +/* 27719 */ {(16<<2)|3,{53,50,111}}, +/* 27720 */ {(16<<2)|3,{53,50,115}}, +/* 27721 */ {(16<<2)|3,{53,50,116}}, +/* 27722 */ {(11<<2)|2,{53,50,0}}, +/* 27723 */ {(11<<2)|2,{53,50,0}}, +/* 27724 */ {(11<<2)|2,{53,50,0}}, +/* 27725 */ {(11<<2)|2,{53,50,0}}, +/* 27726 */ {(11<<2)|2,{53,50,0}}, +/* 27727 */ {(11<<2)|2,{53,50,0}}, +/* 27728 */ {(11<<2)|2,{53,50,0}}, +/* 27729 */ {(11<<2)|2,{53,50,0}}, +/* 27730 */ {(11<<2)|2,{53,50,0}}, +/* 27731 */ {(11<<2)|2,{53,50,0}}, +/* 27732 */ {(11<<2)|2,{53,50,0}}, +/* 27733 */ {(11<<2)|2,{53,50,0}}, +/* 27734 */ {(11<<2)|2,{53,50,0}}, +/* 27735 */ {(11<<2)|2,{53,50,0}}, +/* 27736 */ {(11<<2)|2,{53,50,0}}, +/* 27737 */ {(11<<2)|2,{53,50,0}}, +/* 27738 */ {(11<<2)|2,{53,50,0}}, +/* 27739 */ {(11<<2)|2,{53,50,0}}, +/* 27740 */ {(11<<2)|2,{53,50,0}}, +/* 27741 */ {(11<<2)|2,{53,50,0}}, +/* 27742 */ {(11<<2)|2,{53,50,0}}, +/* 27743 */ {(11<<2)|2,{53,50,0}}, +/* 27744 */ {(16<<2)|3,{53,97,48}}, +/* 27745 */ {(16<<2)|3,{53,97,49}}, +/* 27746 */ {(16<<2)|3,{53,97,50}}, +/* 27747 */ {(16<<2)|3,{53,97,97}}, +/* 27748 */ {(16<<2)|3,{53,97,99}}, +/* 27749 */ {(16<<2)|3,{53,97,101}}, +/* 27750 */ {(16<<2)|3,{53,97,105}}, +/* 27751 */ {(16<<2)|3,{53,97,111}}, +/* 27752 */ {(16<<2)|3,{53,97,115}}, +/* 27753 */ {(16<<2)|3,{53,97,116}}, +/* 27754 */ {(11<<2)|2,{53,97,0}}, +/* 27755 */ {(11<<2)|2,{53,97,0}}, +/* 27756 */ {(11<<2)|2,{53,97,0}}, +/* 27757 */ {(11<<2)|2,{53,97,0}}, +/* 27758 */ {(11<<2)|2,{53,97,0}}, +/* 27759 */ {(11<<2)|2,{53,97,0}}, +/* 27760 */ {(11<<2)|2,{53,97,0}}, +/* 27761 */ {(11<<2)|2,{53,97,0}}, +/* 27762 */ {(11<<2)|2,{53,97,0}}, +/* 27763 */ {(11<<2)|2,{53,97,0}}, +/* 27764 */ {(11<<2)|2,{53,97,0}}, +/* 27765 */ {(11<<2)|2,{53,97,0}}, +/* 27766 */ {(11<<2)|2,{53,97,0}}, +/* 27767 */ {(11<<2)|2,{53,97,0}}, +/* 27768 */ {(11<<2)|2,{53,97,0}}, +/* 27769 */ {(11<<2)|2,{53,97,0}}, +/* 27770 */ {(11<<2)|2,{53,97,0}}, +/* 27771 */ {(11<<2)|2,{53,97,0}}, +/* 27772 */ {(11<<2)|2,{53,97,0}}, +/* 27773 */ {(11<<2)|2,{53,97,0}}, +/* 27774 */ {(11<<2)|2,{53,97,0}}, +/* 27775 */ {(11<<2)|2,{53,97,0}}, +/* 27776 */ {(16<<2)|3,{53,99,48}}, +/* 27777 */ {(16<<2)|3,{53,99,49}}, +/* 27778 */ {(16<<2)|3,{53,99,50}}, +/* 27779 */ {(16<<2)|3,{53,99,97}}, +/* 27780 */ {(16<<2)|3,{53,99,99}}, +/* 27781 */ {(16<<2)|3,{53,99,101}}, +/* 27782 */ {(16<<2)|3,{53,99,105}}, +/* 27783 */ {(16<<2)|3,{53,99,111}}, +/* 27784 */ {(16<<2)|3,{53,99,115}}, +/* 27785 */ {(16<<2)|3,{53,99,116}}, +/* 27786 */ {(11<<2)|2,{53,99,0}}, +/* 27787 */ {(11<<2)|2,{53,99,0}}, +/* 27788 */ {(11<<2)|2,{53,99,0}}, +/* 27789 */ {(11<<2)|2,{53,99,0}}, +/* 27790 */ {(11<<2)|2,{53,99,0}}, +/* 27791 */ {(11<<2)|2,{53,99,0}}, +/* 27792 */ {(11<<2)|2,{53,99,0}}, +/* 27793 */ {(11<<2)|2,{53,99,0}}, +/* 27794 */ {(11<<2)|2,{53,99,0}}, +/* 27795 */ {(11<<2)|2,{53,99,0}}, +/* 27796 */ {(11<<2)|2,{53,99,0}}, +/* 27797 */ {(11<<2)|2,{53,99,0}}, +/* 27798 */ {(11<<2)|2,{53,99,0}}, +/* 27799 */ {(11<<2)|2,{53,99,0}}, +/* 27800 */ {(11<<2)|2,{53,99,0}}, +/* 27801 */ {(11<<2)|2,{53,99,0}}, +/* 27802 */ {(11<<2)|2,{53,99,0}}, +/* 27803 */ {(11<<2)|2,{53,99,0}}, +/* 27804 */ {(11<<2)|2,{53,99,0}}, +/* 27805 */ {(11<<2)|2,{53,99,0}}, +/* 27806 */ {(11<<2)|2,{53,99,0}}, +/* 27807 */ {(11<<2)|2,{53,99,0}}, +/* 27808 */ {(16<<2)|3,{53,101,48}}, +/* 27809 */ {(16<<2)|3,{53,101,49}}, +/* 27810 */ {(16<<2)|3,{53,101,50}}, +/* 27811 */ {(16<<2)|3,{53,101,97}}, +/* 27812 */ {(16<<2)|3,{53,101,99}}, +/* 27813 */ {(16<<2)|3,{53,101,101}}, +/* 27814 */ {(16<<2)|3,{53,101,105}}, +/* 27815 */ {(16<<2)|3,{53,101,111}}, +/* 27816 */ {(16<<2)|3,{53,101,115}}, +/* 27817 */ {(16<<2)|3,{53,101,116}}, +/* 27818 */ {(11<<2)|2,{53,101,0}}, +/* 27819 */ {(11<<2)|2,{53,101,0}}, +/* 27820 */ {(11<<2)|2,{53,101,0}}, +/* 27821 */ {(11<<2)|2,{53,101,0}}, +/* 27822 */ {(11<<2)|2,{53,101,0}}, +/* 27823 */ {(11<<2)|2,{53,101,0}}, +/* 27824 */ {(11<<2)|2,{53,101,0}}, +/* 27825 */ {(11<<2)|2,{53,101,0}}, +/* 27826 */ {(11<<2)|2,{53,101,0}}, +/* 27827 */ {(11<<2)|2,{53,101,0}}, +/* 27828 */ {(11<<2)|2,{53,101,0}}, +/* 27829 */ {(11<<2)|2,{53,101,0}}, +/* 27830 */ {(11<<2)|2,{53,101,0}}, +/* 27831 */ {(11<<2)|2,{53,101,0}}, +/* 27832 */ {(11<<2)|2,{53,101,0}}, +/* 27833 */ {(11<<2)|2,{53,101,0}}, +/* 27834 */ {(11<<2)|2,{53,101,0}}, +/* 27835 */ {(11<<2)|2,{53,101,0}}, +/* 27836 */ {(11<<2)|2,{53,101,0}}, +/* 27837 */ {(11<<2)|2,{53,101,0}}, +/* 27838 */ {(11<<2)|2,{53,101,0}}, +/* 27839 */ {(11<<2)|2,{53,101,0}}, +/* 27840 */ {(16<<2)|3,{53,105,48}}, +/* 27841 */ {(16<<2)|3,{53,105,49}}, +/* 27842 */ {(16<<2)|3,{53,105,50}}, +/* 27843 */ {(16<<2)|3,{53,105,97}}, +/* 27844 */ {(16<<2)|3,{53,105,99}}, +/* 27845 */ {(16<<2)|3,{53,105,101}}, +/* 27846 */ {(16<<2)|3,{53,105,105}}, +/* 27847 */ {(16<<2)|3,{53,105,111}}, +/* 27848 */ {(16<<2)|3,{53,105,115}}, +/* 27849 */ {(16<<2)|3,{53,105,116}}, +/* 27850 */ {(11<<2)|2,{53,105,0}}, +/* 27851 */ {(11<<2)|2,{53,105,0}}, +/* 27852 */ {(11<<2)|2,{53,105,0}}, +/* 27853 */ {(11<<2)|2,{53,105,0}}, +/* 27854 */ {(11<<2)|2,{53,105,0}}, +/* 27855 */ {(11<<2)|2,{53,105,0}}, +/* 27856 */ {(11<<2)|2,{53,105,0}}, +/* 27857 */ {(11<<2)|2,{53,105,0}}, +/* 27858 */ {(11<<2)|2,{53,105,0}}, +/* 27859 */ {(11<<2)|2,{53,105,0}}, +/* 27860 */ {(11<<2)|2,{53,105,0}}, +/* 27861 */ {(11<<2)|2,{53,105,0}}, +/* 27862 */ {(11<<2)|2,{53,105,0}}, +/* 27863 */ {(11<<2)|2,{53,105,0}}, +/* 27864 */ {(11<<2)|2,{53,105,0}}, +/* 27865 */ {(11<<2)|2,{53,105,0}}, +/* 27866 */ {(11<<2)|2,{53,105,0}}, +/* 27867 */ {(11<<2)|2,{53,105,0}}, +/* 27868 */ {(11<<2)|2,{53,105,0}}, +/* 27869 */ {(11<<2)|2,{53,105,0}}, +/* 27870 */ {(11<<2)|2,{53,105,0}}, +/* 27871 */ {(11<<2)|2,{53,105,0}}, +/* 27872 */ {(16<<2)|3,{53,111,48}}, +/* 27873 */ {(16<<2)|3,{53,111,49}}, +/* 27874 */ {(16<<2)|3,{53,111,50}}, +/* 27875 */ {(16<<2)|3,{53,111,97}}, +/* 27876 */ {(16<<2)|3,{53,111,99}}, +/* 27877 */ {(16<<2)|3,{53,111,101}}, +/* 27878 */ {(16<<2)|3,{53,111,105}}, +/* 27879 */ {(16<<2)|3,{53,111,111}}, +/* 27880 */ {(16<<2)|3,{53,111,115}}, +/* 27881 */ {(16<<2)|3,{53,111,116}}, +/* 27882 */ {(11<<2)|2,{53,111,0}}, +/* 27883 */ {(11<<2)|2,{53,111,0}}, +/* 27884 */ {(11<<2)|2,{53,111,0}}, +/* 27885 */ {(11<<2)|2,{53,111,0}}, +/* 27886 */ {(11<<2)|2,{53,111,0}}, +/* 27887 */ {(11<<2)|2,{53,111,0}}, +/* 27888 */ {(11<<2)|2,{53,111,0}}, +/* 27889 */ {(11<<2)|2,{53,111,0}}, +/* 27890 */ {(11<<2)|2,{53,111,0}}, +/* 27891 */ {(11<<2)|2,{53,111,0}}, +/* 27892 */ {(11<<2)|2,{53,111,0}}, +/* 27893 */ {(11<<2)|2,{53,111,0}}, +/* 27894 */ {(11<<2)|2,{53,111,0}}, +/* 27895 */ {(11<<2)|2,{53,111,0}}, +/* 27896 */ {(11<<2)|2,{53,111,0}}, +/* 27897 */ {(11<<2)|2,{53,111,0}}, +/* 27898 */ {(11<<2)|2,{53,111,0}}, +/* 27899 */ {(11<<2)|2,{53,111,0}}, +/* 27900 */ {(11<<2)|2,{53,111,0}}, +/* 27901 */ {(11<<2)|2,{53,111,0}}, +/* 27902 */ {(11<<2)|2,{53,111,0}}, +/* 27903 */ {(11<<2)|2,{53,111,0}}, +/* 27904 */ {(16<<2)|3,{53,115,48}}, +/* 27905 */ {(16<<2)|3,{53,115,49}}, +/* 27906 */ {(16<<2)|3,{53,115,50}}, +/* 27907 */ {(16<<2)|3,{53,115,97}}, +/* 27908 */ {(16<<2)|3,{53,115,99}}, +/* 27909 */ {(16<<2)|3,{53,115,101}}, +/* 27910 */ {(16<<2)|3,{53,115,105}}, +/* 27911 */ {(16<<2)|3,{53,115,111}}, +/* 27912 */ {(16<<2)|3,{53,115,115}}, +/* 27913 */ {(16<<2)|3,{53,115,116}}, +/* 27914 */ {(11<<2)|2,{53,115,0}}, +/* 27915 */ {(11<<2)|2,{53,115,0}}, +/* 27916 */ {(11<<2)|2,{53,115,0}}, +/* 27917 */ {(11<<2)|2,{53,115,0}}, +/* 27918 */ {(11<<2)|2,{53,115,0}}, +/* 27919 */ {(11<<2)|2,{53,115,0}}, +/* 27920 */ {(11<<2)|2,{53,115,0}}, +/* 27921 */ {(11<<2)|2,{53,115,0}}, +/* 27922 */ {(11<<2)|2,{53,115,0}}, +/* 27923 */ {(11<<2)|2,{53,115,0}}, +/* 27924 */ {(11<<2)|2,{53,115,0}}, +/* 27925 */ {(11<<2)|2,{53,115,0}}, +/* 27926 */ {(11<<2)|2,{53,115,0}}, +/* 27927 */ {(11<<2)|2,{53,115,0}}, +/* 27928 */ {(11<<2)|2,{53,115,0}}, +/* 27929 */ {(11<<2)|2,{53,115,0}}, +/* 27930 */ {(11<<2)|2,{53,115,0}}, +/* 27931 */ {(11<<2)|2,{53,115,0}}, +/* 27932 */ {(11<<2)|2,{53,115,0}}, +/* 27933 */ {(11<<2)|2,{53,115,0}}, +/* 27934 */ {(11<<2)|2,{53,115,0}}, +/* 27935 */ {(11<<2)|2,{53,115,0}}, +/* 27936 */ {(16<<2)|3,{53,116,48}}, +/* 27937 */ {(16<<2)|3,{53,116,49}}, +/* 27938 */ {(16<<2)|3,{53,116,50}}, +/* 27939 */ {(16<<2)|3,{53,116,97}}, +/* 27940 */ {(16<<2)|3,{53,116,99}}, +/* 27941 */ {(16<<2)|3,{53,116,101}}, +/* 27942 */ {(16<<2)|3,{53,116,105}}, +/* 27943 */ {(16<<2)|3,{53,116,111}}, +/* 27944 */ {(16<<2)|3,{53,116,115}}, +/* 27945 */ {(16<<2)|3,{53,116,116}}, +/* 27946 */ {(11<<2)|2,{53,116,0}}, +/* 27947 */ {(11<<2)|2,{53,116,0}}, +/* 27948 */ {(11<<2)|2,{53,116,0}}, +/* 27949 */ {(11<<2)|2,{53,116,0}}, +/* 27950 */ {(11<<2)|2,{53,116,0}}, +/* 27951 */ {(11<<2)|2,{53,116,0}}, +/* 27952 */ {(11<<2)|2,{53,116,0}}, +/* 27953 */ {(11<<2)|2,{53,116,0}}, +/* 27954 */ {(11<<2)|2,{53,116,0}}, +/* 27955 */ {(11<<2)|2,{53,116,0}}, +/* 27956 */ {(11<<2)|2,{53,116,0}}, +/* 27957 */ {(11<<2)|2,{53,116,0}}, +/* 27958 */ {(11<<2)|2,{53,116,0}}, +/* 27959 */ {(11<<2)|2,{53,116,0}}, +/* 27960 */ {(11<<2)|2,{53,116,0}}, +/* 27961 */ {(11<<2)|2,{53,116,0}}, +/* 27962 */ {(11<<2)|2,{53,116,0}}, +/* 27963 */ {(11<<2)|2,{53,116,0}}, +/* 27964 */ {(11<<2)|2,{53,116,0}}, +/* 27965 */ {(11<<2)|2,{53,116,0}}, +/* 27966 */ {(11<<2)|2,{53,116,0}}, +/* 27967 */ {(11<<2)|2,{53,116,0}}, +/* 27968 */ {(12<<2)|2,{53,32,0}}, +/* 27969 */ {(12<<2)|2,{53,32,0}}, +/* 27970 */ {(12<<2)|2,{53,32,0}}, +/* 27971 */ {(12<<2)|2,{53,32,0}}, +/* 27972 */ {(12<<2)|2,{53,32,0}}, +/* 27973 */ {(12<<2)|2,{53,32,0}}, +/* 27974 */ {(12<<2)|2,{53,32,0}}, +/* 27975 */ {(12<<2)|2,{53,32,0}}, +/* 27976 */ {(12<<2)|2,{53,32,0}}, +/* 27977 */ {(12<<2)|2,{53,32,0}}, +/* 27978 */ {(12<<2)|2,{53,32,0}}, +/* 27979 */ {(12<<2)|2,{53,32,0}}, +/* 27980 */ {(12<<2)|2,{53,32,0}}, +/* 27981 */ {(12<<2)|2,{53,32,0}}, +/* 27982 */ {(12<<2)|2,{53,32,0}}, +/* 27983 */ {(12<<2)|2,{53,32,0}}, +/* 27984 */ {(12<<2)|2,{53,37,0}}, +/* 27985 */ {(12<<2)|2,{53,37,0}}, +/* 27986 */ {(12<<2)|2,{53,37,0}}, +/* 27987 */ {(12<<2)|2,{53,37,0}}, +/* 27988 */ {(12<<2)|2,{53,37,0}}, +/* 27989 */ {(12<<2)|2,{53,37,0}}, +/* 27990 */ {(12<<2)|2,{53,37,0}}, +/* 27991 */ {(12<<2)|2,{53,37,0}}, +/* 27992 */ {(12<<2)|2,{53,37,0}}, +/* 27993 */ {(12<<2)|2,{53,37,0}}, +/* 27994 */ {(12<<2)|2,{53,37,0}}, +/* 27995 */ {(12<<2)|2,{53,37,0}}, +/* 27996 */ {(12<<2)|2,{53,37,0}}, +/* 27997 */ {(12<<2)|2,{53,37,0}}, +/* 27998 */ {(12<<2)|2,{53,37,0}}, +/* 27999 */ {(12<<2)|2,{53,37,0}}, +/* 28000 */ {(12<<2)|2,{53,45,0}}, +/* 28001 */ {(12<<2)|2,{53,45,0}}, +/* 28002 */ {(12<<2)|2,{53,45,0}}, +/* 28003 */ {(12<<2)|2,{53,45,0}}, +/* 28004 */ {(12<<2)|2,{53,45,0}}, +/* 28005 */ {(12<<2)|2,{53,45,0}}, +/* 28006 */ {(12<<2)|2,{53,45,0}}, +/* 28007 */ {(12<<2)|2,{53,45,0}}, +/* 28008 */ {(12<<2)|2,{53,45,0}}, +/* 28009 */ {(12<<2)|2,{53,45,0}}, +/* 28010 */ {(12<<2)|2,{53,45,0}}, +/* 28011 */ {(12<<2)|2,{53,45,0}}, +/* 28012 */ {(12<<2)|2,{53,45,0}}, +/* 28013 */ {(12<<2)|2,{53,45,0}}, +/* 28014 */ {(12<<2)|2,{53,45,0}}, +/* 28015 */ {(12<<2)|2,{53,45,0}}, +/* 28016 */ {(12<<2)|2,{53,46,0}}, +/* 28017 */ {(12<<2)|2,{53,46,0}}, +/* 28018 */ {(12<<2)|2,{53,46,0}}, +/* 28019 */ {(12<<2)|2,{53,46,0}}, +/* 28020 */ {(12<<2)|2,{53,46,0}}, +/* 28021 */ {(12<<2)|2,{53,46,0}}, +/* 28022 */ {(12<<2)|2,{53,46,0}}, +/* 28023 */ {(12<<2)|2,{53,46,0}}, +/* 28024 */ {(12<<2)|2,{53,46,0}}, +/* 28025 */ {(12<<2)|2,{53,46,0}}, +/* 28026 */ {(12<<2)|2,{53,46,0}}, +/* 28027 */ {(12<<2)|2,{53,46,0}}, +/* 28028 */ {(12<<2)|2,{53,46,0}}, +/* 28029 */ {(12<<2)|2,{53,46,0}}, +/* 28030 */ {(12<<2)|2,{53,46,0}}, +/* 28031 */ {(12<<2)|2,{53,46,0}}, +/* 28032 */ {(12<<2)|2,{53,47,0}}, +/* 28033 */ {(12<<2)|2,{53,47,0}}, +/* 28034 */ {(12<<2)|2,{53,47,0}}, +/* 28035 */ {(12<<2)|2,{53,47,0}}, +/* 28036 */ {(12<<2)|2,{53,47,0}}, +/* 28037 */ {(12<<2)|2,{53,47,0}}, +/* 28038 */ {(12<<2)|2,{53,47,0}}, +/* 28039 */ {(12<<2)|2,{53,47,0}}, +/* 28040 */ {(12<<2)|2,{53,47,0}}, +/* 28041 */ {(12<<2)|2,{53,47,0}}, +/* 28042 */ {(12<<2)|2,{53,47,0}}, +/* 28043 */ {(12<<2)|2,{53,47,0}}, +/* 28044 */ {(12<<2)|2,{53,47,0}}, +/* 28045 */ {(12<<2)|2,{53,47,0}}, +/* 28046 */ {(12<<2)|2,{53,47,0}}, +/* 28047 */ {(12<<2)|2,{53,47,0}}, +/* 28048 */ {(12<<2)|2,{53,51,0}}, +/* 28049 */ {(12<<2)|2,{53,51,0}}, +/* 28050 */ {(12<<2)|2,{53,51,0}}, +/* 28051 */ {(12<<2)|2,{53,51,0}}, +/* 28052 */ {(12<<2)|2,{53,51,0}}, +/* 28053 */ {(12<<2)|2,{53,51,0}}, +/* 28054 */ {(12<<2)|2,{53,51,0}}, +/* 28055 */ {(12<<2)|2,{53,51,0}}, +/* 28056 */ {(12<<2)|2,{53,51,0}}, +/* 28057 */ {(12<<2)|2,{53,51,0}}, +/* 28058 */ {(12<<2)|2,{53,51,0}}, +/* 28059 */ {(12<<2)|2,{53,51,0}}, +/* 28060 */ {(12<<2)|2,{53,51,0}}, +/* 28061 */ {(12<<2)|2,{53,51,0}}, +/* 28062 */ {(12<<2)|2,{53,51,0}}, +/* 28063 */ {(12<<2)|2,{53,51,0}}, +/* 28064 */ {(12<<2)|2,{53,52,0}}, +/* 28065 */ {(12<<2)|2,{53,52,0}}, +/* 28066 */ {(12<<2)|2,{53,52,0}}, +/* 28067 */ {(12<<2)|2,{53,52,0}}, +/* 28068 */ {(12<<2)|2,{53,52,0}}, +/* 28069 */ {(12<<2)|2,{53,52,0}}, +/* 28070 */ {(12<<2)|2,{53,52,0}}, +/* 28071 */ {(12<<2)|2,{53,52,0}}, +/* 28072 */ {(12<<2)|2,{53,52,0}}, +/* 28073 */ {(12<<2)|2,{53,52,0}}, +/* 28074 */ {(12<<2)|2,{53,52,0}}, +/* 28075 */ {(12<<2)|2,{53,52,0}}, +/* 28076 */ {(12<<2)|2,{53,52,0}}, +/* 28077 */ {(12<<2)|2,{53,52,0}}, +/* 28078 */ {(12<<2)|2,{53,52,0}}, +/* 28079 */ {(12<<2)|2,{53,52,0}}, +/* 28080 */ {(12<<2)|2,{53,53,0}}, +/* 28081 */ {(12<<2)|2,{53,53,0}}, +/* 28082 */ {(12<<2)|2,{53,53,0}}, +/* 28083 */ {(12<<2)|2,{53,53,0}}, +/* 28084 */ {(12<<2)|2,{53,53,0}}, +/* 28085 */ {(12<<2)|2,{53,53,0}}, +/* 28086 */ {(12<<2)|2,{53,53,0}}, +/* 28087 */ {(12<<2)|2,{53,53,0}}, +/* 28088 */ {(12<<2)|2,{53,53,0}}, +/* 28089 */ {(12<<2)|2,{53,53,0}}, +/* 28090 */ {(12<<2)|2,{53,53,0}}, +/* 28091 */ {(12<<2)|2,{53,53,0}}, +/* 28092 */ {(12<<2)|2,{53,53,0}}, +/* 28093 */ {(12<<2)|2,{53,53,0}}, +/* 28094 */ {(12<<2)|2,{53,53,0}}, +/* 28095 */ {(12<<2)|2,{53,53,0}}, +/* 28096 */ {(12<<2)|2,{53,54,0}}, +/* 28097 */ {(12<<2)|2,{53,54,0}}, +/* 28098 */ {(12<<2)|2,{53,54,0}}, +/* 28099 */ {(12<<2)|2,{53,54,0}}, +/* 28100 */ {(12<<2)|2,{53,54,0}}, +/* 28101 */ {(12<<2)|2,{53,54,0}}, +/* 28102 */ {(12<<2)|2,{53,54,0}}, +/* 28103 */ {(12<<2)|2,{53,54,0}}, +/* 28104 */ {(12<<2)|2,{53,54,0}}, +/* 28105 */ {(12<<2)|2,{53,54,0}}, +/* 28106 */ {(12<<2)|2,{53,54,0}}, +/* 28107 */ {(12<<2)|2,{53,54,0}}, +/* 28108 */ {(12<<2)|2,{53,54,0}}, +/* 28109 */ {(12<<2)|2,{53,54,0}}, +/* 28110 */ {(12<<2)|2,{53,54,0}}, +/* 28111 */ {(12<<2)|2,{53,54,0}}, +/* 28112 */ {(12<<2)|2,{53,55,0}}, +/* 28113 */ {(12<<2)|2,{53,55,0}}, +/* 28114 */ {(12<<2)|2,{53,55,0}}, +/* 28115 */ {(12<<2)|2,{53,55,0}}, +/* 28116 */ {(12<<2)|2,{53,55,0}}, +/* 28117 */ {(12<<2)|2,{53,55,0}}, +/* 28118 */ {(12<<2)|2,{53,55,0}}, +/* 28119 */ {(12<<2)|2,{53,55,0}}, +/* 28120 */ {(12<<2)|2,{53,55,0}}, +/* 28121 */ {(12<<2)|2,{53,55,0}}, +/* 28122 */ {(12<<2)|2,{53,55,0}}, +/* 28123 */ {(12<<2)|2,{53,55,0}}, +/* 28124 */ {(12<<2)|2,{53,55,0}}, +/* 28125 */ {(12<<2)|2,{53,55,0}}, +/* 28126 */ {(12<<2)|2,{53,55,0}}, +/* 28127 */ {(12<<2)|2,{53,55,0}}, +/* 28128 */ {(12<<2)|2,{53,56,0}}, +/* 28129 */ {(12<<2)|2,{53,56,0}}, +/* 28130 */ {(12<<2)|2,{53,56,0}}, +/* 28131 */ {(12<<2)|2,{53,56,0}}, +/* 28132 */ {(12<<2)|2,{53,56,0}}, +/* 28133 */ {(12<<2)|2,{53,56,0}}, +/* 28134 */ {(12<<2)|2,{53,56,0}}, +/* 28135 */ {(12<<2)|2,{53,56,0}}, +/* 28136 */ {(12<<2)|2,{53,56,0}}, +/* 28137 */ {(12<<2)|2,{53,56,0}}, +/* 28138 */ {(12<<2)|2,{53,56,0}}, +/* 28139 */ {(12<<2)|2,{53,56,0}}, +/* 28140 */ {(12<<2)|2,{53,56,0}}, +/* 28141 */ {(12<<2)|2,{53,56,0}}, +/* 28142 */ {(12<<2)|2,{53,56,0}}, +/* 28143 */ {(12<<2)|2,{53,56,0}}, +/* 28144 */ {(12<<2)|2,{53,57,0}}, +/* 28145 */ {(12<<2)|2,{53,57,0}}, +/* 28146 */ {(12<<2)|2,{53,57,0}}, +/* 28147 */ {(12<<2)|2,{53,57,0}}, +/* 28148 */ {(12<<2)|2,{53,57,0}}, +/* 28149 */ {(12<<2)|2,{53,57,0}}, +/* 28150 */ {(12<<2)|2,{53,57,0}}, +/* 28151 */ {(12<<2)|2,{53,57,0}}, +/* 28152 */ {(12<<2)|2,{53,57,0}}, +/* 28153 */ {(12<<2)|2,{53,57,0}}, +/* 28154 */ {(12<<2)|2,{53,57,0}}, +/* 28155 */ {(12<<2)|2,{53,57,0}}, +/* 28156 */ {(12<<2)|2,{53,57,0}}, +/* 28157 */ {(12<<2)|2,{53,57,0}}, +/* 28158 */ {(12<<2)|2,{53,57,0}}, +/* 28159 */ {(12<<2)|2,{53,57,0}}, +/* 28160 */ {(12<<2)|2,{53,61,0}}, +/* 28161 */ {(12<<2)|2,{53,61,0}}, +/* 28162 */ {(12<<2)|2,{53,61,0}}, +/* 28163 */ {(12<<2)|2,{53,61,0}}, +/* 28164 */ {(12<<2)|2,{53,61,0}}, +/* 28165 */ {(12<<2)|2,{53,61,0}}, +/* 28166 */ {(12<<2)|2,{53,61,0}}, +/* 28167 */ {(12<<2)|2,{53,61,0}}, +/* 28168 */ {(12<<2)|2,{53,61,0}}, +/* 28169 */ {(12<<2)|2,{53,61,0}}, +/* 28170 */ {(12<<2)|2,{53,61,0}}, +/* 28171 */ {(12<<2)|2,{53,61,0}}, +/* 28172 */ {(12<<2)|2,{53,61,0}}, +/* 28173 */ {(12<<2)|2,{53,61,0}}, +/* 28174 */ {(12<<2)|2,{53,61,0}}, +/* 28175 */ {(12<<2)|2,{53,61,0}}, +/* 28176 */ {(12<<2)|2,{53,65,0}}, +/* 28177 */ {(12<<2)|2,{53,65,0}}, +/* 28178 */ {(12<<2)|2,{53,65,0}}, +/* 28179 */ {(12<<2)|2,{53,65,0}}, +/* 28180 */ {(12<<2)|2,{53,65,0}}, +/* 28181 */ {(12<<2)|2,{53,65,0}}, +/* 28182 */ {(12<<2)|2,{53,65,0}}, +/* 28183 */ {(12<<2)|2,{53,65,0}}, +/* 28184 */ {(12<<2)|2,{53,65,0}}, +/* 28185 */ {(12<<2)|2,{53,65,0}}, +/* 28186 */ {(12<<2)|2,{53,65,0}}, +/* 28187 */ {(12<<2)|2,{53,65,0}}, +/* 28188 */ {(12<<2)|2,{53,65,0}}, +/* 28189 */ {(12<<2)|2,{53,65,0}}, +/* 28190 */ {(12<<2)|2,{53,65,0}}, +/* 28191 */ {(12<<2)|2,{53,65,0}}, +/* 28192 */ {(12<<2)|2,{53,95,0}}, +/* 28193 */ {(12<<2)|2,{53,95,0}}, +/* 28194 */ {(12<<2)|2,{53,95,0}}, +/* 28195 */ {(12<<2)|2,{53,95,0}}, +/* 28196 */ {(12<<2)|2,{53,95,0}}, +/* 28197 */ {(12<<2)|2,{53,95,0}}, +/* 28198 */ {(12<<2)|2,{53,95,0}}, +/* 28199 */ {(12<<2)|2,{53,95,0}}, +/* 28200 */ {(12<<2)|2,{53,95,0}}, +/* 28201 */ {(12<<2)|2,{53,95,0}}, +/* 28202 */ {(12<<2)|2,{53,95,0}}, +/* 28203 */ {(12<<2)|2,{53,95,0}}, +/* 28204 */ {(12<<2)|2,{53,95,0}}, +/* 28205 */ {(12<<2)|2,{53,95,0}}, +/* 28206 */ {(12<<2)|2,{53,95,0}}, +/* 28207 */ {(12<<2)|2,{53,95,0}}, +/* 28208 */ {(12<<2)|2,{53,98,0}}, +/* 28209 */ {(12<<2)|2,{53,98,0}}, +/* 28210 */ {(12<<2)|2,{53,98,0}}, +/* 28211 */ {(12<<2)|2,{53,98,0}}, +/* 28212 */ {(12<<2)|2,{53,98,0}}, +/* 28213 */ {(12<<2)|2,{53,98,0}}, +/* 28214 */ {(12<<2)|2,{53,98,0}}, +/* 28215 */ {(12<<2)|2,{53,98,0}}, +/* 28216 */ {(12<<2)|2,{53,98,0}}, +/* 28217 */ {(12<<2)|2,{53,98,0}}, +/* 28218 */ {(12<<2)|2,{53,98,0}}, +/* 28219 */ {(12<<2)|2,{53,98,0}}, +/* 28220 */ {(12<<2)|2,{53,98,0}}, +/* 28221 */ {(12<<2)|2,{53,98,0}}, +/* 28222 */ {(12<<2)|2,{53,98,0}}, +/* 28223 */ {(12<<2)|2,{53,98,0}}, +/* 28224 */ {(12<<2)|2,{53,100,0}}, +/* 28225 */ {(12<<2)|2,{53,100,0}}, +/* 28226 */ {(12<<2)|2,{53,100,0}}, +/* 28227 */ {(12<<2)|2,{53,100,0}}, +/* 28228 */ {(12<<2)|2,{53,100,0}}, +/* 28229 */ {(12<<2)|2,{53,100,0}}, +/* 28230 */ {(12<<2)|2,{53,100,0}}, +/* 28231 */ {(12<<2)|2,{53,100,0}}, +/* 28232 */ {(12<<2)|2,{53,100,0}}, +/* 28233 */ {(12<<2)|2,{53,100,0}}, +/* 28234 */ {(12<<2)|2,{53,100,0}}, +/* 28235 */ {(12<<2)|2,{53,100,0}}, +/* 28236 */ {(12<<2)|2,{53,100,0}}, +/* 28237 */ {(12<<2)|2,{53,100,0}}, +/* 28238 */ {(12<<2)|2,{53,100,0}}, +/* 28239 */ {(12<<2)|2,{53,100,0}}, +/* 28240 */ {(12<<2)|2,{53,102,0}}, +/* 28241 */ {(12<<2)|2,{53,102,0}}, +/* 28242 */ {(12<<2)|2,{53,102,0}}, +/* 28243 */ {(12<<2)|2,{53,102,0}}, +/* 28244 */ {(12<<2)|2,{53,102,0}}, +/* 28245 */ {(12<<2)|2,{53,102,0}}, +/* 28246 */ {(12<<2)|2,{53,102,0}}, +/* 28247 */ {(12<<2)|2,{53,102,0}}, +/* 28248 */ {(12<<2)|2,{53,102,0}}, +/* 28249 */ {(12<<2)|2,{53,102,0}}, +/* 28250 */ {(12<<2)|2,{53,102,0}}, +/* 28251 */ {(12<<2)|2,{53,102,0}}, +/* 28252 */ {(12<<2)|2,{53,102,0}}, +/* 28253 */ {(12<<2)|2,{53,102,0}}, +/* 28254 */ {(12<<2)|2,{53,102,0}}, +/* 28255 */ {(12<<2)|2,{53,102,0}}, +/* 28256 */ {(12<<2)|2,{53,103,0}}, +/* 28257 */ {(12<<2)|2,{53,103,0}}, +/* 28258 */ {(12<<2)|2,{53,103,0}}, +/* 28259 */ {(12<<2)|2,{53,103,0}}, +/* 28260 */ {(12<<2)|2,{53,103,0}}, +/* 28261 */ {(12<<2)|2,{53,103,0}}, +/* 28262 */ {(12<<2)|2,{53,103,0}}, +/* 28263 */ {(12<<2)|2,{53,103,0}}, +/* 28264 */ {(12<<2)|2,{53,103,0}}, +/* 28265 */ {(12<<2)|2,{53,103,0}}, +/* 28266 */ {(12<<2)|2,{53,103,0}}, +/* 28267 */ {(12<<2)|2,{53,103,0}}, +/* 28268 */ {(12<<2)|2,{53,103,0}}, +/* 28269 */ {(12<<2)|2,{53,103,0}}, +/* 28270 */ {(12<<2)|2,{53,103,0}}, +/* 28271 */ {(12<<2)|2,{53,103,0}}, +/* 28272 */ {(12<<2)|2,{53,104,0}}, +/* 28273 */ {(12<<2)|2,{53,104,0}}, +/* 28274 */ {(12<<2)|2,{53,104,0}}, +/* 28275 */ {(12<<2)|2,{53,104,0}}, +/* 28276 */ {(12<<2)|2,{53,104,0}}, +/* 28277 */ {(12<<2)|2,{53,104,0}}, +/* 28278 */ {(12<<2)|2,{53,104,0}}, +/* 28279 */ {(12<<2)|2,{53,104,0}}, +/* 28280 */ {(12<<2)|2,{53,104,0}}, +/* 28281 */ {(12<<2)|2,{53,104,0}}, +/* 28282 */ {(12<<2)|2,{53,104,0}}, +/* 28283 */ {(12<<2)|2,{53,104,0}}, +/* 28284 */ {(12<<2)|2,{53,104,0}}, +/* 28285 */ {(12<<2)|2,{53,104,0}}, +/* 28286 */ {(12<<2)|2,{53,104,0}}, +/* 28287 */ {(12<<2)|2,{53,104,0}}, +/* 28288 */ {(12<<2)|2,{53,108,0}}, +/* 28289 */ {(12<<2)|2,{53,108,0}}, +/* 28290 */ {(12<<2)|2,{53,108,0}}, +/* 28291 */ {(12<<2)|2,{53,108,0}}, +/* 28292 */ {(12<<2)|2,{53,108,0}}, +/* 28293 */ {(12<<2)|2,{53,108,0}}, +/* 28294 */ {(12<<2)|2,{53,108,0}}, +/* 28295 */ {(12<<2)|2,{53,108,0}}, +/* 28296 */ {(12<<2)|2,{53,108,0}}, +/* 28297 */ {(12<<2)|2,{53,108,0}}, +/* 28298 */ {(12<<2)|2,{53,108,0}}, +/* 28299 */ {(12<<2)|2,{53,108,0}}, +/* 28300 */ {(12<<2)|2,{53,108,0}}, +/* 28301 */ {(12<<2)|2,{53,108,0}}, +/* 28302 */ {(12<<2)|2,{53,108,0}}, +/* 28303 */ {(12<<2)|2,{53,108,0}}, +/* 28304 */ {(12<<2)|2,{53,109,0}}, +/* 28305 */ {(12<<2)|2,{53,109,0}}, +/* 28306 */ {(12<<2)|2,{53,109,0}}, +/* 28307 */ {(12<<2)|2,{53,109,0}}, +/* 28308 */ {(12<<2)|2,{53,109,0}}, +/* 28309 */ {(12<<2)|2,{53,109,0}}, +/* 28310 */ {(12<<2)|2,{53,109,0}}, +/* 28311 */ {(12<<2)|2,{53,109,0}}, +/* 28312 */ {(12<<2)|2,{53,109,0}}, +/* 28313 */ {(12<<2)|2,{53,109,0}}, +/* 28314 */ {(12<<2)|2,{53,109,0}}, +/* 28315 */ {(12<<2)|2,{53,109,0}}, +/* 28316 */ {(12<<2)|2,{53,109,0}}, +/* 28317 */ {(12<<2)|2,{53,109,0}}, +/* 28318 */ {(12<<2)|2,{53,109,0}}, +/* 28319 */ {(12<<2)|2,{53,109,0}}, +/* 28320 */ {(12<<2)|2,{53,110,0}}, +/* 28321 */ {(12<<2)|2,{53,110,0}}, +/* 28322 */ {(12<<2)|2,{53,110,0}}, +/* 28323 */ {(12<<2)|2,{53,110,0}}, +/* 28324 */ {(12<<2)|2,{53,110,0}}, +/* 28325 */ {(12<<2)|2,{53,110,0}}, +/* 28326 */ {(12<<2)|2,{53,110,0}}, +/* 28327 */ {(12<<2)|2,{53,110,0}}, +/* 28328 */ {(12<<2)|2,{53,110,0}}, +/* 28329 */ {(12<<2)|2,{53,110,0}}, +/* 28330 */ {(12<<2)|2,{53,110,0}}, +/* 28331 */ {(12<<2)|2,{53,110,0}}, +/* 28332 */ {(12<<2)|2,{53,110,0}}, +/* 28333 */ {(12<<2)|2,{53,110,0}}, +/* 28334 */ {(12<<2)|2,{53,110,0}}, +/* 28335 */ {(12<<2)|2,{53,110,0}}, +/* 28336 */ {(12<<2)|2,{53,112,0}}, +/* 28337 */ {(12<<2)|2,{53,112,0}}, +/* 28338 */ {(12<<2)|2,{53,112,0}}, +/* 28339 */ {(12<<2)|2,{53,112,0}}, +/* 28340 */ {(12<<2)|2,{53,112,0}}, +/* 28341 */ {(12<<2)|2,{53,112,0}}, +/* 28342 */ {(12<<2)|2,{53,112,0}}, +/* 28343 */ {(12<<2)|2,{53,112,0}}, +/* 28344 */ {(12<<2)|2,{53,112,0}}, +/* 28345 */ {(12<<2)|2,{53,112,0}}, +/* 28346 */ {(12<<2)|2,{53,112,0}}, +/* 28347 */ {(12<<2)|2,{53,112,0}}, +/* 28348 */ {(12<<2)|2,{53,112,0}}, +/* 28349 */ {(12<<2)|2,{53,112,0}}, +/* 28350 */ {(12<<2)|2,{53,112,0}}, +/* 28351 */ {(12<<2)|2,{53,112,0}}, +/* 28352 */ {(12<<2)|2,{53,114,0}}, +/* 28353 */ {(12<<2)|2,{53,114,0}}, +/* 28354 */ {(12<<2)|2,{53,114,0}}, +/* 28355 */ {(12<<2)|2,{53,114,0}}, +/* 28356 */ {(12<<2)|2,{53,114,0}}, +/* 28357 */ {(12<<2)|2,{53,114,0}}, +/* 28358 */ {(12<<2)|2,{53,114,0}}, +/* 28359 */ {(12<<2)|2,{53,114,0}}, +/* 28360 */ {(12<<2)|2,{53,114,0}}, +/* 28361 */ {(12<<2)|2,{53,114,0}}, +/* 28362 */ {(12<<2)|2,{53,114,0}}, +/* 28363 */ {(12<<2)|2,{53,114,0}}, +/* 28364 */ {(12<<2)|2,{53,114,0}}, +/* 28365 */ {(12<<2)|2,{53,114,0}}, +/* 28366 */ {(12<<2)|2,{53,114,0}}, +/* 28367 */ {(12<<2)|2,{53,114,0}}, +/* 28368 */ {(12<<2)|2,{53,117,0}}, +/* 28369 */ {(12<<2)|2,{53,117,0}}, +/* 28370 */ {(12<<2)|2,{53,117,0}}, +/* 28371 */ {(12<<2)|2,{53,117,0}}, +/* 28372 */ {(12<<2)|2,{53,117,0}}, +/* 28373 */ {(12<<2)|2,{53,117,0}}, +/* 28374 */ {(12<<2)|2,{53,117,0}}, +/* 28375 */ {(12<<2)|2,{53,117,0}}, +/* 28376 */ {(12<<2)|2,{53,117,0}}, +/* 28377 */ {(12<<2)|2,{53,117,0}}, +/* 28378 */ {(12<<2)|2,{53,117,0}}, +/* 28379 */ {(12<<2)|2,{53,117,0}}, +/* 28380 */ {(12<<2)|2,{53,117,0}}, +/* 28381 */ {(12<<2)|2,{53,117,0}}, +/* 28382 */ {(12<<2)|2,{53,117,0}}, +/* 28383 */ {(12<<2)|2,{53,117,0}}, +/* 28384 */ {(13<<2)|2,{53,58,0}}, +/* 28385 */ {(13<<2)|2,{53,58,0}}, +/* 28386 */ {(13<<2)|2,{53,58,0}}, +/* 28387 */ {(13<<2)|2,{53,58,0}}, +/* 28388 */ {(13<<2)|2,{53,58,0}}, +/* 28389 */ {(13<<2)|2,{53,58,0}}, +/* 28390 */ {(13<<2)|2,{53,58,0}}, +/* 28391 */ {(13<<2)|2,{53,58,0}}, +/* 28392 */ {(13<<2)|2,{53,66,0}}, +/* 28393 */ {(13<<2)|2,{53,66,0}}, +/* 28394 */ {(13<<2)|2,{53,66,0}}, +/* 28395 */ {(13<<2)|2,{53,66,0}}, +/* 28396 */ {(13<<2)|2,{53,66,0}}, +/* 28397 */ {(13<<2)|2,{53,66,0}}, +/* 28398 */ {(13<<2)|2,{53,66,0}}, +/* 28399 */ {(13<<2)|2,{53,66,0}}, +/* 28400 */ {(13<<2)|2,{53,67,0}}, +/* 28401 */ {(13<<2)|2,{53,67,0}}, +/* 28402 */ {(13<<2)|2,{53,67,0}}, +/* 28403 */ {(13<<2)|2,{53,67,0}}, +/* 28404 */ {(13<<2)|2,{53,67,0}}, +/* 28405 */ {(13<<2)|2,{53,67,0}}, +/* 28406 */ {(13<<2)|2,{53,67,0}}, +/* 28407 */ {(13<<2)|2,{53,67,0}}, +/* 28408 */ {(13<<2)|2,{53,68,0}}, +/* 28409 */ {(13<<2)|2,{53,68,0}}, +/* 28410 */ {(13<<2)|2,{53,68,0}}, +/* 28411 */ {(13<<2)|2,{53,68,0}}, +/* 28412 */ {(13<<2)|2,{53,68,0}}, +/* 28413 */ {(13<<2)|2,{53,68,0}}, +/* 28414 */ {(13<<2)|2,{53,68,0}}, +/* 28415 */ {(13<<2)|2,{53,68,0}}, +/* 28416 */ {(13<<2)|2,{53,69,0}}, +/* 28417 */ {(13<<2)|2,{53,69,0}}, +/* 28418 */ {(13<<2)|2,{53,69,0}}, +/* 28419 */ {(13<<2)|2,{53,69,0}}, +/* 28420 */ {(13<<2)|2,{53,69,0}}, +/* 28421 */ {(13<<2)|2,{53,69,0}}, +/* 28422 */ {(13<<2)|2,{53,69,0}}, +/* 28423 */ {(13<<2)|2,{53,69,0}}, +/* 28424 */ {(13<<2)|2,{53,70,0}}, +/* 28425 */ {(13<<2)|2,{53,70,0}}, +/* 28426 */ {(13<<2)|2,{53,70,0}}, +/* 28427 */ {(13<<2)|2,{53,70,0}}, +/* 28428 */ {(13<<2)|2,{53,70,0}}, +/* 28429 */ {(13<<2)|2,{53,70,0}}, +/* 28430 */ {(13<<2)|2,{53,70,0}}, +/* 28431 */ {(13<<2)|2,{53,70,0}}, +/* 28432 */ {(13<<2)|2,{53,71,0}}, +/* 28433 */ {(13<<2)|2,{53,71,0}}, +/* 28434 */ {(13<<2)|2,{53,71,0}}, +/* 28435 */ {(13<<2)|2,{53,71,0}}, +/* 28436 */ {(13<<2)|2,{53,71,0}}, +/* 28437 */ {(13<<2)|2,{53,71,0}}, +/* 28438 */ {(13<<2)|2,{53,71,0}}, +/* 28439 */ {(13<<2)|2,{53,71,0}}, +/* 28440 */ {(13<<2)|2,{53,72,0}}, +/* 28441 */ {(13<<2)|2,{53,72,0}}, +/* 28442 */ {(13<<2)|2,{53,72,0}}, +/* 28443 */ {(13<<2)|2,{53,72,0}}, +/* 28444 */ {(13<<2)|2,{53,72,0}}, +/* 28445 */ {(13<<2)|2,{53,72,0}}, +/* 28446 */ {(13<<2)|2,{53,72,0}}, +/* 28447 */ {(13<<2)|2,{53,72,0}}, +/* 28448 */ {(13<<2)|2,{53,73,0}}, +/* 28449 */ {(13<<2)|2,{53,73,0}}, +/* 28450 */ {(13<<2)|2,{53,73,0}}, +/* 28451 */ {(13<<2)|2,{53,73,0}}, +/* 28452 */ {(13<<2)|2,{53,73,0}}, +/* 28453 */ {(13<<2)|2,{53,73,0}}, +/* 28454 */ {(13<<2)|2,{53,73,0}}, +/* 28455 */ {(13<<2)|2,{53,73,0}}, +/* 28456 */ {(13<<2)|2,{53,74,0}}, +/* 28457 */ {(13<<2)|2,{53,74,0}}, +/* 28458 */ {(13<<2)|2,{53,74,0}}, +/* 28459 */ {(13<<2)|2,{53,74,0}}, +/* 28460 */ {(13<<2)|2,{53,74,0}}, +/* 28461 */ {(13<<2)|2,{53,74,0}}, +/* 28462 */ {(13<<2)|2,{53,74,0}}, +/* 28463 */ {(13<<2)|2,{53,74,0}}, +/* 28464 */ {(13<<2)|2,{53,75,0}}, +/* 28465 */ {(13<<2)|2,{53,75,0}}, +/* 28466 */ {(13<<2)|2,{53,75,0}}, +/* 28467 */ {(13<<2)|2,{53,75,0}}, +/* 28468 */ {(13<<2)|2,{53,75,0}}, +/* 28469 */ {(13<<2)|2,{53,75,0}}, +/* 28470 */ {(13<<2)|2,{53,75,0}}, +/* 28471 */ {(13<<2)|2,{53,75,0}}, +/* 28472 */ {(13<<2)|2,{53,76,0}}, +/* 28473 */ {(13<<2)|2,{53,76,0}}, +/* 28474 */ {(13<<2)|2,{53,76,0}}, +/* 28475 */ {(13<<2)|2,{53,76,0}}, +/* 28476 */ {(13<<2)|2,{53,76,0}}, +/* 28477 */ {(13<<2)|2,{53,76,0}}, +/* 28478 */ {(13<<2)|2,{53,76,0}}, +/* 28479 */ {(13<<2)|2,{53,76,0}}, +/* 28480 */ {(13<<2)|2,{53,77,0}}, +/* 28481 */ {(13<<2)|2,{53,77,0}}, +/* 28482 */ {(13<<2)|2,{53,77,0}}, +/* 28483 */ {(13<<2)|2,{53,77,0}}, +/* 28484 */ {(13<<2)|2,{53,77,0}}, +/* 28485 */ {(13<<2)|2,{53,77,0}}, +/* 28486 */ {(13<<2)|2,{53,77,0}}, +/* 28487 */ {(13<<2)|2,{53,77,0}}, +/* 28488 */ {(13<<2)|2,{53,78,0}}, +/* 28489 */ {(13<<2)|2,{53,78,0}}, +/* 28490 */ {(13<<2)|2,{53,78,0}}, +/* 28491 */ {(13<<2)|2,{53,78,0}}, +/* 28492 */ {(13<<2)|2,{53,78,0}}, +/* 28493 */ {(13<<2)|2,{53,78,0}}, +/* 28494 */ {(13<<2)|2,{53,78,0}}, +/* 28495 */ {(13<<2)|2,{53,78,0}}, +/* 28496 */ {(13<<2)|2,{53,79,0}}, +/* 28497 */ {(13<<2)|2,{53,79,0}}, +/* 28498 */ {(13<<2)|2,{53,79,0}}, +/* 28499 */ {(13<<2)|2,{53,79,0}}, +/* 28500 */ {(13<<2)|2,{53,79,0}}, +/* 28501 */ {(13<<2)|2,{53,79,0}}, +/* 28502 */ {(13<<2)|2,{53,79,0}}, +/* 28503 */ {(13<<2)|2,{53,79,0}}, +/* 28504 */ {(13<<2)|2,{53,80,0}}, +/* 28505 */ {(13<<2)|2,{53,80,0}}, +/* 28506 */ {(13<<2)|2,{53,80,0}}, +/* 28507 */ {(13<<2)|2,{53,80,0}}, +/* 28508 */ {(13<<2)|2,{53,80,0}}, +/* 28509 */ {(13<<2)|2,{53,80,0}}, +/* 28510 */ {(13<<2)|2,{53,80,0}}, +/* 28511 */ {(13<<2)|2,{53,80,0}}, +/* 28512 */ {(13<<2)|2,{53,81,0}}, +/* 28513 */ {(13<<2)|2,{53,81,0}}, +/* 28514 */ {(13<<2)|2,{53,81,0}}, +/* 28515 */ {(13<<2)|2,{53,81,0}}, +/* 28516 */ {(13<<2)|2,{53,81,0}}, +/* 28517 */ {(13<<2)|2,{53,81,0}}, +/* 28518 */ {(13<<2)|2,{53,81,0}}, +/* 28519 */ {(13<<2)|2,{53,81,0}}, +/* 28520 */ {(13<<2)|2,{53,82,0}}, +/* 28521 */ {(13<<2)|2,{53,82,0}}, +/* 28522 */ {(13<<2)|2,{53,82,0}}, +/* 28523 */ {(13<<2)|2,{53,82,0}}, +/* 28524 */ {(13<<2)|2,{53,82,0}}, +/* 28525 */ {(13<<2)|2,{53,82,0}}, +/* 28526 */ {(13<<2)|2,{53,82,0}}, +/* 28527 */ {(13<<2)|2,{53,82,0}}, +/* 28528 */ {(13<<2)|2,{53,83,0}}, +/* 28529 */ {(13<<2)|2,{53,83,0}}, +/* 28530 */ {(13<<2)|2,{53,83,0}}, +/* 28531 */ {(13<<2)|2,{53,83,0}}, +/* 28532 */ {(13<<2)|2,{53,83,0}}, +/* 28533 */ {(13<<2)|2,{53,83,0}}, +/* 28534 */ {(13<<2)|2,{53,83,0}}, +/* 28535 */ {(13<<2)|2,{53,83,0}}, +/* 28536 */ {(13<<2)|2,{53,84,0}}, +/* 28537 */ {(13<<2)|2,{53,84,0}}, +/* 28538 */ {(13<<2)|2,{53,84,0}}, +/* 28539 */ {(13<<2)|2,{53,84,0}}, +/* 28540 */ {(13<<2)|2,{53,84,0}}, +/* 28541 */ {(13<<2)|2,{53,84,0}}, +/* 28542 */ {(13<<2)|2,{53,84,0}}, +/* 28543 */ {(13<<2)|2,{53,84,0}}, +/* 28544 */ {(13<<2)|2,{53,85,0}}, +/* 28545 */ {(13<<2)|2,{53,85,0}}, +/* 28546 */ {(13<<2)|2,{53,85,0}}, +/* 28547 */ {(13<<2)|2,{53,85,0}}, +/* 28548 */ {(13<<2)|2,{53,85,0}}, +/* 28549 */ {(13<<2)|2,{53,85,0}}, +/* 28550 */ {(13<<2)|2,{53,85,0}}, +/* 28551 */ {(13<<2)|2,{53,85,0}}, +/* 28552 */ {(13<<2)|2,{53,86,0}}, +/* 28553 */ {(13<<2)|2,{53,86,0}}, +/* 28554 */ {(13<<2)|2,{53,86,0}}, +/* 28555 */ {(13<<2)|2,{53,86,0}}, +/* 28556 */ {(13<<2)|2,{53,86,0}}, +/* 28557 */ {(13<<2)|2,{53,86,0}}, +/* 28558 */ {(13<<2)|2,{53,86,0}}, +/* 28559 */ {(13<<2)|2,{53,86,0}}, +/* 28560 */ {(13<<2)|2,{53,87,0}}, +/* 28561 */ {(13<<2)|2,{53,87,0}}, +/* 28562 */ {(13<<2)|2,{53,87,0}}, +/* 28563 */ {(13<<2)|2,{53,87,0}}, +/* 28564 */ {(13<<2)|2,{53,87,0}}, +/* 28565 */ {(13<<2)|2,{53,87,0}}, +/* 28566 */ {(13<<2)|2,{53,87,0}}, +/* 28567 */ {(13<<2)|2,{53,87,0}}, +/* 28568 */ {(13<<2)|2,{53,89,0}}, +/* 28569 */ {(13<<2)|2,{53,89,0}}, +/* 28570 */ {(13<<2)|2,{53,89,0}}, +/* 28571 */ {(13<<2)|2,{53,89,0}}, +/* 28572 */ {(13<<2)|2,{53,89,0}}, +/* 28573 */ {(13<<2)|2,{53,89,0}}, +/* 28574 */ {(13<<2)|2,{53,89,0}}, +/* 28575 */ {(13<<2)|2,{53,89,0}}, +/* 28576 */ {(13<<2)|2,{53,106,0}}, +/* 28577 */ {(13<<2)|2,{53,106,0}}, +/* 28578 */ {(13<<2)|2,{53,106,0}}, +/* 28579 */ {(13<<2)|2,{53,106,0}}, +/* 28580 */ {(13<<2)|2,{53,106,0}}, +/* 28581 */ {(13<<2)|2,{53,106,0}}, +/* 28582 */ {(13<<2)|2,{53,106,0}}, +/* 28583 */ {(13<<2)|2,{53,106,0}}, +/* 28584 */ {(13<<2)|2,{53,107,0}}, +/* 28585 */ {(13<<2)|2,{53,107,0}}, +/* 28586 */ {(13<<2)|2,{53,107,0}}, +/* 28587 */ {(13<<2)|2,{53,107,0}}, +/* 28588 */ {(13<<2)|2,{53,107,0}}, +/* 28589 */ {(13<<2)|2,{53,107,0}}, +/* 28590 */ {(13<<2)|2,{53,107,0}}, +/* 28591 */ {(13<<2)|2,{53,107,0}}, +/* 28592 */ {(13<<2)|2,{53,113,0}}, +/* 28593 */ {(13<<2)|2,{53,113,0}}, +/* 28594 */ {(13<<2)|2,{53,113,0}}, +/* 28595 */ {(13<<2)|2,{53,113,0}}, +/* 28596 */ {(13<<2)|2,{53,113,0}}, +/* 28597 */ {(13<<2)|2,{53,113,0}}, +/* 28598 */ {(13<<2)|2,{53,113,0}}, +/* 28599 */ {(13<<2)|2,{53,113,0}}, +/* 28600 */ {(13<<2)|2,{53,118,0}}, +/* 28601 */ {(13<<2)|2,{53,118,0}}, +/* 28602 */ {(13<<2)|2,{53,118,0}}, +/* 28603 */ {(13<<2)|2,{53,118,0}}, +/* 28604 */ {(13<<2)|2,{53,118,0}}, +/* 28605 */ {(13<<2)|2,{53,118,0}}, +/* 28606 */ {(13<<2)|2,{53,118,0}}, +/* 28607 */ {(13<<2)|2,{53,118,0}}, +/* 28608 */ {(13<<2)|2,{53,119,0}}, +/* 28609 */ {(13<<2)|2,{53,119,0}}, +/* 28610 */ {(13<<2)|2,{53,119,0}}, +/* 28611 */ {(13<<2)|2,{53,119,0}}, +/* 28612 */ {(13<<2)|2,{53,119,0}}, +/* 28613 */ {(13<<2)|2,{53,119,0}}, +/* 28614 */ {(13<<2)|2,{53,119,0}}, +/* 28615 */ {(13<<2)|2,{53,119,0}}, +/* 28616 */ {(13<<2)|2,{53,120,0}}, +/* 28617 */ {(13<<2)|2,{53,120,0}}, +/* 28618 */ {(13<<2)|2,{53,120,0}}, +/* 28619 */ {(13<<2)|2,{53,120,0}}, +/* 28620 */ {(13<<2)|2,{53,120,0}}, +/* 28621 */ {(13<<2)|2,{53,120,0}}, +/* 28622 */ {(13<<2)|2,{53,120,0}}, +/* 28623 */ {(13<<2)|2,{53,120,0}}, +/* 28624 */ {(13<<2)|2,{53,121,0}}, +/* 28625 */ {(13<<2)|2,{53,121,0}}, +/* 28626 */ {(13<<2)|2,{53,121,0}}, +/* 28627 */ {(13<<2)|2,{53,121,0}}, +/* 28628 */ {(13<<2)|2,{53,121,0}}, +/* 28629 */ {(13<<2)|2,{53,121,0}}, +/* 28630 */ {(13<<2)|2,{53,121,0}}, +/* 28631 */ {(13<<2)|2,{53,121,0}}, +/* 28632 */ {(13<<2)|2,{53,122,0}}, +/* 28633 */ {(13<<2)|2,{53,122,0}}, +/* 28634 */ {(13<<2)|2,{53,122,0}}, +/* 28635 */ {(13<<2)|2,{53,122,0}}, +/* 28636 */ {(13<<2)|2,{53,122,0}}, +/* 28637 */ {(13<<2)|2,{53,122,0}}, +/* 28638 */ {(13<<2)|2,{53,122,0}}, +/* 28639 */ {(13<<2)|2,{53,122,0}}, +/* 28640 */ {(14<<2)|2,{53,38,0}}, +/* 28641 */ {(14<<2)|2,{53,38,0}}, +/* 28642 */ {(14<<2)|2,{53,38,0}}, +/* 28643 */ {(14<<2)|2,{53,38,0}}, +/* 28644 */ {(14<<2)|2,{53,42,0}}, +/* 28645 */ {(14<<2)|2,{53,42,0}}, +/* 28646 */ {(14<<2)|2,{53,42,0}}, +/* 28647 */ {(14<<2)|2,{53,42,0}}, +/* 28648 */ {(14<<2)|2,{53,44,0}}, +/* 28649 */ {(14<<2)|2,{53,44,0}}, +/* 28650 */ {(14<<2)|2,{53,44,0}}, +/* 28651 */ {(14<<2)|2,{53,44,0}}, +/* 28652 */ {(14<<2)|2,{53,59,0}}, +/* 28653 */ {(14<<2)|2,{53,59,0}}, +/* 28654 */ {(14<<2)|2,{53,59,0}}, +/* 28655 */ {(14<<2)|2,{53,59,0}}, +/* 28656 */ {(14<<2)|2,{53,88,0}}, +/* 28657 */ {(14<<2)|2,{53,88,0}}, +/* 28658 */ {(14<<2)|2,{53,88,0}}, +/* 28659 */ {(14<<2)|2,{53,88,0}}, +/* 28660 */ {(14<<2)|2,{53,90,0}}, +/* 28661 */ {(14<<2)|2,{53,90,0}}, +/* 28662 */ {(14<<2)|2,{53,90,0}}, +/* 28663 */ {(14<<2)|2,{53,90,0}}, +/* 28664 */ {(16<<2)|2,{53,33,0}}, +/* 28665 */ {(16<<2)|2,{53,34,0}}, +/* 28666 */ {(16<<2)|2,{53,40,0}}, +/* 28667 */ {(16<<2)|2,{53,41,0}}, +/* 28668 */ {(16<<2)|2,{53,63,0}}, +/* 28669 */ {(6<<2)|1,{53,0,0}}, +/* 28670 */ {(6<<2)|1,{53,0,0}}, +/* 28671 */ {(6<<2)|1,{53,0,0}}, +/* 28672 */ {(16<<2)|3,{54,48,48}}, +/* 28673 */ {(16<<2)|3,{54,48,49}}, +/* 28674 */ {(16<<2)|3,{54,48,50}}, +/* 28675 */ {(16<<2)|3,{54,48,97}}, +/* 28676 */ {(16<<2)|3,{54,48,99}}, +/* 28677 */ {(16<<2)|3,{54,48,101}}, +/* 28678 */ {(16<<2)|3,{54,48,105}}, +/* 28679 */ {(16<<2)|3,{54,48,111}}, +/* 28680 */ {(16<<2)|3,{54,48,115}}, +/* 28681 */ {(16<<2)|3,{54,48,116}}, +/* 28682 */ {(11<<2)|2,{54,48,0}}, +/* 28683 */ {(11<<2)|2,{54,48,0}}, +/* 28684 */ {(11<<2)|2,{54,48,0}}, +/* 28685 */ {(11<<2)|2,{54,48,0}}, +/* 28686 */ {(11<<2)|2,{54,48,0}}, +/* 28687 */ {(11<<2)|2,{54,48,0}}, +/* 28688 */ {(11<<2)|2,{54,48,0}}, +/* 28689 */ {(11<<2)|2,{54,48,0}}, +/* 28690 */ {(11<<2)|2,{54,48,0}}, +/* 28691 */ {(11<<2)|2,{54,48,0}}, +/* 28692 */ {(11<<2)|2,{54,48,0}}, +/* 28693 */ {(11<<2)|2,{54,48,0}}, +/* 28694 */ {(11<<2)|2,{54,48,0}}, +/* 28695 */ {(11<<2)|2,{54,48,0}}, +/* 28696 */ {(11<<2)|2,{54,48,0}}, +/* 28697 */ {(11<<2)|2,{54,48,0}}, +/* 28698 */ {(11<<2)|2,{54,48,0}}, +/* 28699 */ {(11<<2)|2,{54,48,0}}, +/* 28700 */ {(11<<2)|2,{54,48,0}}, +/* 28701 */ {(11<<2)|2,{54,48,0}}, +/* 28702 */ {(11<<2)|2,{54,48,0}}, +/* 28703 */ {(11<<2)|2,{54,48,0}}, +/* 28704 */ {(16<<2)|3,{54,49,48}}, +/* 28705 */ {(16<<2)|3,{54,49,49}}, +/* 28706 */ {(16<<2)|3,{54,49,50}}, +/* 28707 */ {(16<<2)|3,{54,49,97}}, +/* 28708 */ {(16<<2)|3,{54,49,99}}, +/* 28709 */ {(16<<2)|3,{54,49,101}}, +/* 28710 */ {(16<<2)|3,{54,49,105}}, +/* 28711 */ {(16<<2)|3,{54,49,111}}, +/* 28712 */ {(16<<2)|3,{54,49,115}}, +/* 28713 */ {(16<<2)|3,{54,49,116}}, +/* 28714 */ {(11<<2)|2,{54,49,0}}, +/* 28715 */ {(11<<2)|2,{54,49,0}}, +/* 28716 */ {(11<<2)|2,{54,49,0}}, +/* 28717 */ {(11<<2)|2,{54,49,0}}, +/* 28718 */ {(11<<2)|2,{54,49,0}}, +/* 28719 */ {(11<<2)|2,{54,49,0}}, +/* 28720 */ {(11<<2)|2,{54,49,0}}, +/* 28721 */ {(11<<2)|2,{54,49,0}}, +/* 28722 */ {(11<<2)|2,{54,49,0}}, +/* 28723 */ {(11<<2)|2,{54,49,0}}, +/* 28724 */ {(11<<2)|2,{54,49,0}}, +/* 28725 */ {(11<<2)|2,{54,49,0}}, +/* 28726 */ {(11<<2)|2,{54,49,0}}, +/* 28727 */ {(11<<2)|2,{54,49,0}}, +/* 28728 */ {(11<<2)|2,{54,49,0}}, +/* 28729 */ {(11<<2)|2,{54,49,0}}, +/* 28730 */ {(11<<2)|2,{54,49,0}}, +/* 28731 */ {(11<<2)|2,{54,49,0}}, +/* 28732 */ {(11<<2)|2,{54,49,0}}, +/* 28733 */ {(11<<2)|2,{54,49,0}}, +/* 28734 */ {(11<<2)|2,{54,49,0}}, +/* 28735 */ {(11<<2)|2,{54,49,0}}, +/* 28736 */ {(16<<2)|3,{54,50,48}}, +/* 28737 */ {(16<<2)|3,{54,50,49}}, +/* 28738 */ {(16<<2)|3,{54,50,50}}, +/* 28739 */ {(16<<2)|3,{54,50,97}}, +/* 28740 */ {(16<<2)|3,{54,50,99}}, +/* 28741 */ {(16<<2)|3,{54,50,101}}, +/* 28742 */ {(16<<2)|3,{54,50,105}}, +/* 28743 */ {(16<<2)|3,{54,50,111}}, +/* 28744 */ {(16<<2)|3,{54,50,115}}, +/* 28745 */ {(16<<2)|3,{54,50,116}}, +/* 28746 */ {(11<<2)|2,{54,50,0}}, +/* 28747 */ {(11<<2)|2,{54,50,0}}, +/* 28748 */ {(11<<2)|2,{54,50,0}}, +/* 28749 */ {(11<<2)|2,{54,50,0}}, +/* 28750 */ {(11<<2)|2,{54,50,0}}, +/* 28751 */ {(11<<2)|2,{54,50,0}}, +/* 28752 */ {(11<<2)|2,{54,50,0}}, +/* 28753 */ {(11<<2)|2,{54,50,0}}, +/* 28754 */ {(11<<2)|2,{54,50,0}}, +/* 28755 */ {(11<<2)|2,{54,50,0}}, +/* 28756 */ {(11<<2)|2,{54,50,0}}, +/* 28757 */ {(11<<2)|2,{54,50,0}}, +/* 28758 */ {(11<<2)|2,{54,50,0}}, +/* 28759 */ {(11<<2)|2,{54,50,0}}, +/* 28760 */ {(11<<2)|2,{54,50,0}}, +/* 28761 */ {(11<<2)|2,{54,50,0}}, +/* 28762 */ {(11<<2)|2,{54,50,0}}, +/* 28763 */ {(11<<2)|2,{54,50,0}}, +/* 28764 */ {(11<<2)|2,{54,50,0}}, +/* 28765 */ {(11<<2)|2,{54,50,0}}, +/* 28766 */ {(11<<2)|2,{54,50,0}}, +/* 28767 */ {(11<<2)|2,{54,50,0}}, +/* 28768 */ {(16<<2)|3,{54,97,48}}, +/* 28769 */ {(16<<2)|3,{54,97,49}}, +/* 28770 */ {(16<<2)|3,{54,97,50}}, +/* 28771 */ {(16<<2)|3,{54,97,97}}, +/* 28772 */ {(16<<2)|3,{54,97,99}}, +/* 28773 */ {(16<<2)|3,{54,97,101}}, +/* 28774 */ {(16<<2)|3,{54,97,105}}, +/* 28775 */ {(16<<2)|3,{54,97,111}}, +/* 28776 */ {(16<<2)|3,{54,97,115}}, +/* 28777 */ {(16<<2)|3,{54,97,116}}, +/* 28778 */ {(11<<2)|2,{54,97,0}}, +/* 28779 */ {(11<<2)|2,{54,97,0}}, +/* 28780 */ {(11<<2)|2,{54,97,0}}, +/* 28781 */ {(11<<2)|2,{54,97,0}}, +/* 28782 */ {(11<<2)|2,{54,97,0}}, +/* 28783 */ {(11<<2)|2,{54,97,0}}, +/* 28784 */ {(11<<2)|2,{54,97,0}}, +/* 28785 */ {(11<<2)|2,{54,97,0}}, +/* 28786 */ {(11<<2)|2,{54,97,0}}, +/* 28787 */ {(11<<2)|2,{54,97,0}}, +/* 28788 */ {(11<<2)|2,{54,97,0}}, +/* 28789 */ {(11<<2)|2,{54,97,0}}, +/* 28790 */ {(11<<2)|2,{54,97,0}}, +/* 28791 */ {(11<<2)|2,{54,97,0}}, +/* 28792 */ {(11<<2)|2,{54,97,0}}, +/* 28793 */ {(11<<2)|2,{54,97,0}}, +/* 28794 */ {(11<<2)|2,{54,97,0}}, +/* 28795 */ {(11<<2)|2,{54,97,0}}, +/* 28796 */ {(11<<2)|2,{54,97,0}}, +/* 28797 */ {(11<<2)|2,{54,97,0}}, +/* 28798 */ {(11<<2)|2,{54,97,0}}, +/* 28799 */ {(11<<2)|2,{54,97,0}}, +/* 28800 */ {(16<<2)|3,{54,99,48}}, +/* 28801 */ {(16<<2)|3,{54,99,49}}, +/* 28802 */ {(16<<2)|3,{54,99,50}}, +/* 28803 */ {(16<<2)|3,{54,99,97}}, +/* 28804 */ {(16<<2)|3,{54,99,99}}, +/* 28805 */ {(16<<2)|3,{54,99,101}}, +/* 28806 */ {(16<<2)|3,{54,99,105}}, +/* 28807 */ {(16<<2)|3,{54,99,111}}, +/* 28808 */ {(16<<2)|3,{54,99,115}}, +/* 28809 */ {(16<<2)|3,{54,99,116}}, +/* 28810 */ {(11<<2)|2,{54,99,0}}, +/* 28811 */ {(11<<2)|2,{54,99,0}}, +/* 28812 */ {(11<<2)|2,{54,99,0}}, +/* 28813 */ {(11<<2)|2,{54,99,0}}, +/* 28814 */ {(11<<2)|2,{54,99,0}}, +/* 28815 */ {(11<<2)|2,{54,99,0}}, +/* 28816 */ {(11<<2)|2,{54,99,0}}, +/* 28817 */ {(11<<2)|2,{54,99,0}}, +/* 28818 */ {(11<<2)|2,{54,99,0}}, +/* 28819 */ {(11<<2)|2,{54,99,0}}, +/* 28820 */ {(11<<2)|2,{54,99,0}}, +/* 28821 */ {(11<<2)|2,{54,99,0}}, +/* 28822 */ {(11<<2)|2,{54,99,0}}, +/* 28823 */ {(11<<2)|2,{54,99,0}}, +/* 28824 */ {(11<<2)|2,{54,99,0}}, +/* 28825 */ {(11<<2)|2,{54,99,0}}, +/* 28826 */ {(11<<2)|2,{54,99,0}}, +/* 28827 */ {(11<<2)|2,{54,99,0}}, +/* 28828 */ {(11<<2)|2,{54,99,0}}, +/* 28829 */ {(11<<2)|2,{54,99,0}}, +/* 28830 */ {(11<<2)|2,{54,99,0}}, +/* 28831 */ {(11<<2)|2,{54,99,0}}, +/* 28832 */ {(16<<2)|3,{54,101,48}}, +/* 28833 */ {(16<<2)|3,{54,101,49}}, +/* 28834 */ {(16<<2)|3,{54,101,50}}, +/* 28835 */ {(16<<2)|3,{54,101,97}}, +/* 28836 */ {(16<<2)|3,{54,101,99}}, +/* 28837 */ {(16<<2)|3,{54,101,101}}, +/* 28838 */ {(16<<2)|3,{54,101,105}}, +/* 28839 */ {(16<<2)|3,{54,101,111}}, +/* 28840 */ {(16<<2)|3,{54,101,115}}, +/* 28841 */ {(16<<2)|3,{54,101,116}}, +/* 28842 */ {(11<<2)|2,{54,101,0}}, +/* 28843 */ {(11<<2)|2,{54,101,0}}, +/* 28844 */ {(11<<2)|2,{54,101,0}}, +/* 28845 */ {(11<<2)|2,{54,101,0}}, +/* 28846 */ {(11<<2)|2,{54,101,0}}, +/* 28847 */ {(11<<2)|2,{54,101,0}}, +/* 28848 */ {(11<<2)|2,{54,101,0}}, +/* 28849 */ {(11<<2)|2,{54,101,0}}, +/* 28850 */ {(11<<2)|2,{54,101,0}}, +/* 28851 */ {(11<<2)|2,{54,101,0}}, +/* 28852 */ {(11<<2)|2,{54,101,0}}, +/* 28853 */ {(11<<2)|2,{54,101,0}}, +/* 28854 */ {(11<<2)|2,{54,101,0}}, +/* 28855 */ {(11<<2)|2,{54,101,0}}, +/* 28856 */ {(11<<2)|2,{54,101,0}}, +/* 28857 */ {(11<<2)|2,{54,101,0}}, +/* 28858 */ {(11<<2)|2,{54,101,0}}, +/* 28859 */ {(11<<2)|2,{54,101,0}}, +/* 28860 */ {(11<<2)|2,{54,101,0}}, +/* 28861 */ {(11<<2)|2,{54,101,0}}, +/* 28862 */ {(11<<2)|2,{54,101,0}}, +/* 28863 */ {(11<<2)|2,{54,101,0}}, +/* 28864 */ {(16<<2)|3,{54,105,48}}, +/* 28865 */ {(16<<2)|3,{54,105,49}}, +/* 28866 */ {(16<<2)|3,{54,105,50}}, +/* 28867 */ {(16<<2)|3,{54,105,97}}, +/* 28868 */ {(16<<2)|3,{54,105,99}}, +/* 28869 */ {(16<<2)|3,{54,105,101}}, +/* 28870 */ {(16<<2)|3,{54,105,105}}, +/* 28871 */ {(16<<2)|3,{54,105,111}}, +/* 28872 */ {(16<<2)|3,{54,105,115}}, +/* 28873 */ {(16<<2)|3,{54,105,116}}, +/* 28874 */ {(11<<2)|2,{54,105,0}}, +/* 28875 */ {(11<<2)|2,{54,105,0}}, +/* 28876 */ {(11<<2)|2,{54,105,0}}, +/* 28877 */ {(11<<2)|2,{54,105,0}}, +/* 28878 */ {(11<<2)|2,{54,105,0}}, +/* 28879 */ {(11<<2)|2,{54,105,0}}, +/* 28880 */ {(11<<2)|2,{54,105,0}}, +/* 28881 */ {(11<<2)|2,{54,105,0}}, +/* 28882 */ {(11<<2)|2,{54,105,0}}, +/* 28883 */ {(11<<2)|2,{54,105,0}}, +/* 28884 */ {(11<<2)|2,{54,105,0}}, +/* 28885 */ {(11<<2)|2,{54,105,0}}, +/* 28886 */ {(11<<2)|2,{54,105,0}}, +/* 28887 */ {(11<<2)|2,{54,105,0}}, +/* 28888 */ {(11<<2)|2,{54,105,0}}, +/* 28889 */ {(11<<2)|2,{54,105,0}}, +/* 28890 */ {(11<<2)|2,{54,105,0}}, +/* 28891 */ {(11<<2)|2,{54,105,0}}, +/* 28892 */ {(11<<2)|2,{54,105,0}}, +/* 28893 */ {(11<<2)|2,{54,105,0}}, +/* 28894 */ {(11<<2)|2,{54,105,0}}, +/* 28895 */ {(11<<2)|2,{54,105,0}}, +/* 28896 */ {(16<<2)|3,{54,111,48}}, +/* 28897 */ {(16<<2)|3,{54,111,49}}, +/* 28898 */ {(16<<2)|3,{54,111,50}}, +/* 28899 */ {(16<<2)|3,{54,111,97}}, +/* 28900 */ {(16<<2)|3,{54,111,99}}, +/* 28901 */ {(16<<2)|3,{54,111,101}}, +/* 28902 */ {(16<<2)|3,{54,111,105}}, +/* 28903 */ {(16<<2)|3,{54,111,111}}, +/* 28904 */ {(16<<2)|3,{54,111,115}}, +/* 28905 */ {(16<<2)|3,{54,111,116}}, +/* 28906 */ {(11<<2)|2,{54,111,0}}, +/* 28907 */ {(11<<2)|2,{54,111,0}}, +/* 28908 */ {(11<<2)|2,{54,111,0}}, +/* 28909 */ {(11<<2)|2,{54,111,0}}, +/* 28910 */ {(11<<2)|2,{54,111,0}}, +/* 28911 */ {(11<<2)|2,{54,111,0}}, +/* 28912 */ {(11<<2)|2,{54,111,0}}, +/* 28913 */ {(11<<2)|2,{54,111,0}}, +/* 28914 */ {(11<<2)|2,{54,111,0}}, +/* 28915 */ {(11<<2)|2,{54,111,0}}, +/* 28916 */ {(11<<2)|2,{54,111,0}}, +/* 28917 */ {(11<<2)|2,{54,111,0}}, +/* 28918 */ {(11<<2)|2,{54,111,0}}, +/* 28919 */ {(11<<2)|2,{54,111,0}}, +/* 28920 */ {(11<<2)|2,{54,111,0}}, +/* 28921 */ {(11<<2)|2,{54,111,0}}, +/* 28922 */ {(11<<2)|2,{54,111,0}}, +/* 28923 */ {(11<<2)|2,{54,111,0}}, +/* 28924 */ {(11<<2)|2,{54,111,0}}, +/* 28925 */ {(11<<2)|2,{54,111,0}}, +/* 28926 */ {(11<<2)|2,{54,111,0}}, +/* 28927 */ {(11<<2)|2,{54,111,0}}, +/* 28928 */ {(16<<2)|3,{54,115,48}}, +/* 28929 */ {(16<<2)|3,{54,115,49}}, +/* 28930 */ {(16<<2)|3,{54,115,50}}, +/* 28931 */ {(16<<2)|3,{54,115,97}}, +/* 28932 */ {(16<<2)|3,{54,115,99}}, +/* 28933 */ {(16<<2)|3,{54,115,101}}, +/* 28934 */ {(16<<2)|3,{54,115,105}}, +/* 28935 */ {(16<<2)|3,{54,115,111}}, +/* 28936 */ {(16<<2)|3,{54,115,115}}, +/* 28937 */ {(16<<2)|3,{54,115,116}}, +/* 28938 */ {(11<<2)|2,{54,115,0}}, +/* 28939 */ {(11<<2)|2,{54,115,0}}, +/* 28940 */ {(11<<2)|2,{54,115,0}}, +/* 28941 */ {(11<<2)|2,{54,115,0}}, +/* 28942 */ {(11<<2)|2,{54,115,0}}, +/* 28943 */ {(11<<2)|2,{54,115,0}}, +/* 28944 */ {(11<<2)|2,{54,115,0}}, +/* 28945 */ {(11<<2)|2,{54,115,0}}, +/* 28946 */ {(11<<2)|2,{54,115,0}}, +/* 28947 */ {(11<<2)|2,{54,115,0}}, +/* 28948 */ {(11<<2)|2,{54,115,0}}, +/* 28949 */ {(11<<2)|2,{54,115,0}}, +/* 28950 */ {(11<<2)|2,{54,115,0}}, +/* 28951 */ {(11<<2)|2,{54,115,0}}, +/* 28952 */ {(11<<2)|2,{54,115,0}}, +/* 28953 */ {(11<<2)|2,{54,115,0}}, +/* 28954 */ {(11<<2)|2,{54,115,0}}, +/* 28955 */ {(11<<2)|2,{54,115,0}}, +/* 28956 */ {(11<<2)|2,{54,115,0}}, +/* 28957 */ {(11<<2)|2,{54,115,0}}, +/* 28958 */ {(11<<2)|2,{54,115,0}}, +/* 28959 */ {(11<<2)|2,{54,115,0}}, +/* 28960 */ {(16<<2)|3,{54,116,48}}, +/* 28961 */ {(16<<2)|3,{54,116,49}}, +/* 28962 */ {(16<<2)|3,{54,116,50}}, +/* 28963 */ {(16<<2)|3,{54,116,97}}, +/* 28964 */ {(16<<2)|3,{54,116,99}}, +/* 28965 */ {(16<<2)|3,{54,116,101}}, +/* 28966 */ {(16<<2)|3,{54,116,105}}, +/* 28967 */ {(16<<2)|3,{54,116,111}}, +/* 28968 */ {(16<<2)|3,{54,116,115}}, +/* 28969 */ {(16<<2)|3,{54,116,116}}, +/* 28970 */ {(11<<2)|2,{54,116,0}}, +/* 28971 */ {(11<<2)|2,{54,116,0}}, +/* 28972 */ {(11<<2)|2,{54,116,0}}, +/* 28973 */ {(11<<2)|2,{54,116,0}}, +/* 28974 */ {(11<<2)|2,{54,116,0}}, +/* 28975 */ {(11<<2)|2,{54,116,0}}, +/* 28976 */ {(11<<2)|2,{54,116,0}}, +/* 28977 */ {(11<<2)|2,{54,116,0}}, +/* 28978 */ {(11<<2)|2,{54,116,0}}, +/* 28979 */ {(11<<2)|2,{54,116,0}}, +/* 28980 */ {(11<<2)|2,{54,116,0}}, +/* 28981 */ {(11<<2)|2,{54,116,0}}, +/* 28982 */ {(11<<2)|2,{54,116,0}}, +/* 28983 */ {(11<<2)|2,{54,116,0}}, +/* 28984 */ {(11<<2)|2,{54,116,0}}, +/* 28985 */ {(11<<2)|2,{54,116,0}}, +/* 28986 */ {(11<<2)|2,{54,116,0}}, +/* 28987 */ {(11<<2)|2,{54,116,0}}, +/* 28988 */ {(11<<2)|2,{54,116,0}}, +/* 28989 */ {(11<<2)|2,{54,116,0}}, +/* 28990 */ {(11<<2)|2,{54,116,0}}, +/* 28991 */ {(11<<2)|2,{54,116,0}}, +/* 28992 */ {(12<<2)|2,{54,32,0}}, +/* 28993 */ {(12<<2)|2,{54,32,0}}, +/* 28994 */ {(12<<2)|2,{54,32,0}}, +/* 28995 */ {(12<<2)|2,{54,32,0}}, +/* 28996 */ {(12<<2)|2,{54,32,0}}, +/* 28997 */ {(12<<2)|2,{54,32,0}}, +/* 28998 */ {(12<<2)|2,{54,32,0}}, +/* 28999 */ {(12<<2)|2,{54,32,0}}, +/* 29000 */ {(12<<2)|2,{54,32,0}}, +/* 29001 */ {(12<<2)|2,{54,32,0}}, +/* 29002 */ {(12<<2)|2,{54,32,0}}, +/* 29003 */ {(12<<2)|2,{54,32,0}}, +/* 29004 */ {(12<<2)|2,{54,32,0}}, +/* 29005 */ {(12<<2)|2,{54,32,0}}, +/* 29006 */ {(12<<2)|2,{54,32,0}}, +/* 29007 */ {(12<<2)|2,{54,32,0}}, +/* 29008 */ {(12<<2)|2,{54,37,0}}, +/* 29009 */ {(12<<2)|2,{54,37,0}}, +/* 29010 */ {(12<<2)|2,{54,37,0}}, +/* 29011 */ {(12<<2)|2,{54,37,0}}, +/* 29012 */ {(12<<2)|2,{54,37,0}}, +/* 29013 */ {(12<<2)|2,{54,37,0}}, +/* 29014 */ {(12<<2)|2,{54,37,0}}, +/* 29015 */ {(12<<2)|2,{54,37,0}}, +/* 29016 */ {(12<<2)|2,{54,37,0}}, +/* 29017 */ {(12<<2)|2,{54,37,0}}, +/* 29018 */ {(12<<2)|2,{54,37,0}}, +/* 29019 */ {(12<<2)|2,{54,37,0}}, +/* 29020 */ {(12<<2)|2,{54,37,0}}, +/* 29021 */ {(12<<2)|2,{54,37,0}}, +/* 29022 */ {(12<<2)|2,{54,37,0}}, +/* 29023 */ {(12<<2)|2,{54,37,0}}, +/* 29024 */ {(12<<2)|2,{54,45,0}}, +/* 29025 */ {(12<<2)|2,{54,45,0}}, +/* 29026 */ {(12<<2)|2,{54,45,0}}, +/* 29027 */ {(12<<2)|2,{54,45,0}}, +/* 29028 */ {(12<<2)|2,{54,45,0}}, +/* 29029 */ {(12<<2)|2,{54,45,0}}, +/* 29030 */ {(12<<2)|2,{54,45,0}}, +/* 29031 */ {(12<<2)|2,{54,45,0}}, +/* 29032 */ {(12<<2)|2,{54,45,0}}, +/* 29033 */ {(12<<2)|2,{54,45,0}}, +/* 29034 */ {(12<<2)|2,{54,45,0}}, +/* 29035 */ {(12<<2)|2,{54,45,0}}, +/* 29036 */ {(12<<2)|2,{54,45,0}}, +/* 29037 */ {(12<<2)|2,{54,45,0}}, +/* 29038 */ {(12<<2)|2,{54,45,0}}, +/* 29039 */ {(12<<2)|2,{54,45,0}}, +/* 29040 */ {(12<<2)|2,{54,46,0}}, +/* 29041 */ {(12<<2)|2,{54,46,0}}, +/* 29042 */ {(12<<2)|2,{54,46,0}}, +/* 29043 */ {(12<<2)|2,{54,46,0}}, +/* 29044 */ {(12<<2)|2,{54,46,0}}, +/* 29045 */ {(12<<2)|2,{54,46,0}}, +/* 29046 */ {(12<<2)|2,{54,46,0}}, +/* 29047 */ {(12<<2)|2,{54,46,0}}, +/* 29048 */ {(12<<2)|2,{54,46,0}}, +/* 29049 */ {(12<<2)|2,{54,46,0}}, +/* 29050 */ {(12<<2)|2,{54,46,0}}, +/* 29051 */ {(12<<2)|2,{54,46,0}}, +/* 29052 */ {(12<<2)|2,{54,46,0}}, +/* 29053 */ {(12<<2)|2,{54,46,0}}, +/* 29054 */ {(12<<2)|2,{54,46,0}}, +/* 29055 */ {(12<<2)|2,{54,46,0}}, +/* 29056 */ {(12<<2)|2,{54,47,0}}, +/* 29057 */ {(12<<2)|2,{54,47,0}}, +/* 29058 */ {(12<<2)|2,{54,47,0}}, +/* 29059 */ {(12<<2)|2,{54,47,0}}, +/* 29060 */ {(12<<2)|2,{54,47,0}}, +/* 29061 */ {(12<<2)|2,{54,47,0}}, +/* 29062 */ {(12<<2)|2,{54,47,0}}, +/* 29063 */ {(12<<2)|2,{54,47,0}}, +/* 29064 */ {(12<<2)|2,{54,47,0}}, +/* 29065 */ {(12<<2)|2,{54,47,0}}, +/* 29066 */ {(12<<2)|2,{54,47,0}}, +/* 29067 */ {(12<<2)|2,{54,47,0}}, +/* 29068 */ {(12<<2)|2,{54,47,0}}, +/* 29069 */ {(12<<2)|2,{54,47,0}}, +/* 29070 */ {(12<<2)|2,{54,47,0}}, +/* 29071 */ {(12<<2)|2,{54,47,0}}, +/* 29072 */ {(12<<2)|2,{54,51,0}}, +/* 29073 */ {(12<<2)|2,{54,51,0}}, +/* 29074 */ {(12<<2)|2,{54,51,0}}, +/* 29075 */ {(12<<2)|2,{54,51,0}}, +/* 29076 */ {(12<<2)|2,{54,51,0}}, +/* 29077 */ {(12<<2)|2,{54,51,0}}, +/* 29078 */ {(12<<2)|2,{54,51,0}}, +/* 29079 */ {(12<<2)|2,{54,51,0}}, +/* 29080 */ {(12<<2)|2,{54,51,0}}, +/* 29081 */ {(12<<2)|2,{54,51,0}}, +/* 29082 */ {(12<<2)|2,{54,51,0}}, +/* 29083 */ {(12<<2)|2,{54,51,0}}, +/* 29084 */ {(12<<2)|2,{54,51,0}}, +/* 29085 */ {(12<<2)|2,{54,51,0}}, +/* 29086 */ {(12<<2)|2,{54,51,0}}, +/* 29087 */ {(12<<2)|2,{54,51,0}}, +/* 29088 */ {(12<<2)|2,{54,52,0}}, +/* 29089 */ {(12<<2)|2,{54,52,0}}, +/* 29090 */ {(12<<2)|2,{54,52,0}}, +/* 29091 */ {(12<<2)|2,{54,52,0}}, +/* 29092 */ {(12<<2)|2,{54,52,0}}, +/* 29093 */ {(12<<2)|2,{54,52,0}}, +/* 29094 */ {(12<<2)|2,{54,52,0}}, +/* 29095 */ {(12<<2)|2,{54,52,0}}, +/* 29096 */ {(12<<2)|2,{54,52,0}}, +/* 29097 */ {(12<<2)|2,{54,52,0}}, +/* 29098 */ {(12<<2)|2,{54,52,0}}, +/* 29099 */ {(12<<2)|2,{54,52,0}}, +/* 29100 */ {(12<<2)|2,{54,52,0}}, +/* 29101 */ {(12<<2)|2,{54,52,0}}, +/* 29102 */ {(12<<2)|2,{54,52,0}}, +/* 29103 */ {(12<<2)|2,{54,52,0}}, +/* 29104 */ {(12<<2)|2,{54,53,0}}, +/* 29105 */ {(12<<2)|2,{54,53,0}}, +/* 29106 */ {(12<<2)|2,{54,53,0}}, +/* 29107 */ {(12<<2)|2,{54,53,0}}, +/* 29108 */ {(12<<2)|2,{54,53,0}}, +/* 29109 */ {(12<<2)|2,{54,53,0}}, +/* 29110 */ {(12<<2)|2,{54,53,0}}, +/* 29111 */ {(12<<2)|2,{54,53,0}}, +/* 29112 */ {(12<<2)|2,{54,53,0}}, +/* 29113 */ {(12<<2)|2,{54,53,0}}, +/* 29114 */ {(12<<2)|2,{54,53,0}}, +/* 29115 */ {(12<<2)|2,{54,53,0}}, +/* 29116 */ {(12<<2)|2,{54,53,0}}, +/* 29117 */ {(12<<2)|2,{54,53,0}}, +/* 29118 */ {(12<<2)|2,{54,53,0}}, +/* 29119 */ {(12<<2)|2,{54,53,0}}, +/* 29120 */ {(12<<2)|2,{54,54,0}}, +/* 29121 */ {(12<<2)|2,{54,54,0}}, +/* 29122 */ {(12<<2)|2,{54,54,0}}, +/* 29123 */ {(12<<2)|2,{54,54,0}}, +/* 29124 */ {(12<<2)|2,{54,54,0}}, +/* 29125 */ {(12<<2)|2,{54,54,0}}, +/* 29126 */ {(12<<2)|2,{54,54,0}}, +/* 29127 */ {(12<<2)|2,{54,54,0}}, +/* 29128 */ {(12<<2)|2,{54,54,0}}, +/* 29129 */ {(12<<2)|2,{54,54,0}}, +/* 29130 */ {(12<<2)|2,{54,54,0}}, +/* 29131 */ {(12<<2)|2,{54,54,0}}, +/* 29132 */ {(12<<2)|2,{54,54,0}}, +/* 29133 */ {(12<<2)|2,{54,54,0}}, +/* 29134 */ {(12<<2)|2,{54,54,0}}, +/* 29135 */ {(12<<2)|2,{54,54,0}}, +/* 29136 */ {(12<<2)|2,{54,55,0}}, +/* 29137 */ {(12<<2)|2,{54,55,0}}, +/* 29138 */ {(12<<2)|2,{54,55,0}}, +/* 29139 */ {(12<<2)|2,{54,55,0}}, +/* 29140 */ {(12<<2)|2,{54,55,0}}, +/* 29141 */ {(12<<2)|2,{54,55,0}}, +/* 29142 */ {(12<<2)|2,{54,55,0}}, +/* 29143 */ {(12<<2)|2,{54,55,0}}, +/* 29144 */ {(12<<2)|2,{54,55,0}}, +/* 29145 */ {(12<<2)|2,{54,55,0}}, +/* 29146 */ {(12<<2)|2,{54,55,0}}, +/* 29147 */ {(12<<2)|2,{54,55,0}}, +/* 29148 */ {(12<<2)|2,{54,55,0}}, +/* 29149 */ {(12<<2)|2,{54,55,0}}, +/* 29150 */ {(12<<2)|2,{54,55,0}}, +/* 29151 */ {(12<<2)|2,{54,55,0}}, +/* 29152 */ {(12<<2)|2,{54,56,0}}, +/* 29153 */ {(12<<2)|2,{54,56,0}}, +/* 29154 */ {(12<<2)|2,{54,56,0}}, +/* 29155 */ {(12<<2)|2,{54,56,0}}, +/* 29156 */ {(12<<2)|2,{54,56,0}}, +/* 29157 */ {(12<<2)|2,{54,56,0}}, +/* 29158 */ {(12<<2)|2,{54,56,0}}, +/* 29159 */ {(12<<2)|2,{54,56,0}}, +/* 29160 */ {(12<<2)|2,{54,56,0}}, +/* 29161 */ {(12<<2)|2,{54,56,0}}, +/* 29162 */ {(12<<2)|2,{54,56,0}}, +/* 29163 */ {(12<<2)|2,{54,56,0}}, +/* 29164 */ {(12<<2)|2,{54,56,0}}, +/* 29165 */ {(12<<2)|2,{54,56,0}}, +/* 29166 */ {(12<<2)|2,{54,56,0}}, +/* 29167 */ {(12<<2)|2,{54,56,0}}, +/* 29168 */ {(12<<2)|2,{54,57,0}}, +/* 29169 */ {(12<<2)|2,{54,57,0}}, +/* 29170 */ {(12<<2)|2,{54,57,0}}, +/* 29171 */ {(12<<2)|2,{54,57,0}}, +/* 29172 */ {(12<<2)|2,{54,57,0}}, +/* 29173 */ {(12<<2)|2,{54,57,0}}, +/* 29174 */ {(12<<2)|2,{54,57,0}}, +/* 29175 */ {(12<<2)|2,{54,57,0}}, +/* 29176 */ {(12<<2)|2,{54,57,0}}, +/* 29177 */ {(12<<2)|2,{54,57,0}}, +/* 29178 */ {(12<<2)|2,{54,57,0}}, +/* 29179 */ {(12<<2)|2,{54,57,0}}, +/* 29180 */ {(12<<2)|2,{54,57,0}}, +/* 29181 */ {(12<<2)|2,{54,57,0}}, +/* 29182 */ {(12<<2)|2,{54,57,0}}, +/* 29183 */ {(12<<2)|2,{54,57,0}}, +/* 29184 */ {(12<<2)|2,{54,61,0}}, +/* 29185 */ {(12<<2)|2,{54,61,0}}, +/* 29186 */ {(12<<2)|2,{54,61,0}}, +/* 29187 */ {(12<<2)|2,{54,61,0}}, +/* 29188 */ {(12<<2)|2,{54,61,0}}, +/* 29189 */ {(12<<2)|2,{54,61,0}}, +/* 29190 */ {(12<<2)|2,{54,61,0}}, +/* 29191 */ {(12<<2)|2,{54,61,0}}, +/* 29192 */ {(12<<2)|2,{54,61,0}}, +/* 29193 */ {(12<<2)|2,{54,61,0}}, +/* 29194 */ {(12<<2)|2,{54,61,0}}, +/* 29195 */ {(12<<2)|2,{54,61,0}}, +/* 29196 */ {(12<<2)|2,{54,61,0}}, +/* 29197 */ {(12<<2)|2,{54,61,0}}, +/* 29198 */ {(12<<2)|2,{54,61,0}}, +/* 29199 */ {(12<<2)|2,{54,61,0}}, +/* 29200 */ {(12<<2)|2,{54,65,0}}, +/* 29201 */ {(12<<2)|2,{54,65,0}}, +/* 29202 */ {(12<<2)|2,{54,65,0}}, +/* 29203 */ {(12<<2)|2,{54,65,0}}, +/* 29204 */ {(12<<2)|2,{54,65,0}}, +/* 29205 */ {(12<<2)|2,{54,65,0}}, +/* 29206 */ {(12<<2)|2,{54,65,0}}, +/* 29207 */ {(12<<2)|2,{54,65,0}}, +/* 29208 */ {(12<<2)|2,{54,65,0}}, +/* 29209 */ {(12<<2)|2,{54,65,0}}, +/* 29210 */ {(12<<2)|2,{54,65,0}}, +/* 29211 */ {(12<<2)|2,{54,65,0}}, +/* 29212 */ {(12<<2)|2,{54,65,0}}, +/* 29213 */ {(12<<2)|2,{54,65,0}}, +/* 29214 */ {(12<<2)|2,{54,65,0}}, +/* 29215 */ {(12<<2)|2,{54,65,0}}, +/* 29216 */ {(12<<2)|2,{54,95,0}}, +/* 29217 */ {(12<<2)|2,{54,95,0}}, +/* 29218 */ {(12<<2)|2,{54,95,0}}, +/* 29219 */ {(12<<2)|2,{54,95,0}}, +/* 29220 */ {(12<<2)|2,{54,95,0}}, +/* 29221 */ {(12<<2)|2,{54,95,0}}, +/* 29222 */ {(12<<2)|2,{54,95,0}}, +/* 29223 */ {(12<<2)|2,{54,95,0}}, +/* 29224 */ {(12<<2)|2,{54,95,0}}, +/* 29225 */ {(12<<2)|2,{54,95,0}}, +/* 29226 */ {(12<<2)|2,{54,95,0}}, +/* 29227 */ {(12<<2)|2,{54,95,0}}, +/* 29228 */ {(12<<2)|2,{54,95,0}}, +/* 29229 */ {(12<<2)|2,{54,95,0}}, +/* 29230 */ {(12<<2)|2,{54,95,0}}, +/* 29231 */ {(12<<2)|2,{54,95,0}}, +/* 29232 */ {(12<<2)|2,{54,98,0}}, +/* 29233 */ {(12<<2)|2,{54,98,0}}, +/* 29234 */ {(12<<2)|2,{54,98,0}}, +/* 29235 */ {(12<<2)|2,{54,98,0}}, +/* 29236 */ {(12<<2)|2,{54,98,0}}, +/* 29237 */ {(12<<2)|2,{54,98,0}}, +/* 29238 */ {(12<<2)|2,{54,98,0}}, +/* 29239 */ {(12<<2)|2,{54,98,0}}, +/* 29240 */ {(12<<2)|2,{54,98,0}}, +/* 29241 */ {(12<<2)|2,{54,98,0}}, +/* 29242 */ {(12<<2)|2,{54,98,0}}, +/* 29243 */ {(12<<2)|2,{54,98,0}}, +/* 29244 */ {(12<<2)|2,{54,98,0}}, +/* 29245 */ {(12<<2)|2,{54,98,0}}, +/* 29246 */ {(12<<2)|2,{54,98,0}}, +/* 29247 */ {(12<<2)|2,{54,98,0}}, +/* 29248 */ {(12<<2)|2,{54,100,0}}, +/* 29249 */ {(12<<2)|2,{54,100,0}}, +/* 29250 */ {(12<<2)|2,{54,100,0}}, +/* 29251 */ {(12<<2)|2,{54,100,0}}, +/* 29252 */ {(12<<2)|2,{54,100,0}}, +/* 29253 */ {(12<<2)|2,{54,100,0}}, +/* 29254 */ {(12<<2)|2,{54,100,0}}, +/* 29255 */ {(12<<2)|2,{54,100,0}}, +/* 29256 */ {(12<<2)|2,{54,100,0}}, +/* 29257 */ {(12<<2)|2,{54,100,0}}, +/* 29258 */ {(12<<2)|2,{54,100,0}}, +/* 29259 */ {(12<<2)|2,{54,100,0}}, +/* 29260 */ {(12<<2)|2,{54,100,0}}, +/* 29261 */ {(12<<2)|2,{54,100,0}}, +/* 29262 */ {(12<<2)|2,{54,100,0}}, +/* 29263 */ {(12<<2)|2,{54,100,0}}, +/* 29264 */ {(12<<2)|2,{54,102,0}}, +/* 29265 */ {(12<<2)|2,{54,102,0}}, +/* 29266 */ {(12<<2)|2,{54,102,0}}, +/* 29267 */ {(12<<2)|2,{54,102,0}}, +/* 29268 */ {(12<<2)|2,{54,102,0}}, +/* 29269 */ {(12<<2)|2,{54,102,0}}, +/* 29270 */ {(12<<2)|2,{54,102,0}}, +/* 29271 */ {(12<<2)|2,{54,102,0}}, +/* 29272 */ {(12<<2)|2,{54,102,0}}, +/* 29273 */ {(12<<2)|2,{54,102,0}}, +/* 29274 */ {(12<<2)|2,{54,102,0}}, +/* 29275 */ {(12<<2)|2,{54,102,0}}, +/* 29276 */ {(12<<2)|2,{54,102,0}}, +/* 29277 */ {(12<<2)|2,{54,102,0}}, +/* 29278 */ {(12<<2)|2,{54,102,0}}, +/* 29279 */ {(12<<2)|2,{54,102,0}}, +/* 29280 */ {(12<<2)|2,{54,103,0}}, +/* 29281 */ {(12<<2)|2,{54,103,0}}, +/* 29282 */ {(12<<2)|2,{54,103,0}}, +/* 29283 */ {(12<<2)|2,{54,103,0}}, +/* 29284 */ {(12<<2)|2,{54,103,0}}, +/* 29285 */ {(12<<2)|2,{54,103,0}}, +/* 29286 */ {(12<<2)|2,{54,103,0}}, +/* 29287 */ {(12<<2)|2,{54,103,0}}, +/* 29288 */ {(12<<2)|2,{54,103,0}}, +/* 29289 */ {(12<<2)|2,{54,103,0}}, +/* 29290 */ {(12<<2)|2,{54,103,0}}, +/* 29291 */ {(12<<2)|2,{54,103,0}}, +/* 29292 */ {(12<<2)|2,{54,103,0}}, +/* 29293 */ {(12<<2)|2,{54,103,0}}, +/* 29294 */ {(12<<2)|2,{54,103,0}}, +/* 29295 */ {(12<<2)|2,{54,103,0}}, +/* 29296 */ {(12<<2)|2,{54,104,0}}, +/* 29297 */ {(12<<2)|2,{54,104,0}}, +/* 29298 */ {(12<<2)|2,{54,104,0}}, +/* 29299 */ {(12<<2)|2,{54,104,0}}, +/* 29300 */ {(12<<2)|2,{54,104,0}}, +/* 29301 */ {(12<<2)|2,{54,104,0}}, +/* 29302 */ {(12<<2)|2,{54,104,0}}, +/* 29303 */ {(12<<2)|2,{54,104,0}}, +/* 29304 */ {(12<<2)|2,{54,104,0}}, +/* 29305 */ {(12<<2)|2,{54,104,0}}, +/* 29306 */ {(12<<2)|2,{54,104,0}}, +/* 29307 */ {(12<<2)|2,{54,104,0}}, +/* 29308 */ {(12<<2)|2,{54,104,0}}, +/* 29309 */ {(12<<2)|2,{54,104,0}}, +/* 29310 */ {(12<<2)|2,{54,104,0}}, +/* 29311 */ {(12<<2)|2,{54,104,0}}, +/* 29312 */ {(12<<2)|2,{54,108,0}}, +/* 29313 */ {(12<<2)|2,{54,108,0}}, +/* 29314 */ {(12<<2)|2,{54,108,0}}, +/* 29315 */ {(12<<2)|2,{54,108,0}}, +/* 29316 */ {(12<<2)|2,{54,108,0}}, +/* 29317 */ {(12<<2)|2,{54,108,0}}, +/* 29318 */ {(12<<2)|2,{54,108,0}}, +/* 29319 */ {(12<<2)|2,{54,108,0}}, +/* 29320 */ {(12<<2)|2,{54,108,0}}, +/* 29321 */ {(12<<2)|2,{54,108,0}}, +/* 29322 */ {(12<<2)|2,{54,108,0}}, +/* 29323 */ {(12<<2)|2,{54,108,0}}, +/* 29324 */ {(12<<2)|2,{54,108,0}}, +/* 29325 */ {(12<<2)|2,{54,108,0}}, +/* 29326 */ {(12<<2)|2,{54,108,0}}, +/* 29327 */ {(12<<2)|2,{54,108,0}}, +/* 29328 */ {(12<<2)|2,{54,109,0}}, +/* 29329 */ {(12<<2)|2,{54,109,0}}, +/* 29330 */ {(12<<2)|2,{54,109,0}}, +/* 29331 */ {(12<<2)|2,{54,109,0}}, +/* 29332 */ {(12<<2)|2,{54,109,0}}, +/* 29333 */ {(12<<2)|2,{54,109,0}}, +/* 29334 */ {(12<<2)|2,{54,109,0}}, +/* 29335 */ {(12<<2)|2,{54,109,0}}, +/* 29336 */ {(12<<2)|2,{54,109,0}}, +/* 29337 */ {(12<<2)|2,{54,109,0}}, +/* 29338 */ {(12<<2)|2,{54,109,0}}, +/* 29339 */ {(12<<2)|2,{54,109,0}}, +/* 29340 */ {(12<<2)|2,{54,109,0}}, +/* 29341 */ {(12<<2)|2,{54,109,0}}, +/* 29342 */ {(12<<2)|2,{54,109,0}}, +/* 29343 */ {(12<<2)|2,{54,109,0}}, +/* 29344 */ {(12<<2)|2,{54,110,0}}, +/* 29345 */ {(12<<2)|2,{54,110,0}}, +/* 29346 */ {(12<<2)|2,{54,110,0}}, +/* 29347 */ {(12<<2)|2,{54,110,0}}, +/* 29348 */ {(12<<2)|2,{54,110,0}}, +/* 29349 */ {(12<<2)|2,{54,110,0}}, +/* 29350 */ {(12<<2)|2,{54,110,0}}, +/* 29351 */ {(12<<2)|2,{54,110,0}}, +/* 29352 */ {(12<<2)|2,{54,110,0}}, +/* 29353 */ {(12<<2)|2,{54,110,0}}, +/* 29354 */ {(12<<2)|2,{54,110,0}}, +/* 29355 */ {(12<<2)|2,{54,110,0}}, +/* 29356 */ {(12<<2)|2,{54,110,0}}, +/* 29357 */ {(12<<2)|2,{54,110,0}}, +/* 29358 */ {(12<<2)|2,{54,110,0}}, +/* 29359 */ {(12<<2)|2,{54,110,0}}, +/* 29360 */ {(12<<2)|2,{54,112,0}}, +/* 29361 */ {(12<<2)|2,{54,112,0}}, +/* 29362 */ {(12<<2)|2,{54,112,0}}, +/* 29363 */ {(12<<2)|2,{54,112,0}}, +/* 29364 */ {(12<<2)|2,{54,112,0}}, +/* 29365 */ {(12<<2)|2,{54,112,0}}, +/* 29366 */ {(12<<2)|2,{54,112,0}}, +/* 29367 */ {(12<<2)|2,{54,112,0}}, +/* 29368 */ {(12<<2)|2,{54,112,0}}, +/* 29369 */ {(12<<2)|2,{54,112,0}}, +/* 29370 */ {(12<<2)|2,{54,112,0}}, +/* 29371 */ {(12<<2)|2,{54,112,0}}, +/* 29372 */ {(12<<2)|2,{54,112,0}}, +/* 29373 */ {(12<<2)|2,{54,112,0}}, +/* 29374 */ {(12<<2)|2,{54,112,0}}, +/* 29375 */ {(12<<2)|2,{54,112,0}}, +/* 29376 */ {(12<<2)|2,{54,114,0}}, +/* 29377 */ {(12<<2)|2,{54,114,0}}, +/* 29378 */ {(12<<2)|2,{54,114,0}}, +/* 29379 */ {(12<<2)|2,{54,114,0}}, +/* 29380 */ {(12<<2)|2,{54,114,0}}, +/* 29381 */ {(12<<2)|2,{54,114,0}}, +/* 29382 */ {(12<<2)|2,{54,114,0}}, +/* 29383 */ {(12<<2)|2,{54,114,0}}, +/* 29384 */ {(12<<2)|2,{54,114,0}}, +/* 29385 */ {(12<<2)|2,{54,114,0}}, +/* 29386 */ {(12<<2)|2,{54,114,0}}, +/* 29387 */ {(12<<2)|2,{54,114,0}}, +/* 29388 */ {(12<<2)|2,{54,114,0}}, +/* 29389 */ {(12<<2)|2,{54,114,0}}, +/* 29390 */ {(12<<2)|2,{54,114,0}}, +/* 29391 */ {(12<<2)|2,{54,114,0}}, +/* 29392 */ {(12<<2)|2,{54,117,0}}, +/* 29393 */ {(12<<2)|2,{54,117,0}}, +/* 29394 */ {(12<<2)|2,{54,117,0}}, +/* 29395 */ {(12<<2)|2,{54,117,0}}, +/* 29396 */ {(12<<2)|2,{54,117,0}}, +/* 29397 */ {(12<<2)|2,{54,117,0}}, +/* 29398 */ {(12<<2)|2,{54,117,0}}, +/* 29399 */ {(12<<2)|2,{54,117,0}}, +/* 29400 */ {(12<<2)|2,{54,117,0}}, +/* 29401 */ {(12<<2)|2,{54,117,0}}, +/* 29402 */ {(12<<2)|2,{54,117,0}}, +/* 29403 */ {(12<<2)|2,{54,117,0}}, +/* 29404 */ {(12<<2)|2,{54,117,0}}, +/* 29405 */ {(12<<2)|2,{54,117,0}}, +/* 29406 */ {(12<<2)|2,{54,117,0}}, +/* 29407 */ {(12<<2)|2,{54,117,0}}, +/* 29408 */ {(13<<2)|2,{54,58,0}}, +/* 29409 */ {(13<<2)|2,{54,58,0}}, +/* 29410 */ {(13<<2)|2,{54,58,0}}, +/* 29411 */ {(13<<2)|2,{54,58,0}}, +/* 29412 */ {(13<<2)|2,{54,58,0}}, +/* 29413 */ {(13<<2)|2,{54,58,0}}, +/* 29414 */ {(13<<2)|2,{54,58,0}}, +/* 29415 */ {(13<<2)|2,{54,58,0}}, +/* 29416 */ {(13<<2)|2,{54,66,0}}, +/* 29417 */ {(13<<2)|2,{54,66,0}}, +/* 29418 */ {(13<<2)|2,{54,66,0}}, +/* 29419 */ {(13<<2)|2,{54,66,0}}, +/* 29420 */ {(13<<2)|2,{54,66,0}}, +/* 29421 */ {(13<<2)|2,{54,66,0}}, +/* 29422 */ {(13<<2)|2,{54,66,0}}, +/* 29423 */ {(13<<2)|2,{54,66,0}}, +/* 29424 */ {(13<<2)|2,{54,67,0}}, +/* 29425 */ {(13<<2)|2,{54,67,0}}, +/* 29426 */ {(13<<2)|2,{54,67,0}}, +/* 29427 */ {(13<<2)|2,{54,67,0}}, +/* 29428 */ {(13<<2)|2,{54,67,0}}, +/* 29429 */ {(13<<2)|2,{54,67,0}}, +/* 29430 */ {(13<<2)|2,{54,67,0}}, +/* 29431 */ {(13<<2)|2,{54,67,0}}, +/* 29432 */ {(13<<2)|2,{54,68,0}}, +/* 29433 */ {(13<<2)|2,{54,68,0}}, +/* 29434 */ {(13<<2)|2,{54,68,0}}, +/* 29435 */ {(13<<2)|2,{54,68,0}}, +/* 29436 */ {(13<<2)|2,{54,68,0}}, +/* 29437 */ {(13<<2)|2,{54,68,0}}, +/* 29438 */ {(13<<2)|2,{54,68,0}}, +/* 29439 */ {(13<<2)|2,{54,68,0}}, +/* 29440 */ {(13<<2)|2,{54,69,0}}, +/* 29441 */ {(13<<2)|2,{54,69,0}}, +/* 29442 */ {(13<<2)|2,{54,69,0}}, +/* 29443 */ {(13<<2)|2,{54,69,0}}, +/* 29444 */ {(13<<2)|2,{54,69,0}}, +/* 29445 */ {(13<<2)|2,{54,69,0}}, +/* 29446 */ {(13<<2)|2,{54,69,0}}, +/* 29447 */ {(13<<2)|2,{54,69,0}}, +/* 29448 */ {(13<<2)|2,{54,70,0}}, +/* 29449 */ {(13<<2)|2,{54,70,0}}, +/* 29450 */ {(13<<2)|2,{54,70,0}}, +/* 29451 */ {(13<<2)|2,{54,70,0}}, +/* 29452 */ {(13<<2)|2,{54,70,0}}, +/* 29453 */ {(13<<2)|2,{54,70,0}}, +/* 29454 */ {(13<<2)|2,{54,70,0}}, +/* 29455 */ {(13<<2)|2,{54,70,0}}, +/* 29456 */ {(13<<2)|2,{54,71,0}}, +/* 29457 */ {(13<<2)|2,{54,71,0}}, +/* 29458 */ {(13<<2)|2,{54,71,0}}, +/* 29459 */ {(13<<2)|2,{54,71,0}}, +/* 29460 */ {(13<<2)|2,{54,71,0}}, +/* 29461 */ {(13<<2)|2,{54,71,0}}, +/* 29462 */ {(13<<2)|2,{54,71,0}}, +/* 29463 */ {(13<<2)|2,{54,71,0}}, +/* 29464 */ {(13<<2)|2,{54,72,0}}, +/* 29465 */ {(13<<2)|2,{54,72,0}}, +/* 29466 */ {(13<<2)|2,{54,72,0}}, +/* 29467 */ {(13<<2)|2,{54,72,0}}, +/* 29468 */ {(13<<2)|2,{54,72,0}}, +/* 29469 */ {(13<<2)|2,{54,72,0}}, +/* 29470 */ {(13<<2)|2,{54,72,0}}, +/* 29471 */ {(13<<2)|2,{54,72,0}}, +/* 29472 */ {(13<<2)|2,{54,73,0}}, +/* 29473 */ {(13<<2)|2,{54,73,0}}, +/* 29474 */ {(13<<2)|2,{54,73,0}}, +/* 29475 */ {(13<<2)|2,{54,73,0}}, +/* 29476 */ {(13<<2)|2,{54,73,0}}, +/* 29477 */ {(13<<2)|2,{54,73,0}}, +/* 29478 */ {(13<<2)|2,{54,73,0}}, +/* 29479 */ {(13<<2)|2,{54,73,0}}, +/* 29480 */ {(13<<2)|2,{54,74,0}}, +/* 29481 */ {(13<<2)|2,{54,74,0}}, +/* 29482 */ {(13<<2)|2,{54,74,0}}, +/* 29483 */ {(13<<2)|2,{54,74,0}}, +/* 29484 */ {(13<<2)|2,{54,74,0}}, +/* 29485 */ {(13<<2)|2,{54,74,0}}, +/* 29486 */ {(13<<2)|2,{54,74,0}}, +/* 29487 */ {(13<<2)|2,{54,74,0}}, +/* 29488 */ {(13<<2)|2,{54,75,0}}, +/* 29489 */ {(13<<2)|2,{54,75,0}}, +/* 29490 */ {(13<<2)|2,{54,75,0}}, +/* 29491 */ {(13<<2)|2,{54,75,0}}, +/* 29492 */ {(13<<2)|2,{54,75,0}}, +/* 29493 */ {(13<<2)|2,{54,75,0}}, +/* 29494 */ {(13<<2)|2,{54,75,0}}, +/* 29495 */ {(13<<2)|2,{54,75,0}}, +/* 29496 */ {(13<<2)|2,{54,76,0}}, +/* 29497 */ {(13<<2)|2,{54,76,0}}, +/* 29498 */ {(13<<2)|2,{54,76,0}}, +/* 29499 */ {(13<<2)|2,{54,76,0}}, +/* 29500 */ {(13<<2)|2,{54,76,0}}, +/* 29501 */ {(13<<2)|2,{54,76,0}}, +/* 29502 */ {(13<<2)|2,{54,76,0}}, +/* 29503 */ {(13<<2)|2,{54,76,0}}, +/* 29504 */ {(13<<2)|2,{54,77,0}}, +/* 29505 */ {(13<<2)|2,{54,77,0}}, +/* 29506 */ {(13<<2)|2,{54,77,0}}, +/* 29507 */ {(13<<2)|2,{54,77,0}}, +/* 29508 */ {(13<<2)|2,{54,77,0}}, +/* 29509 */ {(13<<2)|2,{54,77,0}}, +/* 29510 */ {(13<<2)|2,{54,77,0}}, +/* 29511 */ {(13<<2)|2,{54,77,0}}, +/* 29512 */ {(13<<2)|2,{54,78,0}}, +/* 29513 */ {(13<<2)|2,{54,78,0}}, +/* 29514 */ {(13<<2)|2,{54,78,0}}, +/* 29515 */ {(13<<2)|2,{54,78,0}}, +/* 29516 */ {(13<<2)|2,{54,78,0}}, +/* 29517 */ {(13<<2)|2,{54,78,0}}, +/* 29518 */ {(13<<2)|2,{54,78,0}}, +/* 29519 */ {(13<<2)|2,{54,78,0}}, +/* 29520 */ {(13<<2)|2,{54,79,0}}, +/* 29521 */ {(13<<2)|2,{54,79,0}}, +/* 29522 */ {(13<<2)|2,{54,79,0}}, +/* 29523 */ {(13<<2)|2,{54,79,0}}, +/* 29524 */ {(13<<2)|2,{54,79,0}}, +/* 29525 */ {(13<<2)|2,{54,79,0}}, +/* 29526 */ {(13<<2)|2,{54,79,0}}, +/* 29527 */ {(13<<2)|2,{54,79,0}}, +/* 29528 */ {(13<<2)|2,{54,80,0}}, +/* 29529 */ {(13<<2)|2,{54,80,0}}, +/* 29530 */ {(13<<2)|2,{54,80,0}}, +/* 29531 */ {(13<<2)|2,{54,80,0}}, +/* 29532 */ {(13<<2)|2,{54,80,0}}, +/* 29533 */ {(13<<2)|2,{54,80,0}}, +/* 29534 */ {(13<<2)|2,{54,80,0}}, +/* 29535 */ {(13<<2)|2,{54,80,0}}, +/* 29536 */ {(13<<2)|2,{54,81,0}}, +/* 29537 */ {(13<<2)|2,{54,81,0}}, +/* 29538 */ {(13<<2)|2,{54,81,0}}, +/* 29539 */ {(13<<2)|2,{54,81,0}}, +/* 29540 */ {(13<<2)|2,{54,81,0}}, +/* 29541 */ {(13<<2)|2,{54,81,0}}, +/* 29542 */ {(13<<2)|2,{54,81,0}}, +/* 29543 */ {(13<<2)|2,{54,81,0}}, +/* 29544 */ {(13<<2)|2,{54,82,0}}, +/* 29545 */ {(13<<2)|2,{54,82,0}}, +/* 29546 */ {(13<<2)|2,{54,82,0}}, +/* 29547 */ {(13<<2)|2,{54,82,0}}, +/* 29548 */ {(13<<2)|2,{54,82,0}}, +/* 29549 */ {(13<<2)|2,{54,82,0}}, +/* 29550 */ {(13<<2)|2,{54,82,0}}, +/* 29551 */ {(13<<2)|2,{54,82,0}}, +/* 29552 */ {(13<<2)|2,{54,83,0}}, +/* 29553 */ {(13<<2)|2,{54,83,0}}, +/* 29554 */ {(13<<2)|2,{54,83,0}}, +/* 29555 */ {(13<<2)|2,{54,83,0}}, +/* 29556 */ {(13<<2)|2,{54,83,0}}, +/* 29557 */ {(13<<2)|2,{54,83,0}}, +/* 29558 */ {(13<<2)|2,{54,83,0}}, +/* 29559 */ {(13<<2)|2,{54,83,0}}, +/* 29560 */ {(13<<2)|2,{54,84,0}}, +/* 29561 */ {(13<<2)|2,{54,84,0}}, +/* 29562 */ {(13<<2)|2,{54,84,0}}, +/* 29563 */ {(13<<2)|2,{54,84,0}}, +/* 29564 */ {(13<<2)|2,{54,84,0}}, +/* 29565 */ {(13<<2)|2,{54,84,0}}, +/* 29566 */ {(13<<2)|2,{54,84,0}}, +/* 29567 */ {(13<<2)|2,{54,84,0}}, +/* 29568 */ {(13<<2)|2,{54,85,0}}, +/* 29569 */ {(13<<2)|2,{54,85,0}}, +/* 29570 */ {(13<<2)|2,{54,85,0}}, +/* 29571 */ {(13<<2)|2,{54,85,0}}, +/* 29572 */ {(13<<2)|2,{54,85,0}}, +/* 29573 */ {(13<<2)|2,{54,85,0}}, +/* 29574 */ {(13<<2)|2,{54,85,0}}, +/* 29575 */ {(13<<2)|2,{54,85,0}}, +/* 29576 */ {(13<<2)|2,{54,86,0}}, +/* 29577 */ {(13<<2)|2,{54,86,0}}, +/* 29578 */ {(13<<2)|2,{54,86,0}}, +/* 29579 */ {(13<<2)|2,{54,86,0}}, +/* 29580 */ {(13<<2)|2,{54,86,0}}, +/* 29581 */ {(13<<2)|2,{54,86,0}}, +/* 29582 */ {(13<<2)|2,{54,86,0}}, +/* 29583 */ {(13<<2)|2,{54,86,0}}, +/* 29584 */ {(13<<2)|2,{54,87,0}}, +/* 29585 */ {(13<<2)|2,{54,87,0}}, +/* 29586 */ {(13<<2)|2,{54,87,0}}, +/* 29587 */ {(13<<2)|2,{54,87,0}}, +/* 29588 */ {(13<<2)|2,{54,87,0}}, +/* 29589 */ {(13<<2)|2,{54,87,0}}, +/* 29590 */ {(13<<2)|2,{54,87,0}}, +/* 29591 */ {(13<<2)|2,{54,87,0}}, +/* 29592 */ {(13<<2)|2,{54,89,0}}, +/* 29593 */ {(13<<2)|2,{54,89,0}}, +/* 29594 */ {(13<<2)|2,{54,89,0}}, +/* 29595 */ {(13<<2)|2,{54,89,0}}, +/* 29596 */ {(13<<2)|2,{54,89,0}}, +/* 29597 */ {(13<<2)|2,{54,89,0}}, +/* 29598 */ {(13<<2)|2,{54,89,0}}, +/* 29599 */ {(13<<2)|2,{54,89,0}}, +/* 29600 */ {(13<<2)|2,{54,106,0}}, +/* 29601 */ {(13<<2)|2,{54,106,0}}, +/* 29602 */ {(13<<2)|2,{54,106,0}}, +/* 29603 */ {(13<<2)|2,{54,106,0}}, +/* 29604 */ {(13<<2)|2,{54,106,0}}, +/* 29605 */ {(13<<2)|2,{54,106,0}}, +/* 29606 */ {(13<<2)|2,{54,106,0}}, +/* 29607 */ {(13<<2)|2,{54,106,0}}, +/* 29608 */ {(13<<2)|2,{54,107,0}}, +/* 29609 */ {(13<<2)|2,{54,107,0}}, +/* 29610 */ {(13<<2)|2,{54,107,0}}, +/* 29611 */ {(13<<2)|2,{54,107,0}}, +/* 29612 */ {(13<<2)|2,{54,107,0}}, +/* 29613 */ {(13<<2)|2,{54,107,0}}, +/* 29614 */ {(13<<2)|2,{54,107,0}}, +/* 29615 */ {(13<<2)|2,{54,107,0}}, +/* 29616 */ {(13<<2)|2,{54,113,0}}, +/* 29617 */ {(13<<2)|2,{54,113,0}}, +/* 29618 */ {(13<<2)|2,{54,113,0}}, +/* 29619 */ {(13<<2)|2,{54,113,0}}, +/* 29620 */ {(13<<2)|2,{54,113,0}}, +/* 29621 */ {(13<<2)|2,{54,113,0}}, +/* 29622 */ {(13<<2)|2,{54,113,0}}, +/* 29623 */ {(13<<2)|2,{54,113,0}}, +/* 29624 */ {(13<<2)|2,{54,118,0}}, +/* 29625 */ {(13<<2)|2,{54,118,0}}, +/* 29626 */ {(13<<2)|2,{54,118,0}}, +/* 29627 */ {(13<<2)|2,{54,118,0}}, +/* 29628 */ {(13<<2)|2,{54,118,0}}, +/* 29629 */ {(13<<2)|2,{54,118,0}}, +/* 29630 */ {(13<<2)|2,{54,118,0}}, +/* 29631 */ {(13<<2)|2,{54,118,0}}, +/* 29632 */ {(13<<2)|2,{54,119,0}}, +/* 29633 */ {(13<<2)|2,{54,119,0}}, +/* 29634 */ {(13<<2)|2,{54,119,0}}, +/* 29635 */ {(13<<2)|2,{54,119,0}}, +/* 29636 */ {(13<<2)|2,{54,119,0}}, +/* 29637 */ {(13<<2)|2,{54,119,0}}, +/* 29638 */ {(13<<2)|2,{54,119,0}}, +/* 29639 */ {(13<<2)|2,{54,119,0}}, +/* 29640 */ {(13<<2)|2,{54,120,0}}, +/* 29641 */ {(13<<2)|2,{54,120,0}}, +/* 29642 */ {(13<<2)|2,{54,120,0}}, +/* 29643 */ {(13<<2)|2,{54,120,0}}, +/* 29644 */ {(13<<2)|2,{54,120,0}}, +/* 29645 */ {(13<<2)|2,{54,120,0}}, +/* 29646 */ {(13<<2)|2,{54,120,0}}, +/* 29647 */ {(13<<2)|2,{54,120,0}}, +/* 29648 */ {(13<<2)|2,{54,121,0}}, +/* 29649 */ {(13<<2)|2,{54,121,0}}, +/* 29650 */ {(13<<2)|2,{54,121,0}}, +/* 29651 */ {(13<<2)|2,{54,121,0}}, +/* 29652 */ {(13<<2)|2,{54,121,0}}, +/* 29653 */ {(13<<2)|2,{54,121,0}}, +/* 29654 */ {(13<<2)|2,{54,121,0}}, +/* 29655 */ {(13<<2)|2,{54,121,0}}, +/* 29656 */ {(13<<2)|2,{54,122,0}}, +/* 29657 */ {(13<<2)|2,{54,122,0}}, +/* 29658 */ {(13<<2)|2,{54,122,0}}, +/* 29659 */ {(13<<2)|2,{54,122,0}}, +/* 29660 */ {(13<<2)|2,{54,122,0}}, +/* 29661 */ {(13<<2)|2,{54,122,0}}, +/* 29662 */ {(13<<2)|2,{54,122,0}}, +/* 29663 */ {(13<<2)|2,{54,122,0}}, +/* 29664 */ {(14<<2)|2,{54,38,0}}, +/* 29665 */ {(14<<2)|2,{54,38,0}}, +/* 29666 */ {(14<<2)|2,{54,38,0}}, +/* 29667 */ {(14<<2)|2,{54,38,0}}, +/* 29668 */ {(14<<2)|2,{54,42,0}}, +/* 29669 */ {(14<<2)|2,{54,42,0}}, +/* 29670 */ {(14<<2)|2,{54,42,0}}, +/* 29671 */ {(14<<2)|2,{54,42,0}}, +/* 29672 */ {(14<<2)|2,{54,44,0}}, +/* 29673 */ {(14<<2)|2,{54,44,0}}, +/* 29674 */ {(14<<2)|2,{54,44,0}}, +/* 29675 */ {(14<<2)|2,{54,44,0}}, +/* 29676 */ {(14<<2)|2,{54,59,0}}, +/* 29677 */ {(14<<2)|2,{54,59,0}}, +/* 29678 */ {(14<<2)|2,{54,59,0}}, +/* 29679 */ {(14<<2)|2,{54,59,0}}, +/* 29680 */ {(14<<2)|2,{54,88,0}}, +/* 29681 */ {(14<<2)|2,{54,88,0}}, +/* 29682 */ {(14<<2)|2,{54,88,0}}, +/* 29683 */ {(14<<2)|2,{54,88,0}}, +/* 29684 */ {(14<<2)|2,{54,90,0}}, +/* 29685 */ {(14<<2)|2,{54,90,0}}, +/* 29686 */ {(14<<2)|2,{54,90,0}}, +/* 29687 */ {(14<<2)|2,{54,90,0}}, +/* 29688 */ {(16<<2)|2,{54,33,0}}, +/* 29689 */ {(16<<2)|2,{54,34,0}}, +/* 29690 */ {(16<<2)|2,{54,40,0}}, +/* 29691 */ {(16<<2)|2,{54,41,0}}, +/* 29692 */ {(16<<2)|2,{54,63,0}}, +/* 29693 */ {(6<<2)|1,{54,0,0}}, +/* 29694 */ {(6<<2)|1,{54,0,0}}, +/* 29695 */ {(6<<2)|1,{54,0,0}}, +/* 29696 */ {(16<<2)|3,{55,48,48}}, +/* 29697 */ {(16<<2)|3,{55,48,49}}, +/* 29698 */ {(16<<2)|3,{55,48,50}}, +/* 29699 */ {(16<<2)|3,{55,48,97}}, +/* 29700 */ {(16<<2)|3,{55,48,99}}, +/* 29701 */ {(16<<2)|3,{55,48,101}}, +/* 29702 */ {(16<<2)|3,{55,48,105}}, +/* 29703 */ {(16<<2)|3,{55,48,111}}, +/* 29704 */ {(16<<2)|3,{55,48,115}}, +/* 29705 */ {(16<<2)|3,{55,48,116}}, +/* 29706 */ {(11<<2)|2,{55,48,0}}, +/* 29707 */ {(11<<2)|2,{55,48,0}}, +/* 29708 */ {(11<<2)|2,{55,48,0}}, +/* 29709 */ {(11<<2)|2,{55,48,0}}, +/* 29710 */ {(11<<2)|2,{55,48,0}}, +/* 29711 */ {(11<<2)|2,{55,48,0}}, +/* 29712 */ {(11<<2)|2,{55,48,0}}, +/* 29713 */ {(11<<2)|2,{55,48,0}}, +/* 29714 */ {(11<<2)|2,{55,48,0}}, +/* 29715 */ {(11<<2)|2,{55,48,0}}, +/* 29716 */ {(11<<2)|2,{55,48,0}}, +/* 29717 */ {(11<<2)|2,{55,48,0}}, +/* 29718 */ {(11<<2)|2,{55,48,0}}, +/* 29719 */ {(11<<2)|2,{55,48,0}}, +/* 29720 */ {(11<<2)|2,{55,48,0}}, +/* 29721 */ {(11<<2)|2,{55,48,0}}, +/* 29722 */ {(11<<2)|2,{55,48,0}}, +/* 29723 */ {(11<<2)|2,{55,48,0}}, +/* 29724 */ {(11<<2)|2,{55,48,0}}, +/* 29725 */ {(11<<2)|2,{55,48,0}}, +/* 29726 */ {(11<<2)|2,{55,48,0}}, +/* 29727 */ {(11<<2)|2,{55,48,0}}, +/* 29728 */ {(16<<2)|3,{55,49,48}}, +/* 29729 */ {(16<<2)|3,{55,49,49}}, +/* 29730 */ {(16<<2)|3,{55,49,50}}, +/* 29731 */ {(16<<2)|3,{55,49,97}}, +/* 29732 */ {(16<<2)|3,{55,49,99}}, +/* 29733 */ {(16<<2)|3,{55,49,101}}, +/* 29734 */ {(16<<2)|3,{55,49,105}}, +/* 29735 */ {(16<<2)|3,{55,49,111}}, +/* 29736 */ {(16<<2)|3,{55,49,115}}, +/* 29737 */ {(16<<2)|3,{55,49,116}}, +/* 29738 */ {(11<<2)|2,{55,49,0}}, +/* 29739 */ {(11<<2)|2,{55,49,0}}, +/* 29740 */ {(11<<2)|2,{55,49,0}}, +/* 29741 */ {(11<<2)|2,{55,49,0}}, +/* 29742 */ {(11<<2)|2,{55,49,0}}, +/* 29743 */ {(11<<2)|2,{55,49,0}}, +/* 29744 */ {(11<<2)|2,{55,49,0}}, +/* 29745 */ {(11<<2)|2,{55,49,0}}, +/* 29746 */ {(11<<2)|2,{55,49,0}}, +/* 29747 */ {(11<<2)|2,{55,49,0}}, +/* 29748 */ {(11<<2)|2,{55,49,0}}, +/* 29749 */ {(11<<2)|2,{55,49,0}}, +/* 29750 */ {(11<<2)|2,{55,49,0}}, +/* 29751 */ {(11<<2)|2,{55,49,0}}, +/* 29752 */ {(11<<2)|2,{55,49,0}}, +/* 29753 */ {(11<<2)|2,{55,49,0}}, +/* 29754 */ {(11<<2)|2,{55,49,0}}, +/* 29755 */ {(11<<2)|2,{55,49,0}}, +/* 29756 */ {(11<<2)|2,{55,49,0}}, +/* 29757 */ {(11<<2)|2,{55,49,0}}, +/* 29758 */ {(11<<2)|2,{55,49,0}}, +/* 29759 */ {(11<<2)|2,{55,49,0}}, +/* 29760 */ {(16<<2)|3,{55,50,48}}, +/* 29761 */ {(16<<2)|3,{55,50,49}}, +/* 29762 */ {(16<<2)|3,{55,50,50}}, +/* 29763 */ {(16<<2)|3,{55,50,97}}, +/* 29764 */ {(16<<2)|3,{55,50,99}}, +/* 29765 */ {(16<<2)|3,{55,50,101}}, +/* 29766 */ {(16<<2)|3,{55,50,105}}, +/* 29767 */ {(16<<2)|3,{55,50,111}}, +/* 29768 */ {(16<<2)|3,{55,50,115}}, +/* 29769 */ {(16<<2)|3,{55,50,116}}, +/* 29770 */ {(11<<2)|2,{55,50,0}}, +/* 29771 */ {(11<<2)|2,{55,50,0}}, +/* 29772 */ {(11<<2)|2,{55,50,0}}, +/* 29773 */ {(11<<2)|2,{55,50,0}}, +/* 29774 */ {(11<<2)|2,{55,50,0}}, +/* 29775 */ {(11<<2)|2,{55,50,0}}, +/* 29776 */ {(11<<2)|2,{55,50,0}}, +/* 29777 */ {(11<<2)|2,{55,50,0}}, +/* 29778 */ {(11<<2)|2,{55,50,0}}, +/* 29779 */ {(11<<2)|2,{55,50,0}}, +/* 29780 */ {(11<<2)|2,{55,50,0}}, +/* 29781 */ {(11<<2)|2,{55,50,0}}, +/* 29782 */ {(11<<2)|2,{55,50,0}}, +/* 29783 */ {(11<<2)|2,{55,50,0}}, +/* 29784 */ {(11<<2)|2,{55,50,0}}, +/* 29785 */ {(11<<2)|2,{55,50,0}}, +/* 29786 */ {(11<<2)|2,{55,50,0}}, +/* 29787 */ {(11<<2)|2,{55,50,0}}, +/* 29788 */ {(11<<2)|2,{55,50,0}}, +/* 29789 */ {(11<<2)|2,{55,50,0}}, +/* 29790 */ {(11<<2)|2,{55,50,0}}, +/* 29791 */ {(11<<2)|2,{55,50,0}}, +/* 29792 */ {(16<<2)|3,{55,97,48}}, +/* 29793 */ {(16<<2)|3,{55,97,49}}, +/* 29794 */ {(16<<2)|3,{55,97,50}}, +/* 29795 */ {(16<<2)|3,{55,97,97}}, +/* 29796 */ {(16<<2)|3,{55,97,99}}, +/* 29797 */ {(16<<2)|3,{55,97,101}}, +/* 29798 */ {(16<<2)|3,{55,97,105}}, +/* 29799 */ {(16<<2)|3,{55,97,111}}, +/* 29800 */ {(16<<2)|3,{55,97,115}}, +/* 29801 */ {(16<<2)|3,{55,97,116}}, +/* 29802 */ {(11<<2)|2,{55,97,0}}, +/* 29803 */ {(11<<2)|2,{55,97,0}}, +/* 29804 */ {(11<<2)|2,{55,97,0}}, +/* 29805 */ {(11<<2)|2,{55,97,0}}, +/* 29806 */ {(11<<2)|2,{55,97,0}}, +/* 29807 */ {(11<<2)|2,{55,97,0}}, +/* 29808 */ {(11<<2)|2,{55,97,0}}, +/* 29809 */ {(11<<2)|2,{55,97,0}}, +/* 29810 */ {(11<<2)|2,{55,97,0}}, +/* 29811 */ {(11<<2)|2,{55,97,0}}, +/* 29812 */ {(11<<2)|2,{55,97,0}}, +/* 29813 */ {(11<<2)|2,{55,97,0}}, +/* 29814 */ {(11<<2)|2,{55,97,0}}, +/* 29815 */ {(11<<2)|2,{55,97,0}}, +/* 29816 */ {(11<<2)|2,{55,97,0}}, +/* 29817 */ {(11<<2)|2,{55,97,0}}, +/* 29818 */ {(11<<2)|2,{55,97,0}}, +/* 29819 */ {(11<<2)|2,{55,97,0}}, +/* 29820 */ {(11<<2)|2,{55,97,0}}, +/* 29821 */ {(11<<2)|2,{55,97,0}}, +/* 29822 */ {(11<<2)|2,{55,97,0}}, +/* 29823 */ {(11<<2)|2,{55,97,0}}, +/* 29824 */ {(16<<2)|3,{55,99,48}}, +/* 29825 */ {(16<<2)|3,{55,99,49}}, +/* 29826 */ {(16<<2)|3,{55,99,50}}, +/* 29827 */ {(16<<2)|3,{55,99,97}}, +/* 29828 */ {(16<<2)|3,{55,99,99}}, +/* 29829 */ {(16<<2)|3,{55,99,101}}, +/* 29830 */ {(16<<2)|3,{55,99,105}}, +/* 29831 */ {(16<<2)|3,{55,99,111}}, +/* 29832 */ {(16<<2)|3,{55,99,115}}, +/* 29833 */ {(16<<2)|3,{55,99,116}}, +/* 29834 */ {(11<<2)|2,{55,99,0}}, +/* 29835 */ {(11<<2)|2,{55,99,0}}, +/* 29836 */ {(11<<2)|2,{55,99,0}}, +/* 29837 */ {(11<<2)|2,{55,99,0}}, +/* 29838 */ {(11<<2)|2,{55,99,0}}, +/* 29839 */ {(11<<2)|2,{55,99,0}}, +/* 29840 */ {(11<<2)|2,{55,99,0}}, +/* 29841 */ {(11<<2)|2,{55,99,0}}, +/* 29842 */ {(11<<2)|2,{55,99,0}}, +/* 29843 */ {(11<<2)|2,{55,99,0}}, +/* 29844 */ {(11<<2)|2,{55,99,0}}, +/* 29845 */ {(11<<2)|2,{55,99,0}}, +/* 29846 */ {(11<<2)|2,{55,99,0}}, +/* 29847 */ {(11<<2)|2,{55,99,0}}, +/* 29848 */ {(11<<2)|2,{55,99,0}}, +/* 29849 */ {(11<<2)|2,{55,99,0}}, +/* 29850 */ {(11<<2)|2,{55,99,0}}, +/* 29851 */ {(11<<2)|2,{55,99,0}}, +/* 29852 */ {(11<<2)|2,{55,99,0}}, +/* 29853 */ {(11<<2)|2,{55,99,0}}, +/* 29854 */ {(11<<2)|2,{55,99,0}}, +/* 29855 */ {(11<<2)|2,{55,99,0}}, +/* 29856 */ {(16<<2)|3,{55,101,48}}, +/* 29857 */ {(16<<2)|3,{55,101,49}}, +/* 29858 */ {(16<<2)|3,{55,101,50}}, +/* 29859 */ {(16<<2)|3,{55,101,97}}, +/* 29860 */ {(16<<2)|3,{55,101,99}}, +/* 29861 */ {(16<<2)|3,{55,101,101}}, +/* 29862 */ {(16<<2)|3,{55,101,105}}, +/* 29863 */ {(16<<2)|3,{55,101,111}}, +/* 29864 */ {(16<<2)|3,{55,101,115}}, +/* 29865 */ {(16<<2)|3,{55,101,116}}, +/* 29866 */ {(11<<2)|2,{55,101,0}}, +/* 29867 */ {(11<<2)|2,{55,101,0}}, +/* 29868 */ {(11<<2)|2,{55,101,0}}, +/* 29869 */ {(11<<2)|2,{55,101,0}}, +/* 29870 */ {(11<<2)|2,{55,101,0}}, +/* 29871 */ {(11<<2)|2,{55,101,0}}, +/* 29872 */ {(11<<2)|2,{55,101,0}}, +/* 29873 */ {(11<<2)|2,{55,101,0}}, +/* 29874 */ {(11<<2)|2,{55,101,0}}, +/* 29875 */ {(11<<2)|2,{55,101,0}}, +/* 29876 */ {(11<<2)|2,{55,101,0}}, +/* 29877 */ {(11<<2)|2,{55,101,0}}, +/* 29878 */ {(11<<2)|2,{55,101,0}}, +/* 29879 */ {(11<<2)|2,{55,101,0}}, +/* 29880 */ {(11<<2)|2,{55,101,0}}, +/* 29881 */ {(11<<2)|2,{55,101,0}}, +/* 29882 */ {(11<<2)|2,{55,101,0}}, +/* 29883 */ {(11<<2)|2,{55,101,0}}, +/* 29884 */ {(11<<2)|2,{55,101,0}}, +/* 29885 */ {(11<<2)|2,{55,101,0}}, +/* 29886 */ {(11<<2)|2,{55,101,0}}, +/* 29887 */ {(11<<2)|2,{55,101,0}}, +/* 29888 */ {(16<<2)|3,{55,105,48}}, +/* 29889 */ {(16<<2)|3,{55,105,49}}, +/* 29890 */ {(16<<2)|3,{55,105,50}}, +/* 29891 */ {(16<<2)|3,{55,105,97}}, +/* 29892 */ {(16<<2)|3,{55,105,99}}, +/* 29893 */ {(16<<2)|3,{55,105,101}}, +/* 29894 */ {(16<<2)|3,{55,105,105}}, +/* 29895 */ {(16<<2)|3,{55,105,111}}, +/* 29896 */ {(16<<2)|3,{55,105,115}}, +/* 29897 */ {(16<<2)|3,{55,105,116}}, +/* 29898 */ {(11<<2)|2,{55,105,0}}, +/* 29899 */ {(11<<2)|2,{55,105,0}}, +/* 29900 */ {(11<<2)|2,{55,105,0}}, +/* 29901 */ {(11<<2)|2,{55,105,0}}, +/* 29902 */ {(11<<2)|2,{55,105,0}}, +/* 29903 */ {(11<<2)|2,{55,105,0}}, +/* 29904 */ {(11<<2)|2,{55,105,0}}, +/* 29905 */ {(11<<2)|2,{55,105,0}}, +/* 29906 */ {(11<<2)|2,{55,105,0}}, +/* 29907 */ {(11<<2)|2,{55,105,0}}, +/* 29908 */ {(11<<2)|2,{55,105,0}}, +/* 29909 */ {(11<<2)|2,{55,105,0}}, +/* 29910 */ {(11<<2)|2,{55,105,0}}, +/* 29911 */ {(11<<2)|2,{55,105,0}}, +/* 29912 */ {(11<<2)|2,{55,105,0}}, +/* 29913 */ {(11<<2)|2,{55,105,0}}, +/* 29914 */ {(11<<2)|2,{55,105,0}}, +/* 29915 */ {(11<<2)|2,{55,105,0}}, +/* 29916 */ {(11<<2)|2,{55,105,0}}, +/* 29917 */ {(11<<2)|2,{55,105,0}}, +/* 29918 */ {(11<<2)|2,{55,105,0}}, +/* 29919 */ {(11<<2)|2,{55,105,0}}, +/* 29920 */ {(16<<2)|3,{55,111,48}}, +/* 29921 */ {(16<<2)|3,{55,111,49}}, +/* 29922 */ {(16<<2)|3,{55,111,50}}, +/* 29923 */ {(16<<2)|3,{55,111,97}}, +/* 29924 */ {(16<<2)|3,{55,111,99}}, +/* 29925 */ {(16<<2)|3,{55,111,101}}, +/* 29926 */ {(16<<2)|3,{55,111,105}}, +/* 29927 */ {(16<<2)|3,{55,111,111}}, +/* 29928 */ {(16<<2)|3,{55,111,115}}, +/* 29929 */ {(16<<2)|3,{55,111,116}}, +/* 29930 */ {(11<<2)|2,{55,111,0}}, +/* 29931 */ {(11<<2)|2,{55,111,0}}, +/* 29932 */ {(11<<2)|2,{55,111,0}}, +/* 29933 */ {(11<<2)|2,{55,111,0}}, +/* 29934 */ {(11<<2)|2,{55,111,0}}, +/* 29935 */ {(11<<2)|2,{55,111,0}}, +/* 29936 */ {(11<<2)|2,{55,111,0}}, +/* 29937 */ {(11<<2)|2,{55,111,0}}, +/* 29938 */ {(11<<2)|2,{55,111,0}}, +/* 29939 */ {(11<<2)|2,{55,111,0}}, +/* 29940 */ {(11<<2)|2,{55,111,0}}, +/* 29941 */ {(11<<2)|2,{55,111,0}}, +/* 29942 */ {(11<<2)|2,{55,111,0}}, +/* 29943 */ {(11<<2)|2,{55,111,0}}, +/* 29944 */ {(11<<2)|2,{55,111,0}}, +/* 29945 */ {(11<<2)|2,{55,111,0}}, +/* 29946 */ {(11<<2)|2,{55,111,0}}, +/* 29947 */ {(11<<2)|2,{55,111,0}}, +/* 29948 */ {(11<<2)|2,{55,111,0}}, +/* 29949 */ {(11<<2)|2,{55,111,0}}, +/* 29950 */ {(11<<2)|2,{55,111,0}}, +/* 29951 */ {(11<<2)|2,{55,111,0}}, +/* 29952 */ {(16<<2)|3,{55,115,48}}, +/* 29953 */ {(16<<2)|3,{55,115,49}}, +/* 29954 */ {(16<<2)|3,{55,115,50}}, +/* 29955 */ {(16<<2)|3,{55,115,97}}, +/* 29956 */ {(16<<2)|3,{55,115,99}}, +/* 29957 */ {(16<<2)|3,{55,115,101}}, +/* 29958 */ {(16<<2)|3,{55,115,105}}, +/* 29959 */ {(16<<2)|3,{55,115,111}}, +/* 29960 */ {(16<<2)|3,{55,115,115}}, +/* 29961 */ {(16<<2)|3,{55,115,116}}, +/* 29962 */ {(11<<2)|2,{55,115,0}}, +/* 29963 */ {(11<<2)|2,{55,115,0}}, +/* 29964 */ {(11<<2)|2,{55,115,0}}, +/* 29965 */ {(11<<2)|2,{55,115,0}}, +/* 29966 */ {(11<<2)|2,{55,115,0}}, +/* 29967 */ {(11<<2)|2,{55,115,0}}, +/* 29968 */ {(11<<2)|2,{55,115,0}}, +/* 29969 */ {(11<<2)|2,{55,115,0}}, +/* 29970 */ {(11<<2)|2,{55,115,0}}, +/* 29971 */ {(11<<2)|2,{55,115,0}}, +/* 29972 */ {(11<<2)|2,{55,115,0}}, +/* 29973 */ {(11<<2)|2,{55,115,0}}, +/* 29974 */ {(11<<2)|2,{55,115,0}}, +/* 29975 */ {(11<<2)|2,{55,115,0}}, +/* 29976 */ {(11<<2)|2,{55,115,0}}, +/* 29977 */ {(11<<2)|2,{55,115,0}}, +/* 29978 */ {(11<<2)|2,{55,115,0}}, +/* 29979 */ {(11<<2)|2,{55,115,0}}, +/* 29980 */ {(11<<2)|2,{55,115,0}}, +/* 29981 */ {(11<<2)|2,{55,115,0}}, +/* 29982 */ {(11<<2)|2,{55,115,0}}, +/* 29983 */ {(11<<2)|2,{55,115,0}}, +/* 29984 */ {(16<<2)|3,{55,116,48}}, +/* 29985 */ {(16<<2)|3,{55,116,49}}, +/* 29986 */ {(16<<2)|3,{55,116,50}}, +/* 29987 */ {(16<<2)|3,{55,116,97}}, +/* 29988 */ {(16<<2)|3,{55,116,99}}, +/* 29989 */ {(16<<2)|3,{55,116,101}}, +/* 29990 */ {(16<<2)|3,{55,116,105}}, +/* 29991 */ {(16<<2)|3,{55,116,111}}, +/* 29992 */ {(16<<2)|3,{55,116,115}}, +/* 29993 */ {(16<<2)|3,{55,116,116}}, +/* 29994 */ {(11<<2)|2,{55,116,0}}, +/* 29995 */ {(11<<2)|2,{55,116,0}}, +/* 29996 */ {(11<<2)|2,{55,116,0}}, +/* 29997 */ {(11<<2)|2,{55,116,0}}, +/* 29998 */ {(11<<2)|2,{55,116,0}}, +/* 29999 */ {(11<<2)|2,{55,116,0}}, +/* 30000 */ {(11<<2)|2,{55,116,0}}, +/* 30001 */ {(11<<2)|2,{55,116,0}}, +/* 30002 */ {(11<<2)|2,{55,116,0}}, +/* 30003 */ {(11<<2)|2,{55,116,0}}, +/* 30004 */ {(11<<2)|2,{55,116,0}}, +/* 30005 */ {(11<<2)|2,{55,116,0}}, +/* 30006 */ {(11<<2)|2,{55,116,0}}, +/* 30007 */ {(11<<2)|2,{55,116,0}}, +/* 30008 */ {(11<<2)|2,{55,116,0}}, +/* 30009 */ {(11<<2)|2,{55,116,0}}, +/* 30010 */ {(11<<2)|2,{55,116,0}}, +/* 30011 */ {(11<<2)|2,{55,116,0}}, +/* 30012 */ {(11<<2)|2,{55,116,0}}, +/* 30013 */ {(11<<2)|2,{55,116,0}}, +/* 30014 */ {(11<<2)|2,{55,116,0}}, +/* 30015 */ {(11<<2)|2,{55,116,0}}, +/* 30016 */ {(12<<2)|2,{55,32,0}}, +/* 30017 */ {(12<<2)|2,{55,32,0}}, +/* 30018 */ {(12<<2)|2,{55,32,0}}, +/* 30019 */ {(12<<2)|2,{55,32,0}}, +/* 30020 */ {(12<<2)|2,{55,32,0}}, +/* 30021 */ {(12<<2)|2,{55,32,0}}, +/* 30022 */ {(12<<2)|2,{55,32,0}}, +/* 30023 */ {(12<<2)|2,{55,32,0}}, +/* 30024 */ {(12<<2)|2,{55,32,0}}, +/* 30025 */ {(12<<2)|2,{55,32,0}}, +/* 30026 */ {(12<<2)|2,{55,32,0}}, +/* 30027 */ {(12<<2)|2,{55,32,0}}, +/* 30028 */ {(12<<2)|2,{55,32,0}}, +/* 30029 */ {(12<<2)|2,{55,32,0}}, +/* 30030 */ {(12<<2)|2,{55,32,0}}, +/* 30031 */ {(12<<2)|2,{55,32,0}}, +/* 30032 */ {(12<<2)|2,{55,37,0}}, +/* 30033 */ {(12<<2)|2,{55,37,0}}, +/* 30034 */ {(12<<2)|2,{55,37,0}}, +/* 30035 */ {(12<<2)|2,{55,37,0}}, +/* 30036 */ {(12<<2)|2,{55,37,0}}, +/* 30037 */ {(12<<2)|2,{55,37,0}}, +/* 30038 */ {(12<<2)|2,{55,37,0}}, +/* 30039 */ {(12<<2)|2,{55,37,0}}, +/* 30040 */ {(12<<2)|2,{55,37,0}}, +/* 30041 */ {(12<<2)|2,{55,37,0}}, +/* 30042 */ {(12<<2)|2,{55,37,0}}, +/* 30043 */ {(12<<2)|2,{55,37,0}}, +/* 30044 */ {(12<<2)|2,{55,37,0}}, +/* 30045 */ {(12<<2)|2,{55,37,0}}, +/* 30046 */ {(12<<2)|2,{55,37,0}}, +/* 30047 */ {(12<<2)|2,{55,37,0}}, +/* 30048 */ {(12<<2)|2,{55,45,0}}, +/* 30049 */ {(12<<2)|2,{55,45,0}}, +/* 30050 */ {(12<<2)|2,{55,45,0}}, +/* 30051 */ {(12<<2)|2,{55,45,0}}, +/* 30052 */ {(12<<2)|2,{55,45,0}}, +/* 30053 */ {(12<<2)|2,{55,45,0}}, +/* 30054 */ {(12<<2)|2,{55,45,0}}, +/* 30055 */ {(12<<2)|2,{55,45,0}}, +/* 30056 */ {(12<<2)|2,{55,45,0}}, +/* 30057 */ {(12<<2)|2,{55,45,0}}, +/* 30058 */ {(12<<2)|2,{55,45,0}}, +/* 30059 */ {(12<<2)|2,{55,45,0}}, +/* 30060 */ {(12<<2)|2,{55,45,0}}, +/* 30061 */ {(12<<2)|2,{55,45,0}}, +/* 30062 */ {(12<<2)|2,{55,45,0}}, +/* 30063 */ {(12<<2)|2,{55,45,0}}, +/* 30064 */ {(12<<2)|2,{55,46,0}}, +/* 30065 */ {(12<<2)|2,{55,46,0}}, +/* 30066 */ {(12<<2)|2,{55,46,0}}, +/* 30067 */ {(12<<2)|2,{55,46,0}}, +/* 30068 */ {(12<<2)|2,{55,46,0}}, +/* 30069 */ {(12<<2)|2,{55,46,0}}, +/* 30070 */ {(12<<2)|2,{55,46,0}}, +/* 30071 */ {(12<<2)|2,{55,46,0}}, +/* 30072 */ {(12<<2)|2,{55,46,0}}, +/* 30073 */ {(12<<2)|2,{55,46,0}}, +/* 30074 */ {(12<<2)|2,{55,46,0}}, +/* 30075 */ {(12<<2)|2,{55,46,0}}, +/* 30076 */ {(12<<2)|2,{55,46,0}}, +/* 30077 */ {(12<<2)|2,{55,46,0}}, +/* 30078 */ {(12<<2)|2,{55,46,0}}, +/* 30079 */ {(12<<2)|2,{55,46,0}}, +/* 30080 */ {(12<<2)|2,{55,47,0}}, +/* 30081 */ {(12<<2)|2,{55,47,0}}, +/* 30082 */ {(12<<2)|2,{55,47,0}}, +/* 30083 */ {(12<<2)|2,{55,47,0}}, +/* 30084 */ {(12<<2)|2,{55,47,0}}, +/* 30085 */ {(12<<2)|2,{55,47,0}}, +/* 30086 */ {(12<<2)|2,{55,47,0}}, +/* 30087 */ {(12<<2)|2,{55,47,0}}, +/* 30088 */ {(12<<2)|2,{55,47,0}}, +/* 30089 */ {(12<<2)|2,{55,47,0}}, +/* 30090 */ {(12<<2)|2,{55,47,0}}, +/* 30091 */ {(12<<2)|2,{55,47,0}}, +/* 30092 */ {(12<<2)|2,{55,47,0}}, +/* 30093 */ {(12<<2)|2,{55,47,0}}, +/* 30094 */ {(12<<2)|2,{55,47,0}}, +/* 30095 */ {(12<<2)|2,{55,47,0}}, +/* 30096 */ {(12<<2)|2,{55,51,0}}, +/* 30097 */ {(12<<2)|2,{55,51,0}}, +/* 30098 */ {(12<<2)|2,{55,51,0}}, +/* 30099 */ {(12<<2)|2,{55,51,0}}, +/* 30100 */ {(12<<2)|2,{55,51,0}}, +/* 30101 */ {(12<<2)|2,{55,51,0}}, +/* 30102 */ {(12<<2)|2,{55,51,0}}, +/* 30103 */ {(12<<2)|2,{55,51,0}}, +/* 30104 */ {(12<<2)|2,{55,51,0}}, +/* 30105 */ {(12<<2)|2,{55,51,0}}, +/* 30106 */ {(12<<2)|2,{55,51,0}}, +/* 30107 */ {(12<<2)|2,{55,51,0}}, +/* 30108 */ {(12<<2)|2,{55,51,0}}, +/* 30109 */ {(12<<2)|2,{55,51,0}}, +/* 30110 */ {(12<<2)|2,{55,51,0}}, +/* 30111 */ {(12<<2)|2,{55,51,0}}, +/* 30112 */ {(12<<2)|2,{55,52,0}}, +/* 30113 */ {(12<<2)|2,{55,52,0}}, +/* 30114 */ {(12<<2)|2,{55,52,0}}, +/* 30115 */ {(12<<2)|2,{55,52,0}}, +/* 30116 */ {(12<<2)|2,{55,52,0}}, +/* 30117 */ {(12<<2)|2,{55,52,0}}, +/* 30118 */ {(12<<2)|2,{55,52,0}}, +/* 30119 */ {(12<<2)|2,{55,52,0}}, +/* 30120 */ {(12<<2)|2,{55,52,0}}, +/* 30121 */ {(12<<2)|2,{55,52,0}}, +/* 30122 */ {(12<<2)|2,{55,52,0}}, +/* 30123 */ {(12<<2)|2,{55,52,0}}, +/* 30124 */ {(12<<2)|2,{55,52,0}}, +/* 30125 */ {(12<<2)|2,{55,52,0}}, +/* 30126 */ {(12<<2)|2,{55,52,0}}, +/* 30127 */ {(12<<2)|2,{55,52,0}}, +/* 30128 */ {(12<<2)|2,{55,53,0}}, +/* 30129 */ {(12<<2)|2,{55,53,0}}, +/* 30130 */ {(12<<2)|2,{55,53,0}}, +/* 30131 */ {(12<<2)|2,{55,53,0}}, +/* 30132 */ {(12<<2)|2,{55,53,0}}, +/* 30133 */ {(12<<2)|2,{55,53,0}}, +/* 30134 */ {(12<<2)|2,{55,53,0}}, +/* 30135 */ {(12<<2)|2,{55,53,0}}, +/* 30136 */ {(12<<2)|2,{55,53,0}}, +/* 30137 */ {(12<<2)|2,{55,53,0}}, +/* 30138 */ {(12<<2)|2,{55,53,0}}, +/* 30139 */ {(12<<2)|2,{55,53,0}}, +/* 30140 */ {(12<<2)|2,{55,53,0}}, +/* 30141 */ {(12<<2)|2,{55,53,0}}, +/* 30142 */ {(12<<2)|2,{55,53,0}}, +/* 30143 */ {(12<<2)|2,{55,53,0}}, +/* 30144 */ {(12<<2)|2,{55,54,0}}, +/* 30145 */ {(12<<2)|2,{55,54,0}}, +/* 30146 */ {(12<<2)|2,{55,54,0}}, +/* 30147 */ {(12<<2)|2,{55,54,0}}, +/* 30148 */ {(12<<2)|2,{55,54,0}}, +/* 30149 */ {(12<<2)|2,{55,54,0}}, +/* 30150 */ {(12<<2)|2,{55,54,0}}, +/* 30151 */ {(12<<2)|2,{55,54,0}}, +/* 30152 */ {(12<<2)|2,{55,54,0}}, +/* 30153 */ {(12<<2)|2,{55,54,0}}, +/* 30154 */ {(12<<2)|2,{55,54,0}}, +/* 30155 */ {(12<<2)|2,{55,54,0}}, +/* 30156 */ {(12<<2)|2,{55,54,0}}, +/* 30157 */ {(12<<2)|2,{55,54,0}}, +/* 30158 */ {(12<<2)|2,{55,54,0}}, +/* 30159 */ {(12<<2)|2,{55,54,0}}, +/* 30160 */ {(12<<2)|2,{55,55,0}}, +/* 30161 */ {(12<<2)|2,{55,55,0}}, +/* 30162 */ {(12<<2)|2,{55,55,0}}, +/* 30163 */ {(12<<2)|2,{55,55,0}}, +/* 30164 */ {(12<<2)|2,{55,55,0}}, +/* 30165 */ {(12<<2)|2,{55,55,0}}, +/* 30166 */ {(12<<2)|2,{55,55,0}}, +/* 30167 */ {(12<<2)|2,{55,55,0}}, +/* 30168 */ {(12<<2)|2,{55,55,0}}, +/* 30169 */ {(12<<2)|2,{55,55,0}}, +/* 30170 */ {(12<<2)|2,{55,55,0}}, +/* 30171 */ {(12<<2)|2,{55,55,0}}, +/* 30172 */ {(12<<2)|2,{55,55,0}}, +/* 30173 */ {(12<<2)|2,{55,55,0}}, +/* 30174 */ {(12<<2)|2,{55,55,0}}, +/* 30175 */ {(12<<2)|2,{55,55,0}}, +/* 30176 */ {(12<<2)|2,{55,56,0}}, +/* 30177 */ {(12<<2)|2,{55,56,0}}, +/* 30178 */ {(12<<2)|2,{55,56,0}}, +/* 30179 */ {(12<<2)|2,{55,56,0}}, +/* 30180 */ {(12<<2)|2,{55,56,0}}, +/* 30181 */ {(12<<2)|2,{55,56,0}}, +/* 30182 */ {(12<<2)|2,{55,56,0}}, +/* 30183 */ {(12<<2)|2,{55,56,0}}, +/* 30184 */ {(12<<2)|2,{55,56,0}}, +/* 30185 */ {(12<<2)|2,{55,56,0}}, +/* 30186 */ {(12<<2)|2,{55,56,0}}, +/* 30187 */ {(12<<2)|2,{55,56,0}}, +/* 30188 */ {(12<<2)|2,{55,56,0}}, +/* 30189 */ {(12<<2)|2,{55,56,0}}, +/* 30190 */ {(12<<2)|2,{55,56,0}}, +/* 30191 */ {(12<<2)|2,{55,56,0}}, +/* 30192 */ {(12<<2)|2,{55,57,0}}, +/* 30193 */ {(12<<2)|2,{55,57,0}}, +/* 30194 */ {(12<<2)|2,{55,57,0}}, +/* 30195 */ {(12<<2)|2,{55,57,0}}, +/* 30196 */ {(12<<2)|2,{55,57,0}}, +/* 30197 */ {(12<<2)|2,{55,57,0}}, +/* 30198 */ {(12<<2)|2,{55,57,0}}, +/* 30199 */ {(12<<2)|2,{55,57,0}}, +/* 30200 */ {(12<<2)|2,{55,57,0}}, +/* 30201 */ {(12<<2)|2,{55,57,0}}, +/* 30202 */ {(12<<2)|2,{55,57,0}}, +/* 30203 */ {(12<<2)|2,{55,57,0}}, +/* 30204 */ {(12<<2)|2,{55,57,0}}, +/* 30205 */ {(12<<2)|2,{55,57,0}}, +/* 30206 */ {(12<<2)|2,{55,57,0}}, +/* 30207 */ {(12<<2)|2,{55,57,0}}, +/* 30208 */ {(12<<2)|2,{55,61,0}}, +/* 30209 */ {(12<<2)|2,{55,61,0}}, +/* 30210 */ {(12<<2)|2,{55,61,0}}, +/* 30211 */ {(12<<2)|2,{55,61,0}}, +/* 30212 */ {(12<<2)|2,{55,61,0}}, +/* 30213 */ {(12<<2)|2,{55,61,0}}, +/* 30214 */ {(12<<2)|2,{55,61,0}}, +/* 30215 */ {(12<<2)|2,{55,61,0}}, +/* 30216 */ {(12<<2)|2,{55,61,0}}, +/* 30217 */ {(12<<2)|2,{55,61,0}}, +/* 30218 */ {(12<<2)|2,{55,61,0}}, +/* 30219 */ {(12<<2)|2,{55,61,0}}, +/* 30220 */ {(12<<2)|2,{55,61,0}}, +/* 30221 */ {(12<<2)|2,{55,61,0}}, +/* 30222 */ {(12<<2)|2,{55,61,0}}, +/* 30223 */ {(12<<2)|2,{55,61,0}}, +/* 30224 */ {(12<<2)|2,{55,65,0}}, +/* 30225 */ {(12<<2)|2,{55,65,0}}, +/* 30226 */ {(12<<2)|2,{55,65,0}}, +/* 30227 */ {(12<<2)|2,{55,65,0}}, +/* 30228 */ {(12<<2)|2,{55,65,0}}, +/* 30229 */ {(12<<2)|2,{55,65,0}}, +/* 30230 */ {(12<<2)|2,{55,65,0}}, +/* 30231 */ {(12<<2)|2,{55,65,0}}, +/* 30232 */ {(12<<2)|2,{55,65,0}}, +/* 30233 */ {(12<<2)|2,{55,65,0}}, +/* 30234 */ {(12<<2)|2,{55,65,0}}, +/* 30235 */ {(12<<2)|2,{55,65,0}}, +/* 30236 */ {(12<<2)|2,{55,65,0}}, +/* 30237 */ {(12<<2)|2,{55,65,0}}, +/* 30238 */ {(12<<2)|2,{55,65,0}}, +/* 30239 */ {(12<<2)|2,{55,65,0}}, +/* 30240 */ {(12<<2)|2,{55,95,0}}, +/* 30241 */ {(12<<2)|2,{55,95,0}}, +/* 30242 */ {(12<<2)|2,{55,95,0}}, +/* 30243 */ {(12<<2)|2,{55,95,0}}, +/* 30244 */ {(12<<2)|2,{55,95,0}}, +/* 30245 */ {(12<<2)|2,{55,95,0}}, +/* 30246 */ {(12<<2)|2,{55,95,0}}, +/* 30247 */ {(12<<2)|2,{55,95,0}}, +/* 30248 */ {(12<<2)|2,{55,95,0}}, +/* 30249 */ {(12<<2)|2,{55,95,0}}, +/* 30250 */ {(12<<2)|2,{55,95,0}}, +/* 30251 */ {(12<<2)|2,{55,95,0}}, +/* 30252 */ {(12<<2)|2,{55,95,0}}, +/* 30253 */ {(12<<2)|2,{55,95,0}}, +/* 30254 */ {(12<<2)|2,{55,95,0}}, +/* 30255 */ {(12<<2)|2,{55,95,0}}, +/* 30256 */ {(12<<2)|2,{55,98,0}}, +/* 30257 */ {(12<<2)|2,{55,98,0}}, +/* 30258 */ {(12<<2)|2,{55,98,0}}, +/* 30259 */ {(12<<2)|2,{55,98,0}}, +/* 30260 */ {(12<<2)|2,{55,98,0}}, +/* 30261 */ {(12<<2)|2,{55,98,0}}, +/* 30262 */ {(12<<2)|2,{55,98,0}}, +/* 30263 */ {(12<<2)|2,{55,98,0}}, +/* 30264 */ {(12<<2)|2,{55,98,0}}, +/* 30265 */ {(12<<2)|2,{55,98,0}}, +/* 30266 */ {(12<<2)|2,{55,98,0}}, +/* 30267 */ {(12<<2)|2,{55,98,0}}, +/* 30268 */ {(12<<2)|2,{55,98,0}}, +/* 30269 */ {(12<<2)|2,{55,98,0}}, +/* 30270 */ {(12<<2)|2,{55,98,0}}, +/* 30271 */ {(12<<2)|2,{55,98,0}}, +/* 30272 */ {(12<<2)|2,{55,100,0}}, +/* 30273 */ {(12<<2)|2,{55,100,0}}, +/* 30274 */ {(12<<2)|2,{55,100,0}}, +/* 30275 */ {(12<<2)|2,{55,100,0}}, +/* 30276 */ {(12<<2)|2,{55,100,0}}, +/* 30277 */ {(12<<2)|2,{55,100,0}}, +/* 30278 */ {(12<<2)|2,{55,100,0}}, +/* 30279 */ {(12<<2)|2,{55,100,0}}, +/* 30280 */ {(12<<2)|2,{55,100,0}}, +/* 30281 */ {(12<<2)|2,{55,100,0}}, +/* 30282 */ {(12<<2)|2,{55,100,0}}, +/* 30283 */ {(12<<2)|2,{55,100,0}}, +/* 30284 */ {(12<<2)|2,{55,100,0}}, +/* 30285 */ {(12<<2)|2,{55,100,0}}, +/* 30286 */ {(12<<2)|2,{55,100,0}}, +/* 30287 */ {(12<<2)|2,{55,100,0}}, +/* 30288 */ {(12<<2)|2,{55,102,0}}, +/* 30289 */ {(12<<2)|2,{55,102,0}}, +/* 30290 */ {(12<<2)|2,{55,102,0}}, +/* 30291 */ {(12<<2)|2,{55,102,0}}, +/* 30292 */ {(12<<2)|2,{55,102,0}}, +/* 30293 */ {(12<<2)|2,{55,102,0}}, +/* 30294 */ {(12<<2)|2,{55,102,0}}, +/* 30295 */ {(12<<2)|2,{55,102,0}}, +/* 30296 */ {(12<<2)|2,{55,102,0}}, +/* 30297 */ {(12<<2)|2,{55,102,0}}, +/* 30298 */ {(12<<2)|2,{55,102,0}}, +/* 30299 */ {(12<<2)|2,{55,102,0}}, +/* 30300 */ {(12<<2)|2,{55,102,0}}, +/* 30301 */ {(12<<2)|2,{55,102,0}}, +/* 30302 */ {(12<<2)|2,{55,102,0}}, +/* 30303 */ {(12<<2)|2,{55,102,0}}, +/* 30304 */ {(12<<2)|2,{55,103,0}}, +/* 30305 */ {(12<<2)|2,{55,103,0}}, +/* 30306 */ {(12<<2)|2,{55,103,0}}, +/* 30307 */ {(12<<2)|2,{55,103,0}}, +/* 30308 */ {(12<<2)|2,{55,103,0}}, +/* 30309 */ {(12<<2)|2,{55,103,0}}, +/* 30310 */ {(12<<2)|2,{55,103,0}}, +/* 30311 */ {(12<<2)|2,{55,103,0}}, +/* 30312 */ {(12<<2)|2,{55,103,0}}, +/* 30313 */ {(12<<2)|2,{55,103,0}}, +/* 30314 */ {(12<<2)|2,{55,103,0}}, +/* 30315 */ {(12<<2)|2,{55,103,0}}, +/* 30316 */ {(12<<2)|2,{55,103,0}}, +/* 30317 */ {(12<<2)|2,{55,103,0}}, +/* 30318 */ {(12<<2)|2,{55,103,0}}, +/* 30319 */ {(12<<2)|2,{55,103,0}}, +/* 30320 */ {(12<<2)|2,{55,104,0}}, +/* 30321 */ {(12<<2)|2,{55,104,0}}, +/* 30322 */ {(12<<2)|2,{55,104,0}}, +/* 30323 */ {(12<<2)|2,{55,104,0}}, +/* 30324 */ {(12<<2)|2,{55,104,0}}, +/* 30325 */ {(12<<2)|2,{55,104,0}}, +/* 30326 */ {(12<<2)|2,{55,104,0}}, +/* 30327 */ {(12<<2)|2,{55,104,0}}, +/* 30328 */ {(12<<2)|2,{55,104,0}}, +/* 30329 */ {(12<<2)|2,{55,104,0}}, +/* 30330 */ {(12<<2)|2,{55,104,0}}, +/* 30331 */ {(12<<2)|2,{55,104,0}}, +/* 30332 */ {(12<<2)|2,{55,104,0}}, +/* 30333 */ {(12<<2)|2,{55,104,0}}, +/* 30334 */ {(12<<2)|2,{55,104,0}}, +/* 30335 */ {(12<<2)|2,{55,104,0}}, +/* 30336 */ {(12<<2)|2,{55,108,0}}, +/* 30337 */ {(12<<2)|2,{55,108,0}}, +/* 30338 */ {(12<<2)|2,{55,108,0}}, +/* 30339 */ {(12<<2)|2,{55,108,0}}, +/* 30340 */ {(12<<2)|2,{55,108,0}}, +/* 30341 */ {(12<<2)|2,{55,108,0}}, +/* 30342 */ {(12<<2)|2,{55,108,0}}, +/* 30343 */ {(12<<2)|2,{55,108,0}}, +/* 30344 */ {(12<<2)|2,{55,108,0}}, +/* 30345 */ {(12<<2)|2,{55,108,0}}, +/* 30346 */ {(12<<2)|2,{55,108,0}}, +/* 30347 */ {(12<<2)|2,{55,108,0}}, +/* 30348 */ {(12<<2)|2,{55,108,0}}, +/* 30349 */ {(12<<2)|2,{55,108,0}}, +/* 30350 */ {(12<<2)|2,{55,108,0}}, +/* 30351 */ {(12<<2)|2,{55,108,0}}, +/* 30352 */ {(12<<2)|2,{55,109,0}}, +/* 30353 */ {(12<<2)|2,{55,109,0}}, +/* 30354 */ {(12<<2)|2,{55,109,0}}, +/* 30355 */ {(12<<2)|2,{55,109,0}}, +/* 30356 */ {(12<<2)|2,{55,109,0}}, +/* 30357 */ {(12<<2)|2,{55,109,0}}, +/* 30358 */ {(12<<2)|2,{55,109,0}}, +/* 30359 */ {(12<<2)|2,{55,109,0}}, +/* 30360 */ {(12<<2)|2,{55,109,0}}, +/* 30361 */ {(12<<2)|2,{55,109,0}}, +/* 30362 */ {(12<<2)|2,{55,109,0}}, +/* 30363 */ {(12<<2)|2,{55,109,0}}, +/* 30364 */ {(12<<2)|2,{55,109,0}}, +/* 30365 */ {(12<<2)|2,{55,109,0}}, +/* 30366 */ {(12<<2)|2,{55,109,0}}, +/* 30367 */ {(12<<2)|2,{55,109,0}}, +/* 30368 */ {(12<<2)|2,{55,110,0}}, +/* 30369 */ {(12<<2)|2,{55,110,0}}, +/* 30370 */ {(12<<2)|2,{55,110,0}}, +/* 30371 */ {(12<<2)|2,{55,110,0}}, +/* 30372 */ {(12<<2)|2,{55,110,0}}, +/* 30373 */ {(12<<2)|2,{55,110,0}}, +/* 30374 */ {(12<<2)|2,{55,110,0}}, +/* 30375 */ {(12<<2)|2,{55,110,0}}, +/* 30376 */ {(12<<2)|2,{55,110,0}}, +/* 30377 */ {(12<<2)|2,{55,110,0}}, +/* 30378 */ {(12<<2)|2,{55,110,0}}, +/* 30379 */ {(12<<2)|2,{55,110,0}}, +/* 30380 */ {(12<<2)|2,{55,110,0}}, +/* 30381 */ {(12<<2)|2,{55,110,0}}, +/* 30382 */ {(12<<2)|2,{55,110,0}}, +/* 30383 */ {(12<<2)|2,{55,110,0}}, +/* 30384 */ {(12<<2)|2,{55,112,0}}, +/* 30385 */ {(12<<2)|2,{55,112,0}}, +/* 30386 */ {(12<<2)|2,{55,112,0}}, +/* 30387 */ {(12<<2)|2,{55,112,0}}, +/* 30388 */ {(12<<2)|2,{55,112,0}}, +/* 30389 */ {(12<<2)|2,{55,112,0}}, +/* 30390 */ {(12<<2)|2,{55,112,0}}, +/* 30391 */ {(12<<2)|2,{55,112,0}}, +/* 30392 */ {(12<<2)|2,{55,112,0}}, +/* 30393 */ {(12<<2)|2,{55,112,0}}, +/* 30394 */ {(12<<2)|2,{55,112,0}}, +/* 30395 */ {(12<<2)|2,{55,112,0}}, +/* 30396 */ {(12<<2)|2,{55,112,0}}, +/* 30397 */ {(12<<2)|2,{55,112,0}}, +/* 30398 */ {(12<<2)|2,{55,112,0}}, +/* 30399 */ {(12<<2)|2,{55,112,0}}, +/* 30400 */ {(12<<2)|2,{55,114,0}}, +/* 30401 */ {(12<<2)|2,{55,114,0}}, +/* 30402 */ {(12<<2)|2,{55,114,0}}, +/* 30403 */ {(12<<2)|2,{55,114,0}}, +/* 30404 */ {(12<<2)|2,{55,114,0}}, +/* 30405 */ {(12<<2)|2,{55,114,0}}, +/* 30406 */ {(12<<2)|2,{55,114,0}}, +/* 30407 */ {(12<<2)|2,{55,114,0}}, +/* 30408 */ {(12<<2)|2,{55,114,0}}, +/* 30409 */ {(12<<2)|2,{55,114,0}}, +/* 30410 */ {(12<<2)|2,{55,114,0}}, +/* 30411 */ {(12<<2)|2,{55,114,0}}, +/* 30412 */ {(12<<2)|2,{55,114,0}}, +/* 30413 */ {(12<<2)|2,{55,114,0}}, +/* 30414 */ {(12<<2)|2,{55,114,0}}, +/* 30415 */ {(12<<2)|2,{55,114,0}}, +/* 30416 */ {(12<<2)|2,{55,117,0}}, +/* 30417 */ {(12<<2)|2,{55,117,0}}, +/* 30418 */ {(12<<2)|2,{55,117,0}}, +/* 30419 */ {(12<<2)|2,{55,117,0}}, +/* 30420 */ {(12<<2)|2,{55,117,0}}, +/* 30421 */ {(12<<2)|2,{55,117,0}}, +/* 30422 */ {(12<<2)|2,{55,117,0}}, +/* 30423 */ {(12<<2)|2,{55,117,0}}, +/* 30424 */ {(12<<2)|2,{55,117,0}}, +/* 30425 */ {(12<<2)|2,{55,117,0}}, +/* 30426 */ {(12<<2)|2,{55,117,0}}, +/* 30427 */ {(12<<2)|2,{55,117,0}}, +/* 30428 */ {(12<<2)|2,{55,117,0}}, +/* 30429 */ {(12<<2)|2,{55,117,0}}, +/* 30430 */ {(12<<2)|2,{55,117,0}}, +/* 30431 */ {(12<<2)|2,{55,117,0}}, +/* 30432 */ {(13<<2)|2,{55,58,0}}, +/* 30433 */ {(13<<2)|2,{55,58,0}}, +/* 30434 */ {(13<<2)|2,{55,58,0}}, +/* 30435 */ {(13<<2)|2,{55,58,0}}, +/* 30436 */ {(13<<2)|2,{55,58,0}}, +/* 30437 */ {(13<<2)|2,{55,58,0}}, +/* 30438 */ {(13<<2)|2,{55,58,0}}, +/* 30439 */ {(13<<2)|2,{55,58,0}}, +/* 30440 */ {(13<<2)|2,{55,66,0}}, +/* 30441 */ {(13<<2)|2,{55,66,0}}, +/* 30442 */ {(13<<2)|2,{55,66,0}}, +/* 30443 */ {(13<<2)|2,{55,66,0}}, +/* 30444 */ {(13<<2)|2,{55,66,0}}, +/* 30445 */ {(13<<2)|2,{55,66,0}}, +/* 30446 */ {(13<<2)|2,{55,66,0}}, +/* 30447 */ {(13<<2)|2,{55,66,0}}, +/* 30448 */ {(13<<2)|2,{55,67,0}}, +/* 30449 */ {(13<<2)|2,{55,67,0}}, +/* 30450 */ {(13<<2)|2,{55,67,0}}, +/* 30451 */ {(13<<2)|2,{55,67,0}}, +/* 30452 */ {(13<<2)|2,{55,67,0}}, +/* 30453 */ {(13<<2)|2,{55,67,0}}, +/* 30454 */ {(13<<2)|2,{55,67,0}}, +/* 30455 */ {(13<<2)|2,{55,67,0}}, +/* 30456 */ {(13<<2)|2,{55,68,0}}, +/* 30457 */ {(13<<2)|2,{55,68,0}}, +/* 30458 */ {(13<<2)|2,{55,68,0}}, +/* 30459 */ {(13<<2)|2,{55,68,0}}, +/* 30460 */ {(13<<2)|2,{55,68,0}}, +/* 30461 */ {(13<<2)|2,{55,68,0}}, +/* 30462 */ {(13<<2)|2,{55,68,0}}, +/* 30463 */ {(13<<2)|2,{55,68,0}}, +/* 30464 */ {(13<<2)|2,{55,69,0}}, +/* 30465 */ {(13<<2)|2,{55,69,0}}, +/* 30466 */ {(13<<2)|2,{55,69,0}}, +/* 30467 */ {(13<<2)|2,{55,69,0}}, +/* 30468 */ {(13<<2)|2,{55,69,0}}, +/* 30469 */ {(13<<2)|2,{55,69,0}}, +/* 30470 */ {(13<<2)|2,{55,69,0}}, +/* 30471 */ {(13<<2)|2,{55,69,0}}, +/* 30472 */ {(13<<2)|2,{55,70,0}}, +/* 30473 */ {(13<<2)|2,{55,70,0}}, +/* 30474 */ {(13<<2)|2,{55,70,0}}, +/* 30475 */ {(13<<2)|2,{55,70,0}}, +/* 30476 */ {(13<<2)|2,{55,70,0}}, +/* 30477 */ {(13<<2)|2,{55,70,0}}, +/* 30478 */ {(13<<2)|2,{55,70,0}}, +/* 30479 */ {(13<<2)|2,{55,70,0}}, +/* 30480 */ {(13<<2)|2,{55,71,0}}, +/* 30481 */ {(13<<2)|2,{55,71,0}}, +/* 30482 */ {(13<<2)|2,{55,71,0}}, +/* 30483 */ {(13<<2)|2,{55,71,0}}, +/* 30484 */ {(13<<2)|2,{55,71,0}}, +/* 30485 */ {(13<<2)|2,{55,71,0}}, +/* 30486 */ {(13<<2)|2,{55,71,0}}, +/* 30487 */ {(13<<2)|2,{55,71,0}}, +/* 30488 */ {(13<<2)|2,{55,72,0}}, +/* 30489 */ {(13<<2)|2,{55,72,0}}, +/* 30490 */ {(13<<2)|2,{55,72,0}}, +/* 30491 */ {(13<<2)|2,{55,72,0}}, +/* 30492 */ {(13<<2)|2,{55,72,0}}, +/* 30493 */ {(13<<2)|2,{55,72,0}}, +/* 30494 */ {(13<<2)|2,{55,72,0}}, +/* 30495 */ {(13<<2)|2,{55,72,0}}, +/* 30496 */ {(13<<2)|2,{55,73,0}}, +/* 30497 */ {(13<<2)|2,{55,73,0}}, +/* 30498 */ {(13<<2)|2,{55,73,0}}, +/* 30499 */ {(13<<2)|2,{55,73,0}}, +/* 30500 */ {(13<<2)|2,{55,73,0}}, +/* 30501 */ {(13<<2)|2,{55,73,0}}, +/* 30502 */ {(13<<2)|2,{55,73,0}}, +/* 30503 */ {(13<<2)|2,{55,73,0}}, +/* 30504 */ {(13<<2)|2,{55,74,0}}, +/* 30505 */ {(13<<2)|2,{55,74,0}}, +/* 30506 */ {(13<<2)|2,{55,74,0}}, +/* 30507 */ {(13<<2)|2,{55,74,0}}, +/* 30508 */ {(13<<2)|2,{55,74,0}}, +/* 30509 */ {(13<<2)|2,{55,74,0}}, +/* 30510 */ {(13<<2)|2,{55,74,0}}, +/* 30511 */ {(13<<2)|2,{55,74,0}}, +/* 30512 */ {(13<<2)|2,{55,75,0}}, +/* 30513 */ {(13<<2)|2,{55,75,0}}, +/* 30514 */ {(13<<2)|2,{55,75,0}}, +/* 30515 */ {(13<<2)|2,{55,75,0}}, +/* 30516 */ {(13<<2)|2,{55,75,0}}, +/* 30517 */ {(13<<2)|2,{55,75,0}}, +/* 30518 */ {(13<<2)|2,{55,75,0}}, +/* 30519 */ {(13<<2)|2,{55,75,0}}, +/* 30520 */ {(13<<2)|2,{55,76,0}}, +/* 30521 */ {(13<<2)|2,{55,76,0}}, +/* 30522 */ {(13<<2)|2,{55,76,0}}, +/* 30523 */ {(13<<2)|2,{55,76,0}}, +/* 30524 */ {(13<<2)|2,{55,76,0}}, +/* 30525 */ {(13<<2)|2,{55,76,0}}, +/* 30526 */ {(13<<2)|2,{55,76,0}}, +/* 30527 */ {(13<<2)|2,{55,76,0}}, +/* 30528 */ {(13<<2)|2,{55,77,0}}, +/* 30529 */ {(13<<2)|2,{55,77,0}}, +/* 30530 */ {(13<<2)|2,{55,77,0}}, +/* 30531 */ {(13<<2)|2,{55,77,0}}, +/* 30532 */ {(13<<2)|2,{55,77,0}}, +/* 30533 */ {(13<<2)|2,{55,77,0}}, +/* 30534 */ {(13<<2)|2,{55,77,0}}, +/* 30535 */ {(13<<2)|2,{55,77,0}}, +/* 30536 */ {(13<<2)|2,{55,78,0}}, +/* 30537 */ {(13<<2)|2,{55,78,0}}, +/* 30538 */ {(13<<2)|2,{55,78,0}}, +/* 30539 */ {(13<<2)|2,{55,78,0}}, +/* 30540 */ {(13<<2)|2,{55,78,0}}, +/* 30541 */ {(13<<2)|2,{55,78,0}}, +/* 30542 */ {(13<<2)|2,{55,78,0}}, +/* 30543 */ {(13<<2)|2,{55,78,0}}, +/* 30544 */ {(13<<2)|2,{55,79,0}}, +/* 30545 */ {(13<<2)|2,{55,79,0}}, +/* 30546 */ {(13<<2)|2,{55,79,0}}, +/* 30547 */ {(13<<2)|2,{55,79,0}}, +/* 30548 */ {(13<<2)|2,{55,79,0}}, +/* 30549 */ {(13<<2)|2,{55,79,0}}, +/* 30550 */ {(13<<2)|2,{55,79,0}}, +/* 30551 */ {(13<<2)|2,{55,79,0}}, +/* 30552 */ {(13<<2)|2,{55,80,0}}, +/* 30553 */ {(13<<2)|2,{55,80,0}}, +/* 30554 */ {(13<<2)|2,{55,80,0}}, +/* 30555 */ {(13<<2)|2,{55,80,0}}, +/* 30556 */ {(13<<2)|2,{55,80,0}}, +/* 30557 */ {(13<<2)|2,{55,80,0}}, +/* 30558 */ {(13<<2)|2,{55,80,0}}, +/* 30559 */ {(13<<2)|2,{55,80,0}}, +/* 30560 */ {(13<<2)|2,{55,81,0}}, +/* 30561 */ {(13<<2)|2,{55,81,0}}, +/* 30562 */ {(13<<2)|2,{55,81,0}}, +/* 30563 */ {(13<<2)|2,{55,81,0}}, +/* 30564 */ {(13<<2)|2,{55,81,0}}, +/* 30565 */ {(13<<2)|2,{55,81,0}}, +/* 30566 */ {(13<<2)|2,{55,81,0}}, +/* 30567 */ {(13<<2)|2,{55,81,0}}, +/* 30568 */ {(13<<2)|2,{55,82,0}}, +/* 30569 */ {(13<<2)|2,{55,82,0}}, +/* 30570 */ {(13<<2)|2,{55,82,0}}, +/* 30571 */ {(13<<2)|2,{55,82,0}}, +/* 30572 */ {(13<<2)|2,{55,82,0}}, +/* 30573 */ {(13<<2)|2,{55,82,0}}, +/* 30574 */ {(13<<2)|2,{55,82,0}}, +/* 30575 */ {(13<<2)|2,{55,82,0}}, +/* 30576 */ {(13<<2)|2,{55,83,0}}, +/* 30577 */ {(13<<2)|2,{55,83,0}}, +/* 30578 */ {(13<<2)|2,{55,83,0}}, +/* 30579 */ {(13<<2)|2,{55,83,0}}, +/* 30580 */ {(13<<2)|2,{55,83,0}}, +/* 30581 */ {(13<<2)|2,{55,83,0}}, +/* 30582 */ {(13<<2)|2,{55,83,0}}, +/* 30583 */ {(13<<2)|2,{55,83,0}}, +/* 30584 */ {(13<<2)|2,{55,84,0}}, +/* 30585 */ {(13<<2)|2,{55,84,0}}, +/* 30586 */ {(13<<2)|2,{55,84,0}}, +/* 30587 */ {(13<<2)|2,{55,84,0}}, +/* 30588 */ {(13<<2)|2,{55,84,0}}, +/* 30589 */ {(13<<2)|2,{55,84,0}}, +/* 30590 */ {(13<<2)|2,{55,84,0}}, +/* 30591 */ {(13<<2)|2,{55,84,0}}, +/* 30592 */ {(13<<2)|2,{55,85,0}}, +/* 30593 */ {(13<<2)|2,{55,85,0}}, +/* 30594 */ {(13<<2)|2,{55,85,0}}, +/* 30595 */ {(13<<2)|2,{55,85,0}}, +/* 30596 */ {(13<<2)|2,{55,85,0}}, +/* 30597 */ {(13<<2)|2,{55,85,0}}, +/* 30598 */ {(13<<2)|2,{55,85,0}}, +/* 30599 */ {(13<<2)|2,{55,85,0}}, +/* 30600 */ {(13<<2)|2,{55,86,0}}, +/* 30601 */ {(13<<2)|2,{55,86,0}}, +/* 30602 */ {(13<<2)|2,{55,86,0}}, +/* 30603 */ {(13<<2)|2,{55,86,0}}, +/* 30604 */ {(13<<2)|2,{55,86,0}}, +/* 30605 */ {(13<<2)|2,{55,86,0}}, +/* 30606 */ {(13<<2)|2,{55,86,0}}, +/* 30607 */ {(13<<2)|2,{55,86,0}}, +/* 30608 */ {(13<<2)|2,{55,87,0}}, +/* 30609 */ {(13<<2)|2,{55,87,0}}, +/* 30610 */ {(13<<2)|2,{55,87,0}}, +/* 30611 */ {(13<<2)|2,{55,87,0}}, +/* 30612 */ {(13<<2)|2,{55,87,0}}, +/* 30613 */ {(13<<2)|2,{55,87,0}}, +/* 30614 */ {(13<<2)|2,{55,87,0}}, +/* 30615 */ {(13<<2)|2,{55,87,0}}, +/* 30616 */ {(13<<2)|2,{55,89,0}}, +/* 30617 */ {(13<<2)|2,{55,89,0}}, +/* 30618 */ {(13<<2)|2,{55,89,0}}, +/* 30619 */ {(13<<2)|2,{55,89,0}}, +/* 30620 */ {(13<<2)|2,{55,89,0}}, +/* 30621 */ {(13<<2)|2,{55,89,0}}, +/* 30622 */ {(13<<2)|2,{55,89,0}}, +/* 30623 */ {(13<<2)|2,{55,89,0}}, +/* 30624 */ {(13<<2)|2,{55,106,0}}, +/* 30625 */ {(13<<2)|2,{55,106,0}}, +/* 30626 */ {(13<<2)|2,{55,106,0}}, +/* 30627 */ {(13<<2)|2,{55,106,0}}, +/* 30628 */ {(13<<2)|2,{55,106,0}}, +/* 30629 */ {(13<<2)|2,{55,106,0}}, +/* 30630 */ {(13<<2)|2,{55,106,0}}, +/* 30631 */ {(13<<2)|2,{55,106,0}}, +/* 30632 */ {(13<<2)|2,{55,107,0}}, +/* 30633 */ {(13<<2)|2,{55,107,0}}, +/* 30634 */ {(13<<2)|2,{55,107,0}}, +/* 30635 */ {(13<<2)|2,{55,107,0}}, +/* 30636 */ {(13<<2)|2,{55,107,0}}, +/* 30637 */ {(13<<2)|2,{55,107,0}}, +/* 30638 */ {(13<<2)|2,{55,107,0}}, +/* 30639 */ {(13<<2)|2,{55,107,0}}, +/* 30640 */ {(13<<2)|2,{55,113,0}}, +/* 30641 */ {(13<<2)|2,{55,113,0}}, +/* 30642 */ {(13<<2)|2,{55,113,0}}, +/* 30643 */ {(13<<2)|2,{55,113,0}}, +/* 30644 */ {(13<<2)|2,{55,113,0}}, +/* 30645 */ {(13<<2)|2,{55,113,0}}, +/* 30646 */ {(13<<2)|2,{55,113,0}}, +/* 30647 */ {(13<<2)|2,{55,113,0}}, +/* 30648 */ {(13<<2)|2,{55,118,0}}, +/* 30649 */ {(13<<2)|2,{55,118,0}}, +/* 30650 */ {(13<<2)|2,{55,118,0}}, +/* 30651 */ {(13<<2)|2,{55,118,0}}, +/* 30652 */ {(13<<2)|2,{55,118,0}}, +/* 30653 */ {(13<<2)|2,{55,118,0}}, +/* 30654 */ {(13<<2)|2,{55,118,0}}, +/* 30655 */ {(13<<2)|2,{55,118,0}}, +/* 30656 */ {(13<<2)|2,{55,119,0}}, +/* 30657 */ {(13<<2)|2,{55,119,0}}, +/* 30658 */ {(13<<2)|2,{55,119,0}}, +/* 30659 */ {(13<<2)|2,{55,119,0}}, +/* 30660 */ {(13<<2)|2,{55,119,0}}, +/* 30661 */ {(13<<2)|2,{55,119,0}}, +/* 30662 */ {(13<<2)|2,{55,119,0}}, +/* 30663 */ {(13<<2)|2,{55,119,0}}, +/* 30664 */ {(13<<2)|2,{55,120,0}}, +/* 30665 */ {(13<<2)|2,{55,120,0}}, +/* 30666 */ {(13<<2)|2,{55,120,0}}, +/* 30667 */ {(13<<2)|2,{55,120,0}}, +/* 30668 */ {(13<<2)|2,{55,120,0}}, +/* 30669 */ {(13<<2)|2,{55,120,0}}, +/* 30670 */ {(13<<2)|2,{55,120,0}}, +/* 30671 */ {(13<<2)|2,{55,120,0}}, +/* 30672 */ {(13<<2)|2,{55,121,0}}, +/* 30673 */ {(13<<2)|2,{55,121,0}}, +/* 30674 */ {(13<<2)|2,{55,121,0}}, +/* 30675 */ {(13<<2)|2,{55,121,0}}, +/* 30676 */ {(13<<2)|2,{55,121,0}}, +/* 30677 */ {(13<<2)|2,{55,121,0}}, +/* 30678 */ {(13<<2)|2,{55,121,0}}, +/* 30679 */ {(13<<2)|2,{55,121,0}}, +/* 30680 */ {(13<<2)|2,{55,122,0}}, +/* 30681 */ {(13<<2)|2,{55,122,0}}, +/* 30682 */ {(13<<2)|2,{55,122,0}}, +/* 30683 */ {(13<<2)|2,{55,122,0}}, +/* 30684 */ {(13<<2)|2,{55,122,0}}, +/* 30685 */ {(13<<2)|2,{55,122,0}}, +/* 30686 */ {(13<<2)|2,{55,122,0}}, +/* 30687 */ {(13<<2)|2,{55,122,0}}, +/* 30688 */ {(14<<2)|2,{55,38,0}}, +/* 30689 */ {(14<<2)|2,{55,38,0}}, +/* 30690 */ {(14<<2)|2,{55,38,0}}, +/* 30691 */ {(14<<2)|2,{55,38,0}}, +/* 30692 */ {(14<<2)|2,{55,42,0}}, +/* 30693 */ {(14<<2)|2,{55,42,0}}, +/* 30694 */ {(14<<2)|2,{55,42,0}}, +/* 30695 */ {(14<<2)|2,{55,42,0}}, +/* 30696 */ {(14<<2)|2,{55,44,0}}, +/* 30697 */ {(14<<2)|2,{55,44,0}}, +/* 30698 */ {(14<<2)|2,{55,44,0}}, +/* 30699 */ {(14<<2)|2,{55,44,0}}, +/* 30700 */ {(14<<2)|2,{55,59,0}}, +/* 30701 */ {(14<<2)|2,{55,59,0}}, +/* 30702 */ {(14<<2)|2,{55,59,0}}, +/* 30703 */ {(14<<2)|2,{55,59,0}}, +/* 30704 */ {(14<<2)|2,{55,88,0}}, +/* 30705 */ {(14<<2)|2,{55,88,0}}, +/* 30706 */ {(14<<2)|2,{55,88,0}}, +/* 30707 */ {(14<<2)|2,{55,88,0}}, +/* 30708 */ {(14<<2)|2,{55,90,0}}, +/* 30709 */ {(14<<2)|2,{55,90,0}}, +/* 30710 */ {(14<<2)|2,{55,90,0}}, +/* 30711 */ {(14<<2)|2,{55,90,0}}, +/* 30712 */ {(16<<2)|2,{55,33,0}}, +/* 30713 */ {(16<<2)|2,{55,34,0}}, +/* 30714 */ {(16<<2)|2,{55,40,0}}, +/* 30715 */ {(16<<2)|2,{55,41,0}}, +/* 30716 */ {(16<<2)|2,{55,63,0}}, +/* 30717 */ {(6<<2)|1,{55,0,0}}, +/* 30718 */ {(6<<2)|1,{55,0,0}}, +/* 30719 */ {(6<<2)|1,{55,0,0}}, +/* 30720 */ {(16<<2)|3,{56,48,48}}, +/* 30721 */ {(16<<2)|3,{56,48,49}}, +/* 30722 */ {(16<<2)|3,{56,48,50}}, +/* 30723 */ {(16<<2)|3,{56,48,97}}, +/* 30724 */ {(16<<2)|3,{56,48,99}}, +/* 30725 */ {(16<<2)|3,{56,48,101}}, +/* 30726 */ {(16<<2)|3,{56,48,105}}, +/* 30727 */ {(16<<2)|3,{56,48,111}}, +/* 30728 */ {(16<<2)|3,{56,48,115}}, +/* 30729 */ {(16<<2)|3,{56,48,116}}, +/* 30730 */ {(11<<2)|2,{56,48,0}}, +/* 30731 */ {(11<<2)|2,{56,48,0}}, +/* 30732 */ {(11<<2)|2,{56,48,0}}, +/* 30733 */ {(11<<2)|2,{56,48,0}}, +/* 30734 */ {(11<<2)|2,{56,48,0}}, +/* 30735 */ {(11<<2)|2,{56,48,0}}, +/* 30736 */ {(11<<2)|2,{56,48,0}}, +/* 30737 */ {(11<<2)|2,{56,48,0}}, +/* 30738 */ {(11<<2)|2,{56,48,0}}, +/* 30739 */ {(11<<2)|2,{56,48,0}}, +/* 30740 */ {(11<<2)|2,{56,48,0}}, +/* 30741 */ {(11<<2)|2,{56,48,0}}, +/* 30742 */ {(11<<2)|2,{56,48,0}}, +/* 30743 */ {(11<<2)|2,{56,48,0}}, +/* 30744 */ {(11<<2)|2,{56,48,0}}, +/* 30745 */ {(11<<2)|2,{56,48,0}}, +/* 30746 */ {(11<<2)|2,{56,48,0}}, +/* 30747 */ {(11<<2)|2,{56,48,0}}, +/* 30748 */ {(11<<2)|2,{56,48,0}}, +/* 30749 */ {(11<<2)|2,{56,48,0}}, +/* 30750 */ {(11<<2)|2,{56,48,0}}, +/* 30751 */ {(11<<2)|2,{56,48,0}}, +/* 30752 */ {(16<<2)|3,{56,49,48}}, +/* 30753 */ {(16<<2)|3,{56,49,49}}, +/* 30754 */ {(16<<2)|3,{56,49,50}}, +/* 30755 */ {(16<<2)|3,{56,49,97}}, +/* 30756 */ {(16<<2)|3,{56,49,99}}, +/* 30757 */ {(16<<2)|3,{56,49,101}}, +/* 30758 */ {(16<<2)|3,{56,49,105}}, +/* 30759 */ {(16<<2)|3,{56,49,111}}, +/* 30760 */ {(16<<2)|3,{56,49,115}}, +/* 30761 */ {(16<<2)|3,{56,49,116}}, +/* 30762 */ {(11<<2)|2,{56,49,0}}, +/* 30763 */ {(11<<2)|2,{56,49,0}}, +/* 30764 */ {(11<<2)|2,{56,49,0}}, +/* 30765 */ {(11<<2)|2,{56,49,0}}, +/* 30766 */ {(11<<2)|2,{56,49,0}}, +/* 30767 */ {(11<<2)|2,{56,49,0}}, +/* 30768 */ {(11<<2)|2,{56,49,0}}, +/* 30769 */ {(11<<2)|2,{56,49,0}}, +/* 30770 */ {(11<<2)|2,{56,49,0}}, +/* 30771 */ {(11<<2)|2,{56,49,0}}, +/* 30772 */ {(11<<2)|2,{56,49,0}}, +/* 30773 */ {(11<<2)|2,{56,49,0}}, +/* 30774 */ {(11<<2)|2,{56,49,0}}, +/* 30775 */ {(11<<2)|2,{56,49,0}}, +/* 30776 */ {(11<<2)|2,{56,49,0}}, +/* 30777 */ {(11<<2)|2,{56,49,0}}, +/* 30778 */ {(11<<2)|2,{56,49,0}}, +/* 30779 */ {(11<<2)|2,{56,49,0}}, +/* 30780 */ {(11<<2)|2,{56,49,0}}, +/* 30781 */ {(11<<2)|2,{56,49,0}}, +/* 30782 */ {(11<<2)|2,{56,49,0}}, +/* 30783 */ {(11<<2)|2,{56,49,0}}, +/* 30784 */ {(16<<2)|3,{56,50,48}}, +/* 30785 */ {(16<<2)|3,{56,50,49}}, +/* 30786 */ {(16<<2)|3,{56,50,50}}, +/* 30787 */ {(16<<2)|3,{56,50,97}}, +/* 30788 */ {(16<<2)|3,{56,50,99}}, +/* 30789 */ {(16<<2)|3,{56,50,101}}, +/* 30790 */ {(16<<2)|3,{56,50,105}}, +/* 30791 */ {(16<<2)|3,{56,50,111}}, +/* 30792 */ {(16<<2)|3,{56,50,115}}, +/* 30793 */ {(16<<2)|3,{56,50,116}}, +/* 30794 */ {(11<<2)|2,{56,50,0}}, +/* 30795 */ {(11<<2)|2,{56,50,0}}, +/* 30796 */ {(11<<2)|2,{56,50,0}}, +/* 30797 */ {(11<<2)|2,{56,50,0}}, +/* 30798 */ {(11<<2)|2,{56,50,0}}, +/* 30799 */ {(11<<2)|2,{56,50,0}}, +/* 30800 */ {(11<<2)|2,{56,50,0}}, +/* 30801 */ {(11<<2)|2,{56,50,0}}, +/* 30802 */ {(11<<2)|2,{56,50,0}}, +/* 30803 */ {(11<<2)|2,{56,50,0}}, +/* 30804 */ {(11<<2)|2,{56,50,0}}, +/* 30805 */ {(11<<2)|2,{56,50,0}}, +/* 30806 */ {(11<<2)|2,{56,50,0}}, +/* 30807 */ {(11<<2)|2,{56,50,0}}, +/* 30808 */ {(11<<2)|2,{56,50,0}}, +/* 30809 */ {(11<<2)|2,{56,50,0}}, +/* 30810 */ {(11<<2)|2,{56,50,0}}, +/* 30811 */ {(11<<2)|2,{56,50,0}}, +/* 30812 */ {(11<<2)|2,{56,50,0}}, +/* 30813 */ {(11<<2)|2,{56,50,0}}, +/* 30814 */ {(11<<2)|2,{56,50,0}}, +/* 30815 */ {(11<<2)|2,{56,50,0}}, +/* 30816 */ {(16<<2)|3,{56,97,48}}, +/* 30817 */ {(16<<2)|3,{56,97,49}}, +/* 30818 */ {(16<<2)|3,{56,97,50}}, +/* 30819 */ {(16<<2)|3,{56,97,97}}, +/* 30820 */ {(16<<2)|3,{56,97,99}}, +/* 30821 */ {(16<<2)|3,{56,97,101}}, +/* 30822 */ {(16<<2)|3,{56,97,105}}, +/* 30823 */ {(16<<2)|3,{56,97,111}}, +/* 30824 */ {(16<<2)|3,{56,97,115}}, +/* 30825 */ {(16<<2)|3,{56,97,116}}, +/* 30826 */ {(11<<2)|2,{56,97,0}}, +/* 30827 */ {(11<<2)|2,{56,97,0}}, +/* 30828 */ {(11<<2)|2,{56,97,0}}, +/* 30829 */ {(11<<2)|2,{56,97,0}}, +/* 30830 */ {(11<<2)|2,{56,97,0}}, +/* 30831 */ {(11<<2)|2,{56,97,0}}, +/* 30832 */ {(11<<2)|2,{56,97,0}}, +/* 30833 */ {(11<<2)|2,{56,97,0}}, +/* 30834 */ {(11<<2)|2,{56,97,0}}, +/* 30835 */ {(11<<2)|2,{56,97,0}}, +/* 30836 */ {(11<<2)|2,{56,97,0}}, +/* 30837 */ {(11<<2)|2,{56,97,0}}, +/* 30838 */ {(11<<2)|2,{56,97,0}}, +/* 30839 */ {(11<<2)|2,{56,97,0}}, +/* 30840 */ {(11<<2)|2,{56,97,0}}, +/* 30841 */ {(11<<2)|2,{56,97,0}}, +/* 30842 */ {(11<<2)|2,{56,97,0}}, +/* 30843 */ {(11<<2)|2,{56,97,0}}, +/* 30844 */ {(11<<2)|2,{56,97,0}}, +/* 30845 */ {(11<<2)|2,{56,97,0}}, +/* 30846 */ {(11<<2)|2,{56,97,0}}, +/* 30847 */ {(11<<2)|2,{56,97,0}}, +/* 30848 */ {(16<<2)|3,{56,99,48}}, +/* 30849 */ {(16<<2)|3,{56,99,49}}, +/* 30850 */ {(16<<2)|3,{56,99,50}}, +/* 30851 */ {(16<<2)|3,{56,99,97}}, +/* 30852 */ {(16<<2)|3,{56,99,99}}, +/* 30853 */ {(16<<2)|3,{56,99,101}}, +/* 30854 */ {(16<<2)|3,{56,99,105}}, +/* 30855 */ {(16<<2)|3,{56,99,111}}, +/* 30856 */ {(16<<2)|3,{56,99,115}}, +/* 30857 */ {(16<<2)|3,{56,99,116}}, +/* 30858 */ {(11<<2)|2,{56,99,0}}, +/* 30859 */ {(11<<2)|2,{56,99,0}}, +/* 30860 */ {(11<<2)|2,{56,99,0}}, +/* 30861 */ {(11<<2)|2,{56,99,0}}, +/* 30862 */ {(11<<2)|2,{56,99,0}}, +/* 30863 */ {(11<<2)|2,{56,99,0}}, +/* 30864 */ {(11<<2)|2,{56,99,0}}, +/* 30865 */ {(11<<2)|2,{56,99,0}}, +/* 30866 */ {(11<<2)|2,{56,99,0}}, +/* 30867 */ {(11<<2)|2,{56,99,0}}, +/* 30868 */ {(11<<2)|2,{56,99,0}}, +/* 30869 */ {(11<<2)|2,{56,99,0}}, +/* 30870 */ {(11<<2)|2,{56,99,0}}, +/* 30871 */ {(11<<2)|2,{56,99,0}}, +/* 30872 */ {(11<<2)|2,{56,99,0}}, +/* 30873 */ {(11<<2)|2,{56,99,0}}, +/* 30874 */ {(11<<2)|2,{56,99,0}}, +/* 30875 */ {(11<<2)|2,{56,99,0}}, +/* 30876 */ {(11<<2)|2,{56,99,0}}, +/* 30877 */ {(11<<2)|2,{56,99,0}}, +/* 30878 */ {(11<<2)|2,{56,99,0}}, +/* 30879 */ {(11<<2)|2,{56,99,0}}, +/* 30880 */ {(16<<2)|3,{56,101,48}}, +/* 30881 */ {(16<<2)|3,{56,101,49}}, +/* 30882 */ {(16<<2)|3,{56,101,50}}, +/* 30883 */ {(16<<2)|3,{56,101,97}}, +/* 30884 */ {(16<<2)|3,{56,101,99}}, +/* 30885 */ {(16<<2)|3,{56,101,101}}, +/* 30886 */ {(16<<2)|3,{56,101,105}}, +/* 30887 */ {(16<<2)|3,{56,101,111}}, +/* 30888 */ {(16<<2)|3,{56,101,115}}, +/* 30889 */ {(16<<2)|3,{56,101,116}}, +/* 30890 */ {(11<<2)|2,{56,101,0}}, +/* 30891 */ {(11<<2)|2,{56,101,0}}, +/* 30892 */ {(11<<2)|2,{56,101,0}}, +/* 30893 */ {(11<<2)|2,{56,101,0}}, +/* 30894 */ {(11<<2)|2,{56,101,0}}, +/* 30895 */ {(11<<2)|2,{56,101,0}}, +/* 30896 */ {(11<<2)|2,{56,101,0}}, +/* 30897 */ {(11<<2)|2,{56,101,0}}, +/* 30898 */ {(11<<2)|2,{56,101,0}}, +/* 30899 */ {(11<<2)|2,{56,101,0}}, +/* 30900 */ {(11<<2)|2,{56,101,0}}, +/* 30901 */ {(11<<2)|2,{56,101,0}}, +/* 30902 */ {(11<<2)|2,{56,101,0}}, +/* 30903 */ {(11<<2)|2,{56,101,0}}, +/* 30904 */ {(11<<2)|2,{56,101,0}}, +/* 30905 */ {(11<<2)|2,{56,101,0}}, +/* 30906 */ {(11<<2)|2,{56,101,0}}, +/* 30907 */ {(11<<2)|2,{56,101,0}}, +/* 30908 */ {(11<<2)|2,{56,101,0}}, +/* 30909 */ {(11<<2)|2,{56,101,0}}, +/* 30910 */ {(11<<2)|2,{56,101,0}}, +/* 30911 */ {(11<<2)|2,{56,101,0}}, +/* 30912 */ {(16<<2)|3,{56,105,48}}, +/* 30913 */ {(16<<2)|3,{56,105,49}}, +/* 30914 */ {(16<<2)|3,{56,105,50}}, +/* 30915 */ {(16<<2)|3,{56,105,97}}, +/* 30916 */ {(16<<2)|3,{56,105,99}}, +/* 30917 */ {(16<<2)|3,{56,105,101}}, +/* 30918 */ {(16<<2)|3,{56,105,105}}, +/* 30919 */ {(16<<2)|3,{56,105,111}}, +/* 30920 */ {(16<<2)|3,{56,105,115}}, +/* 30921 */ {(16<<2)|3,{56,105,116}}, +/* 30922 */ {(11<<2)|2,{56,105,0}}, +/* 30923 */ {(11<<2)|2,{56,105,0}}, +/* 30924 */ {(11<<2)|2,{56,105,0}}, +/* 30925 */ {(11<<2)|2,{56,105,0}}, +/* 30926 */ {(11<<2)|2,{56,105,0}}, +/* 30927 */ {(11<<2)|2,{56,105,0}}, +/* 30928 */ {(11<<2)|2,{56,105,0}}, +/* 30929 */ {(11<<2)|2,{56,105,0}}, +/* 30930 */ {(11<<2)|2,{56,105,0}}, +/* 30931 */ {(11<<2)|2,{56,105,0}}, +/* 30932 */ {(11<<2)|2,{56,105,0}}, +/* 30933 */ {(11<<2)|2,{56,105,0}}, +/* 30934 */ {(11<<2)|2,{56,105,0}}, +/* 30935 */ {(11<<2)|2,{56,105,0}}, +/* 30936 */ {(11<<2)|2,{56,105,0}}, +/* 30937 */ {(11<<2)|2,{56,105,0}}, +/* 30938 */ {(11<<2)|2,{56,105,0}}, +/* 30939 */ {(11<<2)|2,{56,105,0}}, +/* 30940 */ {(11<<2)|2,{56,105,0}}, +/* 30941 */ {(11<<2)|2,{56,105,0}}, +/* 30942 */ {(11<<2)|2,{56,105,0}}, +/* 30943 */ {(11<<2)|2,{56,105,0}}, +/* 30944 */ {(16<<2)|3,{56,111,48}}, +/* 30945 */ {(16<<2)|3,{56,111,49}}, +/* 30946 */ {(16<<2)|3,{56,111,50}}, +/* 30947 */ {(16<<2)|3,{56,111,97}}, +/* 30948 */ {(16<<2)|3,{56,111,99}}, +/* 30949 */ {(16<<2)|3,{56,111,101}}, +/* 30950 */ {(16<<2)|3,{56,111,105}}, +/* 30951 */ {(16<<2)|3,{56,111,111}}, +/* 30952 */ {(16<<2)|3,{56,111,115}}, +/* 30953 */ {(16<<2)|3,{56,111,116}}, +/* 30954 */ {(11<<2)|2,{56,111,0}}, +/* 30955 */ {(11<<2)|2,{56,111,0}}, +/* 30956 */ {(11<<2)|2,{56,111,0}}, +/* 30957 */ {(11<<2)|2,{56,111,0}}, +/* 30958 */ {(11<<2)|2,{56,111,0}}, +/* 30959 */ {(11<<2)|2,{56,111,0}}, +/* 30960 */ {(11<<2)|2,{56,111,0}}, +/* 30961 */ {(11<<2)|2,{56,111,0}}, +/* 30962 */ {(11<<2)|2,{56,111,0}}, +/* 30963 */ {(11<<2)|2,{56,111,0}}, +/* 30964 */ {(11<<2)|2,{56,111,0}}, +/* 30965 */ {(11<<2)|2,{56,111,0}}, +/* 30966 */ {(11<<2)|2,{56,111,0}}, +/* 30967 */ {(11<<2)|2,{56,111,0}}, +/* 30968 */ {(11<<2)|2,{56,111,0}}, +/* 30969 */ {(11<<2)|2,{56,111,0}}, +/* 30970 */ {(11<<2)|2,{56,111,0}}, +/* 30971 */ {(11<<2)|2,{56,111,0}}, +/* 30972 */ {(11<<2)|2,{56,111,0}}, +/* 30973 */ {(11<<2)|2,{56,111,0}}, +/* 30974 */ {(11<<2)|2,{56,111,0}}, +/* 30975 */ {(11<<2)|2,{56,111,0}}, +/* 30976 */ {(16<<2)|3,{56,115,48}}, +/* 30977 */ {(16<<2)|3,{56,115,49}}, +/* 30978 */ {(16<<2)|3,{56,115,50}}, +/* 30979 */ {(16<<2)|3,{56,115,97}}, +/* 30980 */ {(16<<2)|3,{56,115,99}}, +/* 30981 */ {(16<<2)|3,{56,115,101}}, +/* 30982 */ {(16<<2)|3,{56,115,105}}, +/* 30983 */ {(16<<2)|3,{56,115,111}}, +/* 30984 */ {(16<<2)|3,{56,115,115}}, +/* 30985 */ {(16<<2)|3,{56,115,116}}, +/* 30986 */ {(11<<2)|2,{56,115,0}}, +/* 30987 */ {(11<<2)|2,{56,115,0}}, +/* 30988 */ {(11<<2)|2,{56,115,0}}, +/* 30989 */ {(11<<2)|2,{56,115,0}}, +/* 30990 */ {(11<<2)|2,{56,115,0}}, +/* 30991 */ {(11<<2)|2,{56,115,0}}, +/* 30992 */ {(11<<2)|2,{56,115,0}}, +/* 30993 */ {(11<<2)|2,{56,115,0}}, +/* 30994 */ {(11<<2)|2,{56,115,0}}, +/* 30995 */ {(11<<2)|2,{56,115,0}}, +/* 30996 */ {(11<<2)|2,{56,115,0}}, +/* 30997 */ {(11<<2)|2,{56,115,0}}, +/* 30998 */ {(11<<2)|2,{56,115,0}}, +/* 30999 */ {(11<<2)|2,{56,115,0}}, +/* 31000 */ {(11<<2)|2,{56,115,0}}, +/* 31001 */ {(11<<2)|2,{56,115,0}}, +/* 31002 */ {(11<<2)|2,{56,115,0}}, +/* 31003 */ {(11<<2)|2,{56,115,0}}, +/* 31004 */ {(11<<2)|2,{56,115,0}}, +/* 31005 */ {(11<<2)|2,{56,115,0}}, +/* 31006 */ {(11<<2)|2,{56,115,0}}, +/* 31007 */ {(11<<2)|2,{56,115,0}}, +/* 31008 */ {(16<<2)|3,{56,116,48}}, +/* 31009 */ {(16<<2)|3,{56,116,49}}, +/* 31010 */ {(16<<2)|3,{56,116,50}}, +/* 31011 */ {(16<<2)|3,{56,116,97}}, +/* 31012 */ {(16<<2)|3,{56,116,99}}, +/* 31013 */ {(16<<2)|3,{56,116,101}}, +/* 31014 */ {(16<<2)|3,{56,116,105}}, +/* 31015 */ {(16<<2)|3,{56,116,111}}, +/* 31016 */ {(16<<2)|3,{56,116,115}}, +/* 31017 */ {(16<<2)|3,{56,116,116}}, +/* 31018 */ {(11<<2)|2,{56,116,0}}, +/* 31019 */ {(11<<2)|2,{56,116,0}}, +/* 31020 */ {(11<<2)|2,{56,116,0}}, +/* 31021 */ {(11<<2)|2,{56,116,0}}, +/* 31022 */ {(11<<2)|2,{56,116,0}}, +/* 31023 */ {(11<<2)|2,{56,116,0}}, +/* 31024 */ {(11<<2)|2,{56,116,0}}, +/* 31025 */ {(11<<2)|2,{56,116,0}}, +/* 31026 */ {(11<<2)|2,{56,116,0}}, +/* 31027 */ {(11<<2)|2,{56,116,0}}, +/* 31028 */ {(11<<2)|2,{56,116,0}}, +/* 31029 */ {(11<<2)|2,{56,116,0}}, +/* 31030 */ {(11<<2)|2,{56,116,0}}, +/* 31031 */ {(11<<2)|2,{56,116,0}}, +/* 31032 */ {(11<<2)|2,{56,116,0}}, +/* 31033 */ {(11<<2)|2,{56,116,0}}, +/* 31034 */ {(11<<2)|2,{56,116,0}}, +/* 31035 */ {(11<<2)|2,{56,116,0}}, +/* 31036 */ {(11<<2)|2,{56,116,0}}, +/* 31037 */ {(11<<2)|2,{56,116,0}}, +/* 31038 */ {(11<<2)|2,{56,116,0}}, +/* 31039 */ {(11<<2)|2,{56,116,0}}, +/* 31040 */ {(12<<2)|2,{56,32,0}}, +/* 31041 */ {(12<<2)|2,{56,32,0}}, +/* 31042 */ {(12<<2)|2,{56,32,0}}, +/* 31043 */ {(12<<2)|2,{56,32,0}}, +/* 31044 */ {(12<<2)|2,{56,32,0}}, +/* 31045 */ {(12<<2)|2,{56,32,0}}, +/* 31046 */ {(12<<2)|2,{56,32,0}}, +/* 31047 */ {(12<<2)|2,{56,32,0}}, +/* 31048 */ {(12<<2)|2,{56,32,0}}, +/* 31049 */ {(12<<2)|2,{56,32,0}}, +/* 31050 */ {(12<<2)|2,{56,32,0}}, +/* 31051 */ {(12<<2)|2,{56,32,0}}, +/* 31052 */ {(12<<2)|2,{56,32,0}}, +/* 31053 */ {(12<<2)|2,{56,32,0}}, +/* 31054 */ {(12<<2)|2,{56,32,0}}, +/* 31055 */ {(12<<2)|2,{56,32,0}}, +/* 31056 */ {(12<<2)|2,{56,37,0}}, +/* 31057 */ {(12<<2)|2,{56,37,0}}, +/* 31058 */ {(12<<2)|2,{56,37,0}}, +/* 31059 */ {(12<<2)|2,{56,37,0}}, +/* 31060 */ {(12<<2)|2,{56,37,0}}, +/* 31061 */ {(12<<2)|2,{56,37,0}}, +/* 31062 */ {(12<<2)|2,{56,37,0}}, +/* 31063 */ {(12<<2)|2,{56,37,0}}, +/* 31064 */ {(12<<2)|2,{56,37,0}}, +/* 31065 */ {(12<<2)|2,{56,37,0}}, +/* 31066 */ {(12<<2)|2,{56,37,0}}, +/* 31067 */ {(12<<2)|2,{56,37,0}}, +/* 31068 */ {(12<<2)|2,{56,37,0}}, +/* 31069 */ {(12<<2)|2,{56,37,0}}, +/* 31070 */ {(12<<2)|2,{56,37,0}}, +/* 31071 */ {(12<<2)|2,{56,37,0}}, +/* 31072 */ {(12<<2)|2,{56,45,0}}, +/* 31073 */ {(12<<2)|2,{56,45,0}}, +/* 31074 */ {(12<<2)|2,{56,45,0}}, +/* 31075 */ {(12<<2)|2,{56,45,0}}, +/* 31076 */ {(12<<2)|2,{56,45,0}}, +/* 31077 */ {(12<<2)|2,{56,45,0}}, +/* 31078 */ {(12<<2)|2,{56,45,0}}, +/* 31079 */ {(12<<2)|2,{56,45,0}}, +/* 31080 */ {(12<<2)|2,{56,45,0}}, +/* 31081 */ {(12<<2)|2,{56,45,0}}, +/* 31082 */ {(12<<2)|2,{56,45,0}}, +/* 31083 */ {(12<<2)|2,{56,45,0}}, +/* 31084 */ {(12<<2)|2,{56,45,0}}, +/* 31085 */ {(12<<2)|2,{56,45,0}}, +/* 31086 */ {(12<<2)|2,{56,45,0}}, +/* 31087 */ {(12<<2)|2,{56,45,0}}, +/* 31088 */ {(12<<2)|2,{56,46,0}}, +/* 31089 */ {(12<<2)|2,{56,46,0}}, +/* 31090 */ {(12<<2)|2,{56,46,0}}, +/* 31091 */ {(12<<2)|2,{56,46,0}}, +/* 31092 */ {(12<<2)|2,{56,46,0}}, +/* 31093 */ {(12<<2)|2,{56,46,0}}, +/* 31094 */ {(12<<2)|2,{56,46,0}}, +/* 31095 */ {(12<<2)|2,{56,46,0}}, +/* 31096 */ {(12<<2)|2,{56,46,0}}, +/* 31097 */ {(12<<2)|2,{56,46,0}}, +/* 31098 */ {(12<<2)|2,{56,46,0}}, +/* 31099 */ {(12<<2)|2,{56,46,0}}, +/* 31100 */ {(12<<2)|2,{56,46,0}}, +/* 31101 */ {(12<<2)|2,{56,46,0}}, +/* 31102 */ {(12<<2)|2,{56,46,0}}, +/* 31103 */ {(12<<2)|2,{56,46,0}}, +/* 31104 */ {(12<<2)|2,{56,47,0}}, +/* 31105 */ {(12<<2)|2,{56,47,0}}, +/* 31106 */ {(12<<2)|2,{56,47,0}}, +/* 31107 */ {(12<<2)|2,{56,47,0}}, +/* 31108 */ {(12<<2)|2,{56,47,0}}, +/* 31109 */ {(12<<2)|2,{56,47,0}}, +/* 31110 */ {(12<<2)|2,{56,47,0}}, +/* 31111 */ {(12<<2)|2,{56,47,0}}, +/* 31112 */ {(12<<2)|2,{56,47,0}}, +/* 31113 */ {(12<<2)|2,{56,47,0}}, +/* 31114 */ {(12<<2)|2,{56,47,0}}, +/* 31115 */ {(12<<2)|2,{56,47,0}}, +/* 31116 */ {(12<<2)|2,{56,47,0}}, +/* 31117 */ {(12<<2)|2,{56,47,0}}, +/* 31118 */ {(12<<2)|2,{56,47,0}}, +/* 31119 */ {(12<<2)|2,{56,47,0}}, +/* 31120 */ {(12<<2)|2,{56,51,0}}, +/* 31121 */ {(12<<2)|2,{56,51,0}}, +/* 31122 */ {(12<<2)|2,{56,51,0}}, +/* 31123 */ {(12<<2)|2,{56,51,0}}, +/* 31124 */ {(12<<2)|2,{56,51,0}}, +/* 31125 */ {(12<<2)|2,{56,51,0}}, +/* 31126 */ {(12<<2)|2,{56,51,0}}, +/* 31127 */ {(12<<2)|2,{56,51,0}}, +/* 31128 */ {(12<<2)|2,{56,51,0}}, +/* 31129 */ {(12<<2)|2,{56,51,0}}, +/* 31130 */ {(12<<2)|2,{56,51,0}}, +/* 31131 */ {(12<<2)|2,{56,51,0}}, +/* 31132 */ {(12<<2)|2,{56,51,0}}, +/* 31133 */ {(12<<2)|2,{56,51,0}}, +/* 31134 */ {(12<<2)|2,{56,51,0}}, +/* 31135 */ {(12<<2)|2,{56,51,0}}, +/* 31136 */ {(12<<2)|2,{56,52,0}}, +/* 31137 */ {(12<<2)|2,{56,52,0}}, +/* 31138 */ {(12<<2)|2,{56,52,0}}, +/* 31139 */ {(12<<2)|2,{56,52,0}}, +/* 31140 */ {(12<<2)|2,{56,52,0}}, +/* 31141 */ {(12<<2)|2,{56,52,0}}, +/* 31142 */ {(12<<2)|2,{56,52,0}}, +/* 31143 */ {(12<<2)|2,{56,52,0}}, +/* 31144 */ {(12<<2)|2,{56,52,0}}, +/* 31145 */ {(12<<2)|2,{56,52,0}}, +/* 31146 */ {(12<<2)|2,{56,52,0}}, +/* 31147 */ {(12<<2)|2,{56,52,0}}, +/* 31148 */ {(12<<2)|2,{56,52,0}}, +/* 31149 */ {(12<<2)|2,{56,52,0}}, +/* 31150 */ {(12<<2)|2,{56,52,0}}, +/* 31151 */ {(12<<2)|2,{56,52,0}}, +/* 31152 */ {(12<<2)|2,{56,53,0}}, +/* 31153 */ {(12<<2)|2,{56,53,0}}, +/* 31154 */ {(12<<2)|2,{56,53,0}}, +/* 31155 */ {(12<<2)|2,{56,53,0}}, +/* 31156 */ {(12<<2)|2,{56,53,0}}, +/* 31157 */ {(12<<2)|2,{56,53,0}}, +/* 31158 */ {(12<<2)|2,{56,53,0}}, +/* 31159 */ {(12<<2)|2,{56,53,0}}, +/* 31160 */ {(12<<2)|2,{56,53,0}}, +/* 31161 */ {(12<<2)|2,{56,53,0}}, +/* 31162 */ {(12<<2)|2,{56,53,0}}, +/* 31163 */ {(12<<2)|2,{56,53,0}}, +/* 31164 */ {(12<<2)|2,{56,53,0}}, +/* 31165 */ {(12<<2)|2,{56,53,0}}, +/* 31166 */ {(12<<2)|2,{56,53,0}}, +/* 31167 */ {(12<<2)|2,{56,53,0}}, +/* 31168 */ {(12<<2)|2,{56,54,0}}, +/* 31169 */ {(12<<2)|2,{56,54,0}}, +/* 31170 */ {(12<<2)|2,{56,54,0}}, +/* 31171 */ {(12<<2)|2,{56,54,0}}, +/* 31172 */ {(12<<2)|2,{56,54,0}}, +/* 31173 */ {(12<<2)|2,{56,54,0}}, +/* 31174 */ {(12<<2)|2,{56,54,0}}, +/* 31175 */ {(12<<2)|2,{56,54,0}}, +/* 31176 */ {(12<<2)|2,{56,54,0}}, +/* 31177 */ {(12<<2)|2,{56,54,0}}, +/* 31178 */ {(12<<2)|2,{56,54,0}}, +/* 31179 */ {(12<<2)|2,{56,54,0}}, +/* 31180 */ {(12<<2)|2,{56,54,0}}, +/* 31181 */ {(12<<2)|2,{56,54,0}}, +/* 31182 */ {(12<<2)|2,{56,54,0}}, +/* 31183 */ {(12<<2)|2,{56,54,0}}, +/* 31184 */ {(12<<2)|2,{56,55,0}}, +/* 31185 */ {(12<<2)|2,{56,55,0}}, +/* 31186 */ {(12<<2)|2,{56,55,0}}, +/* 31187 */ {(12<<2)|2,{56,55,0}}, +/* 31188 */ {(12<<2)|2,{56,55,0}}, +/* 31189 */ {(12<<2)|2,{56,55,0}}, +/* 31190 */ {(12<<2)|2,{56,55,0}}, +/* 31191 */ {(12<<2)|2,{56,55,0}}, +/* 31192 */ {(12<<2)|2,{56,55,0}}, +/* 31193 */ {(12<<2)|2,{56,55,0}}, +/* 31194 */ {(12<<2)|2,{56,55,0}}, +/* 31195 */ {(12<<2)|2,{56,55,0}}, +/* 31196 */ {(12<<2)|2,{56,55,0}}, +/* 31197 */ {(12<<2)|2,{56,55,0}}, +/* 31198 */ {(12<<2)|2,{56,55,0}}, +/* 31199 */ {(12<<2)|2,{56,55,0}}, +/* 31200 */ {(12<<2)|2,{56,56,0}}, +/* 31201 */ {(12<<2)|2,{56,56,0}}, +/* 31202 */ {(12<<2)|2,{56,56,0}}, +/* 31203 */ {(12<<2)|2,{56,56,0}}, +/* 31204 */ {(12<<2)|2,{56,56,0}}, +/* 31205 */ {(12<<2)|2,{56,56,0}}, +/* 31206 */ {(12<<2)|2,{56,56,0}}, +/* 31207 */ {(12<<2)|2,{56,56,0}}, +/* 31208 */ {(12<<2)|2,{56,56,0}}, +/* 31209 */ {(12<<2)|2,{56,56,0}}, +/* 31210 */ {(12<<2)|2,{56,56,0}}, +/* 31211 */ {(12<<2)|2,{56,56,0}}, +/* 31212 */ {(12<<2)|2,{56,56,0}}, +/* 31213 */ {(12<<2)|2,{56,56,0}}, +/* 31214 */ {(12<<2)|2,{56,56,0}}, +/* 31215 */ {(12<<2)|2,{56,56,0}}, +/* 31216 */ {(12<<2)|2,{56,57,0}}, +/* 31217 */ {(12<<2)|2,{56,57,0}}, +/* 31218 */ {(12<<2)|2,{56,57,0}}, +/* 31219 */ {(12<<2)|2,{56,57,0}}, +/* 31220 */ {(12<<2)|2,{56,57,0}}, +/* 31221 */ {(12<<2)|2,{56,57,0}}, +/* 31222 */ {(12<<2)|2,{56,57,0}}, +/* 31223 */ {(12<<2)|2,{56,57,0}}, +/* 31224 */ {(12<<2)|2,{56,57,0}}, +/* 31225 */ {(12<<2)|2,{56,57,0}}, +/* 31226 */ {(12<<2)|2,{56,57,0}}, +/* 31227 */ {(12<<2)|2,{56,57,0}}, +/* 31228 */ {(12<<2)|2,{56,57,0}}, +/* 31229 */ {(12<<2)|2,{56,57,0}}, +/* 31230 */ {(12<<2)|2,{56,57,0}}, +/* 31231 */ {(12<<2)|2,{56,57,0}}, +/* 31232 */ {(12<<2)|2,{56,61,0}}, +/* 31233 */ {(12<<2)|2,{56,61,0}}, +/* 31234 */ {(12<<2)|2,{56,61,0}}, +/* 31235 */ {(12<<2)|2,{56,61,0}}, +/* 31236 */ {(12<<2)|2,{56,61,0}}, +/* 31237 */ {(12<<2)|2,{56,61,0}}, +/* 31238 */ {(12<<2)|2,{56,61,0}}, +/* 31239 */ {(12<<2)|2,{56,61,0}}, +/* 31240 */ {(12<<2)|2,{56,61,0}}, +/* 31241 */ {(12<<2)|2,{56,61,0}}, +/* 31242 */ {(12<<2)|2,{56,61,0}}, +/* 31243 */ {(12<<2)|2,{56,61,0}}, +/* 31244 */ {(12<<2)|2,{56,61,0}}, +/* 31245 */ {(12<<2)|2,{56,61,0}}, +/* 31246 */ {(12<<2)|2,{56,61,0}}, +/* 31247 */ {(12<<2)|2,{56,61,0}}, +/* 31248 */ {(12<<2)|2,{56,65,0}}, +/* 31249 */ {(12<<2)|2,{56,65,0}}, +/* 31250 */ {(12<<2)|2,{56,65,0}}, +/* 31251 */ {(12<<2)|2,{56,65,0}}, +/* 31252 */ {(12<<2)|2,{56,65,0}}, +/* 31253 */ {(12<<2)|2,{56,65,0}}, +/* 31254 */ {(12<<2)|2,{56,65,0}}, +/* 31255 */ {(12<<2)|2,{56,65,0}}, +/* 31256 */ {(12<<2)|2,{56,65,0}}, +/* 31257 */ {(12<<2)|2,{56,65,0}}, +/* 31258 */ {(12<<2)|2,{56,65,0}}, +/* 31259 */ {(12<<2)|2,{56,65,0}}, +/* 31260 */ {(12<<2)|2,{56,65,0}}, +/* 31261 */ {(12<<2)|2,{56,65,0}}, +/* 31262 */ {(12<<2)|2,{56,65,0}}, +/* 31263 */ {(12<<2)|2,{56,65,0}}, +/* 31264 */ {(12<<2)|2,{56,95,0}}, +/* 31265 */ {(12<<2)|2,{56,95,0}}, +/* 31266 */ {(12<<2)|2,{56,95,0}}, +/* 31267 */ {(12<<2)|2,{56,95,0}}, +/* 31268 */ {(12<<2)|2,{56,95,0}}, +/* 31269 */ {(12<<2)|2,{56,95,0}}, +/* 31270 */ {(12<<2)|2,{56,95,0}}, +/* 31271 */ {(12<<2)|2,{56,95,0}}, +/* 31272 */ {(12<<2)|2,{56,95,0}}, +/* 31273 */ {(12<<2)|2,{56,95,0}}, +/* 31274 */ {(12<<2)|2,{56,95,0}}, +/* 31275 */ {(12<<2)|2,{56,95,0}}, +/* 31276 */ {(12<<2)|2,{56,95,0}}, +/* 31277 */ {(12<<2)|2,{56,95,0}}, +/* 31278 */ {(12<<2)|2,{56,95,0}}, +/* 31279 */ {(12<<2)|2,{56,95,0}}, +/* 31280 */ {(12<<2)|2,{56,98,0}}, +/* 31281 */ {(12<<2)|2,{56,98,0}}, +/* 31282 */ {(12<<2)|2,{56,98,0}}, +/* 31283 */ {(12<<2)|2,{56,98,0}}, +/* 31284 */ {(12<<2)|2,{56,98,0}}, +/* 31285 */ {(12<<2)|2,{56,98,0}}, +/* 31286 */ {(12<<2)|2,{56,98,0}}, +/* 31287 */ {(12<<2)|2,{56,98,0}}, +/* 31288 */ {(12<<2)|2,{56,98,0}}, +/* 31289 */ {(12<<2)|2,{56,98,0}}, +/* 31290 */ {(12<<2)|2,{56,98,0}}, +/* 31291 */ {(12<<2)|2,{56,98,0}}, +/* 31292 */ {(12<<2)|2,{56,98,0}}, +/* 31293 */ {(12<<2)|2,{56,98,0}}, +/* 31294 */ {(12<<2)|2,{56,98,0}}, +/* 31295 */ {(12<<2)|2,{56,98,0}}, +/* 31296 */ {(12<<2)|2,{56,100,0}}, +/* 31297 */ {(12<<2)|2,{56,100,0}}, +/* 31298 */ {(12<<2)|2,{56,100,0}}, +/* 31299 */ {(12<<2)|2,{56,100,0}}, +/* 31300 */ {(12<<2)|2,{56,100,0}}, +/* 31301 */ {(12<<2)|2,{56,100,0}}, +/* 31302 */ {(12<<2)|2,{56,100,0}}, +/* 31303 */ {(12<<2)|2,{56,100,0}}, +/* 31304 */ {(12<<2)|2,{56,100,0}}, +/* 31305 */ {(12<<2)|2,{56,100,0}}, +/* 31306 */ {(12<<2)|2,{56,100,0}}, +/* 31307 */ {(12<<2)|2,{56,100,0}}, +/* 31308 */ {(12<<2)|2,{56,100,0}}, +/* 31309 */ {(12<<2)|2,{56,100,0}}, +/* 31310 */ {(12<<2)|2,{56,100,0}}, +/* 31311 */ {(12<<2)|2,{56,100,0}}, +/* 31312 */ {(12<<2)|2,{56,102,0}}, +/* 31313 */ {(12<<2)|2,{56,102,0}}, +/* 31314 */ {(12<<2)|2,{56,102,0}}, +/* 31315 */ {(12<<2)|2,{56,102,0}}, +/* 31316 */ {(12<<2)|2,{56,102,0}}, +/* 31317 */ {(12<<2)|2,{56,102,0}}, +/* 31318 */ {(12<<2)|2,{56,102,0}}, +/* 31319 */ {(12<<2)|2,{56,102,0}}, +/* 31320 */ {(12<<2)|2,{56,102,0}}, +/* 31321 */ {(12<<2)|2,{56,102,0}}, +/* 31322 */ {(12<<2)|2,{56,102,0}}, +/* 31323 */ {(12<<2)|2,{56,102,0}}, +/* 31324 */ {(12<<2)|2,{56,102,0}}, +/* 31325 */ {(12<<2)|2,{56,102,0}}, +/* 31326 */ {(12<<2)|2,{56,102,0}}, +/* 31327 */ {(12<<2)|2,{56,102,0}}, +/* 31328 */ {(12<<2)|2,{56,103,0}}, +/* 31329 */ {(12<<2)|2,{56,103,0}}, +/* 31330 */ {(12<<2)|2,{56,103,0}}, +/* 31331 */ {(12<<2)|2,{56,103,0}}, +/* 31332 */ {(12<<2)|2,{56,103,0}}, +/* 31333 */ {(12<<2)|2,{56,103,0}}, +/* 31334 */ {(12<<2)|2,{56,103,0}}, +/* 31335 */ {(12<<2)|2,{56,103,0}}, +/* 31336 */ {(12<<2)|2,{56,103,0}}, +/* 31337 */ {(12<<2)|2,{56,103,0}}, +/* 31338 */ {(12<<2)|2,{56,103,0}}, +/* 31339 */ {(12<<2)|2,{56,103,0}}, +/* 31340 */ {(12<<2)|2,{56,103,0}}, +/* 31341 */ {(12<<2)|2,{56,103,0}}, +/* 31342 */ {(12<<2)|2,{56,103,0}}, +/* 31343 */ {(12<<2)|2,{56,103,0}}, +/* 31344 */ {(12<<2)|2,{56,104,0}}, +/* 31345 */ {(12<<2)|2,{56,104,0}}, +/* 31346 */ {(12<<2)|2,{56,104,0}}, +/* 31347 */ {(12<<2)|2,{56,104,0}}, +/* 31348 */ {(12<<2)|2,{56,104,0}}, +/* 31349 */ {(12<<2)|2,{56,104,0}}, +/* 31350 */ {(12<<2)|2,{56,104,0}}, +/* 31351 */ {(12<<2)|2,{56,104,0}}, +/* 31352 */ {(12<<2)|2,{56,104,0}}, +/* 31353 */ {(12<<2)|2,{56,104,0}}, +/* 31354 */ {(12<<2)|2,{56,104,0}}, +/* 31355 */ {(12<<2)|2,{56,104,0}}, +/* 31356 */ {(12<<2)|2,{56,104,0}}, +/* 31357 */ {(12<<2)|2,{56,104,0}}, +/* 31358 */ {(12<<2)|2,{56,104,0}}, +/* 31359 */ {(12<<2)|2,{56,104,0}}, +/* 31360 */ {(12<<2)|2,{56,108,0}}, +/* 31361 */ {(12<<2)|2,{56,108,0}}, +/* 31362 */ {(12<<2)|2,{56,108,0}}, +/* 31363 */ {(12<<2)|2,{56,108,0}}, +/* 31364 */ {(12<<2)|2,{56,108,0}}, +/* 31365 */ {(12<<2)|2,{56,108,0}}, +/* 31366 */ {(12<<2)|2,{56,108,0}}, +/* 31367 */ {(12<<2)|2,{56,108,0}}, +/* 31368 */ {(12<<2)|2,{56,108,0}}, +/* 31369 */ {(12<<2)|2,{56,108,0}}, +/* 31370 */ {(12<<2)|2,{56,108,0}}, +/* 31371 */ {(12<<2)|2,{56,108,0}}, +/* 31372 */ {(12<<2)|2,{56,108,0}}, +/* 31373 */ {(12<<2)|2,{56,108,0}}, +/* 31374 */ {(12<<2)|2,{56,108,0}}, +/* 31375 */ {(12<<2)|2,{56,108,0}}, +/* 31376 */ {(12<<2)|2,{56,109,0}}, +/* 31377 */ {(12<<2)|2,{56,109,0}}, +/* 31378 */ {(12<<2)|2,{56,109,0}}, +/* 31379 */ {(12<<2)|2,{56,109,0}}, +/* 31380 */ {(12<<2)|2,{56,109,0}}, +/* 31381 */ {(12<<2)|2,{56,109,0}}, +/* 31382 */ {(12<<2)|2,{56,109,0}}, +/* 31383 */ {(12<<2)|2,{56,109,0}}, +/* 31384 */ {(12<<2)|2,{56,109,0}}, +/* 31385 */ {(12<<2)|2,{56,109,0}}, +/* 31386 */ {(12<<2)|2,{56,109,0}}, +/* 31387 */ {(12<<2)|2,{56,109,0}}, +/* 31388 */ {(12<<2)|2,{56,109,0}}, +/* 31389 */ {(12<<2)|2,{56,109,0}}, +/* 31390 */ {(12<<2)|2,{56,109,0}}, +/* 31391 */ {(12<<2)|2,{56,109,0}}, +/* 31392 */ {(12<<2)|2,{56,110,0}}, +/* 31393 */ {(12<<2)|2,{56,110,0}}, +/* 31394 */ {(12<<2)|2,{56,110,0}}, +/* 31395 */ {(12<<2)|2,{56,110,0}}, +/* 31396 */ {(12<<2)|2,{56,110,0}}, +/* 31397 */ {(12<<2)|2,{56,110,0}}, +/* 31398 */ {(12<<2)|2,{56,110,0}}, +/* 31399 */ {(12<<2)|2,{56,110,0}}, +/* 31400 */ {(12<<2)|2,{56,110,0}}, +/* 31401 */ {(12<<2)|2,{56,110,0}}, +/* 31402 */ {(12<<2)|2,{56,110,0}}, +/* 31403 */ {(12<<2)|2,{56,110,0}}, +/* 31404 */ {(12<<2)|2,{56,110,0}}, +/* 31405 */ {(12<<2)|2,{56,110,0}}, +/* 31406 */ {(12<<2)|2,{56,110,0}}, +/* 31407 */ {(12<<2)|2,{56,110,0}}, +/* 31408 */ {(12<<2)|2,{56,112,0}}, +/* 31409 */ {(12<<2)|2,{56,112,0}}, +/* 31410 */ {(12<<2)|2,{56,112,0}}, +/* 31411 */ {(12<<2)|2,{56,112,0}}, +/* 31412 */ {(12<<2)|2,{56,112,0}}, +/* 31413 */ {(12<<2)|2,{56,112,0}}, +/* 31414 */ {(12<<2)|2,{56,112,0}}, +/* 31415 */ {(12<<2)|2,{56,112,0}}, +/* 31416 */ {(12<<2)|2,{56,112,0}}, +/* 31417 */ {(12<<2)|2,{56,112,0}}, +/* 31418 */ {(12<<2)|2,{56,112,0}}, +/* 31419 */ {(12<<2)|2,{56,112,0}}, +/* 31420 */ {(12<<2)|2,{56,112,0}}, +/* 31421 */ {(12<<2)|2,{56,112,0}}, +/* 31422 */ {(12<<2)|2,{56,112,0}}, +/* 31423 */ {(12<<2)|2,{56,112,0}}, +/* 31424 */ {(12<<2)|2,{56,114,0}}, +/* 31425 */ {(12<<2)|2,{56,114,0}}, +/* 31426 */ {(12<<2)|2,{56,114,0}}, +/* 31427 */ {(12<<2)|2,{56,114,0}}, +/* 31428 */ {(12<<2)|2,{56,114,0}}, +/* 31429 */ {(12<<2)|2,{56,114,0}}, +/* 31430 */ {(12<<2)|2,{56,114,0}}, +/* 31431 */ {(12<<2)|2,{56,114,0}}, +/* 31432 */ {(12<<2)|2,{56,114,0}}, +/* 31433 */ {(12<<2)|2,{56,114,0}}, +/* 31434 */ {(12<<2)|2,{56,114,0}}, +/* 31435 */ {(12<<2)|2,{56,114,0}}, +/* 31436 */ {(12<<2)|2,{56,114,0}}, +/* 31437 */ {(12<<2)|2,{56,114,0}}, +/* 31438 */ {(12<<2)|2,{56,114,0}}, +/* 31439 */ {(12<<2)|2,{56,114,0}}, +/* 31440 */ {(12<<2)|2,{56,117,0}}, +/* 31441 */ {(12<<2)|2,{56,117,0}}, +/* 31442 */ {(12<<2)|2,{56,117,0}}, +/* 31443 */ {(12<<2)|2,{56,117,0}}, +/* 31444 */ {(12<<2)|2,{56,117,0}}, +/* 31445 */ {(12<<2)|2,{56,117,0}}, +/* 31446 */ {(12<<2)|2,{56,117,0}}, +/* 31447 */ {(12<<2)|2,{56,117,0}}, +/* 31448 */ {(12<<2)|2,{56,117,0}}, +/* 31449 */ {(12<<2)|2,{56,117,0}}, +/* 31450 */ {(12<<2)|2,{56,117,0}}, +/* 31451 */ {(12<<2)|2,{56,117,0}}, +/* 31452 */ {(12<<2)|2,{56,117,0}}, +/* 31453 */ {(12<<2)|2,{56,117,0}}, +/* 31454 */ {(12<<2)|2,{56,117,0}}, +/* 31455 */ {(12<<2)|2,{56,117,0}}, +/* 31456 */ {(13<<2)|2,{56,58,0}}, +/* 31457 */ {(13<<2)|2,{56,58,0}}, +/* 31458 */ {(13<<2)|2,{56,58,0}}, +/* 31459 */ {(13<<2)|2,{56,58,0}}, +/* 31460 */ {(13<<2)|2,{56,58,0}}, +/* 31461 */ {(13<<2)|2,{56,58,0}}, +/* 31462 */ {(13<<2)|2,{56,58,0}}, +/* 31463 */ {(13<<2)|2,{56,58,0}}, +/* 31464 */ {(13<<2)|2,{56,66,0}}, +/* 31465 */ {(13<<2)|2,{56,66,0}}, +/* 31466 */ {(13<<2)|2,{56,66,0}}, +/* 31467 */ {(13<<2)|2,{56,66,0}}, +/* 31468 */ {(13<<2)|2,{56,66,0}}, +/* 31469 */ {(13<<2)|2,{56,66,0}}, +/* 31470 */ {(13<<2)|2,{56,66,0}}, +/* 31471 */ {(13<<2)|2,{56,66,0}}, +/* 31472 */ {(13<<2)|2,{56,67,0}}, +/* 31473 */ {(13<<2)|2,{56,67,0}}, +/* 31474 */ {(13<<2)|2,{56,67,0}}, +/* 31475 */ {(13<<2)|2,{56,67,0}}, +/* 31476 */ {(13<<2)|2,{56,67,0}}, +/* 31477 */ {(13<<2)|2,{56,67,0}}, +/* 31478 */ {(13<<2)|2,{56,67,0}}, +/* 31479 */ {(13<<2)|2,{56,67,0}}, +/* 31480 */ {(13<<2)|2,{56,68,0}}, +/* 31481 */ {(13<<2)|2,{56,68,0}}, +/* 31482 */ {(13<<2)|2,{56,68,0}}, +/* 31483 */ {(13<<2)|2,{56,68,0}}, +/* 31484 */ {(13<<2)|2,{56,68,0}}, +/* 31485 */ {(13<<2)|2,{56,68,0}}, +/* 31486 */ {(13<<2)|2,{56,68,0}}, +/* 31487 */ {(13<<2)|2,{56,68,0}}, +/* 31488 */ {(13<<2)|2,{56,69,0}}, +/* 31489 */ {(13<<2)|2,{56,69,0}}, +/* 31490 */ {(13<<2)|2,{56,69,0}}, +/* 31491 */ {(13<<2)|2,{56,69,0}}, +/* 31492 */ {(13<<2)|2,{56,69,0}}, +/* 31493 */ {(13<<2)|2,{56,69,0}}, +/* 31494 */ {(13<<2)|2,{56,69,0}}, +/* 31495 */ {(13<<2)|2,{56,69,0}}, +/* 31496 */ {(13<<2)|2,{56,70,0}}, +/* 31497 */ {(13<<2)|2,{56,70,0}}, +/* 31498 */ {(13<<2)|2,{56,70,0}}, +/* 31499 */ {(13<<2)|2,{56,70,0}}, +/* 31500 */ {(13<<2)|2,{56,70,0}}, +/* 31501 */ {(13<<2)|2,{56,70,0}}, +/* 31502 */ {(13<<2)|2,{56,70,0}}, +/* 31503 */ {(13<<2)|2,{56,70,0}}, +/* 31504 */ {(13<<2)|2,{56,71,0}}, +/* 31505 */ {(13<<2)|2,{56,71,0}}, +/* 31506 */ {(13<<2)|2,{56,71,0}}, +/* 31507 */ {(13<<2)|2,{56,71,0}}, +/* 31508 */ {(13<<2)|2,{56,71,0}}, +/* 31509 */ {(13<<2)|2,{56,71,0}}, +/* 31510 */ {(13<<2)|2,{56,71,0}}, +/* 31511 */ {(13<<2)|2,{56,71,0}}, +/* 31512 */ {(13<<2)|2,{56,72,0}}, +/* 31513 */ {(13<<2)|2,{56,72,0}}, +/* 31514 */ {(13<<2)|2,{56,72,0}}, +/* 31515 */ {(13<<2)|2,{56,72,0}}, +/* 31516 */ {(13<<2)|2,{56,72,0}}, +/* 31517 */ {(13<<2)|2,{56,72,0}}, +/* 31518 */ {(13<<2)|2,{56,72,0}}, +/* 31519 */ {(13<<2)|2,{56,72,0}}, +/* 31520 */ {(13<<2)|2,{56,73,0}}, +/* 31521 */ {(13<<2)|2,{56,73,0}}, +/* 31522 */ {(13<<2)|2,{56,73,0}}, +/* 31523 */ {(13<<2)|2,{56,73,0}}, +/* 31524 */ {(13<<2)|2,{56,73,0}}, +/* 31525 */ {(13<<2)|2,{56,73,0}}, +/* 31526 */ {(13<<2)|2,{56,73,0}}, +/* 31527 */ {(13<<2)|2,{56,73,0}}, +/* 31528 */ {(13<<2)|2,{56,74,0}}, +/* 31529 */ {(13<<2)|2,{56,74,0}}, +/* 31530 */ {(13<<2)|2,{56,74,0}}, +/* 31531 */ {(13<<2)|2,{56,74,0}}, +/* 31532 */ {(13<<2)|2,{56,74,0}}, +/* 31533 */ {(13<<2)|2,{56,74,0}}, +/* 31534 */ {(13<<2)|2,{56,74,0}}, +/* 31535 */ {(13<<2)|2,{56,74,0}}, +/* 31536 */ {(13<<2)|2,{56,75,0}}, +/* 31537 */ {(13<<2)|2,{56,75,0}}, +/* 31538 */ {(13<<2)|2,{56,75,0}}, +/* 31539 */ {(13<<2)|2,{56,75,0}}, +/* 31540 */ {(13<<2)|2,{56,75,0}}, +/* 31541 */ {(13<<2)|2,{56,75,0}}, +/* 31542 */ {(13<<2)|2,{56,75,0}}, +/* 31543 */ {(13<<2)|2,{56,75,0}}, +/* 31544 */ {(13<<2)|2,{56,76,0}}, +/* 31545 */ {(13<<2)|2,{56,76,0}}, +/* 31546 */ {(13<<2)|2,{56,76,0}}, +/* 31547 */ {(13<<2)|2,{56,76,0}}, +/* 31548 */ {(13<<2)|2,{56,76,0}}, +/* 31549 */ {(13<<2)|2,{56,76,0}}, +/* 31550 */ {(13<<2)|2,{56,76,0}}, +/* 31551 */ {(13<<2)|2,{56,76,0}}, +/* 31552 */ {(13<<2)|2,{56,77,0}}, +/* 31553 */ {(13<<2)|2,{56,77,0}}, +/* 31554 */ {(13<<2)|2,{56,77,0}}, +/* 31555 */ {(13<<2)|2,{56,77,0}}, +/* 31556 */ {(13<<2)|2,{56,77,0}}, +/* 31557 */ {(13<<2)|2,{56,77,0}}, +/* 31558 */ {(13<<2)|2,{56,77,0}}, +/* 31559 */ {(13<<2)|2,{56,77,0}}, +/* 31560 */ {(13<<2)|2,{56,78,0}}, +/* 31561 */ {(13<<2)|2,{56,78,0}}, +/* 31562 */ {(13<<2)|2,{56,78,0}}, +/* 31563 */ {(13<<2)|2,{56,78,0}}, +/* 31564 */ {(13<<2)|2,{56,78,0}}, +/* 31565 */ {(13<<2)|2,{56,78,0}}, +/* 31566 */ {(13<<2)|2,{56,78,0}}, +/* 31567 */ {(13<<2)|2,{56,78,0}}, +/* 31568 */ {(13<<2)|2,{56,79,0}}, +/* 31569 */ {(13<<2)|2,{56,79,0}}, +/* 31570 */ {(13<<2)|2,{56,79,0}}, +/* 31571 */ {(13<<2)|2,{56,79,0}}, +/* 31572 */ {(13<<2)|2,{56,79,0}}, +/* 31573 */ {(13<<2)|2,{56,79,0}}, +/* 31574 */ {(13<<2)|2,{56,79,0}}, +/* 31575 */ {(13<<2)|2,{56,79,0}}, +/* 31576 */ {(13<<2)|2,{56,80,0}}, +/* 31577 */ {(13<<2)|2,{56,80,0}}, +/* 31578 */ {(13<<2)|2,{56,80,0}}, +/* 31579 */ {(13<<2)|2,{56,80,0}}, +/* 31580 */ {(13<<2)|2,{56,80,0}}, +/* 31581 */ {(13<<2)|2,{56,80,0}}, +/* 31582 */ {(13<<2)|2,{56,80,0}}, +/* 31583 */ {(13<<2)|2,{56,80,0}}, +/* 31584 */ {(13<<2)|2,{56,81,0}}, +/* 31585 */ {(13<<2)|2,{56,81,0}}, +/* 31586 */ {(13<<2)|2,{56,81,0}}, +/* 31587 */ {(13<<2)|2,{56,81,0}}, +/* 31588 */ {(13<<2)|2,{56,81,0}}, +/* 31589 */ {(13<<2)|2,{56,81,0}}, +/* 31590 */ {(13<<2)|2,{56,81,0}}, +/* 31591 */ {(13<<2)|2,{56,81,0}}, +/* 31592 */ {(13<<2)|2,{56,82,0}}, +/* 31593 */ {(13<<2)|2,{56,82,0}}, +/* 31594 */ {(13<<2)|2,{56,82,0}}, +/* 31595 */ {(13<<2)|2,{56,82,0}}, +/* 31596 */ {(13<<2)|2,{56,82,0}}, +/* 31597 */ {(13<<2)|2,{56,82,0}}, +/* 31598 */ {(13<<2)|2,{56,82,0}}, +/* 31599 */ {(13<<2)|2,{56,82,0}}, +/* 31600 */ {(13<<2)|2,{56,83,0}}, +/* 31601 */ {(13<<2)|2,{56,83,0}}, +/* 31602 */ {(13<<2)|2,{56,83,0}}, +/* 31603 */ {(13<<2)|2,{56,83,0}}, +/* 31604 */ {(13<<2)|2,{56,83,0}}, +/* 31605 */ {(13<<2)|2,{56,83,0}}, +/* 31606 */ {(13<<2)|2,{56,83,0}}, +/* 31607 */ {(13<<2)|2,{56,83,0}}, +/* 31608 */ {(13<<2)|2,{56,84,0}}, +/* 31609 */ {(13<<2)|2,{56,84,0}}, +/* 31610 */ {(13<<2)|2,{56,84,0}}, +/* 31611 */ {(13<<2)|2,{56,84,0}}, +/* 31612 */ {(13<<2)|2,{56,84,0}}, +/* 31613 */ {(13<<2)|2,{56,84,0}}, +/* 31614 */ {(13<<2)|2,{56,84,0}}, +/* 31615 */ {(13<<2)|2,{56,84,0}}, +/* 31616 */ {(13<<2)|2,{56,85,0}}, +/* 31617 */ {(13<<2)|2,{56,85,0}}, +/* 31618 */ {(13<<2)|2,{56,85,0}}, +/* 31619 */ {(13<<2)|2,{56,85,0}}, +/* 31620 */ {(13<<2)|2,{56,85,0}}, +/* 31621 */ {(13<<2)|2,{56,85,0}}, +/* 31622 */ {(13<<2)|2,{56,85,0}}, +/* 31623 */ {(13<<2)|2,{56,85,0}}, +/* 31624 */ {(13<<2)|2,{56,86,0}}, +/* 31625 */ {(13<<2)|2,{56,86,0}}, +/* 31626 */ {(13<<2)|2,{56,86,0}}, +/* 31627 */ {(13<<2)|2,{56,86,0}}, +/* 31628 */ {(13<<2)|2,{56,86,0}}, +/* 31629 */ {(13<<2)|2,{56,86,0}}, +/* 31630 */ {(13<<2)|2,{56,86,0}}, +/* 31631 */ {(13<<2)|2,{56,86,0}}, +/* 31632 */ {(13<<2)|2,{56,87,0}}, +/* 31633 */ {(13<<2)|2,{56,87,0}}, +/* 31634 */ {(13<<2)|2,{56,87,0}}, +/* 31635 */ {(13<<2)|2,{56,87,0}}, +/* 31636 */ {(13<<2)|2,{56,87,0}}, +/* 31637 */ {(13<<2)|2,{56,87,0}}, +/* 31638 */ {(13<<2)|2,{56,87,0}}, +/* 31639 */ {(13<<2)|2,{56,87,0}}, +/* 31640 */ {(13<<2)|2,{56,89,0}}, +/* 31641 */ {(13<<2)|2,{56,89,0}}, +/* 31642 */ {(13<<2)|2,{56,89,0}}, +/* 31643 */ {(13<<2)|2,{56,89,0}}, +/* 31644 */ {(13<<2)|2,{56,89,0}}, +/* 31645 */ {(13<<2)|2,{56,89,0}}, +/* 31646 */ {(13<<2)|2,{56,89,0}}, +/* 31647 */ {(13<<2)|2,{56,89,0}}, +/* 31648 */ {(13<<2)|2,{56,106,0}}, +/* 31649 */ {(13<<2)|2,{56,106,0}}, +/* 31650 */ {(13<<2)|2,{56,106,0}}, +/* 31651 */ {(13<<2)|2,{56,106,0}}, +/* 31652 */ {(13<<2)|2,{56,106,0}}, +/* 31653 */ {(13<<2)|2,{56,106,0}}, +/* 31654 */ {(13<<2)|2,{56,106,0}}, +/* 31655 */ {(13<<2)|2,{56,106,0}}, +/* 31656 */ {(13<<2)|2,{56,107,0}}, +/* 31657 */ {(13<<2)|2,{56,107,0}}, +/* 31658 */ {(13<<2)|2,{56,107,0}}, +/* 31659 */ {(13<<2)|2,{56,107,0}}, +/* 31660 */ {(13<<2)|2,{56,107,0}}, +/* 31661 */ {(13<<2)|2,{56,107,0}}, +/* 31662 */ {(13<<2)|2,{56,107,0}}, +/* 31663 */ {(13<<2)|2,{56,107,0}}, +/* 31664 */ {(13<<2)|2,{56,113,0}}, +/* 31665 */ {(13<<2)|2,{56,113,0}}, +/* 31666 */ {(13<<2)|2,{56,113,0}}, +/* 31667 */ {(13<<2)|2,{56,113,0}}, +/* 31668 */ {(13<<2)|2,{56,113,0}}, +/* 31669 */ {(13<<2)|2,{56,113,0}}, +/* 31670 */ {(13<<2)|2,{56,113,0}}, +/* 31671 */ {(13<<2)|2,{56,113,0}}, +/* 31672 */ {(13<<2)|2,{56,118,0}}, +/* 31673 */ {(13<<2)|2,{56,118,0}}, +/* 31674 */ {(13<<2)|2,{56,118,0}}, +/* 31675 */ {(13<<2)|2,{56,118,0}}, +/* 31676 */ {(13<<2)|2,{56,118,0}}, +/* 31677 */ {(13<<2)|2,{56,118,0}}, +/* 31678 */ {(13<<2)|2,{56,118,0}}, +/* 31679 */ {(13<<2)|2,{56,118,0}}, +/* 31680 */ {(13<<2)|2,{56,119,0}}, +/* 31681 */ {(13<<2)|2,{56,119,0}}, +/* 31682 */ {(13<<2)|2,{56,119,0}}, +/* 31683 */ {(13<<2)|2,{56,119,0}}, +/* 31684 */ {(13<<2)|2,{56,119,0}}, +/* 31685 */ {(13<<2)|2,{56,119,0}}, +/* 31686 */ {(13<<2)|2,{56,119,0}}, +/* 31687 */ {(13<<2)|2,{56,119,0}}, +/* 31688 */ {(13<<2)|2,{56,120,0}}, +/* 31689 */ {(13<<2)|2,{56,120,0}}, +/* 31690 */ {(13<<2)|2,{56,120,0}}, +/* 31691 */ {(13<<2)|2,{56,120,0}}, +/* 31692 */ {(13<<2)|2,{56,120,0}}, +/* 31693 */ {(13<<2)|2,{56,120,0}}, +/* 31694 */ {(13<<2)|2,{56,120,0}}, +/* 31695 */ {(13<<2)|2,{56,120,0}}, +/* 31696 */ {(13<<2)|2,{56,121,0}}, +/* 31697 */ {(13<<2)|2,{56,121,0}}, +/* 31698 */ {(13<<2)|2,{56,121,0}}, +/* 31699 */ {(13<<2)|2,{56,121,0}}, +/* 31700 */ {(13<<2)|2,{56,121,0}}, +/* 31701 */ {(13<<2)|2,{56,121,0}}, +/* 31702 */ {(13<<2)|2,{56,121,0}}, +/* 31703 */ {(13<<2)|2,{56,121,0}}, +/* 31704 */ {(13<<2)|2,{56,122,0}}, +/* 31705 */ {(13<<2)|2,{56,122,0}}, +/* 31706 */ {(13<<2)|2,{56,122,0}}, +/* 31707 */ {(13<<2)|2,{56,122,0}}, +/* 31708 */ {(13<<2)|2,{56,122,0}}, +/* 31709 */ {(13<<2)|2,{56,122,0}}, +/* 31710 */ {(13<<2)|2,{56,122,0}}, +/* 31711 */ {(13<<2)|2,{56,122,0}}, +/* 31712 */ {(14<<2)|2,{56,38,0}}, +/* 31713 */ {(14<<2)|2,{56,38,0}}, +/* 31714 */ {(14<<2)|2,{56,38,0}}, +/* 31715 */ {(14<<2)|2,{56,38,0}}, +/* 31716 */ {(14<<2)|2,{56,42,0}}, +/* 31717 */ {(14<<2)|2,{56,42,0}}, +/* 31718 */ {(14<<2)|2,{56,42,0}}, +/* 31719 */ {(14<<2)|2,{56,42,0}}, +/* 31720 */ {(14<<2)|2,{56,44,0}}, +/* 31721 */ {(14<<2)|2,{56,44,0}}, +/* 31722 */ {(14<<2)|2,{56,44,0}}, +/* 31723 */ {(14<<2)|2,{56,44,0}}, +/* 31724 */ {(14<<2)|2,{56,59,0}}, +/* 31725 */ {(14<<2)|2,{56,59,0}}, +/* 31726 */ {(14<<2)|2,{56,59,0}}, +/* 31727 */ {(14<<2)|2,{56,59,0}}, +/* 31728 */ {(14<<2)|2,{56,88,0}}, +/* 31729 */ {(14<<2)|2,{56,88,0}}, +/* 31730 */ {(14<<2)|2,{56,88,0}}, +/* 31731 */ {(14<<2)|2,{56,88,0}}, +/* 31732 */ {(14<<2)|2,{56,90,0}}, +/* 31733 */ {(14<<2)|2,{56,90,0}}, +/* 31734 */ {(14<<2)|2,{56,90,0}}, +/* 31735 */ {(14<<2)|2,{56,90,0}}, +/* 31736 */ {(16<<2)|2,{56,33,0}}, +/* 31737 */ {(16<<2)|2,{56,34,0}}, +/* 31738 */ {(16<<2)|2,{56,40,0}}, +/* 31739 */ {(16<<2)|2,{56,41,0}}, +/* 31740 */ {(16<<2)|2,{56,63,0}}, +/* 31741 */ {(6<<2)|1,{56,0,0}}, +/* 31742 */ {(6<<2)|1,{56,0,0}}, +/* 31743 */ {(6<<2)|1,{56,0,0}}, +/* 31744 */ {(16<<2)|3,{57,48,48}}, +/* 31745 */ {(16<<2)|3,{57,48,49}}, +/* 31746 */ {(16<<2)|3,{57,48,50}}, +/* 31747 */ {(16<<2)|3,{57,48,97}}, +/* 31748 */ {(16<<2)|3,{57,48,99}}, +/* 31749 */ {(16<<2)|3,{57,48,101}}, +/* 31750 */ {(16<<2)|3,{57,48,105}}, +/* 31751 */ {(16<<2)|3,{57,48,111}}, +/* 31752 */ {(16<<2)|3,{57,48,115}}, +/* 31753 */ {(16<<2)|3,{57,48,116}}, +/* 31754 */ {(11<<2)|2,{57,48,0}}, +/* 31755 */ {(11<<2)|2,{57,48,0}}, +/* 31756 */ {(11<<2)|2,{57,48,0}}, +/* 31757 */ {(11<<2)|2,{57,48,0}}, +/* 31758 */ {(11<<2)|2,{57,48,0}}, +/* 31759 */ {(11<<2)|2,{57,48,0}}, +/* 31760 */ {(11<<2)|2,{57,48,0}}, +/* 31761 */ {(11<<2)|2,{57,48,0}}, +/* 31762 */ {(11<<2)|2,{57,48,0}}, +/* 31763 */ {(11<<2)|2,{57,48,0}}, +/* 31764 */ {(11<<2)|2,{57,48,0}}, +/* 31765 */ {(11<<2)|2,{57,48,0}}, +/* 31766 */ {(11<<2)|2,{57,48,0}}, +/* 31767 */ {(11<<2)|2,{57,48,0}}, +/* 31768 */ {(11<<2)|2,{57,48,0}}, +/* 31769 */ {(11<<2)|2,{57,48,0}}, +/* 31770 */ {(11<<2)|2,{57,48,0}}, +/* 31771 */ {(11<<2)|2,{57,48,0}}, +/* 31772 */ {(11<<2)|2,{57,48,0}}, +/* 31773 */ {(11<<2)|2,{57,48,0}}, +/* 31774 */ {(11<<2)|2,{57,48,0}}, +/* 31775 */ {(11<<2)|2,{57,48,0}}, +/* 31776 */ {(16<<2)|3,{57,49,48}}, +/* 31777 */ {(16<<2)|3,{57,49,49}}, +/* 31778 */ {(16<<2)|3,{57,49,50}}, +/* 31779 */ {(16<<2)|3,{57,49,97}}, +/* 31780 */ {(16<<2)|3,{57,49,99}}, +/* 31781 */ {(16<<2)|3,{57,49,101}}, +/* 31782 */ {(16<<2)|3,{57,49,105}}, +/* 31783 */ {(16<<2)|3,{57,49,111}}, +/* 31784 */ {(16<<2)|3,{57,49,115}}, +/* 31785 */ {(16<<2)|3,{57,49,116}}, +/* 31786 */ {(11<<2)|2,{57,49,0}}, +/* 31787 */ {(11<<2)|2,{57,49,0}}, +/* 31788 */ {(11<<2)|2,{57,49,0}}, +/* 31789 */ {(11<<2)|2,{57,49,0}}, +/* 31790 */ {(11<<2)|2,{57,49,0}}, +/* 31791 */ {(11<<2)|2,{57,49,0}}, +/* 31792 */ {(11<<2)|2,{57,49,0}}, +/* 31793 */ {(11<<2)|2,{57,49,0}}, +/* 31794 */ {(11<<2)|2,{57,49,0}}, +/* 31795 */ {(11<<2)|2,{57,49,0}}, +/* 31796 */ {(11<<2)|2,{57,49,0}}, +/* 31797 */ {(11<<2)|2,{57,49,0}}, +/* 31798 */ {(11<<2)|2,{57,49,0}}, +/* 31799 */ {(11<<2)|2,{57,49,0}}, +/* 31800 */ {(11<<2)|2,{57,49,0}}, +/* 31801 */ {(11<<2)|2,{57,49,0}}, +/* 31802 */ {(11<<2)|2,{57,49,0}}, +/* 31803 */ {(11<<2)|2,{57,49,0}}, +/* 31804 */ {(11<<2)|2,{57,49,0}}, +/* 31805 */ {(11<<2)|2,{57,49,0}}, +/* 31806 */ {(11<<2)|2,{57,49,0}}, +/* 31807 */ {(11<<2)|2,{57,49,0}}, +/* 31808 */ {(16<<2)|3,{57,50,48}}, +/* 31809 */ {(16<<2)|3,{57,50,49}}, +/* 31810 */ {(16<<2)|3,{57,50,50}}, +/* 31811 */ {(16<<2)|3,{57,50,97}}, +/* 31812 */ {(16<<2)|3,{57,50,99}}, +/* 31813 */ {(16<<2)|3,{57,50,101}}, +/* 31814 */ {(16<<2)|3,{57,50,105}}, +/* 31815 */ {(16<<2)|3,{57,50,111}}, +/* 31816 */ {(16<<2)|3,{57,50,115}}, +/* 31817 */ {(16<<2)|3,{57,50,116}}, +/* 31818 */ {(11<<2)|2,{57,50,0}}, +/* 31819 */ {(11<<2)|2,{57,50,0}}, +/* 31820 */ {(11<<2)|2,{57,50,0}}, +/* 31821 */ {(11<<2)|2,{57,50,0}}, +/* 31822 */ {(11<<2)|2,{57,50,0}}, +/* 31823 */ {(11<<2)|2,{57,50,0}}, +/* 31824 */ {(11<<2)|2,{57,50,0}}, +/* 31825 */ {(11<<2)|2,{57,50,0}}, +/* 31826 */ {(11<<2)|2,{57,50,0}}, +/* 31827 */ {(11<<2)|2,{57,50,0}}, +/* 31828 */ {(11<<2)|2,{57,50,0}}, +/* 31829 */ {(11<<2)|2,{57,50,0}}, +/* 31830 */ {(11<<2)|2,{57,50,0}}, +/* 31831 */ {(11<<2)|2,{57,50,0}}, +/* 31832 */ {(11<<2)|2,{57,50,0}}, +/* 31833 */ {(11<<2)|2,{57,50,0}}, +/* 31834 */ {(11<<2)|2,{57,50,0}}, +/* 31835 */ {(11<<2)|2,{57,50,0}}, +/* 31836 */ {(11<<2)|2,{57,50,0}}, +/* 31837 */ {(11<<2)|2,{57,50,0}}, +/* 31838 */ {(11<<2)|2,{57,50,0}}, +/* 31839 */ {(11<<2)|2,{57,50,0}}, +/* 31840 */ {(16<<2)|3,{57,97,48}}, +/* 31841 */ {(16<<2)|3,{57,97,49}}, +/* 31842 */ {(16<<2)|3,{57,97,50}}, +/* 31843 */ {(16<<2)|3,{57,97,97}}, +/* 31844 */ {(16<<2)|3,{57,97,99}}, +/* 31845 */ {(16<<2)|3,{57,97,101}}, +/* 31846 */ {(16<<2)|3,{57,97,105}}, +/* 31847 */ {(16<<2)|3,{57,97,111}}, +/* 31848 */ {(16<<2)|3,{57,97,115}}, +/* 31849 */ {(16<<2)|3,{57,97,116}}, +/* 31850 */ {(11<<2)|2,{57,97,0}}, +/* 31851 */ {(11<<2)|2,{57,97,0}}, +/* 31852 */ {(11<<2)|2,{57,97,0}}, +/* 31853 */ {(11<<2)|2,{57,97,0}}, +/* 31854 */ {(11<<2)|2,{57,97,0}}, +/* 31855 */ {(11<<2)|2,{57,97,0}}, +/* 31856 */ {(11<<2)|2,{57,97,0}}, +/* 31857 */ {(11<<2)|2,{57,97,0}}, +/* 31858 */ {(11<<2)|2,{57,97,0}}, +/* 31859 */ {(11<<2)|2,{57,97,0}}, +/* 31860 */ {(11<<2)|2,{57,97,0}}, +/* 31861 */ {(11<<2)|2,{57,97,0}}, +/* 31862 */ {(11<<2)|2,{57,97,0}}, +/* 31863 */ {(11<<2)|2,{57,97,0}}, +/* 31864 */ {(11<<2)|2,{57,97,0}}, +/* 31865 */ {(11<<2)|2,{57,97,0}}, +/* 31866 */ {(11<<2)|2,{57,97,0}}, +/* 31867 */ {(11<<2)|2,{57,97,0}}, +/* 31868 */ {(11<<2)|2,{57,97,0}}, +/* 31869 */ {(11<<2)|2,{57,97,0}}, +/* 31870 */ {(11<<2)|2,{57,97,0}}, +/* 31871 */ {(11<<2)|2,{57,97,0}}, +/* 31872 */ {(16<<2)|3,{57,99,48}}, +/* 31873 */ {(16<<2)|3,{57,99,49}}, +/* 31874 */ {(16<<2)|3,{57,99,50}}, +/* 31875 */ {(16<<2)|3,{57,99,97}}, +/* 31876 */ {(16<<2)|3,{57,99,99}}, +/* 31877 */ {(16<<2)|3,{57,99,101}}, +/* 31878 */ {(16<<2)|3,{57,99,105}}, +/* 31879 */ {(16<<2)|3,{57,99,111}}, +/* 31880 */ {(16<<2)|3,{57,99,115}}, +/* 31881 */ {(16<<2)|3,{57,99,116}}, +/* 31882 */ {(11<<2)|2,{57,99,0}}, +/* 31883 */ {(11<<2)|2,{57,99,0}}, +/* 31884 */ {(11<<2)|2,{57,99,0}}, +/* 31885 */ {(11<<2)|2,{57,99,0}}, +/* 31886 */ {(11<<2)|2,{57,99,0}}, +/* 31887 */ {(11<<2)|2,{57,99,0}}, +/* 31888 */ {(11<<2)|2,{57,99,0}}, +/* 31889 */ {(11<<2)|2,{57,99,0}}, +/* 31890 */ {(11<<2)|2,{57,99,0}}, +/* 31891 */ {(11<<2)|2,{57,99,0}}, +/* 31892 */ {(11<<2)|2,{57,99,0}}, +/* 31893 */ {(11<<2)|2,{57,99,0}}, +/* 31894 */ {(11<<2)|2,{57,99,0}}, +/* 31895 */ {(11<<2)|2,{57,99,0}}, +/* 31896 */ {(11<<2)|2,{57,99,0}}, +/* 31897 */ {(11<<2)|2,{57,99,0}}, +/* 31898 */ {(11<<2)|2,{57,99,0}}, +/* 31899 */ {(11<<2)|2,{57,99,0}}, +/* 31900 */ {(11<<2)|2,{57,99,0}}, +/* 31901 */ {(11<<2)|2,{57,99,0}}, +/* 31902 */ {(11<<2)|2,{57,99,0}}, +/* 31903 */ {(11<<2)|2,{57,99,0}}, +/* 31904 */ {(16<<2)|3,{57,101,48}}, +/* 31905 */ {(16<<2)|3,{57,101,49}}, +/* 31906 */ {(16<<2)|3,{57,101,50}}, +/* 31907 */ {(16<<2)|3,{57,101,97}}, +/* 31908 */ {(16<<2)|3,{57,101,99}}, +/* 31909 */ {(16<<2)|3,{57,101,101}}, +/* 31910 */ {(16<<2)|3,{57,101,105}}, +/* 31911 */ {(16<<2)|3,{57,101,111}}, +/* 31912 */ {(16<<2)|3,{57,101,115}}, +/* 31913 */ {(16<<2)|3,{57,101,116}}, +/* 31914 */ {(11<<2)|2,{57,101,0}}, +/* 31915 */ {(11<<2)|2,{57,101,0}}, +/* 31916 */ {(11<<2)|2,{57,101,0}}, +/* 31917 */ {(11<<2)|2,{57,101,0}}, +/* 31918 */ {(11<<2)|2,{57,101,0}}, +/* 31919 */ {(11<<2)|2,{57,101,0}}, +/* 31920 */ {(11<<2)|2,{57,101,0}}, +/* 31921 */ {(11<<2)|2,{57,101,0}}, +/* 31922 */ {(11<<2)|2,{57,101,0}}, +/* 31923 */ {(11<<2)|2,{57,101,0}}, +/* 31924 */ {(11<<2)|2,{57,101,0}}, +/* 31925 */ {(11<<2)|2,{57,101,0}}, +/* 31926 */ {(11<<2)|2,{57,101,0}}, +/* 31927 */ {(11<<2)|2,{57,101,0}}, +/* 31928 */ {(11<<2)|2,{57,101,0}}, +/* 31929 */ {(11<<2)|2,{57,101,0}}, +/* 31930 */ {(11<<2)|2,{57,101,0}}, +/* 31931 */ {(11<<2)|2,{57,101,0}}, +/* 31932 */ {(11<<2)|2,{57,101,0}}, +/* 31933 */ {(11<<2)|2,{57,101,0}}, +/* 31934 */ {(11<<2)|2,{57,101,0}}, +/* 31935 */ {(11<<2)|2,{57,101,0}}, +/* 31936 */ {(16<<2)|3,{57,105,48}}, +/* 31937 */ {(16<<2)|3,{57,105,49}}, +/* 31938 */ {(16<<2)|3,{57,105,50}}, +/* 31939 */ {(16<<2)|3,{57,105,97}}, +/* 31940 */ {(16<<2)|3,{57,105,99}}, +/* 31941 */ {(16<<2)|3,{57,105,101}}, +/* 31942 */ {(16<<2)|3,{57,105,105}}, +/* 31943 */ {(16<<2)|3,{57,105,111}}, +/* 31944 */ {(16<<2)|3,{57,105,115}}, +/* 31945 */ {(16<<2)|3,{57,105,116}}, +/* 31946 */ {(11<<2)|2,{57,105,0}}, +/* 31947 */ {(11<<2)|2,{57,105,0}}, +/* 31948 */ {(11<<2)|2,{57,105,0}}, +/* 31949 */ {(11<<2)|2,{57,105,0}}, +/* 31950 */ {(11<<2)|2,{57,105,0}}, +/* 31951 */ {(11<<2)|2,{57,105,0}}, +/* 31952 */ {(11<<2)|2,{57,105,0}}, +/* 31953 */ {(11<<2)|2,{57,105,0}}, +/* 31954 */ {(11<<2)|2,{57,105,0}}, +/* 31955 */ {(11<<2)|2,{57,105,0}}, +/* 31956 */ {(11<<2)|2,{57,105,0}}, +/* 31957 */ {(11<<2)|2,{57,105,0}}, +/* 31958 */ {(11<<2)|2,{57,105,0}}, +/* 31959 */ {(11<<2)|2,{57,105,0}}, +/* 31960 */ {(11<<2)|2,{57,105,0}}, +/* 31961 */ {(11<<2)|2,{57,105,0}}, +/* 31962 */ {(11<<2)|2,{57,105,0}}, +/* 31963 */ {(11<<2)|2,{57,105,0}}, +/* 31964 */ {(11<<2)|2,{57,105,0}}, +/* 31965 */ {(11<<2)|2,{57,105,0}}, +/* 31966 */ {(11<<2)|2,{57,105,0}}, +/* 31967 */ {(11<<2)|2,{57,105,0}}, +/* 31968 */ {(16<<2)|3,{57,111,48}}, +/* 31969 */ {(16<<2)|3,{57,111,49}}, +/* 31970 */ {(16<<2)|3,{57,111,50}}, +/* 31971 */ {(16<<2)|3,{57,111,97}}, +/* 31972 */ {(16<<2)|3,{57,111,99}}, +/* 31973 */ {(16<<2)|3,{57,111,101}}, +/* 31974 */ {(16<<2)|3,{57,111,105}}, +/* 31975 */ {(16<<2)|3,{57,111,111}}, +/* 31976 */ {(16<<2)|3,{57,111,115}}, +/* 31977 */ {(16<<2)|3,{57,111,116}}, +/* 31978 */ {(11<<2)|2,{57,111,0}}, +/* 31979 */ {(11<<2)|2,{57,111,0}}, +/* 31980 */ {(11<<2)|2,{57,111,0}}, +/* 31981 */ {(11<<2)|2,{57,111,0}}, +/* 31982 */ {(11<<2)|2,{57,111,0}}, +/* 31983 */ {(11<<2)|2,{57,111,0}}, +/* 31984 */ {(11<<2)|2,{57,111,0}}, +/* 31985 */ {(11<<2)|2,{57,111,0}}, +/* 31986 */ {(11<<2)|2,{57,111,0}}, +/* 31987 */ {(11<<2)|2,{57,111,0}}, +/* 31988 */ {(11<<2)|2,{57,111,0}}, +/* 31989 */ {(11<<2)|2,{57,111,0}}, +/* 31990 */ {(11<<2)|2,{57,111,0}}, +/* 31991 */ {(11<<2)|2,{57,111,0}}, +/* 31992 */ {(11<<2)|2,{57,111,0}}, +/* 31993 */ {(11<<2)|2,{57,111,0}}, +/* 31994 */ {(11<<2)|2,{57,111,0}}, +/* 31995 */ {(11<<2)|2,{57,111,0}}, +/* 31996 */ {(11<<2)|2,{57,111,0}}, +/* 31997 */ {(11<<2)|2,{57,111,0}}, +/* 31998 */ {(11<<2)|2,{57,111,0}}, +/* 31999 */ {(11<<2)|2,{57,111,0}}, +/* 32000 */ {(16<<2)|3,{57,115,48}}, +/* 32001 */ {(16<<2)|3,{57,115,49}}, +/* 32002 */ {(16<<2)|3,{57,115,50}}, +/* 32003 */ {(16<<2)|3,{57,115,97}}, +/* 32004 */ {(16<<2)|3,{57,115,99}}, +/* 32005 */ {(16<<2)|3,{57,115,101}}, +/* 32006 */ {(16<<2)|3,{57,115,105}}, +/* 32007 */ {(16<<2)|3,{57,115,111}}, +/* 32008 */ {(16<<2)|3,{57,115,115}}, +/* 32009 */ {(16<<2)|3,{57,115,116}}, +/* 32010 */ {(11<<2)|2,{57,115,0}}, +/* 32011 */ {(11<<2)|2,{57,115,0}}, +/* 32012 */ {(11<<2)|2,{57,115,0}}, +/* 32013 */ {(11<<2)|2,{57,115,0}}, +/* 32014 */ {(11<<2)|2,{57,115,0}}, +/* 32015 */ {(11<<2)|2,{57,115,0}}, +/* 32016 */ {(11<<2)|2,{57,115,0}}, +/* 32017 */ {(11<<2)|2,{57,115,0}}, +/* 32018 */ {(11<<2)|2,{57,115,0}}, +/* 32019 */ {(11<<2)|2,{57,115,0}}, +/* 32020 */ {(11<<2)|2,{57,115,0}}, +/* 32021 */ {(11<<2)|2,{57,115,0}}, +/* 32022 */ {(11<<2)|2,{57,115,0}}, +/* 32023 */ {(11<<2)|2,{57,115,0}}, +/* 32024 */ {(11<<2)|2,{57,115,0}}, +/* 32025 */ {(11<<2)|2,{57,115,0}}, +/* 32026 */ {(11<<2)|2,{57,115,0}}, +/* 32027 */ {(11<<2)|2,{57,115,0}}, +/* 32028 */ {(11<<2)|2,{57,115,0}}, +/* 32029 */ {(11<<2)|2,{57,115,0}}, +/* 32030 */ {(11<<2)|2,{57,115,0}}, +/* 32031 */ {(11<<2)|2,{57,115,0}}, +/* 32032 */ {(16<<2)|3,{57,116,48}}, +/* 32033 */ {(16<<2)|3,{57,116,49}}, +/* 32034 */ {(16<<2)|3,{57,116,50}}, +/* 32035 */ {(16<<2)|3,{57,116,97}}, +/* 32036 */ {(16<<2)|3,{57,116,99}}, +/* 32037 */ {(16<<2)|3,{57,116,101}}, +/* 32038 */ {(16<<2)|3,{57,116,105}}, +/* 32039 */ {(16<<2)|3,{57,116,111}}, +/* 32040 */ {(16<<2)|3,{57,116,115}}, +/* 32041 */ {(16<<2)|3,{57,116,116}}, +/* 32042 */ {(11<<2)|2,{57,116,0}}, +/* 32043 */ {(11<<2)|2,{57,116,0}}, +/* 32044 */ {(11<<2)|2,{57,116,0}}, +/* 32045 */ {(11<<2)|2,{57,116,0}}, +/* 32046 */ {(11<<2)|2,{57,116,0}}, +/* 32047 */ {(11<<2)|2,{57,116,0}}, +/* 32048 */ {(11<<2)|2,{57,116,0}}, +/* 32049 */ {(11<<2)|2,{57,116,0}}, +/* 32050 */ {(11<<2)|2,{57,116,0}}, +/* 32051 */ {(11<<2)|2,{57,116,0}}, +/* 32052 */ {(11<<2)|2,{57,116,0}}, +/* 32053 */ {(11<<2)|2,{57,116,0}}, +/* 32054 */ {(11<<2)|2,{57,116,0}}, +/* 32055 */ {(11<<2)|2,{57,116,0}}, +/* 32056 */ {(11<<2)|2,{57,116,0}}, +/* 32057 */ {(11<<2)|2,{57,116,0}}, +/* 32058 */ {(11<<2)|2,{57,116,0}}, +/* 32059 */ {(11<<2)|2,{57,116,0}}, +/* 32060 */ {(11<<2)|2,{57,116,0}}, +/* 32061 */ {(11<<2)|2,{57,116,0}}, +/* 32062 */ {(11<<2)|2,{57,116,0}}, +/* 32063 */ {(11<<2)|2,{57,116,0}}, +/* 32064 */ {(12<<2)|2,{57,32,0}}, +/* 32065 */ {(12<<2)|2,{57,32,0}}, +/* 32066 */ {(12<<2)|2,{57,32,0}}, +/* 32067 */ {(12<<2)|2,{57,32,0}}, +/* 32068 */ {(12<<2)|2,{57,32,0}}, +/* 32069 */ {(12<<2)|2,{57,32,0}}, +/* 32070 */ {(12<<2)|2,{57,32,0}}, +/* 32071 */ {(12<<2)|2,{57,32,0}}, +/* 32072 */ {(12<<2)|2,{57,32,0}}, +/* 32073 */ {(12<<2)|2,{57,32,0}}, +/* 32074 */ {(12<<2)|2,{57,32,0}}, +/* 32075 */ {(12<<2)|2,{57,32,0}}, +/* 32076 */ {(12<<2)|2,{57,32,0}}, +/* 32077 */ {(12<<2)|2,{57,32,0}}, +/* 32078 */ {(12<<2)|2,{57,32,0}}, +/* 32079 */ {(12<<2)|2,{57,32,0}}, +/* 32080 */ {(12<<2)|2,{57,37,0}}, +/* 32081 */ {(12<<2)|2,{57,37,0}}, +/* 32082 */ {(12<<2)|2,{57,37,0}}, +/* 32083 */ {(12<<2)|2,{57,37,0}}, +/* 32084 */ {(12<<2)|2,{57,37,0}}, +/* 32085 */ {(12<<2)|2,{57,37,0}}, +/* 32086 */ {(12<<2)|2,{57,37,0}}, +/* 32087 */ {(12<<2)|2,{57,37,0}}, +/* 32088 */ {(12<<2)|2,{57,37,0}}, +/* 32089 */ {(12<<2)|2,{57,37,0}}, +/* 32090 */ {(12<<2)|2,{57,37,0}}, +/* 32091 */ {(12<<2)|2,{57,37,0}}, +/* 32092 */ {(12<<2)|2,{57,37,0}}, +/* 32093 */ {(12<<2)|2,{57,37,0}}, +/* 32094 */ {(12<<2)|2,{57,37,0}}, +/* 32095 */ {(12<<2)|2,{57,37,0}}, +/* 32096 */ {(12<<2)|2,{57,45,0}}, +/* 32097 */ {(12<<2)|2,{57,45,0}}, +/* 32098 */ {(12<<2)|2,{57,45,0}}, +/* 32099 */ {(12<<2)|2,{57,45,0}}, +/* 32100 */ {(12<<2)|2,{57,45,0}}, +/* 32101 */ {(12<<2)|2,{57,45,0}}, +/* 32102 */ {(12<<2)|2,{57,45,0}}, +/* 32103 */ {(12<<2)|2,{57,45,0}}, +/* 32104 */ {(12<<2)|2,{57,45,0}}, +/* 32105 */ {(12<<2)|2,{57,45,0}}, +/* 32106 */ {(12<<2)|2,{57,45,0}}, +/* 32107 */ {(12<<2)|2,{57,45,0}}, +/* 32108 */ {(12<<2)|2,{57,45,0}}, +/* 32109 */ {(12<<2)|2,{57,45,0}}, +/* 32110 */ {(12<<2)|2,{57,45,0}}, +/* 32111 */ {(12<<2)|2,{57,45,0}}, +/* 32112 */ {(12<<2)|2,{57,46,0}}, +/* 32113 */ {(12<<2)|2,{57,46,0}}, +/* 32114 */ {(12<<2)|2,{57,46,0}}, +/* 32115 */ {(12<<2)|2,{57,46,0}}, +/* 32116 */ {(12<<2)|2,{57,46,0}}, +/* 32117 */ {(12<<2)|2,{57,46,0}}, +/* 32118 */ {(12<<2)|2,{57,46,0}}, +/* 32119 */ {(12<<2)|2,{57,46,0}}, +/* 32120 */ {(12<<2)|2,{57,46,0}}, +/* 32121 */ {(12<<2)|2,{57,46,0}}, +/* 32122 */ {(12<<2)|2,{57,46,0}}, +/* 32123 */ {(12<<2)|2,{57,46,0}}, +/* 32124 */ {(12<<2)|2,{57,46,0}}, +/* 32125 */ {(12<<2)|2,{57,46,0}}, +/* 32126 */ {(12<<2)|2,{57,46,0}}, +/* 32127 */ {(12<<2)|2,{57,46,0}}, +/* 32128 */ {(12<<2)|2,{57,47,0}}, +/* 32129 */ {(12<<2)|2,{57,47,0}}, +/* 32130 */ {(12<<2)|2,{57,47,0}}, +/* 32131 */ {(12<<2)|2,{57,47,0}}, +/* 32132 */ {(12<<2)|2,{57,47,0}}, +/* 32133 */ {(12<<2)|2,{57,47,0}}, +/* 32134 */ {(12<<2)|2,{57,47,0}}, +/* 32135 */ {(12<<2)|2,{57,47,0}}, +/* 32136 */ {(12<<2)|2,{57,47,0}}, +/* 32137 */ {(12<<2)|2,{57,47,0}}, +/* 32138 */ {(12<<2)|2,{57,47,0}}, +/* 32139 */ {(12<<2)|2,{57,47,0}}, +/* 32140 */ {(12<<2)|2,{57,47,0}}, +/* 32141 */ {(12<<2)|2,{57,47,0}}, +/* 32142 */ {(12<<2)|2,{57,47,0}}, +/* 32143 */ {(12<<2)|2,{57,47,0}}, +/* 32144 */ {(12<<2)|2,{57,51,0}}, +/* 32145 */ {(12<<2)|2,{57,51,0}}, +/* 32146 */ {(12<<2)|2,{57,51,0}}, +/* 32147 */ {(12<<2)|2,{57,51,0}}, +/* 32148 */ {(12<<2)|2,{57,51,0}}, +/* 32149 */ {(12<<2)|2,{57,51,0}}, +/* 32150 */ {(12<<2)|2,{57,51,0}}, +/* 32151 */ {(12<<2)|2,{57,51,0}}, +/* 32152 */ {(12<<2)|2,{57,51,0}}, +/* 32153 */ {(12<<2)|2,{57,51,0}}, +/* 32154 */ {(12<<2)|2,{57,51,0}}, +/* 32155 */ {(12<<2)|2,{57,51,0}}, +/* 32156 */ {(12<<2)|2,{57,51,0}}, +/* 32157 */ {(12<<2)|2,{57,51,0}}, +/* 32158 */ {(12<<2)|2,{57,51,0}}, +/* 32159 */ {(12<<2)|2,{57,51,0}}, +/* 32160 */ {(12<<2)|2,{57,52,0}}, +/* 32161 */ {(12<<2)|2,{57,52,0}}, +/* 32162 */ {(12<<2)|2,{57,52,0}}, +/* 32163 */ {(12<<2)|2,{57,52,0}}, +/* 32164 */ {(12<<2)|2,{57,52,0}}, +/* 32165 */ {(12<<2)|2,{57,52,0}}, +/* 32166 */ {(12<<2)|2,{57,52,0}}, +/* 32167 */ {(12<<2)|2,{57,52,0}}, +/* 32168 */ {(12<<2)|2,{57,52,0}}, +/* 32169 */ {(12<<2)|2,{57,52,0}}, +/* 32170 */ {(12<<2)|2,{57,52,0}}, +/* 32171 */ {(12<<2)|2,{57,52,0}}, +/* 32172 */ {(12<<2)|2,{57,52,0}}, +/* 32173 */ {(12<<2)|2,{57,52,0}}, +/* 32174 */ {(12<<2)|2,{57,52,0}}, +/* 32175 */ {(12<<2)|2,{57,52,0}}, +/* 32176 */ {(12<<2)|2,{57,53,0}}, +/* 32177 */ {(12<<2)|2,{57,53,0}}, +/* 32178 */ {(12<<2)|2,{57,53,0}}, +/* 32179 */ {(12<<2)|2,{57,53,0}}, +/* 32180 */ {(12<<2)|2,{57,53,0}}, +/* 32181 */ {(12<<2)|2,{57,53,0}}, +/* 32182 */ {(12<<2)|2,{57,53,0}}, +/* 32183 */ {(12<<2)|2,{57,53,0}}, +/* 32184 */ {(12<<2)|2,{57,53,0}}, +/* 32185 */ {(12<<2)|2,{57,53,0}}, +/* 32186 */ {(12<<2)|2,{57,53,0}}, +/* 32187 */ {(12<<2)|2,{57,53,0}}, +/* 32188 */ {(12<<2)|2,{57,53,0}}, +/* 32189 */ {(12<<2)|2,{57,53,0}}, +/* 32190 */ {(12<<2)|2,{57,53,0}}, +/* 32191 */ {(12<<2)|2,{57,53,0}}, +/* 32192 */ {(12<<2)|2,{57,54,0}}, +/* 32193 */ {(12<<2)|2,{57,54,0}}, +/* 32194 */ {(12<<2)|2,{57,54,0}}, +/* 32195 */ {(12<<2)|2,{57,54,0}}, +/* 32196 */ {(12<<2)|2,{57,54,0}}, +/* 32197 */ {(12<<2)|2,{57,54,0}}, +/* 32198 */ {(12<<2)|2,{57,54,0}}, +/* 32199 */ {(12<<2)|2,{57,54,0}}, +/* 32200 */ {(12<<2)|2,{57,54,0}}, +/* 32201 */ {(12<<2)|2,{57,54,0}}, +/* 32202 */ {(12<<2)|2,{57,54,0}}, +/* 32203 */ {(12<<2)|2,{57,54,0}}, +/* 32204 */ {(12<<2)|2,{57,54,0}}, +/* 32205 */ {(12<<2)|2,{57,54,0}}, +/* 32206 */ {(12<<2)|2,{57,54,0}}, +/* 32207 */ {(12<<2)|2,{57,54,0}}, +/* 32208 */ {(12<<2)|2,{57,55,0}}, +/* 32209 */ {(12<<2)|2,{57,55,0}}, +/* 32210 */ {(12<<2)|2,{57,55,0}}, +/* 32211 */ {(12<<2)|2,{57,55,0}}, +/* 32212 */ {(12<<2)|2,{57,55,0}}, +/* 32213 */ {(12<<2)|2,{57,55,0}}, +/* 32214 */ {(12<<2)|2,{57,55,0}}, +/* 32215 */ {(12<<2)|2,{57,55,0}}, +/* 32216 */ {(12<<2)|2,{57,55,0}}, +/* 32217 */ {(12<<2)|2,{57,55,0}}, +/* 32218 */ {(12<<2)|2,{57,55,0}}, +/* 32219 */ {(12<<2)|2,{57,55,0}}, +/* 32220 */ {(12<<2)|2,{57,55,0}}, +/* 32221 */ {(12<<2)|2,{57,55,0}}, +/* 32222 */ {(12<<2)|2,{57,55,0}}, +/* 32223 */ {(12<<2)|2,{57,55,0}}, +/* 32224 */ {(12<<2)|2,{57,56,0}}, +/* 32225 */ {(12<<2)|2,{57,56,0}}, +/* 32226 */ {(12<<2)|2,{57,56,0}}, +/* 32227 */ {(12<<2)|2,{57,56,0}}, +/* 32228 */ {(12<<2)|2,{57,56,0}}, +/* 32229 */ {(12<<2)|2,{57,56,0}}, +/* 32230 */ {(12<<2)|2,{57,56,0}}, +/* 32231 */ {(12<<2)|2,{57,56,0}}, +/* 32232 */ {(12<<2)|2,{57,56,0}}, +/* 32233 */ {(12<<2)|2,{57,56,0}}, +/* 32234 */ {(12<<2)|2,{57,56,0}}, +/* 32235 */ {(12<<2)|2,{57,56,0}}, +/* 32236 */ {(12<<2)|2,{57,56,0}}, +/* 32237 */ {(12<<2)|2,{57,56,0}}, +/* 32238 */ {(12<<2)|2,{57,56,0}}, +/* 32239 */ {(12<<2)|2,{57,56,0}}, +/* 32240 */ {(12<<2)|2,{57,57,0}}, +/* 32241 */ {(12<<2)|2,{57,57,0}}, +/* 32242 */ {(12<<2)|2,{57,57,0}}, +/* 32243 */ {(12<<2)|2,{57,57,0}}, +/* 32244 */ {(12<<2)|2,{57,57,0}}, +/* 32245 */ {(12<<2)|2,{57,57,0}}, +/* 32246 */ {(12<<2)|2,{57,57,0}}, +/* 32247 */ {(12<<2)|2,{57,57,0}}, +/* 32248 */ {(12<<2)|2,{57,57,0}}, +/* 32249 */ {(12<<2)|2,{57,57,0}}, +/* 32250 */ {(12<<2)|2,{57,57,0}}, +/* 32251 */ {(12<<2)|2,{57,57,0}}, +/* 32252 */ {(12<<2)|2,{57,57,0}}, +/* 32253 */ {(12<<2)|2,{57,57,0}}, +/* 32254 */ {(12<<2)|2,{57,57,0}}, +/* 32255 */ {(12<<2)|2,{57,57,0}}, +/* 32256 */ {(12<<2)|2,{57,61,0}}, +/* 32257 */ {(12<<2)|2,{57,61,0}}, +/* 32258 */ {(12<<2)|2,{57,61,0}}, +/* 32259 */ {(12<<2)|2,{57,61,0}}, +/* 32260 */ {(12<<2)|2,{57,61,0}}, +/* 32261 */ {(12<<2)|2,{57,61,0}}, +/* 32262 */ {(12<<2)|2,{57,61,0}}, +/* 32263 */ {(12<<2)|2,{57,61,0}}, +/* 32264 */ {(12<<2)|2,{57,61,0}}, +/* 32265 */ {(12<<2)|2,{57,61,0}}, +/* 32266 */ {(12<<2)|2,{57,61,0}}, +/* 32267 */ {(12<<2)|2,{57,61,0}}, +/* 32268 */ {(12<<2)|2,{57,61,0}}, +/* 32269 */ {(12<<2)|2,{57,61,0}}, +/* 32270 */ {(12<<2)|2,{57,61,0}}, +/* 32271 */ {(12<<2)|2,{57,61,0}}, +/* 32272 */ {(12<<2)|2,{57,65,0}}, +/* 32273 */ {(12<<2)|2,{57,65,0}}, +/* 32274 */ {(12<<2)|2,{57,65,0}}, +/* 32275 */ {(12<<2)|2,{57,65,0}}, +/* 32276 */ {(12<<2)|2,{57,65,0}}, +/* 32277 */ {(12<<2)|2,{57,65,0}}, +/* 32278 */ {(12<<2)|2,{57,65,0}}, +/* 32279 */ {(12<<2)|2,{57,65,0}}, +/* 32280 */ {(12<<2)|2,{57,65,0}}, +/* 32281 */ {(12<<2)|2,{57,65,0}}, +/* 32282 */ {(12<<2)|2,{57,65,0}}, +/* 32283 */ {(12<<2)|2,{57,65,0}}, +/* 32284 */ {(12<<2)|2,{57,65,0}}, +/* 32285 */ {(12<<2)|2,{57,65,0}}, +/* 32286 */ {(12<<2)|2,{57,65,0}}, +/* 32287 */ {(12<<2)|2,{57,65,0}}, +/* 32288 */ {(12<<2)|2,{57,95,0}}, +/* 32289 */ {(12<<2)|2,{57,95,0}}, +/* 32290 */ {(12<<2)|2,{57,95,0}}, +/* 32291 */ {(12<<2)|2,{57,95,0}}, +/* 32292 */ {(12<<2)|2,{57,95,0}}, +/* 32293 */ {(12<<2)|2,{57,95,0}}, +/* 32294 */ {(12<<2)|2,{57,95,0}}, +/* 32295 */ {(12<<2)|2,{57,95,0}}, +/* 32296 */ {(12<<2)|2,{57,95,0}}, +/* 32297 */ {(12<<2)|2,{57,95,0}}, +/* 32298 */ {(12<<2)|2,{57,95,0}}, +/* 32299 */ {(12<<2)|2,{57,95,0}}, +/* 32300 */ {(12<<2)|2,{57,95,0}}, +/* 32301 */ {(12<<2)|2,{57,95,0}}, +/* 32302 */ {(12<<2)|2,{57,95,0}}, +/* 32303 */ {(12<<2)|2,{57,95,0}}, +/* 32304 */ {(12<<2)|2,{57,98,0}}, +/* 32305 */ {(12<<2)|2,{57,98,0}}, +/* 32306 */ {(12<<2)|2,{57,98,0}}, +/* 32307 */ {(12<<2)|2,{57,98,0}}, +/* 32308 */ {(12<<2)|2,{57,98,0}}, +/* 32309 */ {(12<<2)|2,{57,98,0}}, +/* 32310 */ {(12<<2)|2,{57,98,0}}, +/* 32311 */ {(12<<2)|2,{57,98,0}}, +/* 32312 */ {(12<<2)|2,{57,98,0}}, +/* 32313 */ {(12<<2)|2,{57,98,0}}, +/* 32314 */ {(12<<2)|2,{57,98,0}}, +/* 32315 */ {(12<<2)|2,{57,98,0}}, +/* 32316 */ {(12<<2)|2,{57,98,0}}, +/* 32317 */ {(12<<2)|2,{57,98,0}}, +/* 32318 */ {(12<<2)|2,{57,98,0}}, +/* 32319 */ {(12<<2)|2,{57,98,0}}, +/* 32320 */ {(12<<2)|2,{57,100,0}}, +/* 32321 */ {(12<<2)|2,{57,100,0}}, +/* 32322 */ {(12<<2)|2,{57,100,0}}, +/* 32323 */ {(12<<2)|2,{57,100,0}}, +/* 32324 */ {(12<<2)|2,{57,100,0}}, +/* 32325 */ {(12<<2)|2,{57,100,0}}, +/* 32326 */ {(12<<2)|2,{57,100,0}}, +/* 32327 */ {(12<<2)|2,{57,100,0}}, +/* 32328 */ {(12<<2)|2,{57,100,0}}, +/* 32329 */ {(12<<2)|2,{57,100,0}}, +/* 32330 */ {(12<<2)|2,{57,100,0}}, +/* 32331 */ {(12<<2)|2,{57,100,0}}, +/* 32332 */ {(12<<2)|2,{57,100,0}}, +/* 32333 */ {(12<<2)|2,{57,100,0}}, +/* 32334 */ {(12<<2)|2,{57,100,0}}, +/* 32335 */ {(12<<2)|2,{57,100,0}}, +/* 32336 */ {(12<<2)|2,{57,102,0}}, +/* 32337 */ {(12<<2)|2,{57,102,0}}, +/* 32338 */ {(12<<2)|2,{57,102,0}}, +/* 32339 */ {(12<<2)|2,{57,102,0}}, +/* 32340 */ {(12<<2)|2,{57,102,0}}, +/* 32341 */ {(12<<2)|2,{57,102,0}}, +/* 32342 */ {(12<<2)|2,{57,102,0}}, +/* 32343 */ {(12<<2)|2,{57,102,0}}, +/* 32344 */ {(12<<2)|2,{57,102,0}}, +/* 32345 */ {(12<<2)|2,{57,102,0}}, +/* 32346 */ {(12<<2)|2,{57,102,0}}, +/* 32347 */ {(12<<2)|2,{57,102,0}}, +/* 32348 */ {(12<<2)|2,{57,102,0}}, +/* 32349 */ {(12<<2)|2,{57,102,0}}, +/* 32350 */ {(12<<2)|2,{57,102,0}}, +/* 32351 */ {(12<<2)|2,{57,102,0}}, +/* 32352 */ {(12<<2)|2,{57,103,0}}, +/* 32353 */ {(12<<2)|2,{57,103,0}}, +/* 32354 */ {(12<<2)|2,{57,103,0}}, +/* 32355 */ {(12<<2)|2,{57,103,0}}, +/* 32356 */ {(12<<2)|2,{57,103,0}}, +/* 32357 */ {(12<<2)|2,{57,103,0}}, +/* 32358 */ {(12<<2)|2,{57,103,0}}, +/* 32359 */ {(12<<2)|2,{57,103,0}}, +/* 32360 */ {(12<<2)|2,{57,103,0}}, +/* 32361 */ {(12<<2)|2,{57,103,0}}, +/* 32362 */ {(12<<2)|2,{57,103,0}}, +/* 32363 */ {(12<<2)|2,{57,103,0}}, +/* 32364 */ {(12<<2)|2,{57,103,0}}, +/* 32365 */ {(12<<2)|2,{57,103,0}}, +/* 32366 */ {(12<<2)|2,{57,103,0}}, +/* 32367 */ {(12<<2)|2,{57,103,0}}, +/* 32368 */ {(12<<2)|2,{57,104,0}}, +/* 32369 */ {(12<<2)|2,{57,104,0}}, +/* 32370 */ {(12<<2)|2,{57,104,0}}, +/* 32371 */ {(12<<2)|2,{57,104,0}}, +/* 32372 */ {(12<<2)|2,{57,104,0}}, +/* 32373 */ {(12<<2)|2,{57,104,0}}, +/* 32374 */ {(12<<2)|2,{57,104,0}}, +/* 32375 */ {(12<<2)|2,{57,104,0}}, +/* 32376 */ {(12<<2)|2,{57,104,0}}, +/* 32377 */ {(12<<2)|2,{57,104,0}}, +/* 32378 */ {(12<<2)|2,{57,104,0}}, +/* 32379 */ {(12<<2)|2,{57,104,0}}, +/* 32380 */ {(12<<2)|2,{57,104,0}}, +/* 32381 */ {(12<<2)|2,{57,104,0}}, +/* 32382 */ {(12<<2)|2,{57,104,0}}, +/* 32383 */ {(12<<2)|2,{57,104,0}}, +/* 32384 */ {(12<<2)|2,{57,108,0}}, +/* 32385 */ {(12<<2)|2,{57,108,0}}, +/* 32386 */ {(12<<2)|2,{57,108,0}}, +/* 32387 */ {(12<<2)|2,{57,108,0}}, +/* 32388 */ {(12<<2)|2,{57,108,0}}, +/* 32389 */ {(12<<2)|2,{57,108,0}}, +/* 32390 */ {(12<<2)|2,{57,108,0}}, +/* 32391 */ {(12<<2)|2,{57,108,0}}, +/* 32392 */ {(12<<2)|2,{57,108,0}}, +/* 32393 */ {(12<<2)|2,{57,108,0}}, +/* 32394 */ {(12<<2)|2,{57,108,0}}, +/* 32395 */ {(12<<2)|2,{57,108,0}}, +/* 32396 */ {(12<<2)|2,{57,108,0}}, +/* 32397 */ {(12<<2)|2,{57,108,0}}, +/* 32398 */ {(12<<2)|2,{57,108,0}}, +/* 32399 */ {(12<<2)|2,{57,108,0}}, +/* 32400 */ {(12<<2)|2,{57,109,0}}, +/* 32401 */ {(12<<2)|2,{57,109,0}}, +/* 32402 */ {(12<<2)|2,{57,109,0}}, +/* 32403 */ {(12<<2)|2,{57,109,0}}, +/* 32404 */ {(12<<2)|2,{57,109,0}}, +/* 32405 */ {(12<<2)|2,{57,109,0}}, +/* 32406 */ {(12<<2)|2,{57,109,0}}, +/* 32407 */ {(12<<2)|2,{57,109,0}}, +/* 32408 */ {(12<<2)|2,{57,109,0}}, +/* 32409 */ {(12<<2)|2,{57,109,0}}, +/* 32410 */ {(12<<2)|2,{57,109,0}}, +/* 32411 */ {(12<<2)|2,{57,109,0}}, +/* 32412 */ {(12<<2)|2,{57,109,0}}, +/* 32413 */ {(12<<2)|2,{57,109,0}}, +/* 32414 */ {(12<<2)|2,{57,109,0}}, +/* 32415 */ {(12<<2)|2,{57,109,0}}, +/* 32416 */ {(12<<2)|2,{57,110,0}}, +/* 32417 */ {(12<<2)|2,{57,110,0}}, +/* 32418 */ {(12<<2)|2,{57,110,0}}, +/* 32419 */ {(12<<2)|2,{57,110,0}}, +/* 32420 */ {(12<<2)|2,{57,110,0}}, +/* 32421 */ {(12<<2)|2,{57,110,0}}, +/* 32422 */ {(12<<2)|2,{57,110,0}}, +/* 32423 */ {(12<<2)|2,{57,110,0}}, +/* 32424 */ {(12<<2)|2,{57,110,0}}, +/* 32425 */ {(12<<2)|2,{57,110,0}}, +/* 32426 */ {(12<<2)|2,{57,110,0}}, +/* 32427 */ {(12<<2)|2,{57,110,0}}, +/* 32428 */ {(12<<2)|2,{57,110,0}}, +/* 32429 */ {(12<<2)|2,{57,110,0}}, +/* 32430 */ {(12<<2)|2,{57,110,0}}, +/* 32431 */ {(12<<2)|2,{57,110,0}}, +/* 32432 */ {(12<<2)|2,{57,112,0}}, +/* 32433 */ {(12<<2)|2,{57,112,0}}, +/* 32434 */ {(12<<2)|2,{57,112,0}}, +/* 32435 */ {(12<<2)|2,{57,112,0}}, +/* 32436 */ {(12<<2)|2,{57,112,0}}, +/* 32437 */ {(12<<2)|2,{57,112,0}}, +/* 32438 */ {(12<<2)|2,{57,112,0}}, +/* 32439 */ {(12<<2)|2,{57,112,0}}, +/* 32440 */ {(12<<2)|2,{57,112,0}}, +/* 32441 */ {(12<<2)|2,{57,112,0}}, +/* 32442 */ {(12<<2)|2,{57,112,0}}, +/* 32443 */ {(12<<2)|2,{57,112,0}}, +/* 32444 */ {(12<<2)|2,{57,112,0}}, +/* 32445 */ {(12<<2)|2,{57,112,0}}, +/* 32446 */ {(12<<2)|2,{57,112,0}}, +/* 32447 */ {(12<<2)|2,{57,112,0}}, +/* 32448 */ {(12<<2)|2,{57,114,0}}, +/* 32449 */ {(12<<2)|2,{57,114,0}}, +/* 32450 */ {(12<<2)|2,{57,114,0}}, +/* 32451 */ {(12<<2)|2,{57,114,0}}, +/* 32452 */ {(12<<2)|2,{57,114,0}}, +/* 32453 */ {(12<<2)|2,{57,114,0}}, +/* 32454 */ {(12<<2)|2,{57,114,0}}, +/* 32455 */ {(12<<2)|2,{57,114,0}}, +/* 32456 */ {(12<<2)|2,{57,114,0}}, +/* 32457 */ {(12<<2)|2,{57,114,0}}, +/* 32458 */ {(12<<2)|2,{57,114,0}}, +/* 32459 */ {(12<<2)|2,{57,114,0}}, +/* 32460 */ {(12<<2)|2,{57,114,0}}, +/* 32461 */ {(12<<2)|2,{57,114,0}}, +/* 32462 */ {(12<<2)|2,{57,114,0}}, +/* 32463 */ {(12<<2)|2,{57,114,0}}, +/* 32464 */ {(12<<2)|2,{57,117,0}}, +/* 32465 */ {(12<<2)|2,{57,117,0}}, +/* 32466 */ {(12<<2)|2,{57,117,0}}, +/* 32467 */ {(12<<2)|2,{57,117,0}}, +/* 32468 */ {(12<<2)|2,{57,117,0}}, +/* 32469 */ {(12<<2)|2,{57,117,0}}, +/* 32470 */ {(12<<2)|2,{57,117,0}}, +/* 32471 */ {(12<<2)|2,{57,117,0}}, +/* 32472 */ {(12<<2)|2,{57,117,0}}, +/* 32473 */ {(12<<2)|2,{57,117,0}}, +/* 32474 */ {(12<<2)|2,{57,117,0}}, +/* 32475 */ {(12<<2)|2,{57,117,0}}, +/* 32476 */ {(12<<2)|2,{57,117,0}}, +/* 32477 */ {(12<<2)|2,{57,117,0}}, +/* 32478 */ {(12<<2)|2,{57,117,0}}, +/* 32479 */ {(12<<2)|2,{57,117,0}}, +/* 32480 */ {(13<<2)|2,{57,58,0}}, +/* 32481 */ {(13<<2)|2,{57,58,0}}, +/* 32482 */ {(13<<2)|2,{57,58,0}}, +/* 32483 */ {(13<<2)|2,{57,58,0}}, +/* 32484 */ {(13<<2)|2,{57,58,0}}, +/* 32485 */ {(13<<2)|2,{57,58,0}}, +/* 32486 */ {(13<<2)|2,{57,58,0}}, +/* 32487 */ {(13<<2)|2,{57,58,0}}, +/* 32488 */ {(13<<2)|2,{57,66,0}}, +/* 32489 */ {(13<<2)|2,{57,66,0}}, +/* 32490 */ {(13<<2)|2,{57,66,0}}, +/* 32491 */ {(13<<2)|2,{57,66,0}}, +/* 32492 */ {(13<<2)|2,{57,66,0}}, +/* 32493 */ {(13<<2)|2,{57,66,0}}, +/* 32494 */ {(13<<2)|2,{57,66,0}}, +/* 32495 */ {(13<<2)|2,{57,66,0}}, +/* 32496 */ {(13<<2)|2,{57,67,0}}, +/* 32497 */ {(13<<2)|2,{57,67,0}}, +/* 32498 */ {(13<<2)|2,{57,67,0}}, +/* 32499 */ {(13<<2)|2,{57,67,0}}, +/* 32500 */ {(13<<2)|2,{57,67,0}}, +/* 32501 */ {(13<<2)|2,{57,67,0}}, +/* 32502 */ {(13<<2)|2,{57,67,0}}, +/* 32503 */ {(13<<2)|2,{57,67,0}}, +/* 32504 */ {(13<<2)|2,{57,68,0}}, +/* 32505 */ {(13<<2)|2,{57,68,0}}, +/* 32506 */ {(13<<2)|2,{57,68,0}}, +/* 32507 */ {(13<<2)|2,{57,68,0}}, +/* 32508 */ {(13<<2)|2,{57,68,0}}, +/* 32509 */ {(13<<2)|2,{57,68,0}}, +/* 32510 */ {(13<<2)|2,{57,68,0}}, +/* 32511 */ {(13<<2)|2,{57,68,0}}, +/* 32512 */ {(13<<2)|2,{57,69,0}}, +/* 32513 */ {(13<<2)|2,{57,69,0}}, +/* 32514 */ {(13<<2)|2,{57,69,0}}, +/* 32515 */ {(13<<2)|2,{57,69,0}}, +/* 32516 */ {(13<<2)|2,{57,69,0}}, +/* 32517 */ {(13<<2)|2,{57,69,0}}, +/* 32518 */ {(13<<2)|2,{57,69,0}}, +/* 32519 */ {(13<<2)|2,{57,69,0}}, +/* 32520 */ {(13<<2)|2,{57,70,0}}, +/* 32521 */ {(13<<2)|2,{57,70,0}}, +/* 32522 */ {(13<<2)|2,{57,70,0}}, +/* 32523 */ {(13<<2)|2,{57,70,0}}, +/* 32524 */ {(13<<2)|2,{57,70,0}}, +/* 32525 */ {(13<<2)|2,{57,70,0}}, +/* 32526 */ {(13<<2)|2,{57,70,0}}, +/* 32527 */ {(13<<2)|2,{57,70,0}}, +/* 32528 */ {(13<<2)|2,{57,71,0}}, +/* 32529 */ {(13<<2)|2,{57,71,0}}, +/* 32530 */ {(13<<2)|2,{57,71,0}}, +/* 32531 */ {(13<<2)|2,{57,71,0}}, +/* 32532 */ {(13<<2)|2,{57,71,0}}, +/* 32533 */ {(13<<2)|2,{57,71,0}}, +/* 32534 */ {(13<<2)|2,{57,71,0}}, +/* 32535 */ {(13<<2)|2,{57,71,0}}, +/* 32536 */ {(13<<2)|2,{57,72,0}}, +/* 32537 */ {(13<<2)|2,{57,72,0}}, +/* 32538 */ {(13<<2)|2,{57,72,0}}, +/* 32539 */ {(13<<2)|2,{57,72,0}}, +/* 32540 */ {(13<<2)|2,{57,72,0}}, +/* 32541 */ {(13<<2)|2,{57,72,0}}, +/* 32542 */ {(13<<2)|2,{57,72,0}}, +/* 32543 */ {(13<<2)|2,{57,72,0}}, +/* 32544 */ {(13<<2)|2,{57,73,0}}, +/* 32545 */ {(13<<2)|2,{57,73,0}}, +/* 32546 */ {(13<<2)|2,{57,73,0}}, +/* 32547 */ {(13<<2)|2,{57,73,0}}, +/* 32548 */ {(13<<2)|2,{57,73,0}}, +/* 32549 */ {(13<<2)|2,{57,73,0}}, +/* 32550 */ {(13<<2)|2,{57,73,0}}, +/* 32551 */ {(13<<2)|2,{57,73,0}}, +/* 32552 */ {(13<<2)|2,{57,74,0}}, +/* 32553 */ {(13<<2)|2,{57,74,0}}, +/* 32554 */ {(13<<2)|2,{57,74,0}}, +/* 32555 */ {(13<<2)|2,{57,74,0}}, +/* 32556 */ {(13<<2)|2,{57,74,0}}, +/* 32557 */ {(13<<2)|2,{57,74,0}}, +/* 32558 */ {(13<<2)|2,{57,74,0}}, +/* 32559 */ {(13<<2)|2,{57,74,0}}, +/* 32560 */ {(13<<2)|2,{57,75,0}}, +/* 32561 */ {(13<<2)|2,{57,75,0}}, +/* 32562 */ {(13<<2)|2,{57,75,0}}, +/* 32563 */ {(13<<2)|2,{57,75,0}}, +/* 32564 */ {(13<<2)|2,{57,75,0}}, +/* 32565 */ {(13<<2)|2,{57,75,0}}, +/* 32566 */ {(13<<2)|2,{57,75,0}}, +/* 32567 */ {(13<<2)|2,{57,75,0}}, +/* 32568 */ {(13<<2)|2,{57,76,0}}, +/* 32569 */ {(13<<2)|2,{57,76,0}}, +/* 32570 */ {(13<<2)|2,{57,76,0}}, +/* 32571 */ {(13<<2)|2,{57,76,0}}, +/* 32572 */ {(13<<2)|2,{57,76,0}}, +/* 32573 */ {(13<<2)|2,{57,76,0}}, +/* 32574 */ {(13<<2)|2,{57,76,0}}, +/* 32575 */ {(13<<2)|2,{57,76,0}}, +/* 32576 */ {(13<<2)|2,{57,77,0}}, +/* 32577 */ {(13<<2)|2,{57,77,0}}, +/* 32578 */ {(13<<2)|2,{57,77,0}}, +/* 32579 */ {(13<<2)|2,{57,77,0}}, +/* 32580 */ {(13<<2)|2,{57,77,0}}, +/* 32581 */ {(13<<2)|2,{57,77,0}}, +/* 32582 */ {(13<<2)|2,{57,77,0}}, +/* 32583 */ {(13<<2)|2,{57,77,0}}, +/* 32584 */ {(13<<2)|2,{57,78,0}}, +/* 32585 */ {(13<<2)|2,{57,78,0}}, +/* 32586 */ {(13<<2)|2,{57,78,0}}, +/* 32587 */ {(13<<2)|2,{57,78,0}}, +/* 32588 */ {(13<<2)|2,{57,78,0}}, +/* 32589 */ {(13<<2)|2,{57,78,0}}, +/* 32590 */ {(13<<2)|2,{57,78,0}}, +/* 32591 */ {(13<<2)|2,{57,78,0}}, +/* 32592 */ {(13<<2)|2,{57,79,0}}, +/* 32593 */ {(13<<2)|2,{57,79,0}}, +/* 32594 */ {(13<<2)|2,{57,79,0}}, +/* 32595 */ {(13<<2)|2,{57,79,0}}, +/* 32596 */ {(13<<2)|2,{57,79,0}}, +/* 32597 */ {(13<<2)|2,{57,79,0}}, +/* 32598 */ {(13<<2)|2,{57,79,0}}, +/* 32599 */ {(13<<2)|2,{57,79,0}}, +/* 32600 */ {(13<<2)|2,{57,80,0}}, +/* 32601 */ {(13<<2)|2,{57,80,0}}, +/* 32602 */ {(13<<2)|2,{57,80,0}}, +/* 32603 */ {(13<<2)|2,{57,80,0}}, +/* 32604 */ {(13<<2)|2,{57,80,0}}, +/* 32605 */ {(13<<2)|2,{57,80,0}}, +/* 32606 */ {(13<<2)|2,{57,80,0}}, +/* 32607 */ {(13<<2)|2,{57,80,0}}, +/* 32608 */ {(13<<2)|2,{57,81,0}}, +/* 32609 */ {(13<<2)|2,{57,81,0}}, +/* 32610 */ {(13<<2)|2,{57,81,0}}, +/* 32611 */ {(13<<2)|2,{57,81,0}}, +/* 32612 */ {(13<<2)|2,{57,81,0}}, +/* 32613 */ {(13<<2)|2,{57,81,0}}, +/* 32614 */ {(13<<2)|2,{57,81,0}}, +/* 32615 */ {(13<<2)|2,{57,81,0}}, +/* 32616 */ {(13<<2)|2,{57,82,0}}, +/* 32617 */ {(13<<2)|2,{57,82,0}}, +/* 32618 */ {(13<<2)|2,{57,82,0}}, +/* 32619 */ {(13<<2)|2,{57,82,0}}, +/* 32620 */ {(13<<2)|2,{57,82,0}}, +/* 32621 */ {(13<<2)|2,{57,82,0}}, +/* 32622 */ {(13<<2)|2,{57,82,0}}, +/* 32623 */ {(13<<2)|2,{57,82,0}}, +/* 32624 */ {(13<<2)|2,{57,83,0}}, +/* 32625 */ {(13<<2)|2,{57,83,0}}, +/* 32626 */ {(13<<2)|2,{57,83,0}}, +/* 32627 */ {(13<<2)|2,{57,83,0}}, +/* 32628 */ {(13<<2)|2,{57,83,0}}, +/* 32629 */ {(13<<2)|2,{57,83,0}}, +/* 32630 */ {(13<<2)|2,{57,83,0}}, +/* 32631 */ {(13<<2)|2,{57,83,0}}, +/* 32632 */ {(13<<2)|2,{57,84,0}}, +/* 32633 */ {(13<<2)|2,{57,84,0}}, +/* 32634 */ {(13<<2)|2,{57,84,0}}, +/* 32635 */ {(13<<2)|2,{57,84,0}}, +/* 32636 */ {(13<<2)|2,{57,84,0}}, +/* 32637 */ {(13<<2)|2,{57,84,0}}, +/* 32638 */ {(13<<2)|2,{57,84,0}}, +/* 32639 */ {(13<<2)|2,{57,84,0}}, +/* 32640 */ {(13<<2)|2,{57,85,0}}, +/* 32641 */ {(13<<2)|2,{57,85,0}}, +/* 32642 */ {(13<<2)|2,{57,85,0}}, +/* 32643 */ {(13<<2)|2,{57,85,0}}, +/* 32644 */ {(13<<2)|2,{57,85,0}}, +/* 32645 */ {(13<<2)|2,{57,85,0}}, +/* 32646 */ {(13<<2)|2,{57,85,0}}, +/* 32647 */ {(13<<2)|2,{57,85,0}}, +/* 32648 */ {(13<<2)|2,{57,86,0}}, +/* 32649 */ {(13<<2)|2,{57,86,0}}, +/* 32650 */ {(13<<2)|2,{57,86,0}}, +/* 32651 */ {(13<<2)|2,{57,86,0}}, +/* 32652 */ {(13<<2)|2,{57,86,0}}, +/* 32653 */ {(13<<2)|2,{57,86,0}}, +/* 32654 */ {(13<<2)|2,{57,86,0}}, +/* 32655 */ {(13<<2)|2,{57,86,0}}, +/* 32656 */ {(13<<2)|2,{57,87,0}}, +/* 32657 */ {(13<<2)|2,{57,87,0}}, +/* 32658 */ {(13<<2)|2,{57,87,0}}, +/* 32659 */ {(13<<2)|2,{57,87,0}}, +/* 32660 */ {(13<<2)|2,{57,87,0}}, +/* 32661 */ {(13<<2)|2,{57,87,0}}, +/* 32662 */ {(13<<2)|2,{57,87,0}}, +/* 32663 */ {(13<<2)|2,{57,87,0}}, +/* 32664 */ {(13<<2)|2,{57,89,0}}, +/* 32665 */ {(13<<2)|2,{57,89,0}}, +/* 32666 */ {(13<<2)|2,{57,89,0}}, +/* 32667 */ {(13<<2)|2,{57,89,0}}, +/* 32668 */ {(13<<2)|2,{57,89,0}}, +/* 32669 */ {(13<<2)|2,{57,89,0}}, +/* 32670 */ {(13<<2)|2,{57,89,0}}, +/* 32671 */ {(13<<2)|2,{57,89,0}}, +/* 32672 */ {(13<<2)|2,{57,106,0}}, +/* 32673 */ {(13<<2)|2,{57,106,0}}, +/* 32674 */ {(13<<2)|2,{57,106,0}}, +/* 32675 */ {(13<<2)|2,{57,106,0}}, +/* 32676 */ {(13<<2)|2,{57,106,0}}, +/* 32677 */ {(13<<2)|2,{57,106,0}}, +/* 32678 */ {(13<<2)|2,{57,106,0}}, +/* 32679 */ {(13<<2)|2,{57,106,0}}, +/* 32680 */ {(13<<2)|2,{57,107,0}}, +/* 32681 */ {(13<<2)|2,{57,107,0}}, +/* 32682 */ {(13<<2)|2,{57,107,0}}, +/* 32683 */ {(13<<2)|2,{57,107,0}}, +/* 32684 */ {(13<<2)|2,{57,107,0}}, +/* 32685 */ {(13<<2)|2,{57,107,0}}, +/* 32686 */ {(13<<2)|2,{57,107,0}}, +/* 32687 */ {(13<<2)|2,{57,107,0}}, +/* 32688 */ {(13<<2)|2,{57,113,0}}, +/* 32689 */ {(13<<2)|2,{57,113,0}}, +/* 32690 */ {(13<<2)|2,{57,113,0}}, +/* 32691 */ {(13<<2)|2,{57,113,0}}, +/* 32692 */ {(13<<2)|2,{57,113,0}}, +/* 32693 */ {(13<<2)|2,{57,113,0}}, +/* 32694 */ {(13<<2)|2,{57,113,0}}, +/* 32695 */ {(13<<2)|2,{57,113,0}}, +/* 32696 */ {(13<<2)|2,{57,118,0}}, +/* 32697 */ {(13<<2)|2,{57,118,0}}, +/* 32698 */ {(13<<2)|2,{57,118,0}}, +/* 32699 */ {(13<<2)|2,{57,118,0}}, +/* 32700 */ {(13<<2)|2,{57,118,0}}, +/* 32701 */ {(13<<2)|2,{57,118,0}}, +/* 32702 */ {(13<<2)|2,{57,118,0}}, +/* 32703 */ {(13<<2)|2,{57,118,0}}, +/* 32704 */ {(13<<2)|2,{57,119,0}}, +/* 32705 */ {(13<<2)|2,{57,119,0}}, +/* 32706 */ {(13<<2)|2,{57,119,0}}, +/* 32707 */ {(13<<2)|2,{57,119,0}}, +/* 32708 */ {(13<<2)|2,{57,119,0}}, +/* 32709 */ {(13<<2)|2,{57,119,0}}, +/* 32710 */ {(13<<2)|2,{57,119,0}}, +/* 32711 */ {(13<<2)|2,{57,119,0}}, +/* 32712 */ {(13<<2)|2,{57,120,0}}, +/* 32713 */ {(13<<2)|2,{57,120,0}}, +/* 32714 */ {(13<<2)|2,{57,120,0}}, +/* 32715 */ {(13<<2)|2,{57,120,0}}, +/* 32716 */ {(13<<2)|2,{57,120,0}}, +/* 32717 */ {(13<<2)|2,{57,120,0}}, +/* 32718 */ {(13<<2)|2,{57,120,0}}, +/* 32719 */ {(13<<2)|2,{57,120,0}}, +/* 32720 */ {(13<<2)|2,{57,121,0}}, +/* 32721 */ {(13<<2)|2,{57,121,0}}, +/* 32722 */ {(13<<2)|2,{57,121,0}}, +/* 32723 */ {(13<<2)|2,{57,121,0}}, +/* 32724 */ {(13<<2)|2,{57,121,0}}, +/* 32725 */ {(13<<2)|2,{57,121,0}}, +/* 32726 */ {(13<<2)|2,{57,121,0}}, +/* 32727 */ {(13<<2)|2,{57,121,0}}, +/* 32728 */ {(13<<2)|2,{57,122,0}}, +/* 32729 */ {(13<<2)|2,{57,122,0}}, +/* 32730 */ {(13<<2)|2,{57,122,0}}, +/* 32731 */ {(13<<2)|2,{57,122,0}}, +/* 32732 */ {(13<<2)|2,{57,122,0}}, +/* 32733 */ {(13<<2)|2,{57,122,0}}, +/* 32734 */ {(13<<2)|2,{57,122,0}}, +/* 32735 */ {(13<<2)|2,{57,122,0}}, +/* 32736 */ {(14<<2)|2,{57,38,0}}, +/* 32737 */ {(14<<2)|2,{57,38,0}}, +/* 32738 */ {(14<<2)|2,{57,38,0}}, +/* 32739 */ {(14<<2)|2,{57,38,0}}, +/* 32740 */ {(14<<2)|2,{57,42,0}}, +/* 32741 */ {(14<<2)|2,{57,42,0}}, +/* 32742 */ {(14<<2)|2,{57,42,0}}, +/* 32743 */ {(14<<2)|2,{57,42,0}}, +/* 32744 */ {(14<<2)|2,{57,44,0}}, +/* 32745 */ {(14<<2)|2,{57,44,0}}, +/* 32746 */ {(14<<2)|2,{57,44,0}}, +/* 32747 */ {(14<<2)|2,{57,44,0}}, +/* 32748 */ {(14<<2)|2,{57,59,0}}, +/* 32749 */ {(14<<2)|2,{57,59,0}}, +/* 32750 */ {(14<<2)|2,{57,59,0}}, +/* 32751 */ {(14<<2)|2,{57,59,0}}, +/* 32752 */ {(14<<2)|2,{57,88,0}}, +/* 32753 */ {(14<<2)|2,{57,88,0}}, +/* 32754 */ {(14<<2)|2,{57,88,0}}, +/* 32755 */ {(14<<2)|2,{57,88,0}}, +/* 32756 */ {(14<<2)|2,{57,90,0}}, +/* 32757 */ {(14<<2)|2,{57,90,0}}, +/* 32758 */ {(14<<2)|2,{57,90,0}}, +/* 32759 */ {(14<<2)|2,{57,90,0}}, +/* 32760 */ {(16<<2)|2,{57,33,0}}, +/* 32761 */ {(16<<2)|2,{57,34,0}}, +/* 32762 */ {(16<<2)|2,{57,40,0}}, +/* 32763 */ {(16<<2)|2,{57,41,0}}, +/* 32764 */ {(16<<2)|2,{57,63,0}}, +/* 32765 */ {(6<<2)|1,{57,0,0}}, +/* 32766 */ {(6<<2)|1,{57,0,0}}, +/* 32767 */ {(6<<2)|1,{57,0,0}}, +/* 32768 */ {(16<<2)|3,{61,48,48}}, +/* 32769 */ {(16<<2)|3,{61,48,49}}, +/* 32770 */ {(16<<2)|3,{61,48,50}}, +/* 32771 */ {(16<<2)|3,{61,48,97}}, +/* 32772 */ {(16<<2)|3,{61,48,99}}, +/* 32773 */ {(16<<2)|3,{61,48,101}}, +/* 32774 */ {(16<<2)|3,{61,48,105}}, +/* 32775 */ {(16<<2)|3,{61,48,111}}, +/* 32776 */ {(16<<2)|3,{61,48,115}}, +/* 32777 */ {(16<<2)|3,{61,48,116}}, +/* 32778 */ {(11<<2)|2,{61,48,0}}, +/* 32779 */ {(11<<2)|2,{61,48,0}}, +/* 32780 */ {(11<<2)|2,{61,48,0}}, +/* 32781 */ {(11<<2)|2,{61,48,0}}, +/* 32782 */ {(11<<2)|2,{61,48,0}}, +/* 32783 */ {(11<<2)|2,{61,48,0}}, +/* 32784 */ {(11<<2)|2,{61,48,0}}, +/* 32785 */ {(11<<2)|2,{61,48,0}}, +/* 32786 */ {(11<<2)|2,{61,48,0}}, +/* 32787 */ {(11<<2)|2,{61,48,0}}, +/* 32788 */ {(11<<2)|2,{61,48,0}}, +/* 32789 */ {(11<<2)|2,{61,48,0}}, +/* 32790 */ {(11<<2)|2,{61,48,0}}, +/* 32791 */ {(11<<2)|2,{61,48,0}}, +/* 32792 */ {(11<<2)|2,{61,48,0}}, +/* 32793 */ {(11<<2)|2,{61,48,0}}, +/* 32794 */ {(11<<2)|2,{61,48,0}}, +/* 32795 */ {(11<<2)|2,{61,48,0}}, +/* 32796 */ {(11<<2)|2,{61,48,0}}, +/* 32797 */ {(11<<2)|2,{61,48,0}}, +/* 32798 */ {(11<<2)|2,{61,48,0}}, +/* 32799 */ {(11<<2)|2,{61,48,0}}, +/* 32800 */ {(16<<2)|3,{61,49,48}}, +/* 32801 */ {(16<<2)|3,{61,49,49}}, +/* 32802 */ {(16<<2)|3,{61,49,50}}, +/* 32803 */ {(16<<2)|3,{61,49,97}}, +/* 32804 */ {(16<<2)|3,{61,49,99}}, +/* 32805 */ {(16<<2)|3,{61,49,101}}, +/* 32806 */ {(16<<2)|3,{61,49,105}}, +/* 32807 */ {(16<<2)|3,{61,49,111}}, +/* 32808 */ {(16<<2)|3,{61,49,115}}, +/* 32809 */ {(16<<2)|3,{61,49,116}}, +/* 32810 */ {(11<<2)|2,{61,49,0}}, +/* 32811 */ {(11<<2)|2,{61,49,0}}, +/* 32812 */ {(11<<2)|2,{61,49,0}}, +/* 32813 */ {(11<<2)|2,{61,49,0}}, +/* 32814 */ {(11<<2)|2,{61,49,0}}, +/* 32815 */ {(11<<2)|2,{61,49,0}}, +/* 32816 */ {(11<<2)|2,{61,49,0}}, +/* 32817 */ {(11<<2)|2,{61,49,0}}, +/* 32818 */ {(11<<2)|2,{61,49,0}}, +/* 32819 */ {(11<<2)|2,{61,49,0}}, +/* 32820 */ {(11<<2)|2,{61,49,0}}, +/* 32821 */ {(11<<2)|2,{61,49,0}}, +/* 32822 */ {(11<<2)|2,{61,49,0}}, +/* 32823 */ {(11<<2)|2,{61,49,0}}, +/* 32824 */ {(11<<2)|2,{61,49,0}}, +/* 32825 */ {(11<<2)|2,{61,49,0}}, +/* 32826 */ {(11<<2)|2,{61,49,0}}, +/* 32827 */ {(11<<2)|2,{61,49,0}}, +/* 32828 */ {(11<<2)|2,{61,49,0}}, +/* 32829 */ {(11<<2)|2,{61,49,0}}, +/* 32830 */ {(11<<2)|2,{61,49,0}}, +/* 32831 */ {(11<<2)|2,{61,49,0}}, +/* 32832 */ {(16<<2)|3,{61,50,48}}, +/* 32833 */ {(16<<2)|3,{61,50,49}}, +/* 32834 */ {(16<<2)|3,{61,50,50}}, +/* 32835 */ {(16<<2)|3,{61,50,97}}, +/* 32836 */ {(16<<2)|3,{61,50,99}}, +/* 32837 */ {(16<<2)|3,{61,50,101}}, +/* 32838 */ {(16<<2)|3,{61,50,105}}, +/* 32839 */ {(16<<2)|3,{61,50,111}}, +/* 32840 */ {(16<<2)|3,{61,50,115}}, +/* 32841 */ {(16<<2)|3,{61,50,116}}, +/* 32842 */ {(11<<2)|2,{61,50,0}}, +/* 32843 */ {(11<<2)|2,{61,50,0}}, +/* 32844 */ {(11<<2)|2,{61,50,0}}, +/* 32845 */ {(11<<2)|2,{61,50,0}}, +/* 32846 */ {(11<<2)|2,{61,50,0}}, +/* 32847 */ {(11<<2)|2,{61,50,0}}, +/* 32848 */ {(11<<2)|2,{61,50,0}}, +/* 32849 */ {(11<<2)|2,{61,50,0}}, +/* 32850 */ {(11<<2)|2,{61,50,0}}, +/* 32851 */ {(11<<2)|2,{61,50,0}}, +/* 32852 */ {(11<<2)|2,{61,50,0}}, +/* 32853 */ {(11<<2)|2,{61,50,0}}, +/* 32854 */ {(11<<2)|2,{61,50,0}}, +/* 32855 */ {(11<<2)|2,{61,50,0}}, +/* 32856 */ {(11<<2)|2,{61,50,0}}, +/* 32857 */ {(11<<2)|2,{61,50,0}}, +/* 32858 */ {(11<<2)|2,{61,50,0}}, +/* 32859 */ {(11<<2)|2,{61,50,0}}, +/* 32860 */ {(11<<2)|2,{61,50,0}}, +/* 32861 */ {(11<<2)|2,{61,50,0}}, +/* 32862 */ {(11<<2)|2,{61,50,0}}, +/* 32863 */ {(11<<2)|2,{61,50,0}}, +/* 32864 */ {(16<<2)|3,{61,97,48}}, +/* 32865 */ {(16<<2)|3,{61,97,49}}, +/* 32866 */ {(16<<2)|3,{61,97,50}}, +/* 32867 */ {(16<<2)|3,{61,97,97}}, +/* 32868 */ {(16<<2)|3,{61,97,99}}, +/* 32869 */ {(16<<2)|3,{61,97,101}}, +/* 32870 */ {(16<<2)|3,{61,97,105}}, +/* 32871 */ {(16<<2)|3,{61,97,111}}, +/* 32872 */ {(16<<2)|3,{61,97,115}}, +/* 32873 */ {(16<<2)|3,{61,97,116}}, +/* 32874 */ {(11<<2)|2,{61,97,0}}, +/* 32875 */ {(11<<2)|2,{61,97,0}}, +/* 32876 */ {(11<<2)|2,{61,97,0}}, +/* 32877 */ {(11<<2)|2,{61,97,0}}, +/* 32878 */ {(11<<2)|2,{61,97,0}}, +/* 32879 */ {(11<<2)|2,{61,97,0}}, +/* 32880 */ {(11<<2)|2,{61,97,0}}, +/* 32881 */ {(11<<2)|2,{61,97,0}}, +/* 32882 */ {(11<<2)|2,{61,97,0}}, +/* 32883 */ {(11<<2)|2,{61,97,0}}, +/* 32884 */ {(11<<2)|2,{61,97,0}}, +/* 32885 */ {(11<<2)|2,{61,97,0}}, +/* 32886 */ {(11<<2)|2,{61,97,0}}, +/* 32887 */ {(11<<2)|2,{61,97,0}}, +/* 32888 */ {(11<<2)|2,{61,97,0}}, +/* 32889 */ {(11<<2)|2,{61,97,0}}, +/* 32890 */ {(11<<2)|2,{61,97,0}}, +/* 32891 */ {(11<<2)|2,{61,97,0}}, +/* 32892 */ {(11<<2)|2,{61,97,0}}, +/* 32893 */ {(11<<2)|2,{61,97,0}}, +/* 32894 */ {(11<<2)|2,{61,97,0}}, +/* 32895 */ {(11<<2)|2,{61,97,0}}, +/* 32896 */ {(16<<2)|3,{61,99,48}}, +/* 32897 */ {(16<<2)|3,{61,99,49}}, +/* 32898 */ {(16<<2)|3,{61,99,50}}, +/* 32899 */ {(16<<2)|3,{61,99,97}}, +/* 32900 */ {(16<<2)|3,{61,99,99}}, +/* 32901 */ {(16<<2)|3,{61,99,101}}, +/* 32902 */ {(16<<2)|3,{61,99,105}}, +/* 32903 */ {(16<<2)|3,{61,99,111}}, +/* 32904 */ {(16<<2)|3,{61,99,115}}, +/* 32905 */ {(16<<2)|3,{61,99,116}}, +/* 32906 */ {(11<<2)|2,{61,99,0}}, +/* 32907 */ {(11<<2)|2,{61,99,0}}, +/* 32908 */ {(11<<2)|2,{61,99,0}}, +/* 32909 */ {(11<<2)|2,{61,99,0}}, +/* 32910 */ {(11<<2)|2,{61,99,0}}, +/* 32911 */ {(11<<2)|2,{61,99,0}}, +/* 32912 */ {(11<<2)|2,{61,99,0}}, +/* 32913 */ {(11<<2)|2,{61,99,0}}, +/* 32914 */ {(11<<2)|2,{61,99,0}}, +/* 32915 */ {(11<<2)|2,{61,99,0}}, +/* 32916 */ {(11<<2)|2,{61,99,0}}, +/* 32917 */ {(11<<2)|2,{61,99,0}}, +/* 32918 */ {(11<<2)|2,{61,99,0}}, +/* 32919 */ {(11<<2)|2,{61,99,0}}, +/* 32920 */ {(11<<2)|2,{61,99,0}}, +/* 32921 */ {(11<<2)|2,{61,99,0}}, +/* 32922 */ {(11<<2)|2,{61,99,0}}, +/* 32923 */ {(11<<2)|2,{61,99,0}}, +/* 32924 */ {(11<<2)|2,{61,99,0}}, +/* 32925 */ {(11<<2)|2,{61,99,0}}, +/* 32926 */ {(11<<2)|2,{61,99,0}}, +/* 32927 */ {(11<<2)|2,{61,99,0}}, +/* 32928 */ {(16<<2)|3,{61,101,48}}, +/* 32929 */ {(16<<2)|3,{61,101,49}}, +/* 32930 */ {(16<<2)|3,{61,101,50}}, +/* 32931 */ {(16<<2)|3,{61,101,97}}, +/* 32932 */ {(16<<2)|3,{61,101,99}}, +/* 32933 */ {(16<<2)|3,{61,101,101}}, +/* 32934 */ {(16<<2)|3,{61,101,105}}, +/* 32935 */ {(16<<2)|3,{61,101,111}}, +/* 32936 */ {(16<<2)|3,{61,101,115}}, +/* 32937 */ {(16<<2)|3,{61,101,116}}, +/* 32938 */ {(11<<2)|2,{61,101,0}}, +/* 32939 */ {(11<<2)|2,{61,101,0}}, +/* 32940 */ {(11<<2)|2,{61,101,0}}, +/* 32941 */ {(11<<2)|2,{61,101,0}}, +/* 32942 */ {(11<<2)|2,{61,101,0}}, +/* 32943 */ {(11<<2)|2,{61,101,0}}, +/* 32944 */ {(11<<2)|2,{61,101,0}}, +/* 32945 */ {(11<<2)|2,{61,101,0}}, +/* 32946 */ {(11<<2)|2,{61,101,0}}, +/* 32947 */ {(11<<2)|2,{61,101,0}}, +/* 32948 */ {(11<<2)|2,{61,101,0}}, +/* 32949 */ {(11<<2)|2,{61,101,0}}, +/* 32950 */ {(11<<2)|2,{61,101,0}}, +/* 32951 */ {(11<<2)|2,{61,101,0}}, +/* 32952 */ {(11<<2)|2,{61,101,0}}, +/* 32953 */ {(11<<2)|2,{61,101,0}}, +/* 32954 */ {(11<<2)|2,{61,101,0}}, +/* 32955 */ {(11<<2)|2,{61,101,0}}, +/* 32956 */ {(11<<2)|2,{61,101,0}}, +/* 32957 */ {(11<<2)|2,{61,101,0}}, +/* 32958 */ {(11<<2)|2,{61,101,0}}, +/* 32959 */ {(11<<2)|2,{61,101,0}}, +/* 32960 */ {(16<<2)|3,{61,105,48}}, +/* 32961 */ {(16<<2)|3,{61,105,49}}, +/* 32962 */ {(16<<2)|3,{61,105,50}}, +/* 32963 */ {(16<<2)|3,{61,105,97}}, +/* 32964 */ {(16<<2)|3,{61,105,99}}, +/* 32965 */ {(16<<2)|3,{61,105,101}}, +/* 32966 */ {(16<<2)|3,{61,105,105}}, +/* 32967 */ {(16<<2)|3,{61,105,111}}, +/* 32968 */ {(16<<2)|3,{61,105,115}}, +/* 32969 */ {(16<<2)|3,{61,105,116}}, +/* 32970 */ {(11<<2)|2,{61,105,0}}, +/* 32971 */ {(11<<2)|2,{61,105,0}}, +/* 32972 */ {(11<<2)|2,{61,105,0}}, +/* 32973 */ {(11<<2)|2,{61,105,0}}, +/* 32974 */ {(11<<2)|2,{61,105,0}}, +/* 32975 */ {(11<<2)|2,{61,105,0}}, +/* 32976 */ {(11<<2)|2,{61,105,0}}, +/* 32977 */ {(11<<2)|2,{61,105,0}}, +/* 32978 */ {(11<<2)|2,{61,105,0}}, +/* 32979 */ {(11<<2)|2,{61,105,0}}, +/* 32980 */ {(11<<2)|2,{61,105,0}}, +/* 32981 */ {(11<<2)|2,{61,105,0}}, +/* 32982 */ {(11<<2)|2,{61,105,0}}, +/* 32983 */ {(11<<2)|2,{61,105,0}}, +/* 32984 */ {(11<<2)|2,{61,105,0}}, +/* 32985 */ {(11<<2)|2,{61,105,0}}, +/* 32986 */ {(11<<2)|2,{61,105,0}}, +/* 32987 */ {(11<<2)|2,{61,105,0}}, +/* 32988 */ {(11<<2)|2,{61,105,0}}, +/* 32989 */ {(11<<2)|2,{61,105,0}}, +/* 32990 */ {(11<<2)|2,{61,105,0}}, +/* 32991 */ {(11<<2)|2,{61,105,0}}, +/* 32992 */ {(16<<2)|3,{61,111,48}}, +/* 32993 */ {(16<<2)|3,{61,111,49}}, +/* 32994 */ {(16<<2)|3,{61,111,50}}, +/* 32995 */ {(16<<2)|3,{61,111,97}}, +/* 32996 */ {(16<<2)|3,{61,111,99}}, +/* 32997 */ {(16<<2)|3,{61,111,101}}, +/* 32998 */ {(16<<2)|3,{61,111,105}}, +/* 32999 */ {(16<<2)|3,{61,111,111}}, +/* 33000 */ {(16<<2)|3,{61,111,115}}, +/* 33001 */ {(16<<2)|3,{61,111,116}}, +/* 33002 */ {(11<<2)|2,{61,111,0}}, +/* 33003 */ {(11<<2)|2,{61,111,0}}, +/* 33004 */ {(11<<2)|2,{61,111,0}}, +/* 33005 */ {(11<<2)|2,{61,111,0}}, +/* 33006 */ {(11<<2)|2,{61,111,0}}, +/* 33007 */ {(11<<2)|2,{61,111,0}}, +/* 33008 */ {(11<<2)|2,{61,111,0}}, +/* 33009 */ {(11<<2)|2,{61,111,0}}, +/* 33010 */ {(11<<2)|2,{61,111,0}}, +/* 33011 */ {(11<<2)|2,{61,111,0}}, +/* 33012 */ {(11<<2)|2,{61,111,0}}, +/* 33013 */ {(11<<2)|2,{61,111,0}}, +/* 33014 */ {(11<<2)|2,{61,111,0}}, +/* 33015 */ {(11<<2)|2,{61,111,0}}, +/* 33016 */ {(11<<2)|2,{61,111,0}}, +/* 33017 */ {(11<<2)|2,{61,111,0}}, +/* 33018 */ {(11<<2)|2,{61,111,0}}, +/* 33019 */ {(11<<2)|2,{61,111,0}}, +/* 33020 */ {(11<<2)|2,{61,111,0}}, +/* 33021 */ {(11<<2)|2,{61,111,0}}, +/* 33022 */ {(11<<2)|2,{61,111,0}}, +/* 33023 */ {(11<<2)|2,{61,111,0}}, +/* 33024 */ {(16<<2)|3,{61,115,48}}, +/* 33025 */ {(16<<2)|3,{61,115,49}}, +/* 33026 */ {(16<<2)|3,{61,115,50}}, +/* 33027 */ {(16<<2)|3,{61,115,97}}, +/* 33028 */ {(16<<2)|3,{61,115,99}}, +/* 33029 */ {(16<<2)|3,{61,115,101}}, +/* 33030 */ {(16<<2)|3,{61,115,105}}, +/* 33031 */ {(16<<2)|3,{61,115,111}}, +/* 33032 */ {(16<<2)|3,{61,115,115}}, +/* 33033 */ {(16<<2)|3,{61,115,116}}, +/* 33034 */ {(11<<2)|2,{61,115,0}}, +/* 33035 */ {(11<<2)|2,{61,115,0}}, +/* 33036 */ {(11<<2)|2,{61,115,0}}, +/* 33037 */ {(11<<2)|2,{61,115,0}}, +/* 33038 */ {(11<<2)|2,{61,115,0}}, +/* 33039 */ {(11<<2)|2,{61,115,0}}, +/* 33040 */ {(11<<2)|2,{61,115,0}}, +/* 33041 */ {(11<<2)|2,{61,115,0}}, +/* 33042 */ {(11<<2)|2,{61,115,0}}, +/* 33043 */ {(11<<2)|2,{61,115,0}}, +/* 33044 */ {(11<<2)|2,{61,115,0}}, +/* 33045 */ {(11<<2)|2,{61,115,0}}, +/* 33046 */ {(11<<2)|2,{61,115,0}}, +/* 33047 */ {(11<<2)|2,{61,115,0}}, +/* 33048 */ {(11<<2)|2,{61,115,0}}, +/* 33049 */ {(11<<2)|2,{61,115,0}}, +/* 33050 */ {(11<<2)|2,{61,115,0}}, +/* 33051 */ {(11<<2)|2,{61,115,0}}, +/* 33052 */ {(11<<2)|2,{61,115,0}}, +/* 33053 */ {(11<<2)|2,{61,115,0}}, +/* 33054 */ {(11<<2)|2,{61,115,0}}, +/* 33055 */ {(11<<2)|2,{61,115,0}}, +/* 33056 */ {(16<<2)|3,{61,116,48}}, +/* 33057 */ {(16<<2)|3,{61,116,49}}, +/* 33058 */ {(16<<2)|3,{61,116,50}}, +/* 33059 */ {(16<<2)|3,{61,116,97}}, +/* 33060 */ {(16<<2)|3,{61,116,99}}, +/* 33061 */ {(16<<2)|3,{61,116,101}}, +/* 33062 */ {(16<<2)|3,{61,116,105}}, +/* 33063 */ {(16<<2)|3,{61,116,111}}, +/* 33064 */ {(16<<2)|3,{61,116,115}}, +/* 33065 */ {(16<<2)|3,{61,116,116}}, +/* 33066 */ {(11<<2)|2,{61,116,0}}, +/* 33067 */ {(11<<2)|2,{61,116,0}}, +/* 33068 */ {(11<<2)|2,{61,116,0}}, +/* 33069 */ {(11<<2)|2,{61,116,0}}, +/* 33070 */ {(11<<2)|2,{61,116,0}}, +/* 33071 */ {(11<<2)|2,{61,116,0}}, +/* 33072 */ {(11<<2)|2,{61,116,0}}, +/* 33073 */ {(11<<2)|2,{61,116,0}}, +/* 33074 */ {(11<<2)|2,{61,116,0}}, +/* 33075 */ {(11<<2)|2,{61,116,0}}, +/* 33076 */ {(11<<2)|2,{61,116,0}}, +/* 33077 */ {(11<<2)|2,{61,116,0}}, +/* 33078 */ {(11<<2)|2,{61,116,0}}, +/* 33079 */ {(11<<2)|2,{61,116,0}}, +/* 33080 */ {(11<<2)|2,{61,116,0}}, +/* 33081 */ {(11<<2)|2,{61,116,0}}, +/* 33082 */ {(11<<2)|2,{61,116,0}}, +/* 33083 */ {(11<<2)|2,{61,116,0}}, +/* 33084 */ {(11<<2)|2,{61,116,0}}, +/* 33085 */ {(11<<2)|2,{61,116,0}}, +/* 33086 */ {(11<<2)|2,{61,116,0}}, +/* 33087 */ {(11<<2)|2,{61,116,0}}, +/* 33088 */ {(12<<2)|2,{61,32,0}}, +/* 33089 */ {(12<<2)|2,{61,32,0}}, +/* 33090 */ {(12<<2)|2,{61,32,0}}, +/* 33091 */ {(12<<2)|2,{61,32,0}}, +/* 33092 */ {(12<<2)|2,{61,32,0}}, +/* 33093 */ {(12<<2)|2,{61,32,0}}, +/* 33094 */ {(12<<2)|2,{61,32,0}}, +/* 33095 */ {(12<<2)|2,{61,32,0}}, +/* 33096 */ {(12<<2)|2,{61,32,0}}, +/* 33097 */ {(12<<2)|2,{61,32,0}}, +/* 33098 */ {(12<<2)|2,{61,32,0}}, +/* 33099 */ {(12<<2)|2,{61,32,0}}, +/* 33100 */ {(12<<2)|2,{61,32,0}}, +/* 33101 */ {(12<<2)|2,{61,32,0}}, +/* 33102 */ {(12<<2)|2,{61,32,0}}, +/* 33103 */ {(12<<2)|2,{61,32,0}}, +/* 33104 */ {(12<<2)|2,{61,37,0}}, +/* 33105 */ {(12<<2)|2,{61,37,0}}, +/* 33106 */ {(12<<2)|2,{61,37,0}}, +/* 33107 */ {(12<<2)|2,{61,37,0}}, +/* 33108 */ {(12<<2)|2,{61,37,0}}, +/* 33109 */ {(12<<2)|2,{61,37,0}}, +/* 33110 */ {(12<<2)|2,{61,37,0}}, +/* 33111 */ {(12<<2)|2,{61,37,0}}, +/* 33112 */ {(12<<2)|2,{61,37,0}}, +/* 33113 */ {(12<<2)|2,{61,37,0}}, +/* 33114 */ {(12<<2)|2,{61,37,0}}, +/* 33115 */ {(12<<2)|2,{61,37,0}}, +/* 33116 */ {(12<<2)|2,{61,37,0}}, +/* 33117 */ {(12<<2)|2,{61,37,0}}, +/* 33118 */ {(12<<2)|2,{61,37,0}}, +/* 33119 */ {(12<<2)|2,{61,37,0}}, +/* 33120 */ {(12<<2)|2,{61,45,0}}, +/* 33121 */ {(12<<2)|2,{61,45,0}}, +/* 33122 */ {(12<<2)|2,{61,45,0}}, +/* 33123 */ {(12<<2)|2,{61,45,0}}, +/* 33124 */ {(12<<2)|2,{61,45,0}}, +/* 33125 */ {(12<<2)|2,{61,45,0}}, +/* 33126 */ {(12<<2)|2,{61,45,0}}, +/* 33127 */ {(12<<2)|2,{61,45,0}}, +/* 33128 */ {(12<<2)|2,{61,45,0}}, +/* 33129 */ {(12<<2)|2,{61,45,0}}, +/* 33130 */ {(12<<2)|2,{61,45,0}}, +/* 33131 */ {(12<<2)|2,{61,45,0}}, +/* 33132 */ {(12<<2)|2,{61,45,0}}, +/* 33133 */ {(12<<2)|2,{61,45,0}}, +/* 33134 */ {(12<<2)|2,{61,45,0}}, +/* 33135 */ {(12<<2)|2,{61,45,0}}, +/* 33136 */ {(12<<2)|2,{61,46,0}}, +/* 33137 */ {(12<<2)|2,{61,46,0}}, +/* 33138 */ {(12<<2)|2,{61,46,0}}, +/* 33139 */ {(12<<2)|2,{61,46,0}}, +/* 33140 */ {(12<<2)|2,{61,46,0}}, +/* 33141 */ {(12<<2)|2,{61,46,0}}, +/* 33142 */ {(12<<2)|2,{61,46,0}}, +/* 33143 */ {(12<<2)|2,{61,46,0}}, +/* 33144 */ {(12<<2)|2,{61,46,0}}, +/* 33145 */ {(12<<2)|2,{61,46,0}}, +/* 33146 */ {(12<<2)|2,{61,46,0}}, +/* 33147 */ {(12<<2)|2,{61,46,0}}, +/* 33148 */ {(12<<2)|2,{61,46,0}}, +/* 33149 */ {(12<<2)|2,{61,46,0}}, +/* 33150 */ {(12<<2)|2,{61,46,0}}, +/* 33151 */ {(12<<2)|2,{61,46,0}}, +/* 33152 */ {(12<<2)|2,{61,47,0}}, +/* 33153 */ {(12<<2)|2,{61,47,0}}, +/* 33154 */ {(12<<2)|2,{61,47,0}}, +/* 33155 */ {(12<<2)|2,{61,47,0}}, +/* 33156 */ {(12<<2)|2,{61,47,0}}, +/* 33157 */ {(12<<2)|2,{61,47,0}}, +/* 33158 */ {(12<<2)|2,{61,47,0}}, +/* 33159 */ {(12<<2)|2,{61,47,0}}, +/* 33160 */ {(12<<2)|2,{61,47,0}}, +/* 33161 */ {(12<<2)|2,{61,47,0}}, +/* 33162 */ {(12<<2)|2,{61,47,0}}, +/* 33163 */ {(12<<2)|2,{61,47,0}}, +/* 33164 */ {(12<<2)|2,{61,47,0}}, +/* 33165 */ {(12<<2)|2,{61,47,0}}, +/* 33166 */ {(12<<2)|2,{61,47,0}}, +/* 33167 */ {(12<<2)|2,{61,47,0}}, +/* 33168 */ {(12<<2)|2,{61,51,0}}, +/* 33169 */ {(12<<2)|2,{61,51,0}}, +/* 33170 */ {(12<<2)|2,{61,51,0}}, +/* 33171 */ {(12<<2)|2,{61,51,0}}, +/* 33172 */ {(12<<2)|2,{61,51,0}}, +/* 33173 */ {(12<<2)|2,{61,51,0}}, +/* 33174 */ {(12<<2)|2,{61,51,0}}, +/* 33175 */ {(12<<2)|2,{61,51,0}}, +/* 33176 */ {(12<<2)|2,{61,51,0}}, +/* 33177 */ {(12<<2)|2,{61,51,0}}, +/* 33178 */ {(12<<2)|2,{61,51,0}}, +/* 33179 */ {(12<<2)|2,{61,51,0}}, +/* 33180 */ {(12<<2)|2,{61,51,0}}, +/* 33181 */ {(12<<2)|2,{61,51,0}}, +/* 33182 */ {(12<<2)|2,{61,51,0}}, +/* 33183 */ {(12<<2)|2,{61,51,0}}, +/* 33184 */ {(12<<2)|2,{61,52,0}}, +/* 33185 */ {(12<<2)|2,{61,52,0}}, +/* 33186 */ {(12<<2)|2,{61,52,0}}, +/* 33187 */ {(12<<2)|2,{61,52,0}}, +/* 33188 */ {(12<<2)|2,{61,52,0}}, +/* 33189 */ {(12<<2)|2,{61,52,0}}, +/* 33190 */ {(12<<2)|2,{61,52,0}}, +/* 33191 */ {(12<<2)|2,{61,52,0}}, +/* 33192 */ {(12<<2)|2,{61,52,0}}, +/* 33193 */ {(12<<2)|2,{61,52,0}}, +/* 33194 */ {(12<<2)|2,{61,52,0}}, +/* 33195 */ {(12<<2)|2,{61,52,0}}, +/* 33196 */ {(12<<2)|2,{61,52,0}}, +/* 33197 */ {(12<<2)|2,{61,52,0}}, +/* 33198 */ {(12<<2)|2,{61,52,0}}, +/* 33199 */ {(12<<2)|2,{61,52,0}}, +/* 33200 */ {(12<<2)|2,{61,53,0}}, +/* 33201 */ {(12<<2)|2,{61,53,0}}, +/* 33202 */ {(12<<2)|2,{61,53,0}}, +/* 33203 */ {(12<<2)|2,{61,53,0}}, +/* 33204 */ {(12<<2)|2,{61,53,0}}, +/* 33205 */ {(12<<2)|2,{61,53,0}}, +/* 33206 */ {(12<<2)|2,{61,53,0}}, +/* 33207 */ {(12<<2)|2,{61,53,0}}, +/* 33208 */ {(12<<2)|2,{61,53,0}}, +/* 33209 */ {(12<<2)|2,{61,53,0}}, +/* 33210 */ {(12<<2)|2,{61,53,0}}, +/* 33211 */ {(12<<2)|2,{61,53,0}}, +/* 33212 */ {(12<<2)|2,{61,53,0}}, +/* 33213 */ {(12<<2)|2,{61,53,0}}, +/* 33214 */ {(12<<2)|2,{61,53,0}}, +/* 33215 */ {(12<<2)|2,{61,53,0}}, +/* 33216 */ {(12<<2)|2,{61,54,0}}, +/* 33217 */ {(12<<2)|2,{61,54,0}}, +/* 33218 */ {(12<<2)|2,{61,54,0}}, +/* 33219 */ {(12<<2)|2,{61,54,0}}, +/* 33220 */ {(12<<2)|2,{61,54,0}}, +/* 33221 */ {(12<<2)|2,{61,54,0}}, +/* 33222 */ {(12<<2)|2,{61,54,0}}, +/* 33223 */ {(12<<2)|2,{61,54,0}}, +/* 33224 */ {(12<<2)|2,{61,54,0}}, +/* 33225 */ {(12<<2)|2,{61,54,0}}, +/* 33226 */ {(12<<2)|2,{61,54,0}}, +/* 33227 */ {(12<<2)|2,{61,54,0}}, +/* 33228 */ {(12<<2)|2,{61,54,0}}, +/* 33229 */ {(12<<2)|2,{61,54,0}}, +/* 33230 */ {(12<<2)|2,{61,54,0}}, +/* 33231 */ {(12<<2)|2,{61,54,0}}, +/* 33232 */ {(12<<2)|2,{61,55,0}}, +/* 33233 */ {(12<<2)|2,{61,55,0}}, +/* 33234 */ {(12<<2)|2,{61,55,0}}, +/* 33235 */ {(12<<2)|2,{61,55,0}}, +/* 33236 */ {(12<<2)|2,{61,55,0}}, +/* 33237 */ {(12<<2)|2,{61,55,0}}, +/* 33238 */ {(12<<2)|2,{61,55,0}}, +/* 33239 */ {(12<<2)|2,{61,55,0}}, +/* 33240 */ {(12<<2)|2,{61,55,0}}, +/* 33241 */ {(12<<2)|2,{61,55,0}}, +/* 33242 */ {(12<<2)|2,{61,55,0}}, +/* 33243 */ {(12<<2)|2,{61,55,0}}, +/* 33244 */ {(12<<2)|2,{61,55,0}}, +/* 33245 */ {(12<<2)|2,{61,55,0}}, +/* 33246 */ {(12<<2)|2,{61,55,0}}, +/* 33247 */ {(12<<2)|2,{61,55,0}}, +/* 33248 */ {(12<<2)|2,{61,56,0}}, +/* 33249 */ {(12<<2)|2,{61,56,0}}, +/* 33250 */ {(12<<2)|2,{61,56,0}}, +/* 33251 */ {(12<<2)|2,{61,56,0}}, +/* 33252 */ {(12<<2)|2,{61,56,0}}, +/* 33253 */ {(12<<2)|2,{61,56,0}}, +/* 33254 */ {(12<<2)|2,{61,56,0}}, +/* 33255 */ {(12<<2)|2,{61,56,0}}, +/* 33256 */ {(12<<2)|2,{61,56,0}}, +/* 33257 */ {(12<<2)|2,{61,56,0}}, +/* 33258 */ {(12<<2)|2,{61,56,0}}, +/* 33259 */ {(12<<2)|2,{61,56,0}}, +/* 33260 */ {(12<<2)|2,{61,56,0}}, +/* 33261 */ {(12<<2)|2,{61,56,0}}, +/* 33262 */ {(12<<2)|2,{61,56,0}}, +/* 33263 */ {(12<<2)|2,{61,56,0}}, +/* 33264 */ {(12<<2)|2,{61,57,0}}, +/* 33265 */ {(12<<2)|2,{61,57,0}}, +/* 33266 */ {(12<<2)|2,{61,57,0}}, +/* 33267 */ {(12<<2)|2,{61,57,0}}, +/* 33268 */ {(12<<2)|2,{61,57,0}}, +/* 33269 */ {(12<<2)|2,{61,57,0}}, +/* 33270 */ {(12<<2)|2,{61,57,0}}, +/* 33271 */ {(12<<2)|2,{61,57,0}}, +/* 33272 */ {(12<<2)|2,{61,57,0}}, +/* 33273 */ {(12<<2)|2,{61,57,0}}, +/* 33274 */ {(12<<2)|2,{61,57,0}}, +/* 33275 */ {(12<<2)|2,{61,57,0}}, +/* 33276 */ {(12<<2)|2,{61,57,0}}, +/* 33277 */ {(12<<2)|2,{61,57,0}}, +/* 33278 */ {(12<<2)|2,{61,57,0}}, +/* 33279 */ {(12<<2)|2,{61,57,0}}, +/* 33280 */ {(12<<2)|2,{61,61,0}}, +/* 33281 */ {(12<<2)|2,{61,61,0}}, +/* 33282 */ {(12<<2)|2,{61,61,0}}, +/* 33283 */ {(12<<2)|2,{61,61,0}}, +/* 33284 */ {(12<<2)|2,{61,61,0}}, +/* 33285 */ {(12<<2)|2,{61,61,0}}, +/* 33286 */ {(12<<2)|2,{61,61,0}}, +/* 33287 */ {(12<<2)|2,{61,61,0}}, +/* 33288 */ {(12<<2)|2,{61,61,0}}, +/* 33289 */ {(12<<2)|2,{61,61,0}}, +/* 33290 */ {(12<<2)|2,{61,61,0}}, +/* 33291 */ {(12<<2)|2,{61,61,0}}, +/* 33292 */ {(12<<2)|2,{61,61,0}}, +/* 33293 */ {(12<<2)|2,{61,61,0}}, +/* 33294 */ {(12<<2)|2,{61,61,0}}, +/* 33295 */ {(12<<2)|2,{61,61,0}}, +/* 33296 */ {(12<<2)|2,{61,65,0}}, +/* 33297 */ {(12<<2)|2,{61,65,0}}, +/* 33298 */ {(12<<2)|2,{61,65,0}}, +/* 33299 */ {(12<<2)|2,{61,65,0}}, +/* 33300 */ {(12<<2)|2,{61,65,0}}, +/* 33301 */ {(12<<2)|2,{61,65,0}}, +/* 33302 */ {(12<<2)|2,{61,65,0}}, +/* 33303 */ {(12<<2)|2,{61,65,0}}, +/* 33304 */ {(12<<2)|2,{61,65,0}}, +/* 33305 */ {(12<<2)|2,{61,65,0}}, +/* 33306 */ {(12<<2)|2,{61,65,0}}, +/* 33307 */ {(12<<2)|2,{61,65,0}}, +/* 33308 */ {(12<<2)|2,{61,65,0}}, +/* 33309 */ {(12<<2)|2,{61,65,0}}, +/* 33310 */ {(12<<2)|2,{61,65,0}}, +/* 33311 */ {(12<<2)|2,{61,65,0}}, +/* 33312 */ {(12<<2)|2,{61,95,0}}, +/* 33313 */ {(12<<2)|2,{61,95,0}}, +/* 33314 */ {(12<<2)|2,{61,95,0}}, +/* 33315 */ {(12<<2)|2,{61,95,0}}, +/* 33316 */ {(12<<2)|2,{61,95,0}}, +/* 33317 */ {(12<<2)|2,{61,95,0}}, +/* 33318 */ {(12<<2)|2,{61,95,0}}, +/* 33319 */ {(12<<2)|2,{61,95,0}}, +/* 33320 */ {(12<<2)|2,{61,95,0}}, +/* 33321 */ {(12<<2)|2,{61,95,0}}, +/* 33322 */ {(12<<2)|2,{61,95,0}}, +/* 33323 */ {(12<<2)|2,{61,95,0}}, +/* 33324 */ {(12<<2)|2,{61,95,0}}, +/* 33325 */ {(12<<2)|2,{61,95,0}}, +/* 33326 */ {(12<<2)|2,{61,95,0}}, +/* 33327 */ {(12<<2)|2,{61,95,0}}, +/* 33328 */ {(12<<2)|2,{61,98,0}}, +/* 33329 */ {(12<<2)|2,{61,98,0}}, +/* 33330 */ {(12<<2)|2,{61,98,0}}, +/* 33331 */ {(12<<2)|2,{61,98,0}}, +/* 33332 */ {(12<<2)|2,{61,98,0}}, +/* 33333 */ {(12<<2)|2,{61,98,0}}, +/* 33334 */ {(12<<2)|2,{61,98,0}}, +/* 33335 */ {(12<<2)|2,{61,98,0}}, +/* 33336 */ {(12<<2)|2,{61,98,0}}, +/* 33337 */ {(12<<2)|2,{61,98,0}}, +/* 33338 */ {(12<<2)|2,{61,98,0}}, +/* 33339 */ {(12<<2)|2,{61,98,0}}, +/* 33340 */ {(12<<2)|2,{61,98,0}}, +/* 33341 */ {(12<<2)|2,{61,98,0}}, +/* 33342 */ {(12<<2)|2,{61,98,0}}, +/* 33343 */ {(12<<2)|2,{61,98,0}}, +/* 33344 */ {(12<<2)|2,{61,100,0}}, +/* 33345 */ {(12<<2)|2,{61,100,0}}, +/* 33346 */ {(12<<2)|2,{61,100,0}}, +/* 33347 */ {(12<<2)|2,{61,100,0}}, +/* 33348 */ {(12<<2)|2,{61,100,0}}, +/* 33349 */ {(12<<2)|2,{61,100,0}}, +/* 33350 */ {(12<<2)|2,{61,100,0}}, +/* 33351 */ {(12<<2)|2,{61,100,0}}, +/* 33352 */ {(12<<2)|2,{61,100,0}}, +/* 33353 */ {(12<<2)|2,{61,100,0}}, +/* 33354 */ {(12<<2)|2,{61,100,0}}, +/* 33355 */ {(12<<2)|2,{61,100,0}}, +/* 33356 */ {(12<<2)|2,{61,100,0}}, +/* 33357 */ {(12<<2)|2,{61,100,0}}, +/* 33358 */ {(12<<2)|2,{61,100,0}}, +/* 33359 */ {(12<<2)|2,{61,100,0}}, +/* 33360 */ {(12<<2)|2,{61,102,0}}, +/* 33361 */ {(12<<2)|2,{61,102,0}}, +/* 33362 */ {(12<<2)|2,{61,102,0}}, +/* 33363 */ {(12<<2)|2,{61,102,0}}, +/* 33364 */ {(12<<2)|2,{61,102,0}}, +/* 33365 */ {(12<<2)|2,{61,102,0}}, +/* 33366 */ {(12<<2)|2,{61,102,0}}, +/* 33367 */ {(12<<2)|2,{61,102,0}}, +/* 33368 */ {(12<<2)|2,{61,102,0}}, +/* 33369 */ {(12<<2)|2,{61,102,0}}, +/* 33370 */ {(12<<2)|2,{61,102,0}}, +/* 33371 */ {(12<<2)|2,{61,102,0}}, +/* 33372 */ {(12<<2)|2,{61,102,0}}, +/* 33373 */ {(12<<2)|2,{61,102,0}}, +/* 33374 */ {(12<<2)|2,{61,102,0}}, +/* 33375 */ {(12<<2)|2,{61,102,0}}, +/* 33376 */ {(12<<2)|2,{61,103,0}}, +/* 33377 */ {(12<<2)|2,{61,103,0}}, +/* 33378 */ {(12<<2)|2,{61,103,0}}, +/* 33379 */ {(12<<2)|2,{61,103,0}}, +/* 33380 */ {(12<<2)|2,{61,103,0}}, +/* 33381 */ {(12<<2)|2,{61,103,0}}, +/* 33382 */ {(12<<2)|2,{61,103,0}}, +/* 33383 */ {(12<<2)|2,{61,103,0}}, +/* 33384 */ {(12<<2)|2,{61,103,0}}, +/* 33385 */ {(12<<2)|2,{61,103,0}}, +/* 33386 */ {(12<<2)|2,{61,103,0}}, +/* 33387 */ {(12<<2)|2,{61,103,0}}, +/* 33388 */ {(12<<2)|2,{61,103,0}}, +/* 33389 */ {(12<<2)|2,{61,103,0}}, +/* 33390 */ {(12<<2)|2,{61,103,0}}, +/* 33391 */ {(12<<2)|2,{61,103,0}}, +/* 33392 */ {(12<<2)|2,{61,104,0}}, +/* 33393 */ {(12<<2)|2,{61,104,0}}, +/* 33394 */ {(12<<2)|2,{61,104,0}}, +/* 33395 */ {(12<<2)|2,{61,104,0}}, +/* 33396 */ {(12<<2)|2,{61,104,0}}, +/* 33397 */ {(12<<2)|2,{61,104,0}}, +/* 33398 */ {(12<<2)|2,{61,104,0}}, +/* 33399 */ {(12<<2)|2,{61,104,0}}, +/* 33400 */ {(12<<2)|2,{61,104,0}}, +/* 33401 */ {(12<<2)|2,{61,104,0}}, +/* 33402 */ {(12<<2)|2,{61,104,0}}, +/* 33403 */ {(12<<2)|2,{61,104,0}}, +/* 33404 */ {(12<<2)|2,{61,104,0}}, +/* 33405 */ {(12<<2)|2,{61,104,0}}, +/* 33406 */ {(12<<2)|2,{61,104,0}}, +/* 33407 */ {(12<<2)|2,{61,104,0}}, +/* 33408 */ {(12<<2)|2,{61,108,0}}, +/* 33409 */ {(12<<2)|2,{61,108,0}}, +/* 33410 */ {(12<<2)|2,{61,108,0}}, +/* 33411 */ {(12<<2)|2,{61,108,0}}, +/* 33412 */ {(12<<2)|2,{61,108,0}}, +/* 33413 */ {(12<<2)|2,{61,108,0}}, +/* 33414 */ {(12<<2)|2,{61,108,0}}, +/* 33415 */ {(12<<2)|2,{61,108,0}}, +/* 33416 */ {(12<<2)|2,{61,108,0}}, +/* 33417 */ {(12<<2)|2,{61,108,0}}, +/* 33418 */ {(12<<2)|2,{61,108,0}}, +/* 33419 */ {(12<<2)|2,{61,108,0}}, +/* 33420 */ {(12<<2)|2,{61,108,0}}, +/* 33421 */ {(12<<2)|2,{61,108,0}}, +/* 33422 */ {(12<<2)|2,{61,108,0}}, +/* 33423 */ {(12<<2)|2,{61,108,0}}, +/* 33424 */ {(12<<2)|2,{61,109,0}}, +/* 33425 */ {(12<<2)|2,{61,109,0}}, +/* 33426 */ {(12<<2)|2,{61,109,0}}, +/* 33427 */ {(12<<2)|2,{61,109,0}}, +/* 33428 */ {(12<<2)|2,{61,109,0}}, +/* 33429 */ {(12<<2)|2,{61,109,0}}, +/* 33430 */ {(12<<2)|2,{61,109,0}}, +/* 33431 */ {(12<<2)|2,{61,109,0}}, +/* 33432 */ {(12<<2)|2,{61,109,0}}, +/* 33433 */ {(12<<2)|2,{61,109,0}}, +/* 33434 */ {(12<<2)|2,{61,109,0}}, +/* 33435 */ {(12<<2)|2,{61,109,0}}, +/* 33436 */ {(12<<2)|2,{61,109,0}}, +/* 33437 */ {(12<<2)|2,{61,109,0}}, +/* 33438 */ {(12<<2)|2,{61,109,0}}, +/* 33439 */ {(12<<2)|2,{61,109,0}}, +/* 33440 */ {(12<<2)|2,{61,110,0}}, +/* 33441 */ {(12<<2)|2,{61,110,0}}, +/* 33442 */ {(12<<2)|2,{61,110,0}}, +/* 33443 */ {(12<<2)|2,{61,110,0}}, +/* 33444 */ {(12<<2)|2,{61,110,0}}, +/* 33445 */ {(12<<2)|2,{61,110,0}}, +/* 33446 */ {(12<<2)|2,{61,110,0}}, +/* 33447 */ {(12<<2)|2,{61,110,0}}, +/* 33448 */ {(12<<2)|2,{61,110,0}}, +/* 33449 */ {(12<<2)|2,{61,110,0}}, +/* 33450 */ {(12<<2)|2,{61,110,0}}, +/* 33451 */ {(12<<2)|2,{61,110,0}}, +/* 33452 */ {(12<<2)|2,{61,110,0}}, +/* 33453 */ {(12<<2)|2,{61,110,0}}, +/* 33454 */ {(12<<2)|2,{61,110,0}}, +/* 33455 */ {(12<<2)|2,{61,110,0}}, +/* 33456 */ {(12<<2)|2,{61,112,0}}, +/* 33457 */ {(12<<2)|2,{61,112,0}}, +/* 33458 */ {(12<<2)|2,{61,112,0}}, +/* 33459 */ {(12<<2)|2,{61,112,0}}, +/* 33460 */ {(12<<2)|2,{61,112,0}}, +/* 33461 */ {(12<<2)|2,{61,112,0}}, +/* 33462 */ {(12<<2)|2,{61,112,0}}, +/* 33463 */ {(12<<2)|2,{61,112,0}}, +/* 33464 */ {(12<<2)|2,{61,112,0}}, +/* 33465 */ {(12<<2)|2,{61,112,0}}, +/* 33466 */ {(12<<2)|2,{61,112,0}}, +/* 33467 */ {(12<<2)|2,{61,112,0}}, +/* 33468 */ {(12<<2)|2,{61,112,0}}, +/* 33469 */ {(12<<2)|2,{61,112,0}}, +/* 33470 */ {(12<<2)|2,{61,112,0}}, +/* 33471 */ {(12<<2)|2,{61,112,0}}, +/* 33472 */ {(12<<2)|2,{61,114,0}}, +/* 33473 */ {(12<<2)|2,{61,114,0}}, +/* 33474 */ {(12<<2)|2,{61,114,0}}, +/* 33475 */ {(12<<2)|2,{61,114,0}}, +/* 33476 */ {(12<<2)|2,{61,114,0}}, +/* 33477 */ {(12<<2)|2,{61,114,0}}, +/* 33478 */ {(12<<2)|2,{61,114,0}}, +/* 33479 */ {(12<<2)|2,{61,114,0}}, +/* 33480 */ {(12<<2)|2,{61,114,0}}, +/* 33481 */ {(12<<2)|2,{61,114,0}}, +/* 33482 */ {(12<<2)|2,{61,114,0}}, +/* 33483 */ {(12<<2)|2,{61,114,0}}, +/* 33484 */ {(12<<2)|2,{61,114,0}}, +/* 33485 */ {(12<<2)|2,{61,114,0}}, +/* 33486 */ {(12<<2)|2,{61,114,0}}, +/* 33487 */ {(12<<2)|2,{61,114,0}}, +/* 33488 */ {(12<<2)|2,{61,117,0}}, +/* 33489 */ {(12<<2)|2,{61,117,0}}, +/* 33490 */ {(12<<2)|2,{61,117,0}}, +/* 33491 */ {(12<<2)|2,{61,117,0}}, +/* 33492 */ {(12<<2)|2,{61,117,0}}, +/* 33493 */ {(12<<2)|2,{61,117,0}}, +/* 33494 */ {(12<<2)|2,{61,117,0}}, +/* 33495 */ {(12<<2)|2,{61,117,0}}, +/* 33496 */ {(12<<2)|2,{61,117,0}}, +/* 33497 */ {(12<<2)|2,{61,117,0}}, +/* 33498 */ {(12<<2)|2,{61,117,0}}, +/* 33499 */ {(12<<2)|2,{61,117,0}}, +/* 33500 */ {(12<<2)|2,{61,117,0}}, +/* 33501 */ {(12<<2)|2,{61,117,0}}, +/* 33502 */ {(12<<2)|2,{61,117,0}}, +/* 33503 */ {(12<<2)|2,{61,117,0}}, +/* 33504 */ {(13<<2)|2,{61,58,0}}, +/* 33505 */ {(13<<2)|2,{61,58,0}}, +/* 33506 */ {(13<<2)|2,{61,58,0}}, +/* 33507 */ {(13<<2)|2,{61,58,0}}, +/* 33508 */ {(13<<2)|2,{61,58,0}}, +/* 33509 */ {(13<<2)|2,{61,58,0}}, +/* 33510 */ {(13<<2)|2,{61,58,0}}, +/* 33511 */ {(13<<2)|2,{61,58,0}}, +/* 33512 */ {(13<<2)|2,{61,66,0}}, +/* 33513 */ {(13<<2)|2,{61,66,0}}, +/* 33514 */ {(13<<2)|2,{61,66,0}}, +/* 33515 */ {(13<<2)|2,{61,66,0}}, +/* 33516 */ {(13<<2)|2,{61,66,0}}, +/* 33517 */ {(13<<2)|2,{61,66,0}}, +/* 33518 */ {(13<<2)|2,{61,66,0}}, +/* 33519 */ {(13<<2)|2,{61,66,0}}, +/* 33520 */ {(13<<2)|2,{61,67,0}}, +/* 33521 */ {(13<<2)|2,{61,67,0}}, +/* 33522 */ {(13<<2)|2,{61,67,0}}, +/* 33523 */ {(13<<2)|2,{61,67,0}}, +/* 33524 */ {(13<<2)|2,{61,67,0}}, +/* 33525 */ {(13<<2)|2,{61,67,0}}, +/* 33526 */ {(13<<2)|2,{61,67,0}}, +/* 33527 */ {(13<<2)|2,{61,67,0}}, +/* 33528 */ {(13<<2)|2,{61,68,0}}, +/* 33529 */ {(13<<2)|2,{61,68,0}}, +/* 33530 */ {(13<<2)|2,{61,68,0}}, +/* 33531 */ {(13<<2)|2,{61,68,0}}, +/* 33532 */ {(13<<2)|2,{61,68,0}}, +/* 33533 */ {(13<<2)|2,{61,68,0}}, +/* 33534 */ {(13<<2)|2,{61,68,0}}, +/* 33535 */ {(13<<2)|2,{61,68,0}}, +/* 33536 */ {(13<<2)|2,{61,69,0}}, +/* 33537 */ {(13<<2)|2,{61,69,0}}, +/* 33538 */ {(13<<2)|2,{61,69,0}}, +/* 33539 */ {(13<<2)|2,{61,69,0}}, +/* 33540 */ {(13<<2)|2,{61,69,0}}, +/* 33541 */ {(13<<2)|2,{61,69,0}}, +/* 33542 */ {(13<<2)|2,{61,69,0}}, +/* 33543 */ {(13<<2)|2,{61,69,0}}, +/* 33544 */ {(13<<2)|2,{61,70,0}}, +/* 33545 */ {(13<<2)|2,{61,70,0}}, +/* 33546 */ {(13<<2)|2,{61,70,0}}, +/* 33547 */ {(13<<2)|2,{61,70,0}}, +/* 33548 */ {(13<<2)|2,{61,70,0}}, +/* 33549 */ {(13<<2)|2,{61,70,0}}, +/* 33550 */ {(13<<2)|2,{61,70,0}}, +/* 33551 */ {(13<<2)|2,{61,70,0}}, +/* 33552 */ {(13<<2)|2,{61,71,0}}, +/* 33553 */ {(13<<2)|2,{61,71,0}}, +/* 33554 */ {(13<<2)|2,{61,71,0}}, +/* 33555 */ {(13<<2)|2,{61,71,0}}, +/* 33556 */ {(13<<2)|2,{61,71,0}}, +/* 33557 */ {(13<<2)|2,{61,71,0}}, +/* 33558 */ {(13<<2)|2,{61,71,0}}, +/* 33559 */ {(13<<2)|2,{61,71,0}}, +/* 33560 */ {(13<<2)|2,{61,72,0}}, +/* 33561 */ {(13<<2)|2,{61,72,0}}, +/* 33562 */ {(13<<2)|2,{61,72,0}}, +/* 33563 */ {(13<<2)|2,{61,72,0}}, +/* 33564 */ {(13<<2)|2,{61,72,0}}, +/* 33565 */ {(13<<2)|2,{61,72,0}}, +/* 33566 */ {(13<<2)|2,{61,72,0}}, +/* 33567 */ {(13<<2)|2,{61,72,0}}, +/* 33568 */ {(13<<2)|2,{61,73,0}}, +/* 33569 */ {(13<<2)|2,{61,73,0}}, +/* 33570 */ {(13<<2)|2,{61,73,0}}, +/* 33571 */ {(13<<2)|2,{61,73,0}}, +/* 33572 */ {(13<<2)|2,{61,73,0}}, +/* 33573 */ {(13<<2)|2,{61,73,0}}, +/* 33574 */ {(13<<2)|2,{61,73,0}}, +/* 33575 */ {(13<<2)|2,{61,73,0}}, +/* 33576 */ {(13<<2)|2,{61,74,0}}, +/* 33577 */ {(13<<2)|2,{61,74,0}}, +/* 33578 */ {(13<<2)|2,{61,74,0}}, +/* 33579 */ {(13<<2)|2,{61,74,0}}, +/* 33580 */ {(13<<2)|2,{61,74,0}}, +/* 33581 */ {(13<<2)|2,{61,74,0}}, +/* 33582 */ {(13<<2)|2,{61,74,0}}, +/* 33583 */ {(13<<2)|2,{61,74,0}}, +/* 33584 */ {(13<<2)|2,{61,75,0}}, +/* 33585 */ {(13<<2)|2,{61,75,0}}, +/* 33586 */ {(13<<2)|2,{61,75,0}}, +/* 33587 */ {(13<<2)|2,{61,75,0}}, +/* 33588 */ {(13<<2)|2,{61,75,0}}, +/* 33589 */ {(13<<2)|2,{61,75,0}}, +/* 33590 */ {(13<<2)|2,{61,75,0}}, +/* 33591 */ {(13<<2)|2,{61,75,0}}, +/* 33592 */ {(13<<2)|2,{61,76,0}}, +/* 33593 */ {(13<<2)|2,{61,76,0}}, +/* 33594 */ {(13<<2)|2,{61,76,0}}, +/* 33595 */ {(13<<2)|2,{61,76,0}}, +/* 33596 */ {(13<<2)|2,{61,76,0}}, +/* 33597 */ {(13<<2)|2,{61,76,0}}, +/* 33598 */ {(13<<2)|2,{61,76,0}}, +/* 33599 */ {(13<<2)|2,{61,76,0}}, +/* 33600 */ {(13<<2)|2,{61,77,0}}, +/* 33601 */ {(13<<2)|2,{61,77,0}}, +/* 33602 */ {(13<<2)|2,{61,77,0}}, +/* 33603 */ {(13<<2)|2,{61,77,0}}, +/* 33604 */ {(13<<2)|2,{61,77,0}}, +/* 33605 */ {(13<<2)|2,{61,77,0}}, +/* 33606 */ {(13<<2)|2,{61,77,0}}, +/* 33607 */ {(13<<2)|2,{61,77,0}}, +/* 33608 */ {(13<<2)|2,{61,78,0}}, +/* 33609 */ {(13<<2)|2,{61,78,0}}, +/* 33610 */ {(13<<2)|2,{61,78,0}}, +/* 33611 */ {(13<<2)|2,{61,78,0}}, +/* 33612 */ {(13<<2)|2,{61,78,0}}, +/* 33613 */ {(13<<2)|2,{61,78,0}}, +/* 33614 */ {(13<<2)|2,{61,78,0}}, +/* 33615 */ {(13<<2)|2,{61,78,0}}, +/* 33616 */ {(13<<2)|2,{61,79,0}}, +/* 33617 */ {(13<<2)|2,{61,79,0}}, +/* 33618 */ {(13<<2)|2,{61,79,0}}, +/* 33619 */ {(13<<2)|2,{61,79,0}}, +/* 33620 */ {(13<<2)|2,{61,79,0}}, +/* 33621 */ {(13<<2)|2,{61,79,0}}, +/* 33622 */ {(13<<2)|2,{61,79,0}}, +/* 33623 */ {(13<<2)|2,{61,79,0}}, +/* 33624 */ {(13<<2)|2,{61,80,0}}, +/* 33625 */ {(13<<2)|2,{61,80,0}}, +/* 33626 */ {(13<<2)|2,{61,80,0}}, +/* 33627 */ {(13<<2)|2,{61,80,0}}, +/* 33628 */ {(13<<2)|2,{61,80,0}}, +/* 33629 */ {(13<<2)|2,{61,80,0}}, +/* 33630 */ {(13<<2)|2,{61,80,0}}, +/* 33631 */ {(13<<2)|2,{61,80,0}}, +/* 33632 */ {(13<<2)|2,{61,81,0}}, +/* 33633 */ {(13<<2)|2,{61,81,0}}, +/* 33634 */ {(13<<2)|2,{61,81,0}}, +/* 33635 */ {(13<<2)|2,{61,81,0}}, +/* 33636 */ {(13<<2)|2,{61,81,0}}, +/* 33637 */ {(13<<2)|2,{61,81,0}}, +/* 33638 */ {(13<<2)|2,{61,81,0}}, +/* 33639 */ {(13<<2)|2,{61,81,0}}, +/* 33640 */ {(13<<2)|2,{61,82,0}}, +/* 33641 */ {(13<<2)|2,{61,82,0}}, +/* 33642 */ {(13<<2)|2,{61,82,0}}, +/* 33643 */ {(13<<2)|2,{61,82,0}}, +/* 33644 */ {(13<<2)|2,{61,82,0}}, +/* 33645 */ {(13<<2)|2,{61,82,0}}, +/* 33646 */ {(13<<2)|2,{61,82,0}}, +/* 33647 */ {(13<<2)|2,{61,82,0}}, +/* 33648 */ {(13<<2)|2,{61,83,0}}, +/* 33649 */ {(13<<2)|2,{61,83,0}}, +/* 33650 */ {(13<<2)|2,{61,83,0}}, +/* 33651 */ {(13<<2)|2,{61,83,0}}, +/* 33652 */ {(13<<2)|2,{61,83,0}}, +/* 33653 */ {(13<<2)|2,{61,83,0}}, +/* 33654 */ {(13<<2)|2,{61,83,0}}, +/* 33655 */ {(13<<2)|2,{61,83,0}}, +/* 33656 */ {(13<<2)|2,{61,84,0}}, +/* 33657 */ {(13<<2)|2,{61,84,0}}, +/* 33658 */ {(13<<2)|2,{61,84,0}}, +/* 33659 */ {(13<<2)|2,{61,84,0}}, +/* 33660 */ {(13<<2)|2,{61,84,0}}, +/* 33661 */ {(13<<2)|2,{61,84,0}}, +/* 33662 */ {(13<<2)|2,{61,84,0}}, +/* 33663 */ {(13<<2)|2,{61,84,0}}, +/* 33664 */ {(13<<2)|2,{61,85,0}}, +/* 33665 */ {(13<<2)|2,{61,85,0}}, +/* 33666 */ {(13<<2)|2,{61,85,0}}, +/* 33667 */ {(13<<2)|2,{61,85,0}}, +/* 33668 */ {(13<<2)|2,{61,85,0}}, +/* 33669 */ {(13<<2)|2,{61,85,0}}, +/* 33670 */ {(13<<2)|2,{61,85,0}}, +/* 33671 */ {(13<<2)|2,{61,85,0}}, +/* 33672 */ {(13<<2)|2,{61,86,0}}, +/* 33673 */ {(13<<2)|2,{61,86,0}}, +/* 33674 */ {(13<<2)|2,{61,86,0}}, +/* 33675 */ {(13<<2)|2,{61,86,0}}, +/* 33676 */ {(13<<2)|2,{61,86,0}}, +/* 33677 */ {(13<<2)|2,{61,86,0}}, +/* 33678 */ {(13<<2)|2,{61,86,0}}, +/* 33679 */ {(13<<2)|2,{61,86,0}}, +/* 33680 */ {(13<<2)|2,{61,87,0}}, +/* 33681 */ {(13<<2)|2,{61,87,0}}, +/* 33682 */ {(13<<2)|2,{61,87,0}}, +/* 33683 */ {(13<<2)|2,{61,87,0}}, +/* 33684 */ {(13<<2)|2,{61,87,0}}, +/* 33685 */ {(13<<2)|2,{61,87,0}}, +/* 33686 */ {(13<<2)|2,{61,87,0}}, +/* 33687 */ {(13<<2)|2,{61,87,0}}, +/* 33688 */ {(13<<2)|2,{61,89,0}}, +/* 33689 */ {(13<<2)|2,{61,89,0}}, +/* 33690 */ {(13<<2)|2,{61,89,0}}, +/* 33691 */ {(13<<2)|2,{61,89,0}}, +/* 33692 */ {(13<<2)|2,{61,89,0}}, +/* 33693 */ {(13<<2)|2,{61,89,0}}, +/* 33694 */ {(13<<2)|2,{61,89,0}}, +/* 33695 */ {(13<<2)|2,{61,89,0}}, +/* 33696 */ {(13<<2)|2,{61,106,0}}, +/* 33697 */ {(13<<2)|2,{61,106,0}}, +/* 33698 */ {(13<<2)|2,{61,106,0}}, +/* 33699 */ {(13<<2)|2,{61,106,0}}, +/* 33700 */ {(13<<2)|2,{61,106,0}}, +/* 33701 */ {(13<<2)|2,{61,106,0}}, +/* 33702 */ {(13<<2)|2,{61,106,0}}, +/* 33703 */ {(13<<2)|2,{61,106,0}}, +/* 33704 */ {(13<<2)|2,{61,107,0}}, +/* 33705 */ {(13<<2)|2,{61,107,0}}, +/* 33706 */ {(13<<2)|2,{61,107,0}}, +/* 33707 */ {(13<<2)|2,{61,107,0}}, +/* 33708 */ {(13<<2)|2,{61,107,0}}, +/* 33709 */ {(13<<2)|2,{61,107,0}}, +/* 33710 */ {(13<<2)|2,{61,107,0}}, +/* 33711 */ {(13<<2)|2,{61,107,0}}, +/* 33712 */ {(13<<2)|2,{61,113,0}}, +/* 33713 */ {(13<<2)|2,{61,113,0}}, +/* 33714 */ {(13<<2)|2,{61,113,0}}, +/* 33715 */ {(13<<2)|2,{61,113,0}}, +/* 33716 */ {(13<<2)|2,{61,113,0}}, +/* 33717 */ {(13<<2)|2,{61,113,0}}, +/* 33718 */ {(13<<2)|2,{61,113,0}}, +/* 33719 */ {(13<<2)|2,{61,113,0}}, +/* 33720 */ {(13<<2)|2,{61,118,0}}, +/* 33721 */ {(13<<2)|2,{61,118,0}}, +/* 33722 */ {(13<<2)|2,{61,118,0}}, +/* 33723 */ {(13<<2)|2,{61,118,0}}, +/* 33724 */ {(13<<2)|2,{61,118,0}}, +/* 33725 */ {(13<<2)|2,{61,118,0}}, +/* 33726 */ {(13<<2)|2,{61,118,0}}, +/* 33727 */ {(13<<2)|2,{61,118,0}}, +/* 33728 */ {(13<<2)|2,{61,119,0}}, +/* 33729 */ {(13<<2)|2,{61,119,0}}, +/* 33730 */ {(13<<2)|2,{61,119,0}}, +/* 33731 */ {(13<<2)|2,{61,119,0}}, +/* 33732 */ {(13<<2)|2,{61,119,0}}, +/* 33733 */ {(13<<2)|2,{61,119,0}}, +/* 33734 */ {(13<<2)|2,{61,119,0}}, +/* 33735 */ {(13<<2)|2,{61,119,0}}, +/* 33736 */ {(13<<2)|2,{61,120,0}}, +/* 33737 */ {(13<<2)|2,{61,120,0}}, +/* 33738 */ {(13<<2)|2,{61,120,0}}, +/* 33739 */ {(13<<2)|2,{61,120,0}}, +/* 33740 */ {(13<<2)|2,{61,120,0}}, +/* 33741 */ {(13<<2)|2,{61,120,0}}, +/* 33742 */ {(13<<2)|2,{61,120,0}}, +/* 33743 */ {(13<<2)|2,{61,120,0}}, +/* 33744 */ {(13<<2)|2,{61,121,0}}, +/* 33745 */ {(13<<2)|2,{61,121,0}}, +/* 33746 */ {(13<<2)|2,{61,121,0}}, +/* 33747 */ {(13<<2)|2,{61,121,0}}, +/* 33748 */ {(13<<2)|2,{61,121,0}}, +/* 33749 */ {(13<<2)|2,{61,121,0}}, +/* 33750 */ {(13<<2)|2,{61,121,0}}, +/* 33751 */ {(13<<2)|2,{61,121,0}}, +/* 33752 */ {(13<<2)|2,{61,122,0}}, +/* 33753 */ {(13<<2)|2,{61,122,0}}, +/* 33754 */ {(13<<2)|2,{61,122,0}}, +/* 33755 */ {(13<<2)|2,{61,122,0}}, +/* 33756 */ {(13<<2)|2,{61,122,0}}, +/* 33757 */ {(13<<2)|2,{61,122,0}}, +/* 33758 */ {(13<<2)|2,{61,122,0}}, +/* 33759 */ {(13<<2)|2,{61,122,0}}, +/* 33760 */ {(14<<2)|2,{61,38,0}}, +/* 33761 */ {(14<<2)|2,{61,38,0}}, +/* 33762 */ {(14<<2)|2,{61,38,0}}, +/* 33763 */ {(14<<2)|2,{61,38,0}}, +/* 33764 */ {(14<<2)|2,{61,42,0}}, +/* 33765 */ {(14<<2)|2,{61,42,0}}, +/* 33766 */ {(14<<2)|2,{61,42,0}}, +/* 33767 */ {(14<<2)|2,{61,42,0}}, +/* 33768 */ {(14<<2)|2,{61,44,0}}, +/* 33769 */ {(14<<2)|2,{61,44,0}}, +/* 33770 */ {(14<<2)|2,{61,44,0}}, +/* 33771 */ {(14<<2)|2,{61,44,0}}, +/* 33772 */ {(14<<2)|2,{61,59,0}}, +/* 33773 */ {(14<<2)|2,{61,59,0}}, +/* 33774 */ {(14<<2)|2,{61,59,0}}, +/* 33775 */ {(14<<2)|2,{61,59,0}}, +/* 33776 */ {(14<<2)|2,{61,88,0}}, +/* 33777 */ {(14<<2)|2,{61,88,0}}, +/* 33778 */ {(14<<2)|2,{61,88,0}}, +/* 33779 */ {(14<<2)|2,{61,88,0}}, +/* 33780 */ {(14<<2)|2,{61,90,0}}, +/* 33781 */ {(14<<2)|2,{61,90,0}}, +/* 33782 */ {(14<<2)|2,{61,90,0}}, +/* 33783 */ {(14<<2)|2,{61,90,0}}, +/* 33784 */ {(16<<2)|2,{61,33,0}}, +/* 33785 */ {(16<<2)|2,{61,34,0}}, +/* 33786 */ {(16<<2)|2,{61,40,0}}, +/* 33787 */ {(16<<2)|2,{61,41,0}}, +/* 33788 */ {(16<<2)|2,{61,63,0}}, +/* 33789 */ {(6<<2)|1,{61,0,0}}, +/* 33790 */ {(6<<2)|1,{61,0,0}}, +/* 33791 */ {(6<<2)|1,{61,0,0}}, +/* 33792 */ {(16<<2)|3,{65,48,48}}, +/* 33793 */ {(16<<2)|3,{65,48,49}}, +/* 33794 */ {(16<<2)|3,{65,48,50}}, +/* 33795 */ {(16<<2)|3,{65,48,97}}, +/* 33796 */ {(16<<2)|3,{65,48,99}}, +/* 33797 */ {(16<<2)|3,{65,48,101}}, +/* 33798 */ {(16<<2)|3,{65,48,105}}, +/* 33799 */ {(16<<2)|3,{65,48,111}}, +/* 33800 */ {(16<<2)|3,{65,48,115}}, +/* 33801 */ {(16<<2)|3,{65,48,116}}, +/* 33802 */ {(11<<2)|2,{65,48,0}}, +/* 33803 */ {(11<<2)|2,{65,48,0}}, +/* 33804 */ {(11<<2)|2,{65,48,0}}, +/* 33805 */ {(11<<2)|2,{65,48,0}}, +/* 33806 */ {(11<<2)|2,{65,48,0}}, +/* 33807 */ {(11<<2)|2,{65,48,0}}, +/* 33808 */ {(11<<2)|2,{65,48,0}}, +/* 33809 */ {(11<<2)|2,{65,48,0}}, +/* 33810 */ {(11<<2)|2,{65,48,0}}, +/* 33811 */ {(11<<2)|2,{65,48,0}}, +/* 33812 */ {(11<<2)|2,{65,48,0}}, +/* 33813 */ {(11<<2)|2,{65,48,0}}, +/* 33814 */ {(11<<2)|2,{65,48,0}}, +/* 33815 */ {(11<<2)|2,{65,48,0}}, +/* 33816 */ {(11<<2)|2,{65,48,0}}, +/* 33817 */ {(11<<2)|2,{65,48,0}}, +/* 33818 */ {(11<<2)|2,{65,48,0}}, +/* 33819 */ {(11<<2)|2,{65,48,0}}, +/* 33820 */ {(11<<2)|2,{65,48,0}}, +/* 33821 */ {(11<<2)|2,{65,48,0}}, +/* 33822 */ {(11<<2)|2,{65,48,0}}, +/* 33823 */ {(11<<2)|2,{65,48,0}}, +/* 33824 */ {(16<<2)|3,{65,49,48}}, +/* 33825 */ {(16<<2)|3,{65,49,49}}, +/* 33826 */ {(16<<2)|3,{65,49,50}}, +/* 33827 */ {(16<<2)|3,{65,49,97}}, +/* 33828 */ {(16<<2)|3,{65,49,99}}, +/* 33829 */ {(16<<2)|3,{65,49,101}}, +/* 33830 */ {(16<<2)|3,{65,49,105}}, +/* 33831 */ {(16<<2)|3,{65,49,111}}, +/* 33832 */ {(16<<2)|3,{65,49,115}}, +/* 33833 */ {(16<<2)|3,{65,49,116}}, +/* 33834 */ {(11<<2)|2,{65,49,0}}, +/* 33835 */ {(11<<2)|2,{65,49,0}}, +/* 33836 */ {(11<<2)|2,{65,49,0}}, +/* 33837 */ {(11<<2)|2,{65,49,0}}, +/* 33838 */ {(11<<2)|2,{65,49,0}}, +/* 33839 */ {(11<<2)|2,{65,49,0}}, +/* 33840 */ {(11<<2)|2,{65,49,0}}, +/* 33841 */ {(11<<2)|2,{65,49,0}}, +/* 33842 */ {(11<<2)|2,{65,49,0}}, +/* 33843 */ {(11<<2)|2,{65,49,0}}, +/* 33844 */ {(11<<2)|2,{65,49,0}}, +/* 33845 */ {(11<<2)|2,{65,49,0}}, +/* 33846 */ {(11<<2)|2,{65,49,0}}, +/* 33847 */ {(11<<2)|2,{65,49,0}}, +/* 33848 */ {(11<<2)|2,{65,49,0}}, +/* 33849 */ {(11<<2)|2,{65,49,0}}, +/* 33850 */ {(11<<2)|2,{65,49,0}}, +/* 33851 */ {(11<<2)|2,{65,49,0}}, +/* 33852 */ {(11<<2)|2,{65,49,0}}, +/* 33853 */ {(11<<2)|2,{65,49,0}}, +/* 33854 */ {(11<<2)|2,{65,49,0}}, +/* 33855 */ {(11<<2)|2,{65,49,0}}, +/* 33856 */ {(16<<2)|3,{65,50,48}}, +/* 33857 */ {(16<<2)|3,{65,50,49}}, +/* 33858 */ {(16<<2)|3,{65,50,50}}, +/* 33859 */ {(16<<2)|3,{65,50,97}}, +/* 33860 */ {(16<<2)|3,{65,50,99}}, +/* 33861 */ {(16<<2)|3,{65,50,101}}, +/* 33862 */ {(16<<2)|3,{65,50,105}}, +/* 33863 */ {(16<<2)|3,{65,50,111}}, +/* 33864 */ {(16<<2)|3,{65,50,115}}, +/* 33865 */ {(16<<2)|3,{65,50,116}}, +/* 33866 */ {(11<<2)|2,{65,50,0}}, +/* 33867 */ {(11<<2)|2,{65,50,0}}, +/* 33868 */ {(11<<2)|2,{65,50,0}}, +/* 33869 */ {(11<<2)|2,{65,50,0}}, +/* 33870 */ {(11<<2)|2,{65,50,0}}, +/* 33871 */ {(11<<2)|2,{65,50,0}}, +/* 33872 */ {(11<<2)|2,{65,50,0}}, +/* 33873 */ {(11<<2)|2,{65,50,0}}, +/* 33874 */ {(11<<2)|2,{65,50,0}}, +/* 33875 */ {(11<<2)|2,{65,50,0}}, +/* 33876 */ {(11<<2)|2,{65,50,0}}, +/* 33877 */ {(11<<2)|2,{65,50,0}}, +/* 33878 */ {(11<<2)|2,{65,50,0}}, +/* 33879 */ {(11<<2)|2,{65,50,0}}, +/* 33880 */ {(11<<2)|2,{65,50,0}}, +/* 33881 */ {(11<<2)|2,{65,50,0}}, +/* 33882 */ {(11<<2)|2,{65,50,0}}, +/* 33883 */ {(11<<2)|2,{65,50,0}}, +/* 33884 */ {(11<<2)|2,{65,50,0}}, +/* 33885 */ {(11<<2)|2,{65,50,0}}, +/* 33886 */ {(11<<2)|2,{65,50,0}}, +/* 33887 */ {(11<<2)|2,{65,50,0}}, +/* 33888 */ {(16<<2)|3,{65,97,48}}, +/* 33889 */ {(16<<2)|3,{65,97,49}}, +/* 33890 */ {(16<<2)|3,{65,97,50}}, +/* 33891 */ {(16<<2)|3,{65,97,97}}, +/* 33892 */ {(16<<2)|3,{65,97,99}}, +/* 33893 */ {(16<<2)|3,{65,97,101}}, +/* 33894 */ {(16<<2)|3,{65,97,105}}, +/* 33895 */ {(16<<2)|3,{65,97,111}}, +/* 33896 */ {(16<<2)|3,{65,97,115}}, +/* 33897 */ {(16<<2)|3,{65,97,116}}, +/* 33898 */ {(11<<2)|2,{65,97,0}}, +/* 33899 */ {(11<<2)|2,{65,97,0}}, +/* 33900 */ {(11<<2)|2,{65,97,0}}, +/* 33901 */ {(11<<2)|2,{65,97,0}}, +/* 33902 */ {(11<<2)|2,{65,97,0}}, +/* 33903 */ {(11<<2)|2,{65,97,0}}, +/* 33904 */ {(11<<2)|2,{65,97,0}}, +/* 33905 */ {(11<<2)|2,{65,97,0}}, +/* 33906 */ {(11<<2)|2,{65,97,0}}, +/* 33907 */ {(11<<2)|2,{65,97,0}}, +/* 33908 */ {(11<<2)|2,{65,97,0}}, +/* 33909 */ {(11<<2)|2,{65,97,0}}, +/* 33910 */ {(11<<2)|2,{65,97,0}}, +/* 33911 */ {(11<<2)|2,{65,97,0}}, +/* 33912 */ {(11<<2)|2,{65,97,0}}, +/* 33913 */ {(11<<2)|2,{65,97,0}}, +/* 33914 */ {(11<<2)|2,{65,97,0}}, +/* 33915 */ {(11<<2)|2,{65,97,0}}, +/* 33916 */ {(11<<2)|2,{65,97,0}}, +/* 33917 */ {(11<<2)|2,{65,97,0}}, +/* 33918 */ {(11<<2)|2,{65,97,0}}, +/* 33919 */ {(11<<2)|2,{65,97,0}}, +/* 33920 */ {(16<<2)|3,{65,99,48}}, +/* 33921 */ {(16<<2)|3,{65,99,49}}, +/* 33922 */ {(16<<2)|3,{65,99,50}}, +/* 33923 */ {(16<<2)|3,{65,99,97}}, +/* 33924 */ {(16<<2)|3,{65,99,99}}, +/* 33925 */ {(16<<2)|3,{65,99,101}}, +/* 33926 */ {(16<<2)|3,{65,99,105}}, +/* 33927 */ {(16<<2)|3,{65,99,111}}, +/* 33928 */ {(16<<2)|3,{65,99,115}}, +/* 33929 */ {(16<<2)|3,{65,99,116}}, +/* 33930 */ {(11<<2)|2,{65,99,0}}, +/* 33931 */ {(11<<2)|2,{65,99,0}}, +/* 33932 */ {(11<<2)|2,{65,99,0}}, +/* 33933 */ {(11<<2)|2,{65,99,0}}, +/* 33934 */ {(11<<2)|2,{65,99,0}}, +/* 33935 */ {(11<<2)|2,{65,99,0}}, +/* 33936 */ {(11<<2)|2,{65,99,0}}, +/* 33937 */ {(11<<2)|2,{65,99,0}}, +/* 33938 */ {(11<<2)|2,{65,99,0}}, +/* 33939 */ {(11<<2)|2,{65,99,0}}, +/* 33940 */ {(11<<2)|2,{65,99,0}}, +/* 33941 */ {(11<<2)|2,{65,99,0}}, +/* 33942 */ {(11<<2)|2,{65,99,0}}, +/* 33943 */ {(11<<2)|2,{65,99,0}}, +/* 33944 */ {(11<<2)|2,{65,99,0}}, +/* 33945 */ {(11<<2)|2,{65,99,0}}, +/* 33946 */ {(11<<2)|2,{65,99,0}}, +/* 33947 */ {(11<<2)|2,{65,99,0}}, +/* 33948 */ {(11<<2)|2,{65,99,0}}, +/* 33949 */ {(11<<2)|2,{65,99,0}}, +/* 33950 */ {(11<<2)|2,{65,99,0}}, +/* 33951 */ {(11<<2)|2,{65,99,0}}, +/* 33952 */ {(16<<2)|3,{65,101,48}}, +/* 33953 */ {(16<<2)|3,{65,101,49}}, +/* 33954 */ {(16<<2)|3,{65,101,50}}, +/* 33955 */ {(16<<2)|3,{65,101,97}}, +/* 33956 */ {(16<<2)|3,{65,101,99}}, +/* 33957 */ {(16<<2)|3,{65,101,101}}, +/* 33958 */ {(16<<2)|3,{65,101,105}}, +/* 33959 */ {(16<<2)|3,{65,101,111}}, +/* 33960 */ {(16<<2)|3,{65,101,115}}, +/* 33961 */ {(16<<2)|3,{65,101,116}}, +/* 33962 */ {(11<<2)|2,{65,101,0}}, +/* 33963 */ {(11<<2)|2,{65,101,0}}, +/* 33964 */ {(11<<2)|2,{65,101,0}}, +/* 33965 */ {(11<<2)|2,{65,101,0}}, +/* 33966 */ {(11<<2)|2,{65,101,0}}, +/* 33967 */ {(11<<2)|2,{65,101,0}}, +/* 33968 */ {(11<<2)|2,{65,101,0}}, +/* 33969 */ {(11<<2)|2,{65,101,0}}, +/* 33970 */ {(11<<2)|2,{65,101,0}}, +/* 33971 */ {(11<<2)|2,{65,101,0}}, +/* 33972 */ {(11<<2)|2,{65,101,0}}, +/* 33973 */ {(11<<2)|2,{65,101,0}}, +/* 33974 */ {(11<<2)|2,{65,101,0}}, +/* 33975 */ {(11<<2)|2,{65,101,0}}, +/* 33976 */ {(11<<2)|2,{65,101,0}}, +/* 33977 */ {(11<<2)|2,{65,101,0}}, +/* 33978 */ {(11<<2)|2,{65,101,0}}, +/* 33979 */ {(11<<2)|2,{65,101,0}}, +/* 33980 */ {(11<<2)|2,{65,101,0}}, +/* 33981 */ {(11<<2)|2,{65,101,0}}, +/* 33982 */ {(11<<2)|2,{65,101,0}}, +/* 33983 */ {(11<<2)|2,{65,101,0}}, +/* 33984 */ {(16<<2)|3,{65,105,48}}, +/* 33985 */ {(16<<2)|3,{65,105,49}}, +/* 33986 */ {(16<<2)|3,{65,105,50}}, +/* 33987 */ {(16<<2)|3,{65,105,97}}, +/* 33988 */ {(16<<2)|3,{65,105,99}}, +/* 33989 */ {(16<<2)|3,{65,105,101}}, +/* 33990 */ {(16<<2)|3,{65,105,105}}, +/* 33991 */ {(16<<2)|3,{65,105,111}}, +/* 33992 */ {(16<<2)|3,{65,105,115}}, +/* 33993 */ {(16<<2)|3,{65,105,116}}, +/* 33994 */ {(11<<2)|2,{65,105,0}}, +/* 33995 */ {(11<<2)|2,{65,105,0}}, +/* 33996 */ {(11<<2)|2,{65,105,0}}, +/* 33997 */ {(11<<2)|2,{65,105,0}}, +/* 33998 */ {(11<<2)|2,{65,105,0}}, +/* 33999 */ {(11<<2)|2,{65,105,0}}, +/* 34000 */ {(11<<2)|2,{65,105,0}}, +/* 34001 */ {(11<<2)|2,{65,105,0}}, +/* 34002 */ {(11<<2)|2,{65,105,0}}, +/* 34003 */ {(11<<2)|2,{65,105,0}}, +/* 34004 */ {(11<<2)|2,{65,105,0}}, +/* 34005 */ {(11<<2)|2,{65,105,0}}, +/* 34006 */ {(11<<2)|2,{65,105,0}}, +/* 34007 */ {(11<<2)|2,{65,105,0}}, +/* 34008 */ {(11<<2)|2,{65,105,0}}, +/* 34009 */ {(11<<2)|2,{65,105,0}}, +/* 34010 */ {(11<<2)|2,{65,105,0}}, +/* 34011 */ {(11<<2)|2,{65,105,0}}, +/* 34012 */ {(11<<2)|2,{65,105,0}}, +/* 34013 */ {(11<<2)|2,{65,105,0}}, +/* 34014 */ {(11<<2)|2,{65,105,0}}, +/* 34015 */ {(11<<2)|2,{65,105,0}}, +/* 34016 */ {(16<<2)|3,{65,111,48}}, +/* 34017 */ {(16<<2)|3,{65,111,49}}, +/* 34018 */ {(16<<2)|3,{65,111,50}}, +/* 34019 */ {(16<<2)|3,{65,111,97}}, +/* 34020 */ {(16<<2)|3,{65,111,99}}, +/* 34021 */ {(16<<2)|3,{65,111,101}}, +/* 34022 */ {(16<<2)|3,{65,111,105}}, +/* 34023 */ {(16<<2)|3,{65,111,111}}, +/* 34024 */ {(16<<2)|3,{65,111,115}}, +/* 34025 */ {(16<<2)|3,{65,111,116}}, +/* 34026 */ {(11<<2)|2,{65,111,0}}, +/* 34027 */ {(11<<2)|2,{65,111,0}}, +/* 34028 */ {(11<<2)|2,{65,111,0}}, +/* 34029 */ {(11<<2)|2,{65,111,0}}, +/* 34030 */ {(11<<2)|2,{65,111,0}}, +/* 34031 */ {(11<<2)|2,{65,111,0}}, +/* 34032 */ {(11<<2)|2,{65,111,0}}, +/* 34033 */ {(11<<2)|2,{65,111,0}}, +/* 34034 */ {(11<<2)|2,{65,111,0}}, +/* 34035 */ {(11<<2)|2,{65,111,0}}, +/* 34036 */ {(11<<2)|2,{65,111,0}}, +/* 34037 */ {(11<<2)|2,{65,111,0}}, +/* 34038 */ {(11<<2)|2,{65,111,0}}, +/* 34039 */ {(11<<2)|2,{65,111,0}}, +/* 34040 */ {(11<<2)|2,{65,111,0}}, +/* 34041 */ {(11<<2)|2,{65,111,0}}, +/* 34042 */ {(11<<2)|2,{65,111,0}}, +/* 34043 */ {(11<<2)|2,{65,111,0}}, +/* 34044 */ {(11<<2)|2,{65,111,0}}, +/* 34045 */ {(11<<2)|2,{65,111,0}}, +/* 34046 */ {(11<<2)|2,{65,111,0}}, +/* 34047 */ {(11<<2)|2,{65,111,0}}, +/* 34048 */ {(16<<2)|3,{65,115,48}}, +/* 34049 */ {(16<<2)|3,{65,115,49}}, +/* 34050 */ {(16<<2)|3,{65,115,50}}, +/* 34051 */ {(16<<2)|3,{65,115,97}}, +/* 34052 */ {(16<<2)|3,{65,115,99}}, +/* 34053 */ {(16<<2)|3,{65,115,101}}, +/* 34054 */ {(16<<2)|3,{65,115,105}}, +/* 34055 */ {(16<<2)|3,{65,115,111}}, +/* 34056 */ {(16<<2)|3,{65,115,115}}, +/* 34057 */ {(16<<2)|3,{65,115,116}}, +/* 34058 */ {(11<<2)|2,{65,115,0}}, +/* 34059 */ {(11<<2)|2,{65,115,0}}, +/* 34060 */ {(11<<2)|2,{65,115,0}}, +/* 34061 */ {(11<<2)|2,{65,115,0}}, +/* 34062 */ {(11<<2)|2,{65,115,0}}, +/* 34063 */ {(11<<2)|2,{65,115,0}}, +/* 34064 */ {(11<<2)|2,{65,115,0}}, +/* 34065 */ {(11<<2)|2,{65,115,0}}, +/* 34066 */ {(11<<2)|2,{65,115,0}}, +/* 34067 */ {(11<<2)|2,{65,115,0}}, +/* 34068 */ {(11<<2)|2,{65,115,0}}, +/* 34069 */ {(11<<2)|2,{65,115,0}}, +/* 34070 */ {(11<<2)|2,{65,115,0}}, +/* 34071 */ {(11<<2)|2,{65,115,0}}, +/* 34072 */ {(11<<2)|2,{65,115,0}}, +/* 34073 */ {(11<<2)|2,{65,115,0}}, +/* 34074 */ {(11<<2)|2,{65,115,0}}, +/* 34075 */ {(11<<2)|2,{65,115,0}}, +/* 34076 */ {(11<<2)|2,{65,115,0}}, +/* 34077 */ {(11<<2)|2,{65,115,0}}, +/* 34078 */ {(11<<2)|2,{65,115,0}}, +/* 34079 */ {(11<<2)|2,{65,115,0}}, +/* 34080 */ {(16<<2)|3,{65,116,48}}, +/* 34081 */ {(16<<2)|3,{65,116,49}}, +/* 34082 */ {(16<<2)|3,{65,116,50}}, +/* 34083 */ {(16<<2)|3,{65,116,97}}, +/* 34084 */ {(16<<2)|3,{65,116,99}}, +/* 34085 */ {(16<<2)|3,{65,116,101}}, +/* 34086 */ {(16<<2)|3,{65,116,105}}, +/* 34087 */ {(16<<2)|3,{65,116,111}}, +/* 34088 */ {(16<<2)|3,{65,116,115}}, +/* 34089 */ {(16<<2)|3,{65,116,116}}, +/* 34090 */ {(11<<2)|2,{65,116,0}}, +/* 34091 */ {(11<<2)|2,{65,116,0}}, +/* 34092 */ {(11<<2)|2,{65,116,0}}, +/* 34093 */ {(11<<2)|2,{65,116,0}}, +/* 34094 */ {(11<<2)|2,{65,116,0}}, +/* 34095 */ {(11<<2)|2,{65,116,0}}, +/* 34096 */ {(11<<2)|2,{65,116,0}}, +/* 34097 */ {(11<<2)|2,{65,116,0}}, +/* 34098 */ {(11<<2)|2,{65,116,0}}, +/* 34099 */ {(11<<2)|2,{65,116,0}}, +/* 34100 */ {(11<<2)|2,{65,116,0}}, +/* 34101 */ {(11<<2)|2,{65,116,0}}, +/* 34102 */ {(11<<2)|2,{65,116,0}}, +/* 34103 */ {(11<<2)|2,{65,116,0}}, +/* 34104 */ {(11<<2)|2,{65,116,0}}, +/* 34105 */ {(11<<2)|2,{65,116,0}}, +/* 34106 */ {(11<<2)|2,{65,116,0}}, +/* 34107 */ {(11<<2)|2,{65,116,0}}, +/* 34108 */ {(11<<2)|2,{65,116,0}}, +/* 34109 */ {(11<<2)|2,{65,116,0}}, +/* 34110 */ {(11<<2)|2,{65,116,0}}, +/* 34111 */ {(11<<2)|2,{65,116,0}}, +/* 34112 */ {(12<<2)|2,{65,32,0}}, +/* 34113 */ {(12<<2)|2,{65,32,0}}, +/* 34114 */ {(12<<2)|2,{65,32,0}}, +/* 34115 */ {(12<<2)|2,{65,32,0}}, +/* 34116 */ {(12<<2)|2,{65,32,0}}, +/* 34117 */ {(12<<2)|2,{65,32,0}}, +/* 34118 */ {(12<<2)|2,{65,32,0}}, +/* 34119 */ {(12<<2)|2,{65,32,0}}, +/* 34120 */ {(12<<2)|2,{65,32,0}}, +/* 34121 */ {(12<<2)|2,{65,32,0}}, +/* 34122 */ {(12<<2)|2,{65,32,0}}, +/* 34123 */ {(12<<2)|2,{65,32,0}}, +/* 34124 */ {(12<<2)|2,{65,32,0}}, +/* 34125 */ {(12<<2)|2,{65,32,0}}, +/* 34126 */ {(12<<2)|2,{65,32,0}}, +/* 34127 */ {(12<<2)|2,{65,32,0}}, +/* 34128 */ {(12<<2)|2,{65,37,0}}, +/* 34129 */ {(12<<2)|2,{65,37,0}}, +/* 34130 */ {(12<<2)|2,{65,37,0}}, +/* 34131 */ {(12<<2)|2,{65,37,0}}, +/* 34132 */ {(12<<2)|2,{65,37,0}}, +/* 34133 */ {(12<<2)|2,{65,37,0}}, +/* 34134 */ {(12<<2)|2,{65,37,0}}, +/* 34135 */ {(12<<2)|2,{65,37,0}}, +/* 34136 */ {(12<<2)|2,{65,37,0}}, +/* 34137 */ {(12<<2)|2,{65,37,0}}, +/* 34138 */ {(12<<2)|2,{65,37,0}}, +/* 34139 */ {(12<<2)|2,{65,37,0}}, +/* 34140 */ {(12<<2)|2,{65,37,0}}, +/* 34141 */ {(12<<2)|2,{65,37,0}}, +/* 34142 */ {(12<<2)|2,{65,37,0}}, +/* 34143 */ {(12<<2)|2,{65,37,0}}, +/* 34144 */ {(12<<2)|2,{65,45,0}}, +/* 34145 */ {(12<<2)|2,{65,45,0}}, +/* 34146 */ {(12<<2)|2,{65,45,0}}, +/* 34147 */ {(12<<2)|2,{65,45,0}}, +/* 34148 */ {(12<<2)|2,{65,45,0}}, +/* 34149 */ {(12<<2)|2,{65,45,0}}, +/* 34150 */ {(12<<2)|2,{65,45,0}}, +/* 34151 */ {(12<<2)|2,{65,45,0}}, +/* 34152 */ {(12<<2)|2,{65,45,0}}, +/* 34153 */ {(12<<2)|2,{65,45,0}}, +/* 34154 */ {(12<<2)|2,{65,45,0}}, +/* 34155 */ {(12<<2)|2,{65,45,0}}, +/* 34156 */ {(12<<2)|2,{65,45,0}}, +/* 34157 */ {(12<<2)|2,{65,45,0}}, +/* 34158 */ {(12<<2)|2,{65,45,0}}, +/* 34159 */ {(12<<2)|2,{65,45,0}}, +/* 34160 */ {(12<<2)|2,{65,46,0}}, +/* 34161 */ {(12<<2)|2,{65,46,0}}, +/* 34162 */ {(12<<2)|2,{65,46,0}}, +/* 34163 */ {(12<<2)|2,{65,46,0}}, +/* 34164 */ {(12<<2)|2,{65,46,0}}, +/* 34165 */ {(12<<2)|2,{65,46,0}}, +/* 34166 */ {(12<<2)|2,{65,46,0}}, +/* 34167 */ {(12<<2)|2,{65,46,0}}, +/* 34168 */ {(12<<2)|2,{65,46,0}}, +/* 34169 */ {(12<<2)|2,{65,46,0}}, +/* 34170 */ {(12<<2)|2,{65,46,0}}, +/* 34171 */ {(12<<2)|2,{65,46,0}}, +/* 34172 */ {(12<<2)|2,{65,46,0}}, +/* 34173 */ {(12<<2)|2,{65,46,0}}, +/* 34174 */ {(12<<2)|2,{65,46,0}}, +/* 34175 */ {(12<<2)|2,{65,46,0}}, +/* 34176 */ {(12<<2)|2,{65,47,0}}, +/* 34177 */ {(12<<2)|2,{65,47,0}}, +/* 34178 */ {(12<<2)|2,{65,47,0}}, +/* 34179 */ {(12<<2)|2,{65,47,0}}, +/* 34180 */ {(12<<2)|2,{65,47,0}}, +/* 34181 */ {(12<<2)|2,{65,47,0}}, +/* 34182 */ {(12<<2)|2,{65,47,0}}, +/* 34183 */ {(12<<2)|2,{65,47,0}}, +/* 34184 */ {(12<<2)|2,{65,47,0}}, +/* 34185 */ {(12<<2)|2,{65,47,0}}, +/* 34186 */ {(12<<2)|2,{65,47,0}}, +/* 34187 */ {(12<<2)|2,{65,47,0}}, +/* 34188 */ {(12<<2)|2,{65,47,0}}, +/* 34189 */ {(12<<2)|2,{65,47,0}}, +/* 34190 */ {(12<<2)|2,{65,47,0}}, +/* 34191 */ {(12<<2)|2,{65,47,0}}, +/* 34192 */ {(12<<2)|2,{65,51,0}}, +/* 34193 */ {(12<<2)|2,{65,51,0}}, +/* 34194 */ {(12<<2)|2,{65,51,0}}, +/* 34195 */ {(12<<2)|2,{65,51,0}}, +/* 34196 */ {(12<<2)|2,{65,51,0}}, +/* 34197 */ {(12<<2)|2,{65,51,0}}, +/* 34198 */ {(12<<2)|2,{65,51,0}}, +/* 34199 */ {(12<<2)|2,{65,51,0}}, +/* 34200 */ {(12<<2)|2,{65,51,0}}, +/* 34201 */ {(12<<2)|2,{65,51,0}}, +/* 34202 */ {(12<<2)|2,{65,51,0}}, +/* 34203 */ {(12<<2)|2,{65,51,0}}, +/* 34204 */ {(12<<2)|2,{65,51,0}}, +/* 34205 */ {(12<<2)|2,{65,51,0}}, +/* 34206 */ {(12<<2)|2,{65,51,0}}, +/* 34207 */ {(12<<2)|2,{65,51,0}}, +/* 34208 */ {(12<<2)|2,{65,52,0}}, +/* 34209 */ {(12<<2)|2,{65,52,0}}, +/* 34210 */ {(12<<2)|2,{65,52,0}}, +/* 34211 */ {(12<<2)|2,{65,52,0}}, +/* 34212 */ {(12<<2)|2,{65,52,0}}, +/* 34213 */ {(12<<2)|2,{65,52,0}}, +/* 34214 */ {(12<<2)|2,{65,52,0}}, +/* 34215 */ {(12<<2)|2,{65,52,0}}, +/* 34216 */ {(12<<2)|2,{65,52,0}}, +/* 34217 */ {(12<<2)|2,{65,52,0}}, +/* 34218 */ {(12<<2)|2,{65,52,0}}, +/* 34219 */ {(12<<2)|2,{65,52,0}}, +/* 34220 */ {(12<<2)|2,{65,52,0}}, +/* 34221 */ {(12<<2)|2,{65,52,0}}, +/* 34222 */ {(12<<2)|2,{65,52,0}}, +/* 34223 */ {(12<<2)|2,{65,52,0}}, +/* 34224 */ {(12<<2)|2,{65,53,0}}, +/* 34225 */ {(12<<2)|2,{65,53,0}}, +/* 34226 */ {(12<<2)|2,{65,53,0}}, +/* 34227 */ {(12<<2)|2,{65,53,0}}, +/* 34228 */ {(12<<2)|2,{65,53,0}}, +/* 34229 */ {(12<<2)|2,{65,53,0}}, +/* 34230 */ {(12<<2)|2,{65,53,0}}, +/* 34231 */ {(12<<2)|2,{65,53,0}}, +/* 34232 */ {(12<<2)|2,{65,53,0}}, +/* 34233 */ {(12<<2)|2,{65,53,0}}, +/* 34234 */ {(12<<2)|2,{65,53,0}}, +/* 34235 */ {(12<<2)|2,{65,53,0}}, +/* 34236 */ {(12<<2)|2,{65,53,0}}, +/* 34237 */ {(12<<2)|2,{65,53,0}}, +/* 34238 */ {(12<<2)|2,{65,53,0}}, +/* 34239 */ {(12<<2)|2,{65,53,0}}, +/* 34240 */ {(12<<2)|2,{65,54,0}}, +/* 34241 */ {(12<<2)|2,{65,54,0}}, +/* 34242 */ {(12<<2)|2,{65,54,0}}, +/* 34243 */ {(12<<2)|2,{65,54,0}}, +/* 34244 */ {(12<<2)|2,{65,54,0}}, +/* 34245 */ {(12<<2)|2,{65,54,0}}, +/* 34246 */ {(12<<2)|2,{65,54,0}}, +/* 34247 */ {(12<<2)|2,{65,54,0}}, +/* 34248 */ {(12<<2)|2,{65,54,0}}, +/* 34249 */ {(12<<2)|2,{65,54,0}}, +/* 34250 */ {(12<<2)|2,{65,54,0}}, +/* 34251 */ {(12<<2)|2,{65,54,0}}, +/* 34252 */ {(12<<2)|2,{65,54,0}}, +/* 34253 */ {(12<<2)|2,{65,54,0}}, +/* 34254 */ {(12<<2)|2,{65,54,0}}, +/* 34255 */ {(12<<2)|2,{65,54,0}}, +/* 34256 */ {(12<<2)|2,{65,55,0}}, +/* 34257 */ {(12<<2)|2,{65,55,0}}, +/* 34258 */ {(12<<2)|2,{65,55,0}}, +/* 34259 */ {(12<<2)|2,{65,55,0}}, +/* 34260 */ {(12<<2)|2,{65,55,0}}, +/* 34261 */ {(12<<2)|2,{65,55,0}}, +/* 34262 */ {(12<<2)|2,{65,55,0}}, +/* 34263 */ {(12<<2)|2,{65,55,0}}, +/* 34264 */ {(12<<2)|2,{65,55,0}}, +/* 34265 */ {(12<<2)|2,{65,55,0}}, +/* 34266 */ {(12<<2)|2,{65,55,0}}, +/* 34267 */ {(12<<2)|2,{65,55,0}}, +/* 34268 */ {(12<<2)|2,{65,55,0}}, +/* 34269 */ {(12<<2)|2,{65,55,0}}, +/* 34270 */ {(12<<2)|2,{65,55,0}}, +/* 34271 */ {(12<<2)|2,{65,55,0}}, +/* 34272 */ {(12<<2)|2,{65,56,0}}, +/* 34273 */ {(12<<2)|2,{65,56,0}}, +/* 34274 */ {(12<<2)|2,{65,56,0}}, +/* 34275 */ {(12<<2)|2,{65,56,0}}, +/* 34276 */ {(12<<2)|2,{65,56,0}}, +/* 34277 */ {(12<<2)|2,{65,56,0}}, +/* 34278 */ {(12<<2)|2,{65,56,0}}, +/* 34279 */ {(12<<2)|2,{65,56,0}}, +/* 34280 */ {(12<<2)|2,{65,56,0}}, +/* 34281 */ {(12<<2)|2,{65,56,0}}, +/* 34282 */ {(12<<2)|2,{65,56,0}}, +/* 34283 */ {(12<<2)|2,{65,56,0}}, +/* 34284 */ {(12<<2)|2,{65,56,0}}, +/* 34285 */ {(12<<2)|2,{65,56,0}}, +/* 34286 */ {(12<<2)|2,{65,56,0}}, +/* 34287 */ {(12<<2)|2,{65,56,0}}, +/* 34288 */ {(12<<2)|2,{65,57,0}}, +/* 34289 */ {(12<<2)|2,{65,57,0}}, +/* 34290 */ {(12<<2)|2,{65,57,0}}, +/* 34291 */ {(12<<2)|2,{65,57,0}}, +/* 34292 */ {(12<<2)|2,{65,57,0}}, +/* 34293 */ {(12<<2)|2,{65,57,0}}, +/* 34294 */ {(12<<2)|2,{65,57,0}}, +/* 34295 */ {(12<<2)|2,{65,57,0}}, +/* 34296 */ {(12<<2)|2,{65,57,0}}, +/* 34297 */ {(12<<2)|2,{65,57,0}}, +/* 34298 */ {(12<<2)|2,{65,57,0}}, +/* 34299 */ {(12<<2)|2,{65,57,0}}, +/* 34300 */ {(12<<2)|2,{65,57,0}}, +/* 34301 */ {(12<<2)|2,{65,57,0}}, +/* 34302 */ {(12<<2)|2,{65,57,0}}, +/* 34303 */ {(12<<2)|2,{65,57,0}}, +/* 34304 */ {(12<<2)|2,{65,61,0}}, +/* 34305 */ {(12<<2)|2,{65,61,0}}, +/* 34306 */ {(12<<2)|2,{65,61,0}}, +/* 34307 */ {(12<<2)|2,{65,61,0}}, +/* 34308 */ {(12<<2)|2,{65,61,0}}, +/* 34309 */ {(12<<2)|2,{65,61,0}}, +/* 34310 */ {(12<<2)|2,{65,61,0}}, +/* 34311 */ {(12<<2)|2,{65,61,0}}, +/* 34312 */ {(12<<2)|2,{65,61,0}}, +/* 34313 */ {(12<<2)|2,{65,61,0}}, +/* 34314 */ {(12<<2)|2,{65,61,0}}, +/* 34315 */ {(12<<2)|2,{65,61,0}}, +/* 34316 */ {(12<<2)|2,{65,61,0}}, +/* 34317 */ {(12<<2)|2,{65,61,0}}, +/* 34318 */ {(12<<2)|2,{65,61,0}}, +/* 34319 */ {(12<<2)|2,{65,61,0}}, +/* 34320 */ {(12<<2)|2,{65,65,0}}, +/* 34321 */ {(12<<2)|2,{65,65,0}}, +/* 34322 */ {(12<<2)|2,{65,65,0}}, +/* 34323 */ {(12<<2)|2,{65,65,0}}, +/* 34324 */ {(12<<2)|2,{65,65,0}}, +/* 34325 */ {(12<<2)|2,{65,65,0}}, +/* 34326 */ {(12<<2)|2,{65,65,0}}, +/* 34327 */ {(12<<2)|2,{65,65,0}}, +/* 34328 */ {(12<<2)|2,{65,65,0}}, +/* 34329 */ {(12<<2)|2,{65,65,0}}, +/* 34330 */ {(12<<2)|2,{65,65,0}}, +/* 34331 */ {(12<<2)|2,{65,65,0}}, +/* 34332 */ {(12<<2)|2,{65,65,0}}, +/* 34333 */ {(12<<2)|2,{65,65,0}}, +/* 34334 */ {(12<<2)|2,{65,65,0}}, +/* 34335 */ {(12<<2)|2,{65,65,0}}, +/* 34336 */ {(12<<2)|2,{65,95,0}}, +/* 34337 */ {(12<<2)|2,{65,95,0}}, +/* 34338 */ {(12<<2)|2,{65,95,0}}, +/* 34339 */ {(12<<2)|2,{65,95,0}}, +/* 34340 */ {(12<<2)|2,{65,95,0}}, +/* 34341 */ {(12<<2)|2,{65,95,0}}, +/* 34342 */ {(12<<2)|2,{65,95,0}}, +/* 34343 */ {(12<<2)|2,{65,95,0}}, +/* 34344 */ {(12<<2)|2,{65,95,0}}, +/* 34345 */ {(12<<2)|2,{65,95,0}}, +/* 34346 */ {(12<<2)|2,{65,95,0}}, +/* 34347 */ {(12<<2)|2,{65,95,0}}, +/* 34348 */ {(12<<2)|2,{65,95,0}}, +/* 34349 */ {(12<<2)|2,{65,95,0}}, +/* 34350 */ {(12<<2)|2,{65,95,0}}, +/* 34351 */ {(12<<2)|2,{65,95,0}}, +/* 34352 */ {(12<<2)|2,{65,98,0}}, +/* 34353 */ {(12<<2)|2,{65,98,0}}, +/* 34354 */ {(12<<2)|2,{65,98,0}}, +/* 34355 */ {(12<<2)|2,{65,98,0}}, +/* 34356 */ {(12<<2)|2,{65,98,0}}, +/* 34357 */ {(12<<2)|2,{65,98,0}}, +/* 34358 */ {(12<<2)|2,{65,98,0}}, +/* 34359 */ {(12<<2)|2,{65,98,0}}, +/* 34360 */ {(12<<2)|2,{65,98,0}}, +/* 34361 */ {(12<<2)|2,{65,98,0}}, +/* 34362 */ {(12<<2)|2,{65,98,0}}, +/* 34363 */ {(12<<2)|2,{65,98,0}}, +/* 34364 */ {(12<<2)|2,{65,98,0}}, +/* 34365 */ {(12<<2)|2,{65,98,0}}, +/* 34366 */ {(12<<2)|2,{65,98,0}}, +/* 34367 */ {(12<<2)|2,{65,98,0}}, +/* 34368 */ {(12<<2)|2,{65,100,0}}, +/* 34369 */ {(12<<2)|2,{65,100,0}}, +/* 34370 */ {(12<<2)|2,{65,100,0}}, +/* 34371 */ {(12<<2)|2,{65,100,0}}, +/* 34372 */ {(12<<2)|2,{65,100,0}}, +/* 34373 */ {(12<<2)|2,{65,100,0}}, +/* 34374 */ {(12<<2)|2,{65,100,0}}, +/* 34375 */ {(12<<2)|2,{65,100,0}}, +/* 34376 */ {(12<<2)|2,{65,100,0}}, +/* 34377 */ {(12<<2)|2,{65,100,0}}, +/* 34378 */ {(12<<2)|2,{65,100,0}}, +/* 34379 */ {(12<<2)|2,{65,100,0}}, +/* 34380 */ {(12<<2)|2,{65,100,0}}, +/* 34381 */ {(12<<2)|2,{65,100,0}}, +/* 34382 */ {(12<<2)|2,{65,100,0}}, +/* 34383 */ {(12<<2)|2,{65,100,0}}, +/* 34384 */ {(12<<2)|2,{65,102,0}}, +/* 34385 */ {(12<<2)|2,{65,102,0}}, +/* 34386 */ {(12<<2)|2,{65,102,0}}, +/* 34387 */ {(12<<2)|2,{65,102,0}}, +/* 34388 */ {(12<<2)|2,{65,102,0}}, +/* 34389 */ {(12<<2)|2,{65,102,0}}, +/* 34390 */ {(12<<2)|2,{65,102,0}}, +/* 34391 */ {(12<<2)|2,{65,102,0}}, +/* 34392 */ {(12<<2)|2,{65,102,0}}, +/* 34393 */ {(12<<2)|2,{65,102,0}}, +/* 34394 */ {(12<<2)|2,{65,102,0}}, +/* 34395 */ {(12<<2)|2,{65,102,0}}, +/* 34396 */ {(12<<2)|2,{65,102,0}}, +/* 34397 */ {(12<<2)|2,{65,102,0}}, +/* 34398 */ {(12<<2)|2,{65,102,0}}, +/* 34399 */ {(12<<2)|2,{65,102,0}}, +/* 34400 */ {(12<<2)|2,{65,103,0}}, +/* 34401 */ {(12<<2)|2,{65,103,0}}, +/* 34402 */ {(12<<2)|2,{65,103,0}}, +/* 34403 */ {(12<<2)|2,{65,103,0}}, +/* 34404 */ {(12<<2)|2,{65,103,0}}, +/* 34405 */ {(12<<2)|2,{65,103,0}}, +/* 34406 */ {(12<<2)|2,{65,103,0}}, +/* 34407 */ {(12<<2)|2,{65,103,0}}, +/* 34408 */ {(12<<2)|2,{65,103,0}}, +/* 34409 */ {(12<<2)|2,{65,103,0}}, +/* 34410 */ {(12<<2)|2,{65,103,0}}, +/* 34411 */ {(12<<2)|2,{65,103,0}}, +/* 34412 */ {(12<<2)|2,{65,103,0}}, +/* 34413 */ {(12<<2)|2,{65,103,0}}, +/* 34414 */ {(12<<2)|2,{65,103,0}}, +/* 34415 */ {(12<<2)|2,{65,103,0}}, +/* 34416 */ {(12<<2)|2,{65,104,0}}, +/* 34417 */ {(12<<2)|2,{65,104,0}}, +/* 34418 */ {(12<<2)|2,{65,104,0}}, +/* 34419 */ {(12<<2)|2,{65,104,0}}, +/* 34420 */ {(12<<2)|2,{65,104,0}}, +/* 34421 */ {(12<<2)|2,{65,104,0}}, +/* 34422 */ {(12<<2)|2,{65,104,0}}, +/* 34423 */ {(12<<2)|2,{65,104,0}}, +/* 34424 */ {(12<<2)|2,{65,104,0}}, +/* 34425 */ {(12<<2)|2,{65,104,0}}, +/* 34426 */ {(12<<2)|2,{65,104,0}}, +/* 34427 */ {(12<<2)|2,{65,104,0}}, +/* 34428 */ {(12<<2)|2,{65,104,0}}, +/* 34429 */ {(12<<2)|2,{65,104,0}}, +/* 34430 */ {(12<<2)|2,{65,104,0}}, +/* 34431 */ {(12<<2)|2,{65,104,0}}, +/* 34432 */ {(12<<2)|2,{65,108,0}}, +/* 34433 */ {(12<<2)|2,{65,108,0}}, +/* 34434 */ {(12<<2)|2,{65,108,0}}, +/* 34435 */ {(12<<2)|2,{65,108,0}}, +/* 34436 */ {(12<<2)|2,{65,108,0}}, +/* 34437 */ {(12<<2)|2,{65,108,0}}, +/* 34438 */ {(12<<2)|2,{65,108,0}}, +/* 34439 */ {(12<<2)|2,{65,108,0}}, +/* 34440 */ {(12<<2)|2,{65,108,0}}, +/* 34441 */ {(12<<2)|2,{65,108,0}}, +/* 34442 */ {(12<<2)|2,{65,108,0}}, +/* 34443 */ {(12<<2)|2,{65,108,0}}, +/* 34444 */ {(12<<2)|2,{65,108,0}}, +/* 34445 */ {(12<<2)|2,{65,108,0}}, +/* 34446 */ {(12<<2)|2,{65,108,0}}, +/* 34447 */ {(12<<2)|2,{65,108,0}}, +/* 34448 */ {(12<<2)|2,{65,109,0}}, +/* 34449 */ {(12<<2)|2,{65,109,0}}, +/* 34450 */ {(12<<2)|2,{65,109,0}}, +/* 34451 */ {(12<<2)|2,{65,109,0}}, +/* 34452 */ {(12<<2)|2,{65,109,0}}, +/* 34453 */ {(12<<2)|2,{65,109,0}}, +/* 34454 */ {(12<<2)|2,{65,109,0}}, +/* 34455 */ {(12<<2)|2,{65,109,0}}, +/* 34456 */ {(12<<2)|2,{65,109,0}}, +/* 34457 */ {(12<<2)|2,{65,109,0}}, +/* 34458 */ {(12<<2)|2,{65,109,0}}, +/* 34459 */ {(12<<2)|2,{65,109,0}}, +/* 34460 */ {(12<<2)|2,{65,109,0}}, +/* 34461 */ {(12<<2)|2,{65,109,0}}, +/* 34462 */ {(12<<2)|2,{65,109,0}}, +/* 34463 */ {(12<<2)|2,{65,109,0}}, +/* 34464 */ {(12<<2)|2,{65,110,0}}, +/* 34465 */ {(12<<2)|2,{65,110,0}}, +/* 34466 */ {(12<<2)|2,{65,110,0}}, +/* 34467 */ {(12<<2)|2,{65,110,0}}, +/* 34468 */ {(12<<2)|2,{65,110,0}}, +/* 34469 */ {(12<<2)|2,{65,110,0}}, +/* 34470 */ {(12<<2)|2,{65,110,0}}, +/* 34471 */ {(12<<2)|2,{65,110,0}}, +/* 34472 */ {(12<<2)|2,{65,110,0}}, +/* 34473 */ {(12<<2)|2,{65,110,0}}, +/* 34474 */ {(12<<2)|2,{65,110,0}}, +/* 34475 */ {(12<<2)|2,{65,110,0}}, +/* 34476 */ {(12<<2)|2,{65,110,0}}, +/* 34477 */ {(12<<2)|2,{65,110,0}}, +/* 34478 */ {(12<<2)|2,{65,110,0}}, +/* 34479 */ {(12<<2)|2,{65,110,0}}, +/* 34480 */ {(12<<2)|2,{65,112,0}}, +/* 34481 */ {(12<<2)|2,{65,112,0}}, +/* 34482 */ {(12<<2)|2,{65,112,0}}, +/* 34483 */ {(12<<2)|2,{65,112,0}}, +/* 34484 */ {(12<<2)|2,{65,112,0}}, +/* 34485 */ {(12<<2)|2,{65,112,0}}, +/* 34486 */ {(12<<2)|2,{65,112,0}}, +/* 34487 */ {(12<<2)|2,{65,112,0}}, +/* 34488 */ {(12<<2)|2,{65,112,0}}, +/* 34489 */ {(12<<2)|2,{65,112,0}}, +/* 34490 */ {(12<<2)|2,{65,112,0}}, +/* 34491 */ {(12<<2)|2,{65,112,0}}, +/* 34492 */ {(12<<2)|2,{65,112,0}}, +/* 34493 */ {(12<<2)|2,{65,112,0}}, +/* 34494 */ {(12<<2)|2,{65,112,0}}, +/* 34495 */ {(12<<2)|2,{65,112,0}}, +/* 34496 */ {(12<<2)|2,{65,114,0}}, +/* 34497 */ {(12<<2)|2,{65,114,0}}, +/* 34498 */ {(12<<2)|2,{65,114,0}}, +/* 34499 */ {(12<<2)|2,{65,114,0}}, +/* 34500 */ {(12<<2)|2,{65,114,0}}, +/* 34501 */ {(12<<2)|2,{65,114,0}}, +/* 34502 */ {(12<<2)|2,{65,114,0}}, +/* 34503 */ {(12<<2)|2,{65,114,0}}, +/* 34504 */ {(12<<2)|2,{65,114,0}}, +/* 34505 */ {(12<<2)|2,{65,114,0}}, +/* 34506 */ {(12<<2)|2,{65,114,0}}, +/* 34507 */ {(12<<2)|2,{65,114,0}}, +/* 34508 */ {(12<<2)|2,{65,114,0}}, +/* 34509 */ {(12<<2)|2,{65,114,0}}, +/* 34510 */ {(12<<2)|2,{65,114,0}}, +/* 34511 */ {(12<<2)|2,{65,114,0}}, +/* 34512 */ {(12<<2)|2,{65,117,0}}, +/* 34513 */ {(12<<2)|2,{65,117,0}}, +/* 34514 */ {(12<<2)|2,{65,117,0}}, +/* 34515 */ {(12<<2)|2,{65,117,0}}, +/* 34516 */ {(12<<2)|2,{65,117,0}}, +/* 34517 */ {(12<<2)|2,{65,117,0}}, +/* 34518 */ {(12<<2)|2,{65,117,0}}, +/* 34519 */ {(12<<2)|2,{65,117,0}}, +/* 34520 */ {(12<<2)|2,{65,117,0}}, +/* 34521 */ {(12<<2)|2,{65,117,0}}, +/* 34522 */ {(12<<2)|2,{65,117,0}}, +/* 34523 */ {(12<<2)|2,{65,117,0}}, +/* 34524 */ {(12<<2)|2,{65,117,0}}, +/* 34525 */ {(12<<2)|2,{65,117,0}}, +/* 34526 */ {(12<<2)|2,{65,117,0}}, +/* 34527 */ {(12<<2)|2,{65,117,0}}, +/* 34528 */ {(13<<2)|2,{65,58,0}}, +/* 34529 */ {(13<<2)|2,{65,58,0}}, +/* 34530 */ {(13<<2)|2,{65,58,0}}, +/* 34531 */ {(13<<2)|2,{65,58,0}}, +/* 34532 */ {(13<<2)|2,{65,58,0}}, +/* 34533 */ {(13<<2)|2,{65,58,0}}, +/* 34534 */ {(13<<2)|2,{65,58,0}}, +/* 34535 */ {(13<<2)|2,{65,58,0}}, +/* 34536 */ {(13<<2)|2,{65,66,0}}, +/* 34537 */ {(13<<2)|2,{65,66,0}}, +/* 34538 */ {(13<<2)|2,{65,66,0}}, +/* 34539 */ {(13<<2)|2,{65,66,0}}, +/* 34540 */ {(13<<2)|2,{65,66,0}}, +/* 34541 */ {(13<<2)|2,{65,66,0}}, +/* 34542 */ {(13<<2)|2,{65,66,0}}, +/* 34543 */ {(13<<2)|2,{65,66,0}}, +/* 34544 */ {(13<<2)|2,{65,67,0}}, +/* 34545 */ {(13<<2)|2,{65,67,0}}, +/* 34546 */ {(13<<2)|2,{65,67,0}}, +/* 34547 */ {(13<<2)|2,{65,67,0}}, +/* 34548 */ {(13<<2)|2,{65,67,0}}, +/* 34549 */ {(13<<2)|2,{65,67,0}}, +/* 34550 */ {(13<<2)|2,{65,67,0}}, +/* 34551 */ {(13<<2)|2,{65,67,0}}, +/* 34552 */ {(13<<2)|2,{65,68,0}}, +/* 34553 */ {(13<<2)|2,{65,68,0}}, +/* 34554 */ {(13<<2)|2,{65,68,0}}, +/* 34555 */ {(13<<2)|2,{65,68,0}}, +/* 34556 */ {(13<<2)|2,{65,68,0}}, +/* 34557 */ {(13<<2)|2,{65,68,0}}, +/* 34558 */ {(13<<2)|2,{65,68,0}}, +/* 34559 */ {(13<<2)|2,{65,68,0}}, +/* 34560 */ {(13<<2)|2,{65,69,0}}, +/* 34561 */ {(13<<2)|2,{65,69,0}}, +/* 34562 */ {(13<<2)|2,{65,69,0}}, +/* 34563 */ {(13<<2)|2,{65,69,0}}, +/* 34564 */ {(13<<2)|2,{65,69,0}}, +/* 34565 */ {(13<<2)|2,{65,69,0}}, +/* 34566 */ {(13<<2)|2,{65,69,0}}, +/* 34567 */ {(13<<2)|2,{65,69,0}}, +/* 34568 */ {(13<<2)|2,{65,70,0}}, +/* 34569 */ {(13<<2)|2,{65,70,0}}, +/* 34570 */ {(13<<2)|2,{65,70,0}}, +/* 34571 */ {(13<<2)|2,{65,70,0}}, +/* 34572 */ {(13<<2)|2,{65,70,0}}, +/* 34573 */ {(13<<2)|2,{65,70,0}}, +/* 34574 */ {(13<<2)|2,{65,70,0}}, +/* 34575 */ {(13<<2)|2,{65,70,0}}, +/* 34576 */ {(13<<2)|2,{65,71,0}}, +/* 34577 */ {(13<<2)|2,{65,71,0}}, +/* 34578 */ {(13<<2)|2,{65,71,0}}, +/* 34579 */ {(13<<2)|2,{65,71,0}}, +/* 34580 */ {(13<<2)|2,{65,71,0}}, +/* 34581 */ {(13<<2)|2,{65,71,0}}, +/* 34582 */ {(13<<2)|2,{65,71,0}}, +/* 34583 */ {(13<<2)|2,{65,71,0}}, +/* 34584 */ {(13<<2)|2,{65,72,0}}, +/* 34585 */ {(13<<2)|2,{65,72,0}}, +/* 34586 */ {(13<<2)|2,{65,72,0}}, +/* 34587 */ {(13<<2)|2,{65,72,0}}, +/* 34588 */ {(13<<2)|2,{65,72,0}}, +/* 34589 */ {(13<<2)|2,{65,72,0}}, +/* 34590 */ {(13<<2)|2,{65,72,0}}, +/* 34591 */ {(13<<2)|2,{65,72,0}}, +/* 34592 */ {(13<<2)|2,{65,73,0}}, +/* 34593 */ {(13<<2)|2,{65,73,0}}, +/* 34594 */ {(13<<2)|2,{65,73,0}}, +/* 34595 */ {(13<<2)|2,{65,73,0}}, +/* 34596 */ {(13<<2)|2,{65,73,0}}, +/* 34597 */ {(13<<2)|2,{65,73,0}}, +/* 34598 */ {(13<<2)|2,{65,73,0}}, +/* 34599 */ {(13<<2)|2,{65,73,0}}, +/* 34600 */ {(13<<2)|2,{65,74,0}}, +/* 34601 */ {(13<<2)|2,{65,74,0}}, +/* 34602 */ {(13<<2)|2,{65,74,0}}, +/* 34603 */ {(13<<2)|2,{65,74,0}}, +/* 34604 */ {(13<<2)|2,{65,74,0}}, +/* 34605 */ {(13<<2)|2,{65,74,0}}, +/* 34606 */ {(13<<2)|2,{65,74,0}}, +/* 34607 */ {(13<<2)|2,{65,74,0}}, +/* 34608 */ {(13<<2)|2,{65,75,0}}, +/* 34609 */ {(13<<2)|2,{65,75,0}}, +/* 34610 */ {(13<<2)|2,{65,75,0}}, +/* 34611 */ {(13<<2)|2,{65,75,0}}, +/* 34612 */ {(13<<2)|2,{65,75,0}}, +/* 34613 */ {(13<<2)|2,{65,75,0}}, +/* 34614 */ {(13<<2)|2,{65,75,0}}, +/* 34615 */ {(13<<2)|2,{65,75,0}}, +/* 34616 */ {(13<<2)|2,{65,76,0}}, +/* 34617 */ {(13<<2)|2,{65,76,0}}, +/* 34618 */ {(13<<2)|2,{65,76,0}}, +/* 34619 */ {(13<<2)|2,{65,76,0}}, +/* 34620 */ {(13<<2)|2,{65,76,0}}, +/* 34621 */ {(13<<2)|2,{65,76,0}}, +/* 34622 */ {(13<<2)|2,{65,76,0}}, +/* 34623 */ {(13<<2)|2,{65,76,0}}, +/* 34624 */ {(13<<2)|2,{65,77,0}}, +/* 34625 */ {(13<<2)|2,{65,77,0}}, +/* 34626 */ {(13<<2)|2,{65,77,0}}, +/* 34627 */ {(13<<2)|2,{65,77,0}}, +/* 34628 */ {(13<<2)|2,{65,77,0}}, +/* 34629 */ {(13<<2)|2,{65,77,0}}, +/* 34630 */ {(13<<2)|2,{65,77,0}}, +/* 34631 */ {(13<<2)|2,{65,77,0}}, +/* 34632 */ {(13<<2)|2,{65,78,0}}, +/* 34633 */ {(13<<2)|2,{65,78,0}}, +/* 34634 */ {(13<<2)|2,{65,78,0}}, +/* 34635 */ {(13<<2)|2,{65,78,0}}, +/* 34636 */ {(13<<2)|2,{65,78,0}}, +/* 34637 */ {(13<<2)|2,{65,78,0}}, +/* 34638 */ {(13<<2)|2,{65,78,0}}, +/* 34639 */ {(13<<2)|2,{65,78,0}}, +/* 34640 */ {(13<<2)|2,{65,79,0}}, +/* 34641 */ {(13<<2)|2,{65,79,0}}, +/* 34642 */ {(13<<2)|2,{65,79,0}}, +/* 34643 */ {(13<<2)|2,{65,79,0}}, +/* 34644 */ {(13<<2)|2,{65,79,0}}, +/* 34645 */ {(13<<2)|2,{65,79,0}}, +/* 34646 */ {(13<<2)|2,{65,79,0}}, +/* 34647 */ {(13<<2)|2,{65,79,0}}, +/* 34648 */ {(13<<2)|2,{65,80,0}}, +/* 34649 */ {(13<<2)|2,{65,80,0}}, +/* 34650 */ {(13<<2)|2,{65,80,0}}, +/* 34651 */ {(13<<2)|2,{65,80,0}}, +/* 34652 */ {(13<<2)|2,{65,80,0}}, +/* 34653 */ {(13<<2)|2,{65,80,0}}, +/* 34654 */ {(13<<2)|2,{65,80,0}}, +/* 34655 */ {(13<<2)|2,{65,80,0}}, +/* 34656 */ {(13<<2)|2,{65,81,0}}, +/* 34657 */ {(13<<2)|2,{65,81,0}}, +/* 34658 */ {(13<<2)|2,{65,81,0}}, +/* 34659 */ {(13<<2)|2,{65,81,0}}, +/* 34660 */ {(13<<2)|2,{65,81,0}}, +/* 34661 */ {(13<<2)|2,{65,81,0}}, +/* 34662 */ {(13<<2)|2,{65,81,0}}, +/* 34663 */ {(13<<2)|2,{65,81,0}}, +/* 34664 */ {(13<<2)|2,{65,82,0}}, +/* 34665 */ {(13<<2)|2,{65,82,0}}, +/* 34666 */ {(13<<2)|2,{65,82,0}}, +/* 34667 */ {(13<<2)|2,{65,82,0}}, +/* 34668 */ {(13<<2)|2,{65,82,0}}, +/* 34669 */ {(13<<2)|2,{65,82,0}}, +/* 34670 */ {(13<<2)|2,{65,82,0}}, +/* 34671 */ {(13<<2)|2,{65,82,0}}, +/* 34672 */ {(13<<2)|2,{65,83,0}}, +/* 34673 */ {(13<<2)|2,{65,83,0}}, +/* 34674 */ {(13<<2)|2,{65,83,0}}, +/* 34675 */ {(13<<2)|2,{65,83,0}}, +/* 34676 */ {(13<<2)|2,{65,83,0}}, +/* 34677 */ {(13<<2)|2,{65,83,0}}, +/* 34678 */ {(13<<2)|2,{65,83,0}}, +/* 34679 */ {(13<<2)|2,{65,83,0}}, +/* 34680 */ {(13<<2)|2,{65,84,0}}, +/* 34681 */ {(13<<2)|2,{65,84,0}}, +/* 34682 */ {(13<<2)|2,{65,84,0}}, +/* 34683 */ {(13<<2)|2,{65,84,0}}, +/* 34684 */ {(13<<2)|2,{65,84,0}}, +/* 34685 */ {(13<<2)|2,{65,84,0}}, +/* 34686 */ {(13<<2)|2,{65,84,0}}, +/* 34687 */ {(13<<2)|2,{65,84,0}}, +/* 34688 */ {(13<<2)|2,{65,85,0}}, +/* 34689 */ {(13<<2)|2,{65,85,0}}, +/* 34690 */ {(13<<2)|2,{65,85,0}}, +/* 34691 */ {(13<<2)|2,{65,85,0}}, +/* 34692 */ {(13<<2)|2,{65,85,0}}, +/* 34693 */ {(13<<2)|2,{65,85,0}}, +/* 34694 */ {(13<<2)|2,{65,85,0}}, +/* 34695 */ {(13<<2)|2,{65,85,0}}, +/* 34696 */ {(13<<2)|2,{65,86,0}}, +/* 34697 */ {(13<<2)|2,{65,86,0}}, +/* 34698 */ {(13<<2)|2,{65,86,0}}, +/* 34699 */ {(13<<2)|2,{65,86,0}}, +/* 34700 */ {(13<<2)|2,{65,86,0}}, +/* 34701 */ {(13<<2)|2,{65,86,0}}, +/* 34702 */ {(13<<2)|2,{65,86,0}}, +/* 34703 */ {(13<<2)|2,{65,86,0}}, +/* 34704 */ {(13<<2)|2,{65,87,0}}, +/* 34705 */ {(13<<2)|2,{65,87,0}}, +/* 34706 */ {(13<<2)|2,{65,87,0}}, +/* 34707 */ {(13<<2)|2,{65,87,0}}, +/* 34708 */ {(13<<2)|2,{65,87,0}}, +/* 34709 */ {(13<<2)|2,{65,87,0}}, +/* 34710 */ {(13<<2)|2,{65,87,0}}, +/* 34711 */ {(13<<2)|2,{65,87,0}}, +/* 34712 */ {(13<<2)|2,{65,89,0}}, +/* 34713 */ {(13<<2)|2,{65,89,0}}, +/* 34714 */ {(13<<2)|2,{65,89,0}}, +/* 34715 */ {(13<<2)|2,{65,89,0}}, +/* 34716 */ {(13<<2)|2,{65,89,0}}, +/* 34717 */ {(13<<2)|2,{65,89,0}}, +/* 34718 */ {(13<<2)|2,{65,89,0}}, +/* 34719 */ {(13<<2)|2,{65,89,0}}, +/* 34720 */ {(13<<2)|2,{65,106,0}}, +/* 34721 */ {(13<<2)|2,{65,106,0}}, +/* 34722 */ {(13<<2)|2,{65,106,0}}, +/* 34723 */ {(13<<2)|2,{65,106,0}}, +/* 34724 */ {(13<<2)|2,{65,106,0}}, +/* 34725 */ {(13<<2)|2,{65,106,0}}, +/* 34726 */ {(13<<2)|2,{65,106,0}}, +/* 34727 */ {(13<<2)|2,{65,106,0}}, +/* 34728 */ {(13<<2)|2,{65,107,0}}, +/* 34729 */ {(13<<2)|2,{65,107,0}}, +/* 34730 */ {(13<<2)|2,{65,107,0}}, +/* 34731 */ {(13<<2)|2,{65,107,0}}, +/* 34732 */ {(13<<2)|2,{65,107,0}}, +/* 34733 */ {(13<<2)|2,{65,107,0}}, +/* 34734 */ {(13<<2)|2,{65,107,0}}, +/* 34735 */ {(13<<2)|2,{65,107,0}}, +/* 34736 */ {(13<<2)|2,{65,113,0}}, +/* 34737 */ {(13<<2)|2,{65,113,0}}, +/* 34738 */ {(13<<2)|2,{65,113,0}}, +/* 34739 */ {(13<<2)|2,{65,113,0}}, +/* 34740 */ {(13<<2)|2,{65,113,0}}, +/* 34741 */ {(13<<2)|2,{65,113,0}}, +/* 34742 */ {(13<<2)|2,{65,113,0}}, +/* 34743 */ {(13<<2)|2,{65,113,0}}, +/* 34744 */ {(13<<2)|2,{65,118,0}}, +/* 34745 */ {(13<<2)|2,{65,118,0}}, +/* 34746 */ {(13<<2)|2,{65,118,0}}, +/* 34747 */ {(13<<2)|2,{65,118,0}}, +/* 34748 */ {(13<<2)|2,{65,118,0}}, +/* 34749 */ {(13<<2)|2,{65,118,0}}, +/* 34750 */ {(13<<2)|2,{65,118,0}}, +/* 34751 */ {(13<<2)|2,{65,118,0}}, +/* 34752 */ {(13<<2)|2,{65,119,0}}, +/* 34753 */ {(13<<2)|2,{65,119,0}}, +/* 34754 */ {(13<<2)|2,{65,119,0}}, +/* 34755 */ {(13<<2)|2,{65,119,0}}, +/* 34756 */ {(13<<2)|2,{65,119,0}}, +/* 34757 */ {(13<<2)|2,{65,119,0}}, +/* 34758 */ {(13<<2)|2,{65,119,0}}, +/* 34759 */ {(13<<2)|2,{65,119,0}}, +/* 34760 */ {(13<<2)|2,{65,120,0}}, +/* 34761 */ {(13<<2)|2,{65,120,0}}, +/* 34762 */ {(13<<2)|2,{65,120,0}}, +/* 34763 */ {(13<<2)|2,{65,120,0}}, +/* 34764 */ {(13<<2)|2,{65,120,0}}, +/* 34765 */ {(13<<2)|2,{65,120,0}}, +/* 34766 */ {(13<<2)|2,{65,120,0}}, +/* 34767 */ {(13<<2)|2,{65,120,0}}, +/* 34768 */ {(13<<2)|2,{65,121,0}}, +/* 34769 */ {(13<<2)|2,{65,121,0}}, +/* 34770 */ {(13<<2)|2,{65,121,0}}, +/* 34771 */ {(13<<2)|2,{65,121,0}}, +/* 34772 */ {(13<<2)|2,{65,121,0}}, +/* 34773 */ {(13<<2)|2,{65,121,0}}, +/* 34774 */ {(13<<2)|2,{65,121,0}}, +/* 34775 */ {(13<<2)|2,{65,121,0}}, +/* 34776 */ {(13<<2)|2,{65,122,0}}, +/* 34777 */ {(13<<2)|2,{65,122,0}}, +/* 34778 */ {(13<<2)|2,{65,122,0}}, +/* 34779 */ {(13<<2)|2,{65,122,0}}, +/* 34780 */ {(13<<2)|2,{65,122,0}}, +/* 34781 */ {(13<<2)|2,{65,122,0}}, +/* 34782 */ {(13<<2)|2,{65,122,0}}, +/* 34783 */ {(13<<2)|2,{65,122,0}}, +/* 34784 */ {(14<<2)|2,{65,38,0}}, +/* 34785 */ {(14<<2)|2,{65,38,0}}, +/* 34786 */ {(14<<2)|2,{65,38,0}}, +/* 34787 */ {(14<<2)|2,{65,38,0}}, +/* 34788 */ {(14<<2)|2,{65,42,0}}, +/* 34789 */ {(14<<2)|2,{65,42,0}}, +/* 34790 */ {(14<<2)|2,{65,42,0}}, +/* 34791 */ {(14<<2)|2,{65,42,0}}, +/* 34792 */ {(14<<2)|2,{65,44,0}}, +/* 34793 */ {(14<<2)|2,{65,44,0}}, +/* 34794 */ {(14<<2)|2,{65,44,0}}, +/* 34795 */ {(14<<2)|2,{65,44,0}}, +/* 34796 */ {(14<<2)|2,{65,59,0}}, +/* 34797 */ {(14<<2)|2,{65,59,0}}, +/* 34798 */ {(14<<2)|2,{65,59,0}}, +/* 34799 */ {(14<<2)|2,{65,59,0}}, +/* 34800 */ {(14<<2)|2,{65,88,0}}, +/* 34801 */ {(14<<2)|2,{65,88,0}}, +/* 34802 */ {(14<<2)|2,{65,88,0}}, +/* 34803 */ {(14<<2)|2,{65,88,0}}, +/* 34804 */ {(14<<2)|2,{65,90,0}}, +/* 34805 */ {(14<<2)|2,{65,90,0}}, +/* 34806 */ {(14<<2)|2,{65,90,0}}, +/* 34807 */ {(14<<2)|2,{65,90,0}}, +/* 34808 */ {(16<<2)|2,{65,33,0}}, +/* 34809 */ {(16<<2)|2,{65,34,0}}, +/* 34810 */ {(16<<2)|2,{65,40,0}}, +/* 34811 */ {(16<<2)|2,{65,41,0}}, +/* 34812 */ {(16<<2)|2,{65,63,0}}, +/* 34813 */ {(6<<2)|1,{65,0,0}}, +/* 34814 */ {(6<<2)|1,{65,0,0}}, +/* 34815 */ {(6<<2)|1,{65,0,0}}, +/* 34816 */ {(16<<2)|3,{95,48,48}}, +/* 34817 */ {(16<<2)|3,{95,48,49}}, +/* 34818 */ {(16<<2)|3,{95,48,50}}, +/* 34819 */ {(16<<2)|3,{95,48,97}}, +/* 34820 */ {(16<<2)|3,{95,48,99}}, +/* 34821 */ {(16<<2)|3,{95,48,101}}, +/* 34822 */ {(16<<2)|3,{95,48,105}}, +/* 34823 */ {(16<<2)|3,{95,48,111}}, +/* 34824 */ {(16<<2)|3,{95,48,115}}, +/* 34825 */ {(16<<2)|3,{95,48,116}}, +/* 34826 */ {(11<<2)|2,{95,48,0}}, +/* 34827 */ {(11<<2)|2,{95,48,0}}, +/* 34828 */ {(11<<2)|2,{95,48,0}}, +/* 34829 */ {(11<<2)|2,{95,48,0}}, +/* 34830 */ {(11<<2)|2,{95,48,0}}, +/* 34831 */ {(11<<2)|2,{95,48,0}}, +/* 34832 */ {(11<<2)|2,{95,48,0}}, +/* 34833 */ {(11<<2)|2,{95,48,0}}, +/* 34834 */ {(11<<2)|2,{95,48,0}}, +/* 34835 */ {(11<<2)|2,{95,48,0}}, +/* 34836 */ {(11<<2)|2,{95,48,0}}, +/* 34837 */ {(11<<2)|2,{95,48,0}}, +/* 34838 */ {(11<<2)|2,{95,48,0}}, +/* 34839 */ {(11<<2)|2,{95,48,0}}, +/* 34840 */ {(11<<2)|2,{95,48,0}}, +/* 34841 */ {(11<<2)|2,{95,48,0}}, +/* 34842 */ {(11<<2)|2,{95,48,0}}, +/* 34843 */ {(11<<2)|2,{95,48,0}}, +/* 34844 */ {(11<<2)|2,{95,48,0}}, +/* 34845 */ {(11<<2)|2,{95,48,0}}, +/* 34846 */ {(11<<2)|2,{95,48,0}}, +/* 34847 */ {(11<<2)|2,{95,48,0}}, +/* 34848 */ {(16<<2)|3,{95,49,48}}, +/* 34849 */ {(16<<2)|3,{95,49,49}}, +/* 34850 */ {(16<<2)|3,{95,49,50}}, +/* 34851 */ {(16<<2)|3,{95,49,97}}, +/* 34852 */ {(16<<2)|3,{95,49,99}}, +/* 34853 */ {(16<<2)|3,{95,49,101}}, +/* 34854 */ {(16<<2)|3,{95,49,105}}, +/* 34855 */ {(16<<2)|3,{95,49,111}}, +/* 34856 */ {(16<<2)|3,{95,49,115}}, +/* 34857 */ {(16<<2)|3,{95,49,116}}, +/* 34858 */ {(11<<2)|2,{95,49,0}}, +/* 34859 */ {(11<<2)|2,{95,49,0}}, +/* 34860 */ {(11<<2)|2,{95,49,0}}, +/* 34861 */ {(11<<2)|2,{95,49,0}}, +/* 34862 */ {(11<<2)|2,{95,49,0}}, +/* 34863 */ {(11<<2)|2,{95,49,0}}, +/* 34864 */ {(11<<2)|2,{95,49,0}}, +/* 34865 */ {(11<<2)|2,{95,49,0}}, +/* 34866 */ {(11<<2)|2,{95,49,0}}, +/* 34867 */ {(11<<2)|2,{95,49,0}}, +/* 34868 */ {(11<<2)|2,{95,49,0}}, +/* 34869 */ {(11<<2)|2,{95,49,0}}, +/* 34870 */ {(11<<2)|2,{95,49,0}}, +/* 34871 */ {(11<<2)|2,{95,49,0}}, +/* 34872 */ {(11<<2)|2,{95,49,0}}, +/* 34873 */ {(11<<2)|2,{95,49,0}}, +/* 34874 */ {(11<<2)|2,{95,49,0}}, +/* 34875 */ {(11<<2)|2,{95,49,0}}, +/* 34876 */ {(11<<2)|2,{95,49,0}}, +/* 34877 */ {(11<<2)|2,{95,49,0}}, +/* 34878 */ {(11<<2)|2,{95,49,0}}, +/* 34879 */ {(11<<2)|2,{95,49,0}}, +/* 34880 */ {(16<<2)|3,{95,50,48}}, +/* 34881 */ {(16<<2)|3,{95,50,49}}, +/* 34882 */ {(16<<2)|3,{95,50,50}}, +/* 34883 */ {(16<<2)|3,{95,50,97}}, +/* 34884 */ {(16<<2)|3,{95,50,99}}, +/* 34885 */ {(16<<2)|3,{95,50,101}}, +/* 34886 */ {(16<<2)|3,{95,50,105}}, +/* 34887 */ {(16<<2)|3,{95,50,111}}, +/* 34888 */ {(16<<2)|3,{95,50,115}}, +/* 34889 */ {(16<<2)|3,{95,50,116}}, +/* 34890 */ {(11<<2)|2,{95,50,0}}, +/* 34891 */ {(11<<2)|2,{95,50,0}}, +/* 34892 */ {(11<<2)|2,{95,50,0}}, +/* 34893 */ {(11<<2)|2,{95,50,0}}, +/* 34894 */ {(11<<2)|2,{95,50,0}}, +/* 34895 */ {(11<<2)|2,{95,50,0}}, +/* 34896 */ {(11<<2)|2,{95,50,0}}, +/* 34897 */ {(11<<2)|2,{95,50,0}}, +/* 34898 */ {(11<<2)|2,{95,50,0}}, +/* 34899 */ {(11<<2)|2,{95,50,0}}, +/* 34900 */ {(11<<2)|2,{95,50,0}}, +/* 34901 */ {(11<<2)|2,{95,50,0}}, +/* 34902 */ {(11<<2)|2,{95,50,0}}, +/* 34903 */ {(11<<2)|2,{95,50,0}}, +/* 34904 */ {(11<<2)|2,{95,50,0}}, +/* 34905 */ {(11<<2)|2,{95,50,0}}, +/* 34906 */ {(11<<2)|2,{95,50,0}}, +/* 34907 */ {(11<<2)|2,{95,50,0}}, +/* 34908 */ {(11<<2)|2,{95,50,0}}, +/* 34909 */ {(11<<2)|2,{95,50,0}}, +/* 34910 */ {(11<<2)|2,{95,50,0}}, +/* 34911 */ {(11<<2)|2,{95,50,0}}, +/* 34912 */ {(16<<2)|3,{95,97,48}}, +/* 34913 */ {(16<<2)|3,{95,97,49}}, +/* 34914 */ {(16<<2)|3,{95,97,50}}, +/* 34915 */ {(16<<2)|3,{95,97,97}}, +/* 34916 */ {(16<<2)|3,{95,97,99}}, +/* 34917 */ {(16<<2)|3,{95,97,101}}, +/* 34918 */ {(16<<2)|3,{95,97,105}}, +/* 34919 */ {(16<<2)|3,{95,97,111}}, +/* 34920 */ {(16<<2)|3,{95,97,115}}, +/* 34921 */ {(16<<2)|3,{95,97,116}}, +/* 34922 */ {(11<<2)|2,{95,97,0}}, +/* 34923 */ {(11<<2)|2,{95,97,0}}, +/* 34924 */ {(11<<2)|2,{95,97,0}}, +/* 34925 */ {(11<<2)|2,{95,97,0}}, +/* 34926 */ {(11<<2)|2,{95,97,0}}, +/* 34927 */ {(11<<2)|2,{95,97,0}}, +/* 34928 */ {(11<<2)|2,{95,97,0}}, +/* 34929 */ {(11<<2)|2,{95,97,0}}, +/* 34930 */ {(11<<2)|2,{95,97,0}}, +/* 34931 */ {(11<<2)|2,{95,97,0}}, +/* 34932 */ {(11<<2)|2,{95,97,0}}, +/* 34933 */ {(11<<2)|2,{95,97,0}}, +/* 34934 */ {(11<<2)|2,{95,97,0}}, +/* 34935 */ {(11<<2)|2,{95,97,0}}, +/* 34936 */ {(11<<2)|2,{95,97,0}}, +/* 34937 */ {(11<<2)|2,{95,97,0}}, +/* 34938 */ {(11<<2)|2,{95,97,0}}, +/* 34939 */ {(11<<2)|2,{95,97,0}}, +/* 34940 */ {(11<<2)|2,{95,97,0}}, +/* 34941 */ {(11<<2)|2,{95,97,0}}, +/* 34942 */ {(11<<2)|2,{95,97,0}}, +/* 34943 */ {(11<<2)|2,{95,97,0}}, +/* 34944 */ {(16<<2)|3,{95,99,48}}, +/* 34945 */ {(16<<2)|3,{95,99,49}}, +/* 34946 */ {(16<<2)|3,{95,99,50}}, +/* 34947 */ {(16<<2)|3,{95,99,97}}, +/* 34948 */ {(16<<2)|3,{95,99,99}}, +/* 34949 */ {(16<<2)|3,{95,99,101}}, +/* 34950 */ {(16<<2)|3,{95,99,105}}, +/* 34951 */ {(16<<2)|3,{95,99,111}}, +/* 34952 */ {(16<<2)|3,{95,99,115}}, +/* 34953 */ {(16<<2)|3,{95,99,116}}, +/* 34954 */ {(11<<2)|2,{95,99,0}}, +/* 34955 */ {(11<<2)|2,{95,99,0}}, +/* 34956 */ {(11<<2)|2,{95,99,0}}, +/* 34957 */ {(11<<2)|2,{95,99,0}}, +/* 34958 */ {(11<<2)|2,{95,99,0}}, +/* 34959 */ {(11<<2)|2,{95,99,0}}, +/* 34960 */ {(11<<2)|2,{95,99,0}}, +/* 34961 */ {(11<<2)|2,{95,99,0}}, +/* 34962 */ {(11<<2)|2,{95,99,0}}, +/* 34963 */ {(11<<2)|2,{95,99,0}}, +/* 34964 */ {(11<<2)|2,{95,99,0}}, +/* 34965 */ {(11<<2)|2,{95,99,0}}, +/* 34966 */ {(11<<2)|2,{95,99,0}}, +/* 34967 */ {(11<<2)|2,{95,99,0}}, +/* 34968 */ {(11<<2)|2,{95,99,0}}, +/* 34969 */ {(11<<2)|2,{95,99,0}}, +/* 34970 */ {(11<<2)|2,{95,99,0}}, +/* 34971 */ {(11<<2)|2,{95,99,0}}, +/* 34972 */ {(11<<2)|2,{95,99,0}}, +/* 34973 */ {(11<<2)|2,{95,99,0}}, +/* 34974 */ {(11<<2)|2,{95,99,0}}, +/* 34975 */ {(11<<2)|2,{95,99,0}}, +/* 34976 */ {(16<<2)|3,{95,101,48}}, +/* 34977 */ {(16<<2)|3,{95,101,49}}, +/* 34978 */ {(16<<2)|3,{95,101,50}}, +/* 34979 */ {(16<<2)|3,{95,101,97}}, +/* 34980 */ {(16<<2)|3,{95,101,99}}, +/* 34981 */ {(16<<2)|3,{95,101,101}}, +/* 34982 */ {(16<<2)|3,{95,101,105}}, +/* 34983 */ {(16<<2)|3,{95,101,111}}, +/* 34984 */ {(16<<2)|3,{95,101,115}}, +/* 34985 */ {(16<<2)|3,{95,101,116}}, +/* 34986 */ {(11<<2)|2,{95,101,0}}, +/* 34987 */ {(11<<2)|2,{95,101,0}}, +/* 34988 */ {(11<<2)|2,{95,101,0}}, +/* 34989 */ {(11<<2)|2,{95,101,0}}, +/* 34990 */ {(11<<2)|2,{95,101,0}}, +/* 34991 */ {(11<<2)|2,{95,101,0}}, +/* 34992 */ {(11<<2)|2,{95,101,0}}, +/* 34993 */ {(11<<2)|2,{95,101,0}}, +/* 34994 */ {(11<<2)|2,{95,101,0}}, +/* 34995 */ {(11<<2)|2,{95,101,0}}, +/* 34996 */ {(11<<2)|2,{95,101,0}}, +/* 34997 */ {(11<<2)|2,{95,101,0}}, +/* 34998 */ {(11<<2)|2,{95,101,0}}, +/* 34999 */ {(11<<2)|2,{95,101,0}}, +/* 35000 */ {(11<<2)|2,{95,101,0}}, +/* 35001 */ {(11<<2)|2,{95,101,0}}, +/* 35002 */ {(11<<2)|2,{95,101,0}}, +/* 35003 */ {(11<<2)|2,{95,101,0}}, +/* 35004 */ {(11<<2)|2,{95,101,0}}, +/* 35005 */ {(11<<2)|2,{95,101,0}}, +/* 35006 */ {(11<<2)|2,{95,101,0}}, +/* 35007 */ {(11<<2)|2,{95,101,0}}, +/* 35008 */ {(16<<2)|3,{95,105,48}}, +/* 35009 */ {(16<<2)|3,{95,105,49}}, +/* 35010 */ {(16<<2)|3,{95,105,50}}, +/* 35011 */ {(16<<2)|3,{95,105,97}}, +/* 35012 */ {(16<<2)|3,{95,105,99}}, +/* 35013 */ {(16<<2)|3,{95,105,101}}, +/* 35014 */ {(16<<2)|3,{95,105,105}}, +/* 35015 */ {(16<<2)|3,{95,105,111}}, +/* 35016 */ {(16<<2)|3,{95,105,115}}, +/* 35017 */ {(16<<2)|3,{95,105,116}}, +/* 35018 */ {(11<<2)|2,{95,105,0}}, +/* 35019 */ {(11<<2)|2,{95,105,0}}, +/* 35020 */ {(11<<2)|2,{95,105,0}}, +/* 35021 */ {(11<<2)|2,{95,105,0}}, +/* 35022 */ {(11<<2)|2,{95,105,0}}, +/* 35023 */ {(11<<2)|2,{95,105,0}}, +/* 35024 */ {(11<<2)|2,{95,105,0}}, +/* 35025 */ {(11<<2)|2,{95,105,0}}, +/* 35026 */ {(11<<2)|2,{95,105,0}}, +/* 35027 */ {(11<<2)|2,{95,105,0}}, +/* 35028 */ {(11<<2)|2,{95,105,0}}, +/* 35029 */ {(11<<2)|2,{95,105,0}}, +/* 35030 */ {(11<<2)|2,{95,105,0}}, +/* 35031 */ {(11<<2)|2,{95,105,0}}, +/* 35032 */ {(11<<2)|2,{95,105,0}}, +/* 35033 */ {(11<<2)|2,{95,105,0}}, +/* 35034 */ {(11<<2)|2,{95,105,0}}, +/* 35035 */ {(11<<2)|2,{95,105,0}}, +/* 35036 */ {(11<<2)|2,{95,105,0}}, +/* 35037 */ {(11<<2)|2,{95,105,0}}, +/* 35038 */ {(11<<2)|2,{95,105,0}}, +/* 35039 */ {(11<<2)|2,{95,105,0}}, +/* 35040 */ {(16<<2)|3,{95,111,48}}, +/* 35041 */ {(16<<2)|3,{95,111,49}}, +/* 35042 */ {(16<<2)|3,{95,111,50}}, +/* 35043 */ {(16<<2)|3,{95,111,97}}, +/* 35044 */ {(16<<2)|3,{95,111,99}}, +/* 35045 */ {(16<<2)|3,{95,111,101}}, +/* 35046 */ {(16<<2)|3,{95,111,105}}, +/* 35047 */ {(16<<2)|3,{95,111,111}}, +/* 35048 */ {(16<<2)|3,{95,111,115}}, +/* 35049 */ {(16<<2)|3,{95,111,116}}, +/* 35050 */ {(11<<2)|2,{95,111,0}}, +/* 35051 */ {(11<<2)|2,{95,111,0}}, +/* 35052 */ {(11<<2)|2,{95,111,0}}, +/* 35053 */ {(11<<2)|2,{95,111,0}}, +/* 35054 */ {(11<<2)|2,{95,111,0}}, +/* 35055 */ {(11<<2)|2,{95,111,0}}, +/* 35056 */ {(11<<2)|2,{95,111,0}}, +/* 35057 */ {(11<<2)|2,{95,111,0}}, +/* 35058 */ {(11<<2)|2,{95,111,0}}, +/* 35059 */ {(11<<2)|2,{95,111,0}}, +/* 35060 */ {(11<<2)|2,{95,111,0}}, +/* 35061 */ {(11<<2)|2,{95,111,0}}, +/* 35062 */ {(11<<2)|2,{95,111,0}}, +/* 35063 */ {(11<<2)|2,{95,111,0}}, +/* 35064 */ {(11<<2)|2,{95,111,0}}, +/* 35065 */ {(11<<2)|2,{95,111,0}}, +/* 35066 */ {(11<<2)|2,{95,111,0}}, +/* 35067 */ {(11<<2)|2,{95,111,0}}, +/* 35068 */ {(11<<2)|2,{95,111,0}}, +/* 35069 */ {(11<<2)|2,{95,111,0}}, +/* 35070 */ {(11<<2)|2,{95,111,0}}, +/* 35071 */ {(11<<2)|2,{95,111,0}}, +/* 35072 */ {(16<<2)|3,{95,115,48}}, +/* 35073 */ {(16<<2)|3,{95,115,49}}, +/* 35074 */ {(16<<2)|3,{95,115,50}}, +/* 35075 */ {(16<<2)|3,{95,115,97}}, +/* 35076 */ {(16<<2)|3,{95,115,99}}, +/* 35077 */ {(16<<2)|3,{95,115,101}}, +/* 35078 */ {(16<<2)|3,{95,115,105}}, +/* 35079 */ {(16<<2)|3,{95,115,111}}, +/* 35080 */ {(16<<2)|3,{95,115,115}}, +/* 35081 */ {(16<<2)|3,{95,115,116}}, +/* 35082 */ {(11<<2)|2,{95,115,0}}, +/* 35083 */ {(11<<2)|2,{95,115,0}}, +/* 35084 */ {(11<<2)|2,{95,115,0}}, +/* 35085 */ {(11<<2)|2,{95,115,0}}, +/* 35086 */ {(11<<2)|2,{95,115,0}}, +/* 35087 */ {(11<<2)|2,{95,115,0}}, +/* 35088 */ {(11<<2)|2,{95,115,0}}, +/* 35089 */ {(11<<2)|2,{95,115,0}}, +/* 35090 */ {(11<<2)|2,{95,115,0}}, +/* 35091 */ {(11<<2)|2,{95,115,0}}, +/* 35092 */ {(11<<2)|2,{95,115,0}}, +/* 35093 */ {(11<<2)|2,{95,115,0}}, +/* 35094 */ {(11<<2)|2,{95,115,0}}, +/* 35095 */ {(11<<2)|2,{95,115,0}}, +/* 35096 */ {(11<<2)|2,{95,115,0}}, +/* 35097 */ {(11<<2)|2,{95,115,0}}, +/* 35098 */ {(11<<2)|2,{95,115,0}}, +/* 35099 */ {(11<<2)|2,{95,115,0}}, +/* 35100 */ {(11<<2)|2,{95,115,0}}, +/* 35101 */ {(11<<2)|2,{95,115,0}}, +/* 35102 */ {(11<<2)|2,{95,115,0}}, +/* 35103 */ {(11<<2)|2,{95,115,0}}, +/* 35104 */ {(16<<2)|3,{95,116,48}}, +/* 35105 */ {(16<<2)|3,{95,116,49}}, +/* 35106 */ {(16<<2)|3,{95,116,50}}, +/* 35107 */ {(16<<2)|3,{95,116,97}}, +/* 35108 */ {(16<<2)|3,{95,116,99}}, +/* 35109 */ {(16<<2)|3,{95,116,101}}, +/* 35110 */ {(16<<2)|3,{95,116,105}}, +/* 35111 */ {(16<<2)|3,{95,116,111}}, +/* 35112 */ {(16<<2)|3,{95,116,115}}, +/* 35113 */ {(16<<2)|3,{95,116,116}}, +/* 35114 */ {(11<<2)|2,{95,116,0}}, +/* 35115 */ {(11<<2)|2,{95,116,0}}, +/* 35116 */ {(11<<2)|2,{95,116,0}}, +/* 35117 */ {(11<<2)|2,{95,116,0}}, +/* 35118 */ {(11<<2)|2,{95,116,0}}, +/* 35119 */ {(11<<2)|2,{95,116,0}}, +/* 35120 */ {(11<<2)|2,{95,116,0}}, +/* 35121 */ {(11<<2)|2,{95,116,0}}, +/* 35122 */ {(11<<2)|2,{95,116,0}}, +/* 35123 */ {(11<<2)|2,{95,116,0}}, +/* 35124 */ {(11<<2)|2,{95,116,0}}, +/* 35125 */ {(11<<2)|2,{95,116,0}}, +/* 35126 */ {(11<<2)|2,{95,116,0}}, +/* 35127 */ {(11<<2)|2,{95,116,0}}, +/* 35128 */ {(11<<2)|2,{95,116,0}}, +/* 35129 */ {(11<<2)|2,{95,116,0}}, +/* 35130 */ {(11<<2)|2,{95,116,0}}, +/* 35131 */ {(11<<2)|2,{95,116,0}}, +/* 35132 */ {(11<<2)|2,{95,116,0}}, +/* 35133 */ {(11<<2)|2,{95,116,0}}, +/* 35134 */ {(11<<2)|2,{95,116,0}}, +/* 35135 */ {(11<<2)|2,{95,116,0}}, +/* 35136 */ {(12<<2)|2,{95,32,0}}, +/* 35137 */ {(12<<2)|2,{95,32,0}}, +/* 35138 */ {(12<<2)|2,{95,32,0}}, +/* 35139 */ {(12<<2)|2,{95,32,0}}, +/* 35140 */ {(12<<2)|2,{95,32,0}}, +/* 35141 */ {(12<<2)|2,{95,32,0}}, +/* 35142 */ {(12<<2)|2,{95,32,0}}, +/* 35143 */ {(12<<2)|2,{95,32,0}}, +/* 35144 */ {(12<<2)|2,{95,32,0}}, +/* 35145 */ {(12<<2)|2,{95,32,0}}, +/* 35146 */ {(12<<2)|2,{95,32,0}}, +/* 35147 */ {(12<<2)|2,{95,32,0}}, +/* 35148 */ {(12<<2)|2,{95,32,0}}, +/* 35149 */ {(12<<2)|2,{95,32,0}}, +/* 35150 */ {(12<<2)|2,{95,32,0}}, +/* 35151 */ {(12<<2)|2,{95,32,0}}, +/* 35152 */ {(12<<2)|2,{95,37,0}}, +/* 35153 */ {(12<<2)|2,{95,37,0}}, +/* 35154 */ {(12<<2)|2,{95,37,0}}, +/* 35155 */ {(12<<2)|2,{95,37,0}}, +/* 35156 */ {(12<<2)|2,{95,37,0}}, +/* 35157 */ {(12<<2)|2,{95,37,0}}, +/* 35158 */ {(12<<2)|2,{95,37,0}}, +/* 35159 */ {(12<<2)|2,{95,37,0}}, +/* 35160 */ {(12<<2)|2,{95,37,0}}, +/* 35161 */ {(12<<2)|2,{95,37,0}}, +/* 35162 */ {(12<<2)|2,{95,37,0}}, +/* 35163 */ {(12<<2)|2,{95,37,0}}, +/* 35164 */ {(12<<2)|2,{95,37,0}}, +/* 35165 */ {(12<<2)|2,{95,37,0}}, +/* 35166 */ {(12<<2)|2,{95,37,0}}, +/* 35167 */ {(12<<2)|2,{95,37,0}}, +/* 35168 */ {(12<<2)|2,{95,45,0}}, +/* 35169 */ {(12<<2)|2,{95,45,0}}, +/* 35170 */ {(12<<2)|2,{95,45,0}}, +/* 35171 */ {(12<<2)|2,{95,45,0}}, +/* 35172 */ {(12<<2)|2,{95,45,0}}, +/* 35173 */ {(12<<2)|2,{95,45,0}}, +/* 35174 */ {(12<<2)|2,{95,45,0}}, +/* 35175 */ {(12<<2)|2,{95,45,0}}, +/* 35176 */ {(12<<2)|2,{95,45,0}}, +/* 35177 */ {(12<<2)|2,{95,45,0}}, +/* 35178 */ {(12<<2)|2,{95,45,0}}, +/* 35179 */ {(12<<2)|2,{95,45,0}}, +/* 35180 */ {(12<<2)|2,{95,45,0}}, +/* 35181 */ {(12<<2)|2,{95,45,0}}, +/* 35182 */ {(12<<2)|2,{95,45,0}}, +/* 35183 */ {(12<<2)|2,{95,45,0}}, +/* 35184 */ {(12<<2)|2,{95,46,0}}, +/* 35185 */ {(12<<2)|2,{95,46,0}}, +/* 35186 */ {(12<<2)|2,{95,46,0}}, +/* 35187 */ {(12<<2)|2,{95,46,0}}, +/* 35188 */ {(12<<2)|2,{95,46,0}}, +/* 35189 */ {(12<<2)|2,{95,46,0}}, +/* 35190 */ {(12<<2)|2,{95,46,0}}, +/* 35191 */ {(12<<2)|2,{95,46,0}}, +/* 35192 */ {(12<<2)|2,{95,46,0}}, +/* 35193 */ {(12<<2)|2,{95,46,0}}, +/* 35194 */ {(12<<2)|2,{95,46,0}}, +/* 35195 */ {(12<<2)|2,{95,46,0}}, +/* 35196 */ {(12<<2)|2,{95,46,0}}, +/* 35197 */ {(12<<2)|2,{95,46,0}}, +/* 35198 */ {(12<<2)|2,{95,46,0}}, +/* 35199 */ {(12<<2)|2,{95,46,0}}, +/* 35200 */ {(12<<2)|2,{95,47,0}}, +/* 35201 */ {(12<<2)|2,{95,47,0}}, +/* 35202 */ {(12<<2)|2,{95,47,0}}, +/* 35203 */ {(12<<2)|2,{95,47,0}}, +/* 35204 */ {(12<<2)|2,{95,47,0}}, +/* 35205 */ {(12<<2)|2,{95,47,0}}, +/* 35206 */ {(12<<2)|2,{95,47,0}}, +/* 35207 */ {(12<<2)|2,{95,47,0}}, +/* 35208 */ {(12<<2)|2,{95,47,0}}, +/* 35209 */ {(12<<2)|2,{95,47,0}}, +/* 35210 */ {(12<<2)|2,{95,47,0}}, +/* 35211 */ {(12<<2)|2,{95,47,0}}, +/* 35212 */ {(12<<2)|2,{95,47,0}}, +/* 35213 */ {(12<<2)|2,{95,47,0}}, +/* 35214 */ {(12<<2)|2,{95,47,0}}, +/* 35215 */ {(12<<2)|2,{95,47,0}}, +/* 35216 */ {(12<<2)|2,{95,51,0}}, +/* 35217 */ {(12<<2)|2,{95,51,0}}, +/* 35218 */ {(12<<2)|2,{95,51,0}}, +/* 35219 */ {(12<<2)|2,{95,51,0}}, +/* 35220 */ {(12<<2)|2,{95,51,0}}, +/* 35221 */ {(12<<2)|2,{95,51,0}}, +/* 35222 */ {(12<<2)|2,{95,51,0}}, +/* 35223 */ {(12<<2)|2,{95,51,0}}, +/* 35224 */ {(12<<2)|2,{95,51,0}}, +/* 35225 */ {(12<<2)|2,{95,51,0}}, +/* 35226 */ {(12<<2)|2,{95,51,0}}, +/* 35227 */ {(12<<2)|2,{95,51,0}}, +/* 35228 */ {(12<<2)|2,{95,51,0}}, +/* 35229 */ {(12<<2)|2,{95,51,0}}, +/* 35230 */ {(12<<2)|2,{95,51,0}}, +/* 35231 */ {(12<<2)|2,{95,51,0}}, +/* 35232 */ {(12<<2)|2,{95,52,0}}, +/* 35233 */ {(12<<2)|2,{95,52,0}}, +/* 35234 */ {(12<<2)|2,{95,52,0}}, +/* 35235 */ {(12<<2)|2,{95,52,0}}, +/* 35236 */ {(12<<2)|2,{95,52,0}}, +/* 35237 */ {(12<<2)|2,{95,52,0}}, +/* 35238 */ {(12<<2)|2,{95,52,0}}, +/* 35239 */ {(12<<2)|2,{95,52,0}}, +/* 35240 */ {(12<<2)|2,{95,52,0}}, +/* 35241 */ {(12<<2)|2,{95,52,0}}, +/* 35242 */ {(12<<2)|2,{95,52,0}}, +/* 35243 */ {(12<<2)|2,{95,52,0}}, +/* 35244 */ {(12<<2)|2,{95,52,0}}, +/* 35245 */ {(12<<2)|2,{95,52,0}}, +/* 35246 */ {(12<<2)|2,{95,52,0}}, +/* 35247 */ {(12<<2)|2,{95,52,0}}, +/* 35248 */ {(12<<2)|2,{95,53,0}}, +/* 35249 */ {(12<<2)|2,{95,53,0}}, +/* 35250 */ {(12<<2)|2,{95,53,0}}, +/* 35251 */ {(12<<2)|2,{95,53,0}}, +/* 35252 */ {(12<<2)|2,{95,53,0}}, +/* 35253 */ {(12<<2)|2,{95,53,0}}, +/* 35254 */ {(12<<2)|2,{95,53,0}}, +/* 35255 */ {(12<<2)|2,{95,53,0}}, +/* 35256 */ {(12<<2)|2,{95,53,0}}, +/* 35257 */ {(12<<2)|2,{95,53,0}}, +/* 35258 */ {(12<<2)|2,{95,53,0}}, +/* 35259 */ {(12<<2)|2,{95,53,0}}, +/* 35260 */ {(12<<2)|2,{95,53,0}}, +/* 35261 */ {(12<<2)|2,{95,53,0}}, +/* 35262 */ {(12<<2)|2,{95,53,0}}, +/* 35263 */ {(12<<2)|2,{95,53,0}}, +/* 35264 */ {(12<<2)|2,{95,54,0}}, +/* 35265 */ {(12<<2)|2,{95,54,0}}, +/* 35266 */ {(12<<2)|2,{95,54,0}}, +/* 35267 */ {(12<<2)|2,{95,54,0}}, +/* 35268 */ {(12<<2)|2,{95,54,0}}, +/* 35269 */ {(12<<2)|2,{95,54,0}}, +/* 35270 */ {(12<<2)|2,{95,54,0}}, +/* 35271 */ {(12<<2)|2,{95,54,0}}, +/* 35272 */ {(12<<2)|2,{95,54,0}}, +/* 35273 */ {(12<<2)|2,{95,54,0}}, +/* 35274 */ {(12<<2)|2,{95,54,0}}, +/* 35275 */ {(12<<2)|2,{95,54,0}}, +/* 35276 */ {(12<<2)|2,{95,54,0}}, +/* 35277 */ {(12<<2)|2,{95,54,0}}, +/* 35278 */ {(12<<2)|2,{95,54,0}}, +/* 35279 */ {(12<<2)|2,{95,54,0}}, +/* 35280 */ {(12<<2)|2,{95,55,0}}, +/* 35281 */ {(12<<2)|2,{95,55,0}}, +/* 35282 */ {(12<<2)|2,{95,55,0}}, +/* 35283 */ {(12<<2)|2,{95,55,0}}, +/* 35284 */ {(12<<2)|2,{95,55,0}}, +/* 35285 */ {(12<<2)|2,{95,55,0}}, +/* 35286 */ {(12<<2)|2,{95,55,0}}, +/* 35287 */ {(12<<2)|2,{95,55,0}}, +/* 35288 */ {(12<<2)|2,{95,55,0}}, +/* 35289 */ {(12<<2)|2,{95,55,0}}, +/* 35290 */ {(12<<2)|2,{95,55,0}}, +/* 35291 */ {(12<<2)|2,{95,55,0}}, +/* 35292 */ {(12<<2)|2,{95,55,0}}, +/* 35293 */ {(12<<2)|2,{95,55,0}}, +/* 35294 */ {(12<<2)|2,{95,55,0}}, +/* 35295 */ {(12<<2)|2,{95,55,0}}, +/* 35296 */ {(12<<2)|2,{95,56,0}}, +/* 35297 */ {(12<<2)|2,{95,56,0}}, +/* 35298 */ {(12<<2)|2,{95,56,0}}, +/* 35299 */ {(12<<2)|2,{95,56,0}}, +/* 35300 */ {(12<<2)|2,{95,56,0}}, +/* 35301 */ {(12<<2)|2,{95,56,0}}, +/* 35302 */ {(12<<2)|2,{95,56,0}}, +/* 35303 */ {(12<<2)|2,{95,56,0}}, +/* 35304 */ {(12<<2)|2,{95,56,0}}, +/* 35305 */ {(12<<2)|2,{95,56,0}}, +/* 35306 */ {(12<<2)|2,{95,56,0}}, +/* 35307 */ {(12<<2)|2,{95,56,0}}, +/* 35308 */ {(12<<2)|2,{95,56,0}}, +/* 35309 */ {(12<<2)|2,{95,56,0}}, +/* 35310 */ {(12<<2)|2,{95,56,0}}, +/* 35311 */ {(12<<2)|2,{95,56,0}}, +/* 35312 */ {(12<<2)|2,{95,57,0}}, +/* 35313 */ {(12<<2)|2,{95,57,0}}, +/* 35314 */ {(12<<2)|2,{95,57,0}}, +/* 35315 */ {(12<<2)|2,{95,57,0}}, +/* 35316 */ {(12<<2)|2,{95,57,0}}, +/* 35317 */ {(12<<2)|2,{95,57,0}}, +/* 35318 */ {(12<<2)|2,{95,57,0}}, +/* 35319 */ {(12<<2)|2,{95,57,0}}, +/* 35320 */ {(12<<2)|2,{95,57,0}}, +/* 35321 */ {(12<<2)|2,{95,57,0}}, +/* 35322 */ {(12<<2)|2,{95,57,0}}, +/* 35323 */ {(12<<2)|2,{95,57,0}}, +/* 35324 */ {(12<<2)|2,{95,57,0}}, +/* 35325 */ {(12<<2)|2,{95,57,0}}, +/* 35326 */ {(12<<2)|2,{95,57,0}}, +/* 35327 */ {(12<<2)|2,{95,57,0}}, +/* 35328 */ {(12<<2)|2,{95,61,0}}, +/* 35329 */ {(12<<2)|2,{95,61,0}}, +/* 35330 */ {(12<<2)|2,{95,61,0}}, +/* 35331 */ {(12<<2)|2,{95,61,0}}, +/* 35332 */ {(12<<2)|2,{95,61,0}}, +/* 35333 */ {(12<<2)|2,{95,61,0}}, +/* 35334 */ {(12<<2)|2,{95,61,0}}, +/* 35335 */ {(12<<2)|2,{95,61,0}}, +/* 35336 */ {(12<<2)|2,{95,61,0}}, +/* 35337 */ {(12<<2)|2,{95,61,0}}, +/* 35338 */ {(12<<2)|2,{95,61,0}}, +/* 35339 */ {(12<<2)|2,{95,61,0}}, +/* 35340 */ {(12<<2)|2,{95,61,0}}, +/* 35341 */ {(12<<2)|2,{95,61,0}}, +/* 35342 */ {(12<<2)|2,{95,61,0}}, +/* 35343 */ {(12<<2)|2,{95,61,0}}, +/* 35344 */ {(12<<2)|2,{95,65,0}}, +/* 35345 */ {(12<<2)|2,{95,65,0}}, +/* 35346 */ {(12<<2)|2,{95,65,0}}, +/* 35347 */ {(12<<2)|2,{95,65,0}}, +/* 35348 */ {(12<<2)|2,{95,65,0}}, +/* 35349 */ {(12<<2)|2,{95,65,0}}, +/* 35350 */ {(12<<2)|2,{95,65,0}}, +/* 35351 */ {(12<<2)|2,{95,65,0}}, +/* 35352 */ {(12<<2)|2,{95,65,0}}, +/* 35353 */ {(12<<2)|2,{95,65,0}}, +/* 35354 */ {(12<<2)|2,{95,65,0}}, +/* 35355 */ {(12<<2)|2,{95,65,0}}, +/* 35356 */ {(12<<2)|2,{95,65,0}}, +/* 35357 */ {(12<<2)|2,{95,65,0}}, +/* 35358 */ {(12<<2)|2,{95,65,0}}, +/* 35359 */ {(12<<2)|2,{95,65,0}}, +/* 35360 */ {(12<<2)|2,{95,95,0}}, +/* 35361 */ {(12<<2)|2,{95,95,0}}, +/* 35362 */ {(12<<2)|2,{95,95,0}}, +/* 35363 */ {(12<<2)|2,{95,95,0}}, +/* 35364 */ {(12<<2)|2,{95,95,0}}, +/* 35365 */ {(12<<2)|2,{95,95,0}}, +/* 35366 */ {(12<<2)|2,{95,95,0}}, +/* 35367 */ {(12<<2)|2,{95,95,0}}, +/* 35368 */ {(12<<2)|2,{95,95,0}}, +/* 35369 */ {(12<<2)|2,{95,95,0}}, +/* 35370 */ {(12<<2)|2,{95,95,0}}, +/* 35371 */ {(12<<2)|2,{95,95,0}}, +/* 35372 */ {(12<<2)|2,{95,95,0}}, +/* 35373 */ {(12<<2)|2,{95,95,0}}, +/* 35374 */ {(12<<2)|2,{95,95,0}}, +/* 35375 */ {(12<<2)|2,{95,95,0}}, +/* 35376 */ {(12<<2)|2,{95,98,0}}, +/* 35377 */ {(12<<2)|2,{95,98,0}}, +/* 35378 */ {(12<<2)|2,{95,98,0}}, +/* 35379 */ {(12<<2)|2,{95,98,0}}, +/* 35380 */ {(12<<2)|2,{95,98,0}}, +/* 35381 */ {(12<<2)|2,{95,98,0}}, +/* 35382 */ {(12<<2)|2,{95,98,0}}, +/* 35383 */ {(12<<2)|2,{95,98,0}}, +/* 35384 */ {(12<<2)|2,{95,98,0}}, +/* 35385 */ {(12<<2)|2,{95,98,0}}, +/* 35386 */ {(12<<2)|2,{95,98,0}}, +/* 35387 */ {(12<<2)|2,{95,98,0}}, +/* 35388 */ {(12<<2)|2,{95,98,0}}, +/* 35389 */ {(12<<2)|2,{95,98,0}}, +/* 35390 */ {(12<<2)|2,{95,98,0}}, +/* 35391 */ {(12<<2)|2,{95,98,0}}, +/* 35392 */ {(12<<2)|2,{95,100,0}}, +/* 35393 */ {(12<<2)|2,{95,100,0}}, +/* 35394 */ {(12<<2)|2,{95,100,0}}, +/* 35395 */ {(12<<2)|2,{95,100,0}}, +/* 35396 */ {(12<<2)|2,{95,100,0}}, +/* 35397 */ {(12<<2)|2,{95,100,0}}, +/* 35398 */ {(12<<2)|2,{95,100,0}}, +/* 35399 */ {(12<<2)|2,{95,100,0}}, +/* 35400 */ {(12<<2)|2,{95,100,0}}, +/* 35401 */ {(12<<2)|2,{95,100,0}}, +/* 35402 */ {(12<<2)|2,{95,100,0}}, +/* 35403 */ {(12<<2)|2,{95,100,0}}, +/* 35404 */ {(12<<2)|2,{95,100,0}}, +/* 35405 */ {(12<<2)|2,{95,100,0}}, +/* 35406 */ {(12<<2)|2,{95,100,0}}, +/* 35407 */ {(12<<2)|2,{95,100,0}}, +/* 35408 */ {(12<<2)|2,{95,102,0}}, +/* 35409 */ {(12<<2)|2,{95,102,0}}, +/* 35410 */ {(12<<2)|2,{95,102,0}}, +/* 35411 */ {(12<<2)|2,{95,102,0}}, +/* 35412 */ {(12<<2)|2,{95,102,0}}, +/* 35413 */ {(12<<2)|2,{95,102,0}}, +/* 35414 */ {(12<<2)|2,{95,102,0}}, +/* 35415 */ {(12<<2)|2,{95,102,0}}, +/* 35416 */ {(12<<2)|2,{95,102,0}}, +/* 35417 */ {(12<<2)|2,{95,102,0}}, +/* 35418 */ {(12<<2)|2,{95,102,0}}, +/* 35419 */ {(12<<2)|2,{95,102,0}}, +/* 35420 */ {(12<<2)|2,{95,102,0}}, +/* 35421 */ {(12<<2)|2,{95,102,0}}, +/* 35422 */ {(12<<2)|2,{95,102,0}}, +/* 35423 */ {(12<<2)|2,{95,102,0}}, +/* 35424 */ {(12<<2)|2,{95,103,0}}, +/* 35425 */ {(12<<2)|2,{95,103,0}}, +/* 35426 */ {(12<<2)|2,{95,103,0}}, +/* 35427 */ {(12<<2)|2,{95,103,0}}, +/* 35428 */ {(12<<2)|2,{95,103,0}}, +/* 35429 */ {(12<<2)|2,{95,103,0}}, +/* 35430 */ {(12<<2)|2,{95,103,0}}, +/* 35431 */ {(12<<2)|2,{95,103,0}}, +/* 35432 */ {(12<<2)|2,{95,103,0}}, +/* 35433 */ {(12<<2)|2,{95,103,0}}, +/* 35434 */ {(12<<2)|2,{95,103,0}}, +/* 35435 */ {(12<<2)|2,{95,103,0}}, +/* 35436 */ {(12<<2)|2,{95,103,0}}, +/* 35437 */ {(12<<2)|2,{95,103,0}}, +/* 35438 */ {(12<<2)|2,{95,103,0}}, +/* 35439 */ {(12<<2)|2,{95,103,0}}, +/* 35440 */ {(12<<2)|2,{95,104,0}}, +/* 35441 */ {(12<<2)|2,{95,104,0}}, +/* 35442 */ {(12<<2)|2,{95,104,0}}, +/* 35443 */ {(12<<2)|2,{95,104,0}}, +/* 35444 */ {(12<<2)|2,{95,104,0}}, +/* 35445 */ {(12<<2)|2,{95,104,0}}, +/* 35446 */ {(12<<2)|2,{95,104,0}}, +/* 35447 */ {(12<<2)|2,{95,104,0}}, +/* 35448 */ {(12<<2)|2,{95,104,0}}, +/* 35449 */ {(12<<2)|2,{95,104,0}}, +/* 35450 */ {(12<<2)|2,{95,104,0}}, +/* 35451 */ {(12<<2)|2,{95,104,0}}, +/* 35452 */ {(12<<2)|2,{95,104,0}}, +/* 35453 */ {(12<<2)|2,{95,104,0}}, +/* 35454 */ {(12<<2)|2,{95,104,0}}, +/* 35455 */ {(12<<2)|2,{95,104,0}}, +/* 35456 */ {(12<<2)|2,{95,108,0}}, +/* 35457 */ {(12<<2)|2,{95,108,0}}, +/* 35458 */ {(12<<2)|2,{95,108,0}}, +/* 35459 */ {(12<<2)|2,{95,108,0}}, +/* 35460 */ {(12<<2)|2,{95,108,0}}, +/* 35461 */ {(12<<2)|2,{95,108,0}}, +/* 35462 */ {(12<<2)|2,{95,108,0}}, +/* 35463 */ {(12<<2)|2,{95,108,0}}, +/* 35464 */ {(12<<2)|2,{95,108,0}}, +/* 35465 */ {(12<<2)|2,{95,108,0}}, +/* 35466 */ {(12<<2)|2,{95,108,0}}, +/* 35467 */ {(12<<2)|2,{95,108,0}}, +/* 35468 */ {(12<<2)|2,{95,108,0}}, +/* 35469 */ {(12<<2)|2,{95,108,0}}, +/* 35470 */ {(12<<2)|2,{95,108,0}}, +/* 35471 */ {(12<<2)|2,{95,108,0}}, +/* 35472 */ {(12<<2)|2,{95,109,0}}, +/* 35473 */ {(12<<2)|2,{95,109,0}}, +/* 35474 */ {(12<<2)|2,{95,109,0}}, +/* 35475 */ {(12<<2)|2,{95,109,0}}, +/* 35476 */ {(12<<2)|2,{95,109,0}}, +/* 35477 */ {(12<<2)|2,{95,109,0}}, +/* 35478 */ {(12<<2)|2,{95,109,0}}, +/* 35479 */ {(12<<2)|2,{95,109,0}}, +/* 35480 */ {(12<<2)|2,{95,109,0}}, +/* 35481 */ {(12<<2)|2,{95,109,0}}, +/* 35482 */ {(12<<2)|2,{95,109,0}}, +/* 35483 */ {(12<<2)|2,{95,109,0}}, +/* 35484 */ {(12<<2)|2,{95,109,0}}, +/* 35485 */ {(12<<2)|2,{95,109,0}}, +/* 35486 */ {(12<<2)|2,{95,109,0}}, +/* 35487 */ {(12<<2)|2,{95,109,0}}, +/* 35488 */ {(12<<2)|2,{95,110,0}}, +/* 35489 */ {(12<<2)|2,{95,110,0}}, +/* 35490 */ {(12<<2)|2,{95,110,0}}, +/* 35491 */ {(12<<2)|2,{95,110,0}}, +/* 35492 */ {(12<<2)|2,{95,110,0}}, +/* 35493 */ {(12<<2)|2,{95,110,0}}, +/* 35494 */ {(12<<2)|2,{95,110,0}}, +/* 35495 */ {(12<<2)|2,{95,110,0}}, +/* 35496 */ {(12<<2)|2,{95,110,0}}, +/* 35497 */ {(12<<2)|2,{95,110,0}}, +/* 35498 */ {(12<<2)|2,{95,110,0}}, +/* 35499 */ {(12<<2)|2,{95,110,0}}, +/* 35500 */ {(12<<2)|2,{95,110,0}}, +/* 35501 */ {(12<<2)|2,{95,110,0}}, +/* 35502 */ {(12<<2)|2,{95,110,0}}, +/* 35503 */ {(12<<2)|2,{95,110,0}}, +/* 35504 */ {(12<<2)|2,{95,112,0}}, +/* 35505 */ {(12<<2)|2,{95,112,0}}, +/* 35506 */ {(12<<2)|2,{95,112,0}}, +/* 35507 */ {(12<<2)|2,{95,112,0}}, +/* 35508 */ {(12<<2)|2,{95,112,0}}, +/* 35509 */ {(12<<2)|2,{95,112,0}}, +/* 35510 */ {(12<<2)|2,{95,112,0}}, +/* 35511 */ {(12<<2)|2,{95,112,0}}, +/* 35512 */ {(12<<2)|2,{95,112,0}}, +/* 35513 */ {(12<<2)|2,{95,112,0}}, +/* 35514 */ {(12<<2)|2,{95,112,0}}, +/* 35515 */ {(12<<2)|2,{95,112,0}}, +/* 35516 */ {(12<<2)|2,{95,112,0}}, +/* 35517 */ {(12<<2)|2,{95,112,0}}, +/* 35518 */ {(12<<2)|2,{95,112,0}}, +/* 35519 */ {(12<<2)|2,{95,112,0}}, +/* 35520 */ {(12<<2)|2,{95,114,0}}, +/* 35521 */ {(12<<2)|2,{95,114,0}}, +/* 35522 */ {(12<<2)|2,{95,114,0}}, +/* 35523 */ {(12<<2)|2,{95,114,0}}, +/* 35524 */ {(12<<2)|2,{95,114,0}}, +/* 35525 */ {(12<<2)|2,{95,114,0}}, +/* 35526 */ {(12<<2)|2,{95,114,0}}, +/* 35527 */ {(12<<2)|2,{95,114,0}}, +/* 35528 */ {(12<<2)|2,{95,114,0}}, +/* 35529 */ {(12<<2)|2,{95,114,0}}, +/* 35530 */ {(12<<2)|2,{95,114,0}}, +/* 35531 */ {(12<<2)|2,{95,114,0}}, +/* 35532 */ {(12<<2)|2,{95,114,0}}, +/* 35533 */ {(12<<2)|2,{95,114,0}}, +/* 35534 */ {(12<<2)|2,{95,114,0}}, +/* 35535 */ {(12<<2)|2,{95,114,0}}, +/* 35536 */ {(12<<2)|2,{95,117,0}}, +/* 35537 */ {(12<<2)|2,{95,117,0}}, +/* 35538 */ {(12<<2)|2,{95,117,0}}, +/* 35539 */ {(12<<2)|2,{95,117,0}}, +/* 35540 */ {(12<<2)|2,{95,117,0}}, +/* 35541 */ {(12<<2)|2,{95,117,0}}, +/* 35542 */ {(12<<2)|2,{95,117,0}}, +/* 35543 */ {(12<<2)|2,{95,117,0}}, +/* 35544 */ {(12<<2)|2,{95,117,0}}, +/* 35545 */ {(12<<2)|2,{95,117,0}}, +/* 35546 */ {(12<<2)|2,{95,117,0}}, +/* 35547 */ {(12<<2)|2,{95,117,0}}, +/* 35548 */ {(12<<2)|2,{95,117,0}}, +/* 35549 */ {(12<<2)|2,{95,117,0}}, +/* 35550 */ {(12<<2)|2,{95,117,0}}, +/* 35551 */ {(12<<2)|2,{95,117,0}}, +/* 35552 */ {(13<<2)|2,{95,58,0}}, +/* 35553 */ {(13<<2)|2,{95,58,0}}, +/* 35554 */ {(13<<2)|2,{95,58,0}}, +/* 35555 */ {(13<<2)|2,{95,58,0}}, +/* 35556 */ {(13<<2)|2,{95,58,0}}, +/* 35557 */ {(13<<2)|2,{95,58,0}}, +/* 35558 */ {(13<<2)|2,{95,58,0}}, +/* 35559 */ {(13<<2)|2,{95,58,0}}, +/* 35560 */ {(13<<2)|2,{95,66,0}}, +/* 35561 */ {(13<<2)|2,{95,66,0}}, +/* 35562 */ {(13<<2)|2,{95,66,0}}, +/* 35563 */ {(13<<2)|2,{95,66,0}}, +/* 35564 */ {(13<<2)|2,{95,66,0}}, +/* 35565 */ {(13<<2)|2,{95,66,0}}, +/* 35566 */ {(13<<2)|2,{95,66,0}}, +/* 35567 */ {(13<<2)|2,{95,66,0}}, +/* 35568 */ {(13<<2)|2,{95,67,0}}, +/* 35569 */ {(13<<2)|2,{95,67,0}}, +/* 35570 */ {(13<<2)|2,{95,67,0}}, +/* 35571 */ {(13<<2)|2,{95,67,0}}, +/* 35572 */ {(13<<2)|2,{95,67,0}}, +/* 35573 */ {(13<<2)|2,{95,67,0}}, +/* 35574 */ {(13<<2)|2,{95,67,0}}, +/* 35575 */ {(13<<2)|2,{95,67,0}}, +/* 35576 */ {(13<<2)|2,{95,68,0}}, +/* 35577 */ {(13<<2)|2,{95,68,0}}, +/* 35578 */ {(13<<2)|2,{95,68,0}}, +/* 35579 */ {(13<<2)|2,{95,68,0}}, +/* 35580 */ {(13<<2)|2,{95,68,0}}, +/* 35581 */ {(13<<2)|2,{95,68,0}}, +/* 35582 */ {(13<<2)|2,{95,68,0}}, +/* 35583 */ {(13<<2)|2,{95,68,0}}, +/* 35584 */ {(13<<2)|2,{95,69,0}}, +/* 35585 */ {(13<<2)|2,{95,69,0}}, +/* 35586 */ {(13<<2)|2,{95,69,0}}, +/* 35587 */ {(13<<2)|2,{95,69,0}}, +/* 35588 */ {(13<<2)|2,{95,69,0}}, +/* 35589 */ {(13<<2)|2,{95,69,0}}, +/* 35590 */ {(13<<2)|2,{95,69,0}}, +/* 35591 */ {(13<<2)|2,{95,69,0}}, +/* 35592 */ {(13<<2)|2,{95,70,0}}, +/* 35593 */ {(13<<2)|2,{95,70,0}}, +/* 35594 */ {(13<<2)|2,{95,70,0}}, +/* 35595 */ {(13<<2)|2,{95,70,0}}, +/* 35596 */ {(13<<2)|2,{95,70,0}}, +/* 35597 */ {(13<<2)|2,{95,70,0}}, +/* 35598 */ {(13<<2)|2,{95,70,0}}, +/* 35599 */ {(13<<2)|2,{95,70,0}}, +/* 35600 */ {(13<<2)|2,{95,71,0}}, +/* 35601 */ {(13<<2)|2,{95,71,0}}, +/* 35602 */ {(13<<2)|2,{95,71,0}}, +/* 35603 */ {(13<<2)|2,{95,71,0}}, +/* 35604 */ {(13<<2)|2,{95,71,0}}, +/* 35605 */ {(13<<2)|2,{95,71,0}}, +/* 35606 */ {(13<<2)|2,{95,71,0}}, +/* 35607 */ {(13<<2)|2,{95,71,0}}, +/* 35608 */ {(13<<2)|2,{95,72,0}}, +/* 35609 */ {(13<<2)|2,{95,72,0}}, +/* 35610 */ {(13<<2)|2,{95,72,0}}, +/* 35611 */ {(13<<2)|2,{95,72,0}}, +/* 35612 */ {(13<<2)|2,{95,72,0}}, +/* 35613 */ {(13<<2)|2,{95,72,0}}, +/* 35614 */ {(13<<2)|2,{95,72,0}}, +/* 35615 */ {(13<<2)|2,{95,72,0}}, +/* 35616 */ {(13<<2)|2,{95,73,0}}, +/* 35617 */ {(13<<2)|2,{95,73,0}}, +/* 35618 */ {(13<<2)|2,{95,73,0}}, +/* 35619 */ {(13<<2)|2,{95,73,0}}, +/* 35620 */ {(13<<2)|2,{95,73,0}}, +/* 35621 */ {(13<<2)|2,{95,73,0}}, +/* 35622 */ {(13<<2)|2,{95,73,0}}, +/* 35623 */ {(13<<2)|2,{95,73,0}}, +/* 35624 */ {(13<<2)|2,{95,74,0}}, +/* 35625 */ {(13<<2)|2,{95,74,0}}, +/* 35626 */ {(13<<2)|2,{95,74,0}}, +/* 35627 */ {(13<<2)|2,{95,74,0}}, +/* 35628 */ {(13<<2)|2,{95,74,0}}, +/* 35629 */ {(13<<2)|2,{95,74,0}}, +/* 35630 */ {(13<<2)|2,{95,74,0}}, +/* 35631 */ {(13<<2)|2,{95,74,0}}, +/* 35632 */ {(13<<2)|2,{95,75,0}}, +/* 35633 */ {(13<<2)|2,{95,75,0}}, +/* 35634 */ {(13<<2)|2,{95,75,0}}, +/* 35635 */ {(13<<2)|2,{95,75,0}}, +/* 35636 */ {(13<<2)|2,{95,75,0}}, +/* 35637 */ {(13<<2)|2,{95,75,0}}, +/* 35638 */ {(13<<2)|2,{95,75,0}}, +/* 35639 */ {(13<<2)|2,{95,75,0}}, +/* 35640 */ {(13<<2)|2,{95,76,0}}, +/* 35641 */ {(13<<2)|2,{95,76,0}}, +/* 35642 */ {(13<<2)|2,{95,76,0}}, +/* 35643 */ {(13<<2)|2,{95,76,0}}, +/* 35644 */ {(13<<2)|2,{95,76,0}}, +/* 35645 */ {(13<<2)|2,{95,76,0}}, +/* 35646 */ {(13<<2)|2,{95,76,0}}, +/* 35647 */ {(13<<2)|2,{95,76,0}}, +/* 35648 */ {(13<<2)|2,{95,77,0}}, +/* 35649 */ {(13<<2)|2,{95,77,0}}, +/* 35650 */ {(13<<2)|2,{95,77,0}}, +/* 35651 */ {(13<<2)|2,{95,77,0}}, +/* 35652 */ {(13<<2)|2,{95,77,0}}, +/* 35653 */ {(13<<2)|2,{95,77,0}}, +/* 35654 */ {(13<<2)|2,{95,77,0}}, +/* 35655 */ {(13<<2)|2,{95,77,0}}, +/* 35656 */ {(13<<2)|2,{95,78,0}}, +/* 35657 */ {(13<<2)|2,{95,78,0}}, +/* 35658 */ {(13<<2)|2,{95,78,0}}, +/* 35659 */ {(13<<2)|2,{95,78,0}}, +/* 35660 */ {(13<<2)|2,{95,78,0}}, +/* 35661 */ {(13<<2)|2,{95,78,0}}, +/* 35662 */ {(13<<2)|2,{95,78,0}}, +/* 35663 */ {(13<<2)|2,{95,78,0}}, +/* 35664 */ {(13<<2)|2,{95,79,0}}, +/* 35665 */ {(13<<2)|2,{95,79,0}}, +/* 35666 */ {(13<<2)|2,{95,79,0}}, +/* 35667 */ {(13<<2)|2,{95,79,0}}, +/* 35668 */ {(13<<2)|2,{95,79,0}}, +/* 35669 */ {(13<<2)|2,{95,79,0}}, +/* 35670 */ {(13<<2)|2,{95,79,0}}, +/* 35671 */ {(13<<2)|2,{95,79,0}}, +/* 35672 */ {(13<<2)|2,{95,80,0}}, +/* 35673 */ {(13<<2)|2,{95,80,0}}, +/* 35674 */ {(13<<2)|2,{95,80,0}}, +/* 35675 */ {(13<<2)|2,{95,80,0}}, +/* 35676 */ {(13<<2)|2,{95,80,0}}, +/* 35677 */ {(13<<2)|2,{95,80,0}}, +/* 35678 */ {(13<<2)|2,{95,80,0}}, +/* 35679 */ {(13<<2)|2,{95,80,0}}, +/* 35680 */ {(13<<2)|2,{95,81,0}}, +/* 35681 */ {(13<<2)|2,{95,81,0}}, +/* 35682 */ {(13<<2)|2,{95,81,0}}, +/* 35683 */ {(13<<2)|2,{95,81,0}}, +/* 35684 */ {(13<<2)|2,{95,81,0}}, +/* 35685 */ {(13<<2)|2,{95,81,0}}, +/* 35686 */ {(13<<2)|2,{95,81,0}}, +/* 35687 */ {(13<<2)|2,{95,81,0}}, +/* 35688 */ {(13<<2)|2,{95,82,0}}, +/* 35689 */ {(13<<2)|2,{95,82,0}}, +/* 35690 */ {(13<<2)|2,{95,82,0}}, +/* 35691 */ {(13<<2)|2,{95,82,0}}, +/* 35692 */ {(13<<2)|2,{95,82,0}}, +/* 35693 */ {(13<<2)|2,{95,82,0}}, +/* 35694 */ {(13<<2)|2,{95,82,0}}, +/* 35695 */ {(13<<2)|2,{95,82,0}}, +/* 35696 */ {(13<<2)|2,{95,83,0}}, +/* 35697 */ {(13<<2)|2,{95,83,0}}, +/* 35698 */ {(13<<2)|2,{95,83,0}}, +/* 35699 */ {(13<<2)|2,{95,83,0}}, +/* 35700 */ {(13<<2)|2,{95,83,0}}, +/* 35701 */ {(13<<2)|2,{95,83,0}}, +/* 35702 */ {(13<<2)|2,{95,83,0}}, +/* 35703 */ {(13<<2)|2,{95,83,0}}, +/* 35704 */ {(13<<2)|2,{95,84,0}}, +/* 35705 */ {(13<<2)|2,{95,84,0}}, +/* 35706 */ {(13<<2)|2,{95,84,0}}, +/* 35707 */ {(13<<2)|2,{95,84,0}}, +/* 35708 */ {(13<<2)|2,{95,84,0}}, +/* 35709 */ {(13<<2)|2,{95,84,0}}, +/* 35710 */ {(13<<2)|2,{95,84,0}}, +/* 35711 */ {(13<<2)|2,{95,84,0}}, +/* 35712 */ {(13<<2)|2,{95,85,0}}, +/* 35713 */ {(13<<2)|2,{95,85,0}}, +/* 35714 */ {(13<<2)|2,{95,85,0}}, +/* 35715 */ {(13<<2)|2,{95,85,0}}, +/* 35716 */ {(13<<2)|2,{95,85,0}}, +/* 35717 */ {(13<<2)|2,{95,85,0}}, +/* 35718 */ {(13<<2)|2,{95,85,0}}, +/* 35719 */ {(13<<2)|2,{95,85,0}}, +/* 35720 */ {(13<<2)|2,{95,86,0}}, +/* 35721 */ {(13<<2)|2,{95,86,0}}, +/* 35722 */ {(13<<2)|2,{95,86,0}}, +/* 35723 */ {(13<<2)|2,{95,86,0}}, +/* 35724 */ {(13<<2)|2,{95,86,0}}, +/* 35725 */ {(13<<2)|2,{95,86,0}}, +/* 35726 */ {(13<<2)|2,{95,86,0}}, +/* 35727 */ {(13<<2)|2,{95,86,0}}, +/* 35728 */ {(13<<2)|2,{95,87,0}}, +/* 35729 */ {(13<<2)|2,{95,87,0}}, +/* 35730 */ {(13<<2)|2,{95,87,0}}, +/* 35731 */ {(13<<2)|2,{95,87,0}}, +/* 35732 */ {(13<<2)|2,{95,87,0}}, +/* 35733 */ {(13<<2)|2,{95,87,0}}, +/* 35734 */ {(13<<2)|2,{95,87,0}}, +/* 35735 */ {(13<<2)|2,{95,87,0}}, +/* 35736 */ {(13<<2)|2,{95,89,0}}, +/* 35737 */ {(13<<2)|2,{95,89,0}}, +/* 35738 */ {(13<<2)|2,{95,89,0}}, +/* 35739 */ {(13<<2)|2,{95,89,0}}, +/* 35740 */ {(13<<2)|2,{95,89,0}}, +/* 35741 */ {(13<<2)|2,{95,89,0}}, +/* 35742 */ {(13<<2)|2,{95,89,0}}, +/* 35743 */ {(13<<2)|2,{95,89,0}}, +/* 35744 */ {(13<<2)|2,{95,106,0}}, +/* 35745 */ {(13<<2)|2,{95,106,0}}, +/* 35746 */ {(13<<2)|2,{95,106,0}}, +/* 35747 */ {(13<<2)|2,{95,106,0}}, +/* 35748 */ {(13<<2)|2,{95,106,0}}, +/* 35749 */ {(13<<2)|2,{95,106,0}}, +/* 35750 */ {(13<<2)|2,{95,106,0}}, +/* 35751 */ {(13<<2)|2,{95,106,0}}, +/* 35752 */ {(13<<2)|2,{95,107,0}}, +/* 35753 */ {(13<<2)|2,{95,107,0}}, +/* 35754 */ {(13<<2)|2,{95,107,0}}, +/* 35755 */ {(13<<2)|2,{95,107,0}}, +/* 35756 */ {(13<<2)|2,{95,107,0}}, +/* 35757 */ {(13<<2)|2,{95,107,0}}, +/* 35758 */ {(13<<2)|2,{95,107,0}}, +/* 35759 */ {(13<<2)|2,{95,107,0}}, +/* 35760 */ {(13<<2)|2,{95,113,0}}, +/* 35761 */ {(13<<2)|2,{95,113,0}}, +/* 35762 */ {(13<<2)|2,{95,113,0}}, +/* 35763 */ {(13<<2)|2,{95,113,0}}, +/* 35764 */ {(13<<2)|2,{95,113,0}}, +/* 35765 */ {(13<<2)|2,{95,113,0}}, +/* 35766 */ {(13<<2)|2,{95,113,0}}, +/* 35767 */ {(13<<2)|2,{95,113,0}}, +/* 35768 */ {(13<<2)|2,{95,118,0}}, +/* 35769 */ {(13<<2)|2,{95,118,0}}, +/* 35770 */ {(13<<2)|2,{95,118,0}}, +/* 35771 */ {(13<<2)|2,{95,118,0}}, +/* 35772 */ {(13<<2)|2,{95,118,0}}, +/* 35773 */ {(13<<2)|2,{95,118,0}}, +/* 35774 */ {(13<<2)|2,{95,118,0}}, +/* 35775 */ {(13<<2)|2,{95,118,0}}, +/* 35776 */ {(13<<2)|2,{95,119,0}}, +/* 35777 */ {(13<<2)|2,{95,119,0}}, +/* 35778 */ {(13<<2)|2,{95,119,0}}, +/* 35779 */ {(13<<2)|2,{95,119,0}}, +/* 35780 */ {(13<<2)|2,{95,119,0}}, +/* 35781 */ {(13<<2)|2,{95,119,0}}, +/* 35782 */ {(13<<2)|2,{95,119,0}}, +/* 35783 */ {(13<<2)|2,{95,119,0}}, +/* 35784 */ {(13<<2)|2,{95,120,0}}, +/* 35785 */ {(13<<2)|2,{95,120,0}}, +/* 35786 */ {(13<<2)|2,{95,120,0}}, +/* 35787 */ {(13<<2)|2,{95,120,0}}, +/* 35788 */ {(13<<2)|2,{95,120,0}}, +/* 35789 */ {(13<<2)|2,{95,120,0}}, +/* 35790 */ {(13<<2)|2,{95,120,0}}, +/* 35791 */ {(13<<2)|2,{95,120,0}}, +/* 35792 */ {(13<<2)|2,{95,121,0}}, +/* 35793 */ {(13<<2)|2,{95,121,0}}, +/* 35794 */ {(13<<2)|2,{95,121,0}}, +/* 35795 */ {(13<<2)|2,{95,121,0}}, +/* 35796 */ {(13<<2)|2,{95,121,0}}, +/* 35797 */ {(13<<2)|2,{95,121,0}}, +/* 35798 */ {(13<<2)|2,{95,121,0}}, +/* 35799 */ {(13<<2)|2,{95,121,0}}, +/* 35800 */ {(13<<2)|2,{95,122,0}}, +/* 35801 */ {(13<<2)|2,{95,122,0}}, +/* 35802 */ {(13<<2)|2,{95,122,0}}, +/* 35803 */ {(13<<2)|2,{95,122,0}}, +/* 35804 */ {(13<<2)|2,{95,122,0}}, +/* 35805 */ {(13<<2)|2,{95,122,0}}, +/* 35806 */ {(13<<2)|2,{95,122,0}}, +/* 35807 */ {(13<<2)|2,{95,122,0}}, +/* 35808 */ {(14<<2)|2,{95,38,0}}, +/* 35809 */ {(14<<2)|2,{95,38,0}}, +/* 35810 */ {(14<<2)|2,{95,38,0}}, +/* 35811 */ {(14<<2)|2,{95,38,0}}, +/* 35812 */ {(14<<2)|2,{95,42,0}}, +/* 35813 */ {(14<<2)|2,{95,42,0}}, +/* 35814 */ {(14<<2)|2,{95,42,0}}, +/* 35815 */ {(14<<2)|2,{95,42,0}}, +/* 35816 */ {(14<<2)|2,{95,44,0}}, +/* 35817 */ {(14<<2)|2,{95,44,0}}, +/* 35818 */ {(14<<2)|2,{95,44,0}}, +/* 35819 */ {(14<<2)|2,{95,44,0}}, +/* 35820 */ {(14<<2)|2,{95,59,0}}, +/* 35821 */ {(14<<2)|2,{95,59,0}}, +/* 35822 */ {(14<<2)|2,{95,59,0}}, +/* 35823 */ {(14<<2)|2,{95,59,0}}, +/* 35824 */ {(14<<2)|2,{95,88,0}}, +/* 35825 */ {(14<<2)|2,{95,88,0}}, +/* 35826 */ {(14<<2)|2,{95,88,0}}, +/* 35827 */ {(14<<2)|2,{95,88,0}}, +/* 35828 */ {(14<<2)|2,{95,90,0}}, +/* 35829 */ {(14<<2)|2,{95,90,0}}, +/* 35830 */ {(14<<2)|2,{95,90,0}}, +/* 35831 */ {(14<<2)|2,{95,90,0}}, +/* 35832 */ {(16<<2)|2,{95,33,0}}, +/* 35833 */ {(16<<2)|2,{95,34,0}}, +/* 35834 */ {(16<<2)|2,{95,40,0}}, +/* 35835 */ {(16<<2)|2,{95,41,0}}, +/* 35836 */ {(16<<2)|2,{95,63,0}}, +/* 35837 */ {(6<<2)|1,{95,0,0}}, +/* 35838 */ {(6<<2)|1,{95,0,0}}, +/* 35839 */ {(6<<2)|1,{95,0,0}}, +/* 35840 */ {(16<<2)|3,{98,48,48}}, +/* 35841 */ {(16<<2)|3,{98,48,49}}, +/* 35842 */ {(16<<2)|3,{98,48,50}}, +/* 35843 */ {(16<<2)|3,{98,48,97}}, +/* 35844 */ {(16<<2)|3,{98,48,99}}, +/* 35845 */ {(16<<2)|3,{98,48,101}}, +/* 35846 */ {(16<<2)|3,{98,48,105}}, +/* 35847 */ {(16<<2)|3,{98,48,111}}, +/* 35848 */ {(16<<2)|3,{98,48,115}}, +/* 35849 */ {(16<<2)|3,{98,48,116}}, +/* 35850 */ {(11<<2)|2,{98,48,0}}, +/* 35851 */ {(11<<2)|2,{98,48,0}}, +/* 35852 */ {(11<<2)|2,{98,48,0}}, +/* 35853 */ {(11<<2)|2,{98,48,0}}, +/* 35854 */ {(11<<2)|2,{98,48,0}}, +/* 35855 */ {(11<<2)|2,{98,48,0}}, +/* 35856 */ {(11<<2)|2,{98,48,0}}, +/* 35857 */ {(11<<2)|2,{98,48,0}}, +/* 35858 */ {(11<<2)|2,{98,48,0}}, +/* 35859 */ {(11<<2)|2,{98,48,0}}, +/* 35860 */ {(11<<2)|2,{98,48,0}}, +/* 35861 */ {(11<<2)|2,{98,48,0}}, +/* 35862 */ {(11<<2)|2,{98,48,0}}, +/* 35863 */ {(11<<2)|2,{98,48,0}}, +/* 35864 */ {(11<<2)|2,{98,48,0}}, +/* 35865 */ {(11<<2)|2,{98,48,0}}, +/* 35866 */ {(11<<2)|2,{98,48,0}}, +/* 35867 */ {(11<<2)|2,{98,48,0}}, +/* 35868 */ {(11<<2)|2,{98,48,0}}, +/* 35869 */ {(11<<2)|2,{98,48,0}}, +/* 35870 */ {(11<<2)|2,{98,48,0}}, +/* 35871 */ {(11<<2)|2,{98,48,0}}, +/* 35872 */ {(16<<2)|3,{98,49,48}}, +/* 35873 */ {(16<<2)|3,{98,49,49}}, +/* 35874 */ {(16<<2)|3,{98,49,50}}, +/* 35875 */ {(16<<2)|3,{98,49,97}}, +/* 35876 */ {(16<<2)|3,{98,49,99}}, +/* 35877 */ {(16<<2)|3,{98,49,101}}, +/* 35878 */ {(16<<2)|3,{98,49,105}}, +/* 35879 */ {(16<<2)|3,{98,49,111}}, +/* 35880 */ {(16<<2)|3,{98,49,115}}, +/* 35881 */ {(16<<2)|3,{98,49,116}}, +/* 35882 */ {(11<<2)|2,{98,49,0}}, +/* 35883 */ {(11<<2)|2,{98,49,0}}, +/* 35884 */ {(11<<2)|2,{98,49,0}}, +/* 35885 */ {(11<<2)|2,{98,49,0}}, +/* 35886 */ {(11<<2)|2,{98,49,0}}, +/* 35887 */ {(11<<2)|2,{98,49,0}}, +/* 35888 */ {(11<<2)|2,{98,49,0}}, +/* 35889 */ {(11<<2)|2,{98,49,0}}, +/* 35890 */ {(11<<2)|2,{98,49,0}}, +/* 35891 */ {(11<<2)|2,{98,49,0}}, +/* 35892 */ {(11<<2)|2,{98,49,0}}, +/* 35893 */ {(11<<2)|2,{98,49,0}}, +/* 35894 */ {(11<<2)|2,{98,49,0}}, +/* 35895 */ {(11<<2)|2,{98,49,0}}, +/* 35896 */ {(11<<2)|2,{98,49,0}}, +/* 35897 */ {(11<<2)|2,{98,49,0}}, +/* 35898 */ {(11<<2)|2,{98,49,0}}, +/* 35899 */ {(11<<2)|2,{98,49,0}}, +/* 35900 */ {(11<<2)|2,{98,49,0}}, +/* 35901 */ {(11<<2)|2,{98,49,0}}, +/* 35902 */ {(11<<2)|2,{98,49,0}}, +/* 35903 */ {(11<<2)|2,{98,49,0}}, +/* 35904 */ {(16<<2)|3,{98,50,48}}, +/* 35905 */ {(16<<2)|3,{98,50,49}}, +/* 35906 */ {(16<<2)|3,{98,50,50}}, +/* 35907 */ {(16<<2)|3,{98,50,97}}, +/* 35908 */ {(16<<2)|3,{98,50,99}}, +/* 35909 */ {(16<<2)|3,{98,50,101}}, +/* 35910 */ {(16<<2)|3,{98,50,105}}, +/* 35911 */ {(16<<2)|3,{98,50,111}}, +/* 35912 */ {(16<<2)|3,{98,50,115}}, +/* 35913 */ {(16<<2)|3,{98,50,116}}, +/* 35914 */ {(11<<2)|2,{98,50,0}}, +/* 35915 */ {(11<<2)|2,{98,50,0}}, +/* 35916 */ {(11<<2)|2,{98,50,0}}, +/* 35917 */ {(11<<2)|2,{98,50,0}}, +/* 35918 */ {(11<<2)|2,{98,50,0}}, +/* 35919 */ {(11<<2)|2,{98,50,0}}, +/* 35920 */ {(11<<2)|2,{98,50,0}}, +/* 35921 */ {(11<<2)|2,{98,50,0}}, +/* 35922 */ {(11<<2)|2,{98,50,0}}, +/* 35923 */ {(11<<2)|2,{98,50,0}}, +/* 35924 */ {(11<<2)|2,{98,50,0}}, +/* 35925 */ {(11<<2)|2,{98,50,0}}, +/* 35926 */ {(11<<2)|2,{98,50,0}}, +/* 35927 */ {(11<<2)|2,{98,50,0}}, +/* 35928 */ {(11<<2)|2,{98,50,0}}, +/* 35929 */ {(11<<2)|2,{98,50,0}}, +/* 35930 */ {(11<<2)|2,{98,50,0}}, +/* 35931 */ {(11<<2)|2,{98,50,0}}, +/* 35932 */ {(11<<2)|2,{98,50,0}}, +/* 35933 */ {(11<<2)|2,{98,50,0}}, +/* 35934 */ {(11<<2)|2,{98,50,0}}, +/* 35935 */ {(11<<2)|2,{98,50,0}}, +/* 35936 */ {(16<<2)|3,{98,97,48}}, +/* 35937 */ {(16<<2)|3,{98,97,49}}, +/* 35938 */ {(16<<2)|3,{98,97,50}}, +/* 35939 */ {(16<<2)|3,{98,97,97}}, +/* 35940 */ {(16<<2)|3,{98,97,99}}, +/* 35941 */ {(16<<2)|3,{98,97,101}}, +/* 35942 */ {(16<<2)|3,{98,97,105}}, +/* 35943 */ {(16<<2)|3,{98,97,111}}, +/* 35944 */ {(16<<2)|3,{98,97,115}}, +/* 35945 */ {(16<<2)|3,{98,97,116}}, +/* 35946 */ {(11<<2)|2,{98,97,0}}, +/* 35947 */ {(11<<2)|2,{98,97,0}}, +/* 35948 */ {(11<<2)|2,{98,97,0}}, +/* 35949 */ {(11<<2)|2,{98,97,0}}, +/* 35950 */ {(11<<2)|2,{98,97,0}}, +/* 35951 */ {(11<<2)|2,{98,97,0}}, +/* 35952 */ {(11<<2)|2,{98,97,0}}, +/* 35953 */ {(11<<2)|2,{98,97,0}}, +/* 35954 */ {(11<<2)|2,{98,97,0}}, +/* 35955 */ {(11<<2)|2,{98,97,0}}, +/* 35956 */ {(11<<2)|2,{98,97,0}}, +/* 35957 */ {(11<<2)|2,{98,97,0}}, +/* 35958 */ {(11<<2)|2,{98,97,0}}, +/* 35959 */ {(11<<2)|2,{98,97,0}}, +/* 35960 */ {(11<<2)|2,{98,97,0}}, +/* 35961 */ {(11<<2)|2,{98,97,0}}, +/* 35962 */ {(11<<2)|2,{98,97,0}}, +/* 35963 */ {(11<<2)|2,{98,97,0}}, +/* 35964 */ {(11<<2)|2,{98,97,0}}, +/* 35965 */ {(11<<2)|2,{98,97,0}}, +/* 35966 */ {(11<<2)|2,{98,97,0}}, +/* 35967 */ {(11<<2)|2,{98,97,0}}, +/* 35968 */ {(16<<2)|3,{98,99,48}}, +/* 35969 */ {(16<<2)|3,{98,99,49}}, +/* 35970 */ {(16<<2)|3,{98,99,50}}, +/* 35971 */ {(16<<2)|3,{98,99,97}}, +/* 35972 */ {(16<<2)|3,{98,99,99}}, +/* 35973 */ {(16<<2)|3,{98,99,101}}, +/* 35974 */ {(16<<2)|3,{98,99,105}}, +/* 35975 */ {(16<<2)|3,{98,99,111}}, +/* 35976 */ {(16<<2)|3,{98,99,115}}, +/* 35977 */ {(16<<2)|3,{98,99,116}}, +/* 35978 */ {(11<<2)|2,{98,99,0}}, +/* 35979 */ {(11<<2)|2,{98,99,0}}, +/* 35980 */ {(11<<2)|2,{98,99,0}}, +/* 35981 */ {(11<<2)|2,{98,99,0}}, +/* 35982 */ {(11<<2)|2,{98,99,0}}, +/* 35983 */ {(11<<2)|2,{98,99,0}}, +/* 35984 */ {(11<<2)|2,{98,99,0}}, +/* 35985 */ {(11<<2)|2,{98,99,0}}, +/* 35986 */ {(11<<2)|2,{98,99,0}}, +/* 35987 */ {(11<<2)|2,{98,99,0}}, +/* 35988 */ {(11<<2)|2,{98,99,0}}, +/* 35989 */ {(11<<2)|2,{98,99,0}}, +/* 35990 */ {(11<<2)|2,{98,99,0}}, +/* 35991 */ {(11<<2)|2,{98,99,0}}, +/* 35992 */ {(11<<2)|2,{98,99,0}}, +/* 35993 */ {(11<<2)|2,{98,99,0}}, +/* 35994 */ {(11<<2)|2,{98,99,0}}, +/* 35995 */ {(11<<2)|2,{98,99,0}}, +/* 35996 */ {(11<<2)|2,{98,99,0}}, +/* 35997 */ {(11<<2)|2,{98,99,0}}, +/* 35998 */ {(11<<2)|2,{98,99,0}}, +/* 35999 */ {(11<<2)|2,{98,99,0}}, +/* 36000 */ {(16<<2)|3,{98,101,48}}, +/* 36001 */ {(16<<2)|3,{98,101,49}}, +/* 36002 */ {(16<<2)|3,{98,101,50}}, +/* 36003 */ {(16<<2)|3,{98,101,97}}, +/* 36004 */ {(16<<2)|3,{98,101,99}}, +/* 36005 */ {(16<<2)|3,{98,101,101}}, +/* 36006 */ {(16<<2)|3,{98,101,105}}, +/* 36007 */ {(16<<2)|3,{98,101,111}}, +/* 36008 */ {(16<<2)|3,{98,101,115}}, +/* 36009 */ {(16<<2)|3,{98,101,116}}, +/* 36010 */ {(11<<2)|2,{98,101,0}}, +/* 36011 */ {(11<<2)|2,{98,101,0}}, +/* 36012 */ {(11<<2)|2,{98,101,0}}, +/* 36013 */ {(11<<2)|2,{98,101,0}}, +/* 36014 */ {(11<<2)|2,{98,101,0}}, +/* 36015 */ {(11<<2)|2,{98,101,0}}, +/* 36016 */ {(11<<2)|2,{98,101,0}}, +/* 36017 */ {(11<<2)|2,{98,101,0}}, +/* 36018 */ {(11<<2)|2,{98,101,0}}, +/* 36019 */ {(11<<2)|2,{98,101,0}}, +/* 36020 */ {(11<<2)|2,{98,101,0}}, +/* 36021 */ {(11<<2)|2,{98,101,0}}, +/* 36022 */ {(11<<2)|2,{98,101,0}}, +/* 36023 */ {(11<<2)|2,{98,101,0}}, +/* 36024 */ {(11<<2)|2,{98,101,0}}, +/* 36025 */ {(11<<2)|2,{98,101,0}}, +/* 36026 */ {(11<<2)|2,{98,101,0}}, +/* 36027 */ {(11<<2)|2,{98,101,0}}, +/* 36028 */ {(11<<2)|2,{98,101,0}}, +/* 36029 */ {(11<<2)|2,{98,101,0}}, +/* 36030 */ {(11<<2)|2,{98,101,0}}, +/* 36031 */ {(11<<2)|2,{98,101,0}}, +/* 36032 */ {(16<<2)|3,{98,105,48}}, +/* 36033 */ {(16<<2)|3,{98,105,49}}, +/* 36034 */ {(16<<2)|3,{98,105,50}}, +/* 36035 */ {(16<<2)|3,{98,105,97}}, +/* 36036 */ {(16<<2)|3,{98,105,99}}, +/* 36037 */ {(16<<2)|3,{98,105,101}}, +/* 36038 */ {(16<<2)|3,{98,105,105}}, +/* 36039 */ {(16<<2)|3,{98,105,111}}, +/* 36040 */ {(16<<2)|3,{98,105,115}}, +/* 36041 */ {(16<<2)|3,{98,105,116}}, +/* 36042 */ {(11<<2)|2,{98,105,0}}, +/* 36043 */ {(11<<2)|2,{98,105,0}}, +/* 36044 */ {(11<<2)|2,{98,105,0}}, +/* 36045 */ {(11<<2)|2,{98,105,0}}, +/* 36046 */ {(11<<2)|2,{98,105,0}}, +/* 36047 */ {(11<<2)|2,{98,105,0}}, +/* 36048 */ {(11<<2)|2,{98,105,0}}, +/* 36049 */ {(11<<2)|2,{98,105,0}}, +/* 36050 */ {(11<<2)|2,{98,105,0}}, +/* 36051 */ {(11<<2)|2,{98,105,0}}, +/* 36052 */ {(11<<2)|2,{98,105,0}}, +/* 36053 */ {(11<<2)|2,{98,105,0}}, +/* 36054 */ {(11<<2)|2,{98,105,0}}, +/* 36055 */ {(11<<2)|2,{98,105,0}}, +/* 36056 */ {(11<<2)|2,{98,105,0}}, +/* 36057 */ {(11<<2)|2,{98,105,0}}, +/* 36058 */ {(11<<2)|2,{98,105,0}}, +/* 36059 */ {(11<<2)|2,{98,105,0}}, +/* 36060 */ {(11<<2)|2,{98,105,0}}, +/* 36061 */ {(11<<2)|2,{98,105,0}}, +/* 36062 */ {(11<<2)|2,{98,105,0}}, +/* 36063 */ {(11<<2)|2,{98,105,0}}, +/* 36064 */ {(16<<2)|3,{98,111,48}}, +/* 36065 */ {(16<<2)|3,{98,111,49}}, +/* 36066 */ {(16<<2)|3,{98,111,50}}, +/* 36067 */ {(16<<2)|3,{98,111,97}}, +/* 36068 */ {(16<<2)|3,{98,111,99}}, +/* 36069 */ {(16<<2)|3,{98,111,101}}, +/* 36070 */ {(16<<2)|3,{98,111,105}}, +/* 36071 */ {(16<<2)|3,{98,111,111}}, +/* 36072 */ {(16<<2)|3,{98,111,115}}, +/* 36073 */ {(16<<2)|3,{98,111,116}}, +/* 36074 */ {(11<<2)|2,{98,111,0}}, +/* 36075 */ {(11<<2)|2,{98,111,0}}, +/* 36076 */ {(11<<2)|2,{98,111,0}}, +/* 36077 */ {(11<<2)|2,{98,111,0}}, +/* 36078 */ {(11<<2)|2,{98,111,0}}, +/* 36079 */ {(11<<2)|2,{98,111,0}}, +/* 36080 */ {(11<<2)|2,{98,111,0}}, +/* 36081 */ {(11<<2)|2,{98,111,0}}, +/* 36082 */ {(11<<2)|2,{98,111,0}}, +/* 36083 */ {(11<<2)|2,{98,111,0}}, +/* 36084 */ {(11<<2)|2,{98,111,0}}, +/* 36085 */ {(11<<2)|2,{98,111,0}}, +/* 36086 */ {(11<<2)|2,{98,111,0}}, +/* 36087 */ {(11<<2)|2,{98,111,0}}, +/* 36088 */ {(11<<2)|2,{98,111,0}}, +/* 36089 */ {(11<<2)|2,{98,111,0}}, +/* 36090 */ {(11<<2)|2,{98,111,0}}, +/* 36091 */ {(11<<2)|2,{98,111,0}}, +/* 36092 */ {(11<<2)|2,{98,111,0}}, +/* 36093 */ {(11<<2)|2,{98,111,0}}, +/* 36094 */ {(11<<2)|2,{98,111,0}}, +/* 36095 */ {(11<<2)|2,{98,111,0}}, +/* 36096 */ {(16<<2)|3,{98,115,48}}, +/* 36097 */ {(16<<2)|3,{98,115,49}}, +/* 36098 */ {(16<<2)|3,{98,115,50}}, +/* 36099 */ {(16<<2)|3,{98,115,97}}, +/* 36100 */ {(16<<2)|3,{98,115,99}}, +/* 36101 */ {(16<<2)|3,{98,115,101}}, +/* 36102 */ {(16<<2)|3,{98,115,105}}, +/* 36103 */ {(16<<2)|3,{98,115,111}}, +/* 36104 */ {(16<<2)|3,{98,115,115}}, +/* 36105 */ {(16<<2)|3,{98,115,116}}, +/* 36106 */ {(11<<2)|2,{98,115,0}}, +/* 36107 */ {(11<<2)|2,{98,115,0}}, +/* 36108 */ {(11<<2)|2,{98,115,0}}, +/* 36109 */ {(11<<2)|2,{98,115,0}}, +/* 36110 */ {(11<<2)|2,{98,115,0}}, +/* 36111 */ {(11<<2)|2,{98,115,0}}, +/* 36112 */ {(11<<2)|2,{98,115,0}}, +/* 36113 */ {(11<<2)|2,{98,115,0}}, +/* 36114 */ {(11<<2)|2,{98,115,0}}, +/* 36115 */ {(11<<2)|2,{98,115,0}}, +/* 36116 */ {(11<<2)|2,{98,115,0}}, +/* 36117 */ {(11<<2)|2,{98,115,0}}, +/* 36118 */ {(11<<2)|2,{98,115,0}}, +/* 36119 */ {(11<<2)|2,{98,115,0}}, +/* 36120 */ {(11<<2)|2,{98,115,0}}, +/* 36121 */ {(11<<2)|2,{98,115,0}}, +/* 36122 */ {(11<<2)|2,{98,115,0}}, +/* 36123 */ {(11<<2)|2,{98,115,0}}, +/* 36124 */ {(11<<2)|2,{98,115,0}}, +/* 36125 */ {(11<<2)|2,{98,115,0}}, +/* 36126 */ {(11<<2)|2,{98,115,0}}, +/* 36127 */ {(11<<2)|2,{98,115,0}}, +/* 36128 */ {(16<<2)|3,{98,116,48}}, +/* 36129 */ {(16<<2)|3,{98,116,49}}, +/* 36130 */ {(16<<2)|3,{98,116,50}}, +/* 36131 */ {(16<<2)|3,{98,116,97}}, +/* 36132 */ {(16<<2)|3,{98,116,99}}, +/* 36133 */ {(16<<2)|3,{98,116,101}}, +/* 36134 */ {(16<<2)|3,{98,116,105}}, +/* 36135 */ {(16<<2)|3,{98,116,111}}, +/* 36136 */ {(16<<2)|3,{98,116,115}}, +/* 36137 */ {(16<<2)|3,{98,116,116}}, +/* 36138 */ {(11<<2)|2,{98,116,0}}, +/* 36139 */ {(11<<2)|2,{98,116,0}}, +/* 36140 */ {(11<<2)|2,{98,116,0}}, +/* 36141 */ {(11<<2)|2,{98,116,0}}, +/* 36142 */ {(11<<2)|2,{98,116,0}}, +/* 36143 */ {(11<<2)|2,{98,116,0}}, +/* 36144 */ {(11<<2)|2,{98,116,0}}, +/* 36145 */ {(11<<2)|2,{98,116,0}}, +/* 36146 */ {(11<<2)|2,{98,116,0}}, +/* 36147 */ {(11<<2)|2,{98,116,0}}, +/* 36148 */ {(11<<2)|2,{98,116,0}}, +/* 36149 */ {(11<<2)|2,{98,116,0}}, +/* 36150 */ {(11<<2)|2,{98,116,0}}, +/* 36151 */ {(11<<2)|2,{98,116,0}}, +/* 36152 */ {(11<<2)|2,{98,116,0}}, +/* 36153 */ {(11<<2)|2,{98,116,0}}, +/* 36154 */ {(11<<2)|2,{98,116,0}}, +/* 36155 */ {(11<<2)|2,{98,116,0}}, +/* 36156 */ {(11<<2)|2,{98,116,0}}, +/* 36157 */ {(11<<2)|2,{98,116,0}}, +/* 36158 */ {(11<<2)|2,{98,116,0}}, +/* 36159 */ {(11<<2)|2,{98,116,0}}, +/* 36160 */ {(12<<2)|2,{98,32,0}}, +/* 36161 */ {(12<<2)|2,{98,32,0}}, +/* 36162 */ {(12<<2)|2,{98,32,0}}, +/* 36163 */ {(12<<2)|2,{98,32,0}}, +/* 36164 */ {(12<<2)|2,{98,32,0}}, +/* 36165 */ {(12<<2)|2,{98,32,0}}, +/* 36166 */ {(12<<2)|2,{98,32,0}}, +/* 36167 */ {(12<<2)|2,{98,32,0}}, +/* 36168 */ {(12<<2)|2,{98,32,0}}, +/* 36169 */ {(12<<2)|2,{98,32,0}}, +/* 36170 */ {(12<<2)|2,{98,32,0}}, +/* 36171 */ {(12<<2)|2,{98,32,0}}, +/* 36172 */ {(12<<2)|2,{98,32,0}}, +/* 36173 */ {(12<<2)|2,{98,32,0}}, +/* 36174 */ {(12<<2)|2,{98,32,0}}, +/* 36175 */ {(12<<2)|2,{98,32,0}}, +/* 36176 */ {(12<<2)|2,{98,37,0}}, +/* 36177 */ {(12<<2)|2,{98,37,0}}, +/* 36178 */ {(12<<2)|2,{98,37,0}}, +/* 36179 */ {(12<<2)|2,{98,37,0}}, +/* 36180 */ {(12<<2)|2,{98,37,0}}, +/* 36181 */ {(12<<2)|2,{98,37,0}}, +/* 36182 */ {(12<<2)|2,{98,37,0}}, +/* 36183 */ {(12<<2)|2,{98,37,0}}, +/* 36184 */ {(12<<2)|2,{98,37,0}}, +/* 36185 */ {(12<<2)|2,{98,37,0}}, +/* 36186 */ {(12<<2)|2,{98,37,0}}, +/* 36187 */ {(12<<2)|2,{98,37,0}}, +/* 36188 */ {(12<<2)|2,{98,37,0}}, +/* 36189 */ {(12<<2)|2,{98,37,0}}, +/* 36190 */ {(12<<2)|2,{98,37,0}}, +/* 36191 */ {(12<<2)|2,{98,37,0}}, +/* 36192 */ {(12<<2)|2,{98,45,0}}, +/* 36193 */ {(12<<2)|2,{98,45,0}}, +/* 36194 */ {(12<<2)|2,{98,45,0}}, +/* 36195 */ {(12<<2)|2,{98,45,0}}, +/* 36196 */ {(12<<2)|2,{98,45,0}}, +/* 36197 */ {(12<<2)|2,{98,45,0}}, +/* 36198 */ {(12<<2)|2,{98,45,0}}, +/* 36199 */ {(12<<2)|2,{98,45,0}}, +/* 36200 */ {(12<<2)|2,{98,45,0}}, +/* 36201 */ {(12<<2)|2,{98,45,0}}, +/* 36202 */ {(12<<2)|2,{98,45,0}}, +/* 36203 */ {(12<<2)|2,{98,45,0}}, +/* 36204 */ {(12<<2)|2,{98,45,0}}, +/* 36205 */ {(12<<2)|2,{98,45,0}}, +/* 36206 */ {(12<<2)|2,{98,45,0}}, +/* 36207 */ {(12<<2)|2,{98,45,0}}, +/* 36208 */ {(12<<2)|2,{98,46,0}}, +/* 36209 */ {(12<<2)|2,{98,46,0}}, +/* 36210 */ {(12<<2)|2,{98,46,0}}, +/* 36211 */ {(12<<2)|2,{98,46,0}}, +/* 36212 */ {(12<<2)|2,{98,46,0}}, +/* 36213 */ {(12<<2)|2,{98,46,0}}, +/* 36214 */ {(12<<2)|2,{98,46,0}}, +/* 36215 */ {(12<<2)|2,{98,46,0}}, +/* 36216 */ {(12<<2)|2,{98,46,0}}, +/* 36217 */ {(12<<2)|2,{98,46,0}}, +/* 36218 */ {(12<<2)|2,{98,46,0}}, +/* 36219 */ {(12<<2)|2,{98,46,0}}, +/* 36220 */ {(12<<2)|2,{98,46,0}}, +/* 36221 */ {(12<<2)|2,{98,46,0}}, +/* 36222 */ {(12<<2)|2,{98,46,0}}, +/* 36223 */ {(12<<2)|2,{98,46,0}}, +/* 36224 */ {(12<<2)|2,{98,47,0}}, +/* 36225 */ {(12<<2)|2,{98,47,0}}, +/* 36226 */ {(12<<2)|2,{98,47,0}}, +/* 36227 */ {(12<<2)|2,{98,47,0}}, +/* 36228 */ {(12<<2)|2,{98,47,0}}, +/* 36229 */ {(12<<2)|2,{98,47,0}}, +/* 36230 */ {(12<<2)|2,{98,47,0}}, +/* 36231 */ {(12<<2)|2,{98,47,0}}, +/* 36232 */ {(12<<2)|2,{98,47,0}}, +/* 36233 */ {(12<<2)|2,{98,47,0}}, +/* 36234 */ {(12<<2)|2,{98,47,0}}, +/* 36235 */ {(12<<2)|2,{98,47,0}}, +/* 36236 */ {(12<<2)|2,{98,47,0}}, +/* 36237 */ {(12<<2)|2,{98,47,0}}, +/* 36238 */ {(12<<2)|2,{98,47,0}}, +/* 36239 */ {(12<<2)|2,{98,47,0}}, +/* 36240 */ {(12<<2)|2,{98,51,0}}, +/* 36241 */ {(12<<2)|2,{98,51,0}}, +/* 36242 */ {(12<<2)|2,{98,51,0}}, +/* 36243 */ {(12<<2)|2,{98,51,0}}, +/* 36244 */ {(12<<2)|2,{98,51,0}}, +/* 36245 */ {(12<<2)|2,{98,51,0}}, +/* 36246 */ {(12<<2)|2,{98,51,0}}, +/* 36247 */ {(12<<2)|2,{98,51,0}}, +/* 36248 */ {(12<<2)|2,{98,51,0}}, +/* 36249 */ {(12<<2)|2,{98,51,0}}, +/* 36250 */ {(12<<2)|2,{98,51,0}}, +/* 36251 */ {(12<<2)|2,{98,51,0}}, +/* 36252 */ {(12<<2)|2,{98,51,0}}, +/* 36253 */ {(12<<2)|2,{98,51,0}}, +/* 36254 */ {(12<<2)|2,{98,51,0}}, +/* 36255 */ {(12<<2)|2,{98,51,0}}, +/* 36256 */ {(12<<2)|2,{98,52,0}}, +/* 36257 */ {(12<<2)|2,{98,52,0}}, +/* 36258 */ {(12<<2)|2,{98,52,0}}, +/* 36259 */ {(12<<2)|2,{98,52,0}}, +/* 36260 */ {(12<<2)|2,{98,52,0}}, +/* 36261 */ {(12<<2)|2,{98,52,0}}, +/* 36262 */ {(12<<2)|2,{98,52,0}}, +/* 36263 */ {(12<<2)|2,{98,52,0}}, +/* 36264 */ {(12<<2)|2,{98,52,0}}, +/* 36265 */ {(12<<2)|2,{98,52,0}}, +/* 36266 */ {(12<<2)|2,{98,52,0}}, +/* 36267 */ {(12<<2)|2,{98,52,0}}, +/* 36268 */ {(12<<2)|2,{98,52,0}}, +/* 36269 */ {(12<<2)|2,{98,52,0}}, +/* 36270 */ {(12<<2)|2,{98,52,0}}, +/* 36271 */ {(12<<2)|2,{98,52,0}}, +/* 36272 */ {(12<<2)|2,{98,53,0}}, +/* 36273 */ {(12<<2)|2,{98,53,0}}, +/* 36274 */ {(12<<2)|2,{98,53,0}}, +/* 36275 */ {(12<<2)|2,{98,53,0}}, +/* 36276 */ {(12<<2)|2,{98,53,0}}, +/* 36277 */ {(12<<2)|2,{98,53,0}}, +/* 36278 */ {(12<<2)|2,{98,53,0}}, +/* 36279 */ {(12<<2)|2,{98,53,0}}, +/* 36280 */ {(12<<2)|2,{98,53,0}}, +/* 36281 */ {(12<<2)|2,{98,53,0}}, +/* 36282 */ {(12<<2)|2,{98,53,0}}, +/* 36283 */ {(12<<2)|2,{98,53,0}}, +/* 36284 */ {(12<<2)|2,{98,53,0}}, +/* 36285 */ {(12<<2)|2,{98,53,0}}, +/* 36286 */ {(12<<2)|2,{98,53,0}}, +/* 36287 */ {(12<<2)|2,{98,53,0}}, +/* 36288 */ {(12<<2)|2,{98,54,0}}, +/* 36289 */ {(12<<2)|2,{98,54,0}}, +/* 36290 */ {(12<<2)|2,{98,54,0}}, +/* 36291 */ {(12<<2)|2,{98,54,0}}, +/* 36292 */ {(12<<2)|2,{98,54,0}}, +/* 36293 */ {(12<<2)|2,{98,54,0}}, +/* 36294 */ {(12<<2)|2,{98,54,0}}, +/* 36295 */ {(12<<2)|2,{98,54,0}}, +/* 36296 */ {(12<<2)|2,{98,54,0}}, +/* 36297 */ {(12<<2)|2,{98,54,0}}, +/* 36298 */ {(12<<2)|2,{98,54,0}}, +/* 36299 */ {(12<<2)|2,{98,54,0}}, +/* 36300 */ {(12<<2)|2,{98,54,0}}, +/* 36301 */ {(12<<2)|2,{98,54,0}}, +/* 36302 */ {(12<<2)|2,{98,54,0}}, +/* 36303 */ {(12<<2)|2,{98,54,0}}, +/* 36304 */ {(12<<2)|2,{98,55,0}}, +/* 36305 */ {(12<<2)|2,{98,55,0}}, +/* 36306 */ {(12<<2)|2,{98,55,0}}, +/* 36307 */ {(12<<2)|2,{98,55,0}}, +/* 36308 */ {(12<<2)|2,{98,55,0}}, +/* 36309 */ {(12<<2)|2,{98,55,0}}, +/* 36310 */ {(12<<2)|2,{98,55,0}}, +/* 36311 */ {(12<<2)|2,{98,55,0}}, +/* 36312 */ {(12<<2)|2,{98,55,0}}, +/* 36313 */ {(12<<2)|2,{98,55,0}}, +/* 36314 */ {(12<<2)|2,{98,55,0}}, +/* 36315 */ {(12<<2)|2,{98,55,0}}, +/* 36316 */ {(12<<2)|2,{98,55,0}}, +/* 36317 */ {(12<<2)|2,{98,55,0}}, +/* 36318 */ {(12<<2)|2,{98,55,0}}, +/* 36319 */ {(12<<2)|2,{98,55,0}}, +/* 36320 */ {(12<<2)|2,{98,56,0}}, +/* 36321 */ {(12<<2)|2,{98,56,0}}, +/* 36322 */ {(12<<2)|2,{98,56,0}}, +/* 36323 */ {(12<<2)|2,{98,56,0}}, +/* 36324 */ {(12<<2)|2,{98,56,0}}, +/* 36325 */ {(12<<2)|2,{98,56,0}}, +/* 36326 */ {(12<<2)|2,{98,56,0}}, +/* 36327 */ {(12<<2)|2,{98,56,0}}, +/* 36328 */ {(12<<2)|2,{98,56,0}}, +/* 36329 */ {(12<<2)|2,{98,56,0}}, +/* 36330 */ {(12<<2)|2,{98,56,0}}, +/* 36331 */ {(12<<2)|2,{98,56,0}}, +/* 36332 */ {(12<<2)|2,{98,56,0}}, +/* 36333 */ {(12<<2)|2,{98,56,0}}, +/* 36334 */ {(12<<2)|2,{98,56,0}}, +/* 36335 */ {(12<<2)|2,{98,56,0}}, +/* 36336 */ {(12<<2)|2,{98,57,0}}, +/* 36337 */ {(12<<2)|2,{98,57,0}}, +/* 36338 */ {(12<<2)|2,{98,57,0}}, +/* 36339 */ {(12<<2)|2,{98,57,0}}, +/* 36340 */ {(12<<2)|2,{98,57,0}}, +/* 36341 */ {(12<<2)|2,{98,57,0}}, +/* 36342 */ {(12<<2)|2,{98,57,0}}, +/* 36343 */ {(12<<2)|2,{98,57,0}}, +/* 36344 */ {(12<<2)|2,{98,57,0}}, +/* 36345 */ {(12<<2)|2,{98,57,0}}, +/* 36346 */ {(12<<2)|2,{98,57,0}}, +/* 36347 */ {(12<<2)|2,{98,57,0}}, +/* 36348 */ {(12<<2)|2,{98,57,0}}, +/* 36349 */ {(12<<2)|2,{98,57,0}}, +/* 36350 */ {(12<<2)|2,{98,57,0}}, +/* 36351 */ {(12<<2)|2,{98,57,0}}, +/* 36352 */ {(12<<2)|2,{98,61,0}}, +/* 36353 */ {(12<<2)|2,{98,61,0}}, +/* 36354 */ {(12<<2)|2,{98,61,0}}, +/* 36355 */ {(12<<2)|2,{98,61,0}}, +/* 36356 */ {(12<<2)|2,{98,61,0}}, +/* 36357 */ {(12<<2)|2,{98,61,0}}, +/* 36358 */ {(12<<2)|2,{98,61,0}}, +/* 36359 */ {(12<<2)|2,{98,61,0}}, +/* 36360 */ {(12<<2)|2,{98,61,0}}, +/* 36361 */ {(12<<2)|2,{98,61,0}}, +/* 36362 */ {(12<<2)|2,{98,61,0}}, +/* 36363 */ {(12<<2)|2,{98,61,0}}, +/* 36364 */ {(12<<2)|2,{98,61,0}}, +/* 36365 */ {(12<<2)|2,{98,61,0}}, +/* 36366 */ {(12<<2)|2,{98,61,0}}, +/* 36367 */ {(12<<2)|2,{98,61,0}}, +/* 36368 */ {(12<<2)|2,{98,65,0}}, +/* 36369 */ {(12<<2)|2,{98,65,0}}, +/* 36370 */ {(12<<2)|2,{98,65,0}}, +/* 36371 */ {(12<<2)|2,{98,65,0}}, +/* 36372 */ {(12<<2)|2,{98,65,0}}, +/* 36373 */ {(12<<2)|2,{98,65,0}}, +/* 36374 */ {(12<<2)|2,{98,65,0}}, +/* 36375 */ {(12<<2)|2,{98,65,0}}, +/* 36376 */ {(12<<2)|2,{98,65,0}}, +/* 36377 */ {(12<<2)|2,{98,65,0}}, +/* 36378 */ {(12<<2)|2,{98,65,0}}, +/* 36379 */ {(12<<2)|2,{98,65,0}}, +/* 36380 */ {(12<<2)|2,{98,65,0}}, +/* 36381 */ {(12<<2)|2,{98,65,0}}, +/* 36382 */ {(12<<2)|2,{98,65,0}}, +/* 36383 */ {(12<<2)|2,{98,65,0}}, +/* 36384 */ {(12<<2)|2,{98,95,0}}, +/* 36385 */ {(12<<2)|2,{98,95,0}}, +/* 36386 */ {(12<<2)|2,{98,95,0}}, +/* 36387 */ {(12<<2)|2,{98,95,0}}, +/* 36388 */ {(12<<2)|2,{98,95,0}}, +/* 36389 */ {(12<<2)|2,{98,95,0}}, +/* 36390 */ {(12<<2)|2,{98,95,0}}, +/* 36391 */ {(12<<2)|2,{98,95,0}}, +/* 36392 */ {(12<<2)|2,{98,95,0}}, +/* 36393 */ {(12<<2)|2,{98,95,0}}, +/* 36394 */ {(12<<2)|2,{98,95,0}}, +/* 36395 */ {(12<<2)|2,{98,95,0}}, +/* 36396 */ {(12<<2)|2,{98,95,0}}, +/* 36397 */ {(12<<2)|2,{98,95,0}}, +/* 36398 */ {(12<<2)|2,{98,95,0}}, +/* 36399 */ {(12<<2)|2,{98,95,0}}, +/* 36400 */ {(12<<2)|2,{98,98,0}}, +/* 36401 */ {(12<<2)|2,{98,98,0}}, +/* 36402 */ {(12<<2)|2,{98,98,0}}, +/* 36403 */ {(12<<2)|2,{98,98,0}}, +/* 36404 */ {(12<<2)|2,{98,98,0}}, +/* 36405 */ {(12<<2)|2,{98,98,0}}, +/* 36406 */ {(12<<2)|2,{98,98,0}}, +/* 36407 */ {(12<<2)|2,{98,98,0}}, +/* 36408 */ {(12<<2)|2,{98,98,0}}, +/* 36409 */ {(12<<2)|2,{98,98,0}}, +/* 36410 */ {(12<<2)|2,{98,98,0}}, +/* 36411 */ {(12<<2)|2,{98,98,0}}, +/* 36412 */ {(12<<2)|2,{98,98,0}}, +/* 36413 */ {(12<<2)|2,{98,98,0}}, +/* 36414 */ {(12<<2)|2,{98,98,0}}, +/* 36415 */ {(12<<2)|2,{98,98,0}}, +/* 36416 */ {(12<<2)|2,{98,100,0}}, +/* 36417 */ {(12<<2)|2,{98,100,0}}, +/* 36418 */ {(12<<2)|2,{98,100,0}}, +/* 36419 */ {(12<<2)|2,{98,100,0}}, +/* 36420 */ {(12<<2)|2,{98,100,0}}, +/* 36421 */ {(12<<2)|2,{98,100,0}}, +/* 36422 */ {(12<<2)|2,{98,100,0}}, +/* 36423 */ {(12<<2)|2,{98,100,0}}, +/* 36424 */ {(12<<2)|2,{98,100,0}}, +/* 36425 */ {(12<<2)|2,{98,100,0}}, +/* 36426 */ {(12<<2)|2,{98,100,0}}, +/* 36427 */ {(12<<2)|2,{98,100,0}}, +/* 36428 */ {(12<<2)|2,{98,100,0}}, +/* 36429 */ {(12<<2)|2,{98,100,0}}, +/* 36430 */ {(12<<2)|2,{98,100,0}}, +/* 36431 */ {(12<<2)|2,{98,100,0}}, +/* 36432 */ {(12<<2)|2,{98,102,0}}, +/* 36433 */ {(12<<2)|2,{98,102,0}}, +/* 36434 */ {(12<<2)|2,{98,102,0}}, +/* 36435 */ {(12<<2)|2,{98,102,0}}, +/* 36436 */ {(12<<2)|2,{98,102,0}}, +/* 36437 */ {(12<<2)|2,{98,102,0}}, +/* 36438 */ {(12<<2)|2,{98,102,0}}, +/* 36439 */ {(12<<2)|2,{98,102,0}}, +/* 36440 */ {(12<<2)|2,{98,102,0}}, +/* 36441 */ {(12<<2)|2,{98,102,0}}, +/* 36442 */ {(12<<2)|2,{98,102,0}}, +/* 36443 */ {(12<<2)|2,{98,102,0}}, +/* 36444 */ {(12<<2)|2,{98,102,0}}, +/* 36445 */ {(12<<2)|2,{98,102,0}}, +/* 36446 */ {(12<<2)|2,{98,102,0}}, +/* 36447 */ {(12<<2)|2,{98,102,0}}, +/* 36448 */ {(12<<2)|2,{98,103,0}}, +/* 36449 */ {(12<<2)|2,{98,103,0}}, +/* 36450 */ {(12<<2)|2,{98,103,0}}, +/* 36451 */ {(12<<2)|2,{98,103,0}}, +/* 36452 */ {(12<<2)|2,{98,103,0}}, +/* 36453 */ {(12<<2)|2,{98,103,0}}, +/* 36454 */ {(12<<2)|2,{98,103,0}}, +/* 36455 */ {(12<<2)|2,{98,103,0}}, +/* 36456 */ {(12<<2)|2,{98,103,0}}, +/* 36457 */ {(12<<2)|2,{98,103,0}}, +/* 36458 */ {(12<<2)|2,{98,103,0}}, +/* 36459 */ {(12<<2)|2,{98,103,0}}, +/* 36460 */ {(12<<2)|2,{98,103,0}}, +/* 36461 */ {(12<<2)|2,{98,103,0}}, +/* 36462 */ {(12<<2)|2,{98,103,0}}, +/* 36463 */ {(12<<2)|2,{98,103,0}}, +/* 36464 */ {(12<<2)|2,{98,104,0}}, +/* 36465 */ {(12<<2)|2,{98,104,0}}, +/* 36466 */ {(12<<2)|2,{98,104,0}}, +/* 36467 */ {(12<<2)|2,{98,104,0}}, +/* 36468 */ {(12<<2)|2,{98,104,0}}, +/* 36469 */ {(12<<2)|2,{98,104,0}}, +/* 36470 */ {(12<<2)|2,{98,104,0}}, +/* 36471 */ {(12<<2)|2,{98,104,0}}, +/* 36472 */ {(12<<2)|2,{98,104,0}}, +/* 36473 */ {(12<<2)|2,{98,104,0}}, +/* 36474 */ {(12<<2)|2,{98,104,0}}, +/* 36475 */ {(12<<2)|2,{98,104,0}}, +/* 36476 */ {(12<<2)|2,{98,104,0}}, +/* 36477 */ {(12<<2)|2,{98,104,0}}, +/* 36478 */ {(12<<2)|2,{98,104,0}}, +/* 36479 */ {(12<<2)|2,{98,104,0}}, +/* 36480 */ {(12<<2)|2,{98,108,0}}, +/* 36481 */ {(12<<2)|2,{98,108,0}}, +/* 36482 */ {(12<<2)|2,{98,108,0}}, +/* 36483 */ {(12<<2)|2,{98,108,0}}, +/* 36484 */ {(12<<2)|2,{98,108,0}}, +/* 36485 */ {(12<<2)|2,{98,108,0}}, +/* 36486 */ {(12<<2)|2,{98,108,0}}, +/* 36487 */ {(12<<2)|2,{98,108,0}}, +/* 36488 */ {(12<<2)|2,{98,108,0}}, +/* 36489 */ {(12<<2)|2,{98,108,0}}, +/* 36490 */ {(12<<2)|2,{98,108,0}}, +/* 36491 */ {(12<<2)|2,{98,108,0}}, +/* 36492 */ {(12<<2)|2,{98,108,0}}, +/* 36493 */ {(12<<2)|2,{98,108,0}}, +/* 36494 */ {(12<<2)|2,{98,108,0}}, +/* 36495 */ {(12<<2)|2,{98,108,0}}, +/* 36496 */ {(12<<2)|2,{98,109,0}}, +/* 36497 */ {(12<<2)|2,{98,109,0}}, +/* 36498 */ {(12<<2)|2,{98,109,0}}, +/* 36499 */ {(12<<2)|2,{98,109,0}}, +/* 36500 */ {(12<<2)|2,{98,109,0}}, +/* 36501 */ {(12<<2)|2,{98,109,0}}, +/* 36502 */ {(12<<2)|2,{98,109,0}}, +/* 36503 */ {(12<<2)|2,{98,109,0}}, +/* 36504 */ {(12<<2)|2,{98,109,0}}, +/* 36505 */ {(12<<2)|2,{98,109,0}}, +/* 36506 */ {(12<<2)|2,{98,109,0}}, +/* 36507 */ {(12<<2)|2,{98,109,0}}, +/* 36508 */ {(12<<2)|2,{98,109,0}}, +/* 36509 */ {(12<<2)|2,{98,109,0}}, +/* 36510 */ {(12<<2)|2,{98,109,0}}, +/* 36511 */ {(12<<2)|2,{98,109,0}}, +/* 36512 */ {(12<<2)|2,{98,110,0}}, +/* 36513 */ {(12<<2)|2,{98,110,0}}, +/* 36514 */ {(12<<2)|2,{98,110,0}}, +/* 36515 */ {(12<<2)|2,{98,110,0}}, +/* 36516 */ {(12<<2)|2,{98,110,0}}, +/* 36517 */ {(12<<2)|2,{98,110,0}}, +/* 36518 */ {(12<<2)|2,{98,110,0}}, +/* 36519 */ {(12<<2)|2,{98,110,0}}, +/* 36520 */ {(12<<2)|2,{98,110,0}}, +/* 36521 */ {(12<<2)|2,{98,110,0}}, +/* 36522 */ {(12<<2)|2,{98,110,0}}, +/* 36523 */ {(12<<2)|2,{98,110,0}}, +/* 36524 */ {(12<<2)|2,{98,110,0}}, +/* 36525 */ {(12<<2)|2,{98,110,0}}, +/* 36526 */ {(12<<2)|2,{98,110,0}}, +/* 36527 */ {(12<<2)|2,{98,110,0}}, +/* 36528 */ {(12<<2)|2,{98,112,0}}, +/* 36529 */ {(12<<2)|2,{98,112,0}}, +/* 36530 */ {(12<<2)|2,{98,112,0}}, +/* 36531 */ {(12<<2)|2,{98,112,0}}, +/* 36532 */ {(12<<2)|2,{98,112,0}}, +/* 36533 */ {(12<<2)|2,{98,112,0}}, +/* 36534 */ {(12<<2)|2,{98,112,0}}, +/* 36535 */ {(12<<2)|2,{98,112,0}}, +/* 36536 */ {(12<<2)|2,{98,112,0}}, +/* 36537 */ {(12<<2)|2,{98,112,0}}, +/* 36538 */ {(12<<2)|2,{98,112,0}}, +/* 36539 */ {(12<<2)|2,{98,112,0}}, +/* 36540 */ {(12<<2)|2,{98,112,0}}, +/* 36541 */ {(12<<2)|2,{98,112,0}}, +/* 36542 */ {(12<<2)|2,{98,112,0}}, +/* 36543 */ {(12<<2)|2,{98,112,0}}, +/* 36544 */ {(12<<2)|2,{98,114,0}}, +/* 36545 */ {(12<<2)|2,{98,114,0}}, +/* 36546 */ {(12<<2)|2,{98,114,0}}, +/* 36547 */ {(12<<2)|2,{98,114,0}}, +/* 36548 */ {(12<<2)|2,{98,114,0}}, +/* 36549 */ {(12<<2)|2,{98,114,0}}, +/* 36550 */ {(12<<2)|2,{98,114,0}}, +/* 36551 */ {(12<<2)|2,{98,114,0}}, +/* 36552 */ {(12<<2)|2,{98,114,0}}, +/* 36553 */ {(12<<2)|2,{98,114,0}}, +/* 36554 */ {(12<<2)|2,{98,114,0}}, +/* 36555 */ {(12<<2)|2,{98,114,0}}, +/* 36556 */ {(12<<2)|2,{98,114,0}}, +/* 36557 */ {(12<<2)|2,{98,114,0}}, +/* 36558 */ {(12<<2)|2,{98,114,0}}, +/* 36559 */ {(12<<2)|2,{98,114,0}}, +/* 36560 */ {(12<<2)|2,{98,117,0}}, +/* 36561 */ {(12<<2)|2,{98,117,0}}, +/* 36562 */ {(12<<2)|2,{98,117,0}}, +/* 36563 */ {(12<<2)|2,{98,117,0}}, +/* 36564 */ {(12<<2)|2,{98,117,0}}, +/* 36565 */ {(12<<2)|2,{98,117,0}}, +/* 36566 */ {(12<<2)|2,{98,117,0}}, +/* 36567 */ {(12<<2)|2,{98,117,0}}, +/* 36568 */ {(12<<2)|2,{98,117,0}}, +/* 36569 */ {(12<<2)|2,{98,117,0}}, +/* 36570 */ {(12<<2)|2,{98,117,0}}, +/* 36571 */ {(12<<2)|2,{98,117,0}}, +/* 36572 */ {(12<<2)|2,{98,117,0}}, +/* 36573 */ {(12<<2)|2,{98,117,0}}, +/* 36574 */ {(12<<2)|2,{98,117,0}}, +/* 36575 */ {(12<<2)|2,{98,117,0}}, +/* 36576 */ {(13<<2)|2,{98,58,0}}, +/* 36577 */ {(13<<2)|2,{98,58,0}}, +/* 36578 */ {(13<<2)|2,{98,58,0}}, +/* 36579 */ {(13<<2)|2,{98,58,0}}, +/* 36580 */ {(13<<2)|2,{98,58,0}}, +/* 36581 */ {(13<<2)|2,{98,58,0}}, +/* 36582 */ {(13<<2)|2,{98,58,0}}, +/* 36583 */ {(13<<2)|2,{98,58,0}}, +/* 36584 */ {(13<<2)|2,{98,66,0}}, +/* 36585 */ {(13<<2)|2,{98,66,0}}, +/* 36586 */ {(13<<2)|2,{98,66,0}}, +/* 36587 */ {(13<<2)|2,{98,66,0}}, +/* 36588 */ {(13<<2)|2,{98,66,0}}, +/* 36589 */ {(13<<2)|2,{98,66,0}}, +/* 36590 */ {(13<<2)|2,{98,66,0}}, +/* 36591 */ {(13<<2)|2,{98,66,0}}, +/* 36592 */ {(13<<2)|2,{98,67,0}}, +/* 36593 */ {(13<<2)|2,{98,67,0}}, +/* 36594 */ {(13<<2)|2,{98,67,0}}, +/* 36595 */ {(13<<2)|2,{98,67,0}}, +/* 36596 */ {(13<<2)|2,{98,67,0}}, +/* 36597 */ {(13<<2)|2,{98,67,0}}, +/* 36598 */ {(13<<2)|2,{98,67,0}}, +/* 36599 */ {(13<<2)|2,{98,67,0}}, +/* 36600 */ {(13<<2)|2,{98,68,0}}, +/* 36601 */ {(13<<2)|2,{98,68,0}}, +/* 36602 */ {(13<<2)|2,{98,68,0}}, +/* 36603 */ {(13<<2)|2,{98,68,0}}, +/* 36604 */ {(13<<2)|2,{98,68,0}}, +/* 36605 */ {(13<<2)|2,{98,68,0}}, +/* 36606 */ {(13<<2)|2,{98,68,0}}, +/* 36607 */ {(13<<2)|2,{98,68,0}}, +/* 36608 */ {(13<<2)|2,{98,69,0}}, +/* 36609 */ {(13<<2)|2,{98,69,0}}, +/* 36610 */ {(13<<2)|2,{98,69,0}}, +/* 36611 */ {(13<<2)|2,{98,69,0}}, +/* 36612 */ {(13<<2)|2,{98,69,0}}, +/* 36613 */ {(13<<2)|2,{98,69,0}}, +/* 36614 */ {(13<<2)|2,{98,69,0}}, +/* 36615 */ {(13<<2)|2,{98,69,0}}, +/* 36616 */ {(13<<2)|2,{98,70,0}}, +/* 36617 */ {(13<<2)|2,{98,70,0}}, +/* 36618 */ {(13<<2)|2,{98,70,0}}, +/* 36619 */ {(13<<2)|2,{98,70,0}}, +/* 36620 */ {(13<<2)|2,{98,70,0}}, +/* 36621 */ {(13<<2)|2,{98,70,0}}, +/* 36622 */ {(13<<2)|2,{98,70,0}}, +/* 36623 */ {(13<<2)|2,{98,70,0}}, +/* 36624 */ {(13<<2)|2,{98,71,0}}, +/* 36625 */ {(13<<2)|2,{98,71,0}}, +/* 36626 */ {(13<<2)|2,{98,71,0}}, +/* 36627 */ {(13<<2)|2,{98,71,0}}, +/* 36628 */ {(13<<2)|2,{98,71,0}}, +/* 36629 */ {(13<<2)|2,{98,71,0}}, +/* 36630 */ {(13<<2)|2,{98,71,0}}, +/* 36631 */ {(13<<2)|2,{98,71,0}}, +/* 36632 */ {(13<<2)|2,{98,72,0}}, +/* 36633 */ {(13<<2)|2,{98,72,0}}, +/* 36634 */ {(13<<2)|2,{98,72,0}}, +/* 36635 */ {(13<<2)|2,{98,72,0}}, +/* 36636 */ {(13<<2)|2,{98,72,0}}, +/* 36637 */ {(13<<2)|2,{98,72,0}}, +/* 36638 */ {(13<<2)|2,{98,72,0}}, +/* 36639 */ {(13<<2)|2,{98,72,0}}, +/* 36640 */ {(13<<2)|2,{98,73,0}}, +/* 36641 */ {(13<<2)|2,{98,73,0}}, +/* 36642 */ {(13<<2)|2,{98,73,0}}, +/* 36643 */ {(13<<2)|2,{98,73,0}}, +/* 36644 */ {(13<<2)|2,{98,73,0}}, +/* 36645 */ {(13<<2)|2,{98,73,0}}, +/* 36646 */ {(13<<2)|2,{98,73,0}}, +/* 36647 */ {(13<<2)|2,{98,73,0}}, +/* 36648 */ {(13<<2)|2,{98,74,0}}, +/* 36649 */ {(13<<2)|2,{98,74,0}}, +/* 36650 */ {(13<<2)|2,{98,74,0}}, +/* 36651 */ {(13<<2)|2,{98,74,0}}, +/* 36652 */ {(13<<2)|2,{98,74,0}}, +/* 36653 */ {(13<<2)|2,{98,74,0}}, +/* 36654 */ {(13<<2)|2,{98,74,0}}, +/* 36655 */ {(13<<2)|2,{98,74,0}}, +/* 36656 */ {(13<<2)|2,{98,75,0}}, +/* 36657 */ {(13<<2)|2,{98,75,0}}, +/* 36658 */ {(13<<2)|2,{98,75,0}}, +/* 36659 */ {(13<<2)|2,{98,75,0}}, +/* 36660 */ {(13<<2)|2,{98,75,0}}, +/* 36661 */ {(13<<2)|2,{98,75,0}}, +/* 36662 */ {(13<<2)|2,{98,75,0}}, +/* 36663 */ {(13<<2)|2,{98,75,0}}, +/* 36664 */ {(13<<2)|2,{98,76,0}}, +/* 36665 */ {(13<<2)|2,{98,76,0}}, +/* 36666 */ {(13<<2)|2,{98,76,0}}, +/* 36667 */ {(13<<2)|2,{98,76,0}}, +/* 36668 */ {(13<<2)|2,{98,76,0}}, +/* 36669 */ {(13<<2)|2,{98,76,0}}, +/* 36670 */ {(13<<2)|2,{98,76,0}}, +/* 36671 */ {(13<<2)|2,{98,76,0}}, +/* 36672 */ {(13<<2)|2,{98,77,0}}, +/* 36673 */ {(13<<2)|2,{98,77,0}}, +/* 36674 */ {(13<<2)|2,{98,77,0}}, +/* 36675 */ {(13<<2)|2,{98,77,0}}, +/* 36676 */ {(13<<2)|2,{98,77,0}}, +/* 36677 */ {(13<<2)|2,{98,77,0}}, +/* 36678 */ {(13<<2)|2,{98,77,0}}, +/* 36679 */ {(13<<2)|2,{98,77,0}}, +/* 36680 */ {(13<<2)|2,{98,78,0}}, +/* 36681 */ {(13<<2)|2,{98,78,0}}, +/* 36682 */ {(13<<2)|2,{98,78,0}}, +/* 36683 */ {(13<<2)|2,{98,78,0}}, +/* 36684 */ {(13<<2)|2,{98,78,0}}, +/* 36685 */ {(13<<2)|2,{98,78,0}}, +/* 36686 */ {(13<<2)|2,{98,78,0}}, +/* 36687 */ {(13<<2)|2,{98,78,0}}, +/* 36688 */ {(13<<2)|2,{98,79,0}}, +/* 36689 */ {(13<<2)|2,{98,79,0}}, +/* 36690 */ {(13<<2)|2,{98,79,0}}, +/* 36691 */ {(13<<2)|2,{98,79,0}}, +/* 36692 */ {(13<<2)|2,{98,79,0}}, +/* 36693 */ {(13<<2)|2,{98,79,0}}, +/* 36694 */ {(13<<2)|2,{98,79,0}}, +/* 36695 */ {(13<<2)|2,{98,79,0}}, +/* 36696 */ {(13<<2)|2,{98,80,0}}, +/* 36697 */ {(13<<2)|2,{98,80,0}}, +/* 36698 */ {(13<<2)|2,{98,80,0}}, +/* 36699 */ {(13<<2)|2,{98,80,0}}, +/* 36700 */ {(13<<2)|2,{98,80,0}}, +/* 36701 */ {(13<<2)|2,{98,80,0}}, +/* 36702 */ {(13<<2)|2,{98,80,0}}, +/* 36703 */ {(13<<2)|2,{98,80,0}}, +/* 36704 */ {(13<<2)|2,{98,81,0}}, +/* 36705 */ {(13<<2)|2,{98,81,0}}, +/* 36706 */ {(13<<2)|2,{98,81,0}}, +/* 36707 */ {(13<<2)|2,{98,81,0}}, +/* 36708 */ {(13<<2)|2,{98,81,0}}, +/* 36709 */ {(13<<2)|2,{98,81,0}}, +/* 36710 */ {(13<<2)|2,{98,81,0}}, +/* 36711 */ {(13<<2)|2,{98,81,0}}, +/* 36712 */ {(13<<2)|2,{98,82,0}}, +/* 36713 */ {(13<<2)|2,{98,82,0}}, +/* 36714 */ {(13<<2)|2,{98,82,0}}, +/* 36715 */ {(13<<2)|2,{98,82,0}}, +/* 36716 */ {(13<<2)|2,{98,82,0}}, +/* 36717 */ {(13<<2)|2,{98,82,0}}, +/* 36718 */ {(13<<2)|2,{98,82,0}}, +/* 36719 */ {(13<<2)|2,{98,82,0}}, +/* 36720 */ {(13<<2)|2,{98,83,0}}, +/* 36721 */ {(13<<2)|2,{98,83,0}}, +/* 36722 */ {(13<<2)|2,{98,83,0}}, +/* 36723 */ {(13<<2)|2,{98,83,0}}, +/* 36724 */ {(13<<2)|2,{98,83,0}}, +/* 36725 */ {(13<<2)|2,{98,83,0}}, +/* 36726 */ {(13<<2)|2,{98,83,0}}, +/* 36727 */ {(13<<2)|2,{98,83,0}}, +/* 36728 */ {(13<<2)|2,{98,84,0}}, +/* 36729 */ {(13<<2)|2,{98,84,0}}, +/* 36730 */ {(13<<2)|2,{98,84,0}}, +/* 36731 */ {(13<<2)|2,{98,84,0}}, +/* 36732 */ {(13<<2)|2,{98,84,0}}, +/* 36733 */ {(13<<2)|2,{98,84,0}}, +/* 36734 */ {(13<<2)|2,{98,84,0}}, +/* 36735 */ {(13<<2)|2,{98,84,0}}, +/* 36736 */ {(13<<2)|2,{98,85,0}}, +/* 36737 */ {(13<<2)|2,{98,85,0}}, +/* 36738 */ {(13<<2)|2,{98,85,0}}, +/* 36739 */ {(13<<2)|2,{98,85,0}}, +/* 36740 */ {(13<<2)|2,{98,85,0}}, +/* 36741 */ {(13<<2)|2,{98,85,0}}, +/* 36742 */ {(13<<2)|2,{98,85,0}}, +/* 36743 */ {(13<<2)|2,{98,85,0}}, +/* 36744 */ {(13<<2)|2,{98,86,0}}, +/* 36745 */ {(13<<2)|2,{98,86,0}}, +/* 36746 */ {(13<<2)|2,{98,86,0}}, +/* 36747 */ {(13<<2)|2,{98,86,0}}, +/* 36748 */ {(13<<2)|2,{98,86,0}}, +/* 36749 */ {(13<<2)|2,{98,86,0}}, +/* 36750 */ {(13<<2)|2,{98,86,0}}, +/* 36751 */ {(13<<2)|2,{98,86,0}}, +/* 36752 */ {(13<<2)|2,{98,87,0}}, +/* 36753 */ {(13<<2)|2,{98,87,0}}, +/* 36754 */ {(13<<2)|2,{98,87,0}}, +/* 36755 */ {(13<<2)|2,{98,87,0}}, +/* 36756 */ {(13<<2)|2,{98,87,0}}, +/* 36757 */ {(13<<2)|2,{98,87,0}}, +/* 36758 */ {(13<<2)|2,{98,87,0}}, +/* 36759 */ {(13<<2)|2,{98,87,0}}, +/* 36760 */ {(13<<2)|2,{98,89,0}}, +/* 36761 */ {(13<<2)|2,{98,89,0}}, +/* 36762 */ {(13<<2)|2,{98,89,0}}, +/* 36763 */ {(13<<2)|2,{98,89,0}}, +/* 36764 */ {(13<<2)|2,{98,89,0}}, +/* 36765 */ {(13<<2)|2,{98,89,0}}, +/* 36766 */ {(13<<2)|2,{98,89,0}}, +/* 36767 */ {(13<<2)|2,{98,89,0}}, +/* 36768 */ {(13<<2)|2,{98,106,0}}, +/* 36769 */ {(13<<2)|2,{98,106,0}}, +/* 36770 */ {(13<<2)|2,{98,106,0}}, +/* 36771 */ {(13<<2)|2,{98,106,0}}, +/* 36772 */ {(13<<2)|2,{98,106,0}}, +/* 36773 */ {(13<<2)|2,{98,106,0}}, +/* 36774 */ {(13<<2)|2,{98,106,0}}, +/* 36775 */ {(13<<2)|2,{98,106,0}}, +/* 36776 */ {(13<<2)|2,{98,107,0}}, +/* 36777 */ {(13<<2)|2,{98,107,0}}, +/* 36778 */ {(13<<2)|2,{98,107,0}}, +/* 36779 */ {(13<<2)|2,{98,107,0}}, +/* 36780 */ {(13<<2)|2,{98,107,0}}, +/* 36781 */ {(13<<2)|2,{98,107,0}}, +/* 36782 */ {(13<<2)|2,{98,107,0}}, +/* 36783 */ {(13<<2)|2,{98,107,0}}, +/* 36784 */ {(13<<2)|2,{98,113,0}}, +/* 36785 */ {(13<<2)|2,{98,113,0}}, +/* 36786 */ {(13<<2)|2,{98,113,0}}, +/* 36787 */ {(13<<2)|2,{98,113,0}}, +/* 36788 */ {(13<<2)|2,{98,113,0}}, +/* 36789 */ {(13<<2)|2,{98,113,0}}, +/* 36790 */ {(13<<2)|2,{98,113,0}}, +/* 36791 */ {(13<<2)|2,{98,113,0}}, +/* 36792 */ {(13<<2)|2,{98,118,0}}, +/* 36793 */ {(13<<2)|2,{98,118,0}}, +/* 36794 */ {(13<<2)|2,{98,118,0}}, +/* 36795 */ {(13<<2)|2,{98,118,0}}, +/* 36796 */ {(13<<2)|2,{98,118,0}}, +/* 36797 */ {(13<<2)|2,{98,118,0}}, +/* 36798 */ {(13<<2)|2,{98,118,0}}, +/* 36799 */ {(13<<2)|2,{98,118,0}}, +/* 36800 */ {(13<<2)|2,{98,119,0}}, +/* 36801 */ {(13<<2)|2,{98,119,0}}, +/* 36802 */ {(13<<2)|2,{98,119,0}}, +/* 36803 */ {(13<<2)|2,{98,119,0}}, +/* 36804 */ {(13<<2)|2,{98,119,0}}, +/* 36805 */ {(13<<2)|2,{98,119,0}}, +/* 36806 */ {(13<<2)|2,{98,119,0}}, +/* 36807 */ {(13<<2)|2,{98,119,0}}, +/* 36808 */ {(13<<2)|2,{98,120,0}}, +/* 36809 */ {(13<<2)|2,{98,120,0}}, +/* 36810 */ {(13<<2)|2,{98,120,0}}, +/* 36811 */ {(13<<2)|2,{98,120,0}}, +/* 36812 */ {(13<<2)|2,{98,120,0}}, +/* 36813 */ {(13<<2)|2,{98,120,0}}, +/* 36814 */ {(13<<2)|2,{98,120,0}}, +/* 36815 */ {(13<<2)|2,{98,120,0}}, +/* 36816 */ {(13<<2)|2,{98,121,0}}, +/* 36817 */ {(13<<2)|2,{98,121,0}}, +/* 36818 */ {(13<<2)|2,{98,121,0}}, +/* 36819 */ {(13<<2)|2,{98,121,0}}, +/* 36820 */ {(13<<2)|2,{98,121,0}}, +/* 36821 */ {(13<<2)|2,{98,121,0}}, +/* 36822 */ {(13<<2)|2,{98,121,0}}, +/* 36823 */ {(13<<2)|2,{98,121,0}}, +/* 36824 */ {(13<<2)|2,{98,122,0}}, +/* 36825 */ {(13<<2)|2,{98,122,0}}, +/* 36826 */ {(13<<2)|2,{98,122,0}}, +/* 36827 */ {(13<<2)|2,{98,122,0}}, +/* 36828 */ {(13<<2)|2,{98,122,0}}, +/* 36829 */ {(13<<2)|2,{98,122,0}}, +/* 36830 */ {(13<<2)|2,{98,122,0}}, +/* 36831 */ {(13<<2)|2,{98,122,0}}, +/* 36832 */ {(14<<2)|2,{98,38,0}}, +/* 36833 */ {(14<<2)|2,{98,38,0}}, +/* 36834 */ {(14<<2)|2,{98,38,0}}, +/* 36835 */ {(14<<2)|2,{98,38,0}}, +/* 36836 */ {(14<<2)|2,{98,42,0}}, +/* 36837 */ {(14<<2)|2,{98,42,0}}, +/* 36838 */ {(14<<2)|2,{98,42,0}}, +/* 36839 */ {(14<<2)|2,{98,42,0}}, +/* 36840 */ {(14<<2)|2,{98,44,0}}, +/* 36841 */ {(14<<2)|2,{98,44,0}}, +/* 36842 */ {(14<<2)|2,{98,44,0}}, +/* 36843 */ {(14<<2)|2,{98,44,0}}, +/* 36844 */ {(14<<2)|2,{98,59,0}}, +/* 36845 */ {(14<<2)|2,{98,59,0}}, +/* 36846 */ {(14<<2)|2,{98,59,0}}, +/* 36847 */ {(14<<2)|2,{98,59,0}}, +/* 36848 */ {(14<<2)|2,{98,88,0}}, +/* 36849 */ {(14<<2)|2,{98,88,0}}, +/* 36850 */ {(14<<2)|2,{98,88,0}}, +/* 36851 */ {(14<<2)|2,{98,88,0}}, +/* 36852 */ {(14<<2)|2,{98,90,0}}, +/* 36853 */ {(14<<2)|2,{98,90,0}}, +/* 36854 */ {(14<<2)|2,{98,90,0}}, +/* 36855 */ {(14<<2)|2,{98,90,0}}, +/* 36856 */ {(16<<2)|2,{98,33,0}}, +/* 36857 */ {(16<<2)|2,{98,34,0}}, +/* 36858 */ {(16<<2)|2,{98,40,0}}, +/* 36859 */ {(16<<2)|2,{98,41,0}}, +/* 36860 */ {(16<<2)|2,{98,63,0}}, +/* 36861 */ {(6<<2)|1,{98,0,0}}, +/* 36862 */ {(6<<2)|1,{98,0,0}}, +/* 36863 */ {(6<<2)|1,{98,0,0}}, +/* 36864 */ {(16<<2)|3,{100,48,48}}, +/* 36865 */ {(16<<2)|3,{100,48,49}}, +/* 36866 */ {(16<<2)|3,{100,48,50}}, +/* 36867 */ {(16<<2)|3,{100,48,97}}, +/* 36868 */ {(16<<2)|3,{100,48,99}}, +/* 36869 */ {(16<<2)|3,{100,48,101}}, +/* 36870 */ {(16<<2)|3,{100,48,105}}, +/* 36871 */ {(16<<2)|3,{100,48,111}}, +/* 36872 */ {(16<<2)|3,{100,48,115}}, +/* 36873 */ {(16<<2)|3,{100,48,116}}, +/* 36874 */ {(11<<2)|2,{100,48,0}}, +/* 36875 */ {(11<<2)|2,{100,48,0}}, +/* 36876 */ {(11<<2)|2,{100,48,0}}, +/* 36877 */ {(11<<2)|2,{100,48,0}}, +/* 36878 */ {(11<<2)|2,{100,48,0}}, +/* 36879 */ {(11<<2)|2,{100,48,0}}, +/* 36880 */ {(11<<2)|2,{100,48,0}}, +/* 36881 */ {(11<<2)|2,{100,48,0}}, +/* 36882 */ {(11<<2)|2,{100,48,0}}, +/* 36883 */ {(11<<2)|2,{100,48,0}}, +/* 36884 */ {(11<<2)|2,{100,48,0}}, +/* 36885 */ {(11<<2)|2,{100,48,0}}, +/* 36886 */ {(11<<2)|2,{100,48,0}}, +/* 36887 */ {(11<<2)|2,{100,48,0}}, +/* 36888 */ {(11<<2)|2,{100,48,0}}, +/* 36889 */ {(11<<2)|2,{100,48,0}}, +/* 36890 */ {(11<<2)|2,{100,48,0}}, +/* 36891 */ {(11<<2)|2,{100,48,0}}, +/* 36892 */ {(11<<2)|2,{100,48,0}}, +/* 36893 */ {(11<<2)|2,{100,48,0}}, +/* 36894 */ {(11<<2)|2,{100,48,0}}, +/* 36895 */ {(11<<2)|2,{100,48,0}}, +/* 36896 */ {(16<<2)|3,{100,49,48}}, +/* 36897 */ {(16<<2)|3,{100,49,49}}, +/* 36898 */ {(16<<2)|3,{100,49,50}}, +/* 36899 */ {(16<<2)|3,{100,49,97}}, +/* 36900 */ {(16<<2)|3,{100,49,99}}, +/* 36901 */ {(16<<2)|3,{100,49,101}}, +/* 36902 */ {(16<<2)|3,{100,49,105}}, +/* 36903 */ {(16<<2)|3,{100,49,111}}, +/* 36904 */ {(16<<2)|3,{100,49,115}}, +/* 36905 */ {(16<<2)|3,{100,49,116}}, +/* 36906 */ {(11<<2)|2,{100,49,0}}, +/* 36907 */ {(11<<2)|2,{100,49,0}}, +/* 36908 */ {(11<<2)|2,{100,49,0}}, +/* 36909 */ {(11<<2)|2,{100,49,0}}, +/* 36910 */ {(11<<2)|2,{100,49,0}}, +/* 36911 */ {(11<<2)|2,{100,49,0}}, +/* 36912 */ {(11<<2)|2,{100,49,0}}, +/* 36913 */ {(11<<2)|2,{100,49,0}}, +/* 36914 */ {(11<<2)|2,{100,49,0}}, +/* 36915 */ {(11<<2)|2,{100,49,0}}, +/* 36916 */ {(11<<2)|2,{100,49,0}}, +/* 36917 */ {(11<<2)|2,{100,49,0}}, +/* 36918 */ {(11<<2)|2,{100,49,0}}, +/* 36919 */ {(11<<2)|2,{100,49,0}}, +/* 36920 */ {(11<<2)|2,{100,49,0}}, +/* 36921 */ {(11<<2)|2,{100,49,0}}, +/* 36922 */ {(11<<2)|2,{100,49,0}}, +/* 36923 */ {(11<<2)|2,{100,49,0}}, +/* 36924 */ {(11<<2)|2,{100,49,0}}, +/* 36925 */ {(11<<2)|2,{100,49,0}}, +/* 36926 */ {(11<<2)|2,{100,49,0}}, +/* 36927 */ {(11<<2)|2,{100,49,0}}, +/* 36928 */ {(16<<2)|3,{100,50,48}}, +/* 36929 */ {(16<<2)|3,{100,50,49}}, +/* 36930 */ {(16<<2)|3,{100,50,50}}, +/* 36931 */ {(16<<2)|3,{100,50,97}}, +/* 36932 */ {(16<<2)|3,{100,50,99}}, +/* 36933 */ {(16<<2)|3,{100,50,101}}, +/* 36934 */ {(16<<2)|3,{100,50,105}}, +/* 36935 */ {(16<<2)|3,{100,50,111}}, +/* 36936 */ {(16<<2)|3,{100,50,115}}, +/* 36937 */ {(16<<2)|3,{100,50,116}}, +/* 36938 */ {(11<<2)|2,{100,50,0}}, +/* 36939 */ {(11<<2)|2,{100,50,0}}, +/* 36940 */ {(11<<2)|2,{100,50,0}}, +/* 36941 */ {(11<<2)|2,{100,50,0}}, +/* 36942 */ {(11<<2)|2,{100,50,0}}, +/* 36943 */ {(11<<2)|2,{100,50,0}}, +/* 36944 */ {(11<<2)|2,{100,50,0}}, +/* 36945 */ {(11<<2)|2,{100,50,0}}, +/* 36946 */ {(11<<2)|2,{100,50,0}}, +/* 36947 */ {(11<<2)|2,{100,50,0}}, +/* 36948 */ {(11<<2)|2,{100,50,0}}, +/* 36949 */ {(11<<2)|2,{100,50,0}}, +/* 36950 */ {(11<<2)|2,{100,50,0}}, +/* 36951 */ {(11<<2)|2,{100,50,0}}, +/* 36952 */ {(11<<2)|2,{100,50,0}}, +/* 36953 */ {(11<<2)|2,{100,50,0}}, +/* 36954 */ {(11<<2)|2,{100,50,0}}, +/* 36955 */ {(11<<2)|2,{100,50,0}}, +/* 36956 */ {(11<<2)|2,{100,50,0}}, +/* 36957 */ {(11<<2)|2,{100,50,0}}, +/* 36958 */ {(11<<2)|2,{100,50,0}}, +/* 36959 */ {(11<<2)|2,{100,50,0}}, +/* 36960 */ {(16<<2)|3,{100,97,48}}, +/* 36961 */ {(16<<2)|3,{100,97,49}}, +/* 36962 */ {(16<<2)|3,{100,97,50}}, +/* 36963 */ {(16<<2)|3,{100,97,97}}, +/* 36964 */ {(16<<2)|3,{100,97,99}}, +/* 36965 */ {(16<<2)|3,{100,97,101}}, +/* 36966 */ {(16<<2)|3,{100,97,105}}, +/* 36967 */ {(16<<2)|3,{100,97,111}}, +/* 36968 */ {(16<<2)|3,{100,97,115}}, +/* 36969 */ {(16<<2)|3,{100,97,116}}, +/* 36970 */ {(11<<2)|2,{100,97,0}}, +/* 36971 */ {(11<<2)|2,{100,97,0}}, +/* 36972 */ {(11<<2)|2,{100,97,0}}, +/* 36973 */ {(11<<2)|2,{100,97,0}}, +/* 36974 */ {(11<<2)|2,{100,97,0}}, +/* 36975 */ {(11<<2)|2,{100,97,0}}, +/* 36976 */ {(11<<2)|2,{100,97,0}}, +/* 36977 */ {(11<<2)|2,{100,97,0}}, +/* 36978 */ {(11<<2)|2,{100,97,0}}, +/* 36979 */ {(11<<2)|2,{100,97,0}}, +/* 36980 */ {(11<<2)|2,{100,97,0}}, +/* 36981 */ {(11<<2)|2,{100,97,0}}, +/* 36982 */ {(11<<2)|2,{100,97,0}}, +/* 36983 */ {(11<<2)|2,{100,97,0}}, +/* 36984 */ {(11<<2)|2,{100,97,0}}, +/* 36985 */ {(11<<2)|2,{100,97,0}}, +/* 36986 */ {(11<<2)|2,{100,97,0}}, +/* 36987 */ {(11<<2)|2,{100,97,0}}, +/* 36988 */ {(11<<2)|2,{100,97,0}}, +/* 36989 */ {(11<<2)|2,{100,97,0}}, +/* 36990 */ {(11<<2)|2,{100,97,0}}, +/* 36991 */ {(11<<2)|2,{100,97,0}}, +/* 36992 */ {(16<<2)|3,{100,99,48}}, +/* 36993 */ {(16<<2)|3,{100,99,49}}, +/* 36994 */ {(16<<2)|3,{100,99,50}}, +/* 36995 */ {(16<<2)|3,{100,99,97}}, +/* 36996 */ {(16<<2)|3,{100,99,99}}, +/* 36997 */ {(16<<2)|3,{100,99,101}}, +/* 36998 */ {(16<<2)|3,{100,99,105}}, +/* 36999 */ {(16<<2)|3,{100,99,111}}, +/* 37000 */ {(16<<2)|3,{100,99,115}}, +/* 37001 */ {(16<<2)|3,{100,99,116}}, +/* 37002 */ {(11<<2)|2,{100,99,0}}, +/* 37003 */ {(11<<2)|2,{100,99,0}}, +/* 37004 */ {(11<<2)|2,{100,99,0}}, +/* 37005 */ {(11<<2)|2,{100,99,0}}, +/* 37006 */ {(11<<2)|2,{100,99,0}}, +/* 37007 */ {(11<<2)|2,{100,99,0}}, +/* 37008 */ {(11<<2)|2,{100,99,0}}, +/* 37009 */ {(11<<2)|2,{100,99,0}}, +/* 37010 */ {(11<<2)|2,{100,99,0}}, +/* 37011 */ {(11<<2)|2,{100,99,0}}, +/* 37012 */ {(11<<2)|2,{100,99,0}}, +/* 37013 */ {(11<<2)|2,{100,99,0}}, +/* 37014 */ {(11<<2)|2,{100,99,0}}, +/* 37015 */ {(11<<2)|2,{100,99,0}}, +/* 37016 */ {(11<<2)|2,{100,99,0}}, +/* 37017 */ {(11<<2)|2,{100,99,0}}, +/* 37018 */ {(11<<2)|2,{100,99,0}}, +/* 37019 */ {(11<<2)|2,{100,99,0}}, +/* 37020 */ {(11<<2)|2,{100,99,0}}, +/* 37021 */ {(11<<2)|2,{100,99,0}}, +/* 37022 */ {(11<<2)|2,{100,99,0}}, +/* 37023 */ {(11<<2)|2,{100,99,0}}, +/* 37024 */ {(16<<2)|3,{100,101,48}}, +/* 37025 */ {(16<<2)|3,{100,101,49}}, +/* 37026 */ {(16<<2)|3,{100,101,50}}, +/* 37027 */ {(16<<2)|3,{100,101,97}}, +/* 37028 */ {(16<<2)|3,{100,101,99}}, +/* 37029 */ {(16<<2)|3,{100,101,101}}, +/* 37030 */ {(16<<2)|3,{100,101,105}}, +/* 37031 */ {(16<<2)|3,{100,101,111}}, +/* 37032 */ {(16<<2)|3,{100,101,115}}, +/* 37033 */ {(16<<2)|3,{100,101,116}}, +/* 37034 */ {(11<<2)|2,{100,101,0}}, +/* 37035 */ {(11<<2)|2,{100,101,0}}, +/* 37036 */ {(11<<2)|2,{100,101,0}}, +/* 37037 */ {(11<<2)|2,{100,101,0}}, +/* 37038 */ {(11<<2)|2,{100,101,0}}, +/* 37039 */ {(11<<2)|2,{100,101,0}}, +/* 37040 */ {(11<<2)|2,{100,101,0}}, +/* 37041 */ {(11<<2)|2,{100,101,0}}, +/* 37042 */ {(11<<2)|2,{100,101,0}}, +/* 37043 */ {(11<<2)|2,{100,101,0}}, +/* 37044 */ {(11<<2)|2,{100,101,0}}, +/* 37045 */ {(11<<2)|2,{100,101,0}}, +/* 37046 */ {(11<<2)|2,{100,101,0}}, +/* 37047 */ {(11<<2)|2,{100,101,0}}, +/* 37048 */ {(11<<2)|2,{100,101,0}}, +/* 37049 */ {(11<<2)|2,{100,101,0}}, +/* 37050 */ {(11<<2)|2,{100,101,0}}, +/* 37051 */ {(11<<2)|2,{100,101,0}}, +/* 37052 */ {(11<<2)|2,{100,101,0}}, +/* 37053 */ {(11<<2)|2,{100,101,0}}, +/* 37054 */ {(11<<2)|2,{100,101,0}}, +/* 37055 */ {(11<<2)|2,{100,101,0}}, +/* 37056 */ {(16<<2)|3,{100,105,48}}, +/* 37057 */ {(16<<2)|3,{100,105,49}}, +/* 37058 */ {(16<<2)|3,{100,105,50}}, +/* 37059 */ {(16<<2)|3,{100,105,97}}, +/* 37060 */ {(16<<2)|3,{100,105,99}}, +/* 37061 */ {(16<<2)|3,{100,105,101}}, +/* 37062 */ {(16<<2)|3,{100,105,105}}, +/* 37063 */ {(16<<2)|3,{100,105,111}}, +/* 37064 */ {(16<<2)|3,{100,105,115}}, +/* 37065 */ {(16<<2)|3,{100,105,116}}, +/* 37066 */ {(11<<2)|2,{100,105,0}}, +/* 37067 */ {(11<<2)|2,{100,105,0}}, +/* 37068 */ {(11<<2)|2,{100,105,0}}, +/* 37069 */ {(11<<2)|2,{100,105,0}}, +/* 37070 */ {(11<<2)|2,{100,105,0}}, +/* 37071 */ {(11<<2)|2,{100,105,0}}, +/* 37072 */ {(11<<2)|2,{100,105,0}}, +/* 37073 */ {(11<<2)|2,{100,105,0}}, +/* 37074 */ {(11<<2)|2,{100,105,0}}, +/* 37075 */ {(11<<2)|2,{100,105,0}}, +/* 37076 */ {(11<<2)|2,{100,105,0}}, +/* 37077 */ {(11<<2)|2,{100,105,0}}, +/* 37078 */ {(11<<2)|2,{100,105,0}}, +/* 37079 */ {(11<<2)|2,{100,105,0}}, +/* 37080 */ {(11<<2)|2,{100,105,0}}, +/* 37081 */ {(11<<2)|2,{100,105,0}}, +/* 37082 */ {(11<<2)|2,{100,105,0}}, +/* 37083 */ {(11<<2)|2,{100,105,0}}, +/* 37084 */ {(11<<2)|2,{100,105,0}}, +/* 37085 */ {(11<<2)|2,{100,105,0}}, +/* 37086 */ {(11<<2)|2,{100,105,0}}, +/* 37087 */ {(11<<2)|2,{100,105,0}}, +/* 37088 */ {(16<<2)|3,{100,111,48}}, +/* 37089 */ {(16<<2)|3,{100,111,49}}, +/* 37090 */ {(16<<2)|3,{100,111,50}}, +/* 37091 */ {(16<<2)|3,{100,111,97}}, +/* 37092 */ {(16<<2)|3,{100,111,99}}, +/* 37093 */ {(16<<2)|3,{100,111,101}}, +/* 37094 */ {(16<<2)|3,{100,111,105}}, +/* 37095 */ {(16<<2)|3,{100,111,111}}, +/* 37096 */ {(16<<2)|3,{100,111,115}}, +/* 37097 */ {(16<<2)|3,{100,111,116}}, +/* 37098 */ {(11<<2)|2,{100,111,0}}, +/* 37099 */ {(11<<2)|2,{100,111,0}}, +/* 37100 */ {(11<<2)|2,{100,111,0}}, +/* 37101 */ {(11<<2)|2,{100,111,0}}, +/* 37102 */ {(11<<2)|2,{100,111,0}}, +/* 37103 */ {(11<<2)|2,{100,111,0}}, +/* 37104 */ {(11<<2)|2,{100,111,0}}, +/* 37105 */ {(11<<2)|2,{100,111,0}}, +/* 37106 */ {(11<<2)|2,{100,111,0}}, +/* 37107 */ {(11<<2)|2,{100,111,0}}, +/* 37108 */ {(11<<2)|2,{100,111,0}}, +/* 37109 */ {(11<<2)|2,{100,111,0}}, +/* 37110 */ {(11<<2)|2,{100,111,0}}, +/* 37111 */ {(11<<2)|2,{100,111,0}}, +/* 37112 */ {(11<<2)|2,{100,111,0}}, +/* 37113 */ {(11<<2)|2,{100,111,0}}, +/* 37114 */ {(11<<2)|2,{100,111,0}}, +/* 37115 */ {(11<<2)|2,{100,111,0}}, +/* 37116 */ {(11<<2)|2,{100,111,0}}, +/* 37117 */ {(11<<2)|2,{100,111,0}}, +/* 37118 */ {(11<<2)|2,{100,111,0}}, +/* 37119 */ {(11<<2)|2,{100,111,0}}, +/* 37120 */ {(16<<2)|3,{100,115,48}}, +/* 37121 */ {(16<<2)|3,{100,115,49}}, +/* 37122 */ {(16<<2)|3,{100,115,50}}, +/* 37123 */ {(16<<2)|3,{100,115,97}}, +/* 37124 */ {(16<<2)|3,{100,115,99}}, +/* 37125 */ {(16<<2)|3,{100,115,101}}, +/* 37126 */ {(16<<2)|3,{100,115,105}}, +/* 37127 */ {(16<<2)|3,{100,115,111}}, +/* 37128 */ {(16<<2)|3,{100,115,115}}, +/* 37129 */ {(16<<2)|3,{100,115,116}}, +/* 37130 */ {(11<<2)|2,{100,115,0}}, +/* 37131 */ {(11<<2)|2,{100,115,0}}, +/* 37132 */ {(11<<2)|2,{100,115,0}}, +/* 37133 */ {(11<<2)|2,{100,115,0}}, +/* 37134 */ {(11<<2)|2,{100,115,0}}, +/* 37135 */ {(11<<2)|2,{100,115,0}}, +/* 37136 */ {(11<<2)|2,{100,115,0}}, +/* 37137 */ {(11<<2)|2,{100,115,0}}, +/* 37138 */ {(11<<2)|2,{100,115,0}}, +/* 37139 */ {(11<<2)|2,{100,115,0}}, +/* 37140 */ {(11<<2)|2,{100,115,0}}, +/* 37141 */ {(11<<2)|2,{100,115,0}}, +/* 37142 */ {(11<<2)|2,{100,115,0}}, +/* 37143 */ {(11<<2)|2,{100,115,0}}, +/* 37144 */ {(11<<2)|2,{100,115,0}}, +/* 37145 */ {(11<<2)|2,{100,115,0}}, +/* 37146 */ {(11<<2)|2,{100,115,0}}, +/* 37147 */ {(11<<2)|2,{100,115,0}}, +/* 37148 */ {(11<<2)|2,{100,115,0}}, +/* 37149 */ {(11<<2)|2,{100,115,0}}, +/* 37150 */ {(11<<2)|2,{100,115,0}}, +/* 37151 */ {(11<<2)|2,{100,115,0}}, +/* 37152 */ {(16<<2)|3,{100,116,48}}, +/* 37153 */ {(16<<2)|3,{100,116,49}}, +/* 37154 */ {(16<<2)|3,{100,116,50}}, +/* 37155 */ {(16<<2)|3,{100,116,97}}, +/* 37156 */ {(16<<2)|3,{100,116,99}}, +/* 37157 */ {(16<<2)|3,{100,116,101}}, +/* 37158 */ {(16<<2)|3,{100,116,105}}, +/* 37159 */ {(16<<2)|3,{100,116,111}}, +/* 37160 */ {(16<<2)|3,{100,116,115}}, +/* 37161 */ {(16<<2)|3,{100,116,116}}, +/* 37162 */ {(11<<2)|2,{100,116,0}}, +/* 37163 */ {(11<<2)|2,{100,116,0}}, +/* 37164 */ {(11<<2)|2,{100,116,0}}, +/* 37165 */ {(11<<2)|2,{100,116,0}}, +/* 37166 */ {(11<<2)|2,{100,116,0}}, +/* 37167 */ {(11<<2)|2,{100,116,0}}, +/* 37168 */ {(11<<2)|2,{100,116,0}}, +/* 37169 */ {(11<<2)|2,{100,116,0}}, +/* 37170 */ {(11<<2)|2,{100,116,0}}, +/* 37171 */ {(11<<2)|2,{100,116,0}}, +/* 37172 */ {(11<<2)|2,{100,116,0}}, +/* 37173 */ {(11<<2)|2,{100,116,0}}, +/* 37174 */ {(11<<2)|2,{100,116,0}}, +/* 37175 */ {(11<<2)|2,{100,116,0}}, +/* 37176 */ {(11<<2)|2,{100,116,0}}, +/* 37177 */ {(11<<2)|2,{100,116,0}}, +/* 37178 */ {(11<<2)|2,{100,116,0}}, +/* 37179 */ {(11<<2)|2,{100,116,0}}, +/* 37180 */ {(11<<2)|2,{100,116,0}}, +/* 37181 */ {(11<<2)|2,{100,116,0}}, +/* 37182 */ {(11<<2)|2,{100,116,0}}, +/* 37183 */ {(11<<2)|2,{100,116,0}}, +/* 37184 */ {(12<<2)|2,{100,32,0}}, +/* 37185 */ {(12<<2)|2,{100,32,0}}, +/* 37186 */ {(12<<2)|2,{100,32,0}}, +/* 37187 */ {(12<<2)|2,{100,32,0}}, +/* 37188 */ {(12<<2)|2,{100,32,0}}, +/* 37189 */ {(12<<2)|2,{100,32,0}}, +/* 37190 */ {(12<<2)|2,{100,32,0}}, +/* 37191 */ {(12<<2)|2,{100,32,0}}, +/* 37192 */ {(12<<2)|2,{100,32,0}}, +/* 37193 */ {(12<<2)|2,{100,32,0}}, +/* 37194 */ {(12<<2)|2,{100,32,0}}, +/* 37195 */ {(12<<2)|2,{100,32,0}}, +/* 37196 */ {(12<<2)|2,{100,32,0}}, +/* 37197 */ {(12<<2)|2,{100,32,0}}, +/* 37198 */ {(12<<2)|2,{100,32,0}}, +/* 37199 */ {(12<<2)|2,{100,32,0}}, +/* 37200 */ {(12<<2)|2,{100,37,0}}, +/* 37201 */ {(12<<2)|2,{100,37,0}}, +/* 37202 */ {(12<<2)|2,{100,37,0}}, +/* 37203 */ {(12<<2)|2,{100,37,0}}, +/* 37204 */ {(12<<2)|2,{100,37,0}}, +/* 37205 */ {(12<<2)|2,{100,37,0}}, +/* 37206 */ {(12<<2)|2,{100,37,0}}, +/* 37207 */ {(12<<2)|2,{100,37,0}}, +/* 37208 */ {(12<<2)|2,{100,37,0}}, +/* 37209 */ {(12<<2)|2,{100,37,0}}, +/* 37210 */ {(12<<2)|2,{100,37,0}}, +/* 37211 */ {(12<<2)|2,{100,37,0}}, +/* 37212 */ {(12<<2)|2,{100,37,0}}, +/* 37213 */ {(12<<2)|2,{100,37,0}}, +/* 37214 */ {(12<<2)|2,{100,37,0}}, +/* 37215 */ {(12<<2)|2,{100,37,0}}, +/* 37216 */ {(12<<2)|2,{100,45,0}}, +/* 37217 */ {(12<<2)|2,{100,45,0}}, +/* 37218 */ {(12<<2)|2,{100,45,0}}, +/* 37219 */ {(12<<2)|2,{100,45,0}}, +/* 37220 */ {(12<<2)|2,{100,45,0}}, +/* 37221 */ {(12<<2)|2,{100,45,0}}, +/* 37222 */ {(12<<2)|2,{100,45,0}}, +/* 37223 */ {(12<<2)|2,{100,45,0}}, +/* 37224 */ {(12<<2)|2,{100,45,0}}, +/* 37225 */ {(12<<2)|2,{100,45,0}}, +/* 37226 */ {(12<<2)|2,{100,45,0}}, +/* 37227 */ {(12<<2)|2,{100,45,0}}, +/* 37228 */ {(12<<2)|2,{100,45,0}}, +/* 37229 */ {(12<<2)|2,{100,45,0}}, +/* 37230 */ {(12<<2)|2,{100,45,0}}, +/* 37231 */ {(12<<2)|2,{100,45,0}}, +/* 37232 */ {(12<<2)|2,{100,46,0}}, +/* 37233 */ {(12<<2)|2,{100,46,0}}, +/* 37234 */ {(12<<2)|2,{100,46,0}}, +/* 37235 */ {(12<<2)|2,{100,46,0}}, +/* 37236 */ {(12<<2)|2,{100,46,0}}, +/* 37237 */ {(12<<2)|2,{100,46,0}}, +/* 37238 */ {(12<<2)|2,{100,46,0}}, +/* 37239 */ {(12<<2)|2,{100,46,0}}, +/* 37240 */ {(12<<2)|2,{100,46,0}}, +/* 37241 */ {(12<<2)|2,{100,46,0}}, +/* 37242 */ {(12<<2)|2,{100,46,0}}, +/* 37243 */ {(12<<2)|2,{100,46,0}}, +/* 37244 */ {(12<<2)|2,{100,46,0}}, +/* 37245 */ {(12<<2)|2,{100,46,0}}, +/* 37246 */ {(12<<2)|2,{100,46,0}}, +/* 37247 */ {(12<<2)|2,{100,46,0}}, +/* 37248 */ {(12<<2)|2,{100,47,0}}, +/* 37249 */ {(12<<2)|2,{100,47,0}}, +/* 37250 */ {(12<<2)|2,{100,47,0}}, +/* 37251 */ {(12<<2)|2,{100,47,0}}, +/* 37252 */ {(12<<2)|2,{100,47,0}}, +/* 37253 */ {(12<<2)|2,{100,47,0}}, +/* 37254 */ {(12<<2)|2,{100,47,0}}, +/* 37255 */ {(12<<2)|2,{100,47,0}}, +/* 37256 */ {(12<<2)|2,{100,47,0}}, +/* 37257 */ {(12<<2)|2,{100,47,0}}, +/* 37258 */ {(12<<2)|2,{100,47,0}}, +/* 37259 */ {(12<<2)|2,{100,47,0}}, +/* 37260 */ {(12<<2)|2,{100,47,0}}, +/* 37261 */ {(12<<2)|2,{100,47,0}}, +/* 37262 */ {(12<<2)|2,{100,47,0}}, +/* 37263 */ {(12<<2)|2,{100,47,0}}, +/* 37264 */ {(12<<2)|2,{100,51,0}}, +/* 37265 */ {(12<<2)|2,{100,51,0}}, +/* 37266 */ {(12<<2)|2,{100,51,0}}, +/* 37267 */ {(12<<2)|2,{100,51,0}}, +/* 37268 */ {(12<<2)|2,{100,51,0}}, +/* 37269 */ {(12<<2)|2,{100,51,0}}, +/* 37270 */ {(12<<2)|2,{100,51,0}}, +/* 37271 */ {(12<<2)|2,{100,51,0}}, +/* 37272 */ {(12<<2)|2,{100,51,0}}, +/* 37273 */ {(12<<2)|2,{100,51,0}}, +/* 37274 */ {(12<<2)|2,{100,51,0}}, +/* 37275 */ {(12<<2)|2,{100,51,0}}, +/* 37276 */ {(12<<2)|2,{100,51,0}}, +/* 37277 */ {(12<<2)|2,{100,51,0}}, +/* 37278 */ {(12<<2)|2,{100,51,0}}, +/* 37279 */ {(12<<2)|2,{100,51,0}}, +/* 37280 */ {(12<<2)|2,{100,52,0}}, +/* 37281 */ {(12<<2)|2,{100,52,0}}, +/* 37282 */ {(12<<2)|2,{100,52,0}}, +/* 37283 */ {(12<<2)|2,{100,52,0}}, +/* 37284 */ {(12<<2)|2,{100,52,0}}, +/* 37285 */ {(12<<2)|2,{100,52,0}}, +/* 37286 */ {(12<<2)|2,{100,52,0}}, +/* 37287 */ {(12<<2)|2,{100,52,0}}, +/* 37288 */ {(12<<2)|2,{100,52,0}}, +/* 37289 */ {(12<<2)|2,{100,52,0}}, +/* 37290 */ {(12<<2)|2,{100,52,0}}, +/* 37291 */ {(12<<2)|2,{100,52,0}}, +/* 37292 */ {(12<<2)|2,{100,52,0}}, +/* 37293 */ {(12<<2)|2,{100,52,0}}, +/* 37294 */ {(12<<2)|2,{100,52,0}}, +/* 37295 */ {(12<<2)|2,{100,52,0}}, +/* 37296 */ {(12<<2)|2,{100,53,0}}, +/* 37297 */ {(12<<2)|2,{100,53,0}}, +/* 37298 */ {(12<<2)|2,{100,53,0}}, +/* 37299 */ {(12<<2)|2,{100,53,0}}, +/* 37300 */ {(12<<2)|2,{100,53,0}}, +/* 37301 */ {(12<<2)|2,{100,53,0}}, +/* 37302 */ {(12<<2)|2,{100,53,0}}, +/* 37303 */ {(12<<2)|2,{100,53,0}}, +/* 37304 */ {(12<<2)|2,{100,53,0}}, +/* 37305 */ {(12<<2)|2,{100,53,0}}, +/* 37306 */ {(12<<2)|2,{100,53,0}}, +/* 37307 */ {(12<<2)|2,{100,53,0}}, +/* 37308 */ {(12<<2)|2,{100,53,0}}, +/* 37309 */ {(12<<2)|2,{100,53,0}}, +/* 37310 */ {(12<<2)|2,{100,53,0}}, +/* 37311 */ {(12<<2)|2,{100,53,0}}, +/* 37312 */ {(12<<2)|2,{100,54,0}}, +/* 37313 */ {(12<<2)|2,{100,54,0}}, +/* 37314 */ {(12<<2)|2,{100,54,0}}, +/* 37315 */ {(12<<2)|2,{100,54,0}}, +/* 37316 */ {(12<<2)|2,{100,54,0}}, +/* 37317 */ {(12<<2)|2,{100,54,0}}, +/* 37318 */ {(12<<2)|2,{100,54,0}}, +/* 37319 */ {(12<<2)|2,{100,54,0}}, +/* 37320 */ {(12<<2)|2,{100,54,0}}, +/* 37321 */ {(12<<2)|2,{100,54,0}}, +/* 37322 */ {(12<<2)|2,{100,54,0}}, +/* 37323 */ {(12<<2)|2,{100,54,0}}, +/* 37324 */ {(12<<2)|2,{100,54,0}}, +/* 37325 */ {(12<<2)|2,{100,54,0}}, +/* 37326 */ {(12<<2)|2,{100,54,0}}, +/* 37327 */ {(12<<2)|2,{100,54,0}}, +/* 37328 */ {(12<<2)|2,{100,55,0}}, +/* 37329 */ {(12<<2)|2,{100,55,0}}, +/* 37330 */ {(12<<2)|2,{100,55,0}}, +/* 37331 */ {(12<<2)|2,{100,55,0}}, +/* 37332 */ {(12<<2)|2,{100,55,0}}, +/* 37333 */ {(12<<2)|2,{100,55,0}}, +/* 37334 */ {(12<<2)|2,{100,55,0}}, +/* 37335 */ {(12<<2)|2,{100,55,0}}, +/* 37336 */ {(12<<2)|2,{100,55,0}}, +/* 37337 */ {(12<<2)|2,{100,55,0}}, +/* 37338 */ {(12<<2)|2,{100,55,0}}, +/* 37339 */ {(12<<2)|2,{100,55,0}}, +/* 37340 */ {(12<<2)|2,{100,55,0}}, +/* 37341 */ {(12<<2)|2,{100,55,0}}, +/* 37342 */ {(12<<2)|2,{100,55,0}}, +/* 37343 */ {(12<<2)|2,{100,55,0}}, +/* 37344 */ {(12<<2)|2,{100,56,0}}, +/* 37345 */ {(12<<2)|2,{100,56,0}}, +/* 37346 */ {(12<<2)|2,{100,56,0}}, +/* 37347 */ {(12<<2)|2,{100,56,0}}, +/* 37348 */ {(12<<2)|2,{100,56,0}}, +/* 37349 */ {(12<<2)|2,{100,56,0}}, +/* 37350 */ {(12<<2)|2,{100,56,0}}, +/* 37351 */ {(12<<2)|2,{100,56,0}}, +/* 37352 */ {(12<<2)|2,{100,56,0}}, +/* 37353 */ {(12<<2)|2,{100,56,0}}, +/* 37354 */ {(12<<2)|2,{100,56,0}}, +/* 37355 */ {(12<<2)|2,{100,56,0}}, +/* 37356 */ {(12<<2)|2,{100,56,0}}, +/* 37357 */ {(12<<2)|2,{100,56,0}}, +/* 37358 */ {(12<<2)|2,{100,56,0}}, +/* 37359 */ {(12<<2)|2,{100,56,0}}, +/* 37360 */ {(12<<2)|2,{100,57,0}}, +/* 37361 */ {(12<<2)|2,{100,57,0}}, +/* 37362 */ {(12<<2)|2,{100,57,0}}, +/* 37363 */ {(12<<2)|2,{100,57,0}}, +/* 37364 */ {(12<<2)|2,{100,57,0}}, +/* 37365 */ {(12<<2)|2,{100,57,0}}, +/* 37366 */ {(12<<2)|2,{100,57,0}}, +/* 37367 */ {(12<<2)|2,{100,57,0}}, +/* 37368 */ {(12<<2)|2,{100,57,0}}, +/* 37369 */ {(12<<2)|2,{100,57,0}}, +/* 37370 */ {(12<<2)|2,{100,57,0}}, +/* 37371 */ {(12<<2)|2,{100,57,0}}, +/* 37372 */ {(12<<2)|2,{100,57,0}}, +/* 37373 */ {(12<<2)|2,{100,57,0}}, +/* 37374 */ {(12<<2)|2,{100,57,0}}, +/* 37375 */ {(12<<2)|2,{100,57,0}}, +/* 37376 */ {(12<<2)|2,{100,61,0}}, +/* 37377 */ {(12<<2)|2,{100,61,0}}, +/* 37378 */ {(12<<2)|2,{100,61,0}}, +/* 37379 */ {(12<<2)|2,{100,61,0}}, +/* 37380 */ {(12<<2)|2,{100,61,0}}, +/* 37381 */ {(12<<2)|2,{100,61,0}}, +/* 37382 */ {(12<<2)|2,{100,61,0}}, +/* 37383 */ {(12<<2)|2,{100,61,0}}, +/* 37384 */ {(12<<2)|2,{100,61,0}}, +/* 37385 */ {(12<<2)|2,{100,61,0}}, +/* 37386 */ {(12<<2)|2,{100,61,0}}, +/* 37387 */ {(12<<2)|2,{100,61,0}}, +/* 37388 */ {(12<<2)|2,{100,61,0}}, +/* 37389 */ {(12<<2)|2,{100,61,0}}, +/* 37390 */ {(12<<2)|2,{100,61,0}}, +/* 37391 */ {(12<<2)|2,{100,61,0}}, +/* 37392 */ {(12<<2)|2,{100,65,0}}, +/* 37393 */ {(12<<2)|2,{100,65,0}}, +/* 37394 */ {(12<<2)|2,{100,65,0}}, +/* 37395 */ {(12<<2)|2,{100,65,0}}, +/* 37396 */ {(12<<2)|2,{100,65,0}}, +/* 37397 */ {(12<<2)|2,{100,65,0}}, +/* 37398 */ {(12<<2)|2,{100,65,0}}, +/* 37399 */ {(12<<2)|2,{100,65,0}}, +/* 37400 */ {(12<<2)|2,{100,65,0}}, +/* 37401 */ {(12<<2)|2,{100,65,0}}, +/* 37402 */ {(12<<2)|2,{100,65,0}}, +/* 37403 */ {(12<<2)|2,{100,65,0}}, +/* 37404 */ {(12<<2)|2,{100,65,0}}, +/* 37405 */ {(12<<2)|2,{100,65,0}}, +/* 37406 */ {(12<<2)|2,{100,65,0}}, +/* 37407 */ {(12<<2)|2,{100,65,0}}, +/* 37408 */ {(12<<2)|2,{100,95,0}}, +/* 37409 */ {(12<<2)|2,{100,95,0}}, +/* 37410 */ {(12<<2)|2,{100,95,0}}, +/* 37411 */ {(12<<2)|2,{100,95,0}}, +/* 37412 */ {(12<<2)|2,{100,95,0}}, +/* 37413 */ {(12<<2)|2,{100,95,0}}, +/* 37414 */ {(12<<2)|2,{100,95,0}}, +/* 37415 */ {(12<<2)|2,{100,95,0}}, +/* 37416 */ {(12<<2)|2,{100,95,0}}, +/* 37417 */ {(12<<2)|2,{100,95,0}}, +/* 37418 */ {(12<<2)|2,{100,95,0}}, +/* 37419 */ {(12<<2)|2,{100,95,0}}, +/* 37420 */ {(12<<2)|2,{100,95,0}}, +/* 37421 */ {(12<<2)|2,{100,95,0}}, +/* 37422 */ {(12<<2)|2,{100,95,0}}, +/* 37423 */ {(12<<2)|2,{100,95,0}}, +/* 37424 */ {(12<<2)|2,{100,98,0}}, +/* 37425 */ {(12<<2)|2,{100,98,0}}, +/* 37426 */ {(12<<2)|2,{100,98,0}}, +/* 37427 */ {(12<<2)|2,{100,98,0}}, +/* 37428 */ {(12<<2)|2,{100,98,0}}, +/* 37429 */ {(12<<2)|2,{100,98,0}}, +/* 37430 */ {(12<<2)|2,{100,98,0}}, +/* 37431 */ {(12<<2)|2,{100,98,0}}, +/* 37432 */ {(12<<2)|2,{100,98,0}}, +/* 37433 */ {(12<<2)|2,{100,98,0}}, +/* 37434 */ {(12<<2)|2,{100,98,0}}, +/* 37435 */ {(12<<2)|2,{100,98,0}}, +/* 37436 */ {(12<<2)|2,{100,98,0}}, +/* 37437 */ {(12<<2)|2,{100,98,0}}, +/* 37438 */ {(12<<2)|2,{100,98,0}}, +/* 37439 */ {(12<<2)|2,{100,98,0}}, +/* 37440 */ {(12<<2)|2,{100,100,0}}, +/* 37441 */ {(12<<2)|2,{100,100,0}}, +/* 37442 */ {(12<<2)|2,{100,100,0}}, +/* 37443 */ {(12<<2)|2,{100,100,0}}, +/* 37444 */ {(12<<2)|2,{100,100,0}}, +/* 37445 */ {(12<<2)|2,{100,100,0}}, +/* 37446 */ {(12<<2)|2,{100,100,0}}, +/* 37447 */ {(12<<2)|2,{100,100,0}}, +/* 37448 */ {(12<<2)|2,{100,100,0}}, +/* 37449 */ {(12<<2)|2,{100,100,0}}, +/* 37450 */ {(12<<2)|2,{100,100,0}}, +/* 37451 */ {(12<<2)|2,{100,100,0}}, +/* 37452 */ {(12<<2)|2,{100,100,0}}, +/* 37453 */ {(12<<2)|2,{100,100,0}}, +/* 37454 */ {(12<<2)|2,{100,100,0}}, +/* 37455 */ {(12<<2)|2,{100,100,0}}, +/* 37456 */ {(12<<2)|2,{100,102,0}}, +/* 37457 */ {(12<<2)|2,{100,102,0}}, +/* 37458 */ {(12<<2)|2,{100,102,0}}, +/* 37459 */ {(12<<2)|2,{100,102,0}}, +/* 37460 */ {(12<<2)|2,{100,102,0}}, +/* 37461 */ {(12<<2)|2,{100,102,0}}, +/* 37462 */ {(12<<2)|2,{100,102,0}}, +/* 37463 */ {(12<<2)|2,{100,102,0}}, +/* 37464 */ {(12<<2)|2,{100,102,0}}, +/* 37465 */ {(12<<2)|2,{100,102,0}}, +/* 37466 */ {(12<<2)|2,{100,102,0}}, +/* 37467 */ {(12<<2)|2,{100,102,0}}, +/* 37468 */ {(12<<2)|2,{100,102,0}}, +/* 37469 */ {(12<<2)|2,{100,102,0}}, +/* 37470 */ {(12<<2)|2,{100,102,0}}, +/* 37471 */ {(12<<2)|2,{100,102,0}}, +/* 37472 */ {(12<<2)|2,{100,103,0}}, +/* 37473 */ {(12<<2)|2,{100,103,0}}, +/* 37474 */ {(12<<2)|2,{100,103,0}}, +/* 37475 */ {(12<<2)|2,{100,103,0}}, +/* 37476 */ {(12<<2)|2,{100,103,0}}, +/* 37477 */ {(12<<2)|2,{100,103,0}}, +/* 37478 */ {(12<<2)|2,{100,103,0}}, +/* 37479 */ {(12<<2)|2,{100,103,0}}, +/* 37480 */ {(12<<2)|2,{100,103,0}}, +/* 37481 */ {(12<<2)|2,{100,103,0}}, +/* 37482 */ {(12<<2)|2,{100,103,0}}, +/* 37483 */ {(12<<2)|2,{100,103,0}}, +/* 37484 */ {(12<<2)|2,{100,103,0}}, +/* 37485 */ {(12<<2)|2,{100,103,0}}, +/* 37486 */ {(12<<2)|2,{100,103,0}}, +/* 37487 */ {(12<<2)|2,{100,103,0}}, +/* 37488 */ {(12<<2)|2,{100,104,0}}, +/* 37489 */ {(12<<2)|2,{100,104,0}}, +/* 37490 */ {(12<<2)|2,{100,104,0}}, +/* 37491 */ {(12<<2)|2,{100,104,0}}, +/* 37492 */ {(12<<2)|2,{100,104,0}}, +/* 37493 */ {(12<<2)|2,{100,104,0}}, +/* 37494 */ {(12<<2)|2,{100,104,0}}, +/* 37495 */ {(12<<2)|2,{100,104,0}}, +/* 37496 */ {(12<<2)|2,{100,104,0}}, +/* 37497 */ {(12<<2)|2,{100,104,0}}, +/* 37498 */ {(12<<2)|2,{100,104,0}}, +/* 37499 */ {(12<<2)|2,{100,104,0}}, +/* 37500 */ {(12<<2)|2,{100,104,0}}, +/* 37501 */ {(12<<2)|2,{100,104,0}}, +/* 37502 */ {(12<<2)|2,{100,104,0}}, +/* 37503 */ {(12<<2)|2,{100,104,0}}, +/* 37504 */ {(12<<2)|2,{100,108,0}}, +/* 37505 */ {(12<<2)|2,{100,108,0}}, +/* 37506 */ {(12<<2)|2,{100,108,0}}, +/* 37507 */ {(12<<2)|2,{100,108,0}}, +/* 37508 */ {(12<<2)|2,{100,108,0}}, +/* 37509 */ {(12<<2)|2,{100,108,0}}, +/* 37510 */ {(12<<2)|2,{100,108,0}}, +/* 37511 */ {(12<<2)|2,{100,108,0}}, +/* 37512 */ {(12<<2)|2,{100,108,0}}, +/* 37513 */ {(12<<2)|2,{100,108,0}}, +/* 37514 */ {(12<<2)|2,{100,108,0}}, +/* 37515 */ {(12<<2)|2,{100,108,0}}, +/* 37516 */ {(12<<2)|2,{100,108,0}}, +/* 37517 */ {(12<<2)|2,{100,108,0}}, +/* 37518 */ {(12<<2)|2,{100,108,0}}, +/* 37519 */ {(12<<2)|2,{100,108,0}}, +/* 37520 */ {(12<<2)|2,{100,109,0}}, +/* 37521 */ {(12<<2)|2,{100,109,0}}, +/* 37522 */ {(12<<2)|2,{100,109,0}}, +/* 37523 */ {(12<<2)|2,{100,109,0}}, +/* 37524 */ {(12<<2)|2,{100,109,0}}, +/* 37525 */ {(12<<2)|2,{100,109,0}}, +/* 37526 */ {(12<<2)|2,{100,109,0}}, +/* 37527 */ {(12<<2)|2,{100,109,0}}, +/* 37528 */ {(12<<2)|2,{100,109,0}}, +/* 37529 */ {(12<<2)|2,{100,109,0}}, +/* 37530 */ {(12<<2)|2,{100,109,0}}, +/* 37531 */ {(12<<2)|2,{100,109,0}}, +/* 37532 */ {(12<<2)|2,{100,109,0}}, +/* 37533 */ {(12<<2)|2,{100,109,0}}, +/* 37534 */ {(12<<2)|2,{100,109,0}}, +/* 37535 */ {(12<<2)|2,{100,109,0}}, +/* 37536 */ {(12<<2)|2,{100,110,0}}, +/* 37537 */ {(12<<2)|2,{100,110,0}}, +/* 37538 */ {(12<<2)|2,{100,110,0}}, +/* 37539 */ {(12<<2)|2,{100,110,0}}, +/* 37540 */ {(12<<2)|2,{100,110,0}}, +/* 37541 */ {(12<<2)|2,{100,110,0}}, +/* 37542 */ {(12<<2)|2,{100,110,0}}, +/* 37543 */ {(12<<2)|2,{100,110,0}}, +/* 37544 */ {(12<<2)|2,{100,110,0}}, +/* 37545 */ {(12<<2)|2,{100,110,0}}, +/* 37546 */ {(12<<2)|2,{100,110,0}}, +/* 37547 */ {(12<<2)|2,{100,110,0}}, +/* 37548 */ {(12<<2)|2,{100,110,0}}, +/* 37549 */ {(12<<2)|2,{100,110,0}}, +/* 37550 */ {(12<<2)|2,{100,110,0}}, +/* 37551 */ {(12<<2)|2,{100,110,0}}, +/* 37552 */ {(12<<2)|2,{100,112,0}}, +/* 37553 */ {(12<<2)|2,{100,112,0}}, +/* 37554 */ {(12<<2)|2,{100,112,0}}, +/* 37555 */ {(12<<2)|2,{100,112,0}}, +/* 37556 */ {(12<<2)|2,{100,112,0}}, +/* 37557 */ {(12<<2)|2,{100,112,0}}, +/* 37558 */ {(12<<2)|2,{100,112,0}}, +/* 37559 */ {(12<<2)|2,{100,112,0}}, +/* 37560 */ {(12<<2)|2,{100,112,0}}, +/* 37561 */ {(12<<2)|2,{100,112,0}}, +/* 37562 */ {(12<<2)|2,{100,112,0}}, +/* 37563 */ {(12<<2)|2,{100,112,0}}, +/* 37564 */ {(12<<2)|2,{100,112,0}}, +/* 37565 */ {(12<<2)|2,{100,112,0}}, +/* 37566 */ {(12<<2)|2,{100,112,0}}, +/* 37567 */ {(12<<2)|2,{100,112,0}}, +/* 37568 */ {(12<<2)|2,{100,114,0}}, +/* 37569 */ {(12<<2)|2,{100,114,0}}, +/* 37570 */ {(12<<2)|2,{100,114,0}}, +/* 37571 */ {(12<<2)|2,{100,114,0}}, +/* 37572 */ {(12<<2)|2,{100,114,0}}, +/* 37573 */ {(12<<2)|2,{100,114,0}}, +/* 37574 */ {(12<<2)|2,{100,114,0}}, +/* 37575 */ {(12<<2)|2,{100,114,0}}, +/* 37576 */ {(12<<2)|2,{100,114,0}}, +/* 37577 */ {(12<<2)|2,{100,114,0}}, +/* 37578 */ {(12<<2)|2,{100,114,0}}, +/* 37579 */ {(12<<2)|2,{100,114,0}}, +/* 37580 */ {(12<<2)|2,{100,114,0}}, +/* 37581 */ {(12<<2)|2,{100,114,0}}, +/* 37582 */ {(12<<2)|2,{100,114,0}}, +/* 37583 */ {(12<<2)|2,{100,114,0}}, +/* 37584 */ {(12<<2)|2,{100,117,0}}, +/* 37585 */ {(12<<2)|2,{100,117,0}}, +/* 37586 */ {(12<<2)|2,{100,117,0}}, +/* 37587 */ {(12<<2)|2,{100,117,0}}, +/* 37588 */ {(12<<2)|2,{100,117,0}}, +/* 37589 */ {(12<<2)|2,{100,117,0}}, +/* 37590 */ {(12<<2)|2,{100,117,0}}, +/* 37591 */ {(12<<2)|2,{100,117,0}}, +/* 37592 */ {(12<<2)|2,{100,117,0}}, +/* 37593 */ {(12<<2)|2,{100,117,0}}, +/* 37594 */ {(12<<2)|2,{100,117,0}}, +/* 37595 */ {(12<<2)|2,{100,117,0}}, +/* 37596 */ {(12<<2)|2,{100,117,0}}, +/* 37597 */ {(12<<2)|2,{100,117,0}}, +/* 37598 */ {(12<<2)|2,{100,117,0}}, +/* 37599 */ {(12<<2)|2,{100,117,0}}, +/* 37600 */ {(13<<2)|2,{100,58,0}}, +/* 37601 */ {(13<<2)|2,{100,58,0}}, +/* 37602 */ {(13<<2)|2,{100,58,0}}, +/* 37603 */ {(13<<2)|2,{100,58,0}}, +/* 37604 */ {(13<<2)|2,{100,58,0}}, +/* 37605 */ {(13<<2)|2,{100,58,0}}, +/* 37606 */ {(13<<2)|2,{100,58,0}}, +/* 37607 */ {(13<<2)|2,{100,58,0}}, +/* 37608 */ {(13<<2)|2,{100,66,0}}, +/* 37609 */ {(13<<2)|2,{100,66,0}}, +/* 37610 */ {(13<<2)|2,{100,66,0}}, +/* 37611 */ {(13<<2)|2,{100,66,0}}, +/* 37612 */ {(13<<2)|2,{100,66,0}}, +/* 37613 */ {(13<<2)|2,{100,66,0}}, +/* 37614 */ {(13<<2)|2,{100,66,0}}, +/* 37615 */ {(13<<2)|2,{100,66,0}}, +/* 37616 */ {(13<<2)|2,{100,67,0}}, +/* 37617 */ {(13<<2)|2,{100,67,0}}, +/* 37618 */ {(13<<2)|2,{100,67,0}}, +/* 37619 */ {(13<<2)|2,{100,67,0}}, +/* 37620 */ {(13<<2)|2,{100,67,0}}, +/* 37621 */ {(13<<2)|2,{100,67,0}}, +/* 37622 */ {(13<<2)|2,{100,67,0}}, +/* 37623 */ {(13<<2)|2,{100,67,0}}, +/* 37624 */ {(13<<2)|2,{100,68,0}}, +/* 37625 */ {(13<<2)|2,{100,68,0}}, +/* 37626 */ {(13<<2)|2,{100,68,0}}, +/* 37627 */ {(13<<2)|2,{100,68,0}}, +/* 37628 */ {(13<<2)|2,{100,68,0}}, +/* 37629 */ {(13<<2)|2,{100,68,0}}, +/* 37630 */ {(13<<2)|2,{100,68,0}}, +/* 37631 */ {(13<<2)|2,{100,68,0}}, +/* 37632 */ {(13<<2)|2,{100,69,0}}, +/* 37633 */ {(13<<2)|2,{100,69,0}}, +/* 37634 */ {(13<<2)|2,{100,69,0}}, +/* 37635 */ {(13<<2)|2,{100,69,0}}, +/* 37636 */ {(13<<2)|2,{100,69,0}}, +/* 37637 */ {(13<<2)|2,{100,69,0}}, +/* 37638 */ {(13<<2)|2,{100,69,0}}, +/* 37639 */ {(13<<2)|2,{100,69,0}}, +/* 37640 */ {(13<<2)|2,{100,70,0}}, +/* 37641 */ {(13<<2)|2,{100,70,0}}, +/* 37642 */ {(13<<2)|2,{100,70,0}}, +/* 37643 */ {(13<<2)|2,{100,70,0}}, +/* 37644 */ {(13<<2)|2,{100,70,0}}, +/* 37645 */ {(13<<2)|2,{100,70,0}}, +/* 37646 */ {(13<<2)|2,{100,70,0}}, +/* 37647 */ {(13<<2)|2,{100,70,0}}, +/* 37648 */ {(13<<2)|2,{100,71,0}}, +/* 37649 */ {(13<<2)|2,{100,71,0}}, +/* 37650 */ {(13<<2)|2,{100,71,0}}, +/* 37651 */ {(13<<2)|2,{100,71,0}}, +/* 37652 */ {(13<<2)|2,{100,71,0}}, +/* 37653 */ {(13<<2)|2,{100,71,0}}, +/* 37654 */ {(13<<2)|2,{100,71,0}}, +/* 37655 */ {(13<<2)|2,{100,71,0}}, +/* 37656 */ {(13<<2)|2,{100,72,0}}, +/* 37657 */ {(13<<2)|2,{100,72,0}}, +/* 37658 */ {(13<<2)|2,{100,72,0}}, +/* 37659 */ {(13<<2)|2,{100,72,0}}, +/* 37660 */ {(13<<2)|2,{100,72,0}}, +/* 37661 */ {(13<<2)|2,{100,72,0}}, +/* 37662 */ {(13<<2)|2,{100,72,0}}, +/* 37663 */ {(13<<2)|2,{100,72,0}}, +/* 37664 */ {(13<<2)|2,{100,73,0}}, +/* 37665 */ {(13<<2)|2,{100,73,0}}, +/* 37666 */ {(13<<2)|2,{100,73,0}}, +/* 37667 */ {(13<<2)|2,{100,73,0}}, +/* 37668 */ {(13<<2)|2,{100,73,0}}, +/* 37669 */ {(13<<2)|2,{100,73,0}}, +/* 37670 */ {(13<<2)|2,{100,73,0}}, +/* 37671 */ {(13<<2)|2,{100,73,0}}, +/* 37672 */ {(13<<2)|2,{100,74,0}}, +/* 37673 */ {(13<<2)|2,{100,74,0}}, +/* 37674 */ {(13<<2)|2,{100,74,0}}, +/* 37675 */ {(13<<2)|2,{100,74,0}}, +/* 37676 */ {(13<<2)|2,{100,74,0}}, +/* 37677 */ {(13<<2)|2,{100,74,0}}, +/* 37678 */ {(13<<2)|2,{100,74,0}}, +/* 37679 */ {(13<<2)|2,{100,74,0}}, +/* 37680 */ {(13<<2)|2,{100,75,0}}, +/* 37681 */ {(13<<2)|2,{100,75,0}}, +/* 37682 */ {(13<<2)|2,{100,75,0}}, +/* 37683 */ {(13<<2)|2,{100,75,0}}, +/* 37684 */ {(13<<2)|2,{100,75,0}}, +/* 37685 */ {(13<<2)|2,{100,75,0}}, +/* 37686 */ {(13<<2)|2,{100,75,0}}, +/* 37687 */ {(13<<2)|2,{100,75,0}}, +/* 37688 */ {(13<<2)|2,{100,76,0}}, +/* 37689 */ {(13<<2)|2,{100,76,0}}, +/* 37690 */ {(13<<2)|2,{100,76,0}}, +/* 37691 */ {(13<<2)|2,{100,76,0}}, +/* 37692 */ {(13<<2)|2,{100,76,0}}, +/* 37693 */ {(13<<2)|2,{100,76,0}}, +/* 37694 */ {(13<<2)|2,{100,76,0}}, +/* 37695 */ {(13<<2)|2,{100,76,0}}, +/* 37696 */ {(13<<2)|2,{100,77,0}}, +/* 37697 */ {(13<<2)|2,{100,77,0}}, +/* 37698 */ {(13<<2)|2,{100,77,0}}, +/* 37699 */ {(13<<2)|2,{100,77,0}}, +/* 37700 */ {(13<<2)|2,{100,77,0}}, +/* 37701 */ {(13<<2)|2,{100,77,0}}, +/* 37702 */ {(13<<2)|2,{100,77,0}}, +/* 37703 */ {(13<<2)|2,{100,77,0}}, +/* 37704 */ {(13<<2)|2,{100,78,0}}, +/* 37705 */ {(13<<2)|2,{100,78,0}}, +/* 37706 */ {(13<<2)|2,{100,78,0}}, +/* 37707 */ {(13<<2)|2,{100,78,0}}, +/* 37708 */ {(13<<2)|2,{100,78,0}}, +/* 37709 */ {(13<<2)|2,{100,78,0}}, +/* 37710 */ {(13<<2)|2,{100,78,0}}, +/* 37711 */ {(13<<2)|2,{100,78,0}}, +/* 37712 */ {(13<<2)|2,{100,79,0}}, +/* 37713 */ {(13<<2)|2,{100,79,0}}, +/* 37714 */ {(13<<2)|2,{100,79,0}}, +/* 37715 */ {(13<<2)|2,{100,79,0}}, +/* 37716 */ {(13<<2)|2,{100,79,0}}, +/* 37717 */ {(13<<2)|2,{100,79,0}}, +/* 37718 */ {(13<<2)|2,{100,79,0}}, +/* 37719 */ {(13<<2)|2,{100,79,0}}, +/* 37720 */ {(13<<2)|2,{100,80,0}}, +/* 37721 */ {(13<<2)|2,{100,80,0}}, +/* 37722 */ {(13<<2)|2,{100,80,0}}, +/* 37723 */ {(13<<2)|2,{100,80,0}}, +/* 37724 */ {(13<<2)|2,{100,80,0}}, +/* 37725 */ {(13<<2)|2,{100,80,0}}, +/* 37726 */ {(13<<2)|2,{100,80,0}}, +/* 37727 */ {(13<<2)|2,{100,80,0}}, +/* 37728 */ {(13<<2)|2,{100,81,0}}, +/* 37729 */ {(13<<2)|2,{100,81,0}}, +/* 37730 */ {(13<<2)|2,{100,81,0}}, +/* 37731 */ {(13<<2)|2,{100,81,0}}, +/* 37732 */ {(13<<2)|2,{100,81,0}}, +/* 37733 */ {(13<<2)|2,{100,81,0}}, +/* 37734 */ {(13<<2)|2,{100,81,0}}, +/* 37735 */ {(13<<2)|2,{100,81,0}}, +/* 37736 */ {(13<<2)|2,{100,82,0}}, +/* 37737 */ {(13<<2)|2,{100,82,0}}, +/* 37738 */ {(13<<2)|2,{100,82,0}}, +/* 37739 */ {(13<<2)|2,{100,82,0}}, +/* 37740 */ {(13<<2)|2,{100,82,0}}, +/* 37741 */ {(13<<2)|2,{100,82,0}}, +/* 37742 */ {(13<<2)|2,{100,82,0}}, +/* 37743 */ {(13<<2)|2,{100,82,0}}, +/* 37744 */ {(13<<2)|2,{100,83,0}}, +/* 37745 */ {(13<<2)|2,{100,83,0}}, +/* 37746 */ {(13<<2)|2,{100,83,0}}, +/* 37747 */ {(13<<2)|2,{100,83,0}}, +/* 37748 */ {(13<<2)|2,{100,83,0}}, +/* 37749 */ {(13<<2)|2,{100,83,0}}, +/* 37750 */ {(13<<2)|2,{100,83,0}}, +/* 37751 */ {(13<<2)|2,{100,83,0}}, +/* 37752 */ {(13<<2)|2,{100,84,0}}, +/* 37753 */ {(13<<2)|2,{100,84,0}}, +/* 37754 */ {(13<<2)|2,{100,84,0}}, +/* 37755 */ {(13<<2)|2,{100,84,0}}, +/* 37756 */ {(13<<2)|2,{100,84,0}}, +/* 37757 */ {(13<<2)|2,{100,84,0}}, +/* 37758 */ {(13<<2)|2,{100,84,0}}, +/* 37759 */ {(13<<2)|2,{100,84,0}}, +/* 37760 */ {(13<<2)|2,{100,85,0}}, +/* 37761 */ {(13<<2)|2,{100,85,0}}, +/* 37762 */ {(13<<2)|2,{100,85,0}}, +/* 37763 */ {(13<<2)|2,{100,85,0}}, +/* 37764 */ {(13<<2)|2,{100,85,0}}, +/* 37765 */ {(13<<2)|2,{100,85,0}}, +/* 37766 */ {(13<<2)|2,{100,85,0}}, +/* 37767 */ {(13<<2)|2,{100,85,0}}, +/* 37768 */ {(13<<2)|2,{100,86,0}}, +/* 37769 */ {(13<<2)|2,{100,86,0}}, +/* 37770 */ {(13<<2)|2,{100,86,0}}, +/* 37771 */ {(13<<2)|2,{100,86,0}}, +/* 37772 */ {(13<<2)|2,{100,86,0}}, +/* 37773 */ {(13<<2)|2,{100,86,0}}, +/* 37774 */ {(13<<2)|2,{100,86,0}}, +/* 37775 */ {(13<<2)|2,{100,86,0}}, +/* 37776 */ {(13<<2)|2,{100,87,0}}, +/* 37777 */ {(13<<2)|2,{100,87,0}}, +/* 37778 */ {(13<<2)|2,{100,87,0}}, +/* 37779 */ {(13<<2)|2,{100,87,0}}, +/* 37780 */ {(13<<2)|2,{100,87,0}}, +/* 37781 */ {(13<<2)|2,{100,87,0}}, +/* 37782 */ {(13<<2)|2,{100,87,0}}, +/* 37783 */ {(13<<2)|2,{100,87,0}}, +/* 37784 */ {(13<<2)|2,{100,89,0}}, +/* 37785 */ {(13<<2)|2,{100,89,0}}, +/* 37786 */ {(13<<2)|2,{100,89,0}}, +/* 37787 */ {(13<<2)|2,{100,89,0}}, +/* 37788 */ {(13<<2)|2,{100,89,0}}, +/* 37789 */ {(13<<2)|2,{100,89,0}}, +/* 37790 */ {(13<<2)|2,{100,89,0}}, +/* 37791 */ {(13<<2)|2,{100,89,0}}, +/* 37792 */ {(13<<2)|2,{100,106,0}}, +/* 37793 */ {(13<<2)|2,{100,106,0}}, +/* 37794 */ {(13<<2)|2,{100,106,0}}, +/* 37795 */ {(13<<2)|2,{100,106,0}}, +/* 37796 */ {(13<<2)|2,{100,106,0}}, +/* 37797 */ {(13<<2)|2,{100,106,0}}, +/* 37798 */ {(13<<2)|2,{100,106,0}}, +/* 37799 */ {(13<<2)|2,{100,106,0}}, +/* 37800 */ {(13<<2)|2,{100,107,0}}, +/* 37801 */ {(13<<2)|2,{100,107,0}}, +/* 37802 */ {(13<<2)|2,{100,107,0}}, +/* 37803 */ {(13<<2)|2,{100,107,0}}, +/* 37804 */ {(13<<2)|2,{100,107,0}}, +/* 37805 */ {(13<<2)|2,{100,107,0}}, +/* 37806 */ {(13<<2)|2,{100,107,0}}, +/* 37807 */ {(13<<2)|2,{100,107,0}}, +/* 37808 */ {(13<<2)|2,{100,113,0}}, +/* 37809 */ {(13<<2)|2,{100,113,0}}, +/* 37810 */ {(13<<2)|2,{100,113,0}}, +/* 37811 */ {(13<<2)|2,{100,113,0}}, +/* 37812 */ {(13<<2)|2,{100,113,0}}, +/* 37813 */ {(13<<2)|2,{100,113,0}}, +/* 37814 */ {(13<<2)|2,{100,113,0}}, +/* 37815 */ {(13<<2)|2,{100,113,0}}, +/* 37816 */ {(13<<2)|2,{100,118,0}}, +/* 37817 */ {(13<<2)|2,{100,118,0}}, +/* 37818 */ {(13<<2)|2,{100,118,0}}, +/* 37819 */ {(13<<2)|2,{100,118,0}}, +/* 37820 */ {(13<<2)|2,{100,118,0}}, +/* 37821 */ {(13<<2)|2,{100,118,0}}, +/* 37822 */ {(13<<2)|2,{100,118,0}}, +/* 37823 */ {(13<<2)|2,{100,118,0}}, +/* 37824 */ {(13<<2)|2,{100,119,0}}, +/* 37825 */ {(13<<2)|2,{100,119,0}}, +/* 37826 */ {(13<<2)|2,{100,119,0}}, +/* 37827 */ {(13<<2)|2,{100,119,0}}, +/* 37828 */ {(13<<2)|2,{100,119,0}}, +/* 37829 */ {(13<<2)|2,{100,119,0}}, +/* 37830 */ {(13<<2)|2,{100,119,0}}, +/* 37831 */ {(13<<2)|2,{100,119,0}}, +/* 37832 */ {(13<<2)|2,{100,120,0}}, +/* 37833 */ {(13<<2)|2,{100,120,0}}, +/* 37834 */ {(13<<2)|2,{100,120,0}}, +/* 37835 */ {(13<<2)|2,{100,120,0}}, +/* 37836 */ {(13<<2)|2,{100,120,0}}, +/* 37837 */ {(13<<2)|2,{100,120,0}}, +/* 37838 */ {(13<<2)|2,{100,120,0}}, +/* 37839 */ {(13<<2)|2,{100,120,0}}, +/* 37840 */ {(13<<2)|2,{100,121,0}}, +/* 37841 */ {(13<<2)|2,{100,121,0}}, +/* 37842 */ {(13<<2)|2,{100,121,0}}, +/* 37843 */ {(13<<2)|2,{100,121,0}}, +/* 37844 */ {(13<<2)|2,{100,121,0}}, +/* 37845 */ {(13<<2)|2,{100,121,0}}, +/* 37846 */ {(13<<2)|2,{100,121,0}}, +/* 37847 */ {(13<<2)|2,{100,121,0}}, +/* 37848 */ {(13<<2)|2,{100,122,0}}, +/* 37849 */ {(13<<2)|2,{100,122,0}}, +/* 37850 */ {(13<<2)|2,{100,122,0}}, +/* 37851 */ {(13<<2)|2,{100,122,0}}, +/* 37852 */ {(13<<2)|2,{100,122,0}}, +/* 37853 */ {(13<<2)|2,{100,122,0}}, +/* 37854 */ {(13<<2)|2,{100,122,0}}, +/* 37855 */ {(13<<2)|2,{100,122,0}}, +/* 37856 */ {(14<<2)|2,{100,38,0}}, +/* 37857 */ {(14<<2)|2,{100,38,0}}, +/* 37858 */ {(14<<2)|2,{100,38,0}}, +/* 37859 */ {(14<<2)|2,{100,38,0}}, +/* 37860 */ {(14<<2)|2,{100,42,0}}, +/* 37861 */ {(14<<2)|2,{100,42,0}}, +/* 37862 */ {(14<<2)|2,{100,42,0}}, +/* 37863 */ {(14<<2)|2,{100,42,0}}, +/* 37864 */ {(14<<2)|2,{100,44,0}}, +/* 37865 */ {(14<<2)|2,{100,44,0}}, +/* 37866 */ {(14<<2)|2,{100,44,0}}, +/* 37867 */ {(14<<2)|2,{100,44,0}}, +/* 37868 */ {(14<<2)|2,{100,59,0}}, +/* 37869 */ {(14<<2)|2,{100,59,0}}, +/* 37870 */ {(14<<2)|2,{100,59,0}}, +/* 37871 */ {(14<<2)|2,{100,59,0}}, +/* 37872 */ {(14<<2)|2,{100,88,0}}, +/* 37873 */ {(14<<2)|2,{100,88,0}}, +/* 37874 */ {(14<<2)|2,{100,88,0}}, +/* 37875 */ {(14<<2)|2,{100,88,0}}, +/* 37876 */ {(14<<2)|2,{100,90,0}}, +/* 37877 */ {(14<<2)|2,{100,90,0}}, +/* 37878 */ {(14<<2)|2,{100,90,0}}, +/* 37879 */ {(14<<2)|2,{100,90,0}}, +/* 37880 */ {(16<<2)|2,{100,33,0}}, +/* 37881 */ {(16<<2)|2,{100,34,0}}, +/* 37882 */ {(16<<2)|2,{100,40,0}}, +/* 37883 */ {(16<<2)|2,{100,41,0}}, +/* 37884 */ {(16<<2)|2,{100,63,0}}, +/* 37885 */ {(6<<2)|1,{100,0,0}}, +/* 37886 */ {(6<<2)|1,{100,0,0}}, +/* 37887 */ {(6<<2)|1,{100,0,0}}, +/* 37888 */ {(16<<2)|3,{102,48,48}}, +/* 37889 */ {(16<<2)|3,{102,48,49}}, +/* 37890 */ {(16<<2)|3,{102,48,50}}, +/* 37891 */ {(16<<2)|3,{102,48,97}}, +/* 37892 */ {(16<<2)|3,{102,48,99}}, +/* 37893 */ {(16<<2)|3,{102,48,101}}, +/* 37894 */ {(16<<2)|3,{102,48,105}}, +/* 37895 */ {(16<<2)|3,{102,48,111}}, +/* 37896 */ {(16<<2)|3,{102,48,115}}, +/* 37897 */ {(16<<2)|3,{102,48,116}}, +/* 37898 */ {(11<<2)|2,{102,48,0}}, +/* 37899 */ {(11<<2)|2,{102,48,0}}, +/* 37900 */ {(11<<2)|2,{102,48,0}}, +/* 37901 */ {(11<<2)|2,{102,48,0}}, +/* 37902 */ {(11<<2)|2,{102,48,0}}, +/* 37903 */ {(11<<2)|2,{102,48,0}}, +/* 37904 */ {(11<<2)|2,{102,48,0}}, +/* 37905 */ {(11<<2)|2,{102,48,0}}, +/* 37906 */ {(11<<2)|2,{102,48,0}}, +/* 37907 */ {(11<<2)|2,{102,48,0}}, +/* 37908 */ {(11<<2)|2,{102,48,0}}, +/* 37909 */ {(11<<2)|2,{102,48,0}}, +/* 37910 */ {(11<<2)|2,{102,48,0}}, +/* 37911 */ {(11<<2)|2,{102,48,0}}, +/* 37912 */ {(11<<2)|2,{102,48,0}}, +/* 37913 */ {(11<<2)|2,{102,48,0}}, +/* 37914 */ {(11<<2)|2,{102,48,0}}, +/* 37915 */ {(11<<2)|2,{102,48,0}}, +/* 37916 */ {(11<<2)|2,{102,48,0}}, +/* 37917 */ {(11<<2)|2,{102,48,0}}, +/* 37918 */ {(11<<2)|2,{102,48,0}}, +/* 37919 */ {(11<<2)|2,{102,48,0}}, +/* 37920 */ {(16<<2)|3,{102,49,48}}, +/* 37921 */ {(16<<2)|3,{102,49,49}}, +/* 37922 */ {(16<<2)|3,{102,49,50}}, +/* 37923 */ {(16<<2)|3,{102,49,97}}, +/* 37924 */ {(16<<2)|3,{102,49,99}}, +/* 37925 */ {(16<<2)|3,{102,49,101}}, +/* 37926 */ {(16<<2)|3,{102,49,105}}, +/* 37927 */ {(16<<2)|3,{102,49,111}}, +/* 37928 */ {(16<<2)|3,{102,49,115}}, +/* 37929 */ {(16<<2)|3,{102,49,116}}, +/* 37930 */ {(11<<2)|2,{102,49,0}}, +/* 37931 */ {(11<<2)|2,{102,49,0}}, +/* 37932 */ {(11<<2)|2,{102,49,0}}, +/* 37933 */ {(11<<2)|2,{102,49,0}}, +/* 37934 */ {(11<<2)|2,{102,49,0}}, +/* 37935 */ {(11<<2)|2,{102,49,0}}, +/* 37936 */ {(11<<2)|2,{102,49,0}}, +/* 37937 */ {(11<<2)|2,{102,49,0}}, +/* 37938 */ {(11<<2)|2,{102,49,0}}, +/* 37939 */ {(11<<2)|2,{102,49,0}}, +/* 37940 */ {(11<<2)|2,{102,49,0}}, +/* 37941 */ {(11<<2)|2,{102,49,0}}, +/* 37942 */ {(11<<2)|2,{102,49,0}}, +/* 37943 */ {(11<<2)|2,{102,49,0}}, +/* 37944 */ {(11<<2)|2,{102,49,0}}, +/* 37945 */ {(11<<2)|2,{102,49,0}}, +/* 37946 */ {(11<<2)|2,{102,49,0}}, +/* 37947 */ {(11<<2)|2,{102,49,0}}, +/* 37948 */ {(11<<2)|2,{102,49,0}}, +/* 37949 */ {(11<<2)|2,{102,49,0}}, +/* 37950 */ {(11<<2)|2,{102,49,0}}, +/* 37951 */ {(11<<2)|2,{102,49,0}}, +/* 37952 */ {(16<<2)|3,{102,50,48}}, +/* 37953 */ {(16<<2)|3,{102,50,49}}, +/* 37954 */ {(16<<2)|3,{102,50,50}}, +/* 37955 */ {(16<<2)|3,{102,50,97}}, +/* 37956 */ {(16<<2)|3,{102,50,99}}, +/* 37957 */ {(16<<2)|3,{102,50,101}}, +/* 37958 */ {(16<<2)|3,{102,50,105}}, +/* 37959 */ {(16<<2)|3,{102,50,111}}, +/* 37960 */ {(16<<2)|3,{102,50,115}}, +/* 37961 */ {(16<<2)|3,{102,50,116}}, +/* 37962 */ {(11<<2)|2,{102,50,0}}, +/* 37963 */ {(11<<2)|2,{102,50,0}}, +/* 37964 */ {(11<<2)|2,{102,50,0}}, +/* 37965 */ {(11<<2)|2,{102,50,0}}, +/* 37966 */ {(11<<2)|2,{102,50,0}}, +/* 37967 */ {(11<<2)|2,{102,50,0}}, +/* 37968 */ {(11<<2)|2,{102,50,0}}, +/* 37969 */ {(11<<2)|2,{102,50,0}}, +/* 37970 */ {(11<<2)|2,{102,50,0}}, +/* 37971 */ {(11<<2)|2,{102,50,0}}, +/* 37972 */ {(11<<2)|2,{102,50,0}}, +/* 37973 */ {(11<<2)|2,{102,50,0}}, +/* 37974 */ {(11<<2)|2,{102,50,0}}, +/* 37975 */ {(11<<2)|2,{102,50,0}}, +/* 37976 */ {(11<<2)|2,{102,50,0}}, +/* 37977 */ {(11<<2)|2,{102,50,0}}, +/* 37978 */ {(11<<2)|2,{102,50,0}}, +/* 37979 */ {(11<<2)|2,{102,50,0}}, +/* 37980 */ {(11<<2)|2,{102,50,0}}, +/* 37981 */ {(11<<2)|2,{102,50,0}}, +/* 37982 */ {(11<<2)|2,{102,50,0}}, +/* 37983 */ {(11<<2)|2,{102,50,0}}, +/* 37984 */ {(16<<2)|3,{102,97,48}}, +/* 37985 */ {(16<<2)|3,{102,97,49}}, +/* 37986 */ {(16<<2)|3,{102,97,50}}, +/* 37987 */ {(16<<2)|3,{102,97,97}}, +/* 37988 */ {(16<<2)|3,{102,97,99}}, +/* 37989 */ {(16<<2)|3,{102,97,101}}, +/* 37990 */ {(16<<2)|3,{102,97,105}}, +/* 37991 */ {(16<<2)|3,{102,97,111}}, +/* 37992 */ {(16<<2)|3,{102,97,115}}, +/* 37993 */ {(16<<2)|3,{102,97,116}}, +/* 37994 */ {(11<<2)|2,{102,97,0}}, +/* 37995 */ {(11<<2)|2,{102,97,0}}, +/* 37996 */ {(11<<2)|2,{102,97,0}}, +/* 37997 */ {(11<<2)|2,{102,97,0}}, +/* 37998 */ {(11<<2)|2,{102,97,0}}, +/* 37999 */ {(11<<2)|2,{102,97,0}}, +/* 38000 */ {(11<<2)|2,{102,97,0}}, +/* 38001 */ {(11<<2)|2,{102,97,0}}, +/* 38002 */ {(11<<2)|2,{102,97,0}}, +/* 38003 */ {(11<<2)|2,{102,97,0}}, +/* 38004 */ {(11<<2)|2,{102,97,0}}, +/* 38005 */ {(11<<2)|2,{102,97,0}}, +/* 38006 */ {(11<<2)|2,{102,97,0}}, +/* 38007 */ {(11<<2)|2,{102,97,0}}, +/* 38008 */ {(11<<2)|2,{102,97,0}}, +/* 38009 */ {(11<<2)|2,{102,97,0}}, +/* 38010 */ {(11<<2)|2,{102,97,0}}, +/* 38011 */ {(11<<2)|2,{102,97,0}}, +/* 38012 */ {(11<<2)|2,{102,97,0}}, +/* 38013 */ {(11<<2)|2,{102,97,0}}, +/* 38014 */ {(11<<2)|2,{102,97,0}}, +/* 38015 */ {(11<<2)|2,{102,97,0}}, +/* 38016 */ {(16<<2)|3,{102,99,48}}, +/* 38017 */ {(16<<2)|3,{102,99,49}}, +/* 38018 */ {(16<<2)|3,{102,99,50}}, +/* 38019 */ {(16<<2)|3,{102,99,97}}, +/* 38020 */ {(16<<2)|3,{102,99,99}}, +/* 38021 */ {(16<<2)|3,{102,99,101}}, +/* 38022 */ {(16<<2)|3,{102,99,105}}, +/* 38023 */ {(16<<2)|3,{102,99,111}}, +/* 38024 */ {(16<<2)|3,{102,99,115}}, +/* 38025 */ {(16<<2)|3,{102,99,116}}, +/* 38026 */ {(11<<2)|2,{102,99,0}}, +/* 38027 */ {(11<<2)|2,{102,99,0}}, +/* 38028 */ {(11<<2)|2,{102,99,0}}, +/* 38029 */ {(11<<2)|2,{102,99,0}}, +/* 38030 */ {(11<<2)|2,{102,99,0}}, +/* 38031 */ {(11<<2)|2,{102,99,0}}, +/* 38032 */ {(11<<2)|2,{102,99,0}}, +/* 38033 */ {(11<<2)|2,{102,99,0}}, +/* 38034 */ {(11<<2)|2,{102,99,0}}, +/* 38035 */ {(11<<2)|2,{102,99,0}}, +/* 38036 */ {(11<<2)|2,{102,99,0}}, +/* 38037 */ {(11<<2)|2,{102,99,0}}, +/* 38038 */ {(11<<2)|2,{102,99,0}}, +/* 38039 */ {(11<<2)|2,{102,99,0}}, +/* 38040 */ {(11<<2)|2,{102,99,0}}, +/* 38041 */ {(11<<2)|2,{102,99,0}}, +/* 38042 */ {(11<<2)|2,{102,99,0}}, +/* 38043 */ {(11<<2)|2,{102,99,0}}, +/* 38044 */ {(11<<2)|2,{102,99,0}}, +/* 38045 */ {(11<<2)|2,{102,99,0}}, +/* 38046 */ {(11<<2)|2,{102,99,0}}, +/* 38047 */ {(11<<2)|2,{102,99,0}}, +/* 38048 */ {(16<<2)|3,{102,101,48}}, +/* 38049 */ {(16<<2)|3,{102,101,49}}, +/* 38050 */ {(16<<2)|3,{102,101,50}}, +/* 38051 */ {(16<<2)|3,{102,101,97}}, +/* 38052 */ {(16<<2)|3,{102,101,99}}, +/* 38053 */ {(16<<2)|3,{102,101,101}}, +/* 38054 */ {(16<<2)|3,{102,101,105}}, +/* 38055 */ {(16<<2)|3,{102,101,111}}, +/* 38056 */ {(16<<2)|3,{102,101,115}}, +/* 38057 */ {(16<<2)|3,{102,101,116}}, +/* 38058 */ {(11<<2)|2,{102,101,0}}, +/* 38059 */ {(11<<2)|2,{102,101,0}}, +/* 38060 */ {(11<<2)|2,{102,101,0}}, +/* 38061 */ {(11<<2)|2,{102,101,0}}, +/* 38062 */ {(11<<2)|2,{102,101,0}}, +/* 38063 */ {(11<<2)|2,{102,101,0}}, +/* 38064 */ {(11<<2)|2,{102,101,0}}, +/* 38065 */ {(11<<2)|2,{102,101,0}}, +/* 38066 */ {(11<<2)|2,{102,101,0}}, +/* 38067 */ {(11<<2)|2,{102,101,0}}, +/* 38068 */ {(11<<2)|2,{102,101,0}}, +/* 38069 */ {(11<<2)|2,{102,101,0}}, +/* 38070 */ {(11<<2)|2,{102,101,0}}, +/* 38071 */ {(11<<2)|2,{102,101,0}}, +/* 38072 */ {(11<<2)|2,{102,101,0}}, +/* 38073 */ {(11<<2)|2,{102,101,0}}, +/* 38074 */ {(11<<2)|2,{102,101,0}}, +/* 38075 */ {(11<<2)|2,{102,101,0}}, +/* 38076 */ {(11<<2)|2,{102,101,0}}, +/* 38077 */ {(11<<2)|2,{102,101,0}}, +/* 38078 */ {(11<<2)|2,{102,101,0}}, +/* 38079 */ {(11<<2)|2,{102,101,0}}, +/* 38080 */ {(16<<2)|3,{102,105,48}}, +/* 38081 */ {(16<<2)|3,{102,105,49}}, +/* 38082 */ {(16<<2)|3,{102,105,50}}, +/* 38083 */ {(16<<2)|3,{102,105,97}}, +/* 38084 */ {(16<<2)|3,{102,105,99}}, +/* 38085 */ {(16<<2)|3,{102,105,101}}, +/* 38086 */ {(16<<2)|3,{102,105,105}}, +/* 38087 */ {(16<<2)|3,{102,105,111}}, +/* 38088 */ {(16<<2)|3,{102,105,115}}, +/* 38089 */ {(16<<2)|3,{102,105,116}}, +/* 38090 */ {(11<<2)|2,{102,105,0}}, +/* 38091 */ {(11<<2)|2,{102,105,0}}, +/* 38092 */ {(11<<2)|2,{102,105,0}}, +/* 38093 */ {(11<<2)|2,{102,105,0}}, +/* 38094 */ {(11<<2)|2,{102,105,0}}, +/* 38095 */ {(11<<2)|2,{102,105,0}}, +/* 38096 */ {(11<<2)|2,{102,105,0}}, +/* 38097 */ {(11<<2)|2,{102,105,0}}, +/* 38098 */ {(11<<2)|2,{102,105,0}}, +/* 38099 */ {(11<<2)|2,{102,105,0}}, +/* 38100 */ {(11<<2)|2,{102,105,0}}, +/* 38101 */ {(11<<2)|2,{102,105,0}}, +/* 38102 */ {(11<<2)|2,{102,105,0}}, +/* 38103 */ {(11<<2)|2,{102,105,0}}, +/* 38104 */ {(11<<2)|2,{102,105,0}}, +/* 38105 */ {(11<<2)|2,{102,105,0}}, +/* 38106 */ {(11<<2)|2,{102,105,0}}, +/* 38107 */ {(11<<2)|2,{102,105,0}}, +/* 38108 */ {(11<<2)|2,{102,105,0}}, +/* 38109 */ {(11<<2)|2,{102,105,0}}, +/* 38110 */ {(11<<2)|2,{102,105,0}}, +/* 38111 */ {(11<<2)|2,{102,105,0}}, +/* 38112 */ {(16<<2)|3,{102,111,48}}, +/* 38113 */ {(16<<2)|3,{102,111,49}}, +/* 38114 */ {(16<<2)|3,{102,111,50}}, +/* 38115 */ {(16<<2)|3,{102,111,97}}, +/* 38116 */ {(16<<2)|3,{102,111,99}}, +/* 38117 */ {(16<<2)|3,{102,111,101}}, +/* 38118 */ {(16<<2)|3,{102,111,105}}, +/* 38119 */ {(16<<2)|3,{102,111,111}}, +/* 38120 */ {(16<<2)|3,{102,111,115}}, +/* 38121 */ {(16<<2)|3,{102,111,116}}, +/* 38122 */ {(11<<2)|2,{102,111,0}}, +/* 38123 */ {(11<<2)|2,{102,111,0}}, +/* 38124 */ {(11<<2)|2,{102,111,0}}, +/* 38125 */ {(11<<2)|2,{102,111,0}}, +/* 38126 */ {(11<<2)|2,{102,111,0}}, +/* 38127 */ {(11<<2)|2,{102,111,0}}, +/* 38128 */ {(11<<2)|2,{102,111,0}}, +/* 38129 */ {(11<<2)|2,{102,111,0}}, +/* 38130 */ {(11<<2)|2,{102,111,0}}, +/* 38131 */ {(11<<2)|2,{102,111,0}}, +/* 38132 */ {(11<<2)|2,{102,111,0}}, +/* 38133 */ {(11<<2)|2,{102,111,0}}, +/* 38134 */ {(11<<2)|2,{102,111,0}}, +/* 38135 */ {(11<<2)|2,{102,111,0}}, +/* 38136 */ {(11<<2)|2,{102,111,0}}, +/* 38137 */ {(11<<2)|2,{102,111,0}}, +/* 38138 */ {(11<<2)|2,{102,111,0}}, +/* 38139 */ {(11<<2)|2,{102,111,0}}, +/* 38140 */ {(11<<2)|2,{102,111,0}}, +/* 38141 */ {(11<<2)|2,{102,111,0}}, +/* 38142 */ {(11<<2)|2,{102,111,0}}, +/* 38143 */ {(11<<2)|2,{102,111,0}}, +/* 38144 */ {(16<<2)|3,{102,115,48}}, +/* 38145 */ {(16<<2)|3,{102,115,49}}, +/* 38146 */ {(16<<2)|3,{102,115,50}}, +/* 38147 */ {(16<<2)|3,{102,115,97}}, +/* 38148 */ {(16<<2)|3,{102,115,99}}, +/* 38149 */ {(16<<2)|3,{102,115,101}}, +/* 38150 */ {(16<<2)|3,{102,115,105}}, +/* 38151 */ {(16<<2)|3,{102,115,111}}, +/* 38152 */ {(16<<2)|3,{102,115,115}}, +/* 38153 */ {(16<<2)|3,{102,115,116}}, +/* 38154 */ {(11<<2)|2,{102,115,0}}, +/* 38155 */ {(11<<2)|2,{102,115,0}}, +/* 38156 */ {(11<<2)|2,{102,115,0}}, +/* 38157 */ {(11<<2)|2,{102,115,0}}, +/* 38158 */ {(11<<2)|2,{102,115,0}}, +/* 38159 */ {(11<<2)|2,{102,115,0}}, +/* 38160 */ {(11<<2)|2,{102,115,0}}, +/* 38161 */ {(11<<2)|2,{102,115,0}}, +/* 38162 */ {(11<<2)|2,{102,115,0}}, +/* 38163 */ {(11<<2)|2,{102,115,0}}, +/* 38164 */ {(11<<2)|2,{102,115,0}}, +/* 38165 */ {(11<<2)|2,{102,115,0}}, +/* 38166 */ {(11<<2)|2,{102,115,0}}, +/* 38167 */ {(11<<2)|2,{102,115,0}}, +/* 38168 */ {(11<<2)|2,{102,115,0}}, +/* 38169 */ {(11<<2)|2,{102,115,0}}, +/* 38170 */ {(11<<2)|2,{102,115,0}}, +/* 38171 */ {(11<<2)|2,{102,115,0}}, +/* 38172 */ {(11<<2)|2,{102,115,0}}, +/* 38173 */ {(11<<2)|2,{102,115,0}}, +/* 38174 */ {(11<<2)|2,{102,115,0}}, +/* 38175 */ {(11<<2)|2,{102,115,0}}, +/* 38176 */ {(16<<2)|3,{102,116,48}}, +/* 38177 */ {(16<<2)|3,{102,116,49}}, +/* 38178 */ {(16<<2)|3,{102,116,50}}, +/* 38179 */ {(16<<2)|3,{102,116,97}}, +/* 38180 */ {(16<<2)|3,{102,116,99}}, +/* 38181 */ {(16<<2)|3,{102,116,101}}, +/* 38182 */ {(16<<2)|3,{102,116,105}}, +/* 38183 */ {(16<<2)|3,{102,116,111}}, +/* 38184 */ {(16<<2)|3,{102,116,115}}, +/* 38185 */ {(16<<2)|3,{102,116,116}}, +/* 38186 */ {(11<<2)|2,{102,116,0}}, +/* 38187 */ {(11<<2)|2,{102,116,0}}, +/* 38188 */ {(11<<2)|2,{102,116,0}}, +/* 38189 */ {(11<<2)|2,{102,116,0}}, +/* 38190 */ {(11<<2)|2,{102,116,0}}, +/* 38191 */ {(11<<2)|2,{102,116,0}}, +/* 38192 */ {(11<<2)|2,{102,116,0}}, +/* 38193 */ {(11<<2)|2,{102,116,0}}, +/* 38194 */ {(11<<2)|2,{102,116,0}}, +/* 38195 */ {(11<<2)|2,{102,116,0}}, +/* 38196 */ {(11<<2)|2,{102,116,0}}, +/* 38197 */ {(11<<2)|2,{102,116,0}}, +/* 38198 */ {(11<<2)|2,{102,116,0}}, +/* 38199 */ {(11<<2)|2,{102,116,0}}, +/* 38200 */ {(11<<2)|2,{102,116,0}}, +/* 38201 */ {(11<<2)|2,{102,116,0}}, +/* 38202 */ {(11<<2)|2,{102,116,0}}, +/* 38203 */ {(11<<2)|2,{102,116,0}}, +/* 38204 */ {(11<<2)|2,{102,116,0}}, +/* 38205 */ {(11<<2)|2,{102,116,0}}, +/* 38206 */ {(11<<2)|2,{102,116,0}}, +/* 38207 */ {(11<<2)|2,{102,116,0}}, +/* 38208 */ {(12<<2)|2,{102,32,0}}, +/* 38209 */ {(12<<2)|2,{102,32,0}}, +/* 38210 */ {(12<<2)|2,{102,32,0}}, +/* 38211 */ {(12<<2)|2,{102,32,0}}, +/* 38212 */ {(12<<2)|2,{102,32,0}}, +/* 38213 */ {(12<<2)|2,{102,32,0}}, +/* 38214 */ {(12<<2)|2,{102,32,0}}, +/* 38215 */ {(12<<2)|2,{102,32,0}}, +/* 38216 */ {(12<<2)|2,{102,32,0}}, +/* 38217 */ {(12<<2)|2,{102,32,0}}, +/* 38218 */ {(12<<2)|2,{102,32,0}}, +/* 38219 */ {(12<<2)|2,{102,32,0}}, +/* 38220 */ {(12<<2)|2,{102,32,0}}, +/* 38221 */ {(12<<2)|2,{102,32,0}}, +/* 38222 */ {(12<<2)|2,{102,32,0}}, +/* 38223 */ {(12<<2)|2,{102,32,0}}, +/* 38224 */ {(12<<2)|2,{102,37,0}}, +/* 38225 */ {(12<<2)|2,{102,37,0}}, +/* 38226 */ {(12<<2)|2,{102,37,0}}, +/* 38227 */ {(12<<2)|2,{102,37,0}}, +/* 38228 */ {(12<<2)|2,{102,37,0}}, +/* 38229 */ {(12<<2)|2,{102,37,0}}, +/* 38230 */ {(12<<2)|2,{102,37,0}}, +/* 38231 */ {(12<<2)|2,{102,37,0}}, +/* 38232 */ {(12<<2)|2,{102,37,0}}, +/* 38233 */ {(12<<2)|2,{102,37,0}}, +/* 38234 */ {(12<<2)|2,{102,37,0}}, +/* 38235 */ {(12<<2)|2,{102,37,0}}, +/* 38236 */ {(12<<2)|2,{102,37,0}}, +/* 38237 */ {(12<<2)|2,{102,37,0}}, +/* 38238 */ {(12<<2)|2,{102,37,0}}, +/* 38239 */ {(12<<2)|2,{102,37,0}}, +/* 38240 */ {(12<<2)|2,{102,45,0}}, +/* 38241 */ {(12<<2)|2,{102,45,0}}, +/* 38242 */ {(12<<2)|2,{102,45,0}}, +/* 38243 */ {(12<<2)|2,{102,45,0}}, +/* 38244 */ {(12<<2)|2,{102,45,0}}, +/* 38245 */ {(12<<2)|2,{102,45,0}}, +/* 38246 */ {(12<<2)|2,{102,45,0}}, +/* 38247 */ {(12<<2)|2,{102,45,0}}, +/* 38248 */ {(12<<2)|2,{102,45,0}}, +/* 38249 */ {(12<<2)|2,{102,45,0}}, +/* 38250 */ {(12<<2)|2,{102,45,0}}, +/* 38251 */ {(12<<2)|2,{102,45,0}}, +/* 38252 */ {(12<<2)|2,{102,45,0}}, +/* 38253 */ {(12<<2)|2,{102,45,0}}, +/* 38254 */ {(12<<2)|2,{102,45,0}}, +/* 38255 */ {(12<<2)|2,{102,45,0}}, +/* 38256 */ {(12<<2)|2,{102,46,0}}, +/* 38257 */ {(12<<2)|2,{102,46,0}}, +/* 38258 */ {(12<<2)|2,{102,46,0}}, +/* 38259 */ {(12<<2)|2,{102,46,0}}, +/* 38260 */ {(12<<2)|2,{102,46,0}}, +/* 38261 */ {(12<<2)|2,{102,46,0}}, +/* 38262 */ {(12<<2)|2,{102,46,0}}, +/* 38263 */ {(12<<2)|2,{102,46,0}}, +/* 38264 */ {(12<<2)|2,{102,46,0}}, +/* 38265 */ {(12<<2)|2,{102,46,0}}, +/* 38266 */ {(12<<2)|2,{102,46,0}}, +/* 38267 */ {(12<<2)|2,{102,46,0}}, +/* 38268 */ {(12<<2)|2,{102,46,0}}, +/* 38269 */ {(12<<2)|2,{102,46,0}}, +/* 38270 */ {(12<<2)|2,{102,46,0}}, +/* 38271 */ {(12<<2)|2,{102,46,0}}, +/* 38272 */ {(12<<2)|2,{102,47,0}}, +/* 38273 */ {(12<<2)|2,{102,47,0}}, +/* 38274 */ {(12<<2)|2,{102,47,0}}, +/* 38275 */ {(12<<2)|2,{102,47,0}}, +/* 38276 */ {(12<<2)|2,{102,47,0}}, +/* 38277 */ {(12<<2)|2,{102,47,0}}, +/* 38278 */ {(12<<2)|2,{102,47,0}}, +/* 38279 */ {(12<<2)|2,{102,47,0}}, +/* 38280 */ {(12<<2)|2,{102,47,0}}, +/* 38281 */ {(12<<2)|2,{102,47,0}}, +/* 38282 */ {(12<<2)|2,{102,47,0}}, +/* 38283 */ {(12<<2)|2,{102,47,0}}, +/* 38284 */ {(12<<2)|2,{102,47,0}}, +/* 38285 */ {(12<<2)|2,{102,47,0}}, +/* 38286 */ {(12<<2)|2,{102,47,0}}, +/* 38287 */ {(12<<2)|2,{102,47,0}}, +/* 38288 */ {(12<<2)|2,{102,51,0}}, +/* 38289 */ {(12<<2)|2,{102,51,0}}, +/* 38290 */ {(12<<2)|2,{102,51,0}}, +/* 38291 */ {(12<<2)|2,{102,51,0}}, +/* 38292 */ {(12<<2)|2,{102,51,0}}, +/* 38293 */ {(12<<2)|2,{102,51,0}}, +/* 38294 */ {(12<<2)|2,{102,51,0}}, +/* 38295 */ {(12<<2)|2,{102,51,0}}, +/* 38296 */ {(12<<2)|2,{102,51,0}}, +/* 38297 */ {(12<<2)|2,{102,51,0}}, +/* 38298 */ {(12<<2)|2,{102,51,0}}, +/* 38299 */ {(12<<2)|2,{102,51,0}}, +/* 38300 */ {(12<<2)|2,{102,51,0}}, +/* 38301 */ {(12<<2)|2,{102,51,0}}, +/* 38302 */ {(12<<2)|2,{102,51,0}}, +/* 38303 */ {(12<<2)|2,{102,51,0}}, +/* 38304 */ {(12<<2)|2,{102,52,0}}, +/* 38305 */ {(12<<2)|2,{102,52,0}}, +/* 38306 */ {(12<<2)|2,{102,52,0}}, +/* 38307 */ {(12<<2)|2,{102,52,0}}, +/* 38308 */ {(12<<2)|2,{102,52,0}}, +/* 38309 */ {(12<<2)|2,{102,52,0}}, +/* 38310 */ {(12<<2)|2,{102,52,0}}, +/* 38311 */ {(12<<2)|2,{102,52,0}}, +/* 38312 */ {(12<<2)|2,{102,52,0}}, +/* 38313 */ {(12<<2)|2,{102,52,0}}, +/* 38314 */ {(12<<2)|2,{102,52,0}}, +/* 38315 */ {(12<<2)|2,{102,52,0}}, +/* 38316 */ {(12<<2)|2,{102,52,0}}, +/* 38317 */ {(12<<2)|2,{102,52,0}}, +/* 38318 */ {(12<<2)|2,{102,52,0}}, +/* 38319 */ {(12<<2)|2,{102,52,0}}, +/* 38320 */ {(12<<2)|2,{102,53,0}}, +/* 38321 */ {(12<<2)|2,{102,53,0}}, +/* 38322 */ {(12<<2)|2,{102,53,0}}, +/* 38323 */ {(12<<2)|2,{102,53,0}}, +/* 38324 */ {(12<<2)|2,{102,53,0}}, +/* 38325 */ {(12<<2)|2,{102,53,0}}, +/* 38326 */ {(12<<2)|2,{102,53,0}}, +/* 38327 */ {(12<<2)|2,{102,53,0}}, +/* 38328 */ {(12<<2)|2,{102,53,0}}, +/* 38329 */ {(12<<2)|2,{102,53,0}}, +/* 38330 */ {(12<<2)|2,{102,53,0}}, +/* 38331 */ {(12<<2)|2,{102,53,0}}, +/* 38332 */ {(12<<2)|2,{102,53,0}}, +/* 38333 */ {(12<<2)|2,{102,53,0}}, +/* 38334 */ {(12<<2)|2,{102,53,0}}, +/* 38335 */ {(12<<2)|2,{102,53,0}}, +/* 38336 */ {(12<<2)|2,{102,54,0}}, +/* 38337 */ {(12<<2)|2,{102,54,0}}, +/* 38338 */ {(12<<2)|2,{102,54,0}}, +/* 38339 */ {(12<<2)|2,{102,54,0}}, +/* 38340 */ {(12<<2)|2,{102,54,0}}, +/* 38341 */ {(12<<2)|2,{102,54,0}}, +/* 38342 */ {(12<<2)|2,{102,54,0}}, +/* 38343 */ {(12<<2)|2,{102,54,0}}, +/* 38344 */ {(12<<2)|2,{102,54,0}}, +/* 38345 */ {(12<<2)|2,{102,54,0}}, +/* 38346 */ {(12<<2)|2,{102,54,0}}, +/* 38347 */ {(12<<2)|2,{102,54,0}}, +/* 38348 */ {(12<<2)|2,{102,54,0}}, +/* 38349 */ {(12<<2)|2,{102,54,0}}, +/* 38350 */ {(12<<2)|2,{102,54,0}}, +/* 38351 */ {(12<<2)|2,{102,54,0}}, +/* 38352 */ {(12<<2)|2,{102,55,0}}, +/* 38353 */ {(12<<2)|2,{102,55,0}}, +/* 38354 */ {(12<<2)|2,{102,55,0}}, +/* 38355 */ {(12<<2)|2,{102,55,0}}, +/* 38356 */ {(12<<2)|2,{102,55,0}}, +/* 38357 */ {(12<<2)|2,{102,55,0}}, +/* 38358 */ {(12<<2)|2,{102,55,0}}, +/* 38359 */ {(12<<2)|2,{102,55,0}}, +/* 38360 */ {(12<<2)|2,{102,55,0}}, +/* 38361 */ {(12<<2)|2,{102,55,0}}, +/* 38362 */ {(12<<2)|2,{102,55,0}}, +/* 38363 */ {(12<<2)|2,{102,55,0}}, +/* 38364 */ {(12<<2)|2,{102,55,0}}, +/* 38365 */ {(12<<2)|2,{102,55,0}}, +/* 38366 */ {(12<<2)|2,{102,55,0}}, +/* 38367 */ {(12<<2)|2,{102,55,0}}, +/* 38368 */ {(12<<2)|2,{102,56,0}}, +/* 38369 */ {(12<<2)|2,{102,56,0}}, +/* 38370 */ {(12<<2)|2,{102,56,0}}, +/* 38371 */ {(12<<2)|2,{102,56,0}}, +/* 38372 */ {(12<<2)|2,{102,56,0}}, +/* 38373 */ {(12<<2)|2,{102,56,0}}, +/* 38374 */ {(12<<2)|2,{102,56,0}}, +/* 38375 */ {(12<<2)|2,{102,56,0}}, +/* 38376 */ {(12<<2)|2,{102,56,0}}, +/* 38377 */ {(12<<2)|2,{102,56,0}}, +/* 38378 */ {(12<<2)|2,{102,56,0}}, +/* 38379 */ {(12<<2)|2,{102,56,0}}, +/* 38380 */ {(12<<2)|2,{102,56,0}}, +/* 38381 */ {(12<<2)|2,{102,56,0}}, +/* 38382 */ {(12<<2)|2,{102,56,0}}, +/* 38383 */ {(12<<2)|2,{102,56,0}}, +/* 38384 */ {(12<<2)|2,{102,57,0}}, +/* 38385 */ {(12<<2)|2,{102,57,0}}, +/* 38386 */ {(12<<2)|2,{102,57,0}}, +/* 38387 */ {(12<<2)|2,{102,57,0}}, +/* 38388 */ {(12<<2)|2,{102,57,0}}, +/* 38389 */ {(12<<2)|2,{102,57,0}}, +/* 38390 */ {(12<<2)|2,{102,57,0}}, +/* 38391 */ {(12<<2)|2,{102,57,0}}, +/* 38392 */ {(12<<2)|2,{102,57,0}}, +/* 38393 */ {(12<<2)|2,{102,57,0}}, +/* 38394 */ {(12<<2)|2,{102,57,0}}, +/* 38395 */ {(12<<2)|2,{102,57,0}}, +/* 38396 */ {(12<<2)|2,{102,57,0}}, +/* 38397 */ {(12<<2)|2,{102,57,0}}, +/* 38398 */ {(12<<2)|2,{102,57,0}}, +/* 38399 */ {(12<<2)|2,{102,57,0}}, +/* 38400 */ {(12<<2)|2,{102,61,0}}, +/* 38401 */ {(12<<2)|2,{102,61,0}}, +/* 38402 */ {(12<<2)|2,{102,61,0}}, +/* 38403 */ {(12<<2)|2,{102,61,0}}, +/* 38404 */ {(12<<2)|2,{102,61,0}}, +/* 38405 */ {(12<<2)|2,{102,61,0}}, +/* 38406 */ {(12<<2)|2,{102,61,0}}, +/* 38407 */ {(12<<2)|2,{102,61,0}}, +/* 38408 */ {(12<<2)|2,{102,61,0}}, +/* 38409 */ {(12<<2)|2,{102,61,0}}, +/* 38410 */ {(12<<2)|2,{102,61,0}}, +/* 38411 */ {(12<<2)|2,{102,61,0}}, +/* 38412 */ {(12<<2)|2,{102,61,0}}, +/* 38413 */ {(12<<2)|2,{102,61,0}}, +/* 38414 */ {(12<<2)|2,{102,61,0}}, +/* 38415 */ {(12<<2)|2,{102,61,0}}, +/* 38416 */ {(12<<2)|2,{102,65,0}}, +/* 38417 */ {(12<<2)|2,{102,65,0}}, +/* 38418 */ {(12<<2)|2,{102,65,0}}, +/* 38419 */ {(12<<2)|2,{102,65,0}}, +/* 38420 */ {(12<<2)|2,{102,65,0}}, +/* 38421 */ {(12<<2)|2,{102,65,0}}, +/* 38422 */ {(12<<2)|2,{102,65,0}}, +/* 38423 */ {(12<<2)|2,{102,65,0}}, +/* 38424 */ {(12<<2)|2,{102,65,0}}, +/* 38425 */ {(12<<2)|2,{102,65,0}}, +/* 38426 */ {(12<<2)|2,{102,65,0}}, +/* 38427 */ {(12<<2)|2,{102,65,0}}, +/* 38428 */ {(12<<2)|2,{102,65,0}}, +/* 38429 */ {(12<<2)|2,{102,65,0}}, +/* 38430 */ {(12<<2)|2,{102,65,0}}, +/* 38431 */ {(12<<2)|2,{102,65,0}}, +/* 38432 */ {(12<<2)|2,{102,95,0}}, +/* 38433 */ {(12<<2)|2,{102,95,0}}, +/* 38434 */ {(12<<2)|2,{102,95,0}}, +/* 38435 */ {(12<<2)|2,{102,95,0}}, +/* 38436 */ {(12<<2)|2,{102,95,0}}, +/* 38437 */ {(12<<2)|2,{102,95,0}}, +/* 38438 */ {(12<<2)|2,{102,95,0}}, +/* 38439 */ {(12<<2)|2,{102,95,0}}, +/* 38440 */ {(12<<2)|2,{102,95,0}}, +/* 38441 */ {(12<<2)|2,{102,95,0}}, +/* 38442 */ {(12<<2)|2,{102,95,0}}, +/* 38443 */ {(12<<2)|2,{102,95,0}}, +/* 38444 */ {(12<<2)|2,{102,95,0}}, +/* 38445 */ {(12<<2)|2,{102,95,0}}, +/* 38446 */ {(12<<2)|2,{102,95,0}}, +/* 38447 */ {(12<<2)|2,{102,95,0}}, +/* 38448 */ {(12<<2)|2,{102,98,0}}, +/* 38449 */ {(12<<2)|2,{102,98,0}}, +/* 38450 */ {(12<<2)|2,{102,98,0}}, +/* 38451 */ {(12<<2)|2,{102,98,0}}, +/* 38452 */ {(12<<2)|2,{102,98,0}}, +/* 38453 */ {(12<<2)|2,{102,98,0}}, +/* 38454 */ {(12<<2)|2,{102,98,0}}, +/* 38455 */ {(12<<2)|2,{102,98,0}}, +/* 38456 */ {(12<<2)|2,{102,98,0}}, +/* 38457 */ {(12<<2)|2,{102,98,0}}, +/* 38458 */ {(12<<2)|2,{102,98,0}}, +/* 38459 */ {(12<<2)|2,{102,98,0}}, +/* 38460 */ {(12<<2)|2,{102,98,0}}, +/* 38461 */ {(12<<2)|2,{102,98,0}}, +/* 38462 */ {(12<<2)|2,{102,98,0}}, +/* 38463 */ {(12<<2)|2,{102,98,0}}, +/* 38464 */ {(12<<2)|2,{102,100,0}}, +/* 38465 */ {(12<<2)|2,{102,100,0}}, +/* 38466 */ {(12<<2)|2,{102,100,0}}, +/* 38467 */ {(12<<2)|2,{102,100,0}}, +/* 38468 */ {(12<<2)|2,{102,100,0}}, +/* 38469 */ {(12<<2)|2,{102,100,0}}, +/* 38470 */ {(12<<2)|2,{102,100,0}}, +/* 38471 */ {(12<<2)|2,{102,100,0}}, +/* 38472 */ {(12<<2)|2,{102,100,0}}, +/* 38473 */ {(12<<2)|2,{102,100,0}}, +/* 38474 */ {(12<<2)|2,{102,100,0}}, +/* 38475 */ {(12<<2)|2,{102,100,0}}, +/* 38476 */ {(12<<2)|2,{102,100,0}}, +/* 38477 */ {(12<<2)|2,{102,100,0}}, +/* 38478 */ {(12<<2)|2,{102,100,0}}, +/* 38479 */ {(12<<2)|2,{102,100,0}}, +/* 38480 */ {(12<<2)|2,{102,102,0}}, +/* 38481 */ {(12<<2)|2,{102,102,0}}, +/* 38482 */ {(12<<2)|2,{102,102,0}}, +/* 38483 */ {(12<<2)|2,{102,102,0}}, +/* 38484 */ {(12<<2)|2,{102,102,0}}, +/* 38485 */ {(12<<2)|2,{102,102,0}}, +/* 38486 */ {(12<<2)|2,{102,102,0}}, +/* 38487 */ {(12<<2)|2,{102,102,0}}, +/* 38488 */ {(12<<2)|2,{102,102,0}}, +/* 38489 */ {(12<<2)|2,{102,102,0}}, +/* 38490 */ {(12<<2)|2,{102,102,0}}, +/* 38491 */ {(12<<2)|2,{102,102,0}}, +/* 38492 */ {(12<<2)|2,{102,102,0}}, +/* 38493 */ {(12<<2)|2,{102,102,0}}, +/* 38494 */ {(12<<2)|2,{102,102,0}}, +/* 38495 */ {(12<<2)|2,{102,102,0}}, +/* 38496 */ {(12<<2)|2,{102,103,0}}, +/* 38497 */ {(12<<2)|2,{102,103,0}}, +/* 38498 */ {(12<<2)|2,{102,103,0}}, +/* 38499 */ {(12<<2)|2,{102,103,0}}, +/* 38500 */ {(12<<2)|2,{102,103,0}}, +/* 38501 */ {(12<<2)|2,{102,103,0}}, +/* 38502 */ {(12<<2)|2,{102,103,0}}, +/* 38503 */ {(12<<2)|2,{102,103,0}}, +/* 38504 */ {(12<<2)|2,{102,103,0}}, +/* 38505 */ {(12<<2)|2,{102,103,0}}, +/* 38506 */ {(12<<2)|2,{102,103,0}}, +/* 38507 */ {(12<<2)|2,{102,103,0}}, +/* 38508 */ {(12<<2)|2,{102,103,0}}, +/* 38509 */ {(12<<2)|2,{102,103,0}}, +/* 38510 */ {(12<<2)|2,{102,103,0}}, +/* 38511 */ {(12<<2)|2,{102,103,0}}, +/* 38512 */ {(12<<2)|2,{102,104,0}}, +/* 38513 */ {(12<<2)|2,{102,104,0}}, +/* 38514 */ {(12<<2)|2,{102,104,0}}, +/* 38515 */ {(12<<2)|2,{102,104,0}}, +/* 38516 */ {(12<<2)|2,{102,104,0}}, +/* 38517 */ {(12<<2)|2,{102,104,0}}, +/* 38518 */ {(12<<2)|2,{102,104,0}}, +/* 38519 */ {(12<<2)|2,{102,104,0}}, +/* 38520 */ {(12<<2)|2,{102,104,0}}, +/* 38521 */ {(12<<2)|2,{102,104,0}}, +/* 38522 */ {(12<<2)|2,{102,104,0}}, +/* 38523 */ {(12<<2)|2,{102,104,0}}, +/* 38524 */ {(12<<2)|2,{102,104,0}}, +/* 38525 */ {(12<<2)|2,{102,104,0}}, +/* 38526 */ {(12<<2)|2,{102,104,0}}, +/* 38527 */ {(12<<2)|2,{102,104,0}}, +/* 38528 */ {(12<<2)|2,{102,108,0}}, +/* 38529 */ {(12<<2)|2,{102,108,0}}, +/* 38530 */ {(12<<2)|2,{102,108,0}}, +/* 38531 */ {(12<<2)|2,{102,108,0}}, +/* 38532 */ {(12<<2)|2,{102,108,0}}, +/* 38533 */ {(12<<2)|2,{102,108,0}}, +/* 38534 */ {(12<<2)|2,{102,108,0}}, +/* 38535 */ {(12<<2)|2,{102,108,0}}, +/* 38536 */ {(12<<2)|2,{102,108,0}}, +/* 38537 */ {(12<<2)|2,{102,108,0}}, +/* 38538 */ {(12<<2)|2,{102,108,0}}, +/* 38539 */ {(12<<2)|2,{102,108,0}}, +/* 38540 */ {(12<<2)|2,{102,108,0}}, +/* 38541 */ {(12<<2)|2,{102,108,0}}, +/* 38542 */ {(12<<2)|2,{102,108,0}}, +/* 38543 */ {(12<<2)|2,{102,108,0}}, +/* 38544 */ {(12<<2)|2,{102,109,0}}, +/* 38545 */ {(12<<2)|2,{102,109,0}}, +/* 38546 */ {(12<<2)|2,{102,109,0}}, +/* 38547 */ {(12<<2)|2,{102,109,0}}, +/* 38548 */ {(12<<2)|2,{102,109,0}}, +/* 38549 */ {(12<<2)|2,{102,109,0}}, +/* 38550 */ {(12<<2)|2,{102,109,0}}, +/* 38551 */ {(12<<2)|2,{102,109,0}}, +/* 38552 */ {(12<<2)|2,{102,109,0}}, +/* 38553 */ {(12<<2)|2,{102,109,0}}, +/* 38554 */ {(12<<2)|2,{102,109,0}}, +/* 38555 */ {(12<<2)|2,{102,109,0}}, +/* 38556 */ {(12<<2)|2,{102,109,0}}, +/* 38557 */ {(12<<2)|2,{102,109,0}}, +/* 38558 */ {(12<<2)|2,{102,109,0}}, +/* 38559 */ {(12<<2)|2,{102,109,0}}, +/* 38560 */ {(12<<2)|2,{102,110,0}}, +/* 38561 */ {(12<<2)|2,{102,110,0}}, +/* 38562 */ {(12<<2)|2,{102,110,0}}, +/* 38563 */ {(12<<2)|2,{102,110,0}}, +/* 38564 */ {(12<<2)|2,{102,110,0}}, +/* 38565 */ {(12<<2)|2,{102,110,0}}, +/* 38566 */ {(12<<2)|2,{102,110,0}}, +/* 38567 */ {(12<<2)|2,{102,110,0}}, +/* 38568 */ {(12<<2)|2,{102,110,0}}, +/* 38569 */ {(12<<2)|2,{102,110,0}}, +/* 38570 */ {(12<<2)|2,{102,110,0}}, +/* 38571 */ {(12<<2)|2,{102,110,0}}, +/* 38572 */ {(12<<2)|2,{102,110,0}}, +/* 38573 */ {(12<<2)|2,{102,110,0}}, +/* 38574 */ {(12<<2)|2,{102,110,0}}, +/* 38575 */ {(12<<2)|2,{102,110,0}}, +/* 38576 */ {(12<<2)|2,{102,112,0}}, +/* 38577 */ {(12<<2)|2,{102,112,0}}, +/* 38578 */ {(12<<2)|2,{102,112,0}}, +/* 38579 */ {(12<<2)|2,{102,112,0}}, +/* 38580 */ {(12<<2)|2,{102,112,0}}, +/* 38581 */ {(12<<2)|2,{102,112,0}}, +/* 38582 */ {(12<<2)|2,{102,112,0}}, +/* 38583 */ {(12<<2)|2,{102,112,0}}, +/* 38584 */ {(12<<2)|2,{102,112,0}}, +/* 38585 */ {(12<<2)|2,{102,112,0}}, +/* 38586 */ {(12<<2)|2,{102,112,0}}, +/* 38587 */ {(12<<2)|2,{102,112,0}}, +/* 38588 */ {(12<<2)|2,{102,112,0}}, +/* 38589 */ {(12<<2)|2,{102,112,0}}, +/* 38590 */ {(12<<2)|2,{102,112,0}}, +/* 38591 */ {(12<<2)|2,{102,112,0}}, +/* 38592 */ {(12<<2)|2,{102,114,0}}, +/* 38593 */ {(12<<2)|2,{102,114,0}}, +/* 38594 */ {(12<<2)|2,{102,114,0}}, +/* 38595 */ {(12<<2)|2,{102,114,0}}, +/* 38596 */ {(12<<2)|2,{102,114,0}}, +/* 38597 */ {(12<<2)|2,{102,114,0}}, +/* 38598 */ {(12<<2)|2,{102,114,0}}, +/* 38599 */ {(12<<2)|2,{102,114,0}}, +/* 38600 */ {(12<<2)|2,{102,114,0}}, +/* 38601 */ {(12<<2)|2,{102,114,0}}, +/* 38602 */ {(12<<2)|2,{102,114,0}}, +/* 38603 */ {(12<<2)|2,{102,114,0}}, +/* 38604 */ {(12<<2)|2,{102,114,0}}, +/* 38605 */ {(12<<2)|2,{102,114,0}}, +/* 38606 */ {(12<<2)|2,{102,114,0}}, +/* 38607 */ {(12<<2)|2,{102,114,0}}, +/* 38608 */ {(12<<2)|2,{102,117,0}}, +/* 38609 */ {(12<<2)|2,{102,117,0}}, +/* 38610 */ {(12<<2)|2,{102,117,0}}, +/* 38611 */ {(12<<2)|2,{102,117,0}}, +/* 38612 */ {(12<<2)|2,{102,117,0}}, +/* 38613 */ {(12<<2)|2,{102,117,0}}, +/* 38614 */ {(12<<2)|2,{102,117,0}}, +/* 38615 */ {(12<<2)|2,{102,117,0}}, +/* 38616 */ {(12<<2)|2,{102,117,0}}, +/* 38617 */ {(12<<2)|2,{102,117,0}}, +/* 38618 */ {(12<<2)|2,{102,117,0}}, +/* 38619 */ {(12<<2)|2,{102,117,0}}, +/* 38620 */ {(12<<2)|2,{102,117,0}}, +/* 38621 */ {(12<<2)|2,{102,117,0}}, +/* 38622 */ {(12<<2)|2,{102,117,0}}, +/* 38623 */ {(12<<2)|2,{102,117,0}}, +/* 38624 */ {(13<<2)|2,{102,58,0}}, +/* 38625 */ {(13<<2)|2,{102,58,0}}, +/* 38626 */ {(13<<2)|2,{102,58,0}}, +/* 38627 */ {(13<<2)|2,{102,58,0}}, +/* 38628 */ {(13<<2)|2,{102,58,0}}, +/* 38629 */ {(13<<2)|2,{102,58,0}}, +/* 38630 */ {(13<<2)|2,{102,58,0}}, +/* 38631 */ {(13<<2)|2,{102,58,0}}, +/* 38632 */ {(13<<2)|2,{102,66,0}}, +/* 38633 */ {(13<<2)|2,{102,66,0}}, +/* 38634 */ {(13<<2)|2,{102,66,0}}, +/* 38635 */ {(13<<2)|2,{102,66,0}}, +/* 38636 */ {(13<<2)|2,{102,66,0}}, +/* 38637 */ {(13<<2)|2,{102,66,0}}, +/* 38638 */ {(13<<2)|2,{102,66,0}}, +/* 38639 */ {(13<<2)|2,{102,66,0}}, +/* 38640 */ {(13<<2)|2,{102,67,0}}, +/* 38641 */ {(13<<2)|2,{102,67,0}}, +/* 38642 */ {(13<<2)|2,{102,67,0}}, +/* 38643 */ {(13<<2)|2,{102,67,0}}, +/* 38644 */ {(13<<2)|2,{102,67,0}}, +/* 38645 */ {(13<<2)|2,{102,67,0}}, +/* 38646 */ {(13<<2)|2,{102,67,0}}, +/* 38647 */ {(13<<2)|2,{102,67,0}}, +/* 38648 */ {(13<<2)|2,{102,68,0}}, +/* 38649 */ {(13<<2)|2,{102,68,0}}, +/* 38650 */ {(13<<2)|2,{102,68,0}}, +/* 38651 */ {(13<<2)|2,{102,68,0}}, +/* 38652 */ {(13<<2)|2,{102,68,0}}, +/* 38653 */ {(13<<2)|2,{102,68,0}}, +/* 38654 */ {(13<<2)|2,{102,68,0}}, +/* 38655 */ {(13<<2)|2,{102,68,0}}, +/* 38656 */ {(13<<2)|2,{102,69,0}}, +/* 38657 */ {(13<<2)|2,{102,69,0}}, +/* 38658 */ {(13<<2)|2,{102,69,0}}, +/* 38659 */ {(13<<2)|2,{102,69,0}}, +/* 38660 */ {(13<<2)|2,{102,69,0}}, +/* 38661 */ {(13<<2)|2,{102,69,0}}, +/* 38662 */ {(13<<2)|2,{102,69,0}}, +/* 38663 */ {(13<<2)|2,{102,69,0}}, +/* 38664 */ {(13<<2)|2,{102,70,0}}, +/* 38665 */ {(13<<2)|2,{102,70,0}}, +/* 38666 */ {(13<<2)|2,{102,70,0}}, +/* 38667 */ {(13<<2)|2,{102,70,0}}, +/* 38668 */ {(13<<2)|2,{102,70,0}}, +/* 38669 */ {(13<<2)|2,{102,70,0}}, +/* 38670 */ {(13<<2)|2,{102,70,0}}, +/* 38671 */ {(13<<2)|2,{102,70,0}}, +/* 38672 */ {(13<<2)|2,{102,71,0}}, +/* 38673 */ {(13<<2)|2,{102,71,0}}, +/* 38674 */ {(13<<2)|2,{102,71,0}}, +/* 38675 */ {(13<<2)|2,{102,71,0}}, +/* 38676 */ {(13<<2)|2,{102,71,0}}, +/* 38677 */ {(13<<2)|2,{102,71,0}}, +/* 38678 */ {(13<<2)|2,{102,71,0}}, +/* 38679 */ {(13<<2)|2,{102,71,0}}, +/* 38680 */ {(13<<2)|2,{102,72,0}}, +/* 38681 */ {(13<<2)|2,{102,72,0}}, +/* 38682 */ {(13<<2)|2,{102,72,0}}, +/* 38683 */ {(13<<2)|2,{102,72,0}}, +/* 38684 */ {(13<<2)|2,{102,72,0}}, +/* 38685 */ {(13<<2)|2,{102,72,0}}, +/* 38686 */ {(13<<2)|2,{102,72,0}}, +/* 38687 */ {(13<<2)|2,{102,72,0}}, +/* 38688 */ {(13<<2)|2,{102,73,0}}, +/* 38689 */ {(13<<2)|2,{102,73,0}}, +/* 38690 */ {(13<<2)|2,{102,73,0}}, +/* 38691 */ {(13<<2)|2,{102,73,0}}, +/* 38692 */ {(13<<2)|2,{102,73,0}}, +/* 38693 */ {(13<<2)|2,{102,73,0}}, +/* 38694 */ {(13<<2)|2,{102,73,0}}, +/* 38695 */ {(13<<2)|2,{102,73,0}}, +/* 38696 */ {(13<<2)|2,{102,74,0}}, +/* 38697 */ {(13<<2)|2,{102,74,0}}, +/* 38698 */ {(13<<2)|2,{102,74,0}}, +/* 38699 */ {(13<<2)|2,{102,74,0}}, +/* 38700 */ {(13<<2)|2,{102,74,0}}, +/* 38701 */ {(13<<2)|2,{102,74,0}}, +/* 38702 */ {(13<<2)|2,{102,74,0}}, +/* 38703 */ {(13<<2)|2,{102,74,0}}, +/* 38704 */ {(13<<2)|2,{102,75,0}}, +/* 38705 */ {(13<<2)|2,{102,75,0}}, +/* 38706 */ {(13<<2)|2,{102,75,0}}, +/* 38707 */ {(13<<2)|2,{102,75,0}}, +/* 38708 */ {(13<<2)|2,{102,75,0}}, +/* 38709 */ {(13<<2)|2,{102,75,0}}, +/* 38710 */ {(13<<2)|2,{102,75,0}}, +/* 38711 */ {(13<<2)|2,{102,75,0}}, +/* 38712 */ {(13<<2)|2,{102,76,0}}, +/* 38713 */ {(13<<2)|2,{102,76,0}}, +/* 38714 */ {(13<<2)|2,{102,76,0}}, +/* 38715 */ {(13<<2)|2,{102,76,0}}, +/* 38716 */ {(13<<2)|2,{102,76,0}}, +/* 38717 */ {(13<<2)|2,{102,76,0}}, +/* 38718 */ {(13<<2)|2,{102,76,0}}, +/* 38719 */ {(13<<2)|2,{102,76,0}}, +/* 38720 */ {(13<<2)|2,{102,77,0}}, +/* 38721 */ {(13<<2)|2,{102,77,0}}, +/* 38722 */ {(13<<2)|2,{102,77,0}}, +/* 38723 */ {(13<<2)|2,{102,77,0}}, +/* 38724 */ {(13<<2)|2,{102,77,0}}, +/* 38725 */ {(13<<2)|2,{102,77,0}}, +/* 38726 */ {(13<<2)|2,{102,77,0}}, +/* 38727 */ {(13<<2)|2,{102,77,0}}, +/* 38728 */ {(13<<2)|2,{102,78,0}}, +/* 38729 */ {(13<<2)|2,{102,78,0}}, +/* 38730 */ {(13<<2)|2,{102,78,0}}, +/* 38731 */ {(13<<2)|2,{102,78,0}}, +/* 38732 */ {(13<<2)|2,{102,78,0}}, +/* 38733 */ {(13<<2)|2,{102,78,0}}, +/* 38734 */ {(13<<2)|2,{102,78,0}}, +/* 38735 */ {(13<<2)|2,{102,78,0}}, +/* 38736 */ {(13<<2)|2,{102,79,0}}, +/* 38737 */ {(13<<2)|2,{102,79,0}}, +/* 38738 */ {(13<<2)|2,{102,79,0}}, +/* 38739 */ {(13<<2)|2,{102,79,0}}, +/* 38740 */ {(13<<2)|2,{102,79,0}}, +/* 38741 */ {(13<<2)|2,{102,79,0}}, +/* 38742 */ {(13<<2)|2,{102,79,0}}, +/* 38743 */ {(13<<2)|2,{102,79,0}}, +/* 38744 */ {(13<<2)|2,{102,80,0}}, +/* 38745 */ {(13<<2)|2,{102,80,0}}, +/* 38746 */ {(13<<2)|2,{102,80,0}}, +/* 38747 */ {(13<<2)|2,{102,80,0}}, +/* 38748 */ {(13<<2)|2,{102,80,0}}, +/* 38749 */ {(13<<2)|2,{102,80,0}}, +/* 38750 */ {(13<<2)|2,{102,80,0}}, +/* 38751 */ {(13<<2)|2,{102,80,0}}, +/* 38752 */ {(13<<2)|2,{102,81,0}}, +/* 38753 */ {(13<<2)|2,{102,81,0}}, +/* 38754 */ {(13<<2)|2,{102,81,0}}, +/* 38755 */ {(13<<2)|2,{102,81,0}}, +/* 38756 */ {(13<<2)|2,{102,81,0}}, +/* 38757 */ {(13<<2)|2,{102,81,0}}, +/* 38758 */ {(13<<2)|2,{102,81,0}}, +/* 38759 */ {(13<<2)|2,{102,81,0}}, +/* 38760 */ {(13<<2)|2,{102,82,0}}, +/* 38761 */ {(13<<2)|2,{102,82,0}}, +/* 38762 */ {(13<<2)|2,{102,82,0}}, +/* 38763 */ {(13<<2)|2,{102,82,0}}, +/* 38764 */ {(13<<2)|2,{102,82,0}}, +/* 38765 */ {(13<<2)|2,{102,82,0}}, +/* 38766 */ {(13<<2)|2,{102,82,0}}, +/* 38767 */ {(13<<2)|2,{102,82,0}}, +/* 38768 */ {(13<<2)|2,{102,83,0}}, +/* 38769 */ {(13<<2)|2,{102,83,0}}, +/* 38770 */ {(13<<2)|2,{102,83,0}}, +/* 38771 */ {(13<<2)|2,{102,83,0}}, +/* 38772 */ {(13<<2)|2,{102,83,0}}, +/* 38773 */ {(13<<2)|2,{102,83,0}}, +/* 38774 */ {(13<<2)|2,{102,83,0}}, +/* 38775 */ {(13<<2)|2,{102,83,0}}, +/* 38776 */ {(13<<2)|2,{102,84,0}}, +/* 38777 */ {(13<<2)|2,{102,84,0}}, +/* 38778 */ {(13<<2)|2,{102,84,0}}, +/* 38779 */ {(13<<2)|2,{102,84,0}}, +/* 38780 */ {(13<<2)|2,{102,84,0}}, +/* 38781 */ {(13<<2)|2,{102,84,0}}, +/* 38782 */ {(13<<2)|2,{102,84,0}}, +/* 38783 */ {(13<<2)|2,{102,84,0}}, +/* 38784 */ {(13<<2)|2,{102,85,0}}, +/* 38785 */ {(13<<2)|2,{102,85,0}}, +/* 38786 */ {(13<<2)|2,{102,85,0}}, +/* 38787 */ {(13<<2)|2,{102,85,0}}, +/* 38788 */ {(13<<2)|2,{102,85,0}}, +/* 38789 */ {(13<<2)|2,{102,85,0}}, +/* 38790 */ {(13<<2)|2,{102,85,0}}, +/* 38791 */ {(13<<2)|2,{102,85,0}}, +/* 38792 */ {(13<<2)|2,{102,86,0}}, +/* 38793 */ {(13<<2)|2,{102,86,0}}, +/* 38794 */ {(13<<2)|2,{102,86,0}}, +/* 38795 */ {(13<<2)|2,{102,86,0}}, +/* 38796 */ {(13<<2)|2,{102,86,0}}, +/* 38797 */ {(13<<2)|2,{102,86,0}}, +/* 38798 */ {(13<<2)|2,{102,86,0}}, +/* 38799 */ {(13<<2)|2,{102,86,0}}, +/* 38800 */ {(13<<2)|2,{102,87,0}}, +/* 38801 */ {(13<<2)|2,{102,87,0}}, +/* 38802 */ {(13<<2)|2,{102,87,0}}, +/* 38803 */ {(13<<2)|2,{102,87,0}}, +/* 38804 */ {(13<<2)|2,{102,87,0}}, +/* 38805 */ {(13<<2)|2,{102,87,0}}, +/* 38806 */ {(13<<2)|2,{102,87,0}}, +/* 38807 */ {(13<<2)|2,{102,87,0}}, +/* 38808 */ {(13<<2)|2,{102,89,0}}, +/* 38809 */ {(13<<2)|2,{102,89,0}}, +/* 38810 */ {(13<<2)|2,{102,89,0}}, +/* 38811 */ {(13<<2)|2,{102,89,0}}, +/* 38812 */ {(13<<2)|2,{102,89,0}}, +/* 38813 */ {(13<<2)|2,{102,89,0}}, +/* 38814 */ {(13<<2)|2,{102,89,0}}, +/* 38815 */ {(13<<2)|2,{102,89,0}}, +/* 38816 */ {(13<<2)|2,{102,106,0}}, +/* 38817 */ {(13<<2)|2,{102,106,0}}, +/* 38818 */ {(13<<2)|2,{102,106,0}}, +/* 38819 */ {(13<<2)|2,{102,106,0}}, +/* 38820 */ {(13<<2)|2,{102,106,0}}, +/* 38821 */ {(13<<2)|2,{102,106,0}}, +/* 38822 */ {(13<<2)|2,{102,106,0}}, +/* 38823 */ {(13<<2)|2,{102,106,0}}, +/* 38824 */ {(13<<2)|2,{102,107,0}}, +/* 38825 */ {(13<<2)|2,{102,107,0}}, +/* 38826 */ {(13<<2)|2,{102,107,0}}, +/* 38827 */ {(13<<2)|2,{102,107,0}}, +/* 38828 */ {(13<<2)|2,{102,107,0}}, +/* 38829 */ {(13<<2)|2,{102,107,0}}, +/* 38830 */ {(13<<2)|2,{102,107,0}}, +/* 38831 */ {(13<<2)|2,{102,107,0}}, +/* 38832 */ {(13<<2)|2,{102,113,0}}, +/* 38833 */ {(13<<2)|2,{102,113,0}}, +/* 38834 */ {(13<<2)|2,{102,113,0}}, +/* 38835 */ {(13<<2)|2,{102,113,0}}, +/* 38836 */ {(13<<2)|2,{102,113,0}}, +/* 38837 */ {(13<<2)|2,{102,113,0}}, +/* 38838 */ {(13<<2)|2,{102,113,0}}, +/* 38839 */ {(13<<2)|2,{102,113,0}}, +/* 38840 */ {(13<<2)|2,{102,118,0}}, +/* 38841 */ {(13<<2)|2,{102,118,0}}, +/* 38842 */ {(13<<2)|2,{102,118,0}}, +/* 38843 */ {(13<<2)|2,{102,118,0}}, +/* 38844 */ {(13<<2)|2,{102,118,0}}, +/* 38845 */ {(13<<2)|2,{102,118,0}}, +/* 38846 */ {(13<<2)|2,{102,118,0}}, +/* 38847 */ {(13<<2)|2,{102,118,0}}, +/* 38848 */ {(13<<2)|2,{102,119,0}}, +/* 38849 */ {(13<<2)|2,{102,119,0}}, +/* 38850 */ {(13<<2)|2,{102,119,0}}, +/* 38851 */ {(13<<2)|2,{102,119,0}}, +/* 38852 */ {(13<<2)|2,{102,119,0}}, +/* 38853 */ {(13<<2)|2,{102,119,0}}, +/* 38854 */ {(13<<2)|2,{102,119,0}}, +/* 38855 */ {(13<<2)|2,{102,119,0}}, +/* 38856 */ {(13<<2)|2,{102,120,0}}, +/* 38857 */ {(13<<2)|2,{102,120,0}}, +/* 38858 */ {(13<<2)|2,{102,120,0}}, +/* 38859 */ {(13<<2)|2,{102,120,0}}, +/* 38860 */ {(13<<2)|2,{102,120,0}}, +/* 38861 */ {(13<<2)|2,{102,120,0}}, +/* 38862 */ {(13<<2)|2,{102,120,0}}, +/* 38863 */ {(13<<2)|2,{102,120,0}}, +/* 38864 */ {(13<<2)|2,{102,121,0}}, +/* 38865 */ {(13<<2)|2,{102,121,0}}, +/* 38866 */ {(13<<2)|2,{102,121,0}}, +/* 38867 */ {(13<<2)|2,{102,121,0}}, +/* 38868 */ {(13<<2)|2,{102,121,0}}, +/* 38869 */ {(13<<2)|2,{102,121,0}}, +/* 38870 */ {(13<<2)|2,{102,121,0}}, +/* 38871 */ {(13<<2)|2,{102,121,0}}, +/* 38872 */ {(13<<2)|2,{102,122,0}}, +/* 38873 */ {(13<<2)|2,{102,122,0}}, +/* 38874 */ {(13<<2)|2,{102,122,0}}, +/* 38875 */ {(13<<2)|2,{102,122,0}}, +/* 38876 */ {(13<<2)|2,{102,122,0}}, +/* 38877 */ {(13<<2)|2,{102,122,0}}, +/* 38878 */ {(13<<2)|2,{102,122,0}}, +/* 38879 */ {(13<<2)|2,{102,122,0}}, +/* 38880 */ {(14<<2)|2,{102,38,0}}, +/* 38881 */ {(14<<2)|2,{102,38,0}}, +/* 38882 */ {(14<<2)|2,{102,38,0}}, +/* 38883 */ {(14<<2)|2,{102,38,0}}, +/* 38884 */ {(14<<2)|2,{102,42,0}}, +/* 38885 */ {(14<<2)|2,{102,42,0}}, +/* 38886 */ {(14<<2)|2,{102,42,0}}, +/* 38887 */ {(14<<2)|2,{102,42,0}}, +/* 38888 */ {(14<<2)|2,{102,44,0}}, +/* 38889 */ {(14<<2)|2,{102,44,0}}, +/* 38890 */ {(14<<2)|2,{102,44,0}}, +/* 38891 */ {(14<<2)|2,{102,44,0}}, +/* 38892 */ {(14<<2)|2,{102,59,0}}, +/* 38893 */ {(14<<2)|2,{102,59,0}}, +/* 38894 */ {(14<<2)|2,{102,59,0}}, +/* 38895 */ {(14<<2)|2,{102,59,0}}, +/* 38896 */ {(14<<2)|2,{102,88,0}}, +/* 38897 */ {(14<<2)|2,{102,88,0}}, +/* 38898 */ {(14<<2)|2,{102,88,0}}, +/* 38899 */ {(14<<2)|2,{102,88,0}}, +/* 38900 */ {(14<<2)|2,{102,90,0}}, +/* 38901 */ {(14<<2)|2,{102,90,0}}, +/* 38902 */ {(14<<2)|2,{102,90,0}}, +/* 38903 */ {(14<<2)|2,{102,90,0}}, +/* 38904 */ {(16<<2)|2,{102,33,0}}, +/* 38905 */ {(16<<2)|2,{102,34,0}}, +/* 38906 */ {(16<<2)|2,{102,40,0}}, +/* 38907 */ {(16<<2)|2,{102,41,0}}, +/* 38908 */ {(16<<2)|2,{102,63,0}}, +/* 38909 */ {(6<<2)|1,{102,0,0}}, +/* 38910 */ {(6<<2)|1,{102,0,0}}, +/* 38911 */ {(6<<2)|1,{102,0,0}}, +/* 38912 */ {(16<<2)|3,{103,48,48}}, +/* 38913 */ {(16<<2)|3,{103,48,49}}, +/* 38914 */ {(16<<2)|3,{103,48,50}}, +/* 38915 */ {(16<<2)|3,{103,48,97}}, +/* 38916 */ {(16<<2)|3,{103,48,99}}, +/* 38917 */ {(16<<2)|3,{103,48,101}}, +/* 38918 */ {(16<<2)|3,{103,48,105}}, +/* 38919 */ {(16<<2)|3,{103,48,111}}, +/* 38920 */ {(16<<2)|3,{103,48,115}}, +/* 38921 */ {(16<<2)|3,{103,48,116}}, +/* 38922 */ {(11<<2)|2,{103,48,0}}, +/* 38923 */ {(11<<2)|2,{103,48,0}}, +/* 38924 */ {(11<<2)|2,{103,48,0}}, +/* 38925 */ {(11<<2)|2,{103,48,0}}, +/* 38926 */ {(11<<2)|2,{103,48,0}}, +/* 38927 */ {(11<<2)|2,{103,48,0}}, +/* 38928 */ {(11<<2)|2,{103,48,0}}, +/* 38929 */ {(11<<2)|2,{103,48,0}}, +/* 38930 */ {(11<<2)|2,{103,48,0}}, +/* 38931 */ {(11<<2)|2,{103,48,0}}, +/* 38932 */ {(11<<2)|2,{103,48,0}}, +/* 38933 */ {(11<<2)|2,{103,48,0}}, +/* 38934 */ {(11<<2)|2,{103,48,0}}, +/* 38935 */ {(11<<2)|2,{103,48,0}}, +/* 38936 */ {(11<<2)|2,{103,48,0}}, +/* 38937 */ {(11<<2)|2,{103,48,0}}, +/* 38938 */ {(11<<2)|2,{103,48,0}}, +/* 38939 */ {(11<<2)|2,{103,48,0}}, +/* 38940 */ {(11<<2)|2,{103,48,0}}, +/* 38941 */ {(11<<2)|2,{103,48,0}}, +/* 38942 */ {(11<<2)|2,{103,48,0}}, +/* 38943 */ {(11<<2)|2,{103,48,0}}, +/* 38944 */ {(16<<2)|3,{103,49,48}}, +/* 38945 */ {(16<<2)|3,{103,49,49}}, +/* 38946 */ {(16<<2)|3,{103,49,50}}, +/* 38947 */ {(16<<2)|3,{103,49,97}}, +/* 38948 */ {(16<<2)|3,{103,49,99}}, +/* 38949 */ {(16<<2)|3,{103,49,101}}, +/* 38950 */ {(16<<2)|3,{103,49,105}}, +/* 38951 */ {(16<<2)|3,{103,49,111}}, +/* 38952 */ {(16<<2)|3,{103,49,115}}, +/* 38953 */ {(16<<2)|3,{103,49,116}}, +/* 38954 */ {(11<<2)|2,{103,49,0}}, +/* 38955 */ {(11<<2)|2,{103,49,0}}, +/* 38956 */ {(11<<2)|2,{103,49,0}}, +/* 38957 */ {(11<<2)|2,{103,49,0}}, +/* 38958 */ {(11<<2)|2,{103,49,0}}, +/* 38959 */ {(11<<2)|2,{103,49,0}}, +/* 38960 */ {(11<<2)|2,{103,49,0}}, +/* 38961 */ {(11<<2)|2,{103,49,0}}, +/* 38962 */ {(11<<2)|2,{103,49,0}}, +/* 38963 */ {(11<<2)|2,{103,49,0}}, +/* 38964 */ {(11<<2)|2,{103,49,0}}, +/* 38965 */ {(11<<2)|2,{103,49,0}}, +/* 38966 */ {(11<<2)|2,{103,49,0}}, +/* 38967 */ {(11<<2)|2,{103,49,0}}, +/* 38968 */ {(11<<2)|2,{103,49,0}}, +/* 38969 */ {(11<<2)|2,{103,49,0}}, +/* 38970 */ {(11<<2)|2,{103,49,0}}, +/* 38971 */ {(11<<2)|2,{103,49,0}}, +/* 38972 */ {(11<<2)|2,{103,49,0}}, +/* 38973 */ {(11<<2)|2,{103,49,0}}, +/* 38974 */ {(11<<2)|2,{103,49,0}}, +/* 38975 */ {(11<<2)|2,{103,49,0}}, +/* 38976 */ {(16<<2)|3,{103,50,48}}, +/* 38977 */ {(16<<2)|3,{103,50,49}}, +/* 38978 */ {(16<<2)|3,{103,50,50}}, +/* 38979 */ {(16<<2)|3,{103,50,97}}, +/* 38980 */ {(16<<2)|3,{103,50,99}}, +/* 38981 */ {(16<<2)|3,{103,50,101}}, +/* 38982 */ {(16<<2)|3,{103,50,105}}, +/* 38983 */ {(16<<2)|3,{103,50,111}}, +/* 38984 */ {(16<<2)|3,{103,50,115}}, +/* 38985 */ {(16<<2)|3,{103,50,116}}, +/* 38986 */ {(11<<2)|2,{103,50,0}}, +/* 38987 */ {(11<<2)|2,{103,50,0}}, +/* 38988 */ {(11<<2)|2,{103,50,0}}, +/* 38989 */ {(11<<2)|2,{103,50,0}}, +/* 38990 */ {(11<<2)|2,{103,50,0}}, +/* 38991 */ {(11<<2)|2,{103,50,0}}, +/* 38992 */ {(11<<2)|2,{103,50,0}}, +/* 38993 */ {(11<<2)|2,{103,50,0}}, +/* 38994 */ {(11<<2)|2,{103,50,0}}, +/* 38995 */ {(11<<2)|2,{103,50,0}}, +/* 38996 */ {(11<<2)|2,{103,50,0}}, +/* 38997 */ {(11<<2)|2,{103,50,0}}, +/* 38998 */ {(11<<2)|2,{103,50,0}}, +/* 38999 */ {(11<<2)|2,{103,50,0}}, +/* 39000 */ {(11<<2)|2,{103,50,0}}, +/* 39001 */ {(11<<2)|2,{103,50,0}}, +/* 39002 */ {(11<<2)|2,{103,50,0}}, +/* 39003 */ {(11<<2)|2,{103,50,0}}, +/* 39004 */ {(11<<2)|2,{103,50,0}}, +/* 39005 */ {(11<<2)|2,{103,50,0}}, +/* 39006 */ {(11<<2)|2,{103,50,0}}, +/* 39007 */ {(11<<2)|2,{103,50,0}}, +/* 39008 */ {(16<<2)|3,{103,97,48}}, +/* 39009 */ {(16<<2)|3,{103,97,49}}, +/* 39010 */ {(16<<2)|3,{103,97,50}}, +/* 39011 */ {(16<<2)|3,{103,97,97}}, +/* 39012 */ {(16<<2)|3,{103,97,99}}, +/* 39013 */ {(16<<2)|3,{103,97,101}}, +/* 39014 */ {(16<<2)|3,{103,97,105}}, +/* 39015 */ {(16<<2)|3,{103,97,111}}, +/* 39016 */ {(16<<2)|3,{103,97,115}}, +/* 39017 */ {(16<<2)|3,{103,97,116}}, +/* 39018 */ {(11<<2)|2,{103,97,0}}, +/* 39019 */ {(11<<2)|2,{103,97,0}}, +/* 39020 */ {(11<<2)|2,{103,97,0}}, +/* 39021 */ {(11<<2)|2,{103,97,0}}, +/* 39022 */ {(11<<2)|2,{103,97,0}}, +/* 39023 */ {(11<<2)|2,{103,97,0}}, +/* 39024 */ {(11<<2)|2,{103,97,0}}, +/* 39025 */ {(11<<2)|2,{103,97,0}}, +/* 39026 */ {(11<<2)|2,{103,97,0}}, +/* 39027 */ {(11<<2)|2,{103,97,0}}, +/* 39028 */ {(11<<2)|2,{103,97,0}}, +/* 39029 */ {(11<<2)|2,{103,97,0}}, +/* 39030 */ {(11<<2)|2,{103,97,0}}, +/* 39031 */ {(11<<2)|2,{103,97,0}}, +/* 39032 */ {(11<<2)|2,{103,97,0}}, +/* 39033 */ {(11<<2)|2,{103,97,0}}, +/* 39034 */ {(11<<2)|2,{103,97,0}}, +/* 39035 */ {(11<<2)|2,{103,97,0}}, +/* 39036 */ {(11<<2)|2,{103,97,0}}, +/* 39037 */ {(11<<2)|2,{103,97,0}}, +/* 39038 */ {(11<<2)|2,{103,97,0}}, +/* 39039 */ {(11<<2)|2,{103,97,0}}, +/* 39040 */ {(16<<2)|3,{103,99,48}}, +/* 39041 */ {(16<<2)|3,{103,99,49}}, +/* 39042 */ {(16<<2)|3,{103,99,50}}, +/* 39043 */ {(16<<2)|3,{103,99,97}}, +/* 39044 */ {(16<<2)|3,{103,99,99}}, +/* 39045 */ {(16<<2)|3,{103,99,101}}, +/* 39046 */ {(16<<2)|3,{103,99,105}}, +/* 39047 */ {(16<<2)|3,{103,99,111}}, +/* 39048 */ {(16<<2)|3,{103,99,115}}, +/* 39049 */ {(16<<2)|3,{103,99,116}}, +/* 39050 */ {(11<<2)|2,{103,99,0}}, +/* 39051 */ {(11<<2)|2,{103,99,0}}, +/* 39052 */ {(11<<2)|2,{103,99,0}}, +/* 39053 */ {(11<<2)|2,{103,99,0}}, +/* 39054 */ {(11<<2)|2,{103,99,0}}, +/* 39055 */ {(11<<2)|2,{103,99,0}}, +/* 39056 */ {(11<<2)|2,{103,99,0}}, +/* 39057 */ {(11<<2)|2,{103,99,0}}, +/* 39058 */ {(11<<2)|2,{103,99,0}}, +/* 39059 */ {(11<<2)|2,{103,99,0}}, +/* 39060 */ {(11<<2)|2,{103,99,0}}, +/* 39061 */ {(11<<2)|2,{103,99,0}}, +/* 39062 */ {(11<<2)|2,{103,99,0}}, +/* 39063 */ {(11<<2)|2,{103,99,0}}, +/* 39064 */ {(11<<2)|2,{103,99,0}}, +/* 39065 */ {(11<<2)|2,{103,99,0}}, +/* 39066 */ {(11<<2)|2,{103,99,0}}, +/* 39067 */ {(11<<2)|2,{103,99,0}}, +/* 39068 */ {(11<<2)|2,{103,99,0}}, +/* 39069 */ {(11<<2)|2,{103,99,0}}, +/* 39070 */ {(11<<2)|2,{103,99,0}}, +/* 39071 */ {(11<<2)|2,{103,99,0}}, +/* 39072 */ {(16<<2)|3,{103,101,48}}, +/* 39073 */ {(16<<2)|3,{103,101,49}}, +/* 39074 */ {(16<<2)|3,{103,101,50}}, +/* 39075 */ {(16<<2)|3,{103,101,97}}, +/* 39076 */ {(16<<2)|3,{103,101,99}}, +/* 39077 */ {(16<<2)|3,{103,101,101}}, +/* 39078 */ {(16<<2)|3,{103,101,105}}, +/* 39079 */ {(16<<2)|3,{103,101,111}}, +/* 39080 */ {(16<<2)|3,{103,101,115}}, +/* 39081 */ {(16<<2)|3,{103,101,116}}, +/* 39082 */ {(11<<2)|2,{103,101,0}}, +/* 39083 */ {(11<<2)|2,{103,101,0}}, +/* 39084 */ {(11<<2)|2,{103,101,0}}, +/* 39085 */ {(11<<2)|2,{103,101,0}}, +/* 39086 */ {(11<<2)|2,{103,101,0}}, +/* 39087 */ {(11<<2)|2,{103,101,0}}, +/* 39088 */ {(11<<2)|2,{103,101,0}}, +/* 39089 */ {(11<<2)|2,{103,101,0}}, +/* 39090 */ {(11<<2)|2,{103,101,0}}, +/* 39091 */ {(11<<2)|2,{103,101,0}}, +/* 39092 */ {(11<<2)|2,{103,101,0}}, +/* 39093 */ {(11<<2)|2,{103,101,0}}, +/* 39094 */ {(11<<2)|2,{103,101,0}}, +/* 39095 */ {(11<<2)|2,{103,101,0}}, +/* 39096 */ {(11<<2)|2,{103,101,0}}, +/* 39097 */ {(11<<2)|2,{103,101,0}}, +/* 39098 */ {(11<<2)|2,{103,101,0}}, +/* 39099 */ {(11<<2)|2,{103,101,0}}, +/* 39100 */ {(11<<2)|2,{103,101,0}}, +/* 39101 */ {(11<<2)|2,{103,101,0}}, +/* 39102 */ {(11<<2)|2,{103,101,0}}, +/* 39103 */ {(11<<2)|2,{103,101,0}}, +/* 39104 */ {(16<<2)|3,{103,105,48}}, +/* 39105 */ {(16<<2)|3,{103,105,49}}, +/* 39106 */ {(16<<2)|3,{103,105,50}}, +/* 39107 */ {(16<<2)|3,{103,105,97}}, +/* 39108 */ {(16<<2)|3,{103,105,99}}, +/* 39109 */ {(16<<2)|3,{103,105,101}}, +/* 39110 */ {(16<<2)|3,{103,105,105}}, +/* 39111 */ {(16<<2)|3,{103,105,111}}, +/* 39112 */ {(16<<2)|3,{103,105,115}}, +/* 39113 */ {(16<<2)|3,{103,105,116}}, +/* 39114 */ {(11<<2)|2,{103,105,0}}, +/* 39115 */ {(11<<2)|2,{103,105,0}}, +/* 39116 */ {(11<<2)|2,{103,105,0}}, +/* 39117 */ {(11<<2)|2,{103,105,0}}, +/* 39118 */ {(11<<2)|2,{103,105,0}}, +/* 39119 */ {(11<<2)|2,{103,105,0}}, +/* 39120 */ {(11<<2)|2,{103,105,0}}, +/* 39121 */ {(11<<2)|2,{103,105,0}}, +/* 39122 */ {(11<<2)|2,{103,105,0}}, +/* 39123 */ {(11<<2)|2,{103,105,0}}, +/* 39124 */ {(11<<2)|2,{103,105,0}}, +/* 39125 */ {(11<<2)|2,{103,105,0}}, +/* 39126 */ {(11<<2)|2,{103,105,0}}, +/* 39127 */ {(11<<2)|2,{103,105,0}}, +/* 39128 */ {(11<<2)|2,{103,105,0}}, +/* 39129 */ {(11<<2)|2,{103,105,0}}, +/* 39130 */ {(11<<2)|2,{103,105,0}}, +/* 39131 */ {(11<<2)|2,{103,105,0}}, +/* 39132 */ {(11<<2)|2,{103,105,0}}, +/* 39133 */ {(11<<2)|2,{103,105,0}}, +/* 39134 */ {(11<<2)|2,{103,105,0}}, +/* 39135 */ {(11<<2)|2,{103,105,0}}, +/* 39136 */ {(16<<2)|3,{103,111,48}}, +/* 39137 */ {(16<<2)|3,{103,111,49}}, +/* 39138 */ {(16<<2)|3,{103,111,50}}, +/* 39139 */ {(16<<2)|3,{103,111,97}}, +/* 39140 */ {(16<<2)|3,{103,111,99}}, +/* 39141 */ {(16<<2)|3,{103,111,101}}, +/* 39142 */ {(16<<2)|3,{103,111,105}}, +/* 39143 */ {(16<<2)|3,{103,111,111}}, +/* 39144 */ {(16<<2)|3,{103,111,115}}, +/* 39145 */ {(16<<2)|3,{103,111,116}}, +/* 39146 */ {(11<<2)|2,{103,111,0}}, +/* 39147 */ {(11<<2)|2,{103,111,0}}, +/* 39148 */ {(11<<2)|2,{103,111,0}}, +/* 39149 */ {(11<<2)|2,{103,111,0}}, +/* 39150 */ {(11<<2)|2,{103,111,0}}, +/* 39151 */ {(11<<2)|2,{103,111,0}}, +/* 39152 */ {(11<<2)|2,{103,111,0}}, +/* 39153 */ {(11<<2)|2,{103,111,0}}, +/* 39154 */ {(11<<2)|2,{103,111,0}}, +/* 39155 */ {(11<<2)|2,{103,111,0}}, +/* 39156 */ {(11<<2)|2,{103,111,0}}, +/* 39157 */ {(11<<2)|2,{103,111,0}}, +/* 39158 */ {(11<<2)|2,{103,111,0}}, +/* 39159 */ {(11<<2)|2,{103,111,0}}, +/* 39160 */ {(11<<2)|2,{103,111,0}}, +/* 39161 */ {(11<<2)|2,{103,111,0}}, +/* 39162 */ {(11<<2)|2,{103,111,0}}, +/* 39163 */ {(11<<2)|2,{103,111,0}}, +/* 39164 */ {(11<<2)|2,{103,111,0}}, +/* 39165 */ {(11<<2)|2,{103,111,0}}, +/* 39166 */ {(11<<2)|2,{103,111,0}}, +/* 39167 */ {(11<<2)|2,{103,111,0}}, +/* 39168 */ {(16<<2)|3,{103,115,48}}, +/* 39169 */ {(16<<2)|3,{103,115,49}}, +/* 39170 */ {(16<<2)|3,{103,115,50}}, +/* 39171 */ {(16<<2)|3,{103,115,97}}, +/* 39172 */ {(16<<2)|3,{103,115,99}}, +/* 39173 */ {(16<<2)|3,{103,115,101}}, +/* 39174 */ {(16<<2)|3,{103,115,105}}, +/* 39175 */ {(16<<2)|3,{103,115,111}}, +/* 39176 */ {(16<<2)|3,{103,115,115}}, +/* 39177 */ {(16<<2)|3,{103,115,116}}, +/* 39178 */ {(11<<2)|2,{103,115,0}}, +/* 39179 */ {(11<<2)|2,{103,115,0}}, +/* 39180 */ {(11<<2)|2,{103,115,0}}, +/* 39181 */ {(11<<2)|2,{103,115,0}}, +/* 39182 */ {(11<<2)|2,{103,115,0}}, +/* 39183 */ {(11<<2)|2,{103,115,0}}, +/* 39184 */ {(11<<2)|2,{103,115,0}}, +/* 39185 */ {(11<<2)|2,{103,115,0}}, +/* 39186 */ {(11<<2)|2,{103,115,0}}, +/* 39187 */ {(11<<2)|2,{103,115,0}}, +/* 39188 */ {(11<<2)|2,{103,115,0}}, +/* 39189 */ {(11<<2)|2,{103,115,0}}, +/* 39190 */ {(11<<2)|2,{103,115,0}}, +/* 39191 */ {(11<<2)|2,{103,115,0}}, +/* 39192 */ {(11<<2)|2,{103,115,0}}, +/* 39193 */ {(11<<2)|2,{103,115,0}}, +/* 39194 */ {(11<<2)|2,{103,115,0}}, +/* 39195 */ {(11<<2)|2,{103,115,0}}, +/* 39196 */ {(11<<2)|2,{103,115,0}}, +/* 39197 */ {(11<<2)|2,{103,115,0}}, +/* 39198 */ {(11<<2)|2,{103,115,0}}, +/* 39199 */ {(11<<2)|2,{103,115,0}}, +/* 39200 */ {(16<<2)|3,{103,116,48}}, +/* 39201 */ {(16<<2)|3,{103,116,49}}, +/* 39202 */ {(16<<2)|3,{103,116,50}}, +/* 39203 */ {(16<<2)|3,{103,116,97}}, +/* 39204 */ {(16<<2)|3,{103,116,99}}, +/* 39205 */ {(16<<2)|3,{103,116,101}}, +/* 39206 */ {(16<<2)|3,{103,116,105}}, +/* 39207 */ {(16<<2)|3,{103,116,111}}, +/* 39208 */ {(16<<2)|3,{103,116,115}}, +/* 39209 */ {(16<<2)|3,{103,116,116}}, +/* 39210 */ {(11<<2)|2,{103,116,0}}, +/* 39211 */ {(11<<2)|2,{103,116,0}}, +/* 39212 */ {(11<<2)|2,{103,116,0}}, +/* 39213 */ {(11<<2)|2,{103,116,0}}, +/* 39214 */ {(11<<2)|2,{103,116,0}}, +/* 39215 */ {(11<<2)|2,{103,116,0}}, +/* 39216 */ {(11<<2)|2,{103,116,0}}, +/* 39217 */ {(11<<2)|2,{103,116,0}}, +/* 39218 */ {(11<<2)|2,{103,116,0}}, +/* 39219 */ {(11<<2)|2,{103,116,0}}, +/* 39220 */ {(11<<2)|2,{103,116,0}}, +/* 39221 */ {(11<<2)|2,{103,116,0}}, +/* 39222 */ {(11<<2)|2,{103,116,0}}, +/* 39223 */ {(11<<2)|2,{103,116,0}}, +/* 39224 */ {(11<<2)|2,{103,116,0}}, +/* 39225 */ {(11<<2)|2,{103,116,0}}, +/* 39226 */ {(11<<2)|2,{103,116,0}}, +/* 39227 */ {(11<<2)|2,{103,116,0}}, +/* 39228 */ {(11<<2)|2,{103,116,0}}, +/* 39229 */ {(11<<2)|2,{103,116,0}}, +/* 39230 */ {(11<<2)|2,{103,116,0}}, +/* 39231 */ {(11<<2)|2,{103,116,0}}, +/* 39232 */ {(12<<2)|2,{103,32,0}}, +/* 39233 */ {(12<<2)|2,{103,32,0}}, +/* 39234 */ {(12<<2)|2,{103,32,0}}, +/* 39235 */ {(12<<2)|2,{103,32,0}}, +/* 39236 */ {(12<<2)|2,{103,32,0}}, +/* 39237 */ {(12<<2)|2,{103,32,0}}, +/* 39238 */ {(12<<2)|2,{103,32,0}}, +/* 39239 */ {(12<<2)|2,{103,32,0}}, +/* 39240 */ {(12<<2)|2,{103,32,0}}, +/* 39241 */ {(12<<2)|2,{103,32,0}}, +/* 39242 */ {(12<<2)|2,{103,32,0}}, +/* 39243 */ {(12<<2)|2,{103,32,0}}, +/* 39244 */ {(12<<2)|2,{103,32,0}}, +/* 39245 */ {(12<<2)|2,{103,32,0}}, +/* 39246 */ {(12<<2)|2,{103,32,0}}, +/* 39247 */ {(12<<2)|2,{103,32,0}}, +/* 39248 */ {(12<<2)|2,{103,37,0}}, +/* 39249 */ {(12<<2)|2,{103,37,0}}, +/* 39250 */ {(12<<2)|2,{103,37,0}}, +/* 39251 */ {(12<<2)|2,{103,37,0}}, +/* 39252 */ {(12<<2)|2,{103,37,0}}, +/* 39253 */ {(12<<2)|2,{103,37,0}}, +/* 39254 */ {(12<<2)|2,{103,37,0}}, +/* 39255 */ {(12<<2)|2,{103,37,0}}, +/* 39256 */ {(12<<2)|2,{103,37,0}}, +/* 39257 */ {(12<<2)|2,{103,37,0}}, +/* 39258 */ {(12<<2)|2,{103,37,0}}, +/* 39259 */ {(12<<2)|2,{103,37,0}}, +/* 39260 */ {(12<<2)|2,{103,37,0}}, +/* 39261 */ {(12<<2)|2,{103,37,0}}, +/* 39262 */ {(12<<2)|2,{103,37,0}}, +/* 39263 */ {(12<<2)|2,{103,37,0}}, +/* 39264 */ {(12<<2)|2,{103,45,0}}, +/* 39265 */ {(12<<2)|2,{103,45,0}}, +/* 39266 */ {(12<<2)|2,{103,45,0}}, +/* 39267 */ {(12<<2)|2,{103,45,0}}, +/* 39268 */ {(12<<2)|2,{103,45,0}}, +/* 39269 */ {(12<<2)|2,{103,45,0}}, +/* 39270 */ {(12<<2)|2,{103,45,0}}, +/* 39271 */ {(12<<2)|2,{103,45,0}}, +/* 39272 */ {(12<<2)|2,{103,45,0}}, +/* 39273 */ {(12<<2)|2,{103,45,0}}, +/* 39274 */ {(12<<2)|2,{103,45,0}}, +/* 39275 */ {(12<<2)|2,{103,45,0}}, +/* 39276 */ {(12<<2)|2,{103,45,0}}, +/* 39277 */ {(12<<2)|2,{103,45,0}}, +/* 39278 */ {(12<<2)|2,{103,45,0}}, +/* 39279 */ {(12<<2)|2,{103,45,0}}, +/* 39280 */ {(12<<2)|2,{103,46,0}}, +/* 39281 */ {(12<<2)|2,{103,46,0}}, +/* 39282 */ {(12<<2)|2,{103,46,0}}, +/* 39283 */ {(12<<2)|2,{103,46,0}}, +/* 39284 */ {(12<<2)|2,{103,46,0}}, +/* 39285 */ {(12<<2)|2,{103,46,0}}, +/* 39286 */ {(12<<2)|2,{103,46,0}}, +/* 39287 */ {(12<<2)|2,{103,46,0}}, +/* 39288 */ {(12<<2)|2,{103,46,0}}, +/* 39289 */ {(12<<2)|2,{103,46,0}}, +/* 39290 */ {(12<<2)|2,{103,46,0}}, +/* 39291 */ {(12<<2)|2,{103,46,0}}, +/* 39292 */ {(12<<2)|2,{103,46,0}}, +/* 39293 */ {(12<<2)|2,{103,46,0}}, +/* 39294 */ {(12<<2)|2,{103,46,0}}, +/* 39295 */ {(12<<2)|2,{103,46,0}}, +/* 39296 */ {(12<<2)|2,{103,47,0}}, +/* 39297 */ {(12<<2)|2,{103,47,0}}, +/* 39298 */ {(12<<2)|2,{103,47,0}}, +/* 39299 */ {(12<<2)|2,{103,47,0}}, +/* 39300 */ {(12<<2)|2,{103,47,0}}, +/* 39301 */ {(12<<2)|2,{103,47,0}}, +/* 39302 */ {(12<<2)|2,{103,47,0}}, +/* 39303 */ {(12<<2)|2,{103,47,0}}, +/* 39304 */ {(12<<2)|2,{103,47,0}}, +/* 39305 */ {(12<<2)|2,{103,47,0}}, +/* 39306 */ {(12<<2)|2,{103,47,0}}, +/* 39307 */ {(12<<2)|2,{103,47,0}}, +/* 39308 */ {(12<<2)|2,{103,47,0}}, +/* 39309 */ {(12<<2)|2,{103,47,0}}, +/* 39310 */ {(12<<2)|2,{103,47,0}}, +/* 39311 */ {(12<<2)|2,{103,47,0}}, +/* 39312 */ {(12<<2)|2,{103,51,0}}, +/* 39313 */ {(12<<2)|2,{103,51,0}}, +/* 39314 */ {(12<<2)|2,{103,51,0}}, +/* 39315 */ {(12<<2)|2,{103,51,0}}, +/* 39316 */ {(12<<2)|2,{103,51,0}}, +/* 39317 */ {(12<<2)|2,{103,51,0}}, +/* 39318 */ {(12<<2)|2,{103,51,0}}, +/* 39319 */ {(12<<2)|2,{103,51,0}}, +/* 39320 */ {(12<<2)|2,{103,51,0}}, +/* 39321 */ {(12<<2)|2,{103,51,0}}, +/* 39322 */ {(12<<2)|2,{103,51,0}}, +/* 39323 */ {(12<<2)|2,{103,51,0}}, +/* 39324 */ {(12<<2)|2,{103,51,0}}, +/* 39325 */ {(12<<2)|2,{103,51,0}}, +/* 39326 */ {(12<<2)|2,{103,51,0}}, +/* 39327 */ {(12<<2)|2,{103,51,0}}, +/* 39328 */ {(12<<2)|2,{103,52,0}}, +/* 39329 */ {(12<<2)|2,{103,52,0}}, +/* 39330 */ {(12<<2)|2,{103,52,0}}, +/* 39331 */ {(12<<2)|2,{103,52,0}}, +/* 39332 */ {(12<<2)|2,{103,52,0}}, +/* 39333 */ {(12<<2)|2,{103,52,0}}, +/* 39334 */ {(12<<2)|2,{103,52,0}}, +/* 39335 */ {(12<<2)|2,{103,52,0}}, +/* 39336 */ {(12<<2)|2,{103,52,0}}, +/* 39337 */ {(12<<2)|2,{103,52,0}}, +/* 39338 */ {(12<<2)|2,{103,52,0}}, +/* 39339 */ {(12<<2)|2,{103,52,0}}, +/* 39340 */ {(12<<2)|2,{103,52,0}}, +/* 39341 */ {(12<<2)|2,{103,52,0}}, +/* 39342 */ {(12<<2)|2,{103,52,0}}, +/* 39343 */ {(12<<2)|2,{103,52,0}}, +/* 39344 */ {(12<<2)|2,{103,53,0}}, +/* 39345 */ {(12<<2)|2,{103,53,0}}, +/* 39346 */ {(12<<2)|2,{103,53,0}}, +/* 39347 */ {(12<<2)|2,{103,53,0}}, +/* 39348 */ {(12<<2)|2,{103,53,0}}, +/* 39349 */ {(12<<2)|2,{103,53,0}}, +/* 39350 */ {(12<<2)|2,{103,53,0}}, +/* 39351 */ {(12<<2)|2,{103,53,0}}, +/* 39352 */ {(12<<2)|2,{103,53,0}}, +/* 39353 */ {(12<<2)|2,{103,53,0}}, +/* 39354 */ {(12<<2)|2,{103,53,0}}, +/* 39355 */ {(12<<2)|2,{103,53,0}}, +/* 39356 */ {(12<<2)|2,{103,53,0}}, +/* 39357 */ {(12<<2)|2,{103,53,0}}, +/* 39358 */ {(12<<2)|2,{103,53,0}}, +/* 39359 */ {(12<<2)|2,{103,53,0}}, +/* 39360 */ {(12<<2)|2,{103,54,0}}, +/* 39361 */ {(12<<2)|2,{103,54,0}}, +/* 39362 */ {(12<<2)|2,{103,54,0}}, +/* 39363 */ {(12<<2)|2,{103,54,0}}, +/* 39364 */ {(12<<2)|2,{103,54,0}}, +/* 39365 */ {(12<<2)|2,{103,54,0}}, +/* 39366 */ {(12<<2)|2,{103,54,0}}, +/* 39367 */ {(12<<2)|2,{103,54,0}}, +/* 39368 */ {(12<<2)|2,{103,54,0}}, +/* 39369 */ {(12<<2)|2,{103,54,0}}, +/* 39370 */ {(12<<2)|2,{103,54,0}}, +/* 39371 */ {(12<<2)|2,{103,54,0}}, +/* 39372 */ {(12<<2)|2,{103,54,0}}, +/* 39373 */ {(12<<2)|2,{103,54,0}}, +/* 39374 */ {(12<<2)|2,{103,54,0}}, +/* 39375 */ {(12<<2)|2,{103,54,0}}, +/* 39376 */ {(12<<2)|2,{103,55,0}}, +/* 39377 */ {(12<<2)|2,{103,55,0}}, +/* 39378 */ {(12<<2)|2,{103,55,0}}, +/* 39379 */ {(12<<2)|2,{103,55,0}}, +/* 39380 */ {(12<<2)|2,{103,55,0}}, +/* 39381 */ {(12<<2)|2,{103,55,0}}, +/* 39382 */ {(12<<2)|2,{103,55,0}}, +/* 39383 */ {(12<<2)|2,{103,55,0}}, +/* 39384 */ {(12<<2)|2,{103,55,0}}, +/* 39385 */ {(12<<2)|2,{103,55,0}}, +/* 39386 */ {(12<<2)|2,{103,55,0}}, +/* 39387 */ {(12<<2)|2,{103,55,0}}, +/* 39388 */ {(12<<2)|2,{103,55,0}}, +/* 39389 */ {(12<<2)|2,{103,55,0}}, +/* 39390 */ {(12<<2)|2,{103,55,0}}, +/* 39391 */ {(12<<2)|2,{103,55,0}}, +/* 39392 */ {(12<<2)|2,{103,56,0}}, +/* 39393 */ {(12<<2)|2,{103,56,0}}, +/* 39394 */ {(12<<2)|2,{103,56,0}}, +/* 39395 */ {(12<<2)|2,{103,56,0}}, +/* 39396 */ {(12<<2)|2,{103,56,0}}, +/* 39397 */ {(12<<2)|2,{103,56,0}}, +/* 39398 */ {(12<<2)|2,{103,56,0}}, +/* 39399 */ {(12<<2)|2,{103,56,0}}, +/* 39400 */ {(12<<2)|2,{103,56,0}}, +/* 39401 */ {(12<<2)|2,{103,56,0}}, +/* 39402 */ {(12<<2)|2,{103,56,0}}, +/* 39403 */ {(12<<2)|2,{103,56,0}}, +/* 39404 */ {(12<<2)|2,{103,56,0}}, +/* 39405 */ {(12<<2)|2,{103,56,0}}, +/* 39406 */ {(12<<2)|2,{103,56,0}}, +/* 39407 */ {(12<<2)|2,{103,56,0}}, +/* 39408 */ {(12<<2)|2,{103,57,0}}, +/* 39409 */ {(12<<2)|2,{103,57,0}}, +/* 39410 */ {(12<<2)|2,{103,57,0}}, +/* 39411 */ {(12<<2)|2,{103,57,0}}, +/* 39412 */ {(12<<2)|2,{103,57,0}}, +/* 39413 */ {(12<<2)|2,{103,57,0}}, +/* 39414 */ {(12<<2)|2,{103,57,0}}, +/* 39415 */ {(12<<2)|2,{103,57,0}}, +/* 39416 */ {(12<<2)|2,{103,57,0}}, +/* 39417 */ {(12<<2)|2,{103,57,0}}, +/* 39418 */ {(12<<2)|2,{103,57,0}}, +/* 39419 */ {(12<<2)|2,{103,57,0}}, +/* 39420 */ {(12<<2)|2,{103,57,0}}, +/* 39421 */ {(12<<2)|2,{103,57,0}}, +/* 39422 */ {(12<<2)|2,{103,57,0}}, +/* 39423 */ {(12<<2)|2,{103,57,0}}, +/* 39424 */ {(12<<2)|2,{103,61,0}}, +/* 39425 */ {(12<<2)|2,{103,61,0}}, +/* 39426 */ {(12<<2)|2,{103,61,0}}, +/* 39427 */ {(12<<2)|2,{103,61,0}}, +/* 39428 */ {(12<<2)|2,{103,61,0}}, +/* 39429 */ {(12<<2)|2,{103,61,0}}, +/* 39430 */ {(12<<2)|2,{103,61,0}}, +/* 39431 */ {(12<<2)|2,{103,61,0}}, +/* 39432 */ {(12<<2)|2,{103,61,0}}, +/* 39433 */ {(12<<2)|2,{103,61,0}}, +/* 39434 */ {(12<<2)|2,{103,61,0}}, +/* 39435 */ {(12<<2)|2,{103,61,0}}, +/* 39436 */ {(12<<2)|2,{103,61,0}}, +/* 39437 */ {(12<<2)|2,{103,61,0}}, +/* 39438 */ {(12<<2)|2,{103,61,0}}, +/* 39439 */ {(12<<2)|2,{103,61,0}}, +/* 39440 */ {(12<<2)|2,{103,65,0}}, +/* 39441 */ {(12<<2)|2,{103,65,0}}, +/* 39442 */ {(12<<2)|2,{103,65,0}}, +/* 39443 */ {(12<<2)|2,{103,65,0}}, +/* 39444 */ {(12<<2)|2,{103,65,0}}, +/* 39445 */ {(12<<2)|2,{103,65,0}}, +/* 39446 */ {(12<<2)|2,{103,65,0}}, +/* 39447 */ {(12<<2)|2,{103,65,0}}, +/* 39448 */ {(12<<2)|2,{103,65,0}}, +/* 39449 */ {(12<<2)|2,{103,65,0}}, +/* 39450 */ {(12<<2)|2,{103,65,0}}, +/* 39451 */ {(12<<2)|2,{103,65,0}}, +/* 39452 */ {(12<<2)|2,{103,65,0}}, +/* 39453 */ {(12<<2)|2,{103,65,0}}, +/* 39454 */ {(12<<2)|2,{103,65,0}}, +/* 39455 */ {(12<<2)|2,{103,65,0}}, +/* 39456 */ {(12<<2)|2,{103,95,0}}, +/* 39457 */ {(12<<2)|2,{103,95,0}}, +/* 39458 */ {(12<<2)|2,{103,95,0}}, +/* 39459 */ {(12<<2)|2,{103,95,0}}, +/* 39460 */ {(12<<2)|2,{103,95,0}}, +/* 39461 */ {(12<<2)|2,{103,95,0}}, +/* 39462 */ {(12<<2)|2,{103,95,0}}, +/* 39463 */ {(12<<2)|2,{103,95,0}}, +/* 39464 */ {(12<<2)|2,{103,95,0}}, +/* 39465 */ {(12<<2)|2,{103,95,0}}, +/* 39466 */ {(12<<2)|2,{103,95,0}}, +/* 39467 */ {(12<<2)|2,{103,95,0}}, +/* 39468 */ {(12<<2)|2,{103,95,0}}, +/* 39469 */ {(12<<2)|2,{103,95,0}}, +/* 39470 */ {(12<<2)|2,{103,95,0}}, +/* 39471 */ {(12<<2)|2,{103,95,0}}, +/* 39472 */ {(12<<2)|2,{103,98,0}}, +/* 39473 */ {(12<<2)|2,{103,98,0}}, +/* 39474 */ {(12<<2)|2,{103,98,0}}, +/* 39475 */ {(12<<2)|2,{103,98,0}}, +/* 39476 */ {(12<<2)|2,{103,98,0}}, +/* 39477 */ {(12<<2)|2,{103,98,0}}, +/* 39478 */ {(12<<2)|2,{103,98,0}}, +/* 39479 */ {(12<<2)|2,{103,98,0}}, +/* 39480 */ {(12<<2)|2,{103,98,0}}, +/* 39481 */ {(12<<2)|2,{103,98,0}}, +/* 39482 */ {(12<<2)|2,{103,98,0}}, +/* 39483 */ {(12<<2)|2,{103,98,0}}, +/* 39484 */ {(12<<2)|2,{103,98,0}}, +/* 39485 */ {(12<<2)|2,{103,98,0}}, +/* 39486 */ {(12<<2)|2,{103,98,0}}, +/* 39487 */ {(12<<2)|2,{103,98,0}}, +/* 39488 */ {(12<<2)|2,{103,100,0}}, +/* 39489 */ {(12<<2)|2,{103,100,0}}, +/* 39490 */ {(12<<2)|2,{103,100,0}}, +/* 39491 */ {(12<<2)|2,{103,100,0}}, +/* 39492 */ {(12<<2)|2,{103,100,0}}, +/* 39493 */ {(12<<2)|2,{103,100,0}}, +/* 39494 */ {(12<<2)|2,{103,100,0}}, +/* 39495 */ {(12<<2)|2,{103,100,0}}, +/* 39496 */ {(12<<2)|2,{103,100,0}}, +/* 39497 */ {(12<<2)|2,{103,100,0}}, +/* 39498 */ {(12<<2)|2,{103,100,0}}, +/* 39499 */ {(12<<2)|2,{103,100,0}}, +/* 39500 */ {(12<<2)|2,{103,100,0}}, +/* 39501 */ {(12<<2)|2,{103,100,0}}, +/* 39502 */ {(12<<2)|2,{103,100,0}}, +/* 39503 */ {(12<<2)|2,{103,100,0}}, +/* 39504 */ {(12<<2)|2,{103,102,0}}, +/* 39505 */ {(12<<2)|2,{103,102,0}}, +/* 39506 */ {(12<<2)|2,{103,102,0}}, +/* 39507 */ {(12<<2)|2,{103,102,0}}, +/* 39508 */ {(12<<2)|2,{103,102,0}}, +/* 39509 */ {(12<<2)|2,{103,102,0}}, +/* 39510 */ {(12<<2)|2,{103,102,0}}, +/* 39511 */ {(12<<2)|2,{103,102,0}}, +/* 39512 */ {(12<<2)|2,{103,102,0}}, +/* 39513 */ {(12<<2)|2,{103,102,0}}, +/* 39514 */ {(12<<2)|2,{103,102,0}}, +/* 39515 */ {(12<<2)|2,{103,102,0}}, +/* 39516 */ {(12<<2)|2,{103,102,0}}, +/* 39517 */ {(12<<2)|2,{103,102,0}}, +/* 39518 */ {(12<<2)|2,{103,102,0}}, +/* 39519 */ {(12<<2)|2,{103,102,0}}, +/* 39520 */ {(12<<2)|2,{103,103,0}}, +/* 39521 */ {(12<<2)|2,{103,103,0}}, +/* 39522 */ {(12<<2)|2,{103,103,0}}, +/* 39523 */ {(12<<2)|2,{103,103,0}}, +/* 39524 */ {(12<<2)|2,{103,103,0}}, +/* 39525 */ {(12<<2)|2,{103,103,0}}, +/* 39526 */ {(12<<2)|2,{103,103,0}}, +/* 39527 */ {(12<<2)|2,{103,103,0}}, +/* 39528 */ {(12<<2)|2,{103,103,0}}, +/* 39529 */ {(12<<2)|2,{103,103,0}}, +/* 39530 */ {(12<<2)|2,{103,103,0}}, +/* 39531 */ {(12<<2)|2,{103,103,0}}, +/* 39532 */ {(12<<2)|2,{103,103,0}}, +/* 39533 */ {(12<<2)|2,{103,103,0}}, +/* 39534 */ {(12<<2)|2,{103,103,0}}, +/* 39535 */ {(12<<2)|2,{103,103,0}}, +/* 39536 */ {(12<<2)|2,{103,104,0}}, +/* 39537 */ {(12<<2)|2,{103,104,0}}, +/* 39538 */ {(12<<2)|2,{103,104,0}}, +/* 39539 */ {(12<<2)|2,{103,104,0}}, +/* 39540 */ {(12<<2)|2,{103,104,0}}, +/* 39541 */ {(12<<2)|2,{103,104,0}}, +/* 39542 */ {(12<<2)|2,{103,104,0}}, +/* 39543 */ {(12<<2)|2,{103,104,0}}, +/* 39544 */ {(12<<2)|2,{103,104,0}}, +/* 39545 */ {(12<<2)|2,{103,104,0}}, +/* 39546 */ {(12<<2)|2,{103,104,0}}, +/* 39547 */ {(12<<2)|2,{103,104,0}}, +/* 39548 */ {(12<<2)|2,{103,104,0}}, +/* 39549 */ {(12<<2)|2,{103,104,0}}, +/* 39550 */ {(12<<2)|2,{103,104,0}}, +/* 39551 */ {(12<<2)|2,{103,104,0}}, +/* 39552 */ {(12<<2)|2,{103,108,0}}, +/* 39553 */ {(12<<2)|2,{103,108,0}}, +/* 39554 */ {(12<<2)|2,{103,108,0}}, +/* 39555 */ {(12<<2)|2,{103,108,0}}, +/* 39556 */ {(12<<2)|2,{103,108,0}}, +/* 39557 */ {(12<<2)|2,{103,108,0}}, +/* 39558 */ {(12<<2)|2,{103,108,0}}, +/* 39559 */ {(12<<2)|2,{103,108,0}}, +/* 39560 */ {(12<<2)|2,{103,108,0}}, +/* 39561 */ {(12<<2)|2,{103,108,0}}, +/* 39562 */ {(12<<2)|2,{103,108,0}}, +/* 39563 */ {(12<<2)|2,{103,108,0}}, +/* 39564 */ {(12<<2)|2,{103,108,0}}, +/* 39565 */ {(12<<2)|2,{103,108,0}}, +/* 39566 */ {(12<<2)|2,{103,108,0}}, +/* 39567 */ {(12<<2)|2,{103,108,0}}, +/* 39568 */ {(12<<2)|2,{103,109,0}}, +/* 39569 */ {(12<<2)|2,{103,109,0}}, +/* 39570 */ {(12<<2)|2,{103,109,0}}, +/* 39571 */ {(12<<2)|2,{103,109,0}}, +/* 39572 */ {(12<<2)|2,{103,109,0}}, +/* 39573 */ {(12<<2)|2,{103,109,0}}, +/* 39574 */ {(12<<2)|2,{103,109,0}}, +/* 39575 */ {(12<<2)|2,{103,109,0}}, +/* 39576 */ {(12<<2)|2,{103,109,0}}, +/* 39577 */ {(12<<2)|2,{103,109,0}}, +/* 39578 */ {(12<<2)|2,{103,109,0}}, +/* 39579 */ {(12<<2)|2,{103,109,0}}, +/* 39580 */ {(12<<2)|2,{103,109,0}}, +/* 39581 */ {(12<<2)|2,{103,109,0}}, +/* 39582 */ {(12<<2)|2,{103,109,0}}, +/* 39583 */ {(12<<2)|2,{103,109,0}}, +/* 39584 */ {(12<<2)|2,{103,110,0}}, +/* 39585 */ {(12<<2)|2,{103,110,0}}, +/* 39586 */ {(12<<2)|2,{103,110,0}}, +/* 39587 */ {(12<<2)|2,{103,110,0}}, +/* 39588 */ {(12<<2)|2,{103,110,0}}, +/* 39589 */ {(12<<2)|2,{103,110,0}}, +/* 39590 */ {(12<<2)|2,{103,110,0}}, +/* 39591 */ {(12<<2)|2,{103,110,0}}, +/* 39592 */ {(12<<2)|2,{103,110,0}}, +/* 39593 */ {(12<<2)|2,{103,110,0}}, +/* 39594 */ {(12<<2)|2,{103,110,0}}, +/* 39595 */ {(12<<2)|2,{103,110,0}}, +/* 39596 */ {(12<<2)|2,{103,110,0}}, +/* 39597 */ {(12<<2)|2,{103,110,0}}, +/* 39598 */ {(12<<2)|2,{103,110,0}}, +/* 39599 */ {(12<<2)|2,{103,110,0}}, +/* 39600 */ {(12<<2)|2,{103,112,0}}, +/* 39601 */ {(12<<2)|2,{103,112,0}}, +/* 39602 */ {(12<<2)|2,{103,112,0}}, +/* 39603 */ {(12<<2)|2,{103,112,0}}, +/* 39604 */ {(12<<2)|2,{103,112,0}}, +/* 39605 */ {(12<<2)|2,{103,112,0}}, +/* 39606 */ {(12<<2)|2,{103,112,0}}, +/* 39607 */ {(12<<2)|2,{103,112,0}}, +/* 39608 */ {(12<<2)|2,{103,112,0}}, +/* 39609 */ {(12<<2)|2,{103,112,0}}, +/* 39610 */ {(12<<2)|2,{103,112,0}}, +/* 39611 */ {(12<<2)|2,{103,112,0}}, +/* 39612 */ {(12<<2)|2,{103,112,0}}, +/* 39613 */ {(12<<2)|2,{103,112,0}}, +/* 39614 */ {(12<<2)|2,{103,112,0}}, +/* 39615 */ {(12<<2)|2,{103,112,0}}, +/* 39616 */ {(12<<2)|2,{103,114,0}}, +/* 39617 */ {(12<<2)|2,{103,114,0}}, +/* 39618 */ {(12<<2)|2,{103,114,0}}, +/* 39619 */ {(12<<2)|2,{103,114,0}}, +/* 39620 */ {(12<<2)|2,{103,114,0}}, +/* 39621 */ {(12<<2)|2,{103,114,0}}, +/* 39622 */ {(12<<2)|2,{103,114,0}}, +/* 39623 */ {(12<<2)|2,{103,114,0}}, +/* 39624 */ {(12<<2)|2,{103,114,0}}, +/* 39625 */ {(12<<2)|2,{103,114,0}}, +/* 39626 */ {(12<<2)|2,{103,114,0}}, +/* 39627 */ {(12<<2)|2,{103,114,0}}, +/* 39628 */ {(12<<2)|2,{103,114,0}}, +/* 39629 */ {(12<<2)|2,{103,114,0}}, +/* 39630 */ {(12<<2)|2,{103,114,0}}, +/* 39631 */ {(12<<2)|2,{103,114,0}}, +/* 39632 */ {(12<<2)|2,{103,117,0}}, +/* 39633 */ {(12<<2)|2,{103,117,0}}, +/* 39634 */ {(12<<2)|2,{103,117,0}}, +/* 39635 */ {(12<<2)|2,{103,117,0}}, +/* 39636 */ {(12<<2)|2,{103,117,0}}, +/* 39637 */ {(12<<2)|2,{103,117,0}}, +/* 39638 */ {(12<<2)|2,{103,117,0}}, +/* 39639 */ {(12<<2)|2,{103,117,0}}, +/* 39640 */ {(12<<2)|2,{103,117,0}}, +/* 39641 */ {(12<<2)|2,{103,117,0}}, +/* 39642 */ {(12<<2)|2,{103,117,0}}, +/* 39643 */ {(12<<2)|2,{103,117,0}}, +/* 39644 */ {(12<<2)|2,{103,117,0}}, +/* 39645 */ {(12<<2)|2,{103,117,0}}, +/* 39646 */ {(12<<2)|2,{103,117,0}}, +/* 39647 */ {(12<<2)|2,{103,117,0}}, +/* 39648 */ {(13<<2)|2,{103,58,0}}, +/* 39649 */ {(13<<2)|2,{103,58,0}}, +/* 39650 */ {(13<<2)|2,{103,58,0}}, +/* 39651 */ {(13<<2)|2,{103,58,0}}, +/* 39652 */ {(13<<2)|2,{103,58,0}}, +/* 39653 */ {(13<<2)|2,{103,58,0}}, +/* 39654 */ {(13<<2)|2,{103,58,0}}, +/* 39655 */ {(13<<2)|2,{103,58,0}}, +/* 39656 */ {(13<<2)|2,{103,66,0}}, +/* 39657 */ {(13<<2)|2,{103,66,0}}, +/* 39658 */ {(13<<2)|2,{103,66,0}}, +/* 39659 */ {(13<<2)|2,{103,66,0}}, +/* 39660 */ {(13<<2)|2,{103,66,0}}, +/* 39661 */ {(13<<2)|2,{103,66,0}}, +/* 39662 */ {(13<<2)|2,{103,66,0}}, +/* 39663 */ {(13<<2)|2,{103,66,0}}, +/* 39664 */ {(13<<2)|2,{103,67,0}}, +/* 39665 */ {(13<<2)|2,{103,67,0}}, +/* 39666 */ {(13<<2)|2,{103,67,0}}, +/* 39667 */ {(13<<2)|2,{103,67,0}}, +/* 39668 */ {(13<<2)|2,{103,67,0}}, +/* 39669 */ {(13<<2)|2,{103,67,0}}, +/* 39670 */ {(13<<2)|2,{103,67,0}}, +/* 39671 */ {(13<<2)|2,{103,67,0}}, +/* 39672 */ {(13<<2)|2,{103,68,0}}, +/* 39673 */ {(13<<2)|2,{103,68,0}}, +/* 39674 */ {(13<<2)|2,{103,68,0}}, +/* 39675 */ {(13<<2)|2,{103,68,0}}, +/* 39676 */ {(13<<2)|2,{103,68,0}}, +/* 39677 */ {(13<<2)|2,{103,68,0}}, +/* 39678 */ {(13<<2)|2,{103,68,0}}, +/* 39679 */ {(13<<2)|2,{103,68,0}}, +/* 39680 */ {(13<<2)|2,{103,69,0}}, +/* 39681 */ {(13<<2)|2,{103,69,0}}, +/* 39682 */ {(13<<2)|2,{103,69,0}}, +/* 39683 */ {(13<<2)|2,{103,69,0}}, +/* 39684 */ {(13<<2)|2,{103,69,0}}, +/* 39685 */ {(13<<2)|2,{103,69,0}}, +/* 39686 */ {(13<<2)|2,{103,69,0}}, +/* 39687 */ {(13<<2)|2,{103,69,0}}, +/* 39688 */ {(13<<2)|2,{103,70,0}}, +/* 39689 */ {(13<<2)|2,{103,70,0}}, +/* 39690 */ {(13<<2)|2,{103,70,0}}, +/* 39691 */ {(13<<2)|2,{103,70,0}}, +/* 39692 */ {(13<<2)|2,{103,70,0}}, +/* 39693 */ {(13<<2)|2,{103,70,0}}, +/* 39694 */ {(13<<2)|2,{103,70,0}}, +/* 39695 */ {(13<<2)|2,{103,70,0}}, +/* 39696 */ {(13<<2)|2,{103,71,0}}, +/* 39697 */ {(13<<2)|2,{103,71,0}}, +/* 39698 */ {(13<<2)|2,{103,71,0}}, +/* 39699 */ {(13<<2)|2,{103,71,0}}, +/* 39700 */ {(13<<2)|2,{103,71,0}}, +/* 39701 */ {(13<<2)|2,{103,71,0}}, +/* 39702 */ {(13<<2)|2,{103,71,0}}, +/* 39703 */ {(13<<2)|2,{103,71,0}}, +/* 39704 */ {(13<<2)|2,{103,72,0}}, +/* 39705 */ {(13<<2)|2,{103,72,0}}, +/* 39706 */ {(13<<2)|2,{103,72,0}}, +/* 39707 */ {(13<<2)|2,{103,72,0}}, +/* 39708 */ {(13<<2)|2,{103,72,0}}, +/* 39709 */ {(13<<2)|2,{103,72,0}}, +/* 39710 */ {(13<<2)|2,{103,72,0}}, +/* 39711 */ {(13<<2)|2,{103,72,0}}, +/* 39712 */ {(13<<2)|2,{103,73,0}}, +/* 39713 */ {(13<<2)|2,{103,73,0}}, +/* 39714 */ {(13<<2)|2,{103,73,0}}, +/* 39715 */ {(13<<2)|2,{103,73,0}}, +/* 39716 */ {(13<<2)|2,{103,73,0}}, +/* 39717 */ {(13<<2)|2,{103,73,0}}, +/* 39718 */ {(13<<2)|2,{103,73,0}}, +/* 39719 */ {(13<<2)|2,{103,73,0}}, +/* 39720 */ {(13<<2)|2,{103,74,0}}, +/* 39721 */ {(13<<2)|2,{103,74,0}}, +/* 39722 */ {(13<<2)|2,{103,74,0}}, +/* 39723 */ {(13<<2)|2,{103,74,0}}, +/* 39724 */ {(13<<2)|2,{103,74,0}}, +/* 39725 */ {(13<<2)|2,{103,74,0}}, +/* 39726 */ {(13<<2)|2,{103,74,0}}, +/* 39727 */ {(13<<2)|2,{103,74,0}}, +/* 39728 */ {(13<<2)|2,{103,75,0}}, +/* 39729 */ {(13<<2)|2,{103,75,0}}, +/* 39730 */ {(13<<2)|2,{103,75,0}}, +/* 39731 */ {(13<<2)|2,{103,75,0}}, +/* 39732 */ {(13<<2)|2,{103,75,0}}, +/* 39733 */ {(13<<2)|2,{103,75,0}}, +/* 39734 */ {(13<<2)|2,{103,75,0}}, +/* 39735 */ {(13<<2)|2,{103,75,0}}, +/* 39736 */ {(13<<2)|2,{103,76,0}}, +/* 39737 */ {(13<<2)|2,{103,76,0}}, +/* 39738 */ {(13<<2)|2,{103,76,0}}, +/* 39739 */ {(13<<2)|2,{103,76,0}}, +/* 39740 */ {(13<<2)|2,{103,76,0}}, +/* 39741 */ {(13<<2)|2,{103,76,0}}, +/* 39742 */ {(13<<2)|2,{103,76,0}}, +/* 39743 */ {(13<<2)|2,{103,76,0}}, +/* 39744 */ {(13<<2)|2,{103,77,0}}, +/* 39745 */ {(13<<2)|2,{103,77,0}}, +/* 39746 */ {(13<<2)|2,{103,77,0}}, +/* 39747 */ {(13<<2)|2,{103,77,0}}, +/* 39748 */ {(13<<2)|2,{103,77,0}}, +/* 39749 */ {(13<<2)|2,{103,77,0}}, +/* 39750 */ {(13<<2)|2,{103,77,0}}, +/* 39751 */ {(13<<2)|2,{103,77,0}}, +/* 39752 */ {(13<<2)|2,{103,78,0}}, +/* 39753 */ {(13<<2)|2,{103,78,0}}, +/* 39754 */ {(13<<2)|2,{103,78,0}}, +/* 39755 */ {(13<<2)|2,{103,78,0}}, +/* 39756 */ {(13<<2)|2,{103,78,0}}, +/* 39757 */ {(13<<2)|2,{103,78,0}}, +/* 39758 */ {(13<<2)|2,{103,78,0}}, +/* 39759 */ {(13<<2)|2,{103,78,0}}, +/* 39760 */ {(13<<2)|2,{103,79,0}}, +/* 39761 */ {(13<<2)|2,{103,79,0}}, +/* 39762 */ {(13<<2)|2,{103,79,0}}, +/* 39763 */ {(13<<2)|2,{103,79,0}}, +/* 39764 */ {(13<<2)|2,{103,79,0}}, +/* 39765 */ {(13<<2)|2,{103,79,0}}, +/* 39766 */ {(13<<2)|2,{103,79,0}}, +/* 39767 */ {(13<<2)|2,{103,79,0}}, +/* 39768 */ {(13<<2)|2,{103,80,0}}, +/* 39769 */ {(13<<2)|2,{103,80,0}}, +/* 39770 */ {(13<<2)|2,{103,80,0}}, +/* 39771 */ {(13<<2)|2,{103,80,0}}, +/* 39772 */ {(13<<2)|2,{103,80,0}}, +/* 39773 */ {(13<<2)|2,{103,80,0}}, +/* 39774 */ {(13<<2)|2,{103,80,0}}, +/* 39775 */ {(13<<2)|2,{103,80,0}}, +/* 39776 */ {(13<<2)|2,{103,81,0}}, +/* 39777 */ {(13<<2)|2,{103,81,0}}, +/* 39778 */ {(13<<2)|2,{103,81,0}}, +/* 39779 */ {(13<<2)|2,{103,81,0}}, +/* 39780 */ {(13<<2)|2,{103,81,0}}, +/* 39781 */ {(13<<2)|2,{103,81,0}}, +/* 39782 */ {(13<<2)|2,{103,81,0}}, +/* 39783 */ {(13<<2)|2,{103,81,0}}, +/* 39784 */ {(13<<2)|2,{103,82,0}}, +/* 39785 */ {(13<<2)|2,{103,82,0}}, +/* 39786 */ {(13<<2)|2,{103,82,0}}, +/* 39787 */ {(13<<2)|2,{103,82,0}}, +/* 39788 */ {(13<<2)|2,{103,82,0}}, +/* 39789 */ {(13<<2)|2,{103,82,0}}, +/* 39790 */ {(13<<2)|2,{103,82,0}}, +/* 39791 */ {(13<<2)|2,{103,82,0}}, +/* 39792 */ {(13<<2)|2,{103,83,0}}, +/* 39793 */ {(13<<2)|2,{103,83,0}}, +/* 39794 */ {(13<<2)|2,{103,83,0}}, +/* 39795 */ {(13<<2)|2,{103,83,0}}, +/* 39796 */ {(13<<2)|2,{103,83,0}}, +/* 39797 */ {(13<<2)|2,{103,83,0}}, +/* 39798 */ {(13<<2)|2,{103,83,0}}, +/* 39799 */ {(13<<2)|2,{103,83,0}}, +/* 39800 */ {(13<<2)|2,{103,84,0}}, +/* 39801 */ {(13<<2)|2,{103,84,0}}, +/* 39802 */ {(13<<2)|2,{103,84,0}}, +/* 39803 */ {(13<<2)|2,{103,84,0}}, +/* 39804 */ {(13<<2)|2,{103,84,0}}, +/* 39805 */ {(13<<2)|2,{103,84,0}}, +/* 39806 */ {(13<<2)|2,{103,84,0}}, +/* 39807 */ {(13<<2)|2,{103,84,0}}, +/* 39808 */ {(13<<2)|2,{103,85,0}}, +/* 39809 */ {(13<<2)|2,{103,85,0}}, +/* 39810 */ {(13<<2)|2,{103,85,0}}, +/* 39811 */ {(13<<2)|2,{103,85,0}}, +/* 39812 */ {(13<<2)|2,{103,85,0}}, +/* 39813 */ {(13<<2)|2,{103,85,0}}, +/* 39814 */ {(13<<2)|2,{103,85,0}}, +/* 39815 */ {(13<<2)|2,{103,85,0}}, +/* 39816 */ {(13<<2)|2,{103,86,0}}, +/* 39817 */ {(13<<2)|2,{103,86,0}}, +/* 39818 */ {(13<<2)|2,{103,86,0}}, +/* 39819 */ {(13<<2)|2,{103,86,0}}, +/* 39820 */ {(13<<2)|2,{103,86,0}}, +/* 39821 */ {(13<<2)|2,{103,86,0}}, +/* 39822 */ {(13<<2)|2,{103,86,0}}, +/* 39823 */ {(13<<2)|2,{103,86,0}}, +/* 39824 */ {(13<<2)|2,{103,87,0}}, +/* 39825 */ {(13<<2)|2,{103,87,0}}, +/* 39826 */ {(13<<2)|2,{103,87,0}}, +/* 39827 */ {(13<<2)|2,{103,87,0}}, +/* 39828 */ {(13<<2)|2,{103,87,0}}, +/* 39829 */ {(13<<2)|2,{103,87,0}}, +/* 39830 */ {(13<<2)|2,{103,87,0}}, +/* 39831 */ {(13<<2)|2,{103,87,0}}, +/* 39832 */ {(13<<2)|2,{103,89,0}}, +/* 39833 */ {(13<<2)|2,{103,89,0}}, +/* 39834 */ {(13<<2)|2,{103,89,0}}, +/* 39835 */ {(13<<2)|2,{103,89,0}}, +/* 39836 */ {(13<<2)|2,{103,89,0}}, +/* 39837 */ {(13<<2)|2,{103,89,0}}, +/* 39838 */ {(13<<2)|2,{103,89,0}}, +/* 39839 */ {(13<<2)|2,{103,89,0}}, +/* 39840 */ {(13<<2)|2,{103,106,0}}, +/* 39841 */ {(13<<2)|2,{103,106,0}}, +/* 39842 */ {(13<<2)|2,{103,106,0}}, +/* 39843 */ {(13<<2)|2,{103,106,0}}, +/* 39844 */ {(13<<2)|2,{103,106,0}}, +/* 39845 */ {(13<<2)|2,{103,106,0}}, +/* 39846 */ {(13<<2)|2,{103,106,0}}, +/* 39847 */ {(13<<2)|2,{103,106,0}}, +/* 39848 */ {(13<<2)|2,{103,107,0}}, +/* 39849 */ {(13<<2)|2,{103,107,0}}, +/* 39850 */ {(13<<2)|2,{103,107,0}}, +/* 39851 */ {(13<<2)|2,{103,107,0}}, +/* 39852 */ {(13<<2)|2,{103,107,0}}, +/* 39853 */ {(13<<2)|2,{103,107,0}}, +/* 39854 */ {(13<<2)|2,{103,107,0}}, +/* 39855 */ {(13<<2)|2,{103,107,0}}, +/* 39856 */ {(13<<2)|2,{103,113,0}}, +/* 39857 */ {(13<<2)|2,{103,113,0}}, +/* 39858 */ {(13<<2)|2,{103,113,0}}, +/* 39859 */ {(13<<2)|2,{103,113,0}}, +/* 39860 */ {(13<<2)|2,{103,113,0}}, +/* 39861 */ {(13<<2)|2,{103,113,0}}, +/* 39862 */ {(13<<2)|2,{103,113,0}}, +/* 39863 */ {(13<<2)|2,{103,113,0}}, +/* 39864 */ {(13<<2)|2,{103,118,0}}, +/* 39865 */ {(13<<2)|2,{103,118,0}}, +/* 39866 */ {(13<<2)|2,{103,118,0}}, +/* 39867 */ {(13<<2)|2,{103,118,0}}, +/* 39868 */ {(13<<2)|2,{103,118,0}}, +/* 39869 */ {(13<<2)|2,{103,118,0}}, +/* 39870 */ {(13<<2)|2,{103,118,0}}, +/* 39871 */ {(13<<2)|2,{103,118,0}}, +/* 39872 */ {(13<<2)|2,{103,119,0}}, +/* 39873 */ {(13<<2)|2,{103,119,0}}, +/* 39874 */ {(13<<2)|2,{103,119,0}}, +/* 39875 */ {(13<<2)|2,{103,119,0}}, +/* 39876 */ {(13<<2)|2,{103,119,0}}, +/* 39877 */ {(13<<2)|2,{103,119,0}}, +/* 39878 */ {(13<<2)|2,{103,119,0}}, +/* 39879 */ {(13<<2)|2,{103,119,0}}, +/* 39880 */ {(13<<2)|2,{103,120,0}}, +/* 39881 */ {(13<<2)|2,{103,120,0}}, +/* 39882 */ {(13<<2)|2,{103,120,0}}, +/* 39883 */ {(13<<2)|2,{103,120,0}}, +/* 39884 */ {(13<<2)|2,{103,120,0}}, +/* 39885 */ {(13<<2)|2,{103,120,0}}, +/* 39886 */ {(13<<2)|2,{103,120,0}}, +/* 39887 */ {(13<<2)|2,{103,120,0}}, +/* 39888 */ {(13<<2)|2,{103,121,0}}, +/* 39889 */ {(13<<2)|2,{103,121,0}}, +/* 39890 */ {(13<<2)|2,{103,121,0}}, +/* 39891 */ {(13<<2)|2,{103,121,0}}, +/* 39892 */ {(13<<2)|2,{103,121,0}}, +/* 39893 */ {(13<<2)|2,{103,121,0}}, +/* 39894 */ {(13<<2)|2,{103,121,0}}, +/* 39895 */ {(13<<2)|2,{103,121,0}}, +/* 39896 */ {(13<<2)|2,{103,122,0}}, +/* 39897 */ {(13<<2)|2,{103,122,0}}, +/* 39898 */ {(13<<2)|2,{103,122,0}}, +/* 39899 */ {(13<<2)|2,{103,122,0}}, +/* 39900 */ {(13<<2)|2,{103,122,0}}, +/* 39901 */ {(13<<2)|2,{103,122,0}}, +/* 39902 */ {(13<<2)|2,{103,122,0}}, +/* 39903 */ {(13<<2)|2,{103,122,0}}, +/* 39904 */ {(14<<2)|2,{103,38,0}}, +/* 39905 */ {(14<<2)|2,{103,38,0}}, +/* 39906 */ {(14<<2)|2,{103,38,0}}, +/* 39907 */ {(14<<2)|2,{103,38,0}}, +/* 39908 */ {(14<<2)|2,{103,42,0}}, +/* 39909 */ {(14<<2)|2,{103,42,0}}, +/* 39910 */ {(14<<2)|2,{103,42,0}}, +/* 39911 */ {(14<<2)|2,{103,42,0}}, +/* 39912 */ {(14<<2)|2,{103,44,0}}, +/* 39913 */ {(14<<2)|2,{103,44,0}}, +/* 39914 */ {(14<<2)|2,{103,44,0}}, +/* 39915 */ {(14<<2)|2,{103,44,0}}, +/* 39916 */ {(14<<2)|2,{103,59,0}}, +/* 39917 */ {(14<<2)|2,{103,59,0}}, +/* 39918 */ {(14<<2)|2,{103,59,0}}, +/* 39919 */ {(14<<2)|2,{103,59,0}}, +/* 39920 */ {(14<<2)|2,{103,88,0}}, +/* 39921 */ {(14<<2)|2,{103,88,0}}, +/* 39922 */ {(14<<2)|2,{103,88,0}}, +/* 39923 */ {(14<<2)|2,{103,88,0}}, +/* 39924 */ {(14<<2)|2,{103,90,0}}, +/* 39925 */ {(14<<2)|2,{103,90,0}}, +/* 39926 */ {(14<<2)|2,{103,90,0}}, +/* 39927 */ {(14<<2)|2,{103,90,0}}, +/* 39928 */ {(16<<2)|2,{103,33,0}}, +/* 39929 */ {(16<<2)|2,{103,34,0}}, +/* 39930 */ {(16<<2)|2,{103,40,0}}, +/* 39931 */ {(16<<2)|2,{103,41,0}}, +/* 39932 */ {(16<<2)|2,{103,63,0}}, +/* 39933 */ {(6<<2)|1,{103,0,0}}, +/* 39934 */ {(6<<2)|1,{103,0,0}}, +/* 39935 */ {(6<<2)|1,{103,0,0}}, +/* 39936 */ {(16<<2)|3,{104,48,48}}, +/* 39937 */ {(16<<2)|3,{104,48,49}}, +/* 39938 */ {(16<<2)|3,{104,48,50}}, +/* 39939 */ {(16<<2)|3,{104,48,97}}, +/* 39940 */ {(16<<2)|3,{104,48,99}}, +/* 39941 */ {(16<<2)|3,{104,48,101}}, +/* 39942 */ {(16<<2)|3,{104,48,105}}, +/* 39943 */ {(16<<2)|3,{104,48,111}}, +/* 39944 */ {(16<<2)|3,{104,48,115}}, +/* 39945 */ {(16<<2)|3,{104,48,116}}, +/* 39946 */ {(11<<2)|2,{104,48,0}}, +/* 39947 */ {(11<<2)|2,{104,48,0}}, +/* 39948 */ {(11<<2)|2,{104,48,0}}, +/* 39949 */ {(11<<2)|2,{104,48,0}}, +/* 39950 */ {(11<<2)|2,{104,48,0}}, +/* 39951 */ {(11<<2)|2,{104,48,0}}, +/* 39952 */ {(11<<2)|2,{104,48,0}}, +/* 39953 */ {(11<<2)|2,{104,48,0}}, +/* 39954 */ {(11<<2)|2,{104,48,0}}, +/* 39955 */ {(11<<2)|2,{104,48,0}}, +/* 39956 */ {(11<<2)|2,{104,48,0}}, +/* 39957 */ {(11<<2)|2,{104,48,0}}, +/* 39958 */ {(11<<2)|2,{104,48,0}}, +/* 39959 */ {(11<<2)|2,{104,48,0}}, +/* 39960 */ {(11<<2)|2,{104,48,0}}, +/* 39961 */ {(11<<2)|2,{104,48,0}}, +/* 39962 */ {(11<<2)|2,{104,48,0}}, +/* 39963 */ {(11<<2)|2,{104,48,0}}, +/* 39964 */ {(11<<2)|2,{104,48,0}}, +/* 39965 */ {(11<<2)|2,{104,48,0}}, +/* 39966 */ {(11<<2)|2,{104,48,0}}, +/* 39967 */ {(11<<2)|2,{104,48,0}}, +/* 39968 */ {(16<<2)|3,{104,49,48}}, +/* 39969 */ {(16<<2)|3,{104,49,49}}, +/* 39970 */ {(16<<2)|3,{104,49,50}}, +/* 39971 */ {(16<<2)|3,{104,49,97}}, +/* 39972 */ {(16<<2)|3,{104,49,99}}, +/* 39973 */ {(16<<2)|3,{104,49,101}}, +/* 39974 */ {(16<<2)|3,{104,49,105}}, +/* 39975 */ {(16<<2)|3,{104,49,111}}, +/* 39976 */ {(16<<2)|3,{104,49,115}}, +/* 39977 */ {(16<<2)|3,{104,49,116}}, +/* 39978 */ {(11<<2)|2,{104,49,0}}, +/* 39979 */ {(11<<2)|2,{104,49,0}}, +/* 39980 */ {(11<<2)|2,{104,49,0}}, +/* 39981 */ {(11<<2)|2,{104,49,0}}, +/* 39982 */ {(11<<2)|2,{104,49,0}}, +/* 39983 */ {(11<<2)|2,{104,49,0}}, +/* 39984 */ {(11<<2)|2,{104,49,0}}, +/* 39985 */ {(11<<2)|2,{104,49,0}}, +/* 39986 */ {(11<<2)|2,{104,49,0}}, +/* 39987 */ {(11<<2)|2,{104,49,0}}, +/* 39988 */ {(11<<2)|2,{104,49,0}}, +/* 39989 */ {(11<<2)|2,{104,49,0}}, +/* 39990 */ {(11<<2)|2,{104,49,0}}, +/* 39991 */ {(11<<2)|2,{104,49,0}}, +/* 39992 */ {(11<<2)|2,{104,49,0}}, +/* 39993 */ {(11<<2)|2,{104,49,0}}, +/* 39994 */ {(11<<2)|2,{104,49,0}}, +/* 39995 */ {(11<<2)|2,{104,49,0}}, +/* 39996 */ {(11<<2)|2,{104,49,0}}, +/* 39997 */ {(11<<2)|2,{104,49,0}}, +/* 39998 */ {(11<<2)|2,{104,49,0}}, +/* 39999 */ {(11<<2)|2,{104,49,0}}, +/* 40000 */ {(16<<2)|3,{104,50,48}}, +/* 40001 */ {(16<<2)|3,{104,50,49}}, +/* 40002 */ {(16<<2)|3,{104,50,50}}, +/* 40003 */ {(16<<2)|3,{104,50,97}}, +/* 40004 */ {(16<<2)|3,{104,50,99}}, +/* 40005 */ {(16<<2)|3,{104,50,101}}, +/* 40006 */ {(16<<2)|3,{104,50,105}}, +/* 40007 */ {(16<<2)|3,{104,50,111}}, +/* 40008 */ {(16<<2)|3,{104,50,115}}, +/* 40009 */ {(16<<2)|3,{104,50,116}}, +/* 40010 */ {(11<<2)|2,{104,50,0}}, +/* 40011 */ {(11<<2)|2,{104,50,0}}, +/* 40012 */ {(11<<2)|2,{104,50,0}}, +/* 40013 */ {(11<<2)|2,{104,50,0}}, +/* 40014 */ {(11<<2)|2,{104,50,0}}, +/* 40015 */ {(11<<2)|2,{104,50,0}}, +/* 40016 */ {(11<<2)|2,{104,50,0}}, +/* 40017 */ {(11<<2)|2,{104,50,0}}, +/* 40018 */ {(11<<2)|2,{104,50,0}}, +/* 40019 */ {(11<<2)|2,{104,50,0}}, +/* 40020 */ {(11<<2)|2,{104,50,0}}, +/* 40021 */ {(11<<2)|2,{104,50,0}}, +/* 40022 */ {(11<<2)|2,{104,50,0}}, +/* 40023 */ {(11<<2)|2,{104,50,0}}, +/* 40024 */ {(11<<2)|2,{104,50,0}}, +/* 40025 */ {(11<<2)|2,{104,50,0}}, +/* 40026 */ {(11<<2)|2,{104,50,0}}, +/* 40027 */ {(11<<2)|2,{104,50,0}}, +/* 40028 */ {(11<<2)|2,{104,50,0}}, +/* 40029 */ {(11<<2)|2,{104,50,0}}, +/* 40030 */ {(11<<2)|2,{104,50,0}}, +/* 40031 */ {(11<<2)|2,{104,50,0}}, +/* 40032 */ {(16<<2)|3,{104,97,48}}, +/* 40033 */ {(16<<2)|3,{104,97,49}}, +/* 40034 */ {(16<<2)|3,{104,97,50}}, +/* 40035 */ {(16<<2)|3,{104,97,97}}, +/* 40036 */ {(16<<2)|3,{104,97,99}}, +/* 40037 */ {(16<<2)|3,{104,97,101}}, +/* 40038 */ {(16<<2)|3,{104,97,105}}, +/* 40039 */ {(16<<2)|3,{104,97,111}}, +/* 40040 */ {(16<<2)|3,{104,97,115}}, +/* 40041 */ {(16<<2)|3,{104,97,116}}, +/* 40042 */ {(11<<2)|2,{104,97,0}}, +/* 40043 */ {(11<<2)|2,{104,97,0}}, +/* 40044 */ {(11<<2)|2,{104,97,0}}, +/* 40045 */ {(11<<2)|2,{104,97,0}}, +/* 40046 */ {(11<<2)|2,{104,97,0}}, +/* 40047 */ {(11<<2)|2,{104,97,0}}, +/* 40048 */ {(11<<2)|2,{104,97,0}}, +/* 40049 */ {(11<<2)|2,{104,97,0}}, +/* 40050 */ {(11<<2)|2,{104,97,0}}, +/* 40051 */ {(11<<2)|2,{104,97,0}}, +/* 40052 */ {(11<<2)|2,{104,97,0}}, +/* 40053 */ {(11<<2)|2,{104,97,0}}, +/* 40054 */ {(11<<2)|2,{104,97,0}}, +/* 40055 */ {(11<<2)|2,{104,97,0}}, +/* 40056 */ {(11<<2)|2,{104,97,0}}, +/* 40057 */ {(11<<2)|2,{104,97,0}}, +/* 40058 */ {(11<<2)|2,{104,97,0}}, +/* 40059 */ {(11<<2)|2,{104,97,0}}, +/* 40060 */ {(11<<2)|2,{104,97,0}}, +/* 40061 */ {(11<<2)|2,{104,97,0}}, +/* 40062 */ {(11<<2)|2,{104,97,0}}, +/* 40063 */ {(11<<2)|2,{104,97,0}}, +/* 40064 */ {(16<<2)|3,{104,99,48}}, +/* 40065 */ {(16<<2)|3,{104,99,49}}, +/* 40066 */ {(16<<2)|3,{104,99,50}}, +/* 40067 */ {(16<<2)|3,{104,99,97}}, +/* 40068 */ {(16<<2)|3,{104,99,99}}, +/* 40069 */ {(16<<2)|3,{104,99,101}}, +/* 40070 */ {(16<<2)|3,{104,99,105}}, +/* 40071 */ {(16<<2)|3,{104,99,111}}, +/* 40072 */ {(16<<2)|3,{104,99,115}}, +/* 40073 */ {(16<<2)|3,{104,99,116}}, +/* 40074 */ {(11<<2)|2,{104,99,0}}, +/* 40075 */ {(11<<2)|2,{104,99,0}}, +/* 40076 */ {(11<<2)|2,{104,99,0}}, +/* 40077 */ {(11<<2)|2,{104,99,0}}, +/* 40078 */ {(11<<2)|2,{104,99,0}}, +/* 40079 */ {(11<<2)|2,{104,99,0}}, +/* 40080 */ {(11<<2)|2,{104,99,0}}, +/* 40081 */ {(11<<2)|2,{104,99,0}}, +/* 40082 */ {(11<<2)|2,{104,99,0}}, +/* 40083 */ {(11<<2)|2,{104,99,0}}, +/* 40084 */ {(11<<2)|2,{104,99,0}}, +/* 40085 */ {(11<<2)|2,{104,99,0}}, +/* 40086 */ {(11<<2)|2,{104,99,0}}, +/* 40087 */ {(11<<2)|2,{104,99,0}}, +/* 40088 */ {(11<<2)|2,{104,99,0}}, +/* 40089 */ {(11<<2)|2,{104,99,0}}, +/* 40090 */ {(11<<2)|2,{104,99,0}}, +/* 40091 */ {(11<<2)|2,{104,99,0}}, +/* 40092 */ {(11<<2)|2,{104,99,0}}, +/* 40093 */ {(11<<2)|2,{104,99,0}}, +/* 40094 */ {(11<<2)|2,{104,99,0}}, +/* 40095 */ {(11<<2)|2,{104,99,0}}, +/* 40096 */ {(16<<2)|3,{104,101,48}}, +/* 40097 */ {(16<<2)|3,{104,101,49}}, +/* 40098 */ {(16<<2)|3,{104,101,50}}, +/* 40099 */ {(16<<2)|3,{104,101,97}}, +/* 40100 */ {(16<<2)|3,{104,101,99}}, +/* 40101 */ {(16<<2)|3,{104,101,101}}, +/* 40102 */ {(16<<2)|3,{104,101,105}}, +/* 40103 */ {(16<<2)|3,{104,101,111}}, +/* 40104 */ {(16<<2)|3,{104,101,115}}, +/* 40105 */ {(16<<2)|3,{104,101,116}}, +/* 40106 */ {(11<<2)|2,{104,101,0}}, +/* 40107 */ {(11<<2)|2,{104,101,0}}, +/* 40108 */ {(11<<2)|2,{104,101,0}}, +/* 40109 */ {(11<<2)|2,{104,101,0}}, +/* 40110 */ {(11<<2)|2,{104,101,0}}, +/* 40111 */ {(11<<2)|2,{104,101,0}}, +/* 40112 */ {(11<<2)|2,{104,101,0}}, +/* 40113 */ {(11<<2)|2,{104,101,0}}, +/* 40114 */ {(11<<2)|2,{104,101,0}}, +/* 40115 */ {(11<<2)|2,{104,101,0}}, +/* 40116 */ {(11<<2)|2,{104,101,0}}, +/* 40117 */ {(11<<2)|2,{104,101,0}}, +/* 40118 */ {(11<<2)|2,{104,101,0}}, +/* 40119 */ {(11<<2)|2,{104,101,0}}, +/* 40120 */ {(11<<2)|2,{104,101,0}}, +/* 40121 */ {(11<<2)|2,{104,101,0}}, +/* 40122 */ {(11<<2)|2,{104,101,0}}, +/* 40123 */ {(11<<2)|2,{104,101,0}}, +/* 40124 */ {(11<<2)|2,{104,101,0}}, +/* 40125 */ {(11<<2)|2,{104,101,0}}, +/* 40126 */ {(11<<2)|2,{104,101,0}}, +/* 40127 */ {(11<<2)|2,{104,101,0}}, +/* 40128 */ {(16<<2)|3,{104,105,48}}, +/* 40129 */ {(16<<2)|3,{104,105,49}}, +/* 40130 */ {(16<<2)|3,{104,105,50}}, +/* 40131 */ {(16<<2)|3,{104,105,97}}, +/* 40132 */ {(16<<2)|3,{104,105,99}}, +/* 40133 */ {(16<<2)|3,{104,105,101}}, +/* 40134 */ {(16<<2)|3,{104,105,105}}, +/* 40135 */ {(16<<2)|3,{104,105,111}}, +/* 40136 */ {(16<<2)|3,{104,105,115}}, +/* 40137 */ {(16<<2)|3,{104,105,116}}, +/* 40138 */ {(11<<2)|2,{104,105,0}}, +/* 40139 */ {(11<<2)|2,{104,105,0}}, +/* 40140 */ {(11<<2)|2,{104,105,0}}, +/* 40141 */ {(11<<2)|2,{104,105,0}}, +/* 40142 */ {(11<<2)|2,{104,105,0}}, +/* 40143 */ {(11<<2)|2,{104,105,0}}, +/* 40144 */ {(11<<2)|2,{104,105,0}}, +/* 40145 */ {(11<<2)|2,{104,105,0}}, +/* 40146 */ {(11<<2)|2,{104,105,0}}, +/* 40147 */ {(11<<2)|2,{104,105,0}}, +/* 40148 */ {(11<<2)|2,{104,105,0}}, +/* 40149 */ {(11<<2)|2,{104,105,0}}, +/* 40150 */ {(11<<2)|2,{104,105,0}}, +/* 40151 */ {(11<<2)|2,{104,105,0}}, +/* 40152 */ {(11<<2)|2,{104,105,0}}, +/* 40153 */ {(11<<2)|2,{104,105,0}}, +/* 40154 */ {(11<<2)|2,{104,105,0}}, +/* 40155 */ {(11<<2)|2,{104,105,0}}, +/* 40156 */ {(11<<2)|2,{104,105,0}}, +/* 40157 */ {(11<<2)|2,{104,105,0}}, +/* 40158 */ {(11<<2)|2,{104,105,0}}, +/* 40159 */ {(11<<2)|2,{104,105,0}}, +/* 40160 */ {(16<<2)|3,{104,111,48}}, +/* 40161 */ {(16<<2)|3,{104,111,49}}, +/* 40162 */ {(16<<2)|3,{104,111,50}}, +/* 40163 */ {(16<<2)|3,{104,111,97}}, +/* 40164 */ {(16<<2)|3,{104,111,99}}, +/* 40165 */ {(16<<2)|3,{104,111,101}}, +/* 40166 */ {(16<<2)|3,{104,111,105}}, +/* 40167 */ {(16<<2)|3,{104,111,111}}, +/* 40168 */ {(16<<2)|3,{104,111,115}}, +/* 40169 */ {(16<<2)|3,{104,111,116}}, +/* 40170 */ {(11<<2)|2,{104,111,0}}, +/* 40171 */ {(11<<2)|2,{104,111,0}}, +/* 40172 */ {(11<<2)|2,{104,111,0}}, +/* 40173 */ {(11<<2)|2,{104,111,0}}, +/* 40174 */ {(11<<2)|2,{104,111,0}}, +/* 40175 */ {(11<<2)|2,{104,111,0}}, +/* 40176 */ {(11<<2)|2,{104,111,0}}, +/* 40177 */ {(11<<2)|2,{104,111,0}}, +/* 40178 */ {(11<<2)|2,{104,111,0}}, +/* 40179 */ {(11<<2)|2,{104,111,0}}, +/* 40180 */ {(11<<2)|2,{104,111,0}}, +/* 40181 */ {(11<<2)|2,{104,111,0}}, +/* 40182 */ {(11<<2)|2,{104,111,0}}, +/* 40183 */ {(11<<2)|2,{104,111,0}}, +/* 40184 */ {(11<<2)|2,{104,111,0}}, +/* 40185 */ {(11<<2)|2,{104,111,0}}, +/* 40186 */ {(11<<2)|2,{104,111,0}}, +/* 40187 */ {(11<<2)|2,{104,111,0}}, +/* 40188 */ {(11<<2)|2,{104,111,0}}, +/* 40189 */ {(11<<2)|2,{104,111,0}}, +/* 40190 */ {(11<<2)|2,{104,111,0}}, +/* 40191 */ {(11<<2)|2,{104,111,0}}, +/* 40192 */ {(16<<2)|3,{104,115,48}}, +/* 40193 */ {(16<<2)|3,{104,115,49}}, +/* 40194 */ {(16<<2)|3,{104,115,50}}, +/* 40195 */ {(16<<2)|3,{104,115,97}}, +/* 40196 */ {(16<<2)|3,{104,115,99}}, +/* 40197 */ {(16<<2)|3,{104,115,101}}, +/* 40198 */ {(16<<2)|3,{104,115,105}}, +/* 40199 */ {(16<<2)|3,{104,115,111}}, +/* 40200 */ {(16<<2)|3,{104,115,115}}, +/* 40201 */ {(16<<2)|3,{104,115,116}}, +/* 40202 */ {(11<<2)|2,{104,115,0}}, +/* 40203 */ {(11<<2)|2,{104,115,0}}, +/* 40204 */ {(11<<2)|2,{104,115,0}}, +/* 40205 */ {(11<<2)|2,{104,115,0}}, +/* 40206 */ {(11<<2)|2,{104,115,0}}, +/* 40207 */ {(11<<2)|2,{104,115,0}}, +/* 40208 */ {(11<<2)|2,{104,115,0}}, +/* 40209 */ {(11<<2)|2,{104,115,0}}, +/* 40210 */ {(11<<2)|2,{104,115,0}}, +/* 40211 */ {(11<<2)|2,{104,115,0}}, +/* 40212 */ {(11<<2)|2,{104,115,0}}, +/* 40213 */ {(11<<2)|2,{104,115,0}}, +/* 40214 */ {(11<<2)|2,{104,115,0}}, +/* 40215 */ {(11<<2)|2,{104,115,0}}, +/* 40216 */ {(11<<2)|2,{104,115,0}}, +/* 40217 */ {(11<<2)|2,{104,115,0}}, +/* 40218 */ {(11<<2)|2,{104,115,0}}, +/* 40219 */ {(11<<2)|2,{104,115,0}}, +/* 40220 */ {(11<<2)|2,{104,115,0}}, +/* 40221 */ {(11<<2)|2,{104,115,0}}, +/* 40222 */ {(11<<2)|2,{104,115,0}}, +/* 40223 */ {(11<<2)|2,{104,115,0}}, +/* 40224 */ {(16<<2)|3,{104,116,48}}, +/* 40225 */ {(16<<2)|3,{104,116,49}}, +/* 40226 */ {(16<<2)|3,{104,116,50}}, +/* 40227 */ {(16<<2)|3,{104,116,97}}, +/* 40228 */ {(16<<2)|3,{104,116,99}}, +/* 40229 */ {(16<<2)|3,{104,116,101}}, +/* 40230 */ {(16<<2)|3,{104,116,105}}, +/* 40231 */ {(16<<2)|3,{104,116,111}}, +/* 40232 */ {(16<<2)|3,{104,116,115}}, +/* 40233 */ {(16<<2)|3,{104,116,116}}, +/* 40234 */ {(11<<2)|2,{104,116,0}}, +/* 40235 */ {(11<<2)|2,{104,116,0}}, +/* 40236 */ {(11<<2)|2,{104,116,0}}, +/* 40237 */ {(11<<2)|2,{104,116,0}}, +/* 40238 */ {(11<<2)|2,{104,116,0}}, +/* 40239 */ {(11<<2)|2,{104,116,0}}, +/* 40240 */ {(11<<2)|2,{104,116,0}}, +/* 40241 */ {(11<<2)|2,{104,116,0}}, +/* 40242 */ {(11<<2)|2,{104,116,0}}, +/* 40243 */ {(11<<2)|2,{104,116,0}}, +/* 40244 */ {(11<<2)|2,{104,116,0}}, +/* 40245 */ {(11<<2)|2,{104,116,0}}, +/* 40246 */ {(11<<2)|2,{104,116,0}}, +/* 40247 */ {(11<<2)|2,{104,116,0}}, +/* 40248 */ {(11<<2)|2,{104,116,0}}, +/* 40249 */ {(11<<2)|2,{104,116,0}}, +/* 40250 */ {(11<<2)|2,{104,116,0}}, +/* 40251 */ {(11<<2)|2,{104,116,0}}, +/* 40252 */ {(11<<2)|2,{104,116,0}}, +/* 40253 */ {(11<<2)|2,{104,116,0}}, +/* 40254 */ {(11<<2)|2,{104,116,0}}, +/* 40255 */ {(11<<2)|2,{104,116,0}}, +/* 40256 */ {(12<<2)|2,{104,32,0}}, +/* 40257 */ {(12<<2)|2,{104,32,0}}, +/* 40258 */ {(12<<2)|2,{104,32,0}}, +/* 40259 */ {(12<<2)|2,{104,32,0}}, +/* 40260 */ {(12<<2)|2,{104,32,0}}, +/* 40261 */ {(12<<2)|2,{104,32,0}}, +/* 40262 */ {(12<<2)|2,{104,32,0}}, +/* 40263 */ {(12<<2)|2,{104,32,0}}, +/* 40264 */ {(12<<2)|2,{104,32,0}}, +/* 40265 */ {(12<<2)|2,{104,32,0}}, +/* 40266 */ {(12<<2)|2,{104,32,0}}, +/* 40267 */ {(12<<2)|2,{104,32,0}}, +/* 40268 */ {(12<<2)|2,{104,32,0}}, +/* 40269 */ {(12<<2)|2,{104,32,0}}, +/* 40270 */ {(12<<2)|2,{104,32,0}}, +/* 40271 */ {(12<<2)|2,{104,32,0}}, +/* 40272 */ {(12<<2)|2,{104,37,0}}, +/* 40273 */ {(12<<2)|2,{104,37,0}}, +/* 40274 */ {(12<<2)|2,{104,37,0}}, +/* 40275 */ {(12<<2)|2,{104,37,0}}, +/* 40276 */ {(12<<2)|2,{104,37,0}}, +/* 40277 */ {(12<<2)|2,{104,37,0}}, +/* 40278 */ {(12<<2)|2,{104,37,0}}, +/* 40279 */ {(12<<2)|2,{104,37,0}}, +/* 40280 */ {(12<<2)|2,{104,37,0}}, +/* 40281 */ {(12<<2)|2,{104,37,0}}, +/* 40282 */ {(12<<2)|2,{104,37,0}}, +/* 40283 */ {(12<<2)|2,{104,37,0}}, +/* 40284 */ {(12<<2)|2,{104,37,0}}, +/* 40285 */ {(12<<2)|2,{104,37,0}}, +/* 40286 */ {(12<<2)|2,{104,37,0}}, +/* 40287 */ {(12<<2)|2,{104,37,0}}, +/* 40288 */ {(12<<2)|2,{104,45,0}}, +/* 40289 */ {(12<<2)|2,{104,45,0}}, +/* 40290 */ {(12<<2)|2,{104,45,0}}, +/* 40291 */ {(12<<2)|2,{104,45,0}}, +/* 40292 */ {(12<<2)|2,{104,45,0}}, +/* 40293 */ {(12<<2)|2,{104,45,0}}, +/* 40294 */ {(12<<2)|2,{104,45,0}}, +/* 40295 */ {(12<<2)|2,{104,45,0}}, +/* 40296 */ {(12<<2)|2,{104,45,0}}, +/* 40297 */ {(12<<2)|2,{104,45,0}}, +/* 40298 */ {(12<<2)|2,{104,45,0}}, +/* 40299 */ {(12<<2)|2,{104,45,0}}, +/* 40300 */ {(12<<2)|2,{104,45,0}}, +/* 40301 */ {(12<<2)|2,{104,45,0}}, +/* 40302 */ {(12<<2)|2,{104,45,0}}, +/* 40303 */ {(12<<2)|2,{104,45,0}}, +/* 40304 */ {(12<<2)|2,{104,46,0}}, +/* 40305 */ {(12<<2)|2,{104,46,0}}, +/* 40306 */ {(12<<2)|2,{104,46,0}}, +/* 40307 */ {(12<<2)|2,{104,46,0}}, +/* 40308 */ {(12<<2)|2,{104,46,0}}, +/* 40309 */ {(12<<2)|2,{104,46,0}}, +/* 40310 */ {(12<<2)|2,{104,46,0}}, +/* 40311 */ {(12<<2)|2,{104,46,0}}, +/* 40312 */ {(12<<2)|2,{104,46,0}}, +/* 40313 */ {(12<<2)|2,{104,46,0}}, +/* 40314 */ {(12<<2)|2,{104,46,0}}, +/* 40315 */ {(12<<2)|2,{104,46,0}}, +/* 40316 */ {(12<<2)|2,{104,46,0}}, +/* 40317 */ {(12<<2)|2,{104,46,0}}, +/* 40318 */ {(12<<2)|2,{104,46,0}}, +/* 40319 */ {(12<<2)|2,{104,46,0}}, +/* 40320 */ {(12<<2)|2,{104,47,0}}, +/* 40321 */ {(12<<2)|2,{104,47,0}}, +/* 40322 */ {(12<<2)|2,{104,47,0}}, +/* 40323 */ {(12<<2)|2,{104,47,0}}, +/* 40324 */ {(12<<2)|2,{104,47,0}}, +/* 40325 */ {(12<<2)|2,{104,47,0}}, +/* 40326 */ {(12<<2)|2,{104,47,0}}, +/* 40327 */ {(12<<2)|2,{104,47,0}}, +/* 40328 */ {(12<<2)|2,{104,47,0}}, +/* 40329 */ {(12<<2)|2,{104,47,0}}, +/* 40330 */ {(12<<2)|2,{104,47,0}}, +/* 40331 */ {(12<<2)|2,{104,47,0}}, +/* 40332 */ {(12<<2)|2,{104,47,0}}, +/* 40333 */ {(12<<2)|2,{104,47,0}}, +/* 40334 */ {(12<<2)|2,{104,47,0}}, +/* 40335 */ {(12<<2)|2,{104,47,0}}, +/* 40336 */ {(12<<2)|2,{104,51,0}}, +/* 40337 */ {(12<<2)|2,{104,51,0}}, +/* 40338 */ {(12<<2)|2,{104,51,0}}, +/* 40339 */ {(12<<2)|2,{104,51,0}}, +/* 40340 */ {(12<<2)|2,{104,51,0}}, +/* 40341 */ {(12<<2)|2,{104,51,0}}, +/* 40342 */ {(12<<2)|2,{104,51,0}}, +/* 40343 */ {(12<<2)|2,{104,51,0}}, +/* 40344 */ {(12<<2)|2,{104,51,0}}, +/* 40345 */ {(12<<2)|2,{104,51,0}}, +/* 40346 */ {(12<<2)|2,{104,51,0}}, +/* 40347 */ {(12<<2)|2,{104,51,0}}, +/* 40348 */ {(12<<2)|2,{104,51,0}}, +/* 40349 */ {(12<<2)|2,{104,51,0}}, +/* 40350 */ {(12<<2)|2,{104,51,0}}, +/* 40351 */ {(12<<2)|2,{104,51,0}}, +/* 40352 */ {(12<<2)|2,{104,52,0}}, +/* 40353 */ {(12<<2)|2,{104,52,0}}, +/* 40354 */ {(12<<2)|2,{104,52,0}}, +/* 40355 */ {(12<<2)|2,{104,52,0}}, +/* 40356 */ {(12<<2)|2,{104,52,0}}, +/* 40357 */ {(12<<2)|2,{104,52,0}}, +/* 40358 */ {(12<<2)|2,{104,52,0}}, +/* 40359 */ {(12<<2)|2,{104,52,0}}, +/* 40360 */ {(12<<2)|2,{104,52,0}}, +/* 40361 */ {(12<<2)|2,{104,52,0}}, +/* 40362 */ {(12<<2)|2,{104,52,0}}, +/* 40363 */ {(12<<2)|2,{104,52,0}}, +/* 40364 */ {(12<<2)|2,{104,52,0}}, +/* 40365 */ {(12<<2)|2,{104,52,0}}, +/* 40366 */ {(12<<2)|2,{104,52,0}}, +/* 40367 */ {(12<<2)|2,{104,52,0}}, +/* 40368 */ {(12<<2)|2,{104,53,0}}, +/* 40369 */ {(12<<2)|2,{104,53,0}}, +/* 40370 */ {(12<<2)|2,{104,53,0}}, +/* 40371 */ {(12<<2)|2,{104,53,0}}, +/* 40372 */ {(12<<2)|2,{104,53,0}}, +/* 40373 */ {(12<<2)|2,{104,53,0}}, +/* 40374 */ {(12<<2)|2,{104,53,0}}, +/* 40375 */ {(12<<2)|2,{104,53,0}}, +/* 40376 */ {(12<<2)|2,{104,53,0}}, +/* 40377 */ {(12<<2)|2,{104,53,0}}, +/* 40378 */ {(12<<2)|2,{104,53,0}}, +/* 40379 */ {(12<<2)|2,{104,53,0}}, +/* 40380 */ {(12<<2)|2,{104,53,0}}, +/* 40381 */ {(12<<2)|2,{104,53,0}}, +/* 40382 */ {(12<<2)|2,{104,53,0}}, +/* 40383 */ {(12<<2)|2,{104,53,0}}, +/* 40384 */ {(12<<2)|2,{104,54,0}}, +/* 40385 */ {(12<<2)|2,{104,54,0}}, +/* 40386 */ {(12<<2)|2,{104,54,0}}, +/* 40387 */ {(12<<2)|2,{104,54,0}}, +/* 40388 */ {(12<<2)|2,{104,54,0}}, +/* 40389 */ {(12<<2)|2,{104,54,0}}, +/* 40390 */ {(12<<2)|2,{104,54,0}}, +/* 40391 */ {(12<<2)|2,{104,54,0}}, +/* 40392 */ {(12<<2)|2,{104,54,0}}, +/* 40393 */ {(12<<2)|2,{104,54,0}}, +/* 40394 */ {(12<<2)|2,{104,54,0}}, +/* 40395 */ {(12<<2)|2,{104,54,0}}, +/* 40396 */ {(12<<2)|2,{104,54,0}}, +/* 40397 */ {(12<<2)|2,{104,54,0}}, +/* 40398 */ {(12<<2)|2,{104,54,0}}, +/* 40399 */ {(12<<2)|2,{104,54,0}}, +/* 40400 */ {(12<<2)|2,{104,55,0}}, +/* 40401 */ {(12<<2)|2,{104,55,0}}, +/* 40402 */ {(12<<2)|2,{104,55,0}}, +/* 40403 */ {(12<<2)|2,{104,55,0}}, +/* 40404 */ {(12<<2)|2,{104,55,0}}, +/* 40405 */ {(12<<2)|2,{104,55,0}}, +/* 40406 */ {(12<<2)|2,{104,55,0}}, +/* 40407 */ {(12<<2)|2,{104,55,0}}, +/* 40408 */ {(12<<2)|2,{104,55,0}}, +/* 40409 */ {(12<<2)|2,{104,55,0}}, +/* 40410 */ {(12<<2)|2,{104,55,0}}, +/* 40411 */ {(12<<2)|2,{104,55,0}}, +/* 40412 */ {(12<<2)|2,{104,55,0}}, +/* 40413 */ {(12<<2)|2,{104,55,0}}, +/* 40414 */ {(12<<2)|2,{104,55,0}}, +/* 40415 */ {(12<<2)|2,{104,55,0}}, +/* 40416 */ {(12<<2)|2,{104,56,0}}, +/* 40417 */ {(12<<2)|2,{104,56,0}}, +/* 40418 */ {(12<<2)|2,{104,56,0}}, +/* 40419 */ {(12<<2)|2,{104,56,0}}, +/* 40420 */ {(12<<2)|2,{104,56,0}}, +/* 40421 */ {(12<<2)|2,{104,56,0}}, +/* 40422 */ {(12<<2)|2,{104,56,0}}, +/* 40423 */ {(12<<2)|2,{104,56,0}}, +/* 40424 */ {(12<<2)|2,{104,56,0}}, +/* 40425 */ {(12<<2)|2,{104,56,0}}, +/* 40426 */ {(12<<2)|2,{104,56,0}}, +/* 40427 */ {(12<<2)|2,{104,56,0}}, +/* 40428 */ {(12<<2)|2,{104,56,0}}, +/* 40429 */ {(12<<2)|2,{104,56,0}}, +/* 40430 */ {(12<<2)|2,{104,56,0}}, +/* 40431 */ {(12<<2)|2,{104,56,0}}, +/* 40432 */ {(12<<2)|2,{104,57,0}}, +/* 40433 */ {(12<<2)|2,{104,57,0}}, +/* 40434 */ {(12<<2)|2,{104,57,0}}, +/* 40435 */ {(12<<2)|2,{104,57,0}}, +/* 40436 */ {(12<<2)|2,{104,57,0}}, +/* 40437 */ {(12<<2)|2,{104,57,0}}, +/* 40438 */ {(12<<2)|2,{104,57,0}}, +/* 40439 */ {(12<<2)|2,{104,57,0}}, +/* 40440 */ {(12<<2)|2,{104,57,0}}, +/* 40441 */ {(12<<2)|2,{104,57,0}}, +/* 40442 */ {(12<<2)|2,{104,57,0}}, +/* 40443 */ {(12<<2)|2,{104,57,0}}, +/* 40444 */ {(12<<2)|2,{104,57,0}}, +/* 40445 */ {(12<<2)|2,{104,57,0}}, +/* 40446 */ {(12<<2)|2,{104,57,0}}, +/* 40447 */ {(12<<2)|2,{104,57,0}}, +/* 40448 */ {(12<<2)|2,{104,61,0}}, +/* 40449 */ {(12<<2)|2,{104,61,0}}, +/* 40450 */ {(12<<2)|2,{104,61,0}}, +/* 40451 */ {(12<<2)|2,{104,61,0}}, +/* 40452 */ {(12<<2)|2,{104,61,0}}, +/* 40453 */ {(12<<2)|2,{104,61,0}}, +/* 40454 */ {(12<<2)|2,{104,61,0}}, +/* 40455 */ {(12<<2)|2,{104,61,0}}, +/* 40456 */ {(12<<2)|2,{104,61,0}}, +/* 40457 */ {(12<<2)|2,{104,61,0}}, +/* 40458 */ {(12<<2)|2,{104,61,0}}, +/* 40459 */ {(12<<2)|2,{104,61,0}}, +/* 40460 */ {(12<<2)|2,{104,61,0}}, +/* 40461 */ {(12<<2)|2,{104,61,0}}, +/* 40462 */ {(12<<2)|2,{104,61,0}}, +/* 40463 */ {(12<<2)|2,{104,61,0}}, +/* 40464 */ {(12<<2)|2,{104,65,0}}, +/* 40465 */ {(12<<2)|2,{104,65,0}}, +/* 40466 */ {(12<<2)|2,{104,65,0}}, +/* 40467 */ {(12<<2)|2,{104,65,0}}, +/* 40468 */ {(12<<2)|2,{104,65,0}}, +/* 40469 */ {(12<<2)|2,{104,65,0}}, +/* 40470 */ {(12<<2)|2,{104,65,0}}, +/* 40471 */ {(12<<2)|2,{104,65,0}}, +/* 40472 */ {(12<<2)|2,{104,65,0}}, +/* 40473 */ {(12<<2)|2,{104,65,0}}, +/* 40474 */ {(12<<2)|2,{104,65,0}}, +/* 40475 */ {(12<<2)|2,{104,65,0}}, +/* 40476 */ {(12<<2)|2,{104,65,0}}, +/* 40477 */ {(12<<2)|2,{104,65,0}}, +/* 40478 */ {(12<<2)|2,{104,65,0}}, +/* 40479 */ {(12<<2)|2,{104,65,0}}, +/* 40480 */ {(12<<2)|2,{104,95,0}}, +/* 40481 */ {(12<<2)|2,{104,95,0}}, +/* 40482 */ {(12<<2)|2,{104,95,0}}, +/* 40483 */ {(12<<2)|2,{104,95,0}}, +/* 40484 */ {(12<<2)|2,{104,95,0}}, +/* 40485 */ {(12<<2)|2,{104,95,0}}, +/* 40486 */ {(12<<2)|2,{104,95,0}}, +/* 40487 */ {(12<<2)|2,{104,95,0}}, +/* 40488 */ {(12<<2)|2,{104,95,0}}, +/* 40489 */ {(12<<2)|2,{104,95,0}}, +/* 40490 */ {(12<<2)|2,{104,95,0}}, +/* 40491 */ {(12<<2)|2,{104,95,0}}, +/* 40492 */ {(12<<2)|2,{104,95,0}}, +/* 40493 */ {(12<<2)|2,{104,95,0}}, +/* 40494 */ {(12<<2)|2,{104,95,0}}, +/* 40495 */ {(12<<2)|2,{104,95,0}}, +/* 40496 */ {(12<<2)|2,{104,98,0}}, +/* 40497 */ {(12<<2)|2,{104,98,0}}, +/* 40498 */ {(12<<2)|2,{104,98,0}}, +/* 40499 */ {(12<<2)|2,{104,98,0}}, +/* 40500 */ {(12<<2)|2,{104,98,0}}, +/* 40501 */ {(12<<2)|2,{104,98,0}}, +/* 40502 */ {(12<<2)|2,{104,98,0}}, +/* 40503 */ {(12<<2)|2,{104,98,0}}, +/* 40504 */ {(12<<2)|2,{104,98,0}}, +/* 40505 */ {(12<<2)|2,{104,98,0}}, +/* 40506 */ {(12<<2)|2,{104,98,0}}, +/* 40507 */ {(12<<2)|2,{104,98,0}}, +/* 40508 */ {(12<<2)|2,{104,98,0}}, +/* 40509 */ {(12<<2)|2,{104,98,0}}, +/* 40510 */ {(12<<2)|2,{104,98,0}}, +/* 40511 */ {(12<<2)|2,{104,98,0}}, +/* 40512 */ {(12<<2)|2,{104,100,0}}, +/* 40513 */ {(12<<2)|2,{104,100,0}}, +/* 40514 */ {(12<<2)|2,{104,100,0}}, +/* 40515 */ {(12<<2)|2,{104,100,0}}, +/* 40516 */ {(12<<2)|2,{104,100,0}}, +/* 40517 */ {(12<<2)|2,{104,100,0}}, +/* 40518 */ {(12<<2)|2,{104,100,0}}, +/* 40519 */ {(12<<2)|2,{104,100,0}}, +/* 40520 */ {(12<<2)|2,{104,100,0}}, +/* 40521 */ {(12<<2)|2,{104,100,0}}, +/* 40522 */ {(12<<2)|2,{104,100,0}}, +/* 40523 */ {(12<<2)|2,{104,100,0}}, +/* 40524 */ {(12<<2)|2,{104,100,0}}, +/* 40525 */ {(12<<2)|2,{104,100,0}}, +/* 40526 */ {(12<<2)|2,{104,100,0}}, +/* 40527 */ {(12<<2)|2,{104,100,0}}, +/* 40528 */ {(12<<2)|2,{104,102,0}}, +/* 40529 */ {(12<<2)|2,{104,102,0}}, +/* 40530 */ {(12<<2)|2,{104,102,0}}, +/* 40531 */ {(12<<2)|2,{104,102,0}}, +/* 40532 */ {(12<<2)|2,{104,102,0}}, +/* 40533 */ {(12<<2)|2,{104,102,0}}, +/* 40534 */ {(12<<2)|2,{104,102,0}}, +/* 40535 */ {(12<<2)|2,{104,102,0}}, +/* 40536 */ {(12<<2)|2,{104,102,0}}, +/* 40537 */ {(12<<2)|2,{104,102,0}}, +/* 40538 */ {(12<<2)|2,{104,102,0}}, +/* 40539 */ {(12<<2)|2,{104,102,0}}, +/* 40540 */ {(12<<2)|2,{104,102,0}}, +/* 40541 */ {(12<<2)|2,{104,102,0}}, +/* 40542 */ {(12<<2)|2,{104,102,0}}, +/* 40543 */ {(12<<2)|2,{104,102,0}}, +/* 40544 */ {(12<<2)|2,{104,103,0}}, +/* 40545 */ {(12<<2)|2,{104,103,0}}, +/* 40546 */ {(12<<2)|2,{104,103,0}}, +/* 40547 */ {(12<<2)|2,{104,103,0}}, +/* 40548 */ {(12<<2)|2,{104,103,0}}, +/* 40549 */ {(12<<2)|2,{104,103,0}}, +/* 40550 */ {(12<<2)|2,{104,103,0}}, +/* 40551 */ {(12<<2)|2,{104,103,0}}, +/* 40552 */ {(12<<2)|2,{104,103,0}}, +/* 40553 */ {(12<<2)|2,{104,103,0}}, +/* 40554 */ {(12<<2)|2,{104,103,0}}, +/* 40555 */ {(12<<2)|2,{104,103,0}}, +/* 40556 */ {(12<<2)|2,{104,103,0}}, +/* 40557 */ {(12<<2)|2,{104,103,0}}, +/* 40558 */ {(12<<2)|2,{104,103,0}}, +/* 40559 */ {(12<<2)|2,{104,103,0}}, +/* 40560 */ {(12<<2)|2,{104,104,0}}, +/* 40561 */ {(12<<2)|2,{104,104,0}}, +/* 40562 */ {(12<<2)|2,{104,104,0}}, +/* 40563 */ {(12<<2)|2,{104,104,0}}, +/* 40564 */ {(12<<2)|2,{104,104,0}}, +/* 40565 */ {(12<<2)|2,{104,104,0}}, +/* 40566 */ {(12<<2)|2,{104,104,0}}, +/* 40567 */ {(12<<2)|2,{104,104,0}}, +/* 40568 */ {(12<<2)|2,{104,104,0}}, +/* 40569 */ {(12<<2)|2,{104,104,0}}, +/* 40570 */ {(12<<2)|2,{104,104,0}}, +/* 40571 */ {(12<<2)|2,{104,104,0}}, +/* 40572 */ {(12<<2)|2,{104,104,0}}, +/* 40573 */ {(12<<2)|2,{104,104,0}}, +/* 40574 */ {(12<<2)|2,{104,104,0}}, +/* 40575 */ {(12<<2)|2,{104,104,0}}, +/* 40576 */ {(12<<2)|2,{104,108,0}}, +/* 40577 */ {(12<<2)|2,{104,108,0}}, +/* 40578 */ {(12<<2)|2,{104,108,0}}, +/* 40579 */ {(12<<2)|2,{104,108,0}}, +/* 40580 */ {(12<<2)|2,{104,108,0}}, +/* 40581 */ {(12<<2)|2,{104,108,0}}, +/* 40582 */ {(12<<2)|2,{104,108,0}}, +/* 40583 */ {(12<<2)|2,{104,108,0}}, +/* 40584 */ {(12<<2)|2,{104,108,0}}, +/* 40585 */ {(12<<2)|2,{104,108,0}}, +/* 40586 */ {(12<<2)|2,{104,108,0}}, +/* 40587 */ {(12<<2)|2,{104,108,0}}, +/* 40588 */ {(12<<2)|2,{104,108,0}}, +/* 40589 */ {(12<<2)|2,{104,108,0}}, +/* 40590 */ {(12<<2)|2,{104,108,0}}, +/* 40591 */ {(12<<2)|2,{104,108,0}}, +/* 40592 */ {(12<<2)|2,{104,109,0}}, +/* 40593 */ {(12<<2)|2,{104,109,0}}, +/* 40594 */ {(12<<2)|2,{104,109,0}}, +/* 40595 */ {(12<<2)|2,{104,109,0}}, +/* 40596 */ {(12<<2)|2,{104,109,0}}, +/* 40597 */ {(12<<2)|2,{104,109,0}}, +/* 40598 */ {(12<<2)|2,{104,109,0}}, +/* 40599 */ {(12<<2)|2,{104,109,0}}, +/* 40600 */ {(12<<2)|2,{104,109,0}}, +/* 40601 */ {(12<<2)|2,{104,109,0}}, +/* 40602 */ {(12<<2)|2,{104,109,0}}, +/* 40603 */ {(12<<2)|2,{104,109,0}}, +/* 40604 */ {(12<<2)|2,{104,109,0}}, +/* 40605 */ {(12<<2)|2,{104,109,0}}, +/* 40606 */ {(12<<2)|2,{104,109,0}}, +/* 40607 */ {(12<<2)|2,{104,109,0}}, +/* 40608 */ {(12<<2)|2,{104,110,0}}, +/* 40609 */ {(12<<2)|2,{104,110,0}}, +/* 40610 */ {(12<<2)|2,{104,110,0}}, +/* 40611 */ {(12<<2)|2,{104,110,0}}, +/* 40612 */ {(12<<2)|2,{104,110,0}}, +/* 40613 */ {(12<<2)|2,{104,110,0}}, +/* 40614 */ {(12<<2)|2,{104,110,0}}, +/* 40615 */ {(12<<2)|2,{104,110,0}}, +/* 40616 */ {(12<<2)|2,{104,110,0}}, +/* 40617 */ {(12<<2)|2,{104,110,0}}, +/* 40618 */ {(12<<2)|2,{104,110,0}}, +/* 40619 */ {(12<<2)|2,{104,110,0}}, +/* 40620 */ {(12<<2)|2,{104,110,0}}, +/* 40621 */ {(12<<2)|2,{104,110,0}}, +/* 40622 */ {(12<<2)|2,{104,110,0}}, +/* 40623 */ {(12<<2)|2,{104,110,0}}, +/* 40624 */ {(12<<2)|2,{104,112,0}}, +/* 40625 */ {(12<<2)|2,{104,112,0}}, +/* 40626 */ {(12<<2)|2,{104,112,0}}, +/* 40627 */ {(12<<2)|2,{104,112,0}}, +/* 40628 */ {(12<<2)|2,{104,112,0}}, +/* 40629 */ {(12<<2)|2,{104,112,0}}, +/* 40630 */ {(12<<2)|2,{104,112,0}}, +/* 40631 */ {(12<<2)|2,{104,112,0}}, +/* 40632 */ {(12<<2)|2,{104,112,0}}, +/* 40633 */ {(12<<2)|2,{104,112,0}}, +/* 40634 */ {(12<<2)|2,{104,112,0}}, +/* 40635 */ {(12<<2)|2,{104,112,0}}, +/* 40636 */ {(12<<2)|2,{104,112,0}}, +/* 40637 */ {(12<<2)|2,{104,112,0}}, +/* 40638 */ {(12<<2)|2,{104,112,0}}, +/* 40639 */ {(12<<2)|2,{104,112,0}}, +/* 40640 */ {(12<<2)|2,{104,114,0}}, +/* 40641 */ {(12<<2)|2,{104,114,0}}, +/* 40642 */ {(12<<2)|2,{104,114,0}}, +/* 40643 */ {(12<<2)|2,{104,114,0}}, +/* 40644 */ {(12<<2)|2,{104,114,0}}, +/* 40645 */ {(12<<2)|2,{104,114,0}}, +/* 40646 */ {(12<<2)|2,{104,114,0}}, +/* 40647 */ {(12<<2)|2,{104,114,0}}, +/* 40648 */ {(12<<2)|2,{104,114,0}}, +/* 40649 */ {(12<<2)|2,{104,114,0}}, +/* 40650 */ {(12<<2)|2,{104,114,0}}, +/* 40651 */ {(12<<2)|2,{104,114,0}}, +/* 40652 */ {(12<<2)|2,{104,114,0}}, +/* 40653 */ {(12<<2)|2,{104,114,0}}, +/* 40654 */ {(12<<2)|2,{104,114,0}}, +/* 40655 */ {(12<<2)|2,{104,114,0}}, +/* 40656 */ {(12<<2)|2,{104,117,0}}, +/* 40657 */ {(12<<2)|2,{104,117,0}}, +/* 40658 */ {(12<<2)|2,{104,117,0}}, +/* 40659 */ {(12<<2)|2,{104,117,0}}, +/* 40660 */ {(12<<2)|2,{104,117,0}}, +/* 40661 */ {(12<<2)|2,{104,117,0}}, +/* 40662 */ {(12<<2)|2,{104,117,0}}, +/* 40663 */ {(12<<2)|2,{104,117,0}}, +/* 40664 */ {(12<<2)|2,{104,117,0}}, +/* 40665 */ {(12<<2)|2,{104,117,0}}, +/* 40666 */ {(12<<2)|2,{104,117,0}}, +/* 40667 */ {(12<<2)|2,{104,117,0}}, +/* 40668 */ {(12<<2)|2,{104,117,0}}, +/* 40669 */ {(12<<2)|2,{104,117,0}}, +/* 40670 */ {(12<<2)|2,{104,117,0}}, +/* 40671 */ {(12<<2)|2,{104,117,0}}, +/* 40672 */ {(13<<2)|2,{104,58,0}}, +/* 40673 */ {(13<<2)|2,{104,58,0}}, +/* 40674 */ {(13<<2)|2,{104,58,0}}, +/* 40675 */ {(13<<2)|2,{104,58,0}}, +/* 40676 */ {(13<<2)|2,{104,58,0}}, +/* 40677 */ {(13<<2)|2,{104,58,0}}, +/* 40678 */ {(13<<2)|2,{104,58,0}}, +/* 40679 */ {(13<<2)|2,{104,58,0}}, +/* 40680 */ {(13<<2)|2,{104,66,0}}, +/* 40681 */ {(13<<2)|2,{104,66,0}}, +/* 40682 */ {(13<<2)|2,{104,66,0}}, +/* 40683 */ {(13<<2)|2,{104,66,0}}, +/* 40684 */ {(13<<2)|2,{104,66,0}}, +/* 40685 */ {(13<<2)|2,{104,66,0}}, +/* 40686 */ {(13<<2)|2,{104,66,0}}, +/* 40687 */ {(13<<2)|2,{104,66,0}}, +/* 40688 */ {(13<<2)|2,{104,67,0}}, +/* 40689 */ {(13<<2)|2,{104,67,0}}, +/* 40690 */ {(13<<2)|2,{104,67,0}}, +/* 40691 */ {(13<<2)|2,{104,67,0}}, +/* 40692 */ {(13<<2)|2,{104,67,0}}, +/* 40693 */ {(13<<2)|2,{104,67,0}}, +/* 40694 */ {(13<<2)|2,{104,67,0}}, +/* 40695 */ {(13<<2)|2,{104,67,0}}, +/* 40696 */ {(13<<2)|2,{104,68,0}}, +/* 40697 */ {(13<<2)|2,{104,68,0}}, +/* 40698 */ {(13<<2)|2,{104,68,0}}, +/* 40699 */ {(13<<2)|2,{104,68,0}}, +/* 40700 */ {(13<<2)|2,{104,68,0}}, +/* 40701 */ {(13<<2)|2,{104,68,0}}, +/* 40702 */ {(13<<2)|2,{104,68,0}}, +/* 40703 */ {(13<<2)|2,{104,68,0}}, +/* 40704 */ {(13<<2)|2,{104,69,0}}, +/* 40705 */ {(13<<2)|2,{104,69,0}}, +/* 40706 */ {(13<<2)|2,{104,69,0}}, +/* 40707 */ {(13<<2)|2,{104,69,0}}, +/* 40708 */ {(13<<2)|2,{104,69,0}}, +/* 40709 */ {(13<<2)|2,{104,69,0}}, +/* 40710 */ {(13<<2)|2,{104,69,0}}, +/* 40711 */ {(13<<2)|2,{104,69,0}}, +/* 40712 */ {(13<<2)|2,{104,70,0}}, +/* 40713 */ {(13<<2)|2,{104,70,0}}, +/* 40714 */ {(13<<2)|2,{104,70,0}}, +/* 40715 */ {(13<<2)|2,{104,70,0}}, +/* 40716 */ {(13<<2)|2,{104,70,0}}, +/* 40717 */ {(13<<2)|2,{104,70,0}}, +/* 40718 */ {(13<<2)|2,{104,70,0}}, +/* 40719 */ {(13<<2)|2,{104,70,0}}, +/* 40720 */ {(13<<2)|2,{104,71,0}}, +/* 40721 */ {(13<<2)|2,{104,71,0}}, +/* 40722 */ {(13<<2)|2,{104,71,0}}, +/* 40723 */ {(13<<2)|2,{104,71,0}}, +/* 40724 */ {(13<<2)|2,{104,71,0}}, +/* 40725 */ {(13<<2)|2,{104,71,0}}, +/* 40726 */ {(13<<2)|2,{104,71,0}}, +/* 40727 */ {(13<<2)|2,{104,71,0}}, +/* 40728 */ {(13<<2)|2,{104,72,0}}, +/* 40729 */ {(13<<2)|2,{104,72,0}}, +/* 40730 */ {(13<<2)|2,{104,72,0}}, +/* 40731 */ {(13<<2)|2,{104,72,0}}, +/* 40732 */ {(13<<2)|2,{104,72,0}}, +/* 40733 */ {(13<<2)|2,{104,72,0}}, +/* 40734 */ {(13<<2)|2,{104,72,0}}, +/* 40735 */ {(13<<2)|2,{104,72,0}}, +/* 40736 */ {(13<<2)|2,{104,73,0}}, +/* 40737 */ {(13<<2)|2,{104,73,0}}, +/* 40738 */ {(13<<2)|2,{104,73,0}}, +/* 40739 */ {(13<<2)|2,{104,73,0}}, +/* 40740 */ {(13<<2)|2,{104,73,0}}, +/* 40741 */ {(13<<2)|2,{104,73,0}}, +/* 40742 */ {(13<<2)|2,{104,73,0}}, +/* 40743 */ {(13<<2)|2,{104,73,0}}, +/* 40744 */ {(13<<2)|2,{104,74,0}}, +/* 40745 */ {(13<<2)|2,{104,74,0}}, +/* 40746 */ {(13<<2)|2,{104,74,0}}, +/* 40747 */ {(13<<2)|2,{104,74,0}}, +/* 40748 */ {(13<<2)|2,{104,74,0}}, +/* 40749 */ {(13<<2)|2,{104,74,0}}, +/* 40750 */ {(13<<2)|2,{104,74,0}}, +/* 40751 */ {(13<<2)|2,{104,74,0}}, +/* 40752 */ {(13<<2)|2,{104,75,0}}, +/* 40753 */ {(13<<2)|2,{104,75,0}}, +/* 40754 */ {(13<<2)|2,{104,75,0}}, +/* 40755 */ {(13<<2)|2,{104,75,0}}, +/* 40756 */ {(13<<2)|2,{104,75,0}}, +/* 40757 */ {(13<<2)|2,{104,75,0}}, +/* 40758 */ {(13<<2)|2,{104,75,0}}, +/* 40759 */ {(13<<2)|2,{104,75,0}}, +/* 40760 */ {(13<<2)|2,{104,76,0}}, +/* 40761 */ {(13<<2)|2,{104,76,0}}, +/* 40762 */ {(13<<2)|2,{104,76,0}}, +/* 40763 */ {(13<<2)|2,{104,76,0}}, +/* 40764 */ {(13<<2)|2,{104,76,0}}, +/* 40765 */ {(13<<2)|2,{104,76,0}}, +/* 40766 */ {(13<<2)|2,{104,76,0}}, +/* 40767 */ {(13<<2)|2,{104,76,0}}, +/* 40768 */ {(13<<2)|2,{104,77,0}}, +/* 40769 */ {(13<<2)|2,{104,77,0}}, +/* 40770 */ {(13<<2)|2,{104,77,0}}, +/* 40771 */ {(13<<2)|2,{104,77,0}}, +/* 40772 */ {(13<<2)|2,{104,77,0}}, +/* 40773 */ {(13<<2)|2,{104,77,0}}, +/* 40774 */ {(13<<2)|2,{104,77,0}}, +/* 40775 */ {(13<<2)|2,{104,77,0}}, +/* 40776 */ {(13<<2)|2,{104,78,0}}, +/* 40777 */ {(13<<2)|2,{104,78,0}}, +/* 40778 */ {(13<<2)|2,{104,78,0}}, +/* 40779 */ {(13<<2)|2,{104,78,0}}, +/* 40780 */ {(13<<2)|2,{104,78,0}}, +/* 40781 */ {(13<<2)|2,{104,78,0}}, +/* 40782 */ {(13<<2)|2,{104,78,0}}, +/* 40783 */ {(13<<2)|2,{104,78,0}}, +/* 40784 */ {(13<<2)|2,{104,79,0}}, +/* 40785 */ {(13<<2)|2,{104,79,0}}, +/* 40786 */ {(13<<2)|2,{104,79,0}}, +/* 40787 */ {(13<<2)|2,{104,79,0}}, +/* 40788 */ {(13<<2)|2,{104,79,0}}, +/* 40789 */ {(13<<2)|2,{104,79,0}}, +/* 40790 */ {(13<<2)|2,{104,79,0}}, +/* 40791 */ {(13<<2)|2,{104,79,0}}, +/* 40792 */ {(13<<2)|2,{104,80,0}}, +/* 40793 */ {(13<<2)|2,{104,80,0}}, +/* 40794 */ {(13<<2)|2,{104,80,0}}, +/* 40795 */ {(13<<2)|2,{104,80,0}}, +/* 40796 */ {(13<<2)|2,{104,80,0}}, +/* 40797 */ {(13<<2)|2,{104,80,0}}, +/* 40798 */ {(13<<2)|2,{104,80,0}}, +/* 40799 */ {(13<<2)|2,{104,80,0}}, +/* 40800 */ {(13<<2)|2,{104,81,0}}, +/* 40801 */ {(13<<2)|2,{104,81,0}}, +/* 40802 */ {(13<<2)|2,{104,81,0}}, +/* 40803 */ {(13<<2)|2,{104,81,0}}, +/* 40804 */ {(13<<2)|2,{104,81,0}}, +/* 40805 */ {(13<<2)|2,{104,81,0}}, +/* 40806 */ {(13<<2)|2,{104,81,0}}, +/* 40807 */ {(13<<2)|2,{104,81,0}}, +/* 40808 */ {(13<<2)|2,{104,82,0}}, +/* 40809 */ {(13<<2)|2,{104,82,0}}, +/* 40810 */ {(13<<2)|2,{104,82,0}}, +/* 40811 */ {(13<<2)|2,{104,82,0}}, +/* 40812 */ {(13<<2)|2,{104,82,0}}, +/* 40813 */ {(13<<2)|2,{104,82,0}}, +/* 40814 */ {(13<<2)|2,{104,82,0}}, +/* 40815 */ {(13<<2)|2,{104,82,0}}, +/* 40816 */ {(13<<2)|2,{104,83,0}}, +/* 40817 */ {(13<<2)|2,{104,83,0}}, +/* 40818 */ {(13<<2)|2,{104,83,0}}, +/* 40819 */ {(13<<2)|2,{104,83,0}}, +/* 40820 */ {(13<<2)|2,{104,83,0}}, +/* 40821 */ {(13<<2)|2,{104,83,0}}, +/* 40822 */ {(13<<2)|2,{104,83,0}}, +/* 40823 */ {(13<<2)|2,{104,83,0}}, +/* 40824 */ {(13<<2)|2,{104,84,0}}, +/* 40825 */ {(13<<2)|2,{104,84,0}}, +/* 40826 */ {(13<<2)|2,{104,84,0}}, +/* 40827 */ {(13<<2)|2,{104,84,0}}, +/* 40828 */ {(13<<2)|2,{104,84,0}}, +/* 40829 */ {(13<<2)|2,{104,84,0}}, +/* 40830 */ {(13<<2)|2,{104,84,0}}, +/* 40831 */ {(13<<2)|2,{104,84,0}}, +/* 40832 */ {(13<<2)|2,{104,85,0}}, +/* 40833 */ {(13<<2)|2,{104,85,0}}, +/* 40834 */ {(13<<2)|2,{104,85,0}}, +/* 40835 */ {(13<<2)|2,{104,85,0}}, +/* 40836 */ {(13<<2)|2,{104,85,0}}, +/* 40837 */ {(13<<2)|2,{104,85,0}}, +/* 40838 */ {(13<<2)|2,{104,85,0}}, +/* 40839 */ {(13<<2)|2,{104,85,0}}, +/* 40840 */ {(13<<2)|2,{104,86,0}}, +/* 40841 */ {(13<<2)|2,{104,86,0}}, +/* 40842 */ {(13<<2)|2,{104,86,0}}, +/* 40843 */ {(13<<2)|2,{104,86,0}}, +/* 40844 */ {(13<<2)|2,{104,86,0}}, +/* 40845 */ {(13<<2)|2,{104,86,0}}, +/* 40846 */ {(13<<2)|2,{104,86,0}}, +/* 40847 */ {(13<<2)|2,{104,86,0}}, +/* 40848 */ {(13<<2)|2,{104,87,0}}, +/* 40849 */ {(13<<2)|2,{104,87,0}}, +/* 40850 */ {(13<<2)|2,{104,87,0}}, +/* 40851 */ {(13<<2)|2,{104,87,0}}, +/* 40852 */ {(13<<2)|2,{104,87,0}}, +/* 40853 */ {(13<<2)|2,{104,87,0}}, +/* 40854 */ {(13<<2)|2,{104,87,0}}, +/* 40855 */ {(13<<2)|2,{104,87,0}}, +/* 40856 */ {(13<<2)|2,{104,89,0}}, +/* 40857 */ {(13<<2)|2,{104,89,0}}, +/* 40858 */ {(13<<2)|2,{104,89,0}}, +/* 40859 */ {(13<<2)|2,{104,89,0}}, +/* 40860 */ {(13<<2)|2,{104,89,0}}, +/* 40861 */ {(13<<2)|2,{104,89,0}}, +/* 40862 */ {(13<<2)|2,{104,89,0}}, +/* 40863 */ {(13<<2)|2,{104,89,0}}, +/* 40864 */ {(13<<2)|2,{104,106,0}}, +/* 40865 */ {(13<<2)|2,{104,106,0}}, +/* 40866 */ {(13<<2)|2,{104,106,0}}, +/* 40867 */ {(13<<2)|2,{104,106,0}}, +/* 40868 */ {(13<<2)|2,{104,106,0}}, +/* 40869 */ {(13<<2)|2,{104,106,0}}, +/* 40870 */ {(13<<2)|2,{104,106,0}}, +/* 40871 */ {(13<<2)|2,{104,106,0}}, +/* 40872 */ {(13<<2)|2,{104,107,0}}, +/* 40873 */ {(13<<2)|2,{104,107,0}}, +/* 40874 */ {(13<<2)|2,{104,107,0}}, +/* 40875 */ {(13<<2)|2,{104,107,0}}, +/* 40876 */ {(13<<2)|2,{104,107,0}}, +/* 40877 */ {(13<<2)|2,{104,107,0}}, +/* 40878 */ {(13<<2)|2,{104,107,0}}, +/* 40879 */ {(13<<2)|2,{104,107,0}}, +/* 40880 */ {(13<<2)|2,{104,113,0}}, +/* 40881 */ {(13<<2)|2,{104,113,0}}, +/* 40882 */ {(13<<2)|2,{104,113,0}}, +/* 40883 */ {(13<<2)|2,{104,113,0}}, +/* 40884 */ {(13<<2)|2,{104,113,0}}, +/* 40885 */ {(13<<2)|2,{104,113,0}}, +/* 40886 */ {(13<<2)|2,{104,113,0}}, +/* 40887 */ {(13<<2)|2,{104,113,0}}, +/* 40888 */ {(13<<2)|2,{104,118,0}}, +/* 40889 */ {(13<<2)|2,{104,118,0}}, +/* 40890 */ {(13<<2)|2,{104,118,0}}, +/* 40891 */ {(13<<2)|2,{104,118,0}}, +/* 40892 */ {(13<<2)|2,{104,118,0}}, +/* 40893 */ {(13<<2)|2,{104,118,0}}, +/* 40894 */ {(13<<2)|2,{104,118,0}}, +/* 40895 */ {(13<<2)|2,{104,118,0}}, +/* 40896 */ {(13<<2)|2,{104,119,0}}, +/* 40897 */ {(13<<2)|2,{104,119,0}}, +/* 40898 */ {(13<<2)|2,{104,119,0}}, +/* 40899 */ {(13<<2)|2,{104,119,0}}, +/* 40900 */ {(13<<2)|2,{104,119,0}}, +/* 40901 */ {(13<<2)|2,{104,119,0}}, +/* 40902 */ {(13<<2)|2,{104,119,0}}, +/* 40903 */ {(13<<2)|2,{104,119,0}}, +/* 40904 */ {(13<<2)|2,{104,120,0}}, +/* 40905 */ {(13<<2)|2,{104,120,0}}, +/* 40906 */ {(13<<2)|2,{104,120,0}}, +/* 40907 */ {(13<<2)|2,{104,120,0}}, +/* 40908 */ {(13<<2)|2,{104,120,0}}, +/* 40909 */ {(13<<2)|2,{104,120,0}}, +/* 40910 */ {(13<<2)|2,{104,120,0}}, +/* 40911 */ {(13<<2)|2,{104,120,0}}, +/* 40912 */ {(13<<2)|2,{104,121,0}}, +/* 40913 */ {(13<<2)|2,{104,121,0}}, +/* 40914 */ {(13<<2)|2,{104,121,0}}, +/* 40915 */ {(13<<2)|2,{104,121,0}}, +/* 40916 */ {(13<<2)|2,{104,121,0}}, +/* 40917 */ {(13<<2)|2,{104,121,0}}, +/* 40918 */ {(13<<2)|2,{104,121,0}}, +/* 40919 */ {(13<<2)|2,{104,121,0}}, +/* 40920 */ {(13<<2)|2,{104,122,0}}, +/* 40921 */ {(13<<2)|2,{104,122,0}}, +/* 40922 */ {(13<<2)|2,{104,122,0}}, +/* 40923 */ {(13<<2)|2,{104,122,0}}, +/* 40924 */ {(13<<2)|2,{104,122,0}}, +/* 40925 */ {(13<<2)|2,{104,122,0}}, +/* 40926 */ {(13<<2)|2,{104,122,0}}, +/* 40927 */ {(13<<2)|2,{104,122,0}}, +/* 40928 */ {(14<<2)|2,{104,38,0}}, +/* 40929 */ {(14<<2)|2,{104,38,0}}, +/* 40930 */ {(14<<2)|2,{104,38,0}}, +/* 40931 */ {(14<<2)|2,{104,38,0}}, +/* 40932 */ {(14<<2)|2,{104,42,0}}, +/* 40933 */ {(14<<2)|2,{104,42,0}}, +/* 40934 */ {(14<<2)|2,{104,42,0}}, +/* 40935 */ {(14<<2)|2,{104,42,0}}, +/* 40936 */ {(14<<2)|2,{104,44,0}}, +/* 40937 */ {(14<<2)|2,{104,44,0}}, +/* 40938 */ {(14<<2)|2,{104,44,0}}, +/* 40939 */ {(14<<2)|2,{104,44,0}}, +/* 40940 */ {(14<<2)|2,{104,59,0}}, +/* 40941 */ {(14<<2)|2,{104,59,0}}, +/* 40942 */ {(14<<2)|2,{104,59,0}}, +/* 40943 */ {(14<<2)|2,{104,59,0}}, +/* 40944 */ {(14<<2)|2,{104,88,0}}, +/* 40945 */ {(14<<2)|2,{104,88,0}}, +/* 40946 */ {(14<<2)|2,{104,88,0}}, +/* 40947 */ {(14<<2)|2,{104,88,0}}, +/* 40948 */ {(14<<2)|2,{104,90,0}}, +/* 40949 */ {(14<<2)|2,{104,90,0}}, +/* 40950 */ {(14<<2)|2,{104,90,0}}, +/* 40951 */ {(14<<2)|2,{104,90,0}}, +/* 40952 */ {(16<<2)|2,{104,33,0}}, +/* 40953 */ {(16<<2)|2,{104,34,0}}, +/* 40954 */ {(16<<2)|2,{104,40,0}}, +/* 40955 */ {(16<<2)|2,{104,41,0}}, +/* 40956 */ {(16<<2)|2,{104,63,0}}, +/* 40957 */ {(6<<2)|1,{104,0,0}}, +/* 40958 */ {(6<<2)|1,{104,0,0}}, +/* 40959 */ {(6<<2)|1,{104,0,0}}, +/* 40960 */ {(16<<2)|3,{108,48,48}}, +/* 40961 */ {(16<<2)|3,{108,48,49}}, +/* 40962 */ {(16<<2)|3,{108,48,50}}, +/* 40963 */ {(16<<2)|3,{108,48,97}}, +/* 40964 */ {(16<<2)|3,{108,48,99}}, +/* 40965 */ {(16<<2)|3,{108,48,101}}, +/* 40966 */ {(16<<2)|3,{108,48,105}}, +/* 40967 */ {(16<<2)|3,{108,48,111}}, +/* 40968 */ {(16<<2)|3,{108,48,115}}, +/* 40969 */ {(16<<2)|3,{108,48,116}}, +/* 40970 */ {(11<<2)|2,{108,48,0}}, +/* 40971 */ {(11<<2)|2,{108,48,0}}, +/* 40972 */ {(11<<2)|2,{108,48,0}}, +/* 40973 */ {(11<<2)|2,{108,48,0}}, +/* 40974 */ {(11<<2)|2,{108,48,0}}, +/* 40975 */ {(11<<2)|2,{108,48,0}}, +/* 40976 */ {(11<<2)|2,{108,48,0}}, +/* 40977 */ {(11<<2)|2,{108,48,0}}, +/* 40978 */ {(11<<2)|2,{108,48,0}}, +/* 40979 */ {(11<<2)|2,{108,48,0}}, +/* 40980 */ {(11<<2)|2,{108,48,0}}, +/* 40981 */ {(11<<2)|2,{108,48,0}}, +/* 40982 */ {(11<<2)|2,{108,48,0}}, +/* 40983 */ {(11<<2)|2,{108,48,0}}, +/* 40984 */ {(11<<2)|2,{108,48,0}}, +/* 40985 */ {(11<<2)|2,{108,48,0}}, +/* 40986 */ {(11<<2)|2,{108,48,0}}, +/* 40987 */ {(11<<2)|2,{108,48,0}}, +/* 40988 */ {(11<<2)|2,{108,48,0}}, +/* 40989 */ {(11<<2)|2,{108,48,0}}, +/* 40990 */ {(11<<2)|2,{108,48,0}}, +/* 40991 */ {(11<<2)|2,{108,48,0}}, +/* 40992 */ {(16<<2)|3,{108,49,48}}, +/* 40993 */ {(16<<2)|3,{108,49,49}}, +/* 40994 */ {(16<<2)|3,{108,49,50}}, +/* 40995 */ {(16<<2)|3,{108,49,97}}, +/* 40996 */ {(16<<2)|3,{108,49,99}}, +/* 40997 */ {(16<<2)|3,{108,49,101}}, +/* 40998 */ {(16<<2)|3,{108,49,105}}, +/* 40999 */ {(16<<2)|3,{108,49,111}}, +/* 41000 */ {(16<<2)|3,{108,49,115}}, +/* 41001 */ {(16<<2)|3,{108,49,116}}, +/* 41002 */ {(11<<2)|2,{108,49,0}}, +/* 41003 */ {(11<<2)|2,{108,49,0}}, +/* 41004 */ {(11<<2)|2,{108,49,0}}, +/* 41005 */ {(11<<2)|2,{108,49,0}}, +/* 41006 */ {(11<<2)|2,{108,49,0}}, +/* 41007 */ {(11<<2)|2,{108,49,0}}, +/* 41008 */ {(11<<2)|2,{108,49,0}}, +/* 41009 */ {(11<<2)|2,{108,49,0}}, +/* 41010 */ {(11<<2)|2,{108,49,0}}, +/* 41011 */ {(11<<2)|2,{108,49,0}}, +/* 41012 */ {(11<<2)|2,{108,49,0}}, +/* 41013 */ {(11<<2)|2,{108,49,0}}, +/* 41014 */ {(11<<2)|2,{108,49,0}}, +/* 41015 */ {(11<<2)|2,{108,49,0}}, +/* 41016 */ {(11<<2)|2,{108,49,0}}, +/* 41017 */ {(11<<2)|2,{108,49,0}}, +/* 41018 */ {(11<<2)|2,{108,49,0}}, +/* 41019 */ {(11<<2)|2,{108,49,0}}, +/* 41020 */ {(11<<2)|2,{108,49,0}}, +/* 41021 */ {(11<<2)|2,{108,49,0}}, +/* 41022 */ {(11<<2)|2,{108,49,0}}, +/* 41023 */ {(11<<2)|2,{108,49,0}}, +/* 41024 */ {(16<<2)|3,{108,50,48}}, +/* 41025 */ {(16<<2)|3,{108,50,49}}, +/* 41026 */ {(16<<2)|3,{108,50,50}}, +/* 41027 */ {(16<<2)|3,{108,50,97}}, +/* 41028 */ {(16<<2)|3,{108,50,99}}, +/* 41029 */ {(16<<2)|3,{108,50,101}}, +/* 41030 */ {(16<<2)|3,{108,50,105}}, +/* 41031 */ {(16<<2)|3,{108,50,111}}, +/* 41032 */ {(16<<2)|3,{108,50,115}}, +/* 41033 */ {(16<<2)|3,{108,50,116}}, +/* 41034 */ {(11<<2)|2,{108,50,0}}, +/* 41035 */ {(11<<2)|2,{108,50,0}}, +/* 41036 */ {(11<<2)|2,{108,50,0}}, +/* 41037 */ {(11<<2)|2,{108,50,0}}, +/* 41038 */ {(11<<2)|2,{108,50,0}}, +/* 41039 */ {(11<<2)|2,{108,50,0}}, +/* 41040 */ {(11<<2)|2,{108,50,0}}, +/* 41041 */ {(11<<2)|2,{108,50,0}}, +/* 41042 */ {(11<<2)|2,{108,50,0}}, +/* 41043 */ {(11<<2)|2,{108,50,0}}, +/* 41044 */ {(11<<2)|2,{108,50,0}}, +/* 41045 */ {(11<<2)|2,{108,50,0}}, +/* 41046 */ {(11<<2)|2,{108,50,0}}, +/* 41047 */ {(11<<2)|2,{108,50,0}}, +/* 41048 */ {(11<<2)|2,{108,50,0}}, +/* 41049 */ {(11<<2)|2,{108,50,0}}, +/* 41050 */ {(11<<2)|2,{108,50,0}}, +/* 41051 */ {(11<<2)|2,{108,50,0}}, +/* 41052 */ {(11<<2)|2,{108,50,0}}, +/* 41053 */ {(11<<2)|2,{108,50,0}}, +/* 41054 */ {(11<<2)|2,{108,50,0}}, +/* 41055 */ {(11<<2)|2,{108,50,0}}, +/* 41056 */ {(16<<2)|3,{108,97,48}}, +/* 41057 */ {(16<<2)|3,{108,97,49}}, +/* 41058 */ {(16<<2)|3,{108,97,50}}, +/* 41059 */ {(16<<2)|3,{108,97,97}}, +/* 41060 */ {(16<<2)|3,{108,97,99}}, +/* 41061 */ {(16<<2)|3,{108,97,101}}, +/* 41062 */ {(16<<2)|3,{108,97,105}}, +/* 41063 */ {(16<<2)|3,{108,97,111}}, +/* 41064 */ {(16<<2)|3,{108,97,115}}, +/* 41065 */ {(16<<2)|3,{108,97,116}}, +/* 41066 */ {(11<<2)|2,{108,97,0}}, +/* 41067 */ {(11<<2)|2,{108,97,0}}, +/* 41068 */ {(11<<2)|2,{108,97,0}}, +/* 41069 */ {(11<<2)|2,{108,97,0}}, +/* 41070 */ {(11<<2)|2,{108,97,0}}, +/* 41071 */ {(11<<2)|2,{108,97,0}}, +/* 41072 */ {(11<<2)|2,{108,97,0}}, +/* 41073 */ {(11<<2)|2,{108,97,0}}, +/* 41074 */ {(11<<2)|2,{108,97,0}}, +/* 41075 */ {(11<<2)|2,{108,97,0}}, +/* 41076 */ {(11<<2)|2,{108,97,0}}, +/* 41077 */ {(11<<2)|2,{108,97,0}}, +/* 41078 */ {(11<<2)|2,{108,97,0}}, +/* 41079 */ {(11<<2)|2,{108,97,0}}, +/* 41080 */ {(11<<2)|2,{108,97,0}}, +/* 41081 */ {(11<<2)|2,{108,97,0}}, +/* 41082 */ {(11<<2)|2,{108,97,0}}, +/* 41083 */ {(11<<2)|2,{108,97,0}}, +/* 41084 */ {(11<<2)|2,{108,97,0}}, +/* 41085 */ {(11<<2)|2,{108,97,0}}, +/* 41086 */ {(11<<2)|2,{108,97,0}}, +/* 41087 */ {(11<<2)|2,{108,97,0}}, +/* 41088 */ {(16<<2)|3,{108,99,48}}, +/* 41089 */ {(16<<2)|3,{108,99,49}}, +/* 41090 */ {(16<<2)|3,{108,99,50}}, +/* 41091 */ {(16<<2)|3,{108,99,97}}, +/* 41092 */ {(16<<2)|3,{108,99,99}}, +/* 41093 */ {(16<<2)|3,{108,99,101}}, +/* 41094 */ {(16<<2)|3,{108,99,105}}, +/* 41095 */ {(16<<2)|3,{108,99,111}}, +/* 41096 */ {(16<<2)|3,{108,99,115}}, +/* 41097 */ {(16<<2)|3,{108,99,116}}, +/* 41098 */ {(11<<2)|2,{108,99,0}}, +/* 41099 */ {(11<<2)|2,{108,99,0}}, +/* 41100 */ {(11<<2)|2,{108,99,0}}, +/* 41101 */ {(11<<2)|2,{108,99,0}}, +/* 41102 */ {(11<<2)|2,{108,99,0}}, +/* 41103 */ {(11<<2)|2,{108,99,0}}, +/* 41104 */ {(11<<2)|2,{108,99,0}}, +/* 41105 */ {(11<<2)|2,{108,99,0}}, +/* 41106 */ {(11<<2)|2,{108,99,0}}, +/* 41107 */ {(11<<2)|2,{108,99,0}}, +/* 41108 */ {(11<<2)|2,{108,99,0}}, +/* 41109 */ {(11<<2)|2,{108,99,0}}, +/* 41110 */ {(11<<2)|2,{108,99,0}}, +/* 41111 */ {(11<<2)|2,{108,99,0}}, +/* 41112 */ {(11<<2)|2,{108,99,0}}, +/* 41113 */ {(11<<2)|2,{108,99,0}}, +/* 41114 */ {(11<<2)|2,{108,99,0}}, +/* 41115 */ {(11<<2)|2,{108,99,0}}, +/* 41116 */ {(11<<2)|2,{108,99,0}}, +/* 41117 */ {(11<<2)|2,{108,99,0}}, +/* 41118 */ {(11<<2)|2,{108,99,0}}, +/* 41119 */ {(11<<2)|2,{108,99,0}}, +/* 41120 */ {(16<<2)|3,{108,101,48}}, +/* 41121 */ {(16<<2)|3,{108,101,49}}, +/* 41122 */ {(16<<2)|3,{108,101,50}}, +/* 41123 */ {(16<<2)|3,{108,101,97}}, +/* 41124 */ {(16<<2)|3,{108,101,99}}, +/* 41125 */ {(16<<2)|3,{108,101,101}}, +/* 41126 */ {(16<<2)|3,{108,101,105}}, +/* 41127 */ {(16<<2)|3,{108,101,111}}, +/* 41128 */ {(16<<2)|3,{108,101,115}}, +/* 41129 */ {(16<<2)|3,{108,101,116}}, +/* 41130 */ {(11<<2)|2,{108,101,0}}, +/* 41131 */ {(11<<2)|2,{108,101,0}}, +/* 41132 */ {(11<<2)|2,{108,101,0}}, +/* 41133 */ {(11<<2)|2,{108,101,0}}, +/* 41134 */ {(11<<2)|2,{108,101,0}}, +/* 41135 */ {(11<<2)|2,{108,101,0}}, +/* 41136 */ {(11<<2)|2,{108,101,0}}, +/* 41137 */ {(11<<2)|2,{108,101,0}}, +/* 41138 */ {(11<<2)|2,{108,101,0}}, +/* 41139 */ {(11<<2)|2,{108,101,0}}, +/* 41140 */ {(11<<2)|2,{108,101,0}}, +/* 41141 */ {(11<<2)|2,{108,101,0}}, +/* 41142 */ {(11<<2)|2,{108,101,0}}, +/* 41143 */ {(11<<2)|2,{108,101,0}}, +/* 41144 */ {(11<<2)|2,{108,101,0}}, +/* 41145 */ {(11<<2)|2,{108,101,0}}, +/* 41146 */ {(11<<2)|2,{108,101,0}}, +/* 41147 */ {(11<<2)|2,{108,101,0}}, +/* 41148 */ {(11<<2)|2,{108,101,0}}, +/* 41149 */ {(11<<2)|2,{108,101,0}}, +/* 41150 */ {(11<<2)|2,{108,101,0}}, +/* 41151 */ {(11<<2)|2,{108,101,0}}, +/* 41152 */ {(16<<2)|3,{108,105,48}}, +/* 41153 */ {(16<<2)|3,{108,105,49}}, +/* 41154 */ {(16<<2)|3,{108,105,50}}, +/* 41155 */ {(16<<2)|3,{108,105,97}}, +/* 41156 */ {(16<<2)|3,{108,105,99}}, +/* 41157 */ {(16<<2)|3,{108,105,101}}, +/* 41158 */ {(16<<2)|3,{108,105,105}}, +/* 41159 */ {(16<<2)|3,{108,105,111}}, +/* 41160 */ {(16<<2)|3,{108,105,115}}, +/* 41161 */ {(16<<2)|3,{108,105,116}}, +/* 41162 */ {(11<<2)|2,{108,105,0}}, +/* 41163 */ {(11<<2)|2,{108,105,0}}, +/* 41164 */ {(11<<2)|2,{108,105,0}}, +/* 41165 */ {(11<<2)|2,{108,105,0}}, +/* 41166 */ {(11<<2)|2,{108,105,0}}, +/* 41167 */ {(11<<2)|2,{108,105,0}}, +/* 41168 */ {(11<<2)|2,{108,105,0}}, +/* 41169 */ {(11<<2)|2,{108,105,0}}, +/* 41170 */ {(11<<2)|2,{108,105,0}}, +/* 41171 */ {(11<<2)|2,{108,105,0}}, +/* 41172 */ {(11<<2)|2,{108,105,0}}, +/* 41173 */ {(11<<2)|2,{108,105,0}}, +/* 41174 */ {(11<<2)|2,{108,105,0}}, +/* 41175 */ {(11<<2)|2,{108,105,0}}, +/* 41176 */ {(11<<2)|2,{108,105,0}}, +/* 41177 */ {(11<<2)|2,{108,105,0}}, +/* 41178 */ {(11<<2)|2,{108,105,0}}, +/* 41179 */ {(11<<2)|2,{108,105,0}}, +/* 41180 */ {(11<<2)|2,{108,105,0}}, +/* 41181 */ {(11<<2)|2,{108,105,0}}, +/* 41182 */ {(11<<2)|2,{108,105,0}}, +/* 41183 */ {(11<<2)|2,{108,105,0}}, +/* 41184 */ {(16<<2)|3,{108,111,48}}, +/* 41185 */ {(16<<2)|3,{108,111,49}}, +/* 41186 */ {(16<<2)|3,{108,111,50}}, +/* 41187 */ {(16<<2)|3,{108,111,97}}, +/* 41188 */ {(16<<2)|3,{108,111,99}}, +/* 41189 */ {(16<<2)|3,{108,111,101}}, +/* 41190 */ {(16<<2)|3,{108,111,105}}, +/* 41191 */ {(16<<2)|3,{108,111,111}}, +/* 41192 */ {(16<<2)|3,{108,111,115}}, +/* 41193 */ {(16<<2)|3,{108,111,116}}, +/* 41194 */ {(11<<2)|2,{108,111,0}}, +/* 41195 */ {(11<<2)|2,{108,111,0}}, +/* 41196 */ {(11<<2)|2,{108,111,0}}, +/* 41197 */ {(11<<2)|2,{108,111,0}}, +/* 41198 */ {(11<<2)|2,{108,111,0}}, +/* 41199 */ {(11<<2)|2,{108,111,0}}, +/* 41200 */ {(11<<2)|2,{108,111,0}}, +/* 41201 */ {(11<<2)|2,{108,111,0}}, +/* 41202 */ {(11<<2)|2,{108,111,0}}, +/* 41203 */ {(11<<2)|2,{108,111,0}}, +/* 41204 */ {(11<<2)|2,{108,111,0}}, +/* 41205 */ {(11<<2)|2,{108,111,0}}, +/* 41206 */ {(11<<2)|2,{108,111,0}}, +/* 41207 */ {(11<<2)|2,{108,111,0}}, +/* 41208 */ {(11<<2)|2,{108,111,0}}, +/* 41209 */ {(11<<2)|2,{108,111,0}}, +/* 41210 */ {(11<<2)|2,{108,111,0}}, +/* 41211 */ {(11<<2)|2,{108,111,0}}, +/* 41212 */ {(11<<2)|2,{108,111,0}}, +/* 41213 */ {(11<<2)|2,{108,111,0}}, +/* 41214 */ {(11<<2)|2,{108,111,0}}, +/* 41215 */ {(11<<2)|2,{108,111,0}}, +/* 41216 */ {(16<<2)|3,{108,115,48}}, +/* 41217 */ {(16<<2)|3,{108,115,49}}, +/* 41218 */ {(16<<2)|3,{108,115,50}}, +/* 41219 */ {(16<<2)|3,{108,115,97}}, +/* 41220 */ {(16<<2)|3,{108,115,99}}, +/* 41221 */ {(16<<2)|3,{108,115,101}}, +/* 41222 */ {(16<<2)|3,{108,115,105}}, +/* 41223 */ {(16<<2)|3,{108,115,111}}, +/* 41224 */ {(16<<2)|3,{108,115,115}}, +/* 41225 */ {(16<<2)|3,{108,115,116}}, +/* 41226 */ {(11<<2)|2,{108,115,0}}, +/* 41227 */ {(11<<2)|2,{108,115,0}}, +/* 41228 */ {(11<<2)|2,{108,115,0}}, +/* 41229 */ {(11<<2)|2,{108,115,0}}, +/* 41230 */ {(11<<2)|2,{108,115,0}}, +/* 41231 */ {(11<<2)|2,{108,115,0}}, +/* 41232 */ {(11<<2)|2,{108,115,0}}, +/* 41233 */ {(11<<2)|2,{108,115,0}}, +/* 41234 */ {(11<<2)|2,{108,115,0}}, +/* 41235 */ {(11<<2)|2,{108,115,0}}, +/* 41236 */ {(11<<2)|2,{108,115,0}}, +/* 41237 */ {(11<<2)|2,{108,115,0}}, +/* 41238 */ {(11<<2)|2,{108,115,0}}, +/* 41239 */ {(11<<2)|2,{108,115,0}}, +/* 41240 */ {(11<<2)|2,{108,115,0}}, +/* 41241 */ {(11<<2)|2,{108,115,0}}, +/* 41242 */ {(11<<2)|2,{108,115,0}}, +/* 41243 */ {(11<<2)|2,{108,115,0}}, +/* 41244 */ {(11<<2)|2,{108,115,0}}, +/* 41245 */ {(11<<2)|2,{108,115,0}}, +/* 41246 */ {(11<<2)|2,{108,115,0}}, +/* 41247 */ {(11<<2)|2,{108,115,0}}, +/* 41248 */ {(16<<2)|3,{108,116,48}}, +/* 41249 */ {(16<<2)|3,{108,116,49}}, +/* 41250 */ {(16<<2)|3,{108,116,50}}, +/* 41251 */ {(16<<2)|3,{108,116,97}}, +/* 41252 */ {(16<<2)|3,{108,116,99}}, +/* 41253 */ {(16<<2)|3,{108,116,101}}, +/* 41254 */ {(16<<2)|3,{108,116,105}}, +/* 41255 */ {(16<<2)|3,{108,116,111}}, +/* 41256 */ {(16<<2)|3,{108,116,115}}, +/* 41257 */ {(16<<2)|3,{108,116,116}}, +/* 41258 */ {(11<<2)|2,{108,116,0}}, +/* 41259 */ {(11<<2)|2,{108,116,0}}, +/* 41260 */ {(11<<2)|2,{108,116,0}}, +/* 41261 */ {(11<<2)|2,{108,116,0}}, +/* 41262 */ {(11<<2)|2,{108,116,0}}, +/* 41263 */ {(11<<2)|2,{108,116,0}}, +/* 41264 */ {(11<<2)|2,{108,116,0}}, +/* 41265 */ {(11<<2)|2,{108,116,0}}, +/* 41266 */ {(11<<2)|2,{108,116,0}}, +/* 41267 */ {(11<<2)|2,{108,116,0}}, +/* 41268 */ {(11<<2)|2,{108,116,0}}, +/* 41269 */ {(11<<2)|2,{108,116,0}}, +/* 41270 */ {(11<<2)|2,{108,116,0}}, +/* 41271 */ {(11<<2)|2,{108,116,0}}, +/* 41272 */ {(11<<2)|2,{108,116,0}}, +/* 41273 */ {(11<<2)|2,{108,116,0}}, +/* 41274 */ {(11<<2)|2,{108,116,0}}, +/* 41275 */ {(11<<2)|2,{108,116,0}}, +/* 41276 */ {(11<<2)|2,{108,116,0}}, +/* 41277 */ {(11<<2)|2,{108,116,0}}, +/* 41278 */ {(11<<2)|2,{108,116,0}}, +/* 41279 */ {(11<<2)|2,{108,116,0}}, +/* 41280 */ {(12<<2)|2,{108,32,0}}, +/* 41281 */ {(12<<2)|2,{108,32,0}}, +/* 41282 */ {(12<<2)|2,{108,32,0}}, +/* 41283 */ {(12<<2)|2,{108,32,0}}, +/* 41284 */ {(12<<2)|2,{108,32,0}}, +/* 41285 */ {(12<<2)|2,{108,32,0}}, +/* 41286 */ {(12<<2)|2,{108,32,0}}, +/* 41287 */ {(12<<2)|2,{108,32,0}}, +/* 41288 */ {(12<<2)|2,{108,32,0}}, +/* 41289 */ {(12<<2)|2,{108,32,0}}, +/* 41290 */ {(12<<2)|2,{108,32,0}}, +/* 41291 */ {(12<<2)|2,{108,32,0}}, +/* 41292 */ {(12<<2)|2,{108,32,0}}, +/* 41293 */ {(12<<2)|2,{108,32,0}}, +/* 41294 */ {(12<<2)|2,{108,32,0}}, +/* 41295 */ {(12<<2)|2,{108,32,0}}, +/* 41296 */ {(12<<2)|2,{108,37,0}}, +/* 41297 */ {(12<<2)|2,{108,37,0}}, +/* 41298 */ {(12<<2)|2,{108,37,0}}, +/* 41299 */ {(12<<2)|2,{108,37,0}}, +/* 41300 */ {(12<<2)|2,{108,37,0}}, +/* 41301 */ {(12<<2)|2,{108,37,0}}, +/* 41302 */ {(12<<2)|2,{108,37,0}}, +/* 41303 */ {(12<<2)|2,{108,37,0}}, +/* 41304 */ {(12<<2)|2,{108,37,0}}, +/* 41305 */ {(12<<2)|2,{108,37,0}}, +/* 41306 */ {(12<<2)|2,{108,37,0}}, +/* 41307 */ {(12<<2)|2,{108,37,0}}, +/* 41308 */ {(12<<2)|2,{108,37,0}}, +/* 41309 */ {(12<<2)|2,{108,37,0}}, +/* 41310 */ {(12<<2)|2,{108,37,0}}, +/* 41311 */ {(12<<2)|2,{108,37,0}}, +/* 41312 */ {(12<<2)|2,{108,45,0}}, +/* 41313 */ {(12<<2)|2,{108,45,0}}, +/* 41314 */ {(12<<2)|2,{108,45,0}}, +/* 41315 */ {(12<<2)|2,{108,45,0}}, +/* 41316 */ {(12<<2)|2,{108,45,0}}, +/* 41317 */ {(12<<2)|2,{108,45,0}}, +/* 41318 */ {(12<<2)|2,{108,45,0}}, +/* 41319 */ {(12<<2)|2,{108,45,0}}, +/* 41320 */ {(12<<2)|2,{108,45,0}}, +/* 41321 */ {(12<<2)|2,{108,45,0}}, +/* 41322 */ {(12<<2)|2,{108,45,0}}, +/* 41323 */ {(12<<2)|2,{108,45,0}}, +/* 41324 */ {(12<<2)|2,{108,45,0}}, +/* 41325 */ {(12<<2)|2,{108,45,0}}, +/* 41326 */ {(12<<2)|2,{108,45,0}}, +/* 41327 */ {(12<<2)|2,{108,45,0}}, +/* 41328 */ {(12<<2)|2,{108,46,0}}, +/* 41329 */ {(12<<2)|2,{108,46,0}}, +/* 41330 */ {(12<<2)|2,{108,46,0}}, +/* 41331 */ {(12<<2)|2,{108,46,0}}, +/* 41332 */ {(12<<2)|2,{108,46,0}}, +/* 41333 */ {(12<<2)|2,{108,46,0}}, +/* 41334 */ {(12<<2)|2,{108,46,0}}, +/* 41335 */ {(12<<2)|2,{108,46,0}}, +/* 41336 */ {(12<<2)|2,{108,46,0}}, +/* 41337 */ {(12<<2)|2,{108,46,0}}, +/* 41338 */ {(12<<2)|2,{108,46,0}}, +/* 41339 */ {(12<<2)|2,{108,46,0}}, +/* 41340 */ {(12<<2)|2,{108,46,0}}, +/* 41341 */ {(12<<2)|2,{108,46,0}}, +/* 41342 */ {(12<<2)|2,{108,46,0}}, +/* 41343 */ {(12<<2)|2,{108,46,0}}, +/* 41344 */ {(12<<2)|2,{108,47,0}}, +/* 41345 */ {(12<<2)|2,{108,47,0}}, +/* 41346 */ {(12<<2)|2,{108,47,0}}, +/* 41347 */ {(12<<2)|2,{108,47,0}}, +/* 41348 */ {(12<<2)|2,{108,47,0}}, +/* 41349 */ {(12<<2)|2,{108,47,0}}, +/* 41350 */ {(12<<2)|2,{108,47,0}}, +/* 41351 */ {(12<<2)|2,{108,47,0}}, +/* 41352 */ {(12<<2)|2,{108,47,0}}, +/* 41353 */ {(12<<2)|2,{108,47,0}}, +/* 41354 */ {(12<<2)|2,{108,47,0}}, +/* 41355 */ {(12<<2)|2,{108,47,0}}, +/* 41356 */ {(12<<2)|2,{108,47,0}}, +/* 41357 */ {(12<<2)|2,{108,47,0}}, +/* 41358 */ {(12<<2)|2,{108,47,0}}, +/* 41359 */ {(12<<2)|2,{108,47,0}}, +/* 41360 */ {(12<<2)|2,{108,51,0}}, +/* 41361 */ {(12<<2)|2,{108,51,0}}, +/* 41362 */ {(12<<2)|2,{108,51,0}}, +/* 41363 */ {(12<<2)|2,{108,51,0}}, +/* 41364 */ {(12<<2)|2,{108,51,0}}, +/* 41365 */ {(12<<2)|2,{108,51,0}}, +/* 41366 */ {(12<<2)|2,{108,51,0}}, +/* 41367 */ {(12<<2)|2,{108,51,0}}, +/* 41368 */ {(12<<2)|2,{108,51,0}}, +/* 41369 */ {(12<<2)|2,{108,51,0}}, +/* 41370 */ {(12<<2)|2,{108,51,0}}, +/* 41371 */ {(12<<2)|2,{108,51,0}}, +/* 41372 */ {(12<<2)|2,{108,51,0}}, +/* 41373 */ {(12<<2)|2,{108,51,0}}, +/* 41374 */ {(12<<2)|2,{108,51,0}}, +/* 41375 */ {(12<<2)|2,{108,51,0}}, +/* 41376 */ {(12<<2)|2,{108,52,0}}, +/* 41377 */ {(12<<2)|2,{108,52,0}}, +/* 41378 */ {(12<<2)|2,{108,52,0}}, +/* 41379 */ {(12<<2)|2,{108,52,0}}, +/* 41380 */ {(12<<2)|2,{108,52,0}}, +/* 41381 */ {(12<<2)|2,{108,52,0}}, +/* 41382 */ {(12<<2)|2,{108,52,0}}, +/* 41383 */ {(12<<2)|2,{108,52,0}}, +/* 41384 */ {(12<<2)|2,{108,52,0}}, +/* 41385 */ {(12<<2)|2,{108,52,0}}, +/* 41386 */ {(12<<2)|2,{108,52,0}}, +/* 41387 */ {(12<<2)|2,{108,52,0}}, +/* 41388 */ {(12<<2)|2,{108,52,0}}, +/* 41389 */ {(12<<2)|2,{108,52,0}}, +/* 41390 */ {(12<<2)|2,{108,52,0}}, +/* 41391 */ {(12<<2)|2,{108,52,0}}, +/* 41392 */ {(12<<2)|2,{108,53,0}}, +/* 41393 */ {(12<<2)|2,{108,53,0}}, +/* 41394 */ {(12<<2)|2,{108,53,0}}, +/* 41395 */ {(12<<2)|2,{108,53,0}}, +/* 41396 */ {(12<<2)|2,{108,53,0}}, +/* 41397 */ {(12<<2)|2,{108,53,0}}, +/* 41398 */ {(12<<2)|2,{108,53,0}}, +/* 41399 */ {(12<<2)|2,{108,53,0}}, +/* 41400 */ {(12<<2)|2,{108,53,0}}, +/* 41401 */ {(12<<2)|2,{108,53,0}}, +/* 41402 */ {(12<<2)|2,{108,53,0}}, +/* 41403 */ {(12<<2)|2,{108,53,0}}, +/* 41404 */ {(12<<2)|2,{108,53,0}}, +/* 41405 */ {(12<<2)|2,{108,53,0}}, +/* 41406 */ {(12<<2)|2,{108,53,0}}, +/* 41407 */ {(12<<2)|2,{108,53,0}}, +/* 41408 */ {(12<<2)|2,{108,54,0}}, +/* 41409 */ {(12<<2)|2,{108,54,0}}, +/* 41410 */ {(12<<2)|2,{108,54,0}}, +/* 41411 */ {(12<<2)|2,{108,54,0}}, +/* 41412 */ {(12<<2)|2,{108,54,0}}, +/* 41413 */ {(12<<2)|2,{108,54,0}}, +/* 41414 */ {(12<<2)|2,{108,54,0}}, +/* 41415 */ {(12<<2)|2,{108,54,0}}, +/* 41416 */ {(12<<2)|2,{108,54,0}}, +/* 41417 */ {(12<<2)|2,{108,54,0}}, +/* 41418 */ {(12<<2)|2,{108,54,0}}, +/* 41419 */ {(12<<2)|2,{108,54,0}}, +/* 41420 */ {(12<<2)|2,{108,54,0}}, +/* 41421 */ {(12<<2)|2,{108,54,0}}, +/* 41422 */ {(12<<2)|2,{108,54,0}}, +/* 41423 */ {(12<<2)|2,{108,54,0}}, +/* 41424 */ {(12<<2)|2,{108,55,0}}, +/* 41425 */ {(12<<2)|2,{108,55,0}}, +/* 41426 */ {(12<<2)|2,{108,55,0}}, +/* 41427 */ {(12<<2)|2,{108,55,0}}, +/* 41428 */ {(12<<2)|2,{108,55,0}}, +/* 41429 */ {(12<<2)|2,{108,55,0}}, +/* 41430 */ {(12<<2)|2,{108,55,0}}, +/* 41431 */ {(12<<2)|2,{108,55,0}}, +/* 41432 */ {(12<<2)|2,{108,55,0}}, +/* 41433 */ {(12<<2)|2,{108,55,0}}, +/* 41434 */ {(12<<2)|2,{108,55,0}}, +/* 41435 */ {(12<<2)|2,{108,55,0}}, +/* 41436 */ {(12<<2)|2,{108,55,0}}, +/* 41437 */ {(12<<2)|2,{108,55,0}}, +/* 41438 */ {(12<<2)|2,{108,55,0}}, +/* 41439 */ {(12<<2)|2,{108,55,0}}, +/* 41440 */ {(12<<2)|2,{108,56,0}}, +/* 41441 */ {(12<<2)|2,{108,56,0}}, +/* 41442 */ {(12<<2)|2,{108,56,0}}, +/* 41443 */ {(12<<2)|2,{108,56,0}}, +/* 41444 */ {(12<<2)|2,{108,56,0}}, +/* 41445 */ {(12<<2)|2,{108,56,0}}, +/* 41446 */ {(12<<2)|2,{108,56,0}}, +/* 41447 */ {(12<<2)|2,{108,56,0}}, +/* 41448 */ {(12<<2)|2,{108,56,0}}, +/* 41449 */ {(12<<2)|2,{108,56,0}}, +/* 41450 */ {(12<<2)|2,{108,56,0}}, +/* 41451 */ {(12<<2)|2,{108,56,0}}, +/* 41452 */ {(12<<2)|2,{108,56,0}}, +/* 41453 */ {(12<<2)|2,{108,56,0}}, +/* 41454 */ {(12<<2)|2,{108,56,0}}, +/* 41455 */ {(12<<2)|2,{108,56,0}}, +/* 41456 */ {(12<<2)|2,{108,57,0}}, +/* 41457 */ {(12<<2)|2,{108,57,0}}, +/* 41458 */ {(12<<2)|2,{108,57,0}}, +/* 41459 */ {(12<<2)|2,{108,57,0}}, +/* 41460 */ {(12<<2)|2,{108,57,0}}, +/* 41461 */ {(12<<2)|2,{108,57,0}}, +/* 41462 */ {(12<<2)|2,{108,57,0}}, +/* 41463 */ {(12<<2)|2,{108,57,0}}, +/* 41464 */ {(12<<2)|2,{108,57,0}}, +/* 41465 */ {(12<<2)|2,{108,57,0}}, +/* 41466 */ {(12<<2)|2,{108,57,0}}, +/* 41467 */ {(12<<2)|2,{108,57,0}}, +/* 41468 */ {(12<<2)|2,{108,57,0}}, +/* 41469 */ {(12<<2)|2,{108,57,0}}, +/* 41470 */ {(12<<2)|2,{108,57,0}}, +/* 41471 */ {(12<<2)|2,{108,57,0}}, +/* 41472 */ {(12<<2)|2,{108,61,0}}, +/* 41473 */ {(12<<2)|2,{108,61,0}}, +/* 41474 */ {(12<<2)|2,{108,61,0}}, +/* 41475 */ {(12<<2)|2,{108,61,0}}, +/* 41476 */ {(12<<2)|2,{108,61,0}}, +/* 41477 */ {(12<<2)|2,{108,61,0}}, +/* 41478 */ {(12<<2)|2,{108,61,0}}, +/* 41479 */ {(12<<2)|2,{108,61,0}}, +/* 41480 */ {(12<<2)|2,{108,61,0}}, +/* 41481 */ {(12<<2)|2,{108,61,0}}, +/* 41482 */ {(12<<2)|2,{108,61,0}}, +/* 41483 */ {(12<<2)|2,{108,61,0}}, +/* 41484 */ {(12<<2)|2,{108,61,0}}, +/* 41485 */ {(12<<2)|2,{108,61,0}}, +/* 41486 */ {(12<<2)|2,{108,61,0}}, +/* 41487 */ {(12<<2)|2,{108,61,0}}, +/* 41488 */ {(12<<2)|2,{108,65,0}}, +/* 41489 */ {(12<<2)|2,{108,65,0}}, +/* 41490 */ {(12<<2)|2,{108,65,0}}, +/* 41491 */ {(12<<2)|2,{108,65,0}}, +/* 41492 */ {(12<<2)|2,{108,65,0}}, +/* 41493 */ {(12<<2)|2,{108,65,0}}, +/* 41494 */ {(12<<2)|2,{108,65,0}}, +/* 41495 */ {(12<<2)|2,{108,65,0}}, +/* 41496 */ {(12<<2)|2,{108,65,0}}, +/* 41497 */ {(12<<2)|2,{108,65,0}}, +/* 41498 */ {(12<<2)|2,{108,65,0}}, +/* 41499 */ {(12<<2)|2,{108,65,0}}, +/* 41500 */ {(12<<2)|2,{108,65,0}}, +/* 41501 */ {(12<<2)|2,{108,65,0}}, +/* 41502 */ {(12<<2)|2,{108,65,0}}, +/* 41503 */ {(12<<2)|2,{108,65,0}}, +/* 41504 */ {(12<<2)|2,{108,95,0}}, +/* 41505 */ {(12<<2)|2,{108,95,0}}, +/* 41506 */ {(12<<2)|2,{108,95,0}}, +/* 41507 */ {(12<<2)|2,{108,95,0}}, +/* 41508 */ {(12<<2)|2,{108,95,0}}, +/* 41509 */ {(12<<2)|2,{108,95,0}}, +/* 41510 */ {(12<<2)|2,{108,95,0}}, +/* 41511 */ {(12<<2)|2,{108,95,0}}, +/* 41512 */ {(12<<2)|2,{108,95,0}}, +/* 41513 */ {(12<<2)|2,{108,95,0}}, +/* 41514 */ {(12<<2)|2,{108,95,0}}, +/* 41515 */ {(12<<2)|2,{108,95,0}}, +/* 41516 */ {(12<<2)|2,{108,95,0}}, +/* 41517 */ {(12<<2)|2,{108,95,0}}, +/* 41518 */ {(12<<2)|2,{108,95,0}}, +/* 41519 */ {(12<<2)|2,{108,95,0}}, +/* 41520 */ {(12<<2)|2,{108,98,0}}, +/* 41521 */ {(12<<2)|2,{108,98,0}}, +/* 41522 */ {(12<<2)|2,{108,98,0}}, +/* 41523 */ {(12<<2)|2,{108,98,0}}, +/* 41524 */ {(12<<2)|2,{108,98,0}}, +/* 41525 */ {(12<<2)|2,{108,98,0}}, +/* 41526 */ {(12<<2)|2,{108,98,0}}, +/* 41527 */ {(12<<2)|2,{108,98,0}}, +/* 41528 */ {(12<<2)|2,{108,98,0}}, +/* 41529 */ {(12<<2)|2,{108,98,0}}, +/* 41530 */ {(12<<2)|2,{108,98,0}}, +/* 41531 */ {(12<<2)|2,{108,98,0}}, +/* 41532 */ {(12<<2)|2,{108,98,0}}, +/* 41533 */ {(12<<2)|2,{108,98,0}}, +/* 41534 */ {(12<<2)|2,{108,98,0}}, +/* 41535 */ {(12<<2)|2,{108,98,0}}, +/* 41536 */ {(12<<2)|2,{108,100,0}}, +/* 41537 */ {(12<<2)|2,{108,100,0}}, +/* 41538 */ {(12<<2)|2,{108,100,0}}, +/* 41539 */ {(12<<2)|2,{108,100,0}}, +/* 41540 */ {(12<<2)|2,{108,100,0}}, +/* 41541 */ {(12<<2)|2,{108,100,0}}, +/* 41542 */ {(12<<2)|2,{108,100,0}}, +/* 41543 */ {(12<<2)|2,{108,100,0}}, +/* 41544 */ {(12<<2)|2,{108,100,0}}, +/* 41545 */ {(12<<2)|2,{108,100,0}}, +/* 41546 */ {(12<<2)|2,{108,100,0}}, +/* 41547 */ {(12<<2)|2,{108,100,0}}, +/* 41548 */ {(12<<2)|2,{108,100,0}}, +/* 41549 */ {(12<<2)|2,{108,100,0}}, +/* 41550 */ {(12<<2)|2,{108,100,0}}, +/* 41551 */ {(12<<2)|2,{108,100,0}}, +/* 41552 */ {(12<<2)|2,{108,102,0}}, +/* 41553 */ {(12<<2)|2,{108,102,0}}, +/* 41554 */ {(12<<2)|2,{108,102,0}}, +/* 41555 */ {(12<<2)|2,{108,102,0}}, +/* 41556 */ {(12<<2)|2,{108,102,0}}, +/* 41557 */ {(12<<2)|2,{108,102,0}}, +/* 41558 */ {(12<<2)|2,{108,102,0}}, +/* 41559 */ {(12<<2)|2,{108,102,0}}, +/* 41560 */ {(12<<2)|2,{108,102,0}}, +/* 41561 */ {(12<<2)|2,{108,102,0}}, +/* 41562 */ {(12<<2)|2,{108,102,0}}, +/* 41563 */ {(12<<2)|2,{108,102,0}}, +/* 41564 */ {(12<<2)|2,{108,102,0}}, +/* 41565 */ {(12<<2)|2,{108,102,0}}, +/* 41566 */ {(12<<2)|2,{108,102,0}}, +/* 41567 */ {(12<<2)|2,{108,102,0}}, +/* 41568 */ {(12<<2)|2,{108,103,0}}, +/* 41569 */ {(12<<2)|2,{108,103,0}}, +/* 41570 */ {(12<<2)|2,{108,103,0}}, +/* 41571 */ {(12<<2)|2,{108,103,0}}, +/* 41572 */ {(12<<2)|2,{108,103,0}}, +/* 41573 */ {(12<<2)|2,{108,103,0}}, +/* 41574 */ {(12<<2)|2,{108,103,0}}, +/* 41575 */ {(12<<2)|2,{108,103,0}}, +/* 41576 */ {(12<<2)|2,{108,103,0}}, +/* 41577 */ {(12<<2)|2,{108,103,0}}, +/* 41578 */ {(12<<2)|2,{108,103,0}}, +/* 41579 */ {(12<<2)|2,{108,103,0}}, +/* 41580 */ {(12<<2)|2,{108,103,0}}, +/* 41581 */ {(12<<2)|2,{108,103,0}}, +/* 41582 */ {(12<<2)|2,{108,103,0}}, +/* 41583 */ {(12<<2)|2,{108,103,0}}, +/* 41584 */ {(12<<2)|2,{108,104,0}}, +/* 41585 */ {(12<<2)|2,{108,104,0}}, +/* 41586 */ {(12<<2)|2,{108,104,0}}, +/* 41587 */ {(12<<2)|2,{108,104,0}}, +/* 41588 */ {(12<<2)|2,{108,104,0}}, +/* 41589 */ {(12<<2)|2,{108,104,0}}, +/* 41590 */ {(12<<2)|2,{108,104,0}}, +/* 41591 */ {(12<<2)|2,{108,104,0}}, +/* 41592 */ {(12<<2)|2,{108,104,0}}, +/* 41593 */ {(12<<2)|2,{108,104,0}}, +/* 41594 */ {(12<<2)|2,{108,104,0}}, +/* 41595 */ {(12<<2)|2,{108,104,0}}, +/* 41596 */ {(12<<2)|2,{108,104,0}}, +/* 41597 */ {(12<<2)|2,{108,104,0}}, +/* 41598 */ {(12<<2)|2,{108,104,0}}, +/* 41599 */ {(12<<2)|2,{108,104,0}}, +/* 41600 */ {(12<<2)|2,{108,108,0}}, +/* 41601 */ {(12<<2)|2,{108,108,0}}, +/* 41602 */ {(12<<2)|2,{108,108,0}}, +/* 41603 */ {(12<<2)|2,{108,108,0}}, +/* 41604 */ {(12<<2)|2,{108,108,0}}, +/* 41605 */ {(12<<2)|2,{108,108,0}}, +/* 41606 */ {(12<<2)|2,{108,108,0}}, +/* 41607 */ {(12<<2)|2,{108,108,0}}, +/* 41608 */ {(12<<2)|2,{108,108,0}}, +/* 41609 */ {(12<<2)|2,{108,108,0}}, +/* 41610 */ {(12<<2)|2,{108,108,0}}, +/* 41611 */ {(12<<2)|2,{108,108,0}}, +/* 41612 */ {(12<<2)|2,{108,108,0}}, +/* 41613 */ {(12<<2)|2,{108,108,0}}, +/* 41614 */ {(12<<2)|2,{108,108,0}}, +/* 41615 */ {(12<<2)|2,{108,108,0}}, +/* 41616 */ {(12<<2)|2,{108,109,0}}, +/* 41617 */ {(12<<2)|2,{108,109,0}}, +/* 41618 */ {(12<<2)|2,{108,109,0}}, +/* 41619 */ {(12<<2)|2,{108,109,0}}, +/* 41620 */ {(12<<2)|2,{108,109,0}}, +/* 41621 */ {(12<<2)|2,{108,109,0}}, +/* 41622 */ {(12<<2)|2,{108,109,0}}, +/* 41623 */ {(12<<2)|2,{108,109,0}}, +/* 41624 */ {(12<<2)|2,{108,109,0}}, +/* 41625 */ {(12<<2)|2,{108,109,0}}, +/* 41626 */ {(12<<2)|2,{108,109,0}}, +/* 41627 */ {(12<<2)|2,{108,109,0}}, +/* 41628 */ {(12<<2)|2,{108,109,0}}, +/* 41629 */ {(12<<2)|2,{108,109,0}}, +/* 41630 */ {(12<<2)|2,{108,109,0}}, +/* 41631 */ {(12<<2)|2,{108,109,0}}, +/* 41632 */ {(12<<2)|2,{108,110,0}}, +/* 41633 */ {(12<<2)|2,{108,110,0}}, +/* 41634 */ {(12<<2)|2,{108,110,0}}, +/* 41635 */ {(12<<2)|2,{108,110,0}}, +/* 41636 */ {(12<<2)|2,{108,110,0}}, +/* 41637 */ {(12<<2)|2,{108,110,0}}, +/* 41638 */ {(12<<2)|2,{108,110,0}}, +/* 41639 */ {(12<<2)|2,{108,110,0}}, +/* 41640 */ {(12<<2)|2,{108,110,0}}, +/* 41641 */ {(12<<2)|2,{108,110,0}}, +/* 41642 */ {(12<<2)|2,{108,110,0}}, +/* 41643 */ {(12<<2)|2,{108,110,0}}, +/* 41644 */ {(12<<2)|2,{108,110,0}}, +/* 41645 */ {(12<<2)|2,{108,110,0}}, +/* 41646 */ {(12<<2)|2,{108,110,0}}, +/* 41647 */ {(12<<2)|2,{108,110,0}}, +/* 41648 */ {(12<<2)|2,{108,112,0}}, +/* 41649 */ {(12<<2)|2,{108,112,0}}, +/* 41650 */ {(12<<2)|2,{108,112,0}}, +/* 41651 */ {(12<<2)|2,{108,112,0}}, +/* 41652 */ {(12<<2)|2,{108,112,0}}, +/* 41653 */ {(12<<2)|2,{108,112,0}}, +/* 41654 */ {(12<<2)|2,{108,112,0}}, +/* 41655 */ {(12<<2)|2,{108,112,0}}, +/* 41656 */ {(12<<2)|2,{108,112,0}}, +/* 41657 */ {(12<<2)|2,{108,112,0}}, +/* 41658 */ {(12<<2)|2,{108,112,0}}, +/* 41659 */ {(12<<2)|2,{108,112,0}}, +/* 41660 */ {(12<<2)|2,{108,112,0}}, +/* 41661 */ {(12<<2)|2,{108,112,0}}, +/* 41662 */ {(12<<2)|2,{108,112,0}}, +/* 41663 */ {(12<<2)|2,{108,112,0}}, +/* 41664 */ {(12<<2)|2,{108,114,0}}, +/* 41665 */ {(12<<2)|2,{108,114,0}}, +/* 41666 */ {(12<<2)|2,{108,114,0}}, +/* 41667 */ {(12<<2)|2,{108,114,0}}, +/* 41668 */ {(12<<2)|2,{108,114,0}}, +/* 41669 */ {(12<<2)|2,{108,114,0}}, +/* 41670 */ {(12<<2)|2,{108,114,0}}, +/* 41671 */ {(12<<2)|2,{108,114,0}}, +/* 41672 */ {(12<<2)|2,{108,114,0}}, +/* 41673 */ {(12<<2)|2,{108,114,0}}, +/* 41674 */ {(12<<2)|2,{108,114,0}}, +/* 41675 */ {(12<<2)|2,{108,114,0}}, +/* 41676 */ {(12<<2)|2,{108,114,0}}, +/* 41677 */ {(12<<2)|2,{108,114,0}}, +/* 41678 */ {(12<<2)|2,{108,114,0}}, +/* 41679 */ {(12<<2)|2,{108,114,0}}, +/* 41680 */ {(12<<2)|2,{108,117,0}}, +/* 41681 */ {(12<<2)|2,{108,117,0}}, +/* 41682 */ {(12<<2)|2,{108,117,0}}, +/* 41683 */ {(12<<2)|2,{108,117,0}}, +/* 41684 */ {(12<<2)|2,{108,117,0}}, +/* 41685 */ {(12<<2)|2,{108,117,0}}, +/* 41686 */ {(12<<2)|2,{108,117,0}}, +/* 41687 */ {(12<<2)|2,{108,117,0}}, +/* 41688 */ {(12<<2)|2,{108,117,0}}, +/* 41689 */ {(12<<2)|2,{108,117,0}}, +/* 41690 */ {(12<<2)|2,{108,117,0}}, +/* 41691 */ {(12<<2)|2,{108,117,0}}, +/* 41692 */ {(12<<2)|2,{108,117,0}}, +/* 41693 */ {(12<<2)|2,{108,117,0}}, +/* 41694 */ {(12<<2)|2,{108,117,0}}, +/* 41695 */ {(12<<2)|2,{108,117,0}}, +/* 41696 */ {(13<<2)|2,{108,58,0}}, +/* 41697 */ {(13<<2)|2,{108,58,0}}, +/* 41698 */ {(13<<2)|2,{108,58,0}}, +/* 41699 */ {(13<<2)|2,{108,58,0}}, +/* 41700 */ {(13<<2)|2,{108,58,0}}, +/* 41701 */ {(13<<2)|2,{108,58,0}}, +/* 41702 */ {(13<<2)|2,{108,58,0}}, +/* 41703 */ {(13<<2)|2,{108,58,0}}, +/* 41704 */ {(13<<2)|2,{108,66,0}}, +/* 41705 */ {(13<<2)|2,{108,66,0}}, +/* 41706 */ {(13<<2)|2,{108,66,0}}, +/* 41707 */ {(13<<2)|2,{108,66,0}}, +/* 41708 */ {(13<<2)|2,{108,66,0}}, +/* 41709 */ {(13<<2)|2,{108,66,0}}, +/* 41710 */ {(13<<2)|2,{108,66,0}}, +/* 41711 */ {(13<<2)|2,{108,66,0}}, +/* 41712 */ {(13<<2)|2,{108,67,0}}, +/* 41713 */ {(13<<2)|2,{108,67,0}}, +/* 41714 */ {(13<<2)|2,{108,67,0}}, +/* 41715 */ {(13<<2)|2,{108,67,0}}, +/* 41716 */ {(13<<2)|2,{108,67,0}}, +/* 41717 */ {(13<<2)|2,{108,67,0}}, +/* 41718 */ {(13<<2)|2,{108,67,0}}, +/* 41719 */ {(13<<2)|2,{108,67,0}}, +/* 41720 */ {(13<<2)|2,{108,68,0}}, +/* 41721 */ {(13<<2)|2,{108,68,0}}, +/* 41722 */ {(13<<2)|2,{108,68,0}}, +/* 41723 */ {(13<<2)|2,{108,68,0}}, +/* 41724 */ {(13<<2)|2,{108,68,0}}, +/* 41725 */ {(13<<2)|2,{108,68,0}}, +/* 41726 */ {(13<<2)|2,{108,68,0}}, +/* 41727 */ {(13<<2)|2,{108,68,0}}, +/* 41728 */ {(13<<2)|2,{108,69,0}}, +/* 41729 */ {(13<<2)|2,{108,69,0}}, +/* 41730 */ {(13<<2)|2,{108,69,0}}, +/* 41731 */ {(13<<2)|2,{108,69,0}}, +/* 41732 */ {(13<<2)|2,{108,69,0}}, +/* 41733 */ {(13<<2)|2,{108,69,0}}, +/* 41734 */ {(13<<2)|2,{108,69,0}}, +/* 41735 */ {(13<<2)|2,{108,69,0}}, +/* 41736 */ {(13<<2)|2,{108,70,0}}, +/* 41737 */ {(13<<2)|2,{108,70,0}}, +/* 41738 */ {(13<<2)|2,{108,70,0}}, +/* 41739 */ {(13<<2)|2,{108,70,0}}, +/* 41740 */ {(13<<2)|2,{108,70,0}}, +/* 41741 */ {(13<<2)|2,{108,70,0}}, +/* 41742 */ {(13<<2)|2,{108,70,0}}, +/* 41743 */ {(13<<2)|2,{108,70,0}}, +/* 41744 */ {(13<<2)|2,{108,71,0}}, +/* 41745 */ {(13<<2)|2,{108,71,0}}, +/* 41746 */ {(13<<2)|2,{108,71,0}}, +/* 41747 */ {(13<<2)|2,{108,71,0}}, +/* 41748 */ {(13<<2)|2,{108,71,0}}, +/* 41749 */ {(13<<2)|2,{108,71,0}}, +/* 41750 */ {(13<<2)|2,{108,71,0}}, +/* 41751 */ {(13<<2)|2,{108,71,0}}, +/* 41752 */ {(13<<2)|2,{108,72,0}}, +/* 41753 */ {(13<<2)|2,{108,72,0}}, +/* 41754 */ {(13<<2)|2,{108,72,0}}, +/* 41755 */ {(13<<2)|2,{108,72,0}}, +/* 41756 */ {(13<<2)|2,{108,72,0}}, +/* 41757 */ {(13<<2)|2,{108,72,0}}, +/* 41758 */ {(13<<2)|2,{108,72,0}}, +/* 41759 */ {(13<<2)|2,{108,72,0}}, +/* 41760 */ {(13<<2)|2,{108,73,0}}, +/* 41761 */ {(13<<2)|2,{108,73,0}}, +/* 41762 */ {(13<<2)|2,{108,73,0}}, +/* 41763 */ {(13<<2)|2,{108,73,0}}, +/* 41764 */ {(13<<2)|2,{108,73,0}}, +/* 41765 */ {(13<<2)|2,{108,73,0}}, +/* 41766 */ {(13<<2)|2,{108,73,0}}, +/* 41767 */ {(13<<2)|2,{108,73,0}}, +/* 41768 */ {(13<<2)|2,{108,74,0}}, +/* 41769 */ {(13<<2)|2,{108,74,0}}, +/* 41770 */ {(13<<2)|2,{108,74,0}}, +/* 41771 */ {(13<<2)|2,{108,74,0}}, +/* 41772 */ {(13<<2)|2,{108,74,0}}, +/* 41773 */ {(13<<2)|2,{108,74,0}}, +/* 41774 */ {(13<<2)|2,{108,74,0}}, +/* 41775 */ {(13<<2)|2,{108,74,0}}, +/* 41776 */ {(13<<2)|2,{108,75,0}}, +/* 41777 */ {(13<<2)|2,{108,75,0}}, +/* 41778 */ {(13<<2)|2,{108,75,0}}, +/* 41779 */ {(13<<2)|2,{108,75,0}}, +/* 41780 */ {(13<<2)|2,{108,75,0}}, +/* 41781 */ {(13<<2)|2,{108,75,0}}, +/* 41782 */ {(13<<2)|2,{108,75,0}}, +/* 41783 */ {(13<<2)|2,{108,75,0}}, +/* 41784 */ {(13<<2)|2,{108,76,0}}, +/* 41785 */ {(13<<2)|2,{108,76,0}}, +/* 41786 */ {(13<<2)|2,{108,76,0}}, +/* 41787 */ {(13<<2)|2,{108,76,0}}, +/* 41788 */ {(13<<2)|2,{108,76,0}}, +/* 41789 */ {(13<<2)|2,{108,76,0}}, +/* 41790 */ {(13<<2)|2,{108,76,0}}, +/* 41791 */ {(13<<2)|2,{108,76,0}}, +/* 41792 */ {(13<<2)|2,{108,77,0}}, +/* 41793 */ {(13<<2)|2,{108,77,0}}, +/* 41794 */ {(13<<2)|2,{108,77,0}}, +/* 41795 */ {(13<<2)|2,{108,77,0}}, +/* 41796 */ {(13<<2)|2,{108,77,0}}, +/* 41797 */ {(13<<2)|2,{108,77,0}}, +/* 41798 */ {(13<<2)|2,{108,77,0}}, +/* 41799 */ {(13<<2)|2,{108,77,0}}, +/* 41800 */ {(13<<2)|2,{108,78,0}}, +/* 41801 */ {(13<<2)|2,{108,78,0}}, +/* 41802 */ {(13<<2)|2,{108,78,0}}, +/* 41803 */ {(13<<2)|2,{108,78,0}}, +/* 41804 */ {(13<<2)|2,{108,78,0}}, +/* 41805 */ {(13<<2)|2,{108,78,0}}, +/* 41806 */ {(13<<2)|2,{108,78,0}}, +/* 41807 */ {(13<<2)|2,{108,78,0}}, +/* 41808 */ {(13<<2)|2,{108,79,0}}, +/* 41809 */ {(13<<2)|2,{108,79,0}}, +/* 41810 */ {(13<<2)|2,{108,79,0}}, +/* 41811 */ {(13<<2)|2,{108,79,0}}, +/* 41812 */ {(13<<2)|2,{108,79,0}}, +/* 41813 */ {(13<<2)|2,{108,79,0}}, +/* 41814 */ {(13<<2)|2,{108,79,0}}, +/* 41815 */ {(13<<2)|2,{108,79,0}}, +/* 41816 */ {(13<<2)|2,{108,80,0}}, +/* 41817 */ {(13<<2)|2,{108,80,0}}, +/* 41818 */ {(13<<2)|2,{108,80,0}}, +/* 41819 */ {(13<<2)|2,{108,80,0}}, +/* 41820 */ {(13<<2)|2,{108,80,0}}, +/* 41821 */ {(13<<2)|2,{108,80,0}}, +/* 41822 */ {(13<<2)|2,{108,80,0}}, +/* 41823 */ {(13<<2)|2,{108,80,0}}, +/* 41824 */ {(13<<2)|2,{108,81,0}}, +/* 41825 */ {(13<<2)|2,{108,81,0}}, +/* 41826 */ {(13<<2)|2,{108,81,0}}, +/* 41827 */ {(13<<2)|2,{108,81,0}}, +/* 41828 */ {(13<<2)|2,{108,81,0}}, +/* 41829 */ {(13<<2)|2,{108,81,0}}, +/* 41830 */ {(13<<2)|2,{108,81,0}}, +/* 41831 */ {(13<<2)|2,{108,81,0}}, +/* 41832 */ {(13<<2)|2,{108,82,0}}, +/* 41833 */ {(13<<2)|2,{108,82,0}}, +/* 41834 */ {(13<<2)|2,{108,82,0}}, +/* 41835 */ {(13<<2)|2,{108,82,0}}, +/* 41836 */ {(13<<2)|2,{108,82,0}}, +/* 41837 */ {(13<<2)|2,{108,82,0}}, +/* 41838 */ {(13<<2)|2,{108,82,0}}, +/* 41839 */ {(13<<2)|2,{108,82,0}}, +/* 41840 */ {(13<<2)|2,{108,83,0}}, +/* 41841 */ {(13<<2)|2,{108,83,0}}, +/* 41842 */ {(13<<2)|2,{108,83,0}}, +/* 41843 */ {(13<<2)|2,{108,83,0}}, +/* 41844 */ {(13<<2)|2,{108,83,0}}, +/* 41845 */ {(13<<2)|2,{108,83,0}}, +/* 41846 */ {(13<<2)|2,{108,83,0}}, +/* 41847 */ {(13<<2)|2,{108,83,0}}, +/* 41848 */ {(13<<2)|2,{108,84,0}}, +/* 41849 */ {(13<<2)|2,{108,84,0}}, +/* 41850 */ {(13<<2)|2,{108,84,0}}, +/* 41851 */ {(13<<2)|2,{108,84,0}}, +/* 41852 */ {(13<<2)|2,{108,84,0}}, +/* 41853 */ {(13<<2)|2,{108,84,0}}, +/* 41854 */ {(13<<2)|2,{108,84,0}}, +/* 41855 */ {(13<<2)|2,{108,84,0}}, +/* 41856 */ {(13<<2)|2,{108,85,0}}, +/* 41857 */ {(13<<2)|2,{108,85,0}}, +/* 41858 */ {(13<<2)|2,{108,85,0}}, +/* 41859 */ {(13<<2)|2,{108,85,0}}, +/* 41860 */ {(13<<2)|2,{108,85,0}}, +/* 41861 */ {(13<<2)|2,{108,85,0}}, +/* 41862 */ {(13<<2)|2,{108,85,0}}, +/* 41863 */ {(13<<2)|2,{108,85,0}}, +/* 41864 */ {(13<<2)|2,{108,86,0}}, +/* 41865 */ {(13<<2)|2,{108,86,0}}, +/* 41866 */ {(13<<2)|2,{108,86,0}}, +/* 41867 */ {(13<<2)|2,{108,86,0}}, +/* 41868 */ {(13<<2)|2,{108,86,0}}, +/* 41869 */ {(13<<2)|2,{108,86,0}}, +/* 41870 */ {(13<<2)|2,{108,86,0}}, +/* 41871 */ {(13<<2)|2,{108,86,0}}, +/* 41872 */ {(13<<2)|2,{108,87,0}}, +/* 41873 */ {(13<<2)|2,{108,87,0}}, +/* 41874 */ {(13<<2)|2,{108,87,0}}, +/* 41875 */ {(13<<2)|2,{108,87,0}}, +/* 41876 */ {(13<<2)|2,{108,87,0}}, +/* 41877 */ {(13<<2)|2,{108,87,0}}, +/* 41878 */ {(13<<2)|2,{108,87,0}}, +/* 41879 */ {(13<<2)|2,{108,87,0}}, +/* 41880 */ {(13<<2)|2,{108,89,0}}, +/* 41881 */ {(13<<2)|2,{108,89,0}}, +/* 41882 */ {(13<<2)|2,{108,89,0}}, +/* 41883 */ {(13<<2)|2,{108,89,0}}, +/* 41884 */ {(13<<2)|2,{108,89,0}}, +/* 41885 */ {(13<<2)|2,{108,89,0}}, +/* 41886 */ {(13<<2)|2,{108,89,0}}, +/* 41887 */ {(13<<2)|2,{108,89,0}}, +/* 41888 */ {(13<<2)|2,{108,106,0}}, +/* 41889 */ {(13<<2)|2,{108,106,0}}, +/* 41890 */ {(13<<2)|2,{108,106,0}}, +/* 41891 */ {(13<<2)|2,{108,106,0}}, +/* 41892 */ {(13<<2)|2,{108,106,0}}, +/* 41893 */ {(13<<2)|2,{108,106,0}}, +/* 41894 */ {(13<<2)|2,{108,106,0}}, +/* 41895 */ {(13<<2)|2,{108,106,0}}, +/* 41896 */ {(13<<2)|2,{108,107,0}}, +/* 41897 */ {(13<<2)|2,{108,107,0}}, +/* 41898 */ {(13<<2)|2,{108,107,0}}, +/* 41899 */ {(13<<2)|2,{108,107,0}}, +/* 41900 */ {(13<<2)|2,{108,107,0}}, +/* 41901 */ {(13<<2)|2,{108,107,0}}, +/* 41902 */ {(13<<2)|2,{108,107,0}}, +/* 41903 */ {(13<<2)|2,{108,107,0}}, +/* 41904 */ {(13<<2)|2,{108,113,0}}, +/* 41905 */ {(13<<2)|2,{108,113,0}}, +/* 41906 */ {(13<<2)|2,{108,113,0}}, +/* 41907 */ {(13<<2)|2,{108,113,0}}, +/* 41908 */ {(13<<2)|2,{108,113,0}}, +/* 41909 */ {(13<<2)|2,{108,113,0}}, +/* 41910 */ {(13<<2)|2,{108,113,0}}, +/* 41911 */ {(13<<2)|2,{108,113,0}}, +/* 41912 */ {(13<<2)|2,{108,118,0}}, +/* 41913 */ {(13<<2)|2,{108,118,0}}, +/* 41914 */ {(13<<2)|2,{108,118,0}}, +/* 41915 */ {(13<<2)|2,{108,118,0}}, +/* 41916 */ {(13<<2)|2,{108,118,0}}, +/* 41917 */ {(13<<2)|2,{108,118,0}}, +/* 41918 */ {(13<<2)|2,{108,118,0}}, +/* 41919 */ {(13<<2)|2,{108,118,0}}, +/* 41920 */ {(13<<2)|2,{108,119,0}}, +/* 41921 */ {(13<<2)|2,{108,119,0}}, +/* 41922 */ {(13<<2)|2,{108,119,0}}, +/* 41923 */ {(13<<2)|2,{108,119,0}}, +/* 41924 */ {(13<<2)|2,{108,119,0}}, +/* 41925 */ {(13<<2)|2,{108,119,0}}, +/* 41926 */ {(13<<2)|2,{108,119,0}}, +/* 41927 */ {(13<<2)|2,{108,119,0}}, +/* 41928 */ {(13<<2)|2,{108,120,0}}, +/* 41929 */ {(13<<2)|2,{108,120,0}}, +/* 41930 */ {(13<<2)|2,{108,120,0}}, +/* 41931 */ {(13<<2)|2,{108,120,0}}, +/* 41932 */ {(13<<2)|2,{108,120,0}}, +/* 41933 */ {(13<<2)|2,{108,120,0}}, +/* 41934 */ {(13<<2)|2,{108,120,0}}, +/* 41935 */ {(13<<2)|2,{108,120,0}}, +/* 41936 */ {(13<<2)|2,{108,121,0}}, +/* 41937 */ {(13<<2)|2,{108,121,0}}, +/* 41938 */ {(13<<2)|2,{108,121,0}}, +/* 41939 */ {(13<<2)|2,{108,121,0}}, +/* 41940 */ {(13<<2)|2,{108,121,0}}, +/* 41941 */ {(13<<2)|2,{108,121,0}}, +/* 41942 */ {(13<<2)|2,{108,121,0}}, +/* 41943 */ {(13<<2)|2,{108,121,0}}, +/* 41944 */ {(13<<2)|2,{108,122,0}}, +/* 41945 */ {(13<<2)|2,{108,122,0}}, +/* 41946 */ {(13<<2)|2,{108,122,0}}, +/* 41947 */ {(13<<2)|2,{108,122,0}}, +/* 41948 */ {(13<<2)|2,{108,122,0}}, +/* 41949 */ {(13<<2)|2,{108,122,0}}, +/* 41950 */ {(13<<2)|2,{108,122,0}}, +/* 41951 */ {(13<<2)|2,{108,122,0}}, +/* 41952 */ {(14<<2)|2,{108,38,0}}, +/* 41953 */ {(14<<2)|2,{108,38,0}}, +/* 41954 */ {(14<<2)|2,{108,38,0}}, +/* 41955 */ {(14<<2)|2,{108,38,0}}, +/* 41956 */ {(14<<2)|2,{108,42,0}}, +/* 41957 */ {(14<<2)|2,{108,42,0}}, +/* 41958 */ {(14<<2)|2,{108,42,0}}, +/* 41959 */ {(14<<2)|2,{108,42,0}}, +/* 41960 */ {(14<<2)|2,{108,44,0}}, +/* 41961 */ {(14<<2)|2,{108,44,0}}, +/* 41962 */ {(14<<2)|2,{108,44,0}}, +/* 41963 */ {(14<<2)|2,{108,44,0}}, +/* 41964 */ {(14<<2)|2,{108,59,0}}, +/* 41965 */ {(14<<2)|2,{108,59,0}}, +/* 41966 */ {(14<<2)|2,{108,59,0}}, +/* 41967 */ {(14<<2)|2,{108,59,0}}, +/* 41968 */ {(14<<2)|2,{108,88,0}}, +/* 41969 */ {(14<<2)|2,{108,88,0}}, +/* 41970 */ {(14<<2)|2,{108,88,0}}, +/* 41971 */ {(14<<2)|2,{108,88,0}}, +/* 41972 */ {(14<<2)|2,{108,90,0}}, +/* 41973 */ {(14<<2)|2,{108,90,0}}, +/* 41974 */ {(14<<2)|2,{108,90,0}}, +/* 41975 */ {(14<<2)|2,{108,90,0}}, +/* 41976 */ {(16<<2)|2,{108,33,0}}, +/* 41977 */ {(16<<2)|2,{108,34,0}}, +/* 41978 */ {(16<<2)|2,{108,40,0}}, +/* 41979 */ {(16<<2)|2,{108,41,0}}, +/* 41980 */ {(16<<2)|2,{108,63,0}}, +/* 41981 */ {(6<<2)|1,{108,0,0}}, +/* 41982 */ {(6<<2)|1,{108,0,0}}, +/* 41983 */ {(6<<2)|1,{108,0,0}}, +/* 41984 */ {(16<<2)|3,{109,48,48}}, +/* 41985 */ {(16<<2)|3,{109,48,49}}, +/* 41986 */ {(16<<2)|3,{109,48,50}}, +/* 41987 */ {(16<<2)|3,{109,48,97}}, +/* 41988 */ {(16<<2)|3,{109,48,99}}, +/* 41989 */ {(16<<2)|3,{109,48,101}}, +/* 41990 */ {(16<<2)|3,{109,48,105}}, +/* 41991 */ {(16<<2)|3,{109,48,111}}, +/* 41992 */ {(16<<2)|3,{109,48,115}}, +/* 41993 */ {(16<<2)|3,{109,48,116}}, +/* 41994 */ {(11<<2)|2,{109,48,0}}, +/* 41995 */ {(11<<2)|2,{109,48,0}}, +/* 41996 */ {(11<<2)|2,{109,48,0}}, +/* 41997 */ {(11<<2)|2,{109,48,0}}, +/* 41998 */ {(11<<2)|2,{109,48,0}}, +/* 41999 */ {(11<<2)|2,{109,48,0}}, +/* 42000 */ {(11<<2)|2,{109,48,0}}, +/* 42001 */ {(11<<2)|2,{109,48,0}}, +/* 42002 */ {(11<<2)|2,{109,48,0}}, +/* 42003 */ {(11<<2)|2,{109,48,0}}, +/* 42004 */ {(11<<2)|2,{109,48,0}}, +/* 42005 */ {(11<<2)|2,{109,48,0}}, +/* 42006 */ {(11<<2)|2,{109,48,0}}, +/* 42007 */ {(11<<2)|2,{109,48,0}}, +/* 42008 */ {(11<<2)|2,{109,48,0}}, +/* 42009 */ {(11<<2)|2,{109,48,0}}, +/* 42010 */ {(11<<2)|2,{109,48,0}}, +/* 42011 */ {(11<<2)|2,{109,48,0}}, +/* 42012 */ {(11<<2)|2,{109,48,0}}, +/* 42013 */ {(11<<2)|2,{109,48,0}}, +/* 42014 */ {(11<<2)|2,{109,48,0}}, +/* 42015 */ {(11<<2)|2,{109,48,0}}, +/* 42016 */ {(16<<2)|3,{109,49,48}}, +/* 42017 */ {(16<<2)|3,{109,49,49}}, +/* 42018 */ {(16<<2)|3,{109,49,50}}, +/* 42019 */ {(16<<2)|3,{109,49,97}}, +/* 42020 */ {(16<<2)|3,{109,49,99}}, +/* 42021 */ {(16<<2)|3,{109,49,101}}, +/* 42022 */ {(16<<2)|3,{109,49,105}}, +/* 42023 */ {(16<<2)|3,{109,49,111}}, +/* 42024 */ {(16<<2)|3,{109,49,115}}, +/* 42025 */ {(16<<2)|3,{109,49,116}}, +/* 42026 */ {(11<<2)|2,{109,49,0}}, +/* 42027 */ {(11<<2)|2,{109,49,0}}, +/* 42028 */ {(11<<2)|2,{109,49,0}}, +/* 42029 */ {(11<<2)|2,{109,49,0}}, +/* 42030 */ {(11<<2)|2,{109,49,0}}, +/* 42031 */ {(11<<2)|2,{109,49,0}}, +/* 42032 */ {(11<<2)|2,{109,49,0}}, +/* 42033 */ {(11<<2)|2,{109,49,0}}, +/* 42034 */ {(11<<2)|2,{109,49,0}}, +/* 42035 */ {(11<<2)|2,{109,49,0}}, +/* 42036 */ {(11<<2)|2,{109,49,0}}, +/* 42037 */ {(11<<2)|2,{109,49,0}}, +/* 42038 */ {(11<<2)|2,{109,49,0}}, +/* 42039 */ {(11<<2)|2,{109,49,0}}, +/* 42040 */ {(11<<2)|2,{109,49,0}}, +/* 42041 */ {(11<<2)|2,{109,49,0}}, +/* 42042 */ {(11<<2)|2,{109,49,0}}, +/* 42043 */ {(11<<2)|2,{109,49,0}}, +/* 42044 */ {(11<<2)|2,{109,49,0}}, +/* 42045 */ {(11<<2)|2,{109,49,0}}, +/* 42046 */ {(11<<2)|2,{109,49,0}}, +/* 42047 */ {(11<<2)|2,{109,49,0}}, +/* 42048 */ {(16<<2)|3,{109,50,48}}, +/* 42049 */ {(16<<2)|3,{109,50,49}}, +/* 42050 */ {(16<<2)|3,{109,50,50}}, +/* 42051 */ {(16<<2)|3,{109,50,97}}, +/* 42052 */ {(16<<2)|3,{109,50,99}}, +/* 42053 */ {(16<<2)|3,{109,50,101}}, +/* 42054 */ {(16<<2)|3,{109,50,105}}, +/* 42055 */ {(16<<2)|3,{109,50,111}}, +/* 42056 */ {(16<<2)|3,{109,50,115}}, +/* 42057 */ {(16<<2)|3,{109,50,116}}, +/* 42058 */ {(11<<2)|2,{109,50,0}}, +/* 42059 */ {(11<<2)|2,{109,50,0}}, +/* 42060 */ {(11<<2)|2,{109,50,0}}, +/* 42061 */ {(11<<2)|2,{109,50,0}}, +/* 42062 */ {(11<<2)|2,{109,50,0}}, +/* 42063 */ {(11<<2)|2,{109,50,0}}, +/* 42064 */ {(11<<2)|2,{109,50,0}}, +/* 42065 */ {(11<<2)|2,{109,50,0}}, +/* 42066 */ {(11<<2)|2,{109,50,0}}, +/* 42067 */ {(11<<2)|2,{109,50,0}}, +/* 42068 */ {(11<<2)|2,{109,50,0}}, +/* 42069 */ {(11<<2)|2,{109,50,0}}, +/* 42070 */ {(11<<2)|2,{109,50,0}}, +/* 42071 */ {(11<<2)|2,{109,50,0}}, +/* 42072 */ {(11<<2)|2,{109,50,0}}, +/* 42073 */ {(11<<2)|2,{109,50,0}}, +/* 42074 */ {(11<<2)|2,{109,50,0}}, +/* 42075 */ {(11<<2)|2,{109,50,0}}, +/* 42076 */ {(11<<2)|2,{109,50,0}}, +/* 42077 */ {(11<<2)|2,{109,50,0}}, +/* 42078 */ {(11<<2)|2,{109,50,0}}, +/* 42079 */ {(11<<2)|2,{109,50,0}}, +/* 42080 */ {(16<<2)|3,{109,97,48}}, +/* 42081 */ {(16<<2)|3,{109,97,49}}, +/* 42082 */ {(16<<2)|3,{109,97,50}}, +/* 42083 */ {(16<<2)|3,{109,97,97}}, +/* 42084 */ {(16<<2)|3,{109,97,99}}, +/* 42085 */ {(16<<2)|3,{109,97,101}}, +/* 42086 */ {(16<<2)|3,{109,97,105}}, +/* 42087 */ {(16<<2)|3,{109,97,111}}, +/* 42088 */ {(16<<2)|3,{109,97,115}}, +/* 42089 */ {(16<<2)|3,{109,97,116}}, +/* 42090 */ {(11<<2)|2,{109,97,0}}, +/* 42091 */ {(11<<2)|2,{109,97,0}}, +/* 42092 */ {(11<<2)|2,{109,97,0}}, +/* 42093 */ {(11<<2)|2,{109,97,0}}, +/* 42094 */ {(11<<2)|2,{109,97,0}}, +/* 42095 */ {(11<<2)|2,{109,97,0}}, +/* 42096 */ {(11<<2)|2,{109,97,0}}, +/* 42097 */ {(11<<2)|2,{109,97,0}}, +/* 42098 */ {(11<<2)|2,{109,97,0}}, +/* 42099 */ {(11<<2)|2,{109,97,0}}, +/* 42100 */ {(11<<2)|2,{109,97,0}}, +/* 42101 */ {(11<<2)|2,{109,97,0}}, +/* 42102 */ {(11<<2)|2,{109,97,0}}, +/* 42103 */ {(11<<2)|2,{109,97,0}}, +/* 42104 */ {(11<<2)|2,{109,97,0}}, +/* 42105 */ {(11<<2)|2,{109,97,0}}, +/* 42106 */ {(11<<2)|2,{109,97,0}}, +/* 42107 */ {(11<<2)|2,{109,97,0}}, +/* 42108 */ {(11<<2)|2,{109,97,0}}, +/* 42109 */ {(11<<2)|2,{109,97,0}}, +/* 42110 */ {(11<<2)|2,{109,97,0}}, +/* 42111 */ {(11<<2)|2,{109,97,0}}, +/* 42112 */ {(16<<2)|3,{109,99,48}}, +/* 42113 */ {(16<<2)|3,{109,99,49}}, +/* 42114 */ {(16<<2)|3,{109,99,50}}, +/* 42115 */ {(16<<2)|3,{109,99,97}}, +/* 42116 */ {(16<<2)|3,{109,99,99}}, +/* 42117 */ {(16<<2)|3,{109,99,101}}, +/* 42118 */ {(16<<2)|3,{109,99,105}}, +/* 42119 */ {(16<<2)|3,{109,99,111}}, +/* 42120 */ {(16<<2)|3,{109,99,115}}, +/* 42121 */ {(16<<2)|3,{109,99,116}}, +/* 42122 */ {(11<<2)|2,{109,99,0}}, +/* 42123 */ {(11<<2)|2,{109,99,0}}, +/* 42124 */ {(11<<2)|2,{109,99,0}}, +/* 42125 */ {(11<<2)|2,{109,99,0}}, +/* 42126 */ {(11<<2)|2,{109,99,0}}, +/* 42127 */ {(11<<2)|2,{109,99,0}}, +/* 42128 */ {(11<<2)|2,{109,99,0}}, +/* 42129 */ {(11<<2)|2,{109,99,0}}, +/* 42130 */ {(11<<2)|2,{109,99,0}}, +/* 42131 */ {(11<<2)|2,{109,99,0}}, +/* 42132 */ {(11<<2)|2,{109,99,0}}, +/* 42133 */ {(11<<2)|2,{109,99,0}}, +/* 42134 */ {(11<<2)|2,{109,99,0}}, +/* 42135 */ {(11<<2)|2,{109,99,0}}, +/* 42136 */ {(11<<2)|2,{109,99,0}}, +/* 42137 */ {(11<<2)|2,{109,99,0}}, +/* 42138 */ {(11<<2)|2,{109,99,0}}, +/* 42139 */ {(11<<2)|2,{109,99,0}}, +/* 42140 */ {(11<<2)|2,{109,99,0}}, +/* 42141 */ {(11<<2)|2,{109,99,0}}, +/* 42142 */ {(11<<2)|2,{109,99,0}}, +/* 42143 */ {(11<<2)|2,{109,99,0}}, +/* 42144 */ {(16<<2)|3,{109,101,48}}, +/* 42145 */ {(16<<2)|3,{109,101,49}}, +/* 42146 */ {(16<<2)|3,{109,101,50}}, +/* 42147 */ {(16<<2)|3,{109,101,97}}, +/* 42148 */ {(16<<2)|3,{109,101,99}}, +/* 42149 */ {(16<<2)|3,{109,101,101}}, +/* 42150 */ {(16<<2)|3,{109,101,105}}, +/* 42151 */ {(16<<2)|3,{109,101,111}}, +/* 42152 */ {(16<<2)|3,{109,101,115}}, +/* 42153 */ {(16<<2)|3,{109,101,116}}, +/* 42154 */ {(11<<2)|2,{109,101,0}}, +/* 42155 */ {(11<<2)|2,{109,101,0}}, +/* 42156 */ {(11<<2)|2,{109,101,0}}, +/* 42157 */ {(11<<2)|2,{109,101,0}}, +/* 42158 */ {(11<<2)|2,{109,101,0}}, +/* 42159 */ {(11<<2)|2,{109,101,0}}, +/* 42160 */ {(11<<2)|2,{109,101,0}}, +/* 42161 */ {(11<<2)|2,{109,101,0}}, +/* 42162 */ {(11<<2)|2,{109,101,0}}, +/* 42163 */ {(11<<2)|2,{109,101,0}}, +/* 42164 */ {(11<<2)|2,{109,101,0}}, +/* 42165 */ {(11<<2)|2,{109,101,0}}, +/* 42166 */ {(11<<2)|2,{109,101,0}}, +/* 42167 */ {(11<<2)|2,{109,101,0}}, +/* 42168 */ {(11<<2)|2,{109,101,0}}, +/* 42169 */ {(11<<2)|2,{109,101,0}}, +/* 42170 */ {(11<<2)|2,{109,101,0}}, +/* 42171 */ {(11<<2)|2,{109,101,0}}, +/* 42172 */ {(11<<2)|2,{109,101,0}}, +/* 42173 */ {(11<<2)|2,{109,101,0}}, +/* 42174 */ {(11<<2)|2,{109,101,0}}, +/* 42175 */ {(11<<2)|2,{109,101,0}}, +/* 42176 */ {(16<<2)|3,{109,105,48}}, +/* 42177 */ {(16<<2)|3,{109,105,49}}, +/* 42178 */ {(16<<2)|3,{109,105,50}}, +/* 42179 */ {(16<<2)|3,{109,105,97}}, +/* 42180 */ {(16<<2)|3,{109,105,99}}, +/* 42181 */ {(16<<2)|3,{109,105,101}}, +/* 42182 */ {(16<<2)|3,{109,105,105}}, +/* 42183 */ {(16<<2)|3,{109,105,111}}, +/* 42184 */ {(16<<2)|3,{109,105,115}}, +/* 42185 */ {(16<<2)|3,{109,105,116}}, +/* 42186 */ {(11<<2)|2,{109,105,0}}, +/* 42187 */ {(11<<2)|2,{109,105,0}}, +/* 42188 */ {(11<<2)|2,{109,105,0}}, +/* 42189 */ {(11<<2)|2,{109,105,0}}, +/* 42190 */ {(11<<2)|2,{109,105,0}}, +/* 42191 */ {(11<<2)|2,{109,105,0}}, +/* 42192 */ {(11<<2)|2,{109,105,0}}, +/* 42193 */ {(11<<2)|2,{109,105,0}}, +/* 42194 */ {(11<<2)|2,{109,105,0}}, +/* 42195 */ {(11<<2)|2,{109,105,0}}, +/* 42196 */ {(11<<2)|2,{109,105,0}}, +/* 42197 */ {(11<<2)|2,{109,105,0}}, +/* 42198 */ {(11<<2)|2,{109,105,0}}, +/* 42199 */ {(11<<2)|2,{109,105,0}}, +/* 42200 */ {(11<<2)|2,{109,105,0}}, +/* 42201 */ {(11<<2)|2,{109,105,0}}, +/* 42202 */ {(11<<2)|2,{109,105,0}}, +/* 42203 */ {(11<<2)|2,{109,105,0}}, +/* 42204 */ {(11<<2)|2,{109,105,0}}, +/* 42205 */ {(11<<2)|2,{109,105,0}}, +/* 42206 */ {(11<<2)|2,{109,105,0}}, +/* 42207 */ {(11<<2)|2,{109,105,0}}, +/* 42208 */ {(16<<2)|3,{109,111,48}}, +/* 42209 */ {(16<<2)|3,{109,111,49}}, +/* 42210 */ {(16<<2)|3,{109,111,50}}, +/* 42211 */ {(16<<2)|3,{109,111,97}}, +/* 42212 */ {(16<<2)|3,{109,111,99}}, +/* 42213 */ {(16<<2)|3,{109,111,101}}, +/* 42214 */ {(16<<2)|3,{109,111,105}}, +/* 42215 */ {(16<<2)|3,{109,111,111}}, +/* 42216 */ {(16<<2)|3,{109,111,115}}, +/* 42217 */ {(16<<2)|3,{109,111,116}}, +/* 42218 */ {(11<<2)|2,{109,111,0}}, +/* 42219 */ {(11<<2)|2,{109,111,0}}, +/* 42220 */ {(11<<2)|2,{109,111,0}}, +/* 42221 */ {(11<<2)|2,{109,111,0}}, +/* 42222 */ {(11<<2)|2,{109,111,0}}, +/* 42223 */ {(11<<2)|2,{109,111,0}}, +/* 42224 */ {(11<<2)|2,{109,111,0}}, +/* 42225 */ {(11<<2)|2,{109,111,0}}, +/* 42226 */ {(11<<2)|2,{109,111,0}}, +/* 42227 */ {(11<<2)|2,{109,111,0}}, +/* 42228 */ {(11<<2)|2,{109,111,0}}, +/* 42229 */ {(11<<2)|2,{109,111,0}}, +/* 42230 */ {(11<<2)|2,{109,111,0}}, +/* 42231 */ {(11<<2)|2,{109,111,0}}, +/* 42232 */ {(11<<2)|2,{109,111,0}}, +/* 42233 */ {(11<<2)|2,{109,111,0}}, +/* 42234 */ {(11<<2)|2,{109,111,0}}, +/* 42235 */ {(11<<2)|2,{109,111,0}}, +/* 42236 */ {(11<<2)|2,{109,111,0}}, +/* 42237 */ {(11<<2)|2,{109,111,0}}, +/* 42238 */ {(11<<2)|2,{109,111,0}}, +/* 42239 */ {(11<<2)|2,{109,111,0}}, +/* 42240 */ {(16<<2)|3,{109,115,48}}, +/* 42241 */ {(16<<2)|3,{109,115,49}}, +/* 42242 */ {(16<<2)|3,{109,115,50}}, +/* 42243 */ {(16<<2)|3,{109,115,97}}, +/* 42244 */ {(16<<2)|3,{109,115,99}}, +/* 42245 */ {(16<<2)|3,{109,115,101}}, +/* 42246 */ {(16<<2)|3,{109,115,105}}, +/* 42247 */ {(16<<2)|3,{109,115,111}}, +/* 42248 */ {(16<<2)|3,{109,115,115}}, +/* 42249 */ {(16<<2)|3,{109,115,116}}, +/* 42250 */ {(11<<2)|2,{109,115,0}}, +/* 42251 */ {(11<<2)|2,{109,115,0}}, +/* 42252 */ {(11<<2)|2,{109,115,0}}, +/* 42253 */ {(11<<2)|2,{109,115,0}}, +/* 42254 */ {(11<<2)|2,{109,115,0}}, +/* 42255 */ {(11<<2)|2,{109,115,0}}, +/* 42256 */ {(11<<2)|2,{109,115,0}}, +/* 42257 */ {(11<<2)|2,{109,115,0}}, +/* 42258 */ {(11<<2)|2,{109,115,0}}, +/* 42259 */ {(11<<2)|2,{109,115,0}}, +/* 42260 */ {(11<<2)|2,{109,115,0}}, +/* 42261 */ {(11<<2)|2,{109,115,0}}, +/* 42262 */ {(11<<2)|2,{109,115,0}}, +/* 42263 */ {(11<<2)|2,{109,115,0}}, +/* 42264 */ {(11<<2)|2,{109,115,0}}, +/* 42265 */ {(11<<2)|2,{109,115,0}}, +/* 42266 */ {(11<<2)|2,{109,115,0}}, +/* 42267 */ {(11<<2)|2,{109,115,0}}, +/* 42268 */ {(11<<2)|2,{109,115,0}}, +/* 42269 */ {(11<<2)|2,{109,115,0}}, +/* 42270 */ {(11<<2)|2,{109,115,0}}, +/* 42271 */ {(11<<2)|2,{109,115,0}}, +/* 42272 */ {(16<<2)|3,{109,116,48}}, +/* 42273 */ {(16<<2)|3,{109,116,49}}, +/* 42274 */ {(16<<2)|3,{109,116,50}}, +/* 42275 */ {(16<<2)|3,{109,116,97}}, +/* 42276 */ {(16<<2)|3,{109,116,99}}, +/* 42277 */ {(16<<2)|3,{109,116,101}}, +/* 42278 */ {(16<<2)|3,{109,116,105}}, +/* 42279 */ {(16<<2)|3,{109,116,111}}, +/* 42280 */ {(16<<2)|3,{109,116,115}}, +/* 42281 */ {(16<<2)|3,{109,116,116}}, +/* 42282 */ {(11<<2)|2,{109,116,0}}, +/* 42283 */ {(11<<2)|2,{109,116,0}}, +/* 42284 */ {(11<<2)|2,{109,116,0}}, +/* 42285 */ {(11<<2)|2,{109,116,0}}, +/* 42286 */ {(11<<2)|2,{109,116,0}}, +/* 42287 */ {(11<<2)|2,{109,116,0}}, +/* 42288 */ {(11<<2)|2,{109,116,0}}, +/* 42289 */ {(11<<2)|2,{109,116,0}}, +/* 42290 */ {(11<<2)|2,{109,116,0}}, +/* 42291 */ {(11<<2)|2,{109,116,0}}, +/* 42292 */ {(11<<2)|2,{109,116,0}}, +/* 42293 */ {(11<<2)|2,{109,116,0}}, +/* 42294 */ {(11<<2)|2,{109,116,0}}, +/* 42295 */ {(11<<2)|2,{109,116,0}}, +/* 42296 */ {(11<<2)|2,{109,116,0}}, +/* 42297 */ {(11<<2)|2,{109,116,0}}, +/* 42298 */ {(11<<2)|2,{109,116,0}}, +/* 42299 */ {(11<<2)|2,{109,116,0}}, +/* 42300 */ {(11<<2)|2,{109,116,0}}, +/* 42301 */ {(11<<2)|2,{109,116,0}}, +/* 42302 */ {(11<<2)|2,{109,116,0}}, +/* 42303 */ {(11<<2)|2,{109,116,0}}, +/* 42304 */ {(12<<2)|2,{109,32,0}}, +/* 42305 */ {(12<<2)|2,{109,32,0}}, +/* 42306 */ {(12<<2)|2,{109,32,0}}, +/* 42307 */ {(12<<2)|2,{109,32,0}}, +/* 42308 */ {(12<<2)|2,{109,32,0}}, +/* 42309 */ {(12<<2)|2,{109,32,0}}, +/* 42310 */ {(12<<2)|2,{109,32,0}}, +/* 42311 */ {(12<<2)|2,{109,32,0}}, +/* 42312 */ {(12<<2)|2,{109,32,0}}, +/* 42313 */ {(12<<2)|2,{109,32,0}}, +/* 42314 */ {(12<<2)|2,{109,32,0}}, +/* 42315 */ {(12<<2)|2,{109,32,0}}, +/* 42316 */ {(12<<2)|2,{109,32,0}}, +/* 42317 */ {(12<<2)|2,{109,32,0}}, +/* 42318 */ {(12<<2)|2,{109,32,0}}, +/* 42319 */ {(12<<2)|2,{109,32,0}}, +/* 42320 */ {(12<<2)|2,{109,37,0}}, +/* 42321 */ {(12<<2)|2,{109,37,0}}, +/* 42322 */ {(12<<2)|2,{109,37,0}}, +/* 42323 */ {(12<<2)|2,{109,37,0}}, +/* 42324 */ {(12<<2)|2,{109,37,0}}, +/* 42325 */ {(12<<2)|2,{109,37,0}}, +/* 42326 */ {(12<<2)|2,{109,37,0}}, +/* 42327 */ {(12<<2)|2,{109,37,0}}, +/* 42328 */ {(12<<2)|2,{109,37,0}}, +/* 42329 */ {(12<<2)|2,{109,37,0}}, +/* 42330 */ {(12<<2)|2,{109,37,0}}, +/* 42331 */ {(12<<2)|2,{109,37,0}}, +/* 42332 */ {(12<<2)|2,{109,37,0}}, +/* 42333 */ {(12<<2)|2,{109,37,0}}, +/* 42334 */ {(12<<2)|2,{109,37,0}}, +/* 42335 */ {(12<<2)|2,{109,37,0}}, +/* 42336 */ {(12<<2)|2,{109,45,0}}, +/* 42337 */ {(12<<2)|2,{109,45,0}}, +/* 42338 */ {(12<<2)|2,{109,45,0}}, +/* 42339 */ {(12<<2)|2,{109,45,0}}, +/* 42340 */ {(12<<2)|2,{109,45,0}}, +/* 42341 */ {(12<<2)|2,{109,45,0}}, +/* 42342 */ {(12<<2)|2,{109,45,0}}, +/* 42343 */ {(12<<2)|2,{109,45,0}}, +/* 42344 */ {(12<<2)|2,{109,45,0}}, +/* 42345 */ {(12<<2)|2,{109,45,0}}, +/* 42346 */ {(12<<2)|2,{109,45,0}}, +/* 42347 */ {(12<<2)|2,{109,45,0}}, +/* 42348 */ {(12<<2)|2,{109,45,0}}, +/* 42349 */ {(12<<2)|2,{109,45,0}}, +/* 42350 */ {(12<<2)|2,{109,45,0}}, +/* 42351 */ {(12<<2)|2,{109,45,0}}, +/* 42352 */ {(12<<2)|2,{109,46,0}}, +/* 42353 */ {(12<<2)|2,{109,46,0}}, +/* 42354 */ {(12<<2)|2,{109,46,0}}, +/* 42355 */ {(12<<2)|2,{109,46,0}}, +/* 42356 */ {(12<<2)|2,{109,46,0}}, +/* 42357 */ {(12<<2)|2,{109,46,0}}, +/* 42358 */ {(12<<2)|2,{109,46,0}}, +/* 42359 */ {(12<<2)|2,{109,46,0}}, +/* 42360 */ {(12<<2)|2,{109,46,0}}, +/* 42361 */ {(12<<2)|2,{109,46,0}}, +/* 42362 */ {(12<<2)|2,{109,46,0}}, +/* 42363 */ {(12<<2)|2,{109,46,0}}, +/* 42364 */ {(12<<2)|2,{109,46,0}}, +/* 42365 */ {(12<<2)|2,{109,46,0}}, +/* 42366 */ {(12<<2)|2,{109,46,0}}, +/* 42367 */ {(12<<2)|2,{109,46,0}}, +/* 42368 */ {(12<<2)|2,{109,47,0}}, +/* 42369 */ {(12<<2)|2,{109,47,0}}, +/* 42370 */ {(12<<2)|2,{109,47,0}}, +/* 42371 */ {(12<<2)|2,{109,47,0}}, +/* 42372 */ {(12<<2)|2,{109,47,0}}, +/* 42373 */ {(12<<2)|2,{109,47,0}}, +/* 42374 */ {(12<<2)|2,{109,47,0}}, +/* 42375 */ {(12<<2)|2,{109,47,0}}, +/* 42376 */ {(12<<2)|2,{109,47,0}}, +/* 42377 */ {(12<<2)|2,{109,47,0}}, +/* 42378 */ {(12<<2)|2,{109,47,0}}, +/* 42379 */ {(12<<2)|2,{109,47,0}}, +/* 42380 */ {(12<<2)|2,{109,47,0}}, +/* 42381 */ {(12<<2)|2,{109,47,0}}, +/* 42382 */ {(12<<2)|2,{109,47,0}}, +/* 42383 */ {(12<<2)|2,{109,47,0}}, +/* 42384 */ {(12<<2)|2,{109,51,0}}, +/* 42385 */ {(12<<2)|2,{109,51,0}}, +/* 42386 */ {(12<<2)|2,{109,51,0}}, +/* 42387 */ {(12<<2)|2,{109,51,0}}, +/* 42388 */ {(12<<2)|2,{109,51,0}}, +/* 42389 */ {(12<<2)|2,{109,51,0}}, +/* 42390 */ {(12<<2)|2,{109,51,0}}, +/* 42391 */ {(12<<2)|2,{109,51,0}}, +/* 42392 */ {(12<<2)|2,{109,51,0}}, +/* 42393 */ {(12<<2)|2,{109,51,0}}, +/* 42394 */ {(12<<2)|2,{109,51,0}}, +/* 42395 */ {(12<<2)|2,{109,51,0}}, +/* 42396 */ {(12<<2)|2,{109,51,0}}, +/* 42397 */ {(12<<2)|2,{109,51,0}}, +/* 42398 */ {(12<<2)|2,{109,51,0}}, +/* 42399 */ {(12<<2)|2,{109,51,0}}, +/* 42400 */ {(12<<2)|2,{109,52,0}}, +/* 42401 */ {(12<<2)|2,{109,52,0}}, +/* 42402 */ {(12<<2)|2,{109,52,0}}, +/* 42403 */ {(12<<2)|2,{109,52,0}}, +/* 42404 */ {(12<<2)|2,{109,52,0}}, +/* 42405 */ {(12<<2)|2,{109,52,0}}, +/* 42406 */ {(12<<2)|2,{109,52,0}}, +/* 42407 */ {(12<<2)|2,{109,52,0}}, +/* 42408 */ {(12<<2)|2,{109,52,0}}, +/* 42409 */ {(12<<2)|2,{109,52,0}}, +/* 42410 */ {(12<<2)|2,{109,52,0}}, +/* 42411 */ {(12<<2)|2,{109,52,0}}, +/* 42412 */ {(12<<2)|2,{109,52,0}}, +/* 42413 */ {(12<<2)|2,{109,52,0}}, +/* 42414 */ {(12<<2)|2,{109,52,0}}, +/* 42415 */ {(12<<2)|2,{109,52,0}}, +/* 42416 */ {(12<<2)|2,{109,53,0}}, +/* 42417 */ {(12<<2)|2,{109,53,0}}, +/* 42418 */ {(12<<2)|2,{109,53,0}}, +/* 42419 */ {(12<<2)|2,{109,53,0}}, +/* 42420 */ {(12<<2)|2,{109,53,0}}, +/* 42421 */ {(12<<2)|2,{109,53,0}}, +/* 42422 */ {(12<<2)|2,{109,53,0}}, +/* 42423 */ {(12<<2)|2,{109,53,0}}, +/* 42424 */ {(12<<2)|2,{109,53,0}}, +/* 42425 */ {(12<<2)|2,{109,53,0}}, +/* 42426 */ {(12<<2)|2,{109,53,0}}, +/* 42427 */ {(12<<2)|2,{109,53,0}}, +/* 42428 */ {(12<<2)|2,{109,53,0}}, +/* 42429 */ {(12<<2)|2,{109,53,0}}, +/* 42430 */ {(12<<2)|2,{109,53,0}}, +/* 42431 */ {(12<<2)|2,{109,53,0}}, +/* 42432 */ {(12<<2)|2,{109,54,0}}, +/* 42433 */ {(12<<2)|2,{109,54,0}}, +/* 42434 */ {(12<<2)|2,{109,54,0}}, +/* 42435 */ {(12<<2)|2,{109,54,0}}, +/* 42436 */ {(12<<2)|2,{109,54,0}}, +/* 42437 */ {(12<<2)|2,{109,54,0}}, +/* 42438 */ {(12<<2)|2,{109,54,0}}, +/* 42439 */ {(12<<2)|2,{109,54,0}}, +/* 42440 */ {(12<<2)|2,{109,54,0}}, +/* 42441 */ {(12<<2)|2,{109,54,0}}, +/* 42442 */ {(12<<2)|2,{109,54,0}}, +/* 42443 */ {(12<<2)|2,{109,54,0}}, +/* 42444 */ {(12<<2)|2,{109,54,0}}, +/* 42445 */ {(12<<2)|2,{109,54,0}}, +/* 42446 */ {(12<<2)|2,{109,54,0}}, +/* 42447 */ {(12<<2)|2,{109,54,0}}, +/* 42448 */ {(12<<2)|2,{109,55,0}}, +/* 42449 */ {(12<<2)|2,{109,55,0}}, +/* 42450 */ {(12<<2)|2,{109,55,0}}, +/* 42451 */ {(12<<2)|2,{109,55,0}}, +/* 42452 */ {(12<<2)|2,{109,55,0}}, +/* 42453 */ {(12<<2)|2,{109,55,0}}, +/* 42454 */ {(12<<2)|2,{109,55,0}}, +/* 42455 */ {(12<<2)|2,{109,55,0}}, +/* 42456 */ {(12<<2)|2,{109,55,0}}, +/* 42457 */ {(12<<2)|2,{109,55,0}}, +/* 42458 */ {(12<<2)|2,{109,55,0}}, +/* 42459 */ {(12<<2)|2,{109,55,0}}, +/* 42460 */ {(12<<2)|2,{109,55,0}}, +/* 42461 */ {(12<<2)|2,{109,55,0}}, +/* 42462 */ {(12<<2)|2,{109,55,0}}, +/* 42463 */ {(12<<2)|2,{109,55,0}}, +/* 42464 */ {(12<<2)|2,{109,56,0}}, +/* 42465 */ {(12<<2)|2,{109,56,0}}, +/* 42466 */ {(12<<2)|2,{109,56,0}}, +/* 42467 */ {(12<<2)|2,{109,56,0}}, +/* 42468 */ {(12<<2)|2,{109,56,0}}, +/* 42469 */ {(12<<2)|2,{109,56,0}}, +/* 42470 */ {(12<<2)|2,{109,56,0}}, +/* 42471 */ {(12<<2)|2,{109,56,0}}, +/* 42472 */ {(12<<2)|2,{109,56,0}}, +/* 42473 */ {(12<<2)|2,{109,56,0}}, +/* 42474 */ {(12<<2)|2,{109,56,0}}, +/* 42475 */ {(12<<2)|2,{109,56,0}}, +/* 42476 */ {(12<<2)|2,{109,56,0}}, +/* 42477 */ {(12<<2)|2,{109,56,0}}, +/* 42478 */ {(12<<2)|2,{109,56,0}}, +/* 42479 */ {(12<<2)|2,{109,56,0}}, +/* 42480 */ {(12<<2)|2,{109,57,0}}, +/* 42481 */ {(12<<2)|2,{109,57,0}}, +/* 42482 */ {(12<<2)|2,{109,57,0}}, +/* 42483 */ {(12<<2)|2,{109,57,0}}, +/* 42484 */ {(12<<2)|2,{109,57,0}}, +/* 42485 */ {(12<<2)|2,{109,57,0}}, +/* 42486 */ {(12<<2)|2,{109,57,0}}, +/* 42487 */ {(12<<2)|2,{109,57,0}}, +/* 42488 */ {(12<<2)|2,{109,57,0}}, +/* 42489 */ {(12<<2)|2,{109,57,0}}, +/* 42490 */ {(12<<2)|2,{109,57,0}}, +/* 42491 */ {(12<<2)|2,{109,57,0}}, +/* 42492 */ {(12<<2)|2,{109,57,0}}, +/* 42493 */ {(12<<2)|2,{109,57,0}}, +/* 42494 */ {(12<<2)|2,{109,57,0}}, +/* 42495 */ {(12<<2)|2,{109,57,0}}, +/* 42496 */ {(12<<2)|2,{109,61,0}}, +/* 42497 */ {(12<<2)|2,{109,61,0}}, +/* 42498 */ {(12<<2)|2,{109,61,0}}, +/* 42499 */ {(12<<2)|2,{109,61,0}}, +/* 42500 */ {(12<<2)|2,{109,61,0}}, +/* 42501 */ {(12<<2)|2,{109,61,0}}, +/* 42502 */ {(12<<2)|2,{109,61,0}}, +/* 42503 */ {(12<<2)|2,{109,61,0}}, +/* 42504 */ {(12<<2)|2,{109,61,0}}, +/* 42505 */ {(12<<2)|2,{109,61,0}}, +/* 42506 */ {(12<<2)|2,{109,61,0}}, +/* 42507 */ {(12<<2)|2,{109,61,0}}, +/* 42508 */ {(12<<2)|2,{109,61,0}}, +/* 42509 */ {(12<<2)|2,{109,61,0}}, +/* 42510 */ {(12<<2)|2,{109,61,0}}, +/* 42511 */ {(12<<2)|2,{109,61,0}}, +/* 42512 */ {(12<<2)|2,{109,65,0}}, +/* 42513 */ {(12<<2)|2,{109,65,0}}, +/* 42514 */ {(12<<2)|2,{109,65,0}}, +/* 42515 */ {(12<<2)|2,{109,65,0}}, +/* 42516 */ {(12<<2)|2,{109,65,0}}, +/* 42517 */ {(12<<2)|2,{109,65,0}}, +/* 42518 */ {(12<<2)|2,{109,65,0}}, +/* 42519 */ {(12<<2)|2,{109,65,0}}, +/* 42520 */ {(12<<2)|2,{109,65,0}}, +/* 42521 */ {(12<<2)|2,{109,65,0}}, +/* 42522 */ {(12<<2)|2,{109,65,0}}, +/* 42523 */ {(12<<2)|2,{109,65,0}}, +/* 42524 */ {(12<<2)|2,{109,65,0}}, +/* 42525 */ {(12<<2)|2,{109,65,0}}, +/* 42526 */ {(12<<2)|2,{109,65,0}}, +/* 42527 */ {(12<<2)|2,{109,65,0}}, +/* 42528 */ {(12<<2)|2,{109,95,0}}, +/* 42529 */ {(12<<2)|2,{109,95,0}}, +/* 42530 */ {(12<<2)|2,{109,95,0}}, +/* 42531 */ {(12<<2)|2,{109,95,0}}, +/* 42532 */ {(12<<2)|2,{109,95,0}}, +/* 42533 */ {(12<<2)|2,{109,95,0}}, +/* 42534 */ {(12<<2)|2,{109,95,0}}, +/* 42535 */ {(12<<2)|2,{109,95,0}}, +/* 42536 */ {(12<<2)|2,{109,95,0}}, +/* 42537 */ {(12<<2)|2,{109,95,0}}, +/* 42538 */ {(12<<2)|2,{109,95,0}}, +/* 42539 */ {(12<<2)|2,{109,95,0}}, +/* 42540 */ {(12<<2)|2,{109,95,0}}, +/* 42541 */ {(12<<2)|2,{109,95,0}}, +/* 42542 */ {(12<<2)|2,{109,95,0}}, +/* 42543 */ {(12<<2)|2,{109,95,0}}, +/* 42544 */ {(12<<2)|2,{109,98,0}}, +/* 42545 */ {(12<<2)|2,{109,98,0}}, +/* 42546 */ {(12<<2)|2,{109,98,0}}, +/* 42547 */ {(12<<2)|2,{109,98,0}}, +/* 42548 */ {(12<<2)|2,{109,98,0}}, +/* 42549 */ {(12<<2)|2,{109,98,0}}, +/* 42550 */ {(12<<2)|2,{109,98,0}}, +/* 42551 */ {(12<<2)|2,{109,98,0}}, +/* 42552 */ {(12<<2)|2,{109,98,0}}, +/* 42553 */ {(12<<2)|2,{109,98,0}}, +/* 42554 */ {(12<<2)|2,{109,98,0}}, +/* 42555 */ {(12<<2)|2,{109,98,0}}, +/* 42556 */ {(12<<2)|2,{109,98,0}}, +/* 42557 */ {(12<<2)|2,{109,98,0}}, +/* 42558 */ {(12<<2)|2,{109,98,0}}, +/* 42559 */ {(12<<2)|2,{109,98,0}}, +/* 42560 */ {(12<<2)|2,{109,100,0}}, +/* 42561 */ {(12<<2)|2,{109,100,0}}, +/* 42562 */ {(12<<2)|2,{109,100,0}}, +/* 42563 */ {(12<<2)|2,{109,100,0}}, +/* 42564 */ {(12<<2)|2,{109,100,0}}, +/* 42565 */ {(12<<2)|2,{109,100,0}}, +/* 42566 */ {(12<<2)|2,{109,100,0}}, +/* 42567 */ {(12<<2)|2,{109,100,0}}, +/* 42568 */ {(12<<2)|2,{109,100,0}}, +/* 42569 */ {(12<<2)|2,{109,100,0}}, +/* 42570 */ {(12<<2)|2,{109,100,0}}, +/* 42571 */ {(12<<2)|2,{109,100,0}}, +/* 42572 */ {(12<<2)|2,{109,100,0}}, +/* 42573 */ {(12<<2)|2,{109,100,0}}, +/* 42574 */ {(12<<2)|2,{109,100,0}}, +/* 42575 */ {(12<<2)|2,{109,100,0}}, +/* 42576 */ {(12<<2)|2,{109,102,0}}, +/* 42577 */ {(12<<2)|2,{109,102,0}}, +/* 42578 */ {(12<<2)|2,{109,102,0}}, +/* 42579 */ {(12<<2)|2,{109,102,0}}, +/* 42580 */ {(12<<2)|2,{109,102,0}}, +/* 42581 */ {(12<<2)|2,{109,102,0}}, +/* 42582 */ {(12<<2)|2,{109,102,0}}, +/* 42583 */ {(12<<2)|2,{109,102,0}}, +/* 42584 */ {(12<<2)|2,{109,102,0}}, +/* 42585 */ {(12<<2)|2,{109,102,0}}, +/* 42586 */ {(12<<2)|2,{109,102,0}}, +/* 42587 */ {(12<<2)|2,{109,102,0}}, +/* 42588 */ {(12<<2)|2,{109,102,0}}, +/* 42589 */ {(12<<2)|2,{109,102,0}}, +/* 42590 */ {(12<<2)|2,{109,102,0}}, +/* 42591 */ {(12<<2)|2,{109,102,0}}, +/* 42592 */ {(12<<2)|2,{109,103,0}}, +/* 42593 */ {(12<<2)|2,{109,103,0}}, +/* 42594 */ {(12<<2)|2,{109,103,0}}, +/* 42595 */ {(12<<2)|2,{109,103,0}}, +/* 42596 */ {(12<<2)|2,{109,103,0}}, +/* 42597 */ {(12<<2)|2,{109,103,0}}, +/* 42598 */ {(12<<2)|2,{109,103,0}}, +/* 42599 */ {(12<<2)|2,{109,103,0}}, +/* 42600 */ {(12<<2)|2,{109,103,0}}, +/* 42601 */ {(12<<2)|2,{109,103,0}}, +/* 42602 */ {(12<<2)|2,{109,103,0}}, +/* 42603 */ {(12<<2)|2,{109,103,0}}, +/* 42604 */ {(12<<2)|2,{109,103,0}}, +/* 42605 */ {(12<<2)|2,{109,103,0}}, +/* 42606 */ {(12<<2)|2,{109,103,0}}, +/* 42607 */ {(12<<2)|2,{109,103,0}}, +/* 42608 */ {(12<<2)|2,{109,104,0}}, +/* 42609 */ {(12<<2)|2,{109,104,0}}, +/* 42610 */ {(12<<2)|2,{109,104,0}}, +/* 42611 */ {(12<<2)|2,{109,104,0}}, +/* 42612 */ {(12<<2)|2,{109,104,0}}, +/* 42613 */ {(12<<2)|2,{109,104,0}}, +/* 42614 */ {(12<<2)|2,{109,104,0}}, +/* 42615 */ {(12<<2)|2,{109,104,0}}, +/* 42616 */ {(12<<2)|2,{109,104,0}}, +/* 42617 */ {(12<<2)|2,{109,104,0}}, +/* 42618 */ {(12<<2)|2,{109,104,0}}, +/* 42619 */ {(12<<2)|2,{109,104,0}}, +/* 42620 */ {(12<<2)|2,{109,104,0}}, +/* 42621 */ {(12<<2)|2,{109,104,0}}, +/* 42622 */ {(12<<2)|2,{109,104,0}}, +/* 42623 */ {(12<<2)|2,{109,104,0}}, +/* 42624 */ {(12<<2)|2,{109,108,0}}, +/* 42625 */ {(12<<2)|2,{109,108,0}}, +/* 42626 */ {(12<<2)|2,{109,108,0}}, +/* 42627 */ {(12<<2)|2,{109,108,0}}, +/* 42628 */ {(12<<2)|2,{109,108,0}}, +/* 42629 */ {(12<<2)|2,{109,108,0}}, +/* 42630 */ {(12<<2)|2,{109,108,0}}, +/* 42631 */ {(12<<2)|2,{109,108,0}}, +/* 42632 */ {(12<<2)|2,{109,108,0}}, +/* 42633 */ {(12<<2)|2,{109,108,0}}, +/* 42634 */ {(12<<2)|2,{109,108,0}}, +/* 42635 */ {(12<<2)|2,{109,108,0}}, +/* 42636 */ {(12<<2)|2,{109,108,0}}, +/* 42637 */ {(12<<2)|2,{109,108,0}}, +/* 42638 */ {(12<<2)|2,{109,108,0}}, +/* 42639 */ {(12<<2)|2,{109,108,0}}, +/* 42640 */ {(12<<2)|2,{109,109,0}}, +/* 42641 */ {(12<<2)|2,{109,109,0}}, +/* 42642 */ {(12<<2)|2,{109,109,0}}, +/* 42643 */ {(12<<2)|2,{109,109,0}}, +/* 42644 */ {(12<<2)|2,{109,109,0}}, +/* 42645 */ {(12<<2)|2,{109,109,0}}, +/* 42646 */ {(12<<2)|2,{109,109,0}}, +/* 42647 */ {(12<<2)|2,{109,109,0}}, +/* 42648 */ {(12<<2)|2,{109,109,0}}, +/* 42649 */ {(12<<2)|2,{109,109,0}}, +/* 42650 */ {(12<<2)|2,{109,109,0}}, +/* 42651 */ {(12<<2)|2,{109,109,0}}, +/* 42652 */ {(12<<2)|2,{109,109,0}}, +/* 42653 */ {(12<<2)|2,{109,109,0}}, +/* 42654 */ {(12<<2)|2,{109,109,0}}, +/* 42655 */ {(12<<2)|2,{109,109,0}}, +/* 42656 */ {(12<<2)|2,{109,110,0}}, +/* 42657 */ {(12<<2)|2,{109,110,0}}, +/* 42658 */ {(12<<2)|2,{109,110,0}}, +/* 42659 */ {(12<<2)|2,{109,110,0}}, +/* 42660 */ {(12<<2)|2,{109,110,0}}, +/* 42661 */ {(12<<2)|2,{109,110,0}}, +/* 42662 */ {(12<<2)|2,{109,110,0}}, +/* 42663 */ {(12<<2)|2,{109,110,0}}, +/* 42664 */ {(12<<2)|2,{109,110,0}}, +/* 42665 */ {(12<<2)|2,{109,110,0}}, +/* 42666 */ {(12<<2)|2,{109,110,0}}, +/* 42667 */ {(12<<2)|2,{109,110,0}}, +/* 42668 */ {(12<<2)|2,{109,110,0}}, +/* 42669 */ {(12<<2)|2,{109,110,0}}, +/* 42670 */ {(12<<2)|2,{109,110,0}}, +/* 42671 */ {(12<<2)|2,{109,110,0}}, +/* 42672 */ {(12<<2)|2,{109,112,0}}, +/* 42673 */ {(12<<2)|2,{109,112,0}}, +/* 42674 */ {(12<<2)|2,{109,112,0}}, +/* 42675 */ {(12<<2)|2,{109,112,0}}, +/* 42676 */ {(12<<2)|2,{109,112,0}}, +/* 42677 */ {(12<<2)|2,{109,112,0}}, +/* 42678 */ {(12<<2)|2,{109,112,0}}, +/* 42679 */ {(12<<2)|2,{109,112,0}}, +/* 42680 */ {(12<<2)|2,{109,112,0}}, +/* 42681 */ {(12<<2)|2,{109,112,0}}, +/* 42682 */ {(12<<2)|2,{109,112,0}}, +/* 42683 */ {(12<<2)|2,{109,112,0}}, +/* 42684 */ {(12<<2)|2,{109,112,0}}, +/* 42685 */ {(12<<2)|2,{109,112,0}}, +/* 42686 */ {(12<<2)|2,{109,112,0}}, +/* 42687 */ {(12<<2)|2,{109,112,0}}, +/* 42688 */ {(12<<2)|2,{109,114,0}}, +/* 42689 */ {(12<<2)|2,{109,114,0}}, +/* 42690 */ {(12<<2)|2,{109,114,0}}, +/* 42691 */ {(12<<2)|2,{109,114,0}}, +/* 42692 */ {(12<<2)|2,{109,114,0}}, +/* 42693 */ {(12<<2)|2,{109,114,0}}, +/* 42694 */ {(12<<2)|2,{109,114,0}}, +/* 42695 */ {(12<<2)|2,{109,114,0}}, +/* 42696 */ {(12<<2)|2,{109,114,0}}, +/* 42697 */ {(12<<2)|2,{109,114,0}}, +/* 42698 */ {(12<<2)|2,{109,114,0}}, +/* 42699 */ {(12<<2)|2,{109,114,0}}, +/* 42700 */ {(12<<2)|2,{109,114,0}}, +/* 42701 */ {(12<<2)|2,{109,114,0}}, +/* 42702 */ {(12<<2)|2,{109,114,0}}, +/* 42703 */ {(12<<2)|2,{109,114,0}}, +/* 42704 */ {(12<<2)|2,{109,117,0}}, +/* 42705 */ {(12<<2)|2,{109,117,0}}, +/* 42706 */ {(12<<2)|2,{109,117,0}}, +/* 42707 */ {(12<<2)|2,{109,117,0}}, +/* 42708 */ {(12<<2)|2,{109,117,0}}, +/* 42709 */ {(12<<2)|2,{109,117,0}}, +/* 42710 */ {(12<<2)|2,{109,117,0}}, +/* 42711 */ {(12<<2)|2,{109,117,0}}, +/* 42712 */ {(12<<2)|2,{109,117,0}}, +/* 42713 */ {(12<<2)|2,{109,117,0}}, +/* 42714 */ {(12<<2)|2,{109,117,0}}, +/* 42715 */ {(12<<2)|2,{109,117,0}}, +/* 42716 */ {(12<<2)|2,{109,117,0}}, +/* 42717 */ {(12<<2)|2,{109,117,0}}, +/* 42718 */ {(12<<2)|2,{109,117,0}}, +/* 42719 */ {(12<<2)|2,{109,117,0}}, +/* 42720 */ {(13<<2)|2,{109,58,0}}, +/* 42721 */ {(13<<2)|2,{109,58,0}}, +/* 42722 */ {(13<<2)|2,{109,58,0}}, +/* 42723 */ {(13<<2)|2,{109,58,0}}, +/* 42724 */ {(13<<2)|2,{109,58,0}}, +/* 42725 */ {(13<<2)|2,{109,58,0}}, +/* 42726 */ {(13<<2)|2,{109,58,0}}, +/* 42727 */ {(13<<2)|2,{109,58,0}}, +/* 42728 */ {(13<<2)|2,{109,66,0}}, +/* 42729 */ {(13<<2)|2,{109,66,0}}, +/* 42730 */ {(13<<2)|2,{109,66,0}}, +/* 42731 */ {(13<<2)|2,{109,66,0}}, +/* 42732 */ {(13<<2)|2,{109,66,0}}, +/* 42733 */ {(13<<2)|2,{109,66,0}}, +/* 42734 */ {(13<<2)|2,{109,66,0}}, +/* 42735 */ {(13<<2)|2,{109,66,0}}, +/* 42736 */ {(13<<2)|2,{109,67,0}}, +/* 42737 */ {(13<<2)|2,{109,67,0}}, +/* 42738 */ {(13<<2)|2,{109,67,0}}, +/* 42739 */ {(13<<2)|2,{109,67,0}}, +/* 42740 */ {(13<<2)|2,{109,67,0}}, +/* 42741 */ {(13<<2)|2,{109,67,0}}, +/* 42742 */ {(13<<2)|2,{109,67,0}}, +/* 42743 */ {(13<<2)|2,{109,67,0}}, +/* 42744 */ {(13<<2)|2,{109,68,0}}, +/* 42745 */ {(13<<2)|2,{109,68,0}}, +/* 42746 */ {(13<<2)|2,{109,68,0}}, +/* 42747 */ {(13<<2)|2,{109,68,0}}, +/* 42748 */ {(13<<2)|2,{109,68,0}}, +/* 42749 */ {(13<<2)|2,{109,68,0}}, +/* 42750 */ {(13<<2)|2,{109,68,0}}, +/* 42751 */ {(13<<2)|2,{109,68,0}}, +/* 42752 */ {(13<<2)|2,{109,69,0}}, +/* 42753 */ {(13<<2)|2,{109,69,0}}, +/* 42754 */ {(13<<2)|2,{109,69,0}}, +/* 42755 */ {(13<<2)|2,{109,69,0}}, +/* 42756 */ {(13<<2)|2,{109,69,0}}, +/* 42757 */ {(13<<2)|2,{109,69,0}}, +/* 42758 */ {(13<<2)|2,{109,69,0}}, +/* 42759 */ {(13<<2)|2,{109,69,0}}, +/* 42760 */ {(13<<2)|2,{109,70,0}}, +/* 42761 */ {(13<<2)|2,{109,70,0}}, +/* 42762 */ {(13<<2)|2,{109,70,0}}, +/* 42763 */ {(13<<2)|2,{109,70,0}}, +/* 42764 */ {(13<<2)|2,{109,70,0}}, +/* 42765 */ {(13<<2)|2,{109,70,0}}, +/* 42766 */ {(13<<2)|2,{109,70,0}}, +/* 42767 */ {(13<<2)|2,{109,70,0}}, +/* 42768 */ {(13<<2)|2,{109,71,0}}, +/* 42769 */ {(13<<2)|2,{109,71,0}}, +/* 42770 */ {(13<<2)|2,{109,71,0}}, +/* 42771 */ {(13<<2)|2,{109,71,0}}, +/* 42772 */ {(13<<2)|2,{109,71,0}}, +/* 42773 */ {(13<<2)|2,{109,71,0}}, +/* 42774 */ {(13<<2)|2,{109,71,0}}, +/* 42775 */ {(13<<2)|2,{109,71,0}}, +/* 42776 */ {(13<<2)|2,{109,72,0}}, +/* 42777 */ {(13<<2)|2,{109,72,0}}, +/* 42778 */ {(13<<2)|2,{109,72,0}}, +/* 42779 */ {(13<<2)|2,{109,72,0}}, +/* 42780 */ {(13<<2)|2,{109,72,0}}, +/* 42781 */ {(13<<2)|2,{109,72,0}}, +/* 42782 */ {(13<<2)|2,{109,72,0}}, +/* 42783 */ {(13<<2)|2,{109,72,0}}, +/* 42784 */ {(13<<2)|2,{109,73,0}}, +/* 42785 */ {(13<<2)|2,{109,73,0}}, +/* 42786 */ {(13<<2)|2,{109,73,0}}, +/* 42787 */ {(13<<2)|2,{109,73,0}}, +/* 42788 */ {(13<<2)|2,{109,73,0}}, +/* 42789 */ {(13<<2)|2,{109,73,0}}, +/* 42790 */ {(13<<2)|2,{109,73,0}}, +/* 42791 */ {(13<<2)|2,{109,73,0}}, +/* 42792 */ {(13<<2)|2,{109,74,0}}, +/* 42793 */ {(13<<2)|2,{109,74,0}}, +/* 42794 */ {(13<<2)|2,{109,74,0}}, +/* 42795 */ {(13<<2)|2,{109,74,0}}, +/* 42796 */ {(13<<2)|2,{109,74,0}}, +/* 42797 */ {(13<<2)|2,{109,74,0}}, +/* 42798 */ {(13<<2)|2,{109,74,0}}, +/* 42799 */ {(13<<2)|2,{109,74,0}}, +/* 42800 */ {(13<<2)|2,{109,75,0}}, +/* 42801 */ {(13<<2)|2,{109,75,0}}, +/* 42802 */ {(13<<2)|2,{109,75,0}}, +/* 42803 */ {(13<<2)|2,{109,75,0}}, +/* 42804 */ {(13<<2)|2,{109,75,0}}, +/* 42805 */ {(13<<2)|2,{109,75,0}}, +/* 42806 */ {(13<<2)|2,{109,75,0}}, +/* 42807 */ {(13<<2)|2,{109,75,0}}, +/* 42808 */ {(13<<2)|2,{109,76,0}}, +/* 42809 */ {(13<<2)|2,{109,76,0}}, +/* 42810 */ {(13<<2)|2,{109,76,0}}, +/* 42811 */ {(13<<2)|2,{109,76,0}}, +/* 42812 */ {(13<<2)|2,{109,76,0}}, +/* 42813 */ {(13<<2)|2,{109,76,0}}, +/* 42814 */ {(13<<2)|2,{109,76,0}}, +/* 42815 */ {(13<<2)|2,{109,76,0}}, +/* 42816 */ {(13<<2)|2,{109,77,0}}, +/* 42817 */ {(13<<2)|2,{109,77,0}}, +/* 42818 */ {(13<<2)|2,{109,77,0}}, +/* 42819 */ {(13<<2)|2,{109,77,0}}, +/* 42820 */ {(13<<2)|2,{109,77,0}}, +/* 42821 */ {(13<<2)|2,{109,77,0}}, +/* 42822 */ {(13<<2)|2,{109,77,0}}, +/* 42823 */ {(13<<2)|2,{109,77,0}}, +/* 42824 */ {(13<<2)|2,{109,78,0}}, +/* 42825 */ {(13<<2)|2,{109,78,0}}, +/* 42826 */ {(13<<2)|2,{109,78,0}}, +/* 42827 */ {(13<<2)|2,{109,78,0}}, +/* 42828 */ {(13<<2)|2,{109,78,0}}, +/* 42829 */ {(13<<2)|2,{109,78,0}}, +/* 42830 */ {(13<<2)|2,{109,78,0}}, +/* 42831 */ {(13<<2)|2,{109,78,0}}, +/* 42832 */ {(13<<2)|2,{109,79,0}}, +/* 42833 */ {(13<<2)|2,{109,79,0}}, +/* 42834 */ {(13<<2)|2,{109,79,0}}, +/* 42835 */ {(13<<2)|2,{109,79,0}}, +/* 42836 */ {(13<<2)|2,{109,79,0}}, +/* 42837 */ {(13<<2)|2,{109,79,0}}, +/* 42838 */ {(13<<2)|2,{109,79,0}}, +/* 42839 */ {(13<<2)|2,{109,79,0}}, +/* 42840 */ {(13<<2)|2,{109,80,0}}, +/* 42841 */ {(13<<2)|2,{109,80,0}}, +/* 42842 */ {(13<<2)|2,{109,80,0}}, +/* 42843 */ {(13<<2)|2,{109,80,0}}, +/* 42844 */ {(13<<2)|2,{109,80,0}}, +/* 42845 */ {(13<<2)|2,{109,80,0}}, +/* 42846 */ {(13<<2)|2,{109,80,0}}, +/* 42847 */ {(13<<2)|2,{109,80,0}}, +/* 42848 */ {(13<<2)|2,{109,81,0}}, +/* 42849 */ {(13<<2)|2,{109,81,0}}, +/* 42850 */ {(13<<2)|2,{109,81,0}}, +/* 42851 */ {(13<<2)|2,{109,81,0}}, +/* 42852 */ {(13<<2)|2,{109,81,0}}, +/* 42853 */ {(13<<2)|2,{109,81,0}}, +/* 42854 */ {(13<<2)|2,{109,81,0}}, +/* 42855 */ {(13<<2)|2,{109,81,0}}, +/* 42856 */ {(13<<2)|2,{109,82,0}}, +/* 42857 */ {(13<<2)|2,{109,82,0}}, +/* 42858 */ {(13<<2)|2,{109,82,0}}, +/* 42859 */ {(13<<2)|2,{109,82,0}}, +/* 42860 */ {(13<<2)|2,{109,82,0}}, +/* 42861 */ {(13<<2)|2,{109,82,0}}, +/* 42862 */ {(13<<2)|2,{109,82,0}}, +/* 42863 */ {(13<<2)|2,{109,82,0}}, +/* 42864 */ {(13<<2)|2,{109,83,0}}, +/* 42865 */ {(13<<2)|2,{109,83,0}}, +/* 42866 */ {(13<<2)|2,{109,83,0}}, +/* 42867 */ {(13<<2)|2,{109,83,0}}, +/* 42868 */ {(13<<2)|2,{109,83,0}}, +/* 42869 */ {(13<<2)|2,{109,83,0}}, +/* 42870 */ {(13<<2)|2,{109,83,0}}, +/* 42871 */ {(13<<2)|2,{109,83,0}}, +/* 42872 */ {(13<<2)|2,{109,84,0}}, +/* 42873 */ {(13<<2)|2,{109,84,0}}, +/* 42874 */ {(13<<2)|2,{109,84,0}}, +/* 42875 */ {(13<<2)|2,{109,84,0}}, +/* 42876 */ {(13<<2)|2,{109,84,0}}, +/* 42877 */ {(13<<2)|2,{109,84,0}}, +/* 42878 */ {(13<<2)|2,{109,84,0}}, +/* 42879 */ {(13<<2)|2,{109,84,0}}, +/* 42880 */ {(13<<2)|2,{109,85,0}}, +/* 42881 */ {(13<<2)|2,{109,85,0}}, +/* 42882 */ {(13<<2)|2,{109,85,0}}, +/* 42883 */ {(13<<2)|2,{109,85,0}}, +/* 42884 */ {(13<<2)|2,{109,85,0}}, +/* 42885 */ {(13<<2)|2,{109,85,0}}, +/* 42886 */ {(13<<2)|2,{109,85,0}}, +/* 42887 */ {(13<<2)|2,{109,85,0}}, +/* 42888 */ {(13<<2)|2,{109,86,0}}, +/* 42889 */ {(13<<2)|2,{109,86,0}}, +/* 42890 */ {(13<<2)|2,{109,86,0}}, +/* 42891 */ {(13<<2)|2,{109,86,0}}, +/* 42892 */ {(13<<2)|2,{109,86,0}}, +/* 42893 */ {(13<<2)|2,{109,86,0}}, +/* 42894 */ {(13<<2)|2,{109,86,0}}, +/* 42895 */ {(13<<2)|2,{109,86,0}}, +/* 42896 */ {(13<<2)|2,{109,87,0}}, +/* 42897 */ {(13<<2)|2,{109,87,0}}, +/* 42898 */ {(13<<2)|2,{109,87,0}}, +/* 42899 */ {(13<<2)|2,{109,87,0}}, +/* 42900 */ {(13<<2)|2,{109,87,0}}, +/* 42901 */ {(13<<2)|2,{109,87,0}}, +/* 42902 */ {(13<<2)|2,{109,87,0}}, +/* 42903 */ {(13<<2)|2,{109,87,0}}, +/* 42904 */ {(13<<2)|2,{109,89,0}}, +/* 42905 */ {(13<<2)|2,{109,89,0}}, +/* 42906 */ {(13<<2)|2,{109,89,0}}, +/* 42907 */ {(13<<2)|2,{109,89,0}}, +/* 42908 */ {(13<<2)|2,{109,89,0}}, +/* 42909 */ {(13<<2)|2,{109,89,0}}, +/* 42910 */ {(13<<2)|2,{109,89,0}}, +/* 42911 */ {(13<<2)|2,{109,89,0}}, +/* 42912 */ {(13<<2)|2,{109,106,0}}, +/* 42913 */ {(13<<2)|2,{109,106,0}}, +/* 42914 */ {(13<<2)|2,{109,106,0}}, +/* 42915 */ {(13<<2)|2,{109,106,0}}, +/* 42916 */ {(13<<2)|2,{109,106,0}}, +/* 42917 */ {(13<<2)|2,{109,106,0}}, +/* 42918 */ {(13<<2)|2,{109,106,0}}, +/* 42919 */ {(13<<2)|2,{109,106,0}}, +/* 42920 */ {(13<<2)|2,{109,107,0}}, +/* 42921 */ {(13<<2)|2,{109,107,0}}, +/* 42922 */ {(13<<2)|2,{109,107,0}}, +/* 42923 */ {(13<<2)|2,{109,107,0}}, +/* 42924 */ {(13<<2)|2,{109,107,0}}, +/* 42925 */ {(13<<2)|2,{109,107,0}}, +/* 42926 */ {(13<<2)|2,{109,107,0}}, +/* 42927 */ {(13<<2)|2,{109,107,0}}, +/* 42928 */ {(13<<2)|2,{109,113,0}}, +/* 42929 */ {(13<<2)|2,{109,113,0}}, +/* 42930 */ {(13<<2)|2,{109,113,0}}, +/* 42931 */ {(13<<2)|2,{109,113,0}}, +/* 42932 */ {(13<<2)|2,{109,113,0}}, +/* 42933 */ {(13<<2)|2,{109,113,0}}, +/* 42934 */ {(13<<2)|2,{109,113,0}}, +/* 42935 */ {(13<<2)|2,{109,113,0}}, +/* 42936 */ {(13<<2)|2,{109,118,0}}, +/* 42937 */ {(13<<2)|2,{109,118,0}}, +/* 42938 */ {(13<<2)|2,{109,118,0}}, +/* 42939 */ {(13<<2)|2,{109,118,0}}, +/* 42940 */ {(13<<2)|2,{109,118,0}}, +/* 42941 */ {(13<<2)|2,{109,118,0}}, +/* 42942 */ {(13<<2)|2,{109,118,0}}, +/* 42943 */ {(13<<2)|2,{109,118,0}}, +/* 42944 */ {(13<<2)|2,{109,119,0}}, +/* 42945 */ {(13<<2)|2,{109,119,0}}, +/* 42946 */ {(13<<2)|2,{109,119,0}}, +/* 42947 */ {(13<<2)|2,{109,119,0}}, +/* 42948 */ {(13<<2)|2,{109,119,0}}, +/* 42949 */ {(13<<2)|2,{109,119,0}}, +/* 42950 */ {(13<<2)|2,{109,119,0}}, +/* 42951 */ {(13<<2)|2,{109,119,0}}, +/* 42952 */ {(13<<2)|2,{109,120,0}}, +/* 42953 */ {(13<<2)|2,{109,120,0}}, +/* 42954 */ {(13<<2)|2,{109,120,0}}, +/* 42955 */ {(13<<2)|2,{109,120,0}}, +/* 42956 */ {(13<<2)|2,{109,120,0}}, +/* 42957 */ {(13<<2)|2,{109,120,0}}, +/* 42958 */ {(13<<2)|2,{109,120,0}}, +/* 42959 */ {(13<<2)|2,{109,120,0}}, +/* 42960 */ {(13<<2)|2,{109,121,0}}, +/* 42961 */ {(13<<2)|2,{109,121,0}}, +/* 42962 */ {(13<<2)|2,{109,121,0}}, +/* 42963 */ {(13<<2)|2,{109,121,0}}, +/* 42964 */ {(13<<2)|2,{109,121,0}}, +/* 42965 */ {(13<<2)|2,{109,121,0}}, +/* 42966 */ {(13<<2)|2,{109,121,0}}, +/* 42967 */ {(13<<2)|2,{109,121,0}}, +/* 42968 */ {(13<<2)|2,{109,122,0}}, +/* 42969 */ {(13<<2)|2,{109,122,0}}, +/* 42970 */ {(13<<2)|2,{109,122,0}}, +/* 42971 */ {(13<<2)|2,{109,122,0}}, +/* 42972 */ {(13<<2)|2,{109,122,0}}, +/* 42973 */ {(13<<2)|2,{109,122,0}}, +/* 42974 */ {(13<<2)|2,{109,122,0}}, +/* 42975 */ {(13<<2)|2,{109,122,0}}, +/* 42976 */ {(14<<2)|2,{109,38,0}}, +/* 42977 */ {(14<<2)|2,{109,38,0}}, +/* 42978 */ {(14<<2)|2,{109,38,0}}, +/* 42979 */ {(14<<2)|2,{109,38,0}}, +/* 42980 */ {(14<<2)|2,{109,42,0}}, +/* 42981 */ {(14<<2)|2,{109,42,0}}, +/* 42982 */ {(14<<2)|2,{109,42,0}}, +/* 42983 */ {(14<<2)|2,{109,42,0}}, +/* 42984 */ {(14<<2)|2,{109,44,0}}, +/* 42985 */ {(14<<2)|2,{109,44,0}}, +/* 42986 */ {(14<<2)|2,{109,44,0}}, +/* 42987 */ {(14<<2)|2,{109,44,0}}, +/* 42988 */ {(14<<2)|2,{109,59,0}}, +/* 42989 */ {(14<<2)|2,{109,59,0}}, +/* 42990 */ {(14<<2)|2,{109,59,0}}, +/* 42991 */ {(14<<2)|2,{109,59,0}}, +/* 42992 */ {(14<<2)|2,{109,88,0}}, +/* 42993 */ {(14<<2)|2,{109,88,0}}, +/* 42994 */ {(14<<2)|2,{109,88,0}}, +/* 42995 */ {(14<<2)|2,{109,88,0}}, +/* 42996 */ {(14<<2)|2,{109,90,0}}, +/* 42997 */ {(14<<2)|2,{109,90,0}}, +/* 42998 */ {(14<<2)|2,{109,90,0}}, +/* 42999 */ {(14<<2)|2,{109,90,0}}, +/* 43000 */ {(16<<2)|2,{109,33,0}}, +/* 43001 */ {(16<<2)|2,{109,34,0}}, +/* 43002 */ {(16<<2)|2,{109,40,0}}, +/* 43003 */ {(16<<2)|2,{109,41,0}}, +/* 43004 */ {(16<<2)|2,{109,63,0}}, +/* 43005 */ {(6<<2)|1,{109,0,0}}, +/* 43006 */ {(6<<2)|1,{109,0,0}}, +/* 43007 */ {(6<<2)|1,{109,0,0}}, +/* 43008 */ {(16<<2)|3,{110,48,48}}, +/* 43009 */ {(16<<2)|3,{110,48,49}}, +/* 43010 */ {(16<<2)|3,{110,48,50}}, +/* 43011 */ {(16<<2)|3,{110,48,97}}, +/* 43012 */ {(16<<2)|3,{110,48,99}}, +/* 43013 */ {(16<<2)|3,{110,48,101}}, +/* 43014 */ {(16<<2)|3,{110,48,105}}, +/* 43015 */ {(16<<2)|3,{110,48,111}}, +/* 43016 */ {(16<<2)|3,{110,48,115}}, +/* 43017 */ {(16<<2)|3,{110,48,116}}, +/* 43018 */ {(11<<2)|2,{110,48,0}}, +/* 43019 */ {(11<<2)|2,{110,48,0}}, +/* 43020 */ {(11<<2)|2,{110,48,0}}, +/* 43021 */ {(11<<2)|2,{110,48,0}}, +/* 43022 */ {(11<<2)|2,{110,48,0}}, +/* 43023 */ {(11<<2)|2,{110,48,0}}, +/* 43024 */ {(11<<2)|2,{110,48,0}}, +/* 43025 */ {(11<<2)|2,{110,48,0}}, +/* 43026 */ {(11<<2)|2,{110,48,0}}, +/* 43027 */ {(11<<2)|2,{110,48,0}}, +/* 43028 */ {(11<<2)|2,{110,48,0}}, +/* 43029 */ {(11<<2)|2,{110,48,0}}, +/* 43030 */ {(11<<2)|2,{110,48,0}}, +/* 43031 */ {(11<<2)|2,{110,48,0}}, +/* 43032 */ {(11<<2)|2,{110,48,0}}, +/* 43033 */ {(11<<2)|2,{110,48,0}}, +/* 43034 */ {(11<<2)|2,{110,48,0}}, +/* 43035 */ {(11<<2)|2,{110,48,0}}, +/* 43036 */ {(11<<2)|2,{110,48,0}}, +/* 43037 */ {(11<<2)|2,{110,48,0}}, +/* 43038 */ {(11<<2)|2,{110,48,0}}, +/* 43039 */ {(11<<2)|2,{110,48,0}}, +/* 43040 */ {(16<<2)|3,{110,49,48}}, +/* 43041 */ {(16<<2)|3,{110,49,49}}, +/* 43042 */ {(16<<2)|3,{110,49,50}}, +/* 43043 */ {(16<<2)|3,{110,49,97}}, +/* 43044 */ {(16<<2)|3,{110,49,99}}, +/* 43045 */ {(16<<2)|3,{110,49,101}}, +/* 43046 */ {(16<<2)|3,{110,49,105}}, +/* 43047 */ {(16<<2)|3,{110,49,111}}, +/* 43048 */ {(16<<2)|3,{110,49,115}}, +/* 43049 */ {(16<<2)|3,{110,49,116}}, +/* 43050 */ {(11<<2)|2,{110,49,0}}, +/* 43051 */ {(11<<2)|2,{110,49,0}}, +/* 43052 */ {(11<<2)|2,{110,49,0}}, +/* 43053 */ {(11<<2)|2,{110,49,0}}, +/* 43054 */ {(11<<2)|2,{110,49,0}}, +/* 43055 */ {(11<<2)|2,{110,49,0}}, +/* 43056 */ {(11<<2)|2,{110,49,0}}, +/* 43057 */ {(11<<2)|2,{110,49,0}}, +/* 43058 */ {(11<<2)|2,{110,49,0}}, +/* 43059 */ {(11<<2)|2,{110,49,0}}, +/* 43060 */ {(11<<2)|2,{110,49,0}}, +/* 43061 */ {(11<<2)|2,{110,49,0}}, +/* 43062 */ {(11<<2)|2,{110,49,0}}, +/* 43063 */ {(11<<2)|2,{110,49,0}}, +/* 43064 */ {(11<<2)|2,{110,49,0}}, +/* 43065 */ {(11<<2)|2,{110,49,0}}, +/* 43066 */ {(11<<2)|2,{110,49,0}}, +/* 43067 */ {(11<<2)|2,{110,49,0}}, +/* 43068 */ {(11<<2)|2,{110,49,0}}, +/* 43069 */ {(11<<2)|2,{110,49,0}}, +/* 43070 */ {(11<<2)|2,{110,49,0}}, +/* 43071 */ {(11<<2)|2,{110,49,0}}, +/* 43072 */ {(16<<2)|3,{110,50,48}}, +/* 43073 */ {(16<<2)|3,{110,50,49}}, +/* 43074 */ {(16<<2)|3,{110,50,50}}, +/* 43075 */ {(16<<2)|3,{110,50,97}}, +/* 43076 */ {(16<<2)|3,{110,50,99}}, +/* 43077 */ {(16<<2)|3,{110,50,101}}, +/* 43078 */ {(16<<2)|3,{110,50,105}}, +/* 43079 */ {(16<<2)|3,{110,50,111}}, +/* 43080 */ {(16<<2)|3,{110,50,115}}, +/* 43081 */ {(16<<2)|3,{110,50,116}}, +/* 43082 */ {(11<<2)|2,{110,50,0}}, +/* 43083 */ {(11<<2)|2,{110,50,0}}, +/* 43084 */ {(11<<2)|2,{110,50,0}}, +/* 43085 */ {(11<<2)|2,{110,50,0}}, +/* 43086 */ {(11<<2)|2,{110,50,0}}, +/* 43087 */ {(11<<2)|2,{110,50,0}}, +/* 43088 */ {(11<<2)|2,{110,50,0}}, +/* 43089 */ {(11<<2)|2,{110,50,0}}, +/* 43090 */ {(11<<2)|2,{110,50,0}}, +/* 43091 */ {(11<<2)|2,{110,50,0}}, +/* 43092 */ {(11<<2)|2,{110,50,0}}, +/* 43093 */ {(11<<2)|2,{110,50,0}}, +/* 43094 */ {(11<<2)|2,{110,50,0}}, +/* 43095 */ {(11<<2)|2,{110,50,0}}, +/* 43096 */ {(11<<2)|2,{110,50,0}}, +/* 43097 */ {(11<<2)|2,{110,50,0}}, +/* 43098 */ {(11<<2)|2,{110,50,0}}, +/* 43099 */ {(11<<2)|2,{110,50,0}}, +/* 43100 */ {(11<<2)|2,{110,50,0}}, +/* 43101 */ {(11<<2)|2,{110,50,0}}, +/* 43102 */ {(11<<2)|2,{110,50,0}}, +/* 43103 */ {(11<<2)|2,{110,50,0}}, +/* 43104 */ {(16<<2)|3,{110,97,48}}, +/* 43105 */ {(16<<2)|3,{110,97,49}}, +/* 43106 */ {(16<<2)|3,{110,97,50}}, +/* 43107 */ {(16<<2)|3,{110,97,97}}, +/* 43108 */ {(16<<2)|3,{110,97,99}}, +/* 43109 */ {(16<<2)|3,{110,97,101}}, +/* 43110 */ {(16<<2)|3,{110,97,105}}, +/* 43111 */ {(16<<2)|3,{110,97,111}}, +/* 43112 */ {(16<<2)|3,{110,97,115}}, +/* 43113 */ {(16<<2)|3,{110,97,116}}, +/* 43114 */ {(11<<2)|2,{110,97,0}}, +/* 43115 */ {(11<<2)|2,{110,97,0}}, +/* 43116 */ {(11<<2)|2,{110,97,0}}, +/* 43117 */ {(11<<2)|2,{110,97,0}}, +/* 43118 */ {(11<<2)|2,{110,97,0}}, +/* 43119 */ {(11<<2)|2,{110,97,0}}, +/* 43120 */ {(11<<2)|2,{110,97,0}}, +/* 43121 */ {(11<<2)|2,{110,97,0}}, +/* 43122 */ {(11<<2)|2,{110,97,0}}, +/* 43123 */ {(11<<2)|2,{110,97,0}}, +/* 43124 */ {(11<<2)|2,{110,97,0}}, +/* 43125 */ {(11<<2)|2,{110,97,0}}, +/* 43126 */ {(11<<2)|2,{110,97,0}}, +/* 43127 */ {(11<<2)|2,{110,97,0}}, +/* 43128 */ {(11<<2)|2,{110,97,0}}, +/* 43129 */ {(11<<2)|2,{110,97,0}}, +/* 43130 */ {(11<<2)|2,{110,97,0}}, +/* 43131 */ {(11<<2)|2,{110,97,0}}, +/* 43132 */ {(11<<2)|2,{110,97,0}}, +/* 43133 */ {(11<<2)|2,{110,97,0}}, +/* 43134 */ {(11<<2)|2,{110,97,0}}, +/* 43135 */ {(11<<2)|2,{110,97,0}}, +/* 43136 */ {(16<<2)|3,{110,99,48}}, +/* 43137 */ {(16<<2)|3,{110,99,49}}, +/* 43138 */ {(16<<2)|3,{110,99,50}}, +/* 43139 */ {(16<<2)|3,{110,99,97}}, +/* 43140 */ {(16<<2)|3,{110,99,99}}, +/* 43141 */ {(16<<2)|3,{110,99,101}}, +/* 43142 */ {(16<<2)|3,{110,99,105}}, +/* 43143 */ {(16<<2)|3,{110,99,111}}, +/* 43144 */ {(16<<2)|3,{110,99,115}}, +/* 43145 */ {(16<<2)|3,{110,99,116}}, +/* 43146 */ {(11<<2)|2,{110,99,0}}, +/* 43147 */ {(11<<2)|2,{110,99,0}}, +/* 43148 */ {(11<<2)|2,{110,99,0}}, +/* 43149 */ {(11<<2)|2,{110,99,0}}, +/* 43150 */ {(11<<2)|2,{110,99,0}}, +/* 43151 */ {(11<<2)|2,{110,99,0}}, +/* 43152 */ {(11<<2)|2,{110,99,0}}, +/* 43153 */ {(11<<2)|2,{110,99,0}}, +/* 43154 */ {(11<<2)|2,{110,99,0}}, +/* 43155 */ {(11<<2)|2,{110,99,0}}, +/* 43156 */ {(11<<2)|2,{110,99,0}}, +/* 43157 */ {(11<<2)|2,{110,99,0}}, +/* 43158 */ {(11<<2)|2,{110,99,0}}, +/* 43159 */ {(11<<2)|2,{110,99,0}}, +/* 43160 */ {(11<<2)|2,{110,99,0}}, +/* 43161 */ {(11<<2)|2,{110,99,0}}, +/* 43162 */ {(11<<2)|2,{110,99,0}}, +/* 43163 */ {(11<<2)|2,{110,99,0}}, +/* 43164 */ {(11<<2)|2,{110,99,0}}, +/* 43165 */ {(11<<2)|2,{110,99,0}}, +/* 43166 */ {(11<<2)|2,{110,99,0}}, +/* 43167 */ {(11<<2)|2,{110,99,0}}, +/* 43168 */ {(16<<2)|3,{110,101,48}}, +/* 43169 */ {(16<<2)|3,{110,101,49}}, +/* 43170 */ {(16<<2)|3,{110,101,50}}, +/* 43171 */ {(16<<2)|3,{110,101,97}}, +/* 43172 */ {(16<<2)|3,{110,101,99}}, +/* 43173 */ {(16<<2)|3,{110,101,101}}, +/* 43174 */ {(16<<2)|3,{110,101,105}}, +/* 43175 */ {(16<<2)|3,{110,101,111}}, +/* 43176 */ {(16<<2)|3,{110,101,115}}, +/* 43177 */ {(16<<2)|3,{110,101,116}}, +/* 43178 */ {(11<<2)|2,{110,101,0}}, +/* 43179 */ {(11<<2)|2,{110,101,0}}, +/* 43180 */ {(11<<2)|2,{110,101,0}}, +/* 43181 */ {(11<<2)|2,{110,101,0}}, +/* 43182 */ {(11<<2)|2,{110,101,0}}, +/* 43183 */ {(11<<2)|2,{110,101,0}}, +/* 43184 */ {(11<<2)|2,{110,101,0}}, +/* 43185 */ {(11<<2)|2,{110,101,0}}, +/* 43186 */ {(11<<2)|2,{110,101,0}}, +/* 43187 */ {(11<<2)|2,{110,101,0}}, +/* 43188 */ {(11<<2)|2,{110,101,0}}, +/* 43189 */ {(11<<2)|2,{110,101,0}}, +/* 43190 */ {(11<<2)|2,{110,101,0}}, +/* 43191 */ {(11<<2)|2,{110,101,0}}, +/* 43192 */ {(11<<2)|2,{110,101,0}}, +/* 43193 */ {(11<<2)|2,{110,101,0}}, +/* 43194 */ {(11<<2)|2,{110,101,0}}, +/* 43195 */ {(11<<2)|2,{110,101,0}}, +/* 43196 */ {(11<<2)|2,{110,101,0}}, +/* 43197 */ {(11<<2)|2,{110,101,0}}, +/* 43198 */ {(11<<2)|2,{110,101,0}}, +/* 43199 */ {(11<<2)|2,{110,101,0}}, +/* 43200 */ {(16<<2)|3,{110,105,48}}, +/* 43201 */ {(16<<2)|3,{110,105,49}}, +/* 43202 */ {(16<<2)|3,{110,105,50}}, +/* 43203 */ {(16<<2)|3,{110,105,97}}, +/* 43204 */ {(16<<2)|3,{110,105,99}}, +/* 43205 */ {(16<<2)|3,{110,105,101}}, +/* 43206 */ {(16<<2)|3,{110,105,105}}, +/* 43207 */ {(16<<2)|3,{110,105,111}}, +/* 43208 */ {(16<<2)|3,{110,105,115}}, +/* 43209 */ {(16<<2)|3,{110,105,116}}, +/* 43210 */ {(11<<2)|2,{110,105,0}}, +/* 43211 */ {(11<<2)|2,{110,105,0}}, +/* 43212 */ {(11<<2)|2,{110,105,0}}, +/* 43213 */ {(11<<2)|2,{110,105,0}}, +/* 43214 */ {(11<<2)|2,{110,105,0}}, +/* 43215 */ {(11<<2)|2,{110,105,0}}, +/* 43216 */ {(11<<2)|2,{110,105,0}}, +/* 43217 */ {(11<<2)|2,{110,105,0}}, +/* 43218 */ {(11<<2)|2,{110,105,0}}, +/* 43219 */ {(11<<2)|2,{110,105,0}}, +/* 43220 */ {(11<<2)|2,{110,105,0}}, +/* 43221 */ {(11<<2)|2,{110,105,0}}, +/* 43222 */ {(11<<2)|2,{110,105,0}}, +/* 43223 */ {(11<<2)|2,{110,105,0}}, +/* 43224 */ {(11<<2)|2,{110,105,0}}, +/* 43225 */ {(11<<2)|2,{110,105,0}}, +/* 43226 */ {(11<<2)|2,{110,105,0}}, +/* 43227 */ {(11<<2)|2,{110,105,0}}, +/* 43228 */ {(11<<2)|2,{110,105,0}}, +/* 43229 */ {(11<<2)|2,{110,105,0}}, +/* 43230 */ {(11<<2)|2,{110,105,0}}, +/* 43231 */ {(11<<2)|2,{110,105,0}}, +/* 43232 */ {(16<<2)|3,{110,111,48}}, +/* 43233 */ {(16<<2)|3,{110,111,49}}, +/* 43234 */ {(16<<2)|3,{110,111,50}}, +/* 43235 */ {(16<<2)|3,{110,111,97}}, +/* 43236 */ {(16<<2)|3,{110,111,99}}, +/* 43237 */ {(16<<2)|3,{110,111,101}}, +/* 43238 */ {(16<<2)|3,{110,111,105}}, +/* 43239 */ {(16<<2)|3,{110,111,111}}, +/* 43240 */ {(16<<2)|3,{110,111,115}}, +/* 43241 */ {(16<<2)|3,{110,111,116}}, +/* 43242 */ {(11<<2)|2,{110,111,0}}, +/* 43243 */ {(11<<2)|2,{110,111,0}}, +/* 43244 */ {(11<<2)|2,{110,111,0}}, +/* 43245 */ {(11<<2)|2,{110,111,0}}, +/* 43246 */ {(11<<2)|2,{110,111,0}}, +/* 43247 */ {(11<<2)|2,{110,111,0}}, +/* 43248 */ {(11<<2)|2,{110,111,0}}, +/* 43249 */ {(11<<2)|2,{110,111,0}}, +/* 43250 */ {(11<<2)|2,{110,111,0}}, +/* 43251 */ {(11<<2)|2,{110,111,0}}, +/* 43252 */ {(11<<2)|2,{110,111,0}}, +/* 43253 */ {(11<<2)|2,{110,111,0}}, +/* 43254 */ {(11<<2)|2,{110,111,0}}, +/* 43255 */ {(11<<2)|2,{110,111,0}}, +/* 43256 */ {(11<<2)|2,{110,111,0}}, +/* 43257 */ {(11<<2)|2,{110,111,0}}, +/* 43258 */ {(11<<2)|2,{110,111,0}}, +/* 43259 */ {(11<<2)|2,{110,111,0}}, +/* 43260 */ {(11<<2)|2,{110,111,0}}, +/* 43261 */ {(11<<2)|2,{110,111,0}}, +/* 43262 */ {(11<<2)|2,{110,111,0}}, +/* 43263 */ {(11<<2)|2,{110,111,0}}, +/* 43264 */ {(16<<2)|3,{110,115,48}}, +/* 43265 */ {(16<<2)|3,{110,115,49}}, +/* 43266 */ {(16<<2)|3,{110,115,50}}, +/* 43267 */ {(16<<2)|3,{110,115,97}}, +/* 43268 */ {(16<<2)|3,{110,115,99}}, +/* 43269 */ {(16<<2)|3,{110,115,101}}, +/* 43270 */ {(16<<2)|3,{110,115,105}}, +/* 43271 */ {(16<<2)|3,{110,115,111}}, +/* 43272 */ {(16<<2)|3,{110,115,115}}, +/* 43273 */ {(16<<2)|3,{110,115,116}}, +/* 43274 */ {(11<<2)|2,{110,115,0}}, +/* 43275 */ {(11<<2)|2,{110,115,0}}, +/* 43276 */ {(11<<2)|2,{110,115,0}}, +/* 43277 */ {(11<<2)|2,{110,115,0}}, +/* 43278 */ {(11<<2)|2,{110,115,0}}, +/* 43279 */ {(11<<2)|2,{110,115,0}}, +/* 43280 */ {(11<<2)|2,{110,115,0}}, +/* 43281 */ {(11<<2)|2,{110,115,0}}, +/* 43282 */ {(11<<2)|2,{110,115,0}}, +/* 43283 */ {(11<<2)|2,{110,115,0}}, +/* 43284 */ {(11<<2)|2,{110,115,0}}, +/* 43285 */ {(11<<2)|2,{110,115,0}}, +/* 43286 */ {(11<<2)|2,{110,115,0}}, +/* 43287 */ {(11<<2)|2,{110,115,0}}, +/* 43288 */ {(11<<2)|2,{110,115,0}}, +/* 43289 */ {(11<<2)|2,{110,115,0}}, +/* 43290 */ {(11<<2)|2,{110,115,0}}, +/* 43291 */ {(11<<2)|2,{110,115,0}}, +/* 43292 */ {(11<<2)|2,{110,115,0}}, +/* 43293 */ {(11<<2)|2,{110,115,0}}, +/* 43294 */ {(11<<2)|2,{110,115,0}}, +/* 43295 */ {(11<<2)|2,{110,115,0}}, +/* 43296 */ {(16<<2)|3,{110,116,48}}, +/* 43297 */ {(16<<2)|3,{110,116,49}}, +/* 43298 */ {(16<<2)|3,{110,116,50}}, +/* 43299 */ {(16<<2)|3,{110,116,97}}, +/* 43300 */ {(16<<2)|3,{110,116,99}}, +/* 43301 */ {(16<<2)|3,{110,116,101}}, +/* 43302 */ {(16<<2)|3,{110,116,105}}, +/* 43303 */ {(16<<2)|3,{110,116,111}}, +/* 43304 */ {(16<<2)|3,{110,116,115}}, +/* 43305 */ {(16<<2)|3,{110,116,116}}, +/* 43306 */ {(11<<2)|2,{110,116,0}}, +/* 43307 */ {(11<<2)|2,{110,116,0}}, +/* 43308 */ {(11<<2)|2,{110,116,0}}, +/* 43309 */ {(11<<2)|2,{110,116,0}}, +/* 43310 */ {(11<<2)|2,{110,116,0}}, +/* 43311 */ {(11<<2)|2,{110,116,0}}, +/* 43312 */ {(11<<2)|2,{110,116,0}}, +/* 43313 */ {(11<<2)|2,{110,116,0}}, +/* 43314 */ {(11<<2)|2,{110,116,0}}, +/* 43315 */ {(11<<2)|2,{110,116,0}}, +/* 43316 */ {(11<<2)|2,{110,116,0}}, +/* 43317 */ {(11<<2)|2,{110,116,0}}, +/* 43318 */ {(11<<2)|2,{110,116,0}}, +/* 43319 */ {(11<<2)|2,{110,116,0}}, +/* 43320 */ {(11<<2)|2,{110,116,0}}, +/* 43321 */ {(11<<2)|2,{110,116,0}}, +/* 43322 */ {(11<<2)|2,{110,116,0}}, +/* 43323 */ {(11<<2)|2,{110,116,0}}, +/* 43324 */ {(11<<2)|2,{110,116,0}}, +/* 43325 */ {(11<<2)|2,{110,116,0}}, +/* 43326 */ {(11<<2)|2,{110,116,0}}, +/* 43327 */ {(11<<2)|2,{110,116,0}}, +/* 43328 */ {(12<<2)|2,{110,32,0}}, +/* 43329 */ {(12<<2)|2,{110,32,0}}, +/* 43330 */ {(12<<2)|2,{110,32,0}}, +/* 43331 */ {(12<<2)|2,{110,32,0}}, +/* 43332 */ {(12<<2)|2,{110,32,0}}, +/* 43333 */ {(12<<2)|2,{110,32,0}}, +/* 43334 */ {(12<<2)|2,{110,32,0}}, +/* 43335 */ {(12<<2)|2,{110,32,0}}, +/* 43336 */ {(12<<2)|2,{110,32,0}}, +/* 43337 */ {(12<<2)|2,{110,32,0}}, +/* 43338 */ {(12<<2)|2,{110,32,0}}, +/* 43339 */ {(12<<2)|2,{110,32,0}}, +/* 43340 */ {(12<<2)|2,{110,32,0}}, +/* 43341 */ {(12<<2)|2,{110,32,0}}, +/* 43342 */ {(12<<2)|2,{110,32,0}}, +/* 43343 */ {(12<<2)|2,{110,32,0}}, +/* 43344 */ {(12<<2)|2,{110,37,0}}, +/* 43345 */ {(12<<2)|2,{110,37,0}}, +/* 43346 */ {(12<<2)|2,{110,37,0}}, +/* 43347 */ {(12<<2)|2,{110,37,0}}, +/* 43348 */ {(12<<2)|2,{110,37,0}}, +/* 43349 */ {(12<<2)|2,{110,37,0}}, +/* 43350 */ {(12<<2)|2,{110,37,0}}, +/* 43351 */ {(12<<2)|2,{110,37,0}}, +/* 43352 */ {(12<<2)|2,{110,37,0}}, +/* 43353 */ {(12<<2)|2,{110,37,0}}, +/* 43354 */ {(12<<2)|2,{110,37,0}}, +/* 43355 */ {(12<<2)|2,{110,37,0}}, +/* 43356 */ {(12<<2)|2,{110,37,0}}, +/* 43357 */ {(12<<2)|2,{110,37,0}}, +/* 43358 */ {(12<<2)|2,{110,37,0}}, +/* 43359 */ {(12<<2)|2,{110,37,0}}, +/* 43360 */ {(12<<2)|2,{110,45,0}}, +/* 43361 */ {(12<<2)|2,{110,45,0}}, +/* 43362 */ {(12<<2)|2,{110,45,0}}, +/* 43363 */ {(12<<2)|2,{110,45,0}}, +/* 43364 */ {(12<<2)|2,{110,45,0}}, +/* 43365 */ {(12<<2)|2,{110,45,0}}, +/* 43366 */ {(12<<2)|2,{110,45,0}}, +/* 43367 */ {(12<<2)|2,{110,45,0}}, +/* 43368 */ {(12<<2)|2,{110,45,0}}, +/* 43369 */ {(12<<2)|2,{110,45,0}}, +/* 43370 */ {(12<<2)|2,{110,45,0}}, +/* 43371 */ {(12<<2)|2,{110,45,0}}, +/* 43372 */ {(12<<2)|2,{110,45,0}}, +/* 43373 */ {(12<<2)|2,{110,45,0}}, +/* 43374 */ {(12<<2)|2,{110,45,0}}, +/* 43375 */ {(12<<2)|2,{110,45,0}}, +/* 43376 */ {(12<<2)|2,{110,46,0}}, +/* 43377 */ {(12<<2)|2,{110,46,0}}, +/* 43378 */ {(12<<2)|2,{110,46,0}}, +/* 43379 */ {(12<<2)|2,{110,46,0}}, +/* 43380 */ {(12<<2)|2,{110,46,0}}, +/* 43381 */ {(12<<2)|2,{110,46,0}}, +/* 43382 */ {(12<<2)|2,{110,46,0}}, +/* 43383 */ {(12<<2)|2,{110,46,0}}, +/* 43384 */ {(12<<2)|2,{110,46,0}}, +/* 43385 */ {(12<<2)|2,{110,46,0}}, +/* 43386 */ {(12<<2)|2,{110,46,0}}, +/* 43387 */ {(12<<2)|2,{110,46,0}}, +/* 43388 */ {(12<<2)|2,{110,46,0}}, +/* 43389 */ {(12<<2)|2,{110,46,0}}, +/* 43390 */ {(12<<2)|2,{110,46,0}}, +/* 43391 */ {(12<<2)|2,{110,46,0}}, +/* 43392 */ {(12<<2)|2,{110,47,0}}, +/* 43393 */ {(12<<2)|2,{110,47,0}}, +/* 43394 */ {(12<<2)|2,{110,47,0}}, +/* 43395 */ {(12<<2)|2,{110,47,0}}, +/* 43396 */ {(12<<2)|2,{110,47,0}}, +/* 43397 */ {(12<<2)|2,{110,47,0}}, +/* 43398 */ {(12<<2)|2,{110,47,0}}, +/* 43399 */ {(12<<2)|2,{110,47,0}}, +/* 43400 */ {(12<<2)|2,{110,47,0}}, +/* 43401 */ {(12<<2)|2,{110,47,0}}, +/* 43402 */ {(12<<2)|2,{110,47,0}}, +/* 43403 */ {(12<<2)|2,{110,47,0}}, +/* 43404 */ {(12<<2)|2,{110,47,0}}, +/* 43405 */ {(12<<2)|2,{110,47,0}}, +/* 43406 */ {(12<<2)|2,{110,47,0}}, +/* 43407 */ {(12<<2)|2,{110,47,0}}, +/* 43408 */ {(12<<2)|2,{110,51,0}}, +/* 43409 */ {(12<<2)|2,{110,51,0}}, +/* 43410 */ {(12<<2)|2,{110,51,0}}, +/* 43411 */ {(12<<2)|2,{110,51,0}}, +/* 43412 */ {(12<<2)|2,{110,51,0}}, +/* 43413 */ {(12<<2)|2,{110,51,0}}, +/* 43414 */ {(12<<2)|2,{110,51,0}}, +/* 43415 */ {(12<<2)|2,{110,51,0}}, +/* 43416 */ {(12<<2)|2,{110,51,0}}, +/* 43417 */ {(12<<2)|2,{110,51,0}}, +/* 43418 */ {(12<<2)|2,{110,51,0}}, +/* 43419 */ {(12<<2)|2,{110,51,0}}, +/* 43420 */ {(12<<2)|2,{110,51,0}}, +/* 43421 */ {(12<<2)|2,{110,51,0}}, +/* 43422 */ {(12<<2)|2,{110,51,0}}, +/* 43423 */ {(12<<2)|2,{110,51,0}}, +/* 43424 */ {(12<<2)|2,{110,52,0}}, +/* 43425 */ {(12<<2)|2,{110,52,0}}, +/* 43426 */ {(12<<2)|2,{110,52,0}}, +/* 43427 */ {(12<<2)|2,{110,52,0}}, +/* 43428 */ {(12<<2)|2,{110,52,0}}, +/* 43429 */ {(12<<2)|2,{110,52,0}}, +/* 43430 */ {(12<<2)|2,{110,52,0}}, +/* 43431 */ {(12<<2)|2,{110,52,0}}, +/* 43432 */ {(12<<2)|2,{110,52,0}}, +/* 43433 */ {(12<<2)|2,{110,52,0}}, +/* 43434 */ {(12<<2)|2,{110,52,0}}, +/* 43435 */ {(12<<2)|2,{110,52,0}}, +/* 43436 */ {(12<<2)|2,{110,52,0}}, +/* 43437 */ {(12<<2)|2,{110,52,0}}, +/* 43438 */ {(12<<2)|2,{110,52,0}}, +/* 43439 */ {(12<<2)|2,{110,52,0}}, +/* 43440 */ {(12<<2)|2,{110,53,0}}, +/* 43441 */ {(12<<2)|2,{110,53,0}}, +/* 43442 */ {(12<<2)|2,{110,53,0}}, +/* 43443 */ {(12<<2)|2,{110,53,0}}, +/* 43444 */ {(12<<2)|2,{110,53,0}}, +/* 43445 */ {(12<<2)|2,{110,53,0}}, +/* 43446 */ {(12<<2)|2,{110,53,0}}, +/* 43447 */ {(12<<2)|2,{110,53,0}}, +/* 43448 */ {(12<<2)|2,{110,53,0}}, +/* 43449 */ {(12<<2)|2,{110,53,0}}, +/* 43450 */ {(12<<2)|2,{110,53,0}}, +/* 43451 */ {(12<<2)|2,{110,53,0}}, +/* 43452 */ {(12<<2)|2,{110,53,0}}, +/* 43453 */ {(12<<2)|2,{110,53,0}}, +/* 43454 */ {(12<<2)|2,{110,53,0}}, +/* 43455 */ {(12<<2)|2,{110,53,0}}, +/* 43456 */ {(12<<2)|2,{110,54,0}}, +/* 43457 */ {(12<<2)|2,{110,54,0}}, +/* 43458 */ {(12<<2)|2,{110,54,0}}, +/* 43459 */ {(12<<2)|2,{110,54,0}}, +/* 43460 */ {(12<<2)|2,{110,54,0}}, +/* 43461 */ {(12<<2)|2,{110,54,0}}, +/* 43462 */ {(12<<2)|2,{110,54,0}}, +/* 43463 */ {(12<<2)|2,{110,54,0}}, +/* 43464 */ {(12<<2)|2,{110,54,0}}, +/* 43465 */ {(12<<2)|2,{110,54,0}}, +/* 43466 */ {(12<<2)|2,{110,54,0}}, +/* 43467 */ {(12<<2)|2,{110,54,0}}, +/* 43468 */ {(12<<2)|2,{110,54,0}}, +/* 43469 */ {(12<<2)|2,{110,54,0}}, +/* 43470 */ {(12<<2)|2,{110,54,0}}, +/* 43471 */ {(12<<2)|2,{110,54,0}}, +/* 43472 */ {(12<<2)|2,{110,55,0}}, +/* 43473 */ {(12<<2)|2,{110,55,0}}, +/* 43474 */ {(12<<2)|2,{110,55,0}}, +/* 43475 */ {(12<<2)|2,{110,55,0}}, +/* 43476 */ {(12<<2)|2,{110,55,0}}, +/* 43477 */ {(12<<2)|2,{110,55,0}}, +/* 43478 */ {(12<<2)|2,{110,55,0}}, +/* 43479 */ {(12<<2)|2,{110,55,0}}, +/* 43480 */ {(12<<2)|2,{110,55,0}}, +/* 43481 */ {(12<<2)|2,{110,55,0}}, +/* 43482 */ {(12<<2)|2,{110,55,0}}, +/* 43483 */ {(12<<2)|2,{110,55,0}}, +/* 43484 */ {(12<<2)|2,{110,55,0}}, +/* 43485 */ {(12<<2)|2,{110,55,0}}, +/* 43486 */ {(12<<2)|2,{110,55,0}}, +/* 43487 */ {(12<<2)|2,{110,55,0}}, +/* 43488 */ {(12<<2)|2,{110,56,0}}, +/* 43489 */ {(12<<2)|2,{110,56,0}}, +/* 43490 */ {(12<<2)|2,{110,56,0}}, +/* 43491 */ {(12<<2)|2,{110,56,0}}, +/* 43492 */ {(12<<2)|2,{110,56,0}}, +/* 43493 */ {(12<<2)|2,{110,56,0}}, +/* 43494 */ {(12<<2)|2,{110,56,0}}, +/* 43495 */ {(12<<2)|2,{110,56,0}}, +/* 43496 */ {(12<<2)|2,{110,56,0}}, +/* 43497 */ {(12<<2)|2,{110,56,0}}, +/* 43498 */ {(12<<2)|2,{110,56,0}}, +/* 43499 */ {(12<<2)|2,{110,56,0}}, +/* 43500 */ {(12<<2)|2,{110,56,0}}, +/* 43501 */ {(12<<2)|2,{110,56,0}}, +/* 43502 */ {(12<<2)|2,{110,56,0}}, +/* 43503 */ {(12<<2)|2,{110,56,0}}, +/* 43504 */ {(12<<2)|2,{110,57,0}}, +/* 43505 */ {(12<<2)|2,{110,57,0}}, +/* 43506 */ {(12<<2)|2,{110,57,0}}, +/* 43507 */ {(12<<2)|2,{110,57,0}}, +/* 43508 */ {(12<<2)|2,{110,57,0}}, +/* 43509 */ {(12<<2)|2,{110,57,0}}, +/* 43510 */ {(12<<2)|2,{110,57,0}}, +/* 43511 */ {(12<<2)|2,{110,57,0}}, +/* 43512 */ {(12<<2)|2,{110,57,0}}, +/* 43513 */ {(12<<2)|2,{110,57,0}}, +/* 43514 */ {(12<<2)|2,{110,57,0}}, +/* 43515 */ {(12<<2)|2,{110,57,0}}, +/* 43516 */ {(12<<2)|2,{110,57,0}}, +/* 43517 */ {(12<<2)|2,{110,57,0}}, +/* 43518 */ {(12<<2)|2,{110,57,0}}, +/* 43519 */ {(12<<2)|2,{110,57,0}}, +/* 43520 */ {(12<<2)|2,{110,61,0}}, +/* 43521 */ {(12<<2)|2,{110,61,0}}, +/* 43522 */ {(12<<2)|2,{110,61,0}}, +/* 43523 */ {(12<<2)|2,{110,61,0}}, +/* 43524 */ {(12<<2)|2,{110,61,0}}, +/* 43525 */ {(12<<2)|2,{110,61,0}}, +/* 43526 */ {(12<<2)|2,{110,61,0}}, +/* 43527 */ {(12<<2)|2,{110,61,0}}, +/* 43528 */ {(12<<2)|2,{110,61,0}}, +/* 43529 */ {(12<<2)|2,{110,61,0}}, +/* 43530 */ {(12<<2)|2,{110,61,0}}, +/* 43531 */ {(12<<2)|2,{110,61,0}}, +/* 43532 */ {(12<<2)|2,{110,61,0}}, +/* 43533 */ {(12<<2)|2,{110,61,0}}, +/* 43534 */ {(12<<2)|2,{110,61,0}}, +/* 43535 */ {(12<<2)|2,{110,61,0}}, +/* 43536 */ {(12<<2)|2,{110,65,0}}, +/* 43537 */ {(12<<2)|2,{110,65,0}}, +/* 43538 */ {(12<<2)|2,{110,65,0}}, +/* 43539 */ {(12<<2)|2,{110,65,0}}, +/* 43540 */ {(12<<2)|2,{110,65,0}}, +/* 43541 */ {(12<<2)|2,{110,65,0}}, +/* 43542 */ {(12<<2)|2,{110,65,0}}, +/* 43543 */ {(12<<2)|2,{110,65,0}}, +/* 43544 */ {(12<<2)|2,{110,65,0}}, +/* 43545 */ {(12<<2)|2,{110,65,0}}, +/* 43546 */ {(12<<2)|2,{110,65,0}}, +/* 43547 */ {(12<<2)|2,{110,65,0}}, +/* 43548 */ {(12<<2)|2,{110,65,0}}, +/* 43549 */ {(12<<2)|2,{110,65,0}}, +/* 43550 */ {(12<<2)|2,{110,65,0}}, +/* 43551 */ {(12<<2)|2,{110,65,0}}, +/* 43552 */ {(12<<2)|2,{110,95,0}}, +/* 43553 */ {(12<<2)|2,{110,95,0}}, +/* 43554 */ {(12<<2)|2,{110,95,0}}, +/* 43555 */ {(12<<2)|2,{110,95,0}}, +/* 43556 */ {(12<<2)|2,{110,95,0}}, +/* 43557 */ {(12<<2)|2,{110,95,0}}, +/* 43558 */ {(12<<2)|2,{110,95,0}}, +/* 43559 */ {(12<<2)|2,{110,95,0}}, +/* 43560 */ {(12<<2)|2,{110,95,0}}, +/* 43561 */ {(12<<2)|2,{110,95,0}}, +/* 43562 */ {(12<<2)|2,{110,95,0}}, +/* 43563 */ {(12<<2)|2,{110,95,0}}, +/* 43564 */ {(12<<2)|2,{110,95,0}}, +/* 43565 */ {(12<<2)|2,{110,95,0}}, +/* 43566 */ {(12<<2)|2,{110,95,0}}, +/* 43567 */ {(12<<2)|2,{110,95,0}}, +/* 43568 */ {(12<<2)|2,{110,98,0}}, +/* 43569 */ {(12<<2)|2,{110,98,0}}, +/* 43570 */ {(12<<2)|2,{110,98,0}}, +/* 43571 */ {(12<<2)|2,{110,98,0}}, +/* 43572 */ {(12<<2)|2,{110,98,0}}, +/* 43573 */ {(12<<2)|2,{110,98,0}}, +/* 43574 */ {(12<<2)|2,{110,98,0}}, +/* 43575 */ {(12<<2)|2,{110,98,0}}, +/* 43576 */ {(12<<2)|2,{110,98,0}}, +/* 43577 */ {(12<<2)|2,{110,98,0}}, +/* 43578 */ {(12<<2)|2,{110,98,0}}, +/* 43579 */ {(12<<2)|2,{110,98,0}}, +/* 43580 */ {(12<<2)|2,{110,98,0}}, +/* 43581 */ {(12<<2)|2,{110,98,0}}, +/* 43582 */ {(12<<2)|2,{110,98,0}}, +/* 43583 */ {(12<<2)|2,{110,98,0}}, +/* 43584 */ {(12<<2)|2,{110,100,0}}, +/* 43585 */ {(12<<2)|2,{110,100,0}}, +/* 43586 */ {(12<<2)|2,{110,100,0}}, +/* 43587 */ {(12<<2)|2,{110,100,0}}, +/* 43588 */ {(12<<2)|2,{110,100,0}}, +/* 43589 */ {(12<<2)|2,{110,100,0}}, +/* 43590 */ {(12<<2)|2,{110,100,0}}, +/* 43591 */ {(12<<2)|2,{110,100,0}}, +/* 43592 */ {(12<<2)|2,{110,100,0}}, +/* 43593 */ {(12<<2)|2,{110,100,0}}, +/* 43594 */ {(12<<2)|2,{110,100,0}}, +/* 43595 */ {(12<<2)|2,{110,100,0}}, +/* 43596 */ {(12<<2)|2,{110,100,0}}, +/* 43597 */ {(12<<2)|2,{110,100,0}}, +/* 43598 */ {(12<<2)|2,{110,100,0}}, +/* 43599 */ {(12<<2)|2,{110,100,0}}, +/* 43600 */ {(12<<2)|2,{110,102,0}}, +/* 43601 */ {(12<<2)|2,{110,102,0}}, +/* 43602 */ {(12<<2)|2,{110,102,0}}, +/* 43603 */ {(12<<2)|2,{110,102,0}}, +/* 43604 */ {(12<<2)|2,{110,102,0}}, +/* 43605 */ {(12<<2)|2,{110,102,0}}, +/* 43606 */ {(12<<2)|2,{110,102,0}}, +/* 43607 */ {(12<<2)|2,{110,102,0}}, +/* 43608 */ {(12<<2)|2,{110,102,0}}, +/* 43609 */ {(12<<2)|2,{110,102,0}}, +/* 43610 */ {(12<<2)|2,{110,102,0}}, +/* 43611 */ {(12<<2)|2,{110,102,0}}, +/* 43612 */ {(12<<2)|2,{110,102,0}}, +/* 43613 */ {(12<<2)|2,{110,102,0}}, +/* 43614 */ {(12<<2)|2,{110,102,0}}, +/* 43615 */ {(12<<2)|2,{110,102,0}}, +/* 43616 */ {(12<<2)|2,{110,103,0}}, +/* 43617 */ {(12<<2)|2,{110,103,0}}, +/* 43618 */ {(12<<2)|2,{110,103,0}}, +/* 43619 */ {(12<<2)|2,{110,103,0}}, +/* 43620 */ {(12<<2)|2,{110,103,0}}, +/* 43621 */ {(12<<2)|2,{110,103,0}}, +/* 43622 */ {(12<<2)|2,{110,103,0}}, +/* 43623 */ {(12<<2)|2,{110,103,0}}, +/* 43624 */ {(12<<2)|2,{110,103,0}}, +/* 43625 */ {(12<<2)|2,{110,103,0}}, +/* 43626 */ {(12<<2)|2,{110,103,0}}, +/* 43627 */ {(12<<2)|2,{110,103,0}}, +/* 43628 */ {(12<<2)|2,{110,103,0}}, +/* 43629 */ {(12<<2)|2,{110,103,0}}, +/* 43630 */ {(12<<2)|2,{110,103,0}}, +/* 43631 */ {(12<<2)|2,{110,103,0}}, +/* 43632 */ {(12<<2)|2,{110,104,0}}, +/* 43633 */ {(12<<2)|2,{110,104,0}}, +/* 43634 */ {(12<<2)|2,{110,104,0}}, +/* 43635 */ {(12<<2)|2,{110,104,0}}, +/* 43636 */ {(12<<2)|2,{110,104,0}}, +/* 43637 */ {(12<<2)|2,{110,104,0}}, +/* 43638 */ {(12<<2)|2,{110,104,0}}, +/* 43639 */ {(12<<2)|2,{110,104,0}}, +/* 43640 */ {(12<<2)|2,{110,104,0}}, +/* 43641 */ {(12<<2)|2,{110,104,0}}, +/* 43642 */ {(12<<2)|2,{110,104,0}}, +/* 43643 */ {(12<<2)|2,{110,104,0}}, +/* 43644 */ {(12<<2)|2,{110,104,0}}, +/* 43645 */ {(12<<2)|2,{110,104,0}}, +/* 43646 */ {(12<<2)|2,{110,104,0}}, +/* 43647 */ {(12<<2)|2,{110,104,0}}, +/* 43648 */ {(12<<2)|2,{110,108,0}}, +/* 43649 */ {(12<<2)|2,{110,108,0}}, +/* 43650 */ {(12<<2)|2,{110,108,0}}, +/* 43651 */ {(12<<2)|2,{110,108,0}}, +/* 43652 */ {(12<<2)|2,{110,108,0}}, +/* 43653 */ {(12<<2)|2,{110,108,0}}, +/* 43654 */ {(12<<2)|2,{110,108,0}}, +/* 43655 */ {(12<<2)|2,{110,108,0}}, +/* 43656 */ {(12<<2)|2,{110,108,0}}, +/* 43657 */ {(12<<2)|2,{110,108,0}}, +/* 43658 */ {(12<<2)|2,{110,108,0}}, +/* 43659 */ {(12<<2)|2,{110,108,0}}, +/* 43660 */ {(12<<2)|2,{110,108,0}}, +/* 43661 */ {(12<<2)|2,{110,108,0}}, +/* 43662 */ {(12<<2)|2,{110,108,0}}, +/* 43663 */ {(12<<2)|2,{110,108,0}}, +/* 43664 */ {(12<<2)|2,{110,109,0}}, +/* 43665 */ {(12<<2)|2,{110,109,0}}, +/* 43666 */ {(12<<2)|2,{110,109,0}}, +/* 43667 */ {(12<<2)|2,{110,109,0}}, +/* 43668 */ {(12<<2)|2,{110,109,0}}, +/* 43669 */ {(12<<2)|2,{110,109,0}}, +/* 43670 */ {(12<<2)|2,{110,109,0}}, +/* 43671 */ {(12<<2)|2,{110,109,0}}, +/* 43672 */ {(12<<2)|2,{110,109,0}}, +/* 43673 */ {(12<<2)|2,{110,109,0}}, +/* 43674 */ {(12<<2)|2,{110,109,0}}, +/* 43675 */ {(12<<2)|2,{110,109,0}}, +/* 43676 */ {(12<<2)|2,{110,109,0}}, +/* 43677 */ {(12<<2)|2,{110,109,0}}, +/* 43678 */ {(12<<2)|2,{110,109,0}}, +/* 43679 */ {(12<<2)|2,{110,109,0}}, +/* 43680 */ {(12<<2)|2,{110,110,0}}, +/* 43681 */ {(12<<2)|2,{110,110,0}}, +/* 43682 */ {(12<<2)|2,{110,110,0}}, +/* 43683 */ {(12<<2)|2,{110,110,0}}, +/* 43684 */ {(12<<2)|2,{110,110,0}}, +/* 43685 */ {(12<<2)|2,{110,110,0}}, +/* 43686 */ {(12<<2)|2,{110,110,0}}, +/* 43687 */ {(12<<2)|2,{110,110,0}}, +/* 43688 */ {(12<<2)|2,{110,110,0}}, +/* 43689 */ {(12<<2)|2,{110,110,0}}, +/* 43690 */ {(12<<2)|2,{110,110,0}}, +/* 43691 */ {(12<<2)|2,{110,110,0}}, +/* 43692 */ {(12<<2)|2,{110,110,0}}, +/* 43693 */ {(12<<2)|2,{110,110,0}}, +/* 43694 */ {(12<<2)|2,{110,110,0}}, +/* 43695 */ {(12<<2)|2,{110,110,0}}, +/* 43696 */ {(12<<2)|2,{110,112,0}}, +/* 43697 */ {(12<<2)|2,{110,112,0}}, +/* 43698 */ {(12<<2)|2,{110,112,0}}, +/* 43699 */ {(12<<2)|2,{110,112,0}}, +/* 43700 */ {(12<<2)|2,{110,112,0}}, +/* 43701 */ {(12<<2)|2,{110,112,0}}, +/* 43702 */ {(12<<2)|2,{110,112,0}}, +/* 43703 */ {(12<<2)|2,{110,112,0}}, +/* 43704 */ {(12<<2)|2,{110,112,0}}, +/* 43705 */ {(12<<2)|2,{110,112,0}}, +/* 43706 */ {(12<<2)|2,{110,112,0}}, +/* 43707 */ {(12<<2)|2,{110,112,0}}, +/* 43708 */ {(12<<2)|2,{110,112,0}}, +/* 43709 */ {(12<<2)|2,{110,112,0}}, +/* 43710 */ {(12<<2)|2,{110,112,0}}, +/* 43711 */ {(12<<2)|2,{110,112,0}}, +/* 43712 */ {(12<<2)|2,{110,114,0}}, +/* 43713 */ {(12<<2)|2,{110,114,0}}, +/* 43714 */ {(12<<2)|2,{110,114,0}}, +/* 43715 */ {(12<<2)|2,{110,114,0}}, +/* 43716 */ {(12<<2)|2,{110,114,0}}, +/* 43717 */ {(12<<2)|2,{110,114,0}}, +/* 43718 */ {(12<<2)|2,{110,114,0}}, +/* 43719 */ {(12<<2)|2,{110,114,0}}, +/* 43720 */ {(12<<2)|2,{110,114,0}}, +/* 43721 */ {(12<<2)|2,{110,114,0}}, +/* 43722 */ {(12<<2)|2,{110,114,0}}, +/* 43723 */ {(12<<2)|2,{110,114,0}}, +/* 43724 */ {(12<<2)|2,{110,114,0}}, +/* 43725 */ {(12<<2)|2,{110,114,0}}, +/* 43726 */ {(12<<2)|2,{110,114,0}}, +/* 43727 */ {(12<<2)|2,{110,114,0}}, +/* 43728 */ {(12<<2)|2,{110,117,0}}, +/* 43729 */ {(12<<2)|2,{110,117,0}}, +/* 43730 */ {(12<<2)|2,{110,117,0}}, +/* 43731 */ {(12<<2)|2,{110,117,0}}, +/* 43732 */ {(12<<2)|2,{110,117,0}}, +/* 43733 */ {(12<<2)|2,{110,117,0}}, +/* 43734 */ {(12<<2)|2,{110,117,0}}, +/* 43735 */ {(12<<2)|2,{110,117,0}}, +/* 43736 */ {(12<<2)|2,{110,117,0}}, +/* 43737 */ {(12<<2)|2,{110,117,0}}, +/* 43738 */ {(12<<2)|2,{110,117,0}}, +/* 43739 */ {(12<<2)|2,{110,117,0}}, +/* 43740 */ {(12<<2)|2,{110,117,0}}, +/* 43741 */ {(12<<2)|2,{110,117,0}}, +/* 43742 */ {(12<<2)|2,{110,117,0}}, +/* 43743 */ {(12<<2)|2,{110,117,0}}, +/* 43744 */ {(13<<2)|2,{110,58,0}}, +/* 43745 */ {(13<<2)|2,{110,58,0}}, +/* 43746 */ {(13<<2)|2,{110,58,0}}, +/* 43747 */ {(13<<2)|2,{110,58,0}}, +/* 43748 */ {(13<<2)|2,{110,58,0}}, +/* 43749 */ {(13<<2)|2,{110,58,0}}, +/* 43750 */ {(13<<2)|2,{110,58,0}}, +/* 43751 */ {(13<<2)|2,{110,58,0}}, +/* 43752 */ {(13<<2)|2,{110,66,0}}, +/* 43753 */ {(13<<2)|2,{110,66,0}}, +/* 43754 */ {(13<<2)|2,{110,66,0}}, +/* 43755 */ {(13<<2)|2,{110,66,0}}, +/* 43756 */ {(13<<2)|2,{110,66,0}}, +/* 43757 */ {(13<<2)|2,{110,66,0}}, +/* 43758 */ {(13<<2)|2,{110,66,0}}, +/* 43759 */ {(13<<2)|2,{110,66,0}}, +/* 43760 */ {(13<<2)|2,{110,67,0}}, +/* 43761 */ {(13<<2)|2,{110,67,0}}, +/* 43762 */ {(13<<2)|2,{110,67,0}}, +/* 43763 */ {(13<<2)|2,{110,67,0}}, +/* 43764 */ {(13<<2)|2,{110,67,0}}, +/* 43765 */ {(13<<2)|2,{110,67,0}}, +/* 43766 */ {(13<<2)|2,{110,67,0}}, +/* 43767 */ {(13<<2)|2,{110,67,0}}, +/* 43768 */ {(13<<2)|2,{110,68,0}}, +/* 43769 */ {(13<<2)|2,{110,68,0}}, +/* 43770 */ {(13<<2)|2,{110,68,0}}, +/* 43771 */ {(13<<2)|2,{110,68,0}}, +/* 43772 */ {(13<<2)|2,{110,68,0}}, +/* 43773 */ {(13<<2)|2,{110,68,0}}, +/* 43774 */ {(13<<2)|2,{110,68,0}}, +/* 43775 */ {(13<<2)|2,{110,68,0}}, +/* 43776 */ {(13<<2)|2,{110,69,0}}, +/* 43777 */ {(13<<2)|2,{110,69,0}}, +/* 43778 */ {(13<<2)|2,{110,69,0}}, +/* 43779 */ {(13<<2)|2,{110,69,0}}, +/* 43780 */ {(13<<2)|2,{110,69,0}}, +/* 43781 */ {(13<<2)|2,{110,69,0}}, +/* 43782 */ {(13<<2)|2,{110,69,0}}, +/* 43783 */ {(13<<2)|2,{110,69,0}}, +/* 43784 */ {(13<<2)|2,{110,70,0}}, +/* 43785 */ {(13<<2)|2,{110,70,0}}, +/* 43786 */ {(13<<2)|2,{110,70,0}}, +/* 43787 */ {(13<<2)|2,{110,70,0}}, +/* 43788 */ {(13<<2)|2,{110,70,0}}, +/* 43789 */ {(13<<2)|2,{110,70,0}}, +/* 43790 */ {(13<<2)|2,{110,70,0}}, +/* 43791 */ {(13<<2)|2,{110,70,0}}, +/* 43792 */ {(13<<2)|2,{110,71,0}}, +/* 43793 */ {(13<<2)|2,{110,71,0}}, +/* 43794 */ {(13<<2)|2,{110,71,0}}, +/* 43795 */ {(13<<2)|2,{110,71,0}}, +/* 43796 */ {(13<<2)|2,{110,71,0}}, +/* 43797 */ {(13<<2)|2,{110,71,0}}, +/* 43798 */ {(13<<2)|2,{110,71,0}}, +/* 43799 */ {(13<<2)|2,{110,71,0}}, +/* 43800 */ {(13<<2)|2,{110,72,0}}, +/* 43801 */ {(13<<2)|2,{110,72,0}}, +/* 43802 */ {(13<<2)|2,{110,72,0}}, +/* 43803 */ {(13<<2)|2,{110,72,0}}, +/* 43804 */ {(13<<2)|2,{110,72,0}}, +/* 43805 */ {(13<<2)|2,{110,72,0}}, +/* 43806 */ {(13<<2)|2,{110,72,0}}, +/* 43807 */ {(13<<2)|2,{110,72,0}}, +/* 43808 */ {(13<<2)|2,{110,73,0}}, +/* 43809 */ {(13<<2)|2,{110,73,0}}, +/* 43810 */ {(13<<2)|2,{110,73,0}}, +/* 43811 */ {(13<<2)|2,{110,73,0}}, +/* 43812 */ {(13<<2)|2,{110,73,0}}, +/* 43813 */ {(13<<2)|2,{110,73,0}}, +/* 43814 */ {(13<<2)|2,{110,73,0}}, +/* 43815 */ {(13<<2)|2,{110,73,0}}, +/* 43816 */ {(13<<2)|2,{110,74,0}}, +/* 43817 */ {(13<<2)|2,{110,74,0}}, +/* 43818 */ {(13<<2)|2,{110,74,0}}, +/* 43819 */ {(13<<2)|2,{110,74,0}}, +/* 43820 */ {(13<<2)|2,{110,74,0}}, +/* 43821 */ {(13<<2)|2,{110,74,0}}, +/* 43822 */ {(13<<2)|2,{110,74,0}}, +/* 43823 */ {(13<<2)|2,{110,74,0}}, +/* 43824 */ {(13<<2)|2,{110,75,0}}, +/* 43825 */ {(13<<2)|2,{110,75,0}}, +/* 43826 */ {(13<<2)|2,{110,75,0}}, +/* 43827 */ {(13<<2)|2,{110,75,0}}, +/* 43828 */ {(13<<2)|2,{110,75,0}}, +/* 43829 */ {(13<<2)|2,{110,75,0}}, +/* 43830 */ {(13<<2)|2,{110,75,0}}, +/* 43831 */ {(13<<2)|2,{110,75,0}}, +/* 43832 */ {(13<<2)|2,{110,76,0}}, +/* 43833 */ {(13<<2)|2,{110,76,0}}, +/* 43834 */ {(13<<2)|2,{110,76,0}}, +/* 43835 */ {(13<<2)|2,{110,76,0}}, +/* 43836 */ {(13<<2)|2,{110,76,0}}, +/* 43837 */ {(13<<2)|2,{110,76,0}}, +/* 43838 */ {(13<<2)|2,{110,76,0}}, +/* 43839 */ {(13<<2)|2,{110,76,0}}, +/* 43840 */ {(13<<2)|2,{110,77,0}}, +/* 43841 */ {(13<<2)|2,{110,77,0}}, +/* 43842 */ {(13<<2)|2,{110,77,0}}, +/* 43843 */ {(13<<2)|2,{110,77,0}}, +/* 43844 */ {(13<<2)|2,{110,77,0}}, +/* 43845 */ {(13<<2)|2,{110,77,0}}, +/* 43846 */ {(13<<2)|2,{110,77,0}}, +/* 43847 */ {(13<<2)|2,{110,77,0}}, +/* 43848 */ {(13<<2)|2,{110,78,0}}, +/* 43849 */ {(13<<2)|2,{110,78,0}}, +/* 43850 */ {(13<<2)|2,{110,78,0}}, +/* 43851 */ {(13<<2)|2,{110,78,0}}, +/* 43852 */ {(13<<2)|2,{110,78,0}}, +/* 43853 */ {(13<<2)|2,{110,78,0}}, +/* 43854 */ {(13<<2)|2,{110,78,0}}, +/* 43855 */ {(13<<2)|2,{110,78,0}}, +/* 43856 */ {(13<<2)|2,{110,79,0}}, +/* 43857 */ {(13<<2)|2,{110,79,0}}, +/* 43858 */ {(13<<2)|2,{110,79,0}}, +/* 43859 */ {(13<<2)|2,{110,79,0}}, +/* 43860 */ {(13<<2)|2,{110,79,0}}, +/* 43861 */ {(13<<2)|2,{110,79,0}}, +/* 43862 */ {(13<<2)|2,{110,79,0}}, +/* 43863 */ {(13<<2)|2,{110,79,0}}, +/* 43864 */ {(13<<2)|2,{110,80,0}}, +/* 43865 */ {(13<<2)|2,{110,80,0}}, +/* 43866 */ {(13<<2)|2,{110,80,0}}, +/* 43867 */ {(13<<2)|2,{110,80,0}}, +/* 43868 */ {(13<<2)|2,{110,80,0}}, +/* 43869 */ {(13<<2)|2,{110,80,0}}, +/* 43870 */ {(13<<2)|2,{110,80,0}}, +/* 43871 */ {(13<<2)|2,{110,80,0}}, +/* 43872 */ {(13<<2)|2,{110,81,0}}, +/* 43873 */ {(13<<2)|2,{110,81,0}}, +/* 43874 */ {(13<<2)|2,{110,81,0}}, +/* 43875 */ {(13<<2)|2,{110,81,0}}, +/* 43876 */ {(13<<2)|2,{110,81,0}}, +/* 43877 */ {(13<<2)|2,{110,81,0}}, +/* 43878 */ {(13<<2)|2,{110,81,0}}, +/* 43879 */ {(13<<2)|2,{110,81,0}}, +/* 43880 */ {(13<<2)|2,{110,82,0}}, +/* 43881 */ {(13<<2)|2,{110,82,0}}, +/* 43882 */ {(13<<2)|2,{110,82,0}}, +/* 43883 */ {(13<<2)|2,{110,82,0}}, +/* 43884 */ {(13<<2)|2,{110,82,0}}, +/* 43885 */ {(13<<2)|2,{110,82,0}}, +/* 43886 */ {(13<<2)|2,{110,82,0}}, +/* 43887 */ {(13<<2)|2,{110,82,0}}, +/* 43888 */ {(13<<2)|2,{110,83,0}}, +/* 43889 */ {(13<<2)|2,{110,83,0}}, +/* 43890 */ {(13<<2)|2,{110,83,0}}, +/* 43891 */ {(13<<2)|2,{110,83,0}}, +/* 43892 */ {(13<<2)|2,{110,83,0}}, +/* 43893 */ {(13<<2)|2,{110,83,0}}, +/* 43894 */ {(13<<2)|2,{110,83,0}}, +/* 43895 */ {(13<<2)|2,{110,83,0}}, +/* 43896 */ {(13<<2)|2,{110,84,0}}, +/* 43897 */ {(13<<2)|2,{110,84,0}}, +/* 43898 */ {(13<<2)|2,{110,84,0}}, +/* 43899 */ {(13<<2)|2,{110,84,0}}, +/* 43900 */ {(13<<2)|2,{110,84,0}}, +/* 43901 */ {(13<<2)|2,{110,84,0}}, +/* 43902 */ {(13<<2)|2,{110,84,0}}, +/* 43903 */ {(13<<2)|2,{110,84,0}}, +/* 43904 */ {(13<<2)|2,{110,85,0}}, +/* 43905 */ {(13<<2)|2,{110,85,0}}, +/* 43906 */ {(13<<2)|2,{110,85,0}}, +/* 43907 */ {(13<<2)|2,{110,85,0}}, +/* 43908 */ {(13<<2)|2,{110,85,0}}, +/* 43909 */ {(13<<2)|2,{110,85,0}}, +/* 43910 */ {(13<<2)|2,{110,85,0}}, +/* 43911 */ {(13<<2)|2,{110,85,0}}, +/* 43912 */ {(13<<2)|2,{110,86,0}}, +/* 43913 */ {(13<<2)|2,{110,86,0}}, +/* 43914 */ {(13<<2)|2,{110,86,0}}, +/* 43915 */ {(13<<2)|2,{110,86,0}}, +/* 43916 */ {(13<<2)|2,{110,86,0}}, +/* 43917 */ {(13<<2)|2,{110,86,0}}, +/* 43918 */ {(13<<2)|2,{110,86,0}}, +/* 43919 */ {(13<<2)|2,{110,86,0}}, +/* 43920 */ {(13<<2)|2,{110,87,0}}, +/* 43921 */ {(13<<2)|2,{110,87,0}}, +/* 43922 */ {(13<<2)|2,{110,87,0}}, +/* 43923 */ {(13<<2)|2,{110,87,0}}, +/* 43924 */ {(13<<2)|2,{110,87,0}}, +/* 43925 */ {(13<<2)|2,{110,87,0}}, +/* 43926 */ {(13<<2)|2,{110,87,0}}, +/* 43927 */ {(13<<2)|2,{110,87,0}}, +/* 43928 */ {(13<<2)|2,{110,89,0}}, +/* 43929 */ {(13<<2)|2,{110,89,0}}, +/* 43930 */ {(13<<2)|2,{110,89,0}}, +/* 43931 */ {(13<<2)|2,{110,89,0}}, +/* 43932 */ {(13<<2)|2,{110,89,0}}, +/* 43933 */ {(13<<2)|2,{110,89,0}}, +/* 43934 */ {(13<<2)|2,{110,89,0}}, +/* 43935 */ {(13<<2)|2,{110,89,0}}, +/* 43936 */ {(13<<2)|2,{110,106,0}}, +/* 43937 */ {(13<<2)|2,{110,106,0}}, +/* 43938 */ {(13<<2)|2,{110,106,0}}, +/* 43939 */ {(13<<2)|2,{110,106,0}}, +/* 43940 */ {(13<<2)|2,{110,106,0}}, +/* 43941 */ {(13<<2)|2,{110,106,0}}, +/* 43942 */ {(13<<2)|2,{110,106,0}}, +/* 43943 */ {(13<<2)|2,{110,106,0}}, +/* 43944 */ {(13<<2)|2,{110,107,0}}, +/* 43945 */ {(13<<2)|2,{110,107,0}}, +/* 43946 */ {(13<<2)|2,{110,107,0}}, +/* 43947 */ {(13<<2)|2,{110,107,0}}, +/* 43948 */ {(13<<2)|2,{110,107,0}}, +/* 43949 */ {(13<<2)|2,{110,107,0}}, +/* 43950 */ {(13<<2)|2,{110,107,0}}, +/* 43951 */ {(13<<2)|2,{110,107,0}}, +/* 43952 */ {(13<<2)|2,{110,113,0}}, +/* 43953 */ {(13<<2)|2,{110,113,0}}, +/* 43954 */ {(13<<2)|2,{110,113,0}}, +/* 43955 */ {(13<<2)|2,{110,113,0}}, +/* 43956 */ {(13<<2)|2,{110,113,0}}, +/* 43957 */ {(13<<2)|2,{110,113,0}}, +/* 43958 */ {(13<<2)|2,{110,113,0}}, +/* 43959 */ {(13<<2)|2,{110,113,0}}, +/* 43960 */ {(13<<2)|2,{110,118,0}}, +/* 43961 */ {(13<<2)|2,{110,118,0}}, +/* 43962 */ {(13<<2)|2,{110,118,0}}, +/* 43963 */ {(13<<2)|2,{110,118,0}}, +/* 43964 */ {(13<<2)|2,{110,118,0}}, +/* 43965 */ {(13<<2)|2,{110,118,0}}, +/* 43966 */ {(13<<2)|2,{110,118,0}}, +/* 43967 */ {(13<<2)|2,{110,118,0}}, +/* 43968 */ {(13<<2)|2,{110,119,0}}, +/* 43969 */ {(13<<2)|2,{110,119,0}}, +/* 43970 */ {(13<<2)|2,{110,119,0}}, +/* 43971 */ {(13<<2)|2,{110,119,0}}, +/* 43972 */ {(13<<2)|2,{110,119,0}}, +/* 43973 */ {(13<<2)|2,{110,119,0}}, +/* 43974 */ {(13<<2)|2,{110,119,0}}, +/* 43975 */ {(13<<2)|2,{110,119,0}}, +/* 43976 */ {(13<<2)|2,{110,120,0}}, +/* 43977 */ {(13<<2)|2,{110,120,0}}, +/* 43978 */ {(13<<2)|2,{110,120,0}}, +/* 43979 */ {(13<<2)|2,{110,120,0}}, +/* 43980 */ {(13<<2)|2,{110,120,0}}, +/* 43981 */ {(13<<2)|2,{110,120,0}}, +/* 43982 */ {(13<<2)|2,{110,120,0}}, +/* 43983 */ {(13<<2)|2,{110,120,0}}, +/* 43984 */ {(13<<2)|2,{110,121,0}}, +/* 43985 */ {(13<<2)|2,{110,121,0}}, +/* 43986 */ {(13<<2)|2,{110,121,0}}, +/* 43987 */ {(13<<2)|2,{110,121,0}}, +/* 43988 */ {(13<<2)|2,{110,121,0}}, +/* 43989 */ {(13<<2)|2,{110,121,0}}, +/* 43990 */ {(13<<2)|2,{110,121,0}}, +/* 43991 */ {(13<<2)|2,{110,121,0}}, +/* 43992 */ {(13<<2)|2,{110,122,0}}, +/* 43993 */ {(13<<2)|2,{110,122,0}}, +/* 43994 */ {(13<<2)|2,{110,122,0}}, +/* 43995 */ {(13<<2)|2,{110,122,0}}, +/* 43996 */ {(13<<2)|2,{110,122,0}}, +/* 43997 */ {(13<<2)|2,{110,122,0}}, +/* 43998 */ {(13<<2)|2,{110,122,0}}, +/* 43999 */ {(13<<2)|2,{110,122,0}}, +/* 44000 */ {(14<<2)|2,{110,38,0}}, +/* 44001 */ {(14<<2)|2,{110,38,0}}, +/* 44002 */ {(14<<2)|2,{110,38,0}}, +/* 44003 */ {(14<<2)|2,{110,38,0}}, +/* 44004 */ {(14<<2)|2,{110,42,0}}, +/* 44005 */ {(14<<2)|2,{110,42,0}}, +/* 44006 */ {(14<<2)|2,{110,42,0}}, +/* 44007 */ {(14<<2)|2,{110,42,0}}, +/* 44008 */ {(14<<2)|2,{110,44,0}}, +/* 44009 */ {(14<<2)|2,{110,44,0}}, +/* 44010 */ {(14<<2)|2,{110,44,0}}, +/* 44011 */ {(14<<2)|2,{110,44,0}}, +/* 44012 */ {(14<<2)|2,{110,59,0}}, +/* 44013 */ {(14<<2)|2,{110,59,0}}, +/* 44014 */ {(14<<2)|2,{110,59,0}}, +/* 44015 */ {(14<<2)|2,{110,59,0}}, +/* 44016 */ {(14<<2)|2,{110,88,0}}, +/* 44017 */ {(14<<2)|2,{110,88,0}}, +/* 44018 */ {(14<<2)|2,{110,88,0}}, +/* 44019 */ {(14<<2)|2,{110,88,0}}, +/* 44020 */ {(14<<2)|2,{110,90,0}}, +/* 44021 */ {(14<<2)|2,{110,90,0}}, +/* 44022 */ {(14<<2)|2,{110,90,0}}, +/* 44023 */ {(14<<2)|2,{110,90,0}}, +/* 44024 */ {(16<<2)|2,{110,33,0}}, +/* 44025 */ {(16<<2)|2,{110,34,0}}, +/* 44026 */ {(16<<2)|2,{110,40,0}}, +/* 44027 */ {(16<<2)|2,{110,41,0}}, +/* 44028 */ {(16<<2)|2,{110,63,0}}, +/* 44029 */ {(6<<2)|1,{110,0,0}}, +/* 44030 */ {(6<<2)|1,{110,0,0}}, +/* 44031 */ {(6<<2)|1,{110,0,0}}, +/* 44032 */ {(16<<2)|3,{112,48,48}}, +/* 44033 */ {(16<<2)|3,{112,48,49}}, +/* 44034 */ {(16<<2)|3,{112,48,50}}, +/* 44035 */ {(16<<2)|3,{112,48,97}}, +/* 44036 */ {(16<<2)|3,{112,48,99}}, +/* 44037 */ {(16<<2)|3,{112,48,101}}, +/* 44038 */ {(16<<2)|3,{112,48,105}}, +/* 44039 */ {(16<<2)|3,{112,48,111}}, +/* 44040 */ {(16<<2)|3,{112,48,115}}, +/* 44041 */ {(16<<2)|3,{112,48,116}}, +/* 44042 */ {(11<<2)|2,{112,48,0}}, +/* 44043 */ {(11<<2)|2,{112,48,0}}, +/* 44044 */ {(11<<2)|2,{112,48,0}}, +/* 44045 */ {(11<<2)|2,{112,48,0}}, +/* 44046 */ {(11<<2)|2,{112,48,0}}, +/* 44047 */ {(11<<2)|2,{112,48,0}}, +/* 44048 */ {(11<<2)|2,{112,48,0}}, +/* 44049 */ {(11<<2)|2,{112,48,0}}, +/* 44050 */ {(11<<2)|2,{112,48,0}}, +/* 44051 */ {(11<<2)|2,{112,48,0}}, +/* 44052 */ {(11<<2)|2,{112,48,0}}, +/* 44053 */ {(11<<2)|2,{112,48,0}}, +/* 44054 */ {(11<<2)|2,{112,48,0}}, +/* 44055 */ {(11<<2)|2,{112,48,0}}, +/* 44056 */ {(11<<2)|2,{112,48,0}}, +/* 44057 */ {(11<<2)|2,{112,48,0}}, +/* 44058 */ {(11<<2)|2,{112,48,0}}, +/* 44059 */ {(11<<2)|2,{112,48,0}}, +/* 44060 */ {(11<<2)|2,{112,48,0}}, +/* 44061 */ {(11<<2)|2,{112,48,0}}, +/* 44062 */ {(11<<2)|2,{112,48,0}}, +/* 44063 */ {(11<<2)|2,{112,48,0}}, +/* 44064 */ {(16<<2)|3,{112,49,48}}, +/* 44065 */ {(16<<2)|3,{112,49,49}}, +/* 44066 */ {(16<<2)|3,{112,49,50}}, +/* 44067 */ {(16<<2)|3,{112,49,97}}, +/* 44068 */ {(16<<2)|3,{112,49,99}}, +/* 44069 */ {(16<<2)|3,{112,49,101}}, +/* 44070 */ {(16<<2)|3,{112,49,105}}, +/* 44071 */ {(16<<2)|3,{112,49,111}}, +/* 44072 */ {(16<<2)|3,{112,49,115}}, +/* 44073 */ {(16<<2)|3,{112,49,116}}, +/* 44074 */ {(11<<2)|2,{112,49,0}}, +/* 44075 */ {(11<<2)|2,{112,49,0}}, +/* 44076 */ {(11<<2)|2,{112,49,0}}, +/* 44077 */ {(11<<2)|2,{112,49,0}}, +/* 44078 */ {(11<<2)|2,{112,49,0}}, +/* 44079 */ {(11<<2)|2,{112,49,0}}, +/* 44080 */ {(11<<2)|2,{112,49,0}}, +/* 44081 */ {(11<<2)|2,{112,49,0}}, +/* 44082 */ {(11<<2)|2,{112,49,0}}, +/* 44083 */ {(11<<2)|2,{112,49,0}}, +/* 44084 */ {(11<<2)|2,{112,49,0}}, +/* 44085 */ {(11<<2)|2,{112,49,0}}, +/* 44086 */ {(11<<2)|2,{112,49,0}}, +/* 44087 */ {(11<<2)|2,{112,49,0}}, +/* 44088 */ {(11<<2)|2,{112,49,0}}, +/* 44089 */ {(11<<2)|2,{112,49,0}}, +/* 44090 */ {(11<<2)|2,{112,49,0}}, +/* 44091 */ {(11<<2)|2,{112,49,0}}, +/* 44092 */ {(11<<2)|2,{112,49,0}}, +/* 44093 */ {(11<<2)|2,{112,49,0}}, +/* 44094 */ {(11<<2)|2,{112,49,0}}, +/* 44095 */ {(11<<2)|2,{112,49,0}}, +/* 44096 */ {(16<<2)|3,{112,50,48}}, +/* 44097 */ {(16<<2)|3,{112,50,49}}, +/* 44098 */ {(16<<2)|3,{112,50,50}}, +/* 44099 */ {(16<<2)|3,{112,50,97}}, +/* 44100 */ {(16<<2)|3,{112,50,99}}, +/* 44101 */ {(16<<2)|3,{112,50,101}}, +/* 44102 */ {(16<<2)|3,{112,50,105}}, +/* 44103 */ {(16<<2)|3,{112,50,111}}, +/* 44104 */ {(16<<2)|3,{112,50,115}}, +/* 44105 */ {(16<<2)|3,{112,50,116}}, +/* 44106 */ {(11<<2)|2,{112,50,0}}, +/* 44107 */ {(11<<2)|2,{112,50,0}}, +/* 44108 */ {(11<<2)|2,{112,50,0}}, +/* 44109 */ {(11<<2)|2,{112,50,0}}, +/* 44110 */ {(11<<2)|2,{112,50,0}}, +/* 44111 */ {(11<<2)|2,{112,50,0}}, +/* 44112 */ {(11<<2)|2,{112,50,0}}, +/* 44113 */ {(11<<2)|2,{112,50,0}}, +/* 44114 */ {(11<<2)|2,{112,50,0}}, +/* 44115 */ {(11<<2)|2,{112,50,0}}, +/* 44116 */ {(11<<2)|2,{112,50,0}}, +/* 44117 */ {(11<<2)|2,{112,50,0}}, +/* 44118 */ {(11<<2)|2,{112,50,0}}, +/* 44119 */ {(11<<2)|2,{112,50,0}}, +/* 44120 */ {(11<<2)|2,{112,50,0}}, +/* 44121 */ {(11<<2)|2,{112,50,0}}, +/* 44122 */ {(11<<2)|2,{112,50,0}}, +/* 44123 */ {(11<<2)|2,{112,50,0}}, +/* 44124 */ {(11<<2)|2,{112,50,0}}, +/* 44125 */ {(11<<2)|2,{112,50,0}}, +/* 44126 */ {(11<<2)|2,{112,50,0}}, +/* 44127 */ {(11<<2)|2,{112,50,0}}, +/* 44128 */ {(16<<2)|3,{112,97,48}}, +/* 44129 */ {(16<<2)|3,{112,97,49}}, +/* 44130 */ {(16<<2)|3,{112,97,50}}, +/* 44131 */ {(16<<2)|3,{112,97,97}}, +/* 44132 */ {(16<<2)|3,{112,97,99}}, +/* 44133 */ {(16<<2)|3,{112,97,101}}, +/* 44134 */ {(16<<2)|3,{112,97,105}}, +/* 44135 */ {(16<<2)|3,{112,97,111}}, +/* 44136 */ {(16<<2)|3,{112,97,115}}, +/* 44137 */ {(16<<2)|3,{112,97,116}}, +/* 44138 */ {(11<<2)|2,{112,97,0}}, +/* 44139 */ {(11<<2)|2,{112,97,0}}, +/* 44140 */ {(11<<2)|2,{112,97,0}}, +/* 44141 */ {(11<<2)|2,{112,97,0}}, +/* 44142 */ {(11<<2)|2,{112,97,0}}, +/* 44143 */ {(11<<2)|2,{112,97,0}}, +/* 44144 */ {(11<<2)|2,{112,97,0}}, +/* 44145 */ {(11<<2)|2,{112,97,0}}, +/* 44146 */ {(11<<2)|2,{112,97,0}}, +/* 44147 */ {(11<<2)|2,{112,97,0}}, +/* 44148 */ {(11<<2)|2,{112,97,0}}, +/* 44149 */ {(11<<2)|2,{112,97,0}}, +/* 44150 */ {(11<<2)|2,{112,97,0}}, +/* 44151 */ {(11<<2)|2,{112,97,0}}, +/* 44152 */ {(11<<2)|2,{112,97,0}}, +/* 44153 */ {(11<<2)|2,{112,97,0}}, +/* 44154 */ {(11<<2)|2,{112,97,0}}, +/* 44155 */ {(11<<2)|2,{112,97,0}}, +/* 44156 */ {(11<<2)|2,{112,97,0}}, +/* 44157 */ {(11<<2)|2,{112,97,0}}, +/* 44158 */ {(11<<2)|2,{112,97,0}}, +/* 44159 */ {(11<<2)|2,{112,97,0}}, +/* 44160 */ {(16<<2)|3,{112,99,48}}, +/* 44161 */ {(16<<2)|3,{112,99,49}}, +/* 44162 */ {(16<<2)|3,{112,99,50}}, +/* 44163 */ {(16<<2)|3,{112,99,97}}, +/* 44164 */ {(16<<2)|3,{112,99,99}}, +/* 44165 */ {(16<<2)|3,{112,99,101}}, +/* 44166 */ {(16<<2)|3,{112,99,105}}, +/* 44167 */ {(16<<2)|3,{112,99,111}}, +/* 44168 */ {(16<<2)|3,{112,99,115}}, +/* 44169 */ {(16<<2)|3,{112,99,116}}, +/* 44170 */ {(11<<2)|2,{112,99,0}}, +/* 44171 */ {(11<<2)|2,{112,99,0}}, +/* 44172 */ {(11<<2)|2,{112,99,0}}, +/* 44173 */ {(11<<2)|2,{112,99,0}}, +/* 44174 */ {(11<<2)|2,{112,99,0}}, +/* 44175 */ {(11<<2)|2,{112,99,0}}, +/* 44176 */ {(11<<2)|2,{112,99,0}}, +/* 44177 */ {(11<<2)|2,{112,99,0}}, +/* 44178 */ {(11<<2)|2,{112,99,0}}, +/* 44179 */ {(11<<2)|2,{112,99,0}}, +/* 44180 */ {(11<<2)|2,{112,99,0}}, +/* 44181 */ {(11<<2)|2,{112,99,0}}, +/* 44182 */ {(11<<2)|2,{112,99,0}}, +/* 44183 */ {(11<<2)|2,{112,99,0}}, +/* 44184 */ {(11<<2)|2,{112,99,0}}, +/* 44185 */ {(11<<2)|2,{112,99,0}}, +/* 44186 */ {(11<<2)|2,{112,99,0}}, +/* 44187 */ {(11<<2)|2,{112,99,0}}, +/* 44188 */ {(11<<2)|2,{112,99,0}}, +/* 44189 */ {(11<<2)|2,{112,99,0}}, +/* 44190 */ {(11<<2)|2,{112,99,0}}, +/* 44191 */ {(11<<2)|2,{112,99,0}}, +/* 44192 */ {(16<<2)|3,{112,101,48}}, +/* 44193 */ {(16<<2)|3,{112,101,49}}, +/* 44194 */ {(16<<2)|3,{112,101,50}}, +/* 44195 */ {(16<<2)|3,{112,101,97}}, +/* 44196 */ {(16<<2)|3,{112,101,99}}, +/* 44197 */ {(16<<2)|3,{112,101,101}}, +/* 44198 */ {(16<<2)|3,{112,101,105}}, +/* 44199 */ {(16<<2)|3,{112,101,111}}, +/* 44200 */ {(16<<2)|3,{112,101,115}}, +/* 44201 */ {(16<<2)|3,{112,101,116}}, +/* 44202 */ {(11<<2)|2,{112,101,0}}, +/* 44203 */ {(11<<2)|2,{112,101,0}}, +/* 44204 */ {(11<<2)|2,{112,101,0}}, +/* 44205 */ {(11<<2)|2,{112,101,0}}, +/* 44206 */ {(11<<2)|2,{112,101,0}}, +/* 44207 */ {(11<<2)|2,{112,101,0}}, +/* 44208 */ {(11<<2)|2,{112,101,0}}, +/* 44209 */ {(11<<2)|2,{112,101,0}}, +/* 44210 */ {(11<<2)|2,{112,101,0}}, +/* 44211 */ {(11<<2)|2,{112,101,0}}, +/* 44212 */ {(11<<2)|2,{112,101,0}}, +/* 44213 */ {(11<<2)|2,{112,101,0}}, +/* 44214 */ {(11<<2)|2,{112,101,0}}, +/* 44215 */ {(11<<2)|2,{112,101,0}}, +/* 44216 */ {(11<<2)|2,{112,101,0}}, +/* 44217 */ {(11<<2)|2,{112,101,0}}, +/* 44218 */ {(11<<2)|2,{112,101,0}}, +/* 44219 */ {(11<<2)|2,{112,101,0}}, +/* 44220 */ {(11<<2)|2,{112,101,0}}, +/* 44221 */ {(11<<2)|2,{112,101,0}}, +/* 44222 */ {(11<<2)|2,{112,101,0}}, +/* 44223 */ {(11<<2)|2,{112,101,0}}, +/* 44224 */ {(16<<2)|3,{112,105,48}}, +/* 44225 */ {(16<<2)|3,{112,105,49}}, +/* 44226 */ {(16<<2)|3,{112,105,50}}, +/* 44227 */ {(16<<2)|3,{112,105,97}}, +/* 44228 */ {(16<<2)|3,{112,105,99}}, +/* 44229 */ {(16<<2)|3,{112,105,101}}, +/* 44230 */ {(16<<2)|3,{112,105,105}}, +/* 44231 */ {(16<<2)|3,{112,105,111}}, +/* 44232 */ {(16<<2)|3,{112,105,115}}, +/* 44233 */ {(16<<2)|3,{112,105,116}}, +/* 44234 */ {(11<<2)|2,{112,105,0}}, +/* 44235 */ {(11<<2)|2,{112,105,0}}, +/* 44236 */ {(11<<2)|2,{112,105,0}}, +/* 44237 */ {(11<<2)|2,{112,105,0}}, +/* 44238 */ {(11<<2)|2,{112,105,0}}, +/* 44239 */ {(11<<2)|2,{112,105,0}}, +/* 44240 */ {(11<<2)|2,{112,105,0}}, +/* 44241 */ {(11<<2)|2,{112,105,0}}, +/* 44242 */ {(11<<2)|2,{112,105,0}}, +/* 44243 */ {(11<<2)|2,{112,105,0}}, +/* 44244 */ {(11<<2)|2,{112,105,0}}, +/* 44245 */ {(11<<2)|2,{112,105,0}}, +/* 44246 */ {(11<<2)|2,{112,105,0}}, +/* 44247 */ {(11<<2)|2,{112,105,0}}, +/* 44248 */ {(11<<2)|2,{112,105,0}}, +/* 44249 */ {(11<<2)|2,{112,105,0}}, +/* 44250 */ {(11<<2)|2,{112,105,0}}, +/* 44251 */ {(11<<2)|2,{112,105,0}}, +/* 44252 */ {(11<<2)|2,{112,105,0}}, +/* 44253 */ {(11<<2)|2,{112,105,0}}, +/* 44254 */ {(11<<2)|2,{112,105,0}}, +/* 44255 */ {(11<<2)|2,{112,105,0}}, +/* 44256 */ {(16<<2)|3,{112,111,48}}, +/* 44257 */ {(16<<2)|3,{112,111,49}}, +/* 44258 */ {(16<<2)|3,{112,111,50}}, +/* 44259 */ {(16<<2)|3,{112,111,97}}, +/* 44260 */ {(16<<2)|3,{112,111,99}}, +/* 44261 */ {(16<<2)|3,{112,111,101}}, +/* 44262 */ {(16<<2)|3,{112,111,105}}, +/* 44263 */ {(16<<2)|3,{112,111,111}}, +/* 44264 */ {(16<<2)|3,{112,111,115}}, +/* 44265 */ {(16<<2)|3,{112,111,116}}, +/* 44266 */ {(11<<2)|2,{112,111,0}}, +/* 44267 */ {(11<<2)|2,{112,111,0}}, +/* 44268 */ {(11<<2)|2,{112,111,0}}, +/* 44269 */ {(11<<2)|2,{112,111,0}}, +/* 44270 */ {(11<<2)|2,{112,111,0}}, +/* 44271 */ {(11<<2)|2,{112,111,0}}, +/* 44272 */ {(11<<2)|2,{112,111,0}}, +/* 44273 */ {(11<<2)|2,{112,111,0}}, +/* 44274 */ {(11<<2)|2,{112,111,0}}, +/* 44275 */ {(11<<2)|2,{112,111,0}}, +/* 44276 */ {(11<<2)|2,{112,111,0}}, +/* 44277 */ {(11<<2)|2,{112,111,0}}, +/* 44278 */ {(11<<2)|2,{112,111,0}}, +/* 44279 */ {(11<<2)|2,{112,111,0}}, +/* 44280 */ {(11<<2)|2,{112,111,0}}, +/* 44281 */ {(11<<2)|2,{112,111,0}}, +/* 44282 */ {(11<<2)|2,{112,111,0}}, +/* 44283 */ {(11<<2)|2,{112,111,0}}, +/* 44284 */ {(11<<2)|2,{112,111,0}}, +/* 44285 */ {(11<<2)|2,{112,111,0}}, +/* 44286 */ {(11<<2)|2,{112,111,0}}, +/* 44287 */ {(11<<2)|2,{112,111,0}}, +/* 44288 */ {(16<<2)|3,{112,115,48}}, +/* 44289 */ {(16<<2)|3,{112,115,49}}, +/* 44290 */ {(16<<2)|3,{112,115,50}}, +/* 44291 */ {(16<<2)|3,{112,115,97}}, +/* 44292 */ {(16<<2)|3,{112,115,99}}, +/* 44293 */ {(16<<2)|3,{112,115,101}}, +/* 44294 */ {(16<<2)|3,{112,115,105}}, +/* 44295 */ {(16<<2)|3,{112,115,111}}, +/* 44296 */ {(16<<2)|3,{112,115,115}}, +/* 44297 */ {(16<<2)|3,{112,115,116}}, +/* 44298 */ {(11<<2)|2,{112,115,0}}, +/* 44299 */ {(11<<2)|2,{112,115,0}}, +/* 44300 */ {(11<<2)|2,{112,115,0}}, +/* 44301 */ {(11<<2)|2,{112,115,0}}, +/* 44302 */ {(11<<2)|2,{112,115,0}}, +/* 44303 */ {(11<<2)|2,{112,115,0}}, +/* 44304 */ {(11<<2)|2,{112,115,0}}, +/* 44305 */ {(11<<2)|2,{112,115,0}}, +/* 44306 */ {(11<<2)|2,{112,115,0}}, +/* 44307 */ {(11<<2)|2,{112,115,0}}, +/* 44308 */ {(11<<2)|2,{112,115,0}}, +/* 44309 */ {(11<<2)|2,{112,115,0}}, +/* 44310 */ {(11<<2)|2,{112,115,0}}, +/* 44311 */ {(11<<2)|2,{112,115,0}}, +/* 44312 */ {(11<<2)|2,{112,115,0}}, +/* 44313 */ {(11<<2)|2,{112,115,0}}, +/* 44314 */ {(11<<2)|2,{112,115,0}}, +/* 44315 */ {(11<<2)|2,{112,115,0}}, +/* 44316 */ {(11<<2)|2,{112,115,0}}, +/* 44317 */ {(11<<2)|2,{112,115,0}}, +/* 44318 */ {(11<<2)|2,{112,115,0}}, +/* 44319 */ {(11<<2)|2,{112,115,0}}, +/* 44320 */ {(16<<2)|3,{112,116,48}}, +/* 44321 */ {(16<<2)|3,{112,116,49}}, +/* 44322 */ {(16<<2)|3,{112,116,50}}, +/* 44323 */ {(16<<2)|3,{112,116,97}}, +/* 44324 */ {(16<<2)|3,{112,116,99}}, +/* 44325 */ {(16<<2)|3,{112,116,101}}, +/* 44326 */ {(16<<2)|3,{112,116,105}}, +/* 44327 */ {(16<<2)|3,{112,116,111}}, +/* 44328 */ {(16<<2)|3,{112,116,115}}, +/* 44329 */ {(16<<2)|3,{112,116,116}}, +/* 44330 */ {(11<<2)|2,{112,116,0}}, +/* 44331 */ {(11<<2)|2,{112,116,0}}, +/* 44332 */ {(11<<2)|2,{112,116,0}}, +/* 44333 */ {(11<<2)|2,{112,116,0}}, +/* 44334 */ {(11<<2)|2,{112,116,0}}, +/* 44335 */ {(11<<2)|2,{112,116,0}}, +/* 44336 */ {(11<<2)|2,{112,116,0}}, +/* 44337 */ {(11<<2)|2,{112,116,0}}, +/* 44338 */ {(11<<2)|2,{112,116,0}}, +/* 44339 */ {(11<<2)|2,{112,116,0}}, +/* 44340 */ {(11<<2)|2,{112,116,0}}, +/* 44341 */ {(11<<2)|2,{112,116,0}}, +/* 44342 */ {(11<<2)|2,{112,116,0}}, +/* 44343 */ {(11<<2)|2,{112,116,0}}, +/* 44344 */ {(11<<2)|2,{112,116,0}}, +/* 44345 */ {(11<<2)|2,{112,116,0}}, +/* 44346 */ {(11<<2)|2,{112,116,0}}, +/* 44347 */ {(11<<2)|2,{112,116,0}}, +/* 44348 */ {(11<<2)|2,{112,116,0}}, +/* 44349 */ {(11<<2)|2,{112,116,0}}, +/* 44350 */ {(11<<2)|2,{112,116,0}}, +/* 44351 */ {(11<<2)|2,{112,116,0}}, +/* 44352 */ {(12<<2)|2,{112,32,0}}, +/* 44353 */ {(12<<2)|2,{112,32,0}}, +/* 44354 */ {(12<<2)|2,{112,32,0}}, +/* 44355 */ {(12<<2)|2,{112,32,0}}, +/* 44356 */ {(12<<2)|2,{112,32,0}}, +/* 44357 */ {(12<<2)|2,{112,32,0}}, +/* 44358 */ {(12<<2)|2,{112,32,0}}, +/* 44359 */ {(12<<2)|2,{112,32,0}}, +/* 44360 */ {(12<<2)|2,{112,32,0}}, +/* 44361 */ {(12<<2)|2,{112,32,0}}, +/* 44362 */ {(12<<2)|2,{112,32,0}}, +/* 44363 */ {(12<<2)|2,{112,32,0}}, +/* 44364 */ {(12<<2)|2,{112,32,0}}, +/* 44365 */ {(12<<2)|2,{112,32,0}}, +/* 44366 */ {(12<<2)|2,{112,32,0}}, +/* 44367 */ {(12<<2)|2,{112,32,0}}, +/* 44368 */ {(12<<2)|2,{112,37,0}}, +/* 44369 */ {(12<<2)|2,{112,37,0}}, +/* 44370 */ {(12<<2)|2,{112,37,0}}, +/* 44371 */ {(12<<2)|2,{112,37,0}}, +/* 44372 */ {(12<<2)|2,{112,37,0}}, +/* 44373 */ {(12<<2)|2,{112,37,0}}, +/* 44374 */ {(12<<2)|2,{112,37,0}}, +/* 44375 */ {(12<<2)|2,{112,37,0}}, +/* 44376 */ {(12<<2)|2,{112,37,0}}, +/* 44377 */ {(12<<2)|2,{112,37,0}}, +/* 44378 */ {(12<<2)|2,{112,37,0}}, +/* 44379 */ {(12<<2)|2,{112,37,0}}, +/* 44380 */ {(12<<2)|2,{112,37,0}}, +/* 44381 */ {(12<<2)|2,{112,37,0}}, +/* 44382 */ {(12<<2)|2,{112,37,0}}, +/* 44383 */ {(12<<2)|2,{112,37,0}}, +/* 44384 */ {(12<<2)|2,{112,45,0}}, +/* 44385 */ {(12<<2)|2,{112,45,0}}, +/* 44386 */ {(12<<2)|2,{112,45,0}}, +/* 44387 */ {(12<<2)|2,{112,45,0}}, +/* 44388 */ {(12<<2)|2,{112,45,0}}, +/* 44389 */ {(12<<2)|2,{112,45,0}}, +/* 44390 */ {(12<<2)|2,{112,45,0}}, +/* 44391 */ {(12<<2)|2,{112,45,0}}, +/* 44392 */ {(12<<2)|2,{112,45,0}}, +/* 44393 */ {(12<<2)|2,{112,45,0}}, +/* 44394 */ {(12<<2)|2,{112,45,0}}, +/* 44395 */ {(12<<2)|2,{112,45,0}}, +/* 44396 */ {(12<<2)|2,{112,45,0}}, +/* 44397 */ {(12<<2)|2,{112,45,0}}, +/* 44398 */ {(12<<2)|2,{112,45,0}}, +/* 44399 */ {(12<<2)|2,{112,45,0}}, +/* 44400 */ {(12<<2)|2,{112,46,0}}, +/* 44401 */ {(12<<2)|2,{112,46,0}}, +/* 44402 */ {(12<<2)|2,{112,46,0}}, +/* 44403 */ {(12<<2)|2,{112,46,0}}, +/* 44404 */ {(12<<2)|2,{112,46,0}}, +/* 44405 */ {(12<<2)|2,{112,46,0}}, +/* 44406 */ {(12<<2)|2,{112,46,0}}, +/* 44407 */ {(12<<2)|2,{112,46,0}}, +/* 44408 */ {(12<<2)|2,{112,46,0}}, +/* 44409 */ {(12<<2)|2,{112,46,0}}, +/* 44410 */ {(12<<2)|2,{112,46,0}}, +/* 44411 */ {(12<<2)|2,{112,46,0}}, +/* 44412 */ {(12<<2)|2,{112,46,0}}, +/* 44413 */ {(12<<2)|2,{112,46,0}}, +/* 44414 */ {(12<<2)|2,{112,46,0}}, +/* 44415 */ {(12<<2)|2,{112,46,0}}, +/* 44416 */ {(12<<2)|2,{112,47,0}}, +/* 44417 */ {(12<<2)|2,{112,47,0}}, +/* 44418 */ {(12<<2)|2,{112,47,0}}, +/* 44419 */ {(12<<2)|2,{112,47,0}}, +/* 44420 */ {(12<<2)|2,{112,47,0}}, +/* 44421 */ {(12<<2)|2,{112,47,0}}, +/* 44422 */ {(12<<2)|2,{112,47,0}}, +/* 44423 */ {(12<<2)|2,{112,47,0}}, +/* 44424 */ {(12<<2)|2,{112,47,0}}, +/* 44425 */ {(12<<2)|2,{112,47,0}}, +/* 44426 */ {(12<<2)|2,{112,47,0}}, +/* 44427 */ {(12<<2)|2,{112,47,0}}, +/* 44428 */ {(12<<2)|2,{112,47,0}}, +/* 44429 */ {(12<<2)|2,{112,47,0}}, +/* 44430 */ {(12<<2)|2,{112,47,0}}, +/* 44431 */ {(12<<2)|2,{112,47,0}}, +/* 44432 */ {(12<<2)|2,{112,51,0}}, +/* 44433 */ {(12<<2)|2,{112,51,0}}, +/* 44434 */ {(12<<2)|2,{112,51,0}}, +/* 44435 */ {(12<<2)|2,{112,51,0}}, +/* 44436 */ {(12<<2)|2,{112,51,0}}, +/* 44437 */ {(12<<2)|2,{112,51,0}}, +/* 44438 */ {(12<<2)|2,{112,51,0}}, +/* 44439 */ {(12<<2)|2,{112,51,0}}, +/* 44440 */ {(12<<2)|2,{112,51,0}}, +/* 44441 */ {(12<<2)|2,{112,51,0}}, +/* 44442 */ {(12<<2)|2,{112,51,0}}, +/* 44443 */ {(12<<2)|2,{112,51,0}}, +/* 44444 */ {(12<<2)|2,{112,51,0}}, +/* 44445 */ {(12<<2)|2,{112,51,0}}, +/* 44446 */ {(12<<2)|2,{112,51,0}}, +/* 44447 */ {(12<<2)|2,{112,51,0}}, +/* 44448 */ {(12<<2)|2,{112,52,0}}, +/* 44449 */ {(12<<2)|2,{112,52,0}}, +/* 44450 */ {(12<<2)|2,{112,52,0}}, +/* 44451 */ {(12<<2)|2,{112,52,0}}, +/* 44452 */ {(12<<2)|2,{112,52,0}}, +/* 44453 */ {(12<<2)|2,{112,52,0}}, +/* 44454 */ {(12<<2)|2,{112,52,0}}, +/* 44455 */ {(12<<2)|2,{112,52,0}}, +/* 44456 */ {(12<<2)|2,{112,52,0}}, +/* 44457 */ {(12<<2)|2,{112,52,0}}, +/* 44458 */ {(12<<2)|2,{112,52,0}}, +/* 44459 */ {(12<<2)|2,{112,52,0}}, +/* 44460 */ {(12<<2)|2,{112,52,0}}, +/* 44461 */ {(12<<2)|2,{112,52,0}}, +/* 44462 */ {(12<<2)|2,{112,52,0}}, +/* 44463 */ {(12<<2)|2,{112,52,0}}, +/* 44464 */ {(12<<2)|2,{112,53,0}}, +/* 44465 */ {(12<<2)|2,{112,53,0}}, +/* 44466 */ {(12<<2)|2,{112,53,0}}, +/* 44467 */ {(12<<2)|2,{112,53,0}}, +/* 44468 */ {(12<<2)|2,{112,53,0}}, +/* 44469 */ {(12<<2)|2,{112,53,0}}, +/* 44470 */ {(12<<2)|2,{112,53,0}}, +/* 44471 */ {(12<<2)|2,{112,53,0}}, +/* 44472 */ {(12<<2)|2,{112,53,0}}, +/* 44473 */ {(12<<2)|2,{112,53,0}}, +/* 44474 */ {(12<<2)|2,{112,53,0}}, +/* 44475 */ {(12<<2)|2,{112,53,0}}, +/* 44476 */ {(12<<2)|2,{112,53,0}}, +/* 44477 */ {(12<<2)|2,{112,53,0}}, +/* 44478 */ {(12<<2)|2,{112,53,0}}, +/* 44479 */ {(12<<2)|2,{112,53,0}}, +/* 44480 */ {(12<<2)|2,{112,54,0}}, +/* 44481 */ {(12<<2)|2,{112,54,0}}, +/* 44482 */ {(12<<2)|2,{112,54,0}}, +/* 44483 */ {(12<<2)|2,{112,54,0}}, +/* 44484 */ {(12<<2)|2,{112,54,0}}, +/* 44485 */ {(12<<2)|2,{112,54,0}}, +/* 44486 */ {(12<<2)|2,{112,54,0}}, +/* 44487 */ {(12<<2)|2,{112,54,0}}, +/* 44488 */ {(12<<2)|2,{112,54,0}}, +/* 44489 */ {(12<<2)|2,{112,54,0}}, +/* 44490 */ {(12<<2)|2,{112,54,0}}, +/* 44491 */ {(12<<2)|2,{112,54,0}}, +/* 44492 */ {(12<<2)|2,{112,54,0}}, +/* 44493 */ {(12<<2)|2,{112,54,0}}, +/* 44494 */ {(12<<2)|2,{112,54,0}}, +/* 44495 */ {(12<<2)|2,{112,54,0}}, +/* 44496 */ {(12<<2)|2,{112,55,0}}, +/* 44497 */ {(12<<2)|2,{112,55,0}}, +/* 44498 */ {(12<<2)|2,{112,55,0}}, +/* 44499 */ {(12<<2)|2,{112,55,0}}, +/* 44500 */ {(12<<2)|2,{112,55,0}}, +/* 44501 */ {(12<<2)|2,{112,55,0}}, +/* 44502 */ {(12<<2)|2,{112,55,0}}, +/* 44503 */ {(12<<2)|2,{112,55,0}}, +/* 44504 */ {(12<<2)|2,{112,55,0}}, +/* 44505 */ {(12<<2)|2,{112,55,0}}, +/* 44506 */ {(12<<2)|2,{112,55,0}}, +/* 44507 */ {(12<<2)|2,{112,55,0}}, +/* 44508 */ {(12<<2)|2,{112,55,0}}, +/* 44509 */ {(12<<2)|2,{112,55,0}}, +/* 44510 */ {(12<<2)|2,{112,55,0}}, +/* 44511 */ {(12<<2)|2,{112,55,0}}, +/* 44512 */ {(12<<2)|2,{112,56,0}}, +/* 44513 */ {(12<<2)|2,{112,56,0}}, +/* 44514 */ {(12<<2)|2,{112,56,0}}, +/* 44515 */ {(12<<2)|2,{112,56,0}}, +/* 44516 */ {(12<<2)|2,{112,56,0}}, +/* 44517 */ {(12<<2)|2,{112,56,0}}, +/* 44518 */ {(12<<2)|2,{112,56,0}}, +/* 44519 */ {(12<<2)|2,{112,56,0}}, +/* 44520 */ {(12<<2)|2,{112,56,0}}, +/* 44521 */ {(12<<2)|2,{112,56,0}}, +/* 44522 */ {(12<<2)|2,{112,56,0}}, +/* 44523 */ {(12<<2)|2,{112,56,0}}, +/* 44524 */ {(12<<2)|2,{112,56,0}}, +/* 44525 */ {(12<<2)|2,{112,56,0}}, +/* 44526 */ {(12<<2)|2,{112,56,0}}, +/* 44527 */ {(12<<2)|2,{112,56,0}}, +/* 44528 */ {(12<<2)|2,{112,57,0}}, +/* 44529 */ {(12<<2)|2,{112,57,0}}, +/* 44530 */ {(12<<2)|2,{112,57,0}}, +/* 44531 */ {(12<<2)|2,{112,57,0}}, +/* 44532 */ {(12<<2)|2,{112,57,0}}, +/* 44533 */ {(12<<2)|2,{112,57,0}}, +/* 44534 */ {(12<<2)|2,{112,57,0}}, +/* 44535 */ {(12<<2)|2,{112,57,0}}, +/* 44536 */ {(12<<2)|2,{112,57,0}}, +/* 44537 */ {(12<<2)|2,{112,57,0}}, +/* 44538 */ {(12<<2)|2,{112,57,0}}, +/* 44539 */ {(12<<2)|2,{112,57,0}}, +/* 44540 */ {(12<<2)|2,{112,57,0}}, +/* 44541 */ {(12<<2)|2,{112,57,0}}, +/* 44542 */ {(12<<2)|2,{112,57,0}}, +/* 44543 */ {(12<<2)|2,{112,57,0}}, +/* 44544 */ {(12<<2)|2,{112,61,0}}, +/* 44545 */ {(12<<2)|2,{112,61,0}}, +/* 44546 */ {(12<<2)|2,{112,61,0}}, +/* 44547 */ {(12<<2)|2,{112,61,0}}, +/* 44548 */ {(12<<2)|2,{112,61,0}}, +/* 44549 */ {(12<<2)|2,{112,61,0}}, +/* 44550 */ {(12<<2)|2,{112,61,0}}, +/* 44551 */ {(12<<2)|2,{112,61,0}}, +/* 44552 */ {(12<<2)|2,{112,61,0}}, +/* 44553 */ {(12<<2)|2,{112,61,0}}, +/* 44554 */ {(12<<2)|2,{112,61,0}}, +/* 44555 */ {(12<<2)|2,{112,61,0}}, +/* 44556 */ {(12<<2)|2,{112,61,0}}, +/* 44557 */ {(12<<2)|2,{112,61,0}}, +/* 44558 */ {(12<<2)|2,{112,61,0}}, +/* 44559 */ {(12<<2)|2,{112,61,0}}, +/* 44560 */ {(12<<2)|2,{112,65,0}}, +/* 44561 */ {(12<<2)|2,{112,65,0}}, +/* 44562 */ {(12<<2)|2,{112,65,0}}, +/* 44563 */ {(12<<2)|2,{112,65,0}}, +/* 44564 */ {(12<<2)|2,{112,65,0}}, +/* 44565 */ {(12<<2)|2,{112,65,0}}, +/* 44566 */ {(12<<2)|2,{112,65,0}}, +/* 44567 */ {(12<<2)|2,{112,65,0}}, +/* 44568 */ {(12<<2)|2,{112,65,0}}, +/* 44569 */ {(12<<2)|2,{112,65,0}}, +/* 44570 */ {(12<<2)|2,{112,65,0}}, +/* 44571 */ {(12<<2)|2,{112,65,0}}, +/* 44572 */ {(12<<2)|2,{112,65,0}}, +/* 44573 */ {(12<<2)|2,{112,65,0}}, +/* 44574 */ {(12<<2)|2,{112,65,0}}, +/* 44575 */ {(12<<2)|2,{112,65,0}}, +/* 44576 */ {(12<<2)|2,{112,95,0}}, +/* 44577 */ {(12<<2)|2,{112,95,0}}, +/* 44578 */ {(12<<2)|2,{112,95,0}}, +/* 44579 */ {(12<<2)|2,{112,95,0}}, +/* 44580 */ {(12<<2)|2,{112,95,0}}, +/* 44581 */ {(12<<2)|2,{112,95,0}}, +/* 44582 */ {(12<<2)|2,{112,95,0}}, +/* 44583 */ {(12<<2)|2,{112,95,0}}, +/* 44584 */ {(12<<2)|2,{112,95,0}}, +/* 44585 */ {(12<<2)|2,{112,95,0}}, +/* 44586 */ {(12<<2)|2,{112,95,0}}, +/* 44587 */ {(12<<2)|2,{112,95,0}}, +/* 44588 */ {(12<<2)|2,{112,95,0}}, +/* 44589 */ {(12<<2)|2,{112,95,0}}, +/* 44590 */ {(12<<2)|2,{112,95,0}}, +/* 44591 */ {(12<<2)|2,{112,95,0}}, +/* 44592 */ {(12<<2)|2,{112,98,0}}, +/* 44593 */ {(12<<2)|2,{112,98,0}}, +/* 44594 */ {(12<<2)|2,{112,98,0}}, +/* 44595 */ {(12<<2)|2,{112,98,0}}, +/* 44596 */ {(12<<2)|2,{112,98,0}}, +/* 44597 */ {(12<<2)|2,{112,98,0}}, +/* 44598 */ {(12<<2)|2,{112,98,0}}, +/* 44599 */ {(12<<2)|2,{112,98,0}}, +/* 44600 */ {(12<<2)|2,{112,98,0}}, +/* 44601 */ {(12<<2)|2,{112,98,0}}, +/* 44602 */ {(12<<2)|2,{112,98,0}}, +/* 44603 */ {(12<<2)|2,{112,98,0}}, +/* 44604 */ {(12<<2)|2,{112,98,0}}, +/* 44605 */ {(12<<2)|2,{112,98,0}}, +/* 44606 */ {(12<<2)|2,{112,98,0}}, +/* 44607 */ {(12<<2)|2,{112,98,0}}, +/* 44608 */ {(12<<2)|2,{112,100,0}}, +/* 44609 */ {(12<<2)|2,{112,100,0}}, +/* 44610 */ {(12<<2)|2,{112,100,0}}, +/* 44611 */ {(12<<2)|2,{112,100,0}}, +/* 44612 */ {(12<<2)|2,{112,100,0}}, +/* 44613 */ {(12<<2)|2,{112,100,0}}, +/* 44614 */ {(12<<2)|2,{112,100,0}}, +/* 44615 */ {(12<<2)|2,{112,100,0}}, +/* 44616 */ {(12<<2)|2,{112,100,0}}, +/* 44617 */ {(12<<2)|2,{112,100,0}}, +/* 44618 */ {(12<<2)|2,{112,100,0}}, +/* 44619 */ {(12<<2)|2,{112,100,0}}, +/* 44620 */ {(12<<2)|2,{112,100,0}}, +/* 44621 */ {(12<<2)|2,{112,100,0}}, +/* 44622 */ {(12<<2)|2,{112,100,0}}, +/* 44623 */ {(12<<2)|2,{112,100,0}}, +/* 44624 */ {(12<<2)|2,{112,102,0}}, +/* 44625 */ {(12<<2)|2,{112,102,0}}, +/* 44626 */ {(12<<2)|2,{112,102,0}}, +/* 44627 */ {(12<<2)|2,{112,102,0}}, +/* 44628 */ {(12<<2)|2,{112,102,0}}, +/* 44629 */ {(12<<2)|2,{112,102,0}}, +/* 44630 */ {(12<<2)|2,{112,102,0}}, +/* 44631 */ {(12<<2)|2,{112,102,0}}, +/* 44632 */ {(12<<2)|2,{112,102,0}}, +/* 44633 */ {(12<<2)|2,{112,102,0}}, +/* 44634 */ {(12<<2)|2,{112,102,0}}, +/* 44635 */ {(12<<2)|2,{112,102,0}}, +/* 44636 */ {(12<<2)|2,{112,102,0}}, +/* 44637 */ {(12<<2)|2,{112,102,0}}, +/* 44638 */ {(12<<2)|2,{112,102,0}}, +/* 44639 */ {(12<<2)|2,{112,102,0}}, +/* 44640 */ {(12<<2)|2,{112,103,0}}, +/* 44641 */ {(12<<2)|2,{112,103,0}}, +/* 44642 */ {(12<<2)|2,{112,103,0}}, +/* 44643 */ {(12<<2)|2,{112,103,0}}, +/* 44644 */ {(12<<2)|2,{112,103,0}}, +/* 44645 */ {(12<<2)|2,{112,103,0}}, +/* 44646 */ {(12<<2)|2,{112,103,0}}, +/* 44647 */ {(12<<2)|2,{112,103,0}}, +/* 44648 */ {(12<<2)|2,{112,103,0}}, +/* 44649 */ {(12<<2)|2,{112,103,0}}, +/* 44650 */ {(12<<2)|2,{112,103,0}}, +/* 44651 */ {(12<<2)|2,{112,103,0}}, +/* 44652 */ {(12<<2)|2,{112,103,0}}, +/* 44653 */ {(12<<2)|2,{112,103,0}}, +/* 44654 */ {(12<<2)|2,{112,103,0}}, +/* 44655 */ {(12<<2)|2,{112,103,0}}, +/* 44656 */ {(12<<2)|2,{112,104,0}}, +/* 44657 */ {(12<<2)|2,{112,104,0}}, +/* 44658 */ {(12<<2)|2,{112,104,0}}, +/* 44659 */ {(12<<2)|2,{112,104,0}}, +/* 44660 */ {(12<<2)|2,{112,104,0}}, +/* 44661 */ {(12<<2)|2,{112,104,0}}, +/* 44662 */ {(12<<2)|2,{112,104,0}}, +/* 44663 */ {(12<<2)|2,{112,104,0}}, +/* 44664 */ {(12<<2)|2,{112,104,0}}, +/* 44665 */ {(12<<2)|2,{112,104,0}}, +/* 44666 */ {(12<<2)|2,{112,104,0}}, +/* 44667 */ {(12<<2)|2,{112,104,0}}, +/* 44668 */ {(12<<2)|2,{112,104,0}}, +/* 44669 */ {(12<<2)|2,{112,104,0}}, +/* 44670 */ {(12<<2)|2,{112,104,0}}, +/* 44671 */ {(12<<2)|2,{112,104,0}}, +/* 44672 */ {(12<<2)|2,{112,108,0}}, +/* 44673 */ {(12<<2)|2,{112,108,0}}, +/* 44674 */ {(12<<2)|2,{112,108,0}}, +/* 44675 */ {(12<<2)|2,{112,108,0}}, +/* 44676 */ {(12<<2)|2,{112,108,0}}, +/* 44677 */ {(12<<2)|2,{112,108,0}}, +/* 44678 */ {(12<<2)|2,{112,108,0}}, +/* 44679 */ {(12<<2)|2,{112,108,0}}, +/* 44680 */ {(12<<2)|2,{112,108,0}}, +/* 44681 */ {(12<<2)|2,{112,108,0}}, +/* 44682 */ {(12<<2)|2,{112,108,0}}, +/* 44683 */ {(12<<2)|2,{112,108,0}}, +/* 44684 */ {(12<<2)|2,{112,108,0}}, +/* 44685 */ {(12<<2)|2,{112,108,0}}, +/* 44686 */ {(12<<2)|2,{112,108,0}}, +/* 44687 */ {(12<<2)|2,{112,108,0}}, +/* 44688 */ {(12<<2)|2,{112,109,0}}, +/* 44689 */ {(12<<2)|2,{112,109,0}}, +/* 44690 */ {(12<<2)|2,{112,109,0}}, +/* 44691 */ {(12<<2)|2,{112,109,0}}, +/* 44692 */ {(12<<2)|2,{112,109,0}}, +/* 44693 */ {(12<<2)|2,{112,109,0}}, +/* 44694 */ {(12<<2)|2,{112,109,0}}, +/* 44695 */ {(12<<2)|2,{112,109,0}}, +/* 44696 */ {(12<<2)|2,{112,109,0}}, +/* 44697 */ {(12<<2)|2,{112,109,0}}, +/* 44698 */ {(12<<2)|2,{112,109,0}}, +/* 44699 */ {(12<<2)|2,{112,109,0}}, +/* 44700 */ {(12<<2)|2,{112,109,0}}, +/* 44701 */ {(12<<2)|2,{112,109,0}}, +/* 44702 */ {(12<<2)|2,{112,109,0}}, +/* 44703 */ {(12<<2)|2,{112,109,0}}, +/* 44704 */ {(12<<2)|2,{112,110,0}}, +/* 44705 */ {(12<<2)|2,{112,110,0}}, +/* 44706 */ {(12<<2)|2,{112,110,0}}, +/* 44707 */ {(12<<2)|2,{112,110,0}}, +/* 44708 */ {(12<<2)|2,{112,110,0}}, +/* 44709 */ {(12<<2)|2,{112,110,0}}, +/* 44710 */ {(12<<2)|2,{112,110,0}}, +/* 44711 */ {(12<<2)|2,{112,110,0}}, +/* 44712 */ {(12<<2)|2,{112,110,0}}, +/* 44713 */ {(12<<2)|2,{112,110,0}}, +/* 44714 */ {(12<<2)|2,{112,110,0}}, +/* 44715 */ {(12<<2)|2,{112,110,0}}, +/* 44716 */ {(12<<2)|2,{112,110,0}}, +/* 44717 */ {(12<<2)|2,{112,110,0}}, +/* 44718 */ {(12<<2)|2,{112,110,0}}, +/* 44719 */ {(12<<2)|2,{112,110,0}}, +/* 44720 */ {(12<<2)|2,{112,112,0}}, +/* 44721 */ {(12<<2)|2,{112,112,0}}, +/* 44722 */ {(12<<2)|2,{112,112,0}}, +/* 44723 */ {(12<<2)|2,{112,112,0}}, +/* 44724 */ {(12<<2)|2,{112,112,0}}, +/* 44725 */ {(12<<2)|2,{112,112,0}}, +/* 44726 */ {(12<<2)|2,{112,112,0}}, +/* 44727 */ {(12<<2)|2,{112,112,0}}, +/* 44728 */ {(12<<2)|2,{112,112,0}}, +/* 44729 */ {(12<<2)|2,{112,112,0}}, +/* 44730 */ {(12<<2)|2,{112,112,0}}, +/* 44731 */ {(12<<2)|2,{112,112,0}}, +/* 44732 */ {(12<<2)|2,{112,112,0}}, +/* 44733 */ {(12<<2)|2,{112,112,0}}, +/* 44734 */ {(12<<2)|2,{112,112,0}}, +/* 44735 */ {(12<<2)|2,{112,112,0}}, +/* 44736 */ {(12<<2)|2,{112,114,0}}, +/* 44737 */ {(12<<2)|2,{112,114,0}}, +/* 44738 */ {(12<<2)|2,{112,114,0}}, +/* 44739 */ {(12<<2)|2,{112,114,0}}, +/* 44740 */ {(12<<2)|2,{112,114,0}}, +/* 44741 */ {(12<<2)|2,{112,114,0}}, +/* 44742 */ {(12<<2)|2,{112,114,0}}, +/* 44743 */ {(12<<2)|2,{112,114,0}}, +/* 44744 */ {(12<<2)|2,{112,114,0}}, +/* 44745 */ {(12<<2)|2,{112,114,0}}, +/* 44746 */ {(12<<2)|2,{112,114,0}}, +/* 44747 */ {(12<<2)|2,{112,114,0}}, +/* 44748 */ {(12<<2)|2,{112,114,0}}, +/* 44749 */ {(12<<2)|2,{112,114,0}}, +/* 44750 */ {(12<<2)|2,{112,114,0}}, +/* 44751 */ {(12<<2)|2,{112,114,0}}, +/* 44752 */ {(12<<2)|2,{112,117,0}}, +/* 44753 */ {(12<<2)|2,{112,117,0}}, +/* 44754 */ {(12<<2)|2,{112,117,0}}, +/* 44755 */ {(12<<2)|2,{112,117,0}}, +/* 44756 */ {(12<<2)|2,{112,117,0}}, +/* 44757 */ {(12<<2)|2,{112,117,0}}, +/* 44758 */ {(12<<2)|2,{112,117,0}}, +/* 44759 */ {(12<<2)|2,{112,117,0}}, +/* 44760 */ {(12<<2)|2,{112,117,0}}, +/* 44761 */ {(12<<2)|2,{112,117,0}}, +/* 44762 */ {(12<<2)|2,{112,117,0}}, +/* 44763 */ {(12<<2)|2,{112,117,0}}, +/* 44764 */ {(12<<2)|2,{112,117,0}}, +/* 44765 */ {(12<<2)|2,{112,117,0}}, +/* 44766 */ {(12<<2)|2,{112,117,0}}, +/* 44767 */ {(12<<2)|2,{112,117,0}}, +/* 44768 */ {(13<<2)|2,{112,58,0}}, +/* 44769 */ {(13<<2)|2,{112,58,0}}, +/* 44770 */ {(13<<2)|2,{112,58,0}}, +/* 44771 */ {(13<<2)|2,{112,58,0}}, +/* 44772 */ {(13<<2)|2,{112,58,0}}, +/* 44773 */ {(13<<2)|2,{112,58,0}}, +/* 44774 */ {(13<<2)|2,{112,58,0}}, +/* 44775 */ {(13<<2)|2,{112,58,0}}, +/* 44776 */ {(13<<2)|2,{112,66,0}}, +/* 44777 */ {(13<<2)|2,{112,66,0}}, +/* 44778 */ {(13<<2)|2,{112,66,0}}, +/* 44779 */ {(13<<2)|2,{112,66,0}}, +/* 44780 */ {(13<<2)|2,{112,66,0}}, +/* 44781 */ {(13<<2)|2,{112,66,0}}, +/* 44782 */ {(13<<2)|2,{112,66,0}}, +/* 44783 */ {(13<<2)|2,{112,66,0}}, +/* 44784 */ {(13<<2)|2,{112,67,0}}, +/* 44785 */ {(13<<2)|2,{112,67,0}}, +/* 44786 */ {(13<<2)|2,{112,67,0}}, +/* 44787 */ {(13<<2)|2,{112,67,0}}, +/* 44788 */ {(13<<2)|2,{112,67,0}}, +/* 44789 */ {(13<<2)|2,{112,67,0}}, +/* 44790 */ {(13<<2)|2,{112,67,0}}, +/* 44791 */ {(13<<2)|2,{112,67,0}}, +/* 44792 */ {(13<<2)|2,{112,68,0}}, +/* 44793 */ {(13<<2)|2,{112,68,0}}, +/* 44794 */ {(13<<2)|2,{112,68,0}}, +/* 44795 */ {(13<<2)|2,{112,68,0}}, +/* 44796 */ {(13<<2)|2,{112,68,0}}, +/* 44797 */ {(13<<2)|2,{112,68,0}}, +/* 44798 */ {(13<<2)|2,{112,68,0}}, +/* 44799 */ {(13<<2)|2,{112,68,0}}, +/* 44800 */ {(13<<2)|2,{112,69,0}}, +/* 44801 */ {(13<<2)|2,{112,69,0}}, +/* 44802 */ {(13<<2)|2,{112,69,0}}, +/* 44803 */ {(13<<2)|2,{112,69,0}}, +/* 44804 */ {(13<<2)|2,{112,69,0}}, +/* 44805 */ {(13<<2)|2,{112,69,0}}, +/* 44806 */ {(13<<2)|2,{112,69,0}}, +/* 44807 */ {(13<<2)|2,{112,69,0}}, +/* 44808 */ {(13<<2)|2,{112,70,0}}, +/* 44809 */ {(13<<2)|2,{112,70,0}}, +/* 44810 */ {(13<<2)|2,{112,70,0}}, +/* 44811 */ {(13<<2)|2,{112,70,0}}, +/* 44812 */ {(13<<2)|2,{112,70,0}}, +/* 44813 */ {(13<<2)|2,{112,70,0}}, +/* 44814 */ {(13<<2)|2,{112,70,0}}, +/* 44815 */ {(13<<2)|2,{112,70,0}}, +/* 44816 */ {(13<<2)|2,{112,71,0}}, +/* 44817 */ {(13<<2)|2,{112,71,0}}, +/* 44818 */ {(13<<2)|2,{112,71,0}}, +/* 44819 */ {(13<<2)|2,{112,71,0}}, +/* 44820 */ {(13<<2)|2,{112,71,0}}, +/* 44821 */ {(13<<2)|2,{112,71,0}}, +/* 44822 */ {(13<<2)|2,{112,71,0}}, +/* 44823 */ {(13<<2)|2,{112,71,0}}, +/* 44824 */ {(13<<2)|2,{112,72,0}}, +/* 44825 */ {(13<<2)|2,{112,72,0}}, +/* 44826 */ {(13<<2)|2,{112,72,0}}, +/* 44827 */ {(13<<2)|2,{112,72,0}}, +/* 44828 */ {(13<<2)|2,{112,72,0}}, +/* 44829 */ {(13<<2)|2,{112,72,0}}, +/* 44830 */ {(13<<2)|2,{112,72,0}}, +/* 44831 */ {(13<<2)|2,{112,72,0}}, +/* 44832 */ {(13<<2)|2,{112,73,0}}, +/* 44833 */ {(13<<2)|2,{112,73,0}}, +/* 44834 */ {(13<<2)|2,{112,73,0}}, +/* 44835 */ {(13<<2)|2,{112,73,0}}, +/* 44836 */ {(13<<2)|2,{112,73,0}}, +/* 44837 */ {(13<<2)|2,{112,73,0}}, +/* 44838 */ {(13<<2)|2,{112,73,0}}, +/* 44839 */ {(13<<2)|2,{112,73,0}}, +/* 44840 */ {(13<<2)|2,{112,74,0}}, +/* 44841 */ {(13<<2)|2,{112,74,0}}, +/* 44842 */ {(13<<2)|2,{112,74,0}}, +/* 44843 */ {(13<<2)|2,{112,74,0}}, +/* 44844 */ {(13<<2)|2,{112,74,0}}, +/* 44845 */ {(13<<2)|2,{112,74,0}}, +/* 44846 */ {(13<<2)|2,{112,74,0}}, +/* 44847 */ {(13<<2)|2,{112,74,0}}, +/* 44848 */ {(13<<2)|2,{112,75,0}}, +/* 44849 */ {(13<<2)|2,{112,75,0}}, +/* 44850 */ {(13<<2)|2,{112,75,0}}, +/* 44851 */ {(13<<2)|2,{112,75,0}}, +/* 44852 */ {(13<<2)|2,{112,75,0}}, +/* 44853 */ {(13<<2)|2,{112,75,0}}, +/* 44854 */ {(13<<2)|2,{112,75,0}}, +/* 44855 */ {(13<<2)|2,{112,75,0}}, +/* 44856 */ {(13<<2)|2,{112,76,0}}, +/* 44857 */ {(13<<2)|2,{112,76,0}}, +/* 44858 */ {(13<<2)|2,{112,76,0}}, +/* 44859 */ {(13<<2)|2,{112,76,0}}, +/* 44860 */ {(13<<2)|2,{112,76,0}}, +/* 44861 */ {(13<<2)|2,{112,76,0}}, +/* 44862 */ {(13<<2)|2,{112,76,0}}, +/* 44863 */ {(13<<2)|2,{112,76,0}}, +/* 44864 */ {(13<<2)|2,{112,77,0}}, +/* 44865 */ {(13<<2)|2,{112,77,0}}, +/* 44866 */ {(13<<2)|2,{112,77,0}}, +/* 44867 */ {(13<<2)|2,{112,77,0}}, +/* 44868 */ {(13<<2)|2,{112,77,0}}, +/* 44869 */ {(13<<2)|2,{112,77,0}}, +/* 44870 */ {(13<<2)|2,{112,77,0}}, +/* 44871 */ {(13<<2)|2,{112,77,0}}, +/* 44872 */ {(13<<2)|2,{112,78,0}}, +/* 44873 */ {(13<<2)|2,{112,78,0}}, +/* 44874 */ {(13<<2)|2,{112,78,0}}, +/* 44875 */ {(13<<2)|2,{112,78,0}}, +/* 44876 */ {(13<<2)|2,{112,78,0}}, +/* 44877 */ {(13<<2)|2,{112,78,0}}, +/* 44878 */ {(13<<2)|2,{112,78,0}}, +/* 44879 */ {(13<<2)|2,{112,78,0}}, +/* 44880 */ {(13<<2)|2,{112,79,0}}, +/* 44881 */ {(13<<2)|2,{112,79,0}}, +/* 44882 */ {(13<<2)|2,{112,79,0}}, +/* 44883 */ {(13<<2)|2,{112,79,0}}, +/* 44884 */ {(13<<2)|2,{112,79,0}}, +/* 44885 */ {(13<<2)|2,{112,79,0}}, +/* 44886 */ {(13<<2)|2,{112,79,0}}, +/* 44887 */ {(13<<2)|2,{112,79,0}}, +/* 44888 */ {(13<<2)|2,{112,80,0}}, +/* 44889 */ {(13<<2)|2,{112,80,0}}, +/* 44890 */ {(13<<2)|2,{112,80,0}}, +/* 44891 */ {(13<<2)|2,{112,80,0}}, +/* 44892 */ {(13<<2)|2,{112,80,0}}, +/* 44893 */ {(13<<2)|2,{112,80,0}}, +/* 44894 */ {(13<<2)|2,{112,80,0}}, +/* 44895 */ {(13<<2)|2,{112,80,0}}, +/* 44896 */ {(13<<2)|2,{112,81,0}}, +/* 44897 */ {(13<<2)|2,{112,81,0}}, +/* 44898 */ {(13<<2)|2,{112,81,0}}, +/* 44899 */ {(13<<2)|2,{112,81,0}}, +/* 44900 */ {(13<<2)|2,{112,81,0}}, +/* 44901 */ {(13<<2)|2,{112,81,0}}, +/* 44902 */ {(13<<2)|2,{112,81,0}}, +/* 44903 */ {(13<<2)|2,{112,81,0}}, +/* 44904 */ {(13<<2)|2,{112,82,0}}, +/* 44905 */ {(13<<2)|2,{112,82,0}}, +/* 44906 */ {(13<<2)|2,{112,82,0}}, +/* 44907 */ {(13<<2)|2,{112,82,0}}, +/* 44908 */ {(13<<2)|2,{112,82,0}}, +/* 44909 */ {(13<<2)|2,{112,82,0}}, +/* 44910 */ {(13<<2)|2,{112,82,0}}, +/* 44911 */ {(13<<2)|2,{112,82,0}}, +/* 44912 */ {(13<<2)|2,{112,83,0}}, +/* 44913 */ {(13<<2)|2,{112,83,0}}, +/* 44914 */ {(13<<2)|2,{112,83,0}}, +/* 44915 */ {(13<<2)|2,{112,83,0}}, +/* 44916 */ {(13<<2)|2,{112,83,0}}, +/* 44917 */ {(13<<2)|2,{112,83,0}}, +/* 44918 */ {(13<<2)|2,{112,83,0}}, +/* 44919 */ {(13<<2)|2,{112,83,0}}, +/* 44920 */ {(13<<2)|2,{112,84,0}}, +/* 44921 */ {(13<<2)|2,{112,84,0}}, +/* 44922 */ {(13<<2)|2,{112,84,0}}, +/* 44923 */ {(13<<2)|2,{112,84,0}}, +/* 44924 */ {(13<<2)|2,{112,84,0}}, +/* 44925 */ {(13<<2)|2,{112,84,0}}, +/* 44926 */ {(13<<2)|2,{112,84,0}}, +/* 44927 */ {(13<<2)|2,{112,84,0}}, +/* 44928 */ {(13<<2)|2,{112,85,0}}, +/* 44929 */ {(13<<2)|2,{112,85,0}}, +/* 44930 */ {(13<<2)|2,{112,85,0}}, +/* 44931 */ {(13<<2)|2,{112,85,0}}, +/* 44932 */ {(13<<2)|2,{112,85,0}}, +/* 44933 */ {(13<<2)|2,{112,85,0}}, +/* 44934 */ {(13<<2)|2,{112,85,0}}, +/* 44935 */ {(13<<2)|2,{112,85,0}}, +/* 44936 */ {(13<<2)|2,{112,86,0}}, +/* 44937 */ {(13<<2)|2,{112,86,0}}, +/* 44938 */ {(13<<2)|2,{112,86,0}}, +/* 44939 */ {(13<<2)|2,{112,86,0}}, +/* 44940 */ {(13<<2)|2,{112,86,0}}, +/* 44941 */ {(13<<2)|2,{112,86,0}}, +/* 44942 */ {(13<<2)|2,{112,86,0}}, +/* 44943 */ {(13<<2)|2,{112,86,0}}, +/* 44944 */ {(13<<2)|2,{112,87,0}}, +/* 44945 */ {(13<<2)|2,{112,87,0}}, +/* 44946 */ {(13<<2)|2,{112,87,0}}, +/* 44947 */ {(13<<2)|2,{112,87,0}}, +/* 44948 */ {(13<<2)|2,{112,87,0}}, +/* 44949 */ {(13<<2)|2,{112,87,0}}, +/* 44950 */ {(13<<2)|2,{112,87,0}}, +/* 44951 */ {(13<<2)|2,{112,87,0}}, +/* 44952 */ {(13<<2)|2,{112,89,0}}, +/* 44953 */ {(13<<2)|2,{112,89,0}}, +/* 44954 */ {(13<<2)|2,{112,89,0}}, +/* 44955 */ {(13<<2)|2,{112,89,0}}, +/* 44956 */ {(13<<2)|2,{112,89,0}}, +/* 44957 */ {(13<<2)|2,{112,89,0}}, +/* 44958 */ {(13<<2)|2,{112,89,0}}, +/* 44959 */ {(13<<2)|2,{112,89,0}}, +/* 44960 */ {(13<<2)|2,{112,106,0}}, +/* 44961 */ {(13<<2)|2,{112,106,0}}, +/* 44962 */ {(13<<2)|2,{112,106,0}}, +/* 44963 */ {(13<<2)|2,{112,106,0}}, +/* 44964 */ {(13<<2)|2,{112,106,0}}, +/* 44965 */ {(13<<2)|2,{112,106,0}}, +/* 44966 */ {(13<<2)|2,{112,106,0}}, +/* 44967 */ {(13<<2)|2,{112,106,0}}, +/* 44968 */ {(13<<2)|2,{112,107,0}}, +/* 44969 */ {(13<<2)|2,{112,107,0}}, +/* 44970 */ {(13<<2)|2,{112,107,0}}, +/* 44971 */ {(13<<2)|2,{112,107,0}}, +/* 44972 */ {(13<<2)|2,{112,107,0}}, +/* 44973 */ {(13<<2)|2,{112,107,0}}, +/* 44974 */ {(13<<2)|2,{112,107,0}}, +/* 44975 */ {(13<<2)|2,{112,107,0}}, +/* 44976 */ {(13<<2)|2,{112,113,0}}, +/* 44977 */ {(13<<2)|2,{112,113,0}}, +/* 44978 */ {(13<<2)|2,{112,113,0}}, +/* 44979 */ {(13<<2)|2,{112,113,0}}, +/* 44980 */ {(13<<2)|2,{112,113,0}}, +/* 44981 */ {(13<<2)|2,{112,113,0}}, +/* 44982 */ {(13<<2)|2,{112,113,0}}, +/* 44983 */ {(13<<2)|2,{112,113,0}}, +/* 44984 */ {(13<<2)|2,{112,118,0}}, +/* 44985 */ {(13<<2)|2,{112,118,0}}, +/* 44986 */ {(13<<2)|2,{112,118,0}}, +/* 44987 */ {(13<<2)|2,{112,118,0}}, +/* 44988 */ {(13<<2)|2,{112,118,0}}, +/* 44989 */ {(13<<2)|2,{112,118,0}}, +/* 44990 */ {(13<<2)|2,{112,118,0}}, +/* 44991 */ {(13<<2)|2,{112,118,0}}, +/* 44992 */ {(13<<2)|2,{112,119,0}}, +/* 44993 */ {(13<<2)|2,{112,119,0}}, +/* 44994 */ {(13<<2)|2,{112,119,0}}, +/* 44995 */ {(13<<2)|2,{112,119,0}}, +/* 44996 */ {(13<<2)|2,{112,119,0}}, +/* 44997 */ {(13<<2)|2,{112,119,0}}, +/* 44998 */ {(13<<2)|2,{112,119,0}}, +/* 44999 */ {(13<<2)|2,{112,119,0}}, +/* 45000 */ {(13<<2)|2,{112,120,0}}, +/* 45001 */ {(13<<2)|2,{112,120,0}}, +/* 45002 */ {(13<<2)|2,{112,120,0}}, +/* 45003 */ {(13<<2)|2,{112,120,0}}, +/* 45004 */ {(13<<2)|2,{112,120,0}}, +/* 45005 */ {(13<<2)|2,{112,120,0}}, +/* 45006 */ {(13<<2)|2,{112,120,0}}, +/* 45007 */ {(13<<2)|2,{112,120,0}}, +/* 45008 */ {(13<<2)|2,{112,121,0}}, +/* 45009 */ {(13<<2)|2,{112,121,0}}, +/* 45010 */ {(13<<2)|2,{112,121,0}}, +/* 45011 */ {(13<<2)|2,{112,121,0}}, +/* 45012 */ {(13<<2)|2,{112,121,0}}, +/* 45013 */ {(13<<2)|2,{112,121,0}}, +/* 45014 */ {(13<<2)|2,{112,121,0}}, +/* 45015 */ {(13<<2)|2,{112,121,0}}, +/* 45016 */ {(13<<2)|2,{112,122,0}}, +/* 45017 */ {(13<<2)|2,{112,122,0}}, +/* 45018 */ {(13<<2)|2,{112,122,0}}, +/* 45019 */ {(13<<2)|2,{112,122,0}}, +/* 45020 */ {(13<<2)|2,{112,122,0}}, +/* 45021 */ {(13<<2)|2,{112,122,0}}, +/* 45022 */ {(13<<2)|2,{112,122,0}}, +/* 45023 */ {(13<<2)|2,{112,122,0}}, +/* 45024 */ {(14<<2)|2,{112,38,0}}, +/* 45025 */ {(14<<2)|2,{112,38,0}}, +/* 45026 */ {(14<<2)|2,{112,38,0}}, +/* 45027 */ {(14<<2)|2,{112,38,0}}, +/* 45028 */ {(14<<2)|2,{112,42,0}}, +/* 45029 */ {(14<<2)|2,{112,42,0}}, +/* 45030 */ {(14<<2)|2,{112,42,0}}, +/* 45031 */ {(14<<2)|2,{112,42,0}}, +/* 45032 */ {(14<<2)|2,{112,44,0}}, +/* 45033 */ {(14<<2)|2,{112,44,0}}, +/* 45034 */ {(14<<2)|2,{112,44,0}}, +/* 45035 */ {(14<<2)|2,{112,44,0}}, +/* 45036 */ {(14<<2)|2,{112,59,0}}, +/* 45037 */ {(14<<2)|2,{112,59,0}}, +/* 45038 */ {(14<<2)|2,{112,59,0}}, +/* 45039 */ {(14<<2)|2,{112,59,0}}, +/* 45040 */ {(14<<2)|2,{112,88,0}}, +/* 45041 */ {(14<<2)|2,{112,88,0}}, +/* 45042 */ {(14<<2)|2,{112,88,0}}, +/* 45043 */ {(14<<2)|2,{112,88,0}}, +/* 45044 */ {(14<<2)|2,{112,90,0}}, +/* 45045 */ {(14<<2)|2,{112,90,0}}, +/* 45046 */ {(14<<2)|2,{112,90,0}}, +/* 45047 */ {(14<<2)|2,{112,90,0}}, +/* 45048 */ {(16<<2)|2,{112,33,0}}, +/* 45049 */ {(16<<2)|2,{112,34,0}}, +/* 45050 */ {(16<<2)|2,{112,40,0}}, +/* 45051 */ {(16<<2)|2,{112,41,0}}, +/* 45052 */ {(16<<2)|2,{112,63,0}}, +/* 45053 */ {(6<<2)|1,{112,0,0}}, +/* 45054 */ {(6<<2)|1,{112,0,0}}, +/* 45055 */ {(6<<2)|1,{112,0,0}}, +/* 45056 */ {(16<<2)|3,{114,48,48}}, +/* 45057 */ {(16<<2)|3,{114,48,49}}, +/* 45058 */ {(16<<2)|3,{114,48,50}}, +/* 45059 */ {(16<<2)|3,{114,48,97}}, +/* 45060 */ {(16<<2)|3,{114,48,99}}, +/* 45061 */ {(16<<2)|3,{114,48,101}}, +/* 45062 */ {(16<<2)|3,{114,48,105}}, +/* 45063 */ {(16<<2)|3,{114,48,111}}, +/* 45064 */ {(16<<2)|3,{114,48,115}}, +/* 45065 */ {(16<<2)|3,{114,48,116}}, +/* 45066 */ {(11<<2)|2,{114,48,0}}, +/* 45067 */ {(11<<2)|2,{114,48,0}}, +/* 45068 */ {(11<<2)|2,{114,48,0}}, +/* 45069 */ {(11<<2)|2,{114,48,0}}, +/* 45070 */ {(11<<2)|2,{114,48,0}}, +/* 45071 */ {(11<<2)|2,{114,48,0}}, +/* 45072 */ {(11<<2)|2,{114,48,0}}, +/* 45073 */ {(11<<2)|2,{114,48,0}}, +/* 45074 */ {(11<<2)|2,{114,48,0}}, +/* 45075 */ {(11<<2)|2,{114,48,0}}, +/* 45076 */ {(11<<2)|2,{114,48,0}}, +/* 45077 */ {(11<<2)|2,{114,48,0}}, +/* 45078 */ {(11<<2)|2,{114,48,0}}, +/* 45079 */ {(11<<2)|2,{114,48,0}}, +/* 45080 */ {(11<<2)|2,{114,48,0}}, +/* 45081 */ {(11<<2)|2,{114,48,0}}, +/* 45082 */ {(11<<2)|2,{114,48,0}}, +/* 45083 */ {(11<<2)|2,{114,48,0}}, +/* 45084 */ {(11<<2)|2,{114,48,0}}, +/* 45085 */ {(11<<2)|2,{114,48,0}}, +/* 45086 */ {(11<<2)|2,{114,48,0}}, +/* 45087 */ {(11<<2)|2,{114,48,0}}, +/* 45088 */ {(16<<2)|3,{114,49,48}}, +/* 45089 */ {(16<<2)|3,{114,49,49}}, +/* 45090 */ {(16<<2)|3,{114,49,50}}, +/* 45091 */ {(16<<2)|3,{114,49,97}}, +/* 45092 */ {(16<<2)|3,{114,49,99}}, +/* 45093 */ {(16<<2)|3,{114,49,101}}, +/* 45094 */ {(16<<2)|3,{114,49,105}}, +/* 45095 */ {(16<<2)|3,{114,49,111}}, +/* 45096 */ {(16<<2)|3,{114,49,115}}, +/* 45097 */ {(16<<2)|3,{114,49,116}}, +/* 45098 */ {(11<<2)|2,{114,49,0}}, +/* 45099 */ {(11<<2)|2,{114,49,0}}, +/* 45100 */ {(11<<2)|2,{114,49,0}}, +/* 45101 */ {(11<<2)|2,{114,49,0}}, +/* 45102 */ {(11<<2)|2,{114,49,0}}, +/* 45103 */ {(11<<2)|2,{114,49,0}}, +/* 45104 */ {(11<<2)|2,{114,49,0}}, +/* 45105 */ {(11<<2)|2,{114,49,0}}, +/* 45106 */ {(11<<2)|2,{114,49,0}}, +/* 45107 */ {(11<<2)|2,{114,49,0}}, +/* 45108 */ {(11<<2)|2,{114,49,0}}, +/* 45109 */ {(11<<2)|2,{114,49,0}}, +/* 45110 */ {(11<<2)|2,{114,49,0}}, +/* 45111 */ {(11<<2)|2,{114,49,0}}, +/* 45112 */ {(11<<2)|2,{114,49,0}}, +/* 45113 */ {(11<<2)|2,{114,49,0}}, +/* 45114 */ {(11<<2)|2,{114,49,0}}, +/* 45115 */ {(11<<2)|2,{114,49,0}}, +/* 45116 */ {(11<<2)|2,{114,49,0}}, +/* 45117 */ {(11<<2)|2,{114,49,0}}, +/* 45118 */ {(11<<2)|2,{114,49,0}}, +/* 45119 */ {(11<<2)|2,{114,49,0}}, +/* 45120 */ {(16<<2)|3,{114,50,48}}, +/* 45121 */ {(16<<2)|3,{114,50,49}}, +/* 45122 */ {(16<<2)|3,{114,50,50}}, +/* 45123 */ {(16<<2)|3,{114,50,97}}, +/* 45124 */ {(16<<2)|3,{114,50,99}}, +/* 45125 */ {(16<<2)|3,{114,50,101}}, +/* 45126 */ {(16<<2)|3,{114,50,105}}, +/* 45127 */ {(16<<2)|3,{114,50,111}}, +/* 45128 */ {(16<<2)|3,{114,50,115}}, +/* 45129 */ {(16<<2)|3,{114,50,116}}, +/* 45130 */ {(11<<2)|2,{114,50,0}}, +/* 45131 */ {(11<<2)|2,{114,50,0}}, +/* 45132 */ {(11<<2)|2,{114,50,0}}, +/* 45133 */ {(11<<2)|2,{114,50,0}}, +/* 45134 */ {(11<<2)|2,{114,50,0}}, +/* 45135 */ {(11<<2)|2,{114,50,0}}, +/* 45136 */ {(11<<2)|2,{114,50,0}}, +/* 45137 */ {(11<<2)|2,{114,50,0}}, +/* 45138 */ {(11<<2)|2,{114,50,0}}, +/* 45139 */ {(11<<2)|2,{114,50,0}}, +/* 45140 */ {(11<<2)|2,{114,50,0}}, +/* 45141 */ {(11<<2)|2,{114,50,0}}, +/* 45142 */ {(11<<2)|2,{114,50,0}}, +/* 45143 */ {(11<<2)|2,{114,50,0}}, +/* 45144 */ {(11<<2)|2,{114,50,0}}, +/* 45145 */ {(11<<2)|2,{114,50,0}}, +/* 45146 */ {(11<<2)|2,{114,50,0}}, +/* 45147 */ {(11<<2)|2,{114,50,0}}, +/* 45148 */ {(11<<2)|2,{114,50,0}}, +/* 45149 */ {(11<<2)|2,{114,50,0}}, +/* 45150 */ {(11<<2)|2,{114,50,0}}, +/* 45151 */ {(11<<2)|2,{114,50,0}}, +/* 45152 */ {(16<<2)|3,{114,97,48}}, +/* 45153 */ {(16<<2)|3,{114,97,49}}, +/* 45154 */ {(16<<2)|3,{114,97,50}}, +/* 45155 */ {(16<<2)|3,{114,97,97}}, +/* 45156 */ {(16<<2)|3,{114,97,99}}, +/* 45157 */ {(16<<2)|3,{114,97,101}}, +/* 45158 */ {(16<<2)|3,{114,97,105}}, +/* 45159 */ {(16<<2)|3,{114,97,111}}, +/* 45160 */ {(16<<2)|3,{114,97,115}}, +/* 45161 */ {(16<<2)|3,{114,97,116}}, +/* 45162 */ {(11<<2)|2,{114,97,0}}, +/* 45163 */ {(11<<2)|2,{114,97,0}}, +/* 45164 */ {(11<<2)|2,{114,97,0}}, +/* 45165 */ {(11<<2)|2,{114,97,0}}, +/* 45166 */ {(11<<2)|2,{114,97,0}}, +/* 45167 */ {(11<<2)|2,{114,97,0}}, +/* 45168 */ {(11<<2)|2,{114,97,0}}, +/* 45169 */ {(11<<2)|2,{114,97,0}}, +/* 45170 */ {(11<<2)|2,{114,97,0}}, +/* 45171 */ {(11<<2)|2,{114,97,0}}, +/* 45172 */ {(11<<2)|2,{114,97,0}}, +/* 45173 */ {(11<<2)|2,{114,97,0}}, +/* 45174 */ {(11<<2)|2,{114,97,0}}, +/* 45175 */ {(11<<2)|2,{114,97,0}}, +/* 45176 */ {(11<<2)|2,{114,97,0}}, +/* 45177 */ {(11<<2)|2,{114,97,0}}, +/* 45178 */ {(11<<2)|2,{114,97,0}}, +/* 45179 */ {(11<<2)|2,{114,97,0}}, +/* 45180 */ {(11<<2)|2,{114,97,0}}, +/* 45181 */ {(11<<2)|2,{114,97,0}}, +/* 45182 */ {(11<<2)|2,{114,97,0}}, +/* 45183 */ {(11<<2)|2,{114,97,0}}, +/* 45184 */ {(16<<2)|3,{114,99,48}}, +/* 45185 */ {(16<<2)|3,{114,99,49}}, +/* 45186 */ {(16<<2)|3,{114,99,50}}, +/* 45187 */ {(16<<2)|3,{114,99,97}}, +/* 45188 */ {(16<<2)|3,{114,99,99}}, +/* 45189 */ {(16<<2)|3,{114,99,101}}, +/* 45190 */ {(16<<2)|3,{114,99,105}}, +/* 45191 */ {(16<<2)|3,{114,99,111}}, +/* 45192 */ {(16<<2)|3,{114,99,115}}, +/* 45193 */ {(16<<2)|3,{114,99,116}}, +/* 45194 */ {(11<<2)|2,{114,99,0}}, +/* 45195 */ {(11<<2)|2,{114,99,0}}, +/* 45196 */ {(11<<2)|2,{114,99,0}}, +/* 45197 */ {(11<<2)|2,{114,99,0}}, +/* 45198 */ {(11<<2)|2,{114,99,0}}, +/* 45199 */ {(11<<2)|2,{114,99,0}}, +/* 45200 */ {(11<<2)|2,{114,99,0}}, +/* 45201 */ {(11<<2)|2,{114,99,0}}, +/* 45202 */ {(11<<2)|2,{114,99,0}}, +/* 45203 */ {(11<<2)|2,{114,99,0}}, +/* 45204 */ {(11<<2)|2,{114,99,0}}, +/* 45205 */ {(11<<2)|2,{114,99,0}}, +/* 45206 */ {(11<<2)|2,{114,99,0}}, +/* 45207 */ {(11<<2)|2,{114,99,0}}, +/* 45208 */ {(11<<2)|2,{114,99,0}}, +/* 45209 */ {(11<<2)|2,{114,99,0}}, +/* 45210 */ {(11<<2)|2,{114,99,0}}, +/* 45211 */ {(11<<2)|2,{114,99,0}}, +/* 45212 */ {(11<<2)|2,{114,99,0}}, +/* 45213 */ {(11<<2)|2,{114,99,0}}, +/* 45214 */ {(11<<2)|2,{114,99,0}}, +/* 45215 */ {(11<<2)|2,{114,99,0}}, +/* 45216 */ {(16<<2)|3,{114,101,48}}, +/* 45217 */ {(16<<2)|3,{114,101,49}}, +/* 45218 */ {(16<<2)|3,{114,101,50}}, +/* 45219 */ {(16<<2)|3,{114,101,97}}, +/* 45220 */ {(16<<2)|3,{114,101,99}}, +/* 45221 */ {(16<<2)|3,{114,101,101}}, +/* 45222 */ {(16<<2)|3,{114,101,105}}, +/* 45223 */ {(16<<2)|3,{114,101,111}}, +/* 45224 */ {(16<<2)|3,{114,101,115}}, +/* 45225 */ {(16<<2)|3,{114,101,116}}, +/* 45226 */ {(11<<2)|2,{114,101,0}}, +/* 45227 */ {(11<<2)|2,{114,101,0}}, +/* 45228 */ {(11<<2)|2,{114,101,0}}, +/* 45229 */ {(11<<2)|2,{114,101,0}}, +/* 45230 */ {(11<<2)|2,{114,101,0}}, +/* 45231 */ {(11<<2)|2,{114,101,0}}, +/* 45232 */ {(11<<2)|2,{114,101,0}}, +/* 45233 */ {(11<<2)|2,{114,101,0}}, +/* 45234 */ {(11<<2)|2,{114,101,0}}, +/* 45235 */ {(11<<2)|2,{114,101,0}}, +/* 45236 */ {(11<<2)|2,{114,101,0}}, +/* 45237 */ {(11<<2)|2,{114,101,0}}, +/* 45238 */ {(11<<2)|2,{114,101,0}}, +/* 45239 */ {(11<<2)|2,{114,101,0}}, +/* 45240 */ {(11<<2)|2,{114,101,0}}, +/* 45241 */ {(11<<2)|2,{114,101,0}}, +/* 45242 */ {(11<<2)|2,{114,101,0}}, +/* 45243 */ {(11<<2)|2,{114,101,0}}, +/* 45244 */ {(11<<2)|2,{114,101,0}}, +/* 45245 */ {(11<<2)|2,{114,101,0}}, +/* 45246 */ {(11<<2)|2,{114,101,0}}, +/* 45247 */ {(11<<2)|2,{114,101,0}}, +/* 45248 */ {(16<<2)|3,{114,105,48}}, +/* 45249 */ {(16<<2)|3,{114,105,49}}, +/* 45250 */ {(16<<2)|3,{114,105,50}}, +/* 45251 */ {(16<<2)|3,{114,105,97}}, +/* 45252 */ {(16<<2)|3,{114,105,99}}, +/* 45253 */ {(16<<2)|3,{114,105,101}}, +/* 45254 */ {(16<<2)|3,{114,105,105}}, +/* 45255 */ {(16<<2)|3,{114,105,111}}, +/* 45256 */ {(16<<2)|3,{114,105,115}}, +/* 45257 */ {(16<<2)|3,{114,105,116}}, +/* 45258 */ {(11<<2)|2,{114,105,0}}, +/* 45259 */ {(11<<2)|2,{114,105,0}}, +/* 45260 */ {(11<<2)|2,{114,105,0}}, +/* 45261 */ {(11<<2)|2,{114,105,0}}, +/* 45262 */ {(11<<2)|2,{114,105,0}}, +/* 45263 */ {(11<<2)|2,{114,105,0}}, +/* 45264 */ {(11<<2)|2,{114,105,0}}, +/* 45265 */ {(11<<2)|2,{114,105,0}}, +/* 45266 */ {(11<<2)|2,{114,105,0}}, +/* 45267 */ {(11<<2)|2,{114,105,0}}, +/* 45268 */ {(11<<2)|2,{114,105,0}}, +/* 45269 */ {(11<<2)|2,{114,105,0}}, +/* 45270 */ {(11<<2)|2,{114,105,0}}, +/* 45271 */ {(11<<2)|2,{114,105,0}}, +/* 45272 */ {(11<<2)|2,{114,105,0}}, +/* 45273 */ {(11<<2)|2,{114,105,0}}, +/* 45274 */ {(11<<2)|2,{114,105,0}}, +/* 45275 */ {(11<<2)|2,{114,105,0}}, +/* 45276 */ {(11<<2)|2,{114,105,0}}, +/* 45277 */ {(11<<2)|2,{114,105,0}}, +/* 45278 */ {(11<<2)|2,{114,105,0}}, +/* 45279 */ {(11<<2)|2,{114,105,0}}, +/* 45280 */ {(16<<2)|3,{114,111,48}}, +/* 45281 */ {(16<<2)|3,{114,111,49}}, +/* 45282 */ {(16<<2)|3,{114,111,50}}, +/* 45283 */ {(16<<2)|3,{114,111,97}}, +/* 45284 */ {(16<<2)|3,{114,111,99}}, +/* 45285 */ {(16<<2)|3,{114,111,101}}, +/* 45286 */ {(16<<2)|3,{114,111,105}}, +/* 45287 */ {(16<<2)|3,{114,111,111}}, +/* 45288 */ {(16<<2)|3,{114,111,115}}, +/* 45289 */ {(16<<2)|3,{114,111,116}}, +/* 45290 */ {(11<<2)|2,{114,111,0}}, +/* 45291 */ {(11<<2)|2,{114,111,0}}, +/* 45292 */ {(11<<2)|2,{114,111,0}}, +/* 45293 */ {(11<<2)|2,{114,111,0}}, +/* 45294 */ {(11<<2)|2,{114,111,0}}, +/* 45295 */ {(11<<2)|2,{114,111,0}}, +/* 45296 */ {(11<<2)|2,{114,111,0}}, +/* 45297 */ {(11<<2)|2,{114,111,0}}, +/* 45298 */ {(11<<2)|2,{114,111,0}}, +/* 45299 */ {(11<<2)|2,{114,111,0}}, +/* 45300 */ {(11<<2)|2,{114,111,0}}, +/* 45301 */ {(11<<2)|2,{114,111,0}}, +/* 45302 */ {(11<<2)|2,{114,111,0}}, +/* 45303 */ {(11<<2)|2,{114,111,0}}, +/* 45304 */ {(11<<2)|2,{114,111,0}}, +/* 45305 */ {(11<<2)|2,{114,111,0}}, +/* 45306 */ {(11<<2)|2,{114,111,0}}, +/* 45307 */ {(11<<2)|2,{114,111,0}}, +/* 45308 */ {(11<<2)|2,{114,111,0}}, +/* 45309 */ {(11<<2)|2,{114,111,0}}, +/* 45310 */ {(11<<2)|2,{114,111,0}}, +/* 45311 */ {(11<<2)|2,{114,111,0}}, +/* 45312 */ {(16<<2)|3,{114,115,48}}, +/* 45313 */ {(16<<2)|3,{114,115,49}}, +/* 45314 */ {(16<<2)|3,{114,115,50}}, +/* 45315 */ {(16<<2)|3,{114,115,97}}, +/* 45316 */ {(16<<2)|3,{114,115,99}}, +/* 45317 */ {(16<<2)|3,{114,115,101}}, +/* 45318 */ {(16<<2)|3,{114,115,105}}, +/* 45319 */ {(16<<2)|3,{114,115,111}}, +/* 45320 */ {(16<<2)|3,{114,115,115}}, +/* 45321 */ {(16<<2)|3,{114,115,116}}, +/* 45322 */ {(11<<2)|2,{114,115,0}}, +/* 45323 */ {(11<<2)|2,{114,115,0}}, +/* 45324 */ {(11<<2)|2,{114,115,0}}, +/* 45325 */ {(11<<2)|2,{114,115,0}}, +/* 45326 */ {(11<<2)|2,{114,115,0}}, +/* 45327 */ {(11<<2)|2,{114,115,0}}, +/* 45328 */ {(11<<2)|2,{114,115,0}}, +/* 45329 */ {(11<<2)|2,{114,115,0}}, +/* 45330 */ {(11<<2)|2,{114,115,0}}, +/* 45331 */ {(11<<2)|2,{114,115,0}}, +/* 45332 */ {(11<<2)|2,{114,115,0}}, +/* 45333 */ {(11<<2)|2,{114,115,0}}, +/* 45334 */ {(11<<2)|2,{114,115,0}}, +/* 45335 */ {(11<<2)|2,{114,115,0}}, +/* 45336 */ {(11<<2)|2,{114,115,0}}, +/* 45337 */ {(11<<2)|2,{114,115,0}}, +/* 45338 */ {(11<<2)|2,{114,115,0}}, +/* 45339 */ {(11<<2)|2,{114,115,0}}, +/* 45340 */ {(11<<2)|2,{114,115,0}}, +/* 45341 */ {(11<<2)|2,{114,115,0}}, +/* 45342 */ {(11<<2)|2,{114,115,0}}, +/* 45343 */ {(11<<2)|2,{114,115,0}}, +/* 45344 */ {(16<<2)|3,{114,116,48}}, +/* 45345 */ {(16<<2)|3,{114,116,49}}, +/* 45346 */ {(16<<2)|3,{114,116,50}}, +/* 45347 */ {(16<<2)|3,{114,116,97}}, +/* 45348 */ {(16<<2)|3,{114,116,99}}, +/* 45349 */ {(16<<2)|3,{114,116,101}}, +/* 45350 */ {(16<<2)|3,{114,116,105}}, +/* 45351 */ {(16<<2)|3,{114,116,111}}, +/* 45352 */ {(16<<2)|3,{114,116,115}}, +/* 45353 */ {(16<<2)|3,{114,116,116}}, +/* 45354 */ {(11<<2)|2,{114,116,0}}, +/* 45355 */ {(11<<2)|2,{114,116,0}}, +/* 45356 */ {(11<<2)|2,{114,116,0}}, +/* 45357 */ {(11<<2)|2,{114,116,0}}, +/* 45358 */ {(11<<2)|2,{114,116,0}}, +/* 45359 */ {(11<<2)|2,{114,116,0}}, +/* 45360 */ {(11<<2)|2,{114,116,0}}, +/* 45361 */ {(11<<2)|2,{114,116,0}}, +/* 45362 */ {(11<<2)|2,{114,116,0}}, +/* 45363 */ {(11<<2)|2,{114,116,0}}, +/* 45364 */ {(11<<2)|2,{114,116,0}}, +/* 45365 */ {(11<<2)|2,{114,116,0}}, +/* 45366 */ {(11<<2)|2,{114,116,0}}, +/* 45367 */ {(11<<2)|2,{114,116,0}}, +/* 45368 */ {(11<<2)|2,{114,116,0}}, +/* 45369 */ {(11<<2)|2,{114,116,0}}, +/* 45370 */ {(11<<2)|2,{114,116,0}}, +/* 45371 */ {(11<<2)|2,{114,116,0}}, +/* 45372 */ {(11<<2)|2,{114,116,0}}, +/* 45373 */ {(11<<2)|2,{114,116,0}}, +/* 45374 */ {(11<<2)|2,{114,116,0}}, +/* 45375 */ {(11<<2)|2,{114,116,0}}, +/* 45376 */ {(12<<2)|2,{114,32,0}}, +/* 45377 */ {(12<<2)|2,{114,32,0}}, +/* 45378 */ {(12<<2)|2,{114,32,0}}, +/* 45379 */ {(12<<2)|2,{114,32,0}}, +/* 45380 */ {(12<<2)|2,{114,32,0}}, +/* 45381 */ {(12<<2)|2,{114,32,0}}, +/* 45382 */ {(12<<2)|2,{114,32,0}}, +/* 45383 */ {(12<<2)|2,{114,32,0}}, +/* 45384 */ {(12<<2)|2,{114,32,0}}, +/* 45385 */ {(12<<2)|2,{114,32,0}}, +/* 45386 */ {(12<<2)|2,{114,32,0}}, +/* 45387 */ {(12<<2)|2,{114,32,0}}, +/* 45388 */ {(12<<2)|2,{114,32,0}}, +/* 45389 */ {(12<<2)|2,{114,32,0}}, +/* 45390 */ {(12<<2)|2,{114,32,0}}, +/* 45391 */ {(12<<2)|2,{114,32,0}}, +/* 45392 */ {(12<<2)|2,{114,37,0}}, +/* 45393 */ {(12<<2)|2,{114,37,0}}, +/* 45394 */ {(12<<2)|2,{114,37,0}}, +/* 45395 */ {(12<<2)|2,{114,37,0}}, +/* 45396 */ {(12<<2)|2,{114,37,0}}, +/* 45397 */ {(12<<2)|2,{114,37,0}}, +/* 45398 */ {(12<<2)|2,{114,37,0}}, +/* 45399 */ {(12<<2)|2,{114,37,0}}, +/* 45400 */ {(12<<2)|2,{114,37,0}}, +/* 45401 */ {(12<<2)|2,{114,37,0}}, +/* 45402 */ {(12<<2)|2,{114,37,0}}, +/* 45403 */ {(12<<2)|2,{114,37,0}}, +/* 45404 */ {(12<<2)|2,{114,37,0}}, +/* 45405 */ {(12<<2)|2,{114,37,0}}, +/* 45406 */ {(12<<2)|2,{114,37,0}}, +/* 45407 */ {(12<<2)|2,{114,37,0}}, +/* 45408 */ {(12<<2)|2,{114,45,0}}, +/* 45409 */ {(12<<2)|2,{114,45,0}}, +/* 45410 */ {(12<<2)|2,{114,45,0}}, +/* 45411 */ {(12<<2)|2,{114,45,0}}, +/* 45412 */ {(12<<2)|2,{114,45,0}}, +/* 45413 */ {(12<<2)|2,{114,45,0}}, +/* 45414 */ {(12<<2)|2,{114,45,0}}, +/* 45415 */ {(12<<2)|2,{114,45,0}}, +/* 45416 */ {(12<<2)|2,{114,45,0}}, +/* 45417 */ {(12<<2)|2,{114,45,0}}, +/* 45418 */ {(12<<2)|2,{114,45,0}}, +/* 45419 */ {(12<<2)|2,{114,45,0}}, +/* 45420 */ {(12<<2)|2,{114,45,0}}, +/* 45421 */ {(12<<2)|2,{114,45,0}}, +/* 45422 */ {(12<<2)|2,{114,45,0}}, +/* 45423 */ {(12<<2)|2,{114,45,0}}, +/* 45424 */ {(12<<2)|2,{114,46,0}}, +/* 45425 */ {(12<<2)|2,{114,46,0}}, +/* 45426 */ {(12<<2)|2,{114,46,0}}, +/* 45427 */ {(12<<2)|2,{114,46,0}}, +/* 45428 */ {(12<<2)|2,{114,46,0}}, +/* 45429 */ {(12<<2)|2,{114,46,0}}, +/* 45430 */ {(12<<2)|2,{114,46,0}}, +/* 45431 */ {(12<<2)|2,{114,46,0}}, +/* 45432 */ {(12<<2)|2,{114,46,0}}, +/* 45433 */ {(12<<2)|2,{114,46,0}}, +/* 45434 */ {(12<<2)|2,{114,46,0}}, +/* 45435 */ {(12<<2)|2,{114,46,0}}, +/* 45436 */ {(12<<2)|2,{114,46,0}}, +/* 45437 */ {(12<<2)|2,{114,46,0}}, +/* 45438 */ {(12<<2)|2,{114,46,0}}, +/* 45439 */ {(12<<2)|2,{114,46,0}}, +/* 45440 */ {(12<<2)|2,{114,47,0}}, +/* 45441 */ {(12<<2)|2,{114,47,0}}, +/* 45442 */ {(12<<2)|2,{114,47,0}}, +/* 45443 */ {(12<<2)|2,{114,47,0}}, +/* 45444 */ {(12<<2)|2,{114,47,0}}, +/* 45445 */ {(12<<2)|2,{114,47,0}}, +/* 45446 */ {(12<<2)|2,{114,47,0}}, +/* 45447 */ {(12<<2)|2,{114,47,0}}, +/* 45448 */ {(12<<2)|2,{114,47,0}}, +/* 45449 */ {(12<<2)|2,{114,47,0}}, +/* 45450 */ {(12<<2)|2,{114,47,0}}, +/* 45451 */ {(12<<2)|2,{114,47,0}}, +/* 45452 */ {(12<<2)|2,{114,47,0}}, +/* 45453 */ {(12<<2)|2,{114,47,0}}, +/* 45454 */ {(12<<2)|2,{114,47,0}}, +/* 45455 */ {(12<<2)|2,{114,47,0}}, +/* 45456 */ {(12<<2)|2,{114,51,0}}, +/* 45457 */ {(12<<2)|2,{114,51,0}}, +/* 45458 */ {(12<<2)|2,{114,51,0}}, +/* 45459 */ {(12<<2)|2,{114,51,0}}, +/* 45460 */ {(12<<2)|2,{114,51,0}}, +/* 45461 */ {(12<<2)|2,{114,51,0}}, +/* 45462 */ {(12<<2)|2,{114,51,0}}, +/* 45463 */ {(12<<2)|2,{114,51,0}}, +/* 45464 */ {(12<<2)|2,{114,51,0}}, +/* 45465 */ {(12<<2)|2,{114,51,0}}, +/* 45466 */ {(12<<2)|2,{114,51,0}}, +/* 45467 */ {(12<<2)|2,{114,51,0}}, +/* 45468 */ {(12<<2)|2,{114,51,0}}, +/* 45469 */ {(12<<2)|2,{114,51,0}}, +/* 45470 */ {(12<<2)|2,{114,51,0}}, +/* 45471 */ {(12<<2)|2,{114,51,0}}, +/* 45472 */ {(12<<2)|2,{114,52,0}}, +/* 45473 */ {(12<<2)|2,{114,52,0}}, +/* 45474 */ {(12<<2)|2,{114,52,0}}, +/* 45475 */ {(12<<2)|2,{114,52,0}}, +/* 45476 */ {(12<<2)|2,{114,52,0}}, +/* 45477 */ {(12<<2)|2,{114,52,0}}, +/* 45478 */ {(12<<2)|2,{114,52,0}}, +/* 45479 */ {(12<<2)|2,{114,52,0}}, +/* 45480 */ {(12<<2)|2,{114,52,0}}, +/* 45481 */ {(12<<2)|2,{114,52,0}}, +/* 45482 */ {(12<<2)|2,{114,52,0}}, +/* 45483 */ {(12<<2)|2,{114,52,0}}, +/* 45484 */ {(12<<2)|2,{114,52,0}}, +/* 45485 */ {(12<<2)|2,{114,52,0}}, +/* 45486 */ {(12<<2)|2,{114,52,0}}, +/* 45487 */ {(12<<2)|2,{114,52,0}}, +/* 45488 */ {(12<<2)|2,{114,53,0}}, +/* 45489 */ {(12<<2)|2,{114,53,0}}, +/* 45490 */ {(12<<2)|2,{114,53,0}}, +/* 45491 */ {(12<<2)|2,{114,53,0}}, +/* 45492 */ {(12<<2)|2,{114,53,0}}, +/* 45493 */ {(12<<2)|2,{114,53,0}}, +/* 45494 */ {(12<<2)|2,{114,53,0}}, +/* 45495 */ {(12<<2)|2,{114,53,0}}, +/* 45496 */ {(12<<2)|2,{114,53,0}}, +/* 45497 */ {(12<<2)|2,{114,53,0}}, +/* 45498 */ {(12<<2)|2,{114,53,0}}, +/* 45499 */ {(12<<2)|2,{114,53,0}}, +/* 45500 */ {(12<<2)|2,{114,53,0}}, +/* 45501 */ {(12<<2)|2,{114,53,0}}, +/* 45502 */ {(12<<2)|2,{114,53,0}}, +/* 45503 */ {(12<<2)|2,{114,53,0}}, +/* 45504 */ {(12<<2)|2,{114,54,0}}, +/* 45505 */ {(12<<2)|2,{114,54,0}}, +/* 45506 */ {(12<<2)|2,{114,54,0}}, +/* 45507 */ {(12<<2)|2,{114,54,0}}, +/* 45508 */ {(12<<2)|2,{114,54,0}}, +/* 45509 */ {(12<<2)|2,{114,54,0}}, +/* 45510 */ {(12<<2)|2,{114,54,0}}, +/* 45511 */ {(12<<2)|2,{114,54,0}}, +/* 45512 */ {(12<<2)|2,{114,54,0}}, +/* 45513 */ {(12<<2)|2,{114,54,0}}, +/* 45514 */ {(12<<2)|2,{114,54,0}}, +/* 45515 */ {(12<<2)|2,{114,54,0}}, +/* 45516 */ {(12<<2)|2,{114,54,0}}, +/* 45517 */ {(12<<2)|2,{114,54,0}}, +/* 45518 */ {(12<<2)|2,{114,54,0}}, +/* 45519 */ {(12<<2)|2,{114,54,0}}, +/* 45520 */ {(12<<2)|2,{114,55,0}}, +/* 45521 */ {(12<<2)|2,{114,55,0}}, +/* 45522 */ {(12<<2)|2,{114,55,0}}, +/* 45523 */ {(12<<2)|2,{114,55,0}}, +/* 45524 */ {(12<<2)|2,{114,55,0}}, +/* 45525 */ {(12<<2)|2,{114,55,0}}, +/* 45526 */ {(12<<2)|2,{114,55,0}}, +/* 45527 */ {(12<<2)|2,{114,55,0}}, +/* 45528 */ {(12<<2)|2,{114,55,0}}, +/* 45529 */ {(12<<2)|2,{114,55,0}}, +/* 45530 */ {(12<<2)|2,{114,55,0}}, +/* 45531 */ {(12<<2)|2,{114,55,0}}, +/* 45532 */ {(12<<2)|2,{114,55,0}}, +/* 45533 */ {(12<<2)|2,{114,55,0}}, +/* 45534 */ {(12<<2)|2,{114,55,0}}, +/* 45535 */ {(12<<2)|2,{114,55,0}}, +/* 45536 */ {(12<<2)|2,{114,56,0}}, +/* 45537 */ {(12<<2)|2,{114,56,0}}, +/* 45538 */ {(12<<2)|2,{114,56,0}}, +/* 45539 */ {(12<<2)|2,{114,56,0}}, +/* 45540 */ {(12<<2)|2,{114,56,0}}, +/* 45541 */ {(12<<2)|2,{114,56,0}}, +/* 45542 */ {(12<<2)|2,{114,56,0}}, +/* 45543 */ {(12<<2)|2,{114,56,0}}, +/* 45544 */ {(12<<2)|2,{114,56,0}}, +/* 45545 */ {(12<<2)|2,{114,56,0}}, +/* 45546 */ {(12<<2)|2,{114,56,0}}, +/* 45547 */ {(12<<2)|2,{114,56,0}}, +/* 45548 */ {(12<<2)|2,{114,56,0}}, +/* 45549 */ {(12<<2)|2,{114,56,0}}, +/* 45550 */ {(12<<2)|2,{114,56,0}}, +/* 45551 */ {(12<<2)|2,{114,56,0}}, +/* 45552 */ {(12<<2)|2,{114,57,0}}, +/* 45553 */ {(12<<2)|2,{114,57,0}}, +/* 45554 */ {(12<<2)|2,{114,57,0}}, +/* 45555 */ {(12<<2)|2,{114,57,0}}, +/* 45556 */ {(12<<2)|2,{114,57,0}}, +/* 45557 */ {(12<<2)|2,{114,57,0}}, +/* 45558 */ {(12<<2)|2,{114,57,0}}, +/* 45559 */ {(12<<2)|2,{114,57,0}}, +/* 45560 */ {(12<<2)|2,{114,57,0}}, +/* 45561 */ {(12<<2)|2,{114,57,0}}, +/* 45562 */ {(12<<2)|2,{114,57,0}}, +/* 45563 */ {(12<<2)|2,{114,57,0}}, +/* 45564 */ {(12<<2)|2,{114,57,0}}, +/* 45565 */ {(12<<2)|2,{114,57,0}}, +/* 45566 */ {(12<<2)|2,{114,57,0}}, +/* 45567 */ {(12<<2)|2,{114,57,0}}, +/* 45568 */ {(12<<2)|2,{114,61,0}}, +/* 45569 */ {(12<<2)|2,{114,61,0}}, +/* 45570 */ {(12<<2)|2,{114,61,0}}, +/* 45571 */ {(12<<2)|2,{114,61,0}}, +/* 45572 */ {(12<<2)|2,{114,61,0}}, +/* 45573 */ {(12<<2)|2,{114,61,0}}, +/* 45574 */ {(12<<2)|2,{114,61,0}}, +/* 45575 */ {(12<<2)|2,{114,61,0}}, +/* 45576 */ {(12<<2)|2,{114,61,0}}, +/* 45577 */ {(12<<2)|2,{114,61,0}}, +/* 45578 */ {(12<<2)|2,{114,61,0}}, +/* 45579 */ {(12<<2)|2,{114,61,0}}, +/* 45580 */ {(12<<2)|2,{114,61,0}}, +/* 45581 */ {(12<<2)|2,{114,61,0}}, +/* 45582 */ {(12<<2)|2,{114,61,0}}, +/* 45583 */ {(12<<2)|2,{114,61,0}}, +/* 45584 */ {(12<<2)|2,{114,65,0}}, +/* 45585 */ {(12<<2)|2,{114,65,0}}, +/* 45586 */ {(12<<2)|2,{114,65,0}}, +/* 45587 */ {(12<<2)|2,{114,65,0}}, +/* 45588 */ {(12<<2)|2,{114,65,0}}, +/* 45589 */ {(12<<2)|2,{114,65,0}}, +/* 45590 */ {(12<<2)|2,{114,65,0}}, +/* 45591 */ {(12<<2)|2,{114,65,0}}, +/* 45592 */ {(12<<2)|2,{114,65,0}}, +/* 45593 */ {(12<<2)|2,{114,65,0}}, +/* 45594 */ {(12<<2)|2,{114,65,0}}, +/* 45595 */ {(12<<2)|2,{114,65,0}}, +/* 45596 */ {(12<<2)|2,{114,65,0}}, +/* 45597 */ {(12<<2)|2,{114,65,0}}, +/* 45598 */ {(12<<2)|2,{114,65,0}}, +/* 45599 */ {(12<<2)|2,{114,65,0}}, +/* 45600 */ {(12<<2)|2,{114,95,0}}, +/* 45601 */ {(12<<2)|2,{114,95,0}}, +/* 45602 */ {(12<<2)|2,{114,95,0}}, +/* 45603 */ {(12<<2)|2,{114,95,0}}, +/* 45604 */ {(12<<2)|2,{114,95,0}}, +/* 45605 */ {(12<<2)|2,{114,95,0}}, +/* 45606 */ {(12<<2)|2,{114,95,0}}, +/* 45607 */ {(12<<2)|2,{114,95,0}}, +/* 45608 */ {(12<<2)|2,{114,95,0}}, +/* 45609 */ {(12<<2)|2,{114,95,0}}, +/* 45610 */ {(12<<2)|2,{114,95,0}}, +/* 45611 */ {(12<<2)|2,{114,95,0}}, +/* 45612 */ {(12<<2)|2,{114,95,0}}, +/* 45613 */ {(12<<2)|2,{114,95,0}}, +/* 45614 */ {(12<<2)|2,{114,95,0}}, +/* 45615 */ {(12<<2)|2,{114,95,0}}, +/* 45616 */ {(12<<2)|2,{114,98,0}}, +/* 45617 */ {(12<<2)|2,{114,98,0}}, +/* 45618 */ {(12<<2)|2,{114,98,0}}, +/* 45619 */ {(12<<2)|2,{114,98,0}}, +/* 45620 */ {(12<<2)|2,{114,98,0}}, +/* 45621 */ {(12<<2)|2,{114,98,0}}, +/* 45622 */ {(12<<2)|2,{114,98,0}}, +/* 45623 */ {(12<<2)|2,{114,98,0}}, +/* 45624 */ {(12<<2)|2,{114,98,0}}, +/* 45625 */ {(12<<2)|2,{114,98,0}}, +/* 45626 */ {(12<<2)|2,{114,98,0}}, +/* 45627 */ {(12<<2)|2,{114,98,0}}, +/* 45628 */ {(12<<2)|2,{114,98,0}}, +/* 45629 */ {(12<<2)|2,{114,98,0}}, +/* 45630 */ {(12<<2)|2,{114,98,0}}, +/* 45631 */ {(12<<2)|2,{114,98,0}}, +/* 45632 */ {(12<<2)|2,{114,100,0}}, +/* 45633 */ {(12<<2)|2,{114,100,0}}, +/* 45634 */ {(12<<2)|2,{114,100,0}}, +/* 45635 */ {(12<<2)|2,{114,100,0}}, +/* 45636 */ {(12<<2)|2,{114,100,0}}, +/* 45637 */ {(12<<2)|2,{114,100,0}}, +/* 45638 */ {(12<<2)|2,{114,100,0}}, +/* 45639 */ {(12<<2)|2,{114,100,0}}, +/* 45640 */ {(12<<2)|2,{114,100,0}}, +/* 45641 */ {(12<<2)|2,{114,100,0}}, +/* 45642 */ {(12<<2)|2,{114,100,0}}, +/* 45643 */ {(12<<2)|2,{114,100,0}}, +/* 45644 */ {(12<<2)|2,{114,100,0}}, +/* 45645 */ {(12<<2)|2,{114,100,0}}, +/* 45646 */ {(12<<2)|2,{114,100,0}}, +/* 45647 */ {(12<<2)|2,{114,100,0}}, +/* 45648 */ {(12<<2)|2,{114,102,0}}, +/* 45649 */ {(12<<2)|2,{114,102,0}}, +/* 45650 */ {(12<<2)|2,{114,102,0}}, +/* 45651 */ {(12<<2)|2,{114,102,0}}, +/* 45652 */ {(12<<2)|2,{114,102,0}}, +/* 45653 */ {(12<<2)|2,{114,102,0}}, +/* 45654 */ {(12<<2)|2,{114,102,0}}, +/* 45655 */ {(12<<2)|2,{114,102,0}}, +/* 45656 */ {(12<<2)|2,{114,102,0}}, +/* 45657 */ {(12<<2)|2,{114,102,0}}, +/* 45658 */ {(12<<2)|2,{114,102,0}}, +/* 45659 */ {(12<<2)|2,{114,102,0}}, +/* 45660 */ {(12<<2)|2,{114,102,0}}, +/* 45661 */ {(12<<2)|2,{114,102,0}}, +/* 45662 */ {(12<<2)|2,{114,102,0}}, +/* 45663 */ {(12<<2)|2,{114,102,0}}, +/* 45664 */ {(12<<2)|2,{114,103,0}}, +/* 45665 */ {(12<<2)|2,{114,103,0}}, +/* 45666 */ {(12<<2)|2,{114,103,0}}, +/* 45667 */ {(12<<2)|2,{114,103,0}}, +/* 45668 */ {(12<<2)|2,{114,103,0}}, +/* 45669 */ {(12<<2)|2,{114,103,0}}, +/* 45670 */ {(12<<2)|2,{114,103,0}}, +/* 45671 */ {(12<<2)|2,{114,103,0}}, +/* 45672 */ {(12<<2)|2,{114,103,0}}, +/* 45673 */ {(12<<2)|2,{114,103,0}}, +/* 45674 */ {(12<<2)|2,{114,103,0}}, +/* 45675 */ {(12<<2)|2,{114,103,0}}, +/* 45676 */ {(12<<2)|2,{114,103,0}}, +/* 45677 */ {(12<<2)|2,{114,103,0}}, +/* 45678 */ {(12<<2)|2,{114,103,0}}, +/* 45679 */ {(12<<2)|2,{114,103,0}}, +/* 45680 */ {(12<<2)|2,{114,104,0}}, +/* 45681 */ {(12<<2)|2,{114,104,0}}, +/* 45682 */ {(12<<2)|2,{114,104,0}}, +/* 45683 */ {(12<<2)|2,{114,104,0}}, +/* 45684 */ {(12<<2)|2,{114,104,0}}, +/* 45685 */ {(12<<2)|2,{114,104,0}}, +/* 45686 */ {(12<<2)|2,{114,104,0}}, +/* 45687 */ {(12<<2)|2,{114,104,0}}, +/* 45688 */ {(12<<2)|2,{114,104,0}}, +/* 45689 */ {(12<<2)|2,{114,104,0}}, +/* 45690 */ {(12<<2)|2,{114,104,0}}, +/* 45691 */ {(12<<2)|2,{114,104,0}}, +/* 45692 */ {(12<<2)|2,{114,104,0}}, +/* 45693 */ {(12<<2)|2,{114,104,0}}, +/* 45694 */ {(12<<2)|2,{114,104,0}}, +/* 45695 */ {(12<<2)|2,{114,104,0}}, +/* 45696 */ {(12<<2)|2,{114,108,0}}, +/* 45697 */ {(12<<2)|2,{114,108,0}}, +/* 45698 */ {(12<<2)|2,{114,108,0}}, +/* 45699 */ {(12<<2)|2,{114,108,0}}, +/* 45700 */ {(12<<2)|2,{114,108,0}}, +/* 45701 */ {(12<<2)|2,{114,108,0}}, +/* 45702 */ {(12<<2)|2,{114,108,0}}, +/* 45703 */ {(12<<2)|2,{114,108,0}}, +/* 45704 */ {(12<<2)|2,{114,108,0}}, +/* 45705 */ {(12<<2)|2,{114,108,0}}, +/* 45706 */ {(12<<2)|2,{114,108,0}}, +/* 45707 */ {(12<<2)|2,{114,108,0}}, +/* 45708 */ {(12<<2)|2,{114,108,0}}, +/* 45709 */ {(12<<2)|2,{114,108,0}}, +/* 45710 */ {(12<<2)|2,{114,108,0}}, +/* 45711 */ {(12<<2)|2,{114,108,0}}, +/* 45712 */ {(12<<2)|2,{114,109,0}}, +/* 45713 */ {(12<<2)|2,{114,109,0}}, +/* 45714 */ {(12<<2)|2,{114,109,0}}, +/* 45715 */ {(12<<2)|2,{114,109,0}}, +/* 45716 */ {(12<<2)|2,{114,109,0}}, +/* 45717 */ {(12<<2)|2,{114,109,0}}, +/* 45718 */ {(12<<2)|2,{114,109,0}}, +/* 45719 */ {(12<<2)|2,{114,109,0}}, +/* 45720 */ {(12<<2)|2,{114,109,0}}, +/* 45721 */ {(12<<2)|2,{114,109,0}}, +/* 45722 */ {(12<<2)|2,{114,109,0}}, +/* 45723 */ {(12<<2)|2,{114,109,0}}, +/* 45724 */ {(12<<2)|2,{114,109,0}}, +/* 45725 */ {(12<<2)|2,{114,109,0}}, +/* 45726 */ {(12<<2)|2,{114,109,0}}, +/* 45727 */ {(12<<2)|2,{114,109,0}}, +/* 45728 */ {(12<<2)|2,{114,110,0}}, +/* 45729 */ {(12<<2)|2,{114,110,0}}, +/* 45730 */ {(12<<2)|2,{114,110,0}}, +/* 45731 */ {(12<<2)|2,{114,110,0}}, +/* 45732 */ {(12<<2)|2,{114,110,0}}, +/* 45733 */ {(12<<2)|2,{114,110,0}}, +/* 45734 */ {(12<<2)|2,{114,110,0}}, +/* 45735 */ {(12<<2)|2,{114,110,0}}, +/* 45736 */ {(12<<2)|2,{114,110,0}}, +/* 45737 */ {(12<<2)|2,{114,110,0}}, +/* 45738 */ {(12<<2)|2,{114,110,0}}, +/* 45739 */ {(12<<2)|2,{114,110,0}}, +/* 45740 */ {(12<<2)|2,{114,110,0}}, +/* 45741 */ {(12<<2)|2,{114,110,0}}, +/* 45742 */ {(12<<2)|2,{114,110,0}}, +/* 45743 */ {(12<<2)|2,{114,110,0}}, +/* 45744 */ {(12<<2)|2,{114,112,0}}, +/* 45745 */ {(12<<2)|2,{114,112,0}}, +/* 45746 */ {(12<<2)|2,{114,112,0}}, +/* 45747 */ {(12<<2)|2,{114,112,0}}, +/* 45748 */ {(12<<2)|2,{114,112,0}}, +/* 45749 */ {(12<<2)|2,{114,112,0}}, +/* 45750 */ {(12<<2)|2,{114,112,0}}, +/* 45751 */ {(12<<2)|2,{114,112,0}}, +/* 45752 */ {(12<<2)|2,{114,112,0}}, +/* 45753 */ {(12<<2)|2,{114,112,0}}, +/* 45754 */ {(12<<2)|2,{114,112,0}}, +/* 45755 */ {(12<<2)|2,{114,112,0}}, +/* 45756 */ {(12<<2)|2,{114,112,0}}, +/* 45757 */ {(12<<2)|2,{114,112,0}}, +/* 45758 */ {(12<<2)|2,{114,112,0}}, +/* 45759 */ {(12<<2)|2,{114,112,0}}, +/* 45760 */ {(12<<2)|2,{114,114,0}}, +/* 45761 */ {(12<<2)|2,{114,114,0}}, +/* 45762 */ {(12<<2)|2,{114,114,0}}, +/* 45763 */ {(12<<2)|2,{114,114,0}}, +/* 45764 */ {(12<<2)|2,{114,114,0}}, +/* 45765 */ {(12<<2)|2,{114,114,0}}, +/* 45766 */ {(12<<2)|2,{114,114,0}}, +/* 45767 */ {(12<<2)|2,{114,114,0}}, +/* 45768 */ {(12<<2)|2,{114,114,0}}, +/* 45769 */ {(12<<2)|2,{114,114,0}}, +/* 45770 */ {(12<<2)|2,{114,114,0}}, +/* 45771 */ {(12<<2)|2,{114,114,0}}, +/* 45772 */ {(12<<2)|2,{114,114,0}}, +/* 45773 */ {(12<<2)|2,{114,114,0}}, +/* 45774 */ {(12<<2)|2,{114,114,0}}, +/* 45775 */ {(12<<2)|2,{114,114,0}}, +/* 45776 */ {(12<<2)|2,{114,117,0}}, +/* 45777 */ {(12<<2)|2,{114,117,0}}, +/* 45778 */ {(12<<2)|2,{114,117,0}}, +/* 45779 */ {(12<<2)|2,{114,117,0}}, +/* 45780 */ {(12<<2)|2,{114,117,0}}, +/* 45781 */ {(12<<2)|2,{114,117,0}}, +/* 45782 */ {(12<<2)|2,{114,117,0}}, +/* 45783 */ {(12<<2)|2,{114,117,0}}, +/* 45784 */ {(12<<2)|2,{114,117,0}}, +/* 45785 */ {(12<<2)|2,{114,117,0}}, +/* 45786 */ {(12<<2)|2,{114,117,0}}, +/* 45787 */ {(12<<2)|2,{114,117,0}}, +/* 45788 */ {(12<<2)|2,{114,117,0}}, +/* 45789 */ {(12<<2)|2,{114,117,0}}, +/* 45790 */ {(12<<2)|2,{114,117,0}}, +/* 45791 */ {(12<<2)|2,{114,117,0}}, +/* 45792 */ {(13<<2)|2,{114,58,0}}, +/* 45793 */ {(13<<2)|2,{114,58,0}}, +/* 45794 */ {(13<<2)|2,{114,58,0}}, +/* 45795 */ {(13<<2)|2,{114,58,0}}, +/* 45796 */ {(13<<2)|2,{114,58,0}}, +/* 45797 */ {(13<<2)|2,{114,58,0}}, +/* 45798 */ {(13<<2)|2,{114,58,0}}, +/* 45799 */ {(13<<2)|2,{114,58,0}}, +/* 45800 */ {(13<<2)|2,{114,66,0}}, +/* 45801 */ {(13<<2)|2,{114,66,0}}, +/* 45802 */ {(13<<2)|2,{114,66,0}}, +/* 45803 */ {(13<<2)|2,{114,66,0}}, +/* 45804 */ {(13<<2)|2,{114,66,0}}, +/* 45805 */ {(13<<2)|2,{114,66,0}}, +/* 45806 */ {(13<<2)|2,{114,66,0}}, +/* 45807 */ {(13<<2)|2,{114,66,0}}, +/* 45808 */ {(13<<2)|2,{114,67,0}}, +/* 45809 */ {(13<<2)|2,{114,67,0}}, +/* 45810 */ {(13<<2)|2,{114,67,0}}, +/* 45811 */ {(13<<2)|2,{114,67,0}}, +/* 45812 */ {(13<<2)|2,{114,67,0}}, +/* 45813 */ {(13<<2)|2,{114,67,0}}, +/* 45814 */ {(13<<2)|2,{114,67,0}}, +/* 45815 */ {(13<<2)|2,{114,67,0}}, +/* 45816 */ {(13<<2)|2,{114,68,0}}, +/* 45817 */ {(13<<2)|2,{114,68,0}}, +/* 45818 */ {(13<<2)|2,{114,68,0}}, +/* 45819 */ {(13<<2)|2,{114,68,0}}, +/* 45820 */ {(13<<2)|2,{114,68,0}}, +/* 45821 */ {(13<<2)|2,{114,68,0}}, +/* 45822 */ {(13<<2)|2,{114,68,0}}, +/* 45823 */ {(13<<2)|2,{114,68,0}}, +/* 45824 */ {(13<<2)|2,{114,69,0}}, +/* 45825 */ {(13<<2)|2,{114,69,0}}, +/* 45826 */ {(13<<2)|2,{114,69,0}}, +/* 45827 */ {(13<<2)|2,{114,69,0}}, +/* 45828 */ {(13<<2)|2,{114,69,0}}, +/* 45829 */ {(13<<2)|2,{114,69,0}}, +/* 45830 */ {(13<<2)|2,{114,69,0}}, +/* 45831 */ {(13<<2)|2,{114,69,0}}, +/* 45832 */ {(13<<2)|2,{114,70,0}}, +/* 45833 */ {(13<<2)|2,{114,70,0}}, +/* 45834 */ {(13<<2)|2,{114,70,0}}, +/* 45835 */ {(13<<2)|2,{114,70,0}}, +/* 45836 */ {(13<<2)|2,{114,70,0}}, +/* 45837 */ {(13<<2)|2,{114,70,0}}, +/* 45838 */ {(13<<2)|2,{114,70,0}}, +/* 45839 */ {(13<<2)|2,{114,70,0}}, +/* 45840 */ {(13<<2)|2,{114,71,0}}, +/* 45841 */ {(13<<2)|2,{114,71,0}}, +/* 45842 */ {(13<<2)|2,{114,71,0}}, +/* 45843 */ {(13<<2)|2,{114,71,0}}, +/* 45844 */ {(13<<2)|2,{114,71,0}}, +/* 45845 */ {(13<<2)|2,{114,71,0}}, +/* 45846 */ {(13<<2)|2,{114,71,0}}, +/* 45847 */ {(13<<2)|2,{114,71,0}}, +/* 45848 */ {(13<<2)|2,{114,72,0}}, +/* 45849 */ {(13<<2)|2,{114,72,0}}, +/* 45850 */ {(13<<2)|2,{114,72,0}}, +/* 45851 */ {(13<<2)|2,{114,72,0}}, +/* 45852 */ {(13<<2)|2,{114,72,0}}, +/* 45853 */ {(13<<2)|2,{114,72,0}}, +/* 45854 */ {(13<<2)|2,{114,72,0}}, +/* 45855 */ {(13<<2)|2,{114,72,0}}, +/* 45856 */ {(13<<2)|2,{114,73,0}}, +/* 45857 */ {(13<<2)|2,{114,73,0}}, +/* 45858 */ {(13<<2)|2,{114,73,0}}, +/* 45859 */ {(13<<2)|2,{114,73,0}}, +/* 45860 */ {(13<<2)|2,{114,73,0}}, +/* 45861 */ {(13<<2)|2,{114,73,0}}, +/* 45862 */ {(13<<2)|2,{114,73,0}}, +/* 45863 */ {(13<<2)|2,{114,73,0}}, +/* 45864 */ {(13<<2)|2,{114,74,0}}, +/* 45865 */ {(13<<2)|2,{114,74,0}}, +/* 45866 */ {(13<<2)|2,{114,74,0}}, +/* 45867 */ {(13<<2)|2,{114,74,0}}, +/* 45868 */ {(13<<2)|2,{114,74,0}}, +/* 45869 */ {(13<<2)|2,{114,74,0}}, +/* 45870 */ {(13<<2)|2,{114,74,0}}, +/* 45871 */ {(13<<2)|2,{114,74,0}}, +/* 45872 */ {(13<<2)|2,{114,75,0}}, +/* 45873 */ {(13<<2)|2,{114,75,0}}, +/* 45874 */ {(13<<2)|2,{114,75,0}}, +/* 45875 */ {(13<<2)|2,{114,75,0}}, +/* 45876 */ {(13<<2)|2,{114,75,0}}, +/* 45877 */ {(13<<2)|2,{114,75,0}}, +/* 45878 */ {(13<<2)|2,{114,75,0}}, +/* 45879 */ {(13<<2)|2,{114,75,0}}, +/* 45880 */ {(13<<2)|2,{114,76,0}}, +/* 45881 */ {(13<<2)|2,{114,76,0}}, +/* 45882 */ {(13<<2)|2,{114,76,0}}, +/* 45883 */ {(13<<2)|2,{114,76,0}}, +/* 45884 */ {(13<<2)|2,{114,76,0}}, +/* 45885 */ {(13<<2)|2,{114,76,0}}, +/* 45886 */ {(13<<2)|2,{114,76,0}}, +/* 45887 */ {(13<<2)|2,{114,76,0}}, +/* 45888 */ {(13<<2)|2,{114,77,0}}, +/* 45889 */ {(13<<2)|2,{114,77,0}}, +/* 45890 */ {(13<<2)|2,{114,77,0}}, +/* 45891 */ {(13<<2)|2,{114,77,0}}, +/* 45892 */ {(13<<2)|2,{114,77,0}}, +/* 45893 */ {(13<<2)|2,{114,77,0}}, +/* 45894 */ {(13<<2)|2,{114,77,0}}, +/* 45895 */ {(13<<2)|2,{114,77,0}}, +/* 45896 */ {(13<<2)|2,{114,78,0}}, +/* 45897 */ {(13<<2)|2,{114,78,0}}, +/* 45898 */ {(13<<2)|2,{114,78,0}}, +/* 45899 */ {(13<<2)|2,{114,78,0}}, +/* 45900 */ {(13<<2)|2,{114,78,0}}, +/* 45901 */ {(13<<2)|2,{114,78,0}}, +/* 45902 */ {(13<<2)|2,{114,78,0}}, +/* 45903 */ {(13<<2)|2,{114,78,0}}, +/* 45904 */ {(13<<2)|2,{114,79,0}}, +/* 45905 */ {(13<<2)|2,{114,79,0}}, +/* 45906 */ {(13<<2)|2,{114,79,0}}, +/* 45907 */ {(13<<2)|2,{114,79,0}}, +/* 45908 */ {(13<<2)|2,{114,79,0}}, +/* 45909 */ {(13<<2)|2,{114,79,0}}, +/* 45910 */ {(13<<2)|2,{114,79,0}}, +/* 45911 */ {(13<<2)|2,{114,79,0}}, +/* 45912 */ {(13<<2)|2,{114,80,0}}, +/* 45913 */ {(13<<2)|2,{114,80,0}}, +/* 45914 */ {(13<<2)|2,{114,80,0}}, +/* 45915 */ {(13<<2)|2,{114,80,0}}, +/* 45916 */ {(13<<2)|2,{114,80,0}}, +/* 45917 */ {(13<<2)|2,{114,80,0}}, +/* 45918 */ {(13<<2)|2,{114,80,0}}, +/* 45919 */ {(13<<2)|2,{114,80,0}}, +/* 45920 */ {(13<<2)|2,{114,81,0}}, +/* 45921 */ {(13<<2)|2,{114,81,0}}, +/* 45922 */ {(13<<2)|2,{114,81,0}}, +/* 45923 */ {(13<<2)|2,{114,81,0}}, +/* 45924 */ {(13<<2)|2,{114,81,0}}, +/* 45925 */ {(13<<2)|2,{114,81,0}}, +/* 45926 */ {(13<<2)|2,{114,81,0}}, +/* 45927 */ {(13<<2)|2,{114,81,0}}, +/* 45928 */ {(13<<2)|2,{114,82,0}}, +/* 45929 */ {(13<<2)|2,{114,82,0}}, +/* 45930 */ {(13<<2)|2,{114,82,0}}, +/* 45931 */ {(13<<2)|2,{114,82,0}}, +/* 45932 */ {(13<<2)|2,{114,82,0}}, +/* 45933 */ {(13<<2)|2,{114,82,0}}, +/* 45934 */ {(13<<2)|2,{114,82,0}}, +/* 45935 */ {(13<<2)|2,{114,82,0}}, +/* 45936 */ {(13<<2)|2,{114,83,0}}, +/* 45937 */ {(13<<2)|2,{114,83,0}}, +/* 45938 */ {(13<<2)|2,{114,83,0}}, +/* 45939 */ {(13<<2)|2,{114,83,0}}, +/* 45940 */ {(13<<2)|2,{114,83,0}}, +/* 45941 */ {(13<<2)|2,{114,83,0}}, +/* 45942 */ {(13<<2)|2,{114,83,0}}, +/* 45943 */ {(13<<2)|2,{114,83,0}}, +/* 45944 */ {(13<<2)|2,{114,84,0}}, +/* 45945 */ {(13<<2)|2,{114,84,0}}, +/* 45946 */ {(13<<2)|2,{114,84,0}}, +/* 45947 */ {(13<<2)|2,{114,84,0}}, +/* 45948 */ {(13<<2)|2,{114,84,0}}, +/* 45949 */ {(13<<2)|2,{114,84,0}}, +/* 45950 */ {(13<<2)|2,{114,84,0}}, +/* 45951 */ {(13<<2)|2,{114,84,0}}, +/* 45952 */ {(13<<2)|2,{114,85,0}}, +/* 45953 */ {(13<<2)|2,{114,85,0}}, +/* 45954 */ {(13<<2)|2,{114,85,0}}, +/* 45955 */ {(13<<2)|2,{114,85,0}}, +/* 45956 */ {(13<<2)|2,{114,85,0}}, +/* 45957 */ {(13<<2)|2,{114,85,0}}, +/* 45958 */ {(13<<2)|2,{114,85,0}}, +/* 45959 */ {(13<<2)|2,{114,85,0}}, +/* 45960 */ {(13<<2)|2,{114,86,0}}, +/* 45961 */ {(13<<2)|2,{114,86,0}}, +/* 45962 */ {(13<<2)|2,{114,86,0}}, +/* 45963 */ {(13<<2)|2,{114,86,0}}, +/* 45964 */ {(13<<2)|2,{114,86,0}}, +/* 45965 */ {(13<<2)|2,{114,86,0}}, +/* 45966 */ {(13<<2)|2,{114,86,0}}, +/* 45967 */ {(13<<2)|2,{114,86,0}}, +/* 45968 */ {(13<<2)|2,{114,87,0}}, +/* 45969 */ {(13<<2)|2,{114,87,0}}, +/* 45970 */ {(13<<2)|2,{114,87,0}}, +/* 45971 */ {(13<<2)|2,{114,87,0}}, +/* 45972 */ {(13<<2)|2,{114,87,0}}, +/* 45973 */ {(13<<2)|2,{114,87,0}}, +/* 45974 */ {(13<<2)|2,{114,87,0}}, +/* 45975 */ {(13<<2)|2,{114,87,0}}, +/* 45976 */ {(13<<2)|2,{114,89,0}}, +/* 45977 */ {(13<<2)|2,{114,89,0}}, +/* 45978 */ {(13<<2)|2,{114,89,0}}, +/* 45979 */ {(13<<2)|2,{114,89,0}}, +/* 45980 */ {(13<<2)|2,{114,89,0}}, +/* 45981 */ {(13<<2)|2,{114,89,0}}, +/* 45982 */ {(13<<2)|2,{114,89,0}}, +/* 45983 */ {(13<<2)|2,{114,89,0}}, +/* 45984 */ {(13<<2)|2,{114,106,0}}, +/* 45985 */ {(13<<2)|2,{114,106,0}}, +/* 45986 */ {(13<<2)|2,{114,106,0}}, +/* 45987 */ {(13<<2)|2,{114,106,0}}, +/* 45988 */ {(13<<2)|2,{114,106,0}}, +/* 45989 */ {(13<<2)|2,{114,106,0}}, +/* 45990 */ {(13<<2)|2,{114,106,0}}, +/* 45991 */ {(13<<2)|2,{114,106,0}}, +/* 45992 */ {(13<<2)|2,{114,107,0}}, +/* 45993 */ {(13<<2)|2,{114,107,0}}, +/* 45994 */ {(13<<2)|2,{114,107,0}}, +/* 45995 */ {(13<<2)|2,{114,107,0}}, +/* 45996 */ {(13<<2)|2,{114,107,0}}, +/* 45997 */ {(13<<2)|2,{114,107,0}}, +/* 45998 */ {(13<<2)|2,{114,107,0}}, +/* 45999 */ {(13<<2)|2,{114,107,0}}, +/* 46000 */ {(13<<2)|2,{114,113,0}}, +/* 46001 */ {(13<<2)|2,{114,113,0}}, +/* 46002 */ {(13<<2)|2,{114,113,0}}, +/* 46003 */ {(13<<2)|2,{114,113,0}}, +/* 46004 */ {(13<<2)|2,{114,113,0}}, +/* 46005 */ {(13<<2)|2,{114,113,0}}, +/* 46006 */ {(13<<2)|2,{114,113,0}}, +/* 46007 */ {(13<<2)|2,{114,113,0}}, +/* 46008 */ {(13<<2)|2,{114,118,0}}, +/* 46009 */ {(13<<2)|2,{114,118,0}}, +/* 46010 */ {(13<<2)|2,{114,118,0}}, +/* 46011 */ {(13<<2)|2,{114,118,0}}, +/* 46012 */ {(13<<2)|2,{114,118,0}}, +/* 46013 */ {(13<<2)|2,{114,118,0}}, +/* 46014 */ {(13<<2)|2,{114,118,0}}, +/* 46015 */ {(13<<2)|2,{114,118,0}}, +/* 46016 */ {(13<<2)|2,{114,119,0}}, +/* 46017 */ {(13<<2)|2,{114,119,0}}, +/* 46018 */ {(13<<2)|2,{114,119,0}}, +/* 46019 */ {(13<<2)|2,{114,119,0}}, +/* 46020 */ {(13<<2)|2,{114,119,0}}, +/* 46021 */ {(13<<2)|2,{114,119,0}}, +/* 46022 */ {(13<<2)|2,{114,119,0}}, +/* 46023 */ {(13<<2)|2,{114,119,0}}, +/* 46024 */ {(13<<2)|2,{114,120,0}}, +/* 46025 */ {(13<<2)|2,{114,120,0}}, +/* 46026 */ {(13<<2)|2,{114,120,0}}, +/* 46027 */ {(13<<2)|2,{114,120,0}}, +/* 46028 */ {(13<<2)|2,{114,120,0}}, +/* 46029 */ {(13<<2)|2,{114,120,0}}, +/* 46030 */ {(13<<2)|2,{114,120,0}}, +/* 46031 */ {(13<<2)|2,{114,120,0}}, +/* 46032 */ {(13<<2)|2,{114,121,0}}, +/* 46033 */ {(13<<2)|2,{114,121,0}}, +/* 46034 */ {(13<<2)|2,{114,121,0}}, +/* 46035 */ {(13<<2)|2,{114,121,0}}, +/* 46036 */ {(13<<2)|2,{114,121,0}}, +/* 46037 */ {(13<<2)|2,{114,121,0}}, +/* 46038 */ {(13<<2)|2,{114,121,0}}, +/* 46039 */ {(13<<2)|2,{114,121,0}}, +/* 46040 */ {(13<<2)|2,{114,122,0}}, +/* 46041 */ {(13<<2)|2,{114,122,0}}, +/* 46042 */ {(13<<2)|2,{114,122,0}}, +/* 46043 */ {(13<<2)|2,{114,122,0}}, +/* 46044 */ {(13<<2)|2,{114,122,0}}, +/* 46045 */ {(13<<2)|2,{114,122,0}}, +/* 46046 */ {(13<<2)|2,{114,122,0}}, +/* 46047 */ {(13<<2)|2,{114,122,0}}, +/* 46048 */ {(14<<2)|2,{114,38,0}}, +/* 46049 */ {(14<<2)|2,{114,38,0}}, +/* 46050 */ {(14<<2)|2,{114,38,0}}, +/* 46051 */ {(14<<2)|2,{114,38,0}}, +/* 46052 */ {(14<<2)|2,{114,42,0}}, +/* 46053 */ {(14<<2)|2,{114,42,0}}, +/* 46054 */ {(14<<2)|2,{114,42,0}}, +/* 46055 */ {(14<<2)|2,{114,42,0}}, +/* 46056 */ {(14<<2)|2,{114,44,0}}, +/* 46057 */ {(14<<2)|2,{114,44,0}}, +/* 46058 */ {(14<<2)|2,{114,44,0}}, +/* 46059 */ {(14<<2)|2,{114,44,0}}, +/* 46060 */ {(14<<2)|2,{114,59,0}}, +/* 46061 */ {(14<<2)|2,{114,59,0}}, +/* 46062 */ {(14<<2)|2,{114,59,0}}, +/* 46063 */ {(14<<2)|2,{114,59,0}}, +/* 46064 */ {(14<<2)|2,{114,88,0}}, +/* 46065 */ {(14<<2)|2,{114,88,0}}, +/* 46066 */ {(14<<2)|2,{114,88,0}}, +/* 46067 */ {(14<<2)|2,{114,88,0}}, +/* 46068 */ {(14<<2)|2,{114,90,0}}, +/* 46069 */ {(14<<2)|2,{114,90,0}}, +/* 46070 */ {(14<<2)|2,{114,90,0}}, +/* 46071 */ {(14<<2)|2,{114,90,0}}, +/* 46072 */ {(16<<2)|2,{114,33,0}}, +/* 46073 */ {(16<<2)|2,{114,34,0}}, +/* 46074 */ {(16<<2)|2,{114,40,0}}, +/* 46075 */ {(16<<2)|2,{114,41,0}}, +/* 46076 */ {(16<<2)|2,{114,63,0}}, +/* 46077 */ {(6<<2)|1,{114,0,0}}, +/* 46078 */ {(6<<2)|1,{114,0,0}}, +/* 46079 */ {(6<<2)|1,{114,0,0}}, +/* 46080 */ {(16<<2)|3,{117,48,48}}, +/* 46081 */ {(16<<2)|3,{117,48,49}}, +/* 46082 */ {(16<<2)|3,{117,48,50}}, +/* 46083 */ {(16<<2)|3,{117,48,97}}, +/* 46084 */ {(16<<2)|3,{117,48,99}}, +/* 46085 */ {(16<<2)|3,{117,48,101}}, +/* 46086 */ {(16<<2)|3,{117,48,105}}, +/* 46087 */ {(16<<2)|3,{117,48,111}}, +/* 46088 */ {(16<<2)|3,{117,48,115}}, +/* 46089 */ {(16<<2)|3,{117,48,116}}, +/* 46090 */ {(11<<2)|2,{117,48,0}}, +/* 46091 */ {(11<<2)|2,{117,48,0}}, +/* 46092 */ {(11<<2)|2,{117,48,0}}, +/* 46093 */ {(11<<2)|2,{117,48,0}}, +/* 46094 */ {(11<<2)|2,{117,48,0}}, +/* 46095 */ {(11<<2)|2,{117,48,0}}, +/* 46096 */ {(11<<2)|2,{117,48,0}}, +/* 46097 */ {(11<<2)|2,{117,48,0}}, +/* 46098 */ {(11<<2)|2,{117,48,0}}, +/* 46099 */ {(11<<2)|2,{117,48,0}}, +/* 46100 */ {(11<<2)|2,{117,48,0}}, +/* 46101 */ {(11<<2)|2,{117,48,0}}, +/* 46102 */ {(11<<2)|2,{117,48,0}}, +/* 46103 */ {(11<<2)|2,{117,48,0}}, +/* 46104 */ {(11<<2)|2,{117,48,0}}, +/* 46105 */ {(11<<2)|2,{117,48,0}}, +/* 46106 */ {(11<<2)|2,{117,48,0}}, +/* 46107 */ {(11<<2)|2,{117,48,0}}, +/* 46108 */ {(11<<2)|2,{117,48,0}}, +/* 46109 */ {(11<<2)|2,{117,48,0}}, +/* 46110 */ {(11<<2)|2,{117,48,0}}, +/* 46111 */ {(11<<2)|2,{117,48,0}}, +/* 46112 */ {(16<<2)|3,{117,49,48}}, +/* 46113 */ {(16<<2)|3,{117,49,49}}, +/* 46114 */ {(16<<2)|3,{117,49,50}}, +/* 46115 */ {(16<<2)|3,{117,49,97}}, +/* 46116 */ {(16<<2)|3,{117,49,99}}, +/* 46117 */ {(16<<2)|3,{117,49,101}}, +/* 46118 */ {(16<<2)|3,{117,49,105}}, +/* 46119 */ {(16<<2)|3,{117,49,111}}, +/* 46120 */ {(16<<2)|3,{117,49,115}}, +/* 46121 */ {(16<<2)|3,{117,49,116}}, +/* 46122 */ {(11<<2)|2,{117,49,0}}, +/* 46123 */ {(11<<2)|2,{117,49,0}}, +/* 46124 */ {(11<<2)|2,{117,49,0}}, +/* 46125 */ {(11<<2)|2,{117,49,0}}, +/* 46126 */ {(11<<2)|2,{117,49,0}}, +/* 46127 */ {(11<<2)|2,{117,49,0}}, +/* 46128 */ {(11<<2)|2,{117,49,0}}, +/* 46129 */ {(11<<2)|2,{117,49,0}}, +/* 46130 */ {(11<<2)|2,{117,49,0}}, +/* 46131 */ {(11<<2)|2,{117,49,0}}, +/* 46132 */ {(11<<2)|2,{117,49,0}}, +/* 46133 */ {(11<<2)|2,{117,49,0}}, +/* 46134 */ {(11<<2)|2,{117,49,0}}, +/* 46135 */ {(11<<2)|2,{117,49,0}}, +/* 46136 */ {(11<<2)|2,{117,49,0}}, +/* 46137 */ {(11<<2)|2,{117,49,0}}, +/* 46138 */ {(11<<2)|2,{117,49,0}}, +/* 46139 */ {(11<<2)|2,{117,49,0}}, +/* 46140 */ {(11<<2)|2,{117,49,0}}, +/* 46141 */ {(11<<2)|2,{117,49,0}}, +/* 46142 */ {(11<<2)|2,{117,49,0}}, +/* 46143 */ {(11<<2)|2,{117,49,0}}, +/* 46144 */ {(16<<2)|3,{117,50,48}}, +/* 46145 */ {(16<<2)|3,{117,50,49}}, +/* 46146 */ {(16<<2)|3,{117,50,50}}, +/* 46147 */ {(16<<2)|3,{117,50,97}}, +/* 46148 */ {(16<<2)|3,{117,50,99}}, +/* 46149 */ {(16<<2)|3,{117,50,101}}, +/* 46150 */ {(16<<2)|3,{117,50,105}}, +/* 46151 */ {(16<<2)|3,{117,50,111}}, +/* 46152 */ {(16<<2)|3,{117,50,115}}, +/* 46153 */ {(16<<2)|3,{117,50,116}}, +/* 46154 */ {(11<<2)|2,{117,50,0}}, +/* 46155 */ {(11<<2)|2,{117,50,0}}, +/* 46156 */ {(11<<2)|2,{117,50,0}}, +/* 46157 */ {(11<<2)|2,{117,50,0}}, +/* 46158 */ {(11<<2)|2,{117,50,0}}, +/* 46159 */ {(11<<2)|2,{117,50,0}}, +/* 46160 */ {(11<<2)|2,{117,50,0}}, +/* 46161 */ {(11<<2)|2,{117,50,0}}, +/* 46162 */ {(11<<2)|2,{117,50,0}}, +/* 46163 */ {(11<<2)|2,{117,50,0}}, +/* 46164 */ {(11<<2)|2,{117,50,0}}, +/* 46165 */ {(11<<2)|2,{117,50,0}}, +/* 46166 */ {(11<<2)|2,{117,50,0}}, +/* 46167 */ {(11<<2)|2,{117,50,0}}, +/* 46168 */ {(11<<2)|2,{117,50,0}}, +/* 46169 */ {(11<<2)|2,{117,50,0}}, +/* 46170 */ {(11<<2)|2,{117,50,0}}, +/* 46171 */ {(11<<2)|2,{117,50,0}}, +/* 46172 */ {(11<<2)|2,{117,50,0}}, +/* 46173 */ {(11<<2)|2,{117,50,0}}, +/* 46174 */ {(11<<2)|2,{117,50,0}}, +/* 46175 */ {(11<<2)|2,{117,50,0}}, +/* 46176 */ {(16<<2)|3,{117,97,48}}, +/* 46177 */ {(16<<2)|3,{117,97,49}}, +/* 46178 */ {(16<<2)|3,{117,97,50}}, +/* 46179 */ {(16<<2)|3,{117,97,97}}, +/* 46180 */ {(16<<2)|3,{117,97,99}}, +/* 46181 */ {(16<<2)|3,{117,97,101}}, +/* 46182 */ {(16<<2)|3,{117,97,105}}, +/* 46183 */ {(16<<2)|3,{117,97,111}}, +/* 46184 */ {(16<<2)|3,{117,97,115}}, +/* 46185 */ {(16<<2)|3,{117,97,116}}, +/* 46186 */ {(11<<2)|2,{117,97,0}}, +/* 46187 */ {(11<<2)|2,{117,97,0}}, +/* 46188 */ {(11<<2)|2,{117,97,0}}, +/* 46189 */ {(11<<2)|2,{117,97,0}}, +/* 46190 */ {(11<<2)|2,{117,97,0}}, +/* 46191 */ {(11<<2)|2,{117,97,0}}, +/* 46192 */ {(11<<2)|2,{117,97,0}}, +/* 46193 */ {(11<<2)|2,{117,97,0}}, +/* 46194 */ {(11<<2)|2,{117,97,0}}, +/* 46195 */ {(11<<2)|2,{117,97,0}}, +/* 46196 */ {(11<<2)|2,{117,97,0}}, +/* 46197 */ {(11<<2)|2,{117,97,0}}, +/* 46198 */ {(11<<2)|2,{117,97,0}}, +/* 46199 */ {(11<<2)|2,{117,97,0}}, +/* 46200 */ {(11<<2)|2,{117,97,0}}, +/* 46201 */ {(11<<2)|2,{117,97,0}}, +/* 46202 */ {(11<<2)|2,{117,97,0}}, +/* 46203 */ {(11<<2)|2,{117,97,0}}, +/* 46204 */ {(11<<2)|2,{117,97,0}}, +/* 46205 */ {(11<<2)|2,{117,97,0}}, +/* 46206 */ {(11<<2)|2,{117,97,0}}, +/* 46207 */ {(11<<2)|2,{117,97,0}}, +/* 46208 */ {(16<<2)|3,{117,99,48}}, +/* 46209 */ {(16<<2)|3,{117,99,49}}, +/* 46210 */ {(16<<2)|3,{117,99,50}}, +/* 46211 */ {(16<<2)|3,{117,99,97}}, +/* 46212 */ {(16<<2)|3,{117,99,99}}, +/* 46213 */ {(16<<2)|3,{117,99,101}}, +/* 46214 */ {(16<<2)|3,{117,99,105}}, +/* 46215 */ {(16<<2)|3,{117,99,111}}, +/* 46216 */ {(16<<2)|3,{117,99,115}}, +/* 46217 */ {(16<<2)|3,{117,99,116}}, +/* 46218 */ {(11<<2)|2,{117,99,0}}, +/* 46219 */ {(11<<2)|2,{117,99,0}}, +/* 46220 */ {(11<<2)|2,{117,99,0}}, +/* 46221 */ {(11<<2)|2,{117,99,0}}, +/* 46222 */ {(11<<2)|2,{117,99,0}}, +/* 46223 */ {(11<<2)|2,{117,99,0}}, +/* 46224 */ {(11<<2)|2,{117,99,0}}, +/* 46225 */ {(11<<2)|2,{117,99,0}}, +/* 46226 */ {(11<<2)|2,{117,99,0}}, +/* 46227 */ {(11<<2)|2,{117,99,0}}, +/* 46228 */ {(11<<2)|2,{117,99,0}}, +/* 46229 */ {(11<<2)|2,{117,99,0}}, +/* 46230 */ {(11<<2)|2,{117,99,0}}, +/* 46231 */ {(11<<2)|2,{117,99,0}}, +/* 46232 */ {(11<<2)|2,{117,99,0}}, +/* 46233 */ {(11<<2)|2,{117,99,0}}, +/* 46234 */ {(11<<2)|2,{117,99,0}}, +/* 46235 */ {(11<<2)|2,{117,99,0}}, +/* 46236 */ {(11<<2)|2,{117,99,0}}, +/* 46237 */ {(11<<2)|2,{117,99,0}}, +/* 46238 */ {(11<<2)|2,{117,99,0}}, +/* 46239 */ {(11<<2)|2,{117,99,0}}, +/* 46240 */ {(16<<2)|3,{117,101,48}}, +/* 46241 */ {(16<<2)|3,{117,101,49}}, +/* 46242 */ {(16<<2)|3,{117,101,50}}, +/* 46243 */ {(16<<2)|3,{117,101,97}}, +/* 46244 */ {(16<<2)|3,{117,101,99}}, +/* 46245 */ {(16<<2)|3,{117,101,101}}, +/* 46246 */ {(16<<2)|3,{117,101,105}}, +/* 46247 */ {(16<<2)|3,{117,101,111}}, +/* 46248 */ {(16<<2)|3,{117,101,115}}, +/* 46249 */ {(16<<2)|3,{117,101,116}}, +/* 46250 */ {(11<<2)|2,{117,101,0}}, +/* 46251 */ {(11<<2)|2,{117,101,0}}, +/* 46252 */ {(11<<2)|2,{117,101,0}}, +/* 46253 */ {(11<<2)|2,{117,101,0}}, +/* 46254 */ {(11<<2)|2,{117,101,0}}, +/* 46255 */ {(11<<2)|2,{117,101,0}}, +/* 46256 */ {(11<<2)|2,{117,101,0}}, +/* 46257 */ {(11<<2)|2,{117,101,0}}, +/* 46258 */ {(11<<2)|2,{117,101,0}}, +/* 46259 */ {(11<<2)|2,{117,101,0}}, +/* 46260 */ {(11<<2)|2,{117,101,0}}, +/* 46261 */ {(11<<2)|2,{117,101,0}}, +/* 46262 */ {(11<<2)|2,{117,101,0}}, +/* 46263 */ {(11<<2)|2,{117,101,0}}, +/* 46264 */ {(11<<2)|2,{117,101,0}}, +/* 46265 */ {(11<<2)|2,{117,101,0}}, +/* 46266 */ {(11<<2)|2,{117,101,0}}, +/* 46267 */ {(11<<2)|2,{117,101,0}}, +/* 46268 */ {(11<<2)|2,{117,101,0}}, +/* 46269 */ {(11<<2)|2,{117,101,0}}, +/* 46270 */ {(11<<2)|2,{117,101,0}}, +/* 46271 */ {(11<<2)|2,{117,101,0}}, +/* 46272 */ {(16<<2)|3,{117,105,48}}, +/* 46273 */ {(16<<2)|3,{117,105,49}}, +/* 46274 */ {(16<<2)|3,{117,105,50}}, +/* 46275 */ {(16<<2)|3,{117,105,97}}, +/* 46276 */ {(16<<2)|3,{117,105,99}}, +/* 46277 */ {(16<<2)|3,{117,105,101}}, +/* 46278 */ {(16<<2)|3,{117,105,105}}, +/* 46279 */ {(16<<2)|3,{117,105,111}}, +/* 46280 */ {(16<<2)|3,{117,105,115}}, +/* 46281 */ {(16<<2)|3,{117,105,116}}, +/* 46282 */ {(11<<2)|2,{117,105,0}}, +/* 46283 */ {(11<<2)|2,{117,105,0}}, +/* 46284 */ {(11<<2)|2,{117,105,0}}, +/* 46285 */ {(11<<2)|2,{117,105,0}}, +/* 46286 */ {(11<<2)|2,{117,105,0}}, +/* 46287 */ {(11<<2)|2,{117,105,0}}, +/* 46288 */ {(11<<2)|2,{117,105,0}}, +/* 46289 */ {(11<<2)|2,{117,105,0}}, +/* 46290 */ {(11<<2)|2,{117,105,0}}, +/* 46291 */ {(11<<2)|2,{117,105,0}}, +/* 46292 */ {(11<<2)|2,{117,105,0}}, +/* 46293 */ {(11<<2)|2,{117,105,0}}, +/* 46294 */ {(11<<2)|2,{117,105,0}}, +/* 46295 */ {(11<<2)|2,{117,105,0}}, +/* 46296 */ {(11<<2)|2,{117,105,0}}, +/* 46297 */ {(11<<2)|2,{117,105,0}}, +/* 46298 */ {(11<<2)|2,{117,105,0}}, +/* 46299 */ {(11<<2)|2,{117,105,0}}, +/* 46300 */ {(11<<2)|2,{117,105,0}}, +/* 46301 */ {(11<<2)|2,{117,105,0}}, +/* 46302 */ {(11<<2)|2,{117,105,0}}, +/* 46303 */ {(11<<2)|2,{117,105,0}}, +/* 46304 */ {(16<<2)|3,{117,111,48}}, +/* 46305 */ {(16<<2)|3,{117,111,49}}, +/* 46306 */ {(16<<2)|3,{117,111,50}}, +/* 46307 */ {(16<<2)|3,{117,111,97}}, +/* 46308 */ {(16<<2)|3,{117,111,99}}, +/* 46309 */ {(16<<2)|3,{117,111,101}}, +/* 46310 */ {(16<<2)|3,{117,111,105}}, +/* 46311 */ {(16<<2)|3,{117,111,111}}, +/* 46312 */ {(16<<2)|3,{117,111,115}}, +/* 46313 */ {(16<<2)|3,{117,111,116}}, +/* 46314 */ {(11<<2)|2,{117,111,0}}, +/* 46315 */ {(11<<2)|2,{117,111,0}}, +/* 46316 */ {(11<<2)|2,{117,111,0}}, +/* 46317 */ {(11<<2)|2,{117,111,0}}, +/* 46318 */ {(11<<2)|2,{117,111,0}}, +/* 46319 */ {(11<<2)|2,{117,111,0}}, +/* 46320 */ {(11<<2)|2,{117,111,0}}, +/* 46321 */ {(11<<2)|2,{117,111,0}}, +/* 46322 */ {(11<<2)|2,{117,111,0}}, +/* 46323 */ {(11<<2)|2,{117,111,0}}, +/* 46324 */ {(11<<2)|2,{117,111,0}}, +/* 46325 */ {(11<<2)|2,{117,111,0}}, +/* 46326 */ {(11<<2)|2,{117,111,0}}, +/* 46327 */ {(11<<2)|2,{117,111,0}}, +/* 46328 */ {(11<<2)|2,{117,111,0}}, +/* 46329 */ {(11<<2)|2,{117,111,0}}, +/* 46330 */ {(11<<2)|2,{117,111,0}}, +/* 46331 */ {(11<<2)|2,{117,111,0}}, +/* 46332 */ {(11<<2)|2,{117,111,0}}, +/* 46333 */ {(11<<2)|2,{117,111,0}}, +/* 46334 */ {(11<<2)|2,{117,111,0}}, +/* 46335 */ {(11<<2)|2,{117,111,0}}, +/* 46336 */ {(16<<2)|3,{117,115,48}}, +/* 46337 */ {(16<<2)|3,{117,115,49}}, +/* 46338 */ {(16<<2)|3,{117,115,50}}, +/* 46339 */ {(16<<2)|3,{117,115,97}}, +/* 46340 */ {(16<<2)|3,{117,115,99}}, +/* 46341 */ {(16<<2)|3,{117,115,101}}, +/* 46342 */ {(16<<2)|3,{117,115,105}}, +/* 46343 */ {(16<<2)|3,{117,115,111}}, +/* 46344 */ {(16<<2)|3,{117,115,115}}, +/* 46345 */ {(16<<2)|3,{117,115,116}}, +/* 46346 */ {(11<<2)|2,{117,115,0}}, +/* 46347 */ {(11<<2)|2,{117,115,0}}, +/* 46348 */ {(11<<2)|2,{117,115,0}}, +/* 46349 */ {(11<<2)|2,{117,115,0}}, +/* 46350 */ {(11<<2)|2,{117,115,0}}, +/* 46351 */ {(11<<2)|2,{117,115,0}}, +/* 46352 */ {(11<<2)|2,{117,115,0}}, +/* 46353 */ {(11<<2)|2,{117,115,0}}, +/* 46354 */ {(11<<2)|2,{117,115,0}}, +/* 46355 */ {(11<<2)|2,{117,115,0}}, +/* 46356 */ {(11<<2)|2,{117,115,0}}, +/* 46357 */ {(11<<2)|2,{117,115,0}}, +/* 46358 */ {(11<<2)|2,{117,115,0}}, +/* 46359 */ {(11<<2)|2,{117,115,0}}, +/* 46360 */ {(11<<2)|2,{117,115,0}}, +/* 46361 */ {(11<<2)|2,{117,115,0}}, +/* 46362 */ {(11<<2)|2,{117,115,0}}, +/* 46363 */ {(11<<2)|2,{117,115,0}}, +/* 46364 */ {(11<<2)|2,{117,115,0}}, +/* 46365 */ {(11<<2)|2,{117,115,0}}, +/* 46366 */ {(11<<2)|2,{117,115,0}}, +/* 46367 */ {(11<<2)|2,{117,115,0}}, +/* 46368 */ {(16<<2)|3,{117,116,48}}, +/* 46369 */ {(16<<2)|3,{117,116,49}}, +/* 46370 */ {(16<<2)|3,{117,116,50}}, +/* 46371 */ {(16<<2)|3,{117,116,97}}, +/* 46372 */ {(16<<2)|3,{117,116,99}}, +/* 46373 */ {(16<<2)|3,{117,116,101}}, +/* 46374 */ {(16<<2)|3,{117,116,105}}, +/* 46375 */ {(16<<2)|3,{117,116,111}}, +/* 46376 */ {(16<<2)|3,{117,116,115}}, +/* 46377 */ {(16<<2)|3,{117,116,116}}, +/* 46378 */ {(11<<2)|2,{117,116,0}}, +/* 46379 */ {(11<<2)|2,{117,116,0}}, +/* 46380 */ {(11<<2)|2,{117,116,0}}, +/* 46381 */ {(11<<2)|2,{117,116,0}}, +/* 46382 */ {(11<<2)|2,{117,116,0}}, +/* 46383 */ {(11<<2)|2,{117,116,0}}, +/* 46384 */ {(11<<2)|2,{117,116,0}}, +/* 46385 */ {(11<<2)|2,{117,116,0}}, +/* 46386 */ {(11<<2)|2,{117,116,0}}, +/* 46387 */ {(11<<2)|2,{117,116,0}}, +/* 46388 */ {(11<<2)|2,{117,116,0}}, +/* 46389 */ {(11<<2)|2,{117,116,0}}, +/* 46390 */ {(11<<2)|2,{117,116,0}}, +/* 46391 */ {(11<<2)|2,{117,116,0}}, +/* 46392 */ {(11<<2)|2,{117,116,0}}, +/* 46393 */ {(11<<2)|2,{117,116,0}}, +/* 46394 */ {(11<<2)|2,{117,116,0}}, +/* 46395 */ {(11<<2)|2,{117,116,0}}, +/* 46396 */ {(11<<2)|2,{117,116,0}}, +/* 46397 */ {(11<<2)|2,{117,116,0}}, +/* 46398 */ {(11<<2)|2,{117,116,0}}, +/* 46399 */ {(11<<2)|2,{117,116,0}}, +/* 46400 */ {(12<<2)|2,{117,32,0}}, +/* 46401 */ {(12<<2)|2,{117,32,0}}, +/* 46402 */ {(12<<2)|2,{117,32,0}}, +/* 46403 */ {(12<<2)|2,{117,32,0}}, +/* 46404 */ {(12<<2)|2,{117,32,0}}, +/* 46405 */ {(12<<2)|2,{117,32,0}}, +/* 46406 */ {(12<<2)|2,{117,32,0}}, +/* 46407 */ {(12<<2)|2,{117,32,0}}, +/* 46408 */ {(12<<2)|2,{117,32,0}}, +/* 46409 */ {(12<<2)|2,{117,32,0}}, +/* 46410 */ {(12<<2)|2,{117,32,0}}, +/* 46411 */ {(12<<2)|2,{117,32,0}}, +/* 46412 */ {(12<<2)|2,{117,32,0}}, +/* 46413 */ {(12<<2)|2,{117,32,0}}, +/* 46414 */ {(12<<2)|2,{117,32,0}}, +/* 46415 */ {(12<<2)|2,{117,32,0}}, +/* 46416 */ {(12<<2)|2,{117,37,0}}, +/* 46417 */ {(12<<2)|2,{117,37,0}}, +/* 46418 */ {(12<<2)|2,{117,37,0}}, +/* 46419 */ {(12<<2)|2,{117,37,0}}, +/* 46420 */ {(12<<2)|2,{117,37,0}}, +/* 46421 */ {(12<<2)|2,{117,37,0}}, +/* 46422 */ {(12<<2)|2,{117,37,0}}, +/* 46423 */ {(12<<2)|2,{117,37,0}}, +/* 46424 */ {(12<<2)|2,{117,37,0}}, +/* 46425 */ {(12<<2)|2,{117,37,0}}, +/* 46426 */ {(12<<2)|2,{117,37,0}}, +/* 46427 */ {(12<<2)|2,{117,37,0}}, +/* 46428 */ {(12<<2)|2,{117,37,0}}, +/* 46429 */ {(12<<2)|2,{117,37,0}}, +/* 46430 */ {(12<<2)|2,{117,37,0}}, +/* 46431 */ {(12<<2)|2,{117,37,0}}, +/* 46432 */ {(12<<2)|2,{117,45,0}}, +/* 46433 */ {(12<<2)|2,{117,45,0}}, +/* 46434 */ {(12<<2)|2,{117,45,0}}, +/* 46435 */ {(12<<2)|2,{117,45,0}}, +/* 46436 */ {(12<<2)|2,{117,45,0}}, +/* 46437 */ {(12<<2)|2,{117,45,0}}, +/* 46438 */ {(12<<2)|2,{117,45,0}}, +/* 46439 */ {(12<<2)|2,{117,45,0}}, +/* 46440 */ {(12<<2)|2,{117,45,0}}, +/* 46441 */ {(12<<2)|2,{117,45,0}}, +/* 46442 */ {(12<<2)|2,{117,45,0}}, +/* 46443 */ {(12<<2)|2,{117,45,0}}, +/* 46444 */ {(12<<2)|2,{117,45,0}}, +/* 46445 */ {(12<<2)|2,{117,45,0}}, +/* 46446 */ {(12<<2)|2,{117,45,0}}, +/* 46447 */ {(12<<2)|2,{117,45,0}}, +/* 46448 */ {(12<<2)|2,{117,46,0}}, +/* 46449 */ {(12<<2)|2,{117,46,0}}, +/* 46450 */ {(12<<2)|2,{117,46,0}}, +/* 46451 */ {(12<<2)|2,{117,46,0}}, +/* 46452 */ {(12<<2)|2,{117,46,0}}, +/* 46453 */ {(12<<2)|2,{117,46,0}}, +/* 46454 */ {(12<<2)|2,{117,46,0}}, +/* 46455 */ {(12<<2)|2,{117,46,0}}, +/* 46456 */ {(12<<2)|2,{117,46,0}}, +/* 46457 */ {(12<<2)|2,{117,46,0}}, +/* 46458 */ {(12<<2)|2,{117,46,0}}, +/* 46459 */ {(12<<2)|2,{117,46,0}}, +/* 46460 */ {(12<<2)|2,{117,46,0}}, +/* 46461 */ {(12<<2)|2,{117,46,0}}, +/* 46462 */ {(12<<2)|2,{117,46,0}}, +/* 46463 */ {(12<<2)|2,{117,46,0}}, +/* 46464 */ {(12<<2)|2,{117,47,0}}, +/* 46465 */ {(12<<2)|2,{117,47,0}}, +/* 46466 */ {(12<<2)|2,{117,47,0}}, +/* 46467 */ {(12<<2)|2,{117,47,0}}, +/* 46468 */ {(12<<2)|2,{117,47,0}}, +/* 46469 */ {(12<<2)|2,{117,47,0}}, +/* 46470 */ {(12<<2)|2,{117,47,0}}, +/* 46471 */ {(12<<2)|2,{117,47,0}}, +/* 46472 */ {(12<<2)|2,{117,47,0}}, +/* 46473 */ {(12<<2)|2,{117,47,0}}, +/* 46474 */ {(12<<2)|2,{117,47,0}}, +/* 46475 */ {(12<<2)|2,{117,47,0}}, +/* 46476 */ {(12<<2)|2,{117,47,0}}, +/* 46477 */ {(12<<2)|2,{117,47,0}}, +/* 46478 */ {(12<<2)|2,{117,47,0}}, +/* 46479 */ {(12<<2)|2,{117,47,0}}, +/* 46480 */ {(12<<2)|2,{117,51,0}}, +/* 46481 */ {(12<<2)|2,{117,51,0}}, +/* 46482 */ {(12<<2)|2,{117,51,0}}, +/* 46483 */ {(12<<2)|2,{117,51,0}}, +/* 46484 */ {(12<<2)|2,{117,51,0}}, +/* 46485 */ {(12<<2)|2,{117,51,0}}, +/* 46486 */ {(12<<2)|2,{117,51,0}}, +/* 46487 */ {(12<<2)|2,{117,51,0}}, +/* 46488 */ {(12<<2)|2,{117,51,0}}, +/* 46489 */ {(12<<2)|2,{117,51,0}}, +/* 46490 */ {(12<<2)|2,{117,51,0}}, +/* 46491 */ {(12<<2)|2,{117,51,0}}, +/* 46492 */ {(12<<2)|2,{117,51,0}}, +/* 46493 */ {(12<<2)|2,{117,51,0}}, +/* 46494 */ {(12<<2)|2,{117,51,0}}, +/* 46495 */ {(12<<2)|2,{117,51,0}}, +/* 46496 */ {(12<<2)|2,{117,52,0}}, +/* 46497 */ {(12<<2)|2,{117,52,0}}, +/* 46498 */ {(12<<2)|2,{117,52,0}}, +/* 46499 */ {(12<<2)|2,{117,52,0}}, +/* 46500 */ {(12<<2)|2,{117,52,0}}, +/* 46501 */ {(12<<2)|2,{117,52,0}}, +/* 46502 */ {(12<<2)|2,{117,52,0}}, +/* 46503 */ {(12<<2)|2,{117,52,0}}, +/* 46504 */ {(12<<2)|2,{117,52,0}}, +/* 46505 */ {(12<<2)|2,{117,52,0}}, +/* 46506 */ {(12<<2)|2,{117,52,0}}, +/* 46507 */ {(12<<2)|2,{117,52,0}}, +/* 46508 */ {(12<<2)|2,{117,52,0}}, +/* 46509 */ {(12<<2)|2,{117,52,0}}, +/* 46510 */ {(12<<2)|2,{117,52,0}}, +/* 46511 */ {(12<<2)|2,{117,52,0}}, +/* 46512 */ {(12<<2)|2,{117,53,0}}, +/* 46513 */ {(12<<2)|2,{117,53,0}}, +/* 46514 */ {(12<<2)|2,{117,53,0}}, +/* 46515 */ {(12<<2)|2,{117,53,0}}, +/* 46516 */ {(12<<2)|2,{117,53,0}}, +/* 46517 */ {(12<<2)|2,{117,53,0}}, +/* 46518 */ {(12<<2)|2,{117,53,0}}, +/* 46519 */ {(12<<2)|2,{117,53,0}}, +/* 46520 */ {(12<<2)|2,{117,53,0}}, +/* 46521 */ {(12<<2)|2,{117,53,0}}, +/* 46522 */ {(12<<2)|2,{117,53,0}}, +/* 46523 */ {(12<<2)|2,{117,53,0}}, +/* 46524 */ {(12<<2)|2,{117,53,0}}, +/* 46525 */ {(12<<2)|2,{117,53,0}}, +/* 46526 */ {(12<<2)|2,{117,53,0}}, +/* 46527 */ {(12<<2)|2,{117,53,0}}, +/* 46528 */ {(12<<2)|2,{117,54,0}}, +/* 46529 */ {(12<<2)|2,{117,54,0}}, +/* 46530 */ {(12<<2)|2,{117,54,0}}, +/* 46531 */ {(12<<2)|2,{117,54,0}}, +/* 46532 */ {(12<<2)|2,{117,54,0}}, +/* 46533 */ {(12<<2)|2,{117,54,0}}, +/* 46534 */ {(12<<2)|2,{117,54,0}}, +/* 46535 */ {(12<<2)|2,{117,54,0}}, +/* 46536 */ {(12<<2)|2,{117,54,0}}, +/* 46537 */ {(12<<2)|2,{117,54,0}}, +/* 46538 */ {(12<<2)|2,{117,54,0}}, +/* 46539 */ {(12<<2)|2,{117,54,0}}, +/* 46540 */ {(12<<2)|2,{117,54,0}}, +/* 46541 */ {(12<<2)|2,{117,54,0}}, +/* 46542 */ {(12<<2)|2,{117,54,0}}, +/* 46543 */ {(12<<2)|2,{117,54,0}}, +/* 46544 */ {(12<<2)|2,{117,55,0}}, +/* 46545 */ {(12<<2)|2,{117,55,0}}, +/* 46546 */ {(12<<2)|2,{117,55,0}}, +/* 46547 */ {(12<<2)|2,{117,55,0}}, +/* 46548 */ {(12<<2)|2,{117,55,0}}, +/* 46549 */ {(12<<2)|2,{117,55,0}}, +/* 46550 */ {(12<<2)|2,{117,55,0}}, +/* 46551 */ {(12<<2)|2,{117,55,0}}, +/* 46552 */ {(12<<2)|2,{117,55,0}}, +/* 46553 */ {(12<<2)|2,{117,55,0}}, +/* 46554 */ {(12<<2)|2,{117,55,0}}, +/* 46555 */ {(12<<2)|2,{117,55,0}}, +/* 46556 */ {(12<<2)|2,{117,55,0}}, +/* 46557 */ {(12<<2)|2,{117,55,0}}, +/* 46558 */ {(12<<2)|2,{117,55,0}}, +/* 46559 */ {(12<<2)|2,{117,55,0}}, +/* 46560 */ {(12<<2)|2,{117,56,0}}, +/* 46561 */ {(12<<2)|2,{117,56,0}}, +/* 46562 */ {(12<<2)|2,{117,56,0}}, +/* 46563 */ {(12<<2)|2,{117,56,0}}, +/* 46564 */ {(12<<2)|2,{117,56,0}}, +/* 46565 */ {(12<<2)|2,{117,56,0}}, +/* 46566 */ {(12<<2)|2,{117,56,0}}, +/* 46567 */ {(12<<2)|2,{117,56,0}}, +/* 46568 */ {(12<<2)|2,{117,56,0}}, +/* 46569 */ {(12<<2)|2,{117,56,0}}, +/* 46570 */ {(12<<2)|2,{117,56,0}}, +/* 46571 */ {(12<<2)|2,{117,56,0}}, +/* 46572 */ {(12<<2)|2,{117,56,0}}, +/* 46573 */ {(12<<2)|2,{117,56,0}}, +/* 46574 */ {(12<<2)|2,{117,56,0}}, +/* 46575 */ {(12<<2)|2,{117,56,0}}, +/* 46576 */ {(12<<2)|2,{117,57,0}}, +/* 46577 */ {(12<<2)|2,{117,57,0}}, +/* 46578 */ {(12<<2)|2,{117,57,0}}, +/* 46579 */ {(12<<2)|2,{117,57,0}}, +/* 46580 */ {(12<<2)|2,{117,57,0}}, +/* 46581 */ {(12<<2)|2,{117,57,0}}, +/* 46582 */ {(12<<2)|2,{117,57,0}}, +/* 46583 */ {(12<<2)|2,{117,57,0}}, +/* 46584 */ {(12<<2)|2,{117,57,0}}, +/* 46585 */ {(12<<2)|2,{117,57,0}}, +/* 46586 */ {(12<<2)|2,{117,57,0}}, +/* 46587 */ {(12<<2)|2,{117,57,0}}, +/* 46588 */ {(12<<2)|2,{117,57,0}}, +/* 46589 */ {(12<<2)|2,{117,57,0}}, +/* 46590 */ {(12<<2)|2,{117,57,0}}, +/* 46591 */ {(12<<2)|2,{117,57,0}}, +/* 46592 */ {(12<<2)|2,{117,61,0}}, +/* 46593 */ {(12<<2)|2,{117,61,0}}, +/* 46594 */ {(12<<2)|2,{117,61,0}}, +/* 46595 */ {(12<<2)|2,{117,61,0}}, +/* 46596 */ {(12<<2)|2,{117,61,0}}, +/* 46597 */ {(12<<2)|2,{117,61,0}}, +/* 46598 */ {(12<<2)|2,{117,61,0}}, +/* 46599 */ {(12<<2)|2,{117,61,0}}, +/* 46600 */ {(12<<2)|2,{117,61,0}}, +/* 46601 */ {(12<<2)|2,{117,61,0}}, +/* 46602 */ {(12<<2)|2,{117,61,0}}, +/* 46603 */ {(12<<2)|2,{117,61,0}}, +/* 46604 */ {(12<<2)|2,{117,61,0}}, +/* 46605 */ {(12<<2)|2,{117,61,0}}, +/* 46606 */ {(12<<2)|2,{117,61,0}}, +/* 46607 */ {(12<<2)|2,{117,61,0}}, +/* 46608 */ {(12<<2)|2,{117,65,0}}, +/* 46609 */ {(12<<2)|2,{117,65,0}}, +/* 46610 */ {(12<<2)|2,{117,65,0}}, +/* 46611 */ {(12<<2)|2,{117,65,0}}, +/* 46612 */ {(12<<2)|2,{117,65,0}}, +/* 46613 */ {(12<<2)|2,{117,65,0}}, +/* 46614 */ {(12<<2)|2,{117,65,0}}, +/* 46615 */ {(12<<2)|2,{117,65,0}}, +/* 46616 */ {(12<<2)|2,{117,65,0}}, +/* 46617 */ {(12<<2)|2,{117,65,0}}, +/* 46618 */ {(12<<2)|2,{117,65,0}}, +/* 46619 */ {(12<<2)|2,{117,65,0}}, +/* 46620 */ {(12<<2)|2,{117,65,0}}, +/* 46621 */ {(12<<2)|2,{117,65,0}}, +/* 46622 */ {(12<<2)|2,{117,65,0}}, +/* 46623 */ {(12<<2)|2,{117,65,0}}, +/* 46624 */ {(12<<2)|2,{117,95,0}}, +/* 46625 */ {(12<<2)|2,{117,95,0}}, +/* 46626 */ {(12<<2)|2,{117,95,0}}, +/* 46627 */ {(12<<2)|2,{117,95,0}}, +/* 46628 */ {(12<<2)|2,{117,95,0}}, +/* 46629 */ {(12<<2)|2,{117,95,0}}, +/* 46630 */ {(12<<2)|2,{117,95,0}}, +/* 46631 */ {(12<<2)|2,{117,95,0}}, +/* 46632 */ {(12<<2)|2,{117,95,0}}, +/* 46633 */ {(12<<2)|2,{117,95,0}}, +/* 46634 */ {(12<<2)|2,{117,95,0}}, +/* 46635 */ {(12<<2)|2,{117,95,0}}, +/* 46636 */ {(12<<2)|2,{117,95,0}}, +/* 46637 */ {(12<<2)|2,{117,95,0}}, +/* 46638 */ {(12<<2)|2,{117,95,0}}, +/* 46639 */ {(12<<2)|2,{117,95,0}}, +/* 46640 */ {(12<<2)|2,{117,98,0}}, +/* 46641 */ {(12<<2)|2,{117,98,0}}, +/* 46642 */ {(12<<2)|2,{117,98,0}}, +/* 46643 */ {(12<<2)|2,{117,98,0}}, +/* 46644 */ {(12<<2)|2,{117,98,0}}, +/* 46645 */ {(12<<2)|2,{117,98,0}}, +/* 46646 */ {(12<<2)|2,{117,98,0}}, +/* 46647 */ {(12<<2)|2,{117,98,0}}, +/* 46648 */ {(12<<2)|2,{117,98,0}}, +/* 46649 */ {(12<<2)|2,{117,98,0}}, +/* 46650 */ {(12<<2)|2,{117,98,0}}, +/* 46651 */ {(12<<2)|2,{117,98,0}}, +/* 46652 */ {(12<<2)|2,{117,98,0}}, +/* 46653 */ {(12<<2)|2,{117,98,0}}, +/* 46654 */ {(12<<2)|2,{117,98,0}}, +/* 46655 */ {(12<<2)|2,{117,98,0}}, +/* 46656 */ {(12<<2)|2,{117,100,0}}, +/* 46657 */ {(12<<2)|2,{117,100,0}}, +/* 46658 */ {(12<<2)|2,{117,100,0}}, +/* 46659 */ {(12<<2)|2,{117,100,0}}, +/* 46660 */ {(12<<2)|2,{117,100,0}}, +/* 46661 */ {(12<<2)|2,{117,100,0}}, +/* 46662 */ {(12<<2)|2,{117,100,0}}, +/* 46663 */ {(12<<2)|2,{117,100,0}}, +/* 46664 */ {(12<<2)|2,{117,100,0}}, +/* 46665 */ {(12<<2)|2,{117,100,0}}, +/* 46666 */ {(12<<2)|2,{117,100,0}}, +/* 46667 */ {(12<<2)|2,{117,100,0}}, +/* 46668 */ {(12<<2)|2,{117,100,0}}, +/* 46669 */ {(12<<2)|2,{117,100,0}}, +/* 46670 */ {(12<<2)|2,{117,100,0}}, +/* 46671 */ {(12<<2)|2,{117,100,0}}, +/* 46672 */ {(12<<2)|2,{117,102,0}}, +/* 46673 */ {(12<<2)|2,{117,102,0}}, +/* 46674 */ {(12<<2)|2,{117,102,0}}, +/* 46675 */ {(12<<2)|2,{117,102,0}}, +/* 46676 */ {(12<<2)|2,{117,102,0}}, +/* 46677 */ {(12<<2)|2,{117,102,0}}, +/* 46678 */ {(12<<2)|2,{117,102,0}}, +/* 46679 */ {(12<<2)|2,{117,102,0}}, +/* 46680 */ {(12<<2)|2,{117,102,0}}, +/* 46681 */ {(12<<2)|2,{117,102,0}}, +/* 46682 */ {(12<<2)|2,{117,102,0}}, +/* 46683 */ {(12<<2)|2,{117,102,0}}, +/* 46684 */ {(12<<2)|2,{117,102,0}}, +/* 46685 */ {(12<<2)|2,{117,102,0}}, +/* 46686 */ {(12<<2)|2,{117,102,0}}, +/* 46687 */ {(12<<2)|2,{117,102,0}}, +/* 46688 */ {(12<<2)|2,{117,103,0}}, +/* 46689 */ {(12<<2)|2,{117,103,0}}, +/* 46690 */ {(12<<2)|2,{117,103,0}}, +/* 46691 */ {(12<<2)|2,{117,103,0}}, +/* 46692 */ {(12<<2)|2,{117,103,0}}, +/* 46693 */ {(12<<2)|2,{117,103,0}}, +/* 46694 */ {(12<<2)|2,{117,103,0}}, +/* 46695 */ {(12<<2)|2,{117,103,0}}, +/* 46696 */ {(12<<2)|2,{117,103,0}}, +/* 46697 */ {(12<<2)|2,{117,103,0}}, +/* 46698 */ {(12<<2)|2,{117,103,0}}, +/* 46699 */ {(12<<2)|2,{117,103,0}}, +/* 46700 */ {(12<<2)|2,{117,103,0}}, +/* 46701 */ {(12<<2)|2,{117,103,0}}, +/* 46702 */ {(12<<2)|2,{117,103,0}}, +/* 46703 */ {(12<<2)|2,{117,103,0}}, +/* 46704 */ {(12<<2)|2,{117,104,0}}, +/* 46705 */ {(12<<2)|2,{117,104,0}}, +/* 46706 */ {(12<<2)|2,{117,104,0}}, +/* 46707 */ {(12<<2)|2,{117,104,0}}, +/* 46708 */ {(12<<2)|2,{117,104,0}}, +/* 46709 */ {(12<<2)|2,{117,104,0}}, +/* 46710 */ {(12<<2)|2,{117,104,0}}, +/* 46711 */ {(12<<2)|2,{117,104,0}}, +/* 46712 */ {(12<<2)|2,{117,104,0}}, +/* 46713 */ {(12<<2)|2,{117,104,0}}, +/* 46714 */ {(12<<2)|2,{117,104,0}}, +/* 46715 */ {(12<<2)|2,{117,104,0}}, +/* 46716 */ {(12<<2)|2,{117,104,0}}, +/* 46717 */ {(12<<2)|2,{117,104,0}}, +/* 46718 */ {(12<<2)|2,{117,104,0}}, +/* 46719 */ {(12<<2)|2,{117,104,0}}, +/* 46720 */ {(12<<2)|2,{117,108,0}}, +/* 46721 */ {(12<<2)|2,{117,108,0}}, +/* 46722 */ {(12<<2)|2,{117,108,0}}, +/* 46723 */ {(12<<2)|2,{117,108,0}}, +/* 46724 */ {(12<<2)|2,{117,108,0}}, +/* 46725 */ {(12<<2)|2,{117,108,0}}, +/* 46726 */ {(12<<2)|2,{117,108,0}}, +/* 46727 */ {(12<<2)|2,{117,108,0}}, +/* 46728 */ {(12<<2)|2,{117,108,0}}, +/* 46729 */ {(12<<2)|2,{117,108,0}}, +/* 46730 */ {(12<<2)|2,{117,108,0}}, +/* 46731 */ {(12<<2)|2,{117,108,0}}, +/* 46732 */ {(12<<2)|2,{117,108,0}}, +/* 46733 */ {(12<<2)|2,{117,108,0}}, +/* 46734 */ {(12<<2)|2,{117,108,0}}, +/* 46735 */ {(12<<2)|2,{117,108,0}}, +/* 46736 */ {(12<<2)|2,{117,109,0}}, +/* 46737 */ {(12<<2)|2,{117,109,0}}, +/* 46738 */ {(12<<2)|2,{117,109,0}}, +/* 46739 */ {(12<<2)|2,{117,109,0}}, +/* 46740 */ {(12<<2)|2,{117,109,0}}, +/* 46741 */ {(12<<2)|2,{117,109,0}}, +/* 46742 */ {(12<<2)|2,{117,109,0}}, +/* 46743 */ {(12<<2)|2,{117,109,0}}, +/* 46744 */ {(12<<2)|2,{117,109,0}}, +/* 46745 */ {(12<<2)|2,{117,109,0}}, +/* 46746 */ {(12<<2)|2,{117,109,0}}, +/* 46747 */ {(12<<2)|2,{117,109,0}}, +/* 46748 */ {(12<<2)|2,{117,109,0}}, +/* 46749 */ {(12<<2)|2,{117,109,0}}, +/* 46750 */ {(12<<2)|2,{117,109,0}}, +/* 46751 */ {(12<<2)|2,{117,109,0}}, +/* 46752 */ {(12<<2)|2,{117,110,0}}, +/* 46753 */ {(12<<2)|2,{117,110,0}}, +/* 46754 */ {(12<<2)|2,{117,110,0}}, +/* 46755 */ {(12<<2)|2,{117,110,0}}, +/* 46756 */ {(12<<2)|2,{117,110,0}}, +/* 46757 */ {(12<<2)|2,{117,110,0}}, +/* 46758 */ {(12<<2)|2,{117,110,0}}, +/* 46759 */ {(12<<2)|2,{117,110,0}}, +/* 46760 */ {(12<<2)|2,{117,110,0}}, +/* 46761 */ {(12<<2)|2,{117,110,0}}, +/* 46762 */ {(12<<2)|2,{117,110,0}}, +/* 46763 */ {(12<<2)|2,{117,110,0}}, +/* 46764 */ {(12<<2)|2,{117,110,0}}, +/* 46765 */ {(12<<2)|2,{117,110,0}}, +/* 46766 */ {(12<<2)|2,{117,110,0}}, +/* 46767 */ {(12<<2)|2,{117,110,0}}, +/* 46768 */ {(12<<2)|2,{117,112,0}}, +/* 46769 */ {(12<<2)|2,{117,112,0}}, +/* 46770 */ {(12<<2)|2,{117,112,0}}, +/* 46771 */ {(12<<2)|2,{117,112,0}}, +/* 46772 */ {(12<<2)|2,{117,112,0}}, +/* 46773 */ {(12<<2)|2,{117,112,0}}, +/* 46774 */ {(12<<2)|2,{117,112,0}}, +/* 46775 */ {(12<<2)|2,{117,112,0}}, +/* 46776 */ {(12<<2)|2,{117,112,0}}, +/* 46777 */ {(12<<2)|2,{117,112,0}}, +/* 46778 */ {(12<<2)|2,{117,112,0}}, +/* 46779 */ {(12<<2)|2,{117,112,0}}, +/* 46780 */ {(12<<2)|2,{117,112,0}}, +/* 46781 */ {(12<<2)|2,{117,112,0}}, +/* 46782 */ {(12<<2)|2,{117,112,0}}, +/* 46783 */ {(12<<2)|2,{117,112,0}}, +/* 46784 */ {(12<<2)|2,{117,114,0}}, +/* 46785 */ {(12<<2)|2,{117,114,0}}, +/* 46786 */ {(12<<2)|2,{117,114,0}}, +/* 46787 */ {(12<<2)|2,{117,114,0}}, +/* 46788 */ {(12<<2)|2,{117,114,0}}, +/* 46789 */ {(12<<2)|2,{117,114,0}}, +/* 46790 */ {(12<<2)|2,{117,114,0}}, +/* 46791 */ {(12<<2)|2,{117,114,0}}, +/* 46792 */ {(12<<2)|2,{117,114,0}}, +/* 46793 */ {(12<<2)|2,{117,114,0}}, +/* 46794 */ {(12<<2)|2,{117,114,0}}, +/* 46795 */ {(12<<2)|2,{117,114,0}}, +/* 46796 */ {(12<<2)|2,{117,114,0}}, +/* 46797 */ {(12<<2)|2,{117,114,0}}, +/* 46798 */ {(12<<2)|2,{117,114,0}}, +/* 46799 */ {(12<<2)|2,{117,114,0}}, +/* 46800 */ {(12<<2)|2,{117,117,0}}, +/* 46801 */ {(12<<2)|2,{117,117,0}}, +/* 46802 */ {(12<<2)|2,{117,117,0}}, +/* 46803 */ {(12<<2)|2,{117,117,0}}, +/* 46804 */ {(12<<2)|2,{117,117,0}}, +/* 46805 */ {(12<<2)|2,{117,117,0}}, +/* 46806 */ {(12<<2)|2,{117,117,0}}, +/* 46807 */ {(12<<2)|2,{117,117,0}}, +/* 46808 */ {(12<<2)|2,{117,117,0}}, +/* 46809 */ {(12<<2)|2,{117,117,0}}, +/* 46810 */ {(12<<2)|2,{117,117,0}}, +/* 46811 */ {(12<<2)|2,{117,117,0}}, +/* 46812 */ {(12<<2)|2,{117,117,0}}, +/* 46813 */ {(12<<2)|2,{117,117,0}}, +/* 46814 */ {(12<<2)|2,{117,117,0}}, +/* 46815 */ {(12<<2)|2,{117,117,0}}, +/* 46816 */ {(13<<2)|2,{117,58,0}}, +/* 46817 */ {(13<<2)|2,{117,58,0}}, +/* 46818 */ {(13<<2)|2,{117,58,0}}, +/* 46819 */ {(13<<2)|2,{117,58,0}}, +/* 46820 */ {(13<<2)|2,{117,58,0}}, +/* 46821 */ {(13<<2)|2,{117,58,0}}, +/* 46822 */ {(13<<2)|2,{117,58,0}}, +/* 46823 */ {(13<<2)|2,{117,58,0}}, +/* 46824 */ {(13<<2)|2,{117,66,0}}, +/* 46825 */ {(13<<2)|2,{117,66,0}}, +/* 46826 */ {(13<<2)|2,{117,66,0}}, +/* 46827 */ {(13<<2)|2,{117,66,0}}, +/* 46828 */ {(13<<2)|2,{117,66,0}}, +/* 46829 */ {(13<<2)|2,{117,66,0}}, +/* 46830 */ {(13<<2)|2,{117,66,0}}, +/* 46831 */ {(13<<2)|2,{117,66,0}}, +/* 46832 */ {(13<<2)|2,{117,67,0}}, +/* 46833 */ {(13<<2)|2,{117,67,0}}, +/* 46834 */ {(13<<2)|2,{117,67,0}}, +/* 46835 */ {(13<<2)|2,{117,67,0}}, +/* 46836 */ {(13<<2)|2,{117,67,0}}, +/* 46837 */ {(13<<2)|2,{117,67,0}}, +/* 46838 */ {(13<<2)|2,{117,67,0}}, +/* 46839 */ {(13<<2)|2,{117,67,0}}, +/* 46840 */ {(13<<2)|2,{117,68,0}}, +/* 46841 */ {(13<<2)|2,{117,68,0}}, +/* 46842 */ {(13<<2)|2,{117,68,0}}, +/* 46843 */ {(13<<2)|2,{117,68,0}}, +/* 46844 */ {(13<<2)|2,{117,68,0}}, +/* 46845 */ {(13<<2)|2,{117,68,0}}, +/* 46846 */ {(13<<2)|2,{117,68,0}}, +/* 46847 */ {(13<<2)|2,{117,68,0}}, +/* 46848 */ {(13<<2)|2,{117,69,0}}, +/* 46849 */ {(13<<2)|2,{117,69,0}}, +/* 46850 */ {(13<<2)|2,{117,69,0}}, +/* 46851 */ {(13<<2)|2,{117,69,0}}, +/* 46852 */ {(13<<2)|2,{117,69,0}}, +/* 46853 */ {(13<<2)|2,{117,69,0}}, +/* 46854 */ {(13<<2)|2,{117,69,0}}, +/* 46855 */ {(13<<2)|2,{117,69,0}}, +/* 46856 */ {(13<<2)|2,{117,70,0}}, +/* 46857 */ {(13<<2)|2,{117,70,0}}, +/* 46858 */ {(13<<2)|2,{117,70,0}}, +/* 46859 */ {(13<<2)|2,{117,70,0}}, +/* 46860 */ {(13<<2)|2,{117,70,0}}, +/* 46861 */ {(13<<2)|2,{117,70,0}}, +/* 46862 */ {(13<<2)|2,{117,70,0}}, +/* 46863 */ {(13<<2)|2,{117,70,0}}, +/* 46864 */ {(13<<2)|2,{117,71,0}}, +/* 46865 */ {(13<<2)|2,{117,71,0}}, +/* 46866 */ {(13<<2)|2,{117,71,0}}, +/* 46867 */ {(13<<2)|2,{117,71,0}}, +/* 46868 */ {(13<<2)|2,{117,71,0}}, +/* 46869 */ {(13<<2)|2,{117,71,0}}, +/* 46870 */ {(13<<2)|2,{117,71,0}}, +/* 46871 */ {(13<<2)|2,{117,71,0}}, +/* 46872 */ {(13<<2)|2,{117,72,0}}, +/* 46873 */ {(13<<2)|2,{117,72,0}}, +/* 46874 */ {(13<<2)|2,{117,72,0}}, +/* 46875 */ {(13<<2)|2,{117,72,0}}, +/* 46876 */ {(13<<2)|2,{117,72,0}}, +/* 46877 */ {(13<<2)|2,{117,72,0}}, +/* 46878 */ {(13<<2)|2,{117,72,0}}, +/* 46879 */ {(13<<2)|2,{117,72,0}}, +/* 46880 */ {(13<<2)|2,{117,73,0}}, +/* 46881 */ {(13<<2)|2,{117,73,0}}, +/* 46882 */ {(13<<2)|2,{117,73,0}}, +/* 46883 */ {(13<<2)|2,{117,73,0}}, +/* 46884 */ {(13<<2)|2,{117,73,0}}, +/* 46885 */ {(13<<2)|2,{117,73,0}}, +/* 46886 */ {(13<<2)|2,{117,73,0}}, +/* 46887 */ {(13<<2)|2,{117,73,0}}, +/* 46888 */ {(13<<2)|2,{117,74,0}}, +/* 46889 */ {(13<<2)|2,{117,74,0}}, +/* 46890 */ {(13<<2)|2,{117,74,0}}, +/* 46891 */ {(13<<2)|2,{117,74,0}}, +/* 46892 */ {(13<<2)|2,{117,74,0}}, +/* 46893 */ {(13<<2)|2,{117,74,0}}, +/* 46894 */ {(13<<2)|2,{117,74,0}}, +/* 46895 */ {(13<<2)|2,{117,74,0}}, +/* 46896 */ {(13<<2)|2,{117,75,0}}, +/* 46897 */ {(13<<2)|2,{117,75,0}}, +/* 46898 */ {(13<<2)|2,{117,75,0}}, +/* 46899 */ {(13<<2)|2,{117,75,0}}, +/* 46900 */ {(13<<2)|2,{117,75,0}}, +/* 46901 */ {(13<<2)|2,{117,75,0}}, +/* 46902 */ {(13<<2)|2,{117,75,0}}, +/* 46903 */ {(13<<2)|2,{117,75,0}}, +/* 46904 */ {(13<<2)|2,{117,76,0}}, +/* 46905 */ {(13<<2)|2,{117,76,0}}, +/* 46906 */ {(13<<2)|2,{117,76,0}}, +/* 46907 */ {(13<<2)|2,{117,76,0}}, +/* 46908 */ {(13<<2)|2,{117,76,0}}, +/* 46909 */ {(13<<2)|2,{117,76,0}}, +/* 46910 */ {(13<<2)|2,{117,76,0}}, +/* 46911 */ {(13<<2)|2,{117,76,0}}, +/* 46912 */ {(13<<2)|2,{117,77,0}}, +/* 46913 */ {(13<<2)|2,{117,77,0}}, +/* 46914 */ {(13<<2)|2,{117,77,0}}, +/* 46915 */ {(13<<2)|2,{117,77,0}}, +/* 46916 */ {(13<<2)|2,{117,77,0}}, +/* 46917 */ {(13<<2)|2,{117,77,0}}, +/* 46918 */ {(13<<2)|2,{117,77,0}}, +/* 46919 */ {(13<<2)|2,{117,77,0}}, +/* 46920 */ {(13<<2)|2,{117,78,0}}, +/* 46921 */ {(13<<2)|2,{117,78,0}}, +/* 46922 */ {(13<<2)|2,{117,78,0}}, +/* 46923 */ {(13<<2)|2,{117,78,0}}, +/* 46924 */ {(13<<2)|2,{117,78,0}}, +/* 46925 */ {(13<<2)|2,{117,78,0}}, +/* 46926 */ {(13<<2)|2,{117,78,0}}, +/* 46927 */ {(13<<2)|2,{117,78,0}}, +/* 46928 */ {(13<<2)|2,{117,79,0}}, +/* 46929 */ {(13<<2)|2,{117,79,0}}, +/* 46930 */ {(13<<2)|2,{117,79,0}}, +/* 46931 */ {(13<<2)|2,{117,79,0}}, +/* 46932 */ {(13<<2)|2,{117,79,0}}, +/* 46933 */ {(13<<2)|2,{117,79,0}}, +/* 46934 */ {(13<<2)|2,{117,79,0}}, +/* 46935 */ {(13<<2)|2,{117,79,0}}, +/* 46936 */ {(13<<2)|2,{117,80,0}}, +/* 46937 */ {(13<<2)|2,{117,80,0}}, +/* 46938 */ {(13<<2)|2,{117,80,0}}, +/* 46939 */ {(13<<2)|2,{117,80,0}}, +/* 46940 */ {(13<<2)|2,{117,80,0}}, +/* 46941 */ {(13<<2)|2,{117,80,0}}, +/* 46942 */ {(13<<2)|2,{117,80,0}}, +/* 46943 */ {(13<<2)|2,{117,80,0}}, +/* 46944 */ {(13<<2)|2,{117,81,0}}, +/* 46945 */ {(13<<2)|2,{117,81,0}}, +/* 46946 */ {(13<<2)|2,{117,81,0}}, +/* 46947 */ {(13<<2)|2,{117,81,0}}, +/* 46948 */ {(13<<2)|2,{117,81,0}}, +/* 46949 */ {(13<<2)|2,{117,81,0}}, +/* 46950 */ {(13<<2)|2,{117,81,0}}, +/* 46951 */ {(13<<2)|2,{117,81,0}}, +/* 46952 */ {(13<<2)|2,{117,82,0}}, +/* 46953 */ {(13<<2)|2,{117,82,0}}, +/* 46954 */ {(13<<2)|2,{117,82,0}}, +/* 46955 */ {(13<<2)|2,{117,82,0}}, +/* 46956 */ {(13<<2)|2,{117,82,0}}, +/* 46957 */ {(13<<2)|2,{117,82,0}}, +/* 46958 */ {(13<<2)|2,{117,82,0}}, +/* 46959 */ {(13<<2)|2,{117,82,0}}, +/* 46960 */ {(13<<2)|2,{117,83,0}}, +/* 46961 */ {(13<<2)|2,{117,83,0}}, +/* 46962 */ {(13<<2)|2,{117,83,0}}, +/* 46963 */ {(13<<2)|2,{117,83,0}}, +/* 46964 */ {(13<<2)|2,{117,83,0}}, +/* 46965 */ {(13<<2)|2,{117,83,0}}, +/* 46966 */ {(13<<2)|2,{117,83,0}}, +/* 46967 */ {(13<<2)|2,{117,83,0}}, +/* 46968 */ {(13<<2)|2,{117,84,0}}, +/* 46969 */ {(13<<2)|2,{117,84,0}}, +/* 46970 */ {(13<<2)|2,{117,84,0}}, +/* 46971 */ {(13<<2)|2,{117,84,0}}, +/* 46972 */ {(13<<2)|2,{117,84,0}}, +/* 46973 */ {(13<<2)|2,{117,84,0}}, +/* 46974 */ {(13<<2)|2,{117,84,0}}, +/* 46975 */ {(13<<2)|2,{117,84,0}}, +/* 46976 */ {(13<<2)|2,{117,85,0}}, +/* 46977 */ {(13<<2)|2,{117,85,0}}, +/* 46978 */ {(13<<2)|2,{117,85,0}}, +/* 46979 */ {(13<<2)|2,{117,85,0}}, +/* 46980 */ {(13<<2)|2,{117,85,0}}, +/* 46981 */ {(13<<2)|2,{117,85,0}}, +/* 46982 */ {(13<<2)|2,{117,85,0}}, +/* 46983 */ {(13<<2)|2,{117,85,0}}, +/* 46984 */ {(13<<2)|2,{117,86,0}}, +/* 46985 */ {(13<<2)|2,{117,86,0}}, +/* 46986 */ {(13<<2)|2,{117,86,0}}, +/* 46987 */ {(13<<2)|2,{117,86,0}}, +/* 46988 */ {(13<<2)|2,{117,86,0}}, +/* 46989 */ {(13<<2)|2,{117,86,0}}, +/* 46990 */ {(13<<2)|2,{117,86,0}}, +/* 46991 */ {(13<<2)|2,{117,86,0}}, +/* 46992 */ {(13<<2)|2,{117,87,0}}, +/* 46993 */ {(13<<2)|2,{117,87,0}}, +/* 46994 */ {(13<<2)|2,{117,87,0}}, +/* 46995 */ {(13<<2)|2,{117,87,0}}, +/* 46996 */ {(13<<2)|2,{117,87,0}}, +/* 46997 */ {(13<<2)|2,{117,87,0}}, +/* 46998 */ {(13<<2)|2,{117,87,0}}, +/* 46999 */ {(13<<2)|2,{117,87,0}}, +/* 47000 */ {(13<<2)|2,{117,89,0}}, +/* 47001 */ {(13<<2)|2,{117,89,0}}, +/* 47002 */ {(13<<2)|2,{117,89,0}}, +/* 47003 */ {(13<<2)|2,{117,89,0}}, +/* 47004 */ {(13<<2)|2,{117,89,0}}, +/* 47005 */ {(13<<2)|2,{117,89,0}}, +/* 47006 */ {(13<<2)|2,{117,89,0}}, +/* 47007 */ {(13<<2)|2,{117,89,0}}, +/* 47008 */ {(13<<2)|2,{117,106,0}}, +/* 47009 */ {(13<<2)|2,{117,106,0}}, +/* 47010 */ {(13<<2)|2,{117,106,0}}, +/* 47011 */ {(13<<2)|2,{117,106,0}}, +/* 47012 */ {(13<<2)|2,{117,106,0}}, +/* 47013 */ {(13<<2)|2,{117,106,0}}, +/* 47014 */ {(13<<2)|2,{117,106,0}}, +/* 47015 */ {(13<<2)|2,{117,106,0}}, +/* 47016 */ {(13<<2)|2,{117,107,0}}, +/* 47017 */ {(13<<2)|2,{117,107,0}}, +/* 47018 */ {(13<<2)|2,{117,107,0}}, +/* 47019 */ {(13<<2)|2,{117,107,0}}, +/* 47020 */ {(13<<2)|2,{117,107,0}}, +/* 47021 */ {(13<<2)|2,{117,107,0}}, +/* 47022 */ {(13<<2)|2,{117,107,0}}, +/* 47023 */ {(13<<2)|2,{117,107,0}}, +/* 47024 */ {(13<<2)|2,{117,113,0}}, +/* 47025 */ {(13<<2)|2,{117,113,0}}, +/* 47026 */ {(13<<2)|2,{117,113,0}}, +/* 47027 */ {(13<<2)|2,{117,113,0}}, +/* 47028 */ {(13<<2)|2,{117,113,0}}, +/* 47029 */ {(13<<2)|2,{117,113,0}}, +/* 47030 */ {(13<<2)|2,{117,113,0}}, +/* 47031 */ {(13<<2)|2,{117,113,0}}, +/* 47032 */ {(13<<2)|2,{117,118,0}}, +/* 47033 */ {(13<<2)|2,{117,118,0}}, +/* 47034 */ {(13<<2)|2,{117,118,0}}, +/* 47035 */ {(13<<2)|2,{117,118,0}}, +/* 47036 */ {(13<<2)|2,{117,118,0}}, +/* 47037 */ {(13<<2)|2,{117,118,0}}, +/* 47038 */ {(13<<2)|2,{117,118,0}}, +/* 47039 */ {(13<<2)|2,{117,118,0}}, +/* 47040 */ {(13<<2)|2,{117,119,0}}, +/* 47041 */ {(13<<2)|2,{117,119,0}}, +/* 47042 */ {(13<<2)|2,{117,119,0}}, +/* 47043 */ {(13<<2)|2,{117,119,0}}, +/* 47044 */ {(13<<2)|2,{117,119,0}}, +/* 47045 */ {(13<<2)|2,{117,119,0}}, +/* 47046 */ {(13<<2)|2,{117,119,0}}, +/* 47047 */ {(13<<2)|2,{117,119,0}}, +/* 47048 */ {(13<<2)|2,{117,120,0}}, +/* 47049 */ {(13<<2)|2,{117,120,0}}, +/* 47050 */ {(13<<2)|2,{117,120,0}}, +/* 47051 */ {(13<<2)|2,{117,120,0}}, +/* 47052 */ {(13<<2)|2,{117,120,0}}, +/* 47053 */ {(13<<2)|2,{117,120,0}}, +/* 47054 */ {(13<<2)|2,{117,120,0}}, +/* 47055 */ {(13<<2)|2,{117,120,0}}, +/* 47056 */ {(13<<2)|2,{117,121,0}}, +/* 47057 */ {(13<<2)|2,{117,121,0}}, +/* 47058 */ {(13<<2)|2,{117,121,0}}, +/* 47059 */ {(13<<2)|2,{117,121,0}}, +/* 47060 */ {(13<<2)|2,{117,121,0}}, +/* 47061 */ {(13<<2)|2,{117,121,0}}, +/* 47062 */ {(13<<2)|2,{117,121,0}}, +/* 47063 */ {(13<<2)|2,{117,121,0}}, +/* 47064 */ {(13<<2)|2,{117,122,0}}, +/* 47065 */ {(13<<2)|2,{117,122,0}}, +/* 47066 */ {(13<<2)|2,{117,122,0}}, +/* 47067 */ {(13<<2)|2,{117,122,0}}, +/* 47068 */ {(13<<2)|2,{117,122,0}}, +/* 47069 */ {(13<<2)|2,{117,122,0}}, +/* 47070 */ {(13<<2)|2,{117,122,0}}, +/* 47071 */ {(13<<2)|2,{117,122,0}}, +/* 47072 */ {(14<<2)|2,{117,38,0}}, +/* 47073 */ {(14<<2)|2,{117,38,0}}, +/* 47074 */ {(14<<2)|2,{117,38,0}}, +/* 47075 */ {(14<<2)|2,{117,38,0}}, +/* 47076 */ {(14<<2)|2,{117,42,0}}, +/* 47077 */ {(14<<2)|2,{117,42,0}}, +/* 47078 */ {(14<<2)|2,{117,42,0}}, +/* 47079 */ {(14<<2)|2,{117,42,0}}, +/* 47080 */ {(14<<2)|2,{117,44,0}}, +/* 47081 */ {(14<<2)|2,{117,44,0}}, +/* 47082 */ {(14<<2)|2,{117,44,0}}, +/* 47083 */ {(14<<2)|2,{117,44,0}}, +/* 47084 */ {(14<<2)|2,{117,59,0}}, +/* 47085 */ {(14<<2)|2,{117,59,0}}, +/* 47086 */ {(14<<2)|2,{117,59,0}}, +/* 47087 */ {(14<<2)|2,{117,59,0}}, +/* 47088 */ {(14<<2)|2,{117,88,0}}, +/* 47089 */ {(14<<2)|2,{117,88,0}}, +/* 47090 */ {(14<<2)|2,{117,88,0}}, +/* 47091 */ {(14<<2)|2,{117,88,0}}, +/* 47092 */ {(14<<2)|2,{117,90,0}}, +/* 47093 */ {(14<<2)|2,{117,90,0}}, +/* 47094 */ {(14<<2)|2,{117,90,0}}, +/* 47095 */ {(14<<2)|2,{117,90,0}}, +/* 47096 */ {(16<<2)|2,{117,33,0}}, +/* 47097 */ {(16<<2)|2,{117,34,0}}, +/* 47098 */ {(16<<2)|2,{117,40,0}}, +/* 47099 */ {(16<<2)|2,{117,41,0}}, +/* 47100 */ {(16<<2)|2,{117,63,0}}, +/* 47101 */ {(6<<2)|1,{117,0,0}}, +/* 47102 */ {(6<<2)|1,{117,0,0}}, +/* 47103 */ {(6<<2)|1,{117,0,0}}, +/* 47104 */ {(12<<2)|2,{58,48,0}}, +/* 47105 */ {(12<<2)|2,{58,48,0}}, +/* 47106 */ {(12<<2)|2,{58,48,0}}, +/* 47107 */ {(12<<2)|2,{58,48,0}}, +/* 47108 */ {(12<<2)|2,{58,48,0}}, +/* 47109 */ {(12<<2)|2,{58,48,0}}, +/* 47110 */ {(12<<2)|2,{58,48,0}}, +/* 47111 */ {(12<<2)|2,{58,48,0}}, +/* 47112 */ {(12<<2)|2,{58,48,0}}, +/* 47113 */ {(12<<2)|2,{58,48,0}}, +/* 47114 */ {(12<<2)|2,{58,48,0}}, +/* 47115 */ {(12<<2)|2,{58,48,0}}, +/* 47116 */ {(12<<2)|2,{58,48,0}}, +/* 47117 */ {(12<<2)|2,{58,48,0}}, +/* 47118 */ {(12<<2)|2,{58,48,0}}, +/* 47119 */ {(12<<2)|2,{58,48,0}}, +/* 47120 */ {(12<<2)|2,{58,49,0}}, +/* 47121 */ {(12<<2)|2,{58,49,0}}, +/* 47122 */ {(12<<2)|2,{58,49,0}}, +/* 47123 */ {(12<<2)|2,{58,49,0}}, +/* 47124 */ {(12<<2)|2,{58,49,0}}, +/* 47125 */ {(12<<2)|2,{58,49,0}}, +/* 47126 */ {(12<<2)|2,{58,49,0}}, +/* 47127 */ {(12<<2)|2,{58,49,0}}, +/* 47128 */ {(12<<2)|2,{58,49,0}}, +/* 47129 */ {(12<<2)|2,{58,49,0}}, +/* 47130 */ {(12<<2)|2,{58,49,0}}, +/* 47131 */ {(12<<2)|2,{58,49,0}}, +/* 47132 */ {(12<<2)|2,{58,49,0}}, +/* 47133 */ {(12<<2)|2,{58,49,0}}, +/* 47134 */ {(12<<2)|2,{58,49,0}}, +/* 47135 */ {(12<<2)|2,{58,49,0}}, +/* 47136 */ {(12<<2)|2,{58,50,0}}, +/* 47137 */ {(12<<2)|2,{58,50,0}}, +/* 47138 */ {(12<<2)|2,{58,50,0}}, +/* 47139 */ {(12<<2)|2,{58,50,0}}, +/* 47140 */ {(12<<2)|2,{58,50,0}}, +/* 47141 */ {(12<<2)|2,{58,50,0}}, +/* 47142 */ {(12<<2)|2,{58,50,0}}, +/* 47143 */ {(12<<2)|2,{58,50,0}}, +/* 47144 */ {(12<<2)|2,{58,50,0}}, +/* 47145 */ {(12<<2)|2,{58,50,0}}, +/* 47146 */ {(12<<2)|2,{58,50,0}}, +/* 47147 */ {(12<<2)|2,{58,50,0}}, +/* 47148 */ {(12<<2)|2,{58,50,0}}, +/* 47149 */ {(12<<2)|2,{58,50,0}}, +/* 47150 */ {(12<<2)|2,{58,50,0}}, +/* 47151 */ {(12<<2)|2,{58,50,0}}, +/* 47152 */ {(12<<2)|2,{58,97,0}}, +/* 47153 */ {(12<<2)|2,{58,97,0}}, +/* 47154 */ {(12<<2)|2,{58,97,0}}, +/* 47155 */ {(12<<2)|2,{58,97,0}}, +/* 47156 */ {(12<<2)|2,{58,97,0}}, +/* 47157 */ {(12<<2)|2,{58,97,0}}, +/* 47158 */ {(12<<2)|2,{58,97,0}}, +/* 47159 */ {(12<<2)|2,{58,97,0}}, +/* 47160 */ {(12<<2)|2,{58,97,0}}, +/* 47161 */ {(12<<2)|2,{58,97,0}}, +/* 47162 */ {(12<<2)|2,{58,97,0}}, +/* 47163 */ {(12<<2)|2,{58,97,0}}, +/* 47164 */ {(12<<2)|2,{58,97,0}}, +/* 47165 */ {(12<<2)|2,{58,97,0}}, +/* 47166 */ {(12<<2)|2,{58,97,0}}, +/* 47167 */ {(12<<2)|2,{58,97,0}}, +/* 47168 */ {(12<<2)|2,{58,99,0}}, +/* 47169 */ {(12<<2)|2,{58,99,0}}, +/* 47170 */ {(12<<2)|2,{58,99,0}}, +/* 47171 */ {(12<<2)|2,{58,99,0}}, +/* 47172 */ {(12<<2)|2,{58,99,0}}, +/* 47173 */ {(12<<2)|2,{58,99,0}}, +/* 47174 */ {(12<<2)|2,{58,99,0}}, +/* 47175 */ {(12<<2)|2,{58,99,0}}, +/* 47176 */ {(12<<2)|2,{58,99,0}}, +/* 47177 */ {(12<<2)|2,{58,99,0}}, +/* 47178 */ {(12<<2)|2,{58,99,0}}, +/* 47179 */ {(12<<2)|2,{58,99,0}}, +/* 47180 */ {(12<<2)|2,{58,99,0}}, +/* 47181 */ {(12<<2)|2,{58,99,0}}, +/* 47182 */ {(12<<2)|2,{58,99,0}}, +/* 47183 */ {(12<<2)|2,{58,99,0}}, +/* 47184 */ {(12<<2)|2,{58,101,0}}, +/* 47185 */ {(12<<2)|2,{58,101,0}}, +/* 47186 */ {(12<<2)|2,{58,101,0}}, +/* 47187 */ {(12<<2)|2,{58,101,0}}, +/* 47188 */ {(12<<2)|2,{58,101,0}}, +/* 47189 */ {(12<<2)|2,{58,101,0}}, +/* 47190 */ {(12<<2)|2,{58,101,0}}, +/* 47191 */ {(12<<2)|2,{58,101,0}}, +/* 47192 */ {(12<<2)|2,{58,101,0}}, +/* 47193 */ {(12<<2)|2,{58,101,0}}, +/* 47194 */ {(12<<2)|2,{58,101,0}}, +/* 47195 */ {(12<<2)|2,{58,101,0}}, +/* 47196 */ {(12<<2)|2,{58,101,0}}, +/* 47197 */ {(12<<2)|2,{58,101,0}}, +/* 47198 */ {(12<<2)|2,{58,101,0}}, +/* 47199 */ {(12<<2)|2,{58,101,0}}, +/* 47200 */ {(12<<2)|2,{58,105,0}}, +/* 47201 */ {(12<<2)|2,{58,105,0}}, +/* 47202 */ {(12<<2)|2,{58,105,0}}, +/* 47203 */ {(12<<2)|2,{58,105,0}}, +/* 47204 */ {(12<<2)|2,{58,105,0}}, +/* 47205 */ {(12<<2)|2,{58,105,0}}, +/* 47206 */ {(12<<2)|2,{58,105,0}}, +/* 47207 */ {(12<<2)|2,{58,105,0}}, +/* 47208 */ {(12<<2)|2,{58,105,0}}, +/* 47209 */ {(12<<2)|2,{58,105,0}}, +/* 47210 */ {(12<<2)|2,{58,105,0}}, +/* 47211 */ {(12<<2)|2,{58,105,0}}, +/* 47212 */ {(12<<2)|2,{58,105,0}}, +/* 47213 */ {(12<<2)|2,{58,105,0}}, +/* 47214 */ {(12<<2)|2,{58,105,0}}, +/* 47215 */ {(12<<2)|2,{58,105,0}}, +/* 47216 */ {(12<<2)|2,{58,111,0}}, +/* 47217 */ {(12<<2)|2,{58,111,0}}, +/* 47218 */ {(12<<2)|2,{58,111,0}}, +/* 47219 */ {(12<<2)|2,{58,111,0}}, +/* 47220 */ {(12<<2)|2,{58,111,0}}, +/* 47221 */ {(12<<2)|2,{58,111,0}}, +/* 47222 */ {(12<<2)|2,{58,111,0}}, +/* 47223 */ {(12<<2)|2,{58,111,0}}, +/* 47224 */ {(12<<2)|2,{58,111,0}}, +/* 47225 */ {(12<<2)|2,{58,111,0}}, +/* 47226 */ {(12<<2)|2,{58,111,0}}, +/* 47227 */ {(12<<2)|2,{58,111,0}}, +/* 47228 */ {(12<<2)|2,{58,111,0}}, +/* 47229 */ {(12<<2)|2,{58,111,0}}, +/* 47230 */ {(12<<2)|2,{58,111,0}}, +/* 47231 */ {(12<<2)|2,{58,111,0}}, +/* 47232 */ {(12<<2)|2,{58,115,0}}, +/* 47233 */ {(12<<2)|2,{58,115,0}}, +/* 47234 */ {(12<<2)|2,{58,115,0}}, +/* 47235 */ {(12<<2)|2,{58,115,0}}, +/* 47236 */ {(12<<2)|2,{58,115,0}}, +/* 47237 */ {(12<<2)|2,{58,115,0}}, +/* 47238 */ {(12<<2)|2,{58,115,0}}, +/* 47239 */ {(12<<2)|2,{58,115,0}}, +/* 47240 */ {(12<<2)|2,{58,115,0}}, +/* 47241 */ {(12<<2)|2,{58,115,0}}, +/* 47242 */ {(12<<2)|2,{58,115,0}}, +/* 47243 */ {(12<<2)|2,{58,115,0}}, +/* 47244 */ {(12<<2)|2,{58,115,0}}, +/* 47245 */ {(12<<2)|2,{58,115,0}}, +/* 47246 */ {(12<<2)|2,{58,115,0}}, +/* 47247 */ {(12<<2)|2,{58,115,0}}, +/* 47248 */ {(12<<2)|2,{58,116,0}}, +/* 47249 */ {(12<<2)|2,{58,116,0}}, +/* 47250 */ {(12<<2)|2,{58,116,0}}, +/* 47251 */ {(12<<2)|2,{58,116,0}}, +/* 47252 */ {(12<<2)|2,{58,116,0}}, +/* 47253 */ {(12<<2)|2,{58,116,0}}, +/* 47254 */ {(12<<2)|2,{58,116,0}}, +/* 47255 */ {(12<<2)|2,{58,116,0}}, +/* 47256 */ {(12<<2)|2,{58,116,0}}, +/* 47257 */ {(12<<2)|2,{58,116,0}}, +/* 47258 */ {(12<<2)|2,{58,116,0}}, +/* 47259 */ {(12<<2)|2,{58,116,0}}, +/* 47260 */ {(12<<2)|2,{58,116,0}}, +/* 47261 */ {(12<<2)|2,{58,116,0}}, +/* 47262 */ {(12<<2)|2,{58,116,0}}, +/* 47263 */ {(12<<2)|2,{58,116,0}}, +/* 47264 */ {(13<<2)|2,{58,32,0}}, +/* 47265 */ {(13<<2)|2,{58,32,0}}, +/* 47266 */ {(13<<2)|2,{58,32,0}}, +/* 47267 */ {(13<<2)|2,{58,32,0}}, +/* 47268 */ {(13<<2)|2,{58,32,0}}, +/* 47269 */ {(13<<2)|2,{58,32,0}}, +/* 47270 */ {(13<<2)|2,{58,32,0}}, +/* 47271 */ {(13<<2)|2,{58,32,0}}, +/* 47272 */ {(13<<2)|2,{58,37,0}}, +/* 47273 */ {(13<<2)|2,{58,37,0}}, +/* 47274 */ {(13<<2)|2,{58,37,0}}, +/* 47275 */ {(13<<2)|2,{58,37,0}}, +/* 47276 */ {(13<<2)|2,{58,37,0}}, +/* 47277 */ {(13<<2)|2,{58,37,0}}, +/* 47278 */ {(13<<2)|2,{58,37,0}}, +/* 47279 */ {(13<<2)|2,{58,37,0}}, +/* 47280 */ {(13<<2)|2,{58,45,0}}, +/* 47281 */ {(13<<2)|2,{58,45,0}}, +/* 47282 */ {(13<<2)|2,{58,45,0}}, +/* 47283 */ {(13<<2)|2,{58,45,0}}, +/* 47284 */ {(13<<2)|2,{58,45,0}}, +/* 47285 */ {(13<<2)|2,{58,45,0}}, +/* 47286 */ {(13<<2)|2,{58,45,0}}, +/* 47287 */ {(13<<2)|2,{58,45,0}}, +/* 47288 */ {(13<<2)|2,{58,46,0}}, +/* 47289 */ {(13<<2)|2,{58,46,0}}, +/* 47290 */ {(13<<2)|2,{58,46,0}}, +/* 47291 */ {(13<<2)|2,{58,46,0}}, +/* 47292 */ {(13<<2)|2,{58,46,0}}, +/* 47293 */ {(13<<2)|2,{58,46,0}}, +/* 47294 */ {(13<<2)|2,{58,46,0}}, +/* 47295 */ {(13<<2)|2,{58,46,0}}, +/* 47296 */ {(13<<2)|2,{58,47,0}}, +/* 47297 */ {(13<<2)|2,{58,47,0}}, +/* 47298 */ {(13<<2)|2,{58,47,0}}, +/* 47299 */ {(13<<2)|2,{58,47,0}}, +/* 47300 */ {(13<<2)|2,{58,47,0}}, +/* 47301 */ {(13<<2)|2,{58,47,0}}, +/* 47302 */ {(13<<2)|2,{58,47,0}}, +/* 47303 */ {(13<<2)|2,{58,47,0}}, +/* 47304 */ {(13<<2)|2,{58,51,0}}, +/* 47305 */ {(13<<2)|2,{58,51,0}}, +/* 47306 */ {(13<<2)|2,{58,51,0}}, +/* 47307 */ {(13<<2)|2,{58,51,0}}, +/* 47308 */ {(13<<2)|2,{58,51,0}}, +/* 47309 */ {(13<<2)|2,{58,51,0}}, +/* 47310 */ {(13<<2)|2,{58,51,0}}, +/* 47311 */ {(13<<2)|2,{58,51,0}}, +/* 47312 */ {(13<<2)|2,{58,52,0}}, +/* 47313 */ {(13<<2)|2,{58,52,0}}, +/* 47314 */ {(13<<2)|2,{58,52,0}}, +/* 47315 */ {(13<<2)|2,{58,52,0}}, +/* 47316 */ {(13<<2)|2,{58,52,0}}, +/* 47317 */ {(13<<2)|2,{58,52,0}}, +/* 47318 */ {(13<<2)|2,{58,52,0}}, +/* 47319 */ {(13<<2)|2,{58,52,0}}, +/* 47320 */ {(13<<2)|2,{58,53,0}}, +/* 47321 */ {(13<<2)|2,{58,53,0}}, +/* 47322 */ {(13<<2)|2,{58,53,0}}, +/* 47323 */ {(13<<2)|2,{58,53,0}}, +/* 47324 */ {(13<<2)|2,{58,53,0}}, +/* 47325 */ {(13<<2)|2,{58,53,0}}, +/* 47326 */ {(13<<2)|2,{58,53,0}}, +/* 47327 */ {(13<<2)|2,{58,53,0}}, +/* 47328 */ {(13<<2)|2,{58,54,0}}, +/* 47329 */ {(13<<2)|2,{58,54,0}}, +/* 47330 */ {(13<<2)|2,{58,54,0}}, +/* 47331 */ {(13<<2)|2,{58,54,0}}, +/* 47332 */ {(13<<2)|2,{58,54,0}}, +/* 47333 */ {(13<<2)|2,{58,54,0}}, +/* 47334 */ {(13<<2)|2,{58,54,0}}, +/* 47335 */ {(13<<2)|2,{58,54,0}}, +/* 47336 */ {(13<<2)|2,{58,55,0}}, +/* 47337 */ {(13<<2)|2,{58,55,0}}, +/* 47338 */ {(13<<2)|2,{58,55,0}}, +/* 47339 */ {(13<<2)|2,{58,55,0}}, +/* 47340 */ {(13<<2)|2,{58,55,0}}, +/* 47341 */ {(13<<2)|2,{58,55,0}}, +/* 47342 */ {(13<<2)|2,{58,55,0}}, +/* 47343 */ {(13<<2)|2,{58,55,0}}, +/* 47344 */ {(13<<2)|2,{58,56,0}}, +/* 47345 */ {(13<<2)|2,{58,56,0}}, +/* 47346 */ {(13<<2)|2,{58,56,0}}, +/* 47347 */ {(13<<2)|2,{58,56,0}}, +/* 47348 */ {(13<<2)|2,{58,56,0}}, +/* 47349 */ {(13<<2)|2,{58,56,0}}, +/* 47350 */ {(13<<2)|2,{58,56,0}}, +/* 47351 */ {(13<<2)|2,{58,56,0}}, +/* 47352 */ {(13<<2)|2,{58,57,0}}, +/* 47353 */ {(13<<2)|2,{58,57,0}}, +/* 47354 */ {(13<<2)|2,{58,57,0}}, +/* 47355 */ {(13<<2)|2,{58,57,0}}, +/* 47356 */ {(13<<2)|2,{58,57,0}}, +/* 47357 */ {(13<<2)|2,{58,57,0}}, +/* 47358 */ {(13<<2)|2,{58,57,0}}, +/* 47359 */ {(13<<2)|2,{58,57,0}}, +/* 47360 */ {(13<<2)|2,{58,61,0}}, +/* 47361 */ {(13<<2)|2,{58,61,0}}, +/* 47362 */ {(13<<2)|2,{58,61,0}}, +/* 47363 */ {(13<<2)|2,{58,61,0}}, +/* 47364 */ {(13<<2)|2,{58,61,0}}, +/* 47365 */ {(13<<2)|2,{58,61,0}}, +/* 47366 */ {(13<<2)|2,{58,61,0}}, +/* 47367 */ {(13<<2)|2,{58,61,0}}, +/* 47368 */ {(13<<2)|2,{58,65,0}}, +/* 47369 */ {(13<<2)|2,{58,65,0}}, +/* 47370 */ {(13<<2)|2,{58,65,0}}, +/* 47371 */ {(13<<2)|2,{58,65,0}}, +/* 47372 */ {(13<<2)|2,{58,65,0}}, +/* 47373 */ {(13<<2)|2,{58,65,0}}, +/* 47374 */ {(13<<2)|2,{58,65,0}}, +/* 47375 */ {(13<<2)|2,{58,65,0}}, +/* 47376 */ {(13<<2)|2,{58,95,0}}, +/* 47377 */ {(13<<2)|2,{58,95,0}}, +/* 47378 */ {(13<<2)|2,{58,95,0}}, +/* 47379 */ {(13<<2)|2,{58,95,0}}, +/* 47380 */ {(13<<2)|2,{58,95,0}}, +/* 47381 */ {(13<<2)|2,{58,95,0}}, +/* 47382 */ {(13<<2)|2,{58,95,0}}, +/* 47383 */ {(13<<2)|2,{58,95,0}}, +/* 47384 */ {(13<<2)|2,{58,98,0}}, +/* 47385 */ {(13<<2)|2,{58,98,0}}, +/* 47386 */ {(13<<2)|2,{58,98,0}}, +/* 47387 */ {(13<<2)|2,{58,98,0}}, +/* 47388 */ {(13<<2)|2,{58,98,0}}, +/* 47389 */ {(13<<2)|2,{58,98,0}}, +/* 47390 */ {(13<<2)|2,{58,98,0}}, +/* 47391 */ {(13<<2)|2,{58,98,0}}, +/* 47392 */ {(13<<2)|2,{58,100,0}}, +/* 47393 */ {(13<<2)|2,{58,100,0}}, +/* 47394 */ {(13<<2)|2,{58,100,0}}, +/* 47395 */ {(13<<2)|2,{58,100,0}}, +/* 47396 */ {(13<<2)|2,{58,100,0}}, +/* 47397 */ {(13<<2)|2,{58,100,0}}, +/* 47398 */ {(13<<2)|2,{58,100,0}}, +/* 47399 */ {(13<<2)|2,{58,100,0}}, +/* 47400 */ {(13<<2)|2,{58,102,0}}, +/* 47401 */ {(13<<2)|2,{58,102,0}}, +/* 47402 */ {(13<<2)|2,{58,102,0}}, +/* 47403 */ {(13<<2)|2,{58,102,0}}, +/* 47404 */ {(13<<2)|2,{58,102,0}}, +/* 47405 */ {(13<<2)|2,{58,102,0}}, +/* 47406 */ {(13<<2)|2,{58,102,0}}, +/* 47407 */ {(13<<2)|2,{58,102,0}}, +/* 47408 */ {(13<<2)|2,{58,103,0}}, +/* 47409 */ {(13<<2)|2,{58,103,0}}, +/* 47410 */ {(13<<2)|2,{58,103,0}}, +/* 47411 */ {(13<<2)|2,{58,103,0}}, +/* 47412 */ {(13<<2)|2,{58,103,0}}, +/* 47413 */ {(13<<2)|2,{58,103,0}}, +/* 47414 */ {(13<<2)|2,{58,103,0}}, +/* 47415 */ {(13<<2)|2,{58,103,0}}, +/* 47416 */ {(13<<2)|2,{58,104,0}}, +/* 47417 */ {(13<<2)|2,{58,104,0}}, +/* 47418 */ {(13<<2)|2,{58,104,0}}, +/* 47419 */ {(13<<2)|2,{58,104,0}}, +/* 47420 */ {(13<<2)|2,{58,104,0}}, +/* 47421 */ {(13<<2)|2,{58,104,0}}, +/* 47422 */ {(13<<2)|2,{58,104,0}}, +/* 47423 */ {(13<<2)|2,{58,104,0}}, +/* 47424 */ {(13<<2)|2,{58,108,0}}, +/* 47425 */ {(13<<2)|2,{58,108,0}}, +/* 47426 */ {(13<<2)|2,{58,108,0}}, +/* 47427 */ {(13<<2)|2,{58,108,0}}, +/* 47428 */ {(13<<2)|2,{58,108,0}}, +/* 47429 */ {(13<<2)|2,{58,108,0}}, +/* 47430 */ {(13<<2)|2,{58,108,0}}, +/* 47431 */ {(13<<2)|2,{58,108,0}}, +/* 47432 */ {(13<<2)|2,{58,109,0}}, +/* 47433 */ {(13<<2)|2,{58,109,0}}, +/* 47434 */ {(13<<2)|2,{58,109,0}}, +/* 47435 */ {(13<<2)|2,{58,109,0}}, +/* 47436 */ {(13<<2)|2,{58,109,0}}, +/* 47437 */ {(13<<2)|2,{58,109,0}}, +/* 47438 */ {(13<<2)|2,{58,109,0}}, +/* 47439 */ {(13<<2)|2,{58,109,0}}, +/* 47440 */ {(13<<2)|2,{58,110,0}}, +/* 47441 */ {(13<<2)|2,{58,110,0}}, +/* 47442 */ {(13<<2)|2,{58,110,0}}, +/* 47443 */ {(13<<2)|2,{58,110,0}}, +/* 47444 */ {(13<<2)|2,{58,110,0}}, +/* 47445 */ {(13<<2)|2,{58,110,0}}, +/* 47446 */ {(13<<2)|2,{58,110,0}}, +/* 47447 */ {(13<<2)|2,{58,110,0}}, +/* 47448 */ {(13<<2)|2,{58,112,0}}, +/* 47449 */ {(13<<2)|2,{58,112,0}}, +/* 47450 */ {(13<<2)|2,{58,112,0}}, +/* 47451 */ {(13<<2)|2,{58,112,0}}, +/* 47452 */ {(13<<2)|2,{58,112,0}}, +/* 47453 */ {(13<<2)|2,{58,112,0}}, +/* 47454 */ {(13<<2)|2,{58,112,0}}, +/* 47455 */ {(13<<2)|2,{58,112,0}}, +/* 47456 */ {(13<<2)|2,{58,114,0}}, +/* 47457 */ {(13<<2)|2,{58,114,0}}, +/* 47458 */ {(13<<2)|2,{58,114,0}}, +/* 47459 */ {(13<<2)|2,{58,114,0}}, +/* 47460 */ {(13<<2)|2,{58,114,0}}, +/* 47461 */ {(13<<2)|2,{58,114,0}}, +/* 47462 */ {(13<<2)|2,{58,114,0}}, +/* 47463 */ {(13<<2)|2,{58,114,0}}, +/* 47464 */ {(13<<2)|2,{58,117,0}}, +/* 47465 */ {(13<<2)|2,{58,117,0}}, +/* 47466 */ {(13<<2)|2,{58,117,0}}, +/* 47467 */ {(13<<2)|2,{58,117,0}}, +/* 47468 */ {(13<<2)|2,{58,117,0}}, +/* 47469 */ {(13<<2)|2,{58,117,0}}, +/* 47470 */ {(13<<2)|2,{58,117,0}}, +/* 47471 */ {(13<<2)|2,{58,117,0}}, +/* 47472 */ {(14<<2)|2,{58,58,0}}, +/* 47473 */ {(14<<2)|2,{58,58,0}}, +/* 47474 */ {(14<<2)|2,{58,58,0}}, +/* 47475 */ {(14<<2)|2,{58,58,0}}, +/* 47476 */ {(14<<2)|2,{58,66,0}}, +/* 47477 */ {(14<<2)|2,{58,66,0}}, +/* 47478 */ {(14<<2)|2,{58,66,0}}, +/* 47479 */ {(14<<2)|2,{58,66,0}}, +/* 47480 */ {(14<<2)|2,{58,67,0}}, +/* 47481 */ {(14<<2)|2,{58,67,0}}, +/* 47482 */ {(14<<2)|2,{58,67,0}}, +/* 47483 */ {(14<<2)|2,{58,67,0}}, +/* 47484 */ {(14<<2)|2,{58,68,0}}, +/* 47485 */ {(14<<2)|2,{58,68,0}}, +/* 47486 */ {(14<<2)|2,{58,68,0}}, +/* 47487 */ {(14<<2)|2,{58,68,0}}, +/* 47488 */ {(14<<2)|2,{58,69,0}}, +/* 47489 */ {(14<<2)|2,{58,69,0}}, +/* 47490 */ {(14<<2)|2,{58,69,0}}, +/* 47491 */ {(14<<2)|2,{58,69,0}}, +/* 47492 */ {(14<<2)|2,{58,70,0}}, +/* 47493 */ {(14<<2)|2,{58,70,0}}, +/* 47494 */ {(14<<2)|2,{58,70,0}}, +/* 47495 */ {(14<<2)|2,{58,70,0}}, +/* 47496 */ {(14<<2)|2,{58,71,0}}, +/* 47497 */ {(14<<2)|2,{58,71,0}}, +/* 47498 */ {(14<<2)|2,{58,71,0}}, +/* 47499 */ {(14<<2)|2,{58,71,0}}, +/* 47500 */ {(14<<2)|2,{58,72,0}}, +/* 47501 */ {(14<<2)|2,{58,72,0}}, +/* 47502 */ {(14<<2)|2,{58,72,0}}, +/* 47503 */ {(14<<2)|2,{58,72,0}}, +/* 47504 */ {(14<<2)|2,{58,73,0}}, +/* 47505 */ {(14<<2)|2,{58,73,0}}, +/* 47506 */ {(14<<2)|2,{58,73,0}}, +/* 47507 */ {(14<<2)|2,{58,73,0}}, +/* 47508 */ {(14<<2)|2,{58,74,0}}, +/* 47509 */ {(14<<2)|2,{58,74,0}}, +/* 47510 */ {(14<<2)|2,{58,74,0}}, +/* 47511 */ {(14<<2)|2,{58,74,0}}, +/* 47512 */ {(14<<2)|2,{58,75,0}}, +/* 47513 */ {(14<<2)|2,{58,75,0}}, +/* 47514 */ {(14<<2)|2,{58,75,0}}, +/* 47515 */ {(14<<2)|2,{58,75,0}}, +/* 47516 */ {(14<<2)|2,{58,76,0}}, +/* 47517 */ {(14<<2)|2,{58,76,0}}, +/* 47518 */ {(14<<2)|2,{58,76,0}}, +/* 47519 */ {(14<<2)|2,{58,76,0}}, +/* 47520 */ {(14<<2)|2,{58,77,0}}, +/* 47521 */ {(14<<2)|2,{58,77,0}}, +/* 47522 */ {(14<<2)|2,{58,77,0}}, +/* 47523 */ {(14<<2)|2,{58,77,0}}, +/* 47524 */ {(14<<2)|2,{58,78,0}}, +/* 47525 */ {(14<<2)|2,{58,78,0}}, +/* 47526 */ {(14<<2)|2,{58,78,0}}, +/* 47527 */ {(14<<2)|2,{58,78,0}}, +/* 47528 */ {(14<<2)|2,{58,79,0}}, +/* 47529 */ {(14<<2)|2,{58,79,0}}, +/* 47530 */ {(14<<2)|2,{58,79,0}}, +/* 47531 */ {(14<<2)|2,{58,79,0}}, +/* 47532 */ {(14<<2)|2,{58,80,0}}, +/* 47533 */ {(14<<2)|2,{58,80,0}}, +/* 47534 */ {(14<<2)|2,{58,80,0}}, +/* 47535 */ {(14<<2)|2,{58,80,0}}, +/* 47536 */ {(14<<2)|2,{58,81,0}}, +/* 47537 */ {(14<<2)|2,{58,81,0}}, +/* 47538 */ {(14<<2)|2,{58,81,0}}, +/* 47539 */ {(14<<2)|2,{58,81,0}}, +/* 47540 */ {(14<<2)|2,{58,82,0}}, +/* 47541 */ {(14<<2)|2,{58,82,0}}, +/* 47542 */ {(14<<2)|2,{58,82,0}}, +/* 47543 */ {(14<<2)|2,{58,82,0}}, +/* 47544 */ {(14<<2)|2,{58,83,0}}, +/* 47545 */ {(14<<2)|2,{58,83,0}}, +/* 47546 */ {(14<<2)|2,{58,83,0}}, +/* 47547 */ {(14<<2)|2,{58,83,0}}, +/* 47548 */ {(14<<2)|2,{58,84,0}}, +/* 47549 */ {(14<<2)|2,{58,84,0}}, +/* 47550 */ {(14<<2)|2,{58,84,0}}, +/* 47551 */ {(14<<2)|2,{58,84,0}}, +/* 47552 */ {(14<<2)|2,{58,85,0}}, +/* 47553 */ {(14<<2)|2,{58,85,0}}, +/* 47554 */ {(14<<2)|2,{58,85,0}}, +/* 47555 */ {(14<<2)|2,{58,85,0}}, +/* 47556 */ {(14<<2)|2,{58,86,0}}, +/* 47557 */ {(14<<2)|2,{58,86,0}}, +/* 47558 */ {(14<<2)|2,{58,86,0}}, +/* 47559 */ {(14<<2)|2,{58,86,0}}, +/* 47560 */ {(14<<2)|2,{58,87,0}}, +/* 47561 */ {(14<<2)|2,{58,87,0}}, +/* 47562 */ {(14<<2)|2,{58,87,0}}, +/* 47563 */ {(14<<2)|2,{58,87,0}}, +/* 47564 */ {(14<<2)|2,{58,89,0}}, +/* 47565 */ {(14<<2)|2,{58,89,0}}, +/* 47566 */ {(14<<2)|2,{58,89,0}}, +/* 47567 */ {(14<<2)|2,{58,89,0}}, +/* 47568 */ {(14<<2)|2,{58,106,0}}, +/* 47569 */ {(14<<2)|2,{58,106,0}}, +/* 47570 */ {(14<<2)|2,{58,106,0}}, +/* 47571 */ {(14<<2)|2,{58,106,0}}, +/* 47572 */ {(14<<2)|2,{58,107,0}}, +/* 47573 */ {(14<<2)|2,{58,107,0}}, +/* 47574 */ {(14<<2)|2,{58,107,0}}, +/* 47575 */ {(14<<2)|2,{58,107,0}}, +/* 47576 */ {(14<<2)|2,{58,113,0}}, +/* 47577 */ {(14<<2)|2,{58,113,0}}, +/* 47578 */ {(14<<2)|2,{58,113,0}}, +/* 47579 */ {(14<<2)|2,{58,113,0}}, +/* 47580 */ {(14<<2)|2,{58,118,0}}, +/* 47581 */ {(14<<2)|2,{58,118,0}}, +/* 47582 */ {(14<<2)|2,{58,118,0}}, +/* 47583 */ {(14<<2)|2,{58,118,0}}, +/* 47584 */ {(14<<2)|2,{58,119,0}}, +/* 47585 */ {(14<<2)|2,{58,119,0}}, +/* 47586 */ {(14<<2)|2,{58,119,0}}, +/* 47587 */ {(14<<2)|2,{58,119,0}}, +/* 47588 */ {(14<<2)|2,{58,120,0}}, +/* 47589 */ {(14<<2)|2,{58,120,0}}, +/* 47590 */ {(14<<2)|2,{58,120,0}}, +/* 47591 */ {(14<<2)|2,{58,120,0}}, +/* 47592 */ {(14<<2)|2,{58,121,0}}, +/* 47593 */ {(14<<2)|2,{58,121,0}}, +/* 47594 */ {(14<<2)|2,{58,121,0}}, +/* 47595 */ {(14<<2)|2,{58,121,0}}, +/* 47596 */ {(14<<2)|2,{58,122,0}}, +/* 47597 */ {(14<<2)|2,{58,122,0}}, +/* 47598 */ {(14<<2)|2,{58,122,0}}, +/* 47599 */ {(14<<2)|2,{58,122,0}}, +/* 47600 */ {(15<<2)|2,{58,38,0}}, +/* 47601 */ {(15<<2)|2,{58,38,0}}, +/* 47602 */ {(15<<2)|2,{58,42,0}}, +/* 47603 */ {(15<<2)|2,{58,42,0}}, +/* 47604 */ {(15<<2)|2,{58,44,0}}, +/* 47605 */ {(15<<2)|2,{58,44,0}}, +/* 47606 */ {(15<<2)|2,{58,59,0}}, +/* 47607 */ {(15<<2)|2,{58,59,0}}, +/* 47608 */ {(15<<2)|2,{58,88,0}}, +/* 47609 */ {(15<<2)|2,{58,88,0}}, +/* 47610 */ {(15<<2)|2,{58,90,0}}, +/* 47611 */ {(15<<2)|2,{58,90,0}}, +/* 47612 */ {(7<<2)|1,{58,0,0}}, +/* 47613 */ {(7<<2)|1,{58,0,0}}, +/* 47614 */ {(7<<2)|1,{58,0,0}}, +/* 47615 */ {(7<<2)|1,{58,0,0}}, +/* 47616 */ {(12<<2)|2,{66,48,0}}, +/* 47617 */ {(12<<2)|2,{66,48,0}}, +/* 47618 */ {(12<<2)|2,{66,48,0}}, +/* 47619 */ {(12<<2)|2,{66,48,0}}, +/* 47620 */ {(12<<2)|2,{66,48,0}}, +/* 47621 */ {(12<<2)|2,{66,48,0}}, +/* 47622 */ {(12<<2)|2,{66,48,0}}, +/* 47623 */ {(12<<2)|2,{66,48,0}}, +/* 47624 */ {(12<<2)|2,{66,48,0}}, +/* 47625 */ {(12<<2)|2,{66,48,0}}, +/* 47626 */ {(12<<2)|2,{66,48,0}}, +/* 47627 */ {(12<<2)|2,{66,48,0}}, +/* 47628 */ {(12<<2)|2,{66,48,0}}, +/* 47629 */ {(12<<2)|2,{66,48,0}}, +/* 47630 */ {(12<<2)|2,{66,48,0}}, +/* 47631 */ {(12<<2)|2,{66,48,0}}, +/* 47632 */ {(12<<2)|2,{66,49,0}}, +/* 47633 */ {(12<<2)|2,{66,49,0}}, +/* 47634 */ {(12<<2)|2,{66,49,0}}, +/* 47635 */ {(12<<2)|2,{66,49,0}}, +/* 47636 */ {(12<<2)|2,{66,49,0}}, +/* 47637 */ {(12<<2)|2,{66,49,0}}, +/* 47638 */ {(12<<2)|2,{66,49,0}}, +/* 47639 */ {(12<<2)|2,{66,49,0}}, +/* 47640 */ {(12<<2)|2,{66,49,0}}, +/* 47641 */ {(12<<2)|2,{66,49,0}}, +/* 47642 */ {(12<<2)|2,{66,49,0}}, +/* 47643 */ {(12<<2)|2,{66,49,0}}, +/* 47644 */ {(12<<2)|2,{66,49,0}}, +/* 47645 */ {(12<<2)|2,{66,49,0}}, +/* 47646 */ {(12<<2)|2,{66,49,0}}, +/* 47647 */ {(12<<2)|2,{66,49,0}}, +/* 47648 */ {(12<<2)|2,{66,50,0}}, +/* 47649 */ {(12<<2)|2,{66,50,0}}, +/* 47650 */ {(12<<2)|2,{66,50,0}}, +/* 47651 */ {(12<<2)|2,{66,50,0}}, +/* 47652 */ {(12<<2)|2,{66,50,0}}, +/* 47653 */ {(12<<2)|2,{66,50,0}}, +/* 47654 */ {(12<<2)|2,{66,50,0}}, +/* 47655 */ {(12<<2)|2,{66,50,0}}, +/* 47656 */ {(12<<2)|2,{66,50,0}}, +/* 47657 */ {(12<<2)|2,{66,50,0}}, +/* 47658 */ {(12<<2)|2,{66,50,0}}, +/* 47659 */ {(12<<2)|2,{66,50,0}}, +/* 47660 */ {(12<<2)|2,{66,50,0}}, +/* 47661 */ {(12<<2)|2,{66,50,0}}, +/* 47662 */ {(12<<2)|2,{66,50,0}}, +/* 47663 */ {(12<<2)|2,{66,50,0}}, +/* 47664 */ {(12<<2)|2,{66,97,0}}, +/* 47665 */ {(12<<2)|2,{66,97,0}}, +/* 47666 */ {(12<<2)|2,{66,97,0}}, +/* 47667 */ {(12<<2)|2,{66,97,0}}, +/* 47668 */ {(12<<2)|2,{66,97,0}}, +/* 47669 */ {(12<<2)|2,{66,97,0}}, +/* 47670 */ {(12<<2)|2,{66,97,0}}, +/* 47671 */ {(12<<2)|2,{66,97,0}}, +/* 47672 */ {(12<<2)|2,{66,97,0}}, +/* 47673 */ {(12<<2)|2,{66,97,0}}, +/* 47674 */ {(12<<2)|2,{66,97,0}}, +/* 47675 */ {(12<<2)|2,{66,97,0}}, +/* 47676 */ {(12<<2)|2,{66,97,0}}, +/* 47677 */ {(12<<2)|2,{66,97,0}}, +/* 47678 */ {(12<<2)|2,{66,97,0}}, +/* 47679 */ {(12<<2)|2,{66,97,0}}, +/* 47680 */ {(12<<2)|2,{66,99,0}}, +/* 47681 */ {(12<<2)|2,{66,99,0}}, +/* 47682 */ {(12<<2)|2,{66,99,0}}, +/* 47683 */ {(12<<2)|2,{66,99,0}}, +/* 47684 */ {(12<<2)|2,{66,99,0}}, +/* 47685 */ {(12<<2)|2,{66,99,0}}, +/* 47686 */ {(12<<2)|2,{66,99,0}}, +/* 47687 */ {(12<<2)|2,{66,99,0}}, +/* 47688 */ {(12<<2)|2,{66,99,0}}, +/* 47689 */ {(12<<2)|2,{66,99,0}}, +/* 47690 */ {(12<<2)|2,{66,99,0}}, +/* 47691 */ {(12<<2)|2,{66,99,0}}, +/* 47692 */ {(12<<2)|2,{66,99,0}}, +/* 47693 */ {(12<<2)|2,{66,99,0}}, +/* 47694 */ {(12<<2)|2,{66,99,0}}, +/* 47695 */ {(12<<2)|2,{66,99,0}}, +/* 47696 */ {(12<<2)|2,{66,101,0}}, +/* 47697 */ {(12<<2)|2,{66,101,0}}, +/* 47698 */ {(12<<2)|2,{66,101,0}}, +/* 47699 */ {(12<<2)|2,{66,101,0}}, +/* 47700 */ {(12<<2)|2,{66,101,0}}, +/* 47701 */ {(12<<2)|2,{66,101,0}}, +/* 47702 */ {(12<<2)|2,{66,101,0}}, +/* 47703 */ {(12<<2)|2,{66,101,0}}, +/* 47704 */ {(12<<2)|2,{66,101,0}}, +/* 47705 */ {(12<<2)|2,{66,101,0}}, +/* 47706 */ {(12<<2)|2,{66,101,0}}, +/* 47707 */ {(12<<2)|2,{66,101,0}}, +/* 47708 */ {(12<<2)|2,{66,101,0}}, +/* 47709 */ {(12<<2)|2,{66,101,0}}, +/* 47710 */ {(12<<2)|2,{66,101,0}}, +/* 47711 */ {(12<<2)|2,{66,101,0}}, +/* 47712 */ {(12<<2)|2,{66,105,0}}, +/* 47713 */ {(12<<2)|2,{66,105,0}}, +/* 47714 */ {(12<<2)|2,{66,105,0}}, +/* 47715 */ {(12<<2)|2,{66,105,0}}, +/* 47716 */ {(12<<2)|2,{66,105,0}}, +/* 47717 */ {(12<<2)|2,{66,105,0}}, +/* 47718 */ {(12<<2)|2,{66,105,0}}, +/* 47719 */ {(12<<2)|2,{66,105,0}}, +/* 47720 */ {(12<<2)|2,{66,105,0}}, +/* 47721 */ {(12<<2)|2,{66,105,0}}, +/* 47722 */ {(12<<2)|2,{66,105,0}}, +/* 47723 */ {(12<<2)|2,{66,105,0}}, +/* 47724 */ {(12<<2)|2,{66,105,0}}, +/* 47725 */ {(12<<2)|2,{66,105,0}}, +/* 47726 */ {(12<<2)|2,{66,105,0}}, +/* 47727 */ {(12<<2)|2,{66,105,0}}, +/* 47728 */ {(12<<2)|2,{66,111,0}}, +/* 47729 */ {(12<<2)|2,{66,111,0}}, +/* 47730 */ {(12<<2)|2,{66,111,0}}, +/* 47731 */ {(12<<2)|2,{66,111,0}}, +/* 47732 */ {(12<<2)|2,{66,111,0}}, +/* 47733 */ {(12<<2)|2,{66,111,0}}, +/* 47734 */ {(12<<2)|2,{66,111,0}}, +/* 47735 */ {(12<<2)|2,{66,111,0}}, +/* 47736 */ {(12<<2)|2,{66,111,0}}, +/* 47737 */ {(12<<2)|2,{66,111,0}}, +/* 47738 */ {(12<<2)|2,{66,111,0}}, +/* 47739 */ {(12<<2)|2,{66,111,0}}, +/* 47740 */ {(12<<2)|2,{66,111,0}}, +/* 47741 */ {(12<<2)|2,{66,111,0}}, +/* 47742 */ {(12<<2)|2,{66,111,0}}, +/* 47743 */ {(12<<2)|2,{66,111,0}}, +/* 47744 */ {(12<<2)|2,{66,115,0}}, +/* 47745 */ {(12<<2)|2,{66,115,0}}, +/* 47746 */ {(12<<2)|2,{66,115,0}}, +/* 47747 */ {(12<<2)|2,{66,115,0}}, +/* 47748 */ {(12<<2)|2,{66,115,0}}, +/* 47749 */ {(12<<2)|2,{66,115,0}}, +/* 47750 */ {(12<<2)|2,{66,115,0}}, +/* 47751 */ {(12<<2)|2,{66,115,0}}, +/* 47752 */ {(12<<2)|2,{66,115,0}}, +/* 47753 */ {(12<<2)|2,{66,115,0}}, +/* 47754 */ {(12<<2)|2,{66,115,0}}, +/* 47755 */ {(12<<2)|2,{66,115,0}}, +/* 47756 */ {(12<<2)|2,{66,115,0}}, +/* 47757 */ {(12<<2)|2,{66,115,0}}, +/* 47758 */ {(12<<2)|2,{66,115,0}}, +/* 47759 */ {(12<<2)|2,{66,115,0}}, +/* 47760 */ {(12<<2)|2,{66,116,0}}, +/* 47761 */ {(12<<2)|2,{66,116,0}}, +/* 47762 */ {(12<<2)|2,{66,116,0}}, +/* 47763 */ {(12<<2)|2,{66,116,0}}, +/* 47764 */ {(12<<2)|2,{66,116,0}}, +/* 47765 */ {(12<<2)|2,{66,116,0}}, +/* 47766 */ {(12<<2)|2,{66,116,0}}, +/* 47767 */ {(12<<2)|2,{66,116,0}}, +/* 47768 */ {(12<<2)|2,{66,116,0}}, +/* 47769 */ {(12<<2)|2,{66,116,0}}, +/* 47770 */ {(12<<2)|2,{66,116,0}}, +/* 47771 */ {(12<<2)|2,{66,116,0}}, +/* 47772 */ {(12<<2)|2,{66,116,0}}, +/* 47773 */ {(12<<2)|2,{66,116,0}}, +/* 47774 */ {(12<<2)|2,{66,116,0}}, +/* 47775 */ {(12<<2)|2,{66,116,0}}, +/* 47776 */ {(13<<2)|2,{66,32,0}}, +/* 47777 */ {(13<<2)|2,{66,32,0}}, +/* 47778 */ {(13<<2)|2,{66,32,0}}, +/* 47779 */ {(13<<2)|2,{66,32,0}}, +/* 47780 */ {(13<<2)|2,{66,32,0}}, +/* 47781 */ {(13<<2)|2,{66,32,0}}, +/* 47782 */ {(13<<2)|2,{66,32,0}}, +/* 47783 */ {(13<<2)|2,{66,32,0}}, +/* 47784 */ {(13<<2)|2,{66,37,0}}, +/* 47785 */ {(13<<2)|2,{66,37,0}}, +/* 47786 */ {(13<<2)|2,{66,37,0}}, +/* 47787 */ {(13<<2)|2,{66,37,0}}, +/* 47788 */ {(13<<2)|2,{66,37,0}}, +/* 47789 */ {(13<<2)|2,{66,37,0}}, +/* 47790 */ {(13<<2)|2,{66,37,0}}, +/* 47791 */ {(13<<2)|2,{66,37,0}}, +/* 47792 */ {(13<<2)|2,{66,45,0}}, +/* 47793 */ {(13<<2)|2,{66,45,0}}, +/* 47794 */ {(13<<2)|2,{66,45,0}}, +/* 47795 */ {(13<<2)|2,{66,45,0}}, +/* 47796 */ {(13<<2)|2,{66,45,0}}, +/* 47797 */ {(13<<2)|2,{66,45,0}}, +/* 47798 */ {(13<<2)|2,{66,45,0}}, +/* 47799 */ {(13<<2)|2,{66,45,0}}, +/* 47800 */ {(13<<2)|2,{66,46,0}}, +/* 47801 */ {(13<<2)|2,{66,46,0}}, +/* 47802 */ {(13<<2)|2,{66,46,0}}, +/* 47803 */ {(13<<2)|2,{66,46,0}}, +/* 47804 */ {(13<<2)|2,{66,46,0}}, +/* 47805 */ {(13<<2)|2,{66,46,0}}, +/* 47806 */ {(13<<2)|2,{66,46,0}}, +/* 47807 */ {(13<<2)|2,{66,46,0}}, +/* 47808 */ {(13<<2)|2,{66,47,0}}, +/* 47809 */ {(13<<2)|2,{66,47,0}}, +/* 47810 */ {(13<<2)|2,{66,47,0}}, +/* 47811 */ {(13<<2)|2,{66,47,0}}, +/* 47812 */ {(13<<2)|2,{66,47,0}}, +/* 47813 */ {(13<<2)|2,{66,47,0}}, +/* 47814 */ {(13<<2)|2,{66,47,0}}, +/* 47815 */ {(13<<2)|2,{66,47,0}}, +/* 47816 */ {(13<<2)|2,{66,51,0}}, +/* 47817 */ {(13<<2)|2,{66,51,0}}, +/* 47818 */ {(13<<2)|2,{66,51,0}}, +/* 47819 */ {(13<<2)|2,{66,51,0}}, +/* 47820 */ {(13<<2)|2,{66,51,0}}, +/* 47821 */ {(13<<2)|2,{66,51,0}}, +/* 47822 */ {(13<<2)|2,{66,51,0}}, +/* 47823 */ {(13<<2)|2,{66,51,0}}, +/* 47824 */ {(13<<2)|2,{66,52,0}}, +/* 47825 */ {(13<<2)|2,{66,52,0}}, +/* 47826 */ {(13<<2)|2,{66,52,0}}, +/* 47827 */ {(13<<2)|2,{66,52,0}}, +/* 47828 */ {(13<<2)|2,{66,52,0}}, +/* 47829 */ {(13<<2)|2,{66,52,0}}, +/* 47830 */ {(13<<2)|2,{66,52,0}}, +/* 47831 */ {(13<<2)|2,{66,52,0}}, +/* 47832 */ {(13<<2)|2,{66,53,0}}, +/* 47833 */ {(13<<2)|2,{66,53,0}}, +/* 47834 */ {(13<<2)|2,{66,53,0}}, +/* 47835 */ {(13<<2)|2,{66,53,0}}, +/* 47836 */ {(13<<2)|2,{66,53,0}}, +/* 47837 */ {(13<<2)|2,{66,53,0}}, +/* 47838 */ {(13<<2)|2,{66,53,0}}, +/* 47839 */ {(13<<2)|2,{66,53,0}}, +/* 47840 */ {(13<<2)|2,{66,54,0}}, +/* 47841 */ {(13<<2)|2,{66,54,0}}, +/* 47842 */ {(13<<2)|2,{66,54,0}}, +/* 47843 */ {(13<<2)|2,{66,54,0}}, +/* 47844 */ {(13<<2)|2,{66,54,0}}, +/* 47845 */ {(13<<2)|2,{66,54,0}}, +/* 47846 */ {(13<<2)|2,{66,54,0}}, +/* 47847 */ {(13<<2)|2,{66,54,0}}, +/* 47848 */ {(13<<2)|2,{66,55,0}}, +/* 47849 */ {(13<<2)|2,{66,55,0}}, +/* 47850 */ {(13<<2)|2,{66,55,0}}, +/* 47851 */ {(13<<2)|2,{66,55,0}}, +/* 47852 */ {(13<<2)|2,{66,55,0}}, +/* 47853 */ {(13<<2)|2,{66,55,0}}, +/* 47854 */ {(13<<2)|2,{66,55,0}}, +/* 47855 */ {(13<<2)|2,{66,55,0}}, +/* 47856 */ {(13<<2)|2,{66,56,0}}, +/* 47857 */ {(13<<2)|2,{66,56,0}}, +/* 47858 */ {(13<<2)|2,{66,56,0}}, +/* 47859 */ {(13<<2)|2,{66,56,0}}, +/* 47860 */ {(13<<2)|2,{66,56,0}}, +/* 47861 */ {(13<<2)|2,{66,56,0}}, +/* 47862 */ {(13<<2)|2,{66,56,0}}, +/* 47863 */ {(13<<2)|2,{66,56,0}}, +/* 47864 */ {(13<<2)|2,{66,57,0}}, +/* 47865 */ {(13<<2)|2,{66,57,0}}, +/* 47866 */ {(13<<2)|2,{66,57,0}}, +/* 47867 */ {(13<<2)|2,{66,57,0}}, +/* 47868 */ {(13<<2)|2,{66,57,0}}, +/* 47869 */ {(13<<2)|2,{66,57,0}}, +/* 47870 */ {(13<<2)|2,{66,57,0}}, +/* 47871 */ {(13<<2)|2,{66,57,0}}, +/* 47872 */ {(13<<2)|2,{66,61,0}}, +/* 47873 */ {(13<<2)|2,{66,61,0}}, +/* 47874 */ {(13<<2)|2,{66,61,0}}, +/* 47875 */ {(13<<2)|2,{66,61,0}}, +/* 47876 */ {(13<<2)|2,{66,61,0}}, +/* 47877 */ {(13<<2)|2,{66,61,0}}, +/* 47878 */ {(13<<2)|2,{66,61,0}}, +/* 47879 */ {(13<<2)|2,{66,61,0}}, +/* 47880 */ {(13<<2)|2,{66,65,0}}, +/* 47881 */ {(13<<2)|2,{66,65,0}}, +/* 47882 */ {(13<<2)|2,{66,65,0}}, +/* 47883 */ {(13<<2)|2,{66,65,0}}, +/* 47884 */ {(13<<2)|2,{66,65,0}}, +/* 47885 */ {(13<<2)|2,{66,65,0}}, +/* 47886 */ {(13<<2)|2,{66,65,0}}, +/* 47887 */ {(13<<2)|2,{66,65,0}}, +/* 47888 */ {(13<<2)|2,{66,95,0}}, +/* 47889 */ {(13<<2)|2,{66,95,0}}, +/* 47890 */ {(13<<2)|2,{66,95,0}}, +/* 47891 */ {(13<<2)|2,{66,95,0}}, +/* 47892 */ {(13<<2)|2,{66,95,0}}, +/* 47893 */ {(13<<2)|2,{66,95,0}}, +/* 47894 */ {(13<<2)|2,{66,95,0}}, +/* 47895 */ {(13<<2)|2,{66,95,0}}, +/* 47896 */ {(13<<2)|2,{66,98,0}}, +/* 47897 */ {(13<<2)|2,{66,98,0}}, +/* 47898 */ {(13<<2)|2,{66,98,0}}, +/* 47899 */ {(13<<2)|2,{66,98,0}}, +/* 47900 */ {(13<<2)|2,{66,98,0}}, +/* 47901 */ {(13<<2)|2,{66,98,0}}, +/* 47902 */ {(13<<2)|2,{66,98,0}}, +/* 47903 */ {(13<<2)|2,{66,98,0}}, +/* 47904 */ {(13<<2)|2,{66,100,0}}, +/* 47905 */ {(13<<2)|2,{66,100,0}}, +/* 47906 */ {(13<<2)|2,{66,100,0}}, +/* 47907 */ {(13<<2)|2,{66,100,0}}, +/* 47908 */ {(13<<2)|2,{66,100,0}}, +/* 47909 */ {(13<<2)|2,{66,100,0}}, +/* 47910 */ {(13<<2)|2,{66,100,0}}, +/* 47911 */ {(13<<2)|2,{66,100,0}}, +/* 47912 */ {(13<<2)|2,{66,102,0}}, +/* 47913 */ {(13<<2)|2,{66,102,0}}, +/* 47914 */ {(13<<2)|2,{66,102,0}}, +/* 47915 */ {(13<<2)|2,{66,102,0}}, +/* 47916 */ {(13<<2)|2,{66,102,0}}, +/* 47917 */ {(13<<2)|2,{66,102,0}}, +/* 47918 */ {(13<<2)|2,{66,102,0}}, +/* 47919 */ {(13<<2)|2,{66,102,0}}, +/* 47920 */ {(13<<2)|2,{66,103,0}}, +/* 47921 */ {(13<<2)|2,{66,103,0}}, +/* 47922 */ {(13<<2)|2,{66,103,0}}, +/* 47923 */ {(13<<2)|2,{66,103,0}}, +/* 47924 */ {(13<<2)|2,{66,103,0}}, +/* 47925 */ {(13<<2)|2,{66,103,0}}, +/* 47926 */ {(13<<2)|2,{66,103,0}}, +/* 47927 */ {(13<<2)|2,{66,103,0}}, +/* 47928 */ {(13<<2)|2,{66,104,0}}, +/* 47929 */ {(13<<2)|2,{66,104,0}}, +/* 47930 */ {(13<<2)|2,{66,104,0}}, +/* 47931 */ {(13<<2)|2,{66,104,0}}, +/* 47932 */ {(13<<2)|2,{66,104,0}}, +/* 47933 */ {(13<<2)|2,{66,104,0}}, +/* 47934 */ {(13<<2)|2,{66,104,0}}, +/* 47935 */ {(13<<2)|2,{66,104,0}}, +/* 47936 */ {(13<<2)|2,{66,108,0}}, +/* 47937 */ {(13<<2)|2,{66,108,0}}, +/* 47938 */ {(13<<2)|2,{66,108,0}}, +/* 47939 */ {(13<<2)|2,{66,108,0}}, +/* 47940 */ {(13<<2)|2,{66,108,0}}, +/* 47941 */ {(13<<2)|2,{66,108,0}}, +/* 47942 */ {(13<<2)|2,{66,108,0}}, +/* 47943 */ {(13<<2)|2,{66,108,0}}, +/* 47944 */ {(13<<2)|2,{66,109,0}}, +/* 47945 */ {(13<<2)|2,{66,109,0}}, +/* 47946 */ {(13<<2)|2,{66,109,0}}, +/* 47947 */ {(13<<2)|2,{66,109,0}}, +/* 47948 */ {(13<<2)|2,{66,109,0}}, +/* 47949 */ {(13<<2)|2,{66,109,0}}, +/* 47950 */ {(13<<2)|2,{66,109,0}}, +/* 47951 */ {(13<<2)|2,{66,109,0}}, +/* 47952 */ {(13<<2)|2,{66,110,0}}, +/* 47953 */ {(13<<2)|2,{66,110,0}}, +/* 47954 */ {(13<<2)|2,{66,110,0}}, +/* 47955 */ {(13<<2)|2,{66,110,0}}, +/* 47956 */ {(13<<2)|2,{66,110,0}}, +/* 47957 */ {(13<<2)|2,{66,110,0}}, +/* 47958 */ {(13<<2)|2,{66,110,0}}, +/* 47959 */ {(13<<2)|2,{66,110,0}}, +/* 47960 */ {(13<<2)|2,{66,112,0}}, +/* 47961 */ {(13<<2)|2,{66,112,0}}, +/* 47962 */ {(13<<2)|2,{66,112,0}}, +/* 47963 */ {(13<<2)|2,{66,112,0}}, +/* 47964 */ {(13<<2)|2,{66,112,0}}, +/* 47965 */ {(13<<2)|2,{66,112,0}}, +/* 47966 */ {(13<<2)|2,{66,112,0}}, +/* 47967 */ {(13<<2)|2,{66,112,0}}, +/* 47968 */ {(13<<2)|2,{66,114,0}}, +/* 47969 */ {(13<<2)|2,{66,114,0}}, +/* 47970 */ {(13<<2)|2,{66,114,0}}, +/* 47971 */ {(13<<2)|2,{66,114,0}}, +/* 47972 */ {(13<<2)|2,{66,114,0}}, +/* 47973 */ {(13<<2)|2,{66,114,0}}, +/* 47974 */ {(13<<2)|2,{66,114,0}}, +/* 47975 */ {(13<<2)|2,{66,114,0}}, +/* 47976 */ {(13<<2)|2,{66,117,0}}, +/* 47977 */ {(13<<2)|2,{66,117,0}}, +/* 47978 */ {(13<<2)|2,{66,117,0}}, +/* 47979 */ {(13<<2)|2,{66,117,0}}, +/* 47980 */ {(13<<2)|2,{66,117,0}}, +/* 47981 */ {(13<<2)|2,{66,117,0}}, +/* 47982 */ {(13<<2)|2,{66,117,0}}, +/* 47983 */ {(13<<2)|2,{66,117,0}}, +/* 47984 */ {(14<<2)|2,{66,58,0}}, +/* 47985 */ {(14<<2)|2,{66,58,0}}, +/* 47986 */ {(14<<2)|2,{66,58,0}}, +/* 47987 */ {(14<<2)|2,{66,58,0}}, +/* 47988 */ {(14<<2)|2,{66,66,0}}, +/* 47989 */ {(14<<2)|2,{66,66,0}}, +/* 47990 */ {(14<<2)|2,{66,66,0}}, +/* 47991 */ {(14<<2)|2,{66,66,0}}, +/* 47992 */ {(14<<2)|2,{66,67,0}}, +/* 47993 */ {(14<<2)|2,{66,67,0}}, +/* 47994 */ {(14<<2)|2,{66,67,0}}, +/* 47995 */ {(14<<2)|2,{66,67,0}}, +/* 47996 */ {(14<<2)|2,{66,68,0}}, +/* 47997 */ {(14<<2)|2,{66,68,0}}, +/* 47998 */ {(14<<2)|2,{66,68,0}}, +/* 47999 */ {(14<<2)|2,{66,68,0}}, +/* 48000 */ {(14<<2)|2,{66,69,0}}, +/* 48001 */ {(14<<2)|2,{66,69,0}}, +/* 48002 */ {(14<<2)|2,{66,69,0}}, +/* 48003 */ {(14<<2)|2,{66,69,0}}, +/* 48004 */ {(14<<2)|2,{66,70,0}}, +/* 48005 */ {(14<<2)|2,{66,70,0}}, +/* 48006 */ {(14<<2)|2,{66,70,0}}, +/* 48007 */ {(14<<2)|2,{66,70,0}}, +/* 48008 */ {(14<<2)|2,{66,71,0}}, +/* 48009 */ {(14<<2)|2,{66,71,0}}, +/* 48010 */ {(14<<2)|2,{66,71,0}}, +/* 48011 */ {(14<<2)|2,{66,71,0}}, +/* 48012 */ {(14<<2)|2,{66,72,0}}, +/* 48013 */ {(14<<2)|2,{66,72,0}}, +/* 48014 */ {(14<<2)|2,{66,72,0}}, +/* 48015 */ {(14<<2)|2,{66,72,0}}, +/* 48016 */ {(14<<2)|2,{66,73,0}}, +/* 48017 */ {(14<<2)|2,{66,73,0}}, +/* 48018 */ {(14<<2)|2,{66,73,0}}, +/* 48019 */ {(14<<2)|2,{66,73,0}}, +/* 48020 */ {(14<<2)|2,{66,74,0}}, +/* 48021 */ {(14<<2)|2,{66,74,0}}, +/* 48022 */ {(14<<2)|2,{66,74,0}}, +/* 48023 */ {(14<<2)|2,{66,74,0}}, +/* 48024 */ {(14<<2)|2,{66,75,0}}, +/* 48025 */ {(14<<2)|2,{66,75,0}}, +/* 48026 */ {(14<<2)|2,{66,75,0}}, +/* 48027 */ {(14<<2)|2,{66,75,0}}, +/* 48028 */ {(14<<2)|2,{66,76,0}}, +/* 48029 */ {(14<<2)|2,{66,76,0}}, +/* 48030 */ {(14<<2)|2,{66,76,0}}, +/* 48031 */ {(14<<2)|2,{66,76,0}}, +/* 48032 */ {(14<<2)|2,{66,77,0}}, +/* 48033 */ {(14<<2)|2,{66,77,0}}, +/* 48034 */ {(14<<2)|2,{66,77,0}}, +/* 48035 */ {(14<<2)|2,{66,77,0}}, +/* 48036 */ {(14<<2)|2,{66,78,0}}, +/* 48037 */ {(14<<2)|2,{66,78,0}}, +/* 48038 */ {(14<<2)|2,{66,78,0}}, +/* 48039 */ {(14<<2)|2,{66,78,0}}, +/* 48040 */ {(14<<2)|2,{66,79,0}}, +/* 48041 */ {(14<<2)|2,{66,79,0}}, +/* 48042 */ {(14<<2)|2,{66,79,0}}, +/* 48043 */ {(14<<2)|2,{66,79,0}}, +/* 48044 */ {(14<<2)|2,{66,80,0}}, +/* 48045 */ {(14<<2)|2,{66,80,0}}, +/* 48046 */ {(14<<2)|2,{66,80,0}}, +/* 48047 */ {(14<<2)|2,{66,80,0}}, +/* 48048 */ {(14<<2)|2,{66,81,0}}, +/* 48049 */ {(14<<2)|2,{66,81,0}}, +/* 48050 */ {(14<<2)|2,{66,81,0}}, +/* 48051 */ {(14<<2)|2,{66,81,0}}, +/* 48052 */ {(14<<2)|2,{66,82,0}}, +/* 48053 */ {(14<<2)|2,{66,82,0}}, +/* 48054 */ {(14<<2)|2,{66,82,0}}, +/* 48055 */ {(14<<2)|2,{66,82,0}}, +/* 48056 */ {(14<<2)|2,{66,83,0}}, +/* 48057 */ {(14<<2)|2,{66,83,0}}, +/* 48058 */ {(14<<2)|2,{66,83,0}}, +/* 48059 */ {(14<<2)|2,{66,83,0}}, +/* 48060 */ {(14<<2)|2,{66,84,0}}, +/* 48061 */ {(14<<2)|2,{66,84,0}}, +/* 48062 */ {(14<<2)|2,{66,84,0}}, +/* 48063 */ {(14<<2)|2,{66,84,0}}, +/* 48064 */ {(14<<2)|2,{66,85,0}}, +/* 48065 */ {(14<<2)|2,{66,85,0}}, +/* 48066 */ {(14<<2)|2,{66,85,0}}, +/* 48067 */ {(14<<2)|2,{66,85,0}}, +/* 48068 */ {(14<<2)|2,{66,86,0}}, +/* 48069 */ {(14<<2)|2,{66,86,0}}, +/* 48070 */ {(14<<2)|2,{66,86,0}}, +/* 48071 */ {(14<<2)|2,{66,86,0}}, +/* 48072 */ {(14<<2)|2,{66,87,0}}, +/* 48073 */ {(14<<2)|2,{66,87,0}}, +/* 48074 */ {(14<<2)|2,{66,87,0}}, +/* 48075 */ {(14<<2)|2,{66,87,0}}, +/* 48076 */ {(14<<2)|2,{66,89,0}}, +/* 48077 */ {(14<<2)|2,{66,89,0}}, +/* 48078 */ {(14<<2)|2,{66,89,0}}, +/* 48079 */ {(14<<2)|2,{66,89,0}}, +/* 48080 */ {(14<<2)|2,{66,106,0}}, +/* 48081 */ {(14<<2)|2,{66,106,0}}, +/* 48082 */ {(14<<2)|2,{66,106,0}}, +/* 48083 */ {(14<<2)|2,{66,106,0}}, +/* 48084 */ {(14<<2)|2,{66,107,0}}, +/* 48085 */ {(14<<2)|2,{66,107,0}}, +/* 48086 */ {(14<<2)|2,{66,107,0}}, +/* 48087 */ {(14<<2)|2,{66,107,0}}, +/* 48088 */ {(14<<2)|2,{66,113,0}}, +/* 48089 */ {(14<<2)|2,{66,113,0}}, +/* 48090 */ {(14<<2)|2,{66,113,0}}, +/* 48091 */ {(14<<2)|2,{66,113,0}}, +/* 48092 */ {(14<<2)|2,{66,118,0}}, +/* 48093 */ {(14<<2)|2,{66,118,0}}, +/* 48094 */ {(14<<2)|2,{66,118,0}}, +/* 48095 */ {(14<<2)|2,{66,118,0}}, +/* 48096 */ {(14<<2)|2,{66,119,0}}, +/* 48097 */ {(14<<2)|2,{66,119,0}}, +/* 48098 */ {(14<<2)|2,{66,119,0}}, +/* 48099 */ {(14<<2)|2,{66,119,0}}, +/* 48100 */ {(14<<2)|2,{66,120,0}}, +/* 48101 */ {(14<<2)|2,{66,120,0}}, +/* 48102 */ {(14<<2)|2,{66,120,0}}, +/* 48103 */ {(14<<2)|2,{66,120,0}}, +/* 48104 */ {(14<<2)|2,{66,121,0}}, +/* 48105 */ {(14<<2)|2,{66,121,0}}, +/* 48106 */ {(14<<2)|2,{66,121,0}}, +/* 48107 */ {(14<<2)|2,{66,121,0}}, +/* 48108 */ {(14<<2)|2,{66,122,0}}, +/* 48109 */ {(14<<2)|2,{66,122,0}}, +/* 48110 */ {(14<<2)|2,{66,122,0}}, +/* 48111 */ {(14<<2)|2,{66,122,0}}, +/* 48112 */ {(15<<2)|2,{66,38,0}}, +/* 48113 */ {(15<<2)|2,{66,38,0}}, +/* 48114 */ {(15<<2)|2,{66,42,0}}, +/* 48115 */ {(15<<2)|2,{66,42,0}}, +/* 48116 */ {(15<<2)|2,{66,44,0}}, +/* 48117 */ {(15<<2)|2,{66,44,0}}, +/* 48118 */ {(15<<2)|2,{66,59,0}}, +/* 48119 */ {(15<<2)|2,{66,59,0}}, +/* 48120 */ {(15<<2)|2,{66,88,0}}, +/* 48121 */ {(15<<2)|2,{66,88,0}}, +/* 48122 */ {(15<<2)|2,{66,90,0}}, +/* 48123 */ {(15<<2)|2,{66,90,0}}, +/* 48124 */ {(7<<2)|1,{66,0,0}}, +/* 48125 */ {(7<<2)|1,{66,0,0}}, +/* 48126 */ {(7<<2)|1,{66,0,0}}, +/* 48127 */ {(7<<2)|1,{66,0,0}}, +/* 48128 */ {(12<<2)|2,{67,48,0}}, +/* 48129 */ {(12<<2)|2,{67,48,0}}, +/* 48130 */ {(12<<2)|2,{67,48,0}}, +/* 48131 */ {(12<<2)|2,{67,48,0}}, +/* 48132 */ {(12<<2)|2,{67,48,0}}, +/* 48133 */ {(12<<2)|2,{67,48,0}}, +/* 48134 */ {(12<<2)|2,{67,48,0}}, +/* 48135 */ {(12<<2)|2,{67,48,0}}, +/* 48136 */ {(12<<2)|2,{67,48,0}}, +/* 48137 */ {(12<<2)|2,{67,48,0}}, +/* 48138 */ {(12<<2)|2,{67,48,0}}, +/* 48139 */ {(12<<2)|2,{67,48,0}}, +/* 48140 */ {(12<<2)|2,{67,48,0}}, +/* 48141 */ {(12<<2)|2,{67,48,0}}, +/* 48142 */ {(12<<2)|2,{67,48,0}}, +/* 48143 */ {(12<<2)|2,{67,48,0}}, +/* 48144 */ {(12<<2)|2,{67,49,0}}, +/* 48145 */ {(12<<2)|2,{67,49,0}}, +/* 48146 */ {(12<<2)|2,{67,49,0}}, +/* 48147 */ {(12<<2)|2,{67,49,0}}, +/* 48148 */ {(12<<2)|2,{67,49,0}}, +/* 48149 */ {(12<<2)|2,{67,49,0}}, +/* 48150 */ {(12<<2)|2,{67,49,0}}, +/* 48151 */ {(12<<2)|2,{67,49,0}}, +/* 48152 */ {(12<<2)|2,{67,49,0}}, +/* 48153 */ {(12<<2)|2,{67,49,0}}, +/* 48154 */ {(12<<2)|2,{67,49,0}}, +/* 48155 */ {(12<<2)|2,{67,49,0}}, +/* 48156 */ {(12<<2)|2,{67,49,0}}, +/* 48157 */ {(12<<2)|2,{67,49,0}}, +/* 48158 */ {(12<<2)|2,{67,49,0}}, +/* 48159 */ {(12<<2)|2,{67,49,0}}, +/* 48160 */ {(12<<2)|2,{67,50,0}}, +/* 48161 */ {(12<<2)|2,{67,50,0}}, +/* 48162 */ {(12<<2)|2,{67,50,0}}, +/* 48163 */ {(12<<2)|2,{67,50,0}}, +/* 48164 */ {(12<<2)|2,{67,50,0}}, +/* 48165 */ {(12<<2)|2,{67,50,0}}, +/* 48166 */ {(12<<2)|2,{67,50,0}}, +/* 48167 */ {(12<<2)|2,{67,50,0}}, +/* 48168 */ {(12<<2)|2,{67,50,0}}, +/* 48169 */ {(12<<2)|2,{67,50,0}}, +/* 48170 */ {(12<<2)|2,{67,50,0}}, +/* 48171 */ {(12<<2)|2,{67,50,0}}, +/* 48172 */ {(12<<2)|2,{67,50,0}}, +/* 48173 */ {(12<<2)|2,{67,50,0}}, +/* 48174 */ {(12<<2)|2,{67,50,0}}, +/* 48175 */ {(12<<2)|2,{67,50,0}}, +/* 48176 */ {(12<<2)|2,{67,97,0}}, +/* 48177 */ {(12<<2)|2,{67,97,0}}, +/* 48178 */ {(12<<2)|2,{67,97,0}}, +/* 48179 */ {(12<<2)|2,{67,97,0}}, +/* 48180 */ {(12<<2)|2,{67,97,0}}, +/* 48181 */ {(12<<2)|2,{67,97,0}}, +/* 48182 */ {(12<<2)|2,{67,97,0}}, +/* 48183 */ {(12<<2)|2,{67,97,0}}, +/* 48184 */ {(12<<2)|2,{67,97,0}}, +/* 48185 */ {(12<<2)|2,{67,97,0}}, +/* 48186 */ {(12<<2)|2,{67,97,0}}, +/* 48187 */ {(12<<2)|2,{67,97,0}}, +/* 48188 */ {(12<<2)|2,{67,97,0}}, +/* 48189 */ {(12<<2)|2,{67,97,0}}, +/* 48190 */ {(12<<2)|2,{67,97,0}}, +/* 48191 */ {(12<<2)|2,{67,97,0}}, +/* 48192 */ {(12<<2)|2,{67,99,0}}, +/* 48193 */ {(12<<2)|2,{67,99,0}}, +/* 48194 */ {(12<<2)|2,{67,99,0}}, +/* 48195 */ {(12<<2)|2,{67,99,0}}, +/* 48196 */ {(12<<2)|2,{67,99,0}}, +/* 48197 */ {(12<<2)|2,{67,99,0}}, +/* 48198 */ {(12<<2)|2,{67,99,0}}, +/* 48199 */ {(12<<2)|2,{67,99,0}}, +/* 48200 */ {(12<<2)|2,{67,99,0}}, +/* 48201 */ {(12<<2)|2,{67,99,0}}, +/* 48202 */ {(12<<2)|2,{67,99,0}}, +/* 48203 */ {(12<<2)|2,{67,99,0}}, +/* 48204 */ {(12<<2)|2,{67,99,0}}, +/* 48205 */ {(12<<2)|2,{67,99,0}}, +/* 48206 */ {(12<<2)|2,{67,99,0}}, +/* 48207 */ {(12<<2)|2,{67,99,0}}, +/* 48208 */ {(12<<2)|2,{67,101,0}}, +/* 48209 */ {(12<<2)|2,{67,101,0}}, +/* 48210 */ {(12<<2)|2,{67,101,0}}, +/* 48211 */ {(12<<2)|2,{67,101,0}}, +/* 48212 */ {(12<<2)|2,{67,101,0}}, +/* 48213 */ {(12<<2)|2,{67,101,0}}, +/* 48214 */ {(12<<2)|2,{67,101,0}}, +/* 48215 */ {(12<<2)|2,{67,101,0}}, +/* 48216 */ {(12<<2)|2,{67,101,0}}, +/* 48217 */ {(12<<2)|2,{67,101,0}}, +/* 48218 */ {(12<<2)|2,{67,101,0}}, +/* 48219 */ {(12<<2)|2,{67,101,0}}, +/* 48220 */ {(12<<2)|2,{67,101,0}}, +/* 48221 */ {(12<<2)|2,{67,101,0}}, +/* 48222 */ {(12<<2)|2,{67,101,0}}, +/* 48223 */ {(12<<2)|2,{67,101,0}}, +/* 48224 */ {(12<<2)|2,{67,105,0}}, +/* 48225 */ {(12<<2)|2,{67,105,0}}, +/* 48226 */ {(12<<2)|2,{67,105,0}}, +/* 48227 */ {(12<<2)|2,{67,105,0}}, +/* 48228 */ {(12<<2)|2,{67,105,0}}, +/* 48229 */ {(12<<2)|2,{67,105,0}}, +/* 48230 */ {(12<<2)|2,{67,105,0}}, +/* 48231 */ {(12<<2)|2,{67,105,0}}, +/* 48232 */ {(12<<2)|2,{67,105,0}}, +/* 48233 */ {(12<<2)|2,{67,105,0}}, +/* 48234 */ {(12<<2)|2,{67,105,0}}, +/* 48235 */ {(12<<2)|2,{67,105,0}}, +/* 48236 */ {(12<<2)|2,{67,105,0}}, +/* 48237 */ {(12<<2)|2,{67,105,0}}, +/* 48238 */ {(12<<2)|2,{67,105,0}}, +/* 48239 */ {(12<<2)|2,{67,105,0}}, +/* 48240 */ {(12<<2)|2,{67,111,0}}, +/* 48241 */ {(12<<2)|2,{67,111,0}}, +/* 48242 */ {(12<<2)|2,{67,111,0}}, +/* 48243 */ {(12<<2)|2,{67,111,0}}, +/* 48244 */ {(12<<2)|2,{67,111,0}}, +/* 48245 */ {(12<<2)|2,{67,111,0}}, +/* 48246 */ {(12<<2)|2,{67,111,0}}, +/* 48247 */ {(12<<2)|2,{67,111,0}}, +/* 48248 */ {(12<<2)|2,{67,111,0}}, +/* 48249 */ {(12<<2)|2,{67,111,0}}, +/* 48250 */ {(12<<2)|2,{67,111,0}}, +/* 48251 */ {(12<<2)|2,{67,111,0}}, +/* 48252 */ {(12<<2)|2,{67,111,0}}, +/* 48253 */ {(12<<2)|2,{67,111,0}}, +/* 48254 */ {(12<<2)|2,{67,111,0}}, +/* 48255 */ {(12<<2)|2,{67,111,0}}, +/* 48256 */ {(12<<2)|2,{67,115,0}}, +/* 48257 */ {(12<<2)|2,{67,115,0}}, +/* 48258 */ {(12<<2)|2,{67,115,0}}, +/* 48259 */ {(12<<2)|2,{67,115,0}}, +/* 48260 */ {(12<<2)|2,{67,115,0}}, +/* 48261 */ {(12<<2)|2,{67,115,0}}, +/* 48262 */ {(12<<2)|2,{67,115,0}}, +/* 48263 */ {(12<<2)|2,{67,115,0}}, +/* 48264 */ {(12<<2)|2,{67,115,0}}, +/* 48265 */ {(12<<2)|2,{67,115,0}}, +/* 48266 */ {(12<<2)|2,{67,115,0}}, +/* 48267 */ {(12<<2)|2,{67,115,0}}, +/* 48268 */ {(12<<2)|2,{67,115,0}}, +/* 48269 */ {(12<<2)|2,{67,115,0}}, +/* 48270 */ {(12<<2)|2,{67,115,0}}, +/* 48271 */ {(12<<2)|2,{67,115,0}}, +/* 48272 */ {(12<<2)|2,{67,116,0}}, +/* 48273 */ {(12<<2)|2,{67,116,0}}, +/* 48274 */ {(12<<2)|2,{67,116,0}}, +/* 48275 */ {(12<<2)|2,{67,116,0}}, +/* 48276 */ {(12<<2)|2,{67,116,0}}, +/* 48277 */ {(12<<2)|2,{67,116,0}}, +/* 48278 */ {(12<<2)|2,{67,116,0}}, +/* 48279 */ {(12<<2)|2,{67,116,0}}, +/* 48280 */ {(12<<2)|2,{67,116,0}}, +/* 48281 */ {(12<<2)|2,{67,116,0}}, +/* 48282 */ {(12<<2)|2,{67,116,0}}, +/* 48283 */ {(12<<2)|2,{67,116,0}}, +/* 48284 */ {(12<<2)|2,{67,116,0}}, +/* 48285 */ {(12<<2)|2,{67,116,0}}, +/* 48286 */ {(12<<2)|2,{67,116,0}}, +/* 48287 */ {(12<<2)|2,{67,116,0}}, +/* 48288 */ {(13<<2)|2,{67,32,0}}, +/* 48289 */ {(13<<2)|2,{67,32,0}}, +/* 48290 */ {(13<<2)|2,{67,32,0}}, +/* 48291 */ {(13<<2)|2,{67,32,0}}, +/* 48292 */ {(13<<2)|2,{67,32,0}}, +/* 48293 */ {(13<<2)|2,{67,32,0}}, +/* 48294 */ {(13<<2)|2,{67,32,0}}, +/* 48295 */ {(13<<2)|2,{67,32,0}}, +/* 48296 */ {(13<<2)|2,{67,37,0}}, +/* 48297 */ {(13<<2)|2,{67,37,0}}, +/* 48298 */ {(13<<2)|2,{67,37,0}}, +/* 48299 */ {(13<<2)|2,{67,37,0}}, +/* 48300 */ {(13<<2)|2,{67,37,0}}, +/* 48301 */ {(13<<2)|2,{67,37,0}}, +/* 48302 */ {(13<<2)|2,{67,37,0}}, +/* 48303 */ {(13<<2)|2,{67,37,0}}, +/* 48304 */ {(13<<2)|2,{67,45,0}}, +/* 48305 */ {(13<<2)|2,{67,45,0}}, +/* 48306 */ {(13<<2)|2,{67,45,0}}, +/* 48307 */ {(13<<2)|2,{67,45,0}}, +/* 48308 */ {(13<<2)|2,{67,45,0}}, +/* 48309 */ {(13<<2)|2,{67,45,0}}, +/* 48310 */ {(13<<2)|2,{67,45,0}}, +/* 48311 */ {(13<<2)|2,{67,45,0}}, +/* 48312 */ {(13<<2)|2,{67,46,0}}, +/* 48313 */ {(13<<2)|2,{67,46,0}}, +/* 48314 */ {(13<<2)|2,{67,46,0}}, +/* 48315 */ {(13<<2)|2,{67,46,0}}, +/* 48316 */ {(13<<2)|2,{67,46,0}}, +/* 48317 */ {(13<<2)|2,{67,46,0}}, +/* 48318 */ {(13<<2)|2,{67,46,0}}, +/* 48319 */ {(13<<2)|2,{67,46,0}}, +/* 48320 */ {(13<<2)|2,{67,47,0}}, +/* 48321 */ {(13<<2)|2,{67,47,0}}, +/* 48322 */ {(13<<2)|2,{67,47,0}}, +/* 48323 */ {(13<<2)|2,{67,47,0}}, +/* 48324 */ {(13<<2)|2,{67,47,0}}, +/* 48325 */ {(13<<2)|2,{67,47,0}}, +/* 48326 */ {(13<<2)|2,{67,47,0}}, +/* 48327 */ {(13<<2)|2,{67,47,0}}, +/* 48328 */ {(13<<2)|2,{67,51,0}}, +/* 48329 */ {(13<<2)|2,{67,51,0}}, +/* 48330 */ {(13<<2)|2,{67,51,0}}, +/* 48331 */ {(13<<2)|2,{67,51,0}}, +/* 48332 */ {(13<<2)|2,{67,51,0}}, +/* 48333 */ {(13<<2)|2,{67,51,0}}, +/* 48334 */ {(13<<2)|2,{67,51,0}}, +/* 48335 */ {(13<<2)|2,{67,51,0}}, +/* 48336 */ {(13<<2)|2,{67,52,0}}, +/* 48337 */ {(13<<2)|2,{67,52,0}}, +/* 48338 */ {(13<<2)|2,{67,52,0}}, +/* 48339 */ {(13<<2)|2,{67,52,0}}, +/* 48340 */ {(13<<2)|2,{67,52,0}}, +/* 48341 */ {(13<<2)|2,{67,52,0}}, +/* 48342 */ {(13<<2)|2,{67,52,0}}, +/* 48343 */ {(13<<2)|2,{67,52,0}}, +/* 48344 */ {(13<<2)|2,{67,53,0}}, +/* 48345 */ {(13<<2)|2,{67,53,0}}, +/* 48346 */ {(13<<2)|2,{67,53,0}}, +/* 48347 */ {(13<<2)|2,{67,53,0}}, +/* 48348 */ {(13<<2)|2,{67,53,0}}, +/* 48349 */ {(13<<2)|2,{67,53,0}}, +/* 48350 */ {(13<<2)|2,{67,53,0}}, +/* 48351 */ {(13<<2)|2,{67,53,0}}, +/* 48352 */ {(13<<2)|2,{67,54,0}}, +/* 48353 */ {(13<<2)|2,{67,54,0}}, +/* 48354 */ {(13<<2)|2,{67,54,0}}, +/* 48355 */ {(13<<2)|2,{67,54,0}}, +/* 48356 */ {(13<<2)|2,{67,54,0}}, +/* 48357 */ {(13<<2)|2,{67,54,0}}, +/* 48358 */ {(13<<2)|2,{67,54,0}}, +/* 48359 */ {(13<<2)|2,{67,54,0}}, +/* 48360 */ {(13<<2)|2,{67,55,0}}, +/* 48361 */ {(13<<2)|2,{67,55,0}}, +/* 48362 */ {(13<<2)|2,{67,55,0}}, +/* 48363 */ {(13<<2)|2,{67,55,0}}, +/* 48364 */ {(13<<2)|2,{67,55,0}}, +/* 48365 */ {(13<<2)|2,{67,55,0}}, +/* 48366 */ {(13<<2)|2,{67,55,0}}, +/* 48367 */ {(13<<2)|2,{67,55,0}}, +/* 48368 */ {(13<<2)|2,{67,56,0}}, +/* 48369 */ {(13<<2)|2,{67,56,0}}, +/* 48370 */ {(13<<2)|2,{67,56,0}}, +/* 48371 */ {(13<<2)|2,{67,56,0}}, +/* 48372 */ {(13<<2)|2,{67,56,0}}, +/* 48373 */ {(13<<2)|2,{67,56,0}}, +/* 48374 */ {(13<<2)|2,{67,56,0}}, +/* 48375 */ {(13<<2)|2,{67,56,0}}, +/* 48376 */ {(13<<2)|2,{67,57,0}}, +/* 48377 */ {(13<<2)|2,{67,57,0}}, +/* 48378 */ {(13<<2)|2,{67,57,0}}, +/* 48379 */ {(13<<2)|2,{67,57,0}}, +/* 48380 */ {(13<<2)|2,{67,57,0}}, +/* 48381 */ {(13<<2)|2,{67,57,0}}, +/* 48382 */ {(13<<2)|2,{67,57,0}}, +/* 48383 */ {(13<<2)|2,{67,57,0}}, +/* 48384 */ {(13<<2)|2,{67,61,0}}, +/* 48385 */ {(13<<2)|2,{67,61,0}}, +/* 48386 */ {(13<<2)|2,{67,61,0}}, +/* 48387 */ {(13<<2)|2,{67,61,0}}, +/* 48388 */ {(13<<2)|2,{67,61,0}}, +/* 48389 */ {(13<<2)|2,{67,61,0}}, +/* 48390 */ {(13<<2)|2,{67,61,0}}, +/* 48391 */ {(13<<2)|2,{67,61,0}}, +/* 48392 */ {(13<<2)|2,{67,65,0}}, +/* 48393 */ {(13<<2)|2,{67,65,0}}, +/* 48394 */ {(13<<2)|2,{67,65,0}}, +/* 48395 */ {(13<<2)|2,{67,65,0}}, +/* 48396 */ {(13<<2)|2,{67,65,0}}, +/* 48397 */ {(13<<2)|2,{67,65,0}}, +/* 48398 */ {(13<<2)|2,{67,65,0}}, +/* 48399 */ {(13<<2)|2,{67,65,0}}, +/* 48400 */ {(13<<2)|2,{67,95,0}}, +/* 48401 */ {(13<<2)|2,{67,95,0}}, +/* 48402 */ {(13<<2)|2,{67,95,0}}, +/* 48403 */ {(13<<2)|2,{67,95,0}}, +/* 48404 */ {(13<<2)|2,{67,95,0}}, +/* 48405 */ {(13<<2)|2,{67,95,0}}, +/* 48406 */ {(13<<2)|2,{67,95,0}}, +/* 48407 */ {(13<<2)|2,{67,95,0}}, +/* 48408 */ {(13<<2)|2,{67,98,0}}, +/* 48409 */ {(13<<2)|2,{67,98,0}}, +/* 48410 */ {(13<<2)|2,{67,98,0}}, +/* 48411 */ {(13<<2)|2,{67,98,0}}, +/* 48412 */ {(13<<2)|2,{67,98,0}}, +/* 48413 */ {(13<<2)|2,{67,98,0}}, +/* 48414 */ {(13<<2)|2,{67,98,0}}, +/* 48415 */ {(13<<2)|2,{67,98,0}}, +/* 48416 */ {(13<<2)|2,{67,100,0}}, +/* 48417 */ {(13<<2)|2,{67,100,0}}, +/* 48418 */ {(13<<2)|2,{67,100,0}}, +/* 48419 */ {(13<<2)|2,{67,100,0}}, +/* 48420 */ {(13<<2)|2,{67,100,0}}, +/* 48421 */ {(13<<2)|2,{67,100,0}}, +/* 48422 */ {(13<<2)|2,{67,100,0}}, +/* 48423 */ {(13<<2)|2,{67,100,0}}, +/* 48424 */ {(13<<2)|2,{67,102,0}}, +/* 48425 */ {(13<<2)|2,{67,102,0}}, +/* 48426 */ {(13<<2)|2,{67,102,0}}, +/* 48427 */ {(13<<2)|2,{67,102,0}}, +/* 48428 */ {(13<<2)|2,{67,102,0}}, +/* 48429 */ {(13<<2)|2,{67,102,0}}, +/* 48430 */ {(13<<2)|2,{67,102,0}}, +/* 48431 */ {(13<<2)|2,{67,102,0}}, +/* 48432 */ {(13<<2)|2,{67,103,0}}, +/* 48433 */ {(13<<2)|2,{67,103,0}}, +/* 48434 */ {(13<<2)|2,{67,103,0}}, +/* 48435 */ {(13<<2)|2,{67,103,0}}, +/* 48436 */ {(13<<2)|2,{67,103,0}}, +/* 48437 */ {(13<<2)|2,{67,103,0}}, +/* 48438 */ {(13<<2)|2,{67,103,0}}, +/* 48439 */ {(13<<2)|2,{67,103,0}}, +/* 48440 */ {(13<<2)|2,{67,104,0}}, +/* 48441 */ {(13<<2)|2,{67,104,0}}, +/* 48442 */ {(13<<2)|2,{67,104,0}}, +/* 48443 */ {(13<<2)|2,{67,104,0}}, +/* 48444 */ {(13<<2)|2,{67,104,0}}, +/* 48445 */ {(13<<2)|2,{67,104,0}}, +/* 48446 */ {(13<<2)|2,{67,104,0}}, +/* 48447 */ {(13<<2)|2,{67,104,0}}, +/* 48448 */ {(13<<2)|2,{67,108,0}}, +/* 48449 */ {(13<<2)|2,{67,108,0}}, +/* 48450 */ {(13<<2)|2,{67,108,0}}, +/* 48451 */ {(13<<2)|2,{67,108,0}}, +/* 48452 */ {(13<<2)|2,{67,108,0}}, +/* 48453 */ {(13<<2)|2,{67,108,0}}, +/* 48454 */ {(13<<2)|2,{67,108,0}}, +/* 48455 */ {(13<<2)|2,{67,108,0}}, +/* 48456 */ {(13<<2)|2,{67,109,0}}, +/* 48457 */ {(13<<2)|2,{67,109,0}}, +/* 48458 */ {(13<<2)|2,{67,109,0}}, +/* 48459 */ {(13<<2)|2,{67,109,0}}, +/* 48460 */ {(13<<2)|2,{67,109,0}}, +/* 48461 */ {(13<<2)|2,{67,109,0}}, +/* 48462 */ {(13<<2)|2,{67,109,0}}, +/* 48463 */ {(13<<2)|2,{67,109,0}}, +/* 48464 */ {(13<<2)|2,{67,110,0}}, +/* 48465 */ {(13<<2)|2,{67,110,0}}, +/* 48466 */ {(13<<2)|2,{67,110,0}}, +/* 48467 */ {(13<<2)|2,{67,110,0}}, +/* 48468 */ {(13<<2)|2,{67,110,0}}, +/* 48469 */ {(13<<2)|2,{67,110,0}}, +/* 48470 */ {(13<<2)|2,{67,110,0}}, +/* 48471 */ {(13<<2)|2,{67,110,0}}, +/* 48472 */ {(13<<2)|2,{67,112,0}}, +/* 48473 */ {(13<<2)|2,{67,112,0}}, +/* 48474 */ {(13<<2)|2,{67,112,0}}, +/* 48475 */ {(13<<2)|2,{67,112,0}}, +/* 48476 */ {(13<<2)|2,{67,112,0}}, +/* 48477 */ {(13<<2)|2,{67,112,0}}, +/* 48478 */ {(13<<2)|2,{67,112,0}}, +/* 48479 */ {(13<<2)|2,{67,112,0}}, +/* 48480 */ {(13<<2)|2,{67,114,0}}, +/* 48481 */ {(13<<2)|2,{67,114,0}}, +/* 48482 */ {(13<<2)|2,{67,114,0}}, +/* 48483 */ {(13<<2)|2,{67,114,0}}, +/* 48484 */ {(13<<2)|2,{67,114,0}}, +/* 48485 */ {(13<<2)|2,{67,114,0}}, +/* 48486 */ {(13<<2)|2,{67,114,0}}, +/* 48487 */ {(13<<2)|2,{67,114,0}}, +/* 48488 */ {(13<<2)|2,{67,117,0}}, +/* 48489 */ {(13<<2)|2,{67,117,0}}, +/* 48490 */ {(13<<2)|2,{67,117,0}}, +/* 48491 */ {(13<<2)|2,{67,117,0}}, +/* 48492 */ {(13<<2)|2,{67,117,0}}, +/* 48493 */ {(13<<2)|2,{67,117,0}}, +/* 48494 */ {(13<<2)|2,{67,117,0}}, +/* 48495 */ {(13<<2)|2,{67,117,0}}, +/* 48496 */ {(14<<2)|2,{67,58,0}}, +/* 48497 */ {(14<<2)|2,{67,58,0}}, +/* 48498 */ {(14<<2)|2,{67,58,0}}, +/* 48499 */ {(14<<2)|2,{67,58,0}}, +/* 48500 */ {(14<<2)|2,{67,66,0}}, +/* 48501 */ {(14<<2)|2,{67,66,0}}, +/* 48502 */ {(14<<2)|2,{67,66,0}}, +/* 48503 */ {(14<<2)|2,{67,66,0}}, +/* 48504 */ {(14<<2)|2,{67,67,0}}, +/* 48505 */ {(14<<2)|2,{67,67,0}}, +/* 48506 */ {(14<<2)|2,{67,67,0}}, +/* 48507 */ {(14<<2)|2,{67,67,0}}, +/* 48508 */ {(14<<2)|2,{67,68,0}}, +/* 48509 */ {(14<<2)|2,{67,68,0}}, +/* 48510 */ {(14<<2)|2,{67,68,0}}, +/* 48511 */ {(14<<2)|2,{67,68,0}}, +/* 48512 */ {(14<<2)|2,{67,69,0}}, +/* 48513 */ {(14<<2)|2,{67,69,0}}, +/* 48514 */ {(14<<2)|2,{67,69,0}}, +/* 48515 */ {(14<<2)|2,{67,69,0}}, +/* 48516 */ {(14<<2)|2,{67,70,0}}, +/* 48517 */ {(14<<2)|2,{67,70,0}}, +/* 48518 */ {(14<<2)|2,{67,70,0}}, +/* 48519 */ {(14<<2)|2,{67,70,0}}, +/* 48520 */ {(14<<2)|2,{67,71,0}}, +/* 48521 */ {(14<<2)|2,{67,71,0}}, +/* 48522 */ {(14<<2)|2,{67,71,0}}, +/* 48523 */ {(14<<2)|2,{67,71,0}}, +/* 48524 */ {(14<<2)|2,{67,72,0}}, +/* 48525 */ {(14<<2)|2,{67,72,0}}, +/* 48526 */ {(14<<2)|2,{67,72,0}}, +/* 48527 */ {(14<<2)|2,{67,72,0}}, +/* 48528 */ {(14<<2)|2,{67,73,0}}, +/* 48529 */ {(14<<2)|2,{67,73,0}}, +/* 48530 */ {(14<<2)|2,{67,73,0}}, +/* 48531 */ {(14<<2)|2,{67,73,0}}, +/* 48532 */ {(14<<2)|2,{67,74,0}}, +/* 48533 */ {(14<<2)|2,{67,74,0}}, +/* 48534 */ {(14<<2)|2,{67,74,0}}, +/* 48535 */ {(14<<2)|2,{67,74,0}}, +/* 48536 */ {(14<<2)|2,{67,75,0}}, +/* 48537 */ {(14<<2)|2,{67,75,0}}, +/* 48538 */ {(14<<2)|2,{67,75,0}}, +/* 48539 */ {(14<<2)|2,{67,75,0}}, +/* 48540 */ {(14<<2)|2,{67,76,0}}, +/* 48541 */ {(14<<2)|2,{67,76,0}}, +/* 48542 */ {(14<<2)|2,{67,76,0}}, +/* 48543 */ {(14<<2)|2,{67,76,0}}, +/* 48544 */ {(14<<2)|2,{67,77,0}}, +/* 48545 */ {(14<<2)|2,{67,77,0}}, +/* 48546 */ {(14<<2)|2,{67,77,0}}, +/* 48547 */ {(14<<2)|2,{67,77,0}}, +/* 48548 */ {(14<<2)|2,{67,78,0}}, +/* 48549 */ {(14<<2)|2,{67,78,0}}, +/* 48550 */ {(14<<2)|2,{67,78,0}}, +/* 48551 */ {(14<<2)|2,{67,78,0}}, +/* 48552 */ {(14<<2)|2,{67,79,0}}, +/* 48553 */ {(14<<2)|2,{67,79,0}}, +/* 48554 */ {(14<<2)|2,{67,79,0}}, +/* 48555 */ {(14<<2)|2,{67,79,0}}, +/* 48556 */ {(14<<2)|2,{67,80,0}}, +/* 48557 */ {(14<<2)|2,{67,80,0}}, +/* 48558 */ {(14<<2)|2,{67,80,0}}, +/* 48559 */ {(14<<2)|2,{67,80,0}}, +/* 48560 */ {(14<<2)|2,{67,81,0}}, +/* 48561 */ {(14<<2)|2,{67,81,0}}, +/* 48562 */ {(14<<2)|2,{67,81,0}}, +/* 48563 */ {(14<<2)|2,{67,81,0}}, +/* 48564 */ {(14<<2)|2,{67,82,0}}, +/* 48565 */ {(14<<2)|2,{67,82,0}}, +/* 48566 */ {(14<<2)|2,{67,82,0}}, +/* 48567 */ {(14<<2)|2,{67,82,0}}, +/* 48568 */ {(14<<2)|2,{67,83,0}}, +/* 48569 */ {(14<<2)|2,{67,83,0}}, +/* 48570 */ {(14<<2)|2,{67,83,0}}, +/* 48571 */ {(14<<2)|2,{67,83,0}}, +/* 48572 */ {(14<<2)|2,{67,84,0}}, +/* 48573 */ {(14<<2)|2,{67,84,0}}, +/* 48574 */ {(14<<2)|2,{67,84,0}}, +/* 48575 */ {(14<<2)|2,{67,84,0}}, +/* 48576 */ {(14<<2)|2,{67,85,0}}, +/* 48577 */ {(14<<2)|2,{67,85,0}}, +/* 48578 */ {(14<<2)|2,{67,85,0}}, +/* 48579 */ {(14<<2)|2,{67,85,0}}, +/* 48580 */ {(14<<2)|2,{67,86,0}}, +/* 48581 */ {(14<<2)|2,{67,86,0}}, +/* 48582 */ {(14<<2)|2,{67,86,0}}, +/* 48583 */ {(14<<2)|2,{67,86,0}}, +/* 48584 */ {(14<<2)|2,{67,87,0}}, +/* 48585 */ {(14<<2)|2,{67,87,0}}, +/* 48586 */ {(14<<2)|2,{67,87,0}}, +/* 48587 */ {(14<<2)|2,{67,87,0}}, +/* 48588 */ {(14<<2)|2,{67,89,0}}, +/* 48589 */ {(14<<2)|2,{67,89,0}}, +/* 48590 */ {(14<<2)|2,{67,89,0}}, +/* 48591 */ {(14<<2)|2,{67,89,0}}, +/* 48592 */ {(14<<2)|2,{67,106,0}}, +/* 48593 */ {(14<<2)|2,{67,106,0}}, +/* 48594 */ {(14<<2)|2,{67,106,0}}, +/* 48595 */ {(14<<2)|2,{67,106,0}}, +/* 48596 */ {(14<<2)|2,{67,107,0}}, +/* 48597 */ {(14<<2)|2,{67,107,0}}, +/* 48598 */ {(14<<2)|2,{67,107,0}}, +/* 48599 */ {(14<<2)|2,{67,107,0}}, +/* 48600 */ {(14<<2)|2,{67,113,0}}, +/* 48601 */ {(14<<2)|2,{67,113,0}}, +/* 48602 */ {(14<<2)|2,{67,113,0}}, +/* 48603 */ {(14<<2)|2,{67,113,0}}, +/* 48604 */ {(14<<2)|2,{67,118,0}}, +/* 48605 */ {(14<<2)|2,{67,118,0}}, +/* 48606 */ {(14<<2)|2,{67,118,0}}, +/* 48607 */ {(14<<2)|2,{67,118,0}}, +/* 48608 */ {(14<<2)|2,{67,119,0}}, +/* 48609 */ {(14<<2)|2,{67,119,0}}, +/* 48610 */ {(14<<2)|2,{67,119,0}}, +/* 48611 */ {(14<<2)|2,{67,119,0}}, +/* 48612 */ {(14<<2)|2,{67,120,0}}, +/* 48613 */ {(14<<2)|2,{67,120,0}}, +/* 48614 */ {(14<<2)|2,{67,120,0}}, +/* 48615 */ {(14<<2)|2,{67,120,0}}, +/* 48616 */ {(14<<2)|2,{67,121,0}}, +/* 48617 */ {(14<<2)|2,{67,121,0}}, +/* 48618 */ {(14<<2)|2,{67,121,0}}, +/* 48619 */ {(14<<2)|2,{67,121,0}}, +/* 48620 */ {(14<<2)|2,{67,122,0}}, +/* 48621 */ {(14<<2)|2,{67,122,0}}, +/* 48622 */ {(14<<2)|2,{67,122,0}}, +/* 48623 */ {(14<<2)|2,{67,122,0}}, +/* 48624 */ {(15<<2)|2,{67,38,0}}, +/* 48625 */ {(15<<2)|2,{67,38,0}}, +/* 48626 */ {(15<<2)|2,{67,42,0}}, +/* 48627 */ {(15<<2)|2,{67,42,0}}, +/* 48628 */ {(15<<2)|2,{67,44,0}}, +/* 48629 */ {(15<<2)|2,{67,44,0}}, +/* 48630 */ {(15<<2)|2,{67,59,0}}, +/* 48631 */ {(15<<2)|2,{67,59,0}}, +/* 48632 */ {(15<<2)|2,{67,88,0}}, +/* 48633 */ {(15<<2)|2,{67,88,0}}, +/* 48634 */ {(15<<2)|2,{67,90,0}}, +/* 48635 */ {(15<<2)|2,{67,90,0}}, +/* 48636 */ {(7<<2)|1,{67,0,0}}, +/* 48637 */ {(7<<2)|1,{67,0,0}}, +/* 48638 */ {(7<<2)|1,{67,0,0}}, +/* 48639 */ {(7<<2)|1,{67,0,0}}, +/* 48640 */ {(12<<2)|2,{68,48,0}}, +/* 48641 */ {(12<<2)|2,{68,48,0}}, +/* 48642 */ {(12<<2)|2,{68,48,0}}, +/* 48643 */ {(12<<2)|2,{68,48,0}}, +/* 48644 */ {(12<<2)|2,{68,48,0}}, +/* 48645 */ {(12<<2)|2,{68,48,0}}, +/* 48646 */ {(12<<2)|2,{68,48,0}}, +/* 48647 */ {(12<<2)|2,{68,48,0}}, +/* 48648 */ {(12<<2)|2,{68,48,0}}, +/* 48649 */ {(12<<2)|2,{68,48,0}}, +/* 48650 */ {(12<<2)|2,{68,48,0}}, +/* 48651 */ {(12<<2)|2,{68,48,0}}, +/* 48652 */ {(12<<2)|2,{68,48,0}}, +/* 48653 */ {(12<<2)|2,{68,48,0}}, +/* 48654 */ {(12<<2)|2,{68,48,0}}, +/* 48655 */ {(12<<2)|2,{68,48,0}}, +/* 48656 */ {(12<<2)|2,{68,49,0}}, +/* 48657 */ {(12<<2)|2,{68,49,0}}, +/* 48658 */ {(12<<2)|2,{68,49,0}}, +/* 48659 */ {(12<<2)|2,{68,49,0}}, +/* 48660 */ {(12<<2)|2,{68,49,0}}, +/* 48661 */ {(12<<2)|2,{68,49,0}}, +/* 48662 */ {(12<<2)|2,{68,49,0}}, +/* 48663 */ {(12<<2)|2,{68,49,0}}, +/* 48664 */ {(12<<2)|2,{68,49,0}}, +/* 48665 */ {(12<<2)|2,{68,49,0}}, +/* 48666 */ {(12<<2)|2,{68,49,0}}, +/* 48667 */ {(12<<2)|2,{68,49,0}}, +/* 48668 */ {(12<<2)|2,{68,49,0}}, +/* 48669 */ {(12<<2)|2,{68,49,0}}, +/* 48670 */ {(12<<2)|2,{68,49,0}}, +/* 48671 */ {(12<<2)|2,{68,49,0}}, +/* 48672 */ {(12<<2)|2,{68,50,0}}, +/* 48673 */ {(12<<2)|2,{68,50,0}}, +/* 48674 */ {(12<<2)|2,{68,50,0}}, +/* 48675 */ {(12<<2)|2,{68,50,0}}, +/* 48676 */ {(12<<2)|2,{68,50,0}}, +/* 48677 */ {(12<<2)|2,{68,50,0}}, +/* 48678 */ {(12<<2)|2,{68,50,0}}, +/* 48679 */ {(12<<2)|2,{68,50,0}}, +/* 48680 */ {(12<<2)|2,{68,50,0}}, +/* 48681 */ {(12<<2)|2,{68,50,0}}, +/* 48682 */ {(12<<2)|2,{68,50,0}}, +/* 48683 */ {(12<<2)|2,{68,50,0}}, +/* 48684 */ {(12<<2)|2,{68,50,0}}, +/* 48685 */ {(12<<2)|2,{68,50,0}}, +/* 48686 */ {(12<<2)|2,{68,50,0}}, +/* 48687 */ {(12<<2)|2,{68,50,0}}, +/* 48688 */ {(12<<2)|2,{68,97,0}}, +/* 48689 */ {(12<<2)|2,{68,97,0}}, +/* 48690 */ {(12<<2)|2,{68,97,0}}, +/* 48691 */ {(12<<2)|2,{68,97,0}}, +/* 48692 */ {(12<<2)|2,{68,97,0}}, +/* 48693 */ {(12<<2)|2,{68,97,0}}, +/* 48694 */ {(12<<2)|2,{68,97,0}}, +/* 48695 */ {(12<<2)|2,{68,97,0}}, +/* 48696 */ {(12<<2)|2,{68,97,0}}, +/* 48697 */ {(12<<2)|2,{68,97,0}}, +/* 48698 */ {(12<<2)|2,{68,97,0}}, +/* 48699 */ {(12<<2)|2,{68,97,0}}, +/* 48700 */ {(12<<2)|2,{68,97,0}}, +/* 48701 */ {(12<<2)|2,{68,97,0}}, +/* 48702 */ {(12<<2)|2,{68,97,0}}, +/* 48703 */ {(12<<2)|2,{68,97,0}}, +/* 48704 */ {(12<<2)|2,{68,99,0}}, +/* 48705 */ {(12<<2)|2,{68,99,0}}, +/* 48706 */ {(12<<2)|2,{68,99,0}}, +/* 48707 */ {(12<<2)|2,{68,99,0}}, +/* 48708 */ {(12<<2)|2,{68,99,0}}, +/* 48709 */ {(12<<2)|2,{68,99,0}}, +/* 48710 */ {(12<<2)|2,{68,99,0}}, +/* 48711 */ {(12<<2)|2,{68,99,0}}, +/* 48712 */ {(12<<2)|2,{68,99,0}}, +/* 48713 */ {(12<<2)|2,{68,99,0}}, +/* 48714 */ {(12<<2)|2,{68,99,0}}, +/* 48715 */ {(12<<2)|2,{68,99,0}}, +/* 48716 */ {(12<<2)|2,{68,99,0}}, +/* 48717 */ {(12<<2)|2,{68,99,0}}, +/* 48718 */ {(12<<2)|2,{68,99,0}}, +/* 48719 */ {(12<<2)|2,{68,99,0}}, +/* 48720 */ {(12<<2)|2,{68,101,0}}, +/* 48721 */ {(12<<2)|2,{68,101,0}}, +/* 48722 */ {(12<<2)|2,{68,101,0}}, +/* 48723 */ {(12<<2)|2,{68,101,0}}, +/* 48724 */ {(12<<2)|2,{68,101,0}}, +/* 48725 */ {(12<<2)|2,{68,101,0}}, +/* 48726 */ {(12<<2)|2,{68,101,0}}, +/* 48727 */ {(12<<2)|2,{68,101,0}}, +/* 48728 */ {(12<<2)|2,{68,101,0}}, +/* 48729 */ {(12<<2)|2,{68,101,0}}, +/* 48730 */ {(12<<2)|2,{68,101,0}}, +/* 48731 */ {(12<<2)|2,{68,101,0}}, +/* 48732 */ {(12<<2)|2,{68,101,0}}, +/* 48733 */ {(12<<2)|2,{68,101,0}}, +/* 48734 */ {(12<<2)|2,{68,101,0}}, +/* 48735 */ {(12<<2)|2,{68,101,0}}, +/* 48736 */ {(12<<2)|2,{68,105,0}}, +/* 48737 */ {(12<<2)|2,{68,105,0}}, +/* 48738 */ {(12<<2)|2,{68,105,0}}, +/* 48739 */ {(12<<2)|2,{68,105,0}}, +/* 48740 */ {(12<<2)|2,{68,105,0}}, +/* 48741 */ {(12<<2)|2,{68,105,0}}, +/* 48742 */ {(12<<2)|2,{68,105,0}}, +/* 48743 */ {(12<<2)|2,{68,105,0}}, +/* 48744 */ {(12<<2)|2,{68,105,0}}, +/* 48745 */ {(12<<2)|2,{68,105,0}}, +/* 48746 */ {(12<<2)|2,{68,105,0}}, +/* 48747 */ {(12<<2)|2,{68,105,0}}, +/* 48748 */ {(12<<2)|2,{68,105,0}}, +/* 48749 */ {(12<<2)|2,{68,105,0}}, +/* 48750 */ {(12<<2)|2,{68,105,0}}, +/* 48751 */ {(12<<2)|2,{68,105,0}}, +/* 48752 */ {(12<<2)|2,{68,111,0}}, +/* 48753 */ {(12<<2)|2,{68,111,0}}, +/* 48754 */ {(12<<2)|2,{68,111,0}}, +/* 48755 */ {(12<<2)|2,{68,111,0}}, +/* 48756 */ {(12<<2)|2,{68,111,0}}, +/* 48757 */ {(12<<2)|2,{68,111,0}}, +/* 48758 */ {(12<<2)|2,{68,111,0}}, +/* 48759 */ {(12<<2)|2,{68,111,0}}, +/* 48760 */ {(12<<2)|2,{68,111,0}}, +/* 48761 */ {(12<<2)|2,{68,111,0}}, +/* 48762 */ {(12<<2)|2,{68,111,0}}, +/* 48763 */ {(12<<2)|2,{68,111,0}}, +/* 48764 */ {(12<<2)|2,{68,111,0}}, +/* 48765 */ {(12<<2)|2,{68,111,0}}, +/* 48766 */ {(12<<2)|2,{68,111,0}}, +/* 48767 */ {(12<<2)|2,{68,111,0}}, +/* 48768 */ {(12<<2)|2,{68,115,0}}, +/* 48769 */ {(12<<2)|2,{68,115,0}}, +/* 48770 */ {(12<<2)|2,{68,115,0}}, +/* 48771 */ {(12<<2)|2,{68,115,0}}, +/* 48772 */ {(12<<2)|2,{68,115,0}}, +/* 48773 */ {(12<<2)|2,{68,115,0}}, +/* 48774 */ {(12<<2)|2,{68,115,0}}, +/* 48775 */ {(12<<2)|2,{68,115,0}}, +/* 48776 */ {(12<<2)|2,{68,115,0}}, +/* 48777 */ {(12<<2)|2,{68,115,0}}, +/* 48778 */ {(12<<2)|2,{68,115,0}}, +/* 48779 */ {(12<<2)|2,{68,115,0}}, +/* 48780 */ {(12<<2)|2,{68,115,0}}, +/* 48781 */ {(12<<2)|2,{68,115,0}}, +/* 48782 */ {(12<<2)|2,{68,115,0}}, +/* 48783 */ {(12<<2)|2,{68,115,0}}, +/* 48784 */ {(12<<2)|2,{68,116,0}}, +/* 48785 */ {(12<<2)|2,{68,116,0}}, +/* 48786 */ {(12<<2)|2,{68,116,0}}, +/* 48787 */ {(12<<2)|2,{68,116,0}}, +/* 48788 */ {(12<<2)|2,{68,116,0}}, +/* 48789 */ {(12<<2)|2,{68,116,0}}, +/* 48790 */ {(12<<2)|2,{68,116,0}}, +/* 48791 */ {(12<<2)|2,{68,116,0}}, +/* 48792 */ {(12<<2)|2,{68,116,0}}, +/* 48793 */ {(12<<2)|2,{68,116,0}}, +/* 48794 */ {(12<<2)|2,{68,116,0}}, +/* 48795 */ {(12<<2)|2,{68,116,0}}, +/* 48796 */ {(12<<2)|2,{68,116,0}}, +/* 48797 */ {(12<<2)|2,{68,116,0}}, +/* 48798 */ {(12<<2)|2,{68,116,0}}, +/* 48799 */ {(12<<2)|2,{68,116,0}}, +/* 48800 */ {(13<<2)|2,{68,32,0}}, +/* 48801 */ {(13<<2)|2,{68,32,0}}, +/* 48802 */ {(13<<2)|2,{68,32,0}}, +/* 48803 */ {(13<<2)|2,{68,32,0}}, +/* 48804 */ {(13<<2)|2,{68,32,0}}, +/* 48805 */ {(13<<2)|2,{68,32,0}}, +/* 48806 */ {(13<<2)|2,{68,32,0}}, +/* 48807 */ {(13<<2)|2,{68,32,0}}, +/* 48808 */ {(13<<2)|2,{68,37,0}}, +/* 48809 */ {(13<<2)|2,{68,37,0}}, +/* 48810 */ {(13<<2)|2,{68,37,0}}, +/* 48811 */ {(13<<2)|2,{68,37,0}}, +/* 48812 */ {(13<<2)|2,{68,37,0}}, +/* 48813 */ {(13<<2)|2,{68,37,0}}, +/* 48814 */ {(13<<2)|2,{68,37,0}}, +/* 48815 */ {(13<<2)|2,{68,37,0}}, +/* 48816 */ {(13<<2)|2,{68,45,0}}, +/* 48817 */ {(13<<2)|2,{68,45,0}}, +/* 48818 */ {(13<<2)|2,{68,45,0}}, +/* 48819 */ {(13<<2)|2,{68,45,0}}, +/* 48820 */ {(13<<2)|2,{68,45,0}}, +/* 48821 */ {(13<<2)|2,{68,45,0}}, +/* 48822 */ {(13<<2)|2,{68,45,0}}, +/* 48823 */ {(13<<2)|2,{68,45,0}}, +/* 48824 */ {(13<<2)|2,{68,46,0}}, +/* 48825 */ {(13<<2)|2,{68,46,0}}, +/* 48826 */ {(13<<2)|2,{68,46,0}}, +/* 48827 */ {(13<<2)|2,{68,46,0}}, +/* 48828 */ {(13<<2)|2,{68,46,0}}, +/* 48829 */ {(13<<2)|2,{68,46,0}}, +/* 48830 */ {(13<<2)|2,{68,46,0}}, +/* 48831 */ {(13<<2)|2,{68,46,0}}, +/* 48832 */ {(13<<2)|2,{68,47,0}}, +/* 48833 */ {(13<<2)|2,{68,47,0}}, +/* 48834 */ {(13<<2)|2,{68,47,0}}, +/* 48835 */ {(13<<2)|2,{68,47,0}}, +/* 48836 */ {(13<<2)|2,{68,47,0}}, +/* 48837 */ {(13<<2)|2,{68,47,0}}, +/* 48838 */ {(13<<2)|2,{68,47,0}}, +/* 48839 */ {(13<<2)|2,{68,47,0}}, +/* 48840 */ {(13<<2)|2,{68,51,0}}, +/* 48841 */ {(13<<2)|2,{68,51,0}}, +/* 48842 */ {(13<<2)|2,{68,51,0}}, +/* 48843 */ {(13<<2)|2,{68,51,0}}, +/* 48844 */ {(13<<2)|2,{68,51,0}}, +/* 48845 */ {(13<<2)|2,{68,51,0}}, +/* 48846 */ {(13<<2)|2,{68,51,0}}, +/* 48847 */ {(13<<2)|2,{68,51,0}}, +/* 48848 */ {(13<<2)|2,{68,52,0}}, +/* 48849 */ {(13<<2)|2,{68,52,0}}, +/* 48850 */ {(13<<2)|2,{68,52,0}}, +/* 48851 */ {(13<<2)|2,{68,52,0}}, +/* 48852 */ {(13<<2)|2,{68,52,0}}, +/* 48853 */ {(13<<2)|2,{68,52,0}}, +/* 48854 */ {(13<<2)|2,{68,52,0}}, +/* 48855 */ {(13<<2)|2,{68,52,0}}, +/* 48856 */ {(13<<2)|2,{68,53,0}}, +/* 48857 */ {(13<<2)|2,{68,53,0}}, +/* 48858 */ {(13<<2)|2,{68,53,0}}, +/* 48859 */ {(13<<2)|2,{68,53,0}}, +/* 48860 */ {(13<<2)|2,{68,53,0}}, +/* 48861 */ {(13<<2)|2,{68,53,0}}, +/* 48862 */ {(13<<2)|2,{68,53,0}}, +/* 48863 */ {(13<<2)|2,{68,53,0}}, +/* 48864 */ {(13<<2)|2,{68,54,0}}, +/* 48865 */ {(13<<2)|2,{68,54,0}}, +/* 48866 */ {(13<<2)|2,{68,54,0}}, +/* 48867 */ {(13<<2)|2,{68,54,0}}, +/* 48868 */ {(13<<2)|2,{68,54,0}}, +/* 48869 */ {(13<<2)|2,{68,54,0}}, +/* 48870 */ {(13<<2)|2,{68,54,0}}, +/* 48871 */ {(13<<2)|2,{68,54,0}}, +/* 48872 */ {(13<<2)|2,{68,55,0}}, +/* 48873 */ {(13<<2)|2,{68,55,0}}, +/* 48874 */ {(13<<2)|2,{68,55,0}}, +/* 48875 */ {(13<<2)|2,{68,55,0}}, +/* 48876 */ {(13<<2)|2,{68,55,0}}, +/* 48877 */ {(13<<2)|2,{68,55,0}}, +/* 48878 */ {(13<<2)|2,{68,55,0}}, +/* 48879 */ {(13<<2)|2,{68,55,0}}, +/* 48880 */ {(13<<2)|2,{68,56,0}}, +/* 48881 */ {(13<<2)|2,{68,56,0}}, +/* 48882 */ {(13<<2)|2,{68,56,0}}, +/* 48883 */ {(13<<2)|2,{68,56,0}}, +/* 48884 */ {(13<<2)|2,{68,56,0}}, +/* 48885 */ {(13<<2)|2,{68,56,0}}, +/* 48886 */ {(13<<2)|2,{68,56,0}}, +/* 48887 */ {(13<<2)|2,{68,56,0}}, +/* 48888 */ {(13<<2)|2,{68,57,0}}, +/* 48889 */ {(13<<2)|2,{68,57,0}}, +/* 48890 */ {(13<<2)|2,{68,57,0}}, +/* 48891 */ {(13<<2)|2,{68,57,0}}, +/* 48892 */ {(13<<2)|2,{68,57,0}}, +/* 48893 */ {(13<<2)|2,{68,57,0}}, +/* 48894 */ {(13<<2)|2,{68,57,0}}, +/* 48895 */ {(13<<2)|2,{68,57,0}}, +/* 48896 */ {(13<<2)|2,{68,61,0}}, +/* 48897 */ {(13<<2)|2,{68,61,0}}, +/* 48898 */ {(13<<2)|2,{68,61,0}}, +/* 48899 */ {(13<<2)|2,{68,61,0}}, +/* 48900 */ {(13<<2)|2,{68,61,0}}, +/* 48901 */ {(13<<2)|2,{68,61,0}}, +/* 48902 */ {(13<<2)|2,{68,61,0}}, +/* 48903 */ {(13<<2)|2,{68,61,0}}, +/* 48904 */ {(13<<2)|2,{68,65,0}}, +/* 48905 */ {(13<<2)|2,{68,65,0}}, +/* 48906 */ {(13<<2)|2,{68,65,0}}, +/* 48907 */ {(13<<2)|2,{68,65,0}}, +/* 48908 */ {(13<<2)|2,{68,65,0}}, +/* 48909 */ {(13<<2)|2,{68,65,0}}, +/* 48910 */ {(13<<2)|2,{68,65,0}}, +/* 48911 */ {(13<<2)|2,{68,65,0}}, +/* 48912 */ {(13<<2)|2,{68,95,0}}, +/* 48913 */ {(13<<2)|2,{68,95,0}}, +/* 48914 */ {(13<<2)|2,{68,95,0}}, +/* 48915 */ {(13<<2)|2,{68,95,0}}, +/* 48916 */ {(13<<2)|2,{68,95,0}}, +/* 48917 */ {(13<<2)|2,{68,95,0}}, +/* 48918 */ {(13<<2)|2,{68,95,0}}, +/* 48919 */ {(13<<2)|2,{68,95,0}}, +/* 48920 */ {(13<<2)|2,{68,98,0}}, +/* 48921 */ {(13<<2)|2,{68,98,0}}, +/* 48922 */ {(13<<2)|2,{68,98,0}}, +/* 48923 */ {(13<<2)|2,{68,98,0}}, +/* 48924 */ {(13<<2)|2,{68,98,0}}, +/* 48925 */ {(13<<2)|2,{68,98,0}}, +/* 48926 */ {(13<<2)|2,{68,98,0}}, +/* 48927 */ {(13<<2)|2,{68,98,0}}, +/* 48928 */ {(13<<2)|2,{68,100,0}}, +/* 48929 */ {(13<<2)|2,{68,100,0}}, +/* 48930 */ {(13<<2)|2,{68,100,0}}, +/* 48931 */ {(13<<2)|2,{68,100,0}}, +/* 48932 */ {(13<<2)|2,{68,100,0}}, +/* 48933 */ {(13<<2)|2,{68,100,0}}, +/* 48934 */ {(13<<2)|2,{68,100,0}}, +/* 48935 */ {(13<<2)|2,{68,100,0}}, +/* 48936 */ {(13<<2)|2,{68,102,0}}, +/* 48937 */ {(13<<2)|2,{68,102,0}}, +/* 48938 */ {(13<<2)|2,{68,102,0}}, +/* 48939 */ {(13<<2)|2,{68,102,0}}, +/* 48940 */ {(13<<2)|2,{68,102,0}}, +/* 48941 */ {(13<<2)|2,{68,102,0}}, +/* 48942 */ {(13<<2)|2,{68,102,0}}, +/* 48943 */ {(13<<2)|2,{68,102,0}}, +/* 48944 */ {(13<<2)|2,{68,103,0}}, +/* 48945 */ {(13<<2)|2,{68,103,0}}, +/* 48946 */ {(13<<2)|2,{68,103,0}}, +/* 48947 */ {(13<<2)|2,{68,103,0}}, +/* 48948 */ {(13<<2)|2,{68,103,0}}, +/* 48949 */ {(13<<2)|2,{68,103,0}}, +/* 48950 */ {(13<<2)|2,{68,103,0}}, +/* 48951 */ {(13<<2)|2,{68,103,0}}, +/* 48952 */ {(13<<2)|2,{68,104,0}}, +/* 48953 */ {(13<<2)|2,{68,104,0}}, +/* 48954 */ {(13<<2)|2,{68,104,0}}, +/* 48955 */ {(13<<2)|2,{68,104,0}}, +/* 48956 */ {(13<<2)|2,{68,104,0}}, +/* 48957 */ {(13<<2)|2,{68,104,0}}, +/* 48958 */ {(13<<2)|2,{68,104,0}}, +/* 48959 */ {(13<<2)|2,{68,104,0}}, +/* 48960 */ {(13<<2)|2,{68,108,0}}, +/* 48961 */ {(13<<2)|2,{68,108,0}}, +/* 48962 */ {(13<<2)|2,{68,108,0}}, +/* 48963 */ {(13<<2)|2,{68,108,0}}, +/* 48964 */ {(13<<2)|2,{68,108,0}}, +/* 48965 */ {(13<<2)|2,{68,108,0}}, +/* 48966 */ {(13<<2)|2,{68,108,0}}, +/* 48967 */ {(13<<2)|2,{68,108,0}}, +/* 48968 */ {(13<<2)|2,{68,109,0}}, +/* 48969 */ {(13<<2)|2,{68,109,0}}, +/* 48970 */ {(13<<2)|2,{68,109,0}}, +/* 48971 */ {(13<<2)|2,{68,109,0}}, +/* 48972 */ {(13<<2)|2,{68,109,0}}, +/* 48973 */ {(13<<2)|2,{68,109,0}}, +/* 48974 */ {(13<<2)|2,{68,109,0}}, +/* 48975 */ {(13<<2)|2,{68,109,0}}, +/* 48976 */ {(13<<2)|2,{68,110,0}}, +/* 48977 */ {(13<<2)|2,{68,110,0}}, +/* 48978 */ {(13<<2)|2,{68,110,0}}, +/* 48979 */ {(13<<2)|2,{68,110,0}}, +/* 48980 */ {(13<<2)|2,{68,110,0}}, +/* 48981 */ {(13<<2)|2,{68,110,0}}, +/* 48982 */ {(13<<2)|2,{68,110,0}}, +/* 48983 */ {(13<<2)|2,{68,110,0}}, +/* 48984 */ {(13<<2)|2,{68,112,0}}, +/* 48985 */ {(13<<2)|2,{68,112,0}}, +/* 48986 */ {(13<<2)|2,{68,112,0}}, +/* 48987 */ {(13<<2)|2,{68,112,0}}, +/* 48988 */ {(13<<2)|2,{68,112,0}}, +/* 48989 */ {(13<<2)|2,{68,112,0}}, +/* 48990 */ {(13<<2)|2,{68,112,0}}, +/* 48991 */ {(13<<2)|2,{68,112,0}}, +/* 48992 */ {(13<<2)|2,{68,114,0}}, +/* 48993 */ {(13<<2)|2,{68,114,0}}, +/* 48994 */ {(13<<2)|2,{68,114,0}}, +/* 48995 */ {(13<<2)|2,{68,114,0}}, +/* 48996 */ {(13<<2)|2,{68,114,0}}, +/* 48997 */ {(13<<2)|2,{68,114,0}}, +/* 48998 */ {(13<<2)|2,{68,114,0}}, +/* 48999 */ {(13<<2)|2,{68,114,0}}, +/* 49000 */ {(13<<2)|2,{68,117,0}}, +/* 49001 */ {(13<<2)|2,{68,117,0}}, +/* 49002 */ {(13<<2)|2,{68,117,0}}, +/* 49003 */ {(13<<2)|2,{68,117,0}}, +/* 49004 */ {(13<<2)|2,{68,117,0}}, +/* 49005 */ {(13<<2)|2,{68,117,0}}, +/* 49006 */ {(13<<2)|2,{68,117,0}}, +/* 49007 */ {(13<<2)|2,{68,117,0}}, +/* 49008 */ {(14<<2)|2,{68,58,0}}, +/* 49009 */ {(14<<2)|2,{68,58,0}}, +/* 49010 */ {(14<<2)|2,{68,58,0}}, +/* 49011 */ {(14<<2)|2,{68,58,0}}, +/* 49012 */ {(14<<2)|2,{68,66,0}}, +/* 49013 */ {(14<<2)|2,{68,66,0}}, +/* 49014 */ {(14<<2)|2,{68,66,0}}, +/* 49015 */ {(14<<2)|2,{68,66,0}}, +/* 49016 */ {(14<<2)|2,{68,67,0}}, +/* 49017 */ {(14<<2)|2,{68,67,0}}, +/* 49018 */ {(14<<2)|2,{68,67,0}}, +/* 49019 */ {(14<<2)|2,{68,67,0}}, +/* 49020 */ {(14<<2)|2,{68,68,0}}, +/* 49021 */ {(14<<2)|2,{68,68,0}}, +/* 49022 */ {(14<<2)|2,{68,68,0}}, +/* 49023 */ {(14<<2)|2,{68,68,0}}, +/* 49024 */ {(14<<2)|2,{68,69,0}}, +/* 49025 */ {(14<<2)|2,{68,69,0}}, +/* 49026 */ {(14<<2)|2,{68,69,0}}, +/* 49027 */ {(14<<2)|2,{68,69,0}}, +/* 49028 */ {(14<<2)|2,{68,70,0}}, +/* 49029 */ {(14<<2)|2,{68,70,0}}, +/* 49030 */ {(14<<2)|2,{68,70,0}}, +/* 49031 */ {(14<<2)|2,{68,70,0}}, +/* 49032 */ {(14<<2)|2,{68,71,0}}, +/* 49033 */ {(14<<2)|2,{68,71,0}}, +/* 49034 */ {(14<<2)|2,{68,71,0}}, +/* 49035 */ {(14<<2)|2,{68,71,0}}, +/* 49036 */ {(14<<2)|2,{68,72,0}}, +/* 49037 */ {(14<<2)|2,{68,72,0}}, +/* 49038 */ {(14<<2)|2,{68,72,0}}, +/* 49039 */ {(14<<2)|2,{68,72,0}}, +/* 49040 */ {(14<<2)|2,{68,73,0}}, +/* 49041 */ {(14<<2)|2,{68,73,0}}, +/* 49042 */ {(14<<2)|2,{68,73,0}}, +/* 49043 */ {(14<<2)|2,{68,73,0}}, +/* 49044 */ {(14<<2)|2,{68,74,0}}, +/* 49045 */ {(14<<2)|2,{68,74,0}}, +/* 49046 */ {(14<<2)|2,{68,74,0}}, +/* 49047 */ {(14<<2)|2,{68,74,0}}, +/* 49048 */ {(14<<2)|2,{68,75,0}}, +/* 49049 */ {(14<<2)|2,{68,75,0}}, +/* 49050 */ {(14<<2)|2,{68,75,0}}, +/* 49051 */ {(14<<2)|2,{68,75,0}}, +/* 49052 */ {(14<<2)|2,{68,76,0}}, +/* 49053 */ {(14<<2)|2,{68,76,0}}, +/* 49054 */ {(14<<2)|2,{68,76,0}}, +/* 49055 */ {(14<<2)|2,{68,76,0}}, +/* 49056 */ {(14<<2)|2,{68,77,0}}, +/* 49057 */ {(14<<2)|2,{68,77,0}}, +/* 49058 */ {(14<<2)|2,{68,77,0}}, +/* 49059 */ {(14<<2)|2,{68,77,0}}, +/* 49060 */ {(14<<2)|2,{68,78,0}}, +/* 49061 */ {(14<<2)|2,{68,78,0}}, +/* 49062 */ {(14<<2)|2,{68,78,0}}, +/* 49063 */ {(14<<2)|2,{68,78,0}}, +/* 49064 */ {(14<<2)|2,{68,79,0}}, +/* 49065 */ {(14<<2)|2,{68,79,0}}, +/* 49066 */ {(14<<2)|2,{68,79,0}}, +/* 49067 */ {(14<<2)|2,{68,79,0}}, +/* 49068 */ {(14<<2)|2,{68,80,0}}, +/* 49069 */ {(14<<2)|2,{68,80,0}}, +/* 49070 */ {(14<<2)|2,{68,80,0}}, +/* 49071 */ {(14<<2)|2,{68,80,0}}, +/* 49072 */ {(14<<2)|2,{68,81,0}}, +/* 49073 */ {(14<<2)|2,{68,81,0}}, +/* 49074 */ {(14<<2)|2,{68,81,0}}, +/* 49075 */ {(14<<2)|2,{68,81,0}}, +/* 49076 */ {(14<<2)|2,{68,82,0}}, +/* 49077 */ {(14<<2)|2,{68,82,0}}, +/* 49078 */ {(14<<2)|2,{68,82,0}}, +/* 49079 */ {(14<<2)|2,{68,82,0}}, +/* 49080 */ {(14<<2)|2,{68,83,0}}, +/* 49081 */ {(14<<2)|2,{68,83,0}}, +/* 49082 */ {(14<<2)|2,{68,83,0}}, +/* 49083 */ {(14<<2)|2,{68,83,0}}, +/* 49084 */ {(14<<2)|2,{68,84,0}}, +/* 49085 */ {(14<<2)|2,{68,84,0}}, +/* 49086 */ {(14<<2)|2,{68,84,0}}, +/* 49087 */ {(14<<2)|2,{68,84,0}}, +/* 49088 */ {(14<<2)|2,{68,85,0}}, +/* 49089 */ {(14<<2)|2,{68,85,0}}, +/* 49090 */ {(14<<2)|2,{68,85,0}}, +/* 49091 */ {(14<<2)|2,{68,85,0}}, +/* 49092 */ {(14<<2)|2,{68,86,0}}, +/* 49093 */ {(14<<2)|2,{68,86,0}}, +/* 49094 */ {(14<<2)|2,{68,86,0}}, +/* 49095 */ {(14<<2)|2,{68,86,0}}, +/* 49096 */ {(14<<2)|2,{68,87,0}}, +/* 49097 */ {(14<<2)|2,{68,87,0}}, +/* 49098 */ {(14<<2)|2,{68,87,0}}, +/* 49099 */ {(14<<2)|2,{68,87,0}}, +/* 49100 */ {(14<<2)|2,{68,89,0}}, +/* 49101 */ {(14<<2)|2,{68,89,0}}, +/* 49102 */ {(14<<2)|2,{68,89,0}}, +/* 49103 */ {(14<<2)|2,{68,89,0}}, +/* 49104 */ {(14<<2)|2,{68,106,0}}, +/* 49105 */ {(14<<2)|2,{68,106,0}}, +/* 49106 */ {(14<<2)|2,{68,106,0}}, +/* 49107 */ {(14<<2)|2,{68,106,0}}, +/* 49108 */ {(14<<2)|2,{68,107,0}}, +/* 49109 */ {(14<<2)|2,{68,107,0}}, +/* 49110 */ {(14<<2)|2,{68,107,0}}, +/* 49111 */ {(14<<2)|2,{68,107,0}}, +/* 49112 */ {(14<<2)|2,{68,113,0}}, +/* 49113 */ {(14<<2)|2,{68,113,0}}, +/* 49114 */ {(14<<2)|2,{68,113,0}}, +/* 49115 */ {(14<<2)|2,{68,113,0}}, +/* 49116 */ {(14<<2)|2,{68,118,0}}, +/* 49117 */ {(14<<2)|2,{68,118,0}}, +/* 49118 */ {(14<<2)|2,{68,118,0}}, +/* 49119 */ {(14<<2)|2,{68,118,0}}, +/* 49120 */ {(14<<2)|2,{68,119,0}}, +/* 49121 */ {(14<<2)|2,{68,119,0}}, +/* 49122 */ {(14<<2)|2,{68,119,0}}, +/* 49123 */ {(14<<2)|2,{68,119,0}}, +/* 49124 */ {(14<<2)|2,{68,120,0}}, +/* 49125 */ {(14<<2)|2,{68,120,0}}, +/* 49126 */ {(14<<2)|2,{68,120,0}}, +/* 49127 */ {(14<<2)|2,{68,120,0}}, +/* 49128 */ {(14<<2)|2,{68,121,0}}, +/* 49129 */ {(14<<2)|2,{68,121,0}}, +/* 49130 */ {(14<<2)|2,{68,121,0}}, +/* 49131 */ {(14<<2)|2,{68,121,0}}, +/* 49132 */ {(14<<2)|2,{68,122,0}}, +/* 49133 */ {(14<<2)|2,{68,122,0}}, +/* 49134 */ {(14<<2)|2,{68,122,0}}, +/* 49135 */ {(14<<2)|2,{68,122,0}}, +/* 49136 */ {(15<<2)|2,{68,38,0}}, +/* 49137 */ {(15<<2)|2,{68,38,0}}, +/* 49138 */ {(15<<2)|2,{68,42,0}}, +/* 49139 */ {(15<<2)|2,{68,42,0}}, +/* 49140 */ {(15<<2)|2,{68,44,0}}, +/* 49141 */ {(15<<2)|2,{68,44,0}}, +/* 49142 */ {(15<<2)|2,{68,59,0}}, +/* 49143 */ {(15<<2)|2,{68,59,0}}, +/* 49144 */ {(15<<2)|2,{68,88,0}}, +/* 49145 */ {(15<<2)|2,{68,88,0}}, +/* 49146 */ {(15<<2)|2,{68,90,0}}, +/* 49147 */ {(15<<2)|2,{68,90,0}}, +/* 49148 */ {(7<<2)|1,{68,0,0}}, +/* 49149 */ {(7<<2)|1,{68,0,0}}, +/* 49150 */ {(7<<2)|1,{68,0,0}}, +/* 49151 */ {(7<<2)|1,{68,0,0}}, +/* 49152 */ {(12<<2)|2,{69,48,0}}, +/* 49153 */ {(12<<2)|2,{69,48,0}}, +/* 49154 */ {(12<<2)|2,{69,48,0}}, +/* 49155 */ {(12<<2)|2,{69,48,0}}, +/* 49156 */ {(12<<2)|2,{69,48,0}}, +/* 49157 */ {(12<<2)|2,{69,48,0}}, +/* 49158 */ {(12<<2)|2,{69,48,0}}, +/* 49159 */ {(12<<2)|2,{69,48,0}}, +/* 49160 */ {(12<<2)|2,{69,48,0}}, +/* 49161 */ {(12<<2)|2,{69,48,0}}, +/* 49162 */ {(12<<2)|2,{69,48,0}}, +/* 49163 */ {(12<<2)|2,{69,48,0}}, +/* 49164 */ {(12<<2)|2,{69,48,0}}, +/* 49165 */ {(12<<2)|2,{69,48,0}}, +/* 49166 */ {(12<<2)|2,{69,48,0}}, +/* 49167 */ {(12<<2)|2,{69,48,0}}, +/* 49168 */ {(12<<2)|2,{69,49,0}}, +/* 49169 */ {(12<<2)|2,{69,49,0}}, +/* 49170 */ {(12<<2)|2,{69,49,0}}, +/* 49171 */ {(12<<2)|2,{69,49,0}}, +/* 49172 */ {(12<<2)|2,{69,49,0}}, +/* 49173 */ {(12<<2)|2,{69,49,0}}, +/* 49174 */ {(12<<2)|2,{69,49,0}}, +/* 49175 */ {(12<<2)|2,{69,49,0}}, +/* 49176 */ {(12<<2)|2,{69,49,0}}, +/* 49177 */ {(12<<2)|2,{69,49,0}}, +/* 49178 */ {(12<<2)|2,{69,49,0}}, +/* 49179 */ {(12<<2)|2,{69,49,0}}, +/* 49180 */ {(12<<2)|2,{69,49,0}}, +/* 49181 */ {(12<<2)|2,{69,49,0}}, +/* 49182 */ {(12<<2)|2,{69,49,0}}, +/* 49183 */ {(12<<2)|2,{69,49,0}}, +/* 49184 */ {(12<<2)|2,{69,50,0}}, +/* 49185 */ {(12<<2)|2,{69,50,0}}, +/* 49186 */ {(12<<2)|2,{69,50,0}}, +/* 49187 */ {(12<<2)|2,{69,50,0}}, +/* 49188 */ {(12<<2)|2,{69,50,0}}, +/* 49189 */ {(12<<2)|2,{69,50,0}}, +/* 49190 */ {(12<<2)|2,{69,50,0}}, +/* 49191 */ {(12<<2)|2,{69,50,0}}, +/* 49192 */ {(12<<2)|2,{69,50,0}}, +/* 49193 */ {(12<<2)|2,{69,50,0}}, +/* 49194 */ {(12<<2)|2,{69,50,0}}, +/* 49195 */ {(12<<2)|2,{69,50,0}}, +/* 49196 */ {(12<<2)|2,{69,50,0}}, +/* 49197 */ {(12<<2)|2,{69,50,0}}, +/* 49198 */ {(12<<2)|2,{69,50,0}}, +/* 49199 */ {(12<<2)|2,{69,50,0}}, +/* 49200 */ {(12<<2)|2,{69,97,0}}, +/* 49201 */ {(12<<2)|2,{69,97,0}}, +/* 49202 */ {(12<<2)|2,{69,97,0}}, +/* 49203 */ {(12<<2)|2,{69,97,0}}, +/* 49204 */ {(12<<2)|2,{69,97,0}}, +/* 49205 */ {(12<<2)|2,{69,97,0}}, +/* 49206 */ {(12<<2)|2,{69,97,0}}, +/* 49207 */ {(12<<2)|2,{69,97,0}}, +/* 49208 */ {(12<<2)|2,{69,97,0}}, +/* 49209 */ {(12<<2)|2,{69,97,0}}, +/* 49210 */ {(12<<2)|2,{69,97,0}}, +/* 49211 */ {(12<<2)|2,{69,97,0}}, +/* 49212 */ {(12<<2)|2,{69,97,0}}, +/* 49213 */ {(12<<2)|2,{69,97,0}}, +/* 49214 */ {(12<<2)|2,{69,97,0}}, +/* 49215 */ {(12<<2)|2,{69,97,0}}, +/* 49216 */ {(12<<2)|2,{69,99,0}}, +/* 49217 */ {(12<<2)|2,{69,99,0}}, +/* 49218 */ {(12<<2)|2,{69,99,0}}, +/* 49219 */ {(12<<2)|2,{69,99,0}}, +/* 49220 */ {(12<<2)|2,{69,99,0}}, +/* 49221 */ {(12<<2)|2,{69,99,0}}, +/* 49222 */ {(12<<2)|2,{69,99,0}}, +/* 49223 */ {(12<<2)|2,{69,99,0}}, +/* 49224 */ {(12<<2)|2,{69,99,0}}, +/* 49225 */ {(12<<2)|2,{69,99,0}}, +/* 49226 */ {(12<<2)|2,{69,99,0}}, +/* 49227 */ {(12<<2)|2,{69,99,0}}, +/* 49228 */ {(12<<2)|2,{69,99,0}}, +/* 49229 */ {(12<<2)|2,{69,99,0}}, +/* 49230 */ {(12<<2)|2,{69,99,0}}, +/* 49231 */ {(12<<2)|2,{69,99,0}}, +/* 49232 */ {(12<<2)|2,{69,101,0}}, +/* 49233 */ {(12<<2)|2,{69,101,0}}, +/* 49234 */ {(12<<2)|2,{69,101,0}}, +/* 49235 */ {(12<<2)|2,{69,101,0}}, +/* 49236 */ {(12<<2)|2,{69,101,0}}, +/* 49237 */ {(12<<2)|2,{69,101,0}}, +/* 49238 */ {(12<<2)|2,{69,101,0}}, +/* 49239 */ {(12<<2)|2,{69,101,0}}, +/* 49240 */ {(12<<2)|2,{69,101,0}}, +/* 49241 */ {(12<<2)|2,{69,101,0}}, +/* 49242 */ {(12<<2)|2,{69,101,0}}, +/* 49243 */ {(12<<2)|2,{69,101,0}}, +/* 49244 */ {(12<<2)|2,{69,101,0}}, +/* 49245 */ {(12<<2)|2,{69,101,0}}, +/* 49246 */ {(12<<2)|2,{69,101,0}}, +/* 49247 */ {(12<<2)|2,{69,101,0}}, +/* 49248 */ {(12<<2)|2,{69,105,0}}, +/* 49249 */ {(12<<2)|2,{69,105,0}}, +/* 49250 */ {(12<<2)|2,{69,105,0}}, +/* 49251 */ {(12<<2)|2,{69,105,0}}, +/* 49252 */ {(12<<2)|2,{69,105,0}}, +/* 49253 */ {(12<<2)|2,{69,105,0}}, +/* 49254 */ {(12<<2)|2,{69,105,0}}, +/* 49255 */ {(12<<2)|2,{69,105,0}}, +/* 49256 */ {(12<<2)|2,{69,105,0}}, +/* 49257 */ {(12<<2)|2,{69,105,0}}, +/* 49258 */ {(12<<2)|2,{69,105,0}}, +/* 49259 */ {(12<<2)|2,{69,105,0}}, +/* 49260 */ {(12<<2)|2,{69,105,0}}, +/* 49261 */ {(12<<2)|2,{69,105,0}}, +/* 49262 */ {(12<<2)|2,{69,105,0}}, +/* 49263 */ {(12<<2)|2,{69,105,0}}, +/* 49264 */ {(12<<2)|2,{69,111,0}}, +/* 49265 */ {(12<<2)|2,{69,111,0}}, +/* 49266 */ {(12<<2)|2,{69,111,0}}, +/* 49267 */ {(12<<2)|2,{69,111,0}}, +/* 49268 */ {(12<<2)|2,{69,111,0}}, +/* 49269 */ {(12<<2)|2,{69,111,0}}, +/* 49270 */ {(12<<2)|2,{69,111,0}}, +/* 49271 */ {(12<<2)|2,{69,111,0}}, +/* 49272 */ {(12<<2)|2,{69,111,0}}, +/* 49273 */ {(12<<2)|2,{69,111,0}}, +/* 49274 */ {(12<<2)|2,{69,111,0}}, +/* 49275 */ {(12<<2)|2,{69,111,0}}, +/* 49276 */ {(12<<2)|2,{69,111,0}}, +/* 49277 */ {(12<<2)|2,{69,111,0}}, +/* 49278 */ {(12<<2)|2,{69,111,0}}, +/* 49279 */ {(12<<2)|2,{69,111,0}}, +/* 49280 */ {(12<<2)|2,{69,115,0}}, +/* 49281 */ {(12<<2)|2,{69,115,0}}, +/* 49282 */ {(12<<2)|2,{69,115,0}}, +/* 49283 */ {(12<<2)|2,{69,115,0}}, +/* 49284 */ {(12<<2)|2,{69,115,0}}, +/* 49285 */ {(12<<2)|2,{69,115,0}}, +/* 49286 */ {(12<<2)|2,{69,115,0}}, +/* 49287 */ {(12<<2)|2,{69,115,0}}, +/* 49288 */ {(12<<2)|2,{69,115,0}}, +/* 49289 */ {(12<<2)|2,{69,115,0}}, +/* 49290 */ {(12<<2)|2,{69,115,0}}, +/* 49291 */ {(12<<2)|2,{69,115,0}}, +/* 49292 */ {(12<<2)|2,{69,115,0}}, +/* 49293 */ {(12<<2)|2,{69,115,0}}, +/* 49294 */ {(12<<2)|2,{69,115,0}}, +/* 49295 */ {(12<<2)|2,{69,115,0}}, +/* 49296 */ {(12<<2)|2,{69,116,0}}, +/* 49297 */ {(12<<2)|2,{69,116,0}}, +/* 49298 */ {(12<<2)|2,{69,116,0}}, +/* 49299 */ {(12<<2)|2,{69,116,0}}, +/* 49300 */ {(12<<2)|2,{69,116,0}}, +/* 49301 */ {(12<<2)|2,{69,116,0}}, +/* 49302 */ {(12<<2)|2,{69,116,0}}, +/* 49303 */ {(12<<2)|2,{69,116,0}}, +/* 49304 */ {(12<<2)|2,{69,116,0}}, +/* 49305 */ {(12<<2)|2,{69,116,0}}, +/* 49306 */ {(12<<2)|2,{69,116,0}}, +/* 49307 */ {(12<<2)|2,{69,116,0}}, +/* 49308 */ {(12<<2)|2,{69,116,0}}, +/* 49309 */ {(12<<2)|2,{69,116,0}}, +/* 49310 */ {(12<<2)|2,{69,116,0}}, +/* 49311 */ {(12<<2)|2,{69,116,0}}, +/* 49312 */ {(13<<2)|2,{69,32,0}}, +/* 49313 */ {(13<<2)|2,{69,32,0}}, +/* 49314 */ {(13<<2)|2,{69,32,0}}, +/* 49315 */ {(13<<2)|2,{69,32,0}}, +/* 49316 */ {(13<<2)|2,{69,32,0}}, +/* 49317 */ {(13<<2)|2,{69,32,0}}, +/* 49318 */ {(13<<2)|2,{69,32,0}}, +/* 49319 */ {(13<<2)|2,{69,32,0}}, +/* 49320 */ {(13<<2)|2,{69,37,0}}, +/* 49321 */ {(13<<2)|2,{69,37,0}}, +/* 49322 */ {(13<<2)|2,{69,37,0}}, +/* 49323 */ {(13<<2)|2,{69,37,0}}, +/* 49324 */ {(13<<2)|2,{69,37,0}}, +/* 49325 */ {(13<<2)|2,{69,37,0}}, +/* 49326 */ {(13<<2)|2,{69,37,0}}, +/* 49327 */ {(13<<2)|2,{69,37,0}}, +/* 49328 */ {(13<<2)|2,{69,45,0}}, +/* 49329 */ {(13<<2)|2,{69,45,0}}, +/* 49330 */ {(13<<2)|2,{69,45,0}}, +/* 49331 */ {(13<<2)|2,{69,45,0}}, +/* 49332 */ {(13<<2)|2,{69,45,0}}, +/* 49333 */ {(13<<2)|2,{69,45,0}}, +/* 49334 */ {(13<<2)|2,{69,45,0}}, +/* 49335 */ {(13<<2)|2,{69,45,0}}, +/* 49336 */ {(13<<2)|2,{69,46,0}}, +/* 49337 */ {(13<<2)|2,{69,46,0}}, +/* 49338 */ {(13<<2)|2,{69,46,0}}, +/* 49339 */ {(13<<2)|2,{69,46,0}}, +/* 49340 */ {(13<<2)|2,{69,46,0}}, +/* 49341 */ {(13<<2)|2,{69,46,0}}, +/* 49342 */ {(13<<2)|2,{69,46,0}}, +/* 49343 */ {(13<<2)|2,{69,46,0}}, +/* 49344 */ {(13<<2)|2,{69,47,0}}, +/* 49345 */ {(13<<2)|2,{69,47,0}}, +/* 49346 */ {(13<<2)|2,{69,47,0}}, +/* 49347 */ {(13<<2)|2,{69,47,0}}, +/* 49348 */ {(13<<2)|2,{69,47,0}}, +/* 49349 */ {(13<<2)|2,{69,47,0}}, +/* 49350 */ {(13<<2)|2,{69,47,0}}, +/* 49351 */ {(13<<2)|2,{69,47,0}}, +/* 49352 */ {(13<<2)|2,{69,51,0}}, +/* 49353 */ {(13<<2)|2,{69,51,0}}, +/* 49354 */ {(13<<2)|2,{69,51,0}}, +/* 49355 */ {(13<<2)|2,{69,51,0}}, +/* 49356 */ {(13<<2)|2,{69,51,0}}, +/* 49357 */ {(13<<2)|2,{69,51,0}}, +/* 49358 */ {(13<<2)|2,{69,51,0}}, +/* 49359 */ {(13<<2)|2,{69,51,0}}, +/* 49360 */ {(13<<2)|2,{69,52,0}}, +/* 49361 */ {(13<<2)|2,{69,52,0}}, +/* 49362 */ {(13<<2)|2,{69,52,0}}, +/* 49363 */ {(13<<2)|2,{69,52,0}}, +/* 49364 */ {(13<<2)|2,{69,52,0}}, +/* 49365 */ {(13<<2)|2,{69,52,0}}, +/* 49366 */ {(13<<2)|2,{69,52,0}}, +/* 49367 */ {(13<<2)|2,{69,52,0}}, +/* 49368 */ {(13<<2)|2,{69,53,0}}, +/* 49369 */ {(13<<2)|2,{69,53,0}}, +/* 49370 */ {(13<<2)|2,{69,53,0}}, +/* 49371 */ {(13<<2)|2,{69,53,0}}, +/* 49372 */ {(13<<2)|2,{69,53,0}}, +/* 49373 */ {(13<<2)|2,{69,53,0}}, +/* 49374 */ {(13<<2)|2,{69,53,0}}, +/* 49375 */ {(13<<2)|2,{69,53,0}}, +/* 49376 */ {(13<<2)|2,{69,54,0}}, +/* 49377 */ {(13<<2)|2,{69,54,0}}, +/* 49378 */ {(13<<2)|2,{69,54,0}}, +/* 49379 */ {(13<<2)|2,{69,54,0}}, +/* 49380 */ {(13<<2)|2,{69,54,0}}, +/* 49381 */ {(13<<2)|2,{69,54,0}}, +/* 49382 */ {(13<<2)|2,{69,54,0}}, +/* 49383 */ {(13<<2)|2,{69,54,0}}, +/* 49384 */ {(13<<2)|2,{69,55,0}}, +/* 49385 */ {(13<<2)|2,{69,55,0}}, +/* 49386 */ {(13<<2)|2,{69,55,0}}, +/* 49387 */ {(13<<2)|2,{69,55,0}}, +/* 49388 */ {(13<<2)|2,{69,55,0}}, +/* 49389 */ {(13<<2)|2,{69,55,0}}, +/* 49390 */ {(13<<2)|2,{69,55,0}}, +/* 49391 */ {(13<<2)|2,{69,55,0}}, +/* 49392 */ {(13<<2)|2,{69,56,0}}, +/* 49393 */ {(13<<2)|2,{69,56,0}}, +/* 49394 */ {(13<<2)|2,{69,56,0}}, +/* 49395 */ {(13<<2)|2,{69,56,0}}, +/* 49396 */ {(13<<2)|2,{69,56,0}}, +/* 49397 */ {(13<<2)|2,{69,56,0}}, +/* 49398 */ {(13<<2)|2,{69,56,0}}, +/* 49399 */ {(13<<2)|2,{69,56,0}}, +/* 49400 */ {(13<<2)|2,{69,57,0}}, +/* 49401 */ {(13<<2)|2,{69,57,0}}, +/* 49402 */ {(13<<2)|2,{69,57,0}}, +/* 49403 */ {(13<<2)|2,{69,57,0}}, +/* 49404 */ {(13<<2)|2,{69,57,0}}, +/* 49405 */ {(13<<2)|2,{69,57,0}}, +/* 49406 */ {(13<<2)|2,{69,57,0}}, +/* 49407 */ {(13<<2)|2,{69,57,0}}, +/* 49408 */ {(13<<2)|2,{69,61,0}}, +/* 49409 */ {(13<<2)|2,{69,61,0}}, +/* 49410 */ {(13<<2)|2,{69,61,0}}, +/* 49411 */ {(13<<2)|2,{69,61,0}}, +/* 49412 */ {(13<<2)|2,{69,61,0}}, +/* 49413 */ {(13<<2)|2,{69,61,0}}, +/* 49414 */ {(13<<2)|2,{69,61,0}}, +/* 49415 */ {(13<<2)|2,{69,61,0}}, +/* 49416 */ {(13<<2)|2,{69,65,0}}, +/* 49417 */ {(13<<2)|2,{69,65,0}}, +/* 49418 */ {(13<<2)|2,{69,65,0}}, +/* 49419 */ {(13<<2)|2,{69,65,0}}, +/* 49420 */ {(13<<2)|2,{69,65,0}}, +/* 49421 */ {(13<<2)|2,{69,65,0}}, +/* 49422 */ {(13<<2)|2,{69,65,0}}, +/* 49423 */ {(13<<2)|2,{69,65,0}}, +/* 49424 */ {(13<<2)|2,{69,95,0}}, +/* 49425 */ {(13<<2)|2,{69,95,0}}, +/* 49426 */ {(13<<2)|2,{69,95,0}}, +/* 49427 */ {(13<<2)|2,{69,95,0}}, +/* 49428 */ {(13<<2)|2,{69,95,0}}, +/* 49429 */ {(13<<2)|2,{69,95,0}}, +/* 49430 */ {(13<<2)|2,{69,95,0}}, +/* 49431 */ {(13<<2)|2,{69,95,0}}, +/* 49432 */ {(13<<2)|2,{69,98,0}}, +/* 49433 */ {(13<<2)|2,{69,98,0}}, +/* 49434 */ {(13<<2)|2,{69,98,0}}, +/* 49435 */ {(13<<2)|2,{69,98,0}}, +/* 49436 */ {(13<<2)|2,{69,98,0}}, +/* 49437 */ {(13<<2)|2,{69,98,0}}, +/* 49438 */ {(13<<2)|2,{69,98,0}}, +/* 49439 */ {(13<<2)|2,{69,98,0}}, +/* 49440 */ {(13<<2)|2,{69,100,0}}, +/* 49441 */ {(13<<2)|2,{69,100,0}}, +/* 49442 */ {(13<<2)|2,{69,100,0}}, +/* 49443 */ {(13<<2)|2,{69,100,0}}, +/* 49444 */ {(13<<2)|2,{69,100,0}}, +/* 49445 */ {(13<<2)|2,{69,100,0}}, +/* 49446 */ {(13<<2)|2,{69,100,0}}, +/* 49447 */ {(13<<2)|2,{69,100,0}}, +/* 49448 */ {(13<<2)|2,{69,102,0}}, +/* 49449 */ {(13<<2)|2,{69,102,0}}, +/* 49450 */ {(13<<2)|2,{69,102,0}}, +/* 49451 */ {(13<<2)|2,{69,102,0}}, +/* 49452 */ {(13<<2)|2,{69,102,0}}, +/* 49453 */ {(13<<2)|2,{69,102,0}}, +/* 49454 */ {(13<<2)|2,{69,102,0}}, +/* 49455 */ {(13<<2)|2,{69,102,0}}, +/* 49456 */ {(13<<2)|2,{69,103,0}}, +/* 49457 */ {(13<<2)|2,{69,103,0}}, +/* 49458 */ {(13<<2)|2,{69,103,0}}, +/* 49459 */ {(13<<2)|2,{69,103,0}}, +/* 49460 */ {(13<<2)|2,{69,103,0}}, +/* 49461 */ {(13<<2)|2,{69,103,0}}, +/* 49462 */ {(13<<2)|2,{69,103,0}}, +/* 49463 */ {(13<<2)|2,{69,103,0}}, +/* 49464 */ {(13<<2)|2,{69,104,0}}, +/* 49465 */ {(13<<2)|2,{69,104,0}}, +/* 49466 */ {(13<<2)|2,{69,104,0}}, +/* 49467 */ {(13<<2)|2,{69,104,0}}, +/* 49468 */ {(13<<2)|2,{69,104,0}}, +/* 49469 */ {(13<<2)|2,{69,104,0}}, +/* 49470 */ {(13<<2)|2,{69,104,0}}, +/* 49471 */ {(13<<2)|2,{69,104,0}}, +/* 49472 */ {(13<<2)|2,{69,108,0}}, +/* 49473 */ {(13<<2)|2,{69,108,0}}, +/* 49474 */ {(13<<2)|2,{69,108,0}}, +/* 49475 */ {(13<<2)|2,{69,108,0}}, +/* 49476 */ {(13<<2)|2,{69,108,0}}, +/* 49477 */ {(13<<2)|2,{69,108,0}}, +/* 49478 */ {(13<<2)|2,{69,108,0}}, +/* 49479 */ {(13<<2)|2,{69,108,0}}, +/* 49480 */ {(13<<2)|2,{69,109,0}}, +/* 49481 */ {(13<<2)|2,{69,109,0}}, +/* 49482 */ {(13<<2)|2,{69,109,0}}, +/* 49483 */ {(13<<2)|2,{69,109,0}}, +/* 49484 */ {(13<<2)|2,{69,109,0}}, +/* 49485 */ {(13<<2)|2,{69,109,0}}, +/* 49486 */ {(13<<2)|2,{69,109,0}}, +/* 49487 */ {(13<<2)|2,{69,109,0}}, +/* 49488 */ {(13<<2)|2,{69,110,0}}, +/* 49489 */ {(13<<2)|2,{69,110,0}}, +/* 49490 */ {(13<<2)|2,{69,110,0}}, +/* 49491 */ {(13<<2)|2,{69,110,0}}, +/* 49492 */ {(13<<2)|2,{69,110,0}}, +/* 49493 */ {(13<<2)|2,{69,110,0}}, +/* 49494 */ {(13<<2)|2,{69,110,0}}, +/* 49495 */ {(13<<2)|2,{69,110,0}}, +/* 49496 */ {(13<<2)|2,{69,112,0}}, +/* 49497 */ {(13<<2)|2,{69,112,0}}, +/* 49498 */ {(13<<2)|2,{69,112,0}}, +/* 49499 */ {(13<<2)|2,{69,112,0}}, +/* 49500 */ {(13<<2)|2,{69,112,0}}, +/* 49501 */ {(13<<2)|2,{69,112,0}}, +/* 49502 */ {(13<<2)|2,{69,112,0}}, +/* 49503 */ {(13<<2)|2,{69,112,0}}, +/* 49504 */ {(13<<2)|2,{69,114,0}}, +/* 49505 */ {(13<<2)|2,{69,114,0}}, +/* 49506 */ {(13<<2)|2,{69,114,0}}, +/* 49507 */ {(13<<2)|2,{69,114,0}}, +/* 49508 */ {(13<<2)|2,{69,114,0}}, +/* 49509 */ {(13<<2)|2,{69,114,0}}, +/* 49510 */ {(13<<2)|2,{69,114,0}}, +/* 49511 */ {(13<<2)|2,{69,114,0}}, +/* 49512 */ {(13<<2)|2,{69,117,0}}, +/* 49513 */ {(13<<2)|2,{69,117,0}}, +/* 49514 */ {(13<<2)|2,{69,117,0}}, +/* 49515 */ {(13<<2)|2,{69,117,0}}, +/* 49516 */ {(13<<2)|2,{69,117,0}}, +/* 49517 */ {(13<<2)|2,{69,117,0}}, +/* 49518 */ {(13<<2)|2,{69,117,0}}, +/* 49519 */ {(13<<2)|2,{69,117,0}}, +/* 49520 */ {(14<<2)|2,{69,58,0}}, +/* 49521 */ {(14<<2)|2,{69,58,0}}, +/* 49522 */ {(14<<2)|2,{69,58,0}}, +/* 49523 */ {(14<<2)|2,{69,58,0}}, +/* 49524 */ {(14<<2)|2,{69,66,0}}, +/* 49525 */ {(14<<2)|2,{69,66,0}}, +/* 49526 */ {(14<<2)|2,{69,66,0}}, +/* 49527 */ {(14<<2)|2,{69,66,0}}, +/* 49528 */ {(14<<2)|2,{69,67,0}}, +/* 49529 */ {(14<<2)|2,{69,67,0}}, +/* 49530 */ {(14<<2)|2,{69,67,0}}, +/* 49531 */ {(14<<2)|2,{69,67,0}}, +/* 49532 */ {(14<<2)|2,{69,68,0}}, +/* 49533 */ {(14<<2)|2,{69,68,0}}, +/* 49534 */ {(14<<2)|2,{69,68,0}}, +/* 49535 */ {(14<<2)|2,{69,68,0}}, +/* 49536 */ {(14<<2)|2,{69,69,0}}, +/* 49537 */ {(14<<2)|2,{69,69,0}}, +/* 49538 */ {(14<<2)|2,{69,69,0}}, +/* 49539 */ {(14<<2)|2,{69,69,0}}, +/* 49540 */ {(14<<2)|2,{69,70,0}}, +/* 49541 */ {(14<<2)|2,{69,70,0}}, +/* 49542 */ {(14<<2)|2,{69,70,0}}, +/* 49543 */ {(14<<2)|2,{69,70,0}}, +/* 49544 */ {(14<<2)|2,{69,71,0}}, +/* 49545 */ {(14<<2)|2,{69,71,0}}, +/* 49546 */ {(14<<2)|2,{69,71,0}}, +/* 49547 */ {(14<<2)|2,{69,71,0}}, +/* 49548 */ {(14<<2)|2,{69,72,0}}, +/* 49549 */ {(14<<2)|2,{69,72,0}}, +/* 49550 */ {(14<<2)|2,{69,72,0}}, +/* 49551 */ {(14<<2)|2,{69,72,0}}, +/* 49552 */ {(14<<2)|2,{69,73,0}}, +/* 49553 */ {(14<<2)|2,{69,73,0}}, +/* 49554 */ {(14<<2)|2,{69,73,0}}, +/* 49555 */ {(14<<2)|2,{69,73,0}}, +/* 49556 */ {(14<<2)|2,{69,74,0}}, +/* 49557 */ {(14<<2)|2,{69,74,0}}, +/* 49558 */ {(14<<2)|2,{69,74,0}}, +/* 49559 */ {(14<<2)|2,{69,74,0}}, +/* 49560 */ {(14<<2)|2,{69,75,0}}, +/* 49561 */ {(14<<2)|2,{69,75,0}}, +/* 49562 */ {(14<<2)|2,{69,75,0}}, +/* 49563 */ {(14<<2)|2,{69,75,0}}, +/* 49564 */ {(14<<2)|2,{69,76,0}}, +/* 49565 */ {(14<<2)|2,{69,76,0}}, +/* 49566 */ {(14<<2)|2,{69,76,0}}, +/* 49567 */ {(14<<2)|2,{69,76,0}}, +/* 49568 */ {(14<<2)|2,{69,77,0}}, +/* 49569 */ {(14<<2)|2,{69,77,0}}, +/* 49570 */ {(14<<2)|2,{69,77,0}}, +/* 49571 */ {(14<<2)|2,{69,77,0}}, +/* 49572 */ {(14<<2)|2,{69,78,0}}, +/* 49573 */ {(14<<2)|2,{69,78,0}}, +/* 49574 */ {(14<<2)|2,{69,78,0}}, +/* 49575 */ {(14<<2)|2,{69,78,0}}, +/* 49576 */ {(14<<2)|2,{69,79,0}}, +/* 49577 */ {(14<<2)|2,{69,79,0}}, +/* 49578 */ {(14<<2)|2,{69,79,0}}, +/* 49579 */ {(14<<2)|2,{69,79,0}}, +/* 49580 */ {(14<<2)|2,{69,80,0}}, +/* 49581 */ {(14<<2)|2,{69,80,0}}, +/* 49582 */ {(14<<2)|2,{69,80,0}}, +/* 49583 */ {(14<<2)|2,{69,80,0}}, +/* 49584 */ {(14<<2)|2,{69,81,0}}, +/* 49585 */ {(14<<2)|2,{69,81,0}}, +/* 49586 */ {(14<<2)|2,{69,81,0}}, +/* 49587 */ {(14<<2)|2,{69,81,0}}, +/* 49588 */ {(14<<2)|2,{69,82,0}}, +/* 49589 */ {(14<<2)|2,{69,82,0}}, +/* 49590 */ {(14<<2)|2,{69,82,0}}, +/* 49591 */ {(14<<2)|2,{69,82,0}}, +/* 49592 */ {(14<<2)|2,{69,83,0}}, +/* 49593 */ {(14<<2)|2,{69,83,0}}, +/* 49594 */ {(14<<2)|2,{69,83,0}}, +/* 49595 */ {(14<<2)|2,{69,83,0}}, +/* 49596 */ {(14<<2)|2,{69,84,0}}, +/* 49597 */ {(14<<2)|2,{69,84,0}}, +/* 49598 */ {(14<<2)|2,{69,84,0}}, +/* 49599 */ {(14<<2)|2,{69,84,0}}, +/* 49600 */ {(14<<2)|2,{69,85,0}}, +/* 49601 */ {(14<<2)|2,{69,85,0}}, +/* 49602 */ {(14<<2)|2,{69,85,0}}, +/* 49603 */ {(14<<2)|2,{69,85,0}}, +/* 49604 */ {(14<<2)|2,{69,86,0}}, +/* 49605 */ {(14<<2)|2,{69,86,0}}, +/* 49606 */ {(14<<2)|2,{69,86,0}}, +/* 49607 */ {(14<<2)|2,{69,86,0}}, +/* 49608 */ {(14<<2)|2,{69,87,0}}, +/* 49609 */ {(14<<2)|2,{69,87,0}}, +/* 49610 */ {(14<<2)|2,{69,87,0}}, +/* 49611 */ {(14<<2)|2,{69,87,0}}, +/* 49612 */ {(14<<2)|2,{69,89,0}}, +/* 49613 */ {(14<<2)|2,{69,89,0}}, +/* 49614 */ {(14<<2)|2,{69,89,0}}, +/* 49615 */ {(14<<2)|2,{69,89,0}}, +/* 49616 */ {(14<<2)|2,{69,106,0}}, +/* 49617 */ {(14<<2)|2,{69,106,0}}, +/* 49618 */ {(14<<2)|2,{69,106,0}}, +/* 49619 */ {(14<<2)|2,{69,106,0}}, +/* 49620 */ {(14<<2)|2,{69,107,0}}, +/* 49621 */ {(14<<2)|2,{69,107,0}}, +/* 49622 */ {(14<<2)|2,{69,107,0}}, +/* 49623 */ {(14<<2)|2,{69,107,0}}, +/* 49624 */ {(14<<2)|2,{69,113,0}}, +/* 49625 */ {(14<<2)|2,{69,113,0}}, +/* 49626 */ {(14<<2)|2,{69,113,0}}, +/* 49627 */ {(14<<2)|2,{69,113,0}}, +/* 49628 */ {(14<<2)|2,{69,118,0}}, +/* 49629 */ {(14<<2)|2,{69,118,0}}, +/* 49630 */ {(14<<2)|2,{69,118,0}}, +/* 49631 */ {(14<<2)|2,{69,118,0}}, +/* 49632 */ {(14<<2)|2,{69,119,0}}, +/* 49633 */ {(14<<2)|2,{69,119,0}}, +/* 49634 */ {(14<<2)|2,{69,119,0}}, +/* 49635 */ {(14<<2)|2,{69,119,0}}, +/* 49636 */ {(14<<2)|2,{69,120,0}}, +/* 49637 */ {(14<<2)|2,{69,120,0}}, +/* 49638 */ {(14<<2)|2,{69,120,0}}, +/* 49639 */ {(14<<2)|2,{69,120,0}}, +/* 49640 */ {(14<<2)|2,{69,121,0}}, +/* 49641 */ {(14<<2)|2,{69,121,0}}, +/* 49642 */ {(14<<2)|2,{69,121,0}}, +/* 49643 */ {(14<<2)|2,{69,121,0}}, +/* 49644 */ {(14<<2)|2,{69,122,0}}, +/* 49645 */ {(14<<2)|2,{69,122,0}}, +/* 49646 */ {(14<<2)|2,{69,122,0}}, +/* 49647 */ {(14<<2)|2,{69,122,0}}, +/* 49648 */ {(15<<2)|2,{69,38,0}}, +/* 49649 */ {(15<<2)|2,{69,38,0}}, +/* 49650 */ {(15<<2)|2,{69,42,0}}, +/* 49651 */ {(15<<2)|2,{69,42,0}}, +/* 49652 */ {(15<<2)|2,{69,44,0}}, +/* 49653 */ {(15<<2)|2,{69,44,0}}, +/* 49654 */ {(15<<2)|2,{69,59,0}}, +/* 49655 */ {(15<<2)|2,{69,59,0}}, +/* 49656 */ {(15<<2)|2,{69,88,0}}, +/* 49657 */ {(15<<2)|2,{69,88,0}}, +/* 49658 */ {(15<<2)|2,{69,90,0}}, +/* 49659 */ {(15<<2)|2,{69,90,0}}, +/* 49660 */ {(7<<2)|1,{69,0,0}}, +/* 49661 */ {(7<<2)|1,{69,0,0}}, +/* 49662 */ {(7<<2)|1,{69,0,0}}, +/* 49663 */ {(7<<2)|1,{69,0,0}}, +/* 49664 */ {(12<<2)|2,{70,48,0}}, +/* 49665 */ {(12<<2)|2,{70,48,0}}, +/* 49666 */ {(12<<2)|2,{70,48,0}}, +/* 49667 */ {(12<<2)|2,{70,48,0}}, +/* 49668 */ {(12<<2)|2,{70,48,0}}, +/* 49669 */ {(12<<2)|2,{70,48,0}}, +/* 49670 */ {(12<<2)|2,{70,48,0}}, +/* 49671 */ {(12<<2)|2,{70,48,0}}, +/* 49672 */ {(12<<2)|2,{70,48,0}}, +/* 49673 */ {(12<<2)|2,{70,48,0}}, +/* 49674 */ {(12<<2)|2,{70,48,0}}, +/* 49675 */ {(12<<2)|2,{70,48,0}}, +/* 49676 */ {(12<<2)|2,{70,48,0}}, +/* 49677 */ {(12<<2)|2,{70,48,0}}, +/* 49678 */ {(12<<2)|2,{70,48,0}}, +/* 49679 */ {(12<<2)|2,{70,48,0}}, +/* 49680 */ {(12<<2)|2,{70,49,0}}, +/* 49681 */ {(12<<2)|2,{70,49,0}}, +/* 49682 */ {(12<<2)|2,{70,49,0}}, +/* 49683 */ {(12<<2)|2,{70,49,0}}, +/* 49684 */ {(12<<2)|2,{70,49,0}}, +/* 49685 */ {(12<<2)|2,{70,49,0}}, +/* 49686 */ {(12<<2)|2,{70,49,0}}, +/* 49687 */ {(12<<2)|2,{70,49,0}}, +/* 49688 */ {(12<<2)|2,{70,49,0}}, +/* 49689 */ {(12<<2)|2,{70,49,0}}, +/* 49690 */ {(12<<2)|2,{70,49,0}}, +/* 49691 */ {(12<<2)|2,{70,49,0}}, +/* 49692 */ {(12<<2)|2,{70,49,0}}, +/* 49693 */ {(12<<2)|2,{70,49,0}}, +/* 49694 */ {(12<<2)|2,{70,49,0}}, +/* 49695 */ {(12<<2)|2,{70,49,0}}, +/* 49696 */ {(12<<2)|2,{70,50,0}}, +/* 49697 */ {(12<<2)|2,{70,50,0}}, +/* 49698 */ {(12<<2)|2,{70,50,0}}, +/* 49699 */ {(12<<2)|2,{70,50,0}}, +/* 49700 */ {(12<<2)|2,{70,50,0}}, +/* 49701 */ {(12<<2)|2,{70,50,0}}, +/* 49702 */ {(12<<2)|2,{70,50,0}}, +/* 49703 */ {(12<<2)|2,{70,50,0}}, +/* 49704 */ {(12<<2)|2,{70,50,0}}, +/* 49705 */ {(12<<2)|2,{70,50,0}}, +/* 49706 */ {(12<<2)|2,{70,50,0}}, +/* 49707 */ {(12<<2)|2,{70,50,0}}, +/* 49708 */ {(12<<2)|2,{70,50,0}}, +/* 49709 */ {(12<<2)|2,{70,50,0}}, +/* 49710 */ {(12<<2)|2,{70,50,0}}, +/* 49711 */ {(12<<2)|2,{70,50,0}}, +/* 49712 */ {(12<<2)|2,{70,97,0}}, +/* 49713 */ {(12<<2)|2,{70,97,0}}, +/* 49714 */ {(12<<2)|2,{70,97,0}}, +/* 49715 */ {(12<<2)|2,{70,97,0}}, +/* 49716 */ {(12<<2)|2,{70,97,0}}, +/* 49717 */ {(12<<2)|2,{70,97,0}}, +/* 49718 */ {(12<<2)|2,{70,97,0}}, +/* 49719 */ {(12<<2)|2,{70,97,0}}, +/* 49720 */ {(12<<2)|2,{70,97,0}}, +/* 49721 */ {(12<<2)|2,{70,97,0}}, +/* 49722 */ {(12<<2)|2,{70,97,0}}, +/* 49723 */ {(12<<2)|2,{70,97,0}}, +/* 49724 */ {(12<<2)|2,{70,97,0}}, +/* 49725 */ {(12<<2)|2,{70,97,0}}, +/* 49726 */ {(12<<2)|2,{70,97,0}}, +/* 49727 */ {(12<<2)|2,{70,97,0}}, +/* 49728 */ {(12<<2)|2,{70,99,0}}, +/* 49729 */ {(12<<2)|2,{70,99,0}}, +/* 49730 */ {(12<<2)|2,{70,99,0}}, +/* 49731 */ {(12<<2)|2,{70,99,0}}, +/* 49732 */ {(12<<2)|2,{70,99,0}}, +/* 49733 */ {(12<<2)|2,{70,99,0}}, +/* 49734 */ {(12<<2)|2,{70,99,0}}, +/* 49735 */ {(12<<2)|2,{70,99,0}}, +/* 49736 */ {(12<<2)|2,{70,99,0}}, +/* 49737 */ {(12<<2)|2,{70,99,0}}, +/* 49738 */ {(12<<2)|2,{70,99,0}}, +/* 49739 */ {(12<<2)|2,{70,99,0}}, +/* 49740 */ {(12<<2)|2,{70,99,0}}, +/* 49741 */ {(12<<2)|2,{70,99,0}}, +/* 49742 */ {(12<<2)|2,{70,99,0}}, +/* 49743 */ {(12<<2)|2,{70,99,0}}, +/* 49744 */ {(12<<2)|2,{70,101,0}}, +/* 49745 */ {(12<<2)|2,{70,101,0}}, +/* 49746 */ {(12<<2)|2,{70,101,0}}, +/* 49747 */ {(12<<2)|2,{70,101,0}}, +/* 49748 */ {(12<<2)|2,{70,101,0}}, +/* 49749 */ {(12<<2)|2,{70,101,0}}, +/* 49750 */ {(12<<2)|2,{70,101,0}}, +/* 49751 */ {(12<<2)|2,{70,101,0}}, +/* 49752 */ {(12<<2)|2,{70,101,0}}, +/* 49753 */ {(12<<2)|2,{70,101,0}}, +/* 49754 */ {(12<<2)|2,{70,101,0}}, +/* 49755 */ {(12<<2)|2,{70,101,0}}, +/* 49756 */ {(12<<2)|2,{70,101,0}}, +/* 49757 */ {(12<<2)|2,{70,101,0}}, +/* 49758 */ {(12<<2)|2,{70,101,0}}, +/* 49759 */ {(12<<2)|2,{70,101,0}}, +/* 49760 */ {(12<<2)|2,{70,105,0}}, +/* 49761 */ {(12<<2)|2,{70,105,0}}, +/* 49762 */ {(12<<2)|2,{70,105,0}}, +/* 49763 */ {(12<<2)|2,{70,105,0}}, +/* 49764 */ {(12<<2)|2,{70,105,0}}, +/* 49765 */ {(12<<2)|2,{70,105,0}}, +/* 49766 */ {(12<<2)|2,{70,105,0}}, +/* 49767 */ {(12<<2)|2,{70,105,0}}, +/* 49768 */ {(12<<2)|2,{70,105,0}}, +/* 49769 */ {(12<<2)|2,{70,105,0}}, +/* 49770 */ {(12<<2)|2,{70,105,0}}, +/* 49771 */ {(12<<2)|2,{70,105,0}}, +/* 49772 */ {(12<<2)|2,{70,105,0}}, +/* 49773 */ {(12<<2)|2,{70,105,0}}, +/* 49774 */ {(12<<2)|2,{70,105,0}}, +/* 49775 */ {(12<<2)|2,{70,105,0}}, +/* 49776 */ {(12<<2)|2,{70,111,0}}, +/* 49777 */ {(12<<2)|2,{70,111,0}}, +/* 49778 */ {(12<<2)|2,{70,111,0}}, +/* 49779 */ {(12<<2)|2,{70,111,0}}, +/* 49780 */ {(12<<2)|2,{70,111,0}}, +/* 49781 */ {(12<<2)|2,{70,111,0}}, +/* 49782 */ {(12<<2)|2,{70,111,0}}, +/* 49783 */ {(12<<2)|2,{70,111,0}}, +/* 49784 */ {(12<<2)|2,{70,111,0}}, +/* 49785 */ {(12<<2)|2,{70,111,0}}, +/* 49786 */ {(12<<2)|2,{70,111,0}}, +/* 49787 */ {(12<<2)|2,{70,111,0}}, +/* 49788 */ {(12<<2)|2,{70,111,0}}, +/* 49789 */ {(12<<2)|2,{70,111,0}}, +/* 49790 */ {(12<<2)|2,{70,111,0}}, +/* 49791 */ {(12<<2)|2,{70,111,0}}, +/* 49792 */ {(12<<2)|2,{70,115,0}}, +/* 49793 */ {(12<<2)|2,{70,115,0}}, +/* 49794 */ {(12<<2)|2,{70,115,0}}, +/* 49795 */ {(12<<2)|2,{70,115,0}}, +/* 49796 */ {(12<<2)|2,{70,115,0}}, +/* 49797 */ {(12<<2)|2,{70,115,0}}, +/* 49798 */ {(12<<2)|2,{70,115,0}}, +/* 49799 */ {(12<<2)|2,{70,115,0}}, +/* 49800 */ {(12<<2)|2,{70,115,0}}, +/* 49801 */ {(12<<2)|2,{70,115,0}}, +/* 49802 */ {(12<<2)|2,{70,115,0}}, +/* 49803 */ {(12<<2)|2,{70,115,0}}, +/* 49804 */ {(12<<2)|2,{70,115,0}}, +/* 49805 */ {(12<<2)|2,{70,115,0}}, +/* 49806 */ {(12<<2)|2,{70,115,0}}, +/* 49807 */ {(12<<2)|2,{70,115,0}}, +/* 49808 */ {(12<<2)|2,{70,116,0}}, +/* 49809 */ {(12<<2)|2,{70,116,0}}, +/* 49810 */ {(12<<2)|2,{70,116,0}}, +/* 49811 */ {(12<<2)|2,{70,116,0}}, +/* 49812 */ {(12<<2)|2,{70,116,0}}, +/* 49813 */ {(12<<2)|2,{70,116,0}}, +/* 49814 */ {(12<<2)|2,{70,116,0}}, +/* 49815 */ {(12<<2)|2,{70,116,0}}, +/* 49816 */ {(12<<2)|2,{70,116,0}}, +/* 49817 */ {(12<<2)|2,{70,116,0}}, +/* 49818 */ {(12<<2)|2,{70,116,0}}, +/* 49819 */ {(12<<2)|2,{70,116,0}}, +/* 49820 */ {(12<<2)|2,{70,116,0}}, +/* 49821 */ {(12<<2)|2,{70,116,0}}, +/* 49822 */ {(12<<2)|2,{70,116,0}}, +/* 49823 */ {(12<<2)|2,{70,116,0}}, +/* 49824 */ {(13<<2)|2,{70,32,0}}, +/* 49825 */ {(13<<2)|2,{70,32,0}}, +/* 49826 */ {(13<<2)|2,{70,32,0}}, +/* 49827 */ {(13<<2)|2,{70,32,0}}, +/* 49828 */ {(13<<2)|2,{70,32,0}}, +/* 49829 */ {(13<<2)|2,{70,32,0}}, +/* 49830 */ {(13<<2)|2,{70,32,0}}, +/* 49831 */ {(13<<2)|2,{70,32,0}}, +/* 49832 */ {(13<<2)|2,{70,37,0}}, +/* 49833 */ {(13<<2)|2,{70,37,0}}, +/* 49834 */ {(13<<2)|2,{70,37,0}}, +/* 49835 */ {(13<<2)|2,{70,37,0}}, +/* 49836 */ {(13<<2)|2,{70,37,0}}, +/* 49837 */ {(13<<2)|2,{70,37,0}}, +/* 49838 */ {(13<<2)|2,{70,37,0}}, +/* 49839 */ {(13<<2)|2,{70,37,0}}, +/* 49840 */ {(13<<2)|2,{70,45,0}}, +/* 49841 */ {(13<<2)|2,{70,45,0}}, +/* 49842 */ {(13<<2)|2,{70,45,0}}, +/* 49843 */ {(13<<2)|2,{70,45,0}}, +/* 49844 */ {(13<<2)|2,{70,45,0}}, +/* 49845 */ {(13<<2)|2,{70,45,0}}, +/* 49846 */ {(13<<2)|2,{70,45,0}}, +/* 49847 */ {(13<<2)|2,{70,45,0}}, +/* 49848 */ {(13<<2)|2,{70,46,0}}, +/* 49849 */ {(13<<2)|2,{70,46,0}}, +/* 49850 */ {(13<<2)|2,{70,46,0}}, +/* 49851 */ {(13<<2)|2,{70,46,0}}, +/* 49852 */ {(13<<2)|2,{70,46,0}}, +/* 49853 */ {(13<<2)|2,{70,46,0}}, +/* 49854 */ {(13<<2)|2,{70,46,0}}, +/* 49855 */ {(13<<2)|2,{70,46,0}}, +/* 49856 */ {(13<<2)|2,{70,47,0}}, +/* 49857 */ {(13<<2)|2,{70,47,0}}, +/* 49858 */ {(13<<2)|2,{70,47,0}}, +/* 49859 */ {(13<<2)|2,{70,47,0}}, +/* 49860 */ {(13<<2)|2,{70,47,0}}, +/* 49861 */ {(13<<2)|2,{70,47,0}}, +/* 49862 */ {(13<<2)|2,{70,47,0}}, +/* 49863 */ {(13<<2)|2,{70,47,0}}, +/* 49864 */ {(13<<2)|2,{70,51,0}}, +/* 49865 */ {(13<<2)|2,{70,51,0}}, +/* 49866 */ {(13<<2)|2,{70,51,0}}, +/* 49867 */ {(13<<2)|2,{70,51,0}}, +/* 49868 */ {(13<<2)|2,{70,51,0}}, +/* 49869 */ {(13<<2)|2,{70,51,0}}, +/* 49870 */ {(13<<2)|2,{70,51,0}}, +/* 49871 */ {(13<<2)|2,{70,51,0}}, +/* 49872 */ {(13<<2)|2,{70,52,0}}, +/* 49873 */ {(13<<2)|2,{70,52,0}}, +/* 49874 */ {(13<<2)|2,{70,52,0}}, +/* 49875 */ {(13<<2)|2,{70,52,0}}, +/* 49876 */ {(13<<2)|2,{70,52,0}}, +/* 49877 */ {(13<<2)|2,{70,52,0}}, +/* 49878 */ {(13<<2)|2,{70,52,0}}, +/* 49879 */ {(13<<2)|2,{70,52,0}}, +/* 49880 */ {(13<<2)|2,{70,53,0}}, +/* 49881 */ {(13<<2)|2,{70,53,0}}, +/* 49882 */ {(13<<2)|2,{70,53,0}}, +/* 49883 */ {(13<<2)|2,{70,53,0}}, +/* 49884 */ {(13<<2)|2,{70,53,0}}, +/* 49885 */ {(13<<2)|2,{70,53,0}}, +/* 49886 */ {(13<<2)|2,{70,53,0}}, +/* 49887 */ {(13<<2)|2,{70,53,0}}, +/* 49888 */ {(13<<2)|2,{70,54,0}}, +/* 49889 */ {(13<<2)|2,{70,54,0}}, +/* 49890 */ {(13<<2)|2,{70,54,0}}, +/* 49891 */ {(13<<2)|2,{70,54,0}}, +/* 49892 */ {(13<<2)|2,{70,54,0}}, +/* 49893 */ {(13<<2)|2,{70,54,0}}, +/* 49894 */ {(13<<2)|2,{70,54,0}}, +/* 49895 */ {(13<<2)|2,{70,54,0}}, +/* 49896 */ {(13<<2)|2,{70,55,0}}, +/* 49897 */ {(13<<2)|2,{70,55,0}}, +/* 49898 */ {(13<<2)|2,{70,55,0}}, +/* 49899 */ {(13<<2)|2,{70,55,0}}, +/* 49900 */ {(13<<2)|2,{70,55,0}}, +/* 49901 */ {(13<<2)|2,{70,55,0}}, +/* 49902 */ {(13<<2)|2,{70,55,0}}, +/* 49903 */ {(13<<2)|2,{70,55,0}}, +/* 49904 */ {(13<<2)|2,{70,56,0}}, +/* 49905 */ {(13<<2)|2,{70,56,0}}, +/* 49906 */ {(13<<2)|2,{70,56,0}}, +/* 49907 */ {(13<<2)|2,{70,56,0}}, +/* 49908 */ {(13<<2)|2,{70,56,0}}, +/* 49909 */ {(13<<2)|2,{70,56,0}}, +/* 49910 */ {(13<<2)|2,{70,56,0}}, +/* 49911 */ {(13<<2)|2,{70,56,0}}, +/* 49912 */ {(13<<2)|2,{70,57,0}}, +/* 49913 */ {(13<<2)|2,{70,57,0}}, +/* 49914 */ {(13<<2)|2,{70,57,0}}, +/* 49915 */ {(13<<2)|2,{70,57,0}}, +/* 49916 */ {(13<<2)|2,{70,57,0}}, +/* 49917 */ {(13<<2)|2,{70,57,0}}, +/* 49918 */ {(13<<2)|2,{70,57,0}}, +/* 49919 */ {(13<<2)|2,{70,57,0}}, +/* 49920 */ {(13<<2)|2,{70,61,0}}, +/* 49921 */ {(13<<2)|2,{70,61,0}}, +/* 49922 */ {(13<<2)|2,{70,61,0}}, +/* 49923 */ {(13<<2)|2,{70,61,0}}, +/* 49924 */ {(13<<2)|2,{70,61,0}}, +/* 49925 */ {(13<<2)|2,{70,61,0}}, +/* 49926 */ {(13<<2)|2,{70,61,0}}, +/* 49927 */ {(13<<2)|2,{70,61,0}}, +/* 49928 */ {(13<<2)|2,{70,65,0}}, +/* 49929 */ {(13<<2)|2,{70,65,0}}, +/* 49930 */ {(13<<2)|2,{70,65,0}}, +/* 49931 */ {(13<<2)|2,{70,65,0}}, +/* 49932 */ {(13<<2)|2,{70,65,0}}, +/* 49933 */ {(13<<2)|2,{70,65,0}}, +/* 49934 */ {(13<<2)|2,{70,65,0}}, +/* 49935 */ {(13<<2)|2,{70,65,0}}, +/* 49936 */ {(13<<2)|2,{70,95,0}}, +/* 49937 */ {(13<<2)|2,{70,95,0}}, +/* 49938 */ {(13<<2)|2,{70,95,0}}, +/* 49939 */ {(13<<2)|2,{70,95,0}}, +/* 49940 */ {(13<<2)|2,{70,95,0}}, +/* 49941 */ {(13<<2)|2,{70,95,0}}, +/* 49942 */ {(13<<2)|2,{70,95,0}}, +/* 49943 */ {(13<<2)|2,{70,95,0}}, +/* 49944 */ {(13<<2)|2,{70,98,0}}, +/* 49945 */ {(13<<2)|2,{70,98,0}}, +/* 49946 */ {(13<<2)|2,{70,98,0}}, +/* 49947 */ {(13<<2)|2,{70,98,0}}, +/* 49948 */ {(13<<2)|2,{70,98,0}}, +/* 49949 */ {(13<<2)|2,{70,98,0}}, +/* 49950 */ {(13<<2)|2,{70,98,0}}, +/* 49951 */ {(13<<2)|2,{70,98,0}}, +/* 49952 */ {(13<<2)|2,{70,100,0}}, +/* 49953 */ {(13<<2)|2,{70,100,0}}, +/* 49954 */ {(13<<2)|2,{70,100,0}}, +/* 49955 */ {(13<<2)|2,{70,100,0}}, +/* 49956 */ {(13<<2)|2,{70,100,0}}, +/* 49957 */ {(13<<2)|2,{70,100,0}}, +/* 49958 */ {(13<<2)|2,{70,100,0}}, +/* 49959 */ {(13<<2)|2,{70,100,0}}, +/* 49960 */ {(13<<2)|2,{70,102,0}}, +/* 49961 */ {(13<<2)|2,{70,102,0}}, +/* 49962 */ {(13<<2)|2,{70,102,0}}, +/* 49963 */ {(13<<2)|2,{70,102,0}}, +/* 49964 */ {(13<<2)|2,{70,102,0}}, +/* 49965 */ {(13<<2)|2,{70,102,0}}, +/* 49966 */ {(13<<2)|2,{70,102,0}}, +/* 49967 */ {(13<<2)|2,{70,102,0}}, +/* 49968 */ {(13<<2)|2,{70,103,0}}, +/* 49969 */ {(13<<2)|2,{70,103,0}}, +/* 49970 */ {(13<<2)|2,{70,103,0}}, +/* 49971 */ {(13<<2)|2,{70,103,0}}, +/* 49972 */ {(13<<2)|2,{70,103,0}}, +/* 49973 */ {(13<<2)|2,{70,103,0}}, +/* 49974 */ {(13<<2)|2,{70,103,0}}, +/* 49975 */ {(13<<2)|2,{70,103,0}}, +/* 49976 */ {(13<<2)|2,{70,104,0}}, +/* 49977 */ {(13<<2)|2,{70,104,0}}, +/* 49978 */ {(13<<2)|2,{70,104,0}}, +/* 49979 */ {(13<<2)|2,{70,104,0}}, +/* 49980 */ {(13<<2)|2,{70,104,0}}, +/* 49981 */ {(13<<2)|2,{70,104,0}}, +/* 49982 */ {(13<<2)|2,{70,104,0}}, +/* 49983 */ {(13<<2)|2,{70,104,0}}, +/* 49984 */ {(13<<2)|2,{70,108,0}}, +/* 49985 */ {(13<<2)|2,{70,108,0}}, +/* 49986 */ {(13<<2)|2,{70,108,0}}, +/* 49987 */ {(13<<2)|2,{70,108,0}}, +/* 49988 */ {(13<<2)|2,{70,108,0}}, +/* 49989 */ {(13<<2)|2,{70,108,0}}, +/* 49990 */ {(13<<2)|2,{70,108,0}}, +/* 49991 */ {(13<<2)|2,{70,108,0}}, +/* 49992 */ {(13<<2)|2,{70,109,0}}, +/* 49993 */ {(13<<2)|2,{70,109,0}}, +/* 49994 */ {(13<<2)|2,{70,109,0}}, +/* 49995 */ {(13<<2)|2,{70,109,0}}, +/* 49996 */ {(13<<2)|2,{70,109,0}}, +/* 49997 */ {(13<<2)|2,{70,109,0}}, +/* 49998 */ {(13<<2)|2,{70,109,0}}, +/* 49999 */ {(13<<2)|2,{70,109,0}}, +/* 50000 */ {(13<<2)|2,{70,110,0}}, +/* 50001 */ {(13<<2)|2,{70,110,0}}, +/* 50002 */ {(13<<2)|2,{70,110,0}}, +/* 50003 */ {(13<<2)|2,{70,110,0}}, +/* 50004 */ {(13<<2)|2,{70,110,0}}, +/* 50005 */ {(13<<2)|2,{70,110,0}}, +/* 50006 */ {(13<<2)|2,{70,110,0}}, +/* 50007 */ {(13<<2)|2,{70,110,0}}, +/* 50008 */ {(13<<2)|2,{70,112,0}}, +/* 50009 */ {(13<<2)|2,{70,112,0}}, +/* 50010 */ {(13<<2)|2,{70,112,0}}, +/* 50011 */ {(13<<2)|2,{70,112,0}}, +/* 50012 */ {(13<<2)|2,{70,112,0}}, +/* 50013 */ {(13<<2)|2,{70,112,0}}, +/* 50014 */ {(13<<2)|2,{70,112,0}}, +/* 50015 */ {(13<<2)|2,{70,112,0}}, +/* 50016 */ {(13<<2)|2,{70,114,0}}, +/* 50017 */ {(13<<2)|2,{70,114,0}}, +/* 50018 */ {(13<<2)|2,{70,114,0}}, +/* 50019 */ {(13<<2)|2,{70,114,0}}, +/* 50020 */ {(13<<2)|2,{70,114,0}}, +/* 50021 */ {(13<<2)|2,{70,114,0}}, +/* 50022 */ {(13<<2)|2,{70,114,0}}, +/* 50023 */ {(13<<2)|2,{70,114,0}}, +/* 50024 */ {(13<<2)|2,{70,117,0}}, +/* 50025 */ {(13<<2)|2,{70,117,0}}, +/* 50026 */ {(13<<2)|2,{70,117,0}}, +/* 50027 */ {(13<<2)|2,{70,117,0}}, +/* 50028 */ {(13<<2)|2,{70,117,0}}, +/* 50029 */ {(13<<2)|2,{70,117,0}}, +/* 50030 */ {(13<<2)|2,{70,117,0}}, +/* 50031 */ {(13<<2)|2,{70,117,0}}, +/* 50032 */ {(14<<2)|2,{70,58,0}}, +/* 50033 */ {(14<<2)|2,{70,58,0}}, +/* 50034 */ {(14<<2)|2,{70,58,0}}, +/* 50035 */ {(14<<2)|2,{70,58,0}}, +/* 50036 */ {(14<<2)|2,{70,66,0}}, +/* 50037 */ {(14<<2)|2,{70,66,0}}, +/* 50038 */ {(14<<2)|2,{70,66,0}}, +/* 50039 */ {(14<<2)|2,{70,66,0}}, +/* 50040 */ {(14<<2)|2,{70,67,0}}, +/* 50041 */ {(14<<2)|2,{70,67,0}}, +/* 50042 */ {(14<<2)|2,{70,67,0}}, +/* 50043 */ {(14<<2)|2,{70,67,0}}, +/* 50044 */ {(14<<2)|2,{70,68,0}}, +/* 50045 */ {(14<<2)|2,{70,68,0}}, +/* 50046 */ {(14<<2)|2,{70,68,0}}, +/* 50047 */ {(14<<2)|2,{70,68,0}}, +/* 50048 */ {(14<<2)|2,{70,69,0}}, +/* 50049 */ {(14<<2)|2,{70,69,0}}, +/* 50050 */ {(14<<2)|2,{70,69,0}}, +/* 50051 */ {(14<<2)|2,{70,69,0}}, +/* 50052 */ {(14<<2)|2,{70,70,0}}, +/* 50053 */ {(14<<2)|2,{70,70,0}}, +/* 50054 */ {(14<<2)|2,{70,70,0}}, +/* 50055 */ {(14<<2)|2,{70,70,0}}, +/* 50056 */ {(14<<2)|2,{70,71,0}}, +/* 50057 */ {(14<<2)|2,{70,71,0}}, +/* 50058 */ {(14<<2)|2,{70,71,0}}, +/* 50059 */ {(14<<2)|2,{70,71,0}}, +/* 50060 */ {(14<<2)|2,{70,72,0}}, +/* 50061 */ {(14<<2)|2,{70,72,0}}, +/* 50062 */ {(14<<2)|2,{70,72,0}}, +/* 50063 */ {(14<<2)|2,{70,72,0}}, +/* 50064 */ {(14<<2)|2,{70,73,0}}, +/* 50065 */ {(14<<2)|2,{70,73,0}}, +/* 50066 */ {(14<<2)|2,{70,73,0}}, +/* 50067 */ {(14<<2)|2,{70,73,0}}, +/* 50068 */ {(14<<2)|2,{70,74,0}}, +/* 50069 */ {(14<<2)|2,{70,74,0}}, +/* 50070 */ {(14<<2)|2,{70,74,0}}, +/* 50071 */ {(14<<2)|2,{70,74,0}}, +/* 50072 */ {(14<<2)|2,{70,75,0}}, +/* 50073 */ {(14<<2)|2,{70,75,0}}, +/* 50074 */ {(14<<2)|2,{70,75,0}}, +/* 50075 */ {(14<<2)|2,{70,75,0}}, +/* 50076 */ {(14<<2)|2,{70,76,0}}, +/* 50077 */ {(14<<2)|2,{70,76,0}}, +/* 50078 */ {(14<<2)|2,{70,76,0}}, +/* 50079 */ {(14<<2)|2,{70,76,0}}, +/* 50080 */ {(14<<2)|2,{70,77,0}}, +/* 50081 */ {(14<<2)|2,{70,77,0}}, +/* 50082 */ {(14<<2)|2,{70,77,0}}, +/* 50083 */ {(14<<2)|2,{70,77,0}}, +/* 50084 */ {(14<<2)|2,{70,78,0}}, +/* 50085 */ {(14<<2)|2,{70,78,0}}, +/* 50086 */ {(14<<2)|2,{70,78,0}}, +/* 50087 */ {(14<<2)|2,{70,78,0}}, +/* 50088 */ {(14<<2)|2,{70,79,0}}, +/* 50089 */ {(14<<2)|2,{70,79,0}}, +/* 50090 */ {(14<<2)|2,{70,79,0}}, +/* 50091 */ {(14<<2)|2,{70,79,0}}, +/* 50092 */ {(14<<2)|2,{70,80,0}}, +/* 50093 */ {(14<<2)|2,{70,80,0}}, +/* 50094 */ {(14<<2)|2,{70,80,0}}, +/* 50095 */ {(14<<2)|2,{70,80,0}}, +/* 50096 */ {(14<<2)|2,{70,81,0}}, +/* 50097 */ {(14<<2)|2,{70,81,0}}, +/* 50098 */ {(14<<2)|2,{70,81,0}}, +/* 50099 */ {(14<<2)|2,{70,81,0}}, +/* 50100 */ {(14<<2)|2,{70,82,0}}, +/* 50101 */ {(14<<2)|2,{70,82,0}}, +/* 50102 */ {(14<<2)|2,{70,82,0}}, +/* 50103 */ {(14<<2)|2,{70,82,0}}, +/* 50104 */ {(14<<2)|2,{70,83,0}}, +/* 50105 */ {(14<<2)|2,{70,83,0}}, +/* 50106 */ {(14<<2)|2,{70,83,0}}, +/* 50107 */ {(14<<2)|2,{70,83,0}}, +/* 50108 */ {(14<<2)|2,{70,84,0}}, +/* 50109 */ {(14<<2)|2,{70,84,0}}, +/* 50110 */ {(14<<2)|2,{70,84,0}}, +/* 50111 */ {(14<<2)|2,{70,84,0}}, +/* 50112 */ {(14<<2)|2,{70,85,0}}, +/* 50113 */ {(14<<2)|2,{70,85,0}}, +/* 50114 */ {(14<<2)|2,{70,85,0}}, +/* 50115 */ {(14<<2)|2,{70,85,0}}, +/* 50116 */ {(14<<2)|2,{70,86,0}}, +/* 50117 */ {(14<<2)|2,{70,86,0}}, +/* 50118 */ {(14<<2)|2,{70,86,0}}, +/* 50119 */ {(14<<2)|2,{70,86,0}}, +/* 50120 */ {(14<<2)|2,{70,87,0}}, +/* 50121 */ {(14<<2)|2,{70,87,0}}, +/* 50122 */ {(14<<2)|2,{70,87,0}}, +/* 50123 */ {(14<<2)|2,{70,87,0}}, +/* 50124 */ {(14<<2)|2,{70,89,0}}, +/* 50125 */ {(14<<2)|2,{70,89,0}}, +/* 50126 */ {(14<<2)|2,{70,89,0}}, +/* 50127 */ {(14<<2)|2,{70,89,0}}, +/* 50128 */ {(14<<2)|2,{70,106,0}}, +/* 50129 */ {(14<<2)|2,{70,106,0}}, +/* 50130 */ {(14<<2)|2,{70,106,0}}, +/* 50131 */ {(14<<2)|2,{70,106,0}}, +/* 50132 */ {(14<<2)|2,{70,107,0}}, +/* 50133 */ {(14<<2)|2,{70,107,0}}, +/* 50134 */ {(14<<2)|2,{70,107,0}}, +/* 50135 */ {(14<<2)|2,{70,107,0}}, +/* 50136 */ {(14<<2)|2,{70,113,0}}, +/* 50137 */ {(14<<2)|2,{70,113,0}}, +/* 50138 */ {(14<<2)|2,{70,113,0}}, +/* 50139 */ {(14<<2)|2,{70,113,0}}, +/* 50140 */ {(14<<2)|2,{70,118,0}}, +/* 50141 */ {(14<<2)|2,{70,118,0}}, +/* 50142 */ {(14<<2)|2,{70,118,0}}, +/* 50143 */ {(14<<2)|2,{70,118,0}}, +/* 50144 */ {(14<<2)|2,{70,119,0}}, +/* 50145 */ {(14<<2)|2,{70,119,0}}, +/* 50146 */ {(14<<2)|2,{70,119,0}}, +/* 50147 */ {(14<<2)|2,{70,119,0}}, +/* 50148 */ {(14<<2)|2,{70,120,0}}, +/* 50149 */ {(14<<2)|2,{70,120,0}}, +/* 50150 */ {(14<<2)|2,{70,120,0}}, +/* 50151 */ {(14<<2)|2,{70,120,0}}, +/* 50152 */ {(14<<2)|2,{70,121,0}}, +/* 50153 */ {(14<<2)|2,{70,121,0}}, +/* 50154 */ {(14<<2)|2,{70,121,0}}, +/* 50155 */ {(14<<2)|2,{70,121,0}}, +/* 50156 */ {(14<<2)|2,{70,122,0}}, +/* 50157 */ {(14<<2)|2,{70,122,0}}, +/* 50158 */ {(14<<2)|2,{70,122,0}}, +/* 50159 */ {(14<<2)|2,{70,122,0}}, +/* 50160 */ {(15<<2)|2,{70,38,0}}, +/* 50161 */ {(15<<2)|2,{70,38,0}}, +/* 50162 */ {(15<<2)|2,{70,42,0}}, +/* 50163 */ {(15<<2)|2,{70,42,0}}, +/* 50164 */ {(15<<2)|2,{70,44,0}}, +/* 50165 */ {(15<<2)|2,{70,44,0}}, +/* 50166 */ {(15<<2)|2,{70,59,0}}, +/* 50167 */ {(15<<2)|2,{70,59,0}}, +/* 50168 */ {(15<<2)|2,{70,88,0}}, +/* 50169 */ {(15<<2)|2,{70,88,0}}, +/* 50170 */ {(15<<2)|2,{70,90,0}}, +/* 50171 */ {(15<<2)|2,{70,90,0}}, +/* 50172 */ {(7<<2)|1,{70,0,0}}, +/* 50173 */ {(7<<2)|1,{70,0,0}}, +/* 50174 */ {(7<<2)|1,{70,0,0}}, +/* 50175 */ {(7<<2)|1,{70,0,0}}, +/* 50176 */ {(12<<2)|2,{71,48,0}}, +/* 50177 */ {(12<<2)|2,{71,48,0}}, +/* 50178 */ {(12<<2)|2,{71,48,0}}, +/* 50179 */ {(12<<2)|2,{71,48,0}}, +/* 50180 */ {(12<<2)|2,{71,48,0}}, +/* 50181 */ {(12<<2)|2,{71,48,0}}, +/* 50182 */ {(12<<2)|2,{71,48,0}}, +/* 50183 */ {(12<<2)|2,{71,48,0}}, +/* 50184 */ {(12<<2)|2,{71,48,0}}, +/* 50185 */ {(12<<2)|2,{71,48,0}}, +/* 50186 */ {(12<<2)|2,{71,48,0}}, +/* 50187 */ {(12<<2)|2,{71,48,0}}, +/* 50188 */ {(12<<2)|2,{71,48,0}}, +/* 50189 */ {(12<<2)|2,{71,48,0}}, +/* 50190 */ {(12<<2)|2,{71,48,0}}, +/* 50191 */ {(12<<2)|2,{71,48,0}}, +/* 50192 */ {(12<<2)|2,{71,49,0}}, +/* 50193 */ {(12<<2)|2,{71,49,0}}, +/* 50194 */ {(12<<2)|2,{71,49,0}}, +/* 50195 */ {(12<<2)|2,{71,49,0}}, +/* 50196 */ {(12<<2)|2,{71,49,0}}, +/* 50197 */ {(12<<2)|2,{71,49,0}}, +/* 50198 */ {(12<<2)|2,{71,49,0}}, +/* 50199 */ {(12<<2)|2,{71,49,0}}, +/* 50200 */ {(12<<2)|2,{71,49,0}}, +/* 50201 */ {(12<<2)|2,{71,49,0}}, +/* 50202 */ {(12<<2)|2,{71,49,0}}, +/* 50203 */ {(12<<2)|2,{71,49,0}}, +/* 50204 */ {(12<<2)|2,{71,49,0}}, +/* 50205 */ {(12<<2)|2,{71,49,0}}, +/* 50206 */ {(12<<2)|2,{71,49,0}}, +/* 50207 */ {(12<<2)|2,{71,49,0}}, +/* 50208 */ {(12<<2)|2,{71,50,0}}, +/* 50209 */ {(12<<2)|2,{71,50,0}}, +/* 50210 */ {(12<<2)|2,{71,50,0}}, +/* 50211 */ {(12<<2)|2,{71,50,0}}, +/* 50212 */ {(12<<2)|2,{71,50,0}}, +/* 50213 */ {(12<<2)|2,{71,50,0}}, +/* 50214 */ {(12<<2)|2,{71,50,0}}, +/* 50215 */ {(12<<2)|2,{71,50,0}}, +/* 50216 */ {(12<<2)|2,{71,50,0}}, +/* 50217 */ {(12<<2)|2,{71,50,0}}, +/* 50218 */ {(12<<2)|2,{71,50,0}}, +/* 50219 */ {(12<<2)|2,{71,50,0}}, +/* 50220 */ {(12<<2)|2,{71,50,0}}, +/* 50221 */ {(12<<2)|2,{71,50,0}}, +/* 50222 */ {(12<<2)|2,{71,50,0}}, +/* 50223 */ {(12<<2)|2,{71,50,0}}, +/* 50224 */ {(12<<2)|2,{71,97,0}}, +/* 50225 */ {(12<<2)|2,{71,97,0}}, +/* 50226 */ {(12<<2)|2,{71,97,0}}, +/* 50227 */ {(12<<2)|2,{71,97,0}}, +/* 50228 */ {(12<<2)|2,{71,97,0}}, +/* 50229 */ {(12<<2)|2,{71,97,0}}, +/* 50230 */ {(12<<2)|2,{71,97,0}}, +/* 50231 */ {(12<<2)|2,{71,97,0}}, +/* 50232 */ {(12<<2)|2,{71,97,0}}, +/* 50233 */ {(12<<2)|2,{71,97,0}}, +/* 50234 */ {(12<<2)|2,{71,97,0}}, +/* 50235 */ {(12<<2)|2,{71,97,0}}, +/* 50236 */ {(12<<2)|2,{71,97,0}}, +/* 50237 */ {(12<<2)|2,{71,97,0}}, +/* 50238 */ {(12<<2)|2,{71,97,0}}, +/* 50239 */ {(12<<2)|2,{71,97,0}}, +/* 50240 */ {(12<<2)|2,{71,99,0}}, +/* 50241 */ {(12<<2)|2,{71,99,0}}, +/* 50242 */ {(12<<2)|2,{71,99,0}}, +/* 50243 */ {(12<<2)|2,{71,99,0}}, +/* 50244 */ {(12<<2)|2,{71,99,0}}, +/* 50245 */ {(12<<2)|2,{71,99,0}}, +/* 50246 */ {(12<<2)|2,{71,99,0}}, +/* 50247 */ {(12<<2)|2,{71,99,0}}, +/* 50248 */ {(12<<2)|2,{71,99,0}}, +/* 50249 */ {(12<<2)|2,{71,99,0}}, +/* 50250 */ {(12<<2)|2,{71,99,0}}, +/* 50251 */ {(12<<2)|2,{71,99,0}}, +/* 50252 */ {(12<<2)|2,{71,99,0}}, +/* 50253 */ {(12<<2)|2,{71,99,0}}, +/* 50254 */ {(12<<2)|2,{71,99,0}}, +/* 50255 */ {(12<<2)|2,{71,99,0}}, +/* 50256 */ {(12<<2)|2,{71,101,0}}, +/* 50257 */ {(12<<2)|2,{71,101,0}}, +/* 50258 */ {(12<<2)|2,{71,101,0}}, +/* 50259 */ {(12<<2)|2,{71,101,0}}, +/* 50260 */ {(12<<2)|2,{71,101,0}}, +/* 50261 */ {(12<<2)|2,{71,101,0}}, +/* 50262 */ {(12<<2)|2,{71,101,0}}, +/* 50263 */ {(12<<2)|2,{71,101,0}}, +/* 50264 */ {(12<<2)|2,{71,101,0}}, +/* 50265 */ {(12<<2)|2,{71,101,0}}, +/* 50266 */ {(12<<2)|2,{71,101,0}}, +/* 50267 */ {(12<<2)|2,{71,101,0}}, +/* 50268 */ {(12<<2)|2,{71,101,0}}, +/* 50269 */ {(12<<2)|2,{71,101,0}}, +/* 50270 */ {(12<<2)|2,{71,101,0}}, +/* 50271 */ {(12<<2)|2,{71,101,0}}, +/* 50272 */ {(12<<2)|2,{71,105,0}}, +/* 50273 */ {(12<<2)|2,{71,105,0}}, +/* 50274 */ {(12<<2)|2,{71,105,0}}, +/* 50275 */ {(12<<2)|2,{71,105,0}}, +/* 50276 */ {(12<<2)|2,{71,105,0}}, +/* 50277 */ {(12<<2)|2,{71,105,0}}, +/* 50278 */ {(12<<2)|2,{71,105,0}}, +/* 50279 */ {(12<<2)|2,{71,105,0}}, +/* 50280 */ {(12<<2)|2,{71,105,0}}, +/* 50281 */ {(12<<2)|2,{71,105,0}}, +/* 50282 */ {(12<<2)|2,{71,105,0}}, +/* 50283 */ {(12<<2)|2,{71,105,0}}, +/* 50284 */ {(12<<2)|2,{71,105,0}}, +/* 50285 */ {(12<<2)|2,{71,105,0}}, +/* 50286 */ {(12<<2)|2,{71,105,0}}, +/* 50287 */ {(12<<2)|2,{71,105,0}}, +/* 50288 */ {(12<<2)|2,{71,111,0}}, +/* 50289 */ {(12<<2)|2,{71,111,0}}, +/* 50290 */ {(12<<2)|2,{71,111,0}}, +/* 50291 */ {(12<<2)|2,{71,111,0}}, +/* 50292 */ {(12<<2)|2,{71,111,0}}, +/* 50293 */ {(12<<2)|2,{71,111,0}}, +/* 50294 */ {(12<<2)|2,{71,111,0}}, +/* 50295 */ {(12<<2)|2,{71,111,0}}, +/* 50296 */ {(12<<2)|2,{71,111,0}}, +/* 50297 */ {(12<<2)|2,{71,111,0}}, +/* 50298 */ {(12<<2)|2,{71,111,0}}, +/* 50299 */ {(12<<2)|2,{71,111,0}}, +/* 50300 */ {(12<<2)|2,{71,111,0}}, +/* 50301 */ {(12<<2)|2,{71,111,0}}, +/* 50302 */ {(12<<2)|2,{71,111,0}}, +/* 50303 */ {(12<<2)|2,{71,111,0}}, +/* 50304 */ {(12<<2)|2,{71,115,0}}, +/* 50305 */ {(12<<2)|2,{71,115,0}}, +/* 50306 */ {(12<<2)|2,{71,115,0}}, +/* 50307 */ {(12<<2)|2,{71,115,0}}, +/* 50308 */ {(12<<2)|2,{71,115,0}}, +/* 50309 */ {(12<<2)|2,{71,115,0}}, +/* 50310 */ {(12<<2)|2,{71,115,0}}, +/* 50311 */ {(12<<2)|2,{71,115,0}}, +/* 50312 */ {(12<<2)|2,{71,115,0}}, +/* 50313 */ {(12<<2)|2,{71,115,0}}, +/* 50314 */ {(12<<2)|2,{71,115,0}}, +/* 50315 */ {(12<<2)|2,{71,115,0}}, +/* 50316 */ {(12<<2)|2,{71,115,0}}, +/* 50317 */ {(12<<2)|2,{71,115,0}}, +/* 50318 */ {(12<<2)|2,{71,115,0}}, +/* 50319 */ {(12<<2)|2,{71,115,0}}, +/* 50320 */ {(12<<2)|2,{71,116,0}}, +/* 50321 */ {(12<<2)|2,{71,116,0}}, +/* 50322 */ {(12<<2)|2,{71,116,0}}, +/* 50323 */ {(12<<2)|2,{71,116,0}}, +/* 50324 */ {(12<<2)|2,{71,116,0}}, +/* 50325 */ {(12<<2)|2,{71,116,0}}, +/* 50326 */ {(12<<2)|2,{71,116,0}}, +/* 50327 */ {(12<<2)|2,{71,116,0}}, +/* 50328 */ {(12<<2)|2,{71,116,0}}, +/* 50329 */ {(12<<2)|2,{71,116,0}}, +/* 50330 */ {(12<<2)|2,{71,116,0}}, +/* 50331 */ {(12<<2)|2,{71,116,0}}, +/* 50332 */ {(12<<2)|2,{71,116,0}}, +/* 50333 */ {(12<<2)|2,{71,116,0}}, +/* 50334 */ {(12<<2)|2,{71,116,0}}, +/* 50335 */ {(12<<2)|2,{71,116,0}}, +/* 50336 */ {(13<<2)|2,{71,32,0}}, +/* 50337 */ {(13<<2)|2,{71,32,0}}, +/* 50338 */ {(13<<2)|2,{71,32,0}}, +/* 50339 */ {(13<<2)|2,{71,32,0}}, +/* 50340 */ {(13<<2)|2,{71,32,0}}, +/* 50341 */ {(13<<2)|2,{71,32,0}}, +/* 50342 */ {(13<<2)|2,{71,32,0}}, +/* 50343 */ {(13<<2)|2,{71,32,0}}, +/* 50344 */ {(13<<2)|2,{71,37,0}}, +/* 50345 */ {(13<<2)|2,{71,37,0}}, +/* 50346 */ {(13<<2)|2,{71,37,0}}, +/* 50347 */ {(13<<2)|2,{71,37,0}}, +/* 50348 */ {(13<<2)|2,{71,37,0}}, +/* 50349 */ {(13<<2)|2,{71,37,0}}, +/* 50350 */ {(13<<2)|2,{71,37,0}}, +/* 50351 */ {(13<<2)|2,{71,37,0}}, +/* 50352 */ {(13<<2)|2,{71,45,0}}, +/* 50353 */ {(13<<2)|2,{71,45,0}}, +/* 50354 */ {(13<<2)|2,{71,45,0}}, +/* 50355 */ {(13<<2)|2,{71,45,0}}, +/* 50356 */ {(13<<2)|2,{71,45,0}}, +/* 50357 */ {(13<<2)|2,{71,45,0}}, +/* 50358 */ {(13<<2)|2,{71,45,0}}, +/* 50359 */ {(13<<2)|2,{71,45,0}}, +/* 50360 */ {(13<<2)|2,{71,46,0}}, +/* 50361 */ {(13<<2)|2,{71,46,0}}, +/* 50362 */ {(13<<2)|2,{71,46,0}}, +/* 50363 */ {(13<<2)|2,{71,46,0}}, +/* 50364 */ {(13<<2)|2,{71,46,0}}, +/* 50365 */ {(13<<2)|2,{71,46,0}}, +/* 50366 */ {(13<<2)|2,{71,46,0}}, +/* 50367 */ {(13<<2)|2,{71,46,0}}, +/* 50368 */ {(13<<2)|2,{71,47,0}}, +/* 50369 */ {(13<<2)|2,{71,47,0}}, +/* 50370 */ {(13<<2)|2,{71,47,0}}, +/* 50371 */ {(13<<2)|2,{71,47,0}}, +/* 50372 */ {(13<<2)|2,{71,47,0}}, +/* 50373 */ {(13<<2)|2,{71,47,0}}, +/* 50374 */ {(13<<2)|2,{71,47,0}}, +/* 50375 */ {(13<<2)|2,{71,47,0}}, +/* 50376 */ {(13<<2)|2,{71,51,0}}, +/* 50377 */ {(13<<2)|2,{71,51,0}}, +/* 50378 */ {(13<<2)|2,{71,51,0}}, +/* 50379 */ {(13<<2)|2,{71,51,0}}, +/* 50380 */ {(13<<2)|2,{71,51,0}}, +/* 50381 */ {(13<<2)|2,{71,51,0}}, +/* 50382 */ {(13<<2)|2,{71,51,0}}, +/* 50383 */ {(13<<2)|2,{71,51,0}}, +/* 50384 */ {(13<<2)|2,{71,52,0}}, +/* 50385 */ {(13<<2)|2,{71,52,0}}, +/* 50386 */ {(13<<2)|2,{71,52,0}}, +/* 50387 */ {(13<<2)|2,{71,52,0}}, +/* 50388 */ {(13<<2)|2,{71,52,0}}, +/* 50389 */ {(13<<2)|2,{71,52,0}}, +/* 50390 */ {(13<<2)|2,{71,52,0}}, +/* 50391 */ {(13<<2)|2,{71,52,0}}, +/* 50392 */ {(13<<2)|2,{71,53,0}}, +/* 50393 */ {(13<<2)|2,{71,53,0}}, +/* 50394 */ {(13<<2)|2,{71,53,0}}, +/* 50395 */ {(13<<2)|2,{71,53,0}}, +/* 50396 */ {(13<<2)|2,{71,53,0}}, +/* 50397 */ {(13<<2)|2,{71,53,0}}, +/* 50398 */ {(13<<2)|2,{71,53,0}}, +/* 50399 */ {(13<<2)|2,{71,53,0}}, +/* 50400 */ {(13<<2)|2,{71,54,0}}, +/* 50401 */ {(13<<2)|2,{71,54,0}}, +/* 50402 */ {(13<<2)|2,{71,54,0}}, +/* 50403 */ {(13<<2)|2,{71,54,0}}, +/* 50404 */ {(13<<2)|2,{71,54,0}}, +/* 50405 */ {(13<<2)|2,{71,54,0}}, +/* 50406 */ {(13<<2)|2,{71,54,0}}, +/* 50407 */ {(13<<2)|2,{71,54,0}}, +/* 50408 */ {(13<<2)|2,{71,55,0}}, +/* 50409 */ {(13<<2)|2,{71,55,0}}, +/* 50410 */ {(13<<2)|2,{71,55,0}}, +/* 50411 */ {(13<<2)|2,{71,55,0}}, +/* 50412 */ {(13<<2)|2,{71,55,0}}, +/* 50413 */ {(13<<2)|2,{71,55,0}}, +/* 50414 */ {(13<<2)|2,{71,55,0}}, +/* 50415 */ {(13<<2)|2,{71,55,0}}, +/* 50416 */ {(13<<2)|2,{71,56,0}}, +/* 50417 */ {(13<<2)|2,{71,56,0}}, +/* 50418 */ {(13<<2)|2,{71,56,0}}, +/* 50419 */ {(13<<2)|2,{71,56,0}}, +/* 50420 */ {(13<<2)|2,{71,56,0}}, +/* 50421 */ {(13<<2)|2,{71,56,0}}, +/* 50422 */ {(13<<2)|2,{71,56,0}}, +/* 50423 */ {(13<<2)|2,{71,56,0}}, +/* 50424 */ {(13<<2)|2,{71,57,0}}, +/* 50425 */ {(13<<2)|2,{71,57,0}}, +/* 50426 */ {(13<<2)|2,{71,57,0}}, +/* 50427 */ {(13<<2)|2,{71,57,0}}, +/* 50428 */ {(13<<2)|2,{71,57,0}}, +/* 50429 */ {(13<<2)|2,{71,57,0}}, +/* 50430 */ {(13<<2)|2,{71,57,0}}, +/* 50431 */ {(13<<2)|2,{71,57,0}}, +/* 50432 */ {(13<<2)|2,{71,61,0}}, +/* 50433 */ {(13<<2)|2,{71,61,0}}, +/* 50434 */ {(13<<2)|2,{71,61,0}}, +/* 50435 */ {(13<<2)|2,{71,61,0}}, +/* 50436 */ {(13<<2)|2,{71,61,0}}, +/* 50437 */ {(13<<2)|2,{71,61,0}}, +/* 50438 */ {(13<<2)|2,{71,61,0}}, +/* 50439 */ {(13<<2)|2,{71,61,0}}, +/* 50440 */ {(13<<2)|2,{71,65,0}}, +/* 50441 */ {(13<<2)|2,{71,65,0}}, +/* 50442 */ {(13<<2)|2,{71,65,0}}, +/* 50443 */ {(13<<2)|2,{71,65,0}}, +/* 50444 */ {(13<<2)|2,{71,65,0}}, +/* 50445 */ {(13<<2)|2,{71,65,0}}, +/* 50446 */ {(13<<2)|2,{71,65,0}}, +/* 50447 */ {(13<<2)|2,{71,65,0}}, +/* 50448 */ {(13<<2)|2,{71,95,0}}, +/* 50449 */ {(13<<2)|2,{71,95,0}}, +/* 50450 */ {(13<<2)|2,{71,95,0}}, +/* 50451 */ {(13<<2)|2,{71,95,0}}, +/* 50452 */ {(13<<2)|2,{71,95,0}}, +/* 50453 */ {(13<<2)|2,{71,95,0}}, +/* 50454 */ {(13<<2)|2,{71,95,0}}, +/* 50455 */ {(13<<2)|2,{71,95,0}}, +/* 50456 */ {(13<<2)|2,{71,98,0}}, +/* 50457 */ {(13<<2)|2,{71,98,0}}, +/* 50458 */ {(13<<2)|2,{71,98,0}}, +/* 50459 */ {(13<<2)|2,{71,98,0}}, +/* 50460 */ {(13<<2)|2,{71,98,0}}, +/* 50461 */ {(13<<2)|2,{71,98,0}}, +/* 50462 */ {(13<<2)|2,{71,98,0}}, +/* 50463 */ {(13<<2)|2,{71,98,0}}, +/* 50464 */ {(13<<2)|2,{71,100,0}}, +/* 50465 */ {(13<<2)|2,{71,100,0}}, +/* 50466 */ {(13<<2)|2,{71,100,0}}, +/* 50467 */ {(13<<2)|2,{71,100,0}}, +/* 50468 */ {(13<<2)|2,{71,100,0}}, +/* 50469 */ {(13<<2)|2,{71,100,0}}, +/* 50470 */ {(13<<2)|2,{71,100,0}}, +/* 50471 */ {(13<<2)|2,{71,100,0}}, +/* 50472 */ {(13<<2)|2,{71,102,0}}, +/* 50473 */ {(13<<2)|2,{71,102,0}}, +/* 50474 */ {(13<<2)|2,{71,102,0}}, +/* 50475 */ {(13<<2)|2,{71,102,0}}, +/* 50476 */ {(13<<2)|2,{71,102,0}}, +/* 50477 */ {(13<<2)|2,{71,102,0}}, +/* 50478 */ {(13<<2)|2,{71,102,0}}, +/* 50479 */ {(13<<2)|2,{71,102,0}}, +/* 50480 */ {(13<<2)|2,{71,103,0}}, +/* 50481 */ {(13<<2)|2,{71,103,0}}, +/* 50482 */ {(13<<2)|2,{71,103,0}}, +/* 50483 */ {(13<<2)|2,{71,103,0}}, +/* 50484 */ {(13<<2)|2,{71,103,0}}, +/* 50485 */ {(13<<2)|2,{71,103,0}}, +/* 50486 */ {(13<<2)|2,{71,103,0}}, +/* 50487 */ {(13<<2)|2,{71,103,0}}, +/* 50488 */ {(13<<2)|2,{71,104,0}}, +/* 50489 */ {(13<<2)|2,{71,104,0}}, +/* 50490 */ {(13<<2)|2,{71,104,0}}, +/* 50491 */ {(13<<2)|2,{71,104,0}}, +/* 50492 */ {(13<<2)|2,{71,104,0}}, +/* 50493 */ {(13<<2)|2,{71,104,0}}, +/* 50494 */ {(13<<2)|2,{71,104,0}}, +/* 50495 */ {(13<<2)|2,{71,104,0}}, +/* 50496 */ {(13<<2)|2,{71,108,0}}, +/* 50497 */ {(13<<2)|2,{71,108,0}}, +/* 50498 */ {(13<<2)|2,{71,108,0}}, +/* 50499 */ {(13<<2)|2,{71,108,0}}, +/* 50500 */ {(13<<2)|2,{71,108,0}}, +/* 50501 */ {(13<<2)|2,{71,108,0}}, +/* 50502 */ {(13<<2)|2,{71,108,0}}, +/* 50503 */ {(13<<2)|2,{71,108,0}}, +/* 50504 */ {(13<<2)|2,{71,109,0}}, +/* 50505 */ {(13<<2)|2,{71,109,0}}, +/* 50506 */ {(13<<2)|2,{71,109,0}}, +/* 50507 */ {(13<<2)|2,{71,109,0}}, +/* 50508 */ {(13<<2)|2,{71,109,0}}, +/* 50509 */ {(13<<2)|2,{71,109,0}}, +/* 50510 */ {(13<<2)|2,{71,109,0}}, +/* 50511 */ {(13<<2)|2,{71,109,0}}, +/* 50512 */ {(13<<2)|2,{71,110,0}}, +/* 50513 */ {(13<<2)|2,{71,110,0}}, +/* 50514 */ {(13<<2)|2,{71,110,0}}, +/* 50515 */ {(13<<2)|2,{71,110,0}}, +/* 50516 */ {(13<<2)|2,{71,110,0}}, +/* 50517 */ {(13<<2)|2,{71,110,0}}, +/* 50518 */ {(13<<2)|2,{71,110,0}}, +/* 50519 */ {(13<<2)|2,{71,110,0}}, +/* 50520 */ {(13<<2)|2,{71,112,0}}, +/* 50521 */ {(13<<2)|2,{71,112,0}}, +/* 50522 */ {(13<<2)|2,{71,112,0}}, +/* 50523 */ {(13<<2)|2,{71,112,0}}, +/* 50524 */ {(13<<2)|2,{71,112,0}}, +/* 50525 */ {(13<<2)|2,{71,112,0}}, +/* 50526 */ {(13<<2)|2,{71,112,0}}, +/* 50527 */ {(13<<2)|2,{71,112,0}}, +/* 50528 */ {(13<<2)|2,{71,114,0}}, +/* 50529 */ {(13<<2)|2,{71,114,0}}, +/* 50530 */ {(13<<2)|2,{71,114,0}}, +/* 50531 */ {(13<<2)|2,{71,114,0}}, +/* 50532 */ {(13<<2)|2,{71,114,0}}, +/* 50533 */ {(13<<2)|2,{71,114,0}}, +/* 50534 */ {(13<<2)|2,{71,114,0}}, +/* 50535 */ {(13<<2)|2,{71,114,0}}, +/* 50536 */ {(13<<2)|2,{71,117,0}}, +/* 50537 */ {(13<<2)|2,{71,117,0}}, +/* 50538 */ {(13<<2)|2,{71,117,0}}, +/* 50539 */ {(13<<2)|2,{71,117,0}}, +/* 50540 */ {(13<<2)|2,{71,117,0}}, +/* 50541 */ {(13<<2)|2,{71,117,0}}, +/* 50542 */ {(13<<2)|2,{71,117,0}}, +/* 50543 */ {(13<<2)|2,{71,117,0}}, +/* 50544 */ {(14<<2)|2,{71,58,0}}, +/* 50545 */ {(14<<2)|2,{71,58,0}}, +/* 50546 */ {(14<<2)|2,{71,58,0}}, +/* 50547 */ {(14<<2)|2,{71,58,0}}, +/* 50548 */ {(14<<2)|2,{71,66,0}}, +/* 50549 */ {(14<<2)|2,{71,66,0}}, +/* 50550 */ {(14<<2)|2,{71,66,0}}, +/* 50551 */ {(14<<2)|2,{71,66,0}}, +/* 50552 */ {(14<<2)|2,{71,67,0}}, +/* 50553 */ {(14<<2)|2,{71,67,0}}, +/* 50554 */ {(14<<2)|2,{71,67,0}}, +/* 50555 */ {(14<<2)|2,{71,67,0}}, +/* 50556 */ {(14<<2)|2,{71,68,0}}, +/* 50557 */ {(14<<2)|2,{71,68,0}}, +/* 50558 */ {(14<<2)|2,{71,68,0}}, +/* 50559 */ {(14<<2)|2,{71,68,0}}, +/* 50560 */ {(14<<2)|2,{71,69,0}}, +/* 50561 */ {(14<<2)|2,{71,69,0}}, +/* 50562 */ {(14<<2)|2,{71,69,0}}, +/* 50563 */ {(14<<2)|2,{71,69,0}}, +/* 50564 */ {(14<<2)|2,{71,70,0}}, +/* 50565 */ {(14<<2)|2,{71,70,0}}, +/* 50566 */ {(14<<2)|2,{71,70,0}}, +/* 50567 */ {(14<<2)|2,{71,70,0}}, +/* 50568 */ {(14<<2)|2,{71,71,0}}, +/* 50569 */ {(14<<2)|2,{71,71,0}}, +/* 50570 */ {(14<<2)|2,{71,71,0}}, +/* 50571 */ {(14<<2)|2,{71,71,0}}, +/* 50572 */ {(14<<2)|2,{71,72,0}}, +/* 50573 */ {(14<<2)|2,{71,72,0}}, +/* 50574 */ {(14<<2)|2,{71,72,0}}, +/* 50575 */ {(14<<2)|2,{71,72,0}}, +/* 50576 */ {(14<<2)|2,{71,73,0}}, +/* 50577 */ {(14<<2)|2,{71,73,0}}, +/* 50578 */ {(14<<2)|2,{71,73,0}}, +/* 50579 */ {(14<<2)|2,{71,73,0}}, +/* 50580 */ {(14<<2)|2,{71,74,0}}, +/* 50581 */ {(14<<2)|2,{71,74,0}}, +/* 50582 */ {(14<<2)|2,{71,74,0}}, +/* 50583 */ {(14<<2)|2,{71,74,0}}, +/* 50584 */ {(14<<2)|2,{71,75,0}}, +/* 50585 */ {(14<<2)|2,{71,75,0}}, +/* 50586 */ {(14<<2)|2,{71,75,0}}, +/* 50587 */ {(14<<2)|2,{71,75,0}}, +/* 50588 */ {(14<<2)|2,{71,76,0}}, +/* 50589 */ {(14<<2)|2,{71,76,0}}, +/* 50590 */ {(14<<2)|2,{71,76,0}}, +/* 50591 */ {(14<<2)|2,{71,76,0}}, +/* 50592 */ {(14<<2)|2,{71,77,0}}, +/* 50593 */ {(14<<2)|2,{71,77,0}}, +/* 50594 */ {(14<<2)|2,{71,77,0}}, +/* 50595 */ {(14<<2)|2,{71,77,0}}, +/* 50596 */ {(14<<2)|2,{71,78,0}}, +/* 50597 */ {(14<<2)|2,{71,78,0}}, +/* 50598 */ {(14<<2)|2,{71,78,0}}, +/* 50599 */ {(14<<2)|2,{71,78,0}}, +/* 50600 */ {(14<<2)|2,{71,79,0}}, +/* 50601 */ {(14<<2)|2,{71,79,0}}, +/* 50602 */ {(14<<2)|2,{71,79,0}}, +/* 50603 */ {(14<<2)|2,{71,79,0}}, +/* 50604 */ {(14<<2)|2,{71,80,0}}, +/* 50605 */ {(14<<2)|2,{71,80,0}}, +/* 50606 */ {(14<<2)|2,{71,80,0}}, +/* 50607 */ {(14<<2)|2,{71,80,0}}, +/* 50608 */ {(14<<2)|2,{71,81,0}}, +/* 50609 */ {(14<<2)|2,{71,81,0}}, +/* 50610 */ {(14<<2)|2,{71,81,0}}, +/* 50611 */ {(14<<2)|2,{71,81,0}}, +/* 50612 */ {(14<<2)|2,{71,82,0}}, +/* 50613 */ {(14<<2)|2,{71,82,0}}, +/* 50614 */ {(14<<2)|2,{71,82,0}}, +/* 50615 */ {(14<<2)|2,{71,82,0}}, +/* 50616 */ {(14<<2)|2,{71,83,0}}, +/* 50617 */ {(14<<2)|2,{71,83,0}}, +/* 50618 */ {(14<<2)|2,{71,83,0}}, +/* 50619 */ {(14<<2)|2,{71,83,0}}, +/* 50620 */ {(14<<2)|2,{71,84,0}}, +/* 50621 */ {(14<<2)|2,{71,84,0}}, +/* 50622 */ {(14<<2)|2,{71,84,0}}, +/* 50623 */ {(14<<2)|2,{71,84,0}}, +/* 50624 */ {(14<<2)|2,{71,85,0}}, +/* 50625 */ {(14<<2)|2,{71,85,0}}, +/* 50626 */ {(14<<2)|2,{71,85,0}}, +/* 50627 */ {(14<<2)|2,{71,85,0}}, +/* 50628 */ {(14<<2)|2,{71,86,0}}, +/* 50629 */ {(14<<2)|2,{71,86,0}}, +/* 50630 */ {(14<<2)|2,{71,86,0}}, +/* 50631 */ {(14<<2)|2,{71,86,0}}, +/* 50632 */ {(14<<2)|2,{71,87,0}}, +/* 50633 */ {(14<<2)|2,{71,87,0}}, +/* 50634 */ {(14<<2)|2,{71,87,0}}, +/* 50635 */ {(14<<2)|2,{71,87,0}}, +/* 50636 */ {(14<<2)|2,{71,89,0}}, +/* 50637 */ {(14<<2)|2,{71,89,0}}, +/* 50638 */ {(14<<2)|2,{71,89,0}}, +/* 50639 */ {(14<<2)|2,{71,89,0}}, +/* 50640 */ {(14<<2)|2,{71,106,0}}, +/* 50641 */ {(14<<2)|2,{71,106,0}}, +/* 50642 */ {(14<<2)|2,{71,106,0}}, +/* 50643 */ {(14<<2)|2,{71,106,0}}, +/* 50644 */ {(14<<2)|2,{71,107,0}}, +/* 50645 */ {(14<<2)|2,{71,107,0}}, +/* 50646 */ {(14<<2)|2,{71,107,0}}, +/* 50647 */ {(14<<2)|2,{71,107,0}}, +/* 50648 */ {(14<<2)|2,{71,113,0}}, +/* 50649 */ {(14<<2)|2,{71,113,0}}, +/* 50650 */ {(14<<2)|2,{71,113,0}}, +/* 50651 */ {(14<<2)|2,{71,113,0}}, +/* 50652 */ {(14<<2)|2,{71,118,0}}, +/* 50653 */ {(14<<2)|2,{71,118,0}}, +/* 50654 */ {(14<<2)|2,{71,118,0}}, +/* 50655 */ {(14<<2)|2,{71,118,0}}, +/* 50656 */ {(14<<2)|2,{71,119,0}}, +/* 50657 */ {(14<<2)|2,{71,119,0}}, +/* 50658 */ {(14<<2)|2,{71,119,0}}, +/* 50659 */ {(14<<2)|2,{71,119,0}}, +/* 50660 */ {(14<<2)|2,{71,120,0}}, +/* 50661 */ {(14<<2)|2,{71,120,0}}, +/* 50662 */ {(14<<2)|2,{71,120,0}}, +/* 50663 */ {(14<<2)|2,{71,120,0}}, +/* 50664 */ {(14<<2)|2,{71,121,0}}, +/* 50665 */ {(14<<2)|2,{71,121,0}}, +/* 50666 */ {(14<<2)|2,{71,121,0}}, +/* 50667 */ {(14<<2)|2,{71,121,0}}, +/* 50668 */ {(14<<2)|2,{71,122,0}}, +/* 50669 */ {(14<<2)|2,{71,122,0}}, +/* 50670 */ {(14<<2)|2,{71,122,0}}, +/* 50671 */ {(14<<2)|2,{71,122,0}}, +/* 50672 */ {(15<<2)|2,{71,38,0}}, +/* 50673 */ {(15<<2)|2,{71,38,0}}, +/* 50674 */ {(15<<2)|2,{71,42,0}}, +/* 50675 */ {(15<<2)|2,{71,42,0}}, +/* 50676 */ {(15<<2)|2,{71,44,0}}, +/* 50677 */ {(15<<2)|2,{71,44,0}}, +/* 50678 */ {(15<<2)|2,{71,59,0}}, +/* 50679 */ {(15<<2)|2,{71,59,0}}, +/* 50680 */ {(15<<2)|2,{71,88,0}}, +/* 50681 */ {(15<<2)|2,{71,88,0}}, +/* 50682 */ {(15<<2)|2,{71,90,0}}, +/* 50683 */ {(15<<2)|2,{71,90,0}}, +/* 50684 */ {(7<<2)|1,{71,0,0}}, +/* 50685 */ {(7<<2)|1,{71,0,0}}, +/* 50686 */ {(7<<2)|1,{71,0,0}}, +/* 50687 */ {(7<<2)|1,{71,0,0}}, +/* 50688 */ {(12<<2)|2,{72,48,0}}, +/* 50689 */ {(12<<2)|2,{72,48,0}}, +/* 50690 */ {(12<<2)|2,{72,48,0}}, +/* 50691 */ {(12<<2)|2,{72,48,0}}, +/* 50692 */ {(12<<2)|2,{72,48,0}}, +/* 50693 */ {(12<<2)|2,{72,48,0}}, +/* 50694 */ {(12<<2)|2,{72,48,0}}, +/* 50695 */ {(12<<2)|2,{72,48,0}}, +/* 50696 */ {(12<<2)|2,{72,48,0}}, +/* 50697 */ {(12<<2)|2,{72,48,0}}, +/* 50698 */ {(12<<2)|2,{72,48,0}}, +/* 50699 */ {(12<<2)|2,{72,48,0}}, +/* 50700 */ {(12<<2)|2,{72,48,0}}, +/* 50701 */ {(12<<2)|2,{72,48,0}}, +/* 50702 */ {(12<<2)|2,{72,48,0}}, +/* 50703 */ {(12<<2)|2,{72,48,0}}, +/* 50704 */ {(12<<2)|2,{72,49,0}}, +/* 50705 */ {(12<<2)|2,{72,49,0}}, +/* 50706 */ {(12<<2)|2,{72,49,0}}, +/* 50707 */ {(12<<2)|2,{72,49,0}}, +/* 50708 */ {(12<<2)|2,{72,49,0}}, +/* 50709 */ {(12<<2)|2,{72,49,0}}, +/* 50710 */ {(12<<2)|2,{72,49,0}}, +/* 50711 */ {(12<<2)|2,{72,49,0}}, +/* 50712 */ {(12<<2)|2,{72,49,0}}, +/* 50713 */ {(12<<2)|2,{72,49,0}}, +/* 50714 */ {(12<<2)|2,{72,49,0}}, +/* 50715 */ {(12<<2)|2,{72,49,0}}, +/* 50716 */ {(12<<2)|2,{72,49,0}}, +/* 50717 */ {(12<<2)|2,{72,49,0}}, +/* 50718 */ {(12<<2)|2,{72,49,0}}, +/* 50719 */ {(12<<2)|2,{72,49,0}}, +/* 50720 */ {(12<<2)|2,{72,50,0}}, +/* 50721 */ {(12<<2)|2,{72,50,0}}, +/* 50722 */ {(12<<2)|2,{72,50,0}}, +/* 50723 */ {(12<<2)|2,{72,50,0}}, +/* 50724 */ {(12<<2)|2,{72,50,0}}, +/* 50725 */ {(12<<2)|2,{72,50,0}}, +/* 50726 */ {(12<<2)|2,{72,50,0}}, +/* 50727 */ {(12<<2)|2,{72,50,0}}, +/* 50728 */ {(12<<2)|2,{72,50,0}}, +/* 50729 */ {(12<<2)|2,{72,50,0}}, +/* 50730 */ {(12<<2)|2,{72,50,0}}, +/* 50731 */ {(12<<2)|2,{72,50,0}}, +/* 50732 */ {(12<<2)|2,{72,50,0}}, +/* 50733 */ {(12<<2)|2,{72,50,0}}, +/* 50734 */ {(12<<2)|2,{72,50,0}}, +/* 50735 */ {(12<<2)|2,{72,50,0}}, +/* 50736 */ {(12<<2)|2,{72,97,0}}, +/* 50737 */ {(12<<2)|2,{72,97,0}}, +/* 50738 */ {(12<<2)|2,{72,97,0}}, +/* 50739 */ {(12<<2)|2,{72,97,0}}, +/* 50740 */ {(12<<2)|2,{72,97,0}}, +/* 50741 */ {(12<<2)|2,{72,97,0}}, +/* 50742 */ {(12<<2)|2,{72,97,0}}, +/* 50743 */ {(12<<2)|2,{72,97,0}}, +/* 50744 */ {(12<<2)|2,{72,97,0}}, +/* 50745 */ {(12<<2)|2,{72,97,0}}, +/* 50746 */ {(12<<2)|2,{72,97,0}}, +/* 50747 */ {(12<<2)|2,{72,97,0}}, +/* 50748 */ {(12<<2)|2,{72,97,0}}, +/* 50749 */ {(12<<2)|2,{72,97,0}}, +/* 50750 */ {(12<<2)|2,{72,97,0}}, +/* 50751 */ {(12<<2)|2,{72,97,0}}, +/* 50752 */ {(12<<2)|2,{72,99,0}}, +/* 50753 */ {(12<<2)|2,{72,99,0}}, +/* 50754 */ {(12<<2)|2,{72,99,0}}, +/* 50755 */ {(12<<2)|2,{72,99,0}}, +/* 50756 */ {(12<<2)|2,{72,99,0}}, +/* 50757 */ {(12<<2)|2,{72,99,0}}, +/* 50758 */ {(12<<2)|2,{72,99,0}}, +/* 50759 */ {(12<<2)|2,{72,99,0}}, +/* 50760 */ {(12<<2)|2,{72,99,0}}, +/* 50761 */ {(12<<2)|2,{72,99,0}}, +/* 50762 */ {(12<<2)|2,{72,99,0}}, +/* 50763 */ {(12<<2)|2,{72,99,0}}, +/* 50764 */ {(12<<2)|2,{72,99,0}}, +/* 50765 */ {(12<<2)|2,{72,99,0}}, +/* 50766 */ {(12<<2)|2,{72,99,0}}, +/* 50767 */ {(12<<2)|2,{72,99,0}}, +/* 50768 */ {(12<<2)|2,{72,101,0}}, +/* 50769 */ {(12<<2)|2,{72,101,0}}, +/* 50770 */ {(12<<2)|2,{72,101,0}}, +/* 50771 */ {(12<<2)|2,{72,101,0}}, +/* 50772 */ {(12<<2)|2,{72,101,0}}, +/* 50773 */ {(12<<2)|2,{72,101,0}}, +/* 50774 */ {(12<<2)|2,{72,101,0}}, +/* 50775 */ {(12<<2)|2,{72,101,0}}, +/* 50776 */ {(12<<2)|2,{72,101,0}}, +/* 50777 */ {(12<<2)|2,{72,101,0}}, +/* 50778 */ {(12<<2)|2,{72,101,0}}, +/* 50779 */ {(12<<2)|2,{72,101,0}}, +/* 50780 */ {(12<<2)|2,{72,101,0}}, +/* 50781 */ {(12<<2)|2,{72,101,0}}, +/* 50782 */ {(12<<2)|2,{72,101,0}}, +/* 50783 */ {(12<<2)|2,{72,101,0}}, +/* 50784 */ {(12<<2)|2,{72,105,0}}, +/* 50785 */ {(12<<2)|2,{72,105,0}}, +/* 50786 */ {(12<<2)|2,{72,105,0}}, +/* 50787 */ {(12<<2)|2,{72,105,0}}, +/* 50788 */ {(12<<2)|2,{72,105,0}}, +/* 50789 */ {(12<<2)|2,{72,105,0}}, +/* 50790 */ {(12<<2)|2,{72,105,0}}, +/* 50791 */ {(12<<2)|2,{72,105,0}}, +/* 50792 */ {(12<<2)|2,{72,105,0}}, +/* 50793 */ {(12<<2)|2,{72,105,0}}, +/* 50794 */ {(12<<2)|2,{72,105,0}}, +/* 50795 */ {(12<<2)|2,{72,105,0}}, +/* 50796 */ {(12<<2)|2,{72,105,0}}, +/* 50797 */ {(12<<2)|2,{72,105,0}}, +/* 50798 */ {(12<<2)|2,{72,105,0}}, +/* 50799 */ {(12<<2)|2,{72,105,0}}, +/* 50800 */ {(12<<2)|2,{72,111,0}}, +/* 50801 */ {(12<<2)|2,{72,111,0}}, +/* 50802 */ {(12<<2)|2,{72,111,0}}, +/* 50803 */ {(12<<2)|2,{72,111,0}}, +/* 50804 */ {(12<<2)|2,{72,111,0}}, +/* 50805 */ {(12<<2)|2,{72,111,0}}, +/* 50806 */ {(12<<2)|2,{72,111,0}}, +/* 50807 */ {(12<<2)|2,{72,111,0}}, +/* 50808 */ {(12<<2)|2,{72,111,0}}, +/* 50809 */ {(12<<2)|2,{72,111,0}}, +/* 50810 */ {(12<<2)|2,{72,111,0}}, +/* 50811 */ {(12<<2)|2,{72,111,0}}, +/* 50812 */ {(12<<2)|2,{72,111,0}}, +/* 50813 */ {(12<<2)|2,{72,111,0}}, +/* 50814 */ {(12<<2)|2,{72,111,0}}, +/* 50815 */ {(12<<2)|2,{72,111,0}}, +/* 50816 */ {(12<<2)|2,{72,115,0}}, +/* 50817 */ {(12<<2)|2,{72,115,0}}, +/* 50818 */ {(12<<2)|2,{72,115,0}}, +/* 50819 */ {(12<<2)|2,{72,115,0}}, +/* 50820 */ {(12<<2)|2,{72,115,0}}, +/* 50821 */ {(12<<2)|2,{72,115,0}}, +/* 50822 */ {(12<<2)|2,{72,115,0}}, +/* 50823 */ {(12<<2)|2,{72,115,0}}, +/* 50824 */ {(12<<2)|2,{72,115,0}}, +/* 50825 */ {(12<<2)|2,{72,115,0}}, +/* 50826 */ {(12<<2)|2,{72,115,0}}, +/* 50827 */ {(12<<2)|2,{72,115,0}}, +/* 50828 */ {(12<<2)|2,{72,115,0}}, +/* 50829 */ {(12<<2)|2,{72,115,0}}, +/* 50830 */ {(12<<2)|2,{72,115,0}}, +/* 50831 */ {(12<<2)|2,{72,115,0}}, +/* 50832 */ {(12<<2)|2,{72,116,0}}, +/* 50833 */ {(12<<2)|2,{72,116,0}}, +/* 50834 */ {(12<<2)|2,{72,116,0}}, +/* 50835 */ {(12<<2)|2,{72,116,0}}, +/* 50836 */ {(12<<2)|2,{72,116,0}}, +/* 50837 */ {(12<<2)|2,{72,116,0}}, +/* 50838 */ {(12<<2)|2,{72,116,0}}, +/* 50839 */ {(12<<2)|2,{72,116,0}}, +/* 50840 */ {(12<<2)|2,{72,116,0}}, +/* 50841 */ {(12<<2)|2,{72,116,0}}, +/* 50842 */ {(12<<2)|2,{72,116,0}}, +/* 50843 */ {(12<<2)|2,{72,116,0}}, +/* 50844 */ {(12<<2)|2,{72,116,0}}, +/* 50845 */ {(12<<2)|2,{72,116,0}}, +/* 50846 */ {(12<<2)|2,{72,116,0}}, +/* 50847 */ {(12<<2)|2,{72,116,0}}, +/* 50848 */ {(13<<2)|2,{72,32,0}}, +/* 50849 */ {(13<<2)|2,{72,32,0}}, +/* 50850 */ {(13<<2)|2,{72,32,0}}, +/* 50851 */ {(13<<2)|2,{72,32,0}}, +/* 50852 */ {(13<<2)|2,{72,32,0}}, +/* 50853 */ {(13<<2)|2,{72,32,0}}, +/* 50854 */ {(13<<2)|2,{72,32,0}}, +/* 50855 */ {(13<<2)|2,{72,32,0}}, +/* 50856 */ {(13<<2)|2,{72,37,0}}, +/* 50857 */ {(13<<2)|2,{72,37,0}}, +/* 50858 */ {(13<<2)|2,{72,37,0}}, +/* 50859 */ {(13<<2)|2,{72,37,0}}, +/* 50860 */ {(13<<2)|2,{72,37,0}}, +/* 50861 */ {(13<<2)|2,{72,37,0}}, +/* 50862 */ {(13<<2)|2,{72,37,0}}, +/* 50863 */ {(13<<2)|2,{72,37,0}}, +/* 50864 */ {(13<<2)|2,{72,45,0}}, +/* 50865 */ {(13<<2)|2,{72,45,0}}, +/* 50866 */ {(13<<2)|2,{72,45,0}}, +/* 50867 */ {(13<<2)|2,{72,45,0}}, +/* 50868 */ {(13<<2)|2,{72,45,0}}, +/* 50869 */ {(13<<2)|2,{72,45,0}}, +/* 50870 */ {(13<<2)|2,{72,45,0}}, +/* 50871 */ {(13<<2)|2,{72,45,0}}, +/* 50872 */ {(13<<2)|2,{72,46,0}}, +/* 50873 */ {(13<<2)|2,{72,46,0}}, +/* 50874 */ {(13<<2)|2,{72,46,0}}, +/* 50875 */ {(13<<2)|2,{72,46,0}}, +/* 50876 */ {(13<<2)|2,{72,46,0}}, +/* 50877 */ {(13<<2)|2,{72,46,0}}, +/* 50878 */ {(13<<2)|2,{72,46,0}}, +/* 50879 */ {(13<<2)|2,{72,46,0}}, +/* 50880 */ {(13<<2)|2,{72,47,0}}, +/* 50881 */ {(13<<2)|2,{72,47,0}}, +/* 50882 */ {(13<<2)|2,{72,47,0}}, +/* 50883 */ {(13<<2)|2,{72,47,0}}, +/* 50884 */ {(13<<2)|2,{72,47,0}}, +/* 50885 */ {(13<<2)|2,{72,47,0}}, +/* 50886 */ {(13<<2)|2,{72,47,0}}, +/* 50887 */ {(13<<2)|2,{72,47,0}}, +/* 50888 */ {(13<<2)|2,{72,51,0}}, +/* 50889 */ {(13<<2)|2,{72,51,0}}, +/* 50890 */ {(13<<2)|2,{72,51,0}}, +/* 50891 */ {(13<<2)|2,{72,51,0}}, +/* 50892 */ {(13<<2)|2,{72,51,0}}, +/* 50893 */ {(13<<2)|2,{72,51,0}}, +/* 50894 */ {(13<<2)|2,{72,51,0}}, +/* 50895 */ {(13<<2)|2,{72,51,0}}, +/* 50896 */ {(13<<2)|2,{72,52,0}}, +/* 50897 */ {(13<<2)|2,{72,52,0}}, +/* 50898 */ {(13<<2)|2,{72,52,0}}, +/* 50899 */ {(13<<2)|2,{72,52,0}}, +/* 50900 */ {(13<<2)|2,{72,52,0}}, +/* 50901 */ {(13<<2)|2,{72,52,0}}, +/* 50902 */ {(13<<2)|2,{72,52,0}}, +/* 50903 */ {(13<<2)|2,{72,52,0}}, +/* 50904 */ {(13<<2)|2,{72,53,0}}, +/* 50905 */ {(13<<2)|2,{72,53,0}}, +/* 50906 */ {(13<<2)|2,{72,53,0}}, +/* 50907 */ {(13<<2)|2,{72,53,0}}, +/* 50908 */ {(13<<2)|2,{72,53,0}}, +/* 50909 */ {(13<<2)|2,{72,53,0}}, +/* 50910 */ {(13<<2)|2,{72,53,0}}, +/* 50911 */ {(13<<2)|2,{72,53,0}}, +/* 50912 */ {(13<<2)|2,{72,54,0}}, +/* 50913 */ {(13<<2)|2,{72,54,0}}, +/* 50914 */ {(13<<2)|2,{72,54,0}}, +/* 50915 */ {(13<<2)|2,{72,54,0}}, +/* 50916 */ {(13<<2)|2,{72,54,0}}, +/* 50917 */ {(13<<2)|2,{72,54,0}}, +/* 50918 */ {(13<<2)|2,{72,54,0}}, +/* 50919 */ {(13<<2)|2,{72,54,0}}, +/* 50920 */ {(13<<2)|2,{72,55,0}}, +/* 50921 */ {(13<<2)|2,{72,55,0}}, +/* 50922 */ {(13<<2)|2,{72,55,0}}, +/* 50923 */ {(13<<2)|2,{72,55,0}}, +/* 50924 */ {(13<<2)|2,{72,55,0}}, +/* 50925 */ {(13<<2)|2,{72,55,0}}, +/* 50926 */ {(13<<2)|2,{72,55,0}}, +/* 50927 */ {(13<<2)|2,{72,55,0}}, +/* 50928 */ {(13<<2)|2,{72,56,0}}, +/* 50929 */ {(13<<2)|2,{72,56,0}}, +/* 50930 */ {(13<<2)|2,{72,56,0}}, +/* 50931 */ {(13<<2)|2,{72,56,0}}, +/* 50932 */ {(13<<2)|2,{72,56,0}}, +/* 50933 */ {(13<<2)|2,{72,56,0}}, +/* 50934 */ {(13<<2)|2,{72,56,0}}, +/* 50935 */ {(13<<2)|2,{72,56,0}}, +/* 50936 */ {(13<<2)|2,{72,57,0}}, +/* 50937 */ {(13<<2)|2,{72,57,0}}, +/* 50938 */ {(13<<2)|2,{72,57,0}}, +/* 50939 */ {(13<<2)|2,{72,57,0}}, +/* 50940 */ {(13<<2)|2,{72,57,0}}, +/* 50941 */ {(13<<2)|2,{72,57,0}}, +/* 50942 */ {(13<<2)|2,{72,57,0}}, +/* 50943 */ {(13<<2)|2,{72,57,0}}, +/* 50944 */ {(13<<2)|2,{72,61,0}}, +/* 50945 */ {(13<<2)|2,{72,61,0}}, +/* 50946 */ {(13<<2)|2,{72,61,0}}, +/* 50947 */ {(13<<2)|2,{72,61,0}}, +/* 50948 */ {(13<<2)|2,{72,61,0}}, +/* 50949 */ {(13<<2)|2,{72,61,0}}, +/* 50950 */ {(13<<2)|2,{72,61,0}}, +/* 50951 */ {(13<<2)|2,{72,61,0}}, +/* 50952 */ {(13<<2)|2,{72,65,0}}, +/* 50953 */ {(13<<2)|2,{72,65,0}}, +/* 50954 */ {(13<<2)|2,{72,65,0}}, +/* 50955 */ {(13<<2)|2,{72,65,0}}, +/* 50956 */ {(13<<2)|2,{72,65,0}}, +/* 50957 */ {(13<<2)|2,{72,65,0}}, +/* 50958 */ {(13<<2)|2,{72,65,0}}, +/* 50959 */ {(13<<2)|2,{72,65,0}}, +/* 50960 */ {(13<<2)|2,{72,95,0}}, +/* 50961 */ {(13<<2)|2,{72,95,0}}, +/* 50962 */ {(13<<2)|2,{72,95,0}}, +/* 50963 */ {(13<<2)|2,{72,95,0}}, +/* 50964 */ {(13<<2)|2,{72,95,0}}, +/* 50965 */ {(13<<2)|2,{72,95,0}}, +/* 50966 */ {(13<<2)|2,{72,95,0}}, +/* 50967 */ {(13<<2)|2,{72,95,0}}, +/* 50968 */ {(13<<2)|2,{72,98,0}}, +/* 50969 */ {(13<<2)|2,{72,98,0}}, +/* 50970 */ {(13<<2)|2,{72,98,0}}, +/* 50971 */ {(13<<2)|2,{72,98,0}}, +/* 50972 */ {(13<<2)|2,{72,98,0}}, +/* 50973 */ {(13<<2)|2,{72,98,0}}, +/* 50974 */ {(13<<2)|2,{72,98,0}}, +/* 50975 */ {(13<<2)|2,{72,98,0}}, +/* 50976 */ {(13<<2)|2,{72,100,0}}, +/* 50977 */ {(13<<2)|2,{72,100,0}}, +/* 50978 */ {(13<<2)|2,{72,100,0}}, +/* 50979 */ {(13<<2)|2,{72,100,0}}, +/* 50980 */ {(13<<2)|2,{72,100,0}}, +/* 50981 */ {(13<<2)|2,{72,100,0}}, +/* 50982 */ {(13<<2)|2,{72,100,0}}, +/* 50983 */ {(13<<2)|2,{72,100,0}}, +/* 50984 */ {(13<<2)|2,{72,102,0}}, +/* 50985 */ {(13<<2)|2,{72,102,0}}, +/* 50986 */ {(13<<2)|2,{72,102,0}}, +/* 50987 */ {(13<<2)|2,{72,102,0}}, +/* 50988 */ {(13<<2)|2,{72,102,0}}, +/* 50989 */ {(13<<2)|2,{72,102,0}}, +/* 50990 */ {(13<<2)|2,{72,102,0}}, +/* 50991 */ {(13<<2)|2,{72,102,0}}, +/* 50992 */ {(13<<2)|2,{72,103,0}}, +/* 50993 */ {(13<<2)|2,{72,103,0}}, +/* 50994 */ {(13<<2)|2,{72,103,0}}, +/* 50995 */ {(13<<2)|2,{72,103,0}}, +/* 50996 */ {(13<<2)|2,{72,103,0}}, +/* 50997 */ {(13<<2)|2,{72,103,0}}, +/* 50998 */ {(13<<2)|2,{72,103,0}}, +/* 50999 */ {(13<<2)|2,{72,103,0}}, +/* 51000 */ {(13<<2)|2,{72,104,0}}, +/* 51001 */ {(13<<2)|2,{72,104,0}}, +/* 51002 */ {(13<<2)|2,{72,104,0}}, +/* 51003 */ {(13<<2)|2,{72,104,0}}, +/* 51004 */ {(13<<2)|2,{72,104,0}}, +/* 51005 */ {(13<<2)|2,{72,104,0}}, +/* 51006 */ {(13<<2)|2,{72,104,0}}, +/* 51007 */ {(13<<2)|2,{72,104,0}}, +/* 51008 */ {(13<<2)|2,{72,108,0}}, +/* 51009 */ {(13<<2)|2,{72,108,0}}, +/* 51010 */ {(13<<2)|2,{72,108,0}}, +/* 51011 */ {(13<<2)|2,{72,108,0}}, +/* 51012 */ {(13<<2)|2,{72,108,0}}, +/* 51013 */ {(13<<2)|2,{72,108,0}}, +/* 51014 */ {(13<<2)|2,{72,108,0}}, +/* 51015 */ {(13<<2)|2,{72,108,0}}, +/* 51016 */ {(13<<2)|2,{72,109,0}}, +/* 51017 */ {(13<<2)|2,{72,109,0}}, +/* 51018 */ {(13<<2)|2,{72,109,0}}, +/* 51019 */ {(13<<2)|2,{72,109,0}}, +/* 51020 */ {(13<<2)|2,{72,109,0}}, +/* 51021 */ {(13<<2)|2,{72,109,0}}, +/* 51022 */ {(13<<2)|2,{72,109,0}}, +/* 51023 */ {(13<<2)|2,{72,109,0}}, +/* 51024 */ {(13<<2)|2,{72,110,0}}, +/* 51025 */ {(13<<2)|2,{72,110,0}}, +/* 51026 */ {(13<<2)|2,{72,110,0}}, +/* 51027 */ {(13<<2)|2,{72,110,0}}, +/* 51028 */ {(13<<2)|2,{72,110,0}}, +/* 51029 */ {(13<<2)|2,{72,110,0}}, +/* 51030 */ {(13<<2)|2,{72,110,0}}, +/* 51031 */ {(13<<2)|2,{72,110,0}}, +/* 51032 */ {(13<<2)|2,{72,112,0}}, +/* 51033 */ {(13<<2)|2,{72,112,0}}, +/* 51034 */ {(13<<2)|2,{72,112,0}}, +/* 51035 */ {(13<<2)|2,{72,112,0}}, +/* 51036 */ {(13<<2)|2,{72,112,0}}, +/* 51037 */ {(13<<2)|2,{72,112,0}}, +/* 51038 */ {(13<<2)|2,{72,112,0}}, +/* 51039 */ {(13<<2)|2,{72,112,0}}, +/* 51040 */ {(13<<2)|2,{72,114,0}}, +/* 51041 */ {(13<<2)|2,{72,114,0}}, +/* 51042 */ {(13<<2)|2,{72,114,0}}, +/* 51043 */ {(13<<2)|2,{72,114,0}}, +/* 51044 */ {(13<<2)|2,{72,114,0}}, +/* 51045 */ {(13<<2)|2,{72,114,0}}, +/* 51046 */ {(13<<2)|2,{72,114,0}}, +/* 51047 */ {(13<<2)|2,{72,114,0}}, +/* 51048 */ {(13<<2)|2,{72,117,0}}, +/* 51049 */ {(13<<2)|2,{72,117,0}}, +/* 51050 */ {(13<<2)|2,{72,117,0}}, +/* 51051 */ {(13<<2)|2,{72,117,0}}, +/* 51052 */ {(13<<2)|2,{72,117,0}}, +/* 51053 */ {(13<<2)|2,{72,117,0}}, +/* 51054 */ {(13<<2)|2,{72,117,0}}, +/* 51055 */ {(13<<2)|2,{72,117,0}}, +/* 51056 */ {(14<<2)|2,{72,58,0}}, +/* 51057 */ {(14<<2)|2,{72,58,0}}, +/* 51058 */ {(14<<2)|2,{72,58,0}}, +/* 51059 */ {(14<<2)|2,{72,58,0}}, +/* 51060 */ {(14<<2)|2,{72,66,0}}, +/* 51061 */ {(14<<2)|2,{72,66,0}}, +/* 51062 */ {(14<<2)|2,{72,66,0}}, +/* 51063 */ {(14<<2)|2,{72,66,0}}, +/* 51064 */ {(14<<2)|2,{72,67,0}}, +/* 51065 */ {(14<<2)|2,{72,67,0}}, +/* 51066 */ {(14<<2)|2,{72,67,0}}, +/* 51067 */ {(14<<2)|2,{72,67,0}}, +/* 51068 */ {(14<<2)|2,{72,68,0}}, +/* 51069 */ {(14<<2)|2,{72,68,0}}, +/* 51070 */ {(14<<2)|2,{72,68,0}}, +/* 51071 */ {(14<<2)|2,{72,68,0}}, +/* 51072 */ {(14<<2)|2,{72,69,0}}, +/* 51073 */ {(14<<2)|2,{72,69,0}}, +/* 51074 */ {(14<<2)|2,{72,69,0}}, +/* 51075 */ {(14<<2)|2,{72,69,0}}, +/* 51076 */ {(14<<2)|2,{72,70,0}}, +/* 51077 */ {(14<<2)|2,{72,70,0}}, +/* 51078 */ {(14<<2)|2,{72,70,0}}, +/* 51079 */ {(14<<2)|2,{72,70,0}}, +/* 51080 */ {(14<<2)|2,{72,71,0}}, +/* 51081 */ {(14<<2)|2,{72,71,0}}, +/* 51082 */ {(14<<2)|2,{72,71,0}}, +/* 51083 */ {(14<<2)|2,{72,71,0}}, +/* 51084 */ {(14<<2)|2,{72,72,0}}, +/* 51085 */ {(14<<2)|2,{72,72,0}}, +/* 51086 */ {(14<<2)|2,{72,72,0}}, +/* 51087 */ {(14<<2)|2,{72,72,0}}, +/* 51088 */ {(14<<2)|2,{72,73,0}}, +/* 51089 */ {(14<<2)|2,{72,73,0}}, +/* 51090 */ {(14<<2)|2,{72,73,0}}, +/* 51091 */ {(14<<2)|2,{72,73,0}}, +/* 51092 */ {(14<<2)|2,{72,74,0}}, +/* 51093 */ {(14<<2)|2,{72,74,0}}, +/* 51094 */ {(14<<2)|2,{72,74,0}}, +/* 51095 */ {(14<<2)|2,{72,74,0}}, +/* 51096 */ {(14<<2)|2,{72,75,0}}, +/* 51097 */ {(14<<2)|2,{72,75,0}}, +/* 51098 */ {(14<<2)|2,{72,75,0}}, +/* 51099 */ {(14<<2)|2,{72,75,0}}, +/* 51100 */ {(14<<2)|2,{72,76,0}}, +/* 51101 */ {(14<<2)|2,{72,76,0}}, +/* 51102 */ {(14<<2)|2,{72,76,0}}, +/* 51103 */ {(14<<2)|2,{72,76,0}}, +/* 51104 */ {(14<<2)|2,{72,77,0}}, +/* 51105 */ {(14<<2)|2,{72,77,0}}, +/* 51106 */ {(14<<2)|2,{72,77,0}}, +/* 51107 */ {(14<<2)|2,{72,77,0}}, +/* 51108 */ {(14<<2)|2,{72,78,0}}, +/* 51109 */ {(14<<2)|2,{72,78,0}}, +/* 51110 */ {(14<<2)|2,{72,78,0}}, +/* 51111 */ {(14<<2)|2,{72,78,0}}, +/* 51112 */ {(14<<2)|2,{72,79,0}}, +/* 51113 */ {(14<<2)|2,{72,79,0}}, +/* 51114 */ {(14<<2)|2,{72,79,0}}, +/* 51115 */ {(14<<2)|2,{72,79,0}}, +/* 51116 */ {(14<<2)|2,{72,80,0}}, +/* 51117 */ {(14<<2)|2,{72,80,0}}, +/* 51118 */ {(14<<2)|2,{72,80,0}}, +/* 51119 */ {(14<<2)|2,{72,80,0}}, +/* 51120 */ {(14<<2)|2,{72,81,0}}, +/* 51121 */ {(14<<2)|2,{72,81,0}}, +/* 51122 */ {(14<<2)|2,{72,81,0}}, +/* 51123 */ {(14<<2)|2,{72,81,0}}, +/* 51124 */ {(14<<2)|2,{72,82,0}}, +/* 51125 */ {(14<<2)|2,{72,82,0}}, +/* 51126 */ {(14<<2)|2,{72,82,0}}, +/* 51127 */ {(14<<2)|2,{72,82,0}}, +/* 51128 */ {(14<<2)|2,{72,83,0}}, +/* 51129 */ {(14<<2)|2,{72,83,0}}, +/* 51130 */ {(14<<2)|2,{72,83,0}}, +/* 51131 */ {(14<<2)|2,{72,83,0}}, +/* 51132 */ {(14<<2)|2,{72,84,0}}, +/* 51133 */ {(14<<2)|2,{72,84,0}}, +/* 51134 */ {(14<<2)|2,{72,84,0}}, +/* 51135 */ {(14<<2)|2,{72,84,0}}, +/* 51136 */ {(14<<2)|2,{72,85,0}}, +/* 51137 */ {(14<<2)|2,{72,85,0}}, +/* 51138 */ {(14<<2)|2,{72,85,0}}, +/* 51139 */ {(14<<2)|2,{72,85,0}}, +/* 51140 */ {(14<<2)|2,{72,86,0}}, +/* 51141 */ {(14<<2)|2,{72,86,0}}, +/* 51142 */ {(14<<2)|2,{72,86,0}}, +/* 51143 */ {(14<<2)|2,{72,86,0}}, +/* 51144 */ {(14<<2)|2,{72,87,0}}, +/* 51145 */ {(14<<2)|2,{72,87,0}}, +/* 51146 */ {(14<<2)|2,{72,87,0}}, +/* 51147 */ {(14<<2)|2,{72,87,0}}, +/* 51148 */ {(14<<2)|2,{72,89,0}}, +/* 51149 */ {(14<<2)|2,{72,89,0}}, +/* 51150 */ {(14<<2)|2,{72,89,0}}, +/* 51151 */ {(14<<2)|2,{72,89,0}}, +/* 51152 */ {(14<<2)|2,{72,106,0}}, +/* 51153 */ {(14<<2)|2,{72,106,0}}, +/* 51154 */ {(14<<2)|2,{72,106,0}}, +/* 51155 */ {(14<<2)|2,{72,106,0}}, +/* 51156 */ {(14<<2)|2,{72,107,0}}, +/* 51157 */ {(14<<2)|2,{72,107,0}}, +/* 51158 */ {(14<<2)|2,{72,107,0}}, +/* 51159 */ {(14<<2)|2,{72,107,0}}, +/* 51160 */ {(14<<2)|2,{72,113,0}}, +/* 51161 */ {(14<<2)|2,{72,113,0}}, +/* 51162 */ {(14<<2)|2,{72,113,0}}, +/* 51163 */ {(14<<2)|2,{72,113,0}}, +/* 51164 */ {(14<<2)|2,{72,118,0}}, +/* 51165 */ {(14<<2)|2,{72,118,0}}, +/* 51166 */ {(14<<2)|2,{72,118,0}}, +/* 51167 */ {(14<<2)|2,{72,118,0}}, +/* 51168 */ {(14<<2)|2,{72,119,0}}, +/* 51169 */ {(14<<2)|2,{72,119,0}}, +/* 51170 */ {(14<<2)|2,{72,119,0}}, +/* 51171 */ {(14<<2)|2,{72,119,0}}, +/* 51172 */ {(14<<2)|2,{72,120,0}}, +/* 51173 */ {(14<<2)|2,{72,120,0}}, +/* 51174 */ {(14<<2)|2,{72,120,0}}, +/* 51175 */ {(14<<2)|2,{72,120,0}}, +/* 51176 */ {(14<<2)|2,{72,121,0}}, +/* 51177 */ {(14<<2)|2,{72,121,0}}, +/* 51178 */ {(14<<2)|2,{72,121,0}}, +/* 51179 */ {(14<<2)|2,{72,121,0}}, +/* 51180 */ {(14<<2)|2,{72,122,0}}, +/* 51181 */ {(14<<2)|2,{72,122,0}}, +/* 51182 */ {(14<<2)|2,{72,122,0}}, +/* 51183 */ {(14<<2)|2,{72,122,0}}, +/* 51184 */ {(15<<2)|2,{72,38,0}}, +/* 51185 */ {(15<<2)|2,{72,38,0}}, +/* 51186 */ {(15<<2)|2,{72,42,0}}, +/* 51187 */ {(15<<2)|2,{72,42,0}}, +/* 51188 */ {(15<<2)|2,{72,44,0}}, +/* 51189 */ {(15<<2)|2,{72,44,0}}, +/* 51190 */ {(15<<2)|2,{72,59,0}}, +/* 51191 */ {(15<<2)|2,{72,59,0}}, +/* 51192 */ {(15<<2)|2,{72,88,0}}, +/* 51193 */ {(15<<2)|2,{72,88,0}}, +/* 51194 */ {(15<<2)|2,{72,90,0}}, +/* 51195 */ {(15<<2)|2,{72,90,0}}, +/* 51196 */ {(7<<2)|1,{72,0,0}}, +/* 51197 */ {(7<<2)|1,{72,0,0}}, +/* 51198 */ {(7<<2)|1,{72,0,0}}, +/* 51199 */ {(7<<2)|1,{72,0,0}}, +/* 51200 */ {(12<<2)|2,{73,48,0}}, +/* 51201 */ {(12<<2)|2,{73,48,0}}, +/* 51202 */ {(12<<2)|2,{73,48,0}}, +/* 51203 */ {(12<<2)|2,{73,48,0}}, +/* 51204 */ {(12<<2)|2,{73,48,0}}, +/* 51205 */ {(12<<2)|2,{73,48,0}}, +/* 51206 */ {(12<<2)|2,{73,48,0}}, +/* 51207 */ {(12<<2)|2,{73,48,0}}, +/* 51208 */ {(12<<2)|2,{73,48,0}}, +/* 51209 */ {(12<<2)|2,{73,48,0}}, +/* 51210 */ {(12<<2)|2,{73,48,0}}, +/* 51211 */ {(12<<2)|2,{73,48,0}}, +/* 51212 */ {(12<<2)|2,{73,48,0}}, +/* 51213 */ {(12<<2)|2,{73,48,0}}, +/* 51214 */ {(12<<2)|2,{73,48,0}}, +/* 51215 */ {(12<<2)|2,{73,48,0}}, +/* 51216 */ {(12<<2)|2,{73,49,0}}, +/* 51217 */ {(12<<2)|2,{73,49,0}}, +/* 51218 */ {(12<<2)|2,{73,49,0}}, +/* 51219 */ {(12<<2)|2,{73,49,0}}, +/* 51220 */ {(12<<2)|2,{73,49,0}}, +/* 51221 */ {(12<<2)|2,{73,49,0}}, +/* 51222 */ {(12<<2)|2,{73,49,0}}, +/* 51223 */ {(12<<2)|2,{73,49,0}}, +/* 51224 */ {(12<<2)|2,{73,49,0}}, +/* 51225 */ {(12<<2)|2,{73,49,0}}, +/* 51226 */ {(12<<2)|2,{73,49,0}}, +/* 51227 */ {(12<<2)|2,{73,49,0}}, +/* 51228 */ {(12<<2)|2,{73,49,0}}, +/* 51229 */ {(12<<2)|2,{73,49,0}}, +/* 51230 */ {(12<<2)|2,{73,49,0}}, +/* 51231 */ {(12<<2)|2,{73,49,0}}, +/* 51232 */ {(12<<2)|2,{73,50,0}}, +/* 51233 */ {(12<<2)|2,{73,50,0}}, +/* 51234 */ {(12<<2)|2,{73,50,0}}, +/* 51235 */ {(12<<2)|2,{73,50,0}}, +/* 51236 */ {(12<<2)|2,{73,50,0}}, +/* 51237 */ {(12<<2)|2,{73,50,0}}, +/* 51238 */ {(12<<2)|2,{73,50,0}}, +/* 51239 */ {(12<<2)|2,{73,50,0}}, +/* 51240 */ {(12<<2)|2,{73,50,0}}, +/* 51241 */ {(12<<2)|2,{73,50,0}}, +/* 51242 */ {(12<<2)|2,{73,50,0}}, +/* 51243 */ {(12<<2)|2,{73,50,0}}, +/* 51244 */ {(12<<2)|2,{73,50,0}}, +/* 51245 */ {(12<<2)|2,{73,50,0}}, +/* 51246 */ {(12<<2)|2,{73,50,0}}, +/* 51247 */ {(12<<2)|2,{73,50,0}}, +/* 51248 */ {(12<<2)|2,{73,97,0}}, +/* 51249 */ {(12<<2)|2,{73,97,0}}, +/* 51250 */ {(12<<2)|2,{73,97,0}}, +/* 51251 */ {(12<<2)|2,{73,97,0}}, +/* 51252 */ {(12<<2)|2,{73,97,0}}, +/* 51253 */ {(12<<2)|2,{73,97,0}}, +/* 51254 */ {(12<<2)|2,{73,97,0}}, +/* 51255 */ {(12<<2)|2,{73,97,0}}, +/* 51256 */ {(12<<2)|2,{73,97,0}}, +/* 51257 */ {(12<<2)|2,{73,97,0}}, +/* 51258 */ {(12<<2)|2,{73,97,0}}, +/* 51259 */ {(12<<2)|2,{73,97,0}}, +/* 51260 */ {(12<<2)|2,{73,97,0}}, +/* 51261 */ {(12<<2)|2,{73,97,0}}, +/* 51262 */ {(12<<2)|2,{73,97,0}}, +/* 51263 */ {(12<<2)|2,{73,97,0}}, +/* 51264 */ {(12<<2)|2,{73,99,0}}, +/* 51265 */ {(12<<2)|2,{73,99,0}}, +/* 51266 */ {(12<<2)|2,{73,99,0}}, +/* 51267 */ {(12<<2)|2,{73,99,0}}, +/* 51268 */ {(12<<2)|2,{73,99,0}}, +/* 51269 */ {(12<<2)|2,{73,99,0}}, +/* 51270 */ {(12<<2)|2,{73,99,0}}, +/* 51271 */ {(12<<2)|2,{73,99,0}}, +/* 51272 */ {(12<<2)|2,{73,99,0}}, +/* 51273 */ {(12<<2)|2,{73,99,0}}, +/* 51274 */ {(12<<2)|2,{73,99,0}}, +/* 51275 */ {(12<<2)|2,{73,99,0}}, +/* 51276 */ {(12<<2)|2,{73,99,0}}, +/* 51277 */ {(12<<2)|2,{73,99,0}}, +/* 51278 */ {(12<<2)|2,{73,99,0}}, +/* 51279 */ {(12<<2)|2,{73,99,0}}, +/* 51280 */ {(12<<2)|2,{73,101,0}}, +/* 51281 */ {(12<<2)|2,{73,101,0}}, +/* 51282 */ {(12<<2)|2,{73,101,0}}, +/* 51283 */ {(12<<2)|2,{73,101,0}}, +/* 51284 */ {(12<<2)|2,{73,101,0}}, +/* 51285 */ {(12<<2)|2,{73,101,0}}, +/* 51286 */ {(12<<2)|2,{73,101,0}}, +/* 51287 */ {(12<<2)|2,{73,101,0}}, +/* 51288 */ {(12<<2)|2,{73,101,0}}, +/* 51289 */ {(12<<2)|2,{73,101,0}}, +/* 51290 */ {(12<<2)|2,{73,101,0}}, +/* 51291 */ {(12<<2)|2,{73,101,0}}, +/* 51292 */ {(12<<2)|2,{73,101,0}}, +/* 51293 */ {(12<<2)|2,{73,101,0}}, +/* 51294 */ {(12<<2)|2,{73,101,0}}, +/* 51295 */ {(12<<2)|2,{73,101,0}}, +/* 51296 */ {(12<<2)|2,{73,105,0}}, +/* 51297 */ {(12<<2)|2,{73,105,0}}, +/* 51298 */ {(12<<2)|2,{73,105,0}}, +/* 51299 */ {(12<<2)|2,{73,105,0}}, +/* 51300 */ {(12<<2)|2,{73,105,0}}, +/* 51301 */ {(12<<2)|2,{73,105,0}}, +/* 51302 */ {(12<<2)|2,{73,105,0}}, +/* 51303 */ {(12<<2)|2,{73,105,0}}, +/* 51304 */ {(12<<2)|2,{73,105,0}}, +/* 51305 */ {(12<<2)|2,{73,105,0}}, +/* 51306 */ {(12<<2)|2,{73,105,0}}, +/* 51307 */ {(12<<2)|2,{73,105,0}}, +/* 51308 */ {(12<<2)|2,{73,105,0}}, +/* 51309 */ {(12<<2)|2,{73,105,0}}, +/* 51310 */ {(12<<2)|2,{73,105,0}}, +/* 51311 */ {(12<<2)|2,{73,105,0}}, +/* 51312 */ {(12<<2)|2,{73,111,0}}, +/* 51313 */ {(12<<2)|2,{73,111,0}}, +/* 51314 */ {(12<<2)|2,{73,111,0}}, +/* 51315 */ {(12<<2)|2,{73,111,0}}, +/* 51316 */ {(12<<2)|2,{73,111,0}}, +/* 51317 */ {(12<<2)|2,{73,111,0}}, +/* 51318 */ {(12<<2)|2,{73,111,0}}, +/* 51319 */ {(12<<2)|2,{73,111,0}}, +/* 51320 */ {(12<<2)|2,{73,111,0}}, +/* 51321 */ {(12<<2)|2,{73,111,0}}, +/* 51322 */ {(12<<2)|2,{73,111,0}}, +/* 51323 */ {(12<<2)|2,{73,111,0}}, +/* 51324 */ {(12<<2)|2,{73,111,0}}, +/* 51325 */ {(12<<2)|2,{73,111,0}}, +/* 51326 */ {(12<<2)|2,{73,111,0}}, +/* 51327 */ {(12<<2)|2,{73,111,0}}, +/* 51328 */ {(12<<2)|2,{73,115,0}}, +/* 51329 */ {(12<<2)|2,{73,115,0}}, +/* 51330 */ {(12<<2)|2,{73,115,0}}, +/* 51331 */ {(12<<2)|2,{73,115,0}}, +/* 51332 */ {(12<<2)|2,{73,115,0}}, +/* 51333 */ {(12<<2)|2,{73,115,0}}, +/* 51334 */ {(12<<2)|2,{73,115,0}}, +/* 51335 */ {(12<<2)|2,{73,115,0}}, +/* 51336 */ {(12<<2)|2,{73,115,0}}, +/* 51337 */ {(12<<2)|2,{73,115,0}}, +/* 51338 */ {(12<<2)|2,{73,115,0}}, +/* 51339 */ {(12<<2)|2,{73,115,0}}, +/* 51340 */ {(12<<2)|2,{73,115,0}}, +/* 51341 */ {(12<<2)|2,{73,115,0}}, +/* 51342 */ {(12<<2)|2,{73,115,0}}, +/* 51343 */ {(12<<2)|2,{73,115,0}}, +/* 51344 */ {(12<<2)|2,{73,116,0}}, +/* 51345 */ {(12<<2)|2,{73,116,0}}, +/* 51346 */ {(12<<2)|2,{73,116,0}}, +/* 51347 */ {(12<<2)|2,{73,116,0}}, +/* 51348 */ {(12<<2)|2,{73,116,0}}, +/* 51349 */ {(12<<2)|2,{73,116,0}}, +/* 51350 */ {(12<<2)|2,{73,116,0}}, +/* 51351 */ {(12<<2)|2,{73,116,0}}, +/* 51352 */ {(12<<2)|2,{73,116,0}}, +/* 51353 */ {(12<<2)|2,{73,116,0}}, +/* 51354 */ {(12<<2)|2,{73,116,0}}, +/* 51355 */ {(12<<2)|2,{73,116,0}}, +/* 51356 */ {(12<<2)|2,{73,116,0}}, +/* 51357 */ {(12<<2)|2,{73,116,0}}, +/* 51358 */ {(12<<2)|2,{73,116,0}}, +/* 51359 */ {(12<<2)|2,{73,116,0}}, +/* 51360 */ {(13<<2)|2,{73,32,0}}, +/* 51361 */ {(13<<2)|2,{73,32,0}}, +/* 51362 */ {(13<<2)|2,{73,32,0}}, +/* 51363 */ {(13<<2)|2,{73,32,0}}, +/* 51364 */ {(13<<2)|2,{73,32,0}}, +/* 51365 */ {(13<<2)|2,{73,32,0}}, +/* 51366 */ {(13<<2)|2,{73,32,0}}, +/* 51367 */ {(13<<2)|2,{73,32,0}}, +/* 51368 */ {(13<<2)|2,{73,37,0}}, +/* 51369 */ {(13<<2)|2,{73,37,0}}, +/* 51370 */ {(13<<2)|2,{73,37,0}}, +/* 51371 */ {(13<<2)|2,{73,37,0}}, +/* 51372 */ {(13<<2)|2,{73,37,0}}, +/* 51373 */ {(13<<2)|2,{73,37,0}}, +/* 51374 */ {(13<<2)|2,{73,37,0}}, +/* 51375 */ {(13<<2)|2,{73,37,0}}, +/* 51376 */ {(13<<2)|2,{73,45,0}}, +/* 51377 */ {(13<<2)|2,{73,45,0}}, +/* 51378 */ {(13<<2)|2,{73,45,0}}, +/* 51379 */ {(13<<2)|2,{73,45,0}}, +/* 51380 */ {(13<<2)|2,{73,45,0}}, +/* 51381 */ {(13<<2)|2,{73,45,0}}, +/* 51382 */ {(13<<2)|2,{73,45,0}}, +/* 51383 */ {(13<<2)|2,{73,45,0}}, +/* 51384 */ {(13<<2)|2,{73,46,0}}, +/* 51385 */ {(13<<2)|2,{73,46,0}}, +/* 51386 */ {(13<<2)|2,{73,46,0}}, +/* 51387 */ {(13<<2)|2,{73,46,0}}, +/* 51388 */ {(13<<2)|2,{73,46,0}}, +/* 51389 */ {(13<<2)|2,{73,46,0}}, +/* 51390 */ {(13<<2)|2,{73,46,0}}, +/* 51391 */ {(13<<2)|2,{73,46,0}}, +/* 51392 */ {(13<<2)|2,{73,47,0}}, +/* 51393 */ {(13<<2)|2,{73,47,0}}, +/* 51394 */ {(13<<2)|2,{73,47,0}}, +/* 51395 */ {(13<<2)|2,{73,47,0}}, +/* 51396 */ {(13<<2)|2,{73,47,0}}, +/* 51397 */ {(13<<2)|2,{73,47,0}}, +/* 51398 */ {(13<<2)|2,{73,47,0}}, +/* 51399 */ {(13<<2)|2,{73,47,0}}, +/* 51400 */ {(13<<2)|2,{73,51,0}}, +/* 51401 */ {(13<<2)|2,{73,51,0}}, +/* 51402 */ {(13<<2)|2,{73,51,0}}, +/* 51403 */ {(13<<2)|2,{73,51,0}}, +/* 51404 */ {(13<<2)|2,{73,51,0}}, +/* 51405 */ {(13<<2)|2,{73,51,0}}, +/* 51406 */ {(13<<2)|2,{73,51,0}}, +/* 51407 */ {(13<<2)|2,{73,51,0}}, +/* 51408 */ {(13<<2)|2,{73,52,0}}, +/* 51409 */ {(13<<2)|2,{73,52,0}}, +/* 51410 */ {(13<<2)|2,{73,52,0}}, +/* 51411 */ {(13<<2)|2,{73,52,0}}, +/* 51412 */ {(13<<2)|2,{73,52,0}}, +/* 51413 */ {(13<<2)|2,{73,52,0}}, +/* 51414 */ {(13<<2)|2,{73,52,0}}, +/* 51415 */ {(13<<2)|2,{73,52,0}}, +/* 51416 */ {(13<<2)|2,{73,53,0}}, +/* 51417 */ {(13<<2)|2,{73,53,0}}, +/* 51418 */ {(13<<2)|2,{73,53,0}}, +/* 51419 */ {(13<<2)|2,{73,53,0}}, +/* 51420 */ {(13<<2)|2,{73,53,0}}, +/* 51421 */ {(13<<2)|2,{73,53,0}}, +/* 51422 */ {(13<<2)|2,{73,53,0}}, +/* 51423 */ {(13<<2)|2,{73,53,0}}, +/* 51424 */ {(13<<2)|2,{73,54,0}}, +/* 51425 */ {(13<<2)|2,{73,54,0}}, +/* 51426 */ {(13<<2)|2,{73,54,0}}, +/* 51427 */ {(13<<2)|2,{73,54,0}}, +/* 51428 */ {(13<<2)|2,{73,54,0}}, +/* 51429 */ {(13<<2)|2,{73,54,0}}, +/* 51430 */ {(13<<2)|2,{73,54,0}}, +/* 51431 */ {(13<<2)|2,{73,54,0}}, +/* 51432 */ {(13<<2)|2,{73,55,0}}, +/* 51433 */ {(13<<2)|2,{73,55,0}}, +/* 51434 */ {(13<<2)|2,{73,55,0}}, +/* 51435 */ {(13<<2)|2,{73,55,0}}, +/* 51436 */ {(13<<2)|2,{73,55,0}}, +/* 51437 */ {(13<<2)|2,{73,55,0}}, +/* 51438 */ {(13<<2)|2,{73,55,0}}, +/* 51439 */ {(13<<2)|2,{73,55,0}}, +/* 51440 */ {(13<<2)|2,{73,56,0}}, +/* 51441 */ {(13<<2)|2,{73,56,0}}, +/* 51442 */ {(13<<2)|2,{73,56,0}}, +/* 51443 */ {(13<<2)|2,{73,56,0}}, +/* 51444 */ {(13<<2)|2,{73,56,0}}, +/* 51445 */ {(13<<2)|2,{73,56,0}}, +/* 51446 */ {(13<<2)|2,{73,56,0}}, +/* 51447 */ {(13<<2)|2,{73,56,0}}, +/* 51448 */ {(13<<2)|2,{73,57,0}}, +/* 51449 */ {(13<<2)|2,{73,57,0}}, +/* 51450 */ {(13<<2)|2,{73,57,0}}, +/* 51451 */ {(13<<2)|2,{73,57,0}}, +/* 51452 */ {(13<<2)|2,{73,57,0}}, +/* 51453 */ {(13<<2)|2,{73,57,0}}, +/* 51454 */ {(13<<2)|2,{73,57,0}}, +/* 51455 */ {(13<<2)|2,{73,57,0}}, +/* 51456 */ {(13<<2)|2,{73,61,0}}, +/* 51457 */ {(13<<2)|2,{73,61,0}}, +/* 51458 */ {(13<<2)|2,{73,61,0}}, +/* 51459 */ {(13<<2)|2,{73,61,0}}, +/* 51460 */ {(13<<2)|2,{73,61,0}}, +/* 51461 */ {(13<<2)|2,{73,61,0}}, +/* 51462 */ {(13<<2)|2,{73,61,0}}, +/* 51463 */ {(13<<2)|2,{73,61,0}}, +/* 51464 */ {(13<<2)|2,{73,65,0}}, +/* 51465 */ {(13<<2)|2,{73,65,0}}, +/* 51466 */ {(13<<2)|2,{73,65,0}}, +/* 51467 */ {(13<<2)|2,{73,65,0}}, +/* 51468 */ {(13<<2)|2,{73,65,0}}, +/* 51469 */ {(13<<2)|2,{73,65,0}}, +/* 51470 */ {(13<<2)|2,{73,65,0}}, +/* 51471 */ {(13<<2)|2,{73,65,0}}, +/* 51472 */ {(13<<2)|2,{73,95,0}}, +/* 51473 */ {(13<<2)|2,{73,95,0}}, +/* 51474 */ {(13<<2)|2,{73,95,0}}, +/* 51475 */ {(13<<2)|2,{73,95,0}}, +/* 51476 */ {(13<<2)|2,{73,95,0}}, +/* 51477 */ {(13<<2)|2,{73,95,0}}, +/* 51478 */ {(13<<2)|2,{73,95,0}}, +/* 51479 */ {(13<<2)|2,{73,95,0}}, +/* 51480 */ {(13<<2)|2,{73,98,0}}, +/* 51481 */ {(13<<2)|2,{73,98,0}}, +/* 51482 */ {(13<<2)|2,{73,98,0}}, +/* 51483 */ {(13<<2)|2,{73,98,0}}, +/* 51484 */ {(13<<2)|2,{73,98,0}}, +/* 51485 */ {(13<<2)|2,{73,98,0}}, +/* 51486 */ {(13<<2)|2,{73,98,0}}, +/* 51487 */ {(13<<2)|2,{73,98,0}}, +/* 51488 */ {(13<<2)|2,{73,100,0}}, +/* 51489 */ {(13<<2)|2,{73,100,0}}, +/* 51490 */ {(13<<2)|2,{73,100,0}}, +/* 51491 */ {(13<<2)|2,{73,100,0}}, +/* 51492 */ {(13<<2)|2,{73,100,0}}, +/* 51493 */ {(13<<2)|2,{73,100,0}}, +/* 51494 */ {(13<<2)|2,{73,100,0}}, +/* 51495 */ {(13<<2)|2,{73,100,0}}, +/* 51496 */ {(13<<2)|2,{73,102,0}}, +/* 51497 */ {(13<<2)|2,{73,102,0}}, +/* 51498 */ {(13<<2)|2,{73,102,0}}, +/* 51499 */ {(13<<2)|2,{73,102,0}}, +/* 51500 */ {(13<<2)|2,{73,102,0}}, +/* 51501 */ {(13<<2)|2,{73,102,0}}, +/* 51502 */ {(13<<2)|2,{73,102,0}}, +/* 51503 */ {(13<<2)|2,{73,102,0}}, +/* 51504 */ {(13<<2)|2,{73,103,0}}, +/* 51505 */ {(13<<2)|2,{73,103,0}}, +/* 51506 */ {(13<<2)|2,{73,103,0}}, +/* 51507 */ {(13<<2)|2,{73,103,0}}, +/* 51508 */ {(13<<2)|2,{73,103,0}}, +/* 51509 */ {(13<<2)|2,{73,103,0}}, +/* 51510 */ {(13<<2)|2,{73,103,0}}, +/* 51511 */ {(13<<2)|2,{73,103,0}}, +/* 51512 */ {(13<<2)|2,{73,104,0}}, +/* 51513 */ {(13<<2)|2,{73,104,0}}, +/* 51514 */ {(13<<2)|2,{73,104,0}}, +/* 51515 */ {(13<<2)|2,{73,104,0}}, +/* 51516 */ {(13<<2)|2,{73,104,0}}, +/* 51517 */ {(13<<2)|2,{73,104,0}}, +/* 51518 */ {(13<<2)|2,{73,104,0}}, +/* 51519 */ {(13<<2)|2,{73,104,0}}, +/* 51520 */ {(13<<2)|2,{73,108,0}}, +/* 51521 */ {(13<<2)|2,{73,108,0}}, +/* 51522 */ {(13<<2)|2,{73,108,0}}, +/* 51523 */ {(13<<2)|2,{73,108,0}}, +/* 51524 */ {(13<<2)|2,{73,108,0}}, +/* 51525 */ {(13<<2)|2,{73,108,0}}, +/* 51526 */ {(13<<2)|2,{73,108,0}}, +/* 51527 */ {(13<<2)|2,{73,108,0}}, +/* 51528 */ {(13<<2)|2,{73,109,0}}, +/* 51529 */ {(13<<2)|2,{73,109,0}}, +/* 51530 */ {(13<<2)|2,{73,109,0}}, +/* 51531 */ {(13<<2)|2,{73,109,0}}, +/* 51532 */ {(13<<2)|2,{73,109,0}}, +/* 51533 */ {(13<<2)|2,{73,109,0}}, +/* 51534 */ {(13<<2)|2,{73,109,0}}, +/* 51535 */ {(13<<2)|2,{73,109,0}}, +/* 51536 */ {(13<<2)|2,{73,110,0}}, +/* 51537 */ {(13<<2)|2,{73,110,0}}, +/* 51538 */ {(13<<2)|2,{73,110,0}}, +/* 51539 */ {(13<<2)|2,{73,110,0}}, +/* 51540 */ {(13<<2)|2,{73,110,0}}, +/* 51541 */ {(13<<2)|2,{73,110,0}}, +/* 51542 */ {(13<<2)|2,{73,110,0}}, +/* 51543 */ {(13<<2)|2,{73,110,0}}, +/* 51544 */ {(13<<2)|2,{73,112,0}}, +/* 51545 */ {(13<<2)|2,{73,112,0}}, +/* 51546 */ {(13<<2)|2,{73,112,0}}, +/* 51547 */ {(13<<2)|2,{73,112,0}}, +/* 51548 */ {(13<<2)|2,{73,112,0}}, +/* 51549 */ {(13<<2)|2,{73,112,0}}, +/* 51550 */ {(13<<2)|2,{73,112,0}}, +/* 51551 */ {(13<<2)|2,{73,112,0}}, +/* 51552 */ {(13<<2)|2,{73,114,0}}, +/* 51553 */ {(13<<2)|2,{73,114,0}}, +/* 51554 */ {(13<<2)|2,{73,114,0}}, +/* 51555 */ {(13<<2)|2,{73,114,0}}, +/* 51556 */ {(13<<2)|2,{73,114,0}}, +/* 51557 */ {(13<<2)|2,{73,114,0}}, +/* 51558 */ {(13<<2)|2,{73,114,0}}, +/* 51559 */ {(13<<2)|2,{73,114,0}}, +/* 51560 */ {(13<<2)|2,{73,117,0}}, +/* 51561 */ {(13<<2)|2,{73,117,0}}, +/* 51562 */ {(13<<2)|2,{73,117,0}}, +/* 51563 */ {(13<<2)|2,{73,117,0}}, +/* 51564 */ {(13<<2)|2,{73,117,0}}, +/* 51565 */ {(13<<2)|2,{73,117,0}}, +/* 51566 */ {(13<<2)|2,{73,117,0}}, +/* 51567 */ {(13<<2)|2,{73,117,0}}, +/* 51568 */ {(14<<2)|2,{73,58,0}}, +/* 51569 */ {(14<<2)|2,{73,58,0}}, +/* 51570 */ {(14<<2)|2,{73,58,0}}, +/* 51571 */ {(14<<2)|2,{73,58,0}}, +/* 51572 */ {(14<<2)|2,{73,66,0}}, +/* 51573 */ {(14<<2)|2,{73,66,0}}, +/* 51574 */ {(14<<2)|2,{73,66,0}}, +/* 51575 */ {(14<<2)|2,{73,66,0}}, +/* 51576 */ {(14<<2)|2,{73,67,0}}, +/* 51577 */ {(14<<2)|2,{73,67,0}}, +/* 51578 */ {(14<<2)|2,{73,67,0}}, +/* 51579 */ {(14<<2)|2,{73,67,0}}, +/* 51580 */ {(14<<2)|2,{73,68,0}}, +/* 51581 */ {(14<<2)|2,{73,68,0}}, +/* 51582 */ {(14<<2)|2,{73,68,0}}, +/* 51583 */ {(14<<2)|2,{73,68,0}}, +/* 51584 */ {(14<<2)|2,{73,69,0}}, +/* 51585 */ {(14<<2)|2,{73,69,0}}, +/* 51586 */ {(14<<2)|2,{73,69,0}}, +/* 51587 */ {(14<<2)|2,{73,69,0}}, +/* 51588 */ {(14<<2)|2,{73,70,0}}, +/* 51589 */ {(14<<2)|2,{73,70,0}}, +/* 51590 */ {(14<<2)|2,{73,70,0}}, +/* 51591 */ {(14<<2)|2,{73,70,0}}, +/* 51592 */ {(14<<2)|2,{73,71,0}}, +/* 51593 */ {(14<<2)|2,{73,71,0}}, +/* 51594 */ {(14<<2)|2,{73,71,0}}, +/* 51595 */ {(14<<2)|2,{73,71,0}}, +/* 51596 */ {(14<<2)|2,{73,72,0}}, +/* 51597 */ {(14<<2)|2,{73,72,0}}, +/* 51598 */ {(14<<2)|2,{73,72,0}}, +/* 51599 */ {(14<<2)|2,{73,72,0}}, +/* 51600 */ {(14<<2)|2,{73,73,0}}, +/* 51601 */ {(14<<2)|2,{73,73,0}}, +/* 51602 */ {(14<<2)|2,{73,73,0}}, +/* 51603 */ {(14<<2)|2,{73,73,0}}, +/* 51604 */ {(14<<2)|2,{73,74,0}}, +/* 51605 */ {(14<<2)|2,{73,74,0}}, +/* 51606 */ {(14<<2)|2,{73,74,0}}, +/* 51607 */ {(14<<2)|2,{73,74,0}}, +/* 51608 */ {(14<<2)|2,{73,75,0}}, +/* 51609 */ {(14<<2)|2,{73,75,0}}, +/* 51610 */ {(14<<2)|2,{73,75,0}}, +/* 51611 */ {(14<<2)|2,{73,75,0}}, +/* 51612 */ {(14<<2)|2,{73,76,0}}, +/* 51613 */ {(14<<2)|2,{73,76,0}}, +/* 51614 */ {(14<<2)|2,{73,76,0}}, +/* 51615 */ {(14<<2)|2,{73,76,0}}, +/* 51616 */ {(14<<2)|2,{73,77,0}}, +/* 51617 */ {(14<<2)|2,{73,77,0}}, +/* 51618 */ {(14<<2)|2,{73,77,0}}, +/* 51619 */ {(14<<2)|2,{73,77,0}}, +/* 51620 */ {(14<<2)|2,{73,78,0}}, +/* 51621 */ {(14<<2)|2,{73,78,0}}, +/* 51622 */ {(14<<2)|2,{73,78,0}}, +/* 51623 */ {(14<<2)|2,{73,78,0}}, +/* 51624 */ {(14<<2)|2,{73,79,0}}, +/* 51625 */ {(14<<2)|2,{73,79,0}}, +/* 51626 */ {(14<<2)|2,{73,79,0}}, +/* 51627 */ {(14<<2)|2,{73,79,0}}, +/* 51628 */ {(14<<2)|2,{73,80,0}}, +/* 51629 */ {(14<<2)|2,{73,80,0}}, +/* 51630 */ {(14<<2)|2,{73,80,0}}, +/* 51631 */ {(14<<2)|2,{73,80,0}}, +/* 51632 */ {(14<<2)|2,{73,81,0}}, +/* 51633 */ {(14<<2)|2,{73,81,0}}, +/* 51634 */ {(14<<2)|2,{73,81,0}}, +/* 51635 */ {(14<<2)|2,{73,81,0}}, +/* 51636 */ {(14<<2)|2,{73,82,0}}, +/* 51637 */ {(14<<2)|2,{73,82,0}}, +/* 51638 */ {(14<<2)|2,{73,82,0}}, +/* 51639 */ {(14<<2)|2,{73,82,0}}, +/* 51640 */ {(14<<2)|2,{73,83,0}}, +/* 51641 */ {(14<<2)|2,{73,83,0}}, +/* 51642 */ {(14<<2)|2,{73,83,0}}, +/* 51643 */ {(14<<2)|2,{73,83,0}}, +/* 51644 */ {(14<<2)|2,{73,84,0}}, +/* 51645 */ {(14<<2)|2,{73,84,0}}, +/* 51646 */ {(14<<2)|2,{73,84,0}}, +/* 51647 */ {(14<<2)|2,{73,84,0}}, +/* 51648 */ {(14<<2)|2,{73,85,0}}, +/* 51649 */ {(14<<2)|2,{73,85,0}}, +/* 51650 */ {(14<<2)|2,{73,85,0}}, +/* 51651 */ {(14<<2)|2,{73,85,0}}, +/* 51652 */ {(14<<2)|2,{73,86,0}}, +/* 51653 */ {(14<<2)|2,{73,86,0}}, +/* 51654 */ {(14<<2)|2,{73,86,0}}, +/* 51655 */ {(14<<2)|2,{73,86,0}}, +/* 51656 */ {(14<<2)|2,{73,87,0}}, +/* 51657 */ {(14<<2)|2,{73,87,0}}, +/* 51658 */ {(14<<2)|2,{73,87,0}}, +/* 51659 */ {(14<<2)|2,{73,87,0}}, +/* 51660 */ {(14<<2)|2,{73,89,0}}, +/* 51661 */ {(14<<2)|2,{73,89,0}}, +/* 51662 */ {(14<<2)|2,{73,89,0}}, +/* 51663 */ {(14<<2)|2,{73,89,0}}, +/* 51664 */ {(14<<2)|2,{73,106,0}}, +/* 51665 */ {(14<<2)|2,{73,106,0}}, +/* 51666 */ {(14<<2)|2,{73,106,0}}, +/* 51667 */ {(14<<2)|2,{73,106,0}}, +/* 51668 */ {(14<<2)|2,{73,107,0}}, +/* 51669 */ {(14<<2)|2,{73,107,0}}, +/* 51670 */ {(14<<2)|2,{73,107,0}}, +/* 51671 */ {(14<<2)|2,{73,107,0}}, +/* 51672 */ {(14<<2)|2,{73,113,0}}, +/* 51673 */ {(14<<2)|2,{73,113,0}}, +/* 51674 */ {(14<<2)|2,{73,113,0}}, +/* 51675 */ {(14<<2)|2,{73,113,0}}, +/* 51676 */ {(14<<2)|2,{73,118,0}}, +/* 51677 */ {(14<<2)|2,{73,118,0}}, +/* 51678 */ {(14<<2)|2,{73,118,0}}, +/* 51679 */ {(14<<2)|2,{73,118,0}}, +/* 51680 */ {(14<<2)|2,{73,119,0}}, +/* 51681 */ {(14<<2)|2,{73,119,0}}, +/* 51682 */ {(14<<2)|2,{73,119,0}}, +/* 51683 */ {(14<<2)|2,{73,119,0}}, +/* 51684 */ {(14<<2)|2,{73,120,0}}, +/* 51685 */ {(14<<2)|2,{73,120,0}}, +/* 51686 */ {(14<<2)|2,{73,120,0}}, +/* 51687 */ {(14<<2)|2,{73,120,0}}, +/* 51688 */ {(14<<2)|2,{73,121,0}}, +/* 51689 */ {(14<<2)|2,{73,121,0}}, +/* 51690 */ {(14<<2)|2,{73,121,0}}, +/* 51691 */ {(14<<2)|2,{73,121,0}}, +/* 51692 */ {(14<<2)|2,{73,122,0}}, +/* 51693 */ {(14<<2)|2,{73,122,0}}, +/* 51694 */ {(14<<2)|2,{73,122,0}}, +/* 51695 */ {(14<<2)|2,{73,122,0}}, +/* 51696 */ {(15<<2)|2,{73,38,0}}, +/* 51697 */ {(15<<2)|2,{73,38,0}}, +/* 51698 */ {(15<<2)|2,{73,42,0}}, +/* 51699 */ {(15<<2)|2,{73,42,0}}, +/* 51700 */ {(15<<2)|2,{73,44,0}}, +/* 51701 */ {(15<<2)|2,{73,44,0}}, +/* 51702 */ {(15<<2)|2,{73,59,0}}, +/* 51703 */ {(15<<2)|2,{73,59,0}}, +/* 51704 */ {(15<<2)|2,{73,88,0}}, +/* 51705 */ {(15<<2)|2,{73,88,0}}, +/* 51706 */ {(15<<2)|2,{73,90,0}}, +/* 51707 */ {(15<<2)|2,{73,90,0}}, +/* 51708 */ {(7<<2)|1,{73,0,0}}, +/* 51709 */ {(7<<2)|1,{73,0,0}}, +/* 51710 */ {(7<<2)|1,{73,0,0}}, +/* 51711 */ {(7<<2)|1,{73,0,0}}, +/* 51712 */ {(12<<2)|2,{74,48,0}}, +/* 51713 */ {(12<<2)|2,{74,48,0}}, +/* 51714 */ {(12<<2)|2,{74,48,0}}, +/* 51715 */ {(12<<2)|2,{74,48,0}}, +/* 51716 */ {(12<<2)|2,{74,48,0}}, +/* 51717 */ {(12<<2)|2,{74,48,0}}, +/* 51718 */ {(12<<2)|2,{74,48,0}}, +/* 51719 */ {(12<<2)|2,{74,48,0}}, +/* 51720 */ {(12<<2)|2,{74,48,0}}, +/* 51721 */ {(12<<2)|2,{74,48,0}}, +/* 51722 */ {(12<<2)|2,{74,48,0}}, +/* 51723 */ {(12<<2)|2,{74,48,0}}, +/* 51724 */ {(12<<2)|2,{74,48,0}}, +/* 51725 */ {(12<<2)|2,{74,48,0}}, +/* 51726 */ {(12<<2)|2,{74,48,0}}, +/* 51727 */ {(12<<2)|2,{74,48,0}}, +/* 51728 */ {(12<<2)|2,{74,49,0}}, +/* 51729 */ {(12<<2)|2,{74,49,0}}, +/* 51730 */ {(12<<2)|2,{74,49,0}}, +/* 51731 */ {(12<<2)|2,{74,49,0}}, +/* 51732 */ {(12<<2)|2,{74,49,0}}, +/* 51733 */ {(12<<2)|2,{74,49,0}}, +/* 51734 */ {(12<<2)|2,{74,49,0}}, +/* 51735 */ {(12<<2)|2,{74,49,0}}, +/* 51736 */ {(12<<2)|2,{74,49,0}}, +/* 51737 */ {(12<<2)|2,{74,49,0}}, +/* 51738 */ {(12<<2)|2,{74,49,0}}, +/* 51739 */ {(12<<2)|2,{74,49,0}}, +/* 51740 */ {(12<<2)|2,{74,49,0}}, +/* 51741 */ {(12<<2)|2,{74,49,0}}, +/* 51742 */ {(12<<2)|2,{74,49,0}}, +/* 51743 */ {(12<<2)|2,{74,49,0}}, +/* 51744 */ {(12<<2)|2,{74,50,0}}, +/* 51745 */ {(12<<2)|2,{74,50,0}}, +/* 51746 */ {(12<<2)|2,{74,50,0}}, +/* 51747 */ {(12<<2)|2,{74,50,0}}, +/* 51748 */ {(12<<2)|2,{74,50,0}}, +/* 51749 */ {(12<<2)|2,{74,50,0}}, +/* 51750 */ {(12<<2)|2,{74,50,0}}, +/* 51751 */ {(12<<2)|2,{74,50,0}}, +/* 51752 */ {(12<<2)|2,{74,50,0}}, +/* 51753 */ {(12<<2)|2,{74,50,0}}, +/* 51754 */ {(12<<2)|2,{74,50,0}}, +/* 51755 */ {(12<<2)|2,{74,50,0}}, +/* 51756 */ {(12<<2)|2,{74,50,0}}, +/* 51757 */ {(12<<2)|2,{74,50,0}}, +/* 51758 */ {(12<<2)|2,{74,50,0}}, +/* 51759 */ {(12<<2)|2,{74,50,0}}, +/* 51760 */ {(12<<2)|2,{74,97,0}}, +/* 51761 */ {(12<<2)|2,{74,97,0}}, +/* 51762 */ {(12<<2)|2,{74,97,0}}, +/* 51763 */ {(12<<2)|2,{74,97,0}}, +/* 51764 */ {(12<<2)|2,{74,97,0}}, +/* 51765 */ {(12<<2)|2,{74,97,0}}, +/* 51766 */ {(12<<2)|2,{74,97,0}}, +/* 51767 */ {(12<<2)|2,{74,97,0}}, +/* 51768 */ {(12<<2)|2,{74,97,0}}, +/* 51769 */ {(12<<2)|2,{74,97,0}}, +/* 51770 */ {(12<<2)|2,{74,97,0}}, +/* 51771 */ {(12<<2)|2,{74,97,0}}, +/* 51772 */ {(12<<2)|2,{74,97,0}}, +/* 51773 */ {(12<<2)|2,{74,97,0}}, +/* 51774 */ {(12<<2)|2,{74,97,0}}, +/* 51775 */ {(12<<2)|2,{74,97,0}}, +/* 51776 */ {(12<<2)|2,{74,99,0}}, +/* 51777 */ {(12<<2)|2,{74,99,0}}, +/* 51778 */ {(12<<2)|2,{74,99,0}}, +/* 51779 */ {(12<<2)|2,{74,99,0}}, +/* 51780 */ {(12<<2)|2,{74,99,0}}, +/* 51781 */ {(12<<2)|2,{74,99,0}}, +/* 51782 */ {(12<<2)|2,{74,99,0}}, +/* 51783 */ {(12<<2)|2,{74,99,0}}, +/* 51784 */ {(12<<2)|2,{74,99,0}}, +/* 51785 */ {(12<<2)|2,{74,99,0}}, +/* 51786 */ {(12<<2)|2,{74,99,0}}, +/* 51787 */ {(12<<2)|2,{74,99,0}}, +/* 51788 */ {(12<<2)|2,{74,99,0}}, +/* 51789 */ {(12<<2)|2,{74,99,0}}, +/* 51790 */ {(12<<2)|2,{74,99,0}}, +/* 51791 */ {(12<<2)|2,{74,99,0}}, +/* 51792 */ {(12<<2)|2,{74,101,0}}, +/* 51793 */ {(12<<2)|2,{74,101,0}}, +/* 51794 */ {(12<<2)|2,{74,101,0}}, +/* 51795 */ {(12<<2)|2,{74,101,0}}, +/* 51796 */ {(12<<2)|2,{74,101,0}}, +/* 51797 */ {(12<<2)|2,{74,101,0}}, +/* 51798 */ {(12<<2)|2,{74,101,0}}, +/* 51799 */ {(12<<2)|2,{74,101,0}}, +/* 51800 */ {(12<<2)|2,{74,101,0}}, +/* 51801 */ {(12<<2)|2,{74,101,0}}, +/* 51802 */ {(12<<2)|2,{74,101,0}}, +/* 51803 */ {(12<<2)|2,{74,101,0}}, +/* 51804 */ {(12<<2)|2,{74,101,0}}, +/* 51805 */ {(12<<2)|2,{74,101,0}}, +/* 51806 */ {(12<<2)|2,{74,101,0}}, +/* 51807 */ {(12<<2)|2,{74,101,0}}, +/* 51808 */ {(12<<2)|2,{74,105,0}}, +/* 51809 */ {(12<<2)|2,{74,105,0}}, +/* 51810 */ {(12<<2)|2,{74,105,0}}, +/* 51811 */ {(12<<2)|2,{74,105,0}}, +/* 51812 */ {(12<<2)|2,{74,105,0}}, +/* 51813 */ {(12<<2)|2,{74,105,0}}, +/* 51814 */ {(12<<2)|2,{74,105,0}}, +/* 51815 */ {(12<<2)|2,{74,105,0}}, +/* 51816 */ {(12<<2)|2,{74,105,0}}, +/* 51817 */ {(12<<2)|2,{74,105,0}}, +/* 51818 */ {(12<<2)|2,{74,105,0}}, +/* 51819 */ {(12<<2)|2,{74,105,0}}, +/* 51820 */ {(12<<2)|2,{74,105,0}}, +/* 51821 */ {(12<<2)|2,{74,105,0}}, +/* 51822 */ {(12<<2)|2,{74,105,0}}, +/* 51823 */ {(12<<2)|2,{74,105,0}}, +/* 51824 */ {(12<<2)|2,{74,111,0}}, +/* 51825 */ {(12<<2)|2,{74,111,0}}, +/* 51826 */ {(12<<2)|2,{74,111,0}}, +/* 51827 */ {(12<<2)|2,{74,111,0}}, +/* 51828 */ {(12<<2)|2,{74,111,0}}, +/* 51829 */ {(12<<2)|2,{74,111,0}}, +/* 51830 */ {(12<<2)|2,{74,111,0}}, +/* 51831 */ {(12<<2)|2,{74,111,0}}, +/* 51832 */ {(12<<2)|2,{74,111,0}}, +/* 51833 */ {(12<<2)|2,{74,111,0}}, +/* 51834 */ {(12<<2)|2,{74,111,0}}, +/* 51835 */ {(12<<2)|2,{74,111,0}}, +/* 51836 */ {(12<<2)|2,{74,111,0}}, +/* 51837 */ {(12<<2)|2,{74,111,0}}, +/* 51838 */ {(12<<2)|2,{74,111,0}}, +/* 51839 */ {(12<<2)|2,{74,111,0}}, +/* 51840 */ {(12<<2)|2,{74,115,0}}, +/* 51841 */ {(12<<2)|2,{74,115,0}}, +/* 51842 */ {(12<<2)|2,{74,115,0}}, +/* 51843 */ {(12<<2)|2,{74,115,0}}, +/* 51844 */ {(12<<2)|2,{74,115,0}}, +/* 51845 */ {(12<<2)|2,{74,115,0}}, +/* 51846 */ {(12<<2)|2,{74,115,0}}, +/* 51847 */ {(12<<2)|2,{74,115,0}}, +/* 51848 */ {(12<<2)|2,{74,115,0}}, +/* 51849 */ {(12<<2)|2,{74,115,0}}, +/* 51850 */ {(12<<2)|2,{74,115,0}}, +/* 51851 */ {(12<<2)|2,{74,115,0}}, +/* 51852 */ {(12<<2)|2,{74,115,0}}, +/* 51853 */ {(12<<2)|2,{74,115,0}}, +/* 51854 */ {(12<<2)|2,{74,115,0}}, +/* 51855 */ {(12<<2)|2,{74,115,0}}, +/* 51856 */ {(12<<2)|2,{74,116,0}}, +/* 51857 */ {(12<<2)|2,{74,116,0}}, +/* 51858 */ {(12<<2)|2,{74,116,0}}, +/* 51859 */ {(12<<2)|2,{74,116,0}}, +/* 51860 */ {(12<<2)|2,{74,116,0}}, +/* 51861 */ {(12<<2)|2,{74,116,0}}, +/* 51862 */ {(12<<2)|2,{74,116,0}}, +/* 51863 */ {(12<<2)|2,{74,116,0}}, +/* 51864 */ {(12<<2)|2,{74,116,0}}, +/* 51865 */ {(12<<2)|2,{74,116,0}}, +/* 51866 */ {(12<<2)|2,{74,116,0}}, +/* 51867 */ {(12<<2)|2,{74,116,0}}, +/* 51868 */ {(12<<2)|2,{74,116,0}}, +/* 51869 */ {(12<<2)|2,{74,116,0}}, +/* 51870 */ {(12<<2)|2,{74,116,0}}, +/* 51871 */ {(12<<2)|2,{74,116,0}}, +/* 51872 */ {(13<<2)|2,{74,32,0}}, +/* 51873 */ {(13<<2)|2,{74,32,0}}, +/* 51874 */ {(13<<2)|2,{74,32,0}}, +/* 51875 */ {(13<<2)|2,{74,32,0}}, +/* 51876 */ {(13<<2)|2,{74,32,0}}, +/* 51877 */ {(13<<2)|2,{74,32,0}}, +/* 51878 */ {(13<<2)|2,{74,32,0}}, +/* 51879 */ {(13<<2)|2,{74,32,0}}, +/* 51880 */ {(13<<2)|2,{74,37,0}}, +/* 51881 */ {(13<<2)|2,{74,37,0}}, +/* 51882 */ {(13<<2)|2,{74,37,0}}, +/* 51883 */ {(13<<2)|2,{74,37,0}}, +/* 51884 */ {(13<<2)|2,{74,37,0}}, +/* 51885 */ {(13<<2)|2,{74,37,0}}, +/* 51886 */ {(13<<2)|2,{74,37,0}}, +/* 51887 */ {(13<<2)|2,{74,37,0}}, +/* 51888 */ {(13<<2)|2,{74,45,0}}, +/* 51889 */ {(13<<2)|2,{74,45,0}}, +/* 51890 */ {(13<<2)|2,{74,45,0}}, +/* 51891 */ {(13<<2)|2,{74,45,0}}, +/* 51892 */ {(13<<2)|2,{74,45,0}}, +/* 51893 */ {(13<<2)|2,{74,45,0}}, +/* 51894 */ {(13<<2)|2,{74,45,0}}, +/* 51895 */ {(13<<2)|2,{74,45,0}}, +/* 51896 */ {(13<<2)|2,{74,46,0}}, +/* 51897 */ {(13<<2)|2,{74,46,0}}, +/* 51898 */ {(13<<2)|2,{74,46,0}}, +/* 51899 */ {(13<<2)|2,{74,46,0}}, +/* 51900 */ {(13<<2)|2,{74,46,0}}, +/* 51901 */ {(13<<2)|2,{74,46,0}}, +/* 51902 */ {(13<<2)|2,{74,46,0}}, +/* 51903 */ {(13<<2)|2,{74,46,0}}, +/* 51904 */ {(13<<2)|2,{74,47,0}}, +/* 51905 */ {(13<<2)|2,{74,47,0}}, +/* 51906 */ {(13<<2)|2,{74,47,0}}, +/* 51907 */ {(13<<2)|2,{74,47,0}}, +/* 51908 */ {(13<<2)|2,{74,47,0}}, +/* 51909 */ {(13<<2)|2,{74,47,0}}, +/* 51910 */ {(13<<2)|2,{74,47,0}}, +/* 51911 */ {(13<<2)|2,{74,47,0}}, +/* 51912 */ {(13<<2)|2,{74,51,0}}, +/* 51913 */ {(13<<2)|2,{74,51,0}}, +/* 51914 */ {(13<<2)|2,{74,51,0}}, +/* 51915 */ {(13<<2)|2,{74,51,0}}, +/* 51916 */ {(13<<2)|2,{74,51,0}}, +/* 51917 */ {(13<<2)|2,{74,51,0}}, +/* 51918 */ {(13<<2)|2,{74,51,0}}, +/* 51919 */ {(13<<2)|2,{74,51,0}}, +/* 51920 */ {(13<<2)|2,{74,52,0}}, +/* 51921 */ {(13<<2)|2,{74,52,0}}, +/* 51922 */ {(13<<2)|2,{74,52,0}}, +/* 51923 */ {(13<<2)|2,{74,52,0}}, +/* 51924 */ {(13<<2)|2,{74,52,0}}, +/* 51925 */ {(13<<2)|2,{74,52,0}}, +/* 51926 */ {(13<<2)|2,{74,52,0}}, +/* 51927 */ {(13<<2)|2,{74,52,0}}, +/* 51928 */ {(13<<2)|2,{74,53,0}}, +/* 51929 */ {(13<<2)|2,{74,53,0}}, +/* 51930 */ {(13<<2)|2,{74,53,0}}, +/* 51931 */ {(13<<2)|2,{74,53,0}}, +/* 51932 */ {(13<<2)|2,{74,53,0}}, +/* 51933 */ {(13<<2)|2,{74,53,0}}, +/* 51934 */ {(13<<2)|2,{74,53,0}}, +/* 51935 */ {(13<<2)|2,{74,53,0}}, +/* 51936 */ {(13<<2)|2,{74,54,0}}, +/* 51937 */ {(13<<2)|2,{74,54,0}}, +/* 51938 */ {(13<<2)|2,{74,54,0}}, +/* 51939 */ {(13<<2)|2,{74,54,0}}, +/* 51940 */ {(13<<2)|2,{74,54,0}}, +/* 51941 */ {(13<<2)|2,{74,54,0}}, +/* 51942 */ {(13<<2)|2,{74,54,0}}, +/* 51943 */ {(13<<2)|2,{74,54,0}}, +/* 51944 */ {(13<<2)|2,{74,55,0}}, +/* 51945 */ {(13<<2)|2,{74,55,0}}, +/* 51946 */ {(13<<2)|2,{74,55,0}}, +/* 51947 */ {(13<<2)|2,{74,55,0}}, +/* 51948 */ {(13<<2)|2,{74,55,0}}, +/* 51949 */ {(13<<2)|2,{74,55,0}}, +/* 51950 */ {(13<<2)|2,{74,55,0}}, +/* 51951 */ {(13<<2)|2,{74,55,0}}, +/* 51952 */ {(13<<2)|2,{74,56,0}}, +/* 51953 */ {(13<<2)|2,{74,56,0}}, +/* 51954 */ {(13<<2)|2,{74,56,0}}, +/* 51955 */ {(13<<2)|2,{74,56,0}}, +/* 51956 */ {(13<<2)|2,{74,56,0}}, +/* 51957 */ {(13<<2)|2,{74,56,0}}, +/* 51958 */ {(13<<2)|2,{74,56,0}}, +/* 51959 */ {(13<<2)|2,{74,56,0}}, +/* 51960 */ {(13<<2)|2,{74,57,0}}, +/* 51961 */ {(13<<2)|2,{74,57,0}}, +/* 51962 */ {(13<<2)|2,{74,57,0}}, +/* 51963 */ {(13<<2)|2,{74,57,0}}, +/* 51964 */ {(13<<2)|2,{74,57,0}}, +/* 51965 */ {(13<<2)|2,{74,57,0}}, +/* 51966 */ {(13<<2)|2,{74,57,0}}, +/* 51967 */ {(13<<2)|2,{74,57,0}}, +/* 51968 */ {(13<<2)|2,{74,61,0}}, +/* 51969 */ {(13<<2)|2,{74,61,0}}, +/* 51970 */ {(13<<2)|2,{74,61,0}}, +/* 51971 */ {(13<<2)|2,{74,61,0}}, +/* 51972 */ {(13<<2)|2,{74,61,0}}, +/* 51973 */ {(13<<2)|2,{74,61,0}}, +/* 51974 */ {(13<<2)|2,{74,61,0}}, +/* 51975 */ {(13<<2)|2,{74,61,0}}, +/* 51976 */ {(13<<2)|2,{74,65,0}}, +/* 51977 */ {(13<<2)|2,{74,65,0}}, +/* 51978 */ {(13<<2)|2,{74,65,0}}, +/* 51979 */ {(13<<2)|2,{74,65,0}}, +/* 51980 */ {(13<<2)|2,{74,65,0}}, +/* 51981 */ {(13<<2)|2,{74,65,0}}, +/* 51982 */ {(13<<2)|2,{74,65,0}}, +/* 51983 */ {(13<<2)|2,{74,65,0}}, +/* 51984 */ {(13<<2)|2,{74,95,0}}, +/* 51985 */ {(13<<2)|2,{74,95,0}}, +/* 51986 */ {(13<<2)|2,{74,95,0}}, +/* 51987 */ {(13<<2)|2,{74,95,0}}, +/* 51988 */ {(13<<2)|2,{74,95,0}}, +/* 51989 */ {(13<<2)|2,{74,95,0}}, +/* 51990 */ {(13<<2)|2,{74,95,0}}, +/* 51991 */ {(13<<2)|2,{74,95,0}}, +/* 51992 */ {(13<<2)|2,{74,98,0}}, +/* 51993 */ {(13<<2)|2,{74,98,0}}, +/* 51994 */ {(13<<2)|2,{74,98,0}}, +/* 51995 */ {(13<<2)|2,{74,98,0}}, +/* 51996 */ {(13<<2)|2,{74,98,0}}, +/* 51997 */ {(13<<2)|2,{74,98,0}}, +/* 51998 */ {(13<<2)|2,{74,98,0}}, +/* 51999 */ {(13<<2)|2,{74,98,0}}, +/* 52000 */ {(13<<2)|2,{74,100,0}}, +/* 52001 */ {(13<<2)|2,{74,100,0}}, +/* 52002 */ {(13<<2)|2,{74,100,0}}, +/* 52003 */ {(13<<2)|2,{74,100,0}}, +/* 52004 */ {(13<<2)|2,{74,100,0}}, +/* 52005 */ {(13<<2)|2,{74,100,0}}, +/* 52006 */ {(13<<2)|2,{74,100,0}}, +/* 52007 */ {(13<<2)|2,{74,100,0}}, +/* 52008 */ {(13<<2)|2,{74,102,0}}, +/* 52009 */ {(13<<2)|2,{74,102,0}}, +/* 52010 */ {(13<<2)|2,{74,102,0}}, +/* 52011 */ {(13<<2)|2,{74,102,0}}, +/* 52012 */ {(13<<2)|2,{74,102,0}}, +/* 52013 */ {(13<<2)|2,{74,102,0}}, +/* 52014 */ {(13<<2)|2,{74,102,0}}, +/* 52015 */ {(13<<2)|2,{74,102,0}}, +/* 52016 */ {(13<<2)|2,{74,103,0}}, +/* 52017 */ {(13<<2)|2,{74,103,0}}, +/* 52018 */ {(13<<2)|2,{74,103,0}}, +/* 52019 */ {(13<<2)|2,{74,103,0}}, +/* 52020 */ {(13<<2)|2,{74,103,0}}, +/* 52021 */ {(13<<2)|2,{74,103,0}}, +/* 52022 */ {(13<<2)|2,{74,103,0}}, +/* 52023 */ {(13<<2)|2,{74,103,0}}, +/* 52024 */ {(13<<2)|2,{74,104,0}}, +/* 52025 */ {(13<<2)|2,{74,104,0}}, +/* 52026 */ {(13<<2)|2,{74,104,0}}, +/* 52027 */ {(13<<2)|2,{74,104,0}}, +/* 52028 */ {(13<<2)|2,{74,104,0}}, +/* 52029 */ {(13<<2)|2,{74,104,0}}, +/* 52030 */ {(13<<2)|2,{74,104,0}}, +/* 52031 */ {(13<<2)|2,{74,104,0}}, +/* 52032 */ {(13<<2)|2,{74,108,0}}, +/* 52033 */ {(13<<2)|2,{74,108,0}}, +/* 52034 */ {(13<<2)|2,{74,108,0}}, +/* 52035 */ {(13<<2)|2,{74,108,0}}, +/* 52036 */ {(13<<2)|2,{74,108,0}}, +/* 52037 */ {(13<<2)|2,{74,108,0}}, +/* 52038 */ {(13<<2)|2,{74,108,0}}, +/* 52039 */ {(13<<2)|2,{74,108,0}}, +/* 52040 */ {(13<<2)|2,{74,109,0}}, +/* 52041 */ {(13<<2)|2,{74,109,0}}, +/* 52042 */ {(13<<2)|2,{74,109,0}}, +/* 52043 */ {(13<<2)|2,{74,109,0}}, +/* 52044 */ {(13<<2)|2,{74,109,0}}, +/* 52045 */ {(13<<2)|2,{74,109,0}}, +/* 52046 */ {(13<<2)|2,{74,109,0}}, +/* 52047 */ {(13<<2)|2,{74,109,0}}, +/* 52048 */ {(13<<2)|2,{74,110,0}}, +/* 52049 */ {(13<<2)|2,{74,110,0}}, +/* 52050 */ {(13<<2)|2,{74,110,0}}, +/* 52051 */ {(13<<2)|2,{74,110,0}}, +/* 52052 */ {(13<<2)|2,{74,110,0}}, +/* 52053 */ {(13<<2)|2,{74,110,0}}, +/* 52054 */ {(13<<2)|2,{74,110,0}}, +/* 52055 */ {(13<<2)|2,{74,110,0}}, +/* 52056 */ {(13<<2)|2,{74,112,0}}, +/* 52057 */ {(13<<2)|2,{74,112,0}}, +/* 52058 */ {(13<<2)|2,{74,112,0}}, +/* 52059 */ {(13<<2)|2,{74,112,0}}, +/* 52060 */ {(13<<2)|2,{74,112,0}}, +/* 52061 */ {(13<<2)|2,{74,112,0}}, +/* 52062 */ {(13<<2)|2,{74,112,0}}, +/* 52063 */ {(13<<2)|2,{74,112,0}}, +/* 52064 */ {(13<<2)|2,{74,114,0}}, +/* 52065 */ {(13<<2)|2,{74,114,0}}, +/* 52066 */ {(13<<2)|2,{74,114,0}}, +/* 52067 */ {(13<<2)|2,{74,114,0}}, +/* 52068 */ {(13<<2)|2,{74,114,0}}, +/* 52069 */ {(13<<2)|2,{74,114,0}}, +/* 52070 */ {(13<<2)|2,{74,114,0}}, +/* 52071 */ {(13<<2)|2,{74,114,0}}, +/* 52072 */ {(13<<2)|2,{74,117,0}}, +/* 52073 */ {(13<<2)|2,{74,117,0}}, +/* 52074 */ {(13<<2)|2,{74,117,0}}, +/* 52075 */ {(13<<2)|2,{74,117,0}}, +/* 52076 */ {(13<<2)|2,{74,117,0}}, +/* 52077 */ {(13<<2)|2,{74,117,0}}, +/* 52078 */ {(13<<2)|2,{74,117,0}}, +/* 52079 */ {(13<<2)|2,{74,117,0}}, +/* 52080 */ {(14<<2)|2,{74,58,0}}, +/* 52081 */ {(14<<2)|2,{74,58,0}}, +/* 52082 */ {(14<<2)|2,{74,58,0}}, +/* 52083 */ {(14<<2)|2,{74,58,0}}, +/* 52084 */ {(14<<2)|2,{74,66,0}}, +/* 52085 */ {(14<<2)|2,{74,66,0}}, +/* 52086 */ {(14<<2)|2,{74,66,0}}, +/* 52087 */ {(14<<2)|2,{74,66,0}}, +/* 52088 */ {(14<<2)|2,{74,67,0}}, +/* 52089 */ {(14<<2)|2,{74,67,0}}, +/* 52090 */ {(14<<2)|2,{74,67,0}}, +/* 52091 */ {(14<<2)|2,{74,67,0}}, +/* 52092 */ {(14<<2)|2,{74,68,0}}, +/* 52093 */ {(14<<2)|2,{74,68,0}}, +/* 52094 */ {(14<<2)|2,{74,68,0}}, +/* 52095 */ {(14<<2)|2,{74,68,0}}, +/* 52096 */ {(14<<2)|2,{74,69,0}}, +/* 52097 */ {(14<<2)|2,{74,69,0}}, +/* 52098 */ {(14<<2)|2,{74,69,0}}, +/* 52099 */ {(14<<2)|2,{74,69,0}}, +/* 52100 */ {(14<<2)|2,{74,70,0}}, +/* 52101 */ {(14<<2)|2,{74,70,0}}, +/* 52102 */ {(14<<2)|2,{74,70,0}}, +/* 52103 */ {(14<<2)|2,{74,70,0}}, +/* 52104 */ {(14<<2)|2,{74,71,0}}, +/* 52105 */ {(14<<2)|2,{74,71,0}}, +/* 52106 */ {(14<<2)|2,{74,71,0}}, +/* 52107 */ {(14<<2)|2,{74,71,0}}, +/* 52108 */ {(14<<2)|2,{74,72,0}}, +/* 52109 */ {(14<<2)|2,{74,72,0}}, +/* 52110 */ {(14<<2)|2,{74,72,0}}, +/* 52111 */ {(14<<2)|2,{74,72,0}}, +/* 52112 */ {(14<<2)|2,{74,73,0}}, +/* 52113 */ {(14<<2)|2,{74,73,0}}, +/* 52114 */ {(14<<2)|2,{74,73,0}}, +/* 52115 */ {(14<<2)|2,{74,73,0}}, +/* 52116 */ {(14<<2)|2,{74,74,0}}, +/* 52117 */ {(14<<2)|2,{74,74,0}}, +/* 52118 */ {(14<<2)|2,{74,74,0}}, +/* 52119 */ {(14<<2)|2,{74,74,0}}, +/* 52120 */ {(14<<2)|2,{74,75,0}}, +/* 52121 */ {(14<<2)|2,{74,75,0}}, +/* 52122 */ {(14<<2)|2,{74,75,0}}, +/* 52123 */ {(14<<2)|2,{74,75,0}}, +/* 52124 */ {(14<<2)|2,{74,76,0}}, +/* 52125 */ {(14<<2)|2,{74,76,0}}, +/* 52126 */ {(14<<2)|2,{74,76,0}}, +/* 52127 */ {(14<<2)|2,{74,76,0}}, +/* 52128 */ {(14<<2)|2,{74,77,0}}, +/* 52129 */ {(14<<2)|2,{74,77,0}}, +/* 52130 */ {(14<<2)|2,{74,77,0}}, +/* 52131 */ {(14<<2)|2,{74,77,0}}, +/* 52132 */ {(14<<2)|2,{74,78,0}}, +/* 52133 */ {(14<<2)|2,{74,78,0}}, +/* 52134 */ {(14<<2)|2,{74,78,0}}, +/* 52135 */ {(14<<2)|2,{74,78,0}}, +/* 52136 */ {(14<<2)|2,{74,79,0}}, +/* 52137 */ {(14<<2)|2,{74,79,0}}, +/* 52138 */ {(14<<2)|2,{74,79,0}}, +/* 52139 */ {(14<<2)|2,{74,79,0}}, +/* 52140 */ {(14<<2)|2,{74,80,0}}, +/* 52141 */ {(14<<2)|2,{74,80,0}}, +/* 52142 */ {(14<<2)|2,{74,80,0}}, +/* 52143 */ {(14<<2)|2,{74,80,0}}, +/* 52144 */ {(14<<2)|2,{74,81,0}}, +/* 52145 */ {(14<<2)|2,{74,81,0}}, +/* 52146 */ {(14<<2)|2,{74,81,0}}, +/* 52147 */ {(14<<2)|2,{74,81,0}}, +/* 52148 */ {(14<<2)|2,{74,82,0}}, +/* 52149 */ {(14<<2)|2,{74,82,0}}, +/* 52150 */ {(14<<2)|2,{74,82,0}}, +/* 52151 */ {(14<<2)|2,{74,82,0}}, +/* 52152 */ {(14<<2)|2,{74,83,0}}, +/* 52153 */ {(14<<2)|2,{74,83,0}}, +/* 52154 */ {(14<<2)|2,{74,83,0}}, +/* 52155 */ {(14<<2)|2,{74,83,0}}, +/* 52156 */ {(14<<2)|2,{74,84,0}}, +/* 52157 */ {(14<<2)|2,{74,84,0}}, +/* 52158 */ {(14<<2)|2,{74,84,0}}, +/* 52159 */ {(14<<2)|2,{74,84,0}}, +/* 52160 */ {(14<<2)|2,{74,85,0}}, +/* 52161 */ {(14<<2)|2,{74,85,0}}, +/* 52162 */ {(14<<2)|2,{74,85,0}}, +/* 52163 */ {(14<<2)|2,{74,85,0}}, +/* 52164 */ {(14<<2)|2,{74,86,0}}, +/* 52165 */ {(14<<2)|2,{74,86,0}}, +/* 52166 */ {(14<<2)|2,{74,86,0}}, +/* 52167 */ {(14<<2)|2,{74,86,0}}, +/* 52168 */ {(14<<2)|2,{74,87,0}}, +/* 52169 */ {(14<<2)|2,{74,87,0}}, +/* 52170 */ {(14<<2)|2,{74,87,0}}, +/* 52171 */ {(14<<2)|2,{74,87,0}}, +/* 52172 */ {(14<<2)|2,{74,89,0}}, +/* 52173 */ {(14<<2)|2,{74,89,0}}, +/* 52174 */ {(14<<2)|2,{74,89,0}}, +/* 52175 */ {(14<<2)|2,{74,89,0}}, +/* 52176 */ {(14<<2)|2,{74,106,0}}, +/* 52177 */ {(14<<2)|2,{74,106,0}}, +/* 52178 */ {(14<<2)|2,{74,106,0}}, +/* 52179 */ {(14<<2)|2,{74,106,0}}, +/* 52180 */ {(14<<2)|2,{74,107,0}}, +/* 52181 */ {(14<<2)|2,{74,107,0}}, +/* 52182 */ {(14<<2)|2,{74,107,0}}, +/* 52183 */ {(14<<2)|2,{74,107,0}}, +/* 52184 */ {(14<<2)|2,{74,113,0}}, +/* 52185 */ {(14<<2)|2,{74,113,0}}, +/* 52186 */ {(14<<2)|2,{74,113,0}}, +/* 52187 */ {(14<<2)|2,{74,113,0}}, +/* 52188 */ {(14<<2)|2,{74,118,0}}, +/* 52189 */ {(14<<2)|2,{74,118,0}}, +/* 52190 */ {(14<<2)|2,{74,118,0}}, +/* 52191 */ {(14<<2)|2,{74,118,0}}, +/* 52192 */ {(14<<2)|2,{74,119,0}}, +/* 52193 */ {(14<<2)|2,{74,119,0}}, +/* 52194 */ {(14<<2)|2,{74,119,0}}, +/* 52195 */ {(14<<2)|2,{74,119,0}}, +/* 52196 */ {(14<<2)|2,{74,120,0}}, +/* 52197 */ {(14<<2)|2,{74,120,0}}, +/* 52198 */ {(14<<2)|2,{74,120,0}}, +/* 52199 */ {(14<<2)|2,{74,120,0}}, +/* 52200 */ {(14<<2)|2,{74,121,0}}, +/* 52201 */ {(14<<2)|2,{74,121,0}}, +/* 52202 */ {(14<<2)|2,{74,121,0}}, +/* 52203 */ {(14<<2)|2,{74,121,0}}, +/* 52204 */ {(14<<2)|2,{74,122,0}}, +/* 52205 */ {(14<<2)|2,{74,122,0}}, +/* 52206 */ {(14<<2)|2,{74,122,0}}, +/* 52207 */ {(14<<2)|2,{74,122,0}}, +/* 52208 */ {(15<<2)|2,{74,38,0}}, +/* 52209 */ {(15<<2)|2,{74,38,0}}, +/* 52210 */ {(15<<2)|2,{74,42,0}}, +/* 52211 */ {(15<<2)|2,{74,42,0}}, +/* 52212 */ {(15<<2)|2,{74,44,0}}, +/* 52213 */ {(15<<2)|2,{74,44,0}}, +/* 52214 */ {(15<<2)|2,{74,59,0}}, +/* 52215 */ {(15<<2)|2,{74,59,0}}, +/* 52216 */ {(15<<2)|2,{74,88,0}}, +/* 52217 */ {(15<<2)|2,{74,88,0}}, +/* 52218 */ {(15<<2)|2,{74,90,0}}, +/* 52219 */ {(15<<2)|2,{74,90,0}}, +/* 52220 */ {(7<<2)|1,{74,0,0}}, +/* 52221 */ {(7<<2)|1,{74,0,0}}, +/* 52222 */ {(7<<2)|1,{74,0,0}}, +/* 52223 */ {(7<<2)|1,{74,0,0}}, +/* 52224 */ {(12<<2)|2,{75,48,0}}, +/* 52225 */ {(12<<2)|2,{75,48,0}}, +/* 52226 */ {(12<<2)|2,{75,48,0}}, +/* 52227 */ {(12<<2)|2,{75,48,0}}, +/* 52228 */ {(12<<2)|2,{75,48,0}}, +/* 52229 */ {(12<<2)|2,{75,48,0}}, +/* 52230 */ {(12<<2)|2,{75,48,0}}, +/* 52231 */ {(12<<2)|2,{75,48,0}}, +/* 52232 */ {(12<<2)|2,{75,48,0}}, +/* 52233 */ {(12<<2)|2,{75,48,0}}, +/* 52234 */ {(12<<2)|2,{75,48,0}}, +/* 52235 */ {(12<<2)|2,{75,48,0}}, +/* 52236 */ {(12<<2)|2,{75,48,0}}, +/* 52237 */ {(12<<2)|2,{75,48,0}}, +/* 52238 */ {(12<<2)|2,{75,48,0}}, +/* 52239 */ {(12<<2)|2,{75,48,0}}, +/* 52240 */ {(12<<2)|2,{75,49,0}}, +/* 52241 */ {(12<<2)|2,{75,49,0}}, +/* 52242 */ {(12<<2)|2,{75,49,0}}, +/* 52243 */ {(12<<2)|2,{75,49,0}}, +/* 52244 */ {(12<<2)|2,{75,49,0}}, +/* 52245 */ {(12<<2)|2,{75,49,0}}, +/* 52246 */ {(12<<2)|2,{75,49,0}}, +/* 52247 */ {(12<<2)|2,{75,49,0}}, +/* 52248 */ {(12<<2)|2,{75,49,0}}, +/* 52249 */ {(12<<2)|2,{75,49,0}}, +/* 52250 */ {(12<<2)|2,{75,49,0}}, +/* 52251 */ {(12<<2)|2,{75,49,0}}, +/* 52252 */ {(12<<2)|2,{75,49,0}}, +/* 52253 */ {(12<<2)|2,{75,49,0}}, +/* 52254 */ {(12<<2)|2,{75,49,0}}, +/* 52255 */ {(12<<2)|2,{75,49,0}}, +/* 52256 */ {(12<<2)|2,{75,50,0}}, +/* 52257 */ {(12<<2)|2,{75,50,0}}, +/* 52258 */ {(12<<2)|2,{75,50,0}}, +/* 52259 */ {(12<<2)|2,{75,50,0}}, +/* 52260 */ {(12<<2)|2,{75,50,0}}, +/* 52261 */ {(12<<2)|2,{75,50,0}}, +/* 52262 */ {(12<<2)|2,{75,50,0}}, +/* 52263 */ {(12<<2)|2,{75,50,0}}, +/* 52264 */ {(12<<2)|2,{75,50,0}}, +/* 52265 */ {(12<<2)|2,{75,50,0}}, +/* 52266 */ {(12<<2)|2,{75,50,0}}, +/* 52267 */ {(12<<2)|2,{75,50,0}}, +/* 52268 */ {(12<<2)|2,{75,50,0}}, +/* 52269 */ {(12<<2)|2,{75,50,0}}, +/* 52270 */ {(12<<2)|2,{75,50,0}}, +/* 52271 */ {(12<<2)|2,{75,50,0}}, +/* 52272 */ {(12<<2)|2,{75,97,0}}, +/* 52273 */ {(12<<2)|2,{75,97,0}}, +/* 52274 */ {(12<<2)|2,{75,97,0}}, +/* 52275 */ {(12<<2)|2,{75,97,0}}, +/* 52276 */ {(12<<2)|2,{75,97,0}}, +/* 52277 */ {(12<<2)|2,{75,97,0}}, +/* 52278 */ {(12<<2)|2,{75,97,0}}, +/* 52279 */ {(12<<2)|2,{75,97,0}}, +/* 52280 */ {(12<<2)|2,{75,97,0}}, +/* 52281 */ {(12<<2)|2,{75,97,0}}, +/* 52282 */ {(12<<2)|2,{75,97,0}}, +/* 52283 */ {(12<<2)|2,{75,97,0}}, +/* 52284 */ {(12<<2)|2,{75,97,0}}, +/* 52285 */ {(12<<2)|2,{75,97,0}}, +/* 52286 */ {(12<<2)|2,{75,97,0}}, +/* 52287 */ {(12<<2)|2,{75,97,0}}, +/* 52288 */ {(12<<2)|2,{75,99,0}}, +/* 52289 */ {(12<<2)|2,{75,99,0}}, +/* 52290 */ {(12<<2)|2,{75,99,0}}, +/* 52291 */ {(12<<2)|2,{75,99,0}}, +/* 52292 */ {(12<<2)|2,{75,99,0}}, +/* 52293 */ {(12<<2)|2,{75,99,0}}, +/* 52294 */ {(12<<2)|2,{75,99,0}}, +/* 52295 */ {(12<<2)|2,{75,99,0}}, +/* 52296 */ {(12<<2)|2,{75,99,0}}, +/* 52297 */ {(12<<2)|2,{75,99,0}}, +/* 52298 */ {(12<<2)|2,{75,99,0}}, +/* 52299 */ {(12<<2)|2,{75,99,0}}, +/* 52300 */ {(12<<2)|2,{75,99,0}}, +/* 52301 */ {(12<<2)|2,{75,99,0}}, +/* 52302 */ {(12<<2)|2,{75,99,0}}, +/* 52303 */ {(12<<2)|2,{75,99,0}}, +/* 52304 */ {(12<<2)|2,{75,101,0}}, +/* 52305 */ {(12<<2)|2,{75,101,0}}, +/* 52306 */ {(12<<2)|2,{75,101,0}}, +/* 52307 */ {(12<<2)|2,{75,101,0}}, +/* 52308 */ {(12<<2)|2,{75,101,0}}, +/* 52309 */ {(12<<2)|2,{75,101,0}}, +/* 52310 */ {(12<<2)|2,{75,101,0}}, +/* 52311 */ {(12<<2)|2,{75,101,0}}, +/* 52312 */ {(12<<2)|2,{75,101,0}}, +/* 52313 */ {(12<<2)|2,{75,101,0}}, +/* 52314 */ {(12<<2)|2,{75,101,0}}, +/* 52315 */ {(12<<2)|2,{75,101,0}}, +/* 52316 */ {(12<<2)|2,{75,101,0}}, +/* 52317 */ {(12<<2)|2,{75,101,0}}, +/* 52318 */ {(12<<2)|2,{75,101,0}}, +/* 52319 */ {(12<<2)|2,{75,101,0}}, +/* 52320 */ {(12<<2)|2,{75,105,0}}, +/* 52321 */ {(12<<2)|2,{75,105,0}}, +/* 52322 */ {(12<<2)|2,{75,105,0}}, +/* 52323 */ {(12<<2)|2,{75,105,0}}, +/* 52324 */ {(12<<2)|2,{75,105,0}}, +/* 52325 */ {(12<<2)|2,{75,105,0}}, +/* 52326 */ {(12<<2)|2,{75,105,0}}, +/* 52327 */ {(12<<2)|2,{75,105,0}}, +/* 52328 */ {(12<<2)|2,{75,105,0}}, +/* 52329 */ {(12<<2)|2,{75,105,0}}, +/* 52330 */ {(12<<2)|2,{75,105,0}}, +/* 52331 */ {(12<<2)|2,{75,105,0}}, +/* 52332 */ {(12<<2)|2,{75,105,0}}, +/* 52333 */ {(12<<2)|2,{75,105,0}}, +/* 52334 */ {(12<<2)|2,{75,105,0}}, +/* 52335 */ {(12<<2)|2,{75,105,0}}, +/* 52336 */ {(12<<2)|2,{75,111,0}}, +/* 52337 */ {(12<<2)|2,{75,111,0}}, +/* 52338 */ {(12<<2)|2,{75,111,0}}, +/* 52339 */ {(12<<2)|2,{75,111,0}}, +/* 52340 */ {(12<<2)|2,{75,111,0}}, +/* 52341 */ {(12<<2)|2,{75,111,0}}, +/* 52342 */ {(12<<2)|2,{75,111,0}}, +/* 52343 */ {(12<<2)|2,{75,111,0}}, +/* 52344 */ {(12<<2)|2,{75,111,0}}, +/* 52345 */ {(12<<2)|2,{75,111,0}}, +/* 52346 */ {(12<<2)|2,{75,111,0}}, +/* 52347 */ {(12<<2)|2,{75,111,0}}, +/* 52348 */ {(12<<2)|2,{75,111,0}}, +/* 52349 */ {(12<<2)|2,{75,111,0}}, +/* 52350 */ {(12<<2)|2,{75,111,0}}, +/* 52351 */ {(12<<2)|2,{75,111,0}}, +/* 52352 */ {(12<<2)|2,{75,115,0}}, +/* 52353 */ {(12<<2)|2,{75,115,0}}, +/* 52354 */ {(12<<2)|2,{75,115,0}}, +/* 52355 */ {(12<<2)|2,{75,115,0}}, +/* 52356 */ {(12<<2)|2,{75,115,0}}, +/* 52357 */ {(12<<2)|2,{75,115,0}}, +/* 52358 */ {(12<<2)|2,{75,115,0}}, +/* 52359 */ {(12<<2)|2,{75,115,0}}, +/* 52360 */ {(12<<2)|2,{75,115,0}}, +/* 52361 */ {(12<<2)|2,{75,115,0}}, +/* 52362 */ {(12<<2)|2,{75,115,0}}, +/* 52363 */ {(12<<2)|2,{75,115,0}}, +/* 52364 */ {(12<<2)|2,{75,115,0}}, +/* 52365 */ {(12<<2)|2,{75,115,0}}, +/* 52366 */ {(12<<2)|2,{75,115,0}}, +/* 52367 */ {(12<<2)|2,{75,115,0}}, +/* 52368 */ {(12<<2)|2,{75,116,0}}, +/* 52369 */ {(12<<2)|2,{75,116,0}}, +/* 52370 */ {(12<<2)|2,{75,116,0}}, +/* 52371 */ {(12<<2)|2,{75,116,0}}, +/* 52372 */ {(12<<2)|2,{75,116,0}}, +/* 52373 */ {(12<<2)|2,{75,116,0}}, +/* 52374 */ {(12<<2)|2,{75,116,0}}, +/* 52375 */ {(12<<2)|2,{75,116,0}}, +/* 52376 */ {(12<<2)|2,{75,116,0}}, +/* 52377 */ {(12<<2)|2,{75,116,0}}, +/* 52378 */ {(12<<2)|2,{75,116,0}}, +/* 52379 */ {(12<<2)|2,{75,116,0}}, +/* 52380 */ {(12<<2)|2,{75,116,0}}, +/* 52381 */ {(12<<2)|2,{75,116,0}}, +/* 52382 */ {(12<<2)|2,{75,116,0}}, +/* 52383 */ {(12<<2)|2,{75,116,0}}, +/* 52384 */ {(13<<2)|2,{75,32,0}}, +/* 52385 */ {(13<<2)|2,{75,32,0}}, +/* 52386 */ {(13<<2)|2,{75,32,0}}, +/* 52387 */ {(13<<2)|2,{75,32,0}}, +/* 52388 */ {(13<<2)|2,{75,32,0}}, +/* 52389 */ {(13<<2)|2,{75,32,0}}, +/* 52390 */ {(13<<2)|2,{75,32,0}}, +/* 52391 */ {(13<<2)|2,{75,32,0}}, +/* 52392 */ {(13<<2)|2,{75,37,0}}, +/* 52393 */ {(13<<2)|2,{75,37,0}}, +/* 52394 */ {(13<<2)|2,{75,37,0}}, +/* 52395 */ {(13<<2)|2,{75,37,0}}, +/* 52396 */ {(13<<2)|2,{75,37,0}}, +/* 52397 */ {(13<<2)|2,{75,37,0}}, +/* 52398 */ {(13<<2)|2,{75,37,0}}, +/* 52399 */ {(13<<2)|2,{75,37,0}}, +/* 52400 */ {(13<<2)|2,{75,45,0}}, +/* 52401 */ {(13<<2)|2,{75,45,0}}, +/* 52402 */ {(13<<2)|2,{75,45,0}}, +/* 52403 */ {(13<<2)|2,{75,45,0}}, +/* 52404 */ {(13<<2)|2,{75,45,0}}, +/* 52405 */ {(13<<2)|2,{75,45,0}}, +/* 52406 */ {(13<<2)|2,{75,45,0}}, +/* 52407 */ {(13<<2)|2,{75,45,0}}, +/* 52408 */ {(13<<2)|2,{75,46,0}}, +/* 52409 */ {(13<<2)|2,{75,46,0}}, +/* 52410 */ {(13<<2)|2,{75,46,0}}, +/* 52411 */ {(13<<2)|2,{75,46,0}}, +/* 52412 */ {(13<<2)|2,{75,46,0}}, +/* 52413 */ {(13<<2)|2,{75,46,0}}, +/* 52414 */ {(13<<2)|2,{75,46,0}}, +/* 52415 */ {(13<<2)|2,{75,46,0}}, +/* 52416 */ {(13<<2)|2,{75,47,0}}, +/* 52417 */ {(13<<2)|2,{75,47,0}}, +/* 52418 */ {(13<<2)|2,{75,47,0}}, +/* 52419 */ {(13<<2)|2,{75,47,0}}, +/* 52420 */ {(13<<2)|2,{75,47,0}}, +/* 52421 */ {(13<<2)|2,{75,47,0}}, +/* 52422 */ {(13<<2)|2,{75,47,0}}, +/* 52423 */ {(13<<2)|2,{75,47,0}}, +/* 52424 */ {(13<<2)|2,{75,51,0}}, +/* 52425 */ {(13<<2)|2,{75,51,0}}, +/* 52426 */ {(13<<2)|2,{75,51,0}}, +/* 52427 */ {(13<<2)|2,{75,51,0}}, +/* 52428 */ {(13<<2)|2,{75,51,0}}, +/* 52429 */ {(13<<2)|2,{75,51,0}}, +/* 52430 */ {(13<<2)|2,{75,51,0}}, +/* 52431 */ {(13<<2)|2,{75,51,0}}, +/* 52432 */ {(13<<2)|2,{75,52,0}}, +/* 52433 */ {(13<<2)|2,{75,52,0}}, +/* 52434 */ {(13<<2)|2,{75,52,0}}, +/* 52435 */ {(13<<2)|2,{75,52,0}}, +/* 52436 */ {(13<<2)|2,{75,52,0}}, +/* 52437 */ {(13<<2)|2,{75,52,0}}, +/* 52438 */ {(13<<2)|2,{75,52,0}}, +/* 52439 */ {(13<<2)|2,{75,52,0}}, +/* 52440 */ {(13<<2)|2,{75,53,0}}, +/* 52441 */ {(13<<2)|2,{75,53,0}}, +/* 52442 */ {(13<<2)|2,{75,53,0}}, +/* 52443 */ {(13<<2)|2,{75,53,0}}, +/* 52444 */ {(13<<2)|2,{75,53,0}}, +/* 52445 */ {(13<<2)|2,{75,53,0}}, +/* 52446 */ {(13<<2)|2,{75,53,0}}, +/* 52447 */ {(13<<2)|2,{75,53,0}}, +/* 52448 */ {(13<<2)|2,{75,54,0}}, +/* 52449 */ {(13<<2)|2,{75,54,0}}, +/* 52450 */ {(13<<2)|2,{75,54,0}}, +/* 52451 */ {(13<<2)|2,{75,54,0}}, +/* 52452 */ {(13<<2)|2,{75,54,0}}, +/* 52453 */ {(13<<2)|2,{75,54,0}}, +/* 52454 */ {(13<<2)|2,{75,54,0}}, +/* 52455 */ {(13<<2)|2,{75,54,0}}, +/* 52456 */ {(13<<2)|2,{75,55,0}}, +/* 52457 */ {(13<<2)|2,{75,55,0}}, +/* 52458 */ {(13<<2)|2,{75,55,0}}, +/* 52459 */ {(13<<2)|2,{75,55,0}}, +/* 52460 */ {(13<<2)|2,{75,55,0}}, +/* 52461 */ {(13<<2)|2,{75,55,0}}, +/* 52462 */ {(13<<2)|2,{75,55,0}}, +/* 52463 */ {(13<<2)|2,{75,55,0}}, +/* 52464 */ {(13<<2)|2,{75,56,0}}, +/* 52465 */ {(13<<2)|2,{75,56,0}}, +/* 52466 */ {(13<<2)|2,{75,56,0}}, +/* 52467 */ {(13<<2)|2,{75,56,0}}, +/* 52468 */ {(13<<2)|2,{75,56,0}}, +/* 52469 */ {(13<<2)|2,{75,56,0}}, +/* 52470 */ {(13<<2)|2,{75,56,0}}, +/* 52471 */ {(13<<2)|2,{75,56,0}}, +/* 52472 */ {(13<<2)|2,{75,57,0}}, +/* 52473 */ {(13<<2)|2,{75,57,0}}, +/* 52474 */ {(13<<2)|2,{75,57,0}}, +/* 52475 */ {(13<<2)|2,{75,57,0}}, +/* 52476 */ {(13<<2)|2,{75,57,0}}, +/* 52477 */ {(13<<2)|2,{75,57,0}}, +/* 52478 */ {(13<<2)|2,{75,57,0}}, +/* 52479 */ {(13<<2)|2,{75,57,0}}, +/* 52480 */ {(13<<2)|2,{75,61,0}}, +/* 52481 */ {(13<<2)|2,{75,61,0}}, +/* 52482 */ {(13<<2)|2,{75,61,0}}, +/* 52483 */ {(13<<2)|2,{75,61,0}}, +/* 52484 */ {(13<<2)|2,{75,61,0}}, +/* 52485 */ {(13<<2)|2,{75,61,0}}, +/* 52486 */ {(13<<2)|2,{75,61,0}}, +/* 52487 */ {(13<<2)|2,{75,61,0}}, +/* 52488 */ {(13<<2)|2,{75,65,0}}, +/* 52489 */ {(13<<2)|2,{75,65,0}}, +/* 52490 */ {(13<<2)|2,{75,65,0}}, +/* 52491 */ {(13<<2)|2,{75,65,0}}, +/* 52492 */ {(13<<2)|2,{75,65,0}}, +/* 52493 */ {(13<<2)|2,{75,65,0}}, +/* 52494 */ {(13<<2)|2,{75,65,0}}, +/* 52495 */ {(13<<2)|2,{75,65,0}}, +/* 52496 */ {(13<<2)|2,{75,95,0}}, +/* 52497 */ {(13<<2)|2,{75,95,0}}, +/* 52498 */ {(13<<2)|2,{75,95,0}}, +/* 52499 */ {(13<<2)|2,{75,95,0}}, +/* 52500 */ {(13<<2)|2,{75,95,0}}, +/* 52501 */ {(13<<2)|2,{75,95,0}}, +/* 52502 */ {(13<<2)|2,{75,95,0}}, +/* 52503 */ {(13<<2)|2,{75,95,0}}, +/* 52504 */ {(13<<2)|2,{75,98,0}}, +/* 52505 */ {(13<<2)|2,{75,98,0}}, +/* 52506 */ {(13<<2)|2,{75,98,0}}, +/* 52507 */ {(13<<2)|2,{75,98,0}}, +/* 52508 */ {(13<<2)|2,{75,98,0}}, +/* 52509 */ {(13<<2)|2,{75,98,0}}, +/* 52510 */ {(13<<2)|2,{75,98,0}}, +/* 52511 */ {(13<<2)|2,{75,98,0}}, +/* 52512 */ {(13<<2)|2,{75,100,0}}, +/* 52513 */ {(13<<2)|2,{75,100,0}}, +/* 52514 */ {(13<<2)|2,{75,100,0}}, +/* 52515 */ {(13<<2)|2,{75,100,0}}, +/* 52516 */ {(13<<2)|2,{75,100,0}}, +/* 52517 */ {(13<<2)|2,{75,100,0}}, +/* 52518 */ {(13<<2)|2,{75,100,0}}, +/* 52519 */ {(13<<2)|2,{75,100,0}}, +/* 52520 */ {(13<<2)|2,{75,102,0}}, +/* 52521 */ {(13<<2)|2,{75,102,0}}, +/* 52522 */ {(13<<2)|2,{75,102,0}}, +/* 52523 */ {(13<<2)|2,{75,102,0}}, +/* 52524 */ {(13<<2)|2,{75,102,0}}, +/* 52525 */ {(13<<2)|2,{75,102,0}}, +/* 52526 */ {(13<<2)|2,{75,102,0}}, +/* 52527 */ {(13<<2)|2,{75,102,0}}, +/* 52528 */ {(13<<2)|2,{75,103,0}}, +/* 52529 */ {(13<<2)|2,{75,103,0}}, +/* 52530 */ {(13<<2)|2,{75,103,0}}, +/* 52531 */ {(13<<2)|2,{75,103,0}}, +/* 52532 */ {(13<<2)|2,{75,103,0}}, +/* 52533 */ {(13<<2)|2,{75,103,0}}, +/* 52534 */ {(13<<2)|2,{75,103,0}}, +/* 52535 */ {(13<<2)|2,{75,103,0}}, +/* 52536 */ {(13<<2)|2,{75,104,0}}, +/* 52537 */ {(13<<2)|2,{75,104,0}}, +/* 52538 */ {(13<<2)|2,{75,104,0}}, +/* 52539 */ {(13<<2)|2,{75,104,0}}, +/* 52540 */ {(13<<2)|2,{75,104,0}}, +/* 52541 */ {(13<<2)|2,{75,104,0}}, +/* 52542 */ {(13<<2)|2,{75,104,0}}, +/* 52543 */ {(13<<2)|2,{75,104,0}}, +/* 52544 */ {(13<<2)|2,{75,108,0}}, +/* 52545 */ {(13<<2)|2,{75,108,0}}, +/* 52546 */ {(13<<2)|2,{75,108,0}}, +/* 52547 */ {(13<<2)|2,{75,108,0}}, +/* 52548 */ {(13<<2)|2,{75,108,0}}, +/* 52549 */ {(13<<2)|2,{75,108,0}}, +/* 52550 */ {(13<<2)|2,{75,108,0}}, +/* 52551 */ {(13<<2)|2,{75,108,0}}, +/* 52552 */ {(13<<2)|2,{75,109,0}}, +/* 52553 */ {(13<<2)|2,{75,109,0}}, +/* 52554 */ {(13<<2)|2,{75,109,0}}, +/* 52555 */ {(13<<2)|2,{75,109,0}}, +/* 52556 */ {(13<<2)|2,{75,109,0}}, +/* 52557 */ {(13<<2)|2,{75,109,0}}, +/* 52558 */ {(13<<2)|2,{75,109,0}}, +/* 52559 */ {(13<<2)|2,{75,109,0}}, +/* 52560 */ {(13<<2)|2,{75,110,0}}, +/* 52561 */ {(13<<2)|2,{75,110,0}}, +/* 52562 */ {(13<<2)|2,{75,110,0}}, +/* 52563 */ {(13<<2)|2,{75,110,0}}, +/* 52564 */ {(13<<2)|2,{75,110,0}}, +/* 52565 */ {(13<<2)|2,{75,110,0}}, +/* 52566 */ {(13<<2)|2,{75,110,0}}, +/* 52567 */ {(13<<2)|2,{75,110,0}}, +/* 52568 */ {(13<<2)|2,{75,112,0}}, +/* 52569 */ {(13<<2)|2,{75,112,0}}, +/* 52570 */ {(13<<2)|2,{75,112,0}}, +/* 52571 */ {(13<<2)|2,{75,112,0}}, +/* 52572 */ {(13<<2)|2,{75,112,0}}, +/* 52573 */ {(13<<2)|2,{75,112,0}}, +/* 52574 */ {(13<<2)|2,{75,112,0}}, +/* 52575 */ {(13<<2)|2,{75,112,0}}, +/* 52576 */ {(13<<2)|2,{75,114,0}}, +/* 52577 */ {(13<<2)|2,{75,114,0}}, +/* 52578 */ {(13<<2)|2,{75,114,0}}, +/* 52579 */ {(13<<2)|2,{75,114,0}}, +/* 52580 */ {(13<<2)|2,{75,114,0}}, +/* 52581 */ {(13<<2)|2,{75,114,0}}, +/* 52582 */ {(13<<2)|2,{75,114,0}}, +/* 52583 */ {(13<<2)|2,{75,114,0}}, +/* 52584 */ {(13<<2)|2,{75,117,0}}, +/* 52585 */ {(13<<2)|2,{75,117,0}}, +/* 52586 */ {(13<<2)|2,{75,117,0}}, +/* 52587 */ {(13<<2)|2,{75,117,0}}, +/* 52588 */ {(13<<2)|2,{75,117,0}}, +/* 52589 */ {(13<<2)|2,{75,117,0}}, +/* 52590 */ {(13<<2)|2,{75,117,0}}, +/* 52591 */ {(13<<2)|2,{75,117,0}}, +/* 52592 */ {(14<<2)|2,{75,58,0}}, +/* 52593 */ {(14<<2)|2,{75,58,0}}, +/* 52594 */ {(14<<2)|2,{75,58,0}}, +/* 52595 */ {(14<<2)|2,{75,58,0}}, +/* 52596 */ {(14<<2)|2,{75,66,0}}, +/* 52597 */ {(14<<2)|2,{75,66,0}}, +/* 52598 */ {(14<<2)|2,{75,66,0}}, +/* 52599 */ {(14<<2)|2,{75,66,0}}, +/* 52600 */ {(14<<2)|2,{75,67,0}}, +/* 52601 */ {(14<<2)|2,{75,67,0}}, +/* 52602 */ {(14<<2)|2,{75,67,0}}, +/* 52603 */ {(14<<2)|2,{75,67,0}}, +/* 52604 */ {(14<<2)|2,{75,68,0}}, +/* 52605 */ {(14<<2)|2,{75,68,0}}, +/* 52606 */ {(14<<2)|2,{75,68,0}}, +/* 52607 */ {(14<<2)|2,{75,68,0}}, +/* 52608 */ {(14<<2)|2,{75,69,0}}, +/* 52609 */ {(14<<2)|2,{75,69,0}}, +/* 52610 */ {(14<<2)|2,{75,69,0}}, +/* 52611 */ {(14<<2)|2,{75,69,0}}, +/* 52612 */ {(14<<2)|2,{75,70,0}}, +/* 52613 */ {(14<<2)|2,{75,70,0}}, +/* 52614 */ {(14<<2)|2,{75,70,0}}, +/* 52615 */ {(14<<2)|2,{75,70,0}}, +/* 52616 */ {(14<<2)|2,{75,71,0}}, +/* 52617 */ {(14<<2)|2,{75,71,0}}, +/* 52618 */ {(14<<2)|2,{75,71,0}}, +/* 52619 */ {(14<<2)|2,{75,71,0}}, +/* 52620 */ {(14<<2)|2,{75,72,0}}, +/* 52621 */ {(14<<2)|2,{75,72,0}}, +/* 52622 */ {(14<<2)|2,{75,72,0}}, +/* 52623 */ {(14<<2)|2,{75,72,0}}, +/* 52624 */ {(14<<2)|2,{75,73,0}}, +/* 52625 */ {(14<<2)|2,{75,73,0}}, +/* 52626 */ {(14<<2)|2,{75,73,0}}, +/* 52627 */ {(14<<2)|2,{75,73,0}}, +/* 52628 */ {(14<<2)|2,{75,74,0}}, +/* 52629 */ {(14<<2)|2,{75,74,0}}, +/* 52630 */ {(14<<2)|2,{75,74,0}}, +/* 52631 */ {(14<<2)|2,{75,74,0}}, +/* 52632 */ {(14<<2)|2,{75,75,0}}, +/* 52633 */ {(14<<2)|2,{75,75,0}}, +/* 52634 */ {(14<<2)|2,{75,75,0}}, +/* 52635 */ {(14<<2)|2,{75,75,0}}, +/* 52636 */ {(14<<2)|2,{75,76,0}}, +/* 52637 */ {(14<<2)|2,{75,76,0}}, +/* 52638 */ {(14<<2)|2,{75,76,0}}, +/* 52639 */ {(14<<2)|2,{75,76,0}}, +/* 52640 */ {(14<<2)|2,{75,77,0}}, +/* 52641 */ {(14<<2)|2,{75,77,0}}, +/* 52642 */ {(14<<2)|2,{75,77,0}}, +/* 52643 */ {(14<<2)|2,{75,77,0}}, +/* 52644 */ {(14<<2)|2,{75,78,0}}, +/* 52645 */ {(14<<2)|2,{75,78,0}}, +/* 52646 */ {(14<<2)|2,{75,78,0}}, +/* 52647 */ {(14<<2)|2,{75,78,0}}, +/* 52648 */ {(14<<2)|2,{75,79,0}}, +/* 52649 */ {(14<<2)|2,{75,79,0}}, +/* 52650 */ {(14<<2)|2,{75,79,0}}, +/* 52651 */ {(14<<2)|2,{75,79,0}}, +/* 52652 */ {(14<<2)|2,{75,80,0}}, +/* 52653 */ {(14<<2)|2,{75,80,0}}, +/* 52654 */ {(14<<2)|2,{75,80,0}}, +/* 52655 */ {(14<<2)|2,{75,80,0}}, +/* 52656 */ {(14<<2)|2,{75,81,0}}, +/* 52657 */ {(14<<2)|2,{75,81,0}}, +/* 52658 */ {(14<<2)|2,{75,81,0}}, +/* 52659 */ {(14<<2)|2,{75,81,0}}, +/* 52660 */ {(14<<2)|2,{75,82,0}}, +/* 52661 */ {(14<<2)|2,{75,82,0}}, +/* 52662 */ {(14<<2)|2,{75,82,0}}, +/* 52663 */ {(14<<2)|2,{75,82,0}}, +/* 52664 */ {(14<<2)|2,{75,83,0}}, +/* 52665 */ {(14<<2)|2,{75,83,0}}, +/* 52666 */ {(14<<2)|2,{75,83,0}}, +/* 52667 */ {(14<<2)|2,{75,83,0}}, +/* 52668 */ {(14<<2)|2,{75,84,0}}, +/* 52669 */ {(14<<2)|2,{75,84,0}}, +/* 52670 */ {(14<<2)|2,{75,84,0}}, +/* 52671 */ {(14<<2)|2,{75,84,0}}, +/* 52672 */ {(14<<2)|2,{75,85,0}}, +/* 52673 */ {(14<<2)|2,{75,85,0}}, +/* 52674 */ {(14<<2)|2,{75,85,0}}, +/* 52675 */ {(14<<2)|2,{75,85,0}}, +/* 52676 */ {(14<<2)|2,{75,86,0}}, +/* 52677 */ {(14<<2)|2,{75,86,0}}, +/* 52678 */ {(14<<2)|2,{75,86,0}}, +/* 52679 */ {(14<<2)|2,{75,86,0}}, +/* 52680 */ {(14<<2)|2,{75,87,0}}, +/* 52681 */ {(14<<2)|2,{75,87,0}}, +/* 52682 */ {(14<<2)|2,{75,87,0}}, +/* 52683 */ {(14<<2)|2,{75,87,0}}, +/* 52684 */ {(14<<2)|2,{75,89,0}}, +/* 52685 */ {(14<<2)|2,{75,89,0}}, +/* 52686 */ {(14<<2)|2,{75,89,0}}, +/* 52687 */ {(14<<2)|2,{75,89,0}}, +/* 52688 */ {(14<<2)|2,{75,106,0}}, +/* 52689 */ {(14<<2)|2,{75,106,0}}, +/* 52690 */ {(14<<2)|2,{75,106,0}}, +/* 52691 */ {(14<<2)|2,{75,106,0}}, +/* 52692 */ {(14<<2)|2,{75,107,0}}, +/* 52693 */ {(14<<2)|2,{75,107,0}}, +/* 52694 */ {(14<<2)|2,{75,107,0}}, +/* 52695 */ {(14<<2)|2,{75,107,0}}, +/* 52696 */ {(14<<2)|2,{75,113,0}}, +/* 52697 */ {(14<<2)|2,{75,113,0}}, +/* 52698 */ {(14<<2)|2,{75,113,0}}, +/* 52699 */ {(14<<2)|2,{75,113,0}}, +/* 52700 */ {(14<<2)|2,{75,118,0}}, +/* 52701 */ {(14<<2)|2,{75,118,0}}, +/* 52702 */ {(14<<2)|2,{75,118,0}}, +/* 52703 */ {(14<<2)|2,{75,118,0}}, +/* 52704 */ {(14<<2)|2,{75,119,0}}, +/* 52705 */ {(14<<2)|2,{75,119,0}}, +/* 52706 */ {(14<<2)|2,{75,119,0}}, +/* 52707 */ {(14<<2)|2,{75,119,0}}, +/* 52708 */ {(14<<2)|2,{75,120,0}}, +/* 52709 */ {(14<<2)|2,{75,120,0}}, +/* 52710 */ {(14<<2)|2,{75,120,0}}, +/* 52711 */ {(14<<2)|2,{75,120,0}}, +/* 52712 */ {(14<<2)|2,{75,121,0}}, +/* 52713 */ {(14<<2)|2,{75,121,0}}, +/* 52714 */ {(14<<2)|2,{75,121,0}}, +/* 52715 */ {(14<<2)|2,{75,121,0}}, +/* 52716 */ {(14<<2)|2,{75,122,0}}, +/* 52717 */ {(14<<2)|2,{75,122,0}}, +/* 52718 */ {(14<<2)|2,{75,122,0}}, +/* 52719 */ {(14<<2)|2,{75,122,0}}, +/* 52720 */ {(15<<2)|2,{75,38,0}}, +/* 52721 */ {(15<<2)|2,{75,38,0}}, +/* 52722 */ {(15<<2)|2,{75,42,0}}, +/* 52723 */ {(15<<2)|2,{75,42,0}}, +/* 52724 */ {(15<<2)|2,{75,44,0}}, +/* 52725 */ {(15<<2)|2,{75,44,0}}, +/* 52726 */ {(15<<2)|2,{75,59,0}}, +/* 52727 */ {(15<<2)|2,{75,59,0}}, +/* 52728 */ {(15<<2)|2,{75,88,0}}, +/* 52729 */ {(15<<2)|2,{75,88,0}}, +/* 52730 */ {(15<<2)|2,{75,90,0}}, +/* 52731 */ {(15<<2)|2,{75,90,0}}, +/* 52732 */ {(7<<2)|1,{75,0,0}}, +/* 52733 */ {(7<<2)|1,{75,0,0}}, +/* 52734 */ {(7<<2)|1,{75,0,0}}, +/* 52735 */ {(7<<2)|1,{75,0,0}}, +/* 52736 */ {(12<<2)|2,{76,48,0}}, +/* 52737 */ {(12<<2)|2,{76,48,0}}, +/* 52738 */ {(12<<2)|2,{76,48,0}}, +/* 52739 */ {(12<<2)|2,{76,48,0}}, +/* 52740 */ {(12<<2)|2,{76,48,0}}, +/* 52741 */ {(12<<2)|2,{76,48,0}}, +/* 52742 */ {(12<<2)|2,{76,48,0}}, +/* 52743 */ {(12<<2)|2,{76,48,0}}, +/* 52744 */ {(12<<2)|2,{76,48,0}}, +/* 52745 */ {(12<<2)|2,{76,48,0}}, +/* 52746 */ {(12<<2)|2,{76,48,0}}, +/* 52747 */ {(12<<2)|2,{76,48,0}}, +/* 52748 */ {(12<<2)|2,{76,48,0}}, +/* 52749 */ {(12<<2)|2,{76,48,0}}, +/* 52750 */ {(12<<2)|2,{76,48,0}}, +/* 52751 */ {(12<<2)|2,{76,48,0}}, +/* 52752 */ {(12<<2)|2,{76,49,0}}, +/* 52753 */ {(12<<2)|2,{76,49,0}}, +/* 52754 */ {(12<<2)|2,{76,49,0}}, +/* 52755 */ {(12<<2)|2,{76,49,0}}, +/* 52756 */ {(12<<2)|2,{76,49,0}}, +/* 52757 */ {(12<<2)|2,{76,49,0}}, +/* 52758 */ {(12<<2)|2,{76,49,0}}, +/* 52759 */ {(12<<2)|2,{76,49,0}}, +/* 52760 */ {(12<<2)|2,{76,49,0}}, +/* 52761 */ {(12<<2)|2,{76,49,0}}, +/* 52762 */ {(12<<2)|2,{76,49,0}}, +/* 52763 */ {(12<<2)|2,{76,49,0}}, +/* 52764 */ {(12<<2)|2,{76,49,0}}, +/* 52765 */ {(12<<2)|2,{76,49,0}}, +/* 52766 */ {(12<<2)|2,{76,49,0}}, +/* 52767 */ {(12<<2)|2,{76,49,0}}, +/* 52768 */ {(12<<2)|2,{76,50,0}}, +/* 52769 */ {(12<<2)|2,{76,50,0}}, +/* 52770 */ {(12<<2)|2,{76,50,0}}, +/* 52771 */ {(12<<2)|2,{76,50,0}}, +/* 52772 */ {(12<<2)|2,{76,50,0}}, +/* 52773 */ {(12<<2)|2,{76,50,0}}, +/* 52774 */ {(12<<2)|2,{76,50,0}}, +/* 52775 */ {(12<<2)|2,{76,50,0}}, +/* 52776 */ {(12<<2)|2,{76,50,0}}, +/* 52777 */ {(12<<2)|2,{76,50,0}}, +/* 52778 */ {(12<<2)|2,{76,50,0}}, +/* 52779 */ {(12<<2)|2,{76,50,0}}, +/* 52780 */ {(12<<2)|2,{76,50,0}}, +/* 52781 */ {(12<<2)|2,{76,50,0}}, +/* 52782 */ {(12<<2)|2,{76,50,0}}, +/* 52783 */ {(12<<2)|2,{76,50,0}}, +/* 52784 */ {(12<<2)|2,{76,97,0}}, +/* 52785 */ {(12<<2)|2,{76,97,0}}, +/* 52786 */ {(12<<2)|2,{76,97,0}}, +/* 52787 */ {(12<<2)|2,{76,97,0}}, +/* 52788 */ {(12<<2)|2,{76,97,0}}, +/* 52789 */ {(12<<2)|2,{76,97,0}}, +/* 52790 */ {(12<<2)|2,{76,97,0}}, +/* 52791 */ {(12<<2)|2,{76,97,0}}, +/* 52792 */ {(12<<2)|2,{76,97,0}}, +/* 52793 */ {(12<<2)|2,{76,97,0}}, +/* 52794 */ {(12<<2)|2,{76,97,0}}, +/* 52795 */ {(12<<2)|2,{76,97,0}}, +/* 52796 */ {(12<<2)|2,{76,97,0}}, +/* 52797 */ {(12<<2)|2,{76,97,0}}, +/* 52798 */ {(12<<2)|2,{76,97,0}}, +/* 52799 */ {(12<<2)|2,{76,97,0}}, +/* 52800 */ {(12<<2)|2,{76,99,0}}, +/* 52801 */ {(12<<2)|2,{76,99,0}}, +/* 52802 */ {(12<<2)|2,{76,99,0}}, +/* 52803 */ {(12<<2)|2,{76,99,0}}, +/* 52804 */ {(12<<2)|2,{76,99,0}}, +/* 52805 */ {(12<<2)|2,{76,99,0}}, +/* 52806 */ {(12<<2)|2,{76,99,0}}, +/* 52807 */ {(12<<2)|2,{76,99,0}}, +/* 52808 */ {(12<<2)|2,{76,99,0}}, +/* 52809 */ {(12<<2)|2,{76,99,0}}, +/* 52810 */ {(12<<2)|2,{76,99,0}}, +/* 52811 */ {(12<<2)|2,{76,99,0}}, +/* 52812 */ {(12<<2)|2,{76,99,0}}, +/* 52813 */ {(12<<2)|2,{76,99,0}}, +/* 52814 */ {(12<<2)|2,{76,99,0}}, +/* 52815 */ {(12<<2)|2,{76,99,0}}, +/* 52816 */ {(12<<2)|2,{76,101,0}}, +/* 52817 */ {(12<<2)|2,{76,101,0}}, +/* 52818 */ {(12<<2)|2,{76,101,0}}, +/* 52819 */ {(12<<2)|2,{76,101,0}}, +/* 52820 */ {(12<<2)|2,{76,101,0}}, +/* 52821 */ {(12<<2)|2,{76,101,0}}, +/* 52822 */ {(12<<2)|2,{76,101,0}}, +/* 52823 */ {(12<<2)|2,{76,101,0}}, +/* 52824 */ {(12<<2)|2,{76,101,0}}, +/* 52825 */ {(12<<2)|2,{76,101,0}}, +/* 52826 */ {(12<<2)|2,{76,101,0}}, +/* 52827 */ {(12<<2)|2,{76,101,0}}, +/* 52828 */ {(12<<2)|2,{76,101,0}}, +/* 52829 */ {(12<<2)|2,{76,101,0}}, +/* 52830 */ {(12<<2)|2,{76,101,0}}, +/* 52831 */ {(12<<2)|2,{76,101,0}}, +/* 52832 */ {(12<<2)|2,{76,105,0}}, +/* 52833 */ {(12<<2)|2,{76,105,0}}, +/* 52834 */ {(12<<2)|2,{76,105,0}}, +/* 52835 */ {(12<<2)|2,{76,105,0}}, +/* 52836 */ {(12<<2)|2,{76,105,0}}, +/* 52837 */ {(12<<2)|2,{76,105,0}}, +/* 52838 */ {(12<<2)|2,{76,105,0}}, +/* 52839 */ {(12<<2)|2,{76,105,0}}, +/* 52840 */ {(12<<2)|2,{76,105,0}}, +/* 52841 */ {(12<<2)|2,{76,105,0}}, +/* 52842 */ {(12<<2)|2,{76,105,0}}, +/* 52843 */ {(12<<2)|2,{76,105,0}}, +/* 52844 */ {(12<<2)|2,{76,105,0}}, +/* 52845 */ {(12<<2)|2,{76,105,0}}, +/* 52846 */ {(12<<2)|2,{76,105,0}}, +/* 52847 */ {(12<<2)|2,{76,105,0}}, +/* 52848 */ {(12<<2)|2,{76,111,0}}, +/* 52849 */ {(12<<2)|2,{76,111,0}}, +/* 52850 */ {(12<<2)|2,{76,111,0}}, +/* 52851 */ {(12<<2)|2,{76,111,0}}, +/* 52852 */ {(12<<2)|2,{76,111,0}}, +/* 52853 */ {(12<<2)|2,{76,111,0}}, +/* 52854 */ {(12<<2)|2,{76,111,0}}, +/* 52855 */ {(12<<2)|2,{76,111,0}}, +/* 52856 */ {(12<<2)|2,{76,111,0}}, +/* 52857 */ {(12<<2)|2,{76,111,0}}, +/* 52858 */ {(12<<2)|2,{76,111,0}}, +/* 52859 */ {(12<<2)|2,{76,111,0}}, +/* 52860 */ {(12<<2)|2,{76,111,0}}, +/* 52861 */ {(12<<2)|2,{76,111,0}}, +/* 52862 */ {(12<<2)|2,{76,111,0}}, +/* 52863 */ {(12<<2)|2,{76,111,0}}, +/* 52864 */ {(12<<2)|2,{76,115,0}}, +/* 52865 */ {(12<<2)|2,{76,115,0}}, +/* 52866 */ {(12<<2)|2,{76,115,0}}, +/* 52867 */ {(12<<2)|2,{76,115,0}}, +/* 52868 */ {(12<<2)|2,{76,115,0}}, +/* 52869 */ {(12<<2)|2,{76,115,0}}, +/* 52870 */ {(12<<2)|2,{76,115,0}}, +/* 52871 */ {(12<<2)|2,{76,115,0}}, +/* 52872 */ {(12<<2)|2,{76,115,0}}, +/* 52873 */ {(12<<2)|2,{76,115,0}}, +/* 52874 */ {(12<<2)|2,{76,115,0}}, +/* 52875 */ {(12<<2)|2,{76,115,0}}, +/* 52876 */ {(12<<2)|2,{76,115,0}}, +/* 52877 */ {(12<<2)|2,{76,115,0}}, +/* 52878 */ {(12<<2)|2,{76,115,0}}, +/* 52879 */ {(12<<2)|2,{76,115,0}}, +/* 52880 */ {(12<<2)|2,{76,116,0}}, +/* 52881 */ {(12<<2)|2,{76,116,0}}, +/* 52882 */ {(12<<2)|2,{76,116,0}}, +/* 52883 */ {(12<<2)|2,{76,116,0}}, +/* 52884 */ {(12<<2)|2,{76,116,0}}, +/* 52885 */ {(12<<2)|2,{76,116,0}}, +/* 52886 */ {(12<<2)|2,{76,116,0}}, +/* 52887 */ {(12<<2)|2,{76,116,0}}, +/* 52888 */ {(12<<2)|2,{76,116,0}}, +/* 52889 */ {(12<<2)|2,{76,116,0}}, +/* 52890 */ {(12<<2)|2,{76,116,0}}, +/* 52891 */ {(12<<2)|2,{76,116,0}}, +/* 52892 */ {(12<<2)|2,{76,116,0}}, +/* 52893 */ {(12<<2)|2,{76,116,0}}, +/* 52894 */ {(12<<2)|2,{76,116,0}}, +/* 52895 */ {(12<<2)|2,{76,116,0}}, +/* 52896 */ {(13<<2)|2,{76,32,0}}, +/* 52897 */ {(13<<2)|2,{76,32,0}}, +/* 52898 */ {(13<<2)|2,{76,32,0}}, +/* 52899 */ {(13<<2)|2,{76,32,0}}, +/* 52900 */ {(13<<2)|2,{76,32,0}}, +/* 52901 */ {(13<<2)|2,{76,32,0}}, +/* 52902 */ {(13<<2)|2,{76,32,0}}, +/* 52903 */ {(13<<2)|2,{76,32,0}}, +/* 52904 */ {(13<<2)|2,{76,37,0}}, +/* 52905 */ {(13<<2)|2,{76,37,0}}, +/* 52906 */ {(13<<2)|2,{76,37,0}}, +/* 52907 */ {(13<<2)|2,{76,37,0}}, +/* 52908 */ {(13<<2)|2,{76,37,0}}, +/* 52909 */ {(13<<2)|2,{76,37,0}}, +/* 52910 */ {(13<<2)|2,{76,37,0}}, +/* 52911 */ {(13<<2)|2,{76,37,0}}, +/* 52912 */ {(13<<2)|2,{76,45,0}}, +/* 52913 */ {(13<<2)|2,{76,45,0}}, +/* 52914 */ {(13<<2)|2,{76,45,0}}, +/* 52915 */ {(13<<2)|2,{76,45,0}}, +/* 52916 */ {(13<<2)|2,{76,45,0}}, +/* 52917 */ {(13<<2)|2,{76,45,0}}, +/* 52918 */ {(13<<2)|2,{76,45,0}}, +/* 52919 */ {(13<<2)|2,{76,45,0}}, +/* 52920 */ {(13<<2)|2,{76,46,0}}, +/* 52921 */ {(13<<2)|2,{76,46,0}}, +/* 52922 */ {(13<<2)|2,{76,46,0}}, +/* 52923 */ {(13<<2)|2,{76,46,0}}, +/* 52924 */ {(13<<2)|2,{76,46,0}}, +/* 52925 */ {(13<<2)|2,{76,46,0}}, +/* 52926 */ {(13<<2)|2,{76,46,0}}, +/* 52927 */ {(13<<2)|2,{76,46,0}}, +/* 52928 */ {(13<<2)|2,{76,47,0}}, +/* 52929 */ {(13<<2)|2,{76,47,0}}, +/* 52930 */ {(13<<2)|2,{76,47,0}}, +/* 52931 */ {(13<<2)|2,{76,47,0}}, +/* 52932 */ {(13<<2)|2,{76,47,0}}, +/* 52933 */ {(13<<2)|2,{76,47,0}}, +/* 52934 */ {(13<<2)|2,{76,47,0}}, +/* 52935 */ {(13<<2)|2,{76,47,0}}, +/* 52936 */ {(13<<2)|2,{76,51,0}}, +/* 52937 */ {(13<<2)|2,{76,51,0}}, +/* 52938 */ {(13<<2)|2,{76,51,0}}, +/* 52939 */ {(13<<2)|2,{76,51,0}}, +/* 52940 */ {(13<<2)|2,{76,51,0}}, +/* 52941 */ {(13<<2)|2,{76,51,0}}, +/* 52942 */ {(13<<2)|2,{76,51,0}}, +/* 52943 */ {(13<<2)|2,{76,51,0}}, +/* 52944 */ {(13<<2)|2,{76,52,0}}, +/* 52945 */ {(13<<2)|2,{76,52,0}}, +/* 52946 */ {(13<<2)|2,{76,52,0}}, +/* 52947 */ {(13<<2)|2,{76,52,0}}, +/* 52948 */ {(13<<2)|2,{76,52,0}}, +/* 52949 */ {(13<<2)|2,{76,52,0}}, +/* 52950 */ {(13<<2)|2,{76,52,0}}, +/* 52951 */ {(13<<2)|2,{76,52,0}}, +/* 52952 */ {(13<<2)|2,{76,53,0}}, +/* 52953 */ {(13<<2)|2,{76,53,0}}, +/* 52954 */ {(13<<2)|2,{76,53,0}}, +/* 52955 */ {(13<<2)|2,{76,53,0}}, +/* 52956 */ {(13<<2)|2,{76,53,0}}, +/* 52957 */ {(13<<2)|2,{76,53,0}}, +/* 52958 */ {(13<<2)|2,{76,53,0}}, +/* 52959 */ {(13<<2)|2,{76,53,0}}, +/* 52960 */ {(13<<2)|2,{76,54,0}}, +/* 52961 */ {(13<<2)|2,{76,54,0}}, +/* 52962 */ {(13<<2)|2,{76,54,0}}, +/* 52963 */ {(13<<2)|2,{76,54,0}}, +/* 52964 */ {(13<<2)|2,{76,54,0}}, +/* 52965 */ {(13<<2)|2,{76,54,0}}, +/* 52966 */ {(13<<2)|2,{76,54,0}}, +/* 52967 */ {(13<<2)|2,{76,54,0}}, +/* 52968 */ {(13<<2)|2,{76,55,0}}, +/* 52969 */ {(13<<2)|2,{76,55,0}}, +/* 52970 */ {(13<<2)|2,{76,55,0}}, +/* 52971 */ {(13<<2)|2,{76,55,0}}, +/* 52972 */ {(13<<2)|2,{76,55,0}}, +/* 52973 */ {(13<<2)|2,{76,55,0}}, +/* 52974 */ {(13<<2)|2,{76,55,0}}, +/* 52975 */ {(13<<2)|2,{76,55,0}}, +/* 52976 */ {(13<<2)|2,{76,56,0}}, +/* 52977 */ {(13<<2)|2,{76,56,0}}, +/* 52978 */ {(13<<2)|2,{76,56,0}}, +/* 52979 */ {(13<<2)|2,{76,56,0}}, +/* 52980 */ {(13<<2)|2,{76,56,0}}, +/* 52981 */ {(13<<2)|2,{76,56,0}}, +/* 52982 */ {(13<<2)|2,{76,56,0}}, +/* 52983 */ {(13<<2)|2,{76,56,0}}, +/* 52984 */ {(13<<2)|2,{76,57,0}}, +/* 52985 */ {(13<<2)|2,{76,57,0}}, +/* 52986 */ {(13<<2)|2,{76,57,0}}, +/* 52987 */ {(13<<2)|2,{76,57,0}}, +/* 52988 */ {(13<<2)|2,{76,57,0}}, +/* 52989 */ {(13<<2)|2,{76,57,0}}, +/* 52990 */ {(13<<2)|2,{76,57,0}}, +/* 52991 */ {(13<<2)|2,{76,57,0}}, +/* 52992 */ {(13<<2)|2,{76,61,0}}, +/* 52993 */ {(13<<2)|2,{76,61,0}}, +/* 52994 */ {(13<<2)|2,{76,61,0}}, +/* 52995 */ {(13<<2)|2,{76,61,0}}, +/* 52996 */ {(13<<2)|2,{76,61,0}}, +/* 52997 */ {(13<<2)|2,{76,61,0}}, +/* 52998 */ {(13<<2)|2,{76,61,0}}, +/* 52999 */ {(13<<2)|2,{76,61,0}}, +/* 53000 */ {(13<<2)|2,{76,65,0}}, +/* 53001 */ {(13<<2)|2,{76,65,0}}, +/* 53002 */ {(13<<2)|2,{76,65,0}}, +/* 53003 */ {(13<<2)|2,{76,65,0}}, +/* 53004 */ {(13<<2)|2,{76,65,0}}, +/* 53005 */ {(13<<2)|2,{76,65,0}}, +/* 53006 */ {(13<<2)|2,{76,65,0}}, +/* 53007 */ {(13<<2)|2,{76,65,0}}, +/* 53008 */ {(13<<2)|2,{76,95,0}}, +/* 53009 */ {(13<<2)|2,{76,95,0}}, +/* 53010 */ {(13<<2)|2,{76,95,0}}, +/* 53011 */ {(13<<2)|2,{76,95,0}}, +/* 53012 */ {(13<<2)|2,{76,95,0}}, +/* 53013 */ {(13<<2)|2,{76,95,0}}, +/* 53014 */ {(13<<2)|2,{76,95,0}}, +/* 53015 */ {(13<<2)|2,{76,95,0}}, +/* 53016 */ {(13<<2)|2,{76,98,0}}, +/* 53017 */ {(13<<2)|2,{76,98,0}}, +/* 53018 */ {(13<<2)|2,{76,98,0}}, +/* 53019 */ {(13<<2)|2,{76,98,0}}, +/* 53020 */ {(13<<2)|2,{76,98,0}}, +/* 53021 */ {(13<<2)|2,{76,98,0}}, +/* 53022 */ {(13<<2)|2,{76,98,0}}, +/* 53023 */ {(13<<2)|2,{76,98,0}}, +/* 53024 */ {(13<<2)|2,{76,100,0}}, +/* 53025 */ {(13<<2)|2,{76,100,0}}, +/* 53026 */ {(13<<2)|2,{76,100,0}}, +/* 53027 */ {(13<<2)|2,{76,100,0}}, +/* 53028 */ {(13<<2)|2,{76,100,0}}, +/* 53029 */ {(13<<2)|2,{76,100,0}}, +/* 53030 */ {(13<<2)|2,{76,100,0}}, +/* 53031 */ {(13<<2)|2,{76,100,0}}, +/* 53032 */ {(13<<2)|2,{76,102,0}}, +/* 53033 */ {(13<<2)|2,{76,102,0}}, +/* 53034 */ {(13<<2)|2,{76,102,0}}, +/* 53035 */ {(13<<2)|2,{76,102,0}}, +/* 53036 */ {(13<<2)|2,{76,102,0}}, +/* 53037 */ {(13<<2)|2,{76,102,0}}, +/* 53038 */ {(13<<2)|2,{76,102,0}}, +/* 53039 */ {(13<<2)|2,{76,102,0}}, +/* 53040 */ {(13<<2)|2,{76,103,0}}, +/* 53041 */ {(13<<2)|2,{76,103,0}}, +/* 53042 */ {(13<<2)|2,{76,103,0}}, +/* 53043 */ {(13<<2)|2,{76,103,0}}, +/* 53044 */ {(13<<2)|2,{76,103,0}}, +/* 53045 */ {(13<<2)|2,{76,103,0}}, +/* 53046 */ {(13<<2)|2,{76,103,0}}, +/* 53047 */ {(13<<2)|2,{76,103,0}}, +/* 53048 */ {(13<<2)|2,{76,104,0}}, +/* 53049 */ {(13<<2)|2,{76,104,0}}, +/* 53050 */ {(13<<2)|2,{76,104,0}}, +/* 53051 */ {(13<<2)|2,{76,104,0}}, +/* 53052 */ {(13<<2)|2,{76,104,0}}, +/* 53053 */ {(13<<2)|2,{76,104,0}}, +/* 53054 */ {(13<<2)|2,{76,104,0}}, +/* 53055 */ {(13<<2)|2,{76,104,0}}, +/* 53056 */ {(13<<2)|2,{76,108,0}}, +/* 53057 */ {(13<<2)|2,{76,108,0}}, +/* 53058 */ {(13<<2)|2,{76,108,0}}, +/* 53059 */ {(13<<2)|2,{76,108,0}}, +/* 53060 */ {(13<<2)|2,{76,108,0}}, +/* 53061 */ {(13<<2)|2,{76,108,0}}, +/* 53062 */ {(13<<2)|2,{76,108,0}}, +/* 53063 */ {(13<<2)|2,{76,108,0}}, +/* 53064 */ {(13<<2)|2,{76,109,0}}, +/* 53065 */ {(13<<2)|2,{76,109,0}}, +/* 53066 */ {(13<<2)|2,{76,109,0}}, +/* 53067 */ {(13<<2)|2,{76,109,0}}, +/* 53068 */ {(13<<2)|2,{76,109,0}}, +/* 53069 */ {(13<<2)|2,{76,109,0}}, +/* 53070 */ {(13<<2)|2,{76,109,0}}, +/* 53071 */ {(13<<2)|2,{76,109,0}}, +/* 53072 */ {(13<<2)|2,{76,110,0}}, +/* 53073 */ {(13<<2)|2,{76,110,0}}, +/* 53074 */ {(13<<2)|2,{76,110,0}}, +/* 53075 */ {(13<<2)|2,{76,110,0}}, +/* 53076 */ {(13<<2)|2,{76,110,0}}, +/* 53077 */ {(13<<2)|2,{76,110,0}}, +/* 53078 */ {(13<<2)|2,{76,110,0}}, +/* 53079 */ {(13<<2)|2,{76,110,0}}, +/* 53080 */ {(13<<2)|2,{76,112,0}}, +/* 53081 */ {(13<<2)|2,{76,112,0}}, +/* 53082 */ {(13<<2)|2,{76,112,0}}, +/* 53083 */ {(13<<2)|2,{76,112,0}}, +/* 53084 */ {(13<<2)|2,{76,112,0}}, +/* 53085 */ {(13<<2)|2,{76,112,0}}, +/* 53086 */ {(13<<2)|2,{76,112,0}}, +/* 53087 */ {(13<<2)|2,{76,112,0}}, +/* 53088 */ {(13<<2)|2,{76,114,0}}, +/* 53089 */ {(13<<2)|2,{76,114,0}}, +/* 53090 */ {(13<<2)|2,{76,114,0}}, +/* 53091 */ {(13<<2)|2,{76,114,0}}, +/* 53092 */ {(13<<2)|2,{76,114,0}}, +/* 53093 */ {(13<<2)|2,{76,114,0}}, +/* 53094 */ {(13<<2)|2,{76,114,0}}, +/* 53095 */ {(13<<2)|2,{76,114,0}}, +/* 53096 */ {(13<<2)|2,{76,117,0}}, +/* 53097 */ {(13<<2)|2,{76,117,0}}, +/* 53098 */ {(13<<2)|2,{76,117,0}}, +/* 53099 */ {(13<<2)|2,{76,117,0}}, +/* 53100 */ {(13<<2)|2,{76,117,0}}, +/* 53101 */ {(13<<2)|2,{76,117,0}}, +/* 53102 */ {(13<<2)|2,{76,117,0}}, +/* 53103 */ {(13<<2)|2,{76,117,0}}, +/* 53104 */ {(14<<2)|2,{76,58,0}}, +/* 53105 */ {(14<<2)|2,{76,58,0}}, +/* 53106 */ {(14<<2)|2,{76,58,0}}, +/* 53107 */ {(14<<2)|2,{76,58,0}}, +/* 53108 */ {(14<<2)|2,{76,66,0}}, +/* 53109 */ {(14<<2)|2,{76,66,0}}, +/* 53110 */ {(14<<2)|2,{76,66,0}}, +/* 53111 */ {(14<<2)|2,{76,66,0}}, +/* 53112 */ {(14<<2)|2,{76,67,0}}, +/* 53113 */ {(14<<2)|2,{76,67,0}}, +/* 53114 */ {(14<<2)|2,{76,67,0}}, +/* 53115 */ {(14<<2)|2,{76,67,0}}, +/* 53116 */ {(14<<2)|2,{76,68,0}}, +/* 53117 */ {(14<<2)|2,{76,68,0}}, +/* 53118 */ {(14<<2)|2,{76,68,0}}, +/* 53119 */ {(14<<2)|2,{76,68,0}}, +/* 53120 */ {(14<<2)|2,{76,69,0}}, +/* 53121 */ {(14<<2)|2,{76,69,0}}, +/* 53122 */ {(14<<2)|2,{76,69,0}}, +/* 53123 */ {(14<<2)|2,{76,69,0}}, +/* 53124 */ {(14<<2)|2,{76,70,0}}, +/* 53125 */ {(14<<2)|2,{76,70,0}}, +/* 53126 */ {(14<<2)|2,{76,70,0}}, +/* 53127 */ {(14<<2)|2,{76,70,0}}, +/* 53128 */ {(14<<2)|2,{76,71,0}}, +/* 53129 */ {(14<<2)|2,{76,71,0}}, +/* 53130 */ {(14<<2)|2,{76,71,0}}, +/* 53131 */ {(14<<2)|2,{76,71,0}}, +/* 53132 */ {(14<<2)|2,{76,72,0}}, +/* 53133 */ {(14<<2)|2,{76,72,0}}, +/* 53134 */ {(14<<2)|2,{76,72,0}}, +/* 53135 */ {(14<<2)|2,{76,72,0}}, +/* 53136 */ {(14<<2)|2,{76,73,0}}, +/* 53137 */ {(14<<2)|2,{76,73,0}}, +/* 53138 */ {(14<<2)|2,{76,73,0}}, +/* 53139 */ {(14<<2)|2,{76,73,0}}, +/* 53140 */ {(14<<2)|2,{76,74,0}}, +/* 53141 */ {(14<<2)|2,{76,74,0}}, +/* 53142 */ {(14<<2)|2,{76,74,0}}, +/* 53143 */ {(14<<2)|2,{76,74,0}}, +/* 53144 */ {(14<<2)|2,{76,75,0}}, +/* 53145 */ {(14<<2)|2,{76,75,0}}, +/* 53146 */ {(14<<2)|2,{76,75,0}}, +/* 53147 */ {(14<<2)|2,{76,75,0}}, +/* 53148 */ {(14<<2)|2,{76,76,0}}, +/* 53149 */ {(14<<2)|2,{76,76,0}}, +/* 53150 */ {(14<<2)|2,{76,76,0}}, +/* 53151 */ {(14<<2)|2,{76,76,0}}, +/* 53152 */ {(14<<2)|2,{76,77,0}}, +/* 53153 */ {(14<<2)|2,{76,77,0}}, +/* 53154 */ {(14<<2)|2,{76,77,0}}, +/* 53155 */ {(14<<2)|2,{76,77,0}}, +/* 53156 */ {(14<<2)|2,{76,78,0}}, +/* 53157 */ {(14<<2)|2,{76,78,0}}, +/* 53158 */ {(14<<2)|2,{76,78,0}}, +/* 53159 */ {(14<<2)|2,{76,78,0}}, +/* 53160 */ {(14<<2)|2,{76,79,0}}, +/* 53161 */ {(14<<2)|2,{76,79,0}}, +/* 53162 */ {(14<<2)|2,{76,79,0}}, +/* 53163 */ {(14<<2)|2,{76,79,0}}, +/* 53164 */ {(14<<2)|2,{76,80,0}}, +/* 53165 */ {(14<<2)|2,{76,80,0}}, +/* 53166 */ {(14<<2)|2,{76,80,0}}, +/* 53167 */ {(14<<2)|2,{76,80,0}}, +/* 53168 */ {(14<<2)|2,{76,81,0}}, +/* 53169 */ {(14<<2)|2,{76,81,0}}, +/* 53170 */ {(14<<2)|2,{76,81,0}}, +/* 53171 */ {(14<<2)|2,{76,81,0}}, +/* 53172 */ {(14<<2)|2,{76,82,0}}, +/* 53173 */ {(14<<2)|2,{76,82,0}}, +/* 53174 */ {(14<<2)|2,{76,82,0}}, +/* 53175 */ {(14<<2)|2,{76,82,0}}, +/* 53176 */ {(14<<2)|2,{76,83,0}}, +/* 53177 */ {(14<<2)|2,{76,83,0}}, +/* 53178 */ {(14<<2)|2,{76,83,0}}, +/* 53179 */ {(14<<2)|2,{76,83,0}}, +/* 53180 */ {(14<<2)|2,{76,84,0}}, +/* 53181 */ {(14<<2)|2,{76,84,0}}, +/* 53182 */ {(14<<2)|2,{76,84,0}}, +/* 53183 */ {(14<<2)|2,{76,84,0}}, +/* 53184 */ {(14<<2)|2,{76,85,0}}, +/* 53185 */ {(14<<2)|2,{76,85,0}}, +/* 53186 */ {(14<<2)|2,{76,85,0}}, +/* 53187 */ {(14<<2)|2,{76,85,0}}, +/* 53188 */ {(14<<2)|2,{76,86,0}}, +/* 53189 */ {(14<<2)|2,{76,86,0}}, +/* 53190 */ {(14<<2)|2,{76,86,0}}, +/* 53191 */ {(14<<2)|2,{76,86,0}}, +/* 53192 */ {(14<<2)|2,{76,87,0}}, +/* 53193 */ {(14<<2)|2,{76,87,0}}, +/* 53194 */ {(14<<2)|2,{76,87,0}}, +/* 53195 */ {(14<<2)|2,{76,87,0}}, +/* 53196 */ {(14<<2)|2,{76,89,0}}, +/* 53197 */ {(14<<2)|2,{76,89,0}}, +/* 53198 */ {(14<<2)|2,{76,89,0}}, +/* 53199 */ {(14<<2)|2,{76,89,0}}, +/* 53200 */ {(14<<2)|2,{76,106,0}}, +/* 53201 */ {(14<<2)|2,{76,106,0}}, +/* 53202 */ {(14<<2)|2,{76,106,0}}, +/* 53203 */ {(14<<2)|2,{76,106,0}}, +/* 53204 */ {(14<<2)|2,{76,107,0}}, +/* 53205 */ {(14<<2)|2,{76,107,0}}, +/* 53206 */ {(14<<2)|2,{76,107,0}}, +/* 53207 */ {(14<<2)|2,{76,107,0}}, +/* 53208 */ {(14<<2)|2,{76,113,0}}, +/* 53209 */ {(14<<2)|2,{76,113,0}}, +/* 53210 */ {(14<<2)|2,{76,113,0}}, +/* 53211 */ {(14<<2)|2,{76,113,0}}, +/* 53212 */ {(14<<2)|2,{76,118,0}}, +/* 53213 */ {(14<<2)|2,{76,118,0}}, +/* 53214 */ {(14<<2)|2,{76,118,0}}, +/* 53215 */ {(14<<2)|2,{76,118,0}}, +/* 53216 */ {(14<<2)|2,{76,119,0}}, +/* 53217 */ {(14<<2)|2,{76,119,0}}, +/* 53218 */ {(14<<2)|2,{76,119,0}}, +/* 53219 */ {(14<<2)|2,{76,119,0}}, +/* 53220 */ {(14<<2)|2,{76,120,0}}, +/* 53221 */ {(14<<2)|2,{76,120,0}}, +/* 53222 */ {(14<<2)|2,{76,120,0}}, +/* 53223 */ {(14<<2)|2,{76,120,0}}, +/* 53224 */ {(14<<2)|2,{76,121,0}}, +/* 53225 */ {(14<<2)|2,{76,121,0}}, +/* 53226 */ {(14<<2)|2,{76,121,0}}, +/* 53227 */ {(14<<2)|2,{76,121,0}}, +/* 53228 */ {(14<<2)|2,{76,122,0}}, +/* 53229 */ {(14<<2)|2,{76,122,0}}, +/* 53230 */ {(14<<2)|2,{76,122,0}}, +/* 53231 */ {(14<<2)|2,{76,122,0}}, +/* 53232 */ {(15<<2)|2,{76,38,0}}, +/* 53233 */ {(15<<2)|2,{76,38,0}}, +/* 53234 */ {(15<<2)|2,{76,42,0}}, +/* 53235 */ {(15<<2)|2,{76,42,0}}, +/* 53236 */ {(15<<2)|2,{76,44,0}}, +/* 53237 */ {(15<<2)|2,{76,44,0}}, +/* 53238 */ {(15<<2)|2,{76,59,0}}, +/* 53239 */ {(15<<2)|2,{76,59,0}}, +/* 53240 */ {(15<<2)|2,{76,88,0}}, +/* 53241 */ {(15<<2)|2,{76,88,0}}, +/* 53242 */ {(15<<2)|2,{76,90,0}}, +/* 53243 */ {(15<<2)|2,{76,90,0}}, +/* 53244 */ {(7<<2)|1,{76,0,0}}, +/* 53245 */ {(7<<2)|1,{76,0,0}}, +/* 53246 */ {(7<<2)|1,{76,0,0}}, +/* 53247 */ {(7<<2)|1,{76,0,0}}, +/* 53248 */ {(12<<2)|2,{77,48,0}}, +/* 53249 */ {(12<<2)|2,{77,48,0}}, +/* 53250 */ {(12<<2)|2,{77,48,0}}, +/* 53251 */ {(12<<2)|2,{77,48,0}}, +/* 53252 */ {(12<<2)|2,{77,48,0}}, +/* 53253 */ {(12<<2)|2,{77,48,0}}, +/* 53254 */ {(12<<2)|2,{77,48,0}}, +/* 53255 */ {(12<<2)|2,{77,48,0}}, +/* 53256 */ {(12<<2)|2,{77,48,0}}, +/* 53257 */ {(12<<2)|2,{77,48,0}}, +/* 53258 */ {(12<<2)|2,{77,48,0}}, +/* 53259 */ {(12<<2)|2,{77,48,0}}, +/* 53260 */ {(12<<2)|2,{77,48,0}}, +/* 53261 */ {(12<<2)|2,{77,48,0}}, +/* 53262 */ {(12<<2)|2,{77,48,0}}, +/* 53263 */ {(12<<2)|2,{77,48,0}}, +/* 53264 */ {(12<<2)|2,{77,49,0}}, +/* 53265 */ {(12<<2)|2,{77,49,0}}, +/* 53266 */ {(12<<2)|2,{77,49,0}}, +/* 53267 */ {(12<<2)|2,{77,49,0}}, +/* 53268 */ {(12<<2)|2,{77,49,0}}, +/* 53269 */ {(12<<2)|2,{77,49,0}}, +/* 53270 */ {(12<<2)|2,{77,49,0}}, +/* 53271 */ {(12<<2)|2,{77,49,0}}, +/* 53272 */ {(12<<2)|2,{77,49,0}}, +/* 53273 */ {(12<<2)|2,{77,49,0}}, +/* 53274 */ {(12<<2)|2,{77,49,0}}, +/* 53275 */ {(12<<2)|2,{77,49,0}}, +/* 53276 */ {(12<<2)|2,{77,49,0}}, +/* 53277 */ {(12<<2)|2,{77,49,0}}, +/* 53278 */ {(12<<2)|2,{77,49,0}}, +/* 53279 */ {(12<<2)|2,{77,49,0}}, +/* 53280 */ {(12<<2)|2,{77,50,0}}, +/* 53281 */ {(12<<2)|2,{77,50,0}}, +/* 53282 */ {(12<<2)|2,{77,50,0}}, +/* 53283 */ {(12<<2)|2,{77,50,0}}, +/* 53284 */ {(12<<2)|2,{77,50,0}}, +/* 53285 */ {(12<<2)|2,{77,50,0}}, +/* 53286 */ {(12<<2)|2,{77,50,0}}, +/* 53287 */ {(12<<2)|2,{77,50,0}}, +/* 53288 */ {(12<<2)|2,{77,50,0}}, +/* 53289 */ {(12<<2)|2,{77,50,0}}, +/* 53290 */ {(12<<2)|2,{77,50,0}}, +/* 53291 */ {(12<<2)|2,{77,50,0}}, +/* 53292 */ {(12<<2)|2,{77,50,0}}, +/* 53293 */ {(12<<2)|2,{77,50,0}}, +/* 53294 */ {(12<<2)|2,{77,50,0}}, +/* 53295 */ {(12<<2)|2,{77,50,0}}, +/* 53296 */ {(12<<2)|2,{77,97,0}}, +/* 53297 */ {(12<<2)|2,{77,97,0}}, +/* 53298 */ {(12<<2)|2,{77,97,0}}, +/* 53299 */ {(12<<2)|2,{77,97,0}}, +/* 53300 */ {(12<<2)|2,{77,97,0}}, +/* 53301 */ {(12<<2)|2,{77,97,0}}, +/* 53302 */ {(12<<2)|2,{77,97,0}}, +/* 53303 */ {(12<<2)|2,{77,97,0}}, +/* 53304 */ {(12<<2)|2,{77,97,0}}, +/* 53305 */ {(12<<2)|2,{77,97,0}}, +/* 53306 */ {(12<<2)|2,{77,97,0}}, +/* 53307 */ {(12<<2)|2,{77,97,0}}, +/* 53308 */ {(12<<2)|2,{77,97,0}}, +/* 53309 */ {(12<<2)|2,{77,97,0}}, +/* 53310 */ {(12<<2)|2,{77,97,0}}, +/* 53311 */ {(12<<2)|2,{77,97,0}}, +/* 53312 */ {(12<<2)|2,{77,99,0}}, +/* 53313 */ {(12<<2)|2,{77,99,0}}, +/* 53314 */ {(12<<2)|2,{77,99,0}}, +/* 53315 */ {(12<<2)|2,{77,99,0}}, +/* 53316 */ {(12<<2)|2,{77,99,0}}, +/* 53317 */ {(12<<2)|2,{77,99,0}}, +/* 53318 */ {(12<<2)|2,{77,99,0}}, +/* 53319 */ {(12<<2)|2,{77,99,0}}, +/* 53320 */ {(12<<2)|2,{77,99,0}}, +/* 53321 */ {(12<<2)|2,{77,99,0}}, +/* 53322 */ {(12<<2)|2,{77,99,0}}, +/* 53323 */ {(12<<2)|2,{77,99,0}}, +/* 53324 */ {(12<<2)|2,{77,99,0}}, +/* 53325 */ {(12<<2)|2,{77,99,0}}, +/* 53326 */ {(12<<2)|2,{77,99,0}}, +/* 53327 */ {(12<<2)|2,{77,99,0}}, +/* 53328 */ {(12<<2)|2,{77,101,0}}, +/* 53329 */ {(12<<2)|2,{77,101,0}}, +/* 53330 */ {(12<<2)|2,{77,101,0}}, +/* 53331 */ {(12<<2)|2,{77,101,0}}, +/* 53332 */ {(12<<2)|2,{77,101,0}}, +/* 53333 */ {(12<<2)|2,{77,101,0}}, +/* 53334 */ {(12<<2)|2,{77,101,0}}, +/* 53335 */ {(12<<2)|2,{77,101,0}}, +/* 53336 */ {(12<<2)|2,{77,101,0}}, +/* 53337 */ {(12<<2)|2,{77,101,0}}, +/* 53338 */ {(12<<2)|2,{77,101,0}}, +/* 53339 */ {(12<<2)|2,{77,101,0}}, +/* 53340 */ {(12<<2)|2,{77,101,0}}, +/* 53341 */ {(12<<2)|2,{77,101,0}}, +/* 53342 */ {(12<<2)|2,{77,101,0}}, +/* 53343 */ {(12<<2)|2,{77,101,0}}, +/* 53344 */ {(12<<2)|2,{77,105,0}}, +/* 53345 */ {(12<<2)|2,{77,105,0}}, +/* 53346 */ {(12<<2)|2,{77,105,0}}, +/* 53347 */ {(12<<2)|2,{77,105,0}}, +/* 53348 */ {(12<<2)|2,{77,105,0}}, +/* 53349 */ {(12<<2)|2,{77,105,0}}, +/* 53350 */ {(12<<2)|2,{77,105,0}}, +/* 53351 */ {(12<<2)|2,{77,105,0}}, +/* 53352 */ {(12<<2)|2,{77,105,0}}, +/* 53353 */ {(12<<2)|2,{77,105,0}}, +/* 53354 */ {(12<<2)|2,{77,105,0}}, +/* 53355 */ {(12<<2)|2,{77,105,0}}, +/* 53356 */ {(12<<2)|2,{77,105,0}}, +/* 53357 */ {(12<<2)|2,{77,105,0}}, +/* 53358 */ {(12<<2)|2,{77,105,0}}, +/* 53359 */ {(12<<2)|2,{77,105,0}}, +/* 53360 */ {(12<<2)|2,{77,111,0}}, +/* 53361 */ {(12<<2)|2,{77,111,0}}, +/* 53362 */ {(12<<2)|2,{77,111,0}}, +/* 53363 */ {(12<<2)|2,{77,111,0}}, +/* 53364 */ {(12<<2)|2,{77,111,0}}, +/* 53365 */ {(12<<2)|2,{77,111,0}}, +/* 53366 */ {(12<<2)|2,{77,111,0}}, +/* 53367 */ {(12<<2)|2,{77,111,0}}, +/* 53368 */ {(12<<2)|2,{77,111,0}}, +/* 53369 */ {(12<<2)|2,{77,111,0}}, +/* 53370 */ {(12<<2)|2,{77,111,0}}, +/* 53371 */ {(12<<2)|2,{77,111,0}}, +/* 53372 */ {(12<<2)|2,{77,111,0}}, +/* 53373 */ {(12<<2)|2,{77,111,0}}, +/* 53374 */ {(12<<2)|2,{77,111,0}}, +/* 53375 */ {(12<<2)|2,{77,111,0}}, +/* 53376 */ {(12<<2)|2,{77,115,0}}, +/* 53377 */ {(12<<2)|2,{77,115,0}}, +/* 53378 */ {(12<<2)|2,{77,115,0}}, +/* 53379 */ {(12<<2)|2,{77,115,0}}, +/* 53380 */ {(12<<2)|2,{77,115,0}}, +/* 53381 */ {(12<<2)|2,{77,115,0}}, +/* 53382 */ {(12<<2)|2,{77,115,0}}, +/* 53383 */ {(12<<2)|2,{77,115,0}}, +/* 53384 */ {(12<<2)|2,{77,115,0}}, +/* 53385 */ {(12<<2)|2,{77,115,0}}, +/* 53386 */ {(12<<2)|2,{77,115,0}}, +/* 53387 */ {(12<<2)|2,{77,115,0}}, +/* 53388 */ {(12<<2)|2,{77,115,0}}, +/* 53389 */ {(12<<2)|2,{77,115,0}}, +/* 53390 */ {(12<<2)|2,{77,115,0}}, +/* 53391 */ {(12<<2)|2,{77,115,0}}, +/* 53392 */ {(12<<2)|2,{77,116,0}}, +/* 53393 */ {(12<<2)|2,{77,116,0}}, +/* 53394 */ {(12<<2)|2,{77,116,0}}, +/* 53395 */ {(12<<2)|2,{77,116,0}}, +/* 53396 */ {(12<<2)|2,{77,116,0}}, +/* 53397 */ {(12<<2)|2,{77,116,0}}, +/* 53398 */ {(12<<2)|2,{77,116,0}}, +/* 53399 */ {(12<<2)|2,{77,116,0}}, +/* 53400 */ {(12<<2)|2,{77,116,0}}, +/* 53401 */ {(12<<2)|2,{77,116,0}}, +/* 53402 */ {(12<<2)|2,{77,116,0}}, +/* 53403 */ {(12<<2)|2,{77,116,0}}, +/* 53404 */ {(12<<2)|2,{77,116,0}}, +/* 53405 */ {(12<<2)|2,{77,116,0}}, +/* 53406 */ {(12<<2)|2,{77,116,0}}, +/* 53407 */ {(12<<2)|2,{77,116,0}}, +/* 53408 */ {(13<<2)|2,{77,32,0}}, +/* 53409 */ {(13<<2)|2,{77,32,0}}, +/* 53410 */ {(13<<2)|2,{77,32,0}}, +/* 53411 */ {(13<<2)|2,{77,32,0}}, +/* 53412 */ {(13<<2)|2,{77,32,0}}, +/* 53413 */ {(13<<2)|2,{77,32,0}}, +/* 53414 */ {(13<<2)|2,{77,32,0}}, +/* 53415 */ {(13<<2)|2,{77,32,0}}, +/* 53416 */ {(13<<2)|2,{77,37,0}}, +/* 53417 */ {(13<<2)|2,{77,37,0}}, +/* 53418 */ {(13<<2)|2,{77,37,0}}, +/* 53419 */ {(13<<2)|2,{77,37,0}}, +/* 53420 */ {(13<<2)|2,{77,37,0}}, +/* 53421 */ {(13<<2)|2,{77,37,0}}, +/* 53422 */ {(13<<2)|2,{77,37,0}}, +/* 53423 */ {(13<<2)|2,{77,37,0}}, +/* 53424 */ {(13<<2)|2,{77,45,0}}, +/* 53425 */ {(13<<2)|2,{77,45,0}}, +/* 53426 */ {(13<<2)|2,{77,45,0}}, +/* 53427 */ {(13<<2)|2,{77,45,0}}, +/* 53428 */ {(13<<2)|2,{77,45,0}}, +/* 53429 */ {(13<<2)|2,{77,45,0}}, +/* 53430 */ {(13<<2)|2,{77,45,0}}, +/* 53431 */ {(13<<2)|2,{77,45,0}}, +/* 53432 */ {(13<<2)|2,{77,46,0}}, +/* 53433 */ {(13<<2)|2,{77,46,0}}, +/* 53434 */ {(13<<2)|2,{77,46,0}}, +/* 53435 */ {(13<<2)|2,{77,46,0}}, +/* 53436 */ {(13<<2)|2,{77,46,0}}, +/* 53437 */ {(13<<2)|2,{77,46,0}}, +/* 53438 */ {(13<<2)|2,{77,46,0}}, +/* 53439 */ {(13<<2)|2,{77,46,0}}, +/* 53440 */ {(13<<2)|2,{77,47,0}}, +/* 53441 */ {(13<<2)|2,{77,47,0}}, +/* 53442 */ {(13<<2)|2,{77,47,0}}, +/* 53443 */ {(13<<2)|2,{77,47,0}}, +/* 53444 */ {(13<<2)|2,{77,47,0}}, +/* 53445 */ {(13<<2)|2,{77,47,0}}, +/* 53446 */ {(13<<2)|2,{77,47,0}}, +/* 53447 */ {(13<<2)|2,{77,47,0}}, +/* 53448 */ {(13<<2)|2,{77,51,0}}, +/* 53449 */ {(13<<2)|2,{77,51,0}}, +/* 53450 */ {(13<<2)|2,{77,51,0}}, +/* 53451 */ {(13<<2)|2,{77,51,0}}, +/* 53452 */ {(13<<2)|2,{77,51,0}}, +/* 53453 */ {(13<<2)|2,{77,51,0}}, +/* 53454 */ {(13<<2)|2,{77,51,0}}, +/* 53455 */ {(13<<2)|2,{77,51,0}}, +/* 53456 */ {(13<<2)|2,{77,52,0}}, +/* 53457 */ {(13<<2)|2,{77,52,0}}, +/* 53458 */ {(13<<2)|2,{77,52,0}}, +/* 53459 */ {(13<<2)|2,{77,52,0}}, +/* 53460 */ {(13<<2)|2,{77,52,0}}, +/* 53461 */ {(13<<2)|2,{77,52,0}}, +/* 53462 */ {(13<<2)|2,{77,52,0}}, +/* 53463 */ {(13<<2)|2,{77,52,0}}, +/* 53464 */ {(13<<2)|2,{77,53,0}}, +/* 53465 */ {(13<<2)|2,{77,53,0}}, +/* 53466 */ {(13<<2)|2,{77,53,0}}, +/* 53467 */ {(13<<2)|2,{77,53,0}}, +/* 53468 */ {(13<<2)|2,{77,53,0}}, +/* 53469 */ {(13<<2)|2,{77,53,0}}, +/* 53470 */ {(13<<2)|2,{77,53,0}}, +/* 53471 */ {(13<<2)|2,{77,53,0}}, +/* 53472 */ {(13<<2)|2,{77,54,0}}, +/* 53473 */ {(13<<2)|2,{77,54,0}}, +/* 53474 */ {(13<<2)|2,{77,54,0}}, +/* 53475 */ {(13<<2)|2,{77,54,0}}, +/* 53476 */ {(13<<2)|2,{77,54,0}}, +/* 53477 */ {(13<<2)|2,{77,54,0}}, +/* 53478 */ {(13<<2)|2,{77,54,0}}, +/* 53479 */ {(13<<2)|2,{77,54,0}}, +/* 53480 */ {(13<<2)|2,{77,55,0}}, +/* 53481 */ {(13<<2)|2,{77,55,0}}, +/* 53482 */ {(13<<2)|2,{77,55,0}}, +/* 53483 */ {(13<<2)|2,{77,55,0}}, +/* 53484 */ {(13<<2)|2,{77,55,0}}, +/* 53485 */ {(13<<2)|2,{77,55,0}}, +/* 53486 */ {(13<<2)|2,{77,55,0}}, +/* 53487 */ {(13<<2)|2,{77,55,0}}, +/* 53488 */ {(13<<2)|2,{77,56,0}}, +/* 53489 */ {(13<<2)|2,{77,56,0}}, +/* 53490 */ {(13<<2)|2,{77,56,0}}, +/* 53491 */ {(13<<2)|2,{77,56,0}}, +/* 53492 */ {(13<<2)|2,{77,56,0}}, +/* 53493 */ {(13<<2)|2,{77,56,0}}, +/* 53494 */ {(13<<2)|2,{77,56,0}}, +/* 53495 */ {(13<<2)|2,{77,56,0}}, +/* 53496 */ {(13<<2)|2,{77,57,0}}, +/* 53497 */ {(13<<2)|2,{77,57,0}}, +/* 53498 */ {(13<<2)|2,{77,57,0}}, +/* 53499 */ {(13<<2)|2,{77,57,0}}, +/* 53500 */ {(13<<2)|2,{77,57,0}}, +/* 53501 */ {(13<<2)|2,{77,57,0}}, +/* 53502 */ {(13<<2)|2,{77,57,0}}, +/* 53503 */ {(13<<2)|2,{77,57,0}}, +/* 53504 */ {(13<<2)|2,{77,61,0}}, +/* 53505 */ {(13<<2)|2,{77,61,0}}, +/* 53506 */ {(13<<2)|2,{77,61,0}}, +/* 53507 */ {(13<<2)|2,{77,61,0}}, +/* 53508 */ {(13<<2)|2,{77,61,0}}, +/* 53509 */ {(13<<2)|2,{77,61,0}}, +/* 53510 */ {(13<<2)|2,{77,61,0}}, +/* 53511 */ {(13<<2)|2,{77,61,0}}, +/* 53512 */ {(13<<2)|2,{77,65,0}}, +/* 53513 */ {(13<<2)|2,{77,65,0}}, +/* 53514 */ {(13<<2)|2,{77,65,0}}, +/* 53515 */ {(13<<2)|2,{77,65,0}}, +/* 53516 */ {(13<<2)|2,{77,65,0}}, +/* 53517 */ {(13<<2)|2,{77,65,0}}, +/* 53518 */ {(13<<2)|2,{77,65,0}}, +/* 53519 */ {(13<<2)|2,{77,65,0}}, +/* 53520 */ {(13<<2)|2,{77,95,0}}, +/* 53521 */ {(13<<2)|2,{77,95,0}}, +/* 53522 */ {(13<<2)|2,{77,95,0}}, +/* 53523 */ {(13<<2)|2,{77,95,0}}, +/* 53524 */ {(13<<2)|2,{77,95,0}}, +/* 53525 */ {(13<<2)|2,{77,95,0}}, +/* 53526 */ {(13<<2)|2,{77,95,0}}, +/* 53527 */ {(13<<2)|2,{77,95,0}}, +/* 53528 */ {(13<<2)|2,{77,98,0}}, +/* 53529 */ {(13<<2)|2,{77,98,0}}, +/* 53530 */ {(13<<2)|2,{77,98,0}}, +/* 53531 */ {(13<<2)|2,{77,98,0}}, +/* 53532 */ {(13<<2)|2,{77,98,0}}, +/* 53533 */ {(13<<2)|2,{77,98,0}}, +/* 53534 */ {(13<<2)|2,{77,98,0}}, +/* 53535 */ {(13<<2)|2,{77,98,0}}, +/* 53536 */ {(13<<2)|2,{77,100,0}}, +/* 53537 */ {(13<<2)|2,{77,100,0}}, +/* 53538 */ {(13<<2)|2,{77,100,0}}, +/* 53539 */ {(13<<2)|2,{77,100,0}}, +/* 53540 */ {(13<<2)|2,{77,100,0}}, +/* 53541 */ {(13<<2)|2,{77,100,0}}, +/* 53542 */ {(13<<2)|2,{77,100,0}}, +/* 53543 */ {(13<<2)|2,{77,100,0}}, +/* 53544 */ {(13<<2)|2,{77,102,0}}, +/* 53545 */ {(13<<2)|2,{77,102,0}}, +/* 53546 */ {(13<<2)|2,{77,102,0}}, +/* 53547 */ {(13<<2)|2,{77,102,0}}, +/* 53548 */ {(13<<2)|2,{77,102,0}}, +/* 53549 */ {(13<<2)|2,{77,102,0}}, +/* 53550 */ {(13<<2)|2,{77,102,0}}, +/* 53551 */ {(13<<2)|2,{77,102,0}}, +/* 53552 */ {(13<<2)|2,{77,103,0}}, +/* 53553 */ {(13<<2)|2,{77,103,0}}, +/* 53554 */ {(13<<2)|2,{77,103,0}}, +/* 53555 */ {(13<<2)|2,{77,103,0}}, +/* 53556 */ {(13<<2)|2,{77,103,0}}, +/* 53557 */ {(13<<2)|2,{77,103,0}}, +/* 53558 */ {(13<<2)|2,{77,103,0}}, +/* 53559 */ {(13<<2)|2,{77,103,0}}, +/* 53560 */ {(13<<2)|2,{77,104,0}}, +/* 53561 */ {(13<<2)|2,{77,104,0}}, +/* 53562 */ {(13<<2)|2,{77,104,0}}, +/* 53563 */ {(13<<2)|2,{77,104,0}}, +/* 53564 */ {(13<<2)|2,{77,104,0}}, +/* 53565 */ {(13<<2)|2,{77,104,0}}, +/* 53566 */ {(13<<2)|2,{77,104,0}}, +/* 53567 */ {(13<<2)|2,{77,104,0}}, +/* 53568 */ {(13<<2)|2,{77,108,0}}, +/* 53569 */ {(13<<2)|2,{77,108,0}}, +/* 53570 */ {(13<<2)|2,{77,108,0}}, +/* 53571 */ {(13<<2)|2,{77,108,0}}, +/* 53572 */ {(13<<2)|2,{77,108,0}}, +/* 53573 */ {(13<<2)|2,{77,108,0}}, +/* 53574 */ {(13<<2)|2,{77,108,0}}, +/* 53575 */ {(13<<2)|2,{77,108,0}}, +/* 53576 */ {(13<<2)|2,{77,109,0}}, +/* 53577 */ {(13<<2)|2,{77,109,0}}, +/* 53578 */ {(13<<2)|2,{77,109,0}}, +/* 53579 */ {(13<<2)|2,{77,109,0}}, +/* 53580 */ {(13<<2)|2,{77,109,0}}, +/* 53581 */ {(13<<2)|2,{77,109,0}}, +/* 53582 */ {(13<<2)|2,{77,109,0}}, +/* 53583 */ {(13<<2)|2,{77,109,0}}, +/* 53584 */ {(13<<2)|2,{77,110,0}}, +/* 53585 */ {(13<<2)|2,{77,110,0}}, +/* 53586 */ {(13<<2)|2,{77,110,0}}, +/* 53587 */ {(13<<2)|2,{77,110,0}}, +/* 53588 */ {(13<<2)|2,{77,110,0}}, +/* 53589 */ {(13<<2)|2,{77,110,0}}, +/* 53590 */ {(13<<2)|2,{77,110,0}}, +/* 53591 */ {(13<<2)|2,{77,110,0}}, +/* 53592 */ {(13<<2)|2,{77,112,0}}, +/* 53593 */ {(13<<2)|2,{77,112,0}}, +/* 53594 */ {(13<<2)|2,{77,112,0}}, +/* 53595 */ {(13<<2)|2,{77,112,0}}, +/* 53596 */ {(13<<2)|2,{77,112,0}}, +/* 53597 */ {(13<<2)|2,{77,112,0}}, +/* 53598 */ {(13<<2)|2,{77,112,0}}, +/* 53599 */ {(13<<2)|2,{77,112,0}}, +/* 53600 */ {(13<<2)|2,{77,114,0}}, +/* 53601 */ {(13<<2)|2,{77,114,0}}, +/* 53602 */ {(13<<2)|2,{77,114,0}}, +/* 53603 */ {(13<<2)|2,{77,114,0}}, +/* 53604 */ {(13<<2)|2,{77,114,0}}, +/* 53605 */ {(13<<2)|2,{77,114,0}}, +/* 53606 */ {(13<<2)|2,{77,114,0}}, +/* 53607 */ {(13<<2)|2,{77,114,0}}, +/* 53608 */ {(13<<2)|2,{77,117,0}}, +/* 53609 */ {(13<<2)|2,{77,117,0}}, +/* 53610 */ {(13<<2)|2,{77,117,0}}, +/* 53611 */ {(13<<2)|2,{77,117,0}}, +/* 53612 */ {(13<<2)|2,{77,117,0}}, +/* 53613 */ {(13<<2)|2,{77,117,0}}, +/* 53614 */ {(13<<2)|2,{77,117,0}}, +/* 53615 */ {(13<<2)|2,{77,117,0}}, +/* 53616 */ {(14<<2)|2,{77,58,0}}, +/* 53617 */ {(14<<2)|2,{77,58,0}}, +/* 53618 */ {(14<<2)|2,{77,58,0}}, +/* 53619 */ {(14<<2)|2,{77,58,0}}, +/* 53620 */ {(14<<2)|2,{77,66,0}}, +/* 53621 */ {(14<<2)|2,{77,66,0}}, +/* 53622 */ {(14<<2)|2,{77,66,0}}, +/* 53623 */ {(14<<2)|2,{77,66,0}}, +/* 53624 */ {(14<<2)|2,{77,67,0}}, +/* 53625 */ {(14<<2)|2,{77,67,0}}, +/* 53626 */ {(14<<2)|2,{77,67,0}}, +/* 53627 */ {(14<<2)|2,{77,67,0}}, +/* 53628 */ {(14<<2)|2,{77,68,0}}, +/* 53629 */ {(14<<2)|2,{77,68,0}}, +/* 53630 */ {(14<<2)|2,{77,68,0}}, +/* 53631 */ {(14<<2)|2,{77,68,0}}, +/* 53632 */ {(14<<2)|2,{77,69,0}}, +/* 53633 */ {(14<<2)|2,{77,69,0}}, +/* 53634 */ {(14<<2)|2,{77,69,0}}, +/* 53635 */ {(14<<2)|2,{77,69,0}}, +/* 53636 */ {(14<<2)|2,{77,70,0}}, +/* 53637 */ {(14<<2)|2,{77,70,0}}, +/* 53638 */ {(14<<2)|2,{77,70,0}}, +/* 53639 */ {(14<<2)|2,{77,70,0}}, +/* 53640 */ {(14<<2)|2,{77,71,0}}, +/* 53641 */ {(14<<2)|2,{77,71,0}}, +/* 53642 */ {(14<<2)|2,{77,71,0}}, +/* 53643 */ {(14<<2)|2,{77,71,0}}, +/* 53644 */ {(14<<2)|2,{77,72,0}}, +/* 53645 */ {(14<<2)|2,{77,72,0}}, +/* 53646 */ {(14<<2)|2,{77,72,0}}, +/* 53647 */ {(14<<2)|2,{77,72,0}}, +/* 53648 */ {(14<<2)|2,{77,73,0}}, +/* 53649 */ {(14<<2)|2,{77,73,0}}, +/* 53650 */ {(14<<2)|2,{77,73,0}}, +/* 53651 */ {(14<<2)|2,{77,73,0}}, +/* 53652 */ {(14<<2)|2,{77,74,0}}, +/* 53653 */ {(14<<2)|2,{77,74,0}}, +/* 53654 */ {(14<<2)|2,{77,74,0}}, +/* 53655 */ {(14<<2)|2,{77,74,0}}, +/* 53656 */ {(14<<2)|2,{77,75,0}}, +/* 53657 */ {(14<<2)|2,{77,75,0}}, +/* 53658 */ {(14<<2)|2,{77,75,0}}, +/* 53659 */ {(14<<2)|2,{77,75,0}}, +/* 53660 */ {(14<<2)|2,{77,76,0}}, +/* 53661 */ {(14<<2)|2,{77,76,0}}, +/* 53662 */ {(14<<2)|2,{77,76,0}}, +/* 53663 */ {(14<<2)|2,{77,76,0}}, +/* 53664 */ {(14<<2)|2,{77,77,0}}, +/* 53665 */ {(14<<2)|2,{77,77,0}}, +/* 53666 */ {(14<<2)|2,{77,77,0}}, +/* 53667 */ {(14<<2)|2,{77,77,0}}, +/* 53668 */ {(14<<2)|2,{77,78,0}}, +/* 53669 */ {(14<<2)|2,{77,78,0}}, +/* 53670 */ {(14<<2)|2,{77,78,0}}, +/* 53671 */ {(14<<2)|2,{77,78,0}}, +/* 53672 */ {(14<<2)|2,{77,79,0}}, +/* 53673 */ {(14<<2)|2,{77,79,0}}, +/* 53674 */ {(14<<2)|2,{77,79,0}}, +/* 53675 */ {(14<<2)|2,{77,79,0}}, +/* 53676 */ {(14<<2)|2,{77,80,0}}, +/* 53677 */ {(14<<2)|2,{77,80,0}}, +/* 53678 */ {(14<<2)|2,{77,80,0}}, +/* 53679 */ {(14<<2)|2,{77,80,0}}, +/* 53680 */ {(14<<2)|2,{77,81,0}}, +/* 53681 */ {(14<<2)|2,{77,81,0}}, +/* 53682 */ {(14<<2)|2,{77,81,0}}, +/* 53683 */ {(14<<2)|2,{77,81,0}}, +/* 53684 */ {(14<<2)|2,{77,82,0}}, +/* 53685 */ {(14<<2)|2,{77,82,0}}, +/* 53686 */ {(14<<2)|2,{77,82,0}}, +/* 53687 */ {(14<<2)|2,{77,82,0}}, +/* 53688 */ {(14<<2)|2,{77,83,0}}, +/* 53689 */ {(14<<2)|2,{77,83,0}}, +/* 53690 */ {(14<<2)|2,{77,83,0}}, +/* 53691 */ {(14<<2)|2,{77,83,0}}, +/* 53692 */ {(14<<2)|2,{77,84,0}}, +/* 53693 */ {(14<<2)|2,{77,84,0}}, +/* 53694 */ {(14<<2)|2,{77,84,0}}, +/* 53695 */ {(14<<2)|2,{77,84,0}}, +/* 53696 */ {(14<<2)|2,{77,85,0}}, +/* 53697 */ {(14<<2)|2,{77,85,0}}, +/* 53698 */ {(14<<2)|2,{77,85,0}}, +/* 53699 */ {(14<<2)|2,{77,85,0}}, +/* 53700 */ {(14<<2)|2,{77,86,0}}, +/* 53701 */ {(14<<2)|2,{77,86,0}}, +/* 53702 */ {(14<<2)|2,{77,86,0}}, +/* 53703 */ {(14<<2)|2,{77,86,0}}, +/* 53704 */ {(14<<2)|2,{77,87,0}}, +/* 53705 */ {(14<<2)|2,{77,87,0}}, +/* 53706 */ {(14<<2)|2,{77,87,0}}, +/* 53707 */ {(14<<2)|2,{77,87,0}}, +/* 53708 */ {(14<<2)|2,{77,89,0}}, +/* 53709 */ {(14<<2)|2,{77,89,0}}, +/* 53710 */ {(14<<2)|2,{77,89,0}}, +/* 53711 */ {(14<<2)|2,{77,89,0}}, +/* 53712 */ {(14<<2)|2,{77,106,0}}, +/* 53713 */ {(14<<2)|2,{77,106,0}}, +/* 53714 */ {(14<<2)|2,{77,106,0}}, +/* 53715 */ {(14<<2)|2,{77,106,0}}, +/* 53716 */ {(14<<2)|2,{77,107,0}}, +/* 53717 */ {(14<<2)|2,{77,107,0}}, +/* 53718 */ {(14<<2)|2,{77,107,0}}, +/* 53719 */ {(14<<2)|2,{77,107,0}}, +/* 53720 */ {(14<<2)|2,{77,113,0}}, +/* 53721 */ {(14<<2)|2,{77,113,0}}, +/* 53722 */ {(14<<2)|2,{77,113,0}}, +/* 53723 */ {(14<<2)|2,{77,113,0}}, +/* 53724 */ {(14<<2)|2,{77,118,0}}, +/* 53725 */ {(14<<2)|2,{77,118,0}}, +/* 53726 */ {(14<<2)|2,{77,118,0}}, +/* 53727 */ {(14<<2)|2,{77,118,0}}, +/* 53728 */ {(14<<2)|2,{77,119,0}}, +/* 53729 */ {(14<<2)|2,{77,119,0}}, +/* 53730 */ {(14<<2)|2,{77,119,0}}, +/* 53731 */ {(14<<2)|2,{77,119,0}}, +/* 53732 */ {(14<<2)|2,{77,120,0}}, +/* 53733 */ {(14<<2)|2,{77,120,0}}, +/* 53734 */ {(14<<2)|2,{77,120,0}}, +/* 53735 */ {(14<<2)|2,{77,120,0}}, +/* 53736 */ {(14<<2)|2,{77,121,0}}, +/* 53737 */ {(14<<2)|2,{77,121,0}}, +/* 53738 */ {(14<<2)|2,{77,121,0}}, +/* 53739 */ {(14<<2)|2,{77,121,0}}, +/* 53740 */ {(14<<2)|2,{77,122,0}}, +/* 53741 */ {(14<<2)|2,{77,122,0}}, +/* 53742 */ {(14<<2)|2,{77,122,0}}, +/* 53743 */ {(14<<2)|2,{77,122,0}}, +/* 53744 */ {(15<<2)|2,{77,38,0}}, +/* 53745 */ {(15<<2)|2,{77,38,0}}, +/* 53746 */ {(15<<2)|2,{77,42,0}}, +/* 53747 */ {(15<<2)|2,{77,42,0}}, +/* 53748 */ {(15<<2)|2,{77,44,0}}, +/* 53749 */ {(15<<2)|2,{77,44,0}}, +/* 53750 */ {(15<<2)|2,{77,59,0}}, +/* 53751 */ {(15<<2)|2,{77,59,0}}, +/* 53752 */ {(15<<2)|2,{77,88,0}}, +/* 53753 */ {(15<<2)|2,{77,88,0}}, +/* 53754 */ {(15<<2)|2,{77,90,0}}, +/* 53755 */ {(15<<2)|2,{77,90,0}}, +/* 53756 */ {(7<<2)|1,{77,0,0}}, +/* 53757 */ {(7<<2)|1,{77,0,0}}, +/* 53758 */ {(7<<2)|1,{77,0,0}}, +/* 53759 */ {(7<<2)|1,{77,0,0}}, +/* 53760 */ {(12<<2)|2,{78,48,0}}, +/* 53761 */ {(12<<2)|2,{78,48,0}}, +/* 53762 */ {(12<<2)|2,{78,48,0}}, +/* 53763 */ {(12<<2)|2,{78,48,0}}, +/* 53764 */ {(12<<2)|2,{78,48,0}}, +/* 53765 */ {(12<<2)|2,{78,48,0}}, +/* 53766 */ {(12<<2)|2,{78,48,0}}, +/* 53767 */ {(12<<2)|2,{78,48,0}}, +/* 53768 */ {(12<<2)|2,{78,48,0}}, +/* 53769 */ {(12<<2)|2,{78,48,0}}, +/* 53770 */ {(12<<2)|2,{78,48,0}}, +/* 53771 */ {(12<<2)|2,{78,48,0}}, +/* 53772 */ {(12<<2)|2,{78,48,0}}, +/* 53773 */ {(12<<2)|2,{78,48,0}}, +/* 53774 */ {(12<<2)|2,{78,48,0}}, +/* 53775 */ {(12<<2)|2,{78,48,0}}, +/* 53776 */ {(12<<2)|2,{78,49,0}}, +/* 53777 */ {(12<<2)|2,{78,49,0}}, +/* 53778 */ {(12<<2)|2,{78,49,0}}, +/* 53779 */ {(12<<2)|2,{78,49,0}}, +/* 53780 */ {(12<<2)|2,{78,49,0}}, +/* 53781 */ {(12<<2)|2,{78,49,0}}, +/* 53782 */ {(12<<2)|2,{78,49,0}}, +/* 53783 */ {(12<<2)|2,{78,49,0}}, +/* 53784 */ {(12<<2)|2,{78,49,0}}, +/* 53785 */ {(12<<2)|2,{78,49,0}}, +/* 53786 */ {(12<<2)|2,{78,49,0}}, +/* 53787 */ {(12<<2)|2,{78,49,0}}, +/* 53788 */ {(12<<2)|2,{78,49,0}}, +/* 53789 */ {(12<<2)|2,{78,49,0}}, +/* 53790 */ {(12<<2)|2,{78,49,0}}, +/* 53791 */ {(12<<2)|2,{78,49,0}}, +/* 53792 */ {(12<<2)|2,{78,50,0}}, +/* 53793 */ {(12<<2)|2,{78,50,0}}, +/* 53794 */ {(12<<2)|2,{78,50,0}}, +/* 53795 */ {(12<<2)|2,{78,50,0}}, +/* 53796 */ {(12<<2)|2,{78,50,0}}, +/* 53797 */ {(12<<2)|2,{78,50,0}}, +/* 53798 */ {(12<<2)|2,{78,50,0}}, +/* 53799 */ {(12<<2)|2,{78,50,0}}, +/* 53800 */ {(12<<2)|2,{78,50,0}}, +/* 53801 */ {(12<<2)|2,{78,50,0}}, +/* 53802 */ {(12<<2)|2,{78,50,0}}, +/* 53803 */ {(12<<2)|2,{78,50,0}}, +/* 53804 */ {(12<<2)|2,{78,50,0}}, +/* 53805 */ {(12<<2)|2,{78,50,0}}, +/* 53806 */ {(12<<2)|2,{78,50,0}}, +/* 53807 */ {(12<<2)|2,{78,50,0}}, +/* 53808 */ {(12<<2)|2,{78,97,0}}, +/* 53809 */ {(12<<2)|2,{78,97,0}}, +/* 53810 */ {(12<<2)|2,{78,97,0}}, +/* 53811 */ {(12<<2)|2,{78,97,0}}, +/* 53812 */ {(12<<2)|2,{78,97,0}}, +/* 53813 */ {(12<<2)|2,{78,97,0}}, +/* 53814 */ {(12<<2)|2,{78,97,0}}, +/* 53815 */ {(12<<2)|2,{78,97,0}}, +/* 53816 */ {(12<<2)|2,{78,97,0}}, +/* 53817 */ {(12<<2)|2,{78,97,0}}, +/* 53818 */ {(12<<2)|2,{78,97,0}}, +/* 53819 */ {(12<<2)|2,{78,97,0}}, +/* 53820 */ {(12<<2)|2,{78,97,0}}, +/* 53821 */ {(12<<2)|2,{78,97,0}}, +/* 53822 */ {(12<<2)|2,{78,97,0}}, +/* 53823 */ {(12<<2)|2,{78,97,0}}, +/* 53824 */ {(12<<2)|2,{78,99,0}}, +/* 53825 */ {(12<<2)|2,{78,99,0}}, +/* 53826 */ {(12<<2)|2,{78,99,0}}, +/* 53827 */ {(12<<2)|2,{78,99,0}}, +/* 53828 */ {(12<<2)|2,{78,99,0}}, +/* 53829 */ {(12<<2)|2,{78,99,0}}, +/* 53830 */ {(12<<2)|2,{78,99,0}}, +/* 53831 */ {(12<<2)|2,{78,99,0}}, +/* 53832 */ {(12<<2)|2,{78,99,0}}, +/* 53833 */ {(12<<2)|2,{78,99,0}}, +/* 53834 */ {(12<<2)|2,{78,99,0}}, +/* 53835 */ {(12<<2)|2,{78,99,0}}, +/* 53836 */ {(12<<2)|2,{78,99,0}}, +/* 53837 */ {(12<<2)|2,{78,99,0}}, +/* 53838 */ {(12<<2)|2,{78,99,0}}, +/* 53839 */ {(12<<2)|2,{78,99,0}}, +/* 53840 */ {(12<<2)|2,{78,101,0}}, +/* 53841 */ {(12<<2)|2,{78,101,0}}, +/* 53842 */ {(12<<2)|2,{78,101,0}}, +/* 53843 */ {(12<<2)|2,{78,101,0}}, +/* 53844 */ {(12<<2)|2,{78,101,0}}, +/* 53845 */ {(12<<2)|2,{78,101,0}}, +/* 53846 */ {(12<<2)|2,{78,101,0}}, +/* 53847 */ {(12<<2)|2,{78,101,0}}, +/* 53848 */ {(12<<2)|2,{78,101,0}}, +/* 53849 */ {(12<<2)|2,{78,101,0}}, +/* 53850 */ {(12<<2)|2,{78,101,0}}, +/* 53851 */ {(12<<2)|2,{78,101,0}}, +/* 53852 */ {(12<<2)|2,{78,101,0}}, +/* 53853 */ {(12<<2)|2,{78,101,0}}, +/* 53854 */ {(12<<2)|2,{78,101,0}}, +/* 53855 */ {(12<<2)|2,{78,101,0}}, +/* 53856 */ {(12<<2)|2,{78,105,0}}, +/* 53857 */ {(12<<2)|2,{78,105,0}}, +/* 53858 */ {(12<<2)|2,{78,105,0}}, +/* 53859 */ {(12<<2)|2,{78,105,0}}, +/* 53860 */ {(12<<2)|2,{78,105,0}}, +/* 53861 */ {(12<<2)|2,{78,105,0}}, +/* 53862 */ {(12<<2)|2,{78,105,0}}, +/* 53863 */ {(12<<2)|2,{78,105,0}}, +/* 53864 */ {(12<<2)|2,{78,105,0}}, +/* 53865 */ {(12<<2)|2,{78,105,0}}, +/* 53866 */ {(12<<2)|2,{78,105,0}}, +/* 53867 */ {(12<<2)|2,{78,105,0}}, +/* 53868 */ {(12<<2)|2,{78,105,0}}, +/* 53869 */ {(12<<2)|2,{78,105,0}}, +/* 53870 */ {(12<<2)|2,{78,105,0}}, +/* 53871 */ {(12<<2)|2,{78,105,0}}, +/* 53872 */ {(12<<2)|2,{78,111,0}}, +/* 53873 */ {(12<<2)|2,{78,111,0}}, +/* 53874 */ {(12<<2)|2,{78,111,0}}, +/* 53875 */ {(12<<2)|2,{78,111,0}}, +/* 53876 */ {(12<<2)|2,{78,111,0}}, +/* 53877 */ {(12<<2)|2,{78,111,0}}, +/* 53878 */ {(12<<2)|2,{78,111,0}}, +/* 53879 */ {(12<<2)|2,{78,111,0}}, +/* 53880 */ {(12<<2)|2,{78,111,0}}, +/* 53881 */ {(12<<2)|2,{78,111,0}}, +/* 53882 */ {(12<<2)|2,{78,111,0}}, +/* 53883 */ {(12<<2)|2,{78,111,0}}, +/* 53884 */ {(12<<2)|2,{78,111,0}}, +/* 53885 */ {(12<<2)|2,{78,111,0}}, +/* 53886 */ {(12<<2)|2,{78,111,0}}, +/* 53887 */ {(12<<2)|2,{78,111,0}}, +/* 53888 */ {(12<<2)|2,{78,115,0}}, +/* 53889 */ {(12<<2)|2,{78,115,0}}, +/* 53890 */ {(12<<2)|2,{78,115,0}}, +/* 53891 */ {(12<<2)|2,{78,115,0}}, +/* 53892 */ {(12<<2)|2,{78,115,0}}, +/* 53893 */ {(12<<2)|2,{78,115,0}}, +/* 53894 */ {(12<<2)|2,{78,115,0}}, +/* 53895 */ {(12<<2)|2,{78,115,0}}, +/* 53896 */ {(12<<2)|2,{78,115,0}}, +/* 53897 */ {(12<<2)|2,{78,115,0}}, +/* 53898 */ {(12<<2)|2,{78,115,0}}, +/* 53899 */ {(12<<2)|2,{78,115,0}}, +/* 53900 */ {(12<<2)|2,{78,115,0}}, +/* 53901 */ {(12<<2)|2,{78,115,0}}, +/* 53902 */ {(12<<2)|2,{78,115,0}}, +/* 53903 */ {(12<<2)|2,{78,115,0}}, +/* 53904 */ {(12<<2)|2,{78,116,0}}, +/* 53905 */ {(12<<2)|2,{78,116,0}}, +/* 53906 */ {(12<<2)|2,{78,116,0}}, +/* 53907 */ {(12<<2)|2,{78,116,0}}, +/* 53908 */ {(12<<2)|2,{78,116,0}}, +/* 53909 */ {(12<<2)|2,{78,116,0}}, +/* 53910 */ {(12<<2)|2,{78,116,0}}, +/* 53911 */ {(12<<2)|2,{78,116,0}}, +/* 53912 */ {(12<<2)|2,{78,116,0}}, +/* 53913 */ {(12<<2)|2,{78,116,0}}, +/* 53914 */ {(12<<2)|2,{78,116,0}}, +/* 53915 */ {(12<<2)|2,{78,116,0}}, +/* 53916 */ {(12<<2)|2,{78,116,0}}, +/* 53917 */ {(12<<2)|2,{78,116,0}}, +/* 53918 */ {(12<<2)|2,{78,116,0}}, +/* 53919 */ {(12<<2)|2,{78,116,0}}, +/* 53920 */ {(13<<2)|2,{78,32,0}}, +/* 53921 */ {(13<<2)|2,{78,32,0}}, +/* 53922 */ {(13<<2)|2,{78,32,0}}, +/* 53923 */ {(13<<2)|2,{78,32,0}}, +/* 53924 */ {(13<<2)|2,{78,32,0}}, +/* 53925 */ {(13<<2)|2,{78,32,0}}, +/* 53926 */ {(13<<2)|2,{78,32,0}}, +/* 53927 */ {(13<<2)|2,{78,32,0}}, +/* 53928 */ {(13<<2)|2,{78,37,0}}, +/* 53929 */ {(13<<2)|2,{78,37,0}}, +/* 53930 */ {(13<<2)|2,{78,37,0}}, +/* 53931 */ {(13<<2)|2,{78,37,0}}, +/* 53932 */ {(13<<2)|2,{78,37,0}}, +/* 53933 */ {(13<<2)|2,{78,37,0}}, +/* 53934 */ {(13<<2)|2,{78,37,0}}, +/* 53935 */ {(13<<2)|2,{78,37,0}}, +/* 53936 */ {(13<<2)|2,{78,45,0}}, +/* 53937 */ {(13<<2)|2,{78,45,0}}, +/* 53938 */ {(13<<2)|2,{78,45,0}}, +/* 53939 */ {(13<<2)|2,{78,45,0}}, +/* 53940 */ {(13<<2)|2,{78,45,0}}, +/* 53941 */ {(13<<2)|2,{78,45,0}}, +/* 53942 */ {(13<<2)|2,{78,45,0}}, +/* 53943 */ {(13<<2)|2,{78,45,0}}, +/* 53944 */ {(13<<2)|2,{78,46,0}}, +/* 53945 */ {(13<<2)|2,{78,46,0}}, +/* 53946 */ {(13<<2)|2,{78,46,0}}, +/* 53947 */ {(13<<2)|2,{78,46,0}}, +/* 53948 */ {(13<<2)|2,{78,46,0}}, +/* 53949 */ {(13<<2)|2,{78,46,0}}, +/* 53950 */ {(13<<2)|2,{78,46,0}}, +/* 53951 */ {(13<<2)|2,{78,46,0}}, +/* 53952 */ {(13<<2)|2,{78,47,0}}, +/* 53953 */ {(13<<2)|2,{78,47,0}}, +/* 53954 */ {(13<<2)|2,{78,47,0}}, +/* 53955 */ {(13<<2)|2,{78,47,0}}, +/* 53956 */ {(13<<2)|2,{78,47,0}}, +/* 53957 */ {(13<<2)|2,{78,47,0}}, +/* 53958 */ {(13<<2)|2,{78,47,0}}, +/* 53959 */ {(13<<2)|2,{78,47,0}}, +/* 53960 */ {(13<<2)|2,{78,51,0}}, +/* 53961 */ {(13<<2)|2,{78,51,0}}, +/* 53962 */ {(13<<2)|2,{78,51,0}}, +/* 53963 */ {(13<<2)|2,{78,51,0}}, +/* 53964 */ {(13<<2)|2,{78,51,0}}, +/* 53965 */ {(13<<2)|2,{78,51,0}}, +/* 53966 */ {(13<<2)|2,{78,51,0}}, +/* 53967 */ {(13<<2)|2,{78,51,0}}, +/* 53968 */ {(13<<2)|2,{78,52,0}}, +/* 53969 */ {(13<<2)|2,{78,52,0}}, +/* 53970 */ {(13<<2)|2,{78,52,0}}, +/* 53971 */ {(13<<2)|2,{78,52,0}}, +/* 53972 */ {(13<<2)|2,{78,52,0}}, +/* 53973 */ {(13<<2)|2,{78,52,0}}, +/* 53974 */ {(13<<2)|2,{78,52,0}}, +/* 53975 */ {(13<<2)|2,{78,52,0}}, +/* 53976 */ {(13<<2)|2,{78,53,0}}, +/* 53977 */ {(13<<2)|2,{78,53,0}}, +/* 53978 */ {(13<<2)|2,{78,53,0}}, +/* 53979 */ {(13<<2)|2,{78,53,0}}, +/* 53980 */ {(13<<2)|2,{78,53,0}}, +/* 53981 */ {(13<<2)|2,{78,53,0}}, +/* 53982 */ {(13<<2)|2,{78,53,0}}, +/* 53983 */ {(13<<2)|2,{78,53,0}}, +/* 53984 */ {(13<<2)|2,{78,54,0}}, +/* 53985 */ {(13<<2)|2,{78,54,0}}, +/* 53986 */ {(13<<2)|2,{78,54,0}}, +/* 53987 */ {(13<<2)|2,{78,54,0}}, +/* 53988 */ {(13<<2)|2,{78,54,0}}, +/* 53989 */ {(13<<2)|2,{78,54,0}}, +/* 53990 */ {(13<<2)|2,{78,54,0}}, +/* 53991 */ {(13<<2)|2,{78,54,0}}, +/* 53992 */ {(13<<2)|2,{78,55,0}}, +/* 53993 */ {(13<<2)|2,{78,55,0}}, +/* 53994 */ {(13<<2)|2,{78,55,0}}, +/* 53995 */ {(13<<2)|2,{78,55,0}}, +/* 53996 */ {(13<<2)|2,{78,55,0}}, +/* 53997 */ {(13<<2)|2,{78,55,0}}, +/* 53998 */ {(13<<2)|2,{78,55,0}}, +/* 53999 */ {(13<<2)|2,{78,55,0}}, +/* 54000 */ {(13<<2)|2,{78,56,0}}, +/* 54001 */ {(13<<2)|2,{78,56,0}}, +/* 54002 */ {(13<<2)|2,{78,56,0}}, +/* 54003 */ {(13<<2)|2,{78,56,0}}, +/* 54004 */ {(13<<2)|2,{78,56,0}}, +/* 54005 */ {(13<<2)|2,{78,56,0}}, +/* 54006 */ {(13<<2)|2,{78,56,0}}, +/* 54007 */ {(13<<2)|2,{78,56,0}}, +/* 54008 */ {(13<<2)|2,{78,57,0}}, +/* 54009 */ {(13<<2)|2,{78,57,0}}, +/* 54010 */ {(13<<2)|2,{78,57,0}}, +/* 54011 */ {(13<<2)|2,{78,57,0}}, +/* 54012 */ {(13<<2)|2,{78,57,0}}, +/* 54013 */ {(13<<2)|2,{78,57,0}}, +/* 54014 */ {(13<<2)|2,{78,57,0}}, +/* 54015 */ {(13<<2)|2,{78,57,0}}, +/* 54016 */ {(13<<2)|2,{78,61,0}}, +/* 54017 */ {(13<<2)|2,{78,61,0}}, +/* 54018 */ {(13<<2)|2,{78,61,0}}, +/* 54019 */ {(13<<2)|2,{78,61,0}}, +/* 54020 */ {(13<<2)|2,{78,61,0}}, +/* 54021 */ {(13<<2)|2,{78,61,0}}, +/* 54022 */ {(13<<2)|2,{78,61,0}}, +/* 54023 */ {(13<<2)|2,{78,61,0}}, +/* 54024 */ {(13<<2)|2,{78,65,0}}, +/* 54025 */ {(13<<2)|2,{78,65,0}}, +/* 54026 */ {(13<<2)|2,{78,65,0}}, +/* 54027 */ {(13<<2)|2,{78,65,0}}, +/* 54028 */ {(13<<2)|2,{78,65,0}}, +/* 54029 */ {(13<<2)|2,{78,65,0}}, +/* 54030 */ {(13<<2)|2,{78,65,0}}, +/* 54031 */ {(13<<2)|2,{78,65,0}}, +/* 54032 */ {(13<<2)|2,{78,95,0}}, +/* 54033 */ {(13<<2)|2,{78,95,0}}, +/* 54034 */ {(13<<2)|2,{78,95,0}}, +/* 54035 */ {(13<<2)|2,{78,95,0}}, +/* 54036 */ {(13<<2)|2,{78,95,0}}, +/* 54037 */ {(13<<2)|2,{78,95,0}}, +/* 54038 */ {(13<<2)|2,{78,95,0}}, +/* 54039 */ {(13<<2)|2,{78,95,0}}, +/* 54040 */ {(13<<2)|2,{78,98,0}}, +/* 54041 */ {(13<<2)|2,{78,98,0}}, +/* 54042 */ {(13<<2)|2,{78,98,0}}, +/* 54043 */ {(13<<2)|2,{78,98,0}}, +/* 54044 */ {(13<<2)|2,{78,98,0}}, +/* 54045 */ {(13<<2)|2,{78,98,0}}, +/* 54046 */ {(13<<2)|2,{78,98,0}}, +/* 54047 */ {(13<<2)|2,{78,98,0}}, +/* 54048 */ {(13<<2)|2,{78,100,0}}, +/* 54049 */ {(13<<2)|2,{78,100,0}}, +/* 54050 */ {(13<<2)|2,{78,100,0}}, +/* 54051 */ {(13<<2)|2,{78,100,0}}, +/* 54052 */ {(13<<2)|2,{78,100,0}}, +/* 54053 */ {(13<<2)|2,{78,100,0}}, +/* 54054 */ {(13<<2)|2,{78,100,0}}, +/* 54055 */ {(13<<2)|2,{78,100,0}}, +/* 54056 */ {(13<<2)|2,{78,102,0}}, +/* 54057 */ {(13<<2)|2,{78,102,0}}, +/* 54058 */ {(13<<2)|2,{78,102,0}}, +/* 54059 */ {(13<<2)|2,{78,102,0}}, +/* 54060 */ {(13<<2)|2,{78,102,0}}, +/* 54061 */ {(13<<2)|2,{78,102,0}}, +/* 54062 */ {(13<<2)|2,{78,102,0}}, +/* 54063 */ {(13<<2)|2,{78,102,0}}, +/* 54064 */ {(13<<2)|2,{78,103,0}}, +/* 54065 */ {(13<<2)|2,{78,103,0}}, +/* 54066 */ {(13<<2)|2,{78,103,0}}, +/* 54067 */ {(13<<2)|2,{78,103,0}}, +/* 54068 */ {(13<<2)|2,{78,103,0}}, +/* 54069 */ {(13<<2)|2,{78,103,0}}, +/* 54070 */ {(13<<2)|2,{78,103,0}}, +/* 54071 */ {(13<<2)|2,{78,103,0}}, +/* 54072 */ {(13<<2)|2,{78,104,0}}, +/* 54073 */ {(13<<2)|2,{78,104,0}}, +/* 54074 */ {(13<<2)|2,{78,104,0}}, +/* 54075 */ {(13<<2)|2,{78,104,0}}, +/* 54076 */ {(13<<2)|2,{78,104,0}}, +/* 54077 */ {(13<<2)|2,{78,104,0}}, +/* 54078 */ {(13<<2)|2,{78,104,0}}, +/* 54079 */ {(13<<2)|2,{78,104,0}}, +/* 54080 */ {(13<<2)|2,{78,108,0}}, +/* 54081 */ {(13<<2)|2,{78,108,0}}, +/* 54082 */ {(13<<2)|2,{78,108,0}}, +/* 54083 */ {(13<<2)|2,{78,108,0}}, +/* 54084 */ {(13<<2)|2,{78,108,0}}, +/* 54085 */ {(13<<2)|2,{78,108,0}}, +/* 54086 */ {(13<<2)|2,{78,108,0}}, +/* 54087 */ {(13<<2)|2,{78,108,0}}, +/* 54088 */ {(13<<2)|2,{78,109,0}}, +/* 54089 */ {(13<<2)|2,{78,109,0}}, +/* 54090 */ {(13<<2)|2,{78,109,0}}, +/* 54091 */ {(13<<2)|2,{78,109,0}}, +/* 54092 */ {(13<<2)|2,{78,109,0}}, +/* 54093 */ {(13<<2)|2,{78,109,0}}, +/* 54094 */ {(13<<2)|2,{78,109,0}}, +/* 54095 */ {(13<<2)|2,{78,109,0}}, +/* 54096 */ {(13<<2)|2,{78,110,0}}, +/* 54097 */ {(13<<2)|2,{78,110,0}}, +/* 54098 */ {(13<<2)|2,{78,110,0}}, +/* 54099 */ {(13<<2)|2,{78,110,0}}, +/* 54100 */ {(13<<2)|2,{78,110,0}}, +/* 54101 */ {(13<<2)|2,{78,110,0}}, +/* 54102 */ {(13<<2)|2,{78,110,0}}, +/* 54103 */ {(13<<2)|2,{78,110,0}}, +/* 54104 */ {(13<<2)|2,{78,112,0}}, +/* 54105 */ {(13<<2)|2,{78,112,0}}, +/* 54106 */ {(13<<2)|2,{78,112,0}}, +/* 54107 */ {(13<<2)|2,{78,112,0}}, +/* 54108 */ {(13<<2)|2,{78,112,0}}, +/* 54109 */ {(13<<2)|2,{78,112,0}}, +/* 54110 */ {(13<<2)|2,{78,112,0}}, +/* 54111 */ {(13<<2)|2,{78,112,0}}, +/* 54112 */ {(13<<2)|2,{78,114,0}}, +/* 54113 */ {(13<<2)|2,{78,114,0}}, +/* 54114 */ {(13<<2)|2,{78,114,0}}, +/* 54115 */ {(13<<2)|2,{78,114,0}}, +/* 54116 */ {(13<<2)|2,{78,114,0}}, +/* 54117 */ {(13<<2)|2,{78,114,0}}, +/* 54118 */ {(13<<2)|2,{78,114,0}}, +/* 54119 */ {(13<<2)|2,{78,114,0}}, +/* 54120 */ {(13<<2)|2,{78,117,0}}, +/* 54121 */ {(13<<2)|2,{78,117,0}}, +/* 54122 */ {(13<<2)|2,{78,117,0}}, +/* 54123 */ {(13<<2)|2,{78,117,0}}, +/* 54124 */ {(13<<2)|2,{78,117,0}}, +/* 54125 */ {(13<<2)|2,{78,117,0}}, +/* 54126 */ {(13<<2)|2,{78,117,0}}, +/* 54127 */ {(13<<2)|2,{78,117,0}}, +/* 54128 */ {(14<<2)|2,{78,58,0}}, +/* 54129 */ {(14<<2)|2,{78,58,0}}, +/* 54130 */ {(14<<2)|2,{78,58,0}}, +/* 54131 */ {(14<<2)|2,{78,58,0}}, +/* 54132 */ {(14<<2)|2,{78,66,0}}, +/* 54133 */ {(14<<2)|2,{78,66,0}}, +/* 54134 */ {(14<<2)|2,{78,66,0}}, +/* 54135 */ {(14<<2)|2,{78,66,0}}, +/* 54136 */ {(14<<2)|2,{78,67,0}}, +/* 54137 */ {(14<<2)|2,{78,67,0}}, +/* 54138 */ {(14<<2)|2,{78,67,0}}, +/* 54139 */ {(14<<2)|2,{78,67,0}}, +/* 54140 */ {(14<<2)|2,{78,68,0}}, +/* 54141 */ {(14<<2)|2,{78,68,0}}, +/* 54142 */ {(14<<2)|2,{78,68,0}}, +/* 54143 */ {(14<<2)|2,{78,68,0}}, +/* 54144 */ {(14<<2)|2,{78,69,0}}, +/* 54145 */ {(14<<2)|2,{78,69,0}}, +/* 54146 */ {(14<<2)|2,{78,69,0}}, +/* 54147 */ {(14<<2)|2,{78,69,0}}, +/* 54148 */ {(14<<2)|2,{78,70,0}}, +/* 54149 */ {(14<<2)|2,{78,70,0}}, +/* 54150 */ {(14<<2)|2,{78,70,0}}, +/* 54151 */ {(14<<2)|2,{78,70,0}}, +/* 54152 */ {(14<<2)|2,{78,71,0}}, +/* 54153 */ {(14<<2)|2,{78,71,0}}, +/* 54154 */ {(14<<2)|2,{78,71,0}}, +/* 54155 */ {(14<<2)|2,{78,71,0}}, +/* 54156 */ {(14<<2)|2,{78,72,0}}, +/* 54157 */ {(14<<2)|2,{78,72,0}}, +/* 54158 */ {(14<<2)|2,{78,72,0}}, +/* 54159 */ {(14<<2)|2,{78,72,0}}, +/* 54160 */ {(14<<2)|2,{78,73,0}}, +/* 54161 */ {(14<<2)|2,{78,73,0}}, +/* 54162 */ {(14<<2)|2,{78,73,0}}, +/* 54163 */ {(14<<2)|2,{78,73,0}}, +/* 54164 */ {(14<<2)|2,{78,74,0}}, +/* 54165 */ {(14<<2)|2,{78,74,0}}, +/* 54166 */ {(14<<2)|2,{78,74,0}}, +/* 54167 */ {(14<<2)|2,{78,74,0}}, +/* 54168 */ {(14<<2)|2,{78,75,0}}, +/* 54169 */ {(14<<2)|2,{78,75,0}}, +/* 54170 */ {(14<<2)|2,{78,75,0}}, +/* 54171 */ {(14<<2)|2,{78,75,0}}, +/* 54172 */ {(14<<2)|2,{78,76,0}}, +/* 54173 */ {(14<<2)|2,{78,76,0}}, +/* 54174 */ {(14<<2)|2,{78,76,0}}, +/* 54175 */ {(14<<2)|2,{78,76,0}}, +/* 54176 */ {(14<<2)|2,{78,77,0}}, +/* 54177 */ {(14<<2)|2,{78,77,0}}, +/* 54178 */ {(14<<2)|2,{78,77,0}}, +/* 54179 */ {(14<<2)|2,{78,77,0}}, +/* 54180 */ {(14<<2)|2,{78,78,0}}, +/* 54181 */ {(14<<2)|2,{78,78,0}}, +/* 54182 */ {(14<<2)|2,{78,78,0}}, +/* 54183 */ {(14<<2)|2,{78,78,0}}, +/* 54184 */ {(14<<2)|2,{78,79,0}}, +/* 54185 */ {(14<<2)|2,{78,79,0}}, +/* 54186 */ {(14<<2)|2,{78,79,0}}, +/* 54187 */ {(14<<2)|2,{78,79,0}}, +/* 54188 */ {(14<<2)|2,{78,80,0}}, +/* 54189 */ {(14<<2)|2,{78,80,0}}, +/* 54190 */ {(14<<2)|2,{78,80,0}}, +/* 54191 */ {(14<<2)|2,{78,80,0}}, +/* 54192 */ {(14<<2)|2,{78,81,0}}, +/* 54193 */ {(14<<2)|2,{78,81,0}}, +/* 54194 */ {(14<<2)|2,{78,81,0}}, +/* 54195 */ {(14<<2)|2,{78,81,0}}, +/* 54196 */ {(14<<2)|2,{78,82,0}}, +/* 54197 */ {(14<<2)|2,{78,82,0}}, +/* 54198 */ {(14<<2)|2,{78,82,0}}, +/* 54199 */ {(14<<2)|2,{78,82,0}}, +/* 54200 */ {(14<<2)|2,{78,83,0}}, +/* 54201 */ {(14<<2)|2,{78,83,0}}, +/* 54202 */ {(14<<2)|2,{78,83,0}}, +/* 54203 */ {(14<<2)|2,{78,83,0}}, +/* 54204 */ {(14<<2)|2,{78,84,0}}, +/* 54205 */ {(14<<2)|2,{78,84,0}}, +/* 54206 */ {(14<<2)|2,{78,84,0}}, +/* 54207 */ {(14<<2)|2,{78,84,0}}, +/* 54208 */ {(14<<2)|2,{78,85,0}}, +/* 54209 */ {(14<<2)|2,{78,85,0}}, +/* 54210 */ {(14<<2)|2,{78,85,0}}, +/* 54211 */ {(14<<2)|2,{78,85,0}}, +/* 54212 */ {(14<<2)|2,{78,86,0}}, +/* 54213 */ {(14<<2)|2,{78,86,0}}, +/* 54214 */ {(14<<2)|2,{78,86,0}}, +/* 54215 */ {(14<<2)|2,{78,86,0}}, +/* 54216 */ {(14<<2)|2,{78,87,0}}, +/* 54217 */ {(14<<2)|2,{78,87,0}}, +/* 54218 */ {(14<<2)|2,{78,87,0}}, +/* 54219 */ {(14<<2)|2,{78,87,0}}, +/* 54220 */ {(14<<2)|2,{78,89,0}}, +/* 54221 */ {(14<<2)|2,{78,89,0}}, +/* 54222 */ {(14<<2)|2,{78,89,0}}, +/* 54223 */ {(14<<2)|2,{78,89,0}}, +/* 54224 */ {(14<<2)|2,{78,106,0}}, +/* 54225 */ {(14<<2)|2,{78,106,0}}, +/* 54226 */ {(14<<2)|2,{78,106,0}}, +/* 54227 */ {(14<<2)|2,{78,106,0}}, +/* 54228 */ {(14<<2)|2,{78,107,0}}, +/* 54229 */ {(14<<2)|2,{78,107,0}}, +/* 54230 */ {(14<<2)|2,{78,107,0}}, +/* 54231 */ {(14<<2)|2,{78,107,0}}, +/* 54232 */ {(14<<2)|2,{78,113,0}}, +/* 54233 */ {(14<<2)|2,{78,113,0}}, +/* 54234 */ {(14<<2)|2,{78,113,0}}, +/* 54235 */ {(14<<2)|2,{78,113,0}}, +/* 54236 */ {(14<<2)|2,{78,118,0}}, +/* 54237 */ {(14<<2)|2,{78,118,0}}, +/* 54238 */ {(14<<2)|2,{78,118,0}}, +/* 54239 */ {(14<<2)|2,{78,118,0}}, +/* 54240 */ {(14<<2)|2,{78,119,0}}, +/* 54241 */ {(14<<2)|2,{78,119,0}}, +/* 54242 */ {(14<<2)|2,{78,119,0}}, +/* 54243 */ {(14<<2)|2,{78,119,0}}, +/* 54244 */ {(14<<2)|2,{78,120,0}}, +/* 54245 */ {(14<<2)|2,{78,120,0}}, +/* 54246 */ {(14<<2)|2,{78,120,0}}, +/* 54247 */ {(14<<2)|2,{78,120,0}}, +/* 54248 */ {(14<<2)|2,{78,121,0}}, +/* 54249 */ {(14<<2)|2,{78,121,0}}, +/* 54250 */ {(14<<2)|2,{78,121,0}}, +/* 54251 */ {(14<<2)|2,{78,121,0}}, +/* 54252 */ {(14<<2)|2,{78,122,0}}, +/* 54253 */ {(14<<2)|2,{78,122,0}}, +/* 54254 */ {(14<<2)|2,{78,122,0}}, +/* 54255 */ {(14<<2)|2,{78,122,0}}, +/* 54256 */ {(15<<2)|2,{78,38,0}}, +/* 54257 */ {(15<<2)|2,{78,38,0}}, +/* 54258 */ {(15<<2)|2,{78,42,0}}, +/* 54259 */ {(15<<2)|2,{78,42,0}}, +/* 54260 */ {(15<<2)|2,{78,44,0}}, +/* 54261 */ {(15<<2)|2,{78,44,0}}, +/* 54262 */ {(15<<2)|2,{78,59,0}}, +/* 54263 */ {(15<<2)|2,{78,59,0}}, +/* 54264 */ {(15<<2)|2,{78,88,0}}, +/* 54265 */ {(15<<2)|2,{78,88,0}}, +/* 54266 */ {(15<<2)|2,{78,90,0}}, +/* 54267 */ {(15<<2)|2,{78,90,0}}, +/* 54268 */ {(7<<2)|1,{78,0,0}}, +/* 54269 */ {(7<<2)|1,{78,0,0}}, +/* 54270 */ {(7<<2)|1,{78,0,0}}, +/* 54271 */ {(7<<2)|1,{78,0,0}}, +/* 54272 */ {(12<<2)|2,{79,48,0}}, +/* 54273 */ {(12<<2)|2,{79,48,0}}, +/* 54274 */ {(12<<2)|2,{79,48,0}}, +/* 54275 */ {(12<<2)|2,{79,48,0}}, +/* 54276 */ {(12<<2)|2,{79,48,0}}, +/* 54277 */ {(12<<2)|2,{79,48,0}}, +/* 54278 */ {(12<<2)|2,{79,48,0}}, +/* 54279 */ {(12<<2)|2,{79,48,0}}, +/* 54280 */ {(12<<2)|2,{79,48,0}}, +/* 54281 */ {(12<<2)|2,{79,48,0}}, +/* 54282 */ {(12<<2)|2,{79,48,0}}, +/* 54283 */ {(12<<2)|2,{79,48,0}}, +/* 54284 */ {(12<<2)|2,{79,48,0}}, +/* 54285 */ {(12<<2)|2,{79,48,0}}, +/* 54286 */ {(12<<2)|2,{79,48,0}}, +/* 54287 */ {(12<<2)|2,{79,48,0}}, +/* 54288 */ {(12<<2)|2,{79,49,0}}, +/* 54289 */ {(12<<2)|2,{79,49,0}}, +/* 54290 */ {(12<<2)|2,{79,49,0}}, +/* 54291 */ {(12<<2)|2,{79,49,0}}, +/* 54292 */ {(12<<2)|2,{79,49,0}}, +/* 54293 */ {(12<<2)|2,{79,49,0}}, +/* 54294 */ {(12<<2)|2,{79,49,0}}, +/* 54295 */ {(12<<2)|2,{79,49,0}}, +/* 54296 */ {(12<<2)|2,{79,49,0}}, +/* 54297 */ {(12<<2)|2,{79,49,0}}, +/* 54298 */ {(12<<2)|2,{79,49,0}}, +/* 54299 */ {(12<<2)|2,{79,49,0}}, +/* 54300 */ {(12<<2)|2,{79,49,0}}, +/* 54301 */ {(12<<2)|2,{79,49,0}}, +/* 54302 */ {(12<<2)|2,{79,49,0}}, +/* 54303 */ {(12<<2)|2,{79,49,0}}, +/* 54304 */ {(12<<2)|2,{79,50,0}}, +/* 54305 */ {(12<<2)|2,{79,50,0}}, +/* 54306 */ {(12<<2)|2,{79,50,0}}, +/* 54307 */ {(12<<2)|2,{79,50,0}}, +/* 54308 */ {(12<<2)|2,{79,50,0}}, +/* 54309 */ {(12<<2)|2,{79,50,0}}, +/* 54310 */ {(12<<2)|2,{79,50,0}}, +/* 54311 */ {(12<<2)|2,{79,50,0}}, +/* 54312 */ {(12<<2)|2,{79,50,0}}, +/* 54313 */ {(12<<2)|2,{79,50,0}}, +/* 54314 */ {(12<<2)|2,{79,50,0}}, +/* 54315 */ {(12<<2)|2,{79,50,0}}, +/* 54316 */ {(12<<2)|2,{79,50,0}}, +/* 54317 */ {(12<<2)|2,{79,50,0}}, +/* 54318 */ {(12<<2)|2,{79,50,0}}, +/* 54319 */ {(12<<2)|2,{79,50,0}}, +/* 54320 */ {(12<<2)|2,{79,97,0}}, +/* 54321 */ {(12<<2)|2,{79,97,0}}, +/* 54322 */ {(12<<2)|2,{79,97,0}}, +/* 54323 */ {(12<<2)|2,{79,97,0}}, +/* 54324 */ {(12<<2)|2,{79,97,0}}, +/* 54325 */ {(12<<2)|2,{79,97,0}}, +/* 54326 */ {(12<<2)|2,{79,97,0}}, +/* 54327 */ {(12<<2)|2,{79,97,0}}, +/* 54328 */ {(12<<2)|2,{79,97,0}}, +/* 54329 */ {(12<<2)|2,{79,97,0}}, +/* 54330 */ {(12<<2)|2,{79,97,0}}, +/* 54331 */ {(12<<2)|2,{79,97,0}}, +/* 54332 */ {(12<<2)|2,{79,97,0}}, +/* 54333 */ {(12<<2)|2,{79,97,0}}, +/* 54334 */ {(12<<2)|2,{79,97,0}}, +/* 54335 */ {(12<<2)|2,{79,97,0}}, +/* 54336 */ {(12<<2)|2,{79,99,0}}, +/* 54337 */ {(12<<2)|2,{79,99,0}}, +/* 54338 */ {(12<<2)|2,{79,99,0}}, +/* 54339 */ {(12<<2)|2,{79,99,0}}, +/* 54340 */ {(12<<2)|2,{79,99,0}}, +/* 54341 */ {(12<<2)|2,{79,99,0}}, +/* 54342 */ {(12<<2)|2,{79,99,0}}, +/* 54343 */ {(12<<2)|2,{79,99,0}}, +/* 54344 */ {(12<<2)|2,{79,99,0}}, +/* 54345 */ {(12<<2)|2,{79,99,0}}, +/* 54346 */ {(12<<2)|2,{79,99,0}}, +/* 54347 */ {(12<<2)|2,{79,99,0}}, +/* 54348 */ {(12<<2)|2,{79,99,0}}, +/* 54349 */ {(12<<2)|2,{79,99,0}}, +/* 54350 */ {(12<<2)|2,{79,99,0}}, +/* 54351 */ {(12<<2)|2,{79,99,0}}, +/* 54352 */ {(12<<2)|2,{79,101,0}}, +/* 54353 */ {(12<<2)|2,{79,101,0}}, +/* 54354 */ {(12<<2)|2,{79,101,0}}, +/* 54355 */ {(12<<2)|2,{79,101,0}}, +/* 54356 */ {(12<<2)|2,{79,101,0}}, +/* 54357 */ {(12<<2)|2,{79,101,0}}, +/* 54358 */ {(12<<2)|2,{79,101,0}}, +/* 54359 */ {(12<<2)|2,{79,101,0}}, +/* 54360 */ {(12<<2)|2,{79,101,0}}, +/* 54361 */ {(12<<2)|2,{79,101,0}}, +/* 54362 */ {(12<<2)|2,{79,101,0}}, +/* 54363 */ {(12<<2)|2,{79,101,0}}, +/* 54364 */ {(12<<2)|2,{79,101,0}}, +/* 54365 */ {(12<<2)|2,{79,101,0}}, +/* 54366 */ {(12<<2)|2,{79,101,0}}, +/* 54367 */ {(12<<2)|2,{79,101,0}}, +/* 54368 */ {(12<<2)|2,{79,105,0}}, +/* 54369 */ {(12<<2)|2,{79,105,0}}, +/* 54370 */ {(12<<2)|2,{79,105,0}}, +/* 54371 */ {(12<<2)|2,{79,105,0}}, +/* 54372 */ {(12<<2)|2,{79,105,0}}, +/* 54373 */ {(12<<2)|2,{79,105,0}}, +/* 54374 */ {(12<<2)|2,{79,105,0}}, +/* 54375 */ {(12<<2)|2,{79,105,0}}, +/* 54376 */ {(12<<2)|2,{79,105,0}}, +/* 54377 */ {(12<<2)|2,{79,105,0}}, +/* 54378 */ {(12<<2)|2,{79,105,0}}, +/* 54379 */ {(12<<2)|2,{79,105,0}}, +/* 54380 */ {(12<<2)|2,{79,105,0}}, +/* 54381 */ {(12<<2)|2,{79,105,0}}, +/* 54382 */ {(12<<2)|2,{79,105,0}}, +/* 54383 */ {(12<<2)|2,{79,105,0}}, +/* 54384 */ {(12<<2)|2,{79,111,0}}, +/* 54385 */ {(12<<2)|2,{79,111,0}}, +/* 54386 */ {(12<<2)|2,{79,111,0}}, +/* 54387 */ {(12<<2)|2,{79,111,0}}, +/* 54388 */ {(12<<2)|2,{79,111,0}}, +/* 54389 */ {(12<<2)|2,{79,111,0}}, +/* 54390 */ {(12<<2)|2,{79,111,0}}, +/* 54391 */ {(12<<2)|2,{79,111,0}}, +/* 54392 */ {(12<<2)|2,{79,111,0}}, +/* 54393 */ {(12<<2)|2,{79,111,0}}, +/* 54394 */ {(12<<2)|2,{79,111,0}}, +/* 54395 */ {(12<<2)|2,{79,111,0}}, +/* 54396 */ {(12<<2)|2,{79,111,0}}, +/* 54397 */ {(12<<2)|2,{79,111,0}}, +/* 54398 */ {(12<<2)|2,{79,111,0}}, +/* 54399 */ {(12<<2)|2,{79,111,0}}, +/* 54400 */ {(12<<2)|2,{79,115,0}}, +/* 54401 */ {(12<<2)|2,{79,115,0}}, +/* 54402 */ {(12<<2)|2,{79,115,0}}, +/* 54403 */ {(12<<2)|2,{79,115,0}}, +/* 54404 */ {(12<<2)|2,{79,115,0}}, +/* 54405 */ {(12<<2)|2,{79,115,0}}, +/* 54406 */ {(12<<2)|2,{79,115,0}}, +/* 54407 */ {(12<<2)|2,{79,115,0}}, +/* 54408 */ {(12<<2)|2,{79,115,0}}, +/* 54409 */ {(12<<2)|2,{79,115,0}}, +/* 54410 */ {(12<<2)|2,{79,115,0}}, +/* 54411 */ {(12<<2)|2,{79,115,0}}, +/* 54412 */ {(12<<2)|2,{79,115,0}}, +/* 54413 */ {(12<<2)|2,{79,115,0}}, +/* 54414 */ {(12<<2)|2,{79,115,0}}, +/* 54415 */ {(12<<2)|2,{79,115,0}}, +/* 54416 */ {(12<<2)|2,{79,116,0}}, +/* 54417 */ {(12<<2)|2,{79,116,0}}, +/* 54418 */ {(12<<2)|2,{79,116,0}}, +/* 54419 */ {(12<<2)|2,{79,116,0}}, +/* 54420 */ {(12<<2)|2,{79,116,0}}, +/* 54421 */ {(12<<2)|2,{79,116,0}}, +/* 54422 */ {(12<<2)|2,{79,116,0}}, +/* 54423 */ {(12<<2)|2,{79,116,0}}, +/* 54424 */ {(12<<2)|2,{79,116,0}}, +/* 54425 */ {(12<<2)|2,{79,116,0}}, +/* 54426 */ {(12<<2)|2,{79,116,0}}, +/* 54427 */ {(12<<2)|2,{79,116,0}}, +/* 54428 */ {(12<<2)|2,{79,116,0}}, +/* 54429 */ {(12<<2)|2,{79,116,0}}, +/* 54430 */ {(12<<2)|2,{79,116,0}}, +/* 54431 */ {(12<<2)|2,{79,116,0}}, +/* 54432 */ {(13<<2)|2,{79,32,0}}, +/* 54433 */ {(13<<2)|2,{79,32,0}}, +/* 54434 */ {(13<<2)|2,{79,32,0}}, +/* 54435 */ {(13<<2)|2,{79,32,0}}, +/* 54436 */ {(13<<2)|2,{79,32,0}}, +/* 54437 */ {(13<<2)|2,{79,32,0}}, +/* 54438 */ {(13<<2)|2,{79,32,0}}, +/* 54439 */ {(13<<2)|2,{79,32,0}}, +/* 54440 */ {(13<<2)|2,{79,37,0}}, +/* 54441 */ {(13<<2)|2,{79,37,0}}, +/* 54442 */ {(13<<2)|2,{79,37,0}}, +/* 54443 */ {(13<<2)|2,{79,37,0}}, +/* 54444 */ {(13<<2)|2,{79,37,0}}, +/* 54445 */ {(13<<2)|2,{79,37,0}}, +/* 54446 */ {(13<<2)|2,{79,37,0}}, +/* 54447 */ {(13<<2)|2,{79,37,0}}, +/* 54448 */ {(13<<2)|2,{79,45,0}}, +/* 54449 */ {(13<<2)|2,{79,45,0}}, +/* 54450 */ {(13<<2)|2,{79,45,0}}, +/* 54451 */ {(13<<2)|2,{79,45,0}}, +/* 54452 */ {(13<<2)|2,{79,45,0}}, +/* 54453 */ {(13<<2)|2,{79,45,0}}, +/* 54454 */ {(13<<2)|2,{79,45,0}}, +/* 54455 */ {(13<<2)|2,{79,45,0}}, +/* 54456 */ {(13<<2)|2,{79,46,0}}, +/* 54457 */ {(13<<2)|2,{79,46,0}}, +/* 54458 */ {(13<<2)|2,{79,46,0}}, +/* 54459 */ {(13<<2)|2,{79,46,0}}, +/* 54460 */ {(13<<2)|2,{79,46,0}}, +/* 54461 */ {(13<<2)|2,{79,46,0}}, +/* 54462 */ {(13<<2)|2,{79,46,0}}, +/* 54463 */ {(13<<2)|2,{79,46,0}}, +/* 54464 */ {(13<<2)|2,{79,47,0}}, +/* 54465 */ {(13<<2)|2,{79,47,0}}, +/* 54466 */ {(13<<2)|2,{79,47,0}}, +/* 54467 */ {(13<<2)|2,{79,47,0}}, +/* 54468 */ {(13<<2)|2,{79,47,0}}, +/* 54469 */ {(13<<2)|2,{79,47,0}}, +/* 54470 */ {(13<<2)|2,{79,47,0}}, +/* 54471 */ {(13<<2)|2,{79,47,0}}, +/* 54472 */ {(13<<2)|2,{79,51,0}}, +/* 54473 */ {(13<<2)|2,{79,51,0}}, +/* 54474 */ {(13<<2)|2,{79,51,0}}, +/* 54475 */ {(13<<2)|2,{79,51,0}}, +/* 54476 */ {(13<<2)|2,{79,51,0}}, +/* 54477 */ {(13<<2)|2,{79,51,0}}, +/* 54478 */ {(13<<2)|2,{79,51,0}}, +/* 54479 */ {(13<<2)|2,{79,51,0}}, +/* 54480 */ {(13<<2)|2,{79,52,0}}, +/* 54481 */ {(13<<2)|2,{79,52,0}}, +/* 54482 */ {(13<<2)|2,{79,52,0}}, +/* 54483 */ {(13<<2)|2,{79,52,0}}, +/* 54484 */ {(13<<2)|2,{79,52,0}}, +/* 54485 */ {(13<<2)|2,{79,52,0}}, +/* 54486 */ {(13<<2)|2,{79,52,0}}, +/* 54487 */ {(13<<2)|2,{79,52,0}}, +/* 54488 */ {(13<<2)|2,{79,53,0}}, +/* 54489 */ {(13<<2)|2,{79,53,0}}, +/* 54490 */ {(13<<2)|2,{79,53,0}}, +/* 54491 */ {(13<<2)|2,{79,53,0}}, +/* 54492 */ {(13<<2)|2,{79,53,0}}, +/* 54493 */ {(13<<2)|2,{79,53,0}}, +/* 54494 */ {(13<<2)|2,{79,53,0}}, +/* 54495 */ {(13<<2)|2,{79,53,0}}, +/* 54496 */ {(13<<2)|2,{79,54,0}}, +/* 54497 */ {(13<<2)|2,{79,54,0}}, +/* 54498 */ {(13<<2)|2,{79,54,0}}, +/* 54499 */ {(13<<2)|2,{79,54,0}}, +/* 54500 */ {(13<<2)|2,{79,54,0}}, +/* 54501 */ {(13<<2)|2,{79,54,0}}, +/* 54502 */ {(13<<2)|2,{79,54,0}}, +/* 54503 */ {(13<<2)|2,{79,54,0}}, +/* 54504 */ {(13<<2)|2,{79,55,0}}, +/* 54505 */ {(13<<2)|2,{79,55,0}}, +/* 54506 */ {(13<<2)|2,{79,55,0}}, +/* 54507 */ {(13<<2)|2,{79,55,0}}, +/* 54508 */ {(13<<2)|2,{79,55,0}}, +/* 54509 */ {(13<<2)|2,{79,55,0}}, +/* 54510 */ {(13<<2)|2,{79,55,0}}, +/* 54511 */ {(13<<2)|2,{79,55,0}}, +/* 54512 */ {(13<<2)|2,{79,56,0}}, +/* 54513 */ {(13<<2)|2,{79,56,0}}, +/* 54514 */ {(13<<2)|2,{79,56,0}}, +/* 54515 */ {(13<<2)|2,{79,56,0}}, +/* 54516 */ {(13<<2)|2,{79,56,0}}, +/* 54517 */ {(13<<2)|2,{79,56,0}}, +/* 54518 */ {(13<<2)|2,{79,56,0}}, +/* 54519 */ {(13<<2)|2,{79,56,0}}, +/* 54520 */ {(13<<2)|2,{79,57,0}}, +/* 54521 */ {(13<<2)|2,{79,57,0}}, +/* 54522 */ {(13<<2)|2,{79,57,0}}, +/* 54523 */ {(13<<2)|2,{79,57,0}}, +/* 54524 */ {(13<<2)|2,{79,57,0}}, +/* 54525 */ {(13<<2)|2,{79,57,0}}, +/* 54526 */ {(13<<2)|2,{79,57,0}}, +/* 54527 */ {(13<<2)|2,{79,57,0}}, +/* 54528 */ {(13<<2)|2,{79,61,0}}, +/* 54529 */ {(13<<2)|2,{79,61,0}}, +/* 54530 */ {(13<<2)|2,{79,61,0}}, +/* 54531 */ {(13<<2)|2,{79,61,0}}, +/* 54532 */ {(13<<2)|2,{79,61,0}}, +/* 54533 */ {(13<<2)|2,{79,61,0}}, +/* 54534 */ {(13<<2)|2,{79,61,0}}, +/* 54535 */ {(13<<2)|2,{79,61,0}}, +/* 54536 */ {(13<<2)|2,{79,65,0}}, +/* 54537 */ {(13<<2)|2,{79,65,0}}, +/* 54538 */ {(13<<2)|2,{79,65,0}}, +/* 54539 */ {(13<<2)|2,{79,65,0}}, +/* 54540 */ {(13<<2)|2,{79,65,0}}, +/* 54541 */ {(13<<2)|2,{79,65,0}}, +/* 54542 */ {(13<<2)|2,{79,65,0}}, +/* 54543 */ {(13<<2)|2,{79,65,0}}, +/* 54544 */ {(13<<2)|2,{79,95,0}}, +/* 54545 */ {(13<<2)|2,{79,95,0}}, +/* 54546 */ {(13<<2)|2,{79,95,0}}, +/* 54547 */ {(13<<2)|2,{79,95,0}}, +/* 54548 */ {(13<<2)|2,{79,95,0}}, +/* 54549 */ {(13<<2)|2,{79,95,0}}, +/* 54550 */ {(13<<2)|2,{79,95,0}}, +/* 54551 */ {(13<<2)|2,{79,95,0}}, +/* 54552 */ {(13<<2)|2,{79,98,0}}, +/* 54553 */ {(13<<2)|2,{79,98,0}}, +/* 54554 */ {(13<<2)|2,{79,98,0}}, +/* 54555 */ {(13<<2)|2,{79,98,0}}, +/* 54556 */ {(13<<2)|2,{79,98,0}}, +/* 54557 */ {(13<<2)|2,{79,98,0}}, +/* 54558 */ {(13<<2)|2,{79,98,0}}, +/* 54559 */ {(13<<2)|2,{79,98,0}}, +/* 54560 */ {(13<<2)|2,{79,100,0}}, +/* 54561 */ {(13<<2)|2,{79,100,0}}, +/* 54562 */ {(13<<2)|2,{79,100,0}}, +/* 54563 */ {(13<<2)|2,{79,100,0}}, +/* 54564 */ {(13<<2)|2,{79,100,0}}, +/* 54565 */ {(13<<2)|2,{79,100,0}}, +/* 54566 */ {(13<<2)|2,{79,100,0}}, +/* 54567 */ {(13<<2)|2,{79,100,0}}, +/* 54568 */ {(13<<2)|2,{79,102,0}}, +/* 54569 */ {(13<<2)|2,{79,102,0}}, +/* 54570 */ {(13<<2)|2,{79,102,0}}, +/* 54571 */ {(13<<2)|2,{79,102,0}}, +/* 54572 */ {(13<<2)|2,{79,102,0}}, +/* 54573 */ {(13<<2)|2,{79,102,0}}, +/* 54574 */ {(13<<2)|2,{79,102,0}}, +/* 54575 */ {(13<<2)|2,{79,102,0}}, +/* 54576 */ {(13<<2)|2,{79,103,0}}, +/* 54577 */ {(13<<2)|2,{79,103,0}}, +/* 54578 */ {(13<<2)|2,{79,103,0}}, +/* 54579 */ {(13<<2)|2,{79,103,0}}, +/* 54580 */ {(13<<2)|2,{79,103,0}}, +/* 54581 */ {(13<<2)|2,{79,103,0}}, +/* 54582 */ {(13<<2)|2,{79,103,0}}, +/* 54583 */ {(13<<2)|2,{79,103,0}}, +/* 54584 */ {(13<<2)|2,{79,104,0}}, +/* 54585 */ {(13<<2)|2,{79,104,0}}, +/* 54586 */ {(13<<2)|2,{79,104,0}}, +/* 54587 */ {(13<<2)|2,{79,104,0}}, +/* 54588 */ {(13<<2)|2,{79,104,0}}, +/* 54589 */ {(13<<2)|2,{79,104,0}}, +/* 54590 */ {(13<<2)|2,{79,104,0}}, +/* 54591 */ {(13<<2)|2,{79,104,0}}, +/* 54592 */ {(13<<2)|2,{79,108,0}}, +/* 54593 */ {(13<<2)|2,{79,108,0}}, +/* 54594 */ {(13<<2)|2,{79,108,0}}, +/* 54595 */ {(13<<2)|2,{79,108,0}}, +/* 54596 */ {(13<<2)|2,{79,108,0}}, +/* 54597 */ {(13<<2)|2,{79,108,0}}, +/* 54598 */ {(13<<2)|2,{79,108,0}}, +/* 54599 */ {(13<<2)|2,{79,108,0}}, +/* 54600 */ {(13<<2)|2,{79,109,0}}, +/* 54601 */ {(13<<2)|2,{79,109,0}}, +/* 54602 */ {(13<<2)|2,{79,109,0}}, +/* 54603 */ {(13<<2)|2,{79,109,0}}, +/* 54604 */ {(13<<2)|2,{79,109,0}}, +/* 54605 */ {(13<<2)|2,{79,109,0}}, +/* 54606 */ {(13<<2)|2,{79,109,0}}, +/* 54607 */ {(13<<2)|2,{79,109,0}}, +/* 54608 */ {(13<<2)|2,{79,110,0}}, +/* 54609 */ {(13<<2)|2,{79,110,0}}, +/* 54610 */ {(13<<2)|2,{79,110,0}}, +/* 54611 */ {(13<<2)|2,{79,110,0}}, +/* 54612 */ {(13<<2)|2,{79,110,0}}, +/* 54613 */ {(13<<2)|2,{79,110,0}}, +/* 54614 */ {(13<<2)|2,{79,110,0}}, +/* 54615 */ {(13<<2)|2,{79,110,0}}, +/* 54616 */ {(13<<2)|2,{79,112,0}}, +/* 54617 */ {(13<<2)|2,{79,112,0}}, +/* 54618 */ {(13<<2)|2,{79,112,0}}, +/* 54619 */ {(13<<2)|2,{79,112,0}}, +/* 54620 */ {(13<<2)|2,{79,112,0}}, +/* 54621 */ {(13<<2)|2,{79,112,0}}, +/* 54622 */ {(13<<2)|2,{79,112,0}}, +/* 54623 */ {(13<<2)|2,{79,112,0}}, +/* 54624 */ {(13<<2)|2,{79,114,0}}, +/* 54625 */ {(13<<2)|2,{79,114,0}}, +/* 54626 */ {(13<<2)|2,{79,114,0}}, +/* 54627 */ {(13<<2)|2,{79,114,0}}, +/* 54628 */ {(13<<2)|2,{79,114,0}}, +/* 54629 */ {(13<<2)|2,{79,114,0}}, +/* 54630 */ {(13<<2)|2,{79,114,0}}, +/* 54631 */ {(13<<2)|2,{79,114,0}}, +/* 54632 */ {(13<<2)|2,{79,117,0}}, +/* 54633 */ {(13<<2)|2,{79,117,0}}, +/* 54634 */ {(13<<2)|2,{79,117,0}}, +/* 54635 */ {(13<<2)|2,{79,117,0}}, +/* 54636 */ {(13<<2)|2,{79,117,0}}, +/* 54637 */ {(13<<2)|2,{79,117,0}}, +/* 54638 */ {(13<<2)|2,{79,117,0}}, +/* 54639 */ {(13<<2)|2,{79,117,0}}, +/* 54640 */ {(14<<2)|2,{79,58,0}}, +/* 54641 */ {(14<<2)|2,{79,58,0}}, +/* 54642 */ {(14<<2)|2,{79,58,0}}, +/* 54643 */ {(14<<2)|2,{79,58,0}}, +/* 54644 */ {(14<<2)|2,{79,66,0}}, +/* 54645 */ {(14<<2)|2,{79,66,0}}, +/* 54646 */ {(14<<2)|2,{79,66,0}}, +/* 54647 */ {(14<<2)|2,{79,66,0}}, +/* 54648 */ {(14<<2)|2,{79,67,0}}, +/* 54649 */ {(14<<2)|2,{79,67,0}}, +/* 54650 */ {(14<<2)|2,{79,67,0}}, +/* 54651 */ {(14<<2)|2,{79,67,0}}, +/* 54652 */ {(14<<2)|2,{79,68,0}}, +/* 54653 */ {(14<<2)|2,{79,68,0}}, +/* 54654 */ {(14<<2)|2,{79,68,0}}, +/* 54655 */ {(14<<2)|2,{79,68,0}}, +/* 54656 */ {(14<<2)|2,{79,69,0}}, +/* 54657 */ {(14<<2)|2,{79,69,0}}, +/* 54658 */ {(14<<2)|2,{79,69,0}}, +/* 54659 */ {(14<<2)|2,{79,69,0}}, +/* 54660 */ {(14<<2)|2,{79,70,0}}, +/* 54661 */ {(14<<2)|2,{79,70,0}}, +/* 54662 */ {(14<<2)|2,{79,70,0}}, +/* 54663 */ {(14<<2)|2,{79,70,0}}, +/* 54664 */ {(14<<2)|2,{79,71,0}}, +/* 54665 */ {(14<<2)|2,{79,71,0}}, +/* 54666 */ {(14<<2)|2,{79,71,0}}, +/* 54667 */ {(14<<2)|2,{79,71,0}}, +/* 54668 */ {(14<<2)|2,{79,72,0}}, +/* 54669 */ {(14<<2)|2,{79,72,0}}, +/* 54670 */ {(14<<2)|2,{79,72,0}}, +/* 54671 */ {(14<<2)|2,{79,72,0}}, +/* 54672 */ {(14<<2)|2,{79,73,0}}, +/* 54673 */ {(14<<2)|2,{79,73,0}}, +/* 54674 */ {(14<<2)|2,{79,73,0}}, +/* 54675 */ {(14<<2)|2,{79,73,0}}, +/* 54676 */ {(14<<2)|2,{79,74,0}}, +/* 54677 */ {(14<<2)|2,{79,74,0}}, +/* 54678 */ {(14<<2)|2,{79,74,0}}, +/* 54679 */ {(14<<2)|2,{79,74,0}}, +/* 54680 */ {(14<<2)|2,{79,75,0}}, +/* 54681 */ {(14<<2)|2,{79,75,0}}, +/* 54682 */ {(14<<2)|2,{79,75,0}}, +/* 54683 */ {(14<<2)|2,{79,75,0}}, +/* 54684 */ {(14<<2)|2,{79,76,0}}, +/* 54685 */ {(14<<2)|2,{79,76,0}}, +/* 54686 */ {(14<<2)|2,{79,76,0}}, +/* 54687 */ {(14<<2)|2,{79,76,0}}, +/* 54688 */ {(14<<2)|2,{79,77,0}}, +/* 54689 */ {(14<<2)|2,{79,77,0}}, +/* 54690 */ {(14<<2)|2,{79,77,0}}, +/* 54691 */ {(14<<2)|2,{79,77,0}}, +/* 54692 */ {(14<<2)|2,{79,78,0}}, +/* 54693 */ {(14<<2)|2,{79,78,0}}, +/* 54694 */ {(14<<2)|2,{79,78,0}}, +/* 54695 */ {(14<<2)|2,{79,78,0}}, +/* 54696 */ {(14<<2)|2,{79,79,0}}, +/* 54697 */ {(14<<2)|2,{79,79,0}}, +/* 54698 */ {(14<<2)|2,{79,79,0}}, +/* 54699 */ {(14<<2)|2,{79,79,0}}, +/* 54700 */ {(14<<2)|2,{79,80,0}}, +/* 54701 */ {(14<<2)|2,{79,80,0}}, +/* 54702 */ {(14<<2)|2,{79,80,0}}, +/* 54703 */ {(14<<2)|2,{79,80,0}}, +/* 54704 */ {(14<<2)|2,{79,81,0}}, +/* 54705 */ {(14<<2)|2,{79,81,0}}, +/* 54706 */ {(14<<2)|2,{79,81,0}}, +/* 54707 */ {(14<<2)|2,{79,81,0}}, +/* 54708 */ {(14<<2)|2,{79,82,0}}, +/* 54709 */ {(14<<2)|2,{79,82,0}}, +/* 54710 */ {(14<<2)|2,{79,82,0}}, +/* 54711 */ {(14<<2)|2,{79,82,0}}, +/* 54712 */ {(14<<2)|2,{79,83,0}}, +/* 54713 */ {(14<<2)|2,{79,83,0}}, +/* 54714 */ {(14<<2)|2,{79,83,0}}, +/* 54715 */ {(14<<2)|2,{79,83,0}}, +/* 54716 */ {(14<<2)|2,{79,84,0}}, +/* 54717 */ {(14<<2)|2,{79,84,0}}, +/* 54718 */ {(14<<2)|2,{79,84,0}}, +/* 54719 */ {(14<<2)|2,{79,84,0}}, +/* 54720 */ {(14<<2)|2,{79,85,0}}, +/* 54721 */ {(14<<2)|2,{79,85,0}}, +/* 54722 */ {(14<<2)|2,{79,85,0}}, +/* 54723 */ {(14<<2)|2,{79,85,0}}, +/* 54724 */ {(14<<2)|2,{79,86,0}}, +/* 54725 */ {(14<<2)|2,{79,86,0}}, +/* 54726 */ {(14<<2)|2,{79,86,0}}, +/* 54727 */ {(14<<2)|2,{79,86,0}}, +/* 54728 */ {(14<<2)|2,{79,87,0}}, +/* 54729 */ {(14<<2)|2,{79,87,0}}, +/* 54730 */ {(14<<2)|2,{79,87,0}}, +/* 54731 */ {(14<<2)|2,{79,87,0}}, +/* 54732 */ {(14<<2)|2,{79,89,0}}, +/* 54733 */ {(14<<2)|2,{79,89,0}}, +/* 54734 */ {(14<<2)|2,{79,89,0}}, +/* 54735 */ {(14<<2)|2,{79,89,0}}, +/* 54736 */ {(14<<2)|2,{79,106,0}}, +/* 54737 */ {(14<<2)|2,{79,106,0}}, +/* 54738 */ {(14<<2)|2,{79,106,0}}, +/* 54739 */ {(14<<2)|2,{79,106,0}}, +/* 54740 */ {(14<<2)|2,{79,107,0}}, +/* 54741 */ {(14<<2)|2,{79,107,0}}, +/* 54742 */ {(14<<2)|2,{79,107,0}}, +/* 54743 */ {(14<<2)|2,{79,107,0}}, +/* 54744 */ {(14<<2)|2,{79,113,0}}, +/* 54745 */ {(14<<2)|2,{79,113,0}}, +/* 54746 */ {(14<<2)|2,{79,113,0}}, +/* 54747 */ {(14<<2)|2,{79,113,0}}, +/* 54748 */ {(14<<2)|2,{79,118,0}}, +/* 54749 */ {(14<<2)|2,{79,118,0}}, +/* 54750 */ {(14<<2)|2,{79,118,0}}, +/* 54751 */ {(14<<2)|2,{79,118,0}}, +/* 54752 */ {(14<<2)|2,{79,119,0}}, +/* 54753 */ {(14<<2)|2,{79,119,0}}, +/* 54754 */ {(14<<2)|2,{79,119,0}}, +/* 54755 */ {(14<<2)|2,{79,119,0}}, +/* 54756 */ {(14<<2)|2,{79,120,0}}, +/* 54757 */ {(14<<2)|2,{79,120,0}}, +/* 54758 */ {(14<<2)|2,{79,120,0}}, +/* 54759 */ {(14<<2)|2,{79,120,0}}, +/* 54760 */ {(14<<2)|2,{79,121,0}}, +/* 54761 */ {(14<<2)|2,{79,121,0}}, +/* 54762 */ {(14<<2)|2,{79,121,0}}, +/* 54763 */ {(14<<2)|2,{79,121,0}}, +/* 54764 */ {(14<<2)|2,{79,122,0}}, +/* 54765 */ {(14<<2)|2,{79,122,0}}, +/* 54766 */ {(14<<2)|2,{79,122,0}}, +/* 54767 */ {(14<<2)|2,{79,122,0}}, +/* 54768 */ {(15<<2)|2,{79,38,0}}, +/* 54769 */ {(15<<2)|2,{79,38,0}}, +/* 54770 */ {(15<<2)|2,{79,42,0}}, +/* 54771 */ {(15<<2)|2,{79,42,0}}, +/* 54772 */ {(15<<2)|2,{79,44,0}}, +/* 54773 */ {(15<<2)|2,{79,44,0}}, +/* 54774 */ {(15<<2)|2,{79,59,0}}, +/* 54775 */ {(15<<2)|2,{79,59,0}}, +/* 54776 */ {(15<<2)|2,{79,88,0}}, +/* 54777 */ {(15<<2)|2,{79,88,0}}, +/* 54778 */ {(15<<2)|2,{79,90,0}}, +/* 54779 */ {(15<<2)|2,{79,90,0}}, +/* 54780 */ {(7<<2)|1,{79,0,0}}, +/* 54781 */ {(7<<2)|1,{79,0,0}}, +/* 54782 */ {(7<<2)|1,{79,0,0}}, +/* 54783 */ {(7<<2)|1,{79,0,0}}, +/* 54784 */ {(12<<2)|2,{80,48,0}}, +/* 54785 */ {(12<<2)|2,{80,48,0}}, +/* 54786 */ {(12<<2)|2,{80,48,0}}, +/* 54787 */ {(12<<2)|2,{80,48,0}}, +/* 54788 */ {(12<<2)|2,{80,48,0}}, +/* 54789 */ {(12<<2)|2,{80,48,0}}, +/* 54790 */ {(12<<2)|2,{80,48,0}}, +/* 54791 */ {(12<<2)|2,{80,48,0}}, +/* 54792 */ {(12<<2)|2,{80,48,0}}, +/* 54793 */ {(12<<2)|2,{80,48,0}}, +/* 54794 */ {(12<<2)|2,{80,48,0}}, +/* 54795 */ {(12<<2)|2,{80,48,0}}, +/* 54796 */ {(12<<2)|2,{80,48,0}}, +/* 54797 */ {(12<<2)|2,{80,48,0}}, +/* 54798 */ {(12<<2)|2,{80,48,0}}, +/* 54799 */ {(12<<2)|2,{80,48,0}}, +/* 54800 */ {(12<<2)|2,{80,49,0}}, +/* 54801 */ {(12<<2)|2,{80,49,0}}, +/* 54802 */ {(12<<2)|2,{80,49,0}}, +/* 54803 */ {(12<<2)|2,{80,49,0}}, +/* 54804 */ {(12<<2)|2,{80,49,0}}, +/* 54805 */ {(12<<2)|2,{80,49,0}}, +/* 54806 */ {(12<<2)|2,{80,49,0}}, +/* 54807 */ {(12<<2)|2,{80,49,0}}, +/* 54808 */ {(12<<2)|2,{80,49,0}}, +/* 54809 */ {(12<<2)|2,{80,49,0}}, +/* 54810 */ {(12<<2)|2,{80,49,0}}, +/* 54811 */ {(12<<2)|2,{80,49,0}}, +/* 54812 */ {(12<<2)|2,{80,49,0}}, +/* 54813 */ {(12<<2)|2,{80,49,0}}, +/* 54814 */ {(12<<2)|2,{80,49,0}}, +/* 54815 */ {(12<<2)|2,{80,49,0}}, +/* 54816 */ {(12<<2)|2,{80,50,0}}, +/* 54817 */ {(12<<2)|2,{80,50,0}}, +/* 54818 */ {(12<<2)|2,{80,50,0}}, +/* 54819 */ {(12<<2)|2,{80,50,0}}, +/* 54820 */ {(12<<2)|2,{80,50,0}}, +/* 54821 */ {(12<<2)|2,{80,50,0}}, +/* 54822 */ {(12<<2)|2,{80,50,0}}, +/* 54823 */ {(12<<2)|2,{80,50,0}}, +/* 54824 */ {(12<<2)|2,{80,50,0}}, +/* 54825 */ {(12<<2)|2,{80,50,0}}, +/* 54826 */ {(12<<2)|2,{80,50,0}}, +/* 54827 */ {(12<<2)|2,{80,50,0}}, +/* 54828 */ {(12<<2)|2,{80,50,0}}, +/* 54829 */ {(12<<2)|2,{80,50,0}}, +/* 54830 */ {(12<<2)|2,{80,50,0}}, +/* 54831 */ {(12<<2)|2,{80,50,0}}, +/* 54832 */ {(12<<2)|2,{80,97,0}}, +/* 54833 */ {(12<<2)|2,{80,97,0}}, +/* 54834 */ {(12<<2)|2,{80,97,0}}, +/* 54835 */ {(12<<2)|2,{80,97,0}}, +/* 54836 */ {(12<<2)|2,{80,97,0}}, +/* 54837 */ {(12<<2)|2,{80,97,0}}, +/* 54838 */ {(12<<2)|2,{80,97,0}}, +/* 54839 */ {(12<<2)|2,{80,97,0}}, +/* 54840 */ {(12<<2)|2,{80,97,0}}, +/* 54841 */ {(12<<2)|2,{80,97,0}}, +/* 54842 */ {(12<<2)|2,{80,97,0}}, +/* 54843 */ {(12<<2)|2,{80,97,0}}, +/* 54844 */ {(12<<2)|2,{80,97,0}}, +/* 54845 */ {(12<<2)|2,{80,97,0}}, +/* 54846 */ {(12<<2)|2,{80,97,0}}, +/* 54847 */ {(12<<2)|2,{80,97,0}}, +/* 54848 */ {(12<<2)|2,{80,99,0}}, +/* 54849 */ {(12<<2)|2,{80,99,0}}, +/* 54850 */ {(12<<2)|2,{80,99,0}}, +/* 54851 */ {(12<<2)|2,{80,99,0}}, +/* 54852 */ {(12<<2)|2,{80,99,0}}, +/* 54853 */ {(12<<2)|2,{80,99,0}}, +/* 54854 */ {(12<<2)|2,{80,99,0}}, +/* 54855 */ {(12<<2)|2,{80,99,0}}, +/* 54856 */ {(12<<2)|2,{80,99,0}}, +/* 54857 */ {(12<<2)|2,{80,99,0}}, +/* 54858 */ {(12<<2)|2,{80,99,0}}, +/* 54859 */ {(12<<2)|2,{80,99,0}}, +/* 54860 */ {(12<<2)|2,{80,99,0}}, +/* 54861 */ {(12<<2)|2,{80,99,0}}, +/* 54862 */ {(12<<2)|2,{80,99,0}}, +/* 54863 */ {(12<<2)|2,{80,99,0}}, +/* 54864 */ {(12<<2)|2,{80,101,0}}, +/* 54865 */ {(12<<2)|2,{80,101,0}}, +/* 54866 */ {(12<<2)|2,{80,101,0}}, +/* 54867 */ {(12<<2)|2,{80,101,0}}, +/* 54868 */ {(12<<2)|2,{80,101,0}}, +/* 54869 */ {(12<<2)|2,{80,101,0}}, +/* 54870 */ {(12<<2)|2,{80,101,0}}, +/* 54871 */ {(12<<2)|2,{80,101,0}}, +/* 54872 */ {(12<<2)|2,{80,101,0}}, +/* 54873 */ {(12<<2)|2,{80,101,0}}, +/* 54874 */ {(12<<2)|2,{80,101,0}}, +/* 54875 */ {(12<<2)|2,{80,101,0}}, +/* 54876 */ {(12<<2)|2,{80,101,0}}, +/* 54877 */ {(12<<2)|2,{80,101,0}}, +/* 54878 */ {(12<<2)|2,{80,101,0}}, +/* 54879 */ {(12<<2)|2,{80,101,0}}, +/* 54880 */ {(12<<2)|2,{80,105,0}}, +/* 54881 */ {(12<<2)|2,{80,105,0}}, +/* 54882 */ {(12<<2)|2,{80,105,0}}, +/* 54883 */ {(12<<2)|2,{80,105,0}}, +/* 54884 */ {(12<<2)|2,{80,105,0}}, +/* 54885 */ {(12<<2)|2,{80,105,0}}, +/* 54886 */ {(12<<2)|2,{80,105,0}}, +/* 54887 */ {(12<<2)|2,{80,105,0}}, +/* 54888 */ {(12<<2)|2,{80,105,0}}, +/* 54889 */ {(12<<2)|2,{80,105,0}}, +/* 54890 */ {(12<<2)|2,{80,105,0}}, +/* 54891 */ {(12<<2)|2,{80,105,0}}, +/* 54892 */ {(12<<2)|2,{80,105,0}}, +/* 54893 */ {(12<<2)|2,{80,105,0}}, +/* 54894 */ {(12<<2)|2,{80,105,0}}, +/* 54895 */ {(12<<2)|2,{80,105,0}}, +/* 54896 */ {(12<<2)|2,{80,111,0}}, +/* 54897 */ {(12<<2)|2,{80,111,0}}, +/* 54898 */ {(12<<2)|2,{80,111,0}}, +/* 54899 */ {(12<<2)|2,{80,111,0}}, +/* 54900 */ {(12<<2)|2,{80,111,0}}, +/* 54901 */ {(12<<2)|2,{80,111,0}}, +/* 54902 */ {(12<<2)|2,{80,111,0}}, +/* 54903 */ {(12<<2)|2,{80,111,0}}, +/* 54904 */ {(12<<2)|2,{80,111,0}}, +/* 54905 */ {(12<<2)|2,{80,111,0}}, +/* 54906 */ {(12<<2)|2,{80,111,0}}, +/* 54907 */ {(12<<2)|2,{80,111,0}}, +/* 54908 */ {(12<<2)|2,{80,111,0}}, +/* 54909 */ {(12<<2)|2,{80,111,0}}, +/* 54910 */ {(12<<2)|2,{80,111,0}}, +/* 54911 */ {(12<<2)|2,{80,111,0}}, +/* 54912 */ {(12<<2)|2,{80,115,0}}, +/* 54913 */ {(12<<2)|2,{80,115,0}}, +/* 54914 */ {(12<<2)|2,{80,115,0}}, +/* 54915 */ {(12<<2)|2,{80,115,0}}, +/* 54916 */ {(12<<2)|2,{80,115,0}}, +/* 54917 */ {(12<<2)|2,{80,115,0}}, +/* 54918 */ {(12<<2)|2,{80,115,0}}, +/* 54919 */ {(12<<2)|2,{80,115,0}}, +/* 54920 */ {(12<<2)|2,{80,115,0}}, +/* 54921 */ {(12<<2)|2,{80,115,0}}, +/* 54922 */ {(12<<2)|2,{80,115,0}}, +/* 54923 */ {(12<<2)|2,{80,115,0}}, +/* 54924 */ {(12<<2)|2,{80,115,0}}, +/* 54925 */ {(12<<2)|2,{80,115,0}}, +/* 54926 */ {(12<<2)|2,{80,115,0}}, +/* 54927 */ {(12<<2)|2,{80,115,0}}, +/* 54928 */ {(12<<2)|2,{80,116,0}}, +/* 54929 */ {(12<<2)|2,{80,116,0}}, +/* 54930 */ {(12<<2)|2,{80,116,0}}, +/* 54931 */ {(12<<2)|2,{80,116,0}}, +/* 54932 */ {(12<<2)|2,{80,116,0}}, +/* 54933 */ {(12<<2)|2,{80,116,0}}, +/* 54934 */ {(12<<2)|2,{80,116,0}}, +/* 54935 */ {(12<<2)|2,{80,116,0}}, +/* 54936 */ {(12<<2)|2,{80,116,0}}, +/* 54937 */ {(12<<2)|2,{80,116,0}}, +/* 54938 */ {(12<<2)|2,{80,116,0}}, +/* 54939 */ {(12<<2)|2,{80,116,0}}, +/* 54940 */ {(12<<2)|2,{80,116,0}}, +/* 54941 */ {(12<<2)|2,{80,116,0}}, +/* 54942 */ {(12<<2)|2,{80,116,0}}, +/* 54943 */ {(12<<2)|2,{80,116,0}}, +/* 54944 */ {(13<<2)|2,{80,32,0}}, +/* 54945 */ {(13<<2)|2,{80,32,0}}, +/* 54946 */ {(13<<2)|2,{80,32,0}}, +/* 54947 */ {(13<<2)|2,{80,32,0}}, +/* 54948 */ {(13<<2)|2,{80,32,0}}, +/* 54949 */ {(13<<2)|2,{80,32,0}}, +/* 54950 */ {(13<<2)|2,{80,32,0}}, +/* 54951 */ {(13<<2)|2,{80,32,0}}, +/* 54952 */ {(13<<2)|2,{80,37,0}}, +/* 54953 */ {(13<<2)|2,{80,37,0}}, +/* 54954 */ {(13<<2)|2,{80,37,0}}, +/* 54955 */ {(13<<2)|2,{80,37,0}}, +/* 54956 */ {(13<<2)|2,{80,37,0}}, +/* 54957 */ {(13<<2)|2,{80,37,0}}, +/* 54958 */ {(13<<2)|2,{80,37,0}}, +/* 54959 */ {(13<<2)|2,{80,37,0}}, +/* 54960 */ {(13<<2)|2,{80,45,0}}, +/* 54961 */ {(13<<2)|2,{80,45,0}}, +/* 54962 */ {(13<<2)|2,{80,45,0}}, +/* 54963 */ {(13<<2)|2,{80,45,0}}, +/* 54964 */ {(13<<2)|2,{80,45,0}}, +/* 54965 */ {(13<<2)|2,{80,45,0}}, +/* 54966 */ {(13<<2)|2,{80,45,0}}, +/* 54967 */ {(13<<2)|2,{80,45,0}}, +/* 54968 */ {(13<<2)|2,{80,46,0}}, +/* 54969 */ {(13<<2)|2,{80,46,0}}, +/* 54970 */ {(13<<2)|2,{80,46,0}}, +/* 54971 */ {(13<<2)|2,{80,46,0}}, +/* 54972 */ {(13<<2)|2,{80,46,0}}, +/* 54973 */ {(13<<2)|2,{80,46,0}}, +/* 54974 */ {(13<<2)|2,{80,46,0}}, +/* 54975 */ {(13<<2)|2,{80,46,0}}, +/* 54976 */ {(13<<2)|2,{80,47,0}}, +/* 54977 */ {(13<<2)|2,{80,47,0}}, +/* 54978 */ {(13<<2)|2,{80,47,0}}, +/* 54979 */ {(13<<2)|2,{80,47,0}}, +/* 54980 */ {(13<<2)|2,{80,47,0}}, +/* 54981 */ {(13<<2)|2,{80,47,0}}, +/* 54982 */ {(13<<2)|2,{80,47,0}}, +/* 54983 */ {(13<<2)|2,{80,47,0}}, +/* 54984 */ {(13<<2)|2,{80,51,0}}, +/* 54985 */ {(13<<2)|2,{80,51,0}}, +/* 54986 */ {(13<<2)|2,{80,51,0}}, +/* 54987 */ {(13<<2)|2,{80,51,0}}, +/* 54988 */ {(13<<2)|2,{80,51,0}}, +/* 54989 */ {(13<<2)|2,{80,51,0}}, +/* 54990 */ {(13<<2)|2,{80,51,0}}, +/* 54991 */ {(13<<2)|2,{80,51,0}}, +/* 54992 */ {(13<<2)|2,{80,52,0}}, +/* 54993 */ {(13<<2)|2,{80,52,0}}, +/* 54994 */ {(13<<2)|2,{80,52,0}}, +/* 54995 */ {(13<<2)|2,{80,52,0}}, +/* 54996 */ {(13<<2)|2,{80,52,0}}, +/* 54997 */ {(13<<2)|2,{80,52,0}}, +/* 54998 */ {(13<<2)|2,{80,52,0}}, +/* 54999 */ {(13<<2)|2,{80,52,0}}, +/* 55000 */ {(13<<2)|2,{80,53,0}}, +/* 55001 */ {(13<<2)|2,{80,53,0}}, +/* 55002 */ {(13<<2)|2,{80,53,0}}, +/* 55003 */ {(13<<2)|2,{80,53,0}}, +/* 55004 */ {(13<<2)|2,{80,53,0}}, +/* 55005 */ {(13<<2)|2,{80,53,0}}, +/* 55006 */ {(13<<2)|2,{80,53,0}}, +/* 55007 */ {(13<<2)|2,{80,53,0}}, +/* 55008 */ {(13<<2)|2,{80,54,0}}, +/* 55009 */ {(13<<2)|2,{80,54,0}}, +/* 55010 */ {(13<<2)|2,{80,54,0}}, +/* 55011 */ {(13<<2)|2,{80,54,0}}, +/* 55012 */ {(13<<2)|2,{80,54,0}}, +/* 55013 */ {(13<<2)|2,{80,54,0}}, +/* 55014 */ {(13<<2)|2,{80,54,0}}, +/* 55015 */ {(13<<2)|2,{80,54,0}}, +/* 55016 */ {(13<<2)|2,{80,55,0}}, +/* 55017 */ {(13<<2)|2,{80,55,0}}, +/* 55018 */ {(13<<2)|2,{80,55,0}}, +/* 55019 */ {(13<<2)|2,{80,55,0}}, +/* 55020 */ {(13<<2)|2,{80,55,0}}, +/* 55021 */ {(13<<2)|2,{80,55,0}}, +/* 55022 */ {(13<<2)|2,{80,55,0}}, +/* 55023 */ {(13<<2)|2,{80,55,0}}, +/* 55024 */ {(13<<2)|2,{80,56,0}}, +/* 55025 */ {(13<<2)|2,{80,56,0}}, +/* 55026 */ {(13<<2)|2,{80,56,0}}, +/* 55027 */ {(13<<2)|2,{80,56,0}}, +/* 55028 */ {(13<<2)|2,{80,56,0}}, +/* 55029 */ {(13<<2)|2,{80,56,0}}, +/* 55030 */ {(13<<2)|2,{80,56,0}}, +/* 55031 */ {(13<<2)|2,{80,56,0}}, +/* 55032 */ {(13<<2)|2,{80,57,0}}, +/* 55033 */ {(13<<2)|2,{80,57,0}}, +/* 55034 */ {(13<<2)|2,{80,57,0}}, +/* 55035 */ {(13<<2)|2,{80,57,0}}, +/* 55036 */ {(13<<2)|2,{80,57,0}}, +/* 55037 */ {(13<<2)|2,{80,57,0}}, +/* 55038 */ {(13<<2)|2,{80,57,0}}, +/* 55039 */ {(13<<2)|2,{80,57,0}}, +/* 55040 */ {(13<<2)|2,{80,61,0}}, +/* 55041 */ {(13<<2)|2,{80,61,0}}, +/* 55042 */ {(13<<2)|2,{80,61,0}}, +/* 55043 */ {(13<<2)|2,{80,61,0}}, +/* 55044 */ {(13<<2)|2,{80,61,0}}, +/* 55045 */ {(13<<2)|2,{80,61,0}}, +/* 55046 */ {(13<<2)|2,{80,61,0}}, +/* 55047 */ {(13<<2)|2,{80,61,0}}, +/* 55048 */ {(13<<2)|2,{80,65,0}}, +/* 55049 */ {(13<<2)|2,{80,65,0}}, +/* 55050 */ {(13<<2)|2,{80,65,0}}, +/* 55051 */ {(13<<2)|2,{80,65,0}}, +/* 55052 */ {(13<<2)|2,{80,65,0}}, +/* 55053 */ {(13<<2)|2,{80,65,0}}, +/* 55054 */ {(13<<2)|2,{80,65,0}}, +/* 55055 */ {(13<<2)|2,{80,65,0}}, +/* 55056 */ {(13<<2)|2,{80,95,0}}, +/* 55057 */ {(13<<2)|2,{80,95,0}}, +/* 55058 */ {(13<<2)|2,{80,95,0}}, +/* 55059 */ {(13<<2)|2,{80,95,0}}, +/* 55060 */ {(13<<2)|2,{80,95,0}}, +/* 55061 */ {(13<<2)|2,{80,95,0}}, +/* 55062 */ {(13<<2)|2,{80,95,0}}, +/* 55063 */ {(13<<2)|2,{80,95,0}}, +/* 55064 */ {(13<<2)|2,{80,98,0}}, +/* 55065 */ {(13<<2)|2,{80,98,0}}, +/* 55066 */ {(13<<2)|2,{80,98,0}}, +/* 55067 */ {(13<<2)|2,{80,98,0}}, +/* 55068 */ {(13<<2)|2,{80,98,0}}, +/* 55069 */ {(13<<2)|2,{80,98,0}}, +/* 55070 */ {(13<<2)|2,{80,98,0}}, +/* 55071 */ {(13<<2)|2,{80,98,0}}, +/* 55072 */ {(13<<2)|2,{80,100,0}}, +/* 55073 */ {(13<<2)|2,{80,100,0}}, +/* 55074 */ {(13<<2)|2,{80,100,0}}, +/* 55075 */ {(13<<2)|2,{80,100,0}}, +/* 55076 */ {(13<<2)|2,{80,100,0}}, +/* 55077 */ {(13<<2)|2,{80,100,0}}, +/* 55078 */ {(13<<2)|2,{80,100,0}}, +/* 55079 */ {(13<<2)|2,{80,100,0}}, +/* 55080 */ {(13<<2)|2,{80,102,0}}, +/* 55081 */ {(13<<2)|2,{80,102,0}}, +/* 55082 */ {(13<<2)|2,{80,102,0}}, +/* 55083 */ {(13<<2)|2,{80,102,0}}, +/* 55084 */ {(13<<2)|2,{80,102,0}}, +/* 55085 */ {(13<<2)|2,{80,102,0}}, +/* 55086 */ {(13<<2)|2,{80,102,0}}, +/* 55087 */ {(13<<2)|2,{80,102,0}}, +/* 55088 */ {(13<<2)|2,{80,103,0}}, +/* 55089 */ {(13<<2)|2,{80,103,0}}, +/* 55090 */ {(13<<2)|2,{80,103,0}}, +/* 55091 */ {(13<<2)|2,{80,103,0}}, +/* 55092 */ {(13<<2)|2,{80,103,0}}, +/* 55093 */ {(13<<2)|2,{80,103,0}}, +/* 55094 */ {(13<<2)|2,{80,103,0}}, +/* 55095 */ {(13<<2)|2,{80,103,0}}, +/* 55096 */ {(13<<2)|2,{80,104,0}}, +/* 55097 */ {(13<<2)|2,{80,104,0}}, +/* 55098 */ {(13<<2)|2,{80,104,0}}, +/* 55099 */ {(13<<2)|2,{80,104,0}}, +/* 55100 */ {(13<<2)|2,{80,104,0}}, +/* 55101 */ {(13<<2)|2,{80,104,0}}, +/* 55102 */ {(13<<2)|2,{80,104,0}}, +/* 55103 */ {(13<<2)|2,{80,104,0}}, +/* 55104 */ {(13<<2)|2,{80,108,0}}, +/* 55105 */ {(13<<2)|2,{80,108,0}}, +/* 55106 */ {(13<<2)|2,{80,108,0}}, +/* 55107 */ {(13<<2)|2,{80,108,0}}, +/* 55108 */ {(13<<2)|2,{80,108,0}}, +/* 55109 */ {(13<<2)|2,{80,108,0}}, +/* 55110 */ {(13<<2)|2,{80,108,0}}, +/* 55111 */ {(13<<2)|2,{80,108,0}}, +/* 55112 */ {(13<<2)|2,{80,109,0}}, +/* 55113 */ {(13<<2)|2,{80,109,0}}, +/* 55114 */ {(13<<2)|2,{80,109,0}}, +/* 55115 */ {(13<<2)|2,{80,109,0}}, +/* 55116 */ {(13<<2)|2,{80,109,0}}, +/* 55117 */ {(13<<2)|2,{80,109,0}}, +/* 55118 */ {(13<<2)|2,{80,109,0}}, +/* 55119 */ {(13<<2)|2,{80,109,0}}, +/* 55120 */ {(13<<2)|2,{80,110,0}}, +/* 55121 */ {(13<<2)|2,{80,110,0}}, +/* 55122 */ {(13<<2)|2,{80,110,0}}, +/* 55123 */ {(13<<2)|2,{80,110,0}}, +/* 55124 */ {(13<<2)|2,{80,110,0}}, +/* 55125 */ {(13<<2)|2,{80,110,0}}, +/* 55126 */ {(13<<2)|2,{80,110,0}}, +/* 55127 */ {(13<<2)|2,{80,110,0}}, +/* 55128 */ {(13<<2)|2,{80,112,0}}, +/* 55129 */ {(13<<2)|2,{80,112,0}}, +/* 55130 */ {(13<<2)|2,{80,112,0}}, +/* 55131 */ {(13<<2)|2,{80,112,0}}, +/* 55132 */ {(13<<2)|2,{80,112,0}}, +/* 55133 */ {(13<<2)|2,{80,112,0}}, +/* 55134 */ {(13<<2)|2,{80,112,0}}, +/* 55135 */ {(13<<2)|2,{80,112,0}}, +/* 55136 */ {(13<<2)|2,{80,114,0}}, +/* 55137 */ {(13<<2)|2,{80,114,0}}, +/* 55138 */ {(13<<2)|2,{80,114,0}}, +/* 55139 */ {(13<<2)|2,{80,114,0}}, +/* 55140 */ {(13<<2)|2,{80,114,0}}, +/* 55141 */ {(13<<2)|2,{80,114,0}}, +/* 55142 */ {(13<<2)|2,{80,114,0}}, +/* 55143 */ {(13<<2)|2,{80,114,0}}, +/* 55144 */ {(13<<2)|2,{80,117,0}}, +/* 55145 */ {(13<<2)|2,{80,117,0}}, +/* 55146 */ {(13<<2)|2,{80,117,0}}, +/* 55147 */ {(13<<2)|2,{80,117,0}}, +/* 55148 */ {(13<<2)|2,{80,117,0}}, +/* 55149 */ {(13<<2)|2,{80,117,0}}, +/* 55150 */ {(13<<2)|2,{80,117,0}}, +/* 55151 */ {(13<<2)|2,{80,117,0}}, +/* 55152 */ {(14<<2)|2,{80,58,0}}, +/* 55153 */ {(14<<2)|2,{80,58,0}}, +/* 55154 */ {(14<<2)|2,{80,58,0}}, +/* 55155 */ {(14<<2)|2,{80,58,0}}, +/* 55156 */ {(14<<2)|2,{80,66,0}}, +/* 55157 */ {(14<<2)|2,{80,66,0}}, +/* 55158 */ {(14<<2)|2,{80,66,0}}, +/* 55159 */ {(14<<2)|2,{80,66,0}}, +/* 55160 */ {(14<<2)|2,{80,67,0}}, +/* 55161 */ {(14<<2)|2,{80,67,0}}, +/* 55162 */ {(14<<2)|2,{80,67,0}}, +/* 55163 */ {(14<<2)|2,{80,67,0}}, +/* 55164 */ {(14<<2)|2,{80,68,0}}, +/* 55165 */ {(14<<2)|2,{80,68,0}}, +/* 55166 */ {(14<<2)|2,{80,68,0}}, +/* 55167 */ {(14<<2)|2,{80,68,0}}, +/* 55168 */ {(14<<2)|2,{80,69,0}}, +/* 55169 */ {(14<<2)|2,{80,69,0}}, +/* 55170 */ {(14<<2)|2,{80,69,0}}, +/* 55171 */ {(14<<2)|2,{80,69,0}}, +/* 55172 */ {(14<<2)|2,{80,70,0}}, +/* 55173 */ {(14<<2)|2,{80,70,0}}, +/* 55174 */ {(14<<2)|2,{80,70,0}}, +/* 55175 */ {(14<<2)|2,{80,70,0}}, +/* 55176 */ {(14<<2)|2,{80,71,0}}, +/* 55177 */ {(14<<2)|2,{80,71,0}}, +/* 55178 */ {(14<<2)|2,{80,71,0}}, +/* 55179 */ {(14<<2)|2,{80,71,0}}, +/* 55180 */ {(14<<2)|2,{80,72,0}}, +/* 55181 */ {(14<<2)|2,{80,72,0}}, +/* 55182 */ {(14<<2)|2,{80,72,0}}, +/* 55183 */ {(14<<2)|2,{80,72,0}}, +/* 55184 */ {(14<<2)|2,{80,73,0}}, +/* 55185 */ {(14<<2)|2,{80,73,0}}, +/* 55186 */ {(14<<2)|2,{80,73,0}}, +/* 55187 */ {(14<<2)|2,{80,73,0}}, +/* 55188 */ {(14<<2)|2,{80,74,0}}, +/* 55189 */ {(14<<2)|2,{80,74,0}}, +/* 55190 */ {(14<<2)|2,{80,74,0}}, +/* 55191 */ {(14<<2)|2,{80,74,0}}, +/* 55192 */ {(14<<2)|2,{80,75,0}}, +/* 55193 */ {(14<<2)|2,{80,75,0}}, +/* 55194 */ {(14<<2)|2,{80,75,0}}, +/* 55195 */ {(14<<2)|2,{80,75,0}}, +/* 55196 */ {(14<<2)|2,{80,76,0}}, +/* 55197 */ {(14<<2)|2,{80,76,0}}, +/* 55198 */ {(14<<2)|2,{80,76,0}}, +/* 55199 */ {(14<<2)|2,{80,76,0}}, +/* 55200 */ {(14<<2)|2,{80,77,0}}, +/* 55201 */ {(14<<2)|2,{80,77,0}}, +/* 55202 */ {(14<<2)|2,{80,77,0}}, +/* 55203 */ {(14<<2)|2,{80,77,0}}, +/* 55204 */ {(14<<2)|2,{80,78,0}}, +/* 55205 */ {(14<<2)|2,{80,78,0}}, +/* 55206 */ {(14<<2)|2,{80,78,0}}, +/* 55207 */ {(14<<2)|2,{80,78,0}}, +/* 55208 */ {(14<<2)|2,{80,79,0}}, +/* 55209 */ {(14<<2)|2,{80,79,0}}, +/* 55210 */ {(14<<2)|2,{80,79,0}}, +/* 55211 */ {(14<<2)|2,{80,79,0}}, +/* 55212 */ {(14<<2)|2,{80,80,0}}, +/* 55213 */ {(14<<2)|2,{80,80,0}}, +/* 55214 */ {(14<<2)|2,{80,80,0}}, +/* 55215 */ {(14<<2)|2,{80,80,0}}, +/* 55216 */ {(14<<2)|2,{80,81,0}}, +/* 55217 */ {(14<<2)|2,{80,81,0}}, +/* 55218 */ {(14<<2)|2,{80,81,0}}, +/* 55219 */ {(14<<2)|2,{80,81,0}}, +/* 55220 */ {(14<<2)|2,{80,82,0}}, +/* 55221 */ {(14<<2)|2,{80,82,0}}, +/* 55222 */ {(14<<2)|2,{80,82,0}}, +/* 55223 */ {(14<<2)|2,{80,82,0}}, +/* 55224 */ {(14<<2)|2,{80,83,0}}, +/* 55225 */ {(14<<2)|2,{80,83,0}}, +/* 55226 */ {(14<<2)|2,{80,83,0}}, +/* 55227 */ {(14<<2)|2,{80,83,0}}, +/* 55228 */ {(14<<2)|2,{80,84,0}}, +/* 55229 */ {(14<<2)|2,{80,84,0}}, +/* 55230 */ {(14<<2)|2,{80,84,0}}, +/* 55231 */ {(14<<2)|2,{80,84,0}}, +/* 55232 */ {(14<<2)|2,{80,85,0}}, +/* 55233 */ {(14<<2)|2,{80,85,0}}, +/* 55234 */ {(14<<2)|2,{80,85,0}}, +/* 55235 */ {(14<<2)|2,{80,85,0}}, +/* 55236 */ {(14<<2)|2,{80,86,0}}, +/* 55237 */ {(14<<2)|2,{80,86,0}}, +/* 55238 */ {(14<<2)|2,{80,86,0}}, +/* 55239 */ {(14<<2)|2,{80,86,0}}, +/* 55240 */ {(14<<2)|2,{80,87,0}}, +/* 55241 */ {(14<<2)|2,{80,87,0}}, +/* 55242 */ {(14<<2)|2,{80,87,0}}, +/* 55243 */ {(14<<2)|2,{80,87,0}}, +/* 55244 */ {(14<<2)|2,{80,89,0}}, +/* 55245 */ {(14<<2)|2,{80,89,0}}, +/* 55246 */ {(14<<2)|2,{80,89,0}}, +/* 55247 */ {(14<<2)|2,{80,89,0}}, +/* 55248 */ {(14<<2)|2,{80,106,0}}, +/* 55249 */ {(14<<2)|2,{80,106,0}}, +/* 55250 */ {(14<<2)|2,{80,106,0}}, +/* 55251 */ {(14<<2)|2,{80,106,0}}, +/* 55252 */ {(14<<2)|2,{80,107,0}}, +/* 55253 */ {(14<<2)|2,{80,107,0}}, +/* 55254 */ {(14<<2)|2,{80,107,0}}, +/* 55255 */ {(14<<2)|2,{80,107,0}}, +/* 55256 */ {(14<<2)|2,{80,113,0}}, +/* 55257 */ {(14<<2)|2,{80,113,0}}, +/* 55258 */ {(14<<2)|2,{80,113,0}}, +/* 55259 */ {(14<<2)|2,{80,113,0}}, +/* 55260 */ {(14<<2)|2,{80,118,0}}, +/* 55261 */ {(14<<2)|2,{80,118,0}}, +/* 55262 */ {(14<<2)|2,{80,118,0}}, +/* 55263 */ {(14<<2)|2,{80,118,0}}, +/* 55264 */ {(14<<2)|2,{80,119,0}}, +/* 55265 */ {(14<<2)|2,{80,119,0}}, +/* 55266 */ {(14<<2)|2,{80,119,0}}, +/* 55267 */ {(14<<2)|2,{80,119,0}}, +/* 55268 */ {(14<<2)|2,{80,120,0}}, +/* 55269 */ {(14<<2)|2,{80,120,0}}, +/* 55270 */ {(14<<2)|2,{80,120,0}}, +/* 55271 */ {(14<<2)|2,{80,120,0}}, +/* 55272 */ {(14<<2)|2,{80,121,0}}, +/* 55273 */ {(14<<2)|2,{80,121,0}}, +/* 55274 */ {(14<<2)|2,{80,121,0}}, +/* 55275 */ {(14<<2)|2,{80,121,0}}, +/* 55276 */ {(14<<2)|2,{80,122,0}}, +/* 55277 */ {(14<<2)|2,{80,122,0}}, +/* 55278 */ {(14<<2)|2,{80,122,0}}, +/* 55279 */ {(14<<2)|2,{80,122,0}}, +/* 55280 */ {(15<<2)|2,{80,38,0}}, +/* 55281 */ {(15<<2)|2,{80,38,0}}, +/* 55282 */ {(15<<2)|2,{80,42,0}}, +/* 55283 */ {(15<<2)|2,{80,42,0}}, +/* 55284 */ {(15<<2)|2,{80,44,0}}, +/* 55285 */ {(15<<2)|2,{80,44,0}}, +/* 55286 */ {(15<<2)|2,{80,59,0}}, +/* 55287 */ {(15<<2)|2,{80,59,0}}, +/* 55288 */ {(15<<2)|2,{80,88,0}}, +/* 55289 */ {(15<<2)|2,{80,88,0}}, +/* 55290 */ {(15<<2)|2,{80,90,0}}, +/* 55291 */ {(15<<2)|2,{80,90,0}}, +/* 55292 */ {(7<<2)|1,{80,0,0}}, +/* 55293 */ {(7<<2)|1,{80,0,0}}, +/* 55294 */ {(7<<2)|1,{80,0,0}}, +/* 55295 */ {(7<<2)|1,{80,0,0}}, +/* 55296 */ {(12<<2)|2,{81,48,0}}, +/* 55297 */ {(12<<2)|2,{81,48,0}}, +/* 55298 */ {(12<<2)|2,{81,48,0}}, +/* 55299 */ {(12<<2)|2,{81,48,0}}, +/* 55300 */ {(12<<2)|2,{81,48,0}}, +/* 55301 */ {(12<<2)|2,{81,48,0}}, +/* 55302 */ {(12<<2)|2,{81,48,0}}, +/* 55303 */ {(12<<2)|2,{81,48,0}}, +/* 55304 */ {(12<<2)|2,{81,48,0}}, +/* 55305 */ {(12<<2)|2,{81,48,0}}, +/* 55306 */ {(12<<2)|2,{81,48,0}}, +/* 55307 */ {(12<<2)|2,{81,48,0}}, +/* 55308 */ {(12<<2)|2,{81,48,0}}, +/* 55309 */ {(12<<2)|2,{81,48,0}}, +/* 55310 */ {(12<<2)|2,{81,48,0}}, +/* 55311 */ {(12<<2)|2,{81,48,0}}, +/* 55312 */ {(12<<2)|2,{81,49,0}}, +/* 55313 */ {(12<<2)|2,{81,49,0}}, +/* 55314 */ {(12<<2)|2,{81,49,0}}, +/* 55315 */ {(12<<2)|2,{81,49,0}}, +/* 55316 */ {(12<<2)|2,{81,49,0}}, +/* 55317 */ {(12<<2)|2,{81,49,0}}, +/* 55318 */ {(12<<2)|2,{81,49,0}}, +/* 55319 */ {(12<<2)|2,{81,49,0}}, +/* 55320 */ {(12<<2)|2,{81,49,0}}, +/* 55321 */ {(12<<2)|2,{81,49,0}}, +/* 55322 */ {(12<<2)|2,{81,49,0}}, +/* 55323 */ {(12<<2)|2,{81,49,0}}, +/* 55324 */ {(12<<2)|2,{81,49,0}}, +/* 55325 */ {(12<<2)|2,{81,49,0}}, +/* 55326 */ {(12<<2)|2,{81,49,0}}, +/* 55327 */ {(12<<2)|2,{81,49,0}}, +/* 55328 */ {(12<<2)|2,{81,50,0}}, +/* 55329 */ {(12<<2)|2,{81,50,0}}, +/* 55330 */ {(12<<2)|2,{81,50,0}}, +/* 55331 */ {(12<<2)|2,{81,50,0}}, +/* 55332 */ {(12<<2)|2,{81,50,0}}, +/* 55333 */ {(12<<2)|2,{81,50,0}}, +/* 55334 */ {(12<<2)|2,{81,50,0}}, +/* 55335 */ {(12<<2)|2,{81,50,0}}, +/* 55336 */ {(12<<2)|2,{81,50,0}}, +/* 55337 */ {(12<<2)|2,{81,50,0}}, +/* 55338 */ {(12<<2)|2,{81,50,0}}, +/* 55339 */ {(12<<2)|2,{81,50,0}}, +/* 55340 */ {(12<<2)|2,{81,50,0}}, +/* 55341 */ {(12<<2)|2,{81,50,0}}, +/* 55342 */ {(12<<2)|2,{81,50,0}}, +/* 55343 */ {(12<<2)|2,{81,50,0}}, +/* 55344 */ {(12<<2)|2,{81,97,0}}, +/* 55345 */ {(12<<2)|2,{81,97,0}}, +/* 55346 */ {(12<<2)|2,{81,97,0}}, +/* 55347 */ {(12<<2)|2,{81,97,0}}, +/* 55348 */ {(12<<2)|2,{81,97,0}}, +/* 55349 */ {(12<<2)|2,{81,97,0}}, +/* 55350 */ {(12<<2)|2,{81,97,0}}, +/* 55351 */ {(12<<2)|2,{81,97,0}}, +/* 55352 */ {(12<<2)|2,{81,97,0}}, +/* 55353 */ {(12<<2)|2,{81,97,0}}, +/* 55354 */ {(12<<2)|2,{81,97,0}}, +/* 55355 */ {(12<<2)|2,{81,97,0}}, +/* 55356 */ {(12<<2)|2,{81,97,0}}, +/* 55357 */ {(12<<2)|2,{81,97,0}}, +/* 55358 */ {(12<<2)|2,{81,97,0}}, +/* 55359 */ {(12<<2)|2,{81,97,0}}, +/* 55360 */ {(12<<2)|2,{81,99,0}}, +/* 55361 */ {(12<<2)|2,{81,99,0}}, +/* 55362 */ {(12<<2)|2,{81,99,0}}, +/* 55363 */ {(12<<2)|2,{81,99,0}}, +/* 55364 */ {(12<<2)|2,{81,99,0}}, +/* 55365 */ {(12<<2)|2,{81,99,0}}, +/* 55366 */ {(12<<2)|2,{81,99,0}}, +/* 55367 */ {(12<<2)|2,{81,99,0}}, +/* 55368 */ {(12<<2)|2,{81,99,0}}, +/* 55369 */ {(12<<2)|2,{81,99,0}}, +/* 55370 */ {(12<<2)|2,{81,99,0}}, +/* 55371 */ {(12<<2)|2,{81,99,0}}, +/* 55372 */ {(12<<2)|2,{81,99,0}}, +/* 55373 */ {(12<<2)|2,{81,99,0}}, +/* 55374 */ {(12<<2)|2,{81,99,0}}, +/* 55375 */ {(12<<2)|2,{81,99,0}}, +/* 55376 */ {(12<<2)|2,{81,101,0}}, +/* 55377 */ {(12<<2)|2,{81,101,0}}, +/* 55378 */ {(12<<2)|2,{81,101,0}}, +/* 55379 */ {(12<<2)|2,{81,101,0}}, +/* 55380 */ {(12<<2)|2,{81,101,0}}, +/* 55381 */ {(12<<2)|2,{81,101,0}}, +/* 55382 */ {(12<<2)|2,{81,101,0}}, +/* 55383 */ {(12<<2)|2,{81,101,0}}, +/* 55384 */ {(12<<2)|2,{81,101,0}}, +/* 55385 */ {(12<<2)|2,{81,101,0}}, +/* 55386 */ {(12<<2)|2,{81,101,0}}, +/* 55387 */ {(12<<2)|2,{81,101,0}}, +/* 55388 */ {(12<<2)|2,{81,101,0}}, +/* 55389 */ {(12<<2)|2,{81,101,0}}, +/* 55390 */ {(12<<2)|2,{81,101,0}}, +/* 55391 */ {(12<<2)|2,{81,101,0}}, +/* 55392 */ {(12<<2)|2,{81,105,0}}, +/* 55393 */ {(12<<2)|2,{81,105,0}}, +/* 55394 */ {(12<<2)|2,{81,105,0}}, +/* 55395 */ {(12<<2)|2,{81,105,0}}, +/* 55396 */ {(12<<2)|2,{81,105,0}}, +/* 55397 */ {(12<<2)|2,{81,105,0}}, +/* 55398 */ {(12<<2)|2,{81,105,0}}, +/* 55399 */ {(12<<2)|2,{81,105,0}}, +/* 55400 */ {(12<<2)|2,{81,105,0}}, +/* 55401 */ {(12<<2)|2,{81,105,0}}, +/* 55402 */ {(12<<2)|2,{81,105,0}}, +/* 55403 */ {(12<<2)|2,{81,105,0}}, +/* 55404 */ {(12<<2)|2,{81,105,0}}, +/* 55405 */ {(12<<2)|2,{81,105,0}}, +/* 55406 */ {(12<<2)|2,{81,105,0}}, +/* 55407 */ {(12<<2)|2,{81,105,0}}, +/* 55408 */ {(12<<2)|2,{81,111,0}}, +/* 55409 */ {(12<<2)|2,{81,111,0}}, +/* 55410 */ {(12<<2)|2,{81,111,0}}, +/* 55411 */ {(12<<2)|2,{81,111,0}}, +/* 55412 */ {(12<<2)|2,{81,111,0}}, +/* 55413 */ {(12<<2)|2,{81,111,0}}, +/* 55414 */ {(12<<2)|2,{81,111,0}}, +/* 55415 */ {(12<<2)|2,{81,111,0}}, +/* 55416 */ {(12<<2)|2,{81,111,0}}, +/* 55417 */ {(12<<2)|2,{81,111,0}}, +/* 55418 */ {(12<<2)|2,{81,111,0}}, +/* 55419 */ {(12<<2)|2,{81,111,0}}, +/* 55420 */ {(12<<2)|2,{81,111,0}}, +/* 55421 */ {(12<<2)|2,{81,111,0}}, +/* 55422 */ {(12<<2)|2,{81,111,0}}, +/* 55423 */ {(12<<2)|2,{81,111,0}}, +/* 55424 */ {(12<<2)|2,{81,115,0}}, +/* 55425 */ {(12<<2)|2,{81,115,0}}, +/* 55426 */ {(12<<2)|2,{81,115,0}}, +/* 55427 */ {(12<<2)|2,{81,115,0}}, +/* 55428 */ {(12<<2)|2,{81,115,0}}, +/* 55429 */ {(12<<2)|2,{81,115,0}}, +/* 55430 */ {(12<<2)|2,{81,115,0}}, +/* 55431 */ {(12<<2)|2,{81,115,0}}, +/* 55432 */ {(12<<2)|2,{81,115,0}}, +/* 55433 */ {(12<<2)|2,{81,115,0}}, +/* 55434 */ {(12<<2)|2,{81,115,0}}, +/* 55435 */ {(12<<2)|2,{81,115,0}}, +/* 55436 */ {(12<<2)|2,{81,115,0}}, +/* 55437 */ {(12<<2)|2,{81,115,0}}, +/* 55438 */ {(12<<2)|2,{81,115,0}}, +/* 55439 */ {(12<<2)|2,{81,115,0}}, +/* 55440 */ {(12<<2)|2,{81,116,0}}, +/* 55441 */ {(12<<2)|2,{81,116,0}}, +/* 55442 */ {(12<<2)|2,{81,116,0}}, +/* 55443 */ {(12<<2)|2,{81,116,0}}, +/* 55444 */ {(12<<2)|2,{81,116,0}}, +/* 55445 */ {(12<<2)|2,{81,116,0}}, +/* 55446 */ {(12<<2)|2,{81,116,0}}, +/* 55447 */ {(12<<2)|2,{81,116,0}}, +/* 55448 */ {(12<<2)|2,{81,116,0}}, +/* 55449 */ {(12<<2)|2,{81,116,0}}, +/* 55450 */ {(12<<2)|2,{81,116,0}}, +/* 55451 */ {(12<<2)|2,{81,116,0}}, +/* 55452 */ {(12<<2)|2,{81,116,0}}, +/* 55453 */ {(12<<2)|2,{81,116,0}}, +/* 55454 */ {(12<<2)|2,{81,116,0}}, +/* 55455 */ {(12<<2)|2,{81,116,0}}, +/* 55456 */ {(13<<2)|2,{81,32,0}}, +/* 55457 */ {(13<<2)|2,{81,32,0}}, +/* 55458 */ {(13<<2)|2,{81,32,0}}, +/* 55459 */ {(13<<2)|2,{81,32,0}}, +/* 55460 */ {(13<<2)|2,{81,32,0}}, +/* 55461 */ {(13<<2)|2,{81,32,0}}, +/* 55462 */ {(13<<2)|2,{81,32,0}}, +/* 55463 */ {(13<<2)|2,{81,32,0}}, +/* 55464 */ {(13<<2)|2,{81,37,0}}, +/* 55465 */ {(13<<2)|2,{81,37,0}}, +/* 55466 */ {(13<<2)|2,{81,37,0}}, +/* 55467 */ {(13<<2)|2,{81,37,0}}, +/* 55468 */ {(13<<2)|2,{81,37,0}}, +/* 55469 */ {(13<<2)|2,{81,37,0}}, +/* 55470 */ {(13<<2)|2,{81,37,0}}, +/* 55471 */ {(13<<2)|2,{81,37,0}}, +/* 55472 */ {(13<<2)|2,{81,45,0}}, +/* 55473 */ {(13<<2)|2,{81,45,0}}, +/* 55474 */ {(13<<2)|2,{81,45,0}}, +/* 55475 */ {(13<<2)|2,{81,45,0}}, +/* 55476 */ {(13<<2)|2,{81,45,0}}, +/* 55477 */ {(13<<2)|2,{81,45,0}}, +/* 55478 */ {(13<<2)|2,{81,45,0}}, +/* 55479 */ {(13<<2)|2,{81,45,0}}, +/* 55480 */ {(13<<2)|2,{81,46,0}}, +/* 55481 */ {(13<<2)|2,{81,46,0}}, +/* 55482 */ {(13<<2)|2,{81,46,0}}, +/* 55483 */ {(13<<2)|2,{81,46,0}}, +/* 55484 */ {(13<<2)|2,{81,46,0}}, +/* 55485 */ {(13<<2)|2,{81,46,0}}, +/* 55486 */ {(13<<2)|2,{81,46,0}}, +/* 55487 */ {(13<<2)|2,{81,46,0}}, +/* 55488 */ {(13<<2)|2,{81,47,0}}, +/* 55489 */ {(13<<2)|2,{81,47,0}}, +/* 55490 */ {(13<<2)|2,{81,47,0}}, +/* 55491 */ {(13<<2)|2,{81,47,0}}, +/* 55492 */ {(13<<2)|2,{81,47,0}}, +/* 55493 */ {(13<<2)|2,{81,47,0}}, +/* 55494 */ {(13<<2)|2,{81,47,0}}, +/* 55495 */ {(13<<2)|2,{81,47,0}}, +/* 55496 */ {(13<<2)|2,{81,51,0}}, +/* 55497 */ {(13<<2)|2,{81,51,0}}, +/* 55498 */ {(13<<2)|2,{81,51,0}}, +/* 55499 */ {(13<<2)|2,{81,51,0}}, +/* 55500 */ {(13<<2)|2,{81,51,0}}, +/* 55501 */ {(13<<2)|2,{81,51,0}}, +/* 55502 */ {(13<<2)|2,{81,51,0}}, +/* 55503 */ {(13<<2)|2,{81,51,0}}, +/* 55504 */ {(13<<2)|2,{81,52,0}}, +/* 55505 */ {(13<<2)|2,{81,52,0}}, +/* 55506 */ {(13<<2)|2,{81,52,0}}, +/* 55507 */ {(13<<2)|2,{81,52,0}}, +/* 55508 */ {(13<<2)|2,{81,52,0}}, +/* 55509 */ {(13<<2)|2,{81,52,0}}, +/* 55510 */ {(13<<2)|2,{81,52,0}}, +/* 55511 */ {(13<<2)|2,{81,52,0}}, +/* 55512 */ {(13<<2)|2,{81,53,0}}, +/* 55513 */ {(13<<2)|2,{81,53,0}}, +/* 55514 */ {(13<<2)|2,{81,53,0}}, +/* 55515 */ {(13<<2)|2,{81,53,0}}, +/* 55516 */ {(13<<2)|2,{81,53,0}}, +/* 55517 */ {(13<<2)|2,{81,53,0}}, +/* 55518 */ {(13<<2)|2,{81,53,0}}, +/* 55519 */ {(13<<2)|2,{81,53,0}}, +/* 55520 */ {(13<<2)|2,{81,54,0}}, +/* 55521 */ {(13<<2)|2,{81,54,0}}, +/* 55522 */ {(13<<2)|2,{81,54,0}}, +/* 55523 */ {(13<<2)|2,{81,54,0}}, +/* 55524 */ {(13<<2)|2,{81,54,0}}, +/* 55525 */ {(13<<2)|2,{81,54,0}}, +/* 55526 */ {(13<<2)|2,{81,54,0}}, +/* 55527 */ {(13<<2)|2,{81,54,0}}, +/* 55528 */ {(13<<2)|2,{81,55,0}}, +/* 55529 */ {(13<<2)|2,{81,55,0}}, +/* 55530 */ {(13<<2)|2,{81,55,0}}, +/* 55531 */ {(13<<2)|2,{81,55,0}}, +/* 55532 */ {(13<<2)|2,{81,55,0}}, +/* 55533 */ {(13<<2)|2,{81,55,0}}, +/* 55534 */ {(13<<2)|2,{81,55,0}}, +/* 55535 */ {(13<<2)|2,{81,55,0}}, +/* 55536 */ {(13<<2)|2,{81,56,0}}, +/* 55537 */ {(13<<2)|2,{81,56,0}}, +/* 55538 */ {(13<<2)|2,{81,56,0}}, +/* 55539 */ {(13<<2)|2,{81,56,0}}, +/* 55540 */ {(13<<2)|2,{81,56,0}}, +/* 55541 */ {(13<<2)|2,{81,56,0}}, +/* 55542 */ {(13<<2)|2,{81,56,0}}, +/* 55543 */ {(13<<2)|2,{81,56,0}}, +/* 55544 */ {(13<<2)|2,{81,57,0}}, +/* 55545 */ {(13<<2)|2,{81,57,0}}, +/* 55546 */ {(13<<2)|2,{81,57,0}}, +/* 55547 */ {(13<<2)|2,{81,57,0}}, +/* 55548 */ {(13<<2)|2,{81,57,0}}, +/* 55549 */ {(13<<2)|2,{81,57,0}}, +/* 55550 */ {(13<<2)|2,{81,57,0}}, +/* 55551 */ {(13<<2)|2,{81,57,0}}, +/* 55552 */ {(13<<2)|2,{81,61,0}}, +/* 55553 */ {(13<<2)|2,{81,61,0}}, +/* 55554 */ {(13<<2)|2,{81,61,0}}, +/* 55555 */ {(13<<2)|2,{81,61,0}}, +/* 55556 */ {(13<<2)|2,{81,61,0}}, +/* 55557 */ {(13<<2)|2,{81,61,0}}, +/* 55558 */ {(13<<2)|2,{81,61,0}}, +/* 55559 */ {(13<<2)|2,{81,61,0}}, +/* 55560 */ {(13<<2)|2,{81,65,0}}, +/* 55561 */ {(13<<2)|2,{81,65,0}}, +/* 55562 */ {(13<<2)|2,{81,65,0}}, +/* 55563 */ {(13<<2)|2,{81,65,0}}, +/* 55564 */ {(13<<2)|2,{81,65,0}}, +/* 55565 */ {(13<<2)|2,{81,65,0}}, +/* 55566 */ {(13<<2)|2,{81,65,0}}, +/* 55567 */ {(13<<2)|2,{81,65,0}}, +/* 55568 */ {(13<<2)|2,{81,95,0}}, +/* 55569 */ {(13<<2)|2,{81,95,0}}, +/* 55570 */ {(13<<2)|2,{81,95,0}}, +/* 55571 */ {(13<<2)|2,{81,95,0}}, +/* 55572 */ {(13<<2)|2,{81,95,0}}, +/* 55573 */ {(13<<2)|2,{81,95,0}}, +/* 55574 */ {(13<<2)|2,{81,95,0}}, +/* 55575 */ {(13<<2)|2,{81,95,0}}, +/* 55576 */ {(13<<2)|2,{81,98,0}}, +/* 55577 */ {(13<<2)|2,{81,98,0}}, +/* 55578 */ {(13<<2)|2,{81,98,0}}, +/* 55579 */ {(13<<2)|2,{81,98,0}}, +/* 55580 */ {(13<<2)|2,{81,98,0}}, +/* 55581 */ {(13<<2)|2,{81,98,0}}, +/* 55582 */ {(13<<2)|2,{81,98,0}}, +/* 55583 */ {(13<<2)|2,{81,98,0}}, +/* 55584 */ {(13<<2)|2,{81,100,0}}, +/* 55585 */ {(13<<2)|2,{81,100,0}}, +/* 55586 */ {(13<<2)|2,{81,100,0}}, +/* 55587 */ {(13<<2)|2,{81,100,0}}, +/* 55588 */ {(13<<2)|2,{81,100,0}}, +/* 55589 */ {(13<<2)|2,{81,100,0}}, +/* 55590 */ {(13<<2)|2,{81,100,0}}, +/* 55591 */ {(13<<2)|2,{81,100,0}}, +/* 55592 */ {(13<<2)|2,{81,102,0}}, +/* 55593 */ {(13<<2)|2,{81,102,0}}, +/* 55594 */ {(13<<2)|2,{81,102,0}}, +/* 55595 */ {(13<<2)|2,{81,102,0}}, +/* 55596 */ {(13<<2)|2,{81,102,0}}, +/* 55597 */ {(13<<2)|2,{81,102,0}}, +/* 55598 */ {(13<<2)|2,{81,102,0}}, +/* 55599 */ {(13<<2)|2,{81,102,0}}, +/* 55600 */ {(13<<2)|2,{81,103,0}}, +/* 55601 */ {(13<<2)|2,{81,103,0}}, +/* 55602 */ {(13<<2)|2,{81,103,0}}, +/* 55603 */ {(13<<2)|2,{81,103,0}}, +/* 55604 */ {(13<<2)|2,{81,103,0}}, +/* 55605 */ {(13<<2)|2,{81,103,0}}, +/* 55606 */ {(13<<2)|2,{81,103,0}}, +/* 55607 */ {(13<<2)|2,{81,103,0}}, +/* 55608 */ {(13<<2)|2,{81,104,0}}, +/* 55609 */ {(13<<2)|2,{81,104,0}}, +/* 55610 */ {(13<<2)|2,{81,104,0}}, +/* 55611 */ {(13<<2)|2,{81,104,0}}, +/* 55612 */ {(13<<2)|2,{81,104,0}}, +/* 55613 */ {(13<<2)|2,{81,104,0}}, +/* 55614 */ {(13<<2)|2,{81,104,0}}, +/* 55615 */ {(13<<2)|2,{81,104,0}}, +/* 55616 */ {(13<<2)|2,{81,108,0}}, +/* 55617 */ {(13<<2)|2,{81,108,0}}, +/* 55618 */ {(13<<2)|2,{81,108,0}}, +/* 55619 */ {(13<<2)|2,{81,108,0}}, +/* 55620 */ {(13<<2)|2,{81,108,0}}, +/* 55621 */ {(13<<2)|2,{81,108,0}}, +/* 55622 */ {(13<<2)|2,{81,108,0}}, +/* 55623 */ {(13<<2)|2,{81,108,0}}, +/* 55624 */ {(13<<2)|2,{81,109,0}}, +/* 55625 */ {(13<<2)|2,{81,109,0}}, +/* 55626 */ {(13<<2)|2,{81,109,0}}, +/* 55627 */ {(13<<2)|2,{81,109,0}}, +/* 55628 */ {(13<<2)|2,{81,109,0}}, +/* 55629 */ {(13<<2)|2,{81,109,0}}, +/* 55630 */ {(13<<2)|2,{81,109,0}}, +/* 55631 */ {(13<<2)|2,{81,109,0}}, +/* 55632 */ {(13<<2)|2,{81,110,0}}, +/* 55633 */ {(13<<2)|2,{81,110,0}}, +/* 55634 */ {(13<<2)|2,{81,110,0}}, +/* 55635 */ {(13<<2)|2,{81,110,0}}, +/* 55636 */ {(13<<2)|2,{81,110,0}}, +/* 55637 */ {(13<<2)|2,{81,110,0}}, +/* 55638 */ {(13<<2)|2,{81,110,0}}, +/* 55639 */ {(13<<2)|2,{81,110,0}}, +/* 55640 */ {(13<<2)|2,{81,112,0}}, +/* 55641 */ {(13<<2)|2,{81,112,0}}, +/* 55642 */ {(13<<2)|2,{81,112,0}}, +/* 55643 */ {(13<<2)|2,{81,112,0}}, +/* 55644 */ {(13<<2)|2,{81,112,0}}, +/* 55645 */ {(13<<2)|2,{81,112,0}}, +/* 55646 */ {(13<<2)|2,{81,112,0}}, +/* 55647 */ {(13<<2)|2,{81,112,0}}, +/* 55648 */ {(13<<2)|2,{81,114,0}}, +/* 55649 */ {(13<<2)|2,{81,114,0}}, +/* 55650 */ {(13<<2)|2,{81,114,0}}, +/* 55651 */ {(13<<2)|2,{81,114,0}}, +/* 55652 */ {(13<<2)|2,{81,114,0}}, +/* 55653 */ {(13<<2)|2,{81,114,0}}, +/* 55654 */ {(13<<2)|2,{81,114,0}}, +/* 55655 */ {(13<<2)|2,{81,114,0}}, +/* 55656 */ {(13<<2)|2,{81,117,0}}, +/* 55657 */ {(13<<2)|2,{81,117,0}}, +/* 55658 */ {(13<<2)|2,{81,117,0}}, +/* 55659 */ {(13<<2)|2,{81,117,0}}, +/* 55660 */ {(13<<2)|2,{81,117,0}}, +/* 55661 */ {(13<<2)|2,{81,117,0}}, +/* 55662 */ {(13<<2)|2,{81,117,0}}, +/* 55663 */ {(13<<2)|2,{81,117,0}}, +/* 55664 */ {(14<<2)|2,{81,58,0}}, +/* 55665 */ {(14<<2)|2,{81,58,0}}, +/* 55666 */ {(14<<2)|2,{81,58,0}}, +/* 55667 */ {(14<<2)|2,{81,58,0}}, +/* 55668 */ {(14<<2)|2,{81,66,0}}, +/* 55669 */ {(14<<2)|2,{81,66,0}}, +/* 55670 */ {(14<<2)|2,{81,66,0}}, +/* 55671 */ {(14<<2)|2,{81,66,0}}, +/* 55672 */ {(14<<2)|2,{81,67,0}}, +/* 55673 */ {(14<<2)|2,{81,67,0}}, +/* 55674 */ {(14<<2)|2,{81,67,0}}, +/* 55675 */ {(14<<2)|2,{81,67,0}}, +/* 55676 */ {(14<<2)|2,{81,68,0}}, +/* 55677 */ {(14<<2)|2,{81,68,0}}, +/* 55678 */ {(14<<2)|2,{81,68,0}}, +/* 55679 */ {(14<<2)|2,{81,68,0}}, +/* 55680 */ {(14<<2)|2,{81,69,0}}, +/* 55681 */ {(14<<2)|2,{81,69,0}}, +/* 55682 */ {(14<<2)|2,{81,69,0}}, +/* 55683 */ {(14<<2)|2,{81,69,0}}, +/* 55684 */ {(14<<2)|2,{81,70,0}}, +/* 55685 */ {(14<<2)|2,{81,70,0}}, +/* 55686 */ {(14<<2)|2,{81,70,0}}, +/* 55687 */ {(14<<2)|2,{81,70,0}}, +/* 55688 */ {(14<<2)|2,{81,71,0}}, +/* 55689 */ {(14<<2)|2,{81,71,0}}, +/* 55690 */ {(14<<2)|2,{81,71,0}}, +/* 55691 */ {(14<<2)|2,{81,71,0}}, +/* 55692 */ {(14<<2)|2,{81,72,0}}, +/* 55693 */ {(14<<2)|2,{81,72,0}}, +/* 55694 */ {(14<<2)|2,{81,72,0}}, +/* 55695 */ {(14<<2)|2,{81,72,0}}, +/* 55696 */ {(14<<2)|2,{81,73,0}}, +/* 55697 */ {(14<<2)|2,{81,73,0}}, +/* 55698 */ {(14<<2)|2,{81,73,0}}, +/* 55699 */ {(14<<2)|2,{81,73,0}}, +/* 55700 */ {(14<<2)|2,{81,74,0}}, +/* 55701 */ {(14<<2)|2,{81,74,0}}, +/* 55702 */ {(14<<2)|2,{81,74,0}}, +/* 55703 */ {(14<<2)|2,{81,74,0}}, +/* 55704 */ {(14<<2)|2,{81,75,0}}, +/* 55705 */ {(14<<2)|2,{81,75,0}}, +/* 55706 */ {(14<<2)|2,{81,75,0}}, +/* 55707 */ {(14<<2)|2,{81,75,0}}, +/* 55708 */ {(14<<2)|2,{81,76,0}}, +/* 55709 */ {(14<<2)|2,{81,76,0}}, +/* 55710 */ {(14<<2)|2,{81,76,0}}, +/* 55711 */ {(14<<2)|2,{81,76,0}}, +/* 55712 */ {(14<<2)|2,{81,77,0}}, +/* 55713 */ {(14<<2)|2,{81,77,0}}, +/* 55714 */ {(14<<2)|2,{81,77,0}}, +/* 55715 */ {(14<<2)|2,{81,77,0}}, +/* 55716 */ {(14<<2)|2,{81,78,0}}, +/* 55717 */ {(14<<2)|2,{81,78,0}}, +/* 55718 */ {(14<<2)|2,{81,78,0}}, +/* 55719 */ {(14<<2)|2,{81,78,0}}, +/* 55720 */ {(14<<2)|2,{81,79,0}}, +/* 55721 */ {(14<<2)|2,{81,79,0}}, +/* 55722 */ {(14<<2)|2,{81,79,0}}, +/* 55723 */ {(14<<2)|2,{81,79,0}}, +/* 55724 */ {(14<<2)|2,{81,80,0}}, +/* 55725 */ {(14<<2)|2,{81,80,0}}, +/* 55726 */ {(14<<2)|2,{81,80,0}}, +/* 55727 */ {(14<<2)|2,{81,80,0}}, +/* 55728 */ {(14<<2)|2,{81,81,0}}, +/* 55729 */ {(14<<2)|2,{81,81,0}}, +/* 55730 */ {(14<<2)|2,{81,81,0}}, +/* 55731 */ {(14<<2)|2,{81,81,0}}, +/* 55732 */ {(14<<2)|2,{81,82,0}}, +/* 55733 */ {(14<<2)|2,{81,82,0}}, +/* 55734 */ {(14<<2)|2,{81,82,0}}, +/* 55735 */ {(14<<2)|2,{81,82,0}}, +/* 55736 */ {(14<<2)|2,{81,83,0}}, +/* 55737 */ {(14<<2)|2,{81,83,0}}, +/* 55738 */ {(14<<2)|2,{81,83,0}}, +/* 55739 */ {(14<<2)|2,{81,83,0}}, +/* 55740 */ {(14<<2)|2,{81,84,0}}, +/* 55741 */ {(14<<2)|2,{81,84,0}}, +/* 55742 */ {(14<<2)|2,{81,84,0}}, +/* 55743 */ {(14<<2)|2,{81,84,0}}, +/* 55744 */ {(14<<2)|2,{81,85,0}}, +/* 55745 */ {(14<<2)|2,{81,85,0}}, +/* 55746 */ {(14<<2)|2,{81,85,0}}, +/* 55747 */ {(14<<2)|2,{81,85,0}}, +/* 55748 */ {(14<<2)|2,{81,86,0}}, +/* 55749 */ {(14<<2)|2,{81,86,0}}, +/* 55750 */ {(14<<2)|2,{81,86,0}}, +/* 55751 */ {(14<<2)|2,{81,86,0}}, +/* 55752 */ {(14<<2)|2,{81,87,0}}, +/* 55753 */ {(14<<2)|2,{81,87,0}}, +/* 55754 */ {(14<<2)|2,{81,87,0}}, +/* 55755 */ {(14<<2)|2,{81,87,0}}, +/* 55756 */ {(14<<2)|2,{81,89,0}}, +/* 55757 */ {(14<<2)|2,{81,89,0}}, +/* 55758 */ {(14<<2)|2,{81,89,0}}, +/* 55759 */ {(14<<2)|2,{81,89,0}}, +/* 55760 */ {(14<<2)|2,{81,106,0}}, +/* 55761 */ {(14<<2)|2,{81,106,0}}, +/* 55762 */ {(14<<2)|2,{81,106,0}}, +/* 55763 */ {(14<<2)|2,{81,106,0}}, +/* 55764 */ {(14<<2)|2,{81,107,0}}, +/* 55765 */ {(14<<2)|2,{81,107,0}}, +/* 55766 */ {(14<<2)|2,{81,107,0}}, +/* 55767 */ {(14<<2)|2,{81,107,0}}, +/* 55768 */ {(14<<2)|2,{81,113,0}}, +/* 55769 */ {(14<<2)|2,{81,113,0}}, +/* 55770 */ {(14<<2)|2,{81,113,0}}, +/* 55771 */ {(14<<2)|2,{81,113,0}}, +/* 55772 */ {(14<<2)|2,{81,118,0}}, +/* 55773 */ {(14<<2)|2,{81,118,0}}, +/* 55774 */ {(14<<2)|2,{81,118,0}}, +/* 55775 */ {(14<<2)|2,{81,118,0}}, +/* 55776 */ {(14<<2)|2,{81,119,0}}, +/* 55777 */ {(14<<2)|2,{81,119,0}}, +/* 55778 */ {(14<<2)|2,{81,119,0}}, +/* 55779 */ {(14<<2)|2,{81,119,0}}, +/* 55780 */ {(14<<2)|2,{81,120,0}}, +/* 55781 */ {(14<<2)|2,{81,120,0}}, +/* 55782 */ {(14<<2)|2,{81,120,0}}, +/* 55783 */ {(14<<2)|2,{81,120,0}}, +/* 55784 */ {(14<<2)|2,{81,121,0}}, +/* 55785 */ {(14<<2)|2,{81,121,0}}, +/* 55786 */ {(14<<2)|2,{81,121,0}}, +/* 55787 */ {(14<<2)|2,{81,121,0}}, +/* 55788 */ {(14<<2)|2,{81,122,0}}, +/* 55789 */ {(14<<2)|2,{81,122,0}}, +/* 55790 */ {(14<<2)|2,{81,122,0}}, +/* 55791 */ {(14<<2)|2,{81,122,0}}, +/* 55792 */ {(15<<2)|2,{81,38,0}}, +/* 55793 */ {(15<<2)|2,{81,38,0}}, +/* 55794 */ {(15<<2)|2,{81,42,0}}, +/* 55795 */ {(15<<2)|2,{81,42,0}}, +/* 55796 */ {(15<<2)|2,{81,44,0}}, +/* 55797 */ {(15<<2)|2,{81,44,0}}, +/* 55798 */ {(15<<2)|2,{81,59,0}}, +/* 55799 */ {(15<<2)|2,{81,59,0}}, +/* 55800 */ {(15<<2)|2,{81,88,0}}, +/* 55801 */ {(15<<2)|2,{81,88,0}}, +/* 55802 */ {(15<<2)|2,{81,90,0}}, +/* 55803 */ {(15<<2)|2,{81,90,0}}, +/* 55804 */ {(7<<2)|1,{81,0,0}}, +/* 55805 */ {(7<<2)|1,{81,0,0}}, +/* 55806 */ {(7<<2)|1,{81,0,0}}, +/* 55807 */ {(7<<2)|1,{81,0,0}}, +/* 55808 */ {(12<<2)|2,{82,48,0}}, +/* 55809 */ {(12<<2)|2,{82,48,0}}, +/* 55810 */ {(12<<2)|2,{82,48,0}}, +/* 55811 */ {(12<<2)|2,{82,48,0}}, +/* 55812 */ {(12<<2)|2,{82,48,0}}, +/* 55813 */ {(12<<2)|2,{82,48,0}}, +/* 55814 */ {(12<<2)|2,{82,48,0}}, +/* 55815 */ {(12<<2)|2,{82,48,0}}, +/* 55816 */ {(12<<2)|2,{82,48,0}}, +/* 55817 */ {(12<<2)|2,{82,48,0}}, +/* 55818 */ {(12<<2)|2,{82,48,0}}, +/* 55819 */ {(12<<2)|2,{82,48,0}}, +/* 55820 */ {(12<<2)|2,{82,48,0}}, +/* 55821 */ {(12<<2)|2,{82,48,0}}, +/* 55822 */ {(12<<2)|2,{82,48,0}}, +/* 55823 */ {(12<<2)|2,{82,48,0}}, +/* 55824 */ {(12<<2)|2,{82,49,0}}, +/* 55825 */ {(12<<2)|2,{82,49,0}}, +/* 55826 */ {(12<<2)|2,{82,49,0}}, +/* 55827 */ {(12<<2)|2,{82,49,0}}, +/* 55828 */ {(12<<2)|2,{82,49,0}}, +/* 55829 */ {(12<<2)|2,{82,49,0}}, +/* 55830 */ {(12<<2)|2,{82,49,0}}, +/* 55831 */ {(12<<2)|2,{82,49,0}}, +/* 55832 */ {(12<<2)|2,{82,49,0}}, +/* 55833 */ {(12<<2)|2,{82,49,0}}, +/* 55834 */ {(12<<2)|2,{82,49,0}}, +/* 55835 */ {(12<<2)|2,{82,49,0}}, +/* 55836 */ {(12<<2)|2,{82,49,0}}, +/* 55837 */ {(12<<2)|2,{82,49,0}}, +/* 55838 */ {(12<<2)|2,{82,49,0}}, +/* 55839 */ {(12<<2)|2,{82,49,0}}, +/* 55840 */ {(12<<2)|2,{82,50,0}}, +/* 55841 */ {(12<<2)|2,{82,50,0}}, +/* 55842 */ {(12<<2)|2,{82,50,0}}, +/* 55843 */ {(12<<2)|2,{82,50,0}}, +/* 55844 */ {(12<<2)|2,{82,50,0}}, +/* 55845 */ {(12<<2)|2,{82,50,0}}, +/* 55846 */ {(12<<2)|2,{82,50,0}}, +/* 55847 */ {(12<<2)|2,{82,50,0}}, +/* 55848 */ {(12<<2)|2,{82,50,0}}, +/* 55849 */ {(12<<2)|2,{82,50,0}}, +/* 55850 */ {(12<<2)|2,{82,50,0}}, +/* 55851 */ {(12<<2)|2,{82,50,0}}, +/* 55852 */ {(12<<2)|2,{82,50,0}}, +/* 55853 */ {(12<<2)|2,{82,50,0}}, +/* 55854 */ {(12<<2)|2,{82,50,0}}, +/* 55855 */ {(12<<2)|2,{82,50,0}}, +/* 55856 */ {(12<<2)|2,{82,97,0}}, +/* 55857 */ {(12<<2)|2,{82,97,0}}, +/* 55858 */ {(12<<2)|2,{82,97,0}}, +/* 55859 */ {(12<<2)|2,{82,97,0}}, +/* 55860 */ {(12<<2)|2,{82,97,0}}, +/* 55861 */ {(12<<2)|2,{82,97,0}}, +/* 55862 */ {(12<<2)|2,{82,97,0}}, +/* 55863 */ {(12<<2)|2,{82,97,0}}, +/* 55864 */ {(12<<2)|2,{82,97,0}}, +/* 55865 */ {(12<<2)|2,{82,97,0}}, +/* 55866 */ {(12<<2)|2,{82,97,0}}, +/* 55867 */ {(12<<2)|2,{82,97,0}}, +/* 55868 */ {(12<<2)|2,{82,97,0}}, +/* 55869 */ {(12<<2)|2,{82,97,0}}, +/* 55870 */ {(12<<2)|2,{82,97,0}}, +/* 55871 */ {(12<<2)|2,{82,97,0}}, +/* 55872 */ {(12<<2)|2,{82,99,0}}, +/* 55873 */ {(12<<2)|2,{82,99,0}}, +/* 55874 */ {(12<<2)|2,{82,99,0}}, +/* 55875 */ {(12<<2)|2,{82,99,0}}, +/* 55876 */ {(12<<2)|2,{82,99,0}}, +/* 55877 */ {(12<<2)|2,{82,99,0}}, +/* 55878 */ {(12<<2)|2,{82,99,0}}, +/* 55879 */ {(12<<2)|2,{82,99,0}}, +/* 55880 */ {(12<<2)|2,{82,99,0}}, +/* 55881 */ {(12<<2)|2,{82,99,0}}, +/* 55882 */ {(12<<2)|2,{82,99,0}}, +/* 55883 */ {(12<<2)|2,{82,99,0}}, +/* 55884 */ {(12<<2)|2,{82,99,0}}, +/* 55885 */ {(12<<2)|2,{82,99,0}}, +/* 55886 */ {(12<<2)|2,{82,99,0}}, +/* 55887 */ {(12<<2)|2,{82,99,0}}, +/* 55888 */ {(12<<2)|2,{82,101,0}}, +/* 55889 */ {(12<<2)|2,{82,101,0}}, +/* 55890 */ {(12<<2)|2,{82,101,0}}, +/* 55891 */ {(12<<2)|2,{82,101,0}}, +/* 55892 */ {(12<<2)|2,{82,101,0}}, +/* 55893 */ {(12<<2)|2,{82,101,0}}, +/* 55894 */ {(12<<2)|2,{82,101,0}}, +/* 55895 */ {(12<<2)|2,{82,101,0}}, +/* 55896 */ {(12<<2)|2,{82,101,0}}, +/* 55897 */ {(12<<2)|2,{82,101,0}}, +/* 55898 */ {(12<<2)|2,{82,101,0}}, +/* 55899 */ {(12<<2)|2,{82,101,0}}, +/* 55900 */ {(12<<2)|2,{82,101,0}}, +/* 55901 */ {(12<<2)|2,{82,101,0}}, +/* 55902 */ {(12<<2)|2,{82,101,0}}, +/* 55903 */ {(12<<2)|2,{82,101,0}}, +/* 55904 */ {(12<<2)|2,{82,105,0}}, +/* 55905 */ {(12<<2)|2,{82,105,0}}, +/* 55906 */ {(12<<2)|2,{82,105,0}}, +/* 55907 */ {(12<<2)|2,{82,105,0}}, +/* 55908 */ {(12<<2)|2,{82,105,0}}, +/* 55909 */ {(12<<2)|2,{82,105,0}}, +/* 55910 */ {(12<<2)|2,{82,105,0}}, +/* 55911 */ {(12<<2)|2,{82,105,0}}, +/* 55912 */ {(12<<2)|2,{82,105,0}}, +/* 55913 */ {(12<<2)|2,{82,105,0}}, +/* 55914 */ {(12<<2)|2,{82,105,0}}, +/* 55915 */ {(12<<2)|2,{82,105,0}}, +/* 55916 */ {(12<<2)|2,{82,105,0}}, +/* 55917 */ {(12<<2)|2,{82,105,0}}, +/* 55918 */ {(12<<2)|2,{82,105,0}}, +/* 55919 */ {(12<<2)|2,{82,105,0}}, +/* 55920 */ {(12<<2)|2,{82,111,0}}, +/* 55921 */ {(12<<2)|2,{82,111,0}}, +/* 55922 */ {(12<<2)|2,{82,111,0}}, +/* 55923 */ {(12<<2)|2,{82,111,0}}, +/* 55924 */ {(12<<2)|2,{82,111,0}}, +/* 55925 */ {(12<<2)|2,{82,111,0}}, +/* 55926 */ {(12<<2)|2,{82,111,0}}, +/* 55927 */ {(12<<2)|2,{82,111,0}}, +/* 55928 */ {(12<<2)|2,{82,111,0}}, +/* 55929 */ {(12<<2)|2,{82,111,0}}, +/* 55930 */ {(12<<2)|2,{82,111,0}}, +/* 55931 */ {(12<<2)|2,{82,111,0}}, +/* 55932 */ {(12<<2)|2,{82,111,0}}, +/* 55933 */ {(12<<2)|2,{82,111,0}}, +/* 55934 */ {(12<<2)|2,{82,111,0}}, +/* 55935 */ {(12<<2)|2,{82,111,0}}, +/* 55936 */ {(12<<2)|2,{82,115,0}}, +/* 55937 */ {(12<<2)|2,{82,115,0}}, +/* 55938 */ {(12<<2)|2,{82,115,0}}, +/* 55939 */ {(12<<2)|2,{82,115,0}}, +/* 55940 */ {(12<<2)|2,{82,115,0}}, +/* 55941 */ {(12<<2)|2,{82,115,0}}, +/* 55942 */ {(12<<2)|2,{82,115,0}}, +/* 55943 */ {(12<<2)|2,{82,115,0}}, +/* 55944 */ {(12<<2)|2,{82,115,0}}, +/* 55945 */ {(12<<2)|2,{82,115,0}}, +/* 55946 */ {(12<<2)|2,{82,115,0}}, +/* 55947 */ {(12<<2)|2,{82,115,0}}, +/* 55948 */ {(12<<2)|2,{82,115,0}}, +/* 55949 */ {(12<<2)|2,{82,115,0}}, +/* 55950 */ {(12<<2)|2,{82,115,0}}, +/* 55951 */ {(12<<2)|2,{82,115,0}}, +/* 55952 */ {(12<<2)|2,{82,116,0}}, +/* 55953 */ {(12<<2)|2,{82,116,0}}, +/* 55954 */ {(12<<2)|2,{82,116,0}}, +/* 55955 */ {(12<<2)|2,{82,116,0}}, +/* 55956 */ {(12<<2)|2,{82,116,0}}, +/* 55957 */ {(12<<2)|2,{82,116,0}}, +/* 55958 */ {(12<<2)|2,{82,116,0}}, +/* 55959 */ {(12<<2)|2,{82,116,0}}, +/* 55960 */ {(12<<2)|2,{82,116,0}}, +/* 55961 */ {(12<<2)|2,{82,116,0}}, +/* 55962 */ {(12<<2)|2,{82,116,0}}, +/* 55963 */ {(12<<2)|2,{82,116,0}}, +/* 55964 */ {(12<<2)|2,{82,116,0}}, +/* 55965 */ {(12<<2)|2,{82,116,0}}, +/* 55966 */ {(12<<2)|2,{82,116,0}}, +/* 55967 */ {(12<<2)|2,{82,116,0}}, +/* 55968 */ {(13<<2)|2,{82,32,0}}, +/* 55969 */ {(13<<2)|2,{82,32,0}}, +/* 55970 */ {(13<<2)|2,{82,32,0}}, +/* 55971 */ {(13<<2)|2,{82,32,0}}, +/* 55972 */ {(13<<2)|2,{82,32,0}}, +/* 55973 */ {(13<<2)|2,{82,32,0}}, +/* 55974 */ {(13<<2)|2,{82,32,0}}, +/* 55975 */ {(13<<2)|2,{82,32,0}}, +/* 55976 */ {(13<<2)|2,{82,37,0}}, +/* 55977 */ {(13<<2)|2,{82,37,0}}, +/* 55978 */ {(13<<2)|2,{82,37,0}}, +/* 55979 */ {(13<<2)|2,{82,37,0}}, +/* 55980 */ {(13<<2)|2,{82,37,0}}, +/* 55981 */ {(13<<2)|2,{82,37,0}}, +/* 55982 */ {(13<<2)|2,{82,37,0}}, +/* 55983 */ {(13<<2)|2,{82,37,0}}, +/* 55984 */ {(13<<2)|2,{82,45,0}}, +/* 55985 */ {(13<<2)|2,{82,45,0}}, +/* 55986 */ {(13<<2)|2,{82,45,0}}, +/* 55987 */ {(13<<2)|2,{82,45,0}}, +/* 55988 */ {(13<<2)|2,{82,45,0}}, +/* 55989 */ {(13<<2)|2,{82,45,0}}, +/* 55990 */ {(13<<2)|2,{82,45,0}}, +/* 55991 */ {(13<<2)|2,{82,45,0}}, +/* 55992 */ {(13<<2)|2,{82,46,0}}, +/* 55993 */ {(13<<2)|2,{82,46,0}}, +/* 55994 */ {(13<<2)|2,{82,46,0}}, +/* 55995 */ {(13<<2)|2,{82,46,0}}, +/* 55996 */ {(13<<2)|2,{82,46,0}}, +/* 55997 */ {(13<<2)|2,{82,46,0}}, +/* 55998 */ {(13<<2)|2,{82,46,0}}, +/* 55999 */ {(13<<2)|2,{82,46,0}}, +/* 56000 */ {(13<<2)|2,{82,47,0}}, +/* 56001 */ {(13<<2)|2,{82,47,0}}, +/* 56002 */ {(13<<2)|2,{82,47,0}}, +/* 56003 */ {(13<<2)|2,{82,47,0}}, +/* 56004 */ {(13<<2)|2,{82,47,0}}, +/* 56005 */ {(13<<2)|2,{82,47,0}}, +/* 56006 */ {(13<<2)|2,{82,47,0}}, +/* 56007 */ {(13<<2)|2,{82,47,0}}, +/* 56008 */ {(13<<2)|2,{82,51,0}}, +/* 56009 */ {(13<<2)|2,{82,51,0}}, +/* 56010 */ {(13<<2)|2,{82,51,0}}, +/* 56011 */ {(13<<2)|2,{82,51,0}}, +/* 56012 */ {(13<<2)|2,{82,51,0}}, +/* 56013 */ {(13<<2)|2,{82,51,0}}, +/* 56014 */ {(13<<2)|2,{82,51,0}}, +/* 56015 */ {(13<<2)|2,{82,51,0}}, +/* 56016 */ {(13<<2)|2,{82,52,0}}, +/* 56017 */ {(13<<2)|2,{82,52,0}}, +/* 56018 */ {(13<<2)|2,{82,52,0}}, +/* 56019 */ {(13<<2)|2,{82,52,0}}, +/* 56020 */ {(13<<2)|2,{82,52,0}}, +/* 56021 */ {(13<<2)|2,{82,52,0}}, +/* 56022 */ {(13<<2)|2,{82,52,0}}, +/* 56023 */ {(13<<2)|2,{82,52,0}}, +/* 56024 */ {(13<<2)|2,{82,53,0}}, +/* 56025 */ {(13<<2)|2,{82,53,0}}, +/* 56026 */ {(13<<2)|2,{82,53,0}}, +/* 56027 */ {(13<<2)|2,{82,53,0}}, +/* 56028 */ {(13<<2)|2,{82,53,0}}, +/* 56029 */ {(13<<2)|2,{82,53,0}}, +/* 56030 */ {(13<<2)|2,{82,53,0}}, +/* 56031 */ {(13<<2)|2,{82,53,0}}, +/* 56032 */ {(13<<2)|2,{82,54,0}}, +/* 56033 */ {(13<<2)|2,{82,54,0}}, +/* 56034 */ {(13<<2)|2,{82,54,0}}, +/* 56035 */ {(13<<2)|2,{82,54,0}}, +/* 56036 */ {(13<<2)|2,{82,54,0}}, +/* 56037 */ {(13<<2)|2,{82,54,0}}, +/* 56038 */ {(13<<2)|2,{82,54,0}}, +/* 56039 */ {(13<<2)|2,{82,54,0}}, +/* 56040 */ {(13<<2)|2,{82,55,0}}, +/* 56041 */ {(13<<2)|2,{82,55,0}}, +/* 56042 */ {(13<<2)|2,{82,55,0}}, +/* 56043 */ {(13<<2)|2,{82,55,0}}, +/* 56044 */ {(13<<2)|2,{82,55,0}}, +/* 56045 */ {(13<<2)|2,{82,55,0}}, +/* 56046 */ {(13<<2)|2,{82,55,0}}, +/* 56047 */ {(13<<2)|2,{82,55,0}}, +/* 56048 */ {(13<<2)|2,{82,56,0}}, +/* 56049 */ {(13<<2)|2,{82,56,0}}, +/* 56050 */ {(13<<2)|2,{82,56,0}}, +/* 56051 */ {(13<<2)|2,{82,56,0}}, +/* 56052 */ {(13<<2)|2,{82,56,0}}, +/* 56053 */ {(13<<2)|2,{82,56,0}}, +/* 56054 */ {(13<<2)|2,{82,56,0}}, +/* 56055 */ {(13<<2)|2,{82,56,0}}, +/* 56056 */ {(13<<2)|2,{82,57,0}}, +/* 56057 */ {(13<<2)|2,{82,57,0}}, +/* 56058 */ {(13<<2)|2,{82,57,0}}, +/* 56059 */ {(13<<2)|2,{82,57,0}}, +/* 56060 */ {(13<<2)|2,{82,57,0}}, +/* 56061 */ {(13<<2)|2,{82,57,0}}, +/* 56062 */ {(13<<2)|2,{82,57,0}}, +/* 56063 */ {(13<<2)|2,{82,57,0}}, +/* 56064 */ {(13<<2)|2,{82,61,0}}, +/* 56065 */ {(13<<2)|2,{82,61,0}}, +/* 56066 */ {(13<<2)|2,{82,61,0}}, +/* 56067 */ {(13<<2)|2,{82,61,0}}, +/* 56068 */ {(13<<2)|2,{82,61,0}}, +/* 56069 */ {(13<<2)|2,{82,61,0}}, +/* 56070 */ {(13<<2)|2,{82,61,0}}, +/* 56071 */ {(13<<2)|2,{82,61,0}}, +/* 56072 */ {(13<<2)|2,{82,65,0}}, +/* 56073 */ {(13<<2)|2,{82,65,0}}, +/* 56074 */ {(13<<2)|2,{82,65,0}}, +/* 56075 */ {(13<<2)|2,{82,65,0}}, +/* 56076 */ {(13<<2)|2,{82,65,0}}, +/* 56077 */ {(13<<2)|2,{82,65,0}}, +/* 56078 */ {(13<<2)|2,{82,65,0}}, +/* 56079 */ {(13<<2)|2,{82,65,0}}, +/* 56080 */ {(13<<2)|2,{82,95,0}}, +/* 56081 */ {(13<<2)|2,{82,95,0}}, +/* 56082 */ {(13<<2)|2,{82,95,0}}, +/* 56083 */ {(13<<2)|2,{82,95,0}}, +/* 56084 */ {(13<<2)|2,{82,95,0}}, +/* 56085 */ {(13<<2)|2,{82,95,0}}, +/* 56086 */ {(13<<2)|2,{82,95,0}}, +/* 56087 */ {(13<<2)|2,{82,95,0}}, +/* 56088 */ {(13<<2)|2,{82,98,0}}, +/* 56089 */ {(13<<2)|2,{82,98,0}}, +/* 56090 */ {(13<<2)|2,{82,98,0}}, +/* 56091 */ {(13<<2)|2,{82,98,0}}, +/* 56092 */ {(13<<2)|2,{82,98,0}}, +/* 56093 */ {(13<<2)|2,{82,98,0}}, +/* 56094 */ {(13<<2)|2,{82,98,0}}, +/* 56095 */ {(13<<2)|2,{82,98,0}}, +/* 56096 */ {(13<<2)|2,{82,100,0}}, +/* 56097 */ {(13<<2)|2,{82,100,0}}, +/* 56098 */ {(13<<2)|2,{82,100,0}}, +/* 56099 */ {(13<<2)|2,{82,100,0}}, +/* 56100 */ {(13<<2)|2,{82,100,0}}, +/* 56101 */ {(13<<2)|2,{82,100,0}}, +/* 56102 */ {(13<<2)|2,{82,100,0}}, +/* 56103 */ {(13<<2)|2,{82,100,0}}, +/* 56104 */ {(13<<2)|2,{82,102,0}}, +/* 56105 */ {(13<<2)|2,{82,102,0}}, +/* 56106 */ {(13<<2)|2,{82,102,0}}, +/* 56107 */ {(13<<2)|2,{82,102,0}}, +/* 56108 */ {(13<<2)|2,{82,102,0}}, +/* 56109 */ {(13<<2)|2,{82,102,0}}, +/* 56110 */ {(13<<2)|2,{82,102,0}}, +/* 56111 */ {(13<<2)|2,{82,102,0}}, +/* 56112 */ {(13<<2)|2,{82,103,0}}, +/* 56113 */ {(13<<2)|2,{82,103,0}}, +/* 56114 */ {(13<<2)|2,{82,103,0}}, +/* 56115 */ {(13<<2)|2,{82,103,0}}, +/* 56116 */ {(13<<2)|2,{82,103,0}}, +/* 56117 */ {(13<<2)|2,{82,103,0}}, +/* 56118 */ {(13<<2)|2,{82,103,0}}, +/* 56119 */ {(13<<2)|2,{82,103,0}}, +/* 56120 */ {(13<<2)|2,{82,104,0}}, +/* 56121 */ {(13<<2)|2,{82,104,0}}, +/* 56122 */ {(13<<2)|2,{82,104,0}}, +/* 56123 */ {(13<<2)|2,{82,104,0}}, +/* 56124 */ {(13<<2)|2,{82,104,0}}, +/* 56125 */ {(13<<2)|2,{82,104,0}}, +/* 56126 */ {(13<<2)|2,{82,104,0}}, +/* 56127 */ {(13<<2)|2,{82,104,0}}, +/* 56128 */ {(13<<2)|2,{82,108,0}}, +/* 56129 */ {(13<<2)|2,{82,108,0}}, +/* 56130 */ {(13<<2)|2,{82,108,0}}, +/* 56131 */ {(13<<2)|2,{82,108,0}}, +/* 56132 */ {(13<<2)|2,{82,108,0}}, +/* 56133 */ {(13<<2)|2,{82,108,0}}, +/* 56134 */ {(13<<2)|2,{82,108,0}}, +/* 56135 */ {(13<<2)|2,{82,108,0}}, +/* 56136 */ {(13<<2)|2,{82,109,0}}, +/* 56137 */ {(13<<2)|2,{82,109,0}}, +/* 56138 */ {(13<<2)|2,{82,109,0}}, +/* 56139 */ {(13<<2)|2,{82,109,0}}, +/* 56140 */ {(13<<2)|2,{82,109,0}}, +/* 56141 */ {(13<<2)|2,{82,109,0}}, +/* 56142 */ {(13<<2)|2,{82,109,0}}, +/* 56143 */ {(13<<2)|2,{82,109,0}}, +/* 56144 */ {(13<<2)|2,{82,110,0}}, +/* 56145 */ {(13<<2)|2,{82,110,0}}, +/* 56146 */ {(13<<2)|2,{82,110,0}}, +/* 56147 */ {(13<<2)|2,{82,110,0}}, +/* 56148 */ {(13<<2)|2,{82,110,0}}, +/* 56149 */ {(13<<2)|2,{82,110,0}}, +/* 56150 */ {(13<<2)|2,{82,110,0}}, +/* 56151 */ {(13<<2)|2,{82,110,0}}, +/* 56152 */ {(13<<2)|2,{82,112,0}}, +/* 56153 */ {(13<<2)|2,{82,112,0}}, +/* 56154 */ {(13<<2)|2,{82,112,0}}, +/* 56155 */ {(13<<2)|2,{82,112,0}}, +/* 56156 */ {(13<<2)|2,{82,112,0}}, +/* 56157 */ {(13<<2)|2,{82,112,0}}, +/* 56158 */ {(13<<2)|2,{82,112,0}}, +/* 56159 */ {(13<<2)|2,{82,112,0}}, +/* 56160 */ {(13<<2)|2,{82,114,0}}, +/* 56161 */ {(13<<2)|2,{82,114,0}}, +/* 56162 */ {(13<<2)|2,{82,114,0}}, +/* 56163 */ {(13<<2)|2,{82,114,0}}, +/* 56164 */ {(13<<2)|2,{82,114,0}}, +/* 56165 */ {(13<<2)|2,{82,114,0}}, +/* 56166 */ {(13<<2)|2,{82,114,0}}, +/* 56167 */ {(13<<2)|2,{82,114,0}}, +/* 56168 */ {(13<<2)|2,{82,117,0}}, +/* 56169 */ {(13<<2)|2,{82,117,0}}, +/* 56170 */ {(13<<2)|2,{82,117,0}}, +/* 56171 */ {(13<<2)|2,{82,117,0}}, +/* 56172 */ {(13<<2)|2,{82,117,0}}, +/* 56173 */ {(13<<2)|2,{82,117,0}}, +/* 56174 */ {(13<<2)|2,{82,117,0}}, +/* 56175 */ {(13<<2)|2,{82,117,0}}, +/* 56176 */ {(14<<2)|2,{82,58,0}}, +/* 56177 */ {(14<<2)|2,{82,58,0}}, +/* 56178 */ {(14<<2)|2,{82,58,0}}, +/* 56179 */ {(14<<2)|2,{82,58,0}}, +/* 56180 */ {(14<<2)|2,{82,66,0}}, +/* 56181 */ {(14<<2)|2,{82,66,0}}, +/* 56182 */ {(14<<2)|2,{82,66,0}}, +/* 56183 */ {(14<<2)|2,{82,66,0}}, +/* 56184 */ {(14<<2)|2,{82,67,0}}, +/* 56185 */ {(14<<2)|2,{82,67,0}}, +/* 56186 */ {(14<<2)|2,{82,67,0}}, +/* 56187 */ {(14<<2)|2,{82,67,0}}, +/* 56188 */ {(14<<2)|2,{82,68,0}}, +/* 56189 */ {(14<<2)|2,{82,68,0}}, +/* 56190 */ {(14<<2)|2,{82,68,0}}, +/* 56191 */ {(14<<2)|2,{82,68,0}}, +/* 56192 */ {(14<<2)|2,{82,69,0}}, +/* 56193 */ {(14<<2)|2,{82,69,0}}, +/* 56194 */ {(14<<2)|2,{82,69,0}}, +/* 56195 */ {(14<<2)|2,{82,69,0}}, +/* 56196 */ {(14<<2)|2,{82,70,0}}, +/* 56197 */ {(14<<2)|2,{82,70,0}}, +/* 56198 */ {(14<<2)|2,{82,70,0}}, +/* 56199 */ {(14<<2)|2,{82,70,0}}, +/* 56200 */ {(14<<2)|2,{82,71,0}}, +/* 56201 */ {(14<<2)|2,{82,71,0}}, +/* 56202 */ {(14<<2)|2,{82,71,0}}, +/* 56203 */ {(14<<2)|2,{82,71,0}}, +/* 56204 */ {(14<<2)|2,{82,72,0}}, +/* 56205 */ {(14<<2)|2,{82,72,0}}, +/* 56206 */ {(14<<2)|2,{82,72,0}}, +/* 56207 */ {(14<<2)|2,{82,72,0}}, +/* 56208 */ {(14<<2)|2,{82,73,0}}, +/* 56209 */ {(14<<2)|2,{82,73,0}}, +/* 56210 */ {(14<<2)|2,{82,73,0}}, +/* 56211 */ {(14<<2)|2,{82,73,0}}, +/* 56212 */ {(14<<2)|2,{82,74,0}}, +/* 56213 */ {(14<<2)|2,{82,74,0}}, +/* 56214 */ {(14<<2)|2,{82,74,0}}, +/* 56215 */ {(14<<2)|2,{82,74,0}}, +/* 56216 */ {(14<<2)|2,{82,75,0}}, +/* 56217 */ {(14<<2)|2,{82,75,0}}, +/* 56218 */ {(14<<2)|2,{82,75,0}}, +/* 56219 */ {(14<<2)|2,{82,75,0}}, +/* 56220 */ {(14<<2)|2,{82,76,0}}, +/* 56221 */ {(14<<2)|2,{82,76,0}}, +/* 56222 */ {(14<<2)|2,{82,76,0}}, +/* 56223 */ {(14<<2)|2,{82,76,0}}, +/* 56224 */ {(14<<2)|2,{82,77,0}}, +/* 56225 */ {(14<<2)|2,{82,77,0}}, +/* 56226 */ {(14<<2)|2,{82,77,0}}, +/* 56227 */ {(14<<2)|2,{82,77,0}}, +/* 56228 */ {(14<<2)|2,{82,78,0}}, +/* 56229 */ {(14<<2)|2,{82,78,0}}, +/* 56230 */ {(14<<2)|2,{82,78,0}}, +/* 56231 */ {(14<<2)|2,{82,78,0}}, +/* 56232 */ {(14<<2)|2,{82,79,0}}, +/* 56233 */ {(14<<2)|2,{82,79,0}}, +/* 56234 */ {(14<<2)|2,{82,79,0}}, +/* 56235 */ {(14<<2)|2,{82,79,0}}, +/* 56236 */ {(14<<2)|2,{82,80,0}}, +/* 56237 */ {(14<<2)|2,{82,80,0}}, +/* 56238 */ {(14<<2)|2,{82,80,0}}, +/* 56239 */ {(14<<2)|2,{82,80,0}}, +/* 56240 */ {(14<<2)|2,{82,81,0}}, +/* 56241 */ {(14<<2)|2,{82,81,0}}, +/* 56242 */ {(14<<2)|2,{82,81,0}}, +/* 56243 */ {(14<<2)|2,{82,81,0}}, +/* 56244 */ {(14<<2)|2,{82,82,0}}, +/* 56245 */ {(14<<2)|2,{82,82,0}}, +/* 56246 */ {(14<<2)|2,{82,82,0}}, +/* 56247 */ {(14<<2)|2,{82,82,0}}, +/* 56248 */ {(14<<2)|2,{82,83,0}}, +/* 56249 */ {(14<<2)|2,{82,83,0}}, +/* 56250 */ {(14<<2)|2,{82,83,0}}, +/* 56251 */ {(14<<2)|2,{82,83,0}}, +/* 56252 */ {(14<<2)|2,{82,84,0}}, +/* 56253 */ {(14<<2)|2,{82,84,0}}, +/* 56254 */ {(14<<2)|2,{82,84,0}}, +/* 56255 */ {(14<<2)|2,{82,84,0}}, +/* 56256 */ {(14<<2)|2,{82,85,0}}, +/* 56257 */ {(14<<2)|2,{82,85,0}}, +/* 56258 */ {(14<<2)|2,{82,85,0}}, +/* 56259 */ {(14<<2)|2,{82,85,0}}, +/* 56260 */ {(14<<2)|2,{82,86,0}}, +/* 56261 */ {(14<<2)|2,{82,86,0}}, +/* 56262 */ {(14<<2)|2,{82,86,0}}, +/* 56263 */ {(14<<2)|2,{82,86,0}}, +/* 56264 */ {(14<<2)|2,{82,87,0}}, +/* 56265 */ {(14<<2)|2,{82,87,0}}, +/* 56266 */ {(14<<2)|2,{82,87,0}}, +/* 56267 */ {(14<<2)|2,{82,87,0}}, +/* 56268 */ {(14<<2)|2,{82,89,0}}, +/* 56269 */ {(14<<2)|2,{82,89,0}}, +/* 56270 */ {(14<<2)|2,{82,89,0}}, +/* 56271 */ {(14<<2)|2,{82,89,0}}, +/* 56272 */ {(14<<2)|2,{82,106,0}}, +/* 56273 */ {(14<<2)|2,{82,106,0}}, +/* 56274 */ {(14<<2)|2,{82,106,0}}, +/* 56275 */ {(14<<2)|2,{82,106,0}}, +/* 56276 */ {(14<<2)|2,{82,107,0}}, +/* 56277 */ {(14<<2)|2,{82,107,0}}, +/* 56278 */ {(14<<2)|2,{82,107,0}}, +/* 56279 */ {(14<<2)|2,{82,107,0}}, +/* 56280 */ {(14<<2)|2,{82,113,0}}, +/* 56281 */ {(14<<2)|2,{82,113,0}}, +/* 56282 */ {(14<<2)|2,{82,113,0}}, +/* 56283 */ {(14<<2)|2,{82,113,0}}, +/* 56284 */ {(14<<2)|2,{82,118,0}}, +/* 56285 */ {(14<<2)|2,{82,118,0}}, +/* 56286 */ {(14<<2)|2,{82,118,0}}, +/* 56287 */ {(14<<2)|2,{82,118,0}}, +/* 56288 */ {(14<<2)|2,{82,119,0}}, +/* 56289 */ {(14<<2)|2,{82,119,0}}, +/* 56290 */ {(14<<2)|2,{82,119,0}}, +/* 56291 */ {(14<<2)|2,{82,119,0}}, +/* 56292 */ {(14<<2)|2,{82,120,0}}, +/* 56293 */ {(14<<2)|2,{82,120,0}}, +/* 56294 */ {(14<<2)|2,{82,120,0}}, +/* 56295 */ {(14<<2)|2,{82,120,0}}, +/* 56296 */ {(14<<2)|2,{82,121,0}}, +/* 56297 */ {(14<<2)|2,{82,121,0}}, +/* 56298 */ {(14<<2)|2,{82,121,0}}, +/* 56299 */ {(14<<2)|2,{82,121,0}}, +/* 56300 */ {(14<<2)|2,{82,122,0}}, +/* 56301 */ {(14<<2)|2,{82,122,0}}, +/* 56302 */ {(14<<2)|2,{82,122,0}}, +/* 56303 */ {(14<<2)|2,{82,122,0}}, +/* 56304 */ {(15<<2)|2,{82,38,0}}, +/* 56305 */ {(15<<2)|2,{82,38,0}}, +/* 56306 */ {(15<<2)|2,{82,42,0}}, +/* 56307 */ {(15<<2)|2,{82,42,0}}, +/* 56308 */ {(15<<2)|2,{82,44,0}}, +/* 56309 */ {(15<<2)|2,{82,44,0}}, +/* 56310 */ {(15<<2)|2,{82,59,0}}, +/* 56311 */ {(15<<2)|2,{82,59,0}}, +/* 56312 */ {(15<<2)|2,{82,88,0}}, +/* 56313 */ {(15<<2)|2,{82,88,0}}, +/* 56314 */ {(15<<2)|2,{82,90,0}}, +/* 56315 */ {(15<<2)|2,{82,90,0}}, +/* 56316 */ {(7<<2)|1,{82,0,0}}, +/* 56317 */ {(7<<2)|1,{82,0,0}}, +/* 56318 */ {(7<<2)|1,{82,0,0}}, +/* 56319 */ {(7<<2)|1,{82,0,0}}, +/* 56320 */ {(12<<2)|2,{83,48,0}}, +/* 56321 */ {(12<<2)|2,{83,48,0}}, +/* 56322 */ {(12<<2)|2,{83,48,0}}, +/* 56323 */ {(12<<2)|2,{83,48,0}}, +/* 56324 */ {(12<<2)|2,{83,48,0}}, +/* 56325 */ {(12<<2)|2,{83,48,0}}, +/* 56326 */ {(12<<2)|2,{83,48,0}}, +/* 56327 */ {(12<<2)|2,{83,48,0}}, +/* 56328 */ {(12<<2)|2,{83,48,0}}, +/* 56329 */ {(12<<2)|2,{83,48,0}}, +/* 56330 */ {(12<<2)|2,{83,48,0}}, +/* 56331 */ {(12<<2)|2,{83,48,0}}, +/* 56332 */ {(12<<2)|2,{83,48,0}}, +/* 56333 */ {(12<<2)|2,{83,48,0}}, +/* 56334 */ {(12<<2)|2,{83,48,0}}, +/* 56335 */ {(12<<2)|2,{83,48,0}}, +/* 56336 */ {(12<<2)|2,{83,49,0}}, +/* 56337 */ {(12<<2)|2,{83,49,0}}, +/* 56338 */ {(12<<2)|2,{83,49,0}}, +/* 56339 */ {(12<<2)|2,{83,49,0}}, +/* 56340 */ {(12<<2)|2,{83,49,0}}, +/* 56341 */ {(12<<2)|2,{83,49,0}}, +/* 56342 */ {(12<<2)|2,{83,49,0}}, +/* 56343 */ {(12<<2)|2,{83,49,0}}, +/* 56344 */ {(12<<2)|2,{83,49,0}}, +/* 56345 */ {(12<<2)|2,{83,49,0}}, +/* 56346 */ {(12<<2)|2,{83,49,0}}, +/* 56347 */ {(12<<2)|2,{83,49,0}}, +/* 56348 */ {(12<<2)|2,{83,49,0}}, +/* 56349 */ {(12<<2)|2,{83,49,0}}, +/* 56350 */ {(12<<2)|2,{83,49,0}}, +/* 56351 */ {(12<<2)|2,{83,49,0}}, +/* 56352 */ {(12<<2)|2,{83,50,0}}, +/* 56353 */ {(12<<2)|2,{83,50,0}}, +/* 56354 */ {(12<<2)|2,{83,50,0}}, +/* 56355 */ {(12<<2)|2,{83,50,0}}, +/* 56356 */ {(12<<2)|2,{83,50,0}}, +/* 56357 */ {(12<<2)|2,{83,50,0}}, +/* 56358 */ {(12<<2)|2,{83,50,0}}, +/* 56359 */ {(12<<2)|2,{83,50,0}}, +/* 56360 */ {(12<<2)|2,{83,50,0}}, +/* 56361 */ {(12<<2)|2,{83,50,0}}, +/* 56362 */ {(12<<2)|2,{83,50,0}}, +/* 56363 */ {(12<<2)|2,{83,50,0}}, +/* 56364 */ {(12<<2)|2,{83,50,0}}, +/* 56365 */ {(12<<2)|2,{83,50,0}}, +/* 56366 */ {(12<<2)|2,{83,50,0}}, +/* 56367 */ {(12<<2)|2,{83,50,0}}, +/* 56368 */ {(12<<2)|2,{83,97,0}}, +/* 56369 */ {(12<<2)|2,{83,97,0}}, +/* 56370 */ {(12<<2)|2,{83,97,0}}, +/* 56371 */ {(12<<2)|2,{83,97,0}}, +/* 56372 */ {(12<<2)|2,{83,97,0}}, +/* 56373 */ {(12<<2)|2,{83,97,0}}, +/* 56374 */ {(12<<2)|2,{83,97,0}}, +/* 56375 */ {(12<<2)|2,{83,97,0}}, +/* 56376 */ {(12<<2)|2,{83,97,0}}, +/* 56377 */ {(12<<2)|2,{83,97,0}}, +/* 56378 */ {(12<<2)|2,{83,97,0}}, +/* 56379 */ {(12<<2)|2,{83,97,0}}, +/* 56380 */ {(12<<2)|2,{83,97,0}}, +/* 56381 */ {(12<<2)|2,{83,97,0}}, +/* 56382 */ {(12<<2)|2,{83,97,0}}, +/* 56383 */ {(12<<2)|2,{83,97,0}}, +/* 56384 */ {(12<<2)|2,{83,99,0}}, +/* 56385 */ {(12<<2)|2,{83,99,0}}, +/* 56386 */ {(12<<2)|2,{83,99,0}}, +/* 56387 */ {(12<<2)|2,{83,99,0}}, +/* 56388 */ {(12<<2)|2,{83,99,0}}, +/* 56389 */ {(12<<2)|2,{83,99,0}}, +/* 56390 */ {(12<<2)|2,{83,99,0}}, +/* 56391 */ {(12<<2)|2,{83,99,0}}, +/* 56392 */ {(12<<2)|2,{83,99,0}}, +/* 56393 */ {(12<<2)|2,{83,99,0}}, +/* 56394 */ {(12<<2)|2,{83,99,0}}, +/* 56395 */ {(12<<2)|2,{83,99,0}}, +/* 56396 */ {(12<<2)|2,{83,99,0}}, +/* 56397 */ {(12<<2)|2,{83,99,0}}, +/* 56398 */ {(12<<2)|2,{83,99,0}}, +/* 56399 */ {(12<<2)|2,{83,99,0}}, +/* 56400 */ {(12<<2)|2,{83,101,0}}, +/* 56401 */ {(12<<2)|2,{83,101,0}}, +/* 56402 */ {(12<<2)|2,{83,101,0}}, +/* 56403 */ {(12<<2)|2,{83,101,0}}, +/* 56404 */ {(12<<2)|2,{83,101,0}}, +/* 56405 */ {(12<<2)|2,{83,101,0}}, +/* 56406 */ {(12<<2)|2,{83,101,0}}, +/* 56407 */ {(12<<2)|2,{83,101,0}}, +/* 56408 */ {(12<<2)|2,{83,101,0}}, +/* 56409 */ {(12<<2)|2,{83,101,0}}, +/* 56410 */ {(12<<2)|2,{83,101,0}}, +/* 56411 */ {(12<<2)|2,{83,101,0}}, +/* 56412 */ {(12<<2)|2,{83,101,0}}, +/* 56413 */ {(12<<2)|2,{83,101,0}}, +/* 56414 */ {(12<<2)|2,{83,101,0}}, +/* 56415 */ {(12<<2)|2,{83,101,0}}, +/* 56416 */ {(12<<2)|2,{83,105,0}}, +/* 56417 */ {(12<<2)|2,{83,105,0}}, +/* 56418 */ {(12<<2)|2,{83,105,0}}, +/* 56419 */ {(12<<2)|2,{83,105,0}}, +/* 56420 */ {(12<<2)|2,{83,105,0}}, +/* 56421 */ {(12<<2)|2,{83,105,0}}, +/* 56422 */ {(12<<2)|2,{83,105,0}}, +/* 56423 */ {(12<<2)|2,{83,105,0}}, +/* 56424 */ {(12<<2)|2,{83,105,0}}, +/* 56425 */ {(12<<2)|2,{83,105,0}}, +/* 56426 */ {(12<<2)|2,{83,105,0}}, +/* 56427 */ {(12<<2)|2,{83,105,0}}, +/* 56428 */ {(12<<2)|2,{83,105,0}}, +/* 56429 */ {(12<<2)|2,{83,105,0}}, +/* 56430 */ {(12<<2)|2,{83,105,0}}, +/* 56431 */ {(12<<2)|2,{83,105,0}}, +/* 56432 */ {(12<<2)|2,{83,111,0}}, +/* 56433 */ {(12<<2)|2,{83,111,0}}, +/* 56434 */ {(12<<2)|2,{83,111,0}}, +/* 56435 */ {(12<<2)|2,{83,111,0}}, +/* 56436 */ {(12<<2)|2,{83,111,0}}, +/* 56437 */ {(12<<2)|2,{83,111,0}}, +/* 56438 */ {(12<<2)|2,{83,111,0}}, +/* 56439 */ {(12<<2)|2,{83,111,0}}, +/* 56440 */ {(12<<2)|2,{83,111,0}}, +/* 56441 */ {(12<<2)|2,{83,111,0}}, +/* 56442 */ {(12<<2)|2,{83,111,0}}, +/* 56443 */ {(12<<2)|2,{83,111,0}}, +/* 56444 */ {(12<<2)|2,{83,111,0}}, +/* 56445 */ {(12<<2)|2,{83,111,0}}, +/* 56446 */ {(12<<2)|2,{83,111,0}}, +/* 56447 */ {(12<<2)|2,{83,111,0}}, +/* 56448 */ {(12<<2)|2,{83,115,0}}, +/* 56449 */ {(12<<2)|2,{83,115,0}}, +/* 56450 */ {(12<<2)|2,{83,115,0}}, +/* 56451 */ {(12<<2)|2,{83,115,0}}, +/* 56452 */ {(12<<2)|2,{83,115,0}}, +/* 56453 */ {(12<<2)|2,{83,115,0}}, +/* 56454 */ {(12<<2)|2,{83,115,0}}, +/* 56455 */ {(12<<2)|2,{83,115,0}}, +/* 56456 */ {(12<<2)|2,{83,115,0}}, +/* 56457 */ {(12<<2)|2,{83,115,0}}, +/* 56458 */ {(12<<2)|2,{83,115,0}}, +/* 56459 */ {(12<<2)|2,{83,115,0}}, +/* 56460 */ {(12<<2)|2,{83,115,0}}, +/* 56461 */ {(12<<2)|2,{83,115,0}}, +/* 56462 */ {(12<<2)|2,{83,115,0}}, +/* 56463 */ {(12<<2)|2,{83,115,0}}, +/* 56464 */ {(12<<2)|2,{83,116,0}}, +/* 56465 */ {(12<<2)|2,{83,116,0}}, +/* 56466 */ {(12<<2)|2,{83,116,0}}, +/* 56467 */ {(12<<2)|2,{83,116,0}}, +/* 56468 */ {(12<<2)|2,{83,116,0}}, +/* 56469 */ {(12<<2)|2,{83,116,0}}, +/* 56470 */ {(12<<2)|2,{83,116,0}}, +/* 56471 */ {(12<<2)|2,{83,116,0}}, +/* 56472 */ {(12<<2)|2,{83,116,0}}, +/* 56473 */ {(12<<2)|2,{83,116,0}}, +/* 56474 */ {(12<<2)|2,{83,116,0}}, +/* 56475 */ {(12<<2)|2,{83,116,0}}, +/* 56476 */ {(12<<2)|2,{83,116,0}}, +/* 56477 */ {(12<<2)|2,{83,116,0}}, +/* 56478 */ {(12<<2)|2,{83,116,0}}, +/* 56479 */ {(12<<2)|2,{83,116,0}}, +/* 56480 */ {(13<<2)|2,{83,32,0}}, +/* 56481 */ {(13<<2)|2,{83,32,0}}, +/* 56482 */ {(13<<2)|2,{83,32,0}}, +/* 56483 */ {(13<<2)|2,{83,32,0}}, +/* 56484 */ {(13<<2)|2,{83,32,0}}, +/* 56485 */ {(13<<2)|2,{83,32,0}}, +/* 56486 */ {(13<<2)|2,{83,32,0}}, +/* 56487 */ {(13<<2)|2,{83,32,0}}, +/* 56488 */ {(13<<2)|2,{83,37,0}}, +/* 56489 */ {(13<<2)|2,{83,37,0}}, +/* 56490 */ {(13<<2)|2,{83,37,0}}, +/* 56491 */ {(13<<2)|2,{83,37,0}}, +/* 56492 */ {(13<<2)|2,{83,37,0}}, +/* 56493 */ {(13<<2)|2,{83,37,0}}, +/* 56494 */ {(13<<2)|2,{83,37,0}}, +/* 56495 */ {(13<<2)|2,{83,37,0}}, +/* 56496 */ {(13<<2)|2,{83,45,0}}, +/* 56497 */ {(13<<2)|2,{83,45,0}}, +/* 56498 */ {(13<<2)|2,{83,45,0}}, +/* 56499 */ {(13<<2)|2,{83,45,0}}, +/* 56500 */ {(13<<2)|2,{83,45,0}}, +/* 56501 */ {(13<<2)|2,{83,45,0}}, +/* 56502 */ {(13<<2)|2,{83,45,0}}, +/* 56503 */ {(13<<2)|2,{83,45,0}}, +/* 56504 */ {(13<<2)|2,{83,46,0}}, +/* 56505 */ {(13<<2)|2,{83,46,0}}, +/* 56506 */ {(13<<2)|2,{83,46,0}}, +/* 56507 */ {(13<<2)|2,{83,46,0}}, +/* 56508 */ {(13<<2)|2,{83,46,0}}, +/* 56509 */ {(13<<2)|2,{83,46,0}}, +/* 56510 */ {(13<<2)|2,{83,46,0}}, +/* 56511 */ {(13<<2)|2,{83,46,0}}, +/* 56512 */ {(13<<2)|2,{83,47,0}}, +/* 56513 */ {(13<<2)|2,{83,47,0}}, +/* 56514 */ {(13<<2)|2,{83,47,0}}, +/* 56515 */ {(13<<2)|2,{83,47,0}}, +/* 56516 */ {(13<<2)|2,{83,47,0}}, +/* 56517 */ {(13<<2)|2,{83,47,0}}, +/* 56518 */ {(13<<2)|2,{83,47,0}}, +/* 56519 */ {(13<<2)|2,{83,47,0}}, +/* 56520 */ {(13<<2)|2,{83,51,0}}, +/* 56521 */ {(13<<2)|2,{83,51,0}}, +/* 56522 */ {(13<<2)|2,{83,51,0}}, +/* 56523 */ {(13<<2)|2,{83,51,0}}, +/* 56524 */ {(13<<2)|2,{83,51,0}}, +/* 56525 */ {(13<<2)|2,{83,51,0}}, +/* 56526 */ {(13<<2)|2,{83,51,0}}, +/* 56527 */ {(13<<2)|2,{83,51,0}}, +/* 56528 */ {(13<<2)|2,{83,52,0}}, +/* 56529 */ {(13<<2)|2,{83,52,0}}, +/* 56530 */ {(13<<2)|2,{83,52,0}}, +/* 56531 */ {(13<<2)|2,{83,52,0}}, +/* 56532 */ {(13<<2)|2,{83,52,0}}, +/* 56533 */ {(13<<2)|2,{83,52,0}}, +/* 56534 */ {(13<<2)|2,{83,52,0}}, +/* 56535 */ {(13<<2)|2,{83,52,0}}, +/* 56536 */ {(13<<2)|2,{83,53,0}}, +/* 56537 */ {(13<<2)|2,{83,53,0}}, +/* 56538 */ {(13<<2)|2,{83,53,0}}, +/* 56539 */ {(13<<2)|2,{83,53,0}}, +/* 56540 */ {(13<<2)|2,{83,53,0}}, +/* 56541 */ {(13<<2)|2,{83,53,0}}, +/* 56542 */ {(13<<2)|2,{83,53,0}}, +/* 56543 */ {(13<<2)|2,{83,53,0}}, +/* 56544 */ {(13<<2)|2,{83,54,0}}, +/* 56545 */ {(13<<2)|2,{83,54,0}}, +/* 56546 */ {(13<<2)|2,{83,54,0}}, +/* 56547 */ {(13<<2)|2,{83,54,0}}, +/* 56548 */ {(13<<2)|2,{83,54,0}}, +/* 56549 */ {(13<<2)|2,{83,54,0}}, +/* 56550 */ {(13<<2)|2,{83,54,0}}, +/* 56551 */ {(13<<2)|2,{83,54,0}}, +/* 56552 */ {(13<<2)|2,{83,55,0}}, +/* 56553 */ {(13<<2)|2,{83,55,0}}, +/* 56554 */ {(13<<2)|2,{83,55,0}}, +/* 56555 */ {(13<<2)|2,{83,55,0}}, +/* 56556 */ {(13<<2)|2,{83,55,0}}, +/* 56557 */ {(13<<2)|2,{83,55,0}}, +/* 56558 */ {(13<<2)|2,{83,55,0}}, +/* 56559 */ {(13<<2)|2,{83,55,0}}, +/* 56560 */ {(13<<2)|2,{83,56,0}}, +/* 56561 */ {(13<<2)|2,{83,56,0}}, +/* 56562 */ {(13<<2)|2,{83,56,0}}, +/* 56563 */ {(13<<2)|2,{83,56,0}}, +/* 56564 */ {(13<<2)|2,{83,56,0}}, +/* 56565 */ {(13<<2)|2,{83,56,0}}, +/* 56566 */ {(13<<2)|2,{83,56,0}}, +/* 56567 */ {(13<<2)|2,{83,56,0}}, +/* 56568 */ {(13<<2)|2,{83,57,0}}, +/* 56569 */ {(13<<2)|2,{83,57,0}}, +/* 56570 */ {(13<<2)|2,{83,57,0}}, +/* 56571 */ {(13<<2)|2,{83,57,0}}, +/* 56572 */ {(13<<2)|2,{83,57,0}}, +/* 56573 */ {(13<<2)|2,{83,57,0}}, +/* 56574 */ {(13<<2)|2,{83,57,0}}, +/* 56575 */ {(13<<2)|2,{83,57,0}}, +/* 56576 */ {(13<<2)|2,{83,61,0}}, +/* 56577 */ {(13<<2)|2,{83,61,0}}, +/* 56578 */ {(13<<2)|2,{83,61,0}}, +/* 56579 */ {(13<<2)|2,{83,61,0}}, +/* 56580 */ {(13<<2)|2,{83,61,0}}, +/* 56581 */ {(13<<2)|2,{83,61,0}}, +/* 56582 */ {(13<<2)|2,{83,61,0}}, +/* 56583 */ {(13<<2)|2,{83,61,0}}, +/* 56584 */ {(13<<2)|2,{83,65,0}}, +/* 56585 */ {(13<<2)|2,{83,65,0}}, +/* 56586 */ {(13<<2)|2,{83,65,0}}, +/* 56587 */ {(13<<2)|2,{83,65,0}}, +/* 56588 */ {(13<<2)|2,{83,65,0}}, +/* 56589 */ {(13<<2)|2,{83,65,0}}, +/* 56590 */ {(13<<2)|2,{83,65,0}}, +/* 56591 */ {(13<<2)|2,{83,65,0}}, +/* 56592 */ {(13<<2)|2,{83,95,0}}, +/* 56593 */ {(13<<2)|2,{83,95,0}}, +/* 56594 */ {(13<<2)|2,{83,95,0}}, +/* 56595 */ {(13<<2)|2,{83,95,0}}, +/* 56596 */ {(13<<2)|2,{83,95,0}}, +/* 56597 */ {(13<<2)|2,{83,95,0}}, +/* 56598 */ {(13<<2)|2,{83,95,0}}, +/* 56599 */ {(13<<2)|2,{83,95,0}}, +/* 56600 */ {(13<<2)|2,{83,98,0}}, +/* 56601 */ {(13<<2)|2,{83,98,0}}, +/* 56602 */ {(13<<2)|2,{83,98,0}}, +/* 56603 */ {(13<<2)|2,{83,98,0}}, +/* 56604 */ {(13<<2)|2,{83,98,0}}, +/* 56605 */ {(13<<2)|2,{83,98,0}}, +/* 56606 */ {(13<<2)|2,{83,98,0}}, +/* 56607 */ {(13<<2)|2,{83,98,0}}, +/* 56608 */ {(13<<2)|2,{83,100,0}}, +/* 56609 */ {(13<<2)|2,{83,100,0}}, +/* 56610 */ {(13<<2)|2,{83,100,0}}, +/* 56611 */ {(13<<2)|2,{83,100,0}}, +/* 56612 */ {(13<<2)|2,{83,100,0}}, +/* 56613 */ {(13<<2)|2,{83,100,0}}, +/* 56614 */ {(13<<2)|2,{83,100,0}}, +/* 56615 */ {(13<<2)|2,{83,100,0}}, +/* 56616 */ {(13<<2)|2,{83,102,0}}, +/* 56617 */ {(13<<2)|2,{83,102,0}}, +/* 56618 */ {(13<<2)|2,{83,102,0}}, +/* 56619 */ {(13<<2)|2,{83,102,0}}, +/* 56620 */ {(13<<2)|2,{83,102,0}}, +/* 56621 */ {(13<<2)|2,{83,102,0}}, +/* 56622 */ {(13<<2)|2,{83,102,0}}, +/* 56623 */ {(13<<2)|2,{83,102,0}}, +/* 56624 */ {(13<<2)|2,{83,103,0}}, +/* 56625 */ {(13<<2)|2,{83,103,0}}, +/* 56626 */ {(13<<2)|2,{83,103,0}}, +/* 56627 */ {(13<<2)|2,{83,103,0}}, +/* 56628 */ {(13<<2)|2,{83,103,0}}, +/* 56629 */ {(13<<2)|2,{83,103,0}}, +/* 56630 */ {(13<<2)|2,{83,103,0}}, +/* 56631 */ {(13<<2)|2,{83,103,0}}, +/* 56632 */ {(13<<2)|2,{83,104,0}}, +/* 56633 */ {(13<<2)|2,{83,104,0}}, +/* 56634 */ {(13<<2)|2,{83,104,0}}, +/* 56635 */ {(13<<2)|2,{83,104,0}}, +/* 56636 */ {(13<<2)|2,{83,104,0}}, +/* 56637 */ {(13<<2)|2,{83,104,0}}, +/* 56638 */ {(13<<2)|2,{83,104,0}}, +/* 56639 */ {(13<<2)|2,{83,104,0}}, +/* 56640 */ {(13<<2)|2,{83,108,0}}, +/* 56641 */ {(13<<2)|2,{83,108,0}}, +/* 56642 */ {(13<<2)|2,{83,108,0}}, +/* 56643 */ {(13<<2)|2,{83,108,0}}, +/* 56644 */ {(13<<2)|2,{83,108,0}}, +/* 56645 */ {(13<<2)|2,{83,108,0}}, +/* 56646 */ {(13<<2)|2,{83,108,0}}, +/* 56647 */ {(13<<2)|2,{83,108,0}}, +/* 56648 */ {(13<<2)|2,{83,109,0}}, +/* 56649 */ {(13<<2)|2,{83,109,0}}, +/* 56650 */ {(13<<2)|2,{83,109,0}}, +/* 56651 */ {(13<<2)|2,{83,109,0}}, +/* 56652 */ {(13<<2)|2,{83,109,0}}, +/* 56653 */ {(13<<2)|2,{83,109,0}}, +/* 56654 */ {(13<<2)|2,{83,109,0}}, +/* 56655 */ {(13<<2)|2,{83,109,0}}, +/* 56656 */ {(13<<2)|2,{83,110,0}}, +/* 56657 */ {(13<<2)|2,{83,110,0}}, +/* 56658 */ {(13<<2)|2,{83,110,0}}, +/* 56659 */ {(13<<2)|2,{83,110,0}}, +/* 56660 */ {(13<<2)|2,{83,110,0}}, +/* 56661 */ {(13<<2)|2,{83,110,0}}, +/* 56662 */ {(13<<2)|2,{83,110,0}}, +/* 56663 */ {(13<<2)|2,{83,110,0}}, +/* 56664 */ {(13<<2)|2,{83,112,0}}, +/* 56665 */ {(13<<2)|2,{83,112,0}}, +/* 56666 */ {(13<<2)|2,{83,112,0}}, +/* 56667 */ {(13<<2)|2,{83,112,0}}, +/* 56668 */ {(13<<2)|2,{83,112,0}}, +/* 56669 */ {(13<<2)|2,{83,112,0}}, +/* 56670 */ {(13<<2)|2,{83,112,0}}, +/* 56671 */ {(13<<2)|2,{83,112,0}}, +/* 56672 */ {(13<<2)|2,{83,114,0}}, +/* 56673 */ {(13<<2)|2,{83,114,0}}, +/* 56674 */ {(13<<2)|2,{83,114,0}}, +/* 56675 */ {(13<<2)|2,{83,114,0}}, +/* 56676 */ {(13<<2)|2,{83,114,0}}, +/* 56677 */ {(13<<2)|2,{83,114,0}}, +/* 56678 */ {(13<<2)|2,{83,114,0}}, +/* 56679 */ {(13<<2)|2,{83,114,0}}, +/* 56680 */ {(13<<2)|2,{83,117,0}}, +/* 56681 */ {(13<<2)|2,{83,117,0}}, +/* 56682 */ {(13<<2)|2,{83,117,0}}, +/* 56683 */ {(13<<2)|2,{83,117,0}}, +/* 56684 */ {(13<<2)|2,{83,117,0}}, +/* 56685 */ {(13<<2)|2,{83,117,0}}, +/* 56686 */ {(13<<2)|2,{83,117,0}}, +/* 56687 */ {(13<<2)|2,{83,117,0}}, +/* 56688 */ {(14<<2)|2,{83,58,0}}, +/* 56689 */ {(14<<2)|2,{83,58,0}}, +/* 56690 */ {(14<<2)|2,{83,58,0}}, +/* 56691 */ {(14<<2)|2,{83,58,0}}, +/* 56692 */ {(14<<2)|2,{83,66,0}}, +/* 56693 */ {(14<<2)|2,{83,66,0}}, +/* 56694 */ {(14<<2)|2,{83,66,0}}, +/* 56695 */ {(14<<2)|2,{83,66,0}}, +/* 56696 */ {(14<<2)|2,{83,67,0}}, +/* 56697 */ {(14<<2)|2,{83,67,0}}, +/* 56698 */ {(14<<2)|2,{83,67,0}}, +/* 56699 */ {(14<<2)|2,{83,67,0}}, +/* 56700 */ {(14<<2)|2,{83,68,0}}, +/* 56701 */ {(14<<2)|2,{83,68,0}}, +/* 56702 */ {(14<<2)|2,{83,68,0}}, +/* 56703 */ {(14<<2)|2,{83,68,0}}, +/* 56704 */ {(14<<2)|2,{83,69,0}}, +/* 56705 */ {(14<<2)|2,{83,69,0}}, +/* 56706 */ {(14<<2)|2,{83,69,0}}, +/* 56707 */ {(14<<2)|2,{83,69,0}}, +/* 56708 */ {(14<<2)|2,{83,70,0}}, +/* 56709 */ {(14<<2)|2,{83,70,0}}, +/* 56710 */ {(14<<2)|2,{83,70,0}}, +/* 56711 */ {(14<<2)|2,{83,70,0}}, +/* 56712 */ {(14<<2)|2,{83,71,0}}, +/* 56713 */ {(14<<2)|2,{83,71,0}}, +/* 56714 */ {(14<<2)|2,{83,71,0}}, +/* 56715 */ {(14<<2)|2,{83,71,0}}, +/* 56716 */ {(14<<2)|2,{83,72,0}}, +/* 56717 */ {(14<<2)|2,{83,72,0}}, +/* 56718 */ {(14<<2)|2,{83,72,0}}, +/* 56719 */ {(14<<2)|2,{83,72,0}}, +/* 56720 */ {(14<<2)|2,{83,73,0}}, +/* 56721 */ {(14<<2)|2,{83,73,0}}, +/* 56722 */ {(14<<2)|2,{83,73,0}}, +/* 56723 */ {(14<<2)|2,{83,73,0}}, +/* 56724 */ {(14<<2)|2,{83,74,0}}, +/* 56725 */ {(14<<2)|2,{83,74,0}}, +/* 56726 */ {(14<<2)|2,{83,74,0}}, +/* 56727 */ {(14<<2)|2,{83,74,0}}, +/* 56728 */ {(14<<2)|2,{83,75,0}}, +/* 56729 */ {(14<<2)|2,{83,75,0}}, +/* 56730 */ {(14<<2)|2,{83,75,0}}, +/* 56731 */ {(14<<2)|2,{83,75,0}}, +/* 56732 */ {(14<<2)|2,{83,76,0}}, +/* 56733 */ {(14<<2)|2,{83,76,0}}, +/* 56734 */ {(14<<2)|2,{83,76,0}}, +/* 56735 */ {(14<<2)|2,{83,76,0}}, +/* 56736 */ {(14<<2)|2,{83,77,0}}, +/* 56737 */ {(14<<2)|2,{83,77,0}}, +/* 56738 */ {(14<<2)|2,{83,77,0}}, +/* 56739 */ {(14<<2)|2,{83,77,0}}, +/* 56740 */ {(14<<2)|2,{83,78,0}}, +/* 56741 */ {(14<<2)|2,{83,78,0}}, +/* 56742 */ {(14<<2)|2,{83,78,0}}, +/* 56743 */ {(14<<2)|2,{83,78,0}}, +/* 56744 */ {(14<<2)|2,{83,79,0}}, +/* 56745 */ {(14<<2)|2,{83,79,0}}, +/* 56746 */ {(14<<2)|2,{83,79,0}}, +/* 56747 */ {(14<<2)|2,{83,79,0}}, +/* 56748 */ {(14<<2)|2,{83,80,0}}, +/* 56749 */ {(14<<2)|2,{83,80,0}}, +/* 56750 */ {(14<<2)|2,{83,80,0}}, +/* 56751 */ {(14<<2)|2,{83,80,0}}, +/* 56752 */ {(14<<2)|2,{83,81,0}}, +/* 56753 */ {(14<<2)|2,{83,81,0}}, +/* 56754 */ {(14<<2)|2,{83,81,0}}, +/* 56755 */ {(14<<2)|2,{83,81,0}}, +/* 56756 */ {(14<<2)|2,{83,82,0}}, +/* 56757 */ {(14<<2)|2,{83,82,0}}, +/* 56758 */ {(14<<2)|2,{83,82,0}}, +/* 56759 */ {(14<<2)|2,{83,82,0}}, +/* 56760 */ {(14<<2)|2,{83,83,0}}, +/* 56761 */ {(14<<2)|2,{83,83,0}}, +/* 56762 */ {(14<<2)|2,{83,83,0}}, +/* 56763 */ {(14<<2)|2,{83,83,0}}, +/* 56764 */ {(14<<2)|2,{83,84,0}}, +/* 56765 */ {(14<<2)|2,{83,84,0}}, +/* 56766 */ {(14<<2)|2,{83,84,0}}, +/* 56767 */ {(14<<2)|2,{83,84,0}}, +/* 56768 */ {(14<<2)|2,{83,85,0}}, +/* 56769 */ {(14<<2)|2,{83,85,0}}, +/* 56770 */ {(14<<2)|2,{83,85,0}}, +/* 56771 */ {(14<<2)|2,{83,85,0}}, +/* 56772 */ {(14<<2)|2,{83,86,0}}, +/* 56773 */ {(14<<2)|2,{83,86,0}}, +/* 56774 */ {(14<<2)|2,{83,86,0}}, +/* 56775 */ {(14<<2)|2,{83,86,0}}, +/* 56776 */ {(14<<2)|2,{83,87,0}}, +/* 56777 */ {(14<<2)|2,{83,87,0}}, +/* 56778 */ {(14<<2)|2,{83,87,0}}, +/* 56779 */ {(14<<2)|2,{83,87,0}}, +/* 56780 */ {(14<<2)|2,{83,89,0}}, +/* 56781 */ {(14<<2)|2,{83,89,0}}, +/* 56782 */ {(14<<2)|2,{83,89,0}}, +/* 56783 */ {(14<<2)|2,{83,89,0}}, +/* 56784 */ {(14<<2)|2,{83,106,0}}, +/* 56785 */ {(14<<2)|2,{83,106,0}}, +/* 56786 */ {(14<<2)|2,{83,106,0}}, +/* 56787 */ {(14<<2)|2,{83,106,0}}, +/* 56788 */ {(14<<2)|2,{83,107,0}}, +/* 56789 */ {(14<<2)|2,{83,107,0}}, +/* 56790 */ {(14<<2)|2,{83,107,0}}, +/* 56791 */ {(14<<2)|2,{83,107,0}}, +/* 56792 */ {(14<<2)|2,{83,113,0}}, +/* 56793 */ {(14<<2)|2,{83,113,0}}, +/* 56794 */ {(14<<2)|2,{83,113,0}}, +/* 56795 */ {(14<<2)|2,{83,113,0}}, +/* 56796 */ {(14<<2)|2,{83,118,0}}, +/* 56797 */ {(14<<2)|2,{83,118,0}}, +/* 56798 */ {(14<<2)|2,{83,118,0}}, +/* 56799 */ {(14<<2)|2,{83,118,0}}, +/* 56800 */ {(14<<2)|2,{83,119,0}}, +/* 56801 */ {(14<<2)|2,{83,119,0}}, +/* 56802 */ {(14<<2)|2,{83,119,0}}, +/* 56803 */ {(14<<2)|2,{83,119,0}}, +/* 56804 */ {(14<<2)|2,{83,120,0}}, +/* 56805 */ {(14<<2)|2,{83,120,0}}, +/* 56806 */ {(14<<2)|2,{83,120,0}}, +/* 56807 */ {(14<<2)|2,{83,120,0}}, +/* 56808 */ {(14<<2)|2,{83,121,0}}, +/* 56809 */ {(14<<2)|2,{83,121,0}}, +/* 56810 */ {(14<<2)|2,{83,121,0}}, +/* 56811 */ {(14<<2)|2,{83,121,0}}, +/* 56812 */ {(14<<2)|2,{83,122,0}}, +/* 56813 */ {(14<<2)|2,{83,122,0}}, +/* 56814 */ {(14<<2)|2,{83,122,0}}, +/* 56815 */ {(14<<2)|2,{83,122,0}}, +/* 56816 */ {(15<<2)|2,{83,38,0}}, +/* 56817 */ {(15<<2)|2,{83,38,0}}, +/* 56818 */ {(15<<2)|2,{83,42,0}}, +/* 56819 */ {(15<<2)|2,{83,42,0}}, +/* 56820 */ {(15<<2)|2,{83,44,0}}, +/* 56821 */ {(15<<2)|2,{83,44,0}}, +/* 56822 */ {(15<<2)|2,{83,59,0}}, +/* 56823 */ {(15<<2)|2,{83,59,0}}, +/* 56824 */ {(15<<2)|2,{83,88,0}}, +/* 56825 */ {(15<<2)|2,{83,88,0}}, +/* 56826 */ {(15<<2)|2,{83,90,0}}, +/* 56827 */ {(15<<2)|2,{83,90,0}}, +/* 56828 */ {(7<<2)|1,{83,0,0}}, +/* 56829 */ {(7<<2)|1,{83,0,0}}, +/* 56830 */ {(7<<2)|1,{83,0,0}}, +/* 56831 */ {(7<<2)|1,{83,0,0}}, +/* 56832 */ {(12<<2)|2,{84,48,0}}, +/* 56833 */ {(12<<2)|2,{84,48,0}}, +/* 56834 */ {(12<<2)|2,{84,48,0}}, +/* 56835 */ {(12<<2)|2,{84,48,0}}, +/* 56836 */ {(12<<2)|2,{84,48,0}}, +/* 56837 */ {(12<<2)|2,{84,48,0}}, +/* 56838 */ {(12<<2)|2,{84,48,0}}, +/* 56839 */ {(12<<2)|2,{84,48,0}}, +/* 56840 */ {(12<<2)|2,{84,48,0}}, +/* 56841 */ {(12<<2)|2,{84,48,0}}, +/* 56842 */ {(12<<2)|2,{84,48,0}}, +/* 56843 */ {(12<<2)|2,{84,48,0}}, +/* 56844 */ {(12<<2)|2,{84,48,0}}, +/* 56845 */ {(12<<2)|2,{84,48,0}}, +/* 56846 */ {(12<<2)|2,{84,48,0}}, +/* 56847 */ {(12<<2)|2,{84,48,0}}, +/* 56848 */ {(12<<2)|2,{84,49,0}}, +/* 56849 */ {(12<<2)|2,{84,49,0}}, +/* 56850 */ {(12<<2)|2,{84,49,0}}, +/* 56851 */ {(12<<2)|2,{84,49,0}}, +/* 56852 */ {(12<<2)|2,{84,49,0}}, +/* 56853 */ {(12<<2)|2,{84,49,0}}, +/* 56854 */ {(12<<2)|2,{84,49,0}}, +/* 56855 */ {(12<<2)|2,{84,49,0}}, +/* 56856 */ {(12<<2)|2,{84,49,0}}, +/* 56857 */ {(12<<2)|2,{84,49,0}}, +/* 56858 */ {(12<<2)|2,{84,49,0}}, +/* 56859 */ {(12<<2)|2,{84,49,0}}, +/* 56860 */ {(12<<2)|2,{84,49,0}}, +/* 56861 */ {(12<<2)|2,{84,49,0}}, +/* 56862 */ {(12<<2)|2,{84,49,0}}, +/* 56863 */ {(12<<2)|2,{84,49,0}}, +/* 56864 */ {(12<<2)|2,{84,50,0}}, +/* 56865 */ {(12<<2)|2,{84,50,0}}, +/* 56866 */ {(12<<2)|2,{84,50,0}}, +/* 56867 */ {(12<<2)|2,{84,50,0}}, +/* 56868 */ {(12<<2)|2,{84,50,0}}, +/* 56869 */ {(12<<2)|2,{84,50,0}}, +/* 56870 */ {(12<<2)|2,{84,50,0}}, +/* 56871 */ {(12<<2)|2,{84,50,0}}, +/* 56872 */ {(12<<2)|2,{84,50,0}}, +/* 56873 */ {(12<<2)|2,{84,50,0}}, +/* 56874 */ {(12<<2)|2,{84,50,0}}, +/* 56875 */ {(12<<2)|2,{84,50,0}}, +/* 56876 */ {(12<<2)|2,{84,50,0}}, +/* 56877 */ {(12<<2)|2,{84,50,0}}, +/* 56878 */ {(12<<2)|2,{84,50,0}}, +/* 56879 */ {(12<<2)|2,{84,50,0}}, +/* 56880 */ {(12<<2)|2,{84,97,0}}, +/* 56881 */ {(12<<2)|2,{84,97,0}}, +/* 56882 */ {(12<<2)|2,{84,97,0}}, +/* 56883 */ {(12<<2)|2,{84,97,0}}, +/* 56884 */ {(12<<2)|2,{84,97,0}}, +/* 56885 */ {(12<<2)|2,{84,97,0}}, +/* 56886 */ {(12<<2)|2,{84,97,0}}, +/* 56887 */ {(12<<2)|2,{84,97,0}}, +/* 56888 */ {(12<<2)|2,{84,97,0}}, +/* 56889 */ {(12<<2)|2,{84,97,0}}, +/* 56890 */ {(12<<2)|2,{84,97,0}}, +/* 56891 */ {(12<<2)|2,{84,97,0}}, +/* 56892 */ {(12<<2)|2,{84,97,0}}, +/* 56893 */ {(12<<2)|2,{84,97,0}}, +/* 56894 */ {(12<<2)|2,{84,97,0}}, +/* 56895 */ {(12<<2)|2,{84,97,0}}, +/* 56896 */ {(12<<2)|2,{84,99,0}}, +/* 56897 */ {(12<<2)|2,{84,99,0}}, +/* 56898 */ {(12<<2)|2,{84,99,0}}, +/* 56899 */ {(12<<2)|2,{84,99,0}}, +/* 56900 */ {(12<<2)|2,{84,99,0}}, +/* 56901 */ {(12<<2)|2,{84,99,0}}, +/* 56902 */ {(12<<2)|2,{84,99,0}}, +/* 56903 */ {(12<<2)|2,{84,99,0}}, +/* 56904 */ {(12<<2)|2,{84,99,0}}, +/* 56905 */ {(12<<2)|2,{84,99,0}}, +/* 56906 */ {(12<<2)|2,{84,99,0}}, +/* 56907 */ {(12<<2)|2,{84,99,0}}, +/* 56908 */ {(12<<2)|2,{84,99,0}}, +/* 56909 */ {(12<<2)|2,{84,99,0}}, +/* 56910 */ {(12<<2)|2,{84,99,0}}, +/* 56911 */ {(12<<2)|2,{84,99,0}}, +/* 56912 */ {(12<<2)|2,{84,101,0}}, +/* 56913 */ {(12<<2)|2,{84,101,0}}, +/* 56914 */ {(12<<2)|2,{84,101,0}}, +/* 56915 */ {(12<<2)|2,{84,101,0}}, +/* 56916 */ {(12<<2)|2,{84,101,0}}, +/* 56917 */ {(12<<2)|2,{84,101,0}}, +/* 56918 */ {(12<<2)|2,{84,101,0}}, +/* 56919 */ {(12<<2)|2,{84,101,0}}, +/* 56920 */ {(12<<2)|2,{84,101,0}}, +/* 56921 */ {(12<<2)|2,{84,101,0}}, +/* 56922 */ {(12<<2)|2,{84,101,0}}, +/* 56923 */ {(12<<2)|2,{84,101,0}}, +/* 56924 */ {(12<<2)|2,{84,101,0}}, +/* 56925 */ {(12<<2)|2,{84,101,0}}, +/* 56926 */ {(12<<2)|2,{84,101,0}}, +/* 56927 */ {(12<<2)|2,{84,101,0}}, +/* 56928 */ {(12<<2)|2,{84,105,0}}, +/* 56929 */ {(12<<2)|2,{84,105,0}}, +/* 56930 */ {(12<<2)|2,{84,105,0}}, +/* 56931 */ {(12<<2)|2,{84,105,0}}, +/* 56932 */ {(12<<2)|2,{84,105,0}}, +/* 56933 */ {(12<<2)|2,{84,105,0}}, +/* 56934 */ {(12<<2)|2,{84,105,0}}, +/* 56935 */ {(12<<2)|2,{84,105,0}}, +/* 56936 */ {(12<<2)|2,{84,105,0}}, +/* 56937 */ {(12<<2)|2,{84,105,0}}, +/* 56938 */ {(12<<2)|2,{84,105,0}}, +/* 56939 */ {(12<<2)|2,{84,105,0}}, +/* 56940 */ {(12<<2)|2,{84,105,0}}, +/* 56941 */ {(12<<2)|2,{84,105,0}}, +/* 56942 */ {(12<<2)|2,{84,105,0}}, +/* 56943 */ {(12<<2)|2,{84,105,0}}, +/* 56944 */ {(12<<2)|2,{84,111,0}}, +/* 56945 */ {(12<<2)|2,{84,111,0}}, +/* 56946 */ {(12<<2)|2,{84,111,0}}, +/* 56947 */ {(12<<2)|2,{84,111,0}}, +/* 56948 */ {(12<<2)|2,{84,111,0}}, +/* 56949 */ {(12<<2)|2,{84,111,0}}, +/* 56950 */ {(12<<2)|2,{84,111,0}}, +/* 56951 */ {(12<<2)|2,{84,111,0}}, +/* 56952 */ {(12<<2)|2,{84,111,0}}, +/* 56953 */ {(12<<2)|2,{84,111,0}}, +/* 56954 */ {(12<<2)|2,{84,111,0}}, +/* 56955 */ {(12<<2)|2,{84,111,0}}, +/* 56956 */ {(12<<2)|2,{84,111,0}}, +/* 56957 */ {(12<<2)|2,{84,111,0}}, +/* 56958 */ {(12<<2)|2,{84,111,0}}, +/* 56959 */ {(12<<2)|2,{84,111,0}}, +/* 56960 */ {(12<<2)|2,{84,115,0}}, +/* 56961 */ {(12<<2)|2,{84,115,0}}, +/* 56962 */ {(12<<2)|2,{84,115,0}}, +/* 56963 */ {(12<<2)|2,{84,115,0}}, +/* 56964 */ {(12<<2)|2,{84,115,0}}, +/* 56965 */ {(12<<2)|2,{84,115,0}}, +/* 56966 */ {(12<<2)|2,{84,115,0}}, +/* 56967 */ {(12<<2)|2,{84,115,0}}, +/* 56968 */ {(12<<2)|2,{84,115,0}}, +/* 56969 */ {(12<<2)|2,{84,115,0}}, +/* 56970 */ {(12<<2)|2,{84,115,0}}, +/* 56971 */ {(12<<2)|2,{84,115,0}}, +/* 56972 */ {(12<<2)|2,{84,115,0}}, +/* 56973 */ {(12<<2)|2,{84,115,0}}, +/* 56974 */ {(12<<2)|2,{84,115,0}}, +/* 56975 */ {(12<<2)|2,{84,115,0}}, +/* 56976 */ {(12<<2)|2,{84,116,0}}, +/* 56977 */ {(12<<2)|2,{84,116,0}}, +/* 56978 */ {(12<<2)|2,{84,116,0}}, +/* 56979 */ {(12<<2)|2,{84,116,0}}, +/* 56980 */ {(12<<2)|2,{84,116,0}}, +/* 56981 */ {(12<<2)|2,{84,116,0}}, +/* 56982 */ {(12<<2)|2,{84,116,0}}, +/* 56983 */ {(12<<2)|2,{84,116,0}}, +/* 56984 */ {(12<<2)|2,{84,116,0}}, +/* 56985 */ {(12<<2)|2,{84,116,0}}, +/* 56986 */ {(12<<2)|2,{84,116,0}}, +/* 56987 */ {(12<<2)|2,{84,116,0}}, +/* 56988 */ {(12<<2)|2,{84,116,0}}, +/* 56989 */ {(12<<2)|2,{84,116,0}}, +/* 56990 */ {(12<<2)|2,{84,116,0}}, +/* 56991 */ {(12<<2)|2,{84,116,0}}, +/* 56992 */ {(13<<2)|2,{84,32,0}}, +/* 56993 */ {(13<<2)|2,{84,32,0}}, +/* 56994 */ {(13<<2)|2,{84,32,0}}, +/* 56995 */ {(13<<2)|2,{84,32,0}}, +/* 56996 */ {(13<<2)|2,{84,32,0}}, +/* 56997 */ {(13<<2)|2,{84,32,0}}, +/* 56998 */ {(13<<2)|2,{84,32,0}}, +/* 56999 */ {(13<<2)|2,{84,32,0}}, +/* 57000 */ {(13<<2)|2,{84,37,0}}, +/* 57001 */ {(13<<2)|2,{84,37,0}}, +/* 57002 */ {(13<<2)|2,{84,37,0}}, +/* 57003 */ {(13<<2)|2,{84,37,0}}, +/* 57004 */ {(13<<2)|2,{84,37,0}}, +/* 57005 */ {(13<<2)|2,{84,37,0}}, +/* 57006 */ {(13<<2)|2,{84,37,0}}, +/* 57007 */ {(13<<2)|2,{84,37,0}}, +/* 57008 */ {(13<<2)|2,{84,45,0}}, +/* 57009 */ {(13<<2)|2,{84,45,0}}, +/* 57010 */ {(13<<2)|2,{84,45,0}}, +/* 57011 */ {(13<<2)|2,{84,45,0}}, +/* 57012 */ {(13<<2)|2,{84,45,0}}, +/* 57013 */ {(13<<2)|2,{84,45,0}}, +/* 57014 */ {(13<<2)|2,{84,45,0}}, +/* 57015 */ {(13<<2)|2,{84,45,0}}, +/* 57016 */ {(13<<2)|2,{84,46,0}}, +/* 57017 */ {(13<<2)|2,{84,46,0}}, +/* 57018 */ {(13<<2)|2,{84,46,0}}, +/* 57019 */ {(13<<2)|2,{84,46,0}}, +/* 57020 */ {(13<<2)|2,{84,46,0}}, +/* 57021 */ {(13<<2)|2,{84,46,0}}, +/* 57022 */ {(13<<2)|2,{84,46,0}}, +/* 57023 */ {(13<<2)|2,{84,46,0}}, +/* 57024 */ {(13<<2)|2,{84,47,0}}, +/* 57025 */ {(13<<2)|2,{84,47,0}}, +/* 57026 */ {(13<<2)|2,{84,47,0}}, +/* 57027 */ {(13<<2)|2,{84,47,0}}, +/* 57028 */ {(13<<2)|2,{84,47,0}}, +/* 57029 */ {(13<<2)|2,{84,47,0}}, +/* 57030 */ {(13<<2)|2,{84,47,0}}, +/* 57031 */ {(13<<2)|2,{84,47,0}}, +/* 57032 */ {(13<<2)|2,{84,51,0}}, +/* 57033 */ {(13<<2)|2,{84,51,0}}, +/* 57034 */ {(13<<2)|2,{84,51,0}}, +/* 57035 */ {(13<<2)|2,{84,51,0}}, +/* 57036 */ {(13<<2)|2,{84,51,0}}, +/* 57037 */ {(13<<2)|2,{84,51,0}}, +/* 57038 */ {(13<<2)|2,{84,51,0}}, +/* 57039 */ {(13<<2)|2,{84,51,0}}, +/* 57040 */ {(13<<2)|2,{84,52,0}}, +/* 57041 */ {(13<<2)|2,{84,52,0}}, +/* 57042 */ {(13<<2)|2,{84,52,0}}, +/* 57043 */ {(13<<2)|2,{84,52,0}}, +/* 57044 */ {(13<<2)|2,{84,52,0}}, +/* 57045 */ {(13<<2)|2,{84,52,0}}, +/* 57046 */ {(13<<2)|2,{84,52,0}}, +/* 57047 */ {(13<<2)|2,{84,52,0}}, +/* 57048 */ {(13<<2)|2,{84,53,0}}, +/* 57049 */ {(13<<2)|2,{84,53,0}}, +/* 57050 */ {(13<<2)|2,{84,53,0}}, +/* 57051 */ {(13<<2)|2,{84,53,0}}, +/* 57052 */ {(13<<2)|2,{84,53,0}}, +/* 57053 */ {(13<<2)|2,{84,53,0}}, +/* 57054 */ {(13<<2)|2,{84,53,0}}, +/* 57055 */ {(13<<2)|2,{84,53,0}}, +/* 57056 */ {(13<<2)|2,{84,54,0}}, +/* 57057 */ {(13<<2)|2,{84,54,0}}, +/* 57058 */ {(13<<2)|2,{84,54,0}}, +/* 57059 */ {(13<<2)|2,{84,54,0}}, +/* 57060 */ {(13<<2)|2,{84,54,0}}, +/* 57061 */ {(13<<2)|2,{84,54,0}}, +/* 57062 */ {(13<<2)|2,{84,54,0}}, +/* 57063 */ {(13<<2)|2,{84,54,0}}, +/* 57064 */ {(13<<2)|2,{84,55,0}}, +/* 57065 */ {(13<<2)|2,{84,55,0}}, +/* 57066 */ {(13<<2)|2,{84,55,0}}, +/* 57067 */ {(13<<2)|2,{84,55,0}}, +/* 57068 */ {(13<<2)|2,{84,55,0}}, +/* 57069 */ {(13<<2)|2,{84,55,0}}, +/* 57070 */ {(13<<2)|2,{84,55,0}}, +/* 57071 */ {(13<<2)|2,{84,55,0}}, +/* 57072 */ {(13<<2)|2,{84,56,0}}, +/* 57073 */ {(13<<2)|2,{84,56,0}}, +/* 57074 */ {(13<<2)|2,{84,56,0}}, +/* 57075 */ {(13<<2)|2,{84,56,0}}, +/* 57076 */ {(13<<2)|2,{84,56,0}}, +/* 57077 */ {(13<<2)|2,{84,56,0}}, +/* 57078 */ {(13<<2)|2,{84,56,0}}, +/* 57079 */ {(13<<2)|2,{84,56,0}}, +/* 57080 */ {(13<<2)|2,{84,57,0}}, +/* 57081 */ {(13<<2)|2,{84,57,0}}, +/* 57082 */ {(13<<2)|2,{84,57,0}}, +/* 57083 */ {(13<<2)|2,{84,57,0}}, +/* 57084 */ {(13<<2)|2,{84,57,0}}, +/* 57085 */ {(13<<2)|2,{84,57,0}}, +/* 57086 */ {(13<<2)|2,{84,57,0}}, +/* 57087 */ {(13<<2)|2,{84,57,0}}, +/* 57088 */ {(13<<2)|2,{84,61,0}}, +/* 57089 */ {(13<<2)|2,{84,61,0}}, +/* 57090 */ {(13<<2)|2,{84,61,0}}, +/* 57091 */ {(13<<2)|2,{84,61,0}}, +/* 57092 */ {(13<<2)|2,{84,61,0}}, +/* 57093 */ {(13<<2)|2,{84,61,0}}, +/* 57094 */ {(13<<2)|2,{84,61,0}}, +/* 57095 */ {(13<<2)|2,{84,61,0}}, +/* 57096 */ {(13<<2)|2,{84,65,0}}, +/* 57097 */ {(13<<2)|2,{84,65,0}}, +/* 57098 */ {(13<<2)|2,{84,65,0}}, +/* 57099 */ {(13<<2)|2,{84,65,0}}, +/* 57100 */ {(13<<2)|2,{84,65,0}}, +/* 57101 */ {(13<<2)|2,{84,65,0}}, +/* 57102 */ {(13<<2)|2,{84,65,0}}, +/* 57103 */ {(13<<2)|2,{84,65,0}}, +/* 57104 */ {(13<<2)|2,{84,95,0}}, +/* 57105 */ {(13<<2)|2,{84,95,0}}, +/* 57106 */ {(13<<2)|2,{84,95,0}}, +/* 57107 */ {(13<<2)|2,{84,95,0}}, +/* 57108 */ {(13<<2)|2,{84,95,0}}, +/* 57109 */ {(13<<2)|2,{84,95,0}}, +/* 57110 */ {(13<<2)|2,{84,95,0}}, +/* 57111 */ {(13<<2)|2,{84,95,0}}, +/* 57112 */ {(13<<2)|2,{84,98,0}}, +/* 57113 */ {(13<<2)|2,{84,98,0}}, +/* 57114 */ {(13<<2)|2,{84,98,0}}, +/* 57115 */ {(13<<2)|2,{84,98,0}}, +/* 57116 */ {(13<<2)|2,{84,98,0}}, +/* 57117 */ {(13<<2)|2,{84,98,0}}, +/* 57118 */ {(13<<2)|2,{84,98,0}}, +/* 57119 */ {(13<<2)|2,{84,98,0}}, +/* 57120 */ {(13<<2)|2,{84,100,0}}, +/* 57121 */ {(13<<2)|2,{84,100,0}}, +/* 57122 */ {(13<<2)|2,{84,100,0}}, +/* 57123 */ {(13<<2)|2,{84,100,0}}, +/* 57124 */ {(13<<2)|2,{84,100,0}}, +/* 57125 */ {(13<<2)|2,{84,100,0}}, +/* 57126 */ {(13<<2)|2,{84,100,0}}, +/* 57127 */ {(13<<2)|2,{84,100,0}}, +/* 57128 */ {(13<<2)|2,{84,102,0}}, +/* 57129 */ {(13<<2)|2,{84,102,0}}, +/* 57130 */ {(13<<2)|2,{84,102,0}}, +/* 57131 */ {(13<<2)|2,{84,102,0}}, +/* 57132 */ {(13<<2)|2,{84,102,0}}, +/* 57133 */ {(13<<2)|2,{84,102,0}}, +/* 57134 */ {(13<<2)|2,{84,102,0}}, +/* 57135 */ {(13<<2)|2,{84,102,0}}, +/* 57136 */ {(13<<2)|2,{84,103,0}}, +/* 57137 */ {(13<<2)|2,{84,103,0}}, +/* 57138 */ {(13<<2)|2,{84,103,0}}, +/* 57139 */ {(13<<2)|2,{84,103,0}}, +/* 57140 */ {(13<<2)|2,{84,103,0}}, +/* 57141 */ {(13<<2)|2,{84,103,0}}, +/* 57142 */ {(13<<2)|2,{84,103,0}}, +/* 57143 */ {(13<<2)|2,{84,103,0}}, +/* 57144 */ {(13<<2)|2,{84,104,0}}, +/* 57145 */ {(13<<2)|2,{84,104,0}}, +/* 57146 */ {(13<<2)|2,{84,104,0}}, +/* 57147 */ {(13<<2)|2,{84,104,0}}, +/* 57148 */ {(13<<2)|2,{84,104,0}}, +/* 57149 */ {(13<<2)|2,{84,104,0}}, +/* 57150 */ {(13<<2)|2,{84,104,0}}, +/* 57151 */ {(13<<2)|2,{84,104,0}}, +/* 57152 */ {(13<<2)|2,{84,108,0}}, +/* 57153 */ {(13<<2)|2,{84,108,0}}, +/* 57154 */ {(13<<2)|2,{84,108,0}}, +/* 57155 */ {(13<<2)|2,{84,108,0}}, +/* 57156 */ {(13<<2)|2,{84,108,0}}, +/* 57157 */ {(13<<2)|2,{84,108,0}}, +/* 57158 */ {(13<<2)|2,{84,108,0}}, +/* 57159 */ {(13<<2)|2,{84,108,0}}, +/* 57160 */ {(13<<2)|2,{84,109,0}}, +/* 57161 */ {(13<<2)|2,{84,109,0}}, +/* 57162 */ {(13<<2)|2,{84,109,0}}, +/* 57163 */ {(13<<2)|2,{84,109,0}}, +/* 57164 */ {(13<<2)|2,{84,109,0}}, +/* 57165 */ {(13<<2)|2,{84,109,0}}, +/* 57166 */ {(13<<2)|2,{84,109,0}}, +/* 57167 */ {(13<<2)|2,{84,109,0}}, +/* 57168 */ {(13<<2)|2,{84,110,0}}, +/* 57169 */ {(13<<2)|2,{84,110,0}}, +/* 57170 */ {(13<<2)|2,{84,110,0}}, +/* 57171 */ {(13<<2)|2,{84,110,0}}, +/* 57172 */ {(13<<2)|2,{84,110,0}}, +/* 57173 */ {(13<<2)|2,{84,110,0}}, +/* 57174 */ {(13<<2)|2,{84,110,0}}, +/* 57175 */ {(13<<2)|2,{84,110,0}}, +/* 57176 */ {(13<<2)|2,{84,112,0}}, +/* 57177 */ {(13<<2)|2,{84,112,0}}, +/* 57178 */ {(13<<2)|2,{84,112,0}}, +/* 57179 */ {(13<<2)|2,{84,112,0}}, +/* 57180 */ {(13<<2)|2,{84,112,0}}, +/* 57181 */ {(13<<2)|2,{84,112,0}}, +/* 57182 */ {(13<<2)|2,{84,112,0}}, +/* 57183 */ {(13<<2)|2,{84,112,0}}, +/* 57184 */ {(13<<2)|2,{84,114,0}}, +/* 57185 */ {(13<<2)|2,{84,114,0}}, +/* 57186 */ {(13<<2)|2,{84,114,0}}, +/* 57187 */ {(13<<2)|2,{84,114,0}}, +/* 57188 */ {(13<<2)|2,{84,114,0}}, +/* 57189 */ {(13<<2)|2,{84,114,0}}, +/* 57190 */ {(13<<2)|2,{84,114,0}}, +/* 57191 */ {(13<<2)|2,{84,114,0}}, +/* 57192 */ {(13<<2)|2,{84,117,0}}, +/* 57193 */ {(13<<2)|2,{84,117,0}}, +/* 57194 */ {(13<<2)|2,{84,117,0}}, +/* 57195 */ {(13<<2)|2,{84,117,0}}, +/* 57196 */ {(13<<2)|2,{84,117,0}}, +/* 57197 */ {(13<<2)|2,{84,117,0}}, +/* 57198 */ {(13<<2)|2,{84,117,0}}, +/* 57199 */ {(13<<2)|2,{84,117,0}}, +/* 57200 */ {(14<<2)|2,{84,58,0}}, +/* 57201 */ {(14<<2)|2,{84,58,0}}, +/* 57202 */ {(14<<2)|2,{84,58,0}}, +/* 57203 */ {(14<<2)|2,{84,58,0}}, +/* 57204 */ {(14<<2)|2,{84,66,0}}, +/* 57205 */ {(14<<2)|2,{84,66,0}}, +/* 57206 */ {(14<<2)|2,{84,66,0}}, +/* 57207 */ {(14<<2)|2,{84,66,0}}, +/* 57208 */ {(14<<2)|2,{84,67,0}}, +/* 57209 */ {(14<<2)|2,{84,67,0}}, +/* 57210 */ {(14<<2)|2,{84,67,0}}, +/* 57211 */ {(14<<2)|2,{84,67,0}}, +/* 57212 */ {(14<<2)|2,{84,68,0}}, +/* 57213 */ {(14<<2)|2,{84,68,0}}, +/* 57214 */ {(14<<2)|2,{84,68,0}}, +/* 57215 */ {(14<<2)|2,{84,68,0}}, +/* 57216 */ {(14<<2)|2,{84,69,0}}, +/* 57217 */ {(14<<2)|2,{84,69,0}}, +/* 57218 */ {(14<<2)|2,{84,69,0}}, +/* 57219 */ {(14<<2)|2,{84,69,0}}, +/* 57220 */ {(14<<2)|2,{84,70,0}}, +/* 57221 */ {(14<<2)|2,{84,70,0}}, +/* 57222 */ {(14<<2)|2,{84,70,0}}, +/* 57223 */ {(14<<2)|2,{84,70,0}}, +/* 57224 */ {(14<<2)|2,{84,71,0}}, +/* 57225 */ {(14<<2)|2,{84,71,0}}, +/* 57226 */ {(14<<2)|2,{84,71,0}}, +/* 57227 */ {(14<<2)|2,{84,71,0}}, +/* 57228 */ {(14<<2)|2,{84,72,0}}, +/* 57229 */ {(14<<2)|2,{84,72,0}}, +/* 57230 */ {(14<<2)|2,{84,72,0}}, +/* 57231 */ {(14<<2)|2,{84,72,0}}, +/* 57232 */ {(14<<2)|2,{84,73,0}}, +/* 57233 */ {(14<<2)|2,{84,73,0}}, +/* 57234 */ {(14<<2)|2,{84,73,0}}, +/* 57235 */ {(14<<2)|2,{84,73,0}}, +/* 57236 */ {(14<<2)|2,{84,74,0}}, +/* 57237 */ {(14<<2)|2,{84,74,0}}, +/* 57238 */ {(14<<2)|2,{84,74,0}}, +/* 57239 */ {(14<<2)|2,{84,74,0}}, +/* 57240 */ {(14<<2)|2,{84,75,0}}, +/* 57241 */ {(14<<2)|2,{84,75,0}}, +/* 57242 */ {(14<<2)|2,{84,75,0}}, +/* 57243 */ {(14<<2)|2,{84,75,0}}, +/* 57244 */ {(14<<2)|2,{84,76,0}}, +/* 57245 */ {(14<<2)|2,{84,76,0}}, +/* 57246 */ {(14<<2)|2,{84,76,0}}, +/* 57247 */ {(14<<2)|2,{84,76,0}}, +/* 57248 */ {(14<<2)|2,{84,77,0}}, +/* 57249 */ {(14<<2)|2,{84,77,0}}, +/* 57250 */ {(14<<2)|2,{84,77,0}}, +/* 57251 */ {(14<<2)|2,{84,77,0}}, +/* 57252 */ {(14<<2)|2,{84,78,0}}, +/* 57253 */ {(14<<2)|2,{84,78,0}}, +/* 57254 */ {(14<<2)|2,{84,78,0}}, +/* 57255 */ {(14<<2)|2,{84,78,0}}, +/* 57256 */ {(14<<2)|2,{84,79,0}}, +/* 57257 */ {(14<<2)|2,{84,79,0}}, +/* 57258 */ {(14<<2)|2,{84,79,0}}, +/* 57259 */ {(14<<2)|2,{84,79,0}}, +/* 57260 */ {(14<<2)|2,{84,80,0}}, +/* 57261 */ {(14<<2)|2,{84,80,0}}, +/* 57262 */ {(14<<2)|2,{84,80,0}}, +/* 57263 */ {(14<<2)|2,{84,80,0}}, +/* 57264 */ {(14<<2)|2,{84,81,0}}, +/* 57265 */ {(14<<2)|2,{84,81,0}}, +/* 57266 */ {(14<<2)|2,{84,81,0}}, +/* 57267 */ {(14<<2)|2,{84,81,0}}, +/* 57268 */ {(14<<2)|2,{84,82,0}}, +/* 57269 */ {(14<<2)|2,{84,82,0}}, +/* 57270 */ {(14<<2)|2,{84,82,0}}, +/* 57271 */ {(14<<2)|2,{84,82,0}}, +/* 57272 */ {(14<<2)|2,{84,83,0}}, +/* 57273 */ {(14<<2)|2,{84,83,0}}, +/* 57274 */ {(14<<2)|2,{84,83,0}}, +/* 57275 */ {(14<<2)|2,{84,83,0}}, +/* 57276 */ {(14<<2)|2,{84,84,0}}, +/* 57277 */ {(14<<2)|2,{84,84,0}}, +/* 57278 */ {(14<<2)|2,{84,84,0}}, +/* 57279 */ {(14<<2)|2,{84,84,0}}, +/* 57280 */ {(14<<2)|2,{84,85,0}}, +/* 57281 */ {(14<<2)|2,{84,85,0}}, +/* 57282 */ {(14<<2)|2,{84,85,0}}, +/* 57283 */ {(14<<2)|2,{84,85,0}}, +/* 57284 */ {(14<<2)|2,{84,86,0}}, +/* 57285 */ {(14<<2)|2,{84,86,0}}, +/* 57286 */ {(14<<2)|2,{84,86,0}}, +/* 57287 */ {(14<<2)|2,{84,86,0}}, +/* 57288 */ {(14<<2)|2,{84,87,0}}, +/* 57289 */ {(14<<2)|2,{84,87,0}}, +/* 57290 */ {(14<<2)|2,{84,87,0}}, +/* 57291 */ {(14<<2)|2,{84,87,0}}, +/* 57292 */ {(14<<2)|2,{84,89,0}}, +/* 57293 */ {(14<<2)|2,{84,89,0}}, +/* 57294 */ {(14<<2)|2,{84,89,0}}, +/* 57295 */ {(14<<2)|2,{84,89,0}}, +/* 57296 */ {(14<<2)|2,{84,106,0}}, +/* 57297 */ {(14<<2)|2,{84,106,0}}, +/* 57298 */ {(14<<2)|2,{84,106,0}}, +/* 57299 */ {(14<<2)|2,{84,106,0}}, +/* 57300 */ {(14<<2)|2,{84,107,0}}, +/* 57301 */ {(14<<2)|2,{84,107,0}}, +/* 57302 */ {(14<<2)|2,{84,107,0}}, +/* 57303 */ {(14<<2)|2,{84,107,0}}, +/* 57304 */ {(14<<2)|2,{84,113,0}}, +/* 57305 */ {(14<<2)|2,{84,113,0}}, +/* 57306 */ {(14<<2)|2,{84,113,0}}, +/* 57307 */ {(14<<2)|2,{84,113,0}}, +/* 57308 */ {(14<<2)|2,{84,118,0}}, +/* 57309 */ {(14<<2)|2,{84,118,0}}, +/* 57310 */ {(14<<2)|2,{84,118,0}}, +/* 57311 */ {(14<<2)|2,{84,118,0}}, +/* 57312 */ {(14<<2)|2,{84,119,0}}, +/* 57313 */ {(14<<2)|2,{84,119,0}}, +/* 57314 */ {(14<<2)|2,{84,119,0}}, +/* 57315 */ {(14<<2)|2,{84,119,0}}, +/* 57316 */ {(14<<2)|2,{84,120,0}}, +/* 57317 */ {(14<<2)|2,{84,120,0}}, +/* 57318 */ {(14<<2)|2,{84,120,0}}, +/* 57319 */ {(14<<2)|2,{84,120,0}}, +/* 57320 */ {(14<<2)|2,{84,121,0}}, +/* 57321 */ {(14<<2)|2,{84,121,0}}, +/* 57322 */ {(14<<2)|2,{84,121,0}}, +/* 57323 */ {(14<<2)|2,{84,121,0}}, +/* 57324 */ {(14<<2)|2,{84,122,0}}, +/* 57325 */ {(14<<2)|2,{84,122,0}}, +/* 57326 */ {(14<<2)|2,{84,122,0}}, +/* 57327 */ {(14<<2)|2,{84,122,0}}, +/* 57328 */ {(15<<2)|2,{84,38,0}}, +/* 57329 */ {(15<<2)|2,{84,38,0}}, +/* 57330 */ {(15<<2)|2,{84,42,0}}, +/* 57331 */ {(15<<2)|2,{84,42,0}}, +/* 57332 */ {(15<<2)|2,{84,44,0}}, +/* 57333 */ {(15<<2)|2,{84,44,0}}, +/* 57334 */ {(15<<2)|2,{84,59,0}}, +/* 57335 */ {(15<<2)|2,{84,59,0}}, +/* 57336 */ {(15<<2)|2,{84,88,0}}, +/* 57337 */ {(15<<2)|2,{84,88,0}}, +/* 57338 */ {(15<<2)|2,{84,90,0}}, +/* 57339 */ {(15<<2)|2,{84,90,0}}, +/* 57340 */ {(7<<2)|1,{84,0,0}}, +/* 57341 */ {(7<<2)|1,{84,0,0}}, +/* 57342 */ {(7<<2)|1,{84,0,0}}, +/* 57343 */ {(7<<2)|1,{84,0,0}}, +/* 57344 */ {(12<<2)|2,{85,48,0}}, +/* 57345 */ {(12<<2)|2,{85,48,0}}, +/* 57346 */ {(12<<2)|2,{85,48,0}}, +/* 57347 */ {(12<<2)|2,{85,48,0}}, +/* 57348 */ {(12<<2)|2,{85,48,0}}, +/* 57349 */ {(12<<2)|2,{85,48,0}}, +/* 57350 */ {(12<<2)|2,{85,48,0}}, +/* 57351 */ {(12<<2)|2,{85,48,0}}, +/* 57352 */ {(12<<2)|2,{85,48,0}}, +/* 57353 */ {(12<<2)|2,{85,48,0}}, +/* 57354 */ {(12<<2)|2,{85,48,0}}, +/* 57355 */ {(12<<2)|2,{85,48,0}}, +/* 57356 */ {(12<<2)|2,{85,48,0}}, +/* 57357 */ {(12<<2)|2,{85,48,0}}, +/* 57358 */ {(12<<2)|2,{85,48,0}}, +/* 57359 */ {(12<<2)|2,{85,48,0}}, +/* 57360 */ {(12<<2)|2,{85,49,0}}, +/* 57361 */ {(12<<2)|2,{85,49,0}}, +/* 57362 */ {(12<<2)|2,{85,49,0}}, +/* 57363 */ {(12<<2)|2,{85,49,0}}, +/* 57364 */ {(12<<2)|2,{85,49,0}}, +/* 57365 */ {(12<<2)|2,{85,49,0}}, +/* 57366 */ {(12<<2)|2,{85,49,0}}, +/* 57367 */ {(12<<2)|2,{85,49,0}}, +/* 57368 */ {(12<<2)|2,{85,49,0}}, +/* 57369 */ {(12<<2)|2,{85,49,0}}, +/* 57370 */ {(12<<2)|2,{85,49,0}}, +/* 57371 */ {(12<<2)|2,{85,49,0}}, +/* 57372 */ {(12<<2)|2,{85,49,0}}, +/* 57373 */ {(12<<2)|2,{85,49,0}}, +/* 57374 */ {(12<<2)|2,{85,49,0}}, +/* 57375 */ {(12<<2)|2,{85,49,0}}, +/* 57376 */ {(12<<2)|2,{85,50,0}}, +/* 57377 */ {(12<<2)|2,{85,50,0}}, +/* 57378 */ {(12<<2)|2,{85,50,0}}, +/* 57379 */ {(12<<2)|2,{85,50,0}}, +/* 57380 */ {(12<<2)|2,{85,50,0}}, +/* 57381 */ {(12<<2)|2,{85,50,0}}, +/* 57382 */ {(12<<2)|2,{85,50,0}}, +/* 57383 */ {(12<<2)|2,{85,50,0}}, +/* 57384 */ {(12<<2)|2,{85,50,0}}, +/* 57385 */ {(12<<2)|2,{85,50,0}}, +/* 57386 */ {(12<<2)|2,{85,50,0}}, +/* 57387 */ {(12<<2)|2,{85,50,0}}, +/* 57388 */ {(12<<2)|2,{85,50,0}}, +/* 57389 */ {(12<<2)|2,{85,50,0}}, +/* 57390 */ {(12<<2)|2,{85,50,0}}, +/* 57391 */ {(12<<2)|2,{85,50,0}}, +/* 57392 */ {(12<<2)|2,{85,97,0}}, +/* 57393 */ {(12<<2)|2,{85,97,0}}, +/* 57394 */ {(12<<2)|2,{85,97,0}}, +/* 57395 */ {(12<<2)|2,{85,97,0}}, +/* 57396 */ {(12<<2)|2,{85,97,0}}, +/* 57397 */ {(12<<2)|2,{85,97,0}}, +/* 57398 */ {(12<<2)|2,{85,97,0}}, +/* 57399 */ {(12<<2)|2,{85,97,0}}, +/* 57400 */ {(12<<2)|2,{85,97,0}}, +/* 57401 */ {(12<<2)|2,{85,97,0}}, +/* 57402 */ {(12<<2)|2,{85,97,0}}, +/* 57403 */ {(12<<2)|2,{85,97,0}}, +/* 57404 */ {(12<<2)|2,{85,97,0}}, +/* 57405 */ {(12<<2)|2,{85,97,0}}, +/* 57406 */ {(12<<2)|2,{85,97,0}}, +/* 57407 */ {(12<<2)|2,{85,97,0}}, +/* 57408 */ {(12<<2)|2,{85,99,0}}, +/* 57409 */ {(12<<2)|2,{85,99,0}}, +/* 57410 */ {(12<<2)|2,{85,99,0}}, +/* 57411 */ {(12<<2)|2,{85,99,0}}, +/* 57412 */ {(12<<2)|2,{85,99,0}}, +/* 57413 */ {(12<<2)|2,{85,99,0}}, +/* 57414 */ {(12<<2)|2,{85,99,0}}, +/* 57415 */ {(12<<2)|2,{85,99,0}}, +/* 57416 */ {(12<<2)|2,{85,99,0}}, +/* 57417 */ {(12<<2)|2,{85,99,0}}, +/* 57418 */ {(12<<2)|2,{85,99,0}}, +/* 57419 */ {(12<<2)|2,{85,99,0}}, +/* 57420 */ {(12<<2)|2,{85,99,0}}, +/* 57421 */ {(12<<2)|2,{85,99,0}}, +/* 57422 */ {(12<<2)|2,{85,99,0}}, +/* 57423 */ {(12<<2)|2,{85,99,0}}, +/* 57424 */ {(12<<2)|2,{85,101,0}}, +/* 57425 */ {(12<<2)|2,{85,101,0}}, +/* 57426 */ {(12<<2)|2,{85,101,0}}, +/* 57427 */ {(12<<2)|2,{85,101,0}}, +/* 57428 */ {(12<<2)|2,{85,101,0}}, +/* 57429 */ {(12<<2)|2,{85,101,0}}, +/* 57430 */ {(12<<2)|2,{85,101,0}}, +/* 57431 */ {(12<<2)|2,{85,101,0}}, +/* 57432 */ {(12<<2)|2,{85,101,0}}, +/* 57433 */ {(12<<2)|2,{85,101,0}}, +/* 57434 */ {(12<<2)|2,{85,101,0}}, +/* 57435 */ {(12<<2)|2,{85,101,0}}, +/* 57436 */ {(12<<2)|2,{85,101,0}}, +/* 57437 */ {(12<<2)|2,{85,101,0}}, +/* 57438 */ {(12<<2)|2,{85,101,0}}, +/* 57439 */ {(12<<2)|2,{85,101,0}}, +/* 57440 */ {(12<<2)|2,{85,105,0}}, +/* 57441 */ {(12<<2)|2,{85,105,0}}, +/* 57442 */ {(12<<2)|2,{85,105,0}}, +/* 57443 */ {(12<<2)|2,{85,105,0}}, +/* 57444 */ {(12<<2)|2,{85,105,0}}, +/* 57445 */ {(12<<2)|2,{85,105,0}}, +/* 57446 */ {(12<<2)|2,{85,105,0}}, +/* 57447 */ {(12<<2)|2,{85,105,0}}, +/* 57448 */ {(12<<2)|2,{85,105,0}}, +/* 57449 */ {(12<<2)|2,{85,105,0}}, +/* 57450 */ {(12<<2)|2,{85,105,0}}, +/* 57451 */ {(12<<2)|2,{85,105,0}}, +/* 57452 */ {(12<<2)|2,{85,105,0}}, +/* 57453 */ {(12<<2)|2,{85,105,0}}, +/* 57454 */ {(12<<2)|2,{85,105,0}}, +/* 57455 */ {(12<<2)|2,{85,105,0}}, +/* 57456 */ {(12<<2)|2,{85,111,0}}, +/* 57457 */ {(12<<2)|2,{85,111,0}}, +/* 57458 */ {(12<<2)|2,{85,111,0}}, +/* 57459 */ {(12<<2)|2,{85,111,0}}, +/* 57460 */ {(12<<2)|2,{85,111,0}}, +/* 57461 */ {(12<<2)|2,{85,111,0}}, +/* 57462 */ {(12<<2)|2,{85,111,0}}, +/* 57463 */ {(12<<2)|2,{85,111,0}}, +/* 57464 */ {(12<<2)|2,{85,111,0}}, +/* 57465 */ {(12<<2)|2,{85,111,0}}, +/* 57466 */ {(12<<2)|2,{85,111,0}}, +/* 57467 */ {(12<<2)|2,{85,111,0}}, +/* 57468 */ {(12<<2)|2,{85,111,0}}, +/* 57469 */ {(12<<2)|2,{85,111,0}}, +/* 57470 */ {(12<<2)|2,{85,111,0}}, +/* 57471 */ {(12<<2)|2,{85,111,0}}, +/* 57472 */ {(12<<2)|2,{85,115,0}}, +/* 57473 */ {(12<<2)|2,{85,115,0}}, +/* 57474 */ {(12<<2)|2,{85,115,0}}, +/* 57475 */ {(12<<2)|2,{85,115,0}}, +/* 57476 */ {(12<<2)|2,{85,115,0}}, +/* 57477 */ {(12<<2)|2,{85,115,0}}, +/* 57478 */ {(12<<2)|2,{85,115,0}}, +/* 57479 */ {(12<<2)|2,{85,115,0}}, +/* 57480 */ {(12<<2)|2,{85,115,0}}, +/* 57481 */ {(12<<2)|2,{85,115,0}}, +/* 57482 */ {(12<<2)|2,{85,115,0}}, +/* 57483 */ {(12<<2)|2,{85,115,0}}, +/* 57484 */ {(12<<2)|2,{85,115,0}}, +/* 57485 */ {(12<<2)|2,{85,115,0}}, +/* 57486 */ {(12<<2)|2,{85,115,0}}, +/* 57487 */ {(12<<2)|2,{85,115,0}}, +/* 57488 */ {(12<<2)|2,{85,116,0}}, +/* 57489 */ {(12<<2)|2,{85,116,0}}, +/* 57490 */ {(12<<2)|2,{85,116,0}}, +/* 57491 */ {(12<<2)|2,{85,116,0}}, +/* 57492 */ {(12<<2)|2,{85,116,0}}, +/* 57493 */ {(12<<2)|2,{85,116,0}}, +/* 57494 */ {(12<<2)|2,{85,116,0}}, +/* 57495 */ {(12<<2)|2,{85,116,0}}, +/* 57496 */ {(12<<2)|2,{85,116,0}}, +/* 57497 */ {(12<<2)|2,{85,116,0}}, +/* 57498 */ {(12<<2)|2,{85,116,0}}, +/* 57499 */ {(12<<2)|2,{85,116,0}}, +/* 57500 */ {(12<<2)|2,{85,116,0}}, +/* 57501 */ {(12<<2)|2,{85,116,0}}, +/* 57502 */ {(12<<2)|2,{85,116,0}}, +/* 57503 */ {(12<<2)|2,{85,116,0}}, +/* 57504 */ {(13<<2)|2,{85,32,0}}, +/* 57505 */ {(13<<2)|2,{85,32,0}}, +/* 57506 */ {(13<<2)|2,{85,32,0}}, +/* 57507 */ {(13<<2)|2,{85,32,0}}, +/* 57508 */ {(13<<2)|2,{85,32,0}}, +/* 57509 */ {(13<<2)|2,{85,32,0}}, +/* 57510 */ {(13<<2)|2,{85,32,0}}, +/* 57511 */ {(13<<2)|2,{85,32,0}}, +/* 57512 */ {(13<<2)|2,{85,37,0}}, +/* 57513 */ {(13<<2)|2,{85,37,0}}, +/* 57514 */ {(13<<2)|2,{85,37,0}}, +/* 57515 */ {(13<<2)|2,{85,37,0}}, +/* 57516 */ {(13<<2)|2,{85,37,0}}, +/* 57517 */ {(13<<2)|2,{85,37,0}}, +/* 57518 */ {(13<<2)|2,{85,37,0}}, +/* 57519 */ {(13<<2)|2,{85,37,0}}, +/* 57520 */ {(13<<2)|2,{85,45,0}}, +/* 57521 */ {(13<<2)|2,{85,45,0}}, +/* 57522 */ {(13<<2)|2,{85,45,0}}, +/* 57523 */ {(13<<2)|2,{85,45,0}}, +/* 57524 */ {(13<<2)|2,{85,45,0}}, +/* 57525 */ {(13<<2)|2,{85,45,0}}, +/* 57526 */ {(13<<2)|2,{85,45,0}}, +/* 57527 */ {(13<<2)|2,{85,45,0}}, +/* 57528 */ {(13<<2)|2,{85,46,0}}, +/* 57529 */ {(13<<2)|2,{85,46,0}}, +/* 57530 */ {(13<<2)|2,{85,46,0}}, +/* 57531 */ {(13<<2)|2,{85,46,0}}, +/* 57532 */ {(13<<2)|2,{85,46,0}}, +/* 57533 */ {(13<<2)|2,{85,46,0}}, +/* 57534 */ {(13<<2)|2,{85,46,0}}, +/* 57535 */ {(13<<2)|2,{85,46,0}}, +/* 57536 */ {(13<<2)|2,{85,47,0}}, +/* 57537 */ {(13<<2)|2,{85,47,0}}, +/* 57538 */ {(13<<2)|2,{85,47,0}}, +/* 57539 */ {(13<<2)|2,{85,47,0}}, +/* 57540 */ {(13<<2)|2,{85,47,0}}, +/* 57541 */ {(13<<2)|2,{85,47,0}}, +/* 57542 */ {(13<<2)|2,{85,47,0}}, +/* 57543 */ {(13<<2)|2,{85,47,0}}, +/* 57544 */ {(13<<2)|2,{85,51,0}}, +/* 57545 */ {(13<<2)|2,{85,51,0}}, +/* 57546 */ {(13<<2)|2,{85,51,0}}, +/* 57547 */ {(13<<2)|2,{85,51,0}}, +/* 57548 */ {(13<<2)|2,{85,51,0}}, +/* 57549 */ {(13<<2)|2,{85,51,0}}, +/* 57550 */ {(13<<2)|2,{85,51,0}}, +/* 57551 */ {(13<<2)|2,{85,51,0}}, +/* 57552 */ {(13<<2)|2,{85,52,0}}, +/* 57553 */ {(13<<2)|2,{85,52,0}}, +/* 57554 */ {(13<<2)|2,{85,52,0}}, +/* 57555 */ {(13<<2)|2,{85,52,0}}, +/* 57556 */ {(13<<2)|2,{85,52,0}}, +/* 57557 */ {(13<<2)|2,{85,52,0}}, +/* 57558 */ {(13<<2)|2,{85,52,0}}, +/* 57559 */ {(13<<2)|2,{85,52,0}}, +/* 57560 */ {(13<<2)|2,{85,53,0}}, +/* 57561 */ {(13<<2)|2,{85,53,0}}, +/* 57562 */ {(13<<2)|2,{85,53,0}}, +/* 57563 */ {(13<<2)|2,{85,53,0}}, +/* 57564 */ {(13<<2)|2,{85,53,0}}, +/* 57565 */ {(13<<2)|2,{85,53,0}}, +/* 57566 */ {(13<<2)|2,{85,53,0}}, +/* 57567 */ {(13<<2)|2,{85,53,0}}, +/* 57568 */ {(13<<2)|2,{85,54,0}}, +/* 57569 */ {(13<<2)|2,{85,54,0}}, +/* 57570 */ {(13<<2)|2,{85,54,0}}, +/* 57571 */ {(13<<2)|2,{85,54,0}}, +/* 57572 */ {(13<<2)|2,{85,54,0}}, +/* 57573 */ {(13<<2)|2,{85,54,0}}, +/* 57574 */ {(13<<2)|2,{85,54,0}}, +/* 57575 */ {(13<<2)|2,{85,54,0}}, +/* 57576 */ {(13<<2)|2,{85,55,0}}, +/* 57577 */ {(13<<2)|2,{85,55,0}}, +/* 57578 */ {(13<<2)|2,{85,55,0}}, +/* 57579 */ {(13<<2)|2,{85,55,0}}, +/* 57580 */ {(13<<2)|2,{85,55,0}}, +/* 57581 */ {(13<<2)|2,{85,55,0}}, +/* 57582 */ {(13<<2)|2,{85,55,0}}, +/* 57583 */ {(13<<2)|2,{85,55,0}}, +/* 57584 */ {(13<<2)|2,{85,56,0}}, +/* 57585 */ {(13<<2)|2,{85,56,0}}, +/* 57586 */ {(13<<2)|2,{85,56,0}}, +/* 57587 */ {(13<<2)|2,{85,56,0}}, +/* 57588 */ {(13<<2)|2,{85,56,0}}, +/* 57589 */ {(13<<2)|2,{85,56,0}}, +/* 57590 */ {(13<<2)|2,{85,56,0}}, +/* 57591 */ {(13<<2)|2,{85,56,0}}, +/* 57592 */ {(13<<2)|2,{85,57,0}}, +/* 57593 */ {(13<<2)|2,{85,57,0}}, +/* 57594 */ {(13<<2)|2,{85,57,0}}, +/* 57595 */ {(13<<2)|2,{85,57,0}}, +/* 57596 */ {(13<<2)|2,{85,57,0}}, +/* 57597 */ {(13<<2)|2,{85,57,0}}, +/* 57598 */ {(13<<2)|2,{85,57,0}}, +/* 57599 */ {(13<<2)|2,{85,57,0}}, +/* 57600 */ {(13<<2)|2,{85,61,0}}, +/* 57601 */ {(13<<2)|2,{85,61,0}}, +/* 57602 */ {(13<<2)|2,{85,61,0}}, +/* 57603 */ {(13<<2)|2,{85,61,0}}, +/* 57604 */ {(13<<2)|2,{85,61,0}}, +/* 57605 */ {(13<<2)|2,{85,61,0}}, +/* 57606 */ {(13<<2)|2,{85,61,0}}, +/* 57607 */ {(13<<2)|2,{85,61,0}}, +/* 57608 */ {(13<<2)|2,{85,65,0}}, +/* 57609 */ {(13<<2)|2,{85,65,0}}, +/* 57610 */ {(13<<2)|2,{85,65,0}}, +/* 57611 */ {(13<<2)|2,{85,65,0}}, +/* 57612 */ {(13<<2)|2,{85,65,0}}, +/* 57613 */ {(13<<2)|2,{85,65,0}}, +/* 57614 */ {(13<<2)|2,{85,65,0}}, +/* 57615 */ {(13<<2)|2,{85,65,0}}, +/* 57616 */ {(13<<2)|2,{85,95,0}}, +/* 57617 */ {(13<<2)|2,{85,95,0}}, +/* 57618 */ {(13<<2)|2,{85,95,0}}, +/* 57619 */ {(13<<2)|2,{85,95,0}}, +/* 57620 */ {(13<<2)|2,{85,95,0}}, +/* 57621 */ {(13<<2)|2,{85,95,0}}, +/* 57622 */ {(13<<2)|2,{85,95,0}}, +/* 57623 */ {(13<<2)|2,{85,95,0}}, +/* 57624 */ {(13<<2)|2,{85,98,0}}, +/* 57625 */ {(13<<2)|2,{85,98,0}}, +/* 57626 */ {(13<<2)|2,{85,98,0}}, +/* 57627 */ {(13<<2)|2,{85,98,0}}, +/* 57628 */ {(13<<2)|2,{85,98,0}}, +/* 57629 */ {(13<<2)|2,{85,98,0}}, +/* 57630 */ {(13<<2)|2,{85,98,0}}, +/* 57631 */ {(13<<2)|2,{85,98,0}}, +/* 57632 */ {(13<<2)|2,{85,100,0}}, +/* 57633 */ {(13<<2)|2,{85,100,0}}, +/* 57634 */ {(13<<2)|2,{85,100,0}}, +/* 57635 */ {(13<<2)|2,{85,100,0}}, +/* 57636 */ {(13<<2)|2,{85,100,0}}, +/* 57637 */ {(13<<2)|2,{85,100,0}}, +/* 57638 */ {(13<<2)|2,{85,100,0}}, +/* 57639 */ {(13<<2)|2,{85,100,0}}, +/* 57640 */ {(13<<2)|2,{85,102,0}}, +/* 57641 */ {(13<<2)|2,{85,102,0}}, +/* 57642 */ {(13<<2)|2,{85,102,0}}, +/* 57643 */ {(13<<2)|2,{85,102,0}}, +/* 57644 */ {(13<<2)|2,{85,102,0}}, +/* 57645 */ {(13<<2)|2,{85,102,0}}, +/* 57646 */ {(13<<2)|2,{85,102,0}}, +/* 57647 */ {(13<<2)|2,{85,102,0}}, +/* 57648 */ {(13<<2)|2,{85,103,0}}, +/* 57649 */ {(13<<2)|2,{85,103,0}}, +/* 57650 */ {(13<<2)|2,{85,103,0}}, +/* 57651 */ {(13<<2)|2,{85,103,0}}, +/* 57652 */ {(13<<2)|2,{85,103,0}}, +/* 57653 */ {(13<<2)|2,{85,103,0}}, +/* 57654 */ {(13<<2)|2,{85,103,0}}, +/* 57655 */ {(13<<2)|2,{85,103,0}}, +/* 57656 */ {(13<<2)|2,{85,104,0}}, +/* 57657 */ {(13<<2)|2,{85,104,0}}, +/* 57658 */ {(13<<2)|2,{85,104,0}}, +/* 57659 */ {(13<<2)|2,{85,104,0}}, +/* 57660 */ {(13<<2)|2,{85,104,0}}, +/* 57661 */ {(13<<2)|2,{85,104,0}}, +/* 57662 */ {(13<<2)|2,{85,104,0}}, +/* 57663 */ {(13<<2)|2,{85,104,0}}, +/* 57664 */ {(13<<2)|2,{85,108,0}}, +/* 57665 */ {(13<<2)|2,{85,108,0}}, +/* 57666 */ {(13<<2)|2,{85,108,0}}, +/* 57667 */ {(13<<2)|2,{85,108,0}}, +/* 57668 */ {(13<<2)|2,{85,108,0}}, +/* 57669 */ {(13<<2)|2,{85,108,0}}, +/* 57670 */ {(13<<2)|2,{85,108,0}}, +/* 57671 */ {(13<<2)|2,{85,108,0}}, +/* 57672 */ {(13<<2)|2,{85,109,0}}, +/* 57673 */ {(13<<2)|2,{85,109,0}}, +/* 57674 */ {(13<<2)|2,{85,109,0}}, +/* 57675 */ {(13<<2)|2,{85,109,0}}, +/* 57676 */ {(13<<2)|2,{85,109,0}}, +/* 57677 */ {(13<<2)|2,{85,109,0}}, +/* 57678 */ {(13<<2)|2,{85,109,0}}, +/* 57679 */ {(13<<2)|2,{85,109,0}}, +/* 57680 */ {(13<<2)|2,{85,110,0}}, +/* 57681 */ {(13<<2)|2,{85,110,0}}, +/* 57682 */ {(13<<2)|2,{85,110,0}}, +/* 57683 */ {(13<<2)|2,{85,110,0}}, +/* 57684 */ {(13<<2)|2,{85,110,0}}, +/* 57685 */ {(13<<2)|2,{85,110,0}}, +/* 57686 */ {(13<<2)|2,{85,110,0}}, +/* 57687 */ {(13<<2)|2,{85,110,0}}, +/* 57688 */ {(13<<2)|2,{85,112,0}}, +/* 57689 */ {(13<<2)|2,{85,112,0}}, +/* 57690 */ {(13<<2)|2,{85,112,0}}, +/* 57691 */ {(13<<2)|2,{85,112,0}}, +/* 57692 */ {(13<<2)|2,{85,112,0}}, +/* 57693 */ {(13<<2)|2,{85,112,0}}, +/* 57694 */ {(13<<2)|2,{85,112,0}}, +/* 57695 */ {(13<<2)|2,{85,112,0}}, +/* 57696 */ {(13<<2)|2,{85,114,0}}, +/* 57697 */ {(13<<2)|2,{85,114,0}}, +/* 57698 */ {(13<<2)|2,{85,114,0}}, +/* 57699 */ {(13<<2)|2,{85,114,0}}, +/* 57700 */ {(13<<2)|2,{85,114,0}}, +/* 57701 */ {(13<<2)|2,{85,114,0}}, +/* 57702 */ {(13<<2)|2,{85,114,0}}, +/* 57703 */ {(13<<2)|2,{85,114,0}}, +/* 57704 */ {(13<<2)|2,{85,117,0}}, +/* 57705 */ {(13<<2)|2,{85,117,0}}, +/* 57706 */ {(13<<2)|2,{85,117,0}}, +/* 57707 */ {(13<<2)|2,{85,117,0}}, +/* 57708 */ {(13<<2)|2,{85,117,0}}, +/* 57709 */ {(13<<2)|2,{85,117,0}}, +/* 57710 */ {(13<<2)|2,{85,117,0}}, +/* 57711 */ {(13<<2)|2,{85,117,0}}, +/* 57712 */ {(14<<2)|2,{85,58,0}}, +/* 57713 */ {(14<<2)|2,{85,58,0}}, +/* 57714 */ {(14<<2)|2,{85,58,0}}, +/* 57715 */ {(14<<2)|2,{85,58,0}}, +/* 57716 */ {(14<<2)|2,{85,66,0}}, +/* 57717 */ {(14<<2)|2,{85,66,0}}, +/* 57718 */ {(14<<2)|2,{85,66,0}}, +/* 57719 */ {(14<<2)|2,{85,66,0}}, +/* 57720 */ {(14<<2)|2,{85,67,0}}, +/* 57721 */ {(14<<2)|2,{85,67,0}}, +/* 57722 */ {(14<<2)|2,{85,67,0}}, +/* 57723 */ {(14<<2)|2,{85,67,0}}, +/* 57724 */ {(14<<2)|2,{85,68,0}}, +/* 57725 */ {(14<<2)|2,{85,68,0}}, +/* 57726 */ {(14<<2)|2,{85,68,0}}, +/* 57727 */ {(14<<2)|2,{85,68,0}}, +/* 57728 */ {(14<<2)|2,{85,69,0}}, +/* 57729 */ {(14<<2)|2,{85,69,0}}, +/* 57730 */ {(14<<2)|2,{85,69,0}}, +/* 57731 */ {(14<<2)|2,{85,69,0}}, +/* 57732 */ {(14<<2)|2,{85,70,0}}, +/* 57733 */ {(14<<2)|2,{85,70,0}}, +/* 57734 */ {(14<<2)|2,{85,70,0}}, +/* 57735 */ {(14<<2)|2,{85,70,0}}, +/* 57736 */ {(14<<2)|2,{85,71,0}}, +/* 57737 */ {(14<<2)|2,{85,71,0}}, +/* 57738 */ {(14<<2)|2,{85,71,0}}, +/* 57739 */ {(14<<2)|2,{85,71,0}}, +/* 57740 */ {(14<<2)|2,{85,72,0}}, +/* 57741 */ {(14<<2)|2,{85,72,0}}, +/* 57742 */ {(14<<2)|2,{85,72,0}}, +/* 57743 */ {(14<<2)|2,{85,72,0}}, +/* 57744 */ {(14<<2)|2,{85,73,0}}, +/* 57745 */ {(14<<2)|2,{85,73,0}}, +/* 57746 */ {(14<<2)|2,{85,73,0}}, +/* 57747 */ {(14<<2)|2,{85,73,0}}, +/* 57748 */ {(14<<2)|2,{85,74,0}}, +/* 57749 */ {(14<<2)|2,{85,74,0}}, +/* 57750 */ {(14<<2)|2,{85,74,0}}, +/* 57751 */ {(14<<2)|2,{85,74,0}}, +/* 57752 */ {(14<<2)|2,{85,75,0}}, +/* 57753 */ {(14<<2)|2,{85,75,0}}, +/* 57754 */ {(14<<2)|2,{85,75,0}}, +/* 57755 */ {(14<<2)|2,{85,75,0}}, +/* 57756 */ {(14<<2)|2,{85,76,0}}, +/* 57757 */ {(14<<2)|2,{85,76,0}}, +/* 57758 */ {(14<<2)|2,{85,76,0}}, +/* 57759 */ {(14<<2)|2,{85,76,0}}, +/* 57760 */ {(14<<2)|2,{85,77,0}}, +/* 57761 */ {(14<<2)|2,{85,77,0}}, +/* 57762 */ {(14<<2)|2,{85,77,0}}, +/* 57763 */ {(14<<2)|2,{85,77,0}}, +/* 57764 */ {(14<<2)|2,{85,78,0}}, +/* 57765 */ {(14<<2)|2,{85,78,0}}, +/* 57766 */ {(14<<2)|2,{85,78,0}}, +/* 57767 */ {(14<<2)|2,{85,78,0}}, +/* 57768 */ {(14<<2)|2,{85,79,0}}, +/* 57769 */ {(14<<2)|2,{85,79,0}}, +/* 57770 */ {(14<<2)|2,{85,79,0}}, +/* 57771 */ {(14<<2)|2,{85,79,0}}, +/* 57772 */ {(14<<2)|2,{85,80,0}}, +/* 57773 */ {(14<<2)|2,{85,80,0}}, +/* 57774 */ {(14<<2)|2,{85,80,0}}, +/* 57775 */ {(14<<2)|2,{85,80,0}}, +/* 57776 */ {(14<<2)|2,{85,81,0}}, +/* 57777 */ {(14<<2)|2,{85,81,0}}, +/* 57778 */ {(14<<2)|2,{85,81,0}}, +/* 57779 */ {(14<<2)|2,{85,81,0}}, +/* 57780 */ {(14<<2)|2,{85,82,0}}, +/* 57781 */ {(14<<2)|2,{85,82,0}}, +/* 57782 */ {(14<<2)|2,{85,82,0}}, +/* 57783 */ {(14<<2)|2,{85,82,0}}, +/* 57784 */ {(14<<2)|2,{85,83,0}}, +/* 57785 */ {(14<<2)|2,{85,83,0}}, +/* 57786 */ {(14<<2)|2,{85,83,0}}, +/* 57787 */ {(14<<2)|2,{85,83,0}}, +/* 57788 */ {(14<<2)|2,{85,84,0}}, +/* 57789 */ {(14<<2)|2,{85,84,0}}, +/* 57790 */ {(14<<2)|2,{85,84,0}}, +/* 57791 */ {(14<<2)|2,{85,84,0}}, +/* 57792 */ {(14<<2)|2,{85,85,0}}, +/* 57793 */ {(14<<2)|2,{85,85,0}}, +/* 57794 */ {(14<<2)|2,{85,85,0}}, +/* 57795 */ {(14<<2)|2,{85,85,0}}, +/* 57796 */ {(14<<2)|2,{85,86,0}}, +/* 57797 */ {(14<<2)|2,{85,86,0}}, +/* 57798 */ {(14<<2)|2,{85,86,0}}, +/* 57799 */ {(14<<2)|2,{85,86,0}}, +/* 57800 */ {(14<<2)|2,{85,87,0}}, +/* 57801 */ {(14<<2)|2,{85,87,0}}, +/* 57802 */ {(14<<2)|2,{85,87,0}}, +/* 57803 */ {(14<<2)|2,{85,87,0}}, +/* 57804 */ {(14<<2)|2,{85,89,0}}, +/* 57805 */ {(14<<2)|2,{85,89,0}}, +/* 57806 */ {(14<<2)|2,{85,89,0}}, +/* 57807 */ {(14<<2)|2,{85,89,0}}, +/* 57808 */ {(14<<2)|2,{85,106,0}}, +/* 57809 */ {(14<<2)|2,{85,106,0}}, +/* 57810 */ {(14<<2)|2,{85,106,0}}, +/* 57811 */ {(14<<2)|2,{85,106,0}}, +/* 57812 */ {(14<<2)|2,{85,107,0}}, +/* 57813 */ {(14<<2)|2,{85,107,0}}, +/* 57814 */ {(14<<2)|2,{85,107,0}}, +/* 57815 */ {(14<<2)|2,{85,107,0}}, +/* 57816 */ {(14<<2)|2,{85,113,0}}, +/* 57817 */ {(14<<2)|2,{85,113,0}}, +/* 57818 */ {(14<<2)|2,{85,113,0}}, +/* 57819 */ {(14<<2)|2,{85,113,0}}, +/* 57820 */ {(14<<2)|2,{85,118,0}}, +/* 57821 */ {(14<<2)|2,{85,118,0}}, +/* 57822 */ {(14<<2)|2,{85,118,0}}, +/* 57823 */ {(14<<2)|2,{85,118,0}}, +/* 57824 */ {(14<<2)|2,{85,119,0}}, +/* 57825 */ {(14<<2)|2,{85,119,0}}, +/* 57826 */ {(14<<2)|2,{85,119,0}}, +/* 57827 */ {(14<<2)|2,{85,119,0}}, +/* 57828 */ {(14<<2)|2,{85,120,0}}, +/* 57829 */ {(14<<2)|2,{85,120,0}}, +/* 57830 */ {(14<<2)|2,{85,120,0}}, +/* 57831 */ {(14<<2)|2,{85,120,0}}, +/* 57832 */ {(14<<2)|2,{85,121,0}}, +/* 57833 */ {(14<<2)|2,{85,121,0}}, +/* 57834 */ {(14<<2)|2,{85,121,0}}, +/* 57835 */ {(14<<2)|2,{85,121,0}}, +/* 57836 */ {(14<<2)|2,{85,122,0}}, +/* 57837 */ {(14<<2)|2,{85,122,0}}, +/* 57838 */ {(14<<2)|2,{85,122,0}}, +/* 57839 */ {(14<<2)|2,{85,122,0}}, +/* 57840 */ {(15<<2)|2,{85,38,0}}, +/* 57841 */ {(15<<2)|2,{85,38,0}}, +/* 57842 */ {(15<<2)|2,{85,42,0}}, +/* 57843 */ {(15<<2)|2,{85,42,0}}, +/* 57844 */ {(15<<2)|2,{85,44,0}}, +/* 57845 */ {(15<<2)|2,{85,44,0}}, +/* 57846 */ {(15<<2)|2,{85,59,0}}, +/* 57847 */ {(15<<2)|2,{85,59,0}}, +/* 57848 */ {(15<<2)|2,{85,88,0}}, +/* 57849 */ {(15<<2)|2,{85,88,0}}, +/* 57850 */ {(15<<2)|2,{85,90,0}}, +/* 57851 */ {(15<<2)|2,{85,90,0}}, +/* 57852 */ {(7<<2)|1,{85,0,0}}, +/* 57853 */ {(7<<2)|1,{85,0,0}}, +/* 57854 */ {(7<<2)|1,{85,0,0}}, +/* 57855 */ {(7<<2)|1,{85,0,0}}, +/* 57856 */ {(12<<2)|2,{86,48,0}}, +/* 57857 */ {(12<<2)|2,{86,48,0}}, +/* 57858 */ {(12<<2)|2,{86,48,0}}, +/* 57859 */ {(12<<2)|2,{86,48,0}}, +/* 57860 */ {(12<<2)|2,{86,48,0}}, +/* 57861 */ {(12<<2)|2,{86,48,0}}, +/* 57862 */ {(12<<2)|2,{86,48,0}}, +/* 57863 */ {(12<<2)|2,{86,48,0}}, +/* 57864 */ {(12<<2)|2,{86,48,0}}, +/* 57865 */ {(12<<2)|2,{86,48,0}}, +/* 57866 */ {(12<<2)|2,{86,48,0}}, +/* 57867 */ {(12<<2)|2,{86,48,0}}, +/* 57868 */ {(12<<2)|2,{86,48,0}}, +/* 57869 */ {(12<<2)|2,{86,48,0}}, +/* 57870 */ {(12<<2)|2,{86,48,0}}, +/* 57871 */ {(12<<2)|2,{86,48,0}}, +/* 57872 */ {(12<<2)|2,{86,49,0}}, +/* 57873 */ {(12<<2)|2,{86,49,0}}, +/* 57874 */ {(12<<2)|2,{86,49,0}}, +/* 57875 */ {(12<<2)|2,{86,49,0}}, +/* 57876 */ {(12<<2)|2,{86,49,0}}, +/* 57877 */ {(12<<2)|2,{86,49,0}}, +/* 57878 */ {(12<<2)|2,{86,49,0}}, +/* 57879 */ {(12<<2)|2,{86,49,0}}, +/* 57880 */ {(12<<2)|2,{86,49,0}}, +/* 57881 */ {(12<<2)|2,{86,49,0}}, +/* 57882 */ {(12<<2)|2,{86,49,0}}, +/* 57883 */ {(12<<2)|2,{86,49,0}}, +/* 57884 */ {(12<<2)|2,{86,49,0}}, +/* 57885 */ {(12<<2)|2,{86,49,0}}, +/* 57886 */ {(12<<2)|2,{86,49,0}}, +/* 57887 */ {(12<<2)|2,{86,49,0}}, +/* 57888 */ {(12<<2)|2,{86,50,0}}, +/* 57889 */ {(12<<2)|2,{86,50,0}}, +/* 57890 */ {(12<<2)|2,{86,50,0}}, +/* 57891 */ {(12<<2)|2,{86,50,0}}, +/* 57892 */ {(12<<2)|2,{86,50,0}}, +/* 57893 */ {(12<<2)|2,{86,50,0}}, +/* 57894 */ {(12<<2)|2,{86,50,0}}, +/* 57895 */ {(12<<2)|2,{86,50,0}}, +/* 57896 */ {(12<<2)|2,{86,50,0}}, +/* 57897 */ {(12<<2)|2,{86,50,0}}, +/* 57898 */ {(12<<2)|2,{86,50,0}}, +/* 57899 */ {(12<<2)|2,{86,50,0}}, +/* 57900 */ {(12<<2)|2,{86,50,0}}, +/* 57901 */ {(12<<2)|2,{86,50,0}}, +/* 57902 */ {(12<<2)|2,{86,50,0}}, +/* 57903 */ {(12<<2)|2,{86,50,0}}, +/* 57904 */ {(12<<2)|2,{86,97,0}}, +/* 57905 */ {(12<<2)|2,{86,97,0}}, +/* 57906 */ {(12<<2)|2,{86,97,0}}, +/* 57907 */ {(12<<2)|2,{86,97,0}}, +/* 57908 */ {(12<<2)|2,{86,97,0}}, +/* 57909 */ {(12<<2)|2,{86,97,0}}, +/* 57910 */ {(12<<2)|2,{86,97,0}}, +/* 57911 */ {(12<<2)|2,{86,97,0}}, +/* 57912 */ {(12<<2)|2,{86,97,0}}, +/* 57913 */ {(12<<2)|2,{86,97,0}}, +/* 57914 */ {(12<<2)|2,{86,97,0}}, +/* 57915 */ {(12<<2)|2,{86,97,0}}, +/* 57916 */ {(12<<2)|2,{86,97,0}}, +/* 57917 */ {(12<<2)|2,{86,97,0}}, +/* 57918 */ {(12<<2)|2,{86,97,0}}, +/* 57919 */ {(12<<2)|2,{86,97,0}}, +/* 57920 */ {(12<<2)|2,{86,99,0}}, +/* 57921 */ {(12<<2)|2,{86,99,0}}, +/* 57922 */ {(12<<2)|2,{86,99,0}}, +/* 57923 */ {(12<<2)|2,{86,99,0}}, +/* 57924 */ {(12<<2)|2,{86,99,0}}, +/* 57925 */ {(12<<2)|2,{86,99,0}}, +/* 57926 */ {(12<<2)|2,{86,99,0}}, +/* 57927 */ {(12<<2)|2,{86,99,0}}, +/* 57928 */ {(12<<2)|2,{86,99,0}}, +/* 57929 */ {(12<<2)|2,{86,99,0}}, +/* 57930 */ {(12<<2)|2,{86,99,0}}, +/* 57931 */ {(12<<2)|2,{86,99,0}}, +/* 57932 */ {(12<<2)|2,{86,99,0}}, +/* 57933 */ {(12<<2)|2,{86,99,0}}, +/* 57934 */ {(12<<2)|2,{86,99,0}}, +/* 57935 */ {(12<<2)|2,{86,99,0}}, +/* 57936 */ {(12<<2)|2,{86,101,0}}, +/* 57937 */ {(12<<2)|2,{86,101,0}}, +/* 57938 */ {(12<<2)|2,{86,101,0}}, +/* 57939 */ {(12<<2)|2,{86,101,0}}, +/* 57940 */ {(12<<2)|2,{86,101,0}}, +/* 57941 */ {(12<<2)|2,{86,101,0}}, +/* 57942 */ {(12<<2)|2,{86,101,0}}, +/* 57943 */ {(12<<2)|2,{86,101,0}}, +/* 57944 */ {(12<<2)|2,{86,101,0}}, +/* 57945 */ {(12<<2)|2,{86,101,0}}, +/* 57946 */ {(12<<2)|2,{86,101,0}}, +/* 57947 */ {(12<<2)|2,{86,101,0}}, +/* 57948 */ {(12<<2)|2,{86,101,0}}, +/* 57949 */ {(12<<2)|2,{86,101,0}}, +/* 57950 */ {(12<<2)|2,{86,101,0}}, +/* 57951 */ {(12<<2)|2,{86,101,0}}, +/* 57952 */ {(12<<2)|2,{86,105,0}}, +/* 57953 */ {(12<<2)|2,{86,105,0}}, +/* 57954 */ {(12<<2)|2,{86,105,0}}, +/* 57955 */ {(12<<2)|2,{86,105,0}}, +/* 57956 */ {(12<<2)|2,{86,105,0}}, +/* 57957 */ {(12<<2)|2,{86,105,0}}, +/* 57958 */ {(12<<2)|2,{86,105,0}}, +/* 57959 */ {(12<<2)|2,{86,105,0}}, +/* 57960 */ {(12<<2)|2,{86,105,0}}, +/* 57961 */ {(12<<2)|2,{86,105,0}}, +/* 57962 */ {(12<<2)|2,{86,105,0}}, +/* 57963 */ {(12<<2)|2,{86,105,0}}, +/* 57964 */ {(12<<2)|2,{86,105,0}}, +/* 57965 */ {(12<<2)|2,{86,105,0}}, +/* 57966 */ {(12<<2)|2,{86,105,0}}, +/* 57967 */ {(12<<2)|2,{86,105,0}}, +/* 57968 */ {(12<<2)|2,{86,111,0}}, +/* 57969 */ {(12<<2)|2,{86,111,0}}, +/* 57970 */ {(12<<2)|2,{86,111,0}}, +/* 57971 */ {(12<<2)|2,{86,111,0}}, +/* 57972 */ {(12<<2)|2,{86,111,0}}, +/* 57973 */ {(12<<2)|2,{86,111,0}}, +/* 57974 */ {(12<<2)|2,{86,111,0}}, +/* 57975 */ {(12<<2)|2,{86,111,0}}, +/* 57976 */ {(12<<2)|2,{86,111,0}}, +/* 57977 */ {(12<<2)|2,{86,111,0}}, +/* 57978 */ {(12<<2)|2,{86,111,0}}, +/* 57979 */ {(12<<2)|2,{86,111,0}}, +/* 57980 */ {(12<<2)|2,{86,111,0}}, +/* 57981 */ {(12<<2)|2,{86,111,0}}, +/* 57982 */ {(12<<2)|2,{86,111,0}}, +/* 57983 */ {(12<<2)|2,{86,111,0}}, +/* 57984 */ {(12<<2)|2,{86,115,0}}, +/* 57985 */ {(12<<2)|2,{86,115,0}}, +/* 57986 */ {(12<<2)|2,{86,115,0}}, +/* 57987 */ {(12<<2)|2,{86,115,0}}, +/* 57988 */ {(12<<2)|2,{86,115,0}}, +/* 57989 */ {(12<<2)|2,{86,115,0}}, +/* 57990 */ {(12<<2)|2,{86,115,0}}, +/* 57991 */ {(12<<2)|2,{86,115,0}}, +/* 57992 */ {(12<<2)|2,{86,115,0}}, +/* 57993 */ {(12<<2)|2,{86,115,0}}, +/* 57994 */ {(12<<2)|2,{86,115,0}}, +/* 57995 */ {(12<<2)|2,{86,115,0}}, +/* 57996 */ {(12<<2)|2,{86,115,0}}, +/* 57997 */ {(12<<2)|2,{86,115,0}}, +/* 57998 */ {(12<<2)|2,{86,115,0}}, +/* 57999 */ {(12<<2)|2,{86,115,0}}, +/* 58000 */ {(12<<2)|2,{86,116,0}}, +/* 58001 */ {(12<<2)|2,{86,116,0}}, +/* 58002 */ {(12<<2)|2,{86,116,0}}, +/* 58003 */ {(12<<2)|2,{86,116,0}}, +/* 58004 */ {(12<<2)|2,{86,116,0}}, +/* 58005 */ {(12<<2)|2,{86,116,0}}, +/* 58006 */ {(12<<2)|2,{86,116,0}}, +/* 58007 */ {(12<<2)|2,{86,116,0}}, +/* 58008 */ {(12<<2)|2,{86,116,0}}, +/* 58009 */ {(12<<2)|2,{86,116,0}}, +/* 58010 */ {(12<<2)|2,{86,116,0}}, +/* 58011 */ {(12<<2)|2,{86,116,0}}, +/* 58012 */ {(12<<2)|2,{86,116,0}}, +/* 58013 */ {(12<<2)|2,{86,116,0}}, +/* 58014 */ {(12<<2)|2,{86,116,0}}, +/* 58015 */ {(12<<2)|2,{86,116,0}}, +/* 58016 */ {(13<<2)|2,{86,32,0}}, +/* 58017 */ {(13<<2)|2,{86,32,0}}, +/* 58018 */ {(13<<2)|2,{86,32,0}}, +/* 58019 */ {(13<<2)|2,{86,32,0}}, +/* 58020 */ {(13<<2)|2,{86,32,0}}, +/* 58021 */ {(13<<2)|2,{86,32,0}}, +/* 58022 */ {(13<<2)|2,{86,32,0}}, +/* 58023 */ {(13<<2)|2,{86,32,0}}, +/* 58024 */ {(13<<2)|2,{86,37,0}}, +/* 58025 */ {(13<<2)|2,{86,37,0}}, +/* 58026 */ {(13<<2)|2,{86,37,0}}, +/* 58027 */ {(13<<2)|2,{86,37,0}}, +/* 58028 */ {(13<<2)|2,{86,37,0}}, +/* 58029 */ {(13<<2)|2,{86,37,0}}, +/* 58030 */ {(13<<2)|2,{86,37,0}}, +/* 58031 */ {(13<<2)|2,{86,37,0}}, +/* 58032 */ {(13<<2)|2,{86,45,0}}, +/* 58033 */ {(13<<2)|2,{86,45,0}}, +/* 58034 */ {(13<<2)|2,{86,45,0}}, +/* 58035 */ {(13<<2)|2,{86,45,0}}, +/* 58036 */ {(13<<2)|2,{86,45,0}}, +/* 58037 */ {(13<<2)|2,{86,45,0}}, +/* 58038 */ {(13<<2)|2,{86,45,0}}, +/* 58039 */ {(13<<2)|2,{86,45,0}}, +/* 58040 */ {(13<<2)|2,{86,46,0}}, +/* 58041 */ {(13<<2)|2,{86,46,0}}, +/* 58042 */ {(13<<2)|2,{86,46,0}}, +/* 58043 */ {(13<<2)|2,{86,46,0}}, +/* 58044 */ {(13<<2)|2,{86,46,0}}, +/* 58045 */ {(13<<2)|2,{86,46,0}}, +/* 58046 */ {(13<<2)|2,{86,46,0}}, +/* 58047 */ {(13<<2)|2,{86,46,0}}, +/* 58048 */ {(13<<2)|2,{86,47,0}}, +/* 58049 */ {(13<<2)|2,{86,47,0}}, +/* 58050 */ {(13<<2)|2,{86,47,0}}, +/* 58051 */ {(13<<2)|2,{86,47,0}}, +/* 58052 */ {(13<<2)|2,{86,47,0}}, +/* 58053 */ {(13<<2)|2,{86,47,0}}, +/* 58054 */ {(13<<2)|2,{86,47,0}}, +/* 58055 */ {(13<<2)|2,{86,47,0}}, +/* 58056 */ {(13<<2)|2,{86,51,0}}, +/* 58057 */ {(13<<2)|2,{86,51,0}}, +/* 58058 */ {(13<<2)|2,{86,51,0}}, +/* 58059 */ {(13<<2)|2,{86,51,0}}, +/* 58060 */ {(13<<2)|2,{86,51,0}}, +/* 58061 */ {(13<<2)|2,{86,51,0}}, +/* 58062 */ {(13<<2)|2,{86,51,0}}, +/* 58063 */ {(13<<2)|2,{86,51,0}}, +/* 58064 */ {(13<<2)|2,{86,52,0}}, +/* 58065 */ {(13<<2)|2,{86,52,0}}, +/* 58066 */ {(13<<2)|2,{86,52,0}}, +/* 58067 */ {(13<<2)|2,{86,52,0}}, +/* 58068 */ {(13<<2)|2,{86,52,0}}, +/* 58069 */ {(13<<2)|2,{86,52,0}}, +/* 58070 */ {(13<<2)|2,{86,52,0}}, +/* 58071 */ {(13<<2)|2,{86,52,0}}, +/* 58072 */ {(13<<2)|2,{86,53,0}}, +/* 58073 */ {(13<<2)|2,{86,53,0}}, +/* 58074 */ {(13<<2)|2,{86,53,0}}, +/* 58075 */ {(13<<2)|2,{86,53,0}}, +/* 58076 */ {(13<<2)|2,{86,53,0}}, +/* 58077 */ {(13<<2)|2,{86,53,0}}, +/* 58078 */ {(13<<2)|2,{86,53,0}}, +/* 58079 */ {(13<<2)|2,{86,53,0}}, +/* 58080 */ {(13<<2)|2,{86,54,0}}, +/* 58081 */ {(13<<2)|2,{86,54,0}}, +/* 58082 */ {(13<<2)|2,{86,54,0}}, +/* 58083 */ {(13<<2)|2,{86,54,0}}, +/* 58084 */ {(13<<2)|2,{86,54,0}}, +/* 58085 */ {(13<<2)|2,{86,54,0}}, +/* 58086 */ {(13<<2)|2,{86,54,0}}, +/* 58087 */ {(13<<2)|2,{86,54,0}}, +/* 58088 */ {(13<<2)|2,{86,55,0}}, +/* 58089 */ {(13<<2)|2,{86,55,0}}, +/* 58090 */ {(13<<2)|2,{86,55,0}}, +/* 58091 */ {(13<<2)|2,{86,55,0}}, +/* 58092 */ {(13<<2)|2,{86,55,0}}, +/* 58093 */ {(13<<2)|2,{86,55,0}}, +/* 58094 */ {(13<<2)|2,{86,55,0}}, +/* 58095 */ {(13<<2)|2,{86,55,0}}, +/* 58096 */ {(13<<2)|2,{86,56,0}}, +/* 58097 */ {(13<<2)|2,{86,56,0}}, +/* 58098 */ {(13<<2)|2,{86,56,0}}, +/* 58099 */ {(13<<2)|2,{86,56,0}}, +/* 58100 */ {(13<<2)|2,{86,56,0}}, +/* 58101 */ {(13<<2)|2,{86,56,0}}, +/* 58102 */ {(13<<2)|2,{86,56,0}}, +/* 58103 */ {(13<<2)|2,{86,56,0}}, +/* 58104 */ {(13<<2)|2,{86,57,0}}, +/* 58105 */ {(13<<2)|2,{86,57,0}}, +/* 58106 */ {(13<<2)|2,{86,57,0}}, +/* 58107 */ {(13<<2)|2,{86,57,0}}, +/* 58108 */ {(13<<2)|2,{86,57,0}}, +/* 58109 */ {(13<<2)|2,{86,57,0}}, +/* 58110 */ {(13<<2)|2,{86,57,0}}, +/* 58111 */ {(13<<2)|2,{86,57,0}}, +/* 58112 */ {(13<<2)|2,{86,61,0}}, +/* 58113 */ {(13<<2)|2,{86,61,0}}, +/* 58114 */ {(13<<2)|2,{86,61,0}}, +/* 58115 */ {(13<<2)|2,{86,61,0}}, +/* 58116 */ {(13<<2)|2,{86,61,0}}, +/* 58117 */ {(13<<2)|2,{86,61,0}}, +/* 58118 */ {(13<<2)|2,{86,61,0}}, +/* 58119 */ {(13<<2)|2,{86,61,0}}, +/* 58120 */ {(13<<2)|2,{86,65,0}}, +/* 58121 */ {(13<<2)|2,{86,65,0}}, +/* 58122 */ {(13<<2)|2,{86,65,0}}, +/* 58123 */ {(13<<2)|2,{86,65,0}}, +/* 58124 */ {(13<<2)|2,{86,65,0}}, +/* 58125 */ {(13<<2)|2,{86,65,0}}, +/* 58126 */ {(13<<2)|2,{86,65,0}}, +/* 58127 */ {(13<<2)|2,{86,65,0}}, +/* 58128 */ {(13<<2)|2,{86,95,0}}, +/* 58129 */ {(13<<2)|2,{86,95,0}}, +/* 58130 */ {(13<<2)|2,{86,95,0}}, +/* 58131 */ {(13<<2)|2,{86,95,0}}, +/* 58132 */ {(13<<2)|2,{86,95,0}}, +/* 58133 */ {(13<<2)|2,{86,95,0}}, +/* 58134 */ {(13<<2)|2,{86,95,0}}, +/* 58135 */ {(13<<2)|2,{86,95,0}}, +/* 58136 */ {(13<<2)|2,{86,98,0}}, +/* 58137 */ {(13<<2)|2,{86,98,0}}, +/* 58138 */ {(13<<2)|2,{86,98,0}}, +/* 58139 */ {(13<<2)|2,{86,98,0}}, +/* 58140 */ {(13<<2)|2,{86,98,0}}, +/* 58141 */ {(13<<2)|2,{86,98,0}}, +/* 58142 */ {(13<<2)|2,{86,98,0}}, +/* 58143 */ {(13<<2)|2,{86,98,0}}, +/* 58144 */ {(13<<2)|2,{86,100,0}}, +/* 58145 */ {(13<<2)|2,{86,100,0}}, +/* 58146 */ {(13<<2)|2,{86,100,0}}, +/* 58147 */ {(13<<2)|2,{86,100,0}}, +/* 58148 */ {(13<<2)|2,{86,100,0}}, +/* 58149 */ {(13<<2)|2,{86,100,0}}, +/* 58150 */ {(13<<2)|2,{86,100,0}}, +/* 58151 */ {(13<<2)|2,{86,100,0}}, +/* 58152 */ {(13<<2)|2,{86,102,0}}, +/* 58153 */ {(13<<2)|2,{86,102,0}}, +/* 58154 */ {(13<<2)|2,{86,102,0}}, +/* 58155 */ {(13<<2)|2,{86,102,0}}, +/* 58156 */ {(13<<2)|2,{86,102,0}}, +/* 58157 */ {(13<<2)|2,{86,102,0}}, +/* 58158 */ {(13<<2)|2,{86,102,0}}, +/* 58159 */ {(13<<2)|2,{86,102,0}}, +/* 58160 */ {(13<<2)|2,{86,103,0}}, +/* 58161 */ {(13<<2)|2,{86,103,0}}, +/* 58162 */ {(13<<2)|2,{86,103,0}}, +/* 58163 */ {(13<<2)|2,{86,103,0}}, +/* 58164 */ {(13<<2)|2,{86,103,0}}, +/* 58165 */ {(13<<2)|2,{86,103,0}}, +/* 58166 */ {(13<<2)|2,{86,103,0}}, +/* 58167 */ {(13<<2)|2,{86,103,0}}, +/* 58168 */ {(13<<2)|2,{86,104,0}}, +/* 58169 */ {(13<<2)|2,{86,104,0}}, +/* 58170 */ {(13<<2)|2,{86,104,0}}, +/* 58171 */ {(13<<2)|2,{86,104,0}}, +/* 58172 */ {(13<<2)|2,{86,104,0}}, +/* 58173 */ {(13<<2)|2,{86,104,0}}, +/* 58174 */ {(13<<2)|2,{86,104,0}}, +/* 58175 */ {(13<<2)|2,{86,104,0}}, +/* 58176 */ {(13<<2)|2,{86,108,0}}, +/* 58177 */ {(13<<2)|2,{86,108,0}}, +/* 58178 */ {(13<<2)|2,{86,108,0}}, +/* 58179 */ {(13<<2)|2,{86,108,0}}, +/* 58180 */ {(13<<2)|2,{86,108,0}}, +/* 58181 */ {(13<<2)|2,{86,108,0}}, +/* 58182 */ {(13<<2)|2,{86,108,0}}, +/* 58183 */ {(13<<2)|2,{86,108,0}}, +/* 58184 */ {(13<<2)|2,{86,109,0}}, +/* 58185 */ {(13<<2)|2,{86,109,0}}, +/* 58186 */ {(13<<2)|2,{86,109,0}}, +/* 58187 */ {(13<<2)|2,{86,109,0}}, +/* 58188 */ {(13<<2)|2,{86,109,0}}, +/* 58189 */ {(13<<2)|2,{86,109,0}}, +/* 58190 */ {(13<<2)|2,{86,109,0}}, +/* 58191 */ {(13<<2)|2,{86,109,0}}, +/* 58192 */ {(13<<2)|2,{86,110,0}}, +/* 58193 */ {(13<<2)|2,{86,110,0}}, +/* 58194 */ {(13<<2)|2,{86,110,0}}, +/* 58195 */ {(13<<2)|2,{86,110,0}}, +/* 58196 */ {(13<<2)|2,{86,110,0}}, +/* 58197 */ {(13<<2)|2,{86,110,0}}, +/* 58198 */ {(13<<2)|2,{86,110,0}}, +/* 58199 */ {(13<<2)|2,{86,110,0}}, +/* 58200 */ {(13<<2)|2,{86,112,0}}, +/* 58201 */ {(13<<2)|2,{86,112,0}}, +/* 58202 */ {(13<<2)|2,{86,112,0}}, +/* 58203 */ {(13<<2)|2,{86,112,0}}, +/* 58204 */ {(13<<2)|2,{86,112,0}}, +/* 58205 */ {(13<<2)|2,{86,112,0}}, +/* 58206 */ {(13<<2)|2,{86,112,0}}, +/* 58207 */ {(13<<2)|2,{86,112,0}}, +/* 58208 */ {(13<<2)|2,{86,114,0}}, +/* 58209 */ {(13<<2)|2,{86,114,0}}, +/* 58210 */ {(13<<2)|2,{86,114,0}}, +/* 58211 */ {(13<<2)|2,{86,114,0}}, +/* 58212 */ {(13<<2)|2,{86,114,0}}, +/* 58213 */ {(13<<2)|2,{86,114,0}}, +/* 58214 */ {(13<<2)|2,{86,114,0}}, +/* 58215 */ {(13<<2)|2,{86,114,0}}, +/* 58216 */ {(13<<2)|2,{86,117,0}}, +/* 58217 */ {(13<<2)|2,{86,117,0}}, +/* 58218 */ {(13<<2)|2,{86,117,0}}, +/* 58219 */ {(13<<2)|2,{86,117,0}}, +/* 58220 */ {(13<<2)|2,{86,117,0}}, +/* 58221 */ {(13<<2)|2,{86,117,0}}, +/* 58222 */ {(13<<2)|2,{86,117,0}}, +/* 58223 */ {(13<<2)|2,{86,117,0}}, +/* 58224 */ {(14<<2)|2,{86,58,0}}, +/* 58225 */ {(14<<2)|2,{86,58,0}}, +/* 58226 */ {(14<<2)|2,{86,58,0}}, +/* 58227 */ {(14<<2)|2,{86,58,0}}, +/* 58228 */ {(14<<2)|2,{86,66,0}}, +/* 58229 */ {(14<<2)|2,{86,66,0}}, +/* 58230 */ {(14<<2)|2,{86,66,0}}, +/* 58231 */ {(14<<2)|2,{86,66,0}}, +/* 58232 */ {(14<<2)|2,{86,67,0}}, +/* 58233 */ {(14<<2)|2,{86,67,0}}, +/* 58234 */ {(14<<2)|2,{86,67,0}}, +/* 58235 */ {(14<<2)|2,{86,67,0}}, +/* 58236 */ {(14<<2)|2,{86,68,0}}, +/* 58237 */ {(14<<2)|2,{86,68,0}}, +/* 58238 */ {(14<<2)|2,{86,68,0}}, +/* 58239 */ {(14<<2)|2,{86,68,0}}, +/* 58240 */ {(14<<2)|2,{86,69,0}}, +/* 58241 */ {(14<<2)|2,{86,69,0}}, +/* 58242 */ {(14<<2)|2,{86,69,0}}, +/* 58243 */ {(14<<2)|2,{86,69,0}}, +/* 58244 */ {(14<<2)|2,{86,70,0}}, +/* 58245 */ {(14<<2)|2,{86,70,0}}, +/* 58246 */ {(14<<2)|2,{86,70,0}}, +/* 58247 */ {(14<<2)|2,{86,70,0}}, +/* 58248 */ {(14<<2)|2,{86,71,0}}, +/* 58249 */ {(14<<2)|2,{86,71,0}}, +/* 58250 */ {(14<<2)|2,{86,71,0}}, +/* 58251 */ {(14<<2)|2,{86,71,0}}, +/* 58252 */ {(14<<2)|2,{86,72,0}}, +/* 58253 */ {(14<<2)|2,{86,72,0}}, +/* 58254 */ {(14<<2)|2,{86,72,0}}, +/* 58255 */ {(14<<2)|2,{86,72,0}}, +/* 58256 */ {(14<<2)|2,{86,73,0}}, +/* 58257 */ {(14<<2)|2,{86,73,0}}, +/* 58258 */ {(14<<2)|2,{86,73,0}}, +/* 58259 */ {(14<<2)|2,{86,73,0}}, +/* 58260 */ {(14<<2)|2,{86,74,0}}, +/* 58261 */ {(14<<2)|2,{86,74,0}}, +/* 58262 */ {(14<<2)|2,{86,74,0}}, +/* 58263 */ {(14<<2)|2,{86,74,0}}, +/* 58264 */ {(14<<2)|2,{86,75,0}}, +/* 58265 */ {(14<<2)|2,{86,75,0}}, +/* 58266 */ {(14<<2)|2,{86,75,0}}, +/* 58267 */ {(14<<2)|2,{86,75,0}}, +/* 58268 */ {(14<<2)|2,{86,76,0}}, +/* 58269 */ {(14<<2)|2,{86,76,0}}, +/* 58270 */ {(14<<2)|2,{86,76,0}}, +/* 58271 */ {(14<<2)|2,{86,76,0}}, +/* 58272 */ {(14<<2)|2,{86,77,0}}, +/* 58273 */ {(14<<2)|2,{86,77,0}}, +/* 58274 */ {(14<<2)|2,{86,77,0}}, +/* 58275 */ {(14<<2)|2,{86,77,0}}, +/* 58276 */ {(14<<2)|2,{86,78,0}}, +/* 58277 */ {(14<<2)|2,{86,78,0}}, +/* 58278 */ {(14<<2)|2,{86,78,0}}, +/* 58279 */ {(14<<2)|2,{86,78,0}}, +/* 58280 */ {(14<<2)|2,{86,79,0}}, +/* 58281 */ {(14<<2)|2,{86,79,0}}, +/* 58282 */ {(14<<2)|2,{86,79,0}}, +/* 58283 */ {(14<<2)|2,{86,79,0}}, +/* 58284 */ {(14<<2)|2,{86,80,0}}, +/* 58285 */ {(14<<2)|2,{86,80,0}}, +/* 58286 */ {(14<<2)|2,{86,80,0}}, +/* 58287 */ {(14<<2)|2,{86,80,0}}, +/* 58288 */ {(14<<2)|2,{86,81,0}}, +/* 58289 */ {(14<<2)|2,{86,81,0}}, +/* 58290 */ {(14<<2)|2,{86,81,0}}, +/* 58291 */ {(14<<2)|2,{86,81,0}}, +/* 58292 */ {(14<<2)|2,{86,82,0}}, +/* 58293 */ {(14<<2)|2,{86,82,0}}, +/* 58294 */ {(14<<2)|2,{86,82,0}}, +/* 58295 */ {(14<<2)|2,{86,82,0}}, +/* 58296 */ {(14<<2)|2,{86,83,0}}, +/* 58297 */ {(14<<2)|2,{86,83,0}}, +/* 58298 */ {(14<<2)|2,{86,83,0}}, +/* 58299 */ {(14<<2)|2,{86,83,0}}, +/* 58300 */ {(14<<2)|2,{86,84,0}}, +/* 58301 */ {(14<<2)|2,{86,84,0}}, +/* 58302 */ {(14<<2)|2,{86,84,0}}, +/* 58303 */ {(14<<2)|2,{86,84,0}}, +/* 58304 */ {(14<<2)|2,{86,85,0}}, +/* 58305 */ {(14<<2)|2,{86,85,0}}, +/* 58306 */ {(14<<2)|2,{86,85,0}}, +/* 58307 */ {(14<<2)|2,{86,85,0}}, +/* 58308 */ {(14<<2)|2,{86,86,0}}, +/* 58309 */ {(14<<2)|2,{86,86,0}}, +/* 58310 */ {(14<<2)|2,{86,86,0}}, +/* 58311 */ {(14<<2)|2,{86,86,0}}, +/* 58312 */ {(14<<2)|2,{86,87,0}}, +/* 58313 */ {(14<<2)|2,{86,87,0}}, +/* 58314 */ {(14<<2)|2,{86,87,0}}, +/* 58315 */ {(14<<2)|2,{86,87,0}}, +/* 58316 */ {(14<<2)|2,{86,89,0}}, +/* 58317 */ {(14<<2)|2,{86,89,0}}, +/* 58318 */ {(14<<2)|2,{86,89,0}}, +/* 58319 */ {(14<<2)|2,{86,89,0}}, +/* 58320 */ {(14<<2)|2,{86,106,0}}, +/* 58321 */ {(14<<2)|2,{86,106,0}}, +/* 58322 */ {(14<<2)|2,{86,106,0}}, +/* 58323 */ {(14<<2)|2,{86,106,0}}, +/* 58324 */ {(14<<2)|2,{86,107,0}}, +/* 58325 */ {(14<<2)|2,{86,107,0}}, +/* 58326 */ {(14<<2)|2,{86,107,0}}, +/* 58327 */ {(14<<2)|2,{86,107,0}}, +/* 58328 */ {(14<<2)|2,{86,113,0}}, +/* 58329 */ {(14<<2)|2,{86,113,0}}, +/* 58330 */ {(14<<2)|2,{86,113,0}}, +/* 58331 */ {(14<<2)|2,{86,113,0}}, +/* 58332 */ {(14<<2)|2,{86,118,0}}, +/* 58333 */ {(14<<2)|2,{86,118,0}}, +/* 58334 */ {(14<<2)|2,{86,118,0}}, +/* 58335 */ {(14<<2)|2,{86,118,0}}, +/* 58336 */ {(14<<2)|2,{86,119,0}}, +/* 58337 */ {(14<<2)|2,{86,119,0}}, +/* 58338 */ {(14<<2)|2,{86,119,0}}, +/* 58339 */ {(14<<2)|2,{86,119,0}}, +/* 58340 */ {(14<<2)|2,{86,120,0}}, +/* 58341 */ {(14<<2)|2,{86,120,0}}, +/* 58342 */ {(14<<2)|2,{86,120,0}}, +/* 58343 */ {(14<<2)|2,{86,120,0}}, +/* 58344 */ {(14<<2)|2,{86,121,0}}, +/* 58345 */ {(14<<2)|2,{86,121,0}}, +/* 58346 */ {(14<<2)|2,{86,121,0}}, +/* 58347 */ {(14<<2)|2,{86,121,0}}, +/* 58348 */ {(14<<2)|2,{86,122,0}}, +/* 58349 */ {(14<<2)|2,{86,122,0}}, +/* 58350 */ {(14<<2)|2,{86,122,0}}, +/* 58351 */ {(14<<2)|2,{86,122,0}}, +/* 58352 */ {(15<<2)|2,{86,38,0}}, +/* 58353 */ {(15<<2)|2,{86,38,0}}, +/* 58354 */ {(15<<2)|2,{86,42,0}}, +/* 58355 */ {(15<<2)|2,{86,42,0}}, +/* 58356 */ {(15<<2)|2,{86,44,0}}, +/* 58357 */ {(15<<2)|2,{86,44,0}}, +/* 58358 */ {(15<<2)|2,{86,59,0}}, +/* 58359 */ {(15<<2)|2,{86,59,0}}, +/* 58360 */ {(15<<2)|2,{86,88,0}}, +/* 58361 */ {(15<<2)|2,{86,88,0}}, +/* 58362 */ {(15<<2)|2,{86,90,0}}, +/* 58363 */ {(15<<2)|2,{86,90,0}}, +/* 58364 */ {(7<<2)|1,{86,0,0}}, +/* 58365 */ {(7<<2)|1,{86,0,0}}, +/* 58366 */ {(7<<2)|1,{86,0,0}}, +/* 58367 */ {(7<<2)|1,{86,0,0}}, +/* 58368 */ {(12<<2)|2,{87,48,0}}, +/* 58369 */ {(12<<2)|2,{87,48,0}}, +/* 58370 */ {(12<<2)|2,{87,48,0}}, +/* 58371 */ {(12<<2)|2,{87,48,0}}, +/* 58372 */ {(12<<2)|2,{87,48,0}}, +/* 58373 */ {(12<<2)|2,{87,48,0}}, +/* 58374 */ {(12<<2)|2,{87,48,0}}, +/* 58375 */ {(12<<2)|2,{87,48,0}}, +/* 58376 */ {(12<<2)|2,{87,48,0}}, +/* 58377 */ {(12<<2)|2,{87,48,0}}, +/* 58378 */ {(12<<2)|2,{87,48,0}}, +/* 58379 */ {(12<<2)|2,{87,48,0}}, +/* 58380 */ {(12<<2)|2,{87,48,0}}, +/* 58381 */ {(12<<2)|2,{87,48,0}}, +/* 58382 */ {(12<<2)|2,{87,48,0}}, +/* 58383 */ {(12<<2)|2,{87,48,0}}, +/* 58384 */ {(12<<2)|2,{87,49,0}}, +/* 58385 */ {(12<<2)|2,{87,49,0}}, +/* 58386 */ {(12<<2)|2,{87,49,0}}, +/* 58387 */ {(12<<2)|2,{87,49,0}}, +/* 58388 */ {(12<<2)|2,{87,49,0}}, +/* 58389 */ {(12<<2)|2,{87,49,0}}, +/* 58390 */ {(12<<2)|2,{87,49,0}}, +/* 58391 */ {(12<<2)|2,{87,49,0}}, +/* 58392 */ {(12<<2)|2,{87,49,0}}, +/* 58393 */ {(12<<2)|2,{87,49,0}}, +/* 58394 */ {(12<<2)|2,{87,49,0}}, +/* 58395 */ {(12<<2)|2,{87,49,0}}, +/* 58396 */ {(12<<2)|2,{87,49,0}}, +/* 58397 */ {(12<<2)|2,{87,49,0}}, +/* 58398 */ {(12<<2)|2,{87,49,0}}, +/* 58399 */ {(12<<2)|2,{87,49,0}}, +/* 58400 */ {(12<<2)|2,{87,50,0}}, +/* 58401 */ {(12<<2)|2,{87,50,0}}, +/* 58402 */ {(12<<2)|2,{87,50,0}}, +/* 58403 */ {(12<<2)|2,{87,50,0}}, +/* 58404 */ {(12<<2)|2,{87,50,0}}, +/* 58405 */ {(12<<2)|2,{87,50,0}}, +/* 58406 */ {(12<<2)|2,{87,50,0}}, +/* 58407 */ {(12<<2)|2,{87,50,0}}, +/* 58408 */ {(12<<2)|2,{87,50,0}}, +/* 58409 */ {(12<<2)|2,{87,50,0}}, +/* 58410 */ {(12<<2)|2,{87,50,0}}, +/* 58411 */ {(12<<2)|2,{87,50,0}}, +/* 58412 */ {(12<<2)|2,{87,50,0}}, +/* 58413 */ {(12<<2)|2,{87,50,0}}, +/* 58414 */ {(12<<2)|2,{87,50,0}}, +/* 58415 */ {(12<<2)|2,{87,50,0}}, +/* 58416 */ {(12<<2)|2,{87,97,0}}, +/* 58417 */ {(12<<2)|2,{87,97,0}}, +/* 58418 */ {(12<<2)|2,{87,97,0}}, +/* 58419 */ {(12<<2)|2,{87,97,0}}, +/* 58420 */ {(12<<2)|2,{87,97,0}}, +/* 58421 */ {(12<<2)|2,{87,97,0}}, +/* 58422 */ {(12<<2)|2,{87,97,0}}, +/* 58423 */ {(12<<2)|2,{87,97,0}}, +/* 58424 */ {(12<<2)|2,{87,97,0}}, +/* 58425 */ {(12<<2)|2,{87,97,0}}, +/* 58426 */ {(12<<2)|2,{87,97,0}}, +/* 58427 */ {(12<<2)|2,{87,97,0}}, +/* 58428 */ {(12<<2)|2,{87,97,0}}, +/* 58429 */ {(12<<2)|2,{87,97,0}}, +/* 58430 */ {(12<<2)|2,{87,97,0}}, +/* 58431 */ {(12<<2)|2,{87,97,0}}, +/* 58432 */ {(12<<2)|2,{87,99,0}}, +/* 58433 */ {(12<<2)|2,{87,99,0}}, +/* 58434 */ {(12<<2)|2,{87,99,0}}, +/* 58435 */ {(12<<2)|2,{87,99,0}}, +/* 58436 */ {(12<<2)|2,{87,99,0}}, +/* 58437 */ {(12<<2)|2,{87,99,0}}, +/* 58438 */ {(12<<2)|2,{87,99,0}}, +/* 58439 */ {(12<<2)|2,{87,99,0}}, +/* 58440 */ {(12<<2)|2,{87,99,0}}, +/* 58441 */ {(12<<2)|2,{87,99,0}}, +/* 58442 */ {(12<<2)|2,{87,99,0}}, +/* 58443 */ {(12<<2)|2,{87,99,0}}, +/* 58444 */ {(12<<2)|2,{87,99,0}}, +/* 58445 */ {(12<<2)|2,{87,99,0}}, +/* 58446 */ {(12<<2)|2,{87,99,0}}, +/* 58447 */ {(12<<2)|2,{87,99,0}}, +/* 58448 */ {(12<<2)|2,{87,101,0}}, +/* 58449 */ {(12<<2)|2,{87,101,0}}, +/* 58450 */ {(12<<2)|2,{87,101,0}}, +/* 58451 */ {(12<<2)|2,{87,101,0}}, +/* 58452 */ {(12<<2)|2,{87,101,0}}, +/* 58453 */ {(12<<2)|2,{87,101,0}}, +/* 58454 */ {(12<<2)|2,{87,101,0}}, +/* 58455 */ {(12<<2)|2,{87,101,0}}, +/* 58456 */ {(12<<2)|2,{87,101,0}}, +/* 58457 */ {(12<<2)|2,{87,101,0}}, +/* 58458 */ {(12<<2)|2,{87,101,0}}, +/* 58459 */ {(12<<2)|2,{87,101,0}}, +/* 58460 */ {(12<<2)|2,{87,101,0}}, +/* 58461 */ {(12<<2)|2,{87,101,0}}, +/* 58462 */ {(12<<2)|2,{87,101,0}}, +/* 58463 */ {(12<<2)|2,{87,101,0}}, +/* 58464 */ {(12<<2)|2,{87,105,0}}, +/* 58465 */ {(12<<2)|2,{87,105,0}}, +/* 58466 */ {(12<<2)|2,{87,105,0}}, +/* 58467 */ {(12<<2)|2,{87,105,0}}, +/* 58468 */ {(12<<2)|2,{87,105,0}}, +/* 58469 */ {(12<<2)|2,{87,105,0}}, +/* 58470 */ {(12<<2)|2,{87,105,0}}, +/* 58471 */ {(12<<2)|2,{87,105,0}}, +/* 58472 */ {(12<<2)|2,{87,105,0}}, +/* 58473 */ {(12<<2)|2,{87,105,0}}, +/* 58474 */ {(12<<2)|2,{87,105,0}}, +/* 58475 */ {(12<<2)|2,{87,105,0}}, +/* 58476 */ {(12<<2)|2,{87,105,0}}, +/* 58477 */ {(12<<2)|2,{87,105,0}}, +/* 58478 */ {(12<<2)|2,{87,105,0}}, +/* 58479 */ {(12<<2)|2,{87,105,0}}, +/* 58480 */ {(12<<2)|2,{87,111,0}}, +/* 58481 */ {(12<<2)|2,{87,111,0}}, +/* 58482 */ {(12<<2)|2,{87,111,0}}, +/* 58483 */ {(12<<2)|2,{87,111,0}}, +/* 58484 */ {(12<<2)|2,{87,111,0}}, +/* 58485 */ {(12<<2)|2,{87,111,0}}, +/* 58486 */ {(12<<2)|2,{87,111,0}}, +/* 58487 */ {(12<<2)|2,{87,111,0}}, +/* 58488 */ {(12<<2)|2,{87,111,0}}, +/* 58489 */ {(12<<2)|2,{87,111,0}}, +/* 58490 */ {(12<<2)|2,{87,111,0}}, +/* 58491 */ {(12<<2)|2,{87,111,0}}, +/* 58492 */ {(12<<2)|2,{87,111,0}}, +/* 58493 */ {(12<<2)|2,{87,111,0}}, +/* 58494 */ {(12<<2)|2,{87,111,0}}, +/* 58495 */ {(12<<2)|2,{87,111,0}}, +/* 58496 */ {(12<<2)|2,{87,115,0}}, +/* 58497 */ {(12<<2)|2,{87,115,0}}, +/* 58498 */ {(12<<2)|2,{87,115,0}}, +/* 58499 */ {(12<<2)|2,{87,115,0}}, +/* 58500 */ {(12<<2)|2,{87,115,0}}, +/* 58501 */ {(12<<2)|2,{87,115,0}}, +/* 58502 */ {(12<<2)|2,{87,115,0}}, +/* 58503 */ {(12<<2)|2,{87,115,0}}, +/* 58504 */ {(12<<2)|2,{87,115,0}}, +/* 58505 */ {(12<<2)|2,{87,115,0}}, +/* 58506 */ {(12<<2)|2,{87,115,0}}, +/* 58507 */ {(12<<2)|2,{87,115,0}}, +/* 58508 */ {(12<<2)|2,{87,115,0}}, +/* 58509 */ {(12<<2)|2,{87,115,0}}, +/* 58510 */ {(12<<2)|2,{87,115,0}}, +/* 58511 */ {(12<<2)|2,{87,115,0}}, +/* 58512 */ {(12<<2)|2,{87,116,0}}, +/* 58513 */ {(12<<2)|2,{87,116,0}}, +/* 58514 */ {(12<<2)|2,{87,116,0}}, +/* 58515 */ {(12<<2)|2,{87,116,0}}, +/* 58516 */ {(12<<2)|2,{87,116,0}}, +/* 58517 */ {(12<<2)|2,{87,116,0}}, +/* 58518 */ {(12<<2)|2,{87,116,0}}, +/* 58519 */ {(12<<2)|2,{87,116,0}}, +/* 58520 */ {(12<<2)|2,{87,116,0}}, +/* 58521 */ {(12<<2)|2,{87,116,0}}, +/* 58522 */ {(12<<2)|2,{87,116,0}}, +/* 58523 */ {(12<<2)|2,{87,116,0}}, +/* 58524 */ {(12<<2)|2,{87,116,0}}, +/* 58525 */ {(12<<2)|2,{87,116,0}}, +/* 58526 */ {(12<<2)|2,{87,116,0}}, +/* 58527 */ {(12<<2)|2,{87,116,0}}, +/* 58528 */ {(13<<2)|2,{87,32,0}}, +/* 58529 */ {(13<<2)|2,{87,32,0}}, +/* 58530 */ {(13<<2)|2,{87,32,0}}, +/* 58531 */ {(13<<2)|2,{87,32,0}}, +/* 58532 */ {(13<<2)|2,{87,32,0}}, +/* 58533 */ {(13<<2)|2,{87,32,0}}, +/* 58534 */ {(13<<2)|2,{87,32,0}}, +/* 58535 */ {(13<<2)|2,{87,32,0}}, +/* 58536 */ {(13<<2)|2,{87,37,0}}, +/* 58537 */ {(13<<2)|2,{87,37,0}}, +/* 58538 */ {(13<<2)|2,{87,37,0}}, +/* 58539 */ {(13<<2)|2,{87,37,0}}, +/* 58540 */ {(13<<2)|2,{87,37,0}}, +/* 58541 */ {(13<<2)|2,{87,37,0}}, +/* 58542 */ {(13<<2)|2,{87,37,0}}, +/* 58543 */ {(13<<2)|2,{87,37,0}}, +/* 58544 */ {(13<<2)|2,{87,45,0}}, +/* 58545 */ {(13<<2)|2,{87,45,0}}, +/* 58546 */ {(13<<2)|2,{87,45,0}}, +/* 58547 */ {(13<<2)|2,{87,45,0}}, +/* 58548 */ {(13<<2)|2,{87,45,0}}, +/* 58549 */ {(13<<2)|2,{87,45,0}}, +/* 58550 */ {(13<<2)|2,{87,45,0}}, +/* 58551 */ {(13<<2)|2,{87,45,0}}, +/* 58552 */ {(13<<2)|2,{87,46,0}}, +/* 58553 */ {(13<<2)|2,{87,46,0}}, +/* 58554 */ {(13<<2)|2,{87,46,0}}, +/* 58555 */ {(13<<2)|2,{87,46,0}}, +/* 58556 */ {(13<<2)|2,{87,46,0}}, +/* 58557 */ {(13<<2)|2,{87,46,0}}, +/* 58558 */ {(13<<2)|2,{87,46,0}}, +/* 58559 */ {(13<<2)|2,{87,46,0}}, +/* 58560 */ {(13<<2)|2,{87,47,0}}, +/* 58561 */ {(13<<2)|2,{87,47,0}}, +/* 58562 */ {(13<<2)|2,{87,47,0}}, +/* 58563 */ {(13<<2)|2,{87,47,0}}, +/* 58564 */ {(13<<2)|2,{87,47,0}}, +/* 58565 */ {(13<<2)|2,{87,47,0}}, +/* 58566 */ {(13<<2)|2,{87,47,0}}, +/* 58567 */ {(13<<2)|2,{87,47,0}}, +/* 58568 */ {(13<<2)|2,{87,51,0}}, +/* 58569 */ {(13<<2)|2,{87,51,0}}, +/* 58570 */ {(13<<2)|2,{87,51,0}}, +/* 58571 */ {(13<<2)|2,{87,51,0}}, +/* 58572 */ {(13<<2)|2,{87,51,0}}, +/* 58573 */ {(13<<2)|2,{87,51,0}}, +/* 58574 */ {(13<<2)|2,{87,51,0}}, +/* 58575 */ {(13<<2)|2,{87,51,0}}, +/* 58576 */ {(13<<2)|2,{87,52,0}}, +/* 58577 */ {(13<<2)|2,{87,52,0}}, +/* 58578 */ {(13<<2)|2,{87,52,0}}, +/* 58579 */ {(13<<2)|2,{87,52,0}}, +/* 58580 */ {(13<<2)|2,{87,52,0}}, +/* 58581 */ {(13<<2)|2,{87,52,0}}, +/* 58582 */ {(13<<2)|2,{87,52,0}}, +/* 58583 */ {(13<<2)|2,{87,52,0}}, +/* 58584 */ {(13<<2)|2,{87,53,0}}, +/* 58585 */ {(13<<2)|2,{87,53,0}}, +/* 58586 */ {(13<<2)|2,{87,53,0}}, +/* 58587 */ {(13<<2)|2,{87,53,0}}, +/* 58588 */ {(13<<2)|2,{87,53,0}}, +/* 58589 */ {(13<<2)|2,{87,53,0}}, +/* 58590 */ {(13<<2)|2,{87,53,0}}, +/* 58591 */ {(13<<2)|2,{87,53,0}}, +/* 58592 */ {(13<<2)|2,{87,54,0}}, +/* 58593 */ {(13<<2)|2,{87,54,0}}, +/* 58594 */ {(13<<2)|2,{87,54,0}}, +/* 58595 */ {(13<<2)|2,{87,54,0}}, +/* 58596 */ {(13<<2)|2,{87,54,0}}, +/* 58597 */ {(13<<2)|2,{87,54,0}}, +/* 58598 */ {(13<<2)|2,{87,54,0}}, +/* 58599 */ {(13<<2)|2,{87,54,0}}, +/* 58600 */ {(13<<2)|2,{87,55,0}}, +/* 58601 */ {(13<<2)|2,{87,55,0}}, +/* 58602 */ {(13<<2)|2,{87,55,0}}, +/* 58603 */ {(13<<2)|2,{87,55,0}}, +/* 58604 */ {(13<<2)|2,{87,55,0}}, +/* 58605 */ {(13<<2)|2,{87,55,0}}, +/* 58606 */ {(13<<2)|2,{87,55,0}}, +/* 58607 */ {(13<<2)|2,{87,55,0}}, +/* 58608 */ {(13<<2)|2,{87,56,0}}, +/* 58609 */ {(13<<2)|2,{87,56,0}}, +/* 58610 */ {(13<<2)|2,{87,56,0}}, +/* 58611 */ {(13<<2)|2,{87,56,0}}, +/* 58612 */ {(13<<2)|2,{87,56,0}}, +/* 58613 */ {(13<<2)|2,{87,56,0}}, +/* 58614 */ {(13<<2)|2,{87,56,0}}, +/* 58615 */ {(13<<2)|2,{87,56,0}}, +/* 58616 */ {(13<<2)|2,{87,57,0}}, +/* 58617 */ {(13<<2)|2,{87,57,0}}, +/* 58618 */ {(13<<2)|2,{87,57,0}}, +/* 58619 */ {(13<<2)|2,{87,57,0}}, +/* 58620 */ {(13<<2)|2,{87,57,0}}, +/* 58621 */ {(13<<2)|2,{87,57,0}}, +/* 58622 */ {(13<<2)|2,{87,57,0}}, +/* 58623 */ {(13<<2)|2,{87,57,0}}, +/* 58624 */ {(13<<2)|2,{87,61,0}}, +/* 58625 */ {(13<<2)|2,{87,61,0}}, +/* 58626 */ {(13<<2)|2,{87,61,0}}, +/* 58627 */ {(13<<2)|2,{87,61,0}}, +/* 58628 */ {(13<<2)|2,{87,61,0}}, +/* 58629 */ {(13<<2)|2,{87,61,0}}, +/* 58630 */ {(13<<2)|2,{87,61,0}}, +/* 58631 */ {(13<<2)|2,{87,61,0}}, +/* 58632 */ {(13<<2)|2,{87,65,0}}, +/* 58633 */ {(13<<2)|2,{87,65,0}}, +/* 58634 */ {(13<<2)|2,{87,65,0}}, +/* 58635 */ {(13<<2)|2,{87,65,0}}, +/* 58636 */ {(13<<2)|2,{87,65,0}}, +/* 58637 */ {(13<<2)|2,{87,65,0}}, +/* 58638 */ {(13<<2)|2,{87,65,0}}, +/* 58639 */ {(13<<2)|2,{87,65,0}}, +/* 58640 */ {(13<<2)|2,{87,95,0}}, +/* 58641 */ {(13<<2)|2,{87,95,0}}, +/* 58642 */ {(13<<2)|2,{87,95,0}}, +/* 58643 */ {(13<<2)|2,{87,95,0}}, +/* 58644 */ {(13<<2)|2,{87,95,0}}, +/* 58645 */ {(13<<2)|2,{87,95,0}}, +/* 58646 */ {(13<<2)|2,{87,95,0}}, +/* 58647 */ {(13<<2)|2,{87,95,0}}, +/* 58648 */ {(13<<2)|2,{87,98,0}}, +/* 58649 */ {(13<<2)|2,{87,98,0}}, +/* 58650 */ {(13<<2)|2,{87,98,0}}, +/* 58651 */ {(13<<2)|2,{87,98,0}}, +/* 58652 */ {(13<<2)|2,{87,98,0}}, +/* 58653 */ {(13<<2)|2,{87,98,0}}, +/* 58654 */ {(13<<2)|2,{87,98,0}}, +/* 58655 */ {(13<<2)|2,{87,98,0}}, +/* 58656 */ {(13<<2)|2,{87,100,0}}, +/* 58657 */ {(13<<2)|2,{87,100,0}}, +/* 58658 */ {(13<<2)|2,{87,100,0}}, +/* 58659 */ {(13<<2)|2,{87,100,0}}, +/* 58660 */ {(13<<2)|2,{87,100,0}}, +/* 58661 */ {(13<<2)|2,{87,100,0}}, +/* 58662 */ {(13<<2)|2,{87,100,0}}, +/* 58663 */ {(13<<2)|2,{87,100,0}}, +/* 58664 */ {(13<<2)|2,{87,102,0}}, +/* 58665 */ {(13<<2)|2,{87,102,0}}, +/* 58666 */ {(13<<2)|2,{87,102,0}}, +/* 58667 */ {(13<<2)|2,{87,102,0}}, +/* 58668 */ {(13<<2)|2,{87,102,0}}, +/* 58669 */ {(13<<2)|2,{87,102,0}}, +/* 58670 */ {(13<<2)|2,{87,102,0}}, +/* 58671 */ {(13<<2)|2,{87,102,0}}, +/* 58672 */ {(13<<2)|2,{87,103,0}}, +/* 58673 */ {(13<<2)|2,{87,103,0}}, +/* 58674 */ {(13<<2)|2,{87,103,0}}, +/* 58675 */ {(13<<2)|2,{87,103,0}}, +/* 58676 */ {(13<<2)|2,{87,103,0}}, +/* 58677 */ {(13<<2)|2,{87,103,0}}, +/* 58678 */ {(13<<2)|2,{87,103,0}}, +/* 58679 */ {(13<<2)|2,{87,103,0}}, +/* 58680 */ {(13<<2)|2,{87,104,0}}, +/* 58681 */ {(13<<2)|2,{87,104,0}}, +/* 58682 */ {(13<<2)|2,{87,104,0}}, +/* 58683 */ {(13<<2)|2,{87,104,0}}, +/* 58684 */ {(13<<2)|2,{87,104,0}}, +/* 58685 */ {(13<<2)|2,{87,104,0}}, +/* 58686 */ {(13<<2)|2,{87,104,0}}, +/* 58687 */ {(13<<2)|2,{87,104,0}}, +/* 58688 */ {(13<<2)|2,{87,108,0}}, +/* 58689 */ {(13<<2)|2,{87,108,0}}, +/* 58690 */ {(13<<2)|2,{87,108,0}}, +/* 58691 */ {(13<<2)|2,{87,108,0}}, +/* 58692 */ {(13<<2)|2,{87,108,0}}, +/* 58693 */ {(13<<2)|2,{87,108,0}}, +/* 58694 */ {(13<<2)|2,{87,108,0}}, +/* 58695 */ {(13<<2)|2,{87,108,0}}, +/* 58696 */ {(13<<2)|2,{87,109,0}}, +/* 58697 */ {(13<<2)|2,{87,109,0}}, +/* 58698 */ {(13<<2)|2,{87,109,0}}, +/* 58699 */ {(13<<2)|2,{87,109,0}}, +/* 58700 */ {(13<<2)|2,{87,109,0}}, +/* 58701 */ {(13<<2)|2,{87,109,0}}, +/* 58702 */ {(13<<2)|2,{87,109,0}}, +/* 58703 */ {(13<<2)|2,{87,109,0}}, +/* 58704 */ {(13<<2)|2,{87,110,0}}, +/* 58705 */ {(13<<2)|2,{87,110,0}}, +/* 58706 */ {(13<<2)|2,{87,110,0}}, +/* 58707 */ {(13<<2)|2,{87,110,0}}, +/* 58708 */ {(13<<2)|2,{87,110,0}}, +/* 58709 */ {(13<<2)|2,{87,110,0}}, +/* 58710 */ {(13<<2)|2,{87,110,0}}, +/* 58711 */ {(13<<2)|2,{87,110,0}}, +/* 58712 */ {(13<<2)|2,{87,112,0}}, +/* 58713 */ {(13<<2)|2,{87,112,0}}, +/* 58714 */ {(13<<2)|2,{87,112,0}}, +/* 58715 */ {(13<<2)|2,{87,112,0}}, +/* 58716 */ {(13<<2)|2,{87,112,0}}, +/* 58717 */ {(13<<2)|2,{87,112,0}}, +/* 58718 */ {(13<<2)|2,{87,112,0}}, +/* 58719 */ {(13<<2)|2,{87,112,0}}, +/* 58720 */ {(13<<2)|2,{87,114,0}}, +/* 58721 */ {(13<<2)|2,{87,114,0}}, +/* 58722 */ {(13<<2)|2,{87,114,0}}, +/* 58723 */ {(13<<2)|2,{87,114,0}}, +/* 58724 */ {(13<<2)|2,{87,114,0}}, +/* 58725 */ {(13<<2)|2,{87,114,0}}, +/* 58726 */ {(13<<2)|2,{87,114,0}}, +/* 58727 */ {(13<<2)|2,{87,114,0}}, +/* 58728 */ {(13<<2)|2,{87,117,0}}, +/* 58729 */ {(13<<2)|2,{87,117,0}}, +/* 58730 */ {(13<<2)|2,{87,117,0}}, +/* 58731 */ {(13<<2)|2,{87,117,0}}, +/* 58732 */ {(13<<2)|2,{87,117,0}}, +/* 58733 */ {(13<<2)|2,{87,117,0}}, +/* 58734 */ {(13<<2)|2,{87,117,0}}, +/* 58735 */ {(13<<2)|2,{87,117,0}}, +/* 58736 */ {(14<<2)|2,{87,58,0}}, +/* 58737 */ {(14<<2)|2,{87,58,0}}, +/* 58738 */ {(14<<2)|2,{87,58,0}}, +/* 58739 */ {(14<<2)|2,{87,58,0}}, +/* 58740 */ {(14<<2)|2,{87,66,0}}, +/* 58741 */ {(14<<2)|2,{87,66,0}}, +/* 58742 */ {(14<<2)|2,{87,66,0}}, +/* 58743 */ {(14<<2)|2,{87,66,0}}, +/* 58744 */ {(14<<2)|2,{87,67,0}}, +/* 58745 */ {(14<<2)|2,{87,67,0}}, +/* 58746 */ {(14<<2)|2,{87,67,0}}, +/* 58747 */ {(14<<2)|2,{87,67,0}}, +/* 58748 */ {(14<<2)|2,{87,68,0}}, +/* 58749 */ {(14<<2)|2,{87,68,0}}, +/* 58750 */ {(14<<2)|2,{87,68,0}}, +/* 58751 */ {(14<<2)|2,{87,68,0}}, +/* 58752 */ {(14<<2)|2,{87,69,0}}, +/* 58753 */ {(14<<2)|2,{87,69,0}}, +/* 58754 */ {(14<<2)|2,{87,69,0}}, +/* 58755 */ {(14<<2)|2,{87,69,0}}, +/* 58756 */ {(14<<2)|2,{87,70,0}}, +/* 58757 */ {(14<<2)|2,{87,70,0}}, +/* 58758 */ {(14<<2)|2,{87,70,0}}, +/* 58759 */ {(14<<2)|2,{87,70,0}}, +/* 58760 */ {(14<<2)|2,{87,71,0}}, +/* 58761 */ {(14<<2)|2,{87,71,0}}, +/* 58762 */ {(14<<2)|2,{87,71,0}}, +/* 58763 */ {(14<<2)|2,{87,71,0}}, +/* 58764 */ {(14<<2)|2,{87,72,0}}, +/* 58765 */ {(14<<2)|2,{87,72,0}}, +/* 58766 */ {(14<<2)|2,{87,72,0}}, +/* 58767 */ {(14<<2)|2,{87,72,0}}, +/* 58768 */ {(14<<2)|2,{87,73,0}}, +/* 58769 */ {(14<<2)|2,{87,73,0}}, +/* 58770 */ {(14<<2)|2,{87,73,0}}, +/* 58771 */ {(14<<2)|2,{87,73,0}}, +/* 58772 */ {(14<<2)|2,{87,74,0}}, +/* 58773 */ {(14<<2)|2,{87,74,0}}, +/* 58774 */ {(14<<2)|2,{87,74,0}}, +/* 58775 */ {(14<<2)|2,{87,74,0}}, +/* 58776 */ {(14<<2)|2,{87,75,0}}, +/* 58777 */ {(14<<2)|2,{87,75,0}}, +/* 58778 */ {(14<<2)|2,{87,75,0}}, +/* 58779 */ {(14<<2)|2,{87,75,0}}, +/* 58780 */ {(14<<2)|2,{87,76,0}}, +/* 58781 */ {(14<<2)|2,{87,76,0}}, +/* 58782 */ {(14<<2)|2,{87,76,0}}, +/* 58783 */ {(14<<2)|2,{87,76,0}}, +/* 58784 */ {(14<<2)|2,{87,77,0}}, +/* 58785 */ {(14<<2)|2,{87,77,0}}, +/* 58786 */ {(14<<2)|2,{87,77,0}}, +/* 58787 */ {(14<<2)|2,{87,77,0}}, +/* 58788 */ {(14<<2)|2,{87,78,0}}, +/* 58789 */ {(14<<2)|2,{87,78,0}}, +/* 58790 */ {(14<<2)|2,{87,78,0}}, +/* 58791 */ {(14<<2)|2,{87,78,0}}, +/* 58792 */ {(14<<2)|2,{87,79,0}}, +/* 58793 */ {(14<<2)|2,{87,79,0}}, +/* 58794 */ {(14<<2)|2,{87,79,0}}, +/* 58795 */ {(14<<2)|2,{87,79,0}}, +/* 58796 */ {(14<<2)|2,{87,80,0}}, +/* 58797 */ {(14<<2)|2,{87,80,0}}, +/* 58798 */ {(14<<2)|2,{87,80,0}}, +/* 58799 */ {(14<<2)|2,{87,80,0}}, +/* 58800 */ {(14<<2)|2,{87,81,0}}, +/* 58801 */ {(14<<2)|2,{87,81,0}}, +/* 58802 */ {(14<<2)|2,{87,81,0}}, +/* 58803 */ {(14<<2)|2,{87,81,0}}, +/* 58804 */ {(14<<2)|2,{87,82,0}}, +/* 58805 */ {(14<<2)|2,{87,82,0}}, +/* 58806 */ {(14<<2)|2,{87,82,0}}, +/* 58807 */ {(14<<2)|2,{87,82,0}}, +/* 58808 */ {(14<<2)|2,{87,83,0}}, +/* 58809 */ {(14<<2)|2,{87,83,0}}, +/* 58810 */ {(14<<2)|2,{87,83,0}}, +/* 58811 */ {(14<<2)|2,{87,83,0}}, +/* 58812 */ {(14<<2)|2,{87,84,0}}, +/* 58813 */ {(14<<2)|2,{87,84,0}}, +/* 58814 */ {(14<<2)|2,{87,84,0}}, +/* 58815 */ {(14<<2)|2,{87,84,0}}, +/* 58816 */ {(14<<2)|2,{87,85,0}}, +/* 58817 */ {(14<<2)|2,{87,85,0}}, +/* 58818 */ {(14<<2)|2,{87,85,0}}, +/* 58819 */ {(14<<2)|2,{87,85,0}}, +/* 58820 */ {(14<<2)|2,{87,86,0}}, +/* 58821 */ {(14<<2)|2,{87,86,0}}, +/* 58822 */ {(14<<2)|2,{87,86,0}}, +/* 58823 */ {(14<<2)|2,{87,86,0}}, +/* 58824 */ {(14<<2)|2,{87,87,0}}, +/* 58825 */ {(14<<2)|2,{87,87,0}}, +/* 58826 */ {(14<<2)|2,{87,87,0}}, +/* 58827 */ {(14<<2)|2,{87,87,0}}, +/* 58828 */ {(14<<2)|2,{87,89,0}}, +/* 58829 */ {(14<<2)|2,{87,89,0}}, +/* 58830 */ {(14<<2)|2,{87,89,0}}, +/* 58831 */ {(14<<2)|2,{87,89,0}}, +/* 58832 */ {(14<<2)|2,{87,106,0}}, +/* 58833 */ {(14<<2)|2,{87,106,0}}, +/* 58834 */ {(14<<2)|2,{87,106,0}}, +/* 58835 */ {(14<<2)|2,{87,106,0}}, +/* 58836 */ {(14<<2)|2,{87,107,0}}, +/* 58837 */ {(14<<2)|2,{87,107,0}}, +/* 58838 */ {(14<<2)|2,{87,107,0}}, +/* 58839 */ {(14<<2)|2,{87,107,0}}, +/* 58840 */ {(14<<2)|2,{87,113,0}}, +/* 58841 */ {(14<<2)|2,{87,113,0}}, +/* 58842 */ {(14<<2)|2,{87,113,0}}, +/* 58843 */ {(14<<2)|2,{87,113,0}}, +/* 58844 */ {(14<<2)|2,{87,118,0}}, +/* 58845 */ {(14<<2)|2,{87,118,0}}, +/* 58846 */ {(14<<2)|2,{87,118,0}}, +/* 58847 */ {(14<<2)|2,{87,118,0}}, +/* 58848 */ {(14<<2)|2,{87,119,0}}, +/* 58849 */ {(14<<2)|2,{87,119,0}}, +/* 58850 */ {(14<<2)|2,{87,119,0}}, +/* 58851 */ {(14<<2)|2,{87,119,0}}, +/* 58852 */ {(14<<2)|2,{87,120,0}}, +/* 58853 */ {(14<<2)|2,{87,120,0}}, +/* 58854 */ {(14<<2)|2,{87,120,0}}, +/* 58855 */ {(14<<2)|2,{87,120,0}}, +/* 58856 */ {(14<<2)|2,{87,121,0}}, +/* 58857 */ {(14<<2)|2,{87,121,0}}, +/* 58858 */ {(14<<2)|2,{87,121,0}}, +/* 58859 */ {(14<<2)|2,{87,121,0}}, +/* 58860 */ {(14<<2)|2,{87,122,0}}, +/* 58861 */ {(14<<2)|2,{87,122,0}}, +/* 58862 */ {(14<<2)|2,{87,122,0}}, +/* 58863 */ {(14<<2)|2,{87,122,0}}, +/* 58864 */ {(15<<2)|2,{87,38,0}}, +/* 58865 */ {(15<<2)|2,{87,38,0}}, +/* 58866 */ {(15<<2)|2,{87,42,0}}, +/* 58867 */ {(15<<2)|2,{87,42,0}}, +/* 58868 */ {(15<<2)|2,{87,44,0}}, +/* 58869 */ {(15<<2)|2,{87,44,0}}, +/* 58870 */ {(15<<2)|2,{87,59,0}}, +/* 58871 */ {(15<<2)|2,{87,59,0}}, +/* 58872 */ {(15<<2)|2,{87,88,0}}, +/* 58873 */ {(15<<2)|2,{87,88,0}}, +/* 58874 */ {(15<<2)|2,{87,90,0}}, +/* 58875 */ {(15<<2)|2,{87,90,0}}, +/* 58876 */ {(7<<2)|1,{87,0,0}}, +/* 58877 */ {(7<<2)|1,{87,0,0}}, +/* 58878 */ {(7<<2)|1,{87,0,0}}, +/* 58879 */ {(7<<2)|1,{87,0,0}}, +/* 58880 */ {(12<<2)|2,{89,48,0}}, +/* 58881 */ {(12<<2)|2,{89,48,0}}, +/* 58882 */ {(12<<2)|2,{89,48,0}}, +/* 58883 */ {(12<<2)|2,{89,48,0}}, +/* 58884 */ {(12<<2)|2,{89,48,0}}, +/* 58885 */ {(12<<2)|2,{89,48,0}}, +/* 58886 */ {(12<<2)|2,{89,48,0}}, +/* 58887 */ {(12<<2)|2,{89,48,0}}, +/* 58888 */ {(12<<2)|2,{89,48,0}}, +/* 58889 */ {(12<<2)|2,{89,48,0}}, +/* 58890 */ {(12<<2)|2,{89,48,0}}, +/* 58891 */ {(12<<2)|2,{89,48,0}}, +/* 58892 */ {(12<<2)|2,{89,48,0}}, +/* 58893 */ {(12<<2)|2,{89,48,0}}, +/* 58894 */ {(12<<2)|2,{89,48,0}}, +/* 58895 */ {(12<<2)|2,{89,48,0}}, +/* 58896 */ {(12<<2)|2,{89,49,0}}, +/* 58897 */ {(12<<2)|2,{89,49,0}}, +/* 58898 */ {(12<<2)|2,{89,49,0}}, +/* 58899 */ {(12<<2)|2,{89,49,0}}, +/* 58900 */ {(12<<2)|2,{89,49,0}}, +/* 58901 */ {(12<<2)|2,{89,49,0}}, +/* 58902 */ {(12<<2)|2,{89,49,0}}, +/* 58903 */ {(12<<2)|2,{89,49,0}}, +/* 58904 */ {(12<<2)|2,{89,49,0}}, +/* 58905 */ {(12<<2)|2,{89,49,0}}, +/* 58906 */ {(12<<2)|2,{89,49,0}}, +/* 58907 */ {(12<<2)|2,{89,49,0}}, +/* 58908 */ {(12<<2)|2,{89,49,0}}, +/* 58909 */ {(12<<2)|2,{89,49,0}}, +/* 58910 */ {(12<<2)|2,{89,49,0}}, +/* 58911 */ {(12<<2)|2,{89,49,0}}, +/* 58912 */ {(12<<2)|2,{89,50,0}}, +/* 58913 */ {(12<<2)|2,{89,50,0}}, +/* 58914 */ {(12<<2)|2,{89,50,0}}, +/* 58915 */ {(12<<2)|2,{89,50,0}}, +/* 58916 */ {(12<<2)|2,{89,50,0}}, +/* 58917 */ {(12<<2)|2,{89,50,0}}, +/* 58918 */ {(12<<2)|2,{89,50,0}}, +/* 58919 */ {(12<<2)|2,{89,50,0}}, +/* 58920 */ {(12<<2)|2,{89,50,0}}, +/* 58921 */ {(12<<2)|2,{89,50,0}}, +/* 58922 */ {(12<<2)|2,{89,50,0}}, +/* 58923 */ {(12<<2)|2,{89,50,0}}, +/* 58924 */ {(12<<2)|2,{89,50,0}}, +/* 58925 */ {(12<<2)|2,{89,50,0}}, +/* 58926 */ {(12<<2)|2,{89,50,0}}, +/* 58927 */ {(12<<2)|2,{89,50,0}}, +/* 58928 */ {(12<<2)|2,{89,97,0}}, +/* 58929 */ {(12<<2)|2,{89,97,0}}, +/* 58930 */ {(12<<2)|2,{89,97,0}}, +/* 58931 */ {(12<<2)|2,{89,97,0}}, +/* 58932 */ {(12<<2)|2,{89,97,0}}, +/* 58933 */ {(12<<2)|2,{89,97,0}}, +/* 58934 */ {(12<<2)|2,{89,97,0}}, +/* 58935 */ {(12<<2)|2,{89,97,0}}, +/* 58936 */ {(12<<2)|2,{89,97,0}}, +/* 58937 */ {(12<<2)|2,{89,97,0}}, +/* 58938 */ {(12<<2)|2,{89,97,0}}, +/* 58939 */ {(12<<2)|2,{89,97,0}}, +/* 58940 */ {(12<<2)|2,{89,97,0}}, +/* 58941 */ {(12<<2)|2,{89,97,0}}, +/* 58942 */ {(12<<2)|2,{89,97,0}}, +/* 58943 */ {(12<<2)|2,{89,97,0}}, +/* 58944 */ {(12<<2)|2,{89,99,0}}, +/* 58945 */ {(12<<2)|2,{89,99,0}}, +/* 58946 */ {(12<<2)|2,{89,99,0}}, +/* 58947 */ {(12<<2)|2,{89,99,0}}, +/* 58948 */ {(12<<2)|2,{89,99,0}}, +/* 58949 */ {(12<<2)|2,{89,99,0}}, +/* 58950 */ {(12<<2)|2,{89,99,0}}, +/* 58951 */ {(12<<2)|2,{89,99,0}}, +/* 58952 */ {(12<<2)|2,{89,99,0}}, +/* 58953 */ {(12<<2)|2,{89,99,0}}, +/* 58954 */ {(12<<2)|2,{89,99,0}}, +/* 58955 */ {(12<<2)|2,{89,99,0}}, +/* 58956 */ {(12<<2)|2,{89,99,0}}, +/* 58957 */ {(12<<2)|2,{89,99,0}}, +/* 58958 */ {(12<<2)|2,{89,99,0}}, +/* 58959 */ {(12<<2)|2,{89,99,0}}, +/* 58960 */ {(12<<2)|2,{89,101,0}}, +/* 58961 */ {(12<<2)|2,{89,101,0}}, +/* 58962 */ {(12<<2)|2,{89,101,0}}, +/* 58963 */ {(12<<2)|2,{89,101,0}}, +/* 58964 */ {(12<<2)|2,{89,101,0}}, +/* 58965 */ {(12<<2)|2,{89,101,0}}, +/* 58966 */ {(12<<2)|2,{89,101,0}}, +/* 58967 */ {(12<<2)|2,{89,101,0}}, +/* 58968 */ {(12<<2)|2,{89,101,0}}, +/* 58969 */ {(12<<2)|2,{89,101,0}}, +/* 58970 */ {(12<<2)|2,{89,101,0}}, +/* 58971 */ {(12<<2)|2,{89,101,0}}, +/* 58972 */ {(12<<2)|2,{89,101,0}}, +/* 58973 */ {(12<<2)|2,{89,101,0}}, +/* 58974 */ {(12<<2)|2,{89,101,0}}, +/* 58975 */ {(12<<2)|2,{89,101,0}}, +/* 58976 */ {(12<<2)|2,{89,105,0}}, +/* 58977 */ {(12<<2)|2,{89,105,0}}, +/* 58978 */ {(12<<2)|2,{89,105,0}}, +/* 58979 */ {(12<<2)|2,{89,105,0}}, +/* 58980 */ {(12<<2)|2,{89,105,0}}, +/* 58981 */ {(12<<2)|2,{89,105,0}}, +/* 58982 */ {(12<<2)|2,{89,105,0}}, +/* 58983 */ {(12<<2)|2,{89,105,0}}, +/* 58984 */ {(12<<2)|2,{89,105,0}}, +/* 58985 */ {(12<<2)|2,{89,105,0}}, +/* 58986 */ {(12<<2)|2,{89,105,0}}, +/* 58987 */ {(12<<2)|2,{89,105,0}}, +/* 58988 */ {(12<<2)|2,{89,105,0}}, +/* 58989 */ {(12<<2)|2,{89,105,0}}, +/* 58990 */ {(12<<2)|2,{89,105,0}}, +/* 58991 */ {(12<<2)|2,{89,105,0}}, +/* 58992 */ {(12<<2)|2,{89,111,0}}, +/* 58993 */ {(12<<2)|2,{89,111,0}}, +/* 58994 */ {(12<<2)|2,{89,111,0}}, +/* 58995 */ {(12<<2)|2,{89,111,0}}, +/* 58996 */ {(12<<2)|2,{89,111,0}}, +/* 58997 */ {(12<<2)|2,{89,111,0}}, +/* 58998 */ {(12<<2)|2,{89,111,0}}, +/* 58999 */ {(12<<2)|2,{89,111,0}}, +/* 59000 */ {(12<<2)|2,{89,111,0}}, +/* 59001 */ {(12<<2)|2,{89,111,0}}, +/* 59002 */ {(12<<2)|2,{89,111,0}}, +/* 59003 */ {(12<<2)|2,{89,111,0}}, +/* 59004 */ {(12<<2)|2,{89,111,0}}, +/* 59005 */ {(12<<2)|2,{89,111,0}}, +/* 59006 */ {(12<<2)|2,{89,111,0}}, +/* 59007 */ {(12<<2)|2,{89,111,0}}, +/* 59008 */ {(12<<2)|2,{89,115,0}}, +/* 59009 */ {(12<<2)|2,{89,115,0}}, +/* 59010 */ {(12<<2)|2,{89,115,0}}, +/* 59011 */ {(12<<2)|2,{89,115,0}}, +/* 59012 */ {(12<<2)|2,{89,115,0}}, +/* 59013 */ {(12<<2)|2,{89,115,0}}, +/* 59014 */ {(12<<2)|2,{89,115,0}}, +/* 59015 */ {(12<<2)|2,{89,115,0}}, +/* 59016 */ {(12<<2)|2,{89,115,0}}, +/* 59017 */ {(12<<2)|2,{89,115,0}}, +/* 59018 */ {(12<<2)|2,{89,115,0}}, +/* 59019 */ {(12<<2)|2,{89,115,0}}, +/* 59020 */ {(12<<2)|2,{89,115,0}}, +/* 59021 */ {(12<<2)|2,{89,115,0}}, +/* 59022 */ {(12<<2)|2,{89,115,0}}, +/* 59023 */ {(12<<2)|2,{89,115,0}}, +/* 59024 */ {(12<<2)|2,{89,116,0}}, +/* 59025 */ {(12<<2)|2,{89,116,0}}, +/* 59026 */ {(12<<2)|2,{89,116,0}}, +/* 59027 */ {(12<<2)|2,{89,116,0}}, +/* 59028 */ {(12<<2)|2,{89,116,0}}, +/* 59029 */ {(12<<2)|2,{89,116,0}}, +/* 59030 */ {(12<<2)|2,{89,116,0}}, +/* 59031 */ {(12<<2)|2,{89,116,0}}, +/* 59032 */ {(12<<2)|2,{89,116,0}}, +/* 59033 */ {(12<<2)|2,{89,116,0}}, +/* 59034 */ {(12<<2)|2,{89,116,0}}, +/* 59035 */ {(12<<2)|2,{89,116,0}}, +/* 59036 */ {(12<<2)|2,{89,116,0}}, +/* 59037 */ {(12<<2)|2,{89,116,0}}, +/* 59038 */ {(12<<2)|2,{89,116,0}}, +/* 59039 */ {(12<<2)|2,{89,116,0}}, +/* 59040 */ {(13<<2)|2,{89,32,0}}, +/* 59041 */ {(13<<2)|2,{89,32,0}}, +/* 59042 */ {(13<<2)|2,{89,32,0}}, +/* 59043 */ {(13<<2)|2,{89,32,0}}, +/* 59044 */ {(13<<2)|2,{89,32,0}}, +/* 59045 */ {(13<<2)|2,{89,32,0}}, +/* 59046 */ {(13<<2)|2,{89,32,0}}, +/* 59047 */ {(13<<2)|2,{89,32,0}}, +/* 59048 */ {(13<<2)|2,{89,37,0}}, +/* 59049 */ {(13<<2)|2,{89,37,0}}, +/* 59050 */ {(13<<2)|2,{89,37,0}}, +/* 59051 */ {(13<<2)|2,{89,37,0}}, +/* 59052 */ {(13<<2)|2,{89,37,0}}, +/* 59053 */ {(13<<2)|2,{89,37,0}}, +/* 59054 */ {(13<<2)|2,{89,37,0}}, +/* 59055 */ {(13<<2)|2,{89,37,0}}, +/* 59056 */ {(13<<2)|2,{89,45,0}}, +/* 59057 */ {(13<<2)|2,{89,45,0}}, +/* 59058 */ {(13<<2)|2,{89,45,0}}, +/* 59059 */ {(13<<2)|2,{89,45,0}}, +/* 59060 */ {(13<<2)|2,{89,45,0}}, +/* 59061 */ {(13<<2)|2,{89,45,0}}, +/* 59062 */ {(13<<2)|2,{89,45,0}}, +/* 59063 */ {(13<<2)|2,{89,45,0}}, +/* 59064 */ {(13<<2)|2,{89,46,0}}, +/* 59065 */ {(13<<2)|2,{89,46,0}}, +/* 59066 */ {(13<<2)|2,{89,46,0}}, +/* 59067 */ {(13<<2)|2,{89,46,0}}, +/* 59068 */ {(13<<2)|2,{89,46,0}}, +/* 59069 */ {(13<<2)|2,{89,46,0}}, +/* 59070 */ {(13<<2)|2,{89,46,0}}, +/* 59071 */ {(13<<2)|2,{89,46,0}}, +/* 59072 */ {(13<<2)|2,{89,47,0}}, +/* 59073 */ {(13<<2)|2,{89,47,0}}, +/* 59074 */ {(13<<2)|2,{89,47,0}}, +/* 59075 */ {(13<<2)|2,{89,47,0}}, +/* 59076 */ {(13<<2)|2,{89,47,0}}, +/* 59077 */ {(13<<2)|2,{89,47,0}}, +/* 59078 */ {(13<<2)|2,{89,47,0}}, +/* 59079 */ {(13<<2)|2,{89,47,0}}, +/* 59080 */ {(13<<2)|2,{89,51,0}}, +/* 59081 */ {(13<<2)|2,{89,51,0}}, +/* 59082 */ {(13<<2)|2,{89,51,0}}, +/* 59083 */ {(13<<2)|2,{89,51,0}}, +/* 59084 */ {(13<<2)|2,{89,51,0}}, +/* 59085 */ {(13<<2)|2,{89,51,0}}, +/* 59086 */ {(13<<2)|2,{89,51,0}}, +/* 59087 */ {(13<<2)|2,{89,51,0}}, +/* 59088 */ {(13<<2)|2,{89,52,0}}, +/* 59089 */ {(13<<2)|2,{89,52,0}}, +/* 59090 */ {(13<<2)|2,{89,52,0}}, +/* 59091 */ {(13<<2)|2,{89,52,0}}, +/* 59092 */ {(13<<2)|2,{89,52,0}}, +/* 59093 */ {(13<<2)|2,{89,52,0}}, +/* 59094 */ {(13<<2)|2,{89,52,0}}, +/* 59095 */ {(13<<2)|2,{89,52,0}}, +/* 59096 */ {(13<<2)|2,{89,53,0}}, +/* 59097 */ {(13<<2)|2,{89,53,0}}, +/* 59098 */ {(13<<2)|2,{89,53,0}}, +/* 59099 */ {(13<<2)|2,{89,53,0}}, +/* 59100 */ {(13<<2)|2,{89,53,0}}, +/* 59101 */ {(13<<2)|2,{89,53,0}}, +/* 59102 */ {(13<<2)|2,{89,53,0}}, +/* 59103 */ {(13<<2)|2,{89,53,0}}, +/* 59104 */ {(13<<2)|2,{89,54,0}}, +/* 59105 */ {(13<<2)|2,{89,54,0}}, +/* 59106 */ {(13<<2)|2,{89,54,0}}, +/* 59107 */ {(13<<2)|2,{89,54,0}}, +/* 59108 */ {(13<<2)|2,{89,54,0}}, +/* 59109 */ {(13<<2)|2,{89,54,0}}, +/* 59110 */ {(13<<2)|2,{89,54,0}}, +/* 59111 */ {(13<<2)|2,{89,54,0}}, +/* 59112 */ {(13<<2)|2,{89,55,0}}, +/* 59113 */ {(13<<2)|2,{89,55,0}}, +/* 59114 */ {(13<<2)|2,{89,55,0}}, +/* 59115 */ {(13<<2)|2,{89,55,0}}, +/* 59116 */ {(13<<2)|2,{89,55,0}}, +/* 59117 */ {(13<<2)|2,{89,55,0}}, +/* 59118 */ {(13<<2)|2,{89,55,0}}, +/* 59119 */ {(13<<2)|2,{89,55,0}}, +/* 59120 */ {(13<<2)|2,{89,56,0}}, +/* 59121 */ {(13<<2)|2,{89,56,0}}, +/* 59122 */ {(13<<2)|2,{89,56,0}}, +/* 59123 */ {(13<<2)|2,{89,56,0}}, +/* 59124 */ {(13<<2)|2,{89,56,0}}, +/* 59125 */ {(13<<2)|2,{89,56,0}}, +/* 59126 */ {(13<<2)|2,{89,56,0}}, +/* 59127 */ {(13<<2)|2,{89,56,0}}, +/* 59128 */ {(13<<2)|2,{89,57,0}}, +/* 59129 */ {(13<<2)|2,{89,57,0}}, +/* 59130 */ {(13<<2)|2,{89,57,0}}, +/* 59131 */ {(13<<2)|2,{89,57,0}}, +/* 59132 */ {(13<<2)|2,{89,57,0}}, +/* 59133 */ {(13<<2)|2,{89,57,0}}, +/* 59134 */ {(13<<2)|2,{89,57,0}}, +/* 59135 */ {(13<<2)|2,{89,57,0}}, +/* 59136 */ {(13<<2)|2,{89,61,0}}, +/* 59137 */ {(13<<2)|2,{89,61,0}}, +/* 59138 */ {(13<<2)|2,{89,61,0}}, +/* 59139 */ {(13<<2)|2,{89,61,0}}, +/* 59140 */ {(13<<2)|2,{89,61,0}}, +/* 59141 */ {(13<<2)|2,{89,61,0}}, +/* 59142 */ {(13<<2)|2,{89,61,0}}, +/* 59143 */ {(13<<2)|2,{89,61,0}}, +/* 59144 */ {(13<<2)|2,{89,65,0}}, +/* 59145 */ {(13<<2)|2,{89,65,0}}, +/* 59146 */ {(13<<2)|2,{89,65,0}}, +/* 59147 */ {(13<<2)|2,{89,65,0}}, +/* 59148 */ {(13<<2)|2,{89,65,0}}, +/* 59149 */ {(13<<2)|2,{89,65,0}}, +/* 59150 */ {(13<<2)|2,{89,65,0}}, +/* 59151 */ {(13<<2)|2,{89,65,0}}, +/* 59152 */ {(13<<2)|2,{89,95,0}}, +/* 59153 */ {(13<<2)|2,{89,95,0}}, +/* 59154 */ {(13<<2)|2,{89,95,0}}, +/* 59155 */ {(13<<2)|2,{89,95,0}}, +/* 59156 */ {(13<<2)|2,{89,95,0}}, +/* 59157 */ {(13<<2)|2,{89,95,0}}, +/* 59158 */ {(13<<2)|2,{89,95,0}}, +/* 59159 */ {(13<<2)|2,{89,95,0}}, +/* 59160 */ {(13<<2)|2,{89,98,0}}, +/* 59161 */ {(13<<2)|2,{89,98,0}}, +/* 59162 */ {(13<<2)|2,{89,98,0}}, +/* 59163 */ {(13<<2)|2,{89,98,0}}, +/* 59164 */ {(13<<2)|2,{89,98,0}}, +/* 59165 */ {(13<<2)|2,{89,98,0}}, +/* 59166 */ {(13<<2)|2,{89,98,0}}, +/* 59167 */ {(13<<2)|2,{89,98,0}}, +/* 59168 */ {(13<<2)|2,{89,100,0}}, +/* 59169 */ {(13<<2)|2,{89,100,0}}, +/* 59170 */ {(13<<2)|2,{89,100,0}}, +/* 59171 */ {(13<<2)|2,{89,100,0}}, +/* 59172 */ {(13<<2)|2,{89,100,0}}, +/* 59173 */ {(13<<2)|2,{89,100,0}}, +/* 59174 */ {(13<<2)|2,{89,100,0}}, +/* 59175 */ {(13<<2)|2,{89,100,0}}, +/* 59176 */ {(13<<2)|2,{89,102,0}}, +/* 59177 */ {(13<<2)|2,{89,102,0}}, +/* 59178 */ {(13<<2)|2,{89,102,0}}, +/* 59179 */ {(13<<2)|2,{89,102,0}}, +/* 59180 */ {(13<<2)|2,{89,102,0}}, +/* 59181 */ {(13<<2)|2,{89,102,0}}, +/* 59182 */ {(13<<2)|2,{89,102,0}}, +/* 59183 */ {(13<<2)|2,{89,102,0}}, +/* 59184 */ {(13<<2)|2,{89,103,0}}, +/* 59185 */ {(13<<2)|2,{89,103,0}}, +/* 59186 */ {(13<<2)|2,{89,103,0}}, +/* 59187 */ {(13<<2)|2,{89,103,0}}, +/* 59188 */ {(13<<2)|2,{89,103,0}}, +/* 59189 */ {(13<<2)|2,{89,103,0}}, +/* 59190 */ {(13<<2)|2,{89,103,0}}, +/* 59191 */ {(13<<2)|2,{89,103,0}}, +/* 59192 */ {(13<<2)|2,{89,104,0}}, +/* 59193 */ {(13<<2)|2,{89,104,0}}, +/* 59194 */ {(13<<2)|2,{89,104,0}}, +/* 59195 */ {(13<<2)|2,{89,104,0}}, +/* 59196 */ {(13<<2)|2,{89,104,0}}, +/* 59197 */ {(13<<2)|2,{89,104,0}}, +/* 59198 */ {(13<<2)|2,{89,104,0}}, +/* 59199 */ {(13<<2)|2,{89,104,0}}, +/* 59200 */ {(13<<2)|2,{89,108,0}}, +/* 59201 */ {(13<<2)|2,{89,108,0}}, +/* 59202 */ {(13<<2)|2,{89,108,0}}, +/* 59203 */ {(13<<2)|2,{89,108,0}}, +/* 59204 */ {(13<<2)|2,{89,108,0}}, +/* 59205 */ {(13<<2)|2,{89,108,0}}, +/* 59206 */ {(13<<2)|2,{89,108,0}}, +/* 59207 */ {(13<<2)|2,{89,108,0}}, +/* 59208 */ {(13<<2)|2,{89,109,0}}, +/* 59209 */ {(13<<2)|2,{89,109,0}}, +/* 59210 */ {(13<<2)|2,{89,109,0}}, +/* 59211 */ {(13<<2)|2,{89,109,0}}, +/* 59212 */ {(13<<2)|2,{89,109,0}}, +/* 59213 */ {(13<<2)|2,{89,109,0}}, +/* 59214 */ {(13<<2)|2,{89,109,0}}, +/* 59215 */ {(13<<2)|2,{89,109,0}}, +/* 59216 */ {(13<<2)|2,{89,110,0}}, +/* 59217 */ {(13<<2)|2,{89,110,0}}, +/* 59218 */ {(13<<2)|2,{89,110,0}}, +/* 59219 */ {(13<<2)|2,{89,110,0}}, +/* 59220 */ {(13<<2)|2,{89,110,0}}, +/* 59221 */ {(13<<2)|2,{89,110,0}}, +/* 59222 */ {(13<<2)|2,{89,110,0}}, +/* 59223 */ {(13<<2)|2,{89,110,0}}, +/* 59224 */ {(13<<2)|2,{89,112,0}}, +/* 59225 */ {(13<<2)|2,{89,112,0}}, +/* 59226 */ {(13<<2)|2,{89,112,0}}, +/* 59227 */ {(13<<2)|2,{89,112,0}}, +/* 59228 */ {(13<<2)|2,{89,112,0}}, +/* 59229 */ {(13<<2)|2,{89,112,0}}, +/* 59230 */ {(13<<2)|2,{89,112,0}}, +/* 59231 */ {(13<<2)|2,{89,112,0}}, +/* 59232 */ {(13<<2)|2,{89,114,0}}, +/* 59233 */ {(13<<2)|2,{89,114,0}}, +/* 59234 */ {(13<<2)|2,{89,114,0}}, +/* 59235 */ {(13<<2)|2,{89,114,0}}, +/* 59236 */ {(13<<2)|2,{89,114,0}}, +/* 59237 */ {(13<<2)|2,{89,114,0}}, +/* 59238 */ {(13<<2)|2,{89,114,0}}, +/* 59239 */ {(13<<2)|2,{89,114,0}}, +/* 59240 */ {(13<<2)|2,{89,117,0}}, +/* 59241 */ {(13<<2)|2,{89,117,0}}, +/* 59242 */ {(13<<2)|2,{89,117,0}}, +/* 59243 */ {(13<<2)|2,{89,117,0}}, +/* 59244 */ {(13<<2)|2,{89,117,0}}, +/* 59245 */ {(13<<2)|2,{89,117,0}}, +/* 59246 */ {(13<<2)|2,{89,117,0}}, +/* 59247 */ {(13<<2)|2,{89,117,0}}, +/* 59248 */ {(14<<2)|2,{89,58,0}}, +/* 59249 */ {(14<<2)|2,{89,58,0}}, +/* 59250 */ {(14<<2)|2,{89,58,0}}, +/* 59251 */ {(14<<2)|2,{89,58,0}}, +/* 59252 */ {(14<<2)|2,{89,66,0}}, +/* 59253 */ {(14<<2)|2,{89,66,0}}, +/* 59254 */ {(14<<2)|2,{89,66,0}}, +/* 59255 */ {(14<<2)|2,{89,66,0}}, +/* 59256 */ {(14<<2)|2,{89,67,0}}, +/* 59257 */ {(14<<2)|2,{89,67,0}}, +/* 59258 */ {(14<<2)|2,{89,67,0}}, +/* 59259 */ {(14<<2)|2,{89,67,0}}, +/* 59260 */ {(14<<2)|2,{89,68,0}}, +/* 59261 */ {(14<<2)|2,{89,68,0}}, +/* 59262 */ {(14<<2)|2,{89,68,0}}, +/* 59263 */ {(14<<2)|2,{89,68,0}}, +/* 59264 */ {(14<<2)|2,{89,69,0}}, +/* 59265 */ {(14<<2)|2,{89,69,0}}, +/* 59266 */ {(14<<2)|2,{89,69,0}}, +/* 59267 */ {(14<<2)|2,{89,69,0}}, +/* 59268 */ {(14<<2)|2,{89,70,0}}, +/* 59269 */ {(14<<2)|2,{89,70,0}}, +/* 59270 */ {(14<<2)|2,{89,70,0}}, +/* 59271 */ {(14<<2)|2,{89,70,0}}, +/* 59272 */ {(14<<2)|2,{89,71,0}}, +/* 59273 */ {(14<<2)|2,{89,71,0}}, +/* 59274 */ {(14<<2)|2,{89,71,0}}, +/* 59275 */ {(14<<2)|2,{89,71,0}}, +/* 59276 */ {(14<<2)|2,{89,72,0}}, +/* 59277 */ {(14<<2)|2,{89,72,0}}, +/* 59278 */ {(14<<2)|2,{89,72,0}}, +/* 59279 */ {(14<<2)|2,{89,72,0}}, +/* 59280 */ {(14<<2)|2,{89,73,0}}, +/* 59281 */ {(14<<2)|2,{89,73,0}}, +/* 59282 */ {(14<<2)|2,{89,73,0}}, +/* 59283 */ {(14<<2)|2,{89,73,0}}, +/* 59284 */ {(14<<2)|2,{89,74,0}}, +/* 59285 */ {(14<<2)|2,{89,74,0}}, +/* 59286 */ {(14<<2)|2,{89,74,0}}, +/* 59287 */ {(14<<2)|2,{89,74,0}}, +/* 59288 */ {(14<<2)|2,{89,75,0}}, +/* 59289 */ {(14<<2)|2,{89,75,0}}, +/* 59290 */ {(14<<2)|2,{89,75,0}}, +/* 59291 */ {(14<<2)|2,{89,75,0}}, +/* 59292 */ {(14<<2)|2,{89,76,0}}, +/* 59293 */ {(14<<2)|2,{89,76,0}}, +/* 59294 */ {(14<<2)|2,{89,76,0}}, +/* 59295 */ {(14<<2)|2,{89,76,0}}, +/* 59296 */ {(14<<2)|2,{89,77,0}}, +/* 59297 */ {(14<<2)|2,{89,77,0}}, +/* 59298 */ {(14<<2)|2,{89,77,0}}, +/* 59299 */ {(14<<2)|2,{89,77,0}}, +/* 59300 */ {(14<<2)|2,{89,78,0}}, +/* 59301 */ {(14<<2)|2,{89,78,0}}, +/* 59302 */ {(14<<2)|2,{89,78,0}}, +/* 59303 */ {(14<<2)|2,{89,78,0}}, +/* 59304 */ {(14<<2)|2,{89,79,0}}, +/* 59305 */ {(14<<2)|2,{89,79,0}}, +/* 59306 */ {(14<<2)|2,{89,79,0}}, +/* 59307 */ {(14<<2)|2,{89,79,0}}, +/* 59308 */ {(14<<2)|2,{89,80,0}}, +/* 59309 */ {(14<<2)|2,{89,80,0}}, +/* 59310 */ {(14<<2)|2,{89,80,0}}, +/* 59311 */ {(14<<2)|2,{89,80,0}}, +/* 59312 */ {(14<<2)|2,{89,81,0}}, +/* 59313 */ {(14<<2)|2,{89,81,0}}, +/* 59314 */ {(14<<2)|2,{89,81,0}}, +/* 59315 */ {(14<<2)|2,{89,81,0}}, +/* 59316 */ {(14<<2)|2,{89,82,0}}, +/* 59317 */ {(14<<2)|2,{89,82,0}}, +/* 59318 */ {(14<<2)|2,{89,82,0}}, +/* 59319 */ {(14<<2)|2,{89,82,0}}, +/* 59320 */ {(14<<2)|2,{89,83,0}}, +/* 59321 */ {(14<<2)|2,{89,83,0}}, +/* 59322 */ {(14<<2)|2,{89,83,0}}, +/* 59323 */ {(14<<2)|2,{89,83,0}}, +/* 59324 */ {(14<<2)|2,{89,84,0}}, +/* 59325 */ {(14<<2)|2,{89,84,0}}, +/* 59326 */ {(14<<2)|2,{89,84,0}}, +/* 59327 */ {(14<<2)|2,{89,84,0}}, +/* 59328 */ {(14<<2)|2,{89,85,0}}, +/* 59329 */ {(14<<2)|2,{89,85,0}}, +/* 59330 */ {(14<<2)|2,{89,85,0}}, +/* 59331 */ {(14<<2)|2,{89,85,0}}, +/* 59332 */ {(14<<2)|2,{89,86,0}}, +/* 59333 */ {(14<<2)|2,{89,86,0}}, +/* 59334 */ {(14<<2)|2,{89,86,0}}, +/* 59335 */ {(14<<2)|2,{89,86,0}}, +/* 59336 */ {(14<<2)|2,{89,87,0}}, +/* 59337 */ {(14<<2)|2,{89,87,0}}, +/* 59338 */ {(14<<2)|2,{89,87,0}}, +/* 59339 */ {(14<<2)|2,{89,87,0}}, +/* 59340 */ {(14<<2)|2,{89,89,0}}, +/* 59341 */ {(14<<2)|2,{89,89,0}}, +/* 59342 */ {(14<<2)|2,{89,89,0}}, +/* 59343 */ {(14<<2)|2,{89,89,0}}, +/* 59344 */ {(14<<2)|2,{89,106,0}}, +/* 59345 */ {(14<<2)|2,{89,106,0}}, +/* 59346 */ {(14<<2)|2,{89,106,0}}, +/* 59347 */ {(14<<2)|2,{89,106,0}}, +/* 59348 */ {(14<<2)|2,{89,107,0}}, +/* 59349 */ {(14<<2)|2,{89,107,0}}, +/* 59350 */ {(14<<2)|2,{89,107,0}}, +/* 59351 */ {(14<<2)|2,{89,107,0}}, +/* 59352 */ {(14<<2)|2,{89,113,0}}, +/* 59353 */ {(14<<2)|2,{89,113,0}}, +/* 59354 */ {(14<<2)|2,{89,113,0}}, +/* 59355 */ {(14<<2)|2,{89,113,0}}, +/* 59356 */ {(14<<2)|2,{89,118,0}}, +/* 59357 */ {(14<<2)|2,{89,118,0}}, +/* 59358 */ {(14<<2)|2,{89,118,0}}, +/* 59359 */ {(14<<2)|2,{89,118,0}}, +/* 59360 */ {(14<<2)|2,{89,119,0}}, +/* 59361 */ {(14<<2)|2,{89,119,0}}, +/* 59362 */ {(14<<2)|2,{89,119,0}}, +/* 59363 */ {(14<<2)|2,{89,119,0}}, +/* 59364 */ {(14<<2)|2,{89,120,0}}, +/* 59365 */ {(14<<2)|2,{89,120,0}}, +/* 59366 */ {(14<<2)|2,{89,120,0}}, +/* 59367 */ {(14<<2)|2,{89,120,0}}, +/* 59368 */ {(14<<2)|2,{89,121,0}}, +/* 59369 */ {(14<<2)|2,{89,121,0}}, +/* 59370 */ {(14<<2)|2,{89,121,0}}, +/* 59371 */ {(14<<2)|2,{89,121,0}}, +/* 59372 */ {(14<<2)|2,{89,122,0}}, +/* 59373 */ {(14<<2)|2,{89,122,0}}, +/* 59374 */ {(14<<2)|2,{89,122,0}}, +/* 59375 */ {(14<<2)|2,{89,122,0}}, +/* 59376 */ {(15<<2)|2,{89,38,0}}, +/* 59377 */ {(15<<2)|2,{89,38,0}}, +/* 59378 */ {(15<<2)|2,{89,42,0}}, +/* 59379 */ {(15<<2)|2,{89,42,0}}, +/* 59380 */ {(15<<2)|2,{89,44,0}}, +/* 59381 */ {(15<<2)|2,{89,44,0}}, +/* 59382 */ {(15<<2)|2,{89,59,0}}, +/* 59383 */ {(15<<2)|2,{89,59,0}}, +/* 59384 */ {(15<<2)|2,{89,88,0}}, +/* 59385 */ {(15<<2)|2,{89,88,0}}, +/* 59386 */ {(15<<2)|2,{89,90,0}}, +/* 59387 */ {(15<<2)|2,{89,90,0}}, +/* 59388 */ {(7<<2)|1,{89,0,0}}, +/* 59389 */ {(7<<2)|1,{89,0,0}}, +/* 59390 */ {(7<<2)|1,{89,0,0}}, +/* 59391 */ {(7<<2)|1,{89,0,0}}, +/* 59392 */ {(12<<2)|2,{106,48,0}}, +/* 59393 */ {(12<<2)|2,{106,48,0}}, +/* 59394 */ {(12<<2)|2,{106,48,0}}, +/* 59395 */ {(12<<2)|2,{106,48,0}}, +/* 59396 */ {(12<<2)|2,{106,48,0}}, +/* 59397 */ {(12<<2)|2,{106,48,0}}, +/* 59398 */ {(12<<2)|2,{106,48,0}}, +/* 59399 */ {(12<<2)|2,{106,48,0}}, +/* 59400 */ {(12<<2)|2,{106,48,0}}, +/* 59401 */ {(12<<2)|2,{106,48,0}}, +/* 59402 */ {(12<<2)|2,{106,48,0}}, +/* 59403 */ {(12<<2)|2,{106,48,0}}, +/* 59404 */ {(12<<2)|2,{106,48,0}}, +/* 59405 */ {(12<<2)|2,{106,48,0}}, +/* 59406 */ {(12<<2)|2,{106,48,0}}, +/* 59407 */ {(12<<2)|2,{106,48,0}}, +/* 59408 */ {(12<<2)|2,{106,49,0}}, +/* 59409 */ {(12<<2)|2,{106,49,0}}, +/* 59410 */ {(12<<2)|2,{106,49,0}}, +/* 59411 */ {(12<<2)|2,{106,49,0}}, +/* 59412 */ {(12<<2)|2,{106,49,0}}, +/* 59413 */ {(12<<2)|2,{106,49,0}}, +/* 59414 */ {(12<<2)|2,{106,49,0}}, +/* 59415 */ {(12<<2)|2,{106,49,0}}, +/* 59416 */ {(12<<2)|2,{106,49,0}}, +/* 59417 */ {(12<<2)|2,{106,49,0}}, +/* 59418 */ {(12<<2)|2,{106,49,0}}, +/* 59419 */ {(12<<2)|2,{106,49,0}}, +/* 59420 */ {(12<<2)|2,{106,49,0}}, +/* 59421 */ {(12<<2)|2,{106,49,0}}, +/* 59422 */ {(12<<2)|2,{106,49,0}}, +/* 59423 */ {(12<<2)|2,{106,49,0}}, +/* 59424 */ {(12<<2)|2,{106,50,0}}, +/* 59425 */ {(12<<2)|2,{106,50,0}}, +/* 59426 */ {(12<<2)|2,{106,50,0}}, +/* 59427 */ {(12<<2)|2,{106,50,0}}, +/* 59428 */ {(12<<2)|2,{106,50,0}}, +/* 59429 */ {(12<<2)|2,{106,50,0}}, +/* 59430 */ {(12<<2)|2,{106,50,0}}, +/* 59431 */ {(12<<2)|2,{106,50,0}}, +/* 59432 */ {(12<<2)|2,{106,50,0}}, +/* 59433 */ {(12<<2)|2,{106,50,0}}, +/* 59434 */ {(12<<2)|2,{106,50,0}}, +/* 59435 */ {(12<<2)|2,{106,50,0}}, +/* 59436 */ {(12<<2)|2,{106,50,0}}, +/* 59437 */ {(12<<2)|2,{106,50,0}}, +/* 59438 */ {(12<<2)|2,{106,50,0}}, +/* 59439 */ {(12<<2)|2,{106,50,0}}, +/* 59440 */ {(12<<2)|2,{106,97,0}}, +/* 59441 */ {(12<<2)|2,{106,97,0}}, +/* 59442 */ {(12<<2)|2,{106,97,0}}, +/* 59443 */ {(12<<2)|2,{106,97,0}}, +/* 59444 */ {(12<<2)|2,{106,97,0}}, +/* 59445 */ {(12<<2)|2,{106,97,0}}, +/* 59446 */ {(12<<2)|2,{106,97,0}}, +/* 59447 */ {(12<<2)|2,{106,97,0}}, +/* 59448 */ {(12<<2)|2,{106,97,0}}, +/* 59449 */ {(12<<2)|2,{106,97,0}}, +/* 59450 */ {(12<<2)|2,{106,97,0}}, +/* 59451 */ {(12<<2)|2,{106,97,0}}, +/* 59452 */ {(12<<2)|2,{106,97,0}}, +/* 59453 */ {(12<<2)|2,{106,97,0}}, +/* 59454 */ {(12<<2)|2,{106,97,0}}, +/* 59455 */ {(12<<2)|2,{106,97,0}}, +/* 59456 */ {(12<<2)|2,{106,99,0}}, +/* 59457 */ {(12<<2)|2,{106,99,0}}, +/* 59458 */ {(12<<2)|2,{106,99,0}}, +/* 59459 */ {(12<<2)|2,{106,99,0}}, +/* 59460 */ {(12<<2)|2,{106,99,0}}, +/* 59461 */ {(12<<2)|2,{106,99,0}}, +/* 59462 */ {(12<<2)|2,{106,99,0}}, +/* 59463 */ {(12<<2)|2,{106,99,0}}, +/* 59464 */ {(12<<2)|2,{106,99,0}}, +/* 59465 */ {(12<<2)|2,{106,99,0}}, +/* 59466 */ {(12<<2)|2,{106,99,0}}, +/* 59467 */ {(12<<2)|2,{106,99,0}}, +/* 59468 */ {(12<<2)|2,{106,99,0}}, +/* 59469 */ {(12<<2)|2,{106,99,0}}, +/* 59470 */ {(12<<2)|2,{106,99,0}}, +/* 59471 */ {(12<<2)|2,{106,99,0}}, +/* 59472 */ {(12<<2)|2,{106,101,0}}, +/* 59473 */ {(12<<2)|2,{106,101,0}}, +/* 59474 */ {(12<<2)|2,{106,101,0}}, +/* 59475 */ {(12<<2)|2,{106,101,0}}, +/* 59476 */ {(12<<2)|2,{106,101,0}}, +/* 59477 */ {(12<<2)|2,{106,101,0}}, +/* 59478 */ {(12<<2)|2,{106,101,0}}, +/* 59479 */ {(12<<2)|2,{106,101,0}}, +/* 59480 */ {(12<<2)|2,{106,101,0}}, +/* 59481 */ {(12<<2)|2,{106,101,0}}, +/* 59482 */ {(12<<2)|2,{106,101,0}}, +/* 59483 */ {(12<<2)|2,{106,101,0}}, +/* 59484 */ {(12<<2)|2,{106,101,0}}, +/* 59485 */ {(12<<2)|2,{106,101,0}}, +/* 59486 */ {(12<<2)|2,{106,101,0}}, +/* 59487 */ {(12<<2)|2,{106,101,0}}, +/* 59488 */ {(12<<2)|2,{106,105,0}}, +/* 59489 */ {(12<<2)|2,{106,105,0}}, +/* 59490 */ {(12<<2)|2,{106,105,0}}, +/* 59491 */ {(12<<2)|2,{106,105,0}}, +/* 59492 */ {(12<<2)|2,{106,105,0}}, +/* 59493 */ {(12<<2)|2,{106,105,0}}, +/* 59494 */ {(12<<2)|2,{106,105,0}}, +/* 59495 */ {(12<<2)|2,{106,105,0}}, +/* 59496 */ {(12<<2)|2,{106,105,0}}, +/* 59497 */ {(12<<2)|2,{106,105,0}}, +/* 59498 */ {(12<<2)|2,{106,105,0}}, +/* 59499 */ {(12<<2)|2,{106,105,0}}, +/* 59500 */ {(12<<2)|2,{106,105,0}}, +/* 59501 */ {(12<<2)|2,{106,105,0}}, +/* 59502 */ {(12<<2)|2,{106,105,0}}, +/* 59503 */ {(12<<2)|2,{106,105,0}}, +/* 59504 */ {(12<<2)|2,{106,111,0}}, +/* 59505 */ {(12<<2)|2,{106,111,0}}, +/* 59506 */ {(12<<2)|2,{106,111,0}}, +/* 59507 */ {(12<<2)|2,{106,111,0}}, +/* 59508 */ {(12<<2)|2,{106,111,0}}, +/* 59509 */ {(12<<2)|2,{106,111,0}}, +/* 59510 */ {(12<<2)|2,{106,111,0}}, +/* 59511 */ {(12<<2)|2,{106,111,0}}, +/* 59512 */ {(12<<2)|2,{106,111,0}}, +/* 59513 */ {(12<<2)|2,{106,111,0}}, +/* 59514 */ {(12<<2)|2,{106,111,0}}, +/* 59515 */ {(12<<2)|2,{106,111,0}}, +/* 59516 */ {(12<<2)|2,{106,111,0}}, +/* 59517 */ {(12<<2)|2,{106,111,0}}, +/* 59518 */ {(12<<2)|2,{106,111,0}}, +/* 59519 */ {(12<<2)|2,{106,111,0}}, +/* 59520 */ {(12<<2)|2,{106,115,0}}, +/* 59521 */ {(12<<2)|2,{106,115,0}}, +/* 59522 */ {(12<<2)|2,{106,115,0}}, +/* 59523 */ {(12<<2)|2,{106,115,0}}, +/* 59524 */ {(12<<2)|2,{106,115,0}}, +/* 59525 */ {(12<<2)|2,{106,115,0}}, +/* 59526 */ {(12<<2)|2,{106,115,0}}, +/* 59527 */ {(12<<2)|2,{106,115,0}}, +/* 59528 */ {(12<<2)|2,{106,115,0}}, +/* 59529 */ {(12<<2)|2,{106,115,0}}, +/* 59530 */ {(12<<2)|2,{106,115,0}}, +/* 59531 */ {(12<<2)|2,{106,115,0}}, +/* 59532 */ {(12<<2)|2,{106,115,0}}, +/* 59533 */ {(12<<2)|2,{106,115,0}}, +/* 59534 */ {(12<<2)|2,{106,115,0}}, +/* 59535 */ {(12<<2)|2,{106,115,0}}, +/* 59536 */ {(12<<2)|2,{106,116,0}}, +/* 59537 */ {(12<<2)|2,{106,116,0}}, +/* 59538 */ {(12<<2)|2,{106,116,0}}, +/* 59539 */ {(12<<2)|2,{106,116,0}}, +/* 59540 */ {(12<<2)|2,{106,116,0}}, +/* 59541 */ {(12<<2)|2,{106,116,0}}, +/* 59542 */ {(12<<2)|2,{106,116,0}}, +/* 59543 */ {(12<<2)|2,{106,116,0}}, +/* 59544 */ {(12<<2)|2,{106,116,0}}, +/* 59545 */ {(12<<2)|2,{106,116,0}}, +/* 59546 */ {(12<<2)|2,{106,116,0}}, +/* 59547 */ {(12<<2)|2,{106,116,0}}, +/* 59548 */ {(12<<2)|2,{106,116,0}}, +/* 59549 */ {(12<<2)|2,{106,116,0}}, +/* 59550 */ {(12<<2)|2,{106,116,0}}, +/* 59551 */ {(12<<2)|2,{106,116,0}}, +/* 59552 */ {(13<<2)|2,{106,32,0}}, +/* 59553 */ {(13<<2)|2,{106,32,0}}, +/* 59554 */ {(13<<2)|2,{106,32,0}}, +/* 59555 */ {(13<<2)|2,{106,32,0}}, +/* 59556 */ {(13<<2)|2,{106,32,0}}, +/* 59557 */ {(13<<2)|2,{106,32,0}}, +/* 59558 */ {(13<<2)|2,{106,32,0}}, +/* 59559 */ {(13<<2)|2,{106,32,0}}, +/* 59560 */ {(13<<2)|2,{106,37,0}}, +/* 59561 */ {(13<<2)|2,{106,37,0}}, +/* 59562 */ {(13<<2)|2,{106,37,0}}, +/* 59563 */ {(13<<2)|2,{106,37,0}}, +/* 59564 */ {(13<<2)|2,{106,37,0}}, +/* 59565 */ {(13<<2)|2,{106,37,0}}, +/* 59566 */ {(13<<2)|2,{106,37,0}}, +/* 59567 */ {(13<<2)|2,{106,37,0}}, +/* 59568 */ {(13<<2)|2,{106,45,0}}, +/* 59569 */ {(13<<2)|2,{106,45,0}}, +/* 59570 */ {(13<<2)|2,{106,45,0}}, +/* 59571 */ {(13<<2)|2,{106,45,0}}, +/* 59572 */ {(13<<2)|2,{106,45,0}}, +/* 59573 */ {(13<<2)|2,{106,45,0}}, +/* 59574 */ {(13<<2)|2,{106,45,0}}, +/* 59575 */ {(13<<2)|2,{106,45,0}}, +/* 59576 */ {(13<<2)|2,{106,46,0}}, +/* 59577 */ {(13<<2)|2,{106,46,0}}, +/* 59578 */ {(13<<2)|2,{106,46,0}}, +/* 59579 */ {(13<<2)|2,{106,46,0}}, +/* 59580 */ {(13<<2)|2,{106,46,0}}, +/* 59581 */ {(13<<2)|2,{106,46,0}}, +/* 59582 */ {(13<<2)|2,{106,46,0}}, +/* 59583 */ {(13<<2)|2,{106,46,0}}, +/* 59584 */ {(13<<2)|2,{106,47,0}}, +/* 59585 */ {(13<<2)|2,{106,47,0}}, +/* 59586 */ {(13<<2)|2,{106,47,0}}, +/* 59587 */ {(13<<2)|2,{106,47,0}}, +/* 59588 */ {(13<<2)|2,{106,47,0}}, +/* 59589 */ {(13<<2)|2,{106,47,0}}, +/* 59590 */ {(13<<2)|2,{106,47,0}}, +/* 59591 */ {(13<<2)|2,{106,47,0}}, +/* 59592 */ {(13<<2)|2,{106,51,0}}, +/* 59593 */ {(13<<2)|2,{106,51,0}}, +/* 59594 */ {(13<<2)|2,{106,51,0}}, +/* 59595 */ {(13<<2)|2,{106,51,0}}, +/* 59596 */ {(13<<2)|2,{106,51,0}}, +/* 59597 */ {(13<<2)|2,{106,51,0}}, +/* 59598 */ {(13<<2)|2,{106,51,0}}, +/* 59599 */ {(13<<2)|2,{106,51,0}}, +/* 59600 */ {(13<<2)|2,{106,52,0}}, +/* 59601 */ {(13<<2)|2,{106,52,0}}, +/* 59602 */ {(13<<2)|2,{106,52,0}}, +/* 59603 */ {(13<<2)|2,{106,52,0}}, +/* 59604 */ {(13<<2)|2,{106,52,0}}, +/* 59605 */ {(13<<2)|2,{106,52,0}}, +/* 59606 */ {(13<<2)|2,{106,52,0}}, +/* 59607 */ {(13<<2)|2,{106,52,0}}, +/* 59608 */ {(13<<2)|2,{106,53,0}}, +/* 59609 */ {(13<<2)|2,{106,53,0}}, +/* 59610 */ {(13<<2)|2,{106,53,0}}, +/* 59611 */ {(13<<2)|2,{106,53,0}}, +/* 59612 */ {(13<<2)|2,{106,53,0}}, +/* 59613 */ {(13<<2)|2,{106,53,0}}, +/* 59614 */ {(13<<2)|2,{106,53,0}}, +/* 59615 */ {(13<<2)|2,{106,53,0}}, +/* 59616 */ {(13<<2)|2,{106,54,0}}, +/* 59617 */ {(13<<2)|2,{106,54,0}}, +/* 59618 */ {(13<<2)|2,{106,54,0}}, +/* 59619 */ {(13<<2)|2,{106,54,0}}, +/* 59620 */ {(13<<2)|2,{106,54,0}}, +/* 59621 */ {(13<<2)|2,{106,54,0}}, +/* 59622 */ {(13<<2)|2,{106,54,0}}, +/* 59623 */ {(13<<2)|2,{106,54,0}}, +/* 59624 */ {(13<<2)|2,{106,55,0}}, +/* 59625 */ {(13<<2)|2,{106,55,0}}, +/* 59626 */ {(13<<2)|2,{106,55,0}}, +/* 59627 */ {(13<<2)|2,{106,55,0}}, +/* 59628 */ {(13<<2)|2,{106,55,0}}, +/* 59629 */ {(13<<2)|2,{106,55,0}}, +/* 59630 */ {(13<<2)|2,{106,55,0}}, +/* 59631 */ {(13<<2)|2,{106,55,0}}, +/* 59632 */ {(13<<2)|2,{106,56,0}}, +/* 59633 */ {(13<<2)|2,{106,56,0}}, +/* 59634 */ {(13<<2)|2,{106,56,0}}, +/* 59635 */ {(13<<2)|2,{106,56,0}}, +/* 59636 */ {(13<<2)|2,{106,56,0}}, +/* 59637 */ {(13<<2)|2,{106,56,0}}, +/* 59638 */ {(13<<2)|2,{106,56,0}}, +/* 59639 */ {(13<<2)|2,{106,56,0}}, +/* 59640 */ {(13<<2)|2,{106,57,0}}, +/* 59641 */ {(13<<2)|2,{106,57,0}}, +/* 59642 */ {(13<<2)|2,{106,57,0}}, +/* 59643 */ {(13<<2)|2,{106,57,0}}, +/* 59644 */ {(13<<2)|2,{106,57,0}}, +/* 59645 */ {(13<<2)|2,{106,57,0}}, +/* 59646 */ {(13<<2)|2,{106,57,0}}, +/* 59647 */ {(13<<2)|2,{106,57,0}}, +/* 59648 */ {(13<<2)|2,{106,61,0}}, +/* 59649 */ {(13<<2)|2,{106,61,0}}, +/* 59650 */ {(13<<2)|2,{106,61,0}}, +/* 59651 */ {(13<<2)|2,{106,61,0}}, +/* 59652 */ {(13<<2)|2,{106,61,0}}, +/* 59653 */ {(13<<2)|2,{106,61,0}}, +/* 59654 */ {(13<<2)|2,{106,61,0}}, +/* 59655 */ {(13<<2)|2,{106,61,0}}, +/* 59656 */ {(13<<2)|2,{106,65,0}}, +/* 59657 */ {(13<<2)|2,{106,65,0}}, +/* 59658 */ {(13<<2)|2,{106,65,0}}, +/* 59659 */ {(13<<2)|2,{106,65,0}}, +/* 59660 */ {(13<<2)|2,{106,65,0}}, +/* 59661 */ {(13<<2)|2,{106,65,0}}, +/* 59662 */ {(13<<2)|2,{106,65,0}}, +/* 59663 */ {(13<<2)|2,{106,65,0}}, +/* 59664 */ {(13<<2)|2,{106,95,0}}, +/* 59665 */ {(13<<2)|2,{106,95,0}}, +/* 59666 */ {(13<<2)|2,{106,95,0}}, +/* 59667 */ {(13<<2)|2,{106,95,0}}, +/* 59668 */ {(13<<2)|2,{106,95,0}}, +/* 59669 */ {(13<<2)|2,{106,95,0}}, +/* 59670 */ {(13<<2)|2,{106,95,0}}, +/* 59671 */ {(13<<2)|2,{106,95,0}}, +/* 59672 */ {(13<<2)|2,{106,98,0}}, +/* 59673 */ {(13<<2)|2,{106,98,0}}, +/* 59674 */ {(13<<2)|2,{106,98,0}}, +/* 59675 */ {(13<<2)|2,{106,98,0}}, +/* 59676 */ {(13<<2)|2,{106,98,0}}, +/* 59677 */ {(13<<2)|2,{106,98,0}}, +/* 59678 */ {(13<<2)|2,{106,98,0}}, +/* 59679 */ {(13<<2)|2,{106,98,0}}, +/* 59680 */ {(13<<2)|2,{106,100,0}}, +/* 59681 */ {(13<<2)|2,{106,100,0}}, +/* 59682 */ {(13<<2)|2,{106,100,0}}, +/* 59683 */ {(13<<2)|2,{106,100,0}}, +/* 59684 */ {(13<<2)|2,{106,100,0}}, +/* 59685 */ {(13<<2)|2,{106,100,0}}, +/* 59686 */ {(13<<2)|2,{106,100,0}}, +/* 59687 */ {(13<<2)|2,{106,100,0}}, +/* 59688 */ {(13<<2)|2,{106,102,0}}, +/* 59689 */ {(13<<2)|2,{106,102,0}}, +/* 59690 */ {(13<<2)|2,{106,102,0}}, +/* 59691 */ {(13<<2)|2,{106,102,0}}, +/* 59692 */ {(13<<2)|2,{106,102,0}}, +/* 59693 */ {(13<<2)|2,{106,102,0}}, +/* 59694 */ {(13<<2)|2,{106,102,0}}, +/* 59695 */ {(13<<2)|2,{106,102,0}}, +/* 59696 */ {(13<<2)|2,{106,103,0}}, +/* 59697 */ {(13<<2)|2,{106,103,0}}, +/* 59698 */ {(13<<2)|2,{106,103,0}}, +/* 59699 */ {(13<<2)|2,{106,103,0}}, +/* 59700 */ {(13<<2)|2,{106,103,0}}, +/* 59701 */ {(13<<2)|2,{106,103,0}}, +/* 59702 */ {(13<<2)|2,{106,103,0}}, +/* 59703 */ {(13<<2)|2,{106,103,0}}, +/* 59704 */ {(13<<2)|2,{106,104,0}}, +/* 59705 */ {(13<<2)|2,{106,104,0}}, +/* 59706 */ {(13<<2)|2,{106,104,0}}, +/* 59707 */ {(13<<2)|2,{106,104,0}}, +/* 59708 */ {(13<<2)|2,{106,104,0}}, +/* 59709 */ {(13<<2)|2,{106,104,0}}, +/* 59710 */ {(13<<2)|2,{106,104,0}}, +/* 59711 */ {(13<<2)|2,{106,104,0}}, +/* 59712 */ {(13<<2)|2,{106,108,0}}, +/* 59713 */ {(13<<2)|2,{106,108,0}}, +/* 59714 */ {(13<<2)|2,{106,108,0}}, +/* 59715 */ {(13<<2)|2,{106,108,0}}, +/* 59716 */ {(13<<2)|2,{106,108,0}}, +/* 59717 */ {(13<<2)|2,{106,108,0}}, +/* 59718 */ {(13<<2)|2,{106,108,0}}, +/* 59719 */ {(13<<2)|2,{106,108,0}}, +/* 59720 */ {(13<<2)|2,{106,109,0}}, +/* 59721 */ {(13<<2)|2,{106,109,0}}, +/* 59722 */ {(13<<2)|2,{106,109,0}}, +/* 59723 */ {(13<<2)|2,{106,109,0}}, +/* 59724 */ {(13<<2)|2,{106,109,0}}, +/* 59725 */ {(13<<2)|2,{106,109,0}}, +/* 59726 */ {(13<<2)|2,{106,109,0}}, +/* 59727 */ {(13<<2)|2,{106,109,0}}, +/* 59728 */ {(13<<2)|2,{106,110,0}}, +/* 59729 */ {(13<<2)|2,{106,110,0}}, +/* 59730 */ {(13<<2)|2,{106,110,0}}, +/* 59731 */ {(13<<2)|2,{106,110,0}}, +/* 59732 */ {(13<<2)|2,{106,110,0}}, +/* 59733 */ {(13<<2)|2,{106,110,0}}, +/* 59734 */ {(13<<2)|2,{106,110,0}}, +/* 59735 */ {(13<<2)|2,{106,110,0}}, +/* 59736 */ {(13<<2)|2,{106,112,0}}, +/* 59737 */ {(13<<2)|2,{106,112,0}}, +/* 59738 */ {(13<<2)|2,{106,112,0}}, +/* 59739 */ {(13<<2)|2,{106,112,0}}, +/* 59740 */ {(13<<2)|2,{106,112,0}}, +/* 59741 */ {(13<<2)|2,{106,112,0}}, +/* 59742 */ {(13<<2)|2,{106,112,0}}, +/* 59743 */ {(13<<2)|2,{106,112,0}}, +/* 59744 */ {(13<<2)|2,{106,114,0}}, +/* 59745 */ {(13<<2)|2,{106,114,0}}, +/* 59746 */ {(13<<2)|2,{106,114,0}}, +/* 59747 */ {(13<<2)|2,{106,114,0}}, +/* 59748 */ {(13<<2)|2,{106,114,0}}, +/* 59749 */ {(13<<2)|2,{106,114,0}}, +/* 59750 */ {(13<<2)|2,{106,114,0}}, +/* 59751 */ {(13<<2)|2,{106,114,0}}, +/* 59752 */ {(13<<2)|2,{106,117,0}}, +/* 59753 */ {(13<<2)|2,{106,117,0}}, +/* 59754 */ {(13<<2)|2,{106,117,0}}, +/* 59755 */ {(13<<2)|2,{106,117,0}}, +/* 59756 */ {(13<<2)|2,{106,117,0}}, +/* 59757 */ {(13<<2)|2,{106,117,0}}, +/* 59758 */ {(13<<2)|2,{106,117,0}}, +/* 59759 */ {(13<<2)|2,{106,117,0}}, +/* 59760 */ {(14<<2)|2,{106,58,0}}, +/* 59761 */ {(14<<2)|2,{106,58,0}}, +/* 59762 */ {(14<<2)|2,{106,58,0}}, +/* 59763 */ {(14<<2)|2,{106,58,0}}, +/* 59764 */ {(14<<2)|2,{106,66,0}}, +/* 59765 */ {(14<<2)|2,{106,66,0}}, +/* 59766 */ {(14<<2)|2,{106,66,0}}, +/* 59767 */ {(14<<2)|2,{106,66,0}}, +/* 59768 */ {(14<<2)|2,{106,67,0}}, +/* 59769 */ {(14<<2)|2,{106,67,0}}, +/* 59770 */ {(14<<2)|2,{106,67,0}}, +/* 59771 */ {(14<<2)|2,{106,67,0}}, +/* 59772 */ {(14<<2)|2,{106,68,0}}, +/* 59773 */ {(14<<2)|2,{106,68,0}}, +/* 59774 */ {(14<<2)|2,{106,68,0}}, +/* 59775 */ {(14<<2)|2,{106,68,0}}, +/* 59776 */ {(14<<2)|2,{106,69,0}}, +/* 59777 */ {(14<<2)|2,{106,69,0}}, +/* 59778 */ {(14<<2)|2,{106,69,0}}, +/* 59779 */ {(14<<2)|2,{106,69,0}}, +/* 59780 */ {(14<<2)|2,{106,70,0}}, +/* 59781 */ {(14<<2)|2,{106,70,0}}, +/* 59782 */ {(14<<2)|2,{106,70,0}}, +/* 59783 */ {(14<<2)|2,{106,70,0}}, +/* 59784 */ {(14<<2)|2,{106,71,0}}, +/* 59785 */ {(14<<2)|2,{106,71,0}}, +/* 59786 */ {(14<<2)|2,{106,71,0}}, +/* 59787 */ {(14<<2)|2,{106,71,0}}, +/* 59788 */ {(14<<2)|2,{106,72,0}}, +/* 59789 */ {(14<<2)|2,{106,72,0}}, +/* 59790 */ {(14<<2)|2,{106,72,0}}, +/* 59791 */ {(14<<2)|2,{106,72,0}}, +/* 59792 */ {(14<<2)|2,{106,73,0}}, +/* 59793 */ {(14<<2)|2,{106,73,0}}, +/* 59794 */ {(14<<2)|2,{106,73,0}}, +/* 59795 */ {(14<<2)|2,{106,73,0}}, +/* 59796 */ {(14<<2)|2,{106,74,0}}, +/* 59797 */ {(14<<2)|2,{106,74,0}}, +/* 59798 */ {(14<<2)|2,{106,74,0}}, +/* 59799 */ {(14<<2)|2,{106,74,0}}, +/* 59800 */ {(14<<2)|2,{106,75,0}}, +/* 59801 */ {(14<<2)|2,{106,75,0}}, +/* 59802 */ {(14<<2)|2,{106,75,0}}, +/* 59803 */ {(14<<2)|2,{106,75,0}}, +/* 59804 */ {(14<<2)|2,{106,76,0}}, +/* 59805 */ {(14<<2)|2,{106,76,0}}, +/* 59806 */ {(14<<2)|2,{106,76,0}}, +/* 59807 */ {(14<<2)|2,{106,76,0}}, +/* 59808 */ {(14<<2)|2,{106,77,0}}, +/* 59809 */ {(14<<2)|2,{106,77,0}}, +/* 59810 */ {(14<<2)|2,{106,77,0}}, +/* 59811 */ {(14<<2)|2,{106,77,0}}, +/* 59812 */ {(14<<2)|2,{106,78,0}}, +/* 59813 */ {(14<<2)|2,{106,78,0}}, +/* 59814 */ {(14<<2)|2,{106,78,0}}, +/* 59815 */ {(14<<2)|2,{106,78,0}}, +/* 59816 */ {(14<<2)|2,{106,79,0}}, +/* 59817 */ {(14<<2)|2,{106,79,0}}, +/* 59818 */ {(14<<2)|2,{106,79,0}}, +/* 59819 */ {(14<<2)|2,{106,79,0}}, +/* 59820 */ {(14<<2)|2,{106,80,0}}, +/* 59821 */ {(14<<2)|2,{106,80,0}}, +/* 59822 */ {(14<<2)|2,{106,80,0}}, +/* 59823 */ {(14<<2)|2,{106,80,0}}, +/* 59824 */ {(14<<2)|2,{106,81,0}}, +/* 59825 */ {(14<<2)|2,{106,81,0}}, +/* 59826 */ {(14<<2)|2,{106,81,0}}, +/* 59827 */ {(14<<2)|2,{106,81,0}}, +/* 59828 */ {(14<<2)|2,{106,82,0}}, +/* 59829 */ {(14<<2)|2,{106,82,0}}, +/* 59830 */ {(14<<2)|2,{106,82,0}}, +/* 59831 */ {(14<<2)|2,{106,82,0}}, +/* 59832 */ {(14<<2)|2,{106,83,0}}, +/* 59833 */ {(14<<2)|2,{106,83,0}}, +/* 59834 */ {(14<<2)|2,{106,83,0}}, +/* 59835 */ {(14<<2)|2,{106,83,0}}, +/* 59836 */ {(14<<2)|2,{106,84,0}}, +/* 59837 */ {(14<<2)|2,{106,84,0}}, +/* 59838 */ {(14<<2)|2,{106,84,0}}, +/* 59839 */ {(14<<2)|2,{106,84,0}}, +/* 59840 */ {(14<<2)|2,{106,85,0}}, +/* 59841 */ {(14<<2)|2,{106,85,0}}, +/* 59842 */ {(14<<2)|2,{106,85,0}}, +/* 59843 */ {(14<<2)|2,{106,85,0}}, +/* 59844 */ {(14<<2)|2,{106,86,0}}, +/* 59845 */ {(14<<2)|2,{106,86,0}}, +/* 59846 */ {(14<<2)|2,{106,86,0}}, +/* 59847 */ {(14<<2)|2,{106,86,0}}, +/* 59848 */ {(14<<2)|2,{106,87,0}}, +/* 59849 */ {(14<<2)|2,{106,87,0}}, +/* 59850 */ {(14<<2)|2,{106,87,0}}, +/* 59851 */ {(14<<2)|2,{106,87,0}}, +/* 59852 */ {(14<<2)|2,{106,89,0}}, +/* 59853 */ {(14<<2)|2,{106,89,0}}, +/* 59854 */ {(14<<2)|2,{106,89,0}}, +/* 59855 */ {(14<<2)|2,{106,89,0}}, +/* 59856 */ {(14<<2)|2,{106,106,0}}, +/* 59857 */ {(14<<2)|2,{106,106,0}}, +/* 59858 */ {(14<<2)|2,{106,106,0}}, +/* 59859 */ {(14<<2)|2,{106,106,0}}, +/* 59860 */ {(14<<2)|2,{106,107,0}}, +/* 59861 */ {(14<<2)|2,{106,107,0}}, +/* 59862 */ {(14<<2)|2,{106,107,0}}, +/* 59863 */ {(14<<2)|2,{106,107,0}}, +/* 59864 */ {(14<<2)|2,{106,113,0}}, +/* 59865 */ {(14<<2)|2,{106,113,0}}, +/* 59866 */ {(14<<2)|2,{106,113,0}}, +/* 59867 */ {(14<<2)|2,{106,113,0}}, +/* 59868 */ {(14<<2)|2,{106,118,0}}, +/* 59869 */ {(14<<2)|2,{106,118,0}}, +/* 59870 */ {(14<<2)|2,{106,118,0}}, +/* 59871 */ {(14<<2)|2,{106,118,0}}, +/* 59872 */ {(14<<2)|2,{106,119,0}}, +/* 59873 */ {(14<<2)|2,{106,119,0}}, +/* 59874 */ {(14<<2)|2,{106,119,0}}, +/* 59875 */ {(14<<2)|2,{106,119,0}}, +/* 59876 */ {(14<<2)|2,{106,120,0}}, +/* 59877 */ {(14<<2)|2,{106,120,0}}, +/* 59878 */ {(14<<2)|2,{106,120,0}}, +/* 59879 */ {(14<<2)|2,{106,120,0}}, +/* 59880 */ {(14<<2)|2,{106,121,0}}, +/* 59881 */ {(14<<2)|2,{106,121,0}}, +/* 59882 */ {(14<<2)|2,{106,121,0}}, +/* 59883 */ {(14<<2)|2,{106,121,0}}, +/* 59884 */ {(14<<2)|2,{106,122,0}}, +/* 59885 */ {(14<<2)|2,{106,122,0}}, +/* 59886 */ {(14<<2)|2,{106,122,0}}, +/* 59887 */ {(14<<2)|2,{106,122,0}}, +/* 59888 */ {(15<<2)|2,{106,38,0}}, +/* 59889 */ {(15<<2)|2,{106,38,0}}, +/* 59890 */ {(15<<2)|2,{106,42,0}}, +/* 59891 */ {(15<<2)|2,{106,42,0}}, +/* 59892 */ {(15<<2)|2,{106,44,0}}, +/* 59893 */ {(15<<2)|2,{106,44,0}}, +/* 59894 */ {(15<<2)|2,{106,59,0}}, +/* 59895 */ {(15<<2)|2,{106,59,0}}, +/* 59896 */ {(15<<2)|2,{106,88,0}}, +/* 59897 */ {(15<<2)|2,{106,88,0}}, +/* 59898 */ {(15<<2)|2,{106,90,0}}, +/* 59899 */ {(15<<2)|2,{106,90,0}}, +/* 59900 */ {(7<<2)|1,{106,0,0}}, +/* 59901 */ {(7<<2)|1,{106,0,0}}, +/* 59902 */ {(7<<2)|1,{106,0,0}}, +/* 59903 */ {(7<<2)|1,{106,0,0}}, +/* 59904 */ {(12<<2)|2,{107,48,0}}, +/* 59905 */ {(12<<2)|2,{107,48,0}}, +/* 59906 */ {(12<<2)|2,{107,48,0}}, +/* 59907 */ {(12<<2)|2,{107,48,0}}, +/* 59908 */ {(12<<2)|2,{107,48,0}}, +/* 59909 */ {(12<<2)|2,{107,48,0}}, +/* 59910 */ {(12<<2)|2,{107,48,0}}, +/* 59911 */ {(12<<2)|2,{107,48,0}}, +/* 59912 */ {(12<<2)|2,{107,48,0}}, +/* 59913 */ {(12<<2)|2,{107,48,0}}, +/* 59914 */ {(12<<2)|2,{107,48,0}}, +/* 59915 */ {(12<<2)|2,{107,48,0}}, +/* 59916 */ {(12<<2)|2,{107,48,0}}, +/* 59917 */ {(12<<2)|2,{107,48,0}}, +/* 59918 */ {(12<<2)|2,{107,48,0}}, +/* 59919 */ {(12<<2)|2,{107,48,0}}, +/* 59920 */ {(12<<2)|2,{107,49,0}}, +/* 59921 */ {(12<<2)|2,{107,49,0}}, +/* 59922 */ {(12<<2)|2,{107,49,0}}, +/* 59923 */ {(12<<2)|2,{107,49,0}}, +/* 59924 */ {(12<<2)|2,{107,49,0}}, +/* 59925 */ {(12<<2)|2,{107,49,0}}, +/* 59926 */ {(12<<2)|2,{107,49,0}}, +/* 59927 */ {(12<<2)|2,{107,49,0}}, +/* 59928 */ {(12<<2)|2,{107,49,0}}, +/* 59929 */ {(12<<2)|2,{107,49,0}}, +/* 59930 */ {(12<<2)|2,{107,49,0}}, +/* 59931 */ {(12<<2)|2,{107,49,0}}, +/* 59932 */ {(12<<2)|2,{107,49,0}}, +/* 59933 */ {(12<<2)|2,{107,49,0}}, +/* 59934 */ {(12<<2)|2,{107,49,0}}, +/* 59935 */ {(12<<2)|2,{107,49,0}}, +/* 59936 */ {(12<<2)|2,{107,50,0}}, +/* 59937 */ {(12<<2)|2,{107,50,0}}, +/* 59938 */ {(12<<2)|2,{107,50,0}}, +/* 59939 */ {(12<<2)|2,{107,50,0}}, +/* 59940 */ {(12<<2)|2,{107,50,0}}, +/* 59941 */ {(12<<2)|2,{107,50,0}}, +/* 59942 */ {(12<<2)|2,{107,50,0}}, +/* 59943 */ {(12<<2)|2,{107,50,0}}, +/* 59944 */ {(12<<2)|2,{107,50,0}}, +/* 59945 */ {(12<<2)|2,{107,50,0}}, +/* 59946 */ {(12<<2)|2,{107,50,0}}, +/* 59947 */ {(12<<2)|2,{107,50,0}}, +/* 59948 */ {(12<<2)|2,{107,50,0}}, +/* 59949 */ {(12<<2)|2,{107,50,0}}, +/* 59950 */ {(12<<2)|2,{107,50,0}}, +/* 59951 */ {(12<<2)|2,{107,50,0}}, +/* 59952 */ {(12<<2)|2,{107,97,0}}, +/* 59953 */ {(12<<2)|2,{107,97,0}}, +/* 59954 */ {(12<<2)|2,{107,97,0}}, +/* 59955 */ {(12<<2)|2,{107,97,0}}, +/* 59956 */ {(12<<2)|2,{107,97,0}}, +/* 59957 */ {(12<<2)|2,{107,97,0}}, +/* 59958 */ {(12<<2)|2,{107,97,0}}, +/* 59959 */ {(12<<2)|2,{107,97,0}}, +/* 59960 */ {(12<<2)|2,{107,97,0}}, +/* 59961 */ {(12<<2)|2,{107,97,0}}, +/* 59962 */ {(12<<2)|2,{107,97,0}}, +/* 59963 */ {(12<<2)|2,{107,97,0}}, +/* 59964 */ {(12<<2)|2,{107,97,0}}, +/* 59965 */ {(12<<2)|2,{107,97,0}}, +/* 59966 */ {(12<<2)|2,{107,97,0}}, +/* 59967 */ {(12<<2)|2,{107,97,0}}, +/* 59968 */ {(12<<2)|2,{107,99,0}}, +/* 59969 */ {(12<<2)|2,{107,99,0}}, +/* 59970 */ {(12<<2)|2,{107,99,0}}, +/* 59971 */ {(12<<2)|2,{107,99,0}}, +/* 59972 */ {(12<<2)|2,{107,99,0}}, +/* 59973 */ {(12<<2)|2,{107,99,0}}, +/* 59974 */ {(12<<2)|2,{107,99,0}}, +/* 59975 */ {(12<<2)|2,{107,99,0}}, +/* 59976 */ {(12<<2)|2,{107,99,0}}, +/* 59977 */ {(12<<2)|2,{107,99,0}}, +/* 59978 */ {(12<<2)|2,{107,99,0}}, +/* 59979 */ {(12<<2)|2,{107,99,0}}, +/* 59980 */ {(12<<2)|2,{107,99,0}}, +/* 59981 */ {(12<<2)|2,{107,99,0}}, +/* 59982 */ {(12<<2)|2,{107,99,0}}, +/* 59983 */ {(12<<2)|2,{107,99,0}}, +/* 59984 */ {(12<<2)|2,{107,101,0}}, +/* 59985 */ {(12<<2)|2,{107,101,0}}, +/* 59986 */ {(12<<2)|2,{107,101,0}}, +/* 59987 */ {(12<<2)|2,{107,101,0}}, +/* 59988 */ {(12<<2)|2,{107,101,0}}, +/* 59989 */ {(12<<2)|2,{107,101,0}}, +/* 59990 */ {(12<<2)|2,{107,101,0}}, +/* 59991 */ {(12<<2)|2,{107,101,0}}, +/* 59992 */ {(12<<2)|2,{107,101,0}}, +/* 59993 */ {(12<<2)|2,{107,101,0}}, +/* 59994 */ {(12<<2)|2,{107,101,0}}, +/* 59995 */ {(12<<2)|2,{107,101,0}}, +/* 59996 */ {(12<<2)|2,{107,101,0}}, +/* 59997 */ {(12<<2)|2,{107,101,0}}, +/* 59998 */ {(12<<2)|2,{107,101,0}}, +/* 59999 */ {(12<<2)|2,{107,101,0}}, +/* 60000 */ {(12<<2)|2,{107,105,0}}, +/* 60001 */ {(12<<2)|2,{107,105,0}}, +/* 60002 */ {(12<<2)|2,{107,105,0}}, +/* 60003 */ {(12<<2)|2,{107,105,0}}, +/* 60004 */ {(12<<2)|2,{107,105,0}}, +/* 60005 */ {(12<<2)|2,{107,105,0}}, +/* 60006 */ {(12<<2)|2,{107,105,0}}, +/* 60007 */ {(12<<2)|2,{107,105,0}}, +/* 60008 */ {(12<<2)|2,{107,105,0}}, +/* 60009 */ {(12<<2)|2,{107,105,0}}, +/* 60010 */ {(12<<2)|2,{107,105,0}}, +/* 60011 */ {(12<<2)|2,{107,105,0}}, +/* 60012 */ {(12<<2)|2,{107,105,0}}, +/* 60013 */ {(12<<2)|2,{107,105,0}}, +/* 60014 */ {(12<<2)|2,{107,105,0}}, +/* 60015 */ {(12<<2)|2,{107,105,0}}, +/* 60016 */ {(12<<2)|2,{107,111,0}}, +/* 60017 */ {(12<<2)|2,{107,111,0}}, +/* 60018 */ {(12<<2)|2,{107,111,0}}, +/* 60019 */ {(12<<2)|2,{107,111,0}}, +/* 60020 */ {(12<<2)|2,{107,111,0}}, +/* 60021 */ {(12<<2)|2,{107,111,0}}, +/* 60022 */ {(12<<2)|2,{107,111,0}}, +/* 60023 */ {(12<<2)|2,{107,111,0}}, +/* 60024 */ {(12<<2)|2,{107,111,0}}, +/* 60025 */ {(12<<2)|2,{107,111,0}}, +/* 60026 */ {(12<<2)|2,{107,111,0}}, +/* 60027 */ {(12<<2)|2,{107,111,0}}, +/* 60028 */ {(12<<2)|2,{107,111,0}}, +/* 60029 */ {(12<<2)|2,{107,111,0}}, +/* 60030 */ {(12<<2)|2,{107,111,0}}, +/* 60031 */ {(12<<2)|2,{107,111,0}}, +/* 60032 */ {(12<<2)|2,{107,115,0}}, +/* 60033 */ {(12<<2)|2,{107,115,0}}, +/* 60034 */ {(12<<2)|2,{107,115,0}}, +/* 60035 */ {(12<<2)|2,{107,115,0}}, +/* 60036 */ {(12<<2)|2,{107,115,0}}, +/* 60037 */ {(12<<2)|2,{107,115,0}}, +/* 60038 */ {(12<<2)|2,{107,115,0}}, +/* 60039 */ {(12<<2)|2,{107,115,0}}, +/* 60040 */ {(12<<2)|2,{107,115,0}}, +/* 60041 */ {(12<<2)|2,{107,115,0}}, +/* 60042 */ {(12<<2)|2,{107,115,0}}, +/* 60043 */ {(12<<2)|2,{107,115,0}}, +/* 60044 */ {(12<<2)|2,{107,115,0}}, +/* 60045 */ {(12<<2)|2,{107,115,0}}, +/* 60046 */ {(12<<2)|2,{107,115,0}}, +/* 60047 */ {(12<<2)|2,{107,115,0}}, +/* 60048 */ {(12<<2)|2,{107,116,0}}, +/* 60049 */ {(12<<2)|2,{107,116,0}}, +/* 60050 */ {(12<<2)|2,{107,116,0}}, +/* 60051 */ {(12<<2)|2,{107,116,0}}, +/* 60052 */ {(12<<2)|2,{107,116,0}}, +/* 60053 */ {(12<<2)|2,{107,116,0}}, +/* 60054 */ {(12<<2)|2,{107,116,0}}, +/* 60055 */ {(12<<2)|2,{107,116,0}}, +/* 60056 */ {(12<<2)|2,{107,116,0}}, +/* 60057 */ {(12<<2)|2,{107,116,0}}, +/* 60058 */ {(12<<2)|2,{107,116,0}}, +/* 60059 */ {(12<<2)|2,{107,116,0}}, +/* 60060 */ {(12<<2)|2,{107,116,0}}, +/* 60061 */ {(12<<2)|2,{107,116,0}}, +/* 60062 */ {(12<<2)|2,{107,116,0}}, +/* 60063 */ {(12<<2)|2,{107,116,0}}, +/* 60064 */ {(13<<2)|2,{107,32,0}}, +/* 60065 */ {(13<<2)|2,{107,32,0}}, +/* 60066 */ {(13<<2)|2,{107,32,0}}, +/* 60067 */ {(13<<2)|2,{107,32,0}}, +/* 60068 */ {(13<<2)|2,{107,32,0}}, +/* 60069 */ {(13<<2)|2,{107,32,0}}, +/* 60070 */ {(13<<2)|2,{107,32,0}}, +/* 60071 */ {(13<<2)|2,{107,32,0}}, +/* 60072 */ {(13<<2)|2,{107,37,0}}, +/* 60073 */ {(13<<2)|2,{107,37,0}}, +/* 60074 */ {(13<<2)|2,{107,37,0}}, +/* 60075 */ {(13<<2)|2,{107,37,0}}, +/* 60076 */ {(13<<2)|2,{107,37,0}}, +/* 60077 */ {(13<<2)|2,{107,37,0}}, +/* 60078 */ {(13<<2)|2,{107,37,0}}, +/* 60079 */ {(13<<2)|2,{107,37,0}}, +/* 60080 */ {(13<<2)|2,{107,45,0}}, +/* 60081 */ {(13<<2)|2,{107,45,0}}, +/* 60082 */ {(13<<2)|2,{107,45,0}}, +/* 60083 */ {(13<<2)|2,{107,45,0}}, +/* 60084 */ {(13<<2)|2,{107,45,0}}, +/* 60085 */ {(13<<2)|2,{107,45,0}}, +/* 60086 */ {(13<<2)|2,{107,45,0}}, +/* 60087 */ {(13<<2)|2,{107,45,0}}, +/* 60088 */ {(13<<2)|2,{107,46,0}}, +/* 60089 */ {(13<<2)|2,{107,46,0}}, +/* 60090 */ {(13<<2)|2,{107,46,0}}, +/* 60091 */ {(13<<2)|2,{107,46,0}}, +/* 60092 */ {(13<<2)|2,{107,46,0}}, +/* 60093 */ {(13<<2)|2,{107,46,0}}, +/* 60094 */ {(13<<2)|2,{107,46,0}}, +/* 60095 */ {(13<<2)|2,{107,46,0}}, +/* 60096 */ {(13<<2)|2,{107,47,0}}, +/* 60097 */ {(13<<2)|2,{107,47,0}}, +/* 60098 */ {(13<<2)|2,{107,47,0}}, +/* 60099 */ {(13<<2)|2,{107,47,0}}, +/* 60100 */ {(13<<2)|2,{107,47,0}}, +/* 60101 */ {(13<<2)|2,{107,47,0}}, +/* 60102 */ {(13<<2)|2,{107,47,0}}, +/* 60103 */ {(13<<2)|2,{107,47,0}}, +/* 60104 */ {(13<<2)|2,{107,51,0}}, +/* 60105 */ {(13<<2)|2,{107,51,0}}, +/* 60106 */ {(13<<2)|2,{107,51,0}}, +/* 60107 */ {(13<<2)|2,{107,51,0}}, +/* 60108 */ {(13<<2)|2,{107,51,0}}, +/* 60109 */ {(13<<2)|2,{107,51,0}}, +/* 60110 */ {(13<<2)|2,{107,51,0}}, +/* 60111 */ {(13<<2)|2,{107,51,0}}, +/* 60112 */ {(13<<2)|2,{107,52,0}}, +/* 60113 */ {(13<<2)|2,{107,52,0}}, +/* 60114 */ {(13<<2)|2,{107,52,0}}, +/* 60115 */ {(13<<2)|2,{107,52,0}}, +/* 60116 */ {(13<<2)|2,{107,52,0}}, +/* 60117 */ {(13<<2)|2,{107,52,0}}, +/* 60118 */ {(13<<2)|2,{107,52,0}}, +/* 60119 */ {(13<<2)|2,{107,52,0}}, +/* 60120 */ {(13<<2)|2,{107,53,0}}, +/* 60121 */ {(13<<2)|2,{107,53,0}}, +/* 60122 */ {(13<<2)|2,{107,53,0}}, +/* 60123 */ {(13<<2)|2,{107,53,0}}, +/* 60124 */ {(13<<2)|2,{107,53,0}}, +/* 60125 */ {(13<<2)|2,{107,53,0}}, +/* 60126 */ {(13<<2)|2,{107,53,0}}, +/* 60127 */ {(13<<2)|2,{107,53,0}}, +/* 60128 */ {(13<<2)|2,{107,54,0}}, +/* 60129 */ {(13<<2)|2,{107,54,0}}, +/* 60130 */ {(13<<2)|2,{107,54,0}}, +/* 60131 */ {(13<<2)|2,{107,54,0}}, +/* 60132 */ {(13<<2)|2,{107,54,0}}, +/* 60133 */ {(13<<2)|2,{107,54,0}}, +/* 60134 */ {(13<<2)|2,{107,54,0}}, +/* 60135 */ {(13<<2)|2,{107,54,0}}, +/* 60136 */ {(13<<2)|2,{107,55,0}}, +/* 60137 */ {(13<<2)|2,{107,55,0}}, +/* 60138 */ {(13<<2)|2,{107,55,0}}, +/* 60139 */ {(13<<2)|2,{107,55,0}}, +/* 60140 */ {(13<<2)|2,{107,55,0}}, +/* 60141 */ {(13<<2)|2,{107,55,0}}, +/* 60142 */ {(13<<2)|2,{107,55,0}}, +/* 60143 */ {(13<<2)|2,{107,55,0}}, +/* 60144 */ {(13<<2)|2,{107,56,0}}, +/* 60145 */ {(13<<2)|2,{107,56,0}}, +/* 60146 */ {(13<<2)|2,{107,56,0}}, +/* 60147 */ {(13<<2)|2,{107,56,0}}, +/* 60148 */ {(13<<2)|2,{107,56,0}}, +/* 60149 */ {(13<<2)|2,{107,56,0}}, +/* 60150 */ {(13<<2)|2,{107,56,0}}, +/* 60151 */ {(13<<2)|2,{107,56,0}}, +/* 60152 */ {(13<<2)|2,{107,57,0}}, +/* 60153 */ {(13<<2)|2,{107,57,0}}, +/* 60154 */ {(13<<2)|2,{107,57,0}}, +/* 60155 */ {(13<<2)|2,{107,57,0}}, +/* 60156 */ {(13<<2)|2,{107,57,0}}, +/* 60157 */ {(13<<2)|2,{107,57,0}}, +/* 60158 */ {(13<<2)|2,{107,57,0}}, +/* 60159 */ {(13<<2)|2,{107,57,0}}, +/* 60160 */ {(13<<2)|2,{107,61,0}}, +/* 60161 */ {(13<<2)|2,{107,61,0}}, +/* 60162 */ {(13<<2)|2,{107,61,0}}, +/* 60163 */ {(13<<2)|2,{107,61,0}}, +/* 60164 */ {(13<<2)|2,{107,61,0}}, +/* 60165 */ {(13<<2)|2,{107,61,0}}, +/* 60166 */ {(13<<2)|2,{107,61,0}}, +/* 60167 */ {(13<<2)|2,{107,61,0}}, +/* 60168 */ {(13<<2)|2,{107,65,0}}, +/* 60169 */ {(13<<2)|2,{107,65,0}}, +/* 60170 */ {(13<<2)|2,{107,65,0}}, +/* 60171 */ {(13<<2)|2,{107,65,0}}, +/* 60172 */ {(13<<2)|2,{107,65,0}}, +/* 60173 */ {(13<<2)|2,{107,65,0}}, +/* 60174 */ {(13<<2)|2,{107,65,0}}, +/* 60175 */ {(13<<2)|2,{107,65,0}}, +/* 60176 */ {(13<<2)|2,{107,95,0}}, +/* 60177 */ {(13<<2)|2,{107,95,0}}, +/* 60178 */ {(13<<2)|2,{107,95,0}}, +/* 60179 */ {(13<<2)|2,{107,95,0}}, +/* 60180 */ {(13<<2)|2,{107,95,0}}, +/* 60181 */ {(13<<2)|2,{107,95,0}}, +/* 60182 */ {(13<<2)|2,{107,95,0}}, +/* 60183 */ {(13<<2)|2,{107,95,0}}, +/* 60184 */ {(13<<2)|2,{107,98,0}}, +/* 60185 */ {(13<<2)|2,{107,98,0}}, +/* 60186 */ {(13<<2)|2,{107,98,0}}, +/* 60187 */ {(13<<2)|2,{107,98,0}}, +/* 60188 */ {(13<<2)|2,{107,98,0}}, +/* 60189 */ {(13<<2)|2,{107,98,0}}, +/* 60190 */ {(13<<2)|2,{107,98,0}}, +/* 60191 */ {(13<<2)|2,{107,98,0}}, +/* 60192 */ {(13<<2)|2,{107,100,0}}, +/* 60193 */ {(13<<2)|2,{107,100,0}}, +/* 60194 */ {(13<<2)|2,{107,100,0}}, +/* 60195 */ {(13<<2)|2,{107,100,0}}, +/* 60196 */ {(13<<2)|2,{107,100,0}}, +/* 60197 */ {(13<<2)|2,{107,100,0}}, +/* 60198 */ {(13<<2)|2,{107,100,0}}, +/* 60199 */ {(13<<2)|2,{107,100,0}}, +/* 60200 */ {(13<<2)|2,{107,102,0}}, +/* 60201 */ {(13<<2)|2,{107,102,0}}, +/* 60202 */ {(13<<2)|2,{107,102,0}}, +/* 60203 */ {(13<<2)|2,{107,102,0}}, +/* 60204 */ {(13<<2)|2,{107,102,0}}, +/* 60205 */ {(13<<2)|2,{107,102,0}}, +/* 60206 */ {(13<<2)|2,{107,102,0}}, +/* 60207 */ {(13<<2)|2,{107,102,0}}, +/* 60208 */ {(13<<2)|2,{107,103,0}}, +/* 60209 */ {(13<<2)|2,{107,103,0}}, +/* 60210 */ {(13<<2)|2,{107,103,0}}, +/* 60211 */ {(13<<2)|2,{107,103,0}}, +/* 60212 */ {(13<<2)|2,{107,103,0}}, +/* 60213 */ {(13<<2)|2,{107,103,0}}, +/* 60214 */ {(13<<2)|2,{107,103,0}}, +/* 60215 */ {(13<<2)|2,{107,103,0}}, +/* 60216 */ {(13<<2)|2,{107,104,0}}, +/* 60217 */ {(13<<2)|2,{107,104,0}}, +/* 60218 */ {(13<<2)|2,{107,104,0}}, +/* 60219 */ {(13<<2)|2,{107,104,0}}, +/* 60220 */ {(13<<2)|2,{107,104,0}}, +/* 60221 */ {(13<<2)|2,{107,104,0}}, +/* 60222 */ {(13<<2)|2,{107,104,0}}, +/* 60223 */ {(13<<2)|2,{107,104,0}}, +/* 60224 */ {(13<<2)|2,{107,108,0}}, +/* 60225 */ {(13<<2)|2,{107,108,0}}, +/* 60226 */ {(13<<2)|2,{107,108,0}}, +/* 60227 */ {(13<<2)|2,{107,108,0}}, +/* 60228 */ {(13<<2)|2,{107,108,0}}, +/* 60229 */ {(13<<2)|2,{107,108,0}}, +/* 60230 */ {(13<<2)|2,{107,108,0}}, +/* 60231 */ {(13<<2)|2,{107,108,0}}, +/* 60232 */ {(13<<2)|2,{107,109,0}}, +/* 60233 */ {(13<<2)|2,{107,109,0}}, +/* 60234 */ {(13<<2)|2,{107,109,0}}, +/* 60235 */ {(13<<2)|2,{107,109,0}}, +/* 60236 */ {(13<<2)|2,{107,109,0}}, +/* 60237 */ {(13<<2)|2,{107,109,0}}, +/* 60238 */ {(13<<2)|2,{107,109,0}}, +/* 60239 */ {(13<<2)|2,{107,109,0}}, +/* 60240 */ {(13<<2)|2,{107,110,0}}, +/* 60241 */ {(13<<2)|2,{107,110,0}}, +/* 60242 */ {(13<<2)|2,{107,110,0}}, +/* 60243 */ {(13<<2)|2,{107,110,0}}, +/* 60244 */ {(13<<2)|2,{107,110,0}}, +/* 60245 */ {(13<<2)|2,{107,110,0}}, +/* 60246 */ {(13<<2)|2,{107,110,0}}, +/* 60247 */ {(13<<2)|2,{107,110,0}}, +/* 60248 */ {(13<<2)|2,{107,112,0}}, +/* 60249 */ {(13<<2)|2,{107,112,0}}, +/* 60250 */ {(13<<2)|2,{107,112,0}}, +/* 60251 */ {(13<<2)|2,{107,112,0}}, +/* 60252 */ {(13<<2)|2,{107,112,0}}, +/* 60253 */ {(13<<2)|2,{107,112,0}}, +/* 60254 */ {(13<<2)|2,{107,112,0}}, +/* 60255 */ {(13<<2)|2,{107,112,0}}, +/* 60256 */ {(13<<2)|2,{107,114,0}}, +/* 60257 */ {(13<<2)|2,{107,114,0}}, +/* 60258 */ {(13<<2)|2,{107,114,0}}, +/* 60259 */ {(13<<2)|2,{107,114,0}}, +/* 60260 */ {(13<<2)|2,{107,114,0}}, +/* 60261 */ {(13<<2)|2,{107,114,0}}, +/* 60262 */ {(13<<2)|2,{107,114,0}}, +/* 60263 */ {(13<<2)|2,{107,114,0}}, +/* 60264 */ {(13<<2)|2,{107,117,0}}, +/* 60265 */ {(13<<2)|2,{107,117,0}}, +/* 60266 */ {(13<<2)|2,{107,117,0}}, +/* 60267 */ {(13<<2)|2,{107,117,0}}, +/* 60268 */ {(13<<2)|2,{107,117,0}}, +/* 60269 */ {(13<<2)|2,{107,117,0}}, +/* 60270 */ {(13<<2)|2,{107,117,0}}, +/* 60271 */ {(13<<2)|2,{107,117,0}}, +/* 60272 */ {(14<<2)|2,{107,58,0}}, +/* 60273 */ {(14<<2)|2,{107,58,0}}, +/* 60274 */ {(14<<2)|2,{107,58,0}}, +/* 60275 */ {(14<<2)|2,{107,58,0}}, +/* 60276 */ {(14<<2)|2,{107,66,0}}, +/* 60277 */ {(14<<2)|2,{107,66,0}}, +/* 60278 */ {(14<<2)|2,{107,66,0}}, +/* 60279 */ {(14<<2)|2,{107,66,0}}, +/* 60280 */ {(14<<2)|2,{107,67,0}}, +/* 60281 */ {(14<<2)|2,{107,67,0}}, +/* 60282 */ {(14<<2)|2,{107,67,0}}, +/* 60283 */ {(14<<2)|2,{107,67,0}}, +/* 60284 */ {(14<<2)|2,{107,68,0}}, +/* 60285 */ {(14<<2)|2,{107,68,0}}, +/* 60286 */ {(14<<2)|2,{107,68,0}}, +/* 60287 */ {(14<<2)|2,{107,68,0}}, +/* 60288 */ {(14<<2)|2,{107,69,0}}, +/* 60289 */ {(14<<2)|2,{107,69,0}}, +/* 60290 */ {(14<<2)|2,{107,69,0}}, +/* 60291 */ {(14<<2)|2,{107,69,0}}, +/* 60292 */ {(14<<2)|2,{107,70,0}}, +/* 60293 */ {(14<<2)|2,{107,70,0}}, +/* 60294 */ {(14<<2)|2,{107,70,0}}, +/* 60295 */ {(14<<2)|2,{107,70,0}}, +/* 60296 */ {(14<<2)|2,{107,71,0}}, +/* 60297 */ {(14<<2)|2,{107,71,0}}, +/* 60298 */ {(14<<2)|2,{107,71,0}}, +/* 60299 */ {(14<<2)|2,{107,71,0}}, +/* 60300 */ {(14<<2)|2,{107,72,0}}, +/* 60301 */ {(14<<2)|2,{107,72,0}}, +/* 60302 */ {(14<<2)|2,{107,72,0}}, +/* 60303 */ {(14<<2)|2,{107,72,0}}, +/* 60304 */ {(14<<2)|2,{107,73,0}}, +/* 60305 */ {(14<<2)|2,{107,73,0}}, +/* 60306 */ {(14<<2)|2,{107,73,0}}, +/* 60307 */ {(14<<2)|2,{107,73,0}}, +/* 60308 */ {(14<<2)|2,{107,74,0}}, +/* 60309 */ {(14<<2)|2,{107,74,0}}, +/* 60310 */ {(14<<2)|2,{107,74,0}}, +/* 60311 */ {(14<<2)|2,{107,74,0}}, +/* 60312 */ {(14<<2)|2,{107,75,0}}, +/* 60313 */ {(14<<2)|2,{107,75,0}}, +/* 60314 */ {(14<<2)|2,{107,75,0}}, +/* 60315 */ {(14<<2)|2,{107,75,0}}, +/* 60316 */ {(14<<2)|2,{107,76,0}}, +/* 60317 */ {(14<<2)|2,{107,76,0}}, +/* 60318 */ {(14<<2)|2,{107,76,0}}, +/* 60319 */ {(14<<2)|2,{107,76,0}}, +/* 60320 */ {(14<<2)|2,{107,77,0}}, +/* 60321 */ {(14<<2)|2,{107,77,0}}, +/* 60322 */ {(14<<2)|2,{107,77,0}}, +/* 60323 */ {(14<<2)|2,{107,77,0}}, +/* 60324 */ {(14<<2)|2,{107,78,0}}, +/* 60325 */ {(14<<2)|2,{107,78,0}}, +/* 60326 */ {(14<<2)|2,{107,78,0}}, +/* 60327 */ {(14<<2)|2,{107,78,0}}, +/* 60328 */ {(14<<2)|2,{107,79,0}}, +/* 60329 */ {(14<<2)|2,{107,79,0}}, +/* 60330 */ {(14<<2)|2,{107,79,0}}, +/* 60331 */ {(14<<2)|2,{107,79,0}}, +/* 60332 */ {(14<<2)|2,{107,80,0}}, +/* 60333 */ {(14<<2)|2,{107,80,0}}, +/* 60334 */ {(14<<2)|2,{107,80,0}}, +/* 60335 */ {(14<<2)|2,{107,80,0}}, +/* 60336 */ {(14<<2)|2,{107,81,0}}, +/* 60337 */ {(14<<2)|2,{107,81,0}}, +/* 60338 */ {(14<<2)|2,{107,81,0}}, +/* 60339 */ {(14<<2)|2,{107,81,0}}, +/* 60340 */ {(14<<2)|2,{107,82,0}}, +/* 60341 */ {(14<<2)|2,{107,82,0}}, +/* 60342 */ {(14<<2)|2,{107,82,0}}, +/* 60343 */ {(14<<2)|2,{107,82,0}}, +/* 60344 */ {(14<<2)|2,{107,83,0}}, +/* 60345 */ {(14<<2)|2,{107,83,0}}, +/* 60346 */ {(14<<2)|2,{107,83,0}}, +/* 60347 */ {(14<<2)|2,{107,83,0}}, +/* 60348 */ {(14<<2)|2,{107,84,0}}, +/* 60349 */ {(14<<2)|2,{107,84,0}}, +/* 60350 */ {(14<<2)|2,{107,84,0}}, +/* 60351 */ {(14<<2)|2,{107,84,0}}, +/* 60352 */ {(14<<2)|2,{107,85,0}}, +/* 60353 */ {(14<<2)|2,{107,85,0}}, +/* 60354 */ {(14<<2)|2,{107,85,0}}, +/* 60355 */ {(14<<2)|2,{107,85,0}}, +/* 60356 */ {(14<<2)|2,{107,86,0}}, +/* 60357 */ {(14<<2)|2,{107,86,0}}, +/* 60358 */ {(14<<2)|2,{107,86,0}}, +/* 60359 */ {(14<<2)|2,{107,86,0}}, +/* 60360 */ {(14<<2)|2,{107,87,0}}, +/* 60361 */ {(14<<2)|2,{107,87,0}}, +/* 60362 */ {(14<<2)|2,{107,87,0}}, +/* 60363 */ {(14<<2)|2,{107,87,0}}, +/* 60364 */ {(14<<2)|2,{107,89,0}}, +/* 60365 */ {(14<<2)|2,{107,89,0}}, +/* 60366 */ {(14<<2)|2,{107,89,0}}, +/* 60367 */ {(14<<2)|2,{107,89,0}}, +/* 60368 */ {(14<<2)|2,{107,106,0}}, +/* 60369 */ {(14<<2)|2,{107,106,0}}, +/* 60370 */ {(14<<2)|2,{107,106,0}}, +/* 60371 */ {(14<<2)|2,{107,106,0}}, +/* 60372 */ {(14<<2)|2,{107,107,0}}, +/* 60373 */ {(14<<2)|2,{107,107,0}}, +/* 60374 */ {(14<<2)|2,{107,107,0}}, +/* 60375 */ {(14<<2)|2,{107,107,0}}, +/* 60376 */ {(14<<2)|2,{107,113,0}}, +/* 60377 */ {(14<<2)|2,{107,113,0}}, +/* 60378 */ {(14<<2)|2,{107,113,0}}, +/* 60379 */ {(14<<2)|2,{107,113,0}}, +/* 60380 */ {(14<<2)|2,{107,118,0}}, +/* 60381 */ {(14<<2)|2,{107,118,0}}, +/* 60382 */ {(14<<2)|2,{107,118,0}}, +/* 60383 */ {(14<<2)|2,{107,118,0}}, +/* 60384 */ {(14<<2)|2,{107,119,0}}, +/* 60385 */ {(14<<2)|2,{107,119,0}}, +/* 60386 */ {(14<<2)|2,{107,119,0}}, +/* 60387 */ {(14<<2)|2,{107,119,0}}, +/* 60388 */ {(14<<2)|2,{107,120,0}}, +/* 60389 */ {(14<<2)|2,{107,120,0}}, +/* 60390 */ {(14<<2)|2,{107,120,0}}, +/* 60391 */ {(14<<2)|2,{107,120,0}}, +/* 60392 */ {(14<<2)|2,{107,121,0}}, +/* 60393 */ {(14<<2)|2,{107,121,0}}, +/* 60394 */ {(14<<2)|2,{107,121,0}}, +/* 60395 */ {(14<<2)|2,{107,121,0}}, +/* 60396 */ {(14<<2)|2,{107,122,0}}, +/* 60397 */ {(14<<2)|2,{107,122,0}}, +/* 60398 */ {(14<<2)|2,{107,122,0}}, +/* 60399 */ {(14<<2)|2,{107,122,0}}, +/* 60400 */ {(15<<2)|2,{107,38,0}}, +/* 60401 */ {(15<<2)|2,{107,38,0}}, +/* 60402 */ {(15<<2)|2,{107,42,0}}, +/* 60403 */ {(15<<2)|2,{107,42,0}}, +/* 60404 */ {(15<<2)|2,{107,44,0}}, +/* 60405 */ {(15<<2)|2,{107,44,0}}, +/* 60406 */ {(15<<2)|2,{107,59,0}}, +/* 60407 */ {(15<<2)|2,{107,59,0}}, +/* 60408 */ {(15<<2)|2,{107,88,0}}, +/* 60409 */ {(15<<2)|2,{107,88,0}}, +/* 60410 */ {(15<<2)|2,{107,90,0}}, +/* 60411 */ {(15<<2)|2,{107,90,0}}, +/* 60412 */ {(7<<2)|1,{107,0,0}}, +/* 60413 */ {(7<<2)|1,{107,0,0}}, +/* 60414 */ {(7<<2)|1,{107,0,0}}, +/* 60415 */ {(7<<2)|1,{107,0,0}}, +/* 60416 */ {(12<<2)|2,{113,48,0}}, +/* 60417 */ {(12<<2)|2,{113,48,0}}, +/* 60418 */ {(12<<2)|2,{113,48,0}}, +/* 60419 */ {(12<<2)|2,{113,48,0}}, +/* 60420 */ {(12<<2)|2,{113,48,0}}, +/* 60421 */ {(12<<2)|2,{113,48,0}}, +/* 60422 */ {(12<<2)|2,{113,48,0}}, +/* 60423 */ {(12<<2)|2,{113,48,0}}, +/* 60424 */ {(12<<2)|2,{113,48,0}}, +/* 60425 */ {(12<<2)|2,{113,48,0}}, +/* 60426 */ {(12<<2)|2,{113,48,0}}, +/* 60427 */ {(12<<2)|2,{113,48,0}}, +/* 60428 */ {(12<<2)|2,{113,48,0}}, +/* 60429 */ {(12<<2)|2,{113,48,0}}, +/* 60430 */ {(12<<2)|2,{113,48,0}}, +/* 60431 */ {(12<<2)|2,{113,48,0}}, +/* 60432 */ {(12<<2)|2,{113,49,0}}, +/* 60433 */ {(12<<2)|2,{113,49,0}}, +/* 60434 */ {(12<<2)|2,{113,49,0}}, +/* 60435 */ {(12<<2)|2,{113,49,0}}, +/* 60436 */ {(12<<2)|2,{113,49,0}}, +/* 60437 */ {(12<<2)|2,{113,49,0}}, +/* 60438 */ {(12<<2)|2,{113,49,0}}, +/* 60439 */ {(12<<2)|2,{113,49,0}}, +/* 60440 */ {(12<<2)|2,{113,49,0}}, +/* 60441 */ {(12<<2)|2,{113,49,0}}, +/* 60442 */ {(12<<2)|2,{113,49,0}}, +/* 60443 */ {(12<<2)|2,{113,49,0}}, +/* 60444 */ {(12<<2)|2,{113,49,0}}, +/* 60445 */ {(12<<2)|2,{113,49,0}}, +/* 60446 */ {(12<<2)|2,{113,49,0}}, +/* 60447 */ {(12<<2)|2,{113,49,0}}, +/* 60448 */ {(12<<2)|2,{113,50,0}}, +/* 60449 */ {(12<<2)|2,{113,50,0}}, +/* 60450 */ {(12<<2)|2,{113,50,0}}, +/* 60451 */ {(12<<2)|2,{113,50,0}}, +/* 60452 */ {(12<<2)|2,{113,50,0}}, +/* 60453 */ {(12<<2)|2,{113,50,0}}, +/* 60454 */ {(12<<2)|2,{113,50,0}}, +/* 60455 */ {(12<<2)|2,{113,50,0}}, +/* 60456 */ {(12<<2)|2,{113,50,0}}, +/* 60457 */ {(12<<2)|2,{113,50,0}}, +/* 60458 */ {(12<<2)|2,{113,50,0}}, +/* 60459 */ {(12<<2)|2,{113,50,0}}, +/* 60460 */ {(12<<2)|2,{113,50,0}}, +/* 60461 */ {(12<<2)|2,{113,50,0}}, +/* 60462 */ {(12<<2)|2,{113,50,0}}, +/* 60463 */ {(12<<2)|2,{113,50,0}}, +/* 60464 */ {(12<<2)|2,{113,97,0}}, +/* 60465 */ {(12<<2)|2,{113,97,0}}, +/* 60466 */ {(12<<2)|2,{113,97,0}}, +/* 60467 */ {(12<<2)|2,{113,97,0}}, +/* 60468 */ {(12<<2)|2,{113,97,0}}, +/* 60469 */ {(12<<2)|2,{113,97,0}}, +/* 60470 */ {(12<<2)|2,{113,97,0}}, +/* 60471 */ {(12<<2)|2,{113,97,0}}, +/* 60472 */ {(12<<2)|2,{113,97,0}}, +/* 60473 */ {(12<<2)|2,{113,97,0}}, +/* 60474 */ {(12<<2)|2,{113,97,0}}, +/* 60475 */ {(12<<2)|2,{113,97,0}}, +/* 60476 */ {(12<<2)|2,{113,97,0}}, +/* 60477 */ {(12<<2)|2,{113,97,0}}, +/* 60478 */ {(12<<2)|2,{113,97,0}}, +/* 60479 */ {(12<<2)|2,{113,97,0}}, +/* 60480 */ {(12<<2)|2,{113,99,0}}, +/* 60481 */ {(12<<2)|2,{113,99,0}}, +/* 60482 */ {(12<<2)|2,{113,99,0}}, +/* 60483 */ {(12<<2)|2,{113,99,0}}, +/* 60484 */ {(12<<2)|2,{113,99,0}}, +/* 60485 */ {(12<<2)|2,{113,99,0}}, +/* 60486 */ {(12<<2)|2,{113,99,0}}, +/* 60487 */ {(12<<2)|2,{113,99,0}}, +/* 60488 */ {(12<<2)|2,{113,99,0}}, +/* 60489 */ {(12<<2)|2,{113,99,0}}, +/* 60490 */ {(12<<2)|2,{113,99,0}}, +/* 60491 */ {(12<<2)|2,{113,99,0}}, +/* 60492 */ {(12<<2)|2,{113,99,0}}, +/* 60493 */ {(12<<2)|2,{113,99,0}}, +/* 60494 */ {(12<<2)|2,{113,99,0}}, +/* 60495 */ {(12<<2)|2,{113,99,0}}, +/* 60496 */ {(12<<2)|2,{113,101,0}}, +/* 60497 */ {(12<<2)|2,{113,101,0}}, +/* 60498 */ {(12<<2)|2,{113,101,0}}, +/* 60499 */ {(12<<2)|2,{113,101,0}}, +/* 60500 */ {(12<<2)|2,{113,101,0}}, +/* 60501 */ {(12<<2)|2,{113,101,0}}, +/* 60502 */ {(12<<2)|2,{113,101,0}}, +/* 60503 */ {(12<<2)|2,{113,101,0}}, +/* 60504 */ {(12<<2)|2,{113,101,0}}, +/* 60505 */ {(12<<2)|2,{113,101,0}}, +/* 60506 */ {(12<<2)|2,{113,101,0}}, +/* 60507 */ {(12<<2)|2,{113,101,0}}, +/* 60508 */ {(12<<2)|2,{113,101,0}}, +/* 60509 */ {(12<<2)|2,{113,101,0}}, +/* 60510 */ {(12<<2)|2,{113,101,0}}, +/* 60511 */ {(12<<2)|2,{113,101,0}}, +/* 60512 */ {(12<<2)|2,{113,105,0}}, +/* 60513 */ {(12<<2)|2,{113,105,0}}, +/* 60514 */ {(12<<2)|2,{113,105,0}}, +/* 60515 */ {(12<<2)|2,{113,105,0}}, +/* 60516 */ {(12<<2)|2,{113,105,0}}, +/* 60517 */ {(12<<2)|2,{113,105,0}}, +/* 60518 */ {(12<<2)|2,{113,105,0}}, +/* 60519 */ {(12<<2)|2,{113,105,0}}, +/* 60520 */ {(12<<2)|2,{113,105,0}}, +/* 60521 */ {(12<<2)|2,{113,105,0}}, +/* 60522 */ {(12<<2)|2,{113,105,0}}, +/* 60523 */ {(12<<2)|2,{113,105,0}}, +/* 60524 */ {(12<<2)|2,{113,105,0}}, +/* 60525 */ {(12<<2)|2,{113,105,0}}, +/* 60526 */ {(12<<2)|2,{113,105,0}}, +/* 60527 */ {(12<<2)|2,{113,105,0}}, +/* 60528 */ {(12<<2)|2,{113,111,0}}, +/* 60529 */ {(12<<2)|2,{113,111,0}}, +/* 60530 */ {(12<<2)|2,{113,111,0}}, +/* 60531 */ {(12<<2)|2,{113,111,0}}, +/* 60532 */ {(12<<2)|2,{113,111,0}}, +/* 60533 */ {(12<<2)|2,{113,111,0}}, +/* 60534 */ {(12<<2)|2,{113,111,0}}, +/* 60535 */ {(12<<2)|2,{113,111,0}}, +/* 60536 */ {(12<<2)|2,{113,111,0}}, +/* 60537 */ {(12<<2)|2,{113,111,0}}, +/* 60538 */ {(12<<2)|2,{113,111,0}}, +/* 60539 */ {(12<<2)|2,{113,111,0}}, +/* 60540 */ {(12<<2)|2,{113,111,0}}, +/* 60541 */ {(12<<2)|2,{113,111,0}}, +/* 60542 */ {(12<<2)|2,{113,111,0}}, +/* 60543 */ {(12<<2)|2,{113,111,0}}, +/* 60544 */ {(12<<2)|2,{113,115,0}}, +/* 60545 */ {(12<<2)|2,{113,115,0}}, +/* 60546 */ {(12<<2)|2,{113,115,0}}, +/* 60547 */ {(12<<2)|2,{113,115,0}}, +/* 60548 */ {(12<<2)|2,{113,115,0}}, +/* 60549 */ {(12<<2)|2,{113,115,0}}, +/* 60550 */ {(12<<2)|2,{113,115,0}}, +/* 60551 */ {(12<<2)|2,{113,115,0}}, +/* 60552 */ {(12<<2)|2,{113,115,0}}, +/* 60553 */ {(12<<2)|2,{113,115,0}}, +/* 60554 */ {(12<<2)|2,{113,115,0}}, +/* 60555 */ {(12<<2)|2,{113,115,0}}, +/* 60556 */ {(12<<2)|2,{113,115,0}}, +/* 60557 */ {(12<<2)|2,{113,115,0}}, +/* 60558 */ {(12<<2)|2,{113,115,0}}, +/* 60559 */ {(12<<2)|2,{113,115,0}}, +/* 60560 */ {(12<<2)|2,{113,116,0}}, +/* 60561 */ {(12<<2)|2,{113,116,0}}, +/* 60562 */ {(12<<2)|2,{113,116,0}}, +/* 60563 */ {(12<<2)|2,{113,116,0}}, +/* 60564 */ {(12<<2)|2,{113,116,0}}, +/* 60565 */ {(12<<2)|2,{113,116,0}}, +/* 60566 */ {(12<<2)|2,{113,116,0}}, +/* 60567 */ {(12<<2)|2,{113,116,0}}, +/* 60568 */ {(12<<2)|2,{113,116,0}}, +/* 60569 */ {(12<<2)|2,{113,116,0}}, +/* 60570 */ {(12<<2)|2,{113,116,0}}, +/* 60571 */ {(12<<2)|2,{113,116,0}}, +/* 60572 */ {(12<<2)|2,{113,116,0}}, +/* 60573 */ {(12<<2)|2,{113,116,0}}, +/* 60574 */ {(12<<2)|2,{113,116,0}}, +/* 60575 */ {(12<<2)|2,{113,116,0}}, +/* 60576 */ {(13<<2)|2,{113,32,0}}, +/* 60577 */ {(13<<2)|2,{113,32,0}}, +/* 60578 */ {(13<<2)|2,{113,32,0}}, +/* 60579 */ {(13<<2)|2,{113,32,0}}, +/* 60580 */ {(13<<2)|2,{113,32,0}}, +/* 60581 */ {(13<<2)|2,{113,32,0}}, +/* 60582 */ {(13<<2)|2,{113,32,0}}, +/* 60583 */ {(13<<2)|2,{113,32,0}}, +/* 60584 */ {(13<<2)|2,{113,37,0}}, +/* 60585 */ {(13<<2)|2,{113,37,0}}, +/* 60586 */ {(13<<2)|2,{113,37,0}}, +/* 60587 */ {(13<<2)|2,{113,37,0}}, +/* 60588 */ {(13<<2)|2,{113,37,0}}, +/* 60589 */ {(13<<2)|2,{113,37,0}}, +/* 60590 */ {(13<<2)|2,{113,37,0}}, +/* 60591 */ {(13<<2)|2,{113,37,0}}, +/* 60592 */ {(13<<2)|2,{113,45,0}}, +/* 60593 */ {(13<<2)|2,{113,45,0}}, +/* 60594 */ {(13<<2)|2,{113,45,0}}, +/* 60595 */ {(13<<2)|2,{113,45,0}}, +/* 60596 */ {(13<<2)|2,{113,45,0}}, +/* 60597 */ {(13<<2)|2,{113,45,0}}, +/* 60598 */ {(13<<2)|2,{113,45,0}}, +/* 60599 */ {(13<<2)|2,{113,45,0}}, +/* 60600 */ {(13<<2)|2,{113,46,0}}, +/* 60601 */ {(13<<2)|2,{113,46,0}}, +/* 60602 */ {(13<<2)|2,{113,46,0}}, +/* 60603 */ {(13<<2)|2,{113,46,0}}, +/* 60604 */ {(13<<2)|2,{113,46,0}}, +/* 60605 */ {(13<<2)|2,{113,46,0}}, +/* 60606 */ {(13<<2)|2,{113,46,0}}, +/* 60607 */ {(13<<2)|2,{113,46,0}}, +/* 60608 */ {(13<<2)|2,{113,47,0}}, +/* 60609 */ {(13<<2)|2,{113,47,0}}, +/* 60610 */ {(13<<2)|2,{113,47,0}}, +/* 60611 */ {(13<<2)|2,{113,47,0}}, +/* 60612 */ {(13<<2)|2,{113,47,0}}, +/* 60613 */ {(13<<2)|2,{113,47,0}}, +/* 60614 */ {(13<<2)|2,{113,47,0}}, +/* 60615 */ {(13<<2)|2,{113,47,0}}, +/* 60616 */ {(13<<2)|2,{113,51,0}}, +/* 60617 */ {(13<<2)|2,{113,51,0}}, +/* 60618 */ {(13<<2)|2,{113,51,0}}, +/* 60619 */ {(13<<2)|2,{113,51,0}}, +/* 60620 */ {(13<<2)|2,{113,51,0}}, +/* 60621 */ {(13<<2)|2,{113,51,0}}, +/* 60622 */ {(13<<2)|2,{113,51,0}}, +/* 60623 */ {(13<<2)|2,{113,51,0}}, +/* 60624 */ {(13<<2)|2,{113,52,0}}, +/* 60625 */ {(13<<2)|2,{113,52,0}}, +/* 60626 */ {(13<<2)|2,{113,52,0}}, +/* 60627 */ {(13<<2)|2,{113,52,0}}, +/* 60628 */ {(13<<2)|2,{113,52,0}}, +/* 60629 */ {(13<<2)|2,{113,52,0}}, +/* 60630 */ {(13<<2)|2,{113,52,0}}, +/* 60631 */ {(13<<2)|2,{113,52,0}}, +/* 60632 */ {(13<<2)|2,{113,53,0}}, +/* 60633 */ {(13<<2)|2,{113,53,0}}, +/* 60634 */ {(13<<2)|2,{113,53,0}}, +/* 60635 */ {(13<<2)|2,{113,53,0}}, +/* 60636 */ {(13<<2)|2,{113,53,0}}, +/* 60637 */ {(13<<2)|2,{113,53,0}}, +/* 60638 */ {(13<<2)|2,{113,53,0}}, +/* 60639 */ {(13<<2)|2,{113,53,0}}, +/* 60640 */ {(13<<2)|2,{113,54,0}}, +/* 60641 */ {(13<<2)|2,{113,54,0}}, +/* 60642 */ {(13<<2)|2,{113,54,0}}, +/* 60643 */ {(13<<2)|2,{113,54,0}}, +/* 60644 */ {(13<<2)|2,{113,54,0}}, +/* 60645 */ {(13<<2)|2,{113,54,0}}, +/* 60646 */ {(13<<2)|2,{113,54,0}}, +/* 60647 */ {(13<<2)|2,{113,54,0}}, +/* 60648 */ {(13<<2)|2,{113,55,0}}, +/* 60649 */ {(13<<2)|2,{113,55,0}}, +/* 60650 */ {(13<<2)|2,{113,55,0}}, +/* 60651 */ {(13<<2)|2,{113,55,0}}, +/* 60652 */ {(13<<2)|2,{113,55,0}}, +/* 60653 */ {(13<<2)|2,{113,55,0}}, +/* 60654 */ {(13<<2)|2,{113,55,0}}, +/* 60655 */ {(13<<2)|2,{113,55,0}}, +/* 60656 */ {(13<<2)|2,{113,56,0}}, +/* 60657 */ {(13<<2)|2,{113,56,0}}, +/* 60658 */ {(13<<2)|2,{113,56,0}}, +/* 60659 */ {(13<<2)|2,{113,56,0}}, +/* 60660 */ {(13<<2)|2,{113,56,0}}, +/* 60661 */ {(13<<2)|2,{113,56,0}}, +/* 60662 */ {(13<<2)|2,{113,56,0}}, +/* 60663 */ {(13<<2)|2,{113,56,0}}, +/* 60664 */ {(13<<2)|2,{113,57,0}}, +/* 60665 */ {(13<<2)|2,{113,57,0}}, +/* 60666 */ {(13<<2)|2,{113,57,0}}, +/* 60667 */ {(13<<2)|2,{113,57,0}}, +/* 60668 */ {(13<<2)|2,{113,57,0}}, +/* 60669 */ {(13<<2)|2,{113,57,0}}, +/* 60670 */ {(13<<2)|2,{113,57,0}}, +/* 60671 */ {(13<<2)|2,{113,57,0}}, +/* 60672 */ {(13<<2)|2,{113,61,0}}, +/* 60673 */ {(13<<2)|2,{113,61,0}}, +/* 60674 */ {(13<<2)|2,{113,61,0}}, +/* 60675 */ {(13<<2)|2,{113,61,0}}, +/* 60676 */ {(13<<2)|2,{113,61,0}}, +/* 60677 */ {(13<<2)|2,{113,61,0}}, +/* 60678 */ {(13<<2)|2,{113,61,0}}, +/* 60679 */ {(13<<2)|2,{113,61,0}}, +/* 60680 */ {(13<<2)|2,{113,65,0}}, +/* 60681 */ {(13<<2)|2,{113,65,0}}, +/* 60682 */ {(13<<2)|2,{113,65,0}}, +/* 60683 */ {(13<<2)|2,{113,65,0}}, +/* 60684 */ {(13<<2)|2,{113,65,0}}, +/* 60685 */ {(13<<2)|2,{113,65,0}}, +/* 60686 */ {(13<<2)|2,{113,65,0}}, +/* 60687 */ {(13<<2)|2,{113,65,0}}, +/* 60688 */ {(13<<2)|2,{113,95,0}}, +/* 60689 */ {(13<<2)|2,{113,95,0}}, +/* 60690 */ {(13<<2)|2,{113,95,0}}, +/* 60691 */ {(13<<2)|2,{113,95,0}}, +/* 60692 */ {(13<<2)|2,{113,95,0}}, +/* 60693 */ {(13<<2)|2,{113,95,0}}, +/* 60694 */ {(13<<2)|2,{113,95,0}}, +/* 60695 */ {(13<<2)|2,{113,95,0}}, +/* 60696 */ {(13<<2)|2,{113,98,0}}, +/* 60697 */ {(13<<2)|2,{113,98,0}}, +/* 60698 */ {(13<<2)|2,{113,98,0}}, +/* 60699 */ {(13<<2)|2,{113,98,0}}, +/* 60700 */ {(13<<2)|2,{113,98,0}}, +/* 60701 */ {(13<<2)|2,{113,98,0}}, +/* 60702 */ {(13<<2)|2,{113,98,0}}, +/* 60703 */ {(13<<2)|2,{113,98,0}}, +/* 60704 */ {(13<<2)|2,{113,100,0}}, +/* 60705 */ {(13<<2)|2,{113,100,0}}, +/* 60706 */ {(13<<2)|2,{113,100,0}}, +/* 60707 */ {(13<<2)|2,{113,100,0}}, +/* 60708 */ {(13<<2)|2,{113,100,0}}, +/* 60709 */ {(13<<2)|2,{113,100,0}}, +/* 60710 */ {(13<<2)|2,{113,100,0}}, +/* 60711 */ {(13<<2)|2,{113,100,0}}, +/* 60712 */ {(13<<2)|2,{113,102,0}}, +/* 60713 */ {(13<<2)|2,{113,102,0}}, +/* 60714 */ {(13<<2)|2,{113,102,0}}, +/* 60715 */ {(13<<2)|2,{113,102,0}}, +/* 60716 */ {(13<<2)|2,{113,102,0}}, +/* 60717 */ {(13<<2)|2,{113,102,0}}, +/* 60718 */ {(13<<2)|2,{113,102,0}}, +/* 60719 */ {(13<<2)|2,{113,102,0}}, +/* 60720 */ {(13<<2)|2,{113,103,0}}, +/* 60721 */ {(13<<2)|2,{113,103,0}}, +/* 60722 */ {(13<<2)|2,{113,103,0}}, +/* 60723 */ {(13<<2)|2,{113,103,0}}, +/* 60724 */ {(13<<2)|2,{113,103,0}}, +/* 60725 */ {(13<<2)|2,{113,103,0}}, +/* 60726 */ {(13<<2)|2,{113,103,0}}, +/* 60727 */ {(13<<2)|2,{113,103,0}}, +/* 60728 */ {(13<<2)|2,{113,104,0}}, +/* 60729 */ {(13<<2)|2,{113,104,0}}, +/* 60730 */ {(13<<2)|2,{113,104,0}}, +/* 60731 */ {(13<<2)|2,{113,104,0}}, +/* 60732 */ {(13<<2)|2,{113,104,0}}, +/* 60733 */ {(13<<2)|2,{113,104,0}}, +/* 60734 */ {(13<<2)|2,{113,104,0}}, +/* 60735 */ {(13<<2)|2,{113,104,0}}, +/* 60736 */ {(13<<2)|2,{113,108,0}}, +/* 60737 */ {(13<<2)|2,{113,108,0}}, +/* 60738 */ {(13<<2)|2,{113,108,0}}, +/* 60739 */ {(13<<2)|2,{113,108,0}}, +/* 60740 */ {(13<<2)|2,{113,108,0}}, +/* 60741 */ {(13<<2)|2,{113,108,0}}, +/* 60742 */ {(13<<2)|2,{113,108,0}}, +/* 60743 */ {(13<<2)|2,{113,108,0}}, +/* 60744 */ {(13<<2)|2,{113,109,0}}, +/* 60745 */ {(13<<2)|2,{113,109,0}}, +/* 60746 */ {(13<<2)|2,{113,109,0}}, +/* 60747 */ {(13<<2)|2,{113,109,0}}, +/* 60748 */ {(13<<2)|2,{113,109,0}}, +/* 60749 */ {(13<<2)|2,{113,109,0}}, +/* 60750 */ {(13<<2)|2,{113,109,0}}, +/* 60751 */ {(13<<2)|2,{113,109,0}}, +/* 60752 */ {(13<<2)|2,{113,110,0}}, +/* 60753 */ {(13<<2)|2,{113,110,0}}, +/* 60754 */ {(13<<2)|2,{113,110,0}}, +/* 60755 */ {(13<<2)|2,{113,110,0}}, +/* 60756 */ {(13<<2)|2,{113,110,0}}, +/* 60757 */ {(13<<2)|2,{113,110,0}}, +/* 60758 */ {(13<<2)|2,{113,110,0}}, +/* 60759 */ {(13<<2)|2,{113,110,0}}, +/* 60760 */ {(13<<2)|2,{113,112,0}}, +/* 60761 */ {(13<<2)|2,{113,112,0}}, +/* 60762 */ {(13<<2)|2,{113,112,0}}, +/* 60763 */ {(13<<2)|2,{113,112,0}}, +/* 60764 */ {(13<<2)|2,{113,112,0}}, +/* 60765 */ {(13<<2)|2,{113,112,0}}, +/* 60766 */ {(13<<2)|2,{113,112,0}}, +/* 60767 */ {(13<<2)|2,{113,112,0}}, +/* 60768 */ {(13<<2)|2,{113,114,0}}, +/* 60769 */ {(13<<2)|2,{113,114,0}}, +/* 60770 */ {(13<<2)|2,{113,114,0}}, +/* 60771 */ {(13<<2)|2,{113,114,0}}, +/* 60772 */ {(13<<2)|2,{113,114,0}}, +/* 60773 */ {(13<<2)|2,{113,114,0}}, +/* 60774 */ {(13<<2)|2,{113,114,0}}, +/* 60775 */ {(13<<2)|2,{113,114,0}}, +/* 60776 */ {(13<<2)|2,{113,117,0}}, +/* 60777 */ {(13<<2)|2,{113,117,0}}, +/* 60778 */ {(13<<2)|2,{113,117,0}}, +/* 60779 */ {(13<<2)|2,{113,117,0}}, +/* 60780 */ {(13<<2)|2,{113,117,0}}, +/* 60781 */ {(13<<2)|2,{113,117,0}}, +/* 60782 */ {(13<<2)|2,{113,117,0}}, +/* 60783 */ {(13<<2)|2,{113,117,0}}, +/* 60784 */ {(14<<2)|2,{113,58,0}}, +/* 60785 */ {(14<<2)|2,{113,58,0}}, +/* 60786 */ {(14<<2)|2,{113,58,0}}, +/* 60787 */ {(14<<2)|2,{113,58,0}}, +/* 60788 */ {(14<<2)|2,{113,66,0}}, +/* 60789 */ {(14<<2)|2,{113,66,0}}, +/* 60790 */ {(14<<2)|2,{113,66,0}}, +/* 60791 */ {(14<<2)|2,{113,66,0}}, +/* 60792 */ {(14<<2)|2,{113,67,0}}, +/* 60793 */ {(14<<2)|2,{113,67,0}}, +/* 60794 */ {(14<<2)|2,{113,67,0}}, +/* 60795 */ {(14<<2)|2,{113,67,0}}, +/* 60796 */ {(14<<2)|2,{113,68,0}}, +/* 60797 */ {(14<<2)|2,{113,68,0}}, +/* 60798 */ {(14<<2)|2,{113,68,0}}, +/* 60799 */ {(14<<2)|2,{113,68,0}}, +/* 60800 */ {(14<<2)|2,{113,69,0}}, +/* 60801 */ {(14<<2)|2,{113,69,0}}, +/* 60802 */ {(14<<2)|2,{113,69,0}}, +/* 60803 */ {(14<<2)|2,{113,69,0}}, +/* 60804 */ {(14<<2)|2,{113,70,0}}, +/* 60805 */ {(14<<2)|2,{113,70,0}}, +/* 60806 */ {(14<<2)|2,{113,70,0}}, +/* 60807 */ {(14<<2)|2,{113,70,0}}, +/* 60808 */ {(14<<2)|2,{113,71,0}}, +/* 60809 */ {(14<<2)|2,{113,71,0}}, +/* 60810 */ {(14<<2)|2,{113,71,0}}, +/* 60811 */ {(14<<2)|2,{113,71,0}}, +/* 60812 */ {(14<<2)|2,{113,72,0}}, +/* 60813 */ {(14<<2)|2,{113,72,0}}, +/* 60814 */ {(14<<2)|2,{113,72,0}}, +/* 60815 */ {(14<<2)|2,{113,72,0}}, +/* 60816 */ {(14<<2)|2,{113,73,0}}, +/* 60817 */ {(14<<2)|2,{113,73,0}}, +/* 60818 */ {(14<<2)|2,{113,73,0}}, +/* 60819 */ {(14<<2)|2,{113,73,0}}, +/* 60820 */ {(14<<2)|2,{113,74,0}}, +/* 60821 */ {(14<<2)|2,{113,74,0}}, +/* 60822 */ {(14<<2)|2,{113,74,0}}, +/* 60823 */ {(14<<2)|2,{113,74,0}}, +/* 60824 */ {(14<<2)|2,{113,75,0}}, +/* 60825 */ {(14<<2)|2,{113,75,0}}, +/* 60826 */ {(14<<2)|2,{113,75,0}}, +/* 60827 */ {(14<<2)|2,{113,75,0}}, +/* 60828 */ {(14<<2)|2,{113,76,0}}, +/* 60829 */ {(14<<2)|2,{113,76,0}}, +/* 60830 */ {(14<<2)|2,{113,76,0}}, +/* 60831 */ {(14<<2)|2,{113,76,0}}, +/* 60832 */ {(14<<2)|2,{113,77,0}}, +/* 60833 */ {(14<<2)|2,{113,77,0}}, +/* 60834 */ {(14<<2)|2,{113,77,0}}, +/* 60835 */ {(14<<2)|2,{113,77,0}}, +/* 60836 */ {(14<<2)|2,{113,78,0}}, +/* 60837 */ {(14<<2)|2,{113,78,0}}, +/* 60838 */ {(14<<2)|2,{113,78,0}}, +/* 60839 */ {(14<<2)|2,{113,78,0}}, +/* 60840 */ {(14<<2)|2,{113,79,0}}, +/* 60841 */ {(14<<2)|2,{113,79,0}}, +/* 60842 */ {(14<<2)|2,{113,79,0}}, +/* 60843 */ {(14<<2)|2,{113,79,0}}, +/* 60844 */ {(14<<2)|2,{113,80,0}}, +/* 60845 */ {(14<<2)|2,{113,80,0}}, +/* 60846 */ {(14<<2)|2,{113,80,0}}, +/* 60847 */ {(14<<2)|2,{113,80,0}}, +/* 60848 */ {(14<<2)|2,{113,81,0}}, +/* 60849 */ {(14<<2)|2,{113,81,0}}, +/* 60850 */ {(14<<2)|2,{113,81,0}}, +/* 60851 */ {(14<<2)|2,{113,81,0}}, +/* 60852 */ {(14<<2)|2,{113,82,0}}, +/* 60853 */ {(14<<2)|2,{113,82,0}}, +/* 60854 */ {(14<<2)|2,{113,82,0}}, +/* 60855 */ {(14<<2)|2,{113,82,0}}, +/* 60856 */ {(14<<2)|2,{113,83,0}}, +/* 60857 */ {(14<<2)|2,{113,83,0}}, +/* 60858 */ {(14<<2)|2,{113,83,0}}, +/* 60859 */ {(14<<2)|2,{113,83,0}}, +/* 60860 */ {(14<<2)|2,{113,84,0}}, +/* 60861 */ {(14<<2)|2,{113,84,0}}, +/* 60862 */ {(14<<2)|2,{113,84,0}}, +/* 60863 */ {(14<<2)|2,{113,84,0}}, +/* 60864 */ {(14<<2)|2,{113,85,0}}, +/* 60865 */ {(14<<2)|2,{113,85,0}}, +/* 60866 */ {(14<<2)|2,{113,85,0}}, +/* 60867 */ {(14<<2)|2,{113,85,0}}, +/* 60868 */ {(14<<2)|2,{113,86,0}}, +/* 60869 */ {(14<<2)|2,{113,86,0}}, +/* 60870 */ {(14<<2)|2,{113,86,0}}, +/* 60871 */ {(14<<2)|2,{113,86,0}}, +/* 60872 */ {(14<<2)|2,{113,87,0}}, +/* 60873 */ {(14<<2)|2,{113,87,0}}, +/* 60874 */ {(14<<2)|2,{113,87,0}}, +/* 60875 */ {(14<<2)|2,{113,87,0}}, +/* 60876 */ {(14<<2)|2,{113,89,0}}, +/* 60877 */ {(14<<2)|2,{113,89,0}}, +/* 60878 */ {(14<<2)|2,{113,89,0}}, +/* 60879 */ {(14<<2)|2,{113,89,0}}, +/* 60880 */ {(14<<2)|2,{113,106,0}}, +/* 60881 */ {(14<<2)|2,{113,106,0}}, +/* 60882 */ {(14<<2)|2,{113,106,0}}, +/* 60883 */ {(14<<2)|2,{113,106,0}}, +/* 60884 */ {(14<<2)|2,{113,107,0}}, +/* 60885 */ {(14<<2)|2,{113,107,0}}, +/* 60886 */ {(14<<2)|2,{113,107,0}}, +/* 60887 */ {(14<<2)|2,{113,107,0}}, +/* 60888 */ {(14<<2)|2,{113,113,0}}, +/* 60889 */ {(14<<2)|2,{113,113,0}}, +/* 60890 */ {(14<<2)|2,{113,113,0}}, +/* 60891 */ {(14<<2)|2,{113,113,0}}, +/* 60892 */ {(14<<2)|2,{113,118,0}}, +/* 60893 */ {(14<<2)|2,{113,118,0}}, +/* 60894 */ {(14<<2)|2,{113,118,0}}, +/* 60895 */ {(14<<2)|2,{113,118,0}}, +/* 60896 */ {(14<<2)|2,{113,119,0}}, +/* 60897 */ {(14<<2)|2,{113,119,0}}, +/* 60898 */ {(14<<2)|2,{113,119,0}}, +/* 60899 */ {(14<<2)|2,{113,119,0}}, +/* 60900 */ {(14<<2)|2,{113,120,0}}, +/* 60901 */ {(14<<2)|2,{113,120,0}}, +/* 60902 */ {(14<<2)|2,{113,120,0}}, +/* 60903 */ {(14<<2)|2,{113,120,0}}, +/* 60904 */ {(14<<2)|2,{113,121,0}}, +/* 60905 */ {(14<<2)|2,{113,121,0}}, +/* 60906 */ {(14<<2)|2,{113,121,0}}, +/* 60907 */ {(14<<2)|2,{113,121,0}}, +/* 60908 */ {(14<<2)|2,{113,122,0}}, +/* 60909 */ {(14<<2)|2,{113,122,0}}, +/* 60910 */ {(14<<2)|2,{113,122,0}}, +/* 60911 */ {(14<<2)|2,{113,122,0}}, +/* 60912 */ {(15<<2)|2,{113,38,0}}, +/* 60913 */ {(15<<2)|2,{113,38,0}}, +/* 60914 */ {(15<<2)|2,{113,42,0}}, +/* 60915 */ {(15<<2)|2,{113,42,0}}, +/* 60916 */ {(15<<2)|2,{113,44,0}}, +/* 60917 */ {(15<<2)|2,{113,44,0}}, +/* 60918 */ {(15<<2)|2,{113,59,0}}, +/* 60919 */ {(15<<2)|2,{113,59,0}}, +/* 60920 */ {(15<<2)|2,{113,88,0}}, +/* 60921 */ {(15<<2)|2,{113,88,0}}, +/* 60922 */ {(15<<2)|2,{113,90,0}}, +/* 60923 */ {(15<<2)|2,{113,90,0}}, +/* 60924 */ {(7<<2)|1,{113,0,0}}, +/* 60925 */ {(7<<2)|1,{113,0,0}}, +/* 60926 */ {(7<<2)|1,{113,0,0}}, +/* 60927 */ {(7<<2)|1,{113,0,0}}, +/* 60928 */ {(12<<2)|2,{118,48,0}}, +/* 60929 */ {(12<<2)|2,{118,48,0}}, +/* 60930 */ {(12<<2)|2,{118,48,0}}, +/* 60931 */ {(12<<2)|2,{118,48,0}}, +/* 60932 */ {(12<<2)|2,{118,48,0}}, +/* 60933 */ {(12<<2)|2,{118,48,0}}, +/* 60934 */ {(12<<2)|2,{118,48,0}}, +/* 60935 */ {(12<<2)|2,{118,48,0}}, +/* 60936 */ {(12<<2)|2,{118,48,0}}, +/* 60937 */ {(12<<2)|2,{118,48,0}}, +/* 60938 */ {(12<<2)|2,{118,48,0}}, +/* 60939 */ {(12<<2)|2,{118,48,0}}, +/* 60940 */ {(12<<2)|2,{118,48,0}}, +/* 60941 */ {(12<<2)|2,{118,48,0}}, +/* 60942 */ {(12<<2)|2,{118,48,0}}, +/* 60943 */ {(12<<2)|2,{118,48,0}}, +/* 60944 */ {(12<<2)|2,{118,49,0}}, +/* 60945 */ {(12<<2)|2,{118,49,0}}, +/* 60946 */ {(12<<2)|2,{118,49,0}}, +/* 60947 */ {(12<<2)|2,{118,49,0}}, +/* 60948 */ {(12<<2)|2,{118,49,0}}, +/* 60949 */ {(12<<2)|2,{118,49,0}}, +/* 60950 */ {(12<<2)|2,{118,49,0}}, +/* 60951 */ {(12<<2)|2,{118,49,0}}, +/* 60952 */ {(12<<2)|2,{118,49,0}}, +/* 60953 */ {(12<<2)|2,{118,49,0}}, +/* 60954 */ {(12<<2)|2,{118,49,0}}, +/* 60955 */ {(12<<2)|2,{118,49,0}}, +/* 60956 */ {(12<<2)|2,{118,49,0}}, +/* 60957 */ {(12<<2)|2,{118,49,0}}, +/* 60958 */ {(12<<2)|2,{118,49,0}}, +/* 60959 */ {(12<<2)|2,{118,49,0}}, +/* 60960 */ {(12<<2)|2,{118,50,0}}, +/* 60961 */ {(12<<2)|2,{118,50,0}}, +/* 60962 */ {(12<<2)|2,{118,50,0}}, +/* 60963 */ {(12<<2)|2,{118,50,0}}, +/* 60964 */ {(12<<2)|2,{118,50,0}}, +/* 60965 */ {(12<<2)|2,{118,50,0}}, +/* 60966 */ {(12<<2)|2,{118,50,0}}, +/* 60967 */ {(12<<2)|2,{118,50,0}}, +/* 60968 */ {(12<<2)|2,{118,50,0}}, +/* 60969 */ {(12<<2)|2,{118,50,0}}, +/* 60970 */ {(12<<2)|2,{118,50,0}}, +/* 60971 */ {(12<<2)|2,{118,50,0}}, +/* 60972 */ {(12<<2)|2,{118,50,0}}, +/* 60973 */ {(12<<2)|2,{118,50,0}}, +/* 60974 */ {(12<<2)|2,{118,50,0}}, +/* 60975 */ {(12<<2)|2,{118,50,0}}, +/* 60976 */ {(12<<2)|2,{118,97,0}}, +/* 60977 */ {(12<<2)|2,{118,97,0}}, +/* 60978 */ {(12<<2)|2,{118,97,0}}, +/* 60979 */ {(12<<2)|2,{118,97,0}}, +/* 60980 */ {(12<<2)|2,{118,97,0}}, +/* 60981 */ {(12<<2)|2,{118,97,0}}, +/* 60982 */ {(12<<2)|2,{118,97,0}}, +/* 60983 */ {(12<<2)|2,{118,97,0}}, +/* 60984 */ {(12<<2)|2,{118,97,0}}, +/* 60985 */ {(12<<2)|2,{118,97,0}}, +/* 60986 */ {(12<<2)|2,{118,97,0}}, +/* 60987 */ {(12<<2)|2,{118,97,0}}, +/* 60988 */ {(12<<2)|2,{118,97,0}}, +/* 60989 */ {(12<<2)|2,{118,97,0}}, +/* 60990 */ {(12<<2)|2,{118,97,0}}, +/* 60991 */ {(12<<2)|2,{118,97,0}}, +/* 60992 */ {(12<<2)|2,{118,99,0}}, +/* 60993 */ {(12<<2)|2,{118,99,0}}, +/* 60994 */ {(12<<2)|2,{118,99,0}}, +/* 60995 */ {(12<<2)|2,{118,99,0}}, +/* 60996 */ {(12<<2)|2,{118,99,0}}, +/* 60997 */ {(12<<2)|2,{118,99,0}}, +/* 60998 */ {(12<<2)|2,{118,99,0}}, +/* 60999 */ {(12<<2)|2,{118,99,0}}, +/* 61000 */ {(12<<2)|2,{118,99,0}}, +/* 61001 */ {(12<<2)|2,{118,99,0}}, +/* 61002 */ {(12<<2)|2,{118,99,0}}, +/* 61003 */ {(12<<2)|2,{118,99,0}}, +/* 61004 */ {(12<<2)|2,{118,99,0}}, +/* 61005 */ {(12<<2)|2,{118,99,0}}, +/* 61006 */ {(12<<2)|2,{118,99,0}}, +/* 61007 */ {(12<<2)|2,{118,99,0}}, +/* 61008 */ {(12<<2)|2,{118,101,0}}, +/* 61009 */ {(12<<2)|2,{118,101,0}}, +/* 61010 */ {(12<<2)|2,{118,101,0}}, +/* 61011 */ {(12<<2)|2,{118,101,0}}, +/* 61012 */ {(12<<2)|2,{118,101,0}}, +/* 61013 */ {(12<<2)|2,{118,101,0}}, +/* 61014 */ {(12<<2)|2,{118,101,0}}, +/* 61015 */ {(12<<2)|2,{118,101,0}}, +/* 61016 */ {(12<<2)|2,{118,101,0}}, +/* 61017 */ {(12<<2)|2,{118,101,0}}, +/* 61018 */ {(12<<2)|2,{118,101,0}}, +/* 61019 */ {(12<<2)|2,{118,101,0}}, +/* 61020 */ {(12<<2)|2,{118,101,0}}, +/* 61021 */ {(12<<2)|2,{118,101,0}}, +/* 61022 */ {(12<<2)|2,{118,101,0}}, +/* 61023 */ {(12<<2)|2,{118,101,0}}, +/* 61024 */ {(12<<2)|2,{118,105,0}}, +/* 61025 */ {(12<<2)|2,{118,105,0}}, +/* 61026 */ {(12<<2)|2,{118,105,0}}, +/* 61027 */ {(12<<2)|2,{118,105,0}}, +/* 61028 */ {(12<<2)|2,{118,105,0}}, +/* 61029 */ {(12<<2)|2,{118,105,0}}, +/* 61030 */ {(12<<2)|2,{118,105,0}}, +/* 61031 */ {(12<<2)|2,{118,105,0}}, +/* 61032 */ {(12<<2)|2,{118,105,0}}, +/* 61033 */ {(12<<2)|2,{118,105,0}}, +/* 61034 */ {(12<<2)|2,{118,105,0}}, +/* 61035 */ {(12<<2)|2,{118,105,0}}, +/* 61036 */ {(12<<2)|2,{118,105,0}}, +/* 61037 */ {(12<<2)|2,{118,105,0}}, +/* 61038 */ {(12<<2)|2,{118,105,0}}, +/* 61039 */ {(12<<2)|2,{118,105,0}}, +/* 61040 */ {(12<<2)|2,{118,111,0}}, +/* 61041 */ {(12<<2)|2,{118,111,0}}, +/* 61042 */ {(12<<2)|2,{118,111,0}}, +/* 61043 */ {(12<<2)|2,{118,111,0}}, +/* 61044 */ {(12<<2)|2,{118,111,0}}, +/* 61045 */ {(12<<2)|2,{118,111,0}}, +/* 61046 */ {(12<<2)|2,{118,111,0}}, +/* 61047 */ {(12<<2)|2,{118,111,0}}, +/* 61048 */ {(12<<2)|2,{118,111,0}}, +/* 61049 */ {(12<<2)|2,{118,111,0}}, +/* 61050 */ {(12<<2)|2,{118,111,0}}, +/* 61051 */ {(12<<2)|2,{118,111,0}}, +/* 61052 */ {(12<<2)|2,{118,111,0}}, +/* 61053 */ {(12<<2)|2,{118,111,0}}, +/* 61054 */ {(12<<2)|2,{118,111,0}}, +/* 61055 */ {(12<<2)|2,{118,111,0}}, +/* 61056 */ {(12<<2)|2,{118,115,0}}, +/* 61057 */ {(12<<2)|2,{118,115,0}}, +/* 61058 */ {(12<<2)|2,{118,115,0}}, +/* 61059 */ {(12<<2)|2,{118,115,0}}, +/* 61060 */ {(12<<2)|2,{118,115,0}}, +/* 61061 */ {(12<<2)|2,{118,115,0}}, +/* 61062 */ {(12<<2)|2,{118,115,0}}, +/* 61063 */ {(12<<2)|2,{118,115,0}}, +/* 61064 */ {(12<<2)|2,{118,115,0}}, +/* 61065 */ {(12<<2)|2,{118,115,0}}, +/* 61066 */ {(12<<2)|2,{118,115,0}}, +/* 61067 */ {(12<<2)|2,{118,115,0}}, +/* 61068 */ {(12<<2)|2,{118,115,0}}, +/* 61069 */ {(12<<2)|2,{118,115,0}}, +/* 61070 */ {(12<<2)|2,{118,115,0}}, +/* 61071 */ {(12<<2)|2,{118,115,0}}, +/* 61072 */ {(12<<2)|2,{118,116,0}}, +/* 61073 */ {(12<<2)|2,{118,116,0}}, +/* 61074 */ {(12<<2)|2,{118,116,0}}, +/* 61075 */ {(12<<2)|2,{118,116,0}}, +/* 61076 */ {(12<<2)|2,{118,116,0}}, +/* 61077 */ {(12<<2)|2,{118,116,0}}, +/* 61078 */ {(12<<2)|2,{118,116,0}}, +/* 61079 */ {(12<<2)|2,{118,116,0}}, +/* 61080 */ {(12<<2)|2,{118,116,0}}, +/* 61081 */ {(12<<2)|2,{118,116,0}}, +/* 61082 */ {(12<<2)|2,{118,116,0}}, +/* 61083 */ {(12<<2)|2,{118,116,0}}, +/* 61084 */ {(12<<2)|2,{118,116,0}}, +/* 61085 */ {(12<<2)|2,{118,116,0}}, +/* 61086 */ {(12<<2)|2,{118,116,0}}, +/* 61087 */ {(12<<2)|2,{118,116,0}}, +/* 61088 */ {(13<<2)|2,{118,32,0}}, +/* 61089 */ {(13<<2)|2,{118,32,0}}, +/* 61090 */ {(13<<2)|2,{118,32,0}}, +/* 61091 */ {(13<<2)|2,{118,32,0}}, +/* 61092 */ {(13<<2)|2,{118,32,0}}, +/* 61093 */ {(13<<2)|2,{118,32,0}}, +/* 61094 */ {(13<<2)|2,{118,32,0}}, +/* 61095 */ {(13<<2)|2,{118,32,0}}, +/* 61096 */ {(13<<2)|2,{118,37,0}}, +/* 61097 */ {(13<<2)|2,{118,37,0}}, +/* 61098 */ {(13<<2)|2,{118,37,0}}, +/* 61099 */ {(13<<2)|2,{118,37,0}}, +/* 61100 */ {(13<<2)|2,{118,37,0}}, +/* 61101 */ {(13<<2)|2,{118,37,0}}, +/* 61102 */ {(13<<2)|2,{118,37,0}}, +/* 61103 */ {(13<<2)|2,{118,37,0}}, +/* 61104 */ {(13<<2)|2,{118,45,0}}, +/* 61105 */ {(13<<2)|2,{118,45,0}}, +/* 61106 */ {(13<<2)|2,{118,45,0}}, +/* 61107 */ {(13<<2)|2,{118,45,0}}, +/* 61108 */ {(13<<2)|2,{118,45,0}}, +/* 61109 */ {(13<<2)|2,{118,45,0}}, +/* 61110 */ {(13<<2)|2,{118,45,0}}, +/* 61111 */ {(13<<2)|2,{118,45,0}}, +/* 61112 */ {(13<<2)|2,{118,46,0}}, +/* 61113 */ {(13<<2)|2,{118,46,0}}, +/* 61114 */ {(13<<2)|2,{118,46,0}}, +/* 61115 */ {(13<<2)|2,{118,46,0}}, +/* 61116 */ {(13<<2)|2,{118,46,0}}, +/* 61117 */ {(13<<2)|2,{118,46,0}}, +/* 61118 */ {(13<<2)|2,{118,46,0}}, +/* 61119 */ {(13<<2)|2,{118,46,0}}, +/* 61120 */ {(13<<2)|2,{118,47,0}}, +/* 61121 */ {(13<<2)|2,{118,47,0}}, +/* 61122 */ {(13<<2)|2,{118,47,0}}, +/* 61123 */ {(13<<2)|2,{118,47,0}}, +/* 61124 */ {(13<<2)|2,{118,47,0}}, +/* 61125 */ {(13<<2)|2,{118,47,0}}, +/* 61126 */ {(13<<2)|2,{118,47,0}}, +/* 61127 */ {(13<<2)|2,{118,47,0}}, +/* 61128 */ {(13<<2)|2,{118,51,0}}, +/* 61129 */ {(13<<2)|2,{118,51,0}}, +/* 61130 */ {(13<<2)|2,{118,51,0}}, +/* 61131 */ {(13<<2)|2,{118,51,0}}, +/* 61132 */ {(13<<2)|2,{118,51,0}}, +/* 61133 */ {(13<<2)|2,{118,51,0}}, +/* 61134 */ {(13<<2)|2,{118,51,0}}, +/* 61135 */ {(13<<2)|2,{118,51,0}}, +/* 61136 */ {(13<<2)|2,{118,52,0}}, +/* 61137 */ {(13<<2)|2,{118,52,0}}, +/* 61138 */ {(13<<2)|2,{118,52,0}}, +/* 61139 */ {(13<<2)|2,{118,52,0}}, +/* 61140 */ {(13<<2)|2,{118,52,0}}, +/* 61141 */ {(13<<2)|2,{118,52,0}}, +/* 61142 */ {(13<<2)|2,{118,52,0}}, +/* 61143 */ {(13<<2)|2,{118,52,0}}, +/* 61144 */ {(13<<2)|2,{118,53,0}}, +/* 61145 */ {(13<<2)|2,{118,53,0}}, +/* 61146 */ {(13<<2)|2,{118,53,0}}, +/* 61147 */ {(13<<2)|2,{118,53,0}}, +/* 61148 */ {(13<<2)|2,{118,53,0}}, +/* 61149 */ {(13<<2)|2,{118,53,0}}, +/* 61150 */ {(13<<2)|2,{118,53,0}}, +/* 61151 */ {(13<<2)|2,{118,53,0}}, +/* 61152 */ {(13<<2)|2,{118,54,0}}, +/* 61153 */ {(13<<2)|2,{118,54,0}}, +/* 61154 */ {(13<<2)|2,{118,54,0}}, +/* 61155 */ {(13<<2)|2,{118,54,0}}, +/* 61156 */ {(13<<2)|2,{118,54,0}}, +/* 61157 */ {(13<<2)|2,{118,54,0}}, +/* 61158 */ {(13<<2)|2,{118,54,0}}, +/* 61159 */ {(13<<2)|2,{118,54,0}}, +/* 61160 */ {(13<<2)|2,{118,55,0}}, +/* 61161 */ {(13<<2)|2,{118,55,0}}, +/* 61162 */ {(13<<2)|2,{118,55,0}}, +/* 61163 */ {(13<<2)|2,{118,55,0}}, +/* 61164 */ {(13<<2)|2,{118,55,0}}, +/* 61165 */ {(13<<2)|2,{118,55,0}}, +/* 61166 */ {(13<<2)|2,{118,55,0}}, +/* 61167 */ {(13<<2)|2,{118,55,0}}, +/* 61168 */ {(13<<2)|2,{118,56,0}}, +/* 61169 */ {(13<<2)|2,{118,56,0}}, +/* 61170 */ {(13<<2)|2,{118,56,0}}, +/* 61171 */ {(13<<2)|2,{118,56,0}}, +/* 61172 */ {(13<<2)|2,{118,56,0}}, +/* 61173 */ {(13<<2)|2,{118,56,0}}, +/* 61174 */ {(13<<2)|2,{118,56,0}}, +/* 61175 */ {(13<<2)|2,{118,56,0}}, +/* 61176 */ {(13<<2)|2,{118,57,0}}, +/* 61177 */ {(13<<2)|2,{118,57,0}}, +/* 61178 */ {(13<<2)|2,{118,57,0}}, +/* 61179 */ {(13<<2)|2,{118,57,0}}, +/* 61180 */ {(13<<2)|2,{118,57,0}}, +/* 61181 */ {(13<<2)|2,{118,57,0}}, +/* 61182 */ {(13<<2)|2,{118,57,0}}, +/* 61183 */ {(13<<2)|2,{118,57,0}}, +/* 61184 */ {(13<<2)|2,{118,61,0}}, +/* 61185 */ {(13<<2)|2,{118,61,0}}, +/* 61186 */ {(13<<2)|2,{118,61,0}}, +/* 61187 */ {(13<<2)|2,{118,61,0}}, +/* 61188 */ {(13<<2)|2,{118,61,0}}, +/* 61189 */ {(13<<2)|2,{118,61,0}}, +/* 61190 */ {(13<<2)|2,{118,61,0}}, +/* 61191 */ {(13<<2)|2,{118,61,0}}, +/* 61192 */ {(13<<2)|2,{118,65,0}}, +/* 61193 */ {(13<<2)|2,{118,65,0}}, +/* 61194 */ {(13<<2)|2,{118,65,0}}, +/* 61195 */ {(13<<2)|2,{118,65,0}}, +/* 61196 */ {(13<<2)|2,{118,65,0}}, +/* 61197 */ {(13<<2)|2,{118,65,0}}, +/* 61198 */ {(13<<2)|2,{118,65,0}}, +/* 61199 */ {(13<<2)|2,{118,65,0}}, +/* 61200 */ {(13<<2)|2,{118,95,0}}, +/* 61201 */ {(13<<2)|2,{118,95,0}}, +/* 61202 */ {(13<<2)|2,{118,95,0}}, +/* 61203 */ {(13<<2)|2,{118,95,0}}, +/* 61204 */ {(13<<2)|2,{118,95,0}}, +/* 61205 */ {(13<<2)|2,{118,95,0}}, +/* 61206 */ {(13<<2)|2,{118,95,0}}, +/* 61207 */ {(13<<2)|2,{118,95,0}}, +/* 61208 */ {(13<<2)|2,{118,98,0}}, +/* 61209 */ {(13<<2)|2,{118,98,0}}, +/* 61210 */ {(13<<2)|2,{118,98,0}}, +/* 61211 */ {(13<<2)|2,{118,98,0}}, +/* 61212 */ {(13<<2)|2,{118,98,0}}, +/* 61213 */ {(13<<2)|2,{118,98,0}}, +/* 61214 */ {(13<<2)|2,{118,98,0}}, +/* 61215 */ {(13<<2)|2,{118,98,0}}, +/* 61216 */ {(13<<2)|2,{118,100,0}}, +/* 61217 */ {(13<<2)|2,{118,100,0}}, +/* 61218 */ {(13<<2)|2,{118,100,0}}, +/* 61219 */ {(13<<2)|2,{118,100,0}}, +/* 61220 */ {(13<<2)|2,{118,100,0}}, +/* 61221 */ {(13<<2)|2,{118,100,0}}, +/* 61222 */ {(13<<2)|2,{118,100,0}}, +/* 61223 */ {(13<<2)|2,{118,100,0}}, +/* 61224 */ {(13<<2)|2,{118,102,0}}, +/* 61225 */ {(13<<2)|2,{118,102,0}}, +/* 61226 */ {(13<<2)|2,{118,102,0}}, +/* 61227 */ {(13<<2)|2,{118,102,0}}, +/* 61228 */ {(13<<2)|2,{118,102,0}}, +/* 61229 */ {(13<<2)|2,{118,102,0}}, +/* 61230 */ {(13<<2)|2,{118,102,0}}, +/* 61231 */ {(13<<2)|2,{118,102,0}}, +/* 61232 */ {(13<<2)|2,{118,103,0}}, +/* 61233 */ {(13<<2)|2,{118,103,0}}, +/* 61234 */ {(13<<2)|2,{118,103,0}}, +/* 61235 */ {(13<<2)|2,{118,103,0}}, +/* 61236 */ {(13<<2)|2,{118,103,0}}, +/* 61237 */ {(13<<2)|2,{118,103,0}}, +/* 61238 */ {(13<<2)|2,{118,103,0}}, +/* 61239 */ {(13<<2)|2,{118,103,0}}, +/* 61240 */ {(13<<2)|2,{118,104,0}}, +/* 61241 */ {(13<<2)|2,{118,104,0}}, +/* 61242 */ {(13<<2)|2,{118,104,0}}, +/* 61243 */ {(13<<2)|2,{118,104,0}}, +/* 61244 */ {(13<<2)|2,{118,104,0}}, +/* 61245 */ {(13<<2)|2,{118,104,0}}, +/* 61246 */ {(13<<2)|2,{118,104,0}}, +/* 61247 */ {(13<<2)|2,{118,104,0}}, +/* 61248 */ {(13<<2)|2,{118,108,0}}, +/* 61249 */ {(13<<2)|2,{118,108,0}}, +/* 61250 */ {(13<<2)|2,{118,108,0}}, +/* 61251 */ {(13<<2)|2,{118,108,0}}, +/* 61252 */ {(13<<2)|2,{118,108,0}}, +/* 61253 */ {(13<<2)|2,{118,108,0}}, +/* 61254 */ {(13<<2)|2,{118,108,0}}, +/* 61255 */ {(13<<2)|2,{118,108,0}}, +/* 61256 */ {(13<<2)|2,{118,109,0}}, +/* 61257 */ {(13<<2)|2,{118,109,0}}, +/* 61258 */ {(13<<2)|2,{118,109,0}}, +/* 61259 */ {(13<<2)|2,{118,109,0}}, +/* 61260 */ {(13<<2)|2,{118,109,0}}, +/* 61261 */ {(13<<2)|2,{118,109,0}}, +/* 61262 */ {(13<<2)|2,{118,109,0}}, +/* 61263 */ {(13<<2)|2,{118,109,0}}, +/* 61264 */ {(13<<2)|2,{118,110,0}}, +/* 61265 */ {(13<<2)|2,{118,110,0}}, +/* 61266 */ {(13<<2)|2,{118,110,0}}, +/* 61267 */ {(13<<2)|2,{118,110,0}}, +/* 61268 */ {(13<<2)|2,{118,110,0}}, +/* 61269 */ {(13<<2)|2,{118,110,0}}, +/* 61270 */ {(13<<2)|2,{118,110,0}}, +/* 61271 */ {(13<<2)|2,{118,110,0}}, +/* 61272 */ {(13<<2)|2,{118,112,0}}, +/* 61273 */ {(13<<2)|2,{118,112,0}}, +/* 61274 */ {(13<<2)|2,{118,112,0}}, +/* 61275 */ {(13<<2)|2,{118,112,0}}, +/* 61276 */ {(13<<2)|2,{118,112,0}}, +/* 61277 */ {(13<<2)|2,{118,112,0}}, +/* 61278 */ {(13<<2)|2,{118,112,0}}, +/* 61279 */ {(13<<2)|2,{118,112,0}}, +/* 61280 */ {(13<<2)|2,{118,114,0}}, +/* 61281 */ {(13<<2)|2,{118,114,0}}, +/* 61282 */ {(13<<2)|2,{118,114,0}}, +/* 61283 */ {(13<<2)|2,{118,114,0}}, +/* 61284 */ {(13<<2)|2,{118,114,0}}, +/* 61285 */ {(13<<2)|2,{118,114,0}}, +/* 61286 */ {(13<<2)|2,{118,114,0}}, +/* 61287 */ {(13<<2)|2,{118,114,0}}, +/* 61288 */ {(13<<2)|2,{118,117,0}}, +/* 61289 */ {(13<<2)|2,{118,117,0}}, +/* 61290 */ {(13<<2)|2,{118,117,0}}, +/* 61291 */ {(13<<2)|2,{118,117,0}}, +/* 61292 */ {(13<<2)|2,{118,117,0}}, +/* 61293 */ {(13<<2)|2,{118,117,0}}, +/* 61294 */ {(13<<2)|2,{118,117,0}}, +/* 61295 */ {(13<<2)|2,{118,117,0}}, +/* 61296 */ {(14<<2)|2,{118,58,0}}, +/* 61297 */ {(14<<2)|2,{118,58,0}}, +/* 61298 */ {(14<<2)|2,{118,58,0}}, +/* 61299 */ {(14<<2)|2,{118,58,0}}, +/* 61300 */ {(14<<2)|2,{118,66,0}}, +/* 61301 */ {(14<<2)|2,{118,66,0}}, +/* 61302 */ {(14<<2)|2,{118,66,0}}, +/* 61303 */ {(14<<2)|2,{118,66,0}}, +/* 61304 */ {(14<<2)|2,{118,67,0}}, +/* 61305 */ {(14<<2)|2,{118,67,0}}, +/* 61306 */ {(14<<2)|2,{118,67,0}}, +/* 61307 */ {(14<<2)|2,{118,67,0}}, +/* 61308 */ {(14<<2)|2,{118,68,0}}, +/* 61309 */ {(14<<2)|2,{118,68,0}}, +/* 61310 */ {(14<<2)|2,{118,68,0}}, +/* 61311 */ {(14<<2)|2,{118,68,0}}, +/* 61312 */ {(14<<2)|2,{118,69,0}}, +/* 61313 */ {(14<<2)|2,{118,69,0}}, +/* 61314 */ {(14<<2)|2,{118,69,0}}, +/* 61315 */ {(14<<2)|2,{118,69,0}}, +/* 61316 */ {(14<<2)|2,{118,70,0}}, +/* 61317 */ {(14<<2)|2,{118,70,0}}, +/* 61318 */ {(14<<2)|2,{118,70,0}}, +/* 61319 */ {(14<<2)|2,{118,70,0}}, +/* 61320 */ {(14<<2)|2,{118,71,0}}, +/* 61321 */ {(14<<2)|2,{118,71,0}}, +/* 61322 */ {(14<<2)|2,{118,71,0}}, +/* 61323 */ {(14<<2)|2,{118,71,0}}, +/* 61324 */ {(14<<2)|2,{118,72,0}}, +/* 61325 */ {(14<<2)|2,{118,72,0}}, +/* 61326 */ {(14<<2)|2,{118,72,0}}, +/* 61327 */ {(14<<2)|2,{118,72,0}}, +/* 61328 */ {(14<<2)|2,{118,73,0}}, +/* 61329 */ {(14<<2)|2,{118,73,0}}, +/* 61330 */ {(14<<2)|2,{118,73,0}}, +/* 61331 */ {(14<<2)|2,{118,73,0}}, +/* 61332 */ {(14<<2)|2,{118,74,0}}, +/* 61333 */ {(14<<2)|2,{118,74,0}}, +/* 61334 */ {(14<<2)|2,{118,74,0}}, +/* 61335 */ {(14<<2)|2,{118,74,0}}, +/* 61336 */ {(14<<2)|2,{118,75,0}}, +/* 61337 */ {(14<<2)|2,{118,75,0}}, +/* 61338 */ {(14<<2)|2,{118,75,0}}, +/* 61339 */ {(14<<2)|2,{118,75,0}}, +/* 61340 */ {(14<<2)|2,{118,76,0}}, +/* 61341 */ {(14<<2)|2,{118,76,0}}, +/* 61342 */ {(14<<2)|2,{118,76,0}}, +/* 61343 */ {(14<<2)|2,{118,76,0}}, +/* 61344 */ {(14<<2)|2,{118,77,0}}, +/* 61345 */ {(14<<2)|2,{118,77,0}}, +/* 61346 */ {(14<<2)|2,{118,77,0}}, +/* 61347 */ {(14<<2)|2,{118,77,0}}, +/* 61348 */ {(14<<2)|2,{118,78,0}}, +/* 61349 */ {(14<<2)|2,{118,78,0}}, +/* 61350 */ {(14<<2)|2,{118,78,0}}, +/* 61351 */ {(14<<2)|2,{118,78,0}}, +/* 61352 */ {(14<<2)|2,{118,79,0}}, +/* 61353 */ {(14<<2)|2,{118,79,0}}, +/* 61354 */ {(14<<2)|2,{118,79,0}}, +/* 61355 */ {(14<<2)|2,{118,79,0}}, +/* 61356 */ {(14<<2)|2,{118,80,0}}, +/* 61357 */ {(14<<2)|2,{118,80,0}}, +/* 61358 */ {(14<<2)|2,{118,80,0}}, +/* 61359 */ {(14<<2)|2,{118,80,0}}, +/* 61360 */ {(14<<2)|2,{118,81,0}}, +/* 61361 */ {(14<<2)|2,{118,81,0}}, +/* 61362 */ {(14<<2)|2,{118,81,0}}, +/* 61363 */ {(14<<2)|2,{118,81,0}}, +/* 61364 */ {(14<<2)|2,{118,82,0}}, +/* 61365 */ {(14<<2)|2,{118,82,0}}, +/* 61366 */ {(14<<2)|2,{118,82,0}}, +/* 61367 */ {(14<<2)|2,{118,82,0}}, +/* 61368 */ {(14<<2)|2,{118,83,0}}, +/* 61369 */ {(14<<2)|2,{118,83,0}}, +/* 61370 */ {(14<<2)|2,{118,83,0}}, +/* 61371 */ {(14<<2)|2,{118,83,0}}, +/* 61372 */ {(14<<2)|2,{118,84,0}}, +/* 61373 */ {(14<<2)|2,{118,84,0}}, +/* 61374 */ {(14<<2)|2,{118,84,0}}, +/* 61375 */ {(14<<2)|2,{118,84,0}}, +/* 61376 */ {(14<<2)|2,{118,85,0}}, +/* 61377 */ {(14<<2)|2,{118,85,0}}, +/* 61378 */ {(14<<2)|2,{118,85,0}}, +/* 61379 */ {(14<<2)|2,{118,85,0}}, +/* 61380 */ {(14<<2)|2,{118,86,0}}, +/* 61381 */ {(14<<2)|2,{118,86,0}}, +/* 61382 */ {(14<<2)|2,{118,86,0}}, +/* 61383 */ {(14<<2)|2,{118,86,0}}, +/* 61384 */ {(14<<2)|2,{118,87,0}}, +/* 61385 */ {(14<<2)|2,{118,87,0}}, +/* 61386 */ {(14<<2)|2,{118,87,0}}, +/* 61387 */ {(14<<2)|2,{118,87,0}}, +/* 61388 */ {(14<<2)|2,{118,89,0}}, +/* 61389 */ {(14<<2)|2,{118,89,0}}, +/* 61390 */ {(14<<2)|2,{118,89,0}}, +/* 61391 */ {(14<<2)|2,{118,89,0}}, +/* 61392 */ {(14<<2)|2,{118,106,0}}, +/* 61393 */ {(14<<2)|2,{118,106,0}}, +/* 61394 */ {(14<<2)|2,{118,106,0}}, +/* 61395 */ {(14<<2)|2,{118,106,0}}, +/* 61396 */ {(14<<2)|2,{118,107,0}}, +/* 61397 */ {(14<<2)|2,{118,107,0}}, +/* 61398 */ {(14<<2)|2,{118,107,0}}, +/* 61399 */ {(14<<2)|2,{118,107,0}}, +/* 61400 */ {(14<<2)|2,{118,113,0}}, +/* 61401 */ {(14<<2)|2,{118,113,0}}, +/* 61402 */ {(14<<2)|2,{118,113,0}}, +/* 61403 */ {(14<<2)|2,{118,113,0}}, +/* 61404 */ {(14<<2)|2,{118,118,0}}, +/* 61405 */ {(14<<2)|2,{118,118,0}}, +/* 61406 */ {(14<<2)|2,{118,118,0}}, +/* 61407 */ {(14<<2)|2,{118,118,0}}, +/* 61408 */ {(14<<2)|2,{118,119,0}}, +/* 61409 */ {(14<<2)|2,{118,119,0}}, +/* 61410 */ {(14<<2)|2,{118,119,0}}, +/* 61411 */ {(14<<2)|2,{118,119,0}}, +/* 61412 */ {(14<<2)|2,{118,120,0}}, +/* 61413 */ {(14<<2)|2,{118,120,0}}, +/* 61414 */ {(14<<2)|2,{118,120,0}}, +/* 61415 */ {(14<<2)|2,{118,120,0}}, +/* 61416 */ {(14<<2)|2,{118,121,0}}, +/* 61417 */ {(14<<2)|2,{118,121,0}}, +/* 61418 */ {(14<<2)|2,{118,121,0}}, +/* 61419 */ {(14<<2)|2,{118,121,0}}, +/* 61420 */ {(14<<2)|2,{118,122,0}}, +/* 61421 */ {(14<<2)|2,{118,122,0}}, +/* 61422 */ {(14<<2)|2,{118,122,0}}, +/* 61423 */ {(14<<2)|2,{118,122,0}}, +/* 61424 */ {(15<<2)|2,{118,38,0}}, +/* 61425 */ {(15<<2)|2,{118,38,0}}, +/* 61426 */ {(15<<2)|2,{118,42,0}}, +/* 61427 */ {(15<<2)|2,{118,42,0}}, +/* 61428 */ {(15<<2)|2,{118,44,0}}, +/* 61429 */ {(15<<2)|2,{118,44,0}}, +/* 61430 */ {(15<<2)|2,{118,59,0}}, +/* 61431 */ {(15<<2)|2,{118,59,0}}, +/* 61432 */ {(15<<2)|2,{118,88,0}}, +/* 61433 */ {(15<<2)|2,{118,88,0}}, +/* 61434 */ {(15<<2)|2,{118,90,0}}, +/* 61435 */ {(15<<2)|2,{118,90,0}}, +/* 61436 */ {(7<<2)|1,{118,0,0}}, +/* 61437 */ {(7<<2)|1,{118,0,0}}, +/* 61438 */ {(7<<2)|1,{118,0,0}}, +/* 61439 */ {(7<<2)|1,{118,0,0}}, +/* 61440 */ {(12<<2)|2,{119,48,0}}, +/* 61441 */ {(12<<2)|2,{119,48,0}}, +/* 61442 */ {(12<<2)|2,{119,48,0}}, +/* 61443 */ {(12<<2)|2,{119,48,0}}, +/* 61444 */ {(12<<2)|2,{119,48,0}}, +/* 61445 */ {(12<<2)|2,{119,48,0}}, +/* 61446 */ {(12<<2)|2,{119,48,0}}, +/* 61447 */ {(12<<2)|2,{119,48,0}}, +/* 61448 */ {(12<<2)|2,{119,48,0}}, +/* 61449 */ {(12<<2)|2,{119,48,0}}, +/* 61450 */ {(12<<2)|2,{119,48,0}}, +/* 61451 */ {(12<<2)|2,{119,48,0}}, +/* 61452 */ {(12<<2)|2,{119,48,0}}, +/* 61453 */ {(12<<2)|2,{119,48,0}}, +/* 61454 */ {(12<<2)|2,{119,48,0}}, +/* 61455 */ {(12<<2)|2,{119,48,0}}, +/* 61456 */ {(12<<2)|2,{119,49,0}}, +/* 61457 */ {(12<<2)|2,{119,49,0}}, +/* 61458 */ {(12<<2)|2,{119,49,0}}, +/* 61459 */ {(12<<2)|2,{119,49,0}}, +/* 61460 */ {(12<<2)|2,{119,49,0}}, +/* 61461 */ {(12<<2)|2,{119,49,0}}, +/* 61462 */ {(12<<2)|2,{119,49,0}}, +/* 61463 */ {(12<<2)|2,{119,49,0}}, +/* 61464 */ {(12<<2)|2,{119,49,0}}, +/* 61465 */ {(12<<2)|2,{119,49,0}}, +/* 61466 */ {(12<<2)|2,{119,49,0}}, +/* 61467 */ {(12<<2)|2,{119,49,0}}, +/* 61468 */ {(12<<2)|2,{119,49,0}}, +/* 61469 */ {(12<<2)|2,{119,49,0}}, +/* 61470 */ {(12<<2)|2,{119,49,0}}, +/* 61471 */ {(12<<2)|2,{119,49,0}}, +/* 61472 */ {(12<<2)|2,{119,50,0}}, +/* 61473 */ {(12<<2)|2,{119,50,0}}, +/* 61474 */ {(12<<2)|2,{119,50,0}}, +/* 61475 */ {(12<<2)|2,{119,50,0}}, +/* 61476 */ {(12<<2)|2,{119,50,0}}, +/* 61477 */ {(12<<2)|2,{119,50,0}}, +/* 61478 */ {(12<<2)|2,{119,50,0}}, +/* 61479 */ {(12<<2)|2,{119,50,0}}, +/* 61480 */ {(12<<2)|2,{119,50,0}}, +/* 61481 */ {(12<<2)|2,{119,50,0}}, +/* 61482 */ {(12<<2)|2,{119,50,0}}, +/* 61483 */ {(12<<2)|2,{119,50,0}}, +/* 61484 */ {(12<<2)|2,{119,50,0}}, +/* 61485 */ {(12<<2)|2,{119,50,0}}, +/* 61486 */ {(12<<2)|2,{119,50,0}}, +/* 61487 */ {(12<<2)|2,{119,50,0}}, +/* 61488 */ {(12<<2)|2,{119,97,0}}, +/* 61489 */ {(12<<2)|2,{119,97,0}}, +/* 61490 */ {(12<<2)|2,{119,97,0}}, +/* 61491 */ {(12<<2)|2,{119,97,0}}, +/* 61492 */ {(12<<2)|2,{119,97,0}}, +/* 61493 */ {(12<<2)|2,{119,97,0}}, +/* 61494 */ {(12<<2)|2,{119,97,0}}, +/* 61495 */ {(12<<2)|2,{119,97,0}}, +/* 61496 */ {(12<<2)|2,{119,97,0}}, +/* 61497 */ {(12<<2)|2,{119,97,0}}, +/* 61498 */ {(12<<2)|2,{119,97,0}}, +/* 61499 */ {(12<<2)|2,{119,97,0}}, +/* 61500 */ {(12<<2)|2,{119,97,0}}, +/* 61501 */ {(12<<2)|2,{119,97,0}}, +/* 61502 */ {(12<<2)|2,{119,97,0}}, +/* 61503 */ {(12<<2)|2,{119,97,0}}, +/* 61504 */ {(12<<2)|2,{119,99,0}}, +/* 61505 */ {(12<<2)|2,{119,99,0}}, +/* 61506 */ {(12<<2)|2,{119,99,0}}, +/* 61507 */ {(12<<2)|2,{119,99,0}}, +/* 61508 */ {(12<<2)|2,{119,99,0}}, +/* 61509 */ {(12<<2)|2,{119,99,0}}, +/* 61510 */ {(12<<2)|2,{119,99,0}}, +/* 61511 */ {(12<<2)|2,{119,99,0}}, +/* 61512 */ {(12<<2)|2,{119,99,0}}, +/* 61513 */ {(12<<2)|2,{119,99,0}}, +/* 61514 */ {(12<<2)|2,{119,99,0}}, +/* 61515 */ {(12<<2)|2,{119,99,0}}, +/* 61516 */ {(12<<2)|2,{119,99,0}}, +/* 61517 */ {(12<<2)|2,{119,99,0}}, +/* 61518 */ {(12<<2)|2,{119,99,0}}, +/* 61519 */ {(12<<2)|2,{119,99,0}}, +/* 61520 */ {(12<<2)|2,{119,101,0}}, +/* 61521 */ {(12<<2)|2,{119,101,0}}, +/* 61522 */ {(12<<2)|2,{119,101,0}}, +/* 61523 */ {(12<<2)|2,{119,101,0}}, +/* 61524 */ {(12<<2)|2,{119,101,0}}, +/* 61525 */ {(12<<2)|2,{119,101,0}}, +/* 61526 */ {(12<<2)|2,{119,101,0}}, +/* 61527 */ {(12<<2)|2,{119,101,0}}, +/* 61528 */ {(12<<2)|2,{119,101,0}}, +/* 61529 */ {(12<<2)|2,{119,101,0}}, +/* 61530 */ {(12<<2)|2,{119,101,0}}, +/* 61531 */ {(12<<2)|2,{119,101,0}}, +/* 61532 */ {(12<<2)|2,{119,101,0}}, +/* 61533 */ {(12<<2)|2,{119,101,0}}, +/* 61534 */ {(12<<2)|2,{119,101,0}}, +/* 61535 */ {(12<<2)|2,{119,101,0}}, +/* 61536 */ {(12<<2)|2,{119,105,0}}, +/* 61537 */ {(12<<2)|2,{119,105,0}}, +/* 61538 */ {(12<<2)|2,{119,105,0}}, +/* 61539 */ {(12<<2)|2,{119,105,0}}, +/* 61540 */ {(12<<2)|2,{119,105,0}}, +/* 61541 */ {(12<<2)|2,{119,105,0}}, +/* 61542 */ {(12<<2)|2,{119,105,0}}, +/* 61543 */ {(12<<2)|2,{119,105,0}}, +/* 61544 */ {(12<<2)|2,{119,105,0}}, +/* 61545 */ {(12<<2)|2,{119,105,0}}, +/* 61546 */ {(12<<2)|2,{119,105,0}}, +/* 61547 */ {(12<<2)|2,{119,105,0}}, +/* 61548 */ {(12<<2)|2,{119,105,0}}, +/* 61549 */ {(12<<2)|2,{119,105,0}}, +/* 61550 */ {(12<<2)|2,{119,105,0}}, +/* 61551 */ {(12<<2)|2,{119,105,0}}, +/* 61552 */ {(12<<2)|2,{119,111,0}}, +/* 61553 */ {(12<<2)|2,{119,111,0}}, +/* 61554 */ {(12<<2)|2,{119,111,0}}, +/* 61555 */ {(12<<2)|2,{119,111,0}}, +/* 61556 */ {(12<<2)|2,{119,111,0}}, +/* 61557 */ {(12<<2)|2,{119,111,0}}, +/* 61558 */ {(12<<2)|2,{119,111,0}}, +/* 61559 */ {(12<<2)|2,{119,111,0}}, +/* 61560 */ {(12<<2)|2,{119,111,0}}, +/* 61561 */ {(12<<2)|2,{119,111,0}}, +/* 61562 */ {(12<<2)|2,{119,111,0}}, +/* 61563 */ {(12<<2)|2,{119,111,0}}, +/* 61564 */ {(12<<2)|2,{119,111,0}}, +/* 61565 */ {(12<<2)|2,{119,111,0}}, +/* 61566 */ {(12<<2)|2,{119,111,0}}, +/* 61567 */ {(12<<2)|2,{119,111,0}}, +/* 61568 */ {(12<<2)|2,{119,115,0}}, +/* 61569 */ {(12<<2)|2,{119,115,0}}, +/* 61570 */ {(12<<2)|2,{119,115,0}}, +/* 61571 */ {(12<<2)|2,{119,115,0}}, +/* 61572 */ {(12<<2)|2,{119,115,0}}, +/* 61573 */ {(12<<2)|2,{119,115,0}}, +/* 61574 */ {(12<<2)|2,{119,115,0}}, +/* 61575 */ {(12<<2)|2,{119,115,0}}, +/* 61576 */ {(12<<2)|2,{119,115,0}}, +/* 61577 */ {(12<<2)|2,{119,115,0}}, +/* 61578 */ {(12<<2)|2,{119,115,0}}, +/* 61579 */ {(12<<2)|2,{119,115,0}}, +/* 61580 */ {(12<<2)|2,{119,115,0}}, +/* 61581 */ {(12<<2)|2,{119,115,0}}, +/* 61582 */ {(12<<2)|2,{119,115,0}}, +/* 61583 */ {(12<<2)|2,{119,115,0}}, +/* 61584 */ {(12<<2)|2,{119,116,0}}, +/* 61585 */ {(12<<2)|2,{119,116,0}}, +/* 61586 */ {(12<<2)|2,{119,116,0}}, +/* 61587 */ {(12<<2)|2,{119,116,0}}, +/* 61588 */ {(12<<2)|2,{119,116,0}}, +/* 61589 */ {(12<<2)|2,{119,116,0}}, +/* 61590 */ {(12<<2)|2,{119,116,0}}, +/* 61591 */ {(12<<2)|2,{119,116,0}}, +/* 61592 */ {(12<<2)|2,{119,116,0}}, +/* 61593 */ {(12<<2)|2,{119,116,0}}, +/* 61594 */ {(12<<2)|2,{119,116,0}}, +/* 61595 */ {(12<<2)|2,{119,116,0}}, +/* 61596 */ {(12<<2)|2,{119,116,0}}, +/* 61597 */ {(12<<2)|2,{119,116,0}}, +/* 61598 */ {(12<<2)|2,{119,116,0}}, +/* 61599 */ {(12<<2)|2,{119,116,0}}, +/* 61600 */ {(13<<2)|2,{119,32,0}}, +/* 61601 */ {(13<<2)|2,{119,32,0}}, +/* 61602 */ {(13<<2)|2,{119,32,0}}, +/* 61603 */ {(13<<2)|2,{119,32,0}}, +/* 61604 */ {(13<<2)|2,{119,32,0}}, +/* 61605 */ {(13<<2)|2,{119,32,0}}, +/* 61606 */ {(13<<2)|2,{119,32,0}}, +/* 61607 */ {(13<<2)|2,{119,32,0}}, +/* 61608 */ {(13<<2)|2,{119,37,0}}, +/* 61609 */ {(13<<2)|2,{119,37,0}}, +/* 61610 */ {(13<<2)|2,{119,37,0}}, +/* 61611 */ {(13<<2)|2,{119,37,0}}, +/* 61612 */ {(13<<2)|2,{119,37,0}}, +/* 61613 */ {(13<<2)|2,{119,37,0}}, +/* 61614 */ {(13<<2)|2,{119,37,0}}, +/* 61615 */ {(13<<2)|2,{119,37,0}}, +/* 61616 */ {(13<<2)|2,{119,45,0}}, +/* 61617 */ {(13<<2)|2,{119,45,0}}, +/* 61618 */ {(13<<2)|2,{119,45,0}}, +/* 61619 */ {(13<<2)|2,{119,45,0}}, +/* 61620 */ {(13<<2)|2,{119,45,0}}, +/* 61621 */ {(13<<2)|2,{119,45,0}}, +/* 61622 */ {(13<<2)|2,{119,45,0}}, +/* 61623 */ {(13<<2)|2,{119,45,0}}, +/* 61624 */ {(13<<2)|2,{119,46,0}}, +/* 61625 */ {(13<<2)|2,{119,46,0}}, +/* 61626 */ {(13<<2)|2,{119,46,0}}, +/* 61627 */ {(13<<2)|2,{119,46,0}}, +/* 61628 */ {(13<<2)|2,{119,46,0}}, +/* 61629 */ {(13<<2)|2,{119,46,0}}, +/* 61630 */ {(13<<2)|2,{119,46,0}}, +/* 61631 */ {(13<<2)|2,{119,46,0}}, +/* 61632 */ {(13<<2)|2,{119,47,0}}, +/* 61633 */ {(13<<2)|2,{119,47,0}}, +/* 61634 */ {(13<<2)|2,{119,47,0}}, +/* 61635 */ {(13<<2)|2,{119,47,0}}, +/* 61636 */ {(13<<2)|2,{119,47,0}}, +/* 61637 */ {(13<<2)|2,{119,47,0}}, +/* 61638 */ {(13<<2)|2,{119,47,0}}, +/* 61639 */ {(13<<2)|2,{119,47,0}}, +/* 61640 */ {(13<<2)|2,{119,51,0}}, +/* 61641 */ {(13<<2)|2,{119,51,0}}, +/* 61642 */ {(13<<2)|2,{119,51,0}}, +/* 61643 */ {(13<<2)|2,{119,51,0}}, +/* 61644 */ {(13<<2)|2,{119,51,0}}, +/* 61645 */ {(13<<2)|2,{119,51,0}}, +/* 61646 */ {(13<<2)|2,{119,51,0}}, +/* 61647 */ {(13<<2)|2,{119,51,0}}, +/* 61648 */ {(13<<2)|2,{119,52,0}}, +/* 61649 */ {(13<<2)|2,{119,52,0}}, +/* 61650 */ {(13<<2)|2,{119,52,0}}, +/* 61651 */ {(13<<2)|2,{119,52,0}}, +/* 61652 */ {(13<<2)|2,{119,52,0}}, +/* 61653 */ {(13<<2)|2,{119,52,0}}, +/* 61654 */ {(13<<2)|2,{119,52,0}}, +/* 61655 */ {(13<<2)|2,{119,52,0}}, +/* 61656 */ {(13<<2)|2,{119,53,0}}, +/* 61657 */ {(13<<2)|2,{119,53,0}}, +/* 61658 */ {(13<<2)|2,{119,53,0}}, +/* 61659 */ {(13<<2)|2,{119,53,0}}, +/* 61660 */ {(13<<2)|2,{119,53,0}}, +/* 61661 */ {(13<<2)|2,{119,53,0}}, +/* 61662 */ {(13<<2)|2,{119,53,0}}, +/* 61663 */ {(13<<2)|2,{119,53,0}}, +/* 61664 */ {(13<<2)|2,{119,54,0}}, +/* 61665 */ {(13<<2)|2,{119,54,0}}, +/* 61666 */ {(13<<2)|2,{119,54,0}}, +/* 61667 */ {(13<<2)|2,{119,54,0}}, +/* 61668 */ {(13<<2)|2,{119,54,0}}, +/* 61669 */ {(13<<2)|2,{119,54,0}}, +/* 61670 */ {(13<<2)|2,{119,54,0}}, +/* 61671 */ {(13<<2)|2,{119,54,0}}, +/* 61672 */ {(13<<2)|2,{119,55,0}}, +/* 61673 */ {(13<<2)|2,{119,55,0}}, +/* 61674 */ {(13<<2)|2,{119,55,0}}, +/* 61675 */ {(13<<2)|2,{119,55,0}}, +/* 61676 */ {(13<<2)|2,{119,55,0}}, +/* 61677 */ {(13<<2)|2,{119,55,0}}, +/* 61678 */ {(13<<2)|2,{119,55,0}}, +/* 61679 */ {(13<<2)|2,{119,55,0}}, +/* 61680 */ {(13<<2)|2,{119,56,0}}, +/* 61681 */ {(13<<2)|2,{119,56,0}}, +/* 61682 */ {(13<<2)|2,{119,56,0}}, +/* 61683 */ {(13<<2)|2,{119,56,0}}, +/* 61684 */ {(13<<2)|2,{119,56,0}}, +/* 61685 */ {(13<<2)|2,{119,56,0}}, +/* 61686 */ {(13<<2)|2,{119,56,0}}, +/* 61687 */ {(13<<2)|2,{119,56,0}}, +/* 61688 */ {(13<<2)|2,{119,57,0}}, +/* 61689 */ {(13<<2)|2,{119,57,0}}, +/* 61690 */ {(13<<2)|2,{119,57,0}}, +/* 61691 */ {(13<<2)|2,{119,57,0}}, +/* 61692 */ {(13<<2)|2,{119,57,0}}, +/* 61693 */ {(13<<2)|2,{119,57,0}}, +/* 61694 */ {(13<<2)|2,{119,57,0}}, +/* 61695 */ {(13<<2)|2,{119,57,0}}, +/* 61696 */ {(13<<2)|2,{119,61,0}}, +/* 61697 */ {(13<<2)|2,{119,61,0}}, +/* 61698 */ {(13<<2)|2,{119,61,0}}, +/* 61699 */ {(13<<2)|2,{119,61,0}}, +/* 61700 */ {(13<<2)|2,{119,61,0}}, +/* 61701 */ {(13<<2)|2,{119,61,0}}, +/* 61702 */ {(13<<2)|2,{119,61,0}}, +/* 61703 */ {(13<<2)|2,{119,61,0}}, +/* 61704 */ {(13<<2)|2,{119,65,0}}, +/* 61705 */ {(13<<2)|2,{119,65,0}}, +/* 61706 */ {(13<<2)|2,{119,65,0}}, +/* 61707 */ {(13<<2)|2,{119,65,0}}, +/* 61708 */ {(13<<2)|2,{119,65,0}}, +/* 61709 */ {(13<<2)|2,{119,65,0}}, +/* 61710 */ {(13<<2)|2,{119,65,0}}, +/* 61711 */ {(13<<2)|2,{119,65,0}}, +/* 61712 */ {(13<<2)|2,{119,95,0}}, +/* 61713 */ {(13<<2)|2,{119,95,0}}, +/* 61714 */ {(13<<2)|2,{119,95,0}}, +/* 61715 */ {(13<<2)|2,{119,95,0}}, +/* 61716 */ {(13<<2)|2,{119,95,0}}, +/* 61717 */ {(13<<2)|2,{119,95,0}}, +/* 61718 */ {(13<<2)|2,{119,95,0}}, +/* 61719 */ {(13<<2)|2,{119,95,0}}, +/* 61720 */ {(13<<2)|2,{119,98,0}}, +/* 61721 */ {(13<<2)|2,{119,98,0}}, +/* 61722 */ {(13<<2)|2,{119,98,0}}, +/* 61723 */ {(13<<2)|2,{119,98,0}}, +/* 61724 */ {(13<<2)|2,{119,98,0}}, +/* 61725 */ {(13<<2)|2,{119,98,0}}, +/* 61726 */ {(13<<2)|2,{119,98,0}}, +/* 61727 */ {(13<<2)|2,{119,98,0}}, +/* 61728 */ {(13<<2)|2,{119,100,0}}, +/* 61729 */ {(13<<2)|2,{119,100,0}}, +/* 61730 */ {(13<<2)|2,{119,100,0}}, +/* 61731 */ {(13<<2)|2,{119,100,0}}, +/* 61732 */ {(13<<2)|2,{119,100,0}}, +/* 61733 */ {(13<<2)|2,{119,100,0}}, +/* 61734 */ {(13<<2)|2,{119,100,0}}, +/* 61735 */ {(13<<2)|2,{119,100,0}}, +/* 61736 */ {(13<<2)|2,{119,102,0}}, +/* 61737 */ {(13<<2)|2,{119,102,0}}, +/* 61738 */ {(13<<2)|2,{119,102,0}}, +/* 61739 */ {(13<<2)|2,{119,102,0}}, +/* 61740 */ {(13<<2)|2,{119,102,0}}, +/* 61741 */ {(13<<2)|2,{119,102,0}}, +/* 61742 */ {(13<<2)|2,{119,102,0}}, +/* 61743 */ {(13<<2)|2,{119,102,0}}, +/* 61744 */ {(13<<2)|2,{119,103,0}}, +/* 61745 */ {(13<<2)|2,{119,103,0}}, +/* 61746 */ {(13<<2)|2,{119,103,0}}, +/* 61747 */ {(13<<2)|2,{119,103,0}}, +/* 61748 */ {(13<<2)|2,{119,103,0}}, +/* 61749 */ {(13<<2)|2,{119,103,0}}, +/* 61750 */ {(13<<2)|2,{119,103,0}}, +/* 61751 */ {(13<<2)|2,{119,103,0}}, +/* 61752 */ {(13<<2)|2,{119,104,0}}, +/* 61753 */ {(13<<2)|2,{119,104,0}}, +/* 61754 */ {(13<<2)|2,{119,104,0}}, +/* 61755 */ {(13<<2)|2,{119,104,0}}, +/* 61756 */ {(13<<2)|2,{119,104,0}}, +/* 61757 */ {(13<<2)|2,{119,104,0}}, +/* 61758 */ {(13<<2)|2,{119,104,0}}, +/* 61759 */ {(13<<2)|2,{119,104,0}}, +/* 61760 */ {(13<<2)|2,{119,108,0}}, +/* 61761 */ {(13<<2)|2,{119,108,0}}, +/* 61762 */ {(13<<2)|2,{119,108,0}}, +/* 61763 */ {(13<<2)|2,{119,108,0}}, +/* 61764 */ {(13<<2)|2,{119,108,0}}, +/* 61765 */ {(13<<2)|2,{119,108,0}}, +/* 61766 */ {(13<<2)|2,{119,108,0}}, +/* 61767 */ {(13<<2)|2,{119,108,0}}, +/* 61768 */ {(13<<2)|2,{119,109,0}}, +/* 61769 */ {(13<<2)|2,{119,109,0}}, +/* 61770 */ {(13<<2)|2,{119,109,0}}, +/* 61771 */ {(13<<2)|2,{119,109,0}}, +/* 61772 */ {(13<<2)|2,{119,109,0}}, +/* 61773 */ {(13<<2)|2,{119,109,0}}, +/* 61774 */ {(13<<2)|2,{119,109,0}}, +/* 61775 */ {(13<<2)|2,{119,109,0}}, +/* 61776 */ {(13<<2)|2,{119,110,0}}, +/* 61777 */ {(13<<2)|2,{119,110,0}}, +/* 61778 */ {(13<<2)|2,{119,110,0}}, +/* 61779 */ {(13<<2)|2,{119,110,0}}, +/* 61780 */ {(13<<2)|2,{119,110,0}}, +/* 61781 */ {(13<<2)|2,{119,110,0}}, +/* 61782 */ {(13<<2)|2,{119,110,0}}, +/* 61783 */ {(13<<2)|2,{119,110,0}}, +/* 61784 */ {(13<<2)|2,{119,112,0}}, +/* 61785 */ {(13<<2)|2,{119,112,0}}, +/* 61786 */ {(13<<2)|2,{119,112,0}}, +/* 61787 */ {(13<<2)|2,{119,112,0}}, +/* 61788 */ {(13<<2)|2,{119,112,0}}, +/* 61789 */ {(13<<2)|2,{119,112,0}}, +/* 61790 */ {(13<<2)|2,{119,112,0}}, +/* 61791 */ {(13<<2)|2,{119,112,0}}, +/* 61792 */ {(13<<2)|2,{119,114,0}}, +/* 61793 */ {(13<<2)|2,{119,114,0}}, +/* 61794 */ {(13<<2)|2,{119,114,0}}, +/* 61795 */ {(13<<2)|2,{119,114,0}}, +/* 61796 */ {(13<<2)|2,{119,114,0}}, +/* 61797 */ {(13<<2)|2,{119,114,0}}, +/* 61798 */ {(13<<2)|2,{119,114,0}}, +/* 61799 */ {(13<<2)|2,{119,114,0}}, +/* 61800 */ {(13<<2)|2,{119,117,0}}, +/* 61801 */ {(13<<2)|2,{119,117,0}}, +/* 61802 */ {(13<<2)|2,{119,117,0}}, +/* 61803 */ {(13<<2)|2,{119,117,0}}, +/* 61804 */ {(13<<2)|2,{119,117,0}}, +/* 61805 */ {(13<<2)|2,{119,117,0}}, +/* 61806 */ {(13<<2)|2,{119,117,0}}, +/* 61807 */ {(13<<2)|2,{119,117,0}}, +/* 61808 */ {(14<<2)|2,{119,58,0}}, +/* 61809 */ {(14<<2)|2,{119,58,0}}, +/* 61810 */ {(14<<2)|2,{119,58,0}}, +/* 61811 */ {(14<<2)|2,{119,58,0}}, +/* 61812 */ {(14<<2)|2,{119,66,0}}, +/* 61813 */ {(14<<2)|2,{119,66,0}}, +/* 61814 */ {(14<<2)|2,{119,66,0}}, +/* 61815 */ {(14<<2)|2,{119,66,0}}, +/* 61816 */ {(14<<2)|2,{119,67,0}}, +/* 61817 */ {(14<<2)|2,{119,67,0}}, +/* 61818 */ {(14<<2)|2,{119,67,0}}, +/* 61819 */ {(14<<2)|2,{119,67,0}}, +/* 61820 */ {(14<<2)|2,{119,68,0}}, +/* 61821 */ {(14<<2)|2,{119,68,0}}, +/* 61822 */ {(14<<2)|2,{119,68,0}}, +/* 61823 */ {(14<<2)|2,{119,68,0}}, +/* 61824 */ {(14<<2)|2,{119,69,0}}, +/* 61825 */ {(14<<2)|2,{119,69,0}}, +/* 61826 */ {(14<<2)|2,{119,69,0}}, +/* 61827 */ {(14<<2)|2,{119,69,0}}, +/* 61828 */ {(14<<2)|2,{119,70,0}}, +/* 61829 */ {(14<<2)|2,{119,70,0}}, +/* 61830 */ {(14<<2)|2,{119,70,0}}, +/* 61831 */ {(14<<2)|2,{119,70,0}}, +/* 61832 */ {(14<<2)|2,{119,71,0}}, +/* 61833 */ {(14<<2)|2,{119,71,0}}, +/* 61834 */ {(14<<2)|2,{119,71,0}}, +/* 61835 */ {(14<<2)|2,{119,71,0}}, +/* 61836 */ {(14<<2)|2,{119,72,0}}, +/* 61837 */ {(14<<2)|2,{119,72,0}}, +/* 61838 */ {(14<<2)|2,{119,72,0}}, +/* 61839 */ {(14<<2)|2,{119,72,0}}, +/* 61840 */ {(14<<2)|2,{119,73,0}}, +/* 61841 */ {(14<<2)|2,{119,73,0}}, +/* 61842 */ {(14<<2)|2,{119,73,0}}, +/* 61843 */ {(14<<2)|2,{119,73,0}}, +/* 61844 */ {(14<<2)|2,{119,74,0}}, +/* 61845 */ {(14<<2)|2,{119,74,0}}, +/* 61846 */ {(14<<2)|2,{119,74,0}}, +/* 61847 */ {(14<<2)|2,{119,74,0}}, +/* 61848 */ {(14<<2)|2,{119,75,0}}, +/* 61849 */ {(14<<2)|2,{119,75,0}}, +/* 61850 */ {(14<<2)|2,{119,75,0}}, +/* 61851 */ {(14<<2)|2,{119,75,0}}, +/* 61852 */ {(14<<2)|2,{119,76,0}}, +/* 61853 */ {(14<<2)|2,{119,76,0}}, +/* 61854 */ {(14<<2)|2,{119,76,0}}, +/* 61855 */ {(14<<2)|2,{119,76,0}}, +/* 61856 */ {(14<<2)|2,{119,77,0}}, +/* 61857 */ {(14<<2)|2,{119,77,0}}, +/* 61858 */ {(14<<2)|2,{119,77,0}}, +/* 61859 */ {(14<<2)|2,{119,77,0}}, +/* 61860 */ {(14<<2)|2,{119,78,0}}, +/* 61861 */ {(14<<2)|2,{119,78,0}}, +/* 61862 */ {(14<<2)|2,{119,78,0}}, +/* 61863 */ {(14<<2)|2,{119,78,0}}, +/* 61864 */ {(14<<2)|2,{119,79,0}}, +/* 61865 */ {(14<<2)|2,{119,79,0}}, +/* 61866 */ {(14<<2)|2,{119,79,0}}, +/* 61867 */ {(14<<2)|2,{119,79,0}}, +/* 61868 */ {(14<<2)|2,{119,80,0}}, +/* 61869 */ {(14<<2)|2,{119,80,0}}, +/* 61870 */ {(14<<2)|2,{119,80,0}}, +/* 61871 */ {(14<<2)|2,{119,80,0}}, +/* 61872 */ {(14<<2)|2,{119,81,0}}, +/* 61873 */ {(14<<2)|2,{119,81,0}}, +/* 61874 */ {(14<<2)|2,{119,81,0}}, +/* 61875 */ {(14<<2)|2,{119,81,0}}, +/* 61876 */ {(14<<2)|2,{119,82,0}}, +/* 61877 */ {(14<<2)|2,{119,82,0}}, +/* 61878 */ {(14<<2)|2,{119,82,0}}, +/* 61879 */ {(14<<2)|2,{119,82,0}}, +/* 61880 */ {(14<<2)|2,{119,83,0}}, +/* 61881 */ {(14<<2)|2,{119,83,0}}, +/* 61882 */ {(14<<2)|2,{119,83,0}}, +/* 61883 */ {(14<<2)|2,{119,83,0}}, +/* 61884 */ {(14<<2)|2,{119,84,0}}, +/* 61885 */ {(14<<2)|2,{119,84,0}}, +/* 61886 */ {(14<<2)|2,{119,84,0}}, +/* 61887 */ {(14<<2)|2,{119,84,0}}, +/* 61888 */ {(14<<2)|2,{119,85,0}}, +/* 61889 */ {(14<<2)|2,{119,85,0}}, +/* 61890 */ {(14<<2)|2,{119,85,0}}, +/* 61891 */ {(14<<2)|2,{119,85,0}}, +/* 61892 */ {(14<<2)|2,{119,86,0}}, +/* 61893 */ {(14<<2)|2,{119,86,0}}, +/* 61894 */ {(14<<2)|2,{119,86,0}}, +/* 61895 */ {(14<<2)|2,{119,86,0}}, +/* 61896 */ {(14<<2)|2,{119,87,0}}, +/* 61897 */ {(14<<2)|2,{119,87,0}}, +/* 61898 */ {(14<<2)|2,{119,87,0}}, +/* 61899 */ {(14<<2)|2,{119,87,0}}, +/* 61900 */ {(14<<2)|2,{119,89,0}}, +/* 61901 */ {(14<<2)|2,{119,89,0}}, +/* 61902 */ {(14<<2)|2,{119,89,0}}, +/* 61903 */ {(14<<2)|2,{119,89,0}}, +/* 61904 */ {(14<<2)|2,{119,106,0}}, +/* 61905 */ {(14<<2)|2,{119,106,0}}, +/* 61906 */ {(14<<2)|2,{119,106,0}}, +/* 61907 */ {(14<<2)|2,{119,106,0}}, +/* 61908 */ {(14<<2)|2,{119,107,0}}, +/* 61909 */ {(14<<2)|2,{119,107,0}}, +/* 61910 */ {(14<<2)|2,{119,107,0}}, +/* 61911 */ {(14<<2)|2,{119,107,0}}, +/* 61912 */ {(14<<2)|2,{119,113,0}}, +/* 61913 */ {(14<<2)|2,{119,113,0}}, +/* 61914 */ {(14<<2)|2,{119,113,0}}, +/* 61915 */ {(14<<2)|2,{119,113,0}}, +/* 61916 */ {(14<<2)|2,{119,118,0}}, +/* 61917 */ {(14<<2)|2,{119,118,0}}, +/* 61918 */ {(14<<2)|2,{119,118,0}}, +/* 61919 */ {(14<<2)|2,{119,118,0}}, +/* 61920 */ {(14<<2)|2,{119,119,0}}, +/* 61921 */ {(14<<2)|2,{119,119,0}}, +/* 61922 */ {(14<<2)|2,{119,119,0}}, +/* 61923 */ {(14<<2)|2,{119,119,0}}, +/* 61924 */ {(14<<2)|2,{119,120,0}}, +/* 61925 */ {(14<<2)|2,{119,120,0}}, +/* 61926 */ {(14<<2)|2,{119,120,0}}, +/* 61927 */ {(14<<2)|2,{119,120,0}}, +/* 61928 */ {(14<<2)|2,{119,121,0}}, +/* 61929 */ {(14<<2)|2,{119,121,0}}, +/* 61930 */ {(14<<2)|2,{119,121,0}}, +/* 61931 */ {(14<<2)|2,{119,121,0}}, +/* 61932 */ {(14<<2)|2,{119,122,0}}, +/* 61933 */ {(14<<2)|2,{119,122,0}}, +/* 61934 */ {(14<<2)|2,{119,122,0}}, +/* 61935 */ {(14<<2)|2,{119,122,0}}, +/* 61936 */ {(15<<2)|2,{119,38,0}}, +/* 61937 */ {(15<<2)|2,{119,38,0}}, +/* 61938 */ {(15<<2)|2,{119,42,0}}, +/* 61939 */ {(15<<2)|2,{119,42,0}}, +/* 61940 */ {(15<<2)|2,{119,44,0}}, +/* 61941 */ {(15<<2)|2,{119,44,0}}, +/* 61942 */ {(15<<2)|2,{119,59,0}}, +/* 61943 */ {(15<<2)|2,{119,59,0}}, +/* 61944 */ {(15<<2)|2,{119,88,0}}, +/* 61945 */ {(15<<2)|2,{119,88,0}}, +/* 61946 */ {(15<<2)|2,{119,90,0}}, +/* 61947 */ {(15<<2)|2,{119,90,0}}, +/* 61948 */ {(7<<2)|1,{119,0,0}}, +/* 61949 */ {(7<<2)|1,{119,0,0}}, +/* 61950 */ {(7<<2)|1,{119,0,0}}, +/* 61951 */ {(7<<2)|1,{119,0,0}}, +/* 61952 */ {(12<<2)|2,{120,48,0}}, +/* 61953 */ {(12<<2)|2,{120,48,0}}, +/* 61954 */ {(12<<2)|2,{120,48,0}}, +/* 61955 */ {(12<<2)|2,{120,48,0}}, +/* 61956 */ {(12<<2)|2,{120,48,0}}, +/* 61957 */ {(12<<2)|2,{120,48,0}}, +/* 61958 */ {(12<<2)|2,{120,48,0}}, +/* 61959 */ {(12<<2)|2,{120,48,0}}, +/* 61960 */ {(12<<2)|2,{120,48,0}}, +/* 61961 */ {(12<<2)|2,{120,48,0}}, +/* 61962 */ {(12<<2)|2,{120,48,0}}, +/* 61963 */ {(12<<2)|2,{120,48,0}}, +/* 61964 */ {(12<<2)|2,{120,48,0}}, +/* 61965 */ {(12<<2)|2,{120,48,0}}, +/* 61966 */ {(12<<2)|2,{120,48,0}}, +/* 61967 */ {(12<<2)|2,{120,48,0}}, +/* 61968 */ {(12<<2)|2,{120,49,0}}, +/* 61969 */ {(12<<2)|2,{120,49,0}}, +/* 61970 */ {(12<<2)|2,{120,49,0}}, +/* 61971 */ {(12<<2)|2,{120,49,0}}, +/* 61972 */ {(12<<2)|2,{120,49,0}}, +/* 61973 */ {(12<<2)|2,{120,49,0}}, +/* 61974 */ {(12<<2)|2,{120,49,0}}, +/* 61975 */ {(12<<2)|2,{120,49,0}}, +/* 61976 */ {(12<<2)|2,{120,49,0}}, +/* 61977 */ {(12<<2)|2,{120,49,0}}, +/* 61978 */ {(12<<2)|2,{120,49,0}}, +/* 61979 */ {(12<<2)|2,{120,49,0}}, +/* 61980 */ {(12<<2)|2,{120,49,0}}, +/* 61981 */ {(12<<2)|2,{120,49,0}}, +/* 61982 */ {(12<<2)|2,{120,49,0}}, +/* 61983 */ {(12<<2)|2,{120,49,0}}, +/* 61984 */ {(12<<2)|2,{120,50,0}}, +/* 61985 */ {(12<<2)|2,{120,50,0}}, +/* 61986 */ {(12<<2)|2,{120,50,0}}, +/* 61987 */ {(12<<2)|2,{120,50,0}}, +/* 61988 */ {(12<<2)|2,{120,50,0}}, +/* 61989 */ {(12<<2)|2,{120,50,0}}, +/* 61990 */ {(12<<2)|2,{120,50,0}}, +/* 61991 */ {(12<<2)|2,{120,50,0}}, +/* 61992 */ {(12<<2)|2,{120,50,0}}, +/* 61993 */ {(12<<2)|2,{120,50,0}}, +/* 61994 */ {(12<<2)|2,{120,50,0}}, +/* 61995 */ {(12<<2)|2,{120,50,0}}, +/* 61996 */ {(12<<2)|2,{120,50,0}}, +/* 61997 */ {(12<<2)|2,{120,50,0}}, +/* 61998 */ {(12<<2)|2,{120,50,0}}, +/* 61999 */ {(12<<2)|2,{120,50,0}}, +/* 62000 */ {(12<<2)|2,{120,97,0}}, +/* 62001 */ {(12<<2)|2,{120,97,0}}, +/* 62002 */ {(12<<2)|2,{120,97,0}}, +/* 62003 */ {(12<<2)|2,{120,97,0}}, +/* 62004 */ {(12<<2)|2,{120,97,0}}, +/* 62005 */ {(12<<2)|2,{120,97,0}}, +/* 62006 */ {(12<<2)|2,{120,97,0}}, +/* 62007 */ {(12<<2)|2,{120,97,0}}, +/* 62008 */ {(12<<2)|2,{120,97,0}}, +/* 62009 */ {(12<<2)|2,{120,97,0}}, +/* 62010 */ {(12<<2)|2,{120,97,0}}, +/* 62011 */ {(12<<2)|2,{120,97,0}}, +/* 62012 */ {(12<<2)|2,{120,97,0}}, +/* 62013 */ {(12<<2)|2,{120,97,0}}, +/* 62014 */ {(12<<2)|2,{120,97,0}}, +/* 62015 */ {(12<<2)|2,{120,97,0}}, +/* 62016 */ {(12<<2)|2,{120,99,0}}, +/* 62017 */ {(12<<2)|2,{120,99,0}}, +/* 62018 */ {(12<<2)|2,{120,99,0}}, +/* 62019 */ {(12<<2)|2,{120,99,0}}, +/* 62020 */ {(12<<2)|2,{120,99,0}}, +/* 62021 */ {(12<<2)|2,{120,99,0}}, +/* 62022 */ {(12<<2)|2,{120,99,0}}, +/* 62023 */ {(12<<2)|2,{120,99,0}}, +/* 62024 */ {(12<<2)|2,{120,99,0}}, +/* 62025 */ {(12<<2)|2,{120,99,0}}, +/* 62026 */ {(12<<2)|2,{120,99,0}}, +/* 62027 */ {(12<<2)|2,{120,99,0}}, +/* 62028 */ {(12<<2)|2,{120,99,0}}, +/* 62029 */ {(12<<2)|2,{120,99,0}}, +/* 62030 */ {(12<<2)|2,{120,99,0}}, +/* 62031 */ {(12<<2)|2,{120,99,0}}, +/* 62032 */ {(12<<2)|2,{120,101,0}}, +/* 62033 */ {(12<<2)|2,{120,101,0}}, +/* 62034 */ {(12<<2)|2,{120,101,0}}, +/* 62035 */ {(12<<2)|2,{120,101,0}}, +/* 62036 */ {(12<<2)|2,{120,101,0}}, +/* 62037 */ {(12<<2)|2,{120,101,0}}, +/* 62038 */ {(12<<2)|2,{120,101,0}}, +/* 62039 */ {(12<<2)|2,{120,101,0}}, +/* 62040 */ {(12<<2)|2,{120,101,0}}, +/* 62041 */ {(12<<2)|2,{120,101,0}}, +/* 62042 */ {(12<<2)|2,{120,101,0}}, +/* 62043 */ {(12<<2)|2,{120,101,0}}, +/* 62044 */ {(12<<2)|2,{120,101,0}}, +/* 62045 */ {(12<<2)|2,{120,101,0}}, +/* 62046 */ {(12<<2)|2,{120,101,0}}, +/* 62047 */ {(12<<2)|2,{120,101,0}}, +/* 62048 */ {(12<<2)|2,{120,105,0}}, +/* 62049 */ {(12<<2)|2,{120,105,0}}, +/* 62050 */ {(12<<2)|2,{120,105,0}}, +/* 62051 */ {(12<<2)|2,{120,105,0}}, +/* 62052 */ {(12<<2)|2,{120,105,0}}, +/* 62053 */ {(12<<2)|2,{120,105,0}}, +/* 62054 */ {(12<<2)|2,{120,105,0}}, +/* 62055 */ {(12<<2)|2,{120,105,0}}, +/* 62056 */ {(12<<2)|2,{120,105,0}}, +/* 62057 */ {(12<<2)|2,{120,105,0}}, +/* 62058 */ {(12<<2)|2,{120,105,0}}, +/* 62059 */ {(12<<2)|2,{120,105,0}}, +/* 62060 */ {(12<<2)|2,{120,105,0}}, +/* 62061 */ {(12<<2)|2,{120,105,0}}, +/* 62062 */ {(12<<2)|2,{120,105,0}}, +/* 62063 */ {(12<<2)|2,{120,105,0}}, +/* 62064 */ {(12<<2)|2,{120,111,0}}, +/* 62065 */ {(12<<2)|2,{120,111,0}}, +/* 62066 */ {(12<<2)|2,{120,111,0}}, +/* 62067 */ {(12<<2)|2,{120,111,0}}, +/* 62068 */ {(12<<2)|2,{120,111,0}}, +/* 62069 */ {(12<<2)|2,{120,111,0}}, +/* 62070 */ {(12<<2)|2,{120,111,0}}, +/* 62071 */ {(12<<2)|2,{120,111,0}}, +/* 62072 */ {(12<<2)|2,{120,111,0}}, +/* 62073 */ {(12<<2)|2,{120,111,0}}, +/* 62074 */ {(12<<2)|2,{120,111,0}}, +/* 62075 */ {(12<<2)|2,{120,111,0}}, +/* 62076 */ {(12<<2)|2,{120,111,0}}, +/* 62077 */ {(12<<2)|2,{120,111,0}}, +/* 62078 */ {(12<<2)|2,{120,111,0}}, +/* 62079 */ {(12<<2)|2,{120,111,0}}, +/* 62080 */ {(12<<2)|2,{120,115,0}}, +/* 62081 */ {(12<<2)|2,{120,115,0}}, +/* 62082 */ {(12<<2)|2,{120,115,0}}, +/* 62083 */ {(12<<2)|2,{120,115,0}}, +/* 62084 */ {(12<<2)|2,{120,115,0}}, +/* 62085 */ {(12<<2)|2,{120,115,0}}, +/* 62086 */ {(12<<2)|2,{120,115,0}}, +/* 62087 */ {(12<<2)|2,{120,115,0}}, +/* 62088 */ {(12<<2)|2,{120,115,0}}, +/* 62089 */ {(12<<2)|2,{120,115,0}}, +/* 62090 */ {(12<<2)|2,{120,115,0}}, +/* 62091 */ {(12<<2)|2,{120,115,0}}, +/* 62092 */ {(12<<2)|2,{120,115,0}}, +/* 62093 */ {(12<<2)|2,{120,115,0}}, +/* 62094 */ {(12<<2)|2,{120,115,0}}, +/* 62095 */ {(12<<2)|2,{120,115,0}}, +/* 62096 */ {(12<<2)|2,{120,116,0}}, +/* 62097 */ {(12<<2)|2,{120,116,0}}, +/* 62098 */ {(12<<2)|2,{120,116,0}}, +/* 62099 */ {(12<<2)|2,{120,116,0}}, +/* 62100 */ {(12<<2)|2,{120,116,0}}, +/* 62101 */ {(12<<2)|2,{120,116,0}}, +/* 62102 */ {(12<<2)|2,{120,116,0}}, +/* 62103 */ {(12<<2)|2,{120,116,0}}, +/* 62104 */ {(12<<2)|2,{120,116,0}}, +/* 62105 */ {(12<<2)|2,{120,116,0}}, +/* 62106 */ {(12<<2)|2,{120,116,0}}, +/* 62107 */ {(12<<2)|2,{120,116,0}}, +/* 62108 */ {(12<<2)|2,{120,116,0}}, +/* 62109 */ {(12<<2)|2,{120,116,0}}, +/* 62110 */ {(12<<2)|2,{120,116,0}}, +/* 62111 */ {(12<<2)|2,{120,116,0}}, +/* 62112 */ {(13<<2)|2,{120,32,0}}, +/* 62113 */ {(13<<2)|2,{120,32,0}}, +/* 62114 */ {(13<<2)|2,{120,32,0}}, +/* 62115 */ {(13<<2)|2,{120,32,0}}, +/* 62116 */ {(13<<2)|2,{120,32,0}}, +/* 62117 */ {(13<<2)|2,{120,32,0}}, +/* 62118 */ {(13<<2)|2,{120,32,0}}, +/* 62119 */ {(13<<2)|2,{120,32,0}}, +/* 62120 */ {(13<<2)|2,{120,37,0}}, +/* 62121 */ {(13<<2)|2,{120,37,0}}, +/* 62122 */ {(13<<2)|2,{120,37,0}}, +/* 62123 */ {(13<<2)|2,{120,37,0}}, +/* 62124 */ {(13<<2)|2,{120,37,0}}, +/* 62125 */ {(13<<2)|2,{120,37,0}}, +/* 62126 */ {(13<<2)|2,{120,37,0}}, +/* 62127 */ {(13<<2)|2,{120,37,0}}, +/* 62128 */ {(13<<2)|2,{120,45,0}}, +/* 62129 */ {(13<<2)|2,{120,45,0}}, +/* 62130 */ {(13<<2)|2,{120,45,0}}, +/* 62131 */ {(13<<2)|2,{120,45,0}}, +/* 62132 */ {(13<<2)|2,{120,45,0}}, +/* 62133 */ {(13<<2)|2,{120,45,0}}, +/* 62134 */ {(13<<2)|2,{120,45,0}}, +/* 62135 */ {(13<<2)|2,{120,45,0}}, +/* 62136 */ {(13<<2)|2,{120,46,0}}, +/* 62137 */ {(13<<2)|2,{120,46,0}}, +/* 62138 */ {(13<<2)|2,{120,46,0}}, +/* 62139 */ {(13<<2)|2,{120,46,0}}, +/* 62140 */ {(13<<2)|2,{120,46,0}}, +/* 62141 */ {(13<<2)|2,{120,46,0}}, +/* 62142 */ {(13<<2)|2,{120,46,0}}, +/* 62143 */ {(13<<2)|2,{120,46,0}}, +/* 62144 */ {(13<<2)|2,{120,47,0}}, +/* 62145 */ {(13<<2)|2,{120,47,0}}, +/* 62146 */ {(13<<2)|2,{120,47,0}}, +/* 62147 */ {(13<<2)|2,{120,47,0}}, +/* 62148 */ {(13<<2)|2,{120,47,0}}, +/* 62149 */ {(13<<2)|2,{120,47,0}}, +/* 62150 */ {(13<<2)|2,{120,47,0}}, +/* 62151 */ {(13<<2)|2,{120,47,0}}, +/* 62152 */ {(13<<2)|2,{120,51,0}}, +/* 62153 */ {(13<<2)|2,{120,51,0}}, +/* 62154 */ {(13<<2)|2,{120,51,0}}, +/* 62155 */ {(13<<2)|2,{120,51,0}}, +/* 62156 */ {(13<<2)|2,{120,51,0}}, +/* 62157 */ {(13<<2)|2,{120,51,0}}, +/* 62158 */ {(13<<2)|2,{120,51,0}}, +/* 62159 */ {(13<<2)|2,{120,51,0}}, +/* 62160 */ {(13<<2)|2,{120,52,0}}, +/* 62161 */ {(13<<2)|2,{120,52,0}}, +/* 62162 */ {(13<<2)|2,{120,52,0}}, +/* 62163 */ {(13<<2)|2,{120,52,0}}, +/* 62164 */ {(13<<2)|2,{120,52,0}}, +/* 62165 */ {(13<<2)|2,{120,52,0}}, +/* 62166 */ {(13<<2)|2,{120,52,0}}, +/* 62167 */ {(13<<2)|2,{120,52,0}}, +/* 62168 */ {(13<<2)|2,{120,53,0}}, +/* 62169 */ {(13<<2)|2,{120,53,0}}, +/* 62170 */ {(13<<2)|2,{120,53,0}}, +/* 62171 */ {(13<<2)|2,{120,53,0}}, +/* 62172 */ {(13<<2)|2,{120,53,0}}, +/* 62173 */ {(13<<2)|2,{120,53,0}}, +/* 62174 */ {(13<<2)|2,{120,53,0}}, +/* 62175 */ {(13<<2)|2,{120,53,0}}, +/* 62176 */ {(13<<2)|2,{120,54,0}}, +/* 62177 */ {(13<<2)|2,{120,54,0}}, +/* 62178 */ {(13<<2)|2,{120,54,0}}, +/* 62179 */ {(13<<2)|2,{120,54,0}}, +/* 62180 */ {(13<<2)|2,{120,54,0}}, +/* 62181 */ {(13<<2)|2,{120,54,0}}, +/* 62182 */ {(13<<2)|2,{120,54,0}}, +/* 62183 */ {(13<<2)|2,{120,54,0}}, +/* 62184 */ {(13<<2)|2,{120,55,0}}, +/* 62185 */ {(13<<2)|2,{120,55,0}}, +/* 62186 */ {(13<<2)|2,{120,55,0}}, +/* 62187 */ {(13<<2)|2,{120,55,0}}, +/* 62188 */ {(13<<2)|2,{120,55,0}}, +/* 62189 */ {(13<<2)|2,{120,55,0}}, +/* 62190 */ {(13<<2)|2,{120,55,0}}, +/* 62191 */ {(13<<2)|2,{120,55,0}}, +/* 62192 */ {(13<<2)|2,{120,56,0}}, +/* 62193 */ {(13<<2)|2,{120,56,0}}, +/* 62194 */ {(13<<2)|2,{120,56,0}}, +/* 62195 */ {(13<<2)|2,{120,56,0}}, +/* 62196 */ {(13<<2)|2,{120,56,0}}, +/* 62197 */ {(13<<2)|2,{120,56,0}}, +/* 62198 */ {(13<<2)|2,{120,56,0}}, +/* 62199 */ {(13<<2)|2,{120,56,0}}, +/* 62200 */ {(13<<2)|2,{120,57,0}}, +/* 62201 */ {(13<<2)|2,{120,57,0}}, +/* 62202 */ {(13<<2)|2,{120,57,0}}, +/* 62203 */ {(13<<2)|2,{120,57,0}}, +/* 62204 */ {(13<<2)|2,{120,57,0}}, +/* 62205 */ {(13<<2)|2,{120,57,0}}, +/* 62206 */ {(13<<2)|2,{120,57,0}}, +/* 62207 */ {(13<<2)|2,{120,57,0}}, +/* 62208 */ {(13<<2)|2,{120,61,0}}, +/* 62209 */ {(13<<2)|2,{120,61,0}}, +/* 62210 */ {(13<<2)|2,{120,61,0}}, +/* 62211 */ {(13<<2)|2,{120,61,0}}, +/* 62212 */ {(13<<2)|2,{120,61,0}}, +/* 62213 */ {(13<<2)|2,{120,61,0}}, +/* 62214 */ {(13<<2)|2,{120,61,0}}, +/* 62215 */ {(13<<2)|2,{120,61,0}}, +/* 62216 */ {(13<<2)|2,{120,65,0}}, +/* 62217 */ {(13<<2)|2,{120,65,0}}, +/* 62218 */ {(13<<2)|2,{120,65,0}}, +/* 62219 */ {(13<<2)|2,{120,65,0}}, +/* 62220 */ {(13<<2)|2,{120,65,0}}, +/* 62221 */ {(13<<2)|2,{120,65,0}}, +/* 62222 */ {(13<<2)|2,{120,65,0}}, +/* 62223 */ {(13<<2)|2,{120,65,0}}, +/* 62224 */ {(13<<2)|2,{120,95,0}}, +/* 62225 */ {(13<<2)|2,{120,95,0}}, +/* 62226 */ {(13<<2)|2,{120,95,0}}, +/* 62227 */ {(13<<2)|2,{120,95,0}}, +/* 62228 */ {(13<<2)|2,{120,95,0}}, +/* 62229 */ {(13<<2)|2,{120,95,0}}, +/* 62230 */ {(13<<2)|2,{120,95,0}}, +/* 62231 */ {(13<<2)|2,{120,95,0}}, +/* 62232 */ {(13<<2)|2,{120,98,0}}, +/* 62233 */ {(13<<2)|2,{120,98,0}}, +/* 62234 */ {(13<<2)|2,{120,98,0}}, +/* 62235 */ {(13<<2)|2,{120,98,0}}, +/* 62236 */ {(13<<2)|2,{120,98,0}}, +/* 62237 */ {(13<<2)|2,{120,98,0}}, +/* 62238 */ {(13<<2)|2,{120,98,0}}, +/* 62239 */ {(13<<2)|2,{120,98,0}}, +/* 62240 */ {(13<<2)|2,{120,100,0}}, +/* 62241 */ {(13<<2)|2,{120,100,0}}, +/* 62242 */ {(13<<2)|2,{120,100,0}}, +/* 62243 */ {(13<<2)|2,{120,100,0}}, +/* 62244 */ {(13<<2)|2,{120,100,0}}, +/* 62245 */ {(13<<2)|2,{120,100,0}}, +/* 62246 */ {(13<<2)|2,{120,100,0}}, +/* 62247 */ {(13<<2)|2,{120,100,0}}, +/* 62248 */ {(13<<2)|2,{120,102,0}}, +/* 62249 */ {(13<<2)|2,{120,102,0}}, +/* 62250 */ {(13<<2)|2,{120,102,0}}, +/* 62251 */ {(13<<2)|2,{120,102,0}}, +/* 62252 */ {(13<<2)|2,{120,102,0}}, +/* 62253 */ {(13<<2)|2,{120,102,0}}, +/* 62254 */ {(13<<2)|2,{120,102,0}}, +/* 62255 */ {(13<<2)|2,{120,102,0}}, +/* 62256 */ {(13<<2)|2,{120,103,0}}, +/* 62257 */ {(13<<2)|2,{120,103,0}}, +/* 62258 */ {(13<<2)|2,{120,103,0}}, +/* 62259 */ {(13<<2)|2,{120,103,0}}, +/* 62260 */ {(13<<2)|2,{120,103,0}}, +/* 62261 */ {(13<<2)|2,{120,103,0}}, +/* 62262 */ {(13<<2)|2,{120,103,0}}, +/* 62263 */ {(13<<2)|2,{120,103,0}}, +/* 62264 */ {(13<<2)|2,{120,104,0}}, +/* 62265 */ {(13<<2)|2,{120,104,0}}, +/* 62266 */ {(13<<2)|2,{120,104,0}}, +/* 62267 */ {(13<<2)|2,{120,104,0}}, +/* 62268 */ {(13<<2)|2,{120,104,0}}, +/* 62269 */ {(13<<2)|2,{120,104,0}}, +/* 62270 */ {(13<<2)|2,{120,104,0}}, +/* 62271 */ {(13<<2)|2,{120,104,0}}, +/* 62272 */ {(13<<2)|2,{120,108,0}}, +/* 62273 */ {(13<<2)|2,{120,108,0}}, +/* 62274 */ {(13<<2)|2,{120,108,0}}, +/* 62275 */ {(13<<2)|2,{120,108,0}}, +/* 62276 */ {(13<<2)|2,{120,108,0}}, +/* 62277 */ {(13<<2)|2,{120,108,0}}, +/* 62278 */ {(13<<2)|2,{120,108,0}}, +/* 62279 */ {(13<<2)|2,{120,108,0}}, +/* 62280 */ {(13<<2)|2,{120,109,0}}, +/* 62281 */ {(13<<2)|2,{120,109,0}}, +/* 62282 */ {(13<<2)|2,{120,109,0}}, +/* 62283 */ {(13<<2)|2,{120,109,0}}, +/* 62284 */ {(13<<2)|2,{120,109,0}}, +/* 62285 */ {(13<<2)|2,{120,109,0}}, +/* 62286 */ {(13<<2)|2,{120,109,0}}, +/* 62287 */ {(13<<2)|2,{120,109,0}}, +/* 62288 */ {(13<<2)|2,{120,110,0}}, +/* 62289 */ {(13<<2)|2,{120,110,0}}, +/* 62290 */ {(13<<2)|2,{120,110,0}}, +/* 62291 */ {(13<<2)|2,{120,110,0}}, +/* 62292 */ {(13<<2)|2,{120,110,0}}, +/* 62293 */ {(13<<2)|2,{120,110,0}}, +/* 62294 */ {(13<<2)|2,{120,110,0}}, +/* 62295 */ {(13<<2)|2,{120,110,0}}, +/* 62296 */ {(13<<2)|2,{120,112,0}}, +/* 62297 */ {(13<<2)|2,{120,112,0}}, +/* 62298 */ {(13<<2)|2,{120,112,0}}, +/* 62299 */ {(13<<2)|2,{120,112,0}}, +/* 62300 */ {(13<<2)|2,{120,112,0}}, +/* 62301 */ {(13<<2)|2,{120,112,0}}, +/* 62302 */ {(13<<2)|2,{120,112,0}}, +/* 62303 */ {(13<<2)|2,{120,112,0}}, +/* 62304 */ {(13<<2)|2,{120,114,0}}, +/* 62305 */ {(13<<2)|2,{120,114,0}}, +/* 62306 */ {(13<<2)|2,{120,114,0}}, +/* 62307 */ {(13<<2)|2,{120,114,0}}, +/* 62308 */ {(13<<2)|2,{120,114,0}}, +/* 62309 */ {(13<<2)|2,{120,114,0}}, +/* 62310 */ {(13<<2)|2,{120,114,0}}, +/* 62311 */ {(13<<2)|2,{120,114,0}}, +/* 62312 */ {(13<<2)|2,{120,117,0}}, +/* 62313 */ {(13<<2)|2,{120,117,0}}, +/* 62314 */ {(13<<2)|2,{120,117,0}}, +/* 62315 */ {(13<<2)|2,{120,117,0}}, +/* 62316 */ {(13<<2)|2,{120,117,0}}, +/* 62317 */ {(13<<2)|2,{120,117,0}}, +/* 62318 */ {(13<<2)|2,{120,117,0}}, +/* 62319 */ {(13<<2)|2,{120,117,0}}, +/* 62320 */ {(14<<2)|2,{120,58,0}}, +/* 62321 */ {(14<<2)|2,{120,58,0}}, +/* 62322 */ {(14<<2)|2,{120,58,0}}, +/* 62323 */ {(14<<2)|2,{120,58,0}}, +/* 62324 */ {(14<<2)|2,{120,66,0}}, +/* 62325 */ {(14<<2)|2,{120,66,0}}, +/* 62326 */ {(14<<2)|2,{120,66,0}}, +/* 62327 */ {(14<<2)|2,{120,66,0}}, +/* 62328 */ {(14<<2)|2,{120,67,0}}, +/* 62329 */ {(14<<2)|2,{120,67,0}}, +/* 62330 */ {(14<<2)|2,{120,67,0}}, +/* 62331 */ {(14<<2)|2,{120,67,0}}, +/* 62332 */ {(14<<2)|2,{120,68,0}}, +/* 62333 */ {(14<<2)|2,{120,68,0}}, +/* 62334 */ {(14<<2)|2,{120,68,0}}, +/* 62335 */ {(14<<2)|2,{120,68,0}}, +/* 62336 */ {(14<<2)|2,{120,69,0}}, +/* 62337 */ {(14<<2)|2,{120,69,0}}, +/* 62338 */ {(14<<2)|2,{120,69,0}}, +/* 62339 */ {(14<<2)|2,{120,69,0}}, +/* 62340 */ {(14<<2)|2,{120,70,0}}, +/* 62341 */ {(14<<2)|2,{120,70,0}}, +/* 62342 */ {(14<<2)|2,{120,70,0}}, +/* 62343 */ {(14<<2)|2,{120,70,0}}, +/* 62344 */ {(14<<2)|2,{120,71,0}}, +/* 62345 */ {(14<<2)|2,{120,71,0}}, +/* 62346 */ {(14<<2)|2,{120,71,0}}, +/* 62347 */ {(14<<2)|2,{120,71,0}}, +/* 62348 */ {(14<<2)|2,{120,72,0}}, +/* 62349 */ {(14<<2)|2,{120,72,0}}, +/* 62350 */ {(14<<2)|2,{120,72,0}}, +/* 62351 */ {(14<<2)|2,{120,72,0}}, +/* 62352 */ {(14<<2)|2,{120,73,0}}, +/* 62353 */ {(14<<2)|2,{120,73,0}}, +/* 62354 */ {(14<<2)|2,{120,73,0}}, +/* 62355 */ {(14<<2)|2,{120,73,0}}, +/* 62356 */ {(14<<2)|2,{120,74,0}}, +/* 62357 */ {(14<<2)|2,{120,74,0}}, +/* 62358 */ {(14<<2)|2,{120,74,0}}, +/* 62359 */ {(14<<2)|2,{120,74,0}}, +/* 62360 */ {(14<<2)|2,{120,75,0}}, +/* 62361 */ {(14<<2)|2,{120,75,0}}, +/* 62362 */ {(14<<2)|2,{120,75,0}}, +/* 62363 */ {(14<<2)|2,{120,75,0}}, +/* 62364 */ {(14<<2)|2,{120,76,0}}, +/* 62365 */ {(14<<2)|2,{120,76,0}}, +/* 62366 */ {(14<<2)|2,{120,76,0}}, +/* 62367 */ {(14<<2)|2,{120,76,0}}, +/* 62368 */ {(14<<2)|2,{120,77,0}}, +/* 62369 */ {(14<<2)|2,{120,77,0}}, +/* 62370 */ {(14<<2)|2,{120,77,0}}, +/* 62371 */ {(14<<2)|2,{120,77,0}}, +/* 62372 */ {(14<<2)|2,{120,78,0}}, +/* 62373 */ {(14<<2)|2,{120,78,0}}, +/* 62374 */ {(14<<2)|2,{120,78,0}}, +/* 62375 */ {(14<<2)|2,{120,78,0}}, +/* 62376 */ {(14<<2)|2,{120,79,0}}, +/* 62377 */ {(14<<2)|2,{120,79,0}}, +/* 62378 */ {(14<<2)|2,{120,79,0}}, +/* 62379 */ {(14<<2)|2,{120,79,0}}, +/* 62380 */ {(14<<2)|2,{120,80,0}}, +/* 62381 */ {(14<<2)|2,{120,80,0}}, +/* 62382 */ {(14<<2)|2,{120,80,0}}, +/* 62383 */ {(14<<2)|2,{120,80,0}}, +/* 62384 */ {(14<<2)|2,{120,81,0}}, +/* 62385 */ {(14<<2)|2,{120,81,0}}, +/* 62386 */ {(14<<2)|2,{120,81,0}}, +/* 62387 */ {(14<<2)|2,{120,81,0}}, +/* 62388 */ {(14<<2)|2,{120,82,0}}, +/* 62389 */ {(14<<2)|2,{120,82,0}}, +/* 62390 */ {(14<<2)|2,{120,82,0}}, +/* 62391 */ {(14<<2)|2,{120,82,0}}, +/* 62392 */ {(14<<2)|2,{120,83,0}}, +/* 62393 */ {(14<<2)|2,{120,83,0}}, +/* 62394 */ {(14<<2)|2,{120,83,0}}, +/* 62395 */ {(14<<2)|2,{120,83,0}}, +/* 62396 */ {(14<<2)|2,{120,84,0}}, +/* 62397 */ {(14<<2)|2,{120,84,0}}, +/* 62398 */ {(14<<2)|2,{120,84,0}}, +/* 62399 */ {(14<<2)|2,{120,84,0}}, +/* 62400 */ {(14<<2)|2,{120,85,0}}, +/* 62401 */ {(14<<2)|2,{120,85,0}}, +/* 62402 */ {(14<<2)|2,{120,85,0}}, +/* 62403 */ {(14<<2)|2,{120,85,0}}, +/* 62404 */ {(14<<2)|2,{120,86,0}}, +/* 62405 */ {(14<<2)|2,{120,86,0}}, +/* 62406 */ {(14<<2)|2,{120,86,0}}, +/* 62407 */ {(14<<2)|2,{120,86,0}}, +/* 62408 */ {(14<<2)|2,{120,87,0}}, +/* 62409 */ {(14<<2)|2,{120,87,0}}, +/* 62410 */ {(14<<2)|2,{120,87,0}}, +/* 62411 */ {(14<<2)|2,{120,87,0}}, +/* 62412 */ {(14<<2)|2,{120,89,0}}, +/* 62413 */ {(14<<2)|2,{120,89,0}}, +/* 62414 */ {(14<<2)|2,{120,89,0}}, +/* 62415 */ {(14<<2)|2,{120,89,0}}, +/* 62416 */ {(14<<2)|2,{120,106,0}}, +/* 62417 */ {(14<<2)|2,{120,106,0}}, +/* 62418 */ {(14<<2)|2,{120,106,0}}, +/* 62419 */ {(14<<2)|2,{120,106,0}}, +/* 62420 */ {(14<<2)|2,{120,107,0}}, +/* 62421 */ {(14<<2)|2,{120,107,0}}, +/* 62422 */ {(14<<2)|2,{120,107,0}}, +/* 62423 */ {(14<<2)|2,{120,107,0}}, +/* 62424 */ {(14<<2)|2,{120,113,0}}, +/* 62425 */ {(14<<2)|2,{120,113,0}}, +/* 62426 */ {(14<<2)|2,{120,113,0}}, +/* 62427 */ {(14<<2)|2,{120,113,0}}, +/* 62428 */ {(14<<2)|2,{120,118,0}}, +/* 62429 */ {(14<<2)|2,{120,118,0}}, +/* 62430 */ {(14<<2)|2,{120,118,0}}, +/* 62431 */ {(14<<2)|2,{120,118,0}}, +/* 62432 */ {(14<<2)|2,{120,119,0}}, +/* 62433 */ {(14<<2)|2,{120,119,0}}, +/* 62434 */ {(14<<2)|2,{120,119,0}}, +/* 62435 */ {(14<<2)|2,{120,119,0}}, +/* 62436 */ {(14<<2)|2,{120,120,0}}, +/* 62437 */ {(14<<2)|2,{120,120,0}}, +/* 62438 */ {(14<<2)|2,{120,120,0}}, +/* 62439 */ {(14<<2)|2,{120,120,0}}, +/* 62440 */ {(14<<2)|2,{120,121,0}}, +/* 62441 */ {(14<<2)|2,{120,121,0}}, +/* 62442 */ {(14<<2)|2,{120,121,0}}, +/* 62443 */ {(14<<2)|2,{120,121,0}}, +/* 62444 */ {(14<<2)|2,{120,122,0}}, +/* 62445 */ {(14<<2)|2,{120,122,0}}, +/* 62446 */ {(14<<2)|2,{120,122,0}}, +/* 62447 */ {(14<<2)|2,{120,122,0}}, +/* 62448 */ {(15<<2)|2,{120,38,0}}, +/* 62449 */ {(15<<2)|2,{120,38,0}}, +/* 62450 */ {(15<<2)|2,{120,42,0}}, +/* 62451 */ {(15<<2)|2,{120,42,0}}, +/* 62452 */ {(15<<2)|2,{120,44,0}}, +/* 62453 */ {(15<<2)|2,{120,44,0}}, +/* 62454 */ {(15<<2)|2,{120,59,0}}, +/* 62455 */ {(15<<2)|2,{120,59,0}}, +/* 62456 */ {(15<<2)|2,{120,88,0}}, +/* 62457 */ {(15<<2)|2,{120,88,0}}, +/* 62458 */ {(15<<2)|2,{120,90,0}}, +/* 62459 */ {(15<<2)|2,{120,90,0}}, +/* 62460 */ {(7<<2)|1,{120,0,0}}, +/* 62461 */ {(7<<2)|1,{120,0,0}}, +/* 62462 */ {(7<<2)|1,{120,0,0}}, +/* 62463 */ {(7<<2)|1,{120,0,0}}, +/* 62464 */ {(12<<2)|2,{121,48,0}}, +/* 62465 */ {(12<<2)|2,{121,48,0}}, +/* 62466 */ {(12<<2)|2,{121,48,0}}, +/* 62467 */ {(12<<2)|2,{121,48,0}}, +/* 62468 */ {(12<<2)|2,{121,48,0}}, +/* 62469 */ {(12<<2)|2,{121,48,0}}, +/* 62470 */ {(12<<2)|2,{121,48,0}}, +/* 62471 */ {(12<<2)|2,{121,48,0}}, +/* 62472 */ {(12<<2)|2,{121,48,0}}, +/* 62473 */ {(12<<2)|2,{121,48,0}}, +/* 62474 */ {(12<<2)|2,{121,48,0}}, +/* 62475 */ {(12<<2)|2,{121,48,0}}, +/* 62476 */ {(12<<2)|2,{121,48,0}}, +/* 62477 */ {(12<<2)|2,{121,48,0}}, +/* 62478 */ {(12<<2)|2,{121,48,0}}, +/* 62479 */ {(12<<2)|2,{121,48,0}}, +/* 62480 */ {(12<<2)|2,{121,49,0}}, +/* 62481 */ {(12<<2)|2,{121,49,0}}, +/* 62482 */ {(12<<2)|2,{121,49,0}}, +/* 62483 */ {(12<<2)|2,{121,49,0}}, +/* 62484 */ {(12<<2)|2,{121,49,0}}, +/* 62485 */ {(12<<2)|2,{121,49,0}}, +/* 62486 */ {(12<<2)|2,{121,49,0}}, +/* 62487 */ {(12<<2)|2,{121,49,0}}, +/* 62488 */ {(12<<2)|2,{121,49,0}}, +/* 62489 */ {(12<<2)|2,{121,49,0}}, +/* 62490 */ {(12<<2)|2,{121,49,0}}, +/* 62491 */ {(12<<2)|2,{121,49,0}}, +/* 62492 */ {(12<<2)|2,{121,49,0}}, +/* 62493 */ {(12<<2)|2,{121,49,0}}, +/* 62494 */ {(12<<2)|2,{121,49,0}}, +/* 62495 */ {(12<<2)|2,{121,49,0}}, +/* 62496 */ {(12<<2)|2,{121,50,0}}, +/* 62497 */ {(12<<2)|2,{121,50,0}}, +/* 62498 */ {(12<<2)|2,{121,50,0}}, +/* 62499 */ {(12<<2)|2,{121,50,0}}, +/* 62500 */ {(12<<2)|2,{121,50,0}}, +/* 62501 */ {(12<<2)|2,{121,50,0}}, +/* 62502 */ {(12<<2)|2,{121,50,0}}, +/* 62503 */ {(12<<2)|2,{121,50,0}}, +/* 62504 */ {(12<<2)|2,{121,50,0}}, +/* 62505 */ {(12<<2)|2,{121,50,0}}, +/* 62506 */ {(12<<2)|2,{121,50,0}}, +/* 62507 */ {(12<<2)|2,{121,50,0}}, +/* 62508 */ {(12<<2)|2,{121,50,0}}, +/* 62509 */ {(12<<2)|2,{121,50,0}}, +/* 62510 */ {(12<<2)|2,{121,50,0}}, +/* 62511 */ {(12<<2)|2,{121,50,0}}, +/* 62512 */ {(12<<2)|2,{121,97,0}}, +/* 62513 */ {(12<<2)|2,{121,97,0}}, +/* 62514 */ {(12<<2)|2,{121,97,0}}, +/* 62515 */ {(12<<2)|2,{121,97,0}}, +/* 62516 */ {(12<<2)|2,{121,97,0}}, +/* 62517 */ {(12<<2)|2,{121,97,0}}, +/* 62518 */ {(12<<2)|2,{121,97,0}}, +/* 62519 */ {(12<<2)|2,{121,97,0}}, +/* 62520 */ {(12<<2)|2,{121,97,0}}, +/* 62521 */ {(12<<2)|2,{121,97,0}}, +/* 62522 */ {(12<<2)|2,{121,97,0}}, +/* 62523 */ {(12<<2)|2,{121,97,0}}, +/* 62524 */ {(12<<2)|2,{121,97,0}}, +/* 62525 */ {(12<<2)|2,{121,97,0}}, +/* 62526 */ {(12<<2)|2,{121,97,0}}, +/* 62527 */ {(12<<2)|2,{121,97,0}}, +/* 62528 */ {(12<<2)|2,{121,99,0}}, +/* 62529 */ {(12<<2)|2,{121,99,0}}, +/* 62530 */ {(12<<2)|2,{121,99,0}}, +/* 62531 */ {(12<<2)|2,{121,99,0}}, +/* 62532 */ {(12<<2)|2,{121,99,0}}, +/* 62533 */ {(12<<2)|2,{121,99,0}}, +/* 62534 */ {(12<<2)|2,{121,99,0}}, +/* 62535 */ {(12<<2)|2,{121,99,0}}, +/* 62536 */ {(12<<2)|2,{121,99,0}}, +/* 62537 */ {(12<<2)|2,{121,99,0}}, +/* 62538 */ {(12<<2)|2,{121,99,0}}, +/* 62539 */ {(12<<2)|2,{121,99,0}}, +/* 62540 */ {(12<<2)|2,{121,99,0}}, +/* 62541 */ {(12<<2)|2,{121,99,0}}, +/* 62542 */ {(12<<2)|2,{121,99,0}}, +/* 62543 */ {(12<<2)|2,{121,99,0}}, +/* 62544 */ {(12<<2)|2,{121,101,0}}, +/* 62545 */ {(12<<2)|2,{121,101,0}}, +/* 62546 */ {(12<<2)|2,{121,101,0}}, +/* 62547 */ {(12<<2)|2,{121,101,0}}, +/* 62548 */ {(12<<2)|2,{121,101,0}}, +/* 62549 */ {(12<<2)|2,{121,101,0}}, +/* 62550 */ {(12<<2)|2,{121,101,0}}, +/* 62551 */ {(12<<2)|2,{121,101,0}}, +/* 62552 */ {(12<<2)|2,{121,101,0}}, +/* 62553 */ {(12<<2)|2,{121,101,0}}, +/* 62554 */ {(12<<2)|2,{121,101,0}}, +/* 62555 */ {(12<<2)|2,{121,101,0}}, +/* 62556 */ {(12<<2)|2,{121,101,0}}, +/* 62557 */ {(12<<2)|2,{121,101,0}}, +/* 62558 */ {(12<<2)|2,{121,101,0}}, +/* 62559 */ {(12<<2)|2,{121,101,0}}, +/* 62560 */ {(12<<2)|2,{121,105,0}}, +/* 62561 */ {(12<<2)|2,{121,105,0}}, +/* 62562 */ {(12<<2)|2,{121,105,0}}, +/* 62563 */ {(12<<2)|2,{121,105,0}}, +/* 62564 */ {(12<<2)|2,{121,105,0}}, +/* 62565 */ {(12<<2)|2,{121,105,0}}, +/* 62566 */ {(12<<2)|2,{121,105,0}}, +/* 62567 */ {(12<<2)|2,{121,105,0}}, +/* 62568 */ {(12<<2)|2,{121,105,0}}, +/* 62569 */ {(12<<2)|2,{121,105,0}}, +/* 62570 */ {(12<<2)|2,{121,105,0}}, +/* 62571 */ {(12<<2)|2,{121,105,0}}, +/* 62572 */ {(12<<2)|2,{121,105,0}}, +/* 62573 */ {(12<<2)|2,{121,105,0}}, +/* 62574 */ {(12<<2)|2,{121,105,0}}, +/* 62575 */ {(12<<2)|2,{121,105,0}}, +/* 62576 */ {(12<<2)|2,{121,111,0}}, +/* 62577 */ {(12<<2)|2,{121,111,0}}, +/* 62578 */ {(12<<2)|2,{121,111,0}}, +/* 62579 */ {(12<<2)|2,{121,111,0}}, +/* 62580 */ {(12<<2)|2,{121,111,0}}, +/* 62581 */ {(12<<2)|2,{121,111,0}}, +/* 62582 */ {(12<<2)|2,{121,111,0}}, +/* 62583 */ {(12<<2)|2,{121,111,0}}, +/* 62584 */ {(12<<2)|2,{121,111,0}}, +/* 62585 */ {(12<<2)|2,{121,111,0}}, +/* 62586 */ {(12<<2)|2,{121,111,0}}, +/* 62587 */ {(12<<2)|2,{121,111,0}}, +/* 62588 */ {(12<<2)|2,{121,111,0}}, +/* 62589 */ {(12<<2)|2,{121,111,0}}, +/* 62590 */ {(12<<2)|2,{121,111,0}}, +/* 62591 */ {(12<<2)|2,{121,111,0}}, +/* 62592 */ {(12<<2)|2,{121,115,0}}, +/* 62593 */ {(12<<2)|2,{121,115,0}}, +/* 62594 */ {(12<<2)|2,{121,115,0}}, +/* 62595 */ {(12<<2)|2,{121,115,0}}, +/* 62596 */ {(12<<2)|2,{121,115,0}}, +/* 62597 */ {(12<<2)|2,{121,115,0}}, +/* 62598 */ {(12<<2)|2,{121,115,0}}, +/* 62599 */ {(12<<2)|2,{121,115,0}}, +/* 62600 */ {(12<<2)|2,{121,115,0}}, +/* 62601 */ {(12<<2)|2,{121,115,0}}, +/* 62602 */ {(12<<2)|2,{121,115,0}}, +/* 62603 */ {(12<<2)|2,{121,115,0}}, +/* 62604 */ {(12<<2)|2,{121,115,0}}, +/* 62605 */ {(12<<2)|2,{121,115,0}}, +/* 62606 */ {(12<<2)|2,{121,115,0}}, +/* 62607 */ {(12<<2)|2,{121,115,0}}, +/* 62608 */ {(12<<2)|2,{121,116,0}}, +/* 62609 */ {(12<<2)|2,{121,116,0}}, +/* 62610 */ {(12<<2)|2,{121,116,0}}, +/* 62611 */ {(12<<2)|2,{121,116,0}}, +/* 62612 */ {(12<<2)|2,{121,116,0}}, +/* 62613 */ {(12<<2)|2,{121,116,0}}, +/* 62614 */ {(12<<2)|2,{121,116,0}}, +/* 62615 */ {(12<<2)|2,{121,116,0}}, +/* 62616 */ {(12<<2)|2,{121,116,0}}, +/* 62617 */ {(12<<2)|2,{121,116,0}}, +/* 62618 */ {(12<<2)|2,{121,116,0}}, +/* 62619 */ {(12<<2)|2,{121,116,0}}, +/* 62620 */ {(12<<2)|2,{121,116,0}}, +/* 62621 */ {(12<<2)|2,{121,116,0}}, +/* 62622 */ {(12<<2)|2,{121,116,0}}, +/* 62623 */ {(12<<2)|2,{121,116,0}}, +/* 62624 */ {(13<<2)|2,{121,32,0}}, +/* 62625 */ {(13<<2)|2,{121,32,0}}, +/* 62626 */ {(13<<2)|2,{121,32,0}}, +/* 62627 */ {(13<<2)|2,{121,32,0}}, +/* 62628 */ {(13<<2)|2,{121,32,0}}, +/* 62629 */ {(13<<2)|2,{121,32,0}}, +/* 62630 */ {(13<<2)|2,{121,32,0}}, +/* 62631 */ {(13<<2)|2,{121,32,0}}, +/* 62632 */ {(13<<2)|2,{121,37,0}}, +/* 62633 */ {(13<<2)|2,{121,37,0}}, +/* 62634 */ {(13<<2)|2,{121,37,0}}, +/* 62635 */ {(13<<2)|2,{121,37,0}}, +/* 62636 */ {(13<<2)|2,{121,37,0}}, +/* 62637 */ {(13<<2)|2,{121,37,0}}, +/* 62638 */ {(13<<2)|2,{121,37,0}}, +/* 62639 */ {(13<<2)|2,{121,37,0}}, +/* 62640 */ {(13<<2)|2,{121,45,0}}, +/* 62641 */ {(13<<2)|2,{121,45,0}}, +/* 62642 */ {(13<<2)|2,{121,45,0}}, +/* 62643 */ {(13<<2)|2,{121,45,0}}, +/* 62644 */ {(13<<2)|2,{121,45,0}}, +/* 62645 */ {(13<<2)|2,{121,45,0}}, +/* 62646 */ {(13<<2)|2,{121,45,0}}, +/* 62647 */ {(13<<2)|2,{121,45,0}}, +/* 62648 */ {(13<<2)|2,{121,46,0}}, +/* 62649 */ {(13<<2)|2,{121,46,0}}, +/* 62650 */ {(13<<2)|2,{121,46,0}}, +/* 62651 */ {(13<<2)|2,{121,46,0}}, +/* 62652 */ {(13<<2)|2,{121,46,0}}, +/* 62653 */ {(13<<2)|2,{121,46,0}}, +/* 62654 */ {(13<<2)|2,{121,46,0}}, +/* 62655 */ {(13<<2)|2,{121,46,0}}, +/* 62656 */ {(13<<2)|2,{121,47,0}}, +/* 62657 */ {(13<<2)|2,{121,47,0}}, +/* 62658 */ {(13<<2)|2,{121,47,0}}, +/* 62659 */ {(13<<2)|2,{121,47,0}}, +/* 62660 */ {(13<<2)|2,{121,47,0}}, +/* 62661 */ {(13<<2)|2,{121,47,0}}, +/* 62662 */ {(13<<2)|2,{121,47,0}}, +/* 62663 */ {(13<<2)|2,{121,47,0}}, +/* 62664 */ {(13<<2)|2,{121,51,0}}, +/* 62665 */ {(13<<2)|2,{121,51,0}}, +/* 62666 */ {(13<<2)|2,{121,51,0}}, +/* 62667 */ {(13<<2)|2,{121,51,0}}, +/* 62668 */ {(13<<2)|2,{121,51,0}}, +/* 62669 */ {(13<<2)|2,{121,51,0}}, +/* 62670 */ {(13<<2)|2,{121,51,0}}, +/* 62671 */ {(13<<2)|2,{121,51,0}}, +/* 62672 */ {(13<<2)|2,{121,52,0}}, +/* 62673 */ {(13<<2)|2,{121,52,0}}, +/* 62674 */ {(13<<2)|2,{121,52,0}}, +/* 62675 */ {(13<<2)|2,{121,52,0}}, +/* 62676 */ {(13<<2)|2,{121,52,0}}, +/* 62677 */ {(13<<2)|2,{121,52,0}}, +/* 62678 */ {(13<<2)|2,{121,52,0}}, +/* 62679 */ {(13<<2)|2,{121,52,0}}, +/* 62680 */ {(13<<2)|2,{121,53,0}}, +/* 62681 */ {(13<<2)|2,{121,53,0}}, +/* 62682 */ {(13<<2)|2,{121,53,0}}, +/* 62683 */ {(13<<2)|2,{121,53,0}}, +/* 62684 */ {(13<<2)|2,{121,53,0}}, +/* 62685 */ {(13<<2)|2,{121,53,0}}, +/* 62686 */ {(13<<2)|2,{121,53,0}}, +/* 62687 */ {(13<<2)|2,{121,53,0}}, +/* 62688 */ {(13<<2)|2,{121,54,0}}, +/* 62689 */ {(13<<2)|2,{121,54,0}}, +/* 62690 */ {(13<<2)|2,{121,54,0}}, +/* 62691 */ {(13<<2)|2,{121,54,0}}, +/* 62692 */ {(13<<2)|2,{121,54,0}}, +/* 62693 */ {(13<<2)|2,{121,54,0}}, +/* 62694 */ {(13<<2)|2,{121,54,0}}, +/* 62695 */ {(13<<2)|2,{121,54,0}}, +/* 62696 */ {(13<<2)|2,{121,55,0}}, +/* 62697 */ {(13<<2)|2,{121,55,0}}, +/* 62698 */ {(13<<2)|2,{121,55,0}}, +/* 62699 */ {(13<<2)|2,{121,55,0}}, +/* 62700 */ {(13<<2)|2,{121,55,0}}, +/* 62701 */ {(13<<2)|2,{121,55,0}}, +/* 62702 */ {(13<<2)|2,{121,55,0}}, +/* 62703 */ {(13<<2)|2,{121,55,0}}, +/* 62704 */ {(13<<2)|2,{121,56,0}}, +/* 62705 */ {(13<<2)|2,{121,56,0}}, +/* 62706 */ {(13<<2)|2,{121,56,0}}, +/* 62707 */ {(13<<2)|2,{121,56,0}}, +/* 62708 */ {(13<<2)|2,{121,56,0}}, +/* 62709 */ {(13<<2)|2,{121,56,0}}, +/* 62710 */ {(13<<2)|2,{121,56,0}}, +/* 62711 */ {(13<<2)|2,{121,56,0}}, +/* 62712 */ {(13<<2)|2,{121,57,0}}, +/* 62713 */ {(13<<2)|2,{121,57,0}}, +/* 62714 */ {(13<<2)|2,{121,57,0}}, +/* 62715 */ {(13<<2)|2,{121,57,0}}, +/* 62716 */ {(13<<2)|2,{121,57,0}}, +/* 62717 */ {(13<<2)|2,{121,57,0}}, +/* 62718 */ {(13<<2)|2,{121,57,0}}, +/* 62719 */ {(13<<2)|2,{121,57,0}}, +/* 62720 */ {(13<<2)|2,{121,61,0}}, +/* 62721 */ {(13<<2)|2,{121,61,0}}, +/* 62722 */ {(13<<2)|2,{121,61,0}}, +/* 62723 */ {(13<<2)|2,{121,61,0}}, +/* 62724 */ {(13<<2)|2,{121,61,0}}, +/* 62725 */ {(13<<2)|2,{121,61,0}}, +/* 62726 */ {(13<<2)|2,{121,61,0}}, +/* 62727 */ {(13<<2)|2,{121,61,0}}, +/* 62728 */ {(13<<2)|2,{121,65,0}}, +/* 62729 */ {(13<<2)|2,{121,65,0}}, +/* 62730 */ {(13<<2)|2,{121,65,0}}, +/* 62731 */ {(13<<2)|2,{121,65,0}}, +/* 62732 */ {(13<<2)|2,{121,65,0}}, +/* 62733 */ {(13<<2)|2,{121,65,0}}, +/* 62734 */ {(13<<2)|2,{121,65,0}}, +/* 62735 */ {(13<<2)|2,{121,65,0}}, +/* 62736 */ {(13<<2)|2,{121,95,0}}, +/* 62737 */ {(13<<2)|2,{121,95,0}}, +/* 62738 */ {(13<<2)|2,{121,95,0}}, +/* 62739 */ {(13<<2)|2,{121,95,0}}, +/* 62740 */ {(13<<2)|2,{121,95,0}}, +/* 62741 */ {(13<<2)|2,{121,95,0}}, +/* 62742 */ {(13<<2)|2,{121,95,0}}, +/* 62743 */ {(13<<2)|2,{121,95,0}}, +/* 62744 */ {(13<<2)|2,{121,98,0}}, +/* 62745 */ {(13<<2)|2,{121,98,0}}, +/* 62746 */ {(13<<2)|2,{121,98,0}}, +/* 62747 */ {(13<<2)|2,{121,98,0}}, +/* 62748 */ {(13<<2)|2,{121,98,0}}, +/* 62749 */ {(13<<2)|2,{121,98,0}}, +/* 62750 */ {(13<<2)|2,{121,98,0}}, +/* 62751 */ {(13<<2)|2,{121,98,0}}, +/* 62752 */ {(13<<2)|2,{121,100,0}}, +/* 62753 */ {(13<<2)|2,{121,100,0}}, +/* 62754 */ {(13<<2)|2,{121,100,0}}, +/* 62755 */ {(13<<2)|2,{121,100,0}}, +/* 62756 */ {(13<<2)|2,{121,100,0}}, +/* 62757 */ {(13<<2)|2,{121,100,0}}, +/* 62758 */ {(13<<2)|2,{121,100,0}}, +/* 62759 */ {(13<<2)|2,{121,100,0}}, +/* 62760 */ {(13<<2)|2,{121,102,0}}, +/* 62761 */ {(13<<2)|2,{121,102,0}}, +/* 62762 */ {(13<<2)|2,{121,102,0}}, +/* 62763 */ {(13<<2)|2,{121,102,0}}, +/* 62764 */ {(13<<2)|2,{121,102,0}}, +/* 62765 */ {(13<<2)|2,{121,102,0}}, +/* 62766 */ {(13<<2)|2,{121,102,0}}, +/* 62767 */ {(13<<2)|2,{121,102,0}}, +/* 62768 */ {(13<<2)|2,{121,103,0}}, +/* 62769 */ {(13<<2)|2,{121,103,0}}, +/* 62770 */ {(13<<2)|2,{121,103,0}}, +/* 62771 */ {(13<<2)|2,{121,103,0}}, +/* 62772 */ {(13<<2)|2,{121,103,0}}, +/* 62773 */ {(13<<2)|2,{121,103,0}}, +/* 62774 */ {(13<<2)|2,{121,103,0}}, +/* 62775 */ {(13<<2)|2,{121,103,0}}, +/* 62776 */ {(13<<2)|2,{121,104,0}}, +/* 62777 */ {(13<<2)|2,{121,104,0}}, +/* 62778 */ {(13<<2)|2,{121,104,0}}, +/* 62779 */ {(13<<2)|2,{121,104,0}}, +/* 62780 */ {(13<<2)|2,{121,104,0}}, +/* 62781 */ {(13<<2)|2,{121,104,0}}, +/* 62782 */ {(13<<2)|2,{121,104,0}}, +/* 62783 */ {(13<<2)|2,{121,104,0}}, +/* 62784 */ {(13<<2)|2,{121,108,0}}, +/* 62785 */ {(13<<2)|2,{121,108,0}}, +/* 62786 */ {(13<<2)|2,{121,108,0}}, +/* 62787 */ {(13<<2)|2,{121,108,0}}, +/* 62788 */ {(13<<2)|2,{121,108,0}}, +/* 62789 */ {(13<<2)|2,{121,108,0}}, +/* 62790 */ {(13<<2)|2,{121,108,0}}, +/* 62791 */ {(13<<2)|2,{121,108,0}}, +/* 62792 */ {(13<<2)|2,{121,109,0}}, +/* 62793 */ {(13<<2)|2,{121,109,0}}, +/* 62794 */ {(13<<2)|2,{121,109,0}}, +/* 62795 */ {(13<<2)|2,{121,109,0}}, +/* 62796 */ {(13<<2)|2,{121,109,0}}, +/* 62797 */ {(13<<2)|2,{121,109,0}}, +/* 62798 */ {(13<<2)|2,{121,109,0}}, +/* 62799 */ {(13<<2)|2,{121,109,0}}, +/* 62800 */ {(13<<2)|2,{121,110,0}}, +/* 62801 */ {(13<<2)|2,{121,110,0}}, +/* 62802 */ {(13<<2)|2,{121,110,0}}, +/* 62803 */ {(13<<2)|2,{121,110,0}}, +/* 62804 */ {(13<<2)|2,{121,110,0}}, +/* 62805 */ {(13<<2)|2,{121,110,0}}, +/* 62806 */ {(13<<2)|2,{121,110,0}}, +/* 62807 */ {(13<<2)|2,{121,110,0}}, +/* 62808 */ {(13<<2)|2,{121,112,0}}, +/* 62809 */ {(13<<2)|2,{121,112,0}}, +/* 62810 */ {(13<<2)|2,{121,112,0}}, +/* 62811 */ {(13<<2)|2,{121,112,0}}, +/* 62812 */ {(13<<2)|2,{121,112,0}}, +/* 62813 */ {(13<<2)|2,{121,112,0}}, +/* 62814 */ {(13<<2)|2,{121,112,0}}, +/* 62815 */ {(13<<2)|2,{121,112,0}}, +/* 62816 */ {(13<<2)|2,{121,114,0}}, +/* 62817 */ {(13<<2)|2,{121,114,0}}, +/* 62818 */ {(13<<2)|2,{121,114,0}}, +/* 62819 */ {(13<<2)|2,{121,114,0}}, +/* 62820 */ {(13<<2)|2,{121,114,0}}, +/* 62821 */ {(13<<2)|2,{121,114,0}}, +/* 62822 */ {(13<<2)|2,{121,114,0}}, +/* 62823 */ {(13<<2)|2,{121,114,0}}, +/* 62824 */ {(13<<2)|2,{121,117,0}}, +/* 62825 */ {(13<<2)|2,{121,117,0}}, +/* 62826 */ {(13<<2)|2,{121,117,0}}, +/* 62827 */ {(13<<2)|2,{121,117,0}}, +/* 62828 */ {(13<<2)|2,{121,117,0}}, +/* 62829 */ {(13<<2)|2,{121,117,0}}, +/* 62830 */ {(13<<2)|2,{121,117,0}}, +/* 62831 */ {(13<<2)|2,{121,117,0}}, +/* 62832 */ {(14<<2)|2,{121,58,0}}, +/* 62833 */ {(14<<2)|2,{121,58,0}}, +/* 62834 */ {(14<<2)|2,{121,58,0}}, +/* 62835 */ {(14<<2)|2,{121,58,0}}, +/* 62836 */ {(14<<2)|2,{121,66,0}}, +/* 62837 */ {(14<<2)|2,{121,66,0}}, +/* 62838 */ {(14<<2)|2,{121,66,0}}, +/* 62839 */ {(14<<2)|2,{121,66,0}}, +/* 62840 */ {(14<<2)|2,{121,67,0}}, +/* 62841 */ {(14<<2)|2,{121,67,0}}, +/* 62842 */ {(14<<2)|2,{121,67,0}}, +/* 62843 */ {(14<<2)|2,{121,67,0}}, +/* 62844 */ {(14<<2)|2,{121,68,0}}, +/* 62845 */ {(14<<2)|2,{121,68,0}}, +/* 62846 */ {(14<<2)|2,{121,68,0}}, +/* 62847 */ {(14<<2)|2,{121,68,0}}, +/* 62848 */ {(14<<2)|2,{121,69,0}}, +/* 62849 */ {(14<<2)|2,{121,69,0}}, +/* 62850 */ {(14<<2)|2,{121,69,0}}, +/* 62851 */ {(14<<2)|2,{121,69,0}}, +/* 62852 */ {(14<<2)|2,{121,70,0}}, +/* 62853 */ {(14<<2)|2,{121,70,0}}, +/* 62854 */ {(14<<2)|2,{121,70,0}}, +/* 62855 */ {(14<<2)|2,{121,70,0}}, +/* 62856 */ {(14<<2)|2,{121,71,0}}, +/* 62857 */ {(14<<2)|2,{121,71,0}}, +/* 62858 */ {(14<<2)|2,{121,71,0}}, +/* 62859 */ {(14<<2)|2,{121,71,0}}, +/* 62860 */ {(14<<2)|2,{121,72,0}}, +/* 62861 */ {(14<<2)|2,{121,72,0}}, +/* 62862 */ {(14<<2)|2,{121,72,0}}, +/* 62863 */ {(14<<2)|2,{121,72,0}}, +/* 62864 */ {(14<<2)|2,{121,73,0}}, +/* 62865 */ {(14<<2)|2,{121,73,0}}, +/* 62866 */ {(14<<2)|2,{121,73,0}}, +/* 62867 */ {(14<<2)|2,{121,73,0}}, +/* 62868 */ {(14<<2)|2,{121,74,0}}, +/* 62869 */ {(14<<2)|2,{121,74,0}}, +/* 62870 */ {(14<<2)|2,{121,74,0}}, +/* 62871 */ {(14<<2)|2,{121,74,0}}, +/* 62872 */ {(14<<2)|2,{121,75,0}}, +/* 62873 */ {(14<<2)|2,{121,75,0}}, +/* 62874 */ {(14<<2)|2,{121,75,0}}, +/* 62875 */ {(14<<2)|2,{121,75,0}}, +/* 62876 */ {(14<<2)|2,{121,76,0}}, +/* 62877 */ {(14<<2)|2,{121,76,0}}, +/* 62878 */ {(14<<2)|2,{121,76,0}}, +/* 62879 */ {(14<<2)|2,{121,76,0}}, +/* 62880 */ {(14<<2)|2,{121,77,0}}, +/* 62881 */ {(14<<2)|2,{121,77,0}}, +/* 62882 */ {(14<<2)|2,{121,77,0}}, +/* 62883 */ {(14<<2)|2,{121,77,0}}, +/* 62884 */ {(14<<2)|2,{121,78,0}}, +/* 62885 */ {(14<<2)|2,{121,78,0}}, +/* 62886 */ {(14<<2)|2,{121,78,0}}, +/* 62887 */ {(14<<2)|2,{121,78,0}}, +/* 62888 */ {(14<<2)|2,{121,79,0}}, +/* 62889 */ {(14<<2)|2,{121,79,0}}, +/* 62890 */ {(14<<2)|2,{121,79,0}}, +/* 62891 */ {(14<<2)|2,{121,79,0}}, +/* 62892 */ {(14<<2)|2,{121,80,0}}, +/* 62893 */ {(14<<2)|2,{121,80,0}}, +/* 62894 */ {(14<<2)|2,{121,80,0}}, +/* 62895 */ {(14<<2)|2,{121,80,0}}, +/* 62896 */ {(14<<2)|2,{121,81,0}}, +/* 62897 */ {(14<<2)|2,{121,81,0}}, +/* 62898 */ {(14<<2)|2,{121,81,0}}, +/* 62899 */ {(14<<2)|2,{121,81,0}}, +/* 62900 */ {(14<<2)|2,{121,82,0}}, +/* 62901 */ {(14<<2)|2,{121,82,0}}, +/* 62902 */ {(14<<2)|2,{121,82,0}}, +/* 62903 */ {(14<<2)|2,{121,82,0}}, +/* 62904 */ {(14<<2)|2,{121,83,0}}, +/* 62905 */ {(14<<2)|2,{121,83,0}}, +/* 62906 */ {(14<<2)|2,{121,83,0}}, +/* 62907 */ {(14<<2)|2,{121,83,0}}, +/* 62908 */ {(14<<2)|2,{121,84,0}}, +/* 62909 */ {(14<<2)|2,{121,84,0}}, +/* 62910 */ {(14<<2)|2,{121,84,0}}, +/* 62911 */ {(14<<2)|2,{121,84,0}}, +/* 62912 */ {(14<<2)|2,{121,85,0}}, +/* 62913 */ {(14<<2)|2,{121,85,0}}, +/* 62914 */ {(14<<2)|2,{121,85,0}}, +/* 62915 */ {(14<<2)|2,{121,85,0}}, +/* 62916 */ {(14<<2)|2,{121,86,0}}, +/* 62917 */ {(14<<2)|2,{121,86,0}}, +/* 62918 */ {(14<<2)|2,{121,86,0}}, +/* 62919 */ {(14<<2)|2,{121,86,0}}, +/* 62920 */ {(14<<2)|2,{121,87,0}}, +/* 62921 */ {(14<<2)|2,{121,87,0}}, +/* 62922 */ {(14<<2)|2,{121,87,0}}, +/* 62923 */ {(14<<2)|2,{121,87,0}}, +/* 62924 */ {(14<<2)|2,{121,89,0}}, +/* 62925 */ {(14<<2)|2,{121,89,0}}, +/* 62926 */ {(14<<2)|2,{121,89,0}}, +/* 62927 */ {(14<<2)|2,{121,89,0}}, +/* 62928 */ {(14<<2)|2,{121,106,0}}, +/* 62929 */ {(14<<2)|2,{121,106,0}}, +/* 62930 */ {(14<<2)|2,{121,106,0}}, +/* 62931 */ {(14<<2)|2,{121,106,0}}, +/* 62932 */ {(14<<2)|2,{121,107,0}}, +/* 62933 */ {(14<<2)|2,{121,107,0}}, +/* 62934 */ {(14<<2)|2,{121,107,0}}, +/* 62935 */ {(14<<2)|2,{121,107,0}}, +/* 62936 */ {(14<<2)|2,{121,113,0}}, +/* 62937 */ {(14<<2)|2,{121,113,0}}, +/* 62938 */ {(14<<2)|2,{121,113,0}}, +/* 62939 */ {(14<<2)|2,{121,113,0}}, +/* 62940 */ {(14<<2)|2,{121,118,0}}, +/* 62941 */ {(14<<2)|2,{121,118,0}}, +/* 62942 */ {(14<<2)|2,{121,118,0}}, +/* 62943 */ {(14<<2)|2,{121,118,0}}, +/* 62944 */ {(14<<2)|2,{121,119,0}}, +/* 62945 */ {(14<<2)|2,{121,119,0}}, +/* 62946 */ {(14<<2)|2,{121,119,0}}, +/* 62947 */ {(14<<2)|2,{121,119,0}}, +/* 62948 */ {(14<<2)|2,{121,120,0}}, +/* 62949 */ {(14<<2)|2,{121,120,0}}, +/* 62950 */ {(14<<2)|2,{121,120,0}}, +/* 62951 */ {(14<<2)|2,{121,120,0}}, +/* 62952 */ {(14<<2)|2,{121,121,0}}, +/* 62953 */ {(14<<2)|2,{121,121,0}}, +/* 62954 */ {(14<<2)|2,{121,121,0}}, +/* 62955 */ {(14<<2)|2,{121,121,0}}, +/* 62956 */ {(14<<2)|2,{121,122,0}}, +/* 62957 */ {(14<<2)|2,{121,122,0}}, +/* 62958 */ {(14<<2)|2,{121,122,0}}, +/* 62959 */ {(14<<2)|2,{121,122,0}}, +/* 62960 */ {(15<<2)|2,{121,38,0}}, +/* 62961 */ {(15<<2)|2,{121,38,0}}, +/* 62962 */ {(15<<2)|2,{121,42,0}}, +/* 62963 */ {(15<<2)|2,{121,42,0}}, +/* 62964 */ {(15<<2)|2,{121,44,0}}, +/* 62965 */ {(15<<2)|2,{121,44,0}}, +/* 62966 */ {(15<<2)|2,{121,59,0}}, +/* 62967 */ {(15<<2)|2,{121,59,0}}, +/* 62968 */ {(15<<2)|2,{121,88,0}}, +/* 62969 */ {(15<<2)|2,{121,88,0}}, +/* 62970 */ {(15<<2)|2,{121,90,0}}, +/* 62971 */ {(15<<2)|2,{121,90,0}}, +/* 62972 */ {(7<<2)|1,{121,0,0}}, +/* 62973 */ {(7<<2)|1,{121,0,0}}, +/* 62974 */ {(7<<2)|1,{121,0,0}}, +/* 62975 */ {(7<<2)|1,{121,0,0}}, +/* 62976 */ {(12<<2)|2,{122,48,0}}, +/* 62977 */ {(12<<2)|2,{122,48,0}}, +/* 62978 */ {(12<<2)|2,{122,48,0}}, +/* 62979 */ {(12<<2)|2,{122,48,0}}, +/* 62980 */ {(12<<2)|2,{122,48,0}}, +/* 62981 */ {(12<<2)|2,{122,48,0}}, +/* 62982 */ {(12<<2)|2,{122,48,0}}, +/* 62983 */ {(12<<2)|2,{122,48,0}}, +/* 62984 */ {(12<<2)|2,{122,48,0}}, +/* 62985 */ {(12<<2)|2,{122,48,0}}, +/* 62986 */ {(12<<2)|2,{122,48,0}}, +/* 62987 */ {(12<<2)|2,{122,48,0}}, +/* 62988 */ {(12<<2)|2,{122,48,0}}, +/* 62989 */ {(12<<2)|2,{122,48,0}}, +/* 62990 */ {(12<<2)|2,{122,48,0}}, +/* 62991 */ {(12<<2)|2,{122,48,0}}, +/* 62992 */ {(12<<2)|2,{122,49,0}}, +/* 62993 */ {(12<<2)|2,{122,49,0}}, +/* 62994 */ {(12<<2)|2,{122,49,0}}, +/* 62995 */ {(12<<2)|2,{122,49,0}}, +/* 62996 */ {(12<<2)|2,{122,49,0}}, +/* 62997 */ {(12<<2)|2,{122,49,0}}, +/* 62998 */ {(12<<2)|2,{122,49,0}}, +/* 62999 */ {(12<<2)|2,{122,49,0}}, +/* 63000 */ {(12<<2)|2,{122,49,0}}, +/* 63001 */ {(12<<2)|2,{122,49,0}}, +/* 63002 */ {(12<<2)|2,{122,49,0}}, +/* 63003 */ {(12<<2)|2,{122,49,0}}, +/* 63004 */ {(12<<2)|2,{122,49,0}}, +/* 63005 */ {(12<<2)|2,{122,49,0}}, +/* 63006 */ {(12<<2)|2,{122,49,0}}, +/* 63007 */ {(12<<2)|2,{122,49,0}}, +/* 63008 */ {(12<<2)|2,{122,50,0}}, +/* 63009 */ {(12<<2)|2,{122,50,0}}, +/* 63010 */ {(12<<2)|2,{122,50,0}}, +/* 63011 */ {(12<<2)|2,{122,50,0}}, +/* 63012 */ {(12<<2)|2,{122,50,0}}, +/* 63013 */ {(12<<2)|2,{122,50,0}}, +/* 63014 */ {(12<<2)|2,{122,50,0}}, +/* 63015 */ {(12<<2)|2,{122,50,0}}, +/* 63016 */ {(12<<2)|2,{122,50,0}}, +/* 63017 */ {(12<<2)|2,{122,50,0}}, +/* 63018 */ {(12<<2)|2,{122,50,0}}, +/* 63019 */ {(12<<2)|2,{122,50,0}}, +/* 63020 */ {(12<<2)|2,{122,50,0}}, +/* 63021 */ {(12<<2)|2,{122,50,0}}, +/* 63022 */ {(12<<2)|2,{122,50,0}}, +/* 63023 */ {(12<<2)|2,{122,50,0}}, +/* 63024 */ {(12<<2)|2,{122,97,0}}, +/* 63025 */ {(12<<2)|2,{122,97,0}}, +/* 63026 */ {(12<<2)|2,{122,97,0}}, +/* 63027 */ {(12<<2)|2,{122,97,0}}, +/* 63028 */ {(12<<2)|2,{122,97,0}}, +/* 63029 */ {(12<<2)|2,{122,97,0}}, +/* 63030 */ {(12<<2)|2,{122,97,0}}, +/* 63031 */ {(12<<2)|2,{122,97,0}}, +/* 63032 */ {(12<<2)|2,{122,97,0}}, +/* 63033 */ {(12<<2)|2,{122,97,0}}, +/* 63034 */ {(12<<2)|2,{122,97,0}}, +/* 63035 */ {(12<<2)|2,{122,97,0}}, +/* 63036 */ {(12<<2)|2,{122,97,0}}, +/* 63037 */ {(12<<2)|2,{122,97,0}}, +/* 63038 */ {(12<<2)|2,{122,97,0}}, +/* 63039 */ {(12<<2)|2,{122,97,0}}, +/* 63040 */ {(12<<2)|2,{122,99,0}}, +/* 63041 */ {(12<<2)|2,{122,99,0}}, +/* 63042 */ {(12<<2)|2,{122,99,0}}, +/* 63043 */ {(12<<2)|2,{122,99,0}}, +/* 63044 */ {(12<<2)|2,{122,99,0}}, +/* 63045 */ {(12<<2)|2,{122,99,0}}, +/* 63046 */ {(12<<2)|2,{122,99,0}}, +/* 63047 */ {(12<<2)|2,{122,99,0}}, +/* 63048 */ {(12<<2)|2,{122,99,0}}, +/* 63049 */ {(12<<2)|2,{122,99,0}}, +/* 63050 */ {(12<<2)|2,{122,99,0}}, +/* 63051 */ {(12<<2)|2,{122,99,0}}, +/* 63052 */ {(12<<2)|2,{122,99,0}}, +/* 63053 */ {(12<<2)|2,{122,99,0}}, +/* 63054 */ {(12<<2)|2,{122,99,0}}, +/* 63055 */ {(12<<2)|2,{122,99,0}}, +/* 63056 */ {(12<<2)|2,{122,101,0}}, +/* 63057 */ {(12<<2)|2,{122,101,0}}, +/* 63058 */ {(12<<2)|2,{122,101,0}}, +/* 63059 */ {(12<<2)|2,{122,101,0}}, +/* 63060 */ {(12<<2)|2,{122,101,0}}, +/* 63061 */ {(12<<2)|2,{122,101,0}}, +/* 63062 */ {(12<<2)|2,{122,101,0}}, +/* 63063 */ {(12<<2)|2,{122,101,0}}, +/* 63064 */ {(12<<2)|2,{122,101,0}}, +/* 63065 */ {(12<<2)|2,{122,101,0}}, +/* 63066 */ {(12<<2)|2,{122,101,0}}, +/* 63067 */ {(12<<2)|2,{122,101,0}}, +/* 63068 */ {(12<<2)|2,{122,101,0}}, +/* 63069 */ {(12<<2)|2,{122,101,0}}, +/* 63070 */ {(12<<2)|2,{122,101,0}}, +/* 63071 */ {(12<<2)|2,{122,101,0}}, +/* 63072 */ {(12<<2)|2,{122,105,0}}, +/* 63073 */ {(12<<2)|2,{122,105,0}}, +/* 63074 */ {(12<<2)|2,{122,105,0}}, +/* 63075 */ {(12<<2)|2,{122,105,0}}, +/* 63076 */ {(12<<2)|2,{122,105,0}}, +/* 63077 */ {(12<<2)|2,{122,105,0}}, +/* 63078 */ {(12<<2)|2,{122,105,0}}, +/* 63079 */ {(12<<2)|2,{122,105,0}}, +/* 63080 */ {(12<<2)|2,{122,105,0}}, +/* 63081 */ {(12<<2)|2,{122,105,0}}, +/* 63082 */ {(12<<2)|2,{122,105,0}}, +/* 63083 */ {(12<<2)|2,{122,105,0}}, +/* 63084 */ {(12<<2)|2,{122,105,0}}, +/* 63085 */ {(12<<2)|2,{122,105,0}}, +/* 63086 */ {(12<<2)|2,{122,105,0}}, +/* 63087 */ {(12<<2)|2,{122,105,0}}, +/* 63088 */ {(12<<2)|2,{122,111,0}}, +/* 63089 */ {(12<<2)|2,{122,111,0}}, +/* 63090 */ {(12<<2)|2,{122,111,0}}, +/* 63091 */ {(12<<2)|2,{122,111,0}}, +/* 63092 */ {(12<<2)|2,{122,111,0}}, +/* 63093 */ {(12<<2)|2,{122,111,0}}, +/* 63094 */ {(12<<2)|2,{122,111,0}}, +/* 63095 */ {(12<<2)|2,{122,111,0}}, +/* 63096 */ {(12<<2)|2,{122,111,0}}, +/* 63097 */ {(12<<2)|2,{122,111,0}}, +/* 63098 */ {(12<<2)|2,{122,111,0}}, +/* 63099 */ {(12<<2)|2,{122,111,0}}, +/* 63100 */ {(12<<2)|2,{122,111,0}}, +/* 63101 */ {(12<<2)|2,{122,111,0}}, +/* 63102 */ {(12<<2)|2,{122,111,0}}, +/* 63103 */ {(12<<2)|2,{122,111,0}}, +/* 63104 */ {(12<<2)|2,{122,115,0}}, +/* 63105 */ {(12<<2)|2,{122,115,0}}, +/* 63106 */ {(12<<2)|2,{122,115,0}}, +/* 63107 */ {(12<<2)|2,{122,115,0}}, +/* 63108 */ {(12<<2)|2,{122,115,0}}, +/* 63109 */ {(12<<2)|2,{122,115,0}}, +/* 63110 */ {(12<<2)|2,{122,115,0}}, +/* 63111 */ {(12<<2)|2,{122,115,0}}, +/* 63112 */ {(12<<2)|2,{122,115,0}}, +/* 63113 */ {(12<<2)|2,{122,115,0}}, +/* 63114 */ {(12<<2)|2,{122,115,0}}, +/* 63115 */ {(12<<2)|2,{122,115,0}}, +/* 63116 */ {(12<<2)|2,{122,115,0}}, +/* 63117 */ {(12<<2)|2,{122,115,0}}, +/* 63118 */ {(12<<2)|2,{122,115,0}}, +/* 63119 */ {(12<<2)|2,{122,115,0}}, +/* 63120 */ {(12<<2)|2,{122,116,0}}, +/* 63121 */ {(12<<2)|2,{122,116,0}}, +/* 63122 */ {(12<<2)|2,{122,116,0}}, +/* 63123 */ {(12<<2)|2,{122,116,0}}, +/* 63124 */ {(12<<2)|2,{122,116,0}}, +/* 63125 */ {(12<<2)|2,{122,116,0}}, +/* 63126 */ {(12<<2)|2,{122,116,0}}, +/* 63127 */ {(12<<2)|2,{122,116,0}}, +/* 63128 */ {(12<<2)|2,{122,116,0}}, +/* 63129 */ {(12<<2)|2,{122,116,0}}, +/* 63130 */ {(12<<2)|2,{122,116,0}}, +/* 63131 */ {(12<<2)|2,{122,116,0}}, +/* 63132 */ {(12<<2)|2,{122,116,0}}, +/* 63133 */ {(12<<2)|2,{122,116,0}}, +/* 63134 */ {(12<<2)|2,{122,116,0}}, +/* 63135 */ {(12<<2)|2,{122,116,0}}, +/* 63136 */ {(13<<2)|2,{122,32,0}}, +/* 63137 */ {(13<<2)|2,{122,32,0}}, +/* 63138 */ {(13<<2)|2,{122,32,0}}, +/* 63139 */ {(13<<2)|2,{122,32,0}}, +/* 63140 */ {(13<<2)|2,{122,32,0}}, +/* 63141 */ {(13<<2)|2,{122,32,0}}, +/* 63142 */ {(13<<2)|2,{122,32,0}}, +/* 63143 */ {(13<<2)|2,{122,32,0}}, +/* 63144 */ {(13<<2)|2,{122,37,0}}, +/* 63145 */ {(13<<2)|2,{122,37,0}}, +/* 63146 */ {(13<<2)|2,{122,37,0}}, +/* 63147 */ {(13<<2)|2,{122,37,0}}, +/* 63148 */ {(13<<2)|2,{122,37,0}}, +/* 63149 */ {(13<<2)|2,{122,37,0}}, +/* 63150 */ {(13<<2)|2,{122,37,0}}, +/* 63151 */ {(13<<2)|2,{122,37,0}}, +/* 63152 */ {(13<<2)|2,{122,45,0}}, +/* 63153 */ {(13<<2)|2,{122,45,0}}, +/* 63154 */ {(13<<2)|2,{122,45,0}}, +/* 63155 */ {(13<<2)|2,{122,45,0}}, +/* 63156 */ {(13<<2)|2,{122,45,0}}, +/* 63157 */ {(13<<2)|2,{122,45,0}}, +/* 63158 */ {(13<<2)|2,{122,45,0}}, +/* 63159 */ {(13<<2)|2,{122,45,0}}, +/* 63160 */ {(13<<2)|2,{122,46,0}}, +/* 63161 */ {(13<<2)|2,{122,46,0}}, +/* 63162 */ {(13<<2)|2,{122,46,0}}, +/* 63163 */ {(13<<2)|2,{122,46,0}}, +/* 63164 */ {(13<<2)|2,{122,46,0}}, +/* 63165 */ {(13<<2)|2,{122,46,0}}, +/* 63166 */ {(13<<2)|2,{122,46,0}}, +/* 63167 */ {(13<<2)|2,{122,46,0}}, +/* 63168 */ {(13<<2)|2,{122,47,0}}, +/* 63169 */ {(13<<2)|2,{122,47,0}}, +/* 63170 */ {(13<<2)|2,{122,47,0}}, +/* 63171 */ {(13<<2)|2,{122,47,0}}, +/* 63172 */ {(13<<2)|2,{122,47,0}}, +/* 63173 */ {(13<<2)|2,{122,47,0}}, +/* 63174 */ {(13<<2)|2,{122,47,0}}, +/* 63175 */ {(13<<2)|2,{122,47,0}}, +/* 63176 */ {(13<<2)|2,{122,51,0}}, +/* 63177 */ {(13<<2)|2,{122,51,0}}, +/* 63178 */ {(13<<2)|2,{122,51,0}}, +/* 63179 */ {(13<<2)|2,{122,51,0}}, +/* 63180 */ {(13<<2)|2,{122,51,0}}, +/* 63181 */ {(13<<2)|2,{122,51,0}}, +/* 63182 */ {(13<<2)|2,{122,51,0}}, +/* 63183 */ {(13<<2)|2,{122,51,0}}, +/* 63184 */ {(13<<2)|2,{122,52,0}}, +/* 63185 */ {(13<<2)|2,{122,52,0}}, +/* 63186 */ {(13<<2)|2,{122,52,0}}, +/* 63187 */ {(13<<2)|2,{122,52,0}}, +/* 63188 */ {(13<<2)|2,{122,52,0}}, +/* 63189 */ {(13<<2)|2,{122,52,0}}, +/* 63190 */ {(13<<2)|2,{122,52,0}}, +/* 63191 */ {(13<<2)|2,{122,52,0}}, +/* 63192 */ {(13<<2)|2,{122,53,0}}, +/* 63193 */ {(13<<2)|2,{122,53,0}}, +/* 63194 */ {(13<<2)|2,{122,53,0}}, +/* 63195 */ {(13<<2)|2,{122,53,0}}, +/* 63196 */ {(13<<2)|2,{122,53,0}}, +/* 63197 */ {(13<<2)|2,{122,53,0}}, +/* 63198 */ {(13<<2)|2,{122,53,0}}, +/* 63199 */ {(13<<2)|2,{122,53,0}}, +/* 63200 */ {(13<<2)|2,{122,54,0}}, +/* 63201 */ {(13<<2)|2,{122,54,0}}, +/* 63202 */ {(13<<2)|2,{122,54,0}}, +/* 63203 */ {(13<<2)|2,{122,54,0}}, +/* 63204 */ {(13<<2)|2,{122,54,0}}, +/* 63205 */ {(13<<2)|2,{122,54,0}}, +/* 63206 */ {(13<<2)|2,{122,54,0}}, +/* 63207 */ {(13<<2)|2,{122,54,0}}, +/* 63208 */ {(13<<2)|2,{122,55,0}}, +/* 63209 */ {(13<<2)|2,{122,55,0}}, +/* 63210 */ {(13<<2)|2,{122,55,0}}, +/* 63211 */ {(13<<2)|2,{122,55,0}}, +/* 63212 */ {(13<<2)|2,{122,55,0}}, +/* 63213 */ {(13<<2)|2,{122,55,0}}, +/* 63214 */ {(13<<2)|2,{122,55,0}}, +/* 63215 */ {(13<<2)|2,{122,55,0}}, +/* 63216 */ {(13<<2)|2,{122,56,0}}, +/* 63217 */ {(13<<2)|2,{122,56,0}}, +/* 63218 */ {(13<<2)|2,{122,56,0}}, +/* 63219 */ {(13<<2)|2,{122,56,0}}, +/* 63220 */ {(13<<2)|2,{122,56,0}}, +/* 63221 */ {(13<<2)|2,{122,56,0}}, +/* 63222 */ {(13<<2)|2,{122,56,0}}, +/* 63223 */ {(13<<2)|2,{122,56,0}}, +/* 63224 */ {(13<<2)|2,{122,57,0}}, +/* 63225 */ {(13<<2)|2,{122,57,0}}, +/* 63226 */ {(13<<2)|2,{122,57,0}}, +/* 63227 */ {(13<<2)|2,{122,57,0}}, +/* 63228 */ {(13<<2)|2,{122,57,0}}, +/* 63229 */ {(13<<2)|2,{122,57,0}}, +/* 63230 */ {(13<<2)|2,{122,57,0}}, +/* 63231 */ {(13<<2)|2,{122,57,0}}, +/* 63232 */ {(13<<2)|2,{122,61,0}}, +/* 63233 */ {(13<<2)|2,{122,61,0}}, +/* 63234 */ {(13<<2)|2,{122,61,0}}, +/* 63235 */ {(13<<2)|2,{122,61,0}}, +/* 63236 */ {(13<<2)|2,{122,61,0}}, +/* 63237 */ {(13<<2)|2,{122,61,0}}, +/* 63238 */ {(13<<2)|2,{122,61,0}}, +/* 63239 */ {(13<<2)|2,{122,61,0}}, +/* 63240 */ {(13<<2)|2,{122,65,0}}, +/* 63241 */ {(13<<2)|2,{122,65,0}}, +/* 63242 */ {(13<<2)|2,{122,65,0}}, +/* 63243 */ {(13<<2)|2,{122,65,0}}, +/* 63244 */ {(13<<2)|2,{122,65,0}}, +/* 63245 */ {(13<<2)|2,{122,65,0}}, +/* 63246 */ {(13<<2)|2,{122,65,0}}, +/* 63247 */ {(13<<2)|2,{122,65,0}}, +/* 63248 */ {(13<<2)|2,{122,95,0}}, +/* 63249 */ {(13<<2)|2,{122,95,0}}, +/* 63250 */ {(13<<2)|2,{122,95,0}}, +/* 63251 */ {(13<<2)|2,{122,95,0}}, +/* 63252 */ {(13<<2)|2,{122,95,0}}, +/* 63253 */ {(13<<2)|2,{122,95,0}}, +/* 63254 */ {(13<<2)|2,{122,95,0}}, +/* 63255 */ {(13<<2)|2,{122,95,0}}, +/* 63256 */ {(13<<2)|2,{122,98,0}}, +/* 63257 */ {(13<<2)|2,{122,98,0}}, +/* 63258 */ {(13<<2)|2,{122,98,0}}, +/* 63259 */ {(13<<2)|2,{122,98,0}}, +/* 63260 */ {(13<<2)|2,{122,98,0}}, +/* 63261 */ {(13<<2)|2,{122,98,0}}, +/* 63262 */ {(13<<2)|2,{122,98,0}}, +/* 63263 */ {(13<<2)|2,{122,98,0}}, +/* 63264 */ {(13<<2)|2,{122,100,0}}, +/* 63265 */ {(13<<2)|2,{122,100,0}}, +/* 63266 */ {(13<<2)|2,{122,100,0}}, +/* 63267 */ {(13<<2)|2,{122,100,0}}, +/* 63268 */ {(13<<2)|2,{122,100,0}}, +/* 63269 */ {(13<<2)|2,{122,100,0}}, +/* 63270 */ {(13<<2)|2,{122,100,0}}, +/* 63271 */ {(13<<2)|2,{122,100,0}}, +/* 63272 */ {(13<<2)|2,{122,102,0}}, +/* 63273 */ {(13<<2)|2,{122,102,0}}, +/* 63274 */ {(13<<2)|2,{122,102,0}}, +/* 63275 */ {(13<<2)|2,{122,102,0}}, +/* 63276 */ {(13<<2)|2,{122,102,0}}, +/* 63277 */ {(13<<2)|2,{122,102,0}}, +/* 63278 */ {(13<<2)|2,{122,102,0}}, +/* 63279 */ {(13<<2)|2,{122,102,0}}, +/* 63280 */ {(13<<2)|2,{122,103,0}}, +/* 63281 */ {(13<<2)|2,{122,103,0}}, +/* 63282 */ {(13<<2)|2,{122,103,0}}, +/* 63283 */ {(13<<2)|2,{122,103,0}}, +/* 63284 */ {(13<<2)|2,{122,103,0}}, +/* 63285 */ {(13<<2)|2,{122,103,0}}, +/* 63286 */ {(13<<2)|2,{122,103,0}}, +/* 63287 */ {(13<<2)|2,{122,103,0}}, +/* 63288 */ {(13<<2)|2,{122,104,0}}, +/* 63289 */ {(13<<2)|2,{122,104,0}}, +/* 63290 */ {(13<<2)|2,{122,104,0}}, +/* 63291 */ {(13<<2)|2,{122,104,0}}, +/* 63292 */ {(13<<2)|2,{122,104,0}}, +/* 63293 */ {(13<<2)|2,{122,104,0}}, +/* 63294 */ {(13<<2)|2,{122,104,0}}, +/* 63295 */ {(13<<2)|2,{122,104,0}}, +/* 63296 */ {(13<<2)|2,{122,108,0}}, +/* 63297 */ {(13<<2)|2,{122,108,0}}, +/* 63298 */ {(13<<2)|2,{122,108,0}}, +/* 63299 */ {(13<<2)|2,{122,108,0}}, +/* 63300 */ {(13<<2)|2,{122,108,0}}, +/* 63301 */ {(13<<2)|2,{122,108,0}}, +/* 63302 */ {(13<<2)|2,{122,108,0}}, +/* 63303 */ {(13<<2)|2,{122,108,0}}, +/* 63304 */ {(13<<2)|2,{122,109,0}}, +/* 63305 */ {(13<<2)|2,{122,109,0}}, +/* 63306 */ {(13<<2)|2,{122,109,0}}, +/* 63307 */ {(13<<2)|2,{122,109,0}}, +/* 63308 */ {(13<<2)|2,{122,109,0}}, +/* 63309 */ {(13<<2)|2,{122,109,0}}, +/* 63310 */ {(13<<2)|2,{122,109,0}}, +/* 63311 */ {(13<<2)|2,{122,109,0}}, +/* 63312 */ {(13<<2)|2,{122,110,0}}, +/* 63313 */ {(13<<2)|2,{122,110,0}}, +/* 63314 */ {(13<<2)|2,{122,110,0}}, +/* 63315 */ {(13<<2)|2,{122,110,0}}, +/* 63316 */ {(13<<2)|2,{122,110,0}}, +/* 63317 */ {(13<<2)|2,{122,110,0}}, +/* 63318 */ {(13<<2)|2,{122,110,0}}, +/* 63319 */ {(13<<2)|2,{122,110,0}}, +/* 63320 */ {(13<<2)|2,{122,112,0}}, +/* 63321 */ {(13<<2)|2,{122,112,0}}, +/* 63322 */ {(13<<2)|2,{122,112,0}}, +/* 63323 */ {(13<<2)|2,{122,112,0}}, +/* 63324 */ {(13<<2)|2,{122,112,0}}, +/* 63325 */ {(13<<2)|2,{122,112,0}}, +/* 63326 */ {(13<<2)|2,{122,112,0}}, +/* 63327 */ {(13<<2)|2,{122,112,0}}, +/* 63328 */ {(13<<2)|2,{122,114,0}}, +/* 63329 */ {(13<<2)|2,{122,114,0}}, +/* 63330 */ {(13<<2)|2,{122,114,0}}, +/* 63331 */ {(13<<2)|2,{122,114,0}}, +/* 63332 */ {(13<<2)|2,{122,114,0}}, +/* 63333 */ {(13<<2)|2,{122,114,0}}, +/* 63334 */ {(13<<2)|2,{122,114,0}}, +/* 63335 */ {(13<<2)|2,{122,114,0}}, +/* 63336 */ {(13<<2)|2,{122,117,0}}, +/* 63337 */ {(13<<2)|2,{122,117,0}}, +/* 63338 */ {(13<<2)|2,{122,117,0}}, +/* 63339 */ {(13<<2)|2,{122,117,0}}, +/* 63340 */ {(13<<2)|2,{122,117,0}}, +/* 63341 */ {(13<<2)|2,{122,117,0}}, +/* 63342 */ {(13<<2)|2,{122,117,0}}, +/* 63343 */ {(13<<2)|2,{122,117,0}}, +/* 63344 */ {(14<<2)|2,{122,58,0}}, +/* 63345 */ {(14<<2)|2,{122,58,0}}, +/* 63346 */ {(14<<2)|2,{122,58,0}}, +/* 63347 */ {(14<<2)|2,{122,58,0}}, +/* 63348 */ {(14<<2)|2,{122,66,0}}, +/* 63349 */ {(14<<2)|2,{122,66,0}}, +/* 63350 */ {(14<<2)|2,{122,66,0}}, +/* 63351 */ {(14<<2)|2,{122,66,0}}, +/* 63352 */ {(14<<2)|2,{122,67,0}}, +/* 63353 */ {(14<<2)|2,{122,67,0}}, +/* 63354 */ {(14<<2)|2,{122,67,0}}, +/* 63355 */ {(14<<2)|2,{122,67,0}}, +/* 63356 */ {(14<<2)|2,{122,68,0}}, +/* 63357 */ {(14<<2)|2,{122,68,0}}, +/* 63358 */ {(14<<2)|2,{122,68,0}}, +/* 63359 */ {(14<<2)|2,{122,68,0}}, +/* 63360 */ {(14<<2)|2,{122,69,0}}, +/* 63361 */ {(14<<2)|2,{122,69,0}}, +/* 63362 */ {(14<<2)|2,{122,69,0}}, +/* 63363 */ {(14<<2)|2,{122,69,0}}, +/* 63364 */ {(14<<2)|2,{122,70,0}}, +/* 63365 */ {(14<<2)|2,{122,70,0}}, +/* 63366 */ {(14<<2)|2,{122,70,0}}, +/* 63367 */ {(14<<2)|2,{122,70,0}}, +/* 63368 */ {(14<<2)|2,{122,71,0}}, +/* 63369 */ {(14<<2)|2,{122,71,0}}, +/* 63370 */ {(14<<2)|2,{122,71,0}}, +/* 63371 */ {(14<<2)|2,{122,71,0}}, +/* 63372 */ {(14<<2)|2,{122,72,0}}, +/* 63373 */ {(14<<2)|2,{122,72,0}}, +/* 63374 */ {(14<<2)|2,{122,72,0}}, +/* 63375 */ {(14<<2)|2,{122,72,0}}, +/* 63376 */ {(14<<2)|2,{122,73,0}}, +/* 63377 */ {(14<<2)|2,{122,73,0}}, +/* 63378 */ {(14<<2)|2,{122,73,0}}, +/* 63379 */ {(14<<2)|2,{122,73,0}}, +/* 63380 */ {(14<<2)|2,{122,74,0}}, +/* 63381 */ {(14<<2)|2,{122,74,0}}, +/* 63382 */ {(14<<2)|2,{122,74,0}}, +/* 63383 */ {(14<<2)|2,{122,74,0}}, +/* 63384 */ {(14<<2)|2,{122,75,0}}, +/* 63385 */ {(14<<2)|2,{122,75,0}}, +/* 63386 */ {(14<<2)|2,{122,75,0}}, +/* 63387 */ {(14<<2)|2,{122,75,0}}, +/* 63388 */ {(14<<2)|2,{122,76,0}}, +/* 63389 */ {(14<<2)|2,{122,76,0}}, +/* 63390 */ {(14<<2)|2,{122,76,0}}, +/* 63391 */ {(14<<2)|2,{122,76,0}}, +/* 63392 */ {(14<<2)|2,{122,77,0}}, +/* 63393 */ {(14<<2)|2,{122,77,0}}, +/* 63394 */ {(14<<2)|2,{122,77,0}}, +/* 63395 */ {(14<<2)|2,{122,77,0}}, +/* 63396 */ {(14<<2)|2,{122,78,0}}, +/* 63397 */ {(14<<2)|2,{122,78,0}}, +/* 63398 */ {(14<<2)|2,{122,78,0}}, +/* 63399 */ {(14<<2)|2,{122,78,0}}, +/* 63400 */ {(14<<2)|2,{122,79,0}}, +/* 63401 */ {(14<<2)|2,{122,79,0}}, +/* 63402 */ {(14<<2)|2,{122,79,0}}, +/* 63403 */ {(14<<2)|2,{122,79,0}}, +/* 63404 */ {(14<<2)|2,{122,80,0}}, +/* 63405 */ {(14<<2)|2,{122,80,0}}, +/* 63406 */ {(14<<2)|2,{122,80,0}}, +/* 63407 */ {(14<<2)|2,{122,80,0}}, +/* 63408 */ {(14<<2)|2,{122,81,0}}, +/* 63409 */ {(14<<2)|2,{122,81,0}}, +/* 63410 */ {(14<<2)|2,{122,81,0}}, +/* 63411 */ {(14<<2)|2,{122,81,0}}, +/* 63412 */ {(14<<2)|2,{122,82,0}}, +/* 63413 */ {(14<<2)|2,{122,82,0}}, +/* 63414 */ {(14<<2)|2,{122,82,0}}, +/* 63415 */ {(14<<2)|2,{122,82,0}}, +/* 63416 */ {(14<<2)|2,{122,83,0}}, +/* 63417 */ {(14<<2)|2,{122,83,0}}, +/* 63418 */ {(14<<2)|2,{122,83,0}}, +/* 63419 */ {(14<<2)|2,{122,83,0}}, +/* 63420 */ {(14<<2)|2,{122,84,0}}, +/* 63421 */ {(14<<2)|2,{122,84,0}}, +/* 63422 */ {(14<<2)|2,{122,84,0}}, +/* 63423 */ {(14<<2)|2,{122,84,0}}, +/* 63424 */ {(14<<2)|2,{122,85,0}}, +/* 63425 */ {(14<<2)|2,{122,85,0}}, +/* 63426 */ {(14<<2)|2,{122,85,0}}, +/* 63427 */ {(14<<2)|2,{122,85,0}}, +/* 63428 */ {(14<<2)|2,{122,86,0}}, +/* 63429 */ {(14<<2)|2,{122,86,0}}, +/* 63430 */ {(14<<2)|2,{122,86,0}}, +/* 63431 */ {(14<<2)|2,{122,86,0}}, +/* 63432 */ {(14<<2)|2,{122,87,0}}, +/* 63433 */ {(14<<2)|2,{122,87,0}}, +/* 63434 */ {(14<<2)|2,{122,87,0}}, +/* 63435 */ {(14<<2)|2,{122,87,0}}, +/* 63436 */ {(14<<2)|2,{122,89,0}}, +/* 63437 */ {(14<<2)|2,{122,89,0}}, +/* 63438 */ {(14<<2)|2,{122,89,0}}, +/* 63439 */ {(14<<2)|2,{122,89,0}}, +/* 63440 */ {(14<<2)|2,{122,106,0}}, +/* 63441 */ {(14<<2)|2,{122,106,0}}, +/* 63442 */ {(14<<2)|2,{122,106,0}}, +/* 63443 */ {(14<<2)|2,{122,106,0}}, +/* 63444 */ {(14<<2)|2,{122,107,0}}, +/* 63445 */ {(14<<2)|2,{122,107,0}}, +/* 63446 */ {(14<<2)|2,{122,107,0}}, +/* 63447 */ {(14<<2)|2,{122,107,0}}, +/* 63448 */ {(14<<2)|2,{122,113,0}}, +/* 63449 */ {(14<<2)|2,{122,113,0}}, +/* 63450 */ {(14<<2)|2,{122,113,0}}, +/* 63451 */ {(14<<2)|2,{122,113,0}}, +/* 63452 */ {(14<<2)|2,{122,118,0}}, +/* 63453 */ {(14<<2)|2,{122,118,0}}, +/* 63454 */ {(14<<2)|2,{122,118,0}}, +/* 63455 */ {(14<<2)|2,{122,118,0}}, +/* 63456 */ {(14<<2)|2,{122,119,0}}, +/* 63457 */ {(14<<2)|2,{122,119,0}}, +/* 63458 */ {(14<<2)|2,{122,119,0}}, +/* 63459 */ {(14<<2)|2,{122,119,0}}, +/* 63460 */ {(14<<2)|2,{122,120,0}}, +/* 63461 */ {(14<<2)|2,{122,120,0}}, +/* 63462 */ {(14<<2)|2,{122,120,0}}, +/* 63463 */ {(14<<2)|2,{122,120,0}}, +/* 63464 */ {(14<<2)|2,{122,121,0}}, +/* 63465 */ {(14<<2)|2,{122,121,0}}, +/* 63466 */ {(14<<2)|2,{122,121,0}}, +/* 63467 */ {(14<<2)|2,{122,121,0}}, +/* 63468 */ {(14<<2)|2,{122,122,0}}, +/* 63469 */ {(14<<2)|2,{122,122,0}}, +/* 63470 */ {(14<<2)|2,{122,122,0}}, +/* 63471 */ {(14<<2)|2,{122,122,0}}, +/* 63472 */ {(15<<2)|2,{122,38,0}}, +/* 63473 */ {(15<<2)|2,{122,38,0}}, +/* 63474 */ {(15<<2)|2,{122,42,0}}, +/* 63475 */ {(15<<2)|2,{122,42,0}}, +/* 63476 */ {(15<<2)|2,{122,44,0}}, +/* 63477 */ {(15<<2)|2,{122,44,0}}, +/* 63478 */ {(15<<2)|2,{122,59,0}}, +/* 63479 */ {(15<<2)|2,{122,59,0}}, +/* 63480 */ {(15<<2)|2,{122,88,0}}, +/* 63481 */ {(15<<2)|2,{122,88,0}}, +/* 63482 */ {(15<<2)|2,{122,90,0}}, +/* 63483 */ {(15<<2)|2,{122,90,0}}, +/* 63484 */ {(7<<2)|1,{122,0,0}}, +/* 63485 */ {(7<<2)|1,{122,0,0}}, +/* 63486 */ {(7<<2)|1,{122,0,0}}, +/* 63487 */ {(7<<2)|1,{122,0,0}}, +/* 63488 */ {(13<<2)|2,{38,48,0}}, +/* 63489 */ {(13<<2)|2,{38,48,0}}, +/* 63490 */ {(13<<2)|2,{38,48,0}}, +/* 63491 */ {(13<<2)|2,{38,48,0}}, +/* 63492 */ {(13<<2)|2,{38,48,0}}, +/* 63493 */ {(13<<2)|2,{38,48,0}}, +/* 63494 */ {(13<<2)|2,{38,48,0}}, +/* 63495 */ {(13<<2)|2,{38,48,0}}, +/* 63496 */ {(13<<2)|2,{38,49,0}}, +/* 63497 */ {(13<<2)|2,{38,49,0}}, +/* 63498 */ {(13<<2)|2,{38,49,0}}, +/* 63499 */ {(13<<2)|2,{38,49,0}}, +/* 63500 */ {(13<<2)|2,{38,49,0}}, +/* 63501 */ {(13<<2)|2,{38,49,0}}, +/* 63502 */ {(13<<2)|2,{38,49,0}}, +/* 63503 */ {(13<<2)|2,{38,49,0}}, +/* 63504 */ {(13<<2)|2,{38,50,0}}, +/* 63505 */ {(13<<2)|2,{38,50,0}}, +/* 63506 */ {(13<<2)|2,{38,50,0}}, +/* 63507 */ {(13<<2)|2,{38,50,0}}, +/* 63508 */ {(13<<2)|2,{38,50,0}}, +/* 63509 */ {(13<<2)|2,{38,50,0}}, +/* 63510 */ {(13<<2)|2,{38,50,0}}, +/* 63511 */ {(13<<2)|2,{38,50,0}}, +/* 63512 */ {(13<<2)|2,{38,97,0}}, +/* 63513 */ {(13<<2)|2,{38,97,0}}, +/* 63514 */ {(13<<2)|2,{38,97,0}}, +/* 63515 */ {(13<<2)|2,{38,97,0}}, +/* 63516 */ {(13<<2)|2,{38,97,0}}, +/* 63517 */ {(13<<2)|2,{38,97,0}}, +/* 63518 */ {(13<<2)|2,{38,97,0}}, +/* 63519 */ {(13<<2)|2,{38,97,0}}, +/* 63520 */ {(13<<2)|2,{38,99,0}}, +/* 63521 */ {(13<<2)|2,{38,99,0}}, +/* 63522 */ {(13<<2)|2,{38,99,0}}, +/* 63523 */ {(13<<2)|2,{38,99,0}}, +/* 63524 */ {(13<<2)|2,{38,99,0}}, +/* 63525 */ {(13<<2)|2,{38,99,0}}, +/* 63526 */ {(13<<2)|2,{38,99,0}}, +/* 63527 */ {(13<<2)|2,{38,99,0}}, +/* 63528 */ {(13<<2)|2,{38,101,0}}, +/* 63529 */ {(13<<2)|2,{38,101,0}}, +/* 63530 */ {(13<<2)|2,{38,101,0}}, +/* 63531 */ {(13<<2)|2,{38,101,0}}, +/* 63532 */ {(13<<2)|2,{38,101,0}}, +/* 63533 */ {(13<<2)|2,{38,101,0}}, +/* 63534 */ {(13<<2)|2,{38,101,0}}, +/* 63535 */ {(13<<2)|2,{38,101,0}}, +/* 63536 */ {(13<<2)|2,{38,105,0}}, +/* 63537 */ {(13<<2)|2,{38,105,0}}, +/* 63538 */ {(13<<2)|2,{38,105,0}}, +/* 63539 */ {(13<<2)|2,{38,105,0}}, +/* 63540 */ {(13<<2)|2,{38,105,0}}, +/* 63541 */ {(13<<2)|2,{38,105,0}}, +/* 63542 */ {(13<<2)|2,{38,105,0}}, +/* 63543 */ {(13<<2)|2,{38,105,0}}, +/* 63544 */ {(13<<2)|2,{38,111,0}}, +/* 63545 */ {(13<<2)|2,{38,111,0}}, +/* 63546 */ {(13<<2)|2,{38,111,0}}, +/* 63547 */ {(13<<2)|2,{38,111,0}}, +/* 63548 */ {(13<<2)|2,{38,111,0}}, +/* 63549 */ {(13<<2)|2,{38,111,0}}, +/* 63550 */ {(13<<2)|2,{38,111,0}}, +/* 63551 */ {(13<<2)|2,{38,111,0}}, +/* 63552 */ {(13<<2)|2,{38,115,0}}, +/* 63553 */ {(13<<2)|2,{38,115,0}}, +/* 63554 */ {(13<<2)|2,{38,115,0}}, +/* 63555 */ {(13<<2)|2,{38,115,0}}, +/* 63556 */ {(13<<2)|2,{38,115,0}}, +/* 63557 */ {(13<<2)|2,{38,115,0}}, +/* 63558 */ {(13<<2)|2,{38,115,0}}, +/* 63559 */ {(13<<2)|2,{38,115,0}}, +/* 63560 */ {(13<<2)|2,{38,116,0}}, +/* 63561 */ {(13<<2)|2,{38,116,0}}, +/* 63562 */ {(13<<2)|2,{38,116,0}}, +/* 63563 */ {(13<<2)|2,{38,116,0}}, +/* 63564 */ {(13<<2)|2,{38,116,0}}, +/* 63565 */ {(13<<2)|2,{38,116,0}}, +/* 63566 */ {(13<<2)|2,{38,116,0}}, +/* 63567 */ {(13<<2)|2,{38,116,0}}, +/* 63568 */ {(14<<2)|2,{38,32,0}}, +/* 63569 */ {(14<<2)|2,{38,32,0}}, +/* 63570 */ {(14<<2)|2,{38,32,0}}, +/* 63571 */ {(14<<2)|2,{38,32,0}}, +/* 63572 */ {(14<<2)|2,{38,37,0}}, +/* 63573 */ {(14<<2)|2,{38,37,0}}, +/* 63574 */ {(14<<2)|2,{38,37,0}}, +/* 63575 */ {(14<<2)|2,{38,37,0}}, +/* 63576 */ {(14<<2)|2,{38,45,0}}, +/* 63577 */ {(14<<2)|2,{38,45,0}}, +/* 63578 */ {(14<<2)|2,{38,45,0}}, +/* 63579 */ {(14<<2)|2,{38,45,0}}, +/* 63580 */ {(14<<2)|2,{38,46,0}}, +/* 63581 */ {(14<<2)|2,{38,46,0}}, +/* 63582 */ {(14<<2)|2,{38,46,0}}, +/* 63583 */ {(14<<2)|2,{38,46,0}}, +/* 63584 */ {(14<<2)|2,{38,47,0}}, +/* 63585 */ {(14<<2)|2,{38,47,0}}, +/* 63586 */ {(14<<2)|2,{38,47,0}}, +/* 63587 */ {(14<<2)|2,{38,47,0}}, +/* 63588 */ {(14<<2)|2,{38,51,0}}, +/* 63589 */ {(14<<2)|2,{38,51,0}}, +/* 63590 */ {(14<<2)|2,{38,51,0}}, +/* 63591 */ {(14<<2)|2,{38,51,0}}, +/* 63592 */ {(14<<2)|2,{38,52,0}}, +/* 63593 */ {(14<<2)|2,{38,52,0}}, +/* 63594 */ {(14<<2)|2,{38,52,0}}, +/* 63595 */ {(14<<2)|2,{38,52,0}}, +/* 63596 */ {(14<<2)|2,{38,53,0}}, +/* 63597 */ {(14<<2)|2,{38,53,0}}, +/* 63598 */ {(14<<2)|2,{38,53,0}}, +/* 63599 */ {(14<<2)|2,{38,53,0}}, +/* 63600 */ {(14<<2)|2,{38,54,0}}, +/* 63601 */ {(14<<2)|2,{38,54,0}}, +/* 63602 */ {(14<<2)|2,{38,54,0}}, +/* 63603 */ {(14<<2)|2,{38,54,0}}, +/* 63604 */ {(14<<2)|2,{38,55,0}}, +/* 63605 */ {(14<<2)|2,{38,55,0}}, +/* 63606 */ {(14<<2)|2,{38,55,0}}, +/* 63607 */ {(14<<2)|2,{38,55,0}}, +/* 63608 */ {(14<<2)|2,{38,56,0}}, +/* 63609 */ {(14<<2)|2,{38,56,0}}, +/* 63610 */ {(14<<2)|2,{38,56,0}}, +/* 63611 */ {(14<<2)|2,{38,56,0}}, +/* 63612 */ {(14<<2)|2,{38,57,0}}, +/* 63613 */ {(14<<2)|2,{38,57,0}}, +/* 63614 */ {(14<<2)|2,{38,57,0}}, +/* 63615 */ {(14<<2)|2,{38,57,0}}, +/* 63616 */ {(14<<2)|2,{38,61,0}}, +/* 63617 */ {(14<<2)|2,{38,61,0}}, +/* 63618 */ {(14<<2)|2,{38,61,0}}, +/* 63619 */ {(14<<2)|2,{38,61,0}}, +/* 63620 */ {(14<<2)|2,{38,65,0}}, +/* 63621 */ {(14<<2)|2,{38,65,0}}, +/* 63622 */ {(14<<2)|2,{38,65,0}}, +/* 63623 */ {(14<<2)|2,{38,65,0}}, +/* 63624 */ {(14<<2)|2,{38,95,0}}, +/* 63625 */ {(14<<2)|2,{38,95,0}}, +/* 63626 */ {(14<<2)|2,{38,95,0}}, +/* 63627 */ {(14<<2)|2,{38,95,0}}, +/* 63628 */ {(14<<2)|2,{38,98,0}}, +/* 63629 */ {(14<<2)|2,{38,98,0}}, +/* 63630 */ {(14<<2)|2,{38,98,0}}, +/* 63631 */ {(14<<2)|2,{38,98,0}}, +/* 63632 */ {(14<<2)|2,{38,100,0}}, +/* 63633 */ {(14<<2)|2,{38,100,0}}, +/* 63634 */ {(14<<2)|2,{38,100,0}}, +/* 63635 */ {(14<<2)|2,{38,100,0}}, +/* 63636 */ {(14<<2)|2,{38,102,0}}, +/* 63637 */ {(14<<2)|2,{38,102,0}}, +/* 63638 */ {(14<<2)|2,{38,102,0}}, +/* 63639 */ {(14<<2)|2,{38,102,0}}, +/* 63640 */ {(14<<2)|2,{38,103,0}}, +/* 63641 */ {(14<<2)|2,{38,103,0}}, +/* 63642 */ {(14<<2)|2,{38,103,0}}, +/* 63643 */ {(14<<2)|2,{38,103,0}}, +/* 63644 */ {(14<<2)|2,{38,104,0}}, +/* 63645 */ {(14<<2)|2,{38,104,0}}, +/* 63646 */ {(14<<2)|2,{38,104,0}}, +/* 63647 */ {(14<<2)|2,{38,104,0}}, +/* 63648 */ {(14<<2)|2,{38,108,0}}, +/* 63649 */ {(14<<2)|2,{38,108,0}}, +/* 63650 */ {(14<<2)|2,{38,108,0}}, +/* 63651 */ {(14<<2)|2,{38,108,0}}, +/* 63652 */ {(14<<2)|2,{38,109,0}}, +/* 63653 */ {(14<<2)|2,{38,109,0}}, +/* 63654 */ {(14<<2)|2,{38,109,0}}, +/* 63655 */ {(14<<2)|2,{38,109,0}}, +/* 63656 */ {(14<<2)|2,{38,110,0}}, +/* 63657 */ {(14<<2)|2,{38,110,0}}, +/* 63658 */ {(14<<2)|2,{38,110,0}}, +/* 63659 */ {(14<<2)|2,{38,110,0}}, +/* 63660 */ {(14<<2)|2,{38,112,0}}, +/* 63661 */ {(14<<2)|2,{38,112,0}}, +/* 63662 */ {(14<<2)|2,{38,112,0}}, +/* 63663 */ {(14<<2)|2,{38,112,0}}, +/* 63664 */ {(14<<2)|2,{38,114,0}}, +/* 63665 */ {(14<<2)|2,{38,114,0}}, +/* 63666 */ {(14<<2)|2,{38,114,0}}, +/* 63667 */ {(14<<2)|2,{38,114,0}}, +/* 63668 */ {(14<<2)|2,{38,117,0}}, +/* 63669 */ {(14<<2)|2,{38,117,0}}, +/* 63670 */ {(14<<2)|2,{38,117,0}}, +/* 63671 */ {(14<<2)|2,{38,117,0}}, +/* 63672 */ {(15<<2)|2,{38,58,0}}, +/* 63673 */ {(15<<2)|2,{38,58,0}}, +/* 63674 */ {(15<<2)|2,{38,66,0}}, +/* 63675 */ {(15<<2)|2,{38,66,0}}, +/* 63676 */ {(15<<2)|2,{38,67,0}}, +/* 63677 */ {(15<<2)|2,{38,67,0}}, +/* 63678 */ {(15<<2)|2,{38,68,0}}, +/* 63679 */ {(15<<2)|2,{38,68,0}}, +/* 63680 */ {(15<<2)|2,{38,69,0}}, +/* 63681 */ {(15<<2)|2,{38,69,0}}, +/* 63682 */ {(15<<2)|2,{38,70,0}}, +/* 63683 */ {(15<<2)|2,{38,70,0}}, +/* 63684 */ {(15<<2)|2,{38,71,0}}, +/* 63685 */ {(15<<2)|2,{38,71,0}}, +/* 63686 */ {(15<<2)|2,{38,72,0}}, +/* 63687 */ {(15<<2)|2,{38,72,0}}, +/* 63688 */ {(15<<2)|2,{38,73,0}}, +/* 63689 */ {(15<<2)|2,{38,73,0}}, +/* 63690 */ {(15<<2)|2,{38,74,0}}, +/* 63691 */ {(15<<2)|2,{38,74,0}}, +/* 63692 */ {(15<<2)|2,{38,75,0}}, +/* 63693 */ {(15<<2)|2,{38,75,0}}, +/* 63694 */ {(15<<2)|2,{38,76,0}}, +/* 63695 */ {(15<<2)|2,{38,76,0}}, +/* 63696 */ {(15<<2)|2,{38,77,0}}, +/* 63697 */ {(15<<2)|2,{38,77,0}}, +/* 63698 */ {(15<<2)|2,{38,78,0}}, +/* 63699 */ {(15<<2)|2,{38,78,0}}, +/* 63700 */ {(15<<2)|2,{38,79,0}}, +/* 63701 */ {(15<<2)|2,{38,79,0}}, +/* 63702 */ {(15<<2)|2,{38,80,0}}, +/* 63703 */ {(15<<2)|2,{38,80,0}}, +/* 63704 */ {(15<<2)|2,{38,81,0}}, +/* 63705 */ {(15<<2)|2,{38,81,0}}, +/* 63706 */ {(15<<2)|2,{38,82,0}}, +/* 63707 */ {(15<<2)|2,{38,82,0}}, +/* 63708 */ {(15<<2)|2,{38,83,0}}, +/* 63709 */ {(15<<2)|2,{38,83,0}}, +/* 63710 */ {(15<<2)|2,{38,84,0}}, +/* 63711 */ {(15<<2)|2,{38,84,0}}, +/* 63712 */ {(15<<2)|2,{38,85,0}}, +/* 63713 */ {(15<<2)|2,{38,85,0}}, +/* 63714 */ {(15<<2)|2,{38,86,0}}, +/* 63715 */ {(15<<2)|2,{38,86,0}}, +/* 63716 */ {(15<<2)|2,{38,87,0}}, +/* 63717 */ {(15<<2)|2,{38,87,0}}, +/* 63718 */ {(15<<2)|2,{38,89,0}}, +/* 63719 */ {(15<<2)|2,{38,89,0}}, +/* 63720 */ {(15<<2)|2,{38,106,0}}, +/* 63721 */ {(15<<2)|2,{38,106,0}}, +/* 63722 */ {(15<<2)|2,{38,107,0}}, +/* 63723 */ {(15<<2)|2,{38,107,0}}, +/* 63724 */ {(15<<2)|2,{38,113,0}}, +/* 63725 */ {(15<<2)|2,{38,113,0}}, +/* 63726 */ {(15<<2)|2,{38,118,0}}, +/* 63727 */ {(15<<2)|2,{38,118,0}}, +/* 63728 */ {(15<<2)|2,{38,119,0}}, +/* 63729 */ {(15<<2)|2,{38,119,0}}, +/* 63730 */ {(15<<2)|2,{38,120,0}}, +/* 63731 */ {(15<<2)|2,{38,120,0}}, +/* 63732 */ {(15<<2)|2,{38,121,0}}, +/* 63733 */ {(15<<2)|2,{38,121,0}}, +/* 63734 */ {(15<<2)|2,{38,122,0}}, +/* 63735 */ {(15<<2)|2,{38,122,0}}, +/* 63736 */ {(16<<2)|2,{38,38,0}}, +/* 63737 */ {(16<<2)|2,{38,42,0}}, +/* 63738 */ {(16<<2)|2,{38,44,0}}, +/* 63739 */ {(16<<2)|2,{38,59,0}}, +/* 63740 */ {(16<<2)|2,{38,88,0}}, +/* 63741 */ {(16<<2)|2,{38,90,0}}, +/* 63742 */ {(8<<2)|1,{38,0,0}}, +/* 63743 */ {(8<<2)|1,{38,0,0}}, +/* 63744 */ {(13<<2)|2,{42,48,0}}, +/* 63745 */ {(13<<2)|2,{42,48,0}}, +/* 63746 */ {(13<<2)|2,{42,48,0}}, +/* 63747 */ {(13<<2)|2,{42,48,0}}, +/* 63748 */ {(13<<2)|2,{42,48,0}}, +/* 63749 */ {(13<<2)|2,{42,48,0}}, +/* 63750 */ {(13<<2)|2,{42,48,0}}, +/* 63751 */ {(13<<2)|2,{42,48,0}}, +/* 63752 */ {(13<<2)|2,{42,49,0}}, +/* 63753 */ {(13<<2)|2,{42,49,0}}, +/* 63754 */ {(13<<2)|2,{42,49,0}}, +/* 63755 */ {(13<<2)|2,{42,49,0}}, +/* 63756 */ {(13<<2)|2,{42,49,0}}, +/* 63757 */ {(13<<2)|2,{42,49,0}}, +/* 63758 */ {(13<<2)|2,{42,49,0}}, +/* 63759 */ {(13<<2)|2,{42,49,0}}, +/* 63760 */ {(13<<2)|2,{42,50,0}}, +/* 63761 */ {(13<<2)|2,{42,50,0}}, +/* 63762 */ {(13<<2)|2,{42,50,0}}, +/* 63763 */ {(13<<2)|2,{42,50,0}}, +/* 63764 */ {(13<<2)|2,{42,50,0}}, +/* 63765 */ {(13<<2)|2,{42,50,0}}, +/* 63766 */ {(13<<2)|2,{42,50,0}}, +/* 63767 */ {(13<<2)|2,{42,50,0}}, +/* 63768 */ {(13<<2)|2,{42,97,0}}, +/* 63769 */ {(13<<2)|2,{42,97,0}}, +/* 63770 */ {(13<<2)|2,{42,97,0}}, +/* 63771 */ {(13<<2)|2,{42,97,0}}, +/* 63772 */ {(13<<2)|2,{42,97,0}}, +/* 63773 */ {(13<<2)|2,{42,97,0}}, +/* 63774 */ {(13<<2)|2,{42,97,0}}, +/* 63775 */ {(13<<2)|2,{42,97,0}}, +/* 63776 */ {(13<<2)|2,{42,99,0}}, +/* 63777 */ {(13<<2)|2,{42,99,0}}, +/* 63778 */ {(13<<2)|2,{42,99,0}}, +/* 63779 */ {(13<<2)|2,{42,99,0}}, +/* 63780 */ {(13<<2)|2,{42,99,0}}, +/* 63781 */ {(13<<2)|2,{42,99,0}}, +/* 63782 */ {(13<<2)|2,{42,99,0}}, +/* 63783 */ {(13<<2)|2,{42,99,0}}, +/* 63784 */ {(13<<2)|2,{42,101,0}}, +/* 63785 */ {(13<<2)|2,{42,101,0}}, +/* 63786 */ {(13<<2)|2,{42,101,0}}, +/* 63787 */ {(13<<2)|2,{42,101,0}}, +/* 63788 */ {(13<<2)|2,{42,101,0}}, +/* 63789 */ {(13<<2)|2,{42,101,0}}, +/* 63790 */ {(13<<2)|2,{42,101,0}}, +/* 63791 */ {(13<<2)|2,{42,101,0}}, +/* 63792 */ {(13<<2)|2,{42,105,0}}, +/* 63793 */ {(13<<2)|2,{42,105,0}}, +/* 63794 */ {(13<<2)|2,{42,105,0}}, +/* 63795 */ {(13<<2)|2,{42,105,0}}, +/* 63796 */ {(13<<2)|2,{42,105,0}}, +/* 63797 */ {(13<<2)|2,{42,105,0}}, +/* 63798 */ {(13<<2)|2,{42,105,0}}, +/* 63799 */ {(13<<2)|2,{42,105,0}}, +/* 63800 */ {(13<<2)|2,{42,111,0}}, +/* 63801 */ {(13<<2)|2,{42,111,0}}, +/* 63802 */ {(13<<2)|2,{42,111,0}}, +/* 63803 */ {(13<<2)|2,{42,111,0}}, +/* 63804 */ {(13<<2)|2,{42,111,0}}, +/* 63805 */ {(13<<2)|2,{42,111,0}}, +/* 63806 */ {(13<<2)|2,{42,111,0}}, +/* 63807 */ {(13<<2)|2,{42,111,0}}, +/* 63808 */ {(13<<2)|2,{42,115,0}}, +/* 63809 */ {(13<<2)|2,{42,115,0}}, +/* 63810 */ {(13<<2)|2,{42,115,0}}, +/* 63811 */ {(13<<2)|2,{42,115,0}}, +/* 63812 */ {(13<<2)|2,{42,115,0}}, +/* 63813 */ {(13<<2)|2,{42,115,0}}, +/* 63814 */ {(13<<2)|2,{42,115,0}}, +/* 63815 */ {(13<<2)|2,{42,115,0}}, +/* 63816 */ {(13<<2)|2,{42,116,0}}, +/* 63817 */ {(13<<2)|2,{42,116,0}}, +/* 63818 */ {(13<<2)|2,{42,116,0}}, +/* 63819 */ {(13<<2)|2,{42,116,0}}, +/* 63820 */ {(13<<2)|2,{42,116,0}}, +/* 63821 */ {(13<<2)|2,{42,116,0}}, +/* 63822 */ {(13<<2)|2,{42,116,0}}, +/* 63823 */ {(13<<2)|2,{42,116,0}}, +/* 63824 */ {(14<<2)|2,{42,32,0}}, +/* 63825 */ {(14<<2)|2,{42,32,0}}, +/* 63826 */ {(14<<2)|2,{42,32,0}}, +/* 63827 */ {(14<<2)|2,{42,32,0}}, +/* 63828 */ {(14<<2)|2,{42,37,0}}, +/* 63829 */ {(14<<2)|2,{42,37,0}}, +/* 63830 */ {(14<<2)|2,{42,37,0}}, +/* 63831 */ {(14<<2)|2,{42,37,0}}, +/* 63832 */ {(14<<2)|2,{42,45,0}}, +/* 63833 */ {(14<<2)|2,{42,45,0}}, +/* 63834 */ {(14<<2)|2,{42,45,0}}, +/* 63835 */ {(14<<2)|2,{42,45,0}}, +/* 63836 */ {(14<<2)|2,{42,46,0}}, +/* 63837 */ {(14<<2)|2,{42,46,0}}, +/* 63838 */ {(14<<2)|2,{42,46,0}}, +/* 63839 */ {(14<<2)|2,{42,46,0}}, +/* 63840 */ {(14<<2)|2,{42,47,0}}, +/* 63841 */ {(14<<2)|2,{42,47,0}}, +/* 63842 */ {(14<<2)|2,{42,47,0}}, +/* 63843 */ {(14<<2)|2,{42,47,0}}, +/* 63844 */ {(14<<2)|2,{42,51,0}}, +/* 63845 */ {(14<<2)|2,{42,51,0}}, +/* 63846 */ {(14<<2)|2,{42,51,0}}, +/* 63847 */ {(14<<2)|2,{42,51,0}}, +/* 63848 */ {(14<<2)|2,{42,52,0}}, +/* 63849 */ {(14<<2)|2,{42,52,0}}, +/* 63850 */ {(14<<2)|2,{42,52,0}}, +/* 63851 */ {(14<<2)|2,{42,52,0}}, +/* 63852 */ {(14<<2)|2,{42,53,0}}, +/* 63853 */ {(14<<2)|2,{42,53,0}}, +/* 63854 */ {(14<<2)|2,{42,53,0}}, +/* 63855 */ {(14<<2)|2,{42,53,0}}, +/* 63856 */ {(14<<2)|2,{42,54,0}}, +/* 63857 */ {(14<<2)|2,{42,54,0}}, +/* 63858 */ {(14<<2)|2,{42,54,0}}, +/* 63859 */ {(14<<2)|2,{42,54,0}}, +/* 63860 */ {(14<<2)|2,{42,55,0}}, +/* 63861 */ {(14<<2)|2,{42,55,0}}, +/* 63862 */ {(14<<2)|2,{42,55,0}}, +/* 63863 */ {(14<<2)|2,{42,55,0}}, +/* 63864 */ {(14<<2)|2,{42,56,0}}, +/* 63865 */ {(14<<2)|2,{42,56,0}}, +/* 63866 */ {(14<<2)|2,{42,56,0}}, +/* 63867 */ {(14<<2)|2,{42,56,0}}, +/* 63868 */ {(14<<2)|2,{42,57,0}}, +/* 63869 */ {(14<<2)|2,{42,57,0}}, +/* 63870 */ {(14<<2)|2,{42,57,0}}, +/* 63871 */ {(14<<2)|2,{42,57,0}}, +/* 63872 */ {(14<<2)|2,{42,61,0}}, +/* 63873 */ {(14<<2)|2,{42,61,0}}, +/* 63874 */ {(14<<2)|2,{42,61,0}}, +/* 63875 */ {(14<<2)|2,{42,61,0}}, +/* 63876 */ {(14<<2)|2,{42,65,0}}, +/* 63877 */ {(14<<2)|2,{42,65,0}}, +/* 63878 */ {(14<<2)|2,{42,65,0}}, +/* 63879 */ {(14<<2)|2,{42,65,0}}, +/* 63880 */ {(14<<2)|2,{42,95,0}}, +/* 63881 */ {(14<<2)|2,{42,95,0}}, +/* 63882 */ {(14<<2)|2,{42,95,0}}, +/* 63883 */ {(14<<2)|2,{42,95,0}}, +/* 63884 */ {(14<<2)|2,{42,98,0}}, +/* 63885 */ {(14<<2)|2,{42,98,0}}, +/* 63886 */ {(14<<2)|2,{42,98,0}}, +/* 63887 */ {(14<<2)|2,{42,98,0}}, +/* 63888 */ {(14<<2)|2,{42,100,0}}, +/* 63889 */ {(14<<2)|2,{42,100,0}}, +/* 63890 */ {(14<<2)|2,{42,100,0}}, +/* 63891 */ {(14<<2)|2,{42,100,0}}, +/* 63892 */ {(14<<2)|2,{42,102,0}}, +/* 63893 */ {(14<<2)|2,{42,102,0}}, +/* 63894 */ {(14<<2)|2,{42,102,0}}, +/* 63895 */ {(14<<2)|2,{42,102,0}}, +/* 63896 */ {(14<<2)|2,{42,103,0}}, +/* 63897 */ {(14<<2)|2,{42,103,0}}, +/* 63898 */ {(14<<2)|2,{42,103,0}}, +/* 63899 */ {(14<<2)|2,{42,103,0}}, +/* 63900 */ {(14<<2)|2,{42,104,0}}, +/* 63901 */ {(14<<2)|2,{42,104,0}}, +/* 63902 */ {(14<<2)|2,{42,104,0}}, +/* 63903 */ {(14<<2)|2,{42,104,0}}, +/* 63904 */ {(14<<2)|2,{42,108,0}}, +/* 63905 */ {(14<<2)|2,{42,108,0}}, +/* 63906 */ {(14<<2)|2,{42,108,0}}, +/* 63907 */ {(14<<2)|2,{42,108,0}}, +/* 63908 */ {(14<<2)|2,{42,109,0}}, +/* 63909 */ {(14<<2)|2,{42,109,0}}, +/* 63910 */ {(14<<2)|2,{42,109,0}}, +/* 63911 */ {(14<<2)|2,{42,109,0}}, +/* 63912 */ {(14<<2)|2,{42,110,0}}, +/* 63913 */ {(14<<2)|2,{42,110,0}}, +/* 63914 */ {(14<<2)|2,{42,110,0}}, +/* 63915 */ {(14<<2)|2,{42,110,0}}, +/* 63916 */ {(14<<2)|2,{42,112,0}}, +/* 63917 */ {(14<<2)|2,{42,112,0}}, +/* 63918 */ {(14<<2)|2,{42,112,0}}, +/* 63919 */ {(14<<2)|2,{42,112,0}}, +/* 63920 */ {(14<<2)|2,{42,114,0}}, +/* 63921 */ {(14<<2)|2,{42,114,0}}, +/* 63922 */ {(14<<2)|2,{42,114,0}}, +/* 63923 */ {(14<<2)|2,{42,114,0}}, +/* 63924 */ {(14<<2)|2,{42,117,0}}, +/* 63925 */ {(14<<2)|2,{42,117,0}}, +/* 63926 */ {(14<<2)|2,{42,117,0}}, +/* 63927 */ {(14<<2)|2,{42,117,0}}, +/* 63928 */ {(15<<2)|2,{42,58,0}}, +/* 63929 */ {(15<<2)|2,{42,58,0}}, +/* 63930 */ {(15<<2)|2,{42,66,0}}, +/* 63931 */ {(15<<2)|2,{42,66,0}}, +/* 63932 */ {(15<<2)|2,{42,67,0}}, +/* 63933 */ {(15<<2)|2,{42,67,0}}, +/* 63934 */ {(15<<2)|2,{42,68,0}}, +/* 63935 */ {(15<<2)|2,{42,68,0}}, +/* 63936 */ {(15<<2)|2,{42,69,0}}, +/* 63937 */ {(15<<2)|2,{42,69,0}}, +/* 63938 */ {(15<<2)|2,{42,70,0}}, +/* 63939 */ {(15<<2)|2,{42,70,0}}, +/* 63940 */ {(15<<2)|2,{42,71,0}}, +/* 63941 */ {(15<<2)|2,{42,71,0}}, +/* 63942 */ {(15<<2)|2,{42,72,0}}, +/* 63943 */ {(15<<2)|2,{42,72,0}}, +/* 63944 */ {(15<<2)|2,{42,73,0}}, +/* 63945 */ {(15<<2)|2,{42,73,0}}, +/* 63946 */ {(15<<2)|2,{42,74,0}}, +/* 63947 */ {(15<<2)|2,{42,74,0}}, +/* 63948 */ {(15<<2)|2,{42,75,0}}, +/* 63949 */ {(15<<2)|2,{42,75,0}}, +/* 63950 */ {(15<<2)|2,{42,76,0}}, +/* 63951 */ {(15<<2)|2,{42,76,0}}, +/* 63952 */ {(15<<2)|2,{42,77,0}}, +/* 63953 */ {(15<<2)|2,{42,77,0}}, +/* 63954 */ {(15<<2)|2,{42,78,0}}, +/* 63955 */ {(15<<2)|2,{42,78,0}}, +/* 63956 */ {(15<<2)|2,{42,79,0}}, +/* 63957 */ {(15<<2)|2,{42,79,0}}, +/* 63958 */ {(15<<2)|2,{42,80,0}}, +/* 63959 */ {(15<<2)|2,{42,80,0}}, +/* 63960 */ {(15<<2)|2,{42,81,0}}, +/* 63961 */ {(15<<2)|2,{42,81,0}}, +/* 63962 */ {(15<<2)|2,{42,82,0}}, +/* 63963 */ {(15<<2)|2,{42,82,0}}, +/* 63964 */ {(15<<2)|2,{42,83,0}}, +/* 63965 */ {(15<<2)|2,{42,83,0}}, +/* 63966 */ {(15<<2)|2,{42,84,0}}, +/* 63967 */ {(15<<2)|2,{42,84,0}}, +/* 63968 */ {(15<<2)|2,{42,85,0}}, +/* 63969 */ {(15<<2)|2,{42,85,0}}, +/* 63970 */ {(15<<2)|2,{42,86,0}}, +/* 63971 */ {(15<<2)|2,{42,86,0}}, +/* 63972 */ {(15<<2)|2,{42,87,0}}, +/* 63973 */ {(15<<2)|2,{42,87,0}}, +/* 63974 */ {(15<<2)|2,{42,89,0}}, +/* 63975 */ {(15<<2)|2,{42,89,0}}, +/* 63976 */ {(15<<2)|2,{42,106,0}}, +/* 63977 */ {(15<<2)|2,{42,106,0}}, +/* 63978 */ {(15<<2)|2,{42,107,0}}, +/* 63979 */ {(15<<2)|2,{42,107,0}}, +/* 63980 */ {(15<<2)|2,{42,113,0}}, +/* 63981 */ {(15<<2)|2,{42,113,0}}, +/* 63982 */ {(15<<2)|2,{42,118,0}}, +/* 63983 */ {(15<<2)|2,{42,118,0}}, +/* 63984 */ {(15<<2)|2,{42,119,0}}, +/* 63985 */ {(15<<2)|2,{42,119,0}}, +/* 63986 */ {(15<<2)|2,{42,120,0}}, +/* 63987 */ {(15<<2)|2,{42,120,0}}, +/* 63988 */ {(15<<2)|2,{42,121,0}}, +/* 63989 */ {(15<<2)|2,{42,121,0}}, +/* 63990 */ {(15<<2)|2,{42,122,0}}, +/* 63991 */ {(15<<2)|2,{42,122,0}}, +/* 63992 */ {(16<<2)|2,{42,38,0}}, +/* 63993 */ {(16<<2)|2,{42,42,0}}, +/* 63994 */ {(16<<2)|2,{42,44,0}}, +/* 63995 */ {(16<<2)|2,{42,59,0}}, +/* 63996 */ {(16<<2)|2,{42,88,0}}, +/* 63997 */ {(16<<2)|2,{42,90,0}}, +/* 63998 */ {(8<<2)|1,{42,0,0}}, +/* 63999 */ {(8<<2)|1,{42,0,0}}, +/* 64000 */ {(13<<2)|2,{44,48,0}}, +/* 64001 */ {(13<<2)|2,{44,48,0}}, +/* 64002 */ {(13<<2)|2,{44,48,0}}, +/* 64003 */ {(13<<2)|2,{44,48,0}}, +/* 64004 */ {(13<<2)|2,{44,48,0}}, +/* 64005 */ {(13<<2)|2,{44,48,0}}, +/* 64006 */ {(13<<2)|2,{44,48,0}}, +/* 64007 */ {(13<<2)|2,{44,48,0}}, +/* 64008 */ {(13<<2)|2,{44,49,0}}, +/* 64009 */ {(13<<2)|2,{44,49,0}}, +/* 64010 */ {(13<<2)|2,{44,49,0}}, +/* 64011 */ {(13<<2)|2,{44,49,0}}, +/* 64012 */ {(13<<2)|2,{44,49,0}}, +/* 64013 */ {(13<<2)|2,{44,49,0}}, +/* 64014 */ {(13<<2)|2,{44,49,0}}, +/* 64015 */ {(13<<2)|2,{44,49,0}}, +/* 64016 */ {(13<<2)|2,{44,50,0}}, +/* 64017 */ {(13<<2)|2,{44,50,0}}, +/* 64018 */ {(13<<2)|2,{44,50,0}}, +/* 64019 */ {(13<<2)|2,{44,50,0}}, +/* 64020 */ {(13<<2)|2,{44,50,0}}, +/* 64021 */ {(13<<2)|2,{44,50,0}}, +/* 64022 */ {(13<<2)|2,{44,50,0}}, +/* 64023 */ {(13<<2)|2,{44,50,0}}, +/* 64024 */ {(13<<2)|2,{44,97,0}}, +/* 64025 */ {(13<<2)|2,{44,97,0}}, +/* 64026 */ {(13<<2)|2,{44,97,0}}, +/* 64027 */ {(13<<2)|2,{44,97,0}}, +/* 64028 */ {(13<<2)|2,{44,97,0}}, +/* 64029 */ {(13<<2)|2,{44,97,0}}, +/* 64030 */ {(13<<2)|2,{44,97,0}}, +/* 64031 */ {(13<<2)|2,{44,97,0}}, +/* 64032 */ {(13<<2)|2,{44,99,0}}, +/* 64033 */ {(13<<2)|2,{44,99,0}}, +/* 64034 */ {(13<<2)|2,{44,99,0}}, +/* 64035 */ {(13<<2)|2,{44,99,0}}, +/* 64036 */ {(13<<2)|2,{44,99,0}}, +/* 64037 */ {(13<<2)|2,{44,99,0}}, +/* 64038 */ {(13<<2)|2,{44,99,0}}, +/* 64039 */ {(13<<2)|2,{44,99,0}}, +/* 64040 */ {(13<<2)|2,{44,101,0}}, +/* 64041 */ {(13<<2)|2,{44,101,0}}, +/* 64042 */ {(13<<2)|2,{44,101,0}}, +/* 64043 */ {(13<<2)|2,{44,101,0}}, +/* 64044 */ {(13<<2)|2,{44,101,0}}, +/* 64045 */ {(13<<2)|2,{44,101,0}}, +/* 64046 */ {(13<<2)|2,{44,101,0}}, +/* 64047 */ {(13<<2)|2,{44,101,0}}, +/* 64048 */ {(13<<2)|2,{44,105,0}}, +/* 64049 */ {(13<<2)|2,{44,105,0}}, +/* 64050 */ {(13<<2)|2,{44,105,0}}, +/* 64051 */ {(13<<2)|2,{44,105,0}}, +/* 64052 */ {(13<<2)|2,{44,105,0}}, +/* 64053 */ {(13<<2)|2,{44,105,0}}, +/* 64054 */ {(13<<2)|2,{44,105,0}}, +/* 64055 */ {(13<<2)|2,{44,105,0}}, +/* 64056 */ {(13<<2)|2,{44,111,0}}, +/* 64057 */ {(13<<2)|2,{44,111,0}}, +/* 64058 */ {(13<<2)|2,{44,111,0}}, +/* 64059 */ {(13<<2)|2,{44,111,0}}, +/* 64060 */ {(13<<2)|2,{44,111,0}}, +/* 64061 */ {(13<<2)|2,{44,111,0}}, +/* 64062 */ {(13<<2)|2,{44,111,0}}, +/* 64063 */ {(13<<2)|2,{44,111,0}}, +/* 64064 */ {(13<<2)|2,{44,115,0}}, +/* 64065 */ {(13<<2)|2,{44,115,0}}, +/* 64066 */ {(13<<2)|2,{44,115,0}}, +/* 64067 */ {(13<<2)|2,{44,115,0}}, +/* 64068 */ {(13<<2)|2,{44,115,0}}, +/* 64069 */ {(13<<2)|2,{44,115,0}}, +/* 64070 */ {(13<<2)|2,{44,115,0}}, +/* 64071 */ {(13<<2)|2,{44,115,0}}, +/* 64072 */ {(13<<2)|2,{44,116,0}}, +/* 64073 */ {(13<<2)|2,{44,116,0}}, +/* 64074 */ {(13<<2)|2,{44,116,0}}, +/* 64075 */ {(13<<2)|2,{44,116,0}}, +/* 64076 */ {(13<<2)|2,{44,116,0}}, +/* 64077 */ {(13<<2)|2,{44,116,0}}, +/* 64078 */ {(13<<2)|2,{44,116,0}}, +/* 64079 */ {(13<<2)|2,{44,116,0}}, +/* 64080 */ {(14<<2)|2,{44,32,0}}, +/* 64081 */ {(14<<2)|2,{44,32,0}}, +/* 64082 */ {(14<<2)|2,{44,32,0}}, +/* 64083 */ {(14<<2)|2,{44,32,0}}, +/* 64084 */ {(14<<2)|2,{44,37,0}}, +/* 64085 */ {(14<<2)|2,{44,37,0}}, +/* 64086 */ {(14<<2)|2,{44,37,0}}, +/* 64087 */ {(14<<2)|2,{44,37,0}}, +/* 64088 */ {(14<<2)|2,{44,45,0}}, +/* 64089 */ {(14<<2)|2,{44,45,0}}, +/* 64090 */ {(14<<2)|2,{44,45,0}}, +/* 64091 */ {(14<<2)|2,{44,45,0}}, +/* 64092 */ {(14<<2)|2,{44,46,0}}, +/* 64093 */ {(14<<2)|2,{44,46,0}}, +/* 64094 */ {(14<<2)|2,{44,46,0}}, +/* 64095 */ {(14<<2)|2,{44,46,0}}, +/* 64096 */ {(14<<2)|2,{44,47,0}}, +/* 64097 */ {(14<<2)|2,{44,47,0}}, +/* 64098 */ {(14<<2)|2,{44,47,0}}, +/* 64099 */ {(14<<2)|2,{44,47,0}}, +/* 64100 */ {(14<<2)|2,{44,51,0}}, +/* 64101 */ {(14<<2)|2,{44,51,0}}, +/* 64102 */ {(14<<2)|2,{44,51,0}}, +/* 64103 */ {(14<<2)|2,{44,51,0}}, +/* 64104 */ {(14<<2)|2,{44,52,0}}, +/* 64105 */ {(14<<2)|2,{44,52,0}}, +/* 64106 */ {(14<<2)|2,{44,52,0}}, +/* 64107 */ {(14<<2)|2,{44,52,0}}, +/* 64108 */ {(14<<2)|2,{44,53,0}}, +/* 64109 */ {(14<<2)|2,{44,53,0}}, +/* 64110 */ {(14<<2)|2,{44,53,0}}, +/* 64111 */ {(14<<2)|2,{44,53,0}}, +/* 64112 */ {(14<<2)|2,{44,54,0}}, +/* 64113 */ {(14<<2)|2,{44,54,0}}, +/* 64114 */ {(14<<2)|2,{44,54,0}}, +/* 64115 */ {(14<<2)|2,{44,54,0}}, +/* 64116 */ {(14<<2)|2,{44,55,0}}, +/* 64117 */ {(14<<2)|2,{44,55,0}}, +/* 64118 */ {(14<<2)|2,{44,55,0}}, +/* 64119 */ {(14<<2)|2,{44,55,0}}, +/* 64120 */ {(14<<2)|2,{44,56,0}}, +/* 64121 */ {(14<<2)|2,{44,56,0}}, +/* 64122 */ {(14<<2)|2,{44,56,0}}, +/* 64123 */ {(14<<2)|2,{44,56,0}}, +/* 64124 */ {(14<<2)|2,{44,57,0}}, +/* 64125 */ {(14<<2)|2,{44,57,0}}, +/* 64126 */ {(14<<2)|2,{44,57,0}}, +/* 64127 */ {(14<<2)|2,{44,57,0}}, +/* 64128 */ {(14<<2)|2,{44,61,0}}, +/* 64129 */ {(14<<2)|2,{44,61,0}}, +/* 64130 */ {(14<<2)|2,{44,61,0}}, +/* 64131 */ {(14<<2)|2,{44,61,0}}, +/* 64132 */ {(14<<2)|2,{44,65,0}}, +/* 64133 */ {(14<<2)|2,{44,65,0}}, +/* 64134 */ {(14<<2)|2,{44,65,0}}, +/* 64135 */ {(14<<2)|2,{44,65,0}}, +/* 64136 */ {(14<<2)|2,{44,95,0}}, +/* 64137 */ {(14<<2)|2,{44,95,0}}, +/* 64138 */ {(14<<2)|2,{44,95,0}}, +/* 64139 */ {(14<<2)|2,{44,95,0}}, +/* 64140 */ {(14<<2)|2,{44,98,0}}, +/* 64141 */ {(14<<2)|2,{44,98,0}}, +/* 64142 */ {(14<<2)|2,{44,98,0}}, +/* 64143 */ {(14<<2)|2,{44,98,0}}, +/* 64144 */ {(14<<2)|2,{44,100,0}}, +/* 64145 */ {(14<<2)|2,{44,100,0}}, +/* 64146 */ {(14<<2)|2,{44,100,0}}, +/* 64147 */ {(14<<2)|2,{44,100,0}}, +/* 64148 */ {(14<<2)|2,{44,102,0}}, +/* 64149 */ {(14<<2)|2,{44,102,0}}, +/* 64150 */ {(14<<2)|2,{44,102,0}}, +/* 64151 */ {(14<<2)|2,{44,102,0}}, +/* 64152 */ {(14<<2)|2,{44,103,0}}, +/* 64153 */ {(14<<2)|2,{44,103,0}}, +/* 64154 */ {(14<<2)|2,{44,103,0}}, +/* 64155 */ {(14<<2)|2,{44,103,0}}, +/* 64156 */ {(14<<2)|2,{44,104,0}}, +/* 64157 */ {(14<<2)|2,{44,104,0}}, +/* 64158 */ {(14<<2)|2,{44,104,0}}, +/* 64159 */ {(14<<2)|2,{44,104,0}}, +/* 64160 */ {(14<<2)|2,{44,108,0}}, +/* 64161 */ {(14<<2)|2,{44,108,0}}, +/* 64162 */ {(14<<2)|2,{44,108,0}}, +/* 64163 */ {(14<<2)|2,{44,108,0}}, +/* 64164 */ {(14<<2)|2,{44,109,0}}, +/* 64165 */ {(14<<2)|2,{44,109,0}}, +/* 64166 */ {(14<<2)|2,{44,109,0}}, +/* 64167 */ {(14<<2)|2,{44,109,0}}, +/* 64168 */ {(14<<2)|2,{44,110,0}}, +/* 64169 */ {(14<<2)|2,{44,110,0}}, +/* 64170 */ {(14<<2)|2,{44,110,0}}, +/* 64171 */ {(14<<2)|2,{44,110,0}}, +/* 64172 */ {(14<<2)|2,{44,112,0}}, +/* 64173 */ {(14<<2)|2,{44,112,0}}, +/* 64174 */ {(14<<2)|2,{44,112,0}}, +/* 64175 */ {(14<<2)|2,{44,112,0}}, +/* 64176 */ {(14<<2)|2,{44,114,0}}, +/* 64177 */ {(14<<2)|2,{44,114,0}}, +/* 64178 */ {(14<<2)|2,{44,114,0}}, +/* 64179 */ {(14<<2)|2,{44,114,0}}, +/* 64180 */ {(14<<2)|2,{44,117,0}}, +/* 64181 */ {(14<<2)|2,{44,117,0}}, +/* 64182 */ {(14<<2)|2,{44,117,0}}, +/* 64183 */ {(14<<2)|2,{44,117,0}}, +/* 64184 */ {(15<<2)|2,{44,58,0}}, +/* 64185 */ {(15<<2)|2,{44,58,0}}, +/* 64186 */ {(15<<2)|2,{44,66,0}}, +/* 64187 */ {(15<<2)|2,{44,66,0}}, +/* 64188 */ {(15<<2)|2,{44,67,0}}, +/* 64189 */ {(15<<2)|2,{44,67,0}}, +/* 64190 */ {(15<<2)|2,{44,68,0}}, +/* 64191 */ {(15<<2)|2,{44,68,0}}, +/* 64192 */ {(15<<2)|2,{44,69,0}}, +/* 64193 */ {(15<<2)|2,{44,69,0}}, +/* 64194 */ {(15<<2)|2,{44,70,0}}, +/* 64195 */ {(15<<2)|2,{44,70,0}}, +/* 64196 */ {(15<<2)|2,{44,71,0}}, +/* 64197 */ {(15<<2)|2,{44,71,0}}, +/* 64198 */ {(15<<2)|2,{44,72,0}}, +/* 64199 */ {(15<<2)|2,{44,72,0}}, +/* 64200 */ {(15<<2)|2,{44,73,0}}, +/* 64201 */ {(15<<2)|2,{44,73,0}}, +/* 64202 */ {(15<<2)|2,{44,74,0}}, +/* 64203 */ {(15<<2)|2,{44,74,0}}, +/* 64204 */ {(15<<2)|2,{44,75,0}}, +/* 64205 */ {(15<<2)|2,{44,75,0}}, +/* 64206 */ {(15<<2)|2,{44,76,0}}, +/* 64207 */ {(15<<2)|2,{44,76,0}}, +/* 64208 */ {(15<<2)|2,{44,77,0}}, +/* 64209 */ {(15<<2)|2,{44,77,0}}, +/* 64210 */ {(15<<2)|2,{44,78,0}}, +/* 64211 */ {(15<<2)|2,{44,78,0}}, +/* 64212 */ {(15<<2)|2,{44,79,0}}, +/* 64213 */ {(15<<2)|2,{44,79,0}}, +/* 64214 */ {(15<<2)|2,{44,80,0}}, +/* 64215 */ {(15<<2)|2,{44,80,0}}, +/* 64216 */ {(15<<2)|2,{44,81,0}}, +/* 64217 */ {(15<<2)|2,{44,81,0}}, +/* 64218 */ {(15<<2)|2,{44,82,0}}, +/* 64219 */ {(15<<2)|2,{44,82,0}}, +/* 64220 */ {(15<<2)|2,{44,83,0}}, +/* 64221 */ {(15<<2)|2,{44,83,0}}, +/* 64222 */ {(15<<2)|2,{44,84,0}}, +/* 64223 */ {(15<<2)|2,{44,84,0}}, +/* 64224 */ {(15<<2)|2,{44,85,0}}, +/* 64225 */ {(15<<2)|2,{44,85,0}}, +/* 64226 */ {(15<<2)|2,{44,86,0}}, +/* 64227 */ {(15<<2)|2,{44,86,0}}, +/* 64228 */ {(15<<2)|2,{44,87,0}}, +/* 64229 */ {(15<<2)|2,{44,87,0}}, +/* 64230 */ {(15<<2)|2,{44,89,0}}, +/* 64231 */ {(15<<2)|2,{44,89,0}}, +/* 64232 */ {(15<<2)|2,{44,106,0}}, +/* 64233 */ {(15<<2)|2,{44,106,0}}, +/* 64234 */ {(15<<2)|2,{44,107,0}}, +/* 64235 */ {(15<<2)|2,{44,107,0}}, +/* 64236 */ {(15<<2)|2,{44,113,0}}, +/* 64237 */ {(15<<2)|2,{44,113,0}}, +/* 64238 */ {(15<<2)|2,{44,118,0}}, +/* 64239 */ {(15<<2)|2,{44,118,0}}, +/* 64240 */ {(15<<2)|2,{44,119,0}}, +/* 64241 */ {(15<<2)|2,{44,119,0}}, +/* 64242 */ {(15<<2)|2,{44,120,0}}, +/* 64243 */ {(15<<2)|2,{44,120,0}}, +/* 64244 */ {(15<<2)|2,{44,121,0}}, +/* 64245 */ {(15<<2)|2,{44,121,0}}, +/* 64246 */ {(15<<2)|2,{44,122,0}}, +/* 64247 */ {(15<<2)|2,{44,122,0}}, +/* 64248 */ {(16<<2)|2,{44,38,0}}, +/* 64249 */ {(16<<2)|2,{44,42,0}}, +/* 64250 */ {(16<<2)|2,{44,44,0}}, +/* 64251 */ {(16<<2)|2,{44,59,0}}, +/* 64252 */ {(16<<2)|2,{44,88,0}}, +/* 64253 */ {(16<<2)|2,{44,90,0}}, +/* 64254 */ {(8<<2)|1,{44,0,0}}, +/* 64255 */ {(8<<2)|1,{44,0,0}}, +/* 64256 */ {(13<<2)|2,{59,48,0}}, +/* 64257 */ {(13<<2)|2,{59,48,0}}, +/* 64258 */ {(13<<2)|2,{59,48,0}}, +/* 64259 */ {(13<<2)|2,{59,48,0}}, +/* 64260 */ {(13<<2)|2,{59,48,0}}, +/* 64261 */ {(13<<2)|2,{59,48,0}}, +/* 64262 */ {(13<<2)|2,{59,48,0}}, +/* 64263 */ {(13<<2)|2,{59,48,0}}, +/* 64264 */ {(13<<2)|2,{59,49,0}}, +/* 64265 */ {(13<<2)|2,{59,49,0}}, +/* 64266 */ {(13<<2)|2,{59,49,0}}, +/* 64267 */ {(13<<2)|2,{59,49,0}}, +/* 64268 */ {(13<<2)|2,{59,49,0}}, +/* 64269 */ {(13<<2)|2,{59,49,0}}, +/* 64270 */ {(13<<2)|2,{59,49,0}}, +/* 64271 */ {(13<<2)|2,{59,49,0}}, +/* 64272 */ {(13<<2)|2,{59,50,0}}, +/* 64273 */ {(13<<2)|2,{59,50,0}}, +/* 64274 */ {(13<<2)|2,{59,50,0}}, +/* 64275 */ {(13<<2)|2,{59,50,0}}, +/* 64276 */ {(13<<2)|2,{59,50,0}}, +/* 64277 */ {(13<<2)|2,{59,50,0}}, +/* 64278 */ {(13<<2)|2,{59,50,0}}, +/* 64279 */ {(13<<2)|2,{59,50,0}}, +/* 64280 */ {(13<<2)|2,{59,97,0}}, +/* 64281 */ {(13<<2)|2,{59,97,0}}, +/* 64282 */ {(13<<2)|2,{59,97,0}}, +/* 64283 */ {(13<<2)|2,{59,97,0}}, +/* 64284 */ {(13<<2)|2,{59,97,0}}, +/* 64285 */ {(13<<2)|2,{59,97,0}}, +/* 64286 */ {(13<<2)|2,{59,97,0}}, +/* 64287 */ {(13<<2)|2,{59,97,0}}, +/* 64288 */ {(13<<2)|2,{59,99,0}}, +/* 64289 */ {(13<<2)|2,{59,99,0}}, +/* 64290 */ {(13<<2)|2,{59,99,0}}, +/* 64291 */ {(13<<2)|2,{59,99,0}}, +/* 64292 */ {(13<<2)|2,{59,99,0}}, +/* 64293 */ {(13<<2)|2,{59,99,0}}, +/* 64294 */ {(13<<2)|2,{59,99,0}}, +/* 64295 */ {(13<<2)|2,{59,99,0}}, +/* 64296 */ {(13<<2)|2,{59,101,0}}, +/* 64297 */ {(13<<2)|2,{59,101,0}}, +/* 64298 */ {(13<<2)|2,{59,101,0}}, +/* 64299 */ {(13<<2)|2,{59,101,0}}, +/* 64300 */ {(13<<2)|2,{59,101,0}}, +/* 64301 */ {(13<<2)|2,{59,101,0}}, +/* 64302 */ {(13<<2)|2,{59,101,0}}, +/* 64303 */ {(13<<2)|2,{59,101,0}}, +/* 64304 */ {(13<<2)|2,{59,105,0}}, +/* 64305 */ {(13<<2)|2,{59,105,0}}, +/* 64306 */ {(13<<2)|2,{59,105,0}}, +/* 64307 */ {(13<<2)|2,{59,105,0}}, +/* 64308 */ {(13<<2)|2,{59,105,0}}, +/* 64309 */ {(13<<2)|2,{59,105,0}}, +/* 64310 */ {(13<<2)|2,{59,105,0}}, +/* 64311 */ {(13<<2)|2,{59,105,0}}, +/* 64312 */ {(13<<2)|2,{59,111,0}}, +/* 64313 */ {(13<<2)|2,{59,111,0}}, +/* 64314 */ {(13<<2)|2,{59,111,0}}, +/* 64315 */ {(13<<2)|2,{59,111,0}}, +/* 64316 */ {(13<<2)|2,{59,111,0}}, +/* 64317 */ {(13<<2)|2,{59,111,0}}, +/* 64318 */ {(13<<2)|2,{59,111,0}}, +/* 64319 */ {(13<<2)|2,{59,111,0}}, +/* 64320 */ {(13<<2)|2,{59,115,0}}, +/* 64321 */ {(13<<2)|2,{59,115,0}}, +/* 64322 */ {(13<<2)|2,{59,115,0}}, +/* 64323 */ {(13<<2)|2,{59,115,0}}, +/* 64324 */ {(13<<2)|2,{59,115,0}}, +/* 64325 */ {(13<<2)|2,{59,115,0}}, +/* 64326 */ {(13<<2)|2,{59,115,0}}, +/* 64327 */ {(13<<2)|2,{59,115,0}}, +/* 64328 */ {(13<<2)|2,{59,116,0}}, +/* 64329 */ {(13<<2)|2,{59,116,0}}, +/* 64330 */ {(13<<2)|2,{59,116,0}}, +/* 64331 */ {(13<<2)|2,{59,116,0}}, +/* 64332 */ {(13<<2)|2,{59,116,0}}, +/* 64333 */ {(13<<2)|2,{59,116,0}}, +/* 64334 */ {(13<<2)|2,{59,116,0}}, +/* 64335 */ {(13<<2)|2,{59,116,0}}, +/* 64336 */ {(14<<2)|2,{59,32,0}}, +/* 64337 */ {(14<<2)|2,{59,32,0}}, +/* 64338 */ {(14<<2)|2,{59,32,0}}, +/* 64339 */ {(14<<2)|2,{59,32,0}}, +/* 64340 */ {(14<<2)|2,{59,37,0}}, +/* 64341 */ {(14<<2)|2,{59,37,0}}, +/* 64342 */ {(14<<2)|2,{59,37,0}}, +/* 64343 */ {(14<<2)|2,{59,37,0}}, +/* 64344 */ {(14<<2)|2,{59,45,0}}, +/* 64345 */ {(14<<2)|2,{59,45,0}}, +/* 64346 */ {(14<<2)|2,{59,45,0}}, +/* 64347 */ {(14<<2)|2,{59,45,0}}, +/* 64348 */ {(14<<2)|2,{59,46,0}}, +/* 64349 */ {(14<<2)|2,{59,46,0}}, +/* 64350 */ {(14<<2)|2,{59,46,0}}, +/* 64351 */ {(14<<2)|2,{59,46,0}}, +/* 64352 */ {(14<<2)|2,{59,47,0}}, +/* 64353 */ {(14<<2)|2,{59,47,0}}, +/* 64354 */ {(14<<2)|2,{59,47,0}}, +/* 64355 */ {(14<<2)|2,{59,47,0}}, +/* 64356 */ {(14<<2)|2,{59,51,0}}, +/* 64357 */ {(14<<2)|2,{59,51,0}}, +/* 64358 */ {(14<<2)|2,{59,51,0}}, +/* 64359 */ {(14<<2)|2,{59,51,0}}, +/* 64360 */ {(14<<2)|2,{59,52,0}}, +/* 64361 */ {(14<<2)|2,{59,52,0}}, +/* 64362 */ {(14<<2)|2,{59,52,0}}, +/* 64363 */ {(14<<2)|2,{59,52,0}}, +/* 64364 */ {(14<<2)|2,{59,53,0}}, +/* 64365 */ {(14<<2)|2,{59,53,0}}, +/* 64366 */ {(14<<2)|2,{59,53,0}}, +/* 64367 */ {(14<<2)|2,{59,53,0}}, +/* 64368 */ {(14<<2)|2,{59,54,0}}, +/* 64369 */ {(14<<2)|2,{59,54,0}}, +/* 64370 */ {(14<<2)|2,{59,54,0}}, +/* 64371 */ {(14<<2)|2,{59,54,0}}, +/* 64372 */ {(14<<2)|2,{59,55,0}}, +/* 64373 */ {(14<<2)|2,{59,55,0}}, +/* 64374 */ {(14<<2)|2,{59,55,0}}, +/* 64375 */ {(14<<2)|2,{59,55,0}}, +/* 64376 */ {(14<<2)|2,{59,56,0}}, +/* 64377 */ {(14<<2)|2,{59,56,0}}, +/* 64378 */ {(14<<2)|2,{59,56,0}}, +/* 64379 */ {(14<<2)|2,{59,56,0}}, +/* 64380 */ {(14<<2)|2,{59,57,0}}, +/* 64381 */ {(14<<2)|2,{59,57,0}}, +/* 64382 */ {(14<<2)|2,{59,57,0}}, +/* 64383 */ {(14<<2)|2,{59,57,0}}, +/* 64384 */ {(14<<2)|2,{59,61,0}}, +/* 64385 */ {(14<<2)|2,{59,61,0}}, +/* 64386 */ {(14<<2)|2,{59,61,0}}, +/* 64387 */ {(14<<2)|2,{59,61,0}}, +/* 64388 */ {(14<<2)|2,{59,65,0}}, +/* 64389 */ {(14<<2)|2,{59,65,0}}, +/* 64390 */ {(14<<2)|2,{59,65,0}}, +/* 64391 */ {(14<<2)|2,{59,65,0}}, +/* 64392 */ {(14<<2)|2,{59,95,0}}, +/* 64393 */ {(14<<2)|2,{59,95,0}}, +/* 64394 */ {(14<<2)|2,{59,95,0}}, +/* 64395 */ {(14<<2)|2,{59,95,0}}, +/* 64396 */ {(14<<2)|2,{59,98,0}}, +/* 64397 */ {(14<<2)|2,{59,98,0}}, +/* 64398 */ {(14<<2)|2,{59,98,0}}, +/* 64399 */ {(14<<2)|2,{59,98,0}}, +/* 64400 */ {(14<<2)|2,{59,100,0}}, +/* 64401 */ {(14<<2)|2,{59,100,0}}, +/* 64402 */ {(14<<2)|2,{59,100,0}}, +/* 64403 */ {(14<<2)|2,{59,100,0}}, +/* 64404 */ {(14<<2)|2,{59,102,0}}, +/* 64405 */ {(14<<2)|2,{59,102,0}}, +/* 64406 */ {(14<<2)|2,{59,102,0}}, +/* 64407 */ {(14<<2)|2,{59,102,0}}, +/* 64408 */ {(14<<2)|2,{59,103,0}}, +/* 64409 */ {(14<<2)|2,{59,103,0}}, +/* 64410 */ {(14<<2)|2,{59,103,0}}, +/* 64411 */ {(14<<2)|2,{59,103,0}}, +/* 64412 */ {(14<<2)|2,{59,104,0}}, +/* 64413 */ {(14<<2)|2,{59,104,0}}, +/* 64414 */ {(14<<2)|2,{59,104,0}}, +/* 64415 */ {(14<<2)|2,{59,104,0}}, +/* 64416 */ {(14<<2)|2,{59,108,0}}, +/* 64417 */ {(14<<2)|2,{59,108,0}}, +/* 64418 */ {(14<<2)|2,{59,108,0}}, +/* 64419 */ {(14<<2)|2,{59,108,0}}, +/* 64420 */ {(14<<2)|2,{59,109,0}}, +/* 64421 */ {(14<<2)|2,{59,109,0}}, +/* 64422 */ {(14<<2)|2,{59,109,0}}, +/* 64423 */ {(14<<2)|2,{59,109,0}}, +/* 64424 */ {(14<<2)|2,{59,110,0}}, +/* 64425 */ {(14<<2)|2,{59,110,0}}, +/* 64426 */ {(14<<2)|2,{59,110,0}}, +/* 64427 */ {(14<<2)|2,{59,110,0}}, +/* 64428 */ {(14<<2)|2,{59,112,0}}, +/* 64429 */ {(14<<2)|2,{59,112,0}}, +/* 64430 */ {(14<<2)|2,{59,112,0}}, +/* 64431 */ {(14<<2)|2,{59,112,0}}, +/* 64432 */ {(14<<2)|2,{59,114,0}}, +/* 64433 */ {(14<<2)|2,{59,114,0}}, +/* 64434 */ {(14<<2)|2,{59,114,0}}, +/* 64435 */ {(14<<2)|2,{59,114,0}}, +/* 64436 */ {(14<<2)|2,{59,117,0}}, +/* 64437 */ {(14<<2)|2,{59,117,0}}, +/* 64438 */ {(14<<2)|2,{59,117,0}}, +/* 64439 */ {(14<<2)|2,{59,117,0}}, +/* 64440 */ {(15<<2)|2,{59,58,0}}, +/* 64441 */ {(15<<2)|2,{59,58,0}}, +/* 64442 */ {(15<<2)|2,{59,66,0}}, +/* 64443 */ {(15<<2)|2,{59,66,0}}, +/* 64444 */ {(15<<2)|2,{59,67,0}}, +/* 64445 */ {(15<<2)|2,{59,67,0}}, +/* 64446 */ {(15<<2)|2,{59,68,0}}, +/* 64447 */ {(15<<2)|2,{59,68,0}}, +/* 64448 */ {(15<<2)|2,{59,69,0}}, +/* 64449 */ {(15<<2)|2,{59,69,0}}, +/* 64450 */ {(15<<2)|2,{59,70,0}}, +/* 64451 */ {(15<<2)|2,{59,70,0}}, +/* 64452 */ {(15<<2)|2,{59,71,0}}, +/* 64453 */ {(15<<2)|2,{59,71,0}}, +/* 64454 */ {(15<<2)|2,{59,72,0}}, +/* 64455 */ {(15<<2)|2,{59,72,0}}, +/* 64456 */ {(15<<2)|2,{59,73,0}}, +/* 64457 */ {(15<<2)|2,{59,73,0}}, +/* 64458 */ {(15<<2)|2,{59,74,0}}, +/* 64459 */ {(15<<2)|2,{59,74,0}}, +/* 64460 */ {(15<<2)|2,{59,75,0}}, +/* 64461 */ {(15<<2)|2,{59,75,0}}, +/* 64462 */ {(15<<2)|2,{59,76,0}}, +/* 64463 */ {(15<<2)|2,{59,76,0}}, +/* 64464 */ {(15<<2)|2,{59,77,0}}, +/* 64465 */ {(15<<2)|2,{59,77,0}}, +/* 64466 */ {(15<<2)|2,{59,78,0}}, +/* 64467 */ {(15<<2)|2,{59,78,0}}, +/* 64468 */ {(15<<2)|2,{59,79,0}}, +/* 64469 */ {(15<<2)|2,{59,79,0}}, +/* 64470 */ {(15<<2)|2,{59,80,0}}, +/* 64471 */ {(15<<2)|2,{59,80,0}}, +/* 64472 */ {(15<<2)|2,{59,81,0}}, +/* 64473 */ {(15<<2)|2,{59,81,0}}, +/* 64474 */ {(15<<2)|2,{59,82,0}}, +/* 64475 */ {(15<<2)|2,{59,82,0}}, +/* 64476 */ {(15<<2)|2,{59,83,0}}, +/* 64477 */ {(15<<2)|2,{59,83,0}}, +/* 64478 */ {(15<<2)|2,{59,84,0}}, +/* 64479 */ {(15<<2)|2,{59,84,0}}, +/* 64480 */ {(15<<2)|2,{59,85,0}}, +/* 64481 */ {(15<<2)|2,{59,85,0}}, +/* 64482 */ {(15<<2)|2,{59,86,0}}, +/* 64483 */ {(15<<2)|2,{59,86,0}}, +/* 64484 */ {(15<<2)|2,{59,87,0}}, +/* 64485 */ {(15<<2)|2,{59,87,0}}, +/* 64486 */ {(15<<2)|2,{59,89,0}}, +/* 64487 */ {(15<<2)|2,{59,89,0}}, +/* 64488 */ {(15<<2)|2,{59,106,0}}, +/* 64489 */ {(15<<2)|2,{59,106,0}}, +/* 64490 */ {(15<<2)|2,{59,107,0}}, +/* 64491 */ {(15<<2)|2,{59,107,0}}, +/* 64492 */ {(15<<2)|2,{59,113,0}}, +/* 64493 */ {(15<<2)|2,{59,113,0}}, +/* 64494 */ {(15<<2)|2,{59,118,0}}, +/* 64495 */ {(15<<2)|2,{59,118,0}}, +/* 64496 */ {(15<<2)|2,{59,119,0}}, +/* 64497 */ {(15<<2)|2,{59,119,0}}, +/* 64498 */ {(15<<2)|2,{59,120,0}}, +/* 64499 */ {(15<<2)|2,{59,120,0}}, +/* 64500 */ {(15<<2)|2,{59,121,0}}, +/* 64501 */ {(15<<2)|2,{59,121,0}}, +/* 64502 */ {(15<<2)|2,{59,122,0}}, +/* 64503 */ {(15<<2)|2,{59,122,0}}, +/* 64504 */ {(16<<2)|2,{59,38,0}}, +/* 64505 */ {(16<<2)|2,{59,42,0}}, +/* 64506 */ {(16<<2)|2,{59,44,0}}, +/* 64507 */ {(16<<2)|2,{59,59,0}}, +/* 64508 */ {(16<<2)|2,{59,88,0}}, +/* 64509 */ {(16<<2)|2,{59,90,0}}, +/* 64510 */ {(8<<2)|1,{59,0,0}}, +/* 64511 */ {(8<<2)|1,{59,0,0}}, +/* 64512 */ {(13<<2)|2,{88,48,0}}, +/* 64513 */ {(13<<2)|2,{88,48,0}}, +/* 64514 */ {(13<<2)|2,{88,48,0}}, +/* 64515 */ {(13<<2)|2,{88,48,0}}, +/* 64516 */ {(13<<2)|2,{88,48,0}}, +/* 64517 */ {(13<<2)|2,{88,48,0}}, +/* 64518 */ {(13<<2)|2,{88,48,0}}, +/* 64519 */ {(13<<2)|2,{88,48,0}}, +/* 64520 */ {(13<<2)|2,{88,49,0}}, +/* 64521 */ {(13<<2)|2,{88,49,0}}, +/* 64522 */ {(13<<2)|2,{88,49,0}}, +/* 64523 */ {(13<<2)|2,{88,49,0}}, +/* 64524 */ {(13<<2)|2,{88,49,0}}, +/* 64525 */ {(13<<2)|2,{88,49,0}}, +/* 64526 */ {(13<<2)|2,{88,49,0}}, +/* 64527 */ {(13<<2)|2,{88,49,0}}, +/* 64528 */ {(13<<2)|2,{88,50,0}}, +/* 64529 */ {(13<<2)|2,{88,50,0}}, +/* 64530 */ {(13<<2)|2,{88,50,0}}, +/* 64531 */ {(13<<2)|2,{88,50,0}}, +/* 64532 */ {(13<<2)|2,{88,50,0}}, +/* 64533 */ {(13<<2)|2,{88,50,0}}, +/* 64534 */ {(13<<2)|2,{88,50,0}}, +/* 64535 */ {(13<<2)|2,{88,50,0}}, +/* 64536 */ {(13<<2)|2,{88,97,0}}, +/* 64537 */ {(13<<2)|2,{88,97,0}}, +/* 64538 */ {(13<<2)|2,{88,97,0}}, +/* 64539 */ {(13<<2)|2,{88,97,0}}, +/* 64540 */ {(13<<2)|2,{88,97,0}}, +/* 64541 */ {(13<<2)|2,{88,97,0}}, +/* 64542 */ {(13<<2)|2,{88,97,0}}, +/* 64543 */ {(13<<2)|2,{88,97,0}}, +/* 64544 */ {(13<<2)|2,{88,99,0}}, +/* 64545 */ {(13<<2)|2,{88,99,0}}, +/* 64546 */ {(13<<2)|2,{88,99,0}}, +/* 64547 */ {(13<<2)|2,{88,99,0}}, +/* 64548 */ {(13<<2)|2,{88,99,0}}, +/* 64549 */ {(13<<2)|2,{88,99,0}}, +/* 64550 */ {(13<<2)|2,{88,99,0}}, +/* 64551 */ {(13<<2)|2,{88,99,0}}, +/* 64552 */ {(13<<2)|2,{88,101,0}}, +/* 64553 */ {(13<<2)|2,{88,101,0}}, +/* 64554 */ {(13<<2)|2,{88,101,0}}, +/* 64555 */ {(13<<2)|2,{88,101,0}}, +/* 64556 */ {(13<<2)|2,{88,101,0}}, +/* 64557 */ {(13<<2)|2,{88,101,0}}, +/* 64558 */ {(13<<2)|2,{88,101,0}}, +/* 64559 */ {(13<<2)|2,{88,101,0}}, +/* 64560 */ {(13<<2)|2,{88,105,0}}, +/* 64561 */ {(13<<2)|2,{88,105,0}}, +/* 64562 */ {(13<<2)|2,{88,105,0}}, +/* 64563 */ {(13<<2)|2,{88,105,0}}, +/* 64564 */ {(13<<2)|2,{88,105,0}}, +/* 64565 */ {(13<<2)|2,{88,105,0}}, +/* 64566 */ {(13<<2)|2,{88,105,0}}, +/* 64567 */ {(13<<2)|2,{88,105,0}}, +/* 64568 */ {(13<<2)|2,{88,111,0}}, +/* 64569 */ {(13<<2)|2,{88,111,0}}, +/* 64570 */ {(13<<2)|2,{88,111,0}}, +/* 64571 */ {(13<<2)|2,{88,111,0}}, +/* 64572 */ {(13<<2)|2,{88,111,0}}, +/* 64573 */ {(13<<2)|2,{88,111,0}}, +/* 64574 */ {(13<<2)|2,{88,111,0}}, +/* 64575 */ {(13<<2)|2,{88,111,0}}, +/* 64576 */ {(13<<2)|2,{88,115,0}}, +/* 64577 */ {(13<<2)|2,{88,115,0}}, +/* 64578 */ {(13<<2)|2,{88,115,0}}, +/* 64579 */ {(13<<2)|2,{88,115,0}}, +/* 64580 */ {(13<<2)|2,{88,115,0}}, +/* 64581 */ {(13<<2)|2,{88,115,0}}, +/* 64582 */ {(13<<2)|2,{88,115,0}}, +/* 64583 */ {(13<<2)|2,{88,115,0}}, +/* 64584 */ {(13<<2)|2,{88,116,0}}, +/* 64585 */ {(13<<2)|2,{88,116,0}}, +/* 64586 */ {(13<<2)|2,{88,116,0}}, +/* 64587 */ {(13<<2)|2,{88,116,0}}, +/* 64588 */ {(13<<2)|2,{88,116,0}}, +/* 64589 */ {(13<<2)|2,{88,116,0}}, +/* 64590 */ {(13<<2)|2,{88,116,0}}, +/* 64591 */ {(13<<2)|2,{88,116,0}}, +/* 64592 */ {(14<<2)|2,{88,32,0}}, +/* 64593 */ {(14<<2)|2,{88,32,0}}, +/* 64594 */ {(14<<2)|2,{88,32,0}}, +/* 64595 */ {(14<<2)|2,{88,32,0}}, +/* 64596 */ {(14<<2)|2,{88,37,0}}, +/* 64597 */ {(14<<2)|2,{88,37,0}}, +/* 64598 */ {(14<<2)|2,{88,37,0}}, +/* 64599 */ {(14<<2)|2,{88,37,0}}, +/* 64600 */ {(14<<2)|2,{88,45,0}}, +/* 64601 */ {(14<<2)|2,{88,45,0}}, +/* 64602 */ {(14<<2)|2,{88,45,0}}, +/* 64603 */ {(14<<2)|2,{88,45,0}}, +/* 64604 */ {(14<<2)|2,{88,46,0}}, +/* 64605 */ {(14<<2)|2,{88,46,0}}, +/* 64606 */ {(14<<2)|2,{88,46,0}}, +/* 64607 */ {(14<<2)|2,{88,46,0}}, +/* 64608 */ {(14<<2)|2,{88,47,0}}, +/* 64609 */ {(14<<2)|2,{88,47,0}}, +/* 64610 */ {(14<<2)|2,{88,47,0}}, +/* 64611 */ {(14<<2)|2,{88,47,0}}, +/* 64612 */ {(14<<2)|2,{88,51,0}}, +/* 64613 */ {(14<<2)|2,{88,51,0}}, +/* 64614 */ {(14<<2)|2,{88,51,0}}, +/* 64615 */ {(14<<2)|2,{88,51,0}}, +/* 64616 */ {(14<<2)|2,{88,52,0}}, +/* 64617 */ {(14<<2)|2,{88,52,0}}, +/* 64618 */ {(14<<2)|2,{88,52,0}}, +/* 64619 */ {(14<<2)|2,{88,52,0}}, +/* 64620 */ {(14<<2)|2,{88,53,0}}, +/* 64621 */ {(14<<2)|2,{88,53,0}}, +/* 64622 */ {(14<<2)|2,{88,53,0}}, +/* 64623 */ {(14<<2)|2,{88,53,0}}, +/* 64624 */ {(14<<2)|2,{88,54,0}}, +/* 64625 */ {(14<<2)|2,{88,54,0}}, +/* 64626 */ {(14<<2)|2,{88,54,0}}, +/* 64627 */ {(14<<2)|2,{88,54,0}}, +/* 64628 */ {(14<<2)|2,{88,55,0}}, +/* 64629 */ {(14<<2)|2,{88,55,0}}, +/* 64630 */ {(14<<2)|2,{88,55,0}}, +/* 64631 */ {(14<<2)|2,{88,55,0}}, +/* 64632 */ {(14<<2)|2,{88,56,0}}, +/* 64633 */ {(14<<2)|2,{88,56,0}}, +/* 64634 */ {(14<<2)|2,{88,56,0}}, +/* 64635 */ {(14<<2)|2,{88,56,0}}, +/* 64636 */ {(14<<2)|2,{88,57,0}}, +/* 64637 */ {(14<<2)|2,{88,57,0}}, +/* 64638 */ {(14<<2)|2,{88,57,0}}, +/* 64639 */ {(14<<2)|2,{88,57,0}}, +/* 64640 */ {(14<<2)|2,{88,61,0}}, +/* 64641 */ {(14<<2)|2,{88,61,0}}, +/* 64642 */ {(14<<2)|2,{88,61,0}}, +/* 64643 */ {(14<<2)|2,{88,61,0}}, +/* 64644 */ {(14<<2)|2,{88,65,0}}, +/* 64645 */ {(14<<2)|2,{88,65,0}}, +/* 64646 */ {(14<<2)|2,{88,65,0}}, +/* 64647 */ {(14<<2)|2,{88,65,0}}, +/* 64648 */ {(14<<2)|2,{88,95,0}}, +/* 64649 */ {(14<<2)|2,{88,95,0}}, +/* 64650 */ {(14<<2)|2,{88,95,0}}, +/* 64651 */ {(14<<2)|2,{88,95,0}}, +/* 64652 */ {(14<<2)|2,{88,98,0}}, +/* 64653 */ {(14<<2)|2,{88,98,0}}, +/* 64654 */ {(14<<2)|2,{88,98,0}}, +/* 64655 */ {(14<<2)|2,{88,98,0}}, +/* 64656 */ {(14<<2)|2,{88,100,0}}, +/* 64657 */ {(14<<2)|2,{88,100,0}}, +/* 64658 */ {(14<<2)|2,{88,100,0}}, +/* 64659 */ {(14<<2)|2,{88,100,0}}, +/* 64660 */ {(14<<2)|2,{88,102,0}}, +/* 64661 */ {(14<<2)|2,{88,102,0}}, +/* 64662 */ {(14<<2)|2,{88,102,0}}, +/* 64663 */ {(14<<2)|2,{88,102,0}}, +/* 64664 */ {(14<<2)|2,{88,103,0}}, +/* 64665 */ {(14<<2)|2,{88,103,0}}, +/* 64666 */ {(14<<2)|2,{88,103,0}}, +/* 64667 */ {(14<<2)|2,{88,103,0}}, +/* 64668 */ {(14<<2)|2,{88,104,0}}, +/* 64669 */ {(14<<2)|2,{88,104,0}}, +/* 64670 */ {(14<<2)|2,{88,104,0}}, +/* 64671 */ {(14<<2)|2,{88,104,0}}, +/* 64672 */ {(14<<2)|2,{88,108,0}}, +/* 64673 */ {(14<<2)|2,{88,108,0}}, +/* 64674 */ {(14<<2)|2,{88,108,0}}, +/* 64675 */ {(14<<2)|2,{88,108,0}}, +/* 64676 */ {(14<<2)|2,{88,109,0}}, +/* 64677 */ {(14<<2)|2,{88,109,0}}, +/* 64678 */ {(14<<2)|2,{88,109,0}}, +/* 64679 */ {(14<<2)|2,{88,109,0}}, +/* 64680 */ {(14<<2)|2,{88,110,0}}, +/* 64681 */ {(14<<2)|2,{88,110,0}}, +/* 64682 */ {(14<<2)|2,{88,110,0}}, +/* 64683 */ {(14<<2)|2,{88,110,0}}, +/* 64684 */ {(14<<2)|2,{88,112,0}}, +/* 64685 */ {(14<<2)|2,{88,112,0}}, +/* 64686 */ {(14<<2)|2,{88,112,0}}, +/* 64687 */ {(14<<2)|2,{88,112,0}}, +/* 64688 */ {(14<<2)|2,{88,114,0}}, +/* 64689 */ {(14<<2)|2,{88,114,0}}, +/* 64690 */ {(14<<2)|2,{88,114,0}}, +/* 64691 */ {(14<<2)|2,{88,114,0}}, +/* 64692 */ {(14<<2)|2,{88,117,0}}, +/* 64693 */ {(14<<2)|2,{88,117,0}}, +/* 64694 */ {(14<<2)|2,{88,117,0}}, +/* 64695 */ {(14<<2)|2,{88,117,0}}, +/* 64696 */ {(15<<2)|2,{88,58,0}}, +/* 64697 */ {(15<<2)|2,{88,58,0}}, +/* 64698 */ {(15<<2)|2,{88,66,0}}, +/* 64699 */ {(15<<2)|2,{88,66,0}}, +/* 64700 */ {(15<<2)|2,{88,67,0}}, +/* 64701 */ {(15<<2)|2,{88,67,0}}, +/* 64702 */ {(15<<2)|2,{88,68,0}}, +/* 64703 */ {(15<<2)|2,{88,68,0}}, +/* 64704 */ {(15<<2)|2,{88,69,0}}, +/* 64705 */ {(15<<2)|2,{88,69,0}}, +/* 64706 */ {(15<<2)|2,{88,70,0}}, +/* 64707 */ {(15<<2)|2,{88,70,0}}, +/* 64708 */ {(15<<2)|2,{88,71,0}}, +/* 64709 */ {(15<<2)|2,{88,71,0}}, +/* 64710 */ {(15<<2)|2,{88,72,0}}, +/* 64711 */ {(15<<2)|2,{88,72,0}}, +/* 64712 */ {(15<<2)|2,{88,73,0}}, +/* 64713 */ {(15<<2)|2,{88,73,0}}, +/* 64714 */ {(15<<2)|2,{88,74,0}}, +/* 64715 */ {(15<<2)|2,{88,74,0}}, +/* 64716 */ {(15<<2)|2,{88,75,0}}, +/* 64717 */ {(15<<2)|2,{88,75,0}}, +/* 64718 */ {(15<<2)|2,{88,76,0}}, +/* 64719 */ {(15<<2)|2,{88,76,0}}, +/* 64720 */ {(15<<2)|2,{88,77,0}}, +/* 64721 */ {(15<<2)|2,{88,77,0}}, +/* 64722 */ {(15<<2)|2,{88,78,0}}, +/* 64723 */ {(15<<2)|2,{88,78,0}}, +/* 64724 */ {(15<<2)|2,{88,79,0}}, +/* 64725 */ {(15<<2)|2,{88,79,0}}, +/* 64726 */ {(15<<2)|2,{88,80,0}}, +/* 64727 */ {(15<<2)|2,{88,80,0}}, +/* 64728 */ {(15<<2)|2,{88,81,0}}, +/* 64729 */ {(15<<2)|2,{88,81,0}}, +/* 64730 */ {(15<<2)|2,{88,82,0}}, +/* 64731 */ {(15<<2)|2,{88,82,0}}, +/* 64732 */ {(15<<2)|2,{88,83,0}}, +/* 64733 */ {(15<<2)|2,{88,83,0}}, +/* 64734 */ {(15<<2)|2,{88,84,0}}, +/* 64735 */ {(15<<2)|2,{88,84,0}}, +/* 64736 */ {(15<<2)|2,{88,85,0}}, +/* 64737 */ {(15<<2)|2,{88,85,0}}, +/* 64738 */ {(15<<2)|2,{88,86,0}}, +/* 64739 */ {(15<<2)|2,{88,86,0}}, +/* 64740 */ {(15<<2)|2,{88,87,0}}, +/* 64741 */ {(15<<2)|2,{88,87,0}}, +/* 64742 */ {(15<<2)|2,{88,89,0}}, +/* 64743 */ {(15<<2)|2,{88,89,0}}, +/* 64744 */ {(15<<2)|2,{88,106,0}}, +/* 64745 */ {(15<<2)|2,{88,106,0}}, +/* 64746 */ {(15<<2)|2,{88,107,0}}, +/* 64747 */ {(15<<2)|2,{88,107,0}}, +/* 64748 */ {(15<<2)|2,{88,113,0}}, +/* 64749 */ {(15<<2)|2,{88,113,0}}, +/* 64750 */ {(15<<2)|2,{88,118,0}}, +/* 64751 */ {(15<<2)|2,{88,118,0}}, +/* 64752 */ {(15<<2)|2,{88,119,0}}, +/* 64753 */ {(15<<2)|2,{88,119,0}}, +/* 64754 */ {(15<<2)|2,{88,120,0}}, +/* 64755 */ {(15<<2)|2,{88,120,0}}, +/* 64756 */ {(15<<2)|2,{88,121,0}}, +/* 64757 */ {(15<<2)|2,{88,121,0}}, +/* 64758 */ {(15<<2)|2,{88,122,0}}, +/* 64759 */ {(15<<2)|2,{88,122,0}}, +/* 64760 */ {(16<<2)|2,{88,38,0}}, +/* 64761 */ {(16<<2)|2,{88,42,0}}, +/* 64762 */ {(16<<2)|2,{88,44,0}}, +/* 64763 */ {(16<<2)|2,{88,59,0}}, +/* 64764 */ {(16<<2)|2,{88,88,0}}, +/* 64765 */ {(16<<2)|2,{88,90,0}}, +/* 64766 */ {(8<<2)|1,{88,0,0}}, +/* 64767 */ {(8<<2)|1,{88,0,0}}, +/* 64768 */ {(13<<2)|2,{90,48,0}}, +/* 64769 */ {(13<<2)|2,{90,48,0}}, +/* 64770 */ {(13<<2)|2,{90,48,0}}, +/* 64771 */ {(13<<2)|2,{90,48,0}}, +/* 64772 */ {(13<<2)|2,{90,48,0}}, +/* 64773 */ {(13<<2)|2,{90,48,0}}, +/* 64774 */ {(13<<2)|2,{90,48,0}}, +/* 64775 */ {(13<<2)|2,{90,48,0}}, +/* 64776 */ {(13<<2)|2,{90,49,0}}, +/* 64777 */ {(13<<2)|2,{90,49,0}}, +/* 64778 */ {(13<<2)|2,{90,49,0}}, +/* 64779 */ {(13<<2)|2,{90,49,0}}, +/* 64780 */ {(13<<2)|2,{90,49,0}}, +/* 64781 */ {(13<<2)|2,{90,49,0}}, +/* 64782 */ {(13<<2)|2,{90,49,0}}, +/* 64783 */ {(13<<2)|2,{90,49,0}}, +/* 64784 */ {(13<<2)|2,{90,50,0}}, +/* 64785 */ {(13<<2)|2,{90,50,0}}, +/* 64786 */ {(13<<2)|2,{90,50,0}}, +/* 64787 */ {(13<<2)|2,{90,50,0}}, +/* 64788 */ {(13<<2)|2,{90,50,0}}, +/* 64789 */ {(13<<2)|2,{90,50,0}}, +/* 64790 */ {(13<<2)|2,{90,50,0}}, +/* 64791 */ {(13<<2)|2,{90,50,0}}, +/* 64792 */ {(13<<2)|2,{90,97,0}}, +/* 64793 */ {(13<<2)|2,{90,97,0}}, +/* 64794 */ {(13<<2)|2,{90,97,0}}, +/* 64795 */ {(13<<2)|2,{90,97,0}}, +/* 64796 */ {(13<<2)|2,{90,97,0}}, +/* 64797 */ {(13<<2)|2,{90,97,0}}, +/* 64798 */ {(13<<2)|2,{90,97,0}}, +/* 64799 */ {(13<<2)|2,{90,97,0}}, +/* 64800 */ {(13<<2)|2,{90,99,0}}, +/* 64801 */ {(13<<2)|2,{90,99,0}}, +/* 64802 */ {(13<<2)|2,{90,99,0}}, +/* 64803 */ {(13<<2)|2,{90,99,0}}, +/* 64804 */ {(13<<2)|2,{90,99,0}}, +/* 64805 */ {(13<<2)|2,{90,99,0}}, +/* 64806 */ {(13<<2)|2,{90,99,0}}, +/* 64807 */ {(13<<2)|2,{90,99,0}}, +/* 64808 */ {(13<<2)|2,{90,101,0}}, +/* 64809 */ {(13<<2)|2,{90,101,0}}, +/* 64810 */ {(13<<2)|2,{90,101,0}}, +/* 64811 */ {(13<<2)|2,{90,101,0}}, +/* 64812 */ {(13<<2)|2,{90,101,0}}, +/* 64813 */ {(13<<2)|2,{90,101,0}}, +/* 64814 */ {(13<<2)|2,{90,101,0}}, +/* 64815 */ {(13<<2)|2,{90,101,0}}, +/* 64816 */ {(13<<2)|2,{90,105,0}}, +/* 64817 */ {(13<<2)|2,{90,105,0}}, +/* 64818 */ {(13<<2)|2,{90,105,0}}, +/* 64819 */ {(13<<2)|2,{90,105,0}}, +/* 64820 */ {(13<<2)|2,{90,105,0}}, +/* 64821 */ {(13<<2)|2,{90,105,0}}, +/* 64822 */ {(13<<2)|2,{90,105,0}}, +/* 64823 */ {(13<<2)|2,{90,105,0}}, +/* 64824 */ {(13<<2)|2,{90,111,0}}, +/* 64825 */ {(13<<2)|2,{90,111,0}}, +/* 64826 */ {(13<<2)|2,{90,111,0}}, +/* 64827 */ {(13<<2)|2,{90,111,0}}, +/* 64828 */ {(13<<2)|2,{90,111,0}}, +/* 64829 */ {(13<<2)|2,{90,111,0}}, +/* 64830 */ {(13<<2)|2,{90,111,0}}, +/* 64831 */ {(13<<2)|2,{90,111,0}}, +/* 64832 */ {(13<<2)|2,{90,115,0}}, +/* 64833 */ {(13<<2)|2,{90,115,0}}, +/* 64834 */ {(13<<2)|2,{90,115,0}}, +/* 64835 */ {(13<<2)|2,{90,115,0}}, +/* 64836 */ {(13<<2)|2,{90,115,0}}, +/* 64837 */ {(13<<2)|2,{90,115,0}}, +/* 64838 */ {(13<<2)|2,{90,115,0}}, +/* 64839 */ {(13<<2)|2,{90,115,0}}, +/* 64840 */ {(13<<2)|2,{90,116,0}}, +/* 64841 */ {(13<<2)|2,{90,116,0}}, +/* 64842 */ {(13<<2)|2,{90,116,0}}, +/* 64843 */ {(13<<2)|2,{90,116,0}}, +/* 64844 */ {(13<<2)|2,{90,116,0}}, +/* 64845 */ {(13<<2)|2,{90,116,0}}, +/* 64846 */ {(13<<2)|2,{90,116,0}}, +/* 64847 */ {(13<<2)|2,{90,116,0}}, +/* 64848 */ {(14<<2)|2,{90,32,0}}, +/* 64849 */ {(14<<2)|2,{90,32,0}}, +/* 64850 */ {(14<<2)|2,{90,32,0}}, +/* 64851 */ {(14<<2)|2,{90,32,0}}, +/* 64852 */ {(14<<2)|2,{90,37,0}}, +/* 64853 */ {(14<<2)|2,{90,37,0}}, +/* 64854 */ {(14<<2)|2,{90,37,0}}, +/* 64855 */ {(14<<2)|2,{90,37,0}}, +/* 64856 */ {(14<<2)|2,{90,45,0}}, +/* 64857 */ {(14<<2)|2,{90,45,0}}, +/* 64858 */ {(14<<2)|2,{90,45,0}}, +/* 64859 */ {(14<<2)|2,{90,45,0}}, +/* 64860 */ {(14<<2)|2,{90,46,0}}, +/* 64861 */ {(14<<2)|2,{90,46,0}}, +/* 64862 */ {(14<<2)|2,{90,46,0}}, +/* 64863 */ {(14<<2)|2,{90,46,0}}, +/* 64864 */ {(14<<2)|2,{90,47,0}}, +/* 64865 */ {(14<<2)|2,{90,47,0}}, +/* 64866 */ {(14<<2)|2,{90,47,0}}, +/* 64867 */ {(14<<2)|2,{90,47,0}}, +/* 64868 */ {(14<<2)|2,{90,51,0}}, +/* 64869 */ {(14<<2)|2,{90,51,0}}, +/* 64870 */ {(14<<2)|2,{90,51,0}}, +/* 64871 */ {(14<<2)|2,{90,51,0}}, +/* 64872 */ {(14<<2)|2,{90,52,0}}, +/* 64873 */ {(14<<2)|2,{90,52,0}}, +/* 64874 */ {(14<<2)|2,{90,52,0}}, +/* 64875 */ {(14<<2)|2,{90,52,0}}, +/* 64876 */ {(14<<2)|2,{90,53,0}}, +/* 64877 */ {(14<<2)|2,{90,53,0}}, +/* 64878 */ {(14<<2)|2,{90,53,0}}, +/* 64879 */ {(14<<2)|2,{90,53,0}}, +/* 64880 */ {(14<<2)|2,{90,54,0}}, +/* 64881 */ {(14<<2)|2,{90,54,0}}, +/* 64882 */ {(14<<2)|2,{90,54,0}}, +/* 64883 */ {(14<<2)|2,{90,54,0}}, +/* 64884 */ {(14<<2)|2,{90,55,0}}, +/* 64885 */ {(14<<2)|2,{90,55,0}}, +/* 64886 */ {(14<<2)|2,{90,55,0}}, +/* 64887 */ {(14<<2)|2,{90,55,0}}, +/* 64888 */ {(14<<2)|2,{90,56,0}}, +/* 64889 */ {(14<<2)|2,{90,56,0}}, +/* 64890 */ {(14<<2)|2,{90,56,0}}, +/* 64891 */ {(14<<2)|2,{90,56,0}}, +/* 64892 */ {(14<<2)|2,{90,57,0}}, +/* 64893 */ {(14<<2)|2,{90,57,0}}, +/* 64894 */ {(14<<2)|2,{90,57,0}}, +/* 64895 */ {(14<<2)|2,{90,57,0}}, +/* 64896 */ {(14<<2)|2,{90,61,0}}, +/* 64897 */ {(14<<2)|2,{90,61,0}}, +/* 64898 */ {(14<<2)|2,{90,61,0}}, +/* 64899 */ {(14<<2)|2,{90,61,0}}, +/* 64900 */ {(14<<2)|2,{90,65,0}}, +/* 64901 */ {(14<<2)|2,{90,65,0}}, +/* 64902 */ {(14<<2)|2,{90,65,0}}, +/* 64903 */ {(14<<2)|2,{90,65,0}}, +/* 64904 */ {(14<<2)|2,{90,95,0}}, +/* 64905 */ {(14<<2)|2,{90,95,0}}, +/* 64906 */ {(14<<2)|2,{90,95,0}}, +/* 64907 */ {(14<<2)|2,{90,95,0}}, +/* 64908 */ {(14<<2)|2,{90,98,0}}, +/* 64909 */ {(14<<2)|2,{90,98,0}}, +/* 64910 */ {(14<<2)|2,{90,98,0}}, +/* 64911 */ {(14<<2)|2,{90,98,0}}, +/* 64912 */ {(14<<2)|2,{90,100,0}}, +/* 64913 */ {(14<<2)|2,{90,100,0}}, +/* 64914 */ {(14<<2)|2,{90,100,0}}, +/* 64915 */ {(14<<2)|2,{90,100,0}}, +/* 64916 */ {(14<<2)|2,{90,102,0}}, +/* 64917 */ {(14<<2)|2,{90,102,0}}, +/* 64918 */ {(14<<2)|2,{90,102,0}}, +/* 64919 */ {(14<<2)|2,{90,102,0}}, +/* 64920 */ {(14<<2)|2,{90,103,0}}, +/* 64921 */ {(14<<2)|2,{90,103,0}}, +/* 64922 */ {(14<<2)|2,{90,103,0}}, +/* 64923 */ {(14<<2)|2,{90,103,0}}, +/* 64924 */ {(14<<2)|2,{90,104,0}}, +/* 64925 */ {(14<<2)|2,{90,104,0}}, +/* 64926 */ {(14<<2)|2,{90,104,0}}, +/* 64927 */ {(14<<2)|2,{90,104,0}}, +/* 64928 */ {(14<<2)|2,{90,108,0}}, +/* 64929 */ {(14<<2)|2,{90,108,0}}, +/* 64930 */ {(14<<2)|2,{90,108,0}}, +/* 64931 */ {(14<<2)|2,{90,108,0}}, +/* 64932 */ {(14<<2)|2,{90,109,0}}, +/* 64933 */ {(14<<2)|2,{90,109,0}}, +/* 64934 */ {(14<<2)|2,{90,109,0}}, +/* 64935 */ {(14<<2)|2,{90,109,0}}, +/* 64936 */ {(14<<2)|2,{90,110,0}}, +/* 64937 */ {(14<<2)|2,{90,110,0}}, +/* 64938 */ {(14<<2)|2,{90,110,0}}, +/* 64939 */ {(14<<2)|2,{90,110,0}}, +/* 64940 */ {(14<<2)|2,{90,112,0}}, +/* 64941 */ {(14<<2)|2,{90,112,0}}, +/* 64942 */ {(14<<2)|2,{90,112,0}}, +/* 64943 */ {(14<<2)|2,{90,112,0}}, +/* 64944 */ {(14<<2)|2,{90,114,0}}, +/* 64945 */ {(14<<2)|2,{90,114,0}}, +/* 64946 */ {(14<<2)|2,{90,114,0}}, +/* 64947 */ {(14<<2)|2,{90,114,0}}, +/* 64948 */ {(14<<2)|2,{90,117,0}}, +/* 64949 */ {(14<<2)|2,{90,117,0}}, +/* 64950 */ {(14<<2)|2,{90,117,0}}, +/* 64951 */ {(14<<2)|2,{90,117,0}}, +/* 64952 */ {(15<<2)|2,{90,58,0}}, +/* 64953 */ {(15<<2)|2,{90,58,0}}, +/* 64954 */ {(15<<2)|2,{90,66,0}}, +/* 64955 */ {(15<<2)|2,{90,66,0}}, +/* 64956 */ {(15<<2)|2,{90,67,0}}, +/* 64957 */ {(15<<2)|2,{90,67,0}}, +/* 64958 */ {(15<<2)|2,{90,68,0}}, +/* 64959 */ {(15<<2)|2,{90,68,0}}, +/* 64960 */ {(15<<2)|2,{90,69,0}}, +/* 64961 */ {(15<<2)|2,{90,69,0}}, +/* 64962 */ {(15<<2)|2,{90,70,0}}, +/* 64963 */ {(15<<2)|2,{90,70,0}}, +/* 64964 */ {(15<<2)|2,{90,71,0}}, +/* 64965 */ {(15<<2)|2,{90,71,0}}, +/* 64966 */ {(15<<2)|2,{90,72,0}}, +/* 64967 */ {(15<<2)|2,{90,72,0}}, +/* 64968 */ {(15<<2)|2,{90,73,0}}, +/* 64969 */ {(15<<2)|2,{90,73,0}}, +/* 64970 */ {(15<<2)|2,{90,74,0}}, +/* 64971 */ {(15<<2)|2,{90,74,0}}, +/* 64972 */ {(15<<2)|2,{90,75,0}}, +/* 64973 */ {(15<<2)|2,{90,75,0}}, +/* 64974 */ {(15<<2)|2,{90,76,0}}, +/* 64975 */ {(15<<2)|2,{90,76,0}}, +/* 64976 */ {(15<<2)|2,{90,77,0}}, +/* 64977 */ {(15<<2)|2,{90,77,0}}, +/* 64978 */ {(15<<2)|2,{90,78,0}}, +/* 64979 */ {(15<<2)|2,{90,78,0}}, +/* 64980 */ {(15<<2)|2,{90,79,0}}, +/* 64981 */ {(15<<2)|2,{90,79,0}}, +/* 64982 */ {(15<<2)|2,{90,80,0}}, +/* 64983 */ {(15<<2)|2,{90,80,0}}, +/* 64984 */ {(15<<2)|2,{90,81,0}}, +/* 64985 */ {(15<<2)|2,{90,81,0}}, +/* 64986 */ {(15<<2)|2,{90,82,0}}, +/* 64987 */ {(15<<2)|2,{90,82,0}}, +/* 64988 */ {(15<<2)|2,{90,83,0}}, +/* 64989 */ {(15<<2)|2,{90,83,0}}, +/* 64990 */ {(15<<2)|2,{90,84,0}}, +/* 64991 */ {(15<<2)|2,{90,84,0}}, +/* 64992 */ {(15<<2)|2,{90,85,0}}, +/* 64993 */ {(15<<2)|2,{90,85,0}}, +/* 64994 */ {(15<<2)|2,{90,86,0}}, +/* 64995 */ {(15<<2)|2,{90,86,0}}, +/* 64996 */ {(15<<2)|2,{90,87,0}}, +/* 64997 */ {(15<<2)|2,{90,87,0}}, +/* 64998 */ {(15<<2)|2,{90,89,0}}, +/* 64999 */ {(15<<2)|2,{90,89,0}}, +/* 65000 */ {(15<<2)|2,{90,106,0}}, +/* 65001 */ {(15<<2)|2,{90,106,0}}, +/* 65002 */ {(15<<2)|2,{90,107,0}}, +/* 65003 */ {(15<<2)|2,{90,107,0}}, +/* 65004 */ {(15<<2)|2,{90,113,0}}, +/* 65005 */ {(15<<2)|2,{90,113,0}}, +/* 65006 */ {(15<<2)|2,{90,118,0}}, +/* 65007 */ {(15<<2)|2,{90,118,0}}, +/* 65008 */ {(15<<2)|2,{90,119,0}}, +/* 65009 */ {(15<<2)|2,{90,119,0}}, +/* 65010 */ {(15<<2)|2,{90,120,0}}, +/* 65011 */ {(15<<2)|2,{90,120,0}}, +/* 65012 */ {(15<<2)|2,{90,121,0}}, +/* 65013 */ {(15<<2)|2,{90,121,0}}, +/* 65014 */ {(15<<2)|2,{90,122,0}}, +/* 65015 */ {(15<<2)|2,{90,122,0}}, +/* 65016 */ {(16<<2)|2,{90,38,0}}, +/* 65017 */ {(16<<2)|2,{90,42,0}}, +/* 65018 */ {(16<<2)|2,{90,44,0}}, +/* 65019 */ {(16<<2)|2,{90,59,0}}, +/* 65020 */ {(16<<2)|2,{90,88,0}}, +/* 65021 */ {(16<<2)|2,{90,90,0}}, +/* 65022 */ {(8<<2)|1,{90,0,0}}, +/* 65023 */ {(8<<2)|1,{90,0,0}}, +/* 65024 */ {(15<<2)|2,{33,48,0}}, +/* 65025 */ {(15<<2)|2,{33,48,0}}, +/* 65026 */ {(15<<2)|2,{33,49,0}}, +/* 65027 */ {(15<<2)|2,{33,49,0}}, +/* 65028 */ {(15<<2)|2,{33,50,0}}, +/* 65029 */ {(15<<2)|2,{33,50,0}}, +/* 65030 */ {(15<<2)|2,{33,97,0}}, +/* 65031 */ {(15<<2)|2,{33,97,0}}, +/* 65032 */ {(15<<2)|2,{33,99,0}}, +/* 65033 */ {(15<<2)|2,{33,99,0}}, +/* 65034 */ {(15<<2)|2,{33,101,0}}, +/* 65035 */ {(15<<2)|2,{33,101,0}}, +/* 65036 */ {(15<<2)|2,{33,105,0}}, +/* 65037 */ {(15<<2)|2,{33,105,0}}, +/* 65038 */ {(15<<2)|2,{33,111,0}}, +/* 65039 */ {(15<<2)|2,{33,111,0}}, +/* 65040 */ {(15<<2)|2,{33,115,0}}, +/* 65041 */ {(15<<2)|2,{33,115,0}}, +/* 65042 */ {(15<<2)|2,{33,116,0}}, +/* 65043 */ {(15<<2)|2,{33,116,0}}, +/* 65044 */ {(16<<2)|2,{33,32,0}}, +/* 65045 */ {(16<<2)|2,{33,37,0}}, +/* 65046 */ {(16<<2)|2,{33,45,0}}, +/* 65047 */ {(16<<2)|2,{33,46,0}}, +/* 65048 */ {(16<<2)|2,{33,47,0}}, +/* 65049 */ {(16<<2)|2,{33,51,0}}, +/* 65050 */ {(16<<2)|2,{33,52,0}}, +/* 65051 */ {(16<<2)|2,{33,53,0}}, +/* 65052 */ {(16<<2)|2,{33,54,0}}, +/* 65053 */ {(16<<2)|2,{33,55,0}}, +/* 65054 */ {(16<<2)|2,{33,56,0}}, +/* 65055 */ {(16<<2)|2,{33,57,0}}, +/* 65056 */ {(16<<2)|2,{33,61,0}}, +/* 65057 */ {(16<<2)|2,{33,65,0}}, +/* 65058 */ {(16<<2)|2,{33,95,0}}, +/* 65059 */ {(16<<2)|2,{33,98,0}}, +/* 65060 */ {(16<<2)|2,{33,100,0}}, +/* 65061 */ {(16<<2)|2,{33,102,0}}, +/* 65062 */ {(16<<2)|2,{33,103,0}}, +/* 65063 */ {(16<<2)|2,{33,104,0}}, +/* 65064 */ {(16<<2)|2,{33,108,0}}, +/* 65065 */ {(16<<2)|2,{33,109,0}}, +/* 65066 */ {(16<<2)|2,{33,110,0}}, +/* 65067 */ {(16<<2)|2,{33,112,0}}, +/* 65068 */ {(16<<2)|2,{33,114,0}}, +/* 65069 */ {(16<<2)|2,{33,117,0}}, +/* 65070 */ {(10<<2)|1,{33,0,0}}, +/* 65071 */ {(10<<2)|1,{33,0,0}}, +/* 65072 */ {(10<<2)|1,{33,0,0}}, +/* 65073 */ {(10<<2)|1,{33,0,0}}, +/* 65074 */ {(10<<2)|1,{33,0,0}}, +/* 65075 */ {(10<<2)|1,{33,0,0}}, +/* 65076 */ {(10<<2)|1,{33,0,0}}, +/* 65077 */ {(10<<2)|1,{33,0,0}}, +/* 65078 */ {(10<<2)|1,{33,0,0}}, +/* 65079 */ {(10<<2)|1,{33,0,0}}, +/* 65080 */ {(10<<2)|1,{33,0,0}}, +/* 65081 */ {(10<<2)|1,{33,0,0}}, +/* 65082 */ {(10<<2)|1,{33,0,0}}, +/* 65083 */ {(10<<2)|1,{33,0,0}}, +/* 65084 */ {(10<<2)|1,{33,0,0}}, +/* 65085 */ {(10<<2)|1,{33,0,0}}, +/* 65086 */ {(10<<2)|1,{33,0,0}}, +/* 65087 */ {(10<<2)|1,{33,0,0}}, +/* 65088 */ {(15<<2)|2,{34,48,0}}, +/* 65089 */ {(15<<2)|2,{34,48,0}}, +/* 65090 */ {(15<<2)|2,{34,49,0}}, +/* 65091 */ {(15<<2)|2,{34,49,0}}, +/* 65092 */ {(15<<2)|2,{34,50,0}}, +/* 65093 */ {(15<<2)|2,{34,50,0}}, +/* 65094 */ {(15<<2)|2,{34,97,0}}, +/* 65095 */ {(15<<2)|2,{34,97,0}}, +/* 65096 */ {(15<<2)|2,{34,99,0}}, +/* 65097 */ {(15<<2)|2,{34,99,0}}, +/* 65098 */ {(15<<2)|2,{34,101,0}}, +/* 65099 */ {(15<<2)|2,{34,101,0}}, +/* 65100 */ {(15<<2)|2,{34,105,0}}, +/* 65101 */ {(15<<2)|2,{34,105,0}}, +/* 65102 */ {(15<<2)|2,{34,111,0}}, +/* 65103 */ {(15<<2)|2,{34,111,0}}, +/* 65104 */ {(15<<2)|2,{34,115,0}}, +/* 65105 */ {(15<<2)|2,{34,115,0}}, +/* 65106 */ {(15<<2)|2,{34,116,0}}, +/* 65107 */ {(15<<2)|2,{34,116,0}}, +/* 65108 */ {(16<<2)|2,{34,32,0}}, +/* 65109 */ {(16<<2)|2,{34,37,0}}, +/* 65110 */ {(16<<2)|2,{34,45,0}}, +/* 65111 */ {(16<<2)|2,{34,46,0}}, +/* 65112 */ {(16<<2)|2,{34,47,0}}, +/* 65113 */ {(16<<2)|2,{34,51,0}}, +/* 65114 */ {(16<<2)|2,{34,52,0}}, +/* 65115 */ {(16<<2)|2,{34,53,0}}, +/* 65116 */ {(16<<2)|2,{34,54,0}}, +/* 65117 */ {(16<<2)|2,{34,55,0}}, +/* 65118 */ {(16<<2)|2,{34,56,0}}, +/* 65119 */ {(16<<2)|2,{34,57,0}}, +/* 65120 */ {(16<<2)|2,{34,61,0}}, +/* 65121 */ {(16<<2)|2,{34,65,0}}, +/* 65122 */ {(16<<2)|2,{34,95,0}}, +/* 65123 */ {(16<<2)|2,{34,98,0}}, +/* 65124 */ {(16<<2)|2,{34,100,0}}, +/* 65125 */ {(16<<2)|2,{34,102,0}}, +/* 65126 */ {(16<<2)|2,{34,103,0}}, +/* 65127 */ {(16<<2)|2,{34,104,0}}, +/* 65128 */ {(16<<2)|2,{34,108,0}}, +/* 65129 */ {(16<<2)|2,{34,109,0}}, +/* 65130 */ {(16<<2)|2,{34,110,0}}, +/* 65131 */ {(16<<2)|2,{34,112,0}}, +/* 65132 */ {(16<<2)|2,{34,114,0}}, +/* 65133 */ {(16<<2)|2,{34,117,0}}, +/* 65134 */ {(10<<2)|1,{34,0,0}}, +/* 65135 */ {(10<<2)|1,{34,0,0}}, +/* 65136 */ {(10<<2)|1,{34,0,0}}, +/* 65137 */ {(10<<2)|1,{34,0,0}}, +/* 65138 */ {(10<<2)|1,{34,0,0}}, +/* 65139 */ {(10<<2)|1,{34,0,0}}, +/* 65140 */ {(10<<2)|1,{34,0,0}}, +/* 65141 */ {(10<<2)|1,{34,0,0}}, +/* 65142 */ {(10<<2)|1,{34,0,0}}, +/* 65143 */ {(10<<2)|1,{34,0,0}}, +/* 65144 */ {(10<<2)|1,{34,0,0}}, +/* 65145 */ {(10<<2)|1,{34,0,0}}, +/* 65146 */ {(10<<2)|1,{34,0,0}}, +/* 65147 */ {(10<<2)|1,{34,0,0}}, +/* 65148 */ {(10<<2)|1,{34,0,0}}, +/* 65149 */ {(10<<2)|1,{34,0,0}}, +/* 65150 */ {(10<<2)|1,{34,0,0}}, +/* 65151 */ {(10<<2)|1,{34,0,0}}, +/* 65152 */ {(15<<2)|2,{40,48,0}}, +/* 65153 */ {(15<<2)|2,{40,48,0}}, +/* 65154 */ {(15<<2)|2,{40,49,0}}, +/* 65155 */ {(15<<2)|2,{40,49,0}}, +/* 65156 */ {(15<<2)|2,{40,50,0}}, +/* 65157 */ {(15<<2)|2,{40,50,0}}, +/* 65158 */ {(15<<2)|2,{40,97,0}}, +/* 65159 */ {(15<<2)|2,{40,97,0}}, +/* 65160 */ {(15<<2)|2,{40,99,0}}, +/* 65161 */ {(15<<2)|2,{40,99,0}}, +/* 65162 */ {(15<<2)|2,{40,101,0}}, +/* 65163 */ {(15<<2)|2,{40,101,0}}, +/* 65164 */ {(15<<2)|2,{40,105,0}}, +/* 65165 */ {(15<<2)|2,{40,105,0}}, +/* 65166 */ {(15<<2)|2,{40,111,0}}, +/* 65167 */ {(15<<2)|2,{40,111,0}}, +/* 65168 */ {(15<<2)|2,{40,115,0}}, +/* 65169 */ {(15<<2)|2,{40,115,0}}, +/* 65170 */ {(15<<2)|2,{40,116,0}}, +/* 65171 */ {(15<<2)|2,{40,116,0}}, +/* 65172 */ {(16<<2)|2,{40,32,0}}, +/* 65173 */ {(16<<2)|2,{40,37,0}}, +/* 65174 */ {(16<<2)|2,{40,45,0}}, +/* 65175 */ {(16<<2)|2,{40,46,0}}, +/* 65176 */ {(16<<2)|2,{40,47,0}}, +/* 65177 */ {(16<<2)|2,{40,51,0}}, +/* 65178 */ {(16<<2)|2,{40,52,0}}, +/* 65179 */ {(16<<2)|2,{40,53,0}}, +/* 65180 */ {(16<<2)|2,{40,54,0}}, +/* 65181 */ {(16<<2)|2,{40,55,0}}, +/* 65182 */ {(16<<2)|2,{40,56,0}}, +/* 65183 */ {(16<<2)|2,{40,57,0}}, +/* 65184 */ {(16<<2)|2,{40,61,0}}, +/* 65185 */ {(16<<2)|2,{40,65,0}}, +/* 65186 */ {(16<<2)|2,{40,95,0}}, +/* 65187 */ {(16<<2)|2,{40,98,0}}, +/* 65188 */ {(16<<2)|2,{40,100,0}}, +/* 65189 */ {(16<<2)|2,{40,102,0}}, +/* 65190 */ {(16<<2)|2,{40,103,0}}, +/* 65191 */ {(16<<2)|2,{40,104,0}}, +/* 65192 */ {(16<<2)|2,{40,108,0}}, +/* 65193 */ {(16<<2)|2,{40,109,0}}, +/* 65194 */ {(16<<2)|2,{40,110,0}}, +/* 65195 */ {(16<<2)|2,{40,112,0}}, +/* 65196 */ {(16<<2)|2,{40,114,0}}, +/* 65197 */ {(16<<2)|2,{40,117,0}}, +/* 65198 */ {(10<<2)|1,{40,0,0}}, +/* 65199 */ {(10<<2)|1,{40,0,0}}, +/* 65200 */ {(10<<2)|1,{40,0,0}}, +/* 65201 */ {(10<<2)|1,{40,0,0}}, +/* 65202 */ {(10<<2)|1,{40,0,0}}, +/* 65203 */ {(10<<2)|1,{40,0,0}}, +/* 65204 */ {(10<<2)|1,{40,0,0}}, +/* 65205 */ {(10<<2)|1,{40,0,0}}, +/* 65206 */ {(10<<2)|1,{40,0,0}}, +/* 65207 */ {(10<<2)|1,{40,0,0}}, +/* 65208 */ {(10<<2)|1,{40,0,0}}, +/* 65209 */ {(10<<2)|1,{40,0,0}}, +/* 65210 */ {(10<<2)|1,{40,0,0}}, +/* 65211 */ {(10<<2)|1,{40,0,0}}, +/* 65212 */ {(10<<2)|1,{40,0,0}}, +/* 65213 */ {(10<<2)|1,{40,0,0}}, +/* 65214 */ {(10<<2)|1,{40,0,0}}, +/* 65215 */ {(10<<2)|1,{40,0,0}}, +/* 65216 */ {(15<<2)|2,{41,48,0}}, +/* 65217 */ {(15<<2)|2,{41,48,0}}, +/* 65218 */ {(15<<2)|2,{41,49,0}}, +/* 65219 */ {(15<<2)|2,{41,49,0}}, +/* 65220 */ {(15<<2)|2,{41,50,0}}, +/* 65221 */ {(15<<2)|2,{41,50,0}}, +/* 65222 */ {(15<<2)|2,{41,97,0}}, +/* 65223 */ {(15<<2)|2,{41,97,0}}, +/* 65224 */ {(15<<2)|2,{41,99,0}}, +/* 65225 */ {(15<<2)|2,{41,99,0}}, +/* 65226 */ {(15<<2)|2,{41,101,0}}, +/* 65227 */ {(15<<2)|2,{41,101,0}}, +/* 65228 */ {(15<<2)|2,{41,105,0}}, +/* 65229 */ {(15<<2)|2,{41,105,0}}, +/* 65230 */ {(15<<2)|2,{41,111,0}}, +/* 65231 */ {(15<<2)|2,{41,111,0}}, +/* 65232 */ {(15<<2)|2,{41,115,0}}, +/* 65233 */ {(15<<2)|2,{41,115,0}}, +/* 65234 */ {(15<<2)|2,{41,116,0}}, +/* 65235 */ {(15<<2)|2,{41,116,0}}, +/* 65236 */ {(16<<2)|2,{41,32,0}}, +/* 65237 */ {(16<<2)|2,{41,37,0}}, +/* 65238 */ {(16<<2)|2,{41,45,0}}, +/* 65239 */ {(16<<2)|2,{41,46,0}}, +/* 65240 */ {(16<<2)|2,{41,47,0}}, +/* 65241 */ {(16<<2)|2,{41,51,0}}, +/* 65242 */ {(16<<2)|2,{41,52,0}}, +/* 65243 */ {(16<<2)|2,{41,53,0}}, +/* 65244 */ {(16<<2)|2,{41,54,0}}, +/* 65245 */ {(16<<2)|2,{41,55,0}}, +/* 65246 */ {(16<<2)|2,{41,56,0}}, +/* 65247 */ {(16<<2)|2,{41,57,0}}, +/* 65248 */ {(16<<2)|2,{41,61,0}}, +/* 65249 */ {(16<<2)|2,{41,65,0}}, +/* 65250 */ {(16<<2)|2,{41,95,0}}, +/* 65251 */ {(16<<2)|2,{41,98,0}}, +/* 65252 */ {(16<<2)|2,{41,100,0}}, +/* 65253 */ {(16<<2)|2,{41,102,0}}, +/* 65254 */ {(16<<2)|2,{41,103,0}}, +/* 65255 */ {(16<<2)|2,{41,104,0}}, +/* 65256 */ {(16<<2)|2,{41,108,0}}, +/* 65257 */ {(16<<2)|2,{41,109,0}}, +/* 65258 */ {(16<<2)|2,{41,110,0}}, +/* 65259 */ {(16<<2)|2,{41,112,0}}, +/* 65260 */ {(16<<2)|2,{41,114,0}}, +/* 65261 */ {(16<<2)|2,{41,117,0}}, +/* 65262 */ {(10<<2)|1,{41,0,0}}, +/* 65263 */ {(10<<2)|1,{41,0,0}}, +/* 65264 */ {(10<<2)|1,{41,0,0}}, +/* 65265 */ {(10<<2)|1,{41,0,0}}, +/* 65266 */ {(10<<2)|1,{41,0,0}}, +/* 65267 */ {(10<<2)|1,{41,0,0}}, +/* 65268 */ {(10<<2)|1,{41,0,0}}, +/* 65269 */ {(10<<2)|1,{41,0,0}}, +/* 65270 */ {(10<<2)|1,{41,0,0}}, +/* 65271 */ {(10<<2)|1,{41,0,0}}, +/* 65272 */ {(10<<2)|1,{41,0,0}}, +/* 65273 */ {(10<<2)|1,{41,0,0}}, +/* 65274 */ {(10<<2)|1,{41,0,0}}, +/* 65275 */ {(10<<2)|1,{41,0,0}}, +/* 65276 */ {(10<<2)|1,{41,0,0}}, +/* 65277 */ {(10<<2)|1,{41,0,0}}, +/* 65278 */ {(10<<2)|1,{41,0,0}}, +/* 65279 */ {(10<<2)|1,{41,0,0}}, +/* 65280 */ {(15<<2)|2,{63,48,0}}, +/* 65281 */ {(15<<2)|2,{63,48,0}}, +/* 65282 */ {(15<<2)|2,{63,49,0}}, +/* 65283 */ {(15<<2)|2,{63,49,0}}, +/* 65284 */ {(15<<2)|2,{63,50,0}}, +/* 65285 */ {(15<<2)|2,{63,50,0}}, +/* 65286 */ {(15<<2)|2,{63,97,0}}, +/* 65287 */ {(15<<2)|2,{63,97,0}}, +/* 65288 */ {(15<<2)|2,{63,99,0}}, +/* 65289 */ {(15<<2)|2,{63,99,0}}, +/* 65290 */ {(15<<2)|2,{63,101,0}}, +/* 65291 */ {(15<<2)|2,{63,101,0}}, +/* 65292 */ {(15<<2)|2,{63,105,0}}, +/* 65293 */ {(15<<2)|2,{63,105,0}}, +/* 65294 */ {(15<<2)|2,{63,111,0}}, +/* 65295 */ {(15<<2)|2,{63,111,0}}, +/* 65296 */ {(15<<2)|2,{63,115,0}}, +/* 65297 */ {(15<<2)|2,{63,115,0}}, +/* 65298 */ {(15<<2)|2,{63,116,0}}, +/* 65299 */ {(15<<2)|2,{63,116,0}}, +/* 65300 */ {(16<<2)|2,{63,32,0}}, +/* 65301 */ {(16<<2)|2,{63,37,0}}, +/* 65302 */ {(16<<2)|2,{63,45,0}}, +/* 65303 */ {(16<<2)|2,{63,46,0}}, +/* 65304 */ {(16<<2)|2,{63,47,0}}, +/* 65305 */ {(16<<2)|2,{63,51,0}}, +/* 65306 */ {(16<<2)|2,{63,52,0}}, +/* 65307 */ {(16<<2)|2,{63,53,0}}, +/* 65308 */ {(16<<2)|2,{63,54,0}}, +/* 65309 */ {(16<<2)|2,{63,55,0}}, +/* 65310 */ {(16<<2)|2,{63,56,0}}, +/* 65311 */ {(16<<2)|2,{63,57,0}}, +/* 65312 */ {(16<<2)|2,{63,61,0}}, +/* 65313 */ {(16<<2)|2,{63,65,0}}, +/* 65314 */ {(16<<2)|2,{63,95,0}}, +/* 65315 */ {(16<<2)|2,{63,98,0}}, +/* 65316 */ {(16<<2)|2,{63,100,0}}, +/* 65317 */ {(16<<2)|2,{63,102,0}}, +/* 65318 */ {(16<<2)|2,{63,103,0}}, +/* 65319 */ {(16<<2)|2,{63,104,0}}, +/* 65320 */ {(16<<2)|2,{63,108,0}}, +/* 65321 */ {(16<<2)|2,{63,109,0}}, +/* 65322 */ {(16<<2)|2,{63,110,0}}, +/* 65323 */ {(16<<2)|2,{63,112,0}}, +/* 65324 */ {(16<<2)|2,{63,114,0}}, +/* 65325 */ {(16<<2)|2,{63,117,0}}, +/* 65326 */ {(10<<2)|1,{63,0,0}}, +/* 65327 */ {(10<<2)|1,{63,0,0}}, +/* 65328 */ {(10<<2)|1,{63,0,0}}, +/* 65329 */ {(10<<2)|1,{63,0,0}}, +/* 65330 */ {(10<<2)|1,{63,0,0}}, +/* 65331 */ {(10<<2)|1,{63,0,0}}, +/* 65332 */ {(10<<2)|1,{63,0,0}}, +/* 65333 */ {(10<<2)|1,{63,0,0}}, +/* 65334 */ {(10<<2)|1,{63,0,0}}, +/* 65335 */ {(10<<2)|1,{63,0,0}}, +/* 65336 */ {(10<<2)|1,{63,0,0}}, +/* 65337 */ {(10<<2)|1,{63,0,0}}, +/* 65338 */ {(10<<2)|1,{63,0,0}}, +/* 65339 */ {(10<<2)|1,{63,0,0}}, +/* 65340 */ {(10<<2)|1,{63,0,0}}, +/* 65341 */ {(10<<2)|1,{63,0,0}}, +/* 65342 */ {(10<<2)|1,{63,0,0}}, +/* 65343 */ {(10<<2)|1,{63,0,0}}, +/* 65344 */ {(16<<2)|2,{39,48,0}}, +/* 65345 */ {(16<<2)|2,{39,49,0}}, +/* 65346 */ {(16<<2)|2,{39,50,0}}, +/* 65347 */ {(16<<2)|2,{39,97,0}}, +/* 65348 */ {(16<<2)|2,{39,99,0}}, +/* 65349 */ {(16<<2)|2,{39,101,0}}, +/* 65350 */ {(16<<2)|2,{39,105,0}}, +/* 65351 */ {(16<<2)|2,{39,111,0}}, +/* 65352 */ {(16<<2)|2,{39,115,0}}, +/* 65353 */ {(16<<2)|2,{39,116,0}}, +/* 65354 */ {(11<<2)|1,{39,0,0}}, +/* 65355 */ {(11<<2)|1,{39,0,0}}, +/* 65356 */ {(11<<2)|1,{39,0,0}}, +/* 65357 */ {(11<<2)|1,{39,0,0}}, +/* 65358 */ {(11<<2)|1,{39,0,0}}, +/* 65359 */ {(11<<2)|1,{39,0,0}}, +/* 65360 */ {(11<<2)|1,{39,0,0}}, +/* 65361 */ {(11<<2)|1,{39,0,0}}, +/* 65362 */ {(11<<2)|1,{39,0,0}}, +/* 65363 */ {(11<<2)|1,{39,0,0}}, +/* 65364 */ {(11<<2)|1,{39,0,0}}, +/* 65365 */ {(11<<2)|1,{39,0,0}}, +/* 65366 */ {(11<<2)|1,{39,0,0}}, +/* 65367 */ {(11<<2)|1,{39,0,0}}, +/* 65368 */ {(11<<2)|1,{39,0,0}}, +/* 65369 */ {(11<<2)|1,{39,0,0}}, +/* 65370 */ {(11<<2)|1,{39,0,0}}, +/* 65371 */ {(11<<2)|1,{39,0,0}}, +/* 65372 */ {(11<<2)|1,{39,0,0}}, +/* 65373 */ {(11<<2)|1,{39,0,0}}, +/* 65374 */ {(11<<2)|1,{39,0,0}}, +/* 65375 */ {(11<<2)|1,{39,0,0}}, +/* 65376 */ {(16<<2)|2,{43,48,0}}, +/* 65377 */ {(16<<2)|2,{43,49,0}}, +/* 65378 */ {(16<<2)|2,{43,50,0}}, +/* 65379 */ {(16<<2)|2,{43,97,0}}, +/* 65380 */ {(16<<2)|2,{43,99,0}}, +/* 65381 */ {(16<<2)|2,{43,101,0}}, +/* 65382 */ {(16<<2)|2,{43,105,0}}, +/* 65383 */ {(16<<2)|2,{43,111,0}}, +/* 65384 */ {(16<<2)|2,{43,115,0}}, +/* 65385 */ {(16<<2)|2,{43,116,0}}, +/* 65386 */ {(11<<2)|1,{43,0,0}}, +/* 65387 */ {(11<<2)|1,{43,0,0}}, +/* 65388 */ {(11<<2)|1,{43,0,0}}, +/* 65389 */ {(11<<2)|1,{43,0,0}}, +/* 65390 */ {(11<<2)|1,{43,0,0}}, +/* 65391 */ {(11<<2)|1,{43,0,0}}, +/* 65392 */ {(11<<2)|1,{43,0,0}}, +/* 65393 */ {(11<<2)|1,{43,0,0}}, +/* 65394 */ {(11<<2)|1,{43,0,0}}, +/* 65395 */ {(11<<2)|1,{43,0,0}}, +/* 65396 */ {(11<<2)|1,{43,0,0}}, +/* 65397 */ {(11<<2)|1,{43,0,0}}, +/* 65398 */ {(11<<2)|1,{43,0,0}}, +/* 65399 */ {(11<<2)|1,{43,0,0}}, +/* 65400 */ {(11<<2)|1,{43,0,0}}, +/* 65401 */ {(11<<2)|1,{43,0,0}}, +/* 65402 */ {(11<<2)|1,{43,0,0}}, +/* 65403 */ {(11<<2)|1,{43,0,0}}, +/* 65404 */ {(11<<2)|1,{43,0,0}}, +/* 65405 */ {(11<<2)|1,{43,0,0}}, +/* 65406 */ {(11<<2)|1,{43,0,0}}, +/* 65407 */ {(11<<2)|1,{43,0,0}}, +/* 65408 */ {(16<<2)|2,{124,48,0}}, +/* 65409 */ {(16<<2)|2,{124,49,0}}, +/* 65410 */ {(16<<2)|2,{124,50,0}}, +/* 65411 */ {(16<<2)|2,{124,97,0}}, +/* 65412 */ {(16<<2)|2,{124,99,0}}, +/* 65413 */ {(16<<2)|2,{124,101,0}}, +/* 65414 */ {(16<<2)|2,{124,105,0}}, +/* 65415 */ {(16<<2)|2,{124,111,0}}, +/* 65416 */ {(16<<2)|2,{124,115,0}}, +/* 65417 */ {(16<<2)|2,{124,116,0}}, +/* 65418 */ {(11<<2)|1,{124,0,0}}, +/* 65419 */ {(11<<2)|1,{124,0,0}}, +/* 65420 */ {(11<<2)|1,{124,0,0}}, +/* 65421 */ {(11<<2)|1,{124,0,0}}, +/* 65422 */ {(11<<2)|1,{124,0,0}}, +/* 65423 */ {(11<<2)|1,{124,0,0}}, +/* 65424 */ {(11<<2)|1,{124,0,0}}, +/* 65425 */ {(11<<2)|1,{124,0,0}}, +/* 65426 */ {(11<<2)|1,{124,0,0}}, +/* 65427 */ {(11<<2)|1,{124,0,0}}, +/* 65428 */ {(11<<2)|1,{124,0,0}}, +/* 65429 */ {(11<<2)|1,{124,0,0}}, +/* 65430 */ {(11<<2)|1,{124,0,0}}, +/* 65431 */ {(11<<2)|1,{124,0,0}}, +/* 65432 */ {(11<<2)|1,{124,0,0}}, +/* 65433 */ {(11<<2)|1,{124,0,0}}, +/* 65434 */ {(11<<2)|1,{124,0,0}}, +/* 65435 */ {(11<<2)|1,{124,0,0}}, +/* 65436 */ {(11<<2)|1,{124,0,0}}, +/* 65437 */ {(11<<2)|1,{124,0,0}}, +/* 65438 */ {(11<<2)|1,{124,0,0}}, +/* 65439 */ {(11<<2)|1,{124,0,0}}, +/* 65440 */ {(12<<2)|1,{35,0,0}}, +/* 65441 */ {(12<<2)|1,{35,0,0}}, +/* 65442 */ {(12<<2)|1,{35,0,0}}, +/* 65443 */ {(12<<2)|1,{35,0,0}}, +/* 65444 */ {(12<<2)|1,{35,0,0}}, +/* 65445 */ {(12<<2)|1,{35,0,0}}, +/* 65446 */ {(12<<2)|1,{35,0,0}}, +/* 65447 */ {(12<<2)|1,{35,0,0}}, +/* 65448 */ {(12<<2)|1,{35,0,0}}, +/* 65449 */ {(12<<2)|1,{35,0,0}}, +/* 65450 */ {(12<<2)|1,{35,0,0}}, +/* 65451 */ {(12<<2)|1,{35,0,0}}, +/* 65452 */ {(12<<2)|1,{35,0,0}}, +/* 65453 */ {(12<<2)|1,{35,0,0}}, +/* 65454 */ {(12<<2)|1,{35,0,0}}, +/* 65455 */ {(12<<2)|1,{35,0,0}}, +/* 65456 */ {(12<<2)|1,{62,0,0}}, +/* 65457 */ {(12<<2)|1,{62,0,0}}, +/* 65458 */ {(12<<2)|1,{62,0,0}}, +/* 65459 */ {(12<<2)|1,{62,0,0}}, +/* 65460 */ {(12<<2)|1,{62,0,0}}, +/* 65461 */ {(12<<2)|1,{62,0,0}}, +/* 65462 */ {(12<<2)|1,{62,0,0}}, +/* 65463 */ {(12<<2)|1,{62,0,0}}, +/* 65464 */ {(12<<2)|1,{62,0,0}}, +/* 65465 */ {(12<<2)|1,{62,0,0}}, +/* 65466 */ {(12<<2)|1,{62,0,0}}, +/* 65467 */ {(12<<2)|1,{62,0,0}}, +/* 65468 */ {(12<<2)|1,{62,0,0}}, +/* 65469 */ {(12<<2)|1,{62,0,0}}, +/* 65470 */ {(12<<2)|1,{62,0,0}}, +/* 65471 */ {(12<<2)|1,{62,0,0}}, +/* 65472 */ {(13<<2)|1,{0,0,0}}, +/* 65473 */ {(13<<2)|1,{0,0,0}}, +/* 65474 */ {(13<<2)|1,{0,0,0}}, +/* 65475 */ {(13<<2)|1,{0,0,0}}, +/* 65476 */ {(13<<2)|1,{0,0,0}}, +/* 65477 */ {(13<<2)|1,{0,0,0}}, +/* 65478 */ {(13<<2)|1,{0,0,0}}, +/* 65479 */ {(13<<2)|1,{0,0,0}}, +/* 65480 */ {(13<<2)|1,{36,0,0}}, +/* 65481 */ {(13<<2)|1,{36,0,0}}, +/* 65482 */ {(13<<2)|1,{36,0,0}}, +/* 65483 */ {(13<<2)|1,{36,0,0}}, +/* 65484 */ {(13<<2)|1,{36,0,0}}, +/* 65485 */ {(13<<2)|1,{36,0,0}}, +/* 65486 */ {(13<<2)|1,{36,0,0}}, +/* 65487 */ {(13<<2)|1,{36,0,0}}, +/* 65488 */ {(13<<2)|1,{64,0,0}}, +/* 65489 */ {(13<<2)|1,{64,0,0}}, +/* 65490 */ {(13<<2)|1,{64,0,0}}, +/* 65491 */ {(13<<2)|1,{64,0,0}}, +/* 65492 */ {(13<<2)|1,{64,0,0}}, +/* 65493 */ {(13<<2)|1,{64,0,0}}, +/* 65494 */ {(13<<2)|1,{64,0,0}}, +/* 65495 */ {(13<<2)|1,{64,0,0}}, +/* 65496 */ {(13<<2)|1,{91,0,0}}, +/* 65497 */ {(13<<2)|1,{91,0,0}}, +/* 65498 */ {(13<<2)|1,{91,0,0}}, +/* 65499 */ {(13<<2)|1,{91,0,0}}, +/* 65500 */ {(13<<2)|1,{91,0,0}}, +/* 65501 */ {(13<<2)|1,{91,0,0}}, +/* 65502 */ {(13<<2)|1,{91,0,0}}, +/* 65503 */ {(13<<2)|1,{91,0,0}}, +/* 65504 */ {(13<<2)|1,{93,0,0}}, +/* 65505 */ {(13<<2)|1,{93,0,0}}, +/* 65506 */ {(13<<2)|1,{93,0,0}}, +/* 65507 */ {(13<<2)|1,{93,0,0}}, +/* 65508 */ {(13<<2)|1,{93,0,0}}, +/* 65509 */ {(13<<2)|1,{93,0,0}}, +/* 65510 */ {(13<<2)|1,{93,0,0}}, +/* 65511 */ {(13<<2)|1,{93,0,0}}, +/* 65512 */ {(13<<2)|1,{126,0,0}}, +/* 65513 */ {(13<<2)|1,{126,0,0}}, +/* 65514 */ {(13<<2)|1,{126,0,0}}, +/* 65515 */ {(13<<2)|1,{126,0,0}}, +/* 65516 */ {(13<<2)|1,{126,0,0}}, +/* 65517 */ {(13<<2)|1,{126,0,0}}, +/* 65518 */ {(13<<2)|1,{126,0,0}}, +/* 65519 */ {(13<<2)|1,{126,0,0}}, +/* 65520 */ {(14<<2)|1,{94,0,0}}, +/* 65521 */ {(14<<2)|1,{94,0,0}}, +/* 65522 */ {(14<<2)|1,{94,0,0}}, +/* 65523 */ {(14<<2)|1,{94,0,0}}, +/* 65524 */ {(14<<2)|1,{125,0,0}}, +/* 65525 */ {(14<<2)|1,{125,0,0}}, +/* 65526 */ {(14<<2)|1,{125,0,0}}, +/* 65527 */ {(14<<2)|1,{125,0,0}}, +/* 65528 */ {(15<<2)|1,{60,0,0}}, +/* 65529 */ {(15<<2)|1,{60,0,0}}, +/* 65530 */ {(15<<2)|1,{96,0,0}}, +/* 65531 */ {(15<<2)|1,{96,0,0}}, +/* 65532 */ {(15<<2)|1,{123,0,0}}, +/* 65533 */ {(15<<2)|1,{123,0,0}}, +/* 65534 */ {0,{0,0,0,}}, +/* 65535 */ {0,{0,0,0,}}, +}; +#endif diff --git a/external/lsquic/src/liblsquic/ls-qpack/lsqpack.c b/external/lsquic/src/liblsquic/ls-qpack/lsqpack.c new file mode 100644 index 0000000..799eca0 --- /dev/null +++ b/external/lsquic/src/liblsquic/ls-qpack/lsqpack.c @@ -0,0 +1,5429 @@ +/* + * lsqpack.c -- LiteSpeed QPACK Compression Library: encoder and decoder. + */ +/* +MIT License + +Copyright (c) 2018 - 2023 LiteSpeed Technologies Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#ifndef LS_QPACK_USE_LARGE_TABLES +#define LS_QPACK_USE_LARGE_TABLES 1 +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "lsqpack.h" +#include "lsxpack_header.h" + +#ifdef XXH_HEADER_NAME +#include XXH_HEADER_NAME +#else +#include +#endif + +#include "huff-tables.h" + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +#ifdef _MSC_VER +# define FALL_THROUGH +#endif + +#ifndef FALL_THROUGH +# if defined __has_attribute && __has_attribute (fallthrough) +# define FALL_THROUGH __attribute__ ((fallthrough)) +# else +# define FALL_THROUGH +# endif +#endif + +static unsigned char * +qenc_huffman_enc (const unsigned char *, const unsigned char *const, unsigned char *); + +static unsigned +qenc_enc_str_size (const unsigned char *, unsigned); + +struct static_table_entry +{ + const char *name; + const char *val; + unsigned name_len; + unsigned val_len; +}; + +/* [draft-ietf-quic-qpack-03] Appendix A */ +static const struct static_table_entry static_table[] = +{ + {":authority", "", 10, 0,}, + {":path", "/", 5, 1,}, + {"age", "0", 3, 1,}, + {"content-disposition", "", 19, 0,}, + {"content-length", "0", 14, 1,}, + {"cookie", "", 6, 0,}, + {"date", "", 4, 0,}, + {"etag", "", 4, 0,}, + {"if-modified-since", "", 17, 0,}, + {"if-none-match", "", 13, 0,}, + {"last-modified", "", 13, 0,}, + {"link", "", 4, 0,}, + {"location", "", 8, 0,}, + {"referer", "", 7, 0,}, + {"set-cookie", "", 10, 0,}, + {":method", "CONNECT", 7, 7,}, + {":method", "DELETE", 7, 6,}, + {":method", "GET", 7, 3,}, + {":method", "HEAD", 7, 4,}, + {":method", "OPTIONS", 7, 7,}, + {":method", "POST", 7, 4,}, + {":method", "PUT", 7, 3,}, + {":scheme", "http", 7, 4,}, + {":scheme", "https", 7, 5,}, + {":status", "103", 7, 3,}, + {":status", "200", 7, 3,}, + {":status", "304", 7, 3,}, + {":status", "404", 7, 3,}, + {":status", "503", 7, 3,}, + {"accept", "*/*", 6, 3,}, + {"accept", "application/dns-message", 6, 23,}, + {"accept-encoding", "gzip, deflate, br", 15, 17,}, + {"accept-ranges", "bytes", 13, 5,}, + {"access-control-allow-headers", "cache-control", 28, 13,}, + {"access-control-allow-headers", "content-type", 28, 12,}, + {"access-control-allow-origin", "*", 27, 1,}, + {"cache-control", "max-age=0", 13, 9,}, + {"cache-control", "max-age=2592000", 13, 15,}, + {"cache-control", "max-age=604800", 13, 14,}, + {"cache-control", "no-cache", 13, 8,}, + {"cache-control", "no-store", 13, 8,}, + {"cache-control", "public, max-age=31536000", 13, 24,}, + {"content-encoding", "br", 16, 2,}, + {"content-encoding", "gzip", 16, 4,}, + {"content-type", "application/dns-message", 12, 23,}, + {"content-type", "application/javascript", 12, 22,}, + {"content-type", "application/json", 12, 16,}, + {"content-type", "application/x-www-form-urlencoded", 12, 33,}, + {"content-type", "image/gif", 12, 9,}, + {"content-type", "image/jpeg", 12, 10,}, + {"content-type", "image/png", 12, 9,}, + {"content-type", "text/css", 12, 8,}, + {"content-type", "text/html; charset=utf-8", 12, 24,}, + {"content-type", "text/plain", 12, 10,}, + {"content-type", "text/plain;charset=utf-8", 12, 24,}, + {"range", "bytes=0-", 5, 8,}, + {"strict-transport-security", "max-age=31536000", 25, 16,}, + {"strict-transport-security", "max-age=31536000; includesubdomains", + 25, 35,}, + {"strict-transport-security", + "max-age=31536000; includesubdomains; preload", 25, 44,}, + {"vary", "accept-encoding", 4, 15,}, + {"vary", "origin", 4, 6,}, + {"x-content-type-options", "nosniff", 22, 7,}, + {"x-xss-protection", "1; mode=block", 16, 13,}, + {":status", "100", 7, 3,}, + {":status", "204", 7, 3,}, + {":status", "206", 7, 3,}, + {":status", "302", 7, 3,}, + {":status", "400", 7, 3,}, + {":status", "403", 7, 3,}, + {":status", "421", 7, 3,}, + {":status", "425", 7, 3,}, + {":status", "500", 7, 3,}, + {"accept-language", "", 15, 0,}, + {"access-control-allow-credentials", "FALSE", 32, 5,}, + {"access-control-allow-credentials", "TRUE", 32, 4,}, + {"access-control-allow-headers", "*", 28, 1,}, + {"access-control-allow-methods", "get", 28, 3,}, + {"access-control-allow-methods", "get, post, options", 28, 18,}, + {"access-control-allow-methods", "options", 28, 7,}, + {"access-control-expose-headers", "content-length", 29, 14,}, + {"access-control-request-headers", "content-type", 30, 12,}, + {"access-control-request-method", "get", 29, 3,}, + {"access-control-request-method", "post", 29, 4,}, + {"alt-svc", "clear", 7, 5,}, + {"authorization", "", 13, 0,}, + {"content-security-policy", + "script-src 'none'; object-src 'none'; base-uri 'none'", 23, 53,}, + {"early-data", "1", 10, 1,}, + {"expect-ct", "", 9, 0,}, + {"forwarded", "", 9, 0,}, + {"if-range", "", 8, 0,}, + {"origin", "", 6, 0,}, + {"purpose", "prefetch", 7, 8,}, + {"server", "", 6, 0,}, + {"timing-allow-origin", "*", 19, 1,}, + {"upgrade-insecure-requests", "1", 25, 1,}, + {"user-agent", "", 10, 0,}, + {"x-forwarded-for", "", 15, 0,}, + {"x-frame-options", "deny", 15, 4,}, + {"x-frame-options", "sameorigin", 15, 10,}, +}; + +#define QPACK_STATIC_TABLE_SIZE (sizeof(static_table) / sizeof(static_table[0])) + +/* RFC 7541, Section 4.1: + * + * " The size of the dynamic table is the sum of the size of its entries. + * " + * " The size of an entry is the sum of its name's length in octets (as + * " defined in Section 5.2), its value's length in octets, and 32. + */ +#define DYNAMIC_ENTRY_OVERHEAD 32u + +/* Initial guess at number of header fields per list: */ +#define GUESS_N_HEADER_FIELDS 12 + +#define MAX_QUIC_STREAM_ID ((1ull << 62) - 1) + +#ifdef LSQPACK_ENC_LOGGER_HEADER +#include LSQPACK_ENC_LOGGER_HEADER +#else +#define E_LOG(prefix, ...) do { \ + if (enc->qpe_logger_ctx) { \ + fprintf(enc->qpe_logger_ctx, prefix); \ + fprintf(enc->qpe_logger_ctx, __VA_ARGS__); \ + fprintf(enc->qpe_logger_ctx, "\n"); \ + } \ +} while (0) +#define E_DEBUG(...) E_LOG("qenc: debug: ", __VA_ARGS__) +#define E_INFO(...) E_LOG("qenc: info: ", __VA_ARGS__) +#define E_WARN(...) E_LOG("qenc: warn: ", __VA_ARGS__) +#define E_ERROR(...) E_LOG("qenc: error: ", __VA_ARGS__) +#endif + +/* Entries in the encoder's dynamic table are hashed 1) by name and 2) by + * name and value. Instead of having two arrays of buckets, the encoder + * keeps just one, but each bucket has two heads. + */ +struct lsqpack_double_enc_head +{ + struct lsqpack_enc_head by_name; + struct lsqpack_enc_head by_nameval; +}; + +struct lsqpack_enc_table_entry +{ + /* An entry always lives on all three lists */ + STAILQ_ENTRY(lsqpack_enc_table_entry) + ete_next_nameval, + ete_next_name, + ete_next_all; + lsqpack_abs_id_t ete_id; + unsigned ete_when_added_used; + unsigned ete_when_added_dropped; + unsigned ete_n_reffd; + unsigned ete_nameval_hash; + unsigned ete_name_hash; + unsigned ete_name_len; + unsigned ete_val_len; + char ete_buf[0]; +}; + +#define ETE_NAME(ete) ((ete)->ete_buf) +#define ETE_VALUE(ete) (&(ete)->ete_buf[(ete)->ete_name_len]) +#define ENTRY_COST(name_len, value_len) (DYNAMIC_ENTRY_OVERHEAD + \ + name_len + value_len) +#define ETE_SIZE(ete) ENTRY_COST((ete)->ete_name_len, (ete)->ete_val_len) + + +#define N_BUCKETS(n_bits) (1U << (n_bits)) +#define BUCKNO(n_bits, hash) ((hash) & (N_BUCKETS(n_bits) - 1)) + +struct lsqpack_header_info +{ + TAILQ_ENTRY(lsqpack_header_info) qhi_next_all; + TAILQ_ENTRY(lsqpack_header_info) qhi_next_risked; + struct lsqpack_header_info *qhi_same_stream_id; /* Circular list */ + uint64_t qhi_stream_id; + unsigned qhi_seqno; + unsigned qhi_bytes_inserted; + lsqpack_abs_id_t qhi_min_id; + lsqpack_abs_id_t qhi_max_id; +}; + +/* Absolute index starts with 1. 0 indicates that the value is not set */ +#define HINFO_IDS_SET(hinfo) ((hinfo)->qhi_max_id != 0) + +/* Header info structures are kept in a list of arrays, which is faster than + * searching through a linked list whose elements may be all over the place + * in memory. This is important because we need to look up header infos by + * stream ID and also calculate the minimum absolute ID. If not sequential + * search, we would need to implement a hybrid of min-heap and a hash (or + * search tree) and that seems to be an overkill for something that is not + * likely to have more than a few hundred elements at the most. + */ +struct lsqpack_header_info_arr +{ + STAILQ_ENTRY(lsqpack_header_info_arr) hia_next; + uint64_t hia_slots; + struct lsqpack_header_info hia_hinfos[64]; +}; + +static unsigned +find_free_slot (uint64_t slots) +{ +#if __GNUC__ + return __builtin_ffsll(~slots) - 1; +#else + unsigned n; + + slots =~ slots; + n = 0; + + if (0 == (slots & ((1ULL << 32) - 1))) { n += 32; slots >>= 32; } + if (0 == (slots & ((1ULL << 16) - 1))) { n += 16; slots >>= 16; } + if (0 == (slots & ((1ULL << 8) - 1))) { n += 8; slots >>= 8; } + if (0 == (slots & ((1ULL << 4) - 1))) { n += 4; slots >>= 4; } + if (0 == (slots & ((1ULL << 2) - 1))) { n += 2; slots >>= 2; } + if (0 == (slots & ((1ULL << 1) - 1))) { n += 1; slots >>= 1; } + return n; +#endif +} + +static struct lsqpack_header_info * +enc_alloc_hinfo (struct lsqpack_enc *enc) +{ + struct lsqpack_header_info_arr *hiarr; + struct lsqpack_header_info *hinfo; + unsigned slot; + + STAILQ_FOREACH(hiarr, &enc->qpe_hinfo_arrs, hia_next) + if (hiarr->hia_slots != ~0ULL) + break; + + if (!hiarr) + { + if (0 == (enc->qpe_flags & LSQPACK_ENC_NO_MEM_GUARD) + && enc->qpe_hinfo_arrs_count * sizeof(*hiarr) + >= enc->qpe_cur_max_capacity) + return NULL; + hiarr = malloc(sizeof(*hiarr)); + if (!hiarr) + return NULL; + hiarr->hia_slots = 0; + STAILQ_INSERT_TAIL(&enc->qpe_hinfo_arrs, hiarr, hia_next); + ++enc->qpe_hinfo_arrs_count; + } + + slot = find_free_slot(hiarr->hia_slots); + hiarr->hia_slots |= 1ULL << slot; + hinfo = &hiarr->hia_hinfos[ slot ]; + memset(hinfo, 0, sizeof(*hinfo)); + hinfo->qhi_same_stream_id = hinfo; + TAILQ_INSERT_TAIL(&enc->qpe_all_hinfos, hinfo, qhi_next_all); + return hinfo; +} + +static void +enc_free_hinfo (struct lsqpack_enc *enc, struct lsqpack_header_info *hinfo) +{ + struct lsqpack_header_info_arr *hiarr; + unsigned slot; + + STAILQ_FOREACH(hiarr, &enc->qpe_hinfo_arrs, hia_next) + if (hinfo >= hiarr->hia_hinfos && hinfo < &hiarr->hia_hinfos[64]) + { + slot = (unsigned)(hinfo - hiarr->hia_hinfos); + hiarr->hia_slots &= ~(1ULL << slot); + TAILQ_REMOVE(&enc->qpe_all_hinfos, &hiarr->hia_hinfos[slot], qhi_next_all); + return; + } + + assert(0); +} + +static int +enc_use_dynamic_table (const struct lsqpack_enc *enc) +{ + return enc->qpe_max_entries > 0 + && enc->qpe_cur_header.hinfo != NULL + && enc->qpe_cur_header.hinfo->qhi_bytes_inserted + < enc->qpe_cur_max_capacity / 2; +} + + +enum he { HE_NAME, HE_NAMEVAL, N_HES }; + + +struct lsqpack_hist_el { + unsigned he_hashes[N_HES]; +}; + + +static void +qenc_hist_update_size (struct lsqpack_enc *enc, unsigned new_size) +{ + struct lsqpack_hist_el *els; + unsigned first, count, i, j; + + if (new_size == enc->qpe_hist_nels) + return; + + if (new_size == 0) + { + enc->qpe_hist_nels = 0; + enc->qpe_hist_idx = 0; + enc->qpe_hist_wrapped = 0; + return; + } + + els = malloc(sizeof(els[0]) * (new_size + 1)); + if (!els) + return; + + E_DEBUG("history size change from %u to %u", enc->qpe_hist_nels, new_size); + + if (enc->qpe_hist_wrapped) + { + first = (enc->qpe_hist_idx + 1) % enc->qpe_hist_nels; + count = enc->qpe_hist_nels; + } + else + { + first = 0; + count = enc->qpe_hist_idx; + } + for (i = 0, j = 0; count > 0 && j < new_size; ++i, ++j, --count) + els[j] = enc->qpe_hist_els[ (first + i) % enc->qpe_hist_nels ]; + enc->qpe_hist_nels = new_size; + enc->qpe_hist_idx = j % new_size; + enc->qpe_hist_wrapped = enc->qpe_hist_idx == 0; + free(enc->qpe_hist_els); + enc->qpe_hist_els = els; +} + + +static void +qenc_hist_add (struct lsqpack_enc *enc, unsigned name_hash, + unsigned nameval_hash) +{ + if (enc->qpe_hist_nels) + { + enc->qpe_hist_els[ enc->qpe_hist_idx ].he_hashes[HE_NAME] = name_hash; + enc->qpe_hist_els[ enc->qpe_hist_idx ].he_hashes[HE_NAMEVAL] + = nameval_hash; + enc->qpe_hist_idx = (enc->qpe_hist_idx + 1) % enc->qpe_hist_nels; + enc->qpe_hist_wrapped |= enc->qpe_hist_idx == 0; + } +} + + +static int +qenc_hist_seen (struct lsqpack_enc *enc, enum he he, unsigned hash) +{ + const struct lsqpack_hist_el *el; + unsigned last_idx; + + if (enc->qpe_hist_els) + { + if (enc->qpe_hist_wrapped) + last_idx = enc->qpe_hist_nels; + else + last_idx = enc->qpe_hist_idx; + enc->qpe_hist_els[ last_idx ].he_hashes[he] = hash; + for (el = enc->qpe_hist_els; el->he_hashes[he] != hash; ++el) + ; + return el < &enc->qpe_hist_els[ last_idx ]; + } + else + return 1; +} + + +unsigned char * +lsqpack_enc_int (unsigned char *, unsigned char *const, uint64_t, unsigned); + + +void +lsqpack_enc_preinit (struct lsqpack_enc *enc, void *logger_ctx) +{ + memset(enc, 0, sizeof(*enc)); + STAILQ_INIT(&enc->qpe_all_entries); + STAILQ_INIT(&enc->qpe_hinfo_arrs); + TAILQ_INIT(&enc->qpe_all_hinfos); + TAILQ_INIT(&enc->qpe_risked_hinfos); + enc->qpe_logger_ctx = logger_ctx; + E_DEBUG("preinitialized"); +}; + + +int +lsqpack_enc_init (struct lsqpack_enc *enc, void *logger_ctx, + unsigned max_table_size, unsigned dyn_table_size, + unsigned max_risked_streams, enum lsqpack_enc_opts enc_opts, + unsigned char *tsu_buf, size_t *tsu_buf_sz) +{ + struct lsqpack_double_enc_head *buckets; + unsigned char *p; + unsigned nbits = 2; + unsigned i; + + if (dyn_table_size > max_table_size) + { + errno = EINVAL; + return -1; + } + + if (!(enc_opts & LSQPACK_ENC_OPT_STAGE_2)) + lsqpack_enc_preinit(enc, logger_ctx); + + if (dyn_table_size != LSQPACK_DEF_DYN_TABLE_SIZE) + { + if (!(tsu_buf && tsu_buf_sz && *tsu_buf_sz)) + { + errno = EINVAL; + return -1; + } + p = tsu_buf; + *p = 0x20; + p = lsqpack_enc_int(p, tsu_buf + *tsu_buf_sz, dyn_table_size, 5); + if (p <= tsu_buf) + { + errno = ENOBUFS; + return -1; + } + E_DEBUG("generated TSU=%u instruction %zd byte%.*s in size", + dyn_table_size, p - tsu_buf, p - tsu_buf != 1, "s"); + *tsu_buf_sz = p - tsu_buf; + } + else if (tsu_buf_sz) + *tsu_buf_sz = 0; + + if (!(enc_opts & LSQPACK_ENC_OPT_IX_AGGR)) + { + enc->qpe_hist_nels = MAX( + /* Initial guess at number of entries in dynamic table: */ + dyn_table_size / DYNAMIC_ENTRY_OVERHEAD / 3, + GUESS_N_HEADER_FIELDS + ); + enc->qpe_hist_els = malloc(sizeof(enc->qpe_hist_els[0]) * (enc->qpe_hist_nels + 1)); + if (!enc->qpe_hist_els) + return -1; + } + else + { + enc->qpe_hist_nels = 0; + enc->qpe_hist_els = NULL; + } + + if (max_table_size / DYNAMIC_ENTRY_OVERHEAD) + { + nbits = 2; + buckets = malloc(sizeof(buckets[0]) * N_BUCKETS(nbits)); + if (!buckets) + { + free(enc->qpe_hist_els); + return -1; + } + + for (i = 0; i < N_BUCKETS(nbits); ++i) + { + STAILQ_INIT(&buckets[i].by_name); + STAILQ_INIT(&buckets[i].by_nameval); + } + } + else + { + nbits = 0; + buckets = NULL; + } + + enc->qpe_max_entries = max_table_size / DYNAMIC_ENTRY_OVERHEAD; + enc->qpe_real_max_capacity = max_table_size; + enc->qpe_cur_max_capacity = dyn_table_size; + enc->qpe_max_risked_streams = max_risked_streams; + enc->qpe_buckets = buckets; + enc->qpe_nbits = nbits; + enc->qpe_logger_ctx = logger_ctx; + if (!(enc_opts & LSQPACK_ENC_OPT_NO_DUP)) + enc->qpe_flags |= LSQPACK_ENC_USE_DUP; + if (enc_opts & LSQPACK_ENC_OPT_NO_MEM_GUARD) + enc->qpe_flags |= LSQPACK_ENC_NO_MEM_GUARD; + E_DEBUG("initialized. opts: 0x%X; max capacity: %u; max risked " + "streams: %u.", enc_opts, enc->qpe_cur_max_capacity, + enc->qpe_max_risked_streams); + + return 0; +} + + +void +lsqpack_enc_cleanup (struct lsqpack_enc *enc) +{ + struct lsqpack_enc_table_entry *entry, *next; + struct lsqpack_header_info_arr *hiarr, *next_hiarr; + + for (entry = STAILQ_FIRST(&enc->qpe_all_entries); entry; entry = next) + { + next = STAILQ_NEXT(entry, ete_next_all); + free(entry); + } + + for (hiarr = STAILQ_FIRST(&enc->qpe_hinfo_arrs); hiarr; hiarr = next_hiarr) + { + next_hiarr = STAILQ_NEXT(hiarr, hia_next); + free(hiarr); + } + + free(enc->qpe_buckets); + free(enc->qpe_hist_els); + E_DEBUG("cleaned up"); +} + + +#define LSQPACK_XXH_SEED 39378473 +#define XXH_NAME_WIDTH 9 +#define XXH_NAME_SHIFT 0 +#define XXH_NAMEVAL_WIDTH 9 +#define XXH_NAMEVAL_SHIFT 0 + +static const unsigned char name2id_plus_one[ 1 << XXH_NAME_WIDTH ] = +{ + [347] = 1, [397] = 2, [64] = 3, [144] = 4, [25] = 5, + [216] = 6, [361] = 7, [442] = 8, [190] = 9, [404] = 10, + [181] = 11, [210] = 12, [38] = 13, [51] = 14, [318] = 15, + [484] = 16, [81] = 23, [83] = 25, [248] = 30, [169] = 32, + [456] = 33, [479] = 34, [59] = 36, [498] = 37, [401] = 43, + [453] = 45, [266] = 56, [88] = 57, [317] = 60, [74] = 62, + [189] = 63, [211] = 73, [334] = 74, [365] = 77, [382] = 80, + [377] = 81, [257] = 82, [56] = 84, [321] = 85, [79] = 86, + [384] = 87, [357] = 88, [438] = 89, [84] = 90, [264] = 91, + [146] = 92, [225] = 93, [490] = 94, [305] = 95, [362] = 96, + [486] = 97, [497] = 98, +}; + +static const unsigned char nameval2id_plus_one[ 1 << XXH_NAMEVAL_WIDTH ] = +{ + [150] = 1, [502] = 2, [353] = 3, [262] = 4, [443] = 5, + [164] = 6, [463] = 7, [84] = 8, [205] = 9, [228] = 10, + [451] = 11, [444] = 12, [176] = 13, [75] = 14, [399] = 15, + [56] = 16, [384] = 17, [21] = 18, [484] = 19, [382] = 20, + [439] = 21, [329] = 22, [360] = 23, [67] = 24, [105] = 25, + [342] = 26, [457] = 27, [161] = 28, [337] = 29, [135] = 30, + [314] = 31, [370] = 32, [404] = 33, [184] = 34, [156] = 35, + [139] = 36, [339] = 37, [508] = 38, [267] = 39, [375] = 40, + [122] = 41, [297] = 42, [144] = 43, [85] = 44, [466] = 45, + [38] = 46, [320] = 47, [273] = 48, [277] = 49, [136] = 50, + [454] = 51, [477] = 52, [91] = 53, [227] = 54, [301] = 55, + [272] = 56, [319] = 57, [142] = 58, [268] = 59, [65] = 60, + [410] = 61, [4] = 62, [373] = 63, [1] = 64, [210] = 65, + [224] = 66, [423] = 67, [222] = 68, [386] = 69, [12] = 70, + [7] = 71, [391] = 72, [73] = 73, [307] = 74, [27] = 75, + [256] = 76, [154] = 77, [204] = 78, [310] = 79, [198] = 80, + [162] = 81, [334] = 82, [438] = 83, [69] = 84, [188] = 85, + [244] = 86, [190] = 87, [465] = 88, [468] = 89, [417] = 90, + [110] = 91, [107] = 92, [368] = 93, [460] = 94, [54] = 95, + [492] = 96, [402] = 97, [196] = 98, [383] = 99, +}; + + +static const uint32_t name_hashes[] = +{ + 0x653A915Bu, 0x3513518Du, 0xBEC8E440u, 0x16020A90u, 0x48F5CC19u, + 0x0B486ED8u, 0x1A7AA369u, 0x6DE855BAu, 0xF2BADABEu, 0xD8CA2594u, + 0x6B86C0B5u, 0xC62FECD2u, 0x8DA64A26u, 0x01F10233u, 0x8F7E493Eu, + 0xC7742BE4u, 0xC7742BE4u, 0xC7742BE4u, 0xC7742BE4u, 0xC7742BE4u, + 0xC7742BE4u, 0xC7742BE4u, 0xF49F1451u, 0xF49F1451u, 0x672BDA53u, + 0x672BDA53u, 0x672BDA53u, 0x672BDA53u, 0x672BDA53u, 0x1AB214F8u, + 0x1AB214F8u, 0xF93AD8A9u, 0x1DC691C8u, 0x7C21CFDFu, 0x7C21CFDFu, + 0x7D3B7A3Bu, 0xC25511F2u, 0xC25511F2u, 0xC25511F2u, 0xC25511F2u, + 0xC25511F2u, 0xC25511F2u, 0x48011191u, 0x48011191u, 0x085EF7C5u, + 0x085EF7C5u, 0x085EF7C5u, 0x085EF7C5u, 0x085EF7C5u, 0x085EF7C5u, + 0x085EF7C5u, 0x085EF7C5u, 0x085EF7C5u, 0x085EF7C5u, 0x085EF7C5u, + 0xB396750Au, 0x85E74C58u, 0x85E74C58u, 0x85E74C58u, 0x1A04DF3Du, + 0x1A04DF3Du, 0x28686A4Au, 0x9F8BCEBDu, 0x672BDA53u, 0x672BDA53u, + 0x672BDA53u, 0x672BDA53u, 0x672BDA53u, 0x672BDA53u, 0x672BDA53u, + 0x672BDA53u, 0x672BDA53u, 0x98BD32D3u, 0x0A829D4Eu, 0x0A829D4Eu, + 0x7C21CFDFu, 0x363F796Du, 0x363F796Du, 0x363F796Du, 0xD8A0B17Eu, + 0xAAF9FD79u, 0x617E4501u, 0x617E4501u, 0x1E6DBE38u, 0x19D88141u, + 0x3392084Fu, 0x5579EF80u, 0x8F3D7765u, 0x7EDC71B6u, 0xFBA64C54u, + 0x3ECDA708u, 0xEBA96E92u, 0x82E1B4E1u, 0x5AD275EAu, 0xDD09E931u, + 0x34C0456Au, 0x5EF889E6u, 0x4B1BB7F1u, 0x4B1BB7F1u, +}; + + +static const uint32_t nameval_hashes[] = +{ + 0xF8614896u, 0xC8C267F6u, 0xF4617F61u, 0x8410A906u, 0xC8D109BBu, + 0x51D448A4u, 0x52C167CFu, 0xFB22AA54u, 0x4F5272CDu, 0x9D4170E4u, + 0x4E8C1DC3u, 0x684BDDBCu, 0xE113A2B0u, 0x5010D24Bu, 0xBCA5998Fu, + 0xC8490E38u, 0x19094780u, 0x25D95A15u, 0x342283E4u, 0x15893F7Eu, + 0x33968BB7u, 0x4C856F49u, 0x98573F68u, 0x16DDE443u, 0x813C3469u, + 0x352A6556u, 0xD7988BC9u, 0x65E6ECA1u, 0x7EEE2551u, 0x77EBAE87u, + 0xBDF5A53Au, 0x7F49F172u, 0xC06A7994u, 0xDB2FBCB8u, 0x343EA49Cu, + 0xD143768Bu, 0x3E2D8753u, 0xA2EA09FCu, 0x467B5D0Bu, 0xCEB7F977u, + 0x7119DC7Au, 0xDEFDA129u, 0x3F6EBC90u, 0x14E09A55u, 0x43C8B9D2u, + 0xA707C426u, 0xFE372940u, 0x77591711u, 0xA6410F15u, 0xEACDE488u, + 0x8B2C4DC6u, 0x8C2B11DDu, 0x9703CE5Bu, 0x0FAA28E3u, 0x13CCE32Du, + 0xDCD68310u, 0x416F0B3Fu, 0x3BB4D68Eu, 0xF81F070Cu, 0xBDD89641u, + 0x3915039Au, 0xF609E604u, 0x1C9DBB75u, 0x7ACD6A01u, 0xD4F462D2u, + 0x125E66E0u, 0x0AD44FA7u, 0x4C3C90DEu, 0x27AD6982u, 0x0673640Cu, + 0x65C03607u, 0xB05B7B87u, 0x97E01849u, 0xBA18BD33u, 0xDEF6041Bu, + 0xE227F500u, 0x8A871E9Au, 0xCB120ACCu, 0x4B1B6336u, 0xEBDA42C6u, + 0xFF166CA2u, 0x3A5E054Eu, 0x027207B6u, 0x04E3E645u, 0xAA95A0BCu, + 0x77BFA4F4u, 0x3C95E0BEu, 0xD506A9D1u, 0x443EDFD4u, 0xD4E28BA1u, + 0xA60BF66Eu, 0x46201E6Bu, 0xB2DE5570u, 0xF19F5DCCu, 0x73B6C636u, + 0xDC83E7ECu, 0xAA333392u, 0x4EDB46C4u, 0xF64F937Fu, +}; + + +/* -1 means not found */ +static int +find_in_static_full (uint32_t nameval_hash, const char *name, + unsigned name_len, const char *val, unsigned val_len) +{ + unsigned id; + + id = nameval2id_plus_one[ (nameval_hash >> XXH_NAMEVAL_SHIFT) + & ((1 << XXH_NAMEVAL_WIDTH) - 1) ]; + + if (id == 0) + return -1; + + --id; + if (static_table[id].name_len == name_len + && static_table[id].val_len == val_len + && memcmp(static_table[id].name, name, name_len) == 0 + && memcmp(static_table[id].val, val, val_len) == 0) + return id; + else + return -1; +} + + +#ifdef NDEBUG +static +#endif +int +lsqpack_find_in_static_headers (uint32_t name_hash, const char *name, + unsigned name_len) +{ + unsigned id; + + id = name2id_plus_one[ (name_hash >> XXH_NAME_SHIFT) + & ((1 << XXH_NAME_WIDTH) - 1) ]; + + if (id == 0) + return -1; + + --id; + if (static_table[id].name_len == name_len + && memcmp(static_table[id].name, name, name_len) == 0) + return id; + else + return -1; +} + + +static unsigned +lsqpack_val2len (uint64_t value, unsigned prefix_bits) +{ + uint64_t mask = (1ULL << prefix_bits) - 1; + return 1 + + (value >= mask ) + + (value >= ((1ULL << 7) + mask)) + + (value >= ((1ULL << 14) + mask)) + + (value >= ((1ULL << 21) + mask)) + + (value >= ((1ULL << 28) + mask)) + + (value >= ((1ULL << 35) + mask)) + + (value >= ((1ULL << 42) + mask)) + + (value >= ((1ULL << 49) + mask)) + + (value >= ((1ULL << 56) + mask)) + + (value >= ((1ULL << 63) + mask)) + ; +} + + +unsigned char * +lsqpack_enc_int (unsigned char *dst, unsigned char *const end, uint64_t value, + unsigned prefix_bits) +{ + unsigned char *const dst_orig = dst; + + /* This function assumes that at least one byte is available */ + assert(dst < end); + if (value < ((uint64_t)1 << prefix_bits) - 1) + *dst++ |= value; + else + { + *dst++ |= (1 << prefix_bits) - 1; + value -= (1 << prefix_bits) - 1; + while (value >= 128) + { + if (dst < end) + { + *dst++ = 0x80 | (unsigned char) value; + value >>= 7; + } + else + return dst_orig; + } + if (dst < end) + *dst++ = (unsigned char) value; + else + return dst_orig; + } + return dst; +} + + +static void +lsqpack_enc_int_nocheck (unsigned char *dst, uint64_t value, + unsigned prefix_bits) +{ + if (value < ((uint64_t)1 << prefix_bits) - 1) + *dst++ |= value; + else + { + *dst++ |= (1 << prefix_bits) - 1; + value -= (1 << prefix_bits) - 1; + while (value >= 128) + { + *dst++ = 0x80 | (unsigned char) value; + value >>= 7; + } + *dst++ = (unsigned char) value; + } +} + + +int +lsqpack_enc_enc_str (unsigned prefix_bits, unsigned char *const dst, + size_t dst_len, const unsigned char *str, unsigned str_len) +{ + unsigned char *p; + unsigned enc_size_bytes, len_size; + + enc_size_bytes = qenc_enc_str_size(str, str_len); + + if (enc_size_bytes < str_len) + { + len_size = lsqpack_val2len(enc_size_bytes, prefix_bits); + if (len_size + enc_size_bytes <= dst_len) + { + *dst &= ~((1 << (prefix_bits + 1)) - 1); + *dst |= 1 << prefix_bits; + lsqpack_enc_int_nocheck(dst, enc_size_bytes, prefix_bits); + p = qenc_huffman_enc(str, str + str_len, dst + len_size); + assert((unsigned) (p - dst) == len_size + enc_size_bytes); + return (int)(p - dst); + } + else + return -1; + } + else + { + len_size = lsqpack_val2len(str_len, prefix_bits); + if (len_size + str_len <= dst_len) + { + *dst &= ~((1 << (prefix_bits + 1)) - 1); + lsqpack_enc_int_nocheck(dst, str_len, prefix_bits); + memcpy(dst + len_size, str, str_len); + return len_size + str_len; + } + else + return -1; + } +} + + +static void +qenc_drop_oldest_entry (struct lsqpack_enc *enc) +{ + struct lsqpack_enc_table_entry *entry; + unsigned buckno; + + entry = STAILQ_FIRST(&enc->qpe_all_entries); + assert(entry); + E_DEBUG("drop entry %u (`%.*s': `%.*s'), nelem: %u; capacity: %u", + entry->ete_id, (int) entry->ete_name_len, ETE_NAME(entry), + (int) entry->ete_val_len, ETE_VALUE(entry), enc->qpe_nelem - 1, + enc->qpe_cur_bytes_used - ETE_SIZE(entry)); + STAILQ_REMOVE_HEAD(&enc->qpe_all_entries, ete_next_all); + buckno = BUCKNO(enc->qpe_nbits, entry->ete_nameval_hash); + assert(entry == STAILQ_FIRST(&enc->qpe_buckets[buckno].by_nameval)); + STAILQ_REMOVE_HEAD(&enc->qpe_buckets[buckno].by_nameval, ete_next_nameval); + buckno = BUCKNO(enc->qpe_nbits, entry->ete_name_hash); + assert(entry == STAILQ_FIRST(&enc->qpe_buckets[buckno].by_name)); + STAILQ_REMOVE_HEAD(&enc->qpe_buckets[buckno].by_name, ete_next_name); + + enc->qpe_dropped += ETE_SIZE(entry); + enc->qpe_cur_bytes_used -= ETE_SIZE(entry); + --enc->qpe_nelem; + free(entry); +} + + +static float +qenc_effective_fill (const struct lsqpack_enc *enc) +{ + struct lsqpack_enc_table_entry *entry, *dup; + unsigned dups_size = 0; + + assert(enc->qpe_cur_max_capacity); + + STAILQ_FOREACH(entry, &enc->qpe_all_entries, ete_next_all) + for (dup = STAILQ_NEXT(entry, ete_next_all); dup; + dup = STAILQ_NEXT(dup, ete_next_all)) + if (dup->ete_name_len == entry->ete_name_len && + dup->ete_val_len == entry->ete_val_len && + 0 == memcmp(ETE_NAME(dup), ETE_NAME(entry), + dup->ete_name_len + dup->ete_val_len)) + { + dups_size += ETE_SIZE(dup); + break; + } + + return (float) (enc->qpe_cur_bytes_used - dups_size) + / (float) enc->qpe_cur_max_capacity; +} + + +static void +update_ema (float *val, unsigned new) +{ + if (*val) + *val = (float)((new - *val) * 0.4 + *val); + else + *val = (float)new; +} + + +static void +qenc_sample_table_size (struct lsqpack_enc *enc) +{ + update_ema(&enc->qpe_table_nelem_ema, enc->qpe_nelem); + E_DEBUG("table size actual: %u; exponential moving average: %.3f", + enc->qpe_nelem, enc->qpe_table_nelem_ema); +} + + +static void +qenc_sample_header_count (struct lsqpack_enc *enc) +{ + update_ema(&enc->qpe_header_count_ema, + enc->qpe_cur_header.n_hdr_added_to_hist); + E_DEBUG("header count actual: %u; exponential moving average: %.3f", + enc->qpe_cur_header.n_hdr_added_to_hist, enc->qpe_header_count_ema); +} + + +static void +qenc_remove_overflow_entries (struct lsqpack_enc *enc) +{ + int dropped; + + dropped = 0; + while (enc->qpe_cur_bytes_used > enc->qpe_cur_max_capacity) + { + qenc_drop_oldest_entry(enc); + ++dropped; + } + + if (enc->qpe_logger_ctx && enc->qpe_cur_max_capacity) + { + if (enc->qpe_flags & LSQPACK_ENC_USE_DUP) + E_DEBUG("fill: %.2f; effective fill: %.2f", + (float) enc->qpe_cur_bytes_used / (float) enc->qpe_cur_max_capacity, + qenc_effective_fill(enc)); + else + E_DEBUG("fill: %.2f", + (float) enc->qpe_cur_bytes_used / (float) enc->qpe_cur_max_capacity); + } + + /* It's important to sample only when entries have been dropped: that + * indicates that the table is being cycled through. + */ + if (dropped && enc->qpe_hist_els) + qenc_sample_table_size(enc); +} + + +static int +qenc_grow_tables (struct lsqpack_enc *enc) +{ + struct lsqpack_double_enc_head *new_buckets, *new[2]; + struct lsqpack_enc_table_entry *entry; + unsigned n, old_nbits; + int idx; + + old_nbits = enc->qpe_nbits; + new_buckets = malloc(sizeof(enc->qpe_buckets[0]) + * N_BUCKETS(old_nbits + 1)); + if (!new_buckets) + return -1; + + for (n = 0; n < N_BUCKETS(old_nbits); ++n) + { + new[0] = &new_buckets[n]; + new[1] = &new_buckets[n + N_BUCKETS(old_nbits)]; + STAILQ_INIT(&new[0]->by_name); + STAILQ_INIT(&new[1]->by_name); + STAILQ_INIT(&new[0]->by_nameval); + STAILQ_INIT(&new[1]->by_nameval); + while (entry = STAILQ_FIRST(&enc->qpe_buckets[n].by_name), entry != NULL) + { + STAILQ_REMOVE_HEAD(&enc->qpe_buckets[n].by_name, ete_next_name); + idx = (BUCKNO(old_nbits + 1, entry->ete_name_hash) + >> old_nbits) & 1; + STAILQ_INSERT_TAIL(&new[idx]->by_name, entry, ete_next_name); + } + while (entry = STAILQ_FIRST(&enc->qpe_buckets[n].by_nameval), entry != NULL) + { + STAILQ_REMOVE_HEAD(&enc->qpe_buckets[n].by_nameval, + ete_next_nameval); + idx = (BUCKNO(old_nbits + 1, entry->ete_nameval_hash) + >> old_nbits) & 1; + STAILQ_INSERT_TAIL(&new[idx]->by_nameval, entry, + ete_next_nameval); + } + } + + free(enc->qpe_buckets); + enc->qpe_nbits = old_nbits + 1; + enc->qpe_buckets = new_buckets; + return 0; +} + + +static struct lsqpack_enc_table_entry * +lsqpack_enc_push_entry (struct lsqpack_enc *enc, uint32_t name_hash, + uint32_t nameval_hash, const char *name, unsigned name_len, + const char *value, unsigned value_len) +{ + struct lsqpack_enc_table_entry *entry; + unsigned buckno; + size_t size; + + if (enc->qpe_nelem >= N_BUCKETS(enc->qpe_nbits) / 2 && + 0 != qenc_grow_tables(enc)) + return NULL; + + size = sizeof(*entry) + name_len + value_len; + entry = malloc(size); + if (!entry) + return NULL; + + entry->ete_name_hash = name_hash; + entry->ete_nameval_hash = nameval_hash; + entry->ete_name_len = name_len; + entry->ete_val_len = value_len; + entry->ete_when_added_used = enc->qpe_cur_bytes_used; + entry->ete_when_added_dropped = enc->qpe_dropped; + entry->ete_id = 1 + enc->qpe_ins_count++; + memcpy(ETE_NAME(entry), name, name_len); + memcpy(ETE_VALUE(entry), value, value_len); + + STAILQ_INSERT_TAIL(&enc->qpe_all_entries, entry, ete_next_all); + buckno = BUCKNO(enc->qpe_nbits, nameval_hash); + STAILQ_INSERT_TAIL(&enc->qpe_buckets[buckno].by_nameval, entry, + ete_next_nameval); + buckno = BUCKNO(enc->qpe_nbits, name_hash); + STAILQ_INSERT_TAIL(&enc->qpe_buckets[buckno].by_name, entry, + ete_next_name); + + enc->qpe_cur_bytes_used += ENTRY_COST(name_len, value_len); + ++enc->qpe_nelem; + E_DEBUG("pushed entry %u (`%.*s': `%.*s'), nelem: %u; capacity: %u", + entry->ete_id, (int) entry->ete_name_len, ETE_NAME(entry), + (int) entry->ete_val_len, ETE_VALUE(entry), enc->qpe_nelem, + enc->qpe_cur_bytes_used); + return entry; +} + + +int +lsqpack_enc_start_header (struct lsqpack_enc *enc, uint64_t stream_id, + unsigned seqno) +{ + struct lsqpack_header_info *hinfo; + + if (enc->qpe_flags & LSQPACK_ENC_HEADER) + return -1; + + E_DEBUG("Start header for stream %"PRIu64, stream_id); + + enc->qpe_cur_header.hinfo = enc_alloc_hinfo(enc); + if (enc->qpe_cur_header.hinfo) + { + enc->qpe_cur_header.hinfo->qhi_stream_id = stream_id; + enc->qpe_cur_header.hinfo->qhi_seqno = seqno; + } + else + E_INFO("could not allocate hinfo for stream %"PRIu64, stream_id); + enc->qpe_cur_header.flags = 0; + enc->qpe_cur_header.other_at_risk = NULL; + enc->qpe_cur_header.n_hdr_added_to_hist = 0; + enc->qpe_cur_header.base_idx = enc->qpe_ins_count; + + /* Check if there are other header blocks with the same stream ID that + * are at risk. + */ + if (seqno && enc->qpe_cur_header.hinfo) + TAILQ_FOREACH(hinfo, &enc->qpe_risked_hinfos, qhi_next_risked) + if (hinfo->qhi_stream_id == stream_id) + { + enc->qpe_cur_header.other_at_risk = hinfo; + break; + } + + enc->qpe_flags |= LSQPACK_ENC_HEADER; + + return 0; +} + + +/* + * Each header block is prefixed with two integers. The Required Insert + * Count is encoded as an integer with an 8-bit prefix. The Base is encoded + * as sign- and-modulus integer, using a single sign bit and a value with a + * 7-bit prefix. + * + * 0 1 2 3 4 5 6 7 + * +---+---+---+---+---+---+---+---+ + * | Required Insert Count (8+) | + * +---+---------------------------+ + * | S | Delta Base (7+) | + * +---+---------------------------+ + * | Compressed Headers ... + * +-------------------------------+ + */ +size_t +lsqpack_enc_header_block_prefix_size (const struct lsqpack_enc *enc) +{ + unsigned req_ins_count_len, delta_base_len; + + req_ins_count_len = lsqpack_val2len(2 * enc->qpe_max_entries, 8); + delta_base_len = lsqpack_val2len(2 * enc->qpe_max_entries, 7); + return req_ins_count_len + delta_base_len; +} + + +int +lsqpack_enc_cancel_header (struct lsqpack_enc *enc) +{ + /* No header has been started. */ + if (!(enc->qpe_flags & LSQPACK_ENC_HEADER)) + return -1; + + /* Cancellation is not (yet) allowed if the dynamic table is used since + * ls-qpack's state is changed when the dynamic table is used. + */ + if (enc->qpe_cur_header.hinfo && HINFO_IDS_SET(enc->qpe_cur_header.hinfo)) + return -1; + + if (enc->qpe_cur_header.hinfo) { + enc_free_hinfo(enc, enc->qpe_cur_header.hinfo); + enc->qpe_cur_header.hinfo = NULL; + } + + enc->qpe_flags &= ~LSQPACK_ENC_HEADER; + + return 0; +} + + +static void +qenc_add_to_risked_list (struct lsqpack_enc *enc, + struct lsqpack_header_info *hinfo) +{ + TAILQ_INSERT_TAIL(&enc->qpe_risked_hinfos, hinfo, qhi_next_risked); + if (enc->qpe_cur_header.other_at_risk) + { + hinfo->qhi_same_stream_id + = enc->qpe_cur_header.other_at_risk->qhi_same_stream_id; + enc->qpe_cur_header.other_at_risk->qhi_same_stream_id = hinfo; + } + else + { + ++enc->qpe_cur_streams_at_risk; + E_DEBUG("streams at risk: %u", enc->qpe_cur_streams_at_risk); + assert(enc->qpe_cur_streams_at_risk <= enc->qpe_max_risked_streams); + } +} + + +static void +qenc_remove_from_risked_list (struct lsqpack_enc *enc, + struct lsqpack_header_info *hinfo) +{ + struct lsqpack_header_info *prev; + if (TAILQ_EMPTY(&enc->qpe_risked_hinfos)) + { + assert(enc->qpe_cur_streams_at_risk == 0); + return; + } + TAILQ_REMOVE(&enc->qpe_risked_hinfos, hinfo, qhi_next_risked); + if (hinfo->qhi_same_stream_id == hinfo) + { + assert(enc->qpe_cur_streams_at_risk > 0); + --enc->qpe_cur_streams_at_risk; + E_DEBUG("streams at risk: %u", enc->qpe_cur_streams_at_risk); + } + else + { + for (prev = hinfo->qhi_same_stream_id; + prev->qhi_same_stream_id != hinfo; prev = prev->qhi_same_stream_id) + ; + prev->qhi_same_stream_id = hinfo->qhi_same_stream_id; + hinfo->qhi_same_stream_id = hinfo; + } +} + + +static int +qenc_hinfo_at_risk (const struct lsqpack_enc *enc, + const struct lsqpack_header_info *hinfo) +{ + return hinfo->qhi_max_id > enc->qpe_max_acked_id; +} + + +ssize_t +lsqpack_enc_end_header (struct lsqpack_enc *enc, unsigned char *buf, size_t sz, + enum lsqpack_enc_header_flags *header_flags) +{ + struct lsqpack_header_info *hinfo; + unsigned char *dst, *end; + lsqpack_abs_id_t diff, encoded_largest_ref; + unsigned sign, nelem; + float count_diff; + + if (sz == 0) + return -1; + + if (!(enc->qpe_flags & LSQPACK_ENC_HEADER)) + return -1; + + if (enc->qpe_hist_els) + { + qenc_sample_header_count(enc); + if (enc->qpe_table_nelem_ema + /* History size should not be smaller than the average number of + * header fields in a header list. + */ + && enc->qpe_table_nelem_ema > enc->qpe_header_count_ema) + { + count_diff = fabsf(enc->qpe_hist_nels - enc->qpe_table_nelem_ema); + /* If difference is 2 or 10%: */ + if (count_diff >= 1.5 + || count_diff / enc->qpe_table_nelem_ema >= 0.1) + { + nelem = (unsigned) round(enc->qpe_table_nelem_ema); + qenc_hist_update_size(enc, nelem); + } + } + } + + if (enc->qpe_cur_header.hinfo && HINFO_IDS_SET(enc->qpe_cur_header.hinfo)) + { + hinfo = enc->qpe_cur_header.hinfo; /* shorthand */ + end = buf + sz; + + *buf = 0; + encoded_largest_ref = hinfo->qhi_max_id + % (2 * enc->qpe_max_entries) + 1; + E_DEBUG("LargestRef for stream %"PRIu64" is encoded as %u", + hinfo->qhi_stream_id, encoded_largest_ref); + dst = lsqpack_enc_int(buf, end, encoded_largest_ref, 8); + if (dst <= buf) + return 0; + + if (dst >= end) + return 0; + + buf = dst; + if (enc->qpe_cur_header.base_idx >= hinfo->qhi_max_id) + { + sign = 0; + diff = enc->qpe_cur_header.base_idx - hinfo->qhi_max_id; + } + else + { + sign = 1; + diff = hinfo->qhi_max_id - enc->qpe_cur_header.base_idx - 1; + } + *buf = (unsigned char) (sign << 7); + dst = lsqpack_enc_int(buf, end, diff, 7); + if (dst <= buf) + return 0; + + if (qenc_hinfo_at_risk(enc, hinfo)) + qenc_add_to_risked_list(enc, hinfo); + + E_DEBUG("ended header for stream %"PRIu64"; max ref: %u encoded as %u; " + "risked: %d", hinfo->qhi_stream_id, hinfo->qhi_max_id, + encoded_largest_ref, qenc_hinfo_at_risk(enc, hinfo)); + + enc->qpe_cur_header.hinfo = NULL; + enc->qpe_flags &= ~LSQPACK_ENC_HEADER; + if (header_flags) + { + *header_flags = enc->qpe_cur_header.flags; + if (qenc_hinfo_at_risk(enc, hinfo)) + *header_flags |= LSQECH_REF_AT_RISK; + } + enc->qpe_bytes_out += (unsigned)(dst - end + sz); + return dst - end + sz; + } + + if (sz >= 2) + { + memset(buf, 0, 2); + if (enc->qpe_cur_header.hinfo) + { + E_DEBUG("ended header for stream %"PRIu64"; dynamic table not " + "referenced", enc->qpe_cur_header.hinfo->qhi_stream_id); + enc_free_hinfo(enc, enc->qpe_cur_header.hinfo); + enc->qpe_cur_header.hinfo = NULL; + } + else + E_DEBUG("ended header; hinfo absent"); + enc->qpe_flags &= ~LSQPACK_ENC_HEADER; + if (header_flags) + *header_flags = enc->qpe_cur_header.flags; + enc->qpe_bytes_out += 2; + return 2; + } + else + return 0; +} + + +struct encode_program +{ + enum enc_stream_action { /* What to do on encoder stream */ + EEA_NONE, + EEA_DUP, + EEA_INS_NAMEREF_STATIC, + EEA_INS_NAMEREF_DYNAMIC, + EEA_INS_LIT, + EEA_INS_LIT_NAME, + } ep_enc_action; + enum hea_block_action { /* What to output to header block */ + EHA_INDEXED_NEW, + EHA_INDEXED_STAT, + EHA_INDEXED_DYN, + EHA_LIT_WITH_NAME_STAT, + EHA_LIT_WITH_NAME_DYN, + EHA_LIT_WITH_NAME_NEW, + EHA_LIT, + } ep_hea_action; + enum dyn_table_action { /* Any changes to the dynamic table */ + ETA_NOOP, + ETA_NEW, + ETA_NEW_NAME, + } ep_tab_action; + enum ref_flags { /* Which entries to take references to */ + EPF_REF_FOUND = 1 << 1, + EPF_REF_NEW = 1 << 2, + } ep_flags; +}; + + +static const char *const eea2str[] = +{ + [EEA_NONE] = "EEA_NONE", + [EEA_DUP] = "EEA_DUP", + [EEA_INS_NAMEREF_STATIC] = "EEA_INS_NAMEREF_STATIC", + [EEA_INS_NAMEREF_DYNAMIC] = "EEA_INS_NAMEREF_DYNAMIC", + [EEA_INS_LIT] = "EEA_INS_LIT", + [EEA_INS_LIT_NAME] = "EEA_INS_LIT_NAME", +}; + + +static const char *const eha2str[] = +{ + [EHA_INDEXED_NEW] = "EHA_INDEXED_NEW", + [EHA_INDEXED_STAT] = "EHA_INDEXED_STAT", + [EHA_INDEXED_DYN] = "EHA_INDEXED_DYN", + [EHA_LIT_WITH_NAME_STAT] = "EHA_LIT_WITH_NAME_STAT", + [EHA_LIT_WITH_NAME_DYN] = "EHA_LIT_WITH_NAME_DYN", + [EHA_LIT_WITH_NAME_NEW] = "EHA_LIT_WITH_NAME_NEW", + [EHA_LIT] = "EHA_LIT", +}; + + +static const char *const eta2str[] = +{ + [ETA_NOOP] = "ETA_NOOP", + [ETA_NEW] = "ETA_NEW", + [ETA_NEW_NAME] = "ETA_NEW_NAME", +}; + + +static lsqpack_abs_id_t +qenc_min_reffed_id (struct lsqpack_enc *enc) +{ + const struct lsqpack_header_info *hinfo; + lsqpack_abs_id_t min_id; + + if (enc->qpe_cur_header.flags & LSQECH_MINREF_CACHED) + min_id = enc->qpe_cur_header.min_reffed; + else + { + min_id = 0; + TAILQ_FOREACH(hinfo, &enc->qpe_all_hinfos, qhi_next_all) + if (min_id == 0 || + (hinfo->qhi_min_id != 0 && hinfo->qhi_min_id < min_id)) + { + min_id = hinfo->qhi_min_id; + } + enc->qpe_cur_header.min_reffed = min_id; + enc->qpe_cur_header.flags |= LSQECH_MINREF_CACHED; + } + + if (enc->qpe_cur_header.hinfo + && (min_id == 0 || (enc->qpe_cur_header.hinfo->qhi_min_id != 0 + && enc->qpe_cur_header.hinfo->qhi_min_id < min_id))) + min_id = enc->qpe_cur_header.hinfo->qhi_min_id; + + return min_id; +} + + +static int +qenc_safe_to_dup (const struct lsqpack_enc *enc, + const struct lsqpack_enc_table_entry *const pinned_entry) +{ + const struct lsqpack_enc_table_entry *entry; + unsigned bytes_used; + + bytes_used = enc->qpe_cur_bytes_used + ETE_SIZE(pinned_entry); + if (bytes_used <= enc->qpe_cur_max_capacity) + return 1; + + for (entry = STAILQ_FIRST(&enc->qpe_all_entries); entry != pinned_entry; + entry = STAILQ_NEXT(entry, ete_next_all)) + { + bytes_used -= ETE_SIZE(entry); + if (bytes_used <= enc->qpe_cur_max_capacity) + return 1; + } + + return 0; +} + + +static int +qenc_has_or_can_evict_at_least (struct lsqpack_enc *enc, size_t new_entry_size) +{ + const struct lsqpack_enc_table_entry *entry; + lsqpack_abs_id_t min_id; + size_t avail; + + avail = enc->qpe_cur_max_capacity - enc->qpe_cur_bytes_used; + if (avail >= new_entry_size) + return 1; + + min_id = qenc_min_reffed_id(enc); + + STAILQ_FOREACH(entry, &enc->qpe_all_entries, ete_next_all) + if ((min_id == 0 || entry->ete_id < min_id) + && entry->ete_id <= enc->qpe_max_acked_id) + { + avail += ETE_SIZE(entry); + if (avail >= new_entry_size) + return 1; + } + else + break; + + return avail >= new_entry_size; +} + + +static int +qenc_duplicable_entry (struct lsqpack_enc *enc, + const struct lsqpack_enc_table_entry *const entry) +{ + float fill, fraction; + unsigned off; + + if (!(enc->qpe_flags & LSQPACK_ENC_USE_DUP)) + return 0; + + fill = (float) (enc->qpe_cur_bytes_used + ETE_SIZE(entry)) + / (float) enc->qpe_cur_max_capacity; + if (fill < 0.8) + return 0; + + off = entry->ete_when_added_used + - (enc->qpe_dropped - entry->ete_when_added_dropped); + fraction = (float) off / (float) enc->qpe_cur_max_capacity; + return fraction < 0.2f + && qenc_has_or_can_evict_at_least(enc, ETE_SIZE(entry)); +} + + +static void +qenc_maybe_update_hinfo_min_max (struct lsqpack_header_info *hinfo, + lsqpack_abs_id_t dyn_id) +{ + if (HINFO_IDS_SET(hinfo)) + { + if (dyn_id > hinfo->qhi_max_id) + hinfo->qhi_max_id = dyn_id; + else if (dyn_id < hinfo->qhi_min_id) + hinfo->qhi_min_id = dyn_id; + } + else + { + hinfo->qhi_max_id = dyn_id; + hinfo->qhi_min_id = dyn_id; + } +} + + +static int +qenc_entry_is_draining (const struct lsqpack_enc *enc, + const struct lsqpack_enc_table_entry *entry) +{ + unsigned dist; + + dist = entry->ete_when_added_used + - (enc->qpe_dropped - entry->ete_when_added_dropped); + dist += enc->qpe_cur_max_capacity - enc->qpe_cur_bytes_used; + return dist < enc->qpe_cur_max_capacity / 4; +} + + +static int +qenc_can_risk (const struct lsqpack_enc *enc) +{ + return enc->qpe_cur_header.other_at_risk + || enc->qpe_cur_streams_at_risk < enc->qpe_max_risked_streams + || (enc->qpe_cur_header.hinfo + && qenc_hinfo_at_risk(enc, enc->qpe_cur_header.hinfo)) + ; +} + + +/* Returns number of bytes written to enc_buf if an entry was duplicated, 0 if + * it wasn't. + */ +static unsigned +qenc_dup_draining (struct lsqpack_enc *enc, unsigned char *enc_buf, + size_t enc_buf_sz) +{ + struct lsqpack_enc_table_entry *entry, *candidate, *next; + unsigned char *dst; + + if (enc_buf_sz == 0 + || !(enc->qpe_flags & LSQPACK_ENC_USE_DUP) + || enc->qpe_ins_count == LSQPACK_MAX_ABS_ID) + return 0; + if ((enc->qpe_table_nelem_ema || qenc_can_risk(enc)) + && enc->qpe_table_nelem_ema < enc->qpe_header_count_ema) + return 0; + + candidate = NULL; + STAILQ_FOREACH(entry, &enc->qpe_all_entries, ete_next_all) + { + if (!qenc_entry_is_draining(enc, entry)) + break; + /* + if (ETE_SIZE(entry) > enc->qpe_cur_max_capacity / 4) + continue; + if (ETE_SIZE(entry) < DYNAMIC_ENTRY_OVERHEAD + 20) + continue; + */ + if (candidate && ETE_SIZE(entry) < ETE_SIZE(candidate)) + continue; + for (next = STAILQ_NEXT(entry, ete_next_nameval); next; + next = STAILQ_NEXT(next, ete_next_nameval)) + if (next->ete_nameval_hash == entry->ete_nameval_hash + && next->ete_name_len == entry->ete_name_len + && next->ete_val_len == entry->ete_val_len + && 0 == memcmp(ETE_NAME(next), ETE_NAME(entry), + next->ete_name_len) + && 0 == memcmp(ETE_VALUE(next), ETE_VALUE(entry), + next->ete_val_len)) + break; + if (!next + && qenc_hist_seen(enc, HE_NAMEVAL, entry->ete_nameval_hash) + && qenc_has_or_can_evict_at_least(enc, ETE_SIZE(entry))) + candidate = entry; + } + + if (!candidate) + return 0; + + E_DEBUG("dup draining"); + + *enc_buf = 0; + dst = lsqpack_enc_int(enc_buf, enc_buf + enc_buf_sz, + enc->qpe_ins_count - candidate->ete_id, 5); + if (dst <= enc_buf) + return 0; + + entry = lsqpack_enc_push_entry(enc, candidate->ete_name_hash, + candidate->ete_nameval_hash, ETE_NAME(candidate), + candidate->ete_name_len, ETE_VALUE(candidate), + candidate->ete_val_len); + if (!entry) + return 0; + + return (unsigned) (dst - enc_buf); +} + + +/* Clang does not produce incorrect "may be used uninitialized" warnings + * in the function below, but gcc 5.4.0 does. + */ +#ifdef __clang__ +#define USE_USELESS_INITIALIZATION 0 +#else +#define USE_USELESS_INITIALIZATION 1 +#endif + + +enum lsqpack_enc_status +lsqpack_enc_encode (struct lsqpack_enc *enc, + unsigned char *enc_buf, size_t *enc_sz_p, + unsigned char *hea_buf, size_t *hea_sz_p, + const struct lsxpack_header *xhdr, + enum lsqpack_enc_flags flags) +{ + unsigned char *const enc_buf_end = enc_buf + *enc_sz_p; + unsigned char *const hea_buf_end = hea_buf + *hea_sz_p; + struct lsqpack_enc_table_entry *entry, *new_entry; + struct lsqpack_enc_table_entry *candidates[2]; + struct encode_program prog; + int index, risk, use_dyn_table, static_id, enough_room, seen_nameval; + int update_hist; + unsigned name_hash, nameval_hash, buckno; + + size_t enc_sz, hea_sz, sz; + unsigned char *dst; + lsqpack_abs_id_t id; + unsigned n_cand; + int r; + + const char *const name = lsxpack_header_get_name(xhdr); + const char *const value = lsxpack_header_get_value(xhdr); + const unsigned name_len = xhdr->name_len; + const unsigned value_len = xhdr->val_len; + + E_DEBUG("encode `%.*s': `%.*s'", (int) name_len, name, + (int) value_len, value); + + /* Encoding always outputs at least a byte to the header block. If + * no bytes are available, encoding cannot proceed. + */ + if (hea_buf == hea_buf_end) + return LQES_NOBUF_HEAD; + + seen_nameval = -1; + + if (xhdr->flags & LSXPACK_NEVER_INDEX) + flags |= LQEF_NEVER_INDEX; + + /* Look for a full match in the static table */ + if ((xhdr->flags & (LSXPACK_QPACK_IDX|LSXPACK_VAL_MATCHED)) + != (LSXPACK_QPACK_IDX|LSXPACK_VAL_MATCHED)) + { + /* Hash calculation is delayed until we really have to do it */ + if (xhdr->flags & LSXPACK_NAME_HASH) + name_hash = xhdr->name_hash; + else if (xhdr->flags & LSXPACK_QPACK_IDX) + name_hash = name_hashes[ xhdr->qpack_index ]; + else + name_hash = XXH32(name, name_len, LSQPACK_XXH_SEED); + if (xhdr->flags & LSXPACK_NAMEVAL_HASH) + nameval_hash = xhdr->nameval_hash; + else + nameval_hash = XXH32(value, value_len, name_hash); + E_DEBUG("name hash: 0x%X; nameval hash: 0x%X", name_hash, nameval_hash); + static_id = find_in_static_full(nameval_hash, name, name_len, value, + value_len); + } + else + { + static_id = xhdr->qpack_index; + goto static_nameval_match; + } + if (static_id >= 0) + { + static_nameval_match: + id = static_id; + prog = (struct encode_program) { + .ep_enc_action = EEA_NONE, + .ep_hea_action = EHA_INDEXED_STAT, + .ep_tab_action = ETA_NOOP, + .ep_flags = 0, + }; + update_hist = 0; +#if USE_USELESS_INITIALIZATION + nameval_hash = 0; + name_hash = 0; + use_dyn_table = 0; + risk = 0; + entry = NULL; + index = 0; +#endif + goto execute_program; + } +#if USE_USELESS_INITIALIZATION + else + id = 0; +#endif + + use_dyn_table = !(flags & LQEF_NO_DYN) + && enc_use_dynamic_table(enc) + ; + + index = !(flags & (LQEF_NO_INDEX|LQEF_NEVER_INDEX|LQEF_NO_DYN)) + && use_dyn_table + && enc->qpe_ins_count < LSQPACK_MAX_ABS_ID + ; + + risk = qenc_can_risk(enc); + + /* Add header to history if it exists. Defer updating history until we + * know the function will return success. + */ + update_hist = enc->qpe_hist_els != NULL && !(flags & LQEF_NO_HIST_UPD); + + restart: + /* Look for a full match in the dynamic table */ + if (use_dyn_table) + { + buckno = BUCKNO(enc->qpe_nbits, nameval_hash); + n_cand = 0; + STAILQ_FOREACH(entry, &enc->qpe_buckets[buckno].by_nameval, + ete_next_nameval) + if (nameval_hash == entry->ete_nameval_hash && + name_len == entry->ete_name_len && + value_len == entry->ete_val_len && + 0 == memcmp(name, ETE_NAME(entry), name_len) && + 0 == memcmp(value, ETE_VALUE(entry), value_len)) + { + candidates[ n_cand++ ] = entry; + if (n_cand >= sizeof(candidates) / sizeof(candidates[0])) + break; + } + + switch (n_cand) + { + case 1: + entry = candidates[0]; + id = entry->ete_id; + if ((risk || entry->ete_id <= enc->qpe_max_acked_id) && index && qenc_duplicable_entry(enc, entry)) + { + if (risk) + prog = (struct encode_program) { + .ep_enc_action = EEA_DUP, + .ep_hea_action = EHA_INDEXED_NEW, + .ep_tab_action = ETA_NEW, + .ep_flags = EPF_REF_FOUND | EPF_REF_NEW, + }; + else if (!qenc_entry_is_draining(enc, entry)) + { + if (qenc_safe_to_dup(enc, entry)) + prog = (struct encode_program) { + .ep_enc_action = EEA_DUP, + .ep_hea_action = EHA_INDEXED_DYN, + .ep_tab_action = ETA_NEW, + .ep_flags = EPF_REF_FOUND, + }; + else + prog = (struct encode_program) { + .ep_enc_action = EEA_NONE, + .ep_hea_action = EHA_INDEXED_DYN, + .ep_tab_action = ETA_NOOP, + .ep_flags = EPF_REF_FOUND, + }; + } + else + break; + } + else if ((risk || entry->ete_id <= enc->qpe_max_acked_id) + && !qenc_entry_is_draining(enc, entry)) + prog = (struct encode_program) { + .ep_enc_action = EEA_NONE, + .ep_hea_action = EHA_INDEXED_DYN, + .ep_tab_action = ETA_NOOP, + .ep_flags = EPF_REF_FOUND, + }; + else + break; + goto execute_program; + case 2: + /* The order holds due to the way hash table is structured: */ + assert(candidates[1]->ete_id > candidates[0]->ete_id); + if (risk) + /* TODO: make this smarter? Perhaps it may be preferable + * to use an acknowledged entry if it is not in the "about + * to be evicted" range? + */ + entry = candidates[1]; + else if (candidates[1]->ete_id <= enc->qpe_max_acked_id) + entry = candidates[1]; + else if (candidates[0]->ete_id <= enc->qpe_max_acked_id + && !qenc_entry_is_draining(enc, candidates[0])) + entry = candidates[0]; + else + break; + id = entry->ete_id; + prog = (struct encode_program) { + .ep_enc_action = EEA_NONE, + .ep_hea_action = EHA_INDEXED_DYN, + .ep_tab_action = ETA_NOOP, + .ep_flags = EPF_REF_FOUND, + }; + goto execute_program; + } + } +#if USE_USELESS_INITIALIZATION + else + { + entry = NULL; + n_cand = 0; + } +#endif + + /* Look for name-only match in the static table */ + if (xhdr->flags & LSXPACK_QPACK_IDX) + { + static_id = xhdr->qpack_index; + goto static_name_match; + } + else + static_id = lsqpack_find_in_static_headers(name_hash, name, name_len); + if (static_id >= 0) + { + static_name_match: + id = static_id; + if (index && (enough_room = qenc_has_or_can_evict_at_least(enc, + ENTRY_COST(name_len, value_len)), enough_room != 0)) + { + static const struct encode_program programs[2][2][2] = { + [0][0][0] = { EEA_NONE, EHA_LIT_WITH_NAME_STAT, ETA_NOOP, 0, }, + [0][0][1] = { EEA_NONE, EHA_LIT_WITH_NAME_STAT, ETA_NOOP, 0, }, + [0][1][0] = { EEA_NONE, EHA_LIT_WITH_NAME_STAT, ETA_NOOP, 0, }, + [0][1][1] = { EEA_NONE, EHA_LIT_WITH_NAME_STAT, ETA_NOOP, 0, }, + [1][0][0] = { EEA_INS_NAMEREF_STATIC, EHA_LIT_WITH_NAME_STAT, ETA_NEW, 0, }, + [1][0][1] = { EEA_NONE, EHA_LIT_WITH_NAME_STAT, ETA_NOOP, 0, }, + [1][1][0] = { EEA_INS_NAMEREF_STATIC, EHA_INDEXED_NEW, ETA_NEW, EPF_REF_NEW, }, + [1][1][1] = { EEA_NONE, EHA_LIT_WITH_NAME_STAT, ETA_NOOP, 0, }, /* Invalid state */ + }; + seen_nameval = qenc_hist_seen(enc, HE_NAMEVAL, nameval_hash); + prog = programs[seen_nameval][risk][use_dyn_table && n_cand > 0]; + } + else + prog = (struct encode_program) { EEA_NONE, EHA_LIT_WITH_NAME_STAT, ETA_NOOP, 0, }; + goto execute_program; + } + + /* Look for name-only match in the dynamic table */ + /* TODO We may want to duplicate a dynamic entry whose name matches. + * In that case, we'd follow similar logic as above: select candidates + * and pick among them based on some factors. + */ + enough_room = -1; + if (use_dyn_table) + { + buckno = BUCKNO(enc->qpe_nbits, name_hash); + STAILQ_FOREACH(entry, &enc->qpe_buckets[buckno].by_name, ete_next_name) + if (name_hash == entry->ete_name_hash && + !qenc_entry_is_draining(enc, entry) && + name_len == entry->ete_name_len && + (risk || entry->ete_id <= enc->qpe_max_acked_id) && + (!index || + (enough_room < 0 ? + (enough_room = qenc_has_or_can_evict_at_least(enc, + ENTRY_COST(name_len, value_len))) + : enough_room)) + && + 0 == memcmp(name, ETE_NAME(entry), name_len)) + { + id = entry->ete_id; + if (index && enough_room && risk + && (seen_nameval < 0 ? (seen_nameval + = qenc_hist_seen(enc, HE_NAMEVAL, nameval_hash)) : seen_nameval)) + prog = (struct encode_program) { EEA_INS_NAMEREF_DYNAMIC, + EHA_INDEXED_NEW, ETA_NEW, + EPF_REF_NEW|EPF_REF_FOUND, }; + else + prog = (struct encode_program) { EEA_NONE, + EHA_LIT_WITH_NAME_DYN, ETA_NOOP, EPF_REF_FOUND, }; + goto execute_program; + } + } + + /* No matches found */ + if (index + && (seen_nameval < 0 ? (seen_nameval + = qenc_hist_seen(enc, HE_NAMEVAL, nameval_hash)) : seen_nameval) + && (enough_room < 0 ? + (enough_room = qenc_has_or_can_evict_at_least(enc, + ENTRY_COST(name_len, value_len))) : enough_room)) + { + static const struct encode_program programs[2][2] = { + [0][0] = { EEA_INS_LIT, EHA_LIT, ETA_NEW, 0, }, + [0][1] = { EEA_NONE, EHA_LIT, ETA_NOOP, 0, }, + [1][0] = { EEA_INS_LIT, EHA_INDEXED_NEW, ETA_NEW, EPF_REF_NEW, }, + [1][1] = { EEA_NONE, EHA_LIT, ETA_NOOP, 0, }, /* Invalid state */ + }; + prog = programs[risk][use_dyn_table && n_cand > 0]; + } + else if (index && qenc_hist_seen(enc, HE_NAME, name_hash) + && qenc_has_or_can_evict_at_least(enc, ENTRY_COST(name_len, 0))) + { + static const struct encode_program programs[2] = { + [0] = { EEA_INS_LIT_NAME, EHA_LIT, ETA_NEW_NAME, 0, }, + [1] = { EEA_INS_LIT_NAME, EHA_LIT_WITH_NAME_NEW, ETA_NEW_NAME, EPF_REF_NEW, }, + }; + prog = programs[ risk ]; + } + else + prog = (struct encode_program) { EEA_NONE, EHA_LIT, ETA_NOOP, 0, }; + + execute_program: + if (((1 << prog.ep_enc_action) & + ((1 << EEA_INS_NAMEREF_STATIC) | + (1 << EEA_INS_NAMEREF_DYNAMIC) | + (1 << EEA_INS_LIT) | + (1 << EEA_INS_LIT_NAME))) + && + ((1 << prog.ep_hea_action) & + ((1 << EHA_LIT) | + (1 << EHA_LIT_WITH_NAME_STAT) | + (1 << EHA_LIT_WITH_NAME_DYN) | + (1 << EHA_LIT_WITH_NAME_NEW)))) + { + unsigned bytes_out, bytes_in; + bytes_out = enc->qpe_bytes_out + + qenc_enc_str_size((unsigned char *) name, name_len) + + qenc_enc_str_size((unsigned char *) value, value_len) + ; + bytes_in = enc->qpe_bytes_in + name_len + value_len; + if ((float) bytes_out / (float) bytes_in > 0.95) + { + assert(index); + index = 0; + E_DEBUG("double lit would result in ratio > 0.95, reset"); + goto restart; + } + } + + E_DEBUG("program: %s; %s; %s; flags: 0x%X", + eea2str[ prog.ep_enc_action ], eha2str[ prog.ep_hea_action ], + eta2str[ prog.ep_tab_action ], prog.ep_flags); + switch (prog.ep_enc_action) + { + case EEA_DUP: + if (enc_buf >= enc_buf_end) + return LQES_NOBUF_ENC; + dst = enc_buf; + *dst = 0; + dst = lsqpack_enc_int(dst, enc_buf_end, enc->qpe_ins_count - id, 5); + if (dst <= enc_buf) + return LQES_NOBUF_ENC; + enc_sz = dst - enc_buf; + break; + case EEA_INS_NAMEREF_STATIC: + if (enc_buf >= enc_buf_end) + return LQES_NOBUF_ENC; + dst = enc_buf; + *dst = 0x80 | 0x40; + dst = lsqpack_enc_int(dst, enc_buf_end, id, 6); + if (dst <= enc_buf) + return LQES_NOBUF_ENC; + r = lsqpack_enc_enc_str(7, dst, enc_buf_end - dst, + (const unsigned char *) value, value_len); + if (r < 0) + return LQES_NOBUF_ENC; + dst += (unsigned) r; + enc_sz = dst - enc_buf; + break; + case EEA_INS_NAMEREF_DYNAMIC: + if (enc_buf >= enc_buf_end) + return LQES_NOBUF_ENC; + dst = enc_buf; + *dst = 0x80; + dst = lsqpack_enc_int(dst, enc_buf_end, enc->qpe_ins_count - id, 6); + if (dst <= enc_buf) + return LQES_NOBUF_ENC; + r = lsqpack_enc_enc_str(7, dst, enc_buf_end - dst, + (const unsigned char *) value, value_len); + if (r < 0) + return LQES_NOBUF_ENC; + dst += (unsigned) r; + enc_sz = dst - enc_buf; + break; + case EEA_INS_LIT: + case EEA_INS_LIT_NAME: + if (enc_buf >= enc_buf_end) + return LQES_NOBUF_ENC; + dst = enc_buf; + *dst = 0x40; + r = lsqpack_enc_enc_str(5, dst, enc_buf_end - dst, + (const unsigned char *) name, name_len); + if (r < 0) + return LQES_NOBUF_ENC; + dst += r; + r = lsqpack_enc_enc_str(7, dst, enc_buf_end - dst, + (const unsigned char *) value, + prog.ep_enc_action == EEA_INS_LIT ? value_len : 0); + if (r < 0) + return LQES_NOBUF_ENC; + dst += r; + enc_sz = dst - enc_buf; + break; + case EEA_NONE: default: + assert(EEA_NONE == prog.ep_enc_action); + enc_sz = 0; + break; + } + + dst = hea_buf; + switch (prog.ep_hea_action) + { + case EHA_INDEXED_STAT: + *dst = 0x80 | 0x40; + dst = lsqpack_enc_int(dst, hea_buf_end, id, 6); + if (dst <= hea_buf) + return LQES_NOBUF_HEAD; + hea_sz = dst - hea_buf; + break; + case EHA_INDEXED_NEW: + id = enc->qpe_ins_count + 1; + post_base_idx: + *dst = 0x10; + assert(id > enc->qpe_cur_header.base_idx); + dst = lsqpack_enc_int(dst, hea_buf_end, + id - enc->qpe_cur_header.base_idx - 1, 4); + if (dst <= hea_buf) + return LQES_NOBUF_HEAD; + hea_sz = dst - hea_buf; + break; + case EHA_INDEXED_DYN: + if (id > enc->qpe_cur_header.base_idx) + goto post_base_idx; + *dst = 0x80; + dst = lsqpack_enc_int(dst, hea_buf_end, + enc->qpe_cur_header.base_idx - id, 6); + if (dst <= hea_buf) + return LQES_NOBUF_HEAD; + hea_sz = dst - hea_buf; + break; + case EHA_LIT: + *dst = 0x20 + | (((flags & LQEF_NEVER_INDEX) > 0) << 4) + ; + r = lsqpack_enc_enc_str(3, dst, hea_buf_end - dst, + (const unsigned char *) name, name_len); + if (r < 0) + return LQES_NOBUF_HEAD; + dst += r; + r = lsqpack_enc_enc_str(7, dst, hea_buf_end - dst, + (const unsigned char *) value, value_len); + if (r < 0) + return LQES_NOBUF_HEAD; + dst += r; + hea_sz = dst - hea_buf; + break; + case EHA_LIT_WITH_NAME_NEW: + id = enc->qpe_ins_count + 1; + post_base_name_ref: + *dst = (((flags & LQEF_NEVER_INDEX) > 0) << 3); + assert(id > enc->qpe_cur_header.base_idx); + dst = lsqpack_enc_int(dst, hea_buf_end, + id - enc->qpe_cur_header.base_idx - 1, 3); + if (dst <= hea_buf) + return LQES_NOBUF_HEAD; + r = lsqpack_enc_enc_str(7, dst, hea_buf_end - dst, + (const unsigned char *) value, value_len); + if (r < 0) + return LQES_NOBUF_HEAD; + dst += (unsigned) r; + hea_sz = dst - hea_buf; + break; + case EHA_LIT_WITH_NAME_DYN: + if (id > enc->qpe_cur_header.base_idx) + goto post_base_name_ref; + *dst = 0x40 + | (((flags & LQEF_NEVER_INDEX) > 0) << 5) + ; + dst = lsqpack_enc_int(dst, hea_buf_end, + enc->qpe_cur_header.base_idx - id, 4); + if (dst <= hea_buf) + return LQES_NOBUF_HEAD; + r = lsqpack_enc_enc_str(7, dst, hea_buf_end - dst, + (const unsigned char *) value, value_len); + if (r < 0) + return LQES_NOBUF_HEAD; + dst += (unsigned) r; + hea_sz = dst - hea_buf; + break; + case EHA_LIT_WITH_NAME_STAT: default: + assert(prog.ep_hea_action == EHA_LIT_WITH_NAME_STAT); + *dst = 0x40 + | (((flags & LQEF_NEVER_INDEX) > 0) << 5) + | 0x10 + ; + dst = lsqpack_enc_int(dst, hea_buf_end, id, 4); + if (dst <= hea_buf) + return LQES_NOBUF_HEAD; + r = lsqpack_enc_enc_str(7, dst, hea_buf_end - dst, + (const unsigned char *) value, value_len); + if (r < 0) + return LQES_NOBUF_HEAD; + dst += (unsigned) r; + hea_sz = dst - hea_buf; + break; + } + + switch (prog.ep_tab_action) + { + case ETA_NEW: + case ETA_NEW_NAME: + new_entry = lsqpack_enc_push_entry(enc, name_hash, nameval_hash, name, + name_len, value, prog.ep_tab_action == ETA_NEW ? value_len : 0); + if (!new_entry) + { /* Push can only fail due to inability to allocate memory. + * In this case, fall back on encoding without indexing. + */ + index = 0; + goto restart; + } + enc->qpe_cur_header.hinfo->qhi_bytes_inserted += ETE_SIZE(new_entry); + if (prog.ep_flags & EPF_REF_NEW) + { + ++new_entry->ete_n_reffd; + enc->qpe_cur_header.flags |= LSQECH_REF_NEW_ENTRIES; + if (HINFO_IDS_SET(enc->qpe_cur_header.hinfo)) + assert(new_entry->ete_id > enc->qpe_cur_header.hinfo->qhi_max_id); + qenc_maybe_update_hinfo_min_max(enc->qpe_cur_header.hinfo, + new_entry->ete_id); + } + break; + case ETA_NOOP: default: + assert(prog.ep_tab_action == ETA_NOOP); + break; + } + + if (prog.ep_flags & EPF_REF_FOUND) + { + ++entry->ete_n_reffd; + qenc_maybe_update_hinfo_min_max(enc->qpe_cur_header.hinfo, + entry->ete_id); + } + + qenc_remove_overflow_entries(enc); + + if (update_hist) + { + assert(enc->qpe_hist_els); + if (enc->qpe_cur_header.n_hdr_added_to_hist >= enc->qpe_hist_nels) + qenc_hist_update_size(enc, enc->qpe_hist_nels + 4); + qenc_hist_add(enc, name_hash, nameval_hash); + ++enc->qpe_cur_header.n_hdr_added_to_hist; + } + + while (sz = qenc_dup_draining(enc, enc_buf + enc_sz, + enc_buf_end - enc_buf - enc_sz), sz > 0) + { + enc_sz += sz; + qenc_remove_overflow_entries(enc); + } + + enc->qpe_bytes_in += name_len + value_len; + enc->qpe_bytes_out += (unsigned)(enc_sz + hea_sz); + if (enc->qpe_bytes_out > (1u << (sizeof(enc->qpe_bytes_out) * 8 - 1))) + { + enc->qpe_bytes_in = (int)((float) enc->qpe_bytes_in + / (float) enc->qpe_bytes_out * 1000); + enc->qpe_bytes_out = 1000; + E_DEBUG("reset bytes in/out counters, ratio: %.3f", + lsqpack_enc_ratio(enc)); + } + + *enc_sz_p = enc_sz; + *hea_sz_p = hea_sz; + return LQES_OK; +} + + +int +lsqpack_enc_set_max_capacity (struct lsqpack_enc *enc, unsigned capacity, + unsigned char *tsu_buf, size_t *tsu_buf_sz) +{ + unsigned char *p; + + if (capacity > enc->qpe_real_max_capacity) + { + errno = EINVAL; + return -1; + } + + if (capacity == enc->qpe_cur_max_capacity) + { + E_DEBUG("set_capacity: capacity stays unchanged at %u", capacity); + *tsu_buf_sz = 0; + return 0; + } + + if (!(tsu_buf && tsu_buf_sz)) + { + errno = EINVAL; + return -1; + } + p = tsu_buf; + *p = 0x20; + p = lsqpack_enc_int(p, tsu_buf + *tsu_buf_sz, capacity, 5); + if (p <= tsu_buf) + { + errno = ENOBUFS; + return -1; + } + *tsu_buf_sz = p - tsu_buf; + + E_DEBUG("maximum capacity goes from %u to %u", enc->qpe_cur_max_capacity, + capacity); + enc->qpe_cur_max_capacity = capacity; + qenc_remove_overflow_entries(enc); + return 0; +} + + +static void +qenc_update_risked_list (struct lsqpack_enc *enc) +{ + struct lsqpack_header_info *hinfo, *next; + + for (hinfo = TAILQ_FIRST(&enc->qpe_risked_hinfos); hinfo; hinfo = next) + { + next = TAILQ_NEXT(hinfo, qhi_next_risked); + if (!qenc_hinfo_at_risk(enc, hinfo)) + qenc_remove_from_risked_list(enc, hinfo); + } +} + + +static int +enc_proc_header_ack (struct lsqpack_enc *enc, uint64_t stream_id) +{ + struct lsqpack_header_info *hinfo; + + E_DEBUG("got Header Ack instruction, stream=%"PRIu64, stream_id); + if (stream_id > MAX_QUIC_STREAM_ID) + return -1; + + TAILQ_FOREACH(hinfo, &enc->qpe_all_hinfos, qhi_next_all) + if (stream_id == hinfo->qhi_stream_id) + break; + + /* + * XXX if an ACK comes in while a header is being encoded, it will not + * have any effect because the the `qhi_max_id` is 0 until the header + * encoding is finished (see enc_end_header()). + */ + + if (!hinfo) + return -1; + + if (hinfo->qhi_max_id > enc->qpe_max_acked_id) + { + qenc_remove_from_risked_list(enc, hinfo); + enc->qpe_max_acked_id = hinfo->qhi_max_id; + qenc_update_risked_list(enc); + E_DEBUG("max acked ID is now %u", enc->qpe_max_acked_id); + } + + enc_free_hinfo(enc, hinfo); + return 0; +} + + +static int +enc_proc_ici (struct lsqpack_enc *enc, uint64_t ins_count) +{ + lsqpack_abs_id_t max_acked; + + E_DEBUG("got ICI instruction, count=%"PRIu64, ins_count); + if (ins_count == 0) + { + E_INFO("ICI=0 is an error"); + return -1; + } + + if (ins_count > LSQPACK_MAX_ABS_ID) + { + /* We never insert this many */ + E_INFO("insertion count too high: %"PRIu64, ins_count); + return -1; + } + + max_acked = (lsqpack_abs_id_t) ins_count + enc->qpe_last_ici; + if (max_acked > enc->qpe_ins_count) + { + E_DEBUG("ICI: max_acked %u is larger than number of inserts %u", + max_acked, enc->qpe_ins_count); + return -1; + } + + if (max_acked > enc->qpe_max_acked_id) + { + enc->qpe_last_ici = max_acked; + enc->qpe_max_acked_id = max_acked; + E_DEBUG("max acked ID is now %u", enc->qpe_max_acked_id); + qenc_update_risked_list(enc); + } + else + { + E_DEBUG("duplicate ICI: %u", max_acked); + } + return 0; +} + + +static int +enc_proc_stream_cancel (struct lsqpack_enc *enc, uint64_t stream_id) +{ + struct lsqpack_header_info *hinfo, *next; + unsigned count; + + E_DEBUG("got Cancel Stream instruction; stream=%"PRIu64, stream_id); + + if (stream_id > MAX_QUIC_STREAM_ID) + { + E_INFO("Invalid stream ID %"PRIu64" in Cancel Stream", stream_id); + return -1; + } + + count = 0; + for (hinfo = TAILQ_FIRST(&enc->qpe_all_hinfos); hinfo; hinfo = next) + { + next = TAILQ_NEXT(hinfo, qhi_next_all); + if (hinfo->qhi_stream_id == stream_id) + { + E_DEBUG("cancel header block for stream %"PRIu64", seqno %u", + stream_id, hinfo->qhi_seqno); + if (qenc_hinfo_at_risk(enc, hinfo)) + qenc_remove_from_risked_list(enc, hinfo); + enc_free_hinfo(enc, hinfo); + ++count; + } + } + + E_DEBUG("cancelled %u header block%.*s of stream %"PRIu64, + count, count != 1, "s", stream_id); + return 0; +} + + +/* Assumption: we have at least one byte to work with */ +/* Return value: + * 0 OK + * -1 Out of input + * -2 Value cannot be represented as 64-bit integer (overflow) + */ +int +lsqpack_dec_int (const unsigned char **src_p, const unsigned char *src_end, + unsigned prefix_bits, uint64_t *value_p, + struct lsqpack_dec_int_state *state) +{ + const unsigned char *const orig_src = *src_p; + const unsigned char *src; + unsigned char prefix_max; + unsigned M, nread; + uint64_t val, B; + + src = *src_p; + + if (state->resume) + { + val = state->val; + M = state->M; + goto resume; + } + + prefix_max = (1 << prefix_bits) - 1; + val = *src++; + val &= prefix_max; + + if (val < prefix_max) + { + *src_p = src; + *value_p = val; + return 0; + } + + M = 0; + do + { + if (src < src_end) + { + resume: B = *src++; + val = val + ((B & 0x7f) << M); + M += 7; + } + else + { + nread = (state->resume ? state->nread : 0) + (unsigned)(src - orig_src); + if (nread < LSQPACK_UINT64_ENC_SZ) + { + state->val = val; + state->M = M; + state->nread = nread; + state->resume = 1; + return -1; + } + else + return -2; + } + } + while (B & 0x80); + + if (M <= 63 || (M == 70 && src[-1] <= 1 && (val & (1ull << 63)))) + { + *src_p = src; + *value_p = val; + return 0; + } + else + return -2; +} + + +typedef char unsigned_is_32bits[(sizeof(unsigned) == 4) ? 1 : -1]; + +/* TODO: rewrite as a standalone function */ +int +lsqpack_dec_int24 (const unsigned char **src_p, const unsigned char *src_end, + unsigned prefix_bits, unsigned *value_p, + struct lsqpack_dec_int_state *state) +{ + uint64_t val; + int r; + + r = lsqpack_dec_int(src_p, src_end, prefix_bits, &val, state); + if (r == 0 && val < (1u << 24)) + { + *value_p = (unsigned int) val; + return 0; + } + else if (r != 0) + return r; + else + return -2; +} + + +int +lsqpack_enc_decoder_in (struct lsqpack_enc *enc, + const unsigned char *buf, size_t buf_sz) +{ + const unsigned char *const end = buf + buf_sz; + uint64_t val; + int r; + unsigned prefix_bits = ~0u; /* This can be any value in a resumed call + * to the integer decoder -- it is only + * used in the first call. + */ + E_DEBUG("got %zu bytes of decoder stream", buf_sz); + + while (buf < end) + { + switch (enc->qpe_dec_stream_state.dec_int_state.resume) + { + case 0: + if (buf[0] & 0x80) /* Header ACK */ + { + prefix_bits = 7; + enc->qpe_dec_stream_state.handler = enc_proc_header_ack; + } + else if ((buf[0] & 0xC0) == 0) /* Insert Count Increment */ + { + prefix_bits = 6; + enc->qpe_dec_stream_state.handler = enc_proc_ici; + } + else /* Stream Cancellation */ + { + assert((buf[0] & 0xC0) == 0x40); + prefix_bits = 6; + enc->qpe_dec_stream_state.handler = enc_proc_stream_cancel; + } + FALL_THROUGH; + case 1: + r = lsqpack_dec_int(&buf, end, prefix_bits, &val, + &enc->qpe_dec_stream_state.dec_int_state); + if (r == 0) + { + r = enc->qpe_dec_stream_state.handler(enc, val); + if (r != 0) + return -1; + enc->qpe_dec_stream_state.dec_int_state.resume = 0; + } + else if (r == -1) + { + enc->qpe_dec_stream_state.dec_int_state.resume = 1; + return 0; + } + else + return -1; + break; + } + } + enc->qpe_bytes_out += (unsigned)buf_sz; + + return 0; +} + + +float +lsqpack_enc_ratio (const struct lsqpack_enc *enc) +{ + float ratio; + + if (enc->qpe_bytes_in) + { + ratio = (float) enc->qpe_bytes_out / (float) enc->qpe_bytes_in; + E_DEBUG("bytes out: %u; bytes in: %u, ratio: %.3f", + enc->qpe_bytes_out, enc->qpe_bytes_in, ratio); + return ratio; + } + else + return 0; +} + + +#ifdef LSQPACK_DEC_LOGGER_HEADER +#include LSQPACK_DEC_LOGGER_HEADER +#else +#define D_LOG(prefix, ...) do { \ + if (dec->qpd_logger_ctx) { \ + fprintf(dec->qpd_logger_ctx, prefix); \ + fprintf(dec->qpd_logger_ctx, __VA_ARGS__); \ + fprintf(dec->qpd_logger_ctx, "\n"); \ + } \ +} while (0) +#define D_DEBUG(...) D_LOG("qdec: debug: ", __VA_ARGS__) +#define D_INFO(...) D_LOG("qdec: info: ", __VA_ARGS__) +#define D_WARN(...) D_LOG("qdec: warn: ", __VA_ARGS__) +#define D_ERROR(...) D_LOG("qdec: error: ", __VA_ARGS__) +#endif + + +/* Dynamic table entry: */ +struct lsqpack_dec_table_entry +{ + unsigned dte_name_len; + unsigned dte_val_len; + unsigned dte_refcnt; + unsigned dte_name_hash; + unsigned dte_nameval_hash; + unsigned dte_name_idx; + enum { + DTEF_NAME_HASH = 1 << 0, + DTEF_NAMEVAL_HASH = 1 << 1, + DTEF_NAME_IDX = 1 << 2, + } dte_flags; + char dte_buf[0]; /* Contains both name and value */ +}; + +#define DTE_NAME(dte) ((dte)->dte_buf) +#define DTE_VALUE(dte) (&(dte)->dte_buf[(dte)->dte_name_len]) +#define DTE_SIZE(dte) ENTRY_COST((dte)->dte_name_len, (dte)->dte_val_len) + +enum +{ + HPACK_HUFFMAN_FLAG_ACCEPTED = 0x01, + HPACK_HUFFMAN_FLAG_SYM = 0x02, + HPACK_HUFFMAN_FLAG_FAIL = 0x04, +}; + + +#if LSQPACK_DEVEL_MODE +# define STATIC +#else +# define STATIC static +#endif + +STATIC unsigned +ringbuf_count (const struct lsqpack_ringbuf *rbuf) +{ + if (rbuf->rb_nalloc) + { + if (rbuf->rb_head >= rbuf->rb_tail) + return rbuf->rb_head - rbuf->rb_tail; + else + return rbuf->rb_nalloc - (rbuf->rb_tail - rbuf->rb_head); + } + else + return 0; +} + + +STATIC int +ringbuf_full (const struct lsqpack_ringbuf *rbuf) +{ + return rbuf->rb_nalloc == 0 + || (rbuf->rb_head + 1) % rbuf->rb_nalloc == rbuf->rb_tail; +} + + +STATIC int +ringbuf_empty (const struct lsqpack_ringbuf *rbuf) +{ + return rbuf->rb_head == rbuf->rb_tail; +} + + +struct ringbuf_iter +{ + const struct lsqpack_ringbuf *rbuf; + unsigned next, end; +}; + + +STATIC void * +ringbuf_iter_next (struct ringbuf_iter *iter) +{ + void *el; + + if (iter->next != iter->rbuf->rb_head) + { + el = iter->rbuf->rb_els[ iter->next ]; + iter->next = (iter->next + 1) % iter->rbuf->rb_nalloc; + return el; + } + else + return NULL; +} + + +STATIC void * +ringbuf_iter_first (struct ringbuf_iter *iter, + const struct lsqpack_ringbuf *rbuf) +{ + if (!ringbuf_empty(rbuf)) + { + iter->rbuf = rbuf; + iter->next = rbuf->rb_tail; + return ringbuf_iter_next(iter); + } + else + return NULL; +} + + +static void +ringbuf_cleanup (struct lsqpack_ringbuf *rbuf) +{ + free(rbuf->rb_els); + memset(rbuf, 0, sizeof(*rbuf)); +} + + +static void * +ringbuf_get_head (const struct lsqpack_ringbuf *rbuf, unsigned off) +{ + unsigned i; + + i = (rbuf->rb_nalloc + rbuf->rb_head - off) % rbuf->rb_nalloc; + return rbuf->rb_els[i]; +} + + +static void * +ringbuf_advance_tail (struct lsqpack_ringbuf *rbuf) +{ + void *el; + + el = rbuf->rb_els[rbuf->rb_tail]; + rbuf->rb_tail = (rbuf->rb_tail + 1) % rbuf->rb_nalloc; + return el; +} + + +static int +ringbuf_add (struct lsqpack_ringbuf *rbuf, void *el) +{ + void **els; + unsigned count; + + if (!ringbuf_full(rbuf)) + { + insert: + rbuf->rb_els[ rbuf->rb_head ] = el; + rbuf->rb_head = (rbuf->rb_head + 1) % rbuf->rb_nalloc; + return 0; + } + + if (rbuf->rb_nalloc) + { + els = malloc(rbuf->rb_nalloc * 2 * sizeof(rbuf->rb_els[0])); + if (els) + { + if (rbuf->rb_head >= rbuf->rb_tail) + { + count = rbuf->rb_head - rbuf->rb_tail + 1; + memcpy(els, rbuf->rb_els + rbuf->rb_tail, + count * sizeof(rbuf->rb_els[0])); + rbuf->rb_tail = 0; + rbuf->rb_head = count - 1; + } + else + { + memcpy(els, rbuf->rb_els, + (rbuf->rb_head + 1) * sizeof(rbuf->rb_els[0])); + memcpy(els + rbuf->rb_nalloc + rbuf->rb_tail, + rbuf->rb_els + rbuf->rb_tail, + (rbuf->rb_nalloc - rbuf->rb_tail) + * sizeof(rbuf->rb_els[0])); + rbuf->rb_tail += rbuf->rb_nalloc; + + } + free(rbuf->rb_els); + rbuf->rb_els = els; + rbuf->rb_nalloc *= 2; + goto insert; + } + return -1; + } + else + { + /* First time */ + rbuf->rb_els = malloc(4 * sizeof(rbuf->rb_els[0])); + if (rbuf->rb_els) + { + rbuf->rb_nalloc = 4; + goto insert; + } + return -1; + } +} + + +#define ID_MINUS(a, b) ( (dec)->qpd_max_entries ? \ + ((a) + (dec)->qpd_max_entries * 2 - (b)) % ((dec)->qpd_max_entries * 2) : 0) + +#define ID_PLUS(a, b) ( (dec)->qpd_max_entries ? \ + ((a) + (b)) % ((dec)->qpd_max_entries * 2) : 0 ) + +static struct lsqpack_dec_table_entry * +qdec_get_table_entry_rel (const struct lsqpack_dec *dec, + lsqpack_abs_id_t relative_idx) +{ + ++relative_idx; + if (ringbuf_count(&dec->qpd_dyn_table) >= relative_idx) + return ringbuf_get_head(&dec->qpd_dyn_table, relative_idx); + else + return NULL; +} + + +static struct lsqpack_dec_table_entry * +qdec_get_table_entry_abs (const struct lsqpack_dec *dec, + lsqpack_abs_id_t abs_idx) +{ + unsigned off; + + off = ID_MINUS(dec->qpd_last_id, abs_idx); + return qdec_get_table_entry_rel(dec, off); +} + + +void +lsqpack_dec_init (struct lsqpack_dec *dec, void *logger_ctx, + unsigned dyn_table_size, unsigned max_risked_streams, + const struct lsqpack_dec_hset_if *dh_if, enum lsqpack_dec_opts opts) +{ + unsigned i; + memset(dec, 0, sizeof(*dec)); + dec->qpd_opts = opts; + dec->qpd_logger_ctx = logger_ctx; + dec->qpd_max_capacity = dyn_table_size; + dec->qpd_cur_max_capacity = dyn_table_size; + dec->qpd_max_entries = dec->qpd_max_capacity / DYNAMIC_ENTRY_OVERHEAD; + dec->qpd_last_id = dec->qpd_max_entries * 2 - 1; + dec->qpd_largest_known_id = dec->qpd_max_entries * 2 - 1; + dec->qpd_max_risked_streams = max_risked_streams; + dec->qpd_dh_if = dh_if; + TAILQ_INIT(&dec->qpd_hbrcs); + for (i = 0; i < (1 << LSQPACK_DEC_BLOCKED_BITS); ++i) + TAILQ_INIT(&dec->qpd_blocked_headers[i]); + D_DEBUG("initialized. max capacity=%u; max risked streams=%u", + dec->qpd_max_capacity, dec->qpd_max_risked_streams); +} + + +static void +qdec_decref_entry (struct lsqpack_dec_table_entry *entry) +{ + --entry->dte_refcnt; + if (0 == entry->dte_refcnt) + free(entry); +} + + +enum { + DEI_NEXT_INST, + DEI_WINR_READ_NAME_IDX, + DEI_WINR_BEGIN_READ_VAL_LEN, + DEI_WINR_READ_VAL_LEN, + DEI_WINR_READ_VALUE_PLAIN, + DEI_WINR_READ_VALUE_HUFFMAN, + DEI_DUP_READ_IDX, + DEI_SIZE_UPD_READ_IDX, + DEI_WONR_READ_NAME_LEN, + DEI_WONR_READ_NAME_HUFFMAN, + DEI_WONR_READ_NAME_PLAIN, + DEI_WONR_BEGIN_READ_VAL_LEN, + DEI_WONR_READ_VAL_LEN, + DEI_WONR_READ_VALUE_HUFFMAN, + DEI_WONR_READ_VALUE_PLAIN, +}; + +struct header_block_read_ctx +{ + TAILQ_ENTRY(header_block_read_ctx) hbrc_next_all, + hbrc_next_blocked; + void *hbrc_hblock; + uint64_t hbrc_stream_id; + size_t hbrc_orig_size; /* To report error offset */ + size_t hbrc_size; + lsqpack_abs_id_t hbrc_largest_ref; /* Parsed from prefix */ + lsqpack_abs_id_t hbrc_base_index; /* Parsed from prefix */ + unsigned hbrc_header_count; + + struct { + struct lsxpack_header *xhdr; /* Current header */ + enum { + XOUT_NAME, /* Writing name */ + XOUT_VALUE, /* Writing value */ + } state; + unsigned off; /* How much has been written */ + } hbrc_out; + + /* There are two parsing phases: reading the prefix and reading the + * instruction stream. + */ + enum lsqpack_read_header_status (*hbrc_parse) (struct lsqpack_dec *, + struct header_block_read_ctx *, const unsigned char *, size_t); + + enum { + HBRC_LARGEST_REF_READ = 1 << 0, + HBRC_LARGEST_REF_SET = 1 << 1, /* hbrc_largest_ref is an actual ID */ + HBRC_BLOCKED = 1 << 2, + HBRC_DINST = 1 << 3, + HBRC_ON_LIST = 1 << 4, +#define LARGEST_USED_SHIFT 5 + HBRC_LARGEST_REF_USED = 1 << LARGEST_USED_SHIFT, + HBRC_DYN_USED_IN_ERR = 1 << 6, + } hbrc_flags; + + struct hbrc_buf { + const unsigned char *buf; + size_t sz; + size_t off; + } hbrc_buf; + + union { + struct { + enum { + PREFIX_STATE_BEGIN_READING_LARGEST_REF, + PREFIX_STATE_READ_LARGEST_REF, + PREFIX_STATE_BEGIN_READING_BASE_IDX, + PREFIX_STATE_READ_DELTA_BASE_IDX, + } state; + union { + /* Required Insert Count */ + struct { + struct lsqpack_dec_int_state dec_int_state; + uint64_t value; + } ric; + /* Delta Base */ + struct { + struct lsqpack_dec_int_state dec_int_state; + uint64_t value; + int sign; + } delb; + } u; + } prefix; + struct { + enum { + DATA_STATE_NEXT_INSTRUCTION, + DATA_STATE_READ_IHF_IDX, + DATA_STATE_READ_IPBI_IDX, + DATA_STATE_READ_LFINR_IDX, + DATA_STATE_BEGIN_READ_VAL_LEN, + DATA_STATE_READ_VAL_LEN, + DATA_STATE_READ_VAL_HUFFMAN, + DATA_STATE_READ_VAL_PLAIN, + DATA_STATE_READ_LFONR_NAME_LEN, + DATA_STATE_READ_NAME_HUFFMAN, + DATA_STATE_READ_NAME_PLAIN, + DATA_STATE_READ_LFPBNR_IDX, + DATA_STATE_BEGIN_READ_LFPBNR_VAL_LEN, + DATA_STATE_READ_LFPBNR_VAL_LEN, + } state; + + /* We decode one string at a time, header name or header value. */ + unsigned left; /* Left to read */ + int is_static; + int is_never; + int is_huffman; + struct lsqpack_dec_int_state dec_int_state; + struct lsqpack_huff_decode_state dec_huff_state; + } data; + } hbrc_parse_ctx_u; +}; + + +static enum lsqpack_read_header_status +parse_header_data (struct lsqpack_dec *, + struct header_block_read_ctx *, const unsigned char *, size_t); + + +float +lsqpack_dec_ratio (const struct lsqpack_dec *dec) +{ + float ratio; + + if (dec->qpd_bytes_out) + { + ratio = (float) dec->qpd_bytes_in / (float) dec->qpd_bytes_out; + D_DEBUG("bytes in: %u; bytes out: %u, ratio: %.3f", + dec->qpd_bytes_out, dec->qpd_bytes_in, ratio); + return ratio; + } + else + return 0; +} + + +void +lsqpack_dec_cleanup (struct lsqpack_dec *dec) +{ + struct lsqpack_dec_table_entry *entry; + struct header_block_read_ctx *read_ctx, *next_read_ctx; + + for (read_ctx = TAILQ_FIRST(&dec->qpd_hbrcs); read_ctx; + read_ctx = next_read_ctx) + { + next_read_ctx = TAILQ_NEXT(read_ctx, hbrc_next_all); + free(read_ctx); + } + + if (dec->qpd_enc_state.resume >= DEI_WINR_READ_NAME_IDX + && dec->qpd_enc_state.resume <= DEI_WINR_READ_VALUE_HUFFMAN) + { + if (dec->qpd_enc_state.ctx_u.with_namref.entry) + free(dec->qpd_enc_state.ctx_u.with_namref.entry); + } + else if (dec->qpd_enc_state.resume >= DEI_WONR_READ_NAME_LEN + && dec->qpd_enc_state.resume <= DEI_WONR_READ_VALUE_PLAIN) + { + if (dec->qpd_enc_state.ctx_u.wo_namref.entry) + free(dec->qpd_enc_state.ctx_u.wo_namref.entry); + } + + while (!ringbuf_empty(&dec->qpd_dyn_table)) + { + entry = ringbuf_advance_tail(&dec->qpd_dyn_table); + qdec_decref_entry(entry); + } + ringbuf_cleanup(&dec->qpd_dyn_table); + D_DEBUG("cleaned up"); +} + + +static void +qdec_maybe_update_entry_hashes (const struct lsqpack_dec *dec, + struct lsqpack_dec_table_entry *entry) +{ + if ((dec->qpd_opts & (LSQPACK_DEC_OPT_HASH_NAME + |LSQPACK_DEC_OPT_HASH_NAMEVAL)) + && !(entry->dte_flags & DTEF_NAME_HASH)) + { + entry->dte_flags |= DTEF_NAME_HASH; + entry->dte_name_hash = XXH32(DTE_NAME(entry), entry->dte_name_len, + LSQPACK_XXH_SEED); + } + if ((dec->qpd_opts & LSQPACK_DEC_OPT_HASH_NAMEVAL) + && !(entry->dte_flags & DTEF_NAMEVAL_HASH)) + { + assert(entry->dte_flags & DTEF_NAME_HASH); + entry->dte_flags |= DTEF_NAMEVAL_HASH; + entry->dte_nameval_hash = XXH32(DTE_VALUE(entry), entry->dte_val_len, + entry->dte_name_hash); + } +} + + +static int +header_out_static_entry (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, uint64_t idx) +{ + struct lsxpack_header *xhdr; + size_t need, http1x; + char *dst; + int r; + + if (idx >= QPACK_STATIC_TABLE_SIZE) + return -1; + + http1x = !!(dec->qpd_opts & LSQPACK_DEC_OPT_HTTP1X) << 2; /* 0 or 4 */ + need = static_table[ idx ].name_len + static_table[ idx ].val_len + http1x; + xhdr = dec->qpd_dh_if->dhi_prepare_decode(read_ctx->hbrc_hblock, NULL, + need); + if (!xhdr) + return -1; + + xhdr->dec_overhead = (uint8_t)http1x; + xhdr->qpack_index = (uint8_t)idx; + xhdr->flags |= LSXPACK_VAL_MATCHED | LSXPACK_QPACK_IDX + | LSXPACK_NAME_HASH | LSXPACK_NAMEVAL_HASH; + xhdr->name_len = (lsxpack_strlen_t)static_table[ idx ].name_len; + xhdr->val_len = (lsxpack_strlen_t)(static_table[ idx ].val_len); + xhdr->name_hash = name_hashes[ idx ]; + xhdr->nameval_hash = nameval_hashes[ idx ]; + dst = xhdr->buf + xhdr->name_offset; + memcpy(dst, static_table[ idx ].name, static_table[ idx ].name_len); + dst += static_table[ idx ].name_len; + if (http1x) + { + memcpy(dst, ": ", 2); + dst += 2; + } + xhdr->val_offset = (lsxpack_offset_t)(dst - xhdr->buf); + memcpy(dst, static_table[ idx ].val, static_table[ idx ].val_len); + dst += static_table[ idx ].val_len; + if (http1x) + memcpy(dst, "\r\n", 2); + r = dec->qpd_dh_if->dhi_process_header(read_ctx->hbrc_hblock, xhdr); + if (r == 0) + dec->qpd_bytes_out += static_table[ idx ].name_len + + static_table[ idx ].val_len; + return r; +} + + +static int +header_out_dynamic_entry (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, lsqpack_abs_id_t idx) +{ + struct lsqpack_dec_table_entry *entry; + struct lsxpack_header *xhdr; + size_t need, http1x; + char *dst; + int r; + + entry = qdec_get_table_entry_abs(dec, idx); + if (!entry) + return -1; + + http1x = !!(dec->qpd_opts & LSQPACK_DEC_OPT_HTTP1X) << 2; /* 0 or 4 */ + need = entry->dte_name_len + entry->dte_val_len + http1x; + xhdr = dec->qpd_dh_if->dhi_prepare_decode(read_ctx->hbrc_hblock, NULL, + need); + if (!xhdr) + return -1; + + qdec_maybe_update_entry_hashes(dec, entry); + if (entry->dte_flags & DTEF_NAME_HASH) + { + xhdr->flags |= LSXPACK_NAME_HASH; + xhdr->name_hash = entry->dte_name_hash; + } + if (entry->dte_flags & DTEF_NAMEVAL_HASH) + { + xhdr->flags |= LSXPACK_NAMEVAL_HASH; + xhdr->nameval_hash = entry->dte_nameval_hash; + } + if (entry->dte_flags & DTEF_NAME_IDX) + { + xhdr->flags |= LSXPACK_QPACK_IDX; + xhdr->qpack_index = (uint8_t)entry->dte_name_idx; + } + xhdr->dec_overhead = (uint8_t)http1x; + xhdr->name_len = (lsxpack_strlen_t)entry->dte_name_len; + xhdr->val_len = (lsxpack_strlen_t)entry->dte_val_len; + dst = xhdr->buf + xhdr->name_offset; + memcpy(dst, DTE_NAME(entry), entry->dte_name_len); + dst += entry->dte_name_len; + if (http1x) + { + memcpy(dst, ": ", 2); + dst += 2; + } + xhdr->val_offset = (lsxpack_offset_t)(dst - xhdr->buf); + memcpy(dst, DTE_VALUE(entry), entry->dte_val_len); + dst += entry->dte_val_len; + if (http1x) + memcpy(dst, "\r\n", 2); + r = dec->qpd_dh_if->dhi_process_header(read_ctx->hbrc_hblock, xhdr); + if (r == 0) + dec->qpd_bytes_out += entry->dte_name_len + entry->dte_val_len; + return r; +} + + +static int +header_out_begin_static_nameref (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, unsigned idx, int is_never) +{ + struct lsxpack_header *xhdr; /* Shorthand */ + size_t need, http1x; + char *dst; + + assert(!read_ctx->hbrc_out.xhdr); + + if (idx >= QPACK_STATIC_TABLE_SIZE) + return -1; + + http1x = !!(dec->qpd_opts & LSQPACK_DEC_OPT_HTTP1X) << 2; /* 0 or 4 */ + need = static_table[ idx ].name_len + http1x; + read_ctx->hbrc_out.xhdr = xhdr = dec->qpd_dh_if->dhi_prepare_decode( + read_ctx->hbrc_hblock, NULL, need); + if (!xhdr) + return -1; + + xhdr->dec_overhead = (uint8_t)http1x; + xhdr->qpack_index = (uint8_t)idx; + xhdr->flags |= LSXPACK_QPACK_IDX | LSXPACK_NAME_HASH; + xhdr->name_hash = name_hashes[ idx ]; + if (is_never) + xhdr->flags |= LSXPACK_NEVER_INDEX; + xhdr->name_len = (lsxpack_strlen_t)(static_table[ idx ].name_len); + dst = xhdr->buf + xhdr->name_offset; + memcpy(dst, static_table[ idx ].name, static_table[ idx ].name_len); + dst += static_table[ idx ].name_len; + if (http1x) + { + memcpy(dst, ": ", 2); + dst += 2; + } + xhdr->val_offset = (lsxpack_offset_t)(dst - xhdr->buf); + read_ctx->hbrc_out.state = XOUT_VALUE; + read_ctx->hbrc_out.off = 0; + return 0; +} + + +static int +header_out_begin_dynamic_nameref (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, + struct lsqpack_dec_table_entry *entry, int is_never) +{ + struct lsxpack_header *xhdr; /* Shorthand */ + size_t need, http1x; + char *dst; + + assert(!read_ctx->hbrc_out.xhdr); + + http1x = !!(dec->qpd_opts & LSQPACK_DEC_OPT_HTTP1X) << 2; /* 0 or 4 */ + need = entry->dte_name_len + http1x; + read_ctx->hbrc_out.xhdr = xhdr = dec->qpd_dh_if->dhi_prepare_decode( + read_ctx->hbrc_hblock, NULL, need); + if (!xhdr) + return -1; + + xhdr->dec_overhead = (uint8_t)http1x; + if (is_never) + xhdr->flags |= LSXPACK_NEVER_INDEX; + qdec_maybe_update_entry_hashes(dec, entry); + if (entry->dte_flags & DTEF_NAME_HASH) + { + xhdr->flags |= LSXPACK_NAME_HASH; + xhdr->name_hash = entry->dte_name_hash; + } + if (entry->dte_flags & DTEF_NAME_IDX) + { + xhdr->flags |= LSXPACK_QPACK_IDX; + xhdr->qpack_index = (uint8_t)entry->dte_name_idx; + } + xhdr->name_len = (lsxpack_strlen_t)entry->dte_name_len; + dst = xhdr->buf + xhdr->name_offset; + memcpy(dst, DTE_NAME(entry), entry->dte_name_len); + dst += entry->dte_name_len; + if (http1x) + { + memcpy(dst, ": ", 2); + dst += 2; + } + xhdr->val_offset = (lsxpack_offset_t)(dst - xhdr->buf); + read_ctx->hbrc_out.state = XOUT_VALUE; + read_ctx->hbrc_out.off = 0; + return 0; +} + + +static int +header_out_begin_literal (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, size_t need, int is_never) +{ + struct lsxpack_header *xhdr; /* Shorthand */ + size_t http1x; + + assert(!read_ctx->hbrc_out.xhdr); + + http1x = !!(dec->qpd_opts & LSQPACK_DEC_OPT_HTTP1X) << 2; /* 0 or 4 */ + need += http1x; + read_ctx->hbrc_out.xhdr = xhdr = dec->qpd_dh_if->dhi_prepare_decode( + read_ctx->hbrc_hblock, NULL, need); + if (!xhdr) + return -1; + + xhdr->dec_overhead = (uint8_t)http1x; + if (is_never) + xhdr->flags |= LSXPACK_NEVER_INDEX; + read_ctx->hbrc_out.state = XOUT_NAME; + read_ctx->hbrc_out.off = 0; + return 0; +} + + +static int +header_out_write_name (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, size_t nwritten, int done) +{ + struct lsxpack_header *xhdr; /* Shorthand */ + + read_ctx->hbrc_out.off += (unsigned)nwritten; + + if (done) + { + xhdr = read_ctx->hbrc_out.xhdr; + if (dec->qpd_opts & LSQPACK_DEC_OPT_HTTP1X) + { + if (read_ctx->hbrc_out.off + 2 > xhdr->val_len) + { + read_ctx->hbrc_out.xhdr = xhdr = dec->qpd_dh_if + ->dhi_prepare_decode(read_ctx->hbrc_hblock, xhdr, + read_ctx->hbrc_out.off + 2); + if (!xhdr) + return -1; + } + memcpy(xhdr->buf + xhdr->name_offset + read_ctx->hbrc_out.off, + ": ", 2); + xhdr->val_offset = (lsxpack_offset_t)(xhdr->name_offset + read_ctx->hbrc_out.off + 2); + } + else + xhdr->val_offset = (lsxpack_offset_t)(xhdr->name_offset + read_ctx->hbrc_out.off); + xhdr->name_len = (lsxpack_strlen_t)read_ctx->hbrc_out.off; + read_ctx->hbrc_out.state = XOUT_VALUE; + read_ctx->hbrc_out.off = 0; + if (dec->qpd_opts & (LSQPACK_DEC_OPT_HASH_NAME + |LSQPACK_DEC_OPT_HASH_NAMEVAL)) + { + xhdr->name_hash = XXH32(xhdr->buf + xhdr->name_offset, + xhdr->name_len, LSQPACK_XXH_SEED); + xhdr->flags |= LSXPACK_NAME_HASH; + } + } + + return 0; +} + + +static int +header_out_write_value (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, size_t nwritten, int done) +{ + struct lsxpack_header *xhdr; /* Shorthand */ + int r; + + read_ctx->hbrc_out.off += (unsigned)nwritten; + + if (done) + { + xhdr = read_ctx->hbrc_out.xhdr; + if (dec->qpd_opts & LSQPACK_DEC_OPT_HTTP1X) + { + if (xhdr->val_offset + read_ctx->hbrc_out.off + 2 > xhdr->val_len) + { + read_ctx->hbrc_out.xhdr = xhdr = dec->qpd_dh_if + ->dhi_prepare_decode(read_ctx->hbrc_hblock, xhdr, + xhdr->val_offset + read_ctx->hbrc_out.off + 2); + if (!xhdr) + return -1; + } + memcpy(xhdr->buf + xhdr->val_offset + read_ctx->hbrc_out.off, + "\r\n", 2); + } + xhdr->val_len = (lsxpack_strlen_t)read_ctx->hbrc_out.off; + if (dec->qpd_opts & LSQPACK_DEC_OPT_HASH_NAME) + { + assert(xhdr->flags & LSXPACK_NAME_HASH); + xhdr->nameval_hash = XXH32(xhdr->buf + xhdr->val_offset, + xhdr->val_len, xhdr->name_hash); + xhdr->flags |= LSXPACK_NAMEVAL_HASH; + } + r = dec->qpd_dh_if->dhi_process_header(read_ctx->hbrc_hblock, xhdr); + if (r == 0) + dec->qpd_bytes_out += xhdr->name_len + xhdr->val_len; + ++read_ctx->hbrc_header_count; + memset(&read_ctx->hbrc_out, 0, sizeof(read_ctx->hbrc_out)); + if (r != 0) + return -1; + } + + return 0; +} + + +static int +header_out_grow_buf (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx) +{ + size_t size, need; + unsigned off; + + assert(read_ctx->hbrc_out.xhdr); + if (read_ctx->hbrc_out.state == XOUT_NAME) + off = read_ctx->hbrc_out.off; + else + off = read_ctx->hbrc_out.xhdr->val_offset + - read_ctx->hbrc_out.xhdr->name_offset + read_ctx->hbrc_out.off; + + /* name_off and val_off are not set until the whole string has been + * written. Thus, `size' represents the number of bytes that was + * not enough to write either the name or the value. We multiply this + * number by 1.5. + */ + assert(read_ctx->hbrc_out.xhdr->val_len >= off); + size = read_ctx->hbrc_out.xhdr->val_len - off; + if (size < 2) + size = 2; + need = read_ctx->hbrc_out.xhdr->val_len + size / 2; + if (need > LSXPACK_MAX_STRLEN) + return -1; + read_ctx->hbrc_out.xhdr = dec->qpd_dh_if->dhi_prepare_decode( + read_ctx->hbrc_hblock, read_ctx->hbrc_out.xhdr, need); + if (!read_ctx->hbrc_out.xhdr) + return -1; + if (read_ctx->hbrc_out.xhdr->val_len < need) + { + D_INFO("allocated xhdr size (%zd) is smaller than requested (%zd)", + (size_t) read_ctx->hbrc_out.xhdr->val_len, need); + memset(&read_ctx->hbrc_out, 0, sizeof(read_ctx->hbrc_out)); + return -1; + } + return 0; +} + + +static int +guarantee_out_bytes (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, size_t extra) +{ + size_t avail, need; + unsigned off; + + assert(read_ctx->hbrc_out.xhdr); + assert(read_ctx->hbrc_out.state == XOUT_VALUE); + assert(read_ctx->hbrc_out.xhdr->val_offset + >= read_ctx->hbrc_out.xhdr->name_offset); + off = read_ctx->hbrc_out.xhdr->val_offset + - read_ctx->hbrc_out.xhdr->name_offset + read_ctx->hbrc_out.off; + + assert(read_ctx->hbrc_out.xhdr->val_len >= off); + avail = read_ctx->hbrc_out.xhdr->val_len - off; + if (avail < extra) + { + need = read_ctx->hbrc_out.xhdr->val_len + extra - avail; + read_ctx->hbrc_out.xhdr = dec->qpd_dh_if->dhi_prepare_decode( + read_ctx->hbrc_hblock, read_ctx->hbrc_out.xhdr, need); + if (!read_ctx->hbrc_out.xhdr) + return -1; + } + return 0; +} + + +static unsigned char * +get_dst (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, size_t *dst_size) +{ + unsigned off; + + assert(read_ctx->hbrc_out.xhdr); + if (read_ctx->hbrc_out.state == XOUT_NAME) + off = read_ctx->hbrc_out.off; + else + off = read_ctx->hbrc_out.xhdr->val_offset + - read_ctx->hbrc_out.xhdr->name_offset + read_ctx->hbrc_out.off; + + assert(read_ctx->hbrc_out.xhdr->val_len >= off); + *dst_size = read_ctx->hbrc_out.xhdr->val_len - off; + return (unsigned char *) read_ctx->hbrc_out.xhdr->buf + + read_ctx->hbrc_out.xhdr->name_offset + off; +} + + +static unsigned char * +qdec_huff_dec4bits (uint8_t, unsigned char *, struct lsqpack_decode_status *); + + +struct huff_decode_retval +{ + enum + { + HUFF_DEC_OK, + HUFF_DEC_END_SRC, + HUFF_DEC_END_DST, + HUFF_DEC_ERROR, + } status; + unsigned n_dst; + unsigned n_src; +}; + + +#if LS_QPACK_USE_LARGE_TABLES +static struct huff_decode_retval +huff_decode_fast (const unsigned char *src, int src_len, + unsigned char *dst, int dst_len, + struct lsqpack_huff_decode_state *state, int final); +#else +#define lsqpack_huff_decode_full lsqpack_huff_decode +#endif + +struct huff_decode_retval +lsqpack_huff_decode_full (const unsigned char *src, int src_len, + unsigned char *dst, int dst_len, + struct lsqpack_huff_decode_state *state, int final) +{ + const unsigned char *p_src = src; + const unsigned char *const src_end = src + src_len; + unsigned char *p_dst = dst; + unsigned char *dst_end = dst + dst_len; + + if (dst_len == 0) + return (struct huff_decode_retval) { + .status = HUFF_DEC_END_DST, + .n_dst = 0, + .n_src = 0, + }; + + switch (state->resume) + { + case 0: + state->status.state = 0; + state->status.eos = 1; + FALL_THROUGH; + case 1: + while (p_src != src_end) + { + if (p_dst == dst_end) + { + state->resume = 2; + return (const struct huff_decode_retval) { + .status = HUFF_DEC_END_DST, + .n_dst = (unsigned)dst_len, + .n_src = (unsigned)(p_src - src), + }; + } + FALL_THROUGH; + case 2: + if ((p_dst = qdec_huff_dec4bits(*p_src >> 4, p_dst, &state->status)) + == NULL) + return (struct huff_decode_retval) { + .status = HUFF_DEC_ERROR, }; + if (p_dst == dst_end) + { + state->resume = 3; + return (struct huff_decode_retval) { + .status = HUFF_DEC_END_DST, + .n_dst = (unsigned)dst_len, + .n_src = (unsigned)(p_src - src), + }; + } + FALL_THROUGH; + case 3: + if ((p_dst = qdec_huff_dec4bits(*p_src & 0xf, p_dst, &state->status)) + == NULL) + return (struct huff_decode_retval) { .status = HUFF_DEC_ERROR, }; + ++p_src; + } + } + + if (final) + return (struct huff_decode_retval) { + .status = state->status.eos ? HUFF_DEC_OK : HUFF_DEC_ERROR, + .n_dst = (unsigned)(p_dst - dst), + .n_src = (unsigned)(p_src - src), + }; + else + { + state->resume = 1; + return (struct huff_decode_retval) { + .status = HUFF_DEC_END_SRC, + .n_dst = (unsigned)(p_dst - dst), + .n_src = (unsigned)(p_src - src), + }; + } +} + + +#if LS_QPACK_USE_LARGE_TABLES +static struct huff_decode_retval +lsqpack_huff_decode (const unsigned char *src, int src_len, + unsigned char *dst, int dst_len, + struct lsqpack_huff_decode_state *state, int final) +{ + if (state->resume == 0 && final) + return huff_decode_fast(src, src_len, dst, dst_len, state, final); + else + return lsqpack_huff_decode_full(src, src_len, dst, dst_len, state, + final); +} +#endif + + +static void +check_dyn_table_errors (struct header_block_read_ctx *read_ctx, + lsqpack_abs_id_t id) +{ + if (read_ctx->hbrc_flags & HBRC_LARGEST_REF_SET) + read_ctx->hbrc_flags |= + (id == read_ctx->hbrc_largest_ref) << LARGEST_USED_SHIFT; + else + read_ctx->hbrc_flags |= HBRC_DYN_USED_IN_ERR; +} + + +static enum lsqpack_read_header_status +parse_header_data (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, const unsigned char *buf, + size_t bufsz) +{ +#define DATA read_ctx->hbrc_parse_ctx_u.data + const unsigned char *const end = buf + bufsz; + struct lsqpack_dec_table_entry *entry; + struct huff_decode_retval hdr; + unsigned value; + size_t size, dst_size; + unsigned char *dst; + unsigned prefix_bits = ~0u; + int r; + +#define RETURN_ERROR() do { dec->qpd_err.line = __LINE__; goto err; } while (0) + + while (buf < end) + { + switch (DATA.state) + { + case DATA_STATE_NEXT_INSTRUCTION: + if (buf[0] & 0x80) + { + prefix_bits = 6; + DATA.is_static = buf[0] & 0x40; + DATA.dec_int_state.resume = 0; + DATA.state = DATA_STATE_READ_IHF_IDX; + goto data_state_read_ihf_idx; + } + /* Literal Header Field With Name Reference */ + else if (buf[0] & 0x40) + { + prefix_bits = 4; + DATA.is_never = buf[0] & 0x20; + DATA.is_static = buf[0] & 0x10; + DATA.dec_int_state.resume = 0; + DATA.state = DATA_STATE_READ_LFINR_IDX; + goto data_state_read_lfinr_idx; + } + /* Literal Header Field Without Name Reference */ + else if (buf[0] & 0x20) + { + prefix_bits = 3; + DATA.is_never = buf[0] & 0x10; + DATA.is_huffman = buf[0] & 0x08; + DATA.dec_int_state.resume = 0; + DATA.state = DATA_STATE_READ_LFONR_NAME_LEN; + goto data_state_read_lfonr_name_len; + } + /* Indexed Header Field With Post-Base Index */ + else if (buf[0] & 0x10) + { + prefix_bits = 4; + DATA.dec_int_state.resume = 0; + DATA.state = DATA_STATE_READ_IPBI_IDX; + goto data_state_read_ipbi_idx; + } + /* Literal Header Field With Post-Base Name Reference */ + else + { + prefix_bits = 3; + DATA.is_never = buf[0] & 0x08; + DATA.dec_int_state.resume = 0; + DATA.state = DATA_STATE_READ_LFPBNR_IDX; + goto data_state_read_lfpbnr_idx; + } + case DATA_STATE_READ_IHF_IDX: + data_state_read_ihf_idx: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &value, + &DATA.dec_int_state); + if (r == 0) + { + if (DATA.is_static) + r = header_out_static_entry(dec, read_ctx, value); + else + { + value = ID_MINUS(read_ctx->hbrc_base_index, value); + r = header_out_dynamic_entry(dec, read_ctx, value); + check_dyn_table_errors(read_ctx, value); + } + if (r == 0) + DATA.state = DATA_STATE_NEXT_INSTRUCTION; + else + RETURN_ERROR(); + } + else if (r == -1) + return LQRHS_NEED; + else + RETURN_ERROR(); + break; + case DATA_STATE_READ_LFINR_IDX: + data_state_read_lfinr_idx: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &value, + &DATA.dec_int_state); + if (r == 0) + { + if (DATA.is_static) + { + if (0 != header_out_begin_static_nameref(dec, + read_ctx, value, DATA.is_never)) + RETURN_ERROR(); + } + else + { + value = ID_MINUS(read_ctx->hbrc_base_index, value); + entry = qdec_get_table_entry_abs(dec, value); + if (!entry) + RETURN_ERROR(); + check_dyn_table_errors(read_ctx, value); + if (0 != header_out_begin_dynamic_nameref(dec, + read_ctx, entry, DATA.is_never)) + RETURN_ERROR(); + } + DATA.state = DATA_STATE_BEGIN_READ_VAL_LEN; + break; + } + else if (r == -1) + return LQRHS_NEED; + else + RETURN_ERROR(); + case DATA_STATE_BEGIN_READ_VAL_LEN: + DATA.is_huffman = buf[0] & 0x80; + prefix_bits = 7; + DATA.dec_int_state.resume = 0; + DATA.state = DATA_STATE_READ_VAL_LEN; + FALL_THROUGH; + case DATA_STATE_READ_VAL_LEN: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &DATA.left, + &DATA.dec_int_state); + if (r == 0) + { + if (DATA.left) + { + if (DATA.is_huffman) + { + if (0 != guarantee_out_bytes(dec, read_ctx, + DATA.left + DATA.left / 2)) + RETURN_ERROR(); + DATA.dec_huff_state.resume = 0; + DATA.state = DATA_STATE_READ_VAL_HUFFMAN; + } + else + { + if (0 != guarantee_out_bytes(dec, read_ctx, DATA.left)) + RETURN_ERROR(); + DATA.state = DATA_STATE_READ_VAL_PLAIN; + } + } + else if (0 == header_out_write_value(dec, read_ctx, 0, 1)) + DATA.state = DATA_STATE_NEXT_INSTRUCTION; + else + RETURN_ERROR(); + } + else if (r == -1) + return LQRHS_NEED; + else + RETURN_ERROR(); + break; + case DATA_STATE_READ_VAL_HUFFMAN: + size = MIN((unsigned) (end - buf), DATA.left); + if (size == 0) + RETURN_ERROR(); + dst = get_dst(dec, read_ctx, &dst_size); + hdr = lsqpack_huff_decode(buf, (int)size, dst, (int)dst_size, + &DATA.dec_huff_state, DATA.left == size); + buf += hdr.n_src; + DATA.left -= hdr.n_src; + switch (hdr.status) + { + case HUFF_DEC_OK: + if (0 != header_out_write_value(dec, read_ctx, hdr.n_dst, + DATA.left == 0)) + RETURN_ERROR(); + if (DATA.left == 0) + DATA.state = DATA_STATE_NEXT_INSTRUCTION; + break; + case HUFF_DEC_END_SRC: + if (hdr.n_dst && 0 != header_out_write_value(dec, read_ctx, + hdr.n_dst, 0)) + RETURN_ERROR(); + break; + case HUFF_DEC_END_DST: + if (hdr.n_dst && 0 != header_out_write_value(dec, read_ctx, + hdr.n_dst, 0)) + RETURN_ERROR(); + if (0 != header_out_grow_buf(dec, read_ctx)) + RETURN_ERROR(); + break; + case HUFF_DEC_ERROR: default: + RETURN_ERROR(); + } + break; + case DATA_STATE_READ_VAL_PLAIN: + size = MIN((unsigned) (end - buf), DATA.left); + if (size == 0) + RETURN_ERROR(); + dst = get_dst(dec, read_ctx, &dst_size); + if (size > dst_size) + RETURN_ERROR(); + memcpy(dst, buf, size); + if (0 != header_out_write_value(dec, read_ctx, + size, DATA.left == size)) + RETURN_ERROR(); + DATA.left -= (unsigned)size; + buf += size; + if (DATA.left == 0) + DATA.state = DATA_STATE_NEXT_INSTRUCTION; + break; + case DATA_STATE_READ_LFONR_NAME_LEN: + data_state_read_lfonr_name_len: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &DATA.left, + &DATA.dec_int_state); + if (r == 0) + { + size = DATA.is_huffman ? DATA.left + DATA.left / 2 : DATA.left; + if (0 != header_out_begin_literal(dec, read_ctx, size, + DATA.is_never)) + RETURN_ERROR(); + if (DATA.is_huffman) + { + DATA.dec_huff_state.resume = 0; + DATA.state = DATA_STATE_READ_NAME_HUFFMAN; + } + else + DATA.state = DATA_STATE_READ_NAME_PLAIN; + } + else if (r == -1) + return LQRHS_NEED; + else + RETURN_ERROR(); + break; + case DATA_STATE_READ_NAME_HUFFMAN: + size = MIN((unsigned) (end - buf), DATA.left); + if (size == 0) + RETURN_ERROR(); + dst = get_dst(dec, read_ctx, &dst_size); + hdr = lsqpack_huff_decode(buf, (int)size, dst, (int)dst_size, + &DATA.dec_huff_state, DATA.left == size); + buf += hdr.n_src; + DATA.left -= hdr.n_src; + switch (hdr.status) + { + case HUFF_DEC_OK: + if (0 != header_out_write_name(dec, read_ctx, hdr.n_dst, + DATA.left == 0)) + RETURN_ERROR(); + if (DATA.left == 0) + DATA.state = DATA_STATE_BEGIN_READ_VAL_LEN; + break; + case HUFF_DEC_END_SRC: + if (hdr.n_dst && 0 != header_out_write_name(dec, read_ctx, + hdr.n_dst, 0)) + RETURN_ERROR(); + break; + case HUFF_DEC_END_DST: + if (hdr.n_dst && 0 != header_out_write_name(dec, read_ctx, + hdr.n_dst, 0)) + RETURN_ERROR(); + if (0 != header_out_grow_buf(dec, read_ctx)) + RETURN_ERROR(); + break; + case HUFF_DEC_ERROR: default: + RETURN_ERROR(); + } + break; + case DATA_STATE_READ_NAME_PLAIN: + size = MIN((unsigned) (end - buf), DATA.left); + if (size == 0) + RETURN_ERROR(); + dst = get_dst(dec, read_ctx, &dst_size); + if (size > dst_size) + RETURN_ERROR(); + memcpy(dst, buf, size); + if (0 != header_out_write_name(dec, read_ctx, + size, DATA.left == size)) + RETURN_ERROR(); + DATA.left -= (unsigned)size; + buf += size; + if (DATA.left == 0) + DATA.state = DATA_STATE_BEGIN_READ_VAL_LEN; + break; + case DATA_STATE_READ_LFPBNR_IDX: + data_state_read_lfpbnr_idx: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &value, + &DATA.dec_int_state); + if (r == 0) + { + value = ID_PLUS(value, read_ctx->hbrc_base_index + 1); + entry = qdec_get_table_entry_abs(dec, value); + if (!entry) + RETURN_ERROR(); + check_dyn_table_errors(read_ctx, value); + if (0 != header_out_begin_dynamic_nameref(dec, + read_ctx, entry, DATA.is_never)) + RETURN_ERROR(); + DATA.state = DATA_STATE_BEGIN_READ_VAL_LEN; + } + else if (r == -1) + return LQRHS_NEED; + else + RETURN_ERROR(); + break; + case DATA_STATE_READ_IPBI_IDX: + data_state_read_ipbi_idx: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &value, + &DATA.dec_int_state); + if (r == 0) + { + value = ID_PLUS(read_ctx->hbrc_base_index, value + 1); + r = header_out_dynamic_entry(dec, read_ctx, value); + check_dyn_table_errors(read_ctx, value); + if (r == 0) + DATA.state = DATA_STATE_NEXT_INSTRUCTION; + else + RETURN_ERROR(); + } + else if (r == -1) + return LQRHS_NEED; + else + RETURN_ERROR(); + break; + case DATA_STATE_BEGIN_READ_LFPBNR_VAL_LEN: FALL_THROUGH; + case DATA_STATE_READ_LFPBNR_VAL_LEN: FALL_THROUGH; + default: + assert(0); + RETURN_ERROR(); + } + } + + if (read_ctx->hbrc_size > 0) + return LQRHS_NEED; + else if (DATA.state == DATA_STATE_NEXT_INSTRUCTION) { + if ((read_ctx->hbrc_flags + & (HBRC_LARGEST_REF_SET|HBRC_LARGEST_REF_USED)) + == HBRC_LARGEST_REF_SET) + RETURN_ERROR(); + if (read_ctx->hbrc_flags & HBRC_DYN_USED_IN_ERR) + RETURN_ERROR(); + return LQRHS_DONE; + } + else + RETURN_ERROR(); + + err: + dec->qpd_err.type = LSQPACK_DEC_ERR_LOC_HEADER_BLOCK; + dec->qpd_err.off = read_ctx->hbrc_orig_size - read_ctx->hbrc_size + + (buf - (end - bufsz)); + dec->qpd_err.stream_id = read_ctx->hbrc_stream_id; + D_DEBUG("header block error on line %d, offset %"PRIu64", stream id " + "%"PRIu64, dec->qpd_err.line, dec->qpd_err.off, dec->qpd_err.stream_id); + return LQRHS_ERROR; +#undef DATA +} + + +static int +qdec_in_future (const struct lsqpack_dec *dec, lsqpack_abs_id_t id) +{ + if (dec->qpd_last_id < dec->qpd_max_entries) + return id > dec->qpd_last_id + && id <= dec->qpd_last_id + dec->qpd_max_entries; + else + return !(id <= dec->qpd_last_id + && id >= dec->qpd_last_id - dec->qpd_max_entries + 1); +} + + +/* + * [draft-ietf-quic-qpack-09], Section 4.5.1.1: + * + * The encoder transforms the Required Insert Count as follows before + * encoding: + * + * if ReqInsertCount == 0: + * EncInsertCount = 0 + * else: + * EncInsertCount = (ReqInsertCount mod (2 * MaxEntries)) + 1 + */ +static lsqpack_abs_id_t +dec_max_encoded_RIC (const struct lsqpack_dec *dec) +{ + return dec->qpd_max_entries * 2; +} + + +static enum lsqpack_read_header_status +parse_header_prefix (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, const unsigned char *buf, + size_t bufsz) +{ + const unsigned char *const end = buf + bufsz; + unsigned prefix_bits = ~0u; + int r; + +#define RIC read_ctx->hbrc_parse_ctx_u.prefix.u.ric +#define DELB read_ctx->hbrc_parse_ctx_u.prefix.u.delb + + while (buf < end) + { + switch (read_ctx->hbrc_parse_ctx_u.prefix.state) + { + case PREFIX_STATE_BEGIN_READING_LARGEST_REF: + prefix_bits = 8; + DELB.dec_int_state.resume = 0; + read_ctx->hbrc_parse_ctx_u.prefix.state = + PREFIX_STATE_READ_LARGEST_REF; + FALL_THROUGH; + case PREFIX_STATE_READ_LARGEST_REF: + r = lsqpack_dec_int(&buf, end, prefix_bits, &RIC.value, + &RIC.dec_int_state); + if (r == 0) + { + if (RIC.value) + { + if (RIC.value > dec_max_encoded_RIC(dec)) + return LQRHS_ERROR; + read_ctx->hbrc_largest_ref = ID_MINUS(RIC.value, 2); + read_ctx->hbrc_flags |= + HBRC_LARGEST_REF_READ|HBRC_LARGEST_REF_SET; + read_ctx->hbrc_parse_ctx_u.prefix.state + = PREFIX_STATE_BEGIN_READING_BASE_IDX; + if (qdec_in_future(dec, read_ctx->hbrc_largest_ref)) + return LQRHS_BLOCKED; + else + break; + } + else + { + read_ctx->hbrc_flags |= HBRC_LARGEST_REF_READ; + read_ctx->hbrc_parse_ctx_u.prefix.state + = PREFIX_STATE_BEGIN_READING_BASE_IDX; + break; + } + } + else if (r == -1) + { + if (read_ctx->hbrc_orig_size - read_ctx->hbrc_size + <= lsqpack_val2len(dec_max_encoded_RIC(dec), 8)) + return LQRHS_NEED; + else + return LQRHS_ERROR; + } + else + return LQRHS_ERROR; + case PREFIX_STATE_BEGIN_READING_BASE_IDX: + DELB.sign = (buf[0] & 0x80) > 0; + DELB.dec_int_state.resume = 0; + prefix_bits = 7; + read_ctx->hbrc_parse_ctx_u.prefix.state = + PREFIX_STATE_READ_DELTA_BASE_IDX; + FALL_THROUGH; + case PREFIX_STATE_READ_DELTA_BASE_IDX: + r = lsqpack_dec_int(&buf, end, prefix_bits, &DELB.value, + &DELB.dec_int_state); + if (r == 0) + { + if (read_ctx->hbrc_flags & HBRC_LARGEST_REF_SET) + { + if (DELB.sign) + read_ctx->hbrc_base_index = + ID_MINUS(read_ctx->hbrc_largest_ref, DELB.value + 1); + else + read_ctx->hbrc_base_index = + ID_PLUS(read_ctx->hbrc_largest_ref, DELB.value); + } + else /* From qpack-03: "A header block that does not + * reference the dynamic table can use any value + * for Base Index" + */ + read_ctx->hbrc_base_index = 0; + read_ctx->hbrc_parse = parse_header_data; + read_ctx->hbrc_parse_ctx_u.data.state + = DATA_STATE_NEXT_INSTRUCTION; + if (end - buf) + return parse_header_data(dec, read_ctx, buf, end - buf); + else + return LQRHS_NEED; + } + else if (r == -1) + { + return LQRHS_NEED; + } + else + return LQRHS_ERROR; + default: + assert(0); + return LQRHS_ERROR; + } + } + +#undef RIC +#undef DELB + + if (read_ctx->hbrc_size > 0) + return LQRHS_NEED; + else + return LQRHS_ERROR; +} + + +static size_t +max_to_read (const struct header_block_read_ctx *read_ctx) +{ + if (read_ctx->hbrc_flags & HBRC_LARGEST_REF_READ) + return read_ctx->hbrc_size; + else + return 1; +} + + +static size_t +qdec_read_header_block (struct hbrc_buf *hbrc_buf, + const unsigned char **buf, size_t sz) +{ + if (sz > hbrc_buf->sz - hbrc_buf->off) + sz = hbrc_buf->sz - hbrc_buf->off; + *buf = hbrc_buf->buf + hbrc_buf->off; + hbrc_buf->off += sz; + return sz; +} + + +static enum lsqpack_read_header_status +qdec_read_header (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx) +{ + const unsigned char *buf; + enum lsqpack_read_header_status st; + size_t n_to_read; + size_t buf_sz; + + while (read_ctx->hbrc_size > 0) + { + n_to_read = max_to_read(read_ctx); + buf_sz = qdec_read_header_block(&read_ctx->hbrc_buf, &buf, n_to_read); + if (buf_sz > 0) + { + read_ctx->hbrc_size -= buf_sz; + st = read_ctx->hbrc_parse(dec, read_ctx, buf, buf_sz); + if (st == LQRHS_NEED) + { + if (read_ctx->hbrc_size == 0) + return LQRHS_ERROR; + } + else + return st; + } + else + return LQRHS_NEED; + } + + return LQRHS_DONE; +} + + +static void +destroy_header_block_read_ctx (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx) +{ + lsqpack_abs_id_t id; + + TAILQ_REMOVE(&dec->qpd_hbrcs, read_ctx, hbrc_next_all); + if (read_ctx->hbrc_flags & HBRC_BLOCKED) + { + id = read_ctx->hbrc_largest_ref & ((1 << LSQPACK_DEC_BLOCKED_BITS) - 1); + TAILQ_REMOVE(&dec->qpd_blocked_headers[id], read_ctx, hbrc_next_blocked); + --dec->qpd_n_blocked; + } + free(read_ctx); +} + + +static void +qdec_insert_header_block (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx) +{ + TAILQ_INSERT_TAIL(&dec->qpd_hbrcs, read_ctx, hbrc_next_all); + read_ctx->hbrc_flags |= HBRC_ON_LIST; +} + + +static int +stash_blocked_header (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx) +{ + lsqpack_abs_id_t id; + + if (dec->qpd_n_blocked < dec->qpd_max_risked_streams) + { + id = read_ctx->hbrc_largest_ref & ((1 << LSQPACK_DEC_BLOCKED_BITS) - 1); + TAILQ_INSERT_TAIL(&dec->qpd_blocked_headers[id], read_ctx, hbrc_next_blocked); + ++dec->qpd_n_blocked; + read_ctx->hbrc_flags |= HBRC_BLOCKED; + return 0; + } + else + { + D_INFO("cannot block another header: reached maximum of %u", + dec->qpd_max_risked_streams); + return -1; + } +} + + +static struct header_block_read_ctx * +find_header_block_read_ctx (struct lsqpack_dec *dec, void *hblock) +{ + struct header_block_read_ctx *read_ctx; + + TAILQ_FOREACH(read_ctx, &dec->qpd_hbrcs, hbrc_next_all) + if (read_ctx->hbrc_hblock == hblock) + return read_ctx; + + return NULL; +} + + +static int +qdec_try_writing_header_ack (struct lsqpack_dec *dec, uint64_t stream_id, + unsigned char *dec_buf, size_t *dec_buf_sz) +{ + unsigned char *p = dec_buf; + + if (*dec_buf_sz > 0) + { + *dec_buf = 0x80; + p = lsqpack_enc_int(p, p + *dec_buf_sz, stream_id, 7); + if (p > dec_buf) + { + *dec_buf_sz = p - dec_buf; + dec->qpd_bytes_in += (unsigned)(p - dec_buf); + return 0; + } + } + + return -1; +} + + +static void +qdec_maybe_update_largest_known (struct lsqpack_dec *dec, lsqpack_abs_id_t id) +{ + lsqpack_abs_id_t diff; + + diff = ID_MINUS(id, dec->qpd_largest_known_id); + if (diff > 0 && diff <= dec->qpd_max_entries) + dec->qpd_largest_known_id = id; +} + + +static enum lsqpack_read_header_status +qdec_header_process (struct lsqpack_dec *dec, + struct header_block_read_ctx *read_ctx, + const unsigned char **buf, size_t bufsz, + unsigned char *dec_buf, size_t *dec_buf_sz) +{ + struct header_block_read_ctx *read_ctx_copy; + enum lsqpack_read_header_status st; + + read_ctx->hbrc_buf = (struct hbrc_buf) { *buf, bufsz, 0, }; + st = qdec_read_header(dec, read_ctx); + switch (st) + { + case LQRHS_DONE: + update_ema(&dec->qpd_hlist_size_ema, read_ctx->hbrc_header_count); + if ((read_ctx->hbrc_flags & HBRC_LARGEST_REF_SET) + && dec_buf && dec_buf_sz) + { + if (0 == qdec_try_writing_header_ack(dec, read_ctx->hbrc_stream_id, + dec_buf, dec_buf_sz)) + qdec_maybe_update_largest_known(dec, + read_ctx->hbrc_largest_ref); + else + { + st = LQRHS_ERROR; + break; + } + } + else if (dec_buf_sz) + *dec_buf_sz = 0; + *buf = *buf + read_ctx->hbrc_buf.off; + dec->qpd_bytes_in += (unsigned)read_ctx->hbrc_orig_size; + if (dec->qpd_bytes_out > (1u << (sizeof(dec->qpd_bytes_out) * 8 - 1))) + { + dec->qpd_bytes_in = (unsigned)((float) dec->qpd_bytes_in + / (float) dec->qpd_bytes_out * 1000); + dec->qpd_bytes_out = 1000; + D_DEBUG("reset bytes in/out counters, ratio: %.3f", + lsqpack_dec_ratio(dec)); + } + D_DEBUG("header block for stream %"PRIu64" is done", + read_ctx->hbrc_stream_id); + break; + case LQRHS_NEED: + case LQRHS_BLOCKED: + if (!(read_ctx->hbrc_flags & HBRC_ON_LIST)) + { + read_ctx_copy = malloc(sizeof(*read_ctx_copy)); + if (!read_ctx_copy) + { + st = LQRHS_ERROR; + break; + } + memcpy(read_ctx_copy, read_ctx, sizeof(*read_ctx)); + read_ctx = read_ctx_copy; + qdec_insert_header_block(dec, read_ctx); + } + if (st == LQRHS_BLOCKED && 0 != stash_blocked_header(dec, read_ctx)) + { + st = LQRHS_ERROR; + break; + } + *buf = *buf + read_ctx->hbrc_buf.off; + if (st == LQRHS_NEED) + D_DEBUG("header block for stream %"PRIu64" needs more bytes", + read_ctx->hbrc_stream_id); + else + D_DEBUG("header block for stream %"PRIu64" is blocked", + read_ctx->hbrc_stream_id); + return st; + case LQRHS_ERROR: default: + assert(st == LQRHS_ERROR); + D_DEBUG("header block for stream %"PRIu64" has had an error", + read_ctx->hbrc_stream_id); + break; + } + + if (read_ctx->hbrc_flags & HBRC_ON_LIST) + { + destroy_header_block_read_ctx(dec, read_ctx); + } + + return st; +} + + +enum lsqpack_read_header_status +lsqpack_dec_header_read (struct lsqpack_dec *dec, void *hblock, + const unsigned char **buf, size_t bufsz, + unsigned char *dec_buf, size_t *dec_buf_sz) +{ + struct header_block_read_ctx *read_ctx; + + read_ctx = find_header_block_read_ctx(dec, hblock); + if (read_ctx) + { + D_DEBUG("continue reading header block for stream %"PRIu64, + read_ctx->hbrc_stream_id); + return qdec_header_process(dec, read_ctx, buf, bufsz, + dec_buf, dec_buf_sz); + } + else + { + D_INFO("could not find header block to continue reading"); + return LQRHS_ERROR; + } +} + + +enum lsqpack_read_header_status +lsqpack_dec_header_in (struct lsqpack_dec *dec, void *hblock, + uint64_t stream_id, size_t header_size, const unsigned char **buf, + size_t bufsz, unsigned char *dec_buf, size_t *dec_buf_sz) +{ + if (header_size < 2) + { + D_DEBUG("header block for stream %"PRIu64" is too short " + "(%zd byte%.*s)", stream_id, header_size, header_size != 1, "s"); + dec->qpd_err = (struct lsqpack_dec_err) { + .line = __LINE__, + .type = LSQPACK_DEC_ERR_LOC_HEADER_BLOCK, + .off = 0, + .stream_id = stream_id, + }; + return LQRHS_ERROR; + } + + struct header_block_read_ctx read_ctx = { + .hbrc_stream_id = stream_id, + .hbrc_hblock = hblock, + .hbrc_size = header_size, + .hbrc_orig_size = header_size, + .hbrc_parse = parse_header_prefix, + }; + + D_DEBUG("begin reading header block for stream %"PRIu64, stream_id); + return qdec_header_process(dec, &read_ctx, buf, bufsz, + dec_buf, dec_buf_sz); +} + + +static void +qdec_drop_oldest_entry (struct lsqpack_dec *dec) +{ + struct lsqpack_dec_table_entry *entry; + + entry = ringbuf_advance_tail(&dec->qpd_dyn_table); + dec->qpd_cur_capacity -= DTE_SIZE(entry); + qdec_decref_entry(entry); +} + + +static void +qdec_remove_overflow_entries (struct lsqpack_dec *dec) +{ + while (dec->qpd_cur_capacity > dec->qpd_cur_max_capacity) + { + D_DEBUG("capacity %u, drop entry", dec->qpd_cur_capacity); + qdec_drop_oldest_entry(dec); + } +} + + +static void +qdec_update_max_capacity (struct lsqpack_dec *dec, unsigned new_capacity) +{ + unsigned old_max_entries; + dec->qpd_cur_max_capacity = new_capacity; + old_max_entries = dec->qpd_max_entries; + dec->qpd_max_entries = dec->qpd_cur_max_capacity / DYNAMIC_ENTRY_OVERHEAD; + if (old_max_entries != dec->qpd_max_entries) + { + if (dec->qpd_last_id == dec->qpd_largest_known_id + && dec->qpd_last_id == old_max_entries * 2 - 1) + { + dec->qpd_last_id = dec->qpd_max_entries * 2 - 1; + dec->qpd_largest_known_id = dec->qpd_max_entries * 2 - 1; + } + } + qdec_remove_overflow_entries(dec); +} + + +static void +qdec_process_blocked_headers (struct lsqpack_dec *dec) +{ + struct header_block_read_ctx *read_ctx, *next; + lsqpack_abs_id_t id; + + id = dec->qpd_last_id & ((1 << LSQPACK_DEC_BLOCKED_BITS) - 1); + for (read_ctx = TAILQ_FIRST(&dec->qpd_blocked_headers[id]); read_ctx; + read_ctx = next) + { + next = TAILQ_NEXT(read_ctx, hbrc_next_blocked); + if (read_ctx->hbrc_largest_ref == dec->qpd_last_id) + { + read_ctx->hbrc_flags &= ~HBRC_BLOCKED; + TAILQ_REMOVE(&dec->qpd_blocked_headers[id], read_ctx, + hbrc_next_blocked); + --dec->qpd_n_blocked; + D_DEBUG("header block for stream %"PRIu64" has become unblocked", + read_ctx->hbrc_stream_id); + dec->qpd_dh_if->dhi_unblocked(read_ctx->hbrc_hblock); + } + } +} + + +int +lsqpack_dec_ici_pending (const struct lsqpack_dec *dec) +{ + return dec->qpd_last_id != dec->qpd_largest_known_id; +} + + +ssize_t +lsqpack_dec_write_ici (struct lsqpack_dec *dec, unsigned char *buf, size_t sz) +{ + unsigned char *p; + unsigned count; + + if (dec->qpd_last_id != dec->qpd_largest_known_id) + { + if (sz == 0) + return -1; + count = ID_MINUS(dec->qpd_last_id, dec->qpd_largest_known_id); + *buf = 0; + p = lsqpack_enc_int(buf, buf + sz, count, 6); + if (p > buf) + { + D_DEBUG("wrote ICI: count=%u", count); + dec->qpd_largest_known_id = dec->qpd_last_id; + dec->qpd_bytes_in += (unsigned)(p - buf); + return p - buf; + } + else + return -1; + } + else + { + D_DEBUG("no ICI instruction necessary: emitting zero bytes"); + return 0; + } +} + + +int +lsqpack_dec_unref_stream (struct lsqpack_dec *dec, void *hblock) +{ + struct header_block_read_ctx *read_ctx; + + read_ctx = find_header_block_read_ctx(dec, hblock); + if (read_ctx) + { + D_DEBUG("unreffed header block for stream %"PRIu64, + read_ctx->hbrc_stream_id); + destroy_header_block_read_ctx(dec, read_ctx); + return 0; + } + else + { + D_INFO("could not find header block to unref"); + return -1; + } +} + + +ssize_t +lsqpack_dec_cancel_stream (struct lsqpack_dec *dec, void *hblock, + unsigned char *buf, size_t buf_sz) +{ + struct header_block_read_ctx *read_ctx; + unsigned char *p; + + read_ctx = find_header_block_read_ctx(dec, hblock); + if (!read_ctx) + { + D_INFO("could not find stream to cancel"); + return 0; + } + + if (buf_sz == 0) + return -1; + + *buf = 0x40; + p = lsqpack_enc_int(buf, buf + buf_sz, read_ctx->hbrc_stream_id, 6); + if (p > buf) + { + D_DEBUG("cancelled stream %"PRIu64"; generate instruction of %u bytes", + read_ctx->hbrc_stream_id, (unsigned) (p - buf)); + destroy_header_block_read_ctx(dec, read_ctx); + dec->qpd_bytes_in += (unsigned)(p - buf); + return p - buf; + } + else + { + D_WARN("cannot generate Cancel Stream instruction for stream %"PRIu64 + "; buf size=%zu", read_ctx->hbrc_stream_id, buf_sz); + return -1; + } +} + + +ssize_t +lsqpack_dec_cancel_stream_id (struct lsqpack_dec *dec, uint64_t stream_id, + unsigned char *buf, size_t buf_sz) +{ + unsigned char *p; + + /* From qpack-14: "A decoder with a maximum dynamic table capacity + * equal to zero MAY omit sending Stream Cancellations..." + */ + if (dec->qpd_max_capacity == 0) + return 0; + + if (buf_sz == 0) + return -1; + + *buf = 0x40; + p = lsqpack_enc_int(buf, buf + buf_sz, stream_id, 6); + if (p > buf) + { + D_DEBUG("generate Cancel Stream %"PRIu64" instruction of %u bytes", + stream_id, (unsigned) (p - buf)); + dec->qpd_bytes_in += (unsigned)(p - buf); + return p - buf; + } + else + { + D_DEBUG("cannot generate Cancel Stream instruction for stream %"PRIu64 + "; buf size=%zu", stream_id, buf_sz); + return -1; + } +} + + +static int +lsqpack_dec_push_entry (struct lsqpack_dec *dec, + struct lsqpack_dec_table_entry *entry) +{ + if (0 == ringbuf_add(&dec->qpd_dyn_table, entry)) + { + dec->qpd_cur_capacity += DTE_SIZE(entry); + D_DEBUG("push entry:(`%.*s': `%.*s'), capacity %u", + (int) entry->dte_name_len, DTE_NAME(entry), + (int) entry->dte_val_len, DTE_VALUE(entry), + dec->qpd_cur_capacity); + dec->qpd_last_id = ID_PLUS(dec->qpd_last_id, 1); + qdec_remove_overflow_entries(dec); + qdec_process_blocked_headers(dec); + if (dec->qpd_cur_capacity <= dec->qpd_cur_max_capacity) + return 0; + } + + return -1; +} + + +int +lsqpack_dec_enc_in (struct lsqpack_dec *dec, const unsigned char *buf, + size_t buf_sz) +{ + const unsigned char *const end = buf + buf_sz; + struct lsqpack_dec_table_entry *entry, *new_entry; + struct huff_decode_retval hdr; + unsigned prefix_bits = ~0u; + size_t size; + int r; + + D_DEBUG("got %zu bytes of encoder stream", buf_sz); + dec->qpd_bytes_in += (unsigned)buf_sz; + +#define WINR dec->qpd_enc_state.ctx_u.with_namref +#define WONR dec->qpd_enc_state.ctx_u.wo_namref +#define DUPL dec->qpd_enc_state.ctx_u.duplicate +#define SDTC dec->qpd_enc_state.ctx_u.sdtc + + while (buf < end) + { + switch (dec->qpd_enc_state.resume) + { + case DEI_NEXT_INST: + if (buf[0] & 0x80) + { + WINR.is_static = (buf[0] & 0x40) > 0; + WINR.dec_int_state.resume = 0; + WINR.reffed_entry = NULL; + WINR.entry = NULL; + dec->qpd_enc_state.resume = DEI_WINR_READ_NAME_IDX; + prefix_bits = 6; + goto dei_winr_read_name_idx; + } + else if (buf[0] & 0x40) + { + WONR.is_huffman = (buf[0] & 0x20) > 0; + WONR.dec_int_state.resume = 0; + WONR.entry = NULL; + dec->qpd_enc_state.resume = DEI_WONR_READ_NAME_LEN; + prefix_bits = 5; + goto dei_wonr_read_name_idx; + } + else if (buf[0] & 0x20) + { + SDTC.dec_int_state.resume = 0; + dec->qpd_enc_state.resume = DEI_SIZE_UPD_READ_IDX; + prefix_bits = 5; + goto dei_size_upd_read_idx; + } + else + { + DUPL.dec_int_state.resume = 0; + dec->qpd_enc_state.resume = DEI_DUP_READ_IDX; + prefix_bits = 5; + goto dei_dup_read_idx; + } + case DEI_WINR_READ_NAME_IDX: + dei_winr_read_name_idx: + r = lsqpack_dec_int24(&buf, end, prefix_bits, + &WINR.name_idx, &WINR.dec_int_state); + if (r == 0) + { + if (WINR.is_static) + { + if (WINR.name_idx < QPACK_STATIC_TABLE_SIZE) + WINR.reffed_entry = NULL; + else + return -1; + } + else + { + WINR.reffed_entry = qdec_get_table_entry_rel(dec, + WINR.name_idx); + if (!WINR.reffed_entry) + return -1; + ++WINR.reffed_entry->dte_refcnt; + } + dec->qpd_enc_state.resume = DEI_WINR_BEGIN_READ_VAL_LEN; + break; + } + else if (r == -1) + return 0; + else + return -1; + case DEI_WINR_BEGIN_READ_VAL_LEN: + WINR.is_huffman = (buf[0] & 0x80) > 0; + WINR.dec_int_state.resume = 0; + dec->qpd_enc_state.resume = DEI_WINR_READ_VAL_LEN; + prefix_bits = 7; + FALL_THROUGH; + case DEI_WINR_READ_VAL_LEN: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &WINR.val_len, + &WINR.dec_int_state); + if (r == 0) + { + if (WINR.is_static) + { + WINR.name_len = static_table[WINR.name_idx].name_len; + WINR.name = static_table[WINR.name_idx].name; + } + else + { + WINR.name_len = WINR.reffed_entry->dte_name_len; + WINR.name = DTE_NAME(WINR.reffed_entry); + } + /* This check accounts for the fact that Huffman-encoded string + * can shrink. + */ + if (WINR.val_len > ((dec->qpd_cur_max_capacity + - WINR.name_len) << (WINR.is_huffman << 1))) + return -1; + if (WINR.is_huffman) + WINR.alloced_val_len = WINR.val_len + WINR.val_len / 2; + else + WINR.alloced_val_len = WINR.val_len; + WINR.entry = malloc(sizeof(*WINR.entry) + WINR.name_len + + WINR.alloced_val_len); + if (!WINR.entry) + return -1; + if (WINR.is_static) + { + WINR.entry->dte_flags = DTEF_NAME_HASH | DTEF_NAME_IDX; + WINR.entry->dte_name_hash = name_hashes[WINR.name_idx]; + WINR.entry->dte_name_idx = WINR.name_idx; + } + else + { + WINR.entry->dte_flags = WINR.reffed_entry->dte_flags + & (DTEF_NAME_HASH|DTEF_NAME_IDX); + WINR.entry->dte_name_hash + = WINR.reffed_entry->dte_name_hash; + WINR.entry->dte_name_idx = WINR.reffed_entry->dte_name_idx; + } + WINR.entry->dte_name_len = WINR.name_len; + WINR.nread = 0; + WINR.val_off = 0; + if (WINR.val_len) + { + if (WINR.is_huffman) + { + dec->qpd_enc_state.resume = DEI_WINR_READ_VALUE_HUFFMAN; + WINR.dec_huff_state.resume = 0; + } + else + dec->qpd_enc_state.resume = DEI_WINR_READ_VALUE_PLAIN; + } + else + goto winr_insert_entry; + } + else if (r == -1) + return 0; + else + return -1; + break; + case DEI_WINR_READ_VALUE_HUFFMAN: + size = MIN((unsigned) (end - buf), WINR.val_len - WINR.nread); + hdr = lsqpack_huff_decode(buf, (int)size, + (unsigned char *) DTE_VALUE(WINR.entry) + WINR.val_off, + WINR.alloced_val_len - WINR.val_off, + &WINR.dec_huff_state, WINR.nread + size == WINR.val_len); + switch (hdr.status) + { + case HUFF_DEC_OK: + buf += hdr.n_src; + WINR.entry->dte_val_len = WINR.val_off + hdr.n_dst; + WINR.entry->dte_refcnt = 1; + memcpy(DTE_NAME(WINR.entry), WINR.name, WINR.name_len); + if (WINR.reffed_entry) + { + qdec_decref_entry(WINR.reffed_entry); + WINR.reffed_entry = NULL; + } + r = lsqpack_dec_push_entry(dec, WINR.entry); + if (0 == r) + { + dec->qpd_enc_state.resume = 0; + WINR.entry = NULL; + break; + } + qdec_decref_entry(WINR.entry); + WINR.entry = NULL; + return -1; + case HUFF_DEC_END_SRC: + buf += hdr.n_src; + WINR.nread += hdr.n_src; + WINR.val_off += hdr.n_dst; + break; + case HUFF_DEC_END_DST: + WINR.alloced_val_len *= 2; + entry = realloc(WINR.entry, sizeof(*WINR.entry) + + WINR.name_len + WINR.alloced_val_len); + if (!entry) + return -1; + WINR.entry = entry; + buf += hdr.n_src; + WINR.nread += hdr.n_src; + WINR.val_off += hdr.n_dst; + break; + case HUFF_DEC_ERROR: default: + return -1; + } + break; + case DEI_WINR_READ_VALUE_PLAIN: + assert(WINR.alloced_val_len >= WINR.val_len); + size = MIN((unsigned) (end - buf), WINR.val_len - WINR.val_off); + memcpy(DTE_VALUE(WINR.entry) + WINR.val_off, buf, size); + WINR.val_off += (unsigned)size; + buf += size; + if (WINR.val_off == WINR.val_len) + { + winr_insert_entry: + WINR.entry->dte_val_len = WINR.val_off; + WINR.entry->dte_refcnt = 1; + memcpy(DTE_NAME(WINR.entry), WINR.name, WINR.name_len); + if (WINR.reffed_entry) + { + qdec_decref_entry(WINR.reffed_entry); + WINR.reffed_entry = NULL; + } + r = lsqpack_dec_push_entry(dec, WINR.entry); + if (0 == r) + { + dec->qpd_enc_state.resume = 0; + WINR.entry = NULL; + break; + } + qdec_decref_entry(WINR.entry); + WINR.entry = NULL; + return -1; + } + break; + case DEI_WONR_READ_NAME_LEN: + dei_wonr_read_name_idx: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &WONR.str_len, + &DUPL.dec_int_state); + if (r == 0) + { + /* This check accounts for the fact that Huffman-encoded string + * can shrink. + */ + if (WONR.str_len > (dec->qpd_cur_max_capacity + << (WONR.is_huffman << 1))) + return -1; + WONR.alloced_len = WONR.str_len ? WONR.str_len + WONR.str_len / 2 : 16; + size = sizeof(*new_entry) + WONR.alloced_len; + WONR.entry = malloc(size); + if (!WONR.entry) + return -1; + WONR.entry->dte_flags = 0; + WONR.nread = 0; + WONR.str_off = 0; + if (WONR.is_huffman) + { + dec->qpd_enc_state.resume = DEI_WONR_READ_NAME_HUFFMAN; + WONR.dec_huff_state.resume = 0; + } + else + dec->qpd_enc_state.resume = DEI_WONR_READ_NAME_PLAIN; + break; + } + else if (r == -1) + return 0; + else + return -1; + case DEI_WONR_READ_NAME_HUFFMAN: + size = MIN((unsigned) (end - buf), WONR.str_len - WONR.nread); + hdr = lsqpack_huff_decode(buf, (int)size, + (unsigned char *) DTE_NAME(WONR.entry) + WONR.str_off, + (int)(WONR.alloced_len - WONR.str_off), + &WONR.dec_huff_state, WONR.nread + size == WONR.str_len); + switch (hdr.status) + { + case HUFF_DEC_OK: + buf += hdr.n_src; + WONR.entry->dte_name_len = WONR.str_off + hdr.n_dst; + dec->qpd_enc_state.resume = DEI_WONR_BEGIN_READ_VAL_LEN; + break; + case HUFF_DEC_END_SRC: + buf += hdr.n_src; + WONR.nread += hdr.n_src; + WONR.str_off += hdr.n_dst; + break; + case HUFF_DEC_END_DST: + WONR.alloced_len *= 2; + entry = realloc(WONR.entry, sizeof(*WONR.entry) + + WONR.alloced_len); + if (!entry) + return -1; + WONR.entry = entry; + buf += hdr.n_src; + WONR.nread += hdr.n_src; + WONR.str_off += hdr.n_dst; + break; + case HUFF_DEC_ERROR: default: + return -1; + } + break; + case DEI_WONR_READ_NAME_PLAIN: + assert(WONR.alloced_len >= WONR.str_len); + size = MIN((unsigned) (end - buf), WONR.str_len - WONR.str_off); + memcpy(DTE_NAME(WONR.entry) + WONR.str_off, buf, size); + WONR.str_off += (unsigned)size; + buf += size; + if (WONR.str_off == WONR.str_len) + { + WONR.entry->dte_name_len = WONR.str_off; + dec->qpd_enc_state.resume = DEI_WONR_BEGIN_READ_VAL_LEN; + } + break; + case DEI_WONR_BEGIN_READ_VAL_LEN: + WONR.is_huffman = (buf[0] & 0x80) > 0; + WONR.dec_int_state.resume = 0; + dec->qpd_enc_state.resume = DEI_WONR_READ_VAL_LEN; + prefix_bits = 7; + FALL_THROUGH; + case DEI_WONR_READ_VAL_LEN: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &WONR.str_len, + &WONR.dec_int_state); + if (r == 0) + { + /* This check accounts for the fact that Huffman-encoded string + * can shrink. + */ + if (WONR.str_len > ((dec->qpd_cur_max_capacity + - WONR.entry->dte_name_len) << (WONR.is_huffman << 1))) + return -1; + WONR.nread = 0; + WONR.str_off = 0; + if (WONR.str_len) + { + if (WONR.is_huffman) + { + dec->qpd_enc_state.resume = DEI_WONR_READ_VALUE_HUFFMAN; + WONR.dec_huff_state.resume = 0; + } + else + dec->qpd_enc_state.resume = DEI_WONR_READ_VALUE_PLAIN; + } + else + goto wonr_insert_entry; + } + else if (r == -1) + return 0; + else + return -1; + break; + case DEI_WONR_READ_VALUE_HUFFMAN: + size = MIN((unsigned) (end - buf), WONR.str_len - WONR.nread); + hdr = lsqpack_huff_decode(buf, (int)size, + (unsigned char *) DTE_VALUE(WONR.entry) + WONR.str_off, + WONR.alloced_len - WONR.entry->dte_name_len - WONR.str_off, + &WONR.dec_huff_state, WONR.nread + size == WONR.str_len); + switch (hdr.status) + { + case HUFF_DEC_OK: + buf += hdr.n_src; + WONR.entry->dte_val_len = WONR.str_off + hdr.n_dst; + WONR.entry->dte_refcnt = 1; + r = lsqpack_dec_push_entry(dec, WONR.entry); + if (0 == r) + { + dec->qpd_enc_state.resume = 0; + WONR.entry = NULL; + break; + } + qdec_decref_entry(WONR.entry); + WONR.entry = NULL; + return -1; + case HUFF_DEC_END_SRC: + buf += hdr.n_src; + WONR.nread += hdr.n_src; + WONR.str_off += hdr.n_dst; + break; + case HUFF_DEC_END_DST: + assert(WONR.alloced_len); + WONR.alloced_len *= 2; + entry = realloc(WONR.entry, sizeof(*WONR.entry) + + WONR.alloced_len); + if (!entry) + return -1; + WONR.entry = entry; + buf += hdr.n_src; + WONR.nread += hdr.n_src; + WONR.str_off += hdr.n_dst; + break; + case HUFF_DEC_ERROR: default: + return -1; + } + break; + case DEI_WONR_READ_VALUE_PLAIN: + if (WONR.alloced_len < WONR.entry->dte_name_len + WONR.str_len) + { + WONR.alloced_len = WONR.entry->dte_name_len + WONR.str_len; + entry = realloc(WONR.entry, sizeof(*WONR.entry) + + WONR.alloced_len); + if (entry) + WONR.entry = entry; + else + return -1; + } + size = MIN((unsigned) (end - buf), WONR.str_len - WONR.str_off); + memcpy(DTE_VALUE(WONR.entry) + WONR.str_off, buf, size); + WONR.str_off += (unsigned)size; + buf += size; + if (WONR.str_off == WONR.str_len) + { + wonr_insert_entry: + WONR.entry->dte_val_len = WONR.str_off; + WONR.entry->dte_refcnt = 1; + r = lsqpack_dec_push_entry(dec, WONR.entry); + if (0 == r) + { + dec->qpd_enc_state.resume = 0; + WONR.entry = NULL; + break; + } + qdec_decref_entry(WONR.entry); + WONR.entry = NULL; + return -1; + } + break; + case DEI_DUP_READ_IDX: + dei_dup_read_idx: + r = lsqpack_dec_int24(&buf, end, prefix_bits, &DUPL.index, + &DUPL.dec_int_state); + if (r == 0) + { + entry = qdec_get_table_entry_rel(dec, DUPL.index); + if (!entry) + return -1; + size = sizeof(*new_entry) + entry->dte_name_len + + entry->dte_val_len; + new_entry = malloc(size); + if (!new_entry) + return -1; + memcpy(new_entry, entry, size); + new_entry->dte_refcnt = 1; + if (0 == lsqpack_dec_push_entry(dec, new_entry)) + { + dec->qpd_enc_state.resume = 0; + break; + } + qdec_decref_entry(new_entry); + return -1; + } + else if (r == -1) + return 0; + else + return -1; + case DEI_SIZE_UPD_READ_IDX: + dei_size_upd_read_idx: + r = lsqpack_dec_int(&buf, end, prefix_bits, &SDTC.new_size, + &SDTC.dec_int_state); + if (r == 0) + { + if (SDTC.new_size <= dec->qpd_max_capacity) + { + dec->qpd_enc_state.resume = 0; + D_DEBUG("got TSU=%"PRIu64, SDTC.new_size); + qdec_update_max_capacity(dec, (unsigned int) SDTC.new_size); + break; + } + else + return -1; + } + else if (r == -1) + return 0; + else + return -1; + default: + assert(0); + } + } + +#undef WINR +#undef WONR +#undef DUPL +#undef SDTC + + return 0; +} + + +void +lsqpack_dec_print_table (const struct lsqpack_dec *dec, FILE *out) +{ + const struct lsqpack_dec_table_entry *entry; + struct ringbuf_iter riter; + lsqpack_abs_id_t id; + + fprintf(out, "Printing decoder table state.\n"); + fprintf(out, "Max capacity: %u; current capacity: %u\n", + dec->qpd_cur_max_capacity, dec->qpd_cur_capacity); + id = ID_MINUS(dec->qpd_last_id + 1, ringbuf_count(&dec->qpd_dyn_table)); + for (entry = ringbuf_iter_first(&riter, &dec->qpd_dyn_table); + entry; entry= ringbuf_iter_next(&riter)) + { + fprintf(out, "%u) %.*s: %.*s\n", id, + entry->dte_name_len, DTE_NAME(entry), + entry->dte_val_len, DTE_VALUE(entry)); + id = ID_PLUS(id, 1); + } + fprintf(out, "\n"); +} + + +const struct lsqpack_dec_err * +lsqpack_dec_get_err_info (const struct lsqpack_dec *dec) +{ + return &dec->qpd_err; +} + +#define SHORTEST_CODE 5 + +/* This whole pragma business has to do with turning off uninitialized warnings. + * We do it for gcc and clang. Other compilers get slightly slower code, where + * unnecessary initialization is performed. + */ +#if __GNUC__ +#pragma GCC diagnostic ignored "-Wunknown-pragmas" +#if __clang__ +#pragma GCC diagnostic ignored "-Wunknown-warning-option" +#endif +#endif + +static unsigned char * +qenc_huffman_enc (const unsigned char *src, const unsigned char *const src_end, + unsigned char *dst) +{ + uintptr_t bits; /* OK not to initialize this variable */ + unsigned bits_used = 0, adj; + struct encode_el cur_enc_code; +#if __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#pragma GCC diagnostic ignored "-Wuninitialized" +#else + bits = 0; +#endif +#if LS_QPACK_USE_LARGE_TABLES + const struct henc *henc; + uint16_t idx; + + while (src + sizeof(bits) * 8 / SHORTEST_CODE + sizeof(idx) < src_end) + { + memcpy(&idx, src, 2); + henc = &hencs[idx]; + src += 2; + while (bits_used + henc->lens < sizeof(bits) * 8) + { + bits <<= henc->lens; + bits |= henc->code; + bits_used += henc->lens; + memcpy(&idx, src, 2); + henc = &hencs[idx]; + src += 2; + } + if (henc->lens < 64) + { + bits <<= sizeof(bits) * 8 - bits_used; + bits_used = henc->lens - (sizeof(bits) * 8 - bits_used); + bits |= henc->code >> bits_used; +#if UINTPTR_MAX == 18446744073709551615ull + *dst++ = (unsigned char)(bits >> 56); + *dst++ = (unsigned char)(bits >> 48); + *dst++ = (unsigned char)(bits >> 40); + *dst++ = (unsigned char)(bits >> 32); +#endif + *dst++ = (unsigned char)(bits >> 24); + *dst++ = (unsigned char)(bits >> 16); + *dst++ = (unsigned char)(bits >> 8); + *dst++ = (unsigned char)bits; + bits = henc->code; /* OK not to clear high bits */ + } + else + { + src -= 2; + break; + } + } +#endif + + while (src != src_end) + { + cur_enc_code = encode_table[*src++]; + if (bits_used + cur_enc_code.bits < sizeof(bits) * 8) + { + bits <<= cur_enc_code.bits; + bits |= cur_enc_code.code; + bits_used += cur_enc_code.bits; + continue; + } + else + { + bits <<= sizeof(bits) * 8 - bits_used; + bits_used = cur_enc_code.bits - (sizeof(bits) * 8 - bits_used); + bits |= cur_enc_code.code >> bits_used; +#if UINTPTR_MAX == 18446744073709551615ull + *dst++ = (unsigned char)(bits >> 56); + *dst++ = (unsigned char)(bits >> 48); + *dst++ = (unsigned char)(bits >> 40); + *dst++ = (unsigned char)(bits >> 32); +#endif + *dst++ = (unsigned char)(bits >> 24); + *dst++ = (unsigned char)(bits >> 16); + *dst++ = (unsigned char)(bits >> 8); + *dst++ = (unsigned char)bits; + bits = cur_enc_code.code; /* OK not to clear high bits */ + } + } + + if (bits_used) + { + adj = (bits_used + 7) & -8; /* Round up to 8 */ + bits <<= adj - bits_used; /* Align to byte boundary */ + bits |= ((1 << (adj - bits_used)) - 1); /* EOF */ + switch (adj >> 3) + { /* Write out */ +#if UINTPTR_MAX == 18446744073709551615ull + case 8: *dst++ = (unsigned char)(bits >> 56); + case 7: *dst++ = (unsigned char)(bits >> 48); + case 6: *dst++ = (unsigned char)(bits >> 40); + case 5: *dst++ = (unsigned char)(bits >> 32); +#endif + case 4: *dst++ = (unsigned char)(bits >> 24); + case 3: *dst++ = (unsigned char)(bits >> 16); + case 2: *dst++ = (unsigned char)(bits >> 8); + default: *dst++ = (unsigned char)bits; + } + } +#if __GNUC__ +#pragma GCC diagnostic pop +#endif + + return dst; +} + + +static unsigned +qenc_enc_str_size (const unsigned char *str, unsigned str_len) +{ + unsigned const char *const end = str + str_len; + unsigned enc_size_bits, enc_size_bytes; + + enc_size_bits = 0; + while (str < end) + enc_size_bits += encode_table[*str++].bits; + enc_size_bytes = enc_size_bits / 8 + ((enc_size_bits & 7) != 0); + + return enc_size_bytes; +} + + +static unsigned char * +qdec_huff_dec4bits (uint8_t src_4bits, unsigned char *dst, + struct lsqpack_decode_status *status) +{ + const struct decode_el cur_dec_code = + decode_tables[status->state][src_4bits]; + if (cur_dec_code.flags & HPACK_HUFFMAN_FLAG_FAIL) { + return NULL; //failed + } + if (cur_dec_code.flags & HPACK_HUFFMAN_FLAG_SYM) + { + *dst = cur_dec_code.sym; + dst++; + } + + status->state = cur_dec_code.state; + status->eos = ((cur_dec_code.flags & HPACK_HUFFMAN_FLAG_ACCEPTED) != 0); + return dst; +} + + +#if LS_QPACK_USE_LARGE_TABLES +/* The decoder is optimized for the common case. Most of the time, we decode + * data whose encoding is 16 bits or shorter. This lets us use a 64 KB table + * indexed by two bytes of input and outputs 1, 2, or 3 bytes at a time. + * + * In the case a longer code is encoutered, we fall back to the original + * Huffman decoder that supports all code lengths. + */ +static struct huff_decode_retval +huff_decode_fast (const unsigned char *src, int src_len, + unsigned char *dst, int dst_len, + struct lsqpack_huff_decode_state *state, int final) +{ + unsigned char *const orig_dst = dst; + const unsigned char *const src_end = src + src_len; + unsigned char *const dst_end = dst + dst_len; + uintptr_t buf; /* OK not to initialize the buffer */ + unsigned avail_bits, len; + struct huff_decode_retval rv; + struct hdec hdec; + uint16_t idx; + +#if __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#pragma GCC diagnostic ignored "-Wuninitialized" +#else + buf = 0; +#endif + + avail_bits = 0; + while (1) + { + if (src + sizeof(buf) <= src_end) + { + len = (sizeof(buf) * 8 - avail_bits) >> 3; + avail_bits += len << 3; + switch (len) + { +#if UINTPTR_MAX == 18446744073709551615ull + case 8: + buf <<= 8; + buf |= (uintptr_t) *src++; + case 7: + buf <<= 8; + buf |= (uintptr_t) *src++; + default: + buf <<= 48; + buf |= (uintptr_t) *src++ << 40; + buf |= (uintptr_t) *src++ << 32; + buf |= (uintptr_t) *src++ << 24; + buf |= (uintptr_t) *src++ << 16; +#else + case 4: + buf <<= 8; + buf |= (uintptr_t) *src++; + case 3: + buf <<= 8; + buf |= (uintptr_t) *src++; + default: + buf <<= 16; +#endif + buf |= (uintptr_t) *src++ << 8; + buf |= (uintptr_t) *src++ << 0; + } + } + else if (src < src_end) + do + { + buf <<= 8; + buf |= (uintptr_t) *src++; + avail_bits += 8; + } + while (src < src_end && avail_bits <= sizeof(buf) * 8 - 8); + else + break; /* Normal case terminating condition: out of input */ + + if (dst_end - dst >= (ptrdiff_t) (8 * sizeof(buf) / SHORTEST_CODE) + && avail_bits >= 16) + { + /* Fast path: don't check destination bounds */ + do + { + idx = (uint16_t)(buf >> (avail_bits - 16)); + hdec = hdecs[idx]; + dst[0] = hdec.out[0]; + dst[1] = hdec.out[1]; + dst[2] = hdec.out[2]; + dst += hdec.lens & 3; + avail_bits -= hdec.lens >> 2; + } + while (avail_bits >= 16 && hdec.lens); + if (avail_bits < 16) + continue; + goto slow_path; + } + else + while (avail_bits >= 16) + { + idx = (uint16_t)(buf >> (avail_bits - 16)); + hdec = hdecs[idx]; + len = hdec.lens & 3; + if (len && dst + len <= dst_end) + { + switch (len) + { + case 3: + *dst++ = hdec.out[0]; + *dst++ = hdec.out[1]; + *dst++ = hdec.out[2]; + break; + case 2: + *dst++ = hdec.out[0]; + *dst++ = hdec.out[1]; + break; + default: + *dst++ = hdec.out[0]; + break; + } + avail_bits -= hdec.lens >> 2; + } + else if (dst + len > dst_end) + goto dst_ended; + else + goto slow_path; + } + } + + if (avail_bits >= SHORTEST_CODE) + { + idx = (uint16_t)(buf << (16 - avail_bits)); + idx |= (1 << (16 - avail_bits)) - 1; /* EOF */ + if (idx == 0xFFFF && avail_bits < 8) + goto end; + /* If a byte or more of input is left, this mean there is a valid + * encoding, not just EOF. + */ + hdec = hdecs[idx]; + len = hdec.lens & 3; + if ((unsigned)(hdec.lens >> 2) > avail_bits) + return (struct huff_decode_retval) { + .status = HUFF_DEC_ERROR, + .n_dst = 0, + .n_src = 0, + }; + if (len && dst + len <= dst_end) + { + switch (len) + { + case 3: + *dst++ = hdec.out[0]; + *dst++ = hdec.out[1]; + *dst++ = hdec.out[2]; + break; + case 2: + *dst++ = hdec.out[0]; + *dst++ = hdec.out[1]; + break; + default: + *dst++ = hdec.out[0]; + break; + } + avail_bits -= hdec.lens >> 2; + } + else if (dst + len > dst_end) + goto dst_ended; + else + /* This must be an invalid code, otherwise it would have fit */ + return (struct huff_decode_retval) { + .status = HUFF_DEC_ERROR, + .n_dst = 0, + .n_src = 0, + }; + } + + if (avail_bits > 0) + { + if (((1u << avail_bits) - 1) != (buf & ((1u << avail_bits) - 1))) + return (struct huff_decode_retval) { /* Not EOF as expected */ + .status = HUFF_DEC_ERROR, + .n_dst = 0, + .n_src = 0, + }; + } +#if __GNUC__ +#pragma GCC diagnostic pop +#endif + + end: + return (struct huff_decode_retval) { + .status = HUFF_DEC_OK, + .n_dst = (unsigned)(dst - orig_dst), + .n_src = src_len - (int)(src_end - src), + }; + + dst_ended: + /* Find previous byte boundary. It is OK not to consume all input, as we + * always grow the destination buffer and try again. + */ + while ((avail_bits & 7) && dst > orig_dst) + avail_bits += encode_table[ *--dst ].bits; + assert((avail_bits & 7) == 0); + src -= avail_bits >> 3; + return (struct huff_decode_retval) { + .status = HUFF_DEC_END_DST, + .n_dst = dst_len - (int)(dst_end - dst), + .n_src = src_len - (int)(src_end - src), + }; + + slow_path: + /* Find previous byte boundary and finish decoding thence. */ + while ((avail_bits & 7) && dst > orig_dst) + avail_bits += encode_table[ *--dst ].bits; + assert((avail_bits & 7) == 0); + src -= avail_bits >> 3; + rv = lsqpack_huff_decode_full(src, (int)(src_end - src), dst, + (int)(dst_end - dst), state, final); + if (rv.status == HUFF_DEC_OK || rv.status == HUFF_DEC_END_DST) + { + rv.n_dst += dst_len - (int)(dst_end - dst); + rv.n_src += src_len - (int)(src_end - src); + } + return rv; +} +#endif +#if __GNUC__ +#pragma GCC diagnostic pop /* -Wunknown-pragmas */ +#endif diff --git a/external/lsquic/src/liblsquic/ls-qpack/lsqpack.h b/external/lsquic/src/liblsquic/ls-qpack/lsqpack.h new file mode 100644 index 0000000..d8d08a5 --- /dev/null +++ b/external/lsquic/src/liblsquic/ls-qpack/lsqpack.h @@ -0,0 +1,859 @@ +/* + * lsqpack.h - QPACK library + */ + +/* +MIT License + +Copyright (c) 2018 - 2023 LiteSpeed Technologies Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#ifndef LSQPACK_H +#define LSQPACK_H 1 + +#include +#include +#include + +#if defined(_MSC_VER) +#include +typedef SSIZE_T ssize_t; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define LSQPACK_MAJOR_VERSION 2 +#define LSQPACK_MINOR_VERSION 6 +#define LSQPACK_PATCH_VERSION 1 + +/** Let's start with four billion for now */ +typedef unsigned lsqpack_abs_id_t; + +#define LSQPACK_MAX_ABS_ID (~((lsqpack_abs_id_t) 0)) + +#define LSQPACK_DEF_DYN_TABLE_SIZE 0 +#define LSQPACK_DEF_MAX_RISKED_STREAMS 0 + +struct lsqpack_enc; +struct lsqpack_dec; +struct lsxpack_header; + +enum lsqpack_enc_opts +{ + /** + * Client and server follow different heuristics. The encoder is either + * in one or the other mode. + * + * At the moment this option is a no-op. This is a potential future + * work item where some heuristics may be added to the library. + */ + LSQPACK_ENC_OPT_SERVER = 1 << 0, + + /** + * The encoder was pre-initialized using @ref lsqpack_enc_preinit() and + * so some initialization steps can be skipped. + */ + LSQPACK_ENC_OPT_STAGE_2 = 1 << 1, + + /* The options below are advanced. The author only uses them for debugging + * or testing. + */ + + /** + * Disable emitting dup instructions. + * + * Disabling dup instructions usually makes compression performance + * significanly worse. Do not use unless you know what you are doing. + */ + LSQPACK_ENC_OPT_NO_DUP = 1 << 2, + + /** + * Index aggressively: ignore history + * + * Ignoring history usually makes compression performance significanly + * worse. Do not use unless you know what you are doing. + */ + LSQPACK_ENC_OPT_IX_AGGR = 1 << 3, + + /** + * Turn off memory guard: keep on allocating state tracking oustanding + * headers even if they never get acknowledged. + * + * This is useful for some forms of testing. + */ + LSQPACK_ENC_OPT_NO_MEM_GUARD = 1 << 4, +}; + + +/** + * Initialize the encoder so that it can be used without using the + * dynamic table. Once peer's settings are known, call + * @ref lsqpack_enc_init(). + * + * `logger_ctx' can be set to NULL if no special logging is set up. + */ +void +lsqpack_enc_preinit (struct lsqpack_enc *, void *logger_ctx); + +/** + * Number of bytes required to encode the longest possible Set Dynamic Table + * Capacity instruction. This is a theoretical limit based on the integral + * type (unsigned int) used by this library to store the capacity value. If + * the encoder is initialized with a smaller maximum table capacity, it is + * safe to use fewer bytes. + * + * SDTC instructtion can be produced by @ref lsqpack_enc_init() and + * @ref lsqpack_enc_set_max_capacity(). + */ +#if UINT_MAX == 65535 +#define LSQPACK_LONGEST_SDTC 4 +#elif UINT_MAX == 4294967295 +#define LSQPACK_LONGEST_SDTC 6 +#elif UINT_MAX == 18446744073709551615ULL +#define LSQPACK_LONGEST_SDTC 11 +#else +#error unexpected sizeof(unsigned) +#endif + +int +lsqpack_enc_init (struct lsqpack_enc *, + /** `logger_ctx' can be set to NULL if no special logging is set up. */ + void *logger_ctx, + /** + * As specified by the decoder. This value is used to calculate + * MaxEntries. + */ + unsigned max_table_size, + /** + * Actual dynamic table size to use. + */ + unsigned dyn_table_size, + unsigned max_risked_streams, enum lsqpack_enc_opts, + /** + * If `dyn_table_size' is not zero, Set Dynamic Table Capacity (SDTC) + * instruction is generated and placed into `sdtc_buf'. `sdtc_buf_sz' + * parameter is used both for input and output. + * + * If `dyn_table_size' is zero, `sdtc_buf' and `sdtc_buf_sz' are optional + * and can be set to NULL. + */ + unsigned char *sdtc_buf, size_t *sdtc_buf_sz); + +/** + * Set table size to `capacity'. If necessary, Set Dynamic Table Capacity + * (SDTC) instruction is generated and placed into `tsu_buf'. If `capacity' + * is larger than the maximum table size specified during initialization, an + * error is returned. + */ +int +lsqpack_enc_set_max_capacity (struct lsqpack_enc *enc, unsigned capacity, + unsigned char *sdtc_buf, size_t *sdtc_buf_sz); + +/** Start a new header block. Return 0 on success or -1 on error. */ +int +lsqpack_enc_start_header (struct lsqpack_enc *, uint64_t stream_id, + unsigned seqno); + +/** Status returned by @ref lsqpack_enc_encode() */ +enum lsqpack_enc_status +{ + /** Header field encoded successfully */ + LQES_OK, + /** There was not enough room in the encoder stream buffer */ + LQES_NOBUF_ENC, + /** There was not enough room in the header block buffer */ + LQES_NOBUF_HEAD, +}; + +enum lsqpack_enc_flags +{ + /** + * Do not index this header field. No output to the encoder stream + * will be produced. + */ + LQEF_NO_INDEX = 1 << 0, + /** + * Never index this field. This will set the 'N' bit on Literal Header + * Field With Name Reference, Literal Header Field With Post-Base Name + * Reference, and Literal Header Field Without Name Reference instructions + * in the header block. Implies LQEF_NO_INDEX. + */ + LQEF_NEVER_INDEX = 1 << 1, + /** + * Do not update history. + */ + LQEF_NO_HIST_UPD = 1 << 2, + /** + * Do not use the dynamic table. This is stricter than LQEF_NO_INDEX: + * this means that the dynamic table will be neither referenced nor + * modified. + */ + LQEF_NO_DYN = 1 << 3, +}; + +/** + * Encode header field into current header block. + * + * See @ref lsqpack_enc_status for explanation of the return values. + * + * enc_sz and header_sz parameters are used for both input and output. If + * the return value is LQES_OK, they contain number of bytes written to + * enc_buf and header_buf, respectively. enc_buf contains the bytes that + * must be written to the encoder stream; header_buf contains bytes that + * must be written to the header block. + * + * Note that even though this function may allocate memory, it falls back to + * not using the dynamic table should memory allocation fail. Thus, failures + * to encode due to not enough memory do not exist. + */ +enum lsqpack_enc_status +lsqpack_enc_encode (struct lsqpack_enc *, + unsigned char *enc_buf, size_t *enc_sz, + unsigned char *header_buf, size_t *header_sz, + const struct lsxpack_header *, + enum lsqpack_enc_flags flags); + +/** + * Cancel current header block. Cancellation is only allowed if the dynamic + * table is not used. Returns 0 on success, -1 on failure. + */ +int +lsqpack_enc_cancel_header (struct lsqpack_enc *); + + +/** + * Properties of the current header block + */ +enum lsqpack_enc_header_flags +{ + /** Set if there are at-risk references in this header block */ + LSQECH_REF_AT_RISK = 1 << 0, + /** Set if the header block references newly inserted entries */ + LSQECH_REF_NEW_ENTRIES = 1 << 1, + /** Set if min-reffed value is cached */ + LSQECH_MINREF_CACHED = 1 << 2, +}; + + +/** + * End current header block. The Header Block Prefix is written to `buf'. + * + * `buf' must be at least two bytes. 11 bytes are necessary to encode + * UINT64_MAX using 7- or 8-bit prefix. Therefore, 22 bytes is the + * theoretical maximum for this library. + * + * Use @ref lsqpack_enc_header_block_prefix_size() if you require better + * precision. + * + * Returns: + * - A positive value indicates success and is the number of bytes + * written to `buf'. + * - Zero means that there is not enough room in `buf' to write out the + * full prefix. + * - A negative value means an error. This is returned if there is no + * started header to end. + * + * If header was ended successfully and @ref flags is not NULL, it is + * assigned properties of the header block. + */ +ssize_t +lsqpack_enc_end_header (struct lsqpack_enc *, unsigned char *buf, size_t, + enum lsqpack_enc_header_flags *flags /* Optional */); + +/** + * Process next chunk of bytes from the decoder stream. Returns 0 on success, + * -1 on failure. The failure should be treated as fatal. + */ +int +lsqpack_enc_decoder_in (struct lsqpack_enc *, const unsigned char *, size_t); + +/** + * Return estimated compression ratio until this point. Compression ratio + * is defined as size of the output divided by the size of the input, where + * output includes both header blocks and instructions sent on the encoder + * stream. + */ +float +lsqpack_enc_ratio (const struct lsqpack_enc *); + +/** + * Return maximum size needed to encode Header Block Prefix + */ +size_t +lsqpack_enc_header_block_prefix_size (const struct lsqpack_enc *); + +void +lsqpack_enc_cleanup (struct lsqpack_enc *); + +/** Decoder header set interface */ +struct lsqpack_dec_hset_if +{ + void (*dhi_unblocked)(void *hblock_ctx); + struct lsxpack_header * + (*dhi_prepare_decode)(void *hblock_ctx, + struct lsxpack_header *, size_t space); + int (*dhi_process_header)(void *hblock_ctx, struct lsxpack_header *); +}; + +enum lsqpack_dec_opts +{ + /** + * In this mode, returned lsxpack_header will contain ": " between + * name and value strings and have "\r\n" after the value. + */ + LSQPACK_DEC_OPT_HTTP1X = 1 << 0, + /** Include name hash into lsxpack_header */ + LSQPACK_DEC_OPT_HASH_NAME = 1 << 1, + /** Include nameval hash into lsxpack_header */ + LSQPACK_DEC_OPT_HASH_NAMEVAL = 1 << 2, +}; + +void +lsqpack_dec_init (struct lsqpack_dec *, void *logger_ctx, + unsigned dyn_table_size, unsigned max_risked_streams, + const struct lsqpack_dec_hset_if *, enum lsqpack_dec_opts); + +/** + * Values returned by @ref lsqpack_dec_header_in() and + * @ref lsqpack_dec_header_read() + */ +enum lsqpack_read_header_status +{ + /** + * The decoder decodes the header and placed it in `buf'. + * It is caller's responsibility to manage provided `buf'. + */ + LQRHS_DONE, + /** + * The decoder cannot decode the header block until more dynamic table + * entries become available. `buf' is advanced. When the header block + * becomes unblocked, the decoder will call hblock_unblocked() callback + * specified in the constructor. See @ref lsqpack_dec_init(). + * + * Once a header block is unblocked, it cannot get blocked again. In + * other words, this status can only be returned once per header block. + */ + LQRHS_BLOCKED, + /** + * The decoder needs more bytes from the header block to proceed. When + * they become available, call @ref lsqpack_dec_header_read(). `buf' is + * advanced. + */ + LQRHS_NEED, + /** + * An error has occurred. This can be any error: decoding error, memory + * allocation failure, or some internal error. + */ + LQRHS_ERROR, +}; + +/** + * Number of bytes needed to encode the longest Header Acknowledgement + * instruction. + */ +#define LSQPACK_LONGEST_HEADER_ACK 10 + + +/** + * Call this function when the header blocks is first read. The decoder + * will try to decode the header block. The decoder can process header + * blocks in a streaming fashion, which means that there is no need to + * buffer the header block. As soon as header block bytes become available, + * they can be fed to this function or @ref lsqpack_dec_header_read(). + * + * See @ref lsqpack_read_header_status for explanation of the return codes. + * + * If the decoder returns LQRHS_NEED or LQRHS_BLOCKED, it keeps a reference to + * the user-provided header block context `hblock_ctx'. It uses this value for + * two purposes: + * 1. to use as argument to hblock_unblocked(); and + * 2. to locate header block state when @ref lsqpack_dec_header_read() is + * called. + * + * If the decoder returns LQRHS_DONE or LQRHS_ERROR, it means that it no + * longer has a reference to the header block. + */ +enum lsqpack_read_header_status +lsqpack_dec_header_in (struct lsqpack_dec *, void *hblock_ctx, + uint64_t stream_id, size_t header_block_size, + const unsigned char **buf, size_t bufsz, + unsigned char *dec_buf, size_t *dec_buf_sz); + +/** + * Call this function when more header block bytes are become available + * after this function or @ref lsqpack_dec_header_in() returned LQRHS_NEED + * or hblock_unblocked() callback has been called. This function behaves + * similarly to @ref lsqpack_dec_header_in(): see its comments for more + * information. + */ +enum lsqpack_read_header_status +lsqpack_dec_header_read (struct lsqpack_dec *dec, void *hblock_ctx, + const unsigned char **buf, size_t bufsz, + unsigned char *dec_buf, size_t *dec_buf_sz); + +/** + * Feed encoder stream data to the decoder. Zero is returned on success, + * negative value on error. + */ +int +lsqpack_dec_enc_in (struct lsqpack_dec *, const unsigned char *, size_t); + +/** + * Returns true if Insert Count Increment (ICI) instruction is pending. + */ +int +lsqpack_dec_ici_pending (const struct lsqpack_dec *dec); + +/** + * Number of bytes required to encode the longest Insert Count Increment (ICI) + * instruction. + */ +#define LSQPACK_LONGEST_ICI 6 + +ssize_t +lsqpack_dec_write_ici (struct lsqpack_dec *, unsigned char *, size_t); + +/** Number of bytes required to encode the longest cancel instruction */ +#define LSQPACK_LONGEST_CANCEL 6 + +/** + * Cancel stream associated with the header block context `hblock_ctx' and + * write cancellation instruction to `buf'. `buf' must be at least + * @ref LSQPACK_LONGEST_CANCEL bytes long. + * + * Number of bytes written to `buf' is returned. If stream `stream_id' + * could not be found, zero is returned. If `buf' is too short, -1 is + * returned. + */ +ssize_t +lsqpack_dec_cancel_stream (struct lsqpack_dec *, void *hblock_ctx, + unsigned char *buf, size_t buf_sz); + +/** + * Generate Cancel Stream instruction for stream `stream_id'. Call when + * abandoning stream (see [draft-ietf-quic-qpack-14] Section 2.2.2.2). + * + * Return values: + * -1 error (`buf' is too short) + * 0 Emitting Cancel Stream instruction is unnecessary + * >0 Size of Cancel Stream instruction written to `buf'. + */ +ssize_t +lsqpack_dec_cancel_stream_id (struct lsqpack_dec *dec, uint64_t stream_id, + unsigned char *buf, size_t buf_sz); + +/** + * Delete reference to the header block context `hblock_ctx'. Use this + * instead of @ref lsqpack_dec_cancel_stream() when producing a Cancel Stream + * instruction is not necessary. + */ +int +lsqpack_dec_unref_stream (struct lsqpack_dec *, void *hblock_ctx); + +/** + * Return estimated compression ratio until this point. Compression ratio + * is defined as size of the input divided by the size of the output, where + * input includes both header blocks and instructions received on the encoder + * stream. + */ +float +lsqpack_dec_ratio (const struct lsqpack_dec *); + +/** + * Clean up the decoder. If any there are any blocked header blocks, + * references to them will be discarded. + */ +void +lsqpack_dec_cleanup (struct lsqpack_dec *); + +/** + * Print human-readable decoder table. + */ +void +lsqpack_dec_print_table (const struct lsqpack_dec *, FILE *out); + + +struct lsqpack_dec_err +{ + enum { + LSQPACK_DEC_ERR_LOC_HEADER_BLOCK, + LSQPACK_DEC_ERR_LOC_ENC_STREAM, + } type; + int line; /* In the source file */ + uint64_t off; /* Offset in header block or on encoder stream */ + uint64_t stream_id; /* Only applicable to header block */ +}; + + +const struct lsqpack_dec_err * +lsqpack_dec_get_err_info (const struct lsqpack_dec *); + +/** + * Enum for name/value entries in the static table. Use it to speed up + * encoding by setting xhdr->qpack_index and LSXPACK_QPACK_IDX flag. If + * it's a full match, set LSXPACK_VAL_MATCHED flag as well. + */ +enum lsqpack_tnv +{ + LSQPACK_TNV_AUTHORITY = 0, /* ":authority" "" */ + LSQPACK_TNV_PATH = 1, /* ":path" "/" */ + LSQPACK_TNV_AGE_0 = 2, /* "age" "0" */ + LSQPACK_TNV_CONTENT_DISPOSITION = 3, /* "content-disposition" "" */ + LSQPACK_TNV_CONTENT_LENGTH_0 = 4, /* "content-length" "0" */ + LSQPACK_TNV_COOKIE = 5, /* "cookie" "" */ + LSQPACK_TNV_DATE = 6, /* "date" "" */ + LSQPACK_TNV_ETAG = 7, /* "etag" "" */ + LSQPACK_TNV_IF_MODIFIED_SINCE = 8, /* "if-modified-since" "" */ + LSQPACK_TNV_IF_NONE_MATCH = 9, /* "if-none-match" "" */ + LSQPACK_TNV_LAST_MODIFIED = 10, /* "last-modified" "" */ + LSQPACK_TNV_LINK = 11, /* "link" "" */ + LSQPACK_TNV_LOCATION = 12, /* "location" "" */ + LSQPACK_TNV_REFERER = 13, /* "referer" "" */ + LSQPACK_TNV_SET_COOKIE = 14, /* "set-cookie" "" */ + LSQPACK_TNV_METHOD_CONNECT = 15, /* ":method" "CONNECT" */ + LSQPACK_TNV_METHOD_DELETE = 16, /* ":method" "DELETE" */ + LSQPACK_TNV_METHOD_GET = 17, /* ":method" "GET" */ + LSQPACK_TNV_METHOD_HEAD = 18, /* ":method" "HEAD" */ + LSQPACK_TNV_METHOD_OPTIONS = 19, /* ":method" "OPTIONS" */ + LSQPACK_TNV_METHOD_POST = 20, /* ":method" "POST" */ + LSQPACK_TNV_METHOD_PUT = 21, /* ":method" "PUT" */ + LSQPACK_TNV_SCHEME_HTTP = 22, /* ":scheme" "http" */ + LSQPACK_TNV_SCHEME_HTTPS = 23, /* ":scheme" "https" */ + LSQPACK_TNV_STATUS_103 = 24, /* ":status" "103" */ + LSQPACK_TNV_STATUS_200 = 25, /* ":status" "200" */ + LSQPACK_TNV_STATUS_304 = 26, /* ":status" "304" */ + LSQPACK_TNV_STATUS_404 = 27, /* ":status" "404" */ + LSQPACK_TNV_STATUS_503 = 28, /* ":status" "503" */ + LSQPACK_TNV_ACCEPT = 29, /* "accept" star slash star */ + LSQPACK_TNV_ACCEPT_APPLICATION_DNS_MESSAGE = 30, /* "accept" "application/dns-message" */ + LSQPACK_TNV_ACCEPT_ENCODING_GZIP_DEFLATE_BR = 31, /* "accept-encoding" "gzip, deflate, br" */ + LSQPACK_TNV_ACCEPT_RANGES_BYTES = 32, /* "accept-ranges" "bytes" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_HEADERS_CACHE_CONTROL = 33, /* "access-control-allow-headers" "cache-control" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_HEADERS_CONTENT_TYPE = 34, /* "access-control-allow-headers" "content-type" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_ORIGIN = 35, /* "access-control-allow-origin" "*" */ + LSQPACK_TNV_CACHE_CONTROL_MAX_AGE_0 = 36, /* "cache-control" "max-age=0" */ + LSQPACK_TNV_CACHE_CONTROL_MAX_AGE_2592000 = 37, /* "cache-control" "max-age=2592000" */ + LSQPACK_TNV_CACHE_CONTROL_MAX_AGE_604800 = 38, /* "cache-control" "max-age=604800" */ + LSQPACK_TNV_CACHE_CONTROL_NO_CACHE = 39, /* "cache-control" "no-cache" */ + LSQPACK_TNV_CACHE_CONTROL_NO_STORE = 40, /* "cache-control" "no-store" */ + LSQPACK_TNV_CACHE_CONTROL_PUBLIC_MAX_AGE_31536000 = 41, /* "cache-control" "public, max-age=31536000" */ + LSQPACK_TNV_CONTENT_ENCODING_BR = 42, /* "content-encoding" "br" */ + LSQPACK_TNV_CONTENT_ENCODING_GZIP = 43, /* "content-encoding" "gzip" */ + LSQPACK_TNV_CONTENT_TYPE_APPLICATION_DNS_MESSAGE = 44, /* "content-type" "application/dns-message" */ + LSQPACK_TNV_CONTENT_TYPE_APPLICATION_JAVASCRIPT = 45, /* "content-type" "application/javascript" */ + LSQPACK_TNV_CONTENT_TYPE_APPLICATION_JSON = 46, /* "content-type" "application/json" */ + LSQPACK_TNV_CONTENT_TYPE_APPLICATION_X_WWW_FORM_URLENCODED = 47, /* "content-type" "application/x-www-form-urlencoded" */ + LSQPACK_TNV_CONTENT_TYPE_IMAGE_GIF = 48, /* "content-type" "image/gif" */ + LSQPACK_TNV_CONTENT_TYPE_IMAGE_JPEG = 49, /* "content-type" "image/jpeg" */ + LSQPACK_TNV_CONTENT_TYPE_IMAGE_PNG = 50, /* "content-type" "image/png" */ + LSQPACK_TNV_CONTENT_TYPE_TEXT_CSS = 51, /* "content-type" "text/css" */ + LSQPACK_TNV_CONTENT_TYPE_TEXT_HTML_CHARSET_UTF_8 = 52, /* "content-type" "text/html; charset=utf-8" */ + LSQPACK_TNV_CONTENT_TYPE_TEXT_PLAIN = 53, /* "content-type" "text/plain" */ + LSQPACK_TNV_CONTENT_TYPE_TEXT_PLAIN_CHARSET_UTF_8 = 54, /* "content-type" "text/plain;charset=utf-8" */ + LSQPACK_TNV_RANGE_BYTES_0 = 55, /* "range" "bytes=0-" */ + LSQPACK_TNV_STRICT_TRANSPORT_SECURITY_MAX_AGE_31536000 = 56, /* "strict-transport-security" "max-age=31536000" */ + LSQPACK_TNV_STRICT_TRANSPORT_SECURITY_MAX_AGE_31536000_INCLUDESUBDOMAINS = 57, /* "strict-transport-security" "max-age=31536000; includesubdomains" */ + LSQPACK_TNV_STRICT_TRANSPORT_SECURITY_MAX_AGE_31536000_INCLUDESUBDOMAINS_PRELOAD = 58, /* "strict-transport-security" "max-age=31536000; includesubdomains; preload" */ + LSQPACK_TNV_VARY_ACCEPT_ENCODING = 59, /* "vary" "accept-encoding" */ + LSQPACK_TNV_VARY_ORIGIN = 60, /* "vary" "origin" */ + LSQPACK_TNV_X_CONTENT_TYPE_OPTIONS_NOSNIFF = 61, /* "x-content-type-options" "nosniff" */ + LSQPACK_TNV_X_XSS_PROTECTION_1_MODE_BLOCK = 62, /* "x-xss-protection" "1; mode=block" */ + LSQPACK_TNV_STATUS_100 = 63, /* ":status" "100" */ + LSQPACK_TNV_STATUS_204 = 64, /* ":status" "204" */ + LSQPACK_TNV_STATUS_206 = 65, /* ":status" "206" */ + LSQPACK_TNV_STATUS_302 = 66, /* ":status" "302" */ + LSQPACK_TNV_STATUS_400 = 67, /* ":status" "400" */ + LSQPACK_TNV_STATUS_403 = 68, /* ":status" "403" */ + LSQPACK_TNV_STATUS_421 = 69, /* ":status" "421" */ + LSQPACK_TNV_STATUS_425 = 70, /* ":status" "425" */ + LSQPACK_TNV_STATUS_500 = 71, /* ":status" "500" */ + LSQPACK_TNV_ACCEPT_LANGUAGE = 72, /* "accept-language" "" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_CREDENTIALS_FALSE = 73, /* "access-control-allow-credentials" "FALSE" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_CREDENTIALS_TRUE = 74, /* "access-control-allow-credentials" "TRUE" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_HEADERS = 75, /* "access-control-allow-headers" "*" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_METHODS_GET = 76, /* "access-control-allow-methods" "get" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_METHODS_GET_POST_OPTIONS = 77, /* "access-control-allow-methods" "get, post, options" */ + LSQPACK_TNV_ACCESS_CONTROL_ALLOW_METHODS_OPTIONS = 78, /* "access-control-allow-methods" "options" */ + LSQPACK_TNV_ACCESS_CONTROL_EXPOSE_HEADERS_CONTENT_LENGTH = 79, /* "access-control-expose-headers" "content-length" */ + LSQPACK_TNV_ACCESS_CONTROL_REQUEST_HEADERS_CONTENT_TYPE = 80, /* "access-control-request-headers" "content-type" */ + LSQPACK_TNV_ACCESS_CONTROL_REQUEST_METHOD_GET = 81, /* "access-control-request-method" "get" */ + LSQPACK_TNV_ACCESS_CONTROL_REQUEST_METHOD_POST = 82, /* "access-control-request-method" "post" */ + LSQPACK_TNV_ALT_SVC_CLEAR = 83, /* "alt-svc" "clear" */ + LSQPACK_TNV_AUTHORIZATION = 84, /* "authorization" "" */ + LSQPACK_TNV_CONTENT_SECURITY_POLICY_SCRIPT_SRC_NONE_OBJECT_SRC_NONE_BASE_URI_NONE = 85, /* "content-security-policy" "script-src 'none'; object-src 'none'; base-uri 'none'" */ + LSQPACK_TNV_EARLY_DATA_1 = 86, /* "early-data" "1" */ + LSQPACK_TNV_EXPECT_CT = 87, /* "expect-ct" "" */ + LSQPACK_TNV_FORWARDED = 88, /* "forwarded" "" */ + LSQPACK_TNV_IF_RANGE = 89, /* "if-range" "" */ + LSQPACK_TNV_ORIGIN = 90, /* "origin" "" */ + LSQPACK_TNV_PURPOSE_PREFETCH = 91, /* "purpose" "prefetch" */ + LSQPACK_TNV_SERVER = 92, /* "server" "" */ + LSQPACK_TNV_TIMING_ALLOW_ORIGIN = 93, /* "timing-allow-origin" "*" */ + LSQPACK_TNV_UPGRADE_INSECURE_REQUESTS_1 = 94, /* "upgrade-insecure-requests" "1" */ + LSQPACK_TNV_USER_AGENT = 95, /* "user-agent" "" */ + LSQPACK_TNV_X_FORWARDED_FOR = 96, /* "x-forwarded-for" "" */ + LSQPACK_TNV_X_FRAME_OPTIONS_DENY = 97, /* "x-frame-options" "deny" */ + LSQPACK_TNV_X_FRAME_OPTIONS_SAMEORIGIN = 98, /* "x-frame-options" "sameorigin" */ +}; + +#ifdef __cplusplus +} +#endif + + +/* + * Internals follow. The internals are subject to change without notice. + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* It takes 11 bytes to encode UINT64_MAX as HPACK integer */ +#define LSQPACK_UINT64_ENC_SZ 11u + +struct lsqpack_enc_table_entry; + +STAILQ_HEAD(lsqpack_enc_head, lsqpack_enc_table_entry); +struct lsqpack_double_enc_head; + +struct lsqpack_header_info_arr; + +struct lsqpack_dec_int_state +{ + int resume; + unsigned M, nread; + uint64_t val; +}; + +struct lsqpack_enc +{ + /* The number of all the entries in the dynamic table that have been + * created so far. This is used to calculate the Absolute Index. + */ + lsqpack_abs_id_t qpe_ins_count; + lsqpack_abs_id_t qpe_max_acked_id; + lsqpack_abs_id_t qpe_last_ici; + + enum { + LSQPACK_ENC_HEADER = 1 << 0, + LSQPACK_ENC_USE_DUP = 1 << 1, + LSQPACK_ENC_NO_MEM_GUARD = 1 << 2, + } qpe_flags; + + unsigned qpe_cur_bytes_used; + unsigned qpe_cur_max_capacity; + unsigned qpe_real_max_capacity; + unsigned qpe_max_entries; + /* Sum of all dropped entries. OK if it overflows. */ + unsigned qpe_dropped; + + /* The maximum risked streams is the SETTINGS_QPACK_BLOCKED_STREAMS + * setting. Note that streams must be differentiated from headers. + */ + unsigned qpe_max_risked_streams; + unsigned qpe_cur_streams_at_risk; + + /* Number of used entries in qpe_hinfo_arrs */ + unsigned qpe_hinfo_arrs_count; + + /* Dynamic table entries (struct enc_table_entry) live in two hash + * tables: name/value hash table and name hash table. These tables + * are the same size. + */ + unsigned qpe_nelem; + unsigned qpe_nbits; + struct lsqpack_enc_head qpe_all_entries; + struct lsqpack_double_enc_head + *qpe_buckets; + + STAILQ_HEAD(, lsqpack_header_info_arr) + qpe_hinfo_arrs; + TAILQ_HEAD(, lsqpack_header_info) + qpe_all_hinfos; + TAILQ_HEAD(, lsqpack_header_info) + qpe_risked_hinfos; + + /* Current header state */ + struct { + struct lsqpack_header_info *hinfo, *other_at_risk; + + /* Number of headers in this header list added to the history */ + unsigned n_hdr_added_to_hist; + lsqpack_abs_id_t min_reffed; + enum lsqpack_enc_header_flags + flags; + lsqpack_abs_id_t base_idx; + } qpe_cur_header; + + struct { + struct lsqpack_dec_int_state dec_int_state; + int (*handler)(struct lsqpack_enc *, uint64_t); + } qpe_dec_stream_state; + + /* Used to calculate estimated compression ratio. Note that the `out' + * part contains bytes sent on the decoder stream, as it also counts + * toward the overhead. + */ + unsigned qpe_bytes_in; + unsigned qpe_bytes_out; + void *qpe_logger_ctx; + + /* Exponential moving averages (EMAs) of the number of elements in the + * dynamic table and the number of header fields in a single header list. + * These values are used to adjust history size. + */ + float qpe_table_nelem_ema; + float qpe_header_count_ema; + + struct lsqpack_hist_el *qpe_hist_els; + unsigned qpe_hist_idx; + unsigned qpe_hist_nels; + int qpe_hist_wrapped; +}; + +struct lsqpack_ringbuf +{ + unsigned rb_nalloc, rb_head, rb_tail; + void **rb_els; +}; + +TAILQ_HEAD(lsqpack_header_sets, lsqpack_header_set_elem); + +struct lsqpack_header_block; + +struct lsqpack_decode_status +{ + uint8_t state; + uint8_t eos; +}; + +struct lsqpack_huff_decode_state +{ + int resume; + struct lsqpack_decode_status status; +}; + +struct lsqpack_dec_inst; + +struct lsqpack_dec +{ + enum lsqpack_dec_opts qpd_opts; + /** This is the hard limit set at initialization */ + unsigned qpd_max_capacity; + /** The current maximum capacity can be adjusted at run-time */ + unsigned qpd_cur_max_capacity; + unsigned qpd_cur_capacity; + unsigned qpd_max_risked_streams; + unsigned qpd_max_entries; + /* Used to calculate estimated compression ratio. Note that the `in' + * part contains bytes sent on the decoder stream, as it also counts + * toward the overhead. + */ + unsigned qpd_bytes_in; + unsigned qpd_bytes_out; + /** ID of the last dynamic table entry. Has the range + * [0, qpd_max_entries * 2 - 1 ] + */ + lsqpack_abs_id_t qpd_last_id; + /** TODO: describe the mechanism */ + lsqpack_abs_id_t qpd_largest_known_id; + const struct lsqpack_dec_hset_if + *qpd_dh_if; + + void *qpd_logger_ctx; + + /** This is the dynamic table */ + struct lsqpack_ringbuf qpd_dyn_table; + + TAILQ_HEAD(, header_block_read_ctx) + qpd_hbrcs; + + /** Blocked headers are kept in a small hash */ +#define LSQPACK_DEC_BLOCKED_BITS 3 + TAILQ_HEAD(, header_block_read_ctx) + qpd_blocked_headers[1 << LSQPACK_DEC_BLOCKED_BITS]; + /** Number of blocked streams (in qpd_blocked_headers) */ + unsigned qpd_n_blocked; + + /** Average number of header fields in header list */ + float qpd_hlist_size_ema; + + /** Reading the encoder stream */ + struct { + int resume; + union { + /* State for reading in the Insert With Named Reference + * instruction. + */ + struct { + struct lsqpack_dec_int_state dec_int_state; + struct lsqpack_huff_decode_state dec_huff_state; + unsigned name_idx; + unsigned val_len; + struct lsqpack_dec_table_entry *reffed_entry; + struct lsqpack_dec_table_entry *entry; + const char *name; + unsigned alloced_val_len; + unsigned val_off; + unsigned nread; + unsigned name_len; + signed char is_huffman; + signed char is_static; + } with_namref; + + /* State for reading in the Insert Without Named Reference + * instruction. + */ + struct { + struct lsqpack_dec_int_state dec_int_state; + struct lsqpack_huff_decode_state dec_huff_state; + unsigned str_len; + struct lsqpack_dec_table_entry *entry; + unsigned alloced_len; + unsigned str_off; + unsigned nread; + signed char is_huffman; + } wo_namref; + + struct { + struct lsqpack_dec_int_state dec_int_state; + unsigned index; + } duplicate; + + struct { + struct lsqpack_dec_int_state dec_int_state; + uint64_t new_size; + } sdtc; + } ctx_u; + } qpd_enc_state; + struct lsqpack_dec_err qpd_err; +}; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/lsquic/src/liblsquic/ls-sfparser.c b/external/lsquic/src/liblsquic/ls-sfparser.c new file mode 100644 index 0000000..281670f --- /dev/null +++ b/external/lsquic/src/liblsquic/ls-sfparser.c @@ -0,0 +1,3173 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#line 2 "ls-sfparser.c" +#line 2 "ls-sfparser.l" +/* +MIT License + +Copyright (c) 2020 LiteSpeed Technologies Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + + + +#line 30 "ls-sfparser.c" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! C99 */ + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. + */ +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) + +/* An opaque pointer. */ +#ifndef YY_TYPEDEF_YY_SCANNER_T +#define YY_TYPEDEF_YY_SCANNER_T +typedef void* yyscan_t; +#endif + +/* For convenience, these vars (plus the bison vars far below) + are macros in the reentrant scanner. */ +#define yyin yyg->yyin_r +#define yyout yyg->yyout_r +#define yyextra yyg->yyextra_r +#define yyleng yyg->yyleng_r +#define yytext yyg->yytext_r +#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) +#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) +#define yy_flex_debug yyg->yy_flex_debug_r + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN yyg->yy_start = 1 + 2 * + +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START ((yyg->yy_start - 1) / 2) +#define YYSTATE YY_START + +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE ls_sfp_restart(yyin ,yyscanner ) + +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else +#define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = yyg->yy_hold_char; \ + YY_RESTORE_YY_MORE_OFFSET \ + yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) + +#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via ls_sfp_restart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \ + ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \ + : NULL) + +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] + +void ls_sfp_restart (FILE *input_file ,yyscan_t yyscanner ); +void ls_sfp__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +YY_BUFFER_STATE ls_sfp__create_buffer (FILE *file,int size ,yyscan_t yyscanner ); +void ls_sfp__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void ls_sfp__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void ls_sfp_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +void ls_sfp_pop_buffer_state (yyscan_t yyscanner ); + +static int ls_sfp_ensure_buffer_stack (yyscan_t yyscanner ); +static void ls_sfp__load_buffer_state (yyscan_t yyscanner ); +static void ls_sfp__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); + +#define YY_FLUSH_BUFFER ls_sfp__flush_buffer(YY_CURRENT_BUFFER ,yyscanner) + +YY_BUFFER_STATE ls_sfp__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); +YY_BUFFER_STATE ls_sfp__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); +YY_BUFFER_STATE ls_sfp__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); + +void *ls_sfp_alloc (yy_size_t ,yyscan_t yyscanner ); +void *ls_sfp_realloc (void *,yy_size_t ,yyscan_t yyscanner ); +void ls_sfp_free (void * ,yyscan_t yyscanner ); + +#define yy_new_buffer ls_sfp__create_buffer + +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + ls_sfp_ensure_buffer_stack (yyscanner); \ + YY_CURRENT_BUFFER_LVALUE = \ + ls_sfp__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } + +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + ls_sfp_ensure_buffer_stack (yyscanner); \ + YY_CURRENT_BUFFER_LVALUE = \ + ls_sfp__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } + +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ + +#define ls_sfp_wrap(n) 1 +#define YY_SKIP_YYWRAP + +typedef unsigned char YY_CHAR; + +typedef int yy_state_type; + +#define yytext_ptr yytext_r + +static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); +static int yy_get_next_buffer (yyscan_t yyscanner ); +static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + yyg->yytext_ptr = yy_bp; \ + yyleng = (size_t) (yy_cp - yy_bp); \ + yyg->yy_hold_char = *yy_cp; \ + *yy_cp = '\0'; \ + yyg->yy_c_buf_p = yy_cp; + +#define YY_NUM_RULES 93 +#define YY_END_OF_BUFFER 94 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static yyconst flex_int16_t yy_accept[365] = + { 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 94, 93, 1, 2, 93, 93, 8, 7, + 6, 93, 33, 93, 30, 93, 93, 3, 4, 37, + 39, 38, 45, 43, 44, 42, 40, 41, 93, 49, + 93, 46, 93, 93, 64, 66, 65, 54, 52, 53, + 55, 93, 56, 60, 93, 57, 93, 93, 67, 93, + + 75, 93, 72, 93, 93, 69, 71, 70, 68, 78, + 93, 82, 93, 79, 93, 93, 85, 86, 90, 91, + 89, 87, 88, 93, 9, 13, 93, 10, 93, 93, + 18, 17, 16, 19, 21, 23, 22, 20, 93, 27, + 93, 24, 93, 93, 92, 1, 2, 0, 8, 0, + 7, 8, 5, 0, 32, 0, 33, 30, 0, 30, + 0, 34, 35, 3, 4, 37, 36, 38, 45, 40, + 41, 0, 48, 0, 49, 46, 0, 46, 0, 50, + 51, 64, 63, 65, 52, 55, 0, 59, 0, 56, + 60, 57, 0, 57, 0, 61, 62, 67, 0, 74, + + 0, 75, 72, 0, 72, 0, 76, 77, 69, 78, + 0, 81, 0, 82, 79, 0, 79, 0, 83, 84, + 85, 86, 90, 87, 88, 0, 12, 0, 13, 10, + 0, 10, 0, 14, 15, 18, 16, 16, 19, 21, + 0, 26, 0, 27, 24, 0, 24, 0, 28, 29, + 5, 31, 30, 47, 46, 58, 57, 73, 72, 80, + 79, 11, 10, 25, 24, 31, 30, 47, 46, 58, + 57, 73, 72, 80, 79, 11, 10, 25, 24, 31, + 30, 47, 46, 58, 57, 73, 72, 80, 79, 11, + 10, 25, 24, 30, 46, 57, 72, 79, 10, 24, + + 30, 46, 57, 72, 79, 10, 24, 30, 46, 57, + 72, 79, 10, 24, 30, 46, 57, 72, 79, 10, + 24, 30, 46, 57, 72, 79, 10, 24, 30, 46, + 57, 72, 79, 10, 24, 30, 46, 57, 72, 79, + 10, 24, 30, 46, 57, 72, 79, 10, 24, 30, + 46, 57, 72, 79, 10, 24, 30, 46, 57, 72, + 79, 10, 24, 0 + } ; + +static yyconst flex_int32_t yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 4, 5, 6, 7, 7, 7, 7, 7, 8, + 9, 10, 11, 12, 13, 14, 11, 15, 15, 16, + 16, 16, 16, 16, 16, 16, 16, 17, 18, 19, + 20, 19, 21, 19, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 19, 23, 24, 25, 26, 25, 27, 27, 27, 27, + + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 24, 25, 24, 25, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static yyconst flex_int32_t yy_meta[28] = + { 0, + 1, 1, 1, 2, 3, 2, 3, 2, 2, 4, + 5, 2, 4, 4, 6, 6, 5, 2, 2, 7, + 2, 5, 2, 2, 3, 4, 6 + } ; + +static yyconst flex_int16_t yy_base[395] = + { 0, + 0, 0, 0, 1, 27, 46, 61, 0, 5, 10, + 4, 22, 26, 31, 9, 52, 83, 0, 51, 68, + 99, 104, 115, 0, 15, 58, 137, 0, 137, 156, + 173, 0, 55, 57, 77, 109, 108, 129, 0, 0, + 195, 0, 157, 163, 82, 124, 178, 205, 220, 0, + 803, 802, 804, 807, 799, 0, 136, 195, 19, 807, + 794, 139, 0, 2, 155, 784, 785, 50, 0, 216, + 807, 795, 794, 807, 807, 807, 793, 0, 140, 0, + 75, 177, 779, 780, 225, 807, 790, 807, 118, 807, + 122, 179, 789, 0, 99, 224, 775, 776, 0, 209, + + 0, 229, 234, 773, 774, 784, 807, 807, 807, 783, + 240, 0, 236, 239, 769, 770, 780, 779, 778, 807, + 807, 777, 0, 250, 807, 0, 242, 245, 763, 764, + 258, 807, 760, 0, 744, 807, 807, 807, 258, 0, + 250, 253, 702, 675, 807, 683, 0, 268, 176, 273, + 807, 217, 667, 265, 807, 272, 0, 268, 271, 278, + 365, 807, 807, 294, 0, 295, 807, 374, 307, 275, + 0, 283, 807, 284, 0, 286, 288, 294, 257, 807, + 807, 310, 807, 227, 313, 314, 299, 807, 313, 224, + 0, 309, 305, 315, 207, 807, 807, 0, 320, 807, + + 321, 0, 318, 322, 325, 189, 807, 807, 199, 180, + 329, 807, 336, 0, 331, 333, 339, 156, 807, 807, + 161, 140, 90, 83, 0, 344, 807, 345, 0, 342, + 345, 348, 67, 807, 807, 361, 61, 56, 0, 53, + 360, 807, 363, 0, 356, 358, 361, 24, 807, 807, + 29, 365, 373, 369, 376, 378, 381, 383, 386, 388, + 391, 393, 396, 398, 401, 403, 406, 408, 411, 413, + 416, 418, 421, 423, 426, 428, 431, 433, 436, 807, + 439, 807, 442, 807, 445, 807, 448, 807, 451, 807, + 454, 807, 457, 460, 463, 466, 469, 472, 475, 478, + + 481, 484, 487, 490, 493, 496, 499, 502, 505, 508, + 511, 514, 517, 520, 523, 526, 529, 532, 535, 538, + 541, 544, 547, 550, 553, 556, 559, 562, 565, 568, + 571, 574, 577, 580, 583, 586, 589, 592, 595, 598, + 601, 604, 606, 608, 610, 612, 614, 616, 618, 620, + 622, 624, 626, 628, 630, 632, 807, 807, 807, 807, + 807, 807, 807, 807, 648, 655, 662, 666, 671, 676, + 678, 682, 685, 690, 695, 697, 703, 708, 710, 714, + 719, 724, 726, 732, 737, 739, 743, 748, 753, 755, + 759, 764, 769, 771 + + } ; + +static yyconst flex_int16_t yy_def[395] = + { 0, + 365, 365, 365, 365, 365, 365, 365, 7, 365, 365, + 365, 365, 365, 365, 365, 365, 365, 17, 365, 365, + 366, 366, 365, 23, 365, 365, 365, 27, 365, 365, + 365, 31, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 41, 365, 365, 365, 365, 365, 365, 365, 49, + 367, 367, 364, 364, 364, 368, 364, 364, 364, 364, + 364, 369, 370, 364, 364, 371, 364, 364, 372, 364, + 364, 364, 364, 364, 364, 364, 364, 373, 374, 375, + 364, 364, 376, 364, 364, 364, 364, 364, 364, 364, + 364, 377, 364, 378, 364, 364, 379, 364, 380, 381, + + 382, 364, 364, 383, 364, 364, 364, 364, 364, 364, + 384, 385, 364, 364, 386, 364, 364, 364, 364, 364, + 364, 364, 387, 388, 364, 389, 364, 364, 390, 364, + 364, 364, 364, 391, 364, 364, 364, 364, 392, 393, + 364, 364, 394, 364, 364, 364, 368, 364, 364, 364, + 364, 364, 364, 369, 364, 364, 370, 364, 364, 364, + 371, 364, 364, 364, 372, 364, 364, 364, 364, 364, + 373, 374, 364, 364, 375, 364, 364, 364, 376, 364, + 364, 364, 364, 364, 364, 364, 377, 364, 364, 364, + 378, 364, 364, 364, 379, 364, 364, 380, 381, 364, + + 364, 382, 364, 364, 364, 383, 364, 364, 364, 364, + 384, 364, 364, 385, 364, 364, 364, 386, 364, 364, + 364, 364, 364, 364, 387, 388, 364, 364, 389, 364, + 364, 364, 390, 364, 364, 364, 364, 364, 391, 364, + 392, 364, 364, 393, 364, 364, 364, 394, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 0, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364 + + } ; + +static yyconst flex_int16_t yy_nxt[835] = + { 0, + 364, 364, 364, 55, 55, 70, 68, 70, 68, 56, + 56, 68, 77, 68, 69, 71, 158, 158, 78, 69, + 152, 72, 152, 70, 99, 70, 56, 56, 57, 73, + 58, 69, 251, 71, 73, 78, 69, 74, 59, 72, + 249, 99, 74, 75, 60, 76, 61, 57, 75, 58, + 76, 164, 85, 164, 85, 77, 240, 59, 117, 238, + 117, 78, 86, 60, 238, 61, 62, 99, 87, 85, + 63, 85, 118, 64, 118, 65, 65, 66, 78, 86, + 119, 67, 63, 234, 99, 87, 224, 63, 79, 176, + 176, 134, 80, 223, 120, 81, 121, 82, 82, 83, + + 89, 54, 89, 84, 80, 89, 54, 89, 134, 80, + 90, 122, 119, 192, 192, 90, 91, 123, 91, 185, + 92, 185, 93, 186, 94, 186, 120, 95, 121, 96, + 96, 97, 122, 134, 123, 98, 94, 148, 123, 148, + 106, 94, 100, 222, 155, 173, 101, 149, 107, 102, + 134, 103, 103, 104, 108, 123, 109, 105, 101, 106, + 131, 156, 174, 101, 221, 132, 131, 107, 159, 160, + 160, 132, 219, 108, 133, 109, 110, 152, 111, 152, + 133, 135, 112, 210, 188, 113, 136, 114, 114, 115, + 177, 178, 178, 116, 112, 137, 148, 138, 150, 112, + + 124, 189, 209, 125, 126, 207, 149, 127, 135, 128, + 128, 129, 151, 136, 200, 130, 126, 166, 152, 166, + 152, 126, 137, 196, 138, 139, 182, 190, 182, 140, + 184, 201, 141, 167, 142, 142, 143, 193, 194, 194, + 144, 140, 183, 203, 203, 212, 140, 204, 205, 205, + 215, 215, 216, 217, 217, 227, 230, 230, 231, 232, + 232, 236, 213, 242, 245, 245, 246, 247, 247, 148, + 155, 148, 228, 180, 148, 237, 150, 154, 170, 149, + 243, 159, 160, 160, 149, 252, 252, 156, 173, 172, + 151, 159, 253, 253, 154, 164, 166, 164, 166, 177, + + 178, 178, 254, 254, 188, 174, 172, 177, 255, 255, + 169, 182, 167, 182, 185, 186, 185, 186, 187, 256, + 256, 189, 193, 194, 194, 200, 199, 183, 193, 257, + 257, 204, 205, 205, 212, 187, 258, 258, 204, 259, + 259, 211, 201, 199, 216, 217, 217, 260, 260, 227, + 226, 213, 216, 261, 261, 231, 232, 232, 211, 262, + 262, 231, 263, 263, 236, 242, 228, 226, 241, 246, + 247, 247, 264, 264, 246, 265, 265, 168, 237, 266, + 266, 162, 243, 268, 268, 241, 159, 267, 267, 177, + 269, 269, 270, 270, 193, 271, 271, 272, 272, 204, + + 273, 273, 274, 274, 216, 275, 275, 276, 276, 231, + 277, 277, 278, 278, 246, 279, 279, 280, 280, 159, + 281, 281, 282, 282, 177, 283, 283, 284, 284, 193, + 285, 285, 286, 286, 204, 287, 287, 288, 288, 216, + 289, 289, 290, 290, 231, 291, 291, 292, 292, 246, + 293, 293, 159, 294, 294, 177, 295, 295, 193, 296, + 296, 204, 297, 297, 216, 298, 298, 231, 299, 299, + 246, 300, 300, 159, 301, 301, 177, 302, 302, 193, + 303, 303, 204, 304, 304, 216, 305, 305, 231, 306, + 306, 246, 307, 307, 159, 308, 308, 177, 309, 309, + + 193, 310, 310, 204, 311, 311, 216, 312, 312, 231, + 313, 313, 246, 314, 314, 159, 315, 315, 177, 316, + 316, 193, 317, 317, 204, 318, 318, 216, 319, 319, + 231, 320, 320, 246, 321, 321, 159, 322, 322, 177, + 323, 323, 193, 324, 324, 204, 325, 325, 216, 326, + 326, 231, 327, 327, 246, 328, 328, 159, 329, 329, + 177, 330, 330, 193, 331, 331, 204, 332, 332, 216, + 333, 333, 231, 334, 334, 246, 335, 335, 159, 336, + 336, 177, 337, 337, 193, 338, 338, 204, 339, 339, + 216, 340, 340, 231, 341, 341, 246, 342, 342, 159, + + 343, 343, 177, 344, 344, 193, 345, 345, 204, 346, + 346, 216, 347, 347, 231, 348, 348, 246, 349, 349, + 350, 350, 351, 351, 352, 352, 353, 353, 354, 354, + 355, 355, 356, 356, 357, 357, 358, 358, 359, 359, + 360, 360, 361, 361, 362, 362, 363, 363, 54, 54, + 54, 54, 54, 54, 54, 88, 88, 88, 88, 88, + 88, 88, 145, 145, 145, 145, 145, 145, 145, 147, + 251, 147, 154, 154, 154, 154, 154, 154, 157, 157, + 157, 157, 161, 161, 161, 165, 146, 165, 171, 250, + 171, 172, 172, 172, 172, 172, 172, 175, 175, 175, + + 175, 179, 179, 179, 187, 187, 187, 187, 187, 187, + 191, 191, 191, 191, 195, 195, 195, 198, 249, 198, + 199, 199, 199, 199, 199, 199, 202, 202, 202, 202, + 206, 206, 206, 211, 211, 211, 211, 211, 211, 214, + 214, 214, 214, 218, 218, 218, 225, 240, 225, 226, + 226, 226, 226, 226, 226, 229, 229, 229, 229, 233, + 233, 233, 239, 238, 239, 241, 241, 241, 241, 241, + 241, 244, 244, 244, 244, 248, 248, 248, 235, 234, + 224, 223, 222, 221, 220, 219, 210, 209, 208, 207, + 197, 196, 190, 184, 181, 180, 170, 169, 168, 163, + + 162, 153, 146, 364, 54, 54, 53, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364 + } ; + +static yyconst flex_int16_t yy_chk[835] = + { 0, + 0, 0, 0, 3, 4, 11, 9, 11, 9, 3, + 4, 10, 15, 10, 9, 11, 64, 64, 15, 10, + 59, 11, 59, 12, 25, 12, 3, 4, 5, 13, + 5, 9, 251, 12, 14, 15, 10, 13, 5, 12, + 248, 25, 14, 13, 5, 13, 5, 6, 14, 6, + 14, 68, 19, 68, 19, 16, 240, 6, 33, 238, + 34, 16, 19, 6, 237, 6, 7, 26, 19, 20, + 7, 20, 33, 7, 34, 7, 7, 7, 16, 20, + 35, 7, 7, 233, 26, 20, 224, 7, 17, 81, + 81, 45, 17, 223, 35, 17, 35, 17, 17, 17, + + 21, 21, 21, 17, 17, 22, 22, 22, 45, 17, + 21, 37, 36, 95, 95, 22, 23, 37, 23, 89, + 23, 89, 23, 91, 23, 91, 36, 23, 36, 23, + 23, 23, 38, 46, 37, 23, 23, 57, 38, 57, + 29, 23, 27, 222, 62, 79, 27, 57, 29, 27, + 46, 27, 27, 27, 29, 38, 29, 27, 27, 30, + 43, 62, 79, 27, 221, 43, 44, 30, 65, 65, + 65, 44, 218, 30, 43, 30, 31, 149, 31, 149, + 44, 47, 31, 210, 92, 31, 47, 31, 31, 31, + 82, 82, 82, 31, 31, 47, 58, 47, 58, 31, + + 41, 92, 209, 41, 41, 206, 58, 41, 48, 41, + 41, 41, 58, 48, 100, 41, 41, 70, 152, 70, + 152, 41, 48, 195, 48, 49, 85, 190, 85, 49, + 184, 100, 49, 70, 49, 49, 49, 96, 96, 96, + 49, 49, 85, 102, 102, 111, 49, 103, 103, 103, + 113, 113, 114, 114, 114, 124, 127, 127, 128, 128, + 128, 131, 111, 139, 141, 141, 142, 142, 142, 148, + 154, 148, 124, 179, 150, 131, 150, 156, 170, 148, + 139, 158, 158, 158, 150, 159, 159, 154, 172, 174, + 150, 160, 160, 160, 156, 164, 166, 164, 166, 176, + + 176, 176, 177, 177, 187, 172, 174, 178, 178, 178, + 169, 182, 166, 182, 185, 186, 185, 186, 189, 193, + 193, 187, 192, 192, 192, 199, 201, 182, 194, 194, + 194, 203, 203, 203, 211, 189, 204, 204, 205, 205, + 205, 213, 199, 201, 215, 215, 215, 216, 216, 226, + 228, 211, 217, 217, 217, 230, 230, 230, 213, 231, + 231, 232, 232, 232, 236, 241, 226, 228, 243, 245, + 245, 245, 246, 246, 247, 247, 247, 168, 236, 252, + 252, 161, 241, 254, 254, 243, 253, 253, 253, 255, + 255, 255, 256, 256, 257, 257, 257, 258, 258, 259, + + 259, 259, 260, 260, 261, 261, 261, 262, 262, 263, + 263, 263, 264, 264, 265, 265, 265, 266, 266, 267, + 267, 267, 268, 268, 269, 269, 269, 270, 270, 271, + 271, 271, 272, 272, 273, 273, 273, 274, 274, 275, + 275, 275, 276, 276, 277, 277, 277, 278, 278, 279, + 279, 279, 281, 281, 281, 283, 283, 283, 285, 285, + 285, 287, 287, 287, 289, 289, 289, 291, 291, 291, + 293, 293, 293, 294, 294, 294, 295, 295, 295, 296, + 296, 296, 297, 297, 297, 298, 298, 298, 299, 299, + 299, 300, 300, 300, 301, 301, 301, 302, 302, 302, + + 303, 303, 303, 304, 304, 304, 305, 305, 305, 306, + 306, 306, 307, 307, 307, 308, 308, 308, 309, 309, + 309, 310, 310, 310, 311, 311, 311, 312, 312, 312, + 313, 313, 313, 314, 314, 314, 315, 315, 315, 316, + 316, 316, 317, 317, 317, 318, 318, 318, 319, 319, + 319, 320, 320, 320, 321, 321, 321, 322, 322, 322, + 323, 323, 323, 324, 324, 324, 325, 325, 325, 326, + 326, 326, 327, 327, 327, 328, 328, 328, 329, 329, + 329, 330, 330, 330, 331, 331, 331, 332, 332, 332, + 333, 333, 333, 334, 334, 334, 335, 335, 335, 336, + + 336, 336, 337, 337, 337, 338, 338, 338, 339, 339, + 339, 340, 340, 340, 341, 341, 341, 342, 342, 342, + 343, 343, 344, 344, 345, 345, 346, 346, 347, 347, + 348, 348, 349, 349, 350, 350, 351, 351, 352, 352, + 353, 353, 354, 354, 355, 355, 356, 356, 365, 365, + 365, 365, 365, 365, 365, 366, 366, 366, 366, 366, + 366, 366, 367, 367, 367, 367, 367, 367, 367, 368, + 153, 368, 369, 369, 369, 369, 369, 369, 370, 370, + 370, 370, 371, 371, 371, 372, 146, 372, 373, 144, + 373, 374, 374, 374, 374, 374, 374, 375, 375, 375, + + 375, 376, 376, 376, 377, 377, 377, 377, 377, 377, + 378, 378, 378, 378, 379, 379, 379, 380, 143, 380, + 381, 381, 381, 381, 381, 381, 382, 382, 382, 382, + 383, 383, 383, 384, 384, 384, 384, 384, 384, 385, + 385, 385, 385, 386, 386, 386, 387, 135, 387, 388, + 388, 388, 388, 388, 388, 389, 389, 389, 389, 390, + 390, 390, 391, 133, 391, 392, 392, 392, 392, 392, + 392, 393, 393, 393, 393, 394, 394, 394, 130, 129, + 122, 119, 118, 117, 116, 115, 110, 106, 105, 104, + 98, 97, 93, 87, 84, 83, 77, 73, 72, 67, + + 66, 61, 55, 53, 52, 51, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364 + } ; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +#line 1 "ls-sfparser.l" + +#line 27 "ls-sfparser.l" +#include +#include "ls-sfparser.h" +struct ls_sf_parser +{ + /* Return 0 on success, -1 on error to stop parsing. */ + int (*callback)(void *user_data, enum ls_sf_dt, + char *str, size_t len, int off); + void *user_data; + const char *errmsg; + enum ls_sf_tlt top_level_type; + int mem_failed; + char *mem; + size_t mem_sz; + size_t mem_off; + /* XXX "last malloced" allows for a couple of rudimentary optimizations, + * but they never occurred in the input I tried. + */ + char *last_malloced; +}; +#define SFP ((struct ls_sf_parser *) yyextra) +#define CALLBACK(dt_, str_, len_, addl_) do { \ + if (SFP->callback(SFP->user_data, (dt_), (str_), (len_), \ + (addl_) >= 0 ? \ + yyg->yy_c_buf_p - yyleng - YY_CURRENT_BUFFER->yy_ch_buf + (addl_) : \ + (addl_))) \ + return -1; \ +} while (0) +#define YY_FATAL_ERROR(msg_) do { \ + (void) yy_fatal_error /* silence compiler warning */; \ + ((struct ls_sf_parser *) \ + (ls_sfp_get_extra(yyscanner)))->errmsg = (msg_); \ + ((struct yyguts_t*)yyscanner)->yy_start = 1 + 2 * ERROR_STATE; \ +} while (0) +#define YY_NO_INPUT 1 +#define YY_NO_UNISTD_H 1 +/* TCHAR: RFC 7230, Section 3.2.6 */ + + + + + + + +#line 821 "ls-sfparser.c" + +#define INITIAL 0 +#define DICTIONARY 1 +#define DIC_MEMBER_EQ 2 +#define DIC_MEMBER_ITEM 3 +#define DIC_NEXT_ITEM 4 +#define DIC_OPTIONAL_PARAM 5 +#define DIC_PARAM_EQ 6 +#define DIC_PARAM_KEY 7 +#define DIC_PARAM_ITEM 8 +#define LIST_OPTIONAL_PARAM 9 +#define LIST 10 +#define LIST_NEXT_ITEM 11 +#define LIST_PARAM_KEY 12 +#define LIST_PARAM_ITEM 13 +#define LIST_PARAM_EQ 14 +#define ITEM 15 +#define ITEM_OPTIONAL_PARAM 16 +#define ITEM_PARAM_EQ 17 +#define ITEM_PARAM_KEY 18 +#define ITEM_BARE_ITEM 19 +#define INNER_LIST 20 +#define IL_OPTIONAL_PARAM 21 +#define IL_PARAM_KEY 22 +#define IL_PARAM_EQ 23 +#define IL_PARAM_ITEM 24 +#define ERROR_STATE 25 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +/* Holds the entire state of the reentrant scanner. */ +struct yyguts_t + { + + /* User-defined. Not touched by flex. */ + YY_EXTRA_TYPE yyextra_r; + + /* The rest are the same as the globals declared in the non-reentrant scanner. */ + FILE *yyin_r, *yyout_r; + size_t yy_buffer_stack_top; /**< index of top of stack. */ + size_t yy_buffer_stack_max; /**< capacity of stack. */ + YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ + char yy_hold_char; + int yy_n_chars; + int yyleng_r; + char *yy_c_buf_p; + int yy_init; + int yy_start; + int yy_did_buffer_switch_on_eof; + int yy_start_stack_ptr; + int yy_start_stack_depth; + int *yy_start_stack; + yy_state_type yy_last_accepting_state; + char* yy_last_accepting_cpos; + + int yylineno_r; + int yy_flex_debug_r; + + char *yytext_r; + int yy_more_flag; + int yy_more_len; + + }; /* end struct yyguts_t */ + +static int yy_init_globals (yyscan_t yyscanner ); + +int ls_sfp_lex_init (yyscan_t* scanner); + +int ls_sfp_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int ls_sfp_lex_destroy (yyscan_t yyscanner ); + +int ls_sfp_get_debug (yyscan_t yyscanner ); + +void ls_sfp_set_debug (int debug_flag ,yyscan_t yyscanner ); + +YY_EXTRA_TYPE ls_sfp_get_extra (yyscan_t yyscanner ); + +void ls_sfp_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); + +FILE *ls_sfp_get_in (yyscan_t yyscanner ); + +void ls_sfp_set_in (FILE * in_str ,yyscan_t yyscanner ); + +FILE *ls_sfp_get_out (yyscan_t yyscanner ); + +void ls_sfp_set_out (FILE * out_str ,yyscan_t yyscanner ); + +int ls_sfp_get_leng (yyscan_t yyscanner ); + +char *ls_sfp_get_text (yyscan_t yyscanner ); + +int ls_sfp_get_lineno (yyscan_t yyscanner ); + +void ls_sfp_set_lineno (int line_number ,yyscan_t yyscanner ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int ls_sfp_wrap (yyscan_t yyscanner ); +#else +extern int ls_sfp_wrap (yyscan_t yyscanner ); +#endif +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); +#endif + +#ifndef YY_NO_INPUT + +#ifdef __cplusplus +static int yyinput (yyscan_t yyscanner ); +#else +static int input (yyscan_t yyscanner ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else +#define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + size_t n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int ls_sfp_lex (yyscan_t yyscanner); + +#define YY_DECL int ls_sfp_lex (yyscan_t yyscanner) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + +#line 101 "ls-sfparser.l" + + + char TRUE[] = "1"; + + switch (SFP->top_level_type) + { + case LS_SF_TLT_DICTIONARY: + BEGIN(DICTIONARY); + break; + case LS_SF_TLT_LIST: + BEGIN(LIST); + break; + case LS_SF_TLT_ITEM: + BEGIN(ITEM); + break; + default: + SFP->errmsg = "invalid top-level type specified"; + return -1; + } + +#line 1091 "ls-sfparser.c" + + if ( !yyg->yy_init ) + { + yyg->yy_init = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! yyg->yy_start ) + yyg->yy_start = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + if (ls_sfp_ensure_buffer_stack (yyscanner)) + return -1; + YY_CURRENT_BUFFER_LVALUE = + ls_sfp__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); + } + + ls_sfp__load_buffer_state(yyscanner ); + } + + while ( 1 ) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yyg->yy_start; +yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 365 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while ( yy_current_state != 364 ); + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = yyg->yy_hold_char; + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + +case 1: +YY_RULE_SETUP +#line 122 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 2: +YY_RULE_SETUP +#line 123 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_NAME, yytext, yyleng, 0); + BEGIN(DIC_MEMBER_EQ); } + YY_BREAK + + +case YY_STATE_EOF(DIC_NEXT_ITEM): +#line 128 "ls-sfparser.l" +{ return -1; } + YY_BREAK +case 3: +YY_RULE_SETUP +#line 129 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 4: +YY_RULE_SETUP +#line 130 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_NAME, yytext, yyleng, 0); + BEGIN(DIC_MEMBER_EQ); } + YY_BREAK + +case 5: +YY_RULE_SETUP +#line 134 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INNER_LIST_BEGIN, yytext + 1, yyleng - 1, 1); + BEGIN(INNER_LIST); } + YY_BREAK +case 6: +YY_RULE_SETUP +#line 137 "ls-sfparser.l" +{ BEGIN(DIC_MEMBER_ITEM); } + YY_BREAK +case 7: +YY_RULE_SETUP +#line 139 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(DIC_PARAM_KEY); } + YY_BREAK +case 8: +YY_RULE_SETUP +#line 143 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(DIC_NEXT_ITEM); } + YY_BREAK +case YY_STATE_EOF(DIC_MEMBER_EQ): +#line 147 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + return 0; } + YY_BREAK + +case 9: +YY_RULE_SETUP +#line 152 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INNER_LIST_END, yytext, yyleng, 0); + if (SFP->top_level_type == LS_SF_TLT_DICTIONARY) + BEGIN(DIC_OPTIONAL_PARAM); + else + BEGIN(LIST_OPTIONAL_PARAM); } + YY_BREAK +case 10: +YY_RULE_SETUP +#line 157 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INTEGER, yytext, yyleng, 0); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 11: +YY_RULE_SETUP +#line 160 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_DECIMAL, yytext, yyleng, 0); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 12: +YY_RULE_SETUP +#line 163 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_STRING, yytext + 1, yyleng - 2, 1); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 13: +YY_RULE_SETUP +#line 168 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_TOKEN, yytext, yyleng, 0); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 14: +YY_RULE_SETUP +#line 171 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_BYTESEQ, yytext + 1, yyleng - 2, 1); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 15: +YY_RULE_SETUP +#line 176 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_BOOLEAN, yytext + 1, yyleng - 1, 1); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case YY_STATE_EOF(INNER_LIST): +#line 179 "ls-sfparser.l" +{ return -1; } + YY_BREAK + + +case 16: +YY_RULE_SETUP +#line 183 "ls-sfparser.l" +{ BEGIN(IL_PARAM_KEY); } + YY_BREAK +case 17: +YY_RULE_SETUP +#line 184 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INNER_LIST_END, yytext, yyleng, 0); + if (SFP->top_level_type == LS_SF_TLT_DICTIONARY) + BEGIN(DIC_OPTIONAL_PARAM); + else + BEGIN(LIST_OPTIONAL_PARAM); } + YY_BREAK +case 18: +YY_RULE_SETUP +#line 189 "ls-sfparser.l" +{ BEGIN(INNER_LIST); } + YY_BREAK +case YY_STATE_EOF(IL_OPTIONAL_PARAM): +#line 190 "ls-sfparser.l" +{ return -1; } + YY_BREAK + +case 19: +YY_RULE_SETUP +#line 193 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_PARAM_NAME, yytext, yyleng, 0); + BEGIN(IL_PARAM_EQ); } + YY_BREAK + +case 20: +YY_RULE_SETUP +#line 197 "ls-sfparser.l" +{ BEGIN(IL_PARAM_ITEM); } + YY_BREAK +case 21: +YY_RULE_SETUP +#line 198 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(IL_OPTIONAL_PARAM); } + YY_BREAK +case 22: +YY_RULE_SETUP +#line 201 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(IL_PARAM_KEY); } + YY_BREAK +case 23: +YY_RULE_SETUP +#line 204 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + CALLBACK(LS_SF_DT_INNER_LIST_END, yytext, yyleng, 0); + if (SFP->top_level_type == LS_SF_TLT_DICTIONARY) + BEGIN(DIC_OPTIONAL_PARAM); + else + BEGIN(LIST_OPTIONAL_PARAM); } + YY_BREAK + + +case 24: +YY_RULE_SETUP +#line 214 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INTEGER, yytext, yyleng, 0); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 25: +YY_RULE_SETUP +#line 217 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_DECIMAL, yytext, yyleng, 0); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 26: +YY_RULE_SETUP +#line 220 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_STRING, yytext + 1, yyleng - 2, 1); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 27: +YY_RULE_SETUP +#line 225 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_TOKEN, yytext, yyleng, 0); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 28: +YY_RULE_SETUP +#line 228 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_BYTESEQ, yytext + 1, yyleng - 2, 1); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case 29: +YY_RULE_SETUP +#line 233 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_BOOLEAN, yytext + 1, yyleng - 1, 1); + BEGIN(IL_OPTIONAL_PARAM); + } + YY_BREAK +case YY_STATE_EOF(IL_PARAM_ITEM): +#line 236 "ls-sfparser.l" +{ return -1; } + YY_BREAK + + +case 30: +YY_RULE_SETUP +#line 240 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INTEGER, yytext, yyleng, 0); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 31: +YY_RULE_SETUP +#line 243 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_DECIMAL, yytext, yyleng, 0); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 32: +YY_RULE_SETUP +#line 246 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_STRING, yytext + 1, yyleng - 2, 1); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 33: +YY_RULE_SETUP +#line 251 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_TOKEN, yytext, yyleng, 0); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 34: +YY_RULE_SETUP +#line 254 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_BYTESEQ, yytext + 1, yyleng - 2, 1); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 35: +YY_RULE_SETUP +#line 259 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_BOOLEAN, yytext + 1, yyleng - 1, 1); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case YY_STATE_EOF(DIC_MEMBER_ITEM): +#line 262 "ls-sfparser.l" +{ return -1; } + YY_BREAK + + +case 36: +YY_RULE_SETUP +#line 266 "ls-sfparser.l" +{ return -1; } + YY_BREAK +case 37: +YY_RULE_SETUP +#line 267 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 38: +YY_RULE_SETUP +#line 268 "ls-sfparser.l" +{ BEGIN(DIC_PARAM_KEY); } + YY_BREAK +case 39: +YY_RULE_SETUP +#line 269 "ls-sfparser.l" +{ BEGIN(DIC_NEXT_ITEM); } + YY_BREAK +case YY_STATE_EOF(DIC_OPTIONAL_PARAM): +#line 270 "ls-sfparser.l" +{ return 0; } + YY_BREAK + + +case 40: +YY_RULE_SETUP +#line 274 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 41: +YY_RULE_SETUP +#line 275 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_PARAM_NAME, yytext, yyleng, 0); + BEGIN(DIC_PARAM_EQ); } + YY_BREAK + + +case 42: +YY_RULE_SETUP +#line 280 "ls-sfparser.l" +{ BEGIN(DIC_PARAM_ITEM); } + YY_BREAK +case 43: +YY_RULE_SETUP +#line 281 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(DIC_NEXT_ITEM); + } + YY_BREAK +case 44: +YY_RULE_SETUP +#line 285 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(DIC_PARAM_KEY); + } + YY_BREAK +case 45: +YY_RULE_SETUP +#line 289 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case YY_STATE_EOF(DIC_PARAM_EQ): +#line 293 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + return 0; + } + YY_BREAK + + +case 46: +YY_RULE_SETUP +#line 300 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INTEGER, yytext, yyleng, 0); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 47: +YY_RULE_SETUP +#line 303 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_DECIMAL, yytext, yyleng, 0); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 48: +YY_RULE_SETUP +#line 306 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_STRING, yytext + 1, yyleng - 2, 1); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 49: +YY_RULE_SETUP +#line 311 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_TOKEN, yytext, yyleng, 0); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 50: +YY_RULE_SETUP +#line 314 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_BYTESEQ, yytext + 1, yyleng - 2, 1); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case 51: +YY_RULE_SETUP +#line 319 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_BOOLEAN, yytext + 1, yyleng - 1, 1); + BEGIN(DIC_OPTIONAL_PARAM); + } + YY_BREAK +case YY_STATE_EOF(DIC_PARAM_ITEM): +#line 322 "ls-sfparser.l" +{ return -1; } + YY_BREAK + + +case 52: +YY_RULE_SETUP +#line 326 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 53: +YY_RULE_SETUP +#line 327 "ls-sfparser.l" +{ return -1; } + YY_BREAK +case 54: +YY_RULE_SETUP +#line 328 "ls-sfparser.l" +{ yyless(0); BEGIN(LIST_NEXT_ITEM); } + YY_BREAK + + +case YY_STATE_EOF(LIST_NEXT_ITEM): +#line 332 "ls-sfparser.l" +{ return -1; } + YY_BREAK +case 55: +YY_RULE_SETUP +#line 333 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 56: +YY_RULE_SETUP +#line 334 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INNER_LIST_BEGIN, yytext, yyleng, 0); + BEGIN(INNER_LIST); } + YY_BREAK +case 57: +YY_RULE_SETUP +#line 336 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INTEGER, yytext, yyleng, 0); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 58: +YY_RULE_SETUP +#line 339 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_DECIMAL, yytext, yyleng, 0); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 59: +YY_RULE_SETUP +#line 342 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_STRING, yytext + 1, yyleng - 2, 1); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 60: +YY_RULE_SETUP +#line 347 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_TOKEN, yytext, yyleng, 0); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 61: +YY_RULE_SETUP +#line 350 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_BYTESEQ, yytext + 1, yyleng - 2, 1); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 62: +YY_RULE_SETUP +#line 355 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_BOOLEAN, yytext + 1, yyleng - 1, 1); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK + + +case 63: +YY_RULE_SETUP +#line 361 "ls-sfparser.l" +{ return -1; } + YY_BREAK +case 64: +YY_RULE_SETUP +#line 362 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 65: +YY_RULE_SETUP +#line 363 "ls-sfparser.l" +{ BEGIN(LIST_PARAM_KEY); } + YY_BREAK +case 66: +YY_RULE_SETUP +#line 364 "ls-sfparser.l" +{ BEGIN(LIST_NEXT_ITEM); } + YY_BREAK + +case 67: +YY_RULE_SETUP +#line 367 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_PARAM_NAME, yytext, yyleng, 0); + BEGIN(LIST_PARAM_EQ); } + YY_BREAK + +case 68: +YY_RULE_SETUP +#line 371 "ls-sfparser.l" +{ BEGIN(LIST_PARAM_ITEM); } + YY_BREAK +case 69: +YY_RULE_SETUP +#line 372 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(LIST_OPTIONAL_PARAM); } + YY_BREAK +case 70: +YY_RULE_SETUP +#line 375 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(LIST_PARAM_KEY); } + YY_BREAK +case 71: +YY_RULE_SETUP +#line 378 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(LIST_NEXT_ITEM); } + YY_BREAK + + +case 72: +YY_RULE_SETUP +#line 384 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INTEGER, yytext, yyleng, 0); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 73: +YY_RULE_SETUP +#line 387 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_DECIMAL, yytext, yyleng, 0); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 74: +YY_RULE_SETUP +#line 390 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_STRING, yytext + 1, yyleng - 2, 1); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 75: +YY_RULE_SETUP +#line 395 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_TOKEN, yytext, yyleng, 0); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 76: +YY_RULE_SETUP +#line 398 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_BYTESEQ, yytext + 1, yyleng - 2, 1); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK +case 77: +YY_RULE_SETUP +#line 403 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_BOOLEAN, yytext + 1, yyleng - 1, 1); + BEGIN(LIST_OPTIONAL_PARAM); + } + YY_BREAK + + +case 78: +YY_RULE_SETUP +#line 409 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 79: +YY_RULE_SETUP +#line 410 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_INTEGER, yytext, yyleng, 0); + BEGIN(ITEM_OPTIONAL_PARAM); + } + YY_BREAK +case 80: +YY_RULE_SETUP +#line 413 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_DECIMAL, yytext, yyleng, 0); + BEGIN(ITEM_OPTIONAL_PARAM); + } + YY_BREAK +case 81: +YY_RULE_SETUP +#line 416 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_STRING, yytext + 1, yyleng - 2, 1); + BEGIN(ITEM_OPTIONAL_PARAM); + } + YY_BREAK +case 82: +YY_RULE_SETUP +#line 421 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_TOKEN, yytext, yyleng, 0); + BEGIN(ITEM_OPTIONAL_PARAM); + } + YY_BREAK +case 83: +YY_RULE_SETUP +#line 424 "ls-sfparser.l" +{ + yytext[yyleng - 1] = '\0'; + CALLBACK(LS_SF_DT_BYTESEQ, yytext + 1, yyleng - 2, 1); + BEGIN(ITEM_OPTIONAL_PARAM); + } + YY_BREAK +case 84: +YY_RULE_SETUP +#line 429 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_BOOLEAN, yytext + 1, yyleng - 1, 1); + BEGIN(ITEM_OPTIONAL_PARAM); + } + YY_BREAK +case YY_STATE_EOF(ITEM): +#line 432 "ls-sfparser.l" +{ return -1; } + YY_BREAK + + +case 85: +YY_RULE_SETUP +#line 436 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 86: +YY_RULE_SETUP +#line 437 "ls-sfparser.l" +{ BEGIN(ITEM_PARAM_KEY); } + YY_BREAK + + +case 87: +YY_RULE_SETUP +#line 441 "ls-sfparser.l" +/* Eat up whitespace */ + YY_BREAK +case 88: +YY_RULE_SETUP +#line 442 "ls-sfparser.l" +{ CALLBACK(LS_SF_DT_PARAM_NAME, yytext, yyleng, 0); + BEGIN(ITEM_PARAM_EQ); } + YY_BREAK + + +case 89: +YY_RULE_SETUP +#line 447 "ls-sfparser.l" +{ BEGIN(ITEM); } + YY_BREAK +case 90: +YY_RULE_SETUP +#line 448 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(ITEM_OPTIONAL_PARAM); + } + YY_BREAK +case 91: +YY_RULE_SETUP +#line 452 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + BEGIN(ITEM_PARAM_KEY); + } + YY_BREAK +case YY_STATE_EOF(ITEM_PARAM_EQ): +#line 456 "ls-sfparser.l" +{ TRUE[0] = '1'; + CALLBACK(LS_SF_DT_BOOLEAN, TRUE, 1, -1); + return 0; + } + YY_BREAK + +case 92: +YY_RULE_SETUP +#line 462 "ls-sfparser.l" +{ return -1; } + YY_BREAK +case 93: +YY_RULE_SETUP +#line 464 "ls-sfparser.l" +YY_FATAL_ERROR( "flex scanner jammed" ); + YY_BREAK +#line 1893 "ls-sfparser.c" +case YY_STATE_EOF(INITIAL): +case YY_STATE_EOF(DICTIONARY): +case YY_STATE_EOF(DIC_PARAM_KEY): +case YY_STATE_EOF(LIST_OPTIONAL_PARAM): +case YY_STATE_EOF(LIST): +case YY_STATE_EOF(LIST_PARAM_KEY): +case YY_STATE_EOF(LIST_PARAM_ITEM): +case YY_STATE_EOF(LIST_PARAM_EQ): +case YY_STATE_EOF(ITEM_OPTIONAL_PARAM): +case YY_STATE_EOF(ITEM_PARAM_KEY): +case YY_STATE_EOF(ITEM_BARE_ITEM): +case YY_STATE_EOF(IL_PARAM_KEY): +case YY_STATE_EOF(IL_PARAM_EQ): +case YY_STATE_EOF(ERROR_STATE): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * ls_sfp_lex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( yyscanner ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( yyscanner ) ) + { + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if ( ls_sfp_wrap(yyscanner ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! yyg->yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( yyscanner ); + + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]; + + yy_current_state = yy_get_previous_state( yyscanner ); + + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ +} /* end of ls_sfp_lex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = yyg->yytext_ptr; + register int number_to_move, i; + int ret_val; + + if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; + + else + { + int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + + int yy_c_buf_p_offset = + (int) (yyg->yy_c_buf_p - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + ls_sfp_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; + + if ( ! b->yy_ch_buf ) + { + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + return EOB_ACT_END_OF_FILE; + } + + yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + yyg->yy_n_chars, (size_t) num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + if ( yyg->yy_n_chars == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + ls_sfp_restart(yyin ,yyscanner); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) ls_sfp_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + { + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + return EOB_ACT_END_OF_FILE; + } + } + + yyg->yy_n_chars += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; + + yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (yyscan_t yyscanner) +{ + register yy_state_type yy_current_state; + register char *yy_cp; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + yy_current_state = yyg->yy_start; + + for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp ) + { + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 365 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) +{ + register int yy_is_jam; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ + register char *yy_cp = yyg->yy_c_buf_p; + + register YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 365 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 364); + + return yy_is_jam ? 0 : yy_current_state; +} + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (yyscan_t yyscanner) +#else + static int input (yyscan_t yyscanner) +#endif + +{ + int c; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + *yyg->yy_c_buf_p = yyg->yy_hold_char; + + if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) + /* This was really a NUL. */ + *yyg->yy_c_buf_p = '\0'; + + else + { /* need more input */ + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + ++yyg->yy_c_buf_p; + + switch ( yy_get_next_buffer( yyscanner ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + ls_sfp_restart(yyin ,yyscanner); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( ls_sfp_wrap(yyscanner ) ) + return EOF; + + if ( ! yyg->yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(yyscanner); +#else + return input(yyscanner); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + yyg->yy_c_buf_p = yyg->yytext_ptr + offset; + break; + } + } + } + + c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */ + *yyg->yy_c_buf_p = '\0'; /* preserve yytext */ + yyg->yy_hold_char = *++yyg->yy_c_buf_p; + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * @param yyscanner The scanner object. + * @note This function does not reset the start condition to @c INITIAL . + */ + void ls_sfp_restart (FILE * input_file , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if ( ! YY_CURRENT_BUFFER ){ + if (ls_sfp_ensure_buffer_stack (yyscanner)) + return; + YY_CURRENT_BUFFER_LVALUE = + ls_sfp__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); + } + + ls_sfp__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner); + ls_sfp__load_buffer_state(yyscanner ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * @param yyscanner The scanner object. + */ + void ls_sfp__switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* TODO. We should be able to replace this entire function body + * with + * ls_sfp_pop_buffer_state(); + * ls_sfp_push_buffer_state(new_buffer); + */ + if (ls_sfp_ensure_buffer_stack (yyscanner)) + return; + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *yyg->yy_c_buf_p = yyg->yy_hold_char; + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + ls_sfp__load_buffer_state(yyscanner ); + + /* We don't actually know whether we did this switch during + * EOF (ls_sfp_wrap()) processing, but the only time this flag + * is looked at is after ls_sfp_wrap() is called, so it's safe + * to go ahead and always set it. + */ + yyg->yy_did_buffer_switch_on_eof = 1; +} + +static void ls_sfp__load_buffer_state (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + yyg->yy_hold_char = *yyg->yy_c_buf_p; +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * @param yyscanner The scanner object. + * @return the allocated buffer state. + */ + YY_BUFFER_STATE ls_sfp__create_buffer (FILE * file, int size , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) ls_sfp_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ); + if ( ! b ) + { + YY_FATAL_ERROR( "out of dynamic memory in ls_sfp__create_buffer()" ); + return NULL; + } + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) ls_sfp_alloc(b->yy_buf_size + 2 ,yyscanner ); + if ( ! b->yy_ch_buf ) + { + YY_FATAL_ERROR( "out of dynamic memory in ls_sfp__create_buffer()" ); + return NULL; + } + + b->yy_is_our_buffer = 1; + + ls_sfp__init_buffer(b,file ,yyscanner); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with ls_sfp__create_buffer() + * @param yyscanner The scanner object. + */ + void ls_sfp__delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + ls_sfp_free((void *) b->yy_ch_buf ,yyscanner ); + + ls_sfp_free((void *) b ,yyscanner ); +} + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a ls_sfp_restart() or at EOF. + */ + static void ls_sfp__init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner) + +{ + int oerrno = errno; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + ls_sfp__flush_buffer(b ,yyscanner); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then ls_sfp__init_buffer was _probably_ + * called from ls_sfp_restart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * @param yyscanner The scanner object. + */ + void ls_sfp__flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + ls_sfp__load_buffer_state(yyscanner ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * @param yyscanner The scanner object. + */ +void ls_sfp_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (new_buffer == NULL) + return; + + if (ls_sfp_ensure_buffer_stack(yyscanner)) + return; + + /* This block is copied from ls_sfp__switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *yyg->yy_c_buf_p = yyg->yy_hold_char; + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + yyg->yy_buffer_stack_top++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from ls_sfp__switch_to_buffer. */ + ls_sfp__load_buffer_state(yyscanner ); + yyg->yy_did_buffer_switch_on_eof = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * @param yyscanner The scanner object. + */ +void ls_sfp_pop_buffer_state (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (!YY_CURRENT_BUFFER) + return; + + ls_sfp__delete_buffer(YY_CURRENT_BUFFER ,yyscanner); + YY_CURRENT_BUFFER_LVALUE = NULL; + if (yyg->yy_buffer_stack_top > 0) + --yyg->yy_buffer_stack_top; + + if (YY_CURRENT_BUFFER) { + ls_sfp__load_buffer_state(yyscanner ); + yyg->yy_did_buffer_switch_on_eof = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static int ls_sfp_ensure_buffer_stack (yyscan_t yyscanner) +{ + int num_to_alloc; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (!yyg->yy_buffer_stack) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; + yyg->yy_buffer_stack = (struct yy_buffer_state**)ls_sfp_alloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + , yyscanner); + if ( ! yyg->yy_buffer_stack ) + { + YY_FATAL_ERROR( "out of dynamic memory in ls_sfp_ensure_buffer_stack()" ); + return -1; + } + + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + yyg->yy_buffer_stack_max = num_to_alloc; + yyg->yy_buffer_stack_top = 0; + return 0; + } + + if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + int grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = yyg->yy_buffer_stack_max + grow_size; + yyg->yy_buffer_stack = (struct yy_buffer_state**)ls_sfp_realloc + (yyg->yy_buffer_stack, + num_to_alloc * sizeof(struct yy_buffer_state*) + , yyscanner); + if ( ! yyg->yy_buffer_stack ) + { + YY_FATAL_ERROR( "out of dynamic memory in ls_sfp_ensure_buffer_stack()" ); + return -1; + } + + /* zero only the new slots.*/ + memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*)); + yyg->yy_buffer_stack_max = num_to_alloc; + } + + return 0; +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE ls_sfp__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return 0; + + b = (YY_BUFFER_STATE) ls_sfp_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ); + if ( ! b ) + { + YY_FATAL_ERROR( "out of dynamic memory in ls_sfp__scan_buffer()" ); + return 0; + } + + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = 0; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + ls_sfp__switch_to_buffer(b ,yyscanner ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to ls_sfp_lex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * ls_sfp__scan_bytes() instead. + */ +YY_BUFFER_STATE ls_sfp__scan_string (yyconst char * yystr , yyscan_t yyscanner) +{ + + return ls_sfp__scan_bytes(yystr,strlen(yystr) ,yyscanner); +} + +/** Setup the input buffer state to scan the given bytes. The next call to ls_sfp_lex() will + * scan from a @e copy of @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE ls_sfp__scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = _yybytes_len + 2; + buf = (char *) ls_sfp_alloc(n ,yyscanner ); + if ( ! buf ) + { + YY_FATAL_ERROR( "out of dynamic memory in ls_sfp__scan_bytes()" ); + return NULL; + } + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = ls_sfp__scan_buffer(buf,n ,yyscanner); + if ( ! b ) + { + YY_FATAL_ERROR( "bad buffer in ls_sfp__scan_bytes()" ); + return NULL; + } + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = yyg->yy_hold_char; \ + yyg->yy_c_buf_p = yytext + yyless_macro_arg; \ + yyg->yy_hold_char = *yyg->yy_c_buf_p; \ + *yyg->yy_c_buf_p = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the user-defined data for this scanner. + * @param yyscanner The scanner object. + */ +YY_EXTRA_TYPE ls_sfp_get_extra (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyextra; +} + +/** Get the current line number. + * @param yyscanner The scanner object. + */ +int ls_sfp_get_lineno (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (! YY_CURRENT_BUFFER) + return 0; + + return yylineno; +} + +/** Get the current column number. + * @param yyscanner The scanner object. + */ +int ls_sfp_get_column (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (! YY_CURRENT_BUFFER) + return 0; + + return yycolumn; +} + +/** Get the input stream. + * @param yyscanner The scanner object. + */ +FILE *ls_sfp_get_in (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyin; +} + +/** Get the output stream. + * @param yyscanner The scanner object. + */ +FILE *ls_sfp_get_out (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyout; +} + +/** Get the length of the current token. + * @param yyscanner The scanner object. + */ +int ls_sfp_get_leng (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyleng; +} + +/** Get the current token. + * @param yyscanner The scanner object. + */ + +char *ls_sfp_get_text (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yytext; +} + +/** Set the user-defined data. This data is never touched by the scanner. + * @param user_defined The data to be associated with this scanner. + * @param yyscanner The scanner object. + */ +void ls_sfp_set_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyextra = user_defined ; +} + +/** Set the current line number. + * @param line_number + * @param yyscanner The scanner object. + */ +void ls_sfp_set_lineno (int line_number , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* lineno is only valid if an input buffer exists. */ + if (! YY_CURRENT_BUFFER ) + yy_fatal_error( "ls_sfp_set_lineno called with no buffer" , yyscanner); + + yylineno = line_number; +} + +/** Set the current column. + * @param line_number + * @param yyscanner The scanner object. + */ +void ls_sfp_set_column (int column_no , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* column is only valid if an input buffer exists. */ + if (! YY_CURRENT_BUFFER ) + yy_fatal_error( "ls_sfp_set_column called with no buffer" , yyscanner); + + yycolumn = column_no; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param in_str A readable stream. + * @param yyscanner The scanner object. + * @see ls_sfp__switch_to_buffer + */ +void ls_sfp_set_in (FILE * in_str , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyin = in_str ; +} + +void ls_sfp_set_out (FILE * out_str , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyout = out_str ; +} + +int ls_sfp_get_debug (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yy_flex_debug; +} + +void ls_sfp_set_debug (int bdebug , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yy_flex_debug = bdebug ; +} + +/* Accessor methods for yylval and yylloc */ + +/* User-visible API */ + +/* ls_sfp_lex_init is special because it creates the scanner itself, so it is + * the ONLY reentrant function that doesn't take the scanner as the last argument. + * That's why we explicitly handle the declaration, instead of using our macros. + */ + +int ls_sfp_lex_init(yyscan_t* ptr_yy_globals) + +{ + if (ptr_yy_globals == NULL){ + errno = EINVAL; + return 1; + } + + *ptr_yy_globals = (yyscan_t) ls_sfp_alloc ( sizeof( struct yyguts_t ), NULL ); + + if (*ptr_yy_globals == NULL){ + errno = ENOMEM; + return 1; + } + + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ + memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); + + return yy_init_globals ( *ptr_yy_globals ); +} + +/* ls_sfp_lex_init_extra has the same functionality as ls_sfp_lex_init, but follows the + * convention of taking the scanner as the last argument. Note however, that + * this is a *pointer* to a scanner, as it will be allocated by this call (and + * is the reason, too, why this function also must handle its own declaration). + * The user defined value in the first argument will be available to ls_sfp_alloc in + * the yyextra field. + */ + +int ls_sfp_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals ) + +{ + struct yyguts_t dummy_yyguts; + + ls_sfp_set_extra (yy_user_defined, &dummy_yyguts); + + if (ptr_yy_globals == NULL){ + errno = EINVAL; + return 1; + } + + *ptr_yy_globals = (yyscan_t) ls_sfp_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); + + if (*ptr_yy_globals == NULL){ + errno = ENOMEM; + return 1; + } + + /* By setting to 0xAA, we expose bugs in + yy_init_globals. Leave at 0x00 for releases. */ + memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); + + ls_sfp_set_extra (yy_user_defined, *ptr_yy_globals); + + return yy_init_globals ( *ptr_yy_globals ); +} + +static int yy_init_globals (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from ls_sfp_lex_destroy(), so don't allocate here. + */ + + yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack_top = 0; + yyg->yy_buffer_stack_max = 0; + yyg->yy_c_buf_p = (char *) 0; + yyg->yy_init = 0; + yyg->yy_start = 0; + + yyg->yy_start_stack_ptr = 0; + yyg->yy_start_stack_depth = 0; + yyg->yy_start_stack = NULL; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = (FILE *) 0; + yyout = (FILE *) 0; +#endif + + /* For future reference: Set errno on error, since we are called by + * ls_sfp_lex_init() + */ + return 0; +} + +/* ls_sfp_lex_destroy is for both reentrant and non-reentrant scanners. */ +int ls_sfp_lex_destroy (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + ls_sfp__delete_buffer(YY_CURRENT_BUFFER ,yyscanner ); + YY_CURRENT_BUFFER_LVALUE = NULL; + ls_sfp_pop_buffer_state(yyscanner); + } + + /* Destroy the stack itself. */ + ls_sfp_free(yyg->yy_buffer_stack ,yyscanner); + yyg->yy_buffer_stack = NULL; + + /* Destroy the start condition stack. */ + ls_sfp_free(yyg->yy_start_stack ,yyscanner ); + yyg->yy_start_stack = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * ls_sfp_lex() is called, initialization will occur. */ + yy_init_globals( yyscanner); + + /* Destroy the main struct (reentrant only). */ + ls_sfp_free ( yyscanner , yyscanner ); + yyscanner = NULL; + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) +{ + register int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) +{ + register int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +#define YYTABLES_NAME "yytables" + +#line 464 "ls-sfparser.l" + + + +const char *const ls_sf_dt2str[] = +{ + [LS_SF_DT_INTEGER] = "INTEGER", + [LS_SF_DT_DECIMAL] = "DECIMAL", + [LS_SF_DT_NAME] = "NAME", + [LS_SF_DT_PARAM_NAME] = "PARAM_NAME", + [LS_SF_DT_STRING] = "STRING", + [LS_SF_DT_TOKEN] = "TOKEN", + [LS_SF_DT_BYTESEQ] = "BYTESEQ", + [LS_SF_DT_BOOLEAN] = "BOOLEAN", + [LS_SF_DT_INNER_LIST_BEGIN] = "INNER_LIST_BEGIN", + [LS_SF_DT_INNER_LIST_END] = "INNER_LIST_END", +}; + + +int +ls_sf_parse (enum ls_sf_tlt top_level_type, const char *input, size_t input_sz, + int (*callback)(void *user_data, enum ls_sf_dt, char *str, size_t, int), + void *user_data, char *mem_buf, size_t mem_buf_sz) +{ + struct ls_sf_parser parser; + yyscan_t scanner; + YY_BUFFER_STATE buf; + int ret; + + parser.top_level_type = top_level_type; + parser.callback = callback; + parser.user_data = user_data; + parser.errmsg = NULL; + parser.mem_failed = 0; + + if (mem_buf && mem_buf_sz) + { + parser.mem = mem_buf; + parser.mem_off = 0; + parser.mem_sz = mem_buf_sz; + parser.last_malloced = NULL; + } + else + parser.mem = NULL; + + if (0 != ls_sfp_lex_init_extra(&parser, &scanner)) + return -1; + + buf = ls_sfp__scan_bytes(input, input_sz, scanner); + if (buf) + { + ret = ls_sfp_lex(scanner); + if (parser.mem_failed) + ret = -2; + else if (parser.errmsg) + ret = -1; + ls_sfp__delete_buffer(buf, scanner); + } + else + ret = -2; + + ls_sfp_lex_destroy(scanner); + return ret; +} + + +void * +ls_sfp_alloc (size_t bytes, void *yyscanner) +{ + struct ls_sf_parser *const parser = ls_sfp_get_extra(yyscanner); + + if (parser->mem) + { + if (bytes + parser->mem_off < parser->mem_sz) + { + parser->last_malloced = parser->mem + parser->mem_off; + parser->mem_off += bytes; + return parser->last_malloced; + } + else + { + parser->mem_failed = 1; + return NULL; + } + } + else + return malloc(bytes); +} + + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +void * +ls_sfp_realloc (void *ptr, size_t bytes, void *yyscanner) +{ + struct ls_sf_parser *const parser = ls_sfp_get_extra(yyscanner); + void *ret; + + if (parser->mem) + { + if ((char *) ptr == parser->last_malloced) + { + if (parser->last_malloced + bytes <= parser->mem + parser->mem_sz) + return ptr; + else + { + parser->mem_failed = 1; + return NULL; + } + } + else if (ret = ls_sfp_alloc(bytes, yyscanner), ret != NULL) + { + memcpy(ret, ptr, + /* We don't know how large it was, so just copy the max */ + MAX(bytes, (size_t) ( + parser->mem + parser->mem_sz - (char *) ptr))); + return ret; + } + else + { + parser->mem_failed = 1; + return NULL; + } + } + else + return realloc(ptr, bytes); +} + + +void +ls_sfp_free (void *ptr, void *yyscanner) +{ + struct ls_sf_parser *const parser = ls_sfp_get_extra(yyscanner); + + if (parser->mem) + { + if ((char *) ptr == parser->last_malloced) + parser->mem_off = parser->last_malloced - parser->mem; + } + else + free(ptr); +} + diff --git a/external/lsquic/src/liblsquic/ls-sfparser.h b/external/lsquic/src/liblsquic/ls-sfparser.h new file mode 100644 index 0000000..571f73b --- /dev/null +++ b/external/lsquic/src/liblsquic/ls-sfparser.h @@ -0,0 +1,129 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* +MIT License + +Copyright (c) 2020 LiteSpeed Technologies Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +/* The LiteSpeed Structured Fields Parser parses structured fields decribed in + * https://tools.ietf.org/html/draft-ietf-httpbis-header-structure-19 + * + * It provides a simple streaming interface which allows the user to process + * structured fields in any manner. + */ + +#ifndef LS_SFPARSER_H +#define LS_SFPARSER_H 1 + +enum ls_sf_dt +{ /* LS SF DT: LiteSpeed Structured Field Data Type */ + LS_SF_DT_INTEGER, + LS_SF_DT_DECIMAL, + + /* Name only applies to dictionary names. They may repeat: the + * parser does not drop duplicates. + */ + LS_SF_DT_NAME, + + /* Parameter name may apply to any applicable preceding Item or + * Inner List. + */ + LS_SF_DT_PARAM_NAME, + + /* The returned string does not include enclosing double quotes. */ + LS_SF_DT_STRING, + + LS_SF_DT_TOKEN, + + /* The byte sequence is not base64-decoded; it is up to the caller + * to do so. The returned string does not include the enclosing + * colons. + */ + LS_SF_DT_BYTESEQ, + + /* Note that true boolean values are serialized *without* the values. + * The parser makes one up and passes a pointer to its internal buffer. + */ + LS_SF_DT_BOOLEAN, + + /* The Inner List has a beginning and an end. The returned strings + * are opening and closing parentheses. + */ + LS_SF_DT_INNER_LIST_BEGIN, + LS_SF_DT_INNER_LIST_END, +}; + + +enum ls_sf_tlt +{ /* LS SF TLT: LiteSpeed Structured Field Top-Level Type */ + LS_SF_TLT_DICTIONARY, + LS_SF_TLT_LIST, + LS_SF_TLT_ITEM, +}; + + +/* Return 0 if parsed correctly, -1 on error, -2 if ran out of memory. */ +int +ls_sf_parse ( + /* Expected type of top-level input. This tells the parser how to + * parse the input. + */ + enum ls_sf_tlt, + + /* Input; does not have to be NUL-terminated: */ + const char *input, size_t input_sz, + + /* Callback function to call each time a token is parsed. A non-zero + * return value indicates that parsing should stop. + */ + int (*callback)( + /* The first argument to the callback is user-specified additional + * data. + */ + void *user_data, + /* The second argument is the data type. */ + enum ls_sf_dt, + /* The third and fourth arguments are NUL-terminated string and + * its length, respectively. The string can be modified, because + * the parser makes a copy. + */ + char *str, size_t len, + /* Offset to the token in the input buffer. In the special case + * of an implicit boolean value, this value is negative: this is + * because this value is not present in the input buffer. + */ + int off), + + /* Additional data to pass to the callback: */ + void *user_data, + + /* Allocate memory from this memory buffer. If set to NULL, regular + * system memory allocator will be used. + */ + char *mem_buf, size_t mem_buf_sz); + + + +/* Convenience array with type names. */ +extern const char *const ls_sf_dt2str[]; + + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_adaptive_cc.c b/external/lsquic/src/liblsquic/lsquic_adaptive_cc.c new file mode 100644 index 0000000..cc1aefa --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_adaptive_cc.c @@ -0,0 +1,212 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* lsquic_adaptive_cc.c -- adaptive congestion controller */ + +#include +#include +#include +#include +#include +#include +#ifdef WIN32 +#include +#endif + +#include "lsquic_int_types.h" +#include "lsquic_types.h" +#include "lsquic_hash.h" +#include "lsquic_util.h" +#include "lsquic_cong_ctl.h" +#include "lsquic_sfcw.h" +#include "lsquic_conn_flow.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_stream.h" +#include "lsquic_rtt.h" +#include "lsquic_conn_public.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_out.h" +#include "lsquic_bw_sampler.h" +#include "lsquic_minmax.h" +#include "lsquic_bbr.h" +#include "lsquic_cubic.h" +#include "lsquic_adaptive_cc.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_ADAPTIVE_CC +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(acc->acc_cubic.cu_conn) +#include "lsquic_logger.h" + + +#define CALL_BOTH(method, ...) do { \ + lsquic_cong_bbr_if.method(&acc->acc_bbr, __VA_ARGS__); \ + lsquic_cong_cubic_if.method(&acc->acc_cubic, __VA_ARGS__); \ +} while (0) + + +#define CALL_BOTH_MAYBE(method, ...) do { \ + if (lsquic_cong_bbr_if.method) \ + lsquic_cong_bbr_if.method(&acc->acc_bbr, __VA_ARGS__); \ + if (lsquic_cong_cubic_if.method) \ + lsquic_cong_cubic_if.method(&acc->acc_cubic, __VA_ARGS__); \ +} while (0) + + +#define CALL_BOTH0(method) do { \ + lsquic_cong_bbr_if.method(&acc->acc_bbr); \ + lsquic_cong_cubic_if.method(&acc->acc_cubic); \ +} while (0) + + +static void +adaptive_cc_init (void *cong_ctl, const struct lsquic_conn_public *conn_pub, + enum quic_ft_bit retx_frames) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH(cci_init, conn_pub, retx_frames); + LSQ_DEBUG("initialized"); +} + + +static void +adaptive_cc_reinit (void *cong_ctl) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH0(cci_reinit); +} + + +static void +adaptive_cc_ack (void *cong_ctl, struct lsquic_packet_out *packet_out, + unsigned packet_sz, lsquic_time_t now, int app_limited) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH(cci_ack, packet_out, packet_sz, now, app_limited); +} + + +static void +adaptive_cc_loss (void *cong_ctl) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH0(cci_loss); +} + + +static void +adaptive_cc_begin_ack (void *cong_ctl, lsquic_time_t ack_time, + uint64_t in_flight) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH_MAYBE(cci_begin_ack, ack_time, in_flight); +} + + +static void +adaptive_cc_end_ack (void *cong_ctl, uint64_t in_flight) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH_MAYBE(cci_end_ack, in_flight); +} + + +static void +adaptive_cc_sent (void *cong_ctl, struct lsquic_packet_out *packet_out, + uint64_t in_flight, int app_limited) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH_MAYBE(cci_sent, packet_out, in_flight, app_limited); +} + + +static void +adaptive_cc_lost (void *cong_ctl, struct lsquic_packet_out *packet_out, + unsigned packet_sz) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH_MAYBE(cci_lost, packet_out, packet_sz); +} + + +static void +adaptive_cc_timeout (void *cong_ctl) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH0(cci_timeout); +} + + +static void +adaptive_cc_was_quiet (void *cong_ctl, lsquic_time_t now, uint64_t in_flight) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH(cci_was_quiet, now, in_flight); +} + + +static uint64_t +adaptive_cc_get_cwnd (void *cong_ctl) +{ + struct adaptive_cc *const acc = cong_ctl; + uint64_t rv[2]; + + rv[0] = lsquic_cong_cubic_if.cci_get_cwnd(&acc->acc_cubic); + rv[1] = lsquic_cong_bbr_if.cci_get_cwnd(&acc->acc_bbr); + + if (acc->acc_flags & ACC_CUBIC) + return rv[0]; + else + return rv[1]; +} + + +static uint64_t +adaptive_cc_pacing_rate (void *cong_ctl, int in_recovery) +{ + struct adaptive_cc *const acc = cong_ctl; + uint64_t rv[2]; + + rv[0] = lsquic_cong_cubic_if.cci_pacing_rate(&acc->acc_cubic, in_recovery); + rv[1] = lsquic_cong_bbr_if.cci_pacing_rate(&acc->acc_bbr, in_recovery); + + if (acc->acc_flags & ACC_CUBIC) + return rv[0]; + else + return rv[1]; +} + + +static void +adaptive_cc_cleanup (void *cong_ctl) +{ + struct adaptive_cc *const acc = cong_ctl; + + CALL_BOTH0(cci_cleanup); + LSQ_DEBUG("cleanup"); +} + + +const struct cong_ctl_if lsquic_cong_adaptive_if = +{ + .cci_ack = adaptive_cc_ack, + .cci_begin_ack = adaptive_cc_begin_ack, + .cci_end_ack = adaptive_cc_end_ack, + .cci_cleanup = adaptive_cc_cleanup, + .cci_get_cwnd = adaptive_cc_get_cwnd, + .cci_init = adaptive_cc_init, + .cci_pacing_rate = adaptive_cc_pacing_rate, + .cci_loss = adaptive_cc_loss, + .cci_lost = adaptive_cc_lost, + .cci_reinit = adaptive_cc_reinit, + .cci_timeout = adaptive_cc_timeout, + .cci_sent = adaptive_cc_sent, + .cci_was_quiet = adaptive_cc_was_quiet, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_adaptive_cc.h b/external/lsquic/src/liblsquic/lsquic_adaptive_cc.h new file mode 100644 index 0000000..36ea760 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_adaptive_cc.h @@ -0,0 +1,24 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_adaptive_cc.h -- Adaptive congestion controller + * + * The controller begins using BBRv1, but keeps Cubic state as well. + * When RTT is known, we pick either Cubic (small RTT) or BBRv1 (large + * RTT). + */ + +#ifndef LSQUIC_ADAPTIVE_CC_H +#define LSQUIC_ADAPTIVE_CC_H 1 + +struct adaptive_cc +{ + struct lsquic_cubic acc_cubic; + struct lsquic_bbr acc_bbr; + enum { + ACC_CUBIC = 1, /* If set, use Cubic; otherwise, use BBR */ + } acc_flags; +}; + +extern const struct cong_ctl_if lsquic_cong_adaptive_if; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_alarmset.c b/external/lsquic/src/liblsquic/lsquic_alarmset.c new file mode 100644 index 0000000..3f777d0 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_alarmset.c @@ -0,0 +1,116 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_alarmset.c -- A set of alarms + */ + +#include +#include +#include + +#include "lsquic_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_alarmset.h" +#include "lsquic_util.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_ALARMSET +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(alset->as_conn) +#include "lsquic_logger.h" + + +void +lsquic_alarmset_init (lsquic_alarmset_t *alset, const struct lsquic_conn *conn) +{ + alset->as_conn = conn; + alset->as_armed_set = 0; +} + + +void +lsquic_alarmset_init_alarm (lsquic_alarmset_t *alset, enum alarm_id al_id, + lsquic_alarm_cb_f callback, void *cb_ctx) +{ + alset->as_alarms[ al_id ].callback = callback; + alset->as_alarms[ al_id ].cb_ctx = cb_ctx; +} + + +const char *const lsquic_alid2str[] = +{ + [AL_HANDSHAKE] = "HANDSHAKE", + [AL_RETX_INIT] = "RETX_INIT", + [AL_RETX_HSK] = "RETX_HSK", + [AL_RETX_APP] = "RETX_APP", + [AL_PING] = "PING", + [AL_IDLE] = "IDLE", + [AL_ACK_APP] = "ACK_APP", + [AL_RET_CIDS] = "RET_CIDS", + [AL_CID_THROT] = "CID_THROT", + [AL_PATH_CHAL_0] = "PATH_CHAL_0", + [AL_PATH_CHAL_1] = "PATH_CHAL_1", + [AL_PATH_CHAL_2] = "PATH_CHAL_2", + [AL_PATH_CHAL_3] = "PATH_CHAL_3", + [AL_SESS_TICKET] = "SESS_TICKET", + [AL_BLOCKED_KA] = "BLOCKED_KA", + [AL_MTU_PROBE] = "MTU_PROBE", + [AL_PACK_TOL] = "PACK_TOL", +}; + + +void +lsquic_alarmset_ring_expired (lsquic_alarmset_t *alset, lsquic_time_t now) +{ + enum alarm_id_bit armed_set; + enum alarm_id al_id; + + for (al_id = 0, armed_set = alset->as_armed_set; + al_id < MAX_LSQUIC_ALARMS && armed_set; + armed_set &= ~(1 << al_id), ++al_id) + if (armed_set & (1 << al_id)) + { + if (alset->as_expiry[al_id] < now) + { + alset->as_armed_set &= ~(1 << al_id); + LSQ_INFO("ring expired %s alarm", lsquic_alid2str[al_id]); + alset->as_alarms[al_id].callback(al_id, + alset->as_alarms[al_id].cb_ctx, + alset->as_expiry[al_id], now); + } + } +} + + +lsquic_time_t +lsquic_alarmset_mintime (const lsquic_alarmset_t *alset, enum alarm_id *idp) +{ + lsquic_time_t expiry; + enum alarm_id al_id, ret_id; + + if (alset->as_armed_set) + { + expiry = UINT64_MAX; + for (al_id = 0, ret_id = 0; al_id < MAX_LSQUIC_ALARMS; ++al_id) + if ((alset->as_armed_set & (1 << al_id)) + && alset->as_expiry[al_id] < expiry) + { + expiry = alset->as_expiry[al_id]; + ret_id = al_id; + } + *idp = ret_id; + return expiry; + } + else + return 0; +} + + +void +lsquic_alarmset_log (const lsquic_alarmset_t *alset, enum alarm_id id) +{ + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + lsquic_time_t now = lsquic_time_now(); + LSQ_DEBUG("set %s new %"PRIu64"; exp %"PRIu64" diff %"PRIu64, + lsquic_alid2str[id], now, alset->as_expiry[id], + alset->as_expiry[id] - now); + } +} diff --git a/external/lsquic/src/liblsquic/lsquic_alarmset.h b/external/lsquic/src/liblsquic/lsquic_alarmset.h new file mode 100644 index 0000000..3bbab1a --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_alarmset.h @@ -0,0 +1,116 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_alarmset.h -- A set of alarms + */ + +#ifndef LSQUIC_ALARM_H +#define LSQUIC_ALARM_H 1 + +#include "lsquic_int_types.h" + +enum alarm_id; +struct lsquic_conn; + +typedef void (*lsquic_alarm_cb_f)(enum alarm_id, void *cb_ctx, + lsquic_time_t expiry, lsquic_time_t now); + +typedef struct lsquic_alarm { + lsquic_alarm_cb_f callback; + void *cb_ctx; +} lsquic_alarm_t; + + +enum alarm_id { + AL_HANDSHAKE, + AL_RETX_INIT, + AL_RETX_HSK = AL_RETX_INIT + PNS_HSK, + AL_RETX_APP = AL_RETX_INIT + PNS_APP, + AL_PING, + AL_MTU_PROBE, + AL_IDLE, + AL_ACK_APP, + AL_RET_CIDS, + AL_CID_THROT, + AL_PATH_CHAL, + AL_PATH_CHAL_0 = AL_PATH_CHAL, + AL_PATH_CHAL_1, + AL_PATH_CHAL_2, + AL_PATH_CHAL_3, + AL_SESS_TICKET, + AL_BLOCKED_KA, /* Blocked Keep-Alive */ + AL_PACK_TOL, /* Calculate packet tolerance */ + MAX_LSQUIC_ALARMS +}; + + +enum alarm_id_bit { + ALBIT_HANDSHAKE = 1 << AL_HANDSHAKE, + ALBIT_RETX_INIT = 1 << AL_RETX_INIT, + ALBIT_RETX_HSK = 1 << AL_RETX_HSK, + ALBIT_RETX_APP = 1 << AL_RETX_APP, + ALBIT_ACK_APP = 1 << AL_ACK_APP, + ALBIT_PING = 1 << AL_PING, + ALBIT_IDLE = 1 << AL_IDLE, + ALBIT_RET_CIDS = 1 << AL_RET_CIDS, + ALBIT_CID_THROT = 1 << AL_CID_THROT, + ALBIT_PATH_CHAL_0 = 1 << AL_PATH_CHAL_0, + ALBIT_PATH_CHAL_1 = 1 << AL_PATH_CHAL_1, + ALBIT_PATH_CHAL_2 = 1 << AL_PATH_CHAL_2, + ALBIT_PATH_CHAL_3 = 1 << AL_PATH_CHAL_3, + ALBIT_SESS_TICKET = 1 << AL_SESS_TICKET, + ALBIT_BLOCKED_KA = 1 << AL_BLOCKED_KA, + ALBIT_MTU_PROBE = 1 << AL_MTU_PROBE, + ALBIT_PACK_TOL = 1 << AL_PACK_TOL, +}; + + +typedef struct lsquic_alarmset { + enum alarm_id_bit as_armed_set; + lsquic_time_t as_expiry[MAX_LSQUIC_ALARMS]; + const struct lsquic_conn *as_conn; /* Used for logging */ + struct lsquic_alarm as_alarms[MAX_LSQUIC_ALARMS]; +} lsquic_alarmset_t; + + +void +lsquic_alarmset_init (lsquic_alarmset_t *, const struct lsquic_conn *); + +void +lsquic_alarmset_init_alarm (lsquic_alarmset_t *, enum alarm_id, + lsquic_alarm_cb_f, void *cb_ctx); + +void +lsquic_alarmset_log (const lsquic_alarmset_t *alset, enum alarm_id id); + +static inline void +lsquic_alarmset_set (lsquic_alarmset_t *alarmset, enum alarm_id al_id, + lsquic_time_t exp) +{ + alarmset->as_armed_set |= 1 << al_id; + alarmset->as_expiry[al_id] = exp; + //lsquic_alarmset_log(alarmset, al_id); +} + +static inline void +lsquic_alarmset_unset (lsquic_alarmset_t *alarmset, enum alarm_id al_id) +{ alarmset->as_armed_set &= ~(1 << al_id); } + +static inline unsigned +lsquic_alarmset_is_set (const lsquic_alarmset_t *alarmset, enum alarm_id al_id) +{ return alarmset->as_armed_set & (1 << al_id); } + +static inline unsigned +lsquic_alarmset_is_inited (const lsquic_alarmset_t *alarmset, + enum alarm_id al_id) +{ return alarmset->as_alarms[al_id].callback != NULL; } + +/* Timers "fire," alarms "ring." */ +void +lsquic_alarmset_ring_expired (lsquic_alarmset_t *, lsquic_time_t now); + +lsquic_time_t +lsquic_alarmset_mintime (const lsquic_alarmset_t *, enum alarm_id *); + +extern const char *const lsquic_alid2str[]; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_arr.c b/external/lsquic/src/liblsquic/lsquic_arr.c new file mode 100644 index 0000000..e3828c5 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_arr.c @@ -0,0 +1,53 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_arr.c + */ + +#include "lsquic_arr.h" + +int +lsquic_arr_push (struct lsquic_arr *arr, uintptr_t val) +{ + uintptr_t *new_els; + unsigned n; + + if (arr->off + arr->nelem < arr->nalloc) + { + arr->els[arr->off + arr->nelem] = val; + ++arr->nelem; + return 0; + } + + if (arr->off > arr->nalloc / 2) + { + memmove(arr->els, arr->els + arr->off, + sizeof(arr->els[0]) * arr->nelem); + arr->off = 0; + arr->els[arr->nelem] = val; + ++arr->nelem; + return 0; + } + + if (arr->nalloc) + n = arr->nalloc * 2; + else + n = 64; + new_els = malloc(n * sizeof(arr->els[0])); + if (!new_els) + return -1; + memcpy(new_els, arr->els + arr->off, sizeof(arr->els[0]) * arr->nelem); + free(arr->els); + arr->off = 0; + arr->els = new_els; + arr->nalloc = n; + arr->els[arr->off + arr->nelem] = val; + ++arr->nelem; + return 0; +} + + +size_t +lsquic_arr_mem_used (const struct lsquic_arr *arr) +{ + return sizeof(*arr) + arr->nalloc * sizeof(arr->els[0]); +} diff --git a/external/lsquic/src/liblsquic/lsquic_arr.h b/external/lsquic/src/liblsquic/lsquic_arr.h new file mode 100644 index 0000000..600e522 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_arr.h @@ -0,0 +1,94 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_arr.h -- Array + */ + +#ifndef LSQUIC_ARR_H +#define LSQUIC_ARR_H 1 + +#include +#include +#include +#include + +struct lsquic_arr +{ + unsigned nalloc, + nelem, + off; + uintptr_t *els; +}; + + +static inline void +lsquic_arr_init (struct lsquic_arr *a) +{ + memset(a, 0, sizeof(*a)); +} + + +static inline void +lsquic_arr_cleanup (struct lsquic_arr *a) +{ + free(a->els); + memset(a, 0, sizeof(*a)); +} + + +static inline void +lsquic_arr_clear (struct lsquic_arr *a) +{ + a->off = 0; + a->nelem = 0; +} + + +static inline uintptr_t +lsquic_arr_get (struct lsquic_arr *a, unsigned i) +{ + assert(i < a->nelem); + return a->els[a->off + i]; +} + + +static inline uintptr_t +lsquic_arr_shift (struct lsquic_arr *a) +{ + assert(a->nelem > 0); + a->nelem -= 1; + return a->els[a->off++]; +} + + +static inline uintptr_t +lsquic_arr_peek (struct lsquic_arr *a) +{ + assert(a->nelem > 0); + return a->els[a->off]; +} + + +static inline uintptr_t +lsquic_arr_pop (struct lsquic_arr *a) +{ + assert(a->nelem > 0); + a->nelem -= 1; + return a->els[a->off + a->nelem]; +} + + +static inline unsigned +lsquic_arr_count (struct lsquic_arr *a) +{ + return +a->nelem; +} + + +int +lsquic_arr_push (struct lsquic_arr *, uintptr_t); + + +size_t +lsquic_arr_mem_used (const struct lsquic_arr *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_attq.c b/external/lsquic/src/liblsquic/lsquic_attq.c new file mode 100644 index 0000000..4a3eb59 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_attq.c @@ -0,0 +1,287 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_attq.c -- Advisory Tick Time Queue + * + * This is a collection of connections kept in a binary heap, the top + * element having the minimum advsory time. To speed up removal, each + * element has an index it has in the heap array. The index is updated + * as elements are moved around in the array when heap is updated. + */ + +#include +#include +#ifdef WIN32 +#include +#endif +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_attq.h" +#include "lsquic_packet_common.h" +#include "lsquic_alarmset.h" +#include "lsquic_malo.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" + + +struct attq +{ + struct malo *aq_elem_malo; + struct attq_elem **aq_heap; + unsigned aq_nelem; + unsigned aq_nalloc; +}; + + +struct attq * +lsquic_attq_create (void) +{ + struct attq *q; + struct malo *malo; + + malo = lsquic_malo_create(sizeof(struct attq_elem)); + if (!malo) + return NULL; + + q = calloc(1, sizeof(*q)); + if (!q) + { + lsquic_malo_destroy(malo); + return NULL; + } + + q->aq_elem_malo = malo; + return q; +} + + +void +lsquic_attq_destroy (struct attq *q) +{ + lsquic_malo_destroy(q->aq_elem_malo); + free(q->aq_heap); + free(q); +} + + + +#define AE_PARENT(i) ((i - 1) / 2) +#define AE_LCHILD(i) (2 * i + 1) +#define AE_RCHILD(i) (2 * i + 2) + + +#if LSQUIC_EXTRA_CHECKS && !defined(NDEBUG) +static void +attq_verify (struct attq *q) +{ + unsigned i; + + for (i = 0; i < q->aq_nelem; ++i) + { + assert(q->aq_heap[i]->ae_heap_idx == i); + if (AE_LCHILD(i) < q->aq_nelem) + assert(q->aq_heap[i]->ae_adv_time <= + q->aq_heap[AE_LCHILD(i)]->ae_adv_time); + if (AE_RCHILD(i) < q->aq_nelem) + assert(q->aq_heap[i]->ae_adv_time <= + q->aq_heap[AE_RCHILD(i)]->ae_adv_time); + } +} +#else +#define attq_verify(q) +#endif + + +static void +attq_swap (struct attq *q, unsigned a, unsigned b) +{ + struct attq_elem *el; + + el = q->aq_heap[ a ]; + q->aq_heap[ a ] = q->aq_heap[ b ]; + q->aq_heap[ b ] = el; + q->aq_heap[ a ]->ae_heap_idx = a; + q->aq_heap[ b ]->ae_heap_idx = b; +} + + +int +lsquic_attq_add (struct attq *q, struct lsquic_conn *conn, + lsquic_time_t advisory_time, enum ae_why why) +{ + struct attq_elem *el, **heap; + unsigned n, i; + + if (q->aq_nelem >= q->aq_nalloc) + { + if (q->aq_nalloc > 0) + n = q->aq_nalloc * 2; + else + n = 8; + heap = realloc(q->aq_heap, n * sizeof(q->aq_heap[0])); + if (!heap) + return -1; + q->aq_heap = heap; + q->aq_nalloc = n; + } + + el = lsquic_malo_get(q->aq_elem_malo); + if (!el) + return -1; + el->ae_adv_time = advisory_time; + el->ae_why = why; + + /* The only place linkage between conn and attq_elem occurs: */ + el->ae_conn = conn; + conn->cn_attq_elem = el; + + el->ae_heap_idx = q->aq_nelem; + q->aq_heap[ q->aq_nelem++ ] = el; + + i = q->aq_nelem - 1; + while (i > 0 && q->aq_heap[ AE_PARENT(i) ]->ae_adv_time >= + q->aq_heap[ i ]->ae_adv_time) + { + attq_swap(q, i, AE_PARENT(i)); + i = AE_PARENT(i); + } + + attq_verify(q); + + return 0; +} + + +struct lsquic_conn * +lsquic_attq_pop (struct attq *q, lsquic_time_t cutoff) +{ + struct lsquic_conn *conn; + struct attq_elem *el; + + if (q->aq_nelem == 0) + return NULL; + + el = q->aq_heap[0]; + if (el->ae_adv_time >= cutoff) + return NULL; + + conn = el->ae_conn; + lsquic_attq_remove(q, conn); + return conn; +} + + +static void +attq_heapify (struct attq *q, unsigned i) +{ + unsigned smallest; + + assert(i < q->aq_nelem); + + if (AE_LCHILD(i) < q->aq_nelem) + { + if (q->aq_heap[ AE_LCHILD(i) ]->ae_adv_time < + q->aq_heap[ i ]->ae_adv_time) + smallest = AE_LCHILD(i); + else + smallest = i; + if (AE_RCHILD(i) < q->aq_nelem && + q->aq_heap[ AE_RCHILD(i) ]->ae_adv_time < + q->aq_heap[ smallest ]->ae_adv_time) + smallest = AE_RCHILD(i); + } + else + smallest = i; + + if (smallest != i) + { + attq_swap(q, smallest, i); + attq_heapify(q, smallest); + } +} + + +void +lsquic_attq_remove (struct attq *q, struct lsquic_conn *conn) +{ + struct attq_elem *el; + unsigned idx; + + el = conn->cn_attq_elem; + idx = el->ae_heap_idx; + + assert(q->aq_nelem > 0); + assert(q->aq_heap[idx] == el); + assert(conn->cn_attq_elem == el); + + conn->cn_attq_elem = NULL; + + q->aq_heap[ idx ] = q->aq_heap[ --q->aq_nelem ]; + q->aq_heap[ idx ]->ae_heap_idx = idx; + if (idx > 0 && q->aq_heap[ idx ]->ae_adv_time < + q->aq_heap[ AE_PARENT(idx) ]->ae_adv_time) + { + do + { + attq_swap(q, idx, AE_PARENT(idx)); + idx = AE_PARENT(idx); + } + while (idx > 0 && q->aq_heap[ idx ]->ae_adv_time < + q->aq_heap[ AE_PARENT(idx) ]->ae_adv_time); + } + else if (q->aq_nelem > 1 && idx < q->aq_nelem) + attq_heapify(q, idx); + lsquic_malo_put(el); + attq_verify(q); +} + + +unsigned +lsquic_attq_count_before (struct attq *q, lsquic_time_t cutoff) +{ + unsigned level, total_count, level_count, i, level_max; + + total_count = 0; + for (i = 0, level = 0;; ++level) + { + level_count = 0; + level_max = i + (1U << level); + for ( ; i < level_max && i < q->aq_nelem; ++i) + level_count += q->aq_heap[i]->ae_adv_time < cutoff; + total_count += level_count; + if (level_count < (1U << level)) + return total_count; + } + assert(0); + return total_count; +} + + +const struct attq_elem * +lsquic_attq_next (struct attq *q) +{ + if (q->aq_nelem > 0) + return q->aq_heap[0]; + else + return NULL; +} + + +const char * +lsquic_attq_why2str (enum ae_why why) +{ + switch (why) + { + case AEW_PACER: + return "PACER"; + case AEW_MINI_EXPIRE: + return "MINI-EXPIRE"; + default: + why -= N_AEWS; + if ((unsigned) why < (unsigned) MAX_LSQUIC_ALARMS) + return lsquic_alid2str[why]; + return "UNKNOWN"; + } +} diff --git a/external/lsquic/src/liblsquic/lsquic_attq.h b/external/lsquic/src/liblsquic/lsquic_attq.h new file mode 100644 index 0000000..c13c80d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_attq.h @@ -0,0 +1,59 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_attq.h -- Advisory Tick Time Queue + */ + +#ifndef LSQUIC_ATTQ_H +#define LSQUIC_ATTQ_H + +struct attq; +struct lsquic_conn; + + +/* The extra level of indirection is done for speed: swapping heap elements + * does not need memory associated with lsquic_conn. + */ +struct attq_elem +{ + struct lsquic_conn *ae_conn; + lsquic_time_t ae_adv_time; + unsigned ae_heap_idx; + /* The "why" describes why the connection is in the Advisory Tick Time + * Queue. Values past the range describe different alarm types (see + * enum alarm_id). + */ + enum ae_why { + AEW_PACER, + AEW_MINI_EXPIRE, + N_AEWS + } ae_why; +}; + + +struct attq * +lsquic_attq_create (void); + +void +lsquic_attq_destroy (struct attq *); + +/* Return 0 on success, -1 on failure (malloc) */ +int +lsquic_attq_add (struct attq *, struct lsquic_conn *, lsquic_time_t advisory_time, + enum ae_why); + +void +lsquic_attq_remove (struct attq *, struct lsquic_conn *); + +struct lsquic_conn * +lsquic_attq_pop (struct attq *, lsquic_time_t cutoff); + +unsigned +lsquic_attq_count_before (struct attq *, lsquic_time_t cutoff); + +const struct attq_elem * +lsquic_attq_next (struct attq *); + +const char * +lsquic_attq_why2str (enum ae_why); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_bbr.c b/external/lsquic/src/liblsquic/lsquic_bbr.c new file mode 100644 index 0000000..5bd83a7 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_bbr.c @@ -0,0 +1,1086 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE.chrome file. + +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_cong_ctl.h" +#include "lsquic_minmax.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_out.h" +#include "lsquic_bw_sampler.h" +#include "lsquic_bbr.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_sfcw.h" +#include "lsquic_conn_flow.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_stream.h" +#include "lsquic_rtt.h" +#include "lsquic_conn_public.h" +#include "lsquic_util.h" +#include "lsquic_malo.h" +#include "lsquic_crand.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_BBR +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(bbr->bbr_conn_pub->lconn) +#include "lsquic_logger.h" + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +#define ms(val_) ((val_) * 1000) +#define sec(val_) ((val_) * 1000 * 1000) + +// Default maximum packet size used in the Linux TCP implementation. +// Used in QUIC for congestion window computations in bytes. +#define kDefaultTCPMSS 1460 +#define kMaxSegmentSize kDefaultTCPMSS + +// Constants based on TCP defaults. +// The minimum CWND to ensure delayed acks don't reduce bandwidth measurements. +// Does not inflate the pacing rate. +#define kDefaultMinimumCongestionWindow (4 * kDefaultTCPMSS) + +// The gain used for the STARTUP, equal to 2/ln(2). +#define kDefaultHighGain 2.885f + +// The newly derived gain for STARTUP, equal to 4 * ln(2) +#define kDerivedHighGain 2.773f + +// The newly derived CWND gain for STARTUP, 2. +#define kDerivedHighCWNDGain 2.0f + +// The gain used in STARTUP after loss has been detected. +// 1.5 is enough to allow for 25% exogenous loss and still observe a 25% growth +// in measured bandwidth. +#define kStartupAfterLossGain 1.5f + +// We match SPDY's use of 32 (since we'd compete with SPDY). +#define kInitialCongestionWindow 32 + +/* Taken from send_algorithm_interface.h */ +#define kDefaultMaxCongestionWindowPackets 2000 + +// The time after which the current min_rtt value expires. +#define kMinRttExpiry sec(10) + +// Coefficient to determine if a new RTT is sufficiently similar to min_rtt that +// we don't need to enter PROBE_RTT. +#define kSimilarMinRttThreshold 1.125f + +// If the bandwidth does not increase by the factor of |kStartupGrowthTarget| +// within |kRoundTripsWithoutGrowthBeforeExitingStartup| rounds, the connection +// will exit the STARTUP mode. +#define kStartupGrowthTarget 1.25 + +#define kRoundTripsWithoutGrowthBeforeExitingStartup 3 + +#define startup_rate_reduction_multiplier_ 0 + +// The cycle of gains used during the PROBE_BW stage. +static const float kPacingGain[] = {1.25, 0.75, 1, 1, 1, 1, 1, 1}; + +// The length of the gain cycle. +static const size_t kGainCycleLength = sizeof(kPacingGain) + / sizeof(kPacingGain[0]); + +// Coefficient of target congestion window to use when basing PROBE_RTT on BDP. +#define kModerateProbeRttMultiplier 0.75 + +// The maximum packet size of any QUIC packet over IPv6, based on ethernet's max +// size, minus the IP and UDP headers. IPv6 has a 40 byte header, UDP adds an +// additional 8 bytes. This is a total overhead of 48 bytes. Ethernet's +// max packet size is 1500 bytes, 1500 - 48 = 1452. +#define kMaxV6PacketSize 1452 +// The maximum packet size of any QUIC packet over IPv4. +// 1500(Ethernet) - 20(IPv4 header) - 8(UDP header) = 1472. +#define kMaxV4PacketSize 1472 +// The maximum incoming packet size allowed. +#define kMaxIncomingPacketSize kMaxV4PacketSize +// The maximum outgoing packet size allowed. +#define kMaxOutgoingPacketSize kMaxV6PacketSize + +// The minimum time the connection can spend in PROBE_RTT mode. +#define kProbeRttTime ms(200) + +/* FLAG* are from net/quic/quic_flags_list.h */ + +// When in STARTUP and recovery, do not add bytes_acked to QUIC BBR's CWND in +// CalculateCongestionWindow() +#define FLAGS_quic_bbr_no_bytes_acked_in_startup_recovery 0 + +// When true, ensure BBR allows at least one MSS to be sent in response to an +// ACK in packet conservation. +#define FLAG_quic_bbr_one_mss_conservation 0 + +/* From net/quic/quic_flags_list.h */ +#define kCwndGain 2.0 + + +static uint64_t lsquic_bbr_get_cwnd (void *); + + +static const char *const mode2str[] = +{ + [BBR_MODE_STARTUP] = "STARTUP", + [BBR_MODE_DRAIN] = "DRAIN", + [BBR_MODE_PROBE_BW] = "PROBE_BW", + [BBR_MODE_PROBE_RTT] = "PROBE_RTT", +}; + + +static void +set_mode (struct lsquic_bbr *bbr, enum bbr_mode mode) +{ + if (bbr->bbr_mode != mode) + { + LSQ_DEBUG("mode change %s -> %s", mode2str[bbr->bbr_mode], + mode2str[mode]); + bbr->bbr_mode = mode; + } + else + LSQ_DEBUG("mode remains %s", mode2str[mode]); +} + + +static void +set_startup_values (struct lsquic_bbr *bbr) +{ + bbr->bbr_pacing_gain = bbr->bbr_high_gain; + bbr->bbr_cwnd_gain = bbr->bbr_high_cwnd_gain; +} + + +static void +init_bbr (struct lsquic_bbr *bbr) +{ + bbr->bbr_mode = BBR_MODE_STARTUP; + bbr->bbr_round_count = 0; + minmax_init(&bbr->bbr_max_bandwidth, 10); + minmax_init(&bbr->bbr_max_ack_height, 10); + bbr->bbr_aggregation_epoch_bytes = 0; + bbr->bbr_aggregation_epoch_start_time = 0; + bbr->bbr_min_rtt = 0; + bbr->bbr_min_rtt_timestamp = 0; + bbr->bbr_init_cwnd = kInitialCongestionWindow * kDefaultTCPMSS; + bbr->bbr_cwnd = kInitialCongestionWindow * kDefaultTCPMSS; + bbr->bbr_max_cwnd = kDefaultMaxCongestionWindowPackets * kDefaultTCPMSS; + bbr->bbr_min_cwnd = kDefaultMinimumCongestionWindow; + bbr->bbr_high_gain = kDefaultHighGain; + bbr->bbr_high_cwnd_gain = kDefaultHighGain; + bbr->bbr_drain_gain = 1.0f / kDefaultHighGain; + bbr->bbr_pacing_rate = BW_ZERO(); + bbr->bbr_pacing_gain = 1.0; + bbr->bbr_cwnd_gain = 1.0; + bbr->bbr_num_startup_rtts = kRoundTripsWithoutGrowthBeforeExitingStartup; + bbr->bbr_flags &= ~BBR_FLAG_EXIT_STARTUP_ON_LOSS; + bbr->bbr_cycle_current_offset = 0; + bbr->bbr_last_cycle_start = 0; + bbr->bbr_flags &= ~BBR_FLAG_IS_AT_FULL_BANDWIDTH; + bbr->bbr_round_wo_bw_gain = 0; + bbr->bbr_bw_at_last_round = BW_ZERO(); + bbr->bbr_flags &= ~BBR_FLAG_EXITING_QUIESCENCE; + bbr->bbr_exit_probe_rtt_at = 0; + bbr->bbr_flags &= ~BBR_FLAG_PROBE_RTT_ROUND_PASSED; + bbr->bbr_flags &= ~BBR_FLAG_LAST_SAMPLE_APP_LIMITED; + bbr->bbr_flags &= ~BBR_FLAG_HAS_NON_APP_LIMITED; + bbr->bbr_flags &= ~BBR_FLAG_FLEXIBLE_APP_LIMITED; + set_startup_values(bbr); +} + + +static void +lsquic_bbr_init (void *cong_ctl, const struct lsquic_conn_public *conn_pub, + enum quic_ft_bit retx_frames) +{ + struct lsquic_bbr *const bbr = cong_ctl; + bbr->bbr_conn_pub = conn_pub; + lsquic_bw_sampler_init(&bbr->bbr_bw_sampler, conn_pub->lconn, retx_frames); + bbr->bbr_rtt_stats = &conn_pub->rtt_stats; + + init_bbr(bbr); + + LSQ_DEBUG("initialized"); +} + + +static void +lsquic_bbr_reinit (void *cong_ctl) +{ + struct lsquic_bbr *const bbr = cong_ctl; + + init_bbr(bbr); + + LSQ_DEBUG("re-initialized"); +} + + +static lsquic_time_t +get_min_rtt (const struct lsquic_bbr *bbr) +{ + lsquic_time_t min_rtt; + + if (bbr->bbr_min_rtt) + return bbr->bbr_min_rtt; + else + { + min_rtt = lsquic_rtt_stats_get_min_rtt(bbr->bbr_rtt_stats); + if (min_rtt == 0) + min_rtt = 25000; + return min_rtt; + } +} + + +static uint64_t +lsquic_bbr_pacing_rate (void *cong_ctl, int in_recovery) +{ + struct lsquic_bbr *const bbr = cong_ctl; + lsquic_time_t min_rtt; + struct bandwidth bw; + + if (!BW_IS_ZERO(&bbr->bbr_pacing_rate)) + bw = bbr->bbr_pacing_rate; + else + { + min_rtt = get_min_rtt(bbr); + bw = BW_FROM_BYTES_AND_DELTA(bbr->bbr_init_cwnd, min_rtt); + bw = BW_TIMES(&bw, bbr->bbr_high_cwnd_gain); + } + + return BW_TO_BYTES_PER_SEC(&bw); +} + + +/* BbrSender::GetTargetCongestionWindow */ +static uint64_t +get_target_cwnd (const struct lsquic_bbr *bbr, float gain) +{ + struct bandwidth bw; + uint64_t bdp, cwnd; + + bw = BW(minmax_get(&bbr->bbr_max_bandwidth)); + bdp = get_min_rtt(bbr) * BW_TO_BYTES_PER_SEC(&bw) / 1000000; + cwnd = gain * bdp; + + // BDP estimate will be zero if no bandwidth samples are available yet. + if (cwnd == 0) + cwnd = gain * bbr->bbr_init_cwnd; + + return MAX(cwnd, bbr->bbr_min_cwnd); +} + + +/* See BbrSender::IsPipeSufficientlyFull */ +static int +is_pipe_sufficiently_full (struct lsquic_bbr *bbr, uint64_t bytes_in_flight) +{ + // See if we need more bytes in flight to see more bandwidth. + if (bbr->bbr_mode == BBR_MODE_STARTUP) + // STARTUP exits if it doesn't observe a 25% bandwidth increase, so + // the CWND must be more than 25% above the target. + return bytes_in_flight >= get_target_cwnd(bbr, 1.5); + else if (bbr->bbr_pacing_gain > 1) + // Super-unity PROBE_BW doesn't exit until 1.25 * BDP is achieved. + return bytes_in_flight >= get_target_cwnd(bbr, bbr->bbr_pacing_gain); + else + // If bytes_in_flight are above the target congestion window, it should + // be possible to observe the same or more bandwidth if it's available. + return bytes_in_flight >= get_target_cwnd(bbr, 1.1f); +} + + +static void +lsquic_bbr_was_quiet (void *cong_ctl, lsquic_time_t now, uint64_t in_flight) +{ + struct lsquic_bbr *const bbr = cong_ctl; + LSQ_DEBUG("was quiet"); /* Do nothing */ +} + + +/* See BbrSender::OnApplicationLimited */ +static void +bbr_app_limited (struct lsquic_bbr *bbr, uint64_t bytes_in_flight) +{ + uint64_t cwnd; + + cwnd = lsquic_bbr_get_cwnd(bbr); + if (bytes_in_flight >= cwnd) + return; + if ((bbr->bbr_flags & BBR_FLAG_FLEXIBLE_APP_LIMITED) + && is_pipe_sufficiently_full(bbr, bytes_in_flight)) + return; + + bbr->bbr_flags |= BBR_FLAG_APP_LIMITED_SINCE_LAST_PROBE_RTT; + lsquic_bw_sampler_app_limited(&bbr->bbr_bw_sampler); + LSQ_DEBUG("becoming application-limited. Last sent packet: %"PRIu64"; " + "CWND: %"PRIu64, bbr->bbr_last_sent_packno, cwnd); +} + + +static void +lsquic_bbr_ack (void *cong_ctl, struct lsquic_packet_out *packet_out, + unsigned packet_sz, lsquic_time_t now_time, int app_limited) +{ + struct lsquic_bbr *const bbr = cong_ctl; + struct bw_sample *sample; + + assert(bbr->bbr_flags & BBR_FLAG_IN_ACK); + + sample = lsquic_bw_sampler_packet_acked(&bbr->bbr_bw_sampler, packet_out, + bbr->bbr_ack_state.ack_time); + if (sample) + TAILQ_INSERT_TAIL(&bbr->bbr_ack_state.samples, sample, next); + + if (!is_valid_packno(bbr->bbr_ack_state.max_packno) + /* Packet ordering is checked for, and warned about, in + * lsquic_senhist_add(). + */ + || packet_out->po_packno > bbr->bbr_ack_state.max_packno) + bbr->bbr_ack_state.max_packno = packet_out->po_packno; + bbr->bbr_ack_state.acked_bytes += packet_sz; +} + + +static void +lsquic_bbr_sent (void *cong_ctl, struct lsquic_packet_out *packet_out, + uint64_t in_flight, int app_limited) +{ + struct lsquic_bbr *const bbr = cong_ctl; + + if (!(packet_out->po_flags & PO_MINI)) + lsquic_bw_sampler_packet_sent(&bbr->bbr_bw_sampler, packet_out, + in_flight); + + /* Obviously we make an assumption that sent packet number are always + * increasing. + */ + bbr->bbr_last_sent_packno = packet_out->po_packno; + + if (app_limited) + bbr_app_limited(bbr, in_flight); +} + + +static void +lsquic_bbr_lost (void *cong_ctl, struct lsquic_packet_out *packet_out, + unsigned packet_sz) +{ + struct lsquic_bbr *const bbr = cong_ctl; + + lsquic_bw_sampler_packet_lost(&bbr->bbr_bw_sampler, packet_out); + bbr->bbr_ack_state.has_losses = 1; + bbr->bbr_ack_state.lost_bytes += packet_sz; +} + + +static void +lsquic_bbr_begin_ack (void *cong_ctl, lsquic_time_t ack_time, uint64_t in_flight) +{ + struct lsquic_bbr *const bbr = cong_ctl; + + assert(!(bbr->bbr_flags & BBR_FLAG_IN_ACK)); + bbr->bbr_flags |= BBR_FLAG_IN_ACK; + memset(&bbr->bbr_ack_state, 0, sizeof(bbr->bbr_ack_state)); + TAILQ_INIT(&bbr->bbr_ack_state.samples); + bbr->bbr_ack_state.ack_time = ack_time; + bbr->bbr_ack_state.max_packno = UINT64_MAX; + bbr->bbr_ack_state.in_flight = in_flight; + bbr->bbr_ack_state.total_bytes_acked_before + = lsquic_bw_sampler_total_acked(&bbr->bbr_bw_sampler); +} + + +/* Based on BbrSender::ShouldExtendMinRttExpiry() */ +static int +should_extend_min_rtt_expiry (const struct lsquic_bbr *bbr) +{ + int increased_since_last_probe; + + if ((bbr->bbr_flags & (BBR_FLAG_APP_LIMITED_SINCE_LAST_PROBE_RTT + |BBR_FLAG_PROBE_RTT_DISABLED_IF_APP_LIMITED)) + == (BBR_FLAG_APP_LIMITED_SINCE_LAST_PROBE_RTT + |BBR_FLAG_PROBE_RTT_DISABLED_IF_APP_LIMITED)) + // Extend the current min_rtt if we've been app limited recently. + return 1; + + increased_since_last_probe = bbr->bbr_min_rtt_since_last_probe + > bbr->bbr_min_rtt * kSimilarMinRttThreshold; + if ((bbr->bbr_flags & (BBR_FLAG_APP_LIMITED_SINCE_LAST_PROBE_RTT + |BBR_FLAG_PROBE_RTT_SKIPPED_IF_SIMILAR_RTT)) + == (BBR_FLAG_APP_LIMITED_SINCE_LAST_PROBE_RTT + |BBR_FLAG_PROBE_RTT_SKIPPED_IF_SIMILAR_RTT) + && !increased_since_last_probe) + // Extend the current min_rtt if we've been app limited recently and an + // rtt has been measured in that time that's less than 12.5% more than + // the current min_rtt. + return 1; + + return 0; +} + + +/* Based on BbrSender::UpdateBandwidthAndMinRtt */ +/* Returns true if min RTT expired, false otherwise */ +static int +update_bandwidth_and_min_rtt (struct lsquic_bbr *bbr) +{ + struct bw_sample *sample, *next_sample; + uint64_t sample_min_rtt; + int min_rtt_expired; + + sample_min_rtt = UINT64_MAX; + for (sample = TAILQ_FIRST(&bbr->bbr_ack_state.samples); sample; + sample = next_sample) + { + next_sample = TAILQ_NEXT(sample, next); + + if (sample->is_app_limited) + bbr->bbr_flags |= BBR_FLAG_LAST_SAMPLE_APP_LIMITED; + else + { + bbr->bbr_flags &= ~BBR_FLAG_LAST_SAMPLE_APP_LIMITED; + bbr->bbr_flags |= BBR_FLAG_HAS_NON_APP_LIMITED; + } + + if (sample_min_rtt == UINT64_MAX || sample->rtt < sample_min_rtt) + sample_min_rtt = sample->rtt; + + if (!sample->is_app_limited + || BW_VALUE(&sample->bandwidth) + > minmax_get(&bbr->bbr_max_bandwidth)) + minmax_upmax(&bbr->bbr_max_bandwidth, bbr->bbr_round_count, + BW_VALUE(&sample->bandwidth)); + + lsquic_malo_put(sample); + } + + if (sample_min_rtt == UINT64_MAX) + return 0; + + bbr->bbr_min_rtt_since_last_probe + = MIN(bbr->bbr_min_rtt_since_last_probe, sample_min_rtt); + + min_rtt_expired = bbr->bbr_min_rtt != 0 && (bbr->bbr_ack_state.ack_time + > bbr->bbr_min_rtt_timestamp + kMinRttExpiry); + if (min_rtt_expired || sample_min_rtt < bbr->bbr_min_rtt + || 0 == bbr->bbr_min_rtt) + { + if (min_rtt_expired && should_extend_min_rtt_expiry(bbr)) + { + LSQ_DEBUG("min rtt expiration extended, stay at: %"PRIu64, + bbr->bbr_min_rtt); + min_rtt_expired = 0; + } + else + { + LSQ_DEBUG("min rtt updated: %"PRIu64" -> %"PRIu64, + bbr->bbr_min_rtt, sample_min_rtt); + bbr->bbr_min_rtt = sample_min_rtt; + } + bbr->bbr_min_rtt_timestamp = bbr->bbr_ack_state.ack_time; + bbr->bbr_min_rtt_since_last_probe = UINT64_MAX; + bbr->bbr_flags &= ~BBR_FLAG_APP_LIMITED_SINCE_LAST_PROBE_RTT; + } + + return min_rtt_expired; +} + + +/* Based on BbrSender::UpdateRecoveryState() */ +static void +update_recovery_state (struct lsquic_bbr *bbr, int is_round_start) +{ + // Exit recovery when there are no losses for a round. + if (bbr->bbr_ack_state.has_losses) + bbr->bbr_end_recovery_at = bbr->bbr_last_sent_packno; + + switch (bbr->bbr_recovery_state) + { + case BBR_RS_NOT_IN_RECOVERY: + // Enter conservation on the first loss. + if (bbr->bbr_ack_state.has_losses) + { + bbr->bbr_recovery_state = BBR_RS_CONSERVATION; + // This will cause the |bbr_recovery_window| to be set to the + // correct value in CalculateRecoveryWindow(). + bbr->bbr_recovery_window = 0; + // Since the conservation phase is meant to be lasting for a whole + // round, extend the current round as if it were started right now. + bbr->bbr_current_round_trip_end = bbr->bbr_last_sent_packno; + } + break; + case BBR_RS_CONSERVATION: + if (is_round_start) + bbr->bbr_recovery_state = BBR_RS_GROWTH; + /* Fall-through */ + case BBR_RS_GROWTH: + // Exit recovery if appropriate. + if (!bbr->bbr_ack_state.has_losses + && bbr->bbr_ack_state.max_packno > bbr->bbr_end_recovery_at) + bbr->bbr_recovery_state = BBR_RS_NOT_IN_RECOVERY; + break; + } +} + + +static uint64_t +update_ack_aggregation_bytes (struct lsquic_bbr *bbr, + uint64_t newly_acked_bytes) +{ + const lsquic_time_t ack_time = bbr->bbr_ack_state.ack_time; + uint64_t expected_bytes_acked, diff; + + // Compute how many bytes are expected to be delivered, assuming max + // bandwidth is correct. + expected_bytes_acked = minmax_get(&bbr->bbr_max_bandwidth) + * (ack_time - bbr->bbr_aggregation_epoch_start_time); + + // Reset the current aggregation epoch as soon as the ack arrival rate is + // less than or equal to the max bandwidth. + if (bbr->bbr_aggregation_epoch_bytes <= expected_bytes_acked) + { + // Reset to start measuring a new aggregation epoch. + bbr->bbr_aggregation_epoch_bytes = newly_acked_bytes; + bbr->bbr_aggregation_epoch_start_time = ack_time; + return 0; + } + + // Compute how many extra bytes were delivered vs max bandwidth. + // Include the bytes most recently acknowledged to account for stretch acks. + bbr->bbr_aggregation_epoch_bytes += newly_acked_bytes; + diff = bbr->bbr_aggregation_epoch_bytes - expected_bytes_acked; + minmax_upmax(&bbr->bbr_max_ack_height, bbr->bbr_round_count, diff); + return diff; +} + + +/* See BbrSender::UpdateGainCyclePhase() */ +static void +update_gain_cycle_phase (struct lsquic_bbr *bbr, uint64_t bytes_in_flight) +{ + const uint64_t prior_in_flight = bbr->bbr_ack_state.in_flight; + const lsquic_time_t now = bbr->bbr_ack_state.ack_time; + // In most cases, the cycle is advanced after an RTT passes. + int should_advance_gain_cycling + = now - bbr->bbr_last_cycle_start > get_min_rtt(bbr); + + // If the pacing gain is above 1.0, the connection is trying to probe the + // bandwidth by increasing the number of bytes in flight to at least + // pacing_gain * BDP. Make sure that it actually reaches the target, as + // long as there are no losses suggesting that the buffers are not able to + // hold that much. + if (bbr->bbr_pacing_gain > 1.0 + && !bbr->bbr_ack_state.has_losses + && prior_in_flight < get_target_cwnd(bbr, bbr->bbr_pacing_gain)) + should_advance_gain_cycling = 0; + + /* Several optimizations are possible here: "else if" instead of "if", as + * well as not calling get_target_cwnd() if `should_advance_gain_cycling' + * is already set to the target value. + */ + + // If pacing gain is below 1.0, the connection is trying to drain the extra + // queue which could have been incurred by probing prior to it. If the + // number of bytes in flight falls down to the estimated BDP value earlier, + // conclude that the queue has been successfully drained and exit this cycle + // early. + if (bbr->bbr_pacing_gain < 1.0 + && bytes_in_flight <= get_target_cwnd(bbr, 1)) + should_advance_gain_cycling = 1; + + if (should_advance_gain_cycling) + { + bbr->bbr_cycle_current_offset = + (bbr->bbr_cycle_current_offset + 1) % kGainCycleLength; + bbr->bbr_last_cycle_start = now; + // Stay in low gain mode until the target BDP is hit. Low gain mode + // will be exited immediately when the target BDP is achieved. + if ((bbr->bbr_flags & BBR_FLAG_DRAIN_TO_TARGET) + && bbr->bbr_pacing_gain < 1 + && kPacingGain[bbr->bbr_cycle_current_offset] == 1 + && bytes_in_flight > get_target_cwnd(bbr, 1)) + return; + bbr->bbr_pacing_gain = kPacingGain[bbr->bbr_cycle_current_offset]; + LSQ_DEBUG("advanced gain cycle, pacing gain set to %.2f", + bbr->bbr_pacing_gain); + } +} + + +/* BbrSender::InRecovery() */ +static int +in_recovery (const struct lsquic_bbr *bbr) +{ + return bbr->bbr_recovery_state != BBR_RS_NOT_IN_RECOVERY; +} + + +/* See BbrSender::CheckIfFullBandwidthReached() */ +static void +check_if_full_bw_reached (struct lsquic_bbr *bbr) +{ + struct bandwidth target, bw; + + if (bbr->bbr_flags & BBR_FLAG_LAST_SAMPLE_APP_LIMITED) + { + LSQ_DEBUG("last sample app limited: full BW not reached"); + return; + } + + target = BW_TIMES(&bbr->bbr_bw_at_last_round, kStartupGrowthTarget); + bw = BW(minmax_get(&bbr->bbr_max_bandwidth)); + if (BW_VALUE(&bw) >= BW_VALUE(&target)) + { + bbr->bbr_bw_at_last_round = bw; + bbr->bbr_round_wo_bw_gain = 0; + if (bbr->bbr_flags & BBR_FLAG_EXPIRE_ACK_AGG_IN_STARTUP) + // Expire old excess delivery measurements now that bandwidth + // increased. + minmax_reset(&bbr->bbr_max_ack_height, + ((struct minmax_sample) { bbr->bbr_round_count, 0, })); + LSQ_DEBUG("BW estimate %"PRIu64"bps greater than or equal to target " + "%"PRIu64"bps: full BW not reached", + BW_VALUE(&bw), BW_VALUE(&target)); + return; + } + + ++bbr->bbr_round_wo_bw_gain; + if ((bbr->bbr_round_wo_bw_gain >= bbr->bbr_num_startup_rtts) + || ((bbr->bbr_flags & BBR_FLAG_EXIT_STARTUP_ON_LOSS) + && in_recovery(bbr))) + { + assert(bbr->bbr_flags & BBR_FLAG_HAS_NON_APP_LIMITED); /* DCHECK */ + bbr->bbr_flags |= BBR_FLAG_IS_AT_FULL_BANDWIDTH; + LSQ_DEBUG("reached full BW"); + } + else + LSQ_DEBUG("rounds w/o gain: %u, full BW not reached", + bbr->bbr_round_wo_bw_gain); +} + + +/* See BbrSender::OnExitStartup */ +static void +on_exit_startup (struct lsquic_bbr *bbr, lsquic_time_t now) +{ + assert(bbr->bbr_mode == BBR_MODE_STARTUP); + /* Apparently this method is just to update stats, something that we + * don't do yet. + */ +} + + +/* See BbrSender::EnterProbeBandwidthMode */ +static void +enter_probe_bw_mode (struct lsquic_bbr *bbr, lsquic_time_t now) +{ + uint8_t rand; + + set_mode(bbr, BBR_MODE_PROBE_BW); + bbr->bbr_cwnd_gain = kCwndGain; + + // Pick a random offset for the gain cycle out of {0, 2..7} range. 1 is + // excluded because in that case increased gain and decreased gain would not + // follow each other. + rand = lsquic_crand_get_byte(bbr->bbr_conn_pub->enpub->enp_crand); + bbr->bbr_cycle_current_offset = rand % (kGainCycleLength - 1); + if (bbr->bbr_cycle_current_offset >= 1) + ++bbr->bbr_cycle_current_offset; + + bbr->bbr_last_cycle_start = now; + bbr->bbr_pacing_gain = kPacingGain[bbr->bbr_cycle_current_offset]; +} + + +/* See BbrSender::EnterStartupMode */ +static void +enter_startup_mode (struct lsquic_bbr *bbr, lsquic_time_t now) +{ + set_mode(bbr, BBR_MODE_STARTUP); + set_startup_values(bbr); +} + + +/* See BbrSender::MaybeExitStartupOrDrain() */ +static void +maybe_exit_startup_or_drain (struct lsquic_bbr *bbr, lsquic_time_t now, + uint64_t bytes_in_flight) +{ + uint64_t target_cwnd; + + if (bbr->bbr_mode == BBR_MODE_STARTUP + && (bbr->bbr_flags & BBR_FLAG_IS_AT_FULL_BANDWIDTH)) + { + on_exit_startup(bbr, now); + set_mode(bbr, BBR_MODE_DRAIN); + bbr->bbr_pacing_gain = bbr->bbr_drain_gain; + bbr->bbr_cwnd_gain = bbr->bbr_high_cwnd_gain; + } + + if (bbr->bbr_mode == BBR_MODE_DRAIN) + { + target_cwnd = get_target_cwnd(bbr, 1); + LSQ_DEBUG("%s: bytes in flight: %"PRIu64"; target cwnd: %"PRIu64, + __func__, bytes_in_flight, target_cwnd); + if (bytes_in_flight <= target_cwnd) + enter_probe_bw_mode(bbr, now); + } +} + + +static int +in_slow_start (const struct lsquic_bbr *bbr) +{ + return bbr->bbr_mode == BBR_MODE_STARTUP; +} + + +/* See QuicByteCount BbrSender::ProbeRttCongestionWindow() */ +static uint64_t +get_probe_rtt_cwnd (const struct lsquic_bbr *bbr) +{ + if (bbr->bbr_flags & BBR_FLAG_PROBE_RTT_BASED_ON_BDP) + return get_target_cwnd(bbr, kModerateProbeRttMultiplier); + else + return bbr->bbr_min_cwnd; +} + + +static uint64_t +lsquic_bbr_get_cwnd (void *cong_ctl) +{ + struct lsquic_bbr *const bbr = cong_ctl; + uint64_t cwnd; + + if (bbr->bbr_mode == BBR_MODE_PROBE_RTT) + cwnd = get_probe_rtt_cwnd(bbr); + else if (in_recovery(bbr) && + !((bbr->bbr_flags & BBR_FLAG_RATE_BASED_STARTUP) + && bbr->bbr_mode == BBR_MODE_STARTUP)) + cwnd = MIN(bbr->bbr_cwnd, bbr->bbr_recovery_window); + else + cwnd = bbr->bbr_cwnd; + + return cwnd; +} + + +/* See BbrSender::MaybeEnterOrExitProbeRtt */ +static void +maybe_enter_or_exit_probe_rtt (struct lsquic_bbr *bbr, lsquic_time_t now, + int is_round_start, int min_rtt_expired, uint64_t bytes_in_flight) +{ + if (min_rtt_expired + && !(bbr->bbr_flags & BBR_FLAG_EXITING_QUIESCENCE) + && bbr->bbr_mode != BBR_MODE_PROBE_RTT) + { + if (in_slow_start(bbr)) + on_exit_startup(bbr, now); + set_mode(bbr, BBR_MODE_PROBE_RTT); + bbr->bbr_pacing_gain = 1; + // Do not decide on the time to exit PROBE_RTT until the + // |bytes_in_flight| is at the target small value. + bbr->bbr_exit_probe_rtt_at = 0; + } + + if (bbr->bbr_mode == BBR_MODE_PROBE_RTT) + { + lsquic_bw_sampler_app_limited(&bbr->bbr_bw_sampler); + LSQ_DEBUG("%s: exit probe at: %"PRIu64"; now: %"PRIu64 + "; round start: %d; round passed: %d; rtt: %"PRIu64" usec", + __func__, bbr->bbr_exit_probe_rtt_at, now, is_round_start, + !!(bbr->bbr_flags & BBR_FLAG_PROBE_RTT_ROUND_PASSED), + lsquic_rtt_stats_get_min_rtt(bbr->bbr_rtt_stats)); + if (bbr->bbr_exit_probe_rtt_at == 0) + { + // If the window has reached the appropriate size, schedule exiting + // PROBE_RTT. The CWND during PROBE_RTT is + // kMinimumCongestionWindow, but we allow an extra packet since QUIC + // checks CWND before sending a packet. + if (bytes_in_flight + < get_probe_rtt_cwnd(bbr) + kMaxOutgoingPacketSize) + { + bbr->bbr_exit_probe_rtt_at = now + kProbeRttTime; + bbr->bbr_flags &= ~BBR_FLAG_PROBE_RTT_ROUND_PASSED; + } + } + else + { + if (is_round_start) + bbr->bbr_flags |= BBR_FLAG_PROBE_RTT_ROUND_PASSED; + if (now >= bbr->bbr_exit_probe_rtt_at + && (bbr->bbr_flags & BBR_FLAG_PROBE_RTT_ROUND_PASSED)) + { + bbr->bbr_min_rtt_timestamp = now; + if (!(bbr->bbr_flags & BBR_FLAG_IS_AT_FULL_BANDWIDTH)) + enter_startup_mode(bbr, now); + else + enter_probe_bw_mode(bbr, now); + } + } + } + + bbr->bbr_flags &= ~BBR_FLAG_EXITING_QUIESCENCE; +} + + +/* See BbrSender::CalculatePacingRate */ +static void +calculate_pacing_rate (struct lsquic_bbr *bbr) +{ + struct bandwidth bw, target_rate; + + bw = BW(minmax_get(&bbr->bbr_max_bandwidth)); + if (BW_IS_ZERO(&bw)) + return; + + LSQ_DEBUG("BW estimate: %"PRIu64, BW_VALUE(&bw)); + + target_rate = BW_TIMES(&bw, bbr->bbr_pacing_gain); + if (bbr->bbr_flags & BBR_FLAG_IS_AT_FULL_BANDWIDTH) + { + bbr->bbr_pacing_rate = target_rate; + return; + } + + // Pace at the rate of initial_window / RTT as soon as RTT measurements are + // available. + if (BW_IS_ZERO(&bbr->bbr_pacing_rate) + && 0 != lsquic_rtt_stats_get_min_rtt(bbr->bbr_rtt_stats)) + { + bbr->bbr_pacing_rate = BW_FROM_BYTES_AND_DELTA( + bbr->bbr_init_cwnd, + lsquic_rtt_stats_get_min_rtt(bbr->bbr_rtt_stats)); + return; + } + + // Slow the pacing rate in STARTUP once loss has ever been detected. + const int has_ever_detected_loss = bbr->bbr_end_recovery_at != 0; + if (has_ever_detected_loss + && (bbr->bbr_flags & (BBR_FLAG_SLOWER_STARTUP + |BBR_FLAG_HAS_NON_APP_LIMITED)) + == (BBR_FLAG_SLOWER_STARTUP|BBR_FLAG_HAS_NON_APP_LIMITED)) + { + bbr->bbr_pacing_rate = BW_TIMES(&bw, kStartupAfterLossGain); + return; + } + + // Slow the pacing rate in STARTUP by the bytes_lost / CWND. + if (startup_rate_reduction_multiplier_ != 0 + && has_ever_detected_loss + && (bbr->bbr_flags & BBR_FLAG_HAS_NON_APP_LIMITED)) + { + bbr->bbr_pacing_rate = BW_TIMES(&target_rate, + (1 - (bbr->bbr_startup_bytes_lost + * startup_rate_reduction_multiplier_ * 1.0f + / bbr->bbr_cwnd_gain))); + // Ensure the pacing rate doesn't drop below the startup growth target + // times the bandwidth estimate. + if (BW_VALUE(&bbr->bbr_pacing_rate) + < BW_VALUE(&bw) * kStartupGrowthTarget) + bbr->bbr_pacing_rate = BW_TIMES(&bw, kStartupGrowthTarget); + return; + } + + // Do not decrease the pacing rate during startup. + if (BW_VALUE(&bbr->bbr_pacing_rate) < BW_VALUE(&target_rate)) + bbr->bbr_pacing_rate = target_rate; +} + + +/* See BbrSender::CalculateCongestionWindow */ +static void +calculate_cwnd (struct lsquic_bbr *bbr, uint64_t bytes_acked, + uint64_t excess_acked) +{ + if (bbr->bbr_mode == BBR_MODE_PROBE_RTT) + return; + + uint64_t target_window = get_target_cwnd(bbr, bbr->bbr_cwnd_gain); + if (bbr->bbr_flags & BBR_FLAG_IS_AT_FULL_BANDWIDTH) + // Add the max recently measured ack aggregation to CWND. + target_window += minmax_get(&bbr->bbr_max_ack_height); + else if (bbr->bbr_flags & BBR_FLAG_ENABLE_ACK_AGG_IN_STARTUP) + // Add the most recent excess acked. Because CWND never decreases in + // STARTUP, this will automatically create a very localized max filter. + target_window += excess_acked; + + // Instead of immediately setting the target CWND as the new one, BBR grows + // the CWND towards |target_window| by only increasing it |bytes_acked| at a + // time. + const int add_bytes_acked = + !FLAGS_quic_bbr_no_bytes_acked_in_startup_recovery || !in_recovery(bbr); + if (bbr->bbr_flags & BBR_FLAG_IS_AT_FULL_BANDWIDTH) + bbr->bbr_cwnd = MIN(target_window, bbr->bbr_cwnd + bytes_acked); + else if (add_bytes_acked && + (bbr->bbr_cwnd < target_window || + lsquic_bw_sampler_total_acked(&bbr->bbr_bw_sampler) + < bbr->bbr_init_cwnd)) + // If the connection is not yet out of startup phase, do not decrease + // the window. + bbr->bbr_cwnd += bytes_acked; + + // Enforce the limits on the congestion window. + if (bbr->bbr_cwnd < bbr->bbr_min_cwnd) + bbr->bbr_cwnd = bbr->bbr_min_cwnd; + else if (bbr->bbr_cwnd > bbr->bbr_max_cwnd) + { + LSQ_DEBUG("exceed max cwnd"); + bbr->bbr_cwnd = bbr->bbr_max_cwnd; + } +} + + +/* See BbrSender::CalculateRecoveryWindow */ +static void +calculate_recovery_window (struct lsquic_bbr *bbr, uint64_t bytes_acked, + uint64_t bytes_lost, uint64_t bytes_in_flight) +{ + if ((bbr->bbr_flags & BBR_FLAG_RATE_BASED_STARTUP) + && bbr->bbr_mode == BBR_MODE_STARTUP) + return; + + if (bbr->bbr_recovery_state == BBR_RS_NOT_IN_RECOVERY) + return; + + // Set up the initial recovery window. + if (bbr->bbr_recovery_window == 0) + { + bbr->bbr_recovery_window = bytes_in_flight + bytes_acked; + bbr->bbr_recovery_window = MAX(bbr->bbr_min_cwnd, + bbr->bbr_recovery_window); + return; + } + + // Remove losses from the recovery window, while accounting for a potential + // integer underflow. + if (bbr->bbr_recovery_window >= bytes_lost) + bbr->bbr_recovery_window -= bytes_lost; + else + bbr->bbr_recovery_window = kMaxSegmentSize; + + // In CONSERVATION mode, just subtracting losses is sufficient. In GROWTH, + // release additional |bytes_acked| to achieve a slow-start-like behavior. + if (bbr->bbr_recovery_state == BBR_RS_GROWTH) + bbr->bbr_recovery_window += bytes_acked; + + // Sanity checks. Ensure that we always allow to send at least an MSS or + // |bytes_acked| in response, whichever is larger. + bbr->bbr_recovery_window = MAX(bbr->bbr_recovery_window, + bytes_in_flight + bytes_acked); + if (FLAG_quic_bbr_one_mss_conservation) + bbr->bbr_recovery_window = MAX(bbr->bbr_recovery_window, + bytes_in_flight + kMaxSegmentSize); + bbr->bbr_recovery_window = MAX(bbr->bbr_recovery_window, bbr->bbr_min_cwnd); +} + + +static void +lsquic_bbr_end_ack (void *cong_ctl, uint64_t in_flight) +{ + struct lsquic_bbr *const bbr = cong_ctl; + int is_round_start, min_rtt_expired; + uint64_t bytes_acked, excess_acked, bytes_lost; + + assert(bbr->bbr_flags & BBR_FLAG_IN_ACK); + bbr->bbr_flags &= ~BBR_FLAG_IN_ACK; + + LSQ_DEBUG("end_ack; mode: %s; in_flight: %"PRIu64, mode2str[bbr->bbr_mode], + in_flight); + + bytes_acked = lsquic_bw_sampler_total_acked(&bbr->bbr_bw_sampler) + - bbr->bbr_ack_state.total_bytes_acked_before; + if (bbr->bbr_ack_state.acked_bytes) + { + is_round_start = bbr->bbr_ack_state.max_packno + > bbr->bbr_current_round_trip_end + || !is_valid_packno(bbr->bbr_current_round_trip_end); + if (is_round_start) + { + ++bbr->bbr_round_count; + bbr->bbr_current_round_trip_end = bbr->bbr_last_sent_packno; + LSQ_DEBUG("up round count to %"PRIu64"; new rt end: %"PRIu64, + bbr->bbr_round_count, bbr->bbr_current_round_trip_end); + } + min_rtt_expired = update_bandwidth_and_min_rtt(bbr); + update_recovery_state(bbr, is_round_start); + excess_acked = update_ack_aggregation_bytes(bbr, bytes_acked); + } + else + { + is_round_start = 0; + min_rtt_expired = 0; + excess_acked = 0; + } + + if (bbr->bbr_mode == BBR_MODE_PROBE_BW) + update_gain_cycle_phase(bbr, in_flight); + + if (is_round_start && !(bbr->bbr_flags & BBR_FLAG_IS_AT_FULL_BANDWIDTH)) + check_if_full_bw_reached(bbr); + + maybe_exit_startup_or_drain(bbr, bbr->bbr_ack_state.ack_time, in_flight); + + maybe_enter_or_exit_probe_rtt(bbr, bbr->bbr_ack_state.ack_time, + is_round_start, min_rtt_expired, in_flight); + + // Calculate number of packets acked and lost. + bytes_lost = bbr->bbr_ack_state.lost_bytes; + + // After the model is updated, recalculate the pacing rate and congestion + // window. + calculate_pacing_rate(bbr); + calculate_cwnd(bbr, bytes_acked, excess_acked); + calculate_recovery_window(bbr, bytes_acked, bytes_lost, in_flight); + + /* We don't need to clean up BW sampler */ +} + + +static void +lsquic_bbr_cleanup (void *cong_ctl) +{ + struct lsquic_bbr *const bbr = cong_ctl; + + lsquic_bw_sampler_cleanup(&bbr->bbr_bw_sampler); + LSQ_DEBUG("cleanup"); +} + + +static void +lsquic_bbr_loss (void *cong_ctl) { /* Noop */ } + + +static void +lsquic_bbr_timeout (void *cong_ctl) { /* Noop */ } + + +const struct cong_ctl_if lsquic_cong_bbr_if = +{ + .cci_ack = lsquic_bbr_ack, + .cci_begin_ack = lsquic_bbr_begin_ack, + .cci_end_ack = lsquic_bbr_end_ack, + .cci_cleanup = lsquic_bbr_cleanup, + .cci_get_cwnd = lsquic_bbr_get_cwnd, + .cci_init = lsquic_bbr_init, + .cci_pacing_rate = lsquic_bbr_pacing_rate, + .cci_loss = lsquic_bbr_loss, + .cci_lost = lsquic_bbr_lost, + .cci_reinit = lsquic_bbr_reinit, + .cci_timeout = lsquic_bbr_timeout, + .cci_sent = lsquic_bbr_sent, + .cci_was_quiet = lsquic_bbr_was_quiet, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_bbr.h b/external/lsquic/src/liblsquic/lsquic_bbr.h new file mode 100644 index 0000000..89634c6 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_bbr.h @@ -0,0 +1,210 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_BBR_H +#define LSQUIC_BBR_H + +/* Our BBR implementation is copied from Chromium with some modifications. + * Besides the obvious translation from C++ to C, differences are: + * + * 1. Instead of OnCongestionEvent(), the ACK information is processed at the + * same time as the ACK itself using cci_begin_ack(), cci_ack(), and + * cci_end_ack() methods. This is done to fit with the flow in + * lsquic_send_ctl_got_ack(). + * + * 2. The bandwidth sampler does not use a hash. Instead, the sample + * information is attached directly to the packet via po_bwp_state. + * + * In this file and in lsquic_bbr.c, C++-style comments are those copied + * verbatim from Chromium. C-style comments are ours. + * + * Code is based on bbr_sender.cc 1a578a76c16abc942205a1a80584a288c262d03a in + * the "quiche" repository. (Not to be confused with Cloudflare's "quiche".) + * + * The BBR I-D is here: + * https://tools.ietf.org/html/draft-cardwell-iccrg-bbr-congestion-control-00 + * + * As for quiche, see + * http://www.bernstein-plus-sons.com/RPDEQ.html + * + * Chromium copyright notice follows. + */ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE.chrome file. + +struct lsquic_bbr +{ + const struct lsquic_conn_public *bbr_conn_pub; + + enum bbr_mode + { + BBR_MODE_STARTUP, + BBR_MODE_DRAIN, + BBR_MODE_PROBE_BW, + BBR_MODE_PROBE_RTT, + } bbr_mode; + + enum + { + BBR_RS_NOT_IN_RECOVERY, + BBR_RS_CONSERVATION, + BBR_RS_GROWTH, + } bbr_recovery_state; + + enum + { + BBR_FLAG_IN_ACK = 1 << 0, /* cci_begin_ack() has been called */ + BBR_FLAG_LAST_SAMPLE_APP_LIMITED = 1 << 1, + BBR_FLAG_HAS_NON_APP_LIMITED = 1 << 2, + BBR_FLAG_APP_LIMITED_SINCE_LAST_PROBE_RTT + = 1 << 3, + BBR_FLAG_PROBE_RTT_DISABLED_IF_APP_LIMITED + = 1 << 4, + BBR_FLAG_PROBE_RTT_SKIPPED_IF_SIMILAR_RTT + = 1 << 5, + BBR_FLAG_EXIT_STARTUP_ON_LOSS = 1 << 6, + BBR_FLAG_IS_AT_FULL_BANDWIDTH = 1 << 7, + BBR_FLAG_EXITING_QUIESCENCE = 1 << 8, + BBR_FLAG_PROBE_RTT_ROUND_PASSED = 1 << 9, + BBR_FLAG_FLEXIBLE_APP_LIMITED = 1 << 10, + // If true, will not exit low gain mode until bytes_in_flight drops + // below BDP or it's time for high gain mode. + BBR_FLAG_DRAIN_TO_TARGET = 1 << 11, + // When true, expire the windowed ack aggregation values in STARTUP + // when bandwidth increases more than 25%. + BBR_FLAG_EXPIRE_ACK_AGG_IN_STARTUP + = 1 << 12, + // If true, use a CWND of 0.75*BDP during probe_rtt instead of 4 + // packets. + BBR_FLAG_PROBE_RTT_BASED_ON_BDP = 1 << 13, + // When true, pace at 1.5x and disable packet conservation in STARTUP. + BBR_FLAG_SLOWER_STARTUP = 1 << 14, + // When true, add the most recent ack aggregation measurement during STARTUP. + BBR_FLAG_ENABLE_ACK_AGG_IN_STARTUP + = 1 << 15, + // When true, disables packet conservation in STARTUP. + BBR_FLAG_RATE_BASED_STARTUP = 1 << 16, + } bbr_flags; + + // Number of round-trips in PROBE_BW mode, used for determining the current + // pacing gain cycle. + unsigned bbr_cycle_current_offset; + + const struct lsquic_rtt_stats + *bbr_rtt_stats; + + struct bw_sampler bbr_bw_sampler; + + /* + " BBR.BtlBwFilter: The max filter used to estimate BBR.BtlBw. + */ + struct minmax bbr_max_bandwidth; + + // Tracks the maximum number of bytes acked faster than the sending rate. + struct minmax bbr_max_ack_height; + + // The initial value of the bbr_cwnd. + uint64_t bbr_init_cwnd; + // The smallest value the bbr_cwnd can achieve. + uint64_t bbr_min_cwnd; + // The largest value the bbr_cwnd can achieve. + uint64_t bbr_max_cwnd; + // The maximum allowed number of bytes in flight. + uint64_t bbr_cwnd; + + // The time this aggregation started and the number of bytes acked during it. + lsquic_time_t bbr_aggregation_epoch_start_time; + uint64_t bbr_aggregation_epoch_bytes; + + lsquic_packno_t bbr_last_sent_packno; + lsquic_packno_t bbr_current_round_trip_end; + + // Receiving acknowledgement of a packet after |bbr_end_recovery_at| will + // cause BBR to exit the recovery mode. A value above zero indicates at + // least one loss has been detected, so it must not be set back to zero. + lsquic_packno_t bbr_end_recovery_at; + + /* + " BBR.round_count: Count of packet-timed round trips. + */ + uint64_t bbr_round_count; + + /* Not documented in the draft: */ + uint64_t bbr_full_bw; + + /* Not documented in the draft: */ + uint64_t bbr_full_bw_count; + + /* + " BBR.pacing_rate: The current pacing rate for a BBR flow, which + " controls inter-packet spacing. + */ + struct bandwidth bbr_pacing_rate; + + // Sum of bytes lost in STARTUP. + uint64_t bbr_startup_bytes_lost; + + /* + " BBR.pacing_gain: The dynamic gain factor used to scale BBR.BtlBw to + " produce BBR.pacing_rate. + */ + float bbr_pacing_gain; + + // The pacing gain applied during the STARTUP phase. + float bbr_high_gain; + + // The CWND gain applied during the STARTUP phase. + float bbr_high_cwnd_gain; + + // The pacing gain applied during the DRAIN phase. + float bbr_drain_gain; + + // The number of RTTs to stay in STARTUP mode. Defaults to 3. + unsigned bbr_num_startup_rtts; + + // Number of rounds during which there was no significant bandwidth + // increase. + unsigned bbr_round_wo_bw_gain; + + /* + " BBR.cwnd_gain: The dynamic gain factor used to scale the estimated + " BDP to produce a congestion window (cwnd). + */ + float bbr_cwnd_gain; + + // The bandwidth compared to which the increase is measured. + struct bandwidth bbr_bw_at_last_round; + + // The time at which the last pacing gain cycle was started. + lsquic_time_t bbr_last_cycle_start; + + // Time at which PROBE_RTT has to be exited. Setting it to zero indicates + // that the time is yet unknown as the number of packets in flight has not + // reached the required value. + lsquic_time_t bbr_exit_probe_rtt_at; + + lsquic_time_t bbr_min_rtt_since_last_probe; + lsquic_time_t bbr_min_rtt; + lsquic_time_t bbr_min_rtt_timestamp; + + // A window used to limit the number of bytes in flight during loss recovery + uint64_t bbr_recovery_window; + + /* Accumulate information from a single ACK. Gets processed when + * cci_end_ack() is called. + */ + struct + { + TAILQ_HEAD(, bw_sample) samples; + lsquic_time_t ack_time; + lsquic_packno_t max_packno; + uint64_t acked_bytes; + uint64_t lost_bytes; + uint64_t total_bytes_acked_before; + uint64_t in_flight; + int has_losses; + } bbr_ack_state; +}; + +extern const struct cong_ctl_if lsquic_cong_bbr_if; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_bw_sampler.c b/external/lsquic/src/liblsquic/lsquic_bw_sampler.c new file mode 100644 index 0000000..2d65416 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_bw_sampler.c @@ -0,0 +1,277 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include + +#include "lsquic_int_types.h" +#include "lsquic_types.h" +#include "lsquic_hash.h" +#include "lsquic.h" +#include "lsquic_conn.h" +#include "lsquic_malo.h" +#include "lsquic_util.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_bw_sampler.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_BW_SAMPLER +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(sampler->bws_conn) +#include "lsquic_logger.h" + + +int +lsquic_bw_sampler_init (struct bw_sampler *sampler, struct lsquic_conn *conn, + enum quic_ft_bit retx_frames) +{ + struct malo *malo; + + assert(lsquic_is_zero(sampler, sizeof(*sampler))); + + malo = lsquic_malo_create(sizeof(struct bwp_state)); + if (!malo) + return -1; + + sampler->bws_malo = malo; + sampler->bws_conn = conn; + sampler->bws_retx_frames = retx_frames; + sampler->bws_flags |= BWS_APP_LIMITED; + LSQ_DEBUG("init"); + return 0; +} + + +void +lsquic_bw_sampler_app_limited (struct bw_sampler *sampler) +{ + sampler->bws_flags |= BWS_APP_LIMITED; + sampler->bws_end_of_app_limited_phase = sampler->bws_last_sent_packno; + LSQ_DEBUG("app limited, end of limited phase is %"PRIu64, + sampler->bws_end_of_app_limited_phase); +} + + +void +lsquic_bw_sampler_cleanup (struct bw_sampler *sampler) +{ + if (sampler->bws_conn) + LSQ_DEBUG("cleanup"); + if (sampler->bws_malo) + { + lsquic_malo_destroy(sampler->bws_malo); + sampler->bws_malo = NULL; + } +} + + +/* This module only fails when it is unable to allocate memory. This rarely + * happens, so we avoid having to check return values and abort the connection + * instead. + */ +static void +bw_sampler_abort_conn (struct bw_sampler *sampler) +{ + if (!(sampler->bws_flags & BWS_CONN_ABORTED)) + { + sampler->bws_flags |= BWS_CONN_ABORTED; + LSQ_WARN("aborting connection"); + sampler->bws_conn->cn_if->ci_internal_error(sampler->bws_conn, + "resources exhausted"); + } +} + + +#define BW_WARN_ONCE(...) do { \ + if (!(sampler->bws_flags & BWS_WARNED)) \ + { \ + sampler->bws_flags |= BWS_WARNED; \ + LSQ_WARN(__VA_ARGS__); \ + } \ +} while (0) + +void +lsquic_bw_sampler_packet_sent (struct bw_sampler *sampler, + struct lsquic_packet_out *packet_out, uint64_t in_flight) +{ + struct bwp_state *state; + unsigned short sent_sz; + + if (packet_out->po_bwp_state) + { + BW_WARN_ONCE("sent: packet %"PRIu64" already has state", + packet_out->po_packno); + return; + } + + sampler->bws_last_sent_packno = packet_out->po_packno; + + if (!(packet_out->po_frame_types & sampler->bws_retx_frames)) + return; + + sent_sz = lsquic_packet_out_sent_sz(sampler->bws_conn, packet_out); + sampler->bws_total_sent += sent_sz; + + // If there are no packets in flight, the time at which the new transmission + // opens can be treated as the A_0 point for the purpose of bandwidth + // sampling. This underestimates bandwidth to some extent, and produces some + // artificially low samples for most packets in flight, but it provides with + // samples at important points where we would not have them otherwise, most + // importantly at the beginning of the connection. + if (in_flight == 0) + { + sampler->bws_last_acked_packet_time = packet_out->po_sent; + sampler->bws_last_acked_total_sent = sampler->bws_total_sent; + // In this situation ack compression is not a concern, set send rate to + // effectively infinite. + sampler->bws_last_acked_sent_time = packet_out->po_sent; + } + + state = lsquic_malo_get(sampler->bws_malo); + if (!state) + { + bw_sampler_abort_conn(sampler); + return; + } + + state->bwps_send_state = (struct bwps_send_state) { + .total_bytes_sent = sampler->bws_total_sent, + .total_bytes_acked = sampler->bws_total_acked, + .total_bytes_lost = sampler->bws_total_lost, + .is_app_limited = !!(sampler->bws_flags & BWS_APP_LIMITED), + }; + state->bwps_sent_at_last_ack = sampler->bws_last_acked_total_sent; + state->bwps_last_ack_sent_time = sampler->bws_last_acked_sent_time; + state->bwps_last_ack_ack_time = sampler->bws_last_acked_packet_time; + state->bwps_packet_size = sent_sz; + + packet_out->po_bwp_state = state; + + LSQ_DEBUG("add info for packet %"PRIu64, packet_out->po_packno); +} + + +void +lsquic_bw_sampler_packet_lost (struct bw_sampler *sampler, + struct lsquic_packet_out *packet_out) +{ + if (!packet_out->po_bwp_state) + return; + + sampler->bws_total_lost += packet_out->po_bwp_state->bwps_packet_size; + lsquic_malo_put(packet_out->po_bwp_state); + packet_out->po_bwp_state = NULL; + LSQ_DEBUG("packet %"PRIu64" lost, total_lost goes to %"PRIu64, + packet_out->po_packno, sampler->bws_total_lost); +} + + +struct bw_sample * +lsquic_bw_sampler_packet_acked (struct bw_sampler *sampler, + struct lsquic_packet_out *packet_out, lsquic_time_t ack_time) +{ + const struct bwp_state *state; + struct bw_sample *sample; + struct bandwidth send_rate, ack_rate; + lsquic_time_t rtt; + unsigned short sent_sz; + int is_app_limited; + + if (!packet_out->po_bwp_state) + return 0; + + state = packet_out->po_bwp_state; + sent_sz = lsquic_packet_out_sent_sz(sampler->bws_conn, packet_out); + + sampler->bws_total_acked += sent_sz; + sampler->bws_last_acked_total_sent = state->bwps_send_state.total_bytes_sent; + sampler->bws_last_acked_sent_time = packet_out->po_sent; + sampler->bws_last_acked_packet_time = ack_time; + + // Exit app-limited phase once a packet that was sent while the connection + // is not app-limited is acknowledged. + if ((sampler->bws_flags & BWS_APP_LIMITED) + && packet_out->po_packno > sampler->bws_end_of_app_limited_phase) + { + sampler->bws_flags &= ~BWS_APP_LIMITED; + LSQ_DEBUG("exit app-limited phase due to packet %"PRIu64" being acked", + packet_out->po_packno); + } + + // There might have been no packets acknowledged at the moment when the + // current packet was sent. In that case, there is no bandwidth sample to + // make. + if (state->bwps_last_ack_sent_time == 0) + goto no_sample; + + // Infinite rate indicates that the sampler is supposed to discard the + // current send rate sample and use only the ack rate. + if (packet_out->po_sent > state->bwps_last_ack_sent_time) + send_rate = BW_FROM_BYTES_AND_DELTA( + state->bwps_send_state.total_bytes_sent + - state->bwps_sent_at_last_ack, + packet_out->po_sent - state->bwps_last_ack_sent_time); + else + send_rate = BW_INFINITE(); + + // During the slope calculation, ensure that ack time of the current packet is + // always larger than the time of the previous packet, otherwise division by + // zero or integer underflow can occur. + if (ack_time <= state->bwps_last_ack_ack_time) + { + BW_WARN_ONCE("Time of the previously acked packet (%"PRIu64") is " + "is larger than the ack time of the current packet (%"PRIu64")", + state->bwps_last_ack_ack_time, ack_time); + goto no_sample; + } + + ack_rate = BW_FROM_BYTES_AND_DELTA( + sampler->bws_total_acked - state->bwps_send_state.total_bytes_acked, + ack_time - state->bwps_last_ack_ack_time); + LSQ_DEBUG("send rate: %"PRIu64"; ack rate: %"PRIu64, send_rate.value, + ack_rate.value); + + // Note: this sample does not account for delayed acknowledgement time. + // This means that the RTT measurements here can be artificially high, + // especially on low bandwidth connections. + rtt = ack_time - packet_out->po_sent; + is_app_limited = state->bwps_send_state.is_app_limited; + + /* After this point, we switch `sample' to point to `state' and don't + * reference `state' anymore. + */ + sample = (void *) packet_out->po_bwp_state; + packet_out->po_bwp_state = NULL; + if (BW_VALUE(&send_rate) < BW_VALUE(&ack_rate)) + sample->bandwidth = send_rate; + else + sample->bandwidth = ack_rate; + sample->rtt = rtt; + sample->is_app_limited = is_app_limited; + + LSQ_DEBUG("packet %"PRIu64" acked, bandwidth: %"PRIu64" bps", + packet_out->po_packno, BW_VALUE(&sample->bandwidth)); + + return sample; + + no_sample: + lsquic_malo_put(packet_out->po_bwp_state); + packet_out->po_bwp_state = NULL; + return NULL;; +} + + +unsigned +lsquic_bw_sampler_entry_count (const struct bw_sampler *sampler) +{ + void *el; + unsigned count; + + count = 0; + for (el = lsquic_malo_first(sampler->bws_malo); el; + el = lsquic_malo_next(sampler->bws_malo)) + ++count; + + return count; +} diff --git a/external/lsquic/src/liblsquic/lsquic_bw_sampler.h b/external/lsquic/src/liblsquic/lsquic_bw_sampler.h new file mode 100644 index 0000000..ec2d8e8 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_bw_sampler.h @@ -0,0 +1,111 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_BW_SAMPLER_H +#define LSQUIC_BW_SAMPLER_H 1 + +/* Translated from Chromium. */ +// Copyright 2016 The Chromium Authors. All rights reserved. + +struct lsquic_packet_out; + +/* This struct provides a type for bits per second units. It's made into + * a struct so that it is a little harder to make a mistake. The Chromium + * equivalent of this is QuicBandwidth. Use macros to operate. + */ +struct bandwidth +{ + uint64_t value; /* Bits per second */ +}; + +#define BW_INFINITE() ((struct bandwidth) { .value = UINT64_MAX, }) +#define BW_ZERO() ((struct bandwidth) { .value = 0, }) +#define BW_FROM_BYTES_AND_DELTA(bytes_, usecs_) \ + ((struct bandwidth) { .value = (bytes_) * 8 * 1000000 / (usecs_), }) +#define BW_IS_ZERO(bw_) ((bw_)->value == 0) +#define BW_TO_BYTES_PER_SEC(bw_) ((bw_)->value / 8) +#define BW_VALUE(bw_) (+(bw_)->value) +#define BW_TIMES(bw_, factor_) \ + ((struct bandwidth) { .value = BW_VALUE(bw_) * (factor_), }) +#define BW(initial_value_) ((struct bandwidth) { .value = (initial_value_) }) + +struct bw_sampler +{ + struct lsquic_conn *bws_conn; + uint64_t bws_total_sent, + bws_total_acked, + bws_total_lost; + /* Value of bws_total_sent at the time last ACKed packet was sent. Only + * valid if bws_last_acked_sent_time is valid. + */ + uint64_t bws_last_acked_total_sent; + /* Time when last acked packet was sent. Zero if no valid timestamp is + * available. + */ + lsquic_time_t bws_last_acked_sent_time; + lsquic_time_t bws_last_acked_packet_time; + lsquic_packno_t bws_last_sent_packno; + lsquic_packno_t bws_end_of_app_limited_phase; + struct malo *bws_malo; /* For struct osp_state objects */ + enum quic_ft_bit bws_retx_frames; + enum { + BWS_CONN_ABORTED = 1 << 0, + BWS_WARNED = 1 << 1, + BWS_APP_LIMITED = 1 << 2, + } bws_flags; +}; + +struct bw_sample +{ + TAILQ_ENTRY(bw_sample) next; + struct bandwidth bandwidth; + lsquic_time_t rtt; + int is_app_limited; +}; + +int +lsquic_bw_sampler_init (struct bw_sampler *, struct lsquic_conn *, + enum quic_ft_bit); + +void +lsquic_bw_sampler_packet_sent (struct bw_sampler *, struct lsquic_packet_out *, + uint64_t in_flight); + +/* Free returned sample via lsquic_malo_put() after you're done */ +struct bw_sample * +lsquic_bw_sampler_packet_acked (struct bw_sampler *, struct lsquic_packet_out *, + lsquic_time_t ack_time); + +void +lsquic_bw_sampler_packet_lost (struct bw_sampler *, struct lsquic_packet_out *); + +void +lsquic_bw_sampler_app_limited (struct bw_sampler *); + +void +lsquic_bw_sampler_cleanup (struct bw_sampler *); + +unsigned +lsquic_bw_sampler_entry_count (const struct bw_sampler *); + +#define lsquic_bw_sampler_total_acked(sampler_) (+(sampler_)->bws_total_acked) + +/* The following types are exposed in the header file because of unit tests. + * Do not use outside of lsquic_bw_sampler.c. + */ +struct bwps_send_state +{ + uint64_t total_bytes_sent, + total_bytes_acked, + total_bytes_lost; + int is_app_limited; +}; + +struct bwp_state /* BWP State stands for Bandwidth Packet State */ +{ + struct bwps_send_state bwps_send_state; + uint64_t bwps_sent_at_last_ack; + lsquic_time_t bwps_last_ack_sent_time; + lsquic_time_t bwps_last_ack_ack_time; + unsigned short bwps_packet_size; +}; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_byteswap.h b/external/lsquic/src/liblsquic/lsquic_byteswap.h new file mode 100644 index 0000000..fdb9ab3 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_byteswap.h @@ -0,0 +1,39 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_BYTESWAP_H +#define LSQUIC_BYTESWAP_H 1 + +#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) +#include +#define bswap_16 bswap16 +#define bswap_32 bswap32 +#define bswap_64 bswap64 +#elif defined(__APPLE__) +#include +#define bswap_16 OSSwapInt16 +#define bswap_32 OSSwapInt32 +#define bswap_64 OSSwapInt64 +#elif defined(WIN32) +#include +#define bswap_16 _byteswap_ushort +#define bswap_32 _byteswap_ulong +#define bswap_64 _byteswap_uint64 +#else +#include +#endif + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define READ_UINT(varname, varwidth, src, nbytes) do { \ + varname = 0; \ + memcpy((unsigned char *) &(varname) + varwidth / 8 - (nbytes), (src), \ + (nbytes)); \ + varname = bswap_##varwidth(varname); \ +} while (0) +#else +#define READ_UINT(varname, varwidth, src, nbytes) do { \ + varname = 0; \ + memcpy((unsigned char *) &(varname) + varwidth / 8 - (nbytes), (src), \ + (nbytes)); \ +} while (0) +#endif + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_cfcw.c b/external/lsquic/src/liblsquic/lsquic_cfcw.c new file mode 100644 index 0000000..d845aaa --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_cfcw.c @@ -0,0 +1,116 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_rtt.h" +#include "lsquic_conn_flow.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_conn_public.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_util.h" +#include "lsquic_conn.h" +#include "lsquic_ev_log.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_CFCW +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(fc->cf_conn_pub->lconn) +#include "lsquic_logger.h" + + +void +lsquic_cfcw_init (struct lsquic_cfcw *fc, struct lsquic_conn_public *cpub, + unsigned max_recv_window) +{ + memset(fc, 0, sizeof(*fc)); + fc->cf_max_recv_win = max_recv_window; + fc->cf_conn_pub = cpub; + (void) lsquic_cfcw_fc_offsets_changed(fc); +} + + +static void +cfcw_maybe_increase_max_window (struct lsquic_cfcw *fc) +{ + unsigned new_max_window; + + new_max_window = fc->cf_max_recv_win * 2; + + /* Do not increase past explicitly specified maximum */ + if (new_max_window > fc->cf_conn_pub->enpub->enp_settings.es_max_cfcw) + new_max_window = fc->cf_conn_pub->enpub->enp_settings.es_max_cfcw; + + if (new_max_window > fc->cf_max_recv_win) + { + LSQ_DEBUG("max window increase %u -> %u", fc->cf_max_recv_win, + new_max_window); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, + "max CFCW increase %u -> %u", fc->cf_max_recv_win, + new_max_window); + fc->cf_max_recv_win = new_max_window; + } + else + LSQ_DEBUG("max window could use an increase, but we're stuck " + "at %u", fc->cf_max_recv_win); +} + + +int +lsquic_cfcw_fc_offsets_changed (struct lsquic_cfcw *fc) +{ + lsquic_time_t now, since_last_update, srtt; + + if (fc->cf_recv_off - fc->cf_read_off >= fc->cf_max_recv_win / 2) + return 0; + + now = lsquic_time_now(); + since_last_update = now - fc->cf_last_updated; + fc->cf_last_updated = now; + + srtt = lsquic_rtt_stats_get_srtt(&fc->cf_conn_pub->rtt_stats); + if (since_last_update < srtt * 2) + cfcw_maybe_increase_max_window(fc); + + fc->cf_recv_off = fc->cf_read_off + fc->cf_max_recv_win; + LSQ_DEBUG("recv_off changed: read_off: %"PRIu64"; recv_off: %" + PRIu64"", fc->cf_read_off, fc->cf_recv_off); + return 1; +} + + +int +lsquic_cfcw_incr_max_recv_off (struct lsquic_cfcw *fc, uint64_t incr) +{ + if (fc->cf_max_recv_off + incr <= fc->cf_recv_off) + { + fc->cf_max_recv_off += incr; + LSQ_DEBUG("max_recv_off goes from %"PRIu64" to %"PRIu64"", + fc->cf_max_recv_off - incr, fc->cf_max_recv_off); + return 1; + } + else + { + LSQ_INFO("flow control violation: received at offset %"PRIu64", while " + "flow control receive offset is %"PRIu64, + fc->cf_max_recv_off + incr, fc->cf_recv_off); + return 0; + } +} + + +void +lsquic_cfcw_incr_read_off (struct lsquic_cfcw *fc, uint64_t incr) +{ + fc->cf_read_off += incr; + LSQ_DEBUG("read_off goes from %"PRIu64" to %"PRIu64, + fc->cf_read_off - incr, fc->cf_read_off); +} diff --git a/external/lsquic/src/liblsquic/lsquic_chsk_stream.c b/external/lsquic/src/liblsquic/lsquic_chsk_stream.c new file mode 100644 index 0000000..6cc86b5 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_chsk_stream.c @@ -0,0 +1,210 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Stream/crypto handshake adapter for the client side. + * + * The client composes CHLO, writes it to the stream, and wait for the + * server response, which it processes. + */ + +#include +#include +#include +#include +#include +#include + +#include "lsquic_int_types.h" +#include "lsquic.h" + +#include "lsquic_str.h" +#include "lsquic_enc_sess.h" +#include "lsquic_chsk_stream.h" +#include "lsquic_ver_neg.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_mm.h" +#include "lsquic_sizes.h" +#include "lsquic_full_conn.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_HSK_ADAPTER +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(c_hsk->lconn) +#include "lsquic_logger.h" + + +static lsquic_stream_ctx_t * +hsk_client_on_new_stream (void *stream_if_ctx, lsquic_stream_t *stream) +{ + struct client_hsk_ctx *const c_hsk = stream_if_ctx; + + LSQ_DEBUG("stream created"); + + lsquic_stream_wantwrite(stream, 1); + + return (void *) c_hsk; +} + + +static void +hsk_client_on_read (lsquic_stream_t *stream, struct lsquic_stream_ctx *sh) +{ + struct client_hsk_ctx *const c_hsk = (struct client_hsk_ctx *) sh; + ssize_t nread; + int s; + enum lsquic_hsk_status status; + + if (!c_hsk->buf_in) + { + c_hsk->buf_in = lsquic_mm_get_16k(c_hsk->mm); + if (!c_hsk->buf_in) + { + LSQ_WARN("could not get buffer: %s", strerror(errno)); + lsquic_stream_wantread(stream, 0); + lsquic_conn_close(c_hsk->lconn); + return; + } + c_hsk->buf_sz = 16 * 1024; + c_hsk->buf_off = 0; + } + + nread = lsquic_stream_read(stream, c_hsk->buf_in + c_hsk->buf_off, + c_hsk->buf_sz - c_hsk->buf_off); + if (nread <= 0) + { + if (nread < 0) + LSQ_INFO("Could not read from handshake stream: %s", + strerror(errno)); + else + LSQ_INFO("Handshake stream closed (odd)"); + lsquic_mm_put_16k(c_hsk->mm, c_hsk->buf_in); + c_hsk->buf_in = NULL; + lsquic_stream_wantread(stream, 0); + lsquic_conn_close(c_hsk->lconn); + return; + } + c_hsk->buf_off += nread; + + s = c_hsk->lconn->cn_esf.g->esf_handle_chlo_reply(c_hsk->lconn->cn_enc_session, + c_hsk->buf_in, c_hsk->buf_off); + LSQ_DEBUG("lsquic_enc_session_handle_chlo_reply returned %d", s); + switch (s) + { + case DATA_NOT_ENOUGH: + if (c_hsk->buf_off < c_hsk->buf_sz) + LSQ_INFO("not enough server response has arrived, continue " + "buffering"); + else + { + LSQ_INFO("read in %u bytes of server response, and it is still " + "not enough: giving up", c_hsk->buf_off); + lsquic_mm_put_16k(c_hsk->mm, c_hsk->buf_in); + c_hsk->buf_in = NULL; + lsquic_stream_wantread(stream, 0); + c_hsk->lconn->cn_if->ci_hsk_done(c_hsk->lconn, LSQ_HSK_FAIL); + lsquic_conn_close(c_hsk->lconn); + } + break; + case DATA_NO_ERROR: + lsquic_mm_put_16k(c_hsk->mm, c_hsk->buf_in); + c_hsk->buf_in = NULL; + lsquic_stream_wantread(stream, 0); + if (c_hsk->lconn->cn_esf.g->esf_is_hsk_done(c_hsk->lconn->cn_enc_session)) + { + LSQ_DEBUG("handshake is successful, inform connection"); + status = (c_hsk->lconn->cn_esf_c->esf_did_sess_resume_succeed( + c_hsk->lconn->cn_enc_session)) ? LSQ_HSK_RESUMED_OK : LSQ_HSK_OK; + c_hsk->lconn->cn_if->ci_hsk_done(c_hsk->lconn, status); + } + else + { + LSQ_DEBUG("handshake not yet complete, will generate another " + "message"); + lsquic_stream_wantwrite(stream, 1); + } + break; + case HS_SREJ: + LSQ_DEBUG("got HS_SREJ"); + c_hsk->buf_off = 0; + lsquic_stream_wantread(stream, 0); + if (0 == lsquic_gquic_full_conn_srej(c_hsk->lconn)) + lsquic_stream_wantwrite(stream, 1); + break; + default: + LSQ_WARN("lsquic_enc_session_handle_chlo_reply returned unknown value %d", s); + /* fallthru */ + case DATA_FORMAT_ERROR: + LSQ_INFO("lsquic_enc_session_handle_chlo_reply returned an error"); + lsquic_mm_put_16k(c_hsk->mm, c_hsk->buf_in); + c_hsk->buf_in = NULL; + lsquic_stream_wantread(stream, 0); + c_hsk->lconn->cn_if->ci_hsk_done(c_hsk->lconn, LSQ_HSK_FAIL); + lsquic_conn_close(c_hsk->lconn); + break; + } +} + + +/* In this function, we assume that we can write the whole message in one + * shot. Otherwise, this is an error. + */ +static void +hsk_client_on_write (lsquic_stream_t *stream, struct lsquic_stream_ctx *sh) +{ + struct client_hsk_ctx *const c_hsk = (struct client_hsk_ctx *) sh; + unsigned char *buf; + size_t len; + ssize_t nw; + + lsquic_stream_wantwrite(stream, 0); + + buf = lsquic_mm_get_4k(c_hsk->mm); + if (!buf) + { + LSQ_WARN("cannot allocate buffer: %s", strerror(errno)); + lsquic_conn_close(c_hsk->lconn); + return; + } + len = 4 * 1024; + + if (0 != c_hsk->lconn->cn_esf.g->esf_gen_chlo(c_hsk->lconn->cn_enc_session, + c_hsk->ver_neg->vn_ver, buf, &len)) + { + LSQ_WARN("cannot create CHLO message"); + lsquic_mm_put_4k(c_hsk->mm, buf); + lsquic_conn_close(c_hsk->lconn); + return; + } + + nw = lsquic_stream_write(stream, buf, len); + lsquic_mm_put_4k(c_hsk->mm, buf); + + if (nw < 0) + LSQ_INFO("error writing to stream: %s", strerror(errno)); + else if ((size_t) nw == len) + { + LSQ_INFO("wrote %zd bytes of CHLO to stream", nw); + lsquic_stream_flush(stream); + lsquic_stream_wantread(stream, 1); + } + else + LSQ_INFO("could only write %zd bytes to stream instead of %zd", + nw, len); +} + + +static void +hsk_client_on_close (lsquic_stream_t *stream, struct lsquic_stream_ctx *sh) +{ + struct client_hsk_ctx *const c_hsk = (struct client_hsk_ctx *) sh; + if (c_hsk->buf_in) + lsquic_mm_put_16k(c_hsk->mm, c_hsk->buf_in); + LSQ_DEBUG("stream closed"); +} + + +const struct lsquic_stream_if lsquic_client_hsk_stream_if = +{ + .on_new_stream = hsk_client_on_new_stream, + .on_read = hsk_client_on_read, + .on_write = hsk_client_on_write, + .on_close = hsk_client_on_close, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_chsk_stream.h b/external/lsquic/src/liblsquic/lsquic_chsk_stream.h new file mode 100644 index 0000000..fe9db8d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_chsk_stream.h @@ -0,0 +1,24 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Stream/crypto handshake adapter for the client side. + */ + +#ifndef LSQUIC_CHSK_STREAM_H +#define LSQUIC_CHSK_STREAM_H 1 + +struct lsquic_conn; +struct lsquic_mm; +struct ver_neg; + +struct client_hsk_ctx { + struct lsquic_conn *lconn; + struct lsquic_mm *mm; + const struct ver_neg *ver_neg; + unsigned char *buf_in; /* Server response may have to be buffered */ + unsigned buf_sz, /* Total number of bytes in `buf_in' */ + buf_off; /* Number of bytes read into `buf_in' */ +}; + +extern const struct lsquic_stream_if lsquic_client_hsk_stream_if; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_cong_ctl.h b/external/lsquic/src/liblsquic/lsquic_cong_ctl.h new file mode 100644 index 0000000..31957d7 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_cong_ctl.h @@ -0,0 +1,71 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_cong_ctl.h -- congestion control interface + */ + +#ifndef LSQUIC_CONG_CTL_H +#define LSQUIC_CONG_CTL_H + + +struct lsquic_conn_public; +struct lsquic_packet_out; +enum quic_ft_bit; + + +/* All the methods don't quite match up between Cubic and BBR. Thus, some of + * the methods are optional; they are marked as such in the comments below. + * Reconciling Cubic and BBR to have similar interface is left as an exercise + * for the future. + */ +struct cong_ctl_if +{ + void + (*cci_init) (void *cong_ctl, const struct lsquic_conn_public *, + enum quic_ft_bit); + + void + (*cci_reinit) (void *cong_ctl); + + void + (*cci_ack) (void *cong_ctl, struct lsquic_packet_out *, unsigned packet_sz, + lsquic_time_t now, int app_limited); + + void + (*cci_loss) (void *cong_ctl); + + /* Optional method */ + void + (*cci_begin_ack) (void *cong_ctl, lsquic_time_t ack_time, + uint64_t in_flight); + + /* Optional method */ + void + (*cci_end_ack) (void *cong_ctl, uint64_t in_flight); + + /* Optional method */ + void + (*cci_sent) (void *cong_ctl, struct lsquic_packet_out *, + uint64_t in_flight, int app_limited); + + /* Optional method */ + void + (*cci_lost) (void *cong_ctl, struct lsquic_packet_out *, + unsigned packet_sz); + + void + (*cci_timeout) (void *cong_ctl); + + void + (*cci_was_quiet) (void *cong_ctl, lsquic_time_t now, uint64_t in_flight); + + uint64_t + (*cci_get_cwnd) (void *cong_ctl); + + uint64_t + (*cci_pacing_rate) (void *cong_ctl, int in_recovery); + + void + (*cci_cleanup) (void *cong_ctl); +}; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_conn.c b/external/lsquic/src/liblsquic/lsquic_conn.c new file mode 100644 index 0000000..ebbb19b --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_conn.c @@ -0,0 +1,348 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include + +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_in.h" +#include "lsquic_str.h" +#include "lsquic_enc_sess.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_ev_log.h" + +#include "lsquic_logger.h" + +const lsquic_cid_t * +lsquic_conn_id (const lsquic_conn_t *lconn) +{ + /* TODO */ + return lsquic_conn_log_cid(lconn); +} + + +void * +lsquic_conn_get_peer_ctx (struct lsquic_conn *lconn, + const struct sockaddr *local_sa) +{ + const struct network_path *path; + + path = lconn->cn_if->ci_get_path(lconn, local_sa); + return path->np_peer_ctx; +} + + +unsigned char +lsquic_conn_record_sockaddr (lsquic_conn_t *lconn, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa) +{ + return lconn->cn_if->ci_record_addrs(lconn, peer_ctx, local_sa, peer_sa); +} + + +int +lsquic_conn_get_sockaddr (struct lsquic_conn *lconn, + const struct sockaddr **local, const struct sockaddr **peer) +{ + const struct network_path *path; + + path = lconn->cn_if->ci_get_path(lconn, NULL); + *local = NP_LOCAL_SA(path); + *peer = NP_PEER_SA(path); + return 0; +} + + +int +lsquic_conn_copy_and_release_pi_data (const lsquic_conn_t *conn, + struct lsquic_engine_public *enpub, lsquic_packet_in_t *packet_in) +{ + unsigned char *copy; + + assert(!(packet_in->pi_flags & PI_OWN_DATA)); + copy = lsquic_mm_get_packet_in_buf(&enpub->enp_mm, packet_in->pi_data_sz); + if (!copy) + { + LSQ_WARN("cannot allocate memory to copy incoming packet data"); + return -1; + } + memcpy(copy, packet_in->pi_data, packet_in->pi_data_sz); + packet_in->pi_data = copy; + packet_in->pi_flags |= PI_OWN_DATA; + return 0; +} + + +enum lsquic_version +lsquic_conn_quic_version (const lsquic_conn_t *lconn) +{ + if (lconn->cn_flags & LSCONN_VER_SET) + return lconn->cn_version; + else + return -1; +} + + +enum lsquic_crypto_ver +lsquic_conn_crypto_ver (const lsquic_conn_t *lconn) +{ + return LSQ_CRY_QUIC; +} + + +const char * +lsquic_conn_crypto_cipher (const lsquic_conn_t *lconn) +{ + if (lconn->cn_enc_session) + return lconn->cn_esf_c->esf_cipher(lconn->cn_enc_session); + else + return NULL; +} + + +int +lsquic_conn_crypto_keysize (const lsquic_conn_t *lconn) +{ + if (lconn->cn_enc_session) + return lconn->cn_esf_c->esf_keysize(lconn->cn_enc_session); + else + return -1; +} + + +int +lsquic_conn_crypto_alg_keysize (const lsquic_conn_t *lconn) +{ + if (lconn->cn_enc_session) + return lconn->cn_esf_c->esf_alg_keysize(lconn->cn_enc_session); + else + return -1; +} + + +struct stack_st_X509 * +lsquic_conn_get_server_cert_chain (struct lsquic_conn *lconn) +{ + if (lconn->cn_enc_session) + return lconn->cn_esf_c->esf_get_server_cert_chain(lconn->cn_enc_session); + else + return NULL; +} + + +void +lsquic_conn_make_stream (struct lsquic_conn *lconn) +{ + lconn->cn_if->ci_make_stream(lconn); +} + + +unsigned +lsquic_conn_n_pending_streams (const struct lsquic_conn *lconn) +{ + return lconn->cn_if->ci_n_pending_streams(lconn); +} + + +unsigned +lsquic_conn_n_avail_streams (const struct lsquic_conn *lconn) +{ + return lconn->cn_if->ci_n_avail_streams(lconn); +} + + +unsigned +lsquic_conn_cancel_pending_streams (struct lsquic_conn *lconn, unsigned count) +{ + return lconn->cn_if->ci_cancel_pending_streams(lconn, count); +} + + +void +lsquic_conn_going_away (struct lsquic_conn *lconn) +{ + lconn->cn_if->ci_going_away(lconn); +} + + +void +lsquic_conn_close (struct lsquic_conn *lconn) +{ + lconn->cn_if->ci_close(lconn); +} + + +int +lsquic_conn_is_push_enabled (lsquic_conn_t *lconn) +{ + return lconn->cn_if->ci_is_push_enabled(lconn); +} + + +struct lsquic_engine * +lsquic_conn_get_engine (struct lsquic_conn *lconn) +{ + return lconn->cn_if->ci_get_engine(lconn); +} + + +int +lsquic_conn_push_stream (struct lsquic_conn *lconn, void *hset, + struct lsquic_stream *stream, const struct lsquic_http_headers *headers) +{ + return lconn->cn_if->ci_push_stream(lconn, hset, stream, headers); +} + + +lsquic_conn_ctx_t * +lsquic_conn_get_ctx (const struct lsquic_conn *lconn) +{ + return lconn->cn_conn_ctx; +} + + +void +lsquic_conn_set_ctx (struct lsquic_conn *lconn, lsquic_conn_ctx_t *ctx) +{ + lconn->cn_conn_ctx = ctx; +} + + +void +lsquic_conn_abort (struct lsquic_conn *lconn) +{ + lconn->cn_if->ci_abort(lconn); +} + + +void +lsquic_generate_cid (lsquic_cid_t *cid, size_t len) +{ + if (!len) + { + /* If not set, generate ID between 8 and MAX_CID_LEN bytes in length */ + RAND_bytes((uint8_t *) &len, sizeof(len)); + len %= MAX_CID_LEN - 7; + len += 8; + } + RAND_bytes(cid->idbuf, len); + cid->len = len; +} + + +void +lsquic_generate_scid (void *ctx, struct lsquic_conn *lconn, uint8_t *cid, + unsigned len) +{ + if (len) + RAND_bytes(cid, len); +} + + +void +lsquic_generate_cid_gquic (lsquic_cid_t *cid) +{ + RAND_bytes(cid->idbuf, GQUIC_CID_LEN); + cid->len = GQUIC_CID_LEN; +} + + +void +lsquic_conn_retire_cid (struct lsquic_conn *lconn) +{ + if (lconn->cn_if->ci_retire_cid) + lconn->cn_if->ci_retire_cid(lconn); +} + + +enum LSQUIC_CONN_STATUS +lsquic_conn_status (struct lsquic_conn *lconn, char *errbuf, size_t bufsz) +{ + return lconn->cn_if->ci_status(lconn, errbuf, bufsz); +} + + +const lsquic_cid_t * +lsquic_conn_log_cid (const struct lsquic_conn *lconn) +{ + return &lconn->cn_logid; +} + + +int +lsquic_conn_want_datagram_write (struct lsquic_conn *lconn, int is_want) +{ + if (lconn->cn_if && lconn->cn_if->ci_want_datagram_write) + return lconn->cn_if->ci_want_datagram_write(lconn, is_want); + else + return -1; +} + + +int +lsquic_conn_set_min_datagram_size (struct lsquic_conn *lconn, size_t sz) +{ + if (lconn->cn_if && lconn->cn_if->ci_set_min_datagram_size) + return lconn->cn_if->ci_set_min_datagram_size(lconn, sz); + else + return -1; +} + + +size_t +lsquic_conn_get_min_datagram_size (struct lsquic_conn *lconn) +{ + if (lconn->cn_if && lconn->cn_if->ci_get_min_datagram_size) + return lconn->cn_if->ci_get_min_datagram_size(lconn); + else + return 0; +} + + +#if LSQUIC_CONN_STATS +void +lsquic_conn_stats_diff (const struct conn_stats *cumulative_stats, + const struct conn_stats *previous_stats, + struct conn_stats *new_stats) +{ + const unsigned long *const cum = (void *) cumulative_stats, + *const prev = (void *) previous_stats; + unsigned long *const new = (void *) new_stats; + unsigned i; + + for (i = 0; i < sizeof(*new_stats) / sizeof(new[0]); ++i) + new[i] = cum[i] - prev[i]; +} + + +#endif + + +const char * +lsquic_conn_get_sni (struct lsquic_conn *lconn) +{ + if (lconn->cn_esf_c && lconn->cn_esf_c->esf_get_sni) + return lconn->cn_esf_c->esf_get_sni(lconn->cn_enc_session); + else + return NULL; +} + + +int +lsquic_conn_get_info (lsquic_conn_t *lconn, struct lsquic_conn_info *info) +{ + if (!lconn || !info) + return -1; + if (lconn->cn_if && lconn->cn_if->ci_get_info) + return lconn->cn_if->ci_get_info(lconn, info); + return -1; +} + diff --git a/external/lsquic/src/liblsquic/lsquic_conn.h b/external/lsquic/src/liblsquic/lsquic_conn.h new file mode 100644 index 0000000..e88e2b8 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_conn.h @@ -0,0 +1,449 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_conn.h -- Connection interface + * + * There are two types of connections: full (lsquic_full_conn.h) and mini + * (lsquic_mini_conn.h). The function pointers and struct in this header + * file provide a unified interface engine.c can use to interact with + * either of the connection types. For this to work, struct lsquic_conn + * must be the first element of struct full_conn and struct mini_conn. + */ +#ifndef LSQUIC_CONN_H +#define LSQUIC_CONN_H + +#include +#ifndef WIN32 +#include +#include +#else +#include +#endif + +#ifndef LSQUIC_TEST +#define LSQUIC_TEST 0 +#endif + +struct lsquic_conn; +struct lsquic_engine_public; +struct lsquic_packet_out; +struct lsquic_packet_in; +struct sockaddr; +struct parse_funcs; +struct attq_elem; +#if LSQUIC_CONN_STATS +struct conn_stats; +#endif + +enum lsquic_conn_flags { + LSCONN_TICKED = (1 << 0), + LSCONN_HAS_OUTGOING = (1 << 1), + LSCONN_HASHED = (1 << 2), + LSCONN_MINI = (1 << 3), /* This is a mini connection */ + LSCONN_IMMED_CLOSE = (1 << 4), + LSCONN_PROMOTE_FAIL = (1 << 5), + LSCONN_HANDSHAKE_DONE = (1 << 6), + LSCONN_CLOSING = (1 << 7), + LSCONN_PEER_GOING_AWAY= (1 << 8), + LSCONN_TCID0 = (1 << 9), + LSCONN_VER_SET = (1 <<10), /* cn_version is set */ + LSCONN_EVANESCENT = (1 <<11), /* evanescent connection */ + LSCONN_TICKABLE = (1 <<12), /* Connection is in the Tickable Queue */ + LSCONN_COI_ACTIVE = (1 <<13), + LSCONN_COI_INACTIVE = (1 <<14), + LSCONN_SEND_BLOCKED = (1 <<15), /* Send connection blocked frame */ + LSCONN_PROMOTED = (1 <<16), /* Promoted. Only set if LSCONN_MINI is set */ + LSCONN_NEVER_TICKABLE = (1 <<17), /* Do not put onto the Tickable Queue */ + LSCONN_UNUSED_18 = (1 <<18), + LSCONN_ATTQ = (1 <<19), + LSCONN_SKIP_ON_PROC = (1 <<20), + LSCONN_UNUSED_21 = (1 <<21), + LSCONN_SERVER = (1 <<22), + LSCONN_IETF = (1 <<23), + LSCONN_RETRY_CONN = (1 <<24), /* This is a retry connection */ + LSCONN_VER_UPDATED = (1 <<25), + LSCONN_NO_BL = (1 <<26), +}; + +/* A connection may have things to send and be closed at the same time. + */ +enum tick_st { + TICK_SEND = (1 << 0), + TICK_CLOSE = (1 << 1), + TICK_PROMOTE = (1 << 2), /* Promote mini connection to full connection */ + TICK_RETRY = (1 << 3), /* Send retry packet -- used by mini conns */ +}; + +#define TICK_QUIET 0 + +struct network_path +{ + union { + unsigned char buf[sizeof(struct sockaddr_in6)]; + struct sockaddr sockaddr; + } np_local_addr_u; +#define np_local_addr np_local_addr_u.buf + unsigned char np_peer_addr[sizeof(struct sockaddr_in6)]; + void *np_peer_ctx; + lsquic_cid_t np_dcid; + unsigned short np_pack_size; + unsigned char np_path_id; +}; + +#define NP_LOCAL_SA(path_) (&(path_)->np_local_addr_u.sockaddr) +#define NP_PEER_SA(path_) ((struct sockaddr *) (path_)->np_peer_addr) +#define NP_IS_IPv6(path_) (AF_INET6 == NP_LOCAL_SA(path_)->sa_family) + +struct ack_state +{ + uint32_t arr[6]; +}; + +struct to_coal +{ + const struct lsquic_packet_out *prev_packet; + size_t prev_sz_sum; +}; + +struct conn_iface +{ + enum tick_st + (*ci_tick) (struct lsquic_conn *, lsquic_time_t now); + + void + (*ci_packet_in) (struct lsquic_conn *, struct lsquic_packet_in *); + + /* Note: all packets "checked out" by calling this method should be + * returned back to the connection via ci_packet_sent() or + * ci_packet_not_sent() calls before the connection is ticked next. + * The connection, in turn, should not perform any extra processing + * (especially schedule more packets) during any of these method + * calls. This is because the checked out packets are not accounted + * for by the congestion controller. + */ + struct lsquic_packet_out * + (*ci_next_packet_to_send) (struct lsquic_conn *, const struct to_coal *); + + void + (*ci_packet_sent) (struct lsquic_conn *, struct lsquic_packet_out *); + + void + (*ci_packet_not_sent) (struct lsquic_conn *, struct lsquic_packet_out *); + + void + (*ci_packet_too_large) (struct lsquic_conn *, struct lsquic_packet_out *); + + void + (*ci_hsk_done) (struct lsquic_conn *, enum lsquic_hsk_status); + + void + (*ci_destroy) (struct lsquic_conn *); + + int + (*ci_is_tickable) (struct lsquic_conn *); + + lsquic_time_t + (*ci_next_tick_time) (struct lsquic_conn *, unsigned *why); + + int + (*ci_can_write_ack) (struct lsquic_conn *); + + /* No return status: best effort */ + void + (*ci_write_ack) (struct lsquic_conn *, struct lsquic_packet_out *); + +#if LSQUIC_CONN_STATS + const struct conn_stats * + (*ci_get_stats) (struct lsquic_conn *); + + void + (*ci_log_stats) (struct lsquic_conn *); +#endif + + void + (*ci_client_call_on_new) (struct lsquic_conn *); + + enum LSQUIC_CONN_STATUS + (*ci_status) (struct lsquic_conn *, char *errbuf, size_t bufsz); + + unsigned + (*ci_n_avail_streams) (const struct lsquic_conn *); + + unsigned + (*ci_n_pending_streams) (const struct lsquic_conn *); + + unsigned + (*ci_cancel_pending_streams) (struct lsquic_conn *, unsigned n); + + void + (*ci_going_away) (struct lsquic_conn *); + + int + (*ci_is_push_enabled) (struct lsquic_conn *); + + /* Optional: only used by gQUIC frames reader */ + /* If stream is already closed, NULL is returned */ + struct lsquic_stream * + (*ci_get_stream_by_id) (struct lsquic_conn *, lsquic_stream_id_t stream_id); + + struct lsquic_engine * + (*ci_get_engine) (struct lsquic_conn *); + + void + (*ci_make_stream) (struct lsquic_conn *); + + void + (*ci_abort) (struct lsquic_conn *); + + void + (*ci_retire_cid) (struct lsquic_conn *); + + void + (*ci_close) (struct lsquic_conn *); + + void + (*ci_stateless_reset) (struct lsquic_conn *); + + int + (*ci_crypto_keysize) (const struct lsquic_conn *); + + int + (*ci_crypto_alg_keysize) (const struct lsquic_conn *); + + enum lsquic_crypto_ver + (*ci_crypto_ver) (const struct lsquic_conn *); + + const char * + (*ci_crypto_cipher) (const struct lsquic_conn *); + + int + (*ci_push_stream) (struct lsquic_conn *, void *hset, struct lsquic_stream *, + const struct lsquic_http_headers *headers); + + /* Use this to abort the connection when unlikely errors occur */ + void + (*ci_internal_error) (struct lsquic_conn *, const char *format, ...) +#if __GNUC__ + __attribute__((format(printf, 2, 3))) +#endif + ; + + /* Abort connection with error */ + void + (*ci_abort_error) (struct lsquic_conn *, int is_app, unsigned error_code, + const char *format, ...) +#if __GNUC__ + __attribute__((format(printf, 4, 5))) +#endif + ; + + void + (*ci_tls_alert) (struct lsquic_conn *, uint8_t); + + /* Returns 0 if connection is to be deleted immediately */ + lsquic_time_t + (*ci_drain_time) (const struct lsquic_conn *); + + /* Returns true if it's time to report the connection's CIDs' liveness */ + int + (*ci_report_live) (struct lsquic_conn *, lsquic_time_t now); + + /* If `local_sa' is NULL, return default path */ + struct network_path * + (*ci_get_path) (struct lsquic_conn *, const struct sockaddr *local_sa); + + unsigned char + (*ci_record_addrs) (struct lsquic_conn *, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa); + + /* Optional method. Only used by the IETF client code. */ + void + (*ci_drop_crypto_streams) (struct lsquic_conn *); + + /* Optional method. Only used by IETF connections */ + void + (*ci_count_garbage) (struct lsquic_conn *, size_t); + + /* Optional method. Must be implemented if connection sends MTU probes */ + void + (*ci_mtu_probe_acked) (struct lsquic_conn *, + const struct lsquic_packet_out *); + + /* Optional method. It is called when RTO occurs. */ + void + (*ci_retx_timeout) (struct lsquic_conn *); + + void + (*ci_ack_snapshot) (struct lsquic_conn *, struct ack_state *); + + void + (*ci_ack_rollback) (struct lsquic_conn *, struct ack_state *); + + /* Optional method. */ + int + (*ci_want_datagram_write) (struct lsquic_conn *, int); + + /* Optional method */ + int + (*ci_set_min_datagram_size) (struct lsquic_conn *, size_t); + + /* Optional method */ + size_t + (*ci_get_min_datagram_size) (struct lsquic_conn *); + + /* Optional method */ + void + (*ci_early_data_failed) (struct lsquic_conn *); + + int + (*ci_get_info) (lsquic_conn_t *conn, struct lsquic_conn_info *info); + +}; + +#define LSCONN_CCE_BITS 3 +#define LSCONN_MAX_CCES (1 << LSCONN_CCE_BITS) + +struct conn_cid_elem +{ + struct lsquic_hash_elem cce_hash_el; /* Must be first element */ + lsquic_cid_t cce_cid; + union { + unsigned seqno; + unsigned short port; + } cce_u; +#define cce_seqno cce_u.seqno +#define cce_port cce_u.port + enum conn_cce_flags { + CCE_USED = 1 << 0, /* Connection ID has been used */ + CCE_SEQNO = 1 << 1, /* cce_seqno is set (CIDs in Initial + * packets have no sequence number). + */ + CCE_REG = 1 << 2, /* CID has been registered */ + CCE_PORT = 1 << 3, /* It's not a CID element at all: + * cce_port is the hash value. + */ + } cce_flags; +}; + +struct lsquic_conn +{ + void *cn_enc_session; + const struct enc_session_funcs_common + *cn_esf_c; + union { + const struct enc_session_funcs_gquic *g; + const struct enc_session_funcs_iquic *i; + } cn_esf; +#define cn_cid cn_cces[0].cce_cid + STAILQ_ENTRY(lsquic_conn) cn_next_closed_conn; + /* This and cn_next_closed_conn could be made into a union, as new full + * connections are never closed. + */ + STAILQ_ENTRY(lsquic_conn) cn_next_new_full; + TAILQ_ENTRY(lsquic_conn) cn_next_ticked; + TAILQ_ENTRY(lsquic_conn) cn_next_out; + TAILQ_ENTRY(lsquic_conn) cn_next_pr; + const struct conn_iface *cn_if; + const struct parse_funcs *cn_pf; + struct attq_elem *cn_attq_elem; + lsquic_cid_t cn_logid; + lsquic_time_t cn_last_sent; + lsquic_time_t cn_last_ticked; + struct conn_cid_elem *cn_cces; /* At least one is available */ + lsquic_conn_ctx_t *cn_conn_ctx; + enum lsquic_conn_flags cn_flags; + enum lsquic_version cn_version:8; + unsigned char cn_cces_mask; /* Those that are set */ + unsigned char cn_n_cces; /* Number of CCEs in cn_cces */ + unsigned char cn_cur_cce_idx; +#if LSQUIC_TEST + struct conn_cid_elem cn_cces_buf[8]; +#define LSCONN_INITIALIZER_CID(lsconn_, cid_) { \ + .cn_cces = (lsconn_).cn_cces_buf, \ + .cn_cces_buf[0].cce_seqno = 0, \ + .cn_cces_buf[0].cce_flags = CCE_SEQNO, \ + .cn_cces_buf[0].cce_cid = (cid_), \ + .cn_n_cces = 8, .cn_cces_mask = 1, } +#define LSCONN_INITIALIZER_CIDLEN(lsconn_, len_) { \ + .cn_cces = (lsconn_).cn_cces_buf, \ + .cn_cces_buf[0].cce_seqno = 0, \ + .cn_cces_buf[0].cce_flags = CCE_SEQNO, \ + .cn_cces_buf[0].cce_cid = { .len = len_ }, \ + .cn_n_cces = 8, .cn_cces_mask = 1, } +#define LSCONN_INITIALIZE(lsconn_) do { \ + (lsconn_)->cn_cces = (lsconn_)->cn_cces_buf; \ + (lsconn_)->cn_n_cces = 8; (lsconn_)->cn_cces_mask = 1; } while (0) +#endif +}; + +#define END_OF_CCES(conn) ((conn)->cn_cces + (conn)->cn_n_cces) + +#define CN_SCID(conn) (&(conn)->cn_cces[(conn)->cn_cur_cce_idx].cce_cid) + +unsigned char +lsquic_conn_record_sockaddr (lsquic_conn_t *lconn, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa); + +int +lsquic_conn_decrypt_packet (lsquic_conn_t *lconn, + struct lsquic_engine_public *, struct lsquic_packet_in *); + +int +lsquic_conn_copy_and_release_pi_data (const lsquic_conn_t *conn, + struct lsquic_engine_public *, struct lsquic_packet_in *); + +void +lsquic_generate_cid (lsquic_cid_t *cid, size_t len); + +void +lsquic_generate_cid_gquic (lsquic_cid_t *cid); + +void +lsquic_generate_scid (void *, struct lsquic_conn *lconn, uint8_t *scid, + unsigned len); + +void +lsquic_conn_retire_cid (lsquic_conn_t *lconn); + +#define lsquic_conn_adv_time(c) ((c)->cn_attq_elem->ae_adv_time) + +#if LSQUIC_CONN_STATS +struct conn_stats { + /* All counters are of the same type, unsigned long, because we cast the + * struct to an array to update the aggregate. + */ + unsigned long n_ticks; /* How many time connection was ticked */ + struct { + unsigned long stream_data_sz; /* Sum of all STREAM frames payload */ + unsigned long stream_frames; /* Number of STREAM frames */ + unsigned long packets, /* Incoming packets */ + undec_packets, /* Undecryptable packets */ + dup_packets, /* Duplicate packets */ + err_packets; /* Error packets(?) */ + unsigned long n_acks, + n_acks_proc, + n_acks_merged; + unsigned long bytes; /* Overall bytes in */ + unsigned long headers_uncomp; /* Sum of uncompressed header bytes */ + unsigned long headers_comp; /* Sum of compressed header bytes */ + } in; + struct { + unsigned long stream_data_sz; + unsigned long stream_frames; + unsigned long acks; + unsigned long packets; /* Number of sent packets */ + unsigned long acked_via_loss; /* Number of packets acked via loss record */ + unsigned long lost_packets; + unsigned long retx_packets; /* Number of retransmitted packets */ + unsigned long bytes; /* Overall bytes out */ + unsigned long headers_uncomp; /* Sum of uncompressed header bytes */ + unsigned long headers_comp; /* Sum of compressed header bytes */ + } out; +}; + +void +lsquic_conn_stats_diff (const struct conn_stats *cumulative, + const struct conn_stats *previous, + struct conn_stats *new); +#endif + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_conn_flow.h b/external/lsquic/src/liblsquic/lsquic_conn_flow.h new file mode 100644 index 0000000..37ce840 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_conn_flow.h @@ -0,0 +1,84 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_conn_flow.h -- Connection flow control-related functions + */ + +#ifndef LSQUIC_CONN_FLOW_H +#define LSQUIC_CONN_FLOW_H 1 +#include + +struct lsquic_conn_public; + +typedef struct lsquic_cfcw { + struct lsquic_conn_public + *cf_conn_pub; + uint64_t cf_max_recv_off; /* Largest offset observed (cumulative) */ + uint64_t cf_recv_off; /* Flow control receive offset */ + uint64_t cf_read_off; /* Number of bytes consumed (cumulative) */ + lsquic_time_t cf_last_updated; + unsigned cf_max_recv_win; /* Maximum receive window */ +} lsquic_cfcw_t; + +struct lsquic_conn_cap { + uint64_t cc_sent; /* Number of bytes sent on connection */ + uint64_t cc_max; /* Maximum cumulative number of bytes allowed + * to be sent on this connection. + */ + uint64_t cc_blocked; /* Last blocked offset used */ +}; + + +static inline void +lsquic_conn_cap_init (struct lsquic_conn_cap *cc, uint64_t max) +{ + cc->cc_sent = 0; + cc->cc_max = max; +} + + +static inline uint64_t +lsquic_conn_cap_avail (const struct lsquic_conn_cap *cap) +{ + assert(cap->cc_max >= cap->cc_sent); + return cap->cc_max - cap->cc_sent; +} + + +void +lsquic_cfcw_init (lsquic_cfcw_t *, struct lsquic_conn_public *, + unsigned initial_max_recv_window); + +/* If update is to be sent, updates max_recv_off and returns true. Note + * that if you call this function twice, the second call will return false. + */ +int +lsquic_cfcw_fc_offsets_changed (lsquic_cfcw_t *); + +static inline uint64_t +lsquic_cfcw_get_fc_recv_off (struct lsquic_cfcw *fc) +{ + return +fc->cf_recv_off; +} + +static inline uint64_t +lsquic_cfcw_get_max_recv_off (struct lsquic_cfcw *fc) +{ + return +fc->cf_max_recv_off; +} + +static inline uint64_t +lsquic_cfcw_get_max_recv_window (struct lsquic_cfcw *fc) +{ + return +fc->cf_max_recv_win; +} + +/* Returns false if flow control violation is encountered */ +int +lsquic_cfcw_incr_max_recv_off (lsquic_cfcw_t *, uint64_t); + +/* Void because we do not expect the caller to make a mistake. + */ +void +lsquic_cfcw_incr_read_off (lsquic_cfcw_t *, uint64_t); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_conn_public.h b/external/lsquic/src/liblsquic/lsquic_conn_public.h new file mode 100644 index 0000000..c6bbb3a --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_conn_public.h @@ -0,0 +1,73 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_conn_public.h -- Connection's "public interface" + * + * This structure is used to bundle things in connection that stream + * needs access to into a single object. This way, the space per + * stream object is one pointer instead of four or five. + */ + +#ifndef LSQUIC_CONN_PUBLIC_H +#define LSQUIC_CONN_PUBLIC_H 1 + +struct lsquic_conn; +struct lsquic_engine_public; +struct lsquic_mm; +struct lsquic_hash; +struct headers_stream; +struct lsquic_send_ctl; +#if LSQUIC_CONN_STATS +struct conn_stats; +#endif +struct qpack_enc_hdl; +struct qpack_dec_hdl; +struct network_path; + +struct lsquic_conn_public { + struct lsquic_streams_tailq sending_streams, /* Send RST_STREAM, BLOCKED, and WUF frames */ + read_streams, + write_streams, /* Send STREAM frames */ + service_streams; + struct lsquic_hash *all_streams; + struct lsquic_cfcw cfcw; + struct lsquic_conn_cap conn_cap; + struct lsquic_rtt_stats rtt_stats; + struct lsquic_engine_public *enpub; + struct malo *packet_out_malo; + struct lsquic_conn *lconn; + struct lsquic_mm *mm; + union { + struct { + struct headers_stream *hs; + } gquic; + struct { + struct qpack_enc_hdl *qeh; + struct qpack_dec_hdl *qdh; + struct hcso_writer *hcso; + struct lsquic_hash *promises; + } ietf; + } u; + enum { + CP_STREAM_UNBLOCKED = 1 << 0, /* Set when a stream becomes unblocked */ + } cp_flags; + struct lsquic_send_ctl *send_ctl; +#if LSQUIC_CONN_STATS + struct conn_stats *conn_stats; +#endif + const struct network_path *path; +#if LSQUIC_EXTRA_CHECKS + unsigned long stream_frame_bytes; + unsigned wtp_level; /* wtp: Write To Packets */ +#endif + /* "unsigned" is wide enough: these values are only used for amplification + * limit before initial path is validated. + */ + unsigned bytes_in; /* successfully processed */ + unsigned bytes_out; + /* Used for no-progress timeout */ + lsquic_time_t last_tick, last_prog; + unsigned max_peer_ack_usec; + uint8_t n_special_streams; +}; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_crand.c b/external/lsquic/src/liblsquic/lsquic_crand.c new file mode 100644 index 0000000..61b77a8 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_crand.c @@ -0,0 +1,47 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include + +#include "lsquic_crand.h" + + +#define OFF_MASK(crand_) ((sizeof((crand_)->rand_buf) * 2) - 1) + + +uint8_t +lsquic_crand_get_nybble (struct crand *crand) +{ + uint8_t byte; + + if (crand->nybble_off == 0) + RAND_bytes(crand->rand_buf, sizeof(crand->rand_buf)); + + byte = crand->rand_buf[crand->nybble_off / 2]; + if (crand->nybble_off & 1) + byte >>= 4; + else + byte &= 0xF; + crand->nybble_off += 1; + crand->nybble_off &= OFF_MASK(crand); + return byte; +} + + +uint8_t +lsquic_crand_get_byte (struct crand *crand) +{ + uint8_t byte; + + if (crand->nybble_off & 1) + return (lsquic_crand_get_nybble(crand) << 4) + | lsquic_crand_get_nybble(crand); + else + { + if (crand->nybble_off == 0) + RAND_bytes(crand->rand_buf, sizeof(crand->rand_buf)); + byte = crand->rand_buf[crand->nybble_off / 2]; + crand->nybble_off += 2; + crand->nybble_off &= OFF_MASK(crand); + return byte; + } +} diff --git a/external/lsquic/src/liblsquic/lsquic_crand.h b/external/lsquic/src/liblsquic/lsquic_crand.h new file mode 100644 index 0000000..9e9d904 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_crand.h @@ -0,0 +1,23 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_crand.h -- cached random bytes + * + * The idea is to reduce number of calls to RAND_bytes() + */ + +#ifndef LSQUIC_CRAND_H +#define LSQUIC_CRAND_H 1 + +struct crand +{ + unsigned nybble_off; /* Increments 2 per byte */ + uint8_t rand_buf[256]; /* Must be power of two */ +}; + +uint8_t +lsquic_crand_get_nybble (struct crand *); + +uint8_t +lsquic_crand_get_byte (struct crand *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_crt_compress.c b/external/lsquic/src/liblsquic/lsquic_crt_compress.c new file mode 100644 index 0000000..36831ef --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_crt_compress.c @@ -0,0 +1,824 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include +#include + +#ifndef WIN32 +#else +#include +#include +#endif + +#include "lsquic_int_types.h" +#include "lsquic_crypto.h" +#include "lsquic_crt_compress.h" +#include "lsquic_util.h" + +#include "lsquic_str.h" + +#include "common_cert_set_2.c" +#include "common_cert_set_3.c" + +/* + * common_cert_sub_strings contains ~1500 bytes of common certificate substrings + * as a dictionary of zlib from the Alexa Top 5000 set. + */ +static const unsigned char common_cert_sub_strings[] = { + 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, + 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, + 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, + 0x5f, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x04, 0x01, + 0x06, 0x06, 0x0b, 0x60, 0x86, 0x48, 0x01, 0x86, 0xfd, 0x6d, 0x01, 0x07, + 0x17, 0x01, 0x30, 0x33, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, + 0x64, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x53, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x31, 0x34, + 0x20, 0x53, 0x53, 0x4c, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x32, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x30, 0x2d, 0x61, 0x69, 0x61, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x2d, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, + 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x2e, 0x63, 0x65, + 0x72, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, + 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x4a, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2f, 0x63, 0x70, 0x73, 0x20, 0x28, 0x63, 0x29, 0x30, 0x30, 0x09, 0x06, + 0x03, 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x30, 0x0d, + 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, + 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x7b, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x0e, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, + 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xd2, + 0x6f, 0x64, 0x6f, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x2e, + 0x63, 0x72, 0x6c, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, + 0x04, 0x14, 0xb4, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x69, + 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x30, 0x0b, 0x06, 0x03, + 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01, 0x30, 0x0d, 0x06, 0x09, + 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, + 0x81, 0xca, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, + 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, + 0x13, 0x07, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61, 0x31, 0x13, 0x30, + 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, 0x53, 0x63, 0x6f, 0x74, + 0x74, 0x73, 0x64, 0x61, 0x6c, 0x65, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, + 0x55, 0x04, 0x0a, 0x13, 0x11, 0x47, 0x6f, 0x44, 0x61, 0x64, 0x64, 0x79, + 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x33, + 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2a, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x31, 0x30, 0x30, 0x2e, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x13, 0x27, 0x47, 0x6f, 0x20, 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, + 0x04, 0x05, 0x13, 0x08, 0x30, 0x37, 0x39, 0x36, 0x39, 0x32, 0x38, 0x37, + 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x31, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, + 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x05, 0xa0, 0x30, 0x0c, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, + 0x30, 0x1d, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, + 0x1d, 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, + 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x02, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x05, 0xa0, 0x30, 0x33, 0x06, 0x03, 0x55, 0x1d, + 0x1f, 0x04, 0x2c, 0x30, 0x2a, 0x30, 0x28, 0xa0, 0x26, 0xa0, 0x24, 0x86, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, + 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x64, 0x73, 0x31, 0x2d, 0x32, 0x30, 0x2a, 0x30, 0x28, 0x06, 0x08, + 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, + 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, + 0x70, 0x73, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, + 0x0d, 0x31, 0x33, 0x30, 0x35, 0x30, 0x39, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x73, 0x30, 0x39, 0x30, 0x37, 0x06, 0x08, 0x2b, 0x06, 0x01, + 0x05, 0x05, 0x07, 0x02, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, + 0x3d, 0x30, 0x3b, 0x30, 0x39, 0x06, 0x0b, 0x60, 0x86, 0x48, 0x01, 0x86, + 0xf8, 0x45, 0x01, 0x07, 0x17, 0x06, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, + 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1b, 0x53, 0x31, 0x17, + 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, + 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, + 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, 0x65, + 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3b, 0x30, 0x39, + 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x32, 0x54, 0x65, 0x72, 0x6d, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, 0x20, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, + 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x72, 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x30, 0x31, 0x10, 0x30, 0x0e, + 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x53, 0x31, 0x13, 0x30, 0x11, + 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0a, 0x47, 0x31, 0x13, 0x30, 0x11, + 0x06, 0x0b, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x3c, 0x02, 0x01, + 0x03, 0x13, 0x02, 0x55, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x14, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0f, 0x13, 0x14, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x31, 0x21, 0x30, + 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x18, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x31, 0x14, 0x31, 0x31, + 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x28, 0x53, 0x65, 0x65, + 0x20, 0x77, 0x77, 0x77, 0x2e, 0x72, 0x3a, 0x2f, 0x2f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x65, 0x2e, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, + 0x69, 0x67, 0x6e, 0x31, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x41, + 0x2e, 0x63, 0x72, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, + 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x45, 0x63, 0x72, + 0x6c, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73, 0x2f, 0x73, 0x64, 0x31, 0x1a, + 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x3a, + 0x2f, 0x2f, 0x45, 0x56, 0x49, 0x6e, 0x74, 0x6c, 0x2d, 0x63, 0x63, 0x72, + 0x74, 0x2e, 0x67, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x69, 0x63, 0x65, 0x72, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x31, 0x6f, 0x63, 0x73, 0x70, 0x2e, + 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, + 0x30, 0x39, 0x72, 0x61, 0x70, 0x69, 0x64, 0x73, 0x73, 0x6c, 0x2e, 0x63, + 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x2f, 0x30, 0x81, 0x80, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x74, 0x30, 0x72, 0x30, 0x24, 0x06, 0x08, 0x2b, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x67, 0x6f, 0x64, + 0x61, 0x64, 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x4a, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x3e, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x64, 0x61, 0x64, + 0x64, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x67, 0x64, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x72, + 0x74, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xfd, 0xac, 0x61, 0x32, 0x93, 0x6c, 0x45, 0xd6, 0xe2, 0xee, + 0x85, 0x5f, 0x9a, 0xba, 0xe7, 0x76, 0x99, 0x68, 0xcc, 0xe7, 0x30, 0x27, + 0x86, 0x29, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x86, 0x30, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, +}; + +#define common_certs_num 2 +const common_cert_t common_cert_set[common_certs_num] = { + {common_certs2_num, common_certs2, common_certs2_lens, common_certs2_hash}, + {common_certs3_num, common_certs3, common_certs3_lens, common_certs3_hash}, +}; + + +static lsquic_str_t *s_ccsbuf; + +static int +match_common_cert (lsquic_str_t * cert, lsquic_str_t * common_set_hashes, + uint64_t* out_hash, uint32_t* out_index); + +int +lsquic_crt_init (void) +{ + unsigned i; + + s_ccsbuf = lsquic_str_new(NULL, 0); + if (!s_ccsbuf) + return -1; + for (i=0 ;i b_len) - (b_len > a_len); +} + + +/* 0, matched -1, error */ +static int +match_common_cert (lsquic_str_t * cert, lsquic_str_t * common_set_hashes, + uint64_t* out_hash, uint32_t* out_index) +{ + size_t i, j; + int n; + uint64_t hash; + size_t min, max, mid; + + if (lsquic_str_len(common_set_hashes) % sizeof(uint64_t) != 0) + return -1; + + for (i = 0; i < lsquic_str_len(common_set_hashes) / sizeof(uint64_t); i++) + { + memcpy(&hash, lsquic_str_buf(common_set_hashes) + i * sizeof(uint64_t), + sizeof(uint64_t)); + + for (j = 0; j < common_certs_num; j++) + { + if (common_cert_set[j].hash != hash) + continue; + + if (common_cert_set[j].num_certs == 0) + continue; + + min = 0; + max = common_cert_set[j].num_certs - 1; + while (max >= min) + { + mid = min + ((max - min) / 2); + n = comp_ls_str(cert, common_cert_set[j].certs[mid], + common_cert_set[j].lens[mid]); + if (n < 0) + { + if (mid == 0) + break; + max = mid - 1; + } + else if (n > 0) + min = mid + 1; + else + { + *out_hash = hash; + *out_index = mid; + return 0; + } + } + } + } + + return -1; +} + + +/* result is written to dict */ +static void +make_zlib_dict_for_entries(cert_entry_t *entries, + lsquic_str_t **certs, size_t certs_count, + lsquic_str_t *dict) +{ + int i; + size_t zlib_dict_size = 0; + for (i = certs_count - 1; i >= 0; --i) + { + if (entries[i].type != ENTRY_COMPRESSED) + { + zlib_dict_size += lsquic_str_len(certs[i]); + } + } + + // At the end of the dictionary is a block of common certificate substrings. + zlib_dict_size += sizeof(common_cert_sub_strings); + + for (i = certs_count - 1; i >= 0; --i) + { + if (entries[i].type != ENTRY_COMPRESSED) + { + lsquic_str_append(dict, lsquic_str_buf(certs[i]), lsquic_str_len(certs[i])); + } + } + + lsquic_str_append(dict, (const char *)common_cert_sub_strings, sizeof(common_cert_sub_strings)); + assert((size_t)lsquic_str_len(dict) == zlib_dict_size); +} + + +static +void get_certs_hash(lsquic_str_t *certs, size_t certs_count, uint64_t *hashs) +{ + size_t i; + for(i = 0; i < certs_count; ++i) + { + hashs[i] = lsquic_fnv1a_64((const uint8_t *)lsquic_str_buf(&certs[i]), lsquic_str_len(&certs[i])); + } +} + + +static void get_certs_entries(lsquic_str_t **certs, size_t certs_count, + lsquic_str_t *client_common_set_hashes, + lsquic_str_t *client_cached_cert_hashes, + cert_entry_t *entries) +{ + size_t i; + int j; + cert_entry_t *entry; + uint64_t hash, cached_hash; + bool cached; + + const bool cached_valid = (lsquic_str_len(client_cached_cert_hashes) % sizeof(uint64_t) == 0) + && (lsquic_str_len(client_cached_cert_hashes) > 0); + + assert(&entries[certs_count - 1]); + + for (i = 0; itype = ENTRY_CACHED; + entry->hash = hash; + cached = true; + break; + } + + if (cached) + continue; + } + + if (0 == match_common_cert(certs[i], client_common_set_hashes, + &entry->set_hash, &entry->index)) + { + entry->type = ENTRY_COMMON; + continue; + } + + entry->type = ENTRY_COMPRESSED; + } +} + +static size_t +get_entries_size(cert_entry_t *entries, size_t entries_count) +{ + size_t i; + size_t entries_size = 0; + for(i=0; ibuf; + const unsigned char *in_end = in + ccert->len; + size_t idx = 0; + uint8_t type_byte; + + for (;;) + { + if (in >= in_end) + return -1; + + type_byte = in[0]; + ++in; + if (type_byte == 0) + break; + + ++idx; + switch(type_byte) + { + case ENTRY_COMPRESSED: + break; + case ENTRY_CACHED: + { + if (in_end - in < (int)sizeof(uint64_t)) + return -1; + in += sizeof(uint64_t); + break; + } + case ENTRY_COMMON: + { + if (in_end - in < (int)(sizeof(uint64_t) + sizeof(uint32_t))) + return -1; + in += sizeof(uint64_t) + sizeof(uint32_t); + break; + } + default: + return -1; + } + } + return idx; +} + + +/* return 0: OK, -1, error */ +static int parse_entries(const unsigned char **in_out, const unsigned char *const in_end, + lsquic_str_t *cached_certs, size_t cached_certs_count, + cert_entry_t *out_entries, + lsquic_str_t **out_certs, size_t *out_certs_count) +{ + const unsigned char *in = *in_out; + size_t idx = 0; + uint64_t* cached_hashes; + cert_entry_t *entry; + lsquic_str_t *cert; + uint8_t type_byte; + int rv; + size_t i; + + cached_hashes = NULL; + + for (;;) + { + /* XXX potential invalid read */ + type_byte = in[0]; + ++in; + + if (type_byte == 0) + break; + + entry = &out_entries[idx]; + cert = out_certs[idx]; + /* XXX This seems dangerous -- there is no guard that `idx' does not + * exceed `out_certs_count'. + */ + lsquic_str_d(cert); + + ++idx; + entry->type = type_byte; + switch (entry->type) + { + case ENTRY_COMPRESSED: + break; + case ENTRY_CACHED: + { + memcpy(&entry->hash, in, sizeof(uint64_t)); + in += sizeof(uint64_t); + + if (!cached_hashes) + { + cached_hashes = malloc(cached_certs_count * sizeof(uint64_t));; + if (!cached_hashes) + goto err; + get_certs_hash(cached_certs, cached_certs_count, cached_hashes); + } + + for (i=0; ihash) + { + lsquic_str_append(cert, lsquic_str_buf(&cached_certs[i]), + lsquic_str_len(&cached_certs[i])); + break; + } + } + /* XXX: return -1 if not found? Logic removed in + 4fd7e76bc031ac637e76c7f0930aff53f5b71705 */ + break; + } + case ENTRY_COMMON: + { + memcpy(&entry->set_hash, in, sizeof(uint64_t)); + in += sizeof(uint64_t); + memcpy(&entry->index, in, sizeof(uint32_t)); + in += sizeof(uint32_t); + + if (0 == lsquic_get_common_cert(entry->set_hash, entry->index, cert)) + break; + else + goto err; + } + default: + goto err; + } + } + + rv = 0; + *in_out = in; + *out_certs_count = idx; + + cleanup: + free(cached_hashes); + return rv; + + err: + rv = -1; + goto cleanup; +} + + +struct compressed_cert * +lsquic_compress_certs (lsquic_str_t **certs, size_t certs_count, + lsquic_str_t *client_common_set_hashes, + lsquic_str_t *client_cached_cert_hashes) +{ + size_t i; + size_t uncompressed_size = 0, compressed_size = 0 ; + z_stream z; + lsquic_str_t *dict; + size_t entries_size, result_length; + int out_len; + uint8_t* out; + uint32_t tmp_size_32; + cert_entry_t *entries; + struct compressed_cert *ccert; + + ccert = NULL; + entries = malloc(sizeof(cert_entry_t) * certs_count); + if (!entries) + return NULL; + + dict = lsquic_str_new(NULL, 0); + if (!dict) + goto err; + + get_certs_entries(certs, certs_count, client_common_set_hashes, + client_cached_cert_hashes, entries); + + for (i = 0; i < certs_count; i++) + { + if (entries[i].type == ENTRY_COMPRESSED) + { + /*uint32_t length + cert content*/ + uncompressed_size += 4 + lsquic_str_len(certs[i]); + } + } + + if (uncompressed_size > 0) + { + memset(&z, 0, sizeof(z)); + if (Z_OK != deflateInit(&z, Z_DEFAULT_COMPRESSION)) + goto err; + + make_zlib_dict_for_entries(entries, certs, certs_count, dict); + if(Z_OK != deflateSetDictionary(&z, (const unsigned char *)lsquic_str_buf(dict), lsquic_str_len(dict))) + goto err; + compressed_size = deflateBound(&z, uncompressed_size); + } + + entries_size = get_entries_size(entries, certs_count); + result_length = entries_size + (uncompressed_size > 0 ? 4 : 0) + + compressed_size; + ccert = malloc(sizeof(*ccert) + result_length); + if (!ccert) + goto err; + ccert->refcnt = 0; + + out = ccert->buf; + serialize_cert_entries(out, &out_len, entries, certs_count); + out += entries_size; + + if (uncompressed_size == 0) + { + ccert->len = entries_size; + goto cleanup; + } + + tmp_size_32 = uncompressed_size; + memcpy(out, &tmp_size_32, sizeof(uint32_t)); + out += sizeof(uint32_t); + + z.next_out = out; + z.avail_out = compressed_size; + + for (i = 0; i < certs_count; ++i) + { + if (entries[i].type != ENTRY_COMPRESSED) + continue; + + tmp_size_32 = lsquic_str_len(certs[i]); + z.next_in = (uint8_t*)(&tmp_size_32); + z.avail_in = sizeof(tmp_size_32); + if (Z_OK != deflate(&z, Z_NO_FLUSH) || z.avail_in) + goto err; + z.next_in = (unsigned char *)lsquic_str_buf(certs[i]); + z.avail_in = lsquic_str_len(certs[i]); + if (Z_OK != deflate(&z, Z_NO_FLUSH) || z.avail_in) + goto err; + } + + z.avail_in = 0; + if (Z_STREAM_END != deflate(&z, Z_FINISH)) + goto err; + + ccert->len = result_length - z.avail_out; + + cleanup: + free(entries); + if (dict) + lsquic_str_delete(dict); + if (uncompressed_size) + deflateEnd(&z); + return ccert; + + err: + if (ccert) + free(ccert); + ccert = NULL; + goto cleanup; +} + + +/* 0: ok */ +int +lsquic_decompress_certs (const unsigned char *in, const unsigned char *in_end, + lsquic_str_t *cached_certs, size_t cached_certs_count, + lsquic_str_t **out_certs, size_t *out_certs_count) +{ + int ret; + size_t i; + uint8_t* uncompressed_data, *uncompressed_data_buf; + lsquic_str_t *dict; + uint32_t uncompressed_size; + size_t count = *out_certs_count; + cert_entry_t *entries; + z_stream z; + + assert(*out_certs_count > 0 && *out_certs_count < 10000 + && "Call lsquic_get_certs_count() to get right certificates count first and make enough room for out_certs_count"); + + if (count == 0 || count > 10000) + return -1; + + dict = lsquic_str_new(NULL, 0); + if (!dict) + return -1; + + uncompressed_data_buf = NULL; +#ifdef WIN32 + uncompressed_data = NULL; +#endif + entries = malloc(count * sizeof(cert_entry_t)); + if (!entries) + goto err; + + ret = parse_entries(&in, in_end, cached_certs, cached_certs_count, + entries, out_certs, out_certs_count); + if (ret) + goto err; + + /* re-assign count with real valus */ + count = *out_certs_count; + + if (in < in_end) + { + if (in_end - in < (int)sizeof(uint32_t)) + goto err; + + memcpy(&uncompressed_size, in, sizeof(uncompressed_size)); + in += sizeof(uint32_t); + /* XXX Is 128 KB an arbitrary limit or is there a reason behind it? */ + if (uncompressed_size > 128 * 1024) + goto err; + + uncompressed_data_buf = uncompressed_data = malloc(uncompressed_size); + if (!uncompressed_data) + goto err; + + memset(&z, 0, sizeof(z)); + z.next_out = uncompressed_data; + z.avail_out = uncompressed_size; + z.next_in = (unsigned char *) in; + z.avail_in = in_end - in; + + if (Z_OK != inflateInit(&z)) + goto err; + + ret = inflate(&z, Z_FINISH); + if (ret == Z_NEED_DICT) + { + lsquic_str_d(dict); + make_zlib_dict_for_entries(entries, out_certs, count, dict); + if (Z_OK != inflateSetDictionary(&z, (const unsigned char *)lsquic_str_buf(dict), lsquic_str_len(dict))) + goto err; + ret = inflate(&z, Z_FINISH); + } + + if (Z_STREAM_END != ret || z.avail_out > 0 || z.avail_in > 0) + goto err; + } + else + uncompressed_size = 0; + + for (i = 0; i < count; i++) + { + switch (entries[i].type) + { + case ENTRY_COMPRESSED: + if (uncompressed_size < sizeof(uint32_t)) + goto err; + lsquic_str_d(out_certs[i]); + uint32_t cert_len; + memcpy(&cert_len, uncompressed_data, sizeof(cert_len)); + uncompressed_data += sizeof(uint32_t); + uncompressed_size -= sizeof(uint32_t); + if (uncompressed_size < cert_len) + goto err; + lsquic_str_append(out_certs[i], (const char *)uncompressed_data, cert_len); + uncompressed_data += cert_len; + uncompressed_size -= cert_len; + break; + case ENTRY_CACHED: + case ENTRY_COMMON: + default: + break; + } + } + + cleanup: + lsquic_str_delete(dict); + free(entries); + if (uncompressed_data_buf) + inflateEnd(&z); + free(uncompressed_data_buf); + if (0 == uncompressed_size) + return 0; + else + return -1; + + err: + uncompressed_size = 1; /* This triggers return -1 above */ + goto cleanup; +} + + +void +lsquic_crt_cleanup (void) +{ + if (s_ccsbuf) + { + lsquic_str_delete(s_ccsbuf); + s_ccsbuf = NULL; + } +} diff --git a/external/lsquic/src/liblsquic/lsquic_crt_compress.h b/external/lsquic/src/liblsquic/lsquic_crt_compress.h new file mode 100644 index 0000000..07a819d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_crt_compress.h @@ -0,0 +1,75 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef __LSQUIC_CRT_COMPRESS_H__ +#define __LSQUIC_CRT_COMPRESS_H__ + +#include + +struct lsquic_str; + +#ifdef __cplusplus +extern "C" { +#endif + + +enum entry_type { + END_OF_LIST = 0, + ENTRY_COMPRESSED = 1, + ENTRY_CACHED = 2, + ENTRY_COMMON = 3, +}; + +typedef struct cert_entry_st { + enum entry_type type; + uint32_t index; + uint64_t hash; + uint64_t set_hash; +} cert_entry_t; + + +typedef struct common_cert_st +{ + size_t num_certs; + const unsigned char* const* certs; + const size_t* lens; + uint64_t hash; +} common_cert_t; + +int +lsquic_crt_init (void); + +struct lsquic_str * lsquic_get_common_certs_hash(); + + +int lsquic_get_common_cert(uint64_t hash, uint32_t index, struct lsquic_str *buf); + +struct compressed_cert +{ + size_t len; + unsigned refcnt; + unsigned char buf[0]; /* len bytes */ +}; + +/* Returns newly allocated structure or NULL on error */ +struct compressed_cert * +lsquic_compress_certs(struct lsquic_str **certs, size_t certs_count, + struct lsquic_str *client_common_set_hashes, + struct lsquic_str *client_cached_cert_hashes); + +int +lsquic_get_certs_count (const struct compressed_cert *); + +int lsquic_decompress_certs(const unsigned char *in, const unsigned char *in_end, + struct lsquic_str *cached_certs, size_t cached_certs_count, + struct lsquic_str **out_certs, + size_t *out_certs_count); + +void +lsquic_crt_cleanup (void); + + +#ifdef __cplusplus +} +#endif + + +#endif //__LSQUIC_CRT_COMPRESS_H__ diff --git a/external/lsquic/src/liblsquic/lsquic_crypto.c b/external/lsquic/src/liblsquic/lsquic_crypto.c new file mode 100644 index 0000000..9fedd60 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_crypto.c @@ -0,0 +1,539 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#ifdef WIN32 +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_crypto.h" +#include "lsquic_parse.h" +#include "lsquic_util.h" +#include "lsquic_str.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_CRYPTO +#include "lsquic_logger.h" + + +static const char s_hs_signature[] = "QUIC CHLO and server config signature"; +static int crypto_inited = 0; + + +uint64_t lsquic_fnv1a_64(const uint8_t * data, int len) +{ + uint64_t hash = UINT64_C(14695981039346656037); + const uint8_t *end = data + len; + while(data < end) + { + hash ^= *data; + hash *= UINT64_C(1099511628211); + ++data; + } + return hash; +} + + +void lsquic_fnv1a_64_s(const uint8_t * data, int len, char *md) +{ + uint64_t hash = lsquic_fnv1a_64(data, len); + memcpy(md, (void *)&hash, 8); +} + + +#if defined( __x86_64 )||defined( __x86_64__ ) + +static uint128 s_prime; +static uint128 s_init_hash; + + +static inline void make_uint128(uint128 *v, uint64_t hi, uint64_t lo) +{ + *v = hi; + *v <<= 64; + *v += lo; +} + + +void lsquic_fnv1a_inc(uint128 *hash, const uint8_t *data, int len) +{ + const uint8_t* end = data + len; + while(data < end) + { + *hash = (*hash ^ (*data)) * s_prime; + ++data; + } +} + +uint128 lsquic_fnv1a_128_3(const uint8_t *data1, int len1, + const uint8_t *data2, int len2, + const uint8_t *data3, int len3) +{ + uint128 hash; + memcpy(&hash, &s_init_hash, 16); + + lsquic_fnv1a_inc(&hash, data1, len1); + lsquic_fnv1a_inc(&hash, data2, len2); + lsquic_fnv1a_inc(&hash, data3, len3); + return hash; +} + +/* HS_PKT_HASH_LENGTH bytes of md */ +void lsquic_serialize_fnv128_short(uint128 v, uint8_t *md) +{ + memcpy(md, (void *)&v, 12); +} + +#else +uint128 *uint128_times(uint128 *v, const uint128 *factor) +{ + uint64_t a96 = v->hi_ >> 32; + uint64_t a64 = v->hi_ & 0xffffffffu; + uint64_t a32 = v->lo_ >> 32; + uint64_t a00 = v->lo_ & 0xffffffffu; + uint64_t b96 = factor->hi_ >> 32; + uint64_t b64 = factor->hi_ & 0xffffffffu; + uint64_t b32 = factor->lo_ >> 32; + uint64_t b00 = factor->lo_ & 0xffffffffu; + uint64_t tmp, lolo; + // multiply [a96 .. a00] x [b96 .. b00] + // terms higher than c96 disappear off the high side + // terms c96 and c64 are safe to ignore carry bit + uint64_t c96 = a96 * b00 + a64 * b32 + a32 * b64 + a00 * b96; + uint64_t c64 = a64 * b00 + a32 * b32 + a00 * b64; + v->hi_ = (c96 << 32) + c64; + v->lo_ = 0; + + tmp = a32 * b00; + v->hi_ += tmp >> 32; + v->lo_ += tmp << 32; + + tmp = a00 * b32; + v->hi_ += tmp >> 32; + v->lo_ += tmp << 32; + + tmp = a00 * b00; + lolo = v->lo_ + tmp; + if (lolo < v->lo_) + ++v->hi_; + v->lo_ = lolo; + + return v; +} + +void lsquic_fnv1a_inc(uint128 *hash, const uint8_t * data, int len) +{ + static const uint128 kPrime = {16777216, 315}; + const uint8_t* end = data + len; + while(data < end) + { + hash->lo_ = (hash->lo_ ^ (uint64_t)*data); + uint128_times(hash, &kPrime); + ++data; + } +} + + +uint128 lsquic_fnv1a_128_3(const uint8_t * data1, int len1, + const uint8_t * data2, int len2, + const uint8_t * data3, int len3) +{ + uint128 hash = {UINT64_C(7809847782465536322), UINT64_C(7113472399480571277)}; + lsquic_fnv1a_inc(&hash, data1, len1); + lsquic_fnv1a_inc(&hash, data2, len2); + lsquic_fnv1a_inc(&hash, data3, len3); + return hash; +} + + +/* HS_PKT_HASH_LENGTH bytes of md */ +void lsquic_serialize_fnv128_short(uint128 v, uint8_t *md) +{ + assert(HS_PKT_HASH_LENGTH == 8 + 4); + memcpy(md, (void *)&v.lo_, 8); + memcpy(md + 8, (void *)&v.hi_, 4); +} + +#endif + + +static void sha256(const uint8_t *buf, int len, uint8_t *h) +{ + SHA256_CTX ctx; + SHA256_Init(&ctx); + SHA256_Update(&ctx, buf, len); + SHA256_Final(h, &ctx); +} + + +/* base on rfc 5869 with sha256, prk is 32 bytes*/ +void lshkdf_extract(const unsigned char *ikm, int ikm_len, const unsigned char *salt, + int salt_len, unsigned char *prk) +{ +#ifndef NDEBUG + unsigned char *out; + unsigned int out_len; + out = +#endif + HMAC(EVP_sha256(), salt, salt_len, ikm, ikm_len, prk, +#ifndef NDEBUG + &out_len +#else + NULL +#endif + ); + assert(out); + assert(out_len == 32); +} + + +#define SHA256LEN 32 +int lshkdf_expand(const unsigned char *prk, const unsigned char *info, int info_len, + uint16_t c_key_len, uint8_t *c_key, + uint16_t s_key_len, uint8_t *s_key, + uint16_t c_key_iv_len, uint8_t *c_key_iv, + uint16_t s_key_iv_len, uint8_t *s_key_iv, + uint16_t sub_key_len, uint8_t *sub_key, + uint8_t *c_hp, uint8_t *s_hp) +{ + const unsigned L = c_key_len + s_key_len + c_key_iv_len + s_key_iv_len + + sub_key_len + + (c_hp ? c_key_len : 0) + + (s_hp ? s_key_len : 0) + ; + unsigned char *p; + unsigned char output[ + EVP_MAX_KEY_LENGTH * 2 /* Keys */ + + EVP_MAX_IV_LENGTH * 2 /* IVs */ + + 32 /* Subkey */ + + EVP_MAX_KEY_LENGTH * 2 /* Header protection */ + ]; + + assert((size_t) L <= sizeof(output)); + +#ifndef NDEBUG + const int s = +#endif + HKDF_expand(output, L, EVP_sha256(), prk, 32, info, info_len); + assert(s); + p = output; + if (c_key_len) + { + memcpy(c_key, p, c_key_len); + p += c_key_len; + } + if (s_key_len) + { + memcpy(s_key, p, s_key_len); + p += s_key_len; + } + if (c_key_iv_len) + { + memcpy(c_key_iv, p, c_key_iv_len); + p += c_key_iv_len; + } + if (s_key_iv_len) + { + memcpy(s_key_iv, p, s_key_iv_len); + p += s_key_iv_len; + } + if (sub_key_len && sub_key) + { + memcpy(sub_key, p, sub_key_len); + p += sub_key_len; + } + if (c_key_len && c_hp) + { + memcpy(c_hp, p, c_key_len); + p += c_key_len; + } + if (s_key_len && s_hp) + { + memcpy(s_hp, p, s_key_len); + p += s_key_len; + } + return 0; +} + + +#ifndef NDEBUG +int lsquic_export_key_material_simple(unsigned char *ikm, uint32_t ikm_len, + unsigned char *salt, int salt_len, + char *label, uint32_t label_len, + const uint8_t *context, uint32_t context_len, + uint8_t *key, uint16_t key_len) +{ + unsigned char prk[32]; + int info_len; + uint8_t *info = NULL; + info = (uint8_t *)malloc(label_len + 1 + sizeof(uint32_t) + context_len); + if (!info) + return -1; + + lshkdf_extract(ikm, ikm_len, salt, salt_len, prk); + memcpy(info, label, label_len); + info[label_len] = 0x00; + info_len = label_len + 1; + memcpy(info + info_len, &context_len, sizeof(uint32_t)); + info_len += sizeof(uint32_t); + memcpy(info + info_len, context, context_len); + info_len += context_len; + lshkdf_expand(prk, info, info_len, key_len, key, + 0, NULL, 0, NULL,0, NULL, 0, NULL, NULL, NULL); + free(info); + return 0; +} +#endif + + +int +lsquic_export_key_material(const unsigned char *ikm, uint32_t ikm_len, + const unsigned char *salt, int salt_len, + const unsigned char *context, uint32_t context_len, + uint16_t c_key_len, uint8_t *c_key, + uint16_t s_key_len, uint8_t *s_key, + uint16_t c_key_iv_len, uint8_t *c_key_iv, + uint16_t s_key_iv_len, uint8_t *s_key_iv, + uint8_t *sub_key, uint8_t *c_hp, uint8_t *s_hp) +{ + unsigned char prk[32]; + uint16_t sub_key_len = ikm_len; + + lshkdf_extract(ikm, ikm_len, salt, salt_len, prk); + lshkdf_expand(prk, context, context_len, c_key_len, c_key, + s_key_len, s_key, c_key_iv_len, c_key_iv, s_key_iv_len, + s_key_iv, sub_key_len, sub_key, c_hp, s_hp); + return 0; +} + +void lsquic_c255_get_pub_key(unsigned char *priv_key, unsigned char pub_key[32]) +{ + X25519_public_from_private(pub_key, priv_key); +} + + +int lsquic_c255_gen_share_key(unsigned char *priv_key, unsigned char *peer_pub_key, unsigned char *shared_key) +{ + return X25519(shared_key, priv_key, peer_pub_key); +} + + + +/* AEAD nonce is always zero */ +/* return 0 for OK */ +int lsquic_aes_aead_enc(EVP_AEAD_CTX *key, + const uint8_t *ad, size_t ad_len, + const uint8_t *nonce, size_t nonce_len, + const uint8_t *plain, size_t plain_len, + uint8_t *cypher, size_t *cypher_len) +{ + int ret = 0; + size_t max_out_len; + max_out_len = *cypher_len;//plain_len + EVP_AEAD_max_overhead(aead_); + assert(*cypher_len >= max_out_len); + + LSQ_DEBUG("***lsquic_aes_aead_enc data %s", lsquic_get_bin_str(plain, plain_len, 40)); + ret = EVP_AEAD_CTX_seal(key, cypher, cypher_len, max_out_len, + nonce, nonce_len, plain, plain_len, ad, ad_len); +// LSQ_DEBUG("***lsquic_aes_aead_enc nonce: %s", lsquic_get_bin_str(nonce, nonce_len)); +// LSQ_DEBUG("***lsquic_aes_aead_enc AD: %s", lsquic_get_bin_str(ad, ad_len)); +// LSQ_DEBUG("***lsquic_aes_aead_enc return %d", (ret ? 0 : -1)); + if (ret) + { + LSQ_DEBUG("***lsquic_aes_aead_enc succeed, cypher content %s", + lsquic_get_bin_str(cypher, *cypher_len, 40)); + return 0; + } + else + { + LSQ_DEBUG("***lsquic_aes_aead_enc failed."); + return -1; + } +} + + +/* return 0 for OK */ +int lsquic_aes_aead_dec(EVP_AEAD_CTX *key, + const uint8_t *ad, size_t ad_len, + const uint8_t *nonce, size_t nonce_len, + const uint8_t *cypher, size_t cypher_len, + uint8_t *plain, size_t *plain_len) +{ + int ret = 0; + size_t max_out_len = *plain_len; + assert(max_out_len >= cypher_len); + + LSQ_DEBUG("***lsquic_aes_aead_dec data %s", lsquic_get_bin_str(cypher, cypher_len, 40)); + + + ret = EVP_AEAD_CTX_open(key, plain, plain_len, max_out_len, + nonce, nonce_len, cypher, cypher_len, ad, ad_len); + +// LSQ_DEBUG("***lsquic_aes_aead_dec nonce: %s", lsquic_get_bin_str(nonce, nonce_len)); +// LSQ_DEBUG("***lsquic_aes_aead_dec AD: %s", lsquic_get_bin_str(ad, ad_len)); +// LSQ_DEBUG("***lsquic_aes_aead_dec return %d", (ret ? 0 : -1)); + if (ret) + { + LSQ_DEBUG("***lsquic_aes_aead_dec succeed, plain content %s", + lsquic_get_bin_str(plain, *plain_len, 20)); + return 0; + } + else + { + LSQ_DEBUG("***lsquic_aes_aead_dec failed."); + return -1; + } +} + +/* 32 bytes client nonce with 4 bytes tm, 8 bytes orbit */ +void lsquic_gen_nonce_c(unsigned char *buf, uint64_t orbit) +{ + time_t tm = 0; + unsigned char *p = buf; + memcpy(p, &tm, 4); + p += 4; + memcpy(p, &orbit, 8); + p += 8; + RAND_bytes(p, 20); + p += 20; +} + + +/* type 0 DER, 1: PEM */ +X509 * +lsquic_bio_to_crt (const void *buf, int len, int type) +{ + X509 *crt = NULL; + BIO *bio = BIO_new_mem_buf(buf, len); + if (bio == NULL) + return NULL; + + if (type == 0) + crt = d2i_X509_bio(bio, NULL); + else + crt = PEM_read_bio_X509(bio, &crt, 0 , NULL); + BIO_free(bio); + return crt; +} + + +int +lsquic_gen_prof (const uint8_t *chlo_data, size_t chlo_data_len, + const uint8_t *scfg_data, uint32_t scfg_data_len, + const EVP_PKEY *priv_key, uint8_t *buf, size_t *buf_len) +{ + uint8_t chlo_hash[32] = {0}; + size_t chlo_hash_len = 32; /* SHA256 */ + EVP_MD_CTX sign_context; + EVP_PKEY_CTX* pkey_ctx = NULL; + + sha256(chlo_data, chlo_data_len, chlo_hash); + EVP_MD_CTX_init(&sign_context); + if (!EVP_DigestSignInit(&sign_context, &pkey_ctx, EVP_sha256(), NULL, (EVP_PKEY *)priv_key)) + return -1; + + EVP_PKEY_CTX_set_rsa_padding(pkey_ctx, RSA_PKCS1_PSS_PADDING); + EVP_PKEY_CTX_set_rsa_pss_saltlen(pkey_ctx, -1); + + if (!EVP_DigestSignUpdate(&sign_context, s_hs_signature, sizeof(s_hs_signature)) || + !EVP_DigestSignUpdate(&sign_context, (const uint8_t*)(&chlo_hash_len), 4) || + !EVP_DigestSignUpdate(&sign_context, chlo_hash, chlo_hash_len) || + !EVP_DigestSignUpdate(&sign_context, scfg_data, scfg_data_len)) + { + return -1; + } + + size_t len = 0; + if (!EVP_DigestSignFinal(&sign_context, NULL, &len)) { + return -1; + } + + if (len > *buf_len) + return -2; + if (buf) + EVP_DigestSignFinal(&sign_context, buf, buf_len); + + EVP_MD_CTX_cleanup(&sign_context); + return 0; +} + + +/* -3 internal error, -1: verify failed, 0: Success */ +static int +verify_prof0 (const uint8_t *chlo_data, size_t chlo_data_len, + const uint8_t *scfg_data, uint32_t scfg_data_len, + const EVP_PKEY *pub_key, const uint8_t *buf, size_t len) +{ + uint8_t chlo_hash[32] = {0}; + size_t chlo_hash_len = 32; /* SHA256 */ + EVP_MD_CTX sign_context; + EVP_PKEY_CTX* pkey_ctx = NULL; + int ret = 0; + EVP_MD_CTX_init(&sign_context); + sha256(chlo_data, chlo_data_len, chlo_hash); + + // discarding const below to quiet compiler warning on call to ssl library code + if (!EVP_DigestVerifyInit(&sign_context, &pkey_ctx, EVP_sha256(), NULL, (EVP_PKEY *)pub_key)) + return -4; + + EVP_PKEY_CTX_set_rsa_padding(pkey_ctx, RSA_PKCS1_PSS_PADDING); + EVP_PKEY_CTX_set_rsa_pss_saltlen(pkey_ctx, -1); + + + if (!EVP_DigestVerifyUpdate(&sign_context, s_hs_signature, sizeof(s_hs_signature)) || + !EVP_DigestVerifyUpdate(&sign_context, (const uint8_t*)(&chlo_hash_len), 4) || + !EVP_DigestVerifyUpdate(&sign_context, chlo_hash, chlo_hash_len) || + !EVP_DigestVerifyUpdate(&sign_context, scfg_data, scfg_data_len)) + { + return -3; /* set to -3, to avoid same as "not enough data" -2 */ + } + + ret = EVP_DigestVerifyFinal(&sign_context, buf, len); + EVP_MD_CTX_cleanup(&sign_context); + + if (ret == 1) + return 0; //OK + else + return -1; //failed +} + + +int +lsquic_verify_prof (const uint8_t *chlo_data, size_t chlo_data_len, + lsquic_str_t *scfg, const EVP_PKEY *pub_key, const uint8_t *buf, size_t len) +{ + return verify_prof0(chlo_data, chlo_data_len, + (const uint8_t *)lsquic_str_buf(scfg), + lsquic_str_len(scfg), pub_key, buf, len); +} + + +void +lsquic_crypto_init (void) +{ + if (crypto_inited) + return ; + + //SSL_library_init(); + CRYPTO_library_init(); + /* XXX Should we seed? If yes, wherewith? */ // RAND_seed(seed, seed_len); + +#if defined( __x86_64 )||defined( __x86_64__ ) + make_uint128(&s_prime, 16777216, 315); + make_uint128(&s_init_hash, 7809847782465536322, 7113472399480571277); +#endif + + /* MORE .... */ + crypto_inited = 1; +} + diff --git a/external/lsquic/src/liblsquic/lsquic_crypto.h b/external/lsquic/src/liblsquic/lsquic_crypto.h new file mode 100644 index 0000000..5a9d194 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_crypto.h @@ -0,0 +1,106 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ + +#ifndef __LSQUIC_CRYPTO_H__ +#define __LSQUIC_CRYPTO_H__ + +#include + +#define HS_PKT_HASH_LENGTH 12 + + +#ifdef __cplusplus +extern "C" { +#endif + +struct lsquic_str; +struct evp_aead_ctx_st; +struct evp_pkey_st; +struct x509_st; + +#if defined( __x86_64 )||defined( __x86_64__ ) + typedef __uint128_t uint128; +#else + typedef struct uint128_st + { + uint64_t hi_; + uint64_t lo_; + } uint128; +#endif + + +void lsquic_crypto_init(void); + + +#ifndef NDEBUG +int lsquic_export_key_material_simple(unsigned char *ikm, uint32_t ikm_len, + unsigned char *salt, int salt_len, + char *label, uint32_t label_len, + const uint8_t *context, uint32_t context_len, + uint8_t *key, uint16_t key_len); +#endif + +int lsquic_export_key_material(const unsigned char *ikm, uint32_t ikm_len, + const unsigned char *salt, int salt_len, + const unsigned char *context, uint32_t context_len, + uint16_t c_key_len, uint8_t *c_key, + uint16_t s_key_len, uint8_t *s_key, + uint16_t c_key_iv_len, uint8_t *c_key_iv, + uint16_t s_key_iv_len, uint8_t *s_key_iv, + uint8_t *sub_key, + uint8_t *c_hp, uint8_t *s_hp); + +void lsquic_c255_get_pub_key(unsigned char *priv_key, unsigned char pub_key[32]); +int lsquic_c255_gen_share_key(unsigned char *priv_key, unsigned char *peer_pub_key, unsigned char *shared_key); + + + +uint64_t lsquic_fnv1a_64(const uint8_t * data, int len); +void lsquic_fnv1a_64_s(const uint8_t * data, int len, char *md); +void lsquic_fnv1a_128_s(const uint8_t * data , int len, uint8_t *md); +uint128 lsquic_fnv1a_128_3(const uint8_t * data1, int len1, + const uint8_t * data2, int len2, + const uint8_t * data3, int len3); +void lsquic_serialize_fnv128_short(uint128 v, uint8_t *md); + + +/* Encrypt plaint text to cipher test */ +int lsquic_aes_aead_enc(struct evp_aead_ctx_st *key, + const uint8_t *ad, size_t ad_len, + const uint8_t *nonce, size_t nonce_len, + const uint8_t *plain, size_t plain_len, + uint8_t *cypher, size_t *cypher_len); + +int lsquic_aes_aead_dec(struct evp_aead_ctx_st *key, + const uint8_t *ad, size_t ad_len, + const uint8_t *nonce, size_t nonce_len, + const uint8_t *cypher, size_t cypher_len, + uint8_t *plain, size_t *plain_len); + +/* 32 bytes client nonce with 4 bytes tm, 8 bytes orbit */ +void lsquic_gen_nonce_c(unsigned char *buf, uint64_t orbit); + +struct x509_st *lsquic_bio_to_crt(const void *buf, int len, int type); + +int lshkdf_expand(const unsigned char *prk, const unsigned char *info, int info_len, + uint16_t c_key_len, uint8_t *c_key, + uint16_t s_key_len, uint8_t *s_key, + uint16_t c_key_iv_len, uint8_t *c_key_iv, + uint16_t s_key_iv_len, uint8_t *s_key_iv, + uint16_t sub_key_len, uint8_t *sub_key, + uint8_t *c_hp, uint8_t *s_hp); +void lshkdf_extract(const unsigned char *ikm, int ikm_len, const unsigned char *salt, + int salt_len, unsigned char *prk); + +int lsquic_gen_prof(const uint8_t *chlo_data, size_t chlo_data_len, + const uint8_t *scfg_data, uint32_t scfg_data_len, + const struct evp_pkey_st *priv_key, uint8_t *buf, size_t *len); + +int lsquic_verify_prof(const uint8_t *chlo_data, size_t chlo_data_len, struct lsquic_str * scfg, + const struct evp_pkey_st *pub_key, const uint8_t *buf, size_t len); + + +#ifdef __cplusplus +} +#endif + +#endif //__LSQUIC_CRYPTO_H__ diff --git a/external/lsquic/src/liblsquic/lsquic_cubic.c b/external/lsquic/src/liblsquic/lsquic_cubic.c new file mode 100644 index 0000000..a4efeac --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_cubic.c @@ -0,0 +1,294 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_cubic.c -- LSQUIC CUBIC implementation. + */ + +#include +#include +#include +#include +#include +#include +#ifdef WIN32 +#include +#endif + +#include "lsquic_int_types.h" +#include "lsquic_types.h" +#include "lsquic_hash.h" +#include "lsquic_util.h" +#include "lsquic_cong_ctl.h" +#include "lsquic_sfcw.h" +#include "lsquic_conn_flow.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_stream.h" +#include "lsquic_rtt.h" +#include "lsquic_conn_public.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_out.h" +#include "lsquic_cubic.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_CUBIC +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(cubic->cu_conn) +#include "lsquic_logger.h" + +#define FAST_CONVERGENCE 1 +#define BETA 205 /* 205/1024 */ +#define C 410 /* 410/1024 */ +#define TWO_MINUS_BETA_OVER_TWO 922 /* 922/1024 */ +#define ONE_MINUS_BETA 819 /* 819/1024 */ +#define ONE_OVER_C 2560 /* 2560/1024 */ + +static void +cubic_reset (struct lsquic_cubic *cubic) +{ + memset(cubic, 0, offsetof(struct lsquic_cubic, cu_conn)); + cubic->cu_cwnd = 32 * TCP_MSS; + cubic->cu_last_max_cwnd = 32 * TCP_MSS; + cubic->cu_tcp_cwnd = 32 * TCP_MSS; +} + + +static void +cubic_update (struct lsquic_cubic *cubic, lsquic_time_t now, unsigned n_bytes) +{ + double delta_t, t; + lsquic_time_t target; + + if (0 == cubic->cu_epoch_start) + { + cubic->cu_epoch_start = now; + if (cubic->cu_cwnd < cubic->cu_last_max_cwnd) + { + cubic->cu_K = cbrt(cubic->cu_last_max_cwnd / TCP_MSS / 2); + cubic->cu_origin_point = cubic->cu_last_max_cwnd; + } + else + { + cubic->cu_K = 0; + cubic->cu_origin_point = cubic->cu_cwnd; + } + LSQ_DEBUG("cwnd: %lu; last_max_cwnd: %lu; K: %lf; origin_point: %lu", + cubic->cu_cwnd, cubic->cu_last_max_cwnd, cubic->cu_K, cubic->cu_origin_point); + } + + delta_t = (double) (now + cubic->cu_min_delay - cubic->cu_epoch_start) / 1000000; + if (delta_t < cubic->cu_K) + { + t = cubic->cu_K - delta_t; + target = cubic->cu_origin_point - t * t * t * 0.4 * TCP_MSS; + LSQ_DEBUG("delta_t: %lf; t: %lf; target 1: %"PRIu64, delta_t, t, target); + } + else + { + t = delta_t - cubic->cu_K; + target = cubic->cu_origin_point + t * t * t * 0.4 * TCP_MSS; + LSQ_DEBUG("target 2: %"PRIu64, target); + } + + if (cubic->cu_flags & CU_TCP_FRIENDLY) + { + cubic->cu_tcp_cwnd += n_bytes * TCP_MSS * ONE_MINUS_BETA / 1024 + / cubic->cu_tcp_cwnd; + LSQ_DEBUG("delta_t: %lf; last_max: %lu; cu_tcp_cwnd: %lu; target: " + "%"PRIu64"; over: %d; left: %d", delta_t, cubic->cu_last_max_cwnd, + cubic->cu_tcp_cwnd, target, cubic->cu_tcp_cwnd > target, + delta_t < cubic->cu_K); + if (cubic->cu_tcp_cwnd > target) + target = cubic->cu_tcp_cwnd; + } + + if (target == 0) + target = TCP_MSS; + + cubic->cu_cwnd = target; +} + + +void +lsquic_cubic_set_flags (struct lsquic_cubic *cubic, enum cubic_flags flags) +{ + LSQ_DEBUG("%s(cubic, 0x%X)", __func__, flags); + cubic->cu_flags = flags; +} + + +static void +lsquic_cubic_init (void *cong_ctl, const struct lsquic_conn_public *conn_pub, + enum quic_ft_bit UNUSED_retx_frames) +{ + struct lsquic_cubic *const cubic = cong_ctl; + cubic_reset(cubic); + cubic->cu_ssthresh = 10000 * TCP_MSS; /* Emulate "unbounded" slow start */ + cubic->cu_conn = conn_pub->lconn; + cubic->cu_rtt_stats = &conn_pub->rtt_stats; + cubic->cu_flags = DEFAULT_CUBIC_FLAGS; +#ifndef NDEBUG + const char *s; + s = getenv("LSQUIC_CUBIC_SAMPLING_RATE"); + if (s) + cubic->cu_sampling_rate = atoi(s); + else +#endif + cubic->cu_sampling_rate = 100000; + LSQ_DEBUG("%s(cubic, $conn)", __func__); + LSQ_INFO("initialized"); +} + + +static void +lsquic_cubic_reinit (void *cong_ctl) +{ + struct lsquic_cubic *const cubic = cong_ctl; + cubic_reset(cubic); + cubic->cu_ssthresh = 10000 * TCP_MSS; /* Emulate "unbounded" slow start */ + LSQ_DEBUG("re-initialized"); +} + + +#define LOG_CWND(c) do { \ + if (LSQ_LOG_ENABLED(LSQ_LOG_INFO)) { \ + lsquic_time_t now = lsquic_time_now(); \ + now -= now % (c)->cu_sampling_rate; \ + if (now > (c)->cu_last_logged) { \ + LSQ_INFO("CWND: %lu", (c)->cu_cwnd); \ + (c)->cu_last_logged = now; \ + } \ + } \ +} while (0) + + +static void +lsquic_cubic_was_quiet (void *cong_ctl, lsquic_time_t now, uint64_t in_flight) +{ + struct lsquic_cubic *const cubic = cong_ctl; + LSQ_DEBUG("%s(cubic, %"PRIu64")", __func__, now); + cubic->cu_epoch_start = 0; +} + + +static void +lsquic_cubic_ack (void *cong_ctl, struct lsquic_packet_out *packet_out, + unsigned n_bytes, lsquic_time_t now_time, int app_limited) +{ + struct lsquic_cubic *const cubic = cong_ctl; + lsquic_time_t rtt; + + rtt = now_time - packet_out->po_sent; + LSQ_DEBUG("%s(cubic, %"PRIu64", %"PRIu64", %d, %u)", __func__, now_time, rtt, + app_limited, n_bytes); + if (0 == cubic->cu_min_delay || rtt < cubic->cu_min_delay) + { + cubic->cu_min_delay = rtt; + LSQ_INFO("min_delay: %"PRIu64, rtt); + } + + if (cubic->cu_cwnd <= cubic->cu_ssthresh) + { + cubic->cu_cwnd += TCP_MSS; + LSQ_DEBUG("ACK: slow threshold, cwnd: %lu", cubic->cu_cwnd); + } + else if (!app_limited) + { + cubic_update(cubic, now_time, n_bytes); + LSQ_DEBUG("ACK: cwnd: %lu", cubic->cu_cwnd); + } + + LOG_CWND(cubic); +} + + +static void +lsquic_cubic_loss (void *cong_ctl) +{ + struct lsquic_cubic *const cubic = cong_ctl; + LSQ_DEBUG("%s(cubic)", __func__); + cubic->cu_epoch_start = 0; + if (FAST_CONVERGENCE && cubic->cu_cwnd < cubic->cu_last_max_cwnd) + cubic->cu_last_max_cwnd = cubic->cu_cwnd * TWO_MINUS_BETA_OVER_TWO / 1024; + else + cubic->cu_last_max_cwnd = cubic->cu_cwnd; + cubic->cu_cwnd = cubic->cu_cwnd * ONE_MINUS_BETA / 1024; + cubic->cu_tcp_cwnd = cubic->cu_cwnd; + cubic->cu_ssthresh = cubic->cu_cwnd; + LSQ_INFO("loss detected, last_max_cwnd: %lu, cwnd: %lu", + cubic->cu_last_max_cwnd, cubic->cu_cwnd); + LOG_CWND(cubic); +} + + +static void +lsquic_cubic_timeout (void *cong_ctl) +{ + struct lsquic_cubic *const cubic = cong_ctl; + unsigned long cwnd; + + cwnd = cubic->cu_cwnd; + LSQ_DEBUG("%s(cubic)", __func__); + cubic_reset(cubic); + cubic->cu_ssthresh = cwnd / 2; + cubic->cu_tcp_cwnd = 2 * TCP_MSS; + cubic->cu_cwnd = 2 * TCP_MSS; + LSQ_INFO("timeout, cwnd: %lu", cubic->cu_cwnd); + LOG_CWND(cubic); +} + + +static void +lsquic_cubic_cleanup (void *cong_ctl) +{ +} + + +static uint64_t +lsquic_cubic_get_cwnd (void *cong_ctl) +{ + struct lsquic_cubic *const cubic = cong_ctl; + return cubic->cu_cwnd; +} + + +static int +in_slow_start (void *cong_ctl) +{ + struct lsquic_cubic *const cubic = cong_ctl; + return cubic->cu_cwnd < cubic->cu_ssthresh; +} + + +static uint64_t +lsquic_cubic_pacing_rate (void *cong_ctl, int in_recovery) +{ + struct lsquic_cubic *const cubic = cong_ctl; + uint64_t bandwidth, pacing_rate; + lsquic_time_t srtt; + + srtt = lsquic_rtt_stats_get_srtt(cubic->cu_rtt_stats); + if (srtt == 0) + srtt = 50000; + bandwidth = cubic->cu_cwnd * 1000000 / srtt; + if (in_slow_start(cubic)) + pacing_rate = bandwidth * 2; + else if (in_recovery) + pacing_rate = bandwidth; + else + pacing_rate = bandwidth + bandwidth / 4; + + return pacing_rate; +} + + + +const struct cong_ctl_if lsquic_cong_cubic_if = +{ + .cci_ack = lsquic_cubic_ack, + .cci_cleanup = lsquic_cubic_cleanup, + .cci_get_cwnd = lsquic_cubic_get_cwnd, + .cci_init = lsquic_cubic_init, + .cci_pacing_rate = lsquic_cubic_pacing_rate, + .cci_loss = lsquic_cubic_loss, + .cci_reinit = lsquic_cubic_reinit, + .cci_timeout = lsquic_cubic_timeout, + .cci_was_quiet = lsquic_cubic_was_quiet, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_cubic.h b/external/lsquic/src/liblsquic/lsquic_cubic.h new file mode 100644 index 0000000..8eef096 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_cubic.h @@ -0,0 +1,42 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_cubic.h -- CUBIC congestion control protocol. + */ + +#ifndef LSQUIC_CUBIC_H +#define LSQUIC_CUBIC_H 1 + +#include "lsquic_shared_support.h" + +struct lsquic_conn; + +struct lsquic_cubic { + lsquic_time_t cu_min_delay; + lsquic_time_t cu_epoch_start; + double cu_K; + unsigned long cu_origin_point; + unsigned long cu_last_max_cwnd; + unsigned long cu_cwnd; + unsigned long cu_tcp_cwnd; + unsigned long cu_ssthresh; + const struct lsquic_conn + *cu_conn; /* Used for logging */ + const struct lsquic_rtt_stats + *cu_rtt_stats; + enum cubic_flags { + CU_TCP_FRIENDLY = (1 << 0), + } cu_flags; + unsigned cu_sampling_rate; + lsquic_time_t cu_last_logged; +}; + +#define DEFAULT_CUBIC_FLAGS (CU_TCP_FRIENDLY) + +#define TCP_MSS 1460 + +LSQUIC_EXTERN const struct cong_ctl_if lsquic_cong_cubic_if; + +void +lsquic_cubic_set_flags (struct lsquic_cubic *cubic, enum cubic_flags flags); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_data_in_if.h b/external/lsquic/src/liblsquic/lsquic_data_in_if.h new file mode 100644 index 0000000..c2a99dc --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_data_in_if.h @@ -0,0 +1,111 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_data_in_if.h -- DATA in interface + */ + +#ifndef LSQUIC_DATA_IN_IF_H +#define LSQUIC_DATA_IN_IF_H 1 + + +struct data_frame; +struct data_in; +struct lsquic_conn_public; +struct stream_frame; + + +enum ins_frame +{ + INS_FRAME_OK, + INS_FRAME_ERR, + INS_FRAME_DUP, + INS_FRAME_OVERLAP, +}; + + +struct data_in_iface +{ + void + (*di_destroy) (struct data_in *); + + int + (*di_empty) (struct data_in *); + + /* When INS_FRAME_OK, INS_FRAME_ERR, or INS_FRAME_DUP is returned, the + * caller releases control of stream frame. Do not reference it after + * the call. + * + * When INS_FRAME_OVERLAP is returned the caller has a choice to switch + * to implementation that supports overlaps and try to insert the frame + * again or to treat this as an error. Either way, the caller retains + * control of the frame. + */ + enum ins_frame + (*di_insert_frame) (struct data_in *, struct stream_frame *, + uint64_t read_offset); + + struct data_frame * + (*di_get_frame) (struct data_in *, uint64_t read_offset); + + void + (*di_frame_done) (struct data_in *, struct data_frame *); + + /* Creates a new data_in object, feeds its stream frames to it, deletes + * itself and returns the new object. + */ + struct data_in * + (*di_switch_impl) (struct data_in *, uint64_t read_offset); + + size_t + (*di_mem_used) (struct data_in *); + + void + (*di_dump_state) (struct data_in *); + + /* Return number of bytes readable starting at offset `read_offset' */ + uint64_t + (*di_readable_bytes) (struct data_in *, uint64_t read_offset); + + /* If set, this means that when di_insert_frame() returns INS_FRAME_OK, + * the data_in handler has taken ownership of the frame. Otherwise, it + * is up to the caller to free it. + */ + const int + di_own_on_ok; +}; + + +struct data_in +{ + const struct data_in_iface *di_if; + enum { + /* If DI_SWITCH_IMPL is set, switching data_in implementation is + * recommended in order to get better performance for current + * incoming stream frame scenario. Check the value of this flag + * after calls to di_insert_frame() and di_frame_done(). + */ + DI_SWITCH_IMPL = (1 << 0), + } di_flags; +}; + + +/* This implementation does not support overlapping frame and may return + * INS_FRAME_OVERLAP. + */ +struct data_in * +lsquic_data_in_nocopy_new (struct lsquic_conn_public *, lsquic_stream_id_t); + +/* This implementation supports overlapping frames and will never return + * INS_FRAME_OVERLAP. + */ +struct data_in * +lsquic_data_in_hash_new (struct lsquic_conn_public *, lsquic_stream_id_t, + uint64_t byteage); + +enum ins_frame +lsquic_data_in_hash_insert_data_frame (struct data_in *data_in, + const struct data_frame *data_frame, uint64_t read_offset); + +struct data_in * +lsquic_data_in_error_new (void); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_di_error.c b/external/lsquic/src/liblsquic/lsquic_di_error.c new file mode 100644 index 0000000..7dde038 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_di_error.c @@ -0,0 +1,112 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_di_error.c -- A placeholder when things go wrong + * + * This object is used in order to avoid dereferencing NULLs in stream.c + */ + + +#include +#include +#include +#ifdef WIN32 +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_data_in_if.h" + + +static const struct data_in *error_data_in_ptr; + + +struct data_in * +lsquic_data_in_error_new (void) +{ + return (struct data_in *) error_data_in_ptr; +} + + +static void +error_di_destroy (struct data_in *data_in) +{ +} + + +static enum ins_frame +error_di_insert_frame (struct data_in *data_in, + struct stream_frame *new_frame, uint64_t read_offset) +{ + return INS_FRAME_ERR; +} + + +static struct data_frame * +error_di_get_frame (struct data_in *data_in, uint64_t read_offset) +{ + return NULL; +} + + +static void +error_di_frame_done (struct data_in *data_in, struct data_frame *data_frame) +{ +} + + +static int +error_di_empty (struct data_in *data_in) +{ + return 1; +} + + +static struct data_in * +error_di_switch_impl (struct data_in *data_in, uint64_t read_offset) +{ + assert(0); + return data_in; +} + + +static size_t +error_di_mem_used (struct data_in *data_in) +{ + return 0; +} + + +static void +error_di_dump_state (struct data_in *data_in) +{ +} + +static uint64_t +error_di_readable_bytes (struct data_in *data_in, uint64_t read_offset) +{ + return 0; +} + + +static const struct data_in_iface di_if_error = { + .di_destroy = error_di_destroy, + .di_dump_state = error_di_dump_state, + .di_empty = error_di_empty, + .di_frame_done = error_di_frame_done, + .di_get_frame = error_di_get_frame, + .di_insert_frame = error_di_insert_frame, + .di_mem_used = error_di_mem_used, + .di_own_on_ok = 0, /* Never returns INS_FRAME_OK, but anyway */ + .di_readable_bytes + = error_di_readable_bytes, + .di_switch_impl = error_di_switch_impl, +}; + + +static const struct data_in error_data_in = { + .di_if = &di_if_error, + .di_flags = 0, +}; + + +static const struct data_in *error_data_in_ptr = &error_data_in; diff --git a/external/lsquic/src/liblsquic/lsquic_di_hash.c b/external/lsquic/src/liblsquic/lsquic_di_hash.c new file mode 100644 index 0000000..ca861b7 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_di_hash.c @@ -0,0 +1,691 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_di_hash.c -- Copy incoming data into a hash + * + * While this implementation copies the data, its memory use is limited, + * which makes it a good choice when we have a lot of stream frames + * coming in. + * + * Another difference is that incoming STREAM frames are allowed to overlap. + */ + + +#include +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_types.h" +#include "lsquic_conn_flow.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_rtt.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_mm.h" +#include "lsquic_malo.h" +#include "lsquic_conn.h" +#include "lsquic_conn_public.h" +#include "lsquic_data_in_if.h" + + +#define LSQUIC_LOGGER_MODULE LSQLM_DI +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(hdi->hdi_conn_pub->lconn) +#define LSQUIC_LOG_STREAM_ID hdi->hdi_stream_id +#include "lsquic_logger.h" + + +#define N_DB_SETS 57 + +#define DB_DATA_SIZE (0x1000 - sizeof(TAILQ_ENTRY(data_block)) - \ + sizeof(uint64_t) - N_DB_SETS * sizeof(uint64_t)) + +struct data_block +{ + TAILQ_ENTRY(data_block) db_next; + uint64_t db_off; + uint64_t db_set[N_DB_SETS]; /* bit for each valid byte */ + unsigned char db_data[DB_DATA_SIZE]; +}; + +typedef char db_set_covers_all_db_data[(N_DB_SETS * 64 >= DB_DATA_SIZE) ?1: - 1]; +typedef char db_set_no_waste[(N_DB_SETS * 64 - 64 <= DB_DATA_SIZE)?1: - 1]; +typedef char db_block_is_4K[(sizeof(struct data_block) == 0x1000) ?1:- 1]; + + +TAILQ_HEAD(dblock_head, data_block); + + +static const struct data_in_iface *di_if_hash_ptr; + + +struct hash_data_in +{ + struct data_in hdi_data_in; + struct lsquic_conn_public *hdi_conn_pub; + uint64_t hdi_fin_off; + struct dblock_head *hdi_buckets; + struct data_block *hdi_last_block; + struct data_frame hdi_data_frame; + lsquic_stream_id_t hdi_stream_id; + unsigned hdi_count; + unsigned hdi_nbits; + enum { + HDI_FIN = (1 << 0), + } hdi_flags; +}; + + +#define HDI_PTR(data_in) (struct hash_data_in *) \ + ((unsigned char *) (data_in) - offsetof(struct hash_data_in, hdi_data_in)) + + +#define N_BUCKETS(n_bits) (1U << (n_bits)) +#define BUCKNO(n_bits, off) ((off / DB_DATA_SIZE) & (N_BUCKETS(n_bits) - 1)) + + +static unsigned +my_log2 /* silly name to suppress compiler warning */ (unsigned sz) +{ +#if __GNUC__ + unsigned clz = __builtin_clz(sz); + return 32 - clz; +#else + unsigned clz; + size_t y; + clz = 32; + y = sz >> 16; if (y) { clz -= 16; sz = y; } + y = sz >> 8; if (y) { clz -= 8; sz = y; } + y = sz >> 4; if (y) { clz -= 4; sz = y; } + y = sz >> 2; if (y) { clz -= 2; sz = y; } + y = sz >> 1; if (y) return 32 - clz + 1; + return 32 - clz + sz; +#endif +} + + +struct data_in * +lsquic_data_in_hash_new (struct lsquic_conn_public *conn_pub, + lsquic_stream_id_t stream_id, uint64_t byteage) +{ + struct hash_data_in *hdi; + unsigned n; + + hdi = malloc(sizeof(*hdi)); + if (!hdi) + return NULL; + + hdi->hdi_data_in.di_if = di_if_hash_ptr; + hdi->hdi_data_in.di_flags = 0; + hdi->hdi_conn_pub = conn_pub; + hdi->hdi_stream_id = stream_id; + hdi->hdi_fin_off = 0; + hdi->hdi_flags = 0; + hdi->hdi_last_block = NULL; + if (byteage >= DB_DATA_SIZE /* __builtin_clz is undefined if + argument is 0 */) + hdi->hdi_nbits = my_log2(byteage / DB_DATA_SIZE) + 2; + else + hdi->hdi_nbits = 3; + hdi->hdi_count = 0; + hdi->hdi_buckets = malloc(sizeof(hdi->hdi_buckets[0]) * + N_BUCKETS(hdi->hdi_nbits)); + if (!hdi->hdi_buckets) + { + free(hdi); + return NULL; + } + + for (n = 0; n < N_BUCKETS(hdi->hdi_nbits); ++n) + TAILQ_INIT(&hdi->hdi_buckets[n]); + + return &hdi->hdi_data_in; +} + + +static void +hash_di_destroy (struct data_in *data_in) +{ + struct hash_data_in *const hdi = HDI_PTR(data_in); + struct data_block *block; + unsigned n; + + for (n = 0; n < N_BUCKETS(hdi->hdi_nbits); ++n) + { + while ((block = TAILQ_FIRST(&hdi->hdi_buckets[n]))) + { + TAILQ_REMOVE(&hdi->hdi_buckets[n], block, db_next); + free(block); + } + } + free(hdi->hdi_buckets); + free(hdi); +} + + +static int +hash_grow (struct hash_data_in *hdi) +{ + struct dblock_head *new_buckets, *new[2]; + struct data_block *block; + unsigned n, old_nbits; + int idx; + + old_nbits = hdi->hdi_nbits; + LSQ_DEBUG("doubling number of buckets to %u", N_BUCKETS(old_nbits + 1)); + new_buckets = malloc(sizeof(hdi->hdi_buckets[0]) + * N_BUCKETS(old_nbits + 1)); + if (!new_buckets) + { + LSQ_WARN("malloc failed: potential trouble ahead"); + return -1; + } + + for (n = 0; n < N_BUCKETS(old_nbits); ++n) + { + new[0] = &new_buckets[n]; + new[1] = &new_buckets[n + N_BUCKETS(old_nbits)]; + TAILQ_INIT(new[0]); + TAILQ_INIT(new[1]); + while ((block = TAILQ_FIRST(&hdi->hdi_buckets[n]))) + { + TAILQ_REMOVE(&hdi->hdi_buckets[n], block, db_next); + idx = (BUCKNO(old_nbits + 1, block->db_off) >> old_nbits) & 1; + TAILQ_INSERT_TAIL(new[idx], block, db_next); + } + } + free(hdi->hdi_buckets); + hdi->hdi_nbits = old_nbits + 1; + hdi->hdi_buckets = new_buckets; + return 0; +} + + +static int +hash_insert (struct hash_data_in *hdi, struct data_block *block) +{ + unsigned buckno; + + if (hdi->hdi_count >= N_BUCKETS(hdi->hdi_nbits) / 2 && 0 != hash_grow(hdi)) + return -1; + + buckno = BUCKNO(hdi->hdi_nbits, block->db_off); + TAILQ_INSERT_TAIL(&hdi->hdi_buckets[buckno], block, db_next); + ++hdi->hdi_count; + return 0; +} + + +static struct data_block * +hash_find (const struct hash_data_in *hdi, uint64_t off) +{ + struct data_block *block; + unsigned buckno; + + buckno = BUCKNO(hdi->hdi_nbits, off); + TAILQ_FOREACH(block, &hdi->hdi_buckets[buckno], db_next) + if (off == block->db_off) + return block; + return NULL; +} + + +static void +hash_remove (struct hash_data_in *hdi, struct data_block *block) +{ + unsigned buckno; + + buckno = BUCKNO(hdi->hdi_nbits, block->db_off); + TAILQ_REMOVE(&hdi->hdi_buckets[buckno], block, db_next); + --hdi->hdi_count; +} + + +static struct data_block * +new_block (struct hash_data_in *hdi, uint64_t off) +{ + struct data_block *block; + + assert(0 == off % DB_DATA_SIZE); + + block = malloc(sizeof(*block)); + if (!block) + return NULL; + + block->db_off = off; + if (0 != hash_insert(hdi, block)) + { + free(block); + return NULL; + } + + memset(block->db_set, 0, sizeof(block->db_set)); + return block; +} + + +static unsigned +block_write (struct data_block *block, unsigned block_off, + const unsigned char *data, unsigned data_sz) +{ + const unsigned char *begin, *end; + unsigned set, bit, n_full_sets, n; + uint64_t mask; + + assert(block_off < DB_DATA_SIZE); + if (data_sz > DB_DATA_SIZE - block_off) + data_sz = DB_DATA_SIZE - block_off; + + begin = data; + end = begin + data_sz; + set = block_off >> 6; + bit = block_off & 0x3F; + + assert(set < N_DB_SETS); + + if (bit) + { + n = 64 - bit; + if (n > data_sz) + n = data_sz; + mask = ~((1ULL << bit ) - 1) + & ((1ULL << (bit + n - 1)) | ((1ULL << (bit + n - 1)) - 1)); + block->db_set[ set ] |= mask; + memcpy(block->db_data + block_off, data, n); + data += n; + block_off += n; + ++set; + } + + n_full_sets = (end - data) >> 6; + if (n_full_sets) + { + memcpy(block->db_data + block_off, data, n_full_sets * 64); + data += n_full_sets * 64; + block_off += n_full_sets * 64; + memset(&block->db_set[ set ], 0xFF, n_full_sets * 8); + set += n_full_sets; + } + + if (data < end) + { + assert(end - data < 64); + block->db_set[ set ] |= ((1ULL << (end - data)) - 1); + memcpy(block->db_data + block_off, data, end - data); + data = end; + } + + assert(set <= N_DB_SETS); + + return data - begin; +} + + +static int +has_bytes_after (const struct data_block *block, unsigned off) +{ + unsigned bit, set; + int has; + + set = off >> 6; + bit = off & 0x3F; + + has = 0 != (block->db_set[ set ] >> bit); + ++set; + + for ( ; set < N_DB_SETS; ++set) + has += 0 != block->db_set[ set ]; + + return has > 0; +} + + +enum ins_frame +lsquic_data_in_hash_insert_data_frame (struct data_in *data_in, + const struct data_frame *data_frame, uint64_t read_offset) +{ + struct hash_data_in *const hdi = HDI_PTR(data_in); + struct data_block *block; + uint64_t key, off, diff, fin_off; + const unsigned char *data; + unsigned size, nw; + + if (data_frame->df_offset + data_frame->df_size < read_offset) + { + if (data_frame->df_fin) + return INS_FRAME_ERR; + else + return INS_FRAME_DUP; + } + + if ((hdi->hdi_flags & HDI_FIN) && + ( + (data_frame->df_fin && + data_frame->df_offset + data_frame->df_size != hdi->hdi_fin_off) + || + data_frame->df_offset + data_frame->df_size > hdi->hdi_fin_off + ) + ) + { + return INS_FRAME_ERR; + } + + if (data_frame->df_offset < read_offset) + { + diff = read_offset - data_frame->df_offset; + assert(diff <= data_frame->df_size); + size = data_frame->df_size - diff; + off = data_frame->df_offset + diff; + data = data_frame->df_data + diff; + } + else + { + size = data_frame->df_size; + off = data_frame->df_offset; + data = data_frame->df_data; + } + + key = off - (off % DB_DATA_SIZE); + do + { + block = hash_find(hdi, key); + if (!block) + { + block = new_block(hdi, key); + if (!block) + return INS_FRAME_ERR; + } + nw = block_write(block, off % DB_DATA_SIZE, data, size); + size -= nw; + off += nw; + data += nw; + key += DB_DATA_SIZE; + } + while (size > 0); + + if (data_frame->df_fin) + { + fin_off = data_frame->df_offset + data_frame->df_size; + if (has_bytes_after(block, fin_off - block->db_off) || + hash_find(hdi, key)) + { + return INS_FRAME_ERR; + } + hdi->hdi_flags |= HDI_FIN; + hdi->hdi_fin_off = fin_off; + } + + return INS_FRAME_OK; +} + + +static enum ins_frame +hash_di_insert_frame (struct data_in *data_in, + struct stream_frame *new_frame, uint64_t read_offset) +{ + struct hash_data_in *const hdi = HDI_PTR(data_in); + const struct data_frame *const data_frame = &new_frame->data_frame; + enum ins_frame ins; + + ins = lsquic_data_in_hash_insert_data_frame(data_in, data_frame, + read_offset); + assert(ins != INS_FRAME_OVERLAP); + /* NOTE: Only release packet and frame for INS_FRAME_OK, + * other cases are handled by caller */ + if (ins == INS_FRAME_OK) + { + lsquic_packet_in_put(hdi->hdi_conn_pub->mm, new_frame->packet_in); + } + return ins; +} + + +#if __GNUC__ +# define ctz __builtin_ctzll +#else +static unsigned +ctz (unsigned long long x) +{ + unsigned n = 0; + if (0 == (x & ((1ULL << 32) - 1))) { n += 32; x >>= 32; } + if (0 == (x & ((1ULL << 16) - 1))) { n += 16; x >>= 16; } + if (0 == (x & ((1ULL << 8) - 1))) { n += 8; x >>= 8; } + if (0 == (x & ((1ULL << 4) - 1))) { n += 4; x >>= 4; } + if (0 == (x & ((1ULL << 2) - 1))) { n += 2; x >>= 2; } + if (0 == (x & ((1ULL << 1) - 1))) { n += 1; x >>= 1; } + return n; +} +#endif + + +static unsigned +n_avail_bytes (const struct data_block *block, unsigned set, unsigned bit) +{ + unsigned count; + uint64_t part; + + part = ~(block->db_set[ set ] >> bit); + if (part) + { + count = ctz(part); + if (count < 64 - bit) + return count; + } + else + count = 64; + ++set; + + for ( ; set < N_DB_SETS && ~0ULL == block->db_set[ set ]; ++set) + count += 64; + + if (set < N_DB_SETS) + { + part = ~block->db_set[ set ]; + if (part) + count += ctz(part); + else + count += 64; + } + + return count; +} + + +/* Data block is readable if there is at least one readable byte at + * `read_offset' or there is FIN at that offset. + */ +static int +setup_data_frame (struct hash_data_in *hdi, const uint64_t read_offset, + struct data_block *block) +{ + unsigned set, bit; + uint64_t offset; + + offset = read_offset % DB_DATA_SIZE; + set = offset >> 6; + bit = offset & 0x3F; + + if (block->db_set[ set ] & (1ULL << bit)) + { + hdi->hdi_last_block = block; + hdi->hdi_data_frame.df_data = block->db_data; + hdi->hdi_data_frame.df_offset = block->db_off; + hdi->hdi_data_frame.df_read_off = offset; + hdi->hdi_data_frame.df_size = offset + + n_avail_bytes(block, set, bit); + hdi->hdi_data_frame.df_fin = + (hdi->hdi_flags & HDI_FIN) && + hdi->hdi_data_frame.df_read_off + + hdi->hdi_data_frame.df_size == hdi->hdi_fin_off; + return 1; + } + else if ((hdi->hdi_flags & HDI_FIN) && read_offset == hdi->hdi_fin_off) + { + hdi->hdi_last_block = block; + hdi->hdi_data_frame.df_data = NULL; + hdi->hdi_data_frame.df_offset = block->db_off; + hdi->hdi_data_frame.df_read_off = offset; + hdi->hdi_data_frame.df_size = offset; + hdi->hdi_data_frame.df_fin = 1; + return 1; + } + else + return 0; +} + + +static struct data_frame * +hash_di_get_frame (struct data_in *data_in, uint64_t read_offset) +{ + struct hash_data_in *const hdi = HDI_PTR(data_in); + struct data_block *block; + uint64_t key; + + key = read_offset - (read_offset % DB_DATA_SIZE); + block = hash_find(hdi, key); + if (!block) + { + if ((hdi->hdi_flags & HDI_FIN) && read_offset == hdi->hdi_fin_off) + { + hdi->hdi_last_block = NULL; + hdi->hdi_data_frame.df_data = NULL; + hdi->hdi_data_frame.df_offset = read_offset - + read_offset % DB_DATA_SIZE; + hdi->hdi_data_frame.df_read_off = 0; + hdi->hdi_data_frame.df_size = 0; + hdi->hdi_data_frame.df_fin = 1; + return &hdi->hdi_data_frame; + } + else + return NULL; + } + + if (setup_data_frame(hdi, read_offset, block)) + return &hdi->hdi_data_frame; + else + return NULL; +} + + +static void +hash_di_frame_done (struct data_in *data_in, struct data_frame *data_frame) +{ + struct hash_data_in *const hdi = HDI_PTR(data_in); + struct data_block *const block = hdi->hdi_last_block; + + if (block) + { + if (data_frame->df_read_off == DB_DATA_SIZE || + !has_bytes_after(block, data_frame->df_read_off)) + { + hash_remove(hdi, block); + free(block); + if (0 == hdi->hdi_count && 0 == (hdi->hdi_flags & HDI_FIN)) + { + LSQ_DEBUG("hash empty, want to switch"); + hdi->hdi_data_in.di_flags |= DI_SWITCH_IMPL; + } + } + } + else + assert(data_frame->df_fin && data_frame->df_size == 0); +} + + +static int +hash_di_empty (struct data_in *data_in) +{ + struct hash_data_in *const hdi = HDI_PTR(data_in); + return hdi->hdi_count == 0; +} + + +static struct data_in * +hash_di_switch_impl (struct data_in *data_in, uint64_t read_offset) +{ + struct hash_data_in *const hdi = HDI_PTR(data_in); + struct data_in *new_data_in; + + assert(hdi->hdi_count == 0); + + new_data_in = lsquic_data_in_nocopy_new(hdi->hdi_conn_pub, + hdi->hdi_stream_id); + data_in->di_if->di_destroy(data_in); + + return new_data_in; +} + + +static size_t +hash_di_mem_used (struct data_in *data_in) +{ + struct hash_data_in *const hdi = HDI_PTR(data_in); + const struct data_block *block; + size_t size; + unsigned n; + + size = sizeof(*data_in); + + for (n = 0; n < N_BUCKETS(hdi->hdi_nbits); ++n) + TAILQ_FOREACH(block, &hdi->hdi_buckets[n], db_next) + size += sizeof(*block); + + size += N_BUCKETS(hdi->hdi_nbits) * sizeof(hdi->hdi_buckets[0]); + + return size; +} + + +static void +hash_di_dump_state (struct data_in *data_in) +{ + const struct hash_data_in *const hdi = HDI_PTR(data_in); + const struct data_block *block; + unsigned n; + + LSQ_DEBUG("hash state: flags: %X; fin off: %"PRIu64"; count: %u", + hdi->hdi_flags, hdi->hdi_fin_off, hdi->hdi_count); + for (n = 0; n < N_BUCKETS(hdi->hdi_nbits); ++n) + TAILQ_FOREACH(block, &hdi->hdi_buckets[n], db_next) + LSQ_DEBUG("block: off: %"PRIu64, block->db_off); +} + + +static uint64_t +hash_di_readable_bytes (struct data_in *data_in, uint64_t read_offset) +{ + const struct data_frame *data_frame; + uint64_t starting_offset; + + starting_offset = read_offset; + while (data_frame = hash_di_get_frame(data_in, read_offset), + data_frame && data_frame->df_size - data_frame->df_read_off) + read_offset += data_frame->df_size - data_frame->df_read_off; + + return read_offset - starting_offset; +} + + +static const struct data_in_iface di_if_hash = { + .di_destroy = hash_di_destroy, + .di_dump_state = hash_di_dump_state, + .di_empty = hash_di_empty, + .di_frame_done = hash_di_frame_done, + .di_get_frame = hash_di_get_frame, + .di_insert_frame = hash_di_insert_frame, + .di_mem_used = hash_di_mem_used, + .di_own_on_ok = 0, + .di_readable_bytes + = hash_di_readable_bytes, + .di_switch_impl = hash_di_switch_impl, +}; + +static const struct data_in_iface *di_if_hash_ptr = &di_if_hash; diff --git a/external/lsquic/src/liblsquic/lsquic_di_nocopy.c b/external/lsquic/src/liblsquic/lsquic_di_nocopy.c new file mode 100644 index 0000000..dd4794c --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_di_nocopy.c @@ -0,0 +1,560 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_di_nocopy.c -- The "no-copy" data in stream. + * + * Data from packets is not copied: the packets are referenced by stream + * frames. When all data from stream frame is read, the frame is released + * and packet reference count is decremented, which possibly results in + * packet being released as well. + * + * This approach works well in regular circumstances; there are two scenarios + * when it does not: + * + * A. If we have many out-of-order frames, insertion into the list becomes + * expensive. In the degenerate case, we'd have to traverse the whole + * list to find appropriate position. + * + * B. Having many frames ties up resources, as each frame keeps a reference + * to the packet that contains it. This is a possible attack vector: + * send many one-byte packets; a single hole at the beginning will stop + * the server from being able to read the stream, thus tying up resources. + * + * If we detect that either (A) or (B) is true, we request that the stream + * switch to a more robust incoming stream frame handler by setting + * DI_SWITCH_IMPL flag. + * + * For a small number of elements, (A) and (B) do not matter and the checks + * are not performed. This number is defined by EFF_CHECK_THRESH_LOW. On + * the other side of the spectrum, if the number of frames grows very high, + * we want to switch to a more memory-efficient implementation even if (A) + * and (B) are not true. EFF_CHECK_THRESH_HIGH defines this threshold. + * + * Between the low and high thresholds, we detect efficiency problems as + * follows. + * + * To detect (A), we count how many elements we have to traverse during + * insertion. If we have to traverse at least half the list + * EFF_FAR_TRAVERSE_COUNT in a row, DI_SWITCH_IMPL is issued. + * + * If average stream frame size is smaller than EFF_TINY_FRAME_SZ bytes, + * (B) condition is true. In addition, if there are more than EFF_MAX_HOLES + * in the stream, this is also indicative of (B). + */ + + +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_conn_flow.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_rtt.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_mm.h" +#include "lsquic_malo.h" +#include "lsquic_conn.h" +#include "lsquic_conn_public.h" +#include "lsquic_data_in_if.h" + + +#define LSQUIC_LOGGER_MODULE LSQLM_DI +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(ncdi->ncdi_conn_pub->lconn) +#define LSQUIC_LOG_STREAM_ID ncdi->ncdi_stream_id +#include "lsquic_logger.h" + + +/* If number of elements is at or below this number, we do not bother to check + * efficiency conditions. + */ +#define EFF_CHECK_THRESH_LOW 10 + +/* If number of elements is higher than this number, efficiency alert + * is issued unconditionally. + */ +#define EFF_CHECK_THRESH_HIGH 1000 + +/* Maximum number of consecutive far traversals */ +#define EFF_FAR_TRAVERSE_COUNT 4 + +/* Maximum number of holes that is not deemed suspicious */ +#define EFF_MAX_HOLES 5 + +/* What is deemed a tiny frame, in bytes. If it is a power of two, calculation + * is cheaper. + */ +#define EFF_TINY_FRAME_SZ 64 + + +TAILQ_HEAD(stream_frames_tailq, stream_frame); + + +struct nocopy_data_in +{ + struct stream_frames_tailq ncdi_frames_in; + struct data_in ncdi_data_in; + struct lsquic_conn_public *ncdi_conn_pub; + uint64_t ncdi_byteage; + uint64_t ncdi_fin_off; + lsquic_stream_id_t ncdi_stream_id; + unsigned ncdi_n_frames; + unsigned ncdi_n_holes; + unsigned ncdi_cons_far; + enum { + NCDI_FIN_SET = 1 << 0, + NCDI_FIN_REACHED = 1 << 1, + } ncdi_flags; +}; + + +#define NCDI_PTR(data_in) (struct nocopy_data_in *) \ + ((unsigned char *) (data_in) - offsetof(struct nocopy_data_in, ncdi_data_in)) + +#define STREAM_FRAME_PTR(data_frame) (struct stream_frame *) \ + ((unsigned char *) (data_frame) - offsetof(struct stream_frame, data_frame)) + + +static const struct data_in_iface *di_if_nocopy_ptr; + + +struct data_in * +lsquic_data_in_nocopy_new (struct lsquic_conn_public *conn_pub, + lsquic_stream_id_t stream_id) +{ + struct nocopy_data_in *ncdi; + + ncdi = malloc(sizeof(*ncdi)); + if (!ncdi) + return NULL; + + TAILQ_INIT(&ncdi->ncdi_frames_in); + ncdi->ncdi_data_in.di_if = di_if_nocopy_ptr; + ncdi->ncdi_data_in.di_flags = 0; + ncdi->ncdi_conn_pub = conn_pub; + ncdi->ncdi_stream_id = stream_id; + ncdi->ncdi_byteage = 0; + ncdi->ncdi_n_frames = 0; + ncdi->ncdi_n_holes = 0; + ncdi->ncdi_cons_far = 0; + ncdi->ncdi_fin_off = 0; + ncdi->ncdi_flags = 0; + LSQ_DEBUG("initialized"); + return &ncdi->ncdi_data_in; +} + + +static void +nocopy_di_destroy (struct data_in *data_in) +{ + struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + stream_frame_t *frame; + while ((frame = TAILQ_FIRST(&ncdi->ncdi_frames_in))) + { + TAILQ_REMOVE(&ncdi->ncdi_frames_in, frame, next_frame); + lsquic_packet_in_put(ncdi->ncdi_conn_pub->mm, frame->packet_in); + lsquic_malo_put(frame); + } + free(ncdi); +} + + +#if LSQUIC_EXTRA_CHECKS +static int +frame_list_is_sane (const struct nocopy_data_in *ncdi) +{ + const stream_frame_t *frame; + uint64_t prev_off = 0, prev_end = 0; + int ordered = 1, overlaps = 0; + TAILQ_FOREACH(frame, &ncdi->ncdi_frames_in, next_frame) + { + ordered &= prev_off <= DF_OFF(frame); + overlaps |= prev_end > DF_OFF(frame); + prev_off = DF_OFF(frame); + prev_end = DF_END(frame); + } + return ordered && !overlaps; +} +#define CHECK_ORDER(ncdi) assert(frame_list_is_sane(ncdi)) +#else +#define CHECK_ORDER(ncdi) +#endif + + +#define CASE(letter) ((int) (letter) << 8) + +/* Not all errors are picked up by this function, as it is expensive (and + * potentially error-prone) to check for all possible error conditions. + * It an error be misclassified as an overlap or dup, in the worst case + * we end up with an application error instead of protocol violation. + */ +static int +insert_frame (struct nocopy_data_in *ncdi, struct stream_frame *new_frame, + uint64_t read_offset, unsigned *p_n_frames) +{ + stream_frame_t *prev_frame, *next_frame; + unsigned count; + + if (read_offset > DF_END(new_frame)) + { + if (DF_FIN(new_frame)) + return INS_FRAME_ERR | CASE('A'); + else + return INS_FRAME_DUP | CASE('B'); + } + + if (ncdi->ncdi_flags & NCDI_FIN_SET) + { + if (DF_FIN(new_frame) && DF_END(new_frame) != ncdi->ncdi_fin_off) + return INS_FRAME_ERR | CASE('C'); + if (DF_END(new_frame) > ncdi->ncdi_fin_off) + return INS_FRAME_ERR | CASE('D'); + if (read_offset == DF_END(new_frame)) + return INS_FRAME_DUP | CASE('M'); + } + else + { + if (read_offset == DF_END(new_frame) && !DF_FIN(new_frame)) + return INS_FRAME_DUP | CASE('L'); + } + + /* Find position in the list, going backwards. We go backwards because + * that is the most likely scenario. + */ + next_frame = TAILQ_LAST(&ncdi->ncdi_frames_in, stream_frames_tailq); + if (next_frame && DF_OFF(new_frame) < DF_OFF(next_frame)) + { + count = 1; + prev_frame = TAILQ_PREV(next_frame, stream_frames_tailq, next_frame); + for ( ; prev_frame && DF_OFF(new_frame) < DF_OFF(next_frame); + next_frame = prev_frame, + prev_frame = TAILQ_PREV(prev_frame, stream_frames_tailq, next_frame)) + { + if (DF_OFF(new_frame) >= DF_OFF(prev_frame)) + break; + ++count; + } + } + else + { + count = 0; + prev_frame = NULL; + } + + if (!prev_frame && next_frame && DF_OFF(new_frame) >= DF_OFF(next_frame)) + { + prev_frame = next_frame; + next_frame = TAILQ_NEXT(next_frame, next_frame); + } + + const int select = !!prev_frame << 1 | !!next_frame; + switch (select) + { + default: /* No neighbors */ + if (read_offset == DF_END(new_frame)) + { + if (DF_SIZE(new_frame)) + { + if (DF_FIN(new_frame) + && !((ncdi->ncdi_flags & NCDI_FIN_REACHED) + && read_offset == ncdi->ncdi_fin_off)) + return INS_FRAME_OVERLAP | CASE('E'); + else + return INS_FRAME_DUP | CASE('F'); + } + else if (!DF_FIN(new_frame) + || ((ncdi->ncdi_flags & NCDI_FIN_REACHED) + && read_offset == ncdi->ncdi_fin_off)) + return INS_FRAME_DUP | CASE('G'); + } + else if (read_offset > DF_OFF(new_frame)) + return INS_FRAME_OVERLAP | CASE('N'); + goto list_was_empty; + case 3: /* Both left and right neighbors */ + case 2: /* Only left neighbor (prev_frame) */ + if (DF_OFF(prev_frame) == DF_OFF(new_frame) + && DF_SIZE(prev_frame) == DF_SIZE(new_frame)) + { + if (!DF_FIN(prev_frame) && DF_FIN(new_frame)) + return INS_FRAME_OVERLAP | CASE('H'); + else + return INS_FRAME_DUP | CASE('I'); + } + if (DF_END(prev_frame) > DF_OFF(new_frame)) + return INS_FRAME_OVERLAP | CASE('J'); + if (select == 2) + goto have_prev; + /* Fall-through */ + case 1: /* Only right neighbor (next_frame) */ + if (DF_END(new_frame) > DF_OFF(next_frame)) + return INS_FRAME_OVERLAP | CASE('K'); + else if (read_offset > DF_OFF(new_frame)) + return INS_FRAME_OVERLAP | CASE('O'); + break; + } + + if (prev_frame) + { + have_prev: + TAILQ_INSERT_AFTER(&ncdi->ncdi_frames_in, prev_frame, new_frame, next_frame); + ncdi->ncdi_n_holes += DF_END(prev_frame) != DF_OFF(new_frame); + if (next_frame) + { + ncdi->ncdi_n_holes += DF_END(new_frame) != DF_OFF(next_frame); + --ncdi->ncdi_n_holes; + } + } + else + { + ncdi->ncdi_n_holes += next_frame + && DF_END(new_frame) != DF_OFF(next_frame); + list_was_empty: + TAILQ_INSERT_HEAD(&ncdi->ncdi_frames_in, new_frame, next_frame); + } + CHECK_ORDER(ncdi); + + if (DF_FIN(new_frame)) + { + ncdi->ncdi_flags |= NCDI_FIN_SET; + ncdi->ncdi_fin_off = DF_END(new_frame); + LSQ_DEBUG("FIN set at %"PRIu64, DF_END(new_frame)); + } + + ++ncdi->ncdi_n_frames; + ncdi->ncdi_byteage += DF_SIZE(new_frame); + *p_n_frames = count; + + return INS_FRAME_OK | CASE('Z'); +} + + +static int +check_efficiency (struct nocopy_data_in *ncdi, unsigned count) +{ + if (ncdi->ncdi_n_frames <= EFF_CHECK_THRESH_LOW) + { + ncdi->ncdi_cons_far = 0; + return 0; + } + if (ncdi->ncdi_n_frames > EFF_CHECK_THRESH_HIGH) + return 1; + if (count >= ncdi->ncdi_n_frames / 2) + { + ++ncdi->ncdi_cons_far; + if (ncdi->ncdi_cons_far > EFF_FAR_TRAVERSE_COUNT) + return 1; + } + else + ncdi->ncdi_cons_far = 0; + if (ncdi->ncdi_n_holes > EFF_MAX_HOLES) + return 1; + if (ncdi->ncdi_byteage / EFF_TINY_FRAME_SZ < ncdi->ncdi_n_frames) + return 1; + return 0; +} + + +static void +set_eff_alert (struct nocopy_data_in *ncdi) +{ + LSQ_DEBUG("low efficiency: n_frames: %u; n_holes: %u; cons_far: %u; " + "byteage: %"PRIu64, ncdi->ncdi_n_frames, ncdi->ncdi_n_holes, + ncdi->ncdi_cons_far, ncdi->ncdi_byteage); + ncdi->ncdi_data_in.di_flags |= DI_SWITCH_IMPL; +} + + +static enum ins_frame +nocopy_di_insert_frame (struct data_in *data_in, + struct stream_frame *new_frame, uint64_t read_offset) +{ + struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + unsigned count; + enum ins_frame ins; + int ins_case; + + assert(0 == (new_frame->data_frame.df_fin & ~1)); + ins_case = insert_frame(ncdi, new_frame, read_offset, &count); + ins = ins_case & 0xFF; + ins_case >>= 8; + LSQ_DEBUG("%s: ins: %d (case '%c')", __func__, ins, (char) ins_case); + switch (ins) + { + case INS_FRAME_OK: + if (check_efficiency(ncdi, count)) + set_eff_alert(ncdi); + break; + case INS_FRAME_DUP: + case INS_FRAME_ERR: + break; + default: + break; + } + + return ins; +} + + +static struct data_frame * +nocopy_di_get_frame (struct data_in *data_in, uint64_t read_offset) +{ + struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + struct stream_frame *frame = TAILQ_FIRST(&ncdi->ncdi_frames_in); + if (frame && frame->data_frame.df_offset + + frame->data_frame.df_read_off == read_offset) + { + LSQ_DEBUG("get_frame: frame (off: %"PRIu64", size: %u, fin: %d), at " + "read offset %"PRIu64, DF_OFF(frame), DF_SIZE(frame), DF_FIN(frame), + read_offset); + return &frame->data_frame; + } + else + { + LSQ_DEBUG("get_frame: no frame at read offset %"PRIu64, read_offset); + return NULL; + } +} + + +static void +nocopy_di_frame_done (struct data_in *data_in, struct data_frame *data_frame) +{ + struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + struct stream_frame *const frame = STREAM_FRAME_PTR(data_frame), *first; + assert(data_frame->df_read_off == data_frame->df_size); + TAILQ_REMOVE(&ncdi->ncdi_frames_in, frame, next_frame); + first = TAILQ_FIRST(&ncdi->ncdi_frames_in); + ncdi->ncdi_n_holes -= first && frame->data_frame.df_offset + + frame->data_frame.df_size != first->data_frame.df_offset; + --ncdi->ncdi_n_frames; + ncdi->ncdi_byteage -= frame->data_frame.df_size; + if (DF_FIN(frame)) + { + ncdi->ncdi_flags |= NCDI_FIN_REACHED; + LSQ_DEBUG("FIN has been reached at offset %"PRIu64, DF_END(frame)); + } + LSQ_DEBUG("frame (off: %"PRIu64", size: %u, fin: %d) done", + DF_OFF(frame), DF_SIZE(frame), DF_FIN(frame)); + lsquic_packet_in_put(ncdi->ncdi_conn_pub->mm, frame->packet_in); + lsquic_malo_put(frame); +} + + +static int +nocopy_di_empty (struct data_in *data_in) +{ + struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + return TAILQ_EMPTY(&ncdi->ncdi_frames_in); +} + + +static struct data_in * +nocopy_di_switch_impl (struct data_in *data_in, uint64_t read_offset) +{ + struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + struct data_in *new_data_in; + stream_frame_t *frame; + enum ins_frame ins; + + new_data_in = lsquic_data_in_hash_new(ncdi->ncdi_conn_pub, + ncdi->ncdi_stream_id, ncdi->ncdi_byteage); + if (!new_data_in) + goto end; + + while ((frame = TAILQ_FIRST(&ncdi->ncdi_frames_in))) + { + TAILQ_REMOVE(&ncdi->ncdi_frames_in, frame, next_frame); + ins = lsquic_data_in_hash_insert_data_frame(new_data_in, + &frame->data_frame, read_offset); + lsquic_packet_in_put(ncdi->ncdi_conn_pub->mm, frame->packet_in); + lsquic_malo_put(frame); + if (INS_FRAME_ERR == ins) + { + new_data_in->di_if->di_destroy(new_data_in); + new_data_in = NULL; + goto end; + } + } + + end: + data_in->di_if->di_destroy(data_in); + return new_data_in; +} + + +/* This function overestimates amount of memory because some packets are + * referenced by more than one stream. In the usual case, however, I + * expect the error not to be large. + */ +static size_t +nocopy_di_mem_used (struct data_in *data_in) +{ + struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + const stream_frame_t *frame; + size_t size; + + size = sizeof(*data_in); + TAILQ_FOREACH(frame, &ncdi->ncdi_frames_in, next_frame) + size += lsquic_packet_in_mem_used(frame->packet_in); + + return size; +} + + +static void +nocopy_di_dump_state (struct data_in *data_in) +{ + struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + const struct stream_frame *frame; + + LSQ_DEBUG("nocopy state: frames: %u; holes: %u; cons_far: %u", + ncdi->ncdi_n_frames, ncdi->ncdi_n_holes, ncdi->ncdi_cons_far); + TAILQ_FOREACH(frame, &ncdi->ncdi_frames_in, next_frame) + LSQ_DEBUG("frame: off: %"PRIu64"; read_off: %"PRIu16"; size: %"PRIu16 + "; fin: %d", DF_OFF(frame), frame->data_frame.df_read_off, + DF_SIZE(frame), DF_FIN(frame)); +} + + +static uint64_t +nocopy_di_readable_bytes (struct data_in *data_in, uint64_t read_offset) +{ + const struct nocopy_data_in *const ncdi = NCDI_PTR(data_in); + const struct stream_frame *frame; + uint64_t starting_offset; + + starting_offset = read_offset; + TAILQ_FOREACH(frame, &ncdi->ncdi_frames_in, next_frame) + if (DF_ROFF(frame) == read_offset) + read_offset += DF_END(frame) - DF_ROFF(frame); + else if (read_offset > starting_offset) + break; + + return read_offset - starting_offset; +} + + +static const struct data_in_iface di_if_nocopy = { + .di_destroy = nocopy_di_destroy, + .di_dump_state = nocopy_di_dump_state, + .di_empty = nocopy_di_empty, + .di_frame_done = nocopy_di_frame_done, + .di_get_frame = nocopy_di_get_frame, + .di_insert_frame = nocopy_di_insert_frame, + .di_mem_used = nocopy_di_mem_used, + .di_own_on_ok = 1, + .di_readable_bytes + = nocopy_di_readable_bytes, + .di_switch_impl = nocopy_di_switch_impl, +}; + +static const struct data_in_iface *di_if_nocopy_ptr = &di_if_nocopy; diff --git a/external/lsquic/src/liblsquic/lsquic_enc_sess.h b/external/lsquic/src/liblsquic/lsquic_enc_sess.h new file mode 100644 index 0000000..6baec61 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_enc_sess.h @@ -0,0 +1,384 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_ENC_SESS_H +#define LSQUIC_ENC_SESS_H 1 + +#include "lsquic_shared_support.h" + +struct lsquic_alarmset; +struct lsquic_engine_public; +struct lsquic_packet_out; +struct lsquic_packet_in; +struct stream_wrapper; +struct ver_neg; +struct lsquic_conn; +struct transport_params; +struct lsquic_cid; +struct ssl_stream_method_st; +struct ssl_st; +struct sockaddr; +struct conn_cid_elem; +struct lsquic_engine_settings; +enum lsquic_version; + +#define DNONC_LENGTH 32 +#define SRST_LENGTH 16 + +/* From [draft-ietf-quic-tls-14]: + * + * Data is protected using a number of encryption levels: + * + * o Plaintext + * + * o Early Data (0-RTT) Keys + * + * o Handshake Keys + * + * o Application Data (1-RTT) Keys + */ + +/* This enum maps to the list above */ +enum enc_level +{ + ENC_LEV_INIT, + ENC_LEV_0RTT, + ENC_LEV_HSK, + ENC_LEV_APP, + N_ENC_LEVS +}; + +enum handshake_error /* TODO: rename this enum */ +{ + DATA_NOT_ENOUGH = -2, + DATA_FORMAT_ERROR = -1, + HS_ERROR = -1, + DATA_NO_ERROR = 0, + HS_SHLO = 0, + HS_1RTT = 1, + HS_SREJ = 2, +}; + +#ifndef LSQUIC_KEEP_ENC_SESS_HISTORY +# ifndef NDEBUG +# define LSQUIC_KEEP_ENC_SESS_HISTORY 1 +# else +# define LSQUIC_KEEP_ENC_SESS_HISTORY 0 +# endif +#endif + +#if LSQUIC_KEEP_ENC_SESS_HISTORY +#define ESHIST_BITS 7 +#define ESHIST_MASK ((1 << ESHIST_BITS) - 1) +#define ESHIST_STR_SIZE ((1 << ESHIST_BITS) + 1) +#endif + +enum enc_packout { ENCPA_OK, ENCPA_NOMEM, ENCPA_BADCRYPT, }; + +enum dec_packin { + DECPI_OK, + DECPI_NOMEM, + DECPI_TOO_SHORT, + DECPI_NOT_YET, + DECPI_BADCRYPT, + DECPI_VIOLATION, +}; + +typedef void enc_session_t; + +struct enc_session_funcs_common +{ + /* Global initialization: call once per implementation */ + int (*esf_global_init)(int flags); + + /* Global cleanup: call once per implementation */ + void (*esf_global_cleanup) (void); + + const char * + (*esf_cipher) (enc_session_t *); + + int + (*esf_keysize) (enc_session_t *); + + int + (*esf_alg_keysize) (enc_session_t *); + + const char * + (*esf_get_sni) (enc_session_t *); + + /* Need to pass lconn in encrypt and decrypt methods because enc_session + * is allowed to be NULL for gQUIC. + */ + enum enc_packout + (*esf_encrypt_packet) (enc_session_t *, const struct lsquic_engine_public *, + struct lsquic_conn *, struct lsquic_packet_out *); + + enum dec_packin + (*esf_decrypt_packet)(enc_session_t *, struct lsquic_engine_public *, + const struct lsquic_conn *, struct lsquic_packet_in *); + + struct stack_st_X509 * + (*esf_get_server_cert_chain) (enc_session_t *); + + int + (*esf_verify_reset_token) (enc_session_t *, const unsigned char *, size_t); + + int + (*esf_did_sess_resume_succeed) (enc_session_t *); + + int + (*esf_is_sess_resume_enabled) (enc_session_t *); + + void + (*esf_set_conn) (enc_session_t *, struct lsquic_conn *); + + /* Optional. This function gets called after packets are encrypted, + * batched, and are about to be sent. + */ + void + (*esf_flush_encryption) (enc_session_t *); + + unsigned + esf_tag_len; +}; + +struct enc_session_funcs_gquic +{ +#if LSQUIC_KEEP_ENC_SESS_HISTORY + /* Grab encryption session history */ + void (*esf_get_hist) (enc_session_t *, + char buf[ESHIST_STR_SIZE]); +#endif + + /* Destroy enc session */ + void (*esf_destroy)(enc_session_t *enc_session); + + /* Return true if handshake has been completed */ + int (*esf_is_hsk_done)(enc_session_t *enc_session); + + /* Get value of setting specified by `tag' */ + int (*esf_get_peer_setting) (enc_session_t *, uint32_t tag, + uint32_t *val); + + /* Get value of peer option (that from COPT array) */ + int (*esf_get_peer_option) (enc_session_t *enc_session, + uint32_t tag); + + /* Create server session */ + enc_session_t * + (*esf_create_server) (struct lsquic_conn *, + lsquic_cid_t cid, struct lsquic_engine_public *); + + /* out_len should have init value as the max length of out */ + enum handshake_error + (*esf_handle_chlo) (enc_session_t *enc_session, enum lsquic_version, + const uint8_t *in, int in_len, time_t t, + const struct sockaddr *ip_addr, const struct sockaddr *local, + uint8_t *out, size_t *out_len, + uint8_t nonce[DNONC_LENGTH], int *nonce_set); + + void (*esf_hsk_destroy)(void *hsk_ctx); + +#ifndef NDEBUG + /* Need to expose this function for testing */ + int (*esf_determine_diversification_key) (enc_session_t *, + uint8_t *diversification_nonce); +#endif + + const char * + (*esf_get_ua) (enc_session_t *); + + int + (*esf_have_key_gt_one) (enc_session_t *enc_session); + +#ifndef NDEBUG + /* Functions that are only relevant in maintest. We may want to get rid + * of them somehow and only use the public API to test. + */ + + uint8_t + (*esf_have_key) (enc_session_t *); + + void + (*esf_set_have_key) (enc_session_t *, uint8_t); + + const unsigned char * + (*esf_get_enc_key_i) (enc_session_t *); + + const unsigned char * + (*esf_get_dec_key_i) (enc_session_t *); + + const unsigned char * + (*esf_get_enc_key_nonce_i) (enc_session_t *); + + const unsigned char * + (*esf_get_dec_key_nonce_i) (enc_session_t *); + + const unsigned char * + (*esf_get_enc_key_nonce_f) (enc_session_t *); + + const unsigned char * + (*esf_get_dec_key_nonce_f) (enc_session_t *); +#endif /* !defined(NDEBUG) */ + + /* Create client session */ + enc_session_t * + (*esf_create_client) (struct lsquic_conn *, const char *domain, + lsquic_cid_t cid, + struct lsquic_engine_public *, + const unsigned char *, size_t); + + /* -1 error, 0, OK, response in `buf' */ + int + (*esf_gen_chlo) (enc_session_t *, enum lsquic_version, + uint8_t *buf, size_t *len); + + int + (*esf_handle_chlo_reply) (enc_session_t *, + const uint8_t *data, int len); + + size_t + (*esf_mem_used)(enc_session_t *); + + /* Session resumption serialization needs the knowledge of the QUIC + * version, that's why there is a separate method for thus. Plus, we + * want to be able to call it after the "handshake is done" callback + * is called. + */ + void (*esf_maybe_dispatch_sess_resume) (enc_session_t *, + void (*cb)(struct lsquic_conn *, const unsigned char *, size_t)); + + void (*esf_reset_cid) (enc_session_t *, const lsquic_cid_t *); +}; + +struct crypto_stream_if +{ + ssize_t (*csi_write) (void *stream, const void *buf, size_t len); + int (*csi_flush) (void *stream); + ssize_t (*csi_readf) (void *stream, + size_t (*readf)(void *, const unsigned char *, size_t, int), void *ctx); + int (*csi_wantwrite) (void *stream, int is_want); + int (*csi_wantread) (void *stream, int is_want); + enum enc_level + (*csi_enc_level) (void *stream); +}; + +struct enc_session_funcs_iquic +{ + enc_session_t * + (*esfi_create_client) (const char *domain, struct lsquic_engine_public *, + struct lsquic_conn *, const struct lsquic_cid *, + const struct ver_neg *, void *(crypto_streams)[4], + const struct crypto_stream_if *, + const unsigned char *, size_t, + struct lsquic_alarmset *, unsigned, void*); + + void + (*esfi_destroy) (enc_session_t *); + + struct ssl_st * + (*esfi_get_ssl) (enc_session_t *); + + struct transport_params * + (*esfi_get_peer_transport_params) (enc_session_t *); + + int + (*esfi_reset_dcid) (enc_session_t *, const struct lsquic_cid *, + const struct lsquic_cid *); + + void + (*esfi_set_iscid) (enc_session_t *, const struct lsquic_packet_in *); + + int + (*esfi_init_server) (enc_session_t *); + + void + (*esfi_set_streams) (enc_session_t *, void *(crypto_streams)[4], + const struct crypto_stream_if *); + + enc_session_t * + (*esfi_create_server) (struct lsquic_engine_public *, struct lsquic_conn *, + const struct lsquic_cid *, + void *(crypto_streams)[4], + const struct crypto_stream_if *, + const struct lsquic_cid *odcid, + const struct lsquic_cid *iscid, + const struct lsquic_cid *rscid + ); + + void + (*esfi_shake_stream)(enc_session_t *, struct lsquic_stream *, + const char *); + + void + (*esfi_handshake_confirmed)(enc_session_t *); + + int + (*esfi_in_init)(enc_session_t *); + + int + (*esfi_data_in)(enc_session_t *, enum enc_level, + const unsigned char *, size_t); +}; + +LSQUIC_EXTERN +#ifdef NDEBUG +const +#endif +struct enc_session_funcs_common lsquic_enc_session_common_gquic_1; + +LSQUIC_EXTERN +#ifdef NDEBUG +const +#endif +struct enc_session_funcs_common lsquic_enc_session_common_gquic_2; + +LSQUIC_EXTERN const struct enc_session_funcs_common lsquic_enc_session_common_ietf_v1; + +LSQUIC_EXTERN +#ifdef NDEBUG +const +#endif +struct enc_session_funcs_gquic lsquic_enc_session_gquic_gquic_1; + +LSQUIC_EXTERN const struct enc_session_funcs_iquic lsquic_enc_session_iquic_ietf_v1; + +#define select_esf_common_by_ver(ver) ( \ + ver > LSQVER_050 ? &lsquic_enc_session_common_ietf_v1 : \ + ver == LSQVER_050 ? &lsquic_enc_session_common_gquic_2 : \ + &lsquic_enc_session_common_gquic_1 ) + +extern const char *const lsquic_enclev2str[]; + +LSQUIC_EXTERN const struct lsquic_stream_if lsquic_cry_sm_if; + +LSQUIC_EXTERN const struct lsquic_stream_if lsquic_mini_cry_sm_if; + +/* RFC 7301, Section 3.2 */ +#define ALERT_NO_APPLICATION_PROTOCOL 120 + +enum lsquic_version +lsquic_sess_resume_version (const unsigned char *, size_t); + +/* This is seems to be true for all of the ciphers used by IETF QUIC. + * XXX: Perhaps add a check? + */ +#define IQUIC_TAG_LEN 16 + +/* Return number of bytes written to `buf' or -1 on error */ +int +lsquic_enc_sess_ietf_gen_quic_ctx ( + const struct lsquic_engine_settings *settings, + enum lsquic_version version, unsigned char *buf, size_t bufsz); + +struct enc_sess_iquic; +int +iquic_esfi_init_server_tp (struct enc_sess_iquic *const enc_sess); + +int +iquic_esfi_switch_version (enc_session_t *enc_session_p, lsquic_cid_t *dcid, + int backup_keys); + +int +iquic_esf_is_enc_level_ready (enc_session_t *enc_session_p, + enum enc_level level); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_enc_sess_common.c b/external/lsquic/src/liblsquic/lsquic_enc_sess_common.c new file mode 100644 index 0000000..0afc882 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_enc_sess_common.c @@ -0,0 +1,34 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_enc_sess.h" +#include "lsquic_version.h" + + +const char *const lsquic_enclev2str[] = +{ + [ENC_LEV_0RTT] = "0RTT", + [ENC_LEV_INIT] = "INIT", + [ENC_LEV_HSK] = "HSK", + [ENC_LEV_APP] = "APP", +}; + + +enum lsquic_version +lsquic_sess_resume_version (const unsigned char *buf, size_t bufsz) +{ + lsquic_ver_tag_t tag; + + if (bufsz >= sizeof(tag)) + { + memcpy(&tag, buf, sizeof(tag)); + return lsquic_tag2ver(tag); + } + else + return N_LSQVER; +} diff --git a/external/lsquic/src/liblsquic/lsquic_enc_sess_ietf.c b/external/lsquic/src/liblsquic/lsquic_enc_sess_ietf.c new file mode 100644 index 0000000..7f9fbc5 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_enc_sess_ietf.c @@ -0,0 +1,3618 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_enc_sess_ietf.c -- Crypto session for IETF QUIC + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "fiu-local.h" + +#include "lsquic_types.h" +#include "lsquic_hkdf.h" +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_sizes.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_enc_sess.h" +#include "lsquic_parse.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_out.h" +#include "lsquic_packet_ietf.h" +#include "lsquic_packet_in.h" +#include "lsquic_util.h" +#include "lsquic_byteswap.h" +#include "lsquic_ev_log.h" +#include "lsquic_trans_params.h" +#include "lsquic_version.h" +#include "lsquic_ver_neg.h" +#include "lsquic_frab_list.h" +#include "lsquic_tokgen.h" +#include "lsquic_ietf.h" +#include "lsquic_alarmset.h" + +#if __GNUC__ +# define UNLIKELY(cond) __builtin_expect(cond, 0) +#else +# define UNLIKELY(cond) cond +#endif + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +#define LSQUIC_LOGGER_MODULE LSQLM_HANDSHAKE +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(enc_sess->esi_conn) +#include "lsquic_logger.h" + +#define N_HSK_PAIRS (N_ENC_LEVS - 1) + +static const struct alpn_map { + enum lsquic_version version; + const unsigned char *alpn; +} s_h3_alpns[] = { + { LSQVER_ID27, (unsigned char *) "\x05h3-27", }, + { LSQVER_ID29, (unsigned char *) "\x05h3-29", }, + { LSQVER_I001, (unsigned char *) "\x02h3", }, + { LSQVER_I002, (unsigned char *) "\x02h3", }, + { LSQVER_RESVED, (unsigned char *) "\x02h3", }, +}; + +struct enc_sess_iquic; +struct crypto_ctx; +struct crypto_ctx_pair; +struct header_prot; + +static const int s_log_seal_and_open; +static char s_str[0x1000]; + +static const SSL_QUIC_METHOD cry_quic_method; + +static int s_idx = -1; + +static int +setup_handshake_keys (struct enc_sess_iquic *, const lsquic_cid_t *); + +static void +free_handshake_keys (struct enc_sess_iquic *); + +static struct stack_st_X509 * +iquic_esf_get_server_cert_chain (enc_session_t *); + +static void +maybe_drop_SSL (struct enc_sess_iquic *); + +static void +no_sess_ticket (enum alarm_id alarm_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now); + +static int +iquic_new_session_cb (SSL *, SSL_SESSION *); + +static enum ssl_verify_result_t +verify_server_cert_callback (SSL *, uint8_t *out_alert); + +static void +iquic_esfi_destroy (enc_session_t *); + +#define SAMPLE_SZ 16 + +typedef void (*gen_hp_mask_f)(struct enc_sess_iquic *, + struct header_prot *, unsigned rw, + const unsigned char *sample, unsigned char *mask, size_t sz); + +#define CHACHA20_KEY_LENGTH 32 + +struct header_prot +{ + gen_hp_mask_f hp_gen_mask; + enum enc_level hp_enc_level; + enum { + HP_CAN_READ = 1 << 0, + HP_CAN_WRITE = 1 << 1, + } hp_flags; + union { + EVP_CIPHER_CTX cipher_ctx[2]; /* AES */ + unsigned char buf[2][CHACHA20_KEY_LENGTH]; /* ChaCha */ + } hp_u; +}; + +static inline unsigned +header_prot_inited(const struct header_prot *hp, int rw_flag) +{ return hp->hp_flags & rw_flag; } + + +struct crypto_ctx +{ + enum { + YK_INITED = 1 << 0, + } yk_flags; + EVP_AEAD_CTX yk_aead_ctx; + unsigned yk_key_sz; + unsigned yk_iv_sz; + unsigned char yk_key_buf[EVP_MAX_KEY_LENGTH]; + unsigned char yk_iv_buf[EVP_MAX_IV_LENGTH]; +}; + + +struct crypto_ctx_pair +{ + lsquic_packno_t ykp_thresh; + struct crypto_ctx ykp_ctx[2]; /* client, server */ +}; + + +struct hsk_crypto +{ + struct crypto_ctx_pair pair; + struct header_prot hp; +}; + + +struct label_set +{ + const char *key; + const char *iv; + const char *hp; + int key_len; + int iv_len; + int hp_len; +}; + +static struct label_set hkdf_labels[2] = +{ + { "quic key", "quic iv", "quic hp", 8, 7, 7 }, + { "quicv2 key", "quicv2 iv", "quicv2 hp", 10, 9, 9 } +}; + + +/* [draft-ietf-quic-tls-12] Section 5.3.6 */ +static int +init_crypto_ctx (struct crypto_ctx *crypto_ctx, const EVP_MD *md, + const EVP_AEAD *aead, const unsigned char *secret, + size_t secret_sz, enum evp_aead_direction_t dir, + struct label_set *key_iv) +{ + crypto_ctx->yk_key_sz = EVP_AEAD_key_length(aead); + crypto_ctx->yk_iv_sz = EVP_AEAD_nonce_length(aead); + + if (crypto_ctx->yk_key_sz > sizeof(crypto_ctx->yk_key_buf) + || crypto_ctx->yk_iv_sz > sizeof(crypto_ctx->yk_iv_buf)) + { + return -1; + } + + lsquic_qhkdf_expand(md, secret, secret_sz, key_iv->key, key_iv->key_len, + crypto_ctx->yk_key_buf, crypto_ctx->yk_key_sz); + lsquic_qhkdf_expand(md, secret, secret_sz, key_iv->iv, key_iv->iv_len, + crypto_ctx->yk_iv_buf, crypto_ctx->yk_iv_sz); + if (!EVP_AEAD_CTX_init_with_direction(&crypto_ctx->yk_aead_ctx, aead, + crypto_ctx->yk_key_buf, crypto_ctx->yk_key_sz, IQUIC_TAG_LEN, dir)) + return -1; + + crypto_ctx->yk_flags |= YK_INITED; + + return 0; +} + + +static void +cleanup_crypto_ctx (struct crypto_ctx *crypto_ctx) +{ + if (crypto_ctx->yk_flags & YK_INITED) + { + EVP_AEAD_CTX_cleanup(&crypto_ctx->yk_aead_ctx); + crypto_ctx->yk_flags &= ~YK_INITED; + } +} + + +#define HP_BATCH_SIZE 8 + +struct enc_sess_iquic +{ + struct lsquic_engine_public + *esi_enpub; + struct lsquic_conn *esi_conn; + void **esi_streams; + const struct crypto_stream_if *esi_cryst_if; + const struct ver_neg + *esi_ver_neg; + SSL *esi_ssl; + + /* These are used for forward encryption key phase 0 and 1 */ + struct header_prot esi_hp; + struct crypto_ctx_pair + esi_pairs[2]; + /* These are used during handshake. There are three of them. */ + struct hsk_crypto *esi_hsk_crypto; + struct hsk_crypto *esi_vn_save; + lsquic_packno_t esi_max_packno[N_PNS]; + lsquic_cid_t esi_odcid; + lsquic_cid_t esi_rscid; /* Retry SCID */ + lsquic_cid_t esi_iscid; /* Initial SCID */ + unsigned esi_key_phase; + enum { + ESI_UNUSED0 = 1 << 0, + ESI_LOG_SECRETS = 1 << 1, + ESI_HANDSHAKE_OK = 1 << 2, + ESI_ODCID = 1 << 3, + ESI_ON_WRITE = 1 << 4, + ESI_SERVER = 1 << 5, + ESI_USE_SSL_TICKET = 1 << 6, + ESI_HAVE_PEER_TP = 1 << 7, + ESI_ALPN_CHECKED = 1 << 8, + ESI_CACHED_INFO = 1 << 9, + ESI_HSK_CONFIRMED= 1 << 10, + ESI_WANT_TICKET = 1 << 11, + ESI_RECV_QL_BITS = 1 << 12, + ESI_SEND_QL_BITS = 1 << 13, + ESI_RSCID = 1 << 14, + ESI_ISCID = 1 << 15, + ESI_RETRY = 1 << 16, /* Connection was retried */ + ESI_MAX_PACKNO_INIT = 1 << 17, + ESI_MAX_PACKNO_HSK = ESI_MAX_PACKNO_INIT << PNS_HSK, + ESI_MAX_PACKNO_APP = ESI_MAX_PACKNO_INIT << PNS_APP, + ESI_HAVE_0RTT_TP = 1 << 20, + ESI_SWITCH_VER = 1 << 21, + } esi_flags; + enum enc_level esi_last_w; + unsigned esi_trasec_sz; +#ifndef NDEBUG + char *esi_sni_bypass; +#endif + const unsigned char *esi_alpn; + /* Need MD and AEAD for key rotation */ + const EVP_MD *esi_md; + const EVP_AEAD *esi_aead; + struct { + const char *cipher_name; + int alg_bits; + } esi_cached_info; + /* Secrets are kept for key rotation */ + unsigned char esi_traffic_secrets[2][EVP_MAX_KEY_LENGTH]; + /* We never use the first two levels, so it seems we could reduce the + * memory requirement here at the cost of adding some code. + */ + struct frab_list esi_frals[N_ENC_LEVS]; + struct transport_params + esi_peer_tp; + struct lsquic_alarmset + *esi_alset; + unsigned esi_max_streams_uni; + unsigned esi_hp_batch_idx; + unsigned esi_hp_batch_packno_len[HP_BATCH_SIZE]; + unsigned esi_hp_batch_packno_off[HP_BATCH_SIZE]; + struct lsquic_packet_out * + esi_hp_batch_packets[HP_BATCH_SIZE]; + unsigned char esi_hp_batch_samples[HP_BATCH_SIZE][SAMPLE_SZ]; + unsigned char esi_grease; + signed char esi_have_forw; +}; + + +static void +gen_hp_mask_aes (struct enc_sess_iquic *enc_sess, + struct header_prot *hp, unsigned rw, + const unsigned char *sample, unsigned char *mask, size_t sz) +{ + int out_len; + + if (EVP_EncryptUpdate(&hp->hp_u.cipher_ctx[rw], mask, &out_len, sample, sz)) + assert(out_len >= (int) sz); + else + { + LSQ_WARN("cannot generate hp mask, error code: %"PRIu32, + ERR_get_error()); + enc_sess->esi_conn->cn_if->ci_internal_error(enc_sess->esi_conn, + "cannot generate hp mask, error code: %"PRIu32, ERR_get_error()); + } +} + + +static void +gen_hp_mask_chacha20 (struct enc_sess_iquic *enc_sess, + struct header_prot *hp, unsigned rw, + const unsigned char *sample, unsigned char *mask, size_t sz) +{ + const uint8_t *nonce; + uint32_t counter; + +#if __BYTE_ORDER == __LITTLE_ENDIAN + memcpy(&counter, sample, sizeof(counter)); +#else +#error TODO: support non-little-endian machines +#endif + nonce = sample + sizeof(counter); + CRYPTO_chacha_20(mask, (unsigned char [5]) { 0, 0, 0, 0, 0, }, 5, + hp->hp_u.buf[rw], nonce, counter); +} + + +static void +apply_hp (struct enc_sess_iquic *enc_sess, struct header_prot *hp, + unsigned char *dst, const unsigned char *mask, + unsigned packno_off, unsigned packno_len) +{ + char mask_str[5 * 2 + 1]; + + LSQ_DEBUG("apply header protection using mask %s", + HEXSTR(mask, 5, mask_str)); + if (enc_sess->esi_flags & ESI_SEND_QL_BITS) + dst[0] ^= (0x7 | ((dst[0] >> 7) << 3)) & mask[0]; + else + dst[0] ^= (0xF | (((dst[0] & 0x80) == 0) << 4)) & mask[0]; + switch (packno_len) + { + case 4: + dst[packno_off + 3] ^= mask[4]; + /* fall-through */ + case 3: + dst[packno_off + 2] ^= mask[3]; + /* fall-through */ + case 2: + dst[packno_off + 1] ^= mask[2]; + /* fall-through */ + default: + dst[packno_off + 0] ^= mask[1]; + } +} + + +static void +apply_hp_immediately (struct enc_sess_iquic *enc_sess, + struct header_prot *hp, struct lsquic_packet_out *packet_out, + unsigned packno_off, unsigned packno_len) +{ + unsigned char mask[SAMPLE_SZ]; + + hp->hp_gen_mask(enc_sess, hp, 1, + packet_out->po_enc_data + packno_off + 4, mask, SAMPLE_SZ); + apply_hp(enc_sess, hp, packet_out->po_enc_data, mask, packno_off, + packno_len); +#ifndef NDEBUG + packet_out->po_lflags |= POL_HEADER_PROT; +#endif +} + + +static void +flush_hp_batch (struct enc_sess_iquic *enc_sess) +{ + unsigned i; + unsigned char mask[HP_BATCH_SIZE][SAMPLE_SZ]; + + enc_sess->esi_hp.hp_gen_mask(enc_sess, &enc_sess->esi_hp, 1, + (unsigned char *) enc_sess->esi_hp_batch_samples, + (unsigned char *) mask, + enc_sess->esi_hp_batch_idx * SAMPLE_SZ); + for (i = 0; i < enc_sess->esi_hp_batch_idx; ++i) + { + apply_hp(enc_sess, &enc_sess->esi_hp, + enc_sess->esi_hp_batch_packets[i]->po_enc_data, + mask[i], + enc_sess->esi_hp_batch_packno_off[i], + enc_sess->esi_hp_batch_packno_len[i]); +#ifndef NDEBUG + enc_sess->esi_hp_batch_packets[i]->po_lflags |= POL_HEADER_PROT; +#endif + } + enc_sess->esi_hp_batch_idx = 0; +} + + +static void +apply_hp_batch (struct enc_sess_iquic *enc_sess, + struct header_prot *hp, struct lsquic_packet_out *packet_out, + unsigned packno_off, unsigned packno_len) +{ + memcpy(enc_sess->esi_hp_batch_samples[enc_sess->esi_hp_batch_idx], + packet_out->po_enc_data + packno_off + 4, SAMPLE_SZ); + enc_sess->esi_hp_batch_packno_off[enc_sess->esi_hp_batch_idx] = packno_off; + enc_sess->esi_hp_batch_packno_len[enc_sess->esi_hp_batch_idx] = packno_len; + enc_sess->esi_hp_batch_packets[enc_sess->esi_hp_batch_idx] = packet_out; + ++enc_sess->esi_hp_batch_idx; + if (enc_sess->esi_hp_batch_idx == HP_BATCH_SIZE) + flush_hp_batch(enc_sess); +} + + +static lsquic_packno_t +decode_packno (lsquic_packno_t max_packno, lsquic_packno_t packno, + unsigned shift) +{ + lsquic_packno_t candidates[3], epoch_delta; + int64_t diffs[3]; + unsigned min;; + + epoch_delta = 1ULL << shift; + candidates[1] = (max_packno & ~(epoch_delta - 1)) + packno; + candidates[0] = candidates[1] - epoch_delta; + candidates[2] = candidates[1] + epoch_delta; + + diffs[0] = llabs((int64_t) candidates[0] - (int64_t) max_packno); + diffs[1] = llabs((int64_t) candidates[1] - (int64_t) max_packno); + diffs[2] = llabs((int64_t) candidates[2] - (int64_t) max_packno); + + min = diffs[1] < diffs[0]; + if (diffs[2] < diffs[min]) + min = 2; + + return candidates[min]; +} + + +static lsquic_packno_t +strip_hp (struct enc_sess_iquic *enc_sess, + struct header_prot *hp, + const unsigned char *iv, unsigned char *dst, unsigned packno_off, + unsigned *packno_len) +{ + enum packnum_space pns; + lsquic_packno_t packno; + unsigned shift; + unsigned char mask[SAMPLE_SZ]; + char mask_str[5 * 2 + 1]; + + hp->hp_gen_mask(enc_sess, hp, 0, iv, mask, SAMPLE_SZ); + LSQ_DEBUG("strip header protection using mask %s", + HEXSTR(mask, 5, mask_str)); + if (enc_sess->esi_flags & ESI_RECV_QL_BITS) + dst[0] ^= (0x7 | ((dst[0] >> 7) << 3)) & mask[0]; + else + dst[0] ^= (0xF | (((dst[0] & 0x80) == 0) << 4)) & mask[0]; + packno = 0; + shift = 0; + *packno_len = 1 + (dst[0] & 3); + switch (*packno_len) + { + case 4: + dst[packno_off + 3] ^= mask[4]; + packno |= dst[packno_off + 3]; + shift += 8; + /* fall-through */ + case 3: + dst[packno_off + 2] ^= mask[3]; + packno |= (unsigned) dst[packno_off + 2] << shift; + shift += 8; + /* fall-through */ + case 2: + dst[packno_off + 1] ^= mask[2]; + packno |= (unsigned) dst[packno_off + 1] << shift; + shift += 8; + /* fall-through */ + default: + dst[packno_off + 0] ^= mask[1]; + packno |= (unsigned) dst[packno_off + 0] << shift; + shift += 8; + } + pns = lsquic_enclev2pns[hp->hp_enc_level]; + if (enc_sess->esi_flags & (ESI_MAX_PACKNO_INIT << pns)) + { + LSQ_DEBUG("pre-decode packno: %"PRIu64, packno); + return decode_packno(enc_sess->esi_max_packno[pns], packno, shift); + } + else + { + LSQ_DEBUG("first packet in %s, packno: %"PRIu64, lsquic_pns2str[pns], + packno); + return packno; + } +} + + +static void +set_tp_version_info (struct transport_params *params, + unsigned versions, enum lsquic_version ver) +{ + assert(params->tp_version_cnt == 0); + params->tp_version_info[params->tp_version_cnt++] = ver; + if (versions & (1 << LSQVER_I002)) + params->tp_version_info[params->tp_version_cnt++] = LSQVER_I002; + if (versions & (1 << LSQVER_I001)) + params->tp_version_info[params->tp_version_cnt++] = LSQVER_I001; + params->tp_set |= 1 << TPI_VERSION_INFORMATION; +} + + +static int +gen_trans_params (struct enc_sess_iquic *enc_sess, unsigned char *buf, + size_t bufsz) +{ + const struct lsquic_engine_settings *const settings = + &enc_sess->esi_enpub->enp_settings; + struct transport_params params; + const enum lsquic_version version = enc_sess->esi_conn->cn_version; + int len; + + memset(¶ms, 0, sizeof(params)); + if (version > LSQVER_ID27) + { + params.tp_initial_source_cid = *CN_SCID(enc_sess->esi_conn); + params.tp_set |= 1 << TPI_INITIAL_SOURCE_CID; + } + if (enc_sess->esi_flags & ESI_SERVER) + { + const struct lsquic_conn *const lconn = enc_sess->esi_conn; + + params.tp_set |= 1 << TPI_STATELESS_RESET_TOKEN; + lsquic_tg_generate_sreset(enc_sess->esi_enpub->enp_tokgen, + CN_SCID(lconn), params.tp_stateless_reset_token); + + if (enc_sess->esi_flags & ESI_ODCID) + { + params.tp_original_dest_cid = enc_sess->esi_odcid; + params.tp_set |= 1 << TPI_ORIGINAL_DEST_CID; + } + if (enc_sess->esi_flags & ESI_RSCID) + { + params.tp_retry_source_cid = enc_sess->esi_rscid; + params.tp_set |= 1 << TPI_RETRY_SOURCE_CID; + } + if (memcmp(settings->es_preferred_address, + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 24) != 0) + { + memcpy(¶ms.tp_preferred_address.ipv4_addr, + settings->es_preferred_address, 24); + + struct lsquic_conn *conn; + struct conn_cid_elem *cce; + unsigned seqno; + conn = enc_sess->esi_conn; + if ((1 << conn->cn_n_cces) - 1 != conn->cn_cces_mask) + { + seqno = 0; + for (cce = lconn->cn_cces; cce < END_OF_CCES(lconn); ++cce) + { + if (lconn->cn_cces_mask & (1 << (cce - lconn->cn_cces))) + { + if ((cce->cce_flags & CCE_SEQNO) && cce->cce_seqno > seqno) + seqno = cce->cce_seqno; + } + else + break; + } + if (cce != END_OF_CCES(lconn)) + { + cce->cce_seqno = seqno + 1; + cce->cce_flags = CCE_SEQNO; + + cce->cce_cid.len = enc_sess->esi_enpub->enp_settings.es_scid_len; + enc_sess->esi_enpub->enp_generate_scid( + enc_sess->esi_enpub->enp_gen_scid_ctx, enc_sess->esi_conn, + cce->cce_cid.buf, cce->cce_cid.len); + + /* Don't add to hash: migration must not start until *after* + * handshake is complete. + */ + conn->cn_cces_mask |= 1 << (cce - conn->cn_cces); + params.tp_preferred_address.cid = cce->cce_cid; + lsquic_tg_generate_sreset(enc_sess->esi_enpub->enp_tokgen, + ¶ms.tp_preferred_address.cid, + params.tp_preferred_address.srst); + params.tp_set |= 1 << TPI_PREFERRED_ADDRESS; + } + } + } + } +#if LSQUIC_TEST_QUANTUM_READINESS + { + const char *s = getenv("LSQUIC_TEST_QUANTUM_READINESS"); + if (s && atoi(s)) + params.tp_set |= 1 << TPI_QUANTUM_READINESS; + } +#endif + params.tp_init_max_data = settings->es_init_max_data; + params.tp_init_max_stream_data_bidi_local + = settings->es_init_max_stream_data_bidi_local; + params.tp_init_max_stream_data_bidi_remote + = settings->es_init_max_stream_data_bidi_remote; + params.tp_init_max_stream_data_uni + = settings->es_init_max_stream_data_uni; + params.tp_init_max_streams_uni + = enc_sess->esi_max_streams_uni; + params.tp_init_max_streams_bidi + = settings->es_init_max_streams_bidi; + params.tp_ack_delay_exponent + = TP_DEF_ACK_DELAY_EXP; + params.tp_max_idle_timeout = settings->es_idle_timeout * 1000; + params.tp_max_ack_delay = TP_DEF_MAX_ACK_DELAY; + params.tp_active_connection_id_limit = MAX_IETF_CONN_DCIDS; + params.tp_set |= (1 << TPI_INIT_MAX_DATA) + | (1 << TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL) + | (1 << TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE) + | (1 << TPI_INIT_MAX_STREAM_DATA_UNI) + | (1 << TPI_INIT_MAX_STREAMS_UNI) + | (1 << TPI_INIT_MAX_STREAMS_BIDI) + | (1 << TPI_ACK_DELAY_EXPONENT) + | (1 << TPI_MAX_IDLE_TIMEOUT) + | (1 << TPI_MAX_ACK_DELAY) + | (1 << TPI_ACTIVE_CONNECTION_ID_LIMIT) + ; + if (settings->es_max_udp_payload_size_rx) + { + params.tp_max_udp_payload_size = settings->es_max_udp_payload_size_rx; + params.tp_set |= 1 << TPI_MAX_UDP_PAYLOAD_SIZE; + } + if (!settings->es_allow_migration) + params.tp_set |= 1 << TPI_DISABLE_ACTIVE_MIGRATION; + if (settings->es_ql_bits) + { + params.tp_loss_bits = settings->es_ql_bits - 1; + params.tp_set |= 1 << TPI_LOSS_BITS; + } + if (settings->es_delayed_acks) + { + params.tp_numerics[TPI_MIN_ACK_DELAY] = TP_MIN_ACK_DELAY; + params.tp_set |= 1 << TPI_MIN_ACK_DELAY; + params.tp_numerics[TPI_MIN_ACK_DELAY_02] = TP_MIN_ACK_DELAY; + params.tp_set |= 1 << TPI_MIN_ACK_DELAY_02; + } + if (settings->es_timestamps) + { + params.tp_numerics[TPI_TIMESTAMPS] = TS_GENERATE_THEM; + params.tp_set |= 1 << TPI_TIMESTAMPS; + } + if (settings->es_datagrams) + { + if (params.tp_set & (1 << TPI_MAX_UDP_PAYLOAD_SIZE)) + params.tp_numerics[TPI_MAX_DATAGRAM_FRAME_SIZE] + = params.tp_max_udp_payload_size; + else + params.tp_numerics[TPI_MAX_DATAGRAM_FRAME_SIZE] + = TP_DEF_MAX_UDP_PAYLOAD_SIZE; + params.tp_set |= 1 << TPI_MAX_DATAGRAM_FRAME_SIZE; + } + + if (enc_sess->esi_ver_neg && enc_sess->esi_ver_neg->vn_supp + != (1u << enc_sess->esi_ver_neg->vn_ver)) + set_tp_version_info(¶ms, enc_sess->esi_ver_neg->vn_supp, + enc_sess->esi_ver_neg->vn_ver); + else if (enc_sess->esi_conn->cn_flags & LSCONN_VER_UPDATED) + set_tp_version_info(¶ms, settings->es_versions, + enc_sess->esi_conn->cn_version); + + len = (version == LSQVER_ID27 ? lsquic_tp_encode_27 : lsquic_tp_encode)( + ¶ms, enc_sess->esi_flags & ESI_SERVER, buf, bufsz); + if (len >= 0) + { + char str[MAX_TP_STR_SZ]; + LSQ_DEBUG("generated transport parameters buffer of %d bytes", len); + LSQ_DEBUG("%s", ((version == LSQVER_ID27 ? lsquic_tp_to_str_27 + : lsquic_tp_to_str)(¶ms, str, sizeof(str)), str)); + } + else + LSQ_WARN("cannot generate transport parameters: %d", errno); + return len; +} + + +/* + * Format: + * uint32_t lsquic_ver_tag_t + * uint32_t encoder version + * uint32_t ticket_size + * uint8_t ticket_buf[ ticket_size ] + * uint32_t trapa_size + * uint8_t trapa_buf[ trapa_size ] + */ + +#define SESS_RESUME_VERSION 1 + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define READ_NUM(var_, ptr_) do { \ + memcpy(&var_, ptr_, sizeof(var_)); \ + var_ = bswap_32(var_); \ + ptr_ += sizeof(var_); \ +} while (0) +#else +#define READ_NUM(var_, ptr_) do { \ + memcpy(&var_, ptr_, sizeof(var_)); \ + ptr_ += sizeof(var_); \ +} while (0) +#endif + +static SSL_SESSION * +maybe_create_SSL_SESSION (struct enc_sess_iquic *enc_sess, + const SSL_CTX *ssl_ctx, const unsigned char *sess_resume, + size_t sess_resume_sz) +{ + SSL_SESSION *ssl_session; + lsquic_ver_tag_t ver_tag; + enum lsquic_version quic_ver; + uint32_t rtt_ver, ticket_sz, trapa_sz; + const unsigned char *ticket_buf, *trapa_buf, *p; + const unsigned char *const end = sess_resume + sess_resume_sz; + + if (sess_resume_sz < sizeof(ver_tag) + sizeof(rtt_ver) + sizeof(ticket_sz)) + { + LSQ_DEBUG("rtt buf too short"); + return NULL; + } + + p = sess_resume; + memcpy(&ver_tag, p, sizeof(ver_tag)); + p += sizeof(ver_tag); + quic_ver = lsquic_tag2ver(ver_tag); + if (quic_ver != enc_sess->esi_ver_neg->vn_ver) + { + LSQ_DEBUG("negotiated version %s does not match that in the session " + "resumption nfo buffer", + lsquic_ver2str[enc_sess->esi_ver_neg->vn_ver]); + return NULL; + } + + READ_NUM(rtt_ver, p); + if (rtt_ver != SESS_RESUME_VERSION) + { + LSQ_DEBUG("cannot use session resumption buffer: encoded using " + "%"PRIu32", while current version is %u", + rtt_ver, SESS_RESUME_VERSION); + return NULL; + } + + READ_NUM(ticket_sz, p); + if (p + ticket_sz > end) + { + LSQ_WARN("truncated ticket buffer"); + return NULL; + } + + ticket_buf = p; + p += ticket_sz; + + if (p + sizeof(trapa_sz) > end) + { + LSQ_WARN("too short to read trapa size"); + return NULL; + } + + READ_NUM(trapa_sz, p); + if (p + trapa_sz > end) + { + LSQ_WARN("truncated trapa buffer"); + return NULL; + } + trapa_buf = p; + p += trapa_sz; + assert(p == end); + + ssl_session = SSL_SESSION_from_bytes(ticket_buf, ticket_sz, ssl_ctx); + if (!ssl_session) + { + LSQ_WARN("SSL_SESSION could not be parsed out"); + return NULL; + } + + if (SSL_SESSION_early_data_capable(ssl_session)) + { + if (0 > (quic_ver == LSQVER_ID27 ? lsquic_tp_decode_27 + : lsquic_tp_decode)(trapa_buf, trapa_sz, 1, + &enc_sess->esi_peer_tp)) + { + SSL_SESSION_free(ssl_session); + LSQ_WARN("cannot parse stored transport parameters"); + return NULL; + } + LSQ_DEBUG("early data capable, will try 0-RTT"); + enc_sess->esi_flags |= ESI_HAVE_0RTT_TP; + } + else + LSQ_DEBUG("early data not capable -- not trying 0-RTT"); + + LSQ_INFO("instantiated SSL_SESSION from serialized buffer"); + return ssl_session; +} + + +static void +init_frals (struct enc_sess_iquic *enc_sess) +{ + struct frab_list *fral; + + for (fral = enc_sess->esi_frals; fral < enc_sess->esi_frals + + sizeof(enc_sess->esi_frals) / sizeof(enc_sess->esi_frals[0]); + ++fral) + lsquic_frab_list_init(fral, 0x100, NULL, NULL, NULL); +} + + +static enc_session_t * +iquic_esfi_create_client (const char *hostname, + struct lsquic_engine_public *enpub, struct lsquic_conn *lconn, + const lsquic_cid_t *dcid, const struct ver_neg *ver_neg, + void *crypto_streams[4], const struct crypto_stream_if *cryst_if, + const unsigned char *sess_resume, size_t sess_resume_sz, + struct lsquic_alarmset *alset, unsigned max_streams_uni, + void* peer_ctx) +{ + struct enc_sess_iquic *enc_sess; + SSL_CTX *ssl_ctx = NULL; + int set_app_ctx = 0; + SSL_SESSION *ssl_session; + const struct alpn_map *am; + int transpa_len; + char errbuf[ERR_ERROR_STRING_BUF_LEN]; + unsigned char trans_params[0x80 +#if LSQUIC_TEST_QUANTUM_READINESS + + 4 + lsquic_tp_get_quantum_sz() +#endif + ]; + + fiu_return_on("enc_sess_ietf/create_client", NULL); + + enc_sess = calloc(1, sizeof(*enc_sess)); + if (!enc_sess) + return NULL; + + enc_sess->esi_enpub = enpub; + enc_sess->esi_streams = crypto_streams; + enc_sess->esi_cryst_if = cryst_if; + enc_sess->esi_conn = lconn; + enc_sess->esi_ver_neg = ver_neg; + + enc_sess->esi_odcid = *dcid; + enc_sess->esi_flags |= ESI_ODCID; + enc_sess->esi_grease = 0xFF; + + LSQ_DEBUGC("created client, DCID: %"CID_FMT, CID_BITS(dcid)); + { + const char *log; + log = getenv("LSQUIC_LOG_SECRETS"); + if (log) + { + if (atoi(log)) + enc_sess->esi_flags |= ESI_LOG_SECRETS; + LSQ_DEBUG("will %slog secrets", atoi(log) ? "" : "not "); + } + } + + init_frals(enc_sess); + + if (0 != setup_handshake_keys(enc_sess, dcid)) + { + free(enc_sess); + return NULL; + } + + enc_sess->esi_max_streams_uni = max_streams_uni; + + if (enc_sess->esi_enpub->enp_alpn) + enc_sess->esi_alpn = enc_sess->esi_enpub->enp_alpn; + else if (enc_sess->esi_enpub->enp_flags & ENPUB_HTTP) + { + for (am = s_h3_alpns; am < s_h3_alpns + sizeof(s_h3_alpns) + / sizeof(s_h3_alpns[0]); ++am) + if (am->version == enc_sess->esi_ver_neg->vn_ver) + goto alpn_selected; + LSQ_ERROR("version %s has no matching ALPN", + lsquic_ver2str[enc_sess->esi_ver_neg->vn_ver]); + goto err; + alpn_selected: + enc_sess->esi_alpn = am->alpn; + LSQ_DEBUG("for QUIC version %s, ALPN is %s", + lsquic_ver2str[am->version], (char *) am->alpn + 1); + } + + if (enc_sess->esi_enpub->enp_get_ssl_ctx) + { + struct network_path *const path = + enc_sess->esi_conn->cn_if->ci_get_path(enc_sess->esi_conn, NULL); + ssl_ctx = enc_sess->esi_enpub->enp_get_ssl_ctx(peer_ctx, + NP_LOCAL_SA(path)); + if (ssl_ctx) + set_app_ctx = 1; + else + goto create_new_ssl_ctx; + } + else + { + create_new_ssl_ctx: + LSQ_DEBUG("Create new SSL_CTX"); + ssl_ctx = SSL_CTX_new(TLS_method()); + if (!ssl_ctx) + { + LSQ_ERROR("cannot create SSL context: %s", + ERR_error_string(ERR_get_error(), errbuf)); + goto err; + } + SSL_CTX_set_min_proto_version(ssl_ctx, TLS1_3_VERSION); + SSL_CTX_set_max_proto_version(ssl_ctx, TLS1_3_VERSION); + SSL_CTX_set_default_verify_paths(ssl_ctx); + SSL_CTX_set_session_cache_mode(ssl_ctx, SSL_SESS_CACHE_CLIENT); + if (enc_sess->esi_enpub->enp_stream_if->on_sess_resume_info) + SSL_CTX_sess_set_new_cb(ssl_ctx, iquic_new_session_cb); + if (enc_sess->esi_enpub->enp_verify_cert + || LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT) + || LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_QLOG)) + SSL_CTX_set_custom_verify(ssl_ctx, SSL_VERIFY_PEER, + verify_server_cert_callback); + SSL_CTX_set_early_data_enabled(ssl_ctx, 1); + } + + enc_sess->esi_ssl = SSL_new(ssl_ctx); + if (!enc_sess->esi_ssl) + { + LSQ_ERROR("cannot create SSL object: %s", + ERR_error_string(ERR_get_error(), errbuf)); + goto err; + } +#if BORINGSSL_API_VERSION >= 13 + SSL_set_quic_use_legacy_codepoint(enc_sess->esi_ssl, + enc_sess->esi_ver_neg->vn_ver < LSQVER_I001); +#endif + + transpa_len = gen_trans_params(enc_sess, trans_params, + sizeof(trans_params)); + if (transpa_len < 0) + { + goto err; + } + if (1 != SSL_set_quic_transport_params(enc_sess->esi_ssl, trans_params, + transpa_len)) + { + LSQ_ERROR("cannot set QUIC transport params: %s", + ERR_error_string(ERR_get_error(), errbuf)); + goto err; + } + + if (!(SSL_set_quic_method(enc_sess->esi_ssl, &cry_quic_method))) + { + LSQ_INFO("could not set stream method"); + goto err; + } + + if (enc_sess->esi_alpn && + 0 != SSL_set_alpn_protos(enc_sess->esi_ssl, enc_sess->esi_alpn, + enc_sess->esi_alpn[0] + 1)) + { + LSQ_ERROR("cannot set ALPN: %s", + ERR_error_string(ERR_get_error(), errbuf)); + goto err; + } + if (1 != SSL_set_tlsext_host_name(enc_sess->esi_ssl, hostname)) + { + LSQ_ERROR("cannot set hostname: %s", + ERR_error_string(ERR_get_error(), errbuf)); + goto err; + } + + if (sess_resume && sess_resume_sz) + { + ssl_session = maybe_create_SSL_SESSION(enc_sess, ssl_ctx, + sess_resume, sess_resume_sz); + if (ssl_session) + { + (void) /* This only ever returns 1: */ + SSL_set_session(enc_sess->esi_ssl, ssl_session); + SSL_SESSION_free(ssl_session); + ssl_session = NULL; + enc_sess->esi_flags |= ESI_USE_SSL_TICKET; + } + } + + SSL_set_ex_data(enc_sess->esi_ssl, s_idx, enc_sess); + SSL_set_connect_state(enc_sess->esi_ssl); + + if (SSL_CTX_sess_get_new_cb(ssl_ctx)) + enc_sess->esi_flags |= ESI_WANT_TICKET; + enc_sess->esi_alset = alset; + lsquic_alarmset_init_alarm(enc_sess->esi_alset, AL_SESS_TICKET, + no_sess_ticket, enc_sess); + + if( !set_app_ctx ) + SSL_CTX_free(ssl_ctx); + return enc_sess; + + err: + if (enc_sess) + iquic_esfi_destroy(enc_sess); + if (!set_app_ctx && ssl_ctx) + SSL_CTX_free(ssl_ctx); + return NULL; +} + + +static void +iquic_esfi_set_streams (enc_session_t *enc_session_p, + void *(crypto_streams)[4], const struct crypto_stream_if *cryst_if) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + enc_sess->esi_streams = crypto_streams; + enc_sess->esi_cryst_if = cryst_if; +} + + +static enc_session_t * +iquic_esfi_create_server (struct lsquic_engine_public *enpub, + struct lsquic_conn *lconn, const lsquic_cid_t *first_dcid, + void *(crypto_streams)[4], + const struct crypto_stream_if *cryst_if, + const struct lsquic_cid *odcid, + const struct lsquic_cid *iscid, + const struct lsquic_cid *rscid) +{ + struct enc_sess_iquic *enc_sess; + + enc_sess = calloc(1, sizeof(*enc_sess)); + if (!enc_sess) + return NULL; + +#ifndef NDEBUG + enc_sess->esi_sni_bypass = getenv("LSQUIC_SNI_BYPASS"); +#endif + + enc_sess->esi_flags = ESI_SERVER; + enc_sess->esi_streams = crypto_streams; + enc_sess->esi_cryst_if = cryst_if; + enc_sess->esi_enpub = enpub; + enc_sess->esi_conn = lconn; + enc_sess->esi_grease = 0xFF; + + if (odcid) + { + enc_sess->esi_odcid = *odcid; + enc_sess->esi_flags |= ESI_ODCID; + } + if (rscid) + { + enc_sess->esi_rscid = *rscid; + enc_sess->esi_flags |= ESI_RSCID; + } + enc_sess->esi_iscid = *iscid; + enc_sess->esi_flags |= ESI_ISCID; + + init_frals(enc_sess); + + { + const char *log; + log = getenv("LSQUIC_LOG_SECRETS"); + if (log) + { + if (atoi(log)) + enc_sess->esi_flags |= ESI_LOG_SECRETS; + LSQ_DEBUG("will %slog secrets", atoi(log) ? "" : "not "); + } + } + + if (0 != setup_handshake_keys(enc_sess, first_dcid)) + { + free(enc_sess); + return NULL; + } + + enc_sess->esi_max_streams_uni + = enpub->enp_settings.es_init_max_streams_uni; + + return enc_sess; +} + + +static const char *const rw2str[] = { "read", "write", }; + +typedef char evp_aead_enum_has_expected_values[ + (int) evp_aead_open == 0 && (int) evp_aead_seal == 1 ? 1 : -1]; +#define rw2dir(rw_) ((enum evp_aead_direction_t) (rw_)) + + +static void +log_crypto_ctx (const struct enc_sess_iquic *enc_sess, + const struct crypto_ctx *ctx, const char *name, int rw) +{ + char hexbuf[EVP_MAX_MD_SIZE * 2 + 1]; + LSQ_DEBUG("%s %s key: %s", name, rw2str[rw], + HEXSTR(ctx->yk_key_buf, ctx->yk_key_sz, hexbuf)); + LSQ_DEBUG("%s %s iv: %s", name, rw2str[rw], + HEXSTR(ctx->yk_iv_buf, ctx->yk_iv_sz, hexbuf)); +} + + +static void +log_crypto_pair (const struct enc_sess_iquic *enc_sess, + const struct crypto_ctx_pair *pair, const char *name) +{ + log_crypto_ctx(enc_sess, &pair->ykp_ctx[0], name, 0); + log_crypto_ctx(enc_sess, &pair->ykp_ctx[1], name, 1); +} + + +static const unsigned char *const lsquic_ver2salt[N_LSQVER] = { + [LSQVER_043] = HSK_SALT_PRE29, + [LSQVER_046] = HSK_SALT_PRE29, + [LSQVER_050] = HSK_SALT_PRE29, + [LSQVER_ID27] = HSK_SALT_PRE29, + [LSQVER_ID29] = HSK_SALT_PRE33, + [LSQVER_I001] = HSK_SALT, + [LSQVER_I002] = HSK_SALT_V2, + [LSQVER_RESVED] = HSK_SALT, +}; + + +/* [draft-ietf-quic-tls-12] Section 5.3.2 */ +static int +setup_handshake_keys (struct enc_sess_iquic *enc_sess, const lsquic_cid_t *cid) +{ + const EVP_MD *const md = EVP_sha256(); + const EVP_AEAD *const aead = EVP_aead_aes_128_gcm(); + /* [draft-ietf-quic-tls-12] Section 5.6.1: AEAD_AES_128_GCM implies + * 128-bit AES-CTR. + */ + const EVP_CIPHER *const cipher = EVP_aes_128_ecb(); + struct crypto_ctx_pair *pair; + struct header_prot *hp; + size_t hsk_secret_sz, key_len; + unsigned cliser, i; + const unsigned char *salt; + unsigned char hsk_secret[EVP_MAX_MD_SIZE]; + unsigned char secret[2][SHA256_DIGEST_LENGTH]; /* client, server */ + unsigned char key[2][EVP_MAX_KEY_LENGTH]; + char hexbuf[EVP_MAX_MD_SIZE * 2 + 1]; + struct label_set *labels; + + LSQ_INFOC("setup_handshake_keys for DCID %"CID_FMT, CID_BITS(cid)); + + if (!enc_sess->esi_hsk_crypto) + { + enc_sess->esi_hsk_crypto = calloc(N_HSK_PAIRS, + sizeof(enc_sess->esi_hsk_crypto[0])); + if (!enc_sess->esi_hsk_crypto) + return -1; + } + pair = &enc_sess->esi_hsk_crypto[ENC_LEV_INIT].pair; + pair->ykp_thresh = IQUIC_INVALID_PACKNO; + hp = &enc_sess->esi_hsk_crypto[ENC_LEV_INIT].hp; + + salt = lsquic_ver2salt[enc_sess->esi_conn->cn_version]; + HKDF_extract(hsk_secret, &hsk_secret_sz, md, cid->idbuf, cid->len, + salt, HSK_SALT_SZ); + if (enc_sess->esi_flags & ESI_LOG_SECRETS) + { + LSQ_DEBUG("handshake salt: %s", HEXSTR(salt, HSK_SALT_SZ, hexbuf)); + LSQ_DEBUG("handshake secret: %s", HEXSTR(hsk_secret, hsk_secret_sz, + hexbuf)); + } + + lsquic_qhkdf_expand(md, hsk_secret, hsk_secret_sz, CLIENT_LABEL, + CLIENT_LABEL_SZ, secret[0], sizeof(secret[0])); + lsquic_qhkdf_expand(md, hsk_secret, hsk_secret_sz, SERVER_LABEL, + SERVER_LABEL_SZ, secret[1], sizeof(secret[1])); + if (enc_sess->esi_flags & ESI_LOG_SECRETS) + { + LSQ_DEBUG("client handshake secret: %s", + HEXSTR(secret[0], sizeof(secret[0]), hexbuf)); + LSQ_DEBUG("server handshake secret: %s", + HEXSTR(secret[1], sizeof(secret[1]), hexbuf)); + } + + labels = &hkdf_labels[enc_sess->esi_conn->cn_version == LSQVER_I002]; + cliser = !!(enc_sess->esi_flags & ESI_SERVER); + if (0 != init_crypto_ctx(&pair->ykp_ctx[!cliser], md, aead, secret[0], + sizeof(secret[0]), rw2dir(!cliser), labels)) + goto err; + if (0 != init_crypto_ctx(&pair->ykp_ctx[cliser], md, aead, secret[1], + sizeof(secret[1]), rw2dir(cliser), labels)) + goto err; + + hp->hp_gen_mask = gen_hp_mask_aes; + hp->hp_enc_level = ENC_LEV_INIT; + key_len = EVP_AEAD_key_length(aead); + lsquic_qhkdf_expand(md, secret[!cliser], sizeof(secret[0]), labels->hp, + labels->hp_len, key[0], key_len); + lsquic_qhkdf_expand(md, secret[cliser], sizeof(secret[0]), labels->hp, + labels->hp_len, key[1], key_len); + if (enc_sess->esi_flags & ESI_LOG_SECRETS) + { + log_crypto_pair(enc_sess, pair, "handshake"); + LSQ_DEBUG("read handshake hp: %s", HEXSTR(key[0], key_len, hexbuf)); + LSQ_DEBUG("write handshake hp: %s", HEXSTR(key[1], key_len, hexbuf)); + } + for (i = 0; i < 2; ++i) + { + EVP_CIPHER_CTX_init(&hp->hp_u.cipher_ctx[i]); + if (EVP_EncryptInit_ex(&hp->hp_u.cipher_ctx[i], cipher, NULL, key[i], 0)) + hp->hp_flags |= 1 << i; + else + { + LSQ_ERROR("%s: cannot initialize cipher %u", __func__, i); + goto err; + } + } + + return 0; + + err: + cleanup_crypto_ctx(&pair->ykp_ctx[0]); + cleanup_crypto_ctx(&pair->ykp_ctx[1]); + return -1; +} + + +static void +cleanup_hp (struct header_prot *hp) +{ + unsigned rw; + + if (hp->hp_gen_mask == gen_hp_mask_aes) + for (rw = 0; rw < 2; ++rw) + if (hp->hp_flags & (1 << rw)) + (void) EVP_CIPHER_CTX_cleanup(&hp->hp_u.cipher_ctx[rw]); +} + + +static void +cleanup_hsk_crypto (struct hsk_crypto *c) +{ + cleanup_crypto_ctx(&c->pair.ykp_ctx[0]); + cleanup_crypto_ctx(&c->pair.ykp_ctx[1]); + cleanup_hp(&c->hp); +} + + +static void +free_vn_save (struct enc_sess_iquic *enc_sess) +{ + if (enc_sess->esi_vn_save) + { + cleanup_hsk_crypto(enc_sess->esi_vn_save); + free(enc_sess->esi_vn_save); + enc_sess->esi_vn_save = NULL; + } +} + + +static void +free_handshake_keys (struct enc_sess_iquic *enc_sess) +{ + struct hsk_crypto *c; + + if (enc_sess->esi_hsk_crypto) + { + for (c = enc_sess->esi_hsk_crypto; c < + enc_sess->esi_hsk_crypto + N_HSK_PAIRS; ++c) + { + cleanup_hsk_crypto(c); + } + free(enc_sess->esi_hsk_crypto); + enc_sess->esi_hsk_crypto = NULL; + } + free_vn_save(enc_sess); +} + + +static enum ssl_verify_result_t +verify_server_cert_callback (SSL *ssl, uint8_t *out_alert) +{ + struct enc_sess_iquic *enc_sess; + struct stack_st_X509 *chain; + int s; + + enc_sess = SSL_get_ex_data(ssl, s_idx); + chain = SSL_get_peer_cert_chain(ssl); + if (!chain) + { + LSQ_ERROR("cannot get peer chain"); + return ssl_verify_invalid; + } + + EV_LOG_CERT_CHAIN(LSQUIC_LOG_CONN_ID, chain); + if (enc_sess->esi_enpub->enp_verify_cert) + { + s = enc_sess->esi_enpub->enp_verify_cert( + enc_sess->esi_enpub->enp_verify_ctx, chain); + return s == 0 ? ssl_verify_ok : ssl_verify_invalid; + } + else + return ssl_verify_ok; +} + + +static int +iquic_lookup_cert (SSL *ssl, void *arg) +{ + struct enc_sess_iquic *const enc_sess = arg; + const struct network_path *path; + const char *server_name; + SSL_CTX *ssl_ctx; + + server_name = SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name); +#ifndef NDEBUG + if (!server_name) + server_name = enc_sess->esi_sni_bypass; +#endif + if (!server_name) + { + if (enc_sess->esi_enpub->enp_flags & ENPUB_HTTP) + { + LSQ_DEBUG("SNI is not set, but is required in HTTP/3: " + "fail certificate lookup"); + return 0; + } + else + LSQ_DEBUG("cert lookup: server name is not set"); + } + + path = enc_sess->esi_conn->cn_if->ci_get_path(enc_sess->esi_conn, NULL); + ssl_ctx = enc_sess->esi_enpub->enp_lookup_cert( + enc_sess->esi_enpub->enp_cert_lu_ctx, NP_LOCAL_SA(path), + server_name); + + + if (ssl_ctx) + { + if (SSL_set_SSL_CTX(enc_sess->esi_ssl, ssl_ctx)) + { + LSQ_DEBUG("looked up cert for %s", server_name + ? server_name : ""); + SSL_set_verify(enc_sess->esi_ssl, + SSL_CTX_get_verify_mode(ssl_ctx), NULL); + SSL_set_verify_depth(enc_sess->esi_ssl, + SSL_CTX_get_verify_depth(ssl_ctx)); + SSL_clear_options(enc_sess->esi_ssl, + SSL_get_options(enc_sess->esi_ssl)); + SSL_set_options(enc_sess->esi_ssl, + SSL_CTX_get_options(ssl_ctx) & ~SSL_OP_NO_TLSv1_3); + return 1; + } + else + { + LSQ_WARN("cannot set SSL_CTX"); + return 0; + } + } + else + { + LSQ_DEBUG("could not look up cert for %s", server_name + ? server_name : ""); + return 0; + } +} + + +static void +iquic_esf_set_conn (enc_session_t *enc_session_p, struct lsquic_conn *lconn) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + enc_sess->esi_conn = lconn; + LSQ_DEBUG("updated conn reference"); +} + + +int +iquic_esfi_init_server_tp (struct enc_sess_iquic *const enc_sess) +{ + unsigned char trans_params[sizeof(struct transport_params) +#if LSQUIC_TEST_QUANTUM_READINESS + + 4 + lsquic_tp_get_quantum_sz() +#endif + ]; + int transpa_len; + char errbuf[ERR_ERROR_STRING_BUF_LEN]; + transpa_len = gen_trans_params(enc_sess, trans_params, + sizeof(trans_params)); + if (transpa_len < 0) + return -1; + + if (1 != SSL_set_quic_transport_params(enc_sess->esi_ssl, trans_params, + transpa_len)) + { + LSQ_ERROR("cannot set QUIC transport params: %s", + ERR_error_string(ERR_get_error(), errbuf)); + return -1; + } + + return 0; +} + + +static int +iquic_esfi_init_server (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + struct network_path *path; + const struct alpn_map *am; + unsigned quic_ctx_idx; + SSL_CTX *ssl_ctx = NULL; + + if (enc_sess->esi_enpub->enp_alpn) + enc_sess->esi_alpn = enc_sess->esi_enpub->enp_alpn; + else if (enc_sess->esi_enpub->enp_flags & ENPUB_HTTP) + { + for (am = s_h3_alpns; am < s_h3_alpns + sizeof(s_h3_alpns) + / sizeof(s_h3_alpns[0]); ++am) + if (am->version == enc_sess->esi_conn->cn_version) + goto ok; + LSQ_ERROR("version %s has no matching ALPN", + lsquic_ver2str[enc_sess->esi_conn->cn_version]); + return -1; + ok: enc_sess->esi_alpn = am->alpn; + LSQ_DEBUG("for QUIC version %s, ALPN is %s", + lsquic_ver2str[am->version], (char *) am->alpn + 1); + } + + path = enc_sess->esi_conn->cn_if->ci_get_path(enc_sess->esi_conn, NULL); + ssl_ctx = enc_sess->esi_enpub->enp_get_ssl_ctx(path->np_peer_ctx, + NP_LOCAL_SA(path)); + if (!ssl_ctx) + { + LSQ_ERROR("fetching SSL context associated with peer context failed"); + return -1; + } + + enc_sess->esi_ssl = SSL_new(ssl_ctx); + if (!enc_sess->esi_ssl) + { + char errbuf[ERR_ERROR_STRING_BUF_LEN]; + LSQ_ERROR("cannot create SSL object: %s", + ERR_error_string(ERR_get_error(), errbuf)); + return -1; + } +#if BORINGSSL_API_VERSION >= 13 + SSL_set_quic_use_legacy_codepoint(enc_sess->esi_ssl, + enc_sess->esi_conn->cn_version < LSQVER_I001); +#endif + if (!(SSL_set_quic_method(enc_sess->esi_ssl, &cry_quic_method))) + { + LSQ_INFO("could not set stream method"); + return -1; + } + quic_ctx_idx = enc_sess->esi_conn->cn_version == LSQVER_ID27 ? 0 : 1; + if (!SSL_set_quic_early_data_context(enc_sess->esi_ssl, + enc_sess->esi_enpub->enp_quic_ctx_buf[quic_ctx_idx], + enc_sess->esi_enpub->enp_quic_ctx_sz[quic_ctx_idx])) + { + LSQ_INFO("could not set early data context"); + return -1; + } + +// if (iquic_esfi_init_server_tp(enc_sess) == -1) +// return -1; + + SSL_clear_options(enc_sess->esi_ssl, SSL_OP_NO_TLSv1_3); + if (enc_sess->esi_enpub->enp_lookup_cert) + SSL_set_cert_cb(enc_sess->esi_ssl, iquic_lookup_cert, enc_sess); + SSL_set_ex_data(enc_sess->esi_ssl, s_idx, enc_sess); + SSL_set_accept_state(enc_sess->esi_ssl); + LSQ_DEBUG("initialized server enc session"); + return 0; +} + + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define WRITE_NUM(var_, val_, ptr_) do { \ + var_ = (val_); \ + var_ = bswap_32(var_); \ + memcpy((ptr_), &var_, sizeof(var_)); \ + ptr_ += sizeof(var_); \ +} while (0) +#else +#define WRITE_NUM(var_, val_, ptr_) do { \ + var_ = (val_); \ + memcpy((ptr_), &var_, sizeof(var_)); \ + ptr_ += sizeof(var_); \ +} while (0) +#endif + + +/* Return 0 on success, in which case *buf is newly allocated memory and should + * be freed by the caller. + */ +static int +iquic_ssl_sess_to_resume_info (struct enc_sess_iquic *enc_sess, SSL *ssl, + SSL_SESSION *session, unsigned char **bufp, size_t *buf_szp) +{ + uint32_t num; + unsigned char *p, *buf; + uint8_t *ticket_buf; + size_t ticket_sz; + lsquic_ver_tag_t tag; + const uint8_t *trapa_buf; + size_t trapa_sz, buf_sz; + + SSL_get_peer_quic_transport_params(ssl, &trapa_buf, &trapa_sz); + if (!(trapa_buf + trapa_sz)) + { + LSQ_WARN("no transport parameters: cannot generate session " + "resumption info"); + return -1; + } + if (trapa_sz > UINT32_MAX) + { + LSQ_WARN("trapa size too large: %zu", trapa_sz); + return -1; + } + + if (!SSL_SESSION_to_bytes(session, &ticket_buf, &ticket_sz)) + { + LSQ_INFO("could not serialize new session"); + return -1; + } + if (ticket_sz > UINT32_MAX) + { + LSQ_WARN("ticket size too large: %zu", ticket_sz); + OPENSSL_free(ticket_buf); + return -1; + } + + buf_sz = sizeof(tag) + sizeof(uint32_t) + sizeof(uint32_t) + + ticket_sz + sizeof(uint32_t) + trapa_sz; + buf = malloc(buf_sz); + if (!buf) + { + OPENSSL_free(ticket_buf); + LSQ_INFO("%s: malloc failed", __func__); + return -1; + } + + p = buf; + tag = lsquic_ver2tag(enc_sess->esi_conn->cn_version); + memcpy(p, &tag, sizeof(tag)); + p += sizeof(tag); + + WRITE_NUM(num, SESS_RESUME_VERSION, p); + WRITE_NUM(num, ticket_sz, p); + memcpy(p, ticket_buf, ticket_sz); + p += ticket_sz; + WRITE_NUM(num, trapa_sz, p); + memcpy(p, trapa_buf, trapa_sz); + p += trapa_sz; + + assert(buf + buf_sz == p); + OPENSSL_free(ticket_buf); + + LSQ_DEBUG("generated %zu bytes of session resumption buffer", buf_sz); + + *bufp = buf; + *buf_szp = buf_sz; + return 0; +} + + +static int +iquic_new_session_cb (SSL *ssl, SSL_SESSION *session) +{ + struct enc_sess_iquic *enc_sess; + unsigned char *buf; + size_t buf_sz; + + enc_sess = SSL_get_ex_data(ssl, s_idx); + assert(enc_sess->esi_enpub->enp_stream_if->on_sess_resume_info); + + if (0 == iquic_ssl_sess_to_resume_info(enc_sess, ssl, session, &buf, + &buf_sz)) + enc_sess->esi_enpub->enp_stream_if->on_sess_resume_info( + enc_sess->esi_conn, buf, buf_sz); + free(buf); + enc_sess->esi_flags &= ~ESI_WANT_TICKET; + lsquic_alarmset_unset(enc_sess->esi_alset, AL_SESS_TICKET); + return 0; +} + + +struct crypto_params +{ + const EVP_AEAD *aead; + const EVP_MD *md; + const EVP_CIPHER *hp; + gen_hp_mask_f gen_hp_mask; +}; + + +static int +get_crypto_params (const struct enc_sess_iquic *enc_sess, + const SSL_CIPHER *cipher, struct crypto_params *params) +{ + unsigned key_sz, iv_sz; + uint32_t id; + + id = SSL_CIPHER_get_id(cipher); + + LSQ_DEBUG("Negotiated cipher ID is 0x%"PRIX32, id); + + /* RFC 8446, Appendix B.4 */ + switch (id) + { + case 0x03000000 | 0x1301: /* TLS_AES_128_GCM_SHA256 */ + params->md = EVP_sha256(); + params->aead = EVP_aead_aes_128_gcm(); + params->hp = EVP_aes_128_ecb(); + params->gen_hp_mask = gen_hp_mask_aes; + break; + case 0x03000000 | 0x1302: /* TLS_AES_256_GCM_SHA384 */ + params->md = EVP_sha384(); + params->aead = EVP_aead_aes_256_gcm(); + params->hp = EVP_aes_256_ecb(); + params->gen_hp_mask = gen_hp_mask_aes; + break; + case 0x03000000 | 0x1303: /* TLS_CHACHA20_POLY1305_SHA256 */ + params->md = EVP_sha256(); + params->aead = EVP_aead_chacha20_poly1305(); + params->hp = NULL; + params->gen_hp_mask = gen_hp_mask_chacha20; + break; + default: + /* TLS_AES_128_CCM_SHA256 and TLS_AES_128_CCM_8_SHA256 are not + * supported by BoringSSL (grep for \b0x130[45]\b). + */ + LSQ_DEBUG("unsupported cipher 0x%"PRIX32, id); + return -1; + } + + key_sz = EVP_AEAD_key_length(params->aead); + if (key_sz > EVP_MAX_KEY_LENGTH) + { + LSQ_DEBUG("key size %u is too large", key_sz); + return -1; + } + + iv_sz = EVP_AEAD_nonce_length(params->aead); + if (iv_sz < 8) + iv_sz = 8; /* [draft-ietf-quic-tls-11], Section 5.3 */ + if (iv_sz > EVP_MAX_IV_LENGTH) + { + LSQ_DEBUG("iv size %u is too large", iv_sz); + return -1; + } + + return 0; +} + + +/* [draft-ietf-quic-transport-31] Section 7.4.1: + " If 0-RTT data is accepted by the server, the server MUST NOT reduce + " any limits or alter any values that might be violated by the client + " with its 0-RTT data. In particular, a server that accepts 0-RTT data + " MUST NOT set values for the following parameters (Section 18.2) that + " are smaller than the remembered value of the parameters. + " + " * active_connection_id_limit + " + " * initial_max_data + " + " * initial_max_stream_data_bidi_local + " + " * initial_max_stream_data_bidi_remote + " + " * initial_max_stream_data_uni + " + " * initial_max_streams_bidi + " + " * initial_max_streams_uni + */ +#define REDUCTION_PROHIBITED_TPS (0 \ + | (1 << TPI_ACTIVE_CONNECTION_ID_LIMIT) \ + | (1 << TPI_INIT_MAX_DATA) \ + | (1 << TPI_INIT_MAX_STREAMS_UNI) \ + | (1 << TPI_INIT_MAX_STREAMS_BIDI) \ + | (1 << TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL) \ + | (1 << TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE) \ + | (1 << TPI_INIT_MAX_STREAM_DATA_UNI) \ +) + + +static int +check_server_tps_for_violations (const struct enc_sess_iquic *enc_sess, + const struct transport_params *params_0rtt, + const struct transport_params *new_params) +{ + enum transport_param_id tpi; + + for (tpi = 0; tpi <= MAX_NUMERIC_TPI; ++tpi) + if ((1 << tpi) & REDUCTION_PROHIBITED_TPS) + if (new_params->tp_numerics[tpi] < params_0rtt->tp_numerics[tpi]) + { + LSQ_INFO("server's new TP %s decreased in value from %"PRIu64 + " to %"PRIu64, lsquic_tpi2str[tpi], + params_0rtt->tp_numerics[tpi], + new_params->tp_numerics[tpi]); + return -1; + } + + LSQ_DEBUG("server's new transport parameters do not violate save 0-RTT " + "parameters"); + return 0; +} + + +static int +get_peer_transport_params (struct enc_sess_iquic *enc_sess) +{ + struct transport_params *const trans_params = &enc_sess->esi_peer_tp; + struct transport_params params_0rtt; + const uint8_t *params_buf; + size_t bufsz; + char *params_str; + const enum lsquic_version version = enc_sess->esi_conn->cn_version; + int have_0rtt_tp; + + SSL_get_peer_quic_transport_params(enc_sess->esi_ssl, ¶ms_buf, &bufsz); + if (!params_buf) + { + LSQ_DEBUG("no peer transport parameters"); + return -1; + } + + have_0rtt_tp = !!(enc_sess->esi_flags & ESI_HAVE_0RTT_TP); + if (have_0rtt_tp) + { + params_0rtt = enc_sess->esi_peer_tp; + enc_sess->esi_flags &= ~ESI_HAVE_0RTT_TP; + } + + LSQ_DEBUG("have peer transport parameters (%zu bytes)", bufsz); + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + params_str = lsquic_mm_get_4k(&enc_sess->esi_enpub->enp_mm); + if (params_str) + { + lsquic_hexdump(params_buf, bufsz, params_str, 0x1000); + LSQ_DEBUG("transport parameters (%zd bytes):\n%s", bufsz, + params_str); + lsquic_mm_put_4k(&enc_sess->esi_enpub->enp_mm, params_str); + } + } + if (0 > (version == LSQVER_ID27 ? lsquic_tp_decode_27 + : lsquic_tp_decode)(params_buf, bufsz, + !(enc_sess->esi_flags & ESI_SERVER), + trans_params)) + { + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + params_str = lsquic_mm_get_4k(&enc_sess->esi_enpub->enp_mm); + if (params_str) + { + lsquic_hexdump(params_buf, bufsz, params_str, 0x1000); + LSQ_DEBUG("could not parse peer transport parameters " + "(%zd bytes):\n%s", bufsz, params_str); + lsquic_mm_put_4k(&enc_sess->esi_enpub->enp_mm, params_str); + } + else + LSQ_DEBUG("could not parse peer transport parameters " + "(%zd bytes)", bufsz); + } + return -1; + } + + if (have_0rtt_tp && 0 != check_server_tps_for_violations(enc_sess, + ¶ms_0rtt, trans_params)) + return -1; + + const lsquic_cid_t *const cids[LAST_TPI + 1] = { + [TP_CID_IDX(TPI_ORIGINAL_DEST_CID)] = enc_sess->esi_flags & ESI_ODCID ? &enc_sess->esi_odcid : NULL, + [TP_CID_IDX(TPI_RETRY_SOURCE_CID)] = enc_sess->esi_flags & ESI_RSCID ? &enc_sess->esi_rscid : NULL, + [TP_CID_IDX(TPI_INITIAL_SOURCE_CID)] = enc_sess->esi_flags & ESI_ISCID ? &enc_sess->esi_iscid : NULL, + }; + + unsigned must_have, must_not_have = 0; + if (version > LSQVER_ID27) + { + must_have = 1 << TPI_INITIAL_SOURCE_CID; + if (enc_sess->esi_flags & ESI_SERVER) + must_not_have |= 1 << TPI_ORIGINAL_DEST_CID; + else + must_have |= 1 << TPI_ORIGINAL_DEST_CID; + if ((enc_sess->esi_flags & (ESI_RETRY|ESI_SERVER)) == ESI_RETRY) + must_have |= 1 << TPI_RETRY_SOURCE_CID; + else + must_not_have |= 1 << TPI_RETRY_SOURCE_CID; + } + else if ((enc_sess->esi_flags & (ESI_RETRY|ESI_SERVER)) == ESI_RETRY) + must_have = 1 << TPI_ORIGINAL_DEST_CID; + else + must_have = 0; + + enum transport_param_id tpi; + for (tpi = FIRST_TP_CID; tpi <= LAST_TP_CID; ++tpi) + { + if (!(must_have & (1 << tpi))) + continue; + if (!(trans_params->tp_set & (1 << tpi))) + { + LSQ_DEBUG("server did not produce %s", lsquic_tpi2str[tpi]); + return -1; + } + if (!cids[TP_CID_IDX(tpi)]) + { + LSQ_WARN("do not have CID %s for checking", + lsquic_tpi2str[tpi]); + return -1; + } + if (LSQUIC_CIDS_EQ(cids[TP_CID_IDX(tpi)], + &trans_params->tp_cids[TP_CID_IDX(tpi)])) + LSQ_DEBUG("%s values match", lsquic_tpi2str[tpi]); + else + { + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + char cidbuf[2][MAX_CID_LEN * 2 + 1]; + LSQ_DEBUG("server provided %s %"CID_FMT" that does not " + "match ours %"CID_FMT, lsquic_tpi2str[tpi], + CID_BITS_B(&trans_params->tp_cids[TP_CID_IDX(tpi)], + cidbuf[0]), + CID_BITS_B(cids[TP_CID_IDX(tpi)], cidbuf[1])); + } + enc_sess->esi_conn->cn_flags |= LSCONN_NO_BL; + return -1; + } + } + + for (tpi = FIRST_TP_CID; tpi <= LAST_TP_CID; ++tpi) + if (must_not_have & (1 << tpi) & trans_params->tp_set) + { + LSQ_DEBUG("server transport parameters unexpectedly contain %s", + lsquic_tpi2str[tpi]); + return -1; + } + + if ((trans_params->tp_set & (1 << TPI_LOSS_BITS)) + && enc_sess->esi_enpub->enp_settings.es_ql_bits) + { + const unsigned our_loss_bits + = enc_sess->esi_enpub->enp_settings.es_ql_bits - 1; + switch ((our_loss_bits << 1) | trans_params->tp_loss_bits) + { + case (0 << 1) | 0: + LSQ_DEBUG("both sides only tolerate QL bits: don't enable them"); + break; + case (0 << 1) | 1: + LSQ_DEBUG("peer sends QL bits, we receive them"); + enc_sess->esi_flags |= ESI_RECV_QL_BITS; + break; + case (1 << 1) | 0: + LSQ_DEBUG("we send QL bits, peer receives them"); + enc_sess->esi_flags |= ESI_SEND_QL_BITS; + break; + default/*1 << 1) | 1*/: + LSQ_DEBUG("enable sending and receiving QL bits"); + enc_sess->esi_flags |= ESI_RECV_QL_BITS; + enc_sess->esi_flags |= ESI_SEND_QL_BITS; + break; + } + } + else + LSQ_DEBUG("no QL bits"); + + if (trans_params->tp_set & (1 << TPI_GREASE_QUIC_BIT)) + { + if (enc_sess->esi_enpub->enp_settings.es_grease_quic_bit) + { + LSQ_DEBUG("will grease the QUIC bit"); + enc_sess->esi_grease = ~QUIC_BIT; + } + else + LSQ_DEBUG("greasing turned off: won't grease the QUIC bit"); + } + + if (enc_sess->esi_enpub->enp_settings.es_check_tp_sanity + /* We only care (and know) about HTTP/3. Other protocols may have + * their own limitations. The most generic way to do this would be + * to factor out transport parameter sanity check into a callback. + */ + && enc_sess->esi_alpn && enc_sess->esi_alpn[0] >= 2 + && enc_sess->esi_alpn[1] == 'h' + && enc_sess->esi_alpn[2] == '3') + { + const enum transport_param_id stream_data = enc_sess->esi_flags + & ESI_SERVER ? TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL + : TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE; + if (!((trans_params->tp_set & (1 << stream_data)) + && trans_params->tp_numerics[stream_data] >= 0x1000)) + { + LSQ_INFO("peer transport parameters: %s=%"PRIu64" does not pass " + "sanity check", lsquic_tpi2str[stream_data], + trans_params->tp_numerics[stream_data]); + return -1; + } + if (!((trans_params->tp_set & (1 << TPI_INIT_MAX_DATA)) + && trans_params->tp_numerics[TPI_INIT_MAX_DATA] >= 0x1000)) + { + LSQ_INFO("peer transport parameters: %s=%"PRIu64" does not pass " + "sanity check", lsquic_tpi2str[TPI_INIT_MAX_DATA], + trans_params->tp_numerics[TPI_INIT_MAX_DATA]); + return -1; + } + } + + return 0; +} + + +static int +maybe_get_peer_transport_params (struct enc_sess_iquic *enc_sess) +{ + int s; + + if (enc_sess->esi_flags & ESI_HAVE_PEER_TP) + return 0; + + s = get_peer_transport_params(enc_sess); + if (s == 0) + enc_sess->esi_flags |= ESI_HAVE_PEER_TP; + + return s; +} + + +enum iquic_handshake_status { + IHS_WANT_READ, + IHS_WANT_WRITE, + IHS_WANT_RW, + IHS_STOP, +}; + + +static enum iquic_handshake_status +iquic_esfi_handshake (struct enc_sess_iquic *enc_sess) +{ + int s, err; + enum lsquic_hsk_status hsk_status; + char errbuf[ERR_ERROR_STRING_BUF_LEN]; + + s = SSL_do_handshake(enc_sess->esi_ssl); + if (s <= 0) + { + err = SSL_get_error(enc_sess->esi_ssl, s); + switch (err) + { + case SSL_ERROR_WANT_READ: + LSQ_DEBUG("retry read"); + return IHS_WANT_READ; + case SSL_ERROR_WANT_WRITE: + LSQ_DEBUG("retry write"); + return IHS_WANT_WRITE; + case SSL_ERROR_EARLY_DATA_REJECTED: + LSQ_DEBUG("early data rejected: reset"); + SSL_reset_early_data_reject(enc_sess->esi_ssl); + if (enc_sess->esi_conn->cn_if->ci_early_data_failed) + enc_sess->esi_conn->cn_if->ci_early_data_failed( + enc_sess->esi_conn); + return IHS_WANT_RW; + /* fall through */ + default: + LSQ_DEBUG("handshake: %s", ERR_error_string(err, errbuf)); + hsk_status = LSQ_HSK_FAIL; + goto err; + } + } + + + if (SSL_in_early_data(enc_sess->esi_ssl)) + { + LSQ_DEBUG("in early data"); + if (enc_sess->esi_flags & ESI_SERVER) + LSQ_DEBUG("TODO"); + else + return IHS_WANT_READ; + } + + hsk_status = LSQ_HSK_OK; + LSQ_DEBUG("handshake reported complete"); + EV_LOG_HSK_COMPLETED(LSQUIC_LOG_CONN_ID); + /* The ESI_USE_SSL_TICKET flag indicates if the client attempted session + * resumption. If the handshake is complete, and the client attempted + * session resumption, it must have succeeded. + */ + if (enc_sess->esi_flags & ESI_USE_SSL_TICKET) + { + hsk_status = LSQ_HSK_RESUMED_OK; + EV_LOG_SESSION_RESUMPTION(LSQUIC_LOG_CONN_ID); + } + + if (0 != maybe_get_peer_transport_params(enc_sess)) + { + hsk_status = LSQ_HSK_FAIL; + goto err; + } + + enc_sess->esi_flags |= ESI_HANDSHAKE_OK; + enc_sess->esi_conn->cn_if->ci_hsk_done(enc_sess->esi_conn, hsk_status); + + return IHS_STOP; /* XXX: what else can come on the crypto stream? */ + + err: + LSQ_DEBUG("handshake failed"); + enc_sess->esi_conn->cn_if->ci_hsk_done(enc_sess->esi_conn, hsk_status); + return IHS_STOP; +} + + +static enum iquic_handshake_status +iquic_esfi_post_handshake (struct enc_sess_iquic *enc_sess) +{ + int s; + + s = SSL_process_quic_post_handshake(enc_sess->esi_ssl); + LSQ_DEBUG("SSL_process_quic_post_handshake() returned %d", s); + if (s == 1) + return IHS_WANT_READ; + else + { + enc_sess->esi_conn->cn_if->ci_internal_error(enc_sess->esi_conn, + "post-handshake error, code %d", s); + return IHS_STOP; + } +} + + +static struct transport_params * +iquic_esfi_get_peer_transport_params (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + + if (enc_sess->esi_flags & ESI_HAVE_0RTT_TP) + return &enc_sess->esi_peer_tp; + else if (0 == maybe_get_peer_transport_params(enc_sess)) + return &enc_sess->esi_peer_tp; + else + return NULL; +} + + +static void +iquic_esfi_destroy (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + struct frab_list *fral; + LSQ_DEBUG("iquic_esfi_destroy"); + + for (fral = enc_sess->esi_frals; fral < enc_sess->esi_frals + + sizeof(enc_sess->esi_frals) / sizeof(enc_sess->esi_frals[0]); + ++fral) + lsquic_frab_list_cleanup(fral); + if (enc_sess->esi_ssl) + SSL_free(enc_sess->esi_ssl); + + free_handshake_keys(enc_sess); + cleanup_hp(&enc_sess->esi_hp); + + free(enc_sess); +} + + +/* See [draft-ietf-quic-tls-14], Section 4 */ +static const enum enc_level hety2el[] = +{ + [HETY_SHORT] = ENC_LEV_APP, + [HETY_VERNEG] = 0, + [HETY_INITIAL] = ENC_LEV_INIT, + [HETY_RETRY] = 0, + [HETY_HANDSHAKE] = ENC_LEV_HSK, + [HETY_0RTT] = ENC_LEV_0RTT, +}; + + +static const enum enc_level pns2enc_level[2][N_PNS] = +{ + [0] = { + [PNS_INIT] = ENC_LEV_INIT, + [PNS_HSK] = ENC_LEV_HSK, + [PNS_APP] = ENC_LEV_0RTT, + }, + [1] = { + [PNS_INIT] = ENC_LEV_INIT, + [PNS_HSK] = ENC_LEV_HSK, + [PNS_APP] = ENC_LEV_APP, + }, +}; + + +int +iquic_esf_is_enc_level_ready (enc_session_t *enc_session_p, + enum enc_level level) +{ + const struct enc_sess_iquic *enc_sess = enc_session_p; + const struct header_prot *hp; + if (level == ENC_LEV_APP) + hp = &enc_sess->esi_hp; + else if (enc_sess->esi_hsk_crypto) + hp = &enc_sess->esi_hsk_crypto[level].hp; + else + return 0; + return header_prot_inited(hp, HP_CAN_READ); +} + + +static enum enc_packout +iquic_esf_encrypt_packet (enc_session_t *enc_session_p, + const struct lsquic_engine_public *enpub, struct lsquic_conn *lconn_UNUSED, + struct lsquic_packet_out *packet_out) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + struct lsquic_conn *const lconn = enc_sess->esi_conn; + unsigned char *dst; + const struct crypto_ctx_pair *pair; + const struct crypto_ctx *crypto_ctx; + struct header_prot *hp; + enum enc_level enc_level; + unsigned char nonce_buf[ sizeof(crypto_ctx->yk_iv_buf) + 8 ]; + unsigned char *nonce, *begin_xor; + lsquic_packno_t packno; + size_t out_sz, dst_sz; + int header_sz; + int ipv6; + unsigned packno_off, packno_len; + enum packnum_space pns; + char errbuf[ERR_ERROR_STRING_BUF_LEN]; + + pns = lsquic_packet_out_pns(packet_out); + enc_level = pns2enc_level[ enc_sess->esi_have_forw ][ pns ]; + + if (enc_level == ENC_LEV_APP) + { + pair = &enc_sess->esi_pairs[ enc_sess->esi_key_phase ]; + crypto_ctx = &pair->ykp_ctx[ 1 ]; + hp = &enc_sess->esi_hp; + } + else if (enc_sess->esi_hsk_crypto) + { + pair = &enc_sess->esi_hsk_crypto[ enc_level ].pair; + crypto_ctx = &pair->ykp_ctx[ 1 ]; + hp = &enc_sess->esi_hsk_crypto[ enc_level ].hp; + } + else + { + LSQ_WARN("no keys for encryption level %s", + lsquic_enclev2str[enc_level]); + return ENCPA_BADCRYPT; + } + + if (UNLIKELY(0 == (crypto_ctx->yk_flags & YK_INITED))) + { + LSQ_WARN("encrypt crypto context at level %s not initialized", + lsquic_enclev2str[enc_level]); + return ENCPA_BADCRYPT; + } + + if (packet_out->po_data_sz < 3) + { + /* [draft-ietf-quic-tls-20] Section 5.4.2 */ + enum packno_bits bits = lsquic_packet_out_packno_bits(packet_out); + unsigned len = iquic_packno_bits2len(bits); + if (packet_out->po_data_sz + len < 4) + { + len = 4 - packet_out->po_data_sz - len; + memset(packet_out->po_data + packet_out->po_data_sz, 0, len); + packet_out->po_data_sz += len; + packet_out->po_frame_types |= QUIC_FTBIT_PADDING; + LSQ_DEBUG("padded packet %"PRIu64" with %u bytes of PADDING", + packet_out->po_packno, len); + } + } + + dst_sz = lconn->cn_pf->pf_packout_size(lconn, packet_out); + ipv6 = NP_IS_IPv6(packet_out->po_path); + dst = enpub->enp_pmi->pmi_allocate(enpub->enp_pmi_ctx, + packet_out->po_path->np_peer_ctx, lconn->cn_conn_ctx, dst_sz, ipv6); + if (!dst) + { + LSQ_DEBUG("could not allocate memory for outgoing packet of size %zd", + dst_sz); + return ENCPA_NOMEM; + } + + /* Align nonce so we can perform XOR safely in one shot: */ + begin_xor = nonce_buf + sizeof(nonce_buf) - 8; + begin_xor = (unsigned char *) ((uintptr_t) begin_xor & ~0x7); + nonce = begin_xor - crypto_ctx->yk_iv_sz + 8; + memcpy(nonce, crypto_ctx->yk_iv_buf, crypto_ctx->yk_iv_sz); + packno = packet_out->po_packno; + if (s_log_seal_and_open) + LSQ_DEBUG("seal: iv: %s; packno: 0x%"PRIX64, + HEXSTR(crypto_ctx->yk_iv_buf, crypto_ctx->yk_iv_sz, s_str), packno); +#if __BYTE_ORDER == __LITTLE_ENDIAN + packno = bswap_64(packno); +#endif + *((uint64_t *) begin_xor) ^= packno; + + header_sz = lconn->cn_pf->pf_gen_reg_pkt_header(lconn, packet_out, dst, + dst_sz, &packno_off, &packno_len); + if (header_sz < 0) + goto err; + if (enc_level == ENC_LEV_APP) + dst[0] |= enc_sess->esi_key_phase << 2; + dst[0] &= enc_sess->esi_grease | packet_out->po_path->np_dcid.idbuf[0]; + + if (s_log_seal_and_open) + { + LSQ_DEBUG("seal: nonce (%u bytes): %s", crypto_ctx->yk_iv_sz, + HEXSTR(nonce, crypto_ctx->yk_iv_sz, s_str)); + LSQ_DEBUG("seal: ad (%u bytes): %s", header_sz, + HEXSTR(dst, header_sz, s_str)); + LSQ_DEBUG("seal: in (%u bytes): %s", packet_out->po_data_sz, + HEXSTR(packet_out->po_data, packet_out->po_data_sz, s_str)); + } + if (!EVP_AEAD_CTX_seal(&crypto_ctx->yk_aead_ctx, dst + header_sz, &out_sz, + dst_sz - header_sz, nonce, crypto_ctx->yk_iv_sz, packet_out->po_data, + packet_out->po_data_sz, dst, header_sz)) + { + LSQ_WARN("cannot seal packet #%"PRIu64": %s", packet_out->po_packno, + ERR_error_string(ERR_get_error(), errbuf)); + goto err; + } + assert(out_sz == dst_sz - header_sz); + +#ifndef NDEBUG + const unsigned sample_off = packno_off + 4; + assert(sample_off + IQUIC_TAG_LEN <= dst_sz); +#endif + + packet_out->po_enc_data = dst; + packet_out->po_enc_data_sz = dst_sz; + packet_out->po_sent_sz = dst_sz; + packet_out->po_flags &= ~PO_IPv6; + packet_out->po_flags |= PO_ENCRYPTED|PO_SENT_SZ|(ipv6 << POIPv6_SHIFT); + packet_out->po_dcid_len = packet_out->po_path->np_dcid.len; + lsquic_packet_out_set_enc_level(packet_out, enc_level); + lsquic_packet_out_set_kp(packet_out, enc_sess->esi_key_phase); + + if (enc_level == ENC_LEV_APP && hp->hp_gen_mask != gen_hp_mask_chacha20) + apply_hp_batch(enc_sess, hp, packet_out, packno_off, packno_len); + else + apply_hp_immediately(enc_sess, hp, packet_out, packno_off, packno_len); + + return ENCPA_OK; + + err: + enpub->enp_pmi->pmi_return(enpub->enp_pmi_ctx, + packet_out->po_path->np_peer_ctx, dst, ipv6); + return ENCPA_BADCRYPT; +} + + +static void +iquic_esf_flush_encryption (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + + if (enc_sess->esi_hp_batch_idx) + { + LSQ_DEBUG("flush header protection application, count: %u", + enc_sess->esi_hp_batch_idx); + flush_hp_batch(enc_sess); + } +} + + +static struct ku_label +{ + const char *str; + uint8_t len; +} + + +select_ku_label (enum lsquic_version version) +{ + static struct ku_label labels[2] = + { + { "quic ku", 7, }, + { "quicv2 ku", 9, } + }; + return labels[version == LSQVER_I002]; +} + + +static enum dec_packin +iquic_esf_decrypt_packet (enc_session_t *enc_session_p, + struct lsquic_engine_public *enpub, const struct lsquic_conn *lconn, + struct lsquic_packet_in *packet_in) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + unsigned char *dst; + struct crypto_ctx_pair *pair; + struct header_prot *hp; + struct crypto_ctx *crypto_ctx = NULL; + unsigned char nonce_buf[ sizeof(crypto_ctx->yk_iv_buf) + 8 ]; + unsigned char *nonce, *begin_xor; + unsigned sample_off, packno_len, key_phase; + enum enc_level enc_level; + enum packnum_space pns; + lsquic_packno_t packno; + size_t out_sz; + enum dec_packin dec_packin; + int s; + /* 16Bytes: AEAD authentication tag + * + * [RFC5116 AEAD] Section 5.1 + * An authentication tag with a length of 16 octets (128bits) is used. + * + * [RFC9001 QUIC-TLS] Section 5.3 + * These cipher suites have a 16-byte authentication tag and + * produce an output 16 bytes larger than their input. + */ + const size_t dst_sz = packet_in->pi_data_sz - IQUIC_TAG_LEN; + unsigned char new_secret[EVP_MAX_KEY_LENGTH]; + struct crypto_ctx crypto_ctx_buf; + char secret_str[EVP_MAX_KEY_LENGTH * 2 + 1]; + char errbuf[ERR_ERROR_STRING_BUF_LEN]; + + dst = lsquic_mm_get_packet_in_buf(&enpub->enp_mm, dst_sz); + if (!dst) + { + LSQ_WARN("cannot allocate memory to copy incoming packet data"); + dec_packin = DECPI_NOMEM; + goto err; + } + + enc_level = hety2el[packet_in->pi_header_type]; + if (enc_level == ENC_LEV_APP) + hp = &enc_sess->esi_hp; + else if (enc_sess->esi_hsk_crypto) + hp = &enc_sess->esi_hsk_crypto[ enc_level ].hp; + else + hp = NULL; + + if (UNLIKELY(!(hp && header_prot_inited(hp, HP_CAN_READ)))) + { + LSQ_DEBUG("header protection for level %u not initialized yet", + enc_level); + dec_packin = DECPI_NOT_YET; + goto err; + } + + /* Decrypt packet number. After this operation, packet_in is adjusted: + * the packet number becomes part of the header. + */ + sample_off = packet_in->pi_header_sz + 4; + if (sample_off + IQUIC_TAG_LEN > packet_in->pi_data_sz) + { + LSQ_INFO("packet data is too short: %hu bytes", + packet_in->pi_data_sz); + dec_packin = DECPI_TOO_SHORT; + goto err; + } + memcpy(dst, packet_in->pi_data, sample_off); + packet_in->pi_packno = + packno = strip_hp(enc_sess, hp, + packet_in->pi_data + sample_off, + dst, packet_in->pi_header_sz, &packno_len); + + if (enc_level == ENC_LEV_APP) + { + key_phase = (dst[0] & 0x04) > 0; + pair = &enc_sess->esi_pairs[ key_phase ]; + if (key_phase == enc_sess->esi_key_phase) + { + crypto_ctx = &pair->ykp_ctx[ 0 ]; + /* Checked by header_prot_inited() above */ + assert(crypto_ctx->yk_flags & YK_INITED); + } + else if (!is_valid_packno( + enc_sess->esi_pairs[enc_sess->esi_key_phase].ykp_thresh) + || packet_in->pi_packno + > enc_sess->esi_pairs[enc_sess->esi_key_phase].ykp_thresh) + { + const struct ku_label kl = select_ku_label(enc_sess->esi_conn->cn_version); + lsquic_qhkdf_expand(enc_sess->esi_md, + enc_sess->esi_traffic_secrets[0], enc_sess->esi_trasec_sz, + kl.str, kl.len, new_secret, enc_sess->esi_trasec_sz); + if (enc_sess->esi_flags & ESI_LOG_SECRETS) + LSQ_DEBUG("key phase changed to %u, will try decrypting using " + "new secret %s", key_phase, HEXSTR(new_secret, + enc_sess->esi_trasec_sz, secret_str)); + else + LSQ_DEBUG("key phase changed to %u, will try decrypting using " + "new secret", key_phase); + crypto_ctx = &crypto_ctx_buf; + crypto_ctx->yk_flags = 0; + s = init_crypto_ctx(crypto_ctx, enc_sess->esi_md, + enc_sess->esi_aead, new_secret, enc_sess->esi_trasec_sz, + evp_aead_open, + &hkdf_labels[enc_sess->esi_conn->cn_version == LSQVER_I002] + ); + if (s != 0) + { + LSQ_ERROR("could not init open crypto ctx (key phase)"); + dec_packin = DECPI_BADCRYPT; + goto err; + } + } + else + { + crypto_ctx = &pair->ykp_ctx[ 0 ]; + if (UNLIKELY(0 == (crypto_ctx->yk_flags & YK_INITED))) + { + LSQ_DEBUG("supposedly older context is not initialized (key " + "phase: %u)", key_phase); + dec_packin = DECPI_BADCRYPT; + goto err; + } + } + } + else + { + key_phase = 0; + assert(enc_sess->esi_hsk_crypto); + pair = &enc_sess->esi_hsk_crypto[ enc_level ].pair; + crypto_ctx = &pair->ykp_ctx[ 0 ]; + if (UNLIKELY(0 == (crypto_ctx->yk_flags & YK_INITED))) + { + LSQ_WARN("decrypt crypto context at level %s not initialized", + lsquic_enclev2str[enc_level]); + dec_packin = DECPI_BADCRYPT; + goto err; + } + } + + if (s_log_seal_and_open) + LSQ_DEBUG("open: iv: %s; packno: 0x%"PRIX64, + HEXSTR(crypto_ctx->yk_iv_buf, crypto_ctx->yk_iv_sz, s_str), packno); + /* Align nonce so we can perform XOR safely in one shot: */ + begin_xor = nonce_buf + sizeof(nonce_buf) - 8; + begin_xor = (unsigned char *) ((uintptr_t) begin_xor & ~0x7); + nonce = begin_xor - crypto_ctx->yk_iv_sz + 8; + memcpy(nonce, crypto_ctx->yk_iv_buf, crypto_ctx->yk_iv_sz); +#if __BYTE_ORDER == __LITTLE_ENDIAN + packno = bswap_64(packno); +#endif + *((uint64_t *) begin_xor) ^= packno; + + packet_in->pi_header_sz += packno_len; + + if (s_log_seal_and_open) + { + LSQ_DEBUG("open: nonce (%u bytes): %s", crypto_ctx->yk_iv_sz, + HEXSTR(nonce, crypto_ctx->yk_iv_sz, s_str)); + LSQ_DEBUG("open: ad (%u bytes): %s", packet_in->pi_header_sz, + HEXSTR(dst, packet_in->pi_header_sz, s_str)); + LSQ_DEBUG("open: in (%u bytes): %s", packet_in->pi_data_sz + - packet_in->pi_header_sz, HEXSTR(packet_in->pi_data + + packet_in->pi_header_sz, packet_in->pi_data_sz + - packet_in->pi_header_sz, s_str)); + } + if (!EVP_AEAD_CTX_open(&crypto_ctx->yk_aead_ctx, + dst + packet_in->pi_header_sz, &out_sz, + dst_sz - packet_in->pi_header_sz, nonce, crypto_ctx->yk_iv_sz, + packet_in->pi_data + packet_in->pi_header_sz, + packet_in->pi_data_sz - packet_in->pi_header_sz, + dst, packet_in->pi_header_sz)) + { + LSQ_INFO("cannot open packet #%"PRIu64": %s", packet_in->pi_packno, + ERR_error_string(ERR_get_error(), errbuf)); + dec_packin = DECPI_BADCRYPT; + goto err; + } + + if (enc_sess->esi_flags & ESI_SEND_QL_BITS) + { + packet_in->pi_flags |= PI_LOG_QL_BITS; + if (dst[0] & 0x10) + packet_in->pi_flags |= PI_SQUARE_BIT; + if (dst[0] & 0x08) + packet_in->pi_flags |= PI_LOSS_BIT; + } + else if (dst[0] & (0x0C << (packet_in->pi_header_type == HETY_SHORT))) + { + LSQ_DEBUG("reserved bits are not set to zero"); + dec_packin = DECPI_VIOLATION; + goto err; + } + + if (crypto_ctx == &crypto_ctx_buf) + { + LSQ_DEBUG("decryption in the new key phase %u successful, rotate " + "keys", key_phase); + const struct ku_label kl = select_ku_label(enc_sess->esi_conn->cn_version); + pair->ykp_thresh = packet_in->pi_packno; + pair->ykp_ctx[ 0 ] = crypto_ctx_buf; + memcpy(enc_sess->esi_traffic_secrets[ 0 ], new_secret, + enc_sess->esi_trasec_sz); + lsquic_qhkdf_expand(enc_sess->esi_md, + enc_sess->esi_traffic_secrets[1], enc_sess->esi_trasec_sz, + kl.str, kl.len, new_secret, enc_sess->esi_trasec_sz); + memcpy(enc_sess->esi_traffic_secrets[1], new_secret, + enc_sess->esi_trasec_sz); + s = init_crypto_ctx(&pair->ykp_ctx[1], enc_sess->esi_md, + enc_sess->esi_aead, new_secret, enc_sess->esi_trasec_sz, + evp_aead_seal, + &hkdf_labels[enc_sess->esi_conn->cn_version == LSQVER_I002]); + if (s != 0) + { + LSQ_ERROR("could not init seal crypto ctx (key phase)"); + cleanup_crypto_ctx(&pair->ykp_ctx[1]); + /* This is a severe error, abort connection */ + enc_sess->esi_conn->cn_if->ci_internal_error(enc_sess->esi_conn, + "crypto ctx failure during key phase shift"); + dec_packin = DECPI_BADCRYPT; + goto err; + } + if (enc_sess->esi_flags & ESI_LOG_SECRETS) + log_crypto_pair(enc_sess, pair, "updated"); + enc_sess->esi_key_phase = key_phase; + } + + if (packet_in->pi_flags & PI_OWN_DATA) + lsquic_mm_put_packet_in_buf(&enpub->enp_mm, packet_in->pi_data, + packet_in->pi_data_sz); + packet_in->pi_data_sz = packet_in->pi_header_sz + out_sz; + packet_in->pi_data = dst; + packet_in->pi_flags |= PI_OWN_DATA | PI_DECRYPTED + | (enc_level << PIBIT_ENC_LEV_SHIFT); + pns = lsquic_enclev2pns[enc_level]; + if (packet_in->pi_packno > enc_sess->esi_max_packno[pns] + || !(enc_sess->esi_flags & (ESI_MAX_PACKNO_INIT << pns))) + enc_sess->esi_max_packno[pns] = packet_in->pi_packno; + enc_sess->esi_flags |= ESI_MAX_PACKNO_INIT << pns; + if (is_valid_packno(pair->ykp_thresh) + && packet_in->pi_packno > pair->ykp_thresh) + pair->ykp_thresh = packet_in->pi_packno; + return DECPI_OK; + + err: + if (crypto_ctx == &crypto_ctx_buf) + cleanup_crypto_ctx(crypto_ctx); + if (dst) + lsquic_mm_put_packet_in_buf(&enpub->enp_mm, dst, dst_sz); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "could not decrypt packet (type %s, " + "number %"PRIu64")", lsquic_hety2str[packet_in->pi_header_type], + packet_in->pi_packno); + return dec_packin; +} + + +static const char * +iquic_esf_get_sni (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + const char *server_name; + + server_name = SSL_get_servername(enc_sess->esi_ssl, TLSEXT_NAMETYPE_host_name); +#ifndef NDEBUG + if (!server_name) + server_name = enc_sess->esi_sni_bypass; +#endif + return server_name; +} + + +static int +iquic_esf_global_init (int flags) +{ + s_idx = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL); + if (s_idx >= 0) + { + LSQ_LOG1(LSQ_LOG_DEBUG, "SSL extra data index: %d", s_idx); + return 0; + } + else + { + LSQ_LOG1(LSQ_LOG_ERROR, "%s: could not select index", __func__); + return -1; + } +} + + +static void +iquic_esf_global_cleanup (void) +{ +} + + +static struct stack_st_X509 * +iquic_esf_get_server_cert_chain (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + STACK_OF(X509) *chain; + + if (enc_sess->esi_ssl) + { + chain = SSL_get_peer_cert_chain(enc_sess->esi_ssl); + return X509_chain_up_ref(chain); + } + else + return NULL; +} + + +static const char * +iquic_esf_cipher (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + const SSL_CIPHER *cipher; + + if (enc_sess->esi_flags & ESI_CACHED_INFO) + return enc_sess->esi_cached_info.cipher_name; + else if (enc_sess->esi_ssl) + { + cipher = SSL_get_current_cipher(enc_sess->esi_ssl); + return SSL_CIPHER_get_name(cipher); + } + else + { + LSQ_WARN("SSL session is not set"); + return "null"; + } +} + + +static int +iquic_esf_keysize (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + const SSL_CIPHER *cipher; + uint32_t id; + + if (enc_sess->esi_flags & ESI_CACHED_INFO) + return enc_sess->esi_cached_info.alg_bits / 8; + else if (enc_sess->esi_ssl) + { + cipher = SSL_get_current_cipher(enc_sess->esi_ssl); + id = cipher ? SSL_CIPHER_get_id(cipher) : 0; + + /* RFC 8446, Appendix B.4 */ + switch (id) + { + case 0x03000000 | 0x1301: /* TLS_AES_128_GCM_SHA256 */ + return 128 / 8; + case 0x03000000 | 0x1302: /* TLS_AES_256_GCM_SHA384 */ + return 256 / 8; + case 0x03000000 | 0x1303: /* TLS_CHACHA20_POLY1305_SHA256 */ + return 256 / 8; + default: + return -1; + } + } + else + { + LSQ_WARN("SSL session is not set"); + return -1; + } +} + + +static int +iquic_esf_alg_keysize (enc_session_t *enc_session_p) +{ + /* Modeled on SslConnection::getEnv() */ + return iquic_esf_keysize(enc_session_p); +} + + +static int +iquic_esf_sess_resume_enabled (enc_session_t *enc_session_p) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + return !!(enc_sess->esi_flags & ESI_USE_SSL_TICKET); +} + + +static void +iquic_esfi_set_iscid (enc_session_t *enc_session_p, + const struct lsquic_packet_in *packet_in) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + + if (!(enc_sess->esi_flags & ESI_ISCID)) + { + lsquic_scid_from_packet_in(packet_in, &enc_sess->esi_iscid); + enc_sess->esi_flags |= ESI_ISCID; + LSQ_DEBUGC("set ISCID to %"CID_FMT, CID_BITS(&enc_sess->esi_iscid)); + } +} + + +int +iquic_esfi_switch_version (enc_session_t *enc_session_p, lsquic_cid_t *dcid, + int backup_keys) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + + enc_sess->esi_flags |= ESI_SWITCH_VER; + + /* Free previous handshake keys */ + assert(enc_sess->esi_hsk_crypto); + if (backup_keys) + { + if (!enc_sess->esi_vn_save) + { + enc_sess->esi_vn_save = calloc(1, sizeof(*enc_sess->esi_vn_save)); + //skip error, non fatal + } + else + cleanup_hsk_crypto(enc_sess->esi_vn_save); + if (enc_sess->esi_vn_save) + *enc_sess->esi_vn_save = enc_sess->esi_hsk_crypto[ENC_LEV_INIT]; + } + if (!enc_sess->esi_vn_save) + cleanup_hsk_crypto(&enc_sess->esi_hsk_crypto[ENC_LEV_INIT]); + else + memset(&enc_sess->esi_hsk_crypto[ENC_LEV_INIT], 0, + sizeof(enc_sess->esi_hsk_crypto[ENC_LEV_INIT])); + if (!dcid) + { + if (enc_sess->esi_flags & ESI_RETRY) + dcid = &enc_sess->esi_rscid; + else + dcid = &enc_sess->esi_odcid; + } + if (0 == setup_handshake_keys(enc_sess, dcid)) + { + LSQ_INFO("update handshake keys to version %s", + lsquic_ver2str[enc_sess->esi_conn->cn_version]); + return 0; + } + else + return -1; +} + + +static int +iquic_esfi_reset_dcid (enc_session_t *enc_session_p, + const lsquic_cid_t *old_dcid, const lsquic_cid_t *new_dcid) +{ + struct enc_sess_iquic *const enc_sess = enc_session_p; + + enc_sess->esi_odcid = *old_dcid; + enc_sess->esi_rscid = *new_dcid; + enc_sess->esi_flags |= ESI_ODCID|ESI_RSCID|ESI_RETRY; + + /* Free previous handshake keys */ + assert(enc_sess->esi_hsk_crypto); + cleanup_hsk_crypto(&enc_sess->esi_hsk_crypto[ENC_LEV_INIT]); + + if (0 == setup_handshake_keys(enc_sess, new_dcid)) + { + LSQ_INFOC("reset DCID to %"CID_FMT, CID_BITS(new_dcid)); + return 0; + } + else + return -1; +} + + +static void +iquic_esfi_handshake_confirmed (enc_session_t *sess) +{ + struct enc_sess_iquic *enc_sess = (struct enc_sess_iquic *) sess; + + if (!(enc_sess->esi_flags & ESI_HSK_CONFIRMED)) + { + LSQ_DEBUG("handshake has been confirmed"); + enc_sess->esi_flags |= ESI_HSK_CONFIRMED; + maybe_drop_SSL(enc_sess); + } +} + + +static int +iquic_esfi_in_init (enc_session_t *sess) +{ + struct enc_sess_iquic *enc_sess = (struct enc_sess_iquic *) sess; + int in_init; + + if (enc_sess->esi_ssl) + { + in_init = SSL_in_init(enc_sess->esi_ssl); + LSQ_DEBUG("in_init: %d", in_init); + return in_init; + } + else + { + LSQ_DEBUG("no SSL object, in_init: 0"); + return 0; + } +} + + +static int +iquic_esfi_data_in (enc_session_t *sess, enum enc_level enc_level, + const unsigned char *buf, size_t len) +{ + struct enc_sess_iquic *enc_sess = (struct enc_sess_iquic *) sess; + int s; + size_t str_sz; + char str[MAX(1500 * 5, ERR_ERROR_STRING_BUF_LEN)]; + + if (!enc_sess->esi_ssl) + return -1; + + s = SSL_provide_quic_data(enc_sess->esi_ssl, + (enum ssl_encryption_level_t) enc_level, buf, len); + if (!s) + { + LSQ_WARN("SSL_provide_quic_data returned false: %s", + ERR_error_string(ERR_get_error(), str)); + return -1; + } + LSQ_DEBUG("provided %zu bytes of %u-level data to SSL", len, enc_level); + str_sz = lsquic_hexdump(buf, len, str, sizeof(str)); + LSQ_DEBUG("\n%.*s", (int) str_sz, str); + s = SSL_do_handshake(enc_sess->esi_ssl); + LSQ_DEBUG("do_handshake returns %d", s); + return 0; +} + + +static void iquic_esfi_shake_stream (enc_session_t *sess, + struct lsquic_stream *stream, const char *what); + + +const struct enc_session_funcs_iquic lsquic_enc_session_iquic_ietf_v1 = +{ + .esfi_create_client = iquic_esfi_create_client, + .esfi_destroy = iquic_esfi_destroy, + .esfi_get_peer_transport_params + = iquic_esfi_get_peer_transport_params, + .esfi_reset_dcid = iquic_esfi_reset_dcid, + .esfi_init_server = iquic_esfi_init_server, + .esfi_set_iscid = iquic_esfi_set_iscid, + .esfi_set_streams = iquic_esfi_set_streams, + .esfi_create_server = iquic_esfi_create_server, + .esfi_shake_stream = iquic_esfi_shake_stream, + .esfi_handshake_confirmed + = iquic_esfi_handshake_confirmed, + .esfi_in_init = iquic_esfi_in_init, + .esfi_data_in = iquic_esfi_data_in, +}; + + +const struct enc_session_funcs_common lsquic_enc_session_common_ietf_v1 = +{ + .esf_encrypt_packet = iquic_esf_encrypt_packet, + .esf_decrypt_packet = iquic_esf_decrypt_packet, + .esf_flush_encryption= iquic_esf_flush_encryption, + .esf_global_cleanup = iquic_esf_global_cleanup, + .esf_global_init = iquic_esf_global_init, + .esf_tag_len = IQUIC_TAG_LEN, + .esf_get_server_cert_chain + = iquic_esf_get_server_cert_chain, + .esf_get_sni = iquic_esf_get_sni, + .esf_cipher = iquic_esf_cipher, + .esf_keysize = iquic_esf_keysize, + .esf_alg_keysize = iquic_esf_alg_keysize, + .esf_is_sess_resume_enabled = iquic_esf_sess_resume_enabled, + .esf_set_conn = iquic_esf_set_conn, +}; + + +static +const struct enc_session_funcs_common lsquic_enc_session_common_ietf_v1_no_flush = +{ + .esf_encrypt_packet = iquic_esf_encrypt_packet, + .esf_decrypt_packet = iquic_esf_decrypt_packet, + .esf_global_cleanup = iquic_esf_global_cleanup, + .esf_global_init = iquic_esf_global_init, + .esf_tag_len = IQUIC_TAG_LEN, + .esf_get_server_cert_chain + = iquic_esf_get_server_cert_chain, + .esf_get_sni = iquic_esf_get_sni, + .esf_cipher = iquic_esf_cipher, + .esf_keysize = iquic_esf_keysize, + .esf_alg_keysize = iquic_esf_alg_keysize, + .esf_is_sess_resume_enabled = iquic_esf_sess_resume_enabled, + .esf_set_conn = iquic_esf_set_conn, +}; + + +static void +cache_info (struct enc_sess_iquic *enc_sess) +{ + const SSL_CIPHER *cipher; + + cipher = SSL_get_current_cipher(enc_sess->esi_ssl); + enc_sess->esi_cached_info.cipher_name = SSL_CIPHER_get_name(cipher); + SSL_CIPHER_get_bits(cipher, &enc_sess->esi_cached_info.alg_bits); + enc_sess->esi_flags |= ESI_CACHED_INFO; +} + + +static void +drop_SSL (struct enc_sess_iquic *enc_sess) +{ + LSQ_DEBUG("drop SSL object"); + if (enc_sess->esi_conn->cn_if->ci_drop_crypto_streams) + enc_sess->esi_conn->cn_if->ci_drop_crypto_streams( + enc_sess->esi_conn); + cache_info(enc_sess); + SSL_free(enc_sess->esi_ssl); + enc_sess->esi_ssl = NULL; + free_handshake_keys(enc_sess); +} + + +static void +maybe_drop_SSL (struct enc_sess_iquic *enc_sess) +{ + /* We rely on the following BoringSSL property: it writes new session + * tickets before marking handshake as complete. In this case, the new + * session tickets have either been successfully written to crypto stream, + * in which case we can close it, or (unlikely) they are buffered in the + * frab list. + */ + if ((enc_sess->esi_flags & (ESI_HSK_CONFIRMED|ESI_HANDSHAKE_OK)) + == (ESI_HSK_CONFIRMED|ESI_HANDSHAKE_OK) + && enc_sess->esi_ssl + && lsquic_frab_list_empty(&enc_sess->esi_frals[ENC_LEV_APP])) + { + if ((enc_sess->esi_flags & (ESI_SERVER|ESI_WANT_TICKET)) + != ESI_WANT_TICKET) + drop_SSL(enc_sess); + else if (enc_sess->esi_alset + && !lsquic_alarmset_is_set(enc_sess->esi_alset, AL_SESS_TICKET)) + { + LSQ_DEBUG("no session ticket: delay dropping SSL object"); + lsquic_alarmset_set(enc_sess->esi_alset, AL_SESS_TICKET, + /* Wait up to two seconds for session tickets */ + lsquic_time_now() + 2000000); + } + } +} + + +static void +no_sess_ticket (enum alarm_id alarm_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now) +{ + struct enc_sess_iquic *enc_sess = ctx; + + LSQ_DEBUG("no session tickets forthcoming -- drop SSL"); + drop_SSL(enc_sess); +} + + +typedef char enums_have_the_same_value[ + (int) ssl_encryption_initial == (int) ENC_LEV_INIT && + (int) ssl_encryption_early_data == (int) ENC_LEV_0RTT && + (int) ssl_encryption_handshake == (int) ENC_LEV_HSK && + (int) ssl_encryption_application == (int) ENC_LEV_APP ? 1 : -1]; + +static int +set_secret (SSL *ssl, enum ssl_encryption_level_t level, + const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len, int rw) +{ + struct enc_sess_iquic *enc_sess; + struct crypto_ctx_pair *pair; + struct header_prot *hp; + struct crypto_params crypa; + int have_alpn; + const unsigned char *alpn; + unsigned alpn_len; + size_t key_len; + const enum enc_level enc_level = (enum enc_level) level; + unsigned char key[EVP_MAX_KEY_LENGTH]; + char errbuf[ERR_ERROR_STRING_BUF_LEN]; +#define hexbuf errbuf + struct label_set *labels; + + enc_sess = SSL_get_ex_data(ssl, s_idx); + if (!enc_sess) + return 0; + + if ((enc_sess->esi_flags & (ESI_ALPN_CHECKED|ESI_SERVER)) == ESI_SERVER + && enc_sess->esi_alpn) + { + enc_sess->esi_flags |= ESI_ALPN_CHECKED; + SSL_get0_alpn_selected(enc_sess->esi_ssl, &alpn, &alpn_len); + have_alpn = alpn && alpn_len == enc_sess->esi_alpn[0] + && 0 == memcmp(alpn, enc_sess->esi_alpn + 1, alpn_len); + if (have_alpn) + LSQ_DEBUG("Selected ALPN %.*s", (int) alpn_len, (char *) alpn); + else + { + LSQ_INFO("No ALPN is selected: send fatal alert"); + SSL_send_fatal_alert(ssl, ALERT_NO_APPLICATION_PROTOCOL); + return 0; + } + } + + if (0 != get_crypto_params(enc_sess, cipher, &crypa)) + return 0; + +/* + if (enc_sess->esi_flags & ESI_SERVER) + secrets[0] = read_secret, secrets[1] = write_secret; + else + secrets[0] = write_secret, secrets[1] = read_secret; + */ + + if (enc_level < ENC_LEV_APP) + { + assert(enc_sess->esi_hsk_crypto); + pair = &enc_sess->esi_hsk_crypto[enc_level].pair; + hp = &enc_sess->esi_hsk_crypto[enc_level].hp; + } + else + { + pair = &enc_sess->esi_pairs[0]; + hp = &enc_sess->esi_hp; + enc_sess->esi_trasec_sz = secret_len; + memcpy(enc_sess->esi_traffic_secrets[rw], secret, secret_len); + enc_sess->esi_md = crypa.md; + enc_sess->esi_aead = crypa.aead; + if (!(hp->hp_flags & (HP_CAN_READ|HP_CAN_WRITE)) + && crypa.aead == EVP_aead_chacha20_poly1305()) + { + LSQ_DEBUG("turn off header protection batching (chacha not " + "supported)"); + enc_sess->esi_conn->cn_esf_c = &lsquic_enc_session_common_ietf_v1_no_flush; + } + } + pair->ykp_thresh = IQUIC_INVALID_PACKNO; + + if (enc_sess->esi_flags & ESI_LOG_SECRETS) + LSQ_DEBUG("set %s secret for level %u: %s", rw2str[rw], enc_level, + HEXSTR(secret, secret_len, hexbuf)); + else + LSQ_DEBUG("set %s for level %u", rw2str[rw], enc_level); + + labels = &hkdf_labels[enc_sess->esi_conn->cn_version == LSQVER_I002]; + if (0 != init_crypto_ctx(&pair->ykp_ctx[rw], crypa.md, + crypa.aead, secret, secret_len, rw2dir(rw), labels)) + goto err; + + if (pair->ykp_ctx[!rw].yk_flags & YK_INITED) + { + /* Sanity check that the two sides end up with the same header + * protection logic, as they should. + */ + assert(hp->hp_gen_mask == crypa.gen_hp_mask); + } + else + { + hp->hp_enc_level = enc_level; + hp->hp_gen_mask = crypa.gen_hp_mask; + } + key_len = EVP_AEAD_key_length(crypa.aead); + if (hp->hp_gen_mask == gen_hp_mask_aes) + { + lsquic_qhkdf_expand(crypa.md, secret, secret_len, labels->hp, + labels->hp_len, key, key_len); + EVP_CIPHER_CTX_init(&hp->hp_u.cipher_ctx[rw]); + if (!EVP_EncryptInit_ex(&hp->hp_u.cipher_ctx[rw], crypa.hp, NULL, key, 0)) + { + LSQ_ERROR("cannot initialize cipher on level %u", enc_level); + goto err; + } + } + else + lsquic_qhkdf_expand(crypa.md, secret, secret_len, labels->hp, + labels->hp_len, hp->hp_u.buf[rw], key_len); + hp->hp_flags |= 1 << rw; + + if (enc_sess->esi_flags & ESI_LOG_SECRETS) + { + log_crypto_ctx(enc_sess, &pair->ykp_ctx[rw], "new", rw); + LSQ_DEBUG("%s hp: %s", rw2str[rw], + HEXSTR(hp->hp_gen_mask == gen_hp_mask_aes ? key : hp->hp_u.buf[rw], + key_len, hexbuf)); + } + + if (rw && enc_level == ENC_LEV_APP) + enc_sess->esi_have_forw = 1; + + return 1; + + err: + cleanup_crypto_ctx(&pair->ykp_ctx[0]); + cleanup_crypto_ctx(&pair->ykp_ctx[1]); + return 0; +#undef hexbuf +} + + +static int +cry_sm_set_read_secret (SSL *ssl, enum ssl_encryption_level_t level, + const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len) +{ + return set_secret(ssl, level, cipher, secret, secret_len, 0); +} + + +static int +cry_sm_set_write_secret (SSL *ssl, enum ssl_encryption_level_t level, + const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len) +{ + return set_secret(ssl, level, cipher, secret, secret_len, 1); +} + + +static int +cry_sm_write_message (SSL *ssl, enum ssl_encryption_level_t level, + const uint8_t *data, size_t len) +{ + struct enc_sess_iquic *enc_sess; + void *stream; + ssize_t nw; + + enc_sess = SSL_get_ex_data(ssl, s_idx); + if (!enc_sess) + return 0; + + stream = enc_sess->esi_streams[level]; + if (!stream) + return 0; + + /* The frab list logic is only applicable on the client. XXX This is + * likely to change when support for key updates is added. + */ + if (enc_sess->esi_flags & (ESI_ON_WRITE|ESI_SERVER)) + nw = enc_sess->esi_cryst_if->csi_write(stream, data, len); + else + { + LSQ_DEBUG("not in on_write event: buffer in a frab list"); + if (0 == lsquic_frab_list_write(&enc_sess->esi_frals[level], data, len)) + { + if (!lsquic_frab_list_empty(&enc_sess->esi_frals[level])) + enc_sess->esi_cryst_if->csi_wantwrite(stream, 1); + nw = len; + } + else + nw = -1; + } + + if (nw >= 0 && (size_t) nw == len) + { + enc_sess->esi_last_w = (enum enc_level) level; + LSQ_DEBUG("wrote %zu bytes to stream at encryption level %u", + len, level); + maybe_drop_SSL(enc_sess); + return 1; + } + else + { + LSQ_INFO("could not write %zu bytes: returned %zd", len, nw); + return 0; + } +} + + +static int +cry_sm_flush_flight (SSL *ssl) +{ + struct enc_sess_iquic *enc_sess; + void *stream; + unsigned level; + int s; + + enc_sess = SSL_get_ex_data(ssl, s_idx); + if (!enc_sess) + return 0; + + level = enc_sess->esi_last_w; + stream = enc_sess->esi_streams[level]; + if (!stream) + return 0; + + if (lsquic_frab_list_empty(&enc_sess->esi_frals[level])) + { + s = enc_sess->esi_cryst_if->csi_flush(stream); + return s == 0; + } + else + /* Frab list will get flushed */ /* TODO: add support for + recording flush points in frab list. */ + return 1; +} + + +static int +cry_sm_send_alert (SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert) +{ + struct enc_sess_iquic *enc_sess; + + enc_sess = SSL_get_ex_data(ssl, s_idx); + if (!enc_sess) + return 0; + + LSQ_INFO("got alert %"PRIu8, alert); + enc_sess->esi_conn->cn_if->ci_tls_alert(enc_sess->esi_conn, alert); + + return 1; +} + + +static const SSL_QUIC_METHOD cry_quic_method = +{ + .set_read_secret = cry_sm_set_read_secret, + .set_write_secret = cry_sm_set_write_secret, + .add_handshake_data = cry_sm_write_message, + .flush_flight = cry_sm_flush_flight, + .send_alert = cry_sm_send_alert, +}; + + +static lsquic_stream_ctx_t * +chsk_ietf_on_new_stream (void *stream_if_ctx, struct lsquic_stream *stream) +{ + struct enc_sess_iquic *const enc_sess = stream_if_ctx; + enum enc_level enc_level; + + enc_level = enc_sess->esi_cryst_if->csi_enc_level(stream); + if (enc_level == ENC_LEV_INIT) + enc_sess->esi_cryst_if->csi_wantwrite(stream, 1); + + LSQ_DEBUG("handshake stream created successfully"); + + return stream_if_ctx; +} + + +static lsquic_stream_ctx_t * +shsk_ietf_on_new_stream (void *stream_if_ctx, struct lsquic_stream *stream) +{ + struct enc_sess_iquic *const enc_sess = stream_if_ctx; + enum enc_level enc_level; + + enc_level = enc_sess->esi_cryst_if->csi_enc_level(stream); + LSQ_DEBUG("on_new_stream called on level %u", enc_level); + + enc_sess->esi_cryst_if->csi_wantread(stream, 1); + + return stream_if_ctx; +} + + +static void +chsk_ietf_on_close (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct enc_sess_iquic *const enc_sess = (struct enc_sess_iquic *) ctx; + if (enc_sess && enc_sess->esi_cryst_if) + LSQ_DEBUG("crypto stream level %u is closed", + (unsigned) enc_sess->esi_cryst_if->csi_enc_level(stream)); +} + + +static const char *const ihs2str[] = { + [IHS_WANT_READ] = "want read", + [IHS_WANT_WRITE] = "want write", + [IHS_WANT_RW] = "want rw", + [IHS_STOP] = "stop", +}; + + +static void +iquic_esfi_shake_stream (enc_session_t *sess, + struct lsquic_stream *stream, const char *what) +{ + struct enc_sess_iquic *enc_sess = (struct enc_sess_iquic *)sess; + enum iquic_handshake_status st; + enum enc_level enc_level; + int write; + if (0 == (enc_sess->esi_flags & ESI_HANDSHAKE_OK)) + st = iquic_esfi_handshake(enc_sess); + else + st = iquic_esfi_post_handshake(enc_sess); + enc_level = enc_sess->esi_cryst_if->csi_enc_level(stream); + LSQ_DEBUG("enc level %s after %s: %s", lsquic_enclev2str[enc_level], what, + ihs2str[st]); + switch (st) + { + case IHS_WANT_READ: + write = !lsquic_frab_list_empty(&enc_sess->esi_frals[enc_level]); + enc_sess->esi_cryst_if->csi_wantwrite(stream, write); + enc_sess->esi_cryst_if->csi_wantread(stream, 1); + break; + case IHS_WANT_WRITE: + enc_sess->esi_cryst_if->csi_wantwrite(stream, 1); + enc_sess->esi_cryst_if->csi_wantread(stream, 0); + break; + case IHS_WANT_RW: + enc_sess->esi_cryst_if->csi_wantwrite(stream, 1); + enc_sess->esi_cryst_if->csi_wantread(stream, 1); + break; + default: + assert(st == IHS_STOP); + write = !lsquic_frab_list_empty(&enc_sess->esi_frals[enc_level]); + enc_sess->esi_cryst_if->csi_wantwrite(stream, write); + enc_sess->esi_cryst_if->csi_wantread(stream, 0); + break; + } + LSQ_DEBUG("Exit shake_stream"); + maybe_drop_SSL(enc_sess); +} + + +struct readf_ctx +{ + struct enc_sess_iquic *enc_sess; + enum enc_level enc_level; + int err; +}; + + +static size_t +readf_cb (void *ctx, const unsigned char *buf, size_t len, int fin) +{ + struct readf_ctx *const readf_ctx = (void *) ctx; + struct enc_sess_iquic *const enc_sess = readf_ctx->enc_sess; + int s; + size_t str_sz; + char str[MAX(1500 * 5, ERR_ERROR_STRING_BUF_LEN)]; + + s = SSL_provide_quic_data(enc_sess->esi_ssl, + (enum ssl_encryption_level_t) readf_ctx->enc_level, buf, len); + if (s) + { + LSQ_DEBUG("provided %zu bytes of %u-level data to SSL", len, + readf_ctx->enc_level); + str_sz = lsquic_hexdump(buf, len, str, sizeof(str)); + LSQ_DEBUG("\n%.*s", (int) str_sz, str); + return len; + } + else + { + LSQ_WARN("SSL_provide_quic_data returned false: %s", + ERR_error_string(ERR_get_error(), str)); + readf_ctx->err++; + return 0; + } +} + + +static size_t +discard_cb (void *ctx, const unsigned char *buf, size_t len, int fin) +{ + return len; +} + + +static void +chsk_ietf_on_read (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct enc_sess_iquic *const enc_sess = (void *) ctx; + enum enc_level enc_level = enc_sess->esi_cryst_if->csi_enc_level(stream); + struct readf_ctx readf_ctx = { enc_sess, enc_level, 0, }; + ssize_t nread; + + + if (enc_sess->esi_ssl) + { + nread = enc_sess->esi_cryst_if->csi_readf(stream, readf_cb, &readf_ctx); + if (!(nread < 0 || readf_ctx.err)) + iquic_esfi_shake_stream((enc_session_t *)enc_sess, stream, + "on_read"); + else + enc_sess->esi_conn->cn_if->ci_internal_error(enc_sess->esi_conn, + "shaking stream failed: nread: %zd, err: %d, SSL err: %"PRIu32, + nread, readf_ctx.err, ERR_get_error()); + } + else + { + /* This branch is reached when we don't want TLS ticket and drop + * the SSL object before we process TLS tickets that have been + * already received and waiting in the incoming stream buffer. + */ + nread = enc_sess->esi_cryst_if->csi_readf(stream, discard_cb, NULL); + lsquic_stream_wantread(stream, 0); + LSQ_DEBUG("no SSL object: discard %zd bytes of SSL data", nread); + } +} + + +static void +maybe_write_from_fral (struct enc_sess_iquic *enc_sess, + struct lsquic_stream *stream) +{ + enum enc_level enc_level = enc_sess->esi_cryst_if->csi_enc_level(stream); + struct frab_list *const fral = &enc_sess->esi_frals[enc_level]; + struct lsquic_reader reader = { + .lsqr_read = lsquic_frab_list_read, + .lsqr_size = lsquic_frab_list_size, + .lsqr_ctx = fral, + }; + ssize_t nw; + + if (lsquic_frab_list_empty(fral)) + return; + + nw = lsquic_stream_writef(stream, &reader); + if (nw >= 0) + { + LSQ_DEBUG("wrote %zd bytes to stream from frab list", nw); + (void) lsquic_stream_flush(stream); + if (lsquic_frab_list_empty(fral)) + lsquic_stream_wantwrite(stream, 0); + } + else + { + enc_sess->esi_conn->cn_if->ci_internal_error(enc_sess->esi_conn, + "cannot write to stream: %s", strerror(errno)); + lsquic_stream_wantwrite(stream, 0); + } +} + + +static void +chsk_ietf_on_write (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct enc_sess_iquic *const enc_sess = (void *) ctx; + + maybe_write_from_fral(enc_sess, stream); + + enc_sess->esi_flags |= ESI_ON_WRITE; + iquic_esfi_shake_stream(enc_sess, stream, "on_write"); + enc_sess->esi_flags &= ~ESI_ON_WRITE; +} + + +const struct lsquic_stream_if lsquic_cry_sm_if = +{ + .on_new_stream = chsk_ietf_on_new_stream, + .on_read = chsk_ietf_on_read, + .on_write = chsk_ietf_on_write, + .on_close = chsk_ietf_on_close, +}; + + +const struct lsquic_stream_if lsquic_mini_cry_sm_if = +{ + .on_new_stream = shsk_ietf_on_new_stream, + .on_read = chsk_ietf_on_read, + .on_write = chsk_ietf_on_write, + .on_close = chsk_ietf_on_close, +}; + + + + +const unsigned char *const lsquic_retry_key_buf[N_IETF_RETRY_VERSIONS] = +{ + /* [draft-ietf-quic-tls-25] Section 5.8 */ + (unsigned char *) + "\x4d\x32\xec\xdb\x2a\x21\x33\xc8\x41\xe4\x04\x3d\xf2\x7d\x44\x30", + /* [draft-ietf-quic-tls-29] Section 5.8 */ + (unsigned char *) + "\xcc\xce\x18\x7e\xd0\x9a\x09\xd0\x57\x28\x15\x5a\x6c\xb9\x6b\xe1", + /* [draft-ietf-quic-tls-33] Section 5.8 */ + (unsigned char *) + "\xbe\x0c\x69\x0b\x9f\x66\x57\x5a\x1d\x76\x6b\x54\xe3\x68\xc8\x4e", + /* [draft-draft-ietf-quic-v2] Section 3.3.3 */ + (unsigned char *) + "\x8f\xb4\xb0\x1b\x56\xac\x48\xe2\x60\xfb\xcb\xce\xad\x7c\xcc\x92", +}; + + +const unsigned char *const lsquic_retry_nonce_buf[N_IETF_RETRY_VERSIONS] = +{ + /* [draft-ietf-quic-tls-25] Section 5.8 */ + (unsigned char *) "\x4d\x16\x11\xd0\x55\x13\xa5\x52\xc5\x87\xd5\x75", + /* [draft-ietf-quic-tls-29] Section 5.8 */ + (unsigned char *) "\xe5\x49\x30\xf9\x7f\x21\x36\xf0\x53\x0a\x8c\x1c", + /* [draft-ietf-quic-tls-33] Section 5.8 */ + (unsigned char *) "\x46\x15\x99\xd3\x5d\x63\x2b\xf2\x23\x98\x25\xbb", + /* [draft-draft-ietf-quic-v2] Section 3.3.3 */ + (unsigned char *) "\xd8\x69\x69\xbc\x2d\x7c\x6d\x99\x90\xef\xb0\x4a", +}; + + +int +lsquic_enc_sess_ietf_gen_quic_ctx ( + const struct lsquic_engine_settings *settings, + enum lsquic_version version, unsigned char *buf, size_t bufsz) +{ + struct transport_params params; + int len; + + /* This code is pretty much copied from gen_trans_params(), with + * small (but important) exceptions. + */ + + memset(¶ms, 0, sizeof(params)); + params.tp_init_max_data = settings->es_init_max_data; + params.tp_init_max_stream_data_bidi_local + = settings->es_init_max_stream_data_bidi_local; + params.tp_init_max_stream_data_bidi_remote + = settings->es_init_max_stream_data_bidi_remote; + params.tp_init_max_stream_data_uni + = settings->es_init_max_stream_data_uni; + params.tp_init_max_streams_uni + = settings->es_init_max_streams_uni; + params.tp_init_max_streams_bidi + = settings->es_init_max_streams_bidi; + params.tp_ack_delay_exponent + = TP_DEF_ACK_DELAY_EXP; + params.tp_max_idle_timeout = settings->es_idle_timeout * 1000; + params.tp_max_ack_delay = TP_DEF_MAX_ACK_DELAY; + params.tp_active_connection_id_limit = MAX_IETF_CONN_DCIDS; + params.tp_set |= (1 << TPI_INIT_MAX_DATA) + | (1 << TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL) + | (1 << TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE) + | (1 << TPI_INIT_MAX_STREAM_DATA_UNI) + | (1 << TPI_INIT_MAX_STREAMS_UNI) + | (1 << TPI_INIT_MAX_STREAMS_BIDI) + | (1 << TPI_ACK_DELAY_EXPONENT) + | (1 << TPI_MAX_IDLE_TIMEOUT) + | (1 << TPI_MAX_ACK_DELAY) + | (1 << TPI_ACTIVE_CONNECTION_ID_LIMIT) + ; + if (settings->es_max_udp_payload_size_rx) + { + params.tp_max_udp_payload_size = settings->es_max_udp_payload_size_rx; + params.tp_set |= 1 << TPI_MAX_UDP_PAYLOAD_SIZE; + } + if (!settings->es_allow_migration) + params.tp_set |= 1 << TPI_DISABLE_ACTIVE_MIGRATION; + if (settings->es_ql_bits) + { + params.tp_loss_bits = settings->es_ql_bits - 1; + params.tp_set |= 1 << TPI_LOSS_BITS; + } + if (settings->es_delayed_acks) + { + params.tp_numerics[TPI_MIN_ACK_DELAY] = TP_MIN_ACK_DELAY; + params.tp_set |= 1 << TPI_MIN_ACK_DELAY; + params.tp_numerics[TPI_MIN_ACK_DELAY_02] = TP_MIN_ACK_DELAY; + params.tp_set |= 1 << TPI_MIN_ACK_DELAY_02; + } + if (settings->es_timestamps) + { + params.tp_numerics[TPI_TIMESTAMPS] = TS_GENERATE_THEM; + params.tp_set |= 1 << TPI_TIMESTAMPS; + } + if (settings->es_datagrams) + { + if (params.tp_set & (1 << TPI_MAX_UDP_PAYLOAD_SIZE)) + params.tp_numerics[TPI_MAX_DATAGRAM_FRAME_SIZE] + = params.tp_max_udp_payload_size; + else + params.tp_numerics[TPI_MAX_DATAGRAM_FRAME_SIZE] + = TP_DEF_MAX_UDP_PAYLOAD_SIZE; + params.tp_set |= 1 << TPI_MAX_DATAGRAM_FRAME_SIZE; + } + + params.tp_set &= SERVER_0RTT_TPS; + + len = (version == LSQVER_ID27 ? lsquic_tp_encode_27 : lsquic_tp_encode)( + ¶ms, 1, buf, bufsz); + if (len >= 0) + { + char str[MAX_TP_STR_SZ]; + LSQ_LOG1(LSQ_LOG_DEBUG, "generated QUIC server context of %d bytes " + "for version %s", len, lsquic_ver2str[version]); + LSQ_LOG1(LSQ_LOG_DEBUG, "%s", ((version == LSQVER_ID27 + ? lsquic_tp_to_str_27 : lsquic_tp_to_str)(¶ms, str, + sizeof(str)), str)); + } + else + LSQ_LOG1(LSQ_LOG_WARN, "cannot generate QUIC server context: %d", + errno); + return len; +} + + +struct lsquic_conn * +lsquic_ssl_to_conn (const struct ssl_st *ssl) +{ + struct enc_sess_iquic *enc_sess; + + if (s_idx < 0) + return NULL; + + enc_sess = SSL_get_ex_data(ssl, s_idx); + if (!enc_sess) + return NULL; + + return enc_sess->esi_conn; +} + + +int +lsquic_ssl_sess_to_resume_info (SSL *ssl, SSL_SESSION *session, + unsigned char **buf, size_t *buf_sz) +{ + struct enc_sess_iquic *enc_sess; + int status; + + if (s_idx < 0) + return -1; + + enc_sess = SSL_get_ex_data(ssl, s_idx); + if (!enc_sess) + return -1; + + status = iquic_ssl_sess_to_resume_info(enc_sess, ssl, session, buf, buf_sz); + if (status == 0) + { + LSQ_DEBUG("%s called successfully, unset WANT_TICKET flag", __func__); + enc_sess->esi_flags &= ~ESI_WANT_TICKET; + lsquic_alarmset_unset(enc_sess->esi_alset, AL_SESS_TICKET); + } + return status; +} diff --git a/external/lsquic/src/liblsquic/lsquic_eng_hist.c b/external/lsquic/src/liblsquic/lsquic_eng_hist.c new file mode 100644 index 0000000..d8abf7f --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_eng_hist.c @@ -0,0 +1,58 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#ifdef WIN32 +#include +#define localtime_r(a,b) localtime_s(b,a) +#endif + +#include "lsquic_eng_hist.h" + +#if ENG_HIST_ENABLED + +#define LSQUIC_LOGGER_MODULE LSQLM_ENG_HIST +#include "lsquic_types.h" +#include "lsquic_logger.h" + + +static void +log_hist_slice (const struct hist_slice *slice, time_t t) +{ + size_t strftime(char *s, size_t max, const char *format, + const struct tm *tm); + if (slice->sl_packets_in == 0 && + slice->sl_packets_out == 0 && + slice->sl_del_mini_conns == 0 && + slice->sl_del_full_conns == 0) + return; + + struct tm tm; + char timestr[sizeof("12:00:00")]; + + localtime_r(&t, &tm); + strftime(timestr, sizeof(timestr), "%T", &tm); + + LSQ_DEBUG("%s: pi: %u; po: %u; +mc: %u; -mc: %u; +fc: %u; -fc: %u", + timestr, + slice->sl_packets_in, + slice->sl_packets_out, + slice->sl_new_mini_conns, + slice->sl_del_mini_conns, + slice->sl_new_full_conns, + slice->sl_del_full_conns); +} + + +void +lsquic_eng_hist_log (const struct eng_hist *hist) +{ + unsigned i, idx; + time_t t0 = time(NULL) - ENG_HIST_NELEMS + 1; + for (i = 0; i < ENG_HIST_NELEMS; ++i) + { + idx = (hist->eh_prev_idx + i + 1) & (ENG_HIST_NELEMS - 1); + if (i >= ENG_HIST_NELEMS - ENG_HIST_N_TO_PRINT) + log_hist_slice(&hist->eh_slices[idx], t0 + i); + } +} + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_eng_hist.h b/external/lsquic/src/liblsquic/lsquic_eng_hist.h new file mode 100644 index 0000000..0e9ccf1 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_eng_hist.h @@ -0,0 +1,105 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_eng_hist.h - Engine history. + * + * Keep track of new and destroyed connections, packets in and packets out. + */ + +#ifndef LSQUIC_ENG_HIST +#define LSQUIC_ENG_HIST + +#include "lsquic_int_types.h" + +#define ENG_HIST_ENABLED 1 + +#define ENG_HIST_BITS 2 +#define ENG_HIST_NELEMS (1 << ENG_HIST_BITS) + +#ifndef ENG_HIST_N_TO_PRINT + /* By default, we do not print the whole history every second just + * the latest entry. + */ +# define ENG_HIST_N_TO_PRINT 1 +#endif + + +/* Keeps history per slice of time -- one second */ +struct hist_slice +{ + unsigned sl_packets_in, + sl_packets_out, + sl_new_full_conns, + sl_new_mini_conns, + sl_del_full_conns, + sl_del_mini_conns; +}; + + +struct eng_hist +{ + struct hist_slice eh_slices[ENG_HIST_NELEMS]; + unsigned eh_cur_idx, + eh_prev_idx; +}; + + +#if ENG_HIST_ENABLED +#include + +/* Initialize engine history */ +static inline void +eng_hist_init (struct eng_hist *eh) +{ + memset(eh, 0, sizeof(*eh)); + eh->eh_cur_idx = eh->eh_prev_idx = + time(NULL) & (ENG_HIST_NELEMS - 1); +} + + +/* Clear slice at current index */ +static inline void +eng_hist_clear_cur (struct eng_hist *eh) +{ + memset(&eh->eh_slices[eh->eh_cur_idx], 0, + sizeof(struct hist_slice)); +} + + +void +lsquic_eng_hist_log (const struct eng_hist *); + + +/* Switch to next slice if necessary */ +static inline void +eng_hist_tick (struct eng_hist *eh, lsquic_time_t now) +{ + if (0 == (now)) + eh->eh_cur_idx = time(NULL) & (ENG_HIST_NELEMS - 1); + else + eh->eh_cur_idx = ((now) / 1000000) & (ENG_HIST_NELEMS - 1); + if (eh->eh_cur_idx != eh->eh_prev_idx) + { + lsquic_eng_hist_log(eh); + eng_hist_clear_cur(eh); + eh->eh_prev_idx = eh->eh_cur_idx; + } +} + + +/* Increment element `what'. Slice increment is handled in this macro, too. */ +#define eng_hist_inc(eh, now, what) do { \ + eng_hist_tick(eh, now); \ + ++(eh)->eh_slices[(eh)->eh_cur_idx].what; \ +} while (0) + +#else /* !ENG_HIST_ENABLED */ + +#define eng_hist_init(eh) +#define eng_hist_clear_cur(eh) +#define eng_hist_tick(eh, now) +#define eng_hist_inc(eh, now, what) +#define lsquic_eng_hist_log(eh) + +#endif /* ENG_HIST_ENABLED */ + +#endif /* LSQUIC_ENG_HIST */ diff --git a/external/lsquic/src/liblsquic/lsquic_engine.c b/external/lsquic/src/liblsquic/lsquic_engine.c new file mode 100644 index 0000000..8477810 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_engine.c @@ -0,0 +1,3626 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Copyright (c) 2017 - 2023 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_engine.c - QUIC engine + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#include +#include +#include +#include +#include +#include +#endif + +#ifndef NDEBUG +#include +#endif + +#if defined(WIN32) || defined(NDEBUG) +#define CAN_LOSE_PACKETS 0 +#else +#define CAN_LOSE_PACKETS 1 +#endif + +#if CAN_LOSE_PACKETS +#include /* For code that loses packets */ +#endif + +#if LOG_PACKET_CHECKSUM +#include +#endif + +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_sizes.h" +#include "lsquic_parse_common.h" +#include "lsquic_parse.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_senhist.h" +#include "lsquic_rtt.h" +#include "lsquic_cubic.h" +#include "lsquic_pacer.h" +#include "lsquic_bw_sampler.h" +#include "lsquic_minmax.h" +#include "lsquic_bbr.h" +#include "lsquic_adaptive_cc.h" +#include "lsquic_set.h" +#include "lsquic_conn_flow.h" +#include "lsquic_sfcw.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_full_conn.h" +#include "lsquic_util.h" +#include "lsquic_qtags.h" +#include "lsquic_enc_sess.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_eng_hist.h" +#include "lsquic_ev_log.h" +#include "lsquic_version.h" +#include "lsquic_pr_queue.h" +#include "lsquic_mini_conn.h" +#include "lsquic_trechist.h" +#include "lsquic_mini_conn_ietf.h" +#include "lsquic_stock_shi.h" +#include "lsquic_purga.h" +#include "lsquic_tokgen.h" +#include "lsquic_attq.h" +#include "lsquic_min_heap.h" +#include "lsquic_http1x_if.h" +#include "lsquic_handshake.h" +#include "lsquic_crand.h" +#include "lsquic_ietf.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_ENGINE +#include "lsquic_logger.h" + +#ifndef LSQUIC_DEBUG_NEXT_ADV_TICK +#define LSQUIC_DEBUG_NEXT_ADV_TICK 1 +#endif + +#if LSQUIC_DEBUG_NEXT_ADV_TICK || LSQUIC_CONN_STATS +#include "lsquic_alarmset.h" +#endif + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +/* The batch of outgoing packets grows and shrinks dynamically */ +/* Batch sizes do not have to be powers of two */ +#define MAX_OUT_BATCH_SIZE 1024 +#define MIN_OUT_BATCH_SIZE 4 +#define INITIAL_OUT_BATCH_SIZE 32 + +struct out_batch +{ + lsquic_conn_t *conns [MAX_OUT_BATCH_SIZE]; + struct lsquic_out_spec outs [MAX_OUT_BATCH_SIZE]; + unsigned pack_off[MAX_OUT_BATCH_SIZE]; + lsquic_packet_out_t *packets[MAX_OUT_BATCH_SIZE * 2]; + struct iovec iov [MAX_OUT_BATCH_SIZE * 2]; +}; + +typedef struct lsquic_conn * (*conn_iter_f)(struct lsquic_engine *); + +static void +process_connections (struct lsquic_engine *engine, conn_iter_f iter, + lsquic_time_t now); + +static void +engine_incref_conn (lsquic_conn_t *conn, enum lsquic_conn_flags flag); + +static lsquic_conn_t * +engine_decref_conn (lsquic_engine_t *engine, lsquic_conn_t *conn, + enum lsquic_conn_flags flag); + +static void +force_close_conn (lsquic_engine_t *engine, lsquic_conn_t *conn); + +#if LSQUIC_CONN_STATS +static void +update_busy_detector (struct lsquic_engine *, struct lsquic_conn *, int); +#endif + +#if LSQUIC_COUNT_ENGINE_CALLS +#define ENGINE_CALLS_INCR(e) do { ++(e)->n_engine_calls; } while (0) +#else +#define ENGINE_CALLS_INCR(e) +#endif + +/* Nested calls to some LSQUIC functions are not supported. Functions that + * iterate over connections cannot be nested. + */ +#define ENGINE_IN(e) do { \ + assert(!((e)->pub.enp_flags & ENPUB_PROC)); \ + (e)->pub.enp_flags |= ENPUB_PROC; \ + ENGINE_CALLS_INCR(e); \ +} while (0) + +#define ENGINE_OUT(e) do { \ + assert((e)->pub.enp_flags & ENPUB_PROC); \ + (e)->pub.enp_flags &= ~ENPUB_PROC; \ +} while (0) + +/* A connection can be referenced from one of six places: + * + * 1. A hash is used to find connections in order to dispatch an incoming + * packet. Connections can be hashed by CIDs or by address. In the + * former case, each connection has one or more mappings in the hash + * table. IETF QUIC connections have up to eight (in our implementation) + * source CIDs and each of those would have a mapping. In client mode, + * depending on QUIC versions and options selected, it is may be + * necessary to hash connections by address, in which case incoming + * packets are delivered to connections based on the address. + * + * 2. Outgoing queue. + * + * 3. Tickable queue + * + * 4. Advisory Tick Time queue. + * + * 5. Closing connections queue. This is a transient queue -- it only + * exists for the duration of process_connections() function call. + * + * 6. Ticked connections queue. Another transient queue, similar to (5). + * + * The idea is to destroy the connection when it is no longer referenced. + * For example, a connection tick may return TICK_SEND|TICK_CLOSE. In + * that case, the connection is referenced from two places: (2) and (5). + * After its packets are sent, it is only referenced in (5), and at the + * end of the function call, when it is removed from (5), reference count + * goes to zero and the connection is destroyed. If not all packets can + * be sent, at the end of the function call, the connection is referenced + * by (2) and will only be removed once all outgoing packets have been + * sent. + */ +#define CONN_REF_FLAGS (LSCONN_HASHED \ + |LSCONN_HAS_OUTGOING \ + |LSCONN_TICKABLE \ + |LSCONN_TICKED \ + |LSCONN_CLOSING \ + |LSCONN_ATTQ) + + + + +struct cid_update_batch +{ + lsquic_cids_update_f cub_update_cids; + void *cub_update_ctx; + unsigned cub_count; + lsquic_cid_t cub_cids[20]; + void *cub_peer_ctxs[20]; +}; + +static void +cub_init (struct cid_update_batch *, lsquic_cids_update_f, void *); + + +struct lsquic_engine +{ + struct lsquic_engine_public pub; + enum { + ENG_SERVER = LSENG_SERVER, + ENG_HTTP = LSENG_HTTP, + ENG_COOLDOWN = (1 << 7), /* Cooldown: no new connections */ + ENG_PAST_DEADLINE + = (1 << 8), /* Previous call to a processing + * function went past time threshold. + */ + ENG_CONNS_BY_ADDR + = (1 << 9), /* Connections are hashed by address */ + ENG_FORCE_RETRY = (1 << 10), /* Will force retry packets to be sent */ +#ifndef NDEBUG + ENG_COALESCE = (1 << 24), /* Packet coalescing is enabled */ +#endif +#if CAN_LOSE_PACKETS + ENG_LOSE_PACKETS= (1 << 25), /* Lose *some* outgoing packets */ +#endif +#ifndef NDEBUG + ENG_DTOR = (1 << 26), /* Engine destructor */ +#endif + } flags; + lsquic_packets_out_f packets_out; + void *packets_out_ctx; + lsquic_cids_update_f report_new_scids; + lsquic_cids_update_f report_live_scids; + lsquic_cids_update_f report_old_scids; + void *scids_ctx; + struct lsquic_hash *conns_hash; + struct min_heap conns_tickable; + struct min_heap conns_out; + struct eng_hist history; + unsigned batch_size; + unsigned min_batch_size, max_batch_size; + struct lsquic_conn *curr_conn; + struct pr_queue *pr_queue; + struct attq *attq; + /* Track time last time a packet was sent to give new connections + * priority lower than that of existing connections. + */ + lsquic_time_t last_sent; +#if CAN_LOSE_PACKETS + regex_t lose_packets_re; + const char *lose_packets_str; +#endif + unsigned n_conns; + lsquic_time_t deadline; + lsquic_time_t resume_sending_at; + lsquic_time_t mem_logged_last; + unsigned mini_conns_count; + struct lsquic_purga *purga; +#if LSQUIC_CONN_STATS + struct { + unsigned conns; + } stats; + struct conn_stats conn_stats_sum; + FILE *stats_fh; +#endif + struct cid_update_batch new_scids; + struct out_batch out_batch; +#if LSQUIC_COUNT_ENGINE_CALLS + unsigned long n_engine_calls; +#endif +#if LSQUIC_DEBUG_NEXT_ADV_TICK + uintptr_t last_logged_conn; + unsigned last_logged_ae_why; + int last_tick_diff; +#endif + struct crand crand; + EVP_AEAD_CTX retry_aead_ctx[N_IETF_RETRY_VERSIONS]; +#if LSQUIC_CONN_STATS + struct { + uint16_t immed_ticks; /* bitmask */ +#define MAX_IMMED_TICKS UINT16_MAX + struct lsquic_conn *last_conn, /* from last call */ + *pin_conn, /* last connection with packet in */ + *current; /* currently busy connection */ + lsquic_time_t last_log; + } busy; +#endif +}; + + +void +lsquic_engine_init_settings (struct lsquic_engine_settings *settings, + unsigned flags) +{ + memset(settings, 0, sizeof(*settings)); + settings->es_versions = LSQUIC_DF_VERSIONS; + if (flags & ENG_SERVER) + { + settings->es_cfcw = LSQUIC_DF_CFCW_SERVER; + settings->es_sfcw = LSQUIC_DF_SFCW_SERVER; + settings->es_support_srej= LSQUIC_DF_SUPPORT_SREJ_SERVER; + settings->es_init_max_data + = LSQUIC_DF_INIT_MAX_DATA_SERVER; + settings->es_init_max_stream_data_bidi_remote + = LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_REMOTE_SERVER; + settings->es_init_max_stream_data_bidi_local + = LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_LOCAL_SERVER; + settings->es_init_max_stream_data_uni + = LSQUIC_DF_INIT_MAX_STREAM_DATA_UNI_SERVER; + settings->es_init_max_streams_uni + = LSQUIC_DF_INIT_MAX_STREAMS_UNI_SERVER; + settings->es_ping_period = 0; + settings->es_noprogress_timeout + = LSQUIC_DF_NOPROGRESS_TIMEOUT_SERVER; +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + settings->es_webtransport_server = LSQUIC_DF_WEBTRANSPORT_SERVER; + settings->es_max_webtransport_server_streams = LSQUIC_DF_MAX_WEBTRANSPORT_SERVER_STREAMS; +#endif + } + else + { + settings->es_cfcw = LSQUIC_DF_CFCW_CLIENT; + settings->es_sfcw = LSQUIC_DF_SFCW_CLIENT; + settings->es_support_srej= LSQUIC_DF_SUPPORT_SREJ_CLIENT; + settings->es_init_max_data + = LSQUIC_DF_INIT_MAX_DATA_CLIENT; + settings->es_init_max_stream_data_bidi_remote + = LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_REMOTE_CLIENT; + settings->es_init_max_stream_data_bidi_local + = LSQUIC_DF_INIT_MAX_STREAM_DATA_BIDI_LOCAL_CLIENT; + settings->es_init_max_stream_data_uni + = LSQUIC_DF_INIT_MAX_STREAM_DATA_UNI_CLIENT; + settings->es_init_max_streams_uni + = LSQUIC_DF_INIT_MAX_STREAMS_UNI_CLIENT; + settings->es_ping_period = LSQUIC_DF_PING_PERIOD; + settings->es_noprogress_timeout + = LSQUIC_DF_NOPROGRESS_TIMEOUT_CLIENT; + } + settings->es_max_streams_in = LSQUIC_DF_MAX_STREAMS_IN; + settings->es_idle_conn_to = LSQUIC_DF_IDLE_CONN_TO; + settings->es_idle_timeout = LSQUIC_DF_IDLE_TIMEOUT; + settings->es_handshake_to = LSQUIC_DF_HANDSHAKE_TO; + settings->es_silent_close = LSQUIC_DF_SILENT_CLOSE; + settings->es_max_header_list_size + = LSQUIC_DF_MAX_HEADER_LIST_SIZE; + settings->es_ua = LSQUIC_DF_UA; + settings->es_ecn = LSQUIC_DF_ECN; + + settings->es_pdmd = QTAG_X509; + settings->es_aead = QTAG_AESG; + settings->es_kexs = QTAG_C255; + settings->es_support_push = LSQUIC_DF_SUPPORT_PUSH; + settings->es_support_tcid0 = LSQUIC_DF_SUPPORT_TCID0; + settings->es_support_nstp = LSQUIC_DF_SUPPORT_NSTP; + settings->es_honor_prst = LSQUIC_DF_HONOR_PRST; + settings->es_progress_check = LSQUIC_DF_PROGRESS_CHECK; + settings->es_rw_once = LSQUIC_DF_RW_ONCE; + settings->es_proc_time_thresh= LSQUIC_DF_PROC_TIME_THRESH; + settings->es_pace_packets = LSQUIC_DF_PACE_PACKETS; + settings->es_clock_granularity = LSQUIC_DF_CLOCK_GRANULARITY; + settings->es_max_inchoate = LSQUIC_DF_MAX_INCHOATE; + settings->es_send_prst = LSQUIC_DF_SEND_PRST; + settings->es_sttl = LSQUIC_DF_STTL; + settings->es_init_max_streams_bidi + = LSQUIC_DF_INIT_MAX_STREAMS_BIDI; + settings->es_scid_len = LSQUIC_DF_SCID_LEN; + settings->es_scid_iss_rate = LSQUIC_DF_SCID_ISS_RATE; + settings->es_qpack_dec_max_size = LSQUIC_DF_QPACK_DEC_MAX_SIZE; + settings->es_qpack_dec_max_blocked = LSQUIC_DF_QPACK_DEC_MAX_BLOCKED; + settings->es_qpack_enc_max_size = LSQUIC_DF_QPACK_ENC_MAX_SIZE; + settings->es_qpack_enc_max_blocked = LSQUIC_DF_QPACK_ENC_MAX_BLOCKED; + settings->es_allow_migration = LSQUIC_DF_ALLOW_MIGRATION; + settings->es_retry_token_duration = LSQUIC_DF_RETRY_TOKEN_DURATION; + settings->es_ql_bits = LSQUIC_DF_QL_BITS; + settings->es_spin = LSQUIC_DF_SPIN; + settings->es_delayed_acks = LSQUIC_DF_DELAYED_ACKS; + settings->es_timestamps = LSQUIC_DF_TIMESTAMPS; + settings->es_grease_quic_bit = LSQUIC_DF_GREASE_QUIC_BIT; + settings->es_mtu_probe_timer = LSQUIC_DF_MTU_PROBE_TIMER; + settings->es_dplpmtud = LSQUIC_DF_DPLPMTUD; + settings->es_cc_algo = LSQUIC_DF_CC_ALGO; + settings->es_cc_rtt_thresh = LSQUIC_DF_CC_RTT_THRESH; + settings->es_optimistic_nat = LSQUIC_DF_OPTIMISTIC_NAT; + settings->es_ext_http_prio = LSQUIC_DF_EXT_HTTP_PRIO; + settings->es_ptpc_periodicity= LSQUIC_DF_PTPC_PERIODICITY; + settings->es_ptpc_max_packtol= LSQUIC_DF_PTPC_MAX_PACKTOL; + settings->es_ptpc_dyn_target = LSQUIC_DF_PTPC_DYN_TARGET; + settings->es_ptpc_target = LSQUIC_DF_PTPC_TARGET; + settings->es_ptpc_prop_gain = LSQUIC_DF_PTPC_PROP_GAIN; + settings->es_ptpc_int_gain = LSQUIC_DF_PTPC_INT_GAIN; + settings->es_ptpc_err_thresh = LSQUIC_DF_PTPC_ERR_THRESH; + settings->es_ptpc_err_divisor= LSQUIC_DF_PTPC_ERR_DIVISOR; + settings->es_delay_onclose = LSQUIC_DF_DELAY_ONCLOSE; + settings->es_check_tp_sanity = LSQUIC_DF_CHECK_TP_SANITY; + settings->es_amp_factor = LSQUIC_DF_AMP_FACTOR; + settings->es_send_verneg = LSQUIC_DF_SEND_VERNEG; +} + + +/* Note: if returning an error, err_buf must be valid if non-NULL */ +int +lsquic_engine_check_settings (const struct lsquic_engine_settings *settings, + unsigned flags, + char *err_buf, size_t err_buf_sz) +{ + if (settings->es_cfcw < LSQUIC_MIN_FCW || + settings->es_sfcw < LSQUIC_MIN_FCW) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "%s", + "flow control window set too low"); + return -1; + } + if (0 == (settings->es_versions & LSQUIC_SUPPORTED_VERSIONS)) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "%s", + "No supported QUIC versions specified"); + return -1; + } + if (settings->es_versions & ~LSQUIC_SUPPORTED_VERSIONS) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "%s", + "one or more unsupported QUIC version is specified"); + return -1; + } + if (flags & ENG_SERVER) + { + if (settings->es_handshake_to > + MAX_MINI_CONN_LIFESPAN_IN_USEC) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "handshake timeout %lu" + " usec is too large. The maximum for server is %u usec", + settings->es_handshake_to, MAX_MINI_CONN_LIFESPAN_IN_USEC); + return -1; + } + } + if (settings->es_idle_timeout > 600) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "%s", + "The maximum value of idle timeout is 600 seconds"); + return -1; + } + if (settings->es_scid_len > MAX_CID_LEN) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "Source connection ID cannot be %u " + "bytes long; it must be between 0 and %u.", + settings->es_scid_len, MAX_CID_LEN); + return -1; + } + + if (settings->es_cc_algo > 3) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "Invalid congestion control " + "algorithm value %u", settings->es_cc_algo); + return -1; + } + + if (!(settings->es_ql_bits >= 0 && settings->es_ql_bits <= 2)) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "Invalid QL bits value %d ", + settings->es_ql_bits); + return -1; + } + + if (!(settings->es_spin == 0 || settings->es_spin == 1)) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "Invalid spin value %d", + settings->es_spin); + return -1; + } + + if (settings->es_mtu_probe_timer && settings->es_mtu_probe_timer < 1000) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "mtu probe timer is too small: " + "%u ms", settings->es_mtu_probe_timer); + return -1; + } + + if (settings->es_max_batch_size > MAX_OUT_BATCH_SIZE) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "max batch size is greater than " + "the allowed maximum of %u", (unsigned) MAX_OUT_BATCH_SIZE); + return -1; + } +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + if(settings->es_webtransport_server) + { + if(!(flags & ENG_SERVER)) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "server webtransport support enabled, but " + "ENG_SERVER flag is not set"); + return -1; + } + + if(settings->es_max_webtransport_server_streams == 0) + { + if (err_buf) + snprintf(err_buf, err_buf_sz, "server webtransport support enabled, but " + "webtransport sessions count is 0"); + return -1; + } + } +#endif + return 0; +} + + +static void +free_packet (void *ctx, void *conn_ctx, void *packet_data, char is_ipv6) +{ + free(packet_data); +} + + +static void * +malloc_buf (void *ctx, void *peer_ctx, lsquic_conn_ctx_t *conn_ctx, unsigned short size, char is_ipv6) +{ + return malloc(size); +} + + +static const struct lsquic_packout_mem_if stock_pmi = +{ + malloc_buf, free_packet, free_packet, +}; + + +static int +hash_conns_by_addr (const struct lsquic_engine *engine) +{ + if (engine->flags & ENG_SERVER) + return 0; + if (engine->pub.enp_settings.es_versions & LSQUIC_FORCED_TCID0_VERSIONS) + return 1; + if ((engine->pub.enp_settings.es_versions & LSQUIC_GQUIC_HEADER_VERSIONS) + && engine->pub.enp_settings.es_support_tcid0) + return 1; + if (engine->pub.enp_settings.es_scid_len == 0) + return 1; + return 0; +} + + +lsquic_engine_t * +lsquic_engine_new (unsigned flags, + const struct lsquic_engine_api *api) +{ + lsquic_engine_t *engine; + size_t alpn_len; + unsigned i; + char err_buf[100]; + uint64_t seed; + + if (!api->ea_packets_out) + { + LSQ_ERROR("packets_out callback is not specified"); + return NULL; + } + + if (!api->ea_stream_if) + { + LSQ_ERROR("stream interface is not specified"); + return NULL; + } + + if (!(flags & LSENG_HTTP) && api->ea_alpn) + { + alpn_len = strlen(api->ea_alpn); + if (alpn_len < 1 || alpn_len > 255) + { + LSQ_ERROR("ALPN string length invalid: %zd bytes", alpn_len); + return NULL; + } + } + else + alpn_len = 0; + + if (api->ea_settings && + 0 != lsquic_engine_check_settings(api->ea_settings, flags, + err_buf, sizeof(err_buf))) + { + LSQ_ERROR("cannot create engine: %s", err_buf); + return NULL; + } + + engine = calloc(1, sizeof(*engine)); + if (!engine) + return NULL; + if (0 != lsquic_mm_init(&engine->pub.enp_mm)) + { + free(engine); + return NULL; + } + if (api->ea_settings) + engine->pub.enp_settings = *api->ea_settings; + else + lsquic_engine_init_settings(&engine->pub.enp_settings, flags); + int tag_buf_len; + tag_buf_len = lsquic_gen_ver_tags(engine->pub.enp_ver_tags_buf, + sizeof(engine->pub.enp_ver_tags_buf), + engine->pub.enp_settings.es_versions); + if (tag_buf_len <= 0) + { + LSQ_ERROR("cannot generate version tags buffer"); + free(engine); + return NULL; + } + engine->pub.enp_ver_tags_len = tag_buf_len; + engine->pub.enp_flags = ENPUB_CAN_SEND; + engine->pub.enp_stream_if = api->ea_stream_if; + engine->pub.enp_stream_if_ctx = api->ea_stream_if_ctx; + + engine->flags = flags; +#ifndef NDEBUG + engine->flags |= ENG_COALESCE; +#endif + engine->packets_out = api->ea_packets_out; + engine->packets_out_ctx = api->ea_packets_out_ctx; + engine->report_new_scids = api->ea_new_scids; + engine->report_live_scids = api->ea_live_scids; + engine->report_old_scids = api->ea_old_scids; + engine->scids_ctx = api->ea_cids_update_ctx; + cub_init(&engine->new_scids, engine->report_new_scids, engine->scids_ctx); + engine->pub.enp_lookup_cert = api->ea_lookup_cert; + engine->pub.enp_cert_lu_ctx = api->ea_cert_lu_ctx; + engine->pub.enp_get_ssl_ctx = api->ea_get_ssl_ctx; + + if (api->ea_generate_scid) + { + engine->pub.enp_generate_scid = api->ea_generate_scid; + engine->pub.enp_gen_scid_ctx = api->ea_gen_scid_ctx; + } + else + engine->pub.enp_generate_scid = lsquic_generate_scid; + + if (api->ea_shi) + { + engine->pub.enp_shi = api->ea_shi; + engine->pub.enp_shi_ctx = api->ea_shi_ctx; + } + else + { + engine->pub.enp_shi = &stock_shi; + engine->pub.enp_shi_ctx = lsquic_stock_shared_hash_new(); + if (!engine->pub.enp_shi_ctx) + { + free(engine); + return NULL; + } + } + if (api->ea_hsi_if) + { + engine->pub.enp_hsi_if = api->ea_hsi_if; + engine->pub.enp_hsi_ctx = api->ea_hsi_ctx; + } + else + { + engine->pub.enp_hsi_if = lsquic_http1x_if; + engine->pub.enp_hsi_ctx = NULL; + } + if (api->ea_pmi) + { + engine->pub.enp_pmi = api->ea_pmi; + engine->pub.enp_pmi_ctx = api->ea_pmi_ctx; + } + else + { + engine->pub.enp_pmi = &stock_pmi; + engine->pub.enp_pmi_ctx = NULL; + } + engine->pub.enp_verify_cert = api->ea_verify_cert; + engine->pub.enp_verify_ctx = api->ea_verify_ctx; + engine->pub.enp_engine = engine; + if (hash_conns_by_addr(engine)) + engine->flags |= ENG_CONNS_BY_ADDR; + engine->conns_hash = lsquic_hash_create(); + RAND_bytes((uint8_t *)&seed, 8); + lsquic_hash_set_seed(engine->conns_hash, seed); + engine->pub.enp_tokgen = lsquic_tg_new(&engine->pub); + if (!engine->pub.enp_tokgen) + return NULL; + if (engine->flags & ENG_SERVER) + for (i = 0; i < sizeof(engine->pub.enp_quic_ctx_sz) + / sizeof(engine->pub.enp_quic_ctx_sz[0]); ++i) + { + int sz = lsquic_enc_sess_ietf_gen_quic_ctx( + &engine->pub.enp_settings, + i == 0 ? LSQVER_ID27 : LSQVER_ID29, + engine->pub.enp_quic_ctx_buf[i], + sizeof(engine->pub.enp_quic_ctx_buf)); + if (sz < 0) + { + free(engine); + return NULL; + } + engine->pub.enp_quic_ctx_sz[i] = (unsigned) sz; + } + engine->pub.enp_crand = &engine->crand; + if (engine->pub.enp_settings.es_noprogress_timeout) + engine->pub.enp_noprog_timeout + = engine->pub.enp_settings.es_noprogress_timeout * 1000000; + engine->pub.enp_mtu_probe_timer = 1000 + * (engine->pub.enp_settings.es_mtu_probe_timer + ? engine->pub.enp_settings.es_mtu_probe_timer + : LSQUIC_DF_MTU_PROBE_TIMER); + if (flags & ENG_SERVER) + { + engine->pr_queue = lsquic_prq_create( + 10000 /* TODO: make configurable */, MAX_OUT_BATCH_SIZE, + &engine->pub); + if (!engine->pr_queue) + { + lsquic_tg_destroy(engine->pub.enp_tokgen); + return NULL; + } + engine->purga = lsquic_purga_new(30 * 1000 * 1000, + engine->report_old_scids, engine->scids_ctx); + if (!engine->purga) + { + lsquic_tg_destroy(engine->pub.enp_tokgen); + lsquic_prq_destroy(engine->pr_queue); + return NULL; + } + } + engine->attq = lsquic_attq_create(); + eng_hist_init(&engine->history); + if (engine->pub.enp_settings.es_max_batch_size) + { + engine->max_batch_size = engine->pub.enp_settings.es_max_batch_size; + engine->min_batch_size = MIN(4, engine->max_batch_size); + engine->batch_size = MAX(engine->max_batch_size / 4, + engine->min_batch_size); + } + else + { + engine->min_batch_size = MIN_OUT_BATCH_SIZE; + engine->max_batch_size = MAX_OUT_BATCH_SIZE; + engine->batch_size = INITIAL_OUT_BATCH_SIZE; + } + if (engine->pub.enp_settings.es_honor_prst) + { + engine->pub.enp_srst_hash = lsquic_hash_create(); + if (!engine->pub.enp_srst_hash) + { + lsquic_engine_destroy(engine); + return NULL; + } + } + if ((flags & LSENG_SERVER) && 0 != lsquic_init_gquic_crypto(&engine->pub)) + { + lsquic_engine_destroy(engine); + return NULL; + } + + if (alpn_len) + { + engine->pub.enp_alpn = malloc(alpn_len + 1); + if (!engine->pub.enp_alpn) + { + lsquic_engine_destroy(engine); + return NULL; + } + engine->pub.enp_alpn[0] = alpn_len; + memcpy(engine->pub.enp_alpn + 1, api->ea_alpn, alpn_len); + } + + if (flags & LSENG_HTTP) + engine->pub.enp_flags |= ENPUB_HTTP; + +#if !defined(NDEBUG) || LSQUIC_QIR + { + const char *env; + env = getenv("LSQUIC_LOSE_PACKETS_RE"); +#if CAN_LOSE_PACKETS + if (env) + { + if (0 != regcomp(&engine->lose_packets_re, env, + REG_EXTENDED|REG_NOSUB)) + { + LSQ_ERROR("could not compile lost packet regex `%s'", env); + return NULL; + } + engine->flags |= ENG_LOSE_PACKETS; + engine->lose_packets_str = env; + LSQ_WARN("will lose packets that match the following regex: %s", + env); + } +#endif + env = getenv("LSQUIC_FORCE_RETRY"); + if (env) + { + if (atoi(env)) + { + engine->flags |= ENG_FORCE_RETRY; + LSQ_WARN("will force retry"); + } + } + env = getenv("LSQUIC_COALESCE"); + if (env) + { + engine->flags &= ~ENG_COALESCE; + if (atoi(env)) + { + engine->flags |= ENG_COALESCE; + LSQ_NOTICE("will coalesce packets"); + } + else + LSQ_NOTICE("will not coalesce packets"); + } + } +#endif +#if LSQUIC_CONN_STATS + engine->stats_fh = api->ea_stats_fh; +#endif + for (i = 0; i < sizeof(engine->retry_aead_ctx) + / sizeof(engine->retry_aead_ctx[0]); ++i) + if (1 != EVP_AEAD_CTX_init(&engine->retry_aead_ctx[i], + EVP_aead_aes_128_gcm(), lsquic_retry_key_buf[i], + IETF_RETRY_KEY_SZ, 16, NULL)) + { + LSQ_ERROR("could not initialize retry AEAD ctx #%u", i); + lsquic_engine_destroy(engine); + return NULL; + } + engine->pub.enp_retry_aead_ctx = engine->retry_aead_ctx; + + LSQ_INFO("instantiated engine"); + return engine; +} + + +#if LOG_PACKET_CHECKSUM +static void +log_packet_checksum (const lsquic_cid_t *cid, const char *direction, + const unsigned char *buf, size_t bufsz) +{ + EV_LOG_CONN_EVENT(cid, "packet %s checksum: %08X", direction, + (uint32_t) crc32(0, buf, bufsz)); +} + + +#endif + + +static void +grow_batch_size (struct lsquic_engine *engine) +{ + engine->batch_size = MIN(engine->batch_size * 2, engine->max_batch_size); +} + + +static void +shrink_batch_size (struct lsquic_engine *engine) +{ + engine->batch_size = MAX(engine->batch_size / 2, engine->min_batch_size); +} + + +struct cce_cid_iter +{ + const struct lsquic_conn *conn; + unsigned todo, n; +}; + + +static struct conn_cid_elem * +cce_iter_next (struct cce_cid_iter *citer) +{ + struct conn_cid_elem *cce; + + while (citer->todo) + if (citer->todo & (1 << citer->n)) + { + citer->todo &= ~(1 << citer->n); + cce = &citer->conn->cn_cces[ citer->n++ ]; + if (!(cce->cce_flags & CCE_PORT)) + return cce; + } + else + ++citer->n; + + return NULL; +} + + +static struct conn_cid_elem * +cce_iter_first (struct cce_cid_iter *citer, const struct lsquic_conn *conn) +{ + citer->conn = conn; + citer->todo = conn->cn_cces_mask; + citer->n = 0; + return cce_iter_next(citer); +} + + +#if LSQUIC_CONN_STATS +void +update_stats_sum (struct lsquic_engine *engine, struct lsquic_conn *conn) +{ + unsigned long *const dst = (unsigned long *) &engine->conn_stats_sum; + const unsigned long *src; + const struct conn_stats *stats; + unsigned i; + + if (conn->cn_if->ci_get_stats && (stats = conn->cn_if->ci_get_stats(conn))) + { + ++engine->stats.conns; + src = (unsigned long *) stats; + for (i = 0; i < sizeof(*stats) / sizeof(unsigned long); ++i) + dst[i] += src[i]; + } +} + + +#endif + + +/* Wrapper to make sure important things occur before the connection is + * really destroyed. + */ +static void +destroy_conn (struct lsquic_engine *engine, struct lsquic_conn *conn, + lsquic_time_t now) +{ + struct cce_cid_iter citer; + const struct conn_cid_elem *cce; + lsquic_time_t drain_time; + struct purga_el *puel; + + engine->mini_conns_count -= !!(conn->cn_flags & LSCONN_MINI); + if (engine->purga && !(conn->cn_flags & LSCONN_NO_BL) + /* Blacklist all CIDs except for promoted mini connections */ + && (conn->cn_flags & (LSCONN_MINI|LSCONN_PROMOTED)) + != (LSCONN_MINI|LSCONN_PROMOTED)) + { + if (!(conn->cn_flags & LSCONN_IMMED_CLOSE) + && conn->cn_if->ci_drain_time && + (drain_time = conn->cn_if->ci_drain_time(conn), drain_time)) + { + for (cce = cce_iter_first(&citer, conn); cce; + cce = cce_iter_next(&citer)) + { + puel = lsquic_purga_add(engine->purga, &cce->cce_cid, + lsquic_conn_get_peer_ctx(conn, NULL), + PUTY_CONN_DRAIN, now); + if (puel) + puel->puel_time = now + drain_time; + } + } + else + { + for (cce = cce_iter_first(&citer, conn); cce; + cce = cce_iter_next(&citer)) + { + puel = lsquic_purga_add(engine->purga, &cce->cce_cid, + lsquic_conn_get_peer_ctx(conn, NULL), + PUTY_CONN_DELETED, now); + if (puel) + { + puel->puel_time = now; + puel->puel_count = 0; + } + } + } + } +#if LSQUIC_CONN_STATS + update_stats_sum(engine, conn); + if (engine->busy.last_conn == conn) + engine->busy.last_conn = NULL; + if (engine->busy.current == conn) + { + char cidstr[MAX_CID_LEN * 2 + 1]; + lsquic_logger_log1(LSQ_LOG_NOTICE, LSQLM_CONN_STATS, + "busy connection %s is destroyed", + (lsquic_cid2str(lsquic_conn_log_cid(conn), cidstr), cidstr)); + engine->busy.current = NULL; + engine->busy.last_log = 0; + } + if (engine->busy.pin_conn == conn) + engine->busy.pin_conn = NULL; +#endif + --engine->n_conns; + conn->cn_flags |= LSCONN_NEVER_TICKABLE; + conn->cn_if->ci_destroy(conn); + + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG) /* log period: 10s */ + && ((engine->mem_logged_last + 10000000 <= now) || (engine->n_conns == 0))) + { +#define MAX_MM_STAT_LOG 4096 + unsigned cur = 0; + unsigned ret = 0; + unsigned idx = 0; + char mm_log[MAX_MM_STAT_LOG] = {0}; + struct pool_stats *poolst = NULL; + + engine->mem_logged_last = now; + + ret = snprintf(mm_log + cur, MAX_MM_STAT_LOG - cur, + "%p, conns: %u, mini_conns: %u. mm_stat, used: %zu" + ", pool(calls-objs_all-objs_out-max-avg-var), pib", + engine, engine->n_conns, engine->mini_conns_count, + lsquic_mm_mem_used(&engine->pub.enp_mm)); + cur += ret; + + for (idx = 0; idx < MM_N_IN_BUCKETS && cur < MAX_MM_STAT_LOG; idx++) + { + poolst = &engine->pub.enp_mm.packet_in_bstats[idx]; + ret = snprintf(mm_log + cur, MAX_MM_STAT_LOG - cur, + ": [%u]%u-%u-%u-%u-%u-%u", idx, + poolst->ps_calls, poolst->ps_objs_all, poolst->ps_objs_out, + poolst->ps_max, poolst->ps_max_avg, poolst->ps_max_var); + cur += ret; + } + + ret = snprintf(mm_log + cur, MAX_MM_STAT_LOG - cur, ", pob"); + cur += ret; + + for (idx = 0; idx < MM_N_OUT_BUCKETS && cur < MAX_MM_STAT_LOG; idx++) + { + poolst = &engine->pub.enp_mm.packet_out_bstats[idx]; + ret = snprintf(mm_log + cur, MAX_MM_STAT_LOG - cur, + ": [%u]%u-%u-%u-%u-%u-%u", idx, + poolst->ps_calls, poolst->ps_objs_all, poolst->ps_objs_out, + poolst->ps_max, poolst->ps_max_avg, poolst->ps_max_var); + cur += ret; + } + + LSQ_DEBUG("%s", mm_log); + } +} + + +static int +maybe_grow_conn_heaps (struct lsquic_engine *engine) +{ + struct min_heap_elem *els; + unsigned count; + + if (engine->n_conns < lsquic_mh_nalloc(&engine->conns_tickable)) + return 0; /* Nothing to do */ + + if (lsquic_mh_nalloc(&engine->conns_tickable)) + count = lsquic_mh_nalloc(&engine->conns_tickable) * 2 * 2; + else + count = 8; + + els = malloc(sizeof(els[0]) * count); + if (!els) + { + LSQ_ERROR("%s: malloc failed", __func__); + return -1; + } + + LSQ_DEBUG("grew heaps to %u elements", count / 2); + + if (lsquic_mh_count(&engine->conns_tickable) > 0) + { + memcpy(&els[0], engine->conns_tickable.mh_elems, + sizeof(els[0]) * lsquic_mh_count(&engine->conns_tickable)); + } + if (lsquic_mh_count(&engine->conns_out) > 0) + { + memcpy(&els[count / 2], engine->conns_out.mh_elems, + sizeof(els[0]) * lsquic_mh_count(&engine->conns_out)); + } + + free(engine->conns_tickable.mh_elems); + engine->conns_tickable.mh_elems = els; + engine->conns_out.mh_elems = &els[count / 2]; + engine->conns_tickable.mh_nalloc = count / 2; + engine->conns_out.mh_nalloc = count / 2; + return 0; +} + + +static void +remove_cces_from_hash (struct lsquic_hash *hash, struct lsquic_conn *conn, + unsigned todo) +{ + unsigned n; + + for (n = 0; todo; todo &= ~(1 << n++)) + if ((todo & (1 << n)) && + (conn->cn_cces[n].cce_hash_el.qhe_flags & QHE_HASHED)) + lsquic_hash_erase(hash, &conn->cn_cces[n].cce_hash_el); +} + + +static void +remove_all_cces_from_hash (struct lsquic_hash *hash, struct lsquic_conn *conn) +{ + remove_cces_from_hash(hash, conn, conn->cn_cces_mask); +} + + +static void +cub_add (struct cid_update_batch *cub, const lsquic_cid_t *cid, void *peer_ctx); + + +static int +insert_conn_into_hash (struct lsquic_engine *engine, struct lsquic_conn *conn, + void *peer_ctx) +{ + struct conn_cid_elem *cce; + unsigned todo, done, n; + + for (todo = conn->cn_cces_mask, done = 0, n = 0; todo; todo &= ~(1 << n++)) + if (todo & (1 << n)) + { + cce = &conn->cn_cces[n]; + assert(!(cce->cce_hash_el.qhe_flags & QHE_HASHED)); + LSQ_DEBUGC("Insert into connection hash-table by CID %"CID_FMT, + CID_BITS(&cce->cce_cid)); + if (lsquic_hash_insert(engine->conns_hash, cce->cce_cid.idbuf, + cce->cce_cid.len, conn, &cce->cce_hash_el)) + done |= 1 << n; + else + goto err; + if ((engine->flags & ENG_SERVER) && 0 == (cce->cce_flags & CCE_REG)) + { + cce->cce_flags |= CCE_REG; + cub_add(&engine->new_scids, &cce->cce_cid, peer_ctx); + } + } + + return 0; + + err: + remove_cces_from_hash(engine->conns_hash, conn, done); + return -1; +} + + +static lsquic_conn_t * +new_full_conn_server (lsquic_engine_t *engine, lsquic_conn_t *mini_conn, + lsquic_time_t now) +{ + const lsquic_cid_t *cid; + server_conn_ctor_f ctor; + lsquic_conn_t *conn; + unsigned flags; + if (0 != maybe_grow_conn_heaps(engine)) + return NULL; + flags = engine->flags & (ENG_SERVER|ENG_HTTP); + + if (mini_conn->cn_flags & LSCONN_IETF) + ctor = lsquic_ietf_full_conn_server_new; + else + ctor = lsquic_gquic_full_conn_server_new; + + conn = ctor(&engine->pub, flags, mini_conn); + if (!conn) + { + /* Otherwise, full_conn_server_new prints its own warnings */ + if (ENOMEM == errno) + { + cid = lsquic_conn_log_cid(mini_conn); + LSQ_WARNC("could not allocate full connection for %"CID_FMT": %s", + CID_BITS(cid), strerror(errno)); + } + return NULL; + } + ++engine->n_conns; + if (0 != insert_conn_into_hash(engine, conn, lsquic_conn_get_peer_ctx(conn, NULL))) + { + cid = lsquic_conn_log_cid(conn); + LSQ_WARNC("cannot add connection %"CID_FMT" to hash - destroy", + CID_BITS(cid)); + destroy_conn(engine, conn, now); + return NULL; + } + assert(!(conn->cn_flags & (CONN_REF_FLAGS & ~LSCONN_TICKABLE))); + conn->cn_flags |= LSCONN_HASHED; + return conn; +} + + +static void +remove_conn_from_hash (lsquic_engine_t *engine, lsquic_conn_t *conn); + + +static int +promote_mini_conn (lsquic_engine_t *engine, lsquic_conn_t *mini_conn, + lsquic_time_t now) +{ + lsquic_conn_t *new_conn; + EV_LOG_CONN_EVENT(lsquic_conn_log_cid( mini_conn ), + "promote to full conn"); + assert( mini_conn->cn_flags & LSCONN_MINI); + + lsquic_mini_conn_ietf_pre_promote((struct ietf_mini_conn *)mini_conn, now); + + new_conn = new_full_conn_server(engine, mini_conn, now); + if (new_conn) + { + new_conn->cn_last_sent = engine->last_sent; + eng_hist_inc(&engine->history, now, sl_new_full_conns); + mini_conn->cn_flags |= LSCONN_PROMOTED; + assert(engine->curr_conn == mini_conn); + engine->curr_conn = new_conn; + + if (mini_conn->cn_flags & LSCONN_ATTQ) + { + lsquic_attq_remove(engine->attq, mini_conn); + (void) engine_decref_conn(engine, mini_conn, LSCONN_ATTQ); + } + if (mini_conn->cn_flags & LSCONN_HASHED) + remove_conn_from_hash(engine, mini_conn); + + if (!(new_conn->cn_flags & LSCONN_TICKABLE)) + { + lsquic_mh_insert(&engine->conns_tickable, new_conn, + new_conn->cn_last_ticked); + engine_incref_conn(new_conn, LSCONN_TICKABLE); + } + return 0; + } + return -1; +} + + +static enum +{ + VER_NOT_SPECIFIED, + VER_SUPPORTED, + VER_UNSUPPORTED, +} + + +version_matches (lsquic_engine_t *engine, const lsquic_packet_in_t *packet_in, + enum lsquic_version *pversion) +{ + lsquic_ver_tag_t ver_tag; + enum lsquic_version version; + + if (!packet_in->pi_quic_ver) + { + LSQ_DEBUG("packet does not specify version"); + return VER_NOT_SPECIFIED; + } + + memcpy(&ver_tag, packet_in->pi_data + packet_in->pi_quic_ver, sizeof(ver_tag)); + version = lsquic_tag2ver(ver_tag); + if (version < N_LSQVER) + { + if (engine->pub.enp_settings.es_versions & (1 << version)) + { + LSQ_DEBUG("client-supplied version %s is supported", + lsquic_ver2str[version]); + *pversion = version; + return VER_SUPPORTED; + } + else + LSQ_DEBUG("client-supplied version %s is not supported", + lsquic_ver2str[version]); + } + else + LSQ_DEBUG("client-supplied version tag 0x%08X is not recognized", + ver_tag); + + return VER_UNSUPPORTED; +} + + +static void +schedule_req_packet (struct lsquic_engine *engine, enum packet_req_type type, + const struct lsquic_packet_in *packet_in, const struct sockaddr *sa_local, + const struct sockaddr *sa_peer, void *peer_ctx) +{ + assert(engine->pr_queue); + if (0 == lsquic_prq_new_req(engine->pr_queue, type, packet_in, peer_ctx, + sa_local, sa_peer)) + LSQ_DEBUGC("scheduled %s packet for cid %"CID_FMT, + lsquic_preqt2str[type], CID_BITS(&packet_in->pi_conn_id)); + else + LSQ_DEBUG("cannot schedule %s packet", lsquic_preqt2str[type]); +} + + +static void +schedule_mini_retry (struct lsquic_engine *engine, struct lsquic_conn *conn, + lsquic_time_t now) +{ + const struct network_path *path; + + assert(engine->pr_queue); + path = conn->cn_if->ci_get_path(conn, NULL); + if (!path) + { + LSQ_WARN("cannot fetch default path"); + return; + } + + assert(conn->cn_flags & LSCONN_IETF); + if (0 == lsquic_prq_new_req_ext(engine->pr_queue, PACKET_REQ_RETRY, + 0 /* Only supporting retry on IETF mini conns for now */, + conn->cn_version, path->np_pack_size, &conn->cn_cid, + &path->np_dcid, path->np_peer_ctx, NP_LOCAL_SA(path), + NP_PEER_SA(path) + )) + LSQ_DEBUGC("scheduled %s packet for mini conn %"CID_FMT, + lsquic_preqt2str[PACKET_REQ_RETRY], + CID_BITS(lsquic_conn_log_cid(conn))); + else + LSQ_DEBUGC("could not schedule %s packet for mini conn %"CID_FMT, + lsquic_preqt2str[PACKET_REQ_RETRY], + CID_BITS(lsquic_conn_log_cid(conn))); + +} + + +static unsigned short +sa2port (const struct sockaddr *sa) +{ + if (sa->sa_family == AF_INET) + { + struct sockaddr_in *const sa4 = (void *) sa; + return sa4->sin_port; + } + else + { + struct sockaddr_in6 *const sa6 = (void *) sa; + return sa6->sin6_port; + } +} + + +static struct lsquic_hash_elem * +find_conn_by_addr (struct lsquic_hash *hash, const struct sockaddr *sa) +{ + unsigned short port; + + port = sa2port(sa); + return lsquic_hash_find(hash, &port, sizeof(port)); +} + + +/* When connections are identified by the local address, we need to drop + * packets that use DCIDs that do not correspond to any of SCIDs. This + * can happen when peer retires a SCID. This mimics the normal behavior, + * when connections are looked up in engine->conns_hash by ID: when there + * is no match, the packet is dropped. + */ +static int +dcid_checks_out (const struct lsquic_conn *conn, const lsquic_cid_t *dcid) +{ + const struct conn_cid_elem *cce; + + if (LSQUIC_CIDS_EQ(CN_SCID(conn), dcid)) + return 1; + + /* Slow check for those rare cases */ + for (cce = conn->cn_cces; cce < END_OF_CCES(conn); ++cce) + if ((conn->cn_cces_mask & (1 << (cce - conn->cn_cces))) + && !(cce->cce_flags & CCE_PORT) + && LSQUIC_CIDS_EQ(&cce->cce_cid, dcid)) + { + LSQ_DEBUG("connection checks out"); + return 1; + } + + return 0; +} + + +static lsquic_conn_t * +find_conn (lsquic_engine_t *engine, lsquic_packet_in_t *packet_in, + struct packin_parse_state *ppstate, const struct sockaddr *sa_local) +{ + struct lsquic_hash_elem *el; + lsquic_conn_t *conn; + + if (engine->flags & ENG_CONNS_BY_ADDR) + { + el = find_conn_by_addr(engine->conns_hash, sa_local); + if ((packet_in->pi_flags & PI_CONN_ID) + && !dcid_checks_out(lsquic_hashelem_getdata(el), + &packet_in->pi_conn_id)) + { + LSQ_DEBUGC("DCID matches no SCID in connection %"CID_FMT": drop it", + CID_BITS(&packet_in->pi_conn_id)); + return NULL; + } + } + else if (packet_in->pi_flags & PI_CONN_ID) + el = lsquic_hash_find(engine->conns_hash, + packet_in->pi_conn_id.idbuf, packet_in->pi_conn_id.len); + else + { + LSQ_DEBUG("packet header does not have connection ID: discarding"); + return NULL; + } + + if (!el) + return NULL; + + conn = lsquic_hashelem_getdata(el); + conn->cn_pf->pf_parse_packet_in_finish(packet_in, ppstate); + if ((engine->flags & ENG_CONNS_BY_ADDR) + && !(conn->cn_flags & LSCONN_IETF) + && (packet_in->pi_flags & PI_CONN_ID) + && !LSQUIC_CIDS_EQ(CN_SCID(conn), &packet_in->pi_conn_id)) + { + LSQ_DEBUG("connection IDs do not match"); + return NULL; + } + + return conn; +} + + +static const char *const puty2str[] = { + [PUTY_CONN_DELETED] = "deleted", + [PUTY_CONN_DRAIN] = "being drained", + [PUTY_CID_RETIRED] = "retired", +}; + + +static lsquic_conn_t * +find_or_create_conn (lsquic_engine_t *engine, lsquic_packet_in_t *packet_in, + struct packin_parse_state *ppstate, const struct sockaddr *sa_local, + const struct sockaddr *sa_peer, void *peer_ctx, size_t packet_in_size) +{ + struct lsquic_hash_elem *el; + struct purga_el *puel; + lsquic_conn_t *conn; + + if (!(packet_in->pi_flags & PI_CONN_ID)) + { + LSQ_DEBUG("packet header does not have connection ID: discarding"); + return NULL; + } + LSQ_DEBUGC("To find connection by CID %"CID_FMT, + CID_BITS(&packet_in->pi_conn_id)); + el = lsquic_hash_find(engine->conns_hash, + packet_in->pi_conn_id.idbuf, packet_in->pi_conn_id.len); + + if (el) + { + conn = lsquic_hashelem_getdata(el); + conn->cn_pf->pf_parse_packet_in_finish(packet_in, ppstate); + return conn; + } + + if (engine->flags & ENG_COOLDOWN) + { /* Do not create incoming connections during cooldown */ + LSQ_DEBUG("dropping inbound packet for unknown connection (cooldown)"); + return NULL; + } + + if (engine->mini_conns_count >= engine->pub.enp_settings.es_max_inchoate) + { + LSQ_DEBUG("reached limit of %u inchoate connections", + engine->pub.enp_settings.es_max_inchoate); + return NULL; + } + + + if (engine->purga + && (puel = lsquic_purga_contains(engine->purga, + &packet_in->pi_conn_id), puel)) + { + switch (puel->puel_type) + { + case PUTY_CID_RETIRED: + case PUTY_CONN_DRAIN: + if (puel->puel_time > packet_in->pi_received) + { + LSQ_DEBUGC("CID %"CID_FMT" is %s for another %"PRIu64 + "usec, ignore packet", CID_BITS(&packet_in->pi_conn_id), + puty2str[puel->puel_type], + puel->puel_time - packet_in->pi_received); + return NULL; + } + LSQ_DEBUGC("CID %"CID_FMT" is no longer %s", + CID_BITS(&packet_in->pi_conn_id), puty2str[puel->puel_type]); + break; + case PUTY_CONN_DELETED: + LSQ_DEBUGC("Connection with CID %"CID_FMT" was deleted", + CID_BITS(&packet_in->pi_conn_id)); + if (puel->puel_time < packet_in->pi_received) + { + if (puel->puel_count < 4) + { + puel->puel_time = packet_in->pi_received + /* Exponential back-off */ + + 1000000ull * (1 << MIN(puel->puel_count, 4)); + ++puel->puel_count; + goto maybe_send_prst; + } + else + break; + } + return NULL; + default: + assert(0); + return NULL; + } + } + + if (engine->pub.enp_settings.es_send_prst + && !(packet_in->pi_flags & PI_GQUIC) + && HETY_NOT_SET == packet_in->pi_header_type) + goto maybe_send_prst; + + if (0 != maybe_grow_conn_heaps(engine)) + return NULL; + + const struct parse_funcs *pf; + enum lsquic_version version; + switch (version_matches(engine, packet_in, &version)) + { + case VER_UNSUPPORTED: + if ((engine->flags & ENG_SERVER) && + engine->pub.enp_settings.es_send_verneg) + schedule_req_packet(engine, PACKET_REQ_VERNEG, packet_in, + sa_local, sa_peer, peer_ctx); + return NULL; + case VER_NOT_SPECIFIED: + maybe_send_prst: + if ((engine->flags & ENG_SERVER) && + engine->pub.enp_settings.es_send_prst) + schedule_req_packet(engine, PACKET_REQ_PUBRES, packet_in, + sa_local, sa_peer, peer_ctx); + return NULL; + case VER_SUPPORTED: + pf = select_pf_by_ver(version); + pf->pf_parse_packet_in_finish(packet_in, ppstate); + break; + } + + + if ((1 << version) & LSQUIC_IETF_VERSIONS) + { + lsquic_cid_t odcid; + if (engine->pub.enp_settings.es_support_srej + && HETY_INITIAL == packet_in->pi_header_type) + { + /* XXX Need to handle condition when packets are reordered? */ + const int has_token + = packet_in->pi_token && packet_in->pi_token_size; + const int need_retry = + !!(engine->flags & ENG_FORCE_RETRY); + switch ((need_retry << 1) | has_token) + { + case (0 << 1) | 0: + odcid.len = 0; + goto create_ietf_mini_conn; + case (1 << 1) | 1: + case (0 << 1) | 1: + odcid.len = 0; + if (0 == lsquic_tg_validate_token(engine->pub.enp_tokgen, + packet_in, sa_peer, &odcid)) + goto create_ietf_mini_conn; + /* From [draft-ietf-quic-transport-30] Section 8.1.2: + " In response to processing an Initial containing a token that was + " provided in a Retry packet, a server cannot send another Retry + " packet; it can only refuse the connection or permit it to proceed. + */ + if (TOKEN_RETRY == packet_in->pi_data[packet_in->pi_token]) + { + LSQ_DEBUGC("CID %"CID_FMT" has invalid Retry token", + CID_BITS(&packet_in->pi_conn_id)); + return NULL; + } + /* According to the spec, we SHOULD send CONNECTION_CLOSE + * when receiving an invalid Retry token. We don't do it + * because it's a lot of code change for an event that is + * not likely to happen: a major browser copying the token + * incorrectly. + */ + break; + default: + assert(0); + /* fall-through */ + case (1 << 1) | 0: + break; + } + schedule_req_packet(engine, PACKET_REQ_RETRY, packet_in, sa_local, + sa_peer, peer_ctx); + return NULL; + } + else + odcid.len = 0; + create_ietf_mini_conn: + conn = lsquic_mini_conn_ietf_new(&engine->pub, packet_in, version, + sa_peer->sa_family == AF_INET, odcid.len ? &odcid : NULL, + packet_in_size); + } + else + { + conn = lsquic_mini_conn_new(&engine->pub, packet_in, version); + } + if (!conn) + return NULL; + ++engine->mini_conns_count; + ++engine->n_conns; + if (0 != insert_conn_into_hash(engine, conn, peer_ctx)) + { + const lsquic_cid_t *cid = lsquic_conn_log_cid(conn); + LSQ_WARNC("cannot add connection %"CID_FMT" to hash - destroy", + CID_BITS(cid)); + destroy_conn(engine, conn, packet_in->pi_received); + return NULL; + } + assert(!(conn->cn_flags & CONN_REF_FLAGS)); + conn->cn_flags |= LSCONN_HASHED; + eng_hist_inc(&engine->history, packet_in->pi_received, sl_new_mini_conns); + conn->cn_last_sent = engine->last_sent; + return conn; +} + + +lsquic_conn_t * +lsquic_engine_find_conn (const struct lsquic_engine_public *engine, + const lsquic_cid_t *cid) +{ + struct lsquic_hash_elem *el; + lsquic_conn_t *conn = NULL; + el = lsquic_hash_find(engine->enp_engine->conns_hash, cid->idbuf, cid->len); + + if (el) + conn = lsquic_hashelem_getdata(el); + return conn; +} + + +#if !defined(NDEBUG) && __GNUC__ +__attribute__((weak)) +#endif +void +lsquic_engine_add_conn_to_tickable (struct lsquic_engine_public *enpub, + lsquic_conn_t *conn) +{ + if (0 == (enpub->enp_flags & ENPUB_PROC) && + 0 == (conn->cn_flags & (LSCONN_TICKABLE|LSCONN_NEVER_TICKABLE))) + { + lsquic_engine_t *engine = (lsquic_engine_t *) enpub; + lsquic_mh_insert(&engine->conns_tickable, conn, conn->cn_last_ticked); + engine_incref_conn(conn, LSCONN_TICKABLE); + } +} + + +void +lsquic_engine_add_conn_to_attq (struct lsquic_engine_public *enpub, + lsquic_conn_t *conn, lsquic_time_t tick_time, unsigned why) +{ + lsquic_engine_t *const engine = (lsquic_engine_t *) enpub; + if (conn->cn_flags & LSCONN_TICKABLE) + { + /* Optimization: no need to add the connection to the Advisory Tick + * Time Queue: it is about to be ticked, after which it its next tick + * time may be queried again. + */; + } + else if (conn->cn_flags & LSCONN_ATTQ) + { + if (lsquic_conn_adv_time(conn) != tick_time) + { + lsquic_attq_remove(engine->attq, conn); + if (0 != lsquic_attq_add(engine->attq, conn, tick_time, why)) + engine_decref_conn(engine, conn, LSCONN_ATTQ); + } + } + else if (0 == lsquic_attq_add(engine->attq, conn, tick_time, why)) + engine_incref_conn(conn, LSCONN_ATTQ); +} + + +static struct lsquic_conn * +find_conn_by_srst (struct lsquic_engine *engine, + const struct lsquic_packet_in *packet_in) +{ + struct lsquic_hash_elem *el; + struct lsquic_conn *conn; + + if (packet_in->pi_data_sz < IQUIC_MIN_SRST_SIZE + || (packet_in->pi_data[0] & 0xC0) != 0x40) + return NULL; + + el = lsquic_hash_find(engine->pub.enp_srst_hash, + packet_in->pi_data + packet_in->pi_data_sz - IQUIC_SRESET_TOKEN_SZ, + IQUIC_SRESET_TOKEN_SZ); + if (!el) + return NULL; + + conn = lsquic_hashelem_getdata(el); + return conn; +} + + +/* Return 0 if packet is being processed by a real connection (mini or full), + * otherwise return 1. + */ +static int +process_packet_in (lsquic_engine_t *engine, lsquic_packet_in_t *packet_in, + struct packin_parse_state *ppstate, const struct sockaddr *sa_local, + const struct sockaddr *sa_peer, void *peer_ctx, size_t packet_in_size) +{ + lsquic_conn_t *conn; + const unsigned char *packet_in_data; + + if (lsquic_packet_in_is_gquic_prst(packet_in) + && !engine->pub.enp_settings.es_honor_prst) + { + lsquic_mm_put_packet_in(&engine->pub.enp_mm, packet_in); + LSQ_DEBUG("public reset packet: discarding"); + return 1; + } + + if (engine->flags & ENG_SERVER) + { + conn = find_or_create_conn(engine, packet_in, ppstate, sa_local, + sa_peer, peer_ctx, packet_in_size); + if (!engine->curr_conn) + engine->curr_conn = conn; + } + else + conn = find_conn(engine, packet_in, ppstate, sa_local); + + if (!conn) + { + if (engine->pub.enp_settings.es_honor_prst + && packet_in_size == packet_in->pi_data_sz /* Full UDP packet */ + && !(packet_in->pi_flags & PI_GQUIC) + && engine->pub.enp_srst_hash + && (conn = find_conn_by_srst(engine, packet_in))) + { + LSQ_DEBUGC("got stateless reset for connection %"CID_FMT, + CID_BITS(lsquic_conn_log_cid(conn))); + conn->cn_if->ci_stateless_reset(conn); + if (!(conn->cn_flags & LSCONN_TICKABLE) + && conn->cn_if->ci_is_tickable(conn)) + { + lsquic_mh_insert(&engine->conns_tickable, conn, + conn->cn_last_ticked); + engine_incref_conn(conn, LSCONN_TICKABLE); + } + /* Even though the connection processes this packet, we return + * 1 so that the caller does not add reset packet's random + * bytes to the list of valid CIDs. + */ + } + lsquic_mm_put_packet_in(&engine->pub.enp_mm, packet_in); + return 1; + } + + if (0 == (conn->cn_flags & LSCONN_TICKABLE)) + { + lsquic_mh_insert(&engine->conns_tickable, conn, conn->cn_last_ticked); + engine_incref_conn(conn, LSCONN_TICKABLE); + } + packet_in->pi_path_id = lsquic_conn_record_sockaddr(conn, peer_ctx, + sa_local, sa_peer); + lsquic_packet_in_upref(packet_in); +#if LOG_PACKET_CHECKSUM + log_packet_checksum(lsquic_conn_log_cid(conn), "in", packet_in->pi_data, + packet_in->pi_data_sz); +#endif + /* Note on QLog: + * For the PACKET_RX QLog event, we are interested in logging these things: + * - raw packet (however it comes in, encrypted or not) + * - frames (list of frame names) + * - packet type and number + * - packet rx timestamp + * + * Since only some of these items are available at this code + * juncture, we will wait until after the packet has been + * decrypted (if necessary) and parsed to call the log functions. + * + * Once the PACKET_RX event is finally logged, the timestamp + * will come from packet_in->pi_received. For correct sequential + * ordering of QLog events, be sure to process the QLogs downstream. + * (Hint: Use the qlog_parser.py tool in tools/ for full QLog processing.) + */ + packet_in_data = packet_in->pi_data; + packet_in_size = packet_in->pi_data_sz; + conn->cn_if->ci_packet_in(conn, packet_in); +#if LSQUIC_CONN_STATS + engine->busy.pin_conn = conn; +#endif + QLOG_PACKET_RX(lsquic_conn_log_cid(conn), packet_in, packet_in_data, packet_in_size); + lsquic_packet_in_put(&engine->pub.enp_mm, packet_in); + if ((conn->cn_flags & (LSCONN_MINI | LSCONN_HANDSHAKE_DONE | LSCONN_IETF)) + == (LSCONN_MINI | LSCONN_HANDSHAKE_DONE | LSCONN_IETF)) + { + if (promote_mini_conn(engine, conn, lsquic_time_now()) == -1) + conn->cn_flags |= LSCONN_PROMOTE_FAIL; + } + return 0; +} + + +void +lsquic_engine_destroy (lsquic_engine_t *engine) +{ + struct lsquic_hash_elem *el; + lsquic_conn_t *conn; + unsigned i; + + LSQ_DEBUG("destroying engine"); +#ifndef NDEBUG + engine->flags |= ENG_DTOR; +#endif + + while ((conn = lsquic_mh_pop(&engine->conns_out))) + { + assert(conn->cn_flags & LSCONN_HAS_OUTGOING); + (void) engine_decref_conn(engine, conn, LSCONN_HAS_OUTGOING); + } + + while ((conn = lsquic_mh_pop(&engine->conns_tickable))) + { + assert(conn->cn_flags & LSCONN_TICKABLE); + (void) engine_decref_conn(engine, conn, LSCONN_TICKABLE); + } + + for (el = lsquic_hash_first(engine->conns_hash); el; + el = lsquic_hash_next(engine->conns_hash)) + { + conn = lsquic_hashelem_getdata(el); + force_close_conn(engine, conn); + } + lsquic_hash_destroy(engine->conns_hash); + + while ((conn = lsquic_attq_pop(engine->attq, UINT64_MAX))) + (void) engine_decref_conn(engine, conn, LSCONN_ATTQ); + + assert(0 == engine->n_conns); + assert(0 == engine->mini_conns_count); + if (engine->pr_queue) + lsquic_prq_destroy(engine->pr_queue); + if (engine->purga) + lsquic_purga_destroy(engine->purga); + lsquic_attq_destroy(engine->attq); + + assert(0 == lsquic_mh_count(&engine->conns_out)); + assert(0 == lsquic_mh_count(&engine->conns_tickable)); + if (engine->pub.enp_shi == &stock_shi) + lsquic_stock_shared_hash_destroy(engine->pub.enp_shi_ctx); + lsquic_mm_cleanup(&engine->pub.enp_mm); + free(engine->conns_tickable.mh_elems); +#if CAN_LOSE_PACKETS + if (engine->flags & ENG_LOSE_PACKETS) + regfree(&engine->lose_packets_re); +#endif + if (engine->pub.enp_tokgen) + lsquic_tg_destroy(engine->pub.enp_tokgen); + if (engine->flags & LSENG_SERVER) + lsquic_cleanup_gquic_crypto(&engine->pub); +#if LSQUIC_CONN_STATS + if (engine->stats_fh) + { + const struct conn_stats *const stats = &engine->conn_stats_sum; + fprintf(engine->stats_fh, "Aggregate connection stats collected by engine:\n"); + fprintf(engine->stats_fh, "Connections: %u\n", engine->stats.conns); + fprintf(engine->stats_fh, "Ticks: %lu\n", stats->n_ticks); + fprintf(engine->stats_fh, "In:\n"); + fprintf(engine->stats_fh, " Total bytes: %lu\n", stats->in.bytes); + fprintf(engine->stats_fh, " packets: %lu\n", stats->in.packets); + fprintf(engine->stats_fh, " undecryptable packets: %lu\n", stats->in.undec_packets); + fprintf(engine->stats_fh, " duplicate packets: %lu\n", stats->in.dup_packets); + fprintf(engine->stats_fh, " error packets: %lu\n", stats->in.err_packets); + fprintf(engine->stats_fh, " STREAM frame count: %lu\n", stats->in.stream_frames); + fprintf(engine->stats_fh, " STREAM payload size: %lu\n", stats->in.stream_data_sz); + fprintf(engine->stats_fh, " Header bytes: %lu; uncompressed: %lu; ratio %.3lf\n", + stats->in.headers_comp, stats->in.headers_uncomp, + stats->in.headers_uncomp ? + (double) stats->in.headers_comp / (double) stats->in.headers_uncomp + : 0); + fprintf(engine->stats_fh, " ACK frames: %lu\n", stats->in.n_acks); + fprintf(engine->stats_fh, " ACK frames processed: %lu\n", stats->in.n_acks_proc); + fprintf(engine->stats_fh, " ACK frames merged: %lu\n", stats->in.n_acks_merged); + fprintf(engine->stats_fh, "Out:\n"); + fprintf(engine->stats_fh, " Total bytes: %lu\n", stats->out.bytes); + fprintf(engine->stats_fh, " packets: %lu\n", stats->out.packets); + fprintf(engine->stats_fh, " acked via loss record: %lu\n", stats->out.acked_via_loss); + fprintf(engine->stats_fh, " acks: %lu\n", stats->out.acks); + fprintf(engine->stats_fh, " retx packets: %lu\n", stats->out.retx_packets); + fprintf(engine->stats_fh, " STREAM frame count: %lu\n", stats->out.stream_frames); + fprintf(engine->stats_fh, " STREAM payload size: %lu\n", stats->out.stream_data_sz); + fprintf(engine->stats_fh, " Header bytes: %lu; uncompressed: %lu; ratio %.3lf\n", + stats->out.headers_comp, stats->out.headers_uncomp, + stats->out.headers_uncomp ? + (double) stats->out.headers_comp / (double) stats->out.headers_uncomp + : 0); + fprintf(engine->stats_fh, " ACKs: %lu\n", stats->out.acks); + } +#endif + if (engine->pub.enp_srst_hash) + lsquic_hash_destroy(engine->pub.enp_srst_hash); +#if LSQUIC_COUNT_ENGINE_CALLS + LSQ_NOTICE("number of calls into the engine: %lu", engine->n_engine_calls); +#endif + for (i = 0; i < sizeof(engine->retry_aead_ctx) + / sizeof(engine->retry_aead_ctx[0]); ++i) + EVP_AEAD_CTX_cleanup(&engine->pub.enp_retry_aead_ctx[i]); + free(engine->pub.enp_alpn); + free(engine); +} + + +static struct conn_cid_elem * +find_free_cce (struct lsquic_conn *conn) +{ + struct conn_cid_elem *cce; + + for (cce = conn->cn_cces; cce < END_OF_CCES(conn); ++cce) + if (!(conn->cn_cces_mask & (1 << (cce - conn->cn_cces)))) + return cce; + + return NULL; +} + + +static int +add_conn_to_hash (struct lsquic_engine *engine, struct lsquic_conn *conn, + const struct sockaddr *local_sa, void *peer_ctx) +{ + struct conn_cid_elem *cce; + + if (engine->flags & ENG_CONNS_BY_ADDR) + { + cce = find_free_cce(conn); + if (!cce) + { + LSQ_ERROR("cannot find free CCE"); + return -1; + } + cce->cce_port = sa2port(local_sa); + cce->cce_flags = CCE_PORT; + if (lsquic_hash_insert(engine->conns_hash, &cce->cce_port, + sizeof(cce->cce_port), conn, &cce->cce_hash_el)) + { + conn->cn_cces_mask |= 1 << (cce - conn->cn_cces); + return 0; + } + else + return -1; + + } + else + return insert_conn_into_hash(engine, conn, peer_ctx); +} + + +lsquic_conn_t * +lsquic_engine_connect (lsquic_engine_t *engine, enum lsquic_version version, + const struct sockaddr *local_sa, + const struct sockaddr *peer_sa, + void *peer_ctx, lsquic_conn_ctx_t *conn_ctx, + const char *hostname, unsigned short base_plpmtu, + const unsigned char *sess_resume, size_t sess_resume_len, + const unsigned char *token, size_t token_sz) +{ + lsquic_conn_t *conn; + unsigned flags, versions; + int is_ipv4; + + ENGINE_CALLS_INCR(engine); + + if (engine->flags & ENG_SERVER) + { + LSQ_ERROR("`%s' must only be called in client mode", __func__); + goto err; + } + + if (engine->flags & ENG_CONNS_BY_ADDR + && find_conn_by_addr(engine->conns_hash, local_sa)) + { + LSQ_ERROR("cannot have more than one connection on the same port"); + goto err; + } + + if (0 != maybe_grow_conn_heaps(engine)) + return NULL; + flags = engine->flags & (ENG_SERVER|ENG_HTTP); + is_ipv4 = peer_sa->sa_family == AF_INET; + if (sess_resume && sess_resume_len) + { + version = lsquic_sess_resume_version(sess_resume, sess_resume_len); + if (version >= N_LSQVER) + { + LSQ_INFO("session resumption version is bad, won't use"); + sess_resume = NULL; + sess_resume_len = 0; + } + } + if (version >= N_LSQVER) + { + if (version > N_LSQVER) + LSQ_WARN("invalid version specified, engine will pick"); + versions = engine->pub.enp_settings.es_versions; + } + else + versions = 1u << version; + if (versions & LSQUIC_IETF_VERSIONS) + conn = lsquic_ietf_full_conn_client_new(&engine->pub, versions, + flags, hostname, base_plpmtu, + is_ipv4, sess_resume, sess_resume_len, token, token_sz, peer_ctx); + else + conn = lsquic_gquic_full_conn_client_new(&engine->pub, versions, + flags, hostname, base_plpmtu, is_ipv4, + sess_resume, sess_resume_len); + if (!conn) + goto err; + EV_LOG_CREATE_CONN(lsquic_conn_log_cid(conn), local_sa, peer_sa); + EV_LOG_VER_NEG(lsquic_conn_log_cid(conn), "proposed", + lsquic_ver2str[conn->cn_version]); + ++engine->n_conns; + lsquic_conn_record_sockaddr(conn, peer_ctx, local_sa, peer_sa); + if (0 != add_conn_to_hash(engine, conn, local_sa, peer_ctx)) + { + const lsquic_cid_t *cid = lsquic_conn_log_cid(conn); + LSQ_WARNC("cannot add connection %"CID_FMT" to hash - destroy", + CID_BITS(cid)); + destroy_conn(engine, conn, lsquic_time_now()); + goto err; + } + assert(!(conn->cn_flags & + (CONN_REF_FLAGS + & ~LSCONN_TICKABLE /* This flag may be set as effect of user + callbacks */ + ))); + conn->cn_flags |= LSCONN_HASHED; + if (!(conn->cn_flags & LSCONN_TICKABLE)) + { + lsquic_mh_insert(&engine->conns_tickable, conn, conn->cn_last_ticked); + engine_incref_conn(conn, LSCONN_TICKABLE); + } + lsquic_conn_set_ctx(conn, conn_ctx); + conn->cn_if->ci_client_call_on_new(conn); + end: + return conn; + err: + conn = NULL; + goto end; +} + + +static void +remove_conn_from_hash (lsquic_engine_t *engine, lsquic_conn_t *conn) +{ + remove_all_cces_from_hash(engine->conns_hash, conn); + (void) engine_decref_conn(engine, conn, LSCONN_HASHED); +} + + +static void +refflags2str (enum lsquic_conn_flags flags, char s[7]) +{ + *s = 'C'; s += !!(flags & LSCONN_CLOSING); + *s = 'H'; s += !!(flags & LSCONN_HASHED); + *s = 'O'; s += !!(flags & LSCONN_HAS_OUTGOING); + *s = 'T'; s += !!(flags & LSCONN_TICKABLE); + *s = 'A'; s += !!(flags & LSCONN_ATTQ); + *s = 'K'; s += !!(flags & LSCONN_TICKED); + *s = '\0'; +} + + +static void +engine_incref_conn (lsquic_conn_t *conn, enum lsquic_conn_flags flag) +{ + char str[2][7]; + assert(flag & CONN_REF_FLAGS); + assert(!(conn->cn_flags & flag)); + conn->cn_flags |= flag; + LSQ_DEBUGC("incref %sconn %"CID_FMT", '%s' -> '%s'", + (conn->cn_flags &LSCONN_MINI) ? "mini-" : "", + CID_BITS(lsquic_conn_log_cid(conn)), + (refflags2str(conn->cn_flags & ~flag, str[0]), str[0]), + (refflags2str(conn->cn_flags, str[1]), str[1])); +} + + +static lsquic_conn_t * +engine_decref_conn (lsquic_engine_t *engine, lsquic_conn_t *conn, + enum lsquic_conn_flags flags) +{ + char str[2][7]; + lsquic_time_t now; + assert(flags & CONN_REF_FLAGS); + assert(conn->cn_flags & flags); +#ifndef NDEBUG + if (flags & LSCONN_CLOSING) + assert(0 == (conn->cn_flags & LSCONN_HASHED)); +#endif + conn->cn_flags &= ~flags; + LSQ_DEBUGC("decref %sconn %"CID_FMT", '%s' -> '%s'", + (conn->cn_flags &LSCONN_MINI) ? "mini-" : "", + CID_BITS(lsquic_conn_log_cid(conn)), + (refflags2str(conn->cn_flags | flags, str[0]), str[0]), + (refflags2str(conn->cn_flags, str[1]), str[1])); + if (0 == (conn->cn_flags & CONN_REF_FLAGS)) + { + now = lsquic_time_now(); + if (conn->cn_flags & LSCONN_MINI) + eng_hist_inc(&engine->history, now, sl_del_mini_conns); + else + eng_hist_inc(&engine->history, now, sl_del_full_conns); + destroy_conn(engine, conn, now); + return NULL; + } + else + return conn; +} + + +/* This is not a general-purpose function. Only call from engine dtor. */ +static void +force_close_conn (lsquic_engine_t *engine, lsquic_conn_t *conn) +{ + assert(engine->flags & ENG_DTOR); + const enum lsquic_conn_flags flags = conn->cn_flags; + assert(conn->cn_flags & CONN_REF_FLAGS); + assert(!(flags & LSCONN_HAS_OUTGOING)); /* Should be removed already */ + assert(!(flags & LSCONN_TICKABLE)); /* Should be removed already */ + assert(!(flags & LSCONN_CLOSING)); /* It is in transient queue? */ + if (flags & LSCONN_ATTQ) + { + lsquic_attq_remove(engine->attq, conn); + (void) engine_decref_conn(engine, conn, LSCONN_ATTQ); + } + if (flags & LSCONN_HASHED) + remove_conn_from_hash(engine, conn); +} + + +/* Iterator for tickable connections (those on the Tickable Queue). Before + * a connection is returned, it is removed from the Advisory Tick Time queue + * if necessary. + */ +static lsquic_conn_t * +conn_iter_next_tickable (struct lsquic_engine *engine) +{ + lsquic_conn_t *conn; + + if (engine->flags & ENG_SERVER) + while (1) + { + conn = lsquic_mh_pop(&engine->conns_tickable); + if (conn && (conn->cn_flags & LSCONN_SKIP_ON_PROC)) + (void) engine_decref_conn(engine, conn, LSCONN_TICKABLE); + else + break; + } + else + conn = lsquic_mh_pop(&engine->conns_tickable); + + if (conn) + conn = engine_decref_conn(engine, conn, LSCONN_TICKABLE); + if (conn && (conn->cn_flags & LSCONN_ATTQ)) + { + lsquic_attq_remove(engine->attq, conn); + conn = engine_decref_conn(engine, conn, LSCONN_ATTQ); + } + + return conn; +} + + +static void +cub_init (struct cid_update_batch *cub, lsquic_cids_update_f update, + void *update_ctx) +{ + cub->cub_update_cids = update; + cub->cub_update_ctx = update_ctx; + cub->cub_count = 0; +} + + +static void +cub_flush (struct cid_update_batch *cub) +{ + if (cub->cub_count > 0 && cub->cub_update_cids) + cub->cub_update_cids(cub->cub_update_ctx, cub->cub_peer_ctxs, + cub->cub_cids, cub->cub_count); + cub->cub_count = 0; +} + + +static void +cub_add (struct cid_update_batch *cub, const lsquic_cid_t *cid, void *peer_ctx) +{ + cub->cub_cids [ cub->cub_count ] = *cid; + cub->cub_peer_ctxs[ cub->cub_count ] = peer_ctx; + ++cub->cub_count; + if (cub->cub_count == sizeof(cub->cub_cids) / sizeof(cub->cub_cids[0])) + cub_flush(cub); +} + + +/* Process registered CIDs */ +static void +cub_add_cids_from_cces (struct cid_update_batch *cub, struct lsquic_conn *conn) +{ + struct cce_cid_iter citer; + struct conn_cid_elem *cce; + void *peer_ctx; + + peer_ctx = lsquic_conn_get_peer_ctx(conn, NULL); + for (cce = cce_iter_first(&citer, conn); cce; cce = cce_iter_next(&citer)) + if (cce->cce_flags & CCE_REG) + cub_add(cub, &cce->cce_cid, peer_ctx); +} + + +static void +drop_all_mini_conns (lsquic_engine_t *engine) +{ + struct lsquic_hash_elem *el; + lsquic_conn_t *conn; + struct cid_update_batch cub; + + cub_init(&cub, engine->report_old_scids, engine->scids_ctx); + + for (el = lsquic_hash_first(engine->conns_hash); el; + el = lsquic_hash_next(engine->conns_hash)) + { + conn = lsquic_hashelem_getdata(el); + if (conn->cn_flags & LSCONN_MINI) + { + /* If promoted, why is it still in this hash? */ + assert(!(conn->cn_flags & LSCONN_PROMOTED)); + if (!(conn->cn_flags & LSCONN_PROMOTED)) + cub_add_cids_from_cces(&cub, conn); + remove_conn_from_hash(engine, conn); + } + } + + cub_flush(&cub); +} + + +unsigned +lsquic_engine_get_conns_count (lsquic_engine_t *engine) +{ + return engine->n_conns; +} + + +void +lsquic_engine_process_conns (lsquic_engine_t *engine) +{ + lsquic_conn_t *conn; + lsquic_time_t now; + +#if LSQUIC_CONN_STATS + if (engine->busy.pin_conn) + { + update_busy_detector(engine, engine->busy.pin_conn, 1); + engine->busy.pin_conn = NULL; + } +#endif + + ENGINE_IN(engine); + + now = lsquic_time_now(); + while ((conn = lsquic_attq_pop(engine->attq, now))) + { + conn = engine_decref_conn(engine, conn, LSCONN_ATTQ); + if (conn && !(conn->cn_flags & LSCONN_TICKABLE)) + { + lsquic_mh_insert(&engine->conns_tickable, conn, conn->cn_last_ticked); + engine_incref_conn(conn, LSCONN_TICKABLE); + } + } + + process_connections(engine, conn_iter_next_tickable, now); + ENGINE_OUT(engine); +} + + +static void +release_or_return_enc_data (struct lsquic_engine *engine, + void (*pmi_rel_or_ret) (void *, void *, void *, char), + struct lsquic_conn *conn, struct lsquic_packet_out *packet_out) +{ + pmi_rel_or_ret(engine->pub.enp_pmi_ctx, packet_out->po_path->np_peer_ctx, + packet_out->po_enc_data, lsquic_packet_out_ipv6(packet_out)); + packet_out->po_flags &= ~PO_ENCRYPTED; + packet_out->po_enc_data = NULL; +} + + +static void +release_enc_data (struct lsquic_engine *engine, struct lsquic_conn *conn, + struct lsquic_packet_out *packet_out) +{ + release_or_return_enc_data(engine, engine->pub.enp_pmi->pmi_release, + conn, packet_out); +} + + +static void +return_enc_data (struct lsquic_engine *engine, struct lsquic_conn *conn, + struct lsquic_packet_out *packet_out) +{ + release_or_return_enc_data(engine, engine->pub.enp_pmi->pmi_return, + conn, packet_out); +} + + +static int +copy_packet (struct lsquic_engine *engine, struct lsquic_conn *conn, + struct lsquic_packet_out *packet_out) +{ + int ipv6; + + ipv6 = NP_IS_IPv6(packet_out->po_path); + if (packet_out->po_flags & PO_ENCRYPTED) + { + if (ipv6 == lsquic_packet_out_ipv6(packet_out) + && packet_out->po_data_sz == packet_out->po_enc_data_sz + && 0 == memcmp(packet_out->po_data, packet_out->po_enc_data, + packet_out->po_data_sz)) + return 0; + if (ipv6 == lsquic_packet_out_ipv6(packet_out) + && packet_out->po_data_sz <= packet_out->po_enc_data_sz) + goto copy; + return_enc_data(engine, conn, packet_out); + } + + packet_out->po_enc_data = engine->pub.enp_pmi->pmi_allocate( + engine->pub.enp_pmi_ctx, packet_out->po_path->np_peer_ctx, + conn->cn_conn_ctx, packet_out->po_data_sz, ipv6); + if (!packet_out->po_enc_data) + { + LSQ_DEBUG("could not allocate memory for outgoing unencrypted packet " + "of size %hu", packet_out->po_data_sz); + return -1; + } + + copy: + memcpy(packet_out->po_enc_data, packet_out->po_data, + packet_out->po_data_sz); + packet_out->po_enc_data_sz = packet_out->po_data_sz; + packet_out->po_sent_sz = packet_out->po_data_sz; + packet_out->po_flags &= ~PO_IPv6; + packet_out->po_flags |= PO_ENCRYPTED|PO_SENT_SZ|(ipv6 << POIPv6_SHIFT); + + return 0; +} + + +STAILQ_HEAD(conns_stailq, lsquic_conn); +TAILQ_HEAD(conns_tailq, lsquic_conn); + + +struct conns_out_iter +{ + struct min_heap *coi_heap; + struct pr_queue *coi_prq; + TAILQ_HEAD(, lsquic_conn) coi_active_list, + coi_inactive_list; + lsquic_conn_t *coi_next; +#ifndef NDEBUG + lsquic_time_t coi_last_sent; +#endif +}; + + +static void +coi_init (struct conns_out_iter *iter, struct lsquic_engine *engine) +{ + iter->coi_heap = &engine->conns_out; + iter->coi_prq = engine->pr_queue; + iter->coi_next = NULL; + TAILQ_INIT(&iter->coi_active_list); + TAILQ_INIT(&iter->coi_inactive_list); +#ifndef NDEBUG + iter->coi_last_sent = 0; +#endif +} + + +static lsquic_conn_t * +coi_next (struct conns_out_iter *iter) +{ + lsquic_conn_t *conn; + + if (lsquic_mh_count(iter->coi_heap) > 0) + { + conn = lsquic_mh_pop(iter->coi_heap); + TAILQ_INSERT_TAIL(&iter->coi_active_list, conn, cn_next_out); + conn->cn_flags |= LSCONN_COI_ACTIVE; +#ifndef NDEBUG + if (iter->coi_last_sent) + assert(iter->coi_last_sent <= conn->cn_last_sent); + iter->coi_last_sent = conn->cn_last_sent; +#endif + return conn; + } + else if (iter->coi_prq && (conn = lsquic_prq_next_conn(iter->coi_prq))) + { + return conn; + } + else if (!TAILQ_EMPTY(&iter->coi_active_list)) + { + iter->coi_prq = NULL; /* Save function call in previous conditional */ + conn = iter->coi_next; + if (!conn) + conn = TAILQ_FIRST(&iter->coi_active_list); + if (conn) + iter->coi_next = TAILQ_NEXT(conn, cn_next_out); + return conn; + } + else + return NULL; +} + + +static void +coi_deactivate (struct conns_out_iter *iter, lsquic_conn_t *conn) +{ + if (!(conn->cn_flags & LSCONN_EVANESCENT)) + { + assert(!TAILQ_EMPTY(&iter->coi_active_list)); + TAILQ_REMOVE(&iter->coi_active_list, conn, cn_next_out); + conn->cn_flags &= ~LSCONN_COI_ACTIVE; + TAILQ_INSERT_TAIL(&iter->coi_inactive_list, conn, cn_next_out); + conn->cn_flags |= LSCONN_COI_INACTIVE; + } +} + + +static void +coi_reactivate (struct conns_out_iter *iter, lsquic_conn_t *conn) +{ + assert(conn->cn_flags & LSCONN_COI_INACTIVE); + TAILQ_REMOVE(&iter->coi_inactive_list, conn, cn_next_out); + conn->cn_flags &= ~LSCONN_COI_INACTIVE; + TAILQ_INSERT_TAIL(&iter->coi_active_list, conn, cn_next_out); + conn->cn_flags |= LSCONN_COI_ACTIVE; +} + + +static void +coi_reheap (struct conns_out_iter *iter, lsquic_engine_t *engine) +{ + lsquic_conn_t *conn; + while ((conn = TAILQ_FIRST(&iter->coi_active_list))) + { + TAILQ_REMOVE(&iter->coi_active_list, conn, cn_next_out); + conn->cn_flags &= ~LSCONN_COI_ACTIVE; + if ((conn->cn_flags & CONN_REF_FLAGS) != LSCONN_HAS_OUTGOING + && !(conn->cn_flags & LSCONN_IMMED_CLOSE)) + lsquic_mh_insert(iter->coi_heap, conn, conn->cn_last_sent); + else /* Closed connection gets one shot at sending packets */ + (void) engine_decref_conn(engine, conn, LSCONN_HAS_OUTGOING); + } + while ((conn = TAILQ_FIRST(&iter->coi_inactive_list))) + { + TAILQ_REMOVE(&iter->coi_inactive_list, conn, cn_next_out); + conn->cn_flags &= ~LSCONN_COI_INACTIVE; + (void) engine_decref_conn(engine, conn, LSCONN_HAS_OUTGOING); + } +} + + +#if CAN_LOSE_PACKETS +static void +lose_matching_packets (const lsquic_engine_t *engine, struct out_batch *batch, + unsigned n) +{ + const lsquic_cid_t *cid; + struct iovec *iov; + unsigned i; + char packno_str[22]; + + for (i = 0; i < n; ++i) + { + snprintf(packno_str, sizeof(packno_str), "#%"PRIu64, + batch->packets[i]->po_packno); + if (0 == regexec(&engine->lose_packets_re, packno_str, 0, NULL, 0)) + { + for (iov = batch->outs[i].iov; iov < + batch->outs[i].iov + batch->outs[i].iovlen; ++iov) + batch->outs[i].iov->iov_len -= 1; + cid = lsquic_conn_log_cid(batch->conns[i]); + LSQ_WARNC("losing packet %s for connection %"CID_FMT, packno_str, + CID_BITS(cid)); + } + } +} + + +#endif + + +#ifdef NDEBUG +#define CONST_BATCH const +#else +#define CONST_BATCH +#endif + + +struct send_batch_ctx { + struct conns_stailq *closed_conns; + struct conns_tailq *ticked_conns; + struct conns_out_iter *conns_iter; + CONST_BATCH struct out_batch *batch; +}; + + +static void +close_conn_immediately (struct lsquic_engine *engine, + const struct send_batch_ctx *sb_ctx, struct lsquic_conn *conn) +{ + conn->cn_flags |= LSCONN_IMMED_CLOSE; + if (!(conn->cn_flags & LSCONN_CLOSING)) + { + STAILQ_INSERT_TAIL(sb_ctx->closed_conns, conn, cn_next_closed_conn); + engine_incref_conn(conn, LSCONN_CLOSING); + if (conn->cn_flags & LSCONN_HASHED) + remove_conn_from_hash(engine, conn); + } + if (conn->cn_flags & LSCONN_TICKED) + { + TAILQ_REMOVE(sb_ctx->ticked_conns, conn, cn_next_ticked); + engine_decref_conn(engine, conn, LSCONN_TICKED); + } +} + + +static void +close_conn_on_send_error (struct lsquic_engine *engine, + const struct send_batch_ctx *sb_ctx, int n, int e_val) +{ + const struct out_batch *batch = sb_ctx->batch; + struct lsquic_conn *const conn = batch->conns[n]; + char buf[2][INET6_ADDRSTRLEN + sizeof(":65535")]; + + LSQ_WARNC("error sending packet for %s connection %"CID_FMT" - close it; " + "src: %s; dst: %s; errno: %d", + conn->cn_flags & LSCONN_EVANESCENT ? "evanecsent" : + conn->cn_flags & LSCONN_MINI ? "mini" : "regular", + CID_BITS(lsquic_conn_log_cid(conn)), + SA2STR(batch->outs[n].local_sa, buf[0]), + SA2STR(batch->outs[n].dest_sa, buf[1]), + e_val); + if (conn->cn_flags & LSCONN_EVANESCENT) + lsquic_prq_drop(conn); + else + close_conn_immediately(engine, sb_ctx, conn); +} + + +static void +apply_hp (struct conns_out_iter *iter) +{ + struct lsquic_conn *conn; + + TAILQ_FOREACH(conn, &iter->coi_active_list, cn_next_out) + if (conn->cn_esf_c->esf_flush_encryption && conn->cn_enc_session) + conn->cn_esf_c->esf_flush_encryption(conn->cn_enc_session); + TAILQ_FOREACH(conn, &iter->coi_inactive_list, cn_next_out) + if (conn->cn_esf_c->esf_flush_encryption && conn->cn_enc_session) + conn->cn_esf_c->esf_flush_encryption(conn->cn_enc_session); +} + + +#if LSQUIC_CONN_STATS +static void +update_batch_size_stats (struct lsquic_engine *engine, unsigned batch_size) +{ + struct batch_size_stats *const stats = &engine->pub.enp_batch_size_stats; + + ++stats->count; + if (batch_size > stats->max) + stats->max = batch_size; + if (batch_size < stats->min || 0 == stats->min) + stats->min = batch_size; + if (stats->avg) + stats->avg = ((float) batch_size - stats->avg) * 0.4 + stats->avg; + else + stats->avg = (float) batch_size; +} + + +#endif + + +static unsigned +send_batch (lsquic_engine_t *engine, const struct send_batch_ctx *sb_ctx, + unsigned n_to_send) +{ + int n_sent, i, e_val; + lsquic_time_t now; + unsigned off, skip; + size_t count; + CONST_BATCH struct out_batch *const batch = sb_ctx->batch; + struct lsquic_packet_out *CONST_BATCH *packet_out, *CONST_BATCH *end; + +#if LSQUIC_CONN_STATS + update_batch_size_stats(engine, n_to_send); +#endif + + apply_hp(sb_ctx->conns_iter); +#if CAN_LOSE_PACKETS + if (engine->flags & ENG_LOSE_PACKETS) + lose_matching_packets(engine, batch, n_to_send); +#endif + skip = 0; + restart_batch: + /* Set sent time before the write to avoid underestimating RTT */ + now = lsquic_time_now(); + for (i = skip; i < (int) (n_to_send - skip); ++i) + { + off = batch->pack_off[i]; + count = batch->outs[i].iovlen; + assert(count > 0); + packet_out = &batch->packets[off]; + end = packet_out + count; + do + (*packet_out)->po_sent = now; + while (++packet_out < end); + } + n_sent = engine->packets_out(engine->packets_out_ctx, batch->outs + skip, + n_to_send - skip); + e_val = errno; + if (n_sent < (int) (n_to_send - skip) && e_val != EMSGSIZE) + { + engine->pub.enp_flags &= ~ENPUB_CAN_SEND; + engine->resume_sending_at = now + 1000000; + LSQ_DEBUG("cannot send packets"); + EV_LOG_GENERIC_EVENT("cannot send packets"); + if (!(EAGAIN == e_val || EWOULDBLOCK == e_val)) + close_conn_on_send_error(engine, sb_ctx, + n_sent < 0 ? 0 : n_sent, e_val); + } + if (n_sent >= 0) + LSQ_DEBUG("packets out returned %d (out of %u)", n_sent, + n_to_send - skip); + else + { + LSQ_DEBUG("packets out returned an error: %s", strerror(e_val)); + n_sent = 0; + } + if (n_sent > 0) + engine->last_sent = now + n_sent; + for (i = skip; i < (int) (skip + n_sent); ++i) + { + eng_hist_inc(&engine->history, now, sl_packets_out); + /* `i' is added to maintain relative order */ + batch->conns[i]->cn_last_sent = now + i; + + off = batch->pack_off[i]; + count = batch->outs[i].iovlen; + assert(count > 0); + packet_out = &batch->packets[off]; + end = packet_out + count; + do + { +#if LOG_PACKET_CHECKSUM + log_packet_checksum(lsquic_conn_log_cid(batch->conns[i]), "out", + batch->outs[i].iov[packet_out - &batch->packets[off]].iov_base, + batch->outs[i].iov[packet_out - &batch->packets[off]].iov_len); +#endif + EV_LOG_PACKET_SENT(lsquic_conn_log_cid(batch->conns[i]), + *packet_out); + /* Release packet out buffer as soon as the packet is sent + * successfully. If not successfully sent, we hold on to + * this buffer until the packet sending is attempted again + * or until it times out and regenerated. + */ + if ((*packet_out)->po_flags & PO_ENCRYPTED) + release_enc_data(engine, batch->conns[i], *packet_out); + batch->conns[i]->cn_if->ci_packet_sent(batch->conns[i], + *packet_out); + } + while (++packet_out < end); + } + if (i < (int) n_to_send && e_val == EMSGSIZE) + { + LSQ_DEBUG("packet #%d could not be sent out for being too large", i); + if (batch->conns[i]->cn_if->ci_packet_too_large + && batch->outs[i].iovlen == 1) + { + off = batch->pack_off[i]; + packet_out = &batch->packets[off]; + batch->conns[i]->cn_if->ci_packet_too_large(batch->conns[i], + *packet_out); + ++i; + if (i < (int) n_to_send) + { + skip = i; + LSQ_DEBUG("restart batch starting at packet #%u", skip); + goto restart_batch; + } + n_sent = n_to_send; + } + else + close_conn_on_send_error(engine, sb_ctx, i, e_val); + } + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) + for ( ; i < (int) n_to_send; ++i) + { + off = batch->pack_off[i]; + count = batch->outs[i].iovlen; + assert(count > 0); + packet_out = &batch->packets[off]; + end = packet_out + count; + do + EV_LOG_PACKET_NOT_SENT(lsquic_conn_log_cid(batch->conns[i]), + *packet_out); + while (++packet_out < end); + } + /* Return packets to the connection in reverse order so that the packet + * ordering is maintained. + */ + for (i = (int) n_to_send - 1; i >= (int) (skip + n_sent); --i) + { + off = batch->pack_off[i]; + count = batch->outs[i].iovlen; + assert(count > 0); + packet_out = &batch->packets[off + count - 1]; + end = &batch->packets[off - 1]; + do + batch->conns[i]->cn_if->ci_packet_not_sent(batch->conns[i], + *packet_out); + while (--packet_out > end); + if (!(batch->conns[i]->cn_flags & (LSCONN_COI_ACTIVE|LSCONN_EVANESCENT))) + coi_reactivate(sb_ctx->conns_iter, batch->conns[i]); + } + return skip + n_sent; +} + + +/* Return 1 if went past deadline, 0 otherwise */ +static int +check_deadline (lsquic_engine_t *engine) +{ + if (engine->pub.enp_settings.es_proc_time_thresh && + lsquic_time_now() > engine->deadline) + { + LSQ_INFO("went past threshold of %u usec, stop sending", + engine->pub.enp_settings.es_proc_time_thresh); + engine->flags |= ENG_PAST_DEADLINE; + return 1; + } + else + return 0; +} + + +static size_t +iov_size (const struct iovec *iov, const struct iovec *const end) +{ + size_t size; + + assert(iov < end); + + size = 0; + do + size += iov->iov_len; + while (++iov < end); + + return size; +} + + +static void +send_packets_out (struct lsquic_engine *engine, + struct conns_tailq *ticked_conns, + struct conns_stailq *closed_conns) +{ + unsigned n, w, n_sent, n_batches_sent; + lsquic_packet_out_t *packet_out; + struct lsquic_packet_out **packet; + lsquic_conn_t *conn; + struct out_batch *const batch = &engine->out_batch; + struct iovec *iov, *packet_iov; + struct conns_out_iter conns_iter; + int shrink, deadline_exceeded; + const struct send_batch_ctx sb_ctx = { + closed_conns, + ticked_conns, + &conns_iter, + &engine->out_batch, + }; + + coi_init(&conns_iter, engine); + n_batches_sent = 0; + n_sent = 0, n = 0; + shrink = 0; + deadline_exceeded = 0; + iov = batch->iov; + packet = batch->packets; + + while ((conn = coi_next(&conns_iter))) + { + packet_out = conn->cn_if->ci_next_packet_to_send(conn, 0); + if (!packet_out) { + /* Evanescent connection always has a packet to send: */ + assert(!(conn->cn_flags & LSCONN_EVANESCENT)); + LSQ_DEBUGC("batched all outgoing packets for %s conn %"CID_FMT, + (conn->cn_flags & LSCONN_MINI ? "mini" : "full"), + CID_BITS(lsquic_conn_log_cid(conn))); + coi_deactivate(&conns_iter, conn); + continue; + } + batch->outs[n].iov = packet_iov = iov; + next_coa: + if (!(packet_out->po_flags & (PO_ENCRYPTED|PO_NOENCRYPT))) + { + switch (conn->cn_esf_c->esf_encrypt_packet(conn->cn_enc_session, + &engine->pub, conn, packet_out)) + { + case ENCPA_NOMEM: + /* Send what we have and wait for a more opportune moment */ + conn->cn_if->ci_packet_not_sent(conn, packet_out); + goto end_for; + case ENCPA_BADCRYPT: + /* This is pretty bad: close connection immediately */ + conn->cn_if->ci_packet_not_sent(conn, packet_out); + LSQ_INFOC("conn %"CID_FMT" has unsendable packets", + CID_BITS(lsquic_conn_log_cid(conn))); + if (!(conn->cn_flags & LSCONN_EVANESCENT)) + { + close_conn_immediately(engine, &sb_ctx, conn); + coi_deactivate(&conns_iter, conn); + } + continue; + case ENCPA_OK: + break; + } + } + else if ((packet_out->po_flags & PO_NOENCRYPT) + && engine->pub.enp_pmi != &stock_pmi) + { + if (0 != copy_packet(engine, conn, packet_out)) + { + /* Copy can only fail if packet could not be allocated */ + conn->cn_if->ci_packet_not_sent(conn, packet_out); + goto end_for; + } + } + LSQ_DEBUGC("batched packet #%"PRIu64" for connection %"CID_FMT, + packet_out->po_packno, CID_BITS(lsquic_conn_log_cid(conn))); + if (packet_out->po_flags & PO_ENCRYPTED) + { + iov->iov_base = packet_out->po_enc_data; + iov->iov_len = packet_out->po_enc_data_sz; + } + else + { + iov->iov_base = packet_out->po_data; + iov->iov_len = packet_out->po_data_sz; + } + if (packet_iov == iov) + { + batch->pack_off[n] = packet - batch->packets; + batch->outs [n].ecn = lsquic_packet_out_ecn(packet_out); + batch->outs [n].peer_ctx = packet_out->po_path->np_peer_ctx; + batch->outs [n].local_sa = NP_LOCAL_SA(packet_out->po_path); + batch->outs [n].dest_sa = NP_PEER_SA(packet_out->po_path); + batch->outs [n].conn_ctx = conn->cn_conn_ctx; + batch->conns [n] = conn; + } + *packet = packet_out; + ++packet; + ++iov; + if ((conn->cn_flags & LSCONN_IETF) + && ((1 << packet_out->po_header_type) + & ((1 << HETY_INITIAL)|(1 << HETY_HANDSHAKE)|(1 << HETY_0RTT))) +#ifndef NDEBUG + && (engine->flags & ENG_COALESCE) +#endif + && iov < batch->iov + sizeof(batch->iov) / sizeof(batch->iov[0])) + { + const struct to_coal to_coal = { + .prev_packet = packet_out, + .prev_sz_sum = iov_size(packet_iov, iov), + }; + packet_out = conn->cn_if->ci_next_packet_to_send(conn, &to_coal); + if (packet_out) + goto next_coa; + } + batch->outs [n].iovlen = iov - packet_iov; + ++n; + if (n == engine->batch_size + || iov >= batch->iov + sizeof(batch->iov) / sizeof(batch->iov[0])) + { + w = send_batch(engine, &sb_ctx, n); + n = 0; + iov = batch->iov; + packet = batch->packets; + ++n_batches_sent; + n_sent += w; + if (w < engine->batch_size) + { + shrink = 1; + break; + } + deadline_exceeded = check_deadline(engine); + if (deadline_exceeded) + break; + grow_batch_size(engine); + } + } + end_for: + + if (n > 0) { + w = send_batch(engine, &sb_ctx, n); + n_sent += w; + shrink = w < n; + ++n_batches_sent; + } + + if (shrink) + shrink_batch_size(engine); + else if (n_batches_sent > 1) + { + deadline_exceeded = check_deadline(engine); + if (!deadline_exceeded) + grow_batch_size(engine); + } + + coi_reheap(&conns_iter, engine); + + LSQ_DEBUG("%s: sent %u packet%.*s", __func__, n_sent, n_sent != 1, "s"); +} + + +int +lsquic_engine_has_unsent_packets (lsquic_engine_t *engine) +{ + return lsquic_mh_count(&engine->conns_out) > 0 + || (engine->pr_queue && lsquic_prq_have_pending(engine->pr_queue)) + ; +} + + +static void +reset_deadline (lsquic_engine_t *engine, lsquic_time_t now) +{ + engine->deadline = now + engine->pub.enp_settings.es_proc_time_thresh; + engine->flags &= ~ENG_PAST_DEADLINE; +} + + +static void +check_tickable_conns_again (struct lsquic_engine *engine) +{ + struct lsquic_hash_elem *el; + struct lsquic_conn *conn; + unsigned count; + + count = 0; + for (el = lsquic_hash_first(engine->conns_hash); el; + el = lsquic_hash_next(engine->conns_hash)) + { + conn = lsquic_hashelem_getdata(el); + if (!(conn->cn_flags & LSCONN_TICKABLE) + && conn->cn_if->ci_is_tickable(conn)) + { + lsquic_mh_insert(&engine->conns_tickable, conn, + conn->cn_last_ticked); + engine_incref_conn(conn, LSCONN_TICKABLE); + ++count; + } + } + LSQ_DEBUG("%u connection%s tickable again after sending has been " + "re-enabled", count, count == 1 ? " is" : "s are"); +} + + +void +lsquic_engine_send_unsent_packets (lsquic_engine_t *engine) +{ + lsquic_conn_t *conn; + struct conns_stailq closed_conns; + struct conns_tailq ticked_conns = TAILQ_HEAD_INITIALIZER(ticked_conns); + struct cid_update_batch cub; + + ENGINE_IN(engine); + cub_init(&cub, engine->report_old_scids, engine->scids_ctx); + STAILQ_INIT(&closed_conns); + reset_deadline(engine, lsquic_time_now()); + if (!(engine->pub.enp_flags & ENPUB_CAN_SEND)) + { + LSQ_DEBUG("can send again"); + EV_LOG_GENERIC_EVENT("can send again"); + engine->pub.enp_flags |= ENPUB_CAN_SEND; + check_tickable_conns_again(engine); + } + + send_packets_out(engine, &ticked_conns, &closed_conns); + + while ((conn = STAILQ_FIRST(&closed_conns))) { + STAILQ_REMOVE_HEAD(&closed_conns, cn_next_closed_conn); + if ((conn->cn_flags & (LSCONN_MINI|LSCONN_PROMOTED)) == LSCONN_MINI) + cub_add_cids_from_cces(&cub, conn); + (void) engine_decref_conn(engine, conn, LSCONN_CLOSING); + } + + cub_flush(&cub); + ENGINE_OUT(engine); +} + + +static lsquic_conn_t * +next_new_full_conn (struct conns_stailq *new_full_conns) +{ + lsquic_conn_t *conn; + + conn = STAILQ_FIRST(new_full_conns); + if (conn) + STAILQ_REMOVE_HEAD(new_full_conns, cn_next_new_full); + return conn; +} + + +#if LSQUIC_CONN_STATS +static void +maybe_log_conn_stats (struct lsquic_engine *engine, struct lsquic_conn *conn, + lsquic_time_t now) +{ + char cidstr[MAX_CID_LEN * 2 + 1]; + + if (!LSQ_LOG_ENABLED_EXT(LSQ_LOG_NOTICE, LSQLM_CONN_STATS)) + return; + + if (conn->cn_last_ticked + 1000000 >= now) + { + if (0 == engine->busy.last_log + || engine->busy.last_log + 1000000 - 1000 < now) + { + engine->busy.last_log = now; + conn->cn_if->ci_log_stats(conn); + } + } + else + { + lsquic_logger_log1(LSQ_LOG_NOTICE, LSQLM_CONN_STATS, + "stop logging status for connection %s: no longer busy", + (lsquic_cid2str(lsquic_conn_log_cid(conn), cidstr), cidstr)); + engine->busy.current = NULL; + engine->busy.last_log = 0; + } +} + + +#endif + + +static void +process_connections (lsquic_engine_t *engine, conn_iter_f next_conn, + lsquic_time_t now) +{ + lsquic_conn_t *conn; + enum tick_st tick_st; + unsigned i, why; + lsquic_time_t next_tick_time; + struct conns_stailq closed_conns; + struct conns_tailq ticked_conns; + struct conns_stailq new_full_conns; + struct cid_update_batch cub_old, cub_live; + cub_init(&cub_old, engine->report_old_scids, engine->scids_ctx); + cub_init(&cub_live, engine->report_live_scids, engine->scids_ctx); + + eng_hist_tick(&engine->history, now); + + STAILQ_INIT(&closed_conns); + TAILQ_INIT(&ticked_conns); + reset_deadline(engine, now); + STAILQ_INIT(&new_full_conns); + + if (!(engine->pub.enp_flags & ENPUB_CAN_SEND) + && now > engine->resume_sending_at) + { + LSQ_NOTICE("failsafe activated: resume sending packets again after " + "timeout"); + EV_LOG_GENERIC_EVENT("resume sending packets again after timeout"); + engine->pub.enp_flags |= ENPUB_CAN_SEND; + } + + i = 0; + while ((conn = next_conn(engine)) + || (conn = next_new_full_conn(&new_full_conns))) + { + tick_st = conn->cn_if->ci_tick(conn, now); +#if LSQUIC_CONN_STATS + if (conn == engine->busy.current) + maybe_log_conn_stats(engine, conn, now); +#endif + conn->cn_last_ticked = now + i /* Maintain relative order */ ++; + if (tick_st & TICK_PROMOTE) + { + lsquic_conn_t *new_conn; + EV_LOG_CONN_EVENT(lsquic_conn_log_cid(conn), + "scheduled for promotion"); + assert(conn->cn_flags & LSCONN_MINI); + new_conn = new_full_conn_server(engine, conn, now); + if (new_conn) + { + STAILQ_INSERT_TAIL(&new_full_conns, new_conn, cn_next_new_full); + new_conn->cn_last_sent = engine->last_sent; + eng_hist_inc(&engine->history, now, sl_new_full_conns); + conn->cn_flags |= LSCONN_PROMOTED; + } + tick_st |= TICK_CLOSE; /* Destroy mini connection */ + } + if (tick_st & TICK_RETRY) + { + assert(conn->cn_flags & LSCONN_MINI); + schedule_mini_retry(engine, conn, now); + } + if (tick_st & TICK_SEND) + { + if (!(conn->cn_flags & LSCONN_HAS_OUTGOING)) + { + lsquic_mh_insert(&engine->conns_out, conn, conn->cn_last_sent); + engine_incref_conn(conn, LSCONN_HAS_OUTGOING); + } + } + if (tick_st & TICK_CLOSE) + { + STAILQ_INSERT_TAIL(&closed_conns, conn, cn_next_closed_conn); + engine_incref_conn(conn, LSCONN_CLOSING); + if (conn->cn_flags & LSCONN_HASHED) + remove_conn_from_hash(engine, conn); + } + else + { + TAILQ_INSERT_TAIL(&ticked_conns, conn, cn_next_ticked); + engine_incref_conn(conn, LSCONN_TICKED); + if ((engine->flags & ENG_SERVER) && conn->cn_if->ci_report_live + && conn->cn_if->ci_report_live(conn, now)) + cub_add_cids_from_cces(&cub_live, conn); + } + } + + cub_flush(&engine->new_scids); + + if ((engine->pub.enp_flags & ENPUB_CAN_SEND) + && lsquic_engine_has_unsent_packets(engine)) + send_packets_out(engine, &ticked_conns, &closed_conns); + + while ((conn = STAILQ_FIRST(&closed_conns))) { + STAILQ_REMOVE_HEAD(&closed_conns, cn_next_closed_conn); + if ((conn->cn_flags & (LSCONN_MINI|LSCONN_PROMOTED)) == LSCONN_MINI) + cub_add_cids_from_cces(&cub_old, conn); + (void) engine_decref_conn(engine, conn, LSCONN_CLOSING); + } + + while ((conn = TAILQ_FIRST(&ticked_conns))) + { + TAILQ_REMOVE(&ticked_conns, conn, cn_next_ticked); + engine_decref_conn(engine, conn, LSCONN_TICKED); + if (!(conn->cn_flags & LSCONN_TICKABLE) + && conn->cn_if->ci_is_tickable(conn)) + { + /* Floyd heapification is not faster, don't bother. */ + lsquic_mh_insert(&engine->conns_tickable, conn, conn->cn_last_ticked); + engine_incref_conn(conn, LSCONN_TICKABLE); + } + else if (!(conn->cn_flags & LSCONN_ATTQ)) + { + next_tick_time = conn->cn_if->ci_next_tick_time(conn, &why); + if (next_tick_time) + { + if (0 == lsquic_attq_add(engine->attq, conn, next_tick_time, + why)) + engine_incref_conn(conn, LSCONN_ATTQ); + } + else + /* In all other cases, the idle timeout would make the next + * tick time non-zero: + */ + assert((conn->cn_flags & LSCONN_IETF) + && engine->pub.enp_settings.es_idle_timeout == 0); + } + } + + cub_flush(&cub_live); + cub_flush(&cub_old); +} + + +static void +maybe_count_garbage (struct lsquic_engine *engine, size_t garbage_sz) +{ + /* This is not very pretty (action at a distance via engine->curr_conn), + * but it's the cheapest I can come up with to handle the "count garbage + * toward amplification limit" requirement in + * [draft-ietf-quic-transport-28] Section 8.1. + */ + if (engine->curr_conn && engine->curr_conn->cn_if->ci_count_garbage) + engine->curr_conn->cn_if->ci_count_garbage(engine->curr_conn, + garbage_sz); +} + + +/* Return 0 if packet is being processed by a real connection, 1 if the + * packet was processed, but not by a connection, and -1 on error. + */ +int +lsquic_engine_packet_in (lsquic_engine_t *engine, + const unsigned char *packet_in_data, size_t packet_in_size, + const struct sockaddr *sa_local, const struct sockaddr *sa_peer, + void *peer_ctx, int ecn) +{ + const unsigned char *const packet_begin = packet_in_data; + const unsigned char *const packet_end = packet_in_data + packet_in_size; + struct packin_parse_state ppstate; + lsquic_packet_in_t *packet_in; + int (*parse_packet_in_begin) (struct lsquic_packet_in *, size_t length, + int is_server, unsigned cid_len, struct packin_parse_state *); + unsigned n_zeroes; + int s, is_ietf; + lsquic_cid_t cid; + + ENGINE_CALLS_INCR(engine); + + if (engine->flags & ENG_SERVER) + parse_packet_in_begin = lsquic_parse_packet_in_server_begin; + else if (engine->flags & ENG_CONNS_BY_ADDR) + { + struct lsquic_hash_elem *el; + const struct lsquic_conn *conn; + el = find_conn_by_addr(engine->conns_hash, sa_local); + if (!el) + return -1; + conn = lsquic_hashelem_getdata(el); + if ((1 << conn->cn_version) & LSQUIC_GQUIC_HEADER_VERSIONS) + parse_packet_in_begin = lsquic_gquic_parse_packet_in_begin; + else if ((1 << conn->cn_version) & LSQUIC_IETF_VERSIONS) + parse_packet_in_begin = lsquic_ietf_v1_parse_packet_in_begin; + else if (conn->cn_version == LSQVER_050) + parse_packet_in_begin = lsquic_Q050_parse_packet_in_begin; + else + { + assert(conn->cn_version == LSQVER_046); + parse_packet_in_begin = lsquic_Q046_parse_packet_in_begin; + } + } + else + parse_packet_in_begin = lsquic_parse_packet_in_begin; + + engine->curr_conn = NULL; + n_zeroes = 0; + is_ietf = 0; +#ifdef _MSC_VER + s = 0; + cid.len = 0; + cid.idbuf[0] = 0; +#endif + do + { + packet_in = lsquic_mm_get_packet_in(&engine->pub.enp_mm); + if (!packet_in) + return -1; + /* Library does not modify packet_in_data, it is not referenced after + * this function returns and subsequent release of pi_data is guarded + * by PI_OWN_DATA flag. + */ + packet_in->pi_data = (unsigned char *) packet_in_data; + packet_in->pi_pkt_size = packet_in_size; + if (0 != parse_packet_in_begin(packet_in, packet_end - packet_in_data, + engine->flags & ENG_SERVER, + engine->pub.enp_settings.es_scid_len, &ppstate)) + { + LSQ_DEBUG("Cannot parse incoming packet's header"); + maybe_count_garbage(engine, packet_end - packet_in_data); + lsquic_mm_put_packet_in(&engine->pub.enp_mm, packet_in); + s = 1; + break; + } + + /* [draft-ietf-quic-transport-30] Section 12.2: + * " Receivers SHOULD ignore any subsequent packets with a different + * " Destination Connection ID than the first packet in the datagram. + */ + if (is_ietf && packet_in_data > packet_begin) + { + if (!((packet_in->pi_flags & (PI_GQUIC|PI_CONN_ID)) == PI_CONN_ID + && LSQUIC_CIDS_EQ(&packet_in->pi_dcid, &cid))) + { + packet_in_data += packet_in->pi_data_sz; + maybe_count_garbage(engine, packet_in->pi_data_sz); + lsquic_mm_put_packet_in(&engine->pub.enp_mm, packet_in); + continue; + } + } + + is_ietf = 0 == (packet_in->pi_flags & PI_GQUIC); + packet_in_data += packet_in->pi_data_sz; + if (is_ietf && packet_in_data < packet_end) + { + cid = packet_in->pi_dcid; + if (packet_begin == packet_in->pi_data) /* Only log once: */ + LSQ_DEBUGC("received coalesced datagram of %zd bytes for " + "connection %"CID_FMT, packet_in_size, CID_BITS(&cid)); + } + packet_in->pi_received = lsquic_time_now(); + packet_in->pi_flags |= (3 & ecn) << PIBIT_ECN_SHIFT; + eng_hist_inc(&engine->history, packet_in->pi_received, sl_packets_in); + s = process_packet_in(engine, packet_in, &ppstate, sa_local, sa_peer, + peer_ctx, packet_in_size); + n_zeroes += s == 0; + } + while (0 == s && packet_in_data < packet_end); + + return n_zeroes > 0 ? 0 : s; +} + + +#if __GNUC__ && !defined(NDEBUG) +__attribute__((weak)) +#endif +unsigned +lsquic_engine_quic_versions (const lsquic_engine_t *engine) +{ + return engine->pub.enp_settings.es_versions; +} + + +void +lsquic_engine_cooldown (lsquic_engine_t *engine) +{ + struct lsquic_hash_elem *el; + lsquic_conn_t *conn; + + if (engine->flags & ENG_COOLDOWN) + /* AFAICT, there is no harm in calling this function more than once, + * but log it just in case, as it may indicate an error in the caller. + */ + LSQ_INFO("cooldown called again"); + engine->flags |= ENG_COOLDOWN; + LSQ_INFO("entering cooldown mode"); + if (engine->flags & ENG_SERVER) + drop_all_mini_conns(engine); + for (el = lsquic_hash_first(engine->conns_hash); el; + el = lsquic_hash_next(engine->conns_hash)) + { + conn = lsquic_hashelem_getdata(el); + lsquic_conn_going_away(conn); + } +} + + +#if LSQUIC_CONN_STATS +static void +update_busy_detector (struct lsquic_engine *engine, struct lsquic_conn *conn, + int immed) +{ + char cidstr[MAX_CID_LEN * 2 + 1]; + + if (!(LSQ_LOG_ENABLED_EXT(LSQ_LOG_NOTICE, LSQLM_CONN_STATS) + && conn->cn_if->ci_log_stats)) + return; + + if (conn == engine->busy.last_conn) + { + engine->busy.immed_ticks <<= 1u; + engine->busy.immed_ticks |= immed; + if (MAX_IMMED_TICKS == engine->busy.immed_ticks) + { + if (engine->busy.current != conn) + lsquic_logger_log1(LSQ_LOG_NOTICE, LSQLM_CONN_STATS, + "connection %s marked busy: it's had %u immediate ticks " + "in a row", + (lsquic_cid2str(lsquic_conn_log_cid(conn), cidstr), cidstr), + (unsigned) (sizeof(engine->busy.immed_ticks) * 8)); + engine->busy.current = conn; + } + } + else + engine->busy.immed_ticks <<= 1; + + engine->busy.last_conn = conn; +} + + +#endif + + +int +lsquic_engine_earliest_adv_tick (lsquic_engine_t *engine, int *diff) +{ + const struct attq_elem *next_attq; + lsquic_time_t now, next_time; +#if LSQUIC_DEBUG_NEXT_ADV_TICK || LSQUIC_CONN_STATS + struct lsquic_conn *conn; +#endif +#if LSQUIC_DEBUG_NEXT_ADV_TICK + const enum lsq_log_level L = LSQ_LOG_DEBUG; /* Easy toggle */ +#endif + + ENGINE_CALLS_INCR(engine); + + if ((engine->flags & ENG_PAST_DEADLINE) + && lsquic_mh_count(&engine->conns_out)) + { +#if LSQUIC_DEBUG_NEXT_ADV_TICK + if (LSQ_LOG_ENABLED(L)) + { + conn = lsquic_mh_peek(&engine->conns_out); + engine->last_logged_conn = 0; + LSQ_LOGC(L, "next advisory tick is now: went past deadline last time " + "and have %u outgoing connection%.*s (%"CID_FMT" first)", + lsquic_mh_count(&engine->conns_out), + lsquic_mh_count(&engine->conns_out) != 1, "s", + CID_BITS(lsquic_conn_log_cid(conn))); + } +#endif +#if LSQUIC_CONN_STATS + conn = lsquic_mh_peek(&engine->conns_out); + update_busy_detector(engine, conn, 1); +#endif + *diff = 0; + return 1; + } + + if ((engine->pub.enp_flags & ENPUB_CAN_SEND) + && engine->pr_queue && lsquic_prq_have_pending(engine->pr_queue)) + { +#if LSQUIC_DEBUG_NEXT_ADV_TICK + if (LSQ_LOG_ENABLED(L)) + { + engine->last_logged_conn = 0; + LSQ_LOG(L, "next advisory tick is now: have pending PRQ elements"); + } +#endif + *diff = 0; + return 1; + } + + if (lsquic_mh_count(&engine->conns_tickable)) + { +#if LSQUIC_DEBUG_NEXT_ADV_TICK + if (LSQ_LOG_ENABLED(L)) + { + conn = lsquic_mh_peek(&engine->conns_tickable); + engine->last_logged_conn = 0; + LSQ_LOGC(L, "next advisory tick is now: have %u tickable " + "connection%.*s (%"CID_FMT" first)", + lsquic_mh_count(&engine->conns_tickable), + lsquic_mh_count(&engine->conns_tickable) != 1, "s", + CID_BITS(lsquic_conn_log_cid(conn))); + } +#endif +#if LSQUIC_CONN_STATS + conn = lsquic_mh_peek(&engine->conns_tickable); + update_busy_detector(engine, conn, 1); +#endif + *diff = 0; + return 1; + } + + next_attq = lsquic_attq_next(engine->attq); + if (engine->pub.enp_flags & ENPUB_CAN_SEND) + { + if (next_attq) + next_time = next_attq->ae_adv_time; + else + return 0; + } + else + { + if (next_attq) + { + next_time = next_attq->ae_adv_time; + if (engine->resume_sending_at < next_time) + { + next_time = engine->resume_sending_at; + next_attq = NULL; + } + } + else + next_time = engine->resume_sending_at; + } + + now = lsquic_time_now(); + *diff = (int) ((int64_t) next_time - (int64_t) now); +#if LSQUIC_DEBUG_NEXT_ADV_TICK + if (LSQ_LOG_ENABLED(L)) + { + if (next_attq) + { + /* Deduplicate consecutive log messages about the same reason for the + * same connection. + * If diff is always zero or diff reset to a higher value, event is + * still logged. + */ + if (!((unsigned) next_attq->ae_why == engine->last_logged_ae_why + && (uintptr_t) next_attq->ae_conn + == engine->last_logged_conn + && *diff < engine->last_tick_diff)) + { + engine->last_logged_conn = (uintptr_t) next_attq->ae_conn; + engine->last_logged_ae_why = (unsigned) next_attq->ae_why; + engine->last_tick_diff = *diff; + LSQ_LOGC(L, "next advisory tick is %d usec away: conn %"CID_FMT + ": %s", *diff, CID_BITS(lsquic_conn_log_cid(next_attq->ae_conn)), + lsquic_attq_why2str(next_attq->ae_why)); + } + } + else + LSQ_LOG(L, "next advisory tick is %d usec away: resume sending", *diff); + } +#endif + +#if LSQUIC_CONN_STATS + if (next_attq) + update_busy_detector(engine, next_attq->ae_conn, + /* Immediate if: a) time is now or in the past */ + *diff <= 0 + /* b) next event is pacer, which means that the + * connection wants to send, but is prevented + * by the pacer from doing so. + */ + || next_attq->ae_why == AEW_PACER + /* c) next event is to retransmit data (meaning + * that there is data in flight) and the + * time is small, which implies a small RTT. + */ + || (next_attq->ae_why == N_AEWS + AL_RETX_APP + && *diff < 5000)); +#endif + + return 1; +} + + +unsigned +lsquic_engine_count_attq (lsquic_engine_t *engine, int from_now) +{ + lsquic_time_t now; + ENGINE_CALLS_INCR(engine); + now = lsquic_time_now(); + if (from_now < 0) + now -= from_now; + else + now += from_now; + return lsquic_attq_count_before(engine->attq, now); +} + + +int +lsquic_engine_add_cid (struct lsquic_engine_public *enpub, + struct lsquic_conn *conn, unsigned cce_idx) +{ + struct lsquic_engine *const engine = (struct lsquic_engine *) enpub; + struct conn_cid_elem *const cce = &conn->cn_cces[cce_idx]; + void *peer_ctx; + + assert(cce_idx < conn->cn_n_cces); + assert(conn->cn_cces_mask & (1 << cce_idx)); + assert(!(cce->cce_hash_el.qhe_flags & QHE_HASHED)); + + if (lsquic_hash_insert(engine->conns_hash, cce->cce_cid.idbuf, + cce->cce_cid.len, conn, &cce->cce_hash_el)) + { + LSQ_DEBUGC("add %"CID_FMT" to the list of SCIDs", + CID_BITS(&cce->cce_cid)); + peer_ctx = lsquic_conn_get_peer_ctx(conn, NULL); + cce->cce_flags |= CCE_REG; + cub_add(&engine->new_scids, &cce->cce_cid, peer_ctx); + return 0; + } + else + { + LSQ_WARNC("could not add new cid %"CID_FMT" to the SCID hash", + CID_BITS(&cce->cce_cid)); + return -1; + } +} + + +void +lsquic_engine_retire_cid (struct lsquic_engine_public *enpub, + struct lsquic_conn *conn, unsigned cce_idx, lsquic_time_t now, + lsquic_time_t drain_time) +{ + struct lsquic_engine *const engine = (struct lsquic_engine *) enpub; + struct conn_cid_elem *const cce = &conn->cn_cces[cce_idx]; + struct purga_el *puel; + void *peer_ctx; + + assert(cce_idx < conn->cn_n_cces); + + if (cce->cce_hash_el.qhe_flags & QHE_HASHED) + { + LSQ_DEBUGC("drop from conn hash-table CID %"CID_FMT, CID_BITS(&cce->cce_cid)); + lsquic_hash_erase(engine->conns_hash, &cce->cce_hash_el); + } + if (engine->purga) + { + peer_ctx = lsquic_conn_get_peer_ctx(conn, NULL); + puel = lsquic_purga_add(engine->purga, &cce->cce_cid, peer_ctx, + PUTY_CID_RETIRED, now); + if (puel) + puel->puel_time = now + drain_time; + } + conn->cn_cces_mask &= ~(1u << cce_idx); + LSQ_DEBUGC("retire CID %"CID_FMT, CID_BITS(&cce->cce_cid)); +} + + diff --git a/external/lsquic/src/liblsquic/lsquic_engine_public.h b/external/lsquic/src/liblsquic/lsquic_engine_public.h new file mode 100644 index 0000000..1b388a1 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_engine_public.h @@ -0,0 +1,122 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_engine_public.h -- Engine's "public interface" + * + * This structure is used to bundle things in engine that connections + * need. This way, the space per mini connection is one pointer instead + * of several. + */ + +#ifndef LSQUIC_ENGINE_PUBLIC_H +#define LSQUIC_ENGINE_PUBLIC_H 1 + +struct lsquic_cid; +struct lsquic_conn; +struct lsquic_engine; +struct stack_st_X509; +struct lsquic_hash; +struct lsquic_stream_if; +struct ssl_ctx_st; +struct crand; +struct evp_aead_ctx_st; +struct lsquic_server_config; +struct sockaddr; + +enum warning_type +{ + WT_ACKPARSE_MINI, + WT_ACKPARSE_FULL, + WT_NO_POISON, + N_WARNING_TYPES, +}; + +#define WARNING_INTERVAL (24ULL * 3600ULL * 1000000ULL) + +struct lsquic_engine_public { + struct lsquic_mm enp_mm; + struct lsquic_engine_settings enp_settings; + struct token_generator *enp_tokgen; + lsquic_lookup_cert_f enp_lookup_cert; + void *enp_cert_lu_ctx; + struct ssl_ctx_st * (*enp_get_ssl_ctx)(void *peer_ctx, + const struct sockaddr *); + const struct lsquic_shared_hash_if + *enp_shi; + void *enp_shi_ctx; + lsquic_time_t enp_last_warning[N_WARNING_TYPES]; + const struct lsquic_stream_if *enp_stream_if; + void *enp_stream_if_ctx; + const struct lsquic_hset_if *enp_hsi_if; + void *enp_hsi_ctx; + void (*enp_generate_scid)(void *, + struct lsquic_conn *, uint8_t *, unsigned); + void *enp_gen_scid_ctx; + int (*enp_verify_cert)(void *verify_ctx, + struct stack_st_X509 *chain); + void *enp_verify_ctx; + const struct lsquic_packout_mem_if + *enp_pmi; + void *enp_pmi_ctx; + struct lsquic_engine *enp_engine; + struct lsquic_hash *enp_srst_hash; + enum { + ENPUB_PROC = (1 << 0), /* Being processed by one of the user-facing + * functions. + */ + ENPUB_CAN_SEND = (1 << 1), + ENPUB_HTTP = (1 << 2), /* Engine in HTTP mode */ + } enp_flags; + unsigned char enp_ver_tags_buf[ sizeof(lsquic_ver_tag_t) * N_LSQVER ]; + unsigned enp_ver_tags_len; + struct crand *enp_crand; + struct evp_aead_ctx_st *enp_retry_aead_ctx; + unsigned char *enp_alpn; /* May be set if not HTTP */ + /* es_noprogress_timeout converted to microseconds for speed */ + lsquic_time_t enp_noprog_timeout; + lsquic_time_t enp_mtu_probe_timer; + /* Certs used by gQUIC server: */ + struct lsquic_hash *enp_compressed_server_certs; + struct lsquic_hash *enp_server_certs; + /* gQUIC server configuration: */ + struct lsquic_server_config *enp_server_config; + /* Serialized subset of server engine transport parameters that is used + * as SSL QUIC context. 0 is for version <= LSQVER_ID27, 1 is for others. + */ + unsigned char enp_quic_ctx_buf[2][200]; + unsigned enp_quic_ctx_sz[2]; +#if LSQUIC_CONN_STATS + struct batch_size_stats { + unsigned min, max, /* Minimum and maximum batch sizes */ + count; /* Number of batches sent */ + float avg; /* Average batch size */ + } enp_batch_size_stats; +#endif +}; + +/* Put connection onto the Tickable Queue if it is not already on it. If + * connection is being destroyed, this is a no-op. + */ +void +lsquic_engine_add_conn_to_tickable (struct lsquic_engine_public *, + lsquic_conn_t *); + +/* Put connection onto Advisory Tick Time Queue if it is not already on it. + */ +void +lsquic_engine_add_conn_to_attq (struct lsquic_engine_public *enpub, + lsquic_conn_t *, lsquic_time_t, unsigned why); + +void +lsquic_engine_retire_cid (struct lsquic_engine_public *, + struct lsquic_conn *, unsigned cce_idx, lsquic_time_t now, + lsquic_time_t drain_time); + +int +lsquic_engine_add_cid (struct lsquic_engine_public *, + struct lsquic_conn *, unsigned cce_idx); + +struct lsquic_conn * +lsquic_engine_find_conn (const struct lsquic_engine_public *pub, + const lsquic_cid_t *cid); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_ev_log.c b/external/lsquic/src/liblsquic/lsquic_ev_log.c new file mode 100644 index 0000000..10fd6ca --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_ev_log.c @@ -0,0 +1,598 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef WIN32 +#include +#else +#include +#endif +#include +#include +#include +#include +#include + +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_frame_common.h" +#include "lsquic_headers.h" +#include "lsquic_str.h" +#include "lsquic_frame_reader.h" +#include "lsquic_enc_sess.h" +#include "lsquic_ev_log.h" +#include "lsquic_sizes.h" +#include "lsquic_trans_params.h" +#include "lsquic_util.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsxpack_header.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_EVENT +#include "lsquic_logger.h" + + +/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ +/* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| */ +/* Messages that do not include connection ID go above this point */ + +#define LSQUIC_LOG_CONN_ID cid +#define LCID(...) LSQ_LOG2(LSQ_LOG_DEBUG, __VA_ARGS__) /* LCID: log with CID */ + +/* Messages that are to include connection ID go below this point */ +/* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| */ +/* VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV */ + +void +lsquic_ev_log_packet_in (const lsquic_cid_t *cid, + const lsquic_packet_in_t *packet_in) +{ + unsigned packet_sz; + + switch (packet_in->pi_flags & (PI_FROM_MINI|PI_GQUIC)) + { + case PI_FROM_MINI|PI_GQUIC: + LCID("RX packet #%"PRIu64" (mini)", packet_in->pi_packno); + break; + case PI_FROM_MINI: + LCID("RX packet #%"PRIu64" %s (mini), ecn: %u", + packet_in->pi_packno, lsquic_hety2str[packet_in->pi_header_type], + lsquic_packet_in_ecn(packet_in)); + break; + case PI_GQUIC: + packet_sz = packet_in->pi_data_sz + + (packet_in->pi_flags & PI_DECRYPTED ? GQUIC_PACKET_HASH_SZ : 0); + LCID("RX packet #%"PRIu64", size: %u", packet_in->pi_packno, packet_sz); + break; + default: + packet_sz = packet_in->pi_data_sz + + (packet_in->pi_flags & PI_DECRYPTED ? IQUIC_TAG_LEN : 0); + if (packet_in->pi_flags & PI_LOG_QL_BITS) + LCID("RX packet #%"PRIu64" %s, size: %u; ecn: %u, spin: %d; " + "path: %hhu; Q: %d; L: %d", + packet_in->pi_packno, lsquic_hety2str[packet_in->pi_header_type], + packet_sz, + lsquic_packet_in_ecn(packet_in), + /* spin bit value is only valid for short packet headers */ + lsquic_packet_in_spin_bit(packet_in), packet_in->pi_path_id, + ((packet_in->pi_flags & PI_SQUARE_BIT) > 0), + ((packet_in->pi_flags & PI_LOSS_BIT) > 0)); + else + LCID("RX packet #%"PRIu64" %s, size: %u; ecn: %u, spin: %d; " + "path: %hhu", + packet_in->pi_packno, lsquic_hety2str[packet_in->pi_header_type], + packet_sz, + lsquic_packet_in_ecn(packet_in), + /* spin bit value is only valid for short packet headers */ + lsquic_packet_in_spin_bit(packet_in), packet_in->pi_path_id); + break; + } +} + + +void +lsquic_ev_log_ack_frame_in (const lsquic_cid_t *cid, + const struct ack_info *acki) +{ + char buf[MAX_ACKI_STR_SZ]; + + lsquic_acki2str(acki, buf, sizeof(buf)); + LCID("RX ACK frame: %s", buf); +} + + +void +lsquic_ev_log_stream_frame_in (const lsquic_cid_t *cid, + const struct stream_frame *frame) +{ + LCID("RX STREAM frame: stream %"PRIu64"; offset %"PRIu64"; size %"PRIu16 + "; fin: %d", frame->stream_id, frame->data_frame.df_offset, + frame->data_frame.df_size, (int) frame->data_frame.df_fin); +} + + +void +lsquic_ev_log_crypto_frame_in (const lsquic_cid_t *cid, + const struct stream_frame *frame, unsigned enc_level) +{ + LCID("RX CRYPTO frame: level %u; offset %"PRIu64"; size %"PRIu16, + enc_level, frame->data_frame.df_offset, frame->data_frame.df_size); +} + + +void +lsquic_ev_log_stop_waiting_frame_in (const lsquic_cid_t *cid, + lsquic_packno_t least) +{ + LCID("RX STOP_WAITING frame: least unacked packno %"PRIu64, least); +} + + +void +lsquic_ev_log_window_update_frame_in (const lsquic_cid_t *cid, + lsquic_stream_id_t stream_id, uint64_t offset) +{ + LCID("RX WINDOW_UPDATE frame: stream %"PRIu64"; offset %"PRIu64, + stream_id, offset); +} + + +void +lsquic_ev_log_blocked_frame_in (const lsquic_cid_t *cid, + lsquic_stream_id_t stream_id) +{ + LCID("RX BLOCKED frame: stream %"PRIu64, stream_id); +} + + +void +lsquic_ev_log_connection_close_frame_in (const lsquic_cid_t *cid, + uint64_t error_code, int reason_len, const char *reason) +{ + LCID("RX CONNECTION_CLOSE frame: error code %"PRIu64", reason: %.*s", + error_code, reason_len, reason); +} + + +void +lsquic_ev_log_goaway_frame_in (const lsquic_cid_t *cid, uint32_t error_code, + lsquic_stream_id_t stream_id, int reason_len, const char *reason) +{ + LCID("RX GOAWAY frame: error code %"PRIu32", stream %"PRIu64 + ", reason: %.*s", error_code, stream_id, reason_len, reason); +} + + +void +lsquic_ev_log_rst_stream_frame_in (const lsquic_cid_t *cid, + lsquic_stream_id_t stream_id, uint64_t offset, uint64_t error_code) +{ + LCID("RX RST_STREAM frame: error code %"PRIu64", stream %"PRIu64 + ", offset: %"PRIu64, error_code, stream_id, offset); +} + + +void +lsquic_ev_log_stop_sending_frame_in (const lsquic_cid_t *cid, + lsquic_stream_id_t stream_id, uint64_t error_code) +{ + LCID("RX STOP_SENDING frame: error code %"PRIu64", stream %"PRIu64, + error_code, stream_id); +} + + +void +lsquic_ev_log_padding_frame_in (const lsquic_cid_t *cid, size_t len) +{ + LCID("RX PADDING frame of %zd bytes", len); +} + + +void +lsquic_ev_log_ping_frame_in (const lsquic_cid_t *cid) +{ + LCID("RX PING frame"); +} + + +void +lsquic_ev_log_packet_created (const lsquic_cid_t *cid, + const struct lsquic_packet_out *packet_out) +{ + LCID("created packet #%"PRIu64" %s; flags: version=%d, nonce=%d, conn_id=%d", + packet_out->po_packno, + lsquic_hety2str[packet_out->po_header_type], + !!(packet_out->po_flags & PO_VERSION), + !!(packet_out->po_flags & PO_NONCE), + !!(packet_out->po_flags & PO_CONN_ID)); +} + + +void +lsquic_ev_log_packet_sent (const lsquic_cid_t *cid, + const struct lsquic_packet_out *packet_out) +{ + char frames[lsquic_frame_types_str_sz]; + if (lsquic_packet_out_verneg(packet_out)) + LCID("TX version negotiation packet, size %hu", + packet_out->po_data_sz); + else if (lsquic_packet_out_retry(packet_out)) + LCID("TX stateless retry packet, size %hu", packet_out->po_data_sz); + else if (lsquic_packet_out_pubres(packet_out)) + LCID("TX public reset packet, size %hu", packet_out->po_data_sz); + else if (packet_out->po_lflags & POL_GQUIC) + LCID("TX packet #%"PRIu64" (%s), size %hu", + packet_out->po_packno, + /* Frame types is a list of different frames types contained + * in the packet, no more. Count and order of frames is not + * printed. + */ + lsquic_frame_types_to_str(frames, sizeof(frames), + packet_out->po_frame_types), + packet_out->po_enc_data_sz); + else if (packet_out->po_lflags & POL_LOG_QL_BITS) + LCID("TX packet #%"PRIu64" %s (%s), size %hu, " + "ecn: %u, spin: %d; kp: %u, path: %hhu, flags: %u; " + "Q: %u; L: %u", + packet_out->po_packno, lsquic_hety2str[packet_out->po_header_type], + /* Frame types is a list of different frames types contained + * in the packet, no more. Count and order of frames is not + * printed. + */ + lsquic_frame_types_to_str(frames, sizeof(frames), + packet_out->po_frame_types), + packet_out->po_enc_data_sz, + lsquic_packet_out_ecn(packet_out), + /* spin bit value is only valid for short packet headers */ + lsquic_packet_out_spin_bit(packet_out), + lsquic_packet_out_kp(packet_out), + packet_out->po_path->np_path_id, + (unsigned) packet_out->po_flags, + lsquic_packet_out_square_bit(packet_out), + lsquic_packet_out_loss_bit(packet_out)); + else + LCID("TX packet #%"PRIu64" %s (%s), size %hu, " + "ecn: %u, spin: %d; kp: %u, path: %hhu, flags: %u", + packet_out->po_packno, lsquic_hety2str[packet_out->po_header_type], + /* Frame types is a list of different frames types contained + * in the packet, no more. Count and order of frames is not + * printed. + */ + lsquic_frame_types_to_str(frames, sizeof(frames), + packet_out->po_frame_types), + packet_out->po_enc_data_sz, + lsquic_packet_out_ecn(packet_out), + /* spin bit value is only valid for short packet headers */ + lsquic_packet_out_spin_bit(packet_out), + lsquic_packet_out_kp(packet_out), + packet_out->po_path->np_path_id, + (unsigned) packet_out->po_flags); +} + + +void +lsquic_ev_log_packet_not_sent (const lsquic_cid_t *cid, + const struct lsquic_packet_out *packet_out) +{ + char frames[lsquic_frame_types_str_sz]; + LCID("unsent packet #%"PRIu64" %s, size %hu", + packet_out->po_packno, + /* Frame types is a list of different frames types contained in + * the packet, no more. Count and order of frames is not printed. + */ + lsquic_frame_types_to_str(frames, sizeof(frames), + packet_out->po_frame_types), + packet_out->po_enc_data_sz); +} + + +void +lsquic_ev_log_http_headers_in (const lsquic_cid_t *cid, int is_server, + const struct uncompressed_headers *uh) +{ + const struct http1x_headers *h1h; + const char *cr, *p; + + if (uh->uh_flags & UH_PP) + LCID("read push promise; stream %"PRIu64", promised stream %"PRIu64, + uh->uh_stream_id, uh->uh_oth_stream_id); + else + LCID("read %s headers; stream: %"PRIu64", depends on stream: %"PRIu64 + ", weight: %hu, exclusive: %d, fin: %d", + is_server ? "request" : "response", + uh->uh_stream_id, uh->uh_oth_stream_id, uh->uh_weight, + (int) uh->uh_exclusive, !!(uh->uh_flags & UH_FIN)); + + if (uh->uh_flags & UH_H1H) + { + h1h = uh->uh_hset; + for (p = h1h->h1h_buf; p < h1h->h1h_buf + h1h->h1h_size; p = cr + 2) + { + cr = strchr(p, '\r'); + if (cr && cr > p) + LCID(" %.*s", (int) (cr - p), p); + else + break; + } + } +} + + +void +lsquic_ev_log_action_stream_frame (const lsquic_cid_t *cid, + const struct parse_funcs *pf, const unsigned char *buf, size_t bufsz, + const char *what) +{ + struct stream_frame frame; + int len; + + len = pf->pf_parse_stream_frame(buf, bufsz, &frame); + if (len > 0) + LCID("%s STREAM frame: stream %"PRIu64", offset: %"PRIu64 + ", size: %"PRIu16", fin: %d", what, frame.stream_id, + frame.data_frame.df_offset, frame.data_frame.df_size, + frame.data_frame.df_fin); + else + LSQ_LOG2(LSQ_LOG_WARN, "cannot parse STREAM frame"); +} + + +void +lsquic_ev_log_generated_crypto_frame (const lsquic_cid_t *cid, + const struct parse_funcs *pf, const unsigned char *buf, size_t bufsz) +{ + struct stream_frame frame; + int len; + + len = pf->pf_parse_crypto_frame(buf, bufsz, &frame); + if (len > 0) + LCID("generated CRYPTO frame: offset: %"PRIu64", size: %"PRIu16, + frame.data_frame.df_offset, frame.data_frame.df_size); + else + LSQ_LOG2(LSQ_LOG_WARN, "cannot parse CRYPTO frame"); +} + + +void +lsquic_ev_log_generated_ack_frame (const lsquic_cid_t *cid, + const struct parse_funcs *pf, const unsigned char *ack_buf, + size_t ack_buf_sz) +{ + struct ack_info acki; + int len; + char buf[MAX_ACKI_STR_SZ]; + + len = pf->pf_parse_ack_frame(ack_buf, ack_buf_sz, &acki, + TP_DEF_ACK_DELAY_EXP); + if (len < 0) + { + LSQ_LOG2(LSQ_LOG_WARN, "cannot parse ACK frame"); + return; + } + + lsquic_acki2str(&acki, buf, sizeof(buf)); + LCID("generated ACK frame: %s", buf); +} + + +void +lsquic_ev_log_generated_new_token_frame (const lsquic_cid_t *cid, + const struct parse_funcs *pf, const unsigned char *frame_buf, + size_t frame_buf_sz) +{ + const unsigned char *token; + size_t sz; + char *buf; + int len; + + len = pf->pf_parse_new_token_frame(frame_buf, frame_buf_sz, &token, &sz); + if (len < 0) + { + LSQ_LOG2(LSQ_LOG_WARN, "cannot parse NEW_TOKEN frame"); + return; + } + + buf = malloc(sz * 2 + 1); + if (buf) + { + lsquic_hexstr(token, sz, buf, sz * 2 + 1); + LCID("generated NEW_TOKEN frame: %s", buf); + free(buf); + } +} + + +void +lsquic_ev_log_generated_path_chal_frame (const lsquic_cid_t *cid, + const struct parse_funcs *pf, const unsigned char *frame_buf, + size_t frame_buf_sz) +{ + uint64_t chal; + int len; + char hexbuf[sizeof(chal) * 2 + 1]; + + len = pf->pf_parse_path_chal_frame(frame_buf, frame_buf_sz, &chal); + if (len > 0) + LCID("generated PATH_CHALLENGE(%s) frame", + HEXSTR((unsigned char *) &chal, sizeof(chal), hexbuf)); + else + LSQ_LOG2(LSQ_LOG_WARN, "cannot parse PATH_CHALLENGE frame"); +} + + +void +lsquic_ev_log_generated_path_resp_frame (const lsquic_cid_t *cid, + const struct parse_funcs *pf, const unsigned char *frame_buf, + size_t frame_buf_sz) +{ + uint64_t resp; + int len; + char hexbuf[sizeof(resp) * 2 + 1]; + + len = pf->pf_parse_path_resp_frame(frame_buf, frame_buf_sz, &resp); + if (len > 0) + LCID("generated PATH_RESPONSE(%s) frame", + HEXSTR((unsigned char *) &resp, sizeof(resp), hexbuf)); + else + LSQ_LOG2(LSQ_LOG_WARN, "cannot parse PATH_RESPONSE frame"); +} + + +void +lsquic_ev_log_generated_new_connection_id_frame (const lsquic_cid_t *cid, + const struct parse_funcs *pf, const unsigned char *frame_buf, + size_t frame_buf_sz) +{ + const unsigned char *token; + lsquic_cid_t new_cid; + uint64_t seqno, retire_prior_to; + int len; + char token_buf[IQUIC_SRESET_TOKEN_SZ * 2 + 1]; + char cid_buf[MAX_CID_LEN * 2 + 1]; + + len = pf->pf_parse_new_conn_id(frame_buf, frame_buf_sz, &seqno, + &retire_prior_to, &new_cid, &token); + if (len < 0) + { + LSQ_LOG2(LSQ_LOG_WARN, "cannot parse NEW_CONNECTION_ID frame"); + return; + } + + lsquic_hexstr(new_cid.idbuf, new_cid.len, cid_buf, sizeof(cid_buf)); + lsquic_hexstr(token, IQUIC_SRESET_TOKEN_SZ, token_buf, sizeof(token_buf)); + LCID("generated NEW_CONNECTION_ID frame: seqno: %"PRIu64"; retire prior " + "to: %"PRIu64"; cid: %s; token: %s", seqno, retire_prior_to, + cid_buf, token_buf); +} + + +void +lsquic_ev_log_generated_stop_waiting_frame (const lsquic_cid_t *cid, + lsquic_packno_t lunack) +{ + LCID("generated STOP_WAITING frame; least unacked: %"PRIu64, lunack); +} + + +void +lsquic_ev_log_generated_stop_sending_frame (const lsquic_cid_t *cid, + lsquic_stream_id_t stream_id, uint16_t error_code) +{ + LCID("generated STOP_SENDING frame; stream ID: %"PRIu64"; error code: " + "%"PRIu16, stream_id, error_code); +} + + +void +lsquic_ev_log_generated_http_headers (const lsquic_cid_t *cid, + lsquic_stream_id_t stream_id, + int is_server, const struct http_prio_frame *prio_frame, + const struct lsquic_http_headers *headers) +{ + lsquic_stream_id_t dep_stream_id; + int exclusive, i; + unsigned short weight; + + if (is_server) + LCID("generated HTTP response HEADERS for stream %"PRIu64, stream_id); + else + { + memcpy(&dep_stream_id, prio_frame->hpf_stream_id, 4); + dep_stream_id = htonl(dep_stream_id); + exclusive = dep_stream_id >> 31; + dep_stream_id &= ~(1 << 31); + weight = prio_frame->hpf_weight + 1; + LCID("generated HTTP request HEADERS for stream %"PRIu64 + ", dep stream: %"PRIu64", weight: %hu, exclusive: %d", stream_id, + dep_stream_id, weight, exclusive); + } + + for (i = 0; i < headers->count; ++i) + if (headers->headers[i].buf) + LCID(" %.*s: %.*s", + (int) headers->headers[i].name_len, + lsxpack_header_get_name(&headers->headers[i]), + (int) headers->headers[i].val_len, + lsxpack_header_get_value(&headers->headers[i])); +} + + +void +lsquic_ev_log_generated_http_push_promise (const lsquic_cid_t *cid, + lsquic_stream_id_t stream_id, lsquic_stream_id_t promised_stream_id, + const struct lsquic_http_headers *headers) +{ + int i; + + LCID("generated HTTP PUSH_PROMISE for stream %"PRIu64"; promised stream %" + PRIu64, stream_id, promised_stream_id); + + for (i = 0; i < headers->count; ++i) + if (headers->headers[i].buf) + LCID(" %.*s: %.*s", + (int) headers->headers[i].name_len, + lsxpack_header_get_name(&headers->headers[i]), + (int) headers->headers[i].val_len, + lsxpack_header_get_value(&headers->headers[i])); +} + +void +lsquic_ev_log_create_connection (const lsquic_cid_t *cid, + const struct sockaddr *local_sa, + const struct sockaddr *peer_sa) +{ + LCID("connection created"); +} + + +void +lsquic_ev_log_hsk_completed (const lsquic_cid_t *cid) +{ + LCID("handshake completed"); +} + + +void +lsquic_ev_log_sess_resume (const lsquic_cid_t *cid) +{ + LCID("sess_resume successful"); +} + + +void +lsquic_ev_log_check_certs (const lsquic_cid_t *cid, const lsquic_str_t **certs, + size_t count) +{ + LCID("check certs"); +} + + +void +lsquic_ev_log_cert_chain (const lsquic_cid_t *cid, struct stack_st_X509 *chain) +{ + X509_NAME *name; + X509 *cert; + unsigned i; + char buf[0x100]; + + for (i = 0; i < sk_X509_num(chain); ++i) + { + cert = sk_X509_value(chain, i); + name = X509_get_subject_name(cert); + LCID("cert #%u: name: %s", i, + X509_NAME_oneline(name, buf, sizeof(buf))); + } +} + + +void +lsquic_ev_log_version_negotiation (const lsquic_cid_t *cid, + const char *action, const char *ver) +{ + LCID("version negotiation: %s version %s", action, ver); +} diff --git a/external/lsquic/src/liblsquic/lsquic_ev_log.h b/external/lsquic/src/liblsquic/lsquic_ev_log.h new file mode 100644 index 0000000..5e4a9f4 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_ev_log.h @@ -0,0 +1,353 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_ev_log.h -- Event logger + */ + +#ifndef LSQUIC_EV_LOG_H +#define LSQUIC_EV_LOG_H 1 + +#include "lsquic_int_types.h" +#include "lsquic_qlog.h" + +struct ack_info; +struct http_prio_frame; +struct lsquic_http_headers; +struct lsquic_packet_in; +struct lsquic_packet_out; +struct parse_funcs; +struct stream_frame; +struct uncompressed_headers; +struct stack_st_X509; + + +/* Log a generic event not tied to any particular connection */ +#define EV_LOG_GENERIC_EVENT(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_logger_log1(LSQ_LOG_DEBUG, LSQLM_EVENT, __VA_ARGS__); \ +} while (0) + +/* Log a generic event associated with connection `cid' */ +#define EV_LOG_CONN_EVENT(cid, ...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_logger_log2(LSQ_LOG_DEBUG, LSQLM_EVENT, cid, __VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_packet_in (const lsquic_cid_t *, const struct lsquic_packet_in *); + +#define EV_LOG_PACKET_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_packet_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_ack_frame_in (const lsquic_cid_t *, const struct ack_info *); + +#define EV_LOG_ACK_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_ack_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_stream_frame_in (const lsquic_cid_t *, + const struct stream_frame *); + +#define EV_LOG_STREAM_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_stream_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_crypto_frame_in (const lsquic_cid_t *, + const struct stream_frame *, unsigned enc_level); + +#define EV_LOG_CRYPTO_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_crypto_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_window_update_frame_in (const lsquic_cid_t *, lsquic_stream_id_t, + uint64_t offset); + +#define EV_LOG_WINDOW_UPDATE_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_window_update_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_blocked_frame_in (const lsquic_cid_t *, lsquic_stream_id_t); + +#define EV_LOG_BLOCKED_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_blocked_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_stop_waiting_frame_in (const lsquic_cid_t *, lsquic_packno_t); + +#define EV_LOG_STOP_WAITING_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_stop_waiting_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_connection_close_frame_in (const lsquic_cid_t *, + uint64_t error_code, int reason_len, const char *reason); + +#define EV_LOG_CONNECTION_CLOSE_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_connection_close_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_goaway_frame_in (const lsquic_cid_t *, uint32_t error_code, + lsquic_stream_id_t, int reason_len, const char *reason); + +#define EV_LOG_GOAWAY_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_goaway_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_rst_stream_frame_in (const lsquic_cid_t *, lsquic_stream_id_t, + uint64_t offset, uint64_t error_code); + +#define EV_LOG_RST_STREAM_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_rst_stream_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_stop_sending_frame_in (const lsquic_cid_t *,lsquic_stream_id_t, + uint64_t error_code); + +#define EV_LOG_STOP_SENDING_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_stop_sending_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_padding_frame_in (const lsquic_cid_t *, size_t len); + +#define EV_LOG_PADDING_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_padding_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_ping_frame_in (const lsquic_cid_t *); + +#define EV_LOG_PING_FRAME_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_ping_frame_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_packet_created (const lsquic_cid_t *, + const struct lsquic_packet_out *); + +#define EV_LOG_PACKET_CREATED(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_packet_created(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_packet_sent (const lsquic_cid_t *, + const struct lsquic_packet_out *); + +#define EV_LOG_PACKET_SENT(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_packet_sent(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_packet_not_sent (const lsquic_cid_t *, + const struct lsquic_packet_out *); + +#define EV_LOG_PACKET_NOT_SENT(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_packet_not_sent(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_http_headers_in (const lsquic_cid_t *, int is_server, + const struct uncompressed_headers *); + +#define EV_LOG_HTTP_HEADERS_IN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_http_headers_in(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_action_stream_frame (const lsquic_cid_t *, + const struct parse_funcs *pf, + const unsigned char *, size_t len, const char *action); + +#define EV_LOG_GENERATED_STREAM_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_action_stream_frame(__VA_ARGS__, "generated"); \ +} while (0) + +#define EV_LOG_UPDATED_STREAM_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_action_stream_frame(__VA_ARGS__, "updated"); \ +} while (0) + +void +lsquic_ev_log_generated_crypto_frame (const lsquic_cid_t *, + const struct parse_funcs *pf, + const unsigned char *, size_t len); + +#define EV_LOG_GENERATED_CRYPTO_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_crypto_frame(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_ack_frame (const lsquic_cid_t *, + const struct parse_funcs *, const unsigned char *, size_t len); + +#define EV_LOG_GENERATED_ACK_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_ack_frame(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_new_token_frame (const lsquic_cid_t *, + const struct parse_funcs *, const unsigned char *, size_t len); + +#define EV_LOG_GENERATED_NEW_TOKEN_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_new_token_frame(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_path_chal_frame (const lsquic_cid_t *, + const struct parse_funcs *, const unsigned char *, size_t len); + +#define EV_LOG_GENERATED_PATH_CHAL_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_path_chal_frame(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_path_resp_frame (const lsquic_cid_t *, + const struct parse_funcs *, const unsigned char *, size_t len); + +#define EV_LOG_GENERATED_PATH_RESP_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_path_resp_frame(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_new_connection_id_frame (const lsquic_cid_t *, + const struct parse_funcs *, const unsigned char *, size_t len); + +#define EV_LOG_GENERATED_NEW_CONNECTION_ID_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_new_connection_id_frame(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_stop_waiting_frame (const lsquic_cid_t *, + lsquic_packno_t); + +#define EV_LOG_GENERATED_STOP_WAITING_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_stop_waiting_frame(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_stop_sending_frame (const lsquic_cid_t *, + lsquic_stream_id_t, uint16_t); + +#define EV_LOG_GENERATED_STOP_SENDING_FRAME(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_stop_sending_frame(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_http_headers (const lsquic_cid_t *, lsquic_stream_id_t, + int is_server, const struct http_prio_frame *, + const struct lsquic_http_headers *); + + +#define EV_LOG_GENERATED_HTTP_HEADERS(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_http_headers(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_generated_http_push_promise (const lsquic_cid_t *, + lsquic_stream_id_t stream_id, lsquic_stream_id_t promised_stream_id, + const struct lsquic_http_headers *headers); + +#define EV_LOG_GENERATED_HTTP_PUSH_PROMISE(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_generated_http_push_promise(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_create_connection (const lsquic_cid_t *, const struct sockaddr *, + const struct sockaddr *); + +#define EV_LOG_CREATE_CONN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_create_connection(__VA_ARGS__); \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_QLOG)) \ + lsquic_qlog_create_connection(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_hsk_completed (const lsquic_cid_t *); + +#define EV_LOG_HSK_COMPLETED(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_hsk_completed(__VA_ARGS__); \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_QLOG)) \ + lsquic_qlog_hsk_completed(__VA_ARGS__); \ +} while (0) + + +void +lsquic_ev_log_sess_resume (const lsquic_cid_t *); + +#define EV_LOG_SESSION_RESUMPTION(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_sess_resume(__VA_ARGS__); \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_QLOG)) \ + lsquic_qlog_sess_resume(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_check_certs (const lsquic_cid_t *, const lsquic_str_t **, size_t); + +#define EV_LOG_CHECK_CERTS(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_check_certs(__VA_ARGS__); \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_QLOG)) \ + lsquic_qlog_check_certs(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_cert_chain (const lsquic_cid_t *, struct stack_st_X509 *); + +#define EV_LOG_CERT_CHAIN(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_cert_chain(__VA_ARGS__); \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_QLOG)) \ + lsquic_qlog_cert_chain(__VA_ARGS__); \ +} while (0) + +void +lsquic_ev_log_version_negotiation (const lsquic_cid_t *, const char *, const char *); + +#define EV_LOG_VER_NEG(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) \ + lsquic_ev_log_version_negotiation(__VA_ARGS__); \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_QLOG)) \ + lsquic_qlog_version_negotiation(__VA_ARGS__); \ +} while (0) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_frab_list.c b/external/lsquic/src/liblsquic/lsquic_frab_list.c new file mode 100644 index 0000000..8083c32 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_frab_list.c @@ -0,0 +1,148 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_frab_list.c -- List of buffer for simple reading and writing + */ + +#include +#include +#include +#include + +#include "lsquic_frab_list.h" + + +static void * +fral_alloc (void *ctx, size_t size) +{ + return malloc(size); +} + + +static void +fral_free (void *ctx, void *obj) +{ + free(obj); +} + + +void +lsquic_frab_list_init (struct frab_list *fral, unsigned short buf_size, + void * (*alloc)(void *alloc_ctx, size_t size), + void (*free)(void *alloc_ctx, void *obj), void *alloc_ctx) +{ + TAILQ_INIT(&fral->fl_frabs); + fral->fl_alloc_ctx = alloc_ctx; + fral->fl_alloc = alloc ? alloc : fral_alloc; + fral->fl_free = free ? free : fral_free; + fral->fl_buf_size = buf_size; + fral->fl_size = 0; +} + + +void +lsquic_frab_list_cleanup (struct frab_list *fral) +{ + struct frame_buf *frab, *next; + + for (frab = TAILQ_FIRST(&fral->fl_frabs); frab; frab = next) + { + next = TAILQ_NEXT(frab, frab_next); + fral->fl_free(fral->fl_alloc_ctx, frab); + } +} + + +static struct frame_buf * +fral_get_frab (struct frab_list *fral) +{ + struct frame_buf *frab; + frab = fral->fl_alloc(fral->fl_alloc_ctx, fral->fl_buf_size); + if (frab) + { + memset(frab, 0, sizeof(*frab)); + frab->frab_buf_size = fral->fl_buf_size; + } + return frab; +} + + +int +lsquic_frab_list_write (struct frab_list *fral, const void *buf, size_t bufsz) +{ + const unsigned char *p = buf; + const unsigned char *const end = p + bufsz; + struct frame_buf *frab; + unsigned ntowrite; + + while (p < end) + { + frab = TAILQ_LAST(&fral->fl_frabs, frame_buf_head); + if (!(frab && (ntowrite = frab_left_to_write(frab)) > 0)) + { + frab = fral_get_frab(fral); + if (!frab) + return -1; + TAILQ_INSERT_TAIL(&fral->fl_frabs, frab, frab_next); + ntowrite = frab_left_to_write(frab); + } + if ((ptrdiff_t) ntowrite > end - p) + ntowrite = end - p; + memcpy(frab_write_to(frab), p, ntowrite); + p += ntowrite; + frab->frab_size += ntowrite; + } + + fral->fl_size += bufsz; + return 0; +} + + +size_t +lsquic_frab_list_size (void *ctx) +{ + struct frab_list *fral = ctx; + return fral->fl_size; +} + + +size_t +lsquic_frab_list_read (void *ctx, void *buf, size_t bufsz) +{ + struct frab_list *const fral = ctx; + unsigned char *p = buf; + unsigned char *const end = p + bufsz; + struct frame_buf *frab; + size_t ntocopy; + + while (p < end && (frab = TAILQ_FIRST(&fral->fl_frabs))) + { + ntocopy = end - p; + if (ntocopy > (size_t) frab_left_to_read(frab)) + ntocopy = frab_left_to_read(frab); + memcpy(p, frab->frab_buf + frab->frab_off, ntocopy); + fral->fl_size -= ntocopy; + frab->frab_off += ntocopy; + p += ntocopy; + if (frab->frab_off == frab->frab_size) + { + TAILQ_REMOVE(&fral->fl_frabs, frab, frab_next); + fral->fl_free(fral->fl_alloc_ctx, frab); + } + } + + return p - (unsigned char *) buf; +} + + +size_t +lsquic_frab_list_mem_used (const struct frab_list *fral) +{ + struct frame_buf *frab; + size_t size; + + size = sizeof(*fral); + TAILQ_FOREACH(frab, &fral->fl_frabs, frab_next) + size += fral->fl_buf_size; + + return size; +} diff --git a/external/lsquic/src/liblsquic/lsquic_frab_list.h b/external/lsquic/src/liblsquic/lsquic_frab_list.h new file mode 100644 index 0000000..d129778 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_frab_list.h @@ -0,0 +1,77 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_frab_list.h -- List of buffer for simple reading and writing + * + * Useful for buffering data that cannot be packetized immediately. + */ + +#ifndef LSQUIC_FRAB_LIST_H +#define LSQUIC_FRAB_LIST_H 1 + +struct frame_buf +{ + TAILQ_ENTRY(frame_buf) frab_next; + unsigned short frab_size, + frab_off, + frab_buf_size; /* Total bytes in frab_buf */ + unsigned char frab_buf[0]; +}; + +static inline unsigned short +frab_left_to_read (struct frame_buf *f) +{ + return f->frab_size - f->frab_off; +} + +static inline unsigned short +frab_left_to_write (struct frame_buf *f) +{ + return f->frab_buf_size - + (unsigned short) sizeof(*f) - f->frab_size; +} + +static inline unsigned char * +frab_write_to (struct frame_buf *f) +{ + return f->frab_buf + f->frab_size; +} + +TAILQ_HEAD(frame_buf_head, frame_buf); + +struct frab_list +{ + struct frame_buf_head fl_frabs; + void * (*fl_alloc)(void *alloc_ctx, size_t size); + void (*fl_free)(void *alloc_ctx, void *obj); + void *fl_alloc_ctx; + size_t fl_size; /* Size of payload in frab_list */ + unsigned short fl_buf_size; /* Size of frame_buf */ +}; + +void +lsquic_frab_list_init (struct frab_list *, unsigned short buf_size, + void * (*fl_alloc)(void *alloc_ctx, size_t size), + void (*fl_free)(void *alloc_ctx, void *obj), void *fl_alloc_ctx); + +void +lsquic_frab_list_cleanup (struct frab_list *); + +int +lsquic_frab_list_write (struct frab_list *, const void *, size_t); + +size_t +lsquic_frab_list_size (void *); + +size_t +lsquic_frab_list_read (void *, void *, size_t); + +static inline int +lsquic_frab_list_empty (const struct frab_list *fral) +{ + return TAILQ_EMPTY(&(fral)->fl_frabs); +} + +size_t +lsquic_frab_list_mem_used (const struct frab_list *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_frame_common.c b/external/lsquic/src/liblsquic/lsquic_frame_common.c new file mode 100644 index 0000000..26907b7 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_frame_common.c @@ -0,0 +1,26 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include + +#include "lsquic_frame_common.h" + + +const char * +lsquic_http_setting_id2str (enum settings_param id) +{ + switch (id) + { + case SETTINGS_HEADER_TABLE_SIZE: + return "SETTINGS_HEADER_TABLE_SIZE"; + case SETTINGS_ENABLE_PUSH: + return "SETTINGS_ENABLE_PUSH"; + case SETTINGS_MAX_CONCURRENT_STREAMS: + return "SETTINGS_MAX_CONCURRENT_STREAMS"; + case SETTINGS_INITIAL_WINDOW_SIZE: + return "SETTINGS_INITIAL_WINDOW_SIZE"; + case SETTINGS_MAX_FRAME_SIZE: + return "SETTINGS_MAX_FRAME_SIZE"; + case SETTINGS_MAX_HEADER_LIST_SIZE: + return "SETTINGS_MAX_HEADER_LIST_SIZE"; + } + return ""; +} diff --git a/external/lsquic/src/liblsquic/lsquic_frame_common.h b/external/lsquic/src/liblsquic/lsquic_frame_common.h new file mode 100644 index 0000000..8b2e0d2 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_frame_common.h @@ -0,0 +1,85 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_frame_common.h + */ + +#ifndef LSQUIC_FRAME_COMMON_H +#define LSQUIC_FRAME_COMMON_H 1 + +enum http_frame_type +{ + HTTP_FRAME_DATA = 0x00, + HTTP_FRAME_HEADERS = 0x01, + HTTP_FRAME_PRIORITY = 0x02, + HTTP_FRAME_RST_STREAM = 0x03, + HTTP_FRAME_SETTINGS = 0x04, + HTTP_FRAME_PUSH_PROMISE = 0x05, + HTTP_FRAME_PING = 0x06, + HTTP_FRAME_GOAWAY = 0x07, + HTTP_FRAME_WINDOW_UPDATE = 0x08, + HTTP_FRAME_CONTINUATION = 0x09, + N_HTTP_FRAME_TYPES +}; + + +enum http_frame_header_flags /* RFC 7540, Section 6.2 */ +{ + HFHF_END_STREAM = 0x01, + HFHF_END_HEADERS = 0x04, + HFHF_PADDED = 0x08, + HFHF_PRIORITY = 0x20, +}; + + +struct http_frame_header /* RFC 7540, Section 4.1 */ +{ + unsigned char hfh_length[3]; + unsigned char hfh_type; /* enum http_frame_type */ + unsigned char hfh_flags; + unsigned char hfh_stream_id[4]; +}; + +static inline unsigned int +hfh_get_length (struct http_frame_header *hfh) +{ + return hfh->hfh_length[0] << 16 | + hfh->hfh_length[1] << 8 | + hfh->hfh_length[2]; +} + +enum settings_param /* RFC 7540, Section 6.5.2 */ +{ + SETTINGS_HEADER_TABLE_SIZE = 0x0001, + SETTINGS_ENABLE_PUSH = 0x0002, + SETTINGS_MAX_CONCURRENT_STREAMS = 0x0003, + SETTINGS_INITIAL_WINDOW_SIZE = 0x0004, + SETTINGS_MAX_FRAME_SIZE = 0x0005, + SETTINGS_MAX_HEADER_LIST_SIZE = 0x0006, +}; + + +/* This also doubles as HEADERS frame payload prefix: */ +struct http_prio_frame /* RFC 7540, Section 6.3 */ +{ + unsigned char hpf_stream_id[4]; /* High bit is the exclusive flag */ + unsigned char hpf_weight; +}; + + +struct http_push_promise_frame /* RFC 7540, Section 6.6 */ +{ + unsigned char hppf_promised_id[4]; /* High bit is reserved */ +}; + + +struct lsquic_http2_setting +{ + uint16_t id; + uint32_t value; +}; + + +const char * +lsquic_http_setting_id2str (enum settings_param id); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_frame_reader.c b/external/lsquic/src/liblsquic/lsquic_frame_reader.c new file mode 100644 index 0000000..771f922 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_frame_reader.c @@ -0,0 +1,990 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_frame_reader.c -- Read HTTP frames from stream + */ + +#ifndef WIN32 +#include +#endif +#include +#include +#include +#include +#include +#include +#include + +#include "lshpack.h" +#include "lsquic.h" +#include "lsquic_mm.h" +#include "lsquic_frame_common.h" +#include "lsquic_frame_reader.h" +#include "lsquic_http1x_if.h" +#include "lsquic_headers.h" +#include "lsquic_ev_log.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_FRAME_READER +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(lsquic_stream_conn(\ + fr->fr_stream)) +#include "lsquic_logger.h" + + +/* headers_state is used by HEADERS, PUSH_PROMISE, and CONTINUATION frames */ +struct headers_state +{ + enum http_frame_type + frame_type; + unsigned nread; /* Not counting pesw, only payload and padding */ + + /* Values parsed out from pesw buffer: */ + uint32_t oth_stream_id; /* For HEADERS: ID of stream we depend on; + * for PUSH_PROMISE: promised stream ID. + */ + unsigned short weight; /* HEADERS only */ + signed char exclusive; /* HEADERS only */ + unsigned char pad_length; + + unsigned char pseh; + + /* PESW: Pad length, Exclusive, Stream Dependency, Weight. This is at + * most six bytes for HEADERS frame (RFC 7540, page 33) and five bytes + * for PUSH_PROMISE frame (Ibid, p. 40). + */ + unsigned char pesw_size; + unsigned char pesw_nread; + unsigned char pesw[6]; +}; + + +struct settings_state +{ /* RFC 7540, Section 6.5.1 */ + unsigned char nread; + unsigned char set_buf[2 + 4]; /* We'll read one setting at a time */ +}; + + +struct priority_state +{ /* RFC 7540, Section 6.3 */ + unsigned char nread; + union { + unsigned char prio_buf[sizeof(struct http_prio_frame)]; + struct http_prio_frame prio_frame; + } u; +}; + + +struct skip_state +{ + uint32_t n_skipped; +}; + + +struct reader_state +{ + unsigned nh_read; /* Number of bytes of header read */ + struct http_frame_header header; + enum { + READER_SKIP, + READER_HEADERS, + READER_PUSH_PROMISE, + READER_CONTIN, + READER_SETTINGS, + READER_PRIORITY, + } reader_type; + unsigned payload_length; + union { + struct headers_state headers_state; + struct skip_state skip_state; + struct settings_state settings_state; + struct priority_state priority_state; + } by_type; +}; + + +struct lsquic_frame_reader +{ + struct lsquic_mm *fr_mm; + struct lshpack_dec *fr_hdec; + struct lsquic_stream *fr_stream; + fr_stream_read_f fr_read; + const struct frame_reader_callbacks + *fr_callbacks; + void *fr_cb_ctx; + const struct lsquic_hset_if *fr_hsi_if; + void *fr_hsi_ctx; + struct http1x_ctor_ctx fr_h1x_ctor_ctx; + /* The the header block is shared between HEADERS, PUSH_PROMISE, and + * CONTINUATION frames. It gets added to as block fragments come in. + */ + unsigned char *fr_header_block; +#if LSQUIC_CONN_STATS + struct conn_stats *fr_conn_stats; +#endif + unsigned fr_header_block_sz; + unsigned fr_max_headers_sz; /* 0 means no limit */ + enum frame_reader_flags fr_flags; + /* Keep some information about previous frame to catch framing errors. + */ + uint32_t fr_prev_stream_id; + enum http_frame_header_flags fr_prev_hfh_flags:8; + enum http_frame_type fr_prev_frame_type:8; + struct reader_state fr_state; +}; + + +#define reset_state(fr) do { \ + LSQ_DEBUG("reset state"); \ + (fr)->fr_state.nh_read = 0; \ +} while (0) + + +static uint32_t +fr_get_stream_id (const struct lsquic_frame_reader *fr) +{ + uint32_t stream_id; + assert(fr->fr_state.nh_read >= sizeof(fr->fr_state.header)); + memcpy(&stream_id, fr->fr_state.header.hfh_stream_id, sizeof(stream_id)); + stream_id = ntohl(stream_id); + return stream_id; +} + + +static const char * +hft_to_string (enum http_frame_type hft) +{ + static const char *const map[] = { + [HTTP_FRAME_DATA] = "HTTP_FRAME_DATA", + [HTTP_FRAME_HEADERS] = "HTTP_FRAME_HEADERS", + [HTTP_FRAME_PRIORITY] = "HTTP_FRAME_PRIORITY", + [HTTP_FRAME_RST_STREAM] = "HTTP_FRAME_RST_STREAM", + [HTTP_FRAME_SETTINGS] = "HTTP_FRAME_SETTINGS", + [HTTP_FRAME_PUSH_PROMISE] = "HTTP_FRAME_PUSH_PROMISE", + [HTTP_FRAME_PING] = "HTTP_FRAME_PING", + [HTTP_FRAME_GOAWAY] = "HTTP_FRAME_GOAWAY", + [HTTP_FRAME_WINDOW_UPDATE] = "HTTP_FRAME_WINDOW_UPDATE", + [HTTP_FRAME_CONTINUATION] = "HTTP_FRAME_CONTINUATION", + }; + if (hft < N_HTTP_FRAME_TYPES) + return map[hft]; + else + return ""; +} + + +struct lsquic_frame_reader * +lsquic_frame_reader_new (enum frame_reader_flags flags, + unsigned max_headers_sz, + struct lsquic_mm *mm, + struct lsquic_stream *stream, fr_stream_read_f read, + struct lshpack_dec *hdec, + const struct frame_reader_callbacks *cb, + void *frame_reader_cb_ctx, +#if LSQUIC_CONN_STATS + struct conn_stats *conn_stats, +#endif + const struct lsquic_hset_if *hsi_if, void *hsi_ctx) +{ + struct lsquic_frame_reader *fr = calloc(1, sizeof(*fr)); + if (!fr) + return NULL; + fr->fr_mm = mm; + fr->fr_hdec = hdec; + fr->fr_flags = flags; + fr->fr_stream = stream; + fr->fr_read = read; + fr->fr_callbacks = cb; + fr->fr_cb_ctx = frame_reader_cb_ctx; + fr->fr_header_block = NULL; + fr->fr_max_headers_sz = max_headers_sz; + fr->fr_hsi_if = hsi_if; + if (hsi_if == lsquic_http1x_if) + { + fr->fr_h1x_ctor_ctx = (struct http1x_ctor_ctx) { + .conn = lsquic_stream_conn(stream), + .max_headers_sz = fr->fr_max_headers_sz, + .is_server = fr->fr_flags & FRF_SERVER, + }; + fr->fr_hsi_ctx = &fr->fr_h1x_ctor_ctx; + } + else + fr->fr_hsi_ctx = hsi_ctx; + reset_state(fr); +#if LSQUIC_CONN_STATS + fr->fr_conn_stats = conn_stats; +#endif + return fr; +} + + +void +lsquic_frame_reader_destroy (struct lsquic_frame_reader *fr) +{ + free(fr->fr_header_block); + free(fr); +} + + +#define RETURN_ERROR(nread) do { \ + assert(nread <= 0); \ + if (0 == nread) \ + { \ + LSQ_INFO("%s: unexpected EOF", __func__); \ + return -1; \ + } \ + else \ + { \ + LSQ_WARN("%s: error reading from stream: %s", __func__, \ + strerror(errno)); \ + return -1; \ + } \ +} while (0) + + +static int +prepare_for_payload (struct lsquic_frame_reader *fr) +{ + uint32_t stream_id; + unsigned char *header_block; + + /* RFC 7540, Section 4.1: Ignore R bit: */ + fr->fr_state.header.hfh_stream_id[0] &= ~0x80; + + fr->fr_state.payload_length = hfh_get_length(&fr->fr_state.header); + + stream_id = fr_get_stream_id(fr); + + if (fr->fr_state.header.hfh_type != HTTP_FRAME_CONTINUATION && + (fr->fr_flags & FRF_HAVE_PREV) && + (fr->fr_prev_frame_type == HTTP_FRAME_HEADERS || + fr->fr_prev_frame_type == HTTP_FRAME_PUSH_PROMISE || + fr->fr_prev_frame_type == HTTP_FRAME_CONTINUATION ) && + 0 == (fr->fr_prev_hfh_flags & HFHF_END_HEADERS)) + { + LSQ_INFO("Framing error: expected CONTINUATION frame, got %u", + fr->fr_state.header.hfh_type); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_EXPECTED_CONTIN); + return -1; + } + + switch (fr->fr_state.header.hfh_type) + { + case HTTP_FRAME_HEADERS: + if (fr->fr_max_headers_sz && + fr->fr_state.payload_length > fr->fr_max_headers_sz) + goto headers_too_large; + fr->fr_state.by_type.headers_state.frame_type = HTTP_FRAME_HEADERS; + fr->fr_state.by_type.headers_state.nread = 0; + fr->fr_state.by_type.headers_state.pesw_nread = 0; + fr->fr_state.by_type.headers_state.pseh = 0; + if (fr->fr_state.header.hfh_flags & HFHF_PADDED) + fr->fr_state.by_type.headers_state.pesw_size = 1; + else + { + fr->fr_state.by_type.headers_state.pad_length = 0; + fr->fr_state.by_type.headers_state.pesw_size = 0; + } + if (fr->fr_state.header.hfh_flags & HFHF_PRIORITY) + fr->fr_state.by_type.headers_state.pesw_size += 5; + else + { + fr->fr_state.by_type.headers_state.exclusive = -1; + fr->fr_state.by_type.headers_state.oth_stream_id = 0; + fr->fr_state.by_type.headers_state.weight = 0; + } + LSQ_DEBUG("pesw size: %u; payload length: %u; flags: 0x%X", + fr->fr_state.by_type.headers_state.pesw_size, + fr->fr_state.payload_length, fr->fr_state.header.hfh_flags); + if (fr->fr_state.by_type.headers_state.pesw_size > + fr->fr_state.payload_length) + { + LSQ_INFO("Invalid headers frame: payload length too small"); + errno = EBADMSG; + return -1; + } + fr->fr_state.reader_type = READER_HEADERS; + break; + case HTTP_FRAME_PUSH_PROMISE: + if (fr->fr_flags & FRF_SERVER) + { + LSQ_INFO("clients should not push promised"); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_UNEXPECTED_PUSH); + return -1; + } + if (fr->fr_max_headers_sz && + fr->fr_state.payload_length > fr->fr_max_headers_sz) + goto headers_too_large; + fr->fr_state.by_type.headers_state.frame_type = HTTP_FRAME_PUSH_PROMISE; + fr->fr_state.by_type.headers_state.nread = 0; + fr->fr_state.by_type.headers_state.pesw_nread = 0; + fr->fr_state.by_type.headers_state.pseh = 0; + if (fr->fr_state.header.hfh_flags & HFHF_PADDED) + fr->fr_state.by_type.headers_state.pesw_size = 5; + else + { + fr->fr_state.by_type.headers_state.pad_length = 0; + fr->fr_state.by_type.headers_state.pesw_size = 4; + } + LSQ_DEBUG("pesw size: %u; payload length: %u; flags: 0x%X", + fr->fr_state.by_type.headers_state.pesw_size, + fr->fr_state.payload_length, fr->fr_state.header.hfh_flags); + if (fr->fr_state.by_type.headers_state.pesw_size > + fr->fr_state.payload_length) + { + LSQ_INFO("Invalid headers frame: payload length too small"); + errno = EBADMSG; + return -1; + } + fr->fr_state.reader_type = READER_PUSH_PROMISE; + break; + case HTTP_FRAME_CONTINUATION: + if (0 == (fr->fr_flags & FRF_HAVE_PREV)) + { + LSQ_INFO("Framing error: unexpected CONTINUATION"); + return -1; + } + if (!(fr->fr_prev_frame_type == HTTP_FRAME_HEADERS || + fr->fr_prev_frame_type == HTTP_FRAME_PUSH_PROMISE || + fr->fr_prev_frame_type == HTTP_FRAME_CONTINUATION)) + { + LSQ_INFO("Framing error: unexpected CONTINUATION"); + return -1; + } + if (fr->fr_prev_hfh_flags & HFHF_END_HEADERS) + { + LSQ_INFO("Framing error: unexpected CONTINUATION"); + return -1; + } + if (stream_id != fr->fr_prev_stream_id) + { + LSQ_INFO("Framing error: CONTINUATION does not have matching " + "stream ID"); + return -1; + } + if (fr->fr_state.reader_type == READER_SKIP) + goto continue_skipping; + fr->fr_header_block_sz += fr->fr_state.payload_length; + if (fr->fr_max_headers_sz && + fr->fr_header_block_sz > fr->fr_max_headers_sz) + { + free(fr->fr_header_block); + fr->fr_header_block = NULL; + goto headers_too_large; + } + header_block = realloc(fr->fr_header_block, fr->fr_header_block_sz); + if (!header_block) + { + LSQ_WARN("cannot allocate %u bytes for header block", + fr->fr_header_block_sz); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_OTHER_ERROR); + return -1; + } + fr->fr_header_block = header_block; + fr->fr_state.by_type.headers_state.nread = 0; + fr->fr_state.reader_type = READER_CONTIN; + break; + case HTTP_FRAME_SETTINGS: + if (0 == fr->fr_state.payload_length || + 0 != fr->fr_state.payload_length % 6) + { + LSQ_INFO("Framing error: %u is not a valid SETTINGS length", + fr->fr_state.payload_length); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_INVALID_FRAME_SIZE); + return -1; + } + if (stream_id) + { /* RFC 7540, Section 6.5 */ + LSQ_INFO("Error: SETTINGS frame should not have stream ID set"); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_NONZERO_STREAM_ID); + return -1; + } + fr->fr_state.by_type.settings_state.nread = 0; + fr->fr_state.reader_type = READER_SETTINGS; + break; + case HTTP_FRAME_PRIORITY: + if (fr->fr_state.payload_length != sizeof(struct http_prio_frame)) + { + LSQ_INFO("Framing error: %u is not a valid PRIORITY length", + fr->fr_state.payload_length); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_INVALID_FRAME_SIZE); + return -1; + } + if (!stream_id) + { /* RFC 7540, Section 6.3 */ + LSQ_INFO("Error: PRIORITY frame must have stream ID set"); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_ZERO_STREAM_ID); + return -1; + } + fr->fr_state.by_type.settings_state.nread = 0; + fr->fr_state.reader_type = READER_PRIORITY; + break; + headers_too_large: + LSQ_INFO("headers are too large (%u bytes), skipping", + fr->fr_state.payload_length); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_BAD_HEADER); + /* fallthru */ + continue_skipping: + default: + fr->fr_state.by_type.skip_state.n_skipped = 0; + fr->fr_state.reader_type = READER_SKIP; + break; + } + + fr->fr_flags |= FRF_HAVE_PREV; + fr->fr_prev_frame_type = fr->fr_state.header.hfh_type; + fr->fr_prev_hfh_flags = fr->fr_state.header.hfh_flags; + fr->fr_prev_stream_id = stream_id; + + return 0; +} + + +static int +read_http_frame_header (struct lsquic_frame_reader *fr) +{ + ssize_t nr; + size_t ntoread; + unsigned char *dst; + + ntoread = sizeof(fr->fr_state.header) - fr->fr_state.nh_read; + dst = (unsigned char *) &fr->fr_state.header + fr->fr_state.nh_read; + nr = fr->fr_read(fr->fr_stream, dst, ntoread); + if (nr <= 0) + RETURN_ERROR(nr); + fr->fr_state.nh_read += nr; + if (fr->fr_state.nh_read == sizeof(fr->fr_state.header)) + { + LSQ_DEBUG("read in frame %s", hft_to_string(fr->fr_state.header.hfh_type)); + return prepare_for_payload(fr); + } + else + return 0; +} + + +static int +skip_payload (struct lsquic_frame_reader *fr) +{ + struct skip_state *ss = &fr->fr_state.by_type.skip_state; + size_t ntoread = fr->fr_state.payload_length - ss->n_skipped; + unsigned char buf[0x100]; + if (ntoread > sizeof(buf)) + ntoread = sizeof(buf); + ssize_t nr = fr->fr_read(fr->fr_stream, buf, ntoread); + if (nr <= 0) + RETURN_ERROR(nr); + ss->n_skipped += nr; + if (ss->n_skipped == fr->fr_state.payload_length) + reset_state(fr); + return 0; +} + + +static int +skip_headers_padding (struct lsquic_frame_reader *fr) +{ + unsigned char buf[0x100]; + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + unsigned pay_and_pad_length = fr->fr_state.payload_length - hs->pesw_size; + unsigned ntoread = pay_and_pad_length - hs->nread; + assert(ntoread <= sizeof(buf)); + if (ntoread > sizeof(buf)) + ntoread = sizeof(buf); + ssize_t nr = fr->fr_read(fr->fr_stream, buf, ntoread); + if (nr <= 0) + RETURN_ERROR(nr); + hs->nread += nr; + if (hs->nread == pay_and_pad_length) + reset_state(fr); + return 0; +} + + +static struct lsquic_stream * +find_target_stream (const struct lsquic_frame_reader *fr) +{ + lsquic_stream_id_t stream_id; + struct lsquic_conn *lconn; + + stream_id = fr_get_stream_id(fr); + lconn = lsquic_stream_conn(fr->fr_stream); + if (lconn->cn_if->ci_get_stream_by_id) + return lconn->cn_if->ci_get_stream_by_id(lconn, stream_id); + + return NULL; +} + + +static void +skip_headers (struct lsquic_frame_reader *fr) +{ + const unsigned char *comp, *end; + void *buf; + int s; + struct lsxpack_header xhdr; + const size_t buf_len = 64 * 1024; + + buf = malloc(buf_len); + if (!buf) + { + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, fr_get_stream_id(fr), + FR_ERR_OTHER_ERROR); + goto end; + } + + comp = fr->fr_header_block; + end = comp + fr->fr_header_block_sz; + while (comp < end) + { + lsxpack_header_prepare_decode(&xhdr, buf, 0, buf_len); + s = lshpack_dec_decode(fr->fr_hdec, &comp, end, &xhdr); + if (s != 0) + { + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, fr_get_stream_id(fr), + FR_ERR_OTHER_ERROR); + break; + } + } + + end: + if (buf) + free(buf); +} + + +static void +decode_and_pass_payload (struct lsquic_frame_reader *fr) +{ + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + const unsigned char *comp, *end; + enum frame_reader_error err; + int s; + uint32_t stream_id32; + struct uncompressed_headers *uh = NULL; + void *hset = NULL; + struct lsxpack_header *hdr = NULL; + size_t req_space = 0; + lsquic_stream_t *target_stream = NULL; + + if (!(fr->fr_flags & FRF_SERVER)) + { + target_stream = find_target_stream(fr); + /* If the response is for a stream that cannot be found, one of two + * things is true: a) the stream has been closed or b) this is an + * error. If (a), we discard this header block. We choose to do the + * same for (b) instead of erroring out for the sake of simplicity. + * There is no way to exploit this behavior. + */ + if (!target_stream) + { + skip_headers(fr); + return; + } + } + hset = fr->fr_hsi_if->hsi_create_header_set(fr->fr_hsi_ctx, target_stream, + READER_PUSH_PROMISE == fr->fr_state.reader_type); + if (!hset) + { + err = FR_ERR_OTHER_ERROR; + goto stream_error; + } + + comp = fr->fr_header_block; + end = comp + fr->fr_header_block_sz; + + while (comp < end) + { + prepare: + hdr = fr->fr_hsi_if->hsi_prepare_decode(hset, hdr, req_space); + if (!hdr) + { + err = FR_ERR_OTHER_ERROR; + goto stream_error; + } + s = lshpack_dec_decode(fr->fr_hdec, &comp, end, hdr); + if (s == 0) + { + s = fr->fr_hsi_if->hsi_process_header(hset, hdr); + if (s == 0) + { +#if LSQUIC_CONN_STATS + fr->fr_conn_stats->in.headers_uncomp += hdr->name_len + + hdr->val_len; +#endif + req_space = 0; + hdr = NULL; + continue; + } + else if (s > 0) + err = FR_ERR_BAD_HEADER; + else + err = FR_ERR_OTHER_ERROR; + } + else if (s == LSHPACK_ERR_MORE_BUF) + { + req_space = hdr->val_len; + goto prepare; + } + else + err = FR_ERR_DECOMPRESS; + goto stream_error; + } + assert(comp == end); + + s = fr->fr_hsi_if->hsi_process_header(hset, NULL); + if (s != 0) + { + err = s < 0 ? FR_ERR_OTHER_ERROR : FR_ERR_BAD_HEADER; + goto stream_error; + } + + uh = calloc(1, sizeof(*uh)); + if (!uh) + { + err = FR_ERR_OTHER_ERROR; + goto stream_error; + } + + memcpy(&stream_id32, fr->fr_state.header.hfh_stream_id, + sizeof(stream_id32)); + uh->uh_stream_id = ntohl(stream_id32); + uh->uh_oth_stream_id = hs->oth_stream_id; + if (HTTP_FRAME_HEADERS == fr->fr_state.by_type.headers_state.frame_type) + { + uh->uh_weight = hs->weight; + uh->uh_exclusive = hs->exclusive; + uh->uh_flags = 0; + } + else + { + assert(HTTP_FRAME_PUSH_PROMISE == + fr->fr_state.by_type.headers_state.frame_type); + uh->uh_weight = 0; /* Zero unused value */ + uh->uh_exclusive = 0; /* Zero unused value */ + uh->uh_flags = UH_PP; + } + if (fr->fr_state.header.hfh_flags & HFHF_END_STREAM) + uh->uh_flags |= UH_FIN; + if (fr->fr_hsi_if == lsquic_http1x_if) + uh->uh_flags |= UH_H1H; + uh->uh_hset = hset; + + EV_LOG_HTTP_HEADERS_IN(LSQUIC_LOG_CONN_ID, fr->fr_flags & FRF_SERVER, uh); + if (HTTP_FRAME_HEADERS == fr->fr_state.by_type.headers_state.frame_type) + fr->fr_callbacks->frc_on_headers(fr->fr_cb_ctx, uh); + else + fr->fr_callbacks->frc_on_push_promise(fr->fr_cb_ctx, uh); +#if LSQUIC_CONN_STATS + fr->fr_conn_stats->in.headers_comp += fr->fr_header_block_sz; +#endif + + return; + + stream_error: + LSQ_INFO("%s: stream error %u", __func__, err); + if (hset) + fr->fr_hsi_if->hsi_discard_header_set(hset); + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, fr_get_stream_id(fr), err); +} + + +static int +read_headers_block_fragment (struct lsquic_frame_reader *fr) +{ + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + ssize_t nr; + unsigned payload_length = fr->fr_state.payload_length - hs->pesw_size - + hs->pad_length; + if (!fr->fr_header_block) + { + fr->fr_header_block_sz = payload_length; + fr->fr_header_block = malloc(payload_length); + if (!fr->fr_header_block) + return -1; + } + nr = fr->fr_read(fr->fr_stream, fr->fr_header_block + hs->nread, + fr->fr_header_block_sz - hs->nread); + if (nr <= 0) + { + free(fr->fr_header_block); + fr->fr_header_block = NULL; + RETURN_ERROR(nr); + } + hs->nread += nr; + if (hs->nread == payload_length && + (fr->fr_state.header.hfh_flags & HFHF_END_HEADERS)) + { + decode_and_pass_payload(fr); + free(fr->fr_header_block); + fr->fr_header_block = NULL; + } + + return 0; +} + + +static int +read_headers_block_fragment_and_padding (struct lsquic_frame_reader *fr) +{ + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + unsigned payload_length = fr->fr_state.payload_length - hs->pesw_size; + int rv; + if (hs->nread < payload_length - hs->pad_length) + rv = read_headers_block_fragment(fr); + else if (payload_length) + rv = skip_headers_padding(fr); + else + { /* Edge case where PESW takes up the whole frame */ + fr->fr_header_block_sz = 0; + fr->fr_header_block = NULL; + rv = 0; + } + if (0 == rv && hs->nread == payload_length) + reset_state(fr); + return rv; +} + + +static int +read_headers_pesw (struct lsquic_frame_reader *fr) +{ + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + ssize_t nr = fr->fr_read(fr->fr_stream, hs->pesw + hs->pesw_nread, + hs->pesw_size - hs->pesw_nread); + if (nr <= 0) + RETURN_ERROR(nr); + hs->pesw_nread += nr; + if (hs->pesw_nread == hs->pesw_size) + { + unsigned char *p = hs->pesw; + if (fr->fr_state.header.hfh_flags & HFHF_PADDED) + hs->pad_length = *p++; + if (fr->fr_state.header.hfh_flags & HFHF_PRIORITY) + { + hs->exclusive = p[0] >> 7; + p[0] &= ~0x80; /* Note that we are modifying pesw buffer. */ + memcpy(&hs->oth_stream_id, p, sizeof(hs->oth_stream_id)); + hs->oth_stream_id = ntohl(hs->oth_stream_id); + p += 4; + hs->weight = 1 + *p++; + } + assert(p - hs->pesw == hs->pesw_size); + + if (hs->pesw_size + hs->pad_length > fr->fr_state.payload_length) + { + LSQ_INFO("Invalid headers frame: pesw length and padding length " + "are larger than the payload length"); + errno = EBADMSG; + return -1; + } + } + return 0; +} + + +static int +read_headers (struct lsquic_frame_reader *fr) +{ + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + if (hs->pesw_nread < hs->pesw_size) + return read_headers_pesw(fr); + else + return read_headers_block_fragment_and_padding(fr); +} + + +static int +read_push_promise_pesw (struct lsquic_frame_reader *fr) +{ + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + ssize_t nr = fr->fr_read(fr->fr_stream, hs->pesw + hs->pesw_nread, + hs->pesw_size - hs->pesw_nread); + if (nr <= 0) + RETURN_ERROR(nr); + hs->pesw_nread += nr; + if (hs->pesw_nread == hs->pesw_size) + { + unsigned char *p = hs->pesw; + if (fr->fr_state.header.hfh_flags & HFHF_PADDED) + hs->pad_length = *p++; + p[0] &= ~0x80; /* Clear reserved bit. Note: modifying pesw buffer. */ + memcpy(&hs->oth_stream_id, p, sizeof(hs->oth_stream_id)); + hs->oth_stream_id = ntohl(hs->oth_stream_id); + p += 4; + assert(p - hs->pesw == hs->pesw_size); + if (hs->pesw_size + hs->pad_length > fr->fr_state.payload_length) + { + LSQ_INFO("Invalid PUSH_PROMISE frame: pesw length and padding length " + "are larger than the payload length"); + errno = EBADMSG; + return -1; + } + } + return 0; +} + + +static int +read_push_promise (struct lsquic_frame_reader *fr) +{ + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + if (hs->pesw_nread < hs->pesw_size) + return read_push_promise_pesw(fr); + else + return read_headers_block_fragment_and_padding(fr); +} + + +static int +read_contin (struct lsquic_frame_reader *fr) +{ + struct headers_state *hs = &fr->fr_state.by_type.headers_state; + unsigned ntoread; + ssize_t nr; + + ntoread = fr->fr_state.payload_length - hs->nread; + nr = fr->fr_read(fr->fr_stream, + fr->fr_header_block + fr->fr_header_block_sz - ntoread, + ntoread); + if (nr <= 0) + RETURN_ERROR(nr); + hs->nread += nr; + if (hs->nread == fr->fr_state.payload_length) + { + if (fr->fr_state.header.hfh_flags & HFHF_END_HEADERS) + { + decode_and_pass_payload(fr); + free(fr->fr_header_block); + fr->fr_header_block = NULL; + } + reset_state(fr); + } + + return 0; +} + + +static int +read_settings (struct lsquic_frame_reader *fr) +{ + struct settings_state *ss = &fr->fr_state.by_type.settings_state; + unsigned ntoread; + ssize_t nr; + uint32_t setting_value; + uint16_t setting_id; + + ntoread = sizeof(ss->set_buf) - ss->nread; + nr = fr->fr_read(fr->fr_stream, ss->set_buf + ss->nread, ntoread); + if (nr <= 0) + RETURN_ERROR(nr); + ss->nread += nr; + if (ss->nread == sizeof(ss->set_buf)) + { + memcpy(&setting_id, ss->set_buf, 2); + memcpy(&setting_value, ss->set_buf + 2, 4); + setting_id = ntohs(setting_id); + setting_value = ntohl(setting_value); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "read HTTP SETTING %s=%"PRIu32, + lsquic_http_setting_id2str(setting_id), setting_value); + fr->fr_callbacks->frc_on_settings(fr->fr_cb_ctx, setting_id, + setting_value); + + fr->fr_state.payload_length -= sizeof(ss->set_buf); + if (0 == fr->fr_state.payload_length) + reset_state(fr); + else + ss->nread = 0; + } + return 0; +} + + +static int +read_priority (struct lsquic_frame_reader *fr) +{ + struct priority_state *ps = &fr->fr_state.by_type.priority_state; + unsigned ntoread; + ssize_t nr; + uint32_t stream_id, dep_stream_id; + int exclusive; + + ntoread = sizeof(ps->u.prio_buf) - ps->nread; + nr = fr->fr_read(fr->fr_stream, ps->u.prio_buf + ps->nread, ntoread); + if (nr <= 0) + RETURN_ERROR(nr); + ps->nread += nr; + if (ps->nread == sizeof(ps->u.prio_buf)) + { + memcpy(&dep_stream_id, ps->u.prio_frame.hpf_stream_id, 4); + dep_stream_id = ntohl(dep_stream_id); + exclusive = dep_stream_id >> 31; + dep_stream_id &= ~(1UL << 31); + stream_id = fr_get_stream_id(fr); + if (stream_id == dep_stream_id) + fr->fr_callbacks->frc_on_error(fr->fr_cb_ctx, stream_id, + FR_ERR_SELF_DEP_STREAM); + else + { + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "read PRIORITY frame; " + "stream: %"PRIu32", dep stream %"PRIu32", exclusive: %d, " + "weight: %u", stream_id, dep_stream_id, exclusive, + ps->u.prio_frame.hpf_weight + 1); + fr->fr_callbacks->frc_on_priority(fr->fr_cb_ctx, stream_id, + exclusive, dep_stream_id, ps->u.prio_frame.hpf_weight + 1); + } + reset_state(fr); + } + return 0; +} + + +static int +read_payload (struct lsquic_frame_reader *fr) +{ + switch (fr->fr_state.reader_type) + { + case READER_HEADERS: + return read_headers(fr); + case READER_PUSH_PROMISE: + return read_push_promise(fr); + case READER_CONTIN: + return read_contin(fr); + case READER_SETTINGS: + return read_settings(fr); + case READER_PRIORITY: + return read_priority(fr); + default: + assert(READER_SKIP == fr->fr_state.reader_type); + return skip_payload(fr); + } +} + + +int +lsquic_frame_reader_read (struct lsquic_frame_reader *fr) +{ + if (fr->fr_state.nh_read < sizeof(fr->fr_state.header)) + return read_http_frame_header(fr); + else + return read_payload(fr); +} + + +size_t +lsquic_frame_reader_mem_used (const struct lsquic_frame_reader *fr) +{ + size_t size; + size = sizeof(*fr); + if (fr->fr_header_block) + size += fr->fr_header_block_sz; + return size; +} diff --git a/external/lsquic/src/liblsquic/lsquic_frame_reader.h b/external/lsquic/src/liblsquic/lsquic_frame_reader.h new file mode 100644 index 0000000..1a55d04 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_frame_reader.h @@ -0,0 +1,90 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_frame_reader.h -- Read HTTP frames from stream + */ + +#ifndef LSQUIC_FRAME_READER_H +#define LSQUIC_FRAME_READER_H 1 + +#include +#include +#ifdef WIN32 +#include +#endif + +struct lshpack_dec; +struct lsquic_mm; +struct lsquic_stream; +struct lsquic_frame_reader; +struct lsquic_hset_if; +struct uncompressed_headers; +#if LSQUIC_CONN_STATS +struct conn_stats; +#endif + + +enum frame_reader_flags +{ + FRF_SERVER = (1 << 0), + FRF_HAVE_PREV = (1 << 1), +}; + + +/* Frame reader may hit some error conditions which are reported using + * callback fc_on_error. These codes are later mapped stream- or + * connection-level errors. + */ +enum frame_reader_error +{ + FR_ERR_BAD_HEADER, + FR_ERR_OTHER_ERROR, + + FR_ERR_DECOMPRESS, + FR_ERR_INVALID_FRAME_SIZE, /* E.g. a SETTINGS frame length is not a multiple + * of 6 (RFC 7540, Section 6.5.1). + */ + FR_ERR_NONZERO_STREAM_ID, + FR_ERR_ZERO_STREAM_ID, + FR_ERR_SELF_DEP_STREAM, /* A stream in priority frame cannot depend on + * itself (RFC 7540, Section 5.3.1). + */ + FR_ERR_UNEXPECTED_PUSH, + FR_ERR_EXPECTED_CONTIN, /* Expected continuation frame. */ +}; + + +struct frame_reader_callbacks +{ + void (*frc_on_headers) (void *frame_cb_ctx, struct uncompressed_headers *); + void (*frc_on_push_promise) (void *frame_cb_ctx, struct uncompressed_headers *); + void (*frc_on_settings) (void *frame_cb_ctx, uint16_t setting_id, + uint32_t setting_value); + void (*frc_on_priority) (void *frame_cb_ctx, lsquic_stream_id_t stream_id, + int exclusive, lsquic_stream_id_t dep_stream_id, + unsigned weight); + void (*frc_on_error) (void *frame_cb_ctx, lsquic_stream_id_t stream_id, + enum frame_reader_error); +}; + +typedef ssize_t (*fr_stream_read_f)(struct lsquic_stream *, void *, size_t); + +struct lsquic_frame_reader * +lsquic_frame_reader_new (enum frame_reader_flags, unsigned max_headers_sz, + struct lsquic_mm *, struct lsquic_stream *, + fr_stream_read_f, struct lshpack_dec *, + const struct frame_reader_callbacks *, void *fr_cb_ctx, +#if LSQUIC_CONN_STATS + struct conn_stats *conn_stats, +#endif + const struct lsquic_hset_if *, void *hsi_ctx); + +int +lsquic_frame_reader_read (struct lsquic_frame_reader *); + +void +lsquic_frame_reader_destroy (struct lsquic_frame_reader *); + +size_t +lsquic_frame_reader_mem_used (const struct lsquic_frame_reader *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_frame_writer.c b/external/lsquic/src/liblsquic/lsquic_frame_writer.c new file mode 100644 index 0000000..ae1919d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_frame_writer.c @@ -0,0 +1,674 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_frame_writer.c -- write frames to HEADERS stream. + * + * The frame is first written to list of frame_buf's (frabs) and then + * out to the stream. This is done because frame's size is written out + * to the stream and we may not have enough room in the stream to fit + * the whole frame. + */ + +#ifndef WIN32 +#include +#endif +#include +#include +#include +#include +#include +#include + +#include "lshpack.h" +#include "lsquic_mm.h" +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" + +#include "lsquic_frame_writer.h" +#include "lsquic_frame_common.h" +#include "lsquic_frab_list.h" +#include "lsquic_ev_log.h" + +#include "fiu-local.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_FRAME_WRITER +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(\ + lsquic_stream_conn(fw->fw_stream)) +#include "lsquic_logger.h" + +/* Size of the buffer passed to lshpack_enc_encode() -- this limits the size + * of a single compressed header field. + */ +#define MAX_COMP_HEADER_FIELD_SIZE (64 * 1024) + + +struct lsquic_frame_writer +{ + struct lsquic_stream *fw_stream; + fw_writef_f fw_writef; + struct lsquic_mm *fw_mm; + struct lshpack_enc *fw_henc; +#if LSQUIC_CONN_STATS + struct conn_stats *fw_conn_stats; +#endif + struct frab_list fw_fral; + unsigned fw_max_frame_sz; + uint32_t fw_max_header_list_sz; /* 0 means unlimited */ + enum { + FW_SERVER = (1 << 0), + } fw_flags; +}; + + +/* RFC 7540, Section 4.2 */ +#define MIN_MAX_FRAME_SIZE (1 << 14) +#define MAX_MAX_FRAME_SIZE ((1 << 24) - 1) + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define SETTINGS_FRAME_SZ 6 +#define ABS_MIN_FRAME_SIZE MAX(SETTINGS_FRAME_SZ, \ + sizeof(struct http_prio_frame)) + +static void * +fw_alloc (void *ctx, size_t size) +{ + return lsquic_mm_get_4k(ctx); +} + + +struct lsquic_frame_writer * +lsquic_frame_writer_new (struct lsquic_mm *mm, struct lsquic_stream *stream, + unsigned max_frame_sz, struct lshpack_enc *henc, fw_writef_f writef, +#if LSQUIC_CONN_STATS + struct conn_stats *conn_stats, +#endif + int is_server) +{ + struct lsquic_frame_writer *fw; + + /* When frame writer is instantiated, limit the maximum size to + * MIN_MAX_FRAME_SIZE. The reference implementation has this value + * hardcoded and QUIC does not provide a mechanism to advertise a + * different value. + */ + if (0 == max_frame_sz) + max_frame_sz = MIN_MAX_FRAME_SIZE; + else + LSQ_LOG1(LSQ_LOG_WARN, "max frame size specified to be %u bytes " + "-- this better be test code!", max_frame_sz); + + if (!is_server && max_frame_sz < ABS_MIN_FRAME_SIZE) + { + LSQ_LOG1(LSQ_LOG_ERROR, "max frame size must be at least %zd bytes, " + "which is the size of priority information that client always " + "writes", ABS_MIN_FRAME_SIZE); + return NULL; + } + + fw = calloc(1, sizeof(*fw)); + if (!fw) + return NULL; + + fw->fw_mm = mm; + fw->fw_henc = henc; + fw->fw_stream = stream; + fw->fw_writef = writef; + fw->fw_max_frame_sz = max_frame_sz; + fw->fw_max_header_list_sz = 0; + if (is_server) + fw->fw_flags = FW_SERVER; + else + fw->fw_flags = 0; +#if LSQUIC_CONN_STATS + fw->fw_conn_stats = conn_stats; +#endif + lsquic_frab_list_init(&fw->fw_fral, 0x1000, fw_alloc, + (void (*)(void *, void *)) lsquic_mm_put_4k, mm); + return fw; +} + + +void +lsquic_frame_writer_destroy (struct lsquic_frame_writer *fw) +{ + lsquic_frab_list_cleanup(&fw->fw_fral); + free(fw); +} + + +int +lsquic_frame_writer_have_leftovers (const struct lsquic_frame_writer *fw) +{ + return !lsquic_frab_list_empty(&fw->fw_fral); +} + + +int +lsquic_frame_writer_flush (struct lsquic_frame_writer *fw) +{ + struct lsquic_reader reader = { + .lsqr_read = lsquic_frab_list_read, + .lsqr_size = lsquic_frab_list_size, + .lsqr_ctx = &fw->fw_fral, + }; + ssize_t nw; + + nw = fw->fw_writef(fw->fw_stream, &reader); + + if (nw >= 0) + return 0; + else + return -1; +} + + +struct header_framer_ctx +{ + struct lsquic_frame_writer + *hfc_fw; + struct { + struct frame_buf *frab; + unsigned short off; + } hfc_header_ptr; /* Points to byte *after* current frame header */ + unsigned hfc_max_frame_sz; /* Maximum frame size. We always fill it. */ + unsigned hfc_cur_sz; /* Number of bytes in the current frame. */ + unsigned hfc_n_frames; /* Number of frames written. */ + lsquic_stream_id_t + hfc_stream_id; /* Stream ID */ + enum http_frame_header_flags + hfc_first_flags; + enum http_frame_type + hfc_frame_type; +}; + + +static void +hfc_init (struct header_framer_ctx *hfc, struct lsquic_frame_writer *fw, + unsigned max_frame_sz, enum http_frame_type frame_type, + lsquic_stream_id_t stream_id, enum http_frame_header_flags first_flags) +{ + memset(hfc, 0, sizeof(*hfc)); + hfc->hfc_fw = fw; + hfc->hfc_frame_type = frame_type; + hfc->hfc_stream_id = stream_id; + hfc->hfc_first_flags = first_flags; + hfc->hfc_max_frame_sz = max_frame_sz; + hfc->hfc_cur_sz = max_frame_sz; +} + + +static void +hfc_save_ptr (struct header_framer_ctx *hfc) +{ + hfc->hfc_header_ptr.frab = TAILQ_LAST(&hfc->hfc_fw->fw_fral.fl_frabs, frame_buf_head); + hfc->hfc_header_ptr.off = hfc->hfc_header_ptr.frab->frab_size; +} + + +static void +hfc_terminate_frame (struct header_framer_ctx *hfc, + enum http_frame_header_flags flags) +{ + union { + struct http_frame_header fh; + unsigned char buf[ sizeof(struct http_frame_header) ]; + } u; + uint32_t stream_id; + struct frame_buf *frab; + + /* Construct the frame */ + u.fh.hfh_length[0] = hfc->hfc_cur_sz >> 16; + u.fh.hfh_length[1] = hfc->hfc_cur_sz >> 8; + u.fh.hfh_length[2] = hfc->hfc_cur_sz; + u.fh.hfh_flags = flags; + if (1 == hfc->hfc_n_frames) + { + u.fh.hfh_type = hfc->hfc_frame_type; + u.fh.hfh_flags |= hfc->hfc_first_flags; + } + else + u.fh.hfh_type = HTTP_FRAME_CONTINUATION; + stream_id = htonl(hfc->hfc_stream_id); + memcpy(u.fh.hfh_stream_id, &stream_id, sizeof(stream_id)); + + if (hfc->hfc_header_ptr.off >= sizeof(u.fh)) + { /* Write in a single chunk */ + assert(0 == memcmp("123456789", hfc->hfc_header_ptr.frab->frab_buf + + hfc->hfc_header_ptr.off - sizeof(u.buf), sizeof(u.buf))); + memcpy(hfc->hfc_header_ptr.frab->frab_buf + hfc->hfc_header_ptr.off - + sizeof(u.buf), u.buf, sizeof(u.buf)); + } + else + { /* Write across frab boundary */ + memcpy(hfc->hfc_header_ptr.frab->frab_buf, + u.buf + sizeof(u.buf) - hfc->hfc_header_ptr.off, + hfc->hfc_header_ptr.off); + frab = TAILQ_PREV(hfc->hfc_header_ptr.frab, frame_buf_head, frab_next); + memcpy(frab->frab_buf + frab->frab_size - sizeof(u.buf) + + hfc->hfc_header_ptr.off, u.buf, + sizeof(u.buf) - hfc->hfc_header_ptr.off); + } +} + + +static int +hfc_write (struct header_framer_ctx *hfc, const void *buf, size_t sz) +{ + const unsigned char *p = buf; + unsigned avail; + int s; + + while (sz > 0) + { + if (hfc->hfc_max_frame_sz == hfc->hfc_cur_sz) + { + if (hfc->hfc_n_frames > 0) + hfc_terminate_frame(hfc, 0); + s = lsquic_frab_list_write(&hfc->hfc_fw->fw_fral, "123456789", + sizeof(struct http_frame_header)); + if (s < 0) + return s; + ++hfc->hfc_n_frames; + hfc_save_ptr(hfc); + hfc->hfc_cur_sz = 0; + } + + avail = hfc->hfc_max_frame_sz - hfc->hfc_cur_sz; + if (sz < avail) + avail = sz; + if (avail) + { + s = lsquic_frab_list_write(&hfc->hfc_fw->fw_fral, p, avail); + if (s < 0) + return s; + hfc->hfc_cur_sz += avail; + sz -= avail; + p += avail; + } + } + + return 0; +} + + +static unsigned +count_uppercase (const unsigned char *buf, size_t sz) +{ + static const unsigned char uppercase[0x100] = { + ['A'] = 1, ['B'] = 1, ['C'] = 1, ['D'] = 1, ['E'] = 1, ['F'] = 1, + ['G'] = 1, ['H'] = 1, ['I'] = 1, ['J'] = 1, ['K'] = 1, ['L'] = 1, + ['M'] = 1, ['N'] = 1, ['O'] = 1, ['P'] = 1, ['Q'] = 1, ['R'] = 1, + ['S'] = 1, ['T'] = 1, ['U'] = 1, ['V'] = 1, ['W'] = 1, ['X'] = 1, + ['Y'] = 1, ['Z'] = 1, + }; + unsigned n_uppercase, i; + n_uppercase = 0; + for (i = 0; i < sz; ++i) + n_uppercase += uppercase[ buf[i] ]; + return n_uppercase; +} + + +static uint32_t +calc_headers_size (const struct lsquic_http_headers *headers) +{ + int i; + uint32_t size = 0; + for (i = 0; i < headers->count; ++i) + if (headers->headers[i].buf) + size += 32 + headers->headers[i].name_len + + headers->headers[i].val_len; + return size; +} + + +static int +have_oversize_strings (const struct lsquic_http_headers *headers) +{ +#if LSXPACK_MAX_STRLEN > LSHPACK_MAX_STRLEN + int i, have; + for (i = 0, have = 0; i < headers->count; ++i) + { + if (headers->headers[i].buf) + { + have |= headers->headers[i].name_len > LSHPACK_MAX_STRLEN; + have |= headers->headers[i].val_len > LSHPACK_MAX_STRLEN; + } + } + return have; +#else + return 0; +#endif +} + + +static int +check_headers_size (const struct lsquic_frame_writer *fw, + const struct lsquic_http_headers *headers) +{ + uint32_t headers_sz; + headers_sz = calc_headers_size(headers); + + if (headers_sz <= fw->fw_max_header_list_sz) + return 0; + else if (fw->fw_flags & FW_SERVER) + { + LSQ_INFO("Sending headers larger (%u bytes) than max allowed (%u)", + headers_sz, fw->fw_max_header_list_sz); + return 0; + } + else + { + LSQ_INFO("Headers size %u is larger than max allowed (%u)", + headers_sz, fw->fw_max_header_list_sz); + errno = EMSGSIZE; + return -1; + } +} + + +static int +check_headers_case (const struct lsquic_frame_writer *fw, + const struct lsquic_http_headers *headers) +{ + unsigned n_uppercase; + int i; + n_uppercase = 0; + for (i = 0; i < headers->count; ++i) + if (headers->headers[i].buf) + n_uppercase += count_uppercase((unsigned char *) + lsxpack_header_get_name(&headers->headers[i]), + headers->headers[i].name_len); + if (n_uppercase) + { + LSQ_INFO("Uppercase letters in header names"); + errno = EINVAL; + return -1; + } + return 0; +} + + +static int +write_headers (struct lsquic_frame_writer *fw, + const struct lsquic_http_headers *headers, + struct header_framer_ctx *hfc, unsigned char *buf, + const unsigned buf_sz) +{ + unsigned char *end; + int i, s; + for (i = 0; i < headers->count; ++i) + { + if (headers->headers[i].buf == NULL) + continue; + end = lshpack_enc_encode(fw->fw_henc, buf, buf + buf_sz, + &headers->headers[i]); + if (end > buf) + { + s = hfc_write(hfc, buf, end - buf); + if (s < 0) + return s; +#if LSQUIC_CONN_STATS + fw->fw_conn_stats->out.headers_uncomp += + headers->headers[i].name_len + + headers->headers[i].val_len; + fw->fw_conn_stats->out.headers_comp += end - buf; +#endif + } + else + { + /* Ignore errors, matching HTTP2 behavior in our server code */ + } + } + + return 0; +} + + +int +lsquic_frame_writer_write_headers (struct lsquic_frame_writer *fw, + lsquic_stream_id_t stream_id, + const struct lsquic_http_headers *headers, + int eos, unsigned weight) +{ + struct header_framer_ctx hfc; + int s; + struct http_prio_frame prio_frame; + enum http_frame_header_flags flags; + unsigned char *buf; + + /* Internal function: weight must be valid here */ + assert(weight >= 1 && weight <= 256); + + if (fw->fw_max_header_list_sz && 0 != check_headers_size(fw, headers)) + return -1; + + if (0 != check_headers_case(fw, headers)) + return -1; + + if (have_oversize_strings(headers)) + return -1; + + if (eos) + flags = HFHF_END_STREAM; + else + flags = 0; + + if (!(fw->fw_flags & FW_SERVER)) + flags |= HFHF_PRIORITY; + + hfc_init(&hfc, fw, fw->fw_max_frame_sz, HTTP_FRAME_HEADERS, stream_id, + flags); + + if (!(fw->fw_flags & FW_SERVER)) + { + memset(&prio_frame.hpf_stream_id, 0, sizeof(prio_frame.hpf_stream_id)); + prio_frame.hpf_weight = weight - 1; + s = hfc_write(&hfc, &prio_frame, sizeof(struct http_prio_frame)); + if (s < 0) + return s; + } + + buf = malloc(MAX_COMP_HEADER_FIELD_SIZE); + if (!buf) + return -1; + s = write_headers(fw, headers, &hfc, buf, MAX_COMP_HEADER_FIELD_SIZE); + free(buf); + if (0 == s) + { + EV_LOG_GENERATED_HTTP_HEADERS(LSQUIC_LOG_CONN_ID, stream_id, + fw->fw_flags & FW_SERVER, &prio_frame, headers); + hfc_terminate_frame(&hfc, HFHF_END_HEADERS); + return lsquic_frame_writer_flush(fw); + } + else + return s; +} + + +int +lsquic_frame_writer_write_promise (struct lsquic_frame_writer *fw, + lsquic_stream_id_t stream_id64, lsquic_stream_id_t promised_stream_id64, + const struct lsquic_http_headers *headers) +{ + uint32_t stream_id = stream_id64; + uint32_t promised_stream_id = promised_stream_id64; + struct header_framer_ctx hfc; + struct http_push_promise_frame push_frame; + unsigned char *buf; + int s; + + fiu_return_on("frame_writer/writer_promise", -1); + + if (fw->fw_max_header_list_sz && 0 != check_headers_size(fw, headers)) + return -1; + + if (0 != check_headers_case(fw, headers)) + return -1; + + if (have_oversize_strings(headers)) + return -1; + + hfc_init(&hfc, fw, fw->fw_max_frame_sz, HTTP_FRAME_PUSH_PROMISE, + stream_id, 0); + + promised_stream_id = htonl(promised_stream_id); + memcpy(push_frame.hppf_promised_id, &promised_stream_id, 4); + s = hfc_write(&hfc, &push_frame, sizeof(struct http_push_promise_frame)); + if (s < 0) + return s; + + buf = malloc(MAX_COMP_HEADER_FIELD_SIZE); + if (!buf) + return -1; + + s = write_headers(fw, headers, &hfc, buf, MAX_COMP_HEADER_FIELD_SIZE); + if (s != 0) + { + free(buf); + return -1; + } + + free(buf); + + EV_LOG_GENERATED_HTTP_PUSH_PROMISE(LSQUIC_LOG_CONN_ID, stream_id, + htonl(promised_stream_id), headers); + hfc_terminate_frame(&hfc, HFHF_END_HEADERS); + return lsquic_frame_writer_flush(fw); +} + + +void +lsquic_frame_writer_max_header_list_size (struct lsquic_frame_writer *fw, + uint32_t max_size) +{ + LSQ_DEBUG("set max_header_list_sz to %u", max_size); + fw->fw_max_header_list_sz = max_size; +} + + +static int +write_settings (struct lsquic_frame_writer *fw, + const struct lsquic_http2_setting *settings, unsigned n_settings) +{ + struct http_frame_header fh; + unsigned payload_length; + uint32_t val; + uint16_t id; + int s; + + payload_length = n_settings * 6; + + memset(&fh, 0, sizeof(fh)); + fh.hfh_type = HTTP_FRAME_SETTINGS; + fh.hfh_length[0] = payload_length >> 16; + fh.hfh_length[1] = payload_length >> 8; + fh.hfh_length[2] = payload_length; + + s = lsquic_frab_list_write(&fw->fw_fral, &fh, sizeof(fh)); + if (s != 0) + return s; + + do + { + id = htons(settings->id); + val = htonl(settings->value); + if (0 != (s = lsquic_frab_list_write(&fw->fw_fral, &id, sizeof(id))) || + 0 != (s = lsquic_frab_list_write(&fw->fw_fral, &val, sizeof(val)))) + return s; + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "wrote HTTP SETTINGS frame: " + "%s=%"PRIu32, lsquic_http_setting_id2str(settings->id), + settings->value); + ++settings; + } + while (--n_settings); + + return 0; +} + +int +lsquic_frame_writer_write_settings (struct lsquic_frame_writer *fw, + const struct lsquic_http2_setting *settings, unsigned n_settings) +{ + unsigned settings_per_frame; + unsigned n; + + if (0 == n_settings) + { + errno = EINVAL; + return -1; + } + + settings_per_frame = fw->fw_max_frame_sz / SETTINGS_FRAME_SZ; + n = 0; + + do { + if (settings_per_frame > n_settings - n) + settings_per_frame = n_settings - n; + if (0 != write_settings(fw, &settings[n], settings_per_frame)) + return -1; + n += settings_per_frame; + } while (n < n_settings); + + return lsquic_frame_writer_flush(fw); +} + + +int +lsquic_frame_writer_write_priority (struct lsquic_frame_writer *fw, + lsquic_stream_id_t stream_id64, int exclusive, + lsquic_stream_id_t stream_dep_id64, unsigned weight) +{ + uint32_t stream_id = stream_id64; + uint32_t stream_dep_id = stream_dep_id64; + unsigned char buf[ sizeof(struct http_frame_header) + + sizeof(struct http_prio_frame) ]; + struct http_frame_header *fh = (void *) &buf[0]; + struct http_prio_frame *prio_frame = (void *) &buf[sizeof(*fh)]; + int s; + + if (stream_dep_id & (1UL << 31)) + { + LSQ_WARN("stream ID too high (%u): cannot write PRIORITY frame", + stream_dep_id); + return -1; + } + + if (weight < 1 || weight > 256) + return -1; + + memset(fh, 0, sizeof(*fh)); + fh->hfh_type = HTTP_FRAME_PRIORITY; + fh->hfh_length[2] = sizeof(struct http_prio_frame); + stream_id = htonl(stream_id); + memcpy(fh->hfh_stream_id, &stream_id, 4); + + stream_dep_id |= !!exclusive << 31; + stream_id = htonl(stream_dep_id); + memcpy(prio_frame->hpf_stream_id, &stream_id, 4); + prio_frame->hpf_weight = weight - 1; + + s = lsquic_frab_list_write(&fw->fw_fral, buf, sizeof(buf)); + if (s != 0) + return s; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "wrote HTTP PRIORITY frame: " + "stream %"PRIu32"; weight: %u; exclusive: %d", + htonl(stream_id), weight, !!exclusive); + + return lsquic_frame_writer_flush(fw); +} + + +size_t +lsquic_frame_writer_mem_used (const struct lsquic_frame_writer *fw) +{ + size_t size; + + size = sizeof(*fw) + + lsquic_frab_list_mem_used(&fw->fw_fral) + - sizeof(fw->fw_fral); + + return size; +} diff --git a/external/lsquic/src/liblsquic/lsquic_frame_writer.h b/external/lsquic/src/liblsquic/lsquic_frame_writer.h new file mode 100644 index 0000000..ae7a3c2 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_frame_writer.h @@ -0,0 +1,71 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_frame_writer.h -- write frames to HEADERS stream. + */ + +#ifndef LSQUIC_FRAME_WRITER_H +#define LSQUIC_FRAME_WRITER_H 1 + +#include +#include + +struct iovec; +struct lshpack_enc; +struct lsquic_mm; +struct lsquic_frame_writer; +struct lsquic_stream; +struct lsquic_reader; +struct lsquic_http_headers; +struct lsquic_http2_setting; +#if LSQUIC_CONN_STATS +struct conn_stats; +#endif + +typedef ssize_t (*fw_writef_f)(struct lsquic_stream *, struct lsquic_reader *); + +struct lsquic_frame_writer * +lsquic_frame_writer_new (struct lsquic_mm *, struct lsquic_stream *, + unsigned max_frame_sz, struct lshpack_enc *, + fw_writef_f, +#if LSQUIC_CONN_STATS + struct conn_stats *, +#endif + int is_server); + +void +lsquic_frame_writer_destroy (struct lsquic_frame_writer *); + +int +lsquic_frame_writer_have_leftovers (const struct lsquic_frame_writer *); + +int +lsquic_frame_writer_flush (struct lsquic_frame_writer *); + +int +lsquic_frame_writer_write_headers (struct lsquic_frame_writer *, + lsquic_stream_id_t stream_id, + const struct lsquic_http_headers *, + int eos, unsigned weight); + +int +lsquic_frame_writer_write_settings (struct lsquic_frame_writer *, + const struct lsquic_http2_setting *, unsigned n_settings); + +int +lsquic_frame_writer_write_priority (struct lsquic_frame_writer *, + lsquic_stream_id_t stream_id, int exclusive, + lsquic_stream_id_t stream_dep_id, unsigned priority); + +int +lsquic_frame_writer_write_promise (struct lsquic_frame_writer *, + lsquic_stream_id_t stream_id, lsquic_stream_id_t promised_stream_id, + const struct lsquic_http_headers *headers); + +void +lsquic_frame_writer_max_header_list_size (struct lsquic_frame_writer *, + uint32_t max_size); + +size_t +lsquic_frame_writer_mem_used (const struct lsquic_frame_writer *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_full_conn.c b/external/lsquic/src/liblsquic/lsquic_full_conn.c new file mode 100644 index 0000000..5c9b120 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_full_conn.c @@ -0,0 +1,4579 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_full_conn.c -- A "full" connection object has full functionality + */ + +#include +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#include +#include +#endif +#include + +#include + +#include "lsquic_types.h" +#include "lsquic_sizes.h" +#include "lsquic.h" +#include "lsquic_packet_common.h" +#include "lsquic_alarmset.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_parse.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_rechist.h" +#include "lsquic_util.h" +#include "lsquic_conn_flow.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_senhist.h" +#include "lsquic_rtt.h" +#include "lsquic_cubic.h" +#include "lsquic_pacer.h" +#include "lsquic_bw_sampler.h" +#include "lsquic_minmax.h" +#include "lsquic_bbr.h" +#include "lsquic_adaptive_cc.h" +#include "lsquic_set.h" +#include "lsquic_malo.h" +#include "lsquic_chsk_stream.h" +#include "lsquic_shsk_stream.h" +#include "lshpack.h" +#include "lsquic_str.h" +#include "lsquic_qtags.h" +#include "lsquic_enc_sess.h" +#include "lsquic_headers_stream.h" +#include "lsquic_frame_common.h" +#include "lsquic_frame_reader.h" +#include "lsquic_frame_writer.h" +#include "lsquic_http1x_if.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_spi.h" +#include "lsquic_ev_log.h" +#include "lsquic_version.h" +#include "lsquic_headers.h" +#include "lsquic_handshake.h" +#include "lsquic_attq.h" + +#include "lsquic_conn.h" +#include "lsquic_send_ctl.h" +#include "lsquic_conn_public.h" +#include "lsquic_ver_neg.h" +#include "lsquic_mini_conn.h" +#include "lsquic_full_conn.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_CONN +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(&conn->fc_conn) +#include "lsquic_logger.h" + +enum stream_if { STREAM_IF_STD, STREAM_IF_HSK, STREAM_IF_HDR, N_STREAM_IFS }; + +#define MAX_RETR_PACKETS_SINCE_LAST_ACK 2 +#define ACK_TIMEOUT 25000 + +/* Maximum number of ACK ranges that can fit into gQUIC ACK frame */ +#define MAX_ACK_RANGES 256 + +/* HANDSHAKE and HEADERS streams are always open in gQUIC connection */ +#define N_SPECIAL_STREAMS 2 + +/* IMPORTANT: Keep values of FC_SERVER and FC_HTTP same as LSENG_SERVER + * and LSENG_HTTP. + */ +enum full_conn_flags { + FC_SERVER = LSENG_SERVER, /* Server mode */ + FC_HTTP = LSENG_HTTP, /* HTTP mode */ + FC_TIMED_OUT = (1 << 2), +#define FC_BIT_ERROR 3 + FC_ERROR = (1 << FC_BIT_ERROR), + FC_ABORTED = (1 << 4), + FC_CLOSING = (1 << 5), /* Closing */ + FC_SEND_PING = (1 << 6), /* PING frame scheduled */ + FC_NSTP = (1 << 7), /* NSTP mode */ + FC_SEND_GOAWAY = (1 << 8), + FC_SEND_WUF = (1 << 9), + FC_SEND_STOP_WAITING + = (1 <<10), + FC_ACK_QUEUED = (1 <<11), + FC_ACK_HAD_MISS = (1 <<12), /* Last ACK frame had missing packets. */ + FC_CREATED_OK = (1 <<13), + FC_RECV_CLOSE = (1 <<14), /* Received CONNECTION_CLOSE frame */ + FC_GOING_AWAY = (1 <<15), /* Do not accept or create new streams */ + FC_GOAWAY_SENT = (1 <<16), /* Only send GOAWAY once */ + FC_SUPPORT_PUSH = (1 <<17), + FC_GOT_PRST = (1 <<18), /* Received public reset packet */ + FC_FIRST_TICK = (1 <<19), + FC_TICK_CLOSE = (1 <<20), /* We returned TICK_CLOSE */ + FC_HSK_FAILED = (1 <<21), + FC_HAVE_SAVED_ACK = (1 <<22), + FC_ABORT_COMPLAINED + = (1 <<23), + FC_GOT_SREJ = (1 <<24), /* Don't schedule ACK alarm */ + FC_NOPROG_TIMEOUT = (1 <<25), +}; + +#define FC_IMMEDIATE_CLOSE_FLAGS \ + (FC_TIMED_OUT|FC_ERROR|FC_ABORTED|FC_HSK_FAILED) + +#if LSQUIC_KEEP_STREAM_HISTORY +#define KEEP_CLOSED_STREAM_HISTORY 0 +#endif + +#if KEEP_CLOSED_STREAM_HISTORY +struct stream_history +{ + lsquic_stream_id_t shist_stream_id; + enum stream_flags shist_stream_flags; + unsigned char shist_hist_buf[1 << SM_HIST_BITS]; +}; +#define SHIST_BITS 5 +#define SHIST_MASK ((1 << SHIST_BITS) - 1) +#endif + +#ifndef KEEP_PACKET_HISTORY +#ifdef NDEBUG +#define KEEP_PACKET_HISTORY 0 +#else +#define KEEP_PACKET_HISTORY 16 +#endif +#endif + +#if KEEP_PACKET_HISTORY +struct packet_el +{ + lsquic_time_t time; + enum quic_ft_bit frame_types; +}; + +struct recent_packets +{ + struct packet_el els[KEEP_PACKET_HISTORY]; + unsigned idx; +}; +#endif + +struct stream_id_to_reset +{ + STAILQ_ENTRY(stream_id_to_reset) sitr_next; + lsquic_stream_id_t sitr_stream_id; +}; + + +struct full_conn +{ + struct lsquic_conn fc_conn; + struct conn_cid_elem fc_cces[2]; + struct lsquic_rechist fc_rechist; + struct { + const struct lsquic_stream_if *stream_if; + void *stream_if_ctx; + } fc_stream_ifs[N_STREAM_IFS]; + struct lsquic_send_ctl fc_send_ctl; + struct lsquic_conn_public fc_pub; + lsquic_alarmset_t fc_alset; + lsquic_set64_t fc_closed_stream_ids[2]; + const struct lsquic_engine_settings + *fc_settings; + struct lsquic_engine_public *fc_enpub; + lsquic_packno_t fc_max_ack_packno; + lsquic_packno_t fc_max_swf_packno; + lsquic_time_t fc_mem_logged_last; + struct { + unsigned max_streams_in; + unsigned max_streams_out; + unsigned max_conn_send; + unsigned max_stream_send; + } fc_cfg; + enum full_conn_flags fc_flags; + /* Number ackable packets received since last ACK was sent: */ + unsigned fc_n_slack_akbl; + unsigned fc_n_delayed_streams; + unsigned fc_n_cons_unretx; + lsquic_stream_id_t fc_last_stream_id; + lsquic_stream_id_t fc_max_peer_stream_id; + lsquic_stream_id_t fc_goaway_stream_id; + struct ver_neg fc_ver_neg; + union { + struct client_hsk_ctx client; + struct server_hsk_ctx server; + } fc_hsk_ctx; +#if LSQUIC_CONN_STATS + struct conn_stats fc_stats; + struct conn_stats *fc_last_stats; +#endif +#if KEEP_CLOSED_STREAM_HISTORY + /* Rolling log of histories of closed streams. Older entries are + * overwritten. + */ + struct stream_history fc_stream_histories[1 << SHIST_BITS]; + unsigned fc_stream_hist_idx; +#endif + char *fc_errmsg; +#if KEEP_PACKET_HISTORY + struct recent_packets fc_recent_packets[2]; /* 0: in; 1: out */ +#endif + STAILQ_HEAD(, stream_id_to_reset) + fc_stream_ids_to_reset; + lsquic_time_t fc_saved_ack_received; + struct network_path fc_path; + unsigned fc_orig_versions; /* Client only */ + enum enc_level fc_crypto_enc_level; + struct ack_info fc_ack; +}; + +static const struct ver_neg server_ver_neg; + + +#define MAX_ERRMSG 256 + +#define SET_ERRMSG(conn, ...) do { \ + if (!(conn)->fc_errmsg) \ + (conn)->fc_errmsg = malloc(MAX_ERRMSG); \ + if ((conn)->fc_errmsg) \ + snprintf((conn)->fc_errmsg, MAX_ERRMSG, __VA_ARGS__); \ +} while (0) + +#define ABORT_WITH_FLAG(conn, log_level, flag, ...) do { \ + SET_ERRMSG(conn, __VA_ARGS__); \ + if (!((conn)->fc_flags & FC_ABORT_COMPLAINED)) \ + LSQ_LOG(log_level, "Abort connection: " __VA_ARGS__); \ + (conn)->fc_flags |= flag|FC_ABORT_COMPLAINED; \ +} while (0) + +#define ABORT_ERROR(...) \ + ABORT_WITH_FLAG(conn, LSQ_LOG_ERROR, FC_ERROR, __VA_ARGS__) +#define ABORT_WARN(...) \ + ABORT_WITH_FLAG(conn, LSQ_LOG_WARN, FC_ERROR, __VA_ARGS__) + +static void +idle_alarm_expired (enum alarm_id, void *ctx, lsquic_time_t expiry, lsquic_time_t now); + +static void +ping_alarm_expired (enum alarm_id, void *ctx, lsquic_time_t expiry, lsquic_time_t now); + +static void +handshake_alarm_expired (enum alarm_id, void *ctx, lsquic_time_t expiry, lsquic_time_t now); + +static void +ack_alarm_expired (enum alarm_id, void *ctx, lsquic_time_t expiry, lsquic_time_t now); + +static lsquic_stream_t * +new_stream (struct full_conn *conn, lsquic_stream_id_t stream_id, + enum stream_ctor_flags); + +static struct lsquic_stream * +new_stream_ext (struct full_conn *, lsquic_stream_id_t, enum stream_if, + enum stream_ctor_flags); + +static void +reset_ack_state (struct full_conn *conn); + +static int +write_is_possible (struct full_conn *); + +static const struct headers_stream_callbacks *headers_callbacks_ptr; + +#if KEEP_CLOSED_STREAM_HISTORY + +static void +save_stream_history (struct full_conn *conn, const lsquic_stream_t *stream) +{ + sm_hist_idx_t idx; + struct stream_history *const shist = + &conn->fc_stream_histories[ conn->fc_stream_hist_idx++ & SHIST_MASK ]; + + shist->shist_stream_id = stream->id; + shist->shist_stream_flags = stream->stream_flags; + + idx = stream->sm_hist_idx & SM_HIST_IDX_MASK; + if ('\0' == stream->sm_hist_buf[ idx ]) + memcpy(shist->shist_hist_buf, stream->sm_hist_buf, idx + 1); + else + { + memcpy(shist->shist_hist_buf, + stream->sm_hist_buf + idx, sizeof(stream->sm_hist_buf) - idx); + memcpy(shist->shist_hist_buf + sizeof(shist->shist_hist_buf) - idx, + stream->sm_hist_buf, idx); + } +} + + +static const struct stream_history * +find_stream_history (const struct full_conn *conn, lsquic_stream_id_t stream_id) +{ + const struct stream_history *shist; + const struct stream_history *const shist_end = + conn->fc_stream_histories + (1 << SHIST_BITS); + for (shist = conn->fc_stream_histories; shist < shist_end; ++shist) + if (shist->shist_stream_id == stream_id) + return shist; + return NULL; +} + + +# define SAVE_STREAM_HISTORY(conn, stream) save_stream_history(conn, stream) +#else +# define SAVE_STREAM_HISTORY(conn, stream) +#endif + +#if KEEP_PACKET_HISTORY +static void +recent_packet_hist_new (struct full_conn *conn, unsigned out, + lsquic_time_t time) +{ + unsigned idx; + idx = conn->fc_recent_packets[out].idx++ % KEEP_PACKET_HISTORY; + conn->fc_recent_packets[out].els[idx].time = time; +} + + +static void +recent_packet_hist_frames (struct full_conn *conn, unsigned out, + enum quic_ft_bit frame_types) +{ + unsigned idx; + idx = (conn->fc_recent_packets[out].idx - 1) % KEEP_PACKET_HISTORY; + conn->fc_recent_packets[out].els[idx].frame_types |= frame_types; +} + + +#else +#define recent_packet_hist_new(conn, out, time) +#define recent_packet_hist_frames(conn, out, frames) +#endif + +static unsigned +highest_bit_set (unsigned sz) +{ +#if __GNUC__ + unsigned clz = __builtin_clz(sz); + return 31 - clz; +#else + unsigned n, y; + n = 32; + y = sz >> 16; if (y) { n -= 16; sz = y; } + y = sz >> 8; if (y) { n -= 8; sz = y; } + y = sz >> 4; if (y) { n -= 4; sz = y; } + y = sz >> 2; if (y) { n -= 2; sz = y; } + y = sz >> 1; if (y) return 31 - n + 2; + return 31 - n + sz; +#endif +} + + +static size_t +calc_mem_used (const struct full_conn *conn) +{ + const lsquic_stream_t *stream; + const struct lsquic_hash_elem *el; + size_t size; + + size = sizeof(*conn); + size -= sizeof(conn->fc_send_ctl); + size += lsquic_send_ctl_mem_used(&conn->fc_send_ctl); + size += lsquic_hash_mem_used(conn->fc_pub.all_streams); + size += lsquic_malo_mem_used(conn->fc_pub.packet_out_malo); + if (conn->fc_pub.u.gquic.hs) + size += lsquic_headers_stream_mem_used(conn->fc_pub.u.gquic.hs); + + for (el = lsquic_hash_first(conn->fc_pub.all_streams); el; + el = lsquic_hash_next(conn->fc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + size += lsquic_stream_mem_used(stream); + } + size += conn->fc_conn.cn_esf.g->esf_mem_used(conn->fc_conn.cn_enc_session); + + return size; +} + + +static void +set_versions (struct full_conn *conn, unsigned versions, + enum lsquic_version *ver) +{ + conn->fc_ver_neg.vn_supp = versions; + conn->fc_ver_neg.vn_ver = (ver) ? *ver : highest_bit_set(versions); + conn->fc_ver_neg.vn_buf = lsquic_ver2tag(conn->fc_ver_neg.vn_ver); + conn->fc_conn.cn_version = conn->fc_ver_neg.vn_ver; + conn->fc_conn.cn_pf = select_pf_by_ver(conn->fc_ver_neg.vn_ver); + LSQ_DEBUG("negotiating version %s", + lsquic_ver2str[conn->fc_ver_neg.vn_ver]); +} + + +static void +init_ver_neg (struct full_conn *conn, unsigned versions, + enum lsquic_version *ver) +{ + set_versions(conn, versions, ver); + conn->fc_ver_neg.vn_tag = &conn->fc_ver_neg.vn_buf; + conn->fc_ver_neg.vn_state = VN_START; +} + + +/* If peer supplies odd values, we abort the connection immediately rather + * that wait for it to finish "naturally" due to inability to send things. + */ +#ifdef NDEBUG +static +#endif +void +lsquic_full_conn_on_peer_config (struct full_conn *conn, unsigned peer_cfcw, + unsigned peer_sfcw, unsigned max_streams_out) +{ + lsquic_stream_t *stream; + struct lsquic_hash_elem *el; + + LSQ_INFO("Applying peer config: cfcw: %u; sfcw: %u; # streams: %u", + peer_cfcw, peer_sfcw, max_streams_out); + + if (peer_cfcw < conn->fc_pub.conn_cap.cc_sent) + { + ABORT_ERROR("peer specified CFCW=%u bytes, which is smaller than " + "the amount of data already sent on this connection (%"PRIu64 + " bytes)", peer_cfcw, conn->fc_pub.conn_cap.cc_sent); + return; + } + + conn->fc_cfg.max_streams_out = max_streams_out; + conn->fc_pub.conn_cap.cc_max = peer_cfcw; + + for (el = lsquic_hash_first(conn->fc_pub.all_streams); el; + el = lsquic_hash_next(conn->fc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if (0 != lsquic_stream_set_max_send_off(stream, peer_sfcw)) + { + ABORT_ERROR("cannot set peer-supplied SFCW=%u on stream %"PRIu64, + peer_sfcw, stream->id); + return; + } + } + + conn->fc_cfg.max_stream_send = peer_sfcw; +} + + +static int +send_smhl (const struct full_conn *conn) +{ + uint32_t smhl; + return conn->fc_conn.cn_enc_session + && 0 == conn->fc_conn.cn_esf.g->esf_get_peer_setting( + conn->fc_conn.cn_enc_session, QTAG_SMHL, &smhl) + && 1 == smhl; +} + + +/* Once handshake has been completed, send settings to peer if appropriate. + */ +static void +maybe_send_settings (struct full_conn *conn) +{ + struct lsquic_http2_setting settings[2]; + unsigned n_settings = 0; + + if (conn->fc_settings->es_max_header_list_size && send_smhl(conn)) + { + settings[n_settings].id = SETTINGS_MAX_HEADER_LIST_SIZE; + settings[n_settings].value = conn->fc_settings->es_max_header_list_size; + LSQ_DEBUG("sending settings SETTINGS_MAX_HEADER_LIST_SIZE=%u", + settings[n_settings].value); + ++n_settings; + } + if (!(conn->fc_flags & FC_SERVER) && !conn->fc_settings->es_support_push) + { + settings[n_settings].id = SETTINGS_ENABLE_PUSH; + settings[n_settings].value = 0; + LSQ_DEBUG("sending settings SETTINGS_ENABLE_PUSH=%u", + settings[n_settings].value); + ++n_settings; + } + + if (n_settings) + { + if (0 != lsquic_headers_stream_send_settings(conn->fc_pub.u.gquic.hs, + settings, n_settings)) + ABORT_ERROR("could not send settings"); + } + else + LSQ_DEBUG("not sending any settings"); +} + + +static int +apply_peer_settings (struct full_conn *conn) +{ + uint32_t cfcw, sfcw, mids; + unsigned n; + const struct { + uint32_t tag; + uint32_t *val; + const char *tag_str; + } tags[] = { + { QTAG_CFCW, &cfcw, "CFCW", }, + { QTAG_SFCW, &sfcw, "SFCW", }, + { QTAG_MIDS, &mids, "MIDS", }, + }; + +#ifndef NDEBUG + if (getenv("LSQUIC_TEST_ENGINE_DTOR")) + return 0; +#endif + + for (n = 0; n < sizeof(tags) / sizeof(tags[0]); ++n) + if (0 != conn->fc_conn.cn_esf.g->esf_get_peer_setting( + conn->fc_conn.cn_enc_session, tags[n].tag, tags[n].val)) + { + LSQ_INFO("peer did not supply value for %s", tags[n].tag_str); + return -1; + } + + LSQ_DEBUG("peer settings: CFCW: %u; SFCW: %u; MIDS: %u", + cfcw, sfcw, mids); + lsquic_full_conn_on_peer_config(conn, cfcw, sfcw, mids); + return 0; +} + + +static const struct conn_iface *full_conn_iface_ptr; + + +/* gQUIC up to version Q046 has handshake stream 1 and headers stream 3. + * Q050 and later have "crypto streams" -- meaning CRYPTO frames, not + * STREAM frames and no stream IDs -- and headers stream 1. + */ +static lsquic_stream_id_t +headers_stream_id_by_ver (enum lsquic_version version) +{ + if (version < LSQVER_050) + return 3; + else + return 1; +} + + +static lsquic_stream_id_t +headers_stream_id_by_conn (const struct full_conn *conn) +{ + return headers_stream_id_by_ver(conn->fc_conn.cn_version); +} + + +static lsquic_stream_id_t +hsk_stream_id (const struct full_conn *conn) +{ + if (conn->fc_conn.cn_version < LSQVER_050) + return 1; + else + /* Use this otherwise invalid stream ID as ID for the gQUIC crypto + * stream. + */ + return (uint64_t) -1; +} + + +static int +has_handshake_stream (const struct full_conn *conn) +{ + return conn->fc_conn.cn_version < LSQVER_050; +} + + +static int +is_handshake_stream_id (const struct full_conn *conn, + lsquic_stream_id_t stream_id) +{ + return conn->fc_conn.cn_version < LSQVER_050 && stream_id == 1; +} + + +static struct full_conn * +new_conn_common (lsquic_cid_t cid, struct lsquic_engine_public *enpub, + unsigned flags, enum lsquic_version version) +{ + struct full_conn *conn; + lsquic_stream_t *headers_stream; + int saved_errno; + + assert(0 == (flags & ~(FC_SERVER|FC_HTTP))); + + conn = calloc(1, sizeof(*conn)); + if (!conn) + return NULL; + headers_stream = NULL; + conn->fc_conn.cn_if = full_conn_iface_ptr; + conn->fc_conn.cn_cces = conn->fc_cces; + conn->fc_conn.cn_cces_mask = 1; + conn->fc_conn.cn_cid = cid; + conn->fc_conn.cn_logid = cid; + conn->fc_flags = flags; + conn->fc_enpub = enpub; + conn->fc_pub.enpub = enpub; + conn->fc_pub.mm = &enpub->enp_mm; + conn->fc_pub.lconn = &conn->fc_conn; + conn->fc_pub.send_ctl = &conn->fc_send_ctl; +#if LSQUIC_CONN_STATS + conn->fc_pub.conn_stats = &conn->fc_stats; +#endif + conn->fc_pub.packet_out_malo = + lsquic_malo_create(sizeof(struct lsquic_packet_out)); + conn->fc_pub.path = &conn->fc_path; + conn->fc_pub.max_peer_ack_usec = ACK_TIMEOUT; + conn->fc_stream_ifs[STREAM_IF_STD].stream_if = enpub->enp_stream_if; + conn->fc_stream_ifs[STREAM_IF_STD].stream_if_ctx = enpub->enp_stream_if_ctx; + conn->fc_settings = &enpub->enp_settings; + /* Calculate maximum number of incoming streams using the same mechanism + * and parameters as found in Chrome: + */ + conn->fc_cfg.max_streams_in = + (unsigned) ((float) enpub->enp_settings.es_max_streams_in * 1.1f); + if (conn->fc_cfg.max_streams_in < + enpub->enp_settings.es_max_streams_in + 10) + conn->fc_cfg.max_streams_in = + enpub->enp_settings.es_max_streams_in + 10; + /* `max_streams_out' gets reset when handshake is complete and we + * learn of peer settings. 100 seems like a sane default value + * because it is what other implementations use. In server mode, + * we do not open any streams until the handshake is complete; in + * client mode, we are limited to 98 outgoing requests alongside + * handshake and headers streams. + */ + conn->fc_cfg.max_streams_out = 100; + TAILQ_INIT(&conn->fc_pub.sending_streams); + TAILQ_INIT(&conn->fc_pub.read_streams); + TAILQ_INIT(&conn->fc_pub.write_streams); + TAILQ_INIT(&conn->fc_pub.service_streams); + STAILQ_INIT(&conn->fc_stream_ids_to_reset); + lsquic_conn_cap_init(&conn->fc_pub.conn_cap, LSQUIC_MIN_FCW); + lsquic_alarmset_init(&conn->fc_alset, &conn->fc_conn); + lsquic_alarmset_init_alarm(&conn->fc_alset, AL_IDLE, idle_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->fc_alset, AL_ACK_APP, ack_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->fc_alset, AL_PING, ping_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->fc_alset, AL_HANDSHAKE, handshake_alarm_expired, conn); + lsquic_set64_init(&conn->fc_closed_stream_ids[0]); + lsquic_set64_init(&conn->fc_closed_stream_ids[1]); + lsquic_cfcw_init(&conn->fc_pub.cfcw, &conn->fc_pub, conn->fc_settings->es_cfcw); + lsquic_send_ctl_init(&conn->fc_send_ctl, &conn->fc_alset, conn->fc_enpub, + flags & FC_SERVER ? &server_ver_neg : &conn->fc_ver_neg, + &conn->fc_pub, 0); + + conn->fc_pub.all_streams = lsquic_hash_create(); + if (!conn->fc_pub.all_streams) + goto cleanup_on_error; + lsquic_rechist_init(&conn->fc_rechist, 0, MAX_ACK_RANGES); + if (conn->fc_flags & FC_HTTP) + { + conn->fc_pub.u.gquic.hs = lsquic_headers_stream_new( + !!(conn->fc_flags & FC_SERVER), conn->fc_enpub, + headers_callbacks_ptr, +#if LSQUIC_CONN_STATS + &conn->fc_stats, +#endif + conn); + if (!conn->fc_pub.u.gquic.hs) + goto cleanup_on_error; + conn->fc_stream_ifs[STREAM_IF_HDR].stream_if = lsquic_headers_stream_if; + conn->fc_stream_ifs[STREAM_IF_HDR].stream_if_ctx = conn->fc_pub.u.gquic.hs; + headers_stream = new_stream_ext(conn, headers_stream_id_by_ver(version), + STREAM_IF_HDR, + SCF_CALL_ON_NEW|SCF_DI_AUTOSWITCH|SCF_CRITICAL|SCF_HEADERS); + if (!headers_stream) + goto cleanup_on_error; + } + else + { + conn->fc_stream_ifs[STREAM_IF_HDR].stream_if = enpub->enp_stream_if; + conn->fc_stream_ifs[STREAM_IF_HDR].stream_if_ctx = enpub->enp_stream_if_ctx; + } + if (conn->fc_settings->es_support_push) + conn->fc_flags |= FC_SUPPORT_PUSH; + conn->fc_conn.cn_n_cces = sizeof(conn->fc_cces) / sizeof(conn->fc_cces[0]); + if (conn->fc_settings->es_noprogress_timeout) + conn->fc_flags |= FC_NOPROG_TIMEOUT; + return conn; + + cleanup_on_error: + saved_errno = errno; + + if (conn->fc_pub.all_streams) + lsquic_hash_destroy(conn->fc_pub.all_streams); + lsquic_rechist_cleanup(&conn->fc_rechist); + if (conn->fc_flags & FC_HTTP) + { + if (conn->fc_pub.u.gquic.hs) + lsquic_headers_stream_destroy(conn->fc_pub.u.gquic.hs); + if (headers_stream) + lsquic_stream_destroy(headers_stream); + } + memset(conn, 0, sizeof(*conn)); + free(conn); + + errno = saved_errno; + return NULL; +} + + +struct lsquic_conn * +lsquic_gquic_full_conn_client_new (struct lsquic_engine_public *enpub, + unsigned versions, unsigned flags, + const char *hostname, unsigned short max_packet_size, + int is_ipv4, + const unsigned char *sess_resume, size_t sess_resume_len) +{ + struct full_conn *conn; + enum lsquic_version version, sess_resume_version; + lsquic_cid_t cid; + const struct enc_session_funcs_gquic *esf_g; + + versions &= (~LSQUIC_IETF_VERSIONS & LSQUIC_SUPPORTED_VERSIONS); + assert(versions); + version = highest_bit_set(versions); + if (sess_resume) + { + sess_resume_version = lsquic_sess_resume_version(sess_resume, sess_resume_len); + if (sess_resume_version < N_LSQVER && ((1 << sess_resume_version) & versions)) + version = sess_resume_version; + } + esf_g = &lsquic_enc_session_gquic_gquic_1; + lsquic_generate_cid_gquic(&cid); + if (!max_packet_size) + { + if (enpub->enp_settings.es_base_plpmtu) + max_packet_size = enpub->enp_settings.es_base_plpmtu; + else if (is_ipv4) + max_packet_size = GQUIC_MAX_IPv4_PACKET_SZ; + else + max_packet_size = GQUIC_MAX_IPv6_PACKET_SZ; + } + conn = new_conn_common(cid, enpub, flags, version); + if (!conn) + return NULL; + init_ver_neg(conn, versions, &version); + conn->fc_path.np_pack_size = max_packet_size; + conn->fc_conn.cn_esf_c = select_esf_common_by_ver(version); + conn->fc_conn.cn_esf.g = esf_g; + conn->fc_conn.cn_enc_session = + conn->fc_conn.cn_esf.g->esf_create_client(&conn->fc_conn, hostname, + cid, conn->fc_enpub, sess_resume, sess_resume_len); + if (!conn->fc_conn.cn_enc_session) + { + LSQ_WARN("could not create enc session: %s", strerror(errno)); + conn->fc_conn.cn_if->ci_destroy(&conn->fc_conn); + return NULL; + } + + if (conn->fc_flags & FC_HTTP) + conn->fc_last_stream_id = headers_stream_id_by_conn(conn); /* Client goes (3?), 5, 7, 9.... */ + else if (has_handshake_stream(conn)) + conn->fc_last_stream_id = 1; + else + conn->fc_last_stream_id = (uint64_t) -1; /* +2 will get us to 1 */ + conn->fc_hsk_ctx.client.lconn = &conn->fc_conn; + conn->fc_hsk_ctx.client.mm = &enpub->enp_mm; + conn->fc_hsk_ctx.client.ver_neg = &conn->fc_ver_neg; + conn->fc_stream_ifs[STREAM_IF_HSK] + .stream_if = &lsquic_client_hsk_stream_if; + conn->fc_stream_ifs[STREAM_IF_HSK].stream_if_ctx = &conn->fc_hsk_ctx.client; + conn->fc_orig_versions = versions; + if (conn->fc_settings->es_handshake_to) + lsquic_alarmset_set(&conn->fc_alset, AL_HANDSHAKE, + lsquic_time_now() + conn->fc_settings->es_handshake_to); + if (!new_stream_ext(conn, hsk_stream_id(conn), STREAM_IF_HSK, + SCF_CALL_ON_NEW|SCF_DI_AUTOSWITCH|SCF_CRITICAL|SCF_CRYPTO + |(conn->fc_conn.cn_version >= LSQVER_050 ? SCF_CRYPTO_FRAMES : 0))) + { + LSQ_WARN("could not create handshake stream: %s", strerror(errno)); + conn->fc_conn.cn_if->ci_destroy(&conn->fc_conn); + return NULL; + } + conn->fc_flags |= FC_CREATED_OK; + LSQ_INFO("Created new client connection"); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "created full connection"); + return &conn->fc_conn; +} + + +static void +full_conn_ci_client_call_on_new (struct lsquic_conn *lconn) +{ + struct full_conn *const conn = (struct full_conn *) lconn; + assert(conn->fc_flags & FC_CREATED_OK); + lconn->cn_conn_ctx = conn->fc_stream_ifs[STREAM_IF_STD].stream_if + ->on_new_conn(conn->fc_stream_ifs[STREAM_IF_STD].stream_if_ctx, lconn); +} + + +/* This function is special in that it peeks into fc_send_ctl. Other functions + * should not do that. + */ +struct lsquic_conn * +lsquic_gquic_full_conn_server_new (struct lsquic_engine_public *enpub, + unsigned flags, lsquic_conn_t *lconn_mini) +{ + struct full_conn *conn; + struct mini_conn *mc; + lsquic_conn_t *lconn_full; + lsquic_packet_in_t *packet_in; + lsquic_packet_out_t *packet_out; + lsquic_stream_t *hsk_stream; + lsquic_packno_t next_packno; + mconn_packno_set_t received; + unsigned n; + uint32_t tcid0_val; + int have_errors = 0, tcid0; + int have_outgoing_ack = 0; + + mc = (struct mini_conn *) lconn_mini; + conn = new_conn_common(lconn_mini->cn_cid, enpub, flags, + lconn_mini->cn_version); + if (!conn) + return NULL; + lconn_full = &conn->fc_conn; + conn->fc_last_stream_id = 0; /* Server goes 2, 4, 6.... */ + if (conn->fc_flags & FC_HTTP) + conn->fc_max_peer_stream_id = headers_stream_id_by_conn(conn); + else if (has_handshake_stream(conn)) + conn->fc_max_peer_stream_id = 1; + else + conn->fc_max_peer_stream_id = (uint64_t) -1; + conn->fc_stream_ifs[STREAM_IF_HSK] + .stream_if = &lsquic_server_hsk_stream_if; + conn->fc_stream_ifs[STREAM_IF_HSK].stream_if_ctx = &conn->fc_hsk_ctx.server; + conn->fc_ver_neg.vn_ver = lconn_mini->cn_version; + conn->fc_conn.cn_version = lconn_mini->cn_version; + conn->fc_conn.cn_pf = lconn_mini->cn_pf; + conn->fc_conn.cn_esf_c = lconn_mini->cn_esf_c; + conn->fc_conn.cn_esf.g = lconn_mini->cn_esf.g; + conn->fc_conn.cn_flags |= LSCONN_VER_SET | LSCONN_SERVER; + conn->fc_pub.rtt_stats = mc->mc_rtt_stats; + + conn->fc_hsk_ctx.server.lconn = lconn_full; + conn->fc_hsk_ctx.server.enpub = enpub; + + /* TODO Optimize: we don't need an actual crypto stream and handler + * on the server side, as we don't do anything with it. We can + * throw out appropriate frames earlier. + */ + + /* Adjust offsets in the HANDSHAKE stream: */ + hsk_stream = new_stream_ext(conn, hsk_stream_id(conn), STREAM_IF_HSK, + SCF_CALL_ON_NEW|SCF_DI_AUTOSWITCH|SCF_CRITICAL|SCF_CRYPTO + |(conn->fc_conn.cn_version >= LSQVER_050 ? SCF_CRYPTO_FRAMES : 0)); + if (!hsk_stream) + { + LSQ_DEBUG("could not create handshake stream: %s", strerror(errno)); + conn->fc_conn.cn_if->ci_destroy(&conn->fc_conn); + return NULL; + } + hsk_stream->tosend_off = mc->mc_write_off; + hsk_stream->read_offset = mc->mc_read_off; + if (0 != lsquic_stream_update_sfcw(hsk_stream, mc->mc_write_off)) + { + LSQ_WARN("Invalid write offset %u", mc->mc_write_off); + ++have_errors; + } + + assert(lconn_full->cn_enc_session == NULL); + lconn_full->cn_enc_session = lconn_mini->cn_enc_session; + lconn_mini->cn_enc_session = NULL; + lconn_full->cn_esf_c->esf_set_conn(lconn_full->cn_enc_session, + &conn->fc_conn); + + lsquic_send_ctl_verneg_done(&conn->fc_send_ctl); + conn->fc_send_ctl.sc_cur_packno = mc->mc_cur_packno; + lsquic_send_ctl_begin_optack_detection(&conn->fc_send_ctl); + + /* Remove those that still exist from the set: they will be marked as + * received during regular processing in ci_packet_in() later on. + */ + received = mc->mc_received_packnos; + TAILQ_FOREACH(packet_in, &mc->mc_packets_in, pi_next) + received &= ~MCONN_PACKET_MASK(packet_in->pi_packno); + + for (n = 0; received; ++n) + { + if (received & (1ULL << n)) + /* Setting `now' to zero is OK here, as we should have had at + * least one other packet above. + */ + lsquic_rechist_received(&conn->fc_rechist, n + 1, 0); + received &= ~(1ULL << n); + } + + /* Mini connection sends out packets 1, 2, 3... and so on. It deletes + * packets that have been successfully sent and acked or those that have + * been lost. We take ownership of all packets in mc_packets_out; those + * that are not on the list are recorded in fc_send_ctl.sc_senhist. + */ + next_packno = 0; + while ((packet_out = TAILQ_FIRST(&mc->mc_packets_out))) + { + TAILQ_REMOVE(&mc->mc_packets_out, packet_out, po_next); + + /* Holes in the sequence signify ACKed or lost packets */ + ++next_packno; + for ( ; next_packno < packet_out->po_packno; ++next_packno) + lsquic_senhist_add(&conn->fc_send_ctl.sc_senhist, next_packno); + + packet_out->po_path = &conn->fc_path; + if (mc->mc_sent_packnos & MCONN_PACKET_MASK(packet_out->po_packno)) + { + LSQ_DEBUG("got sent packet_out %"PRIu64" from mini", + packet_out->po_packno); + if (0 != lsquic_send_ctl_sent_packet(&conn->fc_send_ctl, + packet_out) + && !have_errors /* Warn once */) + { + ++have_errors; + LSQ_WARN("could not add packet %"PRIu64" to sent set: %s", + packet_out->po_packno, strerror(errno)); + } + } + else + { + LSQ_DEBUG("got unsent packet_out %"PRIu64" from mini (will send)", + packet_out->po_packno); + lsquic_send_ctl_scheduled_one(&conn->fc_send_ctl, packet_out); + have_outgoing_ack |= packet_out->po_frame_types & + (1 << QUIC_FRAME_ACK); + } + } + + assert(lconn_mini->cn_flags & LSCONN_HANDSHAKE_DONE); + lconn_full->cn_flags |= LSCONN_HANDSHAKE_DONE; + + lconn_full->cn_flags |= lconn_mini->cn_flags & + LSCONN_PEER_GOING_AWAY /* We are OK with fc_goaway_stream_id = 0 */; + conn->fc_path = mc->mc_path; + + if (0 == apply_peer_settings(conn)) + { + if (conn->fc_flags & FC_HTTP) + maybe_send_settings(conn); + } + else + ++have_errors; + + if (0 == have_errors) + { + tcid0 = conn->fc_settings->es_support_tcid0 + && 0 == conn->fc_conn.cn_esf.g->esf_get_peer_setting( + conn->fc_conn.cn_enc_session, QTAG_TCID, &tcid0_val) + && 0 == tcid0_val; + lsquic_send_ctl_set_tcid0(&conn->fc_send_ctl, tcid0); + if (tcid0) + conn->fc_conn.cn_flags |= LSCONN_TCID0; + conn->fc_flags |= FC_CREATED_OK|FC_FIRST_TICK; + if (conn->fc_conn.cn_version >= LSQVER_046 + || conn->fc_conn.cn_esf.g->esf_get_peer_option( + conn->fc_conn.cn_enc_session, QTAG_NSTP)) + { + conn->fc_flags |= FC_NSTP; + lsquic_send_ctl_turn_nstp_on(&conn->fc_send_ctl); + } + LSQ_DEBUG("Calling on_new_conn callback"); + lconn_full->cn_conn_ctx = enpub->enp_stream_if->on_new_conn( + enpub->enp_stream_if_ctx, &conn->fc_conn); + /* Now that user code knows about this connection, process incoming + * packets, if any. + */ + while ((packet_in = TAILQ_FIRST(&mc->mc_packets_in))) + { + TAILQ_REMOVE(&mc->mc_packets_in, packet_in, pi_next); + packet_in->pi_flags |= PI_FROM_MINI; + conn->fc_conn.cn_if->ci_packet_in(&conn->fc_conn, packet_in); + lsquic_packet_in_put(conn->fc_pub.mm, packet_in); + } + /* At this point we may have errors, but we promote it anyway: this is + * so that CONNECTION_CLOSE frame can be generated and sent out. + */ + if (have_outgoing_ack) + reset_ack_state(conn); + lsquic_alarmset_set(&conn->fc_alset, AL_IDLE, + lsquic_time_now() + conn->fc_settings->es_idle_conn_to); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "created full connection"); + LSQ_INFO("Created new server connection"); + return &conn->fc_conn; + } + else + { + LSQ_DEBUG("hit errors creating connection, return NULL"); + conn->fc_conn.cn_if->ci_destroy(&conn->fc_conn); + return NULL; + } +} + + +static int +is_our_stream (const struct full_conn *conn, const lsquic_stream_t *stream) +{ + int is_server = !!(conn->fc_flags & FC_SERVER); + return (1 & stream->id) ^ is_server; +} + + +static unsigned +count_streams (const struct full_conn *conn, int peer) +{ + const lsquic_stream_t *stream; + unsigned count; + int ours; + int is_server; + struct lsquic_hash_elem *el; + + peer = !!peer; + is_server = !!(conn->fc_flags & FC_SERVER); + count = 0; + + for (el = lsquic_hash_first(conn->fc_pub.all_streams); el; + el = lsquic_hash_next(conn->fc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + ours = (1 & stream->id) ^ is_server; + if (ours ^ peer) + count += !(lsquic_stream_is_closed(stream) + /* When counting peer-initiated streams, do not + * include those that have been reset: + */ + || (peer && lsquic_stream_is_reset(stream))); + } + + return count; +} + + +enum stream_count { SCNT_ALL, SCNT_PEER, SCNT_CLOSED, SCNT_RESET, + SCNT_RES_UNCLO /* reset and not closed */, N_SCNTS }; + +static void +collect_stream_counts (const struct full_conn *conn, int peer, + unsigned counts[N_SCNTS]) +{ + const lsquic_stream_t *stream; + int ours; + int is_server; + struct lsquic_hash_elem *el; + + peer = !!peer; + is_server = !!(conn->fc_flags & FC_SERVER); + memset(counts, 0, N_SCNTS * sizeof(counts[0])); + + for (el = lsquic_hash_first(conn->fc_pub.all_streams); el; + el = lsquic_hash_next(conn->fc_pub.all_streams)) + { + ++counts[SCNT_ALL]; + stream = lsquic_hashelem_getdata(el); + ours = (1 & stream->id) ^ is_server; + if (ours ^ peer) + { + ++counts[SCNT_PEER]; + counts[SCNT_CLOSED] += lsquic_stream_is_closed(stream); + counts[SCNT_RESET] += !!lsquic_stream_is_reset(stream); + counts[SCNT_RES_UNCLO] += lsquic_stream_is_reset(stream) + && !lsquic_stream_is_closed(stream); + } + } +} + + +static void +full_conn_ci_destroy (lsquic_conn_t *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + struct lsquic_hash_elem *el; + struct lsquic_stream *stream; + struct stream_id_to_reset *sitr; + + LSQ_DEBUG("destroy connection"); + conn->fc_flags |= FC_CLOSING; + lsquic_set64_cleanup(&conn->fc_closed_stream_ids[0]); + lsquic_set64_cleanup(&conn->fc_closed_stream_ids[1]); + while ((el = lsquic_hash_first(conn->fc_pub.all_streams))) + { + stream = lsquic_hashelem_getdata(el); + lsquic_hash_erase(conn->fc_pub.all_streams, el); + lsquic_stream_destroy(stream); + } + lsquic_hash_destroy(conn->fc_pub.all_streams); + if (conn->fc_flags & FC_CREATED_OK) + conn->fc_stream_ifs[STREAM_IF_STD].stream_if + ->on_conn_closed(&conn->fc_conn); + if (conn->fc_pub.u.gquic.hs) + lsquic_headers_stream_destroy(conn->fc_pub.u.gquic.hs); + + lsquic_send_ctl_cleanup(&conn->fc_send_ctl); + lsquic_rechist_cleanup(&conn->fc_rechist); + if (conn->fc_conn.cn_enc_session) + conn->fc_conn.cn_esf.g->esf_destroy(conn->fc_conn.cn_enc_session); + lsquic_malo_destroy(conn->fc_pub.packet_out_malo); +#if LSQUIC_CONN_STATS + LSQ_NOTICE("# ticks: %lu", conn->fc_stats.n_ticks); + LSQ_NOTICE("received %lu packets, of which %lu were not decryptable, %lu were " + "dups and %lu were errors; sent %lu packets, avg stream data per outgoing" + " packet is %lu bytes", + conn->fc_stats.in.packets, conn->fc_stats.in.undec_packets, + conn->fc_stats.in.dup_packets, conn->fc_stats.in.err_packets, + conn->fc_stats.out.packets, + conn->fc_stats.out.stream_data_sz / + (conn->fc_stats.out.packets ? conn->fc_stats.out.packets : 1)); + LSQ_NOTICE("ACKs: in: %lu; processed: %lu; merged: %lu", + conn->fc_stats.in.n_acks, conn->fc_stats.in.n_acks_proc, + conn->fc_stats.in.n_acks_merged); + free(conn->fc_last_stats); +#endif + while ((sitr = STAILQ_FIRST(&conn->fc_stream_ids_to_reset))) + { + STAILQ_REMOVE_HEAD(&conn->fc_stream_ids_to_reset, sitr_next); + free(sitr); + } + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "full connection destroyed"); + free(conn->fc_errmsg); + free(conn); +} + + +static void +conn_mark_stream_closed (struct full_conn *conn, lsquic_stream_id_t stream_id) +{ /* Because stream IDs are distributed unevenly -- there is a set of odd + * stream IDs and a set of even stream IDs -- it is more efficient to + * maintain two sets of closed stream IDs. + */ + int idx = stream_id & 1; + stream_id >>= 1; + if (0 != lsquic_set64_add(&conn->fc_closed_stream_ids[idx], stream_id)) + ABORT_ERROR("could not add element to set: %s", strerror(errno)); +} + + +static int +conn_is_stream_closed (struct full_conn *conn, lsquic_stream_id_t stream_id) +{ + int idx = stream_id & 1; + stream_id >>= 1; + return lsquic_set64_has(&conn->fc_closed_stream_ids[idx], stream_id); +} + + +static void +set_ack_timer (struct full_conn *conn, lsquic_time_t now) +{ + lsquic_alarmset_set(&conn->fc_alset, AL_ACK_APP, now + ACK_TIMEOUT); + LSQ_DEBUG("ACK alarm set to %"PRIu64, now + ACK_TIMEOUT); +} + + +static void +ack_alarm_expired (enum alarm_id al_id, void *ctx, lsquic_time_t expiry, + lsquic_time_t now) +{ + struct full_conn *conn = ctx; + LSQ_DEBUG("ACK timer expired (%"PRIu64" < %"PRIu64"): ACK queued", + expiry, now); + conn->fc_flags |= FC_ACK_QUEUED; +} + + +static void +try_queueing_ack (struct full_conn *conn, int was_missing, lsquic_time_t now) +{ + if (conn->fc_n_slack_akbl >= MAX_RETR_PACKETS_SINCE_LAST_ACK || + ((conn->fc_flags & FC_ACK_HAD_MISS) && was_missing) || + lsquic_send_ctl_n_stop_waiting(&conn->fc_send_ctl) > 1) + { + lsquic_alarmset_unset(&conn->fc_alset, AL_ACK_APP); + lsquic_send_ctl_sanity_check(&conn->fc_send_ctl); + conn->fc_flags |= FC_ACK_QUEUED; + LSQ_DEBUG("ACK queued: ackable: %u; had_miss: %d; " + "was_missing: %d; n_stop_waiting: %u", + conn->fc_n_slack_akbl, + !!(conn->fc_flags & FC_ACK_HAD_MISS), was_missing, + lsquic_send_ctl_n_stop_waiting(&conn->fc_send_ctl)); + } + else if (conn->fc_n_slack_akbl > 0) + set_ack_timer(conn, now); +} + + +static void +reset_ack_state (struct full_conn *conn) +{ + conn->fc_n_slack_akbl = 0; + lsquic_send_ctl_n_stop_waiting_reset(&conn->fc_send_ctl); + conn->fc_flags &= ~FC_ACK_QUEUED; + lsquic_alarmset_unset(&conn->fc_alset, AL_ACK_APP); + lsquic_send_ctl_sanity_check(&conn->fc_send_ctl); + LSQ_DEBUG("ACK state reset"); +} + + +#if 1 +# define verify_ack_frame(a, b, c) +#else +static void +verify_ack_frame (struct full_conn *conn, const unsigned char *buf, int bufsz) +{ + unsigned i; + int parsed_len; + struct ack_info *ack_info; + const struct lsquic_packno_range *range; + char ack_buf[512]; + unsigned buf_off = 0; + int nw; + + ack_info = conn->fc_pub.mm->acki; + parsed_len = parse_ack_frame(buf, bufsz, ack_info); + assert(parsed_len == bufsz); + + for (range = lsquic_rechist_first(&conn->fc_rechist), i = 0; range; + range = lsquic_rechist_next(&conn->fc_rechist), ++i) + { + assert(i < ack_info->n_ranges); + assert(range->high == ack_info->ranges[i].high); + assert(range->low == ack_info->ranges[i].low); + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + nw = snprintf(ack_buf + buf_off, sizeof(ack_buf) - buf_off, + "[%"PRIu64"-%"PRIu64"]", range->high, range->low); + assert(nw >= 0); + buf_off += nw; + } + } + assert(i == ack_info->n_ranges); + LSQ_DEBUG("Sent ACK frame %s", ack_buf); +} + + +#endif + + +static void +full_conn_ci_write_ack (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct full_conn *conn = (struct full_conn *) lconn; + lsquic_time_t now; + int has_missing, w; + + now = lsquic_time_now(); + w = conn->fc_conn.cn_pf->pf_gen_ack_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), + (gaf_rechist_first_f) lsquic_rechist_first, + (gaf_rechist_next_f) lsquic_rechist_next, + (gaf_rechist_largest_recv_f) lsquic_rechist_largest_recv, + &conn->fc_rechist, now, &has_missing, &packet_out->po_ack2ed, + NULL); + if (w < 0) { + ABORT_ERROR("generating ACK frame failed: %d", errno); + return; + } +#if LSQUIC_CONN_STATS + ++conn->fc_stats.out.acks; +#endif + EV_LOG_GENERATED_ACK_FRAME(LSQUIC_LOG_CONN_ID, conn->fc_conn.cn_pf, + packet_out->po_data + packet_out->po_data_sz, w); + verify_ack_frame(conn, packet_out->po_data + packet_out->po_data_sz, w); + lsquic_send_ctl_scheduled_ack(&conn->fc_send_ctl, PNS_APP, + packet_out->po_ack2ed); + packet_out->po_frame_types |= 1 << QUIC_FRAME_ACK; + if (0 != lsquic_packet_out_add_frame(packet_out, conn->fc_pub.mm, 0, + QUIC_FRAME_ACK, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, w); + packet_out->po_regen_sz += w; + if (has_missing) + conn->fc_flags |= FC_ACK_HAD_MISS; + else + conn->fc_flags &= ~FC_ACK_HAD_MISS; + LSQ_DEBUG("Put %d bytes of ACK frame into packet on outgoing queue", w); + if (conn->fc_n_cons_unretx >= 20 && + !lsquic_send_ctl_have_outgoing_retx_frames(&conn->fc_send_ctl)) + { + LSQ_DEBUG("schedule WINDOW_UPDATE frame after %u non-retx " + "packets sent", conn->fc_n_cons_unretx); + conn->fc_flags |= FC_SEND_WUF; + } + reset_ack_state(conn); +} + + +static lsquic_stream_t * +new_stream_ext (struct full_conn *conn, lsquic_stream_id_t stream_id, + enum stream_if if_idx, enum stream_ctor_flags stream_ctor_flags) +{ + struct lsquic_stream *stream; + + stream = lsquic_stream_new(stream_id, &conn->fc_pub, + conn->fc_stream_ifs[if_idx].stream_if, + conn->fc_stream_ifs[if_idx].stream_if_ctx, conn->fc_settings->es_sfcw, + stream_ctor_flags & SCF_CRYPTO + ? 16 * 1024 : conn->fc_cfg.max_stream_send, + stream_ctor_flags); + if (stream) + lsquic_hash_insert(conn->fc_pub.all_streams, &stream->id, + sizeof(stream->id), stream, &stream->sm_hash_el); + return stream; +} + + +static lsquic_stream_t * +new_stream (struct full_conn *conn, lsquic_stream_id_t stream_id, + enum stream_ctor_flags flags) +{ + flags |= SCF_DI_AUTOSWITCH; + if (conn->fc_pub.u.gquic.hs) + flags |= SCF_HTTP; + if (conn->fc_enpub->enp_settings.es_rw_once) + flags |= SCF_DISP_RW_ONCE; + if (conn->fc_enpub->enp_settings.es_delay_onclose) + flags |= SCF_DELAY_ONCLOSE; + + return new_stream_ext(conn, stream_id, STREAM_IF_STD, flags); +} + + +static lsquic_stream_id_t +generate_stream_id (struct full_conn *conn) +{ + conn->fc_last_stream_id += 2; + return conn->fc_last_stream_id; +} + + +static unsigned +full_conn_ci_n_pending_streams (const struct lsquic_conn *lconn) +{ + const struct full_conn *conn = (const struct full_conn *) lconn; + return conn->fc_n_delayed_streams; +} + + +static unsigned +full_conn_ci_cancel_pending_streams (struct lsquic_conn *lconn, unsigned n) +{ + struct full_conn *conn = (struct full_conn *) lconn; + if (n > conn->fc_n_delayed_streams) + conn->fc_n_delayed_streams = 0; + else + conn->fc_n_delayed_streams -= n; + return conn->fc_n_delayed_streams; +} + + +static int +either_side_going_away (const struct full_conn *conn) +{ + return (conn->fc_flags & FC_GOING_AWAY) + || (conn->fc_conn.cn_flags & LSCONN_PEER_GOING_AWAY); +} + + +static unsigned +full_conn_ci_n_avail_streams (const lsquic_conn_t *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + unsigned stream_count = count_streams(conn, 0); + if (conn->fc_cfg.max_streams_out < stream_count) + return 0; + return conn->fc_cfg.max_streams_out - stream_count; +} + + +static int +handshake_done_or_doing_sess_resume (const struct full_conn *conn) +{ + return (conn->fc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + || conn->fc_conn.cn_esf_c->esf_is_sess_resume_enabled( + conn->fc_conn.cn_enc_session); +} + + +static void +full_conn_ci_make_stream (struct lsquic_conn *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + if (handshake_done_or_doing_sess_resume(conn) + && full_conn_ci_n_avail_streams(lconn) > 0) + { + if (!new_stream(conn, generate_stream_id(conn), SCF_CALL_ON_NEW)) + ABORT_ERROR("could not create new stream: %s", strerror(errno)); + } + else if (either_side_going_away(conn)) + (void) conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_new_stream( + conn->fc_stream_ifs[STREAM_IF_STD].stream_if_ctx, NULL); + else + { + ++conn->fc_n_delayed_streams; + LSQ_DEBUG("delayed stream creation. Backlog size: %u", + conn->fc_n_delayed_streams); + } +} + + +static lsquic_stream_t * +find_stream_by_id (struct full_conn *conn, lsquic_stream_id_t stream_id) +{ + struct lsquic_hash_elem *el; + el = lsquic_hash_find(conn->fc_pub.all_streams, &stream_id, sizeof(stream_id)); + if (el) + return lsquic_hashelem_getdata(el); + else + return NULL; +} + + +static struct lsquic_stream * +full_conn_ci_get_stream_by_id (struct lsquic_conn *lconn, + lsquic_stream_id_t stream_id) +{ + struct full_conn *conn = (struct full_conn *) lconn; + struct lsquic_stream *stream; + + stream = find_stream_by_id(conn, stream_id); + if (stream && !lsquic_stream_is_closed(stream)) + return stream; + else + return NULL; +} + + +static struct lsquic_engine * +full_conn_ci_get_engine (struct lsquic_conn *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + return conn->fc_enpub->enp_engine; +} + + +static struct network_path * +full_conn_ci_get_path (struct lsquic_conn *lconn, const struct sockaddr *sa) +{ + struct full_conn *conn = (struct full_conn *) lconn; + + return &conn->fc_path; +} + + +static unsigned char +full_conn_ci_record_addrs (struct lsquic_conn *lconn, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa) +{ + struct full_conn *conn = (struct full_conn *) lconn; + + if (NP_IS_IPv6(&conn->fc_path) != (AF_INET6 == peer_sa->sa_family)) + lsquic_send_ctl_return_enc_data(&conn->fc_send_ctl); + + size_t len = peer_sa->sa_family == AF_INET ? sizeof(struct sockaddr_in) + : sizeof(struct sockaddr_in6); + + memcpy(conn->fc_path.np_peer_addr, peer_sa, len); + + len = local_sa->sa_family == AF_INET ? sizeof(struct sockaddr_in) + : sizeof(struct sockaddr_in6); + memcpy(conn->fc_path.np_local_addr, local_sa, len); + conn->fc_path.np_peer_ctx = peer_ctx; + return 0; +} + + +static ptrdiff_t +count_zero_bytes (const unsigned char *p, size_t len) +{ + const unsigned char *const end = p + len; + while (p < end && 0 == *p) + ++p; + return len - (end - p); +} + + +static unsigned +process_padding_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + len = (size_t) count_zero_bytes(p, len); + EV_LOG_PADDING_FRAME_IN(LSQUIC_LOG_CONN_ID, len); + return len; +} + + +static void +log_conn_flow_control (struct full_conn *conn) +{ + LSQ_DEBUG("connection flow cap: wrote: %"PRIu64 + "; max: %"PRIu64, conn->fc_pub.conn_cap.cc_sent, + conn->fc_pub.conn_cap.cc_max); + LSQ_DEBUG("connection flow control window: read: %"PRIu64 + "; max: %"PRIu64, conn->fc_pub.cfcw.cf_max_recv_off, + conn->fc_pub.cfcw.cf_recv_off); +} + + +static unsigned +process_ping_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ /* This frame causes ACK frame to be queued, but nothing to do here; + * return the length of this frame. + */ + EV_LOG_PING_FRAME_IN(LSQUIC_LOG_CONN_ID); + LSQ_DEBUG("received PING"); + if (conn->fc_flags & FC_SERVER) + log_conn_flow_control(conn); + return 1; +} + + +static int +is_peer_initiated (const struct full_conn *conn, lsquic_stream_id_t stream_id) +{ + unsigned is_server = !!(conn->fc_flags & FC_SERVER); + int peer_initiated = (stream_id & 1) == is_server; + return peer_initiated; +} + + +static void +maybe_schedule_reset_for_stream (struct full_conn *conn, lsquic_stream_id_t stream_id) +{ + struct stream_id_to_reset *sitr; + + if (conn_is_stream_closed(conn, stream_id)) + return; + + sitr = malloc(sizeof(*sitr)); + if (!sitr) + return; + + sitr->sitr_stream_id = stream_id; + STAILQ_INSERT_TAIL(&conn->fc_stream_ids_to_reset, sitr, sitr_next); + conn_mark_stream_closed(conn, stream_id); +} + + +static unsigned +process_stream_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + stream_frame_t *stream_frame; + lsquic_stream_t *stream; + enum enc_level enc_level; + int parsed_len; + +#ifndef LSQUIC_REDO_FAILED_INSERTION +#define LSQUIC_REDO_FAILED_INSERTION 0 +#endif +#if LSQUIC_REDO_FAILED_INSERTION + enum lsq_log_level saved_levels[3]; +#if defined(__GNUC__) && !defined(__clang__) + /* gcc complains about this -- incorrectly -- in optimized mode */ + saved_levels[0] = 0; + saved_levels[1] = 0; + saved_levels[2] = 0; +#endif + int again = 0; + redo: +#endif + stream_frame = lsquic_malo_get(conn->fc_pub.mm->malo.stream_frame); + if (!stream_frame) + { + LSQ_WARN("could not allocate stream frame: %s", strerror(errno)); + return 0; + } + + parsed_len = conn->fc_conn.cn_pf->pf_parse_stream_frame(p, len, + stream_frame); + if (parsed_len < 0) { + lsquic_malo_put(stream_frame); + return 0; + } + EV_LOG_STREAM_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_frame); + LSQ_DEBUG("Got stream frame for stream #%"PRIu64, stream_frame->stream_id); +#if LSQUIC_CONN_STATS + ++conn->fc_stats.in.stream_frames; + conn->fc_stats.in.stream_data_sz += stream_frame->data_frame.df_size; +#endif + + enc_level = lsquic_packet_in_enc_level(packet_in); + if (!is_handshake_stream_id(conn, stream_frame->stream_id) + && enc_level == ENC_LEV_INIT) + { + lsquic_malo_put(stream_frame); + ABORT_ERROR("received unencrypted data for stream %"PRIu64, + stream_frame->stream_id); + return 0; + } + + if (conn->fc_flags & FC_CLOSING) + { + LSQ_DEBUG("Connection closing: ignore frame"); + lsquic_malo_put(stream_frame); + return parsed_len; + } + + stream = find_stream_by_id(conn, stream_frame->stream_id); + if (stream) + { + if (lsquic_stream_is_reset(stream)) + { + LSQ_DEBUG("stream %"PRIu64" is reset, ignore frame", stream->id); + lsquic_malo_put(stream_frame); + return parsed_len; + } + } + else + { + if (conn_is_stream_closed(conn, stream_frame->stream_id)) + { + LSQ_DEBUG("drop frame for closed stream %"PRIu64, + stream_frame->stream_id); + lsquic_malo_put(stream_frame); + return parsed_len; + } + if (is_peer_initiated(conn, stream_frame->stream_id)) + { + unsigned in_count = count_streams(conn, 1); + LSQ_DEBUG("number of peer-initiated streams: %u", in_count); + if (in_count >= conn->fc_cfg.max_streams_in) + { + if (!(conn->fc_flags & FC_ABORT_COMPLAINED)) + { + unsigned counts[N_SCNTS]; + collect_stream_counts(conn, 1, counts); + ABORT_WARN("incoming stream would exceed limit: %u. " + "all: %u; peer: %u; closed: %u; reset: %u; reset " + "and not closed: %u", conn->fc_cfg.max_streams_in, + counts[SCNT_ALL], counts[SCNT_PEER], + counts[SCNT_CLOSED], counts[SCNT_RESET], + counts[SCNT_RES_UNCLO]); + } + lsquic_malo_put(stream_frame); + return 0; + } + if ((conn->fc_flags & FC_GOING_AWAY) && + stream_frame->stream_id > conn->fc_max_peer_stream_id) + { + LSQ_DEBUG("going away: reset new incoming stream %"PRIu64, + stream_frame->stream_id); + maybe_schedule_reset_for_stream(conn, stream_frame->stream_id); + lsquic_malo_put(stream_frame); + return parsed_len; + } + } + else + { + ABORT_ERROR("frame for never-initiated stream"); + lsquic_malo_put(stream_frame); + return 0; + } + stream = new_stream(conn, stream_frame->stream_id, SCF_CALL_ON_NEW); + if (!stream) + { + ABORT_ERROR("cannot create new stream: %s", strerror(errno)); + lsquic_malo_put(stream_frame); + return 0; + } + if (stream_frame->stream_id > conn->fc_max_peer_stream_id) + conn->fc_max_peer_stream_id = stream_frame->stream_id; + } + + stream_frame->packet_in = lsquic_packet_in_get(packet_in); + if (0 != lsquic_stream_frame_in(stream, stream_frame)) + { + ABORT_ERROR("cannot insert stream frame"); +#if LSQUIC_REDO_FAILED_INSERTION + if (again++) + { + lsq_log_levels[LSQLM_STREAM] = saved_levels[0]; + lsq_log_levels[LSQLM_DI] = saved_levels[1]; + lsq_log_levels[LSQLM_CONN] = saved_levels[2]; + } + else if (!(LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_STREAM) + && LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_DI) + && LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_CONN))) + { + saved_levels[0] = lsq_log_levels[LSQLM_STREAM]; + saved_levels[1] = lsq_log_levels[LSQLM_DI]; + saved_levels[2] = lsq_log_levels[LSQLM_CONN]; + lsq_log_levels[LSQLM_STREAM] = LSQ_LOG_DEBUG; + lsq_log_levels[LSQLM_DI] = LSQ_LOG_DEBUG; + lsq_log_levels[LSQLM_CONN] = LSQ_LOG_DEBUG; + lsquic_stream_dump_state(stream); + LSQ_DEBUG("inserting frame again, this time with debug logging"); + goto redo; + } +#endif + return 0; + } + + if (lsquic_stream_is_crypto(stream) + && (stream->sm_qflags & SMQF_WANT_READ) + && !(conn->fc_flags & FC_SERVER) + && !(conn->fc_conn.cn_flags & LSCONN_HANDSHAKE_DONE)) + { /* To enable decryption, process handshake stream as soon as its + * data frames are received. + * + * TODO: this does not work when packets are reordered. A more + * flexible solution would defer packet decryption if handshake + * has not been completed yet. Nevertheless, this is good enough + * for now. + */ + lsquic_stream_dispatch_read_events(stream); + } + + return parsed_len; +} + + +static unsigned +process_crypto_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + struct lsquic_stream *stream; + stream_frame_t *stream_frame; + enum enc_level enc_level; + int parsed_len; + + stream_frame = lsquic_malo_get(conn->fc_pub.mm->malo.stream_frame); + if (!stream_frame) + { + LSQ_WARN("could not allocate stream frame: %s", strerror(errno)); + return 0; + } + + parsed_len = conn->fc_conn.cn_pf->pf_parse_crypto_frame(p, len, + stream_frame); + if (parsed_len < 0) + { + lsquic_malo_put(stream_frame); + return 0; + } + enc_level = lsquic_packet_in_enc_level(packet_in); + EV_LOG_CRYPTO_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_frame, enc_level); + LSQ_DEBUG("Got CRYPTO frame on enc level %s", lsquic_enclev2str[enc_level]); + + if (enc_level < conn->fc_crypto_enc_level) + { + LSQ_DEBUG("Old enc level: ignore frame"); + lsquic_malo_put(stream_frame); + return parsed_len; + } + + if (conn->fc_flags & FC_CLOSING) + { + LSQ_DEBUG("Connection closing: ignore frame"); + lsquic_malo_put(stream_frame); + return parsed_len; + } + + stream = find_stream_by_id(conn, hsk_stream_id(conn)); + if (!stream) + { + LSQ_WARN("cannot find handshake stream for CRYPTO frame"); + lsquic_malo_put(stream_frame); + return 0; + } + + if (enc_level > conn->fc_crypto_enc_level) + { + stream->read_offset = 0; + stream->tosend_off = 0; + conn->fc_crypto_enc_level = enc_level; + LSQ_DEBUG("reset handshake stream offsets, new enc level %u", + (unsigned) enc_level); + } + + stream_frame->packet_in = lsquic_packet_in_get(packet_in); + if (0 != lsquic_stream_frame_in(stream, stream_frame)) + { + ABORT_ERROR("cannot insert stream frame"); + return 0; + } + + if ((stream->sm_qflags & SMQF_WANT_READ) + && !(conn->fc_flags & FC_SERVER) + && !(conn->fc_conn.cn_flags & LSCONN_HANDSHAKE_DONE)) + { + /* XXX what happens for server? */ + lsquic_stream_dispatch_read_events(stream); + } + + return parsed_len; +} + + +static unsigned +process_invalid_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + ABORT_ERROR("invalid frame"); + return 0; +} + + +/* Reset locally-initiated streams whose IDs is larger than the stream ID + * specified in received GOAWAY frame. + */ +static void +reset_local_streams_over_goaway (struct full_conn *conn) +{ + const unsigned is_server = !!(conn->fc_flags & FC_SERVER); + lsquic_stream_t *stream; + struct lsquic_hash_elem *el; + + for (el = lsquic_hash_first(conn->fc_pub.all_streams); el; + el = lsquic_hash_next(conn->fc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if ((int64_t) stream->id > (int64_t) conn->fc_goaway_stream_id && + ((stream->id & 1) ^ is_server /* Locally initiated? */)) + { + lsquic_stream_received_goaway(stream); + } + } +} + + +static unsigned +process_goaway_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + uint32_t error_code; + uint16_t reason_length; + const char *reason; + const int parsed_len = conn->fc_conn.cn_pf->pf_parse_goaway_frame(p, len, + &error_code, &stream_id, &reason_length, &reason); + if (parsed_len < 0) + return 0; + EV_LOG_GOAWAY_FRAME_IN(LSQUIC_LOG_CONN_ID, error_code, stream_id, + reason_length, reason); + LSQ_DEBUG("received GOAWAY frame, last good stream ID: %"PRIu64 + ", error code: 0x%X, reason: `%.*s'", stream_id, error_code, + reason_length, reason); + if (0 == (conn->fc_conn.cn_flags & LSCONN_PEER_GOING_AWAY)) + { + conn->fc_conn.cn_flags |= LSCONN_PEER_GOING_AWAY; + conn->fc_goaway_stream_id = stream_id; + if (conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_goaway_received) + { + LSQ_DEBUG("calling on_goaway_received"); + conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_goaway_received( + &conn->fc_conn); + } + else + LSQ_DEBUG("on_goaway_received not registered"); + reset_local_streams_over_goaway(conn); + } + else + LSQ_DEBUG("ignore duplicate GOAWAY frame"); + return parsed_len; +} + + +static void +log_invalid_ack_frame (struct full_conn *conn, const unsigned char *p, + int parsed_len, const struct ack_info *acki) +{ + char *buf; + + buf = malloc(0x1000); + if (!buf) + { + LSQ_WARN("malloc failed"); + return; + } + + lsquic_senhist_tostr(&conn->fc_send_ctl.sc_senhist, buf, 0x1000); + LSQ_WARN("send history: %s", buf); + lsquic_hexdump(p, parsed_len, buf, 0x1000); + LSQ_WARN("raw ACK frame:\n%s", buf); + lsquic_acki2str(acki, buf, 0x1000); + LSQ_WARN("parsed ACK frame: %s", buf); + free(buf); +} + + +static int +process_ack (struct full_conn *conn, struct ack_info *acki, + lsquic_time_t received, lsquic_time_t now) +{ +#if LSQUIC_CONN_STATS + ++conn->fc_stats.in.n_acks_proc; +#endif + LSQ_DEBUG("Processing ACK"); + if (0 == lsquic_send_ctl_got_ack(&conn->fc_send_ctl, acki, received, now)) + { + if (lsquic_send_ctl_largest_ack2ed(&conn->fc_send_ctl, PNS_APP)) + lsquic_rechist_stop_wait(&conn->fc_rechist, + lsquic_send_ctl_largest_ack2ed(&conn->fc_send_ctl, PNS_APP) + + 1); + return 0; + } + else + { + ABORT_ERROR("Received invalid ACK"); + return -1; + } +} + + +static unsigned +process_ack_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + struct ack_info *new_acki; + int parsed_len; + lsquic_time_t warn_time; + +#if LSQUIC_CONN_STATS + ++conn->fc_stats.in.n_acks; +#endif + + if (conn->fc_flags & FC_HAVE_SAVED_ACK) + new_acki = conn->fc_pub.mm->acki; + else + new_acki = &conn->fc_ack; + + parsed_len = conn->fc_conn.cn_pf->pf_parse_ack_frame(p, len, new_acki, 0); + if (parsed_len < 0) + goto err; + + if (empty_ack_frame(new_acki)) + { + LSQ_DEBUG("Ignore empty ACK frame"); + return parsed_len; + } + if (packet_in->pi_packno <= conn->fc_max_ack_packno) + { + LSQ_DEBUG("Ignore old ack (max %"PRIu64")", conn->fc_max_ack_packno); + return parsed_len; + } + + new_acki->pns = PNS_APP; + EV_LOG_ACK_FRAME_IN(LSQUIC_LOG_CONN_ID, new_acki); + conn->fc_max_ack_packno = packet_in->pi_packno; + + if (new_acki == &conn->fc_ack) + { + LSQ_DEBUG("Saved ACK"); + conn->fc_flags |= FC_HAVE_SAVED_ACK; + conn->fc_saved_ack_received = packet_in->pi_received; + } + else + { + if (0 == lsquic_merge_acks(&conn->fc_ack, new_acki)) + { +#if LSQUIC_CONN_STATS + ++conn->fc_stats.in.n_acks_merged; +#endif + LSQ_DEBUG("merged into saved ACK, getting %s", + (lsquic_acki2str(&conn->fc_ack, conn->fc_pub.mm->ack_str, + MAX_ACKI_STR_SZ), conn->fc_pub.mm->ack_str)); + } + else + { + LSQ_DEBUG("could not merge new ACK into saved ACK"); + if (0 != process_ack(conn, &conn->fc_ack, packet_in->pi_received, + packet_in->pi_received)) + goto err; + conn->fc_ack = *new_acki; + } + conn->fc_saved_ack_received = packet_in->pi_received; + } + + return parsed_len; + + err: + warn_time = lsquic_time_now(); + if (0 == conn->fc_enpub->enp_last_warning[WT_ACKPARSE_FULL] + || conn->fc_enpub->enp_last_warning[WT_ACKPARSE_FULL] + + WARNING_INTERVAL < warn_time) + { + conn->fc_enpub->enp_last_warning[WT_ACKPARSE_FULL] = warn_time; + log_invalid_ack_frame(conn, p, parsed_len, new_acki); + } + return 0; +} + + +static unsigned +process_stop_waiting_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_packno_t least, cutoff; + enum packno_bits bits; + int parsed_len; + + bits = lsquic_packet_in_packno_bits(packet_in); + + if (conn->fc_flags & FC_NSTP) + { + LSQ_DEBUG("NSTP on: ignore STOP_WAITING frame"); + parsed_len = conn->fc_conn.cn_pf->pf_skip_stop_waiting_frame(len, bits); + if (parsed_len > 0) + return (unsigned) parsed_len; + else + return 0; + } + + parsed_len = conn->fc_conn.cn_pf->pf_parse_stop_waiting_frame(p, len, + packet_in->pi_packno, bits, &least); + if (parsed_len < 0) + return 0; + + if (packet_in->pi_packno <= conn->fc_max_swf_packno) + { + LSQ_DEBUG("ignore old STOP_WAITING frame"); + return parsed_len; + } + + LSQ_DEBUG("Got STOP_WAITING frame, least unacked: %"PRIu64, least); + EV_LOG_STOP_WAITING_FRAME_IN(LSQUIC_LOG_CONN_ID, least); + + if (least > packet_in->pi_packno) + { + ABORT_ERROR("received invalid STOP_WAITING: %"PRIu64" is larger " + "than the packet number%"PRIu64, least, packet_in->pi_packno); + return 0; + } + + cutoff = lsquic_rechist_cutoff(&conn->fc_rechist); + if (cutoff && least < cutoff) + { + ABORT_ERROR("received invalid STOP_WAITING: %"PRIu64" is smaller " + "than the cutoff %"PRIu64, least, cutoff); + return 0; + } + + conn->fc_max_swf_packno = packet_in->pi_packno; + lsquic_rechist_stop_wait(&conn->fc_rechist, least); + return parsed_len; +} + + +static unsigned +process_blocked_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + struct lsquic_stream *stream; + const int parsed_len = conn->fc_conn.cn_pf->pf_parse_blocked_frame(p, len, + &stream_id); + if (parsed_len < 0) + return 0; + EV_LOG_BLOCKED_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_id); + LSQ_DEBUG("Peer reports stream %"PRIu64" as blocked", stream_id); + if (stream_id) + { + stream = find_stream_by_id(conn, stream_id); + if (stream) + lsquic_stream_peer_blocked_gquic(stream); + } + else + conn->fc_flags |= FC_SEND_WUF; + return parsed_len; +} + + +static unsigned +process_connection_close_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + uint64_t error_code; + uint16_t reason_len; + uint8_t reason_off; + int parsed_len; + + parsed_len = conn->fc_conn.cn_pf->pf_parse_connect_close_frame(p, len, + NULL, &error_code, &reason_len, &reason_off); + if (parsed_len < 0) + return 0; + EV_LOG_CONNECTION_CLOSE_FRAME_IN(LSQUIC_LOG_CONN_ID, error_code, + (int) reason_len, (const char *) p + reason_off); + LSQ_INFO("Received CONNECTION_CLOSE frame (code: %"PRIu64"; reason: %.*s)", + error_code, (int) reason_len, (const char *) p + reason_off); + if (conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_conncloseframe_received) + conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_conncloseframe_received( + &conn->fc_conn, -1, error_code, (const char *) p + reason_off, reason_len); + conn->fc_flags |= FC_RECV_CLOSE|FC_CLOSING; + return parsed_len; +} + + +static unsigned +process_rst_stream_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + uint64_t offset, error_code; + lsquic_stream_t *stream; + const int parsed_len = conn->fc_conn.cn_pf->pf_parse_rst_frame(p, len, + &stream_id, &offset, &error_code); + if (parsed_len < 0) + return 0; + + EV_LOG_RST_STREAM_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_id, offset, + error_code); + LSQ_DEBUG("Got RST_STREAM; stream: %"PRIu64"; offset: 0x%"PRIX64, stream_id, + offset); + if (0 == stream_id) + { /* Follow reference implementation and ignore this apparently + * invalid frame. + */ + return parsed_len; + } + + stream = find_stream_by_id(conn, stream_id); + if (stream && lsquic_stream_is_critical(stream)) + { + ABORT_ERROR("received reset on static stream %"PRIu64, stream_id); + return 0; + } + if (!stream) + { + if (conn_is_stream_closed(conn, stream_id)) + { + LSQ_DEBUG("got reset frame for closed stream %"PRIu64, stream_id); + return parsed_len; + } + if (!is_peer_initiated(conn, stream_id)) + { + ABORT_ERROR("received reset for never-initiated stream %"PRIu64, + stream_id); + return 0; + } + stream = new_stream(conn, stream_id, SCF_CALL_ON_NEW); + if (!stream) + { + ABORT_ERROR("cannot create new stream: %s", strerror(errno)); + return 0; + } + if (stream_id > conn->fc_max_peer_stream_id) + conn->fc_max_peer_stream_id = stream_id; + } + + if (0 != lsquic_stream_rst_in(stream, offset, error_code)) + { + ABORT_ERROR("received invalid RST_STREAM"); + return 0; + } + return parsed_len; +} + + +static unsigned +process_window_update_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + uint64_t offset; + const int parsed_len = + conn->fc_conn.cn_pf->pf_parse_window_update_frame(p, len, + &stream_id, &offset); + if (parsed_len < 0) + return 0; + EV_LOG_WINDOW_UPDATE_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_id, offset); + if (stream_id) + { + lsquic_stream_t *stream = find_stream_by_id(conn, stream_id); + if (stream) + { + LSQ_DEBUG("Got window update frame, stream: %"PRIu64 + "; offset: 0x%"PRIX64, stream_id, offset); + lsquic_stream_window_update(stream, offset); + } + else /* Perhaps a result of lost packets? */ + LSQ_DEBUG("Got window update frame for non-existing stream %"PRIu64 + " (offset: 0x%"PRIX64")", stream_id, offset); + } + else if (offset > conn->fc_pub.conn_cap.cc_max) + { + conn->fc_pub.conn_cap.cc_max = offset; + assert(conn->fc_pub.conn_cap.cc_max >= conn->fc_pub.conn_cap.cc_sent); + LSQ_DEBUG("Connection WUF, new offset 0x%"PRIX64, offset); + } + else + LSQ_DEBUG("Throw ouw duplicate connection WUF"); + return parsed_len; +} + + +typedef unsigned (*process_frame_f)( + struct full_conn *, lsquic_packet_in_t *, const unsigned char *p, size_t); + +static process_frame_f const process_frames[N_QUIC_FRAMES] = +{ + [QUIC_FRAME_ACK] = process_ack_frame, + [QUIC_FRAME_BLOCKED] = process_blocked_frame, + [QUIC_FRAME_CONNECTION_CLOSE] = process_connection_close_frame, + [QUIC_FRAME_CRYPTO] = process_crypto_frame, + [QUIC_FRAME_GOAWAY] = process_goaway_frame, + [QUIC_FRAME_INVALID] = process_invalid_frame, + [QUIC_FRAME_PADDING] = process_padding_frame, + [QUIC_FRAME_PING] = process_ping_frame, + [QUIC_FRAME_RST_STREAM] = process_rst_stream_frame, + [QUIC_FRAME_STOP_WAITING] = process_stop_waiting_frame, + [QUIC_FRAME_STREAM] = process_stream_frame, + [QUIC_FRAME_WINDOW_UPDATE] = process_window_update_frame, +}; + +static unsigned +process_packet_frame (struct full_conn *conn, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + enum quic_frame_type type; + + type = conn->fc_conn.cn_pf->pf_parse_frame_type(p, len); + packet_in->pi_frame_types |= 1 << type; + recent_packet_hist_frames(conn, 0, 1 << type); + return process_frames[type](conn, packet_in, p, len); +} + + +static void +process_ver_neg_packet (struct full_conn *conn, lsquic_packet_in_t *packet_in) +{ + int s; + struct ver_iter vi; + lsquic_ver_tag_t ver_tag; + enum lsquic_version version; + unsigned versions = 0; + + LSQ_DEBUG("Processing version-negotiation packet"); + + if (conn->fc_ver_neg.vn_state != VN_START) + { + LSQ_DEBUG("ignore a likely duplicate version negotiation packet"); + return; + } + + for (s = lsquic_packet_in_ver_first(packet_in, &vi, &ver_tag); s; + s = lsquic_packet_in_ver_next(&vi, &ver_tag)) + { + version = lsquic_tag2ver(ver_tag); + if (version < N_LSQVER) + { + versions |= 1 << version; + LSQ_DEBUG("server supports version %s", lsquic_ver2str[version]); + EV_LOG_VER_NEG(LSQUIC_LOG_CONN_ID, + "supports", lsquic_ver2str[version]); + } + } + + if (versions & (1 << conn->fc_ver_neg.vn_ver)) + { + ABORT_ERROR("server replied with version we support: %s", + lsquic_ver2str[conn->fc_ver_neg.vn_ver]); + return; + } + + versions &= conn->fc_ver_neg.vn_supp; + if (0 == versions) + { + conn->fc_flags |= FC_HSK_FAILED; + ABORT_ERROR("client does not support any of the server-specified " + "versions"); + return; + } + + set_versions(conn, versions, NULL); + conn->fc_ver_neg.vn_state = VN_IN_PROGRESS; + lsquic_send_ctl_expire_all(&conn->fc_send_ctl); +} + + +static void +reconstruct_packet_number (struct full_conn *conn, lsquic_packet_in_t *packet_in) +{ + lsquic_packno_t cur_packno, max_packno; + enum packno_bits bits; + unsigned packet_len; + + cur_packno = packet_in->pi_packno; + max_packno = lsquic_rechist_largest_packno(&conn->fc_rechist); + bits = lsquic_packet_in_packno_bits(packet_in); + packet_len = conn->fc_conn.cn_pf->pf_packno_bits2len(bits); + packet_in->pi_packno = lsquic_restore_packno(cur_packno, packet_len, + max_packno); + LSQ_DEBUG("reconstructed (bits: %u, packno: %"PRIu64", max: %"PRIu64") " + "to %"PRIu64"", bits, cur_packno, max_packno, packet_in->pi_packno); +} + + +static enum dec_packin +conn_decrypt_packet (struct full_conn *conn, lsquic_packet_in_t *packet_in) +{ + return conn->fc_conn.cn_esf_c->esf_decrypt_packet( + conn->fc_conn.cn_enc_session, conn->fc_enpub, + &conn->fc_conn, packet_in); +} + + +static void +parse_regular_packet (struct full_conn *conn, lsquic_packet_in_t *packet_in) +{ + const unsigned char *p, *pend; + unsigned len; + + p = packet_in->pi_data + packet_in->pi_header_sz; + pend = packet_in->pi_data + packet_in->pi_data_sz; + + while (p < pend) + { + len = process_packet_frame(conn, packet_in, p, pend - p); + if (len > 0) + p += len; + else + { + ABORT_ERROR("Error parsing frame"); + break; + } + } +} + + +static int +conn_is_stateless_reset (const struct full_conn *conn, + const struct lsquic_packet_in *packet_in) +{ + return packet_in->pi_data_sz > SRST_LENGTH + && 0 == conn->fc_conn.cn_esf_c->esf_verify_reset_token( + conn->fc_conn.cn_enc_session, + packet_in->pi_data + packet_in->pi_data_sz - SRST_LENGTH, + SRST_LENGTH); +} + + +static int +process_regular_packet (struct full_conn *conn, lsquic_packet_in_t *packet_in) +{ + enum received_st st; + enum quic_ft_bit frame_types; + int was_missing; + + if (conn->fc_conn.cn_version < LSQVER_050) + { + reconstruct_packet_number(conn, packet_in); + EV_LOG_PACKET_IN(LSQUIC_LOG_CONN_ID, packet_in); + } + +#if LSQUIC_CONN_STATS + ++conn->fc_stats.in.packets; +#endif + + /* The packet is decrypted before receive history is updated. This is + * done to make sure that a bad packet won't occupy a slot in receive + * history and subsequent good packet won't be marked as a duplicate. + */ + if (0 == (packet_in->pi_flags & PI_DECRYPTED) && + DECPI_OK != conn_decrypt_packet(conn, packet_in)) + { + if (conn_is_stateless_reset(conn, packet_in)) + { + LSQ_INFO("received public reset packet: aborting connection"); + conn->fc_flags |= FC_GOT_PRST; + return -1; + } + else + { + LSQ_INFO("could not decrypt packet"); +#if LSQUIC_CONN_STATS + ++conn->fc_stats.in.undec_packets; +#endif + return 0; + } + } + + if (conn->fc_conn.cn_version >= LSQVER_050) + EV_LOG_PACKET_IN(LSQUIC_LOG_CONN_ID, packet_in); + + st = lsquic_rechist_received(&conn->fc_rechist, packet_in->pi_packno, + packet_in->pi_received); + switch (st) { + case REC_ST_OK: + parse_regular_packet(conn, packet_in); + if (0 == (conn->fc_flags & (FC_ACK_QUEUED|FC_GOT_SREJ))) + { + frame_types = packet_in->pi_frame_types; + if ((conn->fc_flags & FC_GOING_AWAY) + && lsquic_hash_count(conn->fc_pub.all_streams) <= N_SPECIAL_STREAMS) + { + /* Ignore PING frames if we are going away and there are no + * active streams. (HANDSHAKE and HEADERS streams are the + * two streams that are always in the all_streams hash). + */ + frame_types &= ~(1 << QUIC_FRAME_PING); + } + was_missing = packet_in->pi_packno != + lsquic_rechist_largest_packno(&conn->fc_rechist); + conn->fc_n_slack_akbl += !!(frame_types & GQUIC_FRAME_ACKABLE_MASK); + try_queueing_ack(conn, was_missing, packet_in->pi_received); + } + else if (conn->fc_flags & FC_GOT_SREJ) + conn->fc_flags &= ~FC_GOT_SREJ; + return 0; + case REC_ST_DUP: +#if LSQUIC_CONN_STATS + ++conn->fc_stats.in.dup_packets; +#endif + LSQ_INFO("packet %"PRIu64" is a duplicate", packet_in->pi_packno); + return 0; + default: + assert(0); + /* Fall through */ + case REC_ST_ERR: +#if LSQUIC_CONN_STATS + ++conn->fc_stats.in.err_packets; +#endif + LSQ_INFO("error processing packet %"PRIu64, packet_in->pi_packno); + return -1; + } +} + + +/* TODO: Possible optimization: in server mode, we do not perform version + * negotiation. We can use different functions in client mode (this + * function) and server mode (a different, faster function that ignores + * version flags). + */ +static int +process_incoming_packet (struct full_conn *conn, lsquic_packet_in_t *packet_in) +{ + int is_prst, is_verneg; + + recent_packet_hist_new(conn, 0, packet_in->pi_received); + LSQ_DEBUG("Processing packet %"PRIu64, packet_in->pi_packno); + + is_prst = lsquic_packet_in_is_gquic_prst(packet_in); + is_verneg = lsquic_packet_in_is_verneg(packet_in); + + /* See flowchart in Section 4.1 of [draft-ietf-quic-transport-00]. We test + * for the common case first. + */ + if (0 == is_prst && 0 == is_verneg) + { + if (conn->fc_ver_neg.vn_tag) + { + assert(conn->fc_ver_neg.vn_state != VN_END); + conn->fc_ver_neg.vn_state = VN_END; + conn->fc_ver_neg.vn_tag = NULL; + conn->fc_conn.cn_version = conn->fc_ver_neg.vn_ver; + conn->fc_conn.cn_flags |= LSCONN_VER_SET; + assert(!(conn->fc_flags & FC_NSTP)); /* This bit off at start */ + if (conn->fc_conn.cn_version >= LSQVER_046 + || conn->fc_settings->es_support_nstp) + { + conn->fc_flags |= FC_NSTP; + lsquic_send_ctl_turn_nstp_on(&conn->fc_send_ctl); + } + LSQ_DEBUG("end of version negotiation: agreed upon %s", + lsquic_ver2str[conn->fc_ver_neg.vn_ver]); + lsquic_send_ctl_verneg_done(&conn->fc_send_ctl); + EV_LOG_VER_NEG(LSQUIC_LOG_CONN_ID, + "agreed", lsquic_ver2str[conn->fc_ver_neg.vn_ver]); + } + return process_regular_packet(conn, packet_in); + } + else if (is_prst) + { + LSQ_INFO("received public reset packet: aborting connection"); + conn->fc_flags |= FC_GOT_PRST; + return -1; + } + else + { + if (conn->fc_flags & FC_SERVER) + return process_regular_packet(conn, packet_in); + else if (conn->fc_ver_neg.vn_tag) + { + process_ver_neg_packet(conn, packet_in); + return 0; + } + else + { + LSQ_DEBUG("unexpected version negotiation packet: ignore it"); + return 0; + } + } +} + + +static void +idle_alarm_expired (enum alarm_id al_id, void *ctx, lsquic_time_t expiry, + lsquic_time_t now) +{ + struct full_conn *conn = ctx; + + if ((conn->fc_flags & FC_NOPROG_TIMEOUT) + && conn->fc_pub.last_prog + conn->fc_enpub->enp_noprog_timeout < now) + { + LSQ_DEBUG("connection timed out due to lack of progress"); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "connection timed out due to " + "lack of progress"); + /* Different flag so that CONNECTION_CLOSE frame is sent */ + conn->fc_flags |= FC_ABORTED; + } + else + { + LSQ_DEBUG("connection timed out"); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "connection timed out"); + conn->fc_flags |= FC_TIMED_OUT; + } +} + + +static void +handshake_alarm_expired (enum alarm_id al_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now) +{ + struct full_conn *conn = ctx; + LSQ_DEBUG("connection timed out: handshake timed out"); + conn->fc_flags |= FC_TIMED_OUT; +} + + +static void +ping_alarm_expired (enum alarm_id al_id, void *ctx, lsquic_time_t expiry, + lsquic_time_t now) +{ + struct full_conn *conn = ctx; + LSQ_DEBUG("Ping alarm rang: schedule PING frame to be generated"); + conn->fc_flags |= FC_SEND_PING; +} + + +static lsquic_packet_out_t * +get_writeable_packet (struct full_conn *conn, unsigned need_at_least) +{ + lsquic_packet_out_t *packet_out; + int is_err; + + packet_out = lsquic_send_ctl_get_writeable_packet(&conn->fc_send_ctl, + PNS_APP, need_at_least, &conn->fc_path, 0, &is_err); + if (!packet_out && is_err) + ABORT_ERROR("cannot allocate packet: %s", strerror(errno)); + return packet_out; +} + + +static int +generate_wuf_stream (struct full_conn *conn, lsquic_stream_t *stream) +{ + lsquic_packet_out_t *packet_out = get_writeable_packet(conn, GQUIC_WUF_SZ); + if (!packet_out) + return 0; + const uint64_t recv_off = lsquic_stream_fc_recv_off(stream); + int sz = conn->fc_conn.cn_pf->pf_gen_window_update_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), stream->id, recv_off); + if (sz < 0) { + ABORT_ERROR("gen_window_update_frame failed"); + return 0; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_WINDOW_UPDATE; + LSQ_DEBUG("wrote WUF: stream %"PRIu64"; offset 0x%"PRIX64, stream->id, + recv_off); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, + "wrote WUF: stream %"PRIu64"; offset 0x%"PRIX64, stream->id, recv_off); + return 1; +} + + +static void +generate_wuf_conn (struct full_conn *conn) +{ + assert(conn->fc_flags & FC_SEND_WUF); + lsquic_packet_out_t *packet_out = get_writeable_packet(conn, GQUIC_WUF_SZ); + if (!packet_out) + return; + const uint64_t recv_off = lsquic_cfcw_get_fc_recv_off(&conn->fc_pub.cfcw); + int sz = conn->fc_conn.cn_pf->pf_gen_window_update_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), 0, recv_off); + if (sz < 0) { + ABORT_ERROR("gen_window_update_frame failed"); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_WINDOW_UPDATE; + conn->fc_flags &= ~FC_SEND_WUF; + LSQ_DEBUG("wrote connection WUF: offset 0x%"PRIX64, recv_off); +} + + +static void +maybe_close_conn (struct full_conn *conn) +{ +#ifndef NDEBUG + struct lsquic_stream *stream; + struct lsquic_hash_elem *el; +#endif + const unsigned n_special_streams = N_SPECIAL_STREAMS + - !(conn->fc_flags & FC_HTTP); + + if ((conn->fc_flags & (FC_CLOSING|FC_GOAWAY_SENT|FC_SERVER)) + == (FC_GOAWAY_SENT|FC_SERVER) + && lsquic_hash_count(conn->fc_pub.all_streams) == n_special_streams) + { +#ifndef NDEBUG + for (el = lsquic_hash_first(conn->fc_pub.all_streams); el; + el = lsquic_hash_next(conn->fc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + assert(stream->sm_bflags & (SMBF_CRYPTO|SMBF_HEADERS)); + } +#endif + conn->fc_flags |= FC_RECV_CLOSE; /* Fake -- trigger "ok to close" */ + conn->fc_flags |= FC_CLOSING; + LSQ_DEBUG("closing connection: GOAWAY sent and no responses remain"); + } +} + + +static void +generate_goaway_frame (struct full_conn *conn) +{ + int reason_len = 0; + lsquic_packet_out_t *packet_out = + get_writeable_packet(conn, GQUIC_GOAWAY_FRAME_SZ + reason_len); + if (!packet_out) + return; + int sz = conn->fc_conn.cn_pf->pf_gen_goaway_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), 0, conn->fc_max_peer_stream_id, + NULL, reason_len); + if (sz < 0) { + ABORT_ERROR("gen_goaway_frame failed"); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_GOAWAY; + conn->fc_flags &= ~FC_SEND_GOAWAY; + conn->fc_flags |= FC_GOAWAY_SENT; + LSQ_DEBUG("wrote GOAWAY frame: stream id: %"PRIu64, + conn->fc_max_peer_stream_id); + maybe_close_conn(conn); +} + + +static void +generate_connection_close_packet (struct full_conn *conn) +{ + lsquic_packet_out_t *packet_out; + + packet_out = lsquic_send_ctl_new_packet_out(&conn->fc_send_ctl, 0, PNS_APP, + &conn->fc_path); + if (!packet_out) + { + ABORT_ERROR("cannot allocate packet: %s", strerror(errno)); + return; + } + + lsquic_send_ctl_scheduled_one(&conn->fc_send_ctl, packet_out); + int sz = conn->fc_conn.cn_pf->pf_gen_connect_close_frame(packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), 0, 16 /* PEER_GOING_AWAY */, + NULL, 0); + if (sz < 0) { + ABORT_ERROR("generate_connection_close_packet failed"); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_CONNECTION_CLOSE; + LSQ_DEBUG("generated CONNECTION_CLOSE frame in its own packet"); +} + + +static int +generate_blocked_frame (struct full_conn *conn, lsquic_stream_id_t stream_id) +{ + lsquic_packet_out_t *packet_out = + get_writeable_packet(conn, GQUIC_BLOCKED_FRAME_SZ); + if (!packet_out) + return 0; + int sz = conn->fc_conn.cn_pf->pf_gen_blocked_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), stream_id); + if (sz < 0) { + ABORT_ERROR("gen_blocked_frame failed"); + return 0; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_BLOCKED; + LSQ_DEBUG("wrote blocked frame: stream %"PRIu64, stream_id); + return 1; +} + + +static int +generate_stream_blocked_frame (struct full_conn *conn, lsquic_stream_t *stream) +{ + if (generate_blocked_frame(conn, stream->id)) + { + lsquic_stream_blocked_frame_sent(stream); + return 1; + } + else + return 0; +} + + +static int +generate_rst_stream_frame (struct full_conn *conn, lsquic_stream_t *stream) +{ + lsquic_packet_out_t *packet_out; + int sz, s; + + packet_out = get_writeable_packet(conn, GQUIC_RST_STREAM_SZ); + if (!packet_out) + return 0; + /* TODO Possible optimization: instead of using stream->tosend_off as the + * offset, keep track of the offset that was actually sent: include it + * into frame_rec and update a new per-stream "maximum offset actually + * sent" field. Then, if a stream is reset, the connection cap can be + * increased. + */ + sz = conn->fc_conn.cn_pf->pf_gen_rst_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), stream->id, + stream->tosend_off, stream->error_code); + if (sz < 0) { + ABORT_ERROR("gen_rst_frame failed"); + return 0; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_RST_STREAM; + s = lsquic_packet_out_add_stream(packet_out, conn->fc_pub.mm, stream, + QUIC_FRAME_RST_STREAM, packet_out->po_data_sz, sz); + if (s != 0) + { + ABORT_ERROR("adding stream to packet failed: %s", strerror(errno)); + return 0; + } + lsquic_stream_rst_frame_sent(stream); + LSQ_DEBUG("wrote RST: stream %"PRIu64"; offset 0x%"PRIX64"; error code " + "%"PRIu64, stream->id, stream->tosend_off, stream->error_code); + return 1; +} + + +static void +generate_ping_frame (struct full_conn *conn) +{ + lsquic_packet_out_t *packet_out = get_writeable_packet(conn, 1); + if (!packet_out) + { + LSQ_DEBUG("cannot get writeable packet for PING frame"); + return; + } + int sz = conn->fc_conn.cn_pf->pf_gen_ping_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out)); + if (sz < 0) { + ABORT_ERROR("gen_ping_frame failed"); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_PING; + LSQ_DEBUG("wrote PING frame"); + if (!(conn->fc_flags & FC_SERVER)) + log_conn_flow_control(conn); +} + + +static void +generate_stop_waiting_frame (struct full_conn *conn) +{ + assert(conn->fc_flags & FC_SEND_STOP_WAITING); + + int sz; + unsigned packnum_len; + lsquic_packno_t least_unacked; + lsquic_packet_out_t *packet_out; + + /* Get packet that has room for the minimum size STOP_WAITING frame: */ + packnum_len = conn->fc_conn.cn_pf->pf_packno_bits2len(GQUIC_PACKNO_LEN_1); + packet_out = get_writeable_packet(conn, 1 + packnum_len); + if (!packet_out) + return; + + /* Now calculate number of bytes we really need. If there is not enough + * room in the current packet, get a new one. + */ + packnum_len = conn->fc_conn.cn_pf->pf_packno_bits2len( + lsquic_packet_out_packno_bits(packet_out)); + if ((unsigned) lsquic_packet_out_avail(packet_out) < 1 + packnum_len) + { + packet_out = get_writeable_packet(conn, 1 + packnum_len); + if (!packet_out) + return; + /* Here, a new packet has been allocated, The number of bytes needed + * to represent packet number in the STOP_WAITING frame may have + * increased. However, this does not matter, because the newly + * allocated packet must have room for a STOP_WAITING frame of any + * size. + */ + } + + least_unacked = lsquic_send_ctl_smallest_unacked(&conn->fc_send_ctl); + sz = conn->fc_conn.cn_pf->pf_gen_stop_waiting_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), packet_out->po_packno, + lsquic_packet_out_packno_bits(packet_out), least_unacked); + if (sz < 0) { + ABORT_ERROR("gen_stop_waiting_frame failed"); + return; + } + if (0 != lsquic_packet_out_add_frame(packet_out, conn->fc_pub.mm, 0, + QUIC_FRAME_STOP_WAITING, packet_out->po_data_sz, sz)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_regen_sz += sz; + packet_out->po_frame_types |= 1 << QUIC_FRAME_STOP_WAITING; + conn->fc_flags &= ~FC_SEND_STOP_WAITING; + LSQ_DEBUG("wrote STOP_WAITING frame: least unacked: %"PRIu64, + least_unacked); + EV_LOG_GENERATED_STOP_WAITING_FRAME(LSQUIC_LOG_CONN_ID, least_unacked); +} + + +static int +process_stream_ready_to_send (struct full_conn *conn, lsquic_stream_t *stream) +{ + int r = 1; + if (stream->sm_qflags & SMQF_SEND_WUF) + r &= generate_wuf_stream(conn, stream); + if (stream->sm_qflags & SMQF_SEND_BLOCKED) + r &= generate_stream_blocked_frame(conn, stream); + if (stream->sm_qflags & SMQF_SEND_RST) + r &= generate_rst_stream_frame(conn, stream); + return r; +} + + +static void +process_streams_ready_to_send (struct full_conn *conn) +{ + lsquic_stream_t *stream; + struct stream_prio_iter spi; + + assert(!TAILQ_EMPTY(&conn->fc_pub.sending_streams)); + + lsquic_spi_init(&spi, TAILQ_FIRST(&conn->fc_pub.sending_streams), + TAILQ_LAST(&conn->fc_pub.sending_streams, lsquic_streams_tailq), + (uintptr_t) &TAILQ_NEXT((lsquic_stream_t *) NULL, next_send_stream), + &conn->fc_pub, "send", NULL, NULL); + + for (stream = lsquic_spi_first(&spi); stream; + stream = lsquic_spi_next(&spi)) + if (!process_stream_ready_to_send(conn, stream)) + break; +} + + +/* Return true if packetized, false otherwise */ +static int +packetize_standalone_stream_reset (struct full_conn *conn, lsquic_stream_id_t stream_id) +{ + lsquic_packet_out_t *packet_out; + int sz; + + packet_out = get_writeable_packet(conn, GQUIC_RST_STREAM_SZ); + if (!packet_out) + return 0; + + sz = conn->fc_conn.cn_pf->pf_gen_rst_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), stream_id, + 0, 0x10 /* QUIC_PEER_GOING_AWAY */); + if (sz < 0) { + ABORT_ERROR("gen_rst_frame failed"); + return 0; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_RST_STREAM; + LSQ_DEBUG("generated standalone RST_STREAM frame for stream %"PRIu64, + stream_id); + return 1; +} + + +static void +packetize_standalone_stream_resets (struct full_conn *conn) +{ + struct stream_id_to_reset *sitr; + + while ((sitr = STAILQ_FIRST(&conn->fc_stream_ids_to_reset))) + if (packetize_standalone_stream_reset(conn, sitr->sitr_stream_id)) + { + STAILQ_REMOVE_HEAD(&conn->fc_stream_ids_to_reset, sitr_next); + free(sitr); + } + else + break; +} + + +static void +create_delayed_streams (struct full_conn *conn) +{ + unsigned stream_count, avail, i; + struct lsquic_stream **new_streams; + + stream_count = count_streams(conn, 0); + + if (stream_count >= conn->fc_cfg.max_streams_out) + return; + + avail = conn->fc_cfg.max_streams_out - stream_count; + if (conn->fc_n_delayed_streams < avail) + avail = conn->fc_n_delayed_streams; + if (avail == 0) + return; + + new_streams = malloc(sizeof(new_streams[0]) * avail); + if (!new_streams) + { + ABORT_WARN("%s: malloc failed", __func__); + return; + } + + LSQ_DEBUG("creating delayed streams"); + for (i = 0; i < avail; ++i) + { + /* Delay calling on_new in order not to let the user screw up + * the counts by making more streams. + */ + new_streams[i] = new_stream(conn, generate_stream_id(conn), 0); + if (!new_streams[i]) + { + ABORT_ERROR("%s: cannot create new stream: %s", __func__, + strerror(errno)); + goto cleanup; + } + } + LSQ_DEBUG("created %u delayed stream%.*s", avail, avail != 1, "s"); + + assert(count_streams(conn, 0) <= conn->fc_cfg.max_streams_out); + conn->fc_n_delayed_streams -= avail; + + for (i = 0; i < avail; ++i) + lsquic_stream_call_on_new(new_streams[i]); + cleanup: + free(new_streams); +} + + +static void +service_streams (struct full_conn *conn) +{ + struct lsquic_hash_elem *el; + lsquic_stream_t *stream, *next; + int closed_some = 0; + + for (stream = TAILQ_FIRST(&conn->fc_pub.service_streams); stream; stream = next) + { + next = TAILQ_NEXT(stream, next_service_stream); + if (stream->sm_qflags & SMQF_ABORT_CONN) + /* No need to unset this flag or remove this stream: the connection + * is about to be aborted. + */ + ABORT_ERROR("aborted due to error in stream %"PRIu64, stream->id); + if (stream->sm_qflags & SMQF_CALL_ONCLOSE) + { + lsquic_stream_call_on_close(stream); + closed_some |= is_our_stream(conn, stream); + conn_mark_stream_closed(conn, stream->id); + } + if (stream->sm_qflags & SMQF_FREE_STREAM) + { + TAILQ_REMOVE(&conn->fc_pub.service_streams, stream, next_service_stream); + el = lsquic_hash_find(conn->fc_pub.all_streams, &stream->id, sizeof(stream->id)); + if (el) + lsquic_hash_erase(conn->fc_pub.all_streams, el); + SAVE_STREAM_HISTORY(conn, stream); + lsquic_stream_destroy(stream); + } + } + + if (either_side_going_away(conn)) + { + while (conn->fc_n_delayed_streams) + { + --conn->fc_n_delayed_streams; + LSQ_DEBUG("goaway mode: delayed stream results in null ctor"); + (void) conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_new_stream( + conn->fc_stream_ifs[STREAM_IF_STD].stream_if_ctx, NULL); + } + maybe_close_conn(conn); + } + else + if (closed_some && conn->fc_n_delayed_streams) + create_delayed_streams(conn); +} + + +struct filter_stream_ctx +{ + struct full_conn *conn; + uint32_t last_stream_id, + max_peer_stream_id; +}; + + +static int +filter_out_old_streams (void *ctx, lsquic_stream_t *stream) +{ + struct filter_stream_ctx *const fctx = ctx; + return ((!((stream->id ^ fctx->last_stream_id) & 1) && + stream->id > fctx->last_stream_id) + || + (!((stream->id ^ fctx->max_peer_stream_id) & 1) && + stream->id > fctx->max_peer_stream_id)); +} + + +static void +process_streams_read_events (struct full_conn *conn) +{ + lsquic_stream_t *stream; + struct filter_stream_ctx fctx; + enum stream_q_flags q_flags; + int needs_service; + struct stream_prio_iter spi; + + if (TAILQ_EMPTY(&conn->fc_pub.read_streams)) + return; + + fctx.last_stream_id = conn->fc_last_stream_id; + fctx.max_peer_stream_id = conn->fc_max_peer_stream_id; + lsquic_spi_init(&spi, TAILQ_FIRST(&conn->fc_pub.read_streams), + TAILQ_LAST(&conn->fc_pub.read_streams, lsquic_streams_tailq), + (uintptr_t) &TAILQ_NEXT((lsquic_stream_t *) NULL, next_read_stream), + &conn->fc_pub, "read", NULL, NULL); + + needs_service = 0; + for (stream = lsquic_spi_first(&spi); stream; + stream = lsquic_spi_next(&spi)) + { + q_flags = stream->sm_qflags & SMQF_SERVICE_FLAGS; + lsquic_stream_dispatch_read_events(stream); + needs_service |= q_flags ^ (stream->sm_qflags & SMQF_SERVICE_FLAGS); + } + + if (needs_service) + service_streams(conn); + + /* If new streams were created as result of the read dispatching above, + * process these new streams. This logic is only applicable to in the + * server mode, as a client that creates a stream from an on_read() event + * is not likely to want to *read* from it immediately. + */ + if ((conn->fc_flags & FC_SERVER) && + (fctx.last_stream_id < conn->fc_last_stream_id || + fctx.max_peer_stream_id < conn->fc_max_peer_stream_id)) + { + fctx.conn = conn; + lsquic_spi_init(&spi, TAILQ_FIRST(&conn->fc_pub.read_streams), + TAILQ_LAST(&conn->fc_pub.read_streams, lsquic_streams_tailq), + (uintptr_t) &TAILQ_NEXT((lsquic_stream_t *) NULL, next_read_stream), + &conn->fc_pub, "read-new", + filter_out_old_streams, &fctx); + for (stream = lsquic_spi_first(&spi); stream; + stream = lsquic_spi_next(&spi)) + lsquic_stream_dispatch_read_events(stream); + } +} + + +static void +maybe_conn_flush_headers_stream (struct full_conn *conn) +{ + lsquic_stream_t *stream; + + if (conn->fc_flags & FC_HTTP) + { + stream = lsquic_headers_stream_get_stream(conn->fc_pub.u.gquic.hs); + if (lsquic_stream_has_data_to_flush(stream)) + (void) lsquic_stream_flush(stream); + } +} + + +static void +process_streams_write_events (struct full_conn *conn, int high_prio) +{ + lsquic_stream_t *stream; + struct stream_prio_iter spi; + + lsquic_spi_init(&spi, TAILQ_FIRST(&conn->fc_pub.write_streams), + TAILQ_LAST(&conn->fc_pub.write_streams, lsquic_streams_tailq), + (uintptr_t) &TAILQ_NEXT((lsquic_stream_t *) NULL, next_write_stream), + &conn->fc_pub, + high_prio ? "write-high" : "write-low", NULL, NULL); + + if (high_prio) + lsquic_spi_drop_non_high(&spi); + else + lsquic_spi_drop_high(&spi); + + for (stream = lsquic_spi_first(&spi); stream && write_is_possible(conn); + stream = lsquic_spi_next(&spi)) + if (stream->sm_qflags & SMQF_WRITE_Q_FLAGS) + lsquic_stream_dispatch_write_events(stream); + + maybe_conn_flush_headers_stream(conn); +} + + +static void +process_hsk_stream_read_events (struct full_conn *conn) +{ + lsquic_stream_t *stream; + TAILQ_FOREACH(stream, &conn->fc_pub.read_streams, next_read_stream) + if (lsquic_stream_is_crypto(stream)) + { + lsquic_stream_dispatch_read_events(stream); + break; + } +} + + +static void +process_hsk_stream_write_events (struct full_conn *conn) +{ + lsquic_stream_t *stream; + TAILQ_FOREACH(stream, &conn->fc_pub.write_streams, next_write_stream) + if (lsquic_stream_is_crypto(stream)) + { + lsquic_stream_dispatch_write_events(stream); + break; + } +} + + +static void +generate_ack_frame (struct full_conn *conn) +{ + lsquic_packet_out_t *packet_out; + + packet_out = lsquic_send_ctl_new_packet_out(&conn->fc_send_ctl, 0, PNS_APP, + &conn->fc_path); + if (packet_out) + { + lsquic_send_ctl_scheduled_one(&conn->fc_send_ctl, packet_out); + full_conn_ci_write_ack(&conn->fc_conn, packet_out); + } + else + ABORT_ERROR("cannot allocate packet: %s", strerror(errno)); +} + + +static int +conn_ok_to_close (const struct full_conn *conn) +{ + assert(conn->fc_flags & FC_CLOSING); + return !(conn->fc_flags & FC_SERVER) + || (conn->fc_flags & FC_RECV_CLOSE) + || ( + !lsquic_send_ctl_have_outgoing_stream_frames(&conn->fc_send_ctl) + && lsquic_hash_count(conn->fc_pub.all_streams) <= N_SPECIAL_STREAMS + && lsquic_send_ctl_have_unacked_stream_frames(&conn->fc_send_ctl) == 0); +} + + +static enum tick_st +immediate_close (struct full_conn *conn) +{ + lsquic_packet_out_t *packet_out; + const char *error_reason; + unsigned error_code; + int sz; + + if (conn->fc_flags & (FC_TICK_CLOSE|FC_GOT_PRST)) + return TICK_CLOSE; + + conn->fc_flags |= FC_TICK_CLOSE; + + /* No reason to send anything that's been scheduled if connection is + * being closed immedately. This also ensures that packet numbers + * sequence is always increasing. + */ + lsquic_send_ctl_drop_scheduled(&conn->fc_send_ctl); + + if ((conn->fc_flags & FC_TIMED_OUT) && conn->fc_settings->es_silent_close) + return TICK_CLOSE; + + packet_out = lsquic_send_ctl_new_packet_out(&conn->fc_send_ctl, 0, PNS_APP, + &conn->fc_path); + if (!packet_out) + { + LSQ_WARN("cannot allocate packet: %s", strerror(errno)); + return TICK_CLOSE; + } + + assert(conn->fc_flags & (FC_ERROR|FC_ABORTED|FC_TIMED_OUT|FC_HSK_FAILED)); + if (conn->fc_flags & FC_ERROR) + { + error_code = 0x01; /* QUIC_INTERNAL_ERROR */ + error_reason = "connection error"; + } + else if (conn->fc_flags & FC_ABORTED) + { + error_code = 0x10; /* QUIC_PEER_GOING_AWAY */ + error_reason = "user aborted connection"; + } + else if (conn->fc_flags & FC_TIMED_OUT) + { + error_code = 0x19; /* QUIC_NETWORK_IDLE_TIMEOUT */ + error_reason = "connection timed out"; + } + else if (conn->fc_flags & FC_HSK_FAILED) + { + error_code = 0x2A; /* QUIC_PROOF_INVALID */ + error_reason = "handshake failed"; + } + else + { + error_code = 0x10; /* QUIC_PEER_GOING_AWAY */ + error_reason = NULL; + } + + lsquic_send_ctl_scheduled_one(&conn->fc_send_ctl, packet_out); + sz = conn->fc_conn.cn_pf->pf_gen_connect_close_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), 0, error_code, + error_reason, error_reason ? strlen(error_reason) : 0); + if (sz < 0) { + LSQ_WARN("%s failed", __func__); + return TICK_CLOSE; + } + lsquic_send_ctl_incr_pack_sz(&conn->fc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_CONNECTION_CLOSE; + LSQ_DEBUG("generated CONNECTION_CLOSE frame in its own packet"); + return TICK_SEND|TICK_CLOSE; +} + + +static int +write_is_possible (struct full_conn *conn) +{ + const lsquic_packet_out_t *packet_out; + + packet_out = lsquic_send_ctl_last_scheduled(&conn->fc_send_ctl, PNS_APP, + &conn->fc_path, 0); + return (packet_out && lsquic_packet_out_avail(packet_out) > 10) + || lsquic_send_ctl_can_send(&conn->fc_send_ctl); +} + + +static int +should_generate_ack (const struct full_conn *conn) +{ + return (conn->fc_flags & FC_ACK_QUEUED) + || lsquic_send_ctl_lost_ack(&conn->fc_send_ctl); +} + + +static int +full_conn_ci_can_write_ack (struct lsquic_conn *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + return should_generate_ack(conn); +} + + +struct full_ack_state +{ + enum full_conn_flags conn_flags; + enum alarm_id_bit armed_set; + unsigned n_slack_akbl; + unsigned n_stop_waiting; +}; + + +typedef char ack_state_size[sizeof(struct full_ack_state) + <= sizeof(struct ack_state) ? 1 : - 1]; + +static void +full_conn_ci_ack_snapshot (struct lsquic_conn *lconn, struct ack_state *opaque) +{ + struct full_conn *conn = (struct full_conn *) lconn; + struct full_ack_state *const ack_state = (struct full_ack_state *) opaque; + + ack_state->conn_flags = conn->fc_flags; + ack_state->armed_set = conn->fc_alset.as_armed_set; + ack_state->n_slack_akbl = conn->fc_n_slack_akbl; + ack_state->n_stop_waiting + = lsquic_send_ctl_n_stop_waiting(&conn->fc_send_ctl); + LSQ_DEBUG("take ACK snapshot"); +} + + +static void +full_conn_ci_ack_rollback (struct lsquic_conn *lconn, struct ack_state *opaque) +{ + struct full_ack_state *const ack_state = (struct full_ack_state *) opaque; + struct full_conn *conn = (struct full_conn *) lconn; + + conn->fc_flags &= ~(FC_ACK_HAD_MISS|FC_ACK_QUEUED); + conn->fc_flags |= (FC_ACK_HAD_MISS|FC_ACK_QUEUED) + & ack_state->conn_flags; + + conn->fc_alset.as_armed_set &= ~ALBIT_ACK_APP; + conn->fc_alset.as_armed_set |= ALBIT_ACK_APP & ack_state->armed_set; + + conn->fc_n_slack_akbl = ack_state->n_slack_akbl; + conn->fc_send_ctl.sc_n_stop_waiting = ack_state->n_stop_waiting; + + LSQ_DEBUG("roll back ACK state"); +} + + +/* This should be called before lsquic_alarmset_ring_expired() */ +static void +maybe_set_noprogress_alarm (struct full_conn *conn, lsquic_time_t now) +{ + lsquic_time_t exp; + + if (conn->fc_flags & FC_NOPROG_TIMEOUT) + { + if (conn->fc_pub.last_tick) + { + exp = conn->fc_pub.last_prog + conn->fc_enpub->enp_noprog_timeout; + if (!lsquic_alarmset_is_set(&conn->fc_alset, AL_IDLE) + || exp < conn->fc_alset.as_expiry[AL_IDLE]) + lsquic_alarmset_set(&conn->fc_alset, AL_IDLE, exp); + conn->fc_pub.last_tick = now; + } + else + { + conn->fc_pub.last_tick = now; + conn->fc_pub.last_prog = now; + } + } +} + + +static enum tick_st +full_conn_ci_tick (lsquic_conn_t *lconn, lsquic_time_t now) +{ + struct full_conn *conn = (struct full_conn *) lconn; + int have_delayed_packets; + unsigned n; + int s; + enum tick_st tick = 0; + +#define CLOSE_IF_NECESSARY() do { \ + if (conn->fc_flags & FC_IMMEDIATE_CLOSE_FLAGS) \ + { \ + tick |= immediate_close(conn); \ + goto close_end; \ + } \ +} while (0) + +#define RETURN_IF_OUT_OF_PACKETS() do { \ + if (!lsquic_send_ctl_can_send(&conn->fc_send_ctl)) \ + { \ + if (0 == lsquic_send_ctl_n_scheduled(&conn->fc_send_ctl)) \ + { \ + LSQ_DEBUG("used up packet allowance, quiet now (line %d)", \ + __LINE__); \ + tick |= TICK_QUIET; \ + } \ + else \ + { \ + LSQ_DEBUG("used up packet allowance, sending now (line %d)",\ + __LINE__); \ + tick |= TICK_SEND; \ + } \ + goto end; \ + } \ +} while (0) + +#if LSQUIC_CONN_STATS + ++conn->fc_stats.n_ticks; +#endif + + CLOSE_IF_NECESSARY(); + + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG) + && conn->fc_mem_logged_last + 1000000 <= now) + { + conn->fc_mem_logged_last = now; + LSQ_DEBUG("memory used: %zd bytes", calc_mem_used(conn)); + } + + if (conn->fc_flags & FC_HAVE_SAVED_ACK) + { + (void) /* If there is an error, we'll fail shortly */ + process_ack(conn, &conn->fc_ack, conn->fc_saved_ack_received, now); + conn->fc_flags &= ~FC_HAVE_SAVED_ACK; + } + + maybe_set_noprogress_alarm(conn, now); + + lsquic_send_ctl_tick_in(&conn->fc_send_ctl, now); + lsquic_send_ctl_set_buffer_stream_packets(&conn->fc_send_ctl, 1); + CLOSE_IF_NECESSARY(); + + lsquic_alarmset_ring_expired(&conn->fc_alset, now); + CLOSE_IF_NECESSARY(); + + /* To make things simple, only stream 1 is active until the handshake + * has been completed. This will be adjusted in the future: the client + * does not want to wait if it has the server information. + */ + if (conn->fc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + process_streams_read_events(conn); + else + process_hsk_stream_read_events(conn); + CLOSE_IF_NECESSARY(); + + if (lsquic_send_ctl_pacer_blocked(&conn->fc_send_ctl)) + goto skip_write; + + if (conn->fc_flags & FC_FIRST_TICK) + { + conn->fc_flags &= ~FC_FIRST_TICK; + have_delayed_packets = 0; + } + else + /* If there are any scheduled packets at this point, it means that + * they were not sent during previous tick; in other words, they + * are delayed. When there are delayed packets, the only packet + * we sometimes add is a packet with an ACK frame, and we add it + * to the *front* of the queue. + */ + have_delayed_packets = lsquic_send_ctl_maybe_squeeze_sched( + &conn->fc_send_ctl); + + if (should_generate_ack(conn)) + { + if (have_delayed_packets) + lsquic_send_ctl_reset_packnos(&conn->fc_send_ctl); + + generate_ack_frame(conn); + CLOSE_IF_NECESSARY(); + + /* Try to send STOP_WAITING frame at the same time we send an ACK + * This follows reference implementation. + */ + if (!(conn->fc_flags & FC_NSTP)) + conn->fc_flags |= FC_SEND_STOP_WAITING; + + if (have_delayed_packets) + { + if (conn->fc_flags & FC_SEND_STOP_WAITING) + { + /* TODO: ensure that STOP_WAITING frame is in the same packet + * as the ACK frame in delayed packet mode. + */ + generate_stop_waiting_frame(conn); + CLOSE_IF_NECESSARY(); + } + lsquic_send_ctl_ack_to_front(&conn->fc_send_ctl, 1); + } + } + + if (have_delayed_packets) + { + /* The reason for not adding STOP_WAITING and other frames below + * to the packet carrying ACK frame generated when there are delayed + * packets is so that if the ACK packet itself is delayed, it can be + * dropped and replaced by new ACK packet. This way, we are never + * more than 1 packet over CWND. + */ + tick |= TICK_SEND; + if (conn->fc_flags & FC_CLOSING) + goto end_write; + else + goto end; + } + + /* Try to fit any of the following three frames -- STOP_WAITING, + * WINDOW_UPDATE, and GOAWAY -- before checking if we have run + * out of packets. If either of them does not fit, it will be + * tried next time around. + */ + if (conn->fc_flags & FC_SEND_STOP_WAITING) + { + generate_stop_waiting_frame(conn); + CLOSE_IF_NECESSARY(); + } + + if (lsquic_cfcw_fc_offsets_changed(&conn->fc_pub.cfcw) || + (conn->fc_flags & FC_SEND_WUF)) + { + conn->fc_flags |= FC_SEND_WUF; + generate_wuf_conn(conn); + CLOSE_IF_NECESSARY(); + } + + if (conn->fc_flags & FC_SEND_GOAWAY) + { + generate_goaway_frame(conn); + CLOSE_IF_NECESSARY(); + } + + n = lsquic_send_ctl_reschedule_packets(&conn->fc_send_ctl); + if (n > 0) + CLOSE_IF_NECESSARY(); + + if (conn->fc_conn.cn_flags & LSCONN_SEND_BLOCKED) + { + RETURN_IF_OUT_OF_PACKETS(); + if (generate_blocked_frame(conn, 0)) + conn->fc_conn.cn_flags &= ~LSCONN_SEND_BLOCKED; + } + + if (!STAILQ_EMPTY(&conn->fc_stream_ids_to_reset)) + { + packetize_standalone_stream_resets(conn); + CLOSE_IF_NECESSARY(); + } + + if (!TAILQ_EMPTY(&conn->fc_pub.sending_streams)) + { + process_streams_ready_to_send(conn); + CLOSE_IF_NECESSARY(); + } + + lsquic_send_ctl_set_buffer_stream_packets(&conn->fc_send_ctl, 0); + if (!handshake_done_or_doing_sess_resume(conn)) + { + process_hsk_stream_write_events(conn); + lsquic_send_ctl_maybe_app_limited(&conn->fc_send_ctl, &conn->fc_path); + goto end_write; + } + + maybe_conn_flush_headers_stream(conn); + + s = lsquic_send_ctl_schedule_buffered(&conn->fc_send_ctl, BPT_HIGHEST_PRIO); + conn->fc_flags |= (s < 0) << FC_BIT_ERROR; + if (!write_is_possible(conn)) + goto end_write; + + if (!TAILQ_EMPTY(&conn->fc_pub.write_streams)) + { + process_streams_write_events(conn, 1); + if (!write_is_possible(conn)) + goto end_write; + } + + s = lsquic_send_ctl_schedule_buffered(&conn->fc_send_ctl, BPT_OTHER_PRIO); + conn->fc_flags |= (s < 0) << FC_BIT_ERROR; + if (!write_is_possible(conn)) + goto end_write; + + if (!TAILQ_EMPTY(&conn->fc_pub.write_streams)) + process_streams_write_events(conn, 0); + + lsquic_send_ctl_maybe_app_limited(&conn->fc_send_ctl, &conn->fc_path); + + end_write: + + skip_write: + if ((conn->fc_flags & FC_CLOSING) && conn_ok_to_close(conn)) + { + LSQ_DEBUG("connection is OK to close"); + /* This is normal termination sequence. + * + * Generate CONNECTION_CLOSE frame if we are responding to one, have + * packets scheduled to send, or silent close flag is not set. + */ + conn->fc_flags |= FC_TICK_CLOSE; + if (conn->fc_flags & FC_RECV_CLOSE) + tick |= TICK_CLOSE; + if ((conn->fc_flags & FC_RECV_CLOSE) || + 0 != lsquic_send_ctl_n_scheduled(&conn->fc_send_ctl) || + !conn->fc_settings->es_silent_close) + { + RETURN_IF_OUT_OF_PACKETS(); + generate_connection_close_packet(conn); + tick |= TICK_SEND|TICK_CLOSE; + } + else + tick |= TICK_CLOSE; + + goto end; + } + + if (0 == lsquic_send_ctl_n_scheduled(&conn->fc_send_ctl)) + { + if (conn->fc_flags & FC_SEND_PING) + { + RETURN_IF_OUT_OF_PACKETS(); + conn->fc_flags &= ~FC_SEND_PING; + generate_ping_frame(conn); + CLOSE_IF_NECESSARY(); + assert(lsquic_send_ctl_n_scheduled(&conn->fc_send_ctl) != 0); + } + else + { + tick |= TICK_QUIET; + goto end; + } + } + else if (conn->fc_settings->es_ping_period) + { + lsquic_alarmset_unset(&conn->fc_alset, AL_PING); + lsquic_send_ctl_sanity_check(&conn->fc_send_ctl); + conn->fc_flags &= ~FC_SEND_PING; /* It may have rung */ + } + + /* From the spec: + * " The PING frame should be used to keep a connection alive when + * " a stream is open. + */ + if (conn->fc_settings->es_ping_period + && lsquic_hash_count(conn->fc_pub.all_streams) > 0) + lsquic_alarmset_set(&conn->fc_alset, AL_PING, + now + conn->fc_settings->es_ping_period * 1000 * 1000); + + tick |= TICK_SEND; + + end: + service_streams(conn); + CLOSE_IF_NECESSARY(); + + close_end: + lsquic_send_ctl_set_buffer_stream_packets(&conn->fc_send_ctl, 1); + lsquic_send_ctl_tick_out(&conn->fc_send_ctl); + return tick; +} + + +static void +set_earliest_idle_alarm (struct full_conn *conn, lsquic_time_t idle_conn_to) +{ + lsquic_time_t exp; + + if (conn->fc_pub.last_prog + && (assert(conn->fc_flags & FC_NOPROG_TIMEOUT), + exp = conn->fc_pub.last_prog + conn->fc_enpub->enp_noprog_timeout, + exp < idle_conn_to)) + idle_conn_to = exp; + lsquic_alarmset_set(&conn->fc_alset, AL_IDLE, idle_conn_to); +} + + +static void +full_conn_ci_packet_in (lsquic_conn_t *lconn, lsquic_packet_in_t *packet_in) +{ + struct full_conn *conn = (struct full_conn *) lconn; + +#if LSQUIC_CONN_STATS + conn->fc_stats.in.bytes += packet_in->pi_data_sz; +#endif + set_earliest_idle_alarm(conn, + packet_in->pi_received + conn->fc_settings->es_idle_conn_to); + if (0 == (conn->fc_flags & FC_ERROR)) + if (0 != process_incoming_packet(conn, packet_in)) + conn->fc_flags |= FC_ERROR; +} + + +static lsquic_packet_out_t * +full_conn_ci_next_packet_to_send (struct lsquic_conn *lconn, + const struct to_coal *unused) +{ + struct full_conn *conn = (struct full_conn *) lconn; + return lsquic_send_ctl_next_packet_to_send(&conn->fc_send_ctl, NULL); +} + + +static void +full_conn_ci_packet_sent (lsquic_conn_t *lconn, lsquic_packet_out_t *packet_out) +{ + struct full_conn *conn = (struct full_conn *) lconn; + int s; + + recent_packet_hist_new(conn, 1, packet_out->po_sent); + recent_packet_hist_frames(conn, 1, packet_out->po_frame_types); + + if (packet_out->po_frame_types & GQUIC_FRAME_RETRANSMITTABLE_MASK) + conn->fc_n_cons_unretx = 0; + else + ++conn->fc_n_cons_unretx; + s = lsquic_send_ctl_sent_packet(&conn->fc_send_ctl, packet_out); + if (s != 0) + ABORT_ERROR("sent packet failed: %s", strerror(errno)); +#if LSQUIC_CONN_STATS + ++conn->fc_stats.out.packets; + conn->fc_stats.out.bytes += lsquic_packet_out_sent_sz(lconn, packet_out); +#endif +} + + +static void +full_conn_ci_packet_not_sent (lsquic_conn_t *lconn, lsquic_packet_out_t *packet_out) +{ + struct full_conn *conn = (struct full_conn *) lconn; + lsquic_send_ctl_delayed_one(&conn->fc_send_ctl, packet_out); +} + + +static void +full_conn_ci_hsk_done (lsquic_conn_t *lconn, enum lsquic_hsk_status status) +{ + struct full_conn *conn = (struct full_conn *) lconn; + lsquic_alarmset_unset(&conn->fc_alset, AL_HANDSHAKE); + switch (status) + { + case LSQ_HSK_RESUMED_FAIL: + case LSQ_HSK_FAIL: + conn->fc_flags |= FC_HSK_FAILED; + break; + case LSQ_HSK_OK: + case LSQ_HSK_RESUMED_OK: + if (0 == apply_peer_settings(conn)) + { + if (conn->fc_flags & FC_HTTP) + maybe_send_settings(conn); + lconn->cn_flags |= LSCONN_HANDSHAKE_DONE; + } + else + conn->fc_flags |= FC_ERROR; + break; + } + if (conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_hsk_done) + conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_hsk_done(lconn, + status); + if (status == LSQ_HSK_OK || status == LSQ_HSK_RESUMED_OK) + { + if (conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_sess_resume_info) + conn->fc_conn.cn_esf.g->esf_maybe_dispatch_sess_resume( + conn->fc_conn.cn_enc_session, + conn->fc_stream_ifs[STREAM_IF_STD].stream_if->on_sess_resume_info); + if (conn->fc_n_delayed_streams) + create_delayed_streams(conn); + if (!(conn->fc_flags & FC_SERVER)) + lsquic_send_ctl_begin_optack_detection(&conn->fc_send_ctl); + } +} + + +static void +full_conn_ci_abort (struct lsquic_conn *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + LSQ_INFO("User aborted connection"); + conn->fc_flags |= FC_ABORTED; + lsquic_engine_add_conn_to_tickable(conn->fc_enpub, lconn); +} + + +static void +full_conn_ci_internal_error (struct lsquic_conn *lconn, + const char *format, ...) +{ + struct full_conn *const conn = (struct full_conn *) lconn; + LSQ_INFO("Internal error reported"); + conn->fc_flags |= FC_ERROR; +} + + +/* This function should not be called, as this is specific to IETF QUIC */ +static void +full_conn_ci_abort_error (struct lsquic_conn *lconn, int is_app, + unsigned error_code, const char *fmt, ...) +{ + struct full_conn *const conn = (struct full_conn *) lconn; + assert(0); + LSQ_WARN("(GQUIC) abort error is called unexpectedly"); + conn->fc_flags |= FC_ERROR; +} + + +static void +full_conn_ci_close (struct lsquic_conn *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + lsquic_stream_t *stream; + struct lsquic_hash_elem *el; + + if (!(conn->fc_flags & FC_CLOSING)) + { + for (el = lsquic_hash_first(conn->fc_pub.all_streams); el; + el = lsquic_hash_next(conn->fc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if (!lsquic_stream_is_critical(stream)) + lsquic_stream_maybe_reset(stream, 0, 1); + } + conn->fc_flags |= FC_CLOSING; + if (!(conn->fc_flags & FC_GOAWAY_SENT)) + conn->fc_flags |= FC_SEND_GOAWAY; + lsquic_engine_add_conn_to_tickable(conn->fc_enpub, lconn); + } +} + + +static void +full_conn_ci_going_away (struct lsquic_conn *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + if (!(conn->fc_flags & (FC_CLOSING|FC_GOING_AWAY))) + { + LSQ_INFO("connection marked as going away"); + assert(!(conn->fc_flags & FC_SEND_GOAWAY)); + conn->fc_flags |= FC_GOING_AWAY; + if (!(conn->fc_flags & FC_GOAWAY_SENT)) + { + conn->fc_flags |= FC_SEND_GOAWAY; + lsquic_engine_add_conn_to_tickable(conn->fc_enpub, lconn); + } + } +} + + +/* Find stream when stream ID is read from something other than a STREAM + * frame. If the stream cannot be found or created, the connection is + * aborted. + */ +#if __GNUC__ +__attribute__((nonnull(4))) +#endif +static lsquic_stream_t * +find_stream_on_non_stream_frame (struct full_conn *conn, + lsquic_stream_id_t stream_id, enum stream_ctor_flags stream_ctor_flags, + const char *what) +{ + lsquic_stream_t *stream; + unsigned in_count; + + stream = find_stream_by_id(conn, stream_id); + if (stream) + return stream; + + if (conn_is_stream_closed(conn, stream_id)) + { + LSQ_DEBUG("drop incoming %s for closed stream %"PRIu64, what, stream_id); + return NULL; + } + + /* XXX It seems that if we receive a priority frame for a stream, the + * stream should exist or have existed at some point. Thus, if + * it does not exist, we should return an error here. + */ + + if (!is_peer_initiated(conn, stream_id)) + { + ABORT_ERROR("frame for never-initiated stream (push promise?)"); + return NULL; + } + + in_count = count_streams(conn, 1); + LSQ_DEBUG("number of peer-initiated streams: %u", in_count); + if (in_count >= conn->fc_cfg.max_streams_in) + { + if (!(conn->fc_flags & FC_ABORT_COMPLAINED)) + { + unsigned counts[N_SCNTS]; + collect_stream_counts(conn, 1, counts); + ABORT_WARN("incoming %s for stream %"PRIu64" would exceed " + "limit: %u. all: %u; peer: %u; closed: %u; reset: %u; reset " + "and not closed: %u", + what, stream_id, conn->fc_cfg.max_streams_in, counts[SCNT_ALL], + counts[SCNT_PEER], counts[SCNT_CLOSED], counts[SCNT_RESET], + counts[SCNT_RES_UNCLO]); + } + return NULL; + } + if ((conn->fc_flags & FC_GOING_AWAY) && + stream_id > conn->fc_max_peer_stream_id) + { + maybe_schedule_reset_for_stream(conn, stream_id); + LSQ_DEBUG("going away: reset new incoming stream %"PRIu64, stream_id); + return NULL; + } + + stream = new_stream(conn, stream_id, stream_ctor_flags); + if (!stream) + { + ABORT_ERROR("cannot create new stream: %s", strerror(errno)); + return NULL; + } + if (stream_id > conn->fc_max_peer_stream_id) + conn->fc_max_peer_stream_id = stream_id; + + return stream; +} + + +static void +headers_stream_on_conn_error (void *ctx) +{ + struct full_conn *conn = ctx; + ABORT_ERROR("connection error reported by HEADERS stream"); +} + + +static void +headers_stream_on_stream_error (void *ctx, lsquic_stream_id_t stream_id) +{ + struct full_conn *conn = ctx; + lsquic_stream_t *stream; + + stream = find_stream_on_non_stream_frame(conn, stream_id, SCF_CALL_ON_NEW, + "error"); + if (stream) + { + LSQ_DEBUG("resetting stream %"PRIu64" due to error", stream_id); + /* We use code 1, which is QUIC_INTERNAL_ERROR (see + * [draft-hamilton-quic-transport-protocol-01], Section 10), for all + * errors. There does not seem to be a good reason to figure out + * and send more specific error codes. + */ + lsquic_stream_maybe_reset(stream, 1, 0); + } +} + + +static void +headers_stream_on_enable_push (void *ctx, int enable_push) +{ + struct full_conn *conn = ctx; + if (0 == enable_push) + { + LSQ_DEBUG("server push %d -> 0", !!(conn->fc_flags & FC_SUPPORT_PUSH)); + conn->fc_flags &= ~FC_SUPPORT_PUSH; + } + else if (conn->fc_settings->es_support_push) + { + LSQ_DEBUG("server push %d -> 1", !!(conn->fc_flags & FC_SUPPORT_PUSH)); + conn->fc_flags |= FC_SUPPORT_PUSH; + } + else + LSQ_INFO("not enabling server push that's disabled in engine settings"); +} + + +static void +headers_stream_on_incoming_headers (void *ctx, struct uncompressed_headers *uh) +{ + struct full_conn *conn = ctx; + lsquic_stream_t *stream; + + LSQ_DEBUG("incoming headers for stream %"PRIu64, uh->uh_stream_id); + + stream = find_stream_on_non_stream_frame(conn, uh->uh_stream_id, 0, + "headers"); + if (!stream) + goto free_uh; + + if (lsquic_stream_is_reset(stream)) + { + LSQ_DEBUG("stream is reset: ignore headers"); + goto free_uh; + } + + if (0 != lsquic_stream_uh_in(stream, uh)) + { + ABORT_ERROR("stream %"PRIu64" refused incoming headers", + uh->uh_stream_id); + goto free_uh; + } + + if (!(stream->stream_flags & STREAM_ONNEW_DONE)) + lsquic_stream_call_on_new(stream); + + return; + + free_uh: + if (uh->uh_hset) + conn->fc_enpub->enp_hsi_if->hsi_discard_header_set(uh->uh_hset); + free(uh); +} + + +static void +headers_stream_on_push_promise (void *ctx, struct uncompressed_headers *uh) +{ + struct full_conn *conn = ctx; + lsquic_stream_t *stream; + + assert(!(conn->fc_flags & FC_SERVER)); + + LSQ_DEBUG("push promise for stream %"PRIu64" in response to %"PRIu64, + uh->uh_oth_stream_id, uh->uh_stream_id); + + if (0 == (uh->uh_stream_id & 1) || + 0 != (uh->uh_oth_stream_id & 1)) + { + ABORT_ERROR("invalid push promise stream IDs: %"PRIu64", %"PRIu64, + uh->uh_oth_stream_id, uh->uh_stream_id); + goto free_uh; + } + + if (!(conn_is_stream_closed(conn, uh->uh_stream_id) || + find_stream_by_id(conn, uh->uh_stream_id))) + { + ABORT_ERROR("invalid push promise original stream ID %"PRIu64" never " + "initiated", uh->uh_stream_id); + goto free_uh; + } + + if (conn_is_stream_closed(conn, uh->uh_oth_stream_id) || + find_stream_by_id(conn, uh->uh_oth_stream_id)) + { + ABORT_ERROR("invalid promised stream ID %"PRIu64" already used", + uh->uh_oth_stream_id); + goto free_uh; + } + + stream = new_stream_ext(conn, uh->uh_oth_stream_id, STREAM_IF_STD, + (conn->fc_enpub->enp_settings.es_delay_onclose?SCF_DELAY_ONCLOSE:0)| + SCF_DI_AUTOSWITCH|(conn->fc_enpub->enp_settings.es_rw_once ? + SCF_DISP_RW_ONCE : 0)); + if (!stream) + { + ABORT_ERROR("cannot create stream: %s", strerror(errno)); + goto free_uh; + } + lsquic_stream_push_req(stream, uh); + lsquic_stream_call_on_new(stream); + return; + + free_uh: + if (uh->uh_hset) + conn->fc_enpub->enp_hsi_if->hsi_discard_header_set(uh->uh_hset); + free(uh); +} + + +static void +headers_stream_on_priority (void *ctx, lsquic_stream_id_t stream_id, + int exclusive, lsquic_stream_id_t dep_stream_id, unsigned weight) +{ + struct full_conn *conn = ctx; + lsquic_stream_t *stream; + LSQ_DEBUG("got priority frame for stream %"PRIu64": (ex: %d; dep stream: " + "%"PRIu64"; weight: %u)", stream_id, exclusive, dep_stream_id, weight); + stream = find_stream_on_non_stream_frame(conn, stream_id, SCF_CALL_ON_NEW, + "priority"); + if (stream) + lsquic_stream_set_priority_internal(stream, weight); +} + + +#define STRLEN(s) (sizeof(s) - 1) + +static struct uncompressed_headers * +synthesize_push_request (struct full_conn *conn, void *hset, + lsquic_stream_id_t pushed_stream_id, const lsquic_stream_t *dep_stream) +{ + struct uncompressed_headers *uh; + + assert(hset); + + uh = malloc(sizeof(*uh)); + if (!uh) + return NULL; + + uh->uh_stream_id = pushed_stream_id; + uh->uh_oth_stream_id = 0; /* We don't do dependencies */ + uh->uh_weight = lsquic_stream_priority(dep_stream) / 2 + 1; + uh->uh_exclusive = 0; + uh->uh_flags = UH_FIN; + if (lsquic_http1x_if == conn->fc_enpub->enp_hsi_if) + uh->uh_flags |= UH_H1H; + uh->uh_hset = hset; + uh->uh_next = NULL; + + return uh; +} + + +static int +full_conn_ci_is_push_enabled (struct lsquic_conn *lconn) +{ + struct full_conn *const conn = (struct full_conn *) lconn; + return conn->fc_flags & FC_SUPPORT_PUSH; +} + + +static int +full_conn_ci_push_stream (struct lsquic_conn *lconn, void *hset, + struct lsquic_stream *dep_stream, const struct lsquic_http_headers *headers) +{ + struct full_conn *const conn = (struct full_conn *) lconn; + lsquic_stream_t *pushed_stream; + struct uncompressed_headers *uh; /* We synthesize the request */ + lsquic_stream_id_t stream_id; + int hit_limit; + + if ((conn->fc_flags & (FC_SERVER|FC_HTTP)) != (FC_SERVER|FC_HTTP)) + { + LSQ_ERROR("must be server in HTTP mode to push streams"); + return -1; + } + + if (lsquic_stream_is_pushed(dep_stream)) + { + LSQ_WARN("cannot push stream dependent on another pushed stream " + "(%"PRIu64")", dep_stream->id); + return -1; + } + + if (!(conn->fc_flags & FC_SUPPORT_PUSH)) + { + LSQ_INFO("server push support is disabled"); + return 1; + } + + if (!hset) + { + LSQ_ERROR("header set must be specified when pushing"); + return -1; + } + + hit_limit = 0; + if (either_side_going_away(conn) || + (hit_limit = 1, count_streams(conn, 0) >= conn->fc_cfg.max_streams_out)) + { + LSQ_DEBUG("cannot create pushed stream: %s", hit_limit ? + "hit connection limit" : "connection is going away"); + return 1; + } + + stream_id = generate_stream_id(conn); + uh = synthesize_push_request(conn, hset, stream_id, dep_stream); + if (!uh) + { + ABORT_ERROR("memory allocation failure"); + return -1; + } + + pushed_stream = new_stream(conn, stream_id, 0); + if (!pushed_stream) + { + LSQ_WARN("cannot create stream: %s", strerror(errno)); + free(uh); + return -1; + } + + if (0 != lsquic_stream_uh_in(pushed_stream, uh)) + { + LSQ_WARN("stream barfed when fed synthetic request"); + free(uh); + return -1; + } + + if (0 != lsquic_headers_stream_push_promise(conn->fc_pub.u.gquic.hs, dep_stream->id, + pushed_stream->id, headers)) + { + /* If forget we ever had the hset pointer: */ + lsquic_stream_drop_hset_ref(pushed_stream); + /* Now roll back stream creation and return stream ID: */ + if (pushed_stream->sm_hash_el.qhe_flags & QHE_HASHED) + lsquic_hash_erase(conn->fc_pub.all_streams, + &pushed_stream->sm_hash_el); + lsquic_stream_destroy(pushed_stream); + conn->fc_last_stream_id -= 2; + LSQ_INFO("could not send push promise"); + return -1; + } + + lsquic_stream_call_on_new(pushed_stream); + return 0; +} + + +static void +full_conn_ci_tls_alert (struct lsquic_conn *lconn, uint8_t alert) +{ + assert(0); +} + + +static enum LSQUIC_CONN_STATUS +full_conn_ci_status (struct lsquic_conn *lconn, char *errbuf, size_t bufsz) +{ + struct full_conn *const conn = (struct full_conn *) lconn; + size_t n; + + /* Test the common case first: */ + if (!(conn->fc_flags & (FC_ERROR + |FC_TIMED_OUT + |FC_ABORTED + |FC_GOT_PRST + |FC_HSK_FAILED + |FC_CLOSING + |FC_GOING_AWAY))) + { + if (lconn->cn_flags & LSCONN_PEER_GOING_AWAY) + return LSCONN_ST_PEER_GOING_AWAY; + else if (lconn->cn_flags & LSCONN_HANDSHAKE_DONE) + return LSCONN_ST_CONNECTED; + else + return LSCONN_ST_HSK_IN_PROGRESS; + } + + if (errbuf && bufsz) + { + if (conn->fc_errmsg) + { + n = bufsz < MAX_ERRMSG ? bufsz : MAX_ERRMSG; + strncpy(errbuf, conn->fc_errmsg, n); + errbuf[n - 1] = '\0'; + } + else + errbuf[0] = '\0'; + } + + if (conn->fc_flags & FC_ERROR) + { + if (conn->fc_flags & FC_HSK_FAILED) + return LSCONN_ST_VERNEG_FAILURE; + else + return LSCONN_ST_ERROR; + } + if (conn->fc_flags & FC_TIMED_OUT) + return LSCONN_ST_TIMED_OUT; + if (conn->fc_flags & FC_ABORTED) + return LSCONN_ST_USER_ABORTED; + if (conn->fc_flags & FC_GOT_PRST) + return LSCONN_ST_RESET; + if (conn->fc_flags & FC_HSK_FAILED) + return LSCONN_ST_HSK_FAILURE; + if (conn->fc_flags & FC_CLOSING) + return LSCONN_ST_CLOSED; + assert(conn->fc_flags & FC_GOING_AWAY); + return LSCONN_ST_GOING_AWAY; +} + + +static int +full_conn_ci_is_tickable (lsquic_conn_t *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + struct lsquic_stream *stream; + + if (!TAILQ_EMPTY(&conn->fc_pub.service_streams)) + { + LSQ_DEBUG("tickable: there are streams to be serviced"); + return 1; + } + + if ((conn->fc_enpub->enp_flags & ENPUB_CAN_SEND) + && (should_generate_ack(conn) || + !lsquic_send_ctl_sched_is_blocked(&conn->fc_send_ctl))) + { + const enum full_conn_flags send_flags = FC_SEND_GOAWAY + |FC_SEND_STOP_WAITING|FC_SEND_PING|FC_SEND_WUF; + if (conn->fc_flags & send_flags) + { + LSQ_DEBUG("tickable: flags: 0x%X", conn->fc_flags & send_flags); + goto check_can_send; + } + if (lsquic_send_ctl_has_sendable(&conn->fc_send_ctl)) + { + LSQ_DEBUG("tickable: has sendable packets"); + return 1; /* Don't check can_send: already on scheduled queue */ + } + if ((conn->fc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + && lsquic_send_ctl_has_buffered(&conn->fc_send_ctl)) + { + LSQ_DEBUG("tickable: has buffered packets"); + goto check_can_send; + } + if (!TAILQ_EMPTY(&conn->fc_pub.sending_streams)) + { + LSQ_DEBUG("tickable: there are sending streams"); + goto check_can_send; + } + if (handshake_done_or_doing_sess_resume(conn)) + { + TAILQ_FOREACH(stream, &conn->fc_pub.write_streams, + next_write_stream) + if (lsquic_stream_write_avail(stream)) + { + LSQ_DEBUG("tickable: stream %"PRIu64" can be written to", + stream->id); + goto check_can_send; + } + } + else + { + TAILQ_FOREACH(stream, &conn->fc_pub.write_streams, + next_write_stream) + if (lsquic_stream_is_crypto(stream) + && lsquic_stream_write_avail(stream)) + { + LSQ_DEBUG("tickable: stream %"PRIu64" can be written to", + stream->id); + goto check_can_send; + } + } + goto check_readable_streams; + check_can_send: + if (lsquic_send_ctl_can_send(&conn->fc_send_ctl)) + return 1; + } + + check_readable_streams: + TAILQ_FOREACH(stream, &conn->fc_pub.read_streams, next_read_stream) + if (lsquic_stream_readable(stream)) + { + LSQ_DEBUG("tickable: stream %"PRIu64" can be read from", + stream->id); + return 1; + } + + if (conn->fc_flags & FC_IMMEDIATE_CLOSE_FLAGS) + { + LSQ_DEBUG("tickable: immediate close flags: 0x%X", + (unsigned) (conn->fc_flags & FC_IMMEDIATE_CLOSE_FLAGS)); + return 1; + } + + LSQ_DEBUG("not tickable"); + return 0; +} + + +static lsquic_time_t +full_conn_ci_next_tick_time (lsquic_conn_t *lconn, unsigned *why) +{ + struct full_conn *conn = (struct full_conn *) lconn; + lsquic_time_t alarm_time, pacer_time, now; + enum alarm_id al_id; + + alarm_time = lsquic_alarmset_mintime(&conn->fc_alset, &al_id); + pacer_time = lsquic_send_ctl_next_pacer_time(&conn->fc_send_ctl); + + if (pacer_time && LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + now = lsquic_time_now(); + if (pacer_time < now) + LSQ_DEBUG("%s: pacer is %"PRIu64" usec in the past", __func__, + now - pacer_time); + } + + if (alarm_time && pacer_time) + { + if (alarm_time < pacer_time) + { + *why = N_AEWS + al_id; + return alarm_time; + } + else + { + *why = AEW_PACER; + return pacer_time; + } + } + else if (alarm_time) + { + *why = N_AEWS + al_id; + return alarm_time; + } + else if (pacer_time) + { + *why = AEW_PACER; + return pacer_time; + } + else + return 0; +} + + +int +lsquic_gquic_full_conn_srej (struct lsquic_conn *lconn) +{ + struct full_conn *const conn = (struct full_conn *) lconn; + const unsigned cce_idx = lconn->cn_cur_cce_idx; + struct conn_cid_elem *const cce = &lconn->cn_cces[ cce_idx ]; + struct lsquic_stream *stream; + enum lsquic_version version; + + if (lconn->cn_esf_c->esf_is_sess_resume_enabled(conn->fc_conn.cn_enc_session)) + { + /* We need to do this because we do not clean up any data that may + * have been already sent. This is left an optimization for the + * future. + */ + LSQ_DEBUG("received SREJ when 0RTT was on: fail handshake and let " + "caller retry"); + full_conn_ci_hsk_done(lconn, LSQ_HSK_RESUMED_FAIL); + return -1; + } + + LSQ_DEBUG("reinitialize CID and other state due to SREJ"); + + /* Generate new CID and update connections hash */ + if (cce->cce_hash_el.qhe_flags & QHE_HASHED) + { + lsquic_engine_retire_cid(conn->fc_enpub, lconn, cce_idx, + 0 /* OK to omit the `now' value */, 0); + lconn->cn_cces_mask |= 1 << cce_idx; + lsquic_generate_cid_gquic(&cce->cce_cid); + if (0 != lsquic_engine_add_cid(conn->fc_enpub, lconn, cce_idx)) + return -1; + } + else + { + LSQ_DEBUG("not hashed by CID, no need to reinsert"); + lsquic_generate_cid_gquic(&cce->cce_cid); + } + lconn->cn_esf.g->esf_reset_cid(lconn->cn_enc_session, &cce->cce_cid); + + /* Reset version negotiation */ + version = highest_bit_set(conn->fc_orig_versions); + init_ver_neg(conn, conn->fc_orig_versions, &version); + + /* Reset receive history */ + lsquic_rechist_cleanup(&conn->fc_rechist); + lsquic_rechist_init(&conn->fc_rechist, 0, MAX_ACK_RANGES); + + /* Reset send controller state */ + lsquic_send_ctl_cleanup(&conn->fc_send_ctl); + lsquic_send_ctl_init(&conn->fc_send_ctl, &conn->fc_alset, conn->fc_enpub, + &conn->fc_ver_neg, &conn->fc_pub, 0); + + /* Reset handshake stream state */ + stream = find_stream_by_id(conn, hsk_stream_id(conn)); + if (!stream) + return -1; + stream->n_unacked = 0; + stream->tosend_off = 0; + stream->read_offset = 0; + stream->fc.sf_read_off = 0; + stream->fc.sf_max_recv_off = 0; + + lsquic_alarmset_unset(&conn->fc_alset, AL_RETX_APP); + lsquic_alarmset_unset(&conn->fc_alset, AL_ACK_APP); + conn->fc_flags &= ~(FC_ACK_QUEUED|FC_ACK_HAD_MISS|FC_NSTP); + conn->fc_flags |= FC_GOT_SREJ; + + return 0; +} + + +#if LSQUIC_CONN_STATS +static const struct conn_stats * +full_conn_ci_get_stats (struct lsquic_conn *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + return &conn->fc_stats; +} + + +#include "lsquic_cong_ctl.h" + +static void +full_conn_ci_log_stats (struct lsquic_conn *lconn) +{ + struct full_conn *conn = (struct full_conn *) lconn; + struct batch_size_stats *const bs = &conn->fc_enpub->enp_batch_size_stats; + struct conn_stats diff_stats; + uint64_t cwnd; + char cidstr[MAX_CID_LEN * 2 + 1]; + + if (!conn->fc_last_stats) + { + conn->fc_last_stats = calloc(1, sizeof(*conn->fc_last_stats)); + if (!conn->fc_last_stats) + return; + LSQ_DEBUG("allocated last stats"); + } + + cwnd = conn->fc_send_ctl.sc_ci->cci_get_cwnd( + conn->fc_send_ctl.sc_cong_ctl); + lsquic_conn_stats_diff(&conn->fc_stats, conn->fc_last_stats, &diff_stats); + lsquic_logger_log1(LSQ_LOG_NOTICE, LSQLM_CONN_STATS, + "%s: ticks: %lu; cwnd: %"PRIu64"; conn flow: max: %"PRIu64 + ", avail: %"PRIu64"; packets: sent: %lu, lost: %lu, retx: %lu, rcvd: %lu" + "; batch: count: %u; min: %u; max: %u; avg: %.2f", + (lsquic_cid2str(LSQUIC_LOG_CONN_ID, cidstr), cidstr), + diff_stats.n_ticks, cwnd, + conn->fc_pub.conn_cap.cc_max, + lsquic_conn_cap_avail(&conn->fc_pub.conn_cap), + diff_stats.out.packets, diff_stats.out.lost_packets, + diff_stats.out.retx_packets, diff_stats.in.packets, + bs->count, bs->min, bs->max, bs->avg); + + *conn->fc_last_stats = conn->fc_stats; + memset(bs, 0, sizeof(*bs)); +} + + +#endif + + +static const struct headers_stream_callbacks headers_callbacks = +{ + .hsc_on_headers = headers_stream_on_incoming_headers, + .hsc_on_push_promise = headers_stream_on_push_promise, + .hsc_on_priority = headers_stream_on_priority, + .hsc_on_stream_error = headers_stream_on_stream_error, + .hsc_on_conn_error = headers_stream_on_conn_error, + .hsc_on_enable_push = headers_stream_on_enable_push, +}; + +static const struct headers_stream_callbacks *headers_callbacks_ptr = &headers_callbacks; + +static const struct conn_iface full_conn_iface = { + .ci_abort = full_conn_ci_abort, + .ci_abort_error = full_conn_ci_abort_error, + .ci_ack_rollback = full_conn_ci_ack_rollback, + .ci_ack_snapshot = full_conn_ci_ack_snapshot, + .ci_can_write_ack = full_conn_ci_can_write_ack, + .ci_cancel_pending_streams + = full_conn_ci_cancel_pending_streams, + .ci_client_call_on_new = full_conn_ci_client_call_on_new, + .ci_close = full_conn_ci_close, + .ci_destroy = full_conn_ci_destroy, + .ci_get_stream_by_id = full_conn_ci_get_stream_by_id, + .ci_get_engine = full_conn_ci_get_engine, + .ci_get_path = full_conn_ci_get_path, +#if LSQUIC_CONN_STATS + .ci_get_stats = full_conn_ci_get_stats, + .ci_log_stats = full_conn_ci_log_stats, +#endif + .ci_going_away = full_conn_ci_going_away, + .ci_hsk_done = full_conn_ci_hsk_done, + .ci_internal_error = full_conn_ci_internal_error, + .ci_is_push_enabled = full_conn_ci_is_push_enabled, + .ci_is_tickable = full_conn_ci_is_tickable, + .ci_make_stream = full_conn_ci_make_stream, + .ci_n_avail_streams = full_conn_ci_n_avail_streams, + .ci_n_pending_streams = full_conn_ci_n_pending_streams, + .ci_next_packet_to_send = full_conn_ci_next_packet_to_send, + .ci_next_tick_time = full_conn_ci_next_tick_time, + .ci_packet_in = full_conn_ci_packet_in, + .ci_packet_not_sent = full_conn_ci_packet_not_sent, + .ci_packet_sent = full_conn_ci_packet_sent, + .ci_record_addrs = full_conn_ci_record_addrs, + /* gQUIC connection does not need this functionality because it only + * uses one CID and it's liveness is updated automatically by the + * caller when packets come in. + */ + .ci_report_live = NULL, + .ci_status = full_conn_ci_status, + .ci_tick = full_conn_ci_tick, + .ci_write_ack = full_conn_ci_write_ack, + .ci_push_stream = full_conn_ci_push_stream, + .ci_tls_alert = full_conn_ci_tls_alert, +}; + +static const struct conn_iface *full_conn_iface_ptr = &full_conn_iface; diff --git a/external/lsquic/src/liblsquic/lsquic_full_conn.h b/external/lsquic/src/liblsquic/lsquic_full_conn.h new file mode 100644 index 0000000..f2e514e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_full_conn.h @@ -0,0 +1,60 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_FULL_CONN_H +#define LSQUIC_FULL_CONN_H + +struct lsquic_conn; +struct lsquic_engine_public; + +struct lsquic_conn * +lsquic_gquic_full_conn_client_new (struct lsquic_engine_public *, + unsigned versions, + unsigned flags /* Only FC_SERVER and FC_HTTP */, + const char *hostname, unsigned short max_packet_size, + int is_ipv4, + const unsigned char *sess_resume, size_t sess_resume_len); + +struct lsquic_conn * +lsquic_ietf_full_conn_client_new (struct lsquic_engine_public *, + unsigned versions, + unsigned flags /* Only FC_SERVER and FC_HTTP */, + const char *hostname, unsigned short base_plpmtu, int is_ipv4, + const unsigned char *sess_resume, size_t, + const unsigned char *token, size_t, void* peer_ctx); + +typedef struct lsquic_conn * +(*server_conn_ctor_f) (struct lsquic_engine_public *, + unsigned flags /* Only FC_SERVER and FC_HTTP */, + struct lsquic_conn *mini_conn); + +struct lsquic_conn * +lsquic_gquic_full_conn_server_new (struct lsquic_engine_public *, + unsigned flags /* Only FC_SERVER and FC_HTTP */, + struct lsquic_conn *mini_conn); + +struct lsquic_conn * +lsquic_ietf_full_conn_server_new (struct lsquic_engine_public *, + unsigned flags /* Only FC_SERVER and FC_HTTP */, + struct lsquic_conn *mini_conn); + +struct dcid_elem +{ + /* This is never both in the hash and on the retirement list */ + union { + struct lsquic_hash_elem hash_el; + TAILQ_ENTRY(dcid_elem) next_to_ret; + } de_u; +#define de_hash_el de_u.hash_el +#define de_next_to_ret de_u.next_to_ret + lsquic_cid_t de_cid; + unsigned de_seqno; + enum { + DE_SRST = 1 << 0, /* de_srst is set */ + DE_ASSIGNED = 1 << 1, /* de_cid has been assigned to a path */ + } de_flags; + unsigned char de_srst[IQUIC_SRESET_TOKEN_SZ]; +}; + +int +lsquic_gquic_full_conn_srej (struct lsquic_conn *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_full_conn_ietf.c b/external/lsquic/src/liblsquic/lsquic_full_conn_ietf.c new file mode 100644 index 0000000..de32fe8 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_full_conn_ietf.c @@ -0,0 +1,10012 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_full_conn_ietf.c -- IETF QUIC connection. + */ + +#include +#include +#include +#define _USE_MATH_DEFINES /* Need this for M_E on Windows */ +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "fiu-local.h" + +#include "lsquic.h" +#include "lsxpack_header.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_attq.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_ietf.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_hash.h" +#include "lsquic_cong_ctl.h" +#include "lsquic_conn.h" +#include "lsquic_rechist.h" +#include "lsquic_senhist.h" +#include "lsquic_cubic.h" +#include "lsquic_pacer.h" +#include "lsquic_sfcw.h" +#include "lsquic_conn_flow.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_stream.h" +#include "lsquic_rtt.h" +#include "lsquic_conn_public.h" +#include "lsquic_bw_sampler.h" +#include "lsquic_minmax.h" +#include "lsquic_bbr.h" +#include "lsquic_adaptive_cc.h" +#include "lsquic_send_ctl.h" +#include "lsquic_alarmset.h" +#include "lsquic_ver_neg.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_set.h" +#include "lsquic_sizes.h" +#include "lsquic_trans_params.h" +#include "lsquic_version.h" +#include "lsquic_parse.h" +#include "lsquic_util.h" +#include "lsquic_enc_sess.h" +#include "lsquic_ev_log.h" +#include "lsquic_malo.h" +#include "lsquic_frab_list.h" +#include "lsquic_hcso_writer.h" +#include "lsquic_hcsi_reader.h" +#include "lsqpack.h" +#include "lsquic_http1x_if.h" +#include "lsquic_qenc_hdl.h" +#include "lsquic_qdec_hdl.h" +#include "lsquic_trechist.h" +#include "lsquic_mini_conn_ietf.h" +#include "lsquic_tokgen.h" +#include "lsquic_full_conn.h" +#include "lsquic_spi.h" +#include "lsquic_min_heap.h" +#include "lsquic_hpi.h" +#include "lsquic_ietf.h" +#include "lsquic_push_promise.h" +#include "lsquic_headers.h" +#include "lsquic_crand.h" +#include "ls-sfparser.h" +#include "lsquic_qpack_exp.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_CONN +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(&conn->ifc_conn) +#include "lsquic_logger.h" + +#define MAX_RETR_PACKETS_SINCE_LAST_ACK 2 +#define MAX_ANY_PACKETS_SINCE_LAST_ACK 20 +#define ACK_TIMEOUT (TP_DEF_MAX_ACK_DELAY * 1000) +#define INITIAL_CHAL_TIMEOUT 250000 +#define HSK_PING_TIMEOUT 200000 + +/* Retire original CID after this much time has elapsed: */ +#define RET_CID_TIMEOUT 2000000 + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +/* IETF QUIC push promise does not contain stream ID. This means that, unlike + * in GQUIC, one cannot create a stream immediately and pass it to the client. + * We may have to add a special API for IETF push promises. That's in the + * future: right now, we punt it. + */ +#define CLIENT_PUSH_SUPPORT 0 + + + +/* IMPORTANT: Keep values of IFC_SERVER and IFC_HTTP same as LSENG_SERVER + * and LSENG_HTTP. + */ +enum ifull_conn_flags +{ + IFC_SERVER = LSENG_SERVER, /* Server mode */ + IFC_HTTP = LSENG_HTTP, /* HTTP mode */ + IFC_ACK_HAD_MISS = 1 << 2, +#define IFC_BIT_ERROR 3 + IFC_ERROR = 1 << IFC_BIT_ERROR, + IFC_TIMED_OUT = 1 << 4, + IFC_ABORTED = 1 << 5, + IFC_HSK_FAILED = 1 << 6, + IFC_GOING_AWAY = 1 << 7, + IFC_CLOSING = 1 << 8, /* Closing */ + IFC_RECV_CLOSE = 1 << 9, /* Received CONNECTION_CLOSE frame */ + IFC_TICK_CLOSE = 1 << 10, /* We returned TICK_CLOSE */ + IFC_CREATED_OK = 1 << 11, + IFC_HAVE_SAVED_ACK= 1 << 12, + IFC_ABORT_COMPLAINED + = 1 << 13, + IFC_DCID_SET = 1 << 14, +#define IFCBIT_ACK_QUED_SHIFT 15 + IFC_ACK_QUED_INIT = 1 << 15, + IFC_ACK_QUED_HSK = IFC_ACK_QUED_INIT << PNS_HSK, + IFC_ACK_QUED_APP = IFC_ACK_QUED_INIT << PNS_APP, +#define IFC_ACK_QUEUED (IFC_ACK_QUED_INIT|IFC_ACK_QUED_HSK|IFC_ACK_QUED_APP) + IFC_HAVE_PEER_SET = 1 << 18, + IFC_GOT_PRST = 1 << 19, + IFC_IGNORE_INIT = 1 << 20, + IFC_RETRIED = 1 << 21, + IFC_SWITCH_DCID = 1 << 22, /* Perform DCID switch when a new CID becomes available */ + IFC_GOAWAY_CLOSE = 1 << 23, + IFC_FIRST_TICK = 1 << 24, + IFC_IGNORE_HSK = 1 << 25, + IFC_PROC_CRYPTO = 1 << 26, + IFC_MIGRA = 1 << 27, + IFC_HTTP_INITED = 1 << 28, /* HTTP initialized */ + IFC_DELAYED_ACKS = 1 << 29, /* Delayed ACKs are enabled */ + IFC_TIMESTAMPS = 1 << 30, /* Timestamps are enabled */ + IFC_DATAGRAMS = 1u<< 31, /* Datagrams are enabled */ +}; + + +enum more_flags +{ + MF_VALIDATE_PATH = 1 << 0, + MF_NOPROG_TIMEOUT = 1 << 1, + MF_CHECK_MTU_PROBE = 1 << 2, + MF_IGNORE_MISSING = 1 << 3, + MF_CONN_CLOSE_PACK = 1 << 4, /* CONNECTION_CLOSE has been packetized */ + MF_SEND_WRONG_COUNTS= 1 << 5, /* Send wrong ECN counts to peer */ + MF_WANT_DATAGRAM_WRITE = 1 << 6, + MF_DOING_0RTT = 1 << 7, + MF_HAVE_HCSI = 1 << 8, /* Have HTTP Control Stream Incoming */ +}; + + +#define N_PATHS 4 + +enum send +{ + /* PATH_CHALLENGE and PATH_RESPONSE frames are not retransmittable. They + * are positioned first in the enum to optimize packetization. + */ + SEND_PATH_CHAL, + SEND_PATH_CHAL_PATH_0 = SEND_PATH_CHAL + 0, + SEND_PATH_CHAL_PATH_1 = SEND_PATH_CHAL + 1, + SEND_PATH_CHAL_PATH_2 = SEND_PATH_CHAL + 2, + SEND_PATH_CHAL_PATH_3 = SEND_PATH_CHAL + 3, + SEND_PATH_RESP, + SEND_PATH_RESP_PATH_0 = SEND_PATH_RESP + 0, + SEND_PATH_RESP_PATH_1 = SEND_PATH_RESP + 1, + SEND_PATH_RESP_PATH_2 = SEND_PATH_RESP + 2, + SEND_PATH_RESP_PATH_3 = SEND_PATH_RESP + 3, + SEND_MAX_DATA, + SEND_PING, + SEND_NEW_CID, + SEND_RETIRE_CID, + SEND_CONN_CLOSE, + SEND_STREAMS_BLOCKED, + SEND_STREAMS_BLOCKED_BIDI = SEND_STREAMS_BLOCKED + SD_BIDI, + SEND_STREAMS_BLOCKED_UNI = SEND_STREAMS_BLOCKED + SD_UNI, + SEND_MAX_STREAMS, + SEND_MAX_STREAMS_BIDI = SEND_MAX_STREAMS + SD_BIDI, + SEND_MAX_STREAMS_UNI = SEND_MAX_STREAMS + SD_UNI, + SEND_STOP_SENDING, + SEND_NEW_TOKEN, + SEND_HANDSHAKE_DONE, + SEND_ACK_FREQUENCY, + N_SEND +}; + +enum send_flags +{ + SF_SEND_MAX_DATA = 1 << SEND_MAX_DATA, + SF_SEND_PING = 1 << SEND_PING, + SF_SEND_PATH_CHAL = 1 << SEND_PATH_CHAL, + SF_SEND_PATH_CHAL_PATH_0 = 1 << SEND_PATH_CHAL_PATH_0, + SF_SEND_PATH_CHAL_PATH_1 = 1 << SEND_PATH_CHAL_PATH_1, + SF_SEND_PATH_CHAL_PATH_2 = 1 << SEND_PATH_CHAL_PATH_2, + SF_SEND_PATH_CHAL_PATH_3 = 1 << SEND_PATH_CHAL_PATH_3, + SF_SEND_PATH_RESP = 1 << SEND_PATH_RESP, + SF_SEND_PATH_RESP_PATH_0 = 1 << SEND_PATH_RESP_PATH_0, + SF_SEND_PATH_RESP_PATH_1 = 1 << SEND_PATH_RESP_PATH_1, + SF_SEND_PATH_RESP_PATH_2 = 1 << SEND_PATH_RESP_PATH_2, + SF_SEND_PATH_RESP_PATH_3 = 1 << SEND_PATH_RESP_PATH_3, + SF_SEND_NEW_CID = 1 << SEND_NEW_CID, + SF_SEND_RETIRE_CID = 1 << SEND_RETIRE_CID, + SF_SEND_CONN_CLOSE = 1 << SEND_CONN_CLOSE, + SF_SEND_STREAMS_BLOCKED = 1 << SEND_STREAMS_BLOCKED, + SF_SEND_STREAMS_BLOCKED_BIDI = 1 << SEND_STREAMS_BLOCKED_BIDI, + SF_SEND_STREAMS_BLOCKED_UNI = 1 << SEND_STREAMS_BLOCKED_UNI, + SF_SEND_MAX_STREAMS = 1 << SEND_MAX_STREAMS, + SF_SEND_MAX_STREAMS_BIDI = 1 << SEND_MAX_STREAMS_BIDI, + SF_SEND_MAX_STREAMS_UNI = 1 << SEND_MAX_STREAMS_UNI, + SF_SEND_STOP_SENDING = 1 << SEND_STOP_SENDING, + SF_SEND_NEW_TOKEN = 1 << SEND_NEW_TOKEN, + SF_SEND_HANDSHAKE_DONE = 1 << SEND_HANDSHAKE_DONE, + SF_SEND_ACK_FREQUENCY = 1 << SEND_ACK_FREQUENCY, +}; + +#define SF_SEND_PATH_CHAL_ALL \ + (((SF_SEND_PATH_CHAL << N_PATHS) - 1) & ~(SF_SEND_PATH_CHAL - 1)) + +#define IFC_IMMEDIATE_CLOSE_FLAGS \ + (IFC_TIMED_OUT|IFC_ERROR|IFC_ABORTED|IFC_HSK_FAILED|IFC_GOT_PRST) + +#define MAX_ERRMSG 256 + +#define MAX_SCID 8 + +#define SET_ERRMSG(conn, ...) do { \ + if (!(conn)->ifc_errmsg) \ + { \ + (conn)->ifc_errmsg = malloc(MAX_ERRMSG); \ + if ((conn)->ifc_errmsg) \ + snprintf((conn)->ifc_errmsg, MAX_ERRMSG, __VA_ARGS__); \ + } \ +} while (0) + +#define ABORT_WITH_FLAG(conn, log_level, flag, ...) do { \ + SET_ERRMSG(conn, __VA_ARGS__); \ + if (!((conn)->ifc_flags & IFC_ABORT_COMPLAINED)) \ + LSQ_LOG(log_level, "Abort connection: " __VA_ARGS__); \ + (conn)->ifc_flags |= flag|IFC_ABORT_COMPLAINED; \ +} while (0) + +#define ABORT_ERROR(...) \ + ABORT_WITH_FLAG(conn, LSQ_LOG_ERROR, IFC_ERROR, __VA_ARGS__) +#define ABORT_WARN(...) \ + ABORT_WITH_FLAG(conn, LSQ_LOG_WARN, IFC_ERROR, __VA_ARGS__) + +#define CONN_ERR(app_error_, code_) (struct conn_err) { \ + .app_error = (app_error_), .u.err = (code_), } + +/* Use this for protocol errors; they do not need to be as loud as our own + * internal errors. + */ +#define ABORT_QUIETLY(app_error, code, ...) do { \ + conn->ifc_error = CONN_ERR(app_error, code); \ + ABORT_WITH_FLAG(conn, LSQ_LOG_INFO, IFC_ERROR, __VA_ARGS__); \ +} while (0) + + +static enum stream_id_type +gen_sit (unsigned server, enum stream_dir sd) +{ + return (server > 0) | ((sd > 0) << SD_SHIFT); +} + + +struct stream_id_to_ss +{ + STAILQ_ENTRY(stream_id_to_ss) sits_next; + lsquic_stream_id_t sits_stream_id; + enum http_error_code sits_error_code; +}; + +struct http_ctl_stream_in +{ + struct hcsi_reader reader; +}; + +struct conn_err +{ + int app_error; + union + { + enum trans_error_code tec; + enum http_error_code hec; + unsigned err; + } u; +}; + + +struct dplpmtud_state +{ + lsquic_packno_t ds_probe_packno; +#ifndef NDEBUG + lsquic_time_t ds_probe_sent; +#endif + enum { + DS_PROBE_SENT = 1 << 0, + } ds_flags; + unsigned short ds_probed_size, + ds_failed_size; /* If non-zero, defines ceiling */ + unsigned char ds_probe_count; +}; + + +struct conn_path +{ + struct network_path cop_path; + uint64_t cop_path_chals[8]; /* Arbitrary number */ + uint64_t cop_inc_chal; /* Incoming challenge */ + lsquic_packno_t cop_max_packno; + enum { + /* Initialized covers cop_path.np_pack_size and cop_path.np_dcid */ + COP_INITIALIZED = 1 << 0, + /* This flag is set when we received a response to one of path + * challenges we sent on this path. + */ + COP_VALIDATED = 1 << 1, + /* Received non-probing frames. This flag is not set for the + * original path. + */ + COP_GOT_NONPROB = 1 << 2, + /* Spin bit is enabled on this path. */ + COP_SPIN_BIT = 1 << 3, + /* Allow padding packet to 1200 bytes */ + COP_ALLOW_MTU_PADDING = 1 << 4, + /* Verified that the path MTU is at least 1200 bytes */ + COP_VALIDATED_MTU = 1 << 5, + /* This path is retired */ + COP_RETIRED = 1 << 6, + } cop_flags; + unsigned char cop_n_chals; + unsigned char cop_cce_idx; + unsigned char cop_spin_bit; + struct dplpmtud_state cop_dplpmtud; +}; + + +struct packet_tolerance_stats +{ + unsigned n_acks; /* Number of ACKs between probes */ + float integral_error; + lsquic_time_t last_sample; +}; + + +union prio_iter +{ + struct stream_prio_iter spi; + struct http_prio_iter hpi; +}; + + +struct prio_iter_if +{ + void (*pii_init) (void *, struct lsquic_stream *first, + struct lsquic_stream *last, uintptr_t next_ptr_offset, + struct lsquic_conn_public *, const char *name, + int (*filter)(void *filter_ctx, struct lsquic_stream *), + void *filter_ctx); + + struct lsquic_stream * (*pii_first) (void *); + + struct lsquic_stream * (*pii_next) (void *); + + void (*pii_drop_non_high) (void *); + + void (*pii_drop_high) (void *); + + void (*pii_cleanup) (void *); +}; + + +static const struct prio_iter_if orig_prio_iter_if = { + lsquic_spi_init, + lsquic_spi_first, + lsquic_spi_next, + lsquic_spi_drop_non_high, + lsquic_spi_drop_high, + lsquic_spi_cleanup, +}; + + +static const struct prio_iter_if ext_prio_iter_if = { + lsquic_hpi_init, + lsquic_hpi_first, + lsquic_hpi_next, + lsquic_hpi_drop_non_high, + lsquic_hpi_drop_high, + lsquic_hpi_cleanup, +}; + + +struct ietf_full_conn +{ + struct lsquic_conn ifc_conn; + struct conn_cid_elem ifc_cces[MAX_SCID]; + struct lsquic_rechist ifc_rechist[N_PNS]; + /* App PNS only, used to calculate was_missing: */ + lsquic_packno_t ifc_max_ackable_packno_in; + struct lsquic_send_ctl ifc_send_ctl; + struct lsquic_conn_public ifc_pub; + lsquic_alarmset_t ifc_alset; + struct lsquic_set64 ifc_closed_stream_ids[N_SITS]; + lsquic_stream_id_t ifc_n_created_streams[N_SDS]; + /* Not including the value stored in ifc_max_allowed_stream_id: */ + lsquic_stream_id_t ifc_max_allowed_stream_id[N_SITS]; + uint64_t ifc_closed_peer_streams[N_SDS]; + /* Maximum number of open stream initiated by peer: */ + unsigned ifc_max_streams_in[N_SDS]; + uint64_t ifc_max_stream_data_uni; + enum ifull_conn_flags ifc_flags; + enum more_flags ifc_mflags; + enum send_flags ifc_send_flags; + enum send_flags ifc_delayed_send; + struct { + uint64_t streams_blocked[N_SDS]; + } ifc_send; + struct conn_err ifc_error; + unsigned ifc_n_delayed_streams; + unsigned ifc_n_cons_unretx; + const struct prio_iter_if *ifc_pii; + char *ifc_errmsg; + struct lsquic_engine_public + *ifc_enpub; + const struct lsquic_engine_settings + *ifc_settings; + STAILQ_HEAD(, stream_id_to_ss) + ifc_stream_ids_to_ss; + lsquic_time_t ifc_created; + lsquic_time_t ifc_saved_ack_received; + lsquic_packno_t ifc_max_ack_packno[N_PNS]; + lsquic_packno_t ifc_max_non_probing; + struct { + uint64_t max_stream_send; + uint8_t ack_exp; + } ifc_cfg; + int (*ifc_process_incoming_packet)( + struct ietf_full_conn *, + struct lsquic_packet_in *); + /* Number ackable packets received since last ACK was sent: */ + unsigned ifc_n_slack_akbl[N_PNS]; + unsigned ifc_n_slack_all; /* App PNS only */ + unsigned ifc_max_retx_since_last_ack; + unsigned short ifc_max_udp_payload; /* Cached TP */ + lsquic_time_t ifc_max_ack_delay; + uint64_t ifc_ecn_counts_in[N_PNS][4]; + lsquic_stream_id_t ifc_max_req_id; + struct hcso_writer ifc_hcso; + struct http_ctl_stream_in ifc_hcsi; + struct qpack_enc_hdl ifc_qeh; + struct qpack_dec_hdl ifc_qdh; + struct { + uint64_t header_table_size, + qpack_blocked_streams; + } ifc_peer_hq_settings; + struct dcid_elem *ifc_dces[MAX_IETF_CONN_DCIDS]; + TAILQ_HEAD(, dcid_elem) ifc_to_retire; + unsigned ifc_n_to_retire; + unsigned ifc_scid_seqno; + lsquic_time_t ifc_scid_timestamp[MAX_SCID]; + /* Last 8 packets had ECN markings? */ + uint8_t ifc_incoming_ecn; + unsigned char ifc_cur_path_id; /* Indexes ifc_paths */ + unsigned char ifc_used_paths; /* Bitmask */ + unsigned char ifc_mig_path_id; + /* ifc_active_cids_limit is the maximum number of CIDs at any one time this + * endpoint is allowed to issue to peer. If the TP value exceeds cn_n_cces, + * it is reduced to it. ifc_active_cids_count tracks how many CIDs have + * been issued. It is decremented each time a CID is retired. + */ + unsigned char ifc_active_cids_limit; + unsigned char ifc_active_cids_count; + unsigned char ifc_first_active_cid_seqno; + unsigned char ifc_ping_unretx_thresh; + unsigned ifc_last_retire_prior_to; + unsigned ifc_ack_freq_seqno; + unsigned ifc_last_pack_tol; + unsigned ifc_last_calc_pack_tol; +#if LSQUIC_CONN_STATS + unsigned ifc_min_pack_tol_sent; + unsigned ifc_max_pack_tol_sent; +#endif + unsigned ifc_max_ack_freq_seqno; /* Incoming */ + unsigned short ifc_min_dg_sz, + ifc_max_dg_sz; + lsquic_time_t ifc_last_live_update; + struct conn_path ifc_paths[N_PATHS]; + union { + struct { + struct lsquic_stream *crypto_streams[N_ENC_LEVS]; + struct ver_neg + ifcli_ver_neg; + uint64_t ifcli_max_push_id; + uint64_t ifcli_min_goaway_stream_id; + enum { + IFCLI_PUSH_ENABLED = 1 << 0, + IFCLI_HSK_SENT_OR_DEL = 1 << 1, + } ifcli_flags; + unsigned ifcli_packets_out; + } cli; + struct { + uint64_t ifser_max_push_id; + uint64_t ifser_next_push_id; + enum { + IFSER_PUSH_ENABLED = 1 << 0, + IFSER_MAX_PUSH_ID = 1 << 1, /* ifser_max_push_id is set */ + } ifser_flags; + } ser; + } ifc_u; + lsquic_time_t ifc_idle_to; + lsquic_time_t ifc_ping_period; + struct lsquic_hash *ifc_bpus; + uint64_t ifc_last_max_data_off_sent; + struct packet_tolerance_stats + ifc_pts; +#if LSQUIC_CONN_STATS + struct conn_stats ifc_stats, + *ifc_last_stats; +#endif + struct ack_info ifc_ack; +}; + +#define CUR_CPATH(conn_) (&(conn_)->ifc_paths[(conn_)->ifc_cur_path_id]) +#define CUR_NPATH(conn_) (&(CUR_CPATH(conn_)->cop_path)) +#define CUR_DCID(conn_) (&(CUR_NPATH(conn_)->np_dcid)) + +#define DCES_END(conn_) ((conn_)->ifc_dces + (sizeof((conn_)->ifc_dces) \ + / sizeof((conn_)->ifc_dces[0]))) + +#define NPATH2CPATH(npath_) ((struct conn_path *) \ + ((char *) (npath_) - offsetof(struct conn_path, cop_path))) + +#if LSQUIC_CONN_STATS +#define CONN_STATS(what_, count_) do { \ + conn->ifc_stats.what_ += (count_); \ +} while (0) +#else +#define CONN_STATS(what_, count_) +#endif + +static const struct ver_neg server_ver_neg; + +static const struct conn_iface *ietf_full_conn_iface_ptr; +static const struct conn_iface *ietf_full_conn_prehsk_iface_ptr; + +static int +process_incoming_packet_verneg (struct ietf_full_conn *, + struct lsquic_packet_in *); + +static int +process_incoming_packet_fast (struct ietf_full_conn *, + struct lsquic_packet_in *); + +static void +ietf_full_conn_ci_packet_in (struct lsquic_conn *, struct lsquic_packet_in *); + +static int +handshake_ok (struct lsquic_conn *); + +static void +ignore_init (struct ietf_full_conn *); + +static void +ignore_hsk (struct ietf_full_conn *); + +static unsigned +ietf_full_conn_ci_n_avail_streams (const struct lsquic_conn *); + +static void +ietf_full_conn_ci_destroy (struct lsquic_conn *); + +static int +insert_new_dcid (struct ietf_full_conn *, uint64_t seqno, + const lsquic_cid_t *, const unsigned char *token, int update_cur_dcid); + +static struct conn_cid_elem * +find_cce_by_cid (struct ietf_full_conn *, const lsquic_cid_t *); + +static void +mtu_probe_too_large (struct ietf_full_conn *, const struct lsquic_packet_out *); + +static int +apply_trans_params (struct ietf_full_conn *, const struct transport_params *); + +static void +packet_tolerance_alarm_expired (enum alarm_id al_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now); + +static int +init_http (struct ietf_full_conn *); + +static unsigned +highest_bit_set (unsigned sz) +{ +#if __GNUC__ + unsigned clz = __builtin_clz(sz); + return 31 - clz; +#else + unsigned n, y; + n = 32; + y = sz >> 16; if (y) { n -= 16; sz = y; } + y = sz >> 8; if (y) { n -= 8; sz = y; } + y = sz >> 4; if (y) { n -= 4; sz = y; } + y = sz >> 2; if (y) { n -= 2; sz = y; } + y = sz >> 1; if (y) return 31 - n + 2; + return 31 - n + sz; +#endif +} + + +static void +set_versions (struct ietf_full_conn *conn, unsigned versions, + enum lsquic_version *ver) +{ + conn->ifc_u.cli.ifcli_ver_neg.vn_supp = versions; + conn->ifc_u.cli.ifcli_ver_neg.vn_ver = (ver) ? *ver : highest_bit_set(versions); + conn->ifc_u.cli.ifcli_ver_neg.vn_buf = lsquic_ver2tag(conn->ifc_u.cli.ifcli_ver_neg.vn_ver); + conn->ifc_conn.cn_version = conn->ifc_u.cli.ifcli_ver_neg.vn_ver; +} + + +static void +init_ver_neg (struct ietf_full_conn *conn, unsigned versions, + enum lsquic_version *ver) +{ + set_versions(conn, versions, ver); + conn->ifc_u.cli.ifcli_ver_neg.vn_tag = &conn->ifc_u.cli.ifcli_ver_neg.vn_buf; + conn->ifc_u.cli.ifcli_ver_neg.vn_state = VN_START; +} + + +static void +ack_alarm_expired (enum alarm_id al_id, void *ctx, lsquic_time_t expiry, + lsquic_time_t now) +{ + struct ietf_full_conn *conn = ctx; + assert(al_id == AL_ACK_APP); + LSQ_DEBUG("%s ACK timer expired (%"PRIu64" < %"PRIu64"): ACK queued", + lsquic_pns2str[PNS_APP], expiry, now); + conn->ifc_flags |= IFC_ACK_QUED_APP; +} + + +static void +idle_alarm_expired (enum alarm_id al_id, void *ctx, lsquic_time_t expiry, + lsquic_time_t now) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) ctx; + + if ((conn->ifc_mflags & MF_NOPROG_TIMEOUT) + && conn->ifc_pub.last_prog + conn->ifc_enpub->enp_noprog_timeout < now) + { + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "connection timed out due to " + "lack of progress"); + /* Different flag so that CONNECTION_CLOSE frame is sent */ + ABORT_QUIETLY(0, TEC_APPLICATION_ERROR, + "connection timed out due to lack of progress"); + } + else + { + LSQ_DEBUG("connection timed out"); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "connection timed out"); + conn->ifc_flags |= IFC_TIMED_OUT; + } +} + + +static void +handshake_alarm_expired (enum alarm_id al_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) ctx; + LSQ_DEBUG("connection timed out: handshake timed out"); + conn->ifc_flags |= IFC_TIMED_OUT; +} + + +/* + * When this alarm expires, at least one SCID slot shoud be available + * for generation. + */ +static void +cid_throt_alarm_expired (enum alarm_id al_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) ctx; + LSQ_DEBUG("%s", __func__); + conn->ifc_send_flags |= SF_SEND_NEW_CID; + return; +} + + +static void +wipe_path (struct ietf_full_conn *conn, unsigned path_id) +{ + void *peer_ctx = conn->ifc_paths[path_id].cop_path.np_peer_ctx; + memset(&conn->ifc_paths[path_id], 0, sizeof(conn->ifc_paths[0])); + conn->ifc_paths[path_id].cop_path.np_path_id = path_id; + conn->ifc_paths[path_id].cop_path.np_peer_ctx = peer_ctx; + conn->ifc_used_paths &= ~(1 << path_id); +} + + +static void +path_chal_alarm_expired (enum alarm_id al_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) ctx; + const unsigned path_id = al_id - AL_PATH_CHAL; + struct conn_path *const copath = &conn->ifc_paths[path_id]; + + if (copath->cop_n_chals < sizeof(copath->cop_path_chals) + / sizeof(copath->cop_path_chals[0])) + { + LSQ_DEBUG("path #%u challenge expired, schedule another one", path_id); + conn->ifc_send_flags |= SF_SEND_PATH_CHAL << path_id; + } + else if (conn->ifc_cur_path_id != path_id) + { + LSQ_INFO("migration to path #%u failed after none of %u path " + "challenges received responses", path_id, copath->cop_n_chals); + /* There may be a lingering challenge if its generation is delayed */ + lsquic_send_ctl_cancel_path_verification(&conn->ifc_send_ctl, + &copath->cop_path); + wipe_path(conn, path_id); + } + else + LSQ_INFO("no path challenge responses on current path %u, stop " + "sending path challenges", path_id); +} + + +/* Sending DATA_BLOCKED and STREAM_DATA_BLOCKED frames is a way to elicit + * incoming packets from peer when it is too slow to read data. This is + * recommended by [draft-ietf-quic-transport-25] Section 4.1. + * + * If we are still in the blocked state, we schedule a blocked frame to + * be sent. + */ +static void +blocked_ka_alarm_expired (enum alarm_id al_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) ctx; + struct lsquic_stream *stream; + struct lsquic_hash_elem *el; + int has_send_flag; + + if (lsquic_conn_cap_avail(&conn->ifc_pub.conn_cap) == 0) + { + LSQ_DEBUG("set SEND_BLOCKED flag on connection"); + conn->ifc_conn.cn_flags |= LSCONN_SEND_BLOCKED; + return; + } + + for (el = lsquic_hash_first(conn->ifc_pub.all_streams); el; + el = lsquic_hash_next(conn->ifc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if (lsquic_stream_is_blocked(stream) + && !lsquic_stream_is_write_reset(stream)) + { + has_send_flag = (stream->sm_qflags & SMQF_SENDING_FLAGS); + stream->sm_qflags |= SMQF_SEND_BLOCKED; + LSQ_DEBUG("set SEND_BLOCKED flag on stream %"PRIu64, stream->id); + if (!lsquic_sendctl_gen_stream_blocked_frame( + stream->conn_pub->send_ctl, stream)) + { + LSQ_DEBUG("failed to send STREAM_BLOCKED frame for" + " stream %"PRIu64 " immedately, postpone.", stream->id); + if (!has_send_flag) + TAILQ_INSERT_TAIL(&conn->ifc_pub.sending_streams, stream, + next_send_stream); + } + return; + } + } +} + + +static void +mtu_probe_alarm_expired (enum alarm_id al_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) ctx; + + LSQ_DEBUG("MTU probe alarm expired: set `check MTU probe' flag"); + assert(!(conn->ifc_mflags & MF_CHECK_MTU_PROBE)); + conn->ifc_mflags |= MF_CHECK_MTU_PROBE; +} + + +static int +migra_is_on (const struct ietf_full_conn *conn, unsigned path_id) +{ + return (conn->ifc_send_flags & (SF_SEND_PATH_CHAL << path_id)) + || lsquic_alarmset_is_set(&conn->ifc_alset, AL_PATH_CHAL + path_id); +} + + +#define TRANSPORT_OVERHEAD(is_ipv6) (((is_ipv6) ? 40 : 20) + 8 /* UDP */) + +static unsigned short +calc_base_packet_size (const struct ietf_full_conn *conn, int is_ipv6) +{ + unsigned short size; + + if (conn->ifc_settings->es_base_plpmtu) + size = conn->ifc_settings->es_base_plpmtu; + else if (is_ipv6) + size = IQUIC_MAX_IPv6_PACKET_SZ; + else + size = IQUIC_MAX_IPv4_PACKET_SZ; + + return size; +} + + +static void +migra_begin (struct ietf_full_conn *conn, struct conn_path *copath, + struct dcid_elem *dce, const struct sockaddr *dest_sa, + const struct transport_params *params) +{ + assert(!(migra_is_on(conn, copath - conn->ifc_paths))); + + dce->de_flags |= DE_ASSIGNED; + copath->cop_flags |= COP_INITIALIZED; + copath->cop_path.np_dcid = dce->de_cid; + copath->cop_path.np_peer_ctx = CUR_NPATH(conn)->np_peer_ctx; + copath->cop_path.np_pack_size + = calc_base_packet_size(conn, NP_IS_IPv6(CUR_NPATH(conn))); + if (conn->ifc_max_udp_payload < copath->cop_path.np_pack_size) + copath->cop_path.np_pack_size = conn->ifc_max_udp_payload; + memcpy(&copath->cop_path.np_local_addr, NP_LOCAL_SA(CUR_NPATH(conn)), + sizeof(copath->cop_path.np_local_addr)); + memcpy(&copath->cop_path.np_peer_addr, dest_sa, + sizeof(copath->cop_path.np_peer_addr)); + + conn->ifc_mig_path_id = copath - conn->ifc_paths; + conn->ifc_used_paths |= 1 << conn->ifc_mig_path_id; + conn->ifc_send_flags |= SF_SEND_PATH_CHAL << conn->ifc_mig_path_id; + LSQ_DEBUG("Schedule migration to path %hhu: will send PATH_CHALLENGE", + conn->ifc_mig_path_id); +} + + +static void +ping_alarm_expired (enum alarm_id al_id, void *ctx, lsquic_time_t expiry, + lsquic_time_t now) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) ctx; + LSQ_DEBUG("Ping alarm rang: schedule PING frame to be generated"); + conn->ifc_send_flags |= SF_SEND_PING; +} + + +static void +retire_cid (struct ietf_full_conn *, struct conn_cid_elem *, lsquic_time_t); + + +static void +log_scids (const struct ietf_full_conn *conn) +{ + const struct lsquic_conn *const lconn = &conn->ifc_conn; + const struct conn_cid_elem *cce; + char flags[5]; + unsigned idx; + int fi; + + LSQ_DEBUG("Log SCID array: (n_cces %hhu; mask: 0x%hhX; " + "active: %hhu; limit: %hhu)", + conn->ifc_conn.cn_n_cces, conn->ifc_conn.cn_cces_mask, + conn->ifc_active_cids_count, conn->ifc_active_cids_limit); + for (cce = lconn->cn_cces; cce < END_OF_CCES(lconn); ++cce) + { + idx = cce - lconn->cn_cces; + fi = 0; + if (cce->cce_flags & CCE_PORT) flags[fi++] = 'p'; + if (cce->cce_flags & CCE_REG) flags[fi++] = 'r'; + if (cce->cce_flags & CCE_SEQNO) flags[fi++] = 's'; + if (cce->cce_flags & CCE_USED) flags[fi++] = 'u'; + flags[fi] = '\0'; + if (lconn->cn_cces_mask & (1 << idx)) + { + if (cce->cce_flags & CCE_PORT) + LSQ_DEBUG( " %u: flags %-4s; port %hu", idx, flags, + cce->cce_port); + else if (cce->cce_flags & CCE_SEQNO) + LSQ_DEBUGC(" %u: flags %-4s; seqno: %u; %"CID_FMT, idx, + flags, cce->cce_seqno, CID_BITS(&cce->cce_cid)); + else + LSQ_DEBUGC(" %u: flags %-4s; %"CID_FMT, idx, flags, + CID_BITS(&cce->cce_cid)); + } + else + LSQ_DEBUG( " %u: flags %-4s; ", idx, flags); + } +} + + +#define LOG_SCIDS(conn_) do { \ + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) \ + log_scids(conn_); \ +} while (0) + + +static void +ret_cids_alarm_expired (enum alarm_id al_id, void *ctx, lsquic_time_t expiry, + lsquic_time_t now) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) ctx; + struct lsquic_conn *const lconn = &conn->ifc_conn; + struct conn_cid_elem *cce; + unsigned idx; + + LSQ_DEBUG("The 'retire original CIDs' alarm rang"); + + for (cce = lconn->cn_cces; cce < END_OF_CCES(lconn); ++cce) + { + idx = cce - lconn->cn_cces; + if ((lconn->cn_cces_mask & (1 << idx)) + && (cce->cce_flags & (CCE_SEQNO|CCE_PORT)) == 0) + { + LSQ_DEBUG("retiring original CID at index %u", idx); + retire_cid(conn, cce, now); + } + } + LOG_SCIDS(conn); +} + + +static ssize_t +crypto_stream_write (void *stream, const void *buf, size_t len) +{ + return lsquic_stream_write(stream, buf, len); +} + + +static int +crypto_stream_flush (void *stream) +{ + return lsquic_stream_flush(stream); +} + + +static ssize_t +crypto_stream_readf (void *stream, + size_t (*readf)(void *, const unsigned char *, size_t, int), void *ctx) +{ + return lsquic_stream_readf(stream, readf, ctx); +} + + +static int +crypto_stream_wantwrite (void *stream, int is_want) +{ + return lsquic_stream_wantwrite(stream, is_want); +} + + +static int +crypto_stream_wantread (void *stream, int is_want) +{ + return lsquic_stream_wantread(stream, is_want); +} + + +static enum enc_level +crypto_stream_enc_level (void *streamp) +{ + const struct lsquic_stream *stream = streamp; + return crypto_level(stream); +} + + +static const struct crypto_stream_if crypto_stream_if = +{ + .csi_write = crypto_stream_write, + .csi_flush = crypto_stream_flush, + .csi_readf = crypto_stream_readf, + .csi_wantwrite = crypto_stream_wantwrite, + .csi_wantread = crypto_stream_wantread, + .csi_enc_level = crypto_stream_enc_level, +}; + + +static const struct lsquic_stream_if *unicla_if_ptr; + + +static lsquic_stream_id_t +generate_stream_id (struct ietf_full_conn *conn, enum stream_dir sd) +{ + lsquic_stream_id_t id; + + id = conn->ifc_n_created_streams[sd]++; + return id << SIT_SHIFT + | sd << SD_SHIFT + | !!(conn->ifc_flags & IFC_SERVER) + ; +} + + +static lsquic_stream_id_t +avail_streams_count (const struct ietf_full_conn *conn, int server, + enum stream_dir sd) +{ + enum stream_id_type sit; + lsquic_stream_id_t max_count; + + sit = gen_sit(server, sd); + max_count = conn->ifc_max_allowed_stream_id[sit] >> SIT_SHIFT; + LSQ_DEBUG("sit-%u streams: max count: %"PRIu64"; created streams: %"PRIu64, + sit, max_count, conn->ifc_n_created_streams[sd]); + if (max_count >= conn->ifc_n_created_streams[sd]) + return max_count - conn->ifc_n_created_streams[sd]; + else + { + assert(0); + return 0; + } +} + + +/* If `priority' is negative, this means that the stream is critical */ +static int +create_uni_stream_out (struct ietf_full_conn *conn, int priority, + const struct lsquic_stream_if *stream_if, void *stream_if_ctx) +{ + struct lsquic_stream *stream; + lsquic_stream_id_t stream_id; + + stream_id = generate_stream_id(conn, SD_UNI); + stream = lsquic_stream_new(stream_id, &conn->ifc_pub, stream_if, + stream_if_ctx, 0, conn->ifc_max_stream_data_uni, + SCF_IETF | (priority < 0 ? SCF_CRITICAL : 0)); + if (!stream) + return -1; + if (!lsquic_hash_insert(conn->ifc_pub.all_streams, &stream->id, + sizeof(stream->id), stream, &stream->sm_hash_el)) + { + lsquic_stream_destroy(stream); + return -1; + } + if (priority >= 0) + lsquic_stream_set_priority_internal(stream, priority); + else + ++conn->ifc_pub.n_special_streams; + lsquic_stream_call_on_new(stream); + return 0; +} + + +static int +create_ctl_stream_out (struct ietf_full_conn *conn) +{ + return create_uni_stream_out(conn, -1, + lsquic_hcso_writer_if, &conn->ifc_hcso); +} + + +static int +create_qenc_stream_out (struct ietf_full_conn *conn) +{ + return create_uni_stream_out(conn, -1, + lsquic_qeh_enc_sm_out_if, &conn->ifc_qeh); +} + + +static int +create_qdec_stream_out (struct ietf_full_conn *conn) +{ + return create_uni_stream_out(conn, -1, + lsquic_qdh_dec_sm_out_if, &conn->ifc_qdh); +} + + +static int +create_bidi_stream_out (struct ietf_full_conn *conn) +{ + struct lsquic_stream *stream; + lsquic_stream_id_t stream_id; + enum stream_ctor_flags flags; + + flags = SCF_IETF|SCF_DI_AUTOSWITCH; + if (conn->ifc_enpub->enp_settings.es_rw_once) + flags |= SCF_DISP_RW_ONCE; + if (conn->ifc_enpub->enp_settings.es_delay_onclose) + flags |= SCF_DELAY_ONCLOSE; + if (conn->ifc_flags & IFC_HTTP) + { + flags |= SCF_HTTP; + if (conn->ifc_pii == &ext_prio_iter_if) + flags |= SCF_HTTP_PRIO; + } + + stream_id = generate_stream_id(conn, SD_BIDI); + stream = lsquic_stream_new(stream_id, &conn->ifc_pub, + conn->ifc_enpub->enp_stream_if, + conn->ifc_enpub->enp_stream_if_ctx, + conn->ifc_settings->es_init_max_stream_data_bidi_local, + conn->ifc_cfg.max_stream_send, flags); + if (!stream) + return -1; + if (!lsquic_hash_insert(conn->ifc_pub.all_streams, &stream->id, + sizeof(stream->id), stream, &stream->sm_hash_el)) + { + lsquic_stream_destroy(stream); + return -1; + } + lsquic_stream_call_on_new(stream); + return 0; +} + + +static struct lsquic_stream * +create_push_stream (struct ietf_full_conn *conn) +{ + struct lsquic_stream *stream; + lsquic_stream_id_t stream_id; + enum stream_ctor_flags flags; + + assert((conn->ifc_flags & (IFC_SERVER|IFC_HTTP)) == (IFC_SERVER|IFC_HTTP)); + + flags = SCF_IETF|SCF_HTTP; + if (conn->ifc_enpub->enp_settings.es_rw_once) + flags |= SCF_DISP_RW_ONCE; + if (conn->ifc_enpub->enp_settings.es_delay_onclose) + flags |= SCF_DELAY_ONCLOSE; + + stream_id = generate_stream_id(conn, SD_UNI); + stream = lsquic_stream_new(stream_id, &conn->ifc_pub, + conn->ifc_enpub->enp_stream_if, + conn->ifc_enpub->enp_stream_if_ctx, + conn->ifc_settings->es_init_max_stream_data_bidi_local, + conn->ifc_cfg.max_stream_send, flags); + if (!stream) + return NULL; + if (!lsquic_hash_insert(conn->ifc_pub.all_streams, &stream->id, + sizeof(stream->id), stream, &stream->sm_hash_el)) + { + lsquic_stream_destroy(stream); + return NULL; + } + return stream; +} + + +/* This function looks through the SCID array searching for an available + * slot. If it finds an available slot it will + * 1. generate an SCID, + * 2. mark with latest seqno, + * 3. increment seqno, + * 4. turn on CCE_SEQNO flag, + * 5. turn on flag given through flag paramter, + * 6. add cce to mask, and + * 7. add timestamp for when slot is new available for CID generation. + */ +static struct conn_cid_elem * +ietf_full_conn_add_scid (struct ietf_full_conn *conn, + struct lsquic_engine_public *enpub, + enum conn_cce_flags flags, + lsquic_time_t now) +{ + struct conn_cid_elem *cce; + struct lsquic_conn *lconn = &conn->ifc_conn; + lsquic_time_t *min_timestamp; + int i; + + if (enpub->enp_settings.es_scid_len) + { + for (cce = lconn->cn_cces; cce < END_OF_CCES(lconn); ++cce) + if (!(lconn->cn_cces_mask & (1 << (cce - lconn->cn_cces)))) + break; + } + else if (0 == lconn->cn_cces_mask) + cce = lconn->cn_cces; + else + cce = END_OF_CCES(lconn); + + if (cce >= END_OF_CCES(lconn)) + { + LSQ_LOG1(LSQ_LOG_DEBUG, "cannot find slot for new SCID"); + return NULL; + } + + if (enpub->enp_settings.es_scid_len) + { + cce->cce_cid.len = enpub->enp_settings.es_scid_len; + enpub->enp_generate_scid(enpub->enp_gen_scid_ctx, lconn, + cce->cce_cid.buf, cce->cce_cid.len); + } + + cce->cce_seqno = conn->ifc_scid_seqno++; + cce->cce_flags |= CCE_SEQNO | flags; + lconn->cn_cces_mask |= 1 << (cce - lconn->cn_cces); + ++conn->ifc_active_cids_count; + if (enpub->enp_settings.es_scid_iss_rate) + { + min_timestamp = &conn->ifc_scid_timestamp[0]; + for (i = 1; i < lconn->cn_n_cces; i++) + if (conn->ifc_scid_timestamp[i] < *min_timestamp) + min_timestamp = &conn->ifc_scid_timestamp[i]; + *min_timestamp = now; + } + LSQ_LOG1C(LSQ_LOG_DEBUG, "generated and assigned SCID %"CID_FMT, + CID_BITS(&cce->cce_cid)); + return cce; +} + + +/* From [draft-ietf-quic-transport-25] Section 17.3.1: + * " endpoints MUST disable their use of the spin bit for a random selection + * " of at least one in every 16 network paths, or for one in every 16 + * " connection IDs. + */ +static void +maybe_enable_spin (struct ietf_full_conn *conn, struct conn_path *cpath) +{ + uint8_t nyb; + + if (conn->ifc_settings->es_spin + && lsquic_crand_get_nybble(conn->ifc_enpub->enp_crand)) + { + cpath->cop_flags |= COP_SPIN_BIT; + cpath->cop_spin_bit = 0; + LSQ_DEBUG("spin bit enabled on path %hhu", cpath->cop_path.np_path_id); + } + else + { + /* " It is RECOMMENDED that endpoints set the spin bit to a random + * " value either chosen independently for each packet or chosen + * " independently for each connection ID. + * (ibid.) + */ + cpath->cop_flags &= ~COP_SPIN_BIT; + nyb = lsquic_crand_get_nybble(conn->ifc_enpub->enp_crand); + cpath->cop_spin_bit = nyb & 1; + LSQ_DEBUG("spin bit disabled %s on path %hhu; random spin bit " + "value is %hhu", + !conn->ifc_settings->es_spin ? "via settings" : "randomly", + cpath->cop_path.np_path_id, cpath->cop_spin_bit); + } +} + + +static int +ietf_full_conn_init (struct ietf_full_conn *conn, + struct lsquic_engine_public *enpub, unsigned flags, int ecn) +{ + if (flags & IFC_SERVER) + conn->ifc_conn.cn_if = ietf_full_conn_iface_ptr; + else + conn->ifc_conn.cn_if = ietf_full_conn_prehsk_iface_ptr; + if (enpub->enp_settings.es_scid_len) + assert(CN_SCID(&conn->ifc_conn)->len); + conn->ifc_enpub = enpub; + conn->ifc_settings = &enpub->enp_settings; + conn->ifc_pub.lconn = &conn->ifc_conn; + conn->ifc_pub.send_ctl = &conn->ifc_send_ctl; + conn->ifc_pub.enpub = enpub; + conn->ifc_pub.mm = &enpub->enp_mm; +#if LSQUIC_CONN_STATS + conn->ifc_pub.conn_stats = &conn->ifc_stats; +#endif + conn->ifc_pub.path = CUR_NPATH(conn); + TAILQ_INIT(&conn->ifc_pub.sending_streams); + TAILQ_INIT(&conn->ifc_pub.read_streams); + TAILQ_INIT(&conn->ifc_pub.write_streams); + TAILQ_INIT(&conn->ifc_pub.service_streams); + STAILQ_INIT(&conn->ifc_stream_ids_to_ss); + TAILQ_INIT(&conn->ifc_to_retire); + conn->ifc_n_to_retire = 0; + + lsquic_alarmset_init(&conn->ifc_alset, &conn->ifc_conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_IDLE, idle_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_ACK_APP, ack_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_PING, ping_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_HANDSHAKE, handshake_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_CID_THROT, cid_throt_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_PATH_CHAL_0, path_chal_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_PATH_CHAL_1, path_chal_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_PATH_CHAL_2, path_chal_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_PATH_CHAL_3, path_chal_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_BLOCKED_KA, blocked_ka_alarm_expired, conn); + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_MTU_PROBE, mtu_probe_alarm_expired, conn); + /* For Init and Handshake, we don't expect many ranges at all. For + * the regular receive history, set limit to a value that would never + * be reached under normal circumstances, yet small enough that would + * use little memory when under attack and be robust (fast). The + * value 1000 limits receive history to about 16KB. + */ + lsquic_rechist_init(&conn->ifc_rechist[PNS_INIT], 1, 10); + lsquic_rechist_init(&conn->ifc_rechist[PNS_HSK], 1, 10); + lsquic_rechist_init(&conn->ifc_rechist[PNS_APP], 1, 1000); + lsquic_send_ctl_init(&conn->ifc_send_ctl, &conn->ifc_alset, enpub, + flags & IFC_SERVER ? &server_ver_neg : &conn->ifc_u.cli.ifcli_ver_neg, + &conn->ifc_pub, SC_IETF|SC_NSTP|(ecn ? SC_ECN : 0)); + lsquic_cfcw_init(&conn->ifc_pub.cfcw, &conn->ifc_pub, + conn->ifc_settings->es_init_max_data); + conn->ifc_pub.all_streams = lsquic_hash_create(); + if (!conn->ifc_pub.all_streams) + return -1; + conn->ifc_pub.u.ietf.qeh = &conn->ifc_qeh; + conn->ifc_pub.u.ietf.qdh = &conn->ifc_qdh; + conn->ifc_pub.u.ietf.hcso = &conn->ifc_hcso; + + conn->ifc_peer_hq_settings.header_table_size = HQ_DF_QPACK_MAX_TABLE_CAPACITY; + conn->ifc_peer_hq_settings.qpack_blocked_streams = HQ_DF_QPACK_BLOCKED_STREAMS; + + conn->ifc_flags = flags | IFC_FIRST_TICK; + conn->ifc_max_ack_packno[PNS_INIT] = IQUIC_INVALID_PACKNO; + conn->ifc_max_ack_packno[PNS_HSK] = IQUIC_INVALID_PACKNO; + conn->ifc_max_ack_packno[PNS_APP] = IQUIC_INVALID_PACKNO; + conn->ifc_max_ackable_packno_in = 0; + conn->ifc_paths[0].cop_path.np_path_id = 0; + conn->ifc_paths[1].cop_path.np_path_id = 1; + conn->ifc_paths[2].cop_path.np_path_id = 2; + conn->ifc_paths[3].cop_path.np_path_id = 3; +#define valid_stream_id(v) ((v) <= VINT_MAX_VALUE) + conn->ifc_max_req_id = VINT_MAX_VALUE + 1; + conn->ifc_ping_unretx_thresh = 20; + conn->ifc_max_retx_since_last_ack = MAX_RETR_PACKETS_SINCE_LAST_ACK; + conn->ifc_max_ack_delay = ACK_TIMEOUT; + if (conn->ifc_settings->es_noprogress_timeout) + conn->ifc_mflags |= MF_NOPROG_TIMEOUT; + if (conn->ifc_settings->es_ext_http_prio) + conn->ifc_pii = &ext_prio_iter_if; + else + conn->ifc_pii = &orig_prio_iter_if; + return 0; +} + + +struct lsquic_conn * +lsquic_ietf_full_conn_client_new (struct lsquic_engine_public *enpub, + unsigned versions, unsigned flags, + const char *hostname, unsigned short base_plpmtu, int is_ipv4, + const unsigned char *sess_resume, size_t sess_resume_sz, + const unsigned char *token, size_t token_sz, void* peer_ctx) +{ + const struct transport_params *params; + const struct enc_session_funcs_iquic *esfi; + struct ietf_full_conn *conn; + enum lsquic_version ver, sess_resume_version; + lsquic_time_t now; + + conn = calloc(1, sizeof(*conn)); + if (!conn) + goto err0; + now = lsquic_time_now(); + /* Set the flags early so that correct CID is used for logging */ + conn->ifc_conn.cn_flags |= LSCONN_IETF; + conn->ifc_conn.cn_cces = conn->ifc_cces; + conn->ifc_conn.cn_n_cces = sizeof(conn->ifc_cces) + / sizeof(conn->ifc_cces[0]); + if (!ietf_full_conn_add_scid(conn, enpub, CCE_USED, now)) + goto err1; + conn->ifc_conn.cn_logid = *CN_SCID(&conn->ifc_conn); + assert(versions); + versions &= LSQUIC_IETF_VERSIONS; + if (versions & (1 << LSQVER_I001)) + ver = LSQVER_I001; + else + ver = highest_bit_set(versions); + if (sess_resume) + { + sess_resume_version = lsquic_sess_resume_version(sess_resume, sess_resume_sz); + if (sess_resume_version < N_LSQVER && ((1 << sess_resume_version) & versions)) + ver = sess_resume_version; + } + esfi = &lsquic_enc_session_iquic_ietf_v1; + + if (0 != ietf_full_conn_init(conn, enpub, flags, + enpub->enp_settings.es_ecn)) + goto err2; + + if (base_plpmtu) + conn->ifc_paths[0].cop_path.np_pack_size + = base_plpmtu - TRANSPORT_OVERHEAD(!is_ipv4); + else + conn->ifc_paths[0].cop_path.np_pack_size + = calc_base_packet_size(conn, !is_ipv4); + + if (token) + { + if (0 != lsquic_send_ctl_set_token(&conn->ifc_send_ctl, token, + token_sz)) + goto err2; + } + + /* Do not infer anything about server limits before processing its + * transport parameters. + */ + conn->ifc_max_streams_in[SD_BIDI] = enpub->enp_settings.es_max_streams_in; + conn->ifc_max_allowed_stream_id[SIT_BIDI_SERVER] = + enpub->enp_settings.es_max_streams_in << SIT_SHIFT; + + if (flags & IFC_HTTP) + { + if (enpub->enp_settings.es_support_push && CLIENT_PUSH_SUPPORT) + conn->ifc_max_streams_in[SD_UNI] + = MAX(3, enpub->enp_settings.es_max_streams_in); + else + conn->ifc_max_streams_in[SD_UNI] = 3; + } + else + conn->ifc_max_streams_in[SD_UNI] = enpub->enp_settings.es_max_streams_in; + conn->ifc_max_allowed_stream_id[SIT_UNI_SERVER] + = conn->ifc_max_streams_in[SD_UNI] << SIT_SHIFT; + + init_ver_neg(conn, versions, &ver); + assert(ver == conn->ifc_u.cli.ifcli_ver_neg.vn_ver); + if (conn->ifc_settings->es_handshake_to) + lsquic_alarmset_set(&conn->ifc_alset, AL_HANDSHAKE, + lsquic_time_now() + conn->ifc_settings->es_handshake_to); + conn->ifc_idle_to = conn->ifc_settings->es_idle_timeout * 1000000; + if (conn->ifc_idle_to) + lsquic_alarmset_set(&conn->ifc_alset, AL_IDLE, now + conn->ifc_idle_to); + if (enpub->enp_settings.es_support_push && CLIENT_PUSH_SUPPORT) + { + conn->ifc_u.cli.ifcli_flags |= IFCLI_PUSH_ENABLED; + conn->ifc_u.cli.ifcli_max_push_id = 100; + LSQ_DEBUG("push enabled: set MAX_PUSH_ID to %"PRIu64, + conn->ifc_u.cli.ifcli_max_push_id); + } + conn->ifc_conn.cn_pf = select_pf_by_ver(ver); + conn->ifc_conn.cn_esf_c = &lsquic_enc_session_common_ietf_v1; + conn->ifc_conn.cn_esf.i = esfi; + lsquic_generate_cid(CUR_DCID(conn), 0); + conn->ifc_conn.cn_enc_session = + conn->ifc_conn.cn_esf.i->esfi_create_client(hostname, + conn->ifc_enpub, &conn->ifc_conn, CUR_DCID(conn), + &conn->ifc_u.cli.ifcli_ver_neg, + (void **) conn->ifc_u.cli.crypto_streams, &crypto_stream_if, + sess_resume, sess_resume_sz, &conn->ifc_alset, + conn->ifc_max_streams_in[SD_UNI], peer_ctx); + if (!conn->ifc_conn.cn_enc_session) + goto err2; + + conn->ifc_u.cli.crypto_streams[ENC_LEV_INIT] = lsquic_stream_new_crypto( + ENC_LEV_INIT, &conn->ifc_pub, &lsquic_cry_sm_if, + conn->ifc_conn.cn_enc_session, + SCF_IETF|SCF_DI_AUTOSWITCH|SCF_CALL_ON_NEW|SCF_CRITICAL); + if (!conn->ifc_u.cli.crypto_streams[ENC_LEV_INIT]) + goto err3; + if (!lsquic_stream_get_ctx(conn->ifc_u.cli.crypto_streams[ENC_LEV_INIT])) + goto err4; + conn->ifc_pub.packet_out_malo = + lsquic_malo_create(sizeof(struct lsquic_packet_out)); + if (!conn->ifc_pub.packet_out_malo) + goto err4; + conn->ifc_flags |= IFC_PROC_CRYPTO; + + LSQ_DEBUG("negotiating version %s", + lsquic_ver2str[conn->ifc_u.cli.ifcli_ver_neg.vn_ver]); + conn->ifc_process_incoming_packet = process_incoming_packet_verneg; + conn->ifc_created = now; + LSQ_DEBUG("logging using client SCID"); + if (sess_resume && (params + = conn->ifc_conn.cn_esf.i->esfi_get_peer_transport_params( + conn->ifc_conn.cn_enc_session), params != NULL)) + { + LSQ_DEBUG("initializing transport parameters for 0RTT"); + if (0 != apply_trans_params(conn, params)) + goto full_err; + if ((conn->ifc_flags & IFC_HTTP) && 0 != init_http(conn)) + goto full_err; + conn->ifc_mflags |= MF_DOING_0RTT; + } + conn->ifc_flags |= IFC_CREATED_OK; + return &conn->ifc_conn; + + err4: + lsquic_stream_destroy(conn->ifc_u.cli.crypto_streams[ENC_LEV_INIT]); + err3: + conn->ifc_conn.cn_esf.i->esfi_destroy(conn->ifc_conn.cn_enc_session); + err2: + lsquic_send_ctl_cleanup(&conn->ifc_send_ctl); + if (conn->ifc_pub.all_streams) + lsquic_hash_destroy(conn->ifc_pub.all_streams); + err1: + free(conn); + err0: + return NULL; + + full_err: + ietf_full_conn_ci_destroy(&conn->ifc_conn); + return NULL; +} + + +typedef char mini_conn_does_not_have_more_cces[ + sizeof(((struct ietf_mini_conn *)0)->imc_cces) + <= sizeof(((struct ietf_full_conn *)0)->ifc_cces) ? 1 : -1]; + +struct lsquic_conn * +lsquic_ietf_full_conn_server_new (struct lsquic_engine_public *enpub, + unsigned flags, struct lsquic_conn *mini_conn) +{ + struct ietf_mini_conn *const imc = (void *) mini_conn; + struct ietf_full_conn *conn; + struct lsquic_packet_out *packet_out; + struct lsquic_packet_in *packet_in; + struct conn_cid_elem *cce; + lsquic_packno_t next_packno; + lsquic_time_t now; + enum packnum_space pns; + unsigned i; + struct ietf_mini_rechist mini_rechist; + + conn = calloc(1, sizeof(*conn)); + if (!conn) + goto err0; + now = lsquic_time_now(); + conn->ifc_conn.cn_cces = conn->ifc_cces; + conn->ifc_conn.cn_n_cces = sizeof(conn->ifc_cces) + / sizeof(conn->ifc_cces[0]); + assert(conn->ifc_conn.cn_n_cces >= mini_conn->cn_n_cces); + conn->ifc_conn.cn_cur_cce_idx = mini_conn->cn_cur_cce_idx; + conn->ifc_conn.cn_cces_mask = mini_conn->cn_cces_mask; + for (cce = mini_conn->cn_cces, i = 0; cce < END_OF_CCES(mini_conn); + ++cce, ++i) + if ((1 << (cce - mini_conn->cn_cces)) & mini_conn->cn_cces_mask) + { + conn->ifc_conn.cn_cces[i].cce_cid = cce->cce_cid; + conn->ifc_conn.cn_cces[i].cce_flags = cce->cce_flags; + if (cce->cce_flags & CCE_SEQNO) + { + if (cce->cce_seqno > conn->ifc_scid_seqno) + conn->ifc_scid_seqno = cce->cce_seqno; + conn->ifc_conn.cn_cces[i].cce_seqno = cce->cce_seqno; + ++conn->ifc_active_cids_count; + } + conn->ifc_scid_timestamp[i] = now; + } + ++conn->ifc_scid_seqno; + conn->ifc_conn.cn_logid = mini_conn->cn_logid; + /* Set the flags early so that correct CID is used for logging */ + conn->ifc_conn.cn_flags |= LSCONN_IETF | LSCONN_SERVER; + + if (0 != ietf_full_conn_init(conn, enpub, flags, + lsquic_mini_conn_ietf_ecn_ok(imc))) + goto err1; + conn->ifc_pub.packet_out_malo = + lsquic_malo_create(sizeof(struct lsquic_packet_out)); + if (!conn->ifc_pub.packet_out_malo) + goto err1; + if (imc->imc_flags & IMC_IGNORE_INIT) + conn->ifc_flags |= IFC_IGNORE_INIT; + if (enpub->enp_settings.es_support_srej) + conn->ifc_send_flags |= SF_SEND_NEW_TOKEN; + + conn->ifc_paths[0].cop_path = imc->imc_path; + conn->ifc_paths[0].cop_flags = COP_VALIDATED|COP_INITIALIZED|COP_ALLOW_MTU_PADDING; + conn->ifc_used_paths = 1 << 0; + maybe_enable_spin(conn, &conn->ifc_paths[0]); + if (imc->imc_flags & IMC_ADDR_VALIDATED) + lsquic_send_ctl_path_validated(&conn->ifc_send_ctl); + else + conn->ifc_mflags |= MF_VALIDATE_PATH; + conn->ifc_pub.bytes_out = imc->imc_bytes_out; + conn->ifc_pub.bytes_in = imc->imc_bytes_in; + if (imc->imc_flags & IMC_PATH_CHANGED) + { + LSQ_DEBUG("path changed during mini conn: schedule PATH_CHALLENGE"); + conn->ifc_send_flags |= SF_SEND_PATH_CHAL_PATH_0; + } + + conn->ifc_max_streams_in[SD_BIDI] + = enpub->enp_settings.es_init_max_streams_bidi; + conn->ifc_max_allowed_stream_id[SIT_BIDI_CLIENT] + = conn->ifc_max_streams_in[SD_BIDI] << SIT_SHIFT; + conn->ifc_max_streams_in[SD_UNI] + = enpub->enp_settings.es_init_max_streams_uni; + conn->ifc_max_allowed_stream_id[SIT_UNI_CLIENT] + = conn->ifc_max_streams_in[SD_UNI] << SIT_SHIFT; + conn->ifc_conn.cn_version = mini_conn->cn_version; + conn->ifc_conn.cn_flags |= LSCONN_VER_SET; + conn->ifc_conn.cn_pf = mini_conn->cn_pf; + conn->ifc_conn.cn_esf_c = mini_conn->cn_esf_c; + conn->ifc_conn.cn_esf = mini_conn->cn_esf; + + if (enpub->enp_settings.es_support_push) + conn->ifc_u.ser.ifser_flags |= IFSER_PUSH_ENABLED; + if (flags & IFC_HTTP) + { + fiu_do_on("full_conn_ietf/promise_hash", goto promise_alloc_failed); + conn->ifc_pub.u.ietf.promises = lsquic_hash_create(); +#if FIU_ENABLE + promise_alloc_failed: +#endif + if (!conn->ifc_pub.u.ietf.promises) + goto err2; + } + + assert(mini_conn->cn_flags & LSCONN_HANDSHAKE_DONE); + conn->ifc_conn.cn_flags |= LSCONN_HANDSHAKE_DONE; + if (!(imc->imc_flags & IMC_HSK_DONE_SENT)) + { + LSQ_DEBUG("HANDSHAKE_DONE not yet sent, will process CRYPTO frames"); + conn->ifc_flags |= IFC_PROC_CRYPTO; + } + + conn->ifc_conn.cn_enc_session = mini_conn->cn_enc_session; + mini_conn->cn_enc_session = NULL; + conn->ifc_conn.cn_esf_c->esf_set_conn(conn->ifc_conn.cn_enc_session, + &conn->ifc_conn); + conn->ifc_process_incoming_packet = process_incoming_packet_fast; + + conn->ifc_send_ctl.sc_cur_packno = imc->imc_next_packno - 1; + conn->ifc_incoming_ecn = imc->imc_incoming_ecn; + conn->ifc_pub.rtt_stats = imc->imc_rtt_stats; + + conn->ifc_last_live_update = now; + + lsquic_send_ctl_begin_optack_detection(&conn->ifc_send_ctl); + + for (pns = 0; pns < IMICO_N_PNS; ++pns) + { + lsquic_imico_rechist_init(&mini_rechist, imc, pns); + if (pns < IMICO_N_PNS) + { + if (0 != lsquic_rechist_copy_ranges(&conn->ifc_rechist[pns], + &mini_rechist, lsquic_imico_rechist_first, + lsquic_imico_rechist_next)) + goto err2; + conn->ifc_rechist[pns].rh_largest_acked_received + = imc->imc_largest_recvd[pns]; + } + } + + /* Mini connection sends out packets 0, 1, 2... and so on. It deletes + * packets that have been successfully sent and acked or those that have + * been lost. We take ownership of all packets in mc_packets_out; those + * that are not on the list are recorded in fc_send_ctl.sc_senhist. + */ + next_packno = ~0ULL; + /* mini conn may drop Init packets, making gaps; don't warn about them: */ + conn->ifc_send_ctl.sc_senhist.sh_flags |= SH_GAP_OK; + while ((packet_out = TAILQ_FIRST(&imc->imc_packets_out))) + { + TAILQ_REMOVE(&imc->imc_packets_out, packet_out, po_next); + + /* Holes in the sequence signify no-longer-relevant Initial packets or + * ACKed or lost packets. + */ + ++next_packno; + for ( ; next_packno < packet_out->po_packno; ++next_packno) + { + lsquic_senhist_add(&conn->ifc_send_ctl.sc_senhist, next_packno); + conn->ifc_send_ctl.sc_senhist.sh_warn_thresh = next_packno; + } + + packet_out->po_path = CUR_NPATH(conn); + if (imc->imc_sent_packnos & (1ULL << packet_out->po_packno)) + { + LSQ_DEBUG("got sent packet_out %"PRIu64" from mini", + packet_out->po_packno); + if (0 != lsquic_send_ctl_sent_packet(&conn->ifc_send_ctl, + packet_out)) + { + LSQ_WARN("could not add packet %"PRIu64" to sent set: %s", + packet_out->po_packno, strerror(errno)); + goto err2; + } + } + else + { + LSQ_DEBUG("got unsent packet_out %"PRIu64" from mini (will send)", + packet_out->po_packno); + lsquic_send_ctl_scheduled_one(&conn->ifc_send_ctl, packet_out); + } + } + conn->ifc_send_ctl.sc_senhist.sh_flags &= ~SH_GAP_OK; + /* ...Yes, that's a bunch of little annoying steps to suppress the gap + * warnings, but it would have been even more annoying (and expensive) + * to add packet renumbering logic to the mini conn. + */ + + for (pns = 0; pns < IMICO_N_PNS; ++pns) + for (i = 0; i < 4; ++i) + { + conn->ifc_ecn_counts_in[pns][i] = imc->imc_ecn_counts_in[pns][i]; + } + + if (0 != handshake_ok(&conn->ifc_conn)) + goto err3; + + LSQ_DEBUG("Calling on_new_conn callback"); + conn->ifc_conn.cn_conn_ctx = conn->ifc_enpub->enp_stream_if->on_new_conn( + conn->ifc_enpub->enp_stream_if_ctx, &conn->ifc_conn); + conn->ifc_idle_to = conn->ifc_settings->es_idle_timeout * 1000000; + + conn->ifc_created = now; + if (conn->ifc_idle_to) + lsquic_alarmset_set(&conn->ifc_alset, AL_IDLE, + now + conn->ifc_idle_to); + while ((packet_in = TAILQ_FIRST(&imc->imc_app_packets))) + { + TAILQ_REMOVE(&imc->imc_app_packets, packet_in, pi_next); + LSQ_DEBUG("inherit packet %"PRIu64" from mini conn", + packet_in->pi_packno); + ietf_full_conn_ci_packet_in(&conn->ifc_conn, packet_in); + lsquic_packet_in_put(conn->ifc_pub.mm, packet_in); + } + + LSQ_DEBUG("logging using %s SCID", + LSQUIC_LOG_CONN_ID == CN_SCID(&conn->ifc_conn) ? "server" : "client"); + conn->ifc_flags |= IFC_CREATED_OK; + return &conn->ifc_conn; + + err3: + ietf_full_conn_ci_destroy(&conn->ifc_conn); + return NULL; + + err2: + lsquic_malo_destroy(conn->ifc_pub.packet_out_malo); + err1: + lsquic_send_ctl_cleanup(&conn->ifc_send_ctl); + if (conn->ifc_pub.all_streams) + lsquic_hash_destroy(conn->ifc_pub.all_streams); + free(conn); + err0: + return NULL; +} + + +static int +should_generate_ack (struct ietf_full_conn *conn, + enum ifull_conn_flags ack_queued) +{ + unsigned lost_acks; + + /* Need to set which ACKs are queued because generate_ack_frame() does not + * generate ACKs unconditionally. + */ + lost_acks = lsquic_send_ctl_lost_ack(&conn->ifc_send_ctl); + if (lost_acks) + conn->ifc_flags |= lost_acks << IFCBIT_ACK_QUED_SHIFT; + + return (conn->ifc_flags & ack_queued) != 0; +} + + +static int +ietf_full_conn_ci_can_write_ack (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + + /* Follow opportunistic ACK logic. Because this method is only used by + * buffered packets code path, no need to check whether anything is + * writing: we know it is. + */ + return conn->ifc_n_slack_akbl[PNS_APP] > 0 + && lsquic_send_ctl_can_send(&conn->ifc_send_ctl); +} + + +static unsigned +ietf_full_conn_ci_cancel_pending_streams (struct lsquic_conn *lconn, unsigned n) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + if (n > conn->ifc_n_delayed_streams) + conn->ifc_n_delayed_streams = 0; + else + conn->ifc_n_delayed_streams -= n; + return conn->ifc_n_delayed_streams; +} + + +/* Best effort. If timestamp frame does not fit, oh well */ +static void +generate_timestamp_frame (struct ietf_full_conn *conn, + struct lsquic_packet_out *packet_out, lsquic_time_t now) +{ + uint64_t timestamp; + int w; + + timestamp = (now - conn->ifc_created) >> TP_DEF_ACK_DELAY_EXP; + w = conn->ifc_conn.cn_pf->pf_gen_timestamp_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), timestamp); + if (w < 0) + { + LSQ_DEBUG("could not generate TIMESTAMP frame"); + return; + } + LSQ_DEBUG("generated TIMESTAMP(%"PRIu64" us) frame", + timestamp << TP_DEF_ACK_DELAY_EXP); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated TIMESTAMP(%" + PRIu64" us) frame", timestamp << TP_DEF_ACK_DELAY_EXP); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_TIMESTAMP, packet_out->po_data_sz, w)) + { + LSQ_DEBUG("%s: adding frame to packet failed: %d", __func__, errno); + return; + } + packet_out->po_frame_types |= 1 << QUIC_FRAME_TIMESTAMP; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + packet_out->po_regen_sz += w; +} + + +struct ietf_ack_state +{ + enum ifull_conn_flags conn_flags; + enum send_flags send_flags; + enum alarm_id_bit armed_set; + unsigned n_slack_akbl; + unsigned n_slack_all; + unsigned char unretx_thresh; +}; + + +typedef char ack_state_size[sizeof(struct ietf_ack_state) + <= sizeof(struct ack_state) ? 1 : - 1]; + +static void +ietf_full_conn_ci_ack_snapshot (struct lsquic_conn *lconn, + struct ack_state *opaque) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + struct ietf_ack_state *const ack_state = (struct ietf_ack_state *) opaque; + + ack_state->conn_flags = conn->ifc_flags; + ack_state->send_flags = conn->ifc_send_flags; + ack_state->armed_set = conn->ifc_alset.as_armed_set; + ack_state->n_slack_akbl = conn->ifc_n_slack_akbl[PNS_APP]; + ack_state->n_slack_all = conn->ifc_n_slack_all; + ack_state->unretx_thresh= conn->ifc_ping_unretx_thresh; + LSQ_DEBUG("take ACK snapshot"); +} + + +static void +ietf_full_conn_ci_ack_rollback (struct lsquic_conn *lconn, + struct ack_state *opaque) +{ + struct ietf_ack_state *const ack_state = (struct ietf_ack_state *) opaque; + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + + conn->ifc_flags &= ~(IFC_ACK_HAD_MISS|IFC_ACK_QUED_APP); + conn->ifc_flags |= (IFC_ACK_HAD_MISS|IFC_ACK_QUED_APP) + & ack_state->conn_flags; + + conn->ifc_send_flags &= ~SF_SEND_PING; + conn->ifc_send_flags |= SF_SEND_PING & ack_state->send_flags; + + conn->ifc_alset.as_armed_set &= ~ALBIT_ACK_APP; + conn->ifc_alset.as_armed_set |= ALBIT_ACK_APP & ack_state->armed_set; + + conn->ifc_n_slack_akbl[PNS_APP] = ack_state->n_slack_akbl; + conn->ifc_n_slack_all = ack_state->n_slack_all; + conn->ifc_ping_unretx_thresh = ack_state->unretx_thresh; + + LSQ_DEBUG("roll back ACK state"); +} + + +static int +generate_ack_frame_for_pns (struct ietf_full_conn *conn, + struct lsquic_packet_out *packet_out, enum packnum_space pns, + lsquic_time_t now) +{ + const uint64_t *ecn_counts; + int has_missing, w; + + if (conn->ifc_incoming_ecn + && lsquic_send_ctl_ecn_turned_on(&conn->ifc_send_ctl)) + ecn_counts = conn->ifc_ecn_counts_in[pns]; + else if ((conn->ifc_mflags & MF_SEND_WRONG_COUNTS) && pns == PNS_APP) + { + /* We try once. A more advanced version would wait until we get a + * packet from peer and only then stop. + */ + conn->ifc_mflags &= ~MF_SEND_WRONG_COUNTS; + ecn_counts = conn->ifc_ecn_counts_in[pns]; + } + else + ecn_counts = NULL; + + w = conn->ifc_conn.cn_pf->pf_gen_ack_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), + (gaf_rechist_first_f) lsquic_rechist_first, + (gaf_rechist_next_f) lsquic_rechist_next, + (gaf_rechist_largest_recv_f) lsquic_rechist_largest_recv, + &conn->ifc_rechist[pns], now, &has_missing, &packet_out->po_ack2ed, + ecn_counts); + if (w < 0) { + ABORT_ERROR("%s generating ACK frame failed: %d", lsquic_pns2str[pns], errno); + return -1; + } + CONN_STATS(out.acks, 1); + char buf[0x100]; + lsquic_hexstr(packet_out->po_data + packet_out->po_data_sz, w, buf, sizeof(buf)); + LSQ_DEBUG("ACK bytes: %s", buf); + EV_LOG_GENERATED_ACK_FRAME(LSQUIC_LOG_CONN_ID, conn->ifc_conn.cn_pf, + packet_out->po_data + packet_out->po_data_sz, w); + lsquic_send_ctl_scheduled_ack(&conn->ifc_send_ctl, pns, + packet_out->po_ack2ed); + + // NOTE: Add a PING frame after ACK frame before HANDSHAKE_DONE, in a hacky way + if (!(conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + && packet_out->po_data_sz + w < packet_out->po_n_alloc) + { + LSQ_DEBUG("add a PING frame before HANDSHAKE_DONE"); + *(packet_out->po_data + packet_out->po_data_sz + w) = '\x01'; + ++w; + } + + packet_out->po_frame_types |= 1 << QUIC_FRAME_ACK; + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_ACK, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return -1; + } + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + packet_out->po_regen_sz += w; + if (has_missing && !(conn->ifc_mflags & MF_IGNORE_MISSING)) + conn->ifc_flags |= IFC_ACK_HAD_MISS; + else + conn->ifc_flags &= ~IFC_ACK_HAD_MISS; + LSQ_DEBUG("Put %d bytes of ACK frame into packet #%" PRIu64 + " on outgoing queue", w, packet_out->po_packno); + if (conn->ifc_n_cons_unretx >= conn->ifc_ping_unretx_thresh && + !lsquic_send_ctl_have_outgoing_retx_frames(&conn->ifc_send_ctl)) + { + LSQ_DEBUG("schedule PING frame after %u non-retx " + "packets sent", conn->ifc_n_cons_unretx); + conn->ifc_send_flags |= SF_SEND_PING; + /* This gives a range [12, 27]: */ + conn->ifc_ping_unretx_thresh = 12 + + lsquic_crand_get_nybble(conn->ifc_enpub->enp_crand); + conn->ifc_n_cons_unretx = 0; + } + + conn->ifc_n_slack_akbl[pns] = 0; + conn->ifc_flags &= ~(IFC_ACK_QUED_INIT << pns); + if (pns == PNS_APP) + { + conn->ifc_n_slack_all = 0; + lsquic_alarmset_unset(&conn->ifc_alset, AL_ACK_APP); + } + lsquic_send_ctl_sanity_check(&conn->ifc_send_ctl); + LSQ_DEBUG("%s ACK state reset", lsquic_pns2str[pns]); + + if (pns == PNS_APP && (conn->ifc_flags & IFC_TIMESTAMPS)) + generate_timestamp_frame(conn, packet_out, now); + + return 0; +} + + +/* Return number of packets scheduled or 0 on error */ +static unsigned +generate_ack_frame (struct ietf_full_conn *conn, lsquic_time_t now) +{ + struct lsquic_packet_out *packet_out; + enum packnum_space pns; + unsigned count; + int s; + + count = 0; + for (pns = 0; pns < N_PNS; ++pns) + if (conn->ifc_flags & (IFC_ACK_QUED_INIT << pns)) + { + packet_out = lsquic_send_ctl_new_packet_out(&conn->ifc_send_ctl, + 0, pns, CUR_NPATH(conn)); + if (!packet_out) + { + ABORT_ERROR("cannot allocate packet: %s", strerror(errno)); + return 0; + } + s = generate_ack_frame_for_pns(conn, packet_out, pns, now); + lsquic_send_ctl_scheduled_one(&conn->ifc_send_ctl, packet_out); + if (s != 0) + return 0; + ++count; + } + + return count; +} + + +static struct lsquic_packet_out * +get_writeable_packet_on_path (struct ietf_full_conn *conn, + unsigned need_at_least, const struct network_path *path, + int regen_match) +{ + struct lsquic_packet_out *packet_out; + int is_err; + + packet_out = lsquic_send_ctl_get_writeable_packet(&conn->ifc_send_ctl, + PNS_APP, need_at_least, path, regen_match, &is_err); + if (!packet_out && is_err) + ABORT_ERROR("cannot allocate packet: %s", strerror(errno)); + return packet_out; +} + + +static struct lsquic_packet_out * +get_writeable_packet (struct ietf_full_conn *conn, unsigned need_at_least) +{ + return get_writeable_packet_on_path(conn, need_at_least, + CUR_NPATH(conn), 0); +} + + +static void +generate_max_data_frame (struct ietf_full_conn *conn) +{ + const uint64_t offset = lsquic_cfcw_get_fc_recv_off(&conn->ifc_pub.cfcw); + struct lsquic_packet_out *packet_out; + unsigned need; + int w; + + need = conn->ifc_conn.cn_pf->pf_max_data_frame_size(offset); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return; + w = conn->ifc_conn.cn_pf->pf_gen_max_data_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), offset); + if (w < 0) + { + ABORT_ERROR("Generating MAX_DATA frame failed"); + return; + } + LSQ_DEBUG("generated %d-byte MAX_DATA frame (offset: %"PRIu64")", w, offset); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated MAX_DATA frame, offset=%" + PRIu64, offset); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_MAX_DATA, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + packet_out->po_frame_types |= QUIC_FTBIT_MAX_DATA; + conn->ifc_send_flags &= ~SF_SEND_MAX_DATA; + conn->ifc_last_max_data_off_sent = offset; +} + + +static void +generate_new_token_frame (struct ietf_full_conn *conn, lsquic_time_t now) +{ + struct lsquic_packet_out *packet_out; + const struct network_path *path; + ssize_t token_sz; + size_t need; + int w; + unsigned char token_buf[MAX_RETRY_TOKEN_LEN]; + + path = &conn->ifc_paths[conn->ifc_cur_path_id].cop_path; + token_sz = lsquic_tg_token_size(conn->ifc_enpub->enp_tokgen, TOKEN_RESUME, + NP_PEER_SA(path)); + need = conn->ifc_conn.cn_pf->pf_new_token_frame_size(token_sz); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return; + + token_sz = lsquic_tg_generate_resume(conn->ifc_enpub->enp_tokgen, token_buf, + sizeof(token_buf), NP_PEER_SA(path)); + if (token_sz < 0) + { + LSQ_WARN("could not generate resume token"); + conn->ifc_send_flags &= ~SF_SEND_NEW_TOKEN; /* Let's not try again */ + return; + } + + w = conn->ifc_conn.cn_pf->pf_gen_new_token_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), token_buf, token_sz); + if (w < 0) + { + ABORT_ERROR("generating NEW_TOKEN frame failed: %d", errno); + return; + } + LSQ_DEBUG("generated %d-byte NEW_TOKEN frame", w); + EV_LOG_GENERATED_NEW_TOKEN_FRAME(LSQUIC_LOG_CONN_ID, conn->ifc_conn.cn_pf, + packet_out->po_data + packet_out->po_data_sz, w); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_NEW_TOKEN, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + packet_out->po_frame_types |= QUIC_FTBIT_NEW_TOKEN; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + + conn->ifc_send_flags &= ~SF_SEND_NEW_TOKEN; + (void) token_sz; +} + + +static int +can_issue_cids (const struct ietf_full_conn *conn) +{ + int can; + + can = ((1 << conn->ifc_conn.cn_n_cces) - 1 + != conn->ifc_conn.cn_cces_mask) + && conn->ifc_enpub->enp_settings.es_scid_len + && conn->ifc_active_cids_count < conn->ifc_active_cids_limit; + LSQ_DEBUG("can issue CIDs: %d (n_cces %hhu; mask: 0x%hhX; " + "active: %hhu; limit: %hhu)", + can, conn->ifc_conn.cn_n_cces, conn->ifc_conn.cn_cces_mask, + conn->ifc_active_cids_count, conn->ifc_active_cids_limit); + return can; +} + + +static int +generate_new_cid_frame (struct ietf_full_conn *conn, lsquic_time_t now) +{ + struct lsquic_packet_out *packet_out; + struct conn_cid_elem *cce; + size_t need; + int w; + unsigned char token_buf[IQUIC_SRESET_TOKEN_SZ]; + + assert(conn->ifc_enpub->enp_settings.es_scid_len); + + need = conn->ifc_conn.cn_pf->pf_new_connection_id_frame_size( + conn->ifc_scid_seqno, conn->ifc_enpub->enp_settings.es_scid_len); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return -1; + + if (!(cce = ietf_full_conn_add_scid(conn, conn->ifc_enpub, 0, now))) + { + ABORT_WARN("cannot add a new SCID"); + return -1; + } + + lsquic_tg_generate_sreset(conn->ifc_enpub->enp_tokgen, &cce->cce_cid, + token_buf); + + if (0 != lsquic_engine_add_cid(conn->ifc_enpub, &conn->ifc_conn, + cce - conn->ifc_cces)) + { + ABORT_WARN("cannot track new SCID"); + return -1; + } + + w = conn->ifc_conn.cn_pf->pf_gen_new_connection_id_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), cce->cce_seqno, + &cce->cce_cid, token_buf, sizeof(token_buf)); + if (w < 0) + { + ABORT_ERROR("generating NEW_CONNECTION_ID frame failed: %d", errno); + return -1; + } + LSQ_DEBUGC("generated %d-byte NEW_CONNECTION_ID frame (CID: %"CID_FMT")", + w, CID_BITS(&cce->cce_cid)); + EV_LOG_GENERATED_NEW_CONNECTION_ID_FRAME(LSQUIC_LOG_CONN_ID, + conn->ifc_conn.cn_pf, packet_out->po_data + packet_out->po_data_sz, w); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_NEW_CONNECTION_ID, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return -1; + } + packet_out->po_frame_types |= QUIC_FTBIT_NEW_CONNECTION_ID; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + + if (!can_issue_cids(conn)) + { + conn->ifc_send_flags &= ~SF_SEND_NEW_CID; + LSQ_DEBUG("All %u SCID slots have been assigned", + conn->ifc_conn.cn_n_cces); + } + + return 0; +} + + +static void +maybe_get_rate_available_scid_slot (struct ietf_full_conn *conn, + lsquic_time_t now) +{ + const struct lsquic_conn *const lconn = &conn->ifc_conn; + const struct conn_cid_elem *cce; + unsigned active_cid; + lsquic_time_t total_elapsed, elapsed_thresh, period, wait_time; + + if (!conn->ifc_enpub->enp_settings.es_scid_iss_rate) + { + conn->ifc_send_flags |= SF_SEND_NEW_CID; + return; + } + + /* period: usec per cid */ + period = (60 * 1000000) / conn->ifc_enpub->enp_settings.es_scid_iss_rate; + active_cid = 0; + total_elapsed = 0; + for (cce = lconn->cn_cces; cce < END_OF_CCES(lconn); ++cce) + { + if ((cce->cce_flags & (CCE_SEQNO|CCE_PORT)) == CCE_SEQNO) + { + active_cid += 1; + /* When server is promoted, the timestamp may be larger than the + * first tick time. + */ + if (now > conn->ifc_scid_timestamp[cce - lconn->cn_cces]) + total_elapsed += + now - conn->ifc_scid_timestamp[cce - lconn->cn_cces]; + } + } + elapsed_thresh = ((active_cid * (active_cid + 1)) / 2) * period; + /* compare total elapsed usec to elapsed usec threshold */ + if (total_elapsed < elapsed_thresh) + { + wait_time = (elapsed_thresh - total_elapsed) / active_cid; + LSQ_DEBUG("cid_throt no SCID slots available (rate-limited), " + "must wait %"PRIu64" usec", wait_time); + lsquic_alarmset_set(&conn->ifc_alset, AL_CID_THROT, now + wait_time); + conn->ifc_send_flags &= ~SF_SEND_NEW_CID; + } + else + conn->ifc_send_flags |= SF_SEND_NEW_CID; +} + + +static void +generate_new_cid_frames (struct ietf_full_conn *conn, lsquic_time_t now) +{ + int s; + + do + { + s = generate_new_cid_frame(conn, now); + if (s < 0) + break; + if (conn->ifc_send_flags & SF_SEND_NEW_CID) + maybe_get_rate_available_scid_slot(conn, now); + } + while (conn->ifc_send_flags & SF_SEND_NEW_CID); + LOG_SCIDS(conn); +} + + +static int +generate_retire_cid_frame (struct ietf_full_conn *conn) +{ + struct lsquic_packet_out *packet_out; + struct dcid_elem *dce; + size_t need; + int w; + + dce = TAILQ_FIRST(&conn->ifc_to_retire); + assert(dce); + + need = conn->ifc_conn.cn_pf->pf_retire_cid_frame_size(dce->de_seqno); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return -1; + + w = conn->ifc_conn.cn_pf->pf_gen_retire_cid_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), dce->de_seqno); + if (w < 0) + { + ABORT_ERROR("generating RETIRE_CONNECTION_ID frame failed: %d", errno); + return -1; + } + LSQ_DEBUG("generated %d-byte RETIRE_CONNECTION_ID frame (seqno: %u)", + w, dce->de_seqno); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated RETIRE_CONNECTION_ID " + "frame, seqno=%u", dce->de_seqno); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_RETIRE_CONNECTION_ID, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return -1; + } + packet_out->po_frame_types |= QUIC_FTBIT_RETIRE_CONNECTION_ID; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + + TAILQ_REMOVE(&conn->ifc_to_retire, dce, de_next_to_ret); + --conn->ifc_n_to_retire; + lsquic_malo_put(dce); + + if (TAILQ_EMPTY(&conn->ifc_to_retire)) + conn->ifc_send_flags &= ~SF_SEND_RETIRE_CID; + + return 0; +} + + +static void +generate_retire_cid_frames (struct ietf_full_conn *conn, lsquic_time_t now) +{ + int s; + + if (conn->ifc_n_to_retire >= MAX_IETF_CONN_DCIDS * 3) + { + ABORT_QUIETLY(0, TEC_CONNECTION_ID_LIMIT_ERROR, + "too many (%d) CIDs to retire", conn->ifc_n_to_retire); + return; + } + + do + s = generate_retire_cid_frame(conn); + while (0 == s && (conn->ifc_send_flags & SF_SEND_RETIRE_CID)); +} + + +static void +generate_streams_blocked_frame (struct ietf_full_conn *conn, enum stream_dir sd) +{ + struct lsquic_packet_out *packet_out; + uint64_t limit; + size_t need; + int w; + + limit = conn->ifc_send.streams_blocked[sd]; + need = conn->ifc_conn.cn_pf->pf_streams_blocked_frame_size(limit); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return; + + w = conn->ifc_conn.cn_pf->pf_gen_streams_blocked_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), sd == SD_UNI, limit); + if (w < 0) + { + ABORT_ERROR("generating STREAMS_BLOCKED frame failed: %d", errno); + return; + } + LSQ_DEBUG("generated %d-byte STREAMS_BLOCKED frame (uni: %d, " + "limit: %"PRIu64")", w, sd == SD_UNI, limit); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated %d-byte STREAMS_BLOCKED " + "frame (uni: %d, limit: %"PRIu64")", w, sd == SD_UNI, limit); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_STREAMS_BLOCKED, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + packet_out->po_frame_types |= QUIC_FTBIT_STREAM_BLOCKED; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + conn->ifc_send_flags &= ~(SF_SEND_STREAMS_BLOCKED << sd); +} + + +static void +generate_streams_blocked_uni_frame (struct ietf_full_conn *conn, + lsquic_time_t now) +{ + generate_streams_blocked_frame(conn, SD_UNI); +} + + +static void +generate_streams_blocked_bidi_frame (struct ietf_full_conn *conn, + lsquic_time_t now) +{ + generate_streams_blocked_frame(conn, SD_BIDI); +} + + +static void +generate_max_streams_frame (struct ietf_full_conn *conn, enum stream_dir sd) +{ + struct lsquic_packet_out *packet_out; + enum stream_id_type sit; + uint64_t limit; + size_t need; + int w; + + limit = conn->ifc_closed_peer_streams[sd] + conn->ifc_max_streams_in[sd]; + need = conn->ifc_conn.cn_pf->pf_max_streams_frame_size(limit); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return; + + w = conn->ifc_conn.cn_pf->pf_gen_max_streams_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), sd, limit); + if (w < 0) + { + ABORT_ERROR("generating MAX_STREAMS frame failed: %d", errno); + return; + } + LSQ_DEBUG("generated %d-byte MAX_STREAMS frame (uni: %d, " + "limit: %"PRIu64")", w, sd == SD_UNI, limit); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated %d-byte MAX_STREAMS " + "frame (uni: %d, limit: %"PRIu64")", w, sd == SD_UNI, limit); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_MAX_STREAMS, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + packet_out->po_frame_types |= QUIC_FTBIT_MAX_STREAMS; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + conn->ifc_send_flags &= ~(SF_SEND_MAX_STREAMS << sd); + + sit = gen_sit(!(conn->ifc_flags & IFC_SERVER), sd); + LSQ_DEBUG("max_allowed_stream_id[ %u ] goes from %"PRIu64" to %"PRIu64, + sit, conn->ifc_max_allowed_stream_id[ sit ], limit << SIT_SHIFT); + conn->ifc_max_allowed_stream_id[ sit ] = limit << SIT_SHIFT; +} + + +static void +generate_max_streams_uni_frame (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_max_streams_frame(conn, SD_UNI); +} + + +static void +generate_max_streams_bidi_frame (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_max_streams_frame(conn, SD_BIDI); +} + + +/* Return true if generated, false otherwise */ +static int +generate_blocked_frame (struct ietf_full_conn *conn) +{ + const uint64_t offset = conn->ifc_pub.conn_cap.cc_blocked; + struct lsquic_packet_out *packet_out; + size_t need; + int w; + + need = conn->ifc_conn.cn_pf->pf_blocked_frame_size(offset); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return 0; + + w = conn->ifc_conn.cn_pf->pf_gen_blocked_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), offset); + if (w < 0) + { + ABORT_ERROR("generating BLOCKED frame failed: %d", errno); + return 0; + } + LSQ_DEBUG("generated %d-byte BLOCKED frame (offset: %"PRIu64")", w, offset); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated BLOCKED frame, offset=%" + PRIu64, offset); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_BLOCKED, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return 0; + } + packet_out->po_frame_types |= QUIC_FTBIT_BLOCKED; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + + return 1; +} + + +/* Return true if generated, false otherwise */ +static int +generate_max_stream_data_frame (struct ietf_full_conn *conn, + struct lsquic_stream *stream) +{ + struct lsquic_packet_out *packet_out; + unsigned need; + uint64_t off; + int sz; + + off = lsquic_stream_fc_recv_off_const(stream); + need = conn->ifc_conn.cn_pf->pf_max_stream_data_frame_size(stream->id, off); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return 0; + sz = conn->ifc_conn.cn_pf->pf_gen_max_stream_data_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), stream->id, off); + if (sz < 0) + { + ABORT_ERROR("Generating MAX_STREAM_DATA frame failed"); + return 0; + } + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated %d-byte MAX_STREAM_DATA " + "frame; stream_id: %"PRIu64"; offset: %"PRIu64, sz, stream->id, off); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_MAX_STREAM_DATA, packet_out->po_data_sz, sz)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return 0; + } + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_MAX_STREAM_DATA; + lsquic_stream_max_stream_data_sent(stream); + return 1; +} + + +static int +generate_stop_sending_frame_by_id (struct ietf_full_conn *conn, + lsquic_stream_id_t stream_id, enum http_error_code error_code) +{ + struct lsquic_packet_out *packet_out; + size_t need; + int w; + + need = conn->ifc_conn.cn_pf->pf_stop_sending_frame_size(stream_id, + error_code); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return -1; + + w = conn->ifc_conn.cn_pf->pf_gen_stop_sending_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), + stream_id, error_code); + if (w < 0) + { + ABORT_ERROR("generating STOP_SENDING frame failed: %d", errno); + return -1; + } + LSQ_DEBUG("generated %d-byte STOP_SENDING frame (stream id: %"PRIu64", " + "error code: %u)", w, stream_id, error_code); + EV_LOG_GENERATED_STOP_SENDING_FRAME(LSQUIC_LOG_CONN_ID, stream_id, + error_code); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_STOP_SENDING, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return -1; + } + packet_out->po_frame_types |= QUIC_FTBIT_STOP_SENDING; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + + return 0; +} + + +/* Return true if generated, false otherwise */ +static int +generate_stop_sending_frame (struct ietf_full_conn *conn, + struct lsquic_stream *stream) +{ + if (0 == generate_stop_sending_frame_by_id(conn, stream->id, HEC_NO_ERROR)) + { + lsquic_stream_ss_frame_sent(stream); + return 1; + } + else + return 0; +} + + +static void +generate_stop_sending_frames (struct ietf_full_conn *conn, lsquic_time_t now) +{ + struct stream_id_to_ss *sits; + + assert(conn->ifc_send_flags & SF_SEND_STOP_SENDING); + + while (!STAILQ_EMPTY(&conn->ifc_stream_ids_to_ss)) + { + sits = STAILQ_FIRST(&conn->ifc_stream_ids_to_ss); + if (0 == generate_stop_sending_frame_by_id(conn, sits->sits_stream_id, + sits->sits_error_code)) + { + STAILQ_REMOVE_HEAD(&conn->ifc_stream_ids_to_ss, sits_next); + free(sits); + } + else + break; + } + + if (STAILQ_EMPTY(&conn->ifc_stream_ids_to_ss)) + conn->ifc_send_flags &= ~SF_SEND_STOP_SENDING; +} + + +/* Return true if generated, false otherwise */ +static int +generate_rst_stream_frame (struct ietf_full_conn *conn, + struct lsquic_stream *stream) +{ + lsquic_packet_out_t *packet_out; + unsigned need; + int sz; + + need = conn->ifc_conn.cn_pf->pf_rst_frame_size(stream->id, + stream->tosend_off, stream->error_code); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + { + LSQ_DEBUG("cannot get writeable packet for RESET_STREAM frame"); + return 0; + } + sz = conn->ifc_conn.cn_pf->pf_gen_rst_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), stream->id, + stream->tosend_off, stream->error_code); + if (sz < 0) + { + ABORT_ERROR("gen_rst_frame failed"); + return 0; + } + if (0 != lsquic_packet_out_add_stream(packet_out, conn->ifc_pub.mm, stream, + QUIC_FRAME_RST_STREAM, packet_out->po_data_sz, sz)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return 0; + } + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_RST_STREAM; + lsquic_stream_rst_frame_sent(stream); + LSQ_DEBUG("wrote RST: stream %"PRIu64"; offset %"PRIu64"; error code " + "%"PRIu64, stream->id, stream->tosend_off, stream->error_code); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated RESET_STREAM: stream " + "%"PRIu64"; offset %"PRIu64"; error code %"PRIu64, stream->id, + stream->tosend_off, stream->error_code); + + return 1; +} + + +static int +is_our_stream (const struct ietf_full_conn *conn, + const struct lsquic_stream *stream) +{ + const unsigned is_server = !!(conn->ifc_flags & IFC_SERVER); + return (1 & stream->id) == is_server; +} + + +static int +is_peer_initiated (const struct ietf_full_conn *conn, + lsquic_stream_id_t stream_id) +{ + const unsigned is_server = !!(conn->ifc_flags & IFC_SERVER); + return (1 & stream_id) != is_server; +} + + +static void +sched_max_bidi_streams (void *conn_p) +{ + struct ietf_full_conn *conn = conn_p; + + conn->ifc_send_flags |= SF_SEND_MAX_STREAMS_BIDI; + conn->ifc_delayed_send &= ~SF_SEND_MAX_STREAMS_BIDI; + LSQ_DEBUG("schedule MAX_STREAMS frame for bidirectional streams (was " + "delayed)"); +} + + +/* Do not allow peer to open more streams while QPACK decoder stream has + * unsent data. + */ +static int +can_give_peer_streams_credit (struct ietf_full_conn *conn, enum stream_dir sd) +{ + /* This logic only applies to HTTP servers. */ + if ((conn->ifc_flags & (IFC_SERVER|IFC_HTTP)) != (IFC_SERVER|IFC_HTTP)) + return 1; + /* HTTP client does not open unidirectional streams (other than the + * standard three), not applicable. + */ + if (SD_UNI == sd) + return 1; + if (conn->ifc_delayed_send & (SF_SEND_MAX_STREAMS << sd)) + return 0; + if (lsquic_qdh_arm_if_unsent(&conn->ifc_qdh, sched_max_bidi_streams, conn)) + { + LSQ_DEBUG("delay sending more streams credit to peer until QPACK " + "decoder sends unsent data"); + conn->ifc_delayed_send |= SF_SEND_MAX_STREAMS << sd; + return 0; + } + else + return 1; +} + + +/* Because stream IDs are distributed unevenly, it is more efficient to + * maintain four sets of closed stream IDs. + */ +static void +conn_mark_stream_closed (struct ietf_full_conn *conn, + lsquic_stream_id_t stream_id) +{ + lsquic_stream_id_t shifted_id; + uint64_t max_allowed, thresh; + enum stream_id_type idx; + enum stream_dir sd; + + idx = stream_id & SIT_MASK; + shifted_id = stream_id >> SIT_SHIFT; + + if (is_peer_initiated(conn, stream_id) + && !lsquic_set64_has(&conn->ifc_closed_stream_ids[idx], shifted_id)) + { + sd = (stream_id >> SD_SHIFT) & 1; + ++conn->ifc_closed_peer_streams[sd]; + if (0 == (conn->ifc_send_flags & (SF_SEND_MAX_STREAMS << sd))) + { + max_allowed = conn->ifc_max_allowed_stream_id[idx] >> SIT_SHIFT; + thresh = conn->ifc_closed_peer_streams[sd] + + conn->ifc_max_streams_in[sd] / 2; + if (thresh >= max_allowed && can_give_peer_streams_credit(conn, sd)) + { + LSQ_DEBUG("closed incoming %sdirectional streams reached " + "%"PRIu64", scheduled MAX_STREAMS frame", + sd == SD_UNI ? "uni" : "bi", + conn->ifc_closed_peer_streams[sd]); + conn->ifc_send_flags |= SF_SEND_MAX_STREAMS << sd; + } + } + } + + if (0 == lsquic_set64_add(&conn->ifc_closed_stream_ids[idx], shifted_id)) + LSQ_DEBUG("marked stream %"PRIu64" as closed", stream_id); + else + ABORT_ERROR("could not add element to set: %s", strerror(errno)); +} + + +static int +conn_is_stream_closed (struct ietf_full_conn *conn, + lsquic_stream_id_t stream_id) +{ + enum stream_id_type idx = stream_id & SIT_MASK; + stream_id >>= SIT_SHIFT; + return lsquic_set64_has(&conn->ifc_closed_stream_ids[idx], stream_id); +} + + +static int +either_side_going_away (const struct ietf_full_conn *conn) +{ + return (conn->ifc_flags & IFC_GOING_AWAY) + || (conn->ifc_conn.cn_flags & LSCONN_PEER_GOING_AWAY); +} + + +static void +maybe_create_delayed_streams (struct ietf_full_conn *conn) +{ + unsigned avail, delayed; + + delayed = conn->ifc_n_delayed_streams; + if (0 == delayed) + return; + + avail = ietf_full_conn_ci_n_avail_streams(&conn->ifc_conn); + while (avail > 0) + { + if (0 == create_bidi_stream_out(conn)) + { + --avail; + --conn->ifc_n_delayed_streams; + if (0 == conn->ifc_n_delayed_streams) + break; + } + else + { + LSQ_INFO("cannot create BIDI stream"); + break; + } + } + + LSQ_DEBUG("created %u delayed stream%.*s", + delayed - conn->ifc_n_delayed_streams, + delayed - conn->ifc_n_delayed_streams != 1, "s"); +} + + +static int +have_bidi_streams (const struct ietf_full_conn *conn) +{ + const struct lsquic_stream *stream; + struct lsquic_hash_elem *el; + + for (el = lsquic_hash_first(conn->ifc_pub.all_streams); el; + el = lsquic_hash_next(conn->ifc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if (SIT_BIDI_CLIENT == (stream->id & SIT_MASK)) + return 1; + } + + return 0; +} + + +static int +conn_ok_to_close (const struct ietf_full_conn *conn) +{ + assert(conn->ifc_flags & IFC_CLOSING); + return !(conn->ifc_flags & IFC_SERVER) + || (conn->ifc_flags & IFC_RECV_CLOSE) + || ( + !lsquic_send_ctl_have_outgoing_stream_frames(&conn->ifc_send_ctl) + && !have_bidi_streams(conn) + && !lsquic_send_ctl_have_unacked_stream_frames( + &conn->ifc_send_ctl)); +} + + +static void +maybe_close_conn (struct ietf_full_conn *conn) +{ + if ((conn->ifc_flags & (IFC_CLOSING|IFC_GOING_AWAY|IFC_SERVER)) + == (IFC_GOING_AWAY|IFC_SERVER) + && !have_bidi_streams(conn)) + { + conn->ifc_flags |= IFC_CLOSING|IFC_GOAWAY_CLOSE; + LSQ_DEBUG("maybe_close_conn: GOAWAY sent and no responses remain"); + if (conn_ok_to_close(conn)) + { + conn->ifc_send_flags |= SF_SEND_CONN_CLOSE; + LSQ_DEBUG("maybe_close_conn: ok to close: " + "schedule to send CONNECTION_CLOSE"); + } + } +} + + +static void +service_streams (struct ietf_full_conn *conn) +{ + struct lsquic_hash_elem *el; + lsquic_stream_t *stream, *next; + + for (stream = TAILQ_FIRST(&conn->ifc_pub.service_streams); stream; + stream = next) + { + next = TAILQ_NEXT(stream, next_service_stream); + if (stream->sm_qflags & SMQF_ABORT_CONN) + /* No need to unset this flag or remove this stream: the connection + * is about to be aborted. + */ + ABORT_ERROR("aborted due to error in stream %"PRIu64, stream->id); + if (stream->sm_qflags & SMQF_CALL_ONCLOSE) + lsquic_stream_call_on_close(stream); + if (stream->sm_qflags & SMQF_FREE_STREAM) + { + TAILQ_REMOVE(&conn->ifc_pub.service_streams, stream, + next_service_stream); + if (!(stream->sm_bflags & SMBF_CRYPTO)) + { + el = lsquic_hash_find(conn->ifc_pub.all_streams, + &stream->id, sizeof(stream->id)); + if (el) + lsquic_hash_erase(conn->ifc_pub.all_streams, el); + conn_mark_stream_closed(conn, stream->id); + } + else + assert(!(stream->sm_hash_el.qhe_flags & QHE_HASHED)); + lsquic_stream_destroy(stream); + } + } + + /* TODO: this chunk of code, too, should probably live elsewhere */ + if (either_side_going_away(conn)) + { + while (conn->ifc_n_delayed_streams) + { + --conn->ifc_n_delayed_streams; + LSQ_DEBUG("goaway mode: delayed stream results in null ctor"); + (void) conn->ifc_enpub->enp_stream_if->on_new_stream( + conn->ifc_enpub->enp_stream_if_ctx, NULL); + } + maybe_close_conn(conn); + } + else + maybe_create_delayed_streams(conn); +} + + +static int +process_stream_ready_to_send (struct ietf_full_conn *conn, + struct lsquic_stream *stream) +{ + int r = 1; + + LSQ_DEBUG("process_stream_ready_to_send: stream: %"PRIu64", " + "sm_qflags: %d. stream_flags: %d, sm_bflags: %d, ", stream->id, + stream->sm_qflags, stream->stream_flags, stream->sm_bflags); + + if (stream->sm_qflags & SMQF_SEND_MAX_STREAM_DATA) + r &= generate_max_stream_data_frame(conn, stream); + if (stream->sm_qflags & SMQF_SEND_BLOCKED) + { + if (lsquic_stream_is_write_reset(stream)) + { + stream->sm_qflags &= ~SMQF_SEND_BLOCKED; + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, + next_send_stream); + } + else + r &= lsquic_sendctl_gen_stream_blocked_frame(&conn->ifc_send_ctl, + stream); + } + if (stream->sm_qflags & SMQF_SEND_RST) + r &= generate_rst_stream_frame(conn, stream); + if (stream->sm_qflags & SMQF_SEND_STOP_SENDING) + r &= generate_stop_sending_frame(conn, stream); + return r; +} + + +static void +process_streams_ready_to_send (struct ietf_full_conn *conn) +{ + struct lsquic_stream *stream; + union prio_iter pi; + + assert(!TAILQ_EMPTY(&conn->ifc_pub.sending_streams)); + + conn->ifc_pii->pii_init(&pi, TAILQ_FIRST(&conn->ifc_pub.sending_streams), + TAILQ_LAST(&conn->ifc_pub.sending_streams, lsquic_streams_tailq), + (uintptr_t) &TAILQ_NEXT((lsquic_stream_t *) NULL, next_send_stream), + &conn->ifc_pub, "send", NULL, NULL); + + for (stream = conn->ifc_pii->pii_first(&pi); stream; + stream = conn->ifc_pii->pii_next(&pi)) + if (!process_stream_ready_to_send(conn, stream)) + break; + + conn->ifc_pii->pii_cleanup(&pi); +} + + +static void +ietf_full_conn_ci_write_ack (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + generate_ack_frame_for_pns(conn, packet_out, PNS_APP, lsquic_time_now()); +} + + +static int +ietf_full_conn_ci_want_datagram_write (struct lsquic_conn *lconn, int is_want) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + int old; + + if (conn->ifc_flags & IFC_DATAGRAMS) + { + old = !!(conn->ifc_mflags & MF_WANT_DATAGRAM_WRITE); + if (is_want) + { + conn->ifc_mflags |= MF_WANT_DATAGRAM_WRITE; + if (lsquic_send_ctl_can_send (&conn->ifc_send_ctl)) + lsquic_engine_add_conn_to_tickable(conn->ifc_enpub, + &conn->ifc_conn); + } + else + conn->ifc_mflags &= ~MF_WANT_DATAGRAM_WRITE; + LSQ_DEBUG("turn %s \"want datagram write\" flag", + is_want ? "on" : "off"); + return old; + } + else + return -1; +} + + +static void +ietf_full_conn_ci_client_call_on_new (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + assert(conn->ifc_flags & IFC_CREATED_OK); + lconn->cn_conn_ctx = conn->ifc_enpub->enp_stream_if->on_new_conn( + conn->ifc_enpub->enp_stream_if_ctx, lconn); +} + + +static void +ietf_full_conn_ci_close (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + struct lsquic_stream *stream; + struct lsquic_hash_elem *el; + enum stream_dir sd; + + if (!(conn->ifc_flags & IFC_CLOSING)) + { + for (el = lsquic_hash_first(conn->ifc_pub.all_streams); el; + el = lsquic_hash_next(conn->ifc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + sd = (stream->id >> SD_SHIFT) & 1; + if (SD_BIDI == sd) + lsquic_stream_maybe_reset(stream, 0, 1); + } + conn->ifc_flags |= IFC_CLOSING; + if (conn_ok_to_close(conn)) + { + conn->ifc_send_flags |= SF_SEND_CONN_CLOSE; + LSQ_DEBUG("ietf_full_conn_ci_close: ok to close: " + "schedule to send CONNECTION_CLOSE"); + } + lsquic_engine_add_conn_to_tickable(conn->ifc_enpub, lconn); + } +} + + +static void +ietf_full_conn_ci_abort (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + LSQ_INFO("User aborted connection"); + conn->ifc_flags |= IFC_ABORTED; + lsquic_engine_add_conn_to_tickable(conn->ifc_enpub, lconn); +} + + +static void +retire_dcid (struct ietf_full_conn *conn, struct dcid_elem **dce) +{ + if ((*dce)->de_hash_el.qhe_flags & QHE_HASHED) + lsquic_hash_erase(conn->ifc_enpub->enp_srst_hash, &(*dce)->de_hash_el); + TAILQ_INSERT_TAIL(&conn->ifc_to_retire, *dce, de_next_to_ret); + ++conn->ifc_n_to_retire; + LSQ_DEBUG("prepare to retire DCID seqno %"PRIu32"", (*dce)->de_seqno); + *dce = NULL; + conn->ifc_send_flags |= SF_SEND_RETIRE_CID; +} + + +static void +retire_seqno (struct ietf_full_conn *conn, unsigned seqno) +{ + struct dcid_elem *dce; + + dce = lsquic_malo_get(conn->ifc_pub.mm->malo.dcid_elem); + if (dce) + { + memset(dce, 0, sizeof(*dce)); + dce->de_seqno = seqno; + TAILQ_INSERT_TAIL(&conn->ifc_to_retire, dce, de_next_to_ret); + ++conn->ifc_n_to_retire; + LSQ_DEBUG("prepare to retire DCID seqno %"PRIu32, seqno); + conn->ifc_send_flags |= SF_SEND_RETIRE_CID; + } + else + LSQ_INFO("%s: cannot allocate dce", __func__); +} + + +/* This function exists for testing purposes. + * + * The user can switch DCIDs and request that the old DCID is retired. + * + * If the user calls this function frequently in a short amount of time, + * this should trigger the CID issuance throttling. + */ +static void +ietf_full_conn_ci_retire_cid (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + struct dcid_elem **el, **dces[2]; + int eq; + /* + * Find two DCIDs: + * 1. the current DCID that will be retire_cid + * 2. an available DCID that will be switched + * Continue searching until there are no more DCIDs + * or when both DCIDs are found. + */ + dces[0] = NULL; // future DCID (does not match current DCID) + dces[1] = NULL; // current DCID (does match current DCID) + for (el = conn->ifc_dces; el < DCES_END(conn) && !(dces[0] && dces[1]); ++el) + if (*el) + { + eq = LSQUIC_CIDS_EQ(&(*el)->de_cid, CUR_DCID(conn)); + if (!dces[eq]) + dces[eq] = el; + } + if (!dces[1]) + { + ABORT_WARN("%s: cannot find own DCID", __func__); + return; + } + if (!dces[0]) + { + LSQ_INFO("No DCID available: cannot switch"); + /* TODO: implemened delayed switch */ + // conn->ifc_flags |= IFC_SWITCH_DCID; + return; + } + /* + * Switch DCID. + */ + *CUR_DCID(conn) = (*dces[0])->de_cid; + if (CUR_CPATH(conn)->cop_flags & COP_SPIN_BIT) + CUR_CPATH(conn)->cop_spin_bit = 0; + LSQ_INFOC("switched DCID to %"CID_FMT, CID_BITS(CUR_DCID(conn))); + /* + * Mark old DCID for retirement. + */ + retire_dcid(conn, dces[1]); +} + + +static void +drop_crypto_streams (struct ietf_full_conn *conn) +{ + struct lsquic_stream **streamp; + unsigned count; + + if ((conn->ifc_flags & (IFC_SERVER|IFC_PROC_CRYPTO)) != IFC_PROC_CRYPTO) + return; + + conn->ifc_flags &= ~IFC_PROC_CRYPTO; + + count = 0; + for (streamp = conn->ifc_u.cli.crypto_streams; streamp < + conn->ifc_u.cli.crypto_streams + sizeof(conn->ifc_u.cli.crypto_streams) + / sizeof(conn->ifc_u.cli.crypto_streams[0]); ++streamp) + if (*streamp) + { + lsquic_stream_force_finish(*streamp); + *streamp = NULL; + ++count; + } + + LSQ_DEBUG("dropped %u crypto stream%.*s", count, count != 1, "s"); +} + + +static void +ietf_full_conn_ci_destroy (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + struct lsquic_stream **streamp, *stream; + struct stream_id_to_ss *sits; + struct dcid_elem **dcep, *dce; + struct lsquic_hash_elem *el; + unsigned i; + + if (!(conn->ifc_flags & IFC_SERVER)) + { + for (streamp = conn->ifc_u.cli.crypto_streams; streamp < + conn->ifc_u.cli.crypto_streams + + sizeof(conn->ifc_u.cli.crypto_streams) + / sizeof(conn->ifc_u.cli.crypto_streams[0]); ++streamp) + if (*streamp) + lsquic_stream_destroy(*streamp); + } + while ((el = lsquic_hash_first(conn->ifc_pub.all_streams))) + { + stream = lsquic_hashelem_getdata(el); + lsquic_hash_erase(conn->ifc_pub.all_streams, el); + lsquic_stream_destroy(stream); + } + if (conn->ifc_flags & IFC_HTTP) + { + lsquic_qdh_cleanup(&conn->ifc_qdh); + lsquic_qeh_cleanup(&conn->ifc_qeh); + } + for (dcep = conn->ifc_dces; dcep < conn->ifc_dces + sizeof(conn->ifc_dces) + / sizeof(conn->ifc_dces[0]); ++dcep) + if (*dcep) + { + if ((*dcep)->de_hash_el.qhe_flags & QHE_HASHED) + lsquic_hash_erase(conn->ifc_enpub->enp_srst_hash, + &(*dcep)->de_hash_el); + lsquic_malo_put(*dcep); + } + while ((dce = TAILQ_FIRST(&conn->ifc_to_retire))) + { + TAILQ_REMOVE(&conn->ifc_to_retire, dce, de_next_to_ret); + --conn->ifc_n_to_retire; + lsquic_malo_put(dce); + } + lsquic_send_ctl_cleanup(&conn->ifc_send_ctl); + for (i = 0; i < N_PNS; ++i) + lsquic_rechist_cleanup(&conn->ifc_rechist[i]); + lsquic_malo_destroy(conn->ifc_pub.packet_out_malo); + if (conn->ifc_flags & IFC_CREATED_OK) + conn->ifc_enpub->enp_stream_if->on_conn_closed(&conn->ifc_conn); + assert(conn->ifc_conn.cn_conn_ctx == NULL); + if (conn->ifc_conn.cn_enc_session) + conn->ifc_conn.cn_esf.i->esfi_destroy(conn->ifc_conn.cn_enc_session); + while (!STAILQ_EMPTY(&conn->ifc_stream_ids_to_ss)) + { + sits = STAILQ_FIRST(&conn->ifc_stream_ids_to_ss); + STAILQ_REMOVE_HEAD(&conn->ifc_stream_ids_to_ss, sits_next); + free(sits); + } + if (conn->ifc_flags & IFC_SERVER) + { + if (conn->ifc_pub.u.ietf.promises) + lsquic_hash_destroy(conn->ifc_pub.u.ietf.promises); + } + for (i = 0; i < N_SITS; ++i) + lsquic_set64_cleanup(&conn->ifc_closed_stream_ids[i]); + if (conn->ifc_bpus) + { + for (el = lsquic_hash_first(conn->ifc_bpus); el; + el = lsquic_hash_next(conn->ifc_bpus)) + free(lsquic_hashelem_getdata(el)); + lsquic_hash_destroy(conn->ifc_bpus); + } + lsquic_hash_destroy(conn->ifc_pub.all_streams); +#if LSQUIC_CONN_STATS + if (conn->ifc_flags & IFC_CREATED_OK) + { + LSQ_NOTICE("# ticks: %lu", conn->ifc_stats.n_ticks); + LSQ_NOTICE("sent %lu packets", conn->ifc_stats.out.packets); + LSQ_NOTICE("received %lu packets, of which %lu were not decryptable, %lu were " + "dups and %lu were errors; sent %lu packets, avg stream data per outgoing" + " packet is %lu bytes", + conn->ifc_stats.in.packets, conn->ifc_stats.in.undec_packets, + conn->ifc_stats.in.dup_packets, conn->ifc_stats.in.err_packets, + conn->ifc_stats.out.packets, + conn->ifc_stats.out.stream_data_sz / + (conn->ifc_stats.out.packets ? conn->ifc_stats.out.packets : 1)); + if (conn->ifc_flags & IFC_DELAYED_ACKS) + LSQ_NOTICE("delayed ACKs settings: (%u/%.3f/%.3f/%.3f/%.3f/%.3f); " + "packet tolerances sent: count: %u, min: %u, max: %u", + conn->ifc_settings->es_ptpc_periodicity, + conn->ifc_settings->es_ptpc_target, + conn->ifc_settings->es_ptpc_prop_gain, + conn->ifc_settings->es_ptpc_int_gain, + conn->ifc_settings->es_ptpc_err_thresh, + conn->ifc_settings->es_ptpc_err_divisor, + conn->ifc_ack_freq_seqno, + conn->ifc_min_pack_tol_sent, conn->ifc_max_pack_tol_sent); + LSQ_NOTICE("ACKs: delayed acks on: %s; in: %lu; processed: %lu; merged: %lu", + conn->ifc_flags & IFC_DELAYED_ACKS ? "yes" : "no", + conn->ifc_stats.in.n_acks, conn->ifc_stats.in.n_acks_proc, + conn->ifc_stats.in.n_acks_merged); + } + if (conn->ifc_last_stats) + free(conn->ifc_last_stats); +#endif + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "full connection destroyed"); + free(conn->ifc_errmsg); + free(conn); +} + + +static uint64_t +calc_drain_time (const struct ietf_full_conn *conn) +{ + lsquic_time_t drain_time, pto, srtt, var; + + /* PTO Calculation: [draft-ietf-quic-recovery-18], Section 6.2.2.1; + * Drain time: [draft-ietf-quic-transport-19], Section 10.1. + */ + srtt = lsquic_rtt_stats_get_srtt(&conn->ifc_pub.rtt_stats); + var = lsquic_rtt_stats_get_rttvar(&conn->ifc_pub.rtt_stats); + pto = srtt + 4 * var + TP_DEF_MAX_ACK_DELAY * 1000; + drain_time = 3 * pto; + + return drain_time; +} + + +static lsquic_time_t +ietf_full_conn_ci_drain_time (const struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + lsquic_time_t drain_time; + + /* Only applicable to a server whose connection was not timed out */ + if ((conn->ifc_flags & (IFC_SERVER|IFC_TIMED_OUT)) != IFC_SERVER) + { + LSQ_DEBUG("drain time is zero (don't drain)"); + return 0; + } + + drain_time = calc_drain_time(conn); + LSQ_DEBUG("drain time is %"PRIu64" usec", drain_time); + return drain_time; +} + + +static void +ietf_full_conn_ci_going_away (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + + if (conn->ifc_flags & IFC_HTTP) + { + if (!(conn->ifc_flags & (IFC_CLOSING|IFC_GOING_AWAY))) + { + LSQ_INFO("connection marked as going away, last stream: %" PRIu64, + conn->ifc_max_req_id); + conn->ifc_flags |= IFC_GOING_AWAY; + const lsquic_stream_id_t stream_id = conn->ifc_max_req_id + N_SITS; + if (valid_stream_id(stream_id)) + { + if (0 == lsquic_hcso_write_goaway(&conn->ifc_hcso, + conn->ifc_max_req_id)) + lsquic_engine_add_conn_to_tickable(conn->ifc_enpub, lconn); + else + /* We're already going away, don't abort because of this */ + LSQ_WARN("could not write GOAWAY frame"); + } + maybe_close_conn(conn); + } + } + else + LSQ_NOTICE("going away has no effect in non-HTTP mode"); +} + + +static void +handshake_failed (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + LSQ_DEBUG("handshake failed"); + lsquic_alarmset_unset(&conn->ifc_alset, AL_HANDSHAKE); + conn->ifc_flags |= IFC_HSK_FAILED; +} + + +static struct dcid_elem * +get_new_dce (struct ietf_full_conn *conn) +{ + struct dcid_elem **el; + + for (el = conn->ifc_dces; el < conn->ifc_dces + sizeof(conn->ifc_dces) + / sizeof(conn->ifc_dces[0]); ++el) + if (!*el) + return *el = lsquic_malo_get(conn->ifc_pub.mm->malo.dcid_elem); + + return NULL; +} + + +static void +queue_streams_blocked_frame (struct ietf_full_conn *conn, enum stream_dir sd) +{ + enum stream_id_type sit; + uint64_t limit; + + if (0 == (conn->ifc_send_flags & (SF_SEND_STREAMS_BLOCKED << sd))) + { + conn->ifc_send_flags |= SF_SEND_STREAMS_BLOCKED << sd; + sit = gen_sit(conn->ifc_flags & IFC_SERVER, sd); + limit = conn->ifc_max_allowed_stream_id[sit] >> SIT_SHIFT; + conn->ifc_send.streams_blocked[sd] = limit; + LSQ_DEBUG("scheduled %sdirectional STREAMS_BLOCKED (limit=%"PRIu64 + ") frame", sd == SD_BIDI ? "bi" : "uni", limit); + } + else + LSQ_DEBUG("%sdirectional STREAMS_BLOCKED frame already queued", + sd == SD_BIDI ? "bi" : "uni"); +} + + +static void +retire_cid_from_tp (struct ietf_full_conn *conn, + const struct transport_params *params) +{ + struct dcid_elem *dce; + + dce = get_new_dce(conn); + if (!dce) + { + ABORT_ERROR("cannot allocate DCE"); + return; + } + + memset(dce, 0, sizeof(*dce)); + dce->de_cid = params->tp_preferred_address.cid; + dce->de_seqno = 1; + memcpy(dce->de_srst, params->tp_preferred_address.srst, + sizeof(dce->de_srst)); + dce->de_flags = DE_SRST; + TAILQ_INSERT_TAIL(&conn->ifc_to_retire, dce, de_next_to_ret); + ++conn->ifc_n_to_retire; + LSQ_DEBUG("prepare to retire DCID seqno %"PRIu32, dce->de_seqno); + conn->ifc_send_flags |= SF_SEND_RETIRE_CID; +} + + +static enum { BM_MIGRATING, BM_NOT_MIGRATING, BM_ERROR, } +try_to_begin_migration (struct ietf_full_conn *conn, + const struct transport_params *params) +{ + struct conn_path *copath; + struct dcid_elem *dce; + int is_ipv6; + union { + struct sockaddr_in v4; + struct sockaddr_in6 v6; + } sockaddr; + + if (!conn->ifc_settings->es_allow_migration) + { + LSQ_DEBUG("Migration not allowed: retire PreferredAddress CID"); + return BM_NOT_MIGRATING; + } + + if (conn->ifc_conn.cn_version <= LSQVER_ID27 /* Starting with ID-29, + disable_active_migration TP applies only to the time period during + the handshake. Our client does not migrate during the handshake: + this code runs only after handshake has succeeded. */ + && (params->tp_set & (1 << TPI_DISABLE_ACTIVE_MIGRATION))) + { + LSQ_DEBUG("TP disables migration: retire PreferredAddress CID"); + return BM_NOT_MIGRATING; + } + + is_ipv6 = NP_IS_IPv6(CUR_NPATH(conn)); + if ((is_ipv6 && !lsquic_tp_has_pref_ipv6(params)) + || (!is_ipv6 && !lsquic_tp_has_pref_ipv4(params))) + { + /* XXX This is a limitation in the client code outside of the library. + * To support cross-IP-version migration, we need to add some callbacks + * to open a different socket. + */ + LSQ_DEBUG("Cannot migrate from IPv%u to IPv%u", is_ipv6 ? 6 : 4, + is_ipv6 ? 4 : 6); + return BM_NOT_MIGRATING; + } + + if (0 == params->tp_preferred_address.cid.len) + { + /* TODO: mark with a new flag and begin migration when a non-zero length + * DCID becomes available. + */ + LSQ_DEBUG("Cannot migrate using zero-length DCID"); + return BM_NOT_MIGRATING; + } + + dce = get_new_dce(conn); + if (!dce) + { + ABORT_WARN("cannot allocate DCE"); + return BM_ERROR; + } + + memset(dce, 0, sizeof(*dce)); + dce->de_cid = params->tp_preferred_address.cid; + dce->de_seqno = 1; + dce->de_flags = DE_SRST; + memcpy(dce->de_srst, params->tp_preferred_address.srst, + sizeof(dce->de_srst)); + if (conn->ifc_enpub->enp_srst_hash) + { + if (!lsquic_hash_insert(conn->ifc_enpub->enp_srst_hash, + dce->de_srst, sizeof(dce->de_srst), &conn->ifc_conn, + &dce->de_hash_el)) + { + lsquic_malo_put(dce); + ABORT_WARN("cannot insert DCE"); + return BM_ERROR; + } + } + + if (is_ipv6) + { + sockaddr.v6.sin6_family = AF_INET6; + sockaddr.v6.sin6_port = htons(params->tp_preferred_address.ipv6_port); + memcpy(&sockaddr.v6.sin6_addr, params->tp_preferred_address.ipv6_addr, + sizeof(sockaddr.v6.sin6_addr)); + } + else + { + sockaddr.v4.sin_family = AF_INET; + sockaddr.v4.sin_port = htons(params->tp_preferred_address.ipv4_port); + memcpy(&sockaddr.v4.sin_addr, params->tp_preferred_address.ipv4_addr, + sizeof(sockaddr.v4.sin_addr)); + } + + copath = &conn->ifc_paths[1]; + assert(!(conn->ifc_used_paths & (1 << (copath - conn->ifc_paths)))); + + migra_begin(conn, copath, dce, (struct sockaddr *) &sockaddr, params); + return BM_MIGRATING; +} + + +static void +maybe_start_migration (struct ietf_full_conn *conn) +{ + struct lsquic_conn *const lconn = &conn->ifc_conn; + const struct transport_params *params; + + params = lconn->cn_esf.i->esfi_get_peer_transport_params( + lconn->cn_enc_session); + if (params->tp_set & (1 << TPI_PREFERRED_ADDRESS)) + switch (try_to_begin_migration(conn, params)) + { + case BM_MIGRATING: + break; + case BM_NOT_MIGRATING: + if (lconn->cn_version == LSQVER_ID27) + retire_cid_from_tp(conn, params); + else + { +/* + * [draft-ietf-quic-transport-28] Section 5.1.1: + " Connection IDs that are issued and not + " retired are considered active; any active connection ID is valid for + " use with the current connection at any time, in any packet type. + " This includes the connection ID issued by the server via the + " preferred_address transport parameter. + */ + LSQ_DEBUG("not migrating: save DCID from transport params"); + (void) insert_new_dcid(conn, 1, + ¶ms->tp_preferred_address.cid, + params->tp_preferred_address.srst, 0); + } + break; + case BM_ERROR: + ABORT_QUIETLY(0, TEC_INTERNAL_ERROR, "error initiating migration"); + break; + } +} + + +static int +apply_trans_params (struct ietf_full_conn *conn, + const struct transport_params *params) +{ + struct lsquic_stream *stream; + struct lsquic_hash_elem *el; + enum stream_id_type sit; + uint64_t limit; + + if ((params->tp_set & (1 << TPI_LOSS_BITS)) + && conn->ifc_settings->es_ql_bits == 2) + { + LSQ_DEBUG("turn on QL loss bits"); + lsquic_send_ctl_do_ql_bits(&conn->ifc_send_ctl); + } + + if (params->tp_init_max_streams_bidi > (1ull << 60) + || params->tp_init_max_streams_uni > (1ull << 60)) + { + if (params->tp_init_max_streams_bidi > (1ull << 60)) + ABORT_QUIETLY(0, TEC_STREAM_LIMIT_ERROR, "init_max_streams_bidi is " + "too large: %"PRIu64, params->tp_init_max_streams_bidi); + else + ABORT_QUIETLY(0, TEC_STREAM_LIMIT_ERROR, "init_max_streams_uni is " + "too large: %"PRIu64, params->tp_init_max_streams_uni); + return -1; + } + + sit = gen_sit(conn->ifc_flags & IFC_SERVER, SD_BIDI); + conn->ifc_max_allowed_stream_id[sit] = + params->tp_init_max_streams_bidi << SIT_SHIFT; + sit = gen_sit(conn->ifc_flags & IFC_SERVER, SD_UNI); + conn->ifc_max_allowed_stream_id[sit] = + params->tp_init_max_streams_uni << SIT_SHIFT; + + conn->ifc_max_stream_data_uni = params->tp_init_max_stream_data_uni; + + if (params->tp_init_max_data < conn->ifc_pub.conn_cap.cc_sent) + { + ABORT_WARN("peer specified init_max_data=%"PRIu64" bytes, which is " + "smaller than the amount of data already sent on this connection " + "(%"PRIu64" bytes)", params->tp_init_max_data, + conn->ifc_pub.conn_cap.cc_sent); + return -1; + } + + conn->ifc_pub.conn_cap.cc_max = params->tp_init_max_data; + + for (el = lsquic_hash_first(conn->ifc_pub.all_streams); el; + el = lsquic_hash_next(conn->ifc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if (is_our_stream(conn, stream)) + limit = params->tp_init_max_stream_data_bidi_remote; + else + limit = params->tp_init_max_stream_data_bidi_local; + if (0 != lsquic_stream_set_max_send_off(stream, limit)) + { + ABORT_WARN("cannot set peer-supplied max_stream_data=%"PRIu64 + "on stream %"PRIu64, limit, stream->id); + return -1; + } + } + + if (conn->ifc_flags & IFC_SERVER) + conn->ifc_cfg.max_stream_send + = params->tp_init_max_stream_data_bidi_local; + else + conn->ifc_cfg.max_stream_send + = params->tp_init_max_stream_data_bidi_remote; + conn->ifc_cfg.ack_exp = params->tp_ack_delay_exponent; + + switch ((!!conn->ifc_settings->es_idle_timeout << 1) + | !!params->tp_max_idle_timeout) + { + case (0 << 1) | 0: + LSQ_DEBUG("neither side specified max idle time out, turn it off"); + break; + case (0 << 1) | 1: + LSQ_DEBUG("peer specified max idle timeout of %"PRIu64" ms (vs ours " + "of zero): use it", params->tp_max_idle_timeout); + conn->ifc_idle_to = params->tp_max_idle_timeout * 1000; + break; + case (1 << 1) | 0: + LSQ_DEBUG("peer did not specify max idle timeout, while ours is " + "%u ms: use it", conn->ifc_settings->es_idle_timeout * 1000); + conn->ifc_idle_to = conn->ifc_settings->es_idle_timeout * 1000000; + break; + default:/* (1 << 1) | 1 */ + LSQ_DEBUG("our max idle timeout is %u ms, peer's is %"PRIu64" ms; " + "use minimum value of %"PRIu64" ms", + conn->ifc_settings->es_idle_timeout * 1000, + params->tp_max_idle_timeout, + MIN(conn->ifc_settings->es_idle_timeout * 1000, + params->tp_max_idle_timeout)); + conn->ifc_idle_to = 1000 * MIN(conn->ifc_settings->es_idle_timeout + * 1000, params->tp_max_idle_timeout); + break; + } + + if (conn->ifc_idle_to >= 2000000 + && conn->ifc_enpub->enp_settings.es_ping_period) + conn->ifc_ping_period = conn->ifc_idle_to / 2; + else + conn->ifc_ping_period = 0; + LSQ_DEBUG("PING period is set to %"PRIu64" usec", conn->ifc_ping_period); + + if (conn->ifc_settings->es_delayed_acks + && (params->tp_set + & ((1 << TPI_MIN_ACK_DELAY)|(1 << TPI_MIN_ACK_DELAY_02)))) + { + /* We do not use the min_ack_delay value for anything at the moment, + * as ACK_FREQUENCY frames we generate do not change the peer's max + * ACK delay. When or if we do decide to do it, don't forget to use + * the correct value here -- based on which TP is set! + */ + LSQ_DEBUG("delayed ACKs enabled"); + conn->ifc_flags |= IFC_DELAYED_ACKS; + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_PACK_TOL, + packet_tolerance_alarm_expired, conn); + } + if (conn->ifc_settings->es_timestamps + && (params->tp_set & (1 << TPI_TIMESTAMPS)) + && (params->tp_numerics[TPI_TIMESTAMPS] & TS_WANT_THEM)) + { + LSQ_DEBUG("timestamps enabled: will send TIMESTAMP frames"); + conn->ifc_flags |= IFC_TIMESTAMPS; + } + if (conn->ifc_settings->es_datagrams + && (params->tp_set & (1 << TPI_MAX_DATAGRAM_FRAME_SIZE))) + { + LSQ_DEBUG("datagrams enabled"); + conn->ifc_flags |= IFC_DATAGRAMS; + conn->ifc_max_dg_sz = + params->tp_numerics[TPI_MAX_DATAGRAM_FRAME_SIZE] > USHRT_MAX + ? USHRT_MAX : params->tp_numerics[TPI_MAX_DATAGRAM_FRAME_SIZE]; + } + + conn->ifc_pub.max_peer_ack_usec = params->tp_max_ack_delay * 1000; + + if ((params->tp_set & (1 << TPI_MAX_UDP_PAYLOAD_SIZE)) + /* Second check is so that we don't truncate a large value when + * storing it in unsigned short. + */ + && params->tp_numerics[TPI_MAX_UDP_PAYLOAD_SIZE] + < TP_DEF_MAX_UDP_PAYLOAD_SIZE) + conn->ifc_max_udp_payload = params->tp_numerics[TPI_MAX_UDP_PAYLOAD_SIZE]; + else + conn->ifc_max_udp_payload = TP_DEF_MAX_UDP_PAYLOAD_SIZE; + + if (conn->ifc_max_udp_payload < CUR_NPATH(conn)->np_pack_size) + { + CUR_NPATH(conn)->np_pack_size = conn->ifc_max_udp_payload; + LSQ_DEBUG("decrease packet size to %hu bytes", + CUR_NPATH(conn)->np_pack_size); + } + + if (params->tp_active_connection_id_limit > conn->ifc_conn.cn_n_cces) + conn->ifc_active_cids_limit = conn->ifc_conn.cn_n_cces; + else + conn->ifc_active_cids_limit = params->tp_active_connection_id_limit; + conn->ifc_first_active_cid_seqno = conn->ifc_scid_seqno; + + return 0; +} + + +static void +randomize_qpack_settings (struct ietf_full_conn *conn, const char *side, + unsigned *dyn_table_size, unsigned *max_risked_streams) +{ + const unsigned char nybble = lsquic_crand_get_nybble( + conn->ifc_enpub->enp_crand); + /* For each setting, select one of four levels: + * Table size: 0, 1/4, 1/2, and 1/1 of dyn_table_size + * Risked streams: 0, 1, 5, and max_risked_streams + */ + switch (nybble & 3) + { case 0: *dyn_table_size = 0; break; + case 1: *dyn_table_size /= 4; break; + case 2: *dyn_table_size /= 2; break; + default: break; + } + if (*dyn_table_size) + switch ((nybble >> 2) & 3) + { case 0: *max_risked_streams = 0; break; + case 1: *max_risked_streams = MIN(1, *max_risked_streams); break; + case 2: *max_risked_streams = MIN(5, *max_risked_streams); break; + default: break; + } + else + *max_risked_streams = 0; + LSQ_INFO("randomized QPACK %s settings: table size: %u; risked " + "streams: %u", side, *dyn_table_size, *max_risked_streams); +} + + +static int +init_http (struct ietf_full_conn *conn) +{ + unsigned max_risked_streams, dyn_table_size; + + fiu_return_on("full_conn_ietf/init_http", -1); + lsquic_qeh_init(&conn->ifc_qeh, &conn->ifc_conn); + if (conn->ifc_settings->es_qpack_experiment) + { + conn->ifc_qeh.qeh_exp_rec = lsquic_qpack_exp_new(); + if (conn->ifc_qeh.qeh_exp_rec) + { + conn->ifc_qeh.qeh_exp_rec->qer_flags |= QER_SERVER & conn->ifc_flags; + conn->ifc_qeh.qeh_exp_rec->qer_flags |= QER_ENCODER; + } + } + if (0 == avail_streams_count(conn, conn->ifc_flags & IFC_SERVER, + SD_UNI)) + { + ABORT_QUIETLY(1, HEC_GENERAL_PROTOCOL_ERROR, "cannot create " + "control stream due to peer-imposed limit"); + conn->ifc_error = CONN_ERR(1, HEC_GENERAL_PROTOCOL_ERROR); + return -1; + } + if (0 != create_ctl_stream_out(conn)) + { + ABORT_WARN("cannot create outgoing control stream"); + return -1; + } + dyn_table_size = conn->ifc_settings->es_qpack_dec_max_size; + max_risked_streams = conn->ifc_settings->es_qpack_dec_max_blocked; + if (conn->ifc_settings->es_qpack_experiment == 2) + randomize_qpack_settings(conn, "decoder", &dyn_table_size, + &max_risked_streams); + if (0 != lsquic_hcso_write_settings(&conn->ifc_hcso, + conn->ifc_settings->es_max_header_list_size, dyn_table_size, + max_risked_streams, conn->ifc_flags & IFC_SERVER +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + , + conn->ifc_settings->es_webtransport_server, + conn->ifc_settings->es_max_webtransport_server_streams +#endif + )) + { + ABORT_WARN("cannot write SETTINGS"); + return -1; + } + if (!(conn->ifc_flags & IFC_SERVER) + && (conn->ifc_u.cli.ifcli_flags & IFCLI_PUSH_ENABLED) + && 0 != lsquic_hcso_write_max_push_id(&conn->ifc_hcso, + conn->ifc_u.cli.ifcli_max_push_id)) + { + ABORT_WARN("cannot write MAX_PUSH_ID"); + return -1; + } + if (0 != lsquic_qdh_init(&conn->ifc_qdh, &conn->ifc_conn, + conn->ifc_flags & IFC_SERVER, conn->ifc_enpub, + dyn_table_size, max_risked_streams)) + { + ABORT_WARN("cannot initialize QPACK decoder"); + return -1; + } + if (avail_streams_count(conn, conn->ifc_flags & IFC_SERVER, SD_UNI) > 0) + { + if (0 != create_qdec_stream_out(conn)) + { + ABORT_WARN("cannot create outgoing QPACK decoder stream"); + return -1; + } + } + else + { + queue_streams_blocked_frame(conn, SD_UNI); + LSQ_DEBUG("cannot create outgoing QPACK decoder stream due to " + "unidir limits"); + } + conn->ifc_flags |= IFC_HTTP_INITED; + return 0; +} + + +static int +handshake_ok (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + struct dcid_elem *dce; + const struct transport_params *params; + char buf[MAX_TP_STR_SZ]; + + fiu_return_on("full_conn_ietf/handshake_ok", -1); + + /* Need to set this flag even we hit an error in the rest of this funciton. + * This is because this flag is used to calculate packet out header size + */ + lconn->cn_flags |= LSCONN_HANDSHAKE_DONE; + + params = lconn->cn_esf.i->esfi_get_peer_transport_params( + lconn->cn_enc_session); + if (!params) + { + ABORT_WARN("could not get transport parameters"); + return -1; + } + + LSQ_DEBUG("peer transport parameters: %s", + ((lconn->cn_version == LSQVER_ID27 ? lsquic_tp_to_str_27 + : lsquic_tp_to_str)(params, buf, sizeof(buf)), buf)); + if (0 != apply_trans_params(conn, params)) + return -1; + + dce = get_new_dce(conn); + if (!dce) + { + ABORT_WARN("cannot allocate DCE"); + return -1; + } + + memset(dce, 0, sizeof(*dce)); + dce->de_cid = *CUR_DCID(conn); + dce->de_seqno = 0; + if (params->tp_set & (1 << TPI_STATELESS_RESET_TOKEN)) + { + memcpy(dce->de_srst, params->tp_stateless_reset_token, + sizeof(dce->de_srst)); + dce->de_flags = DE_SRST | DE_ASSIGNED; + if (conn->ifc_enpub->enp_srst_hash) + { + if (!lsquic_hash_insert(conn->ifc_enpub->enp_srst_hash, + dce->de_srst, sizeof(dce->de_srst), &conn->ifc_conn, + &dce->de_hash_el)) + { + ABORT_WARN("cannot insert DCE"); + return -1; + } + } + } + else + dce->de_flags = DE_ASSIGNED; + + if (!(conn->ifc_flags & IFC_SERVER) + && (params->tp_set & (1 << TPI_VERSION_INFORMATION))) + { + LSQ_DEBUG("server chosen version %s", + lsquic_ver2str[params->tp_chosen_version]); + if (((1 << params->tp_chosen_version) + & conn->ifc_settings->es_versions) == 0) + { + ABORT_QUIETLY(0, TEC_VERSION_NEGOTIATION_ERROR, + "server chosen version %s is not supported", + lsquic_ver2str[params->tp_chosen_version] + ); + return -1; + } +// if (conn->ifc_conn.cn_version != params->tp_chosen_version) +// { +// LSQ_DEBUG("version negociation: switch version from %s to %s", +// lsquic_ver2str[conn->ifc_conn.cn_version], +// lsquic_ver2str[params->tp_chosen_version]); +// conn->ifc_conn.cn_version = params->tp_chosen_version; +// } + } + + LSQ_INFO("applied peer transport parameters"); + + if ((conn->ifc_flags & (IFC_HTTP|IFC_HTTP_INITED)) == IFC_HTTP) + if (0 != init_http(conn)) + return -1; + + if (conn->ifc_settings->es_dplpmtud) + conn->ifc_mflags |= MF_CHECK_MTU_PROBE; + + if (can_issue_cids(conn)) + conn->ifc_send_flags |= SF_SEND_NEW_CID; + maybe_create_delayed_streams(conn); + + if (!(conn->ifc_flags & IFC_SERVER)) + lsquic_send_ctl_0rtt_to_1rtt(&conn->ifc_send_ctl); + return 0; +} + + +static void +ietf_full_conn_ci_hsk_done (struct lsquic_conn *lconn, + enum lsquic_hsk_status status) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + + lsquic_alarmset_unset(&conn->ifc_alset, AL_HANDSHAKE); + + switch (status) + { + case LSQ_HSK_OK: + case LSQ_HSK_RESUMED_OK: + if (0 == handshake_ok(lconn)) + { + if (!(conn->ifc_flags & IFC_SERVER)) + lsquic_send_ctl_begin_optack_detection(&conn->ifc_send_ctl); + } + else + { + LSQ_INFO("handshake was reported successful, but later processing " + "produced an error"); + status = LSQ_HSK_FAIL; + handshake_failed(lconn); + } + break; + default: + case LSQ_HSK_RESUMED_FAIL: /* IETF crypto never returns this */ + assert(0); + /* fall-through */ + case LSQ_HSK_FAIL: + handshake_failed(lconn); + break; + } + if (conn->ifc_enpub->enp_stream_if->on_hsk_done) + conn->ifc_enpub->enp_stream_if->on_hsk_done(lconn, status); +} + + +static void +ietf_full_conn_ci_tls_alert (struct lsquic_conn *lconn, uint8_t alert) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + ABORT_QUIETLY(0, 0x100 + alert, "TLS alert %"PRIu8, alert); +} + + +static int +ietf_full_conn_ci_report_live (struct lsquic_conn *lconn, lsquic_time_t now) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + + if (conn->ifc_last_live_update + 30000000 < now) + { + conn->ifc_last_live_update = now; + return 1; + } + else + return 0; +} + + +static int +ietf_full_conn_ci_is_push_enabled (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + + return (conn->ifc_flags & IFC_SERVER) + && (conn->ifc_u.ser.ifser_flags + & (IFSER_PUSH_ENABLED|IFSER_MAX_PUSH_ID)) + == (IFSER_PUSH_ENABLED|IFSER_MAX_PUSH_ID) + && conn->ifc_u.ser.ifser_next_push_id + <= conn->ifc_u.ser.ifser_max_push_id + && !either_side_going_away(conn) + && avail_streams_count(conn, 1, SD_UNI) > 0 + ; +} + + +static void +undo_stream_creation (struct ietf_full_conn *conn, + struct lsquic_stream *stream) +{ + enum stream_dir sd; + + assert(stream->sm_hash_el.qhe_flags & QHE_HASHED); + assert(!(stream->stream_flags & STREAM_ONCLOSE_DONE)); + + LSQ_DEBUG("undo creation of stream %"PRIu64, stream->id); + lsquic_hash_erase(conn->ifc_pub.all_streams, &stream->sm_hash_el); + sd = (stream->id >> SD_SHIFT) & 1; + --conn->ifc_n_created_streams[sd]; + lsquic_stream_destroy(stream); +} + + +/* This function is long because there are a lot of steps to perform, several + * things can go wrong, which we want to roll back, yet at the same time we + * want to do everything efficiently. + */ +static int +ietf_full_conn_ci_push_stream (struct lsquic_conn *lconn, void *hset, + struct lsquic_stream *dep_stream, const struct lsquic_http_headers *headers) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + unsigned char *header_block_buf, *end, *p; + size_t hea_sz, enc_sz; + ssize_t prefix_sz; + struct lsquic_hash_elem *el; + struct push_promise *promise; + struct lsquic_stream *pushed_stream; + struct uncompressed_headers *uh; + enum lsqpack_enc_status enc_st; + int i; + unsigned char discard[2]; + struct lsxpack_header *xhdr; + + if (!ietf_full_conn_ci_is_push_enabled(lconn) + || !lsquic_stream_can_push(dep_stream)) + { + LSQ_DEBUG("cannot push using stream %"PRIu64, dep_stream->id); + return -1; + } + + if (!hset) + { + LSQ_ERROR("header set must be specified when pushing"); + return -1; + } + + if (0 != lsqpack_enc_start_header(&conn->ifc_qeh.qeh_encoder, 0, 0)) + { + LSQ_WARN("cannot start header for push stream"); + return -1; + } + + header_block_buf = lsquic_mm_get_4k(conn->ifc_pub.mm); + if (!header_block_buf) + { + LSQ_WARN("cannot allocate 4k"); + (void) lsqpack_enc_cancel_header(&conn->ifc_qeh.qeh_encoder); + return -1; + } + + /* Generate header block in cheap 4K memory. It it will be copied to + * a new push_promise object. + */ + p = header_block_buf; + end = header_block_buf + 0x1000; + enc_sz = 0; /* Should not change */ + for (i = 0; i < headers->count; ++i) + { + xhdr = &headers->headers[i]; + if (!xhdr->buf) + continue; + hea_sz = end - p; + enc_st = lsqpack_enc_encode(&conn->ifc_qeh.qeh_encoder, NULL, + &enc_sz, p, &hea_sz, xhdr, LQEF_NO_HIST_UPD|LQEF_NO_DYN); + if (enc_st == LQES_OK) + p += hea_sz; + else + { + (void) lsqpack_enc_cancel_header(&conn->ifc_qeh.qeh_encoder); + lsquic_mm_put_4k(conn->ifc_pub.mm, header_block_buf); + LSQ_DEBUG("cannot encode header field for push %u", enc_st); + return -1; + } + } + prefix_sz = lsqpack_enc_end_header(&conn->ifc_qeh.qeh_encoder, + discard, sizeof(discard), NULL); + if (!(prefix_sz == 2 && discard[0] == 0 && discard[1] == 0)) + { + LSQ_WARN("stream push: unexpected prefix values %zd, %hhu, %hhu", + prefix_sz, discard[0], discard[1]); + lsquic_mm_put_4k(conn->ifc_pub.mm, header_block_buf); + return -1; + } + LSQ_DEBUG("generated push promise header block of %ld bytes", + (long) (p - header_block_buf)); + + pushed_stream = create_push_stream(conn); + if (!pushed_stream) + { + LSQ_WARN("could not create push stream"); + lsquic_mm_put_4k(conn->ifc_pub.mm, header_block_buf); + return -1; + } + + promise = malloc(sizeof(*promise) + (p - header_block_buf)); + if (!promise) + { + LSQ_WARN("stream push: cannot allocate promise"); + lsquic_mm_put_4k(conn->ifc_pub.mm, header_block_buf); + undo_stream_creation(conn, pushed_stream); + return -1; + } + + uh = malloc(sizeof(*uh)); + if (!uh) + { + LSQ_WARN("stream push: cannot allocate uh"); + free(promise); + lsquic_mm_put_4k(conn->ifc_pub.mm, header_block_buf); + undo_stream_creation(conn, pushed_stream); + return -1; + } + uh->uh_stream_id = pushed_stream->id; + uh->uh_oth_stream_id = 0; + uh->uh_weight = lsquic_stream_priority(dep_stream) / 2 + 1; + uh->uh_exclusive = 0; + uh->uh_flags = UH_FIN; + uh->uh_hset = hset; + uh->uh_next = NULL; + + memset(promise, 0, sizeof(*promise)); + promise->pp_refcnt = 1; /* This function itself keeps a reference */ + memcpy(promise->pp_content_buf, header_block_buf, p - header_block_buf); + promise->pp_content_len = p - header_block_buf; + promise->pp_id = conn->ifc_u.ser.ifser_next_push_id++; + lsquic_mm_put_4k(conn->ifc_pub.mm, header_block_buf); + + el = lsquic_hash_insert(conn->ifc_pub.u.ietf.promises, + &promise->pp_id, sizeof(promise->pp_id), promise, + &promise->pp_hash_id); + if (!el) + { + LSQ_WARN("cannot insert push promise (ID)"); + undo_stream_creation(conn, pushed_stream); + lsquic_pp_put(promise, conn->ifc_pub.u.ietf.promises); + free(uh); + return -1; + } + + if (0 != lsquic_stream_push_promise(dep_stream, promise)) + { + LSQ_DEBUG("push promise failed"); + undo_stream_creation(conn, pushed_stream); + lsquic_pp_put(promise, conn->ifc_pub.u.ietf.promises); + free(uh); + return -1; + } + + if (0 != lsquic_stream_uh_in(pushed_stream, uh)) + { + LSQ_WARN("stream barfed when fed synthetic request"); + undo_stream_creation(conn, pushed_stream); + free(uh); + if (0 != lsquic_hcso_write_cancel_push(&conn->ifc_hcso, + promise->pp_id)) + ABORT_WARN("cannot write CANCEL_PUSH"); + lsquic_pp_put(promise, conn->ifc_pub.u.ietf.promises); + return -1; + } + + /* Linking push promise with pushed stream is necessary for cancellation */ + ++promise->pp_refcnt; + promise->pp_pushed_stream = pushed_stream; + pushed_stream->sm_promise = promise; + + lsquic_stream_call_on_new(pushed_stream); + + lsquic_pp_put(promise, conn->ifc_pub.u.ietf.promises); + return 0; +} + + +static int +ietf_full_conn_ci_is_tickable (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + struct lsquic_stream *stream; + + if (!TAILQ_EMPTY(&conn->ifc_pub.service_streams)) + { + LSQ_DEBUG("tickable: there are streams to be serviced"); + return 1; + } + + if ((conn->ifc_enpub->enp_flags & ENPUB_CAN_SEND) + && (should_generate_ack(conn, IFC_ACK_QUEUED) || + !lsquic_send_ctl_sched_is_blocked(&conn->ifc_send_ctl))) + { + /* XXX What about queued ACKs: why check but not make tickable? */ + if (conn->ifc_send_flags) + { + LSQ_DEBUG("tickable: send flags: 0x%X", conn->ifc_send_flags); + goto check_can_send; + } + if (lsquic_send_ctl_has_sendable(&conn->ifc_send_ctl)) + { + LSQ_DEBUG("tickable: has sendable packets"); + return 1; /* Don't check can_send: already on scheduled queue */ + } + if (conn->ifc_conn.cn_flags & LSCONN_SEND_BLOCKED) + { + LSQ_DEBUG("tickable: send DATA_BLOCKED frame"); + goto check_can_send; + } + if (conn->ifc_mflags & MF_WANT_DATAGRAM_WRITE) + { + LSQ_DEBUG("tickable: want to write DATAGRAM frame"); + goto check_can_send; + } + if (conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE ? + lsquic_send_ctl_has_buffered(&conn->ifc_send_ctl) : + lsquic_send_ctl_has_buffered_high(&conn->ifc_send_ctl)) + { + LSQ_DEBUG("tickable: has buffered packets"); + goto check_can_send; + } + if (!TAILQ_EMPTY(&conn->ifc_pub.sending_streams)) + { + LSQ_DEBUG("tickable: there are sending streams"); + goto check_can_send; + } + TAILQ_FOREACH(stream, &conn->ifc_pub.write_streams, next_write_stream) + if (lsquic_stream_write_avail(stream)) + { + LSQ_DEBUG("tickable: stream %"PRIu64" can be written to", + stream->id); + goto check_can_send; + } + goto check_readable_streams; + check_can_send: + if (lsquic_send_ctl_can_send(&conn->ifc_send_ctl)) + return 1; + } + + check_readable_streams: + TAILQ_FOREACH(stream, &conn->ifc_pub.read_streams, next_read_stream) + if (lsquic_stream_readable(stream)) + { + LSQ_DEBUG("tickable: stream %"PRIu64" can be read from", + stream->id); + return 1; + } + + if (conn->ifc_flags & IFC_IMMEDIATE_CLOSE_FLAGS) + { + LSQ_DEBUG("tickable: immediate close flags: 0x%X", + (unsigned) (conn->ifc_flags & IFC_IMMEDIATE_CLOSE_FLAGS)); + return 1; + } + + LSQ_DEBUG("not tickable"); + return 0; +} + + +static enum tick_st +immediate_close (struct ietf_full_conn *conn) +{ + struct lsquic_packet_out *packet_out; + const char *error_reason; + struct conn_err conn_err; + int sz; + + if (conn->ifc_flags & (IFC_TICK_CLOSE|IFC_GOT_PRST)) + return TICK_CLOSE; + + if (!(conn->ifc_flags & IFC_SERVER) + && conn->ifc_u.cli.ifcli_ver_neg.vn_state != VN_END) + return TICK_CLOSE; + + conn->ifc_flags |= IFC_TICK_CLOSE; + + /* No reason to send anything that's been scheduled if connection is + * being closed immedately. This also ensures that packet numbers + * sequence is always increasing. + */ + lsquic_send_ctl_drop_scheduled(&conn->ifc_send_ctl); + + if ((conn->ifc_flags & (IFC_TIMED_OUT|IFC_HSK_FAILED)) + && conn->ifc_settings->es_silent_close) + return TICK_CLOSE; + + packet_out = lsquic_send_ctl_new_packet_out(&conn->ifc_send_ctl, 0, + PNS_APP, CUR_NPATH(conn)); + if (!packet_out) + { + LSQ_WARN("cannot allocate packet: %s", strerror(errno)); + return TICK_CLOSE; + } + + assert(conn->ifc_flags & (IFC_ERROR|IFC_ABORTED|IFC_HSK_FAILED)); + if (conn->ifc_error.u.err != 0) + { + conn_err = conn->ifc_error; + error_reason = conn->ifc_errmsg; + } + else if (conn->ifc_flags & IFC_ERROR) + { + conn_err = CONN_ERR(0, TEC_INTERNAL_ERROR); + error_reason = "connection error"; + } + else if (conn->ifc_flags & IFC_ABORTED) + { + conn_err = CONN_ERR(0, TEC_NO_ERROR); + error_reason = "user aborted connection"; + } + else if (conn->ifc_flags & IFC_HSK_FAILED) + { + conn_err = CONN_ERR(0, TEC_NO_ERROR); + error_reason = "handshake failed"; + } + else + { + conn_err = CONN_ERR(0, TEC_NO_ERROR); + error_reason = NULL; + } + + lsquic_send_ctl_scheduled_one(&conn->ifc_send_ctl, packet_out); + sz = conn->ifc_conn.cn_pf->pf_gen_connect_close_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), conn_err.app_error, + conn_err.u.err, error_reason, + error_reason ? strlen(error_reason) : 0); + if (sz < 0) { + LSQ_WARN("%s failed", __func__); + return TICK_CLOSE; + } + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_CONNECTION_CLOSE, packet_out->po_data_sz, sz)) + { + LSQ_WARN("%s: adding frame to packet failed: %d", __func__, errno); + return TICK_CLOSE; + } + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_CONNECTION_CLOSE; + conn->ifc_mflags |= MF_CONN_CLOSE_PACK; + LSQ_DEBUG("generated CONNECTION_CLOSE frame in its own packet"); + return TICK_SEND|TICK_CLOSE; +} + + +static void +process_streams_read_events (struct ietf_full_conn *conn) +{ + struct lsquic_stream *stream; + int iters; + enum stream_q_flags q_flags, needs_service; + union prio_iter pi; + static const char *const labels[2] = { "read-0", "read-1", }; + + if (TAILQ_EMPTY(&conn->ifc_pub.read_streams)) + return; + + conn->ifc_pub.cp_flags &= ~CP_STREAM_UNBLOCKED; + iters = 0; + do + { + conn->ifc_pii->pii_init(&pi, TAILQ_FIRST(&conn->ifc_pub.read_streams), + TAILQ_LAST(&conn->ifc_pub.read_streams, lsquic_streams_tailq), + (uintptr_t) &TAILQ_NEXT((lsquic_stream_t *) NULL, next_read_stream), + &conn->ifc_pub, labels[iters], NULL, NULL); + + needs_service = 0; + for (stream = conn->ifc_pii->pii_first(&pi); stream; + stream = conn->ifc_pii->pii_next(&pi)) + { + q_flags = stream->sm_qflags & SMQF_SERVICE_FLAGS; + lsquic_stream_dispatch_read_events(stream); + needs_service |= q_flags ^ (stream->sm_qflags & SMQF_SERVICE_FLAGS); + } + conn->ifc_pii->pii_cleanup(&pi); + + if (needs_service) + service_streams(conn); + } + while (iters++ == 0 && (conn->ifc_pub.cp_flags & CP_STREAM_UNBLOCKED)); +} + + +static void +process_crypto_stream_read_events (struct ietf_full_conn *conn) +{ + struct lsquic_stream **stream; + + assert(!(conn->ifc_flags & IFC_SERVER)); + for (stream = conn->ifc_u.cli.crypto_streams; stream < + conn->ifc_u.cli.crypto_streams + sizeof(conn->ifc_u.cli.crypto_streams) + / sizeof(conn->ifc_u.cli.crypto_streams[0]); ++stream) + if (*stream && (*stream)->sm_qflags & SMQF_WANT_READ) + lsquic_stream_dispatch_read_events(*stream); +} + + +static void +process_crypto_stream_write_events (struct ietf_full_conn *conn) +{ + struct lsquic_stream **stream; + + assert(!(conn->ifc_flags & IFC_SERVER)); + for (stream = conn->ifc_u.cli.crypto_streams; stream < + conn->ifc_u.cli.crypto_streams + sizeof(conn->ifc_u.cli.crypto_streams) + / sizeof(conn->ifc_u.cli.crypto_streams[0]); ++stream) + if (*stream && (*stream)->sm_qflags & SMQF_WRITE_Q_FLAGS) + lsquic_stream_dispatch_write_events(*stream); +} + + +static void +maybe_conn_flush_special_streams (struct ietf_full_conn *conn) +{ + if (!(conn->ifc_flags & IFC_HTTP)) + return; + + struct lsquic_stream *const streams[] = { + conn->ifc_hcso.how_stream, + conn->ifc_qeh.qeh_enc_sm_out, + conn->ifc_qdh.qdh_dec_sm_out, + }; + struct lsquic_stream *const *stream; + + for (stream = streams; stream < streams + sizeof(streams) + / sizeof(streams[0]); ++stream) + if (*stream && lsquic_stream_has_data_to_flush(*stream)) + (void) lsquic_stream_flush(*stream); +} + + +static int +write_is_possible (struct ietf_full_conn *conn) +{ + const lsquic_packet_out_t *packet_out; + + packet_out = lsquic_send_ctl_last_scheduled(&conn->ifc_send_ctl, PNS_APP, + CUR_NPATH(conn), 0); + return (packet_out && lsquic_packet_out_avail(packet_out) > 10) + || lsquic_send_ctl_can_send(&conn->ifc_send_ctl); +} + + +static void +process_streams_write_events (struct ietf_full_conn *conn, int high_prio) +{ + struct lsquic_stream *stream; + union prio_iter pi; + + conn->ifc_pii->pii_init(&pi, TAILQ_FIRST(&conn->ifc_pub.write_streams), + TAILQ_LAST(&conn->ifc_pub.write_streams, lsquic_streams_tailq), + (uintptr_t) &TAILQ_NEXT((lsquic_stream_t *) NULL, next_write_stream), + &conn->ifc_pub, + high_prio ? "write-high" : "write-low", NULL, NULL); + + if (high_prio) + conn->ifc_pii->pii_drop_non_high(&pi); + else + conn->ifc_pii->pii_drop_high(&pi); + + for (stream = conn->ifc_pii->pii_first(&pi); + stream && write_is_possible(conn); + stream = conn->ifc_pii->pii_next(&pi)) + if (stream->sm_qflags & SMQF_WRITE_Q_FLAGS) + lsquic_stream_dispatch_write_events(stream); + conn->ifc_pii->pii_cleanup(&pi); + + maybe_conn_flush_special_streams(conn); +} + + +static void +generate_connection_close_packet (struct ietf_full_conn *conn) +{ + struct lsquic_packet_out *packet_out; + int sz; + + /* FIXME Select PNS based on handshake status (possible on the client): if + * appropriate keys are not available, encryption will fail. + */ + packet_out = lsquic_send_ctl_new_packet_out(&conn->ifc_send_ctl, 0, PNS_APP, + CUR_NPATH(conn)); + if (!packet_out) + { + ABORT_ERROR("cannot allocate packet: %s", strerror(errno)); + return; + } + + lsquic_send_ctl_scheduled_one(&conn->ifc_send_ctl, packet_out); + sz = conn->ifc_conn.cn_pf->pf_gen_connect_close_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), 0, TEC_NO_ERROR, NULL, 0); + if (sz < 0) { + ABORT_ERROR("generate_connection_close_packet failed"); + return; + } + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_CONNECTION_CLOSE, packet_out->po_data_sz, sz)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_CONNECTION_CLOSE; + conn->ifc_mflags |= MF_CONN_CLOSE_PACK; + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, + "generated CONNECTION_CLOSE frame in its own packet"); + conn->ifc_send_flags &= ~SF_SEND_CONN_CLOSE; +} + + +static void +log_conn_flow_control (struct ietf_full_conn *conn) +{ + LSQ_DEBUG("connection flow cap: wrote: %"PRIu64 + "; max: %"PRIu64, conn->ifc_pub.conn_cap.cc_sent, + conn->ifc_pub.conn_cap.cc_max); + LSQ_DEBUG("connection flow control window: read: %"PRIu64 + "; max: %"PRIu64, conn->ifc_pub.cfcw.cf_max_recv_off, + conn->ifc_pub.cfcw.cf_recv_off); +} + + +static void +generate_ping_frame (struct ietf_full_conn *conn, lsquic_time_t now) +{ + struct lsquic_packet_out *packet_out; + int pns; + int sz; + + if (conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + packet_out = get_writeable_packet(conn, 1); + else + { + conn->ifc_ping_period += HSK_PING_TIMEOUT; + lsquic_alarmset_set(&conn->ifc_alset, AL_PING, + now + conn->ifc_ping_period); + if (iquic_esf_is_enc_level_ready(conn->ifc_conn.cn_enc_session, + ENC_LEV_HSK)) + pns = PNS_HSK; + else + pns = PNS_INIT; + packet_out = lsquic_send_ctl_new_packet_out(&conn->ifc_send_ctl, 0, pns, + CUR_NPATH(conn)); + if (packet_out) + lsquic_send_ctl_scheduled_one(&conn->ifc_send_ctl, packet_out); + + } + if (!packet_out) + { + LSQ_DEBUG("cannot get writeable packet for PING frame"); + return; + } + sz = conn->ifc_conn.cn_pf->pf_gen_ping_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out)); + if (sz < 0) { + ABORT_ERROR("gen_ping_frame failed"); + return; + } + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_PING, packet_out->po_data_sz, sz)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, sz); + packet_out->po_regen_sz += sz; + packet_out->po_frame_types |= 1 << QUIC_FRAME_PING; + LSQ_DEBUG("wrote PING frame"); + conn->ifc_send_flags &= ~SF_SEND_PING; + if (!(conn->ifc_flags & IFC_SERVER)) + log_conn_flow_control(conn); +} + + +static void +generate_handshake_done_frame (struct ietf_full_conn *conn, + lsquic_time_t unused) +{ + struct lsquic_packet_out *packet_out; + unsigned need; + int sz; + + need = conn->ifc_conn.cn_pf->pf_handshake_done_frame_size(); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return; + sz = conn->ifc_conn.cn_pf->pf_gen_handshake_done_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out)); + if (sz < 0) + { + ABORT_ERROR("generate_handshake_done_frame failed"); + return; + } + + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_HANDSHAKE_DONE, packet_out->po_data_sz, sz)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= QUIC_FTBIT_HANDSHAKE_DONE; + LSQ_DEBUG("generated HANDSHAKE_DONE frame"); + conn->ifc_send_flags &= ~SF_SEND_HANDSHAKE_DONE; +} + + +static void +generate_ack_frequency_frame (struct ietf_full_conn *conn, lsquic_time_t unused) +{ + struct lsquic_packet_out *packet_out; + unsigned need; + int sz; + /* We tell the peer to ignore reordering because we skip packet numbers to + * detect optimistic ACK attacks. + */ + const int ignore = 1; + + need = conn->ifc_conn.cn_pf->pf_ack_frequency_frame_size( + conn->ifc_ack_freq_seqno, conn->ifc_last_calc_pack_tol, + conn->ifc_pub.max_peer_ack_usec); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + { + LSQ_DEBUG("cannot get writeable packet for ACK_FREQUENCY frame"); + return; + } + + sz = conn->ifc_conn.cn_pf->pf_gen_ack_frequency_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), + conn->ifc_ack_freq_seqno, conn->ifc_last_calc_pack_tol, + conn->ifc_pub.max_peer_ack_usec, ignore); + if (sz < 0) + { + ABORT_ERROR("gen_ack_frequency_frame failed"); + return; + } + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_ACK_FREQUENCY, packet_out->po_data_sz, sz)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + conn->ifc_last_pack_tol = conn->ifc_last_calc_pack_tol; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, sz); + packet_out->po_frame_types |= QUIC_FTBIT_ACK_FREQUENCY; + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, + "Generated ACK_FREQUENCY(seqno: %u; pack_tol: %u; " + "upd: %u; ignore: %d)", conn->ifc_ack_freq_seqno, + conn->ifc_last_pack_tol, conn->ifc_pub.max_peer_ack_usec, ignore); + LSQ_DEBUG("Generated ACK_FREQUENCY(seqno: %u; pack_tol: %u; " + "upd: %u; ignore: %d)", conn->ifc_ack_freq_seqno, + conn->ifc_last_pack_tol, conn->ifc_pub.max_peer_ack_usec, ignore); + ++conn->ifc_ack_freq_seqno; + conn->ifc_send_flags &= ~SF_SEND_ACK_FREQUENCY; +#if LSQUIC_CONN_STATS + if (conn->ifc_last_pack_tol > conn->ifc_max_pack_tol_sent) + conn->ifc_max_pack_tol_sent = conn->ifc_last_pack_tol; + if (conn->ifc_last_pack_tol < conn->ifc_min_pack_tol_sent + || 0 == conn->ifc_min_pack_tol_sent) + conn->ifc_min_pack_tol_sent = conn->ifc_last_pack_tol; +#endif +} + + +static void +maybe_pad_packet (struct ietf_full_conn *conn, + struct lsquic_packet_out *packet_out) +{ + unsigned short avail; + + avail = lsquic_packet_out_avail(packet_out); + if (avail) + { + memset(packet_out->po_data + packet_out->po_data_sz, 0, avail); + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, avail); + packet_out->po_frame_types |= QUIC_FTBIT_PADDING; + LSQ_DEBUG("added %hu-byte PADDING frame to packet %"PRIu64, avail, + packet_out->po_packno); + } +} + + +static void +generate_path_chal_frame (struct ietf_full_conn *conn, lsquic_time_t now, + unsigned path_id) +{ + struct lsquic_packet_out *packet_out; + struct conn_path *copath; + unsigned need; + int w; + char hexbuf[ sizeof(copath->cop_path_chals[0]) * 2 + 1 ]; + + /* For now, we only support sending path challenges on a single path. + * This restriction may need to be lifted if the client is probing + * several paths at the same time. + */ + if (!(conn->ifc_flags & IFC_SERVER)) + assert(path_id == conn->ifc_mig_path_id); + + copath = &conn->ifc_paths[path_id]; + if (copath->cop_n_chals >= sizeof(copath->cop_path_chals) + / sizeof(copath->cop_path_chals[0])) + { + /* path failure? it is non-fatal, keep trying */ + memmove(&copath->cop_path_chals[0], &copath->cop_path_chals[1], + sizeof(copath->cop_path_chals) - sizeof(copath->cop_path_chals[0])); + copath->cop_n_chals = sizeof(copath->cop_path_chals) + / sizeof(copath->cop_path_chals[0]) - 1; + } + + need = conn->ifc_conn.cn_pf->pf_path_chal_frame_size(); + packet_out = get_writeable_packet_on_path(conn, need, &copath->cop_path, 1); + if (!packet_out) + return; + + RAND_bytes((void *) &copath->cop_path_chals[copath->cop_n_chals], + sizeof(copath->cop_path_chals[0])); + w = conn->ifc_conn.cn_pf->pf_gen_path_chal_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), + copath->cop_path_chals[copath->cop_n_chals]); + if (w < 0) + { + ABORT_ERROR("generating PATH_CHALLENGE frame failed: %d", errno); + return; + } + LSQ_DEBUG("generated %d-byte PATH_CHALLENGE frame for path %d; challenge: %s" + ", seq: %u", w, path_id, + HEXSTR((unsigned char *) &copath->cop_path_chals[copath->cop_n_chals], + sizeof(copath->cop_path_chals[copath->cop_n_chals]), hexbuf), + copath->cop_n_chals); + ++copath->cop_n_chals; + EV_LOG_GENERATED_PATH_CHAL_FRAME(LSQUIC_LOG_CONN_ID, conn->ifc_conn.cn_pf, + packet_out->po_data + packet_out->po_data_sz, w); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_PATH_CHALLENGE, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + packet_out->po_frame_types |= QUIC_FTBIT_PATH_CHALLENGE; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + packet_out->po_regen_sz += w; + conn->ifc_send_flags &= ~(SF_SEND_PATH_CHAL << path_id); + /* Anti-amplification, only pad packet if allowed + * (confirmed path or incoming packet >= 400 bytes). */ + if (copath->cop_flags & COP_ALLOW_MTU_PADDING) + maybe_pad_packet(conn, packet_out); + /* Only retry for confirmed path */ + if (copath->cop_flags & COP_VALIDATED) + lsquic_alarmset_set(&conn->ifc_alset, AL_PATH_CHAL + path_id, + now + (INITIAL_CHAL_TIMEOUT << (copath->cop_n_chals - 1))); +} + + +static void +generate_path_chal_0 (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_path_chal_frame(conn, now, 0); +} + + +static void +generate_path_chal_1 (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_path_chal_frame(conn, now, 1); +} + + +static void +generate_path_chal_2 (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_path_chal_frame(conn, now, 2); +} + + +static void +generate_path_chal_3 (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_path_chal_frame(conn, now, 3); +} + + +static void +generate_path_resp_frame (struct ietf_full_conn *conn, lsquic_time_t now, + unsigned path_id) +{ + struct lsquic_packet_out *packet_out; + struct conn_path *copath; + unsigned need; + int w; + + copath = &conn->ifc_paths[path_id]; + need = conn->ifc_conn.cn_pf->pf_path_resp_frame_size(); + packet_out = get_writeable_packet_on_path(conn, need, &copath->cop_path, 1); + if (!packet_out) + return; + + w = conn->ifc_conn.cn_pf->pf_gen_path_resp_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), + copath->cop_inc_chal); + if (w < 0) + { + ABORT_ERROR("generating PATH_RESPONSE frame failed: %d", errno); + return; + } + LSQ_DEBUG("generated %d-byte PATH_RESPONSE frame; response: %016"PRIX64, + w, copath->cop_inc_chal); + EV_LOG_GENERATED_PATH_RESP_FRAME(LSQUIC_LOG_CONN_ID, conn->ifc_conn.cn_pf, + packet_out->po_data + packet_out->po_data_sz, w); + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_PATH_RESPONSE, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding frame to packet failed: %d", errno); + return; + } + packet_out->po_frame_types |= QUIC_FTBIT_PATH_RESPONSE; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + maybe_pad_packet(conn, packet_out); + packet_out->po_regen_sz += w; + conn->ifc_send_flags &= ~(SF_SEND_PATH_RESP << path_id); +} + + +static void +generate_path_resp_0 (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_path_resp_frame(conn, now, 0); +} + + +static void +generate_path_resp_1 (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_path_resp_frame(conn, now, 1); +} + + +static void +generate_path_resp_2 (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_path_resp_frame(conn, now, 2); +} + + +static void +generate_path_resp_3 (struct ietf_full_conn *conn, lsquic_time_t now) +{ + generate_path_resp_frame(conn, now, 3); +} + + +static struct lsquic_packet_out * +ietf_full_conn_ci_next_packet_to_send (struct lsquic_conn *lconn, + const struct to_coal *to_coal) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + struct lsquic_packet_out *packet_out; + const struct conn_path *cpath; + + packet_out = lsquic_send_ctl_next_packet_to_send(&conn->ifc_send_ctl, + to_coal); + if (packet_out) + { + cpath = NPATH2CPATH(packet_out->po_path); + lsquic_packet_out_set_spin_bit(packet_out, cpath->cop_spin_bit); + } + return packet_out; +} + + +static struct lsquic_packet_out * +ietf_full_conn_ci_next_packet_to_send_pre_hsk (struct lsquic_conn *lconn, + const struct to_coal *to_coal) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + struct lsquic_packet_out *packet_out; + + packet_out = ietf_full_conn_ci_next_packet_to_send(lconn, to_coal); + if (packet_out) + ++conn->ifc_u.cli.ifcli_packets_out; + return packet_out; +} + + +static lsquic_time_t +ietf_full_conn_ci_next_tick_time (struct lsquic_conn *lconn, unsigned *why) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + lsquic_time_t alarm_time, pacer_time, now; + enum alarm_id al_id; + + alarm_time = lsquic_alarmset_mintime(&conn->ifc_alset, &al_id); + pacer_time = lsquic_send_ctl_next_pacer_time(&conn->ifc_send_ctl); + + if (pacer_time && LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + now = lsquic_time_now(); + if (pacer_time < now) + LSQ_DEBUG("%s: pacer is %"PRIu64" usec in the past", __func__, + now - pacer_time); + } + + if (alarm_time && pacer_time) + { + if (alarm_time < pacer_time) + { + *why = N_AEWS + al_id; + return alarm_time; + } + else + { + *why = AEW_PACER; + return pacer_time; + } + } + else if (alarm_time) + { + *why = N_AEWS + al_id; + return alarm_time; + } + else if (pacer_time) + { + *why = AEW_PACER; + return pacer_time; + } + else + return 0; +} + + +static ptrdiff_t +count_zero_bytes (const unsigned char *p, size_t len) +{ + const unsigned char *const end = p + len; + while (p < end && 0 == *p) + ++p; + return len - (end - p); +} + + +static unsigned +process_padding_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + unsigned sz = (unsigned) count_zero_bytes(p, len); + EV_LOG_PADDING_FRAME_IN(LSQUIC_LOG_CONN_ID, sz); + return sz; +} + + +static void +handshake_confirmed (struct ietf_full_conn *conn) +{ + ignore_hsk(conn); + /* Even in ID-25, we wait for 1-RTT ACK on the server before dropping keys. + */ + conn->ifc_conn.cn_esf.i->esfi_handshake_confirmed( + conn->ifc_conn.cn_enc_session); + if (!(conn->ifc_flags & (IFC_SERVER|IFC_MIGRA))) + { + conn->ifc_flags |= IFC_MIGRA; /* Perform migration just once */ + maybe_start_migration(conn); + } +} + + +static float +calc_target (lsquic_time_t srtt_ms) +{ + if (srtt_ms <= 5 * 1000) + return 2.5; + if (srtt_ms <= 10 * 1000) + return 2.0; + if (srtt_ms <= 15 * 1000) + return 1.6; + if (srtt_ms <= 20 * 1000) + return 1.4; + if (srtt_ms <= 30 * 1000) + return 1.3; + if (srtt_ms <= 40 * 1000) + return 1.2; + if (srtt_ms <= 50 * 1000) + return 1.1; + if (srtt_ms <= 60 * 1000) + return 1.0; + if (srtt_ms <= 70 * 1000) + return 0.9; + if (srtt_ms <= 80 * 1000) + return 0.8; + if (srtt_ms <= 100 * 1000) + return 0.7; + return 0.5; +} + + +static void +packet_tolerance_alarm_expired (enum alarm_id al_id, void *ctx, + lsquic_time_t expiry, lsquic_time_t now) +{ + struct ietf_full_conn *const conn = ctx; + const float Kp = conn->ifc_settings->es_ptpc_prop_gain, + Ki = conn->ifc_settings->es_ptpc_int_gain, + err_thresh = conn->ifc_settings->es_ptpc_err_thresh, + err_divisor = conn->ifc_settings->es_ptpc_err_divisor; + const unsigned periodicity = conn->ifc_settings->es_ptpc_periodicity; + const unsigned max_packtol = conn->ifc_settings->es_ptpc_max_packtol; + float avg_acks_per_rtt, error, combined_error, normalized, + combined_error_abs, target, rtts; + double dt; + lsquic_time_t srtt, begin_t; + + srtt = lsquic_rtt_stats_get_srtt(&conn->ifc_pub.rtt_stats); + + if (srtt == 0) + goto end; + if (0 == conn->ifc_pts.n_acks) + /* Don't reset last_sample and calculate average for both this and next + * period the next time around. + */ + goto end; + + if (conn->ifc_settings->es_ptpc_dyn_target) + target = calc_target(srtt); + else + target = conn->ifc_settings->es_ptpc_target; + + dt = periodicity * (double) srtt / 1000000; + + begin_t = conn->ifc_pts.last_sample ? conn->ifc_pts.last_sample + : conn->ifc_created; + /* + LSQ_DEBUG("begin: %"PRIu64"; now: %"PRIu64"; SRTT: %"PRIu64"; acks: %u", + begin_t, now, srtt, conn->ifc_pts.n_acks); + */ + rtts = (float) (now - begin_t) / (float) srtt; + avg_acks_per_rtt = (float) conn->ifc_pts.n_acks / (float) rtts; + normalized = avg_acks_per_rtt * M_E / target; + error = logf(normalized) - 1; + conn->ifc_pts.integral_error += error * (float) dt; + combined_error = Kp * error + Ki * conn->ifc_pts.integral_error; + combined_error_abs = fabsf(combined_error); + conn->ifc_pts.last_sample = now; + if (combined_error_abs > err_thresh) + { + unsigned adj = combined_error_abs / err_divisor; + unsigned last_pack_tol = conn->ifc_last_pack_tol; + if (0 == last_pack_tol) + { + last_pack_tol = (unsigned) + lsquic_senhist_largest(&conn->ifc_send_ctl.sc_senhist) + / conn->ifc_pts.n_acks; + LSQ_DEBUG("packets sent: %"PRIu64"; ACKs received: %u; implied " + "tolerance: %u", + lsquic_senhist_largest(&conn->ifc_send_ctl.sc_senhist), + conn->ifc_pts.n_acks, last_pack_tol); + if (last_pack_tol < 2) + last_pack_tol = 2; + else if (last_pack_tol >= max_packtol) + last_pack_tol = max_packtol / 2; + } + if (combined_error > 0) + { + conn->ifc_last_calc_pack_tol = last_pack_tol + adj; + if (conn->ifc_last_calc_pack_tol >= max_packtol) + { + /* Clamp integral error when we can go no higher */ + conn->ifc_pts.integral_error -= error * (float) dt; + conn->ifc_last_calc_pack_tol = max_packtol; + } + } + else + { + if (adj + 2 < last_pack_tol) + conn->ifc_last_calc_pack_tol = last_pack_tol - adj; + else + conn->ifc_last_calc_pack_tol = 2; + if (conn->ifc_last_calc_pack_tol == 2) + { + /* Clamp integral error when we can go no lower */ + conn->ifc_pts.integral_error -= error * (float) dt; + } + } + if (conn->ifc_last_calc_pack_tol != conn->ifc_last_pack_tol) + { + LSQ_DEBUG("old packet tolerance target: %u, schedule ACK_FREQUENCY " + "%s to %u", conn->ifc_last_pack_tol, + combined_error > 0 ? "increase" : "decrease", + conn->ifc_last_calc_pack_tol); + conn->ifc_send_flags |= SF_SEND_ACK_FREQUENCY; + } + else + { + LSQ_DEBUG("packet tolerance unchanged at %u", conn->ifc_last_pack_tol); + conn->ifc_send_flags &= ~SF_SEND_ACK_FREQUENCY; + } + } + else + conn->ifc_send_flags &= ~SF_SEND_ACK_FREQUENCY; + LSQ_DEBUG("avg ACKs per RTT: %.3f; normalized: %.3f; target: %.3f; error: %.3f; " + "p-error: %.3f, i-error: %.3f; Overall: %.3f; " + "packet tolerance: current: %u, last: %u", + avg_acks_per_rtt, normalized, target, error, Kp * error, + conn->ifc_pts.integral_error, combined_error, + conn->ifc_last_calc_pack_tol, conn->ifc_last_pack_tol); + /* Until we have the first value, don't reset the counters */ + if (conn->ifc_last_calc_pack_tol != 0) + conn->ifc_pts.n_acks = 0; + + end: + if (lsquic_send_ctl_have_unacked_retx_data(&conn->ifc_send_ctl)) + { + LSQ_DEBUG("set PACK_TOL alarm %"PRIu64" microseconds into the future", + srtt * periodicity); + lsquic_alarmset_set(&conn->ifc_alset, al_id, now + srtt * periodicity); + } + else + LSQ_DEBUG("no unacked retx data: do not rearm the packet tolerance " + "alarm"); +} + + +static int +process_ack (struct ietf_full_conn *conn, struct ack_info *acki, + lsquic_time_t received, lsquic_time_t now) +{ + enum packnum_space pns; + lsquic_packno_t packno; + int one_rtt_acked; + + CONN_STATS(in.n_acks_proc, 1); + LSQ_DEBUG("Processing ACK"); + one_rtt_acked = lsquic_send_ctl_1rtt_acked(&conn->ifc_send_ctl); + if (0 == lsquic_send_ctl_got_ack(&conn->ifc_send_ctl, acki, received, now)) + { + pns = acki->pns; + packno = lsquic_send_ctl_largest_ack2ed(&conn->ifc_send_ctl, pns); + /* It's OK to skip valid packno 0: the alternative is too expensive */ + if (packno) + lsquic_rechist_stop_wait(&conn->ifc_rechist[ pns ], packno + 1); + /* ACK of 1-RTT packet indicates that handshake has been confirmed: */ + if (!one_rtt_acked && lsquic_send_ctl_1rtt_acked(&conn->ifc_send_ctl)) + { + if (!(conn->ifc_flags & IFC_IGNORE_INIT)) + ignore_init(conn); + handshake_confirmed(conn); + } + return 0; + } + else + { + ABORT_ERROR("Received invalid ACK"); + return -1; + } +} + + +static unsigned +process_path_challenge_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct conn_path *const path = &conn->ifc_paths[packet_in->pi_path_id]; + int parsed_len; + char hexbuf[sizeof(path->cop_inc_chal) * 2 + 1]; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_path_chal_frame(p, len, + /* It's OK to overwrite incoming challenge, only reply to latest */ + &path->cop_inc_chal); + if (parsed_len > 0) + { + LSQ_DEBUG("received path challenge %s for path #%hhu", + HEXSTR((unsigned char *) &path->cop_inc_chal, + sizeof(path->cop_inc_chal), hexbuf), packet_in->pi_path_id); + conn->ifc_send_flags |= SF_SEND_PATH_RESP << packet_in->pi_path_id; + return parsed_len; + } + else + return 0; +} + + +/* Why "maybe?" Because it is possible that the peer did not provide us + * enough CIDs and we had to reuse one. See init_new_path(). + */ +static void +maybe_retire_dcid (struct ietf_full_conn *conn, const lsquic_cid_t *dcid) +{ + struct conn_path *copath; + struct dcid_elem **dce; + unsigned eqs; + + eqs = 0; + for (copath = conn->ifc_paths; copath < conn->ifc_paths + + sizeof(conn->ifc_paths) / sizeof(conn->ifc_paths[0]); ++copath) + eqs += LSQUIC_CIDS_EQ(&copath->cop_path.np_dcid, dcid); + + if (eqs > 1) + { + LSQ_INFOC("cannot retire %"CID_FMT", as it is used on more than one" + "path ", CID_BITS(dcid)); + return; + } + + for (dce = conn->ifc_dces; dce < DCES_END(conn); ++dce) + if (*dce && ((*dce)->de_flags & DE_ASSIGNED) + && LSQUIC_CIDS_EQ(&(*dce)->de_cid, dcid)) + break; + + assert(dce < DCES_END(conn)); + if (dce < DCES_END(conn)) + retire_dcid(conn, dce); +} + + +/* Return true if the two paths differ only in peer port */ +static int +only_peer_port_changed (const struct network_path *old, + struct network_path *new) +{ + const struct sockaddr *old_sa, *new_sa; + + if (!lsquic_sockaddr_eq(NP_LOCAL_SA(old), NP_LOCAL_SA(new))) + return 0; + + old_sa = NP_PEER_SA(old); + new_sa = NP_PEER_SA(new); + if (old_sa->sa_family == AF_INET) + return old_sa->sa_family == new_sa->sa_family + && ((struct sockaddr_in *) old_sa)->sin_addr.s_addr + == ((struct sockaddr_in *) new_sa)->sin_addr.s_addr + && ((struct sockaddr_in *) old_sa)->sin_port + != /* NE! */((struct sockaddr_in *) new_sa)->sin_port; + else + return old_sa->sa_family == new_sa->sa_family + && ((struct sockaddr_in6 *) old_sa)->sin6_port != /* NE! */ + ((struct sockaddr_in6 *) new_sa)->sin6_port + && 0 == memcmp(&((struct sockaddr_in6 *) old_sa)->sin6_addr, + &((struct sockaddr_in6 *) new_sa)->sin6_addr, + sizeof(((struct sockaddr_in6 *) new_sa)->sin6_addr)); +} + + +static void +switch_path_to (struct ietf_full_conn *conn, unsigned char path_id) +{ + const unsigned char old_path_id = conn->ifc_cur_path_id; + const int keep_path_properties = conn->ifc_settings->es_optimistic_nat + && only_peer_port_changed(CUR_NPATH(conn), + &conn->ifc_paths[path_id].cop_path); + + assert(conn->ifc_cur_path_id != path_id); + CUR_CPATH(conn)->cop_flags |= COP_RETIRED; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "switched paths"); + if (keep_path_properties) + { + conn->ifc_paths[path_id].cop_path.np_pack_size + = CUR_NPATH(conn)->np_pack_size; + LSQ_DEBUG("keep path properties: set MTU to %hu", + conn->ifc_paths[path_id].cop_path.np_pack_size); + } + lsquic_send_ctl_repath(&conn->ifc_send_ctl, + CUR_NPATH(conn), &conn->ifc_paths[path_id].cop_path, + keep_path_properties); + maybe_retire_dcid(conn, &CUR_NPATH(conn)->np_dcid); + conn->ifc_cur_path_id = path_id; + conn->ifc_pub.path = CUR_NPATH(conn); + conn->ifc_conn.cn_cur_cce_idx = CUR_CPATH(conn)->cop_cce_idx; + conn->ifc_send_flags &= ~(SF_SEND_PATH_CHAL << old_path_id); + conn->ifc_send_flags &= ~(SF_SEND_PATH_RESP << old_path_id); + lsquic_alarmset_unset(&conn->ifc_alset, AL_PATH_CHAL + old_path_id); + if (conn->ifc_flags & IFC_SERVER) + wipe_path(conn, old_path_id); +} + + +static unsigned +process_path_response_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct conn_path *path; + int parsed_len; + unsigned i; + unsigned char path_id; + uint64_t path_resp; + char hexbuf[ sizeof(path_resp) * 2 + 1 ]; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_path_resp_frame(p, len, + &path_resp); + if (parsed_len <= 0) + return 0; + + LSQ_DEBUG("received path response: %s", + HEXSTR((unsigned char *) &path_resp, sizeof(path_resp), hexbuf)); + + for (path = conn->ifc_paths; path < conn->ifc_paths + + sizeof(conn->ifc_paths) / sizeof(conn->ifc_paths[0]); ++path) + { + path_id = path - conn->ifc_paths; + if ((1 << path_id) & conn->ifc_used_paths) + for (i = 0; i < path->cop_n_chals; ++i) + if (path_resp == path->cop_path_chals[i]) + goto found; + } + + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "received path response %s that does not correspond to any " + "challenge sent on this path", + HEXSTR((unsigned char *) &path_resp, sizeof(path_resp), hexbuf)); + return 0; + + found: + if (path->cop_flags & COP_ALLOW_MTU_PADDING) + { + path->cop_flags |= (COP_VALIDATED | COP_VALIDATED_MTU); + conn->ifc_send_flags &= ~(SF_SEND_PATH_CHAL << path_id); + lsquic_alarmset_unset(&conn->ifc_alset, AL_PATH_CHAL + path_id); + } + else + { + path->cop_flags |= (COP_VALIDATED | COP_ALLOW_MTU_PADDING); + conn->ifc_send_flags |= (SF_SEND_PATH_CHAL << path_id); + } + switch ((path_id != conn->ifc_cur_path_id) | + (!!(path->cop_flags & COP_GOT_NONPROB) << 1)) + { + case 3: + LSQ_INFO("path validated: switching from path #%hhu to path #%hhu", + conn->ifc_cur_path_id, path_id); + switch_path_to(conn, path_id); + break; + case 1: + if (conn->ifc_flags & IFC_SERVER) + /* If you see this message in the log file, remember that + * COP_GOT_NONPROB is set after all frames in a packet have + * been processed. + */ + LSQ_DEBUG("path #%hhu validated, but since no non-probing frames " + "have been received, delay switching to it", + path_id); + else + { + LSQ_INFO("path validated: switching from path #%hhu to path #%hhu", + conn->ifc_cur_path_id, path_id); + switch_path_to(conn, path_id); + } + break; + default: + LSQ_DEBUG("current path validated"); + break; + } + + return parsed_len; +} + + +static lsquic_stream_t * +find_stream_by_id (struct ietf_full_conn *conn, lsquic_stream_id_t stream_id) +{ + struct lsquic_hash_elem *el; + el = lsquic_hash_find(conn->ifc_pub.all_streams, &stream_id, + sizeof(stream_id)); + if (el) + return lsquic_hashelem_getdata(el); + else + return NULL; +} + + +static void +maybe_schedule_ss_for_stream (struct ietf_full_conn *conn, + lsquic_stream_id_t stream_id, enum http_error_code error_code) +{ + struct stream_id_to_ss *sits; + + if (conn_is_stream_closed(conn, stream_id)) + return; + + sits = malloc(sizeof(*sits)); + if (!sits) + return; + + sits->sits_stream_id = stream_id; + sits->sits_error_code = error_code; + STAILQ_INSERT_TAIL(&conn->ifc_stream_ids_to_ss, sits, sits_next); + conn->ifc_send_flags |= SF_SEND_STOP_SENDING; + conn_mark_stream_closed(conn, stream_id); +} + + +struct buffered_priority_update +{ + struct lsquic_hash_elem hash_el; + lsquic_stream_id_t stream_id; + struct lsquic_ext_http_prio ehp; +}; + + +#define MAX_CRITICAL_STREAM_ID 12 +/* This function is called to create incoming streams */ +static struct lsquic_stream * +new_stream (struct ietf_full_conn *conn, lsquic_stream_id_t stream_id, + enum stream_ctor_flags flags) +{ + const struct lsquic_stream_if *iface; + struct buffered_priority_update *bpu; + struct lsquic_hash_elem *el; + void *stream_ctx; + struct lsquic_stream *stream; + unsigned initial_window; + const int call_on_new = flags & SCF_CALL_ON_NEW; + + flags &= ~SCF_CALL_ON_NEW; + flags |= SCF_DI_AUTOSWITCH|SCF_IETF; + + if ((conn->ifc_flags & IFC_HTTP) && ((stream_id >> SD_SHIFT) & 1) == SD_UNI) + { + iface = unicla_if_ptr; + stream_ctx = conn; +#if CLIENT_PUSH_SUPPORT + /* FIXME: This logic does not work for push streams. Perhaps one way + * to address this is to reclassify them later? + */ +#endif + if (stream_id < MAX_CRITICAL_STREAM_ID) + { + flags |= SCF_CRITICAL; + ++conn->ifc_pub.n_special_streams; + } + } + else + { + iface = conn->ifc_enpub->enp_stream_if; + stream_ctx = conn->ifc_enpub->enp_stream_if_ctx; + if (conn->ifc_enpub->enp_settings.es_rw_once) + flags |= SCF_DISP_RW_ONCE; + if (conn->ifc_enpub->enp_settings.es_delay_onclose) + flags |= SCF_DELAY_ONCLOSE; + if (conn->ifc_flags & IFC_HTTP) + { + flags |= SCF_HTTP; + if (conn->ifc_pii == &ext_prio_iter_if) + flags |= SCF_HTTP_PRIO; + } + } + + if (((stream_id >> SD_SHIFT) & 1) == SD_UNI) + initial_window = conn->ifc_enpub->enp_settings + .es_init_max_stream_data_uni; + else + initial_window = conn->ifc_enpub->enp_settings + .es_init_max_stream_data_bidi_remote; + + stream = lsquic_stream_new(stream_id, &conn->ifc_pub, + iface, stream_ctx, initial_window, + conn->ifc_cfg.max_stream_send, flags); + if (stream) + { + if (conn->ifc_bpus) + { + el = lsquic_hash_find(conn->ifc_bpus, &stream->id, + sizeof(stream->id)); + if (el) + { + LSQ_DEBUG("apply buffered PRIORITY_UPDATE to stream %"PRIu64, + stream->id); + lsquic_hash_erase(conn->ifc_bpus, el); + bpu = lsquic_hashelem_getdata(el); + (void) lsquic_stream_set_http_prio(stream, &bpu->ehp); + free(bpu); + } + } + if (lsquic_hash_insert(conn->ifc_pub.all_streams, &stream->id, + sizeof(stream->id), stream, &stream->sm_hash_el)) + { + if (call_on_new) + lsquic_stream_call_on_new(stream); + } + else + { + lsquic_stream_destroy(stream); + stream = NULL; + } + } + return stream; +} + + +static int +conn_is_send_only_stream (const struct ietf_full_conn *conn, + lsquic_stream_id_t stream_id) +{ + enum stream_id_type sit; + + sit = stream_id & SIT_MASK; + if (conn->ifc_flags & IFC_SERVER) + return sit == SIT_UNI_SERVER; + else + return sit == SIT_UNI_CLIENT; +} + + +static int +conn_is_receive_only_stream (const struct ietf_full_conn *conn, + lsquic_stream_id_t stream_id) +{ + enum stream_id_type sit; + + sit = stream_id & SIT_MASK; + if (conn->ifc_flags & IFC_SERVER) + return sit == SIT_UNI_CLIENT; + else + return sit == SIT_UNI_SERVER; +} + + +static unsigned +process_rst_stream_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + uint64_t offset, error_code; + lsquic_stream_t *stream; + int call_on_new; + const int parsed_len = conn->ifc_conn.cn_pf->pf_parse_rst_frame(p, len, + &stream_id, &offset, &error_code); + if (parsed_len < 0) + return 0; + + EV_LOG_RST_STREAM_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_id, offset, + error_code); + LSQ_DEBUG("Got RST_STREAM; stream: %"PRIu64"; offset: 0x%"PRIX64, stream_id, + offset); + + if (conn_is_send_only_stream(conn, stream_id)) + { + ABORT_QUIETLY(0, TEC_STREAM_STATE_ERROR, + "received RESET_STREAM on send-only stream %"PRIu64, stream_id); + return 0; + } + + call_on_new = 0; + stream = find_stream_by_id(conn, stream_id); + if (!stream) + { + if (conn_is_stream_closed(conn, stream_id)) + { + LSQ_DEBUG("got reset frame for closed stream %"PRIu64, stream_id); + return parsed_len; + } + if (!is_peer_initiated(conn, stream_id)) + { + ABORT_ERROR("received reset for never-initiated stream %"PRIu64, + stream_id); + return 0; + } + + stream = new_stream(conn, stream_id, 0); + if (!stream) + { + ABORT_ERROR("cannot create new stream: %s", strerror(errno)); + return 0; + } + ++call_on_new; + } + + if (0 != lsquic_stream_rst_in(stream, offset, error_code)) + { + ABORT_ERROR("received invalid RST_STREAM"); + return 0; + } + if (call_on_new) + lsquic_stream_call_on_new(stream); + return parsed_len; +} + + +static unsigned +process_stop_sending_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct lsquic_stream *stream; + lsquic_stream_id_t stream_id, max_allowed; + uint64_t error_code; + int parsed_len, our_stream; + enum stream_state_sending sss; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_stop_sending_frame(p, len, + &stream_id, &error_code); + if (parsed_len < 0) + return 0; + + EV_LOG_STOP_SENDING_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_id, error_code); + LSQ_DEBUG("Got STOP_SENDING; stream: %"PRIu64"; error code: %"PRIu64, + stream_id, error_code); + + if (conn_is_receive_only_stream(conn, stream_id)) + { + ABORT_QUIETLY(0, TEC_STREAM_STATE_ERROR, + "received STOP_SENDING on receive-only stream %"PRIu64, stream_id); + return 0; + } + + our_stream = !is_peer_initiated(conn, stream_id); + stream = find_stream_by_id(conn, stream_id); + if (stream) + { + if (our_stream && + SSS_READY == (sss = lsquic_stream_sending_state(stream))) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, "stream %"PRIu64" is in " + "%s state: receipt of STOP_SENDING frame is a violation", + stream_id, lsquic_sss2str[sss]); + return 0; + } + lsquic_stream_stop_sending_in(stream, error_code); + } + else if (conn_is_stream_closed(conn, stream_id)) + LSQ_DEBUG("stream %"PRIu64" is closed: ignore STOP_SENDING frame", + stream_id); + else if (our_stream) + { + ABORT_QUIETLY(0, TEC_STREAM_STATE_ERROR, "received STOP_SENDING frame " + "on locally initiated stream that has not yet been opened"); + return 0; + } + else + { + max_allowed = conn->ifc_max_allowed_stream_id[stream_id & SIT_MASK]; + if (stream_id >= max_allowed) + { + ABORT_QUIETLY(0, TEC_STREAM_LIMIT_ERROR, "incoming STOP_SENDING " + "for stream %"PRIu64" would exceed allowed max of %"PRIu64, + stream_id, max_allowed); + return 0; + } + if (conn->ifc_flags & IFC_GOING_AWAY) + { + LSQ_DEBUG("going away: reject new incoming stream %"PRIu64, + stream_id); + maybe_schedule_ss_for_stream(conn, stream_id, HEC_REQUEST_REJECTED); + return parsed_len; + } + stream = new_stream(conn, stream_id, 0); + if (!stream) + { + ABORT_ERROR("cannot create new stream: %s", strerror(errno)); + return 0; + } + lsquic_stream_stop_sending_in(stream, error_code); + if (!(conn->ifc_flags & IFC_HTTP)) + lsquic_stream_call_on_new(stream); + } + + return parsed_len; +} + + +static unsigned +discard_crypto_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct stream_frame stream_frame; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_crypto_frame(p, len, + &stream_frame); + if (parsed_len > 0) + { + LSQ_DEBUG("discard %d-byte CRYPTO frame", parsed_len); + return (unsigned) parsed_len; + } + else + return 0; +} + + +/* In the server, we only wait for Finished frame */ +static unsigned +process_crypto_frame_server (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct stream_frame stream_frame; + enum enc_level enc_level; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_crypto_frame(p, len, + &stream_frame); + if (parsed_len < 0) + return 0; + + enc_level = lsquic_packet_in_enc_level(packet_in); + EV_LOG_CRYPTO_FRAME_IN(LSQUIC_LOG_CONN_ID, &stream_frame, enc_level); + LSQ_DEBUG("Got CRYPTO frame for enc level #%u", enc_level); + if (!(conn->ifc_flags & IFC_PROC_CRYPTO)) + { + LSQ_DEBUG("discard %d-byte CRYPTO frame: handshake has been confirmed", + parsed_len); + return (unsigned) parsed_len; + } + if (enc_level < ENC_LEV_HSK) + { /* Must be dup */ + LSQ_DEBUG("discard %d-byte CRYPTO frame on level %s", parsed_len, + lsquic_enclev2str[enc_level]); + return (unsigned) parsed_len; + } + + if (0 != conn->ifc_conn.cn_esf.i->esfi_data_in( + conn->ifc_conn.cn_enc_session, + lsquic_packet_in_enc_level(packet_in), + stream_frame.data_frame.df_data, + stream_frame.data_frame.df_size)) + { + LSQ_DEBUG("feeding CRYPTO frame to enc session failed"); + return 0; + } + + if (!conn->ifc_conn.cn_esf.i->esfi_in_init(conn->ifc_conn.cn_enc_session)) + { + LSQ_DEBUG("handshake confirmed: send HANDSHAKE_DONE"); + conn->ifc_flags &= ~IFC_PROC_CRYPTO; + conn->ifc_send_flags |= SF_SEND_HANDSHAKE_DONE; + + lsquic_alarmset_init_alarm(&conn->ifc_alset, AL_RET_CIDS, + ret_cids_alarm_expired, conn); + lsquic_alarmset_set(&conn->ifc_alset, AL_RET_CIDS, + lsquic_time_now() + RET_CID_TIMEOUT); + } + + return (unsigned) parsed_len; +} + + +static unsigned +process_crypto_frame_client (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct stream_frame *stream_frame; + struct lsquic_stream *stream; + enum enc_level enc_level; + int parsed_len; + + /* Ignore CRYPTO frames in server mode and in client mode after SSL object + * is gone. + */ + if (!(conn->ifc_flags & IFC_PROC_CRYPTO)) + return discard_crypto_frame(conn, packet_in, p, len); + + stream_frame = lsquic_malo_get(conn->ifc_pub.mm->malo.stream_frame); + if (!stream_frame) + { + LSQ_WARN("could not allocate stream frame: %s", strerror(errno)); + return 0; + } + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_crypto_frame(p, len, + stream_frame); + if (parsed_len < 0) { + lsquic_malo_put(stream_frame); + ABORT_QUIETLY(0, TEC_FRAME_ENCODING_ERROR, + "cannot decode CRYPTO frame"); + return 0; + } + enc_level = lsquic_packet_in_enc_level(packet_in); + EV_LOG_CRYPTO_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_frame, enc_level); + LSQ_DEBUG("Got CRYPTO frame for enc level #%u", enc_level); + if ((conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + && enc_level != ENC_LEV_APP) + { + LSQ_DEBUG("handshake complete: ignore CRYPTO frames in " + "non-forward-secure packets"); + return parsed_len; + } + + if (conn->ifc_flags & IFC_CLOSING) + { + LSQ_DEBUG("Connection closing: ignore frame"); + lsquic_malo_put(stream_frame); + return parsed_len; + } + + assert(!(conn->ifc_flags & IFC_SERVER)); + if (conn->ifc_u.cli.crypto_streams[enc_level]) + stream = conn->ifc_u.cli.crypto_streams[enc_level]; + else + { + stream = lsquic_stream_new_crypto(enc_level, &conn->ifc_pub, + &lsquic_cry_sm_if, conn->ifc_conn.cn_enc_session, + SCF_IETF|SCF_DI_AUTOSWITCH|SCF_CALL_ON_NEW|SCF_CRITICAL); + if (!stream) + { + lsquic_malo_put(stream_frame); + ABORT_WARN("cannot create crypto stream for level %u", enc_level); + return 0; + } + conn->ifc_u.cli.crypto_streams[enc_level] = stream; + (void) lsquic_stream_wantread(stream, 1); + } + + stream_frame->packet_in = lsquic_packet_in_get(packet_in); + if (0 != lsquic_stream_frame_in(stream, stream_frame)) + { + ABORT_ERROR("cannot insert stream frame"); + return 0; + } + + if (!(conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE)) + { /* To enable decryption, process handshake stream as soon as its + * data frames are received. + * + * TODO: this does not work when packets are reordered. A more + * flexible solution would defer packet decryption if handshake + * has not been completed yet. Nevertheless, this is good enough + * for now. + */ + lsquic_stream_dispatch_read_events(stream); + } + + return parsed_len; +} + + +static unsigned +process_crypto_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + if (conn->ifc_flags & IFC_SERVER) + return process_crypto_frame_server(conn, packet_in, p, len); + else + return process_crypto_frame_client(conn, packet_in, p, len); +} + + +static unsigned +process_stream_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct stream_frame *stream_frame; + struct lsquic_stream *stream; + int parsed_len; + + stream_frame = lsquic_malo_get(conn->ifc_pub.mm->malo.stream_frame); + if (!stream_frame) + { + LSQ_WARN("could not allocate stream frame: %s", strerror(errno)); + return 0; + } + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_stream_frame(p, len, + stream_frame); + if (parsed_len < 0) { + lsquic_malo_put(stream_frame); + ABORT_QUIETLY(0, TEC_FRAME_ENCODING_ERROR, + "cannot decode STREAM frame"); + return 0; + } + EV_LOG_STREAM_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_frame); + CONN_STATS(in.stream_frames, 1); + CONN_STATS(in.stream_data_sz, stream_frame->data_frame.df_size); + + if (conn_is_send_only_stream(conn, stream_frame->stream_id)) + { + ABORT_QUIETLY(0, TEC_STREAM_STATE_ERROR, "received STREAM frame " + "on send-only stream %"PRIu64, stream_frame->stream_id); + return 0; + } + + if ((conn->ifc_flags & (IFC_SERVER|IFC_HTTP)) == IFC_HTTP + && SIT_BIDI_SERVER == (stream_frame->stream_id & SIT_MASK)) + { + ABORT_QUIETLY(1, HEC_STREAM_CREATION_ERROR, "HTTP/3 server " + "is not allowed to initiate bidirectional streams (got " + "STREAM frame for stream %"PRIu64, stream_frame->stream_id); + return 0; + } + + if (conn->ifc_flags & IFC_CLOSING) + { + LSQ_DEBUG("Connection closing: ignore frame"); + lsquic_malo_put(stream_frame); + return parsed_len; + } + + stream = find_stream_by_id(conn, stream_frame->stream_id); + if (!stream) + { + if (conn_is_stream_closed(conn, stream_frame->stream_id)) + { + LSQ_DEBUG("drop frame for closed stream %"PRIu64, + stream_frame->stream_id); + lsquic_malo_put(stream_frame); + return parsed_len; + } + if (is_peer_initiated(conn, stream_frame->stream_id)) + { + const lsquic_stream_id_t max_allowed = + conn->ifc_max_allowed_stream_id[stream_frame->stream_id & SIT_MASK]; + if (stream_frame->stream_id >= max_allowed) + { + ABORT_QUIETLY(0, TEC_STREAM_LIMIT_ERROR, "incoming stream " + "%"PRIu64" exceeds allowed max of %"PRIu64, + stream_frame->stream_id, max_allowed); + lsquic_malo_put(stream_frame); + return 0; + } + if (conn->ifc_flags & IFC_GOING_AWAY) + { + LSQ_DEBUG("going away: reject new incoming stream %"PRIu64, + stream_frame->stream_id); + maybe_schedule_ss_for_stream(conn, stream_frame->stream_id, + HEC_REQUEST_REJECTED); + lsquic_malo_put(stream_frame); + return parsed_len; + } + } + else + { + ABORT_QUIETLY(0, TEC_STREAM_STATE_ERROR, "received STREAM frame " + "for never-initiated stream"); + lsquic_malo_put(stream_frame); + return 0; + } + stream = new_stream(conn, stream_frame->stream_id, SCF_CALL_ON_NEW); + if (!stream) + { + ABORT_ERROR("cannot create new stream: %s", strerror(errno)); + lsquic_malo_put(stream_frame); + return 0; + } + if (SD_BIDI == ((stream_frame->stream_id >> SD_SHIFT) & 1) + && (!valid_stream_id(conn->ifc_max_req_id) + || conn->ifc_max_req_id < stream_frame->stream_id)) + conn->ifc_max_req_id = stream_frame->stream_id; + } + + stream_frame->packet_in = lsquic_packet_in_get(packet_in); + if (0 != lsquic_stream_frame_in(stream, stream_frame)) + { + ABORT_ERROR("cannot insert stream frame"); + return 0; + } + + /* Don't wait for the regular on_read dispatch in order to save an + * unnecessary blocked/unblocked sequence. + */ + if ((conn->ifc_flags & IFC_HTTP) && conn->ifc_qdh.qdh_enc_sm_in == stream) + lsquic_stream_dispatch_read_events(conn->ifc_qdh.qdh_enc_sm_in); + + return parsed_len; +} + + +static unsigned +process_ack_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct ack_info *new_acki; + enum packnum_space pns; + int parsed_len; + lsquic_time_t warn_time; + + CONN_STATS(in.n_acks, 1); + + if (conn->ifc_flags & IFC_HAVE_SAVED_ACK) + new_acki = conn->ifc_pub.mm->acki; + else + new_acki = &conn->ifc_ack; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_ack_frame(p, len, new_acki, + conn->ifc_cfg.ack_exp); + if (parsed_len < 0) + goto err; + + /* This code to throw out old ACKs is what keeps us compliant with this + * requirement: + * + * [draft-ietf-quic-transport-18] Section 13.3.2. + * + > Processing counts out of order can result in verification failure. + > An endpoint SHOULD NOT perform this verification if the ACK frame is + > received in a packet with packet number lower than a previously + > received ACK frame. Verifying based on ACK frames that arrive out of + > order can result in disabling ECN unnecessarily. + */ + pns = lsquic_hety2pns[ packet_in->pi_header_type ]; + if (is_valid_packno(conn->ifc_max_ack_packno[pns]) && + packet_in->pi_packno <= conn->ifc_max_ack_packno[pns]) + { + LSQ_DEBUG("Ignore old ack (max %"PRIu64")", + conn->ifc_max_ack_packno[pns]); + return parsed_len; + } + + EV_LOG_ACK_FRAME_IN(LSQUIC_LOG_CONN_ID, new_acki); + conn->ifc_max_ack_packno[pns] = packet_in->pi_packno; + new_acki->pns = pns; + + ++conn->ifc_pts.n_acks; + + /* Only cache ACKs for PNS_APP */ + if (pns == PNS_APP && new_acki == &conn->ifc_ack) + { + LSQ_DEBUG("Saved ACK"); + conn->ifc_flags |= IFC_HAVE_SAVED_ACK; + conn->ifc_saved_ack_received = packet_in->pi_received; + } + else if (pns == PNS_APP) + { + if (0 == lsquic_merge_acks(&conn->ifc_ack, new_acki)) + { + CONN_STATS(in.n_acks_merged, 1); + LSQ_DEBUG("merged into saved ACK, getting %s", + (lsquic_acki2str(&conn->ifc_ack, conn->ifc_pub.mm->ack_str, + MAX_ACKI_STR_SZ), conn->ifc_pub.mm->ack_str)); + } + else + { + LSQ_DEBUG("could not merge new ACK into saved ACK"); + if (0 != process_ack(conn, &conn->ifc_ack, packet_in->pi_received, + packet_in->pi_received)) + goto err; + conn->ifc_ack = *new_acki; + } + conn->ifc_saved_ack_received = packet_in->pi_received; + } + else + { + if (0 != process_ack(conn, new_acki, packet_in->pi_received, + packet_in->pi_received)) + goto err; + } + + return parsed_len; + + err: + warn_time = lsquic_time_now(); + if (0 == conn->ifc_enpub->enp_last_warning[WT_ACKPARSE_FULL] + || conn->ifc_enpub->enp_last_warning[WT_ACKPARSE_FULL] + + WARNING_INTERVAL < warn_time) + { + conn->ifc_enpub->enp_last_warning[WT_ACKPARSE_FULL] = warn_time; + LSQ_WARN("Invalid ACK frame"); + } + return 0; +} + + +static unsigned +process_ping_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ /* This frame causes ACK frame to be queued, but nothing to do here; + * return the length of this frame. + */ + EV_LOG_PING_FRAME_IN(LSQUIC_LOG_CONN_ID); + if (conn->ifc_flags & IFC_SERVER) + log_conn_flow_control(conn); + + LSQ_DEBUG("received PING frame, update last progress to %"PRIu64, + conn->ifc_pub.last_tick); + conn->ifc_pub.last_prog = conn->ifc_pub.last_tick; + + return 1; +} + + +static int +is_benign_transport_error_code (uint64_t error_code) +{ + switch (error_code) + { + case TEC_NO_ERROR: + case TEC_INTERNAL_ERROR: + return 1; + default: + return 0; + } +} + + +static int +is_benign_application_error_code (uint64_t error_code) +{ + switch (error_code) + { + case HEC_NO_ERROR: + case HEC_INTERNAL_ERROR: + return 1; + default: + return 0; + } +} + + +static unsigned +process_connection_close_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + uint64_t error_code; + uint16_t reason_len; + uint8_t reason_off; + int parsed_len, app_error; + const char *ua; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_connect_close_frame(p, len, + &app_error, &error_code, &reason_len, &reason_off); + if (parsed_len < 0) + return 0; + EV_LOG_CONNECTION_CLOSE_FRAME_IN(LSQUIC_LOG_CONN_ID, error_code, + (int) reason_len, (const char *) p + reason_off); + if (LSQ_LOG_ENABLED(LSQ_LOG_NOTICE) + && !( (!app_error && is_benign_transport_error_code(error_code)) + ||( app_error && is_benign_application_error_code(error_code)))) + { + if (conn->ifc_flags & IFC_HTTP) + { + ua = lsquic_qdh_get_ua(&conn->ifc_qdh); + if (!ua) + ua = "unknown peer"; + } + else + ua = "non-HTTP/3 peer"; + LSQ_NOTICE("Received CONNECTION_CLOSE from <%s> with %s-level error " + "code %"PRIu64", reason: `%.*s'", ua, + app_error ? "application" : "transport", error_code, + (int) reason_len, (const char *) p + reason_off); + } + else + LSQ_INFO("Received CONNECTION_CLOSE frame (%s-level code: %"PRIu64"; " + "reason: %.*s)", app_error ? "application" : "transport", + error_code, (int) reason_len, (const char *) p + reason_off); + if (conn->ifc_enpub->enp_stream_if->on_conncloseframe_received) + conn->ifc_enpub->enp_stream_if->on_conncloseframe_received( + &conn->ifc_conn, app_error, error_code, (const char *) p + reason_off, reason_len); + conn->ifc_flags |= IFC_RECV_CLOSE|IFC_CLOSING; + return parsed_len; +} + + +static unsigned +process_max_data_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + uint64_t max_data; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_max_data(p, len, &max_data); + if (parsed_len < 0) + return 0; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "RX MAX_DATA frame; offset: %"PRIu64, + max_data); + if (max_data > conn->ifc_pub.conn_cap.cc_max) + { + LSQ_DEBUG("max data goes from %"PRIu64" to %"PRIu64, + conn->ifc_pub.conn_cap.cc_max, max_data); + conn->ifc_pub.conn_cap.cc_max = max_data; + } + else + LSQ_DEBUG("newly supplied max data=%"PRIu64" is not larger than the " + "current value=%"PRIu64", ignoring", max_data, + conn->ifc_pub.conn_cap.cc_max); + return parsed_len; +} + + +static unsigned +process_max_stream_data_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct lsquic_stream *stream; + lsquic_stream_id_t stream_id; + uint64_t max_data; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_max_stream_data_frame(p, len, + &stream_id, &max_data); + if (parsed_len < 0) + return 0; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "RX MAX_STREAM_DATA frame; " + "stream_id: %"PRIu64"; offset: %"PRIu64, stream_id, max_data); + if (conn_is_receive_only_stream(conn, stream_id)) + { + ABORT_QUIETLY(0, TEC_STREAM_STATE_ERROR, + "received MAX_STREAM_DATA on receive-only stream %"PRIu64, stream_id); + return 0; + } + + stream = find_stream_by_id(conn, stream_id); + if (stream) + lsquic_stream_window_update(stream, max_data); + else if (conn_is_stream_closed(conn, stream_id)) + LSQ_DEBUG("stream %"PRIu64" is closed: ignore MAX_STREAM_DATA frame", + stream_id); + else + { + if (is_peer_initiated(conn, stream_id)) + { + if ((conn->ifc_flags & (IFC_SERVER|IFC_HTTP)) == IFC_HTTP + && SIT_BIDI_SERVER == (stream_id & SIT_MASK)) + { + ABORT_QUIETLY(1, HEC_STREAM_CREATION_ERROR, "HTTP/3 server " + "is not allowed to initiate bidirectional streams (got " + "STREAM frame for stream %"PRIu64, stream_id); + return 0; + } + + if (conn->ifc_flags & IFC_CLOSING) + { + LSQ_DEBUG("Connection closing: ignore frame"); + return parsed_len; + } + const lsquic_stream_id_t max_allowed = + conn->ifc_max_allowed_stream_id[stream_id & SIT_MASK]; + if (stream_id >= max_allowed) + { + ABORT_QUIETLY(0, TEC_STREAM_LIMIT_ERROR, "incoming stream " + "%"PRIu64" exceeds allowed max of %"PRIu64, + stream_id, max_allowed); + return 0; + } + if (conn->ifc_flags & IFC_GOING_AWAY) + { + LSQ_DEBUG("going away: reject new incoming stream %"PRIu64, + stream_id); + maybe_schedule_ss_for_stream(conn, stream_id, + HEC_REQUEST_REJECTED); + return parsed_len; + } + stream = new_stream(conn, stream_id, SCF_CALL_ON_NEW); + if (!stream) + { + ABORT_ERROR("cannot create new stream: %s", strerror(errno)); + return 0; + } + if (SD_BIDI == ((stream_id >> SD_SHIFT) & 1) + && (!valid_stream_id(conn->ifc_max_req_id) + || conn->ifc_max_req_id < stream_id)) + conn->ifc_max_req_id = stream_id; + + lsquic_stream_window_update(stream, max_data); + } + else + { + ABORT_QUIETLY(0, TEC_STREAM_STATE_ERROR, "received MAX_STREAM_DATA " + "frame on never-opened stream %"PRIu64, stream_id); + return 0; + } + } + + return parsed_len; +} + + +static unsigned +process_max_streams_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + lsquic_stream_id_t max_stream_id; + enum stream_id_type sit; + enum stream_dir sd; + uint64_t max_streams; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_max_streams_frame(p, len, + &sd, &max_streams); + if (parsed_len < 0) + return 0; + + sit = gen_sit(conn->ifc_flags & IFC_SERVER, sd); + max_stream_id = max_streams << SIT_SHIFT; + + if (max_stream_id > VINT_MAX_VALUE) + { + ABORT_QUIETLY(0, TEC_FRAME_ENCODING_ERROR, + "MAX_STREAMS: max %s stream ID of %"PRIu64" exceeds maximum " + "stream ID", sd == SD_BIDI ? "bidi" : "uni", max_stream_id); + return 0; + } + + if (max_stream_id > conn->ifc_max_allowed_stream_id[sit]) + { + LSQ_DEBUG("max %s stream ID updated from %"PRIu64" to %"PRIu64, + sd == SD_BIDI ? "bidi" : "uni", + conn->ifc_max_allowed_stream_id[sit], max_stream_id); + conn->ifc_max_allowed_stream_id[sit] = max_stream_id; + } + else + LSQ_DEBUG("ignore old max %s streams value of %"PRIu64, + sd == SD_BIDI ? "bidi" : "uni", max_streams); + + return parsed_len; +} + + +/* Returns true if current DCID was retired. In this case, it must be + * replaced. + */ +static int +retire_dcids_prior_to (struct ietf_full_conn *conn, unsigned retire_prior_to) +{ + struct dcid_elem **el; + int update_cur_dcid = 0; +#if LSQUIC_LOWEST_LOG_LEVEL >= LSQ_LOG_DEBUG + unsigned count = 0; +#endif + + for (el = conn->ifc_dces; el < conn->ifc_dces + sizeof(conn->ifc_dces) + / sizeof(conn->ifc_dces[0]); ++el) + if (*el && (*el)->de_seqno < retire_prior_to) + { + update_cur_dcid |= LSQUIC_CIDS_EQ(&(*el)->de_cid, CUR_DCID(conn)); + retire_dcid(conn, el); +#if LSQUIC_LOWEST_LOG_LEVEL >= LSQ_LOG_DEBUG + ++count; +#endif + } + + LSQ_DEBUG("retired %u DCID%s due to Retire Prior To=%u", count, + count != 1 ? "s" : "", retire_prior_to); + return update_cur_dcid; +} + + +static int +insert_new_dcid (struct ietf_full_conn *conn, uint64_t seqno, + const lsquic_cid_t *cid, const unsigned char *token, int update_cur_dcid) +{ + struct dcid_elem **dce, **el; + char tokstr[IQUIC_SRESET_TOKEN_SZ * 2 + 1]; + + dce = NULL; + for (el = conn->ifc_dces; el < conn->ifc_dces + sizeof(conn->ifc_dces) + / sizeof(conn->ifc_dces[0]); ++el) + if (*el) + { + if ((*el)->de_seqno == seqno) + { + if (!LSQUIC_CIDS_EQ(&(*el)->de_cid, cid)) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "NEW_CONNECTION_ID: already have CID seqno %"PRIu64 + " but with a different CID", seqno); + return -1; + } + else + { + LSQ_DEBUG("Ignore duplicate CID seqno %"PRIu64, seqno); + return 0; + } + } + else if (LSQUIC_CIDS_EQ(&(*el)->de_cid, cid)) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "NEW_CONNECTION_ID: received the same CID with sequence " + "numbers %u and %"PRIu64, (*el)->de_seqno, seqno); + return -1; + } + else if (((*el)->de_flags & DE_SRST) + && 0 == memcmp((*el)->de_srst, token, + IQUIC_SRESET_TOKEN_SZ)) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "NEW_CONNECTION_ID: received second instance of reset " + "token %s in seqno %"PRIu64", same as in seqno %u", + (lsquic_hexstr(token, IQUIC_SRESET_TOKEN_SZ, tokstr, + sizeof(tokstr)), tokstr), + seqno, (*el)->de_seqno); + return -1; + } + } + else if (!dce) + dce = el; + + if (!dce) + { + ABORT_QUIETLY(0, TEC_CONNECTION_ID_LIMIT_ERROR, + "NEW_CONNECTION_ID: received connection ID that is going over the " + "limit of %u CIDs", MAX_IETF_CONN_DCIDS); + return -1; + } + + *dce = lsquic_malo_get(conn->ifc_pub.mm->malo.dcid_elem); + if (*dce) + { + memset(*dce, 0, sizeof(**dce)); + (*dce)->de_seqno = seqno; + (*dce)->de_cid = *cid; + memcpy((*dce)->de_srst, token, sizeof((*dce)->de_srst)); + (*dce)->de_flags |= DE_SRST; + if (update_cur_dcid) + { + *CUR_DCID(conn) = *cid; + if (CUR_CPATH(conn)->cop_flags & COP_SPIN_BIT) + CUR_CPATH(conn)->cop_spin_bit = 0; + } + } + else + LSQ_WARN("cannot allocate dce to insert DCID seqno %"PRIu64, seqno); + + return 0; +} + + +static unsigned +process_new_connection_id_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + const unsigned char *token; + const char *action_str; + lsquic_cid_t cid; + uint64_t seqno, retire_prior_to; + int parsed_len, update_cur_dcid; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_new_conn_id(p, len, + &seqno, &retire_prior_to, &cid, &token); + if (parsed_len < 0) + { + if (parsed_len == -2) + ABORT_QUIETLY(0, TEC_FRAME_ENCODING_ERROR, + "NEW_CONNECTION_ID contains invalid CID length"); + return 0; + } + + if (seqno > UINT32_MAX || retire_prior_to > UINT32_MAX) + { /* It is wasteful to use 8-byte integers for these counters, so this + * is the guard here. This will "Never Happen." + */ + LSQ_INFO("ignoring unreasonably high seqno=%"PRIu64" or Retire Prior " + "To=%"PRIu64, seqno, retire_prior_to); + return parsed_len; + } + + if (retire_prior_to > seqno) + { + ABORT_QUIETLY(0, TEC_FRAME_ENCODING_ERROR, + "NEW_CONNECTION_ID: Retire Prior To=%"PRIu64" is larger then the " + "Sequence Number=%"PRIu64, retire_prior_to, seqno); + return 0; + } + + if (CUR_DCID(conn)->len == 0) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, "Received NEW_CONNECTION_ID " + "frame, but current DCID is zero-length"); + return 0; + } + + if (seqno < conn->ifc_last_retire_prior_to) + { + retire_seqno(conn, seqno); + action_str = "Ignored (seqno smaller than last retire_prior_to"; + goto end; + } + + if (retire_prior_to > conn->ifc_last_retire_prior_to) + { + conn->ifc_last_retire_prior_to = retire_prior_to; + update_cur_dcid = retire_dcids_prior_to(conn, retire_prior_to); + } + else + update_cur_dcid = 0; + + if (0 != insert_new_dcid(conn, seqno, &cid, token, update_cur_dcid)) + return 0; + action_str = "Saved"; + + end: + LSQ_DEBUGC("Got new connection ID from peer: seq=%"PRIu64"; " + "cid: %"CID_FMT". %s.", seqno, CID_BITS(&cid), action_str); + return parsed_len; +} + + +static void +retire_cid (struct ietf_full_conn *conn, struct conn_cid_elem *cce, + lsquic_time_t now) +{ + struct lsquic_conn *const lconn = &conn->ifc_conn; + lsquic_time_t drain_time; + + drain_time = calc_drain_time(conn); + LSQ_DEBUGC("retiring CID %"CID_FMT"; seqno: %u; %s; drain time %"PRIu64 + " usec", CID_BITS(&cce->cce_cid), cce->cce_seqno, + (cce->cce_flags & CCE_SEQNO) ? "" : "original", drain_time); + + if (cce->cce_flags & CCE_SEQNO) + --conn->ifc_active_cids_count; + lsquic_engine_retire_cid(conn->ifc_enpub, lconn, cce - lconn->cn_cces, now, + drain_time); + memset(cce, 0, sizeof(*cce)); + + if (can_issue_cids(conn) + && !(lsquic_alarmset_is_set(&conn->ifc_alset, AL_CID_THROT))) + maybe_get_rate_available_scid_slot(conn, now); +} + + +static unsigned +process_retire_connection_id_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct lsquic_conn *const lconn = &conn->ifc_conn; + struct conn_cid_elem *cce; + uint64_t seqno; + int parsed_len; + + /* [draft-ietf-quic-transport-25] Section 19.16 + * + * - Peer cannot retire zero-lenth CID. (MUST treat as PROTOCOL_VIOLATION) + * - Peer cannot retire CID with sequence number that has not been + * allocated yet. (MUST treat as PROTOCOL_VIOLATION) + * - Peer cannot retire CID that matches the DCID in packet. + * (MAY treat as PROTOCOL_VIOLATION) + */ + if (conn->ifc_settings->es_scid_len == 0) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, "cannot retire zero-length CID"); + return 0; + } + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_retire_cid_frame(p, len, + &seqno); + if (parsed_len < 0) + return 0; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "got RETIRE_CONNECTION_ID frame: " + "seqno=%"PRIu64, seqno); + if (seqno >= conn->ifc_scid_seqno) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, "cannot retire CID seqno=" + "%"PRIu64" as it has not been allocated yet", seqno); + return 0; + } + + for (cce = lconn->cn_cces; cce < END_OF_CCES(lconn); ++cce) + if ((lconn->cn_cces_mask & (1 << (cce - lconn->cn_cces)) + && (cce->cce_flags & CCE_SEQNO) + && cce->cce_seqno == seqno)) + break; + /* NOTE: https://github.com/litespeedtech/lsquic/issues/334 + conn->ifc_active_cids_count -= seqno >= conn->ifc_first_active_cid_seqno; + */ + if (cce < END_OF_CCES(lconn)) + { + if (LSQUIC_CIDS_EQ(&cce->cce_cid, &packet_in->pi_dcid)) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, "cannot retire CID " + "seqno=%"PRIu64", for it is used as DCID in the packet", seqno); + return 0; + } + retire_cid(conn, cce, packet_in->pi_received); + if (lconn->cn_cur_cce_idx == cce - lconn->cn_cces) + { + cce = find_cce_by_cid(conn, &packet_in->pi_dcid); + if (cce) + { + cce->cce_flags |= CCE_USED; + lconn->cn_cur_cce_idx = cce - lconn->cn_cces; + LSQ_DEBUGC("current SCID was retired; set current SCID to " + "%"CID_FMT" based on DCID in incoming packet", + CID_BITS(&packet_in->pi_dcid)); + } + else + LSQ_WARN("current SCID was retired; no new SCID candidate"); + /* This could theoretically happen when zero-length CIDs were + * used. Currently, there should be no way lsquic could get + * into this situation. + */ + } + } + else + LSQ_DEBUG("cannot retire CID seqno=%"PRIu64": not found", seqno); + LOG_SCIDS(conn); + + return parsed_len; +} + + +static unsigned +process_new_token_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + const unsigned char *token; + size_t token_sz; + char *token_str; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_new_token_frame(p, len, &token, + &token_sz); + if (parsed_len < 0) + return 0; + + if (0 == token_sz) + { + ABORT_QUIETLY(0, TEC_FRAME_ENCODING_ERROR, "received an empty " + "NEW_TOKEN frame"); + return 0; + } + + if (conn->ifc_flags & IFC_SERVER) + { /* [draft-ietf-quic-transport-34] Section 19.7 */ + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "received unexpected NEW_TOKEN frame"); + return 0; + } + + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG) + || LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_EVENT)) + { + token_str = malloc(token_sz * 2 + 1); + if (token_str) + { + lsquic_hexstr(token, token_sz, token_str, token_sz * 2 + 1); + LSQ_DEBUG("Got %zu-byte NEW_TOKEN %s", token_sz, token_str); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "got NEW_TOKEN %s", + token_str); + free(token_str); + } + } + if (conn->ifc_enpub->enp_stream_if->on_new_token) + conn->ifc_enpub->enp_stream_if->on_new_token( + conn->ifc_enpub->enp_stream_if_ctx, token, token_sz); + return parsed_len; +} + + +static unsigned +process_stream_blocked_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + struct lsquic_stream *stream; + lsquic_stream_id_t stream_id; + uint64_t peer_off; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_stream_blocked_frame(p, + len, &stream_id, &peer_off); + if (parsed_len < 0) + return 0; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "RX STREAM_BLOCKED frame: stream " + "%"PRIu64"; offset %"PRIu64, stream_id, peer_off); + LSQ_DEBUG("received STREAM_BLOCKED frame: stream %"PRIu64 + "; offset %"PRIu64, stream_id, peer_off); + + if (conn_is_send_only_stream(conn, stream_id)) + { + ABORT_QUIETLY(0, TEC_STREAM_STATE_ERROR, + "received STREAM_BLOCKED frame on send-only stream %"PRIu64, + stream_id); + return 0; + } + + stream = find_stream_by_id(conn, stream_id); + if (stream) + lsquic_stream_peer_blocked(stream, peer_off); + else + LSQ_DEBUG("stream %"PRIu64" not found - ignore STREAM_BLOCKED frame", + stream_id); + return parsed_len; +} + + +static unsigned +process_streams_blocked_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + lsquic_stream_id_t max_stream_id; + uint64_t stream_limit; + enum stream_dir sd; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_streams_blocked_frame(p, + len, &sd, &stream_limit); + if (parsed_len < 0) + return 0; + + max_stream_id = stream_limit << SIT_SHIFT; + if (max_stream_id > VINT_MAX_VALUE) + { + ABORT_QUIETLY(0, TEC_FRAME_ENCODING_ERROR, + "STREAMS_BLOCKED: max %s stream ID of %"PRIu64" exceeds maximum " + "stream ID", sd == SD_BIDI ? "bidi" : "uni", max_stream_id); + return 0; + } + + LSQ_DEBUG("received STREAMS_BLOCKED frame: limited to %"PRIu64 + " %sdirectional stream%.*s", stream_limit, sd == SD_UNI ? "uni" : "bi", + stream_limit != 1, "s"); + /* We don't do anything with this information -- at least for now */ + return parsed_len; +} + + +static unsigned +process_blocked_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + uint64_t peer_off; + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_blocked_frame(p, len, + &peer_off); + if (parsed_len < 0) + return 0; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "RX BLOCKED frame: offset %"PRIu64, + peer_off); + LSQ_DEBUG("received BLOCKED frame: offset %"PRIu64, peer_off); + + if (peer_off > conn->ifc_last_max_data_off_sent + && !(conn->ifc_send_flags & SF_SEND_MAX_DATA)) + { + conn->ifc_send_flags |= SF_SEND_MAX_DATA; + LSQ_DEBUG("marked to send MAX_DATA frame"); + } + else if (conn->ifc_send_flags & SF_SEND_MAX_DATA) + LSQ_DEBUG("MAX_STREAM_DATA frame is already scheduled"); + else + LSQ_DEBUG("MAX_DATA(%"PRIu64") has already been either " + "packetized or sent to peer", conn->ifc_last_max_data_off_sent); + + return parsed_len; +} + + +static unsigned +process_handshake_done_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + int parsed_len; + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_handshake_done_frame(p, len); + if (parsed_len < 0) + return 0; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "RX HANDSHAKE_DONE frame"); + LSQ_DEBUG("received HANDSHAKE_DONE frame"); + + if (conn->ifc_flags & IFC_SERVER) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "Client cannot send HANDSHAKE_DONE frame"); + return 0; + } + + handshake_confirmed(conn); + + return parsed_len; +} + + +static unsigned +process_ack_frequency_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + uint64_t seqno, pack_tol, upd_mad; + int parsed_len, ignore; + + if (!conn->ifc_settings->es_delayed_acks + && !(conn->ifc_flags & IFC_DELAYED_ACKS)) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "Received unexpected ACK_FREQUENCY frame (not negotiated)"); + return 0; + } + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_ack_frequency_frame(p, len, + &seqno, &pack_tol, &upd_mad, &ignore); + if (parsed_len < 0) + return 0; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "RX ACK_FREQUENCY frame: (seqno: %"PRIu64"; " + "pack_tol: %"PRIu64"; upd: %"PRIu64"; ignore: %d)", seqno, + pack_tol, upd_mad, ignore); + LSQ_DEBUG("RX ACK_FREQUENCY frame: (seqno: %"PRIu64"; pack_tol: %"PRIu64"; " + "upd: %"PRIu64"; ignore: %d)", seqno, pack_tol, upd_mad, + ignore); + + if (pack_tol == 0) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "Packet Tolerance of zero is invalid"); + return 0; + } + + if (upd_mad < TP_MIN_ACK_DELAY) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "Update Max Ack Delay value of %"PRIu64" usec is invalid, as it " + "is smaller than the advertised min_ack_delay of %u usec", + upd_mad, TP_MIN_ACK_DELAY); + return 0; + } + + if (conn->ifc_max_ack_freq_seqno > 0 + && seqno <= conn->ifc_max_ack_freq_seqno) + { + LSQ_DEBUG("ignore old ACK_FREQUENCY frame"); + return parsed_len; + } + conn->ifc_max_ack_freq_seqno = seqno; + + if (pack_tol < UINT_MAX) + { + LSQ_DEBUG("set packet tolerance to %"PRIu64, pack_tol); + conn->ifc_max_retx_since_last_ack = pack_tol; + } + + if (upd_mad != conn->ifc_max_ack_delay) + { + conn->ifc_max_ack_delay = upd_mad; + LSQ_DEBUG("set Max Ack Delay to new value of %"PRIu64" usec", + conn->ifc_max_ack_delay); + } + else + LSQ_DEBUG("keep Max Ack Delay unchanged at %"PRIu64" usec", + conn->ifc_max_ack_delay); + + if (ignore) + { + conn->ifc_mflags |= MF_IGNORE_MISSING; + conn->ifc_flags &= ~IFC_ACK_HAD_MISS; + } + else + conn->ifc_mflags &= ~MF_IGNORE_MISSING; + + return parsed_len; +} + + +static unsigned +process_timestamp_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "Received unexpected TIMESTAMP frame (not negotiated)"); + return 0; +} + + +static unsigned +process_datagram_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + const void *data; + size_t data_sz; + int parsed_len; + + if (!(conn->ifc_flags & IFC_DATAGRAMS)) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "Received unexpected DATAGRAM frame (not negotiated)"); + return 0; + } + + parsed_len = conn->ifc_conn.cn_pf->pf_parse_datagram_frame(p, len, + &data, &data_sz); + if (parsed_len < 0) + return 0; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "%zd-byte DATAGRAM", data_sz); + LSQ_DEBUG("%zd-byte DATAGRAM", data_sz); + + conn->ifc_enpub->enp_stream_if->on_datagram(&conn->ifc_conn, data, data_sz); + + return parsed_len; +} + + +typedef unsigned (*process_frame_f)( + struct ietf_full_conn *, struct lsquic_packet_in *, + const unsigned char *p, size_t); + + +static process_frame_f const process_frames[N_QUIC_FRAMES] = +{ + [QUIC_FRAME_PADDING] = process_padding_frame, + [QUIC_FRAME_RST_STREAM] = process_rst_stream_frame, + [QUIC_FRAME_CONNECTION_CLOSE] = process_connection_close_frame, + [QUIC_FRAME_MAX_DATA] = process_max_data_frame, + [QUIC_FRAME_MAX_STREAM_DATA] = process_max_stream_data_frame, + [QUIC_FRAME_MAX_STREAMS] = process_max_streams_frame, + [QUIC_FRAME_PING] = process_ping_frame, + [QUIC_FRAME_BLOCKED] = process_blocked_frame, + [QUIC_FRAME_STREAM_BLOCKED] = process_stream_blocked_frame, + [QUIC_FRAME_STREAMS_BLOCKED] = process_streams_blocked_frame, + [QUIC_FRAME_NEW_CONNECTION_ID] = process_new_connection_id_frame, + [QUIC_FRAME_NEW_TOKEN] = process_new_token_frame, + [QUIC_FRAME_STOP_SENDING] = process_stop_sending_frame, + [QUIC_FRAME_ACK] = process_ack_frame, + [QUIC_FRAME_PATH_CHALLENGE] = process_path_challenge_frame, + [QUIC_FRAME_PATH_RESPONSE] = process_path_response_frame, + [QUIC_FRAME_RETIRE_CONNECTION_ID] = process_retire_connection_id_frame, + [QUIC_FRAME_STREAM] = process_stream_frame, + [QUIC_FRAME_CRYPTO] = process_crypto_frame, + [QUIC_FRAME_HANDSHAKE_DONE] = process_handshake_done_frame, + [QUIC_FRAME_ACK_FREQUENCY] = process_ack_frequency_frame, + [QUIC_FRAME_TIMESTAMP] = process_timestamp_frame, + [QUIC_FRAME_DATAGRAM] = process_datagram_frame, +}; + + +static unsigned +process_packet_frame (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + enum enc_level enc_level; + enum quic_frame_type type; + char str[8 * 2 + 1]; + + enc_level = lsquic_packet_in_enc_level(packet_in); + type = conn->ifc_conn.cn_pf->pf_parse_frame_type(p, len); + if (lsquic_legal_frames_by_level[conn->ifc_conn.cn_version][enc_level] + & (1 << type)) + { + LSQ_DEBUG("about to process %s frame", frame_type_2_str[type]); + packet_in->pi_frame_types |= 1 << type; + return process_frames[type](conn, packet_in, p, len); + } + else + { + LSQ_DEBUG("invalid frame %u (bytes: %s) at encryption level %s", + type, HEXSTR(p, MIN(len, 8), str), lsquic_enclev2str[enc_level]); + ABORT_QUIETLY(0, TEC_FRAME_ENCODING_ERROR, "invalid frame"); + return 0; + } +} + + +static struct dcid_elem * +find_unassigned_dcid (struct ietf_full_conn *conn) +{ + struct dcid_elem **dce; + + for (dce = conn->ifc_dces; dce < DCES_END(conn); ++dce) + if (*dce && !((*dce)->de_flags & DE_ASSIGNED)) + return *dce; + + return NULL; +} + + +static struct conn_cid_elem * +find_cce_by_cid (struct ietf_full_conn *conn, const lsquic_cid_t *cid) +{ + struct lsquic_conn *const lconn = &conn->ifc_conn; + struct conn_cid_elem *cce; + + for (cce = lconn->cn_cces; cce < END_OF_CCES(lconn); ++cce) + if ((lconn->cn_cces_mask & (1 << (cce - lconn->cn_cces))) + && LSQUIC_CIDS_EQ(&cce->cce_cid, cid)) + return cce; + + return NULL; +} + + +static int +init_new_path (struct ietf_full_conn *conn, struct conn_path *path, + int dcid_changed) +{ + struct dcid_elem *dce; + + dce = find_unassigned_dcid(conn); + if (dce) + { + LSQ_DEBUGC("assigned new DCID %"CID_FMT" to new path %u", + CID_BITS(&dce->de_cid), (unsigned) (path - conn->ifc_paths)); + path->cop_path.np_dcid = dce->de_cid; + dce->de_flags |= DE_ASSIGNED; + } + else if (!dcid_changed || CUR_DCID(conn)->len == 0) + { + /* It is OK to reuse DCID if it is zero-length or ir the peer did not + * use a new DCID when its address changed. See + * [draft-ietf-quic-transport-24] Section 9.5. + */ + path->cop_path.np_dcid = CUR_NPATH(conn)->np_dcid; + LSQ_DEBUGC("assigned already-used DCID %"CID_FMT" to new path %u, " + "as incoming DCID did not change", + CID_BITS(&path->cop_path.np_dcid), + (unsigned) (path - conn->ifc_paths)); + } + else + { + LSQ_DEBUG("Don't have an unassigned DCID: cannot initialize path"); + return -1; + } + + path->cop_path.np_pack_size + = calc_base_packet_size(conn, NP_IS_IPv6(&path->cop_path)); + + if (conn->ifc_max_udp_payload < path->cop_path.np_pack_size) + path->cop_path.np_pack_size = conn->ifc_max_udp_payload; + + LSQ_DEBUG("initialized path %u", (unsigned) (path - conn->ifc_paths)); + + return 0; +} + + +static int +on_new_or_unconfirmed_path (struct ietf_full_conn *conn, + const struct lsquic_packet_in *packet_in) +{ + struct lsquic_conn *const lconn = &conn->ifc_conn; + struct conn_path *const path = &conn->ifc_paths[packet_in->pi_path_id]; + struct conn_cid_elem *cce; + int dcid_changed; + char cidbuf_[MAX_CID_LEN * 2 + 1]; + + /* An endpoint only changes the address that it sends packets to in + * response to the highest-numbered non-probing packet. This ensures + * that an endpoint does not send packets to an old peer address in the + * case that it receives reordered packets. + * + * [draft-ietf-quic-transport-20], Section 9.3. + */ + if (lsquic_packet_in_non_probing(packet_in) + && packet_in->pi_packno > conn->ifc_max_non_probing) + path->cop_flags |= COP_GOT_NONPROB; + + /* If we cannot find a SCID at this point, something is wrong. */ + cce = find_cce_by_cid(conn, &packet_in->pi_dcid); + if (!cce) + { + ABORT_ERROR("DCID %"CID_FMT" not found on new path", + CID_BITS(&packet_in->pi_dcid)); + return -1; + } + + dcid_changed = !(cce->cce_flags & CCE_USED); + if (!(path->cop_flags & COP_INITIALIZED)) + { + LSQ_DEBUGC("current SCID: %"CID_FMT, CID_BITS(CN_SCID(&conn->ifc_conn))); + LSQ_DEBUGC("packet in DCID: %"CID_FMT"; changed: %d", + CID_BITS(&packet_in->pi_dcid), dcid_changed); + if (0 == init_new_path(conn, path, dcid_changed)) + { + path->cop_flags |= COP_INITIALIZED; + if (packet_in->pi_data_sz >= IQUIC_MIN_INIT_PACKET_SZ / 3) + path->cop_flags |= COP_ALLOW_MTU_PADDING; + } + else + return -1; + + conn->ifc_send_flags |= SF_SEND_PATH_CHAL << packet_in->pi_path_id; + LSQ_DEBUG("scheduled return path challenge on path %hhu", + packet_in->pi_path_id); + } + else if ((path->cop_flags & (COP_VALIDATED|COP_GOT_NONPROB)) + == (COP_VALIDATED|COP_GOT_NONPROB)) + { + assert(path->cop_flags & COP_INITIALIZED); + LSQ_DEBUG("received non-probing frame on validated path %hhu, " + "switch to it", packet_in->pi_path_id); + switch_path_to(conn, packet_in->pi_path_id); + } + + path->cop_cce_idx = cce - lconn->cn_cces; + cce->cce_flags |= CCE_USED; + LOG_SCIDS(conn); + return 0; +} + + +static void +parse_regular_packet (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in) +{ + const unsigned char *p, *pend; + unsigned len; + + p = packet_in->pi_data + packet_in->pi_header_sz; + pend = packet_in->pi_data + packet_in->pi_data_sz; + + if (p < pend) + do + { + len = process_packet_frame(conn, packet_in, p, pend - p); + if (len > 0) + p += len; + else + { + ABORT_ERROR("Error parsing frame"); + break; + } + } + while (p < pend); + else + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "packet %"PRIu64" has no frames", packet_in->pi_packno); +} + + +/* From [draft-ietf-quic-transport-24] Section 13.2.1: + * " An endpoint MUST NOT send a non-ack-eliciting packet in response + * " to a non-ack-eliciting packet, even if there are packet gaps + * " which precede the received packet. + * + * To ensure that we always send an ack-eliciting packet in this case, we + * check that there are frames that are about to be written. + */ +static int +many_in_and_will_write (struct ietf_full_conn *conn) +{ + return conn->ifc_n_slack_all > MAX_ANY_PACKETS_SINCE_LAST_ACK + && (conn->ifc_send_flags + || !TAILQ_EMPTY(&conn->ifc_pub.sending_streams) + || !TAILQ_EMPTY(&conn->ifc_pub.write_streams)) + ; +} + + +static void +force_queueing_ack_app (struct ietf_full_conn *conn) +{ + lsquic_alarmset_unset(&conn->ifc_alset, AL_ACK_APP); + lsquic_send_ctl_sanity_check(&conn->ifc_send_ctl); + conn->ifc_flags |= IFC_ACK_QUED_APP; + LSQ_DEBUG("force-queued ACK"); +} + + +enum was_missing { + /* Note that particular enum values matter for speed */ + WM_NONE = 0, + WM_MAX_GAP = 1, /* Newly arrived ackable packet introduced a gap in incoming + * packet number sequence. + */ + WM_SMALLER = 2, /* Newly arrived ackable packet is smaller than previously + * seen maximum number. + */ + +}; + + +static void +try_queueing_ack_app (struct ietf_full_conn *conn, + enum was_missing was_missing, int ecn, lsquic_time_t now) +{ + lsquic_time_t srtt, ack_timeout; + + if (conn->ifc_n_slack_akbl[PNS_APP] >= conn->ifc_max_retx_since_last_ack +/* From [draft-ietf-quic-transport-29] Section 13.2.1: + " Similarly, packets marked with the ECN Congestion Experienced (CE) + " codepoint in the IP header SHOULD be acknowledged immediately, to + " reduce the peer's response time to congestion events. + */ + || (ecn == ECN_CE + && lsquic_send_ctl_ecn_turned_on(&conn->ifc_send_ctl)) + || (was_missing == WM_MAX_GAP) + || ((conn->ifc_flags & IFC_ACK_HAD_MISS) + && was_missing == WM_SMALLER + && conn->ifc_n_slack_akbl[PNS_APP] > 0) + || many_in_and_will_write(conn)) + { + lsquic_alarmset_unset(&conn->ifc_alset, AL_ACK_APP); + lsquic_send_ctl_sanity_check(&conn->ifc_send_ctl); + conn->ifc_flags |= IFC_ACK_QUED_APP; + LSQ_DEBUG("%s ACK queued: ackable: %u; all: %u; had_miss: %d; " + "was_missing: %d", + lsquic_pns2str[PNS_APP], conn->ifc_n_slack_akbl[PNS_APP], + conn->ifc_n_slack_all, + !!(conn->ifc_flags & IFC_ACK_HAD_MISS), (int) was_missing); + } + else if (conn->ifc_n_slack_akbl[PNS_APP] > 0) + { + if (!lsquic_alarmset_is_set(&conn->ifc_alset, AL_ACK_APP)) + { + /* See https://github.com/quicwg/base-drafts/issues/3304 for more */ + srtt = lsquic_rtt_stats_get_srtt(&conn->ifc_pub.rtt_stats); + if (srtt) + ack_timeout = MAX(1000, MIN(conn->ifc_max_ack_delay, srtt / 4)); + else + ack_timeout = conn->ifc_max_ack_delay; + lsquic_alarmset_set(&conn->ifc_alset, AL_ACK_APP, + now + ack_timeout); + LSQ_DEBUG("%s ACK alarm set to %"PRIu64, lsquic_pns2str[PNS_APP], + now + ack_timeout); + } + else + LSQ_DEBUG("%s ACK alarm already set to %"PRIu64" usec from now", + lsquic_pns2str[PNS_APP], + conn->ifc_alset.as_expiry[AL_ACK_APP] - now); + } +} + + +static void +try_queueing_ack_init_or_hsk (struct ietf_full_conn *conn, + enum packnum_space pns) +{ + if (conn->ifc_n_slack_akbl[pns] > 0) + { + conn->ifc_flags |= IFC_ACK_QUED_INIT << pns; + LSQ_DEBUG("%s ACK queued: ackable: %u", + lsquic_pns2str[pns], conn->ifc_n_slack_akbl[pns]); + } +} + + +static int +maybe_queue_opp_ack (struct ietf_full_conn *conn) +{ + if (/* If there is at least one ackable packet */ + conn->ifc_n_slack_akbl[PNS_APP] > 0 + /* ...and there are things to write */ + && (!TAILQ_EMPTY(&conn->ifc_pub.write_streams) || conn->ifc_send_flags) + /* ...and writing is possible */ + && write_is_possible(conn)) + { + lsquic_alarmset_unset(&conn->ifc_alset, AL_ACK_APP); + lsquic_send_ctl_sanity_check(&conn->ifc_send_ctl); + conn->ifc_flags |= IFC_ACK_QUED_APP; + LSQ_DEBUG("%s ACK queued opportunistically", lsquic_pns2str[PNS_APP]); + return 1; + } + else + return 0; +} + + +static int +verify_retry_packet (struct ietf_full_conn *conn, + const struct lsquic_packet_in *packet_in) +{ + unsigned char *pseudo_packet; + size_t out_len, ad_len; + unsigned ret_ver; + int verified; + + if (1 + CUR_DCID(conn)->len + packet_in->pi_data_sz > 0x1000) + { + /* Cover the theoretical possibility that we cannot fit the pseudo- + * packet and 16-byte decrypted output into 4 KB: + */ + LSQ_INFO("%s: Retry packet is too long: %hu bytes", __func__, + packet_in->pi_data_sz); + return -1; + } + + pseudo_packet = lsquic_mm_get_4k(conn->ifc_pub.mm); + if (!pseudo_packet) + { + LSQ_INFO("%s: cannot allocate memory", __func__); + return -1; + } + + pseudo_packet[0] = CUR_DCID(conn)->len; + memcpy(pseudo_packet + 1, CUR_DCID(conn)->idbuf, CUR_DCID(conn)->len); + memcpy(pseudo_packet + 1 + CUR_DCID(conn)->len, packet_in->pi_data, + packet_in->pi_data_sz); + + ret_ver = lsquic_version_2_retryver(conn->ifc_conn.cn_version); + out_len = 0; + ad_len = 1 + CUR_DCID(conn)->len + packet_in->pi_data_sz - 16; + verified = 1 == EVP_AEAD_CTX_open( + &conn->ifc_enpub->enp_retry_aead_ctx[ret_ver], + pseudo_packet + ad_len, &out_len, out_len, + lsquic_retry_nonce_buf[ret_ver], IETF_RETRY_NONCE_SZ, + pseudo_packet + ad_len, 16, pseudo_packet, ad_len) + && out_len == 0; + + lsquic_mm_put_4k(conn->ifc_pub.mm, pseudo_packet); + return verified ? 0 : -1; +} + + +static int +process_retry_packet (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in) +{ + lsquic_cid_t scid; + + if (conn->ifc_flags & (IFC_SERVER|IFC_RETRIED)) + { + /* [draft-ietf-quic-transport-24] Section 17.2.5: + " After the client has received and processed an Initial or Retry + " packet from the server, it MUST discard any subsequent Retry + " packets that it receives. + */ + LSQ_DEBUG("ignore Retry packet"); + return 0; + } + + if (CUR_DCID(conn)->len == packet_in->pi_scid_len + && 0 == memcmp(CUR_DCID(conn)->idbuf, + packet_in->pi_data + packet_in->pi_scid_off, + packet_in->pi_scid_len)) + { + /* + * [draft-ietf-quic-transport-24] Section 17.2.5: + " A client MUST discard a Retry packet that contains a Source + " Connection ID field that is identical to the Destination + " Connection ID field of its Initial packet. + */ + LSQ_DEBUG("server provided same SCID as ODCID: discard packet"); + return 0; + } + + if (0 != verify_retry_packet(conn, packet_in)) + { + LSQ_DEBUG("cannot verify retry packet: ignore it"); + return 0; + } + LSQ_INFO("Received a retry packet. Will retry."); + + if (0 != lsquic_send_ctl_retry(&conn->ifc_send_ctl, + packet_in->pi_data + packet_in->pi_token, + packet_in->pi_token_size)) + return -1; + + lsquic_scid_from_packet_in(packet_in, &scid); + if (0 != conn->ifc_conn.cn_esf.i->esfi_reset_dcid( + conn->ifc_conn.cn_enc_session, CUR_DCID(conn), &scid)) + return -1; + + *CUR_DCID(conn) = scid; + if (CUR_CPATH(conn)->cop_flags & COP_SPIN_BIT) + CUR_CPATH(conn)->cop_spin_bit = 0; + lsquic_alarmset_unset(&conn->ifc_alset, AL_RETX_INIT); + lsquic_alarmset_unset(&conn->ifc_alset, AL_RETX_HSK); + lsquic_alarmset_unset(&conn->ifc_alset, AL_RETX_APP); + + conn->ifc_flags |= IFC_RETRIED; + return 0; +} + + +static int +is_stateless_reset (struct ietf_full_conn *conn, + const struct lsquic_packet_in *packet_in) +{ + struct lsquic_hash_elem *el; + + if (packet_in->pi_data_sz < IQUIC_MIN_SRST_SIZE) + return 0; + + el = lsquic_hash_find(conn->ifc_enpub->enp_srst_hash, + packet_in->pi_data + packet_in->pi_data_sz - IQUIC_SRESET_TOKEN_SZ, + IQUIC_SRESET_TOKEN_SZ); + if (!el) + return 0; + +#ifndef NDEBUG + const struct lsquic_conn *reset_lconn; + reset_lconn = lsquic_hashelem_getdata(el); + assert(reset_lconn == &conn->ifc_conn); +#endif + return 1; +} + + +/* + * Sets the new current SCID if the DCID in the incoming packet: + * (1) was issued by this endpoint and + * (2) has not been used before. + */ +static int +on_dcid_change (struct ietf_full_conn *conn, const lsquic_cid_t *dcid_in) +{ + struct lsquic_conn *const lconn = &conn->ifc_conn; /* Shorthand */ + struct conn_cid_elem *cce; + + LSQ_DEBUGC("peer switched its DCID to %"CID_FMT + ", attempt to switch own SCID", CID_BITS(dcid_in)); + + for (cce = lconn->cn_cces; cce < END_OF_CCES(lconn); ++cce) + if (cce - lconn->cn_cces != lconn->cn_cur_cce_idx + && (lconn->cn_cces_mask & (1 << (cce - lconn->cn_cces))) + && LSQUIC_CIDS_EQ(&cce->cce_cid, dcid_in)) + break; + + if (cce >= END_OF_CCES(lconn)) + { + ABORT_WARN("DCID not found"); + return -1; + } + + if (cce->cce_flags & CCE_USED) + { + LSQ_DEBUGC("Current CID: %"CID_FMT, CID_BITS(CN_SCID(lconn))); + LSQ_DEBUGC("DCID %"CID_FMT" has been used, not switching", + CID_BITS(dcid_in)); + return 0; + } + + cce->cce_flags |= CCE_USED; + lconn->cn_cur_cce_idx = cce - lconn->cn_cces; + LSQ_DEBUGC("%s: set SCID to %"CID_FMT, __func__, CID_BITS(CN_SCID(lconn))); + LOG_SCIDS(conn); + + return 0; +} + + +static void +ignore_init (struct ietf_full_conn *conn) +{ + LSQ_DEBUG("henceforth, no Initial packets shall be sent or received"); + conn->ifc_flags |= IFC_IGNORE_INIT; + conn->ifc_flags &= ~(IFC_ACK_QUED_INIT << PNS_INIT); + lsquic_send_ctl_empty_pns(&conn->ifc_send_ctl, PNS_INIT); + lsquic_rechist_cleanup(&conn->ifc_rechist[PNS_INIT]); + if (!(conn->ifc_flags & IFC_SERVER)) + { + if (conn->ifc_u.cli.crypto_streams[ENC_LEV_INIT]) + { + lsquic_stream_destroy(conn->ifc_u.cli.crypto_streams[ENC_LEV_INIT]); + conn->ifc_u.cli.crypto_streams[ENC_LEV_INIT] = NULL; + } + conn->ifc_conn.cn_if = ietf_full_conn_iface_ptr; + } +} + + +static void +ignore_hsk (struct ietf_full_conn *conn) +{ + LSQ_DEBUG("henceforth, no Handshake packets shall be sent or received"); + conn->ifc_flags |= IFC_IGNORE_HSK; + conn->ifc_flags &= ~(IFC_ACK_QUED_INIT << PNS_HSK); + lsquic_send_ctl_empty_pns(&conn->ifc_send_ctl, PNS_HSK); + lsquic_rechist_cleanup(&conn->ifc_rechist[PNS_HSK]); + if (!(conn->ifc_flags & IFC_SERVER)) + if (conn->ifc_u.cli.crypto_streams[ENC_LEV_HSK]) + { + lsquic_stream_destroy(conn->ifc_u.cli.crypto_streams[ENC_LEV_HSK]); + conn->ifc_u.cli.crypto_streams[ENC_LEV_HSK] = NULL; + } +} + + +static void +record_dcid (struct ietf_full_conn *conn, + const struct lsquic_packet_in *packet_in) +{ + unsigned orig_cid_len; + + orig_cid_len = CUR_DCID(conn)->len; + conn->ifc_flags |= IFC_DCID_SET; + lsquic_scid_from_packet_in(packet_in, CUR_DCID(conn)); + LSQ_DEBUGC("set DCID to %"CID_FMT, CID_BITS(CUR_DCID(conn))); + lsquic_send_ctl_cidlen_change(&conn->ifc_send_ctl, orig_cid_len, + CUR_DCID(conn)->len); +} + + +static int +holes_after (struct lsquic_rechist *rechist, lsquic_packno_t packno) +{ + const struct lsquic_packno_range *first_range; + + first_range = lsquic_rechist_peek(rechist); + /* If it's not in the very first range, there is obviously a gap + * between it and the maximum packet number. If the packet number + * in question preceeds the cutoff, we assume that there are no + * holes (as we simply have no information). + */ + return first_range + && packno < first_range->low + && packno > lsquic_rechist_cutoff(rechist); +} + + +static int +process_regular_packet (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in) +{ + struct conn_path *cpath; + enum packnum_space pns; + enum received_st st; + enum dec_packin dec_packin; + enum was_missing was_missing; + int is_rechist_empty; + unsigned char saved_path_id; + int is_dcid_changed; + + if (HETY_RETRY == packet_in->pi_header_type) + return process_retry_packet(conn, packet_in); + + CONN_STATS(in.packets, 1); + + pns = lsquic_hety2pns[ packet_in->pi_header_type ]; + if ((pns == PNS_INIT && (conn->ifc_flags & IFC_IGNORE_INIT)) + || (pns == PNS_HSK && (conn->ifc_flags & IFC_IGNORE_HSK))) + { + /* Don't bother decrypting */ + LSQ_DEBUG("ignore %s packet", + pns == PNS_INIT ? "Initial" : "Handshake"); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "ignore %s packet", + lsquic_pns2str[pns]); + return 0; + } + + /* If a client receives packets from an unknown server address, the client + * MUST discard these packets. + * [draft-ietf-quic-transport-20], Section 9 + */ + if (0 == (conn->ifc_flags & IFC_SERVER) + && packet_in->pi_path_id != conn->ifc_cur_path_id + && !(packet_in->pi_path_id == conn->ifc_mig_path_id + //&& migra_is_on(conn, conn->ifc_mig_path_id) + )) + { + if ((conn->ifc_paths[packet_in->pi_path_id].cop_flags & COP_RETIRED)) + { + packet_in->pi_flags |= PI_RETIRED_PATH; + } + else + { + /* The "known server address" is recorded in the current path. */ + switch ((NP_IS_IPv6(CUR_NPATH(conn)) << 1) | + NP_IS_IPv6(&conn->ifc_paths[packet_in->pi_path_id].cop_path)) + { + case (1 << 1) | 1: /* IPv6 */ + if (lsquic_sockaddr_eq(NP_PEER_SA(CUR_NPATH(conn)), NP_PEER_SA( + &conn->ifc_paths[packet_in->pi_path_id].cop_path))) + goto known_peer_addr; + break; + case (0 << 1) | 0: /* IPv4 */ + if (lsquic_sockaddr_eq(NP_PEER_SA(CUR_NPATH(conn)), NP_PEER_SA( + &conn->ifc_paths[packet_in->pi_path_id].cop_path))) + goto known_peer_addr; + break; + } + LSQ_DEBUG("ignore packet from unknown server address"); + return 0; + } + } + known_peer_addr: + + /* The packet is decrypted before receive history is updated. This is + * done to make sure that a bad packet won't occupy a slot in receive + * history and subsequent good packet won't be marked as a duplicate. + */ + if (0 == (packet_in->pi_flags & PI_DECRYPTED)) + { + dec_packin = conn->ifc_conn.cn_esf_c->esf_decrypt_packet( + conn->ifc_conn.cn_enc_session, conn->ifc_enpub, + &conn->ifc_conn, packet_in); + switch (dec_packin) + { + case DECPI_BADCRYPT: + case DECPI_TOO_SHORT: + if (conn->ifc_enpub->enp_settings.es_honor_prst + /* In server mode, even if we do support stateless reset packets, + * they are handled in lsquic_engine.c. No need to have this + * logic here. + */ + && !(conn->ifc_flags & IFC_SERVER) + && is_stateless_reset(conn, packet_in)) + { + LSQ_INFO("received stateless reset packet: aborting connection"); + conn->ifc_flags |= IFC_GOT_PRST; + return -1; + } + else if (dec_packin == DECPI_BADCRYPT) + { + CONN_STATS(in.undec_packets, 1); + LSQ_INFO("could not decrypt packet (type %s)", + lsquic_hety2str[packet_in->pi_header_type]); + return 0; + } + else + { + CONN_STATS(in.undec_packets, 1); + LSQ_INFO("packet is too short to be decrypted"); + return 0; + } + case DECPI_NOT_YET: + return 0; + case DECPI_NOMEM: + return 0; + case DECPI_VIOLATION: + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "decrypter reports protocol violation"); + return -1; + case DECPI_OK: + /* Receiving any other type of packet precludes subsequent retries. + * We only set it if decryption is successful. + */ + conn->ifc_flags |= IFC_RETRIED; + break; + } + } + + is_dcid_changed = !LSQUIC_CIDS_EQ(CN_SCID(&conn->ifc_conn), + &packet_in->pi_dcid); + if (pns == PNS_INIT) + conn->ifc_conn.cn_esf.i->esfi_set_iscid(conn->ifc_conn.cn_enc_session, + packet_in); + else + { + if (is_dcid_changed && HETY_0RTT != packet_in->pi_header_type) + { + if (LSQUIC_CIDS_EQ(&conn->ifc_conn.cn_cces[0].cce_cid, + &packet_in->pi_dcid) + && !(conn->ifc_conn.cn_cces[0].cce_flags & CCE_SEQNO)) + { + ABORT_QUIETLY(0, TEC_PROTOCOL_VIOLATION, + "protocol violation detected bad dcid"); + return -1; + } + } + if (pns == PNS_HSK) + { + if ((conn->ifc_flags & (IFC_SERVER | IFC_IGNORE_INIT)) == IFC_SERVER) + ignore_init(conn); + lsquic_send_ctl_maybe_calc_rough_rtt(&conn->ifc_send_ctl, pns - 1); + } + } + EV_LOG_PACKET_IN(LSQUIC_LOG_CONN_ID, packet_in); + + is_rechist_empty = lsquic_rechist_is_empty(&conn->ifc_rechist[pns]); + st = lsquic_rechist_received(&conn->ifc_rechist[pns], packet_in->pi_packno, + packet_in->pi_received); + switch (st) { + case REC_ST_OK: + if (!(conn->ifc_flags & (IFC_SERVER|IFC_DCID_SET))) + record_dcid(conn, packet_in); + saved_path_id = conn->ifc_cur_path_id; + parse_regular_packet(conn, packet_in); + if (saved_path_id == conn->ifc_cur_path_id + && !(packet_in->pi_flags & PI_RETIRED_PATH)) + { + if (conn->ifc_cur_path_id != packet_in->pi_path_id) + { + if (0 != on_new_or_unconfirmed_path(conn, packet_in)) + { + LSQ_DEBUG("path %hhu invalid, cancel any path response " + "on it", packet_in->pi_path_id); + conn->ifc_send_flags &= ~(SF_SEND_PATH_RESP + << packet_in->pi_path_id); + } + } + else if (is_dcid_changed + && !LSQUIC_CIDS_EQ(CN_SCID(&conn->ifc_conn), + &packet_in->pi_dcid)) + { + if (0 != on_dcid_change(conn, &packet_in->pi_dcid)) + return -1; + } + } + if (lsquic_packet_in_non_probing(packet_in) + && packet_in->pi_packno > conn->ifc_max_non_probing) + conn->ifc_max_non_probing = packet_in->pi_packno; + /* From [draft-ietf-quic-transport-30] Section 13.2.1: + * + " In order to assist loss detection at the sender, an endpoint SHOULD + " generate and send an ACK frame without delay when it receives an ack- + " eliciting packet either: + " + " * when the received packet has a packet number less than another + " ack-eliciting packet that has been received, or + " + " * when the packet has a packet number larger than the highest- + " numbered ack-eliciting packet that has been received and there are + " missing packets between that packet and this packet. + * + */ + if (packet_in->pi_frame_types & IQUIC_FRAME_ACKABLE_MASK) + { + if (PNS_APP == pns /* was_missing is only used in PNS_APP */) + { + if (packet_in->pi_packno > conn->ifc_max_ackable_packno_in) + { + was_missing = (enum was_missing) /* WM_MAX_GAP is 1 */ + !is_rechist_empty /* Don't count very first packno */ + && conn->ifc_max_ackable_packno_in + 1 + < packet_in->pi_packno + && holes_after(&conn->ifc_rechist[PNS_APP], + conn->ifc_max_ackable_packno_in); + conn->ifc_max_ackable_packno_in = packet_in->pi_packno; + } + else + was_missing = (enum was_missing) /* WM_SMALLER is 2 */ + /* The check is necessary (rather setting was_missing to + * WM_SMALLER) because we cannot guarantee that peer does + * not have bugs. + */ + ((packet_in->pi_packno + < conn->ifc_max_ackable_packno_in) << 1); + } + else + was_missing = WM_NONE; + ++conn->ifc_n_slack_akbl[pns]; + } + else + was_missing = WM_NONE; + conn->ifc_n_slack_all += PNS_APP == pns; + if (0 == (conn->ifc_flags & (IFC_ACK_QUED_INIT << pns))) + { + if (PNS_APP == pns) + try_queueing_ack_app(conn, was_missing, + lsquic_packet_in_ecn(packet_in), packet_in->pi_received); + else + try_queueing_ack_init_or_hsk(conn, pns); + } + conn->ifc_incoming_ecn <<= 1; + conn->ifc_incoming_ecn |= + lsquic_packet_in_ecn(packet_in) != ECN_NOT_ECT; + ++conn->ifc_ecn_counts_in[pns][ lsquic_packet_in_ecn(packet_in) ]; + if (PNS_APP == pns + && (cpath = &conn->ifc_paths[packet_in->pi_path_id], + cpath->cop_flags & COP_SPIN_BIT) + /* [draft-ietf-quic-transport-30] Section 17.3.1 talks about + * how spin bit value is set. + */ + && (packet_in->pi_packno > cpath->cop_max_packno + /* Zero means "unset", in which case any incoming packet + * number will do. On receipt of second packet numbered + * zero, the rechist module will dup it and this code path + * won't hit. + */ + || cpath->cop_max_packno == 0)) + { + cpath->cop_max_packno = packet_in->pi_packno; + if (conn->ifc_flags & IFC_SERVER) + cpath->cop_spin_bit = lsquic_packet_in_spin_bit(packet_in); + else + cpath->cop_spin_bit = !lsquic_packet_in_spin_bit(packet_in); + } + conn->ifc_pub.bytes_in += packet_in->pi_data_sz; + if ((conn->ifc_mflags & MF_VALIDATE_PATH) && + (packet_in->pi_header_type == HETY_SHORT + || packet_in->pi_header_type == HETY_HANDSHAKE)) + { + conn->ifc_mflags &= ~MF_VALIDATE_PATH; + lsquic_send_ctl_path_validated(&conn->ifc_send_ctl); + } + return 0; + case REC_ST_DUP: + CONN_STATS(in.dup_packets, 1); + LSQ_INFO("packet %"PRIu64" is a duplicate", packet_in->pi_packno); + return 0; + default: + assert(0); + /* Fall through */ + case REC_ST_ERR: + CONN_STATS(in.err_packets, 1); + LSQ_INFO("error processing packet %"PRIu64, packet_in->pi_packno); + return -1; + } +} + + +static int +verneg_ok (const struct ietf_full_conn *conn) +{ + enum lsquic_version ver; + + ver = highest_bit_set(conn->ifc_u.cli.ifcli_ver_neg.vn_supp); + return (1 << ver) & LSQUIC_IETF_VERSIONS; +} + + +static void +enable_ping_alarm_for_handshake (struct ietf_full_conn *conn) +{ + conn->ifc_ping_period = HSK_PING_TIMEOUT; + lsquic_alarmset_set(&conn->ifc_alset, AL_PING, + lsquic_time_now() + conn->ifc_ping_period); +} + + +static int +switch_version (struct ietf_full_conn *conn, enum lsquic_version version) +{ + conn->ifc_conn.cn_version = version; + return iquic_esfi_switch_version(conn->ifc_conn.cn_enc_session, NULL, 0); +} + + +/* This function is used by the client when version negotiation is not yet + * complete. + */ +static int +process_incoming_packet_verneg (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in) +{ + int s; + struct ver_iter vi; + lsquic_ver_tag_t ver_tag; + enum lsquic_version version; + unsigned versions; + + if (lsquic_packet_in_is_verneg(packet_in)) + { + LSQ_DEBUG("Processing version-negotiation packet"); + + if (conn->ifc_u.cli.ifcli_ver_neg.vn_state != VN_START) + { + LSQ_DEBUG("ignore a likely duplicate version negotiation packet"); + return 0; + } + + if (!(LSQUIC_CIDS_EQ(&conn->ifc_conn.cn_cid, &packet_in->pi_dcid) + && CUR_DCID(conn)->len == packet_in->pi_scid_len + && 0 == memcmp(CUR_DCID(conn)->idbuf, packet_in->pi_data + + packet_in->pi_scid_off, packet_in->pi_scid_len))) + { + LSQ_DEBUG("SCID and DCID in verneg packet don't match what we " + "sent: ignore"); + return 0; + } + + versions = 0; + for (s = lsquic_packet_in_ver_first(packet_in, &vi, &ver_tag); s; + s = lsquic_packet_in_ver_next(&vi, &ver_tag)) + { + version = lsquic_tag2ver(ver_tag); + if (version < N_LSQVER) + { + versions |= 1 << version; + LSQ_DEBUG("server supports version %s", lsquic_ver2str[version]); + EV_LOG_VER_NEG(LSQUIC_LOG_CONN_ID, + "supports", lsquic_ver2str[version]); + } + } + + /* [draft-ietf-quic-transport-28] Section 6.2: + " A client MUST discard a Version Negotiation packet that lists the + " QUIC version selected by the client. + */ + if (versions & (1 << conn->ifc_u.cli.ifcli_ver_neg.vn_ver)) + { + LSQ_DEBUG("server replied with version we sent, %s, ignore", + lsquic_ver2str[conn->ifc_u.cli.ifcli_ver_neg.vn_ver]); + return 0; + } + + /* [draft-ietf-quic-transport-28] Section 6.2: + " A client that supports only this version of QUIC MUST abandon the + " current connection attempt if it receives a Version Negotiation + " packet [...] + */ + if (!verneg_ok(conn)) + { + ABORT_WITH_FLAG(conn, LSQ_LOG_NOTICE, IFC_ERROR|IFC_HSK_FAILED, + "version negotiation not permitted in this version of QUIC"); + return -1; + } + + versions &= conn->ifc_u.cli.ifcli_ver_neg.vn_supp; + if (0 == versions) + { + ABORT_WITH_FLAG(conn, LSQ_LOG_NOTICE, IFC_ERROR|IFC_HSK_FAILED, + "client does not support any of the server-specified versions"); + return -1; + } + + set_versions(conn, versions, NULL); + conn->ifc_u.cli.ifcli_ver_neg.vn_state = VN_IN_PROGRESS; + lsquic_send_ctl_expire_all(&conn->ifc_send_ctl); + return 0; + } + else if (HETY_RETRY == packet_in->pi_header_type) + return process_retry_packet(conn, packet_in); + + if (packet_in->pi_version != conn->ifc_u.cli.ifcli_ver_neg.vn_ver) + { + if (!((1 << packet_in->pi_version) + & conn->ifc_u.cli.ifcli_ver_neg.vn_supp)) + { + LSQ_DEBUG("server version doesn't match versions " + "supported: ignore"); + return 0; + } + LSQ_DEBUG("version negociation: server switched version from %s to %s", + lsquic_ver2str[conn->ifc_u.cli.ifcli_ver_neg.vn_ver], + lsquic_ver2str[packet_in->pi_version]); + switch_version(conn, packet_in->pi_version); + } + else + conn->ifc_conn.cn_version = conn->ifc_u.cli.ifcli_ver_neg.vn_ver; + assert(conn->ifc_u.cli.ifcli_ver_neg.vn_tag); + assert(conn->ifc_u.cli.ifcli_ver_neg.vn_state != VN_END); + conn->ifc_u.cli.ifcli_ver_neg.vn_state = VN_END; + conn->ifc_u.cli.ifcli_ver_neg.vn_tag = NULL; + conn->ifc_conn.cn_flags |= LSCONN_VER_SET; + LSQ_DEBUG("end of version negotiation: agreed upon %s", + lsquic_ver2str[conn->ifc_conn.cn_version]); + EV_LOG_VER_NEG(LSQUIC_LOG_CONN_ID, + "agreed", lsquic_ver2str[conn->ifc_conn.cn_version]); + conn->ifc_process_incoming_packet = process_regular_packet; + + if (process_regular_packet(conn, packet_in) == 0) + { + enable_ping_alarm_for_handshake(conn); + return 0; + } + return -1; +} + + +/* This function is used after version negotiation is completed */ +static int +process_incoming_packet_fast (struct ietf_full_conn *conn, + struct lsquic_packet_in *packet_in) +{ + return process_regular_packet(conn, packet_in); +} + + +static void +set_earliest_idle_alarm (struct ietf_full_conn *conn, lsquic_time_t idle_conn_to) +{ + lsquic_time_t exp; + + if (conn->ifc_pub.last_prog + && (assert(conn->ifc_mflags & MF_NOPROG_TIMEOUT), + exp = conn->ifc_pub.last_prog + conn->ifc_enpub->enp_noprog_timeout, + exp < idle_conn_to)) + idle_conn_to = exp; + if (idle_conn_to) + lsquic_alarmset_set(&conn->ifc_alset, AL_IDLE, idle_conn_to); +} + + +static void +ietf_full_conn_ci_packet_in (struct lsquic_conn *lconn, + struct lsquic_packet_in *packet_in) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + + CONN_STATS(in.bytes, packet_in->pi_data_sz); + set_earliest_idle_alarm(conn, conn->ifc_idle_to + ? packet_in->pi_received + conn->ifc_idle_to : 0); + if (0 == (conn->ifc_flags & IFC_IMMEDIATE_CLOSE_FLAGS)) + if (0 != conn->ifc_process_incoming_packet(conn, packet_in)) + conn->ifc_flags |= IFC_ERROR; +} + + +static void +ietf_full_conn_ci_packet_not_sent (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ +#ifndef NDEBUG + if (packet_out->po_flags & PO_ENCRYPTED) + assert(packet_out->po_lflags & POL_HEADER_PROT); +#endif + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + lsquic_send_ctl_delayed_one(&conn->ifc_send_ctl, packet_out); +} + + +static void +ietf_full_conn_ci_packet_too_large (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + +#ifndef NDEBUG + assert(packet_out->po_lflags & POL_HEADER_PROT); +#endif + + if (packet_out->po_flags & PO_MTU_PROBE) + { + LSQ_DEBUG("%zu-byte MTU probe in packet %"PRIu64" is too large", + lsquic_packet_out_sent_sz(&conn->ifc_conn, packet_out), + packet_out->po_packno); + lsquic_send_ctl_mtu_not_sent(&conn->ifc_send_ctl, packet_out); + mtu_probe_too_large(conn, packet_out); + } + else + ABORT_WARN("non-MTU probe %zu-byte packet %"PRIu64" is too large", + lsquic_packet_out_sent_sz(&conn->ifc_conn, packet_out), + packet_out->po_packno); + + lsquic_packet_out_destroy(packet_out, conn->ifc_enpub, + packet_out->po_path->np_peer_ctx); +} + + +/* Calling of ignore_init() must be delayed until all batched packets have + * been returned by the engine. + */ +static void +pre_hsk_packet_sent_or_delayed (struct ietf_full_conn *conn, + const struct lsquic_packet_out *packet_out) +{ +#ifndef NDEBUG + if (packet_out->po_flags & PO_ENCRYPTED) + assert(packet_out->po_lflags & POL_HEADER_PROT); +#endif + /* Once IFC_IGNORE_INIT is set, the pre-hsk wrapper is removed: */ + assert(!(conn->ifc_flags & IFC_IGNORE_INIT)); + --conn->ifc_u.cli.ifcli_packets_out; + if (PNS_HSK == lsquic_packet_out_pns(packet_out)) + conn->ifc_u.cli.ifcli_flags |= IFCLI_HSK_SENT_OR_DEL; + if (0 == conn->ifc_u.cli.ifcli_packets_out + && (conn->ifc_u.cli.ifcli_flags & IFCLI_HSK_SENT_OR_DEL)) + ignore_init(conn); +} + + +static void +ietf_full_conn_ci_packet_not_sent_pre_hsk (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + ietf_full_conn_ci_packet_not_sent(lconn, packet_out); + pre_hsk_packet_sent_or_delayed(conn, packet_out); +} + + +static void +ietf_full_conn_ci_packet_sent (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + int s; + + if (packet_out->po_frame_types & (IQUIC_FRAME_RETX_MASK)) + conn->ifc_n_cons_unretx = 0; + else + ++conn->ifc_n_cons_unretx; + s = lsquic_send_ctl_sent_packet(&conn->ifc_send_ctl, packet_out); + if (s != 0) + ABORT_ERROR("sent packet failed: %s", strerror(errno)); + /* Set blocked keep-alive for a [1,8] seconds */ + if (packet_out->po_frame_types + & (QUIC_FTBIT_BLOCKED|QUIC_FTBIT_STREAM_BLOCKED)) + lsquic_alarmset_set(&conn->ifc_alset, AL_BLOCKED_KA, + packet_out->po_sent + (1 + (7 & lsquic_crand_get_nybble( + conn->ifc_enpub->enp_crand))) * 1000000); + conn->ifc_pub.bytes_out += lsquic_packet_out_sent_sz(&conn->ifc_conn, + packet_out); + CONN_STATS(out.packets, 1); + CONN_STATS(out.bytes, lsquic_packet_out_sent_sz(lconn, packet_out)); +} + + +static void +ietf_full_conn_ci_packet_sent_pre_hsk (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + ietf_full_conn_ci_packet_sent(lconn, packet_out); + pre_hsk_packet_sent_or_delayed(conn, packet_out); +} + + +static void (*const send_funcs[N_SEND])( + struct ietf_full_conn *, lsquic_time_t) = +{ + [SEND_NEW_CID] = generate_new_cid_frames, + [SEND_RETIRE_CID] = generate_retire_cid_frames, + [SEND_STREAMS_BLOCKED_UNI] = generate_streams_blocked_uni_frame, + [SEND_STREAMS_BLOCKED_BIDI] = generate_streams_blocked_bidi_frame, + [SEND_MAX_STREAMS_UNI] = generate_max_streams_uni_frame, + [SEND_MAX_STREAMS_BIDI] = generate_max_streams_bidi_frame, + [SEND_STOP_SENDING] = generate_stop_sending_frames, + [SEND_NEW_TOKEN] = generate_new_token_frame, + [SEND_PATH_CHAL_PATH_0] = generate_path_chal_0, + [SEND_PATH_CHAL_PATH_1] = generate_path_chal_1, + [SEND_PATH_CHAL_PATH_2] = generate_path_chal_2, + [SEND_PATH_CHAL_PATH_3] = generate_path_chal_3, + [SEND_PATH_RESP_PATH_0] = generate_path_resp_0, + [SEND_PATH_RESP_PATH_1] = generate_path_resp_1, + [SEND_PATH_RESP_PATH_2] = generate_path_resp_2, + [SEND_PATH_RESP_PATH_3] = generate_path_resp_3, + [SEND_PING] = generate_ping_frame, + [SEND_HANDSHAKE_DONE] = generate_handshake_done_frame, + [SEND_ACK_FREQUENCY] = generate_ack_frequency_frame, +}; + + +/* List bits that have corresponding entries in send_funcs */ +#define SEND_WITH_FUNCS (SF_SEND_NEW_CID|SF_SEND_RETIRE_CID\ + |SF_SEND_STREAMS_BLOCKED_UNI|SF_SEND_STREAMS_BLOCKED_BIDI\ + |SF_SEND_MAX_STREAMS_UNI|SF_SEND_MAX_STREAMS_BIDI\ + |SF_SEND_PATH_CHAL_PATH_0|SF_SEND_PATH_CHAL_PATH_1\ + |SF_SEND_PATH_CHAL_PATH_2|SF_SEND_PATH_CHAL_PATH_3\ + |SF_SEND_PATH_RESP_PATH_0|SF_SEND_PATH_RESP_PATH_1\ + |SF_SEND_PATH_RESP_PATH_2|SF_SEND_PATH_RESP_PATH_3\ + |SF_SEND_PING|SF_SEND_HANDSHAKE_DONE\ + |SF_SEND_ACK_FREQUENCY\ + |SF_SEND_STOP_SENDING|SF_SEND_NEW_TOKEN) + + +/* This should be called before lsquic_alarmset_ring_expired() */ +static void +maybe_set_noprogress_alarm (struct ietf_full_conn *conn, lsquic_time_t now) +{ + lsquic_time_t exp; + + if (conn->ifc_mflags & MF_NOPROG_TIMEOUT) + { + if (conn->ifc_pub.last_tick) + { + exp = conn->ifc_pub.last_prog + conn->ifc_enpub->enp_noprog_timeout; + if (!lsquic_alarmset_is_set(&conn->ifc_alset, AL_IDLE) + || exp < conn->ifc_alset.as_expiry[AL_IDLE]) + lsquic_alarmset_set(&conn->ifc_alset, AL_IDLE, exp); + conn->ifc_pub.last_tick = now; + } + else + { + conn->ifc_pub.last_tick = now; + conn->ifc_pub.last_prog = now; + } + } +} + + +static void +check_or_schedule_mtu_probe (struct ietf_full_conn *conn, lsquic_time_t now) +{ + struct conn_path *const cpath = CUR_CPATH(conn); + struct dplpmtud_state *const ds = &cpath->cop_dplpmtud; + struct lsquic_packet_out *packet_out; + unsigned short saved_packet_sz, avail, mtu_ceiling, net_header_sz, probe_sz; + int sz; + + if (ds->ds_flags & DS_PROBE_SENT) + { + assert(ds->ds_probe_sent + conn->ifc_enpub->enp_mtu_probe_timer < now); + LSQ_DEBUG("MTU probe of %hu bytes lost", ds->ds_probed_size); + ds->ds_flags &= ~DS_PROBE_SENT; + conn->ifc_mflags |= MF_CHECK_MTU_PROBE; + if (ds->ds_probe_count >= 3) + { + LSQ_DEBUG("MTU probe of %hu bytes lost after %hhu tries", + ds->ds_probed_size, ds->ds_probe_count); + ds->ds_failed_size = ds->ds_probed_size; + ds->ds_probe_count = 0; + } + } + + assert(0 == ds->ds_probe_sent + || ds->ds_probe_sent + conn->ifc_enpub->enp_mtu_probe_timer < now); + + if (!(conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + || (conn->ifc_flags & IFC_CLOSING) + || ~0ull == lsquic_senhist_largest(&conn->ifc_send_ctl.sc_senhist) + || lsquic_senhist_largest(&conn->ifc_send_ctl.sc_senhist) < 30 + || lsquic_send_ctl_in_recovery(&conn->ifc_send_ctl) + || !lsquic_send_ctl_can_send_probe(&conn->ifc_send_ctl, + &cpath->cop_path)) + { + return; + } + + if (ds->ds_failed_size) + mtu_ceiling = ds->ds_failed_size; + else if (conn->ifc_settings->es_max_plpmtu) + mtu_ceiling = conn->ifc_settings->es_max_plpmtu; + else + { + net_header_sz = TRANSPORT_OVERHEAD(NP_IS_IPv6(&cpath->cop_path)); + mtu_ceiling = 1500 - net_header_sz; + } + + if (conn->ifc_max_udp_payload < mtu_ceiling) + { + LSQ_DEBUG("cap MTU ceiling to peer's max_udp_payload_size TP of %hu " + "bytes", conn->ifc_max_udp_payload); + mtu_ceiling = conn->ifc_max_udp_payload; + } + + if (cpath->cop_path.np_pack_size >= mtu_ceiling + || (float) cpath->cop_path.np_pack_size / (float) mtu_ceiling >= 0.99) + { + LSQ_DEBUG("stop MTU probing on path %hhu having achieved about " + "%.1f%% efficiency (detected MTU: %hu; failed MTU: %hu)", + cpath->cop_path.np_path_id, + 100. * (float) cpath->cop_path.np_pack_size / (float) mtu_ceiling, + cpath->cop_path.np_pack_size, ds->ds_failed_size); + conn->ifc_mflags &= ~MF_CHECK_MTU_PROBE; + return; + } + + LSQ_DEBUG("MTU ratio: %hu / %hu = %.4f", + cpath->cop_path.np_pack_size, mtu_ceiling, + (float) cpath->cop_path.np_pack_size / (float) mtu_ceiling); + + if (!ds->ds_failed_size && mtu_ceiling < 1500) + /* Try the largest ethernet MTU immediately */ + probe_sz = mtu_ceiling; + else if (cpath->cop_path.np_pack_size * 2 >= mtu_ceiling) + /* Pick half-way point */ + probe_sz = (mtu_ceiling + cpath->cop_path.np_pack_size) / 2; + else + probe_sz = cpath->cop_path.np_pack_size * 2; + + /* XXX Changing np_pack_size is action at a distance */ + saved_packet_sz = cpath->cop_path.np_pack_size; + cpath->cop_path.np_pack_size = probe_sz; + packet_out = lsquic_send_ctl_new_packet_out(&conn->ifc_send_ctl, + 0, PNS_APP, CUR_NPATH(conn)); + if (!packet_out) + goto restore_packet_size; + sz = conn->ifc_conn.cn_pf->pf_gen_ping_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out)); + if (sz < 0) { + ABORT_ERROR("gen_ping_frame failed"); + goto restore_packet_size; + } + /* We don't record frame records for MTU probes as they are never + * resized, only discarded. + */ + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, sz); + packet_out->po_regen_sz += sz; + packet_out->po_frame_types |= 1 << QUIC_FRAME_PING; + avail = lsquic_packet_out_avail(packet_out); + if (avail) + { + memset(packet_out->po_data + packet_out->po_data_sz, 0, avail); + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, avail); + packet_out->po_frame_types |= 1 << QUIC_FRAME_PADDING; + } + packet_out->po_flags |= PO_MTU_PROBE; + lsquic_send_ctl_scheduled_one(&conn->ifc_send_ctl, packet_out); + LSQ_DEBUG("generated MTU probe of %hu bytes in packet %"PRIu64, + cpath->cop_path.np_pack_size, packet_out->po_packno); +#ifndef NDEBUG + ds->ds_probe_sent = now; +#endif + ds->ds_probe_packno = packet_out->po_packno; + ds->ds_probed_size = probe_sz; + ds->ds_flags |= DS_PROBE_SENT; + ++ds->ds_probe_count; + conn->ifc_mflags &= ~MF_CHECK_MTU_PROBE; + assert(!lsquic_alarmset_is_set(&conn->ifc_alset, AL_MTU_PROBE)); + lsquic_alarmset_set(&conn->ifc_alset, AL_MTU_PROBE, + now + conn->ifc_enpub->enp_mtu_probe_timer); + restore_packet_size: + cpath->cop_path.np_pack_size = saved_packet_sz; +} + + +static void +ietf_full_conn_ci_mtu_probe_acked (struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + struct conn_path *cpath; + struct dplpmtud_state *ds; + unsigned char path_id; + + path_id = packet_out->po_path->np_path_id; + cpath = &conn->ifc_paths[path_id]; + ds = &cpath->cop_dplpmtud; + if (ds->ds_probe_packno != packet_out->po_packno) + { + LSQ_DEBUG("Acked MTU probe packet %"PRIu64" on path %hhu, but it is " + "old: discard", packet_out->po_packno, path_id); + return; + } + ds->ds_flags &= ~DS_PROBE_SENT; + ds->ds_probe_count = 0; + + cpath->cop_path.np_pack_size = lsquic_packet_out_sent_sz(&conn->ifc_conn, + packet_out); + LSQ_INFO("update path %hhu MTU to %hu bytes", path_id, + cpath->cop_path.np_pack_size); + conn->ifc_mflags &= ~MF_CHECK_MTU_PROBE; + lsquic_alarmset_set(&conn->ifc_alset, AL_MTU_PROBE, + packet_out->po_sent + conn->ifc_enpub->enp_mtu_probe_timer); + LSQ_DEBUG("set alarm to %"PRIu64" usec ", packet_out->po_sent + conn->ifc_enpub->enp_mtu_probe_timer); +} + + +static void +mtu_probe_too_large (struct ietf_full_conn *conn, + const struct lsquic_packet_out *packet_out) +{ + struct conn_path *cpath; + unsigned char path_id; + + path_id = packet_out->po_path->np_path_id; + cpath = &conn->ifc_paths[path_id]; + cpath->cop_dplpmtud.ds_failed_size + = lsquic_packet_out_sent_sz(&conn->ifc_conn, packet_out); +} + + +static void +ietf_full_conn_ci_retx_timeout (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + unsigned short pack_size; + struct conn_path *cpath; + int resize; + + resize = 0; + for (cpath = conn->ifc_paths; cpath < conn->ifc_paths + N_PATHS; ++cpath) + if (cpath->cop_flags & COP_INITIALIZED) + { + pack_size = calc_base_packet_size(conn, + NP_IS_IPv6(&cpath->cop_path)); + if (cpath->cop_path.np_pack_size > pack_size) + { + LSQ_DEBUG("RTO occurred: change packet size of path %hhu " + "to %hu bytes", cpath->cop_path.np_path_id, pack_size); + cpath->cop_path.np_pack_size = pack_size; + resize |= 1; + } + } + + if (resize) + lsquic_send_ctl_resize(&conn->ifc_send_ctl); + else + LSQ_DEBUG("RTO occurred, but no MTUs to reset"); + + if (lsquic_send_ctl_ecn_turned_on(&conn->ifc_send_ctl)) + { + LSQ_INFO("RTO occurred, disable ECN"); + lsquic_send_ctl_disable_ecn(&conn->ifc_send_ctl); + if (lsquic_rechist_first(&conn->ifc_rechist[PNS_APP])) + { + LSQ_DEBUG("Send wrong ECN counts to peer so that it turns off " + "ECN as well"); + memset(conn->ifc_ecn_counts_in[PNS_APP], 0, + sizeof(conn->ifc_ecn_counts_in[PNS_APP])); + conn->ifc_mflags |= MF_SEND_WRONG_COUNTS; + force_queueing_ack_app(conn); + conn->ifc_send_flags |= SF_SEND_PING; + } + } +} + + +static void +ietf_full_conn_ci_early_data_failed (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + + LSQ_DEBUG("early data failed"); + lsquic_send_ctl_stash_0rtt_packets(&conn->ifc_send_ctl); +} + + +static size_t +ietf_full_conn_ci_get_min_datagram_size (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + return (size_t) conn->ifc_min_dg_sz; +} + + +static int +ietf_full_conn_ci_set_min_datagram_size (struct lsquic_conn *lconn, + size_t new_size) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + const struct transport_params *const params = + lconn->cn_esf.i->esfi_get_peer_transport_params(lconn->cn_enc_session); + + if (!(conn->ifc_flags & IFC_DATAGRAMS)) + { + LSQ_WARN("datagrams are not enabled: cannot set minimum size"); + return -1; + } + + if (new_size > USHRT_MAX) + { + LSQ_DEBUG("min datagram size cannot be larger than %hu", + (unsigned short) USHRT_MAX); + return -1; + } + + if (new_size > params->tp_numerics[TPI_MAX_DATAGRAM_FRAME_SIZE]) + { + LSQ_DEBUG("maximum datagram frame size is %"PRIu64", cannot change it " + "to %zd", params->tp_numerics[TPI_MAX_DATAGRAM_FRAME_SIZE], + new_size); + return -1; + } + + conn->ifc_min_dg_sz = new_size; + LSQ_DEBUG("set minimum datagram size to %zd bytes", new_size); + return 0; +} + + +/* Return true if datagram was written, false otherwise */ +static int +write_datagram (struct ietf_full_conn *conn) +{ + struct lsquic_packet_out *packet_out; + size_t need; + int w; + + need = conn->ifc_conn.cn_pf->pf_datagram_frame_size(conn->ifc_min_dg_sz); + packet_out = get_writeable_packet(conn, need); + if (!packet_out) + return 0; + + w = conn->ifc_conn.cn_pf->pf_gen_datagram_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), conn->ifc_min_dg_sz, + conn->ifc_max_dg_sz, + conn->ifc_enpub->enp_stream_if->on_dg_write, &conn->ifc_conn); + if (w < 0) + { + LSQ_DEBUG("could not generate DATAGRAM frame"); + return 0; + } + if (0 != lsquic_packet_out_add_frame(packet_out, conn->ifc_pub.mm, 0, + QUIC_FRAME_DATAGRAM, packet_out->po_data_sz, w)) + { + ABORT_ERROR("adding DATAGRAME frame to packet failed: %d", errno); + return 0; + } + packet_out->po_regen_sz += w; + packet_out->po_frame_types |= QUIC_FTBIT_DATAGRAM; + lsquic_send_ctl_incr_pack_sz(&conn->ifc_send_ctl, packet_out, w); + /* XXX The DATAGRAM frame should really be a regen. Do it when we + * no longer require these frame types to be at the beginning of the + * packet. + */ + + return 1; +} + + +static enum tick_st +ietf_full_conn_ci_tick (struct lsquic_conn *lconn, lsquic_time_t now) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + int have_delayed_packets, s; + enum tick_st tick = 0; + unsigned n; + +#define CLOSE_IF_NECESSARY() do { \ + if (conn->ifc_flags & IFC_IMMEDIATE_CLOSE_FLAGS) \ + { \ + tick |= immediate_close(conn); \ + goto close_end; \ + } \ +} while (0) + +#define RETURN_IF_OUT_OF_PACKETS() do { \ + if (!lsquic_send_ctl_can_send(&conn->ifc_send_ctl)) \ + { \ + if (0 == lsquic_send_ctl_n_scheduled(&conn->ifc_send_ctl)) \ + { \ + LSQ_DEBUG("used up packet allowance, quiet now (line %d)", \ + __LINE__); \ + tick |= TICK_QUIET; \ + } \ + else \ + { \ + LSQ_DEBUG("used up packet allowance, sending now (line %d)",\ + __LINE__); \ + tick |= TICK_SEND; \ + } \ + goto end; \ + } \ +} while (0) + + CONN_STATS(n_ticks, 1); + + CLOSE_IF_NECESSARY(); + + if (conn->ifc_flags & IFC_HAVE_SAVED_ACK) + { + (void) /* If there is an error, we'll fail shortly */ + process_ack(conn, &conn->ifc_ack, conn->ifc_saved_ack_received, now); + conn->ifc_flags &= ~IFC_HAVE_SAVED_ACK; + } + + maybe_set_noprogress_alarm(conn, now); + + lsquic_send_ctl_tick_in(&conn->ifc_send_ctl, now); + lsquic_send_ctl_set_buffer_stream_packets(&conn->ifc_send_ctl, 1); + CLOSE_IF_NECESSARY(); + + lsquic_alarmset_ring_expired(&conn->ifc_alset, now); + CLOSE_IF_NECESSARY(); + + /* To make things simple, only stream 1 is active until the handshake + * has been completed. This will be adjusted in the future: the client + * does not want to wait if it has the server information. + */ + if (conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + process_streams_read_events(conn); + else + process_crypto_stream_read_events(conn); + CLOSE_IF_NECESSARY(); + + if (lsquic_send_ctl_pacer_blocked(&conn->ifc_send_ctl)) + goto end_write; + + if (conn->ifc_flags & IFC_FIRST_TICK) + { + conn->ifc_flags &= ~IFC_FIRST_TICK; + have_delayed_packets = 0; + } + else + /* If there are any scheduled packets at this point, it means that + * they were not sent during previous tick; in other words, they + * are delayed. When there are delayed packets, the only packet + * we sometimes add is a packet with an ACK frame, and we add it + * to the *front* of the queue. + */ + have_delayed_packets = + lsquic_send_ctl_maybe_squeeze_sched(&conn->ifc_send_ctl); + + if (should_generate_ack(conn, IFC_ACK_QUEUED) || + (!have_delayed_packets && maybe_queue_opp_ack(conn))) + { + if (have_delayed_packets) + lsquic_send_ctl_reset_packnos(&conn->ifc_send_ctl); + + n = generate_ack_frame(conn, now); + CLOSE_IF_NECESSARY(); + + if (have_delayed_packets && n) + lsquic_send_ctl_ack_to_front(&conn->ifc_send_ctl, n); + } + + if (have_delayed_packets) + { + /* The reason for not adding the other frames below to the packet + * carrying ACK frame generated when there are delayed packets is + * so that if the ACK packet itself is delayed, it can be dropped + * and replaced by new ACK packet. This way, we are never more + * than 1 packet over CWND. + */ + tick |= TICK_SEND; + if (conn->ifc_flags & IFC_CLOSING) + goto end_write; + else + goto end; + } + + /* Try to fit MAX_DATA before checking if we have run out of room. + * If it does not fit, it will be tried next time around. + */ + if (lsquic_cfcw_fc_offsets_changed(&conn->ifc_pub.cfcw) || + (conn->ifc_send_flags & SF_SEND_MAX_DATA)) + { + conn->ifc_send_flags |= SF_SEND_MAX_DATA; + generate_max_data_frame(conn); + CLOSE_IF_NECESSARY(); + } + + if (conn->ifc_send_flags & SEND_WITH_FUNCS) + { + enum send send; + for (send = 0; send < N_SEND; ++send) + if (conn->ifc_send_flags & (1 << send) & SEND_WITH_FUNCS) + { + send_funcs[send](conn, now); + CLOSE_IF_NECESSARY(); + } + } + + if (conn->ifc_mflags & MF_CHECK_MTU_PROBE) + check_or_schedule_mtu_probe(conn, now); + + n = lsquic_send_ctl_reschedule_packets(&conn->ifc_send_ctl); + if (n > 0) + CLOSE_IF_NECESSARY(); + + if (conn->ifc_conn.cn_flags & LSCONN_SEND_BLOCKED) + { + RETURN_IF_OUT_OF_PACKETS(); + if (generate_blocked_frame(conn)) + conn->ifc_conn.cn_flags &= ~LSCONN_SEND_BLOCKED; + } + + if (!TAILQ_EMPTY(&conn->ifc_pub.sending_streams)) + { + process_streams_ready_to_send(conn); + CLOSE_IF_NECESSARY(); + } + + lsquic_send_ctl_set_buffer_stream_packets(&conn->ifc_send_ctl, 0); + if (!(conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE)) + { + s = lsquic_send_ctl_schedule_buffered(&conn->ifc_send_ctl, + BPT_HIGHEST_PRIO); + conn->ifc_flags |= (s < 0) << IFC_BIT_ERROR; + if (0 == s) + process_crypto_stream_write_events(conn); + if (!(conn->ifc_mflags & MF_DOING_0RTT)) + { + lsquic_send_ctl_maybe_app_limited(&conn->ifc_send_ctl, + CUR_NPATH(conn)); + goto end_write; + } + } + + maybe_conn_flush_special_streams(conn); + + s = lsquic_send_ctl_schedule_buffered(&conn->ifc_send_ctl, BPT_HIGHEST_PRIO); + conn->ifc_flags |= (s < 0) << IFC_BIT_ERROR; + if (!write_is_possible(conn)) + goto end_write; + + while ((conn->ifc_mflags & MF_WANT_DATAGRAM_WRITE) && write_datagram(conn)) + if (!write_is_possible(conn)) + goto end_write; + + if (!TAILQ_EMPTY(&conn->ifc_pub.write_streams)) + { + process_streams_write_events(conn, 1); + if (!write_is_possible(conn)) + goto end_write; + } + + s = lsquic_send_ctl_schedule_buffered(&conn->ifc_send_ctl, BPT_OTHER_PRIO); + conn->ifc_flags |= (s < 0) << IFC_BIT_ERROR; + if (!write_is_possible(conn)) + goto end_write; + + if (!TAILQ_EMPTY(&conn->ifc_pub.write_streams)) + process_streams_write_events(conn, 0); + + lsquic_send_ctl_maybe_app_limited(&conn->ifc_send_ctl, CUR_NPATH(conn)); + + end_write: + if ((conn->ifc_flags & IFC_CLOSING) + && ((conn->ifc_send_flags & SF_SEND_CONN_CLOSE) + || conn_ok_to_close(conn))) + { + LSQ_DEBUG("connection is OK to close"); + conn->ifc_flags |= IFC_TICK_CLOSE; + if (conn->ifc_flags & IFC_RECV_CLOSE) + tick |= TICK_CLOSE; + if (!(conn->ifc_mflags & MF_CONN_CLOSE_PACK) + /* Generate CONNECTION_CLOSE frame if: + * ... this is a client and handshake was successful; + */ + && (!(conn->ifc_flags & (IFC_SERVER|IFC_HSK_FAILED)) + /* or: sent a GOAWAY frame; + */ + || (conn->ifc_flags & IFC_GOAWAY_CLOSE) + /* or: we received CONNECTION_CLOSE and we are not a server + * that chooses not to send CONNECTION_CLOSE responses. + * From [draft-ietf-quic-transport-29]: + " An endpoint that receives a CONNECTION_CLOSE frame MAY send + " a single packet containing a CONNECTION_CLOSE frame before + " entering the draining state + */ + || ((conn->ifc_flags & IFC_RECV_CLOSE) + && !((conn->ifc_flags & IFC_SERVER) + && conn->ifc_settings->es_silent_close)) + /* or: we have packets to send. */ + || 0 != lsquic_send_ctl_n_scheduled(&conn->ifc_send_ctl)) + ) + { + /* CONNECTION_CLOSE frame should not be congestion controlled. + RETURN_IF_OUT_OF_PACKETS(); */ + generate_connection_close_packet(conn); + tick |= TICK_SEND|TICK_CLOSE; + } + else + tick |= TICK_CLOSE; + + goto end; + } + + if (0 == lsquic_send_ctl_n_scheduled(&conn->ifc_send_ctl)) + { + if (conn->ifc_send_flags & SF_SEND_PING) + { + RETURN_IF_OUT_OF_PACKETS(); + generate_ping_frame(conn, now); + CLOSE_IF_NECESSARY(); + assert(lsquic_send_ctl_n_scheduled(&conn->ifc_send_ctl) != 0); + } + else + { + tick |= TICK_QUIET; + goto end; + } + } + else if (conn->ifc_ping_period + && (conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE)) + { + lsquic_alarmset_unset(&conn->ifc_alset, AL_PING); + lsquic_send_ctl_sanity_check(&conn->ifc_send_ctl); + conn->ifc_send_flags &= ~SF_SEND_PING; /* It may have rung */ + } + + /* [draft-ietf-quic-transport-11] Section 7.9: + * + * The PING frame can be used to keep a connection alive when an + * application or application protocol wishes to prevent the connection + * from timing out. An application protocol SHOULD provide guidance + * about the conditions under which generating a PING is recommended. + * This guidance SHOULD indicate whether it is the client or the server + * that is expected to send the PING. Having both endpoints send PING + * frames without coordination can produce an excessive number of + * packets and poor performance. + */ + if (conn->ifc_ping_period + && lsquic_hash_count(conn->ifc_pub.all_streams) > + conn->ifc_pub.n_special_streams) + lsquic_alarmset_set(&conn->ifc_alset, AL_PING, + now + conn->ifc_ping_period); + + tick |= TICK_SEND; + + end: + service_streams(conn); + CLOSE_IF_NECESSARY(); + + close_end: + lsquic_send_ctl_set_buffer_stream_packets(&conn->ifc_send_ctl, 1); + lsquic_send_ctl_tick_out(&conn->ifc_send_ctl); + return tick; +} + + +static enum LSQUIC_CONN_STATUS +ietf_full_conn_ci_status (struct lsquic_conn *lconn, char *errbuf, size_t bufsz) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + size_t n; + + /* Test the common case first: */ + if (!(conn->ifc_flags & (IFC_ERROR + |IFC_TIMED_OUT + |IFC_ABORTED + |IFC_GOT_PRST + |IFC_HSK_FAILED + |IFC_CLOSING + |IFC_GOING_AWAY))) + { + if (lconn->cn_flags & LSCONN_PEER_GOING_AWAY) + return LSCONN_ST_PEER_GOING_AWAY; + else if (lconn->cn_flags & LSCONN_HANDSHAKE_DONE) + return LSCONN_ST_CONNECTED; + else + return LSCONN_ST_HSK_IN_PROGRESS; + } + + if (errbuf && bufsz) + { + if (conn->ifc_errmsg) + { + n = bufsz < MAX_ERRMSG ? bufsz : MAX_ERRMSG; + strncpy(errbuf, conn->ifc_errmsg, n); + errbuf[n - 1] = '\0'; + } + else + errbuf[0] = '\0'; + } + + if (conn->ifc_flags & IFC_ERROR) + { + if (conn->ifc_flags & IFC_HSK_FAILED) + return LSCONN_ST_VERNEG_FAILURE; + else + return LSCONN_ST_ERROR; + } + if (conn->ifc_flags & IFC_TIMED_OUT) + return LSCONN_ST_TIMED_OUT; + if (conn->ifc_flags & IFC_ABORTED) + return LSCONN_ST_USER_ABORTED; + if (conn->ifc_flags & IFC_GOT_PRST) + return LSCONN_ST_RESET; + if (conn->ifc_flags & IFC_HSK_FAILED) + return LSCONN_ST_HSK_FAILURE; + if (conn->ifc_flags & IFC_CLOSING) + return LSCONN_ST_CLOSED; + assert(conn->ifc_flags & IFC_GOING_AWAY); + return LSCONN_ST_GOING_AWAY; +} + + +static void +ietf_full_conn_ci_stateless_reset (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + conn->ifc_flags |= IFC_GOT_PRST; + LSQ_INFO("stateless reset reported"); +} + + +static struct lsquic_engine * +ietf_full_conn_ci_get_engine (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + return conn->ifc_enpub->enp_engine; +} + + +static unsigned +ietf_full_conn_ci_n_pending_streams (const struct lsquic_conn *lconn) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + return conn->ifc_n_delayed_streams; +} + + +static unsigned +ietf_full_conn_ci_n_avail_streams (const struct lsquic_conn *lconn) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + return avail_streams_count(conn, conn->ifc_flags & IFC_SERVER, SD_BIDI); +} + + +static int +handshake_done_or_doing_sess_resume (const struct ietf_full_conn *conn) +{ + return (conn->ifc_conn.cn_flags & LSCONN_HANDSHAKE_DONE) + || conn->ifc_conn.cn_esf_c->esf_is_sess_resume_enabled( + conn->ifc_conn.cn_enc_session); +} + + +static void +ietf_full_conn_ci_make_stream (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + + if (handshake_done_or_doing_sess_resume(conn) + && ietf_full_conn_ci_n_avail_streams(lconn) > 0) + { + if (0 != create_bidi_stream_out(conn)) + ABORT_ERROR("could not create new stream: %s", strerror(errno)); + } + else if (either_side_going_away(conn)) + { + (void) conn->ifc_enpub->enp_stream_if->on_new_stream( + conn->ifc_enpub->enp_stream_if_ctx, NULL); + LSQ_DEBUG("going away: no streams will be initiated"); + } + else + { + ++conn->ifc_n_delayed_streams; + LSQ_DEBUG("delayed stream creation. Backlog size: %u", + conn->ifc_n_delayed_streams); + } +} + + +static void +ietf_full_conn_ci_internal_error (struct lsquic_conn *lconn, + const char *format, ...) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + LSQ_INFO("internal error reported"); + ABORT_QUIETLY(0, TEC_INTERNAL_ERROR, "Internal error"); +} + + +static void +ietf_full_conn_ci_abort_error (struct lsquic_conn *lconn, int is_app, + unsigned error_code, const char *fmt, ...) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + va_list ap; + const char *err_str, *percent; + char err_buf[0x100]; + + if (conn->ifc_error.u.err != 0) + return; + percent = strchr(fmt, '%'); + if (percent) + { + va_start(ap, fmt); + vsnprintf(err_buf, sizeof(err_buf), fmt, ap); + va_end(ap); + err_str = err_buf; + } + else + err_str = fmt; + LSQ_INFO("abort error: is_app: %d; error code: %u; error str: %s", + is_app, error_code, err_str); + ABORT_QUIETLY(is_app, error_code, "%s", err_str); +} + + +static int +path_matches_local_sa (const struct network_path *path, + const struct sockaddr *local_sa) +{ + return lsquic_sockaddr_eq(NP_LOCAL_SA(path), local_sa); +} + + +static struct network_path * +ietf_full_conn_ci_get_path (struct lsquic_conn *lconn, + const struct sockaddr *sa) +{ + struct ietf_full_conn *const conn = (struct ietf_full_conn *) lconn; + struct conn_path *copath; + + if (NULL == sa || path_matches_local_sa(CUR_NPATH(conn), sa)) + return CUR_NPATH(conn); + + for (copath = conn->ifc_paths; copath < conn->ifc_paths + + sizeof(conn->ifc_paths) / sizeof(conn->ifc_paths[0]); ++copath) + if ((conn->ifc_used_paths & (1 << (copath - conn->ifc_paths))) + && path_matches_local_sa(&copath->cop_path, sa)) + return &copath->cop_path; + + return CUR_NPATH(conn); +} + + +static int +path_matches (const struct network_path *path, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa) +{ + return local_sa->sa_family == NP_LOCAL_SA(path)->sa_family + && lsquic_sockaddr_eq(local_sa, NP_LOCAL_SA(path)) + && lsquic_sockaddr_eq(peer_sa, NP_PEER_SA(path)); +} + + +static void +record_to_path (struct ietf_full_conn *conn, struct conn_path *copath, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa) +{ + struct network_path *path; + size_t len; + char path_str[2][INET6_ADDRSTRLEN + sizeof(":65535")]; + + LSQ_DEBUG("record path %d: (%s - %s)", (int) (copath - conn->ifc_paths), + SA2STR(local_sa, path_str[0]), SA2STR(peer_sa, path_str[1])); + path = &copath->cop_path; + len = local_sa->sa_family == AF_INET ? sizeof(struct sockaddr_in) + : sizeof(struct sockaddr_in6); + memcpy(NP_LOCAL_SA(path), local_sa, len); + len = peer_sa->sa_family == AF_INET ? sizeof(struct sockaddr_in) + : sizeof(struct sockaddr_in6); + memcpy(NP_PEER_SA(path), peer_sa, len); + path->np_peer_ctx = peer_ctx; +} + + +static unsigned char +ietf_full_conn_ci_record_addrs (struct lsquic_conn *lconn, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + struct network_path *path; + struct conn_path *copath, *first_unused, *first_unvalidated, *first_other, + *victim; + + path = &conn->ifc_paths[conn->ifc_cur_path_id].cop_path; + if (path_matches(path, local_sa, peer_sa)) + { + path->np_peer_ctx = peer_ctx; + return conn->ifc_cur_path_id; + } + + first_unvalidated = NULL; + first_unused = NULL; + first_other = NULL; + for (copath = conn->ifc_paths; copath < conn->ifc_paths + + sizeof(conn->ifc_paths) / sizeof(conn->ifc_paths[0]); ++copath) + { + if (conn->ifc_used_paths & (1 << (copath - conn->ifc_paths))) + { + if (path_matches(&copath->cop_path, local_sa, peer_sa)) + { + copath->cop_path.np_peer_ctx = peer_ctx; + return copath - conn->ifc_paths; + } + if (!first_unvalidated + && (0 == (copath->cop_flags & COP_VALIDATED))) + first_unvalidated = copath; + else if (!first_other) + first_other = copath; + } + else if (!first_unused) + first_unused = copath; + } + + if (first_unused) + { + record_to_path(conn, first_unused, peer_ctx, local_sa, peer_sa); + if (0 == conn->ifc_used_paths && !(conn->ifc_flags & IFC_SERVER)) + { + /* First path is considered valid immediately */ + first_unused->cop_flags |= COP_VALIDATED; + maybe_enable_spin(conn, first_unused); + } + LSQ_DEBUG("record new path ID %d", + (int) (first_unused - conn->ifc_paths)); + conn->ifc_used_paths |= 1 << (first_unused - conn->ifc_paths); + return first_unused - conn->ifc_paths; + } + + if (first_unvalidated || first_other) + { + victim = first_unvalidated ? first_unvalidated : first_other; + record_to_path(conn, victim, peer_ctx, local_sa, peer_sa); + return victim - conn->ifc_paths; + } + + return conn->ifc_cur_path_id; +} + + +static void +ietf_full_conn_ci_drop_crypto_streams (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + drop_crypto_streams(conn); +} + + +void +ietf_full_conn_ci_count_garbage (struct lsquic_conn *lconn, size_t garbage_sz) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + + conn->ifc_pub.bytes_in += garbage_sz; + LSQ_DEBUG("count %zd bytes of garbage, new value: %u bytes", garbage_sz, + conn->ifc_pub.bytes_in); +} + + +int +ietf_full_conn_ci_get_info (lsquic_conn_t *lconn, struct lsquic_conn_info *info) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + memset(info, 0, sizeof(*info)); + info->lci_cwnd = conn->ifc_send_ctl.sc_ci->cci_get_cwnd( + conn->ifc_send_ctl.sc_cong_ctl); + info->lci_rtt = lsquic_rtt_stats_get_srtt(&conn->ifc_pub.rtt_stats); + info->lci_rttvar = lsquic_rtt_stats_get_rttvar(&conn->ifc_pub.rtt_stats); + info->lci_rtt_min = lsquic_rtt_stats_get_min_rtt(&conn->ifc_pub.rtt_stats); + info->lci_pmtu = conn->ifc_paths[conn->ifc_cur_path_id].cop_path.np_pack_size; + info->lci_bw_estimate = conn->ifc_send_ctl.sc_ci->cci_pacing_rate( + conn->ifc_send_ctl.sc_cong_ctl, 1); + +#if LSQUIC_CONN_STATS + info->lci_bytes_rcvd = conn->ifc_stats.in.bytes; + info->lci_bytes_sent = conn->ifc_stats.out.bytes; + info->lci_pkts_rcvd = conn->ifc_stats.in.packets; + info->lci_pkts_sent = conn->ifc_stats.out.packets; + info->lci_pkts_lost = conn->ifc_stats.out.lost_packets; + info->lci_pkts_retx = conn->ifc_stats.out.retx_packets; +#endif + return 0; +} + + +#if LSQUIC_CONN_STATS +static const struct conn_stats * +ietf_full_conn_ci_get_stats (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + return &conn->ifc_stats; +} + + +static void +ietf_full_conn_ci_log_stats (struct lsquic_conn *lconn) +{ + struct ietf_full_conn *conn = (struct ietf_full_conn *) lconn; + struct batch_size_stats *const bs = &conn->ifc_enpub->enp_batch_size_stats; + struct conn_stats diff_stats; + uint64_t cwnd; + char cidstr[MAX_CID_LEN * 2 + 1]; + + if (!conn->ifc_last_stats) + { + conn->ifc_last_stats = calloc(1, sizeof(*conn->ifc_last_stats)); + if (!conn->ifc_last_stats) + return; + LSQ_DEBUG("allocated last stats"); + } + + cwnd = conn->ifc_send_ctl.sc_ci->cci_get_cwnd( + conn->ifc_send_ctl.sc_cong_ctl); + lsquic_conn_stats_diff(&conn->ifc_stats, conn->ifc_last_stats, &diff_stats); + lsquic_logger_log1(LSQ_LOG_NOTICE, LSQLM_CONN_STATS, + "%s: ticks: %lu; cwnd: %"PRIu64"; conn flow: max: %"PRIu64 + ", avail: %"PRIu64"; packets: sent: %lu, lost: %lu, retx: %lu, rcvd: %lu" + "; batch: count: %u; min: %u; max: %u; avg: %.2f", + (lsquic_cid2str(LSQUIC_LOG_CONN_ID, cidstr), cidstr), + diff_stats.n_ticks, cwnd, + conn->ifc_pub.conn_cap.cc_max, + lsquic_conn_cap_avail(&conn->ifc_pub.conn_cap), + diff_stats.out.packets, diff_stats.out.lost_packets, + diff_stats.out.retx_packets, diff_stats.in.packets, + bs->count, bs->min, bs->max, bs->avg); + + *conn->ifc_last_stats = conn->ifc_stats; + memset(bs, 0, sizeof(*bs)); +} + + +#endif + + +#define IETF_FULL_CONN_FUNCS \ + .ci_abort = ietf_full_conn_ci_abort, \ + .ci_abort_error = ietf_full_conn_ci_abort_error, \ + .ci_ack_snapshot = ietf_full_conn_ci_ack_snapshot, \ + .ci_ack_rollback = ietf_full_conn_ci_ack_rollback, \ + .ci_retire_cid = ietf_full_conn_ci_retire_cid, \ + .ci_can_write_ack = ietf_full_conn_ci_can_write_ack, \ + .ci_cancel_pending_streams = ietf_full_conn_ci_cancel_pending_streams, \ + .ci_client_call_on_new = ietf_full_conn_ci_client_call_on_new, \ + .ci_close = ietf_full_conn_ci_close, \ + .ci_count_garbage = ietf_full_conn_ci_count_garbage, \ + .ci_destroy = ietf_full_conn_ci_destroy, \ + .ci_drain_time = ietf_full_conn_ci_drain_time, \ + .ci_drop_crypto_streams = ietf_full_conn_ci_drop_crypto_streams, \ + .ci_early_data_failed = ietf_full_conn_ci_early_data_failed, \ + .ci_get_engine = ietf_full_conn_ci_get_engine, \ + .ci_get_min_datagram_size= ietf_full_conn_ci_get_min_datagram_size, \ + .ci_get_path = ietf_full_conn_ci_get_path, \ + .ci_going_away = ietf_full_conn_ci_going_away, \ + .ci_hsk_done = ietf_full_conn_ci_hsk_done, \ + .ci_internal_error = ietf_full_conn_ci_internal_error, \ + .ci_is_push_enabled = ietf_full_conn_ci_is_push_enabled, \ + .ci_is_tickable = ietf_full_conn_ci_is_tickable, \ + .ci_make_stream = ietf_full_conn_ci_make_stream, \ + .ci_mtu_probe_acked = ietf_full_conn_ci_mtu_probe_acked, \ + .ci_n_avail_streams = ietf_full_conn_ci_n_avail_streams, \ + .ci_n_pending_streams = ietf_full_conn_ci_n_pending_streams, \ + .ci_next_tick_time = ietf_full_conn_ci_next_tick_time, \ + .ci_packet_in = ietf_full_conn_ci_packet_in, \ + .ci_push_stream = ietf_full_conn_ci_push_stream, \ + .ci_record_addrs = ietf_full_conn_ci_record_addrs, \ + .ci_report_live = ietf_full_conn_ci_report_live, \ + .ci_retx_timeout = ietf_full_conn_ci_retx_timeout, \ + .ci_set_min_datagram_size= ietf_full_conn_ci_set_min_datagram_size, \ + .ci_status = ietf_full_conn_ci_status, \ + .ci_stateless_reset = ietf_full_conn_ci_stateless_reset, \ + .ci_tick = ietf_full_conn_ci_tick, \ + .ci_tls_alert = ietf_full_conn_ci_tls_alert, \ + .ci_want_datagram_write = ietf_full_conn_ci_want_datagram_write, \ + .ci_write_ack = ietf_full_conn_ci_write_ack + +static const struct conn_iface ietf_full_conn_iface = { + IETF_FULL_CONN_FUNCS, + .ci_next_packet_to_send = ietf_full_conn_ci_next_packet_to_send, + .ci_packet_not_sent = ietf_full_conn_ci_packet_not_sent, + .ci_packet_sent = ietf_full_conn_ci_packet_sent, + .ci_packet_too_large = ietf_full_conn_ci_packet_too_large, + .ci_get_info = ietf_full_conn_ci_get_info, +#if LSQUIC_CONN_STATS + .ci_get_stats = ietf_full_conn_ci_get_stats, + .ci_log_stats = ietf_full_conn_ci_log_stats, +#endif +}; +static const struct conn_iface *ietf_full_conn_iface_ptr = + &ietf_full_conn_iface; + +static const struct conn_iface ietf_full_conn_prehsk_iface = { + IETF_FULL_CONN_FUNCS, + .ci_next_packet_to_send = ietf_full_conn_ci_next_packet_to_send_pre_hsk, + .ci_packet_not_sent = ietf_full_conn_ci_packet_not_sent_pre_hsk, + .ci_packet_sent = ietf_full_conn_ci_packet_sent_pre_hsk, +#if LSQUIC_CONN_STATS + .ci_get_stats = ietf_full_conn_ci_get_stats, + .ci_log_stats = ietf_full_conn_ci_log_stats, +#endif +}; +static const struct conn_iface *ietf_full_conn_prehsk_iface_ptr = + &ietf_full_conn_prehsk_iface; + + +static void +on_cancel_push_client (void *ctx, uint64_t push_id) +{ + struct ietf_full_conn *const conn = ctx; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "Received CANCEL_PUSH(%"PRIu64")", + push_id); + if (conn->ifc_u.cli.ifcli_flags & IFCLI_PUSH_ENABLED) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, "received CANCEL_PUSH but push is " + "not enabled"); + return; + } + + if (push_id > conn->ifc_u.cli.ifcli_max_push_id) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, "received CANCEL_PUSH with ID=%"PRIu64 + ", which is greater than the maximum Push ID=%"PRIu64, push_id, + conn->ifc_u.cli.ifcli_max_push_id); + return; + } + +#if CLIENT_PUSH_SUPPORT + LSQ_WARN("TODO: support for CANCEL_PUSH is not implemented"); +#endif +} + + +/* Careful: this puts promise */ +static void +cancel_push_promise (struct ietf_full_conn *conn, struct push_promise *promise) +{ + LSQ_DEBUG("cancel promise %"PRIu64, promise->pp_id); + /* Remove promise from hash to prevent multiple cancellations */ + lsquic_hash_erase(conn->ifc_pub.u.ietf.promises, &promise->pp_hash_id); + /* But let stream dtor free the promise object as sm_promise may yet + * be used by the stream in some ways. + */ + /* TODO: drop lsquic_stream_shutdown_internal, use something else */ + lsquic_stream_shutdown_internal(promise->pp_pushed_stream); + if (0 != lsquic_hcso_write_cancel_push(&conn->ifc_hcso, promise->pp_id)) + ABORT_WARN("cannot write CANCEL_PUSH"); + lsquic_pp_put(promise, conn->ifc_pub.u.ietf.promises); +} + + +static void +on_cancel_push_server (void *ctx, uint64_t push_id) +{ + struct ietf_full_conn *const conn = ctx; + struct lsquic_hash_elem *el; + struct push_promise *promise; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "Received CANCEL_PUSH(%"PRIu64")", + push_id); + if (push_id >= conn->ifc_u.ser.ifser_next_push_id) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, "received CANCEL_PUSH with ID=%"PRIu64 + ", which is greater than the maximum Push ID ever generated by " + "this connection", push_id); + return; + } + + el = lsquic_hash_find(conn->ifc_pub.u.ietf.promises, &push_id, + sizeof(push_id)); + if (!el) + { + LSQ_DEBUG("push promise %"PRIu64" not found", push_id); + return; + } + + promise = lsquic_hashelem_getdata(el); + cancel_push_promise(conn, promise); +} + + +static void +on_max_push_id_client (void *ctx, uint64_t push_id) +{ + struct ietf_full_conn *const conn = ctx; + ABORT_QUIETLY(1, HEC_FRAME_UNEXPECTED, "client does not expect the server " + "to send MAX_PUSH_ID frame"); +} + + +static void +on_max_push_id (void *ctx, uint64_t push_id) +{ + struct ietf_full_conn *const conn = ctx; + + if (!(conn->ifc_u.ser.ifser_flags & IFSER_MAX_PUSH_ID) + || push_id > conn->ifc_u.ser.ifser_max_push_id) + { + conn->ifc_u.ser.ifser_max_push_id = push_id; + conn->ifc_u.ser.ifser_flags |= IFSER_MAX_PUSH_ID; + LSQ_DEBUG("set MAX_PUSH_ID to %"PRIu64, push_id); + } + else if (push_id < conn->ifc_u.ser.ifser_max_push_id) + ABORT_QUIETLY(1, HEC_ID_ERROR, "MAX_PUSH_ID reduced from " + "%"PRIu64" to %"PRIu64, conn->ifc_u.ser.ifser_max_push_id, push_id); + else + LSQ_DEBUG("ignore repeated value of MAX_PUSH_ID=%"PRIu64, push_id); +} + + +static void +on_settings_frame (void *ctx) +{ + struct ietf_full_conn *const conn = ctx; + unsigned dyn_table_size, max_risked_streams; + + LSQ_DEBUG("SETTINGS frame"); + if (conn->ifc_flags & IFC_HAVE_PEER_SET) + { + ABORT_QUIETLY(1, HEC_FRAME_UNEXPECTED, + "second incoming SETTING frame on HTTP control stream"); + return; + } + + conn->ifc_flags |= IFC_HAVE_PEER_SET; + dyn_table_size = MIN(conn->ifc_settings->es_qpack_enc_max_size, + conn->ifc_peer_hq_settings.header_table_size); + max_risked_streams = MIN(conn->ifc_settings->es_qpack_enc_max_blocked, + conn->ifc_peer_hq_settings.qpack_blocked_streams); + if (conn->ifc_settings->es_qpack_experiment == 2) + randomize_qpack_settings(conn, "encoder", &dyn_table_size, + &max_risked_streams); + if (conn->ifc_qeh.qeh_exp_rec) + { + conn->ifc_qeh.qeh_exp_rec->qer_peer_max_size + = conn->ifc_peer_hq_settings.header_table_size; + conn->ifc_qeh.qeh_exp_rec->qer_used_max_size = dyn_table_size; + conn->ifc_qeh.qeh_exp_rec->qer_peer_max_blocked + = conn->ifc_peer_hq_settings.qpack_blocked_streams; + conn->ifc_qeh.qeh_exp_rec->qer_used_max_blocked = max_risked_streams; + } + if (0 != lsquic_qeh_settings(&conn->ifc_qeh, + conn->ifc_peer_hq_settings.header_table_size, + dyn_table_size, max_risked_streams, conn->ifc_flags & IFC_SERVER)) + ABORT_WARN("could not initialize QPACK encoder handler"); + if (avail_streams_count(conn, conn->ifc_flags & IFC_SERVER, SD_UNI) > 0) + { + if (0 != create_qenc_stream_out(conn)) + ABORT_WARN("cannot create outgoing QPACK encoder stream"); + } + else + { + queue_streams_blocked_frame(conn, SD_UNI); + LSQ_DEBUG("cannot create QPACK encoder stream due to unidir limit"); + } + maybe_create_delayed_streams(conn); +} + + +static void +on_setting (void *ctx, uint64_t setting_id, uint64_t value) +{ + struct ietf_full_conn *const conn = ctx; + + switch (setting_id) + { + case HQSID_QPACK_BLOCKED_STREAMS: + LSQ_DEBUG("Peer's SETTINGS_QPACK_BLOCKED_STREAMS=%"PRIu64, value); + conn->ifc_peer_hq_settings.qpack_blocked_streams = value; + break; + case HQSID_QPACK_MAX_TABLE_CAPACITY: + LSQ_DEBUG("Peer's SETTINGS_QPACK_MAX_TABLE_CAPACITY=%"PRIu64, value); + conn->ifc_peer_hq_settings.header_table_size = value; + break; + case HQSID_MAX_HEADER_LIST_SIZE: + LSQ_DEBUG("Peer's SETTINGS_MAX_HEADER_LIST_SIZE=%"PRIu64"; " + "we ignore it", value); + break; + default: + LSQ_DEBUG("received unknown SETTING 0x%"PRIX64"=0x%"PRIX64 + "; ignore it", setting_id, value); + break; + case 2: /* HTTP/2 SETTINGS_ENABLE_PUSH */ + case 3: /* HTTP/2 SETTINGS_MAX_CONCURRENT_STREAMS */ + case 4: /* HTTP/2 SETTINGS_INITIAL_WINDOW_SIZE */ + case 5: /* HTTP/2 SETTINGS_MAX_FRAME_SIZE */ + /* [draft-ietf-quic-http-30] Section 7.2.4.1 */ + ABORT_QUIETLY(1, HEC_SETTINGS_ERROR, "unexpected HTTP/2 setting " + "%"PRIu64, setting_id); + break; + } +} + + +static void +on_goaway_server_27 (void *ctx, uint64_t stream_id) +{ + struct ietf_full_conn *const conn = ctx; + ABORT_QUIETLY(1, HEC_FRAME_UNEXPECTED, + "client should not send GOAWAY frames"); +} + + +static void +on_goaway_client_27 (void *ctx, uint64_t stream_id) +{ + struct ietf_full_conn *const conn = ctx; + struct lsquic_stream *stream; + struct lsquic_hash_elem *el; + enum stream_id_type sit; + + sit = stream_id & SIT_MASK; + if (sit != SIT_BIDI_CLIENT) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, + "stream ID %"PRIu64" in GOAWAY frame", stream_id); + return; + } + + if (conn->ifc_conn.cn_flags & LSCONN_PEER_GOING_AWAY) + { + LSQ_DEBUG("ignore duplicate GOAWAY frame"); + return; + } + + conn->ifc_conn.cn_flags |= LSCONN_PEER_GOING_AWAY; + LSQ_DEBUG("received GOAWAY frame, last good stream ID: %"PRIu64, stream_id); + if (conn->ifc_enpub->enp_stream_if->on_goaway_received) + conn->ifc_enpub->enp_stream_if->on_goaway_received(&conn->ifc_conn); + + for (el = lsquic_hash_first(conn->ifc_pub.all_streams); el; + el = lsquic_hash_next(conn->ifc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if (stream->id > stream_id + && (stream->id & SIT_MASK) == SIT_BIDI_CLIENT) + { + lsquic_stream_received_goaway(stream); + } + } +} + + +static void +on_goaway_client (void *ctx, uint64_t stream_id) +{ + struct ietf_full_conn *const conn = ctx; + struct lsquic_stream *stream; + struct lsquic_hash_elem *el; + enum stream_id_type sit; + + sit = stream_id & SIT_MASK; + if (sit != SIT_BIDI_CLIENT) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, + "stream ID %"PRIu64" in GOAWAY frame", stream_id); + return; + } + + LSQ_DEBUG("received GOAWAY frame, last good stream ID: %"PRIu64, stream_id); + + if (conn->ifc_conn.cn_flags & LSCONN_PEER_GOING_AWAY) + { + if (stream_id == conn->ifc_u.cli.ifcli_min_goaway_stream_id) + { + LSQ_DEBUG("ignore duplicate GOAWAY frame"); + return; + } + if (stream_id > conn->ifc_u.cli.ifcli_min_goaway_stream_id) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, + "stream ID %"PRIu64" is larger than one already seen in a " + "previous GOAWAY frame, %"PRIu64, stream_id, + conn->ifc_u.cli.ifcli_min_goaway_stream_id); + return; + } + } + else + { + conn->ifc_u.cli.ifcli_min_goaway_stream_id = stream_id; + conn->ifc_conn.cn_flags |= LSCONN_PEER_GOING_AWAY; + if (conn->ifc_enpub->enp_stream_if->on_goaway_received) + conn->ifc_enpub->enp_stream_if->on_goaway_received(&conn->ifc_conn); + } + + for (el = lsquic_hash_first(conn->ifc_pub.all_streams); el; + el = lsquic_hash_next(conn->ifc_pub.all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if (stream->id > stream_id + && (stream->id & SIT_MASK) == SIT_BIDI_CLIENT) + { + lsquic_stream_received_goaway(stream); + } + } +} + + +static void +on_goaway_server (void *ctx, uint64_t max_push_id) +{ + struct ietf_full_conn *const conn = ctx; + struct push_promise *promise; + struct lsquic_hash_elem *el; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "Received GOAWAY(%"PRIu64")", + max_push_id); + for (el = lsquic_hash_first(conn->ifc_pub.u.ietf.promises); el; + el = lsquic_hash_next(conn->ifc_pub.u.ietf.promises)) + { + promise = lsquic_hashelem_getdata(el); + if (promise->pp_id > max_push_id) + cancel_push_promise(conn, promise); + } +} + + +static void +on_priority_update_client (void *ctx, enum hq_frame_type frame_type, + uint64_t id, const char *pfv, size_t pfv_sz) +{ + struct ietf_full_conn *const conn = ctx; + + if (conn->ifc_pii == &ext_prio_iter_if) + ABORT_QUIETLY(1, HEC_FRAME_UNEXPECTED, "Frame type %u is not " + "expected to be sent by the server", (unsigned) frame_type); + /* else ignore */ +} + + +/* This should not happen often, so do not bother to optimize memory. */ +static int +buffer_priority_update (struct ietf_full_conn *conn, + lsquic_stream_id_t stream_id, const struct lsquic_ext_http_prio *ehp) +{ + struct buffered_priority_update *bpu; + struct lsquic_hash_elem *el; + + if (!conn->ifc_bpus) + { + conn->ifc_bpus = lsquic_hash_create(); + if (!conn->ifc_bpus) + { + ABORT_ERROR("cannot allocate BPUs hash"); + return -1; + } + goto insert_new; + } + + el = lsquic_hash_find(conn->ifc_bpus, &stream_id, sizeof(stream_id)); + if (el) + { + bpu = lsquic_hashelem_getdata(el); + bpu->ehp = *ehp; + return 0; + } + + insert_new: + bpu = malloc(sizeof(*bpu)); + if (!bpu) + { + ABORT_ERROR("cannot allocate BPU"); + return -1; + } + + bpu->hash_el.qhe_flags = 0; + bpu->stream_id = stream_id; + bpu->ehp = *ehp; + if (!lsquic_hash_insert(conn->ifc_bpus, &bpu->stream_id, + sizeof(bpu->stream_id), bpu, &bpu->hash_el)) + { + free(bpu); + ABORT_ERROR("cannot insert BPU"); + return -1; + } + + return 0; +} + + +static void +on_priority_update_server (void *ctx, enum hq_frame_type frame_type, + uint64_t id, const char *pfv, size_t pfv_sz) +{ + struct ietf_full_conn *const conn = ctx; + struct lsquic_hash_elem *el; + struct push_promise *promise; + struct lsquic_stream *stream; + enum stream_id_type sit; + struct lsquic_ext_http_prio ehp; + + if (conn->ifc_pii != &ext_prio_iter_if) + { + LSQ_DEBUG("Ignore PRIORITY_UPDATE frame"); + return; + } + + if (frame_type == HQFT_PRIORITY_UPDATE_STREAM) + { + sit = id & SIT_MASK; + if (sit != SIT_BIDI_CLIENT) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, "PRIORITY_UPDATE for non-request " + "stream"); + return; + } + if (id >= conn->ifc_max_allowed_stream_id[sit]) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, "PRIORITY_UPDATE for non-existing " + "stream %"PRIu64" exceeds allowed max of %"PRIu64, + id, conn->ifc_max_allowed_stream_id[sit]); + return; + } + stream = find_stream_by_id(conn, id); + if (!stream && conn_is_stream_closed(conn, id)) + { + LSQ_DEBUG("stream %"PRIu64" closed, ignore PRIORITY_UPDATE", id); + return; + } + } + else + { + if (id >= conn->ifc_u.ser.ifser_next_push_id) + { + ABORT_QUIETLY(1, HEC_ID_ERROR, "received PRIORITY_UPDATE with " + "ID=%"PRIu64", which is greater than the maximum Push ID " + "ever generated by this connection", id); + return; + } + el = lsquic_hash_find(conn->ifc_pub.u.ietf.promises, &id, sizeof(id)); + if (!el) + { + LSQ_DEBUG("push promise %"PRIu64" not found, ignore " + "PRIORITY_UPDATE", id); + return; + } + promise = lsquic_hashelem_getdata(el); + stream = promise->pp_pushed_stream; + assert(stream); + } + + ehp = (struct lsquic_ext_http_prio) { + .urgency = LSQUIC_DEF_HTTP_URGENCY, + .incremental = LSQUIC_DEF_HTTP_INCREMENTAL, + }; + if (pfv_sz) + { + switch (lsquic_http_parse_pfv(pfv, pfv_sz, NULL, &ehp, + (char *) conn->ifc_pub.mm->acki, + sizeof(*conn->ifc_pub.mm->acki))) + { + case 0: + LSQ_DEBUG("Parsed PFV `%.*s' correctly", (int) pfv_sz, pfv); + break; + case -2: /* Out of memory, ignore */ + LSQ_INFO("Ignore PFV `%.*s': out of memory", (int) pfv_sz, pfv); + return; + default: + LSQ_INFO("connection error due to invalid PFV `%.*s'", + (int) pfv_sz, pfv); + /* From the draft (between versions 1 and 2): + " Failure to parse the Priority Field Value MUST be treated + " as a connection error of type FRAME_ENCODING_ERROR. + */ + ABORT_QUIETLY(1, HEC_FRAME_ERROR, "cannot parse Priority Field " + "Value in PRIORITY_UPDATE frame"); + return; + } + } + else + { /* Empty PFV means "use defaults" */ } + + if (stream) + (void) lsquic_stream_set_http_prio(stream, &ehp); + else + { + assert(frame_type == HQFT_PRIORITY_UPDATE_STREAM); + if (0 == buffer_priority_update(conn, id, &ehp)) + LSQ_INFO("buffered priority update for stream %"PRIu64"; " + "urgency: %hhu, incremental: %hhd", id, ehp.urgency, + ehp.incremental); + } +} + + +static void +on_frame_error (void *ctx, unsigned code, uint64_t frame_type) +{ + struct ietf_full_conn *const conn = ctx; + if (code == HEC_MISSING_SETTINGS) + ABORT_QUIETLY(1, code, "The first control frame is not SETTINGS, " + "got frame type %"PRIu64, frame_type); + else + ABORT_QUIETLY(1, HEC_FRAME_UNEXPECTED, "Frame type %"PRIu64" is not " + "allowed on the control stream", frame_type); +} + + +static const struct hcsi_callbacks hcsi_callbacks_server_27 = +{ + .on_cancel_push = on_cancel_push_server, + .on_max_push_id = on_max_push_id, + .on_settings_frame = on_settings_frame, + .on_setting = on_setting, + .on_goaway = on_goaway_server_27, + .on_frame_error = on_frame_error, + .on_priority_update = on_priority_update_server, +}; + +static const struct hcsi_callbacks hcsi_callbacks_client_27 = +{ + .on_cancel_push = on_cancel_push_client, + .on_max_push_id = on_max_push_id_client, + .on_settings_frame = on_settings_frame, + .on_setting = on_setting, + .on_goaway = on_goaway_client_27, + .on_frame_error = on_frame_error, + .on_priority_update = on_priority_update_client, +}; + + +static const struct hcsi_callbacks hcsi_callbacks_server_29 = +{ + .on_cancel_push = on_cancel_push_server, + .on_max_push_id = on_max_push_id, + .on_settings_frame = on_settings_frame, + .on_setting = on_setting, + .on_goaway = on_goaway_server, + .on_frame_error = on_frame_error, + .on_priority_update = on_priority_update_server, +}; + +static const struct hcsi_callbacks hcsi_callbacks_client_29 = +{ + .on_cancel_push = on_cancel_push_client, + .on_max_push_id = on_max_push_id_client, + .on_settings_frame = on_settings_frame, + .on_setting = on_setting, + .on_goaway = on_goaway_client, + .on_frame_error = on_frame_error, + .on_priority_update = on_priority_update_client, +}; + + +static lsquic_stream_ctx_t * +hcsi_on_new (void *stream_if_ctx, struct lsquic_stream *stream) +{ + struct ietf_full_conn *const conn = (void *) stream_if_ctx; + const struct hcsi_callbacks *callbacks; + + conn->ifc_mflags |= MF_HAVE_HCSI; + + switch ((!!(conn->ifc_flags & IFC_SERVER) << 8) | conn->ifc_conn.cn_version) + { + case (0 << 8) | LSQVER_ID27: + callbacks = &hcsi_callbacks_client_27; + break; + case (1 << 8) | LSQVER_ID27: + callbacks = &hcsi_callbacks_server_27; + break; + case (0 << 8) | LSQVER_ID29: + case (0 << 8) | LSQVER_I001: + case (0 << 8) | LSQVER_I002: + callbacks = &hcsi_callbacks_client_29; + break; + default: + assert(0); + /* fallthru */ + case (1 << 8) | LSQVER_ID29: + case (1 << 8) | LSQVER_I001: + case (1 << 8) | LSQVER_I002: + callbacks = &hcsi_callbacks_server_29; + break; + } + lsquic_hcsi_reader_init(&conn->ifc_hcsi.reader, &conn->ifc_conn, + callbacks, conn); + lsquic_stream_wantread(stream, 1); + return stream_if_ctx; +} + + +struct feed_hcsi_ctx +{ + struct ietf_full_conn *conn; + int s; +}; + + +static size_t +feed_hcsi_reader (void *ctx, const unsigned char *buf, size_t bufsz, int fin) +{ + struct feed_hcsi_ctx *feed_ctx = ctx; + struct ietf_full_conn *conn = feed_ctx->conn; + + feed_ctx->s = lsquic_hcsi_reader_feed(&conn->ifc_hcsi.reader, buf, bufsz); + return bufsz; +} + + +static void +hcsi_on_read (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct ietf_full_conn *const conn = (void *) ctx; + struct lsquic_conn *const lconn = &conn->ifc_conn; + struct feed_hcsi_ctx feed_ctx = { conn, 0, }; + ssize_t nread; + + nread = lsquic_stream_readf(stream, feed_hcsi_reader, &feed_ctx); + LSQ_DEBUG("fed %zd bytes to HTTP control stream reader, status=%d", + nread, feed_ctx.s); + if (nread < 0) + { + lsquic_stream_wantread(stream, 0); + ABORT_WARN("error reading from HTTP control stream"); + } + else if (nread == 0) + { + lsquic_stream_wantread(stream, 0); + LSQ_INFO("control stream closed by peer: abort connection"); + lconn->cn_if->ci_abort_error(lconn, 1, + HEC_CLOSED_CRITICAL_STREAM, "control stream closed"); + } + else if (feed_ctx.s != 0) + { + lsquic_stream_wantread(stream, 0); + ABORT_WARN("error processing HTTP control stream"); + } +} + + +static void +hcsi_on_write (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + assert(0); +} + + +static void +hcsi_on_close (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ +} + + +static const struct lsquic_stream_if hcsi_if = +{ + .on_new_stream = hcsi_on_new, + .on_read = hcsi_on_read, + .on_write = hcsi_on_write, + .on_close = hcsi_on_close, +}; + + +static void +apply_uni_stream_class (struct ietf_full_conn *conn, + struct lsquic_stream *stream, uint64_t stream_type) +{ + switch (stream_type) + { + case HQUST_CONTROL: + if (!(conn->ifc_mflags & MF_HAVE_HCSI)) + { + LSQ_DEBUG("Incoming HTTP control stream ID: %"PRIu64, + stream->id); + lsquic_stream_set_stream_if(stream, &hcsi_if, conn); + } + else + { + ABORT_QUIETLY(1, HEC_STREAM_CREATION_ERROR, + "Attempt to create second control stream"); + lsquic_stream_close(stream); + } + break; + case HQUST_QPACK_ENC: + if (!lsquic_qdh_has_enc_stream(&conn->ifc_qdh)) + { + LSQ_DEBUG("Incoming QPACK encoder stream ID: %"PRIu64, + stream->id); + lsquic_stream_set_stream_if(stream, lsquic_qdh_enc_sm_in_if, + &conn->ifc_qdh); + } + else + { + ABORT_QUIETLY(1, HEC_STREAM_CREATION_ERROR, + "Incoming QPACK encoder stream %"PRIu64" already exists: " + "cannot create second stream %"PRIu64, + conn->ifc_qdh.qdh_enc_sm_in->id, stream->id); + lsquic_stream_close(stream); + } + break; + case HQUST_QPACK_DEC: + if (!lsquic_qeh_has_dec_stream(&conn->ifc_qeh)) + { + LSQ_DEBUG("Incoming QPACK decoder stream ID: %"PRIu64, + stream->id); + lsquic_stream_set_stream_if(stream, lsquic_qeh_dec_sm_in_if, + &conn->ifc_qeh); + } + else + { + ABORT_QUIETLY(1, HEC_STREAM_CREATION_ERROR, + "Incoming QPACK decoder stream %"PRIu64" already exists: " + "cannot create second stream %"PRIu64, + conn->ifc_qeh.qeh_dec_sm_in->id, stream->id); + lsquic_stream_close(stream); + } + break; + case HQUST_PUSH: + if (conn->ifc_flags & IFC_SERVER) + { + ABORT_QUIETLY(1, HEC_STREAM_CREATION_ERROR, + "clients can't open push streams"); + } + else + { + LSQ_DEBUG("Refuse push stream %"PRIu64, stream->id); + maybe_schedule_ss_for_stream(conn, stream->id, + HEC_REQUEST_CANCELLED); + } + lsquic_stream_close(stream); + break; + default: + LSQ_DEBUG("unknown unidirectional stream %"PRIu64 " of type %"PRIu64 + ", will send STOP_SENDING and close", stream->id, stream_type); + /* XXX This approach may be risky, as it assumes that the peer updates + * its flow control window correctly. The safe way to do it is to + * create a stream and wait for RESET_STREAM frame. This is not an + * issue in the normal case, as the server does not allow the peer to + * create more than 3 unidirectional streams. + */ + maybe_schedule_ss_for_stream(conn, stream->id, + HEC_STREAM_CREATION_ERROR); + lsquic_stream_close(stream); + break; + } +} + + +static lsquic_stream_ctx_t * +unicla_on_new (void *stream_if_ctx, struct lsquic_stream *stream) +{ + lsquic_stream_wantread(stream, 1); + stream->sm_uni_type_state.pos = 0; + return stream_if_ctx; +} + + +struct unicla_ctx +{ + struct varint_read_state *state; + enum { UC_MORE, UC_ERROR, UC_DONE, } status; +}; + + +static const char *const unicla_stat2str[] = { + [UC_ERROR] = "UC_ERROR", [UC_MORE] = "UC_MORE", [UC_DONE] = "UC_DONE", +}; + + +static size_t +unicla_readf (void *ctx, const unsigned char *begin, size_t sz, int fin) +{ + struct unicla_ctx *const unicla_ctx = ctx; + const unsigned char *buf = begin; + int s; + + switch (unicla_ctx->status) + { + case UC_MORE: + s = lsquic_varint_read_nb(&buf, begin + sz, unicla_ctx->state); + if (s == 0) + unicla_ctx->status = UC_DONE; + else if (fin) + unicla_ctx->status = UC_ERROR; + return buf - begin; + case UC_DONE: + return 0; + default: + return sz; + } +} + + +static void +unicla_on_read (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct ietf_full_conn *const conn = (void *) ctx; + struct unicla_ctx unicla_ctx = { .state = &stream->sm_uni_type_state, + .status = UC_MORE, }; + ssize_t nr; + + nr = lsquic_stream_readf(stream, unicla_readf, &unicla_ctx); + LSQ_DEBUG("unistream classifier read %zd byte%.*s, status: %s", nr, + nr != 1, "s", unicla_stat2str[unicla_ctx.status]); + if (nr > 0) + { + if (unicla_ctx.status == UC_DONE) + apply_uni_stream_class(conn, stream, unicla_ctx.state->val); + else if (unicla_ctx.status == UC_ERROR) + goto unexpected_fin; + /* else: do nothing */ + } + else if (nr < 0) /* This should never happen */ + { + LSQ_WARN("unicla: cannot read from stream %"PRIu64, stream->id); + lsquic_stream_close(stream); + } + else + { + unexpected_fin: + LSQ_INFO("unicla: unexpected FIN while reading stream type from " + "stream %"PRIu64, stream->id); + lsquic_stream_close(stream); + } +} + + +static void +unicla_on_write (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + assert(0); +} + + +static void +unicla_on_close (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ +} + + +static const struct lsquic_stream_if unicla_if = +{ + .on_new_stream = unicla_on_new, + .on_read = unicla_on_read, + .on_write = unicla_on_write, + .on_close = unicla_on_close, +}; + + +static const struct lsquic_stream_if *unicla_if_ptr = &unicla_if; + +typedef char dcid_elem_fits_in_128_bytes[sizeof(struct dcid_elem) <= 128 ? 1 : - 1]; + diff --git a/external/lsquic/src/liblsquic/lsquic_global.c b/external/lsquic/src/liblsquic/lsquic_global.c new file mode 100644 index 0000000..9556842 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_global.c @@ -0,0 +1,31 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Global state + */ + +#include "lsquic_int_types.h" +#include "lsquic_types.h" +#include "lsquic.h" +#include "lsquic_str.h" +#include "lsquic_enc_sess.h" +#include "lsquic_util.h" + + +int +lsquic_global_init (int flags) +{ + lsquic_init_timers(); + if (0 != lsquic_enc_session_common_gquic_1.esf_global_init(flags)) + return -1; + if (0 != lsquic_enc_session_common_ietf_v1.esf_global_init(flags)) + return -1; + return 0; +} + + +void +lsquic_global_cleanup (void) +{ + lsquic_enc_session_common_gquic_1.esf_global_cleanup(); + lsquic_enc_session_common_ietf_v1.esf_global_cleanup(); +} diff --git a/external/lsquic/src/liblsquic/lsquic_handshake.c b/external/lsquic/src/liblsquic/lsquic_handshake.c new file mode 100644 index 0000000..da2e0d8 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_handshake.c @@ -0,0 +1,4353 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#define _GNU_SOURCE /* for memmem */ + +#include +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#include +#include +#else +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_crypto.h" +#include "lsquic_str.h" +#include "lsquic_enc_sess.h" +#include "lsquic_parse.h" +#include "lsquic_crt_compress.h" +#include "lsquic_util.h" +#include "lsquic_version.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_hash.h" +#include "lsquic_qtags.h" +#include "lsquic_byteswap.h" +#include "lsquic_sizes.h" +#include "lsquic_tokgen.h" +#include "lsquic_conn.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_out.h" +#include "lsquic_packet_in.h" +#include "lsquic_handshake.h" +#include "lsquic_hkdf.h" +#include "lsquic_packet_ietf.h" + +#if __GNUC__ +# define UNLIKELY(cond) __builtin_expect(cond, 0) +#else +# define UNLIKELY(cond) cond +#endif + +#include "fiu-local.h" + +#include "lsquic_ev_log.h" + +#define MIN_CHLO_SIZE 1024 + +#define MAX_SCFG_LENGTH 512 +#define MAX_SPUBS_LENGTH 32 + +#define LSQUIC_LOGGER_MODULE LSQLM_HANDSHAKE +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid( \ + enc_session && enc_session->es_conn ? enc_session->es_conn : \ + lconn && lconn != &dummy_lsquic_conn ? lconn : \ + &dummy_lsquic_conn) +#include "lsquic_logger.h" + +/* enc_session may be NULL when encrypt and decrypt packet functions are + * called. This is a workaround. + */ +static struct conn_cid_elem dummy_cce; +static const struct lsquic_conn dummy_lsquic_conn = { .cn_cces = &dummy_cce, }; +static const struct lsquic_conn *const lconn = &dummy_lsquic_conn; + +static int s_ccrt_idx; + +static const int s_log_seal_and_open; +static char s_str[0x1000]; + +static const unsigned char salt_Q050[] = { + 0x50, 0x45, 0x74, 0xEF, 0xD0, 0x66, 0xFE, 0x2F, 0x9D, 0x94, + 0x5C, 0xFC, 0xDB, 0xD3, 0xA7, 0xF0, 0xD3, 0xB5, 0x6B, 0x45, +}; + +enum handshake_state +{ + HSK_CHLO_REJ = 0, + HSK_SHLO, + HSK_COMPLETED, + N_HSK_STATES +}; + +#if LSQUIC_KEEP_ENC_SESS_HISTORY +typedef unsigned char eshist_idx_t; + +enum enc_sess_history_event +{ + ESHE_EMPTY = '\0', + ESHE_SET_SNI = 'I', + ESHE_SET_SNO = 'O', + ESHE_SET_STK = 'K', + ESHE_SET_SCID = 'D', + ESHE_SET_PROF = 'P', + ESHE_SET_SRST = 'S', + ESHE_VSTK_OK = 'V', + ESHE_VSTK_FAILED = 'W', + ESHE_SNI_FAIL = 'J', + ESHE_HAS_SSTK = 'H', + ESHE_UNKNOWN_CONFIG = 'a', + ESHE_MISSING_SCID = 'b', + ESHE_EMPTY_CCRT = 'c', + ESHE_MISSING_SNO = 'd', + ESHE_SNO_MISMATCH = 'e', + ESHE_SNO_OK = 'f', + ESHE_MULTI2_2BITS = 'i', + ESHE_SNI_DELAYED = 'Y', + ESHE_XLCT_MISMATCH = 'x', +}; +#endif + + +typedef struct hs_ctx_st +{ + enum { + HSET_TCID = (1 << 0), /* tcid is set */ + HSET_SMHL = (1 << 1), /* smhl is set */ + HSET_SCID = (1 << 2), + HSET_IRTT = (1 << 3), + HSET_SRST = (1 << 4), + HSET_XLCT = (1 << 5), /* xlct is set */ + } set; + enum { + HOPT_NSTP = (1 << 0), /* NSTP option present in COPT */ + HOPT_SREJ = (1 << 1), /* SREJ option present in COPT */ + } opts; + uint32_t pdmd; + uint32_t aead; + uint32_t kexs; + + uint32_t mids; + uint32_t scls; + uint32_t cfcw; + uint32_t sfcw; + uint32_t smids; + uint32_t scfcw; + uint32_t ssfcw; + uint32_t icsl; + + uint32_t irtt; + uint64_t rcid; + uint32_t tcid; + uint32_t smhl; + uint64_t sttl; + uint64_t xlct; + unsigned char scid[SCID_LENGTH]; + //unsigned char chlo_hash[32]; //SHA256 HASH of CHLO + unsigned char nonc[DNONC_LENGTH]; /* 4 tm, 8 orbit ---> REJ, 20 rand */ + unsigned char pubs[32]; + unsigned char srst[SRST_LENGTH]; + + uint32_t rrej; + struct lsquic_str ccs; + struct lsquic_str uaid; + struct lsquic_str sni; /* 0 rtt */ + struct lsquic_str ccrt; + struct lsquic_str stk; + struct lsquic_str sno; + struct lsquic_str prof; + + struct lsquic_str csct; + struct compressed_cert *ccert; + struct lsquic_str scfg_pubs; /* Need to copy PUBS, as KEXS comes after it */ +} hs_ctx_t; + + +/* client side need to store 0rtt info per STK */ +typedef struct lsquic_session_cache_info_st +{ + unsigned char sscid[SCID_LENGTH]; + unsigned char spubs[32]; /* server pub key for next time 0rtt */ + uint32_t ver; /* one VERSION */ + uint32_t aead; + uint32_t kexs; + uint32_t pdmd; + uint64_t orbt; + uint64_t expy; + int scfg_flag; /* 0, no-init, 1, no parse, 2, parsed */ + struct lsquic_str sstk; + struct lsquic_str scfg; + struct lsquic_str sni_key; /* This is only used as key */ + struct lsquic_hash_elem hash_el; + +} lsquic_session_cache_info_t; + + +/* client */ +typedef struct c_cert_item_st +{ + struct lsquic_str* crts; + struct lsquic_str* hashs; + int count; +} c_cert_item_t; + + +struct lsquic_sess_resume_storage +{ + uint32_t quic_version_tag; + uint32_t serializer_version; + uint32_t ver; + uint32_t aead; + uint32_t kexs; + uint32_t pdmd; + uint64_t orbt; + uint64_t expy; + uint64_t sstk_len; + uint64_t scfg_len; + uint64_t scfg_flag; + uint8_t sstk[STK_LENGTH]; + uint8_t scfg[MAX_SCFG_LENGTH]; + uint8_t sscid[SCID_LENGTH]; + uint8_t spubs[MAX_SPUBS_LENGTH]; + uint32_t cert_count; +}; + + + + +/* gQUIC crypto has three crypto levels. */ +enum gel { GEL_CLEAR, GEL_EARLY, GEL_FORW, N_GELS /* Angels! */ }; + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define IQUIC_IV_LEN 12 +#define IQUIC_HP_LEN 16 +#define MAX_IV_LEN MAX(aes128_iv_len, IQUIC_IV_LEN) + +struct lsquic_enc_session +{ + struct lsquic_conn *es_conn; + enum handshake_state hsk_state; + enum { + ES_SERVER = 1 << 0, + ES_RECV_REJ = 1 << 1, + ES_RECV_SREJ = 1 << 2, + ES_FREE_CERT_PTR = 1 << 3, + ES_LOG_SECRETS = 1 << 4, + ES_GQUIC2 = 1 << 5, + } es_flags; + + uint8_t have_key; /* 0, no 1, I, 2, D, 3, F */ + uint8_t peer_have_final_key; + uint8_t server_start_use_final_key; + + lsquic_cid_t cid; + unsigned char priv_key[32]; + + /* Have to save the initial key for diversification need */ + unsigned char enc_key_i[aes128_key_len]; + unsigned char dec_key_i[aes128_key_len]; + +#define enc_ctx_i es_aead_ctxs[GEL_EARLY][0] +#define dec_ctx_i es_aead_ctxs[GEL_EARLY][1] +#define enc_ctx_f es_aead_ctxs[GEL_FORW][0] +#define dec_ctx_f es_aead_ctxs[GEL_FORW][1] + EVP_AEAD_CTX *es_aead_ctxs[N_GELS][2]; + +#define enc_key_nonce_i es_ivs[GEL_EARLY][0] +#define dec_key_nonce_i es_ivs[GEL_EARLY][1] +#define enc_key_nonce_f es_ivs[GEL_FORW][0] +#define dec_key_nonce_f es_ivs[GEL_FORW][1] + unsigned char es_ivs[N_GELS][2][MAX_IV_LEN]; + + unsigned char es_hps[N_GELS][2][IQUIC_HP_LEN]; + + hs_ctx_t hs_ctx; + lsquic_session_cache_info_t *info; + c_cert_item_t *cert_item; + lsquic_server_config_t *server_config; + SSL_CTX * ssl_ctx; + struct lsquic_engine_public *enpub; + struct lsquic_str * cert_ptr; /* pointer to the leaf cert of the server, not real copy */ + uint64_t cert_hash; + struct lsquic_str chlo; /* real copy of CHLO message */ + struct lsquic_str sstk; + struct lsquic_str ssno; + +#if LSQUIC_KEEP_ENC_SESS_HISTORY + eshist_idx_t es_hist_idx; + unsigned char es_hist_buf[1 << ESHIST_BITS]; +#endif + /* The remaining fields in the struct are used for Q050+ crypto */ + lsquic_packno_t es_max_packno; +}; + + + +/* server side */ +typedef struct compress_cert_hash_item_st +{ + struct lsquic_str* domain; /*with port, such as "xyz.com:8088" as the key */ + struct lsquic_str* crts_compress_buf; + struct lsquic_hash_elem hash_el; + +} compress_cert_hash_item_t; + +/* server side, only one cert */ +typedef struct cert_item_st +{ + struct lsquic_str* crt; + uint64_t hash; /* Hash of `crt' */ + struct lsquic_hash_elem hash_el; + unsigned char key[0]; +} cert_item_t; + +/* server */ +static cert_item_t* find_cert(struct lsquic_engine_public *, const unsigned char *, size_t); +static void s_free_cert_hash_item(cert_item_t *item); +static cert_item_t* insert_cert(struct lsquic_engine_public *, + const unsigned char *key, size_t key_sz, const struct lsquic_str *crt); + +#ifdef NDEBUG +static +enum hsk_failure_reason +lsquic_verify_stk (enc_session_t *, + const struct sockaddr *ip_addr, uint64_t tm, lsquic_str_t *stk); + +static +#endif +void lsquic_gen_stk(lsquic_server_config_t *, const struct sockaddr *, uint64_t tm, + unsigned char stk_out[STK_LENGTH]); + +/* client */ +static c_cert_item_t *make_c_cert_item(struct lsquic_str **certs, int count); +static void free_c_cert_item(c_cert_item_t *item); + +static int get_tag_val_u32 (unsigned char *v, int len, uint32_t *val); +static uint32_t get_tag_value_i32(unsigned char *, int); +static uint64_t get_tag_value_i64(unsigned char *, int); + +static void determine_keys(struct lsquic_enc_session *enc_session); + +static void put_compressed_cert (struct compressed_cert *); + + +#if LSQUIC_KEEP_ENC_SESS_HISTORY +static void +eshist_append (struct lsquic_enc_session *enc_session, + enum enc_sess_history_event eh_event) +{ + enc_session->es_hist_buf[ + ESHIST_MASK & enc_session->es_hist_idx++ ] = eh_event; +} + + +# define ESHIST_APPEND(sess, event) eshist_append(sess, event) +#else +# define ESHIST_APPEND(sess, event) do { } while (0) +#endif + + +static void +free_compressed_cert (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int index, long argl, void *argp) +{ + put_compressed_cert(ptr); +} + + +static int +lsquic_handshake_init(int flags) +{ + lsquic_crypto_init(); + if (flags & LSQUIC_GLOBAL_SERVER) + { + s_ccrt_idx = SSL_CTX_get_ex_new_index(0, NULL, NULL, NULL, + free_compressed_cert); + if (s_ccrt_idx < 0) + return -1; + } + return lsquic_crt_init(); +} + + +void +lsquic_cleanup_gquic_crypto (struct lsquic_engine_public *enpub) +{ + struct lsquic_hash_elem *el; + if (enpub->enp_compressed_server_certs) + { + for (el = lsquic_hash_first(enpub->enp_compressed_server_certs); el; + el = lsquic_hash_next(enpub->enp_compressed_server_certs)) + { + compress_cert_hash_item_t *item = lsquic_hashelem_getdata(el); + lsquic_str_delete(item->domain); + lsquic_str_delete(item->crts_compress_buf); + free(item); + } + lsquic_hash_destroy(enpub->enp_compressed_server_certs); + enpub->enp_compressed_server_certs = NULL; + } + + if (enpub->enp_server_certs) + { + for (el = lsquic_hash_first(enpub->enp_server_certs); el; + el = lsquic_hash_next(enpub->enp_server_certs)) + { + s_free_cert_hash_item( lsquic_hashelem_getdata(el) ); + } + lsquic_hash_destroy(enpub->enp_server_certs); + enpub->enp_server_certs = NULL; + } + + free(enpub->enp_server_config); +} + + +static void +lsquic_handshake_cleanup (void) +{ + lsquic_crt_cleanup(); +} + + +int +lsquic_init_gquic_crypto (struct lsquic_engine_public *enpub) +{ + enpub->enp_server_config = calloc(1, sizeof(*enpub->enp_server_config)); + if (!enpub->enp_server_config) + return -1; + + enpub->enp_compressed_server_certs = lsquic_hash_create(); + if (!enpub->enp_compressed_server_certs) + return -1; + + enpub->enp_server_certs = lsquic_hash_create(); + if (!enpub->enp_server_certs) + { + lsquic_hash_destroy(enpub->enp_compressed_server_certs); + enpub->enp_compressed_server_certs = NULL; + return -1; + } + + return 0; +} + + +/* server */ +static cert_item_t * +find_cert (struct lsquic_engine_public *enpub, const unsigned char *key, + size_t key_sz) +{ + struct lsquic_hash_elem *el; + + if (!enpub->enp_server_certs) + return NULL; + + el = lsquic_hash_find(enpub->enp_server_certs, key, key_sz); + if (el == NULL) + return NULL; + + return lsquic_hashelem_getdata(el); +} + + +/* client */ +static c_cert_item_t * +make_c_cert_item (lsquic_str_t **certs, int count) +{ + int i; + uint64_t hash; + c_cert_item_t *item = calloc(1, sizeof(*item)); + item->crts = (lsquic_str_t *)malloc(count * sizeof(lsquic_str_t)); + item->hashs = lsquic_str_new(NULL, 0); + item->count = count; + for (i = 0; i < count; ++i) + { + lsquic_str_copy(&item->crts[i], certs[i]); + hash = lsquic_fnv1a_64((const uint8_t *)lsquic_str_cstr(certs[i]), + lsquic_str_len(certs[i])); + lsquic_str_append(item->hashs, (char *)&hash, 8); + } + return item; +} + + +/* client */ +static void +free_c_cert_item (c_cert_item_t *item) +{ + int i; + if (item) + { + lsquic_str_delete(item->hashs); + for(i=0; icount; ++i) + lsquic_str_d(&item->crts[i]); + free(item->crts); + free(item); + } +} + + +/* server */ +static void +s_free_cert_hash_item (cert_item_t *item) +{ + if (item) + { + lsquic_str_delete(item->crt); + free(item); + } +} + + +/* server */ +static cert_item_t * +insert_cert (struct lsquic_engine_public *enpub, const unsigned char *key, + size_t key_sz, const lsquic_str_t *crt) +{ + struct lsquic_hash_elem *el; + lsquic_str_t *crt_copy; + cert_item_t *item; + + crt_copy = lsquic_str_new(lsquic_str_cstr(crt), lsquic_str_len(crt)); + if (!crt_copy) + return NULL; + + item = calloc(1, sizeof(*item) + key_sz); + if (!item) + { + lsquic_str_delete(crt_copy); + return NULL; + } + + item->crt = crt_copy; + memcpy(item->key, key, key_sz); + item->hash = lsquic_fnv1a_64((const uint8_t *)lsquic_str_buf(crt), + lsquic_str_len(crt)); + el = lsquic_hash_insert(enpub->enp_server_certs, item->key, key_sz, + item, &item->hash_el); + if (el) + return lsquic_hashelem_getdata(el); + else + { + s_free_cert_hash_item(item); + return NULL; + } +} + + +enum rtt_deserialize_return_type +{ + RTT_DESERIALIZE_OK = 0, + RTT_DESERIALIZE_BAD_QUIC_VER = 1, + RTT_DESERIALIZE_BAD_SERIAL_VER = 2, + RTT_DESERIALIZE_BAD_CERT_SIZE = 3, +}; + +#define RTT_SERIALIZER_VERSION (1 << 0) + +static void +lsquic_enc_session_serialize_sess_resume(struct lsquic_sess_resume_storage *storage, + enum lsquic_version version, + const lsquic_session_cache_info_t *info, + const c_cert_item_t *cert_item) +{ + uint32_t i; + uint32_t *cert_len; + uint8_t *cert_data; + /* + * assign versions + */ + storage->quic_version_tag = lsquic_ver2tag(version); + storage->serializer_version = RTT_SERIALIZER_VERSION; + /* + * server config + */ + storage->ver = info->ver; + storage->aead = info->aead; + storage->kexs = info->kexs; + storage->pdmd = info->pdmd; + storage->orbt = info->orbt; + storage->expy = info->expy; + storage->sstk_len = lsquic_str_len(&info->sstk); + storage->scfg_len = lsquic_str_len(&info->scfg); + storage->scfg_flag = info->scfg_flag; + memcpy(storage->sstk, lsquic_str_buf(&info->sstk), storage->sstk_len); + memcpy(storage->scfg, lsquic_str_buf(&info->scfg), storage->scfg_len); + memcpy(storage->sscid, &info->sscid, SCID_LENGTH); + memcpy(storage->spubs, &info->spubs, MAX_SPUBS_LENGTH); + /* + * certificate chain + */ + storage->cert_count = (uint32_t)cert_item->count; + cert_len = (uint32_t *)(storage + 1); + cert_data = (uint8_t *)(cert_len + 1); + for (i = 0; i < storage->cert_count; i++) + { + *cert_len = lsquic_str_len(&cert_item->crts[i]); + memcpy(cert_data, lsquic_str_buf(&cert_item->crts[i]), *cert_len); + cert_len = (uint32_t *)(cert_data + *cert_len); + cert_data = (uint8_t *)(cert_len + 1); + } +} + + +#define CHECK_SPACE(need, start, end) \ + do { if ((intptr_t) (need) > ((intptr_t) (end) - (intptr_t) (start))) \ + { return RTT_DESERIALIZE_BAD_CERT_SIZE; } \ + } while (0) \ + +static enum rtt_deserialize_return_type +lsquic_enc_session_deserialize_sess_resume( + const struct lsquic_sess_resume_storage *storage, + size_t storage_size, + const struct lsquic_engine_settings *settings, + lsquic_session_cache_info_t *info, + c_cert_item_t *cert_item) +{ + enum lsquic_version ver; + uint32_t i, len; + uint64_t hash; + uint32_t *cert_len; + uint8_t *cert_data; + void *storage_end = (uint8_t *)storage + storage_size; + /* + * check versions + */ + ver = lsquic_tag2ver(storage->quic_version_tag); + if ((int)ver == -1 || !((1 << ver) & settings->es_versions)) + return RTT_DESERIALIZE_BAD_QUIC_VER; + if (storage->serializer_version != RTT_SERIALIZER_VERSION) + return RTT_DESERIALIZE_BAD_SERIAL_VER; + /* + * server config + */ + info->ver = storage->ver; + info->aead = storage->aead; + info->kexs = storage->kexs; + info->pdmd = storage->pdmd; + info->orbt = storage->orbt; + info->expy = storage->expy; + info->scfg_flag = storage->scfg_flag; + lsquic_str_setto(&info->sstk, storage->sstk, storage->sstk_len); + lsquic_str_setto(&info->scfg, storage->scfg, storage->scfg_len); + memcpy(&info->sscid, storage->sscid, SCID_LENGTH); + memcpy(&info->spubs, storage->spubs, MAX_SPUBS_LENGTH); + /* + * certificate chain + */ + cert_item->count = storage->cert_count; + cert_item->crts = malloc(cert_item->count * sizeof(lsquic_str_t)); + cert_item->hashs = lsquic_str_new(NULL, 0); + cert_len = (uint32_t *)(storage + 1); + for (i = 0; i < storage->cert_count; i++) + { + CHECK_SPACE(sizeof(uint32_t), cert_len, storage_end); + cert_data = (uint8_t *)(cert_len + 1); + memcpy(&len, cert_len, sizeof(len)); + CHECK_SPACE(len, cert_data, storage_end); + lsquic_str_prealloc(&cert_item->crts[i], len); + lsquic_str_setlen(&cert_item->crts[i], len); + memcpy(lsquic_str_buf(&cert_item->crts[i]), cert_data, len); + hash = lsquic_fnv1a_64((const uint8_t *)cert_data, len); + lsquic_str_append(cert_item->hashs, (char *)&hash, 8); + cert_len = (uint32_t *)(cert_data + len); + } + return RTT_DESERIALIZE_OK; +} + + +#define KEY_LABEL "quic key" +#define KEY_LABEL_SZ (sizeof(KEY_LABEL) - 1) +#define IV_LABEL "quic iv" +#define IV_LABEL_SZ (sizeof(IV_LABEL) - 1) +#define PN_LABEL "quic hp" +#define PN_LABEL_SZ (sizeof(PN_LABEL) - 1) + + +static int +gquic2_init_crypto_ctx (struct lsquic_enc_session *enc_session, + unsigned idx, const unsigned char *secret, size_t secret_sz) +{ + const EVP_MD *const md = EVP_sha256(); + const EVP_AEAD *const aead = EVP_aead_aes_128_gcm(); + unsigned char key[aes128_key_len]; + char hexbuf[sizeof(key) * 2 + 1]; + + lsquic_qhkdf_expand(md, secret, secret_sz, KEY_LABEL, KEY_LABEL_SZ, + key, sizeof(key)); + if (enc_session->es_flags & ES_LOG_SECRETS) + LSQ_DEBUG("handshake key idx %u: %s", idx, + HEXSTR(key, sizeof(key), hexbuf)); + lsquic_qhkdf_expand(md, secret, secret_sz, IV_LABEL, IV_LABEL_SZ, + enc_session->es_ivs[GEL_CLEAR][idx], IQUIC_IV_LEN); + lsquic_qhkdf_expand(md, secret, secret_sz, PN_LABEL, PN_LABEL_SZ, + enc_session->es_hps[GEL_CLEAR][idx], IQUIC_HP_LEN); + assert(!enc_session->es_aead_ctxs[GEL_CLEAR][idx]); + enc_session->es_aead_ctxs[GEL_CLEAR][idx] + = malloc(sizeof(*enc_session->es_aead_ctxs[GEL_CLEAR][idx])); + if (!enc_session->es_aead_ctxs[GEL_CLEAR][idx]) + return -1; + if (!EVP_AEAD_CTX_init(enc_session->es_aead_ctxs[GEL_CLEAR][idx], aead, + key, sizeof(key), IQUIC_TAG_LEN, NULL)) + { + free(enc_session->es_aead_ctxs[GEL_CLEAR][idx]); + enc_session->es_aead_ctxs[GEL_CLEAR][idx] = NULL; + return -1; + } + return 0; +} + + +static void +log_crypto_ctx (const struct lsquic_enc_session *enc_session, + enum enc_level enc_level, int idx) +{ + char hexbuf[EVP_MAX_MD_SIZE * 2 + 1]; + + LSQ_DEBUG("%s keys for level %s", lsquic_enclev2str[enc_level], + idx == 0 ? "encrypt" : "decrypt"); + LSQ_DEBUG("iv: %s", + HEXSTR(enc_session->es_ivs[enc_level][idx], IQUIC_IV_LEN, hexbuf)); + LSQ_DEBUG("hp: %s", + HEXSTR(enc_session->es_hps[enc_level][idx], IQUIC_HP_LEN, hexbuf)); +} + + +static int +gquic2_setup_handshake_keys (struct lsquic_enc_session *enc_session) +{ + const unsigned char *const cid_buf = enc_session->es_conn->cn_cid.idbuf; + const size_t cid_buf_sz = enc_session->es_conn->cn_cid.len; + size_t hsk_secret_sz; + int i, idx; + const EVP_MD *const md = EVP_sha256(); + const char *const labels[] = { CLIENT_LABEL, SERVER_LABEL, }; + const size_t label_sizes[] = { CLIENT_LABEL_SZ, SERVER_LABEL_SZ, }; + const unsigned dirs[2] = { + (enc_session->es_flags & ES_SERVER), + !(enc_session->es_flags & ES_SERVER), + }; + unsigned char hsk_secret[EVP_MAX_MD_SIZE]; + unsigned char secret[SHA256_DIGEST_LENGTH]; + + if (!HKDF_extract(hsk_secret, &hsk_secret_sz, md, cid_buf, cid_buf_sz, + salt_Q050, sizeof(salt_Q050))) + { + LSQ_WARN("HKDF extract failed"); + return -1; + } + + for (i = 0; i < 2; ++i) + { + idx = dirs[i]; + lsquic_qhkdf_expand(md, hsk_secret, hsk_secret_sz, labels[idx], + label_sizes[idx], secret, sizeof(secret)); + /* + LSQ_DEBUG("`%s' handshake secret: %s", + HEXSTR(secret, sizeof(secret), hexbuf)); + */ + if (0 != gquic2_init_crypto_ctx(enc_session, i, + secret, sizeof(secret))) + goto err; + if (enc_session->es_flags & ES_LOG_SECRETS) + log_crypto_ctx(enc_session, ENC_LEV_INIT, i); + } + + return 0; + + err: + return -1; +} + + +static void +maybe_log_secrets (struct lsquic_enc_session *enc_session) +{ + const char *log; + log = getenv("LSQUIC_LOG_SECRETS"); + if (log) + { + if (atoi(log)) + enc_session->es_flags |= ES_LOG_SECRETS; + LSQ_DEBUG("will %slog secrets", + enc_session->es_flags & ES_LOG_SECRETS ? "" : "not "); + } +} + + +static enc_session_t * +lsquic_enc_session_create_client (struct lsquic_conn *lconn, const char *domain, + lsquic_cid_t cid, struct lsquic_engine_public *enpub, + const unsigned char *sess_resume, size_t sess_resume_len) +{ + lsquic_session_cache_info_t *info; + struct lsquic_enc_session *enc_session; + c_cert_item_t *item; + const struct lsquic_sess_resume_storage *sess_resume_storage; + + if (!domain) + { + errno = EINVAL; + return NULL; + } + + enc_session = calloc(1, sizeof(*enc_session)); + if (!enc_session) + return NULL; + + /* have to allocate every time */ + info = calloc(1, sizeof(*info)); + if (!info) + { + free(enc_session); + return NULL; + } + + if (sess_resume && sess_resume_len > sizeof(struct lsquic_sess_resume_storage)) + { + item = calloc(1, sizeof(*item)); + if (!item) + { + free(enc_session); + free(info); + return NULL; + } + sess_resume_storage = (const struct lsquic_sess_resume_storage *)sess_resume; + switch (lsquic_enc_session_deserialize_sess_resume(sess_resume_storage, + sess_resume_len, + &enpub->enp_settings, + info, item)) + { + case RTT_DESERIALIZE_BAD_QUIC_VER: + LSQ_ERROR("provided sess_resume has unsupported QUIC version"); + free(item); + break; + case RTT_DESERIALIZE_BAD_SERIAL_VER: + LSQ_ERROR("provided sess_resume has bad serializer version"); + free(item); + break; + case RTT_DESERIALIZE_BAD_CERT_SIZE: + LSQ_ERROR("provided sess_resume has bad cert size"); + free_c_cert_item(item); + break; + case RTT_DESERIALIZE_OK: + memcpy(enc_session->hs_ctx.pubs, info->spubs, 32); + enc_session->cert_item = item; + break; + } + } + enc_session->es_conn = lconn; + enc_session->enpub = enpub; + enc_session->cid = cid; + enc_session->info = info; + /* FIXME: allocation may fail */ + lsquic_str_append(&enc_session->hs_ctx.sni, domain, strlen(domain)); + maybe_log_secrets(enc_session); + if (lconn->cn_version >= LSQVER_050) + { + enc_session->es_flags |= ES_GQUIC2; + gquic2_setup_handshake_keys(enc_session); + } + return enc_session; +} + + +/* Server side: Session_cache_entry can be saved for 0rtt */ +static enc_session_t * +lsquic_enc_session_create_server (struct lsquic_conn *lconn, lsquic_cid_t cid, + struct lsquic_engine_public *enpub) +{ + fiu_return_on("handshake/new_enc_session", NULL); + + struct lsquic_enc_session *enc_session; + + enc_session = calloc(1, sizeof(*enc_session)); + if (!enc_session) + return NULL; + + enc_session->es_conn = lconn; + enc_session->enpub = enpub; + enc_session->cid = cid; + enc_session->es_flags |= ES_SERVER; + maybe_log_secrets(enc_session); + if (lconn->cn_version >= LSQVER_050) + { + enc_session->es_flags |= ES_GQUIC2; + gquic2_setup_handshake_keys(enc_session); + } + return enc_session; +} + + +static void +lsquic_enc_session_reset_cid (enc_session_t *enc_session_p, + const lsquic_cid_t *new_cid) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + + LSQ_INFOC("changing CID to %"CID_FMT, CID_BITS(new_cid)); + enc_session->cid = *new_cid; +} + + +static void +put_compressed_cert (struct compressed_cert *ccert) +{ + if (ccert) + { + assert(ccert->refcnt > 0); + --ccert->refcnt; + if (0 == ccert->refcnt) + free(ccert); + } +} + + +static struct compressed_cert * +new_compressed_cert (const unsigned char *buf, size_t len) +{ + struct compressed_cert *ccert; + + ccert = malloc(sizeof(*ccert) + len); + if (ccert) + { + ccert->refcnt = 1; + ccert->len = len; + memcpy(ccert->buf, buf, len); + } + return ccert; +} + + +static void +lsquic_enc_session_destroy (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + enum gel gel; + unsigned i; + + if (!enc_session) + return ; + + hs_ctx_t *hs_ctx = &enc_session->hs_ctx; + + lsquic_str_d(&hs_ctx->sni); + lsquic_str_d(&hs_ctx->ccs); + lsquic_str_d(&hs_ctx->ccrt); + lsquic_str_d(&hs_ctx->stk); + lsquic_str_d(&hs_ctx->sno); + lsquic_str_d(&hs_ctx->prof); + lsquic_str_d(&hs_ctx->csct); + put_compressed_cert(hs_ctx->ccert); + hs_ctx->ccert = NULL; + lsquic_str_d(&hs_ctx->uaid); + lsquic_str_d(&hs_ctx->scfg_pubs); + lsquic_str_d(&enc_session->chlo); + lsquic_str_d(&enc_session->sstk); + lsquic_str_d(&enc_session->ssno); + for (gel = 0; gel < N_GELS; ++gel) + for (i = 0; i < 2; ++i) + if (enc_session->es_aead_ctxs[gel][i]) + { + EVP_AEAD_CTX_cleanup(enc_session->es_aead_ctxs[gel][i]); + free(enc_session->es_aead_ctxs[gel][i]); + } + memset(enc_session->es_aead_ctxs, 0, sizeof(enc_session->es_aead_ctxs)); + if (enc_session->info) + { + lsquic_str_d(&enc_session->info->sstk); + lsquic_str_d(&enc_session->info->scfg); + lsquic_str_d(&enc_session->info->sni_key); + free(enc_session->info); + } + if (enc_session->cert_item) + { + free_c_cert_item(enc_session->cert_item); + enc_session->cert_item = NULL; + } + if ((enc_session->es_flags & ES_FREE_CERT_PTR) && enc_session->cert_ptr) + lsquic_str_delete(enc_session->cert_ptr); + free(enc_session); + +} + + +static int get_hs_state(struct lsquic_enc_session *enc_session) +{ + return enc_session->hsk_state; +} + + +/* make sure have more room for encrypt */ +static int +lsquic_enc_session_is_hsk_done (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return (get_hs_state(enc_session) == HSK_COMPLETED); +} + + +static void +process_copt (struct lsquic_enc_session *enc_session, const uint32_t *const opts, + unsigned n_opts) +{ + unsigned i; + for (i = 0; i < n_opts; ++i) + switch (opts[i]) + { + case QTAG_NSTP: + enc_session->hs_ctx.opts |= HOPT_NSTP; + break; + case QTAG_SREJ: + enc_session->hs_ctx.opts |= HOPT_SREJ; + break; + } +} + + +static int parse_hs_data (struct lsquic_enc_session *enc_session, uint32_t tag, + unsigned char *val, int len, uint32_t head_tag) +{ + hs_ctx_t * hs_ctx = &enc_session->hs_ctx; + int is_client = (head_tag != QTAG_CHLO); + + switch(tag) + { + case QTAG_PDMD: + hs_ctx->pdmd = get_tag_value_i32(val, len); + break; + + case QTAG_MIDS: + if (0 != get_tag_val_u32(val, len, + (is_client ? &hs_ctx->mids : &hs_ctx->smids))) + return -1; + break; + + case QTAG_SCLS: + hs_ctx->scls = get_tag_value_i32(val, len); + break; + + case QTAG_CFCW: + if (0 != get_tag_val_u32(val, len, (is_client ? &hs_ctx->cfcw : &hs_ctx->scfcw))) + return -1; + break; + + case QTAG_SFCW: + if (0 != get_tag_val_u32(val, len, (is_client ? &hs_ctx->sfcw : &hs_ctx->ssfcw))) + return -1; + break; + + case QTAG_ICSL: + hs_ctx->icsl = get_tag_value_i32(val, len); + break; + + case QTAG_IRTT: + if (0 != get_tag_val_u32(val, len, &hs_ctx->irtt)) + return -1; + hs_ctx->set |= HSET_IRTT; + break; + + case QTAG_COPT: + if (0 == len % sizeof(uint32_t)) + process_copt(enc_session, (uint32_t *) val, len / sizeof(uint32_t)); + /* else ignore, following the reference implementation */ + break; + + case QTAG_SNI: + lsquic_str_setto(&hs_ctx->sni, val, len); + ESHIST_APPEND(enc_session, ESHE_SET_SNI); + break; + + case QTAG_CCS: + lsquic_str_setto(&hs_ctx->ccs, val, len); + break; + + case QTAG_CCRT: + lsquic_str_setto(&hs_ctx->ccrt, val, len); + break; + + case QTAG_CRT: + put_compressed_cert(hs_ctx->ccert); + hs_ctx->ccert = new_compressed_cert(val, len); + break; + + case QTAG_PUBS: + if (head_tag == QTAG_SCFG) + lsquic_str_setto(&hs_ctx->scfg_pubs, val, len); + else if (len == 32) + memcpy(hs_ctx->pubs, val, len); + break; + + case QTAG_RCID: + hs_ctx->rcid = get_tag_value_i64(val, len); + break; + + case QTAG_UAID: + lsquic_str_setto(&hs_ctx->uaid, val, len); + break; + + case QTAG_SMHL: + if (0 != get_tag_val_u32(val, len, &hs_ctx->smhl)) + return -1; + hs_ctx->set |= HSET_SMHL; + break; + + case QTAG_TCID: + if (0 != get_tag_val_u32(val, len, &hs_ctx->tcid)) + return -1; + hs_ctx->set |= HSET_TCID; + break; + + case QTAG_EXPY: + enc_session->info->expy = get_tag_value_i64(val, len); + break; + + case QTAG_ORBT: + enc_session->info->orbt = get_tag_value_i64(val, len); + break; + + case QTAG_SNO: + if (is_client) + { + lsquic_str_setto(&enc_session->ssno, val, len); + } + else + { + /* Server side save a copy of SNO just for verify */ + lsquic_str_setto(&hs_ctx->sno, val, len); + } + ESHIST_APPEND(enc_session, ESHE_SET_SNO); + break; + + case QTAG_STK: + if (is_client) + { + lsquic_str_setto(&enc_session->info->sstk, val, len); + } + else + { + /* Server need to save a copy to verify */ + lsquic_str_setto(&hs_ctx->stk, val, len); + } + ESHIST_APPEND(enc_session, ESHE_SET_STK); + break; + + case QTAG_SCID: + if (len < SCID_LENGTH) + return -1; + if (is_client) + { + memcpy(enc_session->info->sscid, val, SCID_LENGTH); + } + else + { + memcpy(hs_ctx->scid, val, SCID_LENGTH); + hs_ctx->set |= HSET_SCID; + } + ESHIST_APPEND(enc_session, ESHE_SET_SCID); + break; + + case QTAG_AEAD: + if (is_client) + enc_session->info->aead = get_tag_value_i32(val, len); + else + hs_ctx->aead = get_tag_value_i32(val, len); + break; + + case QTAG_KEXS: + if (is_client) + { + if (head_tag == QTAG_SCFG && 0 == len % 4) + { + const unsigned char *p, *end; + unsigned pub_idx, idx; +#ifdef WIN32 + pub_idx = 0; +#endif + + for (p = val; p < val + len; p += 4) + if (0 == memcmp(p, "C255", 4)) + { + memcpy(&enc_session->info->kexs, p, 4); + pub_idx = (p - val) / 4; + LSQ_DEBUG("Parsing SCFG: supported KEXS C255 at " + "index %u", pub_idx); + break; + } + if (p >= val + len) + { + LSQ_INFO("supported KEXS not found, trouble ahead"); + break; + } + if (lsquic_str_len(&hs_ctx->scfg_pubs) > 0) + { + p = (const unsigned char *) + lsquic_str_cstr(&hs_ctx->scfg_pubs); + end = p + lsquic_str_len(&hs_ctx->scfg_pubs); + + for (idx = 0; p < end; ++idx) + { + uint32_t sz = 0; + if (p + 3 > end) + break; + sz |= *p++; + sz |= *p++ << 8; + sz |= *p++ << 16; + if (p + sz > end) + break; + if (idx == pub_idx) + { + if (sz == 32) + { + memcpy(hs_ctx->pubs, p, 32); + memcpy(enc_session->info->spubs, p, 32); + } + break; + } + p += sz; + } + } + else + LSQ_INFO("No PUBS from SCFG to parse"); + } + } + else + hs_ctx->kexs = get_tag_value_i32(val, len); + break; + + case QTAG_NONC: + if (len != sizeof(hs_ctx->nonc)) + return -1; + memcpy(hs_ctx->nonc, val, len); + break; + + case QTAG_SCFG: + if (is_client) + { + lsquic_str_setto(&enc_session->info->scfg, val, len); + enc_session->info->scfg_flag = 1; + } + else + LSQ_INFO("unexpected SCFG"); + break; + + case QTAG_PROF: + lsquic_str_setto(&hs_ctx->prof, val, len); + ESHIST_APPEND(enc_session, ESHE_SET_PROF); + break; + + case QTAG_STTL: + hs_ctx->sttl = get_tag_value_i64(val, len); + break; + + case QTAG_SRST: + if (enc_session->es_flags & ES_SERVER) + break; + if (len != sizeof(hs_ctx->srst)) + { + LSQ_INFO("Unexpected size of SRST: %u instead of %zu bytes", + len, sizeof(hs_ctx->srst)); + return -1; + } + memcpy(hs_ctx->srst, val, len); + hs_ctx->set |= HSET_SRST; + ESHIST_APPEND(enc_session, ESHE_SET_SRST); + break; + + case QTAG_XLCT: + if (len != sizeof(hs_ctx->xlct)) + { + LSQ_INFO("Unexpected size of XLCT: %u instead of %zu bytes", + len, sizeof(hs_ctx->xlct)); + return -1; + } + hs_ctx->set |= HSET_XLCT; + hs_ctx->xlct = get_tag_value_i64(val, len); + break; + + default: + LSQ_DEBUG("Ignored tag '%.*s'", 4, (char *)&tag); + break; + } + + return 0; +} + + +/* only for the hs stream-frame data, NOT with the packet header or frame header*/ +static enum handshake_error parse_hs (struct lsquic_enc_session *enc_session, + const unsigned char *buf, int buf_len, + uint32_t *head_tag) +{ + uint16_t i; + const unsigned char *p = buf; + const unsigned char *pend = buf + buf_len; + + unsigned char *data; + uint32_t len = 0, offset = 0; + uint16_t num; + uint32_t tag; + if (buf_len < 6) + return DATA_FORMAT_ERROR; + + memcpy(&tag, p, 4); + p += 4; + + if (enc_session->es_flags & ES_SERVER) + { /* Server only expects to receive CHLO messages from the client */ + if (tag != QTAG_CHLO) + return DATA_FORMAT_ERROR; + } + else + { + if (tag != QTAG_SREJ && tag != QTAG_REJ && tag != QTAG_SHLO && + tag != QTAG_SCFG) + return DATA_FORMAT_ERROR; + } + + *head_tag = tag; + + memcpy((char *)&num, p, 2); + p += 2 + 2; /* the 2 bytes padding 0x0000 need to be bypassed */ + + if (num < 1) + return DATA_FORMAT_ERROR; + + data = (uint8_t *)(buf + 4 * 2 * (1 + num)); + if ((const char *)data > (const char *)pend) + { + LSQ_DEBUG("parse_hs tag '%.*s' error: data not enough", 4, (char *)head_tag); + return DATA_NOT_ENOUGH; + } + + /* check last offset */ + memcpy((char *)&len, data - 4, 4); + if ((const char *)data + len > (const char *)pend) + { + LSQ_DEBUG("parse_hs tag '%.*s' error: data not enough!!!", 4, (char *)head_tag); + return DATA_NOT_ENOUGH; + } + + for (i=0; i (const char *)pend) + return DATA_FORMAT_ERROR; + + if (0 != parse_hs_data(enc_session, tag, data + offset, len, + *head_tag)) + return DATA_FORMAT_ERROR; + offset += len; + } + + LSQ_DEBUG("parse_hs tag '%.*s' no error.", 4, (char *)head_tag); + return DATA_NO_ERROR; +} + + +static uint32_t get_tag_value_i32(unsigned char *val, int len) +{ + uint32_t v; + if (len < 4) + return 0; + memcpy(&v, val, 4); + return v; +} + + +static uint64_t get_tag_value_i64(unsigned char *val, int len) +{ + uint64_t v; + if (len < 8) + return 0; + memcpy(&v, val, 8); + return v; +} + + +static int +get_tag_val_u32 (unsigned char *v, int len, uint32_t *val) +{ + if (len != 4) + return -1; + memcpy(val, v, 4); + return 0; +} + + +/* From "QUIC Crypto" for easy reference: + * + * A handshake message consists of: + * - The tag of the message. + * - A uint16 containing the number of tag-value pairs. + * - Two bytes of padding which should be zero when sent but ignored when + * received. + * - A series of uint32 tags and uint32 end offsets, one for each + * tag-value pair. The tags must be strictly monotonically + * increasing, and the end-offsets must be monotonic non-decreasing. + * The end offset gives the offset, from the start of the value + * data, to a byte one beyond the end of the data for that tag. + * (Thus the end offset of the last tag contains the length of the + * value data). + * - The value data, concatenated without padding. + */ + +struct table_entry { uint32_t tag, off; }; + +struct message_writer +{ + unsigned char *mw_p; + struct table_entry mw_first_dummy_entry; + struct table_entry *mw_entry, + *mw_prev_entry, + *mw_end; +}; + +/* MW_ family of macros is used to write entries to handshake message + * (MW stands for "message writer"). + */ +#define MW_BEGIN(mw, msg_tag, n_entries, data_ptr) do { \ + uint32_t t_ = msg_tag; \ + uint16_t n_ = n_entries; \ + memcpy(data_ptr, &t_, 4); \ + memcpy(data_ptr + 4, &n_, 2); \ + memset(data_ptr + 4 + 2, 0, 2); \ + (mw)->mw_entry = (void *) (data_ptr + 8); \ + (mw)->mw_p = data_ptr + 8 + \ + (n_entries) * sizeof((mw)->mw_entry[0]); \ + (mw)->mw_first_dummy_entry.tag = 0; \ + (mw)->mw_first_dummy_entry.off = 0; \ + (mw)->mw_prev_entry = &(mw)->mw_first_dummy_entry; \ + (mw)->mw_end = (void *) (mw)->mw_p; \ +} while (0) + +#ifndef NDEBUG +# define MW_END(mw) do { \ + assert((mw)->mw_entry == (mw)->mw_end); \ + } while (0) +#else +# define MW_END(mw) +#endif + +#define MW_P(mw) ((mw)->mw_p) + +#define MW_ADVANCE_P(mw, n) do { \ + MW_P(mw) += (n); \ +} while (0) + +#define MW_WRITE_TABLE_ENTRY(mw, tag_, sz) do { \ + assert((mw)->mw_prev_entry->tag < (tag_)); \ + assert((mw)->mw_entry < (mw)->mw_end); \ + (mw)->mw_entry->tag = (tag_); \ + (mw)->mw_entry->off = (mw)->mw_prev_entry->off + (sz); \ + (mw)->mw_prev_entry = (mw)->mw_entry; \ + ++(mw)->mw_entry; \ +} while (0) + +#define MW_WRITE_BUFFER(mw, tag, buf, sz) do { \ + MW_WRITE_TABLE_ENTRY(mw, tag, sz); \ + memcpy(MW_P(mw), buf, sz); \ + MW_ADVANCE_P(mw, sz); \ +} while (0) + +#define MW_WRITE_LS_STR(mw, tag, s) \ + MW_WRITE_BUFFER(mw, tag, lsquic_str_buf(s), lsquic_str_len(s)) + +#define MW_WRITE_UINT32(mw, tag, val) do { \ + uint32_t v_ = (val); \ + MW_WRITE_BUFFER(mw, tag, &v_, sizeof(v_)); \ +} while (0) + +#define MW_WRITE_UINT64(mw, tag, val) do { \ + uint64_t v_ = (val); \ + MW_WRITE_BUFFER(mw, tag, &v_, sizeof(v_)); \ +} while (0) + + +/* MSG_LEN_ family of macros calculates buffer size required for a + * handshake message. + */ +#define MSG_LEN_INIT(len) do { \ + len = 4 /* Tag */ + 2 /* # tags */ + 2 /* Two zero bytes */; \ +} while (0) + +#define MSG_LEN_ADD(len, payload_sz) do { \ + len += 4 + 4 + (payload_sz); \ +} while (0) + +#define MSG_LEN_VAL(len) (+(len)) + + +static int +lsquic_enc_session_gen_chlo (enc_session_t *enc_session_p, + enum lsquic_version version, uint8_t *buf, size_t *len) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + int include_pad; + const lsquic_str_t *const ccs = lsquic_get_common_certs_hash(); + const struct lsquic_engine_settings *const settings = + &enc_session->enpub->enp_settings; + c_cert_item_t *const cert_item = enc_session->cert_item; + unsigned char pub_key[32]; + size_t ua_len; + uint32_t opts[1]; /* Only NSTP is supported for now */ + unsigned n_opts, msg_len, n_tags, pad_size; + struct message_writer mw; + + /* Before we do anything else, sanity check: */ + if (*len < MIN_CHLO_SIZE) + return -1; + + n_opts = 0; + /* CHLO is not regenerated during version negotiation. Hence we always + * include this option to cover the case when Q044 or Q046 gets negotiated + * down. + */ + if (settings->es_support_nstp) + opts[ n_opts++ ] = QTAG_NSTP; + + /* Count tags and calculate required buffer size: */ + MSG_LEN_INIT(msg_len); n_tags = 0; + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* PDMD */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* AEAD */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* VER */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* MIDS */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* SCLS */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* CFCW */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* SFCW */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* ICSL */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* SMHL */ + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* KEXS */ + MSG_LEN_ADD(msg_len, 0); ++n_tags; /* CSCT */ + if (n_opts > 0) + { + MSG_LEN_ADD(msg_len, sizeof(opts[0]) * n_opts); + ++n_tags; /* COPT */ + } + if (settings->es_ua) + { + ua_len = strlen(settings->es_ua); + if (ua_len > 0) + { + MSG_LEN_ADD(msg_len, ua_len); ++n_tags; /* UAID */ + } + } + else + ua_len = 0; + if (settings->es_support_tcid0) + { + MSG_LEN_ADD(msg_len, 4); ++n_tags; /* TCID */ + } + MSG_LEN_ADD(msg_len, lsquic_str_len(&enc_session->hs_ctx.sni)); + ++n_tags; /* SNI */ + MSG_LEN_ADD(msg_len, lsquic_str_len(ccs)); ++n_tags; /* CCS */ + if (cert_item) + { + enc_session->cert_ptr = &cert_item->crts[0]; + MSG_LEN_ADD(msg_len, lsquic_str_len(cert_item->hashs)); + ++n_tags; /* CCRT */ + MSG_LEN_ADD(msg_len, 8); ++n_tags; /* XLCT */ + } + MSG_LEN_ADD(msg_len, lsquic_str_len(&enc_session->ssno)); + ++n_tags; /* SNO */ + MSG_LEN_ADD(msg_len, lsquic_str_len(&enc_session->info->sstk)); + ++n_tags; /* STK */ + if (lsquic_str_len(&enc_session->info->scfg) > 0) + { + MSG_LEN_ADD(msg_len, sizeof(enc_session->info->sscid)); + ++n_tags; /* SCID */ + if (enc_session->cert_ptr) + { + MSG_LEN_ADD(msg_len, sizeof(pub_key)); + ++n_tags; /* PUBS */ + MSG_LEN_ADD(msg_len, sizeof(enc_session->hs_ctx.nonc)); + ++n_tags; /* NONC */ + RAND_bytes(enc_session->priv_key, 32); + lsquic_c255_get_pub_key(enc_session->priv_key, pub_key); + lsquic_gen_nonce_c(enc_session->hs_ctx.nonc, enc_session->info->orbt); + } + } + include_pad = MSG_LEN_VAL(msg_len) < MIN_CHLO_SIZE; + if (include_pad) + { + if (MSG_LEN_VAL(msg_len) + sizeof(struct table_entry) < MIN_CHLO_SIZE) + pad_size = MIN_CHLO_SIZE - MSG_LEN_VAL(msg_len) - + sizeof(struct table_entry); + else + pad_size = 0; + MSG_LEN_ADD(msg_len, pad_size); ++n_tags; /* PAD */ + } +#ifdef WIN32 + else + pad_size = 0; +#endif + + /* Check that we have enough room in the output buffer: */ + if (MSG_LEN_VAL(msg_len) > *len) + return -1; + + /* Write CHLO: */ + MW_BEGIN(&mw, QTAG_CHLO, n_tags, buf); + if (include_pad) + { + memset(MW_P(&mw), '-', pad_size); + MW_WRITE_TABLE_ENTRY(&mw, QTAG_PAD, pad_size); + MW_ADVANCE_P(&mw, pad_size); + } + MW_WRITE_LS_STR(&mw, QTAG_SNI, &enc_session->hs_ctx.sni); + MW_WRITE_LS_STR(&mw, QTAG_STK, &enc_session->info->sstk); + MW_WRITE_LS_STR(&mw, QTAG_SNO, &enc_session->ssno); + MW_WRITE_UINT32(&mw, QTAG_VER, lsquic_ver2tag(version)); + MW_WRITE_LS_STR(&mw, QTAG_CCS, ccs); + if (lsquic_str_len(&enc_session->info->scfg) > 0 && enc_session->cert_ptr) + MW_WRITE_BUFFER(&mw, QTAG_NONC, enc_session->hs_ctx.nonc, + sizeof(enc_session->hs_ctx.nonc)); + MW_WRITE_UINT32(&mw, QTAG_AEAD, settings->es_aead); + if (ua_len) + MW_WRITE_BUFFER(&mw, QTAG_UAID, settings->es_ua, ua_len); + if (lsquic_str_len(&enc_session->info->scfg) > 0) + MW_WRITE_BUFFER(&mw, QTAG_SCID, enc_session->info->sscid, + sizeof(enc_session->info->sscid)); + if (settings->es_support_tcid0) + MW_WRITE_UINT32(&mw, QTAG_TCID, 0); + MW_WRITE_UINT32(&mw, QTAG_PDMD, settings->es_pdmd); + MW_WRITE_UINT32(&mw, QTAG_SMHL, 1); + MW_WRITE_UINT32(&mw, QTAG_ICSL, settings->es_idle_conn_to / 1000000); + if (lsquic_str_len(&enc_session->info->scfg) > 0 && enc_session->cert_ptr) + MW_WRITE_BUFFER(&mw, QTAG_PUBS, pub_key, sizeof(pub_key)); + MW_WRITE_UINT32(&mw, QTAG_MIDS, settings->es_max_streams_in); + MW_WRITE_UINT32(&mw, QTAG_SCLS, settings->es_silent_close); + MW_WRITE_UINT32(&mw, QTAG_KEXS, settings->es_kexs); + if (cert_item) + MW_WRITE_BUFFER(&mw, QTAG_XLCT, lsquic_str_buf(cert_item->hashs), 8); + /* CSCT is empty on purpose (retained from original code) */ + MW_WRITE_TABLE_ENTRY(&mw, QTAG_CSCT, 0); + if (n_opts > 0) + MW_WRITE_BUFFER(&mw, QTAG_COPT, opts, n_opts * sizeof(opts[0])); + if (cert_item) + MW_WRITE_LS_STR(&mw, QTAG_CCRT, cert_item->hashs); + MW_WRITE_UINT32(&mw, QTAG_CFCW, settings->es_cfcw); + MW_WRITE_UINT32(&mw, QTAG_SFCW, settings->es_sfcw); + MW_END(&mw); + assert(buf + *len >= MW_P(&mw)); + + *len = MW_P(&mw) - buf; + + lsquic_str_setto(&enc_session->chlo, buf, *len); + + if (lsquic_str_len(&enc_session->info->scfg) > 0 && enc_session->cert_ptr) + { + enc_session->have_key = 0; + assert(lsquic_str_len(enc_session->cert_ptr) > 0); + determine_keys(enc_session); + enc_session->have_key = 1; + } + + LSQ_DEBUG("lsquic_enc_session_gen_chlo called, return 0, buf_len %zd.", *len); + return 0; +} + + +static enum handshake_error +determine_rtts (struct lsquic_enc_session *enc_session, + const struct sockaddr *ip_addr, time_t t) +{ + hs_ctx_t *const hs_ctx = &enc_session->hs_ctx; + enum hsk_failure_reason hfr; + + if (!(hs_ctx->set & HSET_SCID)) + { + hs_ctx->rrej = HFR_CONFIG_INCHOATE_HELLO; + ESHIST_APPEND(enc_session, ESHE_MISSING_SCID); + goto fail_1rtt; + } + + hfr = lsquic_verify_stk(enc_session, ip_addr, t, &hs_ctx->stk); + if (hfr != HFR_HANDSHAKE_OK) + { + hs_ctx->rrej = hfr; + ESHIST_APPEND(enc_session, ESHE_VSTK_FAILED); + goto fail_1rtt; + } + else + ESHIST_APPEND(enc_session, ESHE_VSTK_OK); + + if (memcmp(enc_session->server_config->lsc_scfg->info.sscid, hs_ctx->scid, 16) != 0) + { + hs_ctx->rrej = HFR_CONFIG_UNKNOWN_CONFIG; + ESHIST_APPEND(enc_session, ESHE_UNKNOWN_CONFIG); + goto fail_1rtt; + } + + if (!(lsquic_str_len(&hs_ctx->ccrt) > 0)) + { + /* We provide incorrect RREJ here because there is not one that fits + * this case. We can tell them apart: one comes in SREJ, the other + * in REJ. + */ + hs_ctx->rrej = HFR_CONFIG_INCHOATE_HELLO; + ESHIST_APPEND(enc_session, ESHE_EMPTY_CCRT); + goto fail_1rtt; + } + + if (hs_ctx->set & HSET_XLCT) + { + if (enc_session->cert_hash != hs_ctx->xlct) + { + /* The expected leaf certificate hash could not be validated. */ + hs_ctx->rrej = HFR_INVALID_EXPECTED_LEAF_CERTIFICATE; + ESHIST_APPEND(enc_session, ESHE_XLCT_MISMATCH); + goto fail_1rtt; + } + } + + if (lsquic_str_len(&enc_session->ssno) > 0) + { + if (lsquic_str_len(&hs_ctx->sno) == 0) + { + hs_ctx->rrej = HFR_SERVER_NONCE_REQUIRED; + ESHIST_APPEND(enc_session, ESHE_MISSING_SNO); + goto fail_1rtt; + } + else if (lsquic_str_bcmp(&enc_session->ssno, &hs_ctx->sno) != 0) + { + hs_ctx->rrej = HFR_SERVER_NONCE_INVALID; + ESHIST_APPEND(enc_session, ESHE_SNO_MISMATCH); + goto fail_1rtt; + } + else + ESHIST_APPEND(enc_session, ESHE_SNO_OK); + } + + enc_session->hsk_state = HSK_SHLO; + memcpy(enc_session->priv_key, enc_session->server_config->lsc_scfg->info.priv_key, 32); + return HS_SHLO; + + fail_1rtt: + enc_session->hsk_state = HSK_CHLO_REJ; + return HS_1RTT; +} + + +static int +config_has_correct_size (const struct lsquic_enc_session *enc_session, + const void *data, unsigned shm_len) +{ + /* EVP_AEAD_CTX from boringssl after-18d9f28f0df9f95570. */ + struct new_evp_aead_ctx_st { + void *ptr1; /* aead */ + void *ptr2; /* aead_state */ + uint8_t tag_len; + }; + + /* This is how SHM would like in 5.2.1 builds 7 and 8: */ + struct old_scfg_info + { + unsigned char sscid[SCID_LENGTH]; + unsigned char priv_key[32]; + unsigned char skt_key[16]; + uint32_t aead; + uint32_t kexs; + uint32_t pdmd; + uint64_t orbt; + uint64_t expy; + struct new_evp_aead_ctx_st ctx; + short scfg_len; + }; + + const SCFG_t *const modern_config = data; + const struct old_scfg_info *const old_info = data; + size_t expected_size; + + expected_size = modern_config->info.scfg_len + sizeof(*modern_config); + if (expected_size == shm_len) + return 1; + + if (old_info->scfg_len + sizeof(*old_info) == shm_len) + { + LSQ_WARN("Generating new server config"); + return 0; + } + + LSQ_ERROR("Server config has size %u -- expected %zd", shm_len, + expected_size); + return 0; +} + + +static lsquic_server_config_t * +get_valid_scfg (const struct lsquic_enc_session *enc_session, + const struct lsquic_engine_public *enpub) +{ +#define SERVER_SCFG_KEY "SERVER_SCFG" +#define SERVER_SCFG_KEY_SIZE (sizeof(SERVER_SCFG_KEY) - 1) + const struct lsquic_engine_settings *const settings = &enpub->enp_settings; + const struct lsquic_shared_hash_if *const shi = enpub->enp_shi; + void *const shi_ctx = enpub->enp_shi_ctx; + uint8_t spubs[35] = {0x20, 0, 0, };/* need to init first 3 bytes */ + time_t t = time(NULL); + unsigned int real_len; + SCFG_info_t *temp_scfg; + void *scfg_ptr; + int ret; + unsigned msg_len, server_config_sz; + struct message_writer mw; + + if (enpub->enp_server_config->lsc_scfg && (enpub->enp_server_config->lsc_scfg->info.expy > (uint64_t)t)) + return enpub->enp_server_config; + + ret = shi->shi_lookup(shi_ctx, SERVER_SCFG_KEY, SERVER_SCFG_KEY_SIZE, + &scfg_ptr, &real_len); + if (ret == 1) + { + if (config_has_correct_size(enc_session, scfg_ptr, real_len) && + (enpub->enp_server_config->lsc_scfg = scfg_ptr, + enpub->enp_server_config->lsc_scfg->info.expy > (uint64_t)t)) + { + /* Why need to init here, because this memory may be read from SHM, + * the struct is ready but AEAD_CTX is not ready. + **/ + EVP_AEAD_CTX_init(&enpub->enp_server_config->lsc_stk_ctx, EVP_aead_aes_128_gcm(), + enpub->enp_server_config->lsc_scfg->info.skt_key, 16, 12, NULL); + return enpub->enp_server_config; + } + else + { + shi->shi_delete(shi_ctx, SERVER_SCFG_KEY, SERVER_SCFG_KEY_SIZE); + } + } + + MSG_LEN_INIT(msg_len); + MSG_LEN_ADD(msg_len, sizeof(temp_scfg->sscid)); + MSG_LEN_ADD(msg_len, sizeof(spubs)); + MSG_LEN_ADD(msg_len, enpub->enp_ver_tags_len); + MSG_LEN_ADD(msg_len, sizeof(temp_scfg->aead)); + MSG_LEN_ADD(msg_len, sizeof(temp_scfg->kexs)); + MSG_LEN_ADD(msg_len, sizeof(temp_scfg->pdmd)); + MSG_LEN_ADD(msg_len, sizeof(temp_scfg->orbt)); + MSG_LEN_ADD(msg_len, sizeof(temp_scfg->expy)); + + server_config_sz = sizeof(*enpub->enp_server_config->lsc_scfg) + MSG_LEN_VAL(msg_len); + enpub->enp_server_config->lsc_scfg = malloc(server_config_sz); + if (!enpub->enp_server_config->lsc_scfg) + return NULL; + + temp_scfg = &enpub->enp_server_config->lsc_scfg->info; + RAND_bytes(temp_scfg->skt_key, sizeof(temp_scfg->skt_key)); + RAND_bytes(temp_scfg->sscid, sizeof(temp_scfg->sscid)); + RAND_bytes(temp_scfg->priv_key, sizeof(temp_scfg->priv_key)); + lsquic_c255_get_pub_key(temp_scfg->priv_key, spubs + 3); + temp_scfg->aead = settings->es_aead; + temp_scfg->kexs = settings->es_kexs; + temp_scfg->pdmd = settings->es_pdmd; + temp_scfg->orbt = 0; + temp_scfg->expy = t + settings->es_sttl; + + MW_BEGIN(&mw, QTAG_SCFG, 8, enpub->enp_server_config->lsc_scfg->scfg); + MW_WRITE_BUFFER(&mw, QTAG_VER, enpub->enp_ver_tags_buf, + enpub->enp_ver_tags_len); + MW_WRITE_UINT32(&mw, QTAG_AEAD, temp_scfg->aead); + MW_WRITE_BUFFER(&mw, QTAG_SCID, temp_scfg->sscid, sizeof(temp_scfg->sscid)); + MW_WRITE_UINT32(&mw, QTAG_PDMD, temp_scfg->pdmd); + MW_WRITE_BUFFER(&mw, QTAG_PUBS, spubs, sizeof(spubs)); + MW_WRITE_UINT32(&mw, QTAG_KEXS, temp_scfg->kexs); + MW_WRITE_UINT64(&mw, QTAG_ORBT, temp_scfg->orbt); + MW_WRITE_UINT64(&mw, QTAG_EXPY, temp_scfg->expy); + MW_END(&mw); + assert(MW_P(&mw) == enpub->enp_server_config->lsc_scfg->scfg + MSG_LEN_VAL(msg_len)); + + temp_scfg->scfg_len = MSG_LEN_VAL(msg_len); + + LSQ_DEBUG("%s called, return len %d.", __func__, temp_scfg->scfg_len); + +// /* TODO: will shi_delete call free to release the buffer? */ +// shi->shi_delete(shi_ctx, SERVER_SCFG_KEY, SERVER_SCFG_KEY_SIZE); + shi->shi_insert(shi_ctx, SERVER_SCFG_KEY, SERVER_SCFG_KEY_SIZE, + enpub->enp_server_config->lsc_scfg, server_config_sz, t + settings->es_sttl); + + ret = shi->shi_lookup(shi_ctx, SERVER_SCFG_KEY, SERVER_SCFG_KEY_SIZE, + &scfg_ptr, &real_len); + if (ret == 1) + { + free(enpub->enp_server_config->lsc_scfg); + enpub->enp_server_config->lsc_scfg = scfg_ptr; + } + else + { + /* Since internal error occured, but I have to use a SCFG, log it*/ + LSQ_DEBUG("get_valid_scfg got an shi internal error.\n"); + } + + ret = EVP_AEAD_CTX_init(&enpub->enp_server_config->lsc_stk_ctx, EVP_aead_aes_128_gcm(), + enpub->enp_server_config->lsc_scfg->info.skt_key, + sizeof(enpub->enp_server_config->lsc_scfg->info.skt_key), 12, NULL); + + LSQ_DEBUG("get_valid_scfg::EVP_AEAD_CTX_init return %d.", ret); + return enpub->enp_server_config; +} + + +static int +generate_crt (struct lsquic_enc_session *enc_session, int common_case) +{ + int i, n, len, crt_num, rv = -1; + lsquic_str_t **crts; + unsigned char *out; + X509* crt; + STACK_OF(X509) *pXchain; + SSL_CTX *const ctx = enc_session->ssl_ctx; + hs_ctx_t *const hs_ctx = &enc_session->hs_ctx; + struct compressed_cert *ccert; + + SSL_CTX_get0_chain_certs(ctx, &pXchain); + n = sk_X509_num(pXchain); + crt_num = n + 1; + + crts = calloc(crt_num, sizeof(crts[0])); + if (!crts) + return -1; + + crts[0] = lsquic_str_new(lsquic_str_cstr(enc_session->cert_ptr), + lsquic_str_len(enc_session->cert_ptr)); + if (!crts[0]) + goto cleanup; + + for (i = 1; i < crt_num; i++) + { + crt = sk_X509_value(pXchain, i - 1); + out = NULL; + len = i2d_X509(crt, &out); + if (len < 0) + goto cleanup; + crts[i] = lsquic_str_new((const char *) out, len); + OPENSSL_free(out); + } + + ccert = lsquic_compress_certs(crts, crt_num, &hs_ctx->ccs, &hs_ctx->ccrt); + if (!ccert) + goto cleanup; + + if (common_case) + { + if (SSL_CTX_set_ex_data(ctx, s_ccrt_idx, ccert)) + ++ccert->refcnt; + else + { + free(ccert); + ccert = NULL; + goto cleanup; + } + } + + ++ccert->refcnt; + hs_ctx->ccert = ccert; + + /* We got here, set rv to 0: success */ + rv = 0; + + cleanup: + for (i = 0; i < crt_num; ++i) + if (crts[i]) + lsquic_str_delete(crts[i]); + free(crts); + return rv; +} + + +/* rtt == 1 case */ +static int +gen_rej1_data (struct lsquic_enc_session *enc_session, uint8_t *data, + size_t max_len, const struct sockaddr *ip, time_t t) +{ +#ifndef WIN32 +# define ERR(e_) do { return (e_); } while (0) +#else +# define ERR(e_) do { len = (e_); goto end; } while (0) +#endif + int len; + EVP_PKEY * rsa_priv_key; + SSL_CTX *ctx = enc_session->ssl_ctx; + hs_ctx_t *const hs_ctx = &enc_session->hs_ctx; + int scfg_len = enc_session->server_config->lsc_scfg->info.scfg_len; + uint8_t *scfg_data = enc_session->server_config->lsc_scfg->scfg; + int common_case; + size_t msg_len; + struct message_writer mw; + uint64_t sttl; + + rsa_priv_key = SSL_CTX_get0_privatekey(ctx); + if (!rsa_priv_key) + return -1; + + size_t prof_len = (size_t) EVP_PKEY_size(rsa_priv_key); +#ifndef WIN32 + char prof_buf[prof_len]; +#else + char *prof_buf = _malloca(prof_len); + if (!prof_buf) + return -1; +#endif + + if (hs_ctx->ccert) + { + put_compressed_cert(hs_ctx->ccert); + hs_ctx->ccert = NULL; + } + + /** + * Only cache hs_ctx->ccs is the hardcoded common certs and hs_ctx->ccrt is empty case + * This is the most common case + */ + common_case = lsquic_str_len(&hs_ctx->ccrt) == 0 + && lsquic_str_bcmp(&hs_ctx->ccs, lsquic_get_common_certs_hash()) == 0; + if (common_case) + hs_ctx->ccert = SSL_CTX_get_ex_data(ctx, s_ccrt_idx); + + if (hs_ctx->ccert) + { + ++hs_ctx->ccert->refcnt; + LSQ_DEBUG("use cached compressed cert"); + } + else if (0 == generate_crt(enc_session, common_case)) + LSQ_DEBUG("generated compressed cert"); + else + { + LSQ_INFO("cannot could not generate compressed cert for"); + ERR(-1); + } + + LSQ_DEBUG("gQUIC rej1 data"); + LSQ_DEBUG("gQUIC NOT enabled"); + const int s = lsquic_gen_prof((const uint8_t *)lsquic_str_cstr(&enc_session->chlo), + (size_t)lsquic_str_len(&enc_session->chlo), + scfg_data, scfg_len, + rsa_priv_key, (uint8_t *)prof_buf, &prof_len); + if (s != 0) + { + LSQ_INFO("could not generate server proof, code %d", s); + ERR(-1); + } + + lsquic_str_setto(&hs_ctx->prof, prof_buf, prof_len); + + if (!hs_ctx->rrej) + { + LSQ_WARN("REJ: RREJ is not set, use default"); + hs_ctx->rrej = HFR_CLIENT_NONCE_UNKNOWN; + } + + MSG_LEN_INIT(msg_len); + MSG_LEN_ADD(msg_len, sizeof(hs_ctx->rrej)); + MSG_LEN_ADD(msg_len, scfg_len); + MSG_LEN_ADD(msg_len, STK_LENGTH); + MSG_LEN_ADD(msg_len, SNO_LENGTH); + MSG_LEN_ADD(msg_len, sizeof(sttl)); + MSG_LEN_ADD(msg_len, lsquic_str_len(&hs_ctx->prof)); + if (hs_ctx->ccert) + MSG_LEN_ADD(msg_len, hs_ctx->ccert->len); + + if (MSG_LEN_VAL(msg_len) > max_len) + ERR(-1); + + memcpy(enc_session->priv_key, enc_session->server_config->lsc_scfg->info.priv_key, 32); + + if (lsquic_str_len(&enc_session->sstk) != STK_LENGTH) + { + lsquic_str_d(&enc_session->sstk); + lsquic_str_prealloc(&enc_session->sstk, STK_LENGTH); + lsquic_str_setlen(&enc_session->sstk, STK_LENGTH); + } + lsquic_gen_stk(enc_session->server_config, ip, t, + (unsigned char *) lsquic_str_buf(&enc_session->sstk)); + + if (lsquic_str_len(&enc_session->ssno) != SNO_LENGTH) + { + lsquic_str_d(&enc_session->ssno); + lsquic_str_prealloc(&enc_session->ssno, SNO_LENGTH); + lsquic_str_setlen(&enc_session->ssno, SNO_LENGTH); + } + RAND_bytes((uint8_t *) lsquic_str_buf(&enc_session->ssno), SNO_LENGTH); + sttl = enc_session->enpub->enp_server_config->lsc_scfg->info.expy + - (uint64_t) time(NULL); + + MW_BEGIN(&mw, QTAG_REJ, 7, data); + MW_WRITE_LS_STR(&mw, QTAG_STK, &enc_session->sstk); + MW_WRITE_LS_STR(&mw, QTAG_SNO, &enc_session->ssno); + MW_WRITE_LS_STR(&mw, QTAG_PROF, &hs_ctx->prof); + MW_WRITE_BUFFER(&mw, QTAG_SCFG, scfg_data, scfg_len); + MW_WRITE_BUFFER(&mw, QTAG_RREJ, &hs_ctx->rrej, sizeof(hs_ctx->rrej)); + MW_WRITE_BUFFER(&mw, QTAG_STTL, &sttl, sizeof(sttl)); + if (hs_ctx->ccert) + MW_WRITE_BUFFER(&mw, QTAG_CRT, hs_ctx->ccert->buf, hs_ctx->ccert->len); + MW_END(&mw); + + assert(data + max_len >= MW_P(&mw)); + len = MW_P(&mw) - data; + LSQ_DEBUG("gen_rej1_data called, return len %d.", len); +#ifdef WIN32 + end: + _freea(prof_buf); +#endif + return len; +#undef ERR +} + + +/* rtt == 0 case */ +static int +gen_shlo_data (uint8_t *buf, size_t buf_len, struct lsquic_enc_session *enc_session, + enum lsquic_version version, const struct sockaddr *ip, + time_t t, uint8_t *nonce) +{ + char pub_key[32]; + const struct lsquic_engine_settings *const settings = + &enc_session->enpub->enp_settings; + struct message_writer mw; + int len; + const int include_reset_token = version >= LSQVER_046; + size_t msg_len; + + MSG_LEN_INIT(msg_len); + MSG_LEN_ADD(msg_len, enc_session->enpub->enp_ver_tags_len); + MSG_LEN_ADD(msg_len, sizeof(pub_key)); + MSG_LEN_ADD(msg_len, 4); /* MIDS */ + MSG_LEN_ADD(msg_len, 4); /* CFCW */ + MSG_LEN_ADD(msg_len, 4); /* SFCW */ + MSG_LEN_ADD(msg_len, 4); /* ICSL */ + MSG_LEN_ADD(msg_len, 4); /* SMHL */ + MSG_LEN_ADD(msg_len, lsquic_str_len(&enc_session->sstk)); + MSG_LEN_ADD(msg_len, lsquic_str_len(&enc_session->ssno)); + if (include_reset_token) + MSG_LEN_ADD(msg_len, SRST_LENGTH); + + if (MSG_LEN_VAL(msg_len) > buf_len) + return -1; + + RAND_bytes(nonce, 32); + RAND_bytes(enc_session->priv_key, 32); + lsquic_c255_get_pub_key(enc_session->priv_key, (unsigned char *)pub_key); + if (lsquic_str_len(&enc_session->sstk) != STK_LENGTH) + { + lsquic_str_d(&enc_session->sstk); + lsquic_str_prealloc(&enc_session->sstk, STK_LENGTH); + lsquic_str_setlen(&enc_session->sstk, STK_LENGTH); + } + lsquic_gen_stk(enc_session->server_config, ip, t, + (unsigned char *) lsquic_str_buf(&enc_session->sstk)); + if (lsquic_str_len(&enc_session->ssno) != SNO_LENGTH) + { + lsquic_str_d(&enc_session->ssno); + lsquic_str_prealloc(&enc_session->ssno, SNO_LENGTH); + lsquic_str_setlen(&enc_session->ssno, SNO_LENGTH); + } + RAND_bytes((uint8_t *) lsquic_str_buf(&enc_session->ssno), SNO_LENGTH); + + MW_BEGIN(&mw, QTAG_SHLO, 9 + include_reset_token, buf); + MW_WRITE_LS_STR(&mw, QTAG_STK, &enc_session->sstk); + MW_WRITE_LS_STR(&mw, QTAG_SNO, &enc_session->ssno); + MW_WRITE_BUFFER(&mw, QTAG_VER, enc_session->enpub->enp_ver_tags_buf, + enc_session->enpub->enp_ver_tags_len); + MW_WRITE_UINT32(&mw, QTAG_SMHL, 1); + MW_WRITE_UINT32(&mw, QTAG_ICSL, settings->es_idle_conn_to / 1000000); + MW_WRITE_BUFFER(&mw, QTAG_PUBS, pub_key, sizeof(pub_key)); + MW_WRITE_UINT32(&mw, QTAG_MIDS, settings->es_max_streams_in); + if (include_reset_token) + { + MW_WRITE_TABLE_ENTRY(&mw, QTAG_SRST, SRST_LENGTH); + lsquic_tg_generate_sreset(enc_session->enpub->enp_tokgen, + &enc_session->cid, MW_P(&mw)); + MW_ADVANCE_P(&mw, SRST_LENGTH); + } + MW_WRITE_UINT32(&mw, QTAG_CFCW, settings->es_cfcw); + MW_WRITE_UINT32(&mw, QTAG_SFCW, settings->es_sfcw); + MW_END(&mw); + + assert(buf + buf_len >= MW_P(&mw)); + len = MW_P(&mw) - buf; + LSQ_DEBUG("gen_shlo_data called, return len %d.", len); + return len; +} + + +/* Generate key based on issuer and serial number. The key has the following + * structure: + * + * size_t length of issuer. This field is required to prevent + * the chance (however remote) that concatenation of + * the next two fields is ambiguous. + * uint8_t[] DER-encoded issuer + * uint8_t[] Serial number represented as sequence of bytes output + * by BN_bn2bin + * + * Return size of the key or zero on error. + */ +static size_t +gen_iasn_key (X509 *cert, unsigned char *const out, size_t const sz) +{ + const unsigned char *name_bytes; + size_t name_sz; + X509_NAME *name; + ASN1_INTEGER *sernum; + BIGNUM *bn; + unsigned bn_sz; + + name = X509_get_issuer_name(cert); + if (!name) + return 0; + if (!X509_NAME_get0_der(name, &name_bytes, &name_sz)) + return 0; + sernum = X509_get_serialNumber(cert); + if (!sernum) + return 0; + bn = ASN1_INTEGER_to_BN(sernum, NULL); + if (!bn) + return 0; + bn_sz = BN_num_bytes(bn); + if (sizeof(size_t) + name_sz + bn_sz > sz) + { + BN_free(bn); + return 0; + } + + memcpy(out, &name_sz, sizeof(name_sz)); + memcpy(out + sizeof(name_sz), name_bytes, name_sz); + BN_bn2bin(bn, out + sizeof(name_sz) + name_sz); + BN_free(bn); + + return sizeof(name_sz) + name_sz + bn_sz; +} + + +static enum { + GET_SNI_OK, + GET_SNI_ERR, +} + + +get_sni_SSL_CTX(struct lsquic_enc_session *enc_session, lsquic_lookup_cert_f cb, + void *cb_ctx, const struct sockaddr *local) +{ + X509 *crt = NULL; + unsigned char *out; + int len; + lsquic_str_t crtstr; + cert_item_t *item; + struct ssl_ctx_st *ssl_ctx; + size_t key_sz; + unsigned char key[0x400]; + + if (!enc_session->ssl_ctx) + { + if (!cb) + return GET_SNI_ERR; + ssl_ctx = cb(cb_ctx, local, lsquic_str_cstr(&enc_session->hs_ctx.sni)); + if (ssl_ctx == NULL) + return GET_SNI_ERR; + enc_session->ssl_ctx = ssl_ctx; + } + + if (enc_session->cert_ptr == NULL) + { + crt = SSL_CTX_get0_certificate(enc_session->ssl_ctx); + if (!crt) + return GET_SNI_ERR; + key_sz = gen_iasn_key(crt, key, sizeof(key)); + if (key_sz) + { + item = find_cert(enc_session->enpub, key, key_sz); + if (item) + LSQ_DEBUG("found cert in cache"); + else + { + out = NULL; + len = i2d_X509(crt, &out); + if (len < 0) + return GET_SNI_ERR; + lsquic_str_set(&crtstr, (char *) out, len); + item = insert_cert(enc_session->enpub, key, key_sz, &crtstr); + if (item) + { + OPENSSL_free(out); + LSQ_DEBUG("inserted cert into cache"); + } + else + { + LSQ_DEBUG("cert insertion failed, keep own copy"); + goto copy; + } + } + enc_session->cert_ptr = item->crt; + enc_session->cert_hash = item->hash; + } + else + { + LSQ_INFO("cannot generate cert cache key, make copy"); + out = NULL; + len = i2d_X509(crt, &out); + if (len < 0) + return GET_SNI_ERR; + copy: enc_session->cert_ptr = lsquic_str_new((char *) out, len); + OPENSSL_free(out); + if (!enc_session->cert_ptr) + return GET_SNI_ERR; + enc_session->es_flags |= ES_FREE_CERT_PTR; + enc_session->cert_hash = lsquic_fnv1a_64( + (const uint8_t *) lsquic_str_buf(enc_session->cert_ptr), + lsquic_str_len(enc_session->cert_ptr)); + } + } + return GET_SNI_OK; +} + + +/*** + * Comments: data and len are the frame(s) parsed data, no packet header. + * return rtt number: + * 1 for rej1 and 0 for shlo + * DATA_NOT_ENOUGH(-2) for not enough data, + * DATA_FORMAT_ERROR(-1) all other errors + * HS_DELAYED handshake delayed + */ +static enum handshake_error +handle_chlo_frames_data(const uint8_t *data, int len, + struct lsquic_enc_session *enc_session, + lsquic_lookup_cert_f cb, void *cb_ctx, + const struct sockaddr *local, + const struct lsquic_shared_hash_if *shi, + void *shi_ctx, const struct sockaddr *ip, time_t t) +{ + /* start to parse it */ +// struct lsquic_enc_session *enc_session = retrive_enc_session(cid); + uint32_t head_tag; + enum handshake_error rtt; + int ret; + + LSQ_DEBUG("handle_chlo_frames_data called."); + + ret = parse_hs(enc_session, data, len, &head_tag); + if (ret) + { + LSQ_DEBUG("handle_chlo_frames_data parse_hs error,s o quit."); + return ret; + } + + if (head_tag != QTAG_CHLO) + { + LSQ_DEBUG("handle_chlo_frames_data got data format error 1."); + return DATA_FORMAT_ERROR; + } + + + switch (get_sni_SSL_CTX(enc_session, cb, cb_ctx, local)) + { + case GET_SNI_ERR: + ESHIST_APPEND(enc_session, ESHE_SNI_FAIL); + LSQ_DEBUG("handle_chlo_frames_data got data format error 2."); + return DATA_FORMAT_ERROR; + default: + break; + } + + rtt = determine_rtts(enc_session, ip, t); + ESHIST_APPEND(enc_session, ESHE_MULTI2_2BITS + rtt); + lsquic_str_setto(&enc_session->chlo, (const char *)data, len); + + LSQ_DEBUG("handle_chlo_frames_data return %d.", rtt); + return rtt; +} + + +static int handle_chlo_reply_verify_prof(struct lsquic_enc_session *enc_session, + lsquic_str_t **out_certs, + size_t *out_certs_count, + lsquic_str_t *cached_certs, + int cached_certs_count) +{ + const unsigned char *dummy = (unsigned char *) ""; + const unsigned char *const in = enc_session->hs_ctx.ccert + ? enc_session->hs_ctx.ccert->buf : dummy; + const unsigned char *const in_end = enc_session->hs_ctx.ccert + ? in + enc_session->hs_ctx.ccert->len : 0; + EVP_PKEY *pub_key; + int ret; + size_t i; + X509 *cert, *server_cert; + STACK_OF(X509) *chain = NULL; + ret = lsquic_decompress_certs(in, in_end,cached_certs, cached_certs_count, + out_certs, out_certs_count); + if (ret) + return ret; + + server_cert = lsquic_bio_to_crt((const char *)lsquic_str_cstr(out_certs[0]), + lsquic_str_len(out_certs[0]), 0); + pub_key = X509_get_pubkey(server_cert); + ret = lsquic_verify_prof((const uint8_t *)lsquic_str_cstr(&enc_session->chlo), + (size_t)lsquic_str_len(&enc_session->chlo), + &enc_session->info->scfg, + pub_key, + (const uint8_t *)lsquic_str_cstr(&enc_session->hs_ctx.prof), + lsquic_str_len(&enc_session->hs_ctx.prof)); + EVP_PKEY_free(pub_key); + if (ret != 0) + { + LSQ_DEBUG("cannot verify server proof"); + goto cleanup; + } + + if (enc_session->enpub->enp_verify_cert) + { + chain = sk_X509_new_null(); + sk_X509_push(chain, server_cert); + for (i = 1; i < *out_certs_count; ++i) + { + cert = lsquic_bio_to_crt((const char *)lsquic_str_cstr(out_certs[i]), + lsquic_str_len(out_certs[i]), 0); + if (cert) + sk_X509_push(chain, cert); + else + { + LSQ_WARN("cannot push certificate to stack"); + ret = -1; + goto cleanup; + } + } + ret = enc_session->enpub->enp_verify_cert( + enc_session->enpub->enp_verify_ctx, chain); + LSQ_INFO("server certificate verification %ssuccessful", + ret == 0 ? "" : "not "); + } + EV_LOG_CHECK_CERTS(&enc_session->cid, (const lsquic_str_t **)out_certs, *out_certs_count); + + cleanup: + if (chain) + sk_X509_free(chain); + X509_free(server_cert); + return ret; +} + + +static void +setup_aead_ctx (const struct lsquic_enc_session *enc_session, + EVP_AEAD_CTX **ctx, unsigned char key[], int key_len, + unsigned char *key_copy) +{ + const EVP_AEAD *aead_ = EVP_aead_aes_128_gcm(); + const int auth_tag_size = enc_session->es_flags & ES_GQUIC2 + ? IQUIC_TAG_LEN : GQUIC_PACKET_HASH_SZ; + if (*ctx) + { + EVP_AEAD_CTX_cleanup(*ctx); + } + else + *ctx = (EVP_AEAD_CTX *)malloc(sizeof(EVP_AEAD_CTX)); + + EVP_AEAD_CTX_init(*ctx, aead_, key, key_len, auth_tag_size, NULL); + if (key_copy) + memcpy(key_copy, key, key_len); +} + + +static int +determine_diversification_key (enc_session_t *enc_session_p, + uint8_t *diversification_nonce) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + const int is_client = !(enc_session->es_flags & ES_SERVER); + EVP_AEAD_CTX **ctx_s_key; + unsigned char *key_i, *iv; + const size_t iv_len = enc_session->es_flags & ES_GQUIC2 + ? IQUIC_IV_LEN : aes128_iv_len; + uint8_t ikm[aes128_key_len + MAX_IV_LEN]; + char str_buf[DNONC_LENGTH * 2 + 1]; + + if (is_client) + { + ctx_s_key = &enc_session->dec_ctx_i; + key_i = enc_session->dec_key_i; + iv = enc_session->dec_key_nonce_i; + } + else + { + ctx_s_key = &enc_session->enc_ctx_i; + key_i = enc_session->enc_key_i; + iv = enc_session->enc_key_nonce_i; + } + memcpy(ikm, key_i, aes128_key_len); + memcpy(ikm + aes128_key_len, iv, iv_len); + lsquic_export_key_material(ikm, aes128_key_len + iv_len, + diversification_nonce, DNONC_LENGTH, + (const unsigned char *) "QUIC key diversification", 24, + 0, NULL, aes128_key_len, key_i, 0, NULL, + iv_len, iv, NULL, NULL, NULL); + + setup_aead_ctx(enc_session, ctx_s_key, key_i, aes128_key_len, NULL); + if (enc_session->es_flags & ES_LOG_SECRETS) + { + LSQ_DEBUG("determine_diversification_keys nonce: %s", + HEXSTR(diversification_nonce, DNONC_LENGTH, str_buf)); + LSQ_DEBUG("determine_diversification_keys diversification key: %s", + HEXSTR(key_i, aes128_key_len, str_buf)); + LSQ_DEBUG("determine_diversification_keys diversification iv: %s", + HEXSTR(iv, iv_len, str_buf)); + } + return 0; +} + + +/* After CHLO msg generatered, call it to determine_keys */ +static void +determine_keys (struct lsquic_enc_session *enc_session) +{ + lsquic_str_t *chlo = &enc_session->chlo; + const int is_client = !(enc_session->es_flags & ES_SERVER); + uint8_t shared_key_c[32]; + const size_t iv_len = enc_session->es_flags & ES_GQUIC2 + ? IQUIC_IV_LEN : aes128_iv_len; + unsigned char *nonce_c; + unsigned char *hkdf_input, *hkdf_input_p; + + unsigned char c_key[aes128_key_len]; + unsigned char s_key[aes128_key_len]; + unsigned char *c_key_bin = NULL; + unsigned char *s_key_bin = NULL; + + unsigned char *c_iv; + unsigned char *s_iv; + uint8_t *c_hp, *s_hp; + size_t nonce_len, hkdf_input_len; + unsigned char sub_key[32]; + EVP_AEAD_CTX **ctx_c_key, **ctx_s_key; + char key_flag; + char str_buf[512]; + + hkdf_input_len = (enc_session->have_key == 0 ? 18 + 1 : 33 + 1) + + enc_session->cid.len + + lsquic_str_len(chlo) + + (is_client + ? lsquic_str_len(&enc_session->info->scfg) + : (size_t) enc_session->server_config->lsc_scfg->info.scfg_len) + + lsquic_str_len(enc_session->cert_ptr); + hkdf_input = malloc(hkdf_input_len); + if (UNLIKELY(!hkdf_input)) + { + LSQ_WARN("cannot allocate memory for hkdf_input"); + return; + } + hkdf_input_p = hkdf_input; + + if (enc_session->have_key == 0) + { + memcpy(hkdf_input_p, "QUIC key expansion\0", 18 + 1); /* Add a 0x00 */ + hkdf_input_p += 18 + 1; + key_flag = 'I'; + } + else + { + memcpy(hkdf_input_p, "QUIC forward secure key expansion\0", 33 + 1); /* Add a 0x00 */ + hkdf_input_p += 33 + 1; + key_flag = 'F'; + } + + lsquic_c255_gen_share_key(enc_session->priv_key, + enc_session->hs_ctx.pubs, + (unsigned char *)shared_key_c); + if (is_client) + { + if (enc_session->have_key == 0) + { + ctx_c_key = &enc_session->enc_ctx_i; + ctx_s_key = &enc_session->dec_ctx_i; + c_iv = (unsigned char *) enc_session->enc_key_nonce_i; + s_iv = (unsigned char *) enc_session->dec_key_nonce_i; + c_key_bin = enc_session->enc_key_i; + s_key_bin = enc_session->dec_key_i; + c_hp = enc_session->es_flags & ES_GQUIC2 + ? enc_session->es_hps[GEL_EARLY][0] : NULL; + s_hp = enc_session->es_flags & ES_GQUIC2 + ? enc_session->es_hps[GEL_EARLY][1] : NULL; + } + else + { + ctx_c_key = &enc_session->enc_ctx_f; + ctx_s_key = &enc_session->dec_ctx_f; + c_iv = (unsigned char *) enc_session->enc_key_nonce_f; + s_iv = (unsigned char *) enc_session->dec_key_nonce_f; + c_hp = enc_session->es_flags & ES_GQUIC2 + ? enc_session->es_hps[GEL_FORW][0] : NULL; + s_hp = enc_session->es_flags & ES_GQUIC2 + ? enc_session->es_hps[GEL_FORW][1] : NULL; + } + } + else + { + if (enc_session->have_key == 0) + { + ctx_c_key = &enc_session->dec_ctx_i; + ctx_s_key = &enc_session->enc_ctx_i; + c_iv = (unsigned char *) enc_session->dec_key_nonce_i; + s_iv = (unsigned char *) enc_session->enc_key_nonce_i; + c_key_bin = enc_session->dec_key_i; + s_key_bin = enc_session->enc_key_i; + c_hp = enc_session->es_flags & ES_GQUIC2 + ? enc_session->es_hps[GEL_EARLY][1] : NULL; + s_hp = enc_session->es_flags & ES_GQUIC2 + ? enc_session->es_hps[GEL_EARLY][0] : NULL; + } + else + { + ctx_c_key = &enc_session->dec_ctx_f; + ctx_s_key = &enc_session->enc_ctx_f; + c_iv = (unsigned char *) enc_session->dec_key_nonce_f; + s_iv = (unsigned char *) enc_session->enc_key_nonce_f; + c_hp = enc_session->es_flags & ES_GQUIC2 + ? enc_session->es_hps[GEL_FORW][1] : NULL; + s_hp = enc_session->es_flags & ES_GQUIC2 + ? enc_session->es_hps[GEL_FORW][0] : NULL; + } + } + + LSQ_DEBUG("export_key_material lsquic_c255_gen_share_key %s", + lsquic_get_bin_str(shared_key_c, 32, 512)); + + memcpy(hkdf_input_p, enc_session->cid.idbuf, enc_session->cid.len); + hkdf_input_p += enc_session->cid.len; + memcpy(hkdf_input_p, lsquic_str_cstr(chlo), lsquic_str_len(chlo)); /* CHLO msg */ + hkdf_input_p += lsquic_str_len(chlo); + if (is_client) + { + memcpy(hkdf_input_p, lsquic_str_cstr(&enc_session->info->scfg), + lsquic_str_len(&enc_session->info->scfg)); /* scfg msg */ + hkdf_input_p += lsquic_str_len(&enc_session->info->scfg); + } + else + { + memcpy(hkdf_input_p, + (const char *) enc_session->server_config->lsc_scfg->scfg, + enc_session->server_config->lsc_scfg->info.scfg_len); + hkdf_input_p += enc_session->server_config->lsc_scfg->info.scfg_len; + } + memcpy(hkdf_input_p, lsquic_str_cstr(enc_session->cert_ptr), + lsquic_str_len(enc_session->cert_ptr)); + assert(hkdf_input + hkdf_input_len + == hkdf_input_p + lsquic_str_len(enc_session->cert_ptr)); + LSQ_DEBUG("export_key_material hkdf_input %s", + HEXSTR(hkdf_input, hkdf_input_len, str_buf)); + + /* then need to use the salts and the shared_key_* to get the real aead key */ + nonce_len = sizeof(enc_session->hs_ctx.nonc) + + lsquic_str_len(&enc_session->ssno); + nonce_c = malloc(nonce_len); + if (UNLIKELY(!nonce_c)) + { + LSQ_WARN("cannot allocate memory for nonce_c"); + free(hkdf_input); + return; + } + memcpy(nonce_c, enc_session->hs_ctx.nonc, sizeof(enc_session->hs_ctx.nonc)); + memcpy(nonce_c + sizeof(enc_session->hs_ctx.nonc), + lsquic_str_cstr(&enc_session->ssno), + lsquic_str_len(&enc_session->ssno)); + + LSQ_DEBUG("export_key_material nonce %s", + HEXSTR(nonce_c, nonce_len, str_buf)); + + lsquic_export_key_material(shared_key_c, 32, + nonce_c, nonce_len, + hkdf_input, hkdf_input_len, + aes128_key_len, c_key, + aes128_key_len, s_key, + iv_len, c_iv, + iv_len, s_iv, + sub_key, + c_hp, s_hp + ); + + setup_aead_ctx(enc_session, ctx_c_key, c_key, aes128_key_len, c_key_bin); + setup_aead_ctx(enc_session, ctx_s_key, s_key, aes128_key_len, s_key_bin); + + free(nonce_c); + free(hkdf_input); + + if (enc_session->es_flags & ES_LOG_SECRETS) + { + LSQ_DEBUG("***export_key_material '%c' c_key: %s", key_flag, + HEXSTR(c_key, aes128_key_len, str_buf)); + LSQ_DEBUG("***export_key_material '%c' s_key: %s", key_flag, + HEXSTR(s_key, aes128_key_len, str_buf)); + LSQ_DEBUG("***export_key_material '%c' c_iv: %s", key_flag, + HEXSTR(c_iv, iv_len, str_buf)); + LSQ_DEBUG("***export_key_material '%c' s_iv: %s", key_flag, + HEXSTR(s_iv, iv_len, str_buf)); + LSQ_DEBUG("***export_key_material '%c' subkey: %s", key_flag, + HEXSTR(sub_key, 32, str_buf)); + if (c_hp) + LSQ_DEBUG("***export_key_material '%c' c_hp: %s", key_flag, + HEXSTR(c_hp, IQUIC_HP_LEN, str_buf)); + if (s_hp) + LSQ_DEBUG("***export_key_material '%c' s_hp: %s", key_flag, + HEXSTR(s_hp, IQUIC_HP_LEN, str_buf)); + } +} + + +/* 0 Match */ +static int cached_certs_match(c_cert_item_t *item, + lsquic_str_t **certs, int count) +{ + int i; + if (!item || item->count != count) + return -1; + + for (i=0; icrts[i]) != 0) + return -1; + } + + return 0; +} + + +static const char * +he2str (enum handshake_error he) +{ + switch (he) + { + case DATA_NOT_ENOUGH: return "DATA_NOT_ENOUGH"; + case HS_ERROR: return "HS_ERROR"; + case HS_SHLO: return "HS_SHLO"; + case HS_1RTT: return "HS_1RTT"; + case HS_SREJ: return "HS_SREJ"; + default: + assert(0); return ""; + } +} + + +/* NOT packet, just the frames-data */ +/* return rtt number: + * 0 OK + * DATA_NOT_ENOUGH(-2) for not enough data, + * DATA_FORMAT_ERROR(-1) all other errors + */ +static int +lsquic_enc_session_handle_chlo_reply (enc_session_t *enc_session_p, + const uint8_t *data, int len) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + uint32_t head_tag; + int ret, got_srej; + lsquic_session_cache_info_t *info = enc_session->info; + c_cert_item_t *cert_item = enc_session->cert_item; + + /* FIXME get the number first */ + lsquic_str_t **out_certs = NULL; + size_t out_certs_count = 0, i; + + ret = parse_hs(enc_session, data, len, &head_tag); + if (ret) + goto end; + + got_srej = head_tag == QTAG_SREJ; + switch (head_tag) + { + case QTAG_SREJ: + if (enc_session->es_flags & ES_RECV_SREJ) + { + LSQ_DEBUG("received second SREJ: handshake failed"); + ret = -1; + goto end; + } + enc_session->es_flags |= ES_RECV_SREJ; + /* fall-through */ + case QTAG_REJ: + enc_session->hsk_state = HSK_CHLO_REJ; + enc_session->es_flags |= ES_RECV_REJ; + break; + case QTAG_SHLO: + enc_session->hsk_state = HSK_COMPLETED; + EV_LOG_HSK_COMPLETED(&enc_session->cid); + if (!(enc_session->es_flags & ES_RECV_REJ)) + EV_LOG_SESSION_RESUMPTION(&enc_session->cid); + break; + default: + ret = 1; /* XXX Why 1? */ + goto end; + } + + if (info->scfg_flag == 1) + { + ret = parse_hs(enc_session, (uint8_t *)lsquic_str_cstr(&info->scfg), + lsquic_str_len(&info->scfg), &head_tag); + + /* After handled, set the length to 0 to avoid do it again*/ + enc_session->info->scfg_flag = 2; + if (ret) + goto end; + + if (got_srej) + { + if (lsquic_str_len(&enc_session->info->sstk)) + ret = HS_SREJ; + else + { + LSQ_DEBUG("expected STK in SREJ message from the server"); + ret = -1; + } + goto end; + } + + if (enc_session->hs_ctx.ccert) + { + out_certs_count = lsquic_get_certs_count(enc_session->hs_ctx.ccert); + if (out_certs_count > 0) + { + out_certs = malloc(out_certs_count * sizeof(lsquic_str_t *)); + if (!out_certs) + { + ret = -1; + goto end; + } + + for (i=0; icrts : NULL), + (cert_item ? cert_item->count : 0)); + if (ret == 0) + { + if (out_certs_count > 0) + { + if (cached_certs_match(cert_item, out_certs, + out_certs_count) != 0) + { + cert_item = make_c_cert_item(out_certs, + out_certs_count); + enc_session->cert_item = cert_item; + enc_session->cert_ptr = &cert_item->crts[0]; + } + } + } + for (i=0; ihsk_state == HSK_COMPLETED) + { + determine_keys(enc_session); + enc_session->have_key = 3; + } + + end: + LSQ_DEBUG("lsquic_enc_session_handle_chlo_reply called, buf in %d, return %d.", len, ret); + EV_LOG_CONN_EVENT(&enc_session->cid, "%s returning %s", __func__, + he2str(ret)); + return ret; +} + + +/** stk = 16 bytes IP ( V4 is 4 bytes, will add 12 byes 0 ) + * + 8 bytes time + * + 36 bytes random bytes (24 bytes can be reserved for other using) + * then stk first 48 byte will be encrypted with AES128-GCM + * when encrypting, the salt is the last 12 bytes + */ +#ifdef NDEBUG +static +#endif +void +lsquic_gen_stk (lsquic_server_config_t *server_config, const struct sockaddr *ip_addr, + uint64_t tm, unsigned char stk_out[STK_LENGTH]) +{ + unsigned char stk[STK_LENGTH + 16]; + size_t out_len = STK_LENGTH + 16; + + memset(stk, 0 , 24); + if (AF_INET == ip_addr->sa_family) + memcpy(stk, &((struct sockaddr_in *)ip_addr)->sin_addr.s_addr, 4); + else + memcpy(stk, &((struct sockaddr_in6 *)ip_addr)->sin6_addr, 16); + memcpy(stk + 16, &tm, 8); + RAND_bytes(stk + 24, STK_LENGTH - 24 - 12); + RAND_bytes(stk_out + STK_LENGTH - 12, 12); + lsquic_aes_aead_enc(&server_config->lsc_stk_ctx, NULL, 0, stk_out + STK_LENGTH - 12, 12, stk, + STK_LENGTH - 12 - 12, stk_out, &out_len); +} + + +/* server using */ +#ifdef NDEBUG +static +#endif +enum hsk_failure_reason +lsquic_verify_stk0 (const struct lsquic_enc_session *enc_session, + lsquic_server_config_t *server_config, + const struct sockaddr *ip_addr, uint64_t tm, lsquic_str_t *stk, + unsigned secs_since_stk_generated) +{ + uint64_t tm0, exp; + unsigned char *const stks = (unsigned char *) lsquic_str_buf(stk); + unsigned char stk_out[STK_LENGTH]; + size_t out_len = STK_LENGTH; + + if (lsquic_str_len(stk) < STK_LENGTH) + return HFR_SRC_ADDR_TOKEN_INVALID; + + int ret = lsquic_aes_aead_dec(&server_config->lsc_stk_ctx, NULL, 0, + stks + STK_LENGTH - 12, 12, stks, + STK_LENGTH - 12, stk_out, &out_len); + if (ret != 0) + { + LSQ_DEBUG("***lsquic_verify_stk decrypted failed."); + return HFR_SRC_ADDR_TOKEN_DECRYPTION; + } + + if (AF_INET == ip_addr->sa_family) + { + if (memcmp(stk_out, &((struct sockaddr_in *)ip_addr)->sin_addr.s_addr, 4) != 0) + { + LSQ_DEBUG("***lsquic_verify_stk for ipv4 failed."); + return HFR_SRC_ADDR_TOKEN_DIFFERENT_IP_ADDRESS; + } + } + else + { + if (memcmp(stk_out, &((struct sockaddr_in6 *)ip_addr)->sin6_addr, 16) != 0) + { + LSQ_DEBUG("***lsquic_verify_stk for ipv6 failed."); + return HFR_SRC_ADDR_TOKEN_DIFFERENT_IP_ADDRESS; + } + } + + memcpy((void *)&tm0, stk_out + 16, 8); + if (tm < tm0) + { + LSQ_DEBUG("***lsquic_verify_stk timestamp is in the future."); + return HFR_SRC_ADDR_TOKEN_CLOCK_SKEW; + } + + if (secs_since_stk_generated) + exp = tm0 + secs_since_stk_generated; + else + exp = server_config->lsc_scfg->info.expy; + + if (tm > server_config->lsc_scfg->info.expy /* XXX this check does not seem needed */ || + tm0 > exp) + { + LSQ_DEBUG("***lsquic_verify_stk stk expired"); + return HFR_SRC_ADDR_TOKEN_EXPIRED; + } + + LSQ_DEBUG("***lsquic_verify_stk pass."); + return HFR_HANDSHAKE_OK; +} + + +/* 0, verified, other fail */ +#ifdef NDEBUG +static +#endif +enum hsk_failure_reason +lsquic_verify_stk (enc_session_t *enc_session_p, + const struct sockaddr *ip_addr, uint64_t tm, lsquic_str_t *stk) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + if (lsquic_str_len(&enc_session->sstk) > 0) + { + ESHIST_APPEND(enc_session, ESHE_HAS_SSTK); + if (0 == lsquic_str_bcmp(&enc_session->sstk, &enc_session->hs_ctx.stk)) + return HFR_HANDSHAKE_OK; + else + return HFR_SRC_ADDR_TOKEN_INVALID; + } + else + return lsquic_verify_stk0(enc_session, enc_session->server_config, + ip_addr, tm, stk, 0); +} + + +static uint64_t combine_path_id_pack_num(uint8_t path_id, uint64_t pack_num) +{ + uint64_t v = ((uint64_t)path_id << 56) | pack_num; + return v; +} + + +# define IS_SERVER(session) ((session)->es_flags & ES_SERVER) + +static int +verify_packet_hash (const struct lsquic_enc_session *enc_session, + enum lsquic_version version, const unsigned char *buf, size_t *header_len, + size_t data_len, unsigned char *buf_out, size_t max_out_len, + size_t *out_len) +{ + uint8_t md[HS_PKT_HASH_LENGTH]; + uint128 hash; + int ret; + + if (data_len < HS_PKT_HASH_LENGTH) + return -1; + + if (!enc_session || (IS_SERVER(enc_session))) + hash = lsquic_fnv1a_128_3(buf, *header_len, + buf + *header_len + HS_PKT_HASH_LENGTH, + data_len - HS_PKT_HASH_LENGTH, + (unsigned char *) "Client", 6); + else + hash = lsquic_fnv1a_128_3(buf, *header_len, + buf + *header_len + HS_PKT_HASH_LENGTH, + data_len - HS_PKT_HASH_LENGTH, + (unsigned char *) "Server", 6); + + lsquic_serialize_fnv128_short(hash, md); + ret = memcmp(md, buf + *header_len, HS_PKT_HASH_LENGTH); + if(ret == 0) + { + *header_len += HS_PKT_HASH_LENGTH; + *out_len = data_len - HS_PKT_HASH_LENGTH; + if (max_out_len < *header_len + *out_len) + return -1; + + memcpy(buf_out, buf, *header_len + *out_len); + return 0; + } + else + return -1; +} + + +static enum enc_level +decrypt_packet (struct lsquic_enc_session *enc_session, uint8_t path_id, + uint64_t pack_num, unsigned char *buf, size_t *header_len, + size_t data_len, unsigned char *buf_out, size_t max_out_len, + size_t *out_len) +{ + int ret; + /* Comment: 12 = sizeof(dec_key_iv] 4 + sizeof(pack_num) 8 */ + uint8_t nonce[12]; + uint64_t path_id_packet_number; + EVP_AEAD_CTX *key = NULL; + int try_times = 0; + enum enc_level enc_level; + + path_id_packet_number = combine_path_id_pack_num(path_id, pack_num); + memcpy(buf_out, buf, *header_len); + do + { + if (enc_session->have_key == 3 && try_times == 0) + { + key = enc_session->dec_ctx_f; + memcpy(nonce, enc_session->dec_key_nonce_f, 4); + LSQ_DEBUG("decrypt_packet using 'F' key..."); + enc_level = ENC_LEV_APP; + } + else + { + key = enc_session->dec_ctx_i; + memcpy(nonce, enc_session->dec_key_nonce_i, 4); + LSQ_DEBUG("decrypt_packet using 'I' key..."); + enc_level = ENC_LEV_HSK; + } + memcpy(nonce + 4, &path_id_packet_number, + sizeof(path_id_packet_number)); + + *out_len = data_len; + if (data_len + *header_len > max_out_len) + { + LSQ_DEBUG("decrypt_packet size is larger than 1370, header: %zd, " + "data: %zu, giveup.", *header_len, data_len); + return (enum enc_level) -1; + } + ret = lsquic_aes_aead_dec(key, + buf, *header_len, + nonce, 12, + buf + *header_len, data_len, + buf_out + *header_len, out_len); + + if (ret != 0) + ++try_times; + else + { + if (enc_session->peer_have_final_key == 0 && + enc_session->have_key == 3 && + try_times == 0) + { + LSQ_DEBUG("!!!decrypt_packet find peer have final key."); + enc_session->peer_have_final_key = 1; + EV_LOG_CONN_EVENT(&enc_session->cid, "settled on private key " + "'%c' after %d tries (packet number %"PRIu64")", + key == enc_session->dec_ctx_f ? 'F' : 'I', + try_times, pack_num); + } + break; + } + } + while (try_times < 2); + + LSQ_DEBUG("***decrypt_packet %s.", (ret == 0 ? "succeed" : "failed")); + return ret == 0 ? enc_level : (enum enc_level) -1; +} + + +static int +lsquic_enc_session_have_key_gt_one (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session && enc_session->have_key > 1; +} + + +/* The size of `buf' is *header_len plus data_len. The two parts of the + * buffer correspond to the header and the payload of incoming QUIC packet. + */ +static enum enc_level +lsquic_enc_session_decrypt (struct lsquic_enc_session *enc_session, + enum lsquic_version version, + uint8_t path_id, uint64_t pack_num, + unsigned char *buf, size_t *header_len, size_t data_len, + unsigned char *diversification_nonce, + unsigned char *buf_out, size_t max_out_len, size_t *out_len) +{ + /* Client: got SHLO which should have diversification_nonce */ + if (diversification_nonce && enc_session && enc_session->have_key == 1) + { + determine_diversification_key(enc_session, diversification_nonce); + enc_session->have_key = 2; + } + + if (lsquic_enc_session_have_key_gt_one(enc_session)) + return decrypt_packet(enc_session, path_id, pack_num, buf, + header_len, data_len, buf_out, max_out_len, out_len); + else if (0 == verify_packet_hash(enc_session, version, buf, header_len, + data_len, buf_out, max_out_len, out_len)) + return ENC_LEV_INIT; + else + return -1; +} + + +static enum dec_packin +gquic_decrypt_packet (enc_session_t *enc_session_p, + struct lsquic_engine_public *enpub, + const struct lsquic_conn *lconn, + struct lsquic_packet_in *packet_in) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + size_t header_len, data_len; + enum enc_level enc_level; + size_t out_len = 0; + unsigned char *copy = lsquic_mm_get_packet_in_buf(&enpub->enp_mm, 1370); + if (!copy) + { + LSQ_WARN("cannot allocate memory to copy incoming packet data"); + return DECPI_NOMEM; + } + + assert(packet_in->pi_data); + header_len = packet_in->pi_header_sz; + data_len = packet_in->pi_data_sz - packet_in->pi_header_sz; + enc_level = lsquic_enc_session_decrypt(enc_session, + lconn->cn_version, 0, + packet_in->pi_packno, packet_in->pi_data, + &header_len, data_len, + lsquic_packet_in_nonce(packet_in), + copy, 1370, &out_len); + if ((enum enc_level) -1 == enc_level) + { + lsquic_mm_put_packet_in_buf(&enpub->enp_mm, copy, 1370); + EV_LOG_CONN_EVENT(&lconn->cn_cid, "could not decrypt packet %"PRIu64, + packet_in->pi_packno); + return DECPI_BADCRYPT; + } + + assert(header_len + out_len <= 1370); + if (packet_in->pi_flags & PI_OWN_DATA) + lsquic_mm_put_packet_in_buf(&enpub->enp_mm, packet_in->pi_data, 1370); + packet_in->pi_data = copy; + packet_in->pi_flags |= PI_OWN_DATA | PI_DECRYPTED + | (enc_level << PIBIT_ENC_LEV_SHIFT); + packet_in->pi_header_sz = header_len; + packet_in->pi_data_sz = out_len + header_len; + EV_LOG_CONN_EVENT(&lconn->cn_cid, "decrypted packet %"PRIu64, + packet_in->pi_packno); + return DECPI_OK; +} + + +static enum enc_level +gquic_encrypt_buf (struct lsquic_enc_session *enc_session, + enum lsquic_version version, + uint8_t path_id, uint64_t pack_num, + const unsigned char *header, size_t header_len, + const unsigned char *data, size_t data_len, + unsigned char *buf_out, size_t max_out_len, size_t *out_len, + int is_hello) +{ + uint8_t md[HS_PKT_HASH_LENGTH]; + uint128 hash; + int ret; + enum enc_level enc_level; + int is_chlo = (is_hello && ((IS_SERVER(enc_session)) == 0)); + int is_shlo = (is_hello && (IS_SERVER(enc_session))); + + /* Comment: 12 = sizeof(dec_key_iv] 4 + sizeof(pack_num) 8 */ + uint8_t nonce[12]; + uint64_t path_id_packet_number; + EVP_AEAD_CTX *key; + + if (enc_session) + LSQ_DEBUG("%s: hsk_state: %d", __func__, enc_session->hsk_state); + else + LSQ_DEBUG("%s: enc_session is not set", __func__); + + if (!enc_session || enc_session->have_key == 0 || is_chlo) + { + *out_len = header_len + data_len + HS_PKT_HASH_LENGTH; + if (max_out_len < *out_len) + return -1; + + if (!enc_session || (IS_SERVER(enc_session))) + hash = lsquic_fnv1a_128_3(header, header_len, data, data_len, + (unsigned char *) "Server", 6); + else + hash = lsquic_fnv1a_128_3(header, header_len, data, data_len, + (unsigned char *) "Client", 6); + + lsquic_serialize_fnv128_short(hash, md); + memcpy(buf_out, header, header_len); + memcpy(buf_out + header_len, md, HS_PKT_HASH_LENGTH); + memcpy(buf_out + header_len + HS_PKT_HASH_LENGTH, data, data_len); + return ENC_LEV_INIT; + } + else + { + if (enc_session->have_key != 3 || is_shlo || + ((IS_SERVER(enc_session)) && + enc_session->server_start_use_final_key == 0)) + { + LSQ_DEBUG("lsquic_enc_session_encrypt using 'I' key..."); + key = enc_session->enc_ctx_i; + memcpy(nonce, enc_session->enc_key_nonce_i, 4); + if (is_shlo && enc_session->have_key == 3) + { + enc_session->server_start_use_final_key = 1; + } + enc_level = ENC_LEV_HSK; + } + else + { + LSQ_DEBUG("lsquic_enc_session_encrypt using 'F' key..."); + key = enc_session->enc_ctx_f; + memcpy(nonce, enc_session->enc_key_nonce_f, 4); + enc_level = ENC_LEV_APP; + } + path_id_packet_number = combine_path_id_pack_num(path_id, pack_num); + memcpy(nonce + 4, &path_id_packet_number, + sizeof(path_id_packet_number)); + + memcpy(buf_out, header, header_len); + *out_len = max_out_len - header_len; + + ret = lsquic_aes_aead_enc(key, header, header_len, nonce, 12, data, + data_len, buf_out + header_len, out_len); + if (ret == 0) + { + *out_len += header_len; + return enc_level; + } + else + return -1; + } +} + + +/* server */ +/* out_len should have init value as the max length of out */ +/* return -1 error, 0, SHLO, 1, RTT1, 2, RTT2, DELAYED */ +static enum handshake_error +lsquic_enc_session_handle_chlo(enc_session_t *enc_session_p, + enum lsquic_version version, + const uint8_t *in, int in_len, time_t t, + const struct sockaddr *peer, + const struct sockaddr *local, + uint8_t *out, size_t *out_len, + uint8_t nonce[DNONC_LENGTH], int *nonce_set) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + enum handshake_error rtt; + int len; + lsquic_server_config_t *server_config; + const struct lsquic_engine_public *const enpub = enc_session->enpub; + const struct lsquic_shared_hash_if *const shi = enpub->enp_shi; + void *const shi_ctx = enpub->enp_shi_ctx; + + server_config = get_valid_scfg(enc_session, enpub); + if (!server_config) + return HS_ERROR; + assert(server_config->lsc_scfg); + + enc_session->server_config = server_config; + + *nonce_set = 0; + rtt = handle_chlo_frames_data(in, in_len, enc_session, + enpub->enp_lookup_cert, enpub->enp_cert_lu_ctx, + local, shi, shi_ctx, peer, t); + if (rtt == HS_1RTT) + { + + LSQ_DEBUG("lsquic_enc_session_handle_chlo call gen_rej1_data"); + len = gen_rej1_data(enc_session, out, *out_len, peer, t); + if (len < 0) + { + rtt = HS_ERROR; + goto end; + } + *out_len = len; + } + else if (rtt == HS_SHLO) + { + enc_session->have_key = 0; + determine_keys(enc_session); + enc_session->have_key = 1; + + LSQ_DEBUG("lsquic_enc_session_handle_chlo call gen_shlo_data"); + len = gen_shlo_data(out, *out_len, enc_session, version, peer, + t, nonce); + if (len < 0) + { + rtt = HS_ERROR; + goto end; + } + *out_len = len; + *nonce_set = 1; + + determine_diversification_key(enc_session, nonce); + enc_session->have_key = 2; + determine_keys(enc_session); + enc_session->have_key = 3; + + enc_session->hsk_state = HSK_COMPLETED; + LSQ_DEBUG("lsquic_enc_session_handle_chlo have_key 3 hsk_state HSK_COMPLETED."); + } + + end: + EV_LOG_CONN_EVENT(&enc_session->cid, "%s returning %s", __func__, + he2str(rtt)); + return rtt; +} + + +static int +lsquic_enc_session_get_peer_option (enc_session_t *enc_session_p, + uint32_t tag) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + switch (tag) + { + case QTAG_NSTP: + return !!(enc_session->hs_ctx.opts & HOPT_NSTP); + case QTAG_SREJ: + return !!(enc_session->hs_ctx.opts & HOPT_SREJ); + default: + assert(0); + return 0; + } +} + + +/* Query a several parameters sent by the peer that are required by + * connection. + */ +static int +lsquic_enc_session_get_peer_setting (enc_session_t *enc_session_p, + uint32_t tag, uint32_t *val) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + switch (tag) + { + case QTAG_TCID: + if (enc_session->hs_ctx.set & HSET_TCID) + { + *val = enc_session->hs_ctx.tcid; + return 0; + } + else + return -1; + case QTAG_SMHL: + if (enc_session->hs_ctx.set & HSET_SMHL) + { + *val = enc_session->hs_ctx.smhl; + return 0; + } + else + return -1; + case QTAG_IRTT: + if (enc_session->hs_ctx.set & HSET_IRTT) + { + *val = enc_session->hs_ctx.irtt; + return 0; + } + else + return -1; + } + + /* XXX For the following values, there is no record which were present + * in CHLO or SHLO and which were not. Assume that zero means that + * they weren't present. + */ + if (IS_SERVER(enc_session)) + switch (tag) + { + case QTAG_CFCW: + if (enc_session->hs_ctx.scfcw) + { + *val = enc_session->hs_ctx.scfcw; + return 0; + } + else + return -1; + case QTAG_SFCW: + if (enc_session->hs_ctx.ssfcw) + { + *val = enc_session->hs_ctx.ssfcw; + return 0; + } + else + return -1; + case QTAG_MIDS: + if (enc_session->hs_ctx.smids) + { + *val = enc_session->hs_ctx.smids; + return 0; + } + else + return -1; + default: + return -1; + } + else + switch (tag) + { + case QTAG_CFCW: + if (enc_session->hs_ctx.cfcw) + { + *val = enc_session->hs_ctx.cfcw; + return 0; + } + else + return -1; + case QTAG_SFCW: + if (enc_session->hs_ctx.sfcw) + { + *val = enc_session->hs_ctx.sfcw; + return 0; + } + else + return -1; + case QTAG_MIDS: + if (enc_session->hs_ctx.mids) + { + *val = enc_session->hs_ctx.mids; + return 0; + } + else + return -1; + default: + return -1; + } +} + + +static const char * +lsquic_enc_session_cipher (enc_session_t *enc_session_p) +{ + return LN_aes_128_gcm; /* TODO: get this string from enc_session */ +} + + +static int +lsquic_enc_session_keysize (enc_session_t *enc_session_p) +{ + return 128 /* bits */ / 8; /* TODO: get this info from enc_session */ +} + + +static int +lsquic_enc_session_alg_keysize (enc_session_t *enc_session_p) +{ + return 16; /* TODO: get this info from enc_session */ +} + + +#if LSQUIC_KEEP_ENC_SESS_HISTORY +static void +lsquic_get_enc_hist (enc_session_t *enc_session_p, + char buf[(1 << ESHIST_BITS) + 1]) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + const unsigned hist_idx = ESHIST_MASK & enc_session->es_hist_idx; + if (enc_session->es_hist_buf[hist_idx] == ESHE_EMPTY) + memcpy(buf, enc_session->es_hist_buf, hist_idx + 1); + else + { + memcpy(buf, enc_session->es_hist_buf + hist_idx, sizeof(enc_session->es_hist_buf) - hist_idx); + memcpy(buf + hist_idx, enc_session->es_hist_buf, hist_idx); + buf[(1 << ESHIST_BITS)] = '\0'; + } +} + + +#endif + + +static const char * +lsquic_enc_session_get_ua (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + if (enc_session && lsquic_str_len(&enc_session->hs_ctx.uaid) > 0) + return lsquic_str_buf(&enc_session->hs_ctx.uaid); + else + return NULL; +} + + +static const char * +lsquic_enc_session_get_sni (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return lsquic_str_cstr(&enc_session->hs_ctx.sni); +} + + +#ifndef NDEBUG +static uint8_t +lsquic_enc_session_have_key (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session->have_key; +} + + +static void +lsquic_enc_session_set_have_key (enc_session_t *enc_session_p, uint8_t val) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + enc_session->have_key = val; +} + + +static const unsigned char * +lsquic_enc_session_get_enc_key_i (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session->enc_key_i; +} + + +static const unsigned char * +lsquic_enc_session_get_dec_key_i (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session->dec_key_i; +} + + +static const unsigned char * +lsquic_enc_session_get_enc_key_nonce_i (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session->enc_key_nonce_i; +} + + +static const unsigned char * +lsquic_enc_session_get_dec_key_nonce_i (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session->dec_key_nonce_i; +} + + +static const unsigned char * +lsquic_enc_session_get_enc_key_nonce_f (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session->enc_key_nonce_f; +} + + +static const unsigned char * +lsquic_enc_session_get_dec_key_nonce_f (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session->dec_key_nonce_f; +} + + +#endif /* not defined NDEBUG */ + + +static size_t +lsquic_enc_session_mem_used (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + size_t size; + + size = sizeof(*enc_session); + + size += lsquic_str_len(&enc_session->chlo); + size += lsquic_str_len(&enc_session->sstk); + size += lsquic_str_len(&enc_session->ssno); + + size += lsquic_str_len(&enc_session->hs_ctx.ccs); + size += lsquic_str_len(&enc_session->hs_ctx.uaid); + size += lsquic_str_len(&enc_session->hs_ctx.sni); + size += lsquic_str_len(&enc_session->hs_ctx.ccrt); + size += lsquic_str_len(&enc_session->hs_ctx.stk); + size += lsquic_str_len(&enc_session->hs_ctx.sno); + size += lsquic_str_len(&enc_session->hs_ctx.prof); + size += lsquic_str_len(&enc_session->hs_ctx.csct); + if (enc_session->hs_ctx.ccert) + size += enc_session->hs_ctx.ccert->len + + sizeof(*enc_session->hs_ctx.ccert); + + if (enc_session->info) + { + size += sizeof(*enc_session->info); + size += lsquic_str_len(&enc_session->info->sstk); + size += lsquic_str_len(&enc_session->info->scfg); + size += lsquic_str_len(&enc_session->info->sni_key); + } + + /* TODO: calculate memory taken up by SSL stuff */ + + return size; +} + + +static int +lsquic_enc_session_verify_reset_token (enc_session_t *enc_session_p, + const unsigned char *buf, size_t bufsz) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + if (bufsz == SRST_LENGTH + && 0 == (enc_session->es_flags & ES_SERVER) + && (enc_session->hs_ctx.set & HSET_SRST) + && 0 == memcmp(buf, enc_session->hs_ctx.srst, SRST_LENGTH)) + return 0; + else + return -1; +} + + +static int +lsquic_enc_session_did_sess_resume_succeed (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return !(enc_session->es_flags & ES_RECV_REJ); +} + + +static int +lsquic_enc_session_is_sess_resume_enabled (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + return enc_session->info && enc_session->cert_item; +} + + +static ssize_t +gquic_really_encrypt_packet (struct lsquic_enc_session *enc_session, + const struct lsquic_conn *lconn, struct lsquic_packet_out *packet_out, + unsigned char *buf, size_t bufsz) +{ + int header_sz, is_hello_packet; + enum enc_level enc_level; + size_t packet_sz; + unsigned char header_buf[GQUIC_MAX_PUBHDR_SZ]; + + header_sz = lconn->cn_pf->pf_gen_reg_pkt_header(lconn, packet_out, + header_buf, sizeof(header_buf), NULL, NULL); + if (header_sz < 0) + return -1; + + is_hello_packet = !!(packet_out->po_flags & PO_HELLO); + enc_level = gquic_encrypt_buf(enc_session, lconn->cn_version, 0, + packet_out->po_packno, header_buf, header_sz, + packet_out->po_data, packet_out->po_data_sz, + buf, bufsz, &packet_sz, is_hello_packet); + if ((int) enc_level >= 0) + { + LSQ_DEBUG("encrypted packet %"PRIu64"; plaintext is %zu bytes, " + "ciphertext is %zd bytes", + packet_out->po_packno, + lconn->cn_pf->pf_packout_size(lconn, packet_out) + + packet_out->po_data_sz, + packet_sz); + lsquic_packet_out_set_enc_level(packet_out, enc_level); + return packet_sz; + } + else + return -1; +} + + +static STACK_OF(X509) * +lsquic_enc_session_get_server_cert_chain (enc_session_t *enc_session_p) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + const struct c_cert_item_st *item; + STACK_OF(X509) *chain; + X509 *cert; + int i; + + if (enc_session->es_flags & ES_SERVER) + return NULL; + item = enc_session->cert_item; + if (!item) + { + LSQ_WARN("could not find certificates for `%.*s'", + (int) lsquic_str_len(&enc_session->hs_ctx.sni), + lsquic_str_cstr(&enc_session->hs_ctx.sni)); + return NULL; + } + + chain = sk_X509_new_null(); + for (i = 0; i < item->count; ++i) + { + cert = lsquic_bio_to_crt(lsquic_str_cstr(&item->crts[i]), + lsquic_str_len(&item->crts[i]), 0); + if (cert) + sk_X509_push(chain, cert); + else + { + sk_X509_free(chain); + return NULL; + } + } + + return chain; +} + + +static void +maybe_dispatch_sess_resume (enc_session_t *enc_session_p, + void (*cb)(struct lsquic_conn *, const unsigned char *, size_t)) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + struct lsquic_conn *const lconn = enc_session->es_conn; + void *buf; + size_t sz; + int i; + + if (!(enc_session->info && enc_session->cert_item && cb)) + { + LSQ_DEBUG("no session resumption information or callback is not set"); + return; + } + + for (sz = 0, i = 0; i < enc_session->cert_item->count; ++i) + { + sz += sizeof(uint32_t); + sz += lsquic_str_len(&enc_session->cert_item->crts[i]); + } + sz += sizeof(struct lsquic_sess_resume_storage); + + buf = malloc(sz); + if (!buf) + { + LSQ_WARN("malloc failed: cannot allocate %zu bytes for session " + "resumption", sz); + return; + } + + lsquic_enc_session_serialize_sess_resume( + (struct lsquic_sess_resume_storage *) buf, lconn->cn_version, + enc_session->info, enc_session->cert_item); + + cb(lconn, buf, sz); + free(buf); +} + + +static enum enc_packout +gquic_encrypt_packet (enc_session_t *enc_session_p, + const struct lsquic_engine_public *enpub, + struct lsquic_conn *lconn, struct lsquic_packet_out *packet_out) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + ssize_t enc_sz; + size_t bufsz; + unsigned char *buf; + int ipv6; + + assert(!enc_session || lconn == enc_session->es_conn); + + bufsz = lconn->cn_pf->pf_packout_size(lconn, packet_out); + if (bufsz > USHRT_MAX) + return ENCPA_BADCRYPT; /* To cause connection to close */ + ipv6 = NP_IS_IPv6(packet_out->po_path); + buf = enpub->enp_pmi->pmi_allocate(enpub->enp_pmi_ctx, + packet_out->po_path->np_peer_ctx, lconn->cn_conn_ctx, + bufsz, ipv6); + if (!buf) + { + LSQ_DEBUG("could not allocate memory for outgoing packet of size %zd", + bufsz); + return ENCPA_NOMEM; + } + + enc_sz = gquic_really_encrypt_packet(enc_session, + lconn, packet_out, buf, bufsz); + if (enc_sz < 0) + { + enpub->enp_pmi->pmi_return(enpub->enp_pmi_ctx, + packet_out->po_path->np_peer_ctx, buf, ipv6); + return ENCPA_BADCRYPT; + } + + packet_out->po_enc_data = buf; + packet_out->po_enc_data_sz = enc_sz; + packet_out->po_sent_sz = enc_sz; + packet_out->po_flags &= ~PO_IPv6; + packet_out->po_flags |= PO_ENCRYPTED|PO_SENT_SZ|(ipv6 << POIPv6_SHIFT); + packet_out->po_dcid_len = GQUIC_CID_LEN; + + return ENCPA_OK; +} + + +static void +gquic_esf_set_conn (enc_session_t *enc_session_p, struct lsquic_conn *lconn) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + enc_session->es_conn = lconn; + LSQ_DEBUG("updated conn reference"); +} + + +#ifdef NDEBUG +const +#endif +struct enc_session_funcs_common lsquic_enc_session_common_gquic_1 = +{ + .esf_global_init = lsquic_handshake_init, + .esf_global_cleanup = lsquic_handshake_cleanup, + .esf_cipher = lsquic_enc_session_cipher, + .esf_keysize = lsquic_enc_session_keysize, + .esf_alg_keysize = lsquic_enc_session_alg_keysize, + .esf_get_sni = lsquic_enc_session_get_sni, + .esf_encrypt_packet = gquic_encrypt_packet, + .esf_decrypt_packet = gquic_decrypt_packet, + .esf_tag_len = GQUIC_PACKET_HASH_SZ, + .esf_get_server_cert_chain = lsquic_enc_session_get_server_cert_chain, + .esf_verify_reset_token = lsquic_enc_session_verify_reset_token, + .esf_did_sess_resume_succeed = lsquic_enc_session_did_sess_resume_succeed, + .esf_is_sess_resume_enabled = lsquic_enc_session_is_sess_resume_enabled, + .esf_set_conn = gquic_esf_set_conn, +}; + + +static void +gquic2_gen_hp_mask (struct lsquic_enc_session *enc_session, + const unsigned char hp[IQUIC_HP_LEN], + const unsigned char *sample, unsigned char mask[EVP_MAX_BLOCK_LENGTH]) +{ + const EVP_CIPHER *const cipher = EVP_aes_128_ecb(); + EVP_CIPHER_CTX hp_ctx; + int out_len; + + EVP_CIPHER_CTX_init(&hp_ctx); + if (EVP_EncryptInit_ex(&hp_ctx, cipher, NULL, hp, 0) + && EVP_EncryptUpdate(&hp_ctx, mask, &out_len, sample, 16)) + { + assert(out_len >= 5); + } + else + { + LSQ_WARN("cannot generate hp mask, error code: %"PRIu32, + ERR_get_error()); + enc_session->es_conn->cn_if->ci_internal_error(enc_session->es_conn, + "cannot generate hp mask, error code: %"PRIu32, ERR_get_error()); + } + + (void) EVP_CIPHER_CTX_cleanup(&hp_ctx); + + if (0) + { + char hp_str[IQUIC_HP_LEN * 2 + 1], sample_str[16 * 2 + 1]; + LSQ_DEBUG("generated hp mask using hp %s and sample %s", + HEXSTR(hp, IQUIC_HP_LEN, hp_str), + HEXSTR(sample, 16, sample_str)); + } +} + + +static void +gquic2_apply_hp (struct lsquic_enc_session *enc_session, + enum gel gel, unsigned char *dst, unsigned packno_off, + unsigned sample_off, unsigned packno_len) +{ + unsigned char mask[EVP_MAX_BLOCK_LENGTH]; + char mask_str[5 * 2 + 1]; + + gquic2_gen_hp_mask(enc_session, enc_session->es_hps[gel][0], + dst + sample_off, mask); + LSQ_DEBUG("apply header protection using mask %s", + HEXSTR(mask, 5, mask_str)); + dst[0] ^= (0xF | (((dst[0] & 0x80) == 0) << 4)) & mask[0]; + switch (packno_len) + { + case 4: + dst[packno_off + 3] ^= mask[4]; + /* fall-through */ + case 3: + dst[packno_off + 2] ^= mask[3]; + /* fall-through */ + case 2: + dst[packno_off + 1] ^= mask[2]; + /* fall-through */ + default: + dst[packno_off + 0] ^= mask[1]; + } +} + + +static const enum gel hety2gel[] = +{ + [HETY_NOT_SET] = GEL_FORW, + [HETY_VERNEG] = 0, + [HETY_INITIAL] = GEL_CLEAR, + [HETY_RETRY] = 0, + [HETY_HANDSHAKE] = GEL_CLEAR, + [HETY_0RTT] = GEL_EARLY, +}; + + +static const char *const gel2str[] = +{ + [GEL_CLEAR] = "clear", + [GEL_EARLY] = "early", + [GEL_FORW] = "forw-secure", +}; + + +static const enum enc_level gel2el[] = +{ + [GEL_CLEAR] = ENC_LEV_INIT, + [GEL_EARLY] = ENC_LEV_0RTT, + [GEL_FORW] = ENC_LEV_APP, +}; + + +static enum enc_packout +gquic2_esf_encrypt_packet (enc_session_t *enc_session_p, + const struct lsquic_engine_public *enpub, struct lsquic_conn *lconn_UNUSED, + struct lsquic_packet_out *packet_out) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + struct lsquic_conn *const lconn = enc_session->es_conn; + EVP_AEAD_CTX *aead_ctx; + unsigned char *dst; + enum gel gel; + unsigned char nonce_buf[ IQUIC_IV_LEN + 8 ]; + unsigned char *nonce, *begin_xor; + lsquic_packno_t packno; + size_t out_sz, dst_sz; + int header_sz; + int ipv6; + unsigned packno_off, packno_len, sample_off, divers_nonce_len; + char errbuf[ERR_ERROR_STRING_BUF_LEN]; + + gel = hety2gel[ packet_out->po_header_type ]; + aead_ctx = enc_session->es_aead_ctxs[gel][0]; + if (UNLIKELY(!aead_ctx)) + { + LSQ_WARN("encrypt crypto context at level %s not initialized", + gel2str[gel]); + return ENCPA_BADCRYPT; + } + + if (packet_out->po_data_sz < 3) + { + /* [draft-ietf-quic-tls-20] Section 5.4.2 */ + enum packno_bits bits = lsquic_packet_out_packno_bits(packet_out); + /* XXX same packet rules as in IETF QUIC? */ + unsigned len = iquic_packno_bits2len(bits); + if (packet_out->po_data_sz + len < 4) + { + len = 4 - packet_out->po_data_sz - len; + memset(packet_out->po_data + packet_out->po_data_sz, 0, len); + packet_out->po_data_sz += len; + packet_out->po_frame_types |= QUIC_FTBIT_PADDING; + LSQ_DEBUG("padded packet %"PRIu64" with %u bytes of PADDING", + packet_out->po_packno, len); + } + } + + dst_sz = lconn->cn_pf->pf_packout_size(lconn, packet_out); + ipv6 = NP_IS_IPv6(packet_out->po_path); + dst = enpub->enp_pmi->pmi_allocate(enpub->enp_pmi_ctx, + packet_out->po_path->np_peer_ctx, lconn->cn_conn_ctx, + dst_sz, ipv6); + if (!dst) + { + LSQ_DEBUG("could not allocate memory for outgoing packet of size %zd", + dst_sz); + return ENCPA_NOMEM; + } + + /* Align nonce so we can perform XOR safely in one shot: */ + begin_xor = nonce_buf + sizeof(nonce_buf) - 8; + begin_xor = (unsigned char *) ((uintptr_t) begin_xor & ~0x7); + nonce = begin_xor - IQUIC_IV_LEN + 8; + memcpy(nonce, enc_session->es_ivs[gel][0], IQUIC_IV_LEN); + packno = packet_out->po_packno; +#if __BYTE_ORDER == __LITTLE_ENDIAN + packno = bswap_64(packno); +#endif + *((uint64_t *) begin_xor) ^= packno; + + header_sz = lconn->cn_pf->pf_gen_reg_pkt_header(lconn, packet_out, dst, + dst_sz, &packno_off, &packno_len); + if (header_sz < 0) + goto err; + + if (s_log_seal_and_open) + { + LSQ_DEBUG("seal: iv (%u bytes): %s", IQUIC_IV_LEN, + HEXSTR(nonce, IQUIC_IV_LEN, s_str)); + LSQ_DEBUG("seal: ad (%u bytes): %s", header_sz, + HEXSTR(dst, header_sz, s_str)); + LSQ_DEBUG("seal: in (%hu bytes): %s", packet_out->po_data_sz, + HEXSTR(packet_out->po_data, packet_out->po_data_sz, s_str)); + } + + if (!EVP_AEAD_CTX_seal(aead_ctx, dst + header_sz, &out_sz, + dst_sz - header_sz, nonce, IQUIC_IV_LEN, + packet_out->po_data, packet_out->po_data_sz, dst, header_sz)) + { + LSQ_WARN("cannot seal packet #%"PRIu64": %s", packet_out->po_packno, + ERR_error_string(ERR_get_error(), errbuf)); + goto err; + } + assert(out_sz == dst_sz - header_sz); + + if (!packet_out->po_nonce) + divers_nonce_len = 0; + else + { + assert(enc_session->es_flags & ES_SERVER); + assert(gel == GEL_EARLY); + divers_nonce_len = DNONC_LENGTH; + } + sample_off = packno_off + divers_nonce_len + 4; + assert(sample_off + IQUIC_TAG_LEN <= dst_sz); + gquic2_apply_hp(enc_session, gel, dst, packno_off, sample_off, packno_len); + + packet_out->po_enc_data = dst; + packet_out->po_enc_data_sz = dst_sz; + packet_out->po_sent_sz = dst_sz; + packet_out->po_flags &= ~PO_IPv6; + packet_out->po_flags |= PO_ENCRYPTED|PO_SENT_SZ|(ipv6 << POIPv6_SHIFT); + lsquic_packet_out_set_enc_level(packet_out, gel2el[gel]); + return ENCPA_OK; + + err: + enpub->enp_pmi->pmi_return(enpub->enp_pmi_ctx, + packet_out->po_path->np_peer_ctx, dst, ipv6); + return ENCPA_BADCRYPT; +} + + +/* XXX this is an exact copy, can reuse */ +static lsquic_packno_t +decode_packno (lsquic_packno_t max_packno, lsquic_packno_t packno, + unsigned shift) +{ + lsquic_packno_t candidates[3], epoch_delta; + int64_t diffs[3]; + unsigned min;; + + epoch_delta = 1ULL << shift; + candidates[1] = (max_packno & ~(epoch_delta - 1)) + packno; + candidates[0] = candidates[1] - epoch_delta; + candidates[2] = candidates[1] + epoch_delta; + + diffs[0] = llabs((int64_t) candidates[0] - (int64_t) max_packno); + diffs[1] = llabs((int64_t) candidates[1] - (int64_t) max_packno); + diffs[2] = llabs((int64_t) candidates[2] - (int64_t) max_packno); + + min = diffs[1] < diffs[0]; + if (diffs[2] < diffs[min]) + min = 2; + + return candidates[min]; +} + + +static lsquic_packno_t +gquic2_strip_hp (struct lsquic_enc_session *enc_session, + enum gel gel, const unsigned char *iv, unsigned char *dst, + unsigned packno_off, unsigned *packno_len) +{ + lsquic_packno_t packno; + unsigned shift; + unsigned char mask[EVP_MAX_BLOCK_LENGTH]; + char mask_str[5 * 2 + 1]; + + gquic2_gen_hp_mask(enc_session, enc_session->es_hps[gel][1], iv, mask); + LSQ_DEBUG("strip header protection using mask %s", + HEXSTR(mask, 5, mask_str)); + dst[0] ^= (0xF | (((dst[0] & 0x80) == 0) << 4)) & mask[0]; + packno = 0; + shift = 0; + *packno_len = 1 + (dst[0] & 3); + switch (*packno_len) + { + case 4: + dst[packno_off + 3] ^= mask[4]; + packno |= dst[packno_off + 3]; + shift += 8; + /* fall-through */ + case 3: + dst[packno_off + 2] ^= mask[3]; + packno |= (unsigned) dst[packno_off + 2] << shift; + shift += 8; + /* fall-through */ + case 2: + dst[packno_off + 1] ^= mask[2]; + packno |= (unsigned) dst[packno_off + 1] << shift; + shift += 8; + /* fall-through */ + default: + dst[packno_off + 0] ^= mask[1]; + packno |= (unsigned) dst[packno_off + 0] << shift; + shift += 8; + } + return decode_packno(enc_session->es_max_packno, packno, shift); +} + + +static enum dec_packin +gquic2_esf_decrypt_packet (enc_session_t *enc_session_p, + struct lsquic_engine_public *enpub, const struct lsquic_conn *lconn, + struct lsquic_packet_in *packet_in) +{ + struct lsquic_enc_session *const enc_session = enc_session_p; + unsigned char *dst; + unsigned char nonce_buf[ IQUIC_IV_LEN + 8 ]; + unsigned char *nonce, *begin_xor; + unsigned sample_off, packno_len, divers_nonce_len; + enum gel gel; + lsquic_packno_t packno; + size_t out_sz; + enum dec_packin dec_packin; + const size_t dst_sz = packet_in->pi_data_sz - IQUIC_TAG_LEN; + char errbuf[ERR_ERROR_STRING_BUF_LEN]; + + dst = lsquic_mm_get_packet_in_buf(&enpub->enp_mm, dst_sz); + if (!dst) + { + LSQ_WARN("cannot allocate memory to copy incoming packet data"); + dec_packin = DECPI_NOMEM; + goto err; + } + + if (!(HETY_0RTT == packet_in->pi_header_type + && !(enc_session->es_flags & ES_SERVER))) + divers_nonce_len = 0; + else + divers_nonce_len = DNONC_LENGTH; + + gel = hety2gel[packet_in->pi_header_type]; + if (UNLIKELY(!enc_session->es_aead_ctxs[gel][1])) + { + LSQ_INFO("decrypt crypto context at level %s not initialized", + gel2str[gel]); + dec_packin = DECPI_BADCRYPT; + goto err; + } + + /* Decrypt packet number. After this operation, packet_in is adjusted: + * the packet number becomes part of the header. + */ + sample_off = packet_in->pi_header_sz + divers_nonce_len + 4; + if (sample_off + IQUIC_TAG_LEN > packet_in->pi_data_sz) + { + LSQ_INFO("packet data is too short: %hu bytes", + packet_in->pi_data_sz); + dec_packin = DECPI_TOO_SHORT; + goto err; + } + memcpy(dst, packet_in->pi_data, sample_off); + packet_in->pi_packno = + packno = gquic2_strip_hp(enc_session, gel, + packet_in->pi_data + sample_off, + dst, packet_in->pi_header_sz, &packno_len); + + packet_in->pi_header_sz += packno_len; + if (UNLIKELY(divers_nonce_len)) + { + if (enc_session->have_key == 1) + { + determine_diversification_key(enc_session, + dst + packet_in->pi_header_sz); + enc_session->have_key = 2; + } + packet_in->pi_header_sz += divers_nonce_len; + } + + /* Align nonce so we can perform XOR safely in one shot: */ + begin_xor = nonce_buf + sizeof(nonce_buf) - 8; + begin_xor = (unsigned char *) ((uintptr_t) begin_xor & ~0x7); + nonce = begin_xor - IQUIC_IV_LEN + 8; + memcpy(nonce, enc_session->es_ivs[gel][1], IQUIC_IV_LEN); +#if __BYTE_ORDER == __LITTLE_ENDIAN + packno = bswap_64(packno); +#endif + *((uint64_t *) begin_xor) ^= packno; + + if (s_log_seal_and_open) + { + LSQ_DEBUG("open: iv (%u bytes): %s", IQUIC_IV_LEN, + HEXSTR(nonce, IQUIC_IV_LEN, s_str)); + LSQ_DEBUG("open: ad (%u bytes): %s", packet_in->pi_header_sz, + HEXSTR(dst, packet_in->pi_header_sz, s_str)); + LSQ_DEBUG("open: in (%u bytes): %s", + packet_in->pi_data_sz - packet_in->pi_header_sz, + HEXSTR(packet_in->pi_data + packet_in->pi_header_sz, + packet_in->pi_data_sz - packet_in->pi_header_sz, s_str)); + } + + if (!EVP_AEAD_CTX_open(enc_session->es_aead_ctxs[gel][1], + dst + packet_in->pi_header_sz, &out_sz, + dst_sz - packet_in->pi_header_sz, nonce, IQUIC_IV_LEN, + packet_in->pi_data + packet_in->pi_header_sz, + packet_in->pi_data_sz - packet_in->pi_header_sz, + dst, packet_in->pi_header_sz)) + { + LSQ_INFO("cannot open packet #%"PRIu64": %s", packet_in->pi_packno, + ERR_error_string(ERR_get_error(), errbuf)); + dec_packin = DECPI_BADCRYPT; + goto err; + } + + /* Bits 2 and 3 are not set and don't need to be checked in gQUIC */ + if (packet_in->pi_flags & PI_OWN_DATA) + lsquic_mm_put_packet_in_buf(&enpub->enp_mm, packet_in->pi_data, + packet_in->pi_data_sz); + packet_in->pi_data_sz = packet_in->pi_header_sz + out_sz; + packet_in->pi_data = dst; + packet_in->pi_flags |= PI_OWN_DATA | PI_DECRYPTED + | (gel2el[gel] << PIBIT_ENC_LEV_SHIFT); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "decrypted packet %"PRIu64, + packet_in->pi_packno); + if (packet_in->pi_packno > enc_session->es_max_packno) + enc_session->es_max_packno = packet_in->pi_packno; + return DECPI_OK; + + err: + if (dst) + lsquic_mm_put_packet_in_buf(&enpub->enp_mm, dst, dst_sz); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "could not decrypt packet (type %s, " + "number %"PRIu64")", lsquic_hety2str[packet_in->pi_header_type], + packet_in->pi_packno); + return dec_packin; +} + + +#ifdef NDEBUG +const +#endif +/* Q050 and later */ +struct enc_session_funcs_common lsquic_enc_session_common_gquic_2 = +{ + .esf_get_sni = lsquic_enc_session_get_sni, + .esf_global_init = lsquic_handshake_init, + .esf_global_cleanup = lsquic_handshake_cleanup, + .esf_cipher = lsquic_enc_session_cipher, + .esf_keysize = lsquic_enc_session_keysize, + .esf_alg_keysize = lsquic_enc_session_alg_keysize, + .esf_get_server_cert_chain = lsquic_enc_session_get_server_cert_chain, + .esf_verify_reset_token = lsquic_enc_session_verify_reset_token, + .esf_did_sess_resume_succeed = lsquic_enc_session_did_sess_resume_succeed, + .esf_is_sess_resume_enabled = lsquic_enc_session_is_sess_resume_enabled, + .esf_set_conn = gquic_esf_set_conn, + /* These are different from gquic_1: */ + .esf_encrypt_packet = gquic2_esf_encrypt_packet, + .esf_decrypt_packet = gquic2_esf_decrypt_packet, + .esf_tag_len = IQUIC_TAG_LEN, +}; + + +#ifdef NDEBUG +const +#endif +struct enc_session_funcs_gquic lsquic_enc_session_gquic_gquic_1 = +{ +#if LSQUIC_KEEP_ENC_SESS_HISTORY + .esf_get_hist = lsquic_get_enc_hist, +#endif + .esf_destroy = lsquic_enc_session_destroy, + .esf_is_hsk_done = lsquic_enc_session_is_hsk_done, + .esf_get_peer_setting = lsquic_enc_session_get_peer_setting, + .esf_get_peer_option = lsquic_enc_session_get_peer_option, + .esf_create_server = lsquic_enc_session_create_server, + .esf_handle_chlo = lsquic_enc_session_handle_chlo, + .esf_get_ua = lsquic_enc_session_get_ua, + .esf_have_key_gt_one = lsquic_enc_session_have_key_gt_one, +#ifndef NDEBUG + .esf_determine_diversification_key = determine_diversification_key, + .esf_have_key = lsquic_enc_session_have_key, + .esf_set_have_key = lsquic_enc_session_set_have_key, + .esf_get_enc_key_i = lsquic_enc_session_get_enc_key_i, + .esf_get_dec_key_i = lsquic_enc_session_get_dec_key_i, + .esf_get_enc_key_nonce_i = lsquic_enc_session_get_enc_key_nonce_i, + .esf_get_dec_key_nonce_i = lsquic_enc_session_get_dec_key_nonce_i, + .esf_get_enc_key_nonce_f = lsquic_enc_session_get_enc_key_nonce_f, + .esf_get_dec_key_nonce_f = lsquic_enc_session_get_dec_key_nonce_f, +#endif /* !defined(NDEBUG) */ + .esf_create_client = lsquic_enc_session_create_client, + .esf_gen_chlo = lsquic_enc_session_gen_chlo, + .esf_handle_chlo_reply = lsquic_enc_session_handle_chlo_reply, + .esf_mem_used = lsquic_enc_session_mem_used, + .esf_maybe_dispatch_sess_resume = maybe_dispatch_sess_resume, + .esf_reset_cid = lsquic_enc_session_reset_cid, +}; + + +typedef char reset_token_lengths_match[ + SRST_LENGTH == IQUIC_SRESET_TOKEN_SZ ? 1 : -1]; + + diff --git a/external/lsquic/src/liblsquic/lsquic_handshake.h b/external/lsquic/src/liblsquic/lsquic_handshake.h new file mode 100644 index 0000000..323c939 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_handshake.h @@ -0,0 +1,123 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_HANDSHAKE_H +#define LSQUIC_HANDSHAKE_H 1 + +#define aes128_key_len 16 +#define aes128_iv_len 4 +#define STK_LENGTH 60 +#define SCID_LENGTH 16 + +struct lsquic_server_config; +struct sockaddr; +struct lsquic_str; +struct lsquic_packet_in; +struct lsquic_cid; +struct lsquic_enc_session; +struct lsquic_engine_public; + +/* client side, certs and hashs + */ +typedef struct cert_hash_item_st +{ + struct lsquic_str* domain; /*with port, such as "xyz.com:8088" as the key */ + struct lsquic_str* crts; + struct lsquic_str* hashs; + struct lsquic_hash_elem hash_el; + int count; +} cert_hash_item_t; + +#ifndef NDEBUG +enum hsk_failure_reason +lsquic_verify_stk0(const struct lsquic_enc_session *, + struct lsquic_server_config *, const struct sockaddr *ip_addr, uint64_t tm, + struct lsquic_str *stk, + unsigned secs_since_stk_generated); +enum hsk_failure_reason +lsquic_verify_stk(void *, const struct sockaddr *ip_addr, + uint64_t tm, struct lsquic_str *stk); +struct cert_hash_item_st* c_find_certs(const struct lsquic_str *domain); +#endif + +#define SNO_LENGTH 56 + +/* EVP_AEAD_CTX from boringssl pre-18d9f28f0df9f95570. */ +struct old_evp_aead_ctx_st { + void *ptr1; /* aead */ + void *ptr2; /* aead_state */ +}; + +/* Server need refresh SCFG once a day */ +/* can not use sizeof() to get the size */ +typedef struct SCFG_info_st +{ + unsigned char sscid[SCID_LENGTH]; + unsigned char priv_key[32]; + unsigned char skt_key[16]; + uint32_t aead; /* Fixed, ONLY AESG */ + uint32_t kexs; /* Fixed, ONLY C255 */ + uint32_t pdmd; /* Fixed, ONLY X509 */ + uint64_t orbt; /* Fixed, 0 */ + uint64_t expy; + /* Keep the hole for compatibility with older builds of LSWS: */ + struct old_evp_aead_ctx_st unused +#if __GNUC__ + __attribute__((deprecated)) +#endif + ; + short scfg_len; +} SCFG_info_t; + +struct SCFG_st +{ + SCFG_info_t info; + unsigned char scfg[]; /* whoile buffer */ +}; +typedef struct SCFG_st SCFG_t; +/* server side need to store STK with expired time */ + +typedef struct lsquic_server_config +{ + SCFG_t *lsc_scfg; /* This part is stored in SHM */ + EVP_AEAD_CTX lsc_stk_ctx; +} lsquic_server_config_t; + +/* Based on enum HandshakeFailureReason in Chromium */ +enum hsk_failure_reason +{ + HFR_HANDSHAKE_OK = 0, + + /* Invalid client nonce in CHLO: */ + HFR_CLIENT_NONCE_UNKNOWN = 1, /* Default nonce failure */ + HFR_CLIENT_NONCE_INVALID = 2, /* Incorrect nonce length */ + HFR_CLIENT_NONCE_NOT_UNIQ = 3, + HFR_CLIENT_NONCE_INVALID_ORBIT = 4, + HFR_CLIENT_NONCE_INVALID_TIME = 5, + + /* Invalid server nonce in CHLO: */ + HFR_SERVER_NONCE_DECRYPTION = 8, + HFR_SERVER_NONCE_INVALID = 9, + HFR_SERVER_NONCE_NOT_UNIQUE = 10, + HFR_SERVER_NONCE_INVALID_TIME = 11, + HFR_SERVER_NONCE_REQUIRED = 20, + + HFR_CONFIG_INCHOATE_HELLO = 12, /* Missing SCID tag */ + HFR_CONFIG_UNKNOWN_CONFIG = 13, /* Could not find server config SCID */ + HFR_SRC_ADDR_TOKEN_INVALID = 14, /* Missing STK tag */ + HFR_SRC_ADDR_TOKEN_DECRYPTION = 15, + HFR_SRC_ADDR_TOKEN_PARSE = 16, + HFR_SRC_ADDR_TOKEN_DIFFERENT_IP_ADDRESS = 17, + HFR_SRC_ADDR_TOKEN_CLOCK_SKEW = 18, + HFR_SRC_ADDR_TOKEN_EXPIRED = 19, + HFR_INVALID_EXPECTED_LEAF_CERTIFICATE = 21, +}; + +enum lsquic_version +lsquic_sess_resume_version (const unsigned char *, size_t); + +int +lsquic_init_gquic_crypto (struct lsquic_engine_public *enpub); + +void +lsquic_cleanup_gquic_crypto (struct lsquic_engine_public *enpub); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_hash.c b/external/lsquic/src/liblsquic/lsquic_hash.c new file mode 100644 index 0000000..a63f226 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hash.c @@ -0,0 +1,274 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hash.c + */ + +#include +#include +#include +#include +#include +#include + +#ifdef WIN32 +#include +#else +#include +#include +#endif + +#if !(defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) && defined(__APPLE__) +#include +#endif + +#include "lsquic_hash.h" +#include "lsquic_rapidhash.h" + +TAILQ_HEAD(hels_head, lsquic_hash_elem); + +#define N_BUCKETS(n_bits) (1U << (n_bits)) +#define BUCKNO(n_bits, hash) ((hash) & (N_BUCKETS(n_bits) - 1)) + +struct lsquic_hash +{ + struct hels_head *qh_buckets, + qh_all; + struct lsquic_hash_elem *qh_iter_next; + int (*qh_cmp)(const void *, const void *, size_t); + uint64_t (*qh_hash)(const void *, size_t, uint64_t seed); + unsigned qh_count; + unsigned qh_nbits; + uint64_t qh_hash_seed; +}; + + +static uint64_t get_seed() +{ + static uint64_t seed = 1; + if (seed == 0) + { +#if defined(WIN32) + LARGE_INTEGER counter; + QueryPerformanceCounter(&counter); + seed = counter.QuadPart; +#elif defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 + struct timespec ts; + (void) clock_gettime(CLOCK_MONOTONIC, &ts); + seed = ts.tv_sec * 1000000000 + ts.tv_nsec; +#elif defined(__APPLE__) + seed = mach_absolute_time(); +#else + struct timeval tv; + gettimeofday(&tv, NULL); + seed = tv.tv_sec * 1000000000 + tv.tv_usec * 1000; +#endif + srand(seed); + for(unsigned i = 0; i < (seed & 0xf) + 1; ++i) + { + seed = (seed << 8) | (seed >> 56); + seed ^= rand(); + } + } + return seed; +} + + +struct lsquic_hash * +lsquic_hash_create_ext (int (*cmp)(const void *, const void *, size_t), + uint64_t (*hashf)(const void *, size_t, uint64_t seed)) +{ + struct hels_head *buckets; + struct lsquic_hash *hash; + unsigned nbits = 2; + unsigned i; + + buckets = malloc(sizeof(buckets[0]) * N_BUCKETS(nbits)); + if (!buckets) + return NULL; + + hash = malloc(sizeof(*hash)); + if (!hash) + { + free(buckets); + return NULL; + } + + for (i = 0; i < N_BUCKETS(nbits); ++i) + TAILQ_INIT(&buckets[i]); + + TAILQ_INIT(&hash->qh_all); + hash->qh_cmp = cmp; + hash->qh_hash = hashf; + hash->qh_buckets = buckets; + hash->qh_nbits = nbits; + hash->qh_iter_next = NULL; + hash->qh_count = 0; + hash->qh_hash_seed = get_seed() ^ (uint64_t)hash + ^ ((uint64_t)buckets << 32) ^ rand(); + return hash; +} + + +struct lsquic_hash * +lsquic_hash_create (void) +{ + return lsquic_hash_create_ext(memcmp, rapidhash_withSeed); +} + + +int +lsquic_hash_set_seed (struct lsquic_hash * hash, uint64_t seed) +{ + if (hash->qh_count > 0) + return -1; + hash->qh_hash_seed = seed; + return 0; +} + + +void +lsquic_hash_destroy (struct lsquic_hash *hash) +{ + free(hash->qh_buckets); + free(hash); +} + + +static int +lsquic_hash_grow (struct lsquic_hash *hash) +{ + struct hels_head *new_buckets, *new[2]; + struct lsquic_hash_elem *el; + unsigned n, old_nbits; + int idx; + + old_nbits = hash->qh_nbits; + new_buckets = malloc(sizeof(hash->qh_buckets[0]) + * N_BUCKETS(old_nbits + 1)); + if (!new_buckets) + return -1; + + for (n = 0; n < N_BUCKETS(old_nbits); ++n) + { + new[0] = &new_buckets[n]; + new[1] = &new_buckets[n + N_BUCKETS(old_nbits)]; + TAILQ_INIT(new[0]); + TAILQ_INIT(new[1]); + while ((el = TAILQ_FIRST(&hash->qh_buckets[n]))) + { + TAILQ_REMOVE(&hash->qh_buckets[n], el, qhe_next_bucket); + idx = (BUCKNO(old_nbits + 1, el->qhe_hash_val) >> old_nbits) & 1; + TAILQ_INSERT_TAIL(new[idx], el, qhe_next_bucket); + } + } + free(hash->qh_buckets); + hash->qh_nbits = old_nbits + 1; + hash->qh_buckets = new_buckets; + return 0; +} + + +struct lsquic_hash_elem * +lsquic_hash_insert (struct lsquic_hash *hash, const void *key, + unsigned key_sz, void *value, struct lsquic_hash_elem *el) +{ + uint64_t hash_val; + unsigned buckno; + + if (el->qhe_flags & QHE_HASHED) + return NULL; + + if (hash->qh_count >= N_BUCKETS(hash->qh_nbits) / 2 && + 0 != lsquic_hash_grow(hash)) + return NULL; + + hash_val = hash->qh_hash(key, key_sz, hash->qh_hash_seed); + buckno = BUCKNO(hash->qh_nbits, hash_val); + TAILQ_INSERT_TAIL(&hash->qh_all, el, qhe_next_all); + TAILQ_INSERT_TAIL(&hash->qh_buckets[buckno], el, qhe_next_bucket); + el->qhe_key_data = key; + el->qhe_key_len = key_sz; + el->qhe_value = value; + el->qhe_hash_val = hash_val; + el->qhe_flags |= QHE_HASHED; + ++hash->qh_count; + return el; +} + + +struct lsquic_hash_elem * +lsquic_hash_find (struct lsquic_hash *hash, const void *key, unsigned key_sz) +{ + uint64_t hash_val; + unsigned buckno; + struct lsquic_hash_elem *el; + + hash_val = hash->qh_hash(key, key_sz, hash->qh_hash_seed); + buckno = BUCKNO(hash->qh_nbits, hash_val); + TAILQ_FOREACH(el, &hash->qh_buckets[buckno], qhe_next_bucket) + if (hash_val == el->qhe_hash_val && + key_sz == el->qhe_key_len && + 0 == hash->qh_cmp(key, el->qhe_key_data, key_sz)) + { + return el; + } + + return NULL; +} + + +void +lsquic_hash_erase (struct lsquic_hash *hash, struct lsquic_hash_elem *el) +{ + unsigned buckno; + + assert(el->qhe_flags & QHE_HASHED); + buckno = BUCKNO(hash->qh_nbits, el->qhe_hash_val); + if (hash->qh_iter_next == el) + hash->qh_iter_next = TAILQ_NEXT(el, qhe_next_all); + TAILQ_REMOVE(&hash->qh_buckets[buckno], el, qhe_next_bucket); + TAILQ_REMOVE(&hash->qh_all, el, qhe_next_all); + el->qhe_flags &= ~QHE_HASHED; + --hash->qh_count; +} + + +void +lsquic_hash_reset_iter (struct lsquic_hash *hash) +{ + hash->qh_iter_next = TAILQ_FIRST(&hash->qh_all); +} + + +struct lsquic_hash_elem * +lsquic_hash_first (struct lsquic_hash *hash) +{ + lsquic_hash_reset_iter(hash); + return lsquic_hash_next(hash); +} + + +struct lsquic_hash_elem * +lsquic_hash_next (struct lsquic_hash *hash) +{ + struct lsquic_hash_elem *el; + el = hash->qh_iter_next; + if (el) + hash->qh_iter_next = TAILQ_NEXT(el, qhe_next_all); + return el; +} + + +unsigned +lsquic_hash_count (struct lsquic_hash *hash) +{ + return hash->qh_count; +} + + +size_t +lsquic_hash_mem_used (const struct lsquic_hash *hash) +{ + return sizeof(*hash) + + N_BUCKETS(hash->qh_nbits) * sizeof(hash->qh_buckets[0]); +} diff --git a/external/lsquic/src/liblsquic/lsquic_hash.h b/external/lsquic/src/liblsquic/lsquic_hash.h new file mode 100644 index 0000000..86d8bd9 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hash.h @@ -0,0 +1,79 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hash.c -- A generic hash + */ + +#ifndef LSQUIC_HASH_H +#define LSQUIC_HASH_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct lsquic_hash; + +struct lsquic_hash_elem +{ + TAILQ_ENTRY(lsquic_hash_elem) + qhe_next_bucket, + qhe_next_all; + const void *qhe_key_data; + void *qhe_value; + unsigned qhe_key_len; + uint64_t qhe_hash_val; + enum { + QHE_HASHED = 1 << 0, + } qhe_flags; +}; + +struct lsquic_hash * +lsquic_hash_create (void); + +struct lsquic_hash * +lsquic_hash_create_ext (int (*cmp)(const void *, const void *, size_t), + uint64_t (*hash)(const void *, size_t, uint64_t seed)); + +int +lsquic_hash_set_seed (struct lsquic_hash *, uint64_t seed); + +void +lsquic_hash_destroy (struct lsquic_hash *); + +struct lsquic_hash_elem * +lsquic_hash_insert (struct lsquic_hash *, const void *key, unsigned key_sz, + void *value, struct lsquic_hash_elem *); + +struct lsquic_hash_elem * +lsquic_hash_find (struct lsquic_hash *, const void *key, unsigned key_sz); + +static inline void * +lsquic_hashelem_getdata (const struct lsquic_hash_elem *el) +{ + return el->qhe_value; +} + +void +lsquic_hash_erase (struct lsquic_hash *, struct lsquic_hash_elem *); + +void +lsquic_hash_reset_iter (struct lsquic_hash *); + +struct lsquic_hash_elem * +lsquic_hash_first (struct lsquic_hash *); + +struct lsquic_hash_elem * +lsquic_hash_next (struct lsquic_hash *); + +unsigned +lsquic_hash_count (struct lsquic_hash *); + +size_t +lsquic_hash_mem_used (const struct lsquic_hash *); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_hcsi_reader.c b/external/lsquic/src/liblsquic/lsquic_hcsi_reader.c new file mode 100644 index 0000000..f50ac67 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hcsi_reader.c @@ -0,0 +1,267 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_hcsi_reader.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_HCSI_READER +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(reader->hr_conn) +#include "lsquic_logger.h" + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + + +void +lsquic_hcsi_reader_init (struct hcsi_reader *reader, + struct lsquic_conn *conn, const struct hcsi_callbacks *callbacks, + void *ctx) +{ + memset(reader, 0, sizeof(*reader)); + reader->hr_state = HR_READ_FRAME_BEGIN; + reader->hr_conn = conn; + reader->hr_cb = callbacks; + reader->hr_ctx = ctx; + LSQ_DEBUG("initialized"); +} + + +int +lsquic_hcsi_reader_feed (struct hcsi_reader *reader, const void *buf, + size_t bufsz) +{ + const unsigned char *p = buf; + const unsigned char *const end = p + bufsz; + + const unsigned char *orig_p; + uint64_t len; + int s; + + continue_reading: + while (p < end) + { + switch (reader->hr_state) + { + case HR_READ_FRAME_BEGIN: + reader->hr_u.vint2_state.vr2s_state = 0; + reader->hr_state = HR_READ_FRAME_CONTINUE; + /* fall-through */ + case HR_READ_FRAME_CONTINUE: + s = lsquic_varint_read_two(&p, end, &reader->hr_u.vint2_state); + if (s < 0) + break; + reader->hr_frame_type = reader->hr_u.vint2_state.vr2s_one; + reader->hr_frame_length = reader->hr_u.vint2_state.vr2s_two; + + if (!(reader->hr_flag & HR_FLAG_RCVD_SETTING) + && reader->hr_frame_type != HQFT_SETTINGS) + { + reader->hr_cb->on_frame_error(reader->hr_ctx, + HEC_MISSING_SETTINGS, reader->hr_frame_type); + return -1; + } + + switch (reader->hr_frame_type) + { + case HQFT_SETTINGS: + reader->hr_flag |= HR_FLAG_RCVD_SETTING; + if (reader->hr_frame_length) + { + reader->hr_state = HR_READ_SETTING_BEGIN; + reader->hr_nread = 0; + } + else + { + reader->hr_cb->on_settings_frame(reader->hr_ctx); + reader->hr_state = HR_READ_FRAME_BEGIN; + } + break; + case HQFT_GOAWAY: + reader->hr_state = HR_READ_VARINT; + break; + case HQFT_CANCEL_PUSH: + reader->hr_state = HR_READ_VARINT; + break; + case HQFT_MAX_PUSH_ID: + reader->hr_state = HR_READ_VARINT; + break; + case HQFT_PRIORITY_UPDATE_PUSH: + case HQFT_PRIORITY_UPDATE_STREAM: + reader->hr_state = HR_READ_VARINT; + break; + case HQFT_DATA: + case HQFT_HEADERS: + case HQFT_PUSH_PROMISE: + reader->hr_cb->on_frame_error(reader->hr_ctx, + HEC_FRAME_UNEXPECTED, reader->hr_frame_type); + return -1; + default: + { + /* From [draft-ietf-quic-http-31] Section 7.2.8: + " Frame types of the format "0x1f * N + 0x21" for non-negative + " integer values of N are reserved to exercise the requirement + " that unknown types be ignored + */ + enum lsq_log_level L; + if (!(reader->hr_frame_type >= 0x21 && + (reader->hr_frame_type - 0x21) % 0x1F == 0)) + /* Non-grease: log with higher level: */ + L = LSQ_LOG_INFO; + else + L = LSQ_LOG_DEBUG; + LSQ_LOG(L, "unknown frame type 0x%"PRIX64": will skip " + "%"PRIu64" bytes", reader->hr_frame_type, + reader->hr_frame_length); + reader->hr_state = HR_SKIPPING; + break; + } + } + break; + case HR_READ_VARINT: + reader->hr_u.vint_state.pos = 0; + reader->hr_state = HR_READ_VARINT_CONTINUE; + reader->hr_nread = 0; + /* fall-through */ + case HR_READ_VARINT_CONTINUE: + orig_p = p; + s = lsquic_varint_read_nb(&p, end, &reader->hr_u.vint_state); + reader->hr_nread += p - orig_p; + if (0 == s) + { + switch (reader->hr_frame_type) + { + case HQFT_GOAWAY: + case HQFT_CANCEL_PUSH: + case HQFT_MAX_PUSH_ID: + if (reader->hr_nread != reader->hr_frame_length) + { + reader->hr_conn->cn_if->ci_abort_error(reader->hr_conn, 1, + HEC_FRAME_ERROR, + "Frame length does not match actual payload length"); + reader->hr_state = HR_ERROR; + return -1; + } + break; + } + switch (reader->hr_frame_type) + { + case HQFT_GOAWAY: + reader->hr_cb->on_goaway(reader->hr_ctx, + reader->hr_u.vint_state.val); + break; + case HQFT_CANCEL_PUSH: + reader->hr_cb->on_cancel_push(reader->hr_ctx, + reader->hr_u.vint_state.val); + break; + case HQFT_MAX_PUSH_ID: + reader->hr_cb->on_max_push_id(reader->hr_ctx, + reader->hr_u.vint_state.val); + break; + case HQFT_PRIORITY_UPDATE_PUSH: + case HQFT_PRIORITY_UPDATE_STREAM: + len = reader->hr_frame_length - reader->hr_nread; + if (len <= (uintptr_t) (end - p)) + { + reader->hr_cb->on_priority_update(reader->hr_ctx, + reader->hr_frame_type, reader->hr_u.vint_state.val, + (char *) p, len); + p += len; + } + else if (len <= sizeof(reader->hr_u.prio_state.buf)) + { + reader->hr_frame_length = len; + reader->hr_nread = 0; + reader->hr_state = HR_READ_PRIORITY_UPDATE; + goto continue_reading; + } + else + { + p += len; + /* 16 bytes is more than enough for a PRIORITY_UPDATE + * frame, anything larger than that is unreasonable. + */ + if (reader->hr_frame_length + > sizeof(reader->hr_u.prio_state.buf)) + LSQ_INFO("skip PRIORITY_UPDATE frame that's too " + "long (%"PRIu64" bytes)", len); + } + break; + default: + assert(0); + } + reader->hr_state = HR_READ_FRAME_BEGIN; + break; + } + else + { + assert(p == end); + return 0; + } + case HR_SKIPPING: + len = MIN((uintptr_t) (end - p), reader->hr_frame_length); + p += len; + reader->hr_frame_length -= len; + if (0 == reader->hr_frame_length) + reader->hr_state = HR_READ_FRAME_BEGIN; + break; + case HR_READ_SETTING_BEGIN: + reader->hr_u.vint2_state.vr2s_state = 0; + reader->hr_state = HR_READ_SETTING_CONTINUE; + /* fall-through */ + case HR_READ_SETTING_CONTINUE: + orig_p = p; + s = lsquic_varint_read_two(&p, end, &reader->hr_u.vint2_state); + reader->hr_nread += p - orig_p; + if (reader->hr_nread > reader->hr_frame_length) + { + reader->hr_conn->cn_if->ci_abort_error(reader->hr_conn, 1, + HEC_FRAME_ERROR, "SETTING frame contents too long"); + reader->hr_state = HR_ERROR; + return -1; + } + if (s < 0) + break; + reader->hr_cb->on_setting(reader->hr_ctx, + reader->hr_u.vint2_state.vr2s_one, + reader->hr_u.vint2_state.vr2s_two); + if (reader->hr_nread >= reader->hr_frame_length) + { + reader->hr_state = HR_READ_FRAME_BEGIN; + reader->hr_cb->on_settings_frame(reader->hr_ctx); + } + else + reader->hr_state = HR_READ_SETTING_BEGIN; + break; + case HR_READ_PRIORITY_UPDATE: + len = MIN((uintptr_t) (end - p), + reader->hr_frame_length - reader->hr_nread); + memcpy(reader->hr_u.prio_state.buf + reader->hr_nread, p, len); + reader->hr_nread += len; + p += len; + if (reader->hr_frame_length == reader->hr_nread) + { + reader->hr_cb->on_priority_update(reader->hr_ctx, + reader->hr_frame_type, reader->hr_u.vint_state.val, + reader->hr_u.prio_state.buf, reader->hr_frame_length); + reader->hr_state = HR_READ_FRAME_BEGIN; + } + break; + default: + assert(0); + /* fall-through */ + case HR_ERROR: + return -1; + } + } + + return 0; +} diff --git a/external/lsquic/src/liblsquic/lsquic_hcsi_reader.h b/external/lsquic/src/liblsquic/lsquic_hcsi_reader.h new file mode 100644 index 0000000..62609fb --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hcsi_reader.h @@ -0,0 +1,72 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hcsi_reader.h -- HTTP Control Stream Incoming (HCSI) reader + */ + +#ifndef LSQUIC_HCSI_READER_H +#define LSQUIC_HCSI_READER_H 1 + +struct lsquic_conn; + + +struct hcsi_callbacks +{ + void (*on_cancel_push)(void *ctx, uint64_t push_id); + void (*on_max_push_id)(void *ctx, uint64_t push_id); + /* Gets called at the *end* of the SETTING frame */ + void (*on_settings_frame)(void *ctx); + void (*on_setting)(void *ctx, uint64_t setting_id, uint64_t value); + void (*on_goaway)(void *ctx, uint64_t stream_id); + void (*on_frame_error)(void *ctx, unsigned code, uint64_t frame_type); + void (*on_priority_update)(void *ctx, enum hq_frame_type, uint64_t id, + const char *, size_t); +}; + + +struct hcsi_reader +{ + enum { + HR_READ_FRAME_BEGIN, + HR_READ_FRAME_CONTINUE, + HR_SKIPPING, + HR_READ_SETTING_BEGIN, + HR_READ_SETTING_CONTINUE, + HR_READ_PRIORITY_UPDATE, + HR_READ_VARINT, + HR_READ_VARINT_CONTINUE, + HR_ERROR, + } hr_state:8; + enum { + HR_FLAG_RCVD_SETTING = 1, + } hr_flag:8; + unsigned hr_nread; /* Used for PRIORITY_UPDATE and SETTINGS frames */ + struct lsquic_conn *hr_conn; + uint64_t hr_frame_type; + uint64_t hr_frame_length; + union + { + struct varint_read_state vint_state; + struct varint_read2_state vint2_state; + struct { + /* We just need the offset to rest of prio_state to read Priority + * Field Value. + */ + struct varint_read_state UNUSED; + char buf[ + sizeof(struct varint_read2_state) + - sizeof(struct varint_read_state)]; + } prio_state; + } hr_u; + const struct hcsi_callbacks *hr_cb; + void *hr_ctx; +}; + + +void +lsquic_hcsi_reader_init (struct hcsi_reader *, struct lsquic_conn *, + const struct hcsi_callbacks *, void *cb_ctx); + +int +lsquic_hcsi_reader_feed (struct hcsi_reader *, const void *buf, size_t bufsz); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_hcso_writer.c b/external/lsquic/src/liblsquic/lsquic_hcso_writer.c new file mode 100644 index 0000000..8aeba18 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hcso_writer.c @@ -0,0 +1,466 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hcso_writer.c - write to outgoing HTTP Control Stream + */ + +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_frab_list.h" +#include "lsquic_byteswap.h" +#include "lsquic_hcso_writer.h" +#include "lsquic_conn.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_HCSO_WRITER +#define LSQUIC_LOG_CONN_ID \ + lsquic_conn_log_cid(lsquic_stream_conn(writer->how_stream)) +#include "lsquic_logger.h" + + +static int +hcso_write_type (struct hcso_writer *writer) +{ + int s; + +#ifndef NDEBUG + if (writer->how_flags & HOW_RAND_VARINT) + { + s = rand() & 3; + LSQ_DEBUG("writing %d-byte stream type", 1 << s); + } + else +#endif + s = 0; + + switch (s) + { + case 0: + return lsquic_frab_list_write(&writer->how_fral, + (unsigned char []) { HQUST_CONTROL }, 1); + case 1: + return lsquic_frab_list_write(&writer->how_fral, + (unsigned char []) { 0x40, HQUST_CONTROL }, 2); + case 2: + return lsquic_frab_list_write(&writer->how_fral, + (unsigned char []) { 0x80, 0x00, 0x00, HQUST_CONTROL }, 4); + default: + return lsquic_frab_list_write(&writer->how_fral, + (unsigned char []) { 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + HQUST_CONTROL }, 8); + } +} + + + +static lsquic_stream_ctx_t * +hcso_on_new (void *stream_if_ctx, struct lsquic_stream *stream) +{ + struct hcso_writer *writer = stream_if_ctx; + struct lsquic_conn *lconn; + + writer->how_stream = stream; + lsquic_frab_list_init(&writer->how_fral, 0x100, NULL, NULL, NULL); +#ifndef NDEBUG + const char *env = getenv("LSQUIC_RND_VARINT_LEN"); + if (env && atoi(env)) + { + writer->how_flags |= HOW_RAND_VARINT; + LSQ_INFO("will randomize varints"); + if (0 == (rand() & 3)) + { + writer->how_flags |= HOW_CHOP_STREAM; + LSQ_INFO("will chop beginning of stream into tiny STREAM frames"); + } + } +#endif + if (0 != hcso_write_type(writer)) + { + LSQ_INFO("cannot write to frab list"); + lconn = lsquic_stream_conn(stream); + lconn->cn_if->ci_internal_error(lconn, "cannot write to frab list"); + } + LSQ_DEBUG("create HTTP Control Stream Writer"); + lsquic_stream_wantwrite(stream, 1); + return stream_if_ctx; +} + + +static unsigned +hcso_setting_type2bits (struct hcso_writer *writer, unsigned setting) +{ + unsigned bits = vint_val2bits(setting); + +#ifndef NDEBUG + unsigned max_bits; + if (writer->how_flags & HOW_RAND_VARINT) + { + max_bits = rand() & 3; + if (max_bits > bits) + bits = max_bits; + LSQ_DEBUG("writing out HTTP/3 setting %u as %d-byte varint", + setting, 1 << bits); + } +#endif + + return bits; +} + + +int +lsquic_hcso_write_settings (struct hcso_writer *writer, + unsigned max_header_list_size, + unsigned dyn_table_size, unsigned max_risked_streams, + int is_server +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + , int webtransport_server, + unsigned max_webtransport_server_streams +#endif + ) +{ + unsigned char *p; + unsigned bits; + int was_empty; +#ifdef NDEBUG +# define frame_size_len 1 +#else + /* Need to use two bytes for frame length, as randomization may require + * more than 63 bytes. + */ +# define frame_size_len 2 +#endif + unsigned char buf[1 /* Frame type */ + /* Frame size */ frame_size_len + /* There are maximum seven settings that need to be written out and + * each value can be encoded in maximum 8 bytes: + */ + + 7 * ( +#ifdef NDEBUG + 1 /* Each setting needs 1-byte varint number, */ +#else + 8 /* but it can be up to 8 bytes when randomized */ +#endif + + 8) ]; + + p = buf; + *p++ = HQFT_SETTINGS; + p += frame_size_len; + + if (max_header_list_size != HQ_DF_MAX_HEADER_LIST_SIZE) + { + /* Write out SETTINGS_MAX_HEADER_LIST_SIZE */ + bits = hcso_setting_type2bits(writer, HQSID_MAX_HEADER_LIST_SIZE); + vint_write(p, HQSID_MAX_HEADER_LIST_SIZE, bits, 1 << bits); + p += 1 << bits; + bits = vint_val2bits(max_header_list_size); + vint_write(p, max_header_list_size, bits, 1 << bits); + p += 1 << bits; + } + + if (dyn_table_size != HQ_DF_QPACK_MAX_TABLE_CAPACITY) + { + /* Write out SETTINGS_QPACK_MAX_TABLE_CAPACITY */ + bits = hcso_setting_type2bits(writer, HQSID_QPACK_MAX_TABLE_CAPACITY); + vint_write(p, HQSID_QPACK_MAX_TABLE_CAPACITY, bits, 1 << bits); + p += 1 << bits; + bits = vint_val2bits(dyn_table_size); + vint_write(p, dyn_table_size, bits, 1 << bits); + p += 1 << bits; + } + + if (max_risked_streams != HQ_DF_QPACK_BLOCKED_STREAMS) + { + /* Write out SETTINGS_QPACK_BLOCKED_STREAMS */ + bits = hcso_setting_type2bits(writer, HQSID_QPACK_BLOCKED_STREAMS); + vint_write(p, HQSID_QPACK_BLOCKED_STREAMS, bits, 1 << bits); + p += 1 << bits; + bits = vint_val2bits(max_risked_streams); + vint_write(p, max_risked_streams, bits, 1 << bits); + p += 1 << bits; + } + +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + if (is_server && webtransport_server && max_webtransport_server_streams) + { + /* Write out SETTINGS_ENABLE_WEBTRANSPORT */ +#define SETTINGS_ENABLE_WEBTRANSPORT (0x2b603742) +#define SETTINGS_ENABLE_WEBTRANSPORT_VALUE (1) + bits = hcso_setting_type2bits(writer, SETTINGS_ENABLE_WEBTRANSPORT); + vint_write(p, SETTINGS_ENABLE_WEBTRANSPORT, bits, 1 << bits); + p += 1 << bits; + bits = vint_val2bits(SETTINGS_ENABLE_WEBTRANSPORT_VALUE); + vint_write(p, SETTINGS_ENABLE_WEBTRANSPORT_VALUE, bits, 1 << bits); + p += 1 << bits; + + /* Write out SETTINGS_ENABLE_WEBTRANSPORT */ +#define WEBTRANSPORT_MAX_SESSIONS (0x2b603743) + bits = hcso_setting_type2bits(writer, WEBTRANSPORT_MAX_SESSIONS); + vint_write(p, WEBTRANSPORT_MAX_SESSIONS, bits, 1 << bits); + p += 1 << bits; + bits = vint_val2bits(max_webtransport_server_streams); + vint_write(p, max_webtransport_server_streams, bits, 1 << bits); + p += 1 << bits; + + /* Write out H3_DATAGRAM_ENABLED */ +#define H3_DATAGRAM_ENABLED (0x33) +#define H3_DATAGRAM_ENABLED_VALUE (1) + bits = hcso_setting_type2bits(writer, H3_DATAGRAM_ENABLED); + vint_write(p, H3_DATAGRAM_ENABLED, bits, 1 << bits); + p += 1 << bits; + bits = vint_val2bits(H3_DATAGRAM_ENABLED_VALUE); + vint_write(p, H3_DATAGRAM_ENABLED_VALUE, bits, 1 << bits); + p += 1 << bits; + + /* Write out SETTINGS_ENABLE_CONNECT_PROTOCOL */ +#define SETTINGS_ENABLE_CONNECT_PROTOCOL (0x8) +#define SETTINGS_ENABLE_CONNECT_PROTOCOL_VALUE (1) + bits = hcso_setting_type2bits(writer, SETTINGS_ENABLE_CONNECT_PROTOCOL); + vint_write(p, SETTINGS_ENABLE_CONNECT_PROTOCOL, bits, 1 << bits); + p += 1 << bits; + bits = vint_val2bits(SETTINGS_ENABLE_CONNECT_PROTOCOL_VALUE); + vint_write(p, SETTINGS_ENABLE_CONNECT_PROTOCOL_VALUE, bits, 1 << bits); + p += 1 << bits; + } +#endif + +#ifdef NDEBUG + buf[1] = p - buf - 2; +#else + vint_write(buf + 1, p - buf - 3, 1, 2); +#endif + + was_empty = lsquic_frab_list_empty(&writer->how_fral); + + if (0 != lsquic_frab_list_write(&writer->how_fral, buf, p - buf)) + { + LSQ_INFO("cannot write SETTINGS frame to frab list"); + return -1; + } + + if (was_empty) + lsquic_stream_wantwrite(writer->how_stream, 1); + + LSQ_DEBUG("generated %u-byte SETTINGS frame", (unsigned) (p - buf)); + return 0; +} + + +static const char * +hqft2str (enum hq_frame_type type) +{ + switch (type) + { + case HQFT_PUSH_PROMISE: return "PUSH_PROMISE"; + case HQFT_MAX_PUSH_ID: return "MAX_PUSH_ID"; + case HQFT_CANCEL_PUSH: return "CANCEL_PUSH"; + case HQFT_GOAWAY: return "GOAWAY"; + case HQFT_PRIORITY_UPDATE_PUSH:return "PRIORITY_UPDATE (push)"; + case HQFT_PRIORITY_UPDATE_STREAM:return "PRIORITY_UPDATE (stream)"; + default: return ""; + } +} + + +static int +hcso_write_number_frame (struct hcso_writer *writer, + enum hq_frame_type type, uint64_t value) +{ + unsigned char *p; + unsigned bits; + int was_empty; + unsigned char buf[1 /* Frame type */ + /* Frame size */ 1 + 8 /* Value */ ]; + + p = buf; + *p++ = type; + + bits = vint_val2bits(value); + *p++ = 1 << bits; + + vint_write(p, value, bits, 1 << bits); + p += 1 << bits; + + was_empty = lsquic_frab_list_empty(&writer->how_fral); + + if (0 != lsquic_frab_list_write(&writer->how_fral, buf, p - buf)) + { + LSQ_INFO("cannot write %s frame to frab list", hqft2str(type)); + return -1; + } + + if (was_empty) + lsquic_stream_wantwrite(writer->how_stream, 1); + + LSQ_DEBUG("generated %u-byte %s frame", (unsigned) (p - buf), + hqft2str(type)); + return 0; +} + + +int +lsquic_hcso_write_goaway (struct hcso_writer *writer, + lsquic_stream_id_t stream_id) +{ + return hcso_write_number_frame(writer, HQFT_GOAWAY, stream_id); +} + + +int +lsquic_hcso_write_max_push_id (struct hcso_writer *writer, uint64_t max_push_id) +{ + return hcso_write_number_frame(writer, HQFT_MAX_PUSH_ID, max_push_id); +} + + +int +lsquic_hcso_write_cancel_push (struct hcso_writer *writer, uint64_t push_id) +{ + return hcso_write_number_frame(writer, HQFT_CANCEL_PUSH, push_id); +} + + +int +lsquic_hcso_write_priority_update (struct hcso_writer *writer, + enum hq_frame_type type, uint64_t stream_or_push_id, + const struct lsquic_ext_http_prio *ehp) +{ + unsigned char *p, *len; + unsigned bits; + int was_empty; + unsigned char buf[8 /* Frame type */ + /* Frame size */ 1 + 8 /* Value */ + + 5 /* PFV: "u=.,i" or "u=." */]; + + p = buf; + bits = vint_val2bits(type); + vint_write(p, type, bits, 1 << bits); + p += 1 << bits; + + bits = vint_val2bits(stream_or_push_id); + len = p; + ++p; + + vint_write(p, stream_or_push_id, bits, 1 << bits); + p += 1 << bits; + if (!(ehp->urgency == LSQUIC_DEF_HTTP_URGENCY + && ehp->incremental == LSQUIC_DEF_HTTP_INCREMENTAL)) + { + *p++ = 'u'; + *p++ = '='; + *p++ = '0' + ehp->urgency; + if (ehp->incremental) + { + *p++ = ','; + *p++ = 'i'; + } + } + + *len = p - len - 1; + + was_empty = lsquic_frab_list_empty(&writer->how_fral); + + if (0 != lsquic_frab_list_write(&writer->how_fral, buf, p - buf)) + { + LSQ_INFO("cannot write %s frame to frab list", hqft2str(type)); + return -1; + } + + if (was_empty) + lsquic_stream_wantwrite(writer->how_stream, 1); + + LSQ_DEBUG("generated %u-byte %s frame", (unsigned) (p - buf), + hqft2str(type)); + return 0; +} + + +#ifndef NDEBUG +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +static size_t +one_byte_limit_read (void *ctx, void *buf, size_t bufsz) +{ + return lsquic_frab_list_read(ctx, buf, MIN(bufsz, 1)); +} + + +static size_t +one_byte_limit_size (void *ctx) +{ + size_t size; + + size = lsquic_frab_list_size(ctx); + return MIN(size, 1); +} +#endif + +static void +hcso_on_write (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct hcso_writer *const writer = (void *) ctx; + struct lsquic_reader reader = { + .lsqr_read = lsquic_frab_list_read, + .lsqr_size = lsquic_frab_list_size, + .lsqr_ctx = &writer->how_fral + }; + ssize_t nw; + struct lsquic_conn *lconn; + +#ifndef NDEBUG + if (stream->tosend_off < 8 && (writer->how_flags & HOW_CHOP_STREAM)) + { + reader.lsqr_read = one_byte_limit_read; + reader.lsqr_size = one_byte_limit_size; + } +#endif + + nw = lsquic_stream_writef(stream, &reader); + if (nw >= 0) + { + LSQ_DEBUG("wrote %zd bytes to stream", nw); + (void) lsquic_stream_flush(stream); + if (lsquic_frab_list_empty(&writer->how_fral)) + lsquic_stream_wantwrite(stream, 0); + } + else + { + lconn = lsquic_stream_conn(stream); + lconn->cn_if->ci_internal_error(lconn, "cannot write to stream: %s", + strerror(errno)); + lsquic_stream_wantwrite(stream, 0); + } +} + + +static void +hcso_on_close (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct hcso_writer *writer = (void *) ctx; + LSQ_DEBUG("close HTTP Control Stream Writer"); + lsquic_frab_list_cleanup(&writer->how_fral); + writer->how_stream = NULL; +} + + +static void +hcso_on_read (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + assert(0); +} + + +static const struct lsquic_stream_if hcso_if = +{ + .on_new_stream = hcso_on_new, + .on_read = hcso_on_read, + .on_write = hcso_on_write, + .on_close = hcso_on_close, +}; + +const struct lsquic_stream_if *const lsquic_hcso_writer_if = &hcso_if; diff --git a/external/lsquic/src/liblsquic/lsquic_hcso_writer.h b/external/lsquic/src/liblsquic/lsquic_hcso_writer.h new file mode 100644 index 0000000..c252ac7 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hcso_writer.h @@ -0,0 +1,48 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hcso_writer.h + */ + +#ifndef LSQUIC_HCSO_WRITER_H +#define LSQUIC_HCSO_WRITER_H 1 + +struct lsquic_ext_http_prio; +struct lsquic_stream; + +struct hcso_writer +{ + struct lsquic_stream *how_stream; + struct frab_list how_fral; +#ifndef NDEBUG + enum { + HOW_RAND_VARINT = 1 << 0, + HOW_CHOP_STREAM = 1 << 1, + } how_flags; +#endif +}; + +int +lsquic_hcso_write_settings (struct hcso_writer *, + unsigned, unsigned, unsigned, int +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + ,int, unsigned +#endif + ); + +int +lsquic_hcso_write_goaway (struct hcso_writer *, lsquic_stream_id_t); + +int +lsquic_hcso_write_max_push_id (struct hcso_writer *, uint64_t max_push_id); + +int +lsquic_hcso_write_cancel_push (struct hcso_writer *, uint64_t push_id); + +int +lsquic_hcso_write_priority_update (struct hcso_writer *, + enum hq_frame_type, uint64_t stream_or_push_id, + const struct lsquic_ext_http_prio *); + +extern const struct lsquic_stream_if *const lsquic_hcso_writer_if; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_headers.h b/external/lsquic/src/liblsquic/lsquic_headers.h new file mode 100644 index 0000000..8a9d5a9 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_headers.h @@ -0,0 +1,43 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_HEADERS_H +#define LSQUIC_HEADERS_H 1 + +/* When ea_hsi_if is not specified, the headers are converted to a C string + * that contains HTTP/1.x-like header structure. + */ +struct http1x_headers +{ + unsigned h1h_size; /* Number of characters in h1h_buf, not + * counting the NUL byte. + */ + unsigned h1h_off; /* Reading offset */ + char *h1h_buf; +}; + + +/* This struct is used to return decoded HEADERS and PUSH_PROMISE frames. + * Some of the fields are only used for HEADERS frames. They are marked + * with "H" comment below. + */ +struct uncompressed_headers +{ + lsquic_stream_id_t uh_stream_id; + lsquic_stream_id_t uh_oth_stream_id; /* For HEADERS frame, the ID of the + * stream that this stream depends + * on. (Zero means unset.) For + * PUSH_PROMISE, the promised stream + * ID. + */ + unsigned short /* H */ uh_weight; /* 1 - 256; 0 means not set */ + signed char /* H */ uh_exclusive; /* 0 or 1 when set; -1 means not set */ + enum { + /* H */ UH_FIN = (1 << 0), + UH_PP = (1 << 1), /* Push promise */ + UH_H1H = (1 << 2), /* uh_hset points to http1x_headers */ + } uh_flags:8; + void *uh_hset; + struct uncompressed_headers + *uh_next; +}; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_headers_stream.c b/external/lsquic/src/liblsquic/lsquic_headers_stream.c new file mode 100644 index 0000000..dadd197 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_headers_stream.c @@ -0,0 +1,426 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * HEADERS stream logic + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_frame_common.h" +#include "lsquic_frame_reader.h" +#include "lsquic_frame_writer.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lshpack.h" + +#include "lsquic_headers_stream.h" + +#define MAX_HEADERS_SIZE (64 * 1024) +#define MAX_HEADER_TABLE_SIZE (512 * 1024) + +#define LSQUIC_LOGGER_MODULE LSQLM_HEADERS +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(\ + lsquic_stream_conn(hs->hs_stream)) +#include "lsquic_logger.h" + +static const struct frame_reader_callbacks *frame_callbacks_ptr; + +struct headers_stream +{ + struct lsquic_stream *hs_stream; + struct lsquic_frame_reader *hs_fr; + struct lsquic_frame_writer *hs_fw; + const struct headers_stream_callbacks + *hs_callbacks; + void *hs_cb_ctx; + struct lshpack_enc hs_henc; + struct lshpack_dec hs_hdec; + enum { + HS_IS_SERVER = (1 << 0), + HS_HENC_INITED = (1 << 1), + } hs_flags; + struct lsquic_engine_public *hs_enpub; +#if LSQUIC_CONN_STATS + struct conn_stats *hs_conn_stats; +#endif +}; + + +int +lsquic_headers_stream_send_settings (struct headers_stream *hs, + const struct lsquic_http2_setting *settings, unsigned n_settings) +{ + if (0 == lsquic_frame_writer_write_settings(hs->hs_fw, settings, + n_settings)) + { + lsquic_stream_wantwrite(hs->hs_stream, + lsquic_frame_writer_have_leftovers(hs->hs_fw)); + return 0; + } + else + { + LSQ_WARN("Could not write settings to stream: %s", + strerror(errno)); + return -1; + } +} + + +static lsquic_stream_ctx_t * +headers_on_new_stream (void *stream_if_ctx, lsquic_stream_t *stream) +{ + struct headers_stream *hs = stream_if_ctx; + + lshpack_dec_init(&hs->hs_hdec); + if (0 != lshpack_enc_init(&hs->hs_henc)) + { + LSQ_WARN("could not initialize HPACK encoder: %s", strerror(errno)); + return NULL; + } + (void) lshpack_enc_use_hist(&hs->hs_henc, 1); + hs->hs_flags |= HS_HENC_INITED; + hs->hs_stream = stream; + LSQ_DEBUG("stream created"); + hs->hs_fr = lsquic_frame_reader_new((hs->hs_flags & HS_IS_SERVER) ? FRF_SERVER : 0, + MAX_HEADERS_SIZE, &hs->hs_enpub->enp_mm, + stream, lsquic_stream_read, &hs->hs_hdec, + frame_callbacks_ptr, hs, +#if LSQUIC_CONN_STATS + hs->hs_conn_stats, +#endif + hs->hs_enpub->enp_hsi_if, hs->hs_enpub->enp_hsi_ctx); + if (!hs->hs_fr) + { + LSQ_WARN("could not create frame reader: %s", strerror(errno)); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + return NULL; + } + hs->hs_fw = lsquic_frame_writer_new(&hs->hs_enpub->enp_mm, stream, 0, + &hs->hs_henc, lsquic_stream_writef, +#if LSQUIC_CONN_STATS + hs->hs_conn_stats, +#endif + (hs->hs_flags & HS_IS_SERVER)); + if (!hs->hs_fw) + { + LSQ_WARN("could not create frame writer: %s", strerror(errno)); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + return NULL; + } + lsquic_stream_wantread(stream, 1); + return (lsquic_stream_ctx_t *) hs; +} + + +static void +headers_on_read (lsquic_stream_t *stream, struct lsquic_stream_ctx *ctx) +{ + struct headers_stream *hs = (struct headers_stream *) ctx; + if (0 != lsquic_frame_reader_read(hs->hs_fr)) + { + LSQ_ERROR("frame reader failed"); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + } +} + + +static void +headers_on_write (lsquic_stream_t *stream, struct lsquic_stream_ctx *ctx) +{ + struct headers_stream *hs = (struct headers_stream *) ctx; + assert(lsquic_frame_writer_have_leftovers(hs->hs_fw)); + int s = lsquic_frame_writer_flush(hs->hs_fw); + if (0 == s) + { + LSQ_DEBUG("flushed"); + lsquic_stream_wantwrite(stream, + lsquic_frame_writer_have_leftovers(hs->hs_fw)); + } + else + { + LSQ_WARN("Error writing to stream: %s", strerror(errno)); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + } +} + + +static void +headers_on_close (lsquic_stream_t *stream, struct lsquic_stream_ctx *ctx) +{ + struct headers_stream *hs = (struct headers_stream *) ctx; + LSQ_DEBUG("stream closed"); +} + + +int +lsquic_headers_stream_send_headers (struct headers_stream *hs, + lsquic_stream_id_t stream_id, const struct lsquic_http_headers *headers, + int eos, unsigned weight) +{ + LSQ_DEBUG("received compressed headers to send"); + int s; + s = lsquic_frame_writer_write_headers(hs->hs_fw, stream_id, headers, eos, + weight); + if (0 == s) + { + lsquic_stream_wantwrite(hs->hs_stream, + lsquic_frame_writer_have_leftovers(hs->hs_fw)); + } + else + LSQ_INFO("Error writing headers: %s", strerror(errno)); + return s; +} + + +int +lsquic_headers_stream_send_priority (struct headers_stream *hs, + lsquic_stream_id_t stream_id, int exclusive, + lsquic_stream_id_t dep_stream_id, unsigned weight) +{ + LSQ_DEBUG("received priority to send"); + int s; + if (stream_id == dep_stream_id) + { + LSQ_INFO("stream cannot depend on itself"); /* RFC 7540, Sec. 5.3.1. */ + return -1; + } + s = lsquic_frame_writer_write_priority(hs->hs_fw, stream_id, exclusive, + dep_stream_id, weight); + if (0 == s) + { + lsquic_stream_wantwrite(hs->hs_stream, + lsquic_frame_writer_have_leftovers(hs->hs_fw)); + } + else + LSQ_INFO("Error writing priority frame: %s", strerror(errno)); + return s; +} + + +struct headers_stream * +lsquic_headers_stream_new (int is_server, struct lsquic_engine_public *enpub, + const struct headers_stream_callbacks *callbacks, +#if LSQUIC_CONN_STATS + struct conn_stats *conn_stats, +#endif + void *cb_ctx) +{ + struct headers_stream *hs = calloc(1, sizeof(*hs)); + if (!hs) + return NULL; + hs->hs_callbacks = callbacks; + hs->hs_cb_ctx = cb_ctx; + if (is_server) + hs->hs_flags = HS_IS_SERVER; + else + hs->hs_flags = 0; + hs->hs_enpub = enpub; +#if LSQUIC_CONN_STATS + hs->hs_conn_stats= conn_stats; +#endif + return hs; +} + + +void +lsquic_headers_stream_destroy (struct headers_stream *hs) +{ + if (hs->hs_fr) + lsquic_frame_reader_destroy(hs->hs_fr); + if (hs->hs_fw) + lsquic_frame_writer_destroy(hs->hs_fw); + if (hs->hs_flags & HS_HENC_INITED) + lshpack_enc_cleanup(&hs->hs_henc); + lshpack_dec_cleanup(&hs->hs_hdec); + free(hs); +} + + +static const struct lsquic_stream_if headers_stream_if = +{ + .on_new_stream = headers_on_new_stream, + .on_read = headers_on_read, + .on_write = headers_on_write, + .on_close = headers_on_close, +}; + + +const struct lsquic_stream_if *const lsquic_headers_stream_if = + &headers_stream_if; + + +static void +headers_on_incoming_headers (void *ctx, struct uncompressed_headers *uh) +{ + struct headers_stream *hs = ctx; + hs->hs_callbacks->hsc_on_headers(hs->hs_cb_ctx, uh); +} + + +static void +headers_on_push_promise (void *ctx, struct uncompressed_headers *uh) +{ + struct headers_stream *hs = ctx; + hs->hs_callbacks->hsc_on_push_promise(hs->hs_cb_ctx, uh); +} + + +static void +headers_on_priority (void *ctx, lsquic_stream_id_t stream_id, int exclusive, + lsquic_stream_id_t dep_stream_id, unsigned weight) +{ + struct headers_stream *hs = ctx; + hs->hs_callbacks->hsc_on_priority(hs->hs_cb_ctx, stream_id, exclusive, + dep_stream_id, weight); +} + + +static void +headers_on_error (void *ctx, lsquic_stream_id_t stream_id, + enum frame_reader_error err) +{ + struct headers_stream *hs = ctx; + switch (err) + { + case FR_ERR_BAD_HEADER: + case FR_ERR_DECOMPRESS: + case FR_ERR_SELF_DEP_STREAM: + LSQ_INFO("error %u is a stream error (stream %"PRIu64")", err, + stream_id); + hs->hs_callbacks->hsc_on_stream_error(hs->hs_cb_ctx, stream_id); + break; + case FR_ERR_INVALID_FRAME_SIZE: + case FR_ERR_NONZERO_STREAM_ID: + case FR_ERR_UNEXPECTED_PUSH: + case FR_ERR_ZERO_STREAM_ID: + case FR_ERR_EXPECTED_CONTIN: + case FR_ERR_OTHER_ERROR: + LSQ_INFO("error %u is a connection error (stream %"PRIu64")", err, + stream_id); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + break; + } +} + + +static void +headers_on_settings (void *ctx, uint16_t setting_id, uint32_t setting_value) +{ + struct headers_stream *hs = ctx; + switch (setting_id) + { + case SETTINGS_HEADER_TABLE_SIZE: + if (setting_value > MAX_HEADER_TABLE_SIZE) + { + LSQ_INFO("tried to update table size to %u, which is larger than " + "allowed maximum of %u bytes", setting_value, + MAX_HEADER_TABLE_SIZE); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + } + else + { + LSQ_INFO("update hpack table size to %u", setting_value); + lshpack_enc_set_max_capacity(&hs->hs_henc, setting_value); + } + break; + case SETTINGS_MAX_HEADER_LIST_SIZE: + LSQ_INFO("set max header list size to %u", setting_value); + lsquic_frame_writer_max_header_list_size(hs->hs_fw, setting_value); + break; + case SETTINGS_ENABLE_PUSH: + LSQ_INFO("got setting enable_push: %u", setting_value); + if (hs->hs_flags & HS_IS_SERVER) + { + if (setting_value <= 1) + hs->hs_callbacks->hsc_on_enable_push(hs->hs_cb_ctx, + setting_value); + else + { + LSQ_INFO("invalid value of enable_push"); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + } + } + else + { + LSQ_INFO("it is an error to receive enable_push setting in " + "client mode"); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + } + break; + case SETTINGS_MAX_CONCURRENT_STREAMS: + case SETTINGS_INITIAL_WINDOW_SIZE: + case SETTINGS_MAX_FRAME_SIZE: + /* [draft-ietf-quic-http-00], Section 3 */ + LSQ_INFO("Specifying setting 0x%X is a QUIC error", setting_id); + hs->hs_callbacks->hsc_on_conn_error(hs->hs_cb_ctx); + break; + default: + LSQ_INFO("Ignoring unknown setting 0x%X; value 0x%X", setting_id, + setting_value); + break; + } +} + + +int +lsquic_headers_stream_push_promise (struct headers_stream *hs, + lsquic_stream_id_t stream_id64, lsquic_stream_id_t promised_stream_id64, + const struct lsquic_http_headers *headers) +{ + uint32_t stream_id = stream_id64; + uint32_t promised_stream_id = promised_stream_id64; + int s; + LSQ_DEBUG("promising stream %u in response to stream %u", + promised_stream_id, stream_id); + s = lsquic_frame_writer_write_promise(hs->hs_fw, stream_id, + promised_stream_id, headers); + if (0 == s) + { + lsquic_stream_wantwrite(hs->hs_stream, + lsquic_frame_writer_have_leftovers(hs->hs_fw)); + } + else + LSQ_INFO("Error writing push promise: %s", strerror(errno)); + return s; +} + + +size_t +lsquic_headers_stream_mem_used (const struct headers_stream *hs) +{ + size_t size; + + size = sizeof(*hs); + size += lsquic_frame_reader_mem_used(hs->hs_fr); + size += lsquic_frame_writer_mem_used(hs->hs_fw); + /* XXX: does not cover HPACK encoder and HPACK decoder */ + + return size; +} + + +struct lsquic_stream * +lsquic_headers_stream_get_stream (const struct headers_stream *hs) +{ + return hs->hs_stream; +} + + +static const struct frame_reader_callbacks frame_callbacks = { + .frc_on_headers = headers_on_incoming_headers, + .frc_on_push_promise = headers_on_push_promise, + .frc_on_error = headers_on_error, + .frc_on_settings = headers_on_settings, + .frc_on_priority = headers_on_priority, +}; + +static const struct frame_reader_callbacks *frame_callbacks_ptr = &frame_callbacks; + diff --git a/external/lsquic/src/liblsquic/lsquic_headers_stream.h b/external/lsquic/src/liblsquic/lsquic_headers_stream.h new file mode 100644 index 0000000..b0895c5 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_headers_stream.h @@ -0,0 +1,82 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_headers_stream.h -- HEADERS stream interface + */ + +#ifndef LSQUIC_HEADERS_STREAM_H +#define LSQUIC_HEADERS_STREAM_H 1 + +#include + +struct iovec; +struct lsquic_stream_if; +struct lsquic_stream; +struct lsquic_mm; +struct lsquic_http_headers; +struct lsquic_frame_reader; +struct lsquic_frame_writer; +struct uncompressed_headers; +struct lsquic_engine_public; +struct lsquic_http2_setting; +#if LSQUIC_CONN_STATS +struct conn_stats; +#endif + + +/* Incoming frames result in new objects or events. Callbacks in this + * struct are used to dispatch them. + */ +struct headers_stream_callbacks +{ + void (*hsc_on_headers) + (void *frame_cb_ctx, struct uncompressed_headers *); + void (*hsc_on_enable_push) (void *hs_cb_ctx, int enable_push); + void (*hsc_on_push_promise) + (void *frame_cb_ctx, struct uncompressed_headers *); + void (*hsc_on_priority) (void *hs_cb_ctx, lsquic_stream_id_t stream_id, + int exclusive, lsquic_stream_id_t dep_stream_id, unsigned weight); + void (*hsc_on_stream_error) (void *hs_cb_ctx, lsquic_stream_id_t stream_id); + void (*hsc_on_conn_error) (void *hs_cb_ctx); +}; + + +struct headers_stream * +lsquic_headers_stream_new (int is_server, struct lsquic_engine_public *, + const struct headers_stream_callbacks *, +#if LSQUIC_CONN_STATS + struct conn_stats *, +#endif + void *hs_cb_ctx); + +void +lsquic_headers_stream_destroy (struct headers_stream *); + +int +lsquic_headers_stream_send_headers (struct headers_stream *hs, + lsquic_stream_id_t stream_id, + const struct lsquic_http_headers *, int eos, + unsigned weight); + +int +lsquic_headers_stream_push_promise (struct headers_stream *hs, + lsquic_stream_id_t stream_id, lsquic_stream_id_t promised_stream_id, + const struct lsquic_http_headers *); + +int +lsquic_headers_stream_send_priority (struct headers_stream *hs, + lsquic_stream_id_t stream_id, int exclusive, + lsquic_stream_id_t dep_stream_id, unsigned weight); + +int +lsquic_headers_stream_send_settings (struct headers_stream *hs, + const struct lsquic_http2_setting *, unsigned count); + +struct lsquic_stream * +lsquic_headers_stream_get_stream (const struct headers_stream *); + +size_t +lsquic_headers_stream_mem_used (const struct headers_stream *); + +extern const struct lsquic_stream_if *const lsquic_headers_stream_if; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_hkdf.c b/external/lsquic/src/liblsquic/lsquic_hkdf.c new file mode 100644 index 0000000..0928bf3 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hkdf.c @@ -0,0 +1,45 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include + +#include + +#include "lsquic_hkdf.h" + + +/* [draft-ietf-quic-tls-17] Section 5 */ +void +lsquic_qhkdf_expand (const EVP_MD *md, const unsigned char *secret, + unsigned secret_len, const char *label, uint8_t label_len, + unsigned char *out, uint16_t out_len) +{ +#ifndef NDEBUG + int s; +#endif + const size_t len = 2 + 1 + 6 + label_len + 1; +#ifndef WIN32 + unsigned char info[ 2 + 1 + 6 + label_len + 1]; +#else + unsigned char info[ 2 + 1 + 6 + UINT8_MAX + 1]; +#endif + + info[0] = out_len >> 8; + info[1] = out_len; + info[2] = label_len + 6; + info[3] = 't'; + info[4] = 'l'; + info[5] = 's'; + info[6] = '1'; + info[7] = '3'; + info[8] = ' '; + memcpy(info + 9, label, label_len); + info[9 + label_len] = 0; +#ifndef NDEBUG + s = +#else + (void) +#endif + HKDF_expand(out, out_len, md, secret, secret_len, info, len); + assert(s); +} diff --git a/external/lsquic/src/liblsquic/lsquic_hkdf.h b/external/lsquic/src/liblsquic/lsquic_hkdf.h new file mode 100644 index 0000000..7d83c9f --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hkdf.h @@ -0,0 +1,33 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_HKDF_H +#define LSQUIC_HKDF_H 1 + +/* [draft-ietf-quic-tls-23] Section 5.2 */ +#define HSK_SALT_BUF "\xc3\xee\xf7\x12\xc7\x2e\xbb\x5a\x11\xa7" \ + "\xd2\x43\x2b\xb4\x63\x65\xbe\xf9\xf5\x02" +#define HSK_SALT_PRE29 ((unsigned char *) HSK_SALT_BUF) +/* [draft-ietf-quic-tls-29] Section 5.2 */ +#define HSK_SALT_PRE33 ((unsigned char *) \ + "\xaf\xbf\xec\x28\x99\x93\xd2\x4c\x9e\x97" \ + "\x86\xf1\x9c\x61\x11\xe0\x43\x90\xa8\x99") +/* [draft-ietf-quic-tls-33] Section 5.2 */ +#define HSK_SALT ((unsigned char *) \ + "\x38\x76\x2c\xf7\xf5\x59\x34\xb3\x4d\x17" \ + "\x9a\xe6\xa4\xc8\x0c\xad\xcc\xbb\x7f\x0a") +/* [draft-ietf-quic-v2] Section 3.3.1 */ +#define HSK_SALT_V2 ((unsigned char *) \ + "\x0d\xed\xe3\xde\xf7\x00\xa6\xdb\x81\x93" \ + "\x81\xbe\x6e\x26\x9d\xcb\xf9\xbd\x2e\xd9") +#define HSK_SALT_SZ (sizeof(HSK_SALT_BUF) - 1) + +#define CLIENT_LABEL "client in" +#define CLIENT_LABEL_SZ (sizeof(CLIENT_LABEL) - 1) +#define SERVER_LABEL "server in" +#define SERVER_LABEL_SZ (sizeof(SERVER_LABEL) - 1) + +void +lsquic_qhkdf_expand (const struct env_md_st *, const unsigned char *secret, + unsigned secret_len, const char *label, uint8_t label_len, + unsigned char *out, uint16_t out_len); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_hpi.c b/external/lsquic/src/liblsquic/lsquic_hpi.c new file mode 100644 index 0000000..5ddd122 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hpi.c @@ -0,0 +1,395 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hpi.c - implementation of (Extensible) HTTP Priority Iterator. + */ + +#include +#include +#include +#include +#include +#include +#include +#ifdef WIN32 +#include +#endif + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_conn_flow.h" +#include "lsquic_rtt.h" +#include "lsquic_conn_public.h" +#include "lsquic_min_heap.h" +#include "lsquic_mm.h" +#include "lsquic_hpi.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_HPI +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(iter->hpi_conn_pub->lconn) +#include "lsquic_logger.h" + +#define HPI_DEBUG(fmt, ...) LSQ_DEBUG("%s: " fmt, iter->hpi_name, __VA_ARGS__) + +#define NEXT_STREAM(stream, off) \ + (* (struct lsquic_stream **) ((unsigned char *) (stream) + (off))) + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + +static void +add_stream_to_hpi (struct http_prio_iter *iter, + struct lsquic_stream *new_stream) +{ + unsigned prio, incr; + + if (lsquic_stream_is_critical(new_stream)) + { + prio = 0; + incr = 1; /* Place in incremental bucket: these do not need to be + * ordered by stream ID. + */ + } + else + { + prio = 1 + MIN(new_stream->sm_priority, LSQUIC_MAX_HTTP_URGENCY); + incr = !!(new_stream->sm_bflags & SMBF_INCREMENTAL); + } + + if (!(iter->hpi_set[incr] & (1u << prio))) + { + iter->hpi_set[incr] |= 1u << prio; + if (0 == incr) + iter->hpi_counts[prio] = 0; + TAILQ_INIT(&iter->hpi_streams[incr][prio]); + } + + if (0 == incr) + ++iter->hpi_counts[prio]; + TAILQ_INSERT_TAIL(&iter->hpi_streams[incr][prio], + new_stream, next_prio_stream); +} + + +void +lsquic_hpi_init (void *iter_p, struct lsquic_stream *first, + struct lsquic_stream *last, uintptr_t next_ptr_offset, + struct lsquic_conn_public *conn_pub, const char *name, + int (*filter)(void *filter_ctx, struct lsquic_stream *), + void *filter_ctx) +{ + struct http_prio_iter *const iter = iter_p; + struct lsquic_stream *stream; + unsigned count; + + iter->hpi_conn_pub = conn_pub; + iter->hpi_name = name ? name : "UNSET"; + iter->hpi_flags = 0; + iter->hpi_heaped = 0; + iter->hpi_set[0] = 0; + iter->hpi_set[1] = 0; + memset(&iter->hpi_min_heap, 0, sizeof(iter->hpi_min_heap)); + + stream = first; + count = 0; + + if (filter) + while (1) + { + if (filter(filter_ctx, stream)) + { + add_stream_to_hpi(iter, stream); + ++count; + } + if (stream == last) + break; + stream = NEXT_STREAM(stream, next_ptr_offset); + } + else + while (1) + { + HPI_DEBUG("add stream %"PRIu64, stream->id); + add_stream_to_hpi(iter, stream); + ++count; + if (stream == last) + break; + stream = NEXT_STREAM(stream, next_ptr_offset); + } + + if (count > 2) + HPI_DEBUG("initialized; # elems: %u; sets: [ %08X, %08X ]", + count, iter->hpi_set[0], iter->hpi_set[1]); +} + + +/* Number of trailing zeroes */ +static const unsigned char ntz[] = { + 9, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, + 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, + 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, + 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, + 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, + 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, + 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, + 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, + 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, + 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, + 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, + 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, + 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, + 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, + 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, + 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, + 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, + 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, + 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, + 3, 0, 1, 0, 2, 0, 1, 0, +}; + + +/* Sets prio_ and incr_ */ +#define calc_next_prio_and_incr(iter_, prio_, incr_) do { \ + prio_ = ntz[iter_->hpi_set[0]]; \ + if (prio_ <= ntz[iter_->hpi_set[1]]) \ + incr_ = 0; \ + else \ + { \ + prio_ = ntz[iter_->hpi_set[1]]; \ + incr_ = 1; \ + } \ +} while (0) + + +struct lsquic_stream * +lsquic_hpi_first (void *iter_p) +{ + struct http_prio_iter *const iter = iter_p; + + assert(!(iter->hpi_set[0] & ~((1 << N_HPI_PRIORITIES) - 1))); + assert(!(iter->hpi_set[1] & ~((1 << N_HPI_PRIORITIES) - 1))); + + return lsquic_hpi_next(iter); +} + + +static struct lsquic_stream * +next_incr (struct http_prio_iter *iter, unsigned prio) +{ + struct lsquic_stream *stream; + + stream = TAILQ_FIRST(&iter->hpi_streams[1][prio]); + TAILQ_REMOVE(&iter->hpi_streams[1][prio], stream, next_prio_stream); + if (TAILQ_EMPTY(&iter->hpi_streams[1][prio])) + iter->hpi_set[1] &= ~(1u << prio); + + return stream; +} + + +static void +free_heap_elems (struct http_prio_iter *iter) +{ + if (0 == (iter->hpi_flags & (HPI_MH_4K|HPI_MH_MALLOC))) + /* Expected condition: nothing to do */ ; + else if (iter->hpi_flags & HPI_MH_4K) + { + lsquic_mm_put_4k(iter->hpi_conn_pub->mm, iter->hpi_min_heap.mh_elems); + iter->hpi_flags &= ~HPI_MH_4K; + } + else + { + assert(iter->hpi_flags & HPI_MH_MALLOC); + iter->hpi_flags &= ~HPI_MH_MALLOC; + free(iter->hpi_min_heap.mh_elems); + } + iter->hpi_min_heap.mh_elems = NULL; +} + + +#ifndef NDEBUG +static int lsquic_hpi_heap_test = ( + LSQUIC_HPI_HEAP_TEST_STACK_OK | LSQUIC_HPI_HEAP_TEST_4K_OK); +void +lsquic_hpi_set_heap_test (int val) +{ + lsquic_hpi_heap_test = val; +} +#endif + + +static int +heap_nonincr_bucket (struct http_prio_iter *iter, unsigned prio) +{ + struct lsquic_stream *stream; + size_t need; + + if (iter->hpi_counts[prio] <= sizeof(iter->hpi_min_heap_els) + / sizeof(iter->hpi_min_heap_els[0]) +#ifndef NDEBUG + && (lsquic_hpi_heap_test & LSQUIC_HPI_HEAP_TEST_STACK_OK) +#endif + ) + iter->hpi_min_heap.mh_elems = iter->hpi_min_heap_els; + else if (need = iter->hpi_counts[prio] * sizeof(struct min_heap_elem), + need <= 0x1000 +#ifndef NDEBUG + && (lsquic_hpi_heap_test & LSQUIC_HPI_HEAP_TEST_4K_OK) +#endif + ) + { + iter->hpi_min_heap.mh_elems = lsquic_mm_get_4k(iter->hpi_conn_pub->mm); + if (!iter->hpi_min_heap.mh_elems) + return -1; + iter->hpi_flags |= HPI_MH_4K; + } + else + { + iter->hpi_min_heap.mh_elems = malloc(need); + if (!iter->hpi_min_heap.mh_elems) + return -1; + iter->hpi_flags |= HPI_MH_MALLOC; + } + + iter->hpi_min_heap.mh_nalloc = iter->hpi_counts[prio]; + TAILQ_FOREACH(stream, &iter->hpi_streams[0][prio], next_prio_stream) + lsquic_mh_insert(&iter->hpi_min_heap, stream, stream->id); + iter->hpi_heaped |= 1u << prio; + + return 0; +} + + +static struct lsquic_stream * +next_nonincr (struct http_prio_iter *iter, unsigned prio) +{ + struct lsquic_stream *stream; + + if (iter->hpi_heaped & (1u << prio)) + { + pop_stream: + stream = lsquic_mh_pop(&iter->hpi_min_heap); + if (lsquic_mh_count(&iter->hpi_min_heap) == 0) + { + free_heap_elems(iter); + iter->hpi_set[0] &= ~(1u << prio); + } + } + else if (iter->hpi_counts[prio] > 1) + { + if (0 == heap_nonincr_bucket(iter, prio)) + goto pop_stream; + /* Handle memory allocation failure by abandoning attempts to order + * the streams: + */ + iter->hpi_counts[prio] = 1; + goto first_stream; + } + else + { + first_stream: + stream = TAILQ_FIRST(&iter->hpi_streams[0][prio]); + TAILQ_REMOVE(&iter->hpi_streams[0][prio], stream, next_prio_stream); + if (TAILQ_EMPTY(&iter->hpi_streams[0][prio])) + iter->hpi_set[0] &= ~(1u << prio); + } + + return stream; +} + + +struct lsquic_stream * +lsquic_hpi_next (void *iter_p) +{ + struct http_prio_iter *const iter = iter_p; + struct lsquic_stream *stream; + unsigned prio, incr; + + calc_next_prio_and_incr(iter, prio, incr); + + if (prio >= N_HPI_PRIORITIES) + return NULL; + + if (incr) + stream = next_incr(iter, prio); + else + stream = next_nonincr(iter, prio); + + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + HPI_DEBUG("%s: return stream %"PRIu64", incr: %u, priority %u", + __func__, stream->id, incr, prio); + return stream; +} + + +#if __GNUC__ +# define popcount __builtin_popcount +#else +static int +popcount (unsigned v) +{ + int count; + unsigned i; + for (i = 0, count = 0; i < sizeof(v) * 8; ++i) + if (v & (1 << i)) + ++count; + return count; +} +#endif + + +static void +hpi_drop_high_or_non_high (void *iter_p, int drop_high) +{ + struct http_prio_iter *const iter = iter_p; + unsigned prio, incr; + + /* Nothing to drop if there is only one bucket */ + if (popcount(iter->hpi_set[0]) + popcount(iter->hpi_set[1]) < 2) + return; + + calc_next_prio_and_incr(iter, prio, incr); + + if (drop_high) + iter->hpi_set[incr] &= ~(1u << prio); + else + { + iter->hpi_set[incr] = 1u << prio; + iter->hpi_set[!incr] = 0; + } +} + + +void +lsquic_hpi_drop_high (void *iter_p) +{ + hpi_drop_high_or_non_high(iter_p, 1); +} + + +void +lsquic_hpi_drop_non_high (void *iter_p) +{ + hpi_drop_high_or_non_high(iter_p, 0); +} + + +void +lsquic_hpi_cleanup (void *iter_p) +{ + struct http_prio_iter *const iter = iter_p; + + if (iter->hpi_min_heap.mh_elems) + free_heap_elems(iter); +} diff --git a/external/lsquic/src/liblsquic/lsquic_hpi.h b/external/lsquic/src/liblsquic/lsquic_hpi.h new file mode 100644 index 0000000..d4a3fff --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hpi.h @@ -0,0 +1,79 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hpi.h - HPI: (Extensible) HTTP Priority Iterator + * + * https://tools.ietf.org/html/draft-ietf-httpbis-priority-01 + * + * Changing a stream's priority when the stream is in the iterator + * does not change the stream's position in the iterator. + */ + +#ifndef LSQUIC_HPI +#define LSQUIC_HPI 1 + +#ifndef LSQUIC_TEST +#define LSQUIC_TEST 0 +#endif + +struct lsquic_conn_public; + +/* We add 1 to the urgency when we place them on hpi_streams. Critical + * streams get the highest-priority slot zero. + */ +#define N_HPI_PRIORITIES (2 + LSQUIC_MAX_HTTP_URGENCY) + + +struct http_prio_iter +{ + const char *hpi_name; /* Used for logging */ + struct lsquic_conn_public *hpi_conn_pub; + enum { + HPI_MH_4K = 1 << 0, + HPI_MH_MALLOC = 1 << 1, + } hpi_flags; + unsigned hpi_set[2]; /* Bitmask */ + unsigned hpi_counts[N_HPI_PRIORITIES]; /* For non-incr only */ + unsigned hpi_heaped; /* Bitmask */ + struct lsquic_streams_tailq hpi_streams[2][N_HPI_PRIORITIES]; + struct min_heap hpi_min_heap; + /* We do this because http_prio_iter is used in a union with + * stream_prio_iter, which is over 4KB on the stack. Since we + * are already allocating this memory on the stack, we might as well + * use it. + */ + struct min_heap_elem hpi_min_heap_els[236]; +}; + + +void +lsquic_hpi_init (void *, struct lsquic_stream *first, + struct lsquic_stream *last, uintptr_t next_ptr_offset, + struct lsquic_conn_public *, const char *name, + int (*filter)(void *filter_ctx, struct lsquic_stream *), + void *filter_ctx); + +struct lsquic_stream * +lsquic_hpi_first (void *); + +struct lsquic_stream * +lsquic_hpi_next (void *); + +void +lsquic_hpi_drop_non_high (void *); + +void +lsquic_hpi_drop_high (void *); + +void +lsquic_hpi_cleanup (void *); + +#ifndef NDEBUG +#define LSQUIC_HPI_HEAP_TEST_STACK_OK (1 << 0) +#define LSQUIC_HPI_HEAP_TEST_4K_OK (1 << 1) +#if LSQUIC_TEST +void +lsquic_hpi_set_heap_test (int val); +#endif +#endif + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_hq.h b/external/lsquic/src/liblsquic/lsquic_hq.h new file mode 100644 index 0000000..062dfa7 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hq.h @@ -0,0 +1,103 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hq.h -- HTTP/3 (originally "HTTP over QUIC" or HQ) types + */ + +#ifndef LSQUIC_HQ_H +#define LSQUIC_HQ_H 1 + +struct lsquic_ext_http_prio; + +/* [draft-ietf-quic-http-27] Section 11.2.1 */ +enum hq_frame_type +{ + HQFT_DATA = 0, + HQFT_HEADERS = 1, + HQFT_CANCEL_PUSH = 3, + HQFT_SETTINGS = 4, + HQFT_PUSH_PROMISE = 5, + HQFT_GOAWAY = 7, + HQFT_MAX_PUSH_ID = 0xD, + /* These made me expand shf_frame_type to 4 bytes from 1. If at some + * point we have to support a frame that is wider than 4 byte, it will + * be time to bite the bullet and use our own enum for these types + * (just like we do for transport parameters). A simpler alternative + * would be to drop the enum and use #define's, but it would stink... + */ + HQFT_PRIORITY_UPDATE_STREAM= 0xF0700, + HQFT_PRIORITY_UPDATE_PUSH = 0xF0701, + /* This frame is made up and its type is never written to stream. + * Nevertheless, just to be on the safe side, give it a value as + * described in [draft-ietf-quic-http-20] Section 4.2.10. + */ + HQFT_PUSH_PREAMBLE = 0x1F * 3 + 0x21, +}; + + +enum hq_setting_id +{ + HQSID_QPACK_MAX_TABLE_CAPACITY = 1, + HQSID_MAX_HEADER_LIST_SIZE = 6, + HQSID_QPACK_BLOCKED_STREAMS = 7, +}; + +/* As of 12/18/2018: */ +#define HQ_DF_QPACK_MAX_TABLE_CAPACITY 0 +#define HQ_DF_MAX_HEADER_LIST_SIZE 0 +#define HQ_DF_QPACK_BLOCKED_STREAMS 0 + + +/* [draft-ietf-quic-http-19] Section 10.6, + * [draft-ietf-quic-qpack-07] Section 8.2 + */ +enum hq_uni_stream_type +{ + HQUST_CONTROL = 0, + HQUST_PUSH = 1, + HQUST_QPACK_ENC = 2, + HQUST_QPACK_DEC = 3, +}; + + +/* [draft-ietf-quic-http-23] Section 8.1 and + * [draft-ietf-quic-qpack-08], Section 8.3 + */ +enum http_error_code +{ + HEC_NO_ERROR = 0x100, + HEC_GENERAL_PROTOCOL_ERROR = 0x101, + HEC_INTERNAL_ERROR = 0x102, + HEC_STREAM_CREATION_ERROR = 0x103, + HEC_CLOSED_CRITICAL_STREAM = 0x104, + HEC_FRAME_UNEXPECTED = 0x105, + HEC_FRAME_ERROR = 0x106, + HEC_EXCESSIVE_LOAD = 0x107, + HEC_ID_ERROR = 0x108, + HEC_SETTINGS_ERROR = 0x109, + HEC_MISSING_SETTINGS = 0x10A, + HEC_REQUEST_REJECTED = 0x10B, + HEC_REQUEST_CANCELLED = 0x10C, + HEC_REQUEST_INCOMPLETE = 0x10D, + HEC_MESSAGE_ERROR = 0x10E, + HEC_CONNECT_ERROR = 0x10F, + HEC_VERSION_FALLBACK = 0x110, + HEC_QPACK_DECOMPRESSION_FAILED = 0x200, + HEC_QPACK_ENCODER_STREAM_ERROR = 0x201, + HEC_QPACK_DECODER_STREAM_ERROR = 0x202, +}; + + +enum ppc_flags +{ + PPC_URG_NAME = 1 << 0, + PPC_INC_NAME = 1 << 1, + PPC_URG_SET = 1 << 2, /* 'urgency' is set */ + PPC_INC_SET = 1 << 3, /* 'incremental' is set */ +}; + + +int +lsquic_http_parse_pfv (const char *, size_t, enum ppc_flags * /* optional */, + struct lsquic_ext_http_prio *, char *str, size_t); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_hspack_valid.c b/external/lsquic/src/liblsquic/lsquic_hspack_valid.c new file mode 100644 index 0000000..a30b3e6 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_hspack_valid.c @@ -0,0 +1,165 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_hspack_valid.c -- Handshake packet validator. + * + * We want to eliminate invalid packets as soon as we read them in and not + * feed them to lsquic engine if we can avoid it. The handshake packet + * possesses several characteristics which make it possible to detect + * garbage packets. + */ + + +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_ietf.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_version.h" +#include "lsquic_parse_common.h" + + +#define SMALLEST_GQUIC_OVERHEAD \ + 1 /* Type */ \ + + GQUIC_CID_LEN \ + + sizeof(lsquic_ver_tag_t) \ + + 1 /* Packet number */ \ + + 1 /* Stream frame */ \ + + 1 /* Stream ID */ \ + + 2 /* Data length */ \ + + 12 /* IV */ + + + +/* Note that we ignore nonce: even if the flag is set, we know that Chrome + * does not actually include the 32-byte nonce. + */ +static int +is_valid_gquic_hs_packet (const unsigned char *buf, size_t bufsz, + lsquic_ver_tag_t *tag) +{ + if (bufsz > GQUIC_MAX_PACKET_SZ || + /* Data: HPACKed :method GET :path / is 2 bytes */ + bufsz < SMALLEST_GQUIC_OVERHEAD + 2 || + /* Check maximum packet number: */ + buf[1 + GQUIC_CID_LEN + sizeof(lsquic_ver_tag_t)] > 64 || + /* From [draft-hamilton-quic-transport-protocol-01]: + * 0x80 is currently unused, and must be set to 0. + * 0x40 = MULTIPATH. This bit is reserved for multipath use. + * + * 0x30 = Packet number length. We expect these bits to be + * unset. + * + * The reference implementation checks that two high bits are not + * set if version flag is not set or if the version is the same. + * For our purposes, all GQUIC version we support so far have these + * bits set to zero. + * + * Incoming handshake packets must have both connection ID and + * version bits set. + * + * Nonce flag is ignored: Chrome sets it erronesously, but it may + * not be true (a) in the future or (b) in other clients. + */ + ((buf[0] ^ ( + /* These should be unset: */ + (~(0x80|0x40|0x30|PACKET_PUBLIC_FLAGS_RST)) + & + /* While these should be set: */ + (PACKET_PUBLIC_FLAGS_VERSION| + PACKET_PUBLIC_FLAGS_8BYTE_CONNECTION_ID) + )) & /* Ignore this bit: */ ~PACKET_PUBLIC_FLAGS_NONCE) + ) + { + return 0; + } + + memcpy(tag, buf + 1 + 8, sizeof(*tag)); + + return 1; +} + + +int +lsquic_is_valid_hs_packet (struct lsquic_engine *engine, + const unsigned char *buf, size_t bufsz) +{ + lsquic_ver_tag_t tag; + int is_valid; + + if (bufsz < 1) + return 0; + + switch (buf[0] & 0xF8) + { + /* Xs vary, Gs are iGnored: */ + /* 1X11 XGGG: Q046 long header */ + case 0x80|0x40|0x20|0x10|0x08: + case 0x80|0x00|0x20|0x10|0x08: + case 0x80|0x40|0x20|0x10|0x00: + case 0x80|0x00|0x20|0x10|0x00: + is_valid = bufsz >= IQUIC_MIN_INIT_PACKET_SZ + && lsquic_is_valid_iquic_hs_packet(buf, bufsz, &tag); + break; + /* 1X00 XGGG: ID-22 long header */ + case 0x80|0x40|0x00|0x00|0x08: + case 0x80|0x00|0x00|0x00|0x08: + case 0x80|0x40|0x00|0x00|0x00: + case 0x80|0x00|0x00|0x00|0x00: + /* 1X01 XGGG: ID-22 long header */ + case 0x80|0x40|0x00|0x10|0x08: + case 0x80|0x00|0x00|0x10|0x08: + case 0x80|0x40|0x00|0x10|0x00: + case 0x80|0x00|0x00|0x10|0x00: + /* 1X10 XGGG: ID-22 long header */ + case 0x80|0x40|0x20|0x00|0x08: + case 0x80|0x00|0x20|0x00|0x08: + case 0x80|0x40|0x20|0x00|0x00: + case 0x80|0x00|0x20|0x00|0x00: + is_valid = bufsz >= IQUIC_MIN_INIT_PACKET_SZ + && lsquic_is_valid_ietf_v1_or_Q046plus_hs_packet(buf, bufsz, &tag); + break; + /* 01XX XGGG: ID-22 short header */ + case 0x00|0x40|0x00|0x00|0x00: + case 0x00|0x40|0x00|0x00|0x08: + case 0x00|0x40|0x00|0x10|0x00: + case 0x00|0x40|0x00|0x10|0x08: + case 0x00|0x40|0x20|0x00|0x00: + case 0x00|0x40|0x20|0x00|0x08: + case 0x00|0x40|0x20|0x10|0x00: + case 0x00|0x40|0x20|0x10|0x08: + is_valid = 0; + break; + /* 00XX 0GGG: Q046 short header */ + case 0x00|0x00|0x00|0x00|0x00: + case 0x00|0x00|0x00|0x10|0x00: + case 0x00|0x00|0x20|0x00|0x00: + case 0x00|0x00|0x20|0x10|0x00: + is_valid = 0; + break; + /* 00XX 1GGG: GQUIC */ + case 0x00|0x00|0x00|0x00|0x08: + case 0x00|0x00|0x00|0x10|0x08: + case 0x00|0x00|0x20|0x00|0x08: + case 0x00|0x00|0x20|0x10|0x08: + is_valid = is_valid_gquic_hs_packet(buf, bufsz, &tag); + break; + default: /* gcc thinks this is possible?! */ + assert(0); + is_valid = 0; + break; + } + + if (is_valid) + { + return 1; + } + else + return 0; +} diff --git a/external/lsquic/src/liblsquic/lsquic_http.c b/external/lsquic/src/liblsquic/lsquic_http.c new file mode 100644 index 0000000..dd2402a --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_http.c @@ -0,0 +1,77 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Various HTTP-related functions. */ + +#include +#include +#ifdef WIN32 +#include +#endif + +#include "ls-sfparser.h" +#include "lsquic.h" +#include "lsquic_hq.h" + + +struct parse_pfv_ctx +{ + enum ppc_flags ppc_flags; + struct lsquic_ext_http_prio *ppc_ehp; +}; + + +static int +parse_pfv (void *user_data, enum ls_sf_dt type, char *str, size_t len, int off) +{ + struct parse_pfv_ctx *const pfv_ctx = user_data; + unsigned urgency; + + if (type == LS_SF_DT_NAME) + { + if (1 == len) + switch (str[0]) + { + case 'u': pfv_ctx->ppc_flags |= PPC_URG_NAME; return 0; + case 'i': pfv_ctx->ppc_flags |= PPC_INC_NAME; return 0; + } + } + else if (pfv_ctx->ppc_flags & PPC_URG_NAME) + { + if (type == LS_SF_DT_INTEGER) + { + urgency = atoi(str); + if (urgency <= LSQUIC_MAX_HTTP_URGENCY) + { + pfv_ctx->ppc_ehp->urgency = urgency; + pfv_ctx->ppc_flags |= PPC_URG_SET; + } + } + } + else if (pfv_ctx->ppc_flags & PPC_INC_NAME) + { + if (type == LS_SF_DT_BOOLEAN) + { + pfv_ctx->ppc_ehp->incremental = str[0] - '0'; + pfv_ctx->ppc_flags |= PPC_INC_SET; + } + } + pfv_ctx->ppc_flags &= ~(PPC_INC_NAME|PPC_URG_NAME); + + return 0; +} + + +int +lsquic_http_parse_pfv (const char *pfv, size_t pfv_sz, + enum ppc_flags *flags, struct lsquic_ext_http_prio *ehp, + char *scratch_buf, size_t scratch_sz) +{ + int ret; + struct parse_pfv_ctx pfv_ctx = { .ppc_flags = flags ? *flags : 0, + .ppc_ehp = ehp, }; + + ret = ls_sf_parse(LS_SF_TLT_DICTIONARY, pfv, pfv_sz, parse_pfv, &pfv_ctx, + scratch_buf, scratch_sz); + if (flags) + *flags = pfv_ctx.ppc_flags; + return ret; +} diff --git a/external/lsquic/src/liblsquic/lsquic_http1x_if.c b/external/lsquic/src/liblsquic/lsquic_http1x_if.c new file mode 100644 index 0000000..ce8e2e6 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_http1x_if.c @@ -0,0 +1,631 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_headers.h" +#include "lsquic_http1x_if.h" +#include "lshpack.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_HTTP1X +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(hwc->hwc_conn) +#include "lsquic_logger.h" + +enum pseudo_header +{ + PSEH_METHOD, + PSEH_SCHEME, + PSEH_AUTHORITY, + PSEH_PATH, + PSEH_STATUS, + N_PSEH +}; + +#define BIT(x) (1 << (x)) + +#define ALL_REQUEST_PSEH (BIT(PSEH_METHOD)|BIT(PSEH_SCHEME)|BIT(PSEH_AUTHORITY)|BIT(PSEH_PATH)) +#define REQUIRED_REQUEST_PSEH (BIT(PSEH_METHOD)|BIT(PSEH_SCHEME)|BIT(PSEH_PATH)) + +#define ALL_SERVER_PSEH BIT(PSEH_STATUS) +#define REQUIRED_SERVER_PSEH ALL_SERVER_PSEH + +#define PSEH_LEN(h) (sizeof(#h) - 5) + +struct header_writer_ctx +{ + const struct lsquic_conn *hwc_conn; + char *buf; + char *cookie_val; + unsigned cookie_sz, cookie_nalloc; + unsigned max_headers_sz, + headers_sz, + w_off; + enum { + HWC_SERVER = 1 << 0, + HWC_EXPECT_COLON = 1 << 1, + HWC_SEEN_HOST = 1 << 2, + HWC_PUSH_PROMISE = 1 << 3, + } hwc_flags; + enum pseudo_header pseh_mask; + char *pseh_bufs[N_PSEH]; + struct http1x_headers hwc_h1h; + size_t hwc_header_buf_nalloc; + struct lsxpack_header hwc_xhdr; +}; + + +#define HWC_PSEH_LEN(hwc, ph) ((int) strlen((hwc)->pseh_bufs[ph])) + +#define HWC_PSEH_VAL(hwc, ph) ((hwc)->pseh_bufs[ph]) + +/* flags for frames with request headers */ +#define HWC_REQUEST_HANDLING_FLAGS (HWC_SERVER|HWC_PUSH_PROMISE) + +static void * +h1h_create_header_set (void *ctx, lsquic_stream_t *stream, int is_push_promise) +{ + const struct http1x_ctor_ctx *hcc = ctx; + struct header_writer_ctx *hwc; + + hwc = calloc(1, sizeof(*hwc)); + if (!hwc) + return NULL; + + hwc->hwc_flags = HWC_EXPECT_COLON; + if (hcc->is_server) + hwc->hwc_flags |= HWC_SERVER; + if (is_push_promise) + hwc->hwc_flags |= HWC_PUSH_PROMISE; + hwc->max_headers_sz = hcc->max_headers_sz; + hwc->hwc_conn = hcc->conn; + return &hwc->hwc_h1h; +} + + +static int +hwc_uh_write (struct header_writer_ctx *hwc, const void *buf, size_t sz) +{ + char *h1h_buf; + + if (hwc->w_off + sz > hwc->headers_sz) + { + if (hwc->headers_sz * 2 >= hwc->w_off + sz) + hwc->headers_sz *= 2; + else + hwc->headers_sz = hwc->w_off + sz; + h1h_buf = realloc(hwc->hwc_h1h.h1h_buf, hwc->headers_sz); + if (!h1h_buf) + return -1; + hwc->hwc_h1h.h1h_buf = h1h_buf; + } + memcpy(&hwc->hwc_h1h.h1h_buf[hwc->w_off], buf, sz); + hwc->w_off += sz; + return 0; +} + + +static int +save_pseudo_header (struct header_writer_ctx *hwc, enum pseudo_header ph, + const char *val, unsigned val_len) +{ + if (0 == (hwc->pseh_mask & BIT(ph))) + { + assert(!hwc->pseh_bufs[ph]); + hwc->pseh_bufs[ph] = malloc(val_len + 1); + if (!hwc->pseh_bufs[ph]) + return -1; + hwc->pseh_mask |= BIT(ph); + memcpy(hwc->pseh_bufs[ph], val, val_len); + hwc->pseh_bufs[ph][val_len] = '\0'; + return 0; + } + else + { + LSQ_INFO("header %u is already present", ph); + return 1; + } +} + + +static int +add_pseudo_header (struct header_writer_ctx *hwc, struct lsxpack_header *xhdr) +{ + const char *name, *val; + unsigned name_len, val_len; + + if (!(hwc->hwc_flags & HWC_EXPECT_COLON)) + { + LSQ_INFO("unexpected colon"); + return 1; + } + + name = lsxpack_header_get_name(xhdr); + val = lsxpack_header_get_value(xhdr); + name_len = xhdr->name_len; + val_len = xhdr->val_len; + + switch (name_len) + { + case 5: + if (0 == memcmp(name, ":path", 5)) + return save_pseudo_header(hwc, PSEH_PATH, val, val_len); + break; + case 7: + switch (name[2]) + { + case 'c': + if (0 == memcmp(name, ":scheme", 7)) + return save_pseudo_header(hwc, PSEH_SCHEME, val, val_len); + break; + case 'e': + if (0 == memcmp(name, ":method", 7)) + return save_pseudo_header(hwc, PSEH_METHOD, val, val_len); + break; + case 't': + if (0 == memcmp(name, ":status", 7)) + return save_pseudo_header(hwc, PSEH_STATUS, val, val_len); + break; + } + break; + case 10: + if (0 == memcmp(name, ":authority", 10)) + return save_pseudo_header(hwc, PSEH_AUTHORITY, val, val_len); + break; + } + + LSQ_INFO("unknown pseudo-header `%.*s'", name_len, name); + return 1; +} + + +#define HTTP_CODE_LEN 3 + +static const char * +code_str_to_reason (const char code_str[HTTP_CODE_LEN]) +{ + /* RFC 7231, Section 6: */ + static const char *const http_reason_phrases[] = + { + #define HTTP_REASON_CODE(code, reason) [code - 100] = reason + HTTP_REASON_CODE(100, "Continue"), + HTTP_REASON_CODE(101, "Switching Protocols"), + HTTP_REASON_CODE(200, "OK"), + HTTP_REASON_CODE(201, "Created"), + HTTP_REASON_CODE(202, "Accepted"), + HTTP_REASON_CODE(203, "Non-Authoritative Information"), + HTTP_REASON_CODE(204, "No Content"), + HTTP_REASON_CODE(205, "Reset Content"), + HTTP_REASON_CODE(206, "Partial Content"), + HTTP_REASON_CODE(300, "Multiple Choices"), + HTTP_REASON_CODE(301, "Moved Permanently"), + HTTP_REASON_CODE(302, "Found"), + HTTP_REASON_CODE(303, "See Other"), + HTTP_REASON_CODE(304, "Not Modified"), + HTTP_REASON_CODE(305, "Use Proxy"), + HTTP_REASON_CODE(307, "Temporary Redirect"), + HTTP_REASON_CODE(400, "Bad Request"), + HTTP_REASON_CODE(401, "Unauthorized"), + HTTP_REASON_CODE(402, "Payment Required"), + HTTP_REASON_CODE(403, "Forbidden"), + HTTP_REASON_CODE(404, "Not Found"), + HTTP_REASON_CODE(405, "Method Not Allowed"), + HTTP_REASON_CODE(406, "Not Acceptable"), + HTTP_REASON_CODE(407, "Proxy Authentication Required"), + HTTP_REASON_CODE(408, "Request Timeout"), + HTTP_REASON_CODE(409, "Conflict"), + HTTP_REASON_CODE(410, "Gone"), + HTTP_REASON_CODE(411, "Length Required"), + HTTP_REASON_CODE(412, "Precondition Failed"), + HTTP_REASON_CODE(413, "Payload Too Large"), + HTTP_REASON_CODE(414, "URI Too Long"), + HTTP_REASON_CODE(415, "Unsupported Media Type"), + HTTP_REASON_CODE(416, "Range Not Satisfiable"), + HTTP_REASON_CODE(417, "Expectation Failed"), + HTTP_REASON_CODE(426, "Upgrade Required"), + HTTP_REASON_CODE(500, "Internal Server Error"), + HTTP_REASON_CODE(501, "Not Implemented"), + HTTP_REASON_CODE(502, "Bad Gateway"), + HTTP_REASON_CODE(503, "Service Unavailable"), + HTTP_REASON_CODE(504, "Gateway Timeout"), + HTTP_REASON_CODE(505, "HTTP Version Not Supported"), + #undef HTTP_REASON_CODE + }; + + long code; + char code_buf[HTTP_CODE_LEN + 1]; + + memcpy(code_buf, code_str, HTTP_CODE_LEN); + code_buf[HTTP_CODE_LEN] = '\0'; + code = strtol(code_buf, NULL, 10) - 100; + if (code > 0 && code < (long) (sizeof(http_reason_phrases) / + sizeof(http_reason_phrases[0]))) + return http_reason_phrases[code]; + else + return NULL; +} + + +static int +convert_response_pseudo_headers (struct header_writer_ctx *hwc) +{ + if ((hwc->pseh_mask & REQUIRED_SERVER_PSEH) != REQUIRED_SERVER_PSEH) + { + LSQ_INFO("not all response pseudo-headers are specified"); + return 1; + } + if (hwc->pseh_mask & ALL_REQUEST_PSEH) + { + LSQ_INFO("response pseudo-headers contain request-only headers"); + return 1; + } + + const char *code_str, *reason; + int code_len; + + code_str = HWC_PSEH_VAL(hwc, PSEH_STATUS); + code_len = HWC_PSEH_LEN(hwc, PSEH_STATUS); + +#define HWC_UH_WRITE(h, buf, sz) do { \ + if (0 != hwc_uh_write(h, buf, sz)) \ + return -1; \ +} while (0) + + HWC_UH_WRITE(hwc, "HTTP/1.1 ", 9); + HWC_UH_WRITE(hwc, code_str, code_len); + if (HTTP_CODE_LEN == code_len && (reason = code_str_to_reason(code_str))) + { + HWC_UH_WRITE(hwc, " ", 1); + HWC_UH_WRITE(hwc, reason, strlen(reason)); + HWC_UH_WRITE(hwc, "\r\n", 2); + } + else + HWC_UH_WRITE(hwc, " \r\n", 3); + if (hwc->max_headers_sz && hwc->w_off > hwc->max_headers_sz) + { + LSQ_INFO("headers too large"); + return 1; + } + return 0; + +#undef HWC_UH_WRITE +} + + +static int +convert_request_pseudo_headers (struct header_writer_ctx *hwc) +{ + if ((hwc->pseh_mask & REQUIRED_REQUEST_PSEH) != REQUIRED_REQUEST_PSEH) + { + LSQ_INFO("not all request pseudo-headers are specified"); + return 1; + } + if (hwc->pseh_mask & ALL_SERVER_PSEH) + { + LSQ_INFO("request pseudo-headers contain response-only headers"); + return 1; + } + +#define HWC_UH_WRITE(h, buf, sz) do { \ + if (0 != hwc_uh_write(h, buf, sz)) \ + return -1; \ +} while (0) + + HWC_UH_WRITE(hwc, HWC_PSEH_VAL(hwc, PSEH_METHOD), HWC_PSEH_LEN(hwc, PSEH_METHOD)); + HWC_UH_WRITE(hwc, " ", 1); + HWC_UH_WRITE(hwc, HWC_PSEH_VAL(hwc, PSEH_PATH), HWC_PSEH_LEN(hwc, PSEH_PATH)); + HWC_UH_WRITE(hwc, " HTTP/1.1\r\n", 11); + + if (hwc->max_headers_sz && hwc->w_off > hwc->max_headers_sz) + { + LSQ_INFO("headers too large"); + return 1; + } + + return 0; + +#undef HWC_UH_WRITE +} + + +static int +convert_pseudo_headers (struct header_writer_ctx *hwc) +{ + /* We are *reading* the message. Thus, a server expects a request, and a + * client expects a response. Unless we receive a push promise from the + * server, in which case this should also be a request. + */ + if (hwc->hwc_flags & (HWC_SERVER|HWC_PUSH_PROMISE)) + return convert_request_pseudo_headers(hwc); + else + return convert_response_pseudo_headers(hwc); +} + + +static int +save_cookie (struct header_writer_ctx *hwc, const char *val, unsigned val_len) +{ + char *cookie_val; + + if (0 == hwc->cookie_sz) + { + hwc->cookie_nalloc = hwc->cookie_sz = val_len; + cookie_val = malloc(hwc->cookie_nalloc); + if (!cookie_val) + return -1; + hwc->cookie_val = cookie_val; + memcpy(hwc->cookie_val, val, val_len); + } + else + { + hwc->cookie_sz += val_len + 2 /* "; " */; + if (hwc->cookie_sz > hwc->cookie_nalloc) + { + hwc->cookie_nalloc = hwc->cookie_nalloc * 2 + val_len + 2; + cookie_val = realloc(hwc->cookie_val, hwc->cookie_nalloc); + if (!cookie_val) + return -1; + hwc->cookie_val = cookie_val; + } + memcpy(hwc->cookie_val + hwc->cookie_sz - val_len - 2, "; ", 2); + memcpy(hwc->cookie_val + hwc->cookie_sz - val_len, val, val_len); + } + + return 0; +} + + +static int +add_real_header (struct header_writer_ctx *hwc, struct lsxpack_header *xhdr) +{ + int err; + unsigned i; + int n_upper; + const char *name, *val; + unsigned name_len, val_len; + + if (hwc->hwc_flags & HWC_EXPECT_COLON) + { + if (0 != (err = convert_pseudo_headers(hwc))) + return err; + hwc->hwc_flags &= ~HWC_EXPECT_COLON; + } + + name = lsxpack_header_get_name(xhdr); + val = lsxpack_header_get_value(xhdr); + name_len = xhdr->name_len; + val_len = xhdr->val_len; + + if (4 == name_len && 0 == memcmp(name, "host", 4)) + { + if(hwc->pseh_mask & BIT(PSEH_AUTHORITY)) + { + LSQ_INFO("authority header was sent. ignoring host header with value `%.*s'", val_len, val); + return 0; + } + + hwc->hwc_flags |= HWC_SEEN_HOST; + } + + n_upper = 0; + for (i = 0; i < name_len; ++i) + n_upper += isupper(name[i]); + if (n_upper > 0) + { + LSQ_INFO("Header name `%.*s' contains uppercase letters", + name_len, name); + return 1; + } + + if (6 == name_len && memcmp(name, "cookie", 6) == 0) + { + return save_cookie(hwc, val, val_len); + } + +#define HWC_UH_WRITE(h, buf, sz) do { \ + if (0 != hwc_uh_write(h, buf, sz)) \ + return -1; \ +} while (0) + + HWC_UH_WRITE(hwc, name, name_len); + HWC_UH_WRITE(hwc, ": ", 2); + HWC_UH_WRITE(hwc, val, val_len); + HWC_UH_WRITE(hwc, "\r\n", 2); + + if (hwc->max_headers_sz && hwc->w_off > hwc->max_headers_sz) + { + LSQ_INFO("headers too large"); + return 1; + } + + return 0; + +#undef HWC_UH_WRITE +} + + +static int +add_header_to_uh (struct header_writer_ctx *hwc, struct lsxpack_header *xhdr) +{ + const char *name; + + name = lsxpack_header_get_name(xhdr); + LSQ_DEBUG("Got header '%.*s': '%.*s'", (int) xhdr->name_len, name, + (int) xhdr->val_len, lsxpack_header_get_value(xhdr)); + if (':' == name[0]) + return add_pseudo_header(hwc, xhdr); + else + return add_real_header(hwc, xhdr); +} + + +static int +h1h_finish_hset (struct header_writer_ctx *hwc) +{ + int st; + + if (hwc->hwc_flags & HWC_EXPECT_COLON) + { + st = convert_pseudo_headers(hwc); + if (0 != st) + return st; + hwc->hwc_flags &= ~HWC_EXPECT_COLON; + } + +#define HWC_UH_WRITE(h, buf, sz) do { \ + st = hwc_uh_write(h, buf, sz); \ + if (0 != st) \ + return st; \ +} while (0) + + if(0 == (hwc->hwc_flags & HWC_SEEN_HOST) && 0 != (hwc->hwc_flags & HWC_REQUEST_HANDLING_FLAGS)) + { + if((hwc->pseh_mask & BIT(PSEH_AUTHORITY))) + { + LSQ_DEBUG("Setting 'Host: %.*s'", HWC_PSEH_LEN(hwc, PSEH_AUTHORITY), + HWC_PSEH_VAL(hwc, PSEH_AUTHORITY)); + HWC_UH_WRITE(hwc, "Host: ", 6); + HWC_UH_WRITE(hwc, HWC_PSEH_VAL(hwc, PSEH_AUTHORITY), + HWC_PSEH_LEN(hwc, PSEH_AUTHORITY)); + HWC_UH_WRITE(hwc, "\r\n", 2); + } + else + { + LSQ_INFO("both host header and authority pseudo header were not found"); + return 1; + } + } + + if (hwc->cookie_val) + { + LSQ_DEBUG("Setting 'Cookie: %.*s'", hwc->cookie_sz, hwc->cookie_val); + HWC_UH_WRITE(hwc, "Cookie: ", 8); + HWC_UH_WRITE(hwc, hwc->cookie_val, hwc->cookie_sz); + HWC_UH_WRITE(hwc, "\r\n", 2); + } + + HWC_UH_WRITE(hwc, "\r\n", 2 + 1 /* NUL byte */); + hwc->w_off -= 1; /* Do not count NUL byte */ + hwc->hwc_h1h.h1h_size = hwc->w_off; + + if (hwc->max_headers_sz && hwc->w_off > hwc->max_headers_sz) + { + LSQ_INFO("headers too large"); + return 1; + } + + return 0; +} + +#define HWC_PTR(data_in) (struct header_writer_ctx *) \ + ((unsigned char *) (hset) - offsetof(struct header_writer_ctx, hwc_h1h)) + + +static struct lsxpack_header * +h1h_prepare_decode (void *hset, struct lsxpack_header *xhdr, size_t req_space) +{ + struct header_writer_ctx *const hwc = HWC_PTR(hset); + size_t nalloc; + char *buf; + + if (req_space < 0x100) + req_space = 0x100; + + if (req_space > MAX_HTTP1X_HEADERS_SIZE || req_space > LSXPACK_MAX_STRLEN) + { + LSQ_DEBUG("requested space for header is too large: %zd bytes", + req_space); + return NULL; + } + + if (!xhdr) + { + if (0 == hwc->hwc_header_buf_nalloc + || req_space > hwc->hwc_header_buf_nalloc) + { + if (0 == hwc->hwc_header_buf_nalloc) + { + buf = malloc(req_space); + } + else + { + buf = realloc(hwc->hwc_xhdr.buf, req_space); + } + + if (!buf) + { + LSQ_WARN("cannot %s %zd bytes", + hwc->hwc_header_buf_nalloc ? "reallocate to" : "allocate", req_space); + return NULL; + } + + hwc->hwc_xhdr.buf = buf; + hwc->hwc_header_buf_nalloc = req_space; + } + else + buf = hwc->hwc_xhdr.buf; + lsxpack_header_prepare_decode(&hwc->hwc_xhdr, buf, 0, req_space); + } + else + { + if (req_space > hwc->hwc_header_buf_nalloc) + { + if (req_space < hwc->hwc_header_buf_nalloc * 2) + nalloc = hwc->hwc_header_buf_nalloc * 2; + else + nalloc = req_space; + buf = realloc(hwc->hwc_xhdr.buf, nalloc); + if (!buf) + { + LSQ_DEBUG("cannot reallocate to %zd bytes", nalloc); + return NULL; + } + hwc->hwc_xhdr.buf = buf; + hwc->hwc_header_buf_nalloc = nalloc; + } + hwc->hwc_xhdr.val_len = req_space; + } + + return &hwc->hwc_xhdr; +} + + +static int +h1h_process_header (void *hset, struct lsxpack_header *xhdr) +{ + struct header_writer_ctx *const hwc = HWC_PTR(hset); + if (xhdr) + return add_header_to_uh(hwc, xhdr); + else + return h1h_finish_hset(hwc); +} + + +static void +h1h_discard_header_set (void *hset) +{ + struct header_writer_ctx *const hwc = HWC_PTR(hset); + unsigned i; + + for (i = 0; i < sizeof(hwc->pseh_bufs) / sizeof(hwc->pseh_bufs[0]); ++i) + if (hwc->pseh_bufs[i]) + free(hwc->pseh_bufs[i]); + if (hwc->cookie_val) + free(hwc->cookie_val); + free(hwc->hwc_h1h.h1h_buf); + free(hwc->hwc_xhdr.buf); + free(hwc); +} + + +static const struct lsquic_hset_if http1x_if = +{ + .hsi_create_header_set = h1h_create_header_set, + .hsi_prepare_decode = h1h_prepare_decode, + .hsi_process_header = h1h_process_header, + .hsi_discard_header_set = h1h_discard_header_set, +}; + +const struct lsquic_hset_if *const lsquic_http1x_if = &http1x_if; diff --git a/external/lsquic/src/liblsquic/lsquic_http1x_if.h b/external/lsquic/src/liblsquic/lsquic_http1x_if.h new file mode 100644 index 0000000..1ba771b --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_http1x_if.h @@ -0,0 +1,21 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_HTTP1X_IF_H +#define LSQUIC_HTTP1X_IF_H 1 + +#include "lsquic_shared_support.h" + +struct lsquic_hset_if; +struct lsquic_conn; + +struct http1x_ctor_ctx +{ + const struct lsquic_conn *conn; /* Used for logging */ + unsigned max_headers_sz; + int is_server; +}; + +LSQUIC_EXTERN const struct lsquic_hset_if *const lsquic_http1x_if; + +#define MAX_HTTP1X_HEADERS_SIZE (64 * 1024) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_ietf.h b/external/lsquic/src/liblsquic/lsquic_ietf.h new file mode 100644 index 0000000..e9349e3 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_ietf.h @@ -0,0 +1,45 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_IETF_H +#define LSQUIC_IETF_H 1 + +/* Things specific to the IETF version of QUIC that do not fit anywhere else */ + +/* [draft-ietf-quic-transport-33] Section 20 */ +enum trans_error_code +{ + TEC_NO_ERROR = 0x0, + TEC_INTERNAL_ERROR = 0x1, + TEC_CONNECTION_REFUSED = 0x2, + TEC_FLOW_CONTROL_ERROR = 0x3, + TEC_STREAM_LIMIT_ERROR = 0x4, + TEC_STREAM_STATE_ERROR = 0x5, + TEC_FINAL_SIZE_ERROR = 0x6, + TEC_FRAME_ENCODING_ERROR = 0x7, + TEC_TRANSPORT_PARAMETER_ERROR = 0x8, + TEC_CONNECTION_ID_LIMIT_ERROR = 0x9, + TEC_PROTOCOL_VIOLATION = 0xA, + TEC_INVALID_TOKEN = 0xB, + TEC_APPLICATION_ERROR = 0xC, + TEC_CRYPTO_BUFFER_EXCEEDED = 0xD, + TEC_KEY_UPDATE_ERROR = 0xE, + TEC_AEAD_LIMIT_REACHED = 0xF, + TEC_NO_VIABLE_PATH = 0x10, + TEC_VERSION_NEGOTIATION_ERROR = 0x11, +}; + +/* Must be at least two */ +#define MAX_IETF_CONN_DCIDS 8 + +/* [draft-ietf-quic-tls-25] Section 5.8 */ +#define IETF_RETRY_KEY_SZ 16 +#define IETF_RETRY_NONCE_SZ 12 + +#define N_IETF_RETRY_VERSIONS 4 +extern const unsigned char *const lsquic_retry_key_buf[N_IETF_RETRY_VERSIONS]; +extern const unsigned char *const lsquic_retry_nonce_buf[N_IETF_RETRY_VERSIONS]; +#define lsquic_version_2_retryver(ver_) ( \ + (ver_) <= LSQVER_ID27 ? 0 : \ + (ver_) < LSQVER_I001 ? 1 : \ + (ver_) == LSQVER_I002 ? 3 : 2) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_int_types.h b/external/lsquic/src/liblsquic/lsquic_int_types.h new file mode 100644 index 0000000..dd7d67b --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_int_types.h @@ -0,0 +1,31 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_INT_TYPES_H +#define LSQUIC_INT_TYPES_H 1 + +/* Types included in this file are only used internally. Types used in + * include/lsquic.h should be listed in include/lsquic_types.h + */ + +#include + +typedef uint64_t lsquic_time_t; /* Microseconds since some time */ +typedef uint64_t lsquic_packno_t; +typedef uint32_t lsquic_ver_tag_t; /* Opaque 4-byte value */ + +/* The `low' and `high' members are inclusive: if the range only has one + * member, low == high. + */ +struct lsquic_packno_range { + lsquic_packno_t low, high; +}; + +/* RFC 3168 */ +enum ecn +{ + ECN_NOT_ECT = 0, + ECN_ECT1 = 1, + ECN_ECT0 = 2, + ECN_CE = 3, +}; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_logger.c b/external/lsquic/src/liblsquic/lsquic_logger.c new file mode 100644 index 0000000..f81451c --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_logger.c @@ -0,0 +1,548 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * LSQUIC Logger implementation. + */ + +#include +#include +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#endif +#include + +#define LSQUIC_LOGGER_MODULE LSQLM_LOGGER /* Quis custodiet ipsos custodes? */ +#include "lsquic.h" +#include "lsquic_logger.h" + +#define MAX_LINE_LEN 8192 +/* Expanded TRUNC_FMT should not exceed TRUNC_SZ bytes. At the same time, + * TRUNC_SZ should be significantly smaller than MAX_LINE_LEN. + */ +#define TRUNC_FMT "" +#define TRUNC_SZ 40 +#define FORMAT_PROBLEM(lb, len, max) ((lb < 0) || (lb + len >= max)) + +/* TODO: display GQUIC CIDs in Chrome-compatible format */ + +static enum lsquic_logger_timestamp_style g_llts = LLTS_NONE; + +static int +null_log_buf (void *ctx, const char *buf, size_t len) +{ + return 0; +} + +static int +file_log_buf (void *ctx, const char *buf, size_t len) +{ + return (int)fwrite(buf, sizeof(char), len, (FILE *) ctx); +} + +static const struct lsquic_logger_if file_logger_if = { + .log_buf = file_log_buf, +}; + +static const struct lsquic_logger_if null_logger_if = { + .log_buf = null_log_buf, +}; + +static void *logger_ctx = NULL; +static const struct lsquic_logger_if *logger_if = &null_logger_if; + +enum lsq_log_level lsq_log_levels[N_LSQUIC_LOGGER_MODULES] = { + [LSQLM_NOMODULE] = LSQ_LOG_WARN, + [LSQLM_LOGGER] = LSQ_LOG_WARN, + [LSQLM_EVENT] = LSQ_LOG_WARN, + [LSQLM_ENGINE] = LSQ_LOG_WARN, + [LSQLM_CONN] = LSQ_LOG_WARN, + [LSQLM_STREAM] = LSQ_LOG_WARN, + [LSQLM_PARSE] = LSQ_LOG_WARN, + [LSQLM_CFCW] = LSQ_LOG_WARN, + [LSQLM_SFCW] = LSQ_LOG_WARN, + [LSQLM_SENDCTL] = LSQ_LOG_WARN, + [LSQLM_ALARMSET] = LSQ_LOG_WARN, + [LSQLM_CRYPTO] = LSQ_LOG_WARN, + [LSQLM_HANDSHAKE] = LSQ_LOG_WARN, + [LSQLM_HSK_ADAPTER] = LSQ_LOG_WARN, + [LSQLM_BBR] = LSQ_LOG_WARN, + [LSQLM_CUBIC] = LSQ_LOG_WARN, + [LSQLM_ADAPTIVE_CC] = LSQ_LOG_WARN, + [LSQLM_HEADERS] = LSQ_LOG_WARN, + [LSQLM_FRAME_READER]= LSQ_LOG_WARN, + [LSQLM_FRAME_WRITER]= LSQ_LOG_WARN, + [LSQLM_MINI_CONN] = LSQ_LOG_WARN, + [LSQLM_TOKGEN] = LSQ_LOG_WARN, + [LSQLM_ENG_HIST] = LSQ_LOG_WARN, + [LSQLM_SPI] = LSQ_LOG_WARN, + [LSQLM_HPI] = LSQ_LOG_WARN, + [LSQLM_DI] = LSQ_LOG_WARN, + [LSQLM_PRQ] = LSQ_LOG_WARN, + [LSQLM_PACER] = LSQ_LOG_WARN, + [LSQLM_HTTP1X] = LSQ_LOG_WARN, + [LSQLM_QLOG] = LSQ_LOG_WARN, + [LSQLM_TRAPA] = LSQ_LOG_WARN, + [LSQLM_PURGA] = LSQ_LOG_WARN, + [LSQLM_HCSI_READER] = LSQ_LOG_WARN, + [LSQLM_HCSO_WRITER] = LSQ_LOG_WARN, + [LSQLM_QENC_HDL] = LSQ_LOG_WARN, + [LSQLM_QDEC_HDL] = LSQ_LOG_WARN, + [LSQLM_QPACK_ENC] = LSQ_LOG_WARN, + [LSQLM_QPACK_DEC] = LSQ_LOG_WARN, + [LSQLM_PRIO] = LSQ_LOG_WARN, + [LSQLM_BW_SAMPLER] = LSQ_LOG_WARN, + [LSQLM_PACKET_RESIZE] = LSQ_LOG_WARN, + [LSQLM_CONN_STATS] = LSQ_LOG_WARN, +}; + +const char *const lsqlm_to_str[N_LSQUIC_LOGGER_MODULES] = { + [LSQLM_NOMODULE] = "", + [LSQLM_LOGGER] = "logger", + [LSQLM_EVENT] = "event", + [LSQLM_ENGINE] = "engine", + [LSQLM_CONN] = "conn", + [LSQLM_STREAM] = "stream", + [LSQLM_PARSE] = "parse", + [LSQLM_CFCW] = "cfcw", + [LSQLM_SFCW] = "sfcw", + [LSQLM_SENDCTL] = "sendctl", + [LSQLM_ALARMSET] = "alarmset", + [LSQLM_CRYPTO] = "crypto", + [LSQLM_HANDSHAKE] = "handshake", + [LSQLM_HSK_ADAPTER] = "hsk-adapter", + [LSQLM_BBR] = "bbr", + [LSQLM_CUBIC] = "cubic", + [LSQLM_ADAPTIVE_CC] = "adaptive-cc", + [LSQLM_HEADERS] = "headers", + [LSQLM_FRAME_READER]= "frame-reader", + [LSQLM_FRAME_WRITER]= "frame-writer", + [LSQLM_MINI_CONN] = "mini-conn", + [LSQLM_TOKGEN] = "tokgen", + [LSQLM_ENG_HIST] = "eng-hist", + [LSQLM_SPI] = "spi", + [LSQLM_HPI] = "hpi", + [LSQLM_DI] = "di", + [LSQLM_PRQ] = "prq", + [LSQLM_PACER] = "pacer", + [LSQLM_HTTP1X] = "http1x", + [LSQLM_QLOG] = "qlog", + [LSQLM_TRAPA] = "trapa", + [LSQLM_PURGA] = "purga", + [LSQLM_HCSI_READER] = "hcsi-reader", + [LSQLM_HCSO_WRITER] = "hcso-writer", + [LSQLM_QENC_HDL] = "qenc-hdl", + [LSQLM_QDEC_HDL] = "qdec-hdl", + [LSQLM_QPACK_ENC] = "qpack-enc", + [LSQLM_QPACK_DEC] = "qpack-dec", + [LSQLM_PRIO] = "prio", + [LSQLM_BW_SAMPLER] = "bw-sampler", + [LSQLM_PACKET_RESIZE] = "packet-resize", + [LSQLM_CONN_STATS] = "conn-stats", +}; + +const char *const lsq_loglevel2str[N_LSQUIC_LOG_LEVELS] = { + [LSQ_LOG_ALERT] = "ALERT", + [LSQ_LOG_CRIT] = "CRIT", + [LSQ_LOG_DEBUG] = "DEBUG", + [LSQ_LOG_EMERG] = "EMERG", + [LSQ_LOG_ERROR] = "ERROR", + [LSQ_LOG_INFO] = "INFO", + [LSQ_LOG_NOTICE] = "NOTICE", + [LSQ_LOG_WARN] = "WARN", +}; + + +#ifdef WIN32 +#define DELTA_EPOCH_IN_TICKS 116444736000000000Ui64 +struct timezone +{ + time_t tz_minuteswest; /* minutes W of Greenwich */ + time_t tz_dsttime; /* type of dst correction */ +}; + +static int +gettimeofday (struct timeval *tv, struct timezone *tz) +{ + FILETIME ft; + uint64_t tmpres; + static int tzflag; + + if (NULL != tv) + { + GetSystemTimeAsFileTime(&ft); + + tmpres = ((uint64_t) ft.dwHighDateTime << 32) + | (ft.dwLowDateTime); + + tmpres -= DELTA_EPOCH_IN_TICKS; + tv->tv_sec = tmpres / 10000000; + tv->tv_usec = tmpres % 1000000; + } + + if (NULL != tz) + { + if (!tzflag) + { + _tzset(); + tzflag++; + } + tz->tz_minuteswest = _timezone / 60; + tz->tz_dsttime = _daylight; + } + + return 0; +} +#endif + + +int lsquic_time_now(); + +static size_t +print_timestamp (char *buf, size_t max) +{ + struct tm tm; + struct timeval tv; + size_t len = 0; + + int us = lsquic_time_now(); + tv.tv_sec = us / 1000000; + tv.tv_usec = us % 1000000; +#ifdef WIN32 + { + time_t t = tv.tv_sec; +#ifndef NDEBUG + errno_t e = +#endif + localtime_s(&tm, &t); + assert(!e); + } +#else + localtime_r(&tv.tv_sec, &tm); +#endif + if (g_llts == LLTS_YYYYMMDD_HHMMSSUS) + len = snprintf(buf, max, "%04d-%02d-%02d %02d:%02d:%02d.%06d ", + tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, + tm.tm_hour, tm.tm_min, tm.tm_sec, (int) (tv.tv_usec)); + else if (g_llts == LLTS_YYYYMMDD_HHMMSSMS) + len = snprintf(buf, max, "%04d-%02d-%02d %02d:%02d:%02d.%03d ", + tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, + tm.tm_hour, tm.tm_min, tm.tm_sec, (int) (tv.tv_usec / 1000)); + else if (g_llts == LLTS_HHMMSSMS) + len = snprintf(buf, max, "%02d:%02d:%02d.%03d ", + tm.tm_hour, tm.tm_min, tm.tm_sec, (int) (tv.tv_usec / 1000)); + else if (g_llts == LLTS_HHMMSSUS) + len = snprintf(buf, max, "%02d:%02d:%02d.%06d ", + tm.tm_hour, tm.tm_min, tm.tm_sec, (int) tv.tv_usec); + else if (g_llts == LLTS_CHROMELIKE) + len = snprintf(buf, max, "%02d%02d/%02d%02d%02d.%06d ", + tm.tm_mon + 1, tm.tm_mday,tm.tm_hour, tm.tm_min, + tm.tm_sec, (int) tv.tv_usec); + return len; +} + + +void +lsquic_logger_log3 (enum lsq_log_level log_level, + enum lsquic_logger_module module, + const lsquic_cid_t *conn_id, lsquic_stream_id_t stream_id, + const char *fmt, ...) +{ + const int saved_errno = errno; + char cidbuf_[MAX_CID_LEN * 2 + 1]; + size_t len = 0; + int lb; + size_t max = MAX_LINE_LEN; + char buf[MAX_LINE_LEN]; + + if (g_llts != LLTS_NONE) + { + lb = print_timestamp(buf, max); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + } + lb = snprintf(buf + len, max - len, "[%s] [QUIC:%"CID_FMT"-%"PRIu64"] %s: ", + lsq_loglevel2str[log_level], CID_BITS(conn_id), + stream_id, lsqlm_to_str[module]); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + va_list ap; + va_start(ap, fmt); + lb = vsnprintf(buf + len, max - len, fmt, ap); + va_end(ap); + if (lb > 0 && (size_t) lb >= max - len && max - len >= TRUNC_SZ) + { + len = max - TRUNC_SZ; + lb = snprintf(buf + max - TRUNC_SZ, TRUNC_SZ, TRUNC_FMT, lb); + } + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + lb = snprintf(buf + len, max - len, "\n"); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + logger_if->log_buf(logger_ctx, buf, len); +end: + errno = saved_errno; +} + + +void +lsquic_logger_log2 (enum lsq_log_level log_level, + enum lsquic_logger_module module, + const struct lsquic_cid *conn_id, const char *fmt, ...) +{ + const int saved_errno = errno; + char cidbuf_[MAX_CID_LEN * 2 + 1]; + size_t len = 0; + int lb; + size_t max = MAX_LINE_LEN; + char buf[MAX_LINE_LEN]; + + if (g_llts != LLTS_NONE) + { + lb = print_timestamp(buf, max); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + } + + lb = snprintf(buf + len, max - len, "[%s] [QUIC:%"CID_FMT"] %s: ", + lsq_loglevel2str[log_level], CID_BITS(conn_id), lsqlm_to_str[module]); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + va_list ap; + va_start(ap, fmt); + lb = vsnprintf(buf + len, max - len, fmt, ap); + va_end(ap); + if (lb > 0 && (size_t) lb >= max - len && max - len >= TRUNC_SZ) + { + len = max - TRUNC_SZ; + lb = snprintf(buf + max - TRUNC_SZ, TRUNC_SZ, TRUNC_FMT, lb); + } + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + lb = snprintf(buf + len, max - len, "\n"); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + logger_if->log_buf(logger_ctx, buf, len); +end: + errno = saved_errno; +} + + +void +lsquic_logger_log1 (enum lsq_log_level log_level, + enum lsquic_logger_module module, + const char *fmt, ...) +{ + const int saved_errno = errno; + size_t len = 0; + int lb; + size_t max = MAX_LINE_LEN; + char buf[MAX_LINE_LEN]; + + if (g_llts != LLTS_NONE) + { + lb = print_timestamp(buf, max); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + } + lb = snprintf(buf + len, max - len, "[%s] %s: ", lsq_loglevel2str[log_level], + lsqlm_to_str[module]); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + va_list ap; + va_start(ap, fmt); + lb = vsnprintf(buf + len, max - len, fmt, ap); + va_end(ap); + if (lb > 0 && (size_t) lb >= max - len && max - len >= TRUNC_SZ) + { + len = max - TRUNC_SZ; + lb = snprintf(buf + max - TRUNC_SZ, TRUNC_SZ, TRUNC_FMT, lb); + } + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + lb = snprintf(buf + len, max - len, "\n"); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + logger_if->log_buf(logger_ctx, buf, len); +end: + errno = saved_errno; +} + + +void +lsquic_logger_log0 (enum lsq_log_level log_level, const char *fmt, ...) +{ + const int saved_errno = errno; + size_t len = 0; + int lb; + size_t max = MAX_LINE_LEN; + char buf[MAX_LINE_LEN]; + + if (g_llts != LLTS_NONE) + { + lb = print_timestamp(buf, max); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + } + + lb = snprintf(buf + len, max - len, "[%s] ", lsq_loglevel2str[log_level]); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + va_list ap; + va_start(ap, fmt); + lb = vsnprintf(buf + len, max - len, fmt, ap); + va_end(ap); + if (lb > 0 && (size_t) lb >= max - len && max - len >= TRUNC_SZ) + { + len = max - TRUNC_SZ; + lb = snprintf(buf + max - TRUNC_SZ, TRUNC_SZ, TRUNC_FMT, lb); + } + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + lb = snprintf(buf + len, max - len, "\n"); + if (FORMAT_PROBLEM(lb, len, max)) + goto end; + len += lb; + logger_if->log_buf(logger_ctx, buf, len); +end: + errno = saved_errno; +} + + +void +lsquic_logger_init (const struct lsquic_logger_if *lif, void *lctx, + enum lsquic_logger_timestamp_style llts) +{ + logger_if = lif; + logger_ctx = lctx; + if (llts < N_LLTS) + g_llts = llts; + LSQ_DEBUG("%s called", __func__); +} + + +enum lsquic_logger_module +lsquic_str_to_logger_module (const char *str) +{ + enum lsquic_logger_module i; + for (i = 0; i < sizeof(lsqlm_to_str) / sizeof(lsqlm_to_str[0]); ++i) + if (0 == strcasecmp(lsqlm_to_str[i], str)) + return i; + return -1; +} + + +enum lsq_log_level +lsquic_str_to_log_level (const char *str) +{ + if (0 == strcasecmp(str, "emerg")) + return LSQ_LOG_EMERG; + if (0 == strcasecmp(str, "alert")) + return LSQ_LOG_ALERT; + if (0 == strcasecmp(str, "crit")) + return LSQ_LOG_CRIT; + if (0 == strcasecmp(str, "error")) + return LSQ_LOG_ERROR; + if (0 == strcasecmp(str, "warn")) + return LSQ_LOG_WARN; + if (0 == strcasecmp(str, "notice")) + return LSQ_LOG_NOTICE; + if (0 == strcasecmp(str, "info")) + return LSQ_LOG_INFO; + if (0 == strcasecmp(str, "debug")) + return LSQ_LOG_DEBUG; + return -1; +} + + +void +lsquic_log_to_fstream (FILE *file, unsigned llts) +{ + lsquic_logger_init(&file_logger_if, file, + (enum lsquic_logger_timestamp_style)llts); +} + + +int +lsquic_logger_lopt (const char *optarg_orig) +{ + char *const optarg = strdup(optarg_orig); + char *mod_str; + int i; + for (i = 0; (mod_str = strtok(i ? NULL : optarg, ",")); ++i) { + char *level_str = strchr(mod_str, '='); + if (!level_str) { + fprintf(stderr, "Invalid module specification `%s'\n", mod_str); + break; + } + *level_str = '\0'; + ++level_str; + enum lsquic_logger_module mod = lsquic_str_to_logger_module(mod_str); + if (-1 == (int) mod) { + fprintf(stderr, "`%s' is not a valid module name\n", mod_str); + break; + } + enum lsq_log_level level = lsquic_str_to_log_level(level_str); + if (-1 == (int) level) { + fprintf(stderr, "`%s' is not a valid level\n", level_str); + break; + } + lsq_log_levels[mod] = level; + LSQ_INFO("set %s to %s", mod_str, level_str); + } + free(optarg); + return mod_str == NULL ? 0 : -1; +} + + +int +lsquic_set_log_level (const char *level_str) +{ + enum lsq_log_level level; + unsigned i; + + level = lsquic_str_to_log_level(level_str); + if ((int) level >= 0) + { + for (i = 0; i < sizeof(lsq_log_levels) / sizeof(lsq_log_levels[0]); ++i) + lsq_log_levels[i] = level; + return 0; + } + else + return -1; +} + + +/* `out' must be at least MAX_CID_LEN * 2 + 1 characters long */ +void +lsquic_cid2str (const lsquic_cid_t *cid, char *out) +{ + static const char hex[] = "0123456789ABCDEF"; + int i; + + for (i = 0; i < (int) cid->len; ++i) + { + *out++ = hex[ cid->idbuf[i] >> 4 ]; + *out++ = hex[ cid->idbuf[i] & 0xF ]; + } + *out = '\0'; +} diff --git a/external/lsquic/src/liblsquic/lsquic_logger.h b/external/lsquic/src/liblsquic/lsquic_logger.h new file mode 100644 index 0000000..2d84eba --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_logger.h @@ -0,0 +1,272 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_logger.h -- logging functions and macros. + * + * Usage (this assumes MY_MODULE) is a part of enum lsquic_logger_module): + * #define LSQUIC_LOGGER_MODULE MY_MODULE + * #include "lsquic_logger.h" + * LSQ_INFO("info message"); + * + * If you want log messages from your module to contain connection ID, #define + * LSQUIC_LOG_CONN_ID so that it evaluates to connection ID. If, in addition, + * you want stream ID to be logged, #define LSQUIC_LOG_STREAM_ID similarly. + * See existing code for examples. + * + * To add a module: + * 1. Add entry to enum lsquic_logger_module. + * 2. Update lsqlm_to_str. + * 3. Update lsq_log_levels. + */ + +#ifndef LSQUIC_LOGGER_H +#define LSQUIC_LOGGER_H + +#include +#include + +#include "lsquic_shared_support.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef LSQUIC_LOWEST_LOG_LEVEL +# define LSQUIC_LOWEST_LOG_LEVEL LSQ_LOG_DEBUG +#endif + +/* Same levels as in sys/syslog.h: */ +enum lsq_log_level { + LSQ_LOG_EMERG, + LSQ_LOG_ALERT, + LSQ_LOG_CRIT, + LSQ_LOG_ERROR, + LSQ_LOG_WARN, + LSQ_LOG_NOTICE, + LSQ_LOG_INFO, + LSQ_LOG_DEBUG, + N_LSQUIC_LOG_LEVELS +}; + +enum lsquic_logger_module { + LSQLM_NOMODULE, + LSQLM_LOGGER, + LSQLM_EVENT, + LSQLM_ENGINE, + LSQLM_CONN, + LSQLM_STREAM, + LSQLM_PARSE, + LSQLM_CFCW, + LSQLM_SFCW, + LSQLM_SENDCTL, + LSQLM_ALARMSET, + LSQLM_CRYPTO, + LSQLM_HANDSHAKE, + LSQLM_HSK_ADAPTER, + LSQLM_BBR, + LSQLM_CUBIC, + LSQLM_ADAPTIVE_CC, + LSQLM_HEADERS, + LSQLM_FRAME_WRITER, + LSQLM_FRAME_READER, + LSQLM_MINI_CONN, + LSQLM_TOKGEN, + LSQLM_ENG_HIST, + LSQLM_SPI, + LSQLM_HPI, + LSQLM_DI, + LSQLM_PRQ, + LSQLM_PACER, + LSQLM_HTTP1X, + LSQLM_QLOG, + LSQLM_TRAPA, + LSQLM_PURGA, + LSQLM_HCSI_READER, + LSQLM_HCSO_WRITER, + LSQLM_QENC_HDL, + LSQLM_QDEC_HDL, + LSQLM_QPACK_ENC, + LSQLM_QPACK_DEC, + LSQLM_PRIO, + LSQLM_BW_SAMPLER, + LSQLM_PACKET_RESIZE, + LSQLM_CONN_STATS, + N_LSQUIC_LOGGER_MODULES +}; + +/* Each module has its own log level. + */ + +LSQUIC_EXTERN enum lsq_log_level lsq_log_levels[N_LSQUIC_LOGGER_MODULES]; + +extern const char *const lsqlm_to_str[N_LSQUIC_LOGGER_MODULES]; + +extern const char *const lsq_loglevel2str[N_LSQUIC_LOG_LEVELS]; + +#define LSQ_LOG_ENABLED_EXT(level, module) ( \ + level <= LSQUIC_LOWEST_LOG_LEVEL && level <= lsq_log_levels[module]) + +#define LSQ_LOG_ENABLED(level) LSQ_LOG_ENABLED_EXT(level, LSQUIC_LOGGER_MODULE) + +struct lsquic_cid; + +/* The functions that perform actual logging are void. This is an + * optimization. In majority of cases the calls will succeed; even if + * they fail, there is nothing (at least, nothing simple) to be done to + * handle logging failure. + */ + +/* There are four levels of log functions, depending on whether they take + * the following arguments: + * 1. Logger module + * 2. Connection ID + * 3. Stream ID + * + * Each level of logging function supports one additional argument, as seen + * below. LSQ_LOG is set to one of LSQ_LOG0, LSQ_LOG1, LSQ_LOG2, or LSQ_LOG3. + * You can still use LSQ_LOG{0..3} directly. + */ + +void +lsquic_logger_log3 (enum lsq_log_level, enum lsquic_logger_module, + const struct lsquic_cid *conn_id, + lsquic_stream_id_t stream_id, const char *format, ...) +#if __GNUC__ + __attribute__((format(printf, 5, 6))) +#endif +; +# define LSQ_LOG3(level, ...) do { \ + if (LSQ_LOG_ENABLED(level)) \ + lsquic_logger_log3(level, LSQUIC_LOGGER_MODULE, \ + LSQUIC_LOG_CONN_ID, LSQUIC_LOG_STREAM_ID, __VA_ARGS__); \ + } while (0) + + +void +lsquic_logger_log2 (enum lsq_log_level, enum lsquic_logger_module, + const struct lsquic_cid *conn_id, const char *format, ...) +#if __GNUC__ + __attribute__((format(printf, 4, 5))) +#endif +; +# define LSQ_LOG2(level, ...) do { \ + if (LSQ_LOG_ENABLED(level)) \ + lsquic_logger_log2(level, LSQUIC_LOGGER_MODULE, \ + LSQUIC_LOG_CONN_ID, __VA_ARGS__); \ + } while (0) +# define LSQ_LOG2C(level, ...) do { \ + if (LSQ_LOG_ENABLED(level)) \ + { \ + char cidbuf_[MAX_CID_LEN * 2 + 1]; \ + lsquic_logger_log2(level, LSQUIC_LOGGER_MODULE, \ + LSQUIC_LOG_CONN_ID, __VA_ARGS__); \ + } \ + } while (0) + +void +lsquic_logger_log1 (enum lsq_log_level, enum lsquic_logger_module, + const char *format, ...) +#if __GNUC__ + __attribute__((format(printf, 3, 4))) +#endif +; +# define LSQ_LOG1(level, ...) do { \ + if (LSQ_LOG_ENABLED(level)) \ + lsquic_logger_log1(level, LSQUIC_LOGGER_MODULE, __VA_ARGS__); \ + } while (0) +# define LSQ_LOG1C(level, ...) do { \ + if (LSQ_LOG_ENABLED(level)) \ + { \ + char cidbuf_[MAX_CID_LEN * 2 + 1]; \ + lsquic_logger_log1(level, LSQUIC_LOGGER_MODULE, __VA_ARGS__); \ + } \ + } while (0) + +void +lsquic_logger_log0 (enum lsq_log_level, const char *format, ...) +#if __GNUC__ + __attribute__((format(printf, 2, 3))) +#endif +; +# define LSQ_LOG0(level, ...) do { \ + if (LSQ_LOG_ENABLED(level)) \ + lsquic_logger_log0(level, __VA_ARGS__); \ + } while (0) +# define LSQ_LOG0C(level, ...) do { \ + if (LSQ_LOG_ENABLED(level)) \ + { \ + char cidbuf_[MAX_CID_LEN * 2 + 1]; \ + lsquic_logger_log0(level, __VA_ARGS__); \ + } \ + } while (0) + +#if defined(LSQUIC_LOGGER_MODULE) +#if defined(LSQUIC_LOG_CONN_ID) +#if defined(LSQUIC_LOG_STREAM_ID) +# define LSQ_LOG LSQ_LOG3 +#else +# define LSQ_LOG LSQ_LOG2 +# define LSQ_LOGC LSQ_LOG2C +#endif +#else +# define LSQ_LOG LSQ_LOG1 +# define LSQ_LOGC LSQ_LOG1C +#endif +#else +# define LSQ_LOG LSQ_LOG0 +# define LSQ_LOGC LSQ_LOG0C +# define LSQUIC_LOGGER_MODULE LSQLM_NOMODULE +#endif + +#define LSQ_DEBUG(...) LSQ_LOG(LSQ_LOG_DEBUG, __VA_ARGS__) +#define LSQ_WARN(...) LSQ_LOG(LSQ_LOG_WARN, __VA_ARGS__) +#define LSQ_ALERT(...) LSQ_LOG(LSQ_LOG_ALERT, __VA_ARGS__) +#define LSQ_CRIT(...) LSQ_LOG(LSQ_LOG_CRIT, __VA_ARGS__) +#define LSQ_ERROR(...) LSQ_LOG(LSQ_LOG_ERROR, __VA_ARGS__) +#define LSQ_NOTICE(...) LSQ_LOG(LSQ_LOG_NOTICE, __VA_ARGS__) +#define LSQ_INFO(...) LSQ_LOG(LSQ_LOG_INFO, __VA_ARGS__) +#define LSQ_EMERG(...) LSQ_LOG(LSQ_LOG_EMERG, __VA_ARGS__) + +#define LSQ_DEBUGC(...) LSQ_LOGC(LSQ_LOG_DEBUG, __VA_ARGS__) +#define LSQ_WARNC(...) LSQ_LOGC(LSQ_LOG_WARN, __VA_ARGS__) +#define LSQ_ALERTC(...) LSQ_LOGC(LSQ_LOG_ALERT, __VA_ARGS__) +#define LSQ_CRITC(...) LSQ_LOGC(LSQ_LOG_CRIT, __VA_ARGS__) +#define LSQ_ERRORC(...) LSQ_LOGC(LSQ_LOG_ERROR, __VA_ARGS__) +#define LSQ_NOTICEC(...) LSQ_LOGC(LSQ_LOG_NOTICE, __VA_ARGS__) +#define LSQ_INFOC(...) LSQ_LOGC(LSQ_LOG_INFO, __VA_ARGS__) +#define LSQ_EMERGC(...) LSQ_LOGC(LSQ_LOG_EMERG, __VA_ARGS__) + +/* Shorthand for printing to file streams using internal lsquic_logger_if + */ +void +lsquic_log_to_fstream (FILE *, unsigned llts); + +enum lsquic_logger_module +lsquic_str_to_logger_module (const char *); + +enum lsq_log_level +lsquic_str_to_log_level (const char *); + +/* Parse and set log levels passed via -l flag. If an error is encountered, + * an error message is printed to stderr and negative value is returned. + */ +int +lsquic_logger_lopt (const char *optarg); + +#define CID_FMT ".*s" + +#define CID_BITS_B(cid, b) 2 * (int) (cid)->len, \ + (lsquic_cid2str(cid, b), b) + +#define CID_BITS(cid) CID_BITS_B(cid, cidbuf_) + +void +lsquic_cid2str (const struct lsquic_cid *, char *out); + +const struct lsquic_cid * +lsquic_conn_log_cid (const struct lsquic_conn *); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_malo.c b/external/lsquic/src/liblsquic/lsquic_malo.c new file mode 100644 index 0000000..f14dbd5 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_malo.c @@ -0,0 +1,456 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_malo.c -- malo allocator implementation. + * + * The malo allocator is a pool of objects of fixed size. It tries to + * allocate and deallocate objects as fast as possible. To do so, it + * does the following: + * + * 1. Allocations occur 4 KB at a time. + * 2. No division or multiplication operations are performed for + * appropriately sized objects. (More on this below.) + * + * (In recent testing, malo was about 2.7 times faster than malloc for + * 64-byte objects.) + * + * Besides speed, two other important characteristics distinguish it + * from other pool allocators: + * + * 1. To free (put) an object, one does not need a pointer to the malo + * object. This makes this allocator easy to use. + * 2. A built-in iterator is provided to iterate over all allocated + * objects (with ability safely to release objects while iterator + * is active). This may be useful in some circumstances. + * + * To gain all these advantages, there are trade-offs: + * + * 1. There are two memory penalties: + * a. Per object overhead. If an object is at least ROUNDUP_THRESH in + * size as the next power of two, the allocator uses that power of + * two value as the object size. This is done to avoid using + * division and multiplication. For example, a 104-byte object + * will have a 24-byte overhead. + * b. Per page overhead. Page links occupy some bytes in the + * page. To keep things fast, at least one slot per page is + * always occupied, independent of object size. Thus, for a + * 1 KB object size, 25% of the page is used for the page + * header. + * 2. 4 KB pages are not freed until the malo allocator is destroyed. + * This is something to keep in mind. + * + * P.S. In Russian, "malo" (мало) means "little" or "few". Thus, the + * malo allocator aims to perform its job in as few CPU cycles as + * possible. + */ + +#include +#include +#include +#include +#include +#ifdef WIN32 +#include +#include +#endif + +#include "fiu-local.h" +#include "lsquic_malo.h" + +#ifndef LSQUIC_USE_POOLS +#define LSQUIC_USE_POOLS 1 +#endif + +/* 64 slots in a 4KB page means that the smallest object is 64 bytes. + * The largest object is 2KB. + */ +#define MALO_MIN_NBITS 6 +#define MALO_MAX_NBITS 11 + +#define ROUNDUP_THRESH 0.75f + +/* A "free page" is a page with free slots available. + */ + +#if LSQUIC_USE_POOLS +static unsigned find_free_slot (uint64_t slots); +static unsigned size_in_bits (size_t sz); +#endif + +struct malo_page { + SLIST_ENTRY(malo_page) next_page; + LIST_ENTRY(malo_page) next_free_page; + struct malo *malo; + uint64_t slots, + full_slot_mask; + unsigned nbits; /* If pow is zero, stores object size */ + unsigned initial_slot; + int pow; /* True if object is power of 2 */ +}; + +typedef char malo_header_fits_in_one_slot + [(sizeof(struct malo_page) > (1 << MALO_MIN_NBITS)) ? -1 : 1]; + +#if !LSQUIC_USE_POOLS +struct nopool_elem +{ + TAILQ_ENTRY(nopool_elem) next; + struct malo *malo; + unsigned char data[0]; +}; +#endif + +struct malo { +#if LSQUIC_USE_POOLS + struct malo_page page_header; + SLIST_HEAD(, malo_page) all_pages; + LIST_HEAD(, malo_page) free_pages; + struct { + struct malo_page *cur_page; + unsigned next_slot; + } iter; +#else + /* List of all elements: used by the iterator */ + TAILQ_HEAD(, nopool_elem) elems; + size_t obj_size; + struct nopool_elem *next_iter_elem; +#endif +}; + +struct malo * +lsquic_malo_create (size_t obj_size) +{ +#if LSQUIC_USE_POOLS + int pow, n_slots; + unsigned nbits; + + obj_size = (obj_size + 7) & -8; + nbits = size_in_bits(obj_size); + if (nbits < MALO_MIN_NBITS) + nbits = MALO_MIN_NBITS; + else if (nbits > MALO_MAX_NBITS) + { + errno = EOVERFLOW; + return NULL; + } + + pow = obj_size <= (1 << MALO_MIN_NBITS) + || (float) obj_size / (1 << nbits) > ROUNDUP_THRESH; + + struct malo *malo; + if (0 != posix_memalign((void **) &malo, 0x1000, 0x1000)) + return NULL; + + SLIST_INIT(&malo->all_pages); + LIST_INIT(&malo->free_pages); + malo->iter.cur_page = &malo->page_header; + malo->iter.next_slot = 0; + + if (pow) + n_slots = sizeof(*malo) / (1 << nbits) + + ((sizeof(*malo) % (1 << nbits)) > 0); + else + n_slots = sizeof(*malo) / obj_size + + ((sizeof(*malo) % obj_size) > 0); + + struct malo_page *const page = &malo->page_header; + SLIST_INSERT_HEAD(&malo->all_pages, page, next_page); + LIST_INSERT_HEAD(&malo->free_pages, page, next_free_page); + page->malo = malo; + if (!pow) + page->full_slot_mask = (1ULL << (0x1000 / obj_size)) - 1; + else if (nbits == MALO_MIN_NBITS) + page->full_slot_mask = ~0ULL; + else + page->full_slot_mask = (1ULL << (1 << (12 - nbits))) - 1; + page->slots = (1ULL << n_slots) - 1; + page->pow = pow; + page->nbits = pow ? nbits : obj_size; + page->initial_slot = n_slots; + + return malo; +#else + struct malo *malo; + + /* Use the same sizing mechanism as in the normal version */ + if (obj_size < (1 << MALO_MIN_NBITS)) + obj_size = 1 << MALO_MIN_NBITS; + else + obj_size = (obj_size + 7) & -8; + + malo = malloc(sizeof(*malo)); + if (malo) + { + TAILQ_INIT(&malo->elems); + malo->obj_size = obj_size; + malo->next_iter_elem = NULL; + return malo; + } + else + return NULL; +#endif +} + + +#if LSQUIC_USE_POOLS +static struct malo_page * +allocate_page (struct malo *malo) +{ + struct malo_page *page; + if (0 != posix_memalign((void **) &page, 0x1000, 0x1000)) + return NULL; + SLIST_INSERT_HEAD(&malo->all_pages, page, next_page); + LIST_INSERT_HEAD(&malo->free_pages, page, next_free_page); + page->slots = 1; + page->full_slot_mask = malo->page_header.full_slot_mask; + page->nbits = malo->page_header.nbits; + page->pow = malo->page_header.pow; + page->malo = malo; + page->initial_slot = 1; + return page; +} +#endif + + +#define FAIL_NOMEM do { errno = ENOMEM; return NULL; } while (0) + +/* Get a new object. */ +void * +lsquic_malo_get (struct malo *malo) +{ +#if LSQUIC_USE_POOLS + fiu_do_on("malo/get", FAIL_NOMEM); + struct malo_page *page = LIST_FIRST(&malo->free_pages); + if (!page) + { + page = allocate_page(malo); + if (!page) + return NULL; + } + unsigned slot = find_free_slot(page->slots); + page->slots |= (1ULL << slot); + if (page->full_slot_mask == page->slots) + LIST_REMOVE(page, next_free_page); + if (page->pow) + return (char *) page + (slot << page->nbits); + else + return (char *) page + (slot * page->nbits); +#else + struct nopool_elem *el; + el = malloc(sizeof(*el) + malo->obj_size); + if (el) + { + TAILQ_INSERT_HEAD(&malo->elems, el, next); + el->malo = malo; + return el->data; + } + else + return NULL; +#endif +} + + +/* Return obj to the pool */ +void +lsquic_malo_put (void *obj) +{ +#if LSQUIC_USE_POOLS + uintptr_t page_addr = (uintptr_t) obj & ~((1 << 12) - 1); + struct malo_page *page = (void *) page_addr; + unsigned slot; + if (page->pow) + slot = ((uintptr_t) obj - page_addr) >> page->nbits; + else + slot = ((uintptr_t) obj - page_addr) / page->nbits; + if (page->full_slot_mask == page->slots) + LIST_INSERT_HEAD(&page->malo->free_pages, page, next_free_page); + page->slots &= ~(1ULL << slot); +#else + struct nopool_elem *el; + el = (struct nopool_elem *) ((char *) obj - sizeof(*el)); + if (el == el->malo->next_iter_elem) + el->malo->next_iter_elem = TAILQ_NEXT(el->malo->next_iter_elem, next); + TAILQ_REMOVE(&el->malo->elems, el, next); + free(el); +#endif +} + + +void +lsquic_malo_destroy (struct malo *malo) +{ +#if LSQUIC_USE_POOLS + struct malo_page *page, *next; + page = SLIST_FIRST(&malo->all_pages); + while (page != &malo->page_header) + { + next = SLIST_NEXT(page, next_page); +#ifndef WIN32 + free(page); +#else + _aligned_free(page); +#endif + page = next; + } +#ifndef WIN32 + free(page); +#else + _aligned_free(page); +#endif +#else + struct nopool_elem *el, *next_el; + for (el = TAILQ_FIRST(&malo->elems); el; el = next_el) + { + next_el = TAILQ_NEXT(el, next); + free(el); + } + free(malo); +#endif +} + + +/* The iterator is built-in. Usage: + * void *obj; + * for (obj = lsquic_malo_first(malo); obj; lsquic_malo_next(malo)) + * do_stuff(obj); + */ +void * +lsquic_malo_first (struct malo *malo) +{ +#if LSQUIC_USE_POOLS + malo->iter.cur_page = SLIST_FIRST(&malo->all_pages); + malo->iter.next_slot = malo->iter.cur_page->initial_slot; +#else + malo->next_iter_elem = TAILQ_FIRST(&malo->elems); +#endif + return lsquic_malo_next(malo); +} + + +void * +lsquic_malo_next (struct malo *malo) +{ +#if LSQUIC_USE_POOLS + struct malo_page *page; + unsigned max_slot, slot; + + page = malo->iter.cur_page; + if (page) + { + if (page->pow) + max_slot = 1 << (12 - page->nbits); /* Same for all pages */ + else + max_slot = 0x1000 / page->nbits; + slot = malo->iter.next_slot; + while (1) + { + for (; slot < max_slot; ++slot) + { + if (page->slots & (1ULL << slot)) + { + malo->iter.cur_page = page; + malo->iter.next_slot = slot + 1; + if (page->pow) + return (char *) page + (slot << page->nbits); + else + { + assert(slot * (page->nbits + 1) < 0x1000); + return (char *) page + (slot * page->nbits); + } + } + } + page = SLIST_NEXT(page, next_page); + if (page) + slot = page->initial_slot; + else + { + malo->iter.cur_page = NULL; /* Stop iterator */ + return NULL; + } + } + } + + return NULL; +#else + struct nopool_elem *retval; + + if (malo->next_iter_elem) + { + retval = malo->next_iter_elem; + malo->next_iter_elem = TAILQ_NEXT(malo->next_iter_elem, next); + return retval->data; + } + else + return NULL; +#endif +} + + +#if LSQUIC_USE_POOLS +static unsigned +size_in_bits (size_t sz) +{ +#if __GNUC__ + unsigned clz = sz > 1 ? __builtin_clz(sz - 1) : 31; + return 32 - clz; +#elif defined(WIN32) + unsigned char s; + unsigned long idx; + s = _BitScanReverse(&idx, sz); + assert(s); + return (unsigned) idx + 1; +#else +#error This function contains a bug! + unsigned clz; + size_t y; + + --sz; + clz = 32; + y = sz >> 16; if (y) { clz -= 16; sz = y; } + y = sz >> 8; if (y) { clz -= 8; sz = y; } + y = sz >> 4; if (y) { clz -= 4; sz = y; } + y = sz >> 2; if (y) { clz -= 2; sz = y; } + y = sz >> 1; if (y) return 32 - clz + 1; + return 32 - clz + sz; +#endif +} + + +static unsigned +find_free_slot (uint64_t slots) +{ +#if __GNUC__ + return __builtin_ffsll(~slots) - 1; +#else + unsigned n; + + slots =~ slots; + n = 0; + + if (0 == (slots & ((1ULL << 32) - 1))) { n += 32; slots >>= 32; } + if (0 == (slots & ((1ULL << 16) - 1))) { n += 16; slots >>= 16; } + if (0 == (slots & ((1ULL << 8) - 1))) { n += 8; slots >>= 8; } + if (0 == (slots & ((1ULL << 4) - 1))) { n += 4; slots >>= 4; } + if (0 == (slots & ((1ULL << 2) - 1))) { n += 2; slots >>= 2; } + if (0 == (slots & ((1ULL << 1) - 1))) { n += 1; slots >>= 1; } + return n; +#endif +} +#endif + + +size_t +lsquic_malo_mem_used (const struct malo *malo) +{ +#if LSQUIC_USE_POOLS + const struct malo_page *page; + size_t size; + + size = 0; + SLIST_FOREACH(page, &malo->all_pages, next_page) + size += sizeof(*page); + + return size; +#else + return 0; +#endif +} diff --git a/external/lsquic/src/liblsquic/lsquic_malo.h b/external/lsquic/src/liblsquic/lsquic_malo.h new file mode 100644 index 0000000..9f701d3 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_malo.h @@ -0,0 +1,49 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_malo.h -- Fast allocator for fixed-sized objects. + */ + +#ifndef LSQUIC_MALO_H +#define LSQUIC_MALO_H 1 + +#ifndef LSQUIC_USE_POOLS +#define LSQUIC_USE_POOLS 1 +#endif + +struct malo; + +/* Create a malo allocator for objects of size `obj_size'. */ +struct malo * +lsquic_malo_create (size_t obj_size); + +/* Get a new object. */ +void * +lsquic_malo_get (struct malo *); + +/* Return obj to the pool */ +void +lsquic_malo_put (void *obj); + +/* This deallocates all remaining objects. */ +void +lsquic_malo_destroy (struct malo *); + +/* This iterator is slow. It is only used in unit tests for verification. + * + * If you to iterate over all elements allocated in a pool, keep track yourself. + */ +/* The iterator is built-in. Usage: + * void *obj; + * for (obj = lsquic_malo_first(obj); obj; lsquic_malo_next(obj)) + * do_stuff(obj); + */ +void * +lsquic_malo_first (struct malo *); + +void * +lsquic_malo_next (struct malo *); + +size_t +lsquic_malo_mem_used (const struct malo *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_min_heap.c b/external/lsquic/src/liblsquic/lsquic_min_heap.c new file mode 100644 index 0000000..818f1cb --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_min_heap.c @@ -0,0 +1,87 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_min_heap.c + */ + +#include +#include +#include + +#include "lsquic_min_heap.h" + + +static void +heapify_min_heap (struct min_heap *heap, unsigned i) +{ + struct min_heap_elem el; + unsigned smallest; + + assert(i < heap->mh_nelem); + + if (MHE_LCHILD(i) < heap->mh_nelem) + { + if (heap->mh_elems[ MHE_LCHILD(i) ].mhe_val < + heap->mh_elems[ i ].mhe_val) + smallest = MHE_LCHILD(i); + else + smallest = i; + if (MHE_RCHILD(i) < heap->mh_nelem && + heap->mh_elems[ MHE_RCHILD(i) ].mhe_val < + heap->mh_elems[ smallest ].mhe_val) + smallest = MHE_RCHILD(i); + } + else + smallest = i; + + if (smallest != i) + { + el = heap->mh_elems[ smallest ]; + heap->mh_elems[ smallest ] = heap->mh_elems[ i ]; + heap->mh_elems[ i ] = el; + heapify_min_heap(heap, smallest); + } +} + + +void +lsquic_mh_insert (struct min_heap *heap, void *item, uint64_t val) +{ + struct min_heap_elem el; + unsigned i; + + assert(heap->mh_nelem < heap->mh_nalloc); + + heap->mh_elems[ heap->mh_nelem ].mhe_item = item; + heap->mh_elems[ heap->mh_nelem ].mhe_val = val; + ++heap->mh_nelem; + + i = heap->mh_nelem - 1; + while (i > 0 && heap->mh_elems[ MHE_PARENT(i) ].mhe_val > + heap->mh_elems[ i ].mhe_val) + { + el = heap->mh_elems[ MHE_PARENT(i) ]; + heap->mh_elems[ MHE_PARENT(i) ] = heap->mh_elems[ i ]; + heap->mh_elems[ i ] = el; + i = MHE_PARENT(i); + } +} + + +void * +lsquic_mh_pop (struct min_heap *heap) +{ + void *item; + + if (heap->mh_nelem == 0) + return NULL; + + item = heap->mh_elems[0].mhe_item; + --heap->mh_nelem; + if (heap->mh_nelem > 0) + { + heap->mh_elems[0] = heap->mh_elems[ heap->mh_nelem ]; + heapify_min_heap(heap, 0); + } + + return item; +} diff --git a/external/lsquic/src/liblsquic/lsquic_min_heap.h b/external/lsquic/src/liblsquic/lsquic_min_heap.h new file mode 100644 index 0000000..fa277f0 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_min_heap.h @@ -0,0 +1,53 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_min_heap.h -- Min-heap for pointers + */ + +#ifndef LSQUIC_MIN_HEAP_H +#define LSQUIC_MIN_HEAP_H 1 + + +struct min_heap_elem +{ + void *mhe_item; + uint64_t mhe_val; +}; + + +struct min_heap +{ + struct min_heap_elem *mh_elems; + unsigned mh_nalloc, + mh_nelem; +}; + + +void +lsquic_mh_insert (struct min_heap *, void *item, uint64_t val); + +void * +lsquic_mh_pop (struct min_heap *); + +static inline void * +lsquic_mh_peek (struct min_heap *heap) +{ + return heap->mh_elems[0].mhe_item; +} + +static inline unsigned +lsquic_mh_count (struct min_heap *heap) +{ + return +heap->mh_nelem; +} + +static inline unsigned +lsquic_mh_nalloc (const struct min_heap *heap) +{ + return +heap->mh_nalloc; +} + +#define MHE_PARENT(i) ((i - 1) / 2) +#define MHE_LCHILD(i) (2 * i + 1) +#define MHE_RCHILD(i) (2 * i + 2) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_mini_conn.c b/external/lsquic/src/liblsquic/lsquic_mini_conn.c new file mode 100644 index 0000000..951cb3b --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_mini_conn.c @@ -0,0 +1,2275 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_mini_conn.c -- Mini connection. + * + * Mini connection is only used in server mode -- this assumption is relied + * upon by the code in this file. + * + * The purpose of this connection is to process incoming handshakes using + * minimal amount of resources until we confirm that the client is sending + * valid data. Here, we only process Stream 1 data; other packets are + * spooled, if necessary. When mini connection is promoted to full + * connection, the state, including spooled incoming packets, is transferred + * to the full connection. + */ + + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_rtt.h" +#include "lsquic_mini_conn.h" +#include "lsquic_mm.h" +#include "lsquic_malo.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_ietf.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_util.h" +#include "lsquic_str.h" +#include "lsquic_enc_sess.h" +#include "lsquic_parse.h" +#include "lsquic_engine_public.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_stream.h" +#include "lsquic_rechist.h" +#include "lsquic_ev_log.h" +#include "lsquic_qtags.h" +#include "lsquic_attq.h" +#include "lsquic_alarmset.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_MINI_CONN +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(&mc->mc_conn) +#include "lsquic_logger.h" + + +static const struct conn_iface mini_conn_iface_standard; +static const struct conn_iface mini_conn_iface_standard_Q050; + +#if LSQUIC_KEEP_MINICONN_HISTORY + +static void +mchist_append (struct mini_conn *mc, enum miniconn_history_event mh_event) +{ + enum miniconn_history_event prev_event; + mchist_idx_t idx; + int plus; + + idx = (mc->mc_hist_idx - 1) & MCHIST_MASK; + plus = MCHE_PLUS == mc->mc_hist_buf[ idx ]; + idx = (idx - plus) & MCHIST_MASK; + prev_event = mc->mc_hist_buf[ idx ]; + + if (!(prev_event == mh_event && plus)) + { + if (prev_event == mh_event) + mh_event = MCHE_PLUS; + mc->mc_hist_buf[ MCHIST_MASK & mc->mc_hist_idx++ ] = mh_event; + } +} + + +# define MCHIST_APPEND(mc, event) mchist_append(mc, event) +#else +# define MCHIST_APPEND(mc, event) +#endif + +static void +process_deferred_packets (struct mini_conn *mc); + + +/* If this is not true, highest_bit_set() may be broken */ +typedef char packno_set_is_unsigned_long[ + sizeof(unsigned long long) == sizeof(mconn_packno_set_t) ? 1 : -1 ]; + +static unsigned +highest_bit_set (unsigned long long sz) +{ +#if __GNUC__ + unsigned clz = __builtin_clzll(sz); + return 63 - clz; +#else + unsigned long y; + unsigned n; + n = 64; + y = sz >> 32; if (y) { n -= 32; sz = y; } + y = sz >> 16; if (y) { n -= 16; sz = y; } + y = sz >> 8; if (y) { n -= 8; sz = y; } + y = sz >> 4; if (y) { n -= 4; sz = y; } + y = sz >> 2; if (y) { n -= 2; sz = y; } + y = sz >> 1; if (y) return 63 - n + 2; + return 63 - n + sz; +#endif +} + + +static unsigned +lowest_bit_set (unsigned v) +{ +#if __GNUC__ + return __builtin_ctz(v); +#else + unsigned n; + n = 0; + if (0 == (v & ((1 << 16) - 1))) { n += 16; v >>= 16; } + if (0 == (v & ((1 << 8) - 1))) { n += 8; v >>= 8; } + if (0 == (v & ((1 << 4) - 1))) { n += 4; v >>= 4; } + if (0 == (v & ((1 << 2) - 1))) { n += 2; v >>= 2; } + if (0 == (v & ((1 << 1) - 1))) { n += 1; } + return n; +#endif +} + + +static int +is_handshake_stream_id (const struct mini_conn *conn, + lsquic_stream_id_t stream_id) +{ + return conn->mc_conn.cn_version < LSQVER_050 && stream_id == 1; +} + + +static void +mini_destroy_packet (struct mini_conn *mc, struct lsquic_packet_out *packet_out) +{ + lsquic_packet_out_destroy(packet_out, mc->mc_enpub, + mc->mc_path.np_peer_ctx); +} + + +static int +packet_in_is_ok (enum lsquic_version version, + const struct lsquic_packet_in *packet_in) +{ + size_t min_size; + + if (packet_in->pi_data_sz > GQUIC_MAX_PACKET_SZ) + { + LSQ_LOG1(LSQ_LOG_DEBUG, "incoming packet too large: %hu bytes", + packet_in->pi_data_sz); + return 0; + } + + if ((1 << version) & LSQUIC_GQUIC_HEADER_VERSIONS) + /* This is a very lax number, it allows the server to send + * 64 * 200 = 12KB of output (REJ and SHLO). + */ + min_size = 200; + else + /* Chrome enforces 1200-byte minimum initial packet limit */ + min_size = IQUIC_MIN_INIT_PACKET_SZ; + + if (packet_in->pi_data_sz < min_size) + { + LSQ_LOG1(LSQ_LOG_DEBUG, "incoming packet too small: %hu bytes", + packet_in->pi_data_sz); + return 0; + } + return 1; +} + + +lsquic_conn_t * +lsquic_mini_conn_new (struct lsquic_engine_public *enp, + const struct lsquic_packet_in *packet_in, + enum lsquic_version version) +{ + struct mini_conn *mc; + const struct conn_iface *conn_iface; + + if (!packet_in_is_ok(version, packet_in)) + return NULL; + switch (version) + { + case LSQVER_050: + conn_iface = &mini_conn_iface_standard_Q050; + break; + default: + conn_iface = &mini_conn_iface_standard; + break; + } + + mc = lsquic_malo_get(enp->enp_mm.malo.mini_conn); + if (!mc) + { + LSQ_LOG1(LSQ_LOG_WARN, "cannot allocate mini connection: %s", + strerror(errno)); + return NULL; + } + + memset(mc, 0, sizeof(*mc)); + TAILQ_INIT(&mc->mc_deferred); + TAILQ_INIT(&mc->mc_packets_in); + TAILQ_INIT(&mc->mc_packets_out); + mc->mc_enpub = enp; + mc->mc_created = packet_in->pi_received; + mc->mc_path.np_pack_size = packet_in->pi_data_sz; + mc->mc_conn.cn_cces = mc->mc_cces; + mc->mc_conn.cn_cces_mask = 1; + mc->mc_conn.cn_n_cces = sizeof(mc->mc_cces) / sizeof(mc->mc_cces[0]); + mc->mc_conn.cn_version = version; + mc->mc_conn.cn_pf = select_pf_by_ver(version); + mc->mc_conn.cn_esf_c = select_esf_common_by_ver(version); + mc->mc_conn.cn_esf.g = &lsquic_enc_session_gquic_gquic_1; + mc->mc_conn.cn_cid = packet_in->pi_conn_id; + mc->mc_conn.cn_logid = packet_in->pi_conn_id; + mc->mc_conn.cn_flags = LSCONN_MINI | LSCONN_SERVER; + mc->mc_conn.cn_if = conn_iface; + LSQ_DEBUG("created mini connection object"); + MCHIST_APPEND(mc, MCHE_CREATED); + return &mc->mc_conn; +} + + +static int +in_acked_range (const struct ack_info *acki, lsquic_packno_t n) /* This is a copy */ +{ + int in_range = 0; + unsigned i; + for (i = 0; i < acki->n_ranges; ++i) + in_range += acki->ranges[i].high >= n + && acki->ranges[i].low <= n; + return in_range > 0; +} + + +static void +take_rtt_sample (struct mini_conn *mc, const lsquic_packet_out_t *packet_out, + lsquic_time_t now, lsquic_time_t lack_delta) +{ + assert(packet_out->po_sent); + lsquic_time_t measured_rtt = now - packet_out->po_sent; + if (lack_delta < measured_rtt) + { + lsquic_rtt_stats_update(&mc->mc_rtt_stats, measured_rtt, lack_delta); + LSQ_DEBUG("srtt: %"PRIu64" usec, var: %"PRIu64, + lsquic_rtt_stats_get_srtt(&mc->mc_rtt_stats), + lsquic_rtt_stats_get_rttvar(&mc->mc_rtt_stats)); + } +} + + +static unsigned +process_ack_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + int parsed_len; + int n_newly_acked; + unsigned n; + lsquic_packet_out_t *packet_out, *next; + struct ack_info *acki; + lsquic_packno_t packno; + lsquic_time_t warn_time; + char buf[200]; + + acki = mc->mc_enpub->enp_mm.acki; + parsed_len = mc->mc_conn.cn_pf->pf_parse_ack_frame(p, len, acki, 0); + if (parsed_len < 0) + return 0; + if (empty_ack_frame(acki)) + { + LSQ_DEBUG("Ignore empty ACK frame"); + return parsed_len; + } + if (packet_in->pi_packno <= mc->mc_max_ack_packno) + { + LSQ_DEBUG("Ignore old ack (max %u)", mc->mc_max_ack_packno); + return parsed_len; + } + if (packet_in->pi_packno <= UCHAR_MAX) + mc->mc_max_ack_packno = packet_in->pi_packno; + + /* Verify ACK frame and update list of acked packet numbers: */ + for (n = 0; n < acki->n_ranges; ++n) + for (packno = acki->ranges[n].low; packno <= acki->ranges[n].high; + ++packno) + if (packno > MINICONN_MAX_PACKETS || + 0 == (MCONN_PACKET_MASK(packno) & mc->mc_sent_packnos)) + { + warn_time = lsquic_time_now(); + if (0 == mc->mc_enpub->enp_last_warning[WT_ACKPARSE_MINI] + || mc->mc_enpub->enp_last_warning[WT_ACKPARSE_MINI] + + WARNING_INTERVAL < warn_time) + { + mc->mc_enpub->enp_last_warning[WT_ACKPARSE_MINI] + = warn_time; + lsquic_hexdump(p, len, buf, sizeof(buf)); + LSQ_WARN("packet %"PRIu64" was never sent; ACK " + "frame:\n%s", packno, buf); + } + else + LSQ_DEBUG("packet %"PRIu64" was never sent", packno); + MCHIST_APPEND(mc, MCHE_UNSENT_ACKED); + return 0; + } + else + mc->mc_acked_packnos |= MCONN_PACKET_MASK(packno); + + EV_LOG_ACK_FRAME_IN(LSQUIC_LOG_CONN_ID, acki); + n_newly_acked = 0; + for (packet_out = TAILQ_FIRST(&mc->mc_packets_out); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (in_acked_range(acki, packet_out->po_packno)) + { + ++n_newly_acked; + LSQ_DEBUG("Got ACK for packet %"PRIu64, packet_out->po_packno); + if (packet_out->po_packno == largest_acked(acki)) + take_rtt_sample(mc, packet_out, packet_in->pi_received, + acki->lack_delta); + TAILQ_REMOVE(&mc->mc_packets_out, packet_out, po_next); + mini_destroy_packet(mc, packet_out); + } + } + + if (n_newly_acked > 0) + mc->mc_hsk_count = 0; + + return parsed_len; +} + + +static unsigned +process_blocked_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + int parsed_len; + parsed_len = mc->mc_conn.cn_pf->pf_parse_blocked_frame(p, len, &stream_id); + if (parsed_len < 0) + return 0; + EV_LOG_BLOCKED_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_id); + LSQ_DEBUG("Peer reports stream %"PRIu64" as blocked", stream_id); + return parsed_len; +} + + +static mconn_packno_set_t +drop_packets_out (struct mini_conn *mc) +{ + struct lsquic_packet_out *packet_out; + mconn_packno_set_t in_flight = 0; + + while ((packet_out = TAILQ_FIRST(&mc->mc_packets_out))) + { + TAILQ_REMOVE(&mc->mc_packets_out, packet_out, po_next); + if (packet_out->po_flags & PO_SENT) + in_flight |= MCONN_PACKET_MASK(packet_out->po_packno); + mini_destroy_packet(mc, packet_out); + } + + return in_flight; +} + + +static unsigned +process_connection_close_frame (struct mini_conn *mc, + lsquic_packet_in_t *packet_in, const unsigned char *p, size_t len) +{ + uint64_t error_code; + uint16_t reason_len; + uint8_t reason_off; + int parsed_len; + + (void) drop_packets_out(mc); + parsed_len = mc->mc_conn.cn_pf->pf_parse_connect_close_frame(p, len, + NULL, &error_code, &reason_len, &reason_off); + if (parsed_len < 0) + return 0; + mc->mc_error_code = (uint64_t) error_code; + EV_LOG_CONNECTION_CLOSE_FRAME_IN(LSQUIC_LOG_CONN_ID, error_code, + (int) reason_len, (const char *) p + reason_off); + if (error_code != 25 /* No recent network activity */ + && error_code != 62 /* An active session exists for the given IP */ + && error_code != 27 ) /* Write failed with error: -142 (Unknown error)*/ + { + LSQ_WARN("Received CONNECTION_CLOSE frame (code: %"PRIu64"; reason: %.*s)", + error_code, (int) reason_len, (const char *) p + reason_off); + } + MCHIST_APPEND(mc, MCHE_CONN_CLOSE); + return 0; /* This shuts down the connection */ +} + + +static unsigned +process_goaway_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + uint32_t error_code; + uint16_t reason_length; + const char *reason; + int parsed_len; + parsed_len = mc->mc_conn.cn_pf->pf_parse_goaway_frame(p, len, &error_code, &stream_id, + &reason_length, &reason); + if (parsed_len < 0) + return 0; + EV_LOG_GOAWAY_FRAME_IN(LSQUIC_LOG_CONN_ID, error_code, stream_id, + reason_length, reason); + LSQ_DEBUG("received GOAWAY frame, last good stream ID: %"PRIu64", " + "error code: 0x%X, reason: `%.*s'", stream_id, error_code, + reason_length, reason); + if (stream_id != 0) /* This is odd. We warn: */ + LSQ_WARN("stream ID is %"PRIu64" in GOAWAY frame", stream_id); + mc->mc_conn.cn_flags |= LSCONN_PEER_GOING_AWAY; + return parsed_len; +} + + +static unsigned +process_invalid_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + LSQ_INFO("invalid frame"); + MCHIST_APPEND(mc, MCHE_INVALID_FRAME); + return 0; +} + + +static unsigned +count_zero_bytes (const unsigned char *p, size_t len) +{ + const unsigned char *const end = p + len; + while (p < end && 0 == *p) + ++p; + return len - (end - p); +} + + +static unsigned +process_padding_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + len = (size_t) count_zero_bytes(p, len); + EV_LOG_PADDING_FRAME_IN(LSQUIC_LOG_CONN_ID, len); + return len; +} + + +static unsigned +process_ping_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + EV_LOG_PING_FRAME_IN(LSQUIC_LOG_CONN_ID); + return 1; +} + + +static unsigned +process_rst_stream_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + uint64_t offset, error_code; + int parsed_len; + parsed_len = mc->mc_conn.cn_pf->pf_parse_rst_frame(p, len, &stream_id, &offset, &error_code); + if (parsed_len < 0) + return 0; + EV_LOG_RST_STREAM_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_id, offset, + error_code); + LSQ_DEBUG("Got RST_STREAM; stream: %"PRIu64"; offset: 0x%"PRIX64, stream_id, + offset); + if (is_handshake_stream_id(mc, stream_id)) + { + LSQ_INFO("handshake stream reset, closing connection"); + return 0; + } + else + return parsed_len; +} + + +static unsigned +process_stop_waiting_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + lsquic_packno_t least; + enum packno_bits bits = lsquic_packet_in_packno_bits(packet_in); + int parsed_len; + parsed_len = mc->mc_conn.cn_pf->pf_parse_stop_waiting_frame(p, len, packet_in->pi_packno, bits, + &least); + if (parsed_len < 0) + return 0; + EV_LOG_STOP_WAITING_FRAME_IN(LSQUIC_LOG_CONN_ID, least); + LSQ_DEBUG("Got STOP_WAITING frame, least unacked: %"PRIu64, least); + if (least > MINICONN_MAX_PACKETS) + return 0; + else + { + mc->mc_cutoff = least; + return parsed_len; + } +} + + +static unsigned +process_stream_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + stream_frame_t stream_frame; + int parsed_len; + parsed_len = mc->mc_conn.cn_pf->pf_parse_stream_frame(p, len, &stream_frame); + if (parsed_len < 0) + return 0; + EV_LOG_STREAM_FRAME_IN(LSQUIC_LOG_CONN_ID, &stream_frame); + LSQ_DEBUG("Got stream frame for stream #%"PRIu64, stream_frame.stream_id); + if (is_handshake_stream_id(mc, stream_frame.stream_id)) + { + if (packet_in->pi_flags & PI_HSK_STREAM) + { /* This is not supported for simplicity. The spec recommends + * not putting more than one stream frame from the same stream + * into a single packet. If this changes and clients actually + * do that, we can revisit this code. + */ + LSQ_INFO("two handshake stream frames in single incoming packet"); + MCHIST_APPEND(mc, MCHE_2HSK_1STREAM); + return 0; + } + if (stream_frame.data_frame.df_offset >= mc->mc_read_off) + { + packet_in->pi_flags |= PI_HSK_STREAM; + packet_in->pi_hsk_stream = p - packet_in->pi_data; + mc->mc_flags |= MC_HAVE_NEW_HSK; + MCHIST_APPEND(mc, MCHE_NEW_HSK); + if (0 == stream_frame.data_frame.df_offset) + { + /* First CHLO message: update maximum packet size */ + mc->mc_path.np_pack_size = packet_in->pi_data_sz; + LSQ_DEBUG("update packet size to %hu", + mc->mc_path.np_pack_size); + } + } + else + { + LSQ_DEBUG("drop duplicate frame"); + MCHIST_APPEND(mc, MCHE_DUP_HSK); + } + } + return parsed_len; +} + + +static unsigned +process_crypto_frame (struct mini_conn *mc, struct lsquic_packet_in *packet_in, + const unsigned char *p, size_t len) +{ + stream_frame_t stream_frame; + int parsed_len; + parsed_len = mc->mc_conn.cn_pf->pf_parse_crypto_frame(p, len, + &stream_frame); + if (parsed_len < 0) + return 0; + EV_LOG_CRYPTO_FRAME_IN(LSQUIC_LOG_CONN_ID, &stream_frame, + lsquic_packet_in_enc_level(packet_in)); + LSQ_DEBUG("Got CRYPTO frame at encryption level %s", + lsquic_enclev2str[lsquic_packet_in_enc_level(packet_in)]); + if (packet_in->pi_flags & PI_HSK_STREAM) + { /* This is not supported for simplicity: assume a single CRYPTO frame + * per packet. If this changes, we can revisit this code. + */ + LSQ_INFO("two CRYPTO frames in single incoming packet"); + MCHIST_APPEND(mc, MCHE_2HSK_1STREAM); + return 0; + } + if (stream_frame.data_frame.df_offset >= mc->mc_read_off) + { + packet_in->pi_flags |= PI_HSK_STREAM; + packet_in->pi_hsk_stream = p - packet_in->pi_data; + mc->mc_flags |= MC_HAVE_NEW_HSK; + MCHIST_APPEND(mc, MCHE_NEW_HSK); + if (0 == stream_frame.data_frame.df_offset) + { + /* First CHLO message: update maximum packet size */ + mc->mc_path.np_pack_size = packet_in->pi_data_sz + /* Q050 and later adjust pi_data_sz of Initial packets during + * decryption, here we have to add the tag length back: + */ + + mc->mc_conn.cn_esf_c->esf_tag_len; + LSQ_DEBUG("update packet size to %hu", mc->mc_path.np_pack_size); + } + } + else + { + LSQ_DEBUG("drop duplicate frame"); + MCHIST_APPEND(mc, MCHE_DUP_HSK); + } + return parsed_len; +} + + +static unsigned +process_window_update_frame (struct mini_conn *mc, + lsquic_packet_in_t *packet_in, const unsigned char *p, size_t len) +{ + lsquic_stream_id_t stream_id; + uint64_t offset; + int parsed_len; + parsed_len = mc->mc_conn.cn_pf->pf_parse_window_update_frame(p, len, &stream_id, &offset); + if (parsed_len < 0) + return 0; + EV_LOG_WINDOW_UPDATE_FRAME_IN(LSQUIC_LOG_CONN_ID, stream_id, offset); + if (is_handshake_stream_id(mc, stream_id)) + /* This should not happen: why would the client send us WINDOW_UPDATE + * on stream 1? + */ + LSQ_WARN("client sent WINDOW_UPDATE for handshake stream, " + "offset %"PRIu64, offset); + return parsed_len; +} + + +typedef unsigned (*process_frame_f)( + struct mini_conn *, lsquic_packet_in_t *, const unsigned char *p, size_t); + + +static process_frame_f const process_frames[N_QUIC_FRAMES] = +{ + [QUIC_FRAME_ACK] = process_ack_frame, + [QUIC_FRAME_BLOCKED] = process_blocked_frame, + [QUIC_FRAME_CONNECTION_CLOSE] = process_connection_close_frame, + [QUIC_FRAME_CRYPTO] = process_crypto_frame, + [QUIC_FRAME_GOAWAY] = process_goaway_frame, + [QUIC_FRAME_INVALID] = process_invalid_frame, + [QUIC_FRAME_PADDING] = process_padding_frame, + [QUIC_FRAME_PING] = process_ping_frame, + [QUIC_FRAME_RST_STREAM] = process_rst_stream_frame, + [QUIC_FRAME_STOP_WAITING] = process_stop_waiting_frame, + [QUIC_FRAME_STREAM] = process_stream_frame, + [QUIC_FRAME_WINDOW_UPDATE] = process_window_update_frame, +}; + + +static unsigned +process_packet_frame (struct mini_conn *mc, lsquic_packet_in_t *packet_in, + const unsigned char *p, size_t len) +{ + enum quic_frame_type type = mc->mc_conn.cn_pf->pf_parse_frame_type(p, len); + packet_in->pi_frame_types |= 1 << type; + return process_frames[type](mc, packet_in, p, len); +} + + +static void +record_largest_recv (struct mini_conn *mc, lsquic_time_t t) +{ + if (t < mc->mc_created) + { + LSQ_WARN("largest received predates creation"); + return; + } + t -= mc->mc_created; + mc->mc_largest_recv[0] = t; + mc->mc_largest_recv[1] = t >> 8; + mc->mc_largest_recv[2] = t >> 16; + LSQ_DEBUG("recorded largest received timestamp as %"PRIu64" usec since " + "creation", t); +} + + +static enum dec_packin +conn_decrypt_packet (struct mini_conn *conn, lsquic_packet_in_t *packet_in) +{ + return conn->mc_conn.cn_esf_c->esf_decrypt_packet( + conn->mc_conn.cn_enc_session, conn->mc_enpub, + &conn->mc_conn, packet_in); +} + + +/* PRP: Process Regular Packet */ +enum proc_rp { PRP_KEEP, PRP_DEFER, PRP_DROP, PRP_ERROR, }; + + +static enum proc_rp +conn_decrypt_packet_or (struct mini_conn *mc, + struct lsquic_packet_in *packet_in) +{ + if (DECPI_OK == conn_decrypt_packet(mc, packet_in)) + { + MCHIST_APPEND(mc, MCHE_DECRYPTED); + return PRP_KEEP; + } + else if (mc->mc_conn.cn_esf.g->esf_have_key_gt_one( + mc->mc_conn.cn_enc_session)) + { + LSQ_INFO("could not decrypt packet: drop"); + mc->mc_dropped_packnos |= MCONN_PACKET_MASK(packet_in->pi_packno); + MCHIST_APPEND(mc, MCHE_UNDECR_DROP); + return PRP_DROP; + } + else if ((packet_in->pi_flags & PI_OWN_DATA) || + 0 == lsquic_conn_copy_and_release_pi_data(&mc->mc_conn, + mc->mc_enpub, packet_in)) + { + assert(packet_in->pi_flags & PI_OWN_DATA); + LSQ_INFO("could not decrypt packet: defer"); + mc->mc_deferred_packnos |= MCONN_PACKET_MASK(packet_in->pi_packno); + MCHIST_APPEND(mc, MCHE_UNDECR_DEFER); + return PRP_DEFER; + } + else + { + MCHIST_APPEND(mc, MCHE_ENOMEM); + return PRP_ERROR; /* Memory allocation must have failed */ + } +} + + +static enum proc_rp +process_regular_packet (struct mini_conn *mc, lsquic_packet_in_t *packet_in) +{ + const unsigned char *p, *pend; + enum proc_rp prp; + unsigned len; + + /* Decrypt packet if necessary */ + if (0 == (packet_in->pi_flags & PI_DECRYPTED)) + { + prp = conn_decrypt_packet_or(mc, packet_in); + if (prp != PRP_KEEP) + return prp; + } + + /* Update receive history before processing the packet: if there is an + * error, the connection is terminated and recording this packet number + * is helpful when it is printed along with other diagnostics in dtor. + */ + if (0 == mc->mc_received_packnos || + packet_in->pi_packno > highest_bit_set(mc->mc_received_packnos) + 1) + record_largest_recv(mc, packet_in->pi_received); + mc->mc_received_packnos |= MCONN_PACKET_MASK(packet_in->pi_packno); + + /* Parse and process frames */ + p = packet_in->pi_data + packet_in->pi_header_sz; + pend = packet_in->pi_data + packet_in->pi_data_sz; + while (p < pend) + { + len = process_packet_frame(mc, packet_in, p, pend - p); + if (len > 0) + p += len; + else + { + if (mc->mc_conn.cn_pf->pf_parse_frame_type(p, pend - p) != + QUIC_FRAME_CONNECTION_CLOSE) + LSQ_WARN("error parsing frame: packno %"PRIu64"; sz: %u; type: " + "0x%X", packet_in->pi_packno, packet_in->pi_data_sz, p[0]); + MCHIST_APPEND(mc, MCHE_EFRAME); + return PRP_ERROR; + } + } + + mc->mc_flags |= MC_GEN_ACK; + + return PRP_KEEP; +} + + +struct hsk_chunk +{ + lsquic_packet_in_t *hsk_packet_in; + const unsigned char *hsk_data; + unsigned hsk_off; + unsigned hsk_sz; +}; + + +static int +compare_hsk_chunks (const void *ap, const void *bp) +{ + const struct hsk_chunk *a = ap; + const struct hsk_chunk *b = bp; + return (a->hsk_off > b->hsk_off) - (b->hsk_off > a->hsk_off); +} + + +struct mini_stream_ctx +{ + const unsigned char *buf; + size_t bufsz; + size_t off; +}; + + +static int +mini_stream_has_data (const struct mini_stream_ctx *ms_ctx) +{ + return ms_ctx->off < ms_ctx->bufsz; +} + + +static size_t +mini_stream_read (void *stream, void *buf, size_t len, int *reached_fin) +{ + struct mini_stream_ctx *ms_ctx = stream; + size_t avail = ms_ctx->bufsz - ms_ctx->off; + if (avail < len) + len = avail; + memcpy(buf, ms_ctx->buf + ms_ctx->off, len); + ms_ctx->off += len; + *reached_fin = 0; + return len; +} + + +/* Wrapper to throw out reached_fin */ +static size_t +mini_stream_read_for_crypto (void *stream, void *buf, size_t len, int *fin) +{ + size_t retval; + int reached_fin; + + retval = mini_stream_read(stream, buf, len, &reached_fin); + return retval; +} + + +static size_t +mini_stream_size (void *stream) +{ + struct mini_stream_ctx *ms_ctx = stream; + size_t avail = ms_ctx->bufsz - ms_ctx->off; + return avail; +} + + +static int +mini_stream_fin (void *stream) +{ /* There is never a FIN on the handshake stream */ + return 0; +} + + +static lsquic_packno_t +next_packno (struct mini_conn *mc) +{ + if (mc->mc_cur_packno < MINICONN_MAX_PACKETS) + { + return ++mc->mc_cur_packno; + } + else + { + if (!(mc->mc_flags & MC_OO_PACKNOS)) + { + MCHIST_APPEND(mc, MCHE_OUT_OF_PACKNOS); + mc->mc_flags |= MC_OO_PACKNOS; + LSQ_DEBUG("ran out of outgoing packet numbers"); + } + return MINICONN_MAX_PACKETS + 1; + } +} + + +static lsquic_packet_out_t * +allocate_packet_out (struct mini_conn *mc, const unsigned char *nonce) +{ + lsquic_packet_out_t *packet_out; + lsquic_packno_t packno; + packno = next_packno(mc); + if (packno > MINICONN_MAX_PACKETS) + { + LSQ_DEBUG("ran out of outgoing packet numbers, won't allocate packet"); + return NULL; + } + packet_out = lsquic_packet_out_new(&mc->mc_enpub->enp_mm, NULL, 1, + &mc->mc_conn, GQUIC_PACKNO_LEN_1, NULL, nonce, &mc->mc_path, + HETY_NOT_SET); + if (!packet_out) + { + LSQ_WARN("could not allocate packet: %s", strerror(errno)); + return NULL; + } + packet_out->po_loss_chain = packet_out; + packet_out->po_packno = packno; + packet_out->po_flags |= PO_MINI; + if (mc->mc_flags & MC_HAVE_SHLO) + { + packet_out->po_flags |= PO_HELLO; + packet_out->po_header_type = HETY_0RTT; + } + if (mc->mc_conn.cn_version >= LSQVER_050) + { + if (nonce) + packet_out->po_header_type = HETY_0RTT; + else + packet_out->po_header_type = HETY_INITIAL; + } + lsquic_packet_out_set_pns(packet_out, PNS_APP); + TAILQ_INSERT_TAIL(&mc->mc_packets_out, packet_out, po_next); + LSQ_DEBUG("allocated packet #%"PRIu64", nonce: %d", packno, !!nonce); + MCHIST_APPEND(mc, MCHE_NEW_PACKET_OUT); + EV_LOG_PACKET_CREATED(LSQUIC_LOG_CONN_ID, packet_out); + return packet_out; +} + + +static struct lsquic_packet_out * +to_packet_pre_Q050 (struct mini_conn *mc, struct mini_stream_ctx *ms_ctx, + const unsigned char *nonce) +{ + struct lsquic_packet_out *packet_out; + size_t cur_off; + int len; + + packet_out = allocate_packet_out(mc, nonce); + if (!packet_out) + return NULL; + cur_off = ms_ctx->off; + len = mc->mc_conn.cn_pf->pf_gen_stream_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), + 1, mc->mc_write_off, mini_stream_fin(ms_ctx), + mini_stream_size(ms_ctx), mini_stream_read, ms_ctx); + if (len < 0) + { + LSQ_WARN("cannot generate STREAM frame (avail: %u)", + lsquic_packet_out_avail(packet_out)); + return NULL; + } + mc->mc_write_off += ms_ctx->off - cur_off; + EV_LOG_GENERATED_STREAM_FRAME(LSQUIC_LOG_CONN_ID, mc->mc_conn.cn_pf, + packet_out->po_data + packet_out->po_data_sz, len); + packet_out->po_data_sz += len; + packet_out->po_frame_types |= 1 << QUIC_FRAME_STREAM; + if (0 == lsquic_packet_out_avail(packet_out)) + packet_out->po_flags |= PO_STREAM_END; + + return packet_out; +} + + +static struct lsquic_packet_out * +to_packet_Q050plus (struct mini_conn *mc, struct mini_stream_ctx *ms_ctx, + const unsigned char *nonce) +{ + struct lsquic_packet_out *packet_out; + size_t cur_off; + int len; + + if (nonce && !(mc->mc_flags & MC_WR_OFF_RESET)) + { + mc->mc_write_off = 0; + mc->mc_flags |= MC_WR_OFF_RESET; + } + + packet_out = allocate_packet_out(mc, nonce); + if (!packet_out) + return NULL; + cur_off = ms_ctx->off; + len = mc->mc_conn.cn_pf->pf_gen_crypto_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), 0, mc->mc_write_off, 0, + mini_stream_size(ms_ctx), mini_stream_read_for_crypto, ms_ctx); + if (len < 0) + { + LSQ_WARN("cannot generate CRYPTO frame (avail: %u)", + lsquic_packet_out_avail(packet_out)); + return NULL; + } + mc->mc_write_off += ms_ctx->off - cur_off; + EV_LOG_GENERATED_CRYPTO_FRAME(LSQUIC_LOG_CONN_ID, mc->mc_conn.cn_pf, + packet_out->po_data + packet_out->po_data_sz, len); + packet_out->po_data_sz += len; + packet_out->po_frame_types |= 1 << QUIC_FRAME_CRYPTO; + + return packet_out; +} + + +static int +packetize_response (struct mini_conn *mc, const unsigned char *buf, + size_t bufsz, const unsigned char *nonce) +{ + struct mini_stream_ctx ms_ctx; + lsquic_packet_out_t *packet_out; + struct lsquic_packet_out * (*const to_packet) (struct mini_conn *, + struct mini_stream_ctx *, const unsigned char *) + = mc->mc_conn.cn_version < LSQVER_050 + ? to_packet_pre_Q050 : to_packet_Q050plus; + + LSQ_DEBUG("Packetizing %zd bytes of handshake response", bufsz); + + ms_ctx.buf = buf; + ms_ctx.bufsz = bufsz; + ms_ctx.off = 0; + + do + { + packet_out = to_packet(mc, &ms_ctx, nonce); + if (!packet_out) + return -1; + } + while (mini_stream_has_data(&ms_ctx)); + + /* PAD the last packet with NULs. ACK and STOP_WAITING go into a separate + * packet. + */ + if (lsquic_packet_out_avail(packet_out)) + { + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated PADDING frame %u " + "bytes long", lsquic_packet_out_avail(packet_out)); + memset(packet_out->po_data + packet_out->po_data_sz, 0, + lsquic_packet_out_avail(packet_out)); + packet_out->po_data_sz += lsquic_packet_out_avail(packet_out); + packet_out->po_frame_types |= 1 << QUIC_FRAME_PADDING; + } + + return 0; +} + + +static int +continue_handshake (struct mini_conn *mc) +{ + lsquic_packet_in_t *packet_in; + unsigned n_hsk_chunks = 0, n_contig, n, bufsz, off; + int s, rv; + size_t out_len; + enum handshake_error he; + unsigned char *buf_in_16k, *buf_out; + const unsigned char *buf_in; + time_t t; + stream_frame_t frame; + struct hsk_chunk hsk_chunks[MINICONN_MAX_PACKETS], *hsk_chunk; + unsigned char nonce_buf[32]; + int nonce_set = 0; + int (*parse_frame)(const unsigned char *, size_t, struct stream_frame *) + = mc->mc_conn.cn_version < LSQVER_050 + ? mc->mc_conn.cn_pf->pf_parse_stream_frame + : mc->mc_conn.cn_pf->pf_parse_crypto_frame; + + /* Get handshake stream data from each packet that contains a handshake + * stream frame and place them into `hsk_chunks' array. + */ + TAILQ_FOREACH(packet_in, &mc->mc_packets_in, pi_next) + { + if (n_hsk_chunks >= sizeof(hsk_chunks) / sizeof(hsk_chunks[0])) { + LSQ_WARN("too many handshake packets"); + return -1; + } + + if (0 == (packet_in->pi_flags & PI_HSK_STREAM)) + continue; + s = parse_frame(packet_in->pi_data + packet_in->pi_hsk_stream, + packet_in->pi_data_sz - packet_in->pi_hsk_stream, &frame); + if (-1 == s) + { + LSQ_WARN("cannot process hsk stream frame in packet %"PRIu64, + packet_in->pi_packno); + return -1; + } + hsk_chunk = &hsk_chunks[ n_hsk_chunks++ ]; + hsk_chunk->hsk_packet_in = packet_in; + hsk_chunk->hsk_data = frame.data_frame.df_data; + hsk_chunk->hsk_off = frame.data_frame.df_offset; + hsk_chunk->hsk_sz = frame.data_frame.df_size; + } + assert(n_hsk_chunks > 0); + + if (n_hsk_chunks > 1) + { + /* Sort handshake stream data */ + qsort(hsk_chunks, n_hsk_chunks, sizeof(hsk_chunks[0]), + compare_hsk_chunks); + /* Figure out how many packets contain handshake stream data in a + * contiguous buffer and how large this data is. + */ + for (n = 1, n_contig = 1, bufsz = hsk_chunks[0].hsk_sz; + n < n_hsk_chunks; ++n) + if (hsk_chunks[n - 1].hsk_off + hsk_chunks[n - 1].hsk_sz == + hsk_chunks[n].hsk_off) + { + ++n_contig; + bufsz += hsk_chunks[n].hsk_sz; + } + else + break; + } + else + { + n_contig = 1; + bufsz = hsk_chunks[0].hsk_sz; + } + + /* Handshake handler expects to start reading at a particular offset. + */ + if (hsk_chunks[0].hsk_off != mc->mc_read_off) + { + LSQ_DEBUG("smallest hsk offset is %u, need %hu", + hsk_chunks[0].hsk_off, mc->mc_read_off); + MCHIST_APPEND(mc, MCHE_HELLO_HOLE); + return 0; + } + + LSQ_DEBUG("# of contiguous stream frames: %u out of %u; offset: %u; " + "total size: %u", n_contig, n_hsk_chunks, hsk_chunks[0].hsk_off, bufsz); + + if (bufsz > 16 * 1024) + { + LSQ_INFO("too much contiguous handshake data (%u bytes); max: %u", + bufsz, 16 * 1024); + MCHIST_APPEND(mc, MCHE_HELLO_TOO_MUCH); + return -1; + } + + /* From here on, since we need to clean up, we use `rv' and `goto end' + * to handle error conditions and cleanup. + */ + rv = -1; + if (n_contig > 1) + { + buf_in = buf_in_16k = lsquic_mm_get_16k(&mc->mc_enpub->enp_mm); + if (!buf_in) + { + LSQ_WARN("could not allocate in buffer: %s", strerror(errno)); + buf_out = NULL; + goto end; + } + /* Create a single contiguous buffer to pass to lsquic_enc_session_handle_chlo */ + off = 0; + for (n = 0; n < n_contig; ++n) + { + memcpy(buf_in_16k + off, hsk_chunks[n].hsk_data, + hsk_chunks[n].hsk_sz); + off += hsk_chunks[n].hsk_sz; + } + assert(off == bufsz); + } + else + { + buf_in_16k = NULL; + buf_in = hsk_chunks[0].hsk_data; + } + + buf_out = lsquic_mm_get_16k(&mc->mc_enpub->enp_mm); + if (!buf_out) + { + LSQ_WARN("could not allocate out buffer: %s", strerror(errno)); + goto end; + } + out_len = 16 * 1024; + + /* Allocate enc_session for the server if first time around: */ + if (!mc->mc_conn.cn_enc_session) + { + mc->mc_conn.cn_enc_session = + mc->mc_conn.cn_esf.g->esf_create_server(&mc->mc_conn, + mc->mc_conn.cn_cid, mc->mc_enpub); + if (!mc->mc_conn.cn_enc_session) + { + LSQ_WARN("cannot create new enc session"); + goto end; + } + MCHIST_APPEND(mc, MCHE_NEW_ENC_SESS); + } + + t = time(NULL); + he = mc->mc_conn.cn_esf.g->esf_handle_chlo(mc->mc_conn.cn_enc_session, + mc->mc_conn.cn_version, + buf_in, bufsz, t, NP_PEER_SA(&mc->mc_path), + NP_LOCAL_SA(&mc->mc_path), + buf_out, &out_len, nonce_buf, &nonce_set); + + if (HS_SHLO == he) + mc->mc_flags |= MC_HAVE_SHLO; + else + mc->mc_flags &= ~MC_HAVE_SHLO; + + MCHIST_APPEND(mc, he == DATA_NOT_ENOUGH ? MCHE_HANDLE_NOT_ENOUGH : + he == HS_SHLO ? MCHE_HANDLE_SHLO : + he == HS_1RTT ? MCHE_HANDLE_1RTT : + he == HS_SREJ ? MCHE_HANDLE_SREJ : + he == HS_ERROR ? MCHE_HANDLE_ERROR : + MCHE_HAHDLE_UNKNOWN); + + if ((HS_SHLO == he || HS_1RTT == he) && !mc->mc_rtt_stats.srtt) + { + uint32_t irtt; + if (0 == mc->mc_conn.cn_esf.g->esf_get_peer_setting( + mc->mc_conn.cn_enc_session, QTAG_IRTT, &irtt)) + { + /* Do not allow the client to specify unreasonable values: + * smaller than 10ms or larger than 15s. Per reference + * implementation. + */ + if (irtt > 15 * 1000 * 1000) + irtt = 15 * 1000 * 1000; + else if (irtt < 10 * 1000) + irtt = 10 * 1000; + lsquic_rtt_stats_update(&mc->mc_rtt_stats, irtt, 0); + LSQ_DEBUG("Set initial SRTT to %"PRIu32" usec based on client-" + "supplied IRTT value", irtt); + } + } + + switch (he) + { + case DATA_NOT_ENOUGH: + LSQ_DEBUG("lsquic_enc_session_handle_chlo needs more data"); + break; + case HS_SHLO: + mc->mc_conn.cn_flags |= LSCONN_HANDSHAKE_DONE; + mc->mc_flags |= MC_PROMOTE; + LSQ_DEBUG("lsquic_enc_session_handle_chlo returned %d, promote", he); + /* Fall through */ + case HS_1RTT: + assert(out_len > 0); + if (mc->mc_conn.cn_version < LSQVER_046 + && !mc->mc_conn.cn_esf.g->esf_get_peer_option( + mc->mc_conn.cn_enc_session, QTAG_NSTP)) + mc->mc_flags |= MC_STOP_WAIT_ON; + if (0 != packetize_response(mc, buf_out, out_len, + nonce_set ? nonce_buf : NULL)) + goto end; + mc->mc_read_off += bufsz; + for (n = 0; n < n_contig; ++n) + hsk_chunks[n].hsk_packet_in->pi_flags &= ~PI_HSK_STREAM; + LSQ_DEBUG("read offset is now %hu", mc->mc_read_off); + break; + default: + LSQ_WARN("unexpected return value from lsquic_enc_session_handle_chlo: %u", he); + /* fallthru */ + case HS_ERROR: +#if !LSQUIC_KEEP_ENC_SESS_HISTORY + mc->mc_conn.cn_esf.g->esf_destroy(mc->mc_conn.cn_enc_session); + mc->mc_conn.cn_enc_session = NULL; +#endif + mc->mc_flags |= MC_HSK_ERR; + LSQ_INFO("lsquic_enc_session_handle_chlo returned an error (%d)", he); + goto end; + } + + rv = 0; + + end: + mc->mc_flags &= ~MC_HAVE_SHLO; + if (buf_in_16k) + lsquic_mm_put_16k(&mc->mc_enpub->enp_mm, buf_in_16k); + if (buf_out) + lsquic_mm_put_16k(&mc->mc_enpub->enp_mm, buf_out); + return rv; +} + + +struct mini_rechist +{ + const struct mini_conn *mc; + mconn_packno_set_t cur_set; + int cur_idx; + struct lsquic_packno_range range; /* We return a pointer to this */ +}; + + +static void +mini_rechist_init (struct mini_rechist *rechist, const struct mini_conn *mc) +{ + rechist->mc = mc; + rechist->cur_set = 0; + rechist->cur_idx = 0; +} + + +static lsquic_time_t +mini_rechist_largest_recv (void *rechist_ctx) +{ + struct mini_rechist *rechist = rechist_ctx; + const struct mini_conn *mc = rechist->mc; + lsquic_time_t delta = mc->mc_largest_recv[0] + + (mc->mc_largest_recv[1] << 8) + + (mc->mc_largest_recv[2] << 16); + LSQ_DEBUG("%s: largest received: %"PRIu64" usec since creation", + __func__, delta); + return mc->mc_created + delta; +} + + +static const struct lsquic_packno_range * +mini_rechist_next (void *rechist_ctx) +{ + struct mini_rechist *rechist = rechist_ctx; + const struct mini_conn *mc = rechist->mc; + mconn_packno_set_t packnos; + int i; + + packnos = rechist->cur_set; + if (0 == packnos) + return NULL; + + /* There may be a faster way to do this, but for now, we just want + * correctness. + */ + for (i = rechist->cur_idx; i >= 0; --i) + if (packnos & (1ULL << i)) + { + rechist->range.low = i + 1; + rechist->range.high = i + 1; + break; + } + assert(i >= 0); /* We must have hit at least one bit */ + --i; + for ( ; i >= 0 && (packnos & (1ULL << i)); --i) + rechist->range.low = i + 1; + if (i >= 0) + { + rechist->cur_set = packnos & ((1ULL << i) - 1); + rechist->cur_idx = i; + } + else + rechist->cur_set = 0; + LSQ_DEBUG("%s: return [%"PRIu64", %"PRIu64"]", __func__, + rechist->range.low, rechist->range.high); + return &rechist->range; +} + + +static const struct lsquic_packno_range * +mini_rechist_first (void *rechist_ctx) +{ + struct mini_rechist *rechist = rechist_ctx; + rechist->cur_set = rechist->mc->mc_received_packnos; + rechist->cur_idx = highest_bit_set(rechist->cur_set); + return mini_rechist_next(rechist_ctx); +} + + +static lsquic_packno_t +least_unacked (const struct mini_conn *mc) +{ + mconn_packno_set_t unacked; + lsquic_packno_t packno; + unacked = mc->mc_sent_packnos & ~mc->mc_acked_packnos; + if (unacked) + packno = lowest_bit_set(unacked) + 1; + else + packno = highest_bit_set(mc->mc_sent_packnos) + 2; + LSQ_DEBUG("%s: least unacked: %"PRIu64, __func__, packno); + return packno; +} + + +static int +generate_ack_and_stop_waiting (struct mini_conn *mc, lsquic_time_t now) +{ + lsquic_packet_out_t *packet_out; + struct mini_rechist rechist; + int len, not_used_has_missing; + lsquic_packno_t lunack; + + /* Chrome's quic_server places ACK and STOP_WAITING frames into a separate + * packet. + */ + packet_out = allocate_packet_out(mc, NULL); + if (!packet_out) + return -1; + + /* Generate ACK frame */ + mini_rechist_init(&rechist, mc); + len = mc->mc_conn.cn_pf->pf_gen_ack_frame(packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), mini_rechist_first, + mini_rechist_next, mini_rechist_largest_recv, &rechist, + now, ¬_used_has_missing, &packet_out->po_ack2ed, NULL); + if (len < 0) + { + LSQ_WARN("could not generate ACK frame"); + return -1; + } + EV_LOG_GENERATED_ACK_FRAME(LSQUIC_LOG_CONN_ID, mc->mc_conn.cn_pf, + packet_out->po_data + packet_out->po_data_sz, len); + packet_out->po_frame_types |= 1 << QUIC_FRAME_ACK; + packet_out->po_data_sz += len; + packet_out->po_regen_sz += len; + LSQ_DEBUG("wrote ACK frame of size %d", len); + + /* Generate STOP_WAITING frame */ + if ((mc->mc_flags & MC_STOP_WAIT_ON) && mc->mc_sent_packnos) + { + lunack = least_unacked(mc); + len = mc->mc_conn.cn_pf->pf_gen_stop_waiting_frame(packet_out->po_data + + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), packet_out->po_packno, + lsquic_packet_out_packno_bits(packet_out), lunack); + if (len < 0) + { + LSQ_WARN("could not generate STOP_WAITING frame"); + return -1; + } + packet_out->po_data_sz += len; + packet_out->po_regen_sz += len; + packet_out->po_frame_types |= 1 << QUIC_FRAME_STOP_WAITING; + LSQ_DEBUG("wrote STOP_WAITING frame of size %d", len); + EV_LOG_GENERATED_STOP_WAITING_FRAME(LSQUIC_LOG_CONN_ID, lunack); + } + else if (mc->mc_flags & MC_STOP_WAIT_ON) + LSQ_DEBUG("nothing sent: no need to generate STOP_WAITING frame"); + + mc->mc_flags |= MC_UNSENT_ACK; + return 0; +} + + +static int +calc_retx_timeout (const struct mini_conn *mc) +{ + lsquic_time_t to; + to = lsquic_rtt_stats_get_srtt(&mc->mc_rtt_stats); + if (to) + { + to += to / 2; + if (to < 10000) + to = 10000; + } + else + to = 300000; + return to << mc->mc_hsk_count; +} + + +static void +return_enc_data (struct mini_conn *mc, struct lsquic_packet_out *packet_out) +{ + mc->mc_enpub->enp_pmi->pmi_return(mc->mc_enpub->enp_pmi_ctx, + mc->mc_path.np_peer_ctx, packet_out->po_enc_data, + lsquic_packet_out_ipv6(packet_out)); + packet_out->po_flags &= ~PO_ENCRYPTED; + packet_out->po_enc_data = NULL; +} + + +static int +repackage_packet (struct mini_conn *mc, lsquic_packet_out_t *packet_out) +{ + const lsquic_packno_t oldno = packet_out->po_packno; + const lsquic_packno_t packno = next_packno(mc); + if (packno > MINICONN_MAX_PACKETS) + return -1; + + LSQ_DEBUG("Packet %"PRIu64" repackaged for resending as packet %"PRIu64, + oldno, packno); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "packet %"PRIu64" repackaged for " + "resending as packet %"PRIu64, oldno, packno); + packet_out->po_packno = packno; + packet_out->po_flags &= ~PO_SENT; + if (packet_out->po_flags & PO_ENCRYPTED) + return_enc_data(mc, packet_out); + TAILQ_INSERT_TAIL(&mc->mc_packets_out, packet_out, po_next); + return 0; +} + + +static int +handle_losses_and_have_unsent (struct mini_conn *mc, lsquic_time_t now) +{ + TAILQ_HEAD(, lsquic_packet_out) lost_packets = + TAILQ_HEAD_INITIALIZER(lost_packets); + lsquic_packet_out_t *packet_out, *next; + lsquic_time_t retx_to = 0; + unsigned n_to_send = 0; + + for (packet_out = TAILQ_FIRST(&mc->mc_packets_out); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_flags & PO_SENT) + { + if (0 == retx_to) + retx_to = calc_retx_timeout(mc); + if (packet_out->po_sent + retx_to < now) + { + LSQ_DEBUG("packet %"PRIu64" has been lost (rto: %"PRIu64")", + packet_out->po_packno, retx_to); + TAILQ_REMOVE(&mc->mc_packets_out, packet_out, po_next); + TAILQ_INSERT_TAIL(&lost_packets, packet_out, po_next); + mc->mc_lost_packnos |= MCONN_PACKET_MASK(packet_out->po_packno); + MCHIST_APPEND(mc, MCHE_PACKET_LOST); + } + } + else + ++n_to_send; + } + + mc->mc_hsk_count += !TAILQ_EMPTY(&lost_packets); + + while ((packet_out = TAILQ_FIRST(&lost_packets))) + { + TAILQ_REMOVE(&lost_packets, packet_out, po_next); + if ((packet_out->po_frame_types & GQUIC_FRAME_RETRANSMITTABLE_MASK) + && 0 == repackage_packet(mc, packet_out)) + ++n_to_send; + else + mini_destroy_packet(mc, packet_out); + } + + return n_to_send > 0; +} + + +static int +warning_is_warranted (const struct mini_conn *mc) +{ + return (mc->mc_flags & (MC_HSK_ERR|MC_OO_PACKNOS)) + || 0x1C /* QUIC_HANDSHAKE_FAILED */ == mc->mc_error_code + || 0x1D /* QUIC_CRYPTO_TAGS_OUT_OF_ORDER */ == mc->mc_error_code + || 0x1E /* QUIC_CRYPTO_TOO_MANY_ENTRIES */ == mc->mc_error_code + || 0x1F /* QUIC_CRYPTO_INVALID_VALUE_LENGTH */ == mc->mc_error_code + || 0x21 /* QUIC_INVALID_CRYPTO_MESSAGE_TYPE */ == mc->mc_error_code + || 0x22 /* QUIC_INVALID_CRYPTO_MESSAGE_PARAMETER */ == mc->mc_error_code + || 0x23 /* QUIC_CRYPTO_MESSAGE_PARAMETER_NOT_FOUND */ == mc->mc_error_code + || 0x24 /* QUIC_CRYPTO_MESSAGE_PARAMETER_NO_OVERLAP */ == mc->mc_error_code + || 0x29 /* QUIC_CRYPTO_TOO_MANY_REJECTS */ == mc->mc_error_code + || 0x2A /* QUIC_PROOF_INVALID */ == mc->mc_error_code + || 0x2B /* QUIC_CRYPTO_DUPLICATE_TAG */ == mc->mc_error_code + || 0x2C /* QUIC_CRYPTO_ENCRYPTION_LEVEL_INCORRECT */ == mc->mc_error_code + || 0x2D /* QUIC_CRYPTO_SERVER_CONFIG_EXPIRED */ == mc->mc_error_code + || 0x35 /* QUIC_CRYPTO_SYMMETRIC_KEY_SETUP_FAILED */ == mc->mc_error_code + ; +} + + +#if LSQUIC_KEEP_ENC_SESS_HISTORY +static void +maybe_log_enc_sess_history (const struct mini_conn *mc) +{ + char eshist[ESHIST_STR_SIZE]; + enum lsq_log_level log_level; + const char *ua; + + if (warning_is_warranted(mc)) + log_level = LSQ_LOG_WARN; + else + log_level = LSQ_LOG_DEBUG; + + if (mc->mc_conn.cn_enc_session) + { + mc->mc_conn.cn_esf.g->esf_get_hist(mc->mc_conn.cn_enc_session, eshist); + ua = mc->mc_conn.cn_esf.g->esf_get_ua(mc->mc_conn.cn_enc_session); + LSQ_LOG1(log_level, "enc hist %s; User-Agent: %s", eshist, + ua ? ua : ""); + } + else + LSQ_LOG1(log_level, "enc session gone: no history to log"); +} + + +#endif + + + + +static int +have_packets_to_send (struct mini_conn *mc, lsquic_time_t now) +{ + return handle_losses_and_have_unsent(mc, now); +} + + +static enum tick_st +mini_conn_ci_tick (struct lsquic_conn *lconn, lsquic_time_t now) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + enum tick_st tick; + + ++mc->mc_n_ticks; + + if (mc->mc_created + mc->mc_enpub->enp_settings.es_handshake_to < now) + { + LSQ_DEBUG("connection expired: closing"); + tick = TICK_CLOSE; + goto end; + } + + if (mc->mc_flags & MC_ERROR) + { + tick = TICK_CLOSE; + goto end; + } + + + if ((mc->mc_flags & (MC_UNSENT_ACK|MC_GEN_ACK)) == MC_GEN_ACK) + { + if (0 != generate_ack_and_stop_waiting(mc, now)) + { + mc->mc_flags |= MC_ERROR; + tick = TICK_CLOSE; + goto end; + } + else + mc->mc_flags &= ~MC_GEN_ACK; + } + + if (have_packets_to_send(mc, now)) + tick = TICK_SEND; + else + tick = TICK_QUIET; + + if (mc->mc_flags & MC_PROMOTE) + tick |= TICK_PROMOTE; + + end: +#if LSQUIC_KEEP_ENC_SESS_HISTORY + if (tick & (TICK_CLOSE|TICK_PROMOTE)) + maybe_log_enc_sess_history(mc); +#endif + + return tick; +} + + +static void +process_packet (struct mini_conn *mc, struct lsquic_packet_in *packet_in) +{ + switch (process_regular_packet(mc, packet_in)) + { + case PRP_KEEP: + assert(packet_in->pi_flags & PI_OWN_DATA); + lsquic_packet_in_upref(packet_in); + TAILQ_INSERT_TAIL(&mc->mc_packets_in, packet_in, pi_next); + if (mc->mc_flags & MC_HAVE_NEW_HSK) + { + if (0 != continue_handshake(mc)) + mc->mc_flags |= MC_ERROR; + mc->mc_flags &= ~MC_HAVE_NEW_HSK; + } + break; + case PRP_DEFER: + assert(packet_in->pi_flags & PI_OWN_DATA); + lsquic_packet_in_upref(packet_in); + if (mc->mc_n_deferred < MINI_CONN_MAX_DEFERRED) + { + TAILQ_INSERT_TAIL(&mc->mc_deferred, packet_in, pi_next); + ++mc->mc_n_deferred; + } + else + LSQ_DEBUG("won't defer more than %u packets: drop", + MINI_CONN_MAX_DEFERRED); + break; + case PRP_ERROR: + mc->mc_flags |= MC_ERROR; + break; + case PRP_DROP: + break; + } +} + + +/* Keep deferred list ordered by packet number, so that we can process all + * of them in a single pass. + */ +static void +insert_into_deferred (struct mini_conn *mc, lsquic_packet_in_t *new_packet) +{ + lsquic_packet_in_t *packet_in; + + lsquic_packet_in_upref(new_packet); + + TAILQ_FOREACH(packet_in, &mc->mc_deferred, pi_next) + if (packet_in->pi_packno > new_packet->pi_packno) + break; + + if (packet_in) + TAILQ_INSERT_BEFORE(packet_in, new_packet, pi_next); + else + TAILQ_INSERT_TAIL(&mc->mc_deferred, new_packet, pi_next); + ++mc->mc_n_deferred; +} + + +static void +process_deferred_packets (struct mini_conn *mc) +{ + lsquic_packet_in_t *last, *packet_in; + int reached_last; + + last = TAILQ_LAST(&mc->mc_deferred, head_packet_in); + do + { + packet_in = TAILQ_FIRST(&mc->mc_deferred); + TAILQ_REMOVE(&mc->mc_deferred, packet_in, pi_next); + --mc->mc_n_deferred; + process_packet(mc, packet_in); + reached_last = packet_in == last; + lsquic_packet_in_put(&mc->mc_enpub->enp_mm, packet_in); + } + while (!reached_last); +} + + +#if LSQUIC_RECORD_INORD_HIST +/* FIXME This does not work for Q050, where 0 is a valid packet number. */ +/* Packet number is encoded as a sequence of 1-bits and stored in mc_inord_hist + * separated by 0 bits. For example, sequence of packet numbers 3, 2, 1 would + * be encoded as (starting with LSB) 1110110100000000... This is not the most + * space-efficient scheme, but it is simple to implement and should suffice for + * our purposes. + */ +static void +record_inord_packno (struct mini_conn *mc, lsquic_packno_t packno) +{ + int n_avail; + lsquic_packno_t mask; + + for ( ; mc->mc_inord_idx < sizeof(mc->mc_inord_hist) / + sizeof(mc->mc_inord_hist[0]); ++mc->mc_inord_idx) + { + if (mc->mc_inord_hist[ mc->mc_inord_idx ]) + n_avail = __builtin_clzll(mc->mc_inord_hist[ mc->mc_inord_idx ]) - 1; + else + n_avail = sizeof(mc->mc_inord_hist[ mc->mc_inord_idx ]) * 8; + if (n_avail >= (int) packno) + { + mask = (1ULL << (int) packno) - 1; + mask <<= sizeof(mc->mc_inord_hist[ mc->mc_inord_idx ]) * 8 - n_avail; + mc->mc_inord_hist[ mc->mc_inord_idx ] |= mask; + return; /* Success */ + } + } +} + + +#if __GNUC__ +# define ctz __builtin_ctzll +#else +static unsigned +ctz (unsigned long long x) +{ + unsigned n = 0; + if (0 == (x & ((1ULL << 32) - 1))) { n += 32; x >>= 32; } + if (0 == (x & ((1ULL << 16) - 1))) { n += 16; x >>= 16; } + if (0 == (x & ((1ULL << 8) - 1))) { n += 8; x >>= 8; } + if (0 == (x & ((1ULL << 4) - 1))) { n += 4; x >>= 4; } + if (0 == (x & ((1ULL << 2) - 1))) { n += 2; x >>= 2; } + if (0 == (x & ((1ULL << 1) - 1))) { n += 1; x >>= 1; } + return n; +} + + +#endif + + +static void +inord_to_str (const struct mini_conn *mc, char *buf, size_t bufsz) +{ + unsigned long long hist; + size_t off; + ssize_t nw; + unsigned n; + int n_trail; + + off = 0; + for (n = 0; n < sizeof(mc->mc_inord_hist) / + sizeof(mc->mc_inord_hist[0]); ++n) + { + hist = mc->mc_inord_hist[n]; + while (hist) + { + n_trail = ctz(~hist); + nw = snprintf(buf + off, bufsz - off, + /* No spaces are included on purpose: this makes it a single + * field and thus easy to process log using standard command- + * line tools, such as sork -k, for example. + */ + (off ? ",%d" : "%d"), n_trail); + if ((size_t) nw > bufsz - off || nw < 0) + break; + off += nw; + hist >>= n_trail + 1; + } + } + buf[ bufsz - 1 ] = '\0'; /* CYA */ +} + + +#endif + + +static void +mini_conn_ci_packet_in (struct lsquic_conn *lconn, + struct lsquic_packet_in *packet_in) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + +#if LSQUIC_RECORD_INORD_HIST + record_inord_packno(mc, packet_in->pi_packno); +#endif +#if 0 + /* A convenient way to test lsquic_is_valid_hs_packet(): */ + if (!(mc->mc_sent_packnos)) + assert(lsquic_is_valid_hs_packet(NULL, packet_in->pi_data, + packet_in->pi_data_sz)); +#endif + + if (mc->mc_flags & MC_ERROR) + { + LSQ_DEBUG("error state: ignore packet %"PRIu64, packet_in->pi_packno); + return; + } + + if (lsquic_packet_in_is_gquic_prst(packet_in)) + { + LSQ_INFO("received reset packet"); + mc->mc_flags |= MC_ERROR; + MCHIST_APPEND(mc, MCHE_PRST_IN); + return; + } + + LSQ_DEBUG("packet in: %"PRIu64, packet_in->pi_packno); + EV_LOG_PACKET_IN(LSQUIC_LOG_CONN_ID, packet_in); + + + /* Check receive history */ + if (0 == packet_in->pi_packno) + { + LSQ_DEBUG("invalid packet number 0"); + mc->mc_flags |= MC_ERROR; + MCHIST_APPEND(mc, MCHE_PACKET0_IN); + return; + } + if (packet_in->pi_packno > MINICONN_MAX_PACKETS) + { + LSQ_DEBUG("packet number %"PRIu64" is too large (max %zd)", + packet_in->pi_packno, MINICONN_MAX_PACKETS); + mc->mc_flags |= MC_ERROR; + MCHIST_APPEND(mc, MCHE_PACKET2LARGE_IN); + return; + } + if (MCONN_PACKET_MASK(packet_in->pi_packno) & mc->mc_received_packnos) + { + LSQ_DEBUG("duplicate packet %"PRIu64", ignoring", packet_in->pi_packno); + MCHIST_APPEND(mc, MCHE_PACKET_DUP_IN); + return; + } + + if (TAILQ_EMPTY(&mc->mc_deferred)) + process_packet(mc, packet_in); + else if (mc->mc_n_deferred < MINI_CONN_MAX_DEFERRED) + { + insert_into_deferred(mc, packet_in); + process_deferred_packets(mc); + } + else + { + process_packet(mc, packet_in); + process_deferred_packets(mc); + } +} + + +/* Q050 is different is that packet numbers are not known until after the + * packet is decrypted, so we have to follow different logic here. + */ +static void +mini_conn_ci_Q050_packet_in (struct lsquic_conn *lconn, + struct lsquic_packet_in *packet_in) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + enum proc_rp prp; + + if (mc->mc_flags & MC_ERROR) + { + LSQ_DEBUG("error state: ignore packet"); + return; + } + + + if (!mc->mc_conn.cn_enc_session) + { + mc->mc_conn.cn_enc_session = + mc->mc_conn.cn_esf.g->esf_create_server(&mc->mc_conn, + mc->mc_conn.cn_cid, mc->mc_enpub); + if (!mc->mc_conn.cn_enc_session) + { + LSQ_WARN("cannot create new enc session"); + mc->mc_flags |= MC_ERROR; + return; + } + MCHIST_APPEND(mc, MCHE_NEW_ENC_SESS); + } + + assert(!(packet_in->pi_flags & PI_DECRYPTED)); + prp = conn_decrypt_packet_or(mc, packet_in); + switch (prp) + { + case PRP_KEEP: + break; + case PRP_DROP: + return; + case PRP_ERROR: + mc->mc_flags |= MC_ERROR; + return; + default: + if (mc->mc_n_deferred >= MINI_CONN_MAX_DEFERRED) + { + LSQ_DEBUG("won't defer more than %u packets: drop", + MINI_CONN_MAX_DEFERRED); + return; + } + assert(prp == PRP_DEFER); + assert(packet_in->pi_flags & PI_OWN_DATA); + lsquic_packet_in_upref(packet_in); + TAILQ_INSERT_TAIL(&mc->mc_deferred, packet_in, pi_next); + ++mc->mc_n_deferred; + return; + } + + assert(prp == PRP_KEEP); + process_packet(mc, packet_in); +} + + +static struct lsquic_packet_out * +mini_conn_ci_next_packet_to_send (struct lsquic_conn *lconn, + const struct to_coal *to_coal_UNUSED) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + lsquic_packet_out_t *packet_out; + + assert(NULL == to_coal_UNUSED); + TAILQ_FOREACH(packet_out, &mc->mc_packets_out, po_next) + { + if (packet_out->po_flags & PO_SENT) + continue; + packet_out->po_flags |= PO_SENT; + LSQ_DEBUG("packet_to_send: %"PRIu64, packet_out->po_packno); + return packet_out; + } + return NULL; +} + + +static void +mini_conn_ci_packet_sent (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + mc->mc_sent_packnos |= MCONN_PACKET_MASK(packet_out->po_packno); + if (packet_out->po_frame_types & (1 << QUIC_FRAME_ACK)) + { + assert(mc->mc_flags & MC_UNSENT_ACK); + mc->mc_flags &= ~MC_UNSENT_ACK; + } + LSQ_DEBUG("%s: packet %"PRIu64" sent", __func__, packet_out->po_packno); + MCHIST_APPEND(mc, MCHE_PACKET_SENT); +} + + +static void +mini_conn_ci_packet_not_sent (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + packet_out->po_flags &= ~PO_SENT; + LSQ_DEBUG("%s: packet %"PRIu64" not sent", __func__, packet_out->po_packno); + MCHIST_APPEND(mc, MCHE_PACKET_DELAYED); +} + + +static void +mini_conn_ci_destroy (struct lsquic_conn *lconn) +{ + assert(!(lconn->cn_flags & LSCONN_HASHED)); + struct mini_conn *mc = (struct mini_conn *) lconn; + lsquic_packet_in_t *packet_in; + mconn_packno_set_t still_deferred = 0, in_flight; + enum lsq_log_level log_level; +#if LSQUIC_RECORD_INORD_HIST + char inord_str[0x100]; +#endif + while ((packet_in = TAILQ_FIRST(&mc->mc_packets_in))) + { + TAILQ_REMOVE(&mc->mc_packets_in, packet_in, pi_next); + lsquic_packet_in_put(&mc->mc_enpub->enp_mm, packet_in); + } + while ((packet_in = TAILQ_FIRST(&mc->mc_deferred))) + { + TAILQ_REMOVE(&mc->mc_deferred, packet_in, pi_next); + --mc->mc_n_deferred; + still_deferred |= MCONN_PACKET_MASK(packet_in->pi_packno); + lsquic_packet_in_put(&mc->mc_enpub->enp_mm, packet_in); + } + if (TAILQ_EMPTY(&mc->mc_packets_out)) + in_flight = ~0ull; /* Indicates that packets were dropped before */ + else + in_flight = drop_packets_out(mc); + if (mc->mc_conn.cn_enc_session) + mc->mc_conn.cn_esf.g->esf_destroy(mc->mc_conn.cn_enc_session); + log_level = warning_is_warranted(mc) ? LSQ_LOG_WARN : LSQ_LOG_DEBUG; +#if LSQUIC_RECORD_INORD_HIST + if (LSQ_LOG_ENABLED(log_level)) + inord_to_str(mc, inord_str, sizeof(inord_str)); +#endif +#if LSQUIC_KEEP_MINICONN_HISTORY + const unsigned hist_idx = MCHIST_MASK & mc->mc_hist_idx; + if (MCHE_EMPTY == mc->mc_hist_buf[ hist_idx ]) + LSQ_LOG(log_level, "destroyed. Diagnostics: conn flags: 0x%X, " + "mc flags: 0x%X, " +#if LSQUIC_RECORD_INORD_HIST + "incoming-history (trunc: %d) %s, " +#endif + "received: %"PRIX64", sent: %"PRIX64", lost: %"PRIX64", " + "deferred: %"PRIX64", still-deferred: %"PRIX64", " + "dropped: %"PRIX64", in-flight: %"PRIX64", acked: %"PRIX64", " + "error_code: 0x%X, ticks: %hu, pack size: %hu, " + "lifetime: %"PRIu64" usec, version: %s, " + "mc hist: %.*s", mc->mc_conn.cn_flags, + mc->mc_flags, +#if LSQUIC_RECORD_INORD_HIST + mc->mc_inord_idx >= sizeof(mc->mc_inord_hist) / + sizeof(mc->mc_inord_hist[0]), inord_str, +#endif + mc->mc_received_packnos, mc->mc_sent_packnos, mc->mc_lost_packnos, + mc->mc_deferred_packnos, still_deferred, + mc->mc_dropped_packnos, in_flight, mc->mc_acked_packnos, + mc->mc_error_code, mc->mc_n_ticks, mc->mc_path.np_pack_size, + lsquic_time_now() - mc->mc_created, + lsquic_ver2str[mc->mc_conn.cn_version], + (int) hist_idx, mc->mc_hist_buf); + else + LSQ_LOG(log_level, "destroyed. Diagnostics: conn flags: 0x%X, " + "mc flags: 0x%X, " +#if LSQUIC_RECORD_INORD_HIST + "incoming-history (trunc: %d) %s, " +#endif + "received: %"PRIX64", sent: %"PRIX64", lost: %"PRIX64", " + "deferred: %"PRIX64", still-deferred: %"PRIX64", " + "dropped: %"PRIX64", in-flight: %"PRIX64", acked: %"PRIX64", " + "error_code: 0x%X, ticks: %hu, pack size: %hu, " + "lifetime: %"PRIu64" usec, version: %s, " + "mc hist: %.*s%.*s", mc->mc_conn.cn_flags, + mc->mc_flags, +#if LSQUIC_RECORD_INORD_HIST + mc->mc_inord_idx >= sizeof(mc->mc_inord_hist) / + sizeof(mc->mc_inord_hist[0]), inord_str, +#endif + mc->mc_received_packnos, mc->mc_sent_packnos, mc->mc_lost_packnos, + mc->mc_deferred_packnos, still_deferred, + mc->mc_dropped_packnos, in_flight, mc->mc_acked_packnos, + mc->mc_error_code, mc->mc_n_ticks, mc->mc_path.np_pack_size, + lsquic_time_now() - mc->mc_created, + lsquic_ver2str[mc->mc_conn.cn_version], + (int) (sizeof(mc->mc_hist_buf) - hist_idx), + mc->mc_hist_buf + hist_idx, (int) hist_idx, mc->mc_hist_buf); +#else + if (LSQ_LOG_ENABLED(log_level)) + lsquic_logger_log2(log_level, LSQUIC_LOGGER_MODULE, + LSQUIC_LOG_CONN_ID, + "destroyed. Diagnostics: conn flags: 0x%X, " + "mc flags: 0x%X, " +#if LSQUIC_RECORD_INORD_HIST + "incoming-history (trunc: %d) %s, " +#endif + "received: %"PRIX64", sent: %"PRIX64", lost: %"PRIX64", " + "deferred: %"PRIX64", still-deferred: %"PRIX64", " + "dropped: %"PRIX64", in-flight: %"PRIX64", acked: %"PRIX64", " + "error_code: 0x%X, ticks: %hu, pack size: %hu, " + "lifetime: %"PRIu64" usec", + mc->mc_conn.cn_flags, + mc->mc_flags, +#if LSQUIC_RECORD_INORD_HIST + mc->mc_inord_idx >= sizeof(mc->mc_inord_hist) / + sizeof(mc->mc_inord_hist[0]), inord_str, +#endif + mc->mc_received_packnos, mc->mc_sent_packnos, mc->mc_lost_packnos, + mc->mc_deferred_packnos, still_deferred, + mc->mc_dropped_packnos, in_flight, mc->mc_acked_packnos, + mc->mc_error_code, mc->mc_n_ticks, mc->mc_path.np_pack_size, + lsquic_time_now() - mc->mc_created); +#endif + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "mini connection destroyed"); + lsquic_malo_put(mc); +} + + +static struct lsquic_engine * +mini_conn_ci_get_engine (struct lsquic_conn *lconn) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + return mc->mc_enpub->enp_engine; +} + + +static void +mini_conn_ci_hsk_done (struct lsquic_conn *lconn, enum lsquic_hsk_status status) +{ + assert(0); +} + + +/* A mini connection is only tickable if it has unsent packets. This can + * occur when packet sending is delayed. + * + * Otherwise, a mini connection is not tickable: Either there are incoming + * packets, in which case, the connection is going to be ticked, or there is + * an alarm pending, in which case it will be handled via the attq. + */ +static int +mini_conn_ci_is_tickable (struct lsquic_conn *lconn) +{ + struct mini_conn *const mc = (struct mini_conn *) lconn; + const struct lsquic_packet_out *packet_out; + + if (mc->mc_enpub->enp_flags & ENPUB_CAN_SEND) + TAILQ_FOREACH(packet_out, &mc->mc_packets_out, po_next) + if (!(packet_out->po_flags & PO_SENT)) + return 1; + + return 0; +} + + +static lsquic_time_t +mini_conn_ci_next_tick_time (struct lsquic_conn *lconn, unsigned *why) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + lsquic_packet_out_t *packet_out; + lsquic_time_t exp_time, retx_time; + + exp_time = mc->mc_created + mc->mc_enpub->enp_settings.es_handshake_to; + + TAILQ_FOREACH(packet_out, &mc->mc_packets_out, po_next) + if (packet_out->po_flags & PO_SENT) + { + retx_time = packet_out->po_sent + calc_retx_timeout(mc); + if (retx_time < exp_time) + { + *why = N_AEWS + AL_RETX_HSK; + return retx_time; + } + else + { + *why = AEW_MINI_EXPIRE; + return exp_time; + } + } + + *why = AEW_MINI_EXPIRE; + return exp_time; +} + + +static void +mini_conn_ci_client_call_on_new (struct lsquic_conn *lconn) +{ + assert(0); +} + + +static void +mini_conn_ci_internal_error (struct lsquic_conn *lconn, + const char *format, ...) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + LSQ_INFO("internal error reported"); + mc->mc_flags |= MC_ERROR; +} + + +/* This function should not be called, as this is specific to IETF QUIC */ +static void +mini_conn_ci_abort_error (struct lsquic_conn *lconn, int is_app, + unsigned error_code, const char *fmt, ...) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + assert(0); + LSQ_WARN("(GQUIC) abort error is called unexpectedly"); + mc->mc_flags |= MC_ERROR; +} + + +static void +mini_conn_ci_tls_alert (struct lsquic_conn *lconn, uint8_t alert) +{ + assert(0); +} + + +static unsigned char +mini_conn_ci_record_addrs (struct lsquic_conn *lconn, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + struct lsquic_packet_out *packet_out; + size_t len; + + + if (NP_IS_IPv6(&mc->mc_path) != (AF_INET6 == peer_sa->sa_family)) + TAILQ_FOREACH(packet_out, &mc->mc_packets_out, po_next) + if ((packet_out->po_flags & (PO_SENT|PO_ENCRYPTED)) == PO_ENCRYPTED) + return_enc_data(mc, packet_out); + + len = local_sa->sa_family == AF_INET ? sizeof(struct sockaddr_in) + : sizeof(struct sockaddr_in6); + + memcpy(mc->mc_path.np_peer_addr, peer_sa, len); + memcpy(mc->mc_path.np_local_addr, local_sa, len); + mc->mc_path.np_peer_ctx = peer_ctx; + return 0; +} + + +static struct network_path * +mini_conn_ci_get_path (struct lsquic_conn *lconn, const struct sockaddr *sa) +{ + struct mini_conn *mc = (struct mini_conn *) lconn; + + return &mc->mc_path; +} + + +static const struct conn_iface mini_conn_iface_standard = { + .ci_abort_error = mini_conn_ci_abort_error, + .ci_client_call_on_new = mini_conn_ci_client_call_on_new, + .ci_destroy = mini_conn_ci_destroy, + .ci_get_engine = mini_conn_ci_get_engine, + .ci_get_path = mini_conn_ci_get_path, + .ci_hsk_done = mini_conn_ci_hsk_done, + .ci_internal_error = mini_conn_ci_internal_error, + .ci_is_tickable = mini_conn_ci_is_tickable, + .ci_next_packet_to_send = mini_conn_ci_next_packet_to_send, + .ci_next_tick_time = mini_conn_ci_next_tick_time, + .ci_packet_in = mini_conn_ci_packet_in, + .ci_packet_not_sent = mini_conn_ci_packet_not_sent, + .ci_packet_sent = mini_conn_ci_packet_sent, + .ci_record_addrs = mini_conn_ci_record_addrs, + .ci_tick = mini_conn_ci_tick, + .ci_tls_alert = mini_conn_ci_tls_alert, +}; + + +static const struct conn_iface mini_conn_iface_standard_Q050 = { + .ci_abort_error = mini_conn_ci_abort_error, + .ci_client_call_on_new = mini_conn_ci_client_call_on_new, + .ci_destroy = mini_conn_ci_destroy, + .ci_get_engine = mini_conn_ci_get_engine, + .ci_get_path = mini_conn_ci_get_path, + .ci_hsk_done = mini_conn_ci_hsk_done, + .ci_internal_error = mini_conn_ci_internal_error, + .ci_is_tickable = mini_conn_ci_is_tickable, + .ci_next_packet_to_send = mini_conn_ci_next_packet_to_send, + .ci_next_tick_time = mini_conn_ci_next_tick_time, + .ci_packet_in = mini_conn_ci_Q050_packet_in, + .ci_packet_not_sent = mini_conn_ci_packet_not_sent, + .ci_packet_sent = mini_conn_ci_packet_sent, + .ci_record_addrs = mini_conn_ci_record_addrs, + .ci_tick = mini_conn_ci_tick, + .ci_tls_alert = mini_conn_ci_tls_alert, +}; + + +typedef char largest_recv_holds_at_least_16_seconds[ + ((1 << (sizeof(((struct mini_conn *) 0)->mc_largest_recv) * 8)) / 1000000 + >= 16) ? 1 : -1]; + +typedef char max_lifespan_smaller_than_largest_recv[ + ((1 << (sizeof(((struct mini_conn *) 0)->mc_largest_recv) * 8)) > + MAX_MINI_CONN_LIFESPAN_IN_USEC) ? 1 : -1]; diff --git a/external/lsquic/src/liblsquic/lsquic_mini_conn.h b/external/lsquic/src/liblsquic/lsquic_mini_conn.h new file mode 100644 index 0000000..80334ad --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_mini_conn.h @@ -0,0 +1,159 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_mini_conn.h -- Mini-connection + * + * Before a connection is established, the server keeps a "mini" connection + * object where it keeps track of stream 1 offsets and so on. + */ + +#ifndef LSQUIC_MINI_CONN_H +#define LSQUIC_MINI_CONN_H + +#include +#include + +#define MAX_MINI_CONN_LIFESPAN_IN_USEC \ + ((1 << (sizeof(((struct mini_conn *) 0)->mc_largest_recv) * 8)) - 1) + +struct lsquic_packet_in; +struct lsquic_packet_out; +struct lsquic_engine_public; + +#ifndef LSQUIC_KEEP_MINICONN_HISTORY +# if !defined(NDEBUG) && !defined(_MSC_VER) +# define LSQUIC_KEEP_MINICONN_HISTORY 1 +# else +# define LSQUIC_KEEP_MINICONN_HISTORY 0 +# endif +#endif + +#if LSQUIC_KEEP_MINICONN_HISTORY + +#define MCHIST_BITS 4 +#define MCHIST_MASK ((1 << MCHIST_BITS) - 1) +typedef unsigned char mchist_idx_t; + +enum miniconn_history_event +{ + MCHE_EMPTY = '\0', + MCHE_PLUS = '+', + MCHE_HANDLE_1RTT = '1', + MCHE_HANDLE_SREJ = '2', + MCHE_PACKET2LARGE_IN = 'a', + MCHE_CONN_CLOSE = 'c', + MCHE_CREATED = 'C', + MCHE_2HSK_1STREAM = 'd', + MCHE_DUP_HSK = 'D', + MCHE_HANDLE_ERROR = 'e', + MCHE_EFRAME = 'f', + MCHE_UNDECR_DEFER = 'F', + MCHE_HANDLE_NOT_ENOUGH = 'g', + MCHE_NEW_HSK = 'H', + MCHE_INVALID_FRAME = 'I', + MCHE_DECRYPTED = 'K', + MCHE_PACKET_LOST = 'L', + MCHE_HELLO_TOO_MUCH = 'm', + MCHE_ENOMEM = 'M', + MCHE_NEW_PACKET_OUT = 'N', + MCHE_HELLO_HOLE = 'o', + MCHE_PACKET_DUP_IN = 'p', + MCHE_UNDECR_DROP = 'P', + MCHE_PRST_IN = 'R', + MCHE_HANDLE_SHLO = 's', + MCHE_NEW_ENC_SESS = 'S', + MCHE_PACKET_SENT = 'T', + MCHE_HAHDLE_UNKNOWN = 'u', + MCHE_UNSENT_ACKED = 'U', + MCHE_HANDLE_DELAYED = 'y', + MCHE_PACKET_DELAYED = 'Y', + MCHE_PACKET0_IN = 'z', + MCHE_OUT_OF_PACKNOS = '#', +}; + +#endif + +#ifndef LSQUIC_RECORD_INORD_HIST +# if __GNUC__ +# define LSQUIC_RECORD_INORD_HIST 1 +# else +# define LSQUIC_RECORD_INORD_HIST 0 +# endif +#endif + +typedef uint64_t mconn_packno_set_t; + +#define MINICONN_MAX_PACKETS (sizeof(mconn_packno_set_t) * 8) + +TAILQ_HEAD(head_packet_in, lsquic_packet_in); + +struct mini_conn { + struct lsquic_conn mc_conn; + struct conn_cid_elem mc_cces[1]; + struct head_packet_in mc_deferred, + mc_packets_in; + TAILQ_HEAD(, lsquic_packet_out) + mc_packets_out; + struct lsquic_engine_public + *mc_enpub; + lsquic_time_t mc_created; + struct lsquic_rtt_stats + mc_rtt_stats; + mconn_packno_set_t mc_received_packnos, + mc_sent_packnos, + mc_deferred_packnos, /* Informational */ + mc_dropped_packnos, /* Informational */ + mc_lost_packnos, /* Packets that were deemed lost */ /* Informational */ + mc_acked_packnos; +#if LSQUIC_RECORD_INORD_HIST + unsigned long long mc_inord_hist[2]; /* Informational */ +#endif + uint32_t mc_error_code; /* From CONNECTION_CLOSE frame */ /* Informational */ + unsigned short mc_n_ticks; /* Number of times mini conn ticked. */ /* Informational */ + unsigned short mc_read_off, /* Read offset for stream 1 */ + mc_write_off;/* Write offset for stream 1 */ + unsigned char mc_max_ack_packno, + mc_cutoff, + mc_cur_packno; + unsigned char mc_hsk_count; +#define MINI_CONN_MAX_DEFERRED 10 + unsigned char mc_n_deferred; +#if LSQUIC_RECORD_INORD_HIST + unsigned char mc_inord_idx; +#endif + /* mc_largest_recv is the timestamp of when packet with the largest + * number was received; it is necessary to generate ACK frames. 24 + * bits holds about 16.5 seconds worth of microseconds, which is + * larger than the maximum amount of time a mini connection object + * is allowed to live. To get the timestamp, add this value to + * mc_created. + */ + unsigned char mc_largest_recv[3]; + enum { + MC_HAVE_NEW_HSK = (1 << 0), + MC_PROMOTE = (1 << 1), + MC_HAVE_SHLO = (1 << 2), + MC_WR_OFF_RESET = (1 << 3), + MC_ERROR = (1 << 4), + MC_UNSENT_ACK = (1 << 5), + MC_GEN_ACK = (1 << 6), + MC_HSK_ERR = (1 << 7), + MC_OO_PACKNOS = (1 << 8), + MC_STOP_WAIT_ON = (1 << 9), + } mc_flags:16; + struct network_path mc_path; +#if LSQUIC_KEEP_MINICONN_HISTORY + mchist_idx_t mc_hist_idx; + unsigned char mc_hist_buf[1 << MCHIST_BITS]; +#endif +}; + +lsquic_conn_t * +lsquic_mini_conn_new (struct lsquic_engine_public *, + const struct lsquic_packet_in *, enum lsquic_version version); + +/* Packet numbers start with 1. By subtracting 1, we can utilize the full + * length of the bitmask. + */ +#define MCONN_PACKET_MASK(packno) (1ULL << (packno - 1)) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_mini_conn_ietf.c b/external/lsquic/src/liblsquic/lsquic_mini_conn_ietf.c new file mode 100644 index 0000000..f052387 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_mini_conn_ietf.c @@ -0,0 +1,2500 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_mini_conn_ietf.c -- Mini connection used by the IETF QUIC + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_sizes.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_mm.h" +#include "lsquic_malo.h" +#include "lsquic_engine_public.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_rtt.h" +#include "lsquic_util.h" +#include "lsquic_enc_sess.h" +#include "lsquic_trechist.h" +#include "lsquic_mini_conn_ietf.h" +#include "lsquic_ev_log.h" +#include "lsquic_trans_params.h" +#include "lsquic_ietf.h" +#include "lsquic_packet_ietf.h" +#include "lsquic_attq.h" +#include "lsquic_alarmset.h" +#include "lsquic_crand.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_MINI_CONN +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(&conn->imc_conn) +#include "lsquic_logger.h" + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +static const struct conn_iface mini_conn_ietf_iface; + +static unsigned highest_bit_set (unsigned long long); + +static void +ietf_mini_conn_ci_abort_error (struct lsquic_conn *lconn, int is_app, + unsigned error_code, const char *fmt, ...); + +static const enum header_type el2hety[] = +{ + [ENC_LEV_HSK] = HETY_HANDSHAKE, + [ENC_LEV_INIT] = HETY_INITIAL, + [ENC_LEV_APP] = HETY_SHORT, + [ENC_LEV_0RTT] = 0, /* Invalid */ +}; + + +static inline void +imico_destroy_packet (struct ietf_mini_conn *conn, + struct lsquic_packet_out *packet_out) +{ + lsquic_packet_out_destroy(packet_out, conn->imc_enpub, + conn->imc_path.np_peer_ctx); +} + + +int +lsquic_mini_conn_ietf_ecn_ok (const struct ietf_mini_conn *conn) +{ + packno_set_t acked; + + /* First flight has only Initial and Handshake packets */ + acked = conn->imc_acked_packnos[PNS_INIT] + | conn->imc_acked_packnos[PNS_HSK] + ; + return 0 != (conn->imc_ecn_packnos & acked); +} + + +static inline enum ecn +imico_get_ecn (struct ietf_mini_conn *conn) +{ + if (!conn->imc_enpub->enp_settings.es_ecn) + return ECN_NOT_ECT; + else + return ECN_ECT0; +} + + +static struct lsquic_packet_out * +imico_get_packet_out (struct ietf_mini_conn *conn, + enum header_type header_type, size_t need) +{ + struct lsquic_packet_out *packet_out; + enum ecn ecn; + + if (need) + TAILQ_FOREACH(packet_out, &conn->imc_packets_out, po_next) + if (!(packet_out->po_flags & PO_SENT) + && packet_out->po_header_type == header_type + && lsquic_packet_out_avail(packet_out) >= need) + return packet_out; + + if (conn->imc_next_packno >= MAX_PACKETS) + { + LSQ_DEBUG("ran out of outgoing packet numbers, won't allocate packet"); + return NULL; + } + + packet_out = lsquic_packet_out_new(&conn->imc_enpub->enp_mm, NULL, 1, + &conn->imc_conn, IQUIC_PACKNO_LEN_1, NULL, NULL, &conn->imc_path, + header_type); + if (!packet_out) + { + LSQ_WARN("could not allocate packet: %s", strerror(errno)); + return NULL; + } + + packet_out->po_header_type = header_type; + packet_out->po_packno = conn->imc_next_packno++; + packet_out->po_flags |= PO_MINI; + lsquic_packet_out_set_pns(packet_out, lsquic_hety2pns[header_type]); + ecn = imico_get_ecn(conn); + packet_out->po_lflags |= ecn << POECN_SHIFT; + TAILQ_INSERT_TAIL(&conn->imc_packets_out, packet_out, po_next); + packet_out->po_loss_chain = packet_out; + return packet_out; +} + + +static inline struct ietf_mini_conn * +cryst_get_conn (const struct mini_crypto_stream *cryst) +{ + return (void *) + ((unsigned char *) (cryst - cryst->mcs_enc_level) + - offsetof(struct ietf_mini_conn, imc_streams)); +} + + +struct msg_ctx +{ + const unsigned char *buf; + const unsigned char *const end; +}; + + +static size_t +read_from_msg_ctx (void *ctx, void *buf, size_t len, int *fin) +{ + struct msg_ctx *msg_ctx = ctx; + if (len > (uintptr_t) (msg_ctx->end - msg_ctx->buf)) + len = msg_ctx->end - msg_ctx->buf; + memcpy(buf, msg_ctx->buf, len); + msg_ctx->buf += len; + return len; +} + + +static inline int +imico_chlo_has_been_consumed (const struct ietf_mini_conn *conn) +{ + return conn->imc_streams[ENC_LEV_INIT].mcs_read_off > 3 + && conn->imc_streams[ENC_LEV_INIT].mcs_read_off >= conn->imc_ch_len; +} + + +static int +imico_process_version_negociation (struct ietf_mini_conn *conn, + const struct transport_params *params) +{ + unsigned common_versions; + unsigned ver; + int i; + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + LSQ_DEBUG("client chosen version %s", + lsquic_ver2str[params->tp_chosen_version]); + for (i = 1; i < params->tp_version_cnt; ++i) + { + LSQ_DEBUG("client available version %s", + lsquic_ver2str[params->tp_version_info[i]]); + //EV_LOG_VER_NEG(LSQUIC_LOG_CONN_ID, "supports", + // lsquic_ver2str[params->tp_version_info[i]]); + } + } + if (params->tp_chosen_version != conn->imc_conn.cn_version) + { + LSQ_DEBUG("client chosen version does not match the version in use %s", + lsquic_ver2str[conn->imc_conn.cn_version]); + ietf_mini_conn_ci_abort_error(&conn->imc_conn, 0, + TEC_VERSION_NEGOTIATION_ERROR, + "chosen version mismatch"); + return -1; + } + common_versions = conn->imc_enpub->enp_settings.es_versions + & params->tp_versions; + ver = highest_bit_set(common_versions); + if (conn->imc_conn.cn_version != (enum lsquic_version)ver) + { + LSQ_DEBUG("version negociation: switch version from %s to %s", + lsquic_ver2str[conn->imc_conn.cn_version], + lsquic_ver2str[ver]); + conn->imc_conn.cn_version = ver; + conn->imc_conn.cn_flags |= LSCONN_VER_UPDATED; + iquic_esfi_switch_version(conn->imc_conn.cn_enc_session, + &conn->imc_cces[0].cce_cid, 1); + } + + return 0; +} + + +static int +imico_maybe_process_params (struct ietf_mini_conn *conn) +{ + const struct transport_params *params; + + if (imico_chlo_has_been_consumed(conn) + && (conn->imc_flags & (IMC_ENC_SESS_INITED|IMC_HAVE_TP)) + == IMC_ENC_SESS_INITED) + { + params = conn->imc_conn.cn_esf.i->esfi_get_peer_transport_params( + conn->imc_conn.cn_enc_session); + if (params) + { + conn->imc_flags |= IMC_HAVE_TP; + conn->imc_ack_exp = params->tp_ack_delay_exponent; + if (params->tp_set & (1 << TPI_MAX_UDP_PAYLOAD_SIZE)) + { + if (params->tp_numerics[TPI_MAX_UDP_PAYLOAD_SIZE] + < conn->imc_path.np_pack_size) + conn->imc_path.np_pack_size = + params->tp_numerics[TPI_MAX_UDP_PAYLOAD_SIZE]; + } + LSQ_DEBUG("read transport params, packet size is set to %hu bytes", + conn->imc_path.np_pack_size); + if (params->tp_set & (1 << TPI_VERSION_INFORMATION)) + { + if (imico_process_version_negociation(conn, params) == -1) + { + conn->imc_flags |= IMC_VER_NEG_FAILED; + return -1; + } + } + iquic_esfi_init_server_tp(conn->imc_conn.cn_enc_session); + } + else + { + conn->imc_flags |= IMC_BAD_TRANS_PARAMS; + return -1; + } + } + + return 0; +} + + +static inline void +imico_zero_pad (struct lsquic_packet_out *packet_out, size_t pad_size) +{ + memset(packet_out->po_data + packet_out->po_data_sz, 0, pad_size); + packet_out->po_padding_sz = pad_size; + packet_out->po_data_sz += pad_size; + packet_out->po_frame_types |= QUIC_FTBIT_PADDING; +} + + +static int +imico_generate_ack (struct ietf_mini_conn *conn, enum packnum_space pns, + lsquic_time_t now); + +static ssize_t +imico_stream_write (void *stream, const void *bufp, size_t bufsz) +{ + struct mini_crypto_stream *const cryst = stream; + struct ietf_mini_conn *const conn = cryst_get_conn(cryst); + struct lsquic_conn *const lconn = &conn->imc_conn; + const struct parse_funcs *const pf = lconn->cn_pf; + struct msg_ctx msg_ctx = { bufp, (unsigned char *) bufp + bufsz, }; + struct lsquic_packet_out *packet_out; + size_t header_sz, need; + const unsigned char *p; + int len; + + if (0 != imico_maybe_process_params(conn)) + return -1; + + if (PNS_INIT == lsquic_enclev2pns[ cryst->mcs_enc_level ] + && (conn->imc_flags & IMC_IGNORE_INIT)) + { + LSQ_WARN("trying to write at the ignored Initial level"); + return bufsz; + } + + if (cryst->mcs_enc_level == ENC_LEV_INIT + && (conn->imc_flags & IMC_QUEUED_ACK_INIT)) + { + imico_generate_ack(conn, PNS_INIT, lsquic_time_now()); + } + + while (msg_ctx.buf < msg_ctx.end) + { + header_sz = lconn->cn_pf->pf_calc_crypto_frame_header_sz( + cryst->mcs_write_off, msg_ctx.end - msg_ctx.buf); + need = header_sz + 500; + packet_out = imico_get_packet_out(conn, + el2hety[ cryst->mcs_enc_level ], need); + if (!packet_out) + return -1; + // NOTE: reduce the size of first crypto frame to combine packets + unsigned avail = lsquic_packet_out_avail(packet_out); + int coalescing = 0; + if (cryst->mcs_enc_level == ENC_LEV_HSK + && cryst->mcs_write_off == 0 + && avail > (unsigned)conn->imc_hello_pkt_remain - conn->imc_long_header_sz) + { + avail = conn->imc_hello_pkt_remain - conn->imc_long_header_sz; + conn->imc_hello_pkt_remain = 0; + coalescing = 1; + } + p = msg_ctx.buf; + len = pf->pf_gen_crypto_frame(packet_out->po_data + packet_out->po_data_sz, + avail, 0, cryst->mcs_write_off, 0, + msg_ctx.end - msg_ctx.buf, read_from_msg_ctx, &msg_ctx); + if (len < 0) + return len; + EV_LOG_GENERATED_CRYPTO_FRAME(LSQUIC_LOG_CONN_ID, pf, + packet_out->po_data + packet_out->po_data_sz, len); + packet_out->po_data_sz += len; + packet_out->po_frame_types |= 1 << QUIC_FRAME_CRYPTO; + packet_out->po_flags |= PO_HELLO; + if (coalescing && len < (int)avail) + { + LSQ_DEBUG("generated PADDING frame: %d bytes for packet %"PRIu64, + avail - len, packet_out->po_packno); + imico_zero_pad(packet_out, avail - len); + } + cryst->mcs_write_off += msg_ctx.buf - p; + if (cryst->mcs_enc_level == ENC_LEV_INIT) + conn->imc_hello_pkt_remain = lsquic_packet_out_avail(packet_out); + } + + assert(msg_ctx.buf == msg_ctx.end); + return bufsz; +} + + +static int +imico_stream_flush (void *stream) +{ + return 0; +} + + +static struct stream_frame * +imico_find_stream_frame (const struct ietf_mini_conn *conn, + enum enc_level enc_level, unsigned read_off) +{ + struct stream_frame *frame; + + if (conn->imc_last_in.frame && enc_level == conn->imc_last_in.enc_level + && read_off == DF_ROFF(conn->imc_last_in.frame)) + return conn->imc_last_in.frame; + + TAILQ_FOREACH(frame, &conn->imc_crypto_frames, next_frame) + if (enc_level == frame->stream_id && read_off == DF_ROFF(frame)) + return frame; + + return NULL; +} + + +static void +imico_read_chlo_size (struct ietf_mini_conn *conn, const unsigned char *buf, + size_t sz) +{ + const unsigned char *const end = buf + sz; + + assert(conn->imc_streams[ENC_LEV_INIT].mcs_read_off < 4); + switch (conn->imc_streams[ENC_LEV_INIT].mcs_read_off) + { + case 0: + if (buf == end) + return; + if (*buf != 1) + { + LSQ_DEBUG("Does not begin with ClientHello"); + conn->imc_flags |= IMC_ERROR; + return; + } + ++buf; + /* fall-through */ + case 1: + if (buf == end) + return; + if (*buf != 0) + { + LSQ_DEBUG("ClientHello larger than 16K"); + conn->imc_flags |= IMC_ERROR; + return; + } + ++buf; + /* fall-through */ + case 2: + if (buf == end) + return; + conn->imc_ch_len = *buf << 8; + ++buf; + /* fall-through */ + default: + if (buf == end) + return; + conn->imc_ch_len |= *buf; + } +} + + +static ssize_t +imico_stream_readf (void *stream, + size_t (*readf)(void *, const unsigned char *, size_t, int), void *ctx) +{ + struct mini_crypto_stream *const cryst = stream; + struct ietf_mini_conn *const conn = cryst_get_conn(cryst); + struct stream_frame *frame; + const unsigned char *buf; + size_t nread, total_read; + unsigned avail; + + total_read = 0; + while ((frame = imico_find_stream_frame(conn, cryst->mcs_enc_level, + cryst->mcs_read_off))) + { + avail = DF_SIZE(frame) - frame->data_frame.df_read_off; + buf = frame->data_frame.df_data + frame->data_frame.df_read_off; + nread = readf(ctx, buf, avail, DF_FIN(frame)); + if (cryst->mcs_enc_level == ENC_LEV_INIT && cryst->mcs_read_off < 4) + imico_read_chlo_size(conn, buf, nread); + total_read += nread; + cryst->mcs_read_off += nread; + frame->data_frame.df_read_off += nread; + LSQ_DEBUG("read %zu bytes at offset %"PRIu64" on enc level %u", nread, + DF_ROFF(frame), cryst->mcs_enc_level); + if (DF_END(frame) == DF_ROFF(frame)) + { + if (frame == conn->imc_last_in.frame) + conn->imc_last_in.frame = NULL; + else + { + TAILQ_REMOVE(&conn->imc_crypto_frames, frame, next_frame); + --conn->imc_n_crypto_frames; + conn->imc_crypto_frames_sz -= DF_SIZE(frame); + lsquic_packet_in_put(&conn->imc_enpub->enp_mm, + frame->packet_in); + lsquic_malo_put(frame); + } + } + if (nread < avail) + break; + } + + if (total_read > 0) + return total_read; + else + { + /* CRYPTO streams never end, so zero bytes read always means + * EWOULDBLOCK + */ + errno = EWOULDBLOCK; + return -1; + } +} + + +static inline int +imico_stream_wantX (struct mini_crypto_stream *cryst, int bit, int is_want) +{ + int old; + + old = (cryst->mcs_flags & (1 << bit)) > 0; + cryst->mcs_flags &= ~(1 << bit); + cryst->mcs_flags |= !!is_want << bit; + return old; +} + + +static int +imico_stream_wantwrite (void *stream, int is_want) +{ + return imico_stream_wantX(stream, MCSBIT_WANTWRITE, is_want); +} + + +static int +imico_stream_wantread (void *stream, int is_want) +{ + return imico_stream_wantX(stream, MCSBIT_WANTREAD, is_want); +} + + +static enum enc_level +imico_stream_enc_level (void *stream) +{ + struct mini_crypto_stream *const cryst = stream; + return cryst->mcs_enc_level; +} + + +static const struct crypto_stream_if crypto_stream_if = +{ + .csi_write = imico_stream_write, + .csi_flush = imico_stream_flush, + .csi_readf = imico_stream_readf, + .csi_wantwrite = imico_stream_wantwrite, + .csi_wantread = imico_stream_wantread, + .csi_enc_level = imico_stream_enc_level, +}; + + +static inline int +is_first_packet_ok (const struct lsquic_packet_in *packet_in, + size_t udp_payload_size) +{ + if (udp_payload_size < IQUIC_MIN_INIT_PACKET_SZ) + { + /* [draft-ietf-quic-transport-24] Section 14 */ + LSQ_LOG1(LSQ_LOG_DEBUG, "incoming UDP payload too small: %zu bytes", + udp_payload_size); + return 0; + } + /* TODO: Move decryption of the first packet into this function? */ + return 1; /* TODO */ +} + + +static inline void +imico_peer_addr_validated (struct ietf_mini_conn *conn, const char *how) +{ + if (!(conn->imc_flags & IMC_ADDR_VALIDATED)) + { + conn->imc_flags |= IMC_ADDR_VALIDATED; + LSQ_DEBUG("peer address validated (%s)", how); + } +} + + +struct lsquic_conn * +lsquic_mini_conn_ietf_new (struct lsquic_engine_public *enpub, + struct lsquic_packet_in *packet_in, + enum lsquic_version version, int is_ipv4, const lsquic_cid_t *odcid, + size_t udp_payload_size) +{ + struct ietf_mini_conn *conn; + enc_session_t *enc_sess; + enum enc_level i; + const struct enc_session_funcs_iquic *esfi; + unsigned char rand_nybble; + + if (!is_first_packet_ok(packet_in, udp_payload_size)) + return NULL; + packet_in->pi_flags |= PI_FIRST_INIT; + conn = lsquic_malo_get(enpub->enp_mm.malo.mini_conn_ietf); + if (!conn) + { + LSQ_LOG1(LSQ_LOG_WARN, "cannot allocate mini connection: %s", + strerror(errno)); + return NULL; + } + memset(conn, 0, sizeof(*conn)); + conn->imc_conn.cn_if = &mini_conn_ietf_iface; + conn->imc_conn.cn_cces = conn->imc_cces; + conn->imc_conn.cn_n_cces = sizeof(conn->imc_cces) + / sizeof(conn->imc_cces[0]); + conn->imc_cces[0].cce_cid = packet_in->pi_dcid; + conn->imc_cces[0].cce_flags = CCE_USED | CCE_REG; + conn->imc_conn.cn_cces_mask = 1; + lsquic_scid_from_packet_in(packet_in, &conn->imc_path.np_dcid); + /* Generate new SCID. Since is not the original SCID, it is given + * a sequence number (0) and therefore can be retired by the client. + */ + conn->imc_conn.cn_cces[1].cce_cid.len = enpub->enp_settings.es_scid_len; + enpub->enp_generate_scid(enpub->enp_gen_scid_ctx, &conn->imc_conn, + conn->imc_conn.cn_cces[1].cce_cid.buf, enpub->enp_settings.es_scid_len); + + if (conn->imc_path.np_dcid.len) + conn->imc_conn.cn_logid = conn->imc_path.np_dcid; + else + conn->imc_conn.cn_logid = conn->imc_conn.cn_cces[1].cce_cid; + + LSQ_DEBUGC("recv SCID from client %"CID_FMT, CID_BITS(&conn->imc_cces[0].cce_cid)); + LSQ_DEBUGC("recv DCID from client %"CID_FMT, CID_BITS(&conn->imc_path.np_dcid)); + LSQ_DEBUGC("generated SCID %"CID_FMT" at index %u, switching to it", + CID_BITS(&conn->imc_conn.cn_cces[1].cce_cid), 1); + conn->imc_conn.cn_cces[1].cce_flags = CCE_SEQNO | CCE_USED; + conn->imc_conn.cn_cces_mask |= 1u << 1; + conn->imc_conn.cn_cur_cce_idx = 1; + + conn->imc_conn.cn_flags = LSCONN_MINI|LSCONN_IETF|LSCONN_SERVER; + conn->imc_conn.cn_version = version; + + for (i = 0; i < N_ENC_LEVS; ++i) + { + conn->imc_streams[i].mcs_enc_level = i; + conn->imc_stream_ps[i] = &conn->imc_streams[i]; + } + + rand_nybble = lsquic_crand_get_nybble(enpub->enp_crand); + if (rand_nybble == 0) + { + /* Use trechist for about one out of every sixteen connections so + * that the code does not grow stale. + */ + LSQ_DEBUG("using trechist"); + conn->imc_flags |= IMC_TRECHIST; + conn->imc_recvd_packnos.trechist.hist_elems + = malloc(TRECHIST_SIZE * IMICO_N_PNS); + if (!conn->imc_recvd_packnos.trechist.hist_elems) + { + LSQ_WARN("cannot allocate trechist elems"); + return NULL; + } + } + + esfi = &lsquic_enc_session_iquic_ietf_v1; + if (version > LSQVER_ID27) + enc_sess = esfi->esfi_create_server(enpub, &conn->imc_conn, + &packet_in->pi_dcid, conn->imc_stream_ps, &crypto_stream_if, + odcid ? odcid : &conn->imc_cces[0].cce_cid, + &conn->imc_path.np_dcid, + odcid ? &conn->imc_cces[0].cce_cid : NULL); + else + enc_sess = esfi->esfi_create_server(enpub, &conn->imc_conn, + &packet_in->pi_dcid, conn->imc_stream_ps, &crypto_stream_if, + odcid, &conn->imc_path.np_dcid, NULL); + if (!enc_sess) + { + lsquic_malo_put(conn); + return NULL; + } + + conn->imc_enpub = enpub; + conn->imc_expire = packet_in->pi_received + + enpub->enp_settings.es_handshake_to; + if (enpub->enp_settings.es_base_plpmtu) + conn->imc_path.np_pack_size = enpub->enp_settings.es_base_plpmtu; + else if (is_ipv4) + conn->imc_path.np_pack_size = IQUIC_MAX_IPv4_PACKET_SZ; + else + conn->imc_path.np_pack_size = IQUIC_MAX_IPv6_PACKET_SZ; + conn->imc_conn.cn_pf = select_pf_by_ver(version); + conn->imc_conn.cn_esf.i = esfi; + conn->imc_conn.cn_enc_session = enc_sess; + conn->imc_conn.cn_esf_c = &lsquic_enc_session_common_ietf_v1; + TAILQ_INIT(&conn->imc_packets_out); + TAILQ_INIT(&conn->imc_app_packets); + TAILQ_INIT(&conn->imc_crypto_frames); + if (odcid) + imico_peer_addr_validated(conn, "odcid"); +#if LSQUIC_DEVEL + { + const char *const s = getenv("LSQUIC_LOSE_0RTT"); + if (s && atoi(s)) + { + LSQ_DEBUG("will lose 0-RTT packets (via env variable)"); + conn->imc_delayed_packets_count = UCHAR_MAX; + } + } +#endif + + conn->imc_long_header_sz = 1 /* Type */ + + 4 /* Version */ + + 1 /* DCIL */ + + conn->imc_path.np_dcid.len + + 1 /* SCIL */ + + CN_SCID(&conn->imc_conn)->len + + 0 /* HSK packet by server has no token */ + + 2 /* Always use two bytes to encode payload length */ + + 1 /* mini conn packet number < 256 */ + + IQUIC_TAG_LEN + ; + conn->imc_hello_pkt_remain = conn->imc_path.np_pack_size + - conn->imc_long_header_sz - 1 /* token len */; + + LSQ_DEBUG("created mini connection object %p; max packet size=%hu", + conn, conn->imc_path.np_pack_size); + return &conn->imc_conn; +} + + +static void +ietf_mini_conn_ci_client_call_on_new (struct lsquic_conn *lconn) +{ + assert(0); +} + + +static void +ietf_mini_conn_ci_destroy (struct lsquic_conn *lconn) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + struct lsquic_packet_out *packet_out; + struct lsquic_packet_in *packet_in; + struct stream_frame *frame; + + while ((packet_out = TAILQ_FIRST(&conn->imc_packets_out))) + { + TAILQ_REMOVE(&conn->imc_packets_out, packet_out, po_next); + imico_destroy_packet(conn, packet_out); + } + while ((packet_in = TAILQ_FIRST(&conn->imc_app_packets))) + { + TAILQ_REMOVE(&conn->imc_app_packets, packet_in, pi_next); + lsquic_packet_in_put(&conn->imc_enpub->enp_mm, packet_in); + } + while ((frame = TAILQ_FIRST(&conn->imc_crypto_frames))) + { + TAILQ_REMOVE(&conn->imc_crypto_frames, frame, next_frame); + lsquic_packet_in_put(&conn->imc_enpub->enp_mm, frame->packet_in); + lsquic_malo_put(frame); + } + if (lconn->cn_enc_session) + lconn->cn_esf.i->esfi_destroy(lconn->cn_enc_session); + LSQ_DEBUG("ietf_mini_conn_ci_destroyed"); + if (conn->imc_flags & IMC_TRECHIST) + free(conn->imc_recvd_packnos.trechist.hist_elems); + lsquic_malo_put(conn); +} + + +static struct lsquic_engine * +ietf_mini_conn_ci_get_engine (struct lsquic_conn *lconn) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + return conn->imc_enpub->enp_engine; +} + + +static void +ietf_mini_conn_ci_hsk_done (struct lsquic_conn *lconn, + enum lsquic_hsk_status status) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + + switch (status) + { + case LSQ_HSK_OK: + case LSQ_HSK_RESUMED_OK: + conn->imc_flags |= IMC_HSK_OK; + conn->imc_conn.cn_flags |= LSCONN_HANDSHAKE_DONE; + LSQ_DEBUG("handshake OK"); + break; + default: + assert(0); + /* fall-through */ + case LSQ_HSK_FAIL: + conn->imc_flags |= IMC_HSK_FAILED|IMC_ERROR; + LSQ_INFO("handshake failed"); + break; + } +} + + +static void +ietf_mini_conn_ci_tls_alert (struct lsquic_conn *lconn, uint8_t alert) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + LSQ_DEBUG("got TLS alert %"PRIu8, alert); + conn->imc_flags |= IMC_ERROR|IMC_TLS_ALERT; + conn->imc_tls_alert = alert; +} + + +static inline int +imico_can_send (const struct ietf_mini_conn *conn, size_t size) +{ + return (conn->imc_flags & IMC_ADDR_VALIDATED) + || conn->imc_bytes_in * conn->imc_enpub->enp_settings.es_amp_factor + >= conn->imc_bytes_out + size + ; +} + + +/* A mini connection is only tickable if it has unsent packets. This can + * occur when packet sending is delayed. + * + * Otherwise, a mini connection is not tickable: Either there are incoming + * packets, in which case, the connection is going to be ticked, or there is + * an alarm pending, in which case it will be handled via the attq. + */ +static int +ietf_mini_conn_ci_is_tickable (struct lsquic_conn *lconn) +{ + struct ietf_mini_conn *const conn = (struct ietf_mini_conn *) lconn; + const struct lsquic_packet_out *packet_out; + size_t packet_size; + + if ((conn->imc_enpub->enp_flags & ENPUB_CAN_SEND) + && !(conn->imc_flags & IMC_AMP_CAPPED)) + TAILQ_FOREACH(packet_out, &conn->imc_packets_out, po_next) + if (!(packet_out->po_flags & PO_SENT)) + { + packet_size = lsquic_packet_out_total_sz(lconn, packet_out); + return imico_can_send(conn, packet_size); + } + + return 0; +} + + +static lsquic_time_t +imico_rechist_largest_recv (void *rechist_ctx); + + +static int +imico_build_ack_frame (struct ietf_mini_conn *conn, enum packnum_space pns, + lsquic_time_t now, unsigned char *outbuf, + size_t outbuf_sz, lsquic_packno_t *ack2ed) +{ + struct ietf_mini_rechist rechist; + uint64_t ecn_counts_buf[4]; + const uint64_t *ecn_counts; + int not_used_has_missing, len; + if (conn->imc_incoming_ecn) + { + ecn_counts_buf[0] = conn->imc_ecn_counts_in[pns][0]; + ecn_counts_buf[1] = conn->imc_ecn_counts_in[pns][1]; + ecn_counts_buf[2] = conn->imc_ecn_counts_in[pns][2]; + ecn_counts_buf[3] = conn->imc_ecn_counts_in[pns][3]; + ecn_counts = ecn_counts_buf; + } + else + ecn_counts = NULL; + lsquic_imico_rechist_init(&rechist, conn, pns); + len = conn->imc_conn.cn_pf->pf_gen_ack_frame(outbuf, outbuf_sz, + lsquic_imico_rechist_first, + lsquic_imico_rechist_next, imico_rechist_largest_recv, &rechist, + now, ¬_used_has_missing, ack2ed, ecn_counts); + if (len < 0) + { + LSQ_WARN("could not generate ACK frame"); + return -1; + } + EV_LOG_GENERATED_ACK_FRAME(LSQUIC_LOG_CONN_ID, conn->imc_conn.cn_pf, + outbuf, len); + return len; +} + + +static void +remove_ack_frame (struct ietf_mini_conn *conn, + struct lsquic_packet_out *packet_out) +{ + if (packet_out->po_regen_sz == 0) + return; + + int l = packet_out->po_data_sz - packet_out->po_regen_sz + - packet_out->po_padding_sz; + memmove(packet_out->po_data , + packet_out->po_data + packet_out->po_regen_sz, l); + memset(packet_out->po_data + l, 0, packet_out->po_regen_sz); + packet_out->po_padding_sz += packet_out->po_regen_sz; + packet_out->po_regen_sz = 0; +} + + +// static void +// update_packet_ack (struct ietf_mini_conn *conn, enum packnum_space pns, +// struct lsquic_packet_out *packet_out) +// { +// int len, need; +// unsigned char outbuf[1024]; +// size_t outbuf_sz = sizeof(outbuf); +// lsquic_packno_t ack2ed; +// +// len = imico_build_ack_frame(conn, pns, lsquic_time_now(), outbuf, +// outbuf_sz, &ack2ed); +// if (len > packet_out->po_regen_sz + packet_out->po_padding_sz) +// return; +// need = len + !!(packet_out->po_frame_types & (1 << QUIC_FRAME_PING)); +// LSQ_DEBUG("update leading ACK frame for packet %"PRIu64 +// ", regen_sz: %hd, padding_sz: %hd, need: %d, len: %d", +// packet_out->po_packno, packet_out->po_regen_sz, +// packet_out->po_padding_sz, need, len); +// +// if (need != packet_out->po_regen_sz) +// { +// int l = packet_out->po_data_sz - packet_out->po_regen_sz +// - packet_out->po_padding_sz; +// memmove(packet_out->po_data + need, +// packet_out->po_data + packet_out->po_regen_sz, l); +// if (packet_out->po_padding_sz) +// { +// if (need < packet_out->po_regen_sz) +// memset(packet_out->po_data + need + l, 0, +// packet_out->po_regen_sz - need); +// packet_out->po_padding_sz += packet_out->po_regen_sz - need; +// } +// else +// packet_out->po_data_sz -= packet_out->po_regen_sz - need; +// packet_out->po_regen_sz = need; +// } +// memmove(packet_out->po_data, outbuf, len); +// packet_out->po_frame_types |= 1 << QUIC_FRAME_ACK; +// packet_out->po_ack2ed = ack2ed; +// } + + +static struct lsquic_packet_out * +ietf_mini_conn_ci_next_packet_to_send (struct lsquic_conn *lconn, + const struct to_coal *to_coal) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + struct lsquic_packet_out *packet_out; + size_t packet_size; + + TAILQ_FOREACH(packet_out, &conn->imc_packets_out, po_next) + { + if (packet_out->po_flags & PO_SENT) + continue; + /* [draft-ietf-quic-transport-32] Section 14.1: + " a server MUST expand the payload of all UDP datagrams carrying + " ack-eliciting Initial packets to at least the smallest allowed + " maximum datagram size of 1200 bytes. + */ + if (packet_out->po_header_type == HETY_INITIAL) + { + if (packet_out->po_frame_types & (1 << QUIC_FRAME_ACK) + && packet_out->po_retx_cnt > 0) + { + remove_ack_frame(conn, packet_out); + } + + if (packet_out->po_retx_cnt > 0 + && !imico_can_send(conn, IQUIC_MAX_IPv4_PACKET_SZ)) + { + conn->imc_flags |= IMC_AMP_CAPPED; + LSQ_DEBUG("cannot send INIT packet #%"PRIu64" without " + "enough quota", packet_out->po_packno); + return NULL; + } + // NOTE: do not padd INIT packet only, here, instead pad the coalesced + // later, can save one packet, more efficient. + // if (!(packet_out->po_frame_types & (1 << QUIC_FRAME_PADDING)) + // && (packet_out->po_frame_types & IQUIC_FRAME_ACKABLE_MASK) + // && IQUIC_MIN_INIT_PACKET_SZ > packet_out->po_data_sz) + // { + // size_t pad_size; + // + // pad_size = IQUIC_MIN_INIT_PACKET_SZ - packet_out->po_data_sz; + // LSQ_DEBUG("generated PADDING frame: %zd bytes for packet %"PRIu64, + // pad_size, packet_out->po_packno); + // imico_zero_pad(packet_out, pad_size); + // } + } + packet_size = lsquic_packet_out_total_sz(lconn, packet_out); + if (!(to_coal + && (packet_size + to_coal->prev_sz_sum + > conn->imc_path.np_pack_size + || !lsquic_packet_out_equal_dcids(to_coal->prev_packet, packet_out)) + )) + { + if (!imico_can_send(conn, packet_size)) + { + conn->imc_flags |= IMC_AMP_CAPPED; + LSQ_DEBUG("cannot send packet %"PRIu64" of size %zu: client " + "address has not been validated", packet_out->po_packno, + packet_size); + return NULL; + } + packet_out->po_flags |= PO_SENT; + conn->imc_bytes_out += packet_size; + if (!to_coal) + LSQ_DEBUG("packet_to_send: %"PRIu64, packet_out->po_packno); + else + LSQ_DEBUG("packet_to_send: %"PRIu64" (coalesced)", + packet_out->po_packno); + return packet_out; + } + else + return NULL; + } + + return NULL; +} + + +static int +imico_calc_retx_timeout (const struct ietf_mini_conn *conn) +{ + lsquic_time_t to; + to = lsquic_rtt_stats_get_srtt(&conn->imc_rtt_stats); + if (to) + { + to += to / 2; + if (to < 10000) + to = 10000; + } + else + to = 300000; + return to; +} + + +static lsquic_time_t +ietf_mini_conn_ci_next_tick_time (struct lsquic_conn *lconn, unsigned *why) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + const struct lsquic_packet_out *packet_out; + lsquic_time_t exp_time, retx_time; + + exp_time = conn->imc_expire; + + TAILQ_FOREACH(packet_out, &conn->imc_packets_out, po_next) + if (packet_out->po_flags & PO_SENT) + { + retx_time = packet_out->po_sent + (imico_calc_retx_timeout(conn) + << (packet_out->po_retx_cnt >> 1)); + if (retx_time < exp_time) + { + *why = N_AEWS + AL_RETX_HSK; + return retx_time; + } + else + break; + } + + *why = AEW_MINI_EXPIRE; + return exp_time; +} + + +#define IMICO_PROC_FRAME_ARGS \ + struct ietf_mini_conn *conn, struct lsquic_packet_in *packet_in, \ + const unsigned char *p, size_t len + + +static void +imico_dispatch_stream_events (struct ietf_mini_conn *conn) +{ + enum enc_level i; + + for (i = 0; i < N_ENC_LEVS; ++i) + if ((conn->imc_streams[i].mcs_flags & (MCS_CREATED|MCS_WANTREAD)) + == (MCS_CREATED|MCS_WANTREAD)) + { + LSQ_DEBUG("dispatch read events on level #%u", i); + lsquic_mini_cry_sm_if.on_read((void *) &conn->imc_streams[i], + conn->imc_conn.cn_enc_session); + } + + for (i = 0; i < N_ENC_LEVS; ++i) + if ((conn->imc_streams[i].mcs_flags & (MCS_CREATED|MCS_WANTWRITE)) + == (MCS_CREATED|MCS_WANTWRITE)) + { + LSQ_DEBUG("dispatch write events on level #%u", i); + lsquic_mini_cry_sm_if.on_write((void *) &conn->imc_streams[i], + conn->imc_conn.cn_enc_session); + } +} + + +static int +imico_stash_stream_frame (struct ietf_mini_conn *conn, + enum enc_level enc_level, struct lsquic_packet_in *packet_in, + const struct stream_frame *frame) +{ + struct stream_frame *copy; + + if (conn->imc_n_crypto_frames >= IMICO_MAX_STASHED_FRAMES) + { + LSQ_INFO("cannot stash more CRYPTO frames, at %hhu already, while max " + "is %u", conn->imc_n_crypto_frames, IMICO_MAX_STASHED_FRAMES); + return -1; + } + + if (conn->imc_crypto_frames_sz + DF_SIZE(frame) > IMICO_MAX_BUFFERED_CRYPTO) + { + LSQ_INFO("cannot stash more than %u bytes of CRYPTO frames", + IMICO_MAX_BUFFERED_CRYPTO); + return -1; + } + + copy = lsquic_malo_get(conn->imc_enpub->enp_mm.malo.stream_frame); + if (!copy) + { + LSQ_INFO("could not allocate stream frame for stashing"); + return -1; + } + + *copy = *frame; + copy->packet_in = lsquic_packet_in_get(packet_in); + copy->stream_id = enc_level; + TAILQ_INSERT_TAIL(&conn->imc_crypto_frames, copy, next_frame); + ++conn->imc_n_crypto_frames; + conn->imc_crypto_frames_sz += DF_SIZE(frame); + return 0; +} + + +static unsigned +imico_process_crypto_frame (IMICO_PROC_FRAME_ARGS) +{ + int parsed_len; + enum enc_level enc_level, i; + struct stream_frame stream_frame; + + parsed_len = conn->imc_conn.cn_pf->pf_parse_crypto_frame(p, len, + &stream_frame); + if (parsed_len < 0) + { + conn->imc_flags |= IMC_PARSE_FAILED; + return 0; + } + + enc_level = lsquic_packet_in_enc_level(packet_in); + EV_LOG_CRYPTO_FRAME_IN(LSQUIC_LOG_CONN_ID, &stream_frame, enc_level); + + if (conn->imc_streams[enc_level].mcs_read_off >= DF_OFF(&stream_frame) + && conn->imc_streams[enc_level].mcs_read_off < DF_END(&stream_frame)) + LSQ_DEBUG("Got CRYPTO frame for enc level #%u", enc_level); + else if (conn->imc_streams[enc_level].mcs_read_off < DF_OFF(&stream_frame)) + { + LSQ_DEBUG("Can't read CRYPTO frame on enc level #%u at offset %"PRIu64 + " yet -- stash", enc_level, DF_OFF(&stream_frame)); + if (0 == imico_stash_stream_frame(conn, enc_level, packet_in, + &stream_frame)) + return parsed_len; + else + return 0; + } + else + { + LSQ_DEBUG("Got duplicate CRYPTO frame for enc level #%u -- ignore", + enc_level); + return parsed_len; + } + + if (!(conn->imc_flags & IMC_ENC_SESS_INITED)) + { + if (0 != conn->imc_conn.cn_esf.i->esfi_init_server( + conn->imc_conn.cn_enc_session)) + return 0; + conn->imc_flags |= IMC_ENC_SESS_INITED; + } + + if (!(conn->imc_streams[enc_level].mcs_flags & MCS_CREATED)) + { + LSQ_DEBUG("creating stream on level #%u", enc_level); + conn->imc_streams[enc_level].mcs_flags |= MCS_CREATED; + lsquic_mini_cry_sm_if.on_new_stream(conn->imc_conn.cn_enc_session, + (void *) &conn->imc_streams[enc_level]); + } + + /* Assume that receiving a CRYPTO frame at a higher level means that we + * no longer want to read from a lower level. + */ + for (i = 0; i < enc_level; ++i) + conn->imc_streams[i].mcs_flags &= ~MCS_WANTREAD; + + conn->imc_last_in.frame = &stream_frame; + conn->imc_last_in.enc_level = enc_level; + imico_dispatch_stream_events(conn); + conn->imc_last_in.frame = NULL; + + if (DF_ROFF(&stream_frame) < DF_END(&stream_frame)) + { + /* This is an odd condition, but let's handle it just in case */ + LSQ_DEBUG("New CRYPTO frame on enc level #%u not fully read -- stash", + enc_level); + if (0 != imico_stash_stream_frame(conn, enc_level, packet_in, + &stream_frame)) + return 0; + } + + + return parsed_len; +} + + +static ptrdiff_t +imico_count_zero_bytes (const unsigned char *p, size_t len) +{ + const unsigned char *const end = p + len; + while (p < end && 0 == *p) + ++p; + return len - (end - p); +} + + +static unsigned +imico_process_padding_frame (IMICO_PROC_FRAME_ARGS) +{ + len = (size_t) imico_count_zero_bytes(p, len); + EV_LOG_PADDING_FRAME_IN(LSQUIC_LOG_CONN_ID, len); + return len; +} + + +static void +imico_take_rtt_sample (struct ietf_mini_conn *conn, + const struct lsquic_packet_out *packet_out, + lsquic_time_t now, lsquic_time_t lack_delta) +{ + assert(packet_out->po_sent); + lsquic_time_t measured_rtt = now - packet_out->po_sent; + if (lack_delta < measured_rtt) + { + lsquic_rtt_stats_update(&conn->imc_rtt_stats, measured_rtt, lack_delta); + LSQ_DEBUG("srtt: %"PRIu64" usec, var: %"PRIu64, + lsquic_rtt_stats_get_srtt(&conn->imc_rtt_stats), + lsquic_rtt_stats_get_rttvar(&conn->imc_rtt_stats)); + } +} + + +static unsigned +imico_process_ack_frame (IMICO_PROC_FRAME_ARGS) +{ + int parsed_len; + unsigned n; + lsquic_packet_out_t *packet_out, *next; + struct ack_info *acki; + lsquic_packno_t packno; + lsquic_time_t warn_time; + packno_set_t acked; + enum packnum_space pns; + uint8_t ack_exp; + + if (conn->imc_flags & IMC_HAVE_TP) + ack_exp = conn->imc_ack_exp; + else + ack_exp = TP_DEF_ACK_DELAY_EXP; /* Odd: no transport params yet? */ + acki = conn->imc_enpub->enp_mm.acki; + parsed_len = conn->imc_conn.cn_pf->pf_parse_ack_frame(p, len, acki, + ack_exp); + if (parsed_len < 0) + { + conn->imc_flags |= IMC_PARSE_FAILED; + return 0; + } + + pns = lsquic_hety2pns[ packet_in->pi_header_type ]; + acked = 0; + + for (n = 0; n < acki->n_ranges; ++n) + { + if (acki->ranges[n].high <= MAX_PACKETS) + { + acked |= (1ULL << acki->ranges[n].high) + | ((1ULL << acki->ranges[n].high) - 1); + acked &= ~((1ULL << acki->ranges[n].low) - 1); + } + else + { + packno = acki->ranges[n].high; + goto err_never_sent; + } + } + if (acked & ~conn->imc_sent_packnos) + { + packno = highest_bit_set(acked & ~conn->imc_sent_packnos); + goto err_never_sent; + } + + EV_LOG_ACK_FRAME_IN(LSQUIC_LOG_CONN_ID, acki); + for (packet_out = TAILQ_FIRST(&conn->imc_packets_out); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if ((1ULL << packet_out->po_packno) & acked) + { + assert(lsquic_packet_out_pns(packet_out) == pns); + LSQ_DEBUG("Got ACK for packet %"PRIu64, packet_out->po_packno); + if (packet_out->po_packno == largest_acked(acki)) + imico_take_rtt_sample(conn, packet_out, + packet_in->pi_received, acki->lack_delta); + TAILQ_REMOVE(&conn->imc_packets_out, packet_out, po_next); + imico_destroy_packet(conn, packet_out); + } + } + + if (conn->imc_sent_packnos & ~conn->imc_acked_packnos[pns] & acked) + { + LSQ_DEBUG("Newly acked packets, reset handshake count"); + conn->imc_hsk_count = 0; + } + + conn->imc_acked_packnos[pns] |= acked; + + return parsed_len; + + err_never_sent: + warn_time = lsquic_time_now(); + if (0 == conn->imc_enpub->enp_last_warning[WT_ACKPARSE_MINI] + || conn->imc_enpub->enp_last_warning[WT_ACKPARSE_MINI] + + WARNING_INTERVAL < warn_time) + { + conn->imc_enpub->enp_last_warning[WT_ACKPARSE_MINI] = warn_time; + LSQ_WARN("packet %"PRIu64" (pns: %u) was never sent", packno, pns); + } + else + LSQ_DEBUG("packet %"PRIu64" (pns: %u) was never sent", packno, pns); + return 0; +} + + +static unsigned +imico_process_ping_frame (IMICO_PROC_FRAME_ARGS) +{ + LSQ_DEBUG("got a PING frame, do nothing"); + EV_LOG_PING_FRAME_IN(LSQUIC_LOG_CONN_ID); + return 1; +} + + +static unsigned +imico_process_connection_close_frame (IMICO_PROC_FRAME_ARGS) +{ + struct lsquic_packet_out *packet_out; + uint64_t error_code; + uint16_t reason_len; + uint8_t reason_off; + int parsed_len, app_error; + + while ((packet_out = TAILQ_FIRST(&conn->imc_packets_out))) + { + TAILQ_REMOVE(&conn->imc_packets_out, packet_out, po_next); + imico_destroy_packet(conn, packet_out); + } + conn->imc_flags |= IMC_CLOSE_RECVD; + parsed_len = conn->imc_conn.cn_pf->pf_parse_connect_close_frame(p, len, + &app_error, &error_code, &reason_len, &reason_off); + if (parsed_len < 0) + { + conn->imc_flags |= IMC_PARSE_FAILED; + return 0; + } + EV_LOG_CONNECTION_CLOSE_FRAME_IN(LSQUIC_LOG_CONN_ID, error_code, + (int) reason_len, (const char *) p + reason_off); + LSQ_INFO("Received CONNECTION_CLOSE frame (%s-level code: %"PRIu64"; " + "reason: %.*s)", app_error ? "application" : "transport", + error_code, (int) reason_len, (const char *) p + reason_off); + return 0; /* This shuts down the connection */ +} + + +static unsigned +imico_process_invalid_frame (IMICO_PROC_FRAME_ARGS) +{ + LSQ_DEBUG("invalid frame %u (%s)", p[0], + frame_type_2_str[ conn->imc_conn.cn_pf->pf_parse_frame_type(p, len) ]); + return 0; +} + + +static unsigned +imico_process_invalid_frame_pv (IMICO_PROC_FRAME_ARGS) +{ + LSQ_DEBUG("invalid frame %u (%s)", p[0], + frame_type_2_str[ conn->imc_conn.cn_pf->pf_parse_frame_type(p, len) ]); + ietf_mini_conn_ci_abort_error(&conn->imc_conn, 0, TEC_PROTOCOL_VIOLATION, + "protocol violation detected while processing frame"); + return 0; +} + + +static unsigned (*const imico_process_frames[N_QUIC_FRAMES]) + (IMICO_PROC_FRAME_ARGS) = +{ + [QUIC_FRAME_PADDING] = imico_process_padding_frame, + [QUIC_FRAME_CRYPTO] = imico_process_crypto_frame, + [QUIC_FRAME_ACK] = imico_process_ack_frame, + [QUIC_FRAME_PING] = imico_process_ping_frame, + [QUIC_FRAME_CONNECTION_CLOSE] = imico_process_connection_close_frame, + /* Some of them are invalid, while others are unexpected. We treat + * them the same: handshake cannot proceed. + */ + [QUIC_FRAME_RST_STREAM] = imico_process_invalid_frame, + [QUIC_FRAME_MAX_DATA] = imico_process_invalid_frame, + [QUIC_FRAME_MAX_STREAM_DATA] = imico_process_invalid_frame, + [QUIC_FRAME_MAX_STREAMS] = imico_process_invalid_frame, + [QUIC_FRAME_BLOCKED] = imico_process_invalid_frame, + [QUIC_FRAME_STREAM_BLOCKED] = imico_process_invalid_frame, + [QUIC_FRAME_STREAMS_BLOCKED] = imico_process_invalid_frame, + [QUIC_FRAME_NEW_CONNECTION_ID] = imico_process_invalid_frame_pv, + [QUIC_FRAME_STOP_SENDING] = imico_process_invalid_frame, + [QUIC_FRAME_PATH_CHALLENGE] = imico_process_invalid_frame, + [QUIC_FRAME_PATH_RESPONSE] = imico_process_invalid_frame, + /* STREAM frame can only come in the App PNS and we delay those packets: */ + [QUIC_FRAME_STREAM] = imico_process_invalid_frame, + [QUIC_FRAME_RETIRE_CONNECTION_ID] = imico_process_invalid_frame_pv, + [QUIC_FRAME_NEW_TOKEN] = imico_process_invalid_frame_pv, + [QUIC_FRAME_HANDSHAKE_DONE] = imico_process_invalid_frame_pv, + [QUIC_FRAME_ACK_FREQUENCY] = imico_process_invalid_frame, + [QUIC_FRAME_TIMESTAMP] = imico_process_invalid_frame, +}; + + +static unsigned +imico_process_packet_frame (struct ietf_mini_conn *conn, + struct lsquic_packet_in *packet_in, const unsigned char *p, size_t len) +{ + enum enc_level enc_level; + enum quic_frame_type type; + + enc_level = lsquic_packet_in_enc_level(packet_in); + type = conn->imc_conn.cn_pf->pf_parse_frame_type(p, len); + if (lsquic_legal_frames_by_level[conn->imc_conn.cn_version][enc_level] + & (1 << type)) + { + packet_in->pi_frame_types |= 1 << type; + return imico_process_frames[type](conn, packet_in, p, len); + } + else + { + LSQ_DEBUG("invalid frame %u at encryption level %s", type, + lsquic_enclev2str[enc_level]); + if (type == QUIC_FRAME_INVALID) + ietf_mini_conn_ci_abort_error(&conn->imc_conn, 0, + TEC_FRAME_ENCODING_ERROR, + "invalid frame %u at encryption level %s", + type, lsquic_enclev2str[enc_level]); + else + ietf_mini_conn_ci_abort_error(&conn->imc_conn, 0, + TEC_PROTOCOL_VIOLATION, + "protcol violation for invalid frame %u at encryption level %s", + type, lsquic_enclev2str[enc_level]); + return 0; + } +} + + +static int +imico_parse_regular_packet (struct ietf_mini_conn *conn, + struct lsquic_packet_in *packet_in) +{ + const unsigned char *p, *pend; + unsigned len; + + p = packet_in->pi_data + packet_in->pi_header_sz; + pend = packet_in->pi_data + packet_in->pi_data_sz; + + if (p >= pend) + { + ietf_mini_conn_ci_abort_error(&conn->imc_conn, 0, + TEC_PROTOCOL_VIOLATION, + "packet %"PRIu64" has no frames", + packet_in->pi_packno); + return -1; + } + while (p < pend) + { + len = imico_process_packet_frame(conn, packet_in, p, pend - p); + if (len > 0) + p += len; + else + return -1; + } + + return 0; +} + + +static unsigned +highest_bit_set (unsigned long long sz) +{ +#if __GNUC__ + unsigned clz = __builtin_clzll(sz); + return 63 - clz; +#else + unsigned long y; + unsigned n; + n = 64; + y = sz >> 32; if (y) { n -= 32; sz = y; } + y = sz >> 16; if (y) { n -= 16; sz = y; } + y = sz >> 8; if (y) { n -= 8; sz = y; } + y = sz >> 4; if (y) { n -= 4; sz = y; } + y = sz >> 2; if (y) { n -= 2; sz = y; } + y = sz >> 1; if (y) return 63 - n + 2; + return 63 - n + sz; +#endif +} + + +static void +ignore_init (struct ietf_mini_conn *conn) +{ + struct lsquic_packet_out *packet_out, *next; + unsigned count; + + conn->imc_flags |= IMC_IGNORE_INIT; + conn->imc_flags &= ~(IMC_QUEUED_ACK_INIT << PNS_INIT); + + count = 0; + for (packet_out = TAILQ_FIRST(&conn->imc_packets_out); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (PNS_INIT == lsquic_packet_out_pns(packet_out)) + { + TAILQ_REMOVE(&conn->imc_packets_out, packet_out, po_next); + imico_destroy_packet(conn, packet_out); + ++count; + } + } + + LSQ_DEBUG("henceforth, no Initial packets shall be sent or received; " + "destroyed %u packet%.*s", count, count != 1, "s"); + + int ext_to = conn->imc_enpub->enp_settings.es_idle_timeout * 1000000 + - conn->imc_enpub->enp_settings.es_handshake_to; + if (ext_to > 0) + { + conn->imc_expire += ext_to; + LSQ_DEBUG("extend mini-conn expire time to %d seconds", + conn->imc_enpub->enp_settings.es_idle_timeout); + } +} + + +static void +imico_maybe_delay_processing (struct ietf_mini_conn *conn, + struct lsquic_packet_in *packet_in) +{ + unsigned max_delayed; + + if (conn->imc_flags & IMC_ADDR_VALIDATED) + max_delayed = IMICO_MAX_DELAYED_PACKETS_VALIDATED; + else + max_delayed = IMICO_MAX_DELAYED_PACKETS_UNVALIDATED; + + if (conn->imc_delayed_packets_count < max_delayed) + { + ++conn->imc_delayed_packets_count; + lsquic_packet_in_upref(packet_in); + TAILQ_INSERT_TAIL(&conn->imc_app_packets, packet_in, pi_next); + LSQ_DEBUG("delay processing of packet (now delayed %hhu)", + conn->imc_delayed_packets_count); + } + else + LSQ_DEBUG("drop packet, already delayed %hhu packets", + conn->imc_delayed_packets_count); +} + + +/* [draft-ietf-quic-transport-30] Section 8.1: + " Additionally, a server MAY consider the client address validated if + " the client uses a connection ID chosen by the server and the + " connection ID contains at least 64 bits of entropy. + * + * We use RAND_bytes() to generate SCIDs, so it's all entropy. + */ +static void +imico_maybe_validate_by_dcid (struct ietf_mini_conn *conn, + const lsquic_cid_t *dcid) +{ + unsigned i; + + if (dcid->len >= 8) + /* Generic code with unnecessary loop as future-proofing */ + for (i = 0; i < conn->imc_conn.cn_n_cces; ++i) + if ((conn->imc_conn.cn_cces_mask & (1 << i)) + && (conn->imc_conn.cn_cces[i].cce_flags & CCE_SEQNO) + && LSQUIC_CIDS_EQ(&conn->imc_conn.cn_cces[i].cce_cid, dcid)) + { + imico_peer_addr_validated(conn, "dcid/scid + entropy"); + return; + } +} + + +static int +imico_received_packet_is_dup (struct ietf_mini_conn *conn, + enum packnum_space pns, lsquic_packno_t packno) +{ + if (conn->imc_flags & IMC_TRECHIST) + return lsquic_trechist_contains( + conn->imc_recvd_packnos.trechist.hist_masks[pns], + conn->imc_recvd_packnos.trechist.hist_elems + + TRECHIST_MAX_RANGES * pns, packno); + else + return !!(conn->imc_recvd_packnos.bitmasks[pns] & (1ULL << packno)); +} + + +static int +imico_packno_is_largest (struct ietf_mini_conn *conn, + enum packnum_space pns, lsquic_packno_t packno) +{ + if (conn->imc_flags & IMC_TRECHIST) + return 0 == conn->imc_recvd_packnos.trechist.hist_masks[pns] + || packno > lsquic_trechist_max( + conn->imc_recvd_packnos.trechist.hist_masks[pns], + conn->imc_recvd_packnos.trechist.hist_elems + + TRECHIST_MAX_RANGES * pns); + else + return 0 == conn->imc_recvd_packnos.bitmasks[pns] + || packno > highest_bit_set(conn->imc_recvd_packnos.bitmasks[pns]); +} + + +static void +imico_record_recvd_packno (struct ietf_mini_conn *conn, + enum packnum_space pns, lsquic_packno_t packno) +{ + if (conn->imc_flags & IMC_TRECHIST) + { + if (0 != lsquic_trechist_insert( + &conn->imc_recvd_packnos.trechist.hist_masks[pns], + conn->imc_recvd_packnos.trechist.hist_elems + + TRECHIST_MAX_RANGES * pns, packno)) + { + LSQ_INFO("too many ranges for trechist to hold or range too wide"); + conn->imc_flags |= IMC_ERROR; + } + } + else + conn->imc_recvd_packnos.bitmasks[pns] |= 1ULL << packno; +} + + +static int +imico_switch_to_trechist (struct ietf_mini_conn *conn) +{ + uint32_t masks[IMICO_N_PNS]; + enum packnum_space pns; + struct trechist_elem *elems; + struct ietf_mini_rechist iter; + + elems = malloc(TRECHIST_SIZE * N_PNS); + if (!elems) + { + LSQ_WARN("cannot allocate trechist elems"); + return -1; + } + + for (pns = 0; pns < IMICO_N_PNS; ++pns) + if (conn->imc_recvd_packnos.bitmasks[pns]) + { + lsquic_imico_rechist_init(&iter, conn, pns); + lsquic_trechist_copy_ranges(&masks[pns], + elems + TRECHIST_MAX_RANGES * pns, &iter, + lsquic_imico_rechist_first, + lsquic_imico_rechist_next); + } + else + masks[pns] = 0; + + memcpy(conn->imc_recvd_packnos.trechist.hist_masks, masks, sizeof(masks)); + conn->imc_recvd_packnos.trechist.hist_elems = elems; + conn->imc_flags |= IMC_TRECHIST; + LSQ_DEBUG("switched to trechist"); + return 0; +} + + +static int +imico_generate_handshake_done (struct ietf_mini_conn *conn); + + +/* Only a single packet is supported */ +static void +ietf_mini_conn_ci_packet_in (struct lsquic_conn *lconn, + struct lsquic_packet_in *packet_in) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + enum dec_packin dec_packin; + enum packnum_space pns; + + /* Update "bytes in" count as early as possible. From + * [draft-ietf-quic-transport-28] Section 8.1: + " For the purposes of + " avoiding amplification prior to address validation, servers MUST + " count all of the payload bytes received in datagrams that are + " uniquely attributed to a single connection. This includes datagrams + " that contain packets that are successfully processed and datagrams + " that contain packets that are all discarded. + */ + conn->imc_bytes_in += packet_in->pi_data_sz; + conn->imc_flags &= ~IMC_AMP_CAPPED; + + if (conn->imc_flags & IMC_ERROR) + { + LSQ_DEBUG("ignore incoming packet: connection is in error state"); + return; + } + + if (!(conn->imc_flags & (IMC_ADDR_VALIDATED | IMC_PATH_CHANGED))) + imico_maybe_validate_by_dcid(conn, &packet_in->pi_dcid); + + pns = lsquic_hety2pns[ packet_in->pi_header_type ]; + if (pns == PNS_INIT) + { + if (conn->imc_flags & IMC_IGNORE_INIT) + { + LSQ_DEBUG("ignore init packet"); /* Don't bother decrypting */ + return; + } + if (packet_in->pi_pkt_size + && packet_in->pi_pkt_size < IQUIC_MIN_INIT_PACKET_SZ) + { + LSQ_DEBUG("ignore init packet smaller than minimum size required"); + /* Don't bother decrypting */ + return; + } + } + + dec_packin = lconn->cn_esf_c->esf_decrypt_packet(lconn->cn_enc_session, + conn->imc_enpub, &conn->imc_conn, packet_in); + switch (dec_packin) + { + case DECPI_OK: + break; + case DECPI_VIOLATION: + ietf_mini_conn_ci_abort_error(lconn, 0, TEC_PROTOCOL_VIOLATION, + "protocol violation detected while decrypting packet"); + return; + case DECPI_NOT_YET: + imico_maybe_delay_processing(conn, packet_in); + return; + case DECPI_BADCRYPT: + if (packet_in->pi_flags & PI_FIRST_INIT) + { + LSQ_DEBUG("possible packet corruption, destroy mini-conn."); + conn->imc_flags |= IMC_ERROR | IMC_CLOSE_RECVD; + /* avoid adding CID to black list */ + conn->imc_conn.cn_flags |= LSCONN_NO_BL; + } + //fall through + default: + LSQ_DEBUG("could not decrypt packet"); + return; + } + + EV_LOG_PACKET_IN(LSQUIC_LOG_CONN_ID, packet_in); + + if (pns == PNS_APP) + { + imico_maybe_delay_processing(conn, packet_in); + return; + } + else if (pns == PNS_HSK) + { + if (!LSQUIC_CIDS_EQ(CN_SCID(&conn->imc_conn), &packet_in->pi_dcid)) + { + ietf_mini_conn_ci_abort_error(lconn, 0, TEC_PROTOCOL_VIOLATION, + "protocol violation detected bad dcid for HSK pns"); + return; + } + if (!(conn->imc_flags & (IMC_ADDR_VALIDATED | IMC_PATH_CHANGED))) + imico_peer_addr_validated(conn, "handshake PNS"); + } + + if (((conn->imc_flags >> IMCBIT_PNS_BIT_SHIFT) & 3) < pns) + { + conn->imc_flags &= ~(3 << IMCBIT_PNS_BIT_SHIFT); + conn->imc_flags |= pns << IMCBIT_PNS_BIT_SHIFT; + } + + if (pns == PNS_HSK && !(conn->imc_flags & IMC_IGNORE_INIT)) + ignore_init(conn); + + if (packet_in->pi_packno > MAX_PACKETS + && !(conn->imc_flags & IMC_TRECHIST)) + { + if (0 != imico_switch_to_trechist(conn)) + return; + } + + if (imico_received_packet_is_dup(conn, pns, packet_in->pi_packno)) + { + LSQ_DEBUG("duplicate packet %"PRIu64, packet_in->pi_packno); + return; + } + + /* Update receive history before processing the packet: if there is an + * error, the connection is terminated and recording this packet number + * is helpful when it is printed along with other diagnostics in dtor. + */ + if (imico_packno_is_largest(conn, pns, packet_in->pi_packno)) + conn->imc_largest_recvd[pns] = packet_in->pi_received; + imico_record_recvd_packno(conn, pns, packet_in->pi_packno); + + if (!(conn->imc_flags & (IMC_QUEUED_ACK_INIT << pns))) + { + LSQ_DEBUG("queued ACK in %s", lsquic_pns2str[pns]); + conn->imc_flags |= IMC_QUEUED_ACK_INIT << pns; + } + ++conn->imc_ecn_counts_in[pns][ lsquic_packet_in_ecn(packet_in) ]; + conn->imc_incoming_ecn <<= 1; + conn->imc_incoming_ecn |= lsquic_packet_in_ecn(packet_in) != ECN_NOT_ECT; + + if (0 != imico_parse_regular_packet(conn, packet_in)) + { + LSQ_DEBUG("connection is now in error state"); + conn->imc_flags |= IMC_ERROR; + return; + } + if (conn->imc_flags & IMC_HSK_OK) + { + if (lconn->cn_esf.i->esfi_in_init(lconn->cn_enc_session)) + LSQ_DEBUG("still in init, defer HANDSHAKE_DONE"); + else if (0 != imico_generate_handshake_done(conn)) + conn->imc_flags |= IMC_ERROR; + } +} + + +static void +ietf_mini_conn_ci_packet_sent (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + conn->imc_sent_packnos |= 1ULL << packet_out->po_packno; + conn->imc_ecn_packnos |= !!lsquic_packet_out_ecn(packet_out) + << packet_out->po_packno; +#if 0 + if (packet_out->po_frame_types & (1 << QUIC_FRAME_ACK)) + { + assert(mc->mc_flags & MC_UNSENT_ACK); + mc->mc_flags &= ~MC_UNSENT_ACK; + } +#endif + if (packet_out->po_header_type == HETY_HANDSHAKE) + conn->imc_flags |= IMC_HSK_PACKET_SENT; + LSQ_DEBUG("%s: packet %"PRIu64" sent", __func__, packet_out->po_packno); +} + + +static void +ietf_mini_conn_ci_packet_not_sent (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + size_t packet_size; + + packet_out->po_flags &= ~PO_SENT; + packet_size = lsquic_packet_out_total_sz(lconn, packet_out); + conn->imc_bytes_out -= packet_size; + LSQ_DEBUG("%s: packet %"PRIu64" not sent", __func__, packet_out->po_packno); +} + + +static inline void +imico_return_enc_data (struct ietf_mini_conn *conn, + struct lsquic_packet_out *packet_out) +{ + conn->imc_enpub->enp_pmi->pmi_return(conn->imc_enpub->enp_pmi_ctx, + conn->imc_path.np_peer_ctx, packet_out->po_enc_data, + lsquic_packet_out_ipv6(packet_out)); + packet_out->po_flags &= ~PO_ENCRYPTED; + packet_out->po_enc_data = NULL; +} + + +static inline int +imico_repackage_packet (struct ietf_mini_conn *conn, + struct lsquic_packet_out *packet_out) +{ + const lsquic_packno_t oldno = packet_out->po_packno; + const lsquic_packno_t packno = conn->imc_next_packno++; + if (packno > MAX_PACKETS) + return -1; + + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "schedule resend, repackage packet " + "#%"PRIu64" -> #%"PRIu64, oldno, packno); + packet_out->po_packno = packno; + packet_out->po_flags &= ~PO_SENT; + ++packet_out->po_retx_cnt; + lsquic_packet_out_set_ecn(packet_out, imico_get_ecn(conn)); + if (packet_out->po_flags & PO_ENCRYPTED) + imico_return_enc_data(conn, packet_out); + TAILQ_INSERT_TAIL(&conn->imc_packets_out, packet_out, po_next); + return 0; +} + + +static int +imico_handle_losses_and_have_unsent (struct ietf_mini_conn *conn, + lsquic_time_t now) +{ + TAILQ_HEAD(, lsquic_packet_out) lost_packets = + TAILQ_HEAD_INITIALIZER(lost_packets); + const struct lsquic_conn *const lconn = &conn->imc_conn; + lsquic_packet_out_t *packet_out, *next; + lsquic_time_t retx_to = 0; + unsigned n_to_send = 0; + size_t packet_size; + + for (packet_out = TAILQ_FIRST(&conn->imc_packets_out); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_flags & PO_SENT) + { + if (packet_out->po_frame_types & IQUIC_FRAME_RETX_MASK) + { + if (0 == retx_to) + retx_to = imico_calc_retx_timeout(conn); + if (conn->imc_hsk_count == 0) + packet_out->po_retx_cnt = 0; + if (packet_out->po_sent + + (retx_to << (packet_out->po_retx_cnt >> 1)) < now) + { + LSQ_DEBUG("packet %"PRIu64" has been lost (rto: %"PRIu64")", + packet_out->po_packno, + retx_to << (packet_out->po_retx_cnt >> 1)); + TAILQ_REMOVE(&conn->imc_packets_out, packet_out, po_next); + TAILQ_INSERT_TAIL(&lost_packets, packet_out, po_next); + } + } + else + { + TAILQ_REMOVE(&conn->imc_packets_out, packet_out, po_next); + imico_destroy_packet(conn, packet_out); + } + } + else if (packet_size = lsquic_packet_out_total_sz(lconn, packet_out), + imico_can_send(conn, packet_size)) + ++n_to_send; + else + break; + } + + conn->imc_hsk_count += !TAILQ_EMPTY(&lost_packets); + + while ((packet_out = TAILQ_FIRST(&lost_packets))) + { + TAILQ_REMOVE(&lost_packets, packet_out, po_next); + if (0 == imico_repackage_packet(conn, packet_out)) + { + packet_size = lsquic_packet_out_total_sz(lconn, packet_out); + if (imico_can_send(conn, packet_size)) + ++n_to_send; + } + else + imico_destroy_packet(conn, packet_out); + } + + return n_to_send > 0; +} + + +static inline int +imico_have_packets_to_send (struct ietf_mini_conn *conn, lsquic_time_t now) +{ + return imico_handle_losses_and_have_unsent(conn, now); +} + + +void +lsquic_imico_rechist_init (struct ietf_mini_rechist *rechist, + const struct ietf_mini_conn *conn, enum packnum_space pns) +{ + assert(pns < IMICO_N_PNS); + rechist->conn = conn; + rechist->pns = pns; + if (conn->imc_flags & IMC_TRECHIST) + lsquic_trechist_iter(&rechist->u.trechist_iter, + conn->imc_recvd_packnos.trechist.hist_masks[pns], + conn->imc_recvd_packnos.trechist.hist_elems + TRECHIST_MAX_RANGES * pns); + else + { + rechist->u.bitmask.cur_set = 0; + rechist->u.bitmask.cur_idx = 0; + } +} + + +static inline lsquic_time_t +imico_rechist_largest_recv (void *rechist_ctx) +{ + struct ietf_mini_rechist *rechist = rechist_ctx; + return rechist->conn->imc_largest_recvd[ rechist->pns ]; +} + + +static const struct lsquic_packno_range * +imico_bitmask_rechist_next (struct ietf_mini_rechist *rechist) +{ + const struct ietf_mini_conn *conn = rechist->conn; + packno_set_t packnos; + int i; + + packnos = rechist->u.bitmask.cur_set; + if (0 == packnos) + return NULL; + + /* There may be a faster way to do this, but for now, we just want + * correctness. + */ + for (i = rechist->u.bitmask.cur_idx; i >= 0; --i) + if (packnos & (1ULL << i)) + { + rechist->u.bitmask.range.low = i; + rechist->u.bitmask.range.high = i; + break; + } + assert(i >= 0); /* We must have hit at least one bit */ + --i; + for ( ; i >= 0 && (packnos & (1ULL << i)); --i) + rechist->u.bitmask.range.low = i; + if (i >= 0) + { + rechist->u.bitmask.cur_set = packnos & ((1ULL << i) - 1); + rechist->u.bitmask.cur_idx = i; + } + else + rechist->u.bitmask.cur_set = 0; + LSQ_DEBUG("%s: return [%"PRIu64", %"PRIu64"]", __func__, + rechist->u.bitmask.range.low, rechist->u.bitmask.range.high); + return &rechist->u.bitmask.range; +} + + +const struct lsquic_packno_range * +lsquic_imico_rechist_next (void *rechist_ctx) +{ + struct ietf_mini_rechist *rechist = rechist_ctx; + + if (rechist->conn->imc_flags & IMC_TRECHIST) + return lsquic_trechist_next(&rechist->u.trechist_iter); + else + return imico_bitmask_rechist_next(rechist); +} + + +const struct lsquic_packno_range * +lsquic_imico_rechist_first (void *rechist_ctx) +{ + struct ietf_mini_rechist *rechist = rechist_ctx; + + if (rechist->conn->imc_flags & IMC_TRECHIST) + return lsquic_trechist_first(&rechist->u.trechist_iter); + else + { + rechist->u.bitmask.cur_set + = rechist->conn->imc_recvd_packnos.bitmasks[ rechist->pns ]; + rechist->u.bitmask.cur_idx + = highest_bit_set(rechist->u.bitmask.cur_set); + return lsquic_imico_rechist_next(rechist_ctx); + } +} + + +static const enum header_type pns2hety[] = +{ + [PNS_INIT] = HETY_INITIAL, + [PNS_HSK] = HETY_HANDSHAKE, + [PNS_APP] = HETY_SHORT, +}; + + +static inline int +imico_generate_ping (struct ietf_mini_conn *conn, + struct lsquic_packet_out *packet_out) +{ + int len; + len = conn->imc_conn.cn_pf->pf_gen_ping_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out)); + if (len > 0) + { + packet_out->po_frame_types |= 1 << QUIC_FRAME_PING; + packet_out->po_data_sz += len; + packet_out->po_regen_sz += len; + LSQ_DEBUG("wrote PING frame of size %d to packet %" PRIu64, + len, packet_out->po_packno); + } + return 0; +} + + +static int +imico_generate_ack (struct ietf_mini_conn *conn, enum packnum_space pns, + lsquic_time_t now) +{ + struct lsquic_packet_out *packet_out; + enum header_type header_type; + int len; + + header_type = pns2hety[pns]; + packet_out = imico_get_packet_out(conn, header_type, 0); + if (!packet_out) + return -1; + + len = imico_build_ack_frame(conn, pns, now, + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), + &packet_out->po_ack2ed); + if (len < 0) + return -1; + + packet_out->po_frame_types |= 1 << QUIC_FRAME_ACK; + packet_out->po_data_sz += len; + packet_out->po_regen_sz += len; + conn->imc_flags &= ~(IMC_QUEUED_ACK_INIT << pns); + LSQ_DEBUG("wrote ACK frame of size %d in %s to packet %" PRIu64, + len, lsquic_pns2str[pns], packet_out->po_packno); + if (pns == PNS_INIT && conn->imc_hsk_count > 0) + imico_generate_ping(conn, packet_out); + return 0; +} + + +static int +imico_generate_acks (struct ietf_mini_conn *conn, lsquic_time_t now) +{ + enum packnum_space pns; + + for (pns = PNS_INIT; pns < IMICO_N_PNS; ++pns) + if (conn->imc_flags & (IMC_QUEUED_ACK_INIT << pns) + && !(pns == PNS_INIT && (conn->imc_flags & IMC_IGNORE_INIT))) + { + if (0 != imico_generate_ack(conn, pns, now)) + return -1; + } + return 0; +} + + +int +lsquic_mini_conn_ietf_pre_promote(struct ietf_mini_conn *conn, + lsquic_time_t now) +{ + if (conn->imc_flags & (IMC_QUEUED_ACK_INIT|IMC_QUEUED_ACK_HSK)) + { + if (0 != imico_generate_acks(conn, now)) + { + conn->imc_flags |= IMC_ERROR; + return -1; + } + } + return 0; +} + + +static void +imico_generate_conn_close (struct ietf_mini_conn *conn) +{ + struct lsquic_packet_out *packet_out; + enum header_type header_type; + enum packnum_space pns, pns_max; + unsigned error_code; + const char *reason; + size_t need; + int sz, rlen, is_app; + char reason_buf[0x20]; + + if (conn->imc_flags & IMC_ABORT_ERROR) + { + is_app = !!(conn->imc_flags & IMC_ABORT_ISAPP); + error_code = conn->imc_error_code; + reason = NULL; + rlen = 0; + } + else if (conn->imc_flags & IMC_TLS_ALERT) + { + is_app = 0; + error_code = 0x100 + conn->imc_tls_alert; + if (ALERT_NO_APPLICATION_PROTOCOL == conn->imc_tls_alert) + reason = "no suitable application protocol"; + else + { + snprintf(reason_buf, sizeof(reason_buf), "TLS alert %"PRIu8, + conn->imc_tls_alert); + reason = reason_buf; + } + rlen = strlen(reason); + } + else if (conn->imc_flags & IMC_BAD_TRANS_PARAMS) + { + is_app = 0; + error_code = TEC_TRANSPORT_PARAMETER_ERROR; + reason = "bad transport parameters"; + rlen = 24; + } + else if (conn->imc_flags & IMC_VER_NEG_FAILED) + { + is_app = 0; + error_code = TEC_VERSION_NEGOTIATION_ERROR; + reason = "version negociation failed"; + rlen = 26; + } + else if (conn->imc_flags & IMC_HSK_FAILED) + { + is_app = 0; + error_code = TEC_NO_ERROR; + reason = "handshake failed"; + rlen = 16; + } + else if (conn->imc_flags & IMC_PARSE_FAILED) + { + is_app = 0; + error_code = TEC_FRAME_ENCODING_ERROR; + reason = "cannot decode frame"; + rlen = 19; + } + else + { + is_app = 0; + error_code = TEC_INTERNAL_ERROR; + reason = NULL; + rlen = 0; + } + + +/* [draft-ietf-quic-transport-28] Section 10.3.1: + * + " A client will always know whether the server has Handshake keys (see + " Section 17.2.2.1), but it is possible that a server does not know + " whether the client has Handshake keys. Under these circumstances, a + " server SHOULD send a CONNECTION_CLOSE frame in both Handshake and + " Initial packets to ensure that at least one of them is processable by + " the client. +--- 8< --- + " Sending a CONNECTION_CLOSE of type 0x1d in an Initial or Handshake + " packet could expose application state or be used to alter application + " state. A CONNECTION_CLOSE of type 0x1d MUST be replaced by a + " CONNECTION_CLOSE of type 0x1c when sending the frame in Initial or + " Handshake packets. Otherwise, information about the application + " state might be revealed. Endpoints MUST clear the value of the + " Reason Phrase field and SHOULD use the APPLICATION_ERROR code when + " converting to a CONNECTION_CLOSE of type 0x1c. + */ + LSQ_DEBUG("sending CONNECTION_CLOSE, is_app: %d, error code: %u, " + "reason: %.*s", is_app, error_code, rlen, reason); + if (is_app && conn->imc_conn.cn_version > LSQVER_ID27) + { + LSQ_DEBUG("convert to 0x1C, replace code and reason"); + is_app = 0; + error_code = TEC_APPLICATION_ERROR; + rlen = 0; + } + + pns = (conn->imc_flags >> IMCBIT_PNS_BIT_SHIFT) & 3; + switch ((!!(conn->imc_flags & IMC_HSK_PACKET_SENT) << 1) + | (pns == PNS_HSK) /* Handshake packet received */) + { + case (0 << 1) | 0: + pns = PNS_INIT; + pns_max = PNS_INIT; + break; + case (1 << 1) | 0: + pns = PNS_INIT; + pns_max = PNS_HSK; + break; + default: + pns = PNS_HSK; + pns_max = PNS_HSK; + break; + } + + need = conn->imc_conn.cn_pf->pf_connect_close_frame_size(is_app, + error_code, 0, rlen); + LSQ_DEBUG("will generate %u CONNECTION_CLOSE frame%.*s", + pns_max - pns + 1, pns_max > pns, "s"); + do + { + header_type = pns2hety[pns]; + packet_out = imico_get_packet_out(conn, header_type, need); + if (!packet_out) + return; + sz = conn->imc_conn.cn_pf->pf_gen_connect_close_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), is_app, error_code, reason, + rlen); + if (sz >= 0) + { + packet_out->po_frame_types |= 1 << QUIC_FRAME_CONNECTION_CLOSE; + packet_out->po_data_sz += sz; + LSQ_DEBUG("generated CONNECTION_CLOSE frame"); + } + else + LSQ_WARN("could not generate CONNECTION_CLOSE frame"); + ++pns; + } + while (pns <= pns_max); +} + + +static int +imico_generate_handshake_done (struct ietf_mini_conn *conn) +{ + struct lsquic_packet_out *packet_out; + unsigned need; + int sz; + + need = conn->imc_conn.cn_pf->pf_handshake_done_frame_size(); + packet_out = imico_get_packet_out(conn, HETY_SHORT, need); + if (!packet_out) + return -1; + sz = conn->imc_conn.cn_pf->pf_gen_handshake_done_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out)); + if (sz < 0) + { + LSQ_WARN("could not generate HANDSHAKE_DONE frame"); + return -1; + } + + packet_out->po_frame_types |= 1 << QUIC_FRAME_HANDSHAKE_DONE; + packet_out->po_data_sz += sz; + LSQ_DEBUG("generated HANDSHAKE_DONE frame"); + conn->imc_flags |= IMC_HSK_DONE_SENT; + + return 0; +} + + +static enum tick_st +ietf_mini_conn_ci_tick (struct lsquic_conn *lconn, lsquic_time_t now) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + enum tick_st tick; + + if (conn->imc_expire < now) + { + LSQ_DEBUG("connection expired: closing"); + return TICK_CLOSE; + } + + if (!(conn->imc_flags & + (IMC_HAVE_TP|IMC_ADDR_VALIDATED|IMC_BAD_TRANS_PARAMS)) + && conn->imc_enpub->enp_settings.es_support_srej) + { + if (conn->imc_flags & IMC_ERROR) + goto close_on_error; + LSQ_DEBUG("Peer not validated and do not have transport parameters " + "on the first tick: retry"); + return TICK_RETRY|TICK_CLOSE; + } + + if (conn->imc_flags & (IMC_QUEUED_ACK_INIT|IMC_QUEUED_ACK_HSK)) + { + if (0 != imico_generate_acks(conn, now)) + { + conn->imc_flags |= IMC_ERROR; + return TICK_CLOSE; + } + } + + + if (lconn->cn_flags & (LSCONN_PROMOTED|LSCONN_PROMOTE_FAIL)) + return TICK_CLOSE; + + tick = 0; + + if (conn->imc_flags & IMC_ERROR) + { + close_on_error: + if (!(conn->imc_flags & IMC_CLOSE_RECVD)) + imico_generate_conn_close(conn); + tick = TICK_CLOSE; + } + else if (conn->imc_flags & IMC_HSK_OK) + { + if (lconn->cn_esf.i->esfi_in_init(lconn->cn_enc_session)) + LSQ_DEBUG("still in init, defer HANDSHAKE_DONE"); + else if (0 != imico_generate_handshake_done(conn)) + goto close_on_error; + tick |= TICK_PROMOTE; + } + + if (imico_have_packets_to_send(conn, now)) + tick |= TICK_SEND; + else + tick |= TICK_QUIET; + + LSQ_DEBUG("Return TICK %d", tick); + return tick; +} + + +static void +ietf_mini_conn_ci_internal_error (struct lsquic_conn *lconn, + const char *format, ...) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + LSQ_INFO("internal error reported"); + conn->imc_flags |= IMC_ERROR; +} + + +static void +ietf_mini_conn_ci_abort_error (struct lsquic_conn *lconn, int is_app, + unsigned error_code, const char *fmt, ...) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + va_list ap; + const char *err_str, *percent; + char err_buf[0x100]; + + percent = strchr(fmt, '%'); + if (percent) + { + va_start(ap, fmt); + vsnprintf(err_buf, sizeof(err_buf), fmt, ap); + va_end(ap); + err_str = err_buf; + } + else + err_str = fmt; + LSQ_INFO("abort error: is_app: %d; error code: %u; error str: %s", + is_app, error_code, err_str); + conn->imc_flags |= IMC_ERROR|IMC_ABORT_ERROR; + if (is_app) + conn->imc_flags |= IMC_ABORT_ISAPP; + conn->imc_error_code = error_code; +} + + +static struct network_path * +ietf_mini_conn_ci_get_path (struct lsquic_conn *lconn, + const struct sockaddr *sa) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + + return &conn->imc_path; +} + + +static unsigned char +ietf_mini_conn_ci_record_addrs (struct lsquic_conn *lconn, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + const struct sockaddr *orig_peer_sa; + struct lsquic_packet_out *packet_out; + size_t len; + char path_str[4][INET6_ADDRSTRLEN + sizeof(":65535")]; + + if (NP_IS_IPv6(&conn->imc_path) != (AF_INET6 == peer_sa->sa_family)) + TAILQ_FOREACH(packet_out, &conn->imc_packets_out, po_next) + if ((packet_out->po_flags & (PO_SENT|PO_ENCRYPTED)) == PO_ENCRYPTED) + imico_return_enc_data(conn, packet_out); + + orig_peer_sa = NP_PEER_SA(&conn->imc_path); + if (orig_peer_sa->sa_family == 0) + LSQ_DEBUG("connection to %s from %s", SA2STR(local_sa, path_str[0]), + SA2STR(peer_sa, path_str[1])); + else if (!(lsquic_sockaddr_eq(NP_PEER_SA(&conn->imc_path), peer_sa) + && lsquic_sockaddr_eq(NP_LOCAL_SA(&conn->imc_path), local_sa))) + { + LSQ_DEBUG("path changed from (%s - %s) to (%s - %s)", + SA2STR(NP_LOCAL_SA(&conn->imc_path), path_str[0]), + SA2STR(NP_PEER_SA(&conn->imc_path), path_str[1]), + SA2STR(local_sa, path_str[2]), + SA2STR(peer_sa, path_str[3])); + conn->imc_flags = (conn->imc_flags & ~IMC_ADDR_VALIDATED) + | IMC_PATH_CHANGED; + } + + len = local_sa->sa_family == AF_INET ? sizeof(struct sockaddr_in) + : sizeof(struct sockaddr_in6); + + memcpy(conn->imc_path.np_peer_addr, peer_sa, len); + memcpy(conn->imc_path.np_local_addr, local_sa, len); + conn->imc_path.np_peer_ctx = peer_ctx; + return 0; +} + + +void +ietf_mini_conn_ci_count_garbage (struct lsquic_conn *lconn, size_t garbage_sz) +{ + struct ietf_mini_conn *conn = (struct ietf_mini_conn *) lconn; + + conn->imc_bytes_in += garbage_sz; + conn->imc_flags &= ~IMC_AMP_CAPPED; + LSQ_DEBUG("count %zd bytes of garbage, new value: %u bytes", garbage_sz, + conn->imc_bytes_in); +} + + +static const struct conn_iface mini_conn_ietf_iface = { + .ci_abort_error = ietf_mini_conn_ci_abort_error, + .ci_client_call_on_new = ietf_mini_conn_ci_client_call_on_new, + .ci_count_garbage = ietf_mini_conn_ci_count_garbage, + .ci_destroy = ietf_mini_conn_ci_destroy, + .ci_get_engine = ietf_mini_conn_ci_get_engine, + .ci_get_path = ietf_mini_conn_ci_get_path, + .ci_hsk_done = ietf_mini_conn_ci_hsk_done, + .ci_internal_error = ietf_mini_conn_ci_internal_error, + .ci_is_tickable = ietf_mini_conn_ci_is_tickable, + .ci_next_packet_to_send = ietf_mini_conn_ci_next_packet_to_send, + .ci_next_tick_time = ietf_mini_conn_ci_next_tick_time, + .ci_packet_in = ietf_mini_conn_ci_packet_in, + .ci_packet_not_sent = ietf_mini_conn_ci_packet_not_sent, + .ci_packet_sent = ietf_mini_conn_ci_packet_sent, + .ci_record_addrs = ietf_mini_conn_ci_record_addrs, + .ci_tick = ietf_mini_conn_ci_tick, + .ci_tls_alert = ietf_mini_conn_ci_tls_alert, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_mini_conn_ietf.h b/external/lsquic/src/liblsquic/lsquic_mini_conn_ietf.h new file mode 100644 index 0000000..9308d06 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_mini_conn_ietf.h @@ -0,0 +1,171 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_mini_conn_ietf.h -- Mini connection used by the IETF QUIC + */ + +#ifndef LSQUIC_MINI_CONN_IETF_H +#define LSQUIC_MINI_CONN_IETF_H 1 + +#include "lsquic_ietf.h" + +struct lsquic_conn; +struct lsquic_engine_public; +struct lsquic_packet_in; + +enum { MCSBIT_WANTREAD, MCSBIT_WANTWRITE, }; + +struct mini_crypto_stream +{ + unsigned mcs_read_off; + unsigned mcs_write_off; + enum { + MCS_WANTREAD = 1 << MCSBIT_WANTREAD, + MCS_WANTWRITE = 1 << MCSBIT_WANTWRITE, + MCS_CREATED = 1 << 2, + } mcs_flags:8; + enum enc_level mcs_enc_level:8; +}; + +typedef uint64_t packno_set_t; +#define MAX_PACKETS ((sizeof(packno_set_t) * 8) - 1) + +/* We do not handle packets in the App packet number space in the mini + * connection. They are all buffered to be handled later when the + * connection is promoted. This means we do not have to have data + * structures to track the App PNS. + */ + +struct ietf_mini_conn +{ + struct lsquic_conn imc_conn; + struct conn_cid_elem imc_cces[3]; + struct lsquic_engine_public *imc_enpub; + lsquic_time_t imc_expire; + enum { + IMC_ENC_SESS_INITED = 1 << 0, + IMC_QUEUED_ACK_INIT = 1 << 1, + IMC_QUEUED_ACK_HSK = IMC_QUEUED_ACK_INIT << PNS_HSK, + IMC_UNUSED3 = 1 << 3, + IMC_ERROR = 1 << 4, + IMC_HSK_OK = 1 << 5, + IMC_HSK_FAILED = 1 << 6, + IMC_HAVE_TP = 1 << 7, + IMC_RETRY_MODE = 1 << 8, + IMC_RETRY_DONE = 1 << 9, + IMC_IGNORE_INIT = 1 << 10, +#define IMCBIT_PNS_BIT_SHIFT 11 + IMC_MAX_PNS_BIT_0 = 1 << 11, + IMC_MAX_PNS_BIT_1 = 1 << 12, + IMC_TLS_ALERT = 1 << 13, + IMC_ABORT_ERROR = 1 << 14, + IMC_ABORT_ISAPP = 1 << 15, + IMC_BAD_TRANS_PARAMS = 1 << 16, + IMC_ADDR_VALIDATED = 1 << 17, + IMC_HSK_PACKET_SENT = 1 << 18, + IMC_CLOSE_RECVD = 1 << 19, + IMC_PARSE_FAILED = 1 << 20, + IMC_PATH_CHANGED = 1 << 21, + IMC_HSK_DONE_SENT = 1 << 22, + IMC_TRECHIST = 1 << 23, + IMC_VER_NEG_FAILED = 1 << 24, + IMC_AMP_CAPPED = 1 << 25, + } imc_flags; + struct mini_crypto_stream imc_streams[N_ENC_LEVS]; + void *imc_stream_ps[N_ENC_LEVS]; + struct { + struct stream_frame *frame; /* Latest frame - on stack - be careful. */ + enum enc_level enc_level; + } imc_last_in; + TAILQ_HEAD(, lsquic_packet_in) imc_app_packets; + TAILQ_HEAD(, lsquic_packet_out) imc_packets_out; + TAILQ_HEAD(, stream_frame) imc_crypto_frames; + packno_set_t imc_sent_packnos; + union { + packno_set_t bitmasks[IMICO_N_PNS]; + struct { + struct trechist_elem *hist_elems; + trechist_mask_t hist_masks[IMICO_N_PNS]; + } trechist; + } imc_recvd_packnos; + packno_set_t imc_acked_packnos[IMICO_N_PNS]; + lsquic_time_t imc_largest_recvd[IMICO_N_PNS]; + struct lsquic_rtt_stats imc_rtt_stats; + enum trans_error_code imc_error_code; + unsigned imc_bytes_in; + unsigned imc_bytes_out; + unsigned short imc_crypto_frames_sz; + /* We need to read in the length of ClientHello to check when we have fed + * it to the crypto layer. + */ + unsigned short imc_ch_len; + unsigned char imc_next_packno; + unsigned char imc_hsk_count; + /* We don't send more than eight in the first flight, and so it's OK to + * use uint8_t. This value is also used as a boolean: when ECN black + * hole is detected, it is set to zero to indicate that black hole + * detection is no longer active. + */ + uint8_t imc_ecn_packnos; + uint8_t imc_ack_exp; + uint8_t imc_ecn_counts_in[IMICO_N_PNS][4]; + uint8_t imc_incoming_ecn; + uint8_t imc_tls_alert; +#define IMICO_MAX_DELAYED_PACKETS_UNVALIDATED 1u +#define IMICO_MAX_DELAYED_PACKETS_VALIDATED 2u + unsigned char imc_delayed_packets_count; +#define IMICO_MAX_STASHED_FRAMES 10u + unsigned char imc_n_crypto_frames; + unsigned short imc_hello_pkt_remain; + unsigned char imc_long_header_sz; + struct network_path imc_path; +}; + +/* [draft-ietf-quic-transport-24] Section 7.4 + * + " Implementations MUST support buffering at least 4096 bytes of data + " received in CRYPTO frames out of order. Endpoints MAY choose to + " allow more data to be buffered during the handshake. A larger limit + " during the handshake could allow for larger keys or credentials to be + " exchanged. An endpoint's buffer size does not need to remain + " constant during the life of the connection. + */ +#define IMICO_MAX_BUFFERED_CRYPTO (6u * 1024u) + +struct lsquic_conn * +lsquic_mini_conn_ietf_new (struct lsquic_engine_public *, + struct lsquic_packet_in *, + enum lsquic_version, int is_ipv4, const struct lsquic_cid *, + size_t udp_payload_size); + +int +lsquic_mini_conn_ietf_ecn_ok (const struct ietf_mini_conn *); + +struct ietf_mini_rechist +{ + const struct ietf_mini_conn *conn; + enum packnum_space pns; + union { + struct { + packno_set_t cur_set; + struct lsquic_packno_range range; /* We return a pointer to this */ + int cur_idx; + } bitmask; + struct trechist_iter trechist_iter; + } u; +}; + +void +lsquic_imico_rechist_init (struct ietf_mini_rechist *rechist, + const struct ietf_mini_conn *conn, enum packnum_space pns); + +const struct lsquic_packno_range * +lsquic_imico_rechist_first (void *rechist_ctx); + +const struct lsquic_packno_range * +lsquic_imico_rechist_next (void *rechist_ctx); + +int +lsquic_mini_conn_ietf_pre_promote(struct ietf_mini_conn *conn, + lsquic_time_t now); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_minmax.c b/external/lsquic/src/liblsquic/lsquic_minmax.c new file mode 100644 index 0000000..d6a1849 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_minmax.c @@ -0,0 +1,155 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Based on Google code released under BSD license here: + * https://groups.google.com/forum/#!topic/bbr-dev/3RTgkzi5ZD8 + */ + +/* + * Copyright 2017, Google Inc. + * + * Use of this source code is governed by the following BSD-style license: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Kathleen Nichols' algorithm for tracking the minimum (or maximum) + * value of a data stream over some fixed time interval. (E.g., + * the minimum RTT over the past five minutes.) It uses constant + * space and constant time per update yet almost always delivers + * the same minimum as an implementation that has to keep all the + * data in the window. + * + * The algorithm keeps track of the best, 2nd best & 3rd best min + * values, maintaining an invariant that the measurement time of + * the n'th best >= n-1'th best. It also makes sure that the three + * values are widely separated in the time window since that bounds + * the worse case error when that data is monotonically increasing + * over the window. + * + * Upon getting a new min, we can forget everything earlier because + * it has no value - the new min is <= everything else in the window + * by definition and it'samples the most recent. So we restart fresh on + * every new min and overwrites 2nd & 3rd choices. The same property + * holds for 2nd & 3rd best. + */ + +#include +#include + +#include "lsquic_minmax.h" + +/* As time advances, update the 1st, 2nd, and 3rd choices. */ +static void +minmax_subwin_update (struct minmax *minmax, const struct minmax_sample *sample) +{ + uint64_t dt = sample->time - minmax->samples[0].time; + + if (dt > minmax->window) + { + /* + * Passed entire window without a new sample so make 2nd + * choice the new sample & 3rd choice the new 2nd choice. + * we may have to iterate this since our 2nd choice + * may also be outside the window (we checked on entry + * that the third choice was in the window). + */ + minmax->samples[0] = minmax->samples[1]; + minmax->samples[1] = minmax->samples[2]; + minmax->samples[2] = *sample; + if (sample->time - minmax->samples[0].time > minmax->window) { + minmax->samples[0] = minmax->samples[1]; + minmax->samples[1] = minmax->samples[2]; + minmax->samples[2] = *sample; + } + } + else if (minmax->samples[1].time == minmax->samples[0].time + && dt > minmax->window / 4) + { + /* + * We've passed a quarter of the window without a new sample + * so take a 2nd choice from the 2nd quarter of the window. + */ + minmax->samples[2] = minmax->samples[1] = *sample; + } + else if (minmax->samples[2].time == minmax->samples[1].time + && dt > minmax->window / 2) + { + /* + * We've passed half the window without finding a new sample + * so take a 3rd choice from the last half of the window + */ + minmax->samples[2] = *sample; + } +} + + +/* Check if new measurement updates the 1st, 2nd or 3rd choice max. */ +void +lsquic_minmax_update_max (struct minmax *minmax, uint64_t now, uint64_t meas) +{ + struct minmax_sample sample = { .time = now, .value = meas }; + + if (minmax->samples[0].value == 0 /* uninitialized */ + || sample.value >= minmax->samples[0].value /* found new max? */ + || sample.time - minmax->samples[2].time > minmax->window) /* nothing left in window? */ + { + minmax_reset(minmax, sample); /* forget earlier samples */ + return; + } + + if (sample.value >= minmax->samples[1].value) + minmax->samples[2] = minmax->samples[1] = sample; + else if (sample.value >= minmax->samples[2].value) + minmax->samples[2] = sample; + + minmax_subwin_update(minmax, &sample); +} + + +/* Check if new measurement updates the 1st, 2nd or 3rd choice min. */ +void +lsquic_minmax_update_min (struct minmax *minmax, uint64_t now, uint64_t meas) +{ + struct minmax_sample sample = { .time = now, .value = meas }; + + if (minmax->samples[0].value == 0 /* uninitialized */ + || sample.value <= minmax->samples[0].value /* found new min? */ + || sample.time - minmax->samples[2].time > minmax->window) /* nothing left in window? */ + { + minmax_reset(minmax, sample); /* forget earlier samples */ + return; + } + + if (sample.value <= minmax->samples[1].value) + minmax->samples[2] = minmax->samples[1] = sample; + else if (sample.value <= minmax->samples[2].value) + minmax->samples[2] = sample; + + minmax_subwin_update(minmax, &sample); +} diff --git a/external/lsquic/src/liblsquic/lsquic_minmax.h b/external/lsquic/src/liblsquic/lsquic_minmax.h new file mode 100644 index 0000000..3f94f81 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_minmax.h @@ -0,0 +1,52 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_MINMAX_H +#define LSQUIC_MINMAX_H + +/* Windowed min/max tracker by Kathleen Nichols. + * + * Based on Google code released under BSD license here: + * https://groups.google.com/forum/#!topic/bbr-dev/3RTgkzi5ZD8 + */ + + +struct minmax_sample +{ + uint64_t time; + uint64_t value; +}; + +struct minmax +{ + uint64_t window; + struct minmax_sample samples[3]; +}; + +static inline uint64_t +minmax_get_idx (const struct minmax *minmax_, int idx_) +{ + return minmax_->samples[idx_].value; +} + +static inline uint64_t +minmax_get (const struct minmax *minmax_) +{ + return minmax_get_idx(minmax_, 0); +} + +#define minmax_reset(minmax_, sample_) do { \ + (minmax_)->samples[0] = (minmax_)->samples[1] \ + = (minmax_)->samples[2] = (sample_); \ +} while (0) + +#define minmax_init(minmax_, window_) do { \ + (minmax_)->window = (window_); \ + minmax_reset(minmax_, ((struct minmax_sample) { 0, 0, })); \ +} while (0) + +void lsquic_minmax_update_min(struct minmax *, uint64_t now, uint64_t meas); +void lsquic_minmax_update_max(struct minmax *, uint64_t now, uint64_t meas); + +#define minmax_upmin lsquic_minmax_update_min +#define minmax_upmax lsquic_minmax_update_max + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_mm.c b/external/lsquic/src/liblsquic/lsquic_mm.c new file mode 100644 index 0000000..38dbf7e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_mm.c @@ -0,0 +1,635 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_mm.c -- Memory manager. + */ + +#include +#include +#include +#include +#include +#include + +#include "fiu-local.h" + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_sizes.h" +#include "lsquic_malo.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_rtt.h" +#include "lsquic_packet_common.h" +#include "lsquic_mini_conn.h" +#include "lsquic_enc_sess.h" +#include "lsquic_trechist.h" +#include "lsquic_mini_conn_ietf.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_full_conn.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_sfcw.h" +#include "lsquic_stream.h" + +#ifndef LSQUIC_LOG_POOL_STATS +#define LSQUIC_LOG_POOL_STATS 0 +#endif + +#if LSQUIC_LOG_POOL_STATS +#include "lsquic_logger.h" +#endif + +#ifndef LSQUIC_USE_POOLS +#define LSQUIC_USE_POOLS 1 +#endif + +#define FAIL_NOMEM do { errno = ENOMEM; return NULL; } while (0) + + +struct packet_in_buf +{ + SLIST_ENTRY(packet_in_buf) next_pib; +}; + +struct packet_out_buf +{ + SLIST_ENTRY(packet_out_buf) next_pob; +}; + +struct four_k_page +{ + SLIST_ENTRY(four_k_page) next_fkp; +}; + +struct sixteen_k_page +{ + SLIST_ENTRY(sixteen_k_page) next_skp; +}; + + +int +lsquic_mm_init (struct lsquic_mm *mm) +{ +#if LSQUIC_USE_POOLS + int i; +#endif + + mm->acki = malloc(sizeof(*mm->acki)); + mm->malo.stream_frame = lsquic_malo_create(sizeof(struct stream_frame)); + mm->malo.frame_rec_arr = lsquic_malo_create(sizeof(struct frame_rec_arr)); + mm->malo.mini_conn = lsquic_malo_create(sizeof(struct mini_conn)); + mm->malo.mini_conn_ietf = lsquic_malo_create(sizeof(struct ietf_mini_conn)); + mm->malo.packet_in = lsquic_malo_create(sizeof(struct lsquic_packet_in)); + mm->malo.packet_out = lsquic_malo_create(sizeof(struct lsquic_packet_out)); + mm->malo.dcid_elem = lsquic_malo_create(sizeof(struct dcid_elem)); + mm->malo.stream_hq_frame + = lsquic_malo_create(sizeof(struct stream_hq_frame)); + mm->ack_str = malloc(MAX_ACKI_STR_SZ); +#if LSQUIC_USE_POOLS + TAILQ_INIT(&mm->free_packets_in); + for (i = 0; i < MM_N_OUT_BUCKETS; ++i) + SLIST_INIT(&mm->packet_out_bufs[i]); + for (i = 0; i < MM_N_IN_BUCKETS; ++i) + SLIST_INIT(&mm->packet_in_bufs[i]); + SLIST_INIT(&mm->four_k_pages); + SLIST_INIT(&mm->sixteen_k_pages); +#endif + if (mm->acki && mm->malo.stream_frame && mm->malo.frame_rec_arr + && mm->malo.mini_conn && mm->malo.mini_conn_ietf && mm->malo.packet_in + && mm->malo.packet_out && mm->malo.dcid_elem + && mm->malo.stream_hq_frame && mm->ack_str) + { + return 0; + } + else + return -1; +} + + +void +lsquic_mm_cleanup (struct lsquic_mm *mm) +{ +#if LSQUIC_USE_POOLS + int i; + struct packet_out_buf *pob; + struct packet_in_buf *pib; + struct four_k_page *fkp; + struct sixteen_k_page *skp; +#endif + + free(mm->acki); + lsquic_malo_destroy(mm->malo.stream_hq_frame); + lsquic_malo_destroy(mm->malo.dcid_elem); + lsquic_malo_destroy(mm->malo.packet_in); + lsquic_malo_destroy(mm->malo.packet_out); + lsquic_malo_destroy(mm->malo.stream_frame); + lsquic_malo_destroy(mm->malo.frame_rec_arr); + lsquic_malo_destroy(mm->malo.mini_conn); + lsquic_malo_destroy(mm->malo.mini_conn_ietf); + free(mm->ack_str); + +#if LSQUIC_USE_POOLS + for (i = 0; i < MM_N_OUT_BUCKETS; ++i) + while ((pob = SLIST_FIRST(&mm->packet_out_bufs[i]))) + { + SLIST_REMOVE_HEAD(&mm->packet_out_bufs[i], next_pob); + free(pob); + } + + for (i = 0; i < MM_N_IN_BUCKETS; ++i) + while ((pib = SLIST_FIRST(&mm->packet_in_bufs[i]))) + { + SLIST_REMOVE_HEAD(&mm->packet_in_bufs[i], next_pib); + free(pib); + } + + while ((fkp = SLIST_FIRST(&mm->four_k_pages))) + { + SLIST_REMOVE_HEAD(&mm->four_k_pages, next_fkp); + free(fkp); + } + + while ((skp = SLIST_FIRST(&mm->sixteen_k_pages))) + { + SLIST_REMOVE_HEAD(&mm->sixteen_k_pages, next_skp); + free(skp); + } +#endif +} + + +#if LSQUIC_USE_POOLS +enum { + PACKET_IN_PAYLOAD_0 = 1370, /* common QUIC payload size upperbound */ + PACKET_IN_PAYLOAD_1 = 4096, /* payload size middleground guess */ + PACKET_IN_PAYLOAD_2 = 0xffff, /* UDP payload size upperbound */ +}; + + +static const unsigned packet_in_sizes[] = { + PACKET_IN_PAYLOAD_0, + PACKET_IN_PAYLOAD_1, + PACKET_IN_PAYLOAD_2, +}; + + +static unsigned +packet_in_index (unsigned size) +{ + unsigned idx = (size > PACKET_IN_PAYLOAD_0) + + (size > PACKET_IN_PAYLOAD_1); + return idx; +} +#endif + + +void +lsquic_mm_put_packet_in (struct lsquic_mm *mm, + struct lsquic_packet_in *packet_in) +{ + assert(0 == packet_in->pi_refcnt); + if (packet_in->pi_flags & PI_OWN_DATA) + { + lsquic_mm_put_packet_in_buf(mm, packet_in->pi_data, packet_in->pi_data_sz); + } + +#if LSQUIC_USE_POOLS + TAILQ_INSERT_HEAD(&mm->free_packets_in, packet_in, pi_next); +#else + lsquic_malo_put(packet_in); +#endif +} + + +struct lsquic_packet_in * +lsquic_mm_get_packet_in (struct lsquic_mm *mm) +{ + struct lsquic_packet_in *packet_in; + + fiu_do_on("mm/packet_in", FAIL_NOMEM); + +#if LSQUIC_USE_POOLS + packet_in = TAILQ_FIRST(&mm->free_packets_in); + if (packet_in) + { + assert(0 == packet_in->pi_refcnt); + TAILQ_REMOVE(&mm->free_packets_in, packet_in, pi_next); + } + else +#endif + packet_in = lsquic_malo_get(mm->malo.packet_in); + + if (packet_in) + memset(packet_in, 0, sizeof(*packet_in)); + + return packet_in; +} + + +#if LSQUIC_USE_POOLS +/* Based on commonly used MTUs, ordered from small to large: */ +enum { + PACKET_OUT_PAYLOAD_0 = 1280 - GQUIC_MIN_PACKET_OVERHEAD, + PACKET_OUT_PAYLOAD_1 = GQUIC_MAX_IPv6_PACKET_SZ - GQUIC_MIN_PACKET_OVERHEAD, + PACKET_OUT_PAYLOAD_2 = GQUIC_MAX_IPv4_PACKET_SZ - GQUIC_MIN_PACKET_OVERHEAD, + PACKET_OUT_PAYLOAD_3 = 4096, + PACKET_OUT_PAYLOAD_4 = 0xffff, +}; + + +static const unsigned packet_out_sizes[] = { + PACKET_OUT_PAYLOAD_0, + PACKET_OUT_PAYLOAD_1, + PACKET_OUT_PAYLOAD_2, + PACKET_OUT_PAYLOAD_3, + PACKET_OUT_PAYLOAD_4, +}; + + +static unsigned +packet_out_index (unsigned size) +{ + unsigned idx = (size > PACKET_OUT_PAYLOAD_0) + + (size > PACKET_OUT_PAYLOAD_1) + + (size > PACKET_OUT_PAYLOAD_2) + + (size > PACKET_OUT_PAYLOAD_3); + return idx; +} +#endif + +#if LSQUIC_USE_POOLS +#define POOL_SAMPLE_PERIOD 1024 + +static void +poolst_sample_max (struct pool_stats *poolst) +{ +#define ALPHA_SHIFT 3 +#define BETA_SHIFT 2 + unsigned diff; + + if (poolst->ps_max_avg) + { + poolst->ps_max_var -= poolst->ps_max_var >> BETA_SHIFT; + if (poolst->ps_max_avg > poolst->ps_max) + diff = poolst->ps_max_avg - poolst->ps_max; + else + diff = poolst->ps_max - poolst->ps_max_avg; + poolst->ps_max_var += diff >> BETA_SHIFT; + poolst->ps_max_avg -= poolst->ps_max_avg >> ALPHA_SHIFT; + poolst->ps_max_avg += poolst->ps_max >> ALPHA_SHIFT; + } + else + { + /* First measurement */ + poolst->ps_max_avg = poolst->ps_max; + poolst->ps_max_var = poolst->ps_max / 2; + } + + poolst->ps_calls = 0; + poolst->ps_max = poolst->ps_objs_out; +#if LSQUIC_LOG_POOL_STATS + LSQ_DEBUG("new sample: max avg: %u; var: %u", poolst->ps_max_avg, + poolst->ps_max_var); +#endif +} + + +static void +poolst_allocated (struct pool_stats *poolst, unsigned new) +{ + poolst->ps_objs_out += 1; + poolst->ps_objs_all += new; + if (poolst->ps_objs_out > poolst->ps_max) + poolst->ps_max = poolst->ps_objs_out; + ++poolst->ps_calls; + if (0 == poolst->ps_calls % POOL_SAMPLE_PERIOD) + poolst_sample_max(poolst); +} + + +static void +poolst_freed (struct pool_stats *poolst) +{ + --poolst->ps_objs_out; + ++poolst->ps_calls; + if (0 == poolst->ps_calls % POOL_SAMPLE_PERIOD) + poolst_sample_max(poolst); +} + + +static int +poolst_has_new_sample (const struct pool_stats *poolst) +{ + return poolst->ps_calls == 0; +} + + +/* If average maximum falls under 1/4 of all objects allocated, release + * half of the objects allocated. + */ +static void +maybe_shrink_packet_out_bufs (struct lsquic_mm *mm, unsigned idx) +{ + struct pool_stats *poolst; + struct packet_out_buf *pob; + unsigned n_to_leave; + + poolst = &mm->packet_out_bstats[idx]; + if (poolst->ps_max_avg * 4 < poolst->ps_objs_all) + { + n_to_leave = poolst->ps_objs_all / 2; + while (poolst->ps_objs_all > n_to_leave + && (pob = SLIST_FIRST(&mm->packet_out_bufs[idx]))) + { + SLIST_REMOVE_HEAD(&mm->packet_out_bufs[idx], next_pob); + free(pob); + --poolst->ps_objs_all; + } +#if LSQUIC_LOG_POOL_STATS + LSQ_DEBUG("pool #%u; max avg %u; shrank from %u to %u objs", + idx, poolst->ps_max_avg, n_to_leave * 2, poolst->ps_objs_all); +#endif + } +#if LSQUIC_LOG_POOL_STATS + else + LSQ_DEBUG("pool #%u; max avg %u; objs: %u; won't shrink", + idx, poolst->ps_max_avg, poolst->ps_objs_all); +#endif +} +#endif + + +#if LSQUIC_USE_POOLS +/* If average maximum falls under 1/4 of all objects allocated, release + * half of the objects allocated. + */ +static void +maybe_shrink_packet_in_bufs (struct lsquic_mm *mm, unsigned idx) +{ + struct pool_stats *poolst; + struct packet_in_buf *pib; + unsigned n_to_leave; + + poolst = &mm->packet_in_bstats[idx]; + if (poolst->ps_max_avg * 4 < poolst->ps_objs_all) + { + n_to_leave = poolst->ps_objs_all / 2; + while (poolst->ps_objs_all > n_to_leave + && (pib = SLIST_FIRST(&mm->packet_in_bufs[idx]))) + { + SLIST_REMOVE_HEAD(&mm->packet_in_bufs[idx], next_pib); + free(pib); + --poolst->ps_objs_all; + } +#if LSQUIC_LOG_POOL_STATS + LSQ_DEBUG("pib pool #%u; max avg %u; shrank from %u to %u objs", + idx, poolst->ps_max_avg, n_to_leave * 2, poolst->ps_objs_all); +#endif + } +#if LSQUIC_LOG_POOL_STATS + else + { + LSQ_DEBUG("pib pool #%u; max avg %u; objs: %u; won't shrink", + idx, poolst->ps_max_avg, poolst->ps_objs_all); + } +#endif +} +#endif + + +void +lsquic_mm_put_packet_out (struct lsquic_mm *mm, + struct lsquic_packet_out *packet_out) +{ +#if LSQUIC_USE_POOLS + struct packet_out_buf *pob; + unsigned idx; + + assert(packet_out->po_data); + pob = (struct packet_out_buf *) packet_out->po_data; + idx = packet_out_index(packet_out->po_n_alloc); + SLIST_INSERT_HEAD(&mm->packet_out_bufs[idx], pob, next_pob); + poolst_freed(&mm->packet_out_bstats[idx]); + if (poolst_has_new_sample(&mm->packet_out_bstats[idx])) + maybe_shrink_packet_out_bufs(mm, idx); +#else + free(packet_out->po_data); +#endif + lsquic_malo_put(packet_out); +} + + +struct lsquic_packet_out * +lsquic_mm_get_packet_out (struct lsquic_mm *mm, struct malo *malo, + unsigned short size) +{ + struct lsquic_packet_out *packet_out; + struct packet_out_buf *pob; +#if LSQUIC_USE_POOLS + unsigned idx; +#endif + + fiu_do_on("mm/packet_out", FAIL_NOMEM); + + packet_out = lsquic_malo_get(malo ? malo : mm->malo.packet_out); + if (!packet_out) + return NULL; + +#if LSQUIC_USE_POOLS + idx = packet_out_index(size); + pob = SLIST_FIRST(&mm->packet_out_bufs[idx]); + if (pob) + { + SLIST_REMOVE_HEAD(&mm->packet_out_bufs[idx], next_pob); + poolst_allocated(&mm->packet_out_bstats[idx], 0); + } + else + { + pob = malloc(packet_out_sizes[idx]); + if (!pob) + { + lsquic_malo_put(packet_out); + return NULL; + } + poolst_allocated(&mm->packet_out_bstats[idx], 1); + } + if (poolst_has_new_sample(&mm->packet_out_bstats[idx])) + maybe_shrink_packet_out_bufs(mm, idx); +#else + pob = malloc(size); + if (!pob) + { + lsquic_malo_put(packet_out); + return NULL; + } +#endif + + memset(packet_out, 0, sizeof(*packet_out)); + packet_out->po_n_alloc = size; + packet_out->po_data = (unsigned char *) pob; + + return packet_out; +} + + +void * +lsquic_mm_get_packet_in_buf (struct lsquic_mm *mm, size_t size) +{ + struct packet_in_buf *pib; +#if LSQUIC_USE_POOLS + unsigned idx; + + idx = packet_in_index(size); + pib = SLIST_FIRST(&mm->packet_in_bufs[idx]); + fiu_do_on("mm/packet_in_buf", FAIL_NOMEM); + if (pib) + { + SLIST_REMOVE_HEAD(&mm->packet_in_bufs[idx], next_pib); + poolst_allocated(&mm->packet_in_bstats[idx], 0); + } + else + { + pib = malloc(packet_in_sizes[idx]); + if (!pib) + { + return NULL; + } + + poolst_allocated(&mm->packet_in_bstats[idx], 1); + } + + if (poolst_has_new_sample(&mm->packet_in_bstats[idx])) + { + maybe_shrink_packet_in_bufs(mm, idx); + } +#else + pib = malloc(size); +#endif + return pib; +} + + +void +lsquic_mm_put_packet_in_buf (struct lsquic_mm *mm, void *mem, size_t size) +{ +#if LSQUIC_USE_POOLS + unsigned idx; + struct packet_in_buf *pib; + + pib = (struct packet_in_buf *) mem; + idx = packet_in_index(size); + SLIST_INSERT_HEAD(&mm->packet_in_bufs[idx], pib, next_pib); + + poolst_freed(&mm->packet_in_bstats[idx]); + if (poolst_has_new_sample(&mm->packet_in_bstats[idx])) + { + maybe_shrink_packet_in_bufs(mm, idx); + } +#else + free(mem); +#endif +} + + +void * +lsquic_mm_get_4k (struct lsquic_mm *mm) +{ +#if LSQUIC_USE_POOLS + struct four_k_page *fkp = SLIST_FIRST(&mm->four_k_pages); + fiu_do_on("mm/4k", FAIL_NOMEM); + if (fkp) + SLIST_REMOVE_HEAD(&mm->four_k_pages, next_fkp); + else + fkp = malloc(0x1000); + return fkp; +#else + return malloc(0x1000); +#endif +} + + +void +lsquic_mm_put_4k (struct lsquic_mm *mm, void *mem) +{ +#if LSQUIC_USE_POOLS + struct four_k_page *fkp = mem; + SLIST_INSERT_HEAD(&mm->four_k_pages, fkp, next_fkp); +#else + free(mem); +#endif +} + + +void * +lsquic_mm_get_16k (struct lsquic_mm *mm) +{ +#if LSQUIC_USE_POOLS + struct sixteen_k_page *skp = SLIST_FIRST(&mm->sixteen_k_pages); + fiu_do_on("mm/16k", FAIL_NOMEM); + if (skp) + SLIST_REMOVE_HEAD(&mm->sixteen_k_pages, next_skp); + else + skp = malloc(16 * 1024); + return skp; +#else + return malloc(16 * 1024); +#endif +} + + +void +lsquic_mm_put_16k (struct lsquic_mm *mm, void *mem) +{ +#if LSQUIC_USE_POOLS + struct sixteen_k_page *skp = mem; + SLIST_INSERT_HEAD(&mm->sixteen_k_pages, skp, next_skp); +#else + free(mem); +#endif +} + + +size_t +lsquic_mm_mem_used (const struct lsquic_mm *mm) +{ +#if LSQUIC_USE_POOLS + const struct packet_out_buf *pob; + const struct packet_in_buf *pib; + const struct four_k_page *fkp; + const struct sixteen_k_page *skp; + unsigned i; + size_t size; + + size = sizeof(*mm); + size += sizeof(*mm->acki); + size += lsquic_malo_mem_used(mm->malo.stream_frame); + size += lsquic_malo_mem_used(mm->malo.frame_rec_arr); + size += lsquic_malo_mem_used(mm->malo.mini_conn); + size += lsquic_malo_mem_used(mm->malo.mini_conn_ietf); + size += lsquic_malo_mem_used(mm->malo.packet_in); + size += lsquic_malo_mem_used(mm->malo.packet_out); + + for (i = 0; i < MM_N_OUT_BUCKETS; ++i) + SLIST_FOREACH(pob, &mm->packet_out_bufs[i], next_pob) + size += packet_out_sizes[i]; + + for (i = 0; i < MM_N_IN_BUCKETS; ++i) + SLIST_FOREACH(pib, &mm->packet_in_bufs[i], next_pib) + size += packet_in_sizes[i]; + + SLIST_FOREACH(fkp, &mm->four_k_pages, next_fkp) + size += 0x1000; + + SLIST_FOREACH(skp, &mm->sixteen_k_pages, next_skp) + size += 0x4000; + + return size; +#else + return sizeof(*mm); +#endif +} diff --git a/external/lsquic/src/liblsquic/lsquic_mm.h b/external/lsquic/src/liblsquic/lsquic_mm.h new file mode 100644 index 0000000..f949691 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_mm.h @@ -0,0 +1,100 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_mm.h -- Memory manager. + * + * Allocators and in this class are meant to be used for the lifetime of + * QUIC engine. + */ + +#ifndef LSQUIC_MM_H +#define LSQUIC_MM_H 1 + +struct lsquic_engine_public; +struct lsquic_packet_in; +struct lsquic_packet_out; +struct ack_info; +struct malo; +struct mini_conn; + +struct pool_stats +{ + unsigned ps_calls; /* Calls to get/put */ + unsigned ps_max; /* Maximum during this sample period */ + unsigned ps_max_avg, /* Average maximum value */ + ps_max_var; + unsigned ps_objs_all; /* Number of objects owned by the pool */ + unsigned ps_objs_out; /* Number of objects in use */ +}; + +#define MM_N_OUT_BUCKETS 5 +#define MM_N_IN_BUCKETS 3 + +struct lsquic_mm { + struct ack_info *acki; + struct { + struct malo *stream_frame; /* For struct stream_frame */ + struct malo *frame_rec_arr; /* For struct frame_rec_arr */ + struct malo *mini_conn; /* For struct mini_conn */ + struct malo *mini_conn_ietf;/* For struct ietf_mini_conn */ + struct malo *packet_in; /* For struct lsquic_packet_in */ + struct malo *packet_out; /* For struct lsquic_packet_out */ + struct malo *dcid_elem; /* For struct dcid_elem */ + struct malo *stream_hq_frame; /* For struct stream_hq_frame */ + } malo; + TAILQ_HEAD(, lsquic_packet_in) free_packets_in; + SLIST_HEAD(, packet_out_buf) packet_out_bufs[MM_N_OUT_BUCKETS]; + struct pool_stats packet_out_bstats[MM_N_OUT_BUCKETS]; + struct pool_stats packet_in_bstats[MM_N_IN_BUCKETS]; + SLIST_HEAD(, packet_in_buf) packet_in_bufs[MM_N_IN_BUCKETS]; + SLIST_HEAD(, four_k_page) four_k_pages; + SLIST_HEAD(, sixteen_k_page) sixteen_k_pages; + char *ack_str; +}; + +int +lsquic_mm_init (struct lsquic_mm *); + +void +lsquic_mm_cleanup (struct lsquic_mm *); + +struct lsquic_packet_in * +lsquic_mm_get_packet_in (struct lsquic_mm *); + +void +lsquic_mm_put_packet_in (struct lsquic_mm *, struct lsquic_packet_in *); + +#define lsquic_packet_in_put(mm, p) do { \ + assert((p)->pi_refcnt != 0); \ + if (--(p)->pi_refcnt == 0) \ + lsquic_mm_put_packet_in(mm, p); \ +} while (0) + +struct lsquic_packet_out * +lsquic_mm_get_packet_out (struct lsquic_mm *, struct malo *, + unsigned short size); + +void +lsquic_mm_put_packet_out (struct lsquic_mm *, struct lsquic_packet_out *); + +void * +lsquic_mm_get_packet_in_buf (struct lsquic_mm *, size_t); + +void +lsquic_mm_put_packet_in_buf (struct lsquic_mm *, void *, size_t); + +void * +lsquic_mm_get_4k (struct lsquic_mm *); + +void +lsquic_mm_put_4k (struct lsquic_mm *, void *); + +void * +lsquic_mm_get_16k (struct lsquic_mm *); + +void +lsquic_mm_put_16k (struct lsquic_mm *, void *); + +size_t +lsquic_mm_mem_used (const struct lsquic_mm *mm); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_pacer.c b/external/lsquic/src/liblsquic/lsquic_pacer.c new file mode 100644 index 0000000..22842c5 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_pacer.c @@ -0,0 +1,160 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#ifdef WIN32 +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_pacer.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_out.h" +#include "lsquic_util.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PACER +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(pacer->pa_conn) +#include "lsquic_logger.h" + +#ifndef MAX +# define MAX(a, b) ((a) > (b) ? (a) : (b)) +#endif + + +void +lsquic_pacer_init (struct pacer *pacer, const struct lsquic_conn *conn, + unsigned clock_granularity) +{ + memset(pacer, 0, sizeof(*pacer)); + pacer->pa_burst_tokens = 10; + pacer->pa_conn = conn; + pacer->pa_clock_granularity = clock_granularity; +} + + +void +lsquic_pacer_cleanup (struct pacer *pacer) +{ +#ifndef NDEBUG + LSQ_DEBUG("scheduled calls: %u", pacer->pa_stats.n_scheduled); +#endif +} + + +void +lsquic_pacer_packet_scheduled (struct pacer *pacer, unsigned n_in_flight, + int in_recovery, tx_time_f tx_time, void *tx_ctx) +{ + lsquic_time_t delay, sched_time; + int app_limited, making_up; + +#ifndef NDEBUG + ++pacer->pa_stats.n_scheduled; +#endif + ++pacer->pa_n_scheduled; + + if (n_in_flight == 0 && !in_recovery) + { + pacer->pa_burst_tokens = 10; + LSQ_DEBUG("%s: replenish tokens: %u", __func__, pacer->pa_burst_tokens); + } + + if (pacer->pa_burst_tokens > 0) + { + --pacer->pa_burst_tokens; + pacer->pa_flags &= ~PA_LAST_SCHED_DELAYED; + pacer->pa_next_sched = 0; + pacer->pa_last_delayed = 0; + LSQ_DEBUG("%s: tokens: %u", __func__, pacer->pa_burst_tokens); + return; + } + + sched_time = pacer->pa_now; + delay = tx_time(tx_ctx); + if (pacer->pa_flags & PA_LAST_SCHED_DELAYED) + { + pacer->pa_next_sched += delay; + app_limited = pacer->pa_last_delayed != 0 + && pacer->pa_last_delayed + delay <= sched_time; + making_up = pacer->pa_next_sched <= sched_time; + LSQ_DEBUG("making up: %d; app limited; %d", making_up, app_limited); + if (making_up && !app_limited) + pacer->pa_last_delayed = sched_time; + else + { + pacer->pa_flags &= ~PA_LAST_SCHED_DELAYED; + pacer->pa_last_delayed = 0; + } + } + else + pacer->pa_next_sched = MAX(pacer->pa_next_sched + delay, + sched_time + delay); + LSQ_DEBUG("next_sched is set to %"PRIu64" usec from now", + pacer->pa_next_sched - pacer->pa_now); +} + + +void +lsquic_pacer_loss_event (struct pacer *pacer) +{ + pacer->pa_burst_tokens = 0; + LSQ_DEBUG("%s: tokens: %u", __func__, pacer->pa_burst_tokens); +} + + +int +lsquic_pacer_can_schedule (struct pacer *pacer, unsigned n_in_flight) +{ + int can; + + if (pacer->pa_burst_tokens > 0 || n_in_flight == 0) + can = 1; + else if (pacer->pa_next_sched > pacer->pa_now + pacer->pa_clock_granularity) + { + pacer->pa_flags |= PA_LAST_SCHED_DELAYED; + can = 0; + } + else + can = 1; + + LSQ_DEBUG("%s: %d", __func__, can); + return can; +} + + +int +lsquic_pacer_can_schedule_probe (const struct pacer *pacer, + unsigned n_in_flight, lsquic_time_t tx_time) +{ + return pacer->pa_burst_tokens > 1 /* Double packet size, want two tokens */ + || n_in_flight == 0 + || pacer->pa_next_sched > pacer->pa_now + tx_time / 2; +} + + +void +lsquic_pacer_tick_in (struct pacer *pacer, lsquic_time_t now) +{ + assert(now >= pacer->pa_now); + pacer->pa_now = now; + if (pacer->pa_flags & PA_LAST_SCHED_DELAYED) + pacer->pa_flags |= PA_DELAYED_ON_TICK_IN; + pacer->pa_n_scheduled = 0; +} + + +void +lsquic_pacer_tick_out (struct pacer *pacer) +{ + if ((pacer->pa_flags & PA_DELAYED_ON_TICK_IN) + && pacer->pa_n_scheduled == 0 + && pacer->pa_now > pacer->pa_next_sched) + { + LSQ_DEBUG("tick passed without scheduled packets: reset delayed flag"); + pacer->pa_flags &= ~PA_LAST_SCHED_DELAYED; + } + pacer->pa_flags &= ~PA_DELAYED_ON_TICK_IN; +} diff --git a/external/lsquic/src/liblsquic/lsquic_pacer.h b/external/lsquic/src/liblsquic/lsquic_pacer.h new file mode 100644 index 0000000..430dc19 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_pacer.h @@ -0,0 +1,74 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_PACER_H +#define LSQUIC_PACER_H 1 + +struct lsquic_conn; + +struct pacer +{ + const struct lsquic_conn + *pa_conn; /* Used for logging */ + lsquic_time_t pa_next_sched; + lsquic_time_t pa_last_delayed; + lsquic_time_t pa_now; + + /* All tick times are in microseconds */ + + unsigned pa_clock_granularity; + + unsigned pa_burst_tokens; + unsigned pa_n_scheduled; /* Within single tick */ + enum { + PA_LAST_SCHED_DELAYED = (1 << 0), + PA_DELAYED_ON_TICK_IN = (1 << 1), + } pa_flags; +#ifndef NDEBUG + struct { + unsigned n_scheduled; + } pa_stats; +#endif +}; + + +typedef lsquic_time_t (*tx_time_f)(void *ctx); + +void +lsquic_pacer_init (struct pacer *, const struct lsquic_conn *, + unsigned clock_granularity); + +void +lsquic_pacer_cleanup (struct pacer *); + +void +lsquic_pacer_tick_in (struct pacer *, lsquic_time_t); + +void +lsquic_pacer_tick_out (struct pacer *); + +int +lsquic_pacer_can_schedule (struct pacer *, unsigned n_in_flight); + +void +lsquic_pacer_packet_scheduled (struct pacer *pacer, unsigned n_in_flight, + int in_recovery, tx_time_f tx_time, void *tx_ctx); + +void +lsquic_pacer_loss_event (struct pacer *); + +static inline int +lsquic_pacer_delayed (const struct pacer *pacer) +{ + return pacer->pa_flags & PA_LAST_SCHED_DELAYED; +} + +static inline lsquic_time_t +lsquic_pacer_next_sched (struct pacer *pacer) +{ + return +pacer->pa_next_sched; +} + +int +lsquic_pacer_can_schedule_probe (const struct pacer *, + unsigned n_in_flight, lsquic_time_t tx_time); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_packet_common.c b/external/lsquic/src/liblsquic/lsquic_packet_common.c new file mode 100644 index 0000000..dde7a1a --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_common.c @@ -0,0 +1,119 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_packet_common.c -- some common packet-related routines + */ + +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_logger.h" +#include "lsquic_enc_sess.h" +#include "lsquic_packet_common.h" + + +const char * const frame_type_2_str[N_QUIC_FRAMES] = { + [QUIC_FRAME_INVALID] = "QUIC_FRAME_INVALID", + [QUIC_FRAME_STREAM] = "QUIC_FRAME_STREAM", + [QUIC_FRAME_ACK] = "QUIC_FRAME_ACK", + [QUIC_FRAME_PADDING] = "QUIC_FRAME_PADDING", + [QUIC_FRAME_RST_STREAM] = "QUIC_FRAME_RST_STREAM", + [QUIC_FRAME_CONNECTION_CLOSE] = "QUIC_FRAME_CONNECTION_CLOSE", + [QUIC_FRAME_GOAWAY] = "QUIC_FRAME_GOAWAY", + [QUIC_FRAME_WINDOW_UPDATE] = "QUIC_FRAME_WINDOW_UPDATE", + [QUIC_FRAME_BLOCKED] = "QUIC_FRAME_BLOCKED", + [QUIC_FRAME_STOP_WAITING] = "QUIC_FRAME_STOP_WAITING", + [QUIC_FRAME_PING] = "QUIC_FRAME_PING", + [QUIC_FRAME_MAX_DATA] = "QUIC_FRAME_MAX_DATA", + [QUIC_FRAME_MAX_STREAM_DATA] = "QUIC_FRAME_MAX_STREAM_DATA", + [QUIC_FRAME_MAX_STREAMS] = "QUIC_FRAME_MAX_STREAMS", + [QUIC_FRAME_STREAM_BLOCKED] = "QUIC_FRAME_STREAM_BLOCKED", + [QUIC_FRAME_STREAMS_BLOCKED] = "QUIC_FRAME_STREAMS_BLOCKED", + [QUIC_FRAME_NEW_CONNECTION_ID] = "QUIC_FRAME_NEW_CONNECTION_ID", + [QUIC_FRAME_STOP_SENDING] = "QUIC_FRAME_STOP_SENDING", + [QUIC_FRAME_PATH_CHALLENGE] = "QUIC_FRAME_PATH_CHALLENGE", + [QUIC_FRAME_PATH_RESPONSE] = "QUIC_FRAME_PATH_RESPONSE", + [QUIC_FRAME_CRYPTO] = "QUIC_FRAME_CRYPTO", + [QUIC_FRAME_NEW_TOKEN] = "QUIC_FRAME_NEW_TOKEN", + [QUIC_FRAME_RETIRE_CONNECTION_ID] = "QUIC_FRAME_RETIRE_CONNECTION_ID", + [QUIC_FRAME_HANDSHAKE_DONE] = "QUIC_FRAME_HANDSHAKE_DONE", + [QUIC_FRAME_ACK_FREQUENCY] = "QUIC_FRAME_ACK_FREQUENCY", + [QUIC_FRAME_TIMESTAMP] = "QUIC_FRAME_TIMESTAMP", + [QUIC_FRAME_DATAGRAM] = "QUIC_FRAME_DATAGRAM", +}; + + +const char * +lsquic_frame_types_to_str (char *buf, size_t bufsz, + enum quic_ft_bit frame_types) +{ + char *p; + int i, w; + size_t sz; + + if (bufsz > 0) + buf[0] = '\0'; + + p = buf; + for (i = 0; i < N_QUIC_FRAMES; ++i) + { + if (frame_types & (1 << i)) + { + sz = bufsz - (p - buf); + w = snprintf(p, sz, "%.*s%s", p > buf, " ", + frame_type_2_str[i] + sizeof("QUIC_FRAME_") - 1); + if (w > (int) sz) + { + LSQ_WARN("not enough room for all frame types"); + break; + } + p += w; + } + frame_types &= ~(1 << i); + } + + return buf; +} + + +const char *const lsquic_hety2str[] = +{ + [HETY_SHORT] = "SHORT", + [HETY_VERNEG] = "VERNEG", + [HETY_INITIAL] = "INIT", + [HETY_RETRY] = "RETRY", + [HETY_HANDSHAKE] = "HSK", + [HETY_0RTT] = "0-RTT", +}; + + +/* [draft-ietf-quic-tls-14], Section 4 */ +const enum packnum_space lsquic_hety2pns[] = +{ + [HETY_SHORT] = PNS_APP, + [HETY_VERNEG] = 0, + [HETY_INITIAL] = PNS_INIT, + [HETY_RETRY] = 0, + [HETY_HANDSHAKE] = PNS_HSK, + [HETY_0RTT] = PNS_APP, +}; + + +/* [draft-ietf-quic-tls-14], Section 4 */ +const enum packnum_space lsquic_enclev2pns[] = +{ + [ENC_LEV_INIT] = PNS_INIT, + [ENC_LEV_HSK] = PNS_HSK, + [ENC_LEV_0RTT] = PNS_APP, + [ENC_LEV_APP] = PNS_APP, +}; + + +const char *const lsquic_pns2str[] = +{ + [PNS_INIT] = "INIT pns", + [PNS_HSK] = "HSK pns", + [PNS_APP] = "APP pns", +}; diff --git a/external/lsquic/src/liblsquic/lsquic_packet_common.h b/external/lsquic/src/liblsquic/lsquic_packet_common.h new file mode 100644 index 0000000..c82d058 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_common.h @@ -0,0 +1,233 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_PACKET_COMMON_H +#define LSQUIC_PACKET_COMMON_H 1 + + +enum PACKET_PUBLIC_FLAGS +{ + PACKET_PUBLIC_FLAGS_VERSION = 1, + PACKET_PUBLIC_FLAGS_RST = 2, + PACKET_PUBLIC_FLAGS_NONCE = 4, + PACKET_PUBLIC_FLAGS_8BYTE_CONNECTION_ID = 8, + PACKET_PUBLIC_FLAGS_MULTIPATH = 1 << 6, + PACKET_PUBLIC_FLAGS_TWO_OR_MORE_BYTES = 1 << 7, +}; + + +/* The list of frames contains frames both in GQUIC and in IETF QUIC. + * They are marked as follows: + * G Applicable to GQUIC only + * I Applicable to IETF QUIC only + * B Applicable to both GQUIC and IETF QUIC. + */ +enum quic_frame_type +{ + QUIC_FRAME_INVALID, + QUIC_FRAME_STREAM, /* B */ + QUIC_FRAME_ACK, /* B */ + QUIC_FRAME_PADDING, /* B */ + QUIC_FRAME_RST_STREAM, /* B */ + QUIC_FRAME_CONNECTION_CLOSE, /* B */ + QUIC_FRAME_GOAWAY, /* G */ + QUIC_FRAME_WINDOW_UPDATE, /* G */ + QUIC_FRAME_BLOCKED, /* B */ + QUIC_FRAME_STOP_WAITING, /* G */ + QUIC_FRAME_PING, /* B */ + QUIC_FRAME_MAX_DATA, /* I */ + QUIC_FRAME_MAX_STREAM_DATA, /* I */ + QUIC_FRAME_MAX_STREAMS, /* I */ + QUIC_FRAME_STREAM_BLOCKED, /* I */ + QUIC_FRAME_STREAMS_BLOCKED, /* I */ + QUIC_FRAME_NEW_CONNECTION_ID, /* I */ + QUIC_FRAME_STOP_SENDING, /* I */ + QUIC_FRAME_PATH_CHALLENGE, /* I */ + QUIC_FRAME_PATH_RESPONSE, /* I */ + QUIC_FRAME_CRYPTO, /* B */ + QUIC_FRAME_RETIRE_CONNECTION_ID,/* I */ + QUIC_FRAME_NEW_TOKEN, /* I */ + QUIC_FRAME_HANDSHAKE_DONE, /* I */ + QUIC_FRAME_ACK_FREQUENCY, /* I */ + QUIC_FRAME_TIMESTAMP, /* I */ + QUIC_FRAME_DATAGRAM, /* I */ + N_QUIC_FRAMES +}; + +enum quic_ft_bit { + QUIC_FTBIT_INVALID = 1 << QUIC_FRAME_INVALID, + QUIC_FTBIT_STREAM = 1 << QUIC_FRAME_STREAM, + QUIC_FTBIT_ACK = 1 << QUIC_FRAME_ACK, + QUIC_FTBIT_PADDING = 1 << QUIC_FRAME_PADDING, + QUIC_FTBIT_RST_STREAM = 1 << QUIC_FRAME_RST_STREAM, + QUIC_FTBIT_CONNECTION_CLOSE = 1 << QUIC_FRAME_CONNECTION_CLOSE, + QUIC_FTBIT_GOAWAY = 1 << QUIC_FRAME_GOAWAY, + QUIC_FTBIT_WINDOW_UPDATE = 1 << QUIC_FRAME_WINDOW_UPDATE, + QUIC_FTBIT_BLOCKED = 1 << QUIC_FRAME_BLOCKED, + QUIC_FTBIT_STOP_WAITING = 1 << QUIC_FRAME_STOP_WAITING, + QUIC_FTBIT_PING = 1 << QUIC_FRAME_PING, + QUIC_FTBIT_MAX_DATA = 1 << QUIC_FRAME_MAX_DATA, + QUIC_FTBIT_MAX_STREAM_DATA = 1 << QUIC_FRAME_MAX_STREAM_DATA, + QUIC_FTBIT_MAX_STREAMS = 1 << QUIC_FRAME_MAX_STREAMS, + QUIC_FTBIT_STREAM_BLOCKED = 1 << QUIC_FRAME_STREAM_BLOCKED, + QUIC_FTBIT_STREAMS_BLOCKED = 1 << QUIC_FRAME_STREAMS_BLOCKED, + QUIC_FTBIT_NEW_CONNECTION_ID = 1 << QUIC_FRAME_NEW_CONNECTION_ID, + QUIC_FTBIT_STOP_SENDING = 1 << QUIC_FRAME_STOP_SENDING, + QUIC_FTBIT_PATH_CHALLENGE = 1 << QUIC_FRAME_PATH_CHALLENGE, + QUIC_FTBIT_PATH_RESPONSE = 1 << QUIC_FRAME_PATH_RESPONSE, + QUIC_FTBIT_CRYPTO = 1 << QUIC_FRAME_CRYPTO, + QUIC_FTBIT_NEW_TOKEN = 1 << QUIC_FRAME_NEW_TOKEN, + QUIC_FTBIT_RETIRE_CONNECTION_ID = 1 << QUIC_FRAME_RETIRE_CONNECTION_ID, + QUIC_FTBIT_HANDSHAKE_DONE = 1 << QUIC_FRAME_HANDSHAKE_DONE, + QUIC_FTBIT_ACK_FREQUENCY = 1 << QUIC_FRAME_ACK_FREQUENCY, + QUIC_FTBIT_TIMESTAMP = 1 << QUIC_FRAME_TIMESTAMP, + QUIC_FTBIT_DATAGRAM = 1 << QUIC_FRAME_DATAGRAM, +}; + +extern const char * const frame_type_2_str[N_QUIC_FRAMES]; + +#define QUIC_FRAME_PRELEN (sizeof("QUIC_FRAME_")) +#define QUIC_FRAME_SLEN(x) (sizeof(#x) - QUIC_FRAME_PRELEN) +#define QUIC_FRAME_NAME(i) (frame_type_2_str[i] + QUIC_FRAME_PRELEN - 1) + + + /* We don't need to include INVALID frame in this list because it is + * never a part of any frame list bitmask (e.g. po_frame_types). + */ +#define lsquic_frame_types_str_sz \ + QUIC_FRAME_SLEN(QUIC_FRAME_STREAM) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_ACK) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_PADDING) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_RST_STREAM) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_CONNECTION_CLOSE) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_GOAWAY) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_WINDOW_UPDATE) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_BLOCKED) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_STOP_WAITING) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_PING) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_MAX_DATA) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_MAX_STREAM_DATA) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_MAX_STREAMS) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_STREAM_BLOCKED) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_STREAMS_BLOCKED) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_NEW_CONNECTION_ID) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_STOP_SENDING) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_PATH_CHALLENGE) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_PATH_RESPONSE) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_CRYPTO) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_RETIRE_CONNECTION_ID) \ + + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_NEW_TOKEN) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_HANDSHAKE_DONE) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_ACK_FREQUENCY) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_TIMESTAMP) + 1 + \ + QUIC_FRAME_SLEN(QUIC_FRAME_DATAGRAM) + 1 + \ + 0 + + +const char * +lsquic_frame_types_to_str (char *buf, size_t bufsz, enum quic_ft_bit); + +/* This value represents a different number of bytes used to encode the packet + * length based on whether GQUIC or IQUIC is used. + */ +enum packno_bits +{ + PACKNO_BITS_0 = 0, + GQUIC_PACKNO_LEN_1 = PACKNO_BITS_0, + IQUIC_PACKNO_LEN_1 = PACKNO_BITS_0, + PACKNO_BITS_1 = 1, + GQUIC_PACKNO_LEN_2 = PACKNO_BITS_1, + IQUIC_PACKNO_LEN_2 = PACKNO_BITS_1, + PACKNO_BITS_2 = 2, + GQUIC_PACKNO_LEN_4 = PACKNO_BITS_2, + IQUIC_PACKNO_LEN_3 = PACKNO_BITS_2, + PACKNO_BITS_3 = 3, + GQUIC_PACKNO_LEN_6 = PACKNO_BITS_3, + IQUIC_PACKNO_LEN_4 = PACKNO_BITS_3, +}; + + +enum header_type +{ + HETY_NOT_SET, /* This value must be zero */ + HETY_SHORT = HETY_NOT_SET, /* This value must be zero */ + HETY_VERNEG, + HETY_INITIAL, + HETY_RETRY, + HETY_HANDSHAKE, + HETY_0RTT, +}; + +extern const char *const lsquic_hety2str[]; + +#define IQUIC_MAX_PACKNO ((1ULL << 62) - 1) +#define IQUIC_INVALID_PACKNO (IQUIC_MAX_PACKNO + 1) + +/* IETF QUIC only: */ +static inline int +is_valid_packno (uint64_t packno) +{ + return packno <= IQUIC_MAX_PACKNO; +} + +enum packnum_space +{ + PNS_INIT, + PNS_HSK, + PNS_APP, + IMICO_N_PNS = PNS_APP, + N_PNS +}; + +extern const enum packnum_space lsquic_hety2pns[]; +extern const enum packnum_space lsquic_enclev2pns[]; +extern const char *const lsquic_pns2str[]; + +#define ALL_IQUIC_FRAMES ( \ + QUIC_FTBIT_STREAM \ + | QUIC_FTBIT_ACK \ + | QUIC_FTBIT_PADDING \ + | QUIC_FTBIT_RST_STREAM \ + | QUIC_FTBIT_CONNECTION_CLOSE \ + | QUIC_FTBIT_BLOCKED \ + | QUIC_FTBIT_PING \ + | QUIC_FTBIT_MAX_DATA \ + | QUIC_FTBIT_MAX_STREAM_DATA \ + | QUIC_FTBIT_MAX_STREAMS \ + | QUIC_FTBIT_STREAM_BLOCKED \ + | QUIC_FTBIT_STREAMS_BLOCKED \ + | QUIC_FTBIT_NEW_CONNECTION_ID \ + | QUIC_FTBIT_STOP_SENDING \ + | QUIC_FTBIT_PATH_CHALLENGE \ + | QUIC_FTBIT_PATH_RESPONSE \ + | QUIC_FTBIT_RETIRE_CONNECTION_ID \ + | QUIC_FTBIT_NEW_TOKEN \ + | QUIC_FTBIT_HANDSHAKE_DONE \ + | QUIC_FTBIT_ACK_FREQUENCY \ + | QUIC_FTBIT_TIMESTAMP \ + | QUIC_FTBIT_CRYPTO ) + +/* [draft-ietf-quic-transport-24] Section 1.2 */ +#define IQUIC_FRAME_ACKABLE_MASK ( \ + (ALL_IQUIC_FRAMES | QUIC_FTBIT_DATAGRAM) \ + & ~(QUIC_FTBIT_ACK | QUIC_FTBIT_PADDING \ + | QUIC_FTBIT_CONNECTION_CLOSE | QUIC_FTBIT_TIMESTAMP)) + +/* [draft-ietf-quic-transport-20], Section 13.2 */ +/* We bend some rules and retransmit BLOCKED, MAX_DATA, MAX_STREAM_DATA, + * MAX_STREAMS, STREAM_BLOCKED, and STREAMS_BLOCKED frames instead of + * regenerating them. This keeps the code simple(r). + */ +#define IQUIC_FRAME_RETX_MASK ( \ + ALL_IQUIC_FRAMES & ~(QUIC_FTBIT_PADDING | QUIC_FTBIT_PATH_RESPONSE \ + | QUIC_FTBIT_PATH_CHALLENGE | QUIC_FTBIT_ACK \ + | QUIC_FTBIT_TIMESTAMP | QUIC_FTBIT_PING)) + +extern const enum quic_ft_bit lsquic_legal_frames_by_level[][4]; + +/* Applies both to gQUIC and IETF QUIC, thus "B" for "both" */ +#define BQUIC_FRAME_REGEN_MASK ((1 << QUIC_FRAME_ACK) \ + | (1 << QUIC_FRAME_PATH_CHALLENGE) | (1 << QUIC_FRAME_PATH_RESPONSE) \ + | (1 << QUIC_FRAME_STOP_WAITING) | (1 << QUIC_FRAME_TIMESTAMP) \ + | (1 << QUIC_FRAME_DATAGRAM)) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_packet_gquic.c b/external/lsquic/src/liblsquic/lsquic_packet_gquic.c new file mode 100644 index 0000000..21a9c4b --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_gquic.c @@ -0,0 +1,33 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include + +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" + + + +lsquic_packno_t +lsquic_restore_packno (lsquic_packno_t cur_packno, + unsigned len, + lsquic_packno_t max_packno) +{ + lsquic_packno_t candidates[3], epoch_delta; + int64_t diffs[3]; + unsigned min; + + epoch_delta = 1ULL << (len << 3); + candidates[1] = (max_packno & ~(epoch_delta - 1)) + cur_packno; + candidates[0] = candidates[1] - epoch_delta; + candidates[2] = candidates[1] + epoch_delta; + + diffs[0] = llabs((int64_t) candidates[0] - (int64_t) max_packno); + diffs[1] = llabs((int64_t) candidates[1] - (int64_t) max_packno); + diffs[2] = llabs((int64_t) candidates[2] - (int64_t) max_packno); + + min = diffs[1] < diffs[0]; + if (diffs[2] < diffs[min]) + min = 2; + + return candidates[min]; +} diff --git a/external/lsquic/src/liblsquic/lsquic_packet_gquic.h b/external/lsquic/src/liblsquic/lsquic_packet_gquic.h new file mode 100644 index 0000000..faf0ec5 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_gquic.h @@ -0,0 +1,88 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_PACKET_GQUIC_H +#define LSQUIC_PACKET_GQUIC_H 1 + +#include + +#include "lsquic_int_types.h" + + +#define GQUIC_FRAME_ACKABLE_MASK ( \ + (1 << QUIC_FRAME_STREAM) \ + | (1 << QUIC_FRAME_RST_STREAM) \ + | (1 << QUIC_FRAME_GOAWAY) \ + | (1 << QUIC_FRAME_WINDOW_UPDATE) \ + | (1 << QUIC_FRAME_PING) \ + | (1 << QUIC_FRAME_BLOCKED) \ + | (1 << QUIC_FRAME_CRYPTO) \ +) + +#define GQUIC_FRAME_ACKABLE(frame_type) ((1 << (frame_type)) & GQUIC_FRAME_ACKABLE_MASK) + +#define GQUIC_FRAME_RETRANSMITTABLE_MASK ( \ + (1 << QUIC_FRAME_STREAM) \ + | (1 << QUIC_FRAME_RST_STREAM) \ + | (1 << QUIC_FRAME_GOAWAY) \ + | (1 << QUIC_FRAME_WINDOW_UPDATE) \ + | (1 << QUIC_FRAME_BLOCKED) \ + | (1 << QUIC_FRAME_CONNECTION_CLOSE) \ + | (1 << QUIC_FRAME_CRYPTO) \ + | (1 << QUIC_FRAME_PING) \ +) + +#define GQUIC_FRAME_RETRANSMITTABLE(frame_type) \ + ((1 << (frame_type)) & GQUIC_FRAME_RETRANSMITTABLE_MASK) + +#define GQUIC_MAX_PUBHDR_SZ (1 /* Type */ + 8 /* CID */ + 4 /* Version */ \ + + 32 /* Nonce */ + 6 /* Packet Number */ ) + +#define GQUIC_MIN_PUBHDR_SZ (1 /* Type */ + 1 /* Packet number */) + +#define GQUIC_IETF_LONG_HEADER_SIZE (1 /* Type */ + 4 /* Version */ \ + + 1 /* DCIL/SCIL */ + 8 /* CID */ + 4 /* Packet number */) + +/* XXX Nonce? */ +#define IQUIC_MAX_PUBHDR_SZ GQUIC_IETF_LONG_HEADER_SIZE + +#define IQUIC_MIN_PUBHDR_SZ (1 /* Type */ + 8 /* CID */ \ + + 1 /* Packet number */) + +#define QUIC_MAX_PUBHDR_SZ (GQUIC_MAX_PUBHDR_SZ > IQUIC_MAX_PUBHDR_SZ \ + ? GQUIC_MAX_PUBHDR_SZ : IQUIC_MAX_PUBHDR_SZ) + +#define QUIC_MIN_PUBHDR_SZ (GQUIC_MIN_PUBHDR_SZ < IQUIC_MIN_PUBHDR_SZ \ + ? GQUIC_MIN_PUBHDR_SZ : IQUIC_MIN_PUBHDR_SZ) + +/* 12 bytes of FNV hash or encryption IV */ +#define GQUIC_PACKET_HASH_SZ 12 + +/* [draft-hamilton-quic-transport-protocol-01], Section 7 */ +#define GQUIC_MAX_IPv4_PACKET_SZ 1370 +#define GQUIC_MAX_IPv6_PACKET_SZ 1350 + +#define GQUIC_MAX_PACKET_SZ (GQUIC_MAX_IPv4_PACKET_SZ > \ + GQUIC_MAX_IPv6_PACKET_SZ ? GQUIC_MAX_IPv4_PACKET_SZ : GQUIC_MAX_IPv6_PACKET_SZ) + +#define GQUIC_MIN_PACKET_OVERHEAD (GQUIC_PACKET_HASH_SZ + GQUIC_MIN_PUBHDR_SZ) + +#define GQUIC_MAX_PAYLOAD_SZ (GQUIC_MAX_PACKET_SZ - GQUIC_MIN_PACKET_OVERHEAD) + +#define GQUIC_WUF_SZ 13 /* Type (1) + Stream ID (4) + Offset (8) */ +#define GQUIC_BLOCKED_FRAME_SZ 5 /* Type (1) + Stream ID (4) */ +#define GQUIC_RST_STREAM_SZ 17 /* Type (1) + Stream ID (4) + Offset (8) + + Error code (4) */ +#define GQUIC_GOAWAY_FRAME_SZ 11 /* Type (1) + Error code (4) + Stream ID (4) + + Reason phrase length (2) */ + +static inline uint64_t +gquic_packno_bits2len (uint64_t b) +{ + return (b << 1) + !b; +} + +lsquic_packno_t +lsquic_restore_packno (lsquic_packno_t cur_packno, + unsigned packet_len, + lsquic_packno_t max_packno); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_packet_ietf.h b/external/lsquic/src/liblsquic/lsquic_packet_ietf.h new file mode 100644 index 0000000..c744cf9 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_ietf.h @@ -0,0 +1,37 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_PACKET_IETF_H +#define LSQUIC_PACKET_IETF_H 1 + +#define IQUIC_MAX_IPv4_PACKET_SZ 1252 +#define IQUIC_MAX_IPv6_PACKET_SZ 1232 + +static inline unsigned +iquic_packno_bits2len(uint64_t b) +{ + return (b) + 1; +} + +/* [draft-ietf-quic-transport-22] Section 7.2: + " + When an Initial packet is sent by a client that has not previously + received an Initial or Retry packet from the server, it populates the + Destination Connection ID field with an unpredictable value. This + MUST be at least 8 bytes in length. + " + * Because the server always generates 8-byte CIDs, the DCID length cannot be + * smaller than 8 even if the client received an Initial or Retry packet from + * us. + */ +#define MIN_INITIAL_DCID_LEN 8 + +/* [draft-ietf-quic-transport-24] Section 8.1 */ +#define IQUIC_MIN_INIT_PACKET_SZ 1200 + +/* Our stream code makes an assumption that packet size is smaller than the + * maximum HTTP/3 DATA frame size we can generate. + */ +#define IQUIC_MAX_OUT_PACKET_SZ ((1u << 14) - 1) + +#define QUIC_BIT 0x40 + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_packet_in.c b/external/lsquic/src/liblsquic/lsquic_packet_in.c new file mode 100644 index 0000000..3bc73a6 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_in.c @@ -0,0 +1,63 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#ifdef WIN32 +#include +#endif + +#include "lsquic_int_types.h" +#include "lsquic_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" + + +int +lsquic_packet_in_ver_first (const lsquic_packet_in_t *packet_in, + struct ver_iter *vi, lsquic_ver_tag_t *ver_tag) +{ + vi->packet_in = packet_in; + vi->off = packet_in->pi_quic_ver; + return lsquic_packet_in_ver_next(vi, ver_tag); +} + + +int +lsquic_packet_in_ver_next (struct ver_iter *vi, lsquic_ver_tag_t *ver_tag) +{ + if (vi->off + 4 <= vi->packet_in->pi_header_sz) + { + memcpy(ver_tag, vi->packet_in->pi_data + vi->off, 4); + vi->off += 4; + return 1; + } + else + { + assert(vi->packet_in->pi_header_sz == vi->off); + return 0; + } +} + + +size_t +lsquic_packet_in_mem_used (const struct lsquic_packet_in *packet_in) +{ + size_t size; + + size = sizeof(*packet_in); + + if (packet_in->pi_flags & PI_OWN_DATA) + size += packet_in->pi_data_sz; + + return size; +} + + +void +lsquic_scid_from_packet_in (const struct lsquic_packet_in *packet_in, + lsquic_cid_t *scid) +{ + scid->len = packet_in->pi_scid_len; + memcpy(scid->idbuf, packet_in->pi_data + packet_in->pi_scid_off, scid->len); +} diff --git a/external/lsquic/src/liblsquic/lsquic_packet_in.h b/external/lsquic/src/liblsquic/lsquic_packet_in.h new file mode 100644 index 0000000..5652f4c --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_in.h @@ -0,0 +1,220 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_packet_in.h + */ + +#ifndef LSQUIC_PACKET_IN_H +#define LSQUIC_PACKET_IN_H 1 + +#include "lsquic_packet_common.h" + +struct lsquic_packet_in; +struct lsquic_cid; + + +struct data_frame +{ + const unsigned char *df_data; /* Pointer to data */ + uint64_t df_offset; /* Stream offset */ + uint16_t df_read_off; /* Read offset */ + uint16_t df_size; /* Size of df_data */ + signed char df_fin; /* FIN? */ +}; + + +typedef struct stream_frame +{ + /* Stream frames are stored in a list inside "di nocopy" (if "di nocopy" + * is used). + */ + TAILQ_ENTRY(stream_frame) next_frame; + + /* `data_frame.df_data' points somewhere into the packet payload. The + * packet object is reference-counted. When the frame is freed, the + * packet is released via lsquic_packet_in_put(). + */ + struct lsquic_packet_in *packet_in; + + struct data_frame data_frame; + + lsquic_stream_id_t stream_id; /* Parsed from packet */ +} stream_frame_t; + + +#define DF_OFF(frame) (frame)->data_frame.df_offset +#define DF_ROFF(frame) (DF_OFF(frame) + (frame)->data_frame.df_read_off) +#define DF_FIN(frame) (frame)->data_frame.df_fin +#define DF_SIZE(frame) (frame)->data_frame.df_size +#define DF_END(frame) (DF_OFF(frame) + DF_SIZE(frame)) + + +typedef struct lsquic_packet_in +{ + TAILQ_ENTRY(lsquic_packet_in) pi_next; + lsquic_time_t pi_received; /* Time received */ + lsquic_cid_t pi_dcid; +#define pi_conn_id pi_dcid + lsquic_packno_t pi_packno; + enum quic_ft_bit pi_frame_types; + unsigned short pi_header_sz; /* Points to payload */ + unsigned short pi_data_sz; /* Data plus header */ + /* A packet may be referred to by one or more frames and packets_in + * list. + */ + unsigned short pi_refcnt; + unsigned short pi_hsk_stream; /* Offset to handshake stream + * frame, only valid if + * PI_HSK_STREAM is set. + */ + enum { + PI_DECRYPTED = (1 << 0), + PI_OWN_DATA = (1 << 1), /* We own pi_data */ + PI_CONN_ID = (1 << 2), /* pi_conn_id is set */ + PI_HSK_STREAM = (1 << 3), /* Has handshake data (mini only) */ + PI_FROM_MINI = (1 << 4), /* Handed off by mini connection */ +#define PIBIT_ENC_LEV_SHIFT 5 + PI_ENC_LEV_BIT_0= (1 << 5), /* Encodes encryption level */ + PI_ENC_LEV_BIT_1= (1 << 6), /* (see enum enc_level). */ + PI_GQUIC = (1 << 7), + PI_UNUSED_8 = (1 << 8), /* <-- hole, reuse me! */ +#define PIBIT_ECN_SHIFT 9 + PI_ECN_BIT_0 = (1 << 9), + PI_ECN_BIT_1 = (1 <<10), +#define PIBIT_SPIN_SHIFT 11 + PI_SPIN_BIT = (1 <<11), +#define PIBIT_BITS_SHIFT 12 + PI_BITS_BIT_0 = (1 <<12), + PI_BITS_BIT_1 = (1 <<13), + /* Square bit and loss bit flags are used for logging */ + PI_LOG_QL_BITS = (1 <<14), + PI_SQUARE_BIT = (1 <<15), + PI_LOSS_BIT = (1 <<16), + PI_VER_PARSED = (1 <<17), + PI_FIRST_INIT = (1 <<18), + PI_RETIRED_PATH = (1 <<19), + } pi_flags; + /* pi_token and pi_token_size are set in Initial and Retry packets */ + unsigned short pi_token_size; /* Size of the token */ + unsigned short pi_pkt_size; /* Size of the whole packet */ + unsigned char pi_token; /* Offset to token */ + /* pi_odcid and pi_odcid_len are only set in Retry packets for I-D < 25 */ + unsigned char pi_odcid; /* Offset to Original DCID */ + unsigned char pi_odcid_len; /* Size of ODCID */ + unsigned char pi_scid_off; /* Offset to SCID */ + unsigned char pi_scid_len; /* Size of SCID */ + unsigned char pi_quic_ver; /* Offset to QUIC version */ + unsigned char pi_nonce; /* Offset to nonce */ + enum header_type pi_header_type:8; + unsigned char pi_path_id; + unsigned char pi_version; /* parsed enum lsquic_version */ + /* If PI_OWN_DATA flag is not set, `pi_data' points to user-supplied + * packet data, which is NOT TO BE MODIFIED. + */ + unsigned char *pi_data; +} lsquic_packet_in_t; + + +static inline unsigned char +lsquic_packet_in_public_flags (const lsquic_packet_in_t *p) +{ + return p->pi_data[0]; +} + +static inline unsigned +lsquic_packet_in_is_gquic_prst (const lsquic_packet_in_t *p) +{ + return ((p->pi_flags & PI_GQUIC) + && (p->pi_data[0] & PACKET_PUBLIC_FLAGS_RST)); +} + +static inline unsigned +lsquic_packet_in_is_verneg (const lsquic_packet_in_t *p) +{ + return ((p->pi_flags & PI_GQUIC) ? + p->pi_data[0] & PACKET_PUBLIC_FLAGS_VERSION : + p->pi_header_type == HETY_VERNEG); +} + +static inline unsigned +lsquic_packet_in_packno_bits (const lsquic_packet_in_t *p) +{ + return (p->pi_flags >> PIBIT_BITS_SHIFT) & 3; +} + +static inline unsigned short +lsquic_packet_in_upref (lsquic_packet_in_t *p) +{ + return ++p->pi_refcnt; +} + +static inline lsquic_packet_in_t * +lsquic_packet_in_get (lsquic_packet_in_t *p) +{ + lsquic_packet_in_upref(p); + return p; +} + +static inline unsigned char * +lsquic_packet_in_nonce (const lsquic_packet_in_t *p) +{ + return p->pi_nonce ? p->pi_data + p->pi_nonce : NULL; +} + +static inline unsigned +lsquic_packet_in_enc_level (const lsquic_packet_in_t *p) +{ + return (p->pi_flags >> PIBIT_ENC_LEV_SHIFT) & 0x3; +} + +static inline unsigned +lsquic_packet_in_ecn (const lsquic_packet_in_t *p) +{ + return (p->pi_flags >> PIBIT_ECN_SHIFT) & 0x3; +} + +static inline unsigned +lsquic_packet_in_spin_bit (const lsquic_packet_in_t *p) +{ + return (p->pi_flags & PI_SPIN_BIT) > 0; +} + +/* PATH_CHALLENGE, PATH_RESPONSE, NEW_CONNECTION_ID, and PADDING frames + * are "probing frames", and all other frames are "non-probing frames". + * A packet containing only probing frames is a "probing packet", and a + * packet containing any other frame is a "non-probing packet". + * + * [draft-ietf-quic-transport-20], Section 9.1 + */ +static inline unsigned +lsquic_packet_in_non_probing(const lsquic_packet_in_t *p) +{ + return (!!(p->pi_frame_types & ~(QUIC_FTBIT_PATH_CHALLENGE + |QUIC_FTBIT_PATH_RESPONSE|QUIC_FTBIT_PADDING + |QUIC_FTBIT_NEW_CONNECTION_ID))); +} + +/* The version iterator is used on a version negotiation packet only. + * The iterator functions return 1 when next version is returned and + * 0 when there are no more versions. + */ +struct ver_iter +{ + const struct lsquic_packet_in *packet_in; + unsigned off; +}; + +int +lsquic_packet_in_ver_first (const lsquic_packet_in_t *packet_in, + struct ver_iter *, lsquic_ver_tag_t *ver_tag); + +int +lsquic_packet_in_ver_next (struct ver_iter *, lsquic_ver_tag_t *ver_tag); + +size_t +lsquic_packet_in_mem_used (const struct lsquic_packet_in *); + +void +lsquic_scid_from_packet_in (const struct lsquic_packet_in *, + struct lsquic_cid *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_packet_out.c b/external/lsquic/src/liblsquic/lsquic_packet_out.c new file mode 100644 index 0000000..0b77b2e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_out.c @@ -0,0 +1,554 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_packet_out.c + */ + +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_malo.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_logger.h" +#include "lsquic_ev_log.h" +#include "lsquic_conn.h" +#include "lsquic_enc_sess.h" + +typedef char _stream_rec_arr_is_at_most_64bytes[ + (sizeof(struct frame_rec_arr) <= 64)? 1: - 1]; + +static struct frame_rec * +frec_one_pofi_first (struct packet_out_frec_iter *pofi, + struct lsquic_packet_out *packet_out) +{ + if (packet_out->po_frecs.one.fe_frame_type) + return &packet_out->po_frecs.one; + else + return NULL; +} + + +static struct frame_rec * +frec_one_pofi_next (struct packet_out_frec_iter *pofi) +{ + return NULL; +} + + +static struct frame_rec * +frec_arr_pofi_next (struct packet_out_frec_iter *pofi) +{ + while (pofi->cur_frec_arr) + { + for (; pofi->frec_idx < sizeof(pofi->cur_frec_arr->frecs) / sizeof(pofi->cur_frec_arr->frecs[0]); + ++pofi->frec_idx) + { + if (pofi->cur_frec_arr->frecs[ pofi->frec_idx ].fe_frame_type) + return &pofi->cur_frec_arr->frecs[ pofi->frec_idx++ ]; + } + pofi->cur_frec_arr = TAILQ_NEXT(pofi->cur_frec_arr, next_stream_rec_arr); + pofi->frec_idx = 0; + } + return NULL; +} + + +static struct frame_rec * +frec_arr_pofi_first (struct packet_out_frec_iter *pofi, + struct lsquic_packet_out *packet_out) +{ + pofi->packet_out = packet_out; + pofi->cur_frec_arr = TAILQ_FIRST(&packet_out->po_frecs.arr); + pofi->frec_idx = 0; + return frec_arr_pofi_next(pofi); +} + + +static struct frame_rec * (* const pofi_firsts[]) + (struct packet_out_frec_iter *, struct lsquic_packet_out *) = +{ + frec_one_pofi_first, + frec_arr_pofi_first, +}; + + +static struct frame_rec * (* const pofi_nexts[]) + (struct packet_out_frec_iter *pofi) = +{ + frec_one_pofi_next, + frec_arr_pofi_next, +}; + + +struct frame_rec * +lsquic_pofi_first (struct packet_out_frec_iter *pofi, + lsquic_packet_out_t *packet_out) +{ + pofi->impl_idx = !!(packet_out->po_flags & PO_FREC_ARR); + return pofi_firsts[pofi->impl_idx](pofi, packet_out); +} + + +struct frame_rec * +lsquic_pofi_next (struct packet_out_frec_iter *pofi) +{ + return pofi_nexts[pofi->impl_idx](pofi); +} + + +/* + * Assumption: frames are added to the packet_out in order of their placement + * in packet_out->po_data. There is no assertion to guard for for this. + */ +int +lsquic_packet_out_add_frame (lsquic_packet_out_t *packet_out, + struct lsquic_mm *mm, + uintptr_t data, + enum quic_frame_type frame_type, + unsigned short off, unsigned short len) +{ + struct frame_rec_arr *frec_arr; + int last_taken; + unsigned i; + + if (!(packet_out->po_flags & PO_FREC_ARR)) + { + if (!frec_taken(&packet_out->po_frecs.one)) + { + packet_out->po_frecs.one.fe_frame_type = frame_type; + packet_out->po_frecs.one.fe_u.data = data; + packet_out->po_frecs.one.fe_off = off; + packet_out->po_frecs.one.fe_len = len; + return 0; /* Insert in first slot */ + } + frec_arr = lsquic_malo_get(mm->malo.frame_rec_arr); + if (!frec_arr) + return -1; + memset(frec_arr, 0, sizeof(*frec_arr)); + frec_arr->frecs[0] = packet_out->po_frecs.one; + TAILQ_INIT(&packet_out->po_frecs.arr); + TAILQ_INSERT_TAIL(&packet_out->po_frecs.arr, frec_arr, + next_stream_rec_arr); + packet_out->po_flags |= PO_FREC_ARR; + i = 1; + goto set_elem; + } + + /* New records go at the very end: */ + frec_arr = TAILQ_LAST(&packet_out->po_frecs.arr, frame_rec_arr_tailq); + last_taken = -1; + for (i = 0; i < sizeof(frec_arr->frecs) / sizeof(frec_arr->frecs[0]); ++i) + if (frec_taken(&frec_arr->frecs[i])) + last_taken = i; + + i = last_taken + 1; + if (i < sizeof(frec_arr->frecs) / sizeof(frec_arr->frecs[0])) + { + set_elem: + frec_arr->frecs[i].fe_frame_type = frame_type; + frec_arr->frecs[i].fe_u.data = data; + frec_arr->frecs[i].fe_off = off; + frec_arr->frecs[i].fe_len = len; + return 0; /* Insert in existing frec */ + } + + frec_arr = lsquic_malo_get(mm->malo.frame_rec_arr); + if (!frec_arr) + return -1; + + memset(frec_arr, 0, sizeof(*frec_arr)); + frec_arr->frecs[0].fe_frame_type = frame_type; + frec_arr->frecs[0].fe_u.data = data; + frec_arr->frecs[0].fe_off = off; + frec_arr->frecs[0].fe_len = len; + TAILQ_INSERT_TAIL(&packet_out->po_frecs.arr, frec_arr, next_stream_rec_arr); + return 0; /* Insert in new frec */ +} + + +int +lsquic_packet_out_add_stream (struct lsquic_packet_out *packet_out, + struct lsquic_mm *mm, struct lsquic_stream *new_stream, + enum quic_frame_type frame_type, unsigned short off, unsigned short len) +{ + assert(!(new_stream->stream_flags & STREAM_FINISHED)); + assert((1 << frame_type) + & (QUIC_FTBIT_STREAM|QUIC_FTBIT_CRYPTO|QUIC_FTBIT_RST_STREAM)); + if (0 == lsquic_packet_out_add_frame(packet_out, mm, + (uintptr_t) new_stream, frame_type, off, len)) + { + ++new_stream->n_unacked; + return 0; + } + else + return -1; +} + + +lsquic_packet_out_t * +lsquic_packet_out_new (struct lsquic_mm *mm, struct malo *malo, int use_cid, + const struct lsquic_conn *lconn, enum packno_bits bits, + const lsquic_ver_tag_t *ver_tag, const unsigned char *nonce, + const struct network_path *path, enum header_type header_type) +{ + lsquic_packet_out_t *packet_out; + enum packet_out_flags flags; + size_t header_size, tag_len, max_size; + + flags = bits << POBIT_SHIFT; + if (ver_tag) + flags |= PO_VERSION; + if (nonce) + flags |= PO_NONCE; + if (use_cid) + flags |= PO_CONN_ID; + if ((lconn->cn_flags & (LSCONN_MINI|LSCONN_HANDSHAKE_DONE)) + != LSCONN_HANDSHAKE_DONE) + flags |= PO_LONGHEAD; + + header_size = lconn->cn_pf->pf_packout_max_header_size(lconn, flags, + path->np_dcid.len, header_type); + tag_len = lconn->cn_esf_c->esf_tag_len; + max_size = path->np_pack_size; + if (header_size + tag_len >= max_size) + { + errno = EINVAL; + return NULL; + } + + packet_out = lsquic_mm_get_packet_out(mm, malo, max_size - header_size + - tag_len); + if (!packet_out) + return NULL; + + packet_out->po_flags = flags; + if ((1 << lconn->cn_version) & LSQUIC_GQUIC_HEADER_VERSIONS) + packet_out->po_lflags = POL_GQUIC; + if (ver_tag) + packet_out->po_ver_tag = *ver_tag; + if (nonce) + { + /* Nonces are allocated for a very small number of packets. This + * memory is too expensive to carry in every packet. + */ + packet_out->po_nonce = malloc(32); + if (!packet_out->po_nonce) + { + lsquic_mm_put_packet_out(mm, packet_out); + return NULL; + } + memcpy(packet_out->po_nonce, nonce, 32); + } + if (flags & PO_LONGHEAD) + { + if (lconn->cn_version == LSQVER_050) + { + if (lconn->cn_flags & (LSCONN_SERVER|LSCONN_HANDSHAKE_DONE)) + packet_out->po_header_type = HETY_0RTT; + else + packet_out->po_header_type = HETY_INITIAL; + } + else + packet_out->po_header_type = HETY_HANDSHAKE; + } + packet_out->po_path = path; + + return packet_out; +} + + +void +lsquic_packet_out_destroy (lsquic_packet_out_t *packet_out, + struct lsquic_engine_public *enpub, void *peer_ctx) +{ + if (packet_out->po_flags & PO_FREC_ARR) + { + struct frame_rec_arr *frec_arr, *next; + for (frec_arr = TAILQ_FIRST(&packet_out->po_frecs.arr); + frec_arr; frec_arr = next) + { + next = TAILQ_NEXT(frec_arr, next_stream_rec_arr); + lsquic_malo_put(frec_arr); + } + } + if (packet_out->po_flags & PO_ENCRYPTED) + enpub->enp_pmi->pmi_release(enpub->enp_pmi_ctx, peer_ctx, + packet_out->po_enc_data, lsquic_packet_out_ipv6(packet_out)); + if (packet_out->po_nonce) + free(packet_out->po_nonce); + if (packet_out->po_bwp_state) + lsquic_malo_put(packet_out->po_bwp_state); + lsquic_mm_put_packet_out(&enpub->enp_mm, packet_out); +} + + +/* If `stream_id' is UINT64_MAX, stream frames from all reset streams are elided. + * Otherwise, elision is limited to the specified stream. + */ +unsigned +lsquic_packet_out_elide_reset_stream_frames (lsquic_packet_out_t *packet_out, + lsquic_stream_id_t stream_id) +{ + struct packet_out_frec_iter pofi; + struct frame_rec *frec; + unsigned short adj = 0; + int n_stream_frames = 0, n_elided = 0; + int victim; + + for (frec = lsquic_pofi_first(&pofi, packet_out); frec; + frec = lsquic_pofi_next(&pofi)) + { + /* Offsets of all frame records should be adjusted */ + frec->fe_off -= adj; + + if (frec->fe_frame_type == QUIC_FRAME_STREAM) + { + ++n_stream_frames; + + if (stream_id != UINT64_MAX) + { + victim = frec->fe_stream->id == stream_id; + if (victim) + { + assert(lsquic_stream_is_write_reset(frec->fe_stream)); + } + } + else + victim = lsquic_stream_is_write_reset(frec->fe_stream); + + if (victim) + { + ++n_elided; + + /* Move the data and adjust sizes */ + adj += frec->fe_len; + memmove(packet_out->po_data + frec->fe_off, + packet_out->po_data + frec->fe_off + frec->fe_len, + packet_out->po_data_sz - frec->fe_off - frec->fe_len); + packet_out->po_data_sz -= frec->fe_len; + + lsquic_stream_acked(frec->fe_stream, frec->fe_frame_type); + frec->fe_frame_type = 0; + } + } + } + + assert(n_stream_frames); + if (n_elided == n_stream_frames) + { + packet_out->po_frame_types &= ~(1 << QUIC_FRAME_STREAM); + packet_out->po_flags &= ~PO_STREAM_END; + } + + return adj; +} + + +void +lsquic_packet_out_chop_regen (lsquic_packet_out_t *packet_out) +{ + struct packet_out_frec_iter pofi; + struct frame_rec *frec; + unsigned short adj; + + adj = 0; + for (frec = lsquic_pofi_first(&pofi, packet_out); frec; + frec = lsquic_pofi_next(&pofi)) + { + frec->fe_off -= adj; + if (BQUIC_FRAME_REGEN_MASK & (1 << frec->fe_frame_type)) + { + adj += frec->fe_len; + memmove(packet_out->po_data + frec->fe_off, + packet_out->po_data + frec->fe_off + frec->fe_len, + packet_out->po_data_sz - frec->fe_off - frec->fe_len); + packet_out->po_data_sz -= frec->fe_len; + frec->fe_frame_type = 0; + } + } + + //assert(adj); /* Otherwise why are we called? */ + packet_out->po_regen_sz = 0; + packet_out->po_frame_types &= ~BQUIC_FRAME_REGEN_MASK; +} + + +void +lsquic_packet_out_ack_streams (lsquic_packet_out_t *packet_out) +{ + struct packet_out_frec_iter pofi; + struct frame_rec *frec; + for (frec = lsquic_pofi_first(&pofi, packet_out); frec; + frec = lsquic_pofi_next(&pofi)) + if ((1 << frec->fe_frame_type) + & (QUIC_FTBIT_STREAM|QUIC_FTBIT_CRYPTO|QUIC_FTBIT_RST_STREAM)) + lsquic_stream_acked(frec->fe_stream, frec->fe_frame_type); +} + + +void +lsquic_packet_out_zero_pad (lsquic_packet_out_t *packet_out) +{ + if (packet_out->po_n_alloc > packet_out->po_data_sz) + { + memset(packet_out->po_data + packet_out->po_data_sz, 0, + packet_out->po_n_alloc - packet_out->po_data_sz); + packet_out->po_data_sz = packet_out->po_n_alloc; + packet_out->po_frame_types |= 1 << QUIC_FRAME_PADDING; + } +} + + +size_t +lsquic_packet_out_mem_used (const struct lsquic_packet_out *packet_out) +{ + const struct frame_rec_arr *frec_arr; + size_t size; + + size = 0; /* The struct is allocated using malo */ + if (packet_out->po_enc_data) + size += packet_out->po_enc_data_sz; + if (packet_out->po_data) + size += packet_out->po_n_alloc; + if (packet_out->po_nonce) + size += 32; + + if (packet_out->po_flags & PO_FREC_ARR) + TAILQ_FOREACH(frec_arr, &packet_out->po_frecs.arr, next_stream_rec_arr) + size += sizeof(*frec_arr); + + return size; +} + + +int +lsquic_packet_out_turn_on_fin (struct lsquic_packet_out *packet_out, + const struct parse_funcs *pf, + const struct lsquic_stream *stream) +{ + struct packet_out_frec_iter pofi; + const struct frame_rec *frec; + struct stream_frame stream_frame; + uint64_t last_offset; + int len; + + for (frec = lsquic_pofi_first(&pofi, packet_out); frec; + frec = lsquic_pofi_next(&pofi)) + if (frec->fe_frame_type == QUIC_FRAME_STREAM + && frec->fe_stream == stream) + { + len = pf->pf_parse_stream_frame(packet_out->po_data + frec->fe_off, + frec->fe_len, &stream_frame); + + // Got a corner case because of short write, df_size == 0 && df_fin == 0 + // It is OK to just turn on the fin bit. + assert(len >= 0 || frec->fe_len == 5); + if (len < 0 && stream_frame.data_frame.df_size != 0) + return -1; + last_offset = stream_frame.data_frame.df_offset + + stream_frame.data_frame.df_size; + if (last_offset == stream->tosend_off) + { + pf->pf_turn_on_fin(packet_out->po_data + frec->fe_off); + EV_LOG_UPDATED_STREAM_FRAME( + lsquic_conn_log_cid(lsquic_stream_conn(stream)), + pf, packet_out->po_data + frec->fe_off, frec->fe_len); + return 0; + } + } + + return -1; +} + + +static unsigned +offset_to_dcid (const struct lsquic_packet_out *packet_out) +{ + if (packet_out->po_header_type == HETY_SHORT) + return 1; + else + { + assert(!(packet_out->po_lflags & POL_GQUIC)); + return 6; + } +} + + +/* Return true if DCIDs of the two packets are equal, false otherwise. */ +int +lsquic_packet_out_equal_dcids (const struct lsquic_packet_out *a, + const struct lsquic_packet_out *b) +{ + const int a_encrypted = !!(a->po_flags & PO_ENCRYPTED); + const int b_encrypted = !!(b->po_flags & PO_ENCRYPTED); + const unsigned char *dcids[2]; + size_t sizes[2]; + + switch ((a_encrypted << 1) | b_encrypted) + { + case (0 << 1) | 0: + return a->po_path == b->po_path; + case (0 << 1) | 1: + dcids[0] = a->po_path->np_dcid.idbuf; + sizes[0] = a->po_path->np_dcid.len; + dcids[1] = b->po_enc_data + offset_to_dcid(b); + sizes[1] = b->po_dcid_len; + break; + case (1 << 1) | 0: + dcids[0] = a->po_enc_data + offset_to_dcid(a); + sizes[0] = a->po_dcid_len; + dcids[1] = b->po_path->np_dcid.idbuf; + sizes[1] = b->po_path->np_dcid.len; + break; + default: + dcids[0] = a->po_enc_data + offset_to_dcid(a); + sizes[0] = a->po_dcid_len; + dcids[1] = b->po_enc_data + offset_to_dcid(b); + sizes[1] = b->po_dcid_len; + break; + } + + return sizes[0] == sizes[1] + && 0 == memcmp(dcids[0], dcids[1], sizes[0]); +} + + +void +lsquic_packet_out_pad_over (struct lsquic_packet_out *packet_out, + enum quic_ft_bit frame_types) +{ + struct packet_out_frec_iter pofi; + struct frame_rec *frec; + + for (frec = lsquic_pofi_first(&pofi, packet_out); frec; + frec = lsquic_pofi_next(&pofi)) + { + if ((1 << frec->fe_frame_type) & frame_types) + { + if ((1 << frec->fe_frame_type) & BQUIC_FRAME_REGEN_MASK) + { + packet_out->po_regen_sz -= frec->fe_len; + } + + memset(packet_out->po_data + frec->fe_off, 0, frec->fe_len); + frec->fe_frame_type = QUIC_FRAME_PADDING; + } + } + + packet_out->po_frame_types &= ~frame_types; +} diff --git a/external/lsquic/src/liblsquic/lsquic_packet_out.h b/external/lsquic/src/liblsquic/lsquic_packet_out.h new file mode 100644 index 0000000..979ec3a --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_out.h @@ -0,0 +1,428 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_packet_out.h -- Structure and routines dealing with packet_out + */ + +#ifndef LSQUIC_PACKET_OUT_H +#define LSQUIC_PACKET_OUT_H 1 + +#include "lsquic_packet_common.h" +#include + +struct malo; +struct lsquic_conn; +struct lsquic_engine_public; +struct lsquic_mm; +struct lsquic_stream; +struct network_path; +struct parse_funcs; +struct bwp_state; + +/* Each frame_rec is associated with one packet_out. packet_out can have + * zero or more frame_rec structures. frame_rec keeps a pointer to a stream + * that has STREAM, CRYPTO, or RST_STREAM frames inside packet_out. + * `fe_frame_type' specifies the type of the frame; if this value is zero + * (this happens when a frame is elided), values of the other struct members + * are not valid. `fe_off' indicates where inside packet_out->po_data the + * frame begins and `fe_len' is its length. + * + * We need this information for four reasons: + * 1. A stream is not destroyed until all of its STREAM and RST_STREAM + * frames are acknowledged. This is to make sure that we do not exceed + * maximum allowed number of streams. + * 2. When a packet is resubmitted, STREAM frames for a stream that has + * been reset are not to be resubmitted. + * 3. A buffered packet may have to be split before it is scheduled (this + * occurs if we guessed incorrectly the number of bytes required to + * encode the packet number and the actual number would make packet + * larger than the max). + * 4. A lost or scheduled packet may need to be resized (down) when path + * changes or MTU is reduced due to an RTO. + * + * In IETF, all frames are recorded. In gQUIC, only STREAM, RST_STREAM, + * ACK, and STOP_WAITING are recorded. The latter two are done so that + * ACK-deleting code in send controller (see po_regen_sz) is the same for + * both QUIC versions. + */ +struct frame_rec { + union { + struct lsquic_stream *stream; + uintptr_t data; + } fe_u; +#define fe_stream fe_u.stream + unsigned short fe_off, + fe_len; + enum quic_frame_type fe_frame_type; +}; + +#define frec_taken(frec) ((frec)->fe_frame_type) + +struct frame_rec_arr { + TAILQ_ENTRY(frame_rec_arr) next_stream_rec_arr; + struct frame_rec frecs[ + ( 64 /* Efficient size for malo allocator */ + - sizeof(TAILQ_ENTRY(frame_rec)) /* next_stream_rec_arr */ + ) / sizeof(struct frame_rec) + ]; +}; + +TAILQ_HEAD(frame_rec_arr_tailq, frame_rec_arr); + + +typedef struct lsquic_packet_out +{ + /* `po_next' is used for packets_out, unacked_packets and expired_packets + * lists. + */ + TAILQ_ENTRY(lsquic_packet_out) + po_next; + lsquic_time_t po_sent; /* Time sent */ + lsquic_packno_t po_packno; + lsquic_packno_t po_ack2ed; /* If packet has ACK frame, value of + * largest acked in it. + */ + struct lsquic_packet_out + *po_loss_chain; /* Circular linked list */ + + enum quic_ft_bit po_frame_types; /* Bitmask of QUIC_FRAME_* */ + enum packet_out_flags { + /* TODO XXX Phase out PO_MINI in favor of a more specialized flag: + * we only need an indicator that a packet contains STREAM frames + * but no associated frecs. This type of packets in only created + * by GQUIC mini conn. + */ + PO_MINI = (1 << 0), /* Allocated by mini connection */ + PO_HELLO = (1 << 1), /* Packet contains SHLO or CHLO data */ + PO_SENT = (1 << 2), /* Packet has been sent (mini only) */ + PO_ENCRYPTED= (1 << 3), /* po_enc_data has encrypted data */ + PO_FREC_ARR = (1 << 4), +#define POBIT_SHIFT 5 + PO_BITS_0 = (1 << 5), /* PO_BITS_0 and PO_BITS_1 encode the */ + PO_BITS_1 = (1 << 6), /* packet number length. See macros below. */ + PO_NONCE = (1 << 7), /* Use value in `po_nonce' to generate header */ + PO_VERSION = (1 << 8), /* Use value in `po_ver_tag' to generate header */ + PO_CONN_ID = (1 << 9), /* Include connection ID in public header */ + PO_REPACKNO = (1 <<10), /* Regenerate packet number */ + PO_NOENCRYPT= (1 <<11), /* Do not encrypt data in po_data */ + PO_VERNEG = (1 <<12), /* Version negotiation packet. */ + PO_STREAM_END + = (1 <<13), /* STREAM frame reaches the end of the packet: no + * further writes are allowed. + */ + PO_SCHED = (1 <<14), /* On scheduled queue */ + PO_SENT_SZ = (1 <<15), + PO_LONGHEAD = (1 <<16), + PO_ACKED_LOSS_CHAIN = (1<<17), + +#define POIPv6_SHIFT 20 + PO_IPv6 = (1 <<20), /* Set if pmi_allocate was passed is_ipv6=1, + * otherwise unset. + */ + PO_MTU_PROBE= (1 <<21), /* Special loss and ACK rules apply */ +#define POPNS_SHIFT 22 + PO_PNS_HSK = (1 <<22), /* PNS bits contain the value of the */ + PO_PNS_APP = (1 <<23), /* packet number space. */ + PO_RETRY = (1 <<24), /* Retry packet */ + PO_RETX = (1 <<25), /* Retransmitted packet: don't append to it */ + PO_POISON = (1 <<26), /* Used to detect opt-ACK attack */ + PO_LOSS_REC = (1 <<27), /* This structure is a loss record */ + /* Only one of PO_SCHED, PO_UNACKED, or PO_LOST can be set. If pressed + * for room in the enum, we can switch to using two bits to represent + * this information. + */ + PO_UNACKED = (1 <<28), /* On unacked queue */ + PO_LOST = (1 <<29), /* On lost queue */ +#define POSPIN_SHIFT 30 + PO_SPIN_BIT = (1 <<30), /* Value of the spin bit */ + } po_flags; + unsigned short po_data_sz; /* Number of usable bytes in data */ + unsigned short po_enc_data_sz; /* Number of usable bytes in data */ + unsigned short po_sent_sz; /* If PO_SENT_SZ is set, real size of sent buffer. */ + /* TODO Revisit po_regen_sz once gQUIC is dropped. Now that all frames + * are recorded, we have more flexibility where to place ACK frames; they + * no longer really have to be at the beginning of the packet, since we + * can locate them. + */ + unsigned short po_regen_sz; /* Number of bytes at the beginning + * of data containing bytes that are + * not to be retransmitted, e.g. ACK + * frames. + */ + unsigned short po_n_alloc; /* Total number of bytes allocated in po_data */ + unsigned short po_token_len; + enum header_type po_header_type:8; + unsigned char po_dcid_len; /* If PO_ENCRYPTED is set */ + enum { + POL_GQUIC = 1 << 0, /* Used for logging */ +#define POLEV_SHIFT 1 + POL_ELBIT_0 = 1 << 1, /* EL bits encode the crypto level. */ + POL_ELBIT_1 = 1 << 2, +#define POKP_SHIFT 3 + POL_KEY_PHASE= 1 << 3, +#define POECN_SHIFT 4 + POL_ECNBIT_0 = 1 << 4, + POL_ECNBIT_1 = 1 << 5, + POL_LOG_QL_BITS = 1 << 6, + POL_SQUARE_BIT = 1 << 7, + POL_LOSS_BIT = 1 << 8, +#ifndef NDEBUG + POL_HEADER_PROT = 1 << 9, /* Header protection applied */ +#endif + POL_LIMITED = 1 << 10, /* Used to credit sc_next_limit if needed. */ + POL_FACKED = 1 << 11, /* Lost due to FACK check */ + } po_lflags:16; + unsigned char *po_data; + + /* A lot of packets contain only one frame. Thus, `one' is used first. + * If this is not enough, any number of frame_rec_arr structures can be + * allocated to handle more frame records. + */ + union { + struct frame_rec one; + struct frame_rec_arr_tailq arr; + } po_frecs; + + /* If PO_ENCRYPTED is set, this points to the buffer that holds encrypted + * data. + */ + unsigned char *po_enc_data; + + lsquic_ver_tag_t po_ver_tag; /* Set if PO_VERSION is set */ + unsigned short po_retx_cnt; + unsigned short po_padding_sz; + unsigned char *po_nonce; /* Use to generate header if PO_NONCE is set */ + const struct network_path + *po_path; +#define po_token po_nonce + struct bwp_state *po_bwp_state; +} lsquic_packet_out_t; + +/* This is to make sure these bit names are not used, they are only for + * convenience in gdb output. + */ +#define PO_PNS_HSK +#define PO_PNS_APP + +/* The size of lsquic_packet_out_t could be further reduced: + * + * po_ver_tag could be encoded as a few bits representing enum lsquic_version + * in po_flags. The cost is a bit of complexity. This will save us four bytes. + */ + +static inline unsigned short +lsquic_packet_out_avail (const lsquic_packet_out_t *p) +{ + return (unsigned short)(p->po_n_alloc - p->po_data_sz); +} + +static inline enum packno_bits +lsquic_packet_out_packno_bits (const lsquic_packet_out_t *p) +{ + return (enum packno_bits)((p->po_flags >> POBIT_SHIFT) & 0x3); +} + +static inline void +lsquic_packet_out_set_packno_bits (lsquic_packet_out_t *p, enum packno_bits b) +{ + p->po_flags &= ~(0x3 << POBIT_SHIFT); + p->po_flags |= ((b) & 0x3) << POBIT_SHIFT; +} + +static inline int +lsquic_packet_out_ipv6 (const lsquic_packet_out_t *p) +{ + return (int)((p->po_flags >> POIPv6_SHIFT) & 1); +} + +static inline void +lsquic_packet_out_set_ipv6 (lsquic_packet_out_t *p, unsigned b) +{ + p->po_flags &= ~(1 << POIPv6_SHIFT); + p->po_flags |= ((b) & 1) << POIPv6_SHIFT; +} + +static inline unsigned +lsquic_packet_out_spin_bit (const lsquic_packet_out_t *p) +{ + return (p->po_flags & PO_SPIN_BIT) > 0; +} + +static inline unsigned +lsquic_packet_out_square_bit (const lsquic_packet_out_t *p) +{ + return (p->po_lflags & POL_SQUARE_BIT) > 0; +} + +static inline unsigned +lsquic_packet_out_loss_bit (const lsquic_packet_out_t *p) +{ + return (p->po_lflags & POL_LOSS_BIT) > 0; +} + +static inline void +lsquic_packet_out_set_spin_bit (lsquic_packet_out_t *p, unsigned b) +{ + p->po_flags &= ~PO_SPIN_BIT; + p->po_flags |= ((b) & 1) << POSPIN_SHIFT; +} + +#define lsquic_po_header_length(lconn, po_flags, dcid_len, header_type) ( \ + lconn->cn_pf->pf_packout_max_header_size(lconn, po_flags, dcid_len, \ + header_type)) \ + +#define lsquic_packet_out_total_sz(lconn, p) (\ + (lconn)->cn_pf->pf_packout_size(lconn, p)) + +#if __GNUC__ +#if LSQUIC_EXTRA_CHECKS +#define lsquic_packet_out_sent_sz(lconn, p) ( \ + __builtin_expect(((p)->po_flags & PO_SENT_SZ), 1) ? \ + (assert(((p)->po_flags & PO_HELLO /* Avoid client DCID change */) \ + || (p)->po_sent_sz == lsquic_packet_out_total_sz(lconn, p)), \ + (p)->po_sent_sz) : lsquic_packet_out_total_sz(lconn, p)) +# else +#define lsquic_packet_out_sent_sz(lconn, p) ( \ + __builtin_expect(((p)->po_flags & PO_SENT_SZ), 1) ? \ + (p)->po_sent_sz : lsquic_packet_out_total_sz(lconn, p)) +#endif +#else +# define lsquic_packet_out_sent_sz(lconn, p) ( \ + (p)->po_flags & PO_SENT_SZ ? \ + (p)->po_sent_sz : lsquic_packet_out_total_sz(lconn, p)) +#endif + +static inline unsigned +lsquic_packet_out_verneg (const lsquic_packet_out_t *p) +{ + return (p->po_flags & (PO_NOENCRYPT|PO_VERNEG|PO_RETRY)) == (PO_NOENCRYPT|PO_VERNEG); +} + +static inline unsigned +lsquic_packet_out_pubres (const lsquic_packet_out_t *p) +{ + return (p->po_flags & (PO_NOENCRYPT|PO_VERNEG|PO_RETRY)) == PO_NOENCRYPT; +} + +static inline unsigned +lsquic_packet_out_retry (const lsquic_packet_out_t *p) +{ + return (p->po_flags & (PO_NOENCRYPT|PO_VERNEG|PO_RETRY)) == (PO_NOENCRYPT|PO_RETRY); +} + +static inline void +lsquic_packet_out_set_enc_level (lsquic_packet_out_t *p, unsigned level) +{ + p->po_lflags &= ~(3 << POLEV_SHIFT); + p->po_lflags |= level << POLEV_SHIFT; +} + +static inline unsigned +lsquic_packet_out_enc_level (const lsquic_packet_out_t *p) +{ + return (p->po_lflags >> POLEV_SHIFT) & 3; +} + +static inline void +lsquic_packet_out_set_kp (lsquic_packet_out_t *p, unsigned kp) +{ + p->po_lflags &= ~(1 << POKP_SHIFT); + p->po_lflags |= kp << POKP_SHIFT; +} + +static inline unsigned +lsquic_packet_out_kp (const lsquic_packet_out_t *p) +{ + return (p->po_lflags >> POKP_SHIFT) & 1; +} + +static inline void +lsquic_packet_out_set_pns (lsquic_packet_out_t *p, enum packnum_space pns) +{ + p->po_flags &= ~(3 << POPNS_SHIFT); + p->po_flags |= pns << POPNS_SHIFT; +} + +static inline enum packnum_space +lsquic_packet_out_pns (const lsquic_packet_out_t *p) +{ + return (enum packnum_space)((p->po_flags >> POPNS_SHIFT) & 3); +} + +static inline void +lsquic_packet_out_set_ecn (lsquic_packet_out_t *p, unsigned ecn) +{ + p->po_lflags &= ~(3 << POECN_SHIFT); + p->po_lflags |= ecn << POECN_SHIFT; +} + +static inline unsigned +lsquic_packet_out_ecn (const lsquic_packet_out_t *p) +{ + return (p->po_lflags >> POECN_SHIFT) & 3; +} + +struct packet_out_frec_iter { + lsquic_packet_out_t *packet_out; + struct frame_rec_arr *cur_frec_arr; + unsigned frec_idx; + int impl_idx; +}; + + +struct frame_rec * +lsquic_pofi_first (struct packet_out_frec_iter *pofi, lsquic_packet_out_t *); + +struct frame_rec * +lsquic_pofi_next (struct packet_out_frec_iter *pofi); + +lsquic_packet_out_t * +lsquic_packet_out_new (struct lsquic_mm *, struct malo *, int use_cid, + const struct lsquic_conn *, enum packno_bits, + const lsquic_ver_tag_t *, const unsigned char *nonce, + const struct network_path *, enum header_type); + +void +lsquic_packet_out_destroy (lsquic_packet_out_t *, + struct lsquic_engine_public *, void *peer_ctx); + +int +lsquic_packet_out_add_frame (struct lsquic_packet_out *, + struct lsquic_mm *, uintptr_t data, enum quic_frame_type, + unsigned short off, unsigned short len); + +int +lsquic_packet_out_add_stream (lsquic_packet_out_t *packet_out, + struct lsquic_mm *mm, + struct lsquic_stream *new_stream, + enum quic_frame_type, + unsigned short off, unsigned short len); + +unsigned +lsquic_packet_out_elide_reset_stream_frames (lsquic_packet_out_t *, + lsquic_stream_id_t); + +void +lsquic_packet_out_chop_regen (lsquic_packet_out_t *); + +void +lsquic_packet_out_ack_streams (struct lsquic_packet_out *); + +void +lsquic_packet_out_zero_pad (struct lsquic_packet_out *); + +size_t +lsquic_packet_out_mem_used (const struct lsquic_packet_out *); + +int +lsquic_packet_out_turn_on_fin (struct lsquic_packet_out *, + const struct parse_funcs *, const struct lsquic_stream *); + +int +lsquic_packet_out_equal_dcids (const struct lsquic_packet_out *, + const struct lsquic_packet_out *); + +void +lsquic_packet_out_pad_over (struct lsquic_packet_out *packet_out, + enum quic_ft_bit frame_types); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_packet_resize.c b/external/lsquic/src/liblsquic/lsquic_packet_resize.c new file mode 100644 index 0000000..598c92d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_resize.c @@ -0,0 +1,267 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* Functions to resize packets */ + +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_packet_resize.h" +#include "lsquic_parse.h" +#include "lsquic_hash.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_sfcw.h" +#include "lsquic_stream.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_conn.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PACKET_RESIZE +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(prctx->prc_conn) +#include "lsquic_logger.h" + + +void +lsquic_packet_resize_init (struct packet_resize_ctx *prctx, + struct lsquic_engine_public *enpub, struct lsquic_conn *lconn, void *ctx, + const struct packet_resize_if *pr_if) +{ + memset(prctx, 0, sizeof(*prctx)); + prctx->prc_conn = lconn; + prctx->prc_pri = pr_if; + prctx->prc_enpub = enpub; + prctx->prc_data = ctx; + LSQ_DEBUG("initialized"); +} + + +static const struct frame_rec * +packet_resize_next_frec (struct packet_resize_ctx *prctx) +{ + const struct frame_rec *frec; + + assert(!prctx->prc_cur_frec); + if (prctx->prc_cur_packet) + { + LSQ_DEBUG("get next frec from current packet %"PRIu64, + prctx->prc_cur_packet->po_packno); + frec = lsquic_pofi_next(&prctx->prc_pofi); + if (frec) + return frec; + LSQ_DEBUG("discard packet %"PRIu64, prctx->prc_cur_packet->po_packno); + prctx->prc_pri->pri_discard_packet(prctx->prc_data, + prctx->prc_cur_packet); + prctx->prc_cur_packet = NULL; /* Not necessary; just future-proofing */ + } + + do + { + prctx->prc_cur_packet = prctx->prc_pri->pri_next_packet(prctx->prc_data); + if (!prctx->prc_cur_packet) + { + LSQ_DEBUG("out of input packets"); + return NULL; + } + frec = lsquic_pofi_first(&prctx->prc_pofi, prctx->prc_cur_packet); + if (frec == NULL) + { + LSQ_DEBUG("discard, no good frec from current packet %"PRIu64, + prctx->prc_cur_packet->po_packno); + prctx->prc_pri->pri_discard_packet(prctx->prc_data, + prctx->prc_cur_packet); + } + } while (frec == NULL); + LSQ_DEBUG("return first frec from new current packet %"PRIu64, + prctx->prc_cur_packet->po_packno); + return frec; +} + + +static const struct frame_rec * +packet_resize_get_frec (struct packet_resize_ctx *prctx) +{ + if (!prctx->prc_cur_frec) + { + prctx->prc_cur_frec = packet_resize_next_frec(prctx); + if (prctx->prc_cur_frec) + prctx->prc_flags |= PRC_NEW_FREC; + } + return prctx->prc_cur_frec; +} + + +static size_t +packet_resize_gsf_read (void *ctx, void *buf, size_t len, int *fin) +{ + struct packet_resize_ctx *const prctx = ctx; + size_t left; + + left = (size_t) prctx->prc_data_frame.df_size + - (size_t) prctx->prc_data_frame.df_read_off; + if (len > left) + len = left; + memcpy(buf, + prctx->prc_data_frame.df_data + prctx->prc_data_frame.df_read_off, len); + prctx->prc_data_frame.df_read_off += len; + *fin = prctx->prc_data_frame.df_fin + && prctx->prc_data_frame.df_size == prctx->prc_data_frame.df_read_off; + + return len; +} + + +struct lsquic_packet_out * +lsquic_packet_resize_next (struct packet_resize_ctx *prctx) +{ + const unsigned char *data_in; + struct lsquic_packet_out *new; + struct stream_frame stream_frame; + const struct frame_rec *frec; + int s, w, fin, parsed_len; + size_t nbytes; + + if (frec = packet_resize_get_frec(prctx), frec == NULL) + return NULL; + + new = prctx->prc_pri->pri_new_packet(prctx->prc_data); + if (!new) + { + LSQ_DEBUG("cannot allocate new packet"); + goto err; + } + + proc_frec: + if ((1 << frec->fe_frame_type) & (QUIC_FTBIT_STREAM|QUIC_FTBIT_CRYPTO)) + { + if (prctx->prc_flags & PRC_NEW_FREC) + { + data_in = prctx->prc_cur_packet->po_data + frec->fe_off; + parsed_len = (&prctx->prc_conn->cn_pf->pf_parse_stream_frame) + [frec->fe_frame_type == QUIC_FRAME_CRYPTO] + (data_in, frec->fe_len, &stream_frame); + if (parsed_len < 0) + { + LSQ_WARN("cannot parse %s frame", + frame_type_2_str[frec->fe_frame_type]); + goto err; + } + if ((unsigned) parsed_len != frec->fe_len) + { + LSQ_WARN("parsed %s frame size does not match frame record", + frame_type_2_str[frec->fe_frame_type]); + goto err; + } + prctx->prc_data_frame = stream_frame.data_frame; + prctx->prc_flags &= ~PRC_NEW_FREC; + LSQ_DEBUG("parsed %s frame record for stream %"PRIu64 + "; off: %"PRIu64"; size: %"PRIu16"; fin: %d", + frame_type_2_str[frec->fe_frame_type], + frec->fe_stream->id, + stream_frame.data_frame.df_offset, + stream_frame.data_frame.df_size, + stream_frame.data_frame.df_fin); + } + fin = prctx->prc_data_frame.df_fin + && prctx->prc_data_frame.df_read_off == prctx->prc_data_frame.df_size; + nbytes = prctx->prc_data_frame.df_size - prctx->prc_data_frame.df_read_off; + w = (&prctx->prc_conn->cn_pf->pf_gen_stream_frame) + [frec->fe_frame_type == QUIC_FRAME_CRYPTO]( + new->po_data + new->po_data_sz, lsquic_packet_out_avail(new), + frec->fe_stream->id, + prctx->prc_data_frame.df_offset + prctx->prc_data_frame.df_read_off, + fin, nbytes, packet_resize_gsf_read, prctx); + if (w < 0) + { + /* We rely on stream-generating function returning an error instead + * of pre-calculating required size and checking. + */ + LSQ_DEBUG("cannot fit another %s frame, new packet done", + frame_type_2_str[frec->fe_frame_type]); + goto done; + } + if (0 != lsquic_packet_out_add_stream(new, &prctx->prc_enpub->enp_mm, + frec->fe_stream, frec->fe_frame_type, + new->po_data_sz, w)) + { + LSQ_WARN("cannot add stream frame record to new packet"); + goto err; + } + new->po_data_sz += w; + new->po_frame_types |= 1 << frec->fe_frame_type; + if (0 == lsquic_packet_out_avail(new)) + new->po_flags |= PO_STREAM_END; + if (prctx->prc_data_frame.df_size == prctx->prc_data_frame.df_read_off) + { + LSQ_DEBUG("finished using %s frame record", + frame_type_2_str[frec->fe_frame_type]); + --frec->fe_stream->n_unacked; + frec = prctx->prc_cur_frec = NULL; + if (lsquic_packet_out_avail(new) > 0) + if (frec = packet_resize_get_frec(prctx), frec != NULL) + goto proc_frec; + } + } + else if (prctx->prc_cur_frec->fe_len <= lsquic_packet_out_avail(new)) + { + if ((1 << frec->fe_frame_type) & BQUIC_FRAME_REGEN_MASK) + { + if (new->po_regen_sz == new->po_data_sz) + new->po_regen_sz += frec->fe_len; + else + { + LSQ_DEBUG("got non-contiguous regen frame %s, packet done", + frame_type_2_str[frec->fe_frame_type]); + goto done; + } + } + memcpy(new->po_data + new->po_data_sz, + prctx->prc_cur_packet->po_data + frec->fe_off, frec->fe_len); + if (frec->fe_frame_type == QUIC_FRAME_RST_STREAM) + s = lsquic_packet_out_add_stream(new, &prctx->prc_enpub->enp_mm, + frec->fe_stream, frec->fe_frame_type, + new->po_data_sz, frec->fe_len); + else + s = lsquic_packet_out_add_frame(new, &prctx->prc_enpub->enp_mm, + frec->fe_u.data, frec->fe_frame_type, + new->po_data_sz, frec->fe_len); + if (s != 0) + { + LSQ_WARN("cannot add %s frame record to new packet", + frame_type_2_str[frec->fe_frame_type]); + goto err; + } + new->po_data_sz += frec->fe_len; + new->po_frame_types |= 1 << frec->fe_frame_type; + LSQ_DEBUG("copy %hu-byte %s frame into new packet", frec->fe_len, + frame_type_2_str[frec->fe_frame_type]); + if (frec->fe_frame_type == QUIC_FRAME_RST_STREAM) + --frec->fe_stream->n_unacked; + frec = prctx->prc_cur_frec = NULL; + if (lsquic_packet_out_avail(new) > 0) + if (frec = packet_resize_get_frec(prctx), frec != NULL) + goto proc_frec; + } + + done: + if (0 == new->po_data_sz) + { + LSQ_WARN("frame too large"); + goto err; + } + + return new; + + err: + if (new) + lsquic_packet_out_destroy(new, prctx->prc_enpub, + new->po_path->np_peer_ctx); + prctx->prc_flags |= PRC_ERROR; + return NULL; +} diff --git a/external/lsquic/src/liblsquic/lsquic_packet_resize.h b/external/lsquic/src/liblsquic/lsquic_packet_resize.h new file mode 100644 index 0000000..7df9f03 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_packet_resize.h @@ -0,0 +1,56 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_packet_resize.h -- functions to resize packets + */ + +#ifndef LSQUIC_PACKET_RESIZE_H +#define LSQUIC_PACKET_RESIZE_H 1 + +struct lsquic_packet_out; +struct lsquic_conn; +struct frame_rec; +struct lsquic_engine_public; + +struct packet_resize_if +{ + /* Get next packet to convert */ + struct lsquic_packet_out * + (*pri_next_packet)(void *ctx); + /* Discard packet after it was converted */ + void (*pri_discard_packet)(void *ctx, struct lsquic_packet_out *); + /* Get new packet to write frames to */ + struct lsquic_packet_out * + (*pri_new_packet)(void *ctx); +}; + +struct packet_resize_ctx +{ + const struct lsquic_conn *prc_conn; + void *prc_data; /* First arg to prc_pri */ + const struct packet_resize_if *prc_pri; + struct lsquic_engine_public *prc_enpub; + const struct frame_rec *prc_cur_frec; + struct lsquic_packet_out *prc_cur_packet; + struct data_frame prc_data_frame; + struct packet_out_frec_iter prc_pofi; + enum { + PRC_ERROR = 1 << 0, + PRC_NEW_FREC = 1 << 1, + } prc_flags; +}; + +void +lsquic_packet_resize_init (struct packet_resize_ctx *, + struct lsquic_engine_public *, struct lsquic_conn *, void *ctx, + const struct packet_resize_if *); + +struct lsquic_packet_out * +lsquic_packet_resize_next (struct packet_resize_ctx *); + +static inline unsigned +lsquic_packet_resize_is_error (struct packet_resize_ctx *prctx_) +{ + return !!(prctx_->prc_flags & PRC_ERROR); +} + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_parse.h b/external/lsquic/src/liblsquic/lsquic_parse.h new file mode 100644 index 0000000..12dde40 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse.h @@ -0,0 +1,450 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_PARSE_H +#define LSQUIC_PARSE_H 1 + +#include + +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_shared_support.h" + +struct lsquic_conn; +struct lsquic_packet_in; +struct lsquic_packet_out; +struct packin_parse_state; +struct stream_frame; +struct lsquic_cid; +enum packet_out_flags; +enum lsquic_version; +enum stream_dir; + + +struct ack_info +{ + enum packnum_space pns; + enum { + AI_ECN = 1 << 0, /* ecn_counts[1,2,3] contain ECN counts */ + AI_TRUNCATED = 1 << 1, /* There were more ranges to parse, but we + * ran out of elements in `ranges'. + */ + } flags; + unsigned n_ranges; /* This is at least 1 */ + /* Largest acked is ack_info.ranges[0].high */ + lsquic_time_t lack_delta; + uint64_t ecn_counts[4]; + struct lsquic_packno_range ranges[256]; +}; + +#define largest_acked(acki) (+(acki)->ranges[0].high) + +#define smallest_acked(acki) (+(acki)->ranges[(acki)->n_ranges - 1].low) + +/* Chrome may send an empty ACK frame when it closes a connection. + * We do not know why it occurs -- perhaps a bug in Chrome. + */ +/* This macro cannot be used in IETF QUIC as zero is a valid packet number. + * Hopefully the Chrome bug will have been fixed by then. + */ +static inline unsigned +empty_ack_frame (const struct ack_info *acki) +{ + return largest_acked(acki) == 0; +} + +/* gaf_: generate ACK frame */ +struct lsquic_packno_range; +typedef const struct lsquic_packno_range * + (*gaf_rechist_first_f) (void *rechist); +typedef const struct lsquic_packno_range * + (*gaf_rechist_next_f) (void *rechist); +typedef lsquic_time_t + (*gaf_rechist_largest_recv_f) (void *rechist); + +/* gsf_: generate stream frame */ +typedef size_t (*gsf_read_f) (void *stream, void *buf, size_t len, int *fin); + +/* This structure contains functions that parse and generate packets and + * frames in version-specific manner. To begin with, there is difference + * between GQUIC's little-endian (Q038 and lower) and big-endian formats + * (Q039 and higher). Q046 and higher uses different format for packet headers. + */ +struct parse_funcs +{ + /* Return buf length */ + int + (*pf_gen_reg_pkt_header) (const struct lsquic_conn *, + const struct lsquic_packet_out *, unsigned char *, size_t, + /* In Q050 and IETF QUIC, these are set: */ + unsigned *packno_off, unsigned *packno_len); + void + (*pf_parse_packet_in_finish) (struct lsquic_packet_in *packet_in, + struct packin_parse_state *); + enum quic_frame_type + (*pf_parse_frame_type) (const unsigned char *, size_t); + /* Return used buffer length or a negative value if there was not enough + * room to write the stream frame. In the latter case, the negative of + * the negative return value is the number of bytes required. The + * exception is -1, which is a generic error code, as we always need + * more than 1 byte to write a STREAM frame. + */ + /* pf_gen_stream_frame and pf_gen_crypto_frame must be adjacent so that + * they can be cast to an array. + */ + int + (*pf_gen_stream_frame) (unsigned char *buf, size_t bufsz, + lsquic_stream_id_t stream_id, uint64_t offset, + int fin, size_t size, gsf_read_f, void *stream); + /* The two "UNUSED" parameters are here so that it matches + * pf_gen_stream_frame. + */ + int + (*pf_gen_crypto_frame) (unsigned char *buf, size_t bufsz, + lsquic_stream_id_t UNUSED_1, uint64_t offset, + int UNUSED_2, size_t size, gsf_read_f, void *stream); + /* pf_parse_stream_frame and pf_parse_crypto_frame must be adjacent so that + * they can be cast to an array. + */ + int + (*pf_parse_stream_frame) (const unsigned char *buf, size_t rem_packet_sz, + struct stream_frame *); + int + (*pf_parse_crypto_frame) (const unsigned char *buf, size_t rem_packet_sz, + struct stream_frame *); + /* Return true if STREAM frame extends to the end of the packet and thus + * does not contain a Length field (no update). + */ + int + (*pf_dec_stream_frame_size) (unsigned char *buf, size_t new_size); + int + (*pf_parse_ack_frame) (const unsigned char *buf, size_t buf_len, + struct ack_info *ack_info, uint8_t exp); + int + (*pf_gen_ack_frame) (unsigned char *outbuf, size_t outbuf_sz, + gaf_rechist_first_f, gaf_rechist_next_f, + gaf_rechist_largest_recv_f, void *rechist, lsquic_time_t now, + int *has_missing, lsquic_packno_t *largest_received, + const uint64_t *ecn_counts); + int + (*pf_gen_stop_waiting_frame) (unsigned char *buf, size_t buf_len, + lsquic_packno_t cur_packno, enum packno_bits, + lsquic_packno_t least_unacked_packno); + int + (*pf_parse_stop_waiting_frame) (const unsigned char *buf, size_t buf_len, + lsquic_packno_t cur_packno, enum packno_bits, + lsquic_packno_t *least_unacked); + int + (*pf_skip_stop_waiting_frame) (size_t buf_len, enum packno_bits); + int + (*pf_gen_window_update_frame) (unsigned char *buf, int buf_len, + lsquic_stream_id_t stream_id, uint64_t offset); + int + (*pf_parse_window_update_frame) (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id, uint64_t *offset); + /* The third argument for pf_gen_blocked_frame() and pf_parse_blocked_frame() + * is Stream ID for GQUIC and offset for IETF QUIC. Since both of these are + * uint64_t, we'll use the same function pointer. Just have to be a little + * careful here. + */ + int + (*pf_gen_blocked_frame) (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id); + int + (*pf_parse_blocked_frame) (const unsigned char *buf, size_t buf_len, + /* TODO: rename third argument when dropping GQUIC */ + lsquic_stream_id_t *stream_id); + unsigned + (*pf_blocked_frame_size) (uint64_t); + unsigned + (*pf_rst_frame_size) (lsquic_stream_id_t stream_id, uint64_t final_size, + uint64_t error_code); + int + (*pf_gen_rst_frame) (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id, uint64_t offset, uint64_t error_code); + int + (*pf_parse_rst_frame) (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id, uint64_t *offset, uint64_t *error_code); + int + (*pf_parse_stop_sending_frame) (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id, uint64_t *error_code); + unsigned + (*pf_stop_sending_frame_size) (lsquic_stream_id_t, uint64_t); + int + (*pf_gen_stop_sending_frame) (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t, uint64_t error_code); + size_t + (*pf_connect_close_frame_size) (int app_error, unsigned error_code, + unsigned frame_type, size_t reason_len); + int + (*pf_gen_connect_close_frame) (unsigned char *buf, size_t buf_len, + int app_error, unsigned error_code, const char *reason, int reason_len); + int + (*pf_parse_connect_close_frame) (const unsigned char *buf, size_t buf_len, + int *app_error, uint64_t *error_code, uint16_t *reason_length, + uint8_t *reason_offset); + int + (*pf_gen_goaway_frame) (unsigned char *buf, size_t buf_len, + uint32_t error_code, lsquic_stream_id_t last_good_stream_id, + const char *reason, size_t reason_len); + int + (*pf_parse_goaway_frame) (const unsigned char *buf, size_t buf_len, + uint32_t *error_code, lsquic_stream_id_t *last_good_stream_id, + uint16_t *reason_length, const char **reason); + int + (*pf_gen_ping_frame) (unsigned char *buf, int buf_len); + int + (*pf_parse_path_chal_frame) (const unsigned char *buf, size_t, + uint64_t *chal); + int + (*pf_parse_path_resp_frame) (const unsigned char *buf, size_t, + uint64_t *resp); + /* These float reading and writing functions assume `mem' has at least + * 2 bytes. + */ + void + (*pf_write_float_time16) (lsquic_time_t time_us, void *mem); + uint64_t + (*pf_read_float_time16) (const void *mem); + ssize_t + (*pf_generate_simple_prst) (const lsquic_cid_t *cid, + unsigned char *, size_t); + size_t + (*pf_calc_stream_frame_header_sz) (lsquic_stream_id_t stream_id, + uint64_t offset, unsigned data_sz); + size_t + (*pf_calc_crypto_frame_header_sz) (uint64_t offset, unsigned data_sz); + void + (*pf_turn_on_fin) (unsigned char *); + + size_t + (*pf_packout_size) (const struct lsquic_conn *, + const struct lsquic_packet_out *); + + /* This returns the high estimate of the header size. Note that it + * cannot account for the size of the token in the IETF QUIC Initial + * packets as it does not know it. + */ + size_t + (*pf_packout_max_header_size) (const struct lsquic_conn *, + enum packet_out_flags, size_t dcid_len, enum header_type); + + enum packno_bits + (*pf_calc_packno_bits) (lsquic_packno_t packno, + lsquic_packno_t least_unacked, uint64_t n_in_flight); + unsigned + (*pf_packno_bits2len) (enum packno_bits); + + int + (*pf_parse_max_data) (const unsigned char *, size_t, uint64_t *); + int + (*pf_gen_max_data_frame) (unsigned char *, size_t, uint64_t); + unsigned + (*pf_max_data_frame_size) (uint64_t); + /* + * Returns number of bytes parsed on success or negative value on error: + * -1 Out of input buffer + * -2 Invalid CID length value + */ + int + (*pf_parse_new_conn_id) (const unsigned char *, size_t, uint64_t *, + uint64_t *, lsquic_cid_t *, const unsigned char **); + unsigned + (*pf_stream_blocked_frame_size) (lsquic_stream_id_t, uint64_t); + int + (*pf_gen_stream_blocked_frame) (unsigned char *buf, size_t, + lsquic_stream_id_t, uint64_t); + int + (*pf_parse_stream_blocked_frame) (const unsigned char *buf, size_t, + lsquic_stream_id_t *, uint64_t *); + unsigned + (*pf_max_stream_data_frame_size) (lsquic_stream_id_t, uint64_t); + int + (*pf_gen_max_stream_data_frame) (unsigned char *buf, size_t, + lsquic_stream_id_t, uint64_t); + int + (*pf_parse_max_stream_data_frame) (const unsigned char *buf, size_t, + lsquic_stream_id_t *, uint64_t *); + int + (*pf_parse_new_token_frame) (const unsigned char *buf, size_t, + const unsigned char **token, size_t *token_size); + size_t + (*pf_new_connection_id_frame_size) (unsigned seqno, unsigned cid_len); + int + (*pf_gen_new_connection_id_frame) (unsigned char *buf, size_t, + unsigned seqno, const struct lsquic_cid *, + const unsigned char *token, size_t); + size_t + (*pf_retire_cid_frame_size) (uint64_t); + int + (*pf_gen_retire_cid_frame) (unsigned char *buf, size_t, uint64_t); + int + (*pf_parse_retire_cid_frame) (const unsigned char *buf, size_t, uint64_t *); + size_t + (*pf_new_token_frame_size) (size_t); + int + (*pf_gen_new_token_frame) (unsigned char *buf, size_t, + const unsigned char *token, size_t); + int + (*pf_gen_streams_blocked_frame) (unsigned char *buf, size_t buf_len, + enum stream_dir, uint64_t); + int + (*pf_parse_streams_blocked_frame) (const unsigned char *buf, size_t buf_len, + enum stream_dir *, uint64_t *); + unsigned + (*pf_streams_blocked_frame_size) (uint64_t); + int + (*pf_gen_max_streams_frame) (unsigned char *buf, size_t buf_len, + enum stream_dir, uint64_t); + int + (*pf_parse_max_streams_frame) (const unsigned char *buf, size_t buf_len, + enum stream_dir *, uint64_t *); + unsigned + (*pf_max_streams_frame_size) (uint64_t); + unsigned + (*pf_path_chal_frame_size) (void); + int + (*pf_gen_path_chal_frame) (unsigned char *, size_t, uint64_t chal); + unsigned + (*pf_path_resp_frame_size) (void); + int + (*pf_gen_path_resp_frame) (unsigned char *, size_t, uint64_t resp); + int + (*pf_gen_handshake_done_frame) (unsigned char *buf, size_t buf_len); + int + (*pf_parse_handshake_done_frame) (const unsigned char *buf, size_t buf_len); + unsigned + (*pf_handshake_done_frame_size) (void); + int + (*pf_gen_ack_frequency_frame) (unsigned char *buf, size_t buf_len, + uint64_t seqno, uint64_t pack_tol, uint64_t upd_mad, int ignore); + int + (*pf_parse_ack_frequency_frame) (const unsigned char *buf, size_t buf_len, + uint64_t *seqno, uint64_t *pack_tol, uint64_t *upd_mad, int *ignore); + unsigned + (*pf_ack_frequency_frame_size) (uint64_t seqno, uint64_t pack_tol, + uint64_t upd_mad /* Don't need to pass `ignore' */); + int + (*pf_gen_timestamp_frame) (unsigned char *buf, size_t buf_len, uint64_t); + int + (*pf_parse_timestamp_frame) (const unsigned char *buf, size_t, uint64_t *); + int + (*pf_parse_datagram_frame) (const unsigned char *buf, size_t, const void **, + size_t *); + int + (*pf_gen_datagram_frame) (unsigned char *, size_t bufsz, size_t min_sz, + size_t max_sz, ssize_t (*)(struct lsquic_conn *, void *, size_t), + struct lsquic_conn *); + unsigned + (*pf_datagram_frame_size) (size_t); +}; + +LSQUIC_EXTERN const struct parse_funcs lsquic_parse_funcs_gquic_Q043; +LSQUIC_EXTERN const struct parse_funcs lsquic_parse_funcs_gquic_Q046; +LSQUIC_EXTERN const struct parse_funcs lsquic_parse_funcs_gquic_Q050; +LSQUIC_EXTERN const struct parse_funcs lsquic_parse_funcs_ietf_v1; + +#define select_pf_by_ver(ver) ( \ + (1 << (ver)) & (1 << LSQVER_043) ? \ + &lsquic_parse_funcs_gquic_Q043 : \ + (1 << (ver)) & (1 << LSQVER_046) ? \ + &lsquic_parse_funcs_gquic_Q046 : \ + (1 << (ver)) & (1 << LSQVER_050) ? \ + &lsquic_parse_funcs_gquic_Q050 : \ + &lsquic_parse_funcs_ietf_v1) + +/* This function is gQUIC-version independent */ +int +lsquic_gquic_parse_packet_in_begin (struct lsquic_packet_in *, size_t length, + int is_server, unsigned cid_len, struct packin_parse_state *); + +int +lsquic_Q046_parse_packet_in_short_begin (struct lsquic_packet_in *, size_t length, + int is_server, unsigned, struct packin_parse_state *); + +int +lsquic_Q046_parse_packet_in_long_begin (struct lsquic_packet_in *, size_t length, + int is_server, unsigned, struct packin_parse_state *); + +int +lsquic_Q050_parse_packet_in_long_begin (struct lsquic_packet_in *, size_t length, + int is_server, unsigned, struct packin_parse_state *); + +enum quic_frame_type +lsquic_parse_frame_type_gquic_Q035_thru_Q046 (const unsigned char *, size_t); + +extern const enum quic_frame_type lsquic_iquic_byte2type[0x40]; + +size_t +lsquic_calc_stream_frame_header_sz_gquic (lsquic_stream_id_t stream_id, + uint64_t offset, unsigned); + +size_t +lsquic_gquic_packout_size (const struct lsquic_conn *, + const struct lsquic_packet_out *); + +size_t +lsquic_gquic_packout_header_size (const struct lsquic_conn *conn, + enum packet_out_flags flags, size_t unused, enum header_type); + +size_t +lsquic_gquic_po_header_sz (enum packet_out_flags flags); + +size_t +lsquic_gquic_packout_size (const struct lsquic_conn *, + const struct lsquic_packet_out *); + +size_t +lsquic_gquic_po_header_sz (enum packet_out_flags flags); + +/* This maps two bits as follows: + * 00 -> 1 + * 01 -> 2 + * 10 -> 4 + * 11 -> 6 + * + * Assumes that only two low bits are set. + */ +static inline unsigned +twobit_to_1246 (unsigned bits) +{ + return bits * 2 + !bits; +} + +/* This maps two bits as follows: + * 00 -> 1 + * 01 -> 2 + * 10 -> 4 + * 11 -> 8 + * + * Assumes that only two low bits are set. + */ +static inline unsigned +twobit_to_1248 (unsigned bits) +{ + return 1 << bits; +} + +#define ECN_COUNTS_STR " ECT(0): 01234567879012345678790;" \ + " ECT(1): 01234567879012345678790;" \ + " CE: 01234567879012345678790" +#define RANGES_TRUNCATED_STR " ranges truncated! " + +#define MAX_ACKI_STR_SZ (256 * (3 /* [-] */ + 20 /* ~0ULL */ * 2) \ + + sizeof(ECN_COUNTS_STR) + sizeof(RANGES_TRUNCATED_STR)) + +void +lsquic_acki2str (const struct ack_info *acki, char *, size_t); + +void +lsquic_turn_on_fin_Q035_thru_Q046 (unsigned char *); + +enum packno_bits +lsquic_gquic_calc_packno_bits (lsquic_packno_t packno, + lsquic_packno_t least_unacked, uint64_t n_in_flight); + +unsigned +lsquic_gquic_packno_bits2len (enum packno_bits); + +int +lsquic_merge_acks (struct ack_info *dst, const struct ack_info *src); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_parse_Q046.c b/external/lsquic/src/liblsquic/lsquic_parse_Q046.c new file mode 100644 index 0000000..c6fc7b8 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_Q046.c @@ -0,0 +1,356 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_parse_Q046.c -- Parsing functions specific to GQUIC Q046 + */ + +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#else +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_parse_common.h" +#include "lsquic_version.h" +#include "lsquic.h" +#include "lsquic_parse_gquic_be.h" +#include "lsquic_byteswap.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PARSE +#include "lsquic_logger.h" + + +static unsigned +gquic_Q046_packno_bits2len (enum packno_bits bits) +{ + return bits + 1; +} + +#define iquic_packno_bits2len gquic_Q046_packno_bits2len + + +static enum packno_bits +gquic_Q046_calc_packno_bits (lsquic_packno_t packno, + lsquic_packno_t least_unacked, uint64_t n_in_flight) +{ + uint64_t delta; + unsigned bits; + + delta = packno - least_unacked; + if (n_in_flight > delta) + delta = n_in_flight; + + delta *= 4; + bits = (delta >= (1ULL << 8)) + + (delta >= (1ULL << 16)) + + (delta >= (1ULL << 24)) + ; + + return bits; +} + + +static unsigned +write_packno (unsigned char *p, lsquic_packno_t packno, enum packno_bits bits) +{ + unsigned char *const begin = p; + + switch (bits) + { + case IQUIC_PACKNO_LEN_4: + *p++ = packno >> 24; + /* fall-through */ + case IQUIC_PACKNO_LEN_3: + *p++ = packno >> 16; + /* fall-through */ + case IQUIC_PACKNO_LEN_2: + *p++ = packno >> 8; + /* fall-through */ + default: + *p++ = packno; + } + + return p - begin; +} + + +static int +gen_short_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz) +{ + unsigned packno_len, need; + enum packno_bits bits; + + bits = lsquic_packet_out_packno_bits(packet_out); + packno_len = iquic_packno_bits2len(bits); + + if (lconn->cn_flags & LSCONN_SERVER) + need = 1 + packno_len; + else + need = 1 + 8 /* CID */ + packno_len; + + if (need > bufsz) + return -1; + + *buf++ = 0x40 | bits; + + if (0 == (lconn->cn_flags & LSCONN_SERVER)) + { + memcpy(buf, lconn->cn_cid.idbuf, 8); + buf += 8; + } + + (void) write_packno(buf, packet_out->po_packno, bits); + + return need; +} + + +static size_t +gquic_Q046_packout_header_size_long (const struct lsquic_conn *lconn, + enum packet_out_flags flags) +{ + if ((lconn->cn_flags & LSCONN_SERVER) && (flags & PO_NONCE)) + return GQUIC_IETF_LONG_HEADER_SIZE + 32; + return GQUIC_IETF_LONG_HEADER_SIZE; +} + + +/* [draft-ietf-quic-transport-17] Section-17.2 */ +static const unsigned char header_type_to_bin[] = { + [HETY_INITIAL] = 0x0, + [HETY_0RTT] = 0x1, + [HETY_HANDSHAKE] = 0x2, + [HETY_RETRY] = 0x3, +}; + + +static int +gen_long_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz) +{ + enum packno_bits packno_bits; + lsquic_ver_tag_t ver_tag; + unsigned char *p; + size_t need; + + need = gquic_Q046_packout_header_size_long(lconn, packet_out->po_flags); + if (need > bufsz) + { + errno = EINVAL; + return -1; + } + + p = buf; + packno_bits = IQUIC_PACKNO_LEN_4; + *p++ = 0x80 | 0x40 + | (header_type_to_bin[ packet_out->po_header_type ] << 4) + | packno_bits; + ver_tag = lsquic_ver2tag(lconn->cn_version); + memcpy(p, &ver_tag, sizeof(ver_tag)); + p += sizeof(ver_tag); + + if (lconn->cn_flags & LSCONN_SERVER) + *p++ = 0x05; + else + *p++ = 0x50; + + memcpy(p, lconn->cn_cid.idbuf, 8); + p += 8; + + p += write_packno(p, packet_out->po_packno, packno_bits); + + if (packet_out->po_nonce) + { + memcpy(p, packet_out->po_nonce, 32); + p += 32; + } + + assert(need == (unsigned int)(p - buf)); + return p - buf; +} + + +static int +gquic_Q046_gen_reg_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz, unsigned *packno_off_UNUSED, unsigned *packno_len_UNUSED) +{ + if (0 == (packet_out->po_flags & PO_LONGHEAD)) + return gen_short_pkt_header(lconn, packet_out, buf, bufsz); + else + return gen_long_pkt_header(lconn, packet_out, buf, bufsz); +} + + +static size_t +gquic_Q046_packout_header_size_short (const struct lsquic_conn *lconn, + enum packet_out_flags flags) +{ + enum packno_bits bits; + size_t sz; + + bits = (flags >> POBIT_SHIFT) & 0x3; + sz = 1; /* Type */ + sz += (lconn->cn_flags & LSCONN_SERVER) ? 0 : 8; + sz += iquic_packno_bits2len(bits); + + return sz; +} + + +static size_t +gquic_Q046_packout_header_size (const struct lsquic_conn *lconn, + enum packet_out_flags flags, size_t dcid_len_unused, + enum header_type unused) +{ + if (0 == (flags & PO_LONGHEAD)) + return gquic_Q046_packout_header_size_short(lconn, flags); + else + return gquic_Q046_packout_header_size_long(lconn, flags); +} + + +static size_t +gquic_Q046_packout_size (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out) +{ + size_t sz; + + if (0 == (packet_out->po_flags & PO_LONGHEAD)) + sz = gquic_Q046_packout_header_size_short(lconn, packet_out->po_flags); + else + sz = gquic_Q046_packout_header_size_long(lconn, packet_out->po_flags); + + sz += packet_out->po_data_sz; + sz += GQUIC_PACKET_HASH_SZ; + + return sz; +} + + +static void +gquic_Q046_parse_packet_in_finish (struct lsquic_packet_in *packet_in, + struct packin_parse_state *state) +{ + lsquic_packno_t packno; + + if (packet_in->pi_header_type == HETY_NOT_SET + /* We can't check in the beginning because we don't know whether + * this is Q046 or ID-18. This is a bit hacky. + */ + && state->pps_p + state->pps_nbytes + <= packet_in->pi_data + packet_in->pi_data_sz) + { + READ_UINT(packno, 64, state->pps_p, state->pps_nbytes); + packet_in->pi_packno = packno; + packet_in->pi_header_sz += state->pps_nbytes; + } +} + + +static int +gquic_Q046_gen_crypto_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id, uint64_t offset, int fin, size_t size, + gsf_read_f gsf_read, void *stream) +{ + assert(0); + return -1; +} + + +static int +gquic_Q046_parse_crypto_frame (const unsigned char *buf, size_t rem_packet_sz, + struct stream_frame *stream_frame) +{ + assert(0); + return -1; +} + + +/* No simple PRST for Q046 */ +static ssize_t +gquic_Q046_generate_simple_prst (const lsquic_cid_t *cidp, unsigned char *buf, + size_t buf_sz) +{ + return -1; +} + + +static unsigned +gquic_Q046_handshake_done_frame_size (void) +{ + return 0; +} + + +static int +gquic_Q046_gen_handshake_done_frame (unsigned char *buf, size_t buf_len) +{ + return -1; +} + + +static int +gquic_Q046_parse_handshake_done_frame (const unsigned char *buf, size_t buf_len) +{ + return -1; +} + + +const struct parse_funcs lsquic_parse_funcs_gquic_Q046 = +{ + .pf_gen_reg_pkt_header = gquic_Q046_gen_reg_pkt_header, + .pf_parse_packet_in_finish = gquic_Q046_parse_packet_in_finish, + .pf_gen_stream_frame = lsquic_gquic_be_gen_stream_frame, + .pf_calc_stream_frame_header_sz = lsquic_calc_stream_frame_header_sz_gquic, + .pf_parse_stream_frame = lsquic_gquic_be_parse_stream_frame, + .pf_dec_stream_frame_size = lsquic_gquic_be_dec_stream_frame_size, + .pf_parse_ack_frame = lsquic_gquic_be_parse_ack_frame, + .pf_gen_ack_frame = lsquic_gquic_be_gen_ack_frame, + .pf_gen_stop_waiting_frame = lsquic_gquic_be_gen_stop_waiting_frame, + .pf_parse_stop_waiting_frame = lsquic_gquic_be_parse_stop_waiting_frame, + .pf_skip_stop_waiting_frame = lsquic_gquic_be_skip_stop_waiting_frame, + .pf_gen_window_update_frame = lsquic_gquic_be_gen_window_update_frame, + .pf_parse_window_update_frame = lsquic_gquic_be_parse_window_update_frame, + .pf_gen_blocked_frame = lsquic_gquic_be_gen_blocked_frame, + .pf_parse_blocked_frame = lsquic_gquic_be_parse_blocked_frame, + .pf_gen_rst_frame = lsquic_gquic_be_gen_rst_frame, + .pf_parse_rst_frame = lsquic_gquic_be_parse_rst_frame, + .pf_connect_close_frame_size = lsquic_gquic_be_connect_close_frame_size, + .pf_gen_connect_close_frame = lsquic_gquic_be_gen_connect_close_frame, + .pf_parse_connect_close_frame = lsquic_gquic_be_parse_connect_close_frame, + .pf_gen_goaway_frame = lsquic_gquic_be_gen_goaway_frame, + .pf_parse_goaway_frame = lsquic_gquic_be_parse_goaway_frame, + .pf_gen_ping_frame = lsquic_gquic_be_gen_ping_frame, +#ifndef NDEBUG + .pf_write_float_time16 = lsquic_gquic_be_write_float_time16, + .pf_read_float_time16 = lsquic_gquic_be_read_float_time16, +#endif + .pf_generate_simple_prst = gquic_Q046_generate_simple_prst, + .pf_parse_frame_type = lsquic_parse_frame_type_gquic_Q035_thru_Q046, + .pf_turn_on_fin = lsquic_turn_on_fin_Q035_thru_Q046, + .pf_packout_size = gquic_Q046_packout_size, + .pf_packout_max_header_size = gquic_Q046_packout_header_size, + .pf_calc_packno_bits = gquic_Q046_calc_packno_bits, + .pf_packno_bits2len = gquic_Q046_packno_bits2len, + .pf_gen_crypto_frame = gquic_Q046_gen_crypto_frame, + .pf_parse_crypto_frame = gquic_Q046_parse_crypto_frame, + .pf_gen_handshake_done_frame = gquic_Q046_gen_handshake_done_frame, + .pf_parse_handshake_done_frame = gquic_Q046_parse_handshake_done_frame, + .pf_handshake_done_frame_size = gquic_Q046_handshake_done_frame_size, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_parse_Q050.c b/external/lsquic/src/liblsquic/lsquic_parse_Q050.c new file mode 100644 index 0000000..210e5bb --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_Q050.c @@ -0,0 +1,887 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_parse_Q050.c -- Parsing functions specific to GQUIC Q050 + */ + +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#else +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_parse_common.h" +#include "lsquic_version.h" +#include "lsquic.h" +#include "lsquic_parse_gquic_be.h" +#include "lsquic_parse_ietf.h" +#include "lsquic_byteswap.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_varint.h" +#include "lsquic_enc_sess.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PARSE +#include "lsquic_logger.h" + + +/* [draft-ietf-quic-transport-24] Section-17.2 */ +static const enum header_type bits2ht[4] = +{ + [0] = HETY_INITIAL, + [1] = HETY_0RTT, + [2] = HETY_HANDSHAKE, + [3] = HETY_RETRY, +}; + + +int +lsquic_Q050_parse_packet_in_long_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + const unsigned char *p = packet_in->pi_data; + const unsigned char *const end = p + length; + lsquic_ver_tag_t tag; + enum header_type header_type; + unsigned dcil, scil, odcil; + int verneg, r; + unsigned char first_byte; + uint64_t payload_len, token_len; + + if (length < 6) + return -1; + first_byte = *p++; + + memcpy(&tag, p, 4); + p += 4; + verneg = 0 == tag; + if (!verneg) + header_type = bits2ht[ (first_byte >> 4) & 3 ]; + else + header_type = HETY_VERNEG; + + packet_in->pi_header_type = header_type; + + dcil = *p++; + if (p + dcil >= end || dcil > MAX_CID_LEN) + return -1; + if (dcil) + { + memcpy(packet_in->pi_dcid.idbuf, p, dcil); + packet_in->pi_flags |= PI_CONN_ID; + p += dcil; + packet_in->pi_dcid.len = dcil; + } + + scil = *p++; + if (p + scil > end || scil > MAX_CID_LEN) + return -1; + if (scil) + { + memcpy(packet_in->pi_dcid.idbuf, p, scil); + packet_in->pi_flags |= PI_CONN_ID; + p += scil; + packet_in->pi_dcid.len = scil; + } + + if (is_server) + { + if (scil) + return -1; + } + else + if (dcil) + return -1; + + switch (header_type) + { + case HETY_INITIAL: + r = vint_read(p, end, &token_len); + if (r < 0) + return -1; + if (token_len && !is_server) + { + /* From [draft-ietf-quic-transport-14]: + * + * Token Length: A variable-length integer specifying the + * length of the Token field, in bytes. This value is zero + * if no token is present. Initial packets sent by the + * server MUST set the Token Length field to zero; clients + * that receive an Initial packet with a non-zero Token + * Length field MUST either discard the packet or generate + * a connection error of type PROTOCOL_VIOLATION. + */ + return -1; + } + p += r; + if (token_len) + { + if (token_len >= + 1ull << (sizeof(packet_in->pi_token_size) * 8)) + return -1; + if (p + token_len > end) + return -1; + packet_in->pi_token = p - packet_in->pi_data; + packet_in->pi_token_size = token_len; + p += token_len; + } + /* fall-through */ + case HETY_HANDSHAKE: + case HETY_0RTT: + if (p >= end) + return -1; + r = vint_read(p, end, &payload_len); + if (r < 0) + return -1; + p += r; + if (p - packet_in->pi_data + payload_len > length) + return -1; + length = p - packet_in->pi_data + payload_len; + if (end - p < 4) + return -1; + state->pps_p = p - r; + state->pps_nbytes = r; + packet_in->pi_quic_ver = 1; + break; + case HETY_RETRY: + if (p >= end) + return -1; + odcil = *p++; + if (p + odcil > end || odcil > MAX_CID_LEN) + return -1; + packet_in->pi_odcid_len = odcil; + packet_in->pi_odcid = p - packet_in->pi_data; + p += odcil; + packet_in->pi_token = p - packet_in->pi_data; + packet_in->pi_token_size = end - p; + p = end; + length = end - packet_in->pi_data; + state->pps_p = NULL; + state->pps_nbytes = 0; + packet_in->pi_quic_ver = 1; + break; + default: + assert(header_type == HETY_VERNEG); + if (p >= end || (3 & (uintptr_t) (end - p))) + return -1; + packet_in->pi_quic_ver = p - packet_in->pi_data; + p = end; + state->pps_p = NULL; + state->pps_nbytes = 0; + break; + } + + packet_in->pi_header_sz = p - packet_in->pi_data; + packet_in->pi_data_sz = length; + packet_in->pi_nonce = 0; + packet_in->pi_refcnt = 0; + packet_in->pi_frame_types = 0; + memset(&packet_in->pi_next, 0, sizeof(packet_in->pi_next)); + packet_in->pi_refcnt = 0; + packet_in->pi_received = 0; + + /* Packet number is set to an invalid value. The packet number must + * be decrypted, which happens later. + */ + packet_in->pi_packno = 1ULL << 62; + + return 0; +} + + + + +static unsigned +gquic_Q050_packno_bits2len (enum packno_bits bits) +{ + return bits + 1; +} + +#define iquic_packno_bits2len gquic_Q050_packno_bits2len + + +static enum packno_bits +gquic_Q050_calc_packno_bits (lsquic_packno_t packno, + lsquic_packno_t least_unacked, uint64_t n_in_flight) +{ + uint64_t delta; + unsigned bits; + + delta = packno - least_unacked; + if (n_in_flight > delta) + delta = n_in_flight; + + delta *= 4; + bits = (delta >= (1ULL << 8)) + + (delta >= (1ULL << 16)) + + (delta >= (1ULL << 24)) + ; + + return bits; +} + + +static unsigned +write_packno (unsigned char *p, lsquic_packno_t packno, enum packno_bits bits) +{ + unsigned char *const begin = p; + + switch (bits) + { + case IQUIC_PACKNO_LEN_4: + *p++ = packno >> 24; + /* fall-through */ + case IQUIC_PACKNO_LEN_3: + *p++ = packno >> 16; + /* fall-through */ + case IQUIC_PACKNO_LEN_2: + *p++ = packno >> 8; + /* fall-through */ + default: + *p++ = packno; + } + + return p - begin; +} + + +static int +gen_short_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz, unsigned *packno_off_p, unsigned *packno_len_p) +{ + unsigned packno_len, need; + enum packno_bits bits; + unsigned char *p = buf; + + bits = lsquic_packet_out_packno_bits(packet_out); + packno_len = iquic_packno_bits2len(bits); + + if (lconn->cn_flags & LSCONN_SERVER) + need = 1 + packno_len; + else + need = 1 + 8 /* CID */ + packno_len; + + if (need > bufsz) + return -1; + + *p++ = 0x40 | bits; + + if (0 == (lconn->cn_flags & LSCONN_SERVER)) + { + memcpy(p, lconn->cn_cid.idbuf, 8); + p += 8; + } + + *packno_off_p = p - buf; + *packno_len_p = packno_len; + (void) write_packno(p, packet_out->po_packno, bits); + + return need; +} + + +static size_t +gquic_Q050_packout_header_size_long_by_flags (const struct lsquic_conn *lconn, + enum packet_out_flags flags) +{ + size_t sz; + enum packno_bits packno_bits; + + packno_bits = (flags >> POBIT_SHIFT) & 0x3; + + sz = 1 /* Type */ + + 4 /* Version */ + + 1 /* DCIL */ + + 1 /* SCIL */ + + lconn->cn_cid.len + + 1 /* Token length: only use for Initial packets, while token is never + * set in this version. + */ + + (flags & PO_NONCE ? DNONC_LENGTH : 0) + + 2 /* Always use two bytes to encode payload length */ + + iquic_packno_bits2len(packno_bits) + ; + + return sz; +} + + +/* [draft-ietf-quic-transport-17] Section-17.2 */ +static const unsigned char header_type_to_bin[] = { + [HETY_INITIAL] = 0x0, + [HETY_0RTT] = 0x1, + [HETY_HANDSHAKE] = 0x2, + [HETY_RETRY] = 0x3, +}; + + +static size_t +gquic_Q050_packout_header_size_long_by_packet (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out) +{ + size_t sz; + enum packno_bits packno_bits; + + packno_bits = lsquic_packet_out_packno_bits(packet_out); + + sz = 1 /* Type */ + + 4 /* Version */ + + 1 /* DCIL */ + + 1 /* SCIL */ + + lconn->cn_cid.len + /* Token is never sent, but token length byte is used */ + + (packet_out->po_header_type == HETY_INITIAL) + + 2 /* Always use two bytes to encode payload length */ + + iquic_packno_bits2len(packno_bits) + + (packet_out->po_nonce ? DNONC_LENGTH : 0) + ; + + return sz; +} + + +static int +gquic_Q050_gen_long_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz, unsigned *packno_off_p, unsigned *packno_len_p) +{ + enum packno_bits packno_bits; + lsquic_ver_tag_t ver_tag; + unsigned token_len, payload_len, bits; + unsigned char *p; + size_t need; + + need = gquic_Q050_packout_header_size_long_by_packet(lconn, packet_out); + if (need > bufsz) + { + errno = EINVAL; + return -1; + } + + packno_bits = lsquic_packet_out_packno_bits(packet_out); + p = buf; + *p++ = 0x80 | 0x40 + | (header_type_to_bin[ packet_out->po_header_type ] << 4) + | packno_bits; + ver_tag = lsquic_ver2tag(lconn->cn_version); + memcpy(p, &ver_tag, sizeof(ver_tag)); + p += sizeof(ver_tag); + + if (lconn->cn_flags & LSCONN_SERVER) + { + *p++ = 0; + *p++ = lconn->cn_cid.len; + memcpy(p, lconn->cn_cid.idbuf, lconn->cn_cid.len); + p += lconn->cn_cid.len; + } + else + { + *p++ = lconn->cn_cid.len; + memcpy(p, lconn->cn_cid.idbuf, lconn->cn_cid.len); + p += lconn->cn_cid.len; + *p++ = 0; + } + + if (HETY_INITIAL == packet_out->po_header_type) + { + token_len = packet_out->po_token_len; + bits = vint_val2bits(token_len); + vint_write(p, token_len, bits, 1 << bits); + p += 1 << bits; + memcpy(p, packet_out->po_token, token_len); + p += token_len; + } + + payload_len = packet_out->po_data_sz + + lconn->cn_esf_c->esf_tag_len + + iquic_packno_bits2len(packno_bits); + if (packet_out->po_nonce) + payload_len += DNONC_LENGTH; + bits = 1; /* Always use two bytes to encode payload length */ + vint_write(p, payload_len, bits, 1 << bits); + p += 1 << bits; + *packno_off_p = p - buf; + *packno_len_p = iquic_packno_bits2len(packno_bits); + p += write_packno(p, packet_out->po_packno, packno_bits); + + if (packet_out->po_nonce) + { + memcpy(p, packet_out->po_nonce, DNONC_LENGTH); + p += DNONC_LENGTH; + } + + assert(need == (size_t) (p - buf)); + return p - buf; +} + + +static int +gquic_Q050_gen_reg_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz, unsigned *packno_off, unsigned *packno_len) +{ + if (0 == (packet_out->po_flags & PO_LONGHEAD)) + return gen_short_pkt_header(lconn, packet_out, buf, bufsz, + packno_off, packno_len); + else + return gquic_Q050_gen_long_pkt_header(lconn, packet_out, buf, bufsz, + packno_off, packno_len); +} + + +static size_t +gquic_Q050_packout_header_size_short (const struct lsquic_conn *lconn, + enum packet_out_flags flags) +{ + enum packno_bits bits; + size_t sz; + + bits = (flags >> POBIT_SHIFT) & 0x3; + sz = 1; /* Type */ + sz += (lconn->cn_flags & LSCONN_SERVER) ? 0 : 8; + sz += iquic_packno_bits2len(bits); + + return sz; +} + + +static size_t +gquic_Q050_packout_max_header_size (const struct lsquic_conn *lconn, + enum packet_out_flags flags, size_t dcid_len_unused, + enum header_type unused) +{ + if (lconn->cn_flags & LSCONN_SERVER) + { + if (0 == (flags & PO_LONGHEAD)) + return gquic_Q050_packout_header_size_short(lconn, flags); + else + return gquic_Q050_packout_header_size_long_by_flags(lconn, flags); + } + else + { + if (lconn->cn_flags & LSCONN_HANDSHAKE_DONE) + return gquic_Q050_packout_header_size_short(lconn, flags); + else + return gquic_Q050_packout_header_size_long_by_flags(lconn, flags); + } +} + + +static size_t +gquic_Q050_packout_size (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out) +{ + size_t sz; + + if ((lconn->cn_flags & LSCONN_HANDSHAKE_DONE) + && packet_out->po_header_type == HETY_SHORT) + sz = gquic_Q050_packout_header_size_short(lconn, packet_out->po_flags); + else + sz = gquic_Q050_packout_header_size_long_by_packet(lconn, packet_out); + + sz += packet_out->po_data_sz; + sz += lconn->cn_esf_c->esf_tag_len; + + return sz; +} + + +static void +gquic_Q050_parse_packet_in_finish (struct lsquic_packet_in *packet_in, + struct packin_parse_state *state) +{ +} + + +/* Same as Q046 plus CRYPTO frame at slot 8 */ +static const enum quic_frame_type byte2frame_type_Q050[0x100] = +{ + [0x00] = QUIC_FRAME_PADDING, + [0x01] = QUIC_FRAME_RST_STREAM, + [0x02] = QUIC_FRAME_CONNECTION_CLOSE, + [0x03] = QUIC_FRAME_GOAWAY, + [0x04] = QUIC_FRAME_WINDOW_UPDATE, + [0x05] = QUIC_FRAME_BLOCKED, + [0x06] = QUIC_FRAME_STOP_WAITING, + [0x07] = QUIC_FRAME_PING, + [0x08] = QUIC_FRAME_CRYPTO, + [0x09] = QUIC_FRAME_INVALID, + [0x0A] = QUIC_FRAME_INVALID, + [0x0B] = QUIC_FRAME_INVALID, + [0x0C] = QUIC_FRAME_INVALID, + [0x0D] = QUIC_FRAME_INVALID, + [0x0E] = QUIC_FRAME_INVALID, + [0x0F] = QUIC_FRAME_INVALID, + [0x10] = QUIC_FRAME_INVALID, + [0x11] = QUIC_FRAME_INVALID, + [0x12] = QUIC_FRAME_INVALID, + [0x13] = QUIC_FRAME_INVALID, + [0x14] = QUIC_FRAME_INVALID, + [0x15] = QUIC_FRAME_INVALID, + [0x16] = QUIC_FRAME_INVALID, + [0x17] = QUIC_FRAME_INVALID, + [0x18] = QUIC_FRAME_INVALID, + [0x19] = QUIC_FRAME_INVALID, + [0x1A] = QUIC_FRAME_INVALID, + [0x1B] = QUIC_FRAME_INVALID, + [0x1C] = QUIC_FRAME_INVALID, + [0x1D] = QUIC_FRAME_INVALID, + [0x1E] = QUIC_FRAME_INVALID, + [0x1F] = QUIC_FRAME_INVALID, + [0x20] = QUIC_FRAME_INVALID, + [0x21] = QUIC_FRAME_INVALID, + [0x22] = QUIC_FRAME_INVALID, + [0x23] = QUIC_FRAME_INVALID, + [0x24] = QUIC_FRAME_INVALID, + [0x25] = QUIC_FRAME_INVALID, + [0x26] = QUIC_FRAME_INVALID, + [0x27] = QUIC_FRAME_INVALID, + [0x28] = QUIC_FRAME_INVALID, + [0x29] = QUIC_FRAME_INVALID, + [0x2A] = QUIC_FRAME_INVALID, + [0x2B] = QUIC_FRAME_INVALID, + [0x2C] = QUIC_FRAME_INVALID, + [0x2D] = QUIC_FRAME_INVALID, + [0x2E] = QUIC_FRAME_INVALID, + [0x2F] = QUIC_FRAME_INVALID, + [0x30] = QUIC_FRAME_INVALID, + [0x31] = QUIC_FRAME_INVALID, + [0x32] = QUIC_FRAME_INVALID, + [0x33] = QUIC_FRAME_INVALID, + [0x34] = QUIC_FRAME_INVALID, + [0x35] = QUIC_FRAME_INVALID, + [0x36] = QUIC_FRAME_INVALID, + [0x37] = QUIC_FRAME_INVALID, + [0x38] = QUIC_FRAME_INVALID, + [0x39] = QUIC_FRAME_INVALID, + [0x3A] = QUIC_FRAME_INVALID, + [0x3B] = QUIC_FRAME_INVALID, + [0x3C] = QUIC_FRAME_INVALID, + [0x3D] = QUIC_FRAME_INVALID, + [0x3E] = QUIC_FRAME_INVALID, + [0x3F] = QUIC_FRAME_INVALID, + [0x40] = QUIC_FRAME_ACK, + [0x41] = QUIC_FRAME_ACK, + [0x42] = QUIC_FRAME_ACK, + [0x43] = QUIC_FRAME_ACK, + [0x44] = QUIC_FRAME_ACK, + [0x45] = QUIC_FRAME_ACK, + [0x46] = QUIC_FRAME_ACK, + [0x47] = QUIC_FRAME_ACK, + [0x48] = QUIC_FRAME_ACK, + [0x49] = QUIC_FRAME_ACK, + [0x4A] = QUIC_FRAME_ACK, + [0x4B] = QUIC_FRAME_ACK, + [0x4C] = QUIC_FRAME_ACK, + [0x4D] = QUIC_FRAME_ACK, + [0x4E] = QUIC_FRAME_ACK, + [0x4F] = QUIC_FRAME_ACK, + [0x50] = QUIC_FRAME_ACK, + [0x51] = QUIC_FRAME_ACK, + [0x52] = QUIC_FRAME_ACK, + [0x53] = QUIC_FRAME_ACK, + [0x54] = QUIC_FRAME_ACK, + [0x55] = QUIC_FRAME_ACK, + [0x56] = QUIC_FRAME_ACK, + [0x57] = QUIC_FRAME_ACK, + [0x58] = QUIC_FRAME_ACK, + [0x59] = QUIC_FRAME_ACK, + [0x5A] = QUIC_FRAME_ACK, + [0x5B] = QUIC_FRAME_ACK, + [0x5C] = QUIC_FRAME_ACK, + [0x5D] = QUIC_FRAME_ACK, + [0x5E] = QUIC_FRAME_ACK, + [0x5F] = QUIC_FRAME_ACK, + [0x60] = QUIC_FRAME_ACK, + [0x61] = QUIC_FRAME_ACK, + [0x62] = QUIC_FRAME_ACK, + [0x63] = QUIC_FRAME_ACK, + [0x64] = QUIC_FRAME_ACK, + [0x65] = QUIC_FRAME_ACK, + [0x66] = QUIC_FRAME_ACK, + [0x67] = QUIC_FRAME_ACK, + [0x68] = QUIC_FRAME_ACK, + [0x69] = QUIC_FRAME_ACK, + [0x6A] = QUIC_FRAME_ACK, + [0x6B] = QUIC_FRAME_ACK, + [0x6C] = QUIC_FRAME_ACK, + [0x6D] = QUIC_FRAME_ACK, + [0x6E] = QUIC_FRAME_ACK, + [0x6F] = QUIC_FRAME_ACK, + [0x70] = QUIC_FRAME_ACK, + [0x71] = QUIC_FRAME_ACK, + [0x72] = QUIC_FRAME_ACK, + [0x73] = QUIC_FRAME_ACK, + [0x74] = QUIC_FRAME_ACK, + [0x75] = QUIC_FRAME_ACK, + [0x76] = QUIC_FRAME_ACK, + [0x77] = QUIC_FRAME_ACK, + [0x78] = QUIC_FRAME_ACK, + [0x79] = QUIC_FRAME_ACK, + [0x7A] = QUIC_FRAME_ACK, + [0x7B] = QUIC_FRAME_ACK, + [0x7C] = QUIC_FRAME_ACK, + [0x7D] = QUIC_FRAME_ACK, + [0x7E] = QUIC_FRAME_ACK, + [0x7F] = QUIC_FRAME_ACK, + [0x80] = QUIC_FRAME_STREAM, + [0x81] = QUIC_FRAME_STREAM, + [0x82] = QUIC_FRAME_STREAM, + [0x83] = QUIC_FRAME_STREAM, + [0x84] = QUIC_FRAME_STREAM, + [0x85] = QUIC_FRAME_STREAM, + [0x86] = QUIC_FRAME_STREAM, + [0x87] = QUIC_FRAME_STREAM, + [0x88] = QUIC_FRAME_STREAM, + [0x89] = QUIC_FRAME_STREAM, + [0x8A] = QUIC_FRAME_STREAM, + [0x8B] = QUIC_FRAME_STREAM, + [0x8C] = QUIC_FRAME_STREAM, + [0x8D] = QUIC_FRAME_STREAM, + [0x8E] = QUIC_FRAME_STREAM, + [0x8F] = QUIC_FRAME_STREAM, + [0x90] = QUIC_FRAME_STREAM, + [0x91] = QUIC_FRAME_STREAM, + [0x92] = QUIC_FRAME_STREAM, + [0x93] = QUIC_FRAME_STREAM, + [0x94] = QUIC_FRAME_STREAM, + [0x95] = QUIC_FRAME_STREAM, + [0x96] = QUIC_FRAME_STREAM, + [0x97] = QUIC_FRAME_STREAM, + [0x98] = QUIC_FRAME_STREAM, + [0x99] = QUIC_FRAME_STREAM, + [0x9A] = QUIC_FRAME_STREAM, + [0x9B] = QUIC_FRAME_STREAM, + [0x9C] = QUIC_FRAME_STREAM, + [0x9D] = QUIC_FRAME_STREAM, + [0x9E] = QUIC_FRAME_STREAM, + [0x9F] = QUIC_FRAME_STREAM, + [0xA0] = QUIC_FRAME_STREAM, + [0xA1] = QUIC_FRAME_STREAM, + [0xA2] = QUIC_FRAME_STREAM, + [0xA3] = QUIC_FRAME_STREAM, + [0xA4] = QUIC_FRAME_STREAM, + [0xA5] = QUIC_FRAME_STREAM, + [0xA6] = QUIC_FRAME_STREAM, + [0xA7] = QUIC_FRAME_STREAM, + [0xA8] = QUIC_FRAME_STREAM, + [0xA9] = QUIC_FRAME_STREAM, + [0xAA] = QUIC_FRAME_STREAM, + [0xAB] = QUIC_FRAME_STREAM, + [0xAC] = QUIC_FRAME_STREAM, + [0xAD] = QUIC_FRAME_STREAM, + [0xAE] = QUIC_FRAME_STREAM, + [0xAF] = QUIC_FRAME_STREAM, + [0xB0] = QUIC_FRAME_STREAM, + [0xB1] = QUIC_FRAME_STREAM, + [0xB2] = QUIC_FRAME_STREAM, + [0xB3] = QUIC_FRAME_STREAM, + [0xB4] = QUIC_FRAME_STREAM, + [0xB5] = QUIC_FRAME_STREAM, + [0xB6] = QUIC_FRAME_STREAM, + [0xB7] = QUIC_FRAME_STREAM, + [0xB8] = QUIC_FRAME_STREAM, + [0xB9] = QUIC_FRAME_STREAM, + [0xBA] = QUIC_FRAME_STREAM, + [0xBB] = QUIC_FRAME_STREAM, + [0xBC] = QUIC_FRAME_STREAM, + [0xBD] = QUIC_FRAME_STREAM, + [0xBE] = QUIC_FRAME_STREAM, + [0xBF] = QUIC_FRAME_STREAM, + [0xC0] = QUIC_FRAME_STREAM, + [0xC1] = QUIC_FRAME_STREAM, + [0xC2] = QUIC_FRAME_STREAM, + [0xC3] = QUIC_FRAME_STREAM, + [0xC4] = QUIC_FRAME_STREAM, + [0xC5] = QUIC_FRAME_STREAM, + [0xC6] = QUIC_FRAME_STREAM, + [0xC7] = QUIC_FRAME_STREAM, + [0xC8] = QUIC_FRAME_STREAM, + [0xC9] = QUIC_FRAME_STREAM, + [0xCA] = QUIC_FRAME_STREAM, + [0xCB] = QUIC_FRAME_STREAM, + [0xCC] = QUIC_FRAME_STREAM, + [0xCD] = QUIC_FRAME_STREAM, + [0xCE] = QUIC_FRAME_STREAM, + [0xCF] = QUIC_FRAME_STREAM, + [0xD0] = QUIC_FRAME_STREAM, + [0xD1] = QUIC_FRAME_STREAM, + [0xD2] = QUIC_FRAME_STREAM, + [0xD3] = QUIC_FRAME_STREAM, + [0xD4] = QUIC_FRAME_STREAM, + [0xD5] = QUIC_FRAME_STREAM, + [0xD6] = QUIC_FRAME_STREAM, + [0xD7] = QUIC_FRAME_STREAM, + [0xD8] = QUIC_FRAME_STREAM, + [0xD9] = QUIC_FRAME_STREAM, + [0xDA] = QUIC_FRAME_STREAM, + [0xDB] = QUIC_FRAME_STREAM, + [0xDC] = QUIC_FRAME_STREAM, + [0xDD] = QUIC_FRAME_STREAM, + [0xDE] = QUIC_FRAME_STREAM, + [0xDF] = QUIC_FRAME_STREAM, + [0xE0] = QUIC_FRAME_STREAM, + [0xE1] = QUIC_FRAME_STREAM, + [0xE2] = QUIC_FRAME_STREAM, + [0xE3] = QUIC_FRAME_STREAM, + [0xE4] = QUIC_FRAME_STREAM, + [0xE5] = QUIC_FRAME_STREAM, + [0xE6] = QUIC_FRAME_STREAM, + [0xE7] = QUIC_FRAME_STREAM, + [0xE8] = QUIC_FRAME_STREAM, + [0xE9] = QUIC_FRAME_STREAM, + [0xEA] = QUIC_FRAME_STREAM, + [0xEB] = QUIC_FRAME_STREAM, + [0xEC] = QUIC_FRAME_STREAM, + [0xED] = QUIC_FRAME_STREAM, + [0xEE] = QUIC_FRAME_STREAM, + [0xEF] = QUIC_FRAME_STREAM, + [0xF0] = QUIC_FRAME_STREAM, + [0xF1] = QUIC_FRAME_STREAM, + [0xF2] = QUIC_FRAME_STREAM, + [0xF3] = QUIC_FRAME_STREAM, + [0xF4] = QUIC_FRAME_STREAM, + [0xF5] = QUIC_FRAME_STREAM, + [0xF6] = QUIC_FRAME_STREAM, + [0xF7] = QUIC_FRAME_STREAM, + [0xF8] = QUIC_FRAME_STREAM, + [0xF9] = QUIC_FRAME_STREAM, + [0xFA] = QUIC_FRAME_STREAM, + [0xFB] = QUIC_FRAME_STREAM, + [0xFC] = QUIC_FRAME_STREAM, + [0xFD] = QUIC_FRAME_STREAM, + [0xFE] = QUIC_FRAME_STREAM, + [0xFF] = QUIC_FRAME_STREAM, +}; + + +static enum quic_frame_type +gquic_Q050_parse_frame_type (const unsigned char *buf, size_t len) +{ + if (len > 0) + return byte2frame_type_Q050[buf[0]]; + else + return QUIC_FRAME_INVALID; +} + + +static int +gquic_Q050_gen_crypto_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id, uint64_t offset, int fin, + size_t size, gsf_read_f gsf_read, void *stream) +{ + return lsquic_ietf_v1_gen_crypto_frame(buf, 0x8, buf_len, stream_id, + offset, fin, size, gsf_read, stream); +} + + +static int +gquic_Q050_parse_crypto_frame (const unsigned char *buf, size_t rem_packet_sz, + struct stream_frame *stream_frame) +{ + if (rem_packet_sz > 0) + { + assert(0x08 == buf[0]); + return lsquic_ietf_v1_parse_crypto_frame(buf, rem_packet_sz, + stream_frame); + } + else + return -1; +} + + +static size_t +gquic_Q050_calc_crypto_frame_header_sz (uint64_t offset, unsigned data_sz) +{ + return 1 /* Frame type */ + + (1 << vint_val2bits(offset)) + + (1 << vint_val2bits(data_sz)) + ; +} + + +/* No simple PRST for Q050 */ +static ssize_t +gquic_Q050_generate_simple_prst (const lsquic_cid_t *cidp, unsigned char *buf, + size_t buf_sz) +{ + return -1; +} + + +static unsigned +gquic_Q050_handshake_done_frame_size (void) +{ + return 0; +} + + +static int +gquic_Q050_gen_handshake_done_frame (unsigned char *buf, size_t buf_len) +{ + return -1; +} + + +static int +gquic_Q050_parse_handshake_done_frame (const unsigned char *buf, size_t buf_len) +{ + return -1; +} + + +const struct parse_funcs lsquic_parse_funcs_gquic_Q050 = +{ + .pf_gen_reg_pkt_header = gquic_Q050_gen_reg_pkt_header, + .pf_parse_packet_in_finish = gquic_Q050_parse_packet_in_finish, + .pf_gen_stream_frame = lsquic_gquic_be_gen_stream_frame, + .pf_calc_stream_frame_header_sz = lsquic_calc_stream_frame_header_sz_gquic, + .pf_parse_stream_frame = lsquic_gquic_be_parse_stream_frame, + .pf_dec_stream_frame_size = lsquic_gquic_be_dec_stream_frame_size, + .pf_parse_ack_frame = lsquic_gquic_be_parse_ack_frame, + .pf_gen_ack_frame = lsquic_gquic_be_gen_ack_frame, + .pf_gen_stop_waiting_frame = lsquic_gquic_be_gen_stop_waiting_frame, + .pf_parse_stop_waiting_frame = lsquic_gquic_be_parse_stop_waiting_frame, + .pf_skip_stop_waiting_frame = lsquic_gquic_be_skip_stop_waiting_frame, + .pf_gen_window_update_frame = lsquic_gquic_be_gen_window_update_frame, + .pf_parse_window_update_frame = lsquic_gquic_be_parse_window_update_frame, + .pf_gen_blocked_frame = lsquic_gquic_be_gen_blocked_frame, + .pf_parse_blocked_frame = lsquic_gquic_be_parse_blocked_frame, + .pf_gen_rst_frame = lsquic_gquic_be_gen_rst_frame, + .pf_parse_rst_frame = lsquic_gquic_be_parse_rst_frame, + .pf_connect_close_frame_size = lsquic_gquic_be_connect_close_frame_size, + .pf_gen_connect_close_frame = lsquic_gquic_be_gen_connect_close_frame, + .pf_parse_connect_close_frame = lsquic_gquic_be_parse_connect_close_frame, + .pf_gen_goaway_frame = lsquic_gquic_be_gen_goaway_frame, + .pf_parse_goaway_frame = lsquic_gquic_be_parse_goaway_frame, + .pf_gen_ping_frame = lsquic_gquic_be_gen_ping_frame, +#ifndef NDEBUG + .pf_write_float_time16 = lsquic_gquic_be_write_float_time16, + .pf_read_float_time16 = lsquic_gquic_be_read_float_time16, +#endif + .pf_generate_simple_prst = gquic_Q050_generate_simple_prst, + .pf_parse_frame_type = gquic_Q050_parse_frame_type, + .pf_turn_on_fin = lsquic_turn_on_fin_Q035_thru_Q046, + .pf_packout_size = gquic_Q050_packout_size, + .pf_packout_max_header_size = gquic_Q050_packout_max_header_size, + .pf_calc_packno_bits = gquic_Q050_calc_packno_bits, + .pf_packno_bits2len = gquic_Q050_packno_bits2len, + .pf_gen_crypto_frame = gquic_Q050_gen_crypto_frame, + .pf_parse_crypto_frame = gquic_Q050_parse_crypto_frame, + .pf_calc_crypto_frame_header_sz = gquic_Q050_calc_crypto_frame_header_sz, + .pf_gen_handshake_done_frame = gquic_Q050_gen_handshake_done_frame, + .pf_parse_handshake_done_frame = gquic_Q050_parse_handshake_done_frame, + .pf_handshake_done_frame_size = gquic_Q050_handshake_done_frame_size, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_parse_common.c b/external/lsquic/src/liblsquic/lsquic_parse_common.c new file mode 100644 index 0000000..d225823 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_common.c @@ -0,0 +1,463 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_parse_common.h" +#include "lsquic_parse.h" +#include "lsquic_enc_sess.h" +#include "lsquic_version.h" +#include "lsquic_qtags.h" + + +static int +parse_ietf_v1_or_Q046plus_long_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + enum lsquic_version version; + if (length < 6) + return -1; + version = lsquic_tag2ver_fast(packet_in->pi_data + 1); + if (version != N_LSQVER) + { + packet_in->pi_version = version; + packet_in->pi_flags |= PI_VER_PARSED; + } + switch (version) + { + case LSQVER_046: + return lsquic_Q046_parse_packet_in_long_begin(packet_in, length, + is_server, cid_len, state); + case LSQVER_050: + return lsquic_Q050_parse_packet_in_long_begin(packet_in, length, + is_server, cid_len, state); + default: + return lsquic_ietf_v1_parse_packet_in_long_begin(packet_in, length, + is_server, cid_len, state); + } +} + + +static int (* const parse_begin_funcs[32]) (struct lsquic_packet_in *, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *) = +{ + /* Xs vary, Gs are iGnored: */ +#define PBEL(mask) [(mask) >> 3] + /* 1X11 XGGG: */ + PBEL(0x80|0x40|0x20|0x10|0x08) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x00|0x20|0x10|0x08) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x40|0x20|0x10|0x00) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x00|0x20|0x10|0x00) = parse_ietf_v1_or_Q046plus_long_begin, + /* 1X00 XGGG: */ + PBEL(0x80|0x40|0x00|0x00|0x08) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x00|0x00|0x00|0x08) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x40|0x00|0x00|0x00) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x00|0x00|0x00|0x00) = parse_ietf_v1_or_Q046plus_long_begin, + /* 1X01 XGGG: */ + PBEL(0x80|0x40|0x00|0x10|0x08) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x00|0x00|0x10|0x08) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x40|0x00|0x10|0x00) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x00|0x00|0x10|0x00) = parse_ietf_v1_or_Q046plus_long_begin, + /* 1X10 XGGG: */ + PBEL(0x80|0x40|0x20|0x00|0x08) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x00|0x20|0x00|0x08) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x40|0x20|0x00|0x00) = parse_ietf_v1_or_Q046plus_long_begin, + PBEL(0x80|0x00|0x20|0x00|0x00) = parse_ietf_v1_or_Q046plus_long_begin, + /* 01XX XGGG */ + PBEL(0x00|0x40|0x00|0x00|0x00) = lsquic_ietf_v1_parse_packet_in_short_begin, + PBEL(0x00|0x40|0x00|0x00|0x08) = lsquic_ietf_v1_parse_packet_in_short_begin, + PBEL(0x00|0x40|0x00|0x10|0x00) = lsquic_ietf_v1_parse_packet_in_short_begin, + PBEL(0x00|0x40|0x00|0x10|0x08) = lsquic_ietf_v1_parse_packet_in_short_begin, + PBEL(0x00|0x40|0x20|0x00|0x00) = lsquic_ietf_v1_parse_packet_in_short_begin, + PBEL(0x00|0x40|0x20|0x00|0x08) = lsquic_ietf_v1_parse_packet_in_short_begin, + PBEL(0x00|0x40|0x20|0x10|0x00) = lsquic_ietf_v1_parse_packet_in_short_begin, + PBEL(0x00|0x40|0x20|0x10|0x08) = lsquic_ietf_v1_parse_packet_in_short_begin, + /* 00XX 0GGG */ + PBEL(0x00|0x00|0x00|0x00|0x00) = lsquic_Q046_parse_packet_in_short_begin, + PBEL(0x00|0x00|0x00|0x10|0x00) = lsquic_Q046_parse_packet_in_short_begin, + PBEL(0x00|0x00|0x20|0x00|0x00) = lsquic_Q046_parse_packet_in_short_begin, + PBEL(0x00|0x00|0x20|0x10|0x00) = lsquic_Q046_parse_packet_in_short_begin, + /* 00XX 1GGG */ + PBEL(0x00|0x00|0x00|0x00|0x08) = lsquic_gquic_parse_packet_in_begin, + PBEL(0x00|0x00|0x00|0x10|0x08) = lsquic_gquic_parse_packet_in_begin, + PBEL(0x00|0x00|0x20|0x00|0x08) = lsquic_gquic_parse_packet_in_begin, + PBEL(0x00|0x00|0x20|0x10|0x08) = lsquic_gquic_parse_packet_in_begin, +#undef PBEL +}; + + +int +lsquic_parse_packet_in_server_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server_UNUSED, unsigned cid_len, + struct packin_parse_state *state) +{ + if (length) + return parse_begin_funcs[ packet_in->pi_data[0] >> 3 ]( + packet_in, length, 1, cid_len, state); + else + return -1; + +} + + +int +lsquic_parse_packet_in_begin (lsquic_packet_in_t *packet_in, size_t length, + int is_server, unsigned cid_len, struct packin_parse_state *state) +{ + if (length > 0) + { + switch (packet_in->pi_data[0] & 0xC0) + { + case 0xC0: + case 0x80: + return parse_ietf_v1_or_Q046plus_long_begin(packet_in, + length, is_server, cid_len, state); + case 0x00: + return lsquic_gquic_parse_packet_in_begin(packet_in, length, + is_server, cid_len, state); + default: + return lsquic_ietf_v1_parse_packet_in_short_begin(packet_in, + length, is_server, cid_len, state); + } + } + else + return -1; +} + + +int +lsquic_ietf_v1_parse_packet_in_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + if (length > 0) + { + if (0 == (packet_in->pi_data[0] & 0x80)) + return lsquic_ietf_v1_parse_packet_in_short_begin(packet_in, length, + is_server, cid_len, state); + else + return lsquic_ietf_v1_parse_packet_in_long_begin(packet_in, length, + is_server, cid_len, state); + } + else + return -1; +} + + +int +lsquic_Q046_parse_packet_in_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + assert(!is_server); + assert(cid_len == GQUIC_CID_LEN); + if (length > 0) + { + if (0 == (packet_in->pi_data[0] & 0x80)) + return lsquic_ietf_v1_parse_packet_in_short_begin(packet_in, length, + is_server, is_server ? cid_len : 0, state); + else + return lsquic_Q046_parse_packet_in_long_begin(packet_in, length, + is_server, cid_len, state); + } + else + return -1; +} + + +int +lsquic_Q050_parse_packet_in_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + assert(!is_server); + assert(cid_len == GQUIC_CID_LEN); + if (length > 0) + { + if (0 == (packet_in->pi_data[0] & 0x80)) + return lsquic_ietf_v1_parse_packet_in_short_begin(packet_in, length, + is_server, is_server ? cid_len : 0, state); + else + return lsquic_Q050_parse_packet_in_long_begin(packet_in, length, + is_server, cid_len, state); + } + else + return -1; +} + + +/* TODO This function uses the full packet parsing functionality to get at + * the CID. This is an overkill and could be optimized -- at the cost of + * some code duplication, of course. + */ +int +lsquic_cid_from_packet (const unsigned char *buf, size_t bufsz, + lsquic_cid_t *cid) +{ + struct lsquic_packet_in packet_in; + struct packin_parse_state pps; + int s; + + packet_in.pi_data = (unsigned char *) buf; + s = lsquic_parse_packet_in_server_begin(&packet_in, bufsz, 1, 8, &pps); + if (0 == s && (packet_in.pi_flags & PI_CONN_ID)) + { + *cid = packet_in.pi_dcid; + return 0; + } + else + return -1; +} + + +int +lsquic_dcid_from_packet (const unsigned char *buf, size_t bufsz, + unsigned server_cid_len, uint8_t *cid_len) +{ + const unsigned char *p; + unsigned dcil, scil; + + if (bufsz < 9) + return -1; + + switch (buf[0] >> 3) + { + /* Xs vary, Gs are iGnored: */ + /* 1X11 XGGG: */ + /* + case (0x80|0x40|0x20|0x10|0x08) >> 3: + case (0x80|0x00|0x20|0x10|0x08) >> 3: + case (0x80|0x40|0x20|0x10|0x00) >> 3: + case (0x80|0x00|0x20|0x10|0x00) >> 3: + */ + Q046_long: + /* lsquic_Q046_parse_packet_in_long_begin */ + if (bufsz < 14) + return -1; + p = buf + 5; + dcil = p[0] >> 4; + if (dcil) + dcil += 3; + scil = p[0] & 0xF; + if (scil) + scil += 3; + ++p; + if (dcil == GQUIC_CID_LEN && scil == 0) + { + *cid_len = GQUIC_CID_LEN; + return (unsigned) (p - buf); + } + else + return -1; + /* 1X00 XGGG: */ + /* + case (0x80|0x40|0x00|0x00|0x08) >> 3: + case (0x80|0x00|0x00|0x00|0x08) >> 3: + case (0x80|0x40|0x00|0x00|0x00) >> 3: + case (0x80|0x00|0x00|0x00|0x00) >> 3: + case (0x80|0x40|0x00|0x10|0x08) >> 3: + case (0x80|0x00|0x00|0x10|0x08) >> 3: + case (0x80|0x40|0x00|0x10|0x00) >> 3: + case (0x80|0x00|0x00|0x10|0x00) >> 3: + case (0x80|0x40|0x20|0x00|0x08) >> 3: + case (0x80|0x00|0x20|0x00|0x08) >> 3: + case (0x80|0x40|0x20|0x00|0x00) >> 3: + case (0x80|0x00|0x20|0x00|0x00) >> 3: + */ + default: + /* parse_ietf_v1_or_Q046plus_long_begin */ + if (buf[4] == (unsigned) '6') + goto Q046_long; + /* lsquic_Q050_parse_packet_in_long_begin or + lsquic_ietf_v1_parse_packet_in_long_begin */ + if (bufsz < 14) + return -1; + dcil = buf[5]; + if (dcil <= MAX_CID_LEN && 6 + dcil < bufsz) + { + *cid_len = dcil; + return 6; + } + else + return -1; + /* 01XX XGGG */ + case (0x00|0x40|0x00|0x00|0x00) >> 3: + case (0x00|0x40|0x00|0x00|0x08) >> 3: + case (0x00|0x40|0x00|0x10|0x00) >> 3: + case (0x00|0x40|0x00|0x10|0x08) >> 3: + case (0x00|0x40|0x20|0x00|0x00) >> 3: + case (0x00|0x40|0x20|0x00|0x08) >> 3: + case (0x00|0x40|0x20|0x10|0x00) >> 3: + case (0x00|0x40|0x20|0x10|0x08) >> 3: + /* lsquic_ietf_v1_parse_packet_in_short_begin */ + if (1 + server_cid_len <= bufsz) + { + *cid_len = server_cid_len; + return 1; + } + else + return -1; + /* 00XX 0GGG */ + case (0x00|0x00|0x00|0x00|0x00) >> 3: + case (0x00|0x00|0x00|0x10|0x00) >> 3: + case (0x00|0x00|0x20|0x00|0x00) >> 3: + case (0x00|0x00|0x20|0x10|0x00) >> 3: + /* lsquic_Q046_parse_packet_in_short_begin */ + if (1 + server_cid_len <= bufsz && (buf[0] & 0x40)) + { + *cid_len = server_cid_len; + return 1; + } + else + return -1; + /* 00XX 1GGG */ + case (0x00|0x00|0x00|0x00|0x08) >> 3: + case (0x00|0x00|0x00|0x10|0x08) >> 3: + case (0x00|0x00|0x20|0x00|0x08) >> 3: + case (0x00|0x00|0x20|0x10|0x08) >> 3: + /* lsquic_gquic_parse_packet_in_begin */ + if (1 + GQUIC_CID_LEN <= bufsz + && (buf[0] & PACKET_PUBLIC_FLAGS_8BYTE_CONNECTION_ID)) + { + *cid_len = server_cid_len; + return 1; + } + else + return -1; + } +} + + +/* See [draft-ietf-quic-transport-28], Section 12.4 (Table 3) */ +const enum quic_ft_bit lsquic_legal_frames_by_level[N_LSQVER][N_ENC_LEVS] = +{ + [LSQVER_I002] = { + [ENC_LEV_INIT] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK | QUIC_FTBIT_CONNECTION_CLOSE, + [ENC_LEV_0RTT] = QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_STREAM | QUIC_FTBIT_RST_STREAM + | QUIC_FTBIT_BLOCKED | QUIC_FTBIT_CONNECTION_CLOSE + | QUIC_FTBIT_MAX_DATA | QUIC_FTBIT_MAX_STREAM_DATA + | QUIC_FTBIT_MAX_STREAMS | QUIC_FTBIT_STREAM_BLOCKED + | QUIC_FTBIT_STREAMS_BLOCKED + | QUIC_FTBIT_NEW_CONNECTION_ID | QUIC_FTBIT_STOP_SENDING + | QUIC_FTBIT_PATH_CHALLENGE + | QUIC_FTBIT_DATAGRAM + | QUIC_FTBIT_RETIRE_CONNECTION_ID, + [ENC_LEV_HSK] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK| QUIC_FTBIT_CONNECTION_CLOSE, + [ENC_LEV_APP] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK | QUIC_FTBIT_CONNECTION_CLOSE + | QUIC_FTBIT_STREAM | QUIC_FTBIT_RST_STREAM + | QUIC_FTBIT_BLOCKED + | QUIC_FTBIT_MAX_DATA | QUIC_FTBIT_MAX_STREAM_DATA + | QUIC_FTBIT_MAX_STREAMS | QUIC_FTBIT_STREAM_BLOCKED + | QUIC_FTBIT_STREAMS_BLOCKED + | QUIC_FTBIT_NEW_CONNECTION_ID | QUIC_FTBIT_STOP_SENDING + | QUIC_FTBIT_PATH_CHALLENGE | QUIC_FTBIT_PATH_RESPONSE + | QUIC_FTBIT_HANDSHAKE_DONE | QUIC_FTBIT_ACK_FREQUENCY + | QUIC_FTBIT_RETIRE_CONNECTION_ID | QUIC_FTBIT_NEW_TOKEN + | QUIC_FTBIT_TIMESTAMP + | QUIC_FTBIT_DATAGRAM + , + }, + [LSQVER_I001] = { + [ENC_LEV_INIT] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK | QUIC_FTBIT_CONNECTION_CLOSE, + [ENC_LEV_0RTT] = QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_STREAM | QUIC_FTBIT_RST_STREAM + | QUIC_FTBIT_BLOCKED | QUIC_FTBIT_CONNECTION_CLOSE + | QUIC_FTBIT_MAX_DATA | QUIC_FTBIT_MAX_STREAM_DATA + | QUIC_FTBIT_MAX_STREAMS | QUIC_FTBIT_STREAM_BLOCKED + | QUIC_FTBIT_STREAMS_BLOCKED + | QUIC_FTBIT_NEW_CONNECTION_ID | QUIC_FTBIT_STOP_SENDING + | QUIC_FTBIT_PATH_CHALLENGE + | QUIC_FTBIT_DATAGRAM + | QUIC_FTBIT_RETIRE_CONNECTION_ID, + [ENC_LEV_HSK] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK| QUIC_FTBIT_CONNECTION_CLOSE, + [ENC_LEV_APP] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK | QUIC_FTBIT_CONNECTION_CLOSE + | QUIC_FTBIT_STREAM | QUIC_FTBIT_RST_STREAM + | QUIC_FTBIT_BLOCKED + | QUIC_FTBIT_MAX_DATA | QUIC_FTBIT_MAX_STREAM_DATA + | QUIC_FTBIT_MAX_STREAMS | QUIC_FTBIT_STREAM_BLOCKED + | QUIC_FTBIT_STREAMS_BLOCKED + | QUIC_FTBIT_NEW_CONNECTION_ID | QUIC_FTBIT_STOP_SENDING + | QUIC_FTBIT_PATH_CHALLENGE | QUIC_FTBIT_PATH_RESPONSE + | QUIC_FTBIT_HANDSHAKE_DONE | QUIC_FTBIT_ACK_FREQUENCY + | QUIC_FTBIT_RETIRE_CONNECTION_ID | QUIC_FTBIT_NEW_TOKEN + | QUIC_FTBIT_TIMESTAMP + | QUIC_FTBIT_DATAGRAM + , + }, + [LSQVER_ID29] = { + [ENC_LEV_INIT] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK | QUIC_FTBIT_CONNECTION_CLOSE, + [ENC_LEV_0RTT] = QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_STREAM | QUIC_FTBIT_RST_STREAM + | QUIC_FTBIT_BLOCKED | QUIC_FTBIT_CONNECTION_CLOSE + | QUIC_FTBIT_MAX_DATA | QUIC_FTBIT_MAX_STREAM_DATA + | QUIC_FTBIT_MAX_STREAMS | QUIC_FTBIT_STREAM_BLOCKED + | QUIC_FTBIT_STREAMS_BLOCKED + | QUIC_FTBIT_NEW_CONNECTION_ID | QUIC_FTBIT_STOP_SENDING + | QUIC_FTBIT_PATH_CHALLENGE | QUIC_FTBIT_PATH_RESPONSE + | QUIC_FTBIT_DATAGRAM + | QUIC_FTBIT_RETIRE_CONNECTION_ID, + [ENC_LEV_HSK] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK| QUIC_FTBIT_CONNECTION_CLOSE, + [ENC_LEV_APP] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK | QUIC_FTBIT_CONNECTION_CLOSE + | QUIC_FTBIT_STREAM | QUIC_FTBIT_RST_STREAM + | QUIC_FTBIT_BLOCKED + | QUIC_FTBIT_MAX_DATA | QUIC_FTBIT_MAX_STREAM_DATA + | QUIC_FTBIT_MAX_STREAMS | QUIC_FTBIT_STREAM_BLOCKED + | QUIC_FTBIT_STREAMS_BLOCKED + | QUIC_FTBIT_NEW_CONNECTION_ID | QUIC_FTBIT_STOP_SENDING + | QUIC_FTBIT_PATH_CHALLENGE | QUIC_FTBIT_PATH_RESPONSE + | QUIC_FTBIT_HANDSHAKE_DONE | QUIC_FTBIT_ACK_FREQUENCY + | QUIC_FTBIT_RETIRE_CONNECTION_ID | QUIC_FTBIT_NEW_TOKEN + | QUIC_FTBIT_TIMESTAMP + | QUIC_FTBIT_DATAGRAM + , + }, + [LSQVER_ID27] = { + [ENC_LEV_INIT] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK | QUIC_FTBIT_CONNECTION_CLOSE, + [ENC_LEV_0RTT] = QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_STREAM | QUIC_FTBIT_RST_STREAM + | QUIC_FTBIT_BLOCKED + | QUIC_FTBIT_MAX_DATA | QUIC_FTBIT_MAX_STREAM_DATA + | QUIC_FTBIT_MAX_STREAMS | QUIC_FTBIT_STREAM_BLOCKED + | QUIC_FTBIT_STREAMS_BLOCKED + | QUIC_FTBIT_NEW_CONNECTION_ID | QUIC_FTBIT_STOP_SENDING + | QUIC_FTBIT_PATH_CHALLENGE | QUIC_FTBIT_PATH_RESPONSE + | QUIC_FTBIT_RETIRE_CONNECTION_ID + | QUIC_FTBIT_DATAGRAM + , + [ENC_LEV_HSK] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK| QUIC_FTBIT_CONNECTION_CLOSE, + [ENC_LEV_APP] = QUIC_FTBIT_CRYPTO | QUIC_FTBIT_PADDING | QUIC_FTBIT_PING + | QUIC_FTBIT_ACK | QUIC_FTBIT_CONNECTION_CLOSE + | QUIC_FTBIT_STREAM | QUIC_FTBIT_RST_STREAM + | QUIC_FTBIT_BLOCKED + | QUIC_FTBIT_MAX_DATA | QUIC_FTBIT_MAX_STREAM_DATA + | QUIC_FTBIT_MAX_STREAMS | QUIC_FTBIT_STREAM_BLOCKED + | QUIC_FTBIT_STREAMS_BLOCKED + | QUIC_FTBIT_NEW_CONNECTION_ID | QUIC_FTBIT_STOP_SENDING + | QUIC_FTBIT_PATH_CHALLENGE | QUIC_FTBIT_PATH_RESPONSE + | QUIC_FTBIT_HANDSHAKE_DONE | QUIC_FTBIT_ACK_FREQUENCY + | QUIC_FTBIT_RETIRE_CONNECTION_ID | QUIC_FTBIT_NEW_TOKEN + | QUIC_FTBIT_TIMESTAMP + | QUIC_FTBIT_DATAGRAM + , + }, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_parse_common.h b/external/lsquic/src/liblsquic/lsquic_parse_common.h new file mode 100644 index 0000000..17c2768 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_common.h @@ -0,0 +1,99 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_parse_common.h + */ + +#ifndef LSQUIC_PARSE_COMMON_H +#define LSQUIC_PARSE_COMMON_H 1 + +#ifdef WIN32 +#include "vc_compat.h" +#endif + +struct lsquic_packet_in; +struct packin_parse_state; + +struct packin_parse_state { + const unsigned char *pps_p; /* Pointer to packet number */ + unsigned pps_nbytes; /* Number of bytes in packet number */ +}; + +int +lsquic_parse_packet_in_begin (struct lsquic_packet_in *, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *); + +int +lsquic_parse_packet_in_server_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server_UNUSED, unsigned cid_len, + struct packin_parse_state *); + +int +lsquic_ietf_v1_parse_packet_in_begin (struct lsquic_packet_in *, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *); + +int +lsquic_Q046_parse_packet_in_begin (struct lsquic_packet_in *, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *); + +int +lsquic_Q050_parse_packet_in_begin (struct lsquic_packet_in *, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *); + +int +lsquic_ietf_v1_parse_packet_in_long_begin (struct lsquic_packet_in *, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *); + +int +lsquic_ietf_v1_parse_packet_in_short_begin (struct lsquic_packet_in *, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *); + +struct sockaddr; +enum lsquic_version; +struct lsquic_engine_public; + +int +lsquic_gquic_gen_ver_nego_pkt (unsigned char *buf, size_t bufsz, + const lsquic_cid_t *cid, unsigned versions); +int +lsquic_Q046_gen_ver_nego_pkt (unsigned char *buf, size_t bufsz, + const lsquic_cid_t *scid, const lsquic_cid_t *dcid, unsigned versions, + uint8_t); +int +lsquic_ietf_v1_gen_ver_nego_pkt (unsigned char *buf, size_t bufsz, + const lsquic_cid_t *scid, const lsquic_cid_t *dcid, unsigned versions, + uint8_t); +int +lsquic_iquic_gen_retry_pkt (unsigned char *buf, size_t bufsz, + const struct lsquic_engine_public *, const lsquic_cid_t *scid, + const lsquic_cid_t *dcid, enum lsquic_version, const struct sockaddr *, + uint8_t random_nybble); + +#define GQUIC_RESET_SZ 33 +ssize_t +lsquic_generate_gquic_reset (const lsquic_cid_t *, unsigned char *buf, + size_t buf_sz); + +int +lsquic_is_valid_iquic_hs_packet (const unsigned char *buf, size_t buf_sz, + lsquic_ver_tag_t *tag); + +int +lsquic_is_valid_ietf_v1_or_Q046plus_hs_packet (const unsigned char *buf, + size_t length, lsquic_ver_tag_t *tagp); + +/* Instead of just -1 like CHECK_SPACE(), this macro returns the number + * of bytes needed. + */ +#define CHECK_STREAM_SPACE(need, pstart, pend) do { \ + if ((intptr_t) (need) > ((pend) - (pstart))) { \ + return -((int) (need)); \ + } \ +} while (0) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_parse_gquic_be.c b/external/lsquic/src/liblsquic/lsquic_parse_gquic_be.c new file mode 100644 index 0000000..dd4d3c1 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_gquic_be.c @@ -0,0 +1,1089 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_parse_gquic_be.c -- Parsing functions specific to big-endian + * (now only Q043) GQUIC. + */ + +#include +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#else +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_parse_common.h" +#include "lsquic_rechist.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_mm.h" +#include "lsquic_malo.h" +#include "lsquic_version.h" +#include "lsquic.h" +#include "lsquic_conn.h" +#include "lsquic_parse_gquic_be.h" /* Include to catch mismatches */ +#include "lsquic_byteswap.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PARSE +#include "lsquic_logger.h" + + +/* read 16 bits(2 bytes) time, unit: us */ +uint64_t +lsquic_gquic_be_read_float_time16 (const void *mem) +{ + uint16_t val; + READ_UINT(val, 16, mem, 2); + uint64_t temp = val; + uint16_t exp = (temp >> 11) & 0x1F; + if (0 == exp) + return temp; + else + { + --exp; + temp &= 0x7FF; + temp |= 0x800; + return temp << exp; + } +} + + +void +lsquic_gquic_be_write_float_time16 (lsquic_time_t time_us, void *mem) +{ + uint16_t ret = 0; + uint16_t high, i; + + if (time_us < ((uint64_t)1 << 11)) + ret = time_us; + else if(time_us > 0x3FFC0000000) + ret = 0xFFFF; + else + { + high = 0; + for (i = 16; i > 0; i /= 2) + { + if (time_us >= (uint64_t)1 << (11 + i)) + { + high |= i; + time_us >>= i; + } + } + ret = time_us + (high << 11); + } +#if __BYTE_ORDER == __LITTLE_ENDIAN + ret = bswap_16(ret); +#endif + memcpy(mem, (void *)&ret, 2); +} + + +/* Parse out packet number */ +void +lsquic_gquic_be_parse_packet_in_finish (lsquic_packet_in_t *packet_in, + struct packin_parse_state *state) +{ + lsquic_packno_t packno; + if ((packet_in->pi_flags & PI_GQUIC) && state->pps_nbytes) + { + READ_UINT(packno, 64, state->pps_p, state->pps_nbytes); + packet_in->pi_packno = packno; + } +} + + +static int +lsquic_gquic_be_gen_reg_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz, unsigned *packno_off_UNUSED, unsigned *packno_len_UNUSED) +{ + unsigned packnum_len, header_len; + enum packno_bits bits; + lsquic_packno_t packno; + unsigned char *p; + + bits = lsquic_packet_out_packno_bits(packet_out); + packnum_len = gquic_packno_bits2len(bits); + + if (0 == (packet_out->po_flags & (PO_CONN_ID|PO_VERSION|PO_NONCE))) + { + header_len = 1 + packnum_len; + if (header_len > bufsz) + { + errno = ENOBUFS; + return -1; + } + p = buf; + *p = bits << 4; + ++p; + } + else + { + const int + have_cid = packet_out->po_flags & PO_CONN_ID, + have_ver = packet_out->po_flags & PO_VERSION, + have_nonce = packet_out->po_flags & PO_NONCE; + header_len = 1 + + (!!have_cid << 3) + + (!!have_ver << 2) + + (!!have_nonce << 5) + + packnum_len + ; + if (header_len > bufsz) + { + errno = ENOBUFS; + return -1; + } + + p = buf; + + *p = (!!have_cid << 3) + | (bits << 4) + | ((!!have_nonce) << 2) + | !!have_ver; + ++p; + + if (have_cid) + { + assert(lconn->cn_cid.len == GQUIC_CID_LEN); + memcpy(p, lconn->cn_cid.idbuf, lconn->cn_cid.len); + p += lconn->cn_cid.len; + } + + if (have_ver) + { + memcpy(p, &packet_out->po_ver_tag, 4); + p += 4; + } + + if (have_nonce) + { + memcpy(p, packet_out->po_nonce , 32); + p += 32; + } + } + + packno = packet_out->po_packno; +#if __BYTE_ORDER == __LITTLE_ENDIAN + packno = bswap_64(packno); +#endif + memcpy(p, (unsigned char *) &packno + 8 - packnum_len, packnum_len); + p += packnum_len; + + assert(p - buf == (intptr_t) header_len); + + return header_len; +} + + +int +lsquic_gquic_be_gen_stream_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id64, uint64_t offset, int fin, size_t size, + gsf_read_f gsf_read, void *stream) +{ + /* 1fdoooss */ + uint32_t stream_id = stream_id64; + unsigned slen, olen, dlen; + unsigned char *p = buf + 1; + + /* ss: Stream ID length: 1, 2, 3, or 4 bytes */ + slen = (stream_id > 0x0000FF) + + (stream_id > 0x00FFFF) + + (stream_id > 0xFFFFFF) + + 1; + + /* ooo: Offset length: 0, 2, 3, 4, 5, 6, 7, or 8 bytes */ + olen = (offset >= (1ULL << 56)) + + (offset >= (1ULL << 48)) + + (offset >= (1ULL << 40)) + + (offset >= (1ULL << 32)) + + (offset >= (1ULL << 24)) + + (offset >= (1ULL << 16)) + + ((offset > 0) << 1); + + if (!fin) + { + unsigned n_avail; + uint16_t nr; + + n_avail = buf_len - (p + slen + olen - buf); + + /* If we cannot fill remaining buffer, we need to include data + * length. + */ + dlen = (size < n_avail) << 1; + n_avail -= dlen; + + CHECK_STREAM_SPACE(1 + olen + slen + dlen + + + 1 /* We need to write at least 1 byte */, buf, buf + buf_len); + +#if __BYTE_ORDER == __LITTLE_ENDIAN + stream_id = bswap_32(stream_id); +#endif + memcpy(p, (unsigned char *) &stream_id + 4 - slen, slen); + p += slen; + +#if __BYTE_ORDER == __LITTLE_ENDIAN + offset = bswap_64(offset); +#endif + memcpy(p, (unsigned char *) &offset + 8 - olen, olen); + p += olen; + + /* Read as much as we can */ + nr = gsf_read(stream, p + dlen, n_avail, &fin); + assert(nr != 0); + + if (dlen) + { + uint16_t nr_copy = nr; +#if __BYTE_ORDER == __LITTLE_ENDIAN + nr_copy = bswap_16(nr_copy); +#endif + memcpy(p, &nr_copy, 2); + } + + p += dlen + nr; + } + else + { + dlen = 2; + CHECK_STREAM_SPACE(1 + slen + olen + 2, buf, buf + buf_len); +#if __BYTE_ORDER == __LITTLE_ENDIAN + stream_id = bswap_32(stream_id); +#endif + memcpy(p, (unsigned char *) &stream_id + 4 - slen, slen); + p += slen; +#if __BYTE_ORDER == __LITTLE_ENDIAN + offset = bswap_64(offset); +#endif + memcpy(p, (unsigned char *) &offset + 8 - olen, olen); + p += olen; + memset(p, 0, 2); + p += 2; + } + + /* Convert slen to bit representation: 0 - 3: */ + slen -= 1; + assert(slen <= 3); + + /* Convert olen to bit representation: 0 - 7: */ + olen += !olen; + olen -= 1; + assert(olen <= 7); + + buf[0] = 0x80 + | (fin << 6) + | (dlen << 4) + | (olen << 2) + | slen + ; + return p - buf; +} + +int +lsquic_gquic_be_dec_stream_frame_size (unsigned char *buf, size_t new_size) +{ + /* 1fdoooss */ + const unsigned char type = buf[0]; + + if (!(type & 0x20)) + return 1; + + const unsigned offset_len = ((type >> 2) & 7) + 1 - !((type >> 2) & 7); + const unsigned stream_id_len = 1 + (type & 3); + + uint16_t len = new_size; +#if __BYTE_ORDER == __LITTLE_ENDIAN + len = bswap_16(len); +#endif + memcpy(buf + 1 + offset_len + stream_id_len, &len, 2); + return 0; +} + + +/* return parsed (used) buffer length */ +int +lsquic_gquic_be_parse_stream_frame (const unsigned char *buf, size_t rem_packet_sz, + stream_frame_t *stream_frame) +{ + /* 1fdoooss */ + uint32_t stream_id; + const unsigned char *p = buf; + const unsigned char *const pend = p + rem_packet_sz; + + CHECK_SPACE(1, p, pend); + const char type = *p++; + + const unsigned data_len = (type >> 4) & 2; + const unsigned offset_len = ((type >> 2) & 7) + 1 - !((type >> 2) & 7); + const unsigned stream_id_len = 1 + (type & 3); + const unsigned need = data_len + offset_len + stream_id_len; + CHECK_SPACE(need, p, pend); + + memset(stream_frame, 0, sizeof(*stream_frame)); + + stream_frame->data_frame.df_fin = (type >> 6) & 1; + + stream_id = 0; + memcpy((unsigned char *) &stream_id + 4 - stream_id_len, p, stream_id_len); + +#if __BYTE_ORDER == __LITTLE_ENDIAN + stream_id = bswap_32(stream_id); +#endif + stream_frame->stream_id = stream_id; + p += stream_id_len; + + memcpy((unsigned char *) &stream_frame->data_frame.df_offset + + 8 - offset_len, p, offset_len); +#if __BYTE_ORDER == __LITTLE_ENDIAN + stream_frame->data_frame.df_offset = + bswap_64(stream_frame->data_frame.df_offset); +#endif + p += offset_len; + + if (data_len) + { + memcpy(&stream_frame->data_frame.df_size, p, data_len); +#if __BYTE_ORDER == __LITTLE_ENDIAN + stream_frame->data_frame.df_size = + bswap_16(stream_frame->data_frame.df_size); +#endif + p += data_len; + CHECK_SPACE(stream_frame->data_frame.df_size, p, pend); + stream_frame->data_frame.df_data = p; + p += stream_frame->data_frame.df_size; + } + else + { + stream_frame->data_frame.df_size = pend - p; + stream_frame->data_frame.df_data = p; + p = pend; + } + + /* From the spec: "A stream frame must always have either non-zero + * data length or the FIN bit set.' + */ + if (!(stream_frame->data_frame.df_size || + stream_frame->data_frame.df_fin)) + return -1; + + assert(p <= pend); + + return p - (unsigned char *) buf; +} + + +static int +parse_ack_frame_without_blocks (const unsigned char *buf, size_t buf_len, + struct ack_info *ack) +{ + /* 01nullmm */ + lsquic_packno_t tmp_packno; + const unsigned char type = buf[0]; + const unsigned char *p = buf + 1; + const unsigned char *const pend = buf + buf_len; + unsigned char n_timestamps; + + const int ack_block_len = twobit_to_1246(type & 3); /* mm */ + const int largest_obs_len = twobit_to_1246((type >> 2) & 3); /* ll */ + + CHECK_SPACE(largest_obs_len + 2 + ack_block_len + 1, p, pend); + + READ_UINT(ack->ranges[0].high, 64, p, largest_obs_len); + p += largest_obs_len; + + ack->lack_delta = lsquic_gquic_be_read_float_time16(p); + p += 2; + + READ_UINT(tmp_packno, 64, p, ack_block_len); + ack->ranges[0].low = ack->ranges[0].high - tmp_packno + 1; + p += ack_block_len; + + ack->n_ranges = 1; + + n_timestamps = *p; + ++p; + + if (n_timestamps) + { + unsigned timestamps_size = 5 + 3 * (n_timestamps - 1); + CHECK_SPACE(timestamps_size, p, pend); + p += timestamps_size; + } + + assert(p <= pend); + + ack->flags = 0; + return p - (unsigned char *) buf; +} + + +static int +parse_ack_frame_with_blocks (const unsigned char *buf, size_t buf_len, + struct ack_info *ack) +{ + /* 01nullmm */ + lsquic_packno_t tmp_packno; + const unsigned char type = buf[0]; + const unsigned char *p = buf + 1; + const unsigned char *const pend = buf + buf_len; + unsigned char n_timestamps; + + assert((type & 0xC0) == 0x40); /* We're passed correct frame type */ + + const int ack_block_len = twobit_to_1246(type & 3); /* mm */ + const int largest_obs_len = twobit_to_1246((type >> 2) & 3); /* ll */ + + CHECK_SPACE(largest_obs_len + 2 + 1 + ack_block_len, p, pend); + + READ_UINT(ack->ranges[0].high, 64, p, largest_obs_len); + p += largest_obs_len; + + ack->lack_delta = lsquic_gquic_be_read_float_time16(p); + p += 2; + + unsigned n_blocks; + CHECK_SPACE(1, p , pend); + n_blocks = *p; + ++p; + + READ_UINT(tmp_packno, 64, p, ack_block_len); + ack->ranges[0].low = ack->ranges[0].high - tmp_packno + 1; + p += ack_block_len; + + CHECK_SPACE((ack_block_len + 1) * n_blocks + /* timestamp count: */ 1, + p , pend); + unsigned i, n, gap; + for (i = 0, n = 1, gap = 0; i < n_blocks; ++i) + { + uint64_t length; + gap += *p; + READ_UINT(length, 64, p + 1, ack_block_len); + p += 1 + ack_block_len; + if (length) + { + ack->ranges[n].high = ack->ranges[n - 1].low - gap - 1; + ack->ranges[n].low = ack->ranges[n].high - length + 1; + ++n; + gap = 0; + } + } + ack->n_ranges = n; + + n_timestamps = *p; + ++p; + + if (n_timestamps) + { + unsigned timestamps_size = 5 + 3 * (n_timestamps - 1); + CHECK_SPACE(timestamps_size, p, pend); + p += timestamps_size; + } + + assert(p <= pend); + + ack->flags = 0; + return p - (unsigned char *) buf; +} + + +/* Return parsed (used) buffer length. + * If parsing failed, negative value is returned. + */ +int +lsquic_gquic_be_parse_ack_frame (const unsigned char *buf, size_t buf_len, + struct ack_info *ack, uint8_t UNUSED_exp) +{ + if (!(buf[0] & 0x20)) + return parse_ack_frame_without_blocks(buf, buf_len, ack); + else + return parse_ack_frame_with_blocks(buf, buf_len, ack); +} + + +int +lsquic_gquic_be_gen_stop_waiting_frame(unsigned char *buf, size_t buf_len, + lsquic_packno_t cur_packno, enum packno_bits bits, + lsquic_packno_t least_unacked_packno) +{ + lsquic_packno_t delta; + unsigned packnum_len = gquic_packno_bits2len(bits); + + if (buf_len >= 1 + packnum_len) + { + *buf = 0x06; + delta = cur_packno - least_unacked_packno; +#if __BYTE_ORDER == __LITTLE_ENDIAN + delta = bswap_64(delta); +#endif + memcpy(buf + 1, (unsigned char *) &delta + 8 - packnum_len, + packnum_len); + return 1 + packnum_len; + } + else + return -1; +} + + +int +lsquic_gquic_be_parse_stop_waiting_frame (const unsigned char *buf, size_t buf_len, + lsquic_packno_t cur_packno, enum packno_bits bits, + lsquic_packno_t *least_unacked) +{ + lsquic_packno_t delta; + unsigned packnum_len = gquic_packno_bits2len(bits); + + if (buf_len >= 1 + packnum_len) + { + READ_UINT(delta, 64, buf + 1, packnum_len); + *least_unacked = cur_packno - delta; + return 1 + packnum_len; + } + else + return -1; +} + + +int +lsquic_gquic_be_skip_stop_waiting_frame (size_t buf_len, enum packno_bits bits) +{ + unsigned packnum_len = gquic_packno_bits2len(bits); + if (buf_len >= 1 + packnum_len) + return 1 + packnum_len; + else + return -1; +} + + +int +lsquic_gquic_be_gen_window_update_frame (unsigned char *buf, int buf_len, + lsquic_stream_id_t stream_id64, uint64_t offset) +{ + uint32_t stream_id = stream_id64; + + if (buf_len < GQUIC_WUF_SZ) + return -1; + + *buf = 0x04; +#if __BYTE_ORDER == __LITTLE_ENDIAN + stream_id = bswap_32(stream_id); +#endif + memcpy(buf + 1, (unsigned char *) &stream_id, 4); +#if __BYTE_ORDER == __LITTLE_ENDIAN + offset = bswap_64(offset); +#endif + memcpy(buf + 1 + 4, (unsigned char *) &offset, 8); + return GQUIC_WUF_SZ; +} + + +int +lsquic_gquic_be_parse_window_update_frame (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id_p, uint64_t *offset) +{ + uint32_t stream_id; + + if (buf_len < GQUIC_WUF_SZ) + return -1; + + READ_UINT(stream_id, 32, buf + 1, 4); + READ_UINT(*offset, 64, buf + 1 + 4, 8); + *stream_id_p = stream_id; + return GQUIC_WUF_SZ; +} + + +int +lsquic_gquic_be_gen_blocked_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id64) +{ + uint32_t stream_id = stream_id64; + + if (buf_len < GQUIC_BLOCKED_FRAME_SZ) + return -1; + + *buf = 0x05; +#if __BYTE_ORDER == __LITTLE_ENDIAN + stream_id = bswap_32(stream_id); +#endif + memcpy(buf + 1, &stream_id, 4); + return GQUIC_BLOCKED_FRAME_SZ; +} + + +int +lsquic_gquic_be_parse_blocked_frame (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id_p) +{ + uint32_t stream_id; + if (buf_len < GQUIC_BLOCKED_FRAME_SZ) + return -1; + + READ_UINT(stream_id, 32, buf + 1, 4); + *stream_id_p = stream_id; + return GQUIC_BLOCKED_FRAME_SZ; +} + + +static unsigned +lsquic_gquic_be_rst_frame_size (lsquic_stream_id_t stream_id, uint64_t error_code, + uint64_t final_size) +{ + assert(0); /* This function is not called */ + return GQUIC_RST_STREAM_SZ; +} + + +int +lsquic_gquic_be_gen_rst_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id64, uint64_t offset, uint64_t error_code64) +{ + uint32_t stream_id = stream_id64, error_code = error_code64; + unsigned char *p = buf; + if (buf_len < GQUIC_RST_STREAM_SZ) + return -1; + + *p = 0x01; + ++p; +#if __BYTE_ORDER == __LITTLE_ENDIAN + stream_id = bswap_32(stream_id); +#endif + memcpy(p, &stream_id, 4); + p += 4; +#if __BYTE_ORDER == __LITTLE_ENDIAN + offset = bswap_64(offset); +#endif + memcpy(p, &offset, 8); + p += 8; +#if __BYTE_ORDER == __LITTLE_ENDIAN + error_code = bswap_32(error_code); +#endif + memcpy(p, &error_code, 4); + p += 4; + return p - buf; +} + + +int +lsquic_gquic_be_parse_rst_frame (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id_p, uint64_t *offset, uint64_t *error_code_p) +{ + uint32_t stream_id, error_code; + + if (buf_len < GQUIC_RST_STREAM_SZ) + return -1; + + READ_UINT(stream_id, 32, buf + 1, 4); + READ_UINT(*offset, 64, buf + 1 + 4, 8); + READ_UINT(error_code, 32, buf + 1 + 4 + 8, 4); + *stream_id_p = stream_id; + *error_code_p = error_code; + return GQUIC_RST_STREAM_SZ; +} + + +int +lsquic_gquic_be_gen_ping_frame (unsigned char *buf, int buf_len) +{ + if (buf_len > 0) + { + buf[0] = 0x07; + return 1; + } + else + return -1; +} + + +size_t +lsquic_gquic_be_connect_close_frame_size (int app_error, unsigned error_code, + unsigned frame_type, size_t reason_len) +{ + return 1 + 4 + 2 + reason_len; +} + + +int +lsquic_gquic_be_gen_connect_close_frame (unsigned char *buf, size_t buf_len, + int app_error_UNUSED, unsigned ecode, const char *reason, int reason_len) +{ + uint32_t error_code; + unsigned char *p = buf; + if ((int) buf_len < 7 + reason_len) + return -1; + + *p = 0x02; + ++p; + error_code = ecode; +#if __BYTE_ORDER == __LITTLE_ENDIAN + error_code = bswap_32(error_code); +#endif + memcpy(p, &error_code, 4); + p += 4; +#if __BYTE_ORDER == __LITTLE_ENDIAN + const uint16_t copy = bswap_16(reason_len); + memcpy(p, ©, 2); +#else + memcpy(p, &reason_len, 2); +#endif + p += 2; + memcpy(p, reason, reason_len); + p += reason_len; + + return p - buf; +} + + +int +lsquic_gquic_be_parse_connect_close_frame (const unsigned char *buf, size_t buf_len, + int *app_error, uint64_t *error_code_p, + uint16_t *reason_len, uint8_t *reason_offset) +{ + uint32_t error_code; + + if (buf_len < 7) + return -1; + + READ_UINT(error_code, 32, buf + 1, 4); + READ_UINT(*reason_len, 16, buf + 1 + 4, 2); + *reason_offset = 7; + if (buf_len < 7u + *reason_len) + return -2; + + *error_code_p = error_code; + if (app_error) + *app_error = 0; + + return 7 + *reason_len; +} + + +int +lsquic_gquic_be_gen_goaway_frame (unsigned char *buf, size_t buf_len, + uint32_t error_code, lsquic_stream_id_t last_good_stream_id64, + const char *reason, size_t reason_len) +{ + uint32_t last_good_stream_id = last_good_stream_id64; + unsigned char *p = buf; + if (buf_len < GQUIC_GOAWAY_FRAME_SZ + reason_len) + return -1; + + *p = 0x03; + ++p; +#if __BYTE_ORDER == __LITTLE_ENDIAN + error_code = bswap_32(error_code); +#endif + memcpy(p, &error_code, 4); + p += 4; +#if __BYTE_ORDER == __LITTLE_ENDIAN + last_good_stream_id = bswap_32(last_good_stream_id); +#endif + memcpy(p, &last_good_stream_id, 4); + p += 4; +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint16_t copy = bswap_16(reason_len); + memcpy(p, ©, 2); +#else + memcpy(p, &reason_len, 2); +#endif + p += 2; + if (reason_len) + { + memcpy(p, reason, reason_len); + p += reason_len; + } + + return p - buf; +} + + +/* the reason is buf + *reason_offset, length is *reason_length */ +int +lsquic_gquic_be_parse_goaway_frame (const unsigned char *buf, size_t buf_len, + uint32_t *error_code, lsquic_stream_id_t *last_good_stream_id, + uint16_t *reason_length, const char **reason) +{ + uint32_t stream_id; + if (buf_len < GQUIC_GOAWAY_FRAME_SZ) + return -1; + + READ_UINT(*error_code, 32, buf + 1, 4); + READ_UINT(stream_id, 32, buf + 1 + 4, 4); + READ_UINT(*reason_length, 16, buf + 1 + 4 + 4, 2); + if (*reason_length) + { + if ((int)buf_len < GQUIC_GOAWAY_FRAME_SZ + *reason_length) + return -2; + *reason = (const char *) buf + GQUIC_GOAWAY_FRAME_SZ; + } + else + *reason = NULL; + + *last_good_stream_id = stream_id; + return GQUIC_GOAWAY_FRAME_SZ + *reason_length; +} + + +/* Returns number of bytes written or -1 on failure */ +/* This function makes an assumption that there is at least one range */ +int +lsquic_gquic_be_gen_ack_frame (unsigned char *outbuf, size_t outbuf_sz, + gaf_rechist_first_f rechist_first, gaf_rechist_next_f rechist_next, + gaf_rechist_largest_recv_f rechist_largest_recv, + void *rechist, lsquic_time_t now, int *has_missing, + lsquic_packno_t *largest_received, const uint64_t *unused) +{ + lsquic_time_t time_diff; + lsquic_packno_t tmp_packno; + const struct lsquic_packno_range *const first = rechist_first(rechist); + if (!first) + { + errno = EINVAL; + return -1; + } + + /* Copy values from the first range, because the memory the pointer + * points to may change: + */ + const lsquic_packno_t first_low = first->low, first_high = first->high; + + unsigned char *p = outbuf; + unsigned char *const type = p; + unsigned char *const end = p + outbuf_sz; + +#define AVAIL() (end - p) + +#define CHECKOUT(sz) do { \ + if ((intptr_t) (sz) > AVAIL()) { \ + errno = ENOBUFS; \ + return -1; \ + } \ +} while (0) + + CHECKOUT(1); + ++p; + + /* 01nullmm */ + *type = 0x40; + + unsigned largest_acked_len, ack_block_len, bits; + + /* Calculate largest ACKed len and set `ll' bits: */ + const lsquic_packno_t maxno = first_high; + bits = (maxno >= (1ULL << 8)) + + (maxno >= (1ULL << 16)) + + (maxno >= (1ULL << 32)); + largest_acked_len = (1 << bits) - ((maxno >= (1ULL << 32)) << 1); + *type |= bits << 2; + + /* Calculate largest ACK block length and set `mm' bits: */ + unsigned n_ranges = 0; + lsquic_packno_t maxdiff = 0; + const struct lsquic_packno_range *range; + for (range = rechist_first(rechist); range; range = rechist_next(rechist)) + { + ++n_ranges; + const lsquic_packno_t diff = range->high - range->low + 1; + if (diff > maxdiff) + maxdiff = diff; + } + bits = (maxdiff >= (1ULL << 8)) + + (maxdiff >= (1ULL << 16)) + + (maxdiff >= (1ULL << 32)); + ack_block_len = (1 << bits) - ((maxdiff >= (1ULL << 32)) << 1); + *type |= bits; + + CHECKOUT(largest_acked_len); +#if __BYTE_ORDER == __LITTLE_ENDIAN + tmp_packno = bswap_64(maxno); +#else + tmp_packno = maxno; +#endif + memcpy(p, (unsigned char *) &tmp_packno + 8 - largest_acked_len, + largest_acked_len); + p += largest_acked_len; + + CHECKOUT(2); + time_diff = now - rechist_largest_recv(rechist); + lsquic_gquic_be_write_float_time16(time_diff, p); + LSQ_DEBUG("%s: diff: %"PRIu64"; encoded: 0x%04X", __func__, time_diff, + *(uint16_t*)p); + p += 2; + + if (n_ranges > 1) + { + *has_missing = 1; + *type |= 0x20; + /* We need to write out at least one range */ + CHECKOUT(2 * (1 + ack_block_len)); + unsigned char *const n_ranges_p = p; /* Set this later */ + lsquic_packno_t diff = maxno - first_low + 1; +#if __BYTE_ORDER == __LITTLE_ENDIAN + diff = bswap_64(diff); +#endif + memcpy(p + 1, (unsigned char *) &diff + 8 - ack_block_len, + ack_block_len); + p += ack_block_len + 1; + /* Write out ack blocks until one of the following occurs: + * 1. We run out of intervals. + * 2. We run out of room. + * 3. We run out of highest possible number of ACK blocks (0xFF). + */ + range = rechist_first(rechist); + lsquic_packno_t gap = 0; + n_ranges = 0; + do { + if (0 == gap) + { + const lsquic_packno_t prev_low = range->low; + range = rechist_next(rechist); + if (!range) + break; + gap = prev_low - range->high - 1; + } + if (gap >= 0x100) + { + *p = 0xFF; + gap -= 0xFF; + memset(p + 1, 0, ack_block_len); + } + else + { + *p = gap; + gap = 0; + diff = range->high - range->low + 1; +#if __BYTE_ORDER == __LITTLE_ENDIAN + diff = bswap_64(diff); +#endif + memcpy(p + 1, (unsigned char *) &diff + 8 - ack_block_len, + ack_block_len); + } + p += ack_block_len + 1; + ++n_ranges; + } while (n_ranges < 0xFF && + AVAIL() >= (intptr_t) ack_block_len + 1 + 1 /* timestamp byte */); + *n_ranges_p = n_ranges; + } + else + { + *has_missing = 0; + CHECKOUT(ack_block_len); + lsquic_packno_t diff = maxno - first_low + 1; +#if __BYTE_ORDER == __LITTLE_ENDIAN + diff = bswap_64(diff); +#endif + memcpy(p, (unsigned char *) &diff + 8 - ack_block_len, ack_block_len); + p += ack_block_len; + } + + /* We do not generate timestamp list because the reference implementation + * does not use them. When that changes, we will start sending timestamps + * over. + */ + CHECKOUT(1); + *p = 0; + ++p; + + *largest_received = maxno; + return p - (unsigned char *) outbuf; + +#undef CHECKOUT +} + + +static int +lsquic_gquic_be_gen_crypto_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_if, uint64_t offset, int fin, + size_t size, gsf_read_f gsf_read, void *stream) +{ + assert(0); + return -1; +} + + +static int +lsquic_gquic_be_parse_crypto_frame (const unsigned char *buf, size_t rem_packet_sz, + struct stream_frame *stream_frame) +{ + assert(0); + return -1; +} + + +static unsigned +gquic_Q043_handshake_done_frame_size (void) +{ + return 0; +} + + +static int +gquic_Q043_gen_handshake_done_frame (unsigned char *buf, size_t buf_len) +{ + return -1; +} + + +static int +gquic_Q043_parse_handshake_done_frame (const unsigned char *buf, size_t buf_len) +{ + return -1; +} + + +const struct parse_funcs lsquic_parse_funcs_gquic_Q043 = +{ + .pf_gen_reg_pkt_header = lsquic_gquic_be_gen_reg_pkt_header, + .pf_parse_packet_in_finish = lsquic_gquic_be_parse_packet_in_finish, + .pf_gen_stream_frame = lsquic_gquic_be_gen_stream_frame, + .pf_calc_stream_frame_header_sz = lsquic_calc_stream_frame_header_sz_gquic, + .pf_parse_stream_frame = lsquic_gquic_be_parse_stream_frame, + .pf_parse_ack_frame = lsquic_gquic_be_parse_ack_frame, + .pf_dec_stream_frame_size = lsquic_gquic_be_dec_stream_frame_size, + .pf_gen_ack_frame = lsquic_gquic_be_gen_ack_frame, + .pf_gen_stop_waiting_frame = lsquic_gquic_be_gen_stop_waiting_frame, + .pf_parse_stop_waiting_frame = lsquic_gquic_be_parse_stop_waiting_frame, + .pf_skip_stop_waiting_frame = lsquic_gquic_be_skip_stop_waiting_frame, + .pf_gen_window_update_frame = lsquic_gquic_be_gen_window_update_frame, + .pf_parse_window_update_frame = lsquic_gquic_be_parse_window_update_frame, + .pf_gen_blocked_frame = lsquic_gquic_be_gen_blocked_frame, + .pf_parse_blocked_frame = lsquic_gquic_be_parse_blocked_frame, + .pf_rst_frame_size = lsquic_gquic_be_rst_frame_size, + .pf_gen_rst_frame = lsquic_gquic_be_gen_rst_frame, + .pf_parse_rst_frame = lsquic_gquic_be_parse_rst_frame, + .pf_connect_close_frame_size = lsquic_gquic_be_connect_close_frame_size, + .pf_gen_connect_close_frame = lsquic_gquic_be_gen_connect_close_frame, + .pf_parse_connect_close_frame = lsquic_gquic_be_parse_connect_close_frame, + .pf_gen_goaway_frame = lsquic_gquic_be_gen_goaway_frame, + .pf_parse_goaway_frame = lsquic_gquic_be_parse_goaway_frame, + .pf_gen_ping_frame = lsquic_gquic_be_gen_ping_frame, +#ifndef NDEBUG + .pf_write_float_time16 = lsquic_gquic_be_write_float_time16, + .pf_read_float_time16 = lsquic_gquic_be_read_float_time16, +#endif + .pf_generate_simple_prst = lsquic_generate_gquic_reset, + .pf_parse_frame_type = lsquic_parse_frame_type_gquic_Q035_thru_Q046, + .pf_turn_on_fin = lsquic_turn_on_fin_Q035_thru_Q046, + .pf_packout_size = lsquic_gquic_packout_size, + .pf_packout_max_header_size = lsquic_gquic_packout_header_size, + .pf_calc_packno_bits = lsquic_gquic_calc_packno_bits, + .pf_packno_bits2len = lsquic_gquic_packno_bits2len, + .pf_gen_crypto_frame = lsquic_gquic_be_gen_crypto_frame, + .pf_parse_crypto_frame = lsquic_gquic_be_parse_crypto_frame, + .pf_gen_handshake_done_frame = gquic_Q043_gen_handshake_done_frame, + .pf_parse_handshake_done_frame = gquic_Q043_parse_handshake_done_frame, + .pf_handshake_done_frame_size = gquic_Q043_handshake_done_frame_size, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_parse_gquic_be.h b/external/lsquic/src/liblsquic/lsquic_parse_gquic_be.h new file mode 100644 index 0000000..5d39359 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_gquic_be.h @@ -0,0 +1,117 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_PARSE_GQUIC_BE_H +#define LSQUIC_PARSE_GQUIC_BE_H + +/* Header file to make it easy to reference gQUIC parsing functions. This + * is only meant to be used internally. The alternative would be to place + * all gQUIC-big-endian functions -- from all versions -- in a single file, + * and that would be a mess. + */ + +#define CHECK_SPACE(need, pstart, pend) \ + do { if ((intptr_t) (need) > ((pend) - (pstart))) { return -1; } } while (0) + +uint64_t +lsquic_gquic_be_read_float_time16 (const void *mem); + +void +lsquic_gquic_be_write_float_time16 (lsquic_time_t time_us, void *mem); + +void +lsquic_gquic_be_parse_packet_in_finish (lsquic_packet_in_t *packet_in, + struct packin_parse_state *state); + +int +lsquic_gquic_be_gen_ver_nego_pkt (unsigned char *buf, size_t bufsz, + const lsquic_cid_t *, unsigned version_bitmask); + +int +lsquic_gquic_be_gen_stream_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id, uint64_t offset, int fin, size_t size, + gsf_read_f gsf_read, void *stream); + +int +lsquic_gquic_be_parse_stream_frame (const unsigned char *buf, size_t rem_packet_sz, + stream_frame_t *stream_frame); + +lsquic_packno_t +lsquic_gquic_be_parse_ack_high (const unsigned char *buf, size_t buf_len); + +int +lsquic_gquic_be_parse_ack_frame (const unsigned char *buf, size_t buf_len, + struct ack_info *, uint8_t); + +int +lsquic_gquic_be_gen_stop_waiting_frame(unsigned char *buf, size_t buf_len, + lsquic_packno_t cur_packno, enum packno_bits bits, + lsquic_packno_t least_unacked_packno); + +int +lsquic_gquic_be_parse_stop_waiting_frame (const unsigned char *buf, size_t buf_len, + lsquic_packno_t cur_packno, enum packno_bits bits, + lsquic_packno_t *least_unacked); + +int +lsquic_gquic_be_skip_stop_waiting_frame (size_t buf_len, enum packno_bits bits); + +int +lsquic_gquic_be_gen_window_update_frame (unsigned char *buf, int buf_len, + lsquic_stream_id_t stream_id, uint64_t offset); + +int +lsquic_gquic_be_parse_window_update_frame (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id, uint64_t *offset); + +int +lsquic_gquic_be_gen_blocked_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id); + +int +lsquic_gquic_be_parse_blocked_frame (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id); + +int +lsquic_gquic_be_gen_rst_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id, uint64_t offset, uint64_t error_code); + +int +lsquic_gquic_be_parse_rst_frame (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id, uint64_t *offset, uint64_t *error_code); + +int +lsquic_gquic_be_gen_ping_frame (unsigned char *buf, int buf_len); + +size_t +lsquic_gquic_be_connect_close_frame_size (int app_error, unsigned error_code, + unsigned frame_type, size_t reason_len); + +int +lsquic_gquic_be_gen_connect_close_frame (unsigned char *buf, size_t buf_len, + int app_error, unsigned error_code, const char *reason, int reason_len); + +int +lsquic_gquic_be_parse_connect_close_frame (const unsigned char *buf, size_t buf_len, + int *app_error, uint64_t *error_code, + uint16_t *reason_len, uint8_t *reason_offset); + +int +lsquic_gquic_be_gen_goaway_frame(unsigned char *buf, size_t buf_len, uint32_t error_code, + lsquic_stream_id_t last_good_stream_id, const char *reason, + size_t reason_len); + +int +lsquic_gquic_be_parse_goaway_frame (const unsigned char *buf, size_t buf_len, + uint32_t *error_code, lsquic_stream_id_t *last_good_stream_id, + uint16_t *reason_length, const char **reason); + +int +lsquic_gquic_be_gen_ack_frame (unsigned char *outbuf, size_t outbuf_sz, + gaf_rechist_first_f rechist_first, gaf_rechist_next_f rechist_next, + gaf_rechist_largest_recv_f rechist_largest_recv, + void *rechist, lsquic_time_t now, int *has_missing, lsquic_packno_t *, + const uint64_t *); + +int +lsquic_gquic_be_dec_stream_frame_size (unsigned char *buf, size_t new_size); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_parse_gquic_common.c b/external/lsquic/src/liblsquic/lsquic_parse_gquic_common.c new file mode 100644 index 0000000..18bc46e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_gquic_common.c @@ -0,0 +1,713 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_parse_gquic_common.c -- Parsing functions common to GQUIC + */ + +#include +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#else +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_out.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_in.h" +#include "lsquic_parse_common.h" +#include "lsquic_parse.h" +#include "lsquic_version.h" +#include "lsquic.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PARSE +#include "lsquic_logger.h" + +#define CHECK_SPACE(need, pstart, pend) \ + do { if ((intptr_t) (need) > ((pend) - (pstart))) { return -1; } } while (0) + +/* This partially parses `packet_in' and returns 0 if in case it succeeded and + * -1 on failure. + * + * After this function returns 0, connection ID, nonce, and version fields can + * be examined. To finsh parsing the packet, call version-specific + * pf_parse_packet_in_finish() routine. + */ +int +lsquic_gquic_parse_packet_in_begin (lsquic_packet_in_t *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + int nbytes; + enum PACKET_PUBLIC_FLAGS public_flags; + const unsigned char *p = packet_in->pi_data; + const unsigned char *const pend = packet_in->pi_data + length; + + if (length > GQUIC_MAX_PACKET_SZ) + { + LSQ_DEBUG("Cannot handle packet_in_size(%zd) > %d packet incoming " + "packet's header", length, GQUIC_MAX_PACKET_SZ); + return -1; + } + + CHECK_SPACE(1, p, pend); + + public_flags = *p++; + + if (public_flags & PACKET_PUBLIC_FLAGS_8BYTE_CONNECTION_ID) + { + CHECK_SPACE(8, p, pend); + memset(&packet_in->pi_conn_id, 0, sizeof(packet_in->pi_conn_id)); + packet_in->pi_conn_id.len = 8; + memcpy(&packet_in->pi_conn_id.idbuf, p, 8); + packet_in->pi_flags |= PI_CONN_ID; + p += 8; + } + + if (public_flags & PACKET_PUBLIC_FLAGS_VERSION) + { + /* It seems that version negotiation packets sent by Google may have + * NONCE bit set. Ignore it: + */ + public_flags &= ~PACKET_PUBLIC_FLAGS_NONCE; + + if (is_server) + { + CHECK_SPACE(4, p, pend); + packet_in->pi_quic_ver = p - packet_in->pi_data; + p += 4; + } + else + { /* OK, we have a version negotiation packet. We need to verify + * that it has correct structure. See Section 4.3 of + * [draft-ietf-quic-transport-00]. + */ + if ((public_flags & ~(PACKET_PUBLIC_FLAGS_VERSION| + PACKET_PUBLIC_FLAGS_8BYTE_CONNECTION_ID)) + || ((pend - p) & 3)) + return -1; + CHECK_SPACE(4, p, pend); + packet_in->pi_quic_ver = p - packet_in->pi_data; + p = pend; + } + } + else + { + /* From [draft-hamilton-quic-transport-protocol-01]: + * 0x40 = MULTIPATH. This bit is reserved for multipath use. + * 0x80 is currently unused, and must be set to 0. + * + * The reference implementation checks that two high bits are not set + * if version flag is not set or if the version is the same. For our + * purposes, all GQUIC version we support so far have these bits set + * to zero. + */ + if (public_flags & (0x80|0x40)) + return -1; + packet_in->pi_quic_ver = 0; + } + + if (!is_server && (public_flags & PACKET_PUBLIC_FLAGS_NONCE) == + PACKET_PUBLIC_FLAGS_NONCE) + { + CHECK_SPACE(32, p, pend); + packet_in->pi_nonce = p - packet_in->pi_data; + p += 32; + } + else + packet_in->pi_nonce = 0; + + state->pps_p = p; + + packet_in->pi_packno = 0; + if (0 == (public_flags & (PACKET_PUBLIC_FLAGS_VERSION|PACKET_PUBLIC_FLAGS_RST)) + || ((public_flags & PACKET_PUBLIC_FLAGS_VERSION) && is_server)) + { + nbytes = twobit_to_1246((public_flags >> 4) & 3); + CHECK_SPACE(nbytes, p, pend); + p += nbytes; + state->pps_nbytes = nbytes; + } + else + state->pps_nbytes = 0; + + packet_in->pi_header_sz = p - packet_in->pi_data; + packet_in->pi_frame_types = 0; + memset(&packet_in->pi_next, 0, sizeof(packet_in->pi_next)); + packet_in->pi_data_sz = length; + packet_in->pi_refcnt = 0; + packet_in->pi_received = 0; + packet_in->pi_flags |= PI_GQUIC; + packet_in->pi_flags |= ((public_flags >> 4) & 3) << PIBIT_BITS_SHIFT; + + return 0; +} + + +static const unsigned char simple_prst_payload[] = { + 'P', 'R', 'S', 'T', + 0x01, 0x00, 0x00, 0x00, + 'R', 'N', 'O', 'N', + 0x08, 0x00, 0x00, 0x00, + 1, 2, 3, 4, 5, 6, 7, 8, +}; + + +typedef char correct_simple_prst_size[(GQUIC_RESET_SZ == + 1 + GQUIC_CID_LEN + sizeof(simple_prst_payload)) ? 1 : -1 ]; + + +ssize_t +lsquic_generate_gquic_reset (const lsquic_cid_t *cidp, + unsigned char *buf, size_t buf_sz) +{ + lsquic_cid_t cid; + + if (buf_sz < 1 + GQUIC_CID_LEN + sizeof(simple_prst_payload)) + { + errno = ENOBUFS; + return -1; + } + + if (cidp) + { + assert(GQUIC_CID_LEN == cidp->len); + cid = *cidp; + } + else + { + memset(&cid, 0, sizeof(cid)); + cid.len = GQUIC_CID_LEN; + } + + *buf++ = PACKET_PUBLIC_FLAGS_RST | PACKET_PUBLIC_FLAGS_8BYTE_CONNECTION_ID; + + memcpy(buf, cid.idbuf, GQUIC_CID_LEN); + buf += GQUIC_CID_LEN; + + memcpy(buf, simple_prst_payload, sizeof(simple_prst_payload)); + return 1 + GQUIC_CID_LEN + sizeof(simple_prst_payload); +} + + +static const enum quic_frame_type byte2frame_type_Q035_thru_Q046[0x100] = +{ + [0x00] = QUIC_FRAME_PADDING, + [0x01] = QUIC_FRAME_RST_STREAM, + [0x02] = QUIC_FRAME_CONNECTION_CLOSE, + [0x03] = QUIC_FRAME_GOAWAY, + [0x04] = QUIC_FRAME_WINDOW_UPDATE, + [0x05] = QUIC_FRAME_BLOCKED, + [0x06] = QUIC_FRAME_STOP_WAITING, + [0x07] = QUIC_FRAME_PING, + [0x08] = QUIC_FRAME_INVALID, + [0x09] = QUIC_FRAME_INVALID, + [0x0A] = QUIC_FRAME_INVALID, + [0x0B] = QUIC_FRAME_INVALID, + [0x0C] = QUIC_FRAME_INVALID, + [0x0D] = QUIC_FRAME_INVALID, + [0x0E] = QUIC_FRAME_INVALID, + [0x0F] = QUIC_FRAME_INVALID, + [0x10] = QUIC_FRAME_INVALID, + [0x11] = QUIC_FRAME_INVALID, + [0x12] = QUIC_FRAME_INVALID, + [0x13] = QUIC_FRAME_INVALID, + [0x14] = QUIC_FRAME_INVALID, + [0x15] = QUIC_FRAME_INVALID, + [0x16] = QUIC_FRAME_INVALID, + [0x17] = QUIC_FRAME_INVALID, + [0x18] = QUIC_FRAME_INVALID, + [0x19] = QUIC_FRAME_INVALID, + [0x1A] = QUIC_FRAME_INVALID, + [0x1B] = QUIC_FRAME_INVALID, + [0x1C] = QUIC_FRAME_INVALID, + [0x1D] = QUIC_FRAME_INVALID, + [0x1E] = QUIC_FRAME_INVALID, + [0x1F] = QUIC_FRAME_INVALID, + [0x20] = QUIC_FRAME_INVALID, + [0x21] = QUIC_FRAME_INVALID, + [0x22] = QUIC_FRAME_INVALID, + [0x23] = QUIC_FRAME_INVALID, + [0x24] = QUIC_FRAME_INVALID, + [0x25] = QUIC_FRAME_INVALID, + [0x26] = QUIC_FRAME_INVALID, + [0x27] = QUIC_FRAME_INVALID, + [0x28] = QUIC_FRAME_INVALID, + [0x29] = QUIC_FRAME_INVALID, + [0x2A] = QUIC_FRAME_INVALID, + [0x2B] = QUIC_FRAME_INVALID, + [0x2C] = QUIC_FRAME_INVALID, + [0x2D] = QUIC_FRAME_INVALID, + [0x2E] = QUIC_FRAME_INVALID, + [0x2F] = QUIC_FRAME_INVALID, + [0x30] = QUIC_FRAME_INVALID, + [0x31] = QUIC_FRAME_INVALID, + [0x32] = QUIC_FRAME_INVALID, + [0x33] = QUIC_FRAME_INVALID, + [0x34] = QUIC_FRAME_INVALID, + [0x35] = QUIC_FRAME_INVALID, + [0x36] = QUIC_FRAME_INVALID, + [0x37] = QUIC_FRAME_INVALID, + [0x38] = QUIC_FRAME_INVALID, + [0x39] = QUIC_FRAME_INVALID, + [0x3A] = QUIC_FRAME_INVALID, + [0x3B] = QUIC_FRAME_INVALID, + [0x3C] = QUIC_FRAME_INVALID, + [0x3D] = QUIC_FRAME_INVALID, + [0x3E] = QUIC_FRAME_INVALID, + [0x3F] = QUIC_FRAME_INVALID, + [0x40] = QUIC_FRAME_ACK, + [0x41] = QUIC_FRAME_ACK, + [0x42] = QUIC_FRAME_ACK, + [0x43] = QUIC_FRAME_ACK, + [0x44] = QUIC_FRAME_ACK, + [0x45] = QUIC_FRAME_ACK, + [0x46] = QUIC_FRAME_ACK, + [0x47] = QUIC_FRAME_ACK, + [0x48] = QUIC_FRAME_ACK, + [0x49] = QUIC_FRAME_ACK, + [0x4A] = QUIC_FRAME_ACK, + [0x4B] = QUIC_FRAME_ACK, + [0x4C] = QUIC_FRAME_ACK, + [0x4D] = QUIC_FRAME_ACK, + [0x4E] = QUIC_FRAME_ACK, + [0x4F] = QUIC_FRAME_ACK, + [0x50] = QUIC_FRAME_ACK, + [0x51] = QUIC_FRAME_ACK, + [0x52] = QUIC_FRAME_ACK, + [0x53] = QUIC_FRAME_ACK, + [0x54] = QUIC_FRAME_ACK, + [0x55] = QUIC_FRAME_ACK, + [0x56] = QUIC_FRAME_ACK, + [0x57] = QUIC_FRAME_ACK, + [0x58] = QUIC_FRAME_ACK, + [0x59] = QUIC_FRAME_ACK, + [0x5A] = QUIC_FRAME_ACK, + [0x5B] = QUIC_FRAME_ACK, + [0x5C] = QUIC_FRAME_ACK, + [0x5D] = QUIC_FRAME_ACK, + [0x5E] = QUIC_FRAME_ACK, + [0x5F] = QUIC_FRAME_ACK, + [0x60] = QUIC_FRAME_ACK, + [0x61] = QUIC_FRAME_ACK, + [0x62] = QUIC_FRAME_ACK, + [0x63] = QUIC_FRAME_ACK, + [0x64] = QUIC_FRAME_ACK, + [0x65] = QUIC_FRAME_ACK, + [0x66] = QUIC_FRAME_ACK, + [0x67] = QUIC_FRAME_ACK, + [0x68] = QUIC_FRAME_ACK, + [0x69] = QUIC_FRAME_ACK, + [0x6A] = QUIC_FRAME_ACK, + [0x6B] = QUIC_FRAME_ACK, + [0x6C] = QUIC_FRAME_ACK, + [0x6D] = QUIC_FRAME_ACK, + [0x6E] = QUIC_FRAME_ACK, + [0x6F] = QUIC_FRAME_ACK, + [0x70] = QUIC_FRAME_ACK, + [0x71] = QUIC_FRAME_ACK, + [0x72] = QUIC_FRAME_ACK, + [0x73] = QUIC_FRAME_ACK, + [0x74] = QUIC_FRAME_ACK, + [0x75] = QUIC_FRAME_ACK, + [0x76] = QUIC_FRAME_ACK, + [0x77] = QUIC_FRAME_ACK, + [0x78] = QUIC_FRAME_ACK, + [0x79] = QUIC_FRAME_ACK, + [0x7A] = QUIC_FRAME_ACK, + [0x7B] = QUIC_FRAME_ACK, + [0x7C] = QUIC_FRAME_ACK, + [0x7D] = QUIC_FRAME_ACK, + [0x7E] = QUIC_FRAME_ACK, + [0x7F] = QUIC_FRAME_ACK, + [0x80] = QUIC_FRAME_STREAM, + [0x81] = QUIC_FRAME_STREAM, + [0x82] = QUIC_FRAME_STREAM, + [0x83] = QUIC_FRAME_STREAM, + [0x84] = QUIC_FRAME_STREAM, + [0x85] = QUIC_FRAME_STREAM, + [0x86] = QUIC_FRAME_STREAM, + [0x87] = QUIC_FRAME_STREAM, + [0x88] = QUIC_FRAME_STREAM, + [0x89] = QUIC_FRAME_STREAM, + [0x8A] = QUIC_FRAME_STREAM, + [0x8B] = QUIC_FRAME_STREAM, + [0x8C] = QUIC_FRAME_STREAM, + [0x8D] = QUIC_FRAME_STREAM, + [0x8E] = QUIC_FRAME_STREAM, + [0x8F] = QUIC_FRAME_STREAM, + [0x90] = QUIC_FRAME_STREAM, + [0x91] = QUIC_FRAME_STREAM, + [0x92] = QUIC_FRAME_STREAM, + [0x93] = QUIC_FRAME_STREAM, + [0x94] = QUIC_FRAME_STREAM, + [0x95] = QUIC_FRAME_STREAM, + [0x96] = QUIC_FRAME_STREAM, + [0x97] = QUIC_FRAME_STREAM, + [0x98] = QUIC_FRAME_STREAM, + [0x99] = QUIC_FRAME_STREAM, + [0x9A] = QUIC_FRAME_STREAM, + [0x9B] = QUIC_FRAME_STREAM, + [0x9C] = QUIC_FRAME_STREAM, + [0x9D] = QUIC_FRAME_STREAM, + [0x9E] = QUIC_FRAME_STREAM, + [0x9F] = QUIC_FRAME_STREAM, + [0xA0] = QUIC_FRAME_STREAM, + [0xA1] = QUIC_FRAME_STREAM, + [0xA2] = QUIC_FRAME_STREAM, + [0xA3] = QUIC_FRAME_STREAM, + [0xA4] = QUIC_FRAME_STREAM, + [0xA5] = QUIC_FRAME_STREAM, + [0xA6] = QUIC_FRAME_STREAM, + [0xA7] = QUIC_FRAME_STREAM, + [0xA8] = QUIC_FRAME_STREAM, + [0xA9] = QUIC_FRAME_STREAM, + [0xAA] = QUIC_FRAME_STREAM, + [0xAB] = QUIC_FRAME_STREAM, + [0xAC] = QUIC_FRAME_STREAM, + [0xAD] = QUIC_FRAME_STREAM, + [0xAE] = QUIC_FRAME_STREAM, + [0xAF] = QUIC_FRAME_STREAM, + [0xB0] = QUIC_FRAME_STREAM, + [0xB1] = QUIC_FRAME_STREAM, + [0xB2] = QUIC_FRAME_STREAM, + [0xB3] = QUIC_FRAME_STREAM, + [0xB4] = QUIC_FRAME_STREAM, + [0xB5] = QUIC_FRAME_STREAM, + [0xB6] = QUIC_FRAME_STREAM, + [0xB7] = QUIC_FRAME_STREAM, + [0xB8] = QUIC_FRAME_STREAM, + [0xB9] = QUIC_FRAME_STREAM, + [0xBA] = QUIC_FRAME_STREAM, + [0xBB] = QUIC_FRAME_STREAM, + [0xBC] = QUIC_FRAME_STREAM, + [0xBD] = QUIC_FRAME_STREAM, + [0xBE] = QUIC_FRAME_STREAM, + [0xBF] = QUIC_FRAME_STREAM, + [0xC0] = QUIC_FRAME_STREAM, + [0xC1] = QUIC_FRAME_STREAM, + [0xC2] = QUIC_FRAME_STREAM, + [0xC3] = QUIC_FRAME_STREAM, + [0xC4] = QUIC_FRAME_STREAM, + [0xC5] = QUIC_FRAME_STREAM, + [0xC6] = QUIC_FRAME_STREAM, + [0xC7] = QUIC_FRAME_STREAM, + [0xC8] = QUIC_FRAME_STREAM, + [0xC9] = QUIC_FRAME_STREAM, + [0xCA] = QUIC_FRAME_STREAM, + [0xCB] = QUIC_FRAME_STREAM, + [0xCC] = QUIC_FRAME_STREAM, + [0xCD] = QUIC_FRAME_STREAM, + [0xCE] = QUIC_FRAME_STREAM, + [0xCF] = QUIC_FRAME_STREAM, + [0xD0] = QUIC_FRAME_STREAM, + [0xD1] = QUIC_FRAME_STREAM, + [0xD2] = QUIC_FRAME_STREAM, + [0xD3] = QUIC_FRAME_STREAM, + [0xD4] = QUIC_FRAME_STREAM, + [0xD5] = QUIC_FRAME_STREAM, + [0xD6] = QUIC_FRAME_STREAM, + [0xD7] = QUIC_FRAME_STREAM, + [0xD8] = QUIC_FRAME_STREAM, + [0xD9] = QUIC_FRAME_STREAM, + [0xDA] = QUIC_FRAME_STREAM, + [0xDB] = QUIC_FRAME_STREAM, + [0xDC] = QUIC_FRAME_STREAM, + [0xDD] = QUIC_FRAME_STREAM, + [0xDE] = QUIC_FRAME_STREAM, + [0xDF] = QUIC_FRAME_STREAM, + [0xE0] = QUIC_FRAME_STREAM, + [0xE1] = QUIC_FRAME_STREAM, + [0xE2] = QUIC_FRAME_STREAM, + [0xE3] = QUIC_FRAME_STREAM, + [0xE4] = QUIC_FRAME_STREAM, + [0xE5] = QUIC_FRAME_STREAM, + [0xE6] = QUIC_FRAME_STREAM, + [0xE7] = QUIC_FRAME_STREAM, + [0xE8] = QUIC_FRAME_STREAM, + [0xE9] = QUIC_FRAME_STREAM, + [0xEA] = QUIC_FRAME_STREAM, + [0xEB] = QUIC_FRAME_STREAM, + [0xEC] = QUIC_FRAME_STREAM, + [0xED] = QUIC_FRAME_STREAM, + [0xEE] = QUIC_FRAME_STREAM, + [0xEF] = QUIC_FRAME_STREAM, + [0xF0] = QUIC_FRAME_STREAM, + [0xF1] = QUIC_FRAME_STREAM, + [0xF2] = QUIC_FRAME_STREAM, + [0xF3] = QUIC_FRAME_STREAM, + [0xF4] = QUIC_FRAME_STREAM, + [0xF5] = QUIC_FRAME_STREAM, + [0xF6] = QUIC_FRAME_STREAM, + [0xF7] = QUIC_FRAME_STREAM, + [0xF8] = QUIC_FRAME_STREAM, + [0xF9] = QUIC_FRAME_STREAM, + [0xFA] = QUIC_FRAME_STREAM, + [0xFB] = QUIC_FRAME_STREAM, + [0xFC] = QUIC_FRAME_STREAM, + [0xFD] = QUIC_FRAME_STREAM, + [0xFE] = QUIC_FRAME_STREAM, + [0xFF] = QUIC_FRAME_STREAM, +}; + + +enum quic_frame_type +lsquic_parse_frame_type_gquic_Q035_thru_Q046 (const unsigned char *buf, + size_t len) +{ + if (len > 0) + return byte2frame_type_Q035_thru_Q046[buf[0]]; + else + return QUIC_FRAME_INVALID; +} + + +void +lsquic_turn_on_fin_Q035_thru_Q046 (unsigned char *stream_header) +{ + /* 1fdoooss */ + *stream_header |= 0x40; +} + + +size_t +lsquic_calc_stream_frame_header_sz_gquic (lsquic_stream_id_t stream_id, + uint64_t offset, unsigned data_sz_IGNORED) +{ + return + /* Type */ + 1 + /* Stream ID length */ + + ((stream_id) > 0x0000FF) + + ((stream_id) > 0x00FFFF) + + ((stream_id) > 0xFFFFFF) + + 1 + /* Offset length */ + + ((offset) >= (1ULL << 56)) + + ((offset) >= (1ULL << 48)) + + ((offset) >= (1ULL << 40)) + + ((offset) >= (1ULL << 32)) + + ((offset) >= (1ULL << 24)) + + ((offset) >= (1ULL << 16)) + + (((offset) > 0) << 1) + /* Add data length (2) yourself, if necessary */ + ; +} + + +static const char *const ecn2str[4] = +{ + [ECN_NOT_ECT] = "", + [ECN_ECT0] = "ECT(0)", + [ECN_ECT1] = "ECT(1)", + [ECN_CE] = "CE", +}; + + +void +lsquic_acki2str (const struct ack_info *acki, char *buf, size_t bufsz) +{ + size_t off, nw; + enum ecn ecn; + unsigned n; + + off = 0; + for (n = 0; n < acki->n_ranges; ++n) + { + nw = snprintf(buf + off, bufsz - off, "[%"PRIu64"-%"PRIu64"]", + acki->ranges[n].high, acki->ranges[n].low); + if (nw > bufsz - off) + return; + off += nw; + } + + if (acki->flags & AI_TRUNCATED) + { + nw = snprintf(buf + off, bufsz - off, RANGES_TRUNCATED_STR); + if (nw > bufsz - off) + return; + off += nw; + } + + if (acki->flags & AI_ECN) + { + for (ecn = 1; ecn <= 3; ++ecn) + { + nw = snprintf(buf + off, bufsz - off, " %s: %"PRIu64"%.*s", + ecn2str[ecn], acki->ecn_counts[ecn], ecn < 3, ";"); + if (nw > bufsz - off) + return; + off += nw; + } + } +} + + +size_t +lsquic_gquic_po_header_sz (enum packet_out_flags flags) +{ + return 1 /* Type */ + + (!!(flags & PO_CONN_ID) << 3) /* Connection ID */ + + (!!(flags & PO_VERSION) << 2) /* Version */ + + (!!(flags & PO_NONCE) << 5) /* Nonce */ + + gquic_packno_bits2len((flags >> POBIT_SHIFT) & 0x3) /* Packet number */ + ; +} + + +size_t +lsquic_gquic_packout_size (const struct lsquic_conn *conn, + const struct lsquic_packet_out *packet_out) +{ + return lsquic_gquic_po_header_sz(packet_out->po_flags) + + packet_out->po_data_sz + + GQUIC_PACKET_HASH_SZ + ; +} + + +size_t +lsquic_gquic_packout_header_size (const struct lsquic_conn *conn, + enum packet_out_flags flags, size_t dcid_len, + enum header_type unused) +{ + return lsquic_gquic_po_header_sz(flags); +} + + +int +lsquic_gquic_gen_ver_nego_pkt (unsigned char *buf, size_t bufsz, + const lsquic_cid_t *cid, unsigned version_bitmask) +{ + int sz; + unsigned char *p = buf; + unsigned char *const pend = p + bufsz; + + CHECK_SPACE(1, p, pend); + *p = PACKET_PUBLIC_FLAGS_VERSION | PACKET_PUBLIC_FLAGS_8BYTE_CONNECTION_ID; + ++p; + + if (GQUIC_CID_LEN != cid->len) + return -1; + + CHECK_SPACE(GQUIC_CID_LEN, p, pend); + memcpy(p, cid->idbuf, GQUIC_CID_LEN); + p += GQUIC_CID_LEN; + + sz = lsquic_gen_ver_tags(p, pend - p, version_bitmask); + if (sz < 0) + return -1; + + return p + sz - buf; +} + + +unsigned +lsquic_gquic_packno_bits2len (enum packno_bits bits) +{ + return gquic_packno_bits2len(bits); +} + + +enum packno_bits +lsquic_gquic_calc_packno_bits (lsquic_packno_t packno, + lsquic_packno_t least_unacked, uint64_t n_in_flight) +{ + uint64_t delta; + unsigned bits; + + delta = packno - least_unacked; + if (n_in_flight > delta) + delta = n_in_flight; + + delta *= 4; + bits = (delta > (1ULL << 8)) + + (delta > (1ULL << 16)) + + (delta > (1ULL << 32)); + + return bits; +} + + +/* `dst' serves both as source and destination. `src' is the new frame */ +int +lsquic_merge_acks (struct ack_info *dst, const struct ack_info *src) +{ + const struct lsquic_packno_range *a, *a_end, *b, *b_end, **p; + struct lsquic_packno_range *out, *out_end; + unsigned i; + int ok; + struct lsquic_packno_range out_ranges[256]; + + if (!(dst->n_ranges && src->n_ranges)) + return -1; + + a = dst->ranges; + a_end = a + dst->n_ranges; + b = src->ranges; + b_end = b + src->n_ranges; + out = out_ranges; + out_end = out + sizeof(out_ranges) / sizeof(out_ranges[0]); + + if (a->high >= b->high) + *out = *a; + else + *out = *b; + + while (1) + { + if (a < a_end && b < b_end) + { + if (a->high >= b->high) + p = &a; + else + p = &b; + } + else if (a < a_end) + p = &a; + else if (b < b_end) + p = &b; + else + { + ++out; + break; + } + + if ((*p)->high + 1 >= out->low) + out->low = (*p)->low; + else if (out + 1 < out_end) + *++out = **p; + else + return -1; + ++*p; + } + + if (src->flags & AI_ECN) + { + /* New ACK frame (src) should not contain ECN counts that are smaller + * than previous ACK frame, otherwise we cannot merge. + */ + ok = 1; + for (i = 0; i < sizeof(src->ecn_counts) + / sizeof(src->ecn_counts[0]); ++i) + ok &= dst->ecn_counts[i] <= src->ecn_counts[i]; + if (ok) + for (i = 0; i < sizeof(src->ecn_counts) + / sizeof(src->ecn_counts[0]); ++i) + dst->ecn_counts[i] = src->ecn_counts[i]; + else + return -1; + } + dst->flags |= src->flags; + dst->lack_delta = src->lack_delta; + dst->n_ranges = out - out_ranges; + memcpy(dst->ranges, out_ranges, sizeof(out_ranges[0]) * dst->n_ranges); + + return 0; +} diff --git a/external/lsquic/src/liblsquic/lsquic_parse_ietf.h b/external/lsquic/src/liblsquic/lsquic_parse_ietf.h new file mode 100644 index 0000000..91f855e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_ietf.h @@ -0,0 +1,16 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_PARSE_IETF_H +#define LSQUIC_PARSE_IETF_H 1 + +/* IETF QUIC v1 and Q050 use virtually the same CRYPTO frame format -- the only + * difference is the first byte. + */ +int +lsquic_ietf_v1_parse_crypto_frame (const unsigned char *buf, size_t rem_packet_sz, + struct stream_frame *stream_frame); +int +lsquic_ietf_v1_gen_crypto_frame (unsigned char *buf, unsigned char first_byte, + size_t buf_len, lsquic_stream_id_t UNUSED_1, uint64_t offset, + int UNUSED_2, size_t size, gsf_read_f gsf_read, void *stream); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_parse_ietf_v1.c b/external/lsquic/src/liblsquic/lsquic_parse_ietf_v1.c new file mode 100644 index 0000000..a0e6747 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_ietf_v1.c @@ -0,0 +1,2348 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_parse_ietf_v1.c -- Parsing functions specific to IETF QUIC v1 + */ + +#include +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#else +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_sizes.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_ietf.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_parse.h" +#include "lsquic_parse_common.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_mm.h" +#include "lsquic_malo.h" +#include "lsquic_version.h" +#include "lsquic.h" +#include "lsquic_byteswap.h" +#include "lsquic_conn.h" +#include "lsquic_enc_sess.h" +#include "lsquic_trans_params.h" +#include "lsquic_parse_ietf.h" +#include "lsquic_qtags.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PARSE +#include "lsquic_logger.h" + +#define CHECK_SPACE(need, pstart, pend) \ + do { if ((intptr_t) (need) > ((pend) - (pstart))) { return -1; } } while (0) + +#define FRAME_TYPE_ACK_FREQUENCY 0xAF +#define FRAME_TYPE_TIMESTAMP 0x2F5 + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + +static int +ietf_v1_gen_one_varint (unsigned char *, size_t, unsigned char, uint64_t); + +static int +ietf_v1_gen_two_varints (unsigned char *, size_t, unsigned char, uint64_t[2]); + +static void +ietf_v1_parse_packet_in_finish (lsquic_packet_in_t *packet_in, + struct packin_parse_state *state) +{ + /* Packet number is set to an invalid value. The packet number must + * be decrypted, which happens later. + */ + packet_in->pi_packno = 1ULL << 62; +} + + +/* Note: token size is not accounted for */ +static size_t +ietf_v1_packout_header_size_long_by_flags (const struct lsquic_conn *lconn, + enum header_type header_type, enum packet_out_flags flags, + size_t dcid_len) +{ + size_t sz; + enum packno_bits packno_bits; + + packno_bits = (flags >> POBIT_SHIFT) & 0x3; + + sz = 1 /* Type */ + + 4 /* Version */ + + 1 /* DCIL */ + + dcid_len + + 1 /* SCIL */ + + CN_SCID(lconn)->len + + (header_type == HETY_INITIAL) /* Token length */ + + 2 /* Always use two bytes to encode payload length */ + + iquic_packno_bits2len(packno_bits) + ; + + return sz; +} + + +static size_t +ietf_v1_packout_header_size_long_by_packet (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out) +{ + size_t sz; + unsigned token_len; /* Need intermediate value to quiet compiler warning */ + enum packno_bits packno_bits; + + packno_bits = lsquic_packet_out_packno_bits(packet_out); + + sz = 1 /* Type */ + + 4 /* Version */ + + 1 /* DCIL */ + + packet_out->po_path->np_dcid.len + + 1 /* SCIL */ + + CN_SCID(lconn)->len + + (packet_out->po_header_type == HETY_INITIAL ? + (token_len = packet_out->po_token_len, + (1 << vint_val2bits(token_len)) + token_len) : 0) + + 2 /* Always use two bytes to encode payload length */ + + iquic_packno_bits2len(packno_bits) + ; + + return sz; +} + + +static size_t +ietf_v1_packout_header_size_short (enum packet_out_flags flags, size_t dcid_len) +{ + enum packno_bits bits; + size_t sz; + + bits = (flags >> POBIT_SHIFT) & 0x3; + sz = 1 /* Type */ + + (flags & PO_CONN_ID ? dcid_len : 0) + + iquic_packno_bits2len(bits) + ; + + return sz; +} + + +static size_t +ietf_v1_packout_max_header_size (const struct lsquic_conn *lconn, + enum packet_out_flags flags, size_t dcid_len, enum header_type header_type) +{ + if ((lconn->cn_flags & LSCONN_HANDSHAKE_DONE) + && header_type == HETY_SHORT) + return ietf_v1_packout_header_size_short(flags, dcid_len); + else + return ietf_v1_packout_header_size_long_by_flags(lconn, header_type, + flags, dcid_len); +} + + +/* [draft-ietf-quic-transport-17] Section-17.2 */ +static const unsigned char header_type_to_bin[] = { + [HETY_INITIAL] = 0x0, + [HETY_0RTT] = 0x1, + [HETY_HANDSHAKE] = 0x2, + [HETY_RETRY] = 0x3, +}; + + +/* [draft-ietf-quic-v2] Section-3.2 */ +static const unsigned char header_type_to_bin_v2[] = { + [HETY_INITIAL] = 0x1, + [HETY_0RTT] = 0x2, + [HETY_HANDSHAKE] = 0x3, + [HETY_RETRY] = 0x0, +}; + + +static unsigned +write_packno (unsigned char *p, lsquic_packno_t packno, + enum packno_bits bits) +{ + unsigned char *const begin = p; + + switch (bits) + { + case IQUIC_PACKNO_LEN_4: + *p++ = packno >> 24; + /* fall through */ + case IQUIC_PACKNO_LEN_3: + *p++ = packno >> 16; + /* fall through */ + case IQUIC_PACKNO_LEN_2: + *p++ = packno >> 8; + /* fall through */ + default: + *p++ = packno; + } + + return p - begin; +} + + +static int +gen_long_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz, unsigned *packno_off_p, unsigned *packno_len_p) +{ + unsigned payload_len, bits; + enum packno_bits packno_bits; + lsquic_ver_tag_t ver_tag; + unsigned char *p; + unsigned token_len; + size_t need; + + need = ietf_v1_packout_header_size_long_by_packet(lconn, packet_out); + if (need > bufsz) + { + errno = EINVAL; + return -1; + } + + packno_bits = lsquic_packet_out_packno_bits(packet_out); + p = buf; + if (lconn->cn_version == LSQVER_I002) + *p++ = 0xC0 + | ( header_type_to_bin_v2[ packet_out->po_header_type ] << 4) + | packno_bits + ; + else + *p++ = 0xC0 + | ( header_type_to_bin[ packet_out->po_header_type ] << 4) + | packno_bits + ; + ver_tag = lsquic_ver2tag(lconn->cn_version); + memcpy(p, &ver_tag, sizeof(ver_tag)); + p += sizeof(ver_tag); + + *p++ = packet_out->po_path->np_dcid.len; + memcpy(p, packet_out->po_path->np_dcid.idbuf, packet_out->po_path->np_dcid.len); + p += packet_out->po_path->np_dcid.len; + *p++ = CN_SCID(lconn)->len; + memcpy(p, CN_SCID(lconn)->idbuf, CN_SCID(lconn)->len); + p += CN_SCID(lconn)->len; + + if (HETY_INITIAL == packet_out->po_header_type) + { + token_len = packet_out->po_token_len; + bits = vint_val2bits(token_len); + vint_write(p, token_len, bits, 1 << bits); + p += 1 << bits; + memcpy(p, packet_out->po_token, token_len); + p += token_len; + } + + payload_len = packet_out->po_data_sz + + lconn->cn_esf_c->esf_tag_len + + iquic_packno_bits2len(packno_bits); + bits = 1; /* Always use two bytes to encode payload length */ + vint_write(p, payload_len, bits, 1 << bits); + p += 1 << bits; + + *packno_off_p = p - buf; + *packno_len_p = iquic_packno_bits2len(packno_bits); + p += write_packno(p, packet_out->po_packno, packno_bits); + + return p - buf; +} + + +static int +gen_short_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz, unsigned *packno_off_p, unsigned *packno_len_p) +{ + unsigned packno_len, cid_len, need; + enum packno_bits packno_bits; + + packno_bits = lsquic_packet_out_packno_bits(packet_out); + packno_len = iquic_packno_bits2len(packno_bits); + cid_len = packet_out->po_flags & PO_CONN_ID ? packet_out->po_path->np_dcid.len : 0; + + need = 1 + cid_len + packno_len; + if (need > bufsz) + return -1; + + buf[0] = QUIC_BIT + | (lsquic_packet_out_spin_bit(packet_out) << 5) + | (lsquic_packet_out_square_bit(packet_out) << 4) + | (lsquic_packet_out_loss_bit(packet_out) << 3) + | (lsquic_packet_out_kp(packet_out) << 2) + | packno_bits + ; + + if (cid_len) + memcpy(buf + 1, packet_out->po_path->np_dcid.idbuf, cid_len); + + (void) write_packno(buf + 1 + cid_len, packet_out->po_packno, packno_bits); + + *packno_off_p = 1 + cid_len; + *packno_len_p = packno_len; + return need; +} + + +static int +ietf_v1_gen_reg_pkt_header (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out, unsigned char *buf, + size_t bufsz, unsigned *packno_off, unsigned *packno_len) +{ + if (packet_out->po_header_type == HETY_SHORT) + return gen_short_pkt_header(lconn, packet_out, buf, bufsz, packno_off, + packno_len); + else + return gen_long_pkt_header(lconn, packet_out, buf, bufsz, packno_off, + packno_len); +} + + +static size_t +ietf_v1_packout_size (const struct lsquic_conn *lconn, + const struct lsquic_packet_out *packet_out) +{ + size_t sz; + + if ((lconn->cn_flags & LSCONN_HANDSHAKE_DONE) + && packet_out->po_header_type == HETY_SHORT) + sz = ietf_v1_packout_header_size_short(packet_out->po_flags, + packet_out->po_path->np_dcid.len); + else + sz = ietf_v1_packout_header_size_long_by_packet(lconn, packet_out); + + sz += packet_out->po_data_sz; + sz += lconn->cn_esf_c->esf_tag_len; + + return sz; +} + + +static int +ietf_v1_gen_stream_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id, uint64_t offset, int fin, size_t size, + gsf_read_f gsf_read, void *stream) +{ + /* 0b00001XXX + * 0x4 OFF + * 0x2 LEN + * 0x1 FIN + */ + unsigned sbits, obits, dbits; + unsigned slen, olen, dlen; + unsigned char *p = buf + 1; + +#if _MSC_VER + obits = 0, dbits = 0; +#endif + + assert(!!fin || !!size); + + /* We do not check that stream_id, offset, and size are smaller + * than 2^62: this is not necessary, as this code will never generate + * this many stream IDs, nor will it even transfer this much data. + * The size is limited by our own code. + */ + + sbits = vint_val2bits(stream_id); + slen = 1 << sbits; + if (offset) + { + obits = vint_val2bits(offset); + olen = 1 << obits; + } + else + olen = 0; + + if (!fin) + { + unsigned n_avail; + size_t nr; + + n_avail = buf_len - (p + slen + olen - buf); + + /* If we cannot fill remaining buffer, we need to include data + * length. + */ + if (size < n_avail) + { + dbits = vint_val2bits(size); + dlen = 1 << dbits; + n_avail -= dlen; + if (size > n_avail) + size = n_avail; + } + else + { + dlen = 0; + size = n_avail; + } + + CHECK_STREAM_SPACE(1 + olen + slen + dlen + + + 1 /* We need to write at least 1 byte */, buf, buf + buf_len); + + vint_write(p, stream_id, sbits, slen); + p += slen; + + if (olen) + vint_write(p, offset, obits, olen); + p += olen; + + /* Read as much as we can */ + nr = gsf_read(stream, p + dlen, size, &fin); + if (nr == 0) + return 0; + assert(nr <= size); + + if (dlen) + vint_write(p, nr, dbits, dlen); + + p += dlen + nr; + } + else + { + dlen = 1 + slen + olen < buf_len; + CHECK_STREAM_SPACE(1 + slen + olen + dlen, buf, buf + buf_len); + vint_write(p, stream_id, sbits, slen); + p += slen; + if (olen) + vint_write(p, offset, obits, olen); + p += olen; + if (dlen) + *p++ = 0; + } + + buf[0] = 0x08 + | (!!olen << 2) + | (!!dlen << 1) + | (!!fin << 0) + ; + return p - buf; +} + + +int +lsquic_ietf_v1_gen_crypto_frame (unsigned char *buf, unsigned char first_byte, + size_t buf_len, lsquic_stream_id_t UNUSED_1, uint64_t offset, + int UNUSED_2, size_t size, gsf_read_f gsf_read, void *stream) +{ + unsigned char *const end = buf + buf_len; + unsigned char *p; + unsigned obits, dbits; + unsigned olen, dlen; + size_t nr, n_avail; + int dummy_fin; + + obits = vint_val2bits(offset); + olen = 1 << obits; + dbits = vint_val2bits(size); + dlen = 1 << dbits; + + CHECK_SPACE(1 + olen + dlen + + (dlen > 0) /* We need to write at least 1 byte */, buf, end); + + n_avail = end - buf - 1 - olen - dlen; + if (n_avail < size) + size = n_avail; + + p = buf; + *p++ = first_byte; + + vint_write(p, offset, obits, olen); + p += olen; + + nr = gsf_read(stream, p + dlen, size, &dummy_fin); + assert(nr != 0); /* This indicates error in the caller */ + assert(nr <= size); /* This also indicates an error in the caller */ + + vint_write(p, nr, dbits, dlen); + p += dlen + nr; + + return p - buf; +} + + +static int +ietf_v1_gen_crypto_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id, uint64_t offset, int fin, + size_t size, gsf_read_f gsf_read, void *stream) +{ + return lsquic_ietf_v1_gen_crypto_frame(buf, 0x6, buf_len, stream_id, + offset, fin, size, gsf_read, stream); +} + + +static int +ietf_v1_dec_stream_frame_size (unsigned char *p, size_t new_size) +{ + /* 0b00001XXX + * 0x4 OFF + * 0x2 LEN + * 0x1 FIN + */ + unsigned bits; + + const char type = *p++; + if (!(type & 0x2)) + return 1; + + /* Stream ID */ + bits = *p >> 6; + p += 1 << bits; + + if (type & 0x4) + { + /* Offset */ + bits = *p >> 6; + p += 1 << bits; + } + + /* Write new size */ + bits = *p >> 6; + vint_write(p, new_size, bits, 1 << bits); + return 0; +} + + +/* return parsed (used) buffer length */ +static int +ietf_v1_parse_stream_frame (const unsigned char *buf, size_t rem_packet_sz, + struct stream_frame *stream_frame) +{ + /* 0b00001XXX + * 0x4 OFF + * 0x2 LEN + * 0x1 FIN + */ + const unsigned char *const pend = buf + rem_packet_sz; + const unsigned char *p = buf; + lsquic_stream_id_t stream_id; + uint64_t offset, data_sz; + int r; + + CHECK_SPACE(1, p, pend); + const char type = *p++; + + r = vint_read(p, pend, &stream_id); + if (r < 0) + return -1; + p += r; + + if (type & 0x4) + { + r = vint_read(p, pend, &offset); + if (r < 0) + return -1; + p += r; + } + else + offset = 0; + + if (type & 0x2) + { + r = vint_read(p, pend, &data_sz); + if (r < 0) + return -1; + p += r; + CHECK_SPACE(data_sz, p, pend); + } + else + data_sz = pend - p; + + /* Largest offset cannot exceed this value and we MUST detect this error */ + if (VINT_MAX_VALUE - offset < data_sz) + return -1; + + stream_frame->stream_id = stream_id; + stream_frame->data_frame.df_fin = type & 0x1; + stream_frame->data_frame.df_offset = offset; + stream_frame->data_frame.df_size = data_sz; + stream_frame->data_frame.df_data = p; + stream_frame->data_frame.df_read_off= 0; + stream_frame->packet_in = NULL; + + assert(p <= pend); + + return p + data_sz - (unsigned char *) buf; +} + + +int +lsquic_ietf_v1_parse_crypto_frame (const unsigned char *buf, + size_t rem_packet_sz, struct stream_frame *stream_frame) +{ + const unsigned char *const pend = buf + rem_packet_sz; + const unsigned char *p = buf; + uint64_t offset, data_sz; + int r; + + CHECK_SPACE(1, p, pend); + + ++p; + + r = vint_read(p, pend, &offset); + if (r < 0) + return -1; + p += r; + + r = vint_read(p, pend, &data_sz); + if (r < 0) + return -1; + p += r; + CHECK_SPACE(data_sz, p, pend); + + /* Largest offset cannot exceed this value and we MUST detect this error */ + if (VINT_MAX_VALUE - offset < data_sz) + return -1; + + stream_frame->stream_id = ~0ULL; /* Unset */ + stream_frame->data_frame.df_fin = 0; + stream_frame->data_frame.df_offset = offset; + stream_frame->data_frame.df_size = data_sz; + stream_frame->data_frame.df_data = p; + stream_frame->data_frame.df_read_off= 0; + stream_frame->packet_in = NULL; + + assert(p <= pend); + + return p + data_sz - (unsigned char *) buf; +} + + +static int +ietf_v1_parse_crypto_frame (const unsigned char *buf, size_t rem_packet_sz, + struct stream_frame *stream_frame) +{ + if (rem_packet_sz > 0) + { + assert(0x06 == buf[0]); + return lsquic_ietf_v1_parse_crypto_frame(buf, rem_packet_sz, + stream_frame); + } + else + return -1; +} + + +#if __GNUC__ +# define UNLIKELY(cond) __builtin_expect(cond, 0) +#else +# define UNLIKELY(cond) cond +#endif + + +/* Bits 10 (2) is ECT(0); * bits 01 (1) is ECT(1). */ +static const int ecnmap[4] = { 0, 2, 1, 3, }; + + +static int +ietf_v1_parse_ack_frame (const unsigned char *const buf, size_t buf_len, + struct ack_info *ack, uint8_t exp) +{ + const unsigned char *p = buf; + const unsigned char *const end = buf + buf_len; + uint64_t block_count, gap, block; + enum ecn ecn; + unsigned i; + int r; + + ++p; + r = vint_read(p, end, &ack->ranges[0].high); + if (UNLIKELY(r < 0)) + return -1; + p += r; + r = vint_read(p, end, &ack->lack_delta); + if (UNLIKELY(r < 0)) + return -1; + p += r; + ack->lack_delta <<= exp; + r = vint_read(p, end, &block_count); + if (UNLIKELY(r < 0)) + return -1; + p += r; + r = vint_read(p, end, &block); + if (UNLIKELY(r < 0)) + return -1; + ack->ranges[0].low = ack->ranges[0].high - block; + if (UNLIKELY(ack->ranges[0].high < ack->ranges[0].low)) + return -1; + p += r; + + for (i = 1; i <= block_count; ++i) + { + r = vint_read(p, end, &gap); + if (UNLIKELY(r < 0)) + return -1; + p += r; + r = vint_read(p, end, &block); + if (UNLIKELY(r < 0)) + return -1; + p += r; + if (i < sizeof(ack->ranges) / sizeof(ack->ranges[0])) + { + ack->ranges[i].high = ack->ranges[i - 1].low - gap - 2; + ack->ranges[i].low = ack->ranges[i].high - block; + if (UNLIKELY(ack->ranges[i].high >= ack->ranges[i - 1].low + || ack->ranges[i].high < ack->ranges[i].low)) + return -1; + } + } + + if (i < sizeof(ack->ranges) / sizeof(ack->ranges[0])) + { + ack->flags = 0; + ack->n_ranges = block_count + 1; + } + else + { + ack->flags = AI_TRUNCATED; + ack->n_ranges = sizeof(ack->ranges) / sizeof(ack->ranges[0]); + } + + + if (0x03 == buf[0]) + { + for (ecn = 1; ecn <= 3; ++ecn) + { + r = vint_read(p, end, &ack->ecn_counts[ecnmap[ecn]]); + if (UNLIKELY(r < 0)) + return -1; + p += r; + } + ack->flags |= AI_ECN; + } + + return p - buf; +} + + +static unsigned +ietf_v1_rst_frame_size (lsquic_stream_id_t stream_id, uint64_t error_code, + uint64_t final_size) +{ + return 1 /* Type */ + + vint_size(stream_id) /* Stream ID (i) */ + + vint_size(error_code) /* Application Error Code (i) */ + + vint_size(final_size); /* Final Size (i) */ +} + + +static int +ietf_v1_gen_rst_frame (unsigned char *buf, size_t buf_len, + lsquic_stream_id_t stream_id, uint64_t final_size, uint64_t error_code) +{ + unsigned vbits; + unsigned char *p; + + if (buf_len < ietf_v1_rst_frame_size(stream_id, error_code, final_size)) + return -1; + p = buf; + + *p++ = 0x04; + /* Stream ID (i) */ + vbits = vint_val2bits(stream_id); + vint_write(p, stream_id, vbits, 1 << vbits); + p += 1 << vbits; + + /* Application Error Code (i) */ + vbits = vint_val2bits(error_code); + vint_write(p, error_code, vbits, 1 << vbits); + p += 1 << vbits; + + /* Final Size (i) */ + vbits = vint_val2bits(final_size); + vint_write(p, final_size, vbits, 1 << vbits); + p += 1 << vbits; + + return p - buf; +} + + +static int +ietf_v1_parse_rst_frame (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id_p, uint64_t *final_size_p, uint64_t *error_code_p) +{ + const unsigned char *p = buf + 1; + const unsigned char *const end = buf + buf_len; + uint64_t stream_id, final_size, error_code; + int r; + + /* Stream ID (i) */ + r = vint_read(p, end, &stream_id); + if (r < 0) + return r; + p += r; + + /* Application Error Code (i) */ + r = vint_read(p, end, &error_code); + if (r < 0) + return r; + p += r; + + /* Final Size (i) */ + r = vint_read(p, end, &final_size); + if (r < 0) + return r; + p += r; + + *stream_id_p = stream_id; + *final_size_p = final_size; + *error_code_p = error_code; + + return p - buf; +} + + +static int +ietf_v1_parse_stop_sending_frame (const unsigned char *buf, size_t buf_len, + lsquic_stream_id_t *stream_id, uint64_t *error_code) +{ + const unsigned char *p = buf + 1; + const unsigned char *const end = buf + buf_len; + int r; + + r = vint_read(p, end, stream_id); + if (r < 0) + return r; + p += r; + + r = vint_read(p, end, error_code); + if (r < 0) + return r; + p += r; + + return p - buf; +} + + +static int +ietf_v1_gen_stop_sending_frame (unsigned char *buf, size_t len, + lsquic_stream_id_t stream_id, uint64_t error_code) +{ + return ietf_v1_gen_two_varints(buf, len, 0x05, (uint64_t[]){ stream_id, + error_code, }); +} + + +static unsigned +ietf_v1_stop_sending_frame_size (lsquic_stream_id_t val, uint64_t error_code) +{ + return 1 + vint_size(val) + vint_size(error_code); +} + + +static int +ietf_v1_parse_new_token_frame (const unsigned char *buf, size_t buf_len, + const unsigned char **token, size_t *token_size_p) +{ + uint64_t token_size; + const unsigned char *p = buf + 1; + const unsigned char *const end = buf + buf_len; + int r; + + r = vint_read(p, end, &token_size); + if (r < 0) + return r; + p += r; + + if (p + token_size > end) + return -1; + *token = p; + p += token_size; + *token_size_p = token_size; + + return p - buf; +} + + +static int +ietf_v1_gen_ping_frame (unsigned char *buf, int buf_len) +{ + if (buf_len > 0) + { + buf[0] = 0x01; + return 1; + } + else + return -1; +} + + +static size_t +ietf_v1_connect_close_frame_size (int app_error, unsigned error_code, + unsigned frame_type, size_t reason_len) +{ + return 1 /* Type */ + + (1 << vint_val2bits(error_code)) /* Error code */ + + (app_error ? 0 : 1 << vint_val2bits(frame_type)) /* Frame type */ + + (1 << vint_val2bits(reason_len)) /* Reason Phrase Length */ + + reason_len + ; +} + + +static int +ietf_v1_gen_connect_close_frame (unsigned char *buf, size_t buf_len, + int app_error, unsigned error_code, const char *reason, int reason_len) +{ + size_t needed; + unsigned bits_error, bits_reason; + unsigned char *p; + + assert(!!reason == !!reason_len); + + bits_reason = vint_val2bits(reason_len); + bits_error = vint_val2bits(error_code); + needed = 1 /* Type */ + (1 << bits_error) + + (app_error ? 0 : 1) /* Frame type */ + /* TODO: frame type instead of just zero */ + + (1 << bits_reason) + reason_len; + + if (buf_len < needed) + return -1; + + p = buf; + *p = 0x1C + !!app_error; + ++p; + vint_write(p, error_code, bits_error, 1 << bits_error); + p += 1 << bits_error; + if (!app_error) + *p++ = 0; /* Frame type */ /* TODO */ + vint_write(p, reason_len, bits_reason, 1 << bits_reason); + p += 1 << bits_reason; + if (reason_len) + { + memcpy(p, reason, reason_len); + p += reason_len; + } + + assert((unsigned) (p - buf) == needed); + return p - buf; +} + + +static int +ietf_v1_parse_connect_close_frame (const unsigned char *buf, size_t buf_len, + int *app_error_p, uint64_t *error_code, uint16_t *reason_len, + uint8_t *reason_offset) +{ + const unsigned char *const pend = buf + buf_len; + const unsigned char *p = buf + 1; + uint64_t len; + ptrdiff_t off; + int app_error, r; + + r = vint_read(p, pend, error_code); + if (r < 0) + return -1; + p += r; + + app_error = buf[0] == 0x1D; + if (!app_error) + { + r = vint_read(p, pend, &len); + if (r < 0) + return -1; + p += r; + } + + r = vint_read(p, pend, &len); + if (r < 0) + return -1; + if (len > UINT16_MAX) + return -1; + p += r; + + off = p - buf; + if (buf_len < off + len) + return -2; + + *app_error_p = app_error; + *reason_len = len; + *reason_offset = off; + return off + len; +} + + +/* Returns number of bytes written or -1 on failure */ +/* This function makes an assumption that there is at least one range */ +static int +ietf_v1_gen_ack_frame (unsigned char *outbuf, size_t outbuf_sz, + gaf_rechist_first_f rechist_first, gaf_rechist_next_f rechist_next, + gaf_rechist_largest_recv_f rechist_largest_recv, + void *rechist, lsquic_time_t now, int *has_missing, + lsquic_packno_t *largest_received, const uint64_t *ecn_counts) +{ + unsigned char *block_count_p, *p = outbuf; + unsigned char *const end = p + outbuf_sz; + lsquic_time_t time_diff; + lsquic_packno_t packno_diff, gap, prev_low, maxno, rsize; + size_t sz; + const struct lsquic_packno_range *range; + unsigned a, b, c, addl_ack_blocks, ecn_needs; + unsigned bits[4]; + enum ecn ecn; + +#define AVAIL() (end - p) + +#define CHECKOUT(sz) do { \ + if ((intptr_t) (sz) > AVAIL()) { \ + errno = ENOBUFS; \ + return -1; \ + } \ +} while (0) + + range = rechist_first(rechist); + if (!range) + { + errno = EINVAL; + return -1; + } + // LSQ_DEBUG("range [%"PRIu64" - %"PRIu64"]", range->high, range->low); + + time_diff = now - rechist_largest_recv(rechist); + time_diff >>= TP_DEF_ACK_DELAY_EXP; + + maxno = range->high; + packno_diff = maxno - range->low; + + a = vint_val2bits(maxno); + b = vint_val2bits(time_diff); + c = vint_val2bits(packno_diff); + sz = 1 /* Type */ + + (1 << a) /* Largest Acknowledged */ + + (1 << b) /* ACK Delay */ + + 1 /* ACK Block Count */ + + (1 << c) /* ACK Blocks */ + ; + + CHECKOUT(sz); + + if (ecn_counts) + { + for (ecn = 1; ecn <= 3; ++ecn) + bits[ecn] = vint_val2bits(ecn_counts[ecn]); + ecn_needs = (1 << bits[1]) + (1 << bits[2]) + (1 << bits[3]); + } + else + ecn_needs = 0; + + *p = 0x02 + !!ecn_counts; + ++p; + + vint_write(p, maxno, a, 1 << a); + p += 1 << a; + vint_write(p, time_diff, b, 1 << b); + p += 1 << b; + block_count_p = p; + p += 1; /* Initial guess that we have fewer than 64 additional ACK Blocks */ + vint_write(p, packno_diff, c, 1 << c); + p += 1 << c; + + prev_low = range->low; + addl_ack_blocks = 0; + while ((range = rechist_next(rechist))) + { + // LSQ_DEBUG("range [%"PRIu64" - %"PRIu64"]", range->high, range->low); + gap = prev_low - range->high - 1; + rsize = range->high - range->low; + a = vint_val2bits(gap - 1); + b = vint_val2bits(rsize); + if (ecn_needs + (1 << a) + (1 << b) > (unsigned)AVAIL()) + break; + if (addl_ack_blocks == VINT_MAX_ONE_BYTE) + { + memmove(block_count_p + 2, block_count_p + 1, + p - block_count_p - 1); + ++p; + } + vint_write(p, gap - 1, a, 1 << a); + p += 1 << a; + vint_write(p, rsize, b, 1 << b); + p += 1 << b; + ++addl_ack_blocks; + prev_low = range->low; + } + + /* Here we assume that addl_ack_blocks < (1 << 14), which is a safe + * assumption to make. + */ + vint_write(block_count_p, addl_ack_blocks, + addl_ack_blocks > VINT_MAX_ONE_BYTE, + 1 + (addl_ack_blocks > VINT_MAX_ONE_BYTE)); + + if (ecn_counts) + { + assert(ecn_needs <= (unsigned)AVAIL()); + for (ecn = 1; ecn <= 3; ++ecn) + { + vint_write(p, ecn_counts[ecnmap[ecn]], bits[ecnmap[ecn]], 1 << bits[ecnmap[ecn]]); + p += 1 << bits[ecnmap[ecn]]; + } + } + + *has_missing = addl_ack_blocks > 0; + *largest_received = maxno; + return p - (unsigned char *) outbuf; + +#undef CHECKOUT +#undef AVAIL +} + + +static size_t +ietf_v1_calc_stream_frame_header_sz (lsquic_stream_id_t stream_id, + uint64_t offset, unsigned data_sz) +{ + if (offset) + return 1 + + (1 << vint_val2bits(stream_id)) + + (1 << vint_val2bits(data_sz)) + + (1 << vint_val2bits(offset)); + else + return 1 + + (1 << vint_val2bits(data_sz)) + + (1 << vint_val2bits(stream_id)); +} + + +/* [draft-ietf-quic-transport-24] Section 19.6 */ +static size_t +ietf_v1_calc_crypto_frame_header_sz (uint64_t offset, unsigned data_sz) +{ + return 1 /* Frame type */ + + (1 << vint_val2bits(offset)) + + (1 << vint_val2bits(data_sz)) + ; +} + + +static enum quic_frame_type +ietf_v1_parse_frame_type (const unsigned char *buf, size_t len) +{ + uint64_t val; + int s; + + if (len > 0 && buf[0] < 0x40) + return lsquic_iquic_byte2type[buf[0]]; + + s = vint_read(buf, buf + len, &val); + if (s > 0 && (unsigned) s == (1u << vint_val2bits(val))) + switch (val) + { + case FRAME_TYPE_ACK_FREQUENCY: return QUIC_FRAME_ACK_FREQUENCY; + case FRAME_TYPE_TIMESTAMP: return QUIC_FRAME_TIMESTAMP; + default: break; + } + + return QUIC_FRAME_INVALID; +} + + +static unsigned +ietf_v1_path_chal_frame_size (void) +{ + return 1 + sizeof(uint64_t); +} + + +static int +ietf_v1_gen_path_chal_frame (unsigned char *buf, size_t len, uint64_t chal) +{ + if (len >= 1 + sizeof(chal)) + { + *buf = 0x1A; + memcpy(buf + 1, &chal, sizeof(chal)); + return 1 + sizeof(chal); + } + else + return -1; +} + + +static int +ietf_v1_parse_path_chal_frame (const unsigned char *buf, size_t len, + uint64_t *chal) +{ + if (len >= 9) + { + memcpy(chal, buf + 1, 8); + return 9; + } + else + return -1; +} + + +static unsigned +ietf_v1_path_resp_frame_size (void) +{ + return 1 + sizeof(uint64_t); +} + + +static int +ietf_v1_gen_path_resp_frame (unsigned char *buf, size_t len, uint64_t resp) +{ + if (len >= 1 + sizeof(resp)) + { + *buf = 0x1B; + memcpy(buf + 1, &resp, sizeof(resp)); + return 1 + sizeof(resp); + } + else + return -1; +} + + +static int +ietf_v1_parse_path_resp_frame (const unsigned char *buf, size_t len, + uint64_t *resp) +{ + return ietf_v1_parse_path_chal_frame(buf, len, resp); +} + + +static void +ietf_v1_turn_on_fin (unsigned char *stream_frame_header) +{ + *stream_frame_header |= 1; +} + + +static unsigned +ietf_v1_packno_bits2len (enum packno_bits bits) +{ + return iquic_packno_bits2len(bits); +} + + +static enum packno_bits +ietf_v1_calc_packno_bits (lsquic_packno_t packno, + lsquic_packno_t least_unacked, uint64_t n_in_flight) +{ + uint64_t delta; + unsigned bits; + + delta = packno - least_unacked; + if (n_in_flight > delta) + delta = n_in_flight; + + delta *= 4; + bits = (delta >= (1ULL << 8)) + + (delta >= (1ULL << 16)) + + (delta >= (1ULL << 24)) + ; + + return bits; +} + + +static int +ietf_v1_parse_one_varint (const unsigned char *buf, size_t len, uint64_t *val) +{ + int s; + + s = vint_read(buf + 1, buf + len, val); + if (s >= 0) + return 1 + s; + else + return s; +} + + +static int +ietf_v1_gen_one_varint (unsigned char *buf, size_t len, + unsigned char type, uint64_t val) +{ + unsigned vbits; + unsigned char *p; + + vbits = vint_val2bits(val); + + if (1u + (1u << vbits) > len) + return -1; + + p = buf; + *p++ = type; + vint_write(p, val, vbits, 1 << vbits); + p += 1 << vbits; + + return p - buf; +} + + +static int +ietf_v1_gen_blocked_frame (unsigned char *buf, size_t buf_len, uint64_t off) +{ + return ietf_v1_gen_one_varint(buf, buf_len, 0x14, off); +} + + +static int +ietf_v1_parse_blocked_frame (const unsigned char *buf, size_t sz, uint64_t *off) +{ + return ietf_v1_parse_one_varint(buf, sz, off); +} + + +static unsigned +ietf_v1_blocked_frame_size (uint64_t off) +{ + return 1 + vint_size(off); +} + + +static int +ietf_v1_parse_max_data (const unsigned char *buf, size_t len, uint64_t *val) +{ + return ietf_v1_parse_one_varint(buf, len, val); +} + + +static int +ietf_v1_gen_max_data_frame (unsigned char *buf, size_t len, uint64_t val) +{ + return ietf_v1_gen_one_varint(buf, len, 0x10, val); +} + + +static unsigned +ietf_v1_max_data_frame_size (uint64_t val) +{ + return 1 + vint_size(val); +} + + +static int +ietf_v1_parse_retire_cid_frame (const unsigned char *buf, size_t len, + uint64_t *val) +{ + return ietf_v1_parse_one_varint(buf, len, val); +} + + +static int +ietf_v1_gen_retire_cid_frame (unsigned char *buf, size_t len, uint64_t val) +{ + return ietf_v1_gen_one_varint(buf, len, 0x19, val); +} + + +static size_t +ietf_v1_retire_cid_frame_size (uint64_t val) +{ + return 1 + vint_size(val); +} + + +static int +ietf_v1_parse_new_conn_id (const unsigned char *buf, size_t len, + uint64_t *seqno, uint64_t *retire_prior_to, + lsquic_cid_t *cid, const unsigned char **reset_token) +{ + const unsigned char *p = buf + 1; + const unsigned char *const end = buf + len; + unsigned char cid_len; + int s; + + s = vint_read(p, end, seqno); + if (s < 0) + return s; + p += s; + + s = vint_read(p, end, retire_prior_to); + if (s < 0) + return s; + p += s; + + if (p >= end) + return -1; + + cid_len = *p++; + if (cid_len == 0 || cid_len > MAX_CID_LEN) + return -2; + + if ((unsigned) (end - p) < cid_len + IQUIC_SRESET_TOKEN_SZ) + return -1; + cid->len = cid_len; + memcpy(cid->idbuf, p, cid_len); + p += cid_len; + if (reset_token) + *reset_token = p; + p += IQUIC_SRESET_TOKEN_SZ; + + return p - buf; +} + + +/* Size of a frame that contains two varints */ +static unsigned +ietf_v1_two_varints_size (uint64_t vals[2]) +{ + unsigned vbits[2]; + + vbits[0] = vint_val2bits(vals[0]); + vbits[1] = vint_val2bits(vals[1]); + return 1u + (1u << vbits[0]) + (1u << vbits[1]); +} + + +static int +ietf_v1_gen_two_varints (unsigned char *buf, size_t len, + unsigned char type, uint64_t vals[2]) +{ + unsigned vbits[2]; + unsigned char *p; + + vbits[0] = vint_val2bits(vals[0]); + vbits[1] = vint_val2bits(vals[1]); + + if (1u + (1u << vbits[0]) + (1u << vbits[1]) > len) + return -1; + + p = buf; + *p++ = type; + vint_write(p, vals[0], vbits[0], 1 << vbits[0]); + p += 1 << vbits[0]; + vint_write(p, vals[1], vbits[1], 1 << vbits[1]); + p += 1 << vbits[1]; + + return p - buf; +} + + +static int +ietf_v1_parse_two_varints (const unsigned char *buf, size_t len, uint64_t *vals[2]) +{ + const unsigned char *p = buf; + const unsigned char *const end = p + len; + int s; + + if (len < 2) + return -1; + + ++p; /* Type */ + + s = vint_read(p, end, vals[0]); + if (s < 0) + return s; + p += s; + + s = vint_read(p, end, vals[1]); + if (s < 0) + return s; + p += s; + + return p - buf; +} + + +/* vals[0] is the frame type */ +static unsigned +ietf_v1_frame_with_varints_size (unsigned n, uint64_t vals[]) +{ + unsigned vbits, size; + + assert(n > 0); + vbits = vint_val2bits(vals[0]); + size = 1 << vbits; + while (--n) + { + vbits = vint_val2bits(vals[n]); + size += 1 << vbits; + } + + return size; +} + + +/* vals[0] is the frame type */ +static int +ietf_v1_gen_frame_with_varints (unsigned char *buf, size_t len, + unsigned count, uint64_t vals[]) +{ + unsigned vbits, n; + unsigned char *p; + + if (ietf_v1_frame_with_varints_size(count, vals) > len) + return -1; + + p = buf; + for (n = 0; n < count; ++n) + { + vbits = vint_val2bits(vals[n]); + vint_write(p, vals[n], vbits, 1 << vbits); + p += 1 << vbits; + } + + return p - buf; +} + + +/* Frame type is checked when frame type is parsed. The only use here is + * to calculate skip length. + */ +static int +ietf_v1_parse_frame_with_varints (const unsigned char *buf, size_t len, + const uint64_t frame_type, unsigned count, uint64_t *vals[]) +{ + const unsigned char *p = buf; + const unsigned char *const end = p + len; + unsigned vbits, n; + int s; + + vbits = vint_val2bits(frame_type); + p += 1 << vbits; + + for (n = 0; n < count; ++n) + { + s = vint_read(p, end, vals[n]); + if (s < 0) + return s; + p += s; + } + + return p - buf; +} + + + +static int +ietf_v1_parse_stream_blocked_frame (const unsigned char *buf, size_t len, + lsquic_stream_id_t *stream_id, uint64_t *offset) +{ + return ietf_v1_parse_two_varints(buf, len, + (uint64_t *[]) { stream_id, offset, }); +} + + +static unsigned +ietf_v1_stream_blocked_frame_size (lsquic_stream_id_t stream_id, uint64_t off) +{ + return ietf_v1_two_varints_size((uint64_t []) { stream_id, off, }); +} + + +static int +ietf_v1_gen_streams_blocked_frame (unsigned char *buf, size_t len, + enum stream_dir sd, uint64_t limit) +{ + return ietf_v1_gen_one_varint(buf, len, 0x16 + (sd == SD_UNI), limit); +} + + +static int +ietf_v1_parse_streams_blocked_frame (const unsigned char *buf, size_t len, + enum stream_dir *sd, uint64_t *limit) +{ + int s; + + s = ietf_v1_parse_one_varint(buf, len, limit); + if (s > 0) + { + if (buf[0] == 0x16) + *sd = SD_BIDI; + else + *sd = SD_UNI; + } + return s; +} + + +static unsigned +ietf_v1_streams_blocked_frame_size (uint64_t limit) +{ + return 1 + vint_size(limit); +} + + +static int +ietf_v1_gen_stream_blocked_frame (unsigned char *buf, size_t len, + lsquic_stream_id_t stream_id, uint64_t off) +{ + return ietf_v1_gen_two_varints(buf, len, 0x15, (uint64_t[]){ stream_id, off, }); +} + + +static int +ietf_v1_gen_max_stream_data_frame (unsigned char *buf, size_t len, + lsquic_stream_id_t stream_id, uint64_t off) +{ + return ietf_v1_gen_two_varints(buf, len, 0x11, (uint64_t[]){ stream_id, off, }); +} + + +static unsigned +ietf_v1_max_stream_data_frame_size (lsquic_stream_id_t stream_id, uint64_t off) +{ + return ietf_v1_two_varints_size((uint64_t []) { stream_id, off, }); +} + + + +static int +ietf_v1_parse_max_stream_data_frame (const unsigned char *buf, size_t len, + lsquic_stream_id_t *stream_id, uint64_t *off) +{ + return ietf_v1_parse_two_varints(buf, len, (uint64_t *[]){ stream_id, off, }); +} + + +static int +ietf_v1_parse_max_streams_frame (const unsigned char *buf, size_t len, + enum stream_dir *sd, uint64_t *max_streams) +{ + int s; + + s = ietf_v1_parse_one_varint(buf, len, max_streams); + if (s > 0) + *sd = buf[0] == 0x12 ? SD_BIDI : SD_UNI; + return s; +} + + +static int +ietf_v1_gen_max_streams_frame (unsigned char *buf, size_t len, + enum stream_dir sd, uint64_t limit) +{ + return ietf_v1_gen_one_varint(buf, len, 0x12 + (sd == SD_UNI), limit); +} + + +static unsigned +ietf_v1_max_streams_frame_size (uint64_t limit) +{ + return 1 + vint_size(limit); +} + + +static size_t +ietf_v1_new_token_frame_size (size_t token_sz) +{ + unsigned bits; + + bits = vint_val2bits(token_sz); + return 1 + (1 << bits) + token_sz; +} + + +static int +ietf_v1_gen_new_token_frame (unsigned char *buf, size_t buf_sz, + const unsigned char *token, size_t token_sz) +{ + unsigned char *p; + unsigned bits; + + bits = vint_val2bits(token_sz); + if (buf_sz < 1 + (1 << bits) + token_sz) + { + errno = ENOBUFS; + return -1; + } + + p = buf; + *p++ = 0x07; + vint_write(p, token_sz, bits, 1 << bits); + p += 1 << bits; + memcpy(p, token, token_sz); + p += token_sz; + + return p - buf; +} + + +static size_t +ietf_v1_new_connection_id_frame_size (unsigned seqno, unsigned scid_len) +{ + unsigned bits; + + bits = vint_val2bits(seqno); + return 1 /* Frame Type */ + + (1 << bits) /* Sequence Number */ + + 1 /* Retire Prior To (we always set it to zero */ + + 1 /* CID length */ + + scid_len + + IQUIC_SRESET_TOKEN_SZ; +} + + +static int +ietf_v1_gen_new_connection_id_frame (unsigned char *buf, size_t buf_sz, + unsigned seqno, const struct lsquic_cid *cid, + const unsigned char *token, size_t token_sz) +{ + unsigned char *p; + unsigned bits; + + if (buf_sz < ietf_v1_new_connection_id_frame_size(seqno, cid->len)) + return -1; + + p = buf; + *p++ = 0x18; + bits = vint_val2bits(seqno); + vint_write(p, seqno, bits, 1 << bits); + p += 1 << bits; + *p++ = 0; /* Retire Prior To */ + *p++ = cid->len; + memcpy(p, cid->idbuf, cid->len); + p += cid->len; + memcpy(p, token, token_sz); + p += token_sz; + + return p - buf; +} + + +/* [draft-ietf-quic-transport-17] Section-17.2 */ +static const enum header_type bits2ht[4] = +{ + [0] = HETY_INITIAL, + [1] = HETY_0RTT, + [2] = HETY_HANDSHAKE, + [3] = HETY_RETRY, +}; + + +static const enum header_type bits2ht_v2[4] = +{ + [0] = HETY_RETRY, + [1] = HETY_INITIAL, + [2] = HETY_0RTT, + [3] = HETY_HANDSHAKE, +}; + +#if LSQUIC_QIR +/* Return true if the parsing function is to enforce the minimum DCID + * length requirement as specified in IETF v1 and the I-Ds. + */ +static int +enforce_initial_dcil (enum lsquic_version version) +{ + return version != (enum lsquic_version) -1 + && ((1 << version) & LSQUIC_IETF_VERSIONS); +} +#endif + + +int +lsquic_ietf_v1_parse_packet_in_long_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + const unsigned char *p = packet_in->pi_data; + const unsigned char *const end = p + length; + enum header_type header_type; + unsigned dcil, scil; + int r; + unsigned char first_byte; + uint64_t payload_len, token_len; + + if (length < 6) + return -1; + first_byte = *p++; + if ((packet_in->pi_flags & PI_VER_PARSED) == 0) + { + packet_in->pi_version = lsquic_tag2ver_fast(p); + packet_in->pi_flags |= PI_VER_PARSED; + } + p += 4; + if (packet_in->pi_version != LSQVER_VERNEG) + { + if (packet_in->pi_version == LSQVER_I002) + header_type = bits2ht_v2[ (first_byte >> 4) & 3 ]; + else + header_type = bits2ht[ (first_byte >> 4) & 3 ]; + } + else + header_type = HETY_VERNEG; + + packet_in->pi_header_type = header_type; + + dcil = *p++; + if (p + dcil >= end || dcil > MAX_CID_LEN) + return -1; + if (dcil) + { + memcpy(packet_in->pi_dcid.idbuf, p, dcil); + packet_in->pi_flags |= PI_CONN_ID; + p += dcil; + } + packet_in->pi_dcid.len = dcil; + + scil = *p++; + if (p + scil > end || scil > MAX_CID_LEN) + return -1; + if (scil) + { + packet_in->pi_scid_off = p - packet_in->pi_data; + p += scil; + } + packet_in->pi_scid_len = scil; + + switch (header_type) + { + case HETY_INITIAL: +#if LSQUIC_QIR + if (!enforce_initial_dcil(packet_in->pi_version)) + { + /* Count even zero-length DCID as having DCID */ + packet_in->pi_flags |= PI_CONN_ID; + } + else +#endif + if (is_server && dcil < MIN_INITIAL_DCID_LEN) + return -1; + r = vint_read(p, end, &token_len); + if (r < 0) + return -1; + if (token_len && !is_server) + { + /* From [draft-ietf-quic-transport-14]: + * + * Token Length: A variable-length integer specifying the + * length of the Token field, in bytes. This value is zero + * if no token is present. Initial packets sent by the + * server MUST set the Token Length field to zero; clients + * that receive an Initial packet with a non-zero Token + * Length field MUST either discard the packet or generate + * a connection error of type PROTOCOL_VIOLATION. + */ + return -1; + } + p += r; + if (token_len) + { + if (token_len >= + 1ull << (sizeof(packet_in->pi_token_size) * 8)) + return -1; + if (p + token_len > end) + return -1; + packet_in->pi_token = p - packet_in->pi_data; + packet_in->pi_token_size = token_len; + p += token_len; + } + /* fall-through */ + case HETY_HANDSHAKE: + case HETY_0RTT: + if (p >= end) + return -1; + r = vint_read(p, end, &payload_len); + if (r < 0) + return -1; + p += r; + if (p - packet_in->pi_data + payload_len > length) + return -1; + length = p - packet_in->pi_data + payload_len; + if (end - p < 4) + return -1; + state->pps_p = p - r; + state->pps_nbytes = r; + packet_in->pi_quic_ver = 1; + break; + case HETY_RETRY: + if (p >= end) + return -1; + if (p + /* [draft-ietf-quic-transport-25] Section 17.2.5 says that "a + * client MUST discard a Retry packet with a zero-length Retry + * Token field." We might as well do it here. + */ + + 1 + /* Integrity tag length: */ + + 16 > end) + return -1; + packet_in->pi_token = p - packet_in->pi_data; + packet_in->pi_token_size = end - p - 16; + /* Tag validation happens later */ + p = end; + length = end - packet_in->pi_data; + state->pps_p = NULL; + state->pps_nbytes = 0; + packet_in->pi_quic_ver = 1; + break; + default: + assert(header_type == HETY_VERNEG); + if (p >= end || (3 & (uintptr_t) (end - p))) + return -1; + packet_in->pi_quic_ver = p - packet_in->pi_data; + p = end; + state->pps_p = NULL; + state->pps_nbytes = 0; + break; + } + + packet_in->pi_header_sz = p - packet_in->pi_data; + packet_in->pi_data_sz = length; + packet_in->pi_nonce = 0; + packet_in->pi_refcnt = 0; + packet_in->pi_frame_types = 0; + memset(&packet_in->pi_next, 0, sizeof(packet_in->pi_next)); + packet_in->pi_refcnt = 0; + packet_in->pi_received = 0; + + /* Packet number is set to an invalid value. The packet number must + * be decrypted, which happens later. + */ + packet_in->pi_packno = 1ULL << 62; + + return 0; +} + + +/* Is this a valid Initial packet? We take the perspective of the server. */ +int +lsquic_is_valid_ietf_v1_or_Q046plus_hs_packet (const unsigned char *buf, + size_t length, lsquic_ver_tag_t *tagp) +{ + const unsigned char *p = buf; + const unsigned char *const end = p + length; + lsquic_ver_tag_t tag; + enum header_type header_type; + unsigned dcil, scil; + int r; + unsigned char first_byte; + uint64_t payload_len, token_len, packet_len; + + if (length < 6) + return 0; + first_byte = *p++; + + if (*p != 0x6B) + header_type = bits2ht[ (first_byte >> 4) & 3 ]; + else + header_type = bits2ht_v2[ (first_byte >> 4) & 3 ]; + if (header_type != HETY_INITIAL) + return 0; + + memcpy(&tag, p, 4); + p += 4; + switch (tag) + { + case 0: + return 0; /* Client never sends version negotiation packets */ + case TAG('Q', '0', '4', '6'): + dcil = p[0] >> 4; + if (dcil) + dcil += 3; + scil = p[0] & 0xF; + if (scil) + scil += 3; + ++p; + + if (!(dcil == GQUIC_CID_LEN && scil == 0)) + return 0; + + packet_len = first_byte & 3; + + if (end - p < (ptrdiff_t) (dcil + scil + packet_len)) + return 0; + break; + case TAG('Q', '0', '5', '0'): + dcil = *p++; + if (dcil != 8) + return 0; + if (p + dcil + 1 >= end) + return 0; + p += dcil; + scil = *p++; + if (scil != 0) + return 0; + goto read_token; + default: + dcil = *p++; + if (dcil < MIN_INITIAL_DCID_LEN || dcil > MAX_CID_LEN) + return 0; + if (p + dcil >= end) + return 0; + p += dcil; + scil = *p++; + if (p + scil > end || scil > MAX_CID_LEN) + return 0; + p += scil; + read_token: + r = vint_read(p, end, &token_len); + if (r < 0) + return 0; + p += r; + p += token_len; + if (p >= end) + return 0; + r = vint_read(p, end, &payload_len); + if (r < 0) + return 0; + p += r; + if (p - buf + payload_len > length) + return 0; + if (end - p < 4) + return 0; + } + + *tagp = tag; + return 1; +} + + +int +lsquic_ietf_v1_parse_packet_in_short_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + unsigned char byte; + unsigned header_sz; + + /* By the time this function has been called, we know length is non-zero */ + byte = packet_in->pi_data[0]; + + /* [draft-ietf-quic-transport-17] Section 17.3 */ + /* 01SRRKPP */ + + if (cid_len) + { + header_sz = 1 + cid_len; + if (length < header_sz) + return -1; + memcpy(packet_in->pi_dcid.idbuf, packet_in->pi_data + 1, cid_len); + packet_in->pi_dcid.len = cid_len; + packet_in->pi_flags |= PI_CONN_ID; + } + else + header_sz = 1; + + packet_in->pi_flags |= ((byte & 0x20) > 0) << PIBIT_SPIN_SHIFT; + packet_in->pi_flags |= (byte & 3) << PIBIT_BITS_SHIFT; + + packet_in->pi_header_sz = header_sz; + packet_in->pi_data_sz = length; + packet_in->pi_quic_ver = 0; + packet_in->pi_nonce = 0; + packet_in->pi_refcnt = 0; + packet_in->pi_frame_types = 0; + memset(&packet_in->pi_next, 0, sizeof(packet_in->pi_next)); + packet_in->pi_refcnt = 0; + packet_in->pi_received = 0; + + /* This is so that Q046 works, ID-18 code does not use it */ + state->pps_p = packet_in->pi_data + header_sz; + state->pps_nbytes = 1 + (byte & 3); + + return 0; +} + + +#if __GNUC__ +# define popcount __builtin_popcount +#else +static int +popcount (unsigned v) +{ + int count, i; + for (i = 0, count = 0; i < sizeof(v) * 8; ++i) + if (v & (1 << i)) + ++count; + return count; +} +#endif + + +int +lsquic_ietf_v1_gen_ver_nego_pkt (unsigned char *buf, size_t bufsz, + const lsquic_cid_t *scid, const lsquic_cid_t *dcid, unsigned versions, + uint8_t rand) +{ + size_t need; + int r; + + need = 1 /* Type */ + 4 /* Version */ + 1 /* DCIL */ + + dcid->len + 1 /* SCIL */ + scid->len + popcount(versions) * 4; + + if (need > bufsz) + return -1; + + *buf++ = 0x80 | QUIC_BIT | rand; + memset(buf, 0, 4); + buf += 4; + + /* From [draft-ietf-quic-transport-22], Section 17.2.1: + * + * The server MUST include the value from the Source Connection ID field + * of the packet it receives in the Destination Connection ID field. + * The value for Source Connection ID MUST be copied from the + * Destination Connection ID of the received packet, which is initially + * randomly selected by a client. Echoing both connection IDs gives + * clients some assurance that the server received the packet and that + * the Version Negotiation packet was not generated by an off-path + * attacker. + */ + + *buf++ = dcid->len; + memcpy(buf, dcid->idbuf, dcid->len); + buf += dcid->len; + *buf++ = scid->len; + memcpy(buf, scid->idbuf, scid->len); + buf += scid->len; + + r = lsquic_gen_ver_tags(buf, bufsz - 1 - 4 - 2 - dcid->len - scid->len, + versions); + if (r < 0) + return -1; + assert((unsigned) r == popcount(versions) * 4u); + + return need; +} + + +static int +ietf_v1_gen_handshake_done_frame (unsigned char *buf, size_t buf_len) +{ + if (buf_len > 0) + { + *buf = 0x1E; + return 1; + } + else + return -1; +} + + +static int +ietf_v1_parse_handshake_done_frame (const unsigned char *buf, size_t buf_len) +{ + assert(buf[0] == 0x1E); + assert(buf_len > 0); + return 1; +} + + +static int +ietf_v1_gen_ack_frequency_frame (unsigned char *buf, size_t buf_len, + uint64_t seqno, uint64_t pack_tol, uint64_t upd_mad, int ignore) +{ + int sz; + + sz = ietf_v1_gen_frame_with_varints(buf, buf_len, 4, + (uint64_t[]){ FRAME_TYPE_ACK_FREQUENCY, seqno, pack_tol, upd_mad }); + if (sz > 0 && (size_t) sz < buf_len) + { + buf[sz++] = !!ignore; + return sz; + } + else + return -1; +} + + +static int +ietf_v1_parse_ack_frequency_frame (const unsigned char *buf, size_t buf_len, + uint64_t *seqno, uint64_t *pack_tol, uint64_t *upd_mad, int *ignore) +{ + int sz; + + sz = ietf_v1_parse_frame_with_varints(buf, buf_len, + FRAME_TYPE_ACK_FREQUENCY, + 3, (uint64_t *[]) { seqno, pack_tol, upd_mad }); + if (sz > 0 && (size_t) sz < buf_len && buf[sz] < 2) + { + *ignore = buf[sz++]; + return sz; + } + else + return -1; +} + + +static unsigned +ietf_v1_ack_frequency_frame_size (uint64_t seqno, uint64_t pack_tol, + uint64_t upd_mad) +{ + return 1 + ietf_v1_frame_with_varints_size(4, + (uint64_t[]){ FRAME_TYPE_ACK_FREQUENCY, seqno, pack_tol, upd_mad }); +} + + +static unsigned +ietf_v1_handshake_done_frame_size (void) +{ + return 1; +} + + +static int +ietf_v1_gen_timestamp_frame (unsigned char *buf, size_t buf_len, + uint64_t timestamp) +{ + return ietf_v1_gen_frame_with_varints(buf, buf_len, 2, + (uint64_t[]){ FRAME_TYPE_TIMESTAMP, timestamp }); +} + + +static int +ietf_v1_parse_timestamp_frame (const unsigned char *buf, size_t buf_len, + uint64_t *timestamp) +{ + return ietf_v1_parse_frame_with_varints(buf, buf_len, + FRAME_TYPE_TIMESTAMP, 1, (uint64_t *[]) { timestamp }); +} + + +static int +ietf_v1_parse_datagram_frame (const unsigned char *buf, size_t buf_len, + const void **data, size_t *data_len) +{ + uint64_t len; + int s; + + /* Length and frame type have been checked already */ + assert(buf_len > 0); + assert(buf[0] == 0x30 || buf[0] == 0x31); + + if (buf[0] & 1) + { + s = vint_read(buf + 1, buf + buf_len, &len); + if (s > 0 && 1 + s + len <= buf_len) + { + *data = buf + 1 + s; + *data_len = len; + return 1 + s + len; + } + else + return -1; + } + else + { + *data = buf + 1; + *data_len = buf_len - 1; + return buf_len; + } +} + + +static unsigned +ietf_v1_datagram_frame_size (size_t sz) +{ + return 1u + vint_size(sz) + sz; +} + + +static int +ietf_v1_gen_datagram_frame (unsigned char *buf, size_t bufsz, size_t min_sz, + size_t max_sz, + ssize_t (*user_callback)(struct lsquic_conn *, void *, size_t), + struct lsquic_conn *lconn) +{ + unsigned bits, len_sz; + ssize_t nw; + + /* We always generate length. A more efficient implementation would + * complicate the API. + */ + if (min_sz) + bits = vint_val2bits(min_sz); + else + bits = vint_val2bits(bufsz); + len_sz = 1u << bits; + + if (1 + len_sz + min_sz > bufsz) + { + errno = ENOBUFS; + return -1; + } + + nw = user_callback(lconn, buf + 1 + len_sz, min_sz ? min_sz + : MIN(bufsz - 1 - len_sz, max_sz)); + if (nw >= 0) + { + buf[0] = 0x31; + vint_write(&buf[1], (uint64_t) nw, bits, len_sz); + return 1 + len_sz + nw; + } + else + return -1; +} + + +const struct parse_funcs lsquic_parse_funcs_ietf_v1 = +{ + .pf_gen_reg_pkt_header = ietf_v1_gen_reg_pkt_header, + .pf_parse_packet_in_finish = ietf_v1_parse_packet_in_finish, + .pf_gen_stream_frame = ietf_v1_gen_stream_frame, + .pf_calc_stream_frame_header_sz = ietf_v1_calc_stream_frame_header_sz, + .pf_parse_stream_frame = ietf_v1_parse_stream_frame, + .pf_dec_stream_frame_size = ietf_v1_dec_stream_frame_size, + .pf_parse_ack_frame = ietf_v1_parse_ack_frame, + .pf_gen_ack_frame = ietf_v1_gen_ack_frame, + .pf_gen_blocked_frame = ietf_v1_gen_blocked_frame, + .pf_parse_blocked_frame = ietf_v1_parse_blocked_frame, + .pf_blocked_frame_size = ietf_v1_blocked_frame_size, + .pf_rst_frame_size = ietf_v1_rst_frame_size, + .pf_gen_rst_frame = ietf_v1_gen_rst_frame, + .pf_parse_rst_frame = ietf_v1_parse_rst_frame, + .pf_connect_close_frame_size = ietf_v1_connect_close_frame_size, + .pf_gen_connect_close_frame = ietf_v1_gen_connect_close_frame, + .pf_parse_connect_close_frame = ietf_v1_parse_connect_close_frame, + .pf_gen_ping_frame = ietf_v1_gen_ping_frame, + .pf_parse_frame_type = ietf_v1_parse_frame_type, + .pf_turn_on_fin = ietf_v1_turn_on_fin, + .pf_packout_size = ietf_v1_packout_size, + .pf_packout_max_header_size = ietf_v1_packout_max_header_size, + .pf_path_chal_frame_size = ietf_v1_path_chal_frame_size, + .pf_parse_path_chal_frame = ietf_v1_parse_path_chal_frame, + .pf_gen_path_chal_frame = ietf_v1_gen_path_chal_frame, + .pf_path_resp_frame_size = ietf_v1_path_resp_frame_size, + .pf_gen_path_resp_frame = ietf_v1_gen_path_resp_frame, + .pf_parse_path_resp_frame = ietf_v1_parse_path_resp_frame, + .pf_calc_packno_bits = ietf_v1_calc_packno_bits, + .pf_packno_bits2len = ietf_v1_packno_bits2len, + .pf_gen_crypto_frame = ietf_v1_gen_crypto_frame, + .pf_parse_crypto_frame = ietf_v1_parse_crypto_frame, + .pf_calc_crypto_frame_header_sz = ietf_v1_calc_crypto_frame_header_sz, + .pf_parse_max_data = ietf_v1_parse_max_data, + .pf_gen_max_data_frame = ietf_v1_gen_max_data_frame, + .pf_max_data_frame_size = ietf_v1_max_data_frame_size, + .pf_parse_new_conn_id = ietf_v1_parse_new_conn_id, + .pf_gen_stream_blocked_frame = ietf_v1_gen_stream_blocked_frame, + .pf_parse_stream_blocked_frame = ietf_v1_parse_stream_blocked_frame, + .pf_stream_blocked_frame_size = ietf_v1_stream_blocked_frame_size, + .pf_gen_max_stream_data_frame = ietf_v1_gen_max_stream_data_frame, + .pf_parse_max_stream_data_frame = ietf_v1_parse_max_stream_data_frame, + .pf_max_stream_data_frame_size = ietf_v1_max_stream_data_frame_size, + .pf_parse_stop_sending_frame = ietf_v1_parse_stop_sending_frame, + .pf_gen_stop_sending_frame = ietf_v1_gen_stop_sending_frame, + .pf_stop_sending_frame_size = ietf_v1_stop_sending_frame_size, + .pf_parse_new_token_frame = ietf_v1_parse_new_token_frame, + .pf_new_connection_id_frame_size = ietf_v1_new_connection_id_frame_size, + .pf_gen_new_connection_id_frame = ietf_v1_gen_new_connection_id_frame, + .pf_new_token_frame_size = ietf_v1_new_token_frame_size, + .pf_gen_new_token_frame = ietf_v1_gen_new_token_frame, + .pf_parse_retire_cid_frame = ietf_v1_parse_retire_cid_frame, + .pf_gen_retire_cid_frame = ietf_v1_gen_retire_cid_frame, + .pf_retire_cid_frame_size = ietf_v1_retire_cid_frame_size, + .pf_gen_streams_blocked_frame = ietf_v1_gen_streams_blocked_frame, + .pf_parse_streams_blocked_frame = ietf_v1_parse_streams_blocked_frame, + .pf_streams_blocked_frame_size = ietf_v1_streams_blocked_frame_size, + .pf_gen_max_streams_frame = ietf_v1_gen_max_streams_frame, + .pf_parse_max_streams_frame = ietf_v1_parse_max_streams_frame, + .pf_max_streams_frame_size = ietf_v1_max_streams_frame_size, + .pf_gen_handshake_done_frame = ietf_v1_gen_handshake_done_frame, + .pf_parse_handshake_done_frame = ietf_v1_parse_handshake_done_frame, + .pf_handshake_done_frame_size = ietf_v1_handshake_done_frame_size, + .pf_gen_ack_frequency_frame = ietf_v1_gen_ack_frequency_frame, + .pf_parse_ack_frequency_frame = ietf_v1_parse_ack_frequency_frame, + .pf_ack_frequency_frame_size = ietf_v1_ack_frequency_frame_size, + .pf_gen_timestamp_frame = ietf_v1_gen_timestamp_frame, + .pf_parse_timestamp_frame = ietf_v1_parse_timestamp_frame, + .pf_parse_datagram_frame = ietf_v1_parse_datagram_frame, + .pf_gen_datagram_frame = ietf_v1_gen_datagram_frame, + .pf_datagram_frame_size = ietf_v1_datagram_frame_size, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_parse_iquic_common.c b/external/lsquic/src/liblsquic/lsquic_parse_iquic_common.c new file mode 100644 index 0000000..d7a77cc --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_parse_iquic_common.c @@ -0,0 +1,452 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Parsing routines shared by all IETF QUIC versions. + */ + +#include +#include +#include +#include +#include +#include + +#include + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_parse_common.h" +#include "lsquic_parse.h" +#include "lsquic_version.h" +#include "lsquic.h" +#include "lsquic_logger.h" +#include "lsquic_byteswap.h" +#include "lsquic_varint.h" +#include "lsquic_enc_sess.h" +#include "lsquic_tokgen.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_ietf.h" + + +/* [draft-ietf-quic-transport-17] Section-17.2 */ +static const enum header_type bits2ht[4] = +{ + [0] = HETY_INITIAL, + [1] = HETY_0RTT, + [2] = HETY_HANDSHAKE, + [3] = HETY_RETRY, +}; + + +int +lsquic_Q046_parse_packet_in_long_begin (struct lsquic_packet_in *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + const unsigned char *p = packet_in->pi_data; + const unsigned char *const end = p + length; + lsquic_ver_tag_t tag; + enum header_type header_type; + unsigned dcil, scil, packet_len; + int verneg; + unsigned char first_byte; + lsquic_packno_t packno; + + if (length < 6) + return -1; + first_byte = *p++; + + memcpy(&tag, p, 4); + p += 4; + verneg = 0 == tag; + if (!verneg) + header_type = bits2ht[ (first_byte >> 4) & 3 ]; + else + header_type = HETY_VERNEG; + + packet_in->pi_header_type = header_type; + + dcil = p[0] >> 4; + if (dcil) + dcil += 3; + scil = p[0] & 0xF; + if (scil) + scil += 3; + ++p; + + /* Chromium comments state that the client sends packets with destination + * CID of 8 bytes and source CID of 0 bytes and the server does it the + * other way around. + */ + if (is_server) + { + if (!(dcil == cid_len && scil == 0)) + return -1; + } + else + if (!(dcil == 0 && scil == cid_len)) + return -1; + + if (!verneg) + { + packet_in->pi_flags |= (first_byte & 3) << PIBIT_BITS_SHIFT; + packet_len = 1 + (first_byte & 3); + if (end - p < (ptrdiff_t) (dcil + scil + packet_len)) + return -1; + } + else + { + /* Need at least one version in the version array: add 4 */ + if (end - p < (ptrdiff_t) (dcil + scil + 4)) + return -1; +#ifdef WIN32 + /* Useless initialization: */ + packet_len = 0; +#endif + } + + memcpy(&packet_in->pi_dcid.idbuf, p, cid_len); + packet_in->pi_dcid.len = cid_len; + p += cid_len; + packet_in->pi_flags |= PI_CONN_ID; + + if (!verneg) + { + READ_UINT(packno, 64, p, packet_len); + packet_in->pi_packno = packno; + p += packet_len; + packet_in->pi_quic_ver = 1; + if (is_server || HETY_0RTT != header_type) + packet_in->pi_nonce = 0; + else + { + packet_in->pi_nonce = p - packet_in->pi_data; + p += 32; + } + } + else + { + if (p >= end || (3 & (uintptr_t) (end - p))) + return -1; + packet_in->pi_quic_ver = p - packet_in->pi_data; + p = end; + } + + packet_in->pi_header_sz = p - packet_in->pi_data; + packet_in->pi_frame_types = 0; + packet_in->pi_data_sz = length; + packet_in->pi_refcnt = 0; + packet_in->pi_received = 0; + + return 0; +} + + +int +lsquic_Q046_parse_packet_in_short_begin (lsquic_packet_in_t *packet_in, + size_t length, int is_server, unsigned cid_len, + struct packin_parse_state *state) +{ + const unsigned char *p = packet_in->pi_data; + const unsigned char *const pend = packet_in->pi_data + length; + unsigned packet_len, header_len; + lsquic_packno_t packno; + + if (*p & 0x40) /* Q046 and higher */ + packet_len = 1 + (*p & 3); + else + return -1; + + if (is_server) + header_len = 1 + cid_len + packet_len; + else + header_len = 1 + packet_len; + + if (pend - p < (ptrdiff_t) header_len) + return -1; + + packet_in->pi_flags |= (*p & 3) << PIBIT_BITS_SHIFT; + ++p; + if (is_server) + { + memcpy(packet_in->pi_dcid.idbuf, packet_in->pi_data + 1, cid_len); + packet_in->pi_dcid.len = cid_len; + packet_in->pi_flags |= PI_CONN_ID; + p += cid_len; + } + + READ_UINT(packno, 64, p, packet_len); + packet_in->pi_packno = packno; + p += packet_len; + + packet_in->pi_header_type = HETY_SHORT; + packet_in->pi_quic_ver = 0; + packet_in->pi_nonce = 0; + packet_in->pi_header_sz = p - packet_in->pi_data; + packet_in->pi_frame_types = 0; + packet_in->pi_data_sz = length; + packet_in->pi_refcnt = 0; + packet_in->pi_received = 0; + + return 0; +} + + +/* This is a bare-bones version of lsquic_Q046_parse_packet_in_long_begin() + */ +int +lsquic_is_valid_iquic_hs_packet (const unsigned char *buf, size_t length, + lsquic_ver_tag_t *tagp) +{ + const unsigned char *p = buf; + const unsigned char *const end = p + length; + lsquic_ver_tag_t tag; + unsigned dcil, scil, packet_len; + unsigned char first_byte; + const unsigned cid_len = 8; + + if (length < 6) + return 0; + first_byte = *p++; + + memcpy(&tag, p, 4); + p += 4; + if (0 == tag) + return 0; /* Client never sends version negotiation */ + + dcil = p[0] >> 4; + if (dcil) + dcil += 3; + scil = p[0] & 0xF; + if (scil) + scil += 3; + ++p; + + if (!(dcil == cid_len && scil == 0)) + return 0; + + packet_len = first_byte & 3; + + if (end - p >= (ptrdiff_t) (dcil + scil + packet_len)) + { + *tagp = tag; + return 1; + } + else + return 0; +} + + +const enum quic_frame_type lsquic_iquic_byte2type[0x40] = +{ + [0x00] = QUIC_FRAME_PADDING, + [0x01] = QUIC_FRAME_PING, + [0x02] = QUIC_FRAME_ACK, + [0x03] = QUIC_FRAME_ACK, + [0x04] = QUIC_FRAME_RST_STREAM, + [0x05] = QUIC_FRAME_STOP_SENDING, + [0x06] = QUIC_FRAME_CRYPTO, + [0x07] = QUIC_FRAME_NEW_TOKEN, + [0x08] = QUIC_FRAME_STREAM, + [0x09] = QUIC_FRAME_STREAM, + [0x0A] = QUIC_FRAME_STREAM, + [0x0B] = QUIC_FRAME_STREAM, + [0x0C] = QUIC_FRAME_STREAM, + [0x0D] = QUIC_FRAME_STREAM, + [0x0E] = QUIC_FRAME_STREAM, + [0x0F] = QUIC_FRAME_STREAM, + [0x10] = QUIC_FRAME_MAX_DATA, + [0x11] = QUIC_FRAME_MAX_STREAM_DATA, + [0x12] = QUIC_FRAME_MAX_STREAMS, + [0x13] = QUIC_FRAME_MAX_STREAMS, + [0x14] = QUIC_FRAME_BLOCKED, + [0x15] = QUIC_FRAME_STREAM_BLOCKED, + [0x16] = QUIC_FRAME_STREAMS_BLOCKED, + [0x17] = QUIC_FRAME_STREAMS_BLOCKED, + [0x18] = QUIC_FRAME_NEW_CONNECTION_ID, + [0x19] = QUIC_FRAME_RETIRE_CONNECTION_ID, + [0x1A] = QUIC_FRAME_PATH_CHALLENGE, + [0x1B] = QUIC_FRAME_PATH_RESPONSE, + [0x1C] = QUIC_FRAME_CONNECTION_CLOSE, + [0x1D] = QUIC_FRAME_CONNECTION_CLOSE, + [0x1E] = QUIC_FRAME_HANDSHAKE_DONE, + [0x1F] = QUIC_FRAME_INVALID, + [0x20] = QUIC_FRAME_INVALID, + [0x21] = QUIC_FRAME_INVALID, + [0x22] = QUIC_FRAME_INVALID, + [0x23] = QUIC_FRAME_INVALID, + [0x24] = QUIC_FRAME_INVALID, + [0x25] = QUIC_FRAME_INVALID, + [0x26] = QUIC_FRAME_INVALID, + [0x27] = QUIC_FRAME_INVALID, + [0x28] = QUIC_FRAME_INVALID, + [0x29] = QUIC_FRAME_INVALID, + [0x2A] = QUIC_FRAME_INVALID, + [0x2B] = QUIC_FRAME_INVALID, + [0x2C] = QUIC_FRAME_INVALID, + [0x2D] = QUIC_FRAME_INVALID, + [0x2E] = QUIC_FRAME_INVALID, + [0x2F] = QUIC_FRAME_INVALID, + [0x30] = QUIC_FRAME_DATAGRAM, + [0x31] = QUIC_FRAME_DATAGRAM, + [0x32] = QUIC_FRAME_INVALID, + [0x33] = QUIC_FRAME_INVALID, + [0x34] = QUIC_FRAME_INVALID, + [0x35] = QUIC_FRAME_INVALID, + [0x36] = QUIC_FRAME_INVALID, + [0x37] = QUIC_FRAME_INVALID, + [0x38] = QUIC_FRAME_INVALID, + [0x39] = QUIC_FRAME_INVALID, + [0x3A] = QUIC_FRAME_INVALID, + [0x3B] = QUIC_FRAME_INVALID, + [0x3C] = QUIC_FRAME_INVALID, + [0x3D] = QUIC_FRAME_INVALID, + [0x3E] = QUIC_FRAME_INVALID, + [0x3F] = QUIC_FRAME_INVALID, +}; + + +#if __GNUC__ +# define popcount __builtin_popcount +#else +static int +popcount (unsigned v) +{ + int count, i; + for (i = 0, count = 0; i < sizeof(v) * 8; ++i) + if (v & (1 << i)) + ++count; + return count; +} +#endif + + +int +lsquic_Q046_gen_ver_nego_pkt (unsigned char *buf, size_t bufsz, + const lsquic_cid_t *scid, const lsquic_cid_t *dcid, unsigned versions, + uint8_t rand) +{ + unsigned slen, dlen; + size_t need; + int r; + + need = 1 /* Type */ + 4 /* Packet number */ + 1 /* SCIL */ + + scid->len + dcid->len + popcount(versions) * 4; + + if (need > bufsz) + return -1; + + *buf++ = 0x80 | 0x40 | rand; + memset(buf, 0, 4); + buf += 4; + + /* From [draft-ietf-quic-transport-11], Section 4.3: + * + * The server MUST include the value from the Source Connection ID field + * of the packet it receives in the Destination Connection ID field. + * The value for Source Connection ID MUST be copied from the + * Destination Connection ID of the received packet, which is initially + * randomly selected by a client. Echoing both connection IDs gives + * clients some assurance that the server received the packet and that + * the Version Negotiation packet was not generated by an off-path + * attacker. + */ + + dlen = dcid->len; + if (dlen) + dlen -= 3; + slen = scid->len; + if (slen) + slen -= 3; + *buf++ = (dlen << 4) | slen; + + memcpy(buf, dcid->idbuf, dcid->len); + buf += dcid->len; + memcpy(buf, scid->idbuf, scid->len); + buf += scid->len; + + r = lsquic_gen_ver_tags(buf, bufsz - 1 - 4 - 1 - dcid->len - scid->len, + versions); + if (r < 0) + return -1; + assert((unsigned) r == popcount(versions) * 4u); + + return need; +} + + +int +lsquic_iquic_gen_retry_pkt (unsigned char *buf, size_t bufsz, + const struct lsquic_engine_public *enpub, + const lsquic_cid_t *scid, const lsquic_cid_t *dcid, + enum lsquic_version version, const struct sockaddr *sockaddr, + uint8_t random_nybble) +{ + struct token_generator *const tokgen = enpub->enp_tokgen; + const unsigned our_scid_len = enpub->enp_settings.es_scid_len; + unsigned char *const end = buf + bufsz; + unsigned char *p = buf; + lsquic_ver_tag_t ver_tag; + size_t ad_len, out_len; + unsigned ret_ver; + ssize_t sz; +#define INTEGRITY_TAG_LEN 16 + + /* [draft-ietf-quic-tls-25] Section 5.8 specifies the layout of the + * Retry Pseudo-Packet: + */ + unsigned char ad_buf[ + 1 + MAX_CID_LEN /* ODCID */ + + 1 + 4 /* Type and version */ + + 1 + MAX_CID_LEN /* DCID */ + + 1 + MAX_CID_LEN /* SCID */ + + MAX_RETRY_TOKEN_LEN /* Retry token */ + ]; + + unsigned char tag[INTEGRITY_TAG_LEN]; + + /* See [draft-ietf-quic-transport-25], Section 17.2.5 */ + + if (bufsz < 1 + sizeof(ver_tag) + 1 + our_scid_len + 1 + dcid->len + + MAX_RETRY_TOKEN_LEN + INTEGRITY_TAG_LEN) + return -1; + + p = ad_buf; + *p++ = dcid->len; + memcpy(p, dcid->idbuf, dcid->len); + p += dcid->len; + *p++ = 0xC0 + | (3 << 4) + | random_nybble + ; + ver_tag = lsquic_ver2tag(version); + memcpy(p, &ver_tag, sizeof(ver_tag)); + p += sizeof(ver_tag); + + *p++ = scid->len; + memcpy(p, scid->idbuf, scid->len); + p += scid->len; + *p++ = our_scid_len; + enpub->enp_generate_scid(enpub->enp_gen_scid_ctx, NULL, p, our_scid_len); + p += our_scid_len; + sz = lsquic_tg_generate_retry(tokgen, p, end - p, + p - our_scid_len, our_scid_len, sockaddr, dcid); + if (sz < 0) + return -1; + p += sz; + ad_len = p - ad_buf; + + ret_ver = lsquic_version_2_retryver(version); + out_len = sizeof(tag); + if (!(1 == EVP_AEAD_CTX_seal(&enpub->enp_retry_aead_ctx[ret_ver], tag, + &out_len, out_len, lsquic_retry_nonce_buf[ret_ver], + IETF_RETRY_NONCE_SZ, + NULL, 0, ad_buf, ad_len) && out_len == sizeof(tag))) + return -1; + + memcpy(buf, ad_buf + 1 + dcid->len, ad_len - 1 - dcid->len); + memcpy(buf + ad_len - 1 - dcid->len, tag, sizeof(tag)); + return ad_len - 1 - dcid->len + sizeof(tag); +} diff --git a/external/lsquic/src/liblsquic/lsquic_pr_queue.c b/external/lsquic/src/liblsquic/lsquic_pr_queue.c new file mode 100644 index 0000000..6e5c3f8 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_pr_queue.c @@ -0,0 +1,693 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_pr_queue.c -- packet request queue. + */ + +#include +#include +#include +#include +#include +#include + +#ifndef WIN32 +#include +#include +#endif + +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_gquic.h" +#include "lsquic_packet_out.h" +#include "lsquic_packet_in.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_parse.h" +#include "lsquic_malo.h" +#include "lsquic_pr_queue.h" +#include "lsquic_parse_common.h" +#include "lsquic_tokgen.h" +#include "lsquic_version.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_sizes.h" +#include "lsquic_handshake.h" +#include "lsquic_rapidhash.h" +#include "lsquic_crand.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PRQ +#include "lsquic_logger.h" + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + + +static const struct conn_iface evanescent_conn_iface; + + +struct packet_req +{ + struct lsquic_hash_elem pr_hash_el; + lsquic_cid_t pr_scid; + lsquic_cid_t pr_dcid; + enum packet_req_type pr_type; + enum pr_flags { + PR_GQUIC = 1 << 0, + } pr_flags; + enum lsquic_version pr_version; + unsigned pr_rst_sz; + struct network_path pr_path; +}; + + +struct evanescent_conn +{ + struct lsquic_conn evc_conn; + struct packet_req *evc_req; + struct pr_queue *evc_queue; + struct lsquic_packet_out evc_packet_out; + struct conn_cid_elem evc_cces[1]; + enum { + EVC_DROP = 1 << 0, + } evc_flags; + unsigned char evc_buf[0]; +}; + + +/* [draft-ietf-quic-transport-22], Section 17.2.1 */ +#define IQUIC_VERNEG_SIZE (1 /* Type */ + 4 /* Version (zero tag) */ \ + + 1 /* DCIL */ + MAX_CID_LEN + 1 /* SCIL */ + MAX_CID_LEN + \ + 4 * N_LSQVER) + +/* [draft-ietf-quic-transport-22], Section 17.2.5 */ +#define IQUIC_RETRY_SIZE (1 /* Type */ + 4 /* Version */ + \ + + 1 /* DCIL */ + MAX_CID_LEN + 1 /* SCIL */ + MAX_CID_LEN + \ + + 1 /* ODCIL */ + MAX_CID_LEN + MAX_RETRY_TOKEN_LEN) + +/* GQUIC retry is dynamically size, this is a reasonable high bound */ +#define GQUIC_RETRY_SIZE 512 + +struct pr_queue +{ + TAILQ_HEAD(, lsquic_conn) prq_free_conns, + prq_returned_conns; + struct malo *prq_reqs_pool; + const struct lsquic_engine_public + *prq_enpub; + struct lsquic_hash *prq_reqs_hash; + unsigned prq_max_reqs; + unsigned prq_nreqs; + unsigned prq_max_conns; + unsigned prq_nconns; + unsigned prq_verneg_g_sz; /* Size of prq_verneg_g_buf */ + unsigned prq_pubres_g_sz; /* Size of prq_pubres_g_buf */ + + /* GQUIC version negotiation and stateless reset packets are generated + * once, when the Packet Request Queue is created. For each request, + * these buffers are simply copied and the connection ID is replaced. + * + * Since IETF QUIC uses variable-length connections IDs, we have to + * generate packets every time. + */ + unsigned char prq_pubres_g_buf[GQUIC_RESET_SZ]; + unsigned char prq_verneg_g_buf[1 + GQUIC_CID_LEN + + N_LSQVER * 4]; +}; + + +static int +comp_reqs (const void *s1, const void *s2, size_t n) +{ + const struct packet_req *a, *b; + + a = s1; + b = s2; + if (a->pr_type == b->pr_type && LSQUIC_CIDS_EQ(&a->pr_dcid, &b->pr_dcid)) + return 0; + else + return -1; +} + + +static uint64_t +hash_req (const void *p, size_t len, uint64_t seed) +{ + const struct packet_req *req; + + req = p; + return rapidhash_withSeed(req->pr_dcid.idbuf, req->pr_dcid.len, seed); +} + + +struct pr_queue * +lsquic_prq_create (unsigned max_elems, unsigned max_conns, + const struct lsquic_engine_public *enpub) +{ + const struct parse_funcs *pf; + struct pr_queue *prq; + struct malo *malo; + struct lsquic_hash *hash; + unsigned verneg_g_sz; + ssize_t prst_g_sz; + int len; + + malo = lsquic_malo_create(sizeof(struct packet_req)); + if (!malo) + { + LSQ_WARN("malo_create failed: %s", strerror(errno)); + goto err0; + } + + + hash = lsquic_hash_create_ext(comp_reqs, hash_req); + if (!hash) + { + LSQ_WARN("cannot create hash"); + goto err1; + } + + prq = malloc(sizeof(*prq)); + if (!prq) + { + LSQ_WARN("malloc failed: %s", strerror(errno)); + goto err2; + } + + const lsquic_cid_t cid = { .len = 8, }; + pf = select_pf_by_ver(LSQVER_043); + len = lsquic_gquic_gen_ver_nego_pkt(prq->prq_verneg_g_buf, + sizeof(prq->prq_verneg_g_buf), &cid, + enpub->enp_settings.es_versions); + assert(len > 0); + if (len <= 0) + { + LSQ_ERROR("cannot generate version negotiation packet"); + goto err3; + } + verneg_g_sz = (unsigned) len; + + prst_g_sz = pf->pf_generate_simple_prst(0 /* This is just placeholder */, + prq->prq_pubres_g_buf, sizeof(prq->prq_pubres_g_buf)); + if (prst_g_sz < 0) + { + LSQ_ERROR("cannot generate public reset packet"); + goto err3; + } + + TAILQ_INIT(&prq->prq_free_conns); + TAILQ_INIT(&prq->prq_returned_conns); + prq->prq_reqs_hash = hash; + prq->prq_reqs_pool = malo; + prq->prq_max_reqs = max_elems; + prq->prq_nreqs = 0; + prq->prq_max_conns = max_conns; + prq->prq_nconns = 0; + prq->prq_verneg_g_sz = verneg_g_sz; + prq->prq_pubres_g_sz = (unsigned) prst_g_sz; + prq->prq_enpub = enpub; + + LSQ_INFO("initialized queue of size %d", max_elems); + + return prq; + + err3: + free(prq); + err2: + lsquic_hash_destroy(hash); + err1: + lsquic_malo_destroy(malo); + err0: + return NULL; +} + + +void +lsquic_prq_destroy (struct pr_queue *prq) +{ + struct lsquic_conn *conn; + + LSQ_INFO("destroy"); + while ((conn = TAILQ_FIRST(&prq->prq_free_conns))) + { + TAILQ_REMOVE(&prq->prq_free_conns, conn, cn_next_pr); + free(conn); + } + lsquic_hash_destroy(prq->prq_reqs_hash); + lsquic_malo_destroy(prq->prq_reqs_pool); + free(prq); +} + + +static struct packet_req * +get_req (struct pr_queue *prq) +{ + struct packet_req *req; + if (prq->prq_nreqs < prq->prq_max_reqs) + { + req = lsquic_malo_get(prq->prq_reqs_pool); + if (req) + ++prq->prq_nreqs; + else + LSQ_WARN("malo_get failed: %s", strerror(errno)); + return req; + } + else + return NULL; +} + + +static void +put_req (struct pr_queue *prq, struct packet_req *req) +{ + lsquic_malo_put(req); + --prq->prq_nreqs; +} + + +int +lsquic_prq_new_req_ext (struct pr_queue *prq, enum packet_req_type type, + unsigned flags, enum lsquic_version version, unsigned short data_sz, + const lsquic_cid_t *dcid, const lsquic_cid_t *scid, void *peer_ctx, + const struct sockaddr *local_addr, const struct sockaddr *peer_addr) +{ + struct packet_req *req; + unsigned max, size, rand; + + if (type == PACKET_REQ_PUBRES && !(flags & PR_GQUIC)) + { + if (data_sz <= IQUIC_MIN_SRST_SIZE) + { + LSQ_DEBUGC("not scheduling public reset: incoming packet for CID " + "%"CID_FMT" too small: %hu bytes", CID_BITS(dcid), data_sz); + return -1; + } + /* Use a random stateless reset size */ + max = MIN(IQUIC_MAX_SRST_SIZE, data_sz - 1u); + if (max > IQUIC_MIN_SRST_SIZE) + { + rand = lsquic_crand_get_byte(prq->prq_enpub->enp_crand); + size = IQUIC_MIN_SRST_SIZE + rand % (max - IQUIC_MIN_SRST_SIZE); + } + else + size = IQUIC_MIN_SRST_SIZE; + LSQ_DEBUGC("selected %u-byte reset size for CID %"CID_FMT + " (range is [%u, %u])", size, CID_BITS(dcid), + IQUIC_MIN_SRST_SIZE, max); + } + else + size = 0; + + req = get_req(prq); + if (!req) + { + LSQ_DEBUG("out of reqs: cannot allocated another one"); + return -1; + } + + req->pr_type = type; + req->pr_dcid = *dcid; + if (lsquic_hash_find(prq->prq_reqs_hash, req, sizeof(*req))) + { + LSQ_DEBUG("request for this DCID and type already exists"); + put_req(prq, req); + return -1; + } + + req->pr_hash_el.qhe_flags = 0; + if (!lsquic_hash_insert(prq->prq_reqs_hash, req, sizeof(*req), + req, &req->pr_hash_el)) + { + LSQ_DEBUG("could not insert req into hash"); + put_req(prq, req); + return -1; + } + + req->pr_flags = flags; + req->pr_rst_sz = size; + req->pr_version = version; + req->pr_scid = *scid; + req->pr_path.np_peer_ctx = peer_ctx; + memcpy(req->pr_path.np_local_addr, local_addr, + sizeof(req->pr_path.np_local_addr)); + memcpy(NP_PEER_SA(&req->pr_path), peer_addr, + sizeof(req->pr_path.np_peer_addr)); + + LSQ_DEBUGC("scheduled %s packet for connection %"CID_FMT, + lsquic_preqt2str[type], CID_BITS(&req->pr_dcid)); + return 0; +} + + +int +lsquic_prq_new_req (struct pr_queue *prq, enum packet_req_type type, + const struct lsquic_packet_in *packet_in, void *peer_ctx, + const struct sockaddr *local_addr, const struct sockaddr *peer_addr) +{ + lsquic_ver_tag_t ver_tag; + enum lsquic_version version; + enum pr_flags flags; + lsquic_cid_t scid; + + if (packet_in->pi_flags & PI_GQUIC) + flags = PR_GQUIC; + else + flags = 0; + + if (packet_in->pi_quic_ver) + { + memcpy(&ver_tag, packet_in->pi_data + packet_in->pi_quic_ver, + sizeof(ver_tag)); + version = lsquic_tag2ver(ver_tag); + } + else /* Got to set it to something sensible... */ + version = LSQVER_ID27; + + lsquic_scid_from_packet_in(packet_in, &scid); + return lsquic_prq_new_req_ext(prq, type, flags, version, + packet_in->pi_data_sz, &packet_in->pi_dcid, &scid, + peer_ctx, local_addr, peer_addr); +} + + +static size_t +max_bufsz (const struct pr_queue *prq) +{ + return MAX(MAX(MAX(MAX(IQUIC_VERNEG_SIZE, + IQUIC_RETRY_SIZE), + IQUIC_MAX_SRST_SIZE), + sizeof(prq->prq_verneg_g_buf)), + sizeof(prq->prq_pubres_g_buf)); +} + + +static struct evanescent_conn * +get_evconn (struct pr_queue *prq) +{ + struct evanescent_conn *evconn; + struct lsquic_conn *lconn; + struct lsquic_packet_out *packet_out; + size_t bufsz; + + if (prq->prq_nconns >= prq->prq_max_conns) + { /* This deserves a warning */ + LSQ_WARN("tried to get connection past limit of %u", prq->prq_max_conns); + return NULL; + } + + lconn = TAILQ_FIRST(&prq->prq_free_conns); + if (lconn) + { + TAILQ_REMOVE(&prq->prq_free_conns, lconn, cn_next_pr); + evconn = (struct evanescent_conn *) lconn; + evconn->evc_flags = 0; + return evconn; + } + + bufsz = max_bufsz(prq); + evconn = calloc(1, sizeof(*evconn) + bufsz); + if (!evconn) + { + LSQ_WARN("calloc failed: %s", strerror(errno)); + return NULL; + } + + /* These values stay the same between connection usages: */ + evconn->evc_queue = prq; + lconn = &evconn->evc_conn; + lconn->cn_cces = evconn->evc_cces; + lconn->cn_cces_mask = 1; + lconn->cn_n_cces = sizeof(evconn->evc_cces) / sizeof(evconn->evc_cces[0]); + lconn->cn_if = &evanescent_conn_iface; + lconn->cn_flags = LSCONN_EVANESCENT; + packet_out = &evconn->evc_packet_out; + packet_out->po_flags = PO_NOENCRYPT; + packet_out->po_data = evconn->evc_buf; + + return evconn; +} + + +struct lsquic_conn * +lsquic_prq_next_conn (struct pr_queue *prq) +{ + struct evanescent_conn *evconn; + struct lsquic_conn *lconn; + struct lsquic_hash_elem *el; + struct packet_req *req; + struct lsquic_packet_out *packet_out; + int (*gen_verneg) (unsigned char *, size_t, const lsquic_cid_t *, + const lsquic_cid_t *, unsigned, uint8_t); + int len; + + lconn = TAILQ_FIRST(&prq->prq_returned_conns); + if (lconn) + { + TAILQ_REMOVE(&prq->prq_returned_conns, lconn, cn_next_pr); + return lconn; + } + + el = lsquic_hash_first(prq->prq_reqs_hash); + if (!el) /* Nothing is queued */ + return NULL; + + evconn = get_evconn(prq); + if (!evconn) /* Reached limit or malloc failed */ + return NULL; + + req = lsquic_hashelem_getdata(el); + packet_out = &evconn->evc_packet_out; + switch ((req->pr_type << 29) | req->pr_flags) + { + case (PACKET_REQ_VERNEG << 29) | PR_GQUIC: + packet_out->po_data_sz = prq->prq_verneg_g_sz; + packet_out->po_flags |= PO_VERNEG; + memcpy(packet_out->po_data, prq->prq_verneg_g_buf, + prq->prq_verneg_g_sz); + memcpy(packet_out->po_data + 1, req->pr_dcid.idbuf, GQUIC_CID_LEN); + break; + case (PACKET_REQ_PUBRES << 29) | PR_GQUIC: + packet_out->po_flags &= ~PO_VERNEG; + packet_out->po_data_sz = prq->prq_pubres_g_sz; + memcpy(packet_out->po_data, prq->prq_pubres_g_buf, + prq->prq_pubres_g_sz); + memcpy(packet_out->po_data + 1, req->pr_dcid.idbuf, GQUIC_CID_LEN); + break; + case (PACKET_REQ_VERNEG << 29) | 0: + packet_out->po_flags |= PO_VERNEG; + if (req->pr_version == LSQVER_046) + gen_verneg = lsquic_Q046_gen_ver_nego_pkt; + else + gen_verneg = lsquic_ietf_v1_gen_ver_nego_pkt; + len = gen_verneg(packet_out->po_data, max_bufsz(prq), + /* Flip SCID/DCID here: */ &req->pr_dcid, &req->pr_scid, + prq->prq_enpub->enp_settings.es_versions, + lsquic_crand_get_byte(prq->prq_enpub->enp_crand)); + if (len > 0) + packet_out->po_data_sz = len; + else + packet_out->po_data_sz = 0; + break; + case (PACKET_REQ_RETRY << 29) | 0: + packet_out->po_flags |= PO_RETRY; + len = lsquic_iquic_gen_retry_pkt(packet_out->po_data, max_bufsz(prq), + prq->prq_enpub, &req->pr_scid, &req->pr_dcid, + req->pr_version, NP_PEER_SA(&req->pr_path), + lsquic_crand_get_nybble(prq->prq_enpub->enp_crand)); + if (len > 0) + packet_out->po_data_sz = len; + else + packet_out->po_data_sz = 0; + break; + default: + packet_out->po_flags &= ~PO_VERNEG; + packet_out->po_data_sz = req->pr_rst_sz; + RAND_bytes(packet_out->po_data, req->pr_rst_sz - IQUIC_SRESET_TOKEN_SZ); + packet_out->po_data[0] &= ~0x80; + packet_out->po_data[0] |= 0x40; + lsquic_tg_generate_sreset(prq->prq_enpub->enp_tokgen, &req->pr_dcid, + packet_out->po_data + req->pr_rst_sz - IQUIC_SRESET_TOKEN_SZ); + break; + } + + lsquic_hash_erase(prq->prq_reqs_hash, el); + evconn->evc_req = req; + + lconn= &evconn->evc_conn; + evconn->evc_cces[0].cce_cid = req->pr_dcid; + packet_out->po_path = &req->pr_path; + + ++prq->prq_nconns; + return lconn; +} + + +int +lsquic_prq_have_pending (const struct pr_queue *prq) +{ + return lsquic_hash_count(prq->prq_reqs_hash) > 0; +} + + +static struct lsquic_packet_out * +evanescent_conn_ci_next_packet_to_send (struct lsquic_conn *lconn, + const struct to_coal *to_coal_UNUSED) +{ + struct evanescent_conn *const evconn = (struct evanescent_conn *) lconn; + assert(!to_coal_UNUSED); + return &evconn->evc_packet_out; +} + + +static void +prq_free_conn (struct pr_queue *prq, struct lsquic_conn *lconn) +{ + struct evanescent_conn *const evconn = (struct evanescent_conn *) lconn; + + TAILQ_INSERT_HEAD(&prq->prq_free_conns, lconn, cn_next_pr); + put_req(prq, evconn->evc_req); + --prq->prq_nconns; +} + + +static void +evanescent_conn_ci_packet_sent (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct evanescent_conn *const evconn = (struct evanescent_conn *) lconn; + struct pr_queue *const prq = evconn->evc_queue; + + assert(packet_out == &evconn->evc_packet_out); + assert(prq->prq_nconns > 0); + + LSQ_DEBUGC("sent %s packet for connection %"CID_FMT"; free resources", + lsquic_preqt2str[ evconn->evc_req->pr_type ], + CID_BITS(&evconn->evc_req->pr_dcid)); + prq_free_conn(prq, lconn); +} + + +static void +evanescent_conn_ci_packet_not_sent (struct lsquic_conn *lconn, + struct lsquic_packet_out *packet_out) +{ + struct evanescent_conn *const evconn = (struct evanescent_conn *) lconn; + struct pr_queue *const prq = evconn->evc_queue; + + assert(packet_out == &evconn->evc_packet_out); + assert(prq->prq_nconns > 0); + + if (evconn->evc_flags & EVC_DROP) + { + LSQ_DEBUGC("packet not sent; drop connection %"CID_FMT, + CID_BITS(&evconn->evc_req->pr_dcid)); + prq_free_conn(prq, lconn); + } + else + { + LSQ_DEBUG("packet not sent; put connection onto used list"); + TAILQ_INSERT_HEAD(&prq->prq_returned_conns, lconn, cn_next_pr); + } +} + + +static enum tick_st +evanescent_conn_ci_tick (struct lsquic_conn *lconn, lsquic_time_t now) +{ + assert(0); + return TICK_CLOSE; +} + + +static void +evanescent_conn_ci_destroy (struct lsquic_conn *lconn) +{ + assert(0); +} + + +static struct lsquic_engine * +evanescent_conn_ci_get_engine (struct lsquic_conn *lconn) +{ + assert(0); + return NULL; +} + + +static void +evanescent_conn_ci_hsk_done (struct lsquic_conn *lconn, + enum lsquic_hsk_status status) +{ + assert(0); +} + + +static void +evanescent_conn_ci_packet_in (struct lsquic_conn *lconn, + struct lsquic_packet_in *packet_in) +{ + assert(0); +} + + +static void +evanescent_conn_ci_client_call_on_new (struct lsquic_conn *lconn) +{ + assert(0); +} + + +static struct network_path * +evanescent_conn_ci_get_path (struct lsquic_conn *lconn, + const struct sockaddr *sa) +{ + struct evanescent_conn *const evconn = (struct evanescent_conn *) lconn; + + return &evconn->evc_req->pr_path; +} + + +static unsigned char +evanescent_conn_ci_record_addrs (struct lsquic_conn *lconn, void *peer_ctx, + const struct sockaddr *local_sa, const struct sockaddr *peer_sa) +{ + assert(0); + return 0; +} + + +static const struct conn_iface evanescent_conn_iface = { + .ci_client_call_on_new = evanescent_conn_ci_client_call_on_new, + .ci_destroy = evanescent_conn_ci_destroy, + .ci_get_engine = evanescent_conn_ci_get_engine, + .ci_get_path = evanescent_conn_ci_get_path, + .ci_hsk_done = evanescent_conn_ci_hsk_done, + .ci_next_packet_to_send = evanescent_conn_ci_next_packet_to_send, + .ci_packet_in = evanescent_conn_ci_packet_in, + .ci_packet_not_sent = evanescent_conn_ci_packet_not_sent, + .ci_packet_sent = evanescent_conn_ci_packet_sent, + .ci_record_addrs = evanescent_conn_ci_record_addrs, + .ci_tick = evanescent_conn_ci_tick, +}; + + +const char *const lsquic_preqt2str[] = +{ + [PACKET_REQ_VERNEG] = "version negotiation", + [PACKET_REQ_PUBRES] = "stateless reset", +}; + + +void +lsquic_prq_drop (struct lsquic_conn *lconn) +{ + struct evanescent_conn *const evconn = (void *) lconn; + + evconn->evc_flags |= EVC_DROP; + LSQ_DEBUGC("mark for connection %"CID_FMT" for dropping", + CID_BITS(&evconn->evc_req->pr_dcid)); +} diff --git a/external/lsquic/src/liblsquic/lsquic_pr_queue.h b/external/lsquic/src/liblsquic/lsquic_pr_queue.h new file mode 100644 index 0000000..b48e17e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_pr_queue.h @@ -0,0 +1,88 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_pr_queue.h -- a queue of packet requests + * + * Some packets need to be replied to outside of context of existing + * mini or full connections: + * + * 1. A version negotiation packet needs to be sent when a packet + * arrives that specifies QUIC version that we do not support. + * 2. A public reset packet needs to be sent when we receive a + * packet that does not belong to a known QUIC connection. + * + * The replies cannot be sent immediately. They share outgoing + * socket with existing connections and must be scheduled according + * to prioritization rules. + * + * The information needed to generate reply packet -- connection ID, + * connection context, and the peer address -- is saved in the Packet + * Request Queue. + * + * When it is time to send packets, the connection iterator knows to + * call prq_next_conn() when appropriate. What is returned is an + * evanescent connection object that disappears as soon as the reply + * packet is successfully sent out. + * + * There are two limits associated with Packet Request Queue: + * 1. Maximum number of packet requests that are allowed to be + * pending at any one time. This is simply to prevent memory + * blowout. + * 2. Maximum verneg connection objects to be allocated at any one + * time. This number is the same as the maximum batch size in + * the engine, because the packet (and, therefore, the connection) + * is returned to the Packet Request Queue when it could not be + * sent. + * + * We call this a "request" queue because it describes what we do with + * QUIC packets whose version we do not support or those packets that + * do not belong to an existing connection: we send a reply for each of + * these packets, which effectively makes them "requests." + */ + +#ifndef LSQUIC_PR_QUEUE_H +#define LSQUIC_PR_QUEUE_H 1 + +struct lsquic_conn; +struct lsquic_packet_in; +struct lsquic_engine_settings; +struct pr_queue; +struct sockaddr; + +enum packet_req_type { + PACKET_REQ_VERNEG, + PACKET_REQ_PUBRES, + PACKET_REQ_RETRY, + N_PREQ_TYPES, +}; + +extern const char *const lsquic_preqt2str[N_PREQ_TYPES]; + +struct pr_queue * +lsquic_prq_create (unsigned max_elems, unsigned max_conns, + const struct lsquic_engine_public *); + +void +lsquic_prq_destroy (struct pr_queue *); + +int +lsquic_prq_new_req (struct pr_queue *, enum packet_req_type, + const struct lsquic_packet_in *, void *conn_ctx, + const struct sockaddr *local_addr, + const struct sockaddr *peer_addr); + +struct lsquic_conn * +lsquic_prq_next_conn (struct pr_queue *); + +int +lsquic_prq_have_pending (const struct pr_queue *); + +int +lsquic_prq_new_req_ext (struct pr_queue *prq, enum packet_req_type type, + unsigned flags, enum lsquic_version version, unsigned short data_sz, + const lsquic_cid_t *dcid, const lsquic_cid_t *scid, void *peer_ctx, + const struct sockaddr *local_addr, const struct sockaddr *peer_addr); + +void +lsquic_prq_drop (struct lsquic_conn *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_purga.c b/external/lsquic/src/liblsquic/lsquic_purga.c new file mode 100644 index 0000000..2c90d92 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_purga.c @@ -0,0 +1,277 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_rapidhash.h" +#include "lsquic_purga.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_PURGA +#include "lsquic_logger.h" + + +/* To avoid scannig the whole list of CIDs, we use a Bloom filter. + * + * The Bloom filter is constructed using a 8192-bit bit field and 6 hash + * functions. With 273 elements per page, this gives us 0.004% possibility + * of a false positive. In other words, when we do have to search a page + * for a particular CID, the chance of finding the CID is 99.99%. + * + * Quick calc: + * perl -E '$k=6;$m=1<<13;$n=273;printf("%f\n", (1-exp(1)**-($k*$n/$m))**$k)' + * + * To extract 6 13-bit values from a 64-bit integer, they are overlapped: + * 0 10 20 30 40 50 60 + * +----------------------------------------------------------------+ + * | | + * +----------------------------------------------------------------+ + * 1111111111111 + * 2222222222222 + * 3333333333333 + * 4444444444444 + * 5555555555555 + * 6666666666666 + * + * This is not 100% kosher, but having 6 functions gives a better guarantee + * and it happens to work in practice. + */ + +#define BLOOM_N_FUNCS 6 +#define BLOOM_SHIFT 10 +#define BLOOM_N_BITS (1 << 13) +typedef uint64_t bloom_mask_el_t; +#define BLOOM_SET_SHIFT 6 /* log2(sizeof(bloom_mask_el_t)) */ +#define BLOOM_BITS_PER_EL (1 << BLOOM_SET_SHIFT) +#define BLOOM_N_MASK_ELS (BLOOM_N_BITS / BLOOM_BITS_PER_EL) +#define BLOOM_ONE 1ull + +#define PURGA_ELS_PER_PAGE 273 + +struct purga_page +{ + TAILQ_ENTRY(purga_page) pupa_next; + lsquic_time_t pupa_last; + unsigned pupa_count; + bloom_mask_el_t pupa_mask[BLOOM_N_MASK_ELS]; + lsquic_cid_t pupa_cids[PURGA_ELS_PER_PAGE]; + void * pupa_peer_ctx[PURGA_ELS_PER_PAGE]; + struct purga_el pupa_els[PURGA_ELS_PER_PAGE]; +}; + +#define PAGE_IS_FULL(page) ((page)->pupa_count >= PURGA_ELS_PER_PAGE) + +TAILQ_HEAD(purga_pages, purga_page); + +struct lsquic_purga +{ + lsquic_time_t pur_min_life; + lsquic_cids_update_f pur_remove_cids; + void *pur_remove_ctx; + struct purga_pages pur_pages; +#ifndef NDEBUG + struct purga_bloom_stats pur_stats; +#endif +}; + + +struct lsquic_purga * +lsquic_purga_new (lsquic_time_t min_life, lsquic_cids_update_f remove_cids, + void *remove_ctx) +{ + struct lsquic_purga *purga; + + purga = calloc(1, sizeof(*purga)); + if (!purga) + { + LSQ_WARN("cannot create purgatory: malloc failed: %s", strerror(errno)); + return NULL; + } + + purga->pur_min_life = min_life; + purga->pur_remove_cids = remove_cids; + purga->pur_remove_ctx = remove_ctx; + TAILQ_INIT(&purga->pur_pages); + LSQ_INFO("create purgatory, min life %"PRIu64" usec", min_life); + + return purga; +} + + +static struct purga_page * +purga_get_page (struct lsquic_purga *purga) +{ + struct purga_page *page; + + page = TAILQ_LAST(&purga->pur_pages, purga_pages); + if (page && !PAGE_IS_FULL(page)) + return page; + + page = malloc(sizeof(*page)); + if (!page) + { + LSQ_INFO("failed to allocate page: %s", strerror(errno)); + return NULL; + } + + page->pupa_count = 0; + page->pupa_last = 0; + memset(page->pupa_mask, 0, sizeof(page->pupa_mask)); + TAILQ_INSERT_TAIL(&purga->pur_pages, page, pupa_next); + LSQ_DEBUG("allocated new page"); + return page; +} + + +static void +purga_remove_cids (struct lsquic_purga *purga, struct purga_page *page) +{ + LSQ_DEBUG("calling remove_cids with %u CID%.*s", page->pupa_count, + page->pupa_count != 1, "s"); + /* XXX It is interesting that pur_remove_ctx is called with peer_ctx + * as an argument, which should could vary (at least theoretically or + * in the future) by path. + */ + purga->pur_remove_cids(purga->pur_remove_ctx, page->pupa_peer_ctx, + page->pupa_cids, page->pupa_count); +} + + +struct purga_el * +lsquic_purga_add (struct lsquic_purga *purga, const lsquic_cid_t *cid, + void *peer_ctx, enum purga_type putype, lsquic_time_t now) +{ + struct purga_page *last_page, *page; + uint64_t hash; + unsigned i, idx, set, bit; + + last_page = purga_get_page(purga); + if (!last_page) + return NULL; /* We do best effort, nothing to do if malloc fails */ + + idx = last_page->pupa_count++; + last_page->pupa_cids [idx] = *cid; + last_page->pupa_peer_ctx[idx] = peer_ctx; + last_page->pupa_els [idx] = (struct purga_el) { + .puel_type = putype, + }; + + hash = rapidhash_withSeed(cid->idbuf, cid->len, 0); + for (i = 0; i < BLOOM_N_FUNCS; ++i) + { + bit = (unsigned) hash & (BLOOM_BITS_PER_EL - 1); + set = ((unsigned) hash >> BLOOM_SET_SHIFT) & (BLOOM_N_MASK_ELS - 1); + last_page->pupa_mask[set] |= BLOOM_ONE << bit; + hash >>= BLOOM_SHIFT; + } + + LSQ_DEBUGC("added %"CID_FMT" to the set", CID_BITS(cid)); + if (PAGE_IS_FULL(last_page)) + { + LSQ_DEBUG("last page is full, set timestamp to %"PRIu64, now); + last_page->pupa_last = now; + } + + while ((page = TAILQ_FIRST(&purga->pur_pages)) + && PAGE_IS_FULL(page) + && page != last_page /* This is theoretical, but still... */ + && page->pupa_last + purga->pur_min_life < now) + { + LSQ_DEBUG("page at timestamp %"PRIu64" expired; now is %"PRIu64, + page->pupa_last, now); + TAILQ_REMOVE(&purga->pur_pages, page, pupa_next); + if (purga->pur_remove_cids && page->pupa_count) + purga_remove_cids(purga, page); + free(page); + } + + return &last_page->pupa_els[idx]; +} + + +struct purga_el * +lsquic_purga_contains (struct lsquic_purga *purga, const lsquic_cid_t *cid) +{ + struct purga_page *page; + unsigned i, bit, set, hits; + uint64_t cid_hash, hash; + + page = TAILQ_FIRST(&purga->pur_pages); + if (!page) + goto end; + + cid_hash = rapidhash_withSeed(cid->idbuf, cid->len, 0); + do + { +#ifndef NDEBUG + ++purga->pur_stats.searches; +#endif + hash = cid_hash; + hits = 0; + for (i = 0; i < BLOOM_N_FUNCS; ++i) + { + bit = (unsigned) hash & (BLOOM_BITS_PER_EL - 1); + set = ((unsigned) hash >> BLOOM_SET_SHIFT) & (BLOOM_N_MASK_ELS - 1); + hits += (page->pupa_mask[set] & (BLOOM_ONE << bit)) != 0; + hash >>= BLOOM_SHIFT; + } + if (hits < BLOOM_N_FUNCS) + goto next_page; + for (i = 0; i < page->pupa_count; ++i) + if (LSQUIC_CIDS_EQ(&page->pupa_cids[i], cid)) + { + LSQ_DEBUGC("found %"CID_FMT, CID_BITS(cid)); + return &page->pupa_els[i]; + } +#ifndef NDEBUG + ++purga->pur_stats.false_hits; +#endif + next_page: + page = TAILQ_NEXT(page, pupa_next); + } + while (page); + + end: + LSQ_DEBUGC("%"CID_FMT" not found", CID_BITS(cid)); + return NULL; +} + + +void +lsquic_purga_destroy (struct lsquic_purga *purga) +{ + struct purga_page *page; + + while ((page = TAILQ_FIRST(&purga->pur_pages))) + { + TAILQ_REMOVE(&purga->pur_pages, page, pupa_next); + if (purga->pur_remove_cids && page->pupa_count) + purga_remove_cids(purga, page); + free(page); + } + free(purga); + LSQ_INFO("destroyed"); +} + + +unsigned +lsquic_purga_cids_per_page (void) +{ + LSQ_DEBUG("CIDs per page: %u", PURGA_ELS_PER_PAGE); + return PURGA_ELS_PER_PAGE; +} + + +#ifndef NDEBUG +struct purga_bloom_stats * +lsquic_purga_get_bloom_stats (struct lsquic_purga *purga) +{ + return &purga->pur_stats; +} +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_purga.h b/external/lsquic/src/liblsquic/lsquic_purga.h new file mode 100644 index 0000000..152465d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_purga.h @@ -0,0 +1,68 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_purga.h -- Purgatory for CIDs + * + * This module keeps a set of CIDs that should be ignored for a period + * of time. It is used when a connection is closed: this way, late + * packets will not create a new connection. + */ + +#ifndef LSQUIC_PURGA_H +#define LSQUIC_PURGA_H 1 + +struct lsquic_purga; + +/* Purgatory type is used to tell what action to take when a packet whose + * CID is in the purgatory is received. + */ +enum purga_type +{ + PUTY_CONN_DELETED, /* Connection was deleted */ + PUTY_CONN_DRAIN, /* Connection is in the "Drain" state */ + PUTY_CID_RETIRED, /* CID was retired */ +}; + +/* User can set these values freely */ +struct purga_el +{ + enum purga_type puel_type; + /* When puel_type is PUTY_CONN_DRAIN or PUTY_CID_RETIRED, puel_time + * specifies the time until the end of the drain period. + * + * When puel_type is PUTY_CONN_DELETED, puel_time specifies the time + * until the next time stateless reset can be sent. puel_count is the + * number of times puel_time was updated. + */ + unsigned puel_count; + lsquic_time_t puel_time; +}; + +struct lsquic_purga * +lsquic_purga_new (lsquic_time_t min_life, lsquic_cids_update_f remove_cids, + void *remove_ctx); + +struct purga_el * +lsquic_purga_add (struct lsquic_purga *, const lsquic_cid_t *, void *peer_ctx, + enum purga_type, lsquic_time_t); + +struct purga_el * +lsquic_purga_contains (struct lsquic_purga *, const lsquic_cid_t *); + +void +lsquic_purga_destroy (struct lsquic_purga *); + +unsigned +lsquic_purga_cids_per_page (void); + +#ifndef NDEBUG +struct purga_bloom_stats +{ + unsigned long searches; + unsigned long false_hits; +}; + +struct purga_bloom_stats * +lsquic_purga_get_bloom_stats (struct lsquic_purga *); +#endif + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_push_promise.h b/external/lsquic/src/liblsquic/lsquic_push_promise.h new file mode 100644 index 0000000..a6abdfa --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_push_promise.h @@ -0,0 +1,68 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_PUSH_PROMISE_H +#define LSQUIC_PUSH_PROMISE_H 1 + + +struct push_promise +{ + /* A push promise is associated with a single stream, while a stream can + * have several push promises it depends on. These push promises are + * stored on a list. A push promise is destroyed when the dependent + * stream is destroyed. + */ + SLIST_ENTRY(push_promise) pp_next; + /* Push promises are stored a hash and can be searched by ID */ + struct lsquic_hash_elem pp_hash_id; + uint64_t pp_id; + struct lsquic_stream *pp_pushed_stream; + size_t pp_content_len; + /* Number of streams holding a reference to this push promise. When this + * value becomes zero, the push promise is destroyed. See lsquic_pp_put(). + * + * The stream on which PUSH_PROMISE frame is sent has a reference in its + * sm_promises list. The push streams themselves have a reference in + * sm_promise. + */ + unsigned pp_refcnt; + /* State for the promise reader. If the state is not PPWS_NONE, we are + * in the process of writing the first push promise on sm_promises list + * (that's the last promise received). + */ + enum { + PPWS_ID0, /* Write first byte of Push ID */ + PPWS_ID1, /* Write second byte of Push ID */ + PPWS_ID2, /* Write third byte of Push ID */ + PPWS_ID3, /* Write fourth byte of Push ID */ + PPWS_ID4, /* Write fifth byte of Push ID */ + PPWS_ID5, /* Write sixth byte of Push ID */ + PPWS_ID6, /* Write seventh byte of Push ID */ + PPWS_ID7, /* Write eighth byte of Push ID */ + PPWS_PFX0, /* Write first NUL byte of the Header Block Prefix */ + PPWS_PFX1, /* Write second NUL byte of the Header Block Prefix */ + PPWS_HBLOCK, /* Write header block -- use sm_push_hblock_off */ + PPWS_DONE, + } pp_write_state; + unsigned pp_write_off; + unsigned char pp_encoded_push_id[8]; + /* The content buffer is the header block: it does not include Header + * Block Prefix. + */ + unsigned char pp_content_buf[0]; +}; + + +#define lsquic_pp_put(promise_, all_promises_) do { \ + if ((promise_)->pp_refcnt > 0) { \ + --(promise_)->pp_refcnt; \ + if (0 == (promise_)->pp_refcnt) { \ + LSQ_DEBUG("destroy push promise %"PRIu64, (promise_)->pp_id); \ + if ((promise_)->pp_hash_id.qhe_flags & QHE_HASHED) \ + lsquic_hash_erase(all_promises_, &(promise_)->pp_hash_id); \ + free(promise_); \ + } \ + } \ + else \ + assert(0); \ +} while (0) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_qdec_hdl.c b/external/lsquic/src/liblsquic/lsquic_qdec_hdl.c new file mode 100644 index 0000000..4a6c3ab --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qdec_hdl.c @@ -0,0 +1,901 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_qdec_hdl.c -- QPACK decoder streams handler + */ + +#include +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsxpack_header.h" +#include "lsquic_int_types.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_frab_list.h" +#include "lsqpack.h" +#include "lsquic_http1x_if.h" +#include "lsquic_qdec_hdl.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_headers.h" +#include "lsquic_conn.h" +#include "lsquic_conn_flow.h" +#include "lsquic_rtt.h" +#include "lsquic_conn_public.h" +#include "lsquic_hq.h" +#include "lsquic_parse.h" +#include "lsquic_qpack_exp.h" +#include "lsquic_util.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_QDEC_HDL +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(qdh->qdh_conn) +#include "lsquic_logger.h" + +static const struct lsqpack_dec_hset_if dhi_if; + + +struct header_ctx +{ + void *hset; + struct qpack_dec_hdl *qdh; + enum ppc_flags ppc_flags; + struct lsquic_ext_http_prio ehp; +}; + + +/* We need to allocate struct uncompressed_headers anyway when header set + * is complete and we give it to the stream using lsquic_stream_uh_in(). + * To save a malloc, we reuse context after we're done with it. + */ +union hblock_ctx +{ + struct header_ctx ctx; + unsigned char space_for_uh[sizeof(struct uncompressed_headers)]; +}; + + +static int +qdh_write_decoder (struct qpack_dec_hdl *qdh, const unsigned char *buf, + size_t sz) +{ + ssize_t nw; + + if (!(qdh->qdh_dec_sm_out && lsquic_frab_list_empty(&qdh->qdh_fral))) + { + write_to_frab: + if (0 == lsquic_frab_list_write(&qdh->qdh_fral, + (unsigned char *) buf, sz)) + { + LSQ_DEBUG("wrote %zu bytes to frab list", sz); + lsquic_stream_wantwrite(qdh->qdh_dec_sm_out, 1); + return 0; + } + else + { + LSQ_INFO("error writing to frab list"); + return -1; + } + } + + nw = lsquic_stream_write(qdh->qdh_dec_sm_out, buf, sz); + if (nw < 0) + { + LSQ_INFO("error writing to outgoing QPACK decoder stream: %s", + strerror(errno)); + return -1; + } + LSQ_DEBUG("wrote %zd bytes to outgoing QPACK decoder stream", nw); + + if ((size_t) nw == sz) + return 0; + + buf = buf + nw; + sz -= (size_t) nw; + goto write_to_frab; +} + + +static int +qdh_write_type (struct qpack_dec_hdl *qdh) +{ + int s; + +#ifndef NDEBUG + const char *env = getenv("LSQUIC_RND_VARINT_LEN"); + if (env && atoi(env)) + { + s = rand() & 3; + LSQ_DEBUG("writing %d-byte stream type", 1 << s); + } + else +#endif + s = 0; + + switch (s) + { + case 0: + return qdh_write_decoder(qdh, + (unsigned char []) { HQUST_QPACK_DEC }, 1); + case 1: + return qdh_write_decoder(qdh, + (unsigned char []) { 0x40, HQUST_QPACK_DEC }, 2); + case 2: + return qdh_write_decoder(qdh, + (unsigned char []) { 0x80, 0x00, 0x00, HQUST_QPACK_DEC }, 4); + default: + return qdh_write_decoder(qdh, + (unsigned char []) { 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + HQUST_QPACK_DEC }, 8); + } +} + + +static void +qdh_begin_out (struct qpack_dec_hdl *qdh) +{ + if (0 != qdh_write_type(qdh)) + { + LSQ_WARN("%s: could not write to decoder", __func__); + qdh->qdh_conn->cn_if->ci_internal_error(qdh->qdh_conn, + "cannot write to decoder stream"); + } +} + + +int +lsquic_qdh_init (struct qpack_dec_hdl *qdh, struct lsquic_conn *conn, + int is_server, const struct lsquic_engine_public *enpub, + unsigned dyn_table_size, unsigned max_risked_streams) +{ + enum lsqpack_dec_opts dec_opts; + + dec_opts = 0; + if (enpub->enp_hsi_if->hsi_flags & LSQUIC_HSI_HTTP1X) + dec_opts |= LSQPACK_DEC_OPT_HTTP1X; + if (enpub->enp_hsi_if->hsi_flags & LSQUIC_HSI_HASH_NAME) + dec_opts |= LSQPACK_DEC_OPT_HASH_NAME; + if (enpub->enp_hsi_if->hsi_flags & LSQUIC_HSI_HASH_NAMEVAL) + dec_opts |= LSQPACK_DEC_OPT_HASH_NAMEVAL; + + if (conn->cn_flags & LSCONN_SERVER) + qdh->qdh_flags |= QDH_SERVER; + if (enpub->enp_settings.es_qpack_experiment) + { + qdh->qdh_exp_rec = lsquic_qpack_exp_new(); + if (qdh->qdh_exp_rec) + { + if (conn->cn_flags & LSCONN_SERVER) + qdh->qdh_exp_rec->qer_flags |= QER_SERVER; + qdh->qdh_exp_rec->qer_used_max_size = dyn_table_size; + qdh->qdh_exp_rec->qer_used_max_blocked = max_risked_streams; + } + } + if (!qdh->qdh_exp_rec && LSQ_LOG_ENABLED_EXT(LSQ_LOG_NOTICE, LSQLM_CONN)) + qdh->qdh_flags |= QDH_SAVE_UA; + + qdh->qdh_conn = conn; + lsquic_frab_list_init(&qdh->qdh_fral, 0x400, NULL, NULL, NULL); + lsqpack_dec_init(&qdh->qdh_decoder, (void *) conn, dyn_table_size, + max_risked_streams, &dhi_if, dec_opts); + qdh->qdh_flags |= QDH_INITIALIZED; + qdh->qdh_enpub = enpub; + if (qdh->qdh_enpub->enp_hsi_if == lsquic_http1x_if) + { + qdh->qdh_h1x_ctor_ctx = (struct http1x_ctor_ctx) { + .conn = conn, + .max_headers_sz = MAX_HTTP1X_HEADERS_SIZE, + .is_server = is_server, + }; + qdh->qdh_hsi_ctx = &qdh->qdh_h1x_ctor_ctx; + } + else + qdh->qdh_hsi_ctx = qdh->qdh_enpub->enp_hsi_ctx; + if (qdh->qdh_dec_sm_out) + qdh_begin_out(qdh); + if (qdh->qdh_enc_sm_in) + lsquic_stream_wantread(qdh->qdh_enc_sm_in, 1); + LSQ_DEBUG("initialized"); + return 0; +} + + +static void +qdh_log_and_clean_exp_rec (struct qpack_dec_hdl *qdh) +{ + char buf[0x400]; + + qdh->qdh_exp_rec->qer_comp_ratio = lsqpack_dec_ratio(&qdh->qdh_decoder); + /* Naughty: poking inside the decoder, it's not exposed. (Should it be?) */ + qdh->qdh_exp_rec->qer_peer_max_size = qdh->qdh_decoder.qpd_cur_max_capacity; + (void) lsquic_qpack_exp_to_xml(qdh->qdh_exp_rec, buf, sizeof(buf)); + LSQ_NOTICE("%s", buf); + lsquic_qpack_exp_destroy(qdh->qdh_exp_rec); + qdh->qdh_exp_rec = NULL; +} + + +void +lsquic_qdh_cleanup (struct qpack_dec_hdl *qdh) +{ + if (qdh->qdh_flags & QDH_INITIALIZED) + { + LSQ_DEBUG("cleanup"); + if (qdh->qdh_exp_rec) + qdh_log_and_clean_exp_rec(qdh); + if (qdh->qdh_ua) + { + free(qdh->qdh_ua); + qdh->qdh_ua = NULL; + } + lsqpack_dec_cleanup(&qdh->qdh_decoder); + lsquic_frab_list_cleanup(&qdh->qdh_fral); + qdh->qdh_flags &= ~QDH_INITIALIZED; + } +} + +static lsquic_stream_ctx_t * +qdh_out_on_new (void *stream_if_ctx, struct lsquic_stream *stream) +{ + struct qpack_dec_hdl *const qdh = stream_if_ctx; + qdh->qdh_dec_sm_out = stream; + if (qdh->qdh_flags & QDH_INITIALIZED) + qdh_begin_out(qdh); + LSQ_DEBUG("initialized outgoing decoder stream"); + return (void *) qdh; +} + + +static void +qdh_out_on_write (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct qpack_dec_hdl *const qdh = (void *) ctx; + struct lsquic_reader reader; + ssize_t nw; + unsigned char buf[LSQPACK_LONGEST_ICI]; + + if (lsqpack_dec_ici_pending(&qdh->qdh_decoder)) + { + nw = lsqpack_dec_write_ici(&qdh->qdh_decoder, buf, sizeof(buf)); + if (nw > 0) + { + if (0 == qdh_write_decoder(qdh, buf, nw)) + LSQ_DEBUG("wrote %zd-byte TSS instruction", nw); + else + goto err; + } + else if (nw < 0) + { + LSQ_WARN("could not generate TSS instruction"); + goto err; + } + } + + if (lsquic_frab_list_empty(&qdh->qdh_fral)) + { + LSQ_DEBUG("%s: nothing to write", __func__); + lsquic_stream_wantwrite(stream, 0); + return; + } + + reader = (struct lsquic_reader) { + .lsqr_read = lsquic_frab_list_read, + .lsqr_size = lsquic_frab_list_size, + .lsqr_ctx = &qdh->qdh_fral, + }; + + nw = lsquic_stream_writef(stream, &reader); + if (nw >= 0) + { + LSQ_DEBUG("wrote %zd bytes to stream", nw); + (void) lsquic_stream_flush(stream); + if (lsquic_frab_list_empty(&qdh->qdh_fral)) + { + lsquic_stream_wantwrite(stream, 0); + if (qdh->qdh_on_dec_sent_func) + { + LSQ_DEBUG("buffered data written: call callback"); + qdh->qdh_on_dec_sent_func(qdh->qdh_on_dec_sent_ctx); + qdh->qdh_on_dec_sent_func = NULL; + qdh->qdh_on_dec_sent_ctx = NULL; + } + } + } + else + { + LSQ_WARN("cannot write to stream: %s", strerror(errno)); + err: + lsquic_stream_wantwrite(stream, 0); + qdh->qdh_conn->cn_if->ci_internal_error(qdh->qdh_conn, + "cannot write to stream"); + } +} + + +static void +qdh_out_on_close (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct qpack_dec_hdl *const qdh = (void *) ctx; + qdh->qdh_dec_sm_out = NULL; + LSQ_DEBUG("closed outgoing decoder stream"); +} + + +static void +qdh_out_on_read (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + assert(0); +} + + +static const struct lsquic_stream_if qdh_dec_sm_out_if = +{ + .on_new_stream = qdh_out_on_new, + .on_read = qdh_out_on_read, + .on_write = qdh_out_on_write, + .on_close = qdh_out_on_close, +}; +const struct lsquic_stream_if *const lsquic_qdh_dec_sm_out_if = + &qdh_dec_sm_out_if; + + +static lsquic_stream_ctx_t * +qdh_in_on_new (void *stream_if_ctx, struct lsquic_stream *stream) +{ + struct qpack_dec_hdl *const qdh = stream_if_ctx; + qdh->qdh_enc_sm_in = stream; + if (qdh->qdh_flags & QDH_INITIALIZED) + lsquic_stream_wantread(qdh->qdh_enc_sm_in, 1); + LSQ_DEBUG("initialized incoming encoder stream"); + return (void *) qdh; +} + + +static size_t +qdh_read_encoder_stream (void *ctx, const unsigned char *buf, size_t sz, + int fin) +{ + struct qpack_dec_hdl *const qdh = (void *) ctx; + const struct lsqpack_dec_err *qerr; + int s; + + if (fin) + { + LSQ_INFO("encoder stream is closed"); + qdh->qdh_conn->cn_if->ci_abort_error(qdh->qdh_conn, 1, + HEC_CLOSED_CRITICAL_STREAM, "Peer closed QPACK encoder stream"); + goto end; + } + + s = lsqpack_dec_enc_in(&qdh->qdh_decoder, buf, sz); + if (s != 0) + { + LSQ_INFO("error reading encoder stream"); + qerr = lsqpack_dec_get_err_info(&qdh->qdh_decoder); + qdh->qdh_conn->cn_if->ci_abort_error(qdh->qdh_conn, 1, + HEC_QPACK_ENCODER_STREAM_ERROR, "Error interpreting QPACK encoder " + "stream; offset %"PRIu64", line %d", qerr->off, qerr->line); + goto end; + } + if (qdh->qdh_dec_sm_out + && lsqpack_dec_ici_pending(&qdh->qdh_decoder)) + lsquic_stream_wantwrite(qdh->qdh_dec_sm_out, 1); + + LSQ_DEBUG("successfully fed %zu bytes to QPACK decoder", sz); + + end: + return sz; +} + + +static void +qdh_in_on_read (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct qpack_dec_hdl *const qdh = (void *) ctx; + ssize_t nread; + + nread = lsquic_stream_readf(stream, qdh_read_encoder_stream, qdh); + if (nread <= 0) + { + if (nread < 0) + { + LSQ_WARN("cannot read from encoder stream: %s", strerror(errno)); + qdh->qdh_conn->cn_if->ci_internal_error(qdh->qdh_conn, + "cannot read from encoder stream"); + } + else + { + LSQ_INFO("encoder stream closed by peer: abort connection"); + qdh->qdh_conn->cn_if->ci_abort_error(qdh->qdh_conn, 1, + HEC_CLOSED_CRITICAL_STREAM, "encoder stream closed"); + } + lsquic_stream_wantread(stream, 0); + } +} + + +static void +qdh_in_on_close (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct qpack_dec_hdl *const qdh = (void *) ctx; + LSQ_DEBUG("closed incoming encoder stream"); + qdh->qdh_enc_sm_in = NULL; +} + + +static void +qdh_in_on_write (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + assert(0); +} + + +static const struct lsquic_stream_if qdh_enc_sm_in_if = +{ + .on_new_stream = qdh_in_on_new, + .on_read = qdh_in_on_read, + .on_write = qdh_in_on_write, + .on_close = qdh_in_on_close, +}; +const struct lsquic_stream_if *const lsquic_qdh_enc_sm_in_if = + &qdh_enc_sm_in_if; + + +static void +qdh_hblock_unblocked (void *stream_p) +{ + struct lsquic_stream *const stream = stream_p; + lsquic_stream_qdec_unblocked(stream); +} + + +struct cont_len +{ + unsigned long long value; + int has; /* 1: set, 0: not set, -1: invalid */ +}; + + +static void +process_content_length (const struct qpack_dec_hdl *qdh /* for logging */, + struct cont_len *cl, const char *val /* not NUL-terminated */, + unsigned len) +{ + char *endcl, cont_len_buf[30]; + + if (0 == cl->has) + { + if (len >= sizeof(cont_len_buf)) + { + LSQ_DEBUG("content-length has invalid value `%.*s'", + (int) len, val); + cl->has = -1; + return; + } + memcpy(cont_len_buf, val, len); + cont_len_buf[len] = '\0'; + cl->value = strtoull(cont_len_buf, &endcl, 10); + if (*endcl == '\0' && !(ULLONG_MAX == cl->value && ERANGE == errno)) + { + cl->has = 1; + LSQ_DEBUG("content length is %llu", cl->value); + } + else + { + cl->has = -1; + LSQ_DEBUG("content-length has invalid value `%.*s'", + (int) len, val); + } + } + else if (cl->has > 0) + { + LSQ_DEBUG("header set has two content-length: ambiguous, " + "turn off checking"); + cl->has = -1; + } +} + + +static int +is_content_length (const struct lsxpack_header *xhdr) +{ + return ((xhdr->flags & LSXPACK_QPACK_IDX) + && xhdr->qpack_index == LSQPACK_TNV_CONTENT_LENGTH_0) + || (xhdr->name_len == 14 && 0 == memcmp(lsxpack_header_get_name(xhdr), + "content-length", 13)) + ; +} + + +static int +is_priority (const struct lsxpack_header *xhdr) +{ + return xhdr->name_len == 8 + && 0 == memcmp(lsxpack_header_get_name(xhdr), "priority", 8); +} + + +static struct lsxpack_header * +qdh_prepare_decode (void *stream_p, struct lsxpack_header *xhdr, size_t space) +{ + struct lsquic_stream *const stream = stream_p; + union hblock_ctx *const u = stream->sm_hblock_ctx; + struct qpack_dec_hdl *const qdh = u->ctx.qdh; + + return qdh->qdh_enpub->enp_hsi_if->hsi_prepare_decode( + u->ctx.hset, xhdr, space); +} + + +static void +qdh_maybe_set_user_agent (struct qpack_dec_hdl *qdh, + const struct lsxpack_header *xhdr, char **ua) +{ + /* Flipped: we are the *decoder* */ + const char *const name = qdh->qdh_flags & QDH_SERVER ? + "user-agent" : "server"; + const size_t len = qdh->qdh_flags & QDH_SERVER ? 10 : 6; + + if (len == xhdr->name_len + && 0 == memcmp(name, lsxpack_header_get_name(xhdr), len)) + *ua = strndup(lsxpack_header_get_value(xhdr), xhdr->val_len); +} + + +/* Intercept header errors so that upper-layer errors do not get + * misinterpreted as QPACK errors. + */ +static int +qdh_hsi_process_wrapper (struct qpack_dec_hdl *qdh, void *hset, + struct lsxpack_header *xhdr) +{ + int retval; + + retval = qdh->qdh_enpub->enp_hsi_if->hsi_process_header(hset, xhdr); + if (0 != retval) + qdh->qdh_conn->cn_if->ci_abort_error(qdh->qdh_conn, 1, + HEC_MESSAGE_ERROR, + "error processing headers"); + + return retval; +} + + +static int +qdh_process_header (void *stream_p, struct lsxpack_header *xhdr) +{ + struct lsquic_stream *const stream = stream_p; + union hblock_ctx *const u = stream->sm_hblock_ctx; + struct qpack_dec_hdl *const qdh = u->ctx.qdh; + struct cont_len cl; + + if (is_content_length(xhdr)) + { + cl.has = 0; + process_content_length(qdh, &cl, lsxpack_header_get_value(xhdr), + xhdr->val_len); + if (cl.has > 0) + (void) lsquic_stream_verify_len(stream, cl.value); + } + else if ((stream->sm_bflags & (SMBF_HTTP_PRIO|SMBF_HPRIO_SET)) + == SMBF_HTTP_PRIO + && is_priority(xhdr)) + { + u->ctx.ppc_flags &= ~(PPC_INC_NAME|PPC_URG_NAME); + (void) lsquic_http_parse_pfv(lsxpack_header_get_value(xhdr), + xhdr->val_len, &u->ctx.ppc_flags, &u->ctx.ehp, + (char *) stream->conn_pub->mm->acki, + sizeof(*stream->conn_pub->mm->acki)); + } + else if (qdh->qdh_exp_rec && !qdh->qdh_exp_rec->qer_user_agent) + qdh_maybe_set_user_agent(qdh, xhdr, &qdh->qdh_exp_rec->qer_user_agent); + else if ((qdh->qdh_flags & QDH_SAVE_UA) && !qdh->qdh_ua) + qdh_maybe_set_user_agent(qdh, xhdr, &qdh->qdh_ua); + + return qdh_hsi_process_wrapper(qdh, u->ctx.hset, xhdr); +} + + +static const struct lsqpack_dec_hset_if dhi_if = +{ + .dhi_unblocked = qdh_hblock_unblocked, + .dhi_prepare_decode = qdh_prepare_decode, + .dhi_process_header = qdh_process_header, +}; + + +static void +qdh_maybe_destroy_hblock_ctx (struct qpack_dec_hdl *qdh, + struct lsquic_stream *stream) +{ + if (stream->sm_hblock_ctx) + { + LSQ_DEBUG("destroy hblock_ctx of stream %"PRIu64, stream->id); + qdh->qdh_enpub->enp_hsi_if->hsi_discard_header_set( + stream->sm_hblock_ctx->ctx.hset); + free(stream->sm_hblock_ctx); + stream->sm_hblock_ctx = NULL; + } +} + + +static enum lsqpack_read_header_status +qdh_header_read_results (struct qpack_dec_hdl *qdh, + struct lsquic_stream *stream, enum lsqpack_read_header_status rhs, + const unsigned char *dec_buf, size_t dec_buf_sz) +{ + const struct lsqpack_dec_err *qerr; + struct uncompressed_headers *uh; + void *hset; + + if (rhs == LQRHS_DONE) + { + if (1) //!lsquic_stream_header_is_trailer(stream)) + { + if (stream->sm_hblock_ctx->ctx.ppc_flags + & (PPC_INC_SET|PPC_URG_SET)) + { + assert(stream->sm_bflags & SMBF_HTTP_PRIO); + LSQ_DEBUG("Apply Priority from headers to stream %"PRIu64, + stream->id); + (void) lsquic_stream_set_http_prio(stream, + &stream->sm_hblock_ctx->ctx.ehp); + } + hset = stream->sm_hblock_ctx->ctx.hset; + uh = (void *) stream->sm_hblock_ctx; + stream->sm_hblock_ctx = NULL; + memset(uh, 0, sizeof(*uh)); + uh->uh_stream_id = stream->id; + uh->uh_oth_stream_id = 0; + uh->uh_weight = 0; + uh->uh_exclusive = -1; + if (qdh->qdh_enpub->enp_hsi_if == lsquic_http1x_if) + uh->uh_flags |= UH_H1H; + if (0 != qdh_hsi_process_wrapper(qdh, hset, NULL)) + { + LSQ_DEBUG("finishing hset failed"); + free(uh); + qdh->qdh_enpub->enp_hsi_if->hsi_discard_header_set(hset); + return LQRHS_ERROR; + } + uh->uh_hset = hset; + if (0 == lsquic_stream_uh_in(stream, uh)) + LSQ_DEBUG("gave hset to stream %"PRIu64, stream->id); + else + { + LSQ_DEBUG("could not give hset to stream %"PRIu64, stream->id); + free(uh); + qdh->qdh_enpub->enp_hsi_if->hsi_discard_header_set(hset); + return LQRHS_ERROR; + } + } + else + { + LSQ_DEBUG("discard trailer header set"); + qdh_maybe_destroy_hblock_ctx(qdh, stream); + } + if (qdh->qdh_dec_sm_out) + { + if (dec_buf_sz + && 0 != qdh_write_decoder(qdh, dec_buf, dec_buf_sz)) + { + return LQRHS_ERROR; + } + if (dec_buf_sz || lsqpack_dec_ici_pending(&qdh->qdh_decoder)) + lsquic_stream_wantwrite(qdh->qdh_dec_sm_out, 1); + } + } + else if (rhs == LQRHS_ERROR) + { + qdh_maybe_destroy_hblock_ctx(qdh, stream); + qerr = lsqpack_dec_get_err_info(&qdh->qdh_decoder); + qdh->qdh_conn->cn_if->ci_abort_error(qdh->qdh_conn, 1, + HEC_QPACK_DECOMPRESSION_FAILED, "QPACK decompression error; " + "stream %"PRIu64", offset %"PRIu64", line %d", qerr->stream_id, + qerr->off, qerr->line); + } + + return rhs; +} + + +enum lsqpack_read_header_status +lsquic_qdh_header_in_begin (struct qpack_dec_hdl *qdh, + struct lsquic_stream *stream, uint64_t header_size, + const unsigned char **buf, size_t bufsz) +{ + enum lsqpack_read_header_status rhs; + void *hset; + int is_pp; + size_t dec_buf_sz; + union hblock_ctx *u; + unsigned char dec_buf[LSQPACK_LONGEST_HEADER_ACK]; + + assert(!(stream->stream_flags & STREAM_U_READ_DONE)); + + if (!(qdh->qdh_flags & QDH_INITIALIZED)) + { + LSQ_WARN("not initialized: cannot process header block"); + return LQRHS_ERROR; + } + + u = malloc(sizeof(*u)); + if (!u) + { + LSQ_INFO("cannot allocate hblock_ctx"); + return LQRHS_ERROR; + } + + is_pp = lsquic_stream_header_is_pp(stream); + hset = qdh->qdh_enpub->enp_hsi_if->hsi_create_header_set( + qdh->qdh_hsi_ctx, stream, is_pp); + if (!hset) + { + free(u); + LSQ_DEBUG("hsi_create_header_set failure"); + return LQRHS_ERROR; + } + + u->ctx.hset = hset; + u->ctx.qdh = qdh; + u->ctx.ppc_flags = 0; + u->ctx.ehp = (struct lsquic_ext_http_prio) { + .urgency = LSQUIC_DEF_HTTP_URGENCY, + .incremental = LSQUIC_DEF_HTTP_INCREMENTAL, + }; + stream->sm_hblock_ctx = u; + + if (qdh->qdh_exp_rec) + { + const lsquic_time_t now = lsquic_time_now(); + if (0 == qdh->qdh_exp_rec->qer_hblock_count) + qdh->qdh_exp_rec->qer_first_req = now; + qdh->qdh_exp_rec->qer_last_req = now; + ++qdh->qdh_exp_rec->qer_hblock_count; + qdh->qdh_exp_rec->qer_hblock_size += bufsz; + } + + dec_buf_sz = sizeof(dec_buf); + rhs = lsqpack_dec_header_in(&qdh->qdh_decoder, stream, stream->id, + header_size, buf, bufsz, dec_buf, &dec_buf_sz); + if (qdh->qdh_exp_rec) + qdh->qdh_exp_rec->qer_peer_max_blocked += rhs == LQRHS_BLOCKED; + return qdh_header_read_results(qdh, stream, rhs, dec_buf, dec_buf_sz); +} + + +enum lsqpack_read_header_status +lsquic_qdh_header_in_continue (struct qpack_dec_hdl *qdh, + struct lsquic_stream *stream, const unsigned char **buf, size_t bufsz) +{ + enum lsqpack_read_header_status rhs; + size_t dec_buf_sz; + unsigned char dec_buf[LSQPACK_LONGEST_HEADER_ACK]; + + assert(!(stream->stream_flags & STREAM_U_READ_DONE)); + + if (qdh->qdh_flags & QDH_INITIALIZED) + { + if (qdh->qdh_exp_rec) + qdh->qdh_exp_rec->qer_hblock_size += bufsz; + dec_buf_sz = sizeof(dec_buf); + rhs = lsqpack_dec_header_read(&qdh->qdh_decoder, stream, + buf, bufsz, dec_buf, &dec_buf_sz); + if (qdh->qdh_exp_rec) + qdh->qdh_exp_rec->qer_peer_max_blocked += rhs == LQRHS_BLOCKED; + return qdh_header_read_results(qdh, stream, rhs, dec_buf, dec_buf_sz); + } + else + { + LSQ_WARN("not initialized: cannot process header block"); + return LQRHS_ERROR; + } +} + + +static void +lsquic_qdh_unref_stream (struct qpack_dec_hdl *qdh, + struct lsquic_stream *stream) +{ + if (0 == lsqpack_dec_unref_stream(&qdh->qdh_decoder, stream)) + LSQ_DEBUG("unreffed stream %"PRIu64, stream->id); + else + LSQ_WARN("cannot unref stream %"PRIu64, stream->id); +} + + +void +lsquic_qdh_cancel_stream (struct qpack_dec_hdl *qdh, + struct lsquic_stream *stream) +{ + ssize_t nw; + unsigned char buf[LSQPACK_LONGEST_CANCEL]; + + qdh_maybe_destroy_hblock_ctx(qdh, stream); + + if (!qdh->qdh_dec_sm_out) + return; + + nw = lsqpack_dec_cancel_stream(&qdh->qdh_decoder, stream, buf, sizeof(buf)); + if (nw > 0) + { + if (0 == qdh_write_decoder(qdh, buf, nw)) + LSQ_DEBUG("cancelled stream %"PRIu64" and wrote %zd-byte Cancel " + "Stream instruction to the decoder stream", stream->id, nw); + } + else if (nw == 0) + LSQ_WARN("cannot cancel stream %"PRIu64" -- not found", stream->id); + else + { + LSQ_WARN("cannot cancel stream %"PRIu64" -- not enough buffer space " + "to encode Cancel Stream instructin", stream->id); + lsquic_qdh_unref_stream(qdh, stream); + } +} + + +void +lsquic_qdh_cancel_stream_id (struct qpack_dec_hdl *qdh, + lsquic_stream_id_t stream_id) +{ + ssize_t nw; + unsigned char buf[LSQPACK_LONGEST_CANCEL]; + + if (!qdh->qdh_dec_sm_out) + return; + + nw = lsqpack_dec_cancel_stream_id(&qdh->qdh_decoder, stream_id, buf, + sizeof(buf)); + if (nw > 0) + { + if (0 == qdh_write_decoder(qdh, buf, nw)) + LSQ_DEBUG("wrote %zd-byte Cancel Stream instruction for " + "stream %"PRIu64" to the decoder stream", nw, stream_id); + } + else if (nw == 0) + LSQ_DEBUG("not generating Cancel Stream instruction for " + "stream %"PRIu64, stream_id); + else + LSQ_WARN("cannot generate Cancel Stream instruction for " + "stream %"PRIu64" -- not enough buffer space", stream_id); +} + + +int +lsquic_qdh_arm_if_unsent (struct qpack_dec_hdl *qdh, void (*func)(void *), + void *ctx) +{ + size_t bytes; + + /* Use size of a single frab list buffer as an arbitrary threshold */ + bytes = lsquic_frab_list_size(&qdh->qdh_fral); + if (bytes <= qdh->qdh_fral.fl_buf_size) + return 0; + else + { + LSQ_DEBUG("have %zu bytes of unsent QPACK decoder stream data: set " + "up callback", bytes); + qdh->qdh_on_dec_sent_func = func; + qdh->qdh_on_dec_sent_ctx = ctx; + return 1; + } +} + + +const char * +lsquic_qdh_get_ua (const struct qpack_dec_hdl *qdh) +{ + if (qdh->qdh_ua) + return qdh->qdh_ua; + else if (qdh->qdh_exp_rec && qdh->qdh_exp_rec->qer_user_agent) + return qdh->qdh_exp_rec->qer_user_agent; + else + return NULL; +} diff --git a/external/lsquic/src/liblsquic/lsquic_qdec_hdl.h b/external/lsquic/src/liblsquic/lsquic_qdec_hdl.h new file mode 100644 index 0000000..0354598 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qdec_hdl.h @@ -0,0 +1,90 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_qdec_hdl.h -- QPACK decoder streams handler + * + * The handler owns two unidirectional streams: a) peer-initiated QPACK + * encoder stream, from which it reads; and b) locally-initiated QPACK + * decoder stream, to which it writes. + */ + +#ifndef LSQUIC_QDEC_HDL_H +#define LSQUIC_QDEC_HDL_H 1 + +struct lsquic_conn; +struct lsquic_stream; +struct lsquic_stream_if; +struct lsquic_engine_public; +struct qpack_exp_record; + + +struct qpack_dec_hdl +{ + struct lsquic_conn *qdh_conn; + enum { + QDH_INITIALIZED = 1 << 0, + QDH_PUSH_PROMISE = 1 << 1, + QDH_SAVE_UA = 1 << 2, + QDH_SERVER = 1 << 3, + } qdh_flags; + struct lsqpack_dec qdh_decoder; + struct lsquic_stream *qdh_enc_sm_in; + struct frab_list qdh_fral; + struct lsquic_stream *qdh_dec_sm_out; + const struct lsquic_engine_public + *qdh_enpub; + struct http1x_ctor_ctx qdh_h1x_ctor_ctx; + void *qdh_hsi_ctx; + void (*qdh_on_dec_sent_func)(void *); + void *qdh_on_dec_sent_ctx; + struct qpack_exp_record *qdh_exp_rec; + char *qdh_ua; +}; + +int +lsquic_qdh_init (struct qpack_dec_hdl *, struct lsquic_conn *, + int is_server, const struct lsquic_engine_public *, + unsigned dyn_table_size, unsigned max_risked_streams); + +void +lsquic_qdh_cleanup (struct qpack_dec_hdl *); + +static inline unsigned +lsquic_qdh_has_enc_stream (const struct qpack_dec_hdl *qdh) +{ + return qdh->qdh_enc_sm_in != NULL; +} + +enum header_in_status +{ + HIS_DONE, + HIS_NEED, + HIS_BLOCKED, + HIS_ERROR, +}; + + +enum lsqpack_read_header_status +lsquic_qdh_header_in_begin (struct qpack_dec_hdl *, struct lsquic_stream *, + uint64_t size, const unsigned char **, size_t); + +enum lsqpack_read_header_status +lsquic_qdh_header_in_continue (struct qpack_dec_hdl *, struct lsquic_stream *, + const unsigned char **, size_t); + +void +lsquic_qdh_cancel_stream (struct qpack_dec_hdl *, + struct lsquic_stream *); + +void +lsquic_qdh_cancel_stream_id (struct qpack_dec_hdl *, lsquic_stream_id_t); + +int +lsquic_qdh_arm_if_unsent (struct qpack_dec_hdl *, void (*)(void *), void *); + +const char * +lsquic_qdh_get_ua (const struct qpack_dec_hdl *); + +extern const struct lsquic_stream_if *const lsquic_qdh_enc_sm_in_if; +extern const struct lsquic_stream_if *const lsquic_qdh_dec_sm_out_if; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_qenc_hdl.c b/external/lsquic/src/liblsquic/lsquic_qenc_hdl.c new file mode 100644 index 0000000..41ca45f --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qenc_hdl.c @@ -0,0 +1,580 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_qenc_hdl.c -- QPACK encoder streams handler + */ + +#include +#include +#include +#include +#include +#include + +#ifdef WIN32 +#include +#endif + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_frab_list.h" +#include "lsqpack.h" +#include "lsxpack_header.h" +#include "lsquic_conn.h" +#include "lsquic_qpack_exp.h" +#include "lsquic_util.h" +#include "lsquic_qenc_hdl.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_QENC_HDL +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(qeh->qeh_conn) +#include "lsquic_logger.h" + +#define QENC_MIN_DYN_TABLE_SIZE 32u + +static int +qeh_write_type (struct qpack_enc_hdl *qeh) +{ + int s; + +#ifndef NDEBUG + const char *env = getenv("LSQUIC_RND_VARINT_LEN"); + if (env && atoi(env)) + { + s = rand() & 3; + LSQ_DEBUG("writing %d-byte stream type", 1 << s); + } + else +#endif + s = 0; + + switch (s) + { + case 0: + return lsquic_frab_list_write(&qeh->qeh_fral, + (unsigned char []) { HQUST_QPACK_ENC }, 1); + case 1: + return lsquic_frab_list_write(&qeh->qeh_fral, + (unsigned char []) { 0x40, HQUST_QPACK_ENC }, 2); + case 2: + return lsquic_frab_list_write(&qeh->qeh_fral, + (unsigned char []) { 0x80, 0x00, 0x00, HQUST_QPACK_ENC }, 4); + default: + return lsquic_frab_list_write(&qeh->qeh_fral, + (unsigned char []) { 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + HQUST_QPACK_ENC }, 8); + } +} + + +static void +qeh_begin_out (struct qpack_enc_hdl *qeh) +{ + if (0 == qeh_write_type(qeh) + && (qeh->qeh_tsu_sz == 0 + || 0 == lsquic_frab_list_write(&qeh->qeh_fral, qeh->qeh_tsu_buf, + qeh->qeh_tsu_sz))) + { + LSQ_DEBUG("wrote %zu bytes to frab list", 1 + qeh->qeh_tsu_sz); + lsquic_stream_wantwrite(qeh->qeh_enc_sm_out, 1); + } + else + { + LSQ_WARN("could not write to frab list"); + qeh->qeh_conn->cn_if->ci_internal_error(qeh->qeh_conn, + "cannot write to frab list"); + } +} + + +void +lsquic_qeh_init (struct qpack_enc_hdl *qeh, struct lsquic_conn *conn) +{ + assert(!(qeh->qeh_flags & QEH_INITIALIZED)); + qeh->qeh_conn = conn; + lsquic_frab_list_init(&qeh->qeh_fral, 0x400, NULL, NULL, NULL); + lsqpack_enc_preinit(&qeh->qeh_encoder, (void *) conn); + qeh->qeh_flags |= QEH_INITIALIZED; + qeh->qeh_max_prefix_size = + lsqpack_enc_header_block_prefix_size(&qeh->qeh_encoder); + if (qeh->qeh_dec_sm_in) + lsquic_stream_wantread(qeh->qeh_dec_sm_in, 1); + LSQ_DEBUG("initialized"); +} + + +int +lsquic_qeh_settings (struct qpack_enc_hdl *qeh, unsigned max_table_size, + unsigned dyn_table_size, unsigned max_risked_streams, int server) +{ + enum lsqpack_enc_opts enc_opts; + + assert(qeh->qeh_flags & QEH_INITIALIZED); + + if (qeh->qeh_flags & QEH_HAVE_SETTINGS) + { + LSQ_WARN("settings already set"); + return -1; + } + + enc_opts = LSQPACK_ENC_OPT_STAGE_2 + | (server ? LSQPACK_ENC_OPT_SERVER : 0); + qeh->qeh_tsu_sz = sizeof(qeh->qeh_tsu_buf); + if (QENC_MIN_DYN_TABLE_SIZE > dyn_table_size) + dyn_table_size = 0; + if (0 != lsqpack_enc_init(&qeh->qeh_encoder, (void *) qeh->qeh_conn, + max_table_size, dyn_table_size, max_risked_streams, enc_opts, + qeh->qeh_tsu_buf, &qeh->qeh_tsu_sz)) + { + LSQ_INFO("could not initialize QPACK encoder"); + return -1; + } + LSQ_DEBUG("%zu-byte post-init TSU", qeh->qeh_tsu_sz); + qeh->qeh_flags |= QEH_HAVE_SETTINGS; + qeh->qeh_max_prefix_size = + lsqpack_enc_header_block_prefix_size(&qeh->qeh_encoder); + LSQ_DEBUG("have settings: max table size=%u; dyn table size=%u; max risked " + "streams=%u", max_table_size, dyn_table_size, max_risked_streams); + if (qeh->qeh_enc_sm_out) + qeh_begin_out(qeh); + return 0; +} + + +static void +qeh_log_and_clean_exp_rec (struct qpack_enc_hdl *qeh) +{ + char buf[0x400]; + + qeh->qeh_exp_rec->qer_comp_ratio = lsqpack_enc_ratio(&qeh->qeh_encoder); + (void) lsquic_qpack_exp_to_xml(qeh->qeh_exp_rec, buf, sizeof(buf)); + LSQ_NOTICE("%s", buf); + lsquic_qpack_exp_destroy(qeh->qeh_exp_rec); + qeh->qeh_exp_rec = NULL; +} + + +void +lsquic_qeh_cleanup (struct qpack_enc_hdl *qeh) +{ + if (qeh->qeh_flags & QEH_INITIALIZED) + { + LSQ_DEBUG("cleanup"); + if (qeh->qeh_exp_rec) + qeh_log_and_clean_exp_rec(qeh); + lsqpack_enc_cleanup(&qeh->qeh_encoder); + lsquic_frab_list_cleanup(&qeh->qeh_fral); + memset(qeh, 0, sizeof(*qeh)); + } +} + +static lsquic_stream_ctx_t * +qeh_out_on_new (void *stream_if_ctx, struct lsquic_stream *stream) +{ + struct qpack_enc_hdl *const qeh = stream_if_ctx; + qeh->qeh_enc_sm_out = stream; + if ((qeh->qeh_flags & (QEH_INITIALIZED|QEH_HAVE_SETTINGS)) + == (QEH_INITIALIZED|QEH_HAVE_SETTINGS)) + qeh_begin_out(qeh); + else + qeh->qeh_conn = lsquic_stream_conn(stream); /* Or NULL deref in log */ + LSQ_DEBUG("initialized outgoing encoder stream"); + return (void *) qeh; +} + + +static void +qeh_out_on_write (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct qpack_enc_hdl *const qeh = (void *) ctx; + struct lsquic_reader reader = { + .lsqr_read = lsquic_frab_list_read, + .lsqr_size = lsquic_frab_list_size, + .lsqr_ctx = &qeh->qeh_fral, + }; + ssize_t nw; + + nw = lsquic_stream_writef(stream, &reader); + if (nw >= 0) + { + LSQ_DEBUG("wrote %zd bytes to stream", nw); + (void) lsquic_stream_flush(stream); + if (lsquic_frab_list_empty(&qeh->qeh_fral)) + lsquic_stream_wantwrite(stream, 0); + } + else + { + qeh->qeh_conn->cn_if->ci_internal_error(qeh->qeh_conn, + "cannot write to stream"); + LSQ_WARN("cannot write to stream: %s", strerror(errno)); + lsquic_stream_wantwrite(stream, 0); + } +} + + +static void +qeh_out_on_close (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct qpack_enc_hdl *const qeh = (void *) ctx; + qeh->qeh_enc_sm_out = NULL; + LSQ_DEBUG("closed outgoing encoder stream"); +} + + +static void +qeh_out_on_read (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + assert(0); +} + + +static const struct lsquic_stream_if qeh_enc_sm_out_if = +{ + .on_new_stream = qeh_out_on_new, + .on_read = qeh_out_on_read, + .on_write = qeh_out_on_write, + .on_close = qeh_out_on_close, +}; +const struct lsquic_stream_if *const lsquic_qeh_enc_sm_out_if = + &qeh_enc_sm_out_if; + + +static lsquic_stream_ctx_t * +qeh_in_on_new (void *stream_if_ctx, struct lsquic_stream *stream) +{ + struct qpack_enc_hdl *const qeh = stream_if_ctx; + qeh->qeh_dec_sm_in = stream; + if (qeh->qeh_flags & QEH_INITIALIZED) + lsquic_stream_wantread(qeh->qeh_dec_sm_in, 1); + else + qeh->qeh_conn = lsquic_stream_conn(stream); /* Or NULL deref in log */ + LSQ_DEBUG("initialized incoming decoder stream"); + return (void *) qeh; +} + + +static size_t +qeh_read_decoder_stream (void *ctx, const unsigned char *buf, size_t sz, + int fin) +{ + struct qpack_enc_hdl *const qeh = (void *) ctx; + uint64_t offset; + int s; + + if (fin) + { + LSQ_INFO("decoder stream is closed"); + qeh->qeh_conn->cn_if->ci_abort_error(qeh->qeh_conn, 1, + HEC_CLOSED_CRITICAL_STREAM, "Peer closed QPACK decoder stream"); + goto end; + } + + offset = lsquic_stream_read_offset(qeh->qeh_dec_sm_in); + s = lsqpack_enc_decoder_in(&qeh->qeh_encoder, buf, sz); + if (s != 0) + { + LSQ_INFO("error reading decoder stream"); + qeh->qeh_conn->cn_if->ci_abort_error(qeh->qeh_conn, 1, + HEC_QPACK_DECODER_STREAM_ERROR, "Error interpreting QPACK decoder " + "stream at offset %"PRIu64, offset); + goto end; + } + LSQ_DEBUG("successfully fed %zu bytes to QPACK decoder", sz); + + end: + return sz; +} + + +static void +qeh_in_on_read (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct qpack_enc_hdl *const qeh = (void *) ctx; + ssize_t nread; + + nread = lsquic_stream_readf(stream, qeh_read_decoder_stream, qeh); + if (nread <= 0) + { + if (nread < 0) + { + LSQ_WARN("cannot read from decoder stream: %s", strerror(errno)); + qeh->qeh_conn->cn_if->ci_internal_error(qeh->qeh_conn, + "cannot read from decoder stream"); + } + else + { + LSQ_INFO("decoder stream closed by peer: abort connection"); + qeh->qeh_conn->cn_if->ci_abort_error(qeh->qeh_conn, 1, + HEC_CLOSED_CRITICAL_STREAM, "decoder stream closed"); + } + lsquic_stream_wantread(stream, 0); + } +} + + +static void +qeh_in_on_close (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + struct qpack_enc_hdl *const qeh = (void *) ctx; + LSQ_DEBUG("closed incoming decoder stream"); + qeh->qeh_dec_sm_in = NULL; +} + + +static void +qeh_in_on_write (struct lsquic_stream *stream, lsquic_stream_ctx_t *ctx) +{ + assert(0); +} + + +static const struct lsquic_stream_if qeh_dec_sm_in_if = +{ + .on_new_stream = qeh_in_on_new, + .on_read = qeh_in_on_read, + .on_write = qeh_in_on_write, + .on_close = qeh_in_on_close, +}; +const struct lsquic_stream_if *const lsquic_qeh_dec_sm_in_if = + &qeh_dec_sm_in_if; + + +static void +qeh_maybe_set_user_agent (struct qpack_enc_hdl *qeh, + const struct lsquic_http_headers *headers) +{ + const char *const name = qeh->qeh_exp_rec->qer_flags & QER_SERVER ? + "server" : "user-agent"; + const size_t len = qeh->qeh_exp_rec->qer_flags & QER_SERVER ? 6 : 10; + int i; + + for (i = 0; i < headers->count; ++i) + if (len == headers->headers[i].name_len + && 0 == memcmp(name, + lsxpack_header_get_name(&headers->headers[i]), len)) + { + qeh->qeh_exp_rec->qer_user_agent = strndup( + lsxpack_header_get_value(&headers->headers[i]), + headers->headers[i].val_len); + break; + } +} + + +static enum qwh_status +qeh_write_headers (struct qpack_enc_hdl *qeh, lsquic_stream_id_t stream_id, + unsigned seqno, const struct lsquic_http_headers *headers, + unsigned char *buf, size_t *prefix_sz, size_t *headers_sz, + uint64_t *completion_offset, enum lsqpack_enc_header_flags *hflags) +{ + unsigned char *p = buf; + unsigned char *const end = buf + *headers_sz; + const unsigned char *enc_p; + size_t enc_sz, hea_sz, total_enc_sz; + ssize_t nw; + enum lsqpack_enc_status st; + int i, s, write_to_stream; + enum lsqpack_enc_flags enc_flags; + enum qwh_status retval; +#ifndef WIN32 + unsigned char enc_buf[ qeh->qeh_encoder.qpe_cur_max_capacity * 2 ]; +#else + unsigned char *enc_buf; + enc_buf = _malloca(qeh->qeh_encoder.qpe_cur_max_capacity * 2); + if (!enc_buf) + return QWH_ERR; +#endif + + if (qeh->qeh_exp_rec) + { + const lsquic_time_t now = lsquic_time_now(); + if (qeh->qeh_exp_rec->qer_hblock_count == 0) + qeh->qeh_exp_rec->qer_first_req = now; + qeh->qeh_exp_rec->qer_last_req = now; + ++qeh->qeh_exp_rec->qer_hblock_count; + if (!qeh->qeh_exp_rec->qer_user_agent) + qeh_maybe_set_user_agent(qeh, headers); + } + + s = lsqpack_enc_start_header(&qeh->qeh_encoder, stream_id, 0); + if (s != 0) + { + LSQ_WARN("cannot start header"); + retval = QWH_ERR; + goto end; + } + LSQ_DEBUG("begin encoding headers for stream %"PRIu64, stream_id); + + if (qeh->qeh_enc_sm_out) + enc_flags = 0; + else + { + enc_flags = LQEF_NO_INDEX; + LSQ_DEBUG("encoder stream is unavailable, won't index headers"); + } + write_to_stream = qeh->qeh_enc_sm_out + && lsquic_frab_list_empty(&qeh->qeh_fral); + total_enc_sz = 0; + for (i = 0; i < headers->count; ++i) + { + if (headers->headers[i].buf == NULL) + continue; + enc_sz = qeh->qeh_encoder.qpe_cur_max_capacity * 2; + hea_sz = end - p; + st = lsqpack_enc_encode(&qeh->qeh_encoder, enc_buf, &enc_sz, p, + &hea_sz, &headers->headers[i], enc_flags); + switch (st) + { + case LQES_OK: + LSQ_DEBUG("encoded `%.*s': `%.*s' -- %zd bytes to header block, " + "%zd bytes to encoder stream", + (int) headers->headers[i].name_len, + lsxpack_header_get_name(&headers->headers[i]), + (int) headers->headers[i].val_len, + lsxpack_header_get_value(&headers->headers[i]), + hea_sz, enc_sz); + total_enc_sz += enc_sz; + p += hea_sz; + if (enc_sz) + { + if (write_to_stream) + { + nw = lsquic_stream_write(qeh->qeh_enc_sm_out, enc_buf, enc_sz); + if ((size_t) nw == enc_sz) + break; + if (nw < 0) + { + LSQ_INFO("could not write to encoder stream: %s", + strerror(errno)); + retval = QWH_ERR; + goto end; + } + write_to_stream = 0; + enc_p = enc_buf + (size_t) nw; + enc_sz -= (size_t) nw; + } + else + enc_p = enc_buf; + if (0 != lsquic_frab_list_write(&qeh->qeh_fral, enc_p, enc_sz)) + { + LSQ_INFO("could not write to frab list"); + retval = QWH_ERR; + goto end; + } + } + break; + case LQES_NOBUF_HEAD: + retval = QWH_ENOBUF; + goto end; + default: + assert(0); + retval = QWH_ERR; + goto end; + case LQES_NOBUF_ENC: + LSQ_DEBUG("not enough room to write encoder stream data"); + retval = QWH_ERR; + goto end; + } + } + + nw = lsqpack_enc_end_header(&qeh->qeh_encoder, buf - *prefix_sz, + *prefix_sz, hflags); + if (nw <= 0) + { + LSQ_WARN("could not end header: %zd", nw); + retval = QWH_ERR; + goto end; + } + + if ((size_t) nw < *prefix_sz) + { + memmove(buf - nw, buf - *prefix_sz, (size_t) nw); + *prefix_sz = (size_t) nw; + } + *headers_sz = p - buf; + if (qeh->qeh_exp_rec) + qeh->qeh_exp_rec->qer_hblock_size += p - buf; + if (lsquic_frab_list_empty(&qeh->qeh_fral)) + { + LSQ_DEBUG("all %zd bytes of encoder stream written out; header block " + "is %zd bytes; estimated compression ratio %.3f", total_enc_sz, + *headers_sz, lsqpack_enc_ratio(&qeh->qeh_encoder)); + retval = QWH_FULL; + goto end; + } + else + { + *completion_offset = lsquic_qeh_enc_off(qeh) + + lsquic_frab_list_size(&qeh->qeh_fral); + LSQ_DEBUG("not all %zd bytes of encoder stream written out; %zd bytes " + "buffered; header block is %zd bytes; estimated compression ratio " + "%.3f", total_enc_sz, lsquic_frab_list_size(&qeh->qeh_fral), + *headers_sz, lsqpack_enc_ratio(&qeh->qeh_encoder)); + retval = QWH_PARTIAL; + lsquic_stream_wantwrite(qeh->qeh_enc_sm_out, 1); + goto end; + } + + end: +#ifdef WIN32 + _freea(enc_buf); +#endif + return retval; +} + + +#if !defined(NDEBUG) && __GNUC__ +__attribute__((weak)) +#endif +enum qwh_status +lsquic_qeh_write_headers (struct qpack_enc_hdl *qeh, + lsquic_stream_id_t stream_id, unsigned seqno, + const struct lsquic_http_headers *headers, unsigned char *buf, + size_t *prefix_sz, size_t *headers_sz, uint64_t *completion_offset, + enum lsqpack_enc_header_flags *hflags) +{ + if (qeh->qeh_flags & QEH_INITIALIZED) + return qeh_write_headers(qeh, stream_id, seqno, headers, buf, + prefix_sz, headers_sz, completion_offset, hflags); + else + return QWH_ERR; +} + + +#if !defined(NDEBUG) && __GNUC__ +__attribute__((weak)) +#endif +uint64_t +lsquic_qeh_enc_off (struct qpack_enc_hdl *qeh) +{ + if (qeh->qeh_enc_sm_out) + return qeh->qeh_enc_sm_out->tosend_off; + else + return 0; +} + + +size_t +lsquic_qeh_write_avail (struct qpack_enc_hdl *qeh) +{ + if ((qeh->qeh_flags & QEH_INITIALIZED) && qeh->qeh_enc_sm_out) + return lsquic_stream_write_avail(qeh->qeh_enc_sm_out); + else if (qeh->qeh_flags & QEH_INITIALIZED) + return ~((size_t) 0); /* Unlimited write */ + else + return 0; +} + + +size_t +lsquic_qeh_max_prefix_size (const struct qpack_enc_hdl *qeh) +{ + if (qeh->qeh_flags & QEH_HAVE_SETTINGS) + return qeh->qeh_max_prefix_size; + else + return LSQPACK_UINT64_ENC_SZ * 2; +} diff --git a/external/lsquic/src/liblsquic/lsquic_qenc_hdl.h b/external/lsquic/src/liblsquic/lsquic_qenc_hdl.h new file mode 100644 index 0000000..c9f96b2 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qenc_hdl.h @@ -0,0 +1,82 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_qenc_hdl.h -- QPACK encoder streams handler + * + * The handler owns two unidirectional streams: a) locally-initiated QPACK + * encoder stream, to which it writes; and b) peer-initiated QPACK decoder + * stream, from which it reads. + */ + +#ifndef LSQUIC_QENC_HDL_H +#define LSQUIC_QENC_HDL_H 1 + +struct lsquic_conn; +struct lsquic_stream; +struct lsquic_stream_if; +struct qpack_exp_record; + +struct qpack_enc_hdl +{ + struct lsquic_conn *qeh_conn; + enum { + QEH_INITIALIZED = 1 << 0, + QEH_HAVE_SETTINGS = 1 << 1, + } qeh_flags; + unsigned qeh_max_prefix_size; + struct lsqpack_enc qeh_encoder; + struct lsquic_stream *qeh_enc_sm_out; + struct frab_list qeh_fral; + struct lsquic_stream *qeh_dec_sm_in; + struct qpack_exp_record *qeh_exp_rec; + size_t qeh_tsu_sz; + unsigned char qeh_tsu_buf[LSQPACK_LONGEST_SDTC]; +}; + +void +lsquic_qeh_init (struct qpack_enc_hdl *, struct lsquic_conn *); + +int +lsquic_qeh_settings (struct qpack_enc_hdl *, unsigned max_table_size, + unsigned dyn_table_size, unsigned max_risked_streams, int server); + +void +lsquic_qeh_cleanup (struct qpack_enc_hdl *); + +static inline unsigned +lsquic_qeh_has_dec_stream (const struct qpack_enc_hdl *qeh) +{ + return qeh->qeh_dec_sm_in != NULL; +} + +enum qwh_status { + QWH_FULL, /* All bytes written to encoder stream. This is also returned + * if there were no bytes to write. + */ + QWH_PARTIAL,/* Not all bytes are written to the encoder stream. In this + * case, `completion_offset' is set to the value of the + * encoder stream offset when the necessary bytes will have + * been written. + */ + QWH_ENOBUF, /* Not enough room in `buf' to write the full header block */ + QWH_ERR, /* Some other error */ +}; + +enum qwh_status +lsquic_qeh_write_headers (struct qpack_enc_hdl *, lsquic_stream_id_t stream_id, + unsigned seqno, const struct lsquic_http_headers *, unsigned char *buf, + size_t *prefix_sz, size_t *headers_sz, uint64_t *completion_offset, + enum lsqpack_enc_header_flags *hflags); + +uint64_t +lsquic_qeh_enc_off (struct qpack_enc_hdl *); + +size_t +lsquic_qeh_write_avail (struct qpack_enc_hdl *); + +size_t +lsquic_qeh_max_prefix_size (const struct qpack_enc_hdl *); + +extern const struct lsquic_stream_if *const lsquic_qeh_enc_sm_out_if; +extern const struct lsquic_stream_if *const lsquic_qeh_dec_sm_in_if; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_qlog.c b/external/lsquic/src/liblsquic/lsquic_qlog.c new file mode 100644 index 0000000..cde7b53 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qlog.c @@ -0,0 +1,266 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include +#include +#ifdef WIN32 +#include +#else +#include +#include +#include +#include +#endif + +#include +#include + +#include "lsquic.h" +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_util.h" +#include "lsquic_qlog.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_QLOG +#include "lsquic_logger.h" + +#define LSQUIC_LOG_CONN_ID cid +#define LCID(...) LSQ_LOG2(LSQ_LOG_DEBUG, __VA_ARGS__) + +#define MAX_IP_LEN INET6_ADDRSTRLEN +#define QLOG_PACKET_RAW_SZ 64 + + +void +lsquic_qlog_create_connection (const lsquic_cid_t* cid, + const struct sockaddr *local_sa, + const struct sockaddr *peer_sa) +{ + uint32_t ip_version, srcport, dstport; + struct sockaddr_in *local4, *peer4; + struct sockaddr_in6 *local6, *peer6; + char srcip[MAX_IP_LEN], dstip[MAX_IP_LEN]; + + if (!local_sa || !peer_sa) + return; + + if (local_sa->sa_family == AF_INET) + { + ip_version = 4; + local4 = (struct sockaddr_in *)local_sa; + peer4 = (struct sockaddr_in *)peer_sa; + srcport = ntohs(local4->sin_port); + dstport = ntohs(peer4->sin_port); + inet_ntop(local4->sin_family, &local4->sin_addr, srcip, MAX_IP_LEN); + inet_ntop(peer4->sin_family, &peer4->sin_addr, dstip, MAX_IP_LEN); + } + else if (local_sa->sa_family == AF_INET6) + { + ip_version = 6; + local6 = (struct sockaddr_in6 *)local_sa; + peer6 = (struct sockaddr_in6 *)peer_sa; + srcport = ntohs(local6->sin6_port); + dstport = ntohs(peer6->sin6_port); + inet_ntop(local6->sin6_family, &local6->sin6_addr, srcip, MAX_IP_LEN); + inet_ntop(peer6->sin6_family, &peer6->sin6_addr, dstip, MAX_IP_LEN); + } + else + return; + + LCID("[%" PRIu64 ",\"CONNECTIVITY\",\"NEW_CONNECTION\",\"LINE\"," + "{" + "\"ip_version\":\"%u\"," + "\"srcip\":\"%s\"," + "\"dstip\":\"%s\"," + "\"srcport\":\"%u\"," + "\"dstport\":\"%u\"" + "}]", + lsquic_time_now(), ip_version, srcip, dstip, srcport, dstport); +} + + +#define QLOG_FRAME_DICT_PREFIX_COMMA ",{\"frame_type\":\"" +#define QLOG_FRAME_DICT_PREFIX "{\"frame_type\":\"" +#define QLOG_FRAME_DICT_SUFFIX "\"}" +#define QLOG_FRAME_LIST_PREFIX ",\"frames\":[" +#define QLOG_FRAME_LIST_SUFFIX "]" +#define QLOG_FRAME_LIST_MAX \ + sizeof(QLOG_FRAME_LIST_PREFIX) + \ + sizeof(QLOG_FRAME_LIST_SUFFIX) + \ + lsquic_frame_types_str_sz + \ + (N_QUIC_FRAMES * \ + (sizeof(QLOG_FRAME_DICT_PREFIX_COMMA) + \ + sizeof(QLOG_FRAME_DICT_SUFFIX))) + +void +lsquic_qlog_packet_rx (const lsquic_cid_t* cid, + const struct lsquic_packet_in *packet_in, + const unsigned char *packet_in_data, + size_t packet_in_size) +{ + int i, first, ret; + unsigned cur; + size_t raw_bytes_written; + char data[QLOG_PACKET_RAW_SZ]; + char frame_list[QLOG_FRAME_LIST_MAX + 1]; + + if (!packet_in || !packet_in_data) + return; + + if (packet_in->pi_frame_types) + { + memcpy(frame_list, QLOG_FRAME_LIST_PREFIX, + sizeof(QLOG_FRAME_LIST_PREFIX)); + cur = sizeof(QLOG_FRAME_LIST_PREFIX) - 1; + for (i = 0, first = 0; i < N_QUIC_FRAMES; i++) + if (packet_in->pi_frame_types & (1 << i)) + { + ret = snprintf(frame_list + cur, + QLOG_FRAME_LIST_MAX - cur, + /* prefix + FRAME_NAME + suffix */ + "%s%s%s", + /* skip comma in prefix if first frame */ + (first++ ? + QLOG_FRAME_DICT_PREFIX_COMMA : + QLOG_FRAME_DICT_PREFIX), + QUIC_FRAME_NAME(i), + QLOG_FRAME_DICT_SUFFIX); + if (ret < 0 || (unsigned)ret > QLOG_FRAME_LIST_MAX - cur) + break; + cur += ret; + } + if (cur + sizeof(QLOG_FRAME_LIST_SUFFIX) <= QLOG_FRAME_LIST_MAX) + memcpy(frame_list + cur, QLOG_FRAME_LIST_SUFFIX, + sizeof(QLOG_FRAME_LIST_SUFFIX)); + } + else + frame_list[0] = '\0'; + + raw_bytes_written = lsquic_hex_encode(packet_in_data, packet_in_size, + data, QLOG_PACKET_RAW_SZ); + + LCID("[%" PRIu64 ",\"TRANSPORT\",\"PACKET_RX\",\"LINE\"," + "{" + "\"raw\":\"%s%s\"," + "\"header\":{" + "\"type\":\"%s\"," + "\"payload_length\":\"%d\"," + "\"packet_number\":\"%" PRIu64 "\"" + "}%s" + "}]", + packet_in->pi_received, + data, (raw_bytes_written < packet_in_size) ? "..." : "", + lsquic_hety2str[packet_in->pi_header_type], + packet_in->pi_data_sz, + packet_in->pi_packno, + frame_list); +} + + +void +lsquic_qlog_hsk_completed (const lsquic_cid_t* cid) +{ + LCID("[%" PRIu64 ",\"CONNECTIVITY\",\"HANDSHAKE\",\"PACKET_RX\"," + "{\"status\":\"complete\"}]", lsquic_time_now()); +} + + +void +lsquic_qlog_sess_resume (const lsquic_cid_t* cid) +{ + LCID("[%" PRIu64 ",\"RECOVERY\",\"RTT_UPDATE\",\"PACKET_RX\"," + "{\"zero_rtt\":\"successful\"}]", lsquic_time_now()); +} + + +void +lsquic_qlog_check_certs (const lsquic_cid_t* cid, const lsquic_str_t **certs, + size_t count) +{ + size_t i; + size_t buf_sz = 0; + char *buf = NULL; + char *new_buf; + + for (i = 0; i < count; i++) + { + if (buf_sz < (lsquic_str_len(certs[i]) * 2) + 1) + { + buf_sz = (lsquic_str_len(certs[i]) * 2) + 1; + new_buf = realloc(buf, buf_sz); + if (!new_buf) + break; + buf = new_buf; + } + lsquic_hex_encode(lsquic_str_cstr(certs[i]), lsquic_str_len(certs[i]), + buf, buf_sz); + LCID("[%" PRIu64 ",\"SECURITY\",\"CHECK_CERT\",\"CERTLOG\"," + "{\"certificate\":\"%s\"}]", lsquic_time_now(), buf); + } + if (buf) + free(buf); +} + + +void +lsquic_qlog_cert_chain (const lsquic_cid_t* cid, struct stack_st_X509 *chain) +{ + X509 *cert; + unsigned i; + unsigned char *buf; + char *hexbuf, *newbuf; + size_t hexbuf_sz; + int len; + lsquic_time_t now; + + now = lsquic_time_now(); + hexbuf = NULL; + hexbuf_sz = 0; + for (i = 0; i < sk_X509_num(chain); ++i) + { + cert = sk_X509_value(chain, i); + buf = NULL; + len = i2d_X509(cert, &buf); + if (len <= 0) + break; + if ((size_t) len * 2 + 1 > hexbuf_sz) + { + hexbuf_sz = len * 2 + 1; + newbuf = realloc(hexbuf, hexbuf_sz); + if (!newbuf) + break; + hexbuf = newbuf; + } + lsquic_hexstr(buf, (size_t) len, hexbuf, hexbuf_sz); + LCID("[%" PRIu64 ",\"SECURITY\",\"CHECK_CERT\",\"CERTLOG\"," + "{\"certificate\":\"%s\"}]", now, hexbuf); + OPENSSL_free(buf); + } + + if (hexbuf) + free(hexbuf); +} + + +void +lsquic_qlog_version_negotiation (const lsquic_cid_t* cid, + const char *action, const char *ver) +{ + char *trig; + + if (!action || !ver) + return; + if (strcmp(action, "proposed") == 0) + trig = "LINE"; + else if (strcmp(action, "supports") == 0 || strcmp(action, "agreed") == 0) + trig = "PACKET_RX"; + else + return; + LCID("[%" PRIu64 ",\"CONNECTIVITY\",\"VERNEG\",\"%s\"," + "{\"%s_version\":\"%s\"}]", lsquic_time_now(), trig, action, ver); +} diff --git a/external/lsquic/src/liblsquic/lsquic_qlog.h b/external/lsquic/src/liblsquic/lsquic_qlog.h new file mode 100644 index 0000000..60aacd4 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qlog.h @@ -0,0 +1,94 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_qlog.h -- QLOG Event logger + */ + +#ifndef LSQUIC_QLOG_H +#define LSQUIC_QLOG_H 1 + +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_str.h" + +struct stack_st_X509; + +/* +EventCategory + CONNECTIVITY + SECURITY + TRANSPORT + RECOVERY + +EventType + CONNECTIVITY + NEW_CONNECTION ++ VERNEG ++ HANDSHAKE + SECURITY ++ CHECK_CERT + KEY_UPDATE + TRANSPORT ++ PACKET_RX + STREAM_NEW + ACK_NEW + MAXDATA_NEW + MAXSTREAMDATA_NEW + RECOVERY + LOSS_DETECTION_ARMED + LOSS_DETECTION_POSTPONED + LOSS_DETECTION_TRIGGERED + BYTES_IN_FLIGHT_UPDATE + CWND_UPDATE + RTT_UPDATE + +EventTrigger + CONNECTIVITY + LINE ++ PACKET_RX + SECURITY ++ CERTLOG + KEYLOG + TRANSPORT + LINE + PACKET_TX + PACKET_RX + RECOVERY + ACK_RX + PACKET_RX + UNKNOWN + +EventData + EventNewConnection + EventKeyUpdate + EventPacketRX +*/ + +void +lsquic_qlog_create_connection (const lsquic_cid_t *, const struct sockaddr *, + const struct sockaddr *); + +void +lsquic_qlog_packet_rx (const lsquic_cid_t * cid, const struct lsquic_packet_in *, + const unsigned char *, size_t); + +#define QLOG_PACKET_RX(...) do { \ + if (LSQ_LOG_ENABLED_EXT(LSQ_LOG_DEBUG, LSQLM_QLOG)) \ + lsquic_qlog_packet_rx(__VA_ARGS__); \ +} while (0) + +void +lsquic_qlog_hsk_completed (const lsquic_cid_t *); + +void +lsquic_qlog_sess_resume (const lsquic_cid_t *); + +void +lsquic_qlog_check_certs (const lsquic_cid_t *, const lsquic_str_t **, size_t); + +void +lsquic_qlog_cert_chain (const lsquic_cid_t *, struct stack_st_X509 *); + +void +lsquic_qlog_version_negotiation (const lsquic_cid_t *, const char *, const char *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_qpack_exp.c b/external/lsquic/src/liblsquic/lsquic_qpack_exp.c new file mode 100644 index 0000000..fae37cc --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qpack_exp.c @@ -0,0 +1,66 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include + +#include "lsquic_int_types.h" +#include "lsquic_qpack_exp.h" + + +struct qpack_exp_record * +lsquic_qpack_exp_new (void) +{ + return calloc(1, sizeof(struct qpack_exp_record)); +} + + +void +lsquic_qpack_exp_destroy (struct qpack_exp_record *exp) +{ + free(exp->qer_user_agent); + free(exp); +} + + +static const char *const flag2tag[] = { + [QER_SERVER|QER_ENCODER] = "server", + [QER_SERVER|0] = "user-agent", + [0 |QER_ENCODER] = "user-agent", + [0 |0] = "server", +}; + + +int +lsquic_qpack_exp_to_xml (const struct qpack_exp_record *exp, char *buf, + size_t buf_sz) +{ + const char *const tag = flag2tag[exp->qer_flags & (QER_SERVER|QER_ENCODER)]; + + return snprintf(buf, buf_sz, + "" + "%s" + "%"PRIu64"" + "%u" + "%u" + "%u" + "%u" + "%u" + "%u" + "%.3f" + /* We just print unescaped string... */ + "<%s>%s" + "" + , exp->qer_flags & QER_ENCODER ? "encoder" : "decoder" + , (exp->qer_last_req - exp->qer_first_req) / 1000 /* Milliseconds */ + , exp->qer_hblock_count + , exp->qer_hblock_size + , exp->qer_peer_max_size + , exp->qer_used_max_size + , exp->qer_peer_max_blocked + , exp->qer_used_max_blocked + , exp->qer_comp_ratio + , tag + , exp->qer_user_agent ? exp->qer_user_agent : "" + , tag + ); +} diff --git a/external/lsquic/src/liblsquic/lsquic_qpack_exp.h b/external/lsquic/src/liblsquic/lsquic_qpack_exp.h new file mode 100644 index 0000000..235b615 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qpack_exp.h @@ -0,0 +1,71 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* QPACK Experiment record */ + +#ifndef LSQUIC_QPACK_EXP_H +#define LSQUIC_QPACK_EXP_H + +struct qpack_exp_record +{ + enum { + QER_SERVER = 1 << 0, /* Client or server */ + QER_ENCODER = 1 << 1, /* If not set, this is decoder */ + } qer_flags; + + /* Timestamp of the first request */ + lsquic_time_t qer_first_req; + + /* Timestamp of the last request */ + lsquic_time_t qer_last_req; + + /* Number of header blocks passed through the encoder or the decoder */ + unsigned qer_hblock_count; + + /* Cumulative size of all header blocks processed */ + unsigned qer_hblock_size; + + /* For encoder, the "peer max size" is the maximum size advertised by + * the peer and the "used max size" is the maximum size that our + * encoder ends up using (the value selected by experiment). + * + * For decoder, the "used max size" is the maximum size we advertize + * (selecte by experiment), while the "peer max size" is the size the + * encoder uses as given by the value of the last TSU instruction. + */ + unsigned qer_peer_max_size; + unsigned qer_used_max_size; + + /* For encoder, the "peer max blocked" is the maximum number of blocked + * streams advertised by the peer, while the "used max blocked" is the + * self-imposed limit (selected by experiment). + * + * For decoder, the "used max blocked" is the maximum number of blocked + * streams that we advertised (selected by experiment) and the "peer max + * blocked" is the total number of times a header was blocked. Note + * that the latter does not count the duration of blockage and it may be + * insignificant. For example, a single packet may have header block + * packaged before the required encoder stream update, in which case the + * header block will be blocked and then unblocked immediately. + */ + unsigned qer_peer_max_blocked; + unsigned qer_used_max_blocked; + + /* The compression ratio is taken when experiment concludes via + * lsqpack_enc_ratio() or lsqpack_dec_ratio(). + */ + float qer_comp_ratio; + + /* Either 'Server:' or 'User-Agent:' */ + char *qer_user_agent; +}; + +struct qpack_exp_record * +lsquic_qpack_exp_new (void); + +void +lsquic_qpack_exp_destroy (struct qpack_exp_record *); + +/* Returns same as snprintf(3) */ +int +lsquic_qpack_exp_to_xml (const struct qpack_exp_record *, char *, size_t); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_qtags.h b/external/lsquic/src/liblsquic/lsquic_qtags.h new file mode 100644 index 0000000..9d3e02c --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_qtags.h @@ -0,0 +1,62 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_QTAGS_H +#define LSQUIC_QTAGS_H 1 + +#define TAG(a, b, c, d) ((uint32_t)(((unsigned) d << 24) + \ + ((unsigned) c << 16) + ((unsigned) b << 8) + (unsigned) a)) + +#define QTAG_AEAD TAG('A', 'E', 'A', 'D') +#define QTAG_AESG TAG('A', 'E', 'S', 'G') +#define QTAG_C255 TAG('C', '2', '5', '5') +#define QTAG_CCRT TAG('C', 'C', 'R', 'T') +#define QTAG_CCS TAG('C', 'C', 'S', 0 ) +#define QTAG_CFCW TAG('C', 'F', 'C', 'W') +#define QTAG_CHLO TAG('C', 'H', 'L', 'O') +#define QTAG_COPT TAG('C', 'O', 'P', 'T') +#define QTAG_CSCT TAG('C', 'S', 'C', 'T') +#define QTAG_EXPY TAG('E', 'X', 'P', 'Y') +#define QTAG_ICSL TAG('I', 'C', 'S', 'L') +#define QTAG_IRTT TAG('I', 'R', 'T', 'T') +#define QTAG_KEXS TAG('K', 'E', 'X', 'S') +#define QTAG_MIDS TAG('M', 'I', 'D', 'S') +#define QTAG_NONC TAG('N', 'O', 'N', 'C') +#define QTAG_ORBT TAG('O', 'B', 'I', 'T') +#define QTAG_PAD TAG('P', 'A', 'D', 0 ) +#define QTAG_PDMD TAG('P', 'D', 'M', 'D') +#define QTAG_PROF TAG('P', 'R', 'O', 'F') +#define QTAG_PUBS TAG('P', 'U', 'B', 'S') +#define QTAG_RCID TAG('R', 'C', 'I', 'D') +#define QTAG_REJ TAG('R', 'E', 'J', 0 ) +#define QTAG_RREJ TAG('R', 'R', 'E', 'J') +#define QTAG_SCFG TAG('S', 'C', 'F', 'G') +#define QTAG_SCID TAG('S', 'C', 'I', 'D') +#define QTAG_SCLS TAG('S', 'C', 'L', 'S') +#define QTAG_SFCW TAG('S', 'F', 'C', 'W') +#define QTAG_SHLO TAG('S', 'H', 'L', 'O') +#define QTAG_SNI TAG('S', 'N', 'I', 0 ) +#define QTAG_SREJ TAG('S', 'R', 'E', 'J') +#define QTAG_STTL TAG('S', 'T', 'T', 'L') +#define QTAG_TCID TAG('T', 'C', 'I', 'D') +#define QTAG_UAID TAG('U', 'A', 'I', 'D') +#define QTAG_VER TAG('V', 'E', 'R', 0 ) +#define QTAG_X509 TAG('X', '5', '0', '9') +#define QTAG_XLCT TAG('X', 'L', 'C', 'T') +#define QTAG_STK TAG('S', 'T', 'K', '\0') +#define QTAG_SNO TAG('S', 'N', 'O', '\0') +#define QTAG_CRT TAG('C', 'R', 'T', '\xFF') + +/* SMHL: Support SETTINGS_MAX_HEADER_LIST_SIZE. Based on comments in + * Chrome code, this setting frame will be supported by default in + * Q037. + */ +#define QTAG_SMHL TAG('S', 'M', 'H', 'L') + +/* Supported in Q037 and later. If this option is specified in the + * handshake, do not send or process STOP_WINDOW frames. + */ +#define QTAG_NSTP TAG('N', 'S', 'T', 'P') + +/* Stateless reset token. Used in Q044 and later. */ +#define QTAG_SRST TAG('S', 'R', 'S', 'T') + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_rapidhash.h b/external/lsquic/src/liblsquic/lsquic_rapidhash.h new file mode 100755 index 0000000..4a84a5d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_rapidhash.h @@ -0,0 +1,324 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * rapidhash - Very fast, high quality, platform-independent hashing algorithm. + * Copyright (C) 2024 Nicolas De Carli + * + * Based on 'wyhash', by Wang Yi + * + * BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * You can contact the author at: + * - rapidhash source repository: https://github.com/Nicoshev/rapidhash + */ + +/* + * Includes. + */ +#include +#include +#if defined(_MSC_VER) + #include + #if defined(_M_X64) && !defined(_M_ARM64EC) + #pragma intrinsic(_umul128) + #endif +#endif + +/* + * C++ macros. + * + * RAPIDHASH_INLINE can be overridden to be stronger than a hint, i.e. by adding __attribute__((always_inline)). + */ +#ifdef __cplusplus + #define RAPIDHASH_NOEXCEPT noexcept + #define RAPIDHASH_CONSTEXPR constexpr + #ifndef RAPIDHASH_INLINE + #define RAPIDHASH_INLINE inline + #endif +#else + #define RAPIDHASH_NOEXCEPT + #define RAPIDHASH_CONSTEXPR static const + #ifndef RAPIDHASH_INLINE + #define RAPIDHASH_INLINE static inline + #endif +#endif + +/* + * Protection macro, alters behaviour of rapid_mum multiplication function. + * + * RAPIDHASH_FAST: Normal behavior, max speed. + * RAPIDHASH_PROTECTED: Extra protection against entropy loss. + */ +#ifndef RAPIDHASH_PROTECTED + #define RAPIDHASH_FAST +#elif defined(RAPIDHASH_FAST) + #error "cannot define RAPIDHASH_PROTECTED and RAPIDHASH_FAST simultaneously." +#endif + +/* + * Unrolling macros, changes code definition for main hash function. + * + * RAPIDHASH_COMPACT: Legacy variant, each loop process 48 bytes. + * RAPIDHASH_UNROLLED: Unrolled variant, each loop process 96 bytes. + * + * Most modern CPUs should benefit from having RAPIDHASH_UNROLLED. + * + * These macros do not alter the output hash. + */ +#ifndef RAPIDHASH_COMPACT + #define RAPIDHASH_UNROLLED +#elif defined(RAPIDHASH_UNROLLED) + #error "cannot define RAPIDHASH_COMPACT and RAPIDHASH_UNROLLED simultaneously." +#endif + +/* + * Likely and unlikely macros. + */ +#if defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__clang__) + #define _likely_(x) __builtin_expect(x,1) + #define _unlikely_(x) __builtin_expect(x,0) +#else + #define _likely_(x) (x) + #define _unlikely_(x) (x) +#endif + +/* + * Endianness macros. + */ +#ifndef RAPIDHASH_LITTLE_ENDIAN + #if defined(_WIN32) || defined(__LITTLE_ENDIAN__) || (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + #define RAPIDHASH_LITTLE_ENDIAN + #elif defined(__BIG_ENDIAN__) || (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) + #define RAPIDHASH_BIG_ENDIAN + #else + #warning "could not determine endianness! Falling back to little endian." + #define RAPIDHASH_LITTLE_ENDIAN + #endif +#endif + +/* + * Default seed. + */ +#define RAPID_SEED (0xbdd89aa982704029ull) + +/* + * Default secret parameters. + */ +RAPIDHASH_CONSTEXPR uint64_t rapid_secret[3] = {0x2d358dccaa6c78a5ull, 0x8bb84b93962eacc9ull, 0x4b33a62ed433d4a3ull}; + +/* + * 64*64 -> 128bit multiply function. + * + * @param A Address of 64-bit number. + * @param B Address of 64-bit number. + * + * Calculates 128-bit C = *A * *B. + * + * When RAPIDHASH_FAST is defined: + * Overwrites A contents with C's low 64 bits. + * Overwrites B contents with C's high 64 bits. + * + * When RAPIDHASH_PROTECTED is defined: + * Xors and overwrites A contents with C's low 64 bits. + * Xors and overwrites B contents with C's high 64 bits. + */ +RAPIDHASH_INLINE void rapid_mum(uint64_t *A, uint64_t *B) RAPIDHASH_NOEXCEPT { +#if defined(__SIZEOF_INT128__) + __uint128_t r=*A; r*=*B; + #ifdef RAPIDHASH_PROTECTED + *A^=(uint64_t)r; *B^=(uint64_t)(r>>64); + #else + *A=(uint64_t)r; *B=(uint64_t)(r>>64); + #endif +#elif defined(_MSC_VER) && (defined(_WIN64) || defined(_M_HYBRID_CHPE_ARM64)) + #if defined(_M_X64) + #ifdef RAPIDHASH_PROTECTED + uint64_t a, b; + a=_umul128(*A,*B,&b); + *A^=a; *B^=b; + #else + *A=_umul128(*A,*B,B); + #endif + #else + #ifdef RAPIDHASH_PROTECTED + uint64_t a, b; + b = __umulh(*A, *B); + a = *A * *B; + *A^=a; *B^=b; + #else + uint64_t c = __umulh(*A, *B); + *A = *A * *B; + *B = c; + #endif + #endif +#else + uint64_t ha=*A>>32, hb=*B>>32, la=(uint32_t)*A, lb=(uint32_t)*B, hi, lo; + uint64_t rh=ha*hb, rm0=ha*lb, rm1=hb*la, rl=la*lb, t=rl+(rm0<<32), c=t>32)+(rm1>>32)+c; + #ifdef RAPIDHASH_PROTECTED + *A^=lo; *B^=hi; + #else + *A=lo; *B=hi; + #endif +#endif +} + +/* + * Multiply and xor mix function. + * + * @param A 64-bit number. + * @param B 64-bit number. + * + * Calculates 128-bit C = A * B. + * Returns 64-bit xor between high and low 64 bits of C. + */ +RAPIDHASH_INLINE uint64_t rapid_mix(uint64_t A, uint64_t B) RAPIDHASH_NOEXCEPT { rapid_mum(&A,&B); return A^B; } + +/* + * Read functions. + */ +#ifdef RAPIDHASH_LITTLE_ENDIAN +RAPIDHASH_INLINE uint64_t rapid_read64(const uint8_t *p) RAPIDHASH_NOEXCEPT { uint64_t v; memcpy(&v, p, sizeof(uint64_t)); return v;} +RAPIDHASH_INLINE uint64_t rapid_read32(const uint8_t *p) RAPIDHASH_NOEXCEPT { uint32_t v; memcpy(&v, p, sizeof(uint32_t)); return v;} +#elif defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__clang__) +RAPIDHASH_INLINE uint64_t rapid_read64(const uint8_t *p) RAPIDHASH_NOEXCEPT { uint64_t v; memcpy(&v, p, sizeof(uint64_t)); return __builtin_bswap64(v);} +RAPIDHASH_INLINE uint64_t rapid_read32(const uint8_t *p) RAPIDHASH_NOEXCEPT { uint32_t v; memcpy(&v, p, sizeof(uint32_t)); return __builtin_bswap32(v);} +#elif defined(_MSC_VER) +RAPIDHASH_INLINE uint64_t rapid_read64(const uint8_t *p) RAPIDHASH_NOEXCEPT { uint64_t v; memcpy(&v, p, sizeof(uint64_t)); return _byteswap_uint64(v);} +RAPIDHASH_INLINE uint64_t rapid_read32(const uint8_t *p) RAPIDHASH_NOEXCEPT { uint32_t v; memcpy(&v, p, sizeof(uint32_t)); return _byteswap_ulong(v);} +#else +RAPIDHASH_INLINE uint64_t rapid_read64(const uint8_t *p) RAPIDHASH_NOEXCEPT { + uint64_t v; memcpy(&v, p, 8); + return (((v >> 56) & 0xff)| ((v >> 40) & 0xff00)| ((v >> 24) & 0xff0000)| ((v >> 8) & 0xff000000)| ((v << 8) & 0xff00000000)| ((v << 24) & 0xff0000000000)| ((v << 40) & 0xff000000000000)| ((v << 56) & 0xff00000000000000)); +} +RAPIDHASH_INLINE uint64_t rapid_read32(const uint8_t *p) RAPIDHASH_NOEXCEPT { + uint32_t v; memcpy(&v, p, 4); + return (((v >> 24) & 0xff)| ((v >> 8) & 0xff00)| ((v << 8) & 0xff0000)| ((v << 24) & 0xff000000)); +} +#endif + +/* + * Reads and combines 3 bytes of input. + * + * @param p Buffer to read from. + * @param k Length of @p, in bytes. + * + * Always reads and combines 3 bytes from memory. + * Guarantees to read each buffer position at least once. + * + * Returns a 64-bit value containing all three bytes read. + */ +RAPIDHASH_INLINE uint64_t rapid_readSmall(const uint8_t *p, size_t k) RAPIDHASH_NOEXCEPT { return (((uint64_t)p[0])<<56)|(((uint64_t)p[k>>1])<<32)|p[k-1];} + +/* + * rapidhash main function. + * + * @param key Buffer to be hashed. + * @param len @key length, in bytes. + * @param seed 64-bit seed used to alter the hash result predictably. + * @param secret Triplet of 64-bit secrets used to alter hash result predictably. + * + * Returns a 64-bit hash. + */ +RAPIDHASH_INLINE uint64_t rapidhash_internal(const void *key, size_t len, uint64_t seed, const uint64_t* secret) RAPIDHASH_NOEXCEPT { + const uint8_t *p=(const uint8_t *)key; seed^=rapid_mix(seed^secret[0],secret[1])^len; uint64_t a, b; + if(_likely_(len<=16)){ + if(_likely_(len>=4)){ + const uint8_t * plast = p + len - 4; + a = (rapid_read32(p) << 32) | rapid_read32(plast); + const uint64_t delta = ((len&24)>>(len>>3)); + b = ((rapid_read32(p + delta) << 32) | rapid_read32(plast - delta)); } + else if(_likely_(len>0)){ a=rapid_readSmall(p,len); b=0;} + else a=b=0; + } + else{ + size_t i=len; + if(_unlikely_(i>48)){ + uint64_t see1=seed, see2=seed; +#ifdef RAPIDHASH_UNROLLED + while(_likely_(i>=96)){ + seed=rapid_mix(rapid_read64(p)^secret[0],rapid_read64(p+8)^seed); + see1=rapid_mix(rapid_read64(p+16)^secret[1],rapid_read64(p+24)^see1); + see2=rapid_mix(rapid_read64(p+32)^secret[2],rapid_read64(p+40)^see2); + seed=rapid_mix(rapid_read64(p+48)^secret[0],rapid_read64(p+56)^seed); + see1=rapid_mix(rapid_read64(p+64)^secret[1],rapid_read64(p+72)^see1); + see2=rapid_mix(rapid_read64(p+80)^secret[2],rapid_read64(p+88)^see2); + p+=96; i-=96; + } + if(_unlikely_(i>=48)){ + seed=rapid_mix(rapid_read64(p)^secret[0],rapid_read64(p+8)^seed); + see1=rapid_mix(rapid_read64(p+16)^secret[1],rapid_read64(p+24)^see1); + see2=rapid_mix(rapid_read64(p+32)^secret[2],rapid_read64(p+40)^see2); + p+=48; i-=48; + } +#else + do { + seed=rapid_mix(rapid_read64(p)^secret[0],rapid_read64(p+8)^seed); + see1=rapid_mix(rapid_read64(p+16)^secret[1],rapid_read64(p+24)^see1); + see2=rapid_mix(rapid_read64(p+32)^secret[2],rapid_read64(p+40)^see2); + p+=48; i-=48; + } while (_likely_(i>=48)); +#endif + seed^=see1^see2; + } + if(i>16){ + seed=rapid_mix(rapid_read64(p)^secret[2],rapid_read64(p+8)^seed^secret[1]); + if(i>32) + seed=rapid_mix(rapid_read64(p+16)^secret[2],rapid_read64(p+24)^seed); + } + a=rapid_read64(p+i-16); b=rapid_read64(p+i-8); + } + a^=secret[1]; b^=seed; rapid_mum(&a,&b); + return rapid_mix(a^secret[0]^len,b^secret[1]); +} + +/* + * rapidhash default seeded hash function. + * + * @param key Buffer to be hashed. + * @param len @key length, in bytes. + * @param seed 64-bit seed used to alter the hash result predictably. + * + * Calls rapidhash_internal using provided parameters and default secrets. + * + * Returns a 64-bit hash. + */ +RAPIDHASH_INLINE uint64_t rapidhash_withSeed(const void *key, size_t len, uint64_t seed) RAPIDHASH_NOEXCEPT { + return rapidhash_internal(key, len, seed, rapid_secret); +} + +/* + * rapidhash default hash function. + * + * @param key Buffer to be hashed. + * @param len @key length, in bytes. + * + * Calls rapidhash_withSeed using provided parameters and the default seed. + * + * Returns a 64-bit hash. + */ +RAPIDHASH_INLINE uint64_t rapidhash(const void *key, size_t len) RAPIDHASH_NOEXCEPT { + return rapidhash_withSeed(key, len, RAPID_SEED); +} diff --git a/external/lsquic/src/liblsquic/lsquic_rechist.c b/external/lsquic/src/liblsquic/lsquic_rechist.c new file mode 100644 index 0000000..fa3e48e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_rechist.c @@ -0,0 +1,579 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_rechist.c -- History of received packets. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "lsquic_int_types.h" +#include "lsquic_rechist.h" + + +#define BITS_PER_MASK (sizeof(uintptr_t) * 8) + +#if UINTPTR_MAX == 18446744073709551615UL +#define LOG2_BITS 6 +#else +#define LOG2_BITS 5 +#endif + + +void +lsquic_rechist_init (struct lsquic_rechist *rechist, int ietf, + unsigned max_ranges) +{ + memset(rechist, 0, sizeof(*rechist)); + rechist->rh_cutoff = ietf ? 0 : 1; + /* '1' is an odd case that would add an extra conditional in + * rechist_reuse_last_elem(), so we prohibit it. + */ + if (max_ranges == 1) + max_ranges = 2; + rechist->rh_max_ranges = max_ranges; +} + + +void +lsquic_rechist_cleanup (lsquic_rechist_t *rechist) +{ + free(rechist->rh_elems); + memset(rechist, 0, sizeof(*rechist)); +} + + +static void +rechist_free_elem (struct lsquic_rechist *rechist, unsigned idx) +{ + rechist->rh_masks[idx >> LOG2_BITS] &= + ~(1ull << (idx & ((1u << LOG2_BITS) - 1))); + --rechist->rh_n_used; +} + + +#define RE_HIGH(el_) ((el_)->re_low + (el_)->re_count - 1) + +#if LSQUIC_TEST +static void +rechist_dump_elem(struct rechist_elem *el) +{ + fprintf(stderr, "[%" PRIu64 "-%" PRIu64 "]", RE_HIGH(el), el->re_low); +} + +#ifdef __GNUC__ +__attribute__((unused)) +#endif +static void +rechist_dump(struct lsquic_rechist *rechist) +{ + fprintf(stderr, + "%p: cutoff %" PRIu64 " l. acked %" PRIu64 + " masks %u alloced %u used %u max ranges %u head %u\n", + rechist, + rechist->rh_cutoff, + rechist->rh_largest_acked_received, + rechist->rh_n_masks, + rechist->rh_n_alloced, + rechist->rh_n_used, + rechist->rh_max_ranges, + rechist->rh_head); + + if (rechist->rh_n_used) + { + int idx = rechist->rh_head; + fprintf(stderr, " "); + unsigned n_elems = 0; + while (n_elems < rechist->rh_n_used) + { + ++n_elems; + struct rechist_elem *el = &rechist->rh_elems[idx]; + fprintf(stderr, " (%u)", idx); + rechist_dump_elem(el); + if (el->re_next == UINT_MAX) + break; + idx = el->re_next; + } + fprintf(stderr, "\n"); + } +} +#endif /* LSQUIC_TEST */ + +static unsigned +find_free_slot (uintptr_t slots) +{ +#if __GNUC__ + if (slots) +#if UINTPTR_MAX == 18446744073709551615UL + return __builtin_ctzll(~slots); +#else + return __builtin_ctzl(~slots); +#endif + else + return 0; +#else + unsigned n; + + slots =~ slots; + n = 0; + +#if UINTPTR_MAX == 18446744073709551615UL + if (0 == (slots & ((1ULL << 32) - 1))) { n += 32; slots >>= 32; } +#endif + if (0 == (slots & ((1ULL << 16) - 1))) { n += 16; slots >>= 16; } + if (0 == (slots & ((1ULL << 8) - 1))) { n += 8; slots >>= 8; } + if (0 == (slots & ((1ULL << 4) - 1))) { n += 4; slots >>= 4; } + if (0 == (slots & ((1ULL << 2) - 1))) { n += 2; slots >>= 2; } + if (0 == (slots & ((1ULL << 1) - 1))) { n += 1; slots >>= 1; } + return n; +#endif +} + + +static int +rechist_grow (struct lsquic_rechist *rechist) +{ + unsigned n_masks, nelems; + size_t size; + ptrdiff_t moff; + char *mem; + + moff = (char *) rechist->rh_masks - (char *) rechist->rh_elems; + if (rechist->rh_n_alloced) + nelems = rechist->rh_n_alloced * 2; + else + nelems = 4; + if (rechist->rh_max_ranges && nelems > rechist->rh_max_ranges) + nelems = rechist->rh_max_ranges; + n_masks = (nelems + (-nelems & (BITS_PER_MASK - 1))) / BITS_PER_MASK; + size = sizeof(struct rechist_elem) * nelems + sizeof(uintptr_t) * n_masks; + mem = realloc(rechist->rh_elems, size); + if (!mem) + return -1; + if (moff) + memcpy(mem + size - n_masks * sizeof(rechist->rh_masks[0]), + (char *) mem + moff, + rechist->rh_n_masks * sizeof(rechist->rh_masks[0])); + if (rechist->rh_n_masks < n_masks) + memset(mem + nelems * sizeof(rechist->rh_elems[0]) + + rechist->rh_n_masks * sizeof(rechist->rh_masks[0]), + 0, (n_masks - rechist->rh_n_masks) * sizeof(rechist->rh_masks[0])); + rechist->rh_n_alloced = nelems; + rechist->rh_n_masks = n_masks; + rechist->rh_elems = (void *) mem; + rechist->rh_masks = (void *) (mem + size + - n_masks * sizeof(rechist->rh_masks[0])); + return 0; +} + + +/* We hit maximum number of elements. To allocate a new element, we drop + * the last element and return its index, reusing the slot. + */ +static int +rechist_reuse_last_elem (struct lsquic_rechist *rechist) +{ + struct rechist_elem *last, *penultimate; + unsigned last_idx; + + /* No need to check bitmask anywhere: the array is full! */ + last = rechist->rh_elems; + while (last->re_next != UINT_MAX) + ++last; + + last_idx = last - rechist->rh_elems; + penultimate = rechist->rh_elems; + while (penultimate->re_next != last_idx) + ++penultimate; + + penultimate->re_next = UINT_MAX; + return last_idx; +} + + +static int +rechist_alloc_elem (struct lsquic_rechist *rechist) +{ + unsigned i, idx; + uintptr_t *mask; + + if (rechist->rh_n_used == rechist->rh_n_alloced) + { + if (rechist->rh_max_ranges + && rechist->rh_n_used >= rechist->rh_max_ranges) + return rechist_reuse_last_elem(rechist); + if (0 != rechist_grow(rechist)) + return -1; + } + + for (mask = rechist->rh_masks; *mask == UINTPTR_MAX; ++mask) + ; + + i = mask - rechist->rh_masks; + assert(i < rechist->rh_n_masks); + + idx = find_free_slot(*mask); + *mask |= 1ull << idx; + ++rechist->rh_n_used; + /* Note that re_next is invalid at this point, caller must set it */ + + return idx + i * BITS_PER_MASK; +} + + +#if LSQUIC_TEST +/* When compiled as unit test, run sanity check every 127 operations + * (127 is better than 128, as the latter aligns too well with the + * regular rechist data structure sizes). + */ +static void +rechist_test_sanity (const struct lsquic_rechist *rechist) +{ + const struct rechist_elem *el; + ptrdiff_t idx; + uint64_t *masks; + unsigned n_elems; + + masks = calloc(rechist->rh_n_masks, sizeof(masks[0])); + + n_elems = 0; + if (rechist->rh_n_used) + { + el = &rechist->rh_elems[rechist->rh_head]; + while (1) + { + ++n_elems; + idx = el - rechist->rh_elems; + if (n_elems > rechist->rh_n_alloced + || idx >= rechist->rh_n_alloced) + break; + masks[idx >> LOG2_BITS] |= 1ull << (idx & ((1u << LOG2_BITS) - 1)); + if (el->re_next != UINT_MAX) + el = &rechist->rh_elems[el->re_next]; + else + break; + } + } + + assert(rechist->rh_n_used == n_elems); + assert(0 == memcmp(masks, rechist->rh_masks, + sizeof(masks[0]) * rechist->rh_n_masks)); + free(masks); +} +#define rechist_sanity_check(rechist_) do { \ + rechist_test_sanity(rechist_); \ +} while (0) +#else +#define rechist_sanity_check(rechist) +#endif + + +enum received_st +lsquic_rechist_received (lsquic_rechist_t *rechist, lsquic_packno_t packno, + lsquic_time_t now) +{ + struct rechist_elem *el, *prev; + ptrdiff_t next_idx, prev_idx; + int idx; + + if (rechist->rh_n_used == 0) + goto first_elem; + + if (packno < rechist->rh_cutoff) + return REC_ST_DUP; + + el = &rechist->rh_elems[rechist->rh_head]; + prev = NULL; + + if (packno > RE_HIGH(el)) + rechist->rh_largest_acked_received = now; + + while (1) + { + if (packno > RE_HIGH(el) + 1) + goto insert_before; + if (packno == el->re_low - 1) + { + --el->re_low; + ++el->re_count; + if (el->re_next != UINT_MAX + && el->re_low == RE_HIGH(&rechist->rh_elems[el->re_next]) + 1) + { + rechist_free_elem(rechist, el->re_next); + el->re_count += rechist->rh_elems[el->re_next].re_count; + el->re_low = rechist->rh_elems[el->re_next].re_low; + el->re_next = rechist->rh_elems[el->re_next].re_next; + } + rechist_sanity_check(rechist); + return REC_ST_OK; + } + if (packno == RE_HIGH(el) + 1) + { + ++el->re_count; + rechist_sanity_check(rechist); + return REC_ST_OK; + } + if (packno >= el->re_low && packno <= RE_HIGH(el)) + return REC_ST_DUP; + if (el->re_next == UINT_MAX) + break; /* insert tail */ + prev = el; + el = &rechist->rh_elems[el->re_next]; + } + + if (rechist->rh_max_ranges && rechist->rh_n_used >= rechist->rh_max_ranges) + goto replace_last_el; + prev_idx = el - rechist->rh_elems; + idx = rechist_alloc_elem(rechist); + if (idx < 0) + return REC_ST_ERR; + + rechist->rh_elems[idx].re_low = packno; + rechist->rh_elems[idx].re_count = 1; + rechist->rh_elems[idx].re_next = UINT_MAX; + rechist->rh_elems[prev_idx].re_next = idx; + rechist_sanity_check(rechist); + return REC_ST_OK; + + first_elem: + if (packno < rechist->rh_cutoff) + return REC_ST_ERR; + idx = rechist_alloc_elem(rechist); + if (idx < 0) + return REC_ST_ERR; + + rechist->rh_elems[idx].re_low = packno; + rechist->rh_elems[idx].re_count = 1; + rechist->rh_elems[idx].re_next = UINT_MAX; + rechist->rh_head = idx; + rechist->rh_largest_acked_received = now; + rechist_sanity_check(rechist); + return REC_ST_OK; + + insert_before: + if (el->re_next == UINT_MAX && rechist->rh_max_ranges + && rechist->rh_n_used >= rechist->rh_max_ranges) + goto replace_last_el; + prev_idx = prev - rechist->rh_elems; + next_idx = el - rechist->rh_elems; + idx = rechist_alloc_elem(rechist); + if (idx < 0) + return REC_ST_ERR; + + rechist->rh_elems[idx].re_low = packno; + rechist->rh_elems[idx].re_count = 1; + rechist->rh_elems[idx].re_next = next_idx; + if (next_idx == (ptrdiff_t)rechist->rh_head) + rechist->rh_head = idx; + else + rechist->rh_elems[prev_idx].re_next = idx; + + rechist_sanity_check(rechist); + return REC_ST_OK; + + replace_last_el: + /* Special case: replace last element if chopping, because we cannot + * realloc the "prev_idx" hook + */ + assert(el->re_next == UINT_MAX); + el->re_low = packno; + el->re_count = 1; + rechist_sanity_check(rechist); + return REC_ST_OK; +} + + +void +lsquic_rechist_stop_wait (lsquic_rechist_t *rechist, lsquic_packno_t cutoff) +{ + struct rechist_elem *el, *prev; + + if (rechist->rh_flags & RH_CUTOFF_SET) + { + assert(cutoff >= rechist->rh_cutoff); /* Check performed in full_conn */ + if (cutoff <= rechist->rh_cutoff) + return; + } + + rechist->rh_cutoff = cutoff; + rechist->rh_flags |= RH_CUTOFF_SET; + + if (rechist->rh_n_used == 0) + return; + + el = &rechist->rh_elems[rechist->rh_head]; + prev = NULL; + while (1) + { + if (cutoff > RE_HIGH(el)) + { + if (prev) + prev->re_next = UINT_MAX; + break; + } + else if (cutoff > el->re_low) + { + el->re_count = RE_HIGH(el) - cutoff + 1; + el->re_low = cutoff; + if (el->re_next != UINT_MAX) + { + prev = el; + el = &rechist->rh_elems[el->re_next]; + prev->re_next = UINT_MAX; + break; + } + else + goto end; + } + else if (el->re_next == UINT_MAX) + goto end; + prev = el; + el = &rechist->rh_elems[el->re_next]; + } + + assert(el); + while (1) + { + rechist_free_elem(rechist, el - rechist->rh_elems); + if (el->re_next != UINT_MAX) + el = &rechist->rh_elems[el->re_next]; + else + break; + } + + end: + rechist_sanity_check(rechist); +} + + +lsquic_packno_t +lsquic_rechist_largest_packno (const lsquic_rechist_t *rechist) +{ + if (rechist->rh_n_used) + return RE_HIGH(&rechist->rh_elems[rechist->rh_head]); + else + return 0; /* Don't call this function if history is empty */ +} + + +lsquic_packno_t +lsquic_rechist_cutoff (const lsquic_rechist_t *rechist) +{ + if (rechist->rh_flags & RH_CUTOFF_SET) + return rechist->rh_cutoff; + else + return 0; +} + + +lsquic_time_t +lsquic_rechist_largest_recv (const lsquic_rechist_t *rechist) +{ + return rechist->rh_largest_acked_received; +} + + +const struct lsquic_packno_range * +lsquic_rechist_first (lsquic_rechist_t *rechist) +{ + unsigned idx; + + if (rechist->rh_n_used) + { + idx = rechist->rh_head; + rechist->rh_iter.range.low = rechist->rh_elems[idx].re_low; + rechist->rh_iter.range.high = RE_HIGH(&rechist->rh_elems[idx]); + rechist->rh_iter.next = rechist->rh_elems[idx].re_next; + return &rechist->rh_iter.range; + } + else + return NULL; +} + + +const struct lsquic_packno_range * +lsquic_rechist_next (lsquic_rechist_t *rechist) +{ + unsigned idx; + + idx = rechist->rh_iter.next; + if (idx != UINT_MAX) + { + rechist->rh_iter.range.low = rechist->rh_elems[idx].re_low; + rechist->rh_iter.range.high = RE_HIGH(&rechist->rh_elems[idx]); + rechist->rh_iter.next = rechist->rh_elems[idx].re_next; + return &rechist->rh_iter.range; + } + else + return NULL; +} + + +size_t +lsquic_rechist_mem_used (const struct lsquic_rechist *rechist) +{ + return sizeof(*rechist) + + rechist->rh_n_alloced * sizeof(rechist->rh_elems[0]) + + rechist->rh_n_masks * sizeof(rechist->rh_masks[0]); +} + + +const struct lsquic_packno_range * +lsquic_rechist_peek (struct lsquic_rechist *rechist) +{ + if (rechist->rh_n_used) + { + rechist->rh_iter.range.low + = rechist->rh_elems[rechist->rh_head].re_low; + rechist->rh_iter.range.high + = RE_HIGH(&rechist->rh_elems[rechist->rh_head]); + return &rechist->rh_iter.range; + } + else + return NULL; +} + + +int +lsquic_rechist_copy_ranges (struct lsquic_rechist *rechist, void *src_rechist, + const struct lsquic_packno_range * (*first) (void *), + const struct lsquic_packno_range * (*next) (void *)) +{ + const struct lsquic_packno_range *range; + struct rechist_elem *el; + unsigned prev_idx; + int idx; + + /* This function only works if rechist contains no elements */ + assert(rechist->rh_n_used == 0); + + prev_idx = UINT_MAX; + for (range = first(src_rechist); range && + /* Do not overwrite higher-numbered ranges. (Also, logic below + * does not work if rechist_reuse_last_elem() is used.) + */ + (rechist->rh_max_ranges == 0 + || rechist->rh_n_used < rechist->rh_max_ranges); + range = next(src_rechist)) + { + idx = rechist_alloc_elem(rechist); + if (idx < 0) + return -1; + el = &rechist->rh_elems[idx]; + el->re_low = range->low; + el->re_count = range->high - range->low + 1; + el->re_next = UINT_MAX; + if (prev_idx == UINT_MAX) + rechist->rh_head = idx; + else + rechist->rh_elems[prev_idx].re_next = idx; + prev_idx = idx; + } + + return 0; +} diff --git a/external/lsquic/src/liblsquic/lsquic_rechist.h b/external/lsquic/src/liblsquic/lsquic_rechist.h new file mode 100644 index 0000000..e25cff2 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_rechist.h @@ -0,0 +1,97 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_rechist.h -- History of received packets. + * + * The purpose of received packet history is to generate ACK frames. + */ + +#ifndef LSQUIC_RECHIST_H +#define LSQUIC_RECHIST_H 1 + +#ifndef LSQUIC_TEST +#define LSQUIC_TEST 0 +#endif + +/* Structure is exposed to facilitate some manipulations in unit tests. */ +struct rechist_elem { + lsquic_packno_t re_low; + unsigned re_count; + unsigned re_next; /* UINT_MAX means no next element */ +}; + + +struct lsquic_rechist { + /* elems and masks are allocated in contiguous memory */ + struct rechist_elem *rh_elems; + uintptr_t *rh_masks; + lsquic_packno_t rh_cutoff; + lsquic_time_t rh_largest_acked_received; + unsigned rh_n_masks; + unsigned rh_n_alloced; + unsigned rh_n_used; + unsigned rh_head; + unsigned rh_max_ranges; + enum { + RH_CUTOFF_SET = (1 << 0), + } rh_flags; + struct + { + struct lsquic_packno_range range; + unsigned next; + } rh_iter; +}; + +typedef struct lsquic_rechist lsquic_rechist_t; + +void +lsquic_rechist_init (struct lsquic_rechist *, int is_ietf, unsigned max_ranges); + +void +lsquic_rechist_cleanup (struct lsquic_rechist *); + +enum received_st { + REC_ST_OK, + REC_ST_DUP, + REC_ST_ERR, +}; + +enum received_st +lsquic_rechist_received (lsquic_rechist_t *, lsquic_packno_t, + lsquic_time_t now); + +void +lsquic_rechist_stop_wait (lsquic_rechist_t *, lsquic_packno_t); + +const struct lsquic_packno_range * +lsquic_rechist_first (lsquic_rechist_t *); + +const struct lsquic_packno_range * +lsquic_rechist_next (lsquic_rechist_t *); + +lsquic_packno_t +lsquic_rechist_largest_packno (const lsquic_rechist_t *); + +lsquic_packno_t +lsquic_rechist_cutoff (const lsquic_rechist_t *); + +lsquic_time_t +lsquic_rechist_largest_recv (const lsquic_rechist_t *); + +size_t +lsquic_rechist_mem_used (const struct lsquic_rechist *); + +const struct lsquic_packno_range * +lsquic_rechist_peek (struct lsquic_rechist *); + +static inline unsigned +lsquic_rechist_is_empty(const struct lsquic_rechist *rechist_) +{ + return (rechist_)->rh_n_used == 0; +} + +int +lsquic_rechist_copy_ranges (struct lsquic_rechist *, void *rechist_ctx, + const struct lsquic_packno_range * (*first) (void *), + const struct lsquic_packno_range * (*next) (void *)); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_rtt.c b/external/lsquic/src/liblsquic/lsquic_rtt.c new file mode 100644 index 0000000..6cbba5b --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_rtt.c @@ -0,0 +1,44 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_rtt.c -- RTT calculation + */ + +#include +#include +#ifndef WIN32 +#include +#endif + +#include "lsquic_int_types.h" +#include "lsquic_rtt.h" + +/* See RFC 2988 */ + +#define ALPHA_SHIFT 3 /* Alpha is 1/8 */ +#define BETA_SHIFT 2 /* Beta is 1/4 */ + + +void +lsquic_rtt_stats_update (struct lsquic_rtt_stats *stats, + lsquic_time_t send_delta, lsquic_time_t lack_delta) +{ + if (send_delta > lack_delta) + send_delta -= lack_delta; + if (stats->srtt) { + stats->rttvar -= stats->rttvar >> BETA_SHIFT; + // FIXED: subtracting unsigned (the (int) cast gets repromoted to uint64_t + // made abs() irrelevant and allowed overflow. instead cast the difference + // to a signed int64 and use labs() to get abs val. + stats->rttvar += (llabs((int64_t) (send_delta - stats->srtt))) + >> BETA_SHIFT; + stats->srtt -= stats->srtt >> ALPHA_SHIFT; + stats->srtt += send_delta >> ALPHA_SHIFT; + if (send_delta < stats->min_rtt) + stats->min_rtt = send_delta; + } else { + /* First measurement */ + stats->srtt = send_delta; + stats->rttvar = send_delta >> 1; + stats->min_rtt = send_delta; + } +} diff --git a/external/lsquic/src/liblsquic/lsquic_rtt.h b/external/lsquic/src/liblsquic/lsquic_rtt.h new file mode 100644 index 0000000..7039cfa --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_rtt.h @@ -0,0 +1,41 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_rtt.h -- RTT calculation + */ + +#ifndef LSQUIC_RTT_H +#define LSQUIC_RTT_H 1 + + +/* This struct is initialized by setting it to zero */ +struct lsquic_rtt_stats { + lsquic_time_t srtt; + lsquic_time_t rttvar; + lsquic_time_t min_rtt; +}; + + +void +lsquic_rtt_stats_update (struct lsquic_rtt_stats *, lsquic_time_t send_delta, + lsquic_time_t lack_delta); + + +static inline lsquic_time_t +lsquic_rtt_stats_get_srtt (const struct lsquic_rtt_stats *stats) +{ + return (stats)->srtt; +} + +static inline lsquic_time_t +lsquic_rtt_stats_get_rttvar (const struct lsquic_rtt_stats *stats) +{ + return (stats)->rttvar; +} + +static inline lsquic_time_t +lsquic_rtt_stats_get_min_rtt (const struct lsquic_rtt_stats *stats) +{ + return +(stats)->min_rtt; +} + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_send_ctl.c b/external/lsquic/src/liblsquic/lsquic_send_ctl.c new file mode 100644 index 0000000..3b34330 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_send_ctl.c @@ -0,0 +1,4225 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_send_ctl.c -- Logic for sending and sent packets + */ + +#include +#include +#include +#include +#include +#include + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_packet_common.h" +#include "lsquic_alarmset.h" +#include "lsquic_parse.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_packet_resize.h" +#include "lsquic_senhist.h" +#include "lsquic_rtt.h" +#include "lsquic_cubic.h" +#include "lsquic_pacer.h" +#include "lsquic_bw_sampler.h" +#include "lsquic_minmax.h" +#include "lsquic_bbr.h" +#include "lsquic_adaptive_cc.h" +#include "lsquic_util.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_ver_neg.h" +#include "lsquic_ev_log.h" +#include "lsquic_conn.h" +#include "lsquic_send_ctl.h" +#include "lsquic_conn_flow.h" +#include "lsquic_conn_public.h" +#include "lsquic_cong_ctl.h" +#include "lsquic_enc_sess.h" +#include "lsquic_malo.h" +#include "lsquic_attq.h" +#include "lsquic_http1x_if.h" +#include "lsqpack.h" +#include "lsquic_frab_list.h" +#include "lsquic_qdec_hdl.h" +#include "lsquic_crand.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_SENDCTL +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(ctl->sc_conn_pub->lconn) +#include "lsquic_logger.h" + +#if __GNUC__ +# define UNLIKELY(cond) __builtin_expect(cond, 0) +#else +# define UNLIKELY(cond) cond +#endif + +#define MAX_RESUBMITTED_ON_RTO 2 +#define MAX_RTO_BACKOFFS 10 +#define DEFAULT_RETX_DELAY 500000 /* Microseconds */ +#define MAX_RTO_DELAY 60000000 /* Microseconds */ +#define MIN_RTO_DELAY 200000 /* Microseconds */ +#define INITIAL_RTT 333333 /* Microseconds */ +#define N_NACKS_BEFORE_RETX 3 + +#define CGP(ctl) ((struct cong_ctl *) (ctl)->sc_cong_ctl) + +#define packet_out_total_sz(p) \ + lsquic_packet_out_total_sz(ctl->sc_conn_pub->lconn, p) +#define packet_out_sent_sz(p) \ + lsquic_packet_out_sent_sz(ctl->sc_conn_pub->lconn, p) + +enum retx_mode { + RETX_MODE_HANDSHAKE, + RETX_MODE_LOSS, + RETX_MODE_TLP, + RETX_MODE_RTO, +}; + + +static const char *const retx2str[] = { + [RETX_MODE_HANDSHAKE] = "RETX_MODE_HANDSHAKE", + [RETX_MODE_LOSS] = "RETX_MODE_LOSS", + [RETX_MODE_TLP] = "RETX_MODE_TLP", + [RETX_MODE_RTO] = "RETX_MODE_RTO", +}; + +#ifdef NDEBUG +#define MAX_BPQ_COUNT 10 +#else +static unsigned MAX_BPQ_COUNT = 10; +void +lsquic_send_ctl_set_max_bpq_count (unsigned count) { MAX_BPQ_COUNT = count; } +#endif + + +static void +update_for_resending (lsquic_send_ctl_t *ctl, lsquic_packet_out_t *packet_out); + + +enum expire_filter { EXFI_ALL, EXFI_HSK, EXFI_LAST, }; + + +static void +send_ctl_expire (struct lsquic_send_ctl *, enum packnum_space, + enum expire_filter); + +static void +set_retx_alarm (struct lsquic_send_ctl *, enum packnum_space, lsquic_time_t); + +static int +send_ctl_detect_losses (struct lsquic_send_ctl *, enum packnum_space, + lsquic_time_t time); + +static unsigned +send_ctl_retx_bytes_out (const struct lsquic_send_ctl *ctl); + +static unsigned +send_ctl_all_bytes_out (const struct lsquic_send_ctl *ctl); + +static void +send_ctl_reschedule_poison (struct lsquic_send_ctl *ctl); + +static int +send_ctl_can_send_pre_hsk (struct lsquic_send_ctl *ctl); + +static int +send_ctl_can_send (struct lsquic_send_ctl *ctl); + +static int +split_lost_packet (struct lsquic_send_ctl *, struct lsquic_packet_out *const); + +#ifdef NDEBUG +static +#elif __GNUC__ +__attribute__((weak)) +#endif +int +lsquic_send_ctl_schedule_stream_packets_immediately (lsquic_send_ctl_t *ctl) +{ + return !(ctl->sc_flags & SC_BUFFER_STREAM); +} + + +#ifdef NDEBUG +static +#elif __GNUC__ +__attribute__((weak)) +#endif +enum packno_bits +lsquic_send_ctl_guess_packno_bits (lsquic_send_ctl_t *ctl) +{ + return PACKNO_BITS_1; /* This is 2 bytes in both GQUIC and IQUIC */ +} + + +int +lsquic_send_ctl_have_unacked_stream_frames (const lsquic_send_ctl_t *ctl) +{ + const lsquic_packet_out_t *packet_out; + + TAILQ_FOREACH(packet_out, &ctl->sc_unacked_packets[PNS_APP], po_next) + if (0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON)) + && (packet_out->po_frame_types & + ((1 << QUIC_FRAME_STREAM) | (1 << QUIC_FRAME_RST_STREAM)))) + return 1; + + return 0; +} + + +static lsquic_packet_out_t * +send_ctl_first_unacked_retx_packet (const struct lsquic_send_ctl *ctl, + enum packnum_space pns) +{ + lsquic_packet_out_t *packet_out; + + TAILQ_FOREACH(packet_out, &ctl->sc_unacked_packets[pns], po_next) + if (0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON)) + && (packet_out->po_frame_types & ctl->sc_retx_frames)) + return packet_out; + + return NULL; +} + + +int +lsquic_send_ctl_have_unacked_retx_data (const struct lsquic_send_ctl *ctl) +{ + return lsquic_alarmset_is_set(ctl->sc_alset, AL_RETX_APP) + && send_ctl_first_unacked_retx_packet(ctl, PNS_APP); +} + + +static lsquic_packet_out_t * +send_ctl_last_unacked_retx_packet (const struct lsquic_send_ctl *ctl, + enum packnum_space pns) +{ + lsquic_packet_out_t *packet_out; + TAILQ_FOREACH_REVERSE(packet_out, &ctl->sc_unacked_packets[pns], + lsquic_packets_tailq, po_next) + if (0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON)) + && (packet_out->po_frame_types & ctl->sc_retx_frames)) + return packet_out; + return NULL; +} + + +static int +have_unacked_handshake_packets (const lsquic_send_ctl_t *ctl) +{ + const lsquic_packet_out_t *packet_out; + enum packnum_space pns; + + for (pns = ctl->sc_flags & SC_IETF ? PNS_INIT : PNS_APP; pns < N_PNS; ++pns) + TAILQ_FOREACH(packet_out, &ctl->sc_unacked_packets[pns], po_next) + if (packet_out->po_flags & PO_HELLO) + return 1; + return 0; +} + + +static enum retx_mode +get_retx_mode (const lsquic_send_ctl_t *ctl) +{ + if (!(ctl->sc_conn_pub->lconn->cn_flags & LSCONN_HANDSHAKE_DONE) + && have_unacked_handshake_packets(ctl)) + return RETX_MODE_HANDSHAKE; + if (ctl->sc_loss_to) + return RETX_MODE_LOSS; + if (ctl->sc_n_tlp < 2) + return RETX_MODE_TLP; + return RETX_MODE_RTO; +} + + +static lsquic_time_t +get_retx_delay (const struct lsquic_rtt_stats *rtt_stats) +{ + lsquic_time_t srtt, delay; + + srtt = lsquic_rtt_stats_get_srtt(rtt_stats); + if (srtt) + { + delay = srtt + 4 * lsquic_rtt_stats_get_rttvar(rtt_stats); + if (delay < MIN_RTO_DELAY) + delay = MIN_RTO_DELAY; + } + else + delay = DEFAULT_RETX_DELAY; + + return delay; +} + + +static lsquic_time_t +calculate_packet_rto (lsquic_send_ctl_t *ctl); + + +static void +retx_alarm_rings (enum alarm_id al_id, void *ctx, lsquic_time_t expiry, lsquic_time_t now) +{ + lsquic_send_ctl_t *ctl = ctx; + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + lsquic_packet_out_t *packet_out; + enum packnum_space pns; + enum retx_mode rm; + + pns = al_id - AL_RETX_INIT; + + /* This is a callback -- before it is called, the alarm is unset */ + assert(!lsquic_alarmset_is_set(ctl->sc_alset, AL_RETX_INIT + pns)); + + rm = get_retx_mode(ctl); + LSQ_INFO("%s timeout, mode %s", lsquic_alid2str[al_id], retx2str[rm]); + + switch (rm) + { + case RETX_MODE_HANDSHAKE: + send_ctl_expire(ctl, pns, EXFI_HSK); + /* Do not register cubic loss during handshake */ + break; + case RETX_MODE_LOSS: + send_ctl_detect_losses(ctl, pns, now); + break; + case RETX_MODE_TLP: + ctl->sc_last_rto_time = now; + ++ctl->sc_n_tlp; + send_ctl_expire(ctl, pns, EXFI_LAST); + break; + case RETX_MODE_RTO: + if ((ctl->sc_flags & SC_1RTT_ACKED) + || now - ctl->sc_last_rto_time >= calculate_packet_rto(ctl)) + { + ctl->sc_last_rto_time = now; + ++ctl->sc_n_consec_rtos; + ctl->sc_next_limit = 2; + ctl->sc_ci->cci_timeout(CGP(ctl)); + if (lconn->cn_if->ci_retx_timeout) + lconn->cn_if->ci_retx_timeout(lconn); + } + LSQ_DEBUG("packet RTO is %"PRIu64" (+%"PRIu64") usec, consec RTOs: %d", + expiry, now - expiry, ctl->sc_n_consec_rtos); + send_ctl_expire(ctl, pns, EXFI_ALL); + break; + } + + packet_out = send_ctl_first_unacked_retx_packet(ctl, pns); + if (packet_out) + set_retx_alarm(ctl, pns, now); + lsquic_send_ctl_sanity_check(ctl); +} + + +static lsquic_packno_t +first_packno (const struct lsquic_send_ctl *ctl) +{ + if (ctl->sc_flags & SC_IETF) + return 0; + else + return 1; +} + + +static void +send_ctl_pick_initial_packno (struct lsquic_send_ctl *ctl) +{ +#ifndef NDEBUG + lsquic_packno_t packno; + const char *s; + + if (!(ctl->sc_conn_pub->lconn->cn_flags & LSCONN_SERVER) + && (s = getenv("LSQUIC_STARTING_PACKNO"), s != NULL)) + { + packno = (lsquic_packno_t) strtoull(s, NULL, 10); + LSQ_DEBUG("starting sending packet numbers starting with %"PRIu64 + " based on environment variable", packno); + ctl->sc_cur_packno = packno - 1; + } + else +#endif + ctl->sc_cur_packno = first_packno(ctl) - 1; +} + + +void +lsquic_send_ctl_init (lsquic_send_ctl_t *ctl, struct lsquic_alarmset *alset, + struct lsquic_engine_public *enpub, const struct ver_neg *ver_neg, + struct lsquic_conn_public *conn_pub, enum send_ctl_flags flags) +{ + unsigned i; + memset(ctl, 0, sizeof(*ctl)); + TAILQ_INIT(&ctl->sc_scheduled_packets); + TAILQ_INIT(&ctl->sc_unacked_packets[PNS_INIT]); + TAILQ_INIT(&ctl->sc_unacked_packets[PNS_HSK]); + TAILQ_INIT(&ctl->sc_unacked_packets[PNS_APP]); + TAILQ_INIT(&ctl->sc_lost_packets); + TAILQ_INIT(&ctl->sc_0rtt_stash); + ctl->sc_enpub = enpub; + ctl->sc_alset = alset; + ctl->sc_ver_neg = ver_neg; + ctl->sc_conn_pub = conn_pub; + assert(!(flags & ~(SC_IETF|SC_NSTP|SC_ECN))); + ctl->sc_flags = flags; + send_ctl_pick_initial_packno(ctl); + if (enpub->enp_settings.es_pace_packets) + ctl->sc_flags |= SC_PACE; + if (flags & SC_ECN) + ctl->sc_ecn = ECN_ECT0; + else + ctl->sc_ecn = ECN_NOT_ECT; + if (flags & SC_IETF) + ctl->sc_retx_frames = IQUIC_FRAME_RETX_MASK; + else + ctl->sc_retx_frames = GQUIC_FRAME_RETRANSMITTABLE_MASK; + lsquic_alarmset_init_alarm(alset, AL_RETX_INIT, retx_alarm_rings, ctl); + lsquic_alarmset_init_alarm(alset, AL_RETX_HSK, retx_alarm_rings, ctl); + lsquic_alarmset_init_alarm(alset, AL_RETX_APP, retx_alarm_rings, ctl); + lsquic_senhist_init(&ctl->sc_senhist, ctl->sc_flags & SC_IETF); +#ifndef NDEBUG + /* TODO: the logic to select the "previously sent" packno should not be + * duplicated here and in lsquic_senhist_init()... + */ + if (!(ctl->sc_conn_pub->lconn->cn_flags & LSCONN_SERVER)) + ctl->sc_senhist.sh_last_sent = ctl->sc_cur_packno; +#endif + switch (enpub->enp_settings.es_cc_algo) + { + case 1: + ctl->sc_ci = &lsquic_cong_cubic_if; + ctl->sc_cong_ctl = &ctl->sc_adaptive_cc.acc_cubic; + break; + case 2: + ctl->sc_ci = &lsquic_cong_bbr_if; + ctl->sc_cong_ctl = &ctl->sc_adaptive_cc.acc_bbr; + break; + case 3: + default: + ctl->sc_ci = &lsquic_cong_adaptive_if; + ctl->sc_cong_ctl = &ctl->sc_adaptive_cc; + break; + } + ctl->sc_ci->cci_init(CGP(ctl), conn_pub, ctl->sc_retx_frames); + if (ctl->sc_flags & SC_PACE) + lsquic_pacer_init(&ctl->sc_pacer, conn_pub->lconn, + /* TODO: conn_pub has a pointer to enpub: drop third argument */ + enpub->enp_settings.es_clock_granularity); + for (i = 0; i < sizeof(ctl->sc_buffered_packets) / + sizeof(ctl->sc_buffered_packets[0]); ++i) + TAILQ_INIT(&ctl->sc_buffered_packets[i].bpq_packets); + ctl->sc_max_packno_bits = PACKNO_BITS_2; /* Safe value before verneg */ + ctl->sc_cached_bpt.stream_id = UINT64_MAX; +#if LSQUIC_EXTRA_CHECKS + ctl->sc_flags |= SC_SANITY_CHECK; + LSQ_DEBUG("sanity checks enabled"); +#endif + ctl->sc_gap = UINT64_MAX - 1 /* Can't have +1 == 0 */; + if ((ctl->sc_conn_pub->lconn->cn_flags & (LSCONN_IETF|LSCONN_SERVER)) + == (LSCONN_IETF|LSCONN_SERVER)) + ctl->sc_can_send = send_ctl_can_send_pre_hsk; + else + ctl->sc_can_send = send_ctl_can_send; + ctl->sc_reord_thresh = N_NACKS_BEFORE_RETX; +#if LSQUIC_DEVEL + const char *s; + s = getenv("LSQUIC_DYN_PTHRESH"); + if (s == NULL || atoi(s)) + ctl->sc_flags |= SC_DYN_PTHRESH; +#endif +} + + +static lsquic_time_t +calculate_packet_rto (lsquic_send_ctl_t *ctl) +{ + lsquic_time_t delay; + + delay = get_retx_delay(&ctl->sc_conn_pub->rtt_stats); + + unsigned exp = ctl->sc_n_consec_rtos; + if (exp > MAX_RTO_BACKOFFS) + exp = MAX_RTO_BACKOFFS; + + delay = delay * (1 << exp); + + return delay; +} + + +static lsquic_time_t +calculate_tlp_delay (lsquic_send_ctl_t *ctl) +{ + lsquic_time_t srtt, delay; + + srtt = lsquic_rtt_stats_get_srtt(&ctl->sc_conn_pub->rtt_stats); + if (!srtt) + srtt = INITIAL_RTT; + if (ctl->sc_n_in_flight_all > 1) + delay = 10000; /* 10 ms is the minimum tail loss probe delay */ + else + delay = srtt + srtt / 2 + ctl->sc_conn_pub->max_peer_ack_usec; + if (delay < 2 * srtt) + delay = 2 * srtt; + + return delay; +} + + +static void +set_retx_alarm (struct lsquic_send_ctl *ctl, enum packnum_space pns, + lsquic_time_t now) +{ + enum retx_mode rm; + lsquic_time_t delay; + + assert(!TAILQ_EMPTY(&ctl->sc_unacked_packets[pns])); + + rm = get_retx_mode(ctl); + switch (rm) + { + case RETX_MODE_HANDSHAKE: + /* [draft-iyengar-quic-loss-recovery-01]: + * + * if (handshake packets are outstanding): + * alarm_duration = max(1.5 * smoothed_rtt, 10ms) << handshake_count; + * handshake_count++; + */ + delay = lsquic_rtt_stats_get_srtt(&ctl->sc_conn_pub->rtt_stats); + if (delay) + { + delay += delay / 2; + if (10000 > delay) + delay = 10000; + } + else + delay = 150000; + delay <<= ctl->sc_n_hsk; + ++ctl->sc_n_hsk; + break; + case RETX_MODE_LOSS: + delay = ctl->sc_loss_to; + break; + case RETX_MODE_TLP: + delay = calculate_tlp_delay(ctl); + break; + default: + assert(rm == RETX_MODE_RTO); + /* XXX the comment below as well as the name of the function + * that follows seem obsolete. + */ + /* Base RTO on the first unacked packet, following reference + * implementation. + */ + delay = calculate_packet_rto(ctl); + break; + } + + if (delay > MAX_RTO_DELAY) + delay = MAX_RTO_DELAY; + + LSQ_DEBUG("set RETX_%s alarm to %"PRIu64" (%"PRIu64 + "), mode %s", lsquic_pns2str[pns], + now + delay, delay, retx2str[rm]); + lsquic_alarmset_set(ctl->sc_alset, AL_RETX_INIT + pns, now + delay); + + if (PNS_APP == pns + && ctl->sc_ci == &lsquic_cong_bbr_if + && lsquic_alarmset_is_inited(ctl->sc_alset, AL_PACK_TOL) + && !lsquic_alarmset_is_set(ctl->sc_alset, AL_PACK_TOL)) + lsquic_alarmset_set(ctl->sc_alset, AL_PACK_TOL, now + delay); +} + + +#define SC_PACK_SIZE(ctl_) (+(ctl_)->sc_conn_pub->path->np_pack_size) + +/* XXX can we optimize this by caching the value of this function? It should + * not change within one tick. + */ +static lsquic_time_t +send_ctl_transfer_time (void *ctx) +{ + lsquic_send_ctl_t *const ctl = ctx; + lsquic_time_t tx_time; + uint64_t pacing_rate; + int in_recovery; + + in_recovery = send_ctl_in_recovery(ctl); + pacing_rate = ctl->sc_ci->cci_pacing_rate(CGP(ctl), in_recovery); + if (!pacing_rate) + pacing_rate = 1; + tx_time = (uint64_t) SC_PACK_SIZE(ctl) * 1000000 / pacing_rate; + return tx_time; +} + + +static void +send_ctl_unacked_append (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + enum packnum_space pns; + + pns = lsquic_packet_out_pns(packet_out); + assert(0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON))); + TAILQ_INSERT_TAIL(&ctl->sc_unacked_packets[pns], packet_out, po_next); + packet_out->po_flags |= PO_UNACKED; + ctl->sc_bytes_unacked_all += packet_out_sent_sz(packet_out); + ctl->sc_n_in_flight_all += 1; + if (packet_out->po_frame_types & ctl->sc_retx_frames) + { + ctl->sc_bytes_unacked_retx += packet_out_total_sz(packet_out); + ++ctl->sc_n_in_flight_retx; + } +} + + +static void +send_ctl_unacked_remove (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out, unsigned packet_sz) +{ + enum packnum_space pns; + + pns = lsquic_packet_out_pns(packet_out); + TAILQ_REMOVE(&ctl->sc_unacked_packets[pns], packet_out, po_next); + packet_out->po_flags &= ~PO_UNACKED; + assert(ctl->sc_bytes_unacked_all >= packet_sz); + ctl->sc_bytes_unacked_all -= packet_sz; + ctl->sc_n_in_flight_all -= 1; + if (packet_out->po_frame_types & ctl->sc_retx_frames) + { + ctl->sc_bytes_unacked_retx -= packet_sz; + --ctl->sc_n_in_flight_retx; + } +} + + +static void +send_ctl_sched_Xpend_common (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + packet_out->po_flags |= PO_SCHED; + ++ctl->sc_n_scheduled; + ctl->sc_bytes_scheduled += packet_out_total_sz(packet_out); + lsquic_send_ctl_sanity_check(ctl); +} + + +static void +send_ctl_sched_append (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + TAILQ_INSERT_TAIL(&ctl->sc_scheduled_packets, packet_out, po_next); + send_ctl_sched_Xpend_common(ctl, packet_out); +} + + +static void +send_ctl_sched_prepend (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + TAILQ_INSERT_HEAD(&ctl->sc_scheduled_packets, packet_out, po_next); + send_ctl_sched_Xpend_common(ctl, packet_out); +} + + +static void +send_ctl_sched_remove (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + TAILQ_REMOVE(&ctl->sc_scheduled_packets, packet_out, po_next); + packet_out->po_flags &= ~PO_SCHED; + assert(ctl->sc_n_scheduled); + --ctl->sc_n_scheduled; + ctl->sc_bytes_scheduled -= packet_out_total_sz(packet_out); + lsquic_send_ctl_sanity_check(ctl); +} + + +/* Poisoned packets are used to detect optimistic ACK attacks. We only + * use a single poisoned packet at a time. + */ +static int +send_ctl_add_poison (struct lsquic_send_ctl *ctl) +{ + struct lsquic_packet_out *poison; + + /* XXX Allocating the poison packet out of the regular pool can fail. + * This leads to a lot of error checking that could be skipped if we + * did not have to allocate this packet at all. + */ + poison = lsquic_malo_get(ctl->sc_conn_pub->packet_out_malo); + if (!poison) + return -1; + + memset(poison, 0, sizeof(*poison)); + poison->po_flags = PO_UNACKED|PO_POISON; + poison->po_packno = ctl->sc_gap; + poison->po_loss_chain = poison; /* Won't be used, but just in case */ + TAILQ_INSERT_TAIL(&ctl->sc_unacked_packets[PNS_APP], poison, po_next); + LSQ_DEBUG("insert poisoned packet #%"PRIu64, poison->po_packno); + ctl->sc_flags |= SC_POISON; + return 0; +} + + +static void +send_ctl_reschedule_poison (struct lsquic_send_ctl *ctl) +{ + struct lsquic_packet_out *poison; + enum lsq_log_level log_level; + lsquic_time_t approx_now; + + TAILQ_FOREACH(poison, &ctl->sc_unacked_packets[PNS_APP], po_next) + if (poison->po_flags & PO_POISON) + { + LSQ_DEBUG("remove poisoned packet #%"PRIu64, poison->po_packno); + TAILQ_REMOVE(&ctl->sc_unacked_packets[PNS_APP], poison, po_next); + lsquic_malo_put(poison); + lsquic_send_ctl_begin_optack_detection(ctl); + ctl->sc_flags &= ~SC_POISON; + return; + } + + approx_now = ctl->sc_last_sent_time; + if (0 == ctl->sc_enpub->enp_last_warning[WT_NO_POISON] + || ctl->sc_enpub->enp_last_warning[WT_NO_POISON] + + WARNING_INTERVAL < approx_now) + { + ctl->sc_enpub->enp_last_warning[WT_NO_POISON] = approx_now; + log_level = LSQ_LOG_WARN; + } + else + log_level = LSQ_LOG_DEBUG; + LSQ_LOG(log_level, "odd: poisoned packet #%"PRIu64" not found during " + "reschedule, flag: %d", ctl->sc_gap, !!(ctl->sc_flags & SC_POISON)); +} + + +static int +send_ctl_update_poison_hist (struct lsquic_send_ctl *ctl, + lsquic_packno_t packno) +{ + if (packno == ctl->sc_gap + 1) + { + assert(!(ctl->sc_flags & SC_POISON)); + lsquic_senhist_add(&ctl->sc_senhist, ctl->sc_gap); + if (0 != send_ctl_add_poison(ctl)) + return -1; + } + + return 0; +} + + +void +lsquic_send_ctl_mtu_not_sent (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + (void) /* See comment in send_ctl_add_poison(): the plan is to make + this code path always succeed. */ + send_ctl_update_poison_hist(ctl, packet_out->po_packno); + lsquic_senhist_add(&ctl->sc_senhist, packet_out->po_packno); +} + + +int +lsquic_send_ctl_sent_packet (lsquic_send_ctl_t *ctl, + struct lsquic_packet_out *packet_out) +{ + enum packnum_space pns; + char frames[lsquic_frame_types_str_sz]; + + assert(!(packet_out->po_flags & PO_ENCRYPTED)); + ctl->sc_last_sent_time = packet_out->po_sent; + pns = lsquic_packet_out_pns(packet_out); + if (0 != send_ctl_update_poison_hist(ctl, packet_out->po_packno)) + return -1; + LSQ_DEBUG("sent packet #%"PRIu64" (%s)", + packet_out->po_packno, lsquic_frame_types_to_str(frames, + sizeof(frames), packet_out->po_frame_types)); + lsquic_senhist_add(&ctl->sc_senhist, packet_out->po_packno); + if (ctl->sc_ci->cci_sent) + ctl->sc_ci->cci_sent(CGP(ctl), packet_out, ctl->sc_bytes_unacked_all, + ctl->sc_flags & SC_APP_LIMITED); + send_ctl_unacked_append(ctl, packet_out); + if (packet_out->po_frame_types & ctl->sc_retx_frames) + { + if (!lsquic_alarmset_is_set(ctl->sc_alset, AL_RETX_INIT + pns)) + set_retx_alarm(ctl, pns, packet_out->po_sent); + if (ctl->sc_n_in_flight_retx == 1) + ctl->sc_flags |= SC_WAS_QUIET; + } + /* TODO: Do we really want to use those for RTT info? Revisit this. */ + /* Hold on to packets that are not retransmittable because we need them + * to sample RTT information. They are released when ACK is received. + */ +#if LSQUIC_SEND_STATS + ++ctl->sc_stats.n_total_sent; +#endif + lsquic_send_ctl_sanity_check(ctl); + return 0; +} + + +static void +send_ctl_select_cc (struct lsquic_send_ctl *ctl) +{ + lsquic_time_t srtt; + + srtt = lsquic_rtt_stats_get_srtt(&ctl->sc_conn_pub->rtt_stats); + + if (srtt <= ctl->sc_enpub->enp_settings.es_cc_rtt_thresh) + { + LSQ_INFO("srtt is %"PRIu64" usec, which is smaller than or equal to " + "the threshold of %u usec: select Cubic congestion controller", + srtt, ctl->sc_enpub->enp_settings.es_cc_rtt_thresh); + ctl->sc_ci = &lsquic_cong_cubic_if; + ctl->sc_cong_ctl = &ctl->sc_adaptive_cc.acc_cubic; + ctl->sc_flags |= SC_CLEANUP_BBR; + } + else + { + LSQ_INFO("srtt is %"PRIu64" usec, which is greater than the threshold " + "of %u usec: select BBRv1 congestion controller", srtt, + ctl->sc_enpub->enp_settings.es_cc_rtt_thresh); + ctl->sc_ci = &lsquic_cong_bbr_if; + ctl->sc_cong_ctl = &ctl->sc_adaptive_cc.acc_bbr; + } +} + + +static void +take_rtt_sample (lsquic_send_ctl_t *ctl, + lsquic_time_t now, lsquic_time_t lack_delta) +{ + const lsquic_packno_t packno = ctl->sc_largest_acked_packno; + const lsquic_time_t sent = ctl->sc_largest_acked_sent_time; + const lsquic_time_t measured_rtt = now - sent; + if ((!packno || packno > ctl->sc_max_rtt_packno) && lack_delta < measured_rtt) + { + if (UNLIKELY(ctl->sc_flags & SC_ROUGH_RTT)) + { + memset(&ctl->sc_conn_pub->rtt_stats, 0, + sizeof(ctl->sc_conn_pub->rtt_stats)); + ctl->sc_flags &= ~SC_ROUGH_RTT; + } + ctl->sc_max_rtt_packno = packno; + lsquic_rtt_stats_update(&ctl->sc_conn_pub->rtt_stats, measured_rtt, lack_delta); + LSQ_DEBUG("packno %"PRIu64"; rtt: %"PRIu64"; delta: %"PRIu64"; " + "new srtt: %"PRIu64, packno, measured_rtt, lack_delta, + lsquic_rtt_stats_get_srtt(&ctl->sc_conn_pub->rtt_stats)); + if (ctl->sc_ci == &lsquic_cong_adaptive_if) + send_ctl_select_cc(ctl); + } +} + + +static void +send_ctl_return_enc_data (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + ctl->sc_enpub->enp_pmi->pmi_return(ctl->sc_enpub->enp_pmi_ctx, + packet_out->po_path->np_peer_ctx, + packet_out->po_enc_data, lsquic_packet_out_ipv6(packet_out)); + packet_out->po_flags &= ~PO_ENCRYPTED; + packet_out->po_enc_data = NULL; +} + + +static void +send_ctl_destroy_packet (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + if (0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON))) + lsquic_packet_out_destroy(packet_out, ctl->sc_enpub, + packet_out->po_path->np_peer_ctx); + else + lsquic_malo_put(packet_out); +} + + +static void +send_ctl_maybe_renumber_sched_to_right (struct lsquic_send_ctl *ctl, + const struct lsquic_packet_out *cur) +{ + struct lsquic_packet_out *packet_out; + + /* If current packet has PO_REPACKNO set, it means that all those to the + * right of it have this flag set as well. + */ + if (0 == (cur->po_flags & PO_REPACKNO)) + { + ctl->sc_cur_packno = cur->po_packno - 1; + for (packet_out = TAILQ_NEXT(cur, po_next); + packet_out && 0 == (packet_out->po_flags & PO_REPACKNO); + packet_out = TAILQ_NEXT(packet_out, po_next)) + { + packet_out->po_flags |= PO_REPACKNO; + } + } +} + + +static void +send_ctl_process_loss_chain_pkt (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *const chain_cur, + struct lsquic_packet_out **next) +{ + unsigned packet_sz; + const char *state; + enum packnum_space pns; + switch (chain_cur->po_flags & (PO_SCHED|PO_UNACKED|PO_LOST)) + { + case PO_SCHED: + send_ctl_maybe_renumber_sched_to_right(ctl, chain_cur); + send_ctl_sched_remove(ctl, chain_cur); + state = "scheduled"; + break; + case PO_UNACKED: + if (chain_cur->po_flags & PO_LOSS_REC) + { + pns = lsquic_packet_out_pns(chain_cur); + TAILQ_REMOVE(&ctl->sc_unacked_packets[pns], chain_cur, po_next); + state = "loss record"; + } + else + { + packet_sz = packet_out_sent_sz(chain_cur); + send_ctl_unacked_remove(ctl, chain_cur, packet_sz); + state = "unacked"; + } + break; + case PO_LOST: + TAILQ_REMOVE(&ctl->sc_lost_packets, chain_cur, po_next); + state = "lost"; + break; + case 0: + /* This is also weird, but let it pass */ + state = "unknown"; + break; + default: + assert(0); + state = "bad"; + break; + } + if (next && *next == chain_cur) + *next = TAILQ_NEXT(*next, po_next); + if (0 == (chain_cur->po_flags & PO_LOSS_REC)) + lsquic_packet_out_ack_streams(chain_cur); + LSQ_DEBUG("loss chain, destroy %s packet #%"PRIu64, state, + chain_cur->po_packno); + send_ctl_destroy_packet(ctl, chain_cur); +} + + +static void +send_ctl_acked_loss_chain (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *const packet_out, + struct lsquic_packet_out **next, + lsquic_packno_t largest_acked, + signed char *do_rtt) +{ + struct lsquic_packet_out *chain_cur, *chain_next; + unsigned count; + count = 0; + for (chain_cur = packet_out->po_loss_chain; chain_cur != packet_out; + chain_cur = chain_next) + { + chain_next = chain_cur->po_loss_chain; + if (chain_cur->po_packno == largest_acked) + *do_rtt = 1; + send_ctl_process_loss_chain_pkt(ctl, chain_cur, next); + ++count; + } + packet_out->po_loss_chain = packet_out; + + if (count) + LSQ_DEBUG("destroyed %u packet%.*s in chain of packet #%"PRIu64, + count, count != 1, "s", packet_out->po_packno); +} + + +/* The third argument to advance `next' pointer when modifying the unacked + * queue. This is because the unacked queue may contain several elements + * of the same chain. This is not true of the lost and scheduled packet + * queue, as the loss records are only present on the unacked queue. + */ +static void +send_ctl_destroy_chain (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *const packet_out, + struct lsquic_packet_out **next) +{ + struct lsquic_packet_out *chain_cur, *chain_next; + unsigned count; + count = 0; + for (chain_cur = packet_out->po_loss_chain; chain_cur != packet_out; + chain_cur = chain_next) + { + chain_next = chain_cur->po_loss_chain; + send_ctl_process_loss_chain_pkt(ctl, chain_cur, next); + ++count; + } + packet_out->po_loss_chain = packet_out; + + if (count) + LSQ_DEBUG("destroyed %u packet%.*s in chain of packet #%"PRIu64, + count, count != 1, "s", packet_out->po_packno); +} + + +static struct lsquic_packet_out * +send_ctl_record_loss (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + struct lsquic_packet_out *loss_record; + + loss_record = lsquic_malo_get(ctl->sc_conn_pub->packet_out_malo); + if (loss_record) + { + memset(loss_record, 0, sizeof(*loss_record)); + loss_record->po_flags = PO_UNACKED|PO_LOSS_REC|PO_SENT_SZ; + loss_record->po_flags |= + ((packet_out->po_flags >> POPNS_SHIFT) & 3) << POPNS_SHIFT; + /* Copy values used in ACK processing: */ + loss_record->po_packno = packet_out->po_packno; + loss_record->po_sent = packet_out->po_sent; + loss_record->po_sent_sz = packet_out_sent_sz(packet_out); + loss_record->po_frame_types = packet_out->po_frame_types; + /* Insert the loss record into the chain: */ + loss_record->po_loss_chain = packet_out->po_loss_chain; + packet_out->po_loss_chain = loss_record; + /* Place the loss record next to the lost packet we are about to + * remove from the list: + */ + TAILQ_INSERT_BEFORE(packet_out, loss_record, po_next); + return loss_record; + } + else + { + LSQ_INFO("cannot allocate memory for loss record"); + return NULL; + } +} + + +static struct lsquic_packet_out * +send_ctl_handle_regular_lost_packet (struct lsquic_send_ctl *ctl, + lsquic_packet_out_t *packet_out, struct lsquic_packet_out **next) +{ + struct lsquic_packet_out *loss_record; + unsigned packet_sz; + + assert(ctl->sc_n_in_flight_all); + packet_sz = packet_out_sent_sz(packet_out); + + ++ctl->sc_loss_count; +#if LSQUIC_CONN_STATS + ++ctl->sc_conn_pub->conn_stats->out.lost_packets; +#endif + + if (packet_out->po_frame_types & (1 << QUIC_FRAME_ACK)) + { + ctl->sc_flags |= SC_LOST_ACK_INIT << lsquic_packet_out_pns(packet_out); + LSQ_DEBUG("lost ACK in packet #%"PRIu64, packet_out->po_packno); + } + + if (ctl->sc_ci->cci_lost) + ctl->sc_ci->cci_lost(CGP(ctl), packet_out, packet_sz); + + /* This is a client-only check, server check happens in mini conn */ + if (lsquic_send_ctl_ecn_turned_on(ctl) + && 0 == ctl->sc_ecn_total_acked[PNS_INIT] + && HETY_INITIAL == packet_out->po_header_type + && 3 == packet_out->po_packno) + { + LSQ_DEBUG("possible ECN black hole during handshake, disable ECN"); + lsquic_send_ctl_disable_ecn(ctl); + } + + if (packet_out->po_frame_types & ctl->sc_retx_frames) + { + LSQ_DEBUG("lost retransmittable packet #%"PRIu64, + packet_out->po_packno); + loss_record = send_ctl_record_loss(ctl, packet_out); + send_ctl_unacked_remove(ctl, packet_out, packet_sz); + TAILQ_INSERT_TAIL(&ctl->sc_lost_packets, packet_out, po_next); + packet_out->po_flags |= PO_LOST; + return loss_record; + } + else + { + LSQ_DEBUG("lost unretransmittable packet #%"PRIu64, + packet_out->po_packno); + send_ctl_unacked_remove(ctl, packet_out, packet_sz); + send_ctl_destroy_chain(ctl, packet_out, next); + send_ctl_destroy_packet(ctl, packet_out); + return NULL; + } +} + + +static int +send_ctl_handle_lost_mtu_probe (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + unsigned packet_sz; + + LSQ_DEBUG("lost MTU probe in packet #%"PRIu64, packet_out->po_packno); + packet_sz = packet_out_sent_sz(packet_out); + send_ctl_unacked_remove(ctl, packet_out, packet_sz); + assert(packet_out->po_loss_chain == packet_out); + send_ctl_destroy_packet(ctl, packet_out); + return 0; +} + + +/* Returns true if packet was rescheduled, false otherwise. In the latter + * case, you should not dereference packet_out after the function returns. + */ +static int +send_ctl_handle_lost_packet (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out, struct lsquic_packet_out **next) +{ + if (0 == (packet_out->po_flags & PO_MTU_PROBE)) + return send_ctl_handle_regular_lost_packet(ctl, packet_out, next) != NULL; + else + return send_ctl_handle_lost_mtu_probe(ctl, packet_out); +} + + +static lsquic_packno_t +largest_retx_packet_number (const struct lsquic_send_ctl *ctl, + enum packnum_space pns) +{ + const lsquic_packet_out_t *packet_out; + TAILQ_FOREACH_REVERSE(packet_out, &ctl->sc_unacked_packets[pns], + lsquic_packets_tailq, po_next) + { + if (0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON)) + && (packet_out->po_frame_types & ctl->sc_retx_frames)) + return packet_out->po_packno; + } + return 0; +} + + +static void +send_ctl_loss_event (struct lsquic_send_ctl *ctl) +{ + ctl->sc_ci->cci_loss(CGP(ctl)); + if (ctl->sc_flags & SC_PACE) + lsquic_pacer_loss_event(&ctl->sc_pacer); + ctl->sc_largest_sent_at_cutback = + lsquic_senhist_largest(&ctl->sc_senhist); +} + + +/* Return true if losses were detected, false otherwise */ +static int +send_ctl_detect_losses (struct lsquic_send_ctl *ctl, enum packnum_space pns, + lsquic_time_t time) +{ + struct lsquic_packet_out *packet_out, *next, *loss_record; + lsquic_packno_t largest_retx_packno, largest_lost_packno; + + largest_retx_packno = largest_retx_packet_number(ctl, pns); + largest_lost_packno = 0; + ctl->sc_loss_to = 0; + + for (packet_out = TAILQ_FIRST(&ctl->sc_unacked_packets[pns]); + packet_out && packet_out->po_packno <= ctl->sc_largest_acked_packno; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + + if (packet_out->po_flags & (PO_LOSS_REC|PO_POISON)) + continue; + + if (packet_out->po_packno + ctl->sc_reord_thresh < + ctl->sc_largest_acked_packno) + { + LSQ_DEBUG("loss by FACK detected (dist: %"PRIu64"), packet #%"PRIu64, + ctl->sc_largest_acked_packno - packet_out->po_packno, + packet_out->po_packno); + if (0 == (packet_out->po_flags & PO_MTU_PROBE)) + { + largest_lost_packno = packet_out->po_packno; + loss_record = send_ctl_handle_regular_lost_packet(ctl, + packet_out, &next); + if (loss_record) + loss_record->po_lflags |= POL_FACKED; + } + else + send_ctl_handle_lost_mtu_probe(ctl, packet_out); + continue; + } + + if (largest_retx_packno + && (packet_out->po_frame_types & ctl->sc_retx_frames) + && 0 == (packet_out->po_flags & PO_MTU_PROBE) + && largest_retx_packno <= ctl->sc_largest_acked_packno) + { + LSQ_DEBUG("loss by early retransmit detected, packet #%"PRIu64, + packet_out->po_packno); + largest_lost_packno = packet_out->po_packno; + ctl->sc_loss_to = + lsquic_rtt_stats_get_srtt(&ctl->sc_conn_pub->rtt_stats) / 4; + LSQ_DEBUG("set sc_loss_to to %"PRIu64", packet #%"PRIu64, + ctl->sc_loss_to, packet_out->po_packno); + (void) send_ctl_handle_lost_packet(ctl, packet_out, &next); + continue; + } + + if (ctl->sc_largest_acked_sent_time > packet_out->po_sent + + lsquic_rtt_stats_get_srtt(&ctl->sc_conn_pub->rtt_stats)) + { + LSQ_DEBUG("loss by sent time detected: packet #%"PRIu64, + packet_out->po_packno); + if ((packet_out->po_frame_types & ctl->sc_retx_frames) + && 0 == (packet_out->po_flags & PO_MTU_PROBE)) + largest_lost_packno = packet_out->po_packno; + else { /* don't count it as a loss */; } + (void) send_ctl_handle_lost_packet(ctl, packet_out, &next); + continue; + } + } + + if (largest_lost_packno > ctl->sc_largest_sent_at_cutback) + { + LSQ_DEBUG("detected new loss: packet #%"PRIu64"; new lsac: " + "%"PRIu64, largest_lost_packno, ctl->sc_largest_sent_at_cutback); + send_ctl_loss_event(ctl); + } + else if (largest_lost_packno) + /* Lost packets whose numbers are smaller than the largest packet + * number sent at the time of the last loss event indicate the same + * loss event. This follows NewReno logic, see RFC 6582. + */ + LSQ_DEBUG("ignore loss of packet #%"PRIu64" smaller than lsac " + "%"PRIu64, largest_lost_packno, ctl->sc_largest_sent_at_cutback); + + return largest_lost_packno > ctl->sc_largest_sent_at_cutback; +} + + +static void +send_ctl_mtu_probe_acked (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + + LSQ_DEBUG("MTU probe in packet #%"PRIu64" has been ACKed", + packet_out->po_packno); + assert(lconn->cn_if->ci_mtu_probe_acked); + if (lconn->cn_if->ci_mtu_probe_acked) + lconn->cn_if->ci_mtu_probe_acked(lconn, packet_out); +} + + +static void +send_ctl_maybe_increase_reord_thresh (struct lsquic_send_ctl *ctl, + const struct lsquic_packet_out *loss_record, + lsquic_packno_t prev_largest_acked) +{ +#if LSQUIC_DEVEL + if (ctl->sc_flags & SC_DYN_PTHRESH) +#endif + if ((loss_record->po_lflags & POL_FACKED) + && loss_record->po_packno + ctl->sc_reord_thresh + < prev_largest_acked) + { + ctl->sc_reord_thresh = prev_largest_acked - loss_record->po_packno; + LSQ_DEBUG("packet #%"PRIu64" was a spurious loss by FACK, increase " + "reordering threshold to %u", loss_record->po_packno, + ctl->sc_reord_thresh); + } +} + + +int +lsquic_send_ctl_got_ack (lsquic_send_ctl_t *ctl, + const struct ack_info *acki, + lsquic_time_t ack_recv_time, lsquic_time_t now) +{ + const struct lsquic_packno_range *range = + &acki->ranges[ acki->n_ranges - 1 ]; + lsquic_packet_out_t *packet_out, *next; + lsquic_packno_t smallest_unacked; + lsquic_packno_t prev_largest_acked; + lsquic_packno_t ack2ed[2]; + unsigned packet_sz; + int app_limited, losses_detected; + signed char do_rtt, skip_checks; + enum packnum_space pns; + unsigned ecn_total_acked, ecn_ce_cnt, one_rtt_cnt; + + pns = acki->pns; + ctl->sc_flags |= SC_ACK_RECV_INIT << pns; + packet_out = TAILQ_FIRST(&ctl->sc_unacked_packets[pns]); +#if __GNUC__ + __builtin_prefetch(packet_out); +#endif + +#if __GNUC__ + if (UNLIKELY(LSQ_LOG_ENABLED(LSQ_LOG_DEBUG))) +#endif + LSQ_DEBUG("Got ACK frame, largest acked: %"PRIu64"; delta: %"PRIu64, + largest_acked(acki), acki->lack_delta); + + /* Validate ACK first: */ + if (UNLIKELY(largest_acked(acki) + > lsquic_senhist_largest(&ctl->sc_senhist))) + { + LSQ_INFO("at least one packet in ACK range [%"PRIu64" - %"PRIu64"] " + "was never sent", acki->ranges[0].low, acki->ranges[0].high); + return -1; + } + + if (ctl->sc_ci->cci_begin_ack) + ctl->sc_ci->cci_begin_ack(CGP(ctl), ack_recv_time, + ctl->sc_bytes_unacked_all); + + ecn_total_acked = 0; + ecn_ce_cnt = 0; + one_rtt_cnt = 0; + + if (UNLIKELY(ctl->sc_flags & SC_WAS_QUIET)) + { + ctl->sc_flags &= ~SC_WAS_QUIET; + LSQ_DEBUG("ACK comes after a period of quiescence"); + ctl->sc_ci->cci_was_quiet(CGP(ctl), now, ctl->sc_bytes_unacked_all); + if (packet_out && (packet_out->po_frame_types & QUIC_FTBIT_PING) + && ctl->sc_conn_pub->last_prog) + { + LSQ_DEBUG("ACK to PING frame, update last progress to %"PRIu64, + ctl->sc_conn_pub->last_tick); + ctl->sc_conn_pub->last_prog = ctl->sc_conn_pub->last_tick; + } + } + + if (UNLIKELY(!packet_out)) + goto no_unacked_packets; + + smallest_unacked = packet_out->po_packno; + LSQ_DEBUG("Smallest unacked: %"PRIu64, smallest_unacked); + + ack2ed[1] = 0; + + if (packet_out->po_packno > largest_acked(acki)) + goto detect_losses; + + if (largest_acked(acki) > ctl->sc_cur_rt_end) + { + ++ctl->sc_rt_count; + ctl->sc_cur_rt_end = lsquic_senhist_largest(&ctl->sc_senhist); + } + + prev_largest_acked = ctl->sc_largest_acked_packno; + do_rtt = 0, skip_checks = 0; + app_limited = -1; + do + { + next = TAILQ_NEXT(packet_out, po_next); +#if __GNUC__ + __builtin_prefetch(next); +#endif + if (skip_checks) + goto after_checks; + /* This is faster than binary search in the normal case when the number + * of ranges is not much larger than the number of unacked packets. + */ + while (UNLIKELY(range->high < packet_out->po_packno)) + --range; + if (range->low <= packet_out->po_packno) + { + skip_checks = range == acki->ranges; + if (app_limited < 0) + app_limited = send_ctl_retx_bytes_out(ctl) + 3 * SC_PACK_SIZE(ctl) /* This + is the "maximum burst" parameter */ + < ctl->sc_ci->cci_get_cwnd(CGP(ctl)); + after_checks: + ctl->sc_largest_acked_packno = packet_out->po_packno; + ctl->sc_largest_acked_sent_time = packet_out->po_sent; + ecn_total_acked += lsquic_packet_out_ecn(packet_out) != ECN_NOT_ECT; + ecn_ce_cnt += lsquic_packet_out_ecn(packet_out) == ECN_CE; + one_rtt_cnt += lsquic_packet_out_enc_level(packet_out) == ENC_LEV_APP; + if (0 == (packet_out->po_flags + & (PO_LOSS_REC|PO_POISON|PO_MTU_PROBE))) + { + packet_sz = packet_out_sent_sz(packet_out); + send_ctl_unacked_remove(ctl, packet_out, packet_sz); + lsquic_packet_out_ack_streams(packet_out); + LSQ_DEBUG("acking via regular record #%"PRIu64, + packet_out->po_packno); + } + else if (packet_out->po_flags & PO_LOSS_REC) + { + packet_sz = packet_out->po_sent_sz; + TAILQ_REMOVE(&ctl->sc_unacked_packets[pns], packet_out, + po_next); + LSQ_DEBUG("acking via loss record #%"PRIu64, + packet_out->po_packno); + send_ctl_maybe_increase_reord_thresh(ctl, packet_out, + prev_largest_acked); +#if LSQUIC_CONN_STATS + ++ctl->sc_conn_pub->conn_stats->out.acked_via_loss; +#endif + } + else if (packet_out->po_flags & PO_MTU_PROBE) + { + packet_sz = packet_out_sent_sz(packet_out); + send_ctl_unacked_remove(ctl, packet_out, packet_sz); + send_ctl_mtu_probe_acked(ctl, packet_out); + } + else + { + LSQ_WARN("poisoned packet #%"PRIu64" acked", + packet_out->po_packno); + return -1; + } + ack2ed[!!(packet_out->po_frame_types & (1 << QUIC_FRAME_ACK))] + = packet_out->po_ack2ed; + do_rtt |= packet_out->po_packno == largest_acked(acki); + ctl->sc_ci->cci_ack(CGP(ctl), packet_out, packet_sz, now, + app_limited); + send_ctl_acked_loss_chain(ctl, packet_out, &next, + largest_acked(acki), &do_rtt); + send_ctl_destroy_packet(ctl, packet_out); + } + packet_out = next; + } + while (packet_out && packet_out->po_packno <= largest_acked(acki)); + + if (do_rtt) + { + take_rtt_sample(ctl, ack_recv_time, acki->lack_delta); + LSQ_DEBUG("clear sc_n_consec_rtos, sc_n_hsk, sc_ntlp"); + ctl->sc_n_consec_rtos = 0; + ctl->sc_n_hsk = 0; + ctl->sc_n_tlp = 0; + } + + detect_losses: + losses_detected = send_ctl_detect_losses(ctl, pns, ack_recv_time); + if (send_ctl_first_unacked_retx_packet(ctl, pns)) + { + if ((ctl->sc_flags & SC_1RTT_ACKED) + || (!lsquic_alarmset_is_set(ctl->sc_alset, AL_RETX_INIT + pns) + && losses_detected)) + set_retx_alarm(ctl, pns, now); + } + else + { + LSQ_DEBUG("No retransmittable packets: clear alarm"); + lsquic_alarmset_unset(ctl->sc_alset, AL_RETX_INIT + pns); + } + lsquic_send_ctl_sanity_check(ctl); + + if ((ctl->sc_flags & SC_NSTP) && ack2ed[1] > ctl->sc_largest_ack2ed[pns]) + ctl->sc_largest_ack2ed[pns] = ack2ed[1]; + + if (ctl->sc_n_in_flight_retx == 0) + ctl->sc_flags |= SC_WAS_QUIET; + + if (one_rtt_cnt) + ctl->sc_flags |= SC_1RTT_ACKED; + + if (lsquic_send_ctl_ecn_turned_on(ctl) && (acki->flags & AI_ECN)) + { + const uint64_t sum = acki->ecn_counts[ECN_ECT0] + + acki->ecn_counts[ECN_ECT1] + + acki->ecn_counts[ECN_CE]; + ctl->sc_ecn_total_acked[pns] += ecn_total_acked; + ctl->sc_ecn_ce_cnt[pns] += ecn_ce_cnt; + if (sum >= ctl->sc_ecn_total_acked[pns]) + { + if (sum > ctl->sc_ecn_total_acked[pns]) + ctl->sc_ecn_total_acked[pns] = sum; + if (acki->ecn_counts[ECN_CE] > ctl->sc_ecn_ce_cnt[pns]) + { + ctl->sc_ecn_ce_cnt[pns] = acki->ecn_counts[ECN_CE]; + if (losses_detected) + /* It's either-or. From [draft-ietf-quic-recovery-29], + * Section 7.4: + " When a loss or ECN-CE marking is detected [...] + */ + LSQ_DEBUG("ECN-CE marking detected, but loss event already " + "accounted for"); + else + { + LSQ_DEBUG("ECN-CE marking detected, issue loss event"); + send_ctl_loss_event(ctl); + } + } + } + else + { + LSQ_INFO("ECN total ACKed (%"PRIu64") is greater than the sum " + "of ECN counters (%"PRIu64"): disable ECN", + ctl->sc_ecn_total_acked[pns], sum); + lsquic_send_ctl_disable_ecn(ctl); + } + } + + update_n_stop_waiting: + if (!(ctl->sc_flags & (SC_NSTP|SC_IETF))) + { + if (smallest_unacked > smallest_acked(acki)) + /* Peer is acking packets that have been acked already. Schedule + * ACK and STOP_WAITING frame to chop the range if we get two of + * these in a row. + */ + ++ctl->sc_n_stop_waiting; + else + ctl->sc_n_stop_waiting = 0; + } + lsquic_send_ctl_sanity_check(ctl); + if (ctl->sc_ci->cci_end_ack) + ctl->sc_ci->cci_end_ack(CGP(ctl), ctl->sc_bytes_unacked_all); + if (ctl->sc_gap < smallest_acked(acki)) + send_ctl_reschedule_poison(ctl); + return 0; + + no_unacked_packets: + smallest_unacked = lsquic_senhist_largest(&ctl->sc_senhist) + 1; + ctl->sc_flags |= SC_WAS_QUIET; + goto update_n_stop_waiting; +} + + +lsquic_packno_t +lsquic_send_ctl_smallest_unacked (lsquic_send_ctl_t *ctl) +{ + const lsquic_packet_out_t *packet_out; + enum packnum_space pns; + + /* Packets are always sent out in order (unless we are reordering them + * on purpose). Thus, the first packet on the unacked packets list has + * the smallest packet number of all packets on that list. + */ + for (pns = ctl->sc_flags & SC_IETF ? PNS_INIT : PNS_APP; pns < N_PNS; ++pns) + if ((packet_out = TAILQ_FIRST(&ctl->sc_unacked_packets[pns]))) + /* We're OK with using a loss record */ + return packet_out->po_packno; + + return lsquic_senhist_largest(&ctl->sc_senhist) + first_packno(ctl); +} + + +static struct lsquic_packet_out * +send_ctl_next_lost (lsquic_send_ctl_t *ctl) +{ + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + struct lsquic_packet_out *lost_packet; + + get_next_lost: + lost_packet = TAILQ_FIRST(&ctl->sc_lost_packets); + if (lost_packet) + { + if (lost_packet->po_frame_types & (1 << QUIC_FRAME_STREAM)) + { + if (0 == (lost_packet->po_flags & PO_MINI)) + { + lsquic_packet_out_elide_reset_stream_frames(lost_packet, + UINT64_MAX); + if (lost_packet->po_regen_sz >= lost_packet->po_data_sz) + { + LSQ_DEBUG("Dropping packet #%"PRIu64" from lost queue", + lost_packet->po_packno); + TAILQ_REMOVE(&ctl->sc_lost_packets, lost_packet, po_next); + lost_packet->po_flags &= ~PO_LOST; + send_ctl_destroy_chain(ctl, lost_packet, NULL); + send_ctl_destroy_packet(ctl, lost_packet); + goto get_next_lost; + } + } + else + { + /* Mini connection only ever sends data on stream 1. There + * is nothing to elide: always resend it. + */ + ; + } + } + + if (!lsquic_send_ctl_can_send(ctl)) + return NULL; + + pop_lost_packet: + if (packet_out_total_sz(lost_packet) <= SC_PACK_SIZE(ctl)) + { + TAILQ_REMOVE(&ctl->sc_lost_packets, lost_packet, po_next); + lost_packet->po_flags &= ~PO_LOST; + lost_packet->po_flags |= PO_RETX; + } + else + { + /* We delay resizing lost packets as long as possible, hoping that + * it may be ACKed. At this point, however, we have to resize. + */ + if (0 == split_lost_packet(ctl, lost_packet)) + { + lost_packet = TAILQ_FIRST(&ctl->sc_lost_packets); + while (lost_packet != NULL && lost_packet->po_regen_sz >= lost_packet->po_data_sz) + { + LSQ_DEBUG("Dropping packet %"PRIu64 + " from lost queue, data size: %d, frames: %x", + lost_packet->po_packno, lost_packet->po_data_sz, + lost_packet->po_frame_types); + TAILQ_REMOVE(&ctl->sc_lost_packets, lost_packet, po_next); + lost_packet->po_flags &= ~PO_LOST; + send_ctl_destroy_chain(ctl, lost_packet, NULL); + send_ctl_destroy_packet(ctl, lost_packet); + lost_packet = TAILQ_FIRST(&ctl->sc_lost_packets); + } + if (!lost_packet) + return NULL; + else + goto pop_lost_packet; + } + lconn->cn_if->ci_internal_error(lconn, + "error resizing lost packet"); + return NULL; + } + } + + return lost_packet; +} + + +static lsquic_packno_t +send_ctl_next_packno (lsquic_send_ctl_t *ctl) +{ + lsquic_packno_t packno; + + packno = ++ctl->sc_cur_packno; + if (packno == ctl->sc_gap) + packno = ++ctl->sc_cur_packno; + + return packno; +} + + +void +lsquic_send_ctl_cleanup (lsquic_send_ctl_t *ctl) +{ + lsquic_packet_out_t *packet_out, *next; + enum packnum_space pns; + unsigned n; + + lsquic_senhist_cleanup(&ctl->sc_senhist); + while ((packet_out = TAILQ_FIRST(&ctl->sc_scheduled_packets))) + { + send_ctl_sched_remove(ctl, packet_out); + send_ctl_destroy_packet(ctl, packet_out); + } + assert(0 == ctl->sc_n_scheduled); + //assert(0 == ctl->sc_bytes_scheduled); + for (pns = PNS_INIT; pns < N_PNS; ++pns) + while ((packet_out = TAILQ_FIRST(&ctl->sc_unacked_packets[pns]))) + { + TAILQ_REMOVE(&ctl->sc_unacked_packets[pns], packet_out, po_next); + packet_out->po_flags &= ~PO_UNACKED; +#ifndef NDEBUG + if (0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON))) + { + ctl->sc_bytes_unacked_all -= packet_out_sent_sz(packet_out); + --ctl->sc_n_in_flight_all; + } +#endif + send_ctl_destroy_packet(ctl, packet_out); + } + assert(0 == ctl->sc_n_in_flight_all); + assert(0 == ctl->sc_bytes_unacked_all); + while ((packet_out = TAILQ_FIRST(&ctl->sc_lost_packets))) + { + TAILQ_REMOVE(&ctl->sc_lost_packets, packet_out, po_next); + packet_out->po_flags &= ~PO_LOST; + send_ctl_destroy_packet(ctl, packet_out); + } + while ((packet_out = TAILQ_FIRST(&ctl->sc_0rtt_stash))) + { + TAILQ_REMOVE(&ctl->sc_0rtt_stash, packet_out, po_next); + send_ctl_destroy_packet(ctl, packet_out); + } + for (n = 0; n < sizeof(ctl->sc_buffered_packets) / + sizeof(ctl->sc_buffered_packets[0]); ++n) + { + for (packet_out = TAILQ_FIRST(&ctl->sc_buffered_packets[n].bpq_packets); + packet_out; packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + send_ctl_destroy_packet(ctl, packet_out); + } + } + if (ctl->sc_flags & SC_PACE) + lsquic_pacer_cleanup(&ctl->sc_pacer); + ctl->sc_ci->cci_cleanup(CGP(ctl)); + if (ctl->sc_flags & SC_CLEANUP_BBR) + { + assert(ctl->sc_ci == &lsquic_cong_cubic_if); + lsquic_cong_bbr_if.cci_cleanup(&ctl->sc_adaptive_cc.acc_bbr); + } +#if LSQUIC_SEND_STATS + LSQ_NOTICE("stats: n_total_sent: %u; n_resent: %u; n_delayed: %u", + ctl->sc_stats.n_total_sent, ctl->sc_stats.n_resent, + ctl->sc_stats.n_delayed); +#endif + free(ctl->sc_token); +} + + +static unsigned +send_ctl_retx_bytes_out (const struct lsquic_send_ctl *ctl) +{ + return ctl->sc_bytes_scheduled + + ctl->sc_bytes_unacked_retx + ; +} + + +static unsigned +send_ctl_all_bytes_out (const struct lsquic_send_ctl *ctl) +{ + return ctl->sc_bytes_scheduled + + ctl->sc_bytes_unacked_all + ; +} + + +int +lsquic_send_ctl_pacer_blocked (struct lsquic_send_ctl *ctl) +{ +#ifdef NDEBUG + return (ctl->sc_flags & SC_PACE) + && !lsquic_pacer_can_schedule(&ctl->sc_pacer, + ctl->sc_n_in_flight_all); +#else + if (ctl->sc_flags & SC_PACE) + { + const int blocked = !lsquic_pacer_can_schedule(&ctl->sc_pacer, + ctl->sc_n_in_flight_all); + LSQ_DEBUG("pacer blocked: %d, in_flight_all: %u", blocked, + ctl->sc_n_in_flight_all); + return blocked; + } + else + return 0; +#endif +} + + +static int +send_ctl_can_send (struct lsquic_send_ctl *ctl) +{ + uint64_t cwnd = ctl->sc_ci->cci_get_cwnd(CGP(ctl)); + const unsigned n_out = send_ctl_all_bytes_out(ctl); + LSQ_DEBUG("%s: sc_flags: 0x%X, b_out: %u = (%u + %u); b_retx: %u; cwnd: %"PRIu64 + "; ccfc: %"PRIu64"/%"PRIu64"; n_scheduled: %d, n_in_flight_all: %d" + "; pa_burst: %d; pa_next: %"PRIu64"; pa_now: %"PRIu64 + , __func__, ctl->sc_flags, + n_out, ctl->sc_bytes_unacked_all, ctl->sc_bytes_scheduled, + ctl->sc_bytes_unacked_retx, cwnd, + ctl->sc_conn_pub->conn_cap.cc_sent, + ctl->sc_conn_pub->conn_cap.cc_max, + ctl->sc_n_scheduled, ctl->sc_n_in_flight_all, + ctl->sc_pacer.pa_burst_tokens, + ctl->sc_pacer.pa_next_sched, ctl->sc_pacer.pa_now); + + if (ctl->sc_flags & SC_PACE) + { + if (n_out >= cwnd) + return 0; + if (lsquic_pacer_can_schedule(&ctl->sc_pacer, + ctl->sc_n_scheduled + ctl->sc_n_in_flight_all)) + return 1; + if (ctl->sc_flags & SC_SCHED_TICK) + { + ctl->sc_flags &= ~SC_SCHED_TICK; + lsquic_engine_add_conn_to_attq(ctl->sc_enpub, + ctl->sc_conn_pub->lconn, lsquic_pacer_next_sched(&ctl->sc_pacer), + AEW_PACER); + } + return 0; + } + else + return n_out < cwnd; +} + + +static int +send_ctl_can_send_pre_hsk (struct lsquic_send_ctl *ctl) +{ + unsigned bytes_in, bytes_out; + + bytes_in = ctl->sc_conn_pub->bytes_in; + bytes_out = ctl->sc_conn_pub->bytes_out + ctl->sc_bytes_scheduled; + if (bytes_out >= bytes_in * 2 + bytes_in / 2 /* This should work out + to around 3 on average */) + { + LSQ_DEBUG("%s: amplification block: %u bytes in, %u bytes out", + __func__, bytes_in, bytes_out); + return 0; + } + else + return send_ctl_can_send(ctl); +} + + +#ifndef NDEBUG +#if __GNUC__ +__attribute__((weak)) +#endif +#endif +int +lsquic_send_ctl_can_send (struct lsquic_send_ctl *ctl) +{ + return ctl->sc_can_send(ctl); +} + + +/* Like lsquic_send_ctl_can_send(), but no mods */ +static int +send_ctl_could_send (const struct lsquic_send_ctl *ctl) +{ + uint64_t cwnd; + unsigned n_out; + + if ((ctl->sc_flags & SC_PACE) && lsquic_pacer_delayed(&ctl->sc_pacer)) + return 0; + + cwnd = ctl->sc_ci->cci_get_cwnd(CGP(ctl)); + n_out = send_ctl_all_bytes_out(ctl); + return n_out < cwnd; +} + + +void +lsquic_send_ctl_maybe_app_limited (struct lsquic_send_ctl *ctl, + const struct network_path *path) +{ + const struct lsquic_packet_out *packet_out; + + packet_out = lsquic_send_ctl_last_scheduled(ctl, PNS_APP, path, 0); + if ((packet_out && lsquic_packet_out_avail(packet_out) > 10) + || send_ctl_could_send(ctl)) + { + LSQ_DEBUG("app-limited"); + ctl->sc_flags |= SC_APP_LIMITED; + } +} + + +static void +send_ctl_expire (struct lsquic_send_ctl *ctl, enum packnum_space pns, + enum expire_filter filter) +{ + lsquic_packet_out_t *packet_out, *next; + int n_resubmitted; + static const char *const filter_type2str[] = { + [EXFI_ALL] = "all", + [EXFI_HSK] = "handshake", + [EXFI_LAST] = "last", + }; + + switch (filter) + { + case EXFI_ALL: + n_resubmitted = 0; + for (packet_out = TAILQ_FIRST(&ctl->sc_unacked_packets[pns]); + packet_out; packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON))) + n_resubmitted += send_ctl_handle_lost_packet(ctl, packet_out, + &next); + } + break; + case EXFI_HSK: + n_resubmitted = 0; + for (packet_out = TAILQ_FIRST(&ctl->sc_unacked_packets[pns]); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_flags & PO_HELLO) + n_resubmitted += send_ctl_handle_lost_packet(ctl, packet_out, + &next); + } + break; + default: + assert(filter == EXFI_LAST); + packet_out = send_ctl_last_unacked_retx_packet(ctl, pns); + if (packet_out) + n_resubmitted = send_ctl_handle_lost_packet(ctl, packet_out, NULL); + else + n_resubmitted = 0; + break; + } + + LSQ_DEBUG("consider %s packets lost: %d resubmitted", + filter_type2str[filter], n_resubmitted); +} + + +void +lsquic_send_ctl_expire_all (lsquic_send_ctl_t *ctl) +{ + enum packnum_space pns; + + for (pns = ctl->sc_flags & SC_IETF ? PNS_INIT : PNS_APP; pns < N_PNS; ++pns) + { + lsquic_alarmset_unset(ctl->sc_alset, AL_RETX_INIT + pns); + send_ctl_expire(ctl, pns, EXFI_ALL); + } + lsquic_send_ctl_sanity_check(ctl); +} + + +#ifndef NDEBUG +void +lsquic_send_ctl_do_sanity_check (const struct lsquic_send_ctl *ctl) +{ + const struct lsquic_packet_out *packet_out; + lsquic_packno_t prev_packno; + int prev_packno_set; + unsigned count, bytes; + enum packnum_space pns; + +#if _MSC_VER + prev_packno = 0; +#endif + count = 0, bytes = 0; + for (pns = PNS_INIT; pns <= PNS_APP; ++pns) + { + prev_packno_set = 0; + TAILQ_FOREACH(packet_out, &ctl->sc_unacked_packets[pns], po_next) + { + if (prev_packno_set) + assert(packet_out->po_packno > prev_packno); + else + { + prev_packno = packet_out->po_packno; + prev_packno_set = 1; + } + if (0 == (packet_out->po_flags & (PO_LOSS_REC|PO_POISON))) + { + bytes += packet_out_sent_sz(packet_out); + ++count; + } + } + } + assert(count == ctl->sc_n_in_flight_all); + assert(bytes == ctl->sc_bytes_unacked_all); + + count = 0, bytes = 0; + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + { + assert(packet_out->po_flags & PO_SCHED); + bytes += packet_out_total_sz(packet_out); + ++count; + } + assert(count == ctl->sc_n_scheduled); + assert(bytes == ctl->sc_bytes_scheduled); +} + + +#endif + + +void +lsquic_send_ctl_scheduled_one (lsquic_send_ctl_t *ctl, + lsquic_packet_out_t *packet_out) +{ +#ifndef NDEBUG + const lsquic_packet_out_t *last; + last = TAILQ_LAST(&ctl->sc_scheduled_packets, lsquic_packets_tailq); + if (last) + assert((last->po_flags & PO_REPACKNO) || + last->po_packno < packet_out->po_packno); +#endif + if (ctl->sc_flags & SC_PACE) + { + unsigned n_out = ctl->sc_n_in_flight_retx + ctl->sc_n_scheduled; + lsquic_pacer_packet_scheduled(&ctl->sc_pacer, n_out, + send_ctl_in_recovery(ctl), send_ctl_transfer_time, ctl); + } + send_ctl_sched_append(ctl, packet_out); +} + + +/* Wrapper is used to reset the counter when it's been too long */ +static unsigned +send_ctl_get_n_consec_rtos (struct lsquic_send_ctl *ctl) +{ + lsquic_time_t timeout; + + if (ctl->sc_n_consec_rtos) + { + timeout = calculate_packet_rto(ctl); + if (ctl->sc_last_rto_time + timeout < ctl->sc_last_sent_time) + { + ctl->sc_n_consec_rtos = 0; + LSQ_DEBUG("reset RTO counter after %"PRIu64" usec", + ctl->sc_last_sent_time - ctl->sc_last_rto_time); + } + } + + return ctl->sc_n_consec_rtos; +} + + +/* This mimics the logic in lsquic_send_ctl_next_packet_to_send(): we want + * to check whether the first scheduled packet cannot be sent. + */ +int +lsquic_send_ctl_sched_is_blocked (struct lsquic_send_ctl *ctl) +{ + const lsquic_packet_out_t *packet_out + = TAILQ_FIRST(&ctl->sc_scheduled_packets); + return send_ctl_get_n_consec_rtos(ctl) + && 0 == ctl->sc_next_limit + && packet_out + && !(packet_out->po_frame_types & (1 << QUIC_FRAME_ACK)); +} + + +static void +send_ctl_maybe_zero_pad (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *initial_packet, size_t limit) +{ + struct lsquic_packet_out *packet_out; + size_t cum_size, size; + + cum_size = packet_out_total_sz(initial_packet); + if (cum_size >= limit) + { + LSQ_DEBUG("packet size %zu larger than %zu-byte limit: not " + "zero-padding", cum_size, limit); + return; + } + + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + { + size = packet_out_total_sz(packet_out); + if (cum_size + size > limit) + break; + cum_size += size; + if (HETY_SHORT == packet_out->po_header_type) + break; + } + + LSQ_DEBUG("cum_size: %zu; limit: %zu", cum_size, limit); + assert(cum_size <= limit); + size = limit - cum_size; + if (size > lsquic_packet_out_avail(initial_packet)) + size = lsquic_packet_out_avail(initial_packet); + if (size) + { + memset(initial_packet->po_data + initial_packet->po_data_sz, 0, size); + initial_packet->po_data_sz += size; + initial_packet->po_frame_types |= QUIC_FTBIT_PADDING; + } + LSQ_DEBUG("Added %zu bytes of PADDING to packet #%"PRIu64, size, + initial_packet->po_packno); +} + + +/* Predict whether lsquic_send_ctl_next_packet_to_send() will return a + * packet by mimicking its logic. Returns true if packet will be returned, + * false otherwise. + */ +int +lsquic_send_ctl_next_packet_to_send_predict (struct lsquic_send_ctl *ctl) +{ + const struct lsquic_packet_out *packet_out; + unsigned n_rtos; + + n_rtos = ~0u; + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + { + if (!(packet_out->po_frame_types + & ((1 << QUIC_FRAME_ACK) | (1 << QUIC_FRAME_CRYPTO))) + && 0 == ctl->sc_next_limit + && 0 != (n_rtos == ~0u ? /* Initialize once */ + (n_rtos = send_ctl_get_n_consec_rtos(ctl)) : n_rtos)) + { + LSQ_DEBUG("send prediction: no, n_rtos: %u", n_rtos); + return 0; + } + if ((packet_out->po_flags & PO_REPACKNO) + && packet_out->po_regen_sz == packet_out->po_data_sz + && packet_out->po_frame_types != QUIC_FTBIT_PATH_CHALLENGE) + { + LSQ_DEBUG("send prediction: packet #%"PRIu64" would be dropped, " + "continue", packet_out->po_packno); + continue; + } + LSQ_DEBUG("send prediction: yes, packet #%"PRIu64", flags %u, frames 0x%X", + packet_out->po_packno, (unsigned) packet_out->po_flags, + (unsigned) packet_out->po_frame_types); + return 1; + } + + LSQ_DEBUG("send prediction: no, no matching scheduled packets"); + return 0; +} + + +lsquic_packet_out_t * +lsquic_send_ctl_next_packet_to_send (struct lsquic_send_ctl *ctl, + const struct to_coal *to_coal) +{ + lsquic_packet_out_t *packet_out; + size_t size; + int dec_limit; + + get_packet: + packet_out = TAILQ_FIRST(&ctl->sc_scheduled_packets); + if (!packet_out) + { + LSQ_DEBUG("no more scheduled packets"); + return NULL; + } + + /* Note: keep logic in this function and in + * lsquic_send_ctl_next_packet_to_send_predict() in synch. + */ + if (!(packet_out->po_frame_types + & ((1 << QUIC_FRAME_ACK) | (1 << QUIC_FRAME_CRYPTO))) + && send_ctl_get_n_consec_rtos(ctl)) + { + if (ctl->sc_next_limit) + dec_limit = 1; + else + { + LSQ_DEBUG("sc_n_consec_rtos: %d, sc_next_limit is 0", + ctl->sc_n_consec_rtos); + return NULL; + } + } + else + dec_limit = 0; + + if (packet_out->po_flags & PO_REPACKNO) + { + if (packet_out->po_regen_sz < packet_out->po_data_sz + && packet_out->po_frame_types != QUIC_FTBIT_PADDING) + { + update_for_resending(ctl, packet_out); + packet_out->po_flags &= ~PO_REPACKNO; + } + else + { + LSQ_DEBUG("Dropping packet #%"PRIu64" from scheduled queue", + packet_out->po_packno); + send_ctl_sched_remove(ctl, packet_out); + send_ctl_destroy_chain(ctl, packet_out, NULL); + send_ctl_destroy_packet(ctl, packet_out); + goto get_packet; + } + } + + if (UNLIKELY(to_coal != NULL)) + { + /* From [draft-ietf-quic-transport-30], Section-12.2: + " Senders MUST NOT coalesce QUIC packets with different connection + " IDs into a single UDP datagram. + */ + if (packet_out_total_sz(packet_out) + to_coal->prev_sz_sum + > SC_PACK_SIZE(ctl) + || !lsquic_packet_out_equal_dcids(to_coal->prev_packet, packet_out)) + return NULL; + LSQ_DEBUG("packet #%"PRIu64" (%zu bytes) will be tacked on to " + "previous packet(s) (%zu bytes) (coalescing)", + packet_out->po_packno, packet_out_total_sz(packet_out), + to_coal->prev_sz_sum); + size = to_coal->prev_sz_sum; + } + else + size = 0; + send_ctl_sched_remove(ctl, packet_out); + + if (dec_limit) + { + --ctl->sc_next_limit; + packet_out->po_lflags |= POL_LIMITED; + } + else + packet_out->po_lflags &= ~POL_LIMITED; + + if (UNLIKELY(packet_out->po_header_type == HETY_INITIAL) + && (!(ctl->sc_conn_pub->lconn->cn_flags & LSCONN_SERVER) + || (packet_out->po_frame_types + & IQUIC_FRAME_ACKABLE_MASK)) + && size < 1200) + { + send_ctl_maybe_zero_pad(ctl, packet_out, 1200 - size); + } + + if (ctl->sc_flags & SC_QL_BITS) + { + packet_out->po_lflags |= POL_LOG_QL_BITS; + if (ctl->sc_loss_count) + { + --ctl->sc_loss_count; + packet_out->po_lflags |= POL_LOSS_BIT; + } + else + packet_out->po_lflags &= ~POL_LOSS_BIT; + if (packet_out->po_header_type == HETY_SHORT) + { + if (ctl->sc_gap + 1 == packet_out->po_packno) + ++ctl->sc_square_count; + if (ctl->sc_square_count++ & 64) + packet_out->po_lflags |= POL_SQUARE_BIT; + else + packet_out->po_lflags &= ~POL_SQUARE_BIT; + } + } + + return packet_out; +} + + +void +lsquic_send_ctl_delayed_one (lsquic_send_ctl_t *ctl, + lsquic_packet_out_t *packet_out) +{ + send_ctl_sched_prepend(ctl, packet_out); + if (packet_out->po_lflags & POL_LIMITED) + ++ctl->sc_next_limit; + LSQ_DEBUG("packet #%"PRIu64" has been delayed", packet_out->po_packno); +#if LSQUIC_SEND_STATS + ++ctl->sc_stats.n_delayed; +#endif + if (packet_out->po_lflags & POL_LOSS_BIT) + ++ctl->sc_loss_count; + if ((ctl->sc_flags & SC_QL_BITS) + && packet_out->po_header_type == HETY_SHORT) + ctl->sc_square_count -= 1 + (ctl->sc_gap + 1 == packet_out->po_packno); +} + + +int +lsquic_send_ctl_have_outgoing_stream_frames (const lsquic_send_ctl_t *ctl) +{ + const lsquic_packet_out_t *packet_out; + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + if (packet_out->po_frame_types & + ((1 << QUIC_FRAME_STREAM) | (1 << QUIC_FRAME_RST_STREAM))) + return 1; + return 0; +} + + +int +lsquic_send_ctl_have_outgoing_retx_frames (const lsquic_send_ctl_t *ctl) +{ + const lsquic_packet_out_t *packet_out; + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + if (packet_out->po_frame_types & ctl->sc_retx_frames) + return 1; + return 0; +} + + +static int +send_ctl_set_packet_out_token (const struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet_out) +{ + unsigned char *token; + + token = malloc(ctl->sc_token_sz); + if (!token) + { + LSQ_WARN("malloc failed: cannot set initial token"); + return -1; + } + + memcpy(token, ctl->sc_token, ctl->sc_token_sz); + packet_out->po_token = token; + packet_out->po_token_len = ctl->sc_token_sz; + packet_out->po_flags |= PO_NONCE; + LSQ_DEBUG("set initial token on packet"); + return 0; +} + + +static lsquic_packet_out_t * +send_ctl_allocate_packet (struct lsquic_send_ctl *ctl, enum packno_bits bits, + unsigned need_at_least, enum packnum_space pns, + const struct network_path *path) +{ + static const enum header_type pns2hety[] = + { + [PNS_INIT] = HETY_INITIAL, + [PNS_HSK] = HETY_HANDSHAKE, + [PNS_APP] = HETY_SHORT, + }; + lsquic_packet_out_t *packet_out; + + packet_out = lsquic_packet_out_new(&ctl->sc_enpub->enp_mm, + ctl->sc_conn_pub->packet_out_malo, + !(ctl->sc_flags & SC_TCID0), ctl->sc_conn_pub->lconn, bits, + ctl->sc_ver_neg->vn_tag, NULL, path, pns2hety[pns]); + if (!packet_out) + return NULL; + + if (need_at_least && lsquic_packet_out_avail(packet_out) < need_at_least) + { /* This should never happen, this is why this check is performed at + * this level and not lower, before the packet is actually allocated. + */ + LSQ_ERROR("wanted to allocate packet with at least %u bytes of " + "payload, but only got %u bytes (mtu: %u bytes)", need_at_least, + lsquic_packet_out_avail(packet_out), SC_PACK_SIZE(ctl)); + send_ctl_destroy_packet(ctl, packet_out); + return NULL; + } + + if (UNLIKELY(pns != PNS_APP)) + { + if (pns == PNS_INIT) + { + packet_out->po_header_type = HETY_INITIAL; + if (ctl->sc_token) + { + (void) send_ctl_set_packet_out_token(ctl, packet_out); + if (packet_out->po_n_alloc > packet_out->po_token_len) + packet_out->po_n_alloc -= packet_out->po_token_len; + else + { + /* XXX fail earlier: when retry token is parsed out */ + LSQ_INFO("token is too long: cannot allocate packet"); + return NULL; + } + } + } + else + packet_out->po_header_type = HETY_HANDSHAKE; + } + + lsquic_packet_out_set_pns(packet_out, pns); + packet_out->po_lflags |= ctl->sc_ecn << POECN_SHIFT; + packet_out->po_loss_chain = packet_out; + return packet_out; +} + + +lsquic_packet_out_t * +lsquic_send_ctl_new_packet_out (lsquic_send_ctl_t *ctl, unsigned need_at_least, + enum packnum_space pns, const struct network_path *path) +{ + lsquic_packet_out_t *packet_out; + enum packno_bits bits; + + bits = lsquic_send_ctl_packno_bits(ctl, pns); + packet_out = send_ctl_allocate_packet(ctl, bits, need_at_least, pns, path); + if (!packet_out) + return NULL; + + packet_out->po_packno = send_ctl_next_packno(ctl); + LSQ_DEBUG("created packet #%"PRIu64, packet_out->po_packno); + EV_LOG_PACKET_CREATED(LSQUIC_LOG_CONN_ID, packet_out); + return packet_out; +} + + +struct lsquic_packet_out * +lsquic_send_ctl_last_scheduled (struct lsquic_send_ctl *ctl, + enum packnum_space pns, const struct network_path *path, + int regen_match) +{ + struct lsquic_packet_out *packet_out; + + if (0 == regen_match) + { + TAILQ_FOREACH_REVERSE(packet_out, &ctl->sc_scheduled_packets, + lsquic_packets_tailq, po_next) + if (pns == lsquic_packet_out_pns(packet_out) + && path == packet_out->po_path) + return packet_out; + } + else + { + TAILQ_FOREACH_REVERSE(packet_out, &ctl->sc_scheduled_packets, + lsquic_packets_tailq, po_next) + if (pns == lsquic_packet_out_pns(packet_out) + && packet_out->po_regen_sz == packet_out->po_data_sz + && path == packet_out->po_path) + return packet_out; + } + + return NULL; +} + + +/* Do not use for STREAM frames + */ +lsquic_packet_out_t * +lsquic_send_ctl_get_writeable_packet (lsquic_send_ctl_t *ctl, + enum packnum_space pns, unsigned need_at_least, + const struct network_path *path, int regen_match, int *is_err) +{ + lsquic_packet_out_t *packet_out; + + assert(need_at_least > 0); + + packet_out = lsquic_send_ctl_last_scheduled(ctl, pns, path, regen_match); + if (packet_out + && !(packet_out->po_flags & (PO_MINI|PO_STREAM_END|PO_RETX)) + && lsquic_packet_out_avail(packet_out) >= need_at_least) + { + return packet_out; + } + + if (!lsquic_send_ctl_can_send(ctl)) + { + if (is_err) + *is_err = 0; + return NULL; + } + + packet_out = lsquic_send_ctl_new_packet_out(ctl, need_at_least, pns, path); + if (packet_out) + { + lsquic_packet_out_set_pns(packet_out, pns); + lsquic_send_ctl_scheduled_one(ctl, packet_out); + } + else if (is_err) + *is_err = 1; + return packet_out; +} + + +struct lsquic_packet_out * +lsquic_send_ctl_get_packet_for_crypto (struct lsquic_send_ctl *ctl, + unsigned need_at_least, enum packnum_space pns, + const struct network_path *path) +{ + struct lsquic_packet_out *packet_out; + + assert(lsquic_send_ctl_schedule_stream_packets_immediately(ctl)); + assert(need_at_least > 0); + + packet_out = lsquic_send_ctl_last_scheduled(ctl, pns, path, 0); + if (packet_out + && !(packet_out->po_flags & (PO_STREAM_END|PO_RETX)) + && lsquic_packet_out_avail(packet_out) >= need_at_least) + { + return packet_out; + } + + if (!lsquic_send_ctl_can_send(ctl)) + return NULL; + + packet_out = lsquic_send_ctl_new_packet_out(ctl, need_at_least, pns, path); + if (!packet_out) + return NULL; + + lsquic_send_ctl_scheduled_one(ctl, packet_out); + return packet_out; +} + + +static void +update_for_resending (lsquic_send_ctl_t *ctl, lsquic_packet_out_t *packet_out) +{ + + lsquic_packno_t oldno, packno; + + /* When the packet is resent, it uses the same number of bytes to encode + * the packet number as the original packet. This follows the reference + * implementation. + */ + oldno = packet_out->po_packno; + packno = send_ctl_next_packno(ctl); + + packet_out->po_flags &= ~PO_SENT_SZ; + assert(packet_out->po_frame_types & ~BQUIC_FRAME_REGEN_MASK); + packet_out->po_frame_types &= ~BQUIC_FRAME_REGEN_MASK; + packet_out->po_packno = packno; + lsquic_packet_out_set_ecn(packet_out, ctl->sc_ecn); + + if (ctl->sc_ver_neg->vn_tag) + { + assert(packet_out->po_flags & PO_VERSION); /* It can only disappear */ + packet_out->po_ver_tag = *ctl->sc_ver_neg->vn_tag; + } + + assert(packet_out->po_regen_sz < packet_out->po_data_sz); + if (packet_out->po_regen_sz) + { + if (packet_out->po_flags & PO_SCHED) + ctl->sc_bytes_scheduled -= packet_out->po_regen_sz; + lsquic_packet_out_chop_regen(packet_out); + } + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "schedule resend, repackage packet " + "#%"PRIu64" -> #%"PRIu64, oldno, packno); +} + + +unsigned +lsquic_send_ctl_reschedule_packets (lsquic_send_ctl_t *ctl) +{ + lsquic_packet_out_t *packet_out; + unsigned n = 0; + + while ((packet_out = send_ctl_next_lost(ctl))) + { + //assert(packet_out->po_regen_sz < packet_out->po_data_sz); + if (packet_out->po_regen_sz >= packet_out->po_data_sz) { + LSQ_ERROR("Packet %"PRIu64" po_regen_sz is equal to po_data_sz", + packet_out->po_packno); + send_ctl_destroy_chain(ctl, packet_out, NULL); + send_ctl_destroy_packet(ctl, packet_out); + continue; + } + ++n; +#if LSQUIC_CONN_STATS + ++ctl->sc_conn_pub->conn_stats->out.retx_packets; +#endif + update_for_resending(ctl, packet_out); + lsquic_send_ctl_scheduled_one(ctl, packet_out); + } + + if (n) + LSQ_DEBUG("rescheduled %u packets", n); + + return n; +} + + +void +lsquic_send_ctl_set_tcid0 (lsquic_send_ctl_t *ctl, int tcid0) +{ + if (tcid0) + { + LSQ_INFO("set TCID flag"); + ctl->sc_flags |= SC_TCID0; + } + else + { + LSQ_INFO("unset TCID flag"); + ctl->sc_flags &= ~SC_TCID0; + } +} + + +/* The controller elides this STREAM frames of stream `stream_id' from + * scheduled and buffered packets. If a packet becomes empty as a result, + * it is dropped. + * + * Packets on other queues do not need to be processed: unacked packets + * have already been sent, and lost packets' reset stream frames will be + * elided in due time. + */ +void +lsquic_send_ctl_elide_stream_frames (lsquic_send_ctl_t *ctl, + lsquic_stream_id_t stream_id) +{ + struct lsquic_packet_out *packet_out, *next; + unsigned n, adj; + int dropped; + + dropped = 0; +#ifdef WIN32 + next = NULL; +#endif + for (packet_out = TAILQ_FIRST(&ctl->sc_scheduled_packets); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + + if ((packet_out->po_frame_types & (1 << QUIC_FRAME_STREAM)) + && 0 == (packet_out->po_flags & PO_MINI)) + { + adj = lsquic_packet_out_elide_reset_stream_frames(packet_out, + stream_id); + ctl->sc_bytes_scheduled -= adj; + if (0 == packet_out->po_frame_types) + { + LSQ_DEBUG("cancel packet #%"PRIu64" after eliding frames for " + "stream %"PRIu64, packet_out->po_packno, stream_id); + send_ctl_sched_remove(ctl, packet_out); + send_ctl_destroy_chain(ctl, packet_out, NULL); + send_ctl_destroy_packet(ctl, packet_out); + ++dropped; + } + } + } + + if (dropped) + lsquic_send_ctl_reset_packnos(ctl); + + for (n = 0; n < sizeof(ctl->sc_buffered_packets) / + sizeof(ctl->sc_buffered_packets[0]); ++n) + { + for (packet_out = TAILQ_FIRST(&ctl->sc_buffered_packets[n].bpq_packets); + packet_out; packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_frame_types & (1 << QUIC_FRAME_STREAM)) + { + lsquic_packet_out_elide_reset_stream_frames(packet_out, stream_id); + if (0 == packet_out->po_frame_types) + { + LSQ_DEBUG("cancel buffered packet in queue #%u after eliding " + "frames for stream %"PRIu64, n, stream_id); + TAILQ_REMOVE(&ctl->sc_buffered_packets[n].bpq_packets, + packet_out, po_next); + --ctl->sc_buffered_packets[n].bpq_count; + send_ctl_destroy_packet(ctl, packet_out); + LSQ_DEBUG("Elide packet from buffered queue #%u; count: %u", + n, ctl->sc_buffered_packets[n].bpq_count); + } + } + } + } +} + + +/* Count how many packets will remain after the squeezing performed by + * lsquic_send_ctl_squeeze_sched(). This is the number of delayed data + * packets. + */ +#ifndef NDEBUG +#if __GNUC__ +__attribute__((weak)) +#endif +#endif +int +lsquic_send_ctl_have_delayed_packets (const lsquic_send_ctl_t *ctl) +{ + const struct lsquic_packet_out *packet_out; + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + if (packet_out->po_regen_sz < packet_out->po_data_sz) + return 1; + return 0; +} + + +#ifndef NDEBUG +static void +send_ctl_log_packet_q (const lsquic_send_ctl_t *ctl, const char *prefix, + const struct lsquic_packets_tailq *tailq) +{ + const lsquic_packet_out_t *packet_out; + unsigned n_packets; + char *buf; + size_t bufsz; + int off; + + n_packets = 0; + TAILQ_FOREACH(packet_out, tailq, po_next) + ++n_packets; + + if (n_packets == 0) + { + LSQ_DEBUG("%s: []", prefix); + return; + } + + bufsz = n_packets * sizeof("18446744073709551615" /* UINT64_MAX */); + buf = malloc(bufsz); + if (!buf) + { + LSQ_ERROR("%s: malloc: %s", __func__, strerror(errno)); + return; + } + + off = 0; + TAILQ_FOREACH(packet_out, tailq, po_next) + { + if (off) + buf[off++] = ' '; + off += sprintf(buf + off, "%"PRIu64, packet_out->po_packno); + } + + LSQ_DEBUG("%s: [%s]", prefix, buf); + free(buf); +} + + +#define LOG_PACKET_Q(prefix, queue) do { \ + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) \ + send_ctl_log_packet_q(ctl, queue, prefix); \ +} while (0) +#else +#define LOG_PACKET_Q(p, q) +#endif + + +int +lsquic_send_ctl_squeeze_sched (lsquic_send_ctl_t *ctl) +{ + struct lsquic_packet_out *packet_out, *next; + int dropped; +#ifndef NDEBUG + int pre_squeeze_logged = 0; +#endif + + dropped = 0; + for (packet_out = TAILQ_FIRST(&ctl->sc_scheduled_packets); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_regen_sz < packet_out->po_data_sz + || packet_out->po_frame_types == QUIC_FTBIT_PATH_CHALLENGE) + { + if (packet_out->po_flags & PO_ENCRYPTED) + send_ctl_return_enc_data(ctl, packet_out); + } + else + { +#ifndef NDEBUG + /* Log the whole list before we squeeze for the first time */ + if (!pre_squeeze_logged++) + LOG_PACKET_Q(&ctl->sc_scheduled_packets, + "scheduled packets before squeezing"); +#endif + send_ctl_sched_remove(ctl, packet_out); + LSQ_DEBUG("Dropping packet #%"PRIu64" from scheduled queue", + packet_out->po_packno); + send_ctl_destroy_chain(ctl, packet_out, NULL); + send_ctl_destroy_packet(ctl, packet_out); + ++dropped; + } + } + + if (dropped) + lsquic_send_ctl_reset_packnos(ctl); + +#ifndef NDEBUG + if (pre_squeeze_logged) + LOG_PACKET_Q(&ctl->sc_scheduled_packets, + "scheduled packets after squeezing"); + else if (ctl->sc_n_scheduled > 0) + LOG_PACKET_Q(&ctl->sc_scheduled_packets, "delayed packets"); +#endif + + return ctl->sc_n_scheduled > 0; +} + + +void +lsquic_send_ctl_reset_packnos (lsquic_send_ctl_t *ctl) +{ + struct lsquic_packet_out *packet_out; + + ctl->sc_cur_packno = lsquic_senhist_largest(&ctl->sc_senhist); + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + packet_out->po_flags |= PO_REPACKNO; +} + + +void +lsquic_send_ctl_ack_to_front (struct lsquic_send_ctl *ctl, unsigned n_acks) +{ + struct lsquic_packet_out *ack_packet; + + assert(n_acks > 0); + assert(ctl->sc_n_scheduled > n_acks); /* Otherwise, why is this called? */ + for ( ; n_acks > 0; --n_acks) + { + ack_packet = TAILQ_LAST(&ctl->sc_scheduled_packets, lsquic_packets_tailq); + assert(ack_packet->po_frame_types & (1 << QUIC_FRAME_ACK)); + TAILQ_REMOVE(&ctl->sc_scheduled_packets, ack_packet, po_next); + TAILQ_INSERT_HEAD(&ctl->sc_scheduled_packets, ack_packet, po_next); + } +} + + +void +lsquic_send_ctl_drop_scheduled (lsquic_send_ctl_t *ctl) +{ + struct lsquic_packet_out *packet_out, *next; + unsigned n; + + n = 0; + for (packet_out = TAILQ_FIRST(&ctl->sc_scheduled_packets); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (0 == (packet_out->po_flags & PO_HELLO)) + { + send_ctl_sched_remove(ctl, packet_out); + send_ctl_destroy_chain(ctl, packet_out, NULL); + send_ctl_destroy_packet(ctl, packet_out); + ++n; + } + } + + ctl->sc_senhist.sh_flags |= SH_GAP_OK; + + LSQ_DEBUG("dropped %u scheduled packet%s (%u left)", n, n != 1 ? "s" : "", + ctl->sc_n_scheduled); +} + + +#ifdef NDEBUG +static +#elif __GNUC__ +__attribute__((weak)) +#endif +enum buf_packet_type +lsquic_send_ctl_determine_bpt (lsquic_send_ctl_t *ctl, + const lsquic_stream_t *stream) +{ + const lsquic_stream_t *other_stream; + struct lsquic_hash_elem *el; + struct lsquic_hash *all_streams; + + all_streams = ctl->sc_conn_pub->all_streams; + for (el = lsquic_hash_first(all_streams); el; + el = lsquic_hash_next(all_streams)) + { + other_stream = lsquic_hashelem_getdata(el); + if (other_stream != stream + && (!(other_stream->stream_flags & STREAM_U_WRITE_DONE)) + && !lsquic_stream_is_critical(other_stream) + && other_stream->sm_priority < stream->sm_priority) + return BPT_OTHER_PRIO; + } + return BPT_HIGHEST_PRIO; +} + + +static enum buf_packet_type +send_ctl_lookup_bpt (lsquic_send_ctl_t *ctl, + const struct lsquic_stream *stream) +{ + if (ctl->sc_cached_bpt.stream_id != stream->id) + { + ctl->sc_cached_bpt.stream_id = stream->id; + ctl->sc_cached_bpt.packet_type = + lsquic_send_ctl_determine_bpt(ctl, stream); + } + return ctl->sc_cached_bpt.packet_type; +} + + +static unsigned +send_ctl_max_bpq_count (const lsquic_send_ctl_t *ctl, + enum buf_packet_type packet_type) +{ + unsigned long cwnd; + unsigned count; + + switch (packet_type) + { + case BPT_OTHER_PRIO: + return MAX_BPQ_COUNT; + case BPT_HIGHEST_PRIO: + default: /* clang does not complain about absence of `default'... */ + count = ctl->sc_n_scheduled + ctl->sc_n_in_flight_retx; + cwnd = ctl->sc_ci->cci_get_cwnd(CGP(ctl)); + if (count < cwnd / SC_PACK_SIZE(ctl)) + { + count = cwnd / SC_PACK_SIZE(ctl) - count; + if (count > MAX_BPQ_COUNT) + return count; + } + return MAX_BPQ_COUNT; + } +} + + +/* If error is returned, `src' is not modified */ +static int +send_ctl_move_ack (struct lsquic_send_ctl *ctl, struct lsquic_packet_out *dst, + struct lsquic_packet_out *src) +{ + struct packet_out_frec_iter pofi; + const struct frame_rec *frec; + assert(dst->po_data_sz == 0); + + /* This checks that we only ever expect to move an ACK frame from one + * buffered packet to another. We don't generate any other regen frame + * types in buffered packets. + */ + assert(!(BQUIC_FRAME_REGEN_MASK & (1 << src->po_frame_types) + & ~QUIC_FTBIT_ACK)); + + if (lsquic_packet_out_avail(dst) >= src->po_regen_sz + && (frec = lsquic_pofi_first(&pofi, src), frec != NULL) + && frec->fe_frame_type == QUIC_FRAME_ACK) + { + memcpy(dst->po_data, src->po_data, src->po_regen_sz); + if (0 != lsquic_packet_out_add_frame(dst, &ctl->sc_enpub->enp_mm, + frec->fe_frame_type, QUIC_FRAME_ACK, dst->po_data_sz, + src->po_regen_sz)) + return -1; + dst->po_data_sz = src->po_regen_sz; + dst->po_regen_sz = src->po_regen_sz; + dst->po_frame_types |= (BQUIC_FRAME_REGEN_MASK & src->po_frame_types); + src->po_frame_types &= ~BQUIC_FRAME_REGEN_MASK; + lsquic_packet_out_chop_regen(src); + } + + return 0; +} + + +static lsquic_packet_out_t * +send_ctl_get_buffered_packet (lsquic_send_ctl_t *ctl, + enum buf_packet_type packet_type, unsigned need_at_least, + const struct network_path *path, const struct lsquic_stream *stream) +{ + struct buf_packet_q *const packet_q = + &ctl->sc_buffered_packets[packet_type]; + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + lsquic_packet_out_t *packet_out; + enum packno_bits bits; + enum { AA_STEAL, AA_GENERATE, AA_NONE, } ack_action; + + packet_out = TAILQ_LAST(&packet_q->bpq_packets, lsquic_packets_tailq); + if (packet_out + && !(packet_out->po_flags & PO_STREAM_END) + && lsquic_packet_out_avail(packet_out) >= need_at_least) + { + return packet_out; + } + + if (packet_q->bpq_count >= send_ctl_max_bpq_count(ctl, packet_type)) + return NULL; + + if (packet_q->bpq_count == 0) + { + /* If ACK was written to the low-priority queue first, steal it */ + if (packet_q == &ctl->sc_buffered_packets[BPT_HIGHEST_PRIO] + && !TAILQ_EMPTY(&ctl->sc_buffered_packets[BPT_OTHER_PRIO].bpq_packets) + && (TAILQ_FIRST(&ctl->sc_buffered_packets[BPT_OTHER_PRIO].bpq_packets) + ->po_frame_types & QUIC_FTBIT_ACK)) + { + LSQ_DEBUG("steal ACK frame from low-priority buffered queue"); + ack_action = AA_STEAL; + bits = ctl->sc_max_packno_bits; + } + /* If ACK can be generated, write it to the first buffered packet. */ + else if (lconn->cn_if->ci_can_write_ack(lconn)) + { + LSQ_DEBUG("generate ACK frame for first buffered packet in " + "queue #%u", packet_type); + ack_action = AA_GENERATE; + /* Packet length is set to the largest possible size to guarantee + * that buffered packet with the ACK will not need to be split. + */ + bits = ctl->sc_max_packno_bits; + } + else + goto no_ack_action; + } + else + { + no_ack_action: + ack_action = AA_NONE; + bits = lsquic_send_ctl_guess_packno_bits(ctl); + } + + packet_out = send_ctl_allocate_packet(ctl, bits, need_at_least, PNS_APP, + path); + if (!packet_out) + return NULL; + + switch (ack_action) + { + case AA_STEAL: + if (0 != send_ctl_move_ack(ctl, packet_out, + TAILQ_FIRST(&ctl->sc_buffered_packets[BPT_OTHER_PRIO].bpq_packets))) + { + LSQ_INFO("cannot move ack"); + lsquic_packet_out_destroy(packet_out, ctl->sc_enpub, + packet_out->po_path->np_peer_ctx); + return NULL; + } + break; + case AA_GENERATE: + lconn->cn_if->ci_write_ack(lconn, packet_out); + break; + case AA_NONE: + break; + } + + TAILQ_INSERT_TAIL(&packet_q->bpq_packets, packet_out, po_next); + ++packet_q->bpq_count; + LSQ_DEBUG("Add new packet to buffered queue #%u; count: %u", + packet_type, packet_q->bpq_count); + return packet_out; +} + + +static void +send_ctl_maybe_flush_decoder (struct lsquic_send_ctl *ctl, + const struct lsquic_stream *caller) +{ + struct lsquic_stream *decoder; + + if ((ctl->sc_flags & SC_IETF) && ctl->sc_conn_pub->u.ietf.qdh) + { + decoder = ctl->sc_conn_pub->u.ietf.qdh->qdh_dec_sm_out; + if (decoder && decoder != caller + && lsquic_stream_has_data_to_flush(decoder)) + { + LSQ_DEBUG("flushing decoder stream"); + lsquic_stream_flush(decoder); + } + } +} + + +lsquic_packet_out_t * +lsquic_send_ctl_get_packet_for_stream (lsquic_send_ctl_t *ctl, + unsigned need_at_least, const struct network_path *path, + const struct lsquic_stream *stream) +{ + enum buf_packet_type packet_type; + + if (lsquic_send_ctl_schedule_stream_packets_immediately(ctl)) + return lsquic_send_ctl_get_writeable_packet(ctl, PNS_APP, + need_at_least, path, 0, NULL); + else + { + if (!lsquic_send_ctl_has_buffered(ctl)) + send_ctl_maybe_flush_decoder(ctl, stream); + packet_type = send_ctl_lookup_bpt(ctl, stream); + return send_ctl_get_buffered_packet(ctl, packet_type, need_at_least, + path, stream); + } +} + + +/* Return true if generated, false otherwise */ +int +lsquic_sendctl_gen_stream_blocked_frame (struct lsquic_send_ctl *ctl, + struct lsquic_stream *stream) +{ + struct lsquic_packet_out *packet_out; + const struct parse_funcs *const pf = stream->conn_pub->lconn->cn_pf; + unsigned need; + uint64_t off; + int sz; + int is_err; + + off = lsquic_stream_combined_send_off(stream); + need = pf->pf_stream_blocked_frame_size(stream->id, off); + packet_out = lsquic_send_ctl_get_packet_for_stream(ctl, need, + stream->conn_pub->path, stream); + if (!packet_out) + { + LSQ_DEBUG("failed to get packet_out with lsquic_send_ctl_get_packet_for_stream"); + packet_out = lsquic_send_ctl_get_writeable_packet(ctl, + PNS_APP, need, stream->conn_pub->path, 0, &is_err); + if (!packet_out) + { + LSQ_DEBUG("cannot get writeable packet for STREAM_BLOCKED frame"); + return 0; + } + } + sz = pf->pf_gen_stream_blocked_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), stream->id, off); + if (sz < 0) + return 0; + LSQ_DEBUG("generated %d-byte STREAM_BLOCKED " + "frame; stream_id: %"PRIu64"; offset: %"PRIu64, sz, stream->id, off); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, "generated %d-byte STREAM_BLOCKED " + "frame; stream_id: %"PRIu64"; offset: %"PRIu64, sz, stream->id, off); + if (0 != lsquic_packet_out_add_frame(packet_out, &ctl->sc_enpub->enp_mm, 0, + QUIC_FRAME_STREAM_BLOCKED, packet_out->po_data_sz, sz)) + return 0; + lsquic_send_ctl_incr_pack_sz(ctl, packet_out, sz); + packet_out->po_frame_types |= 1 << QUIC_FRAME_STREAM_BLOCKED; + lsquic_stream_blocked_frame_sent(stream); + return 1; +} + + +#ifdef NDEBUG +static +#elif __GNUC__ +__attribute__((weak)) +#endif +enum packno_bits +lsquic_send_ctl_calc_packno_bits (lsquic_send_ctl_t *ctl) +{ + lsquic_packno_t smallest_unacked; + enum packno_bits bits; + unsigned n_in_flight; + unsigned long cwnd; + const struct parse_funcs *pf; + + pf = ctl->sc_conn_pub->lconn->cn_pf; + + smallest_unacked = lsquic_send_ctl_smallest_unacked(ctl); + cwnd = ctl->sc_ci->cci_get_cwnd(CGP(ctl)); + n_in_flight = cwnd / SC_PACK_SIZE(ctl); + bits = pf->pf_calc_packno_bits(ctl->sc_cur_packno + 1, smallest_unacked, + n_in_flight); + if (bits <= ctl->sc_max_packno_bits) + return bits; + else + return ctl->sc_max_packno_bits; +} + + +enum packno_bits +lsquic_send_ctl_packno_bits (struct lsquic_send_ctl *ctl, + enum packnum_space pns) +{ + if ((ctl->sc_flags & (SC_ACK_RECV_INIT << pns)) + && lsquic_send_ctl_schedule_stream_packets_immediately(ctl)) + return lsquic_send_ctl_calc_packno_bits(ctl); + else if (ctl->sc_flags & (SC_ACK_RECV_INIT << pns)) + return lsquic_send_ctl_guess_packno_bits(ctl); + else +/* From [draft-ietf-quic-transport-31] Section 17.1: + * + " Prior to receiving an acknowledgement for a packet number space, the + " full packet number MUST be included; it is not to be truncated as + " described below. + */ + return vint_val2bits(ctl->sc_cur_packno + 1); +} + + +struct resize_one_packet_ctx +{ + struct lsquic_send_ctl *const ctl; + struct lsquic_packet_out *const victim; + const struct network_path *const path; + const enum packnum_space pns; + int discarded, fetched; +}; + + +static struct lsquic_packet_out * +resize_one_next_packet (void *ctx) +{ + struct resize_one_packet_ctx *const one_ctx = ctx; + + if (one_ctx->fetched) + return NULL; + + ++one_ctx->fetched; + return one_ctx->victim; +} + + +static void +resize_one_discard_packet (void *ctx, struct lsquic_packet_out *packet_out) +{ + struct resize_one_packet_ctx *const one_ctx = ctx; + + /* Delay discarding the packet: we need it for TAILQ_INSERT_BEFORE */ + ++one_ctx->discarded; +} + + +static struct lsquic_packet_out * +resize_one_new_packet (void *ctx) +{ + struct resize_one_packet_ctx *const one_ctx = ctx; + struct lsquic_send_ctl *const ctl = one_ctx->ctl; + struct lsquic_packet_out *packet_out; + enum packno_bits bits; + + bits = lsquic_send_ctl_calc_packno_bits(ctl); + packet_out = send_ctl_allocate_packet(ctl, bits, 0, one_ctx->pns, + one_ctx->path); + return packet_out; +} + + +static const struct packet_resize_if resize_one_funcs = +{ + resize_one_next_packet, + resize_one_discard_packet, + resize_one_new_packet, +}; + + +static int +split_buffered_packet (lsquic_send_ctl_t *ctl, + enum buf_packet_type packet_type, struct lsquic_packet_out *packet_out) +{ + struct buf_packet_q *const packet_q = + &ctl->sc_buffered_packets[packet_type]; + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + struct lsquic_packet_out *new; + struct packet_resize_ctx prctx; + struct resize_one_packet_ctx one_ctx = { + ctl, packet_out, packet_out->po_path, + lsquic_packet_out_pns(packet_out), 0, 0, + }; + unsigned count; + + assert(TAILQ_FIRST(&packet_q->bpq_packets) == packet_out); + + lsquic_packet_resize_init(&prctx, ctl->sc_enpub, lconn, &one_ctx, + &resize_one_funcs); + count = 0; + while (new = lsquic_packet_resize_next(&prctx), new != NULL) + { + ++count; + TAILQ_INSERT_BEFORE(packet_out, new, po_next); + ++packet_q->bpq_count; + LSQ_DEBUG("Add split packet to buffered queue #%u; count: %u", + packet_type, packet_q->bpq_count); + } + if (lsquic_packet_resize_is_error(&prctx)) + { + LSQ_WARN("error resizing buffered packet #%"PRIu64, + packet_out->po_packno); + return -1; + } + if (!(count > 1 && one_ctx.fetched == 1 && one_ctx.discarded == 1)) + { + /* A bit of insurance, this being new code */ + LSQ_WARN("unexpected values resizing buffered packet: count: %u; " + "fetched: %d; discarded: %d", count, one_ctx.fetched, + one_ctx.discarded); + return -1; + } + LSQ_DEBUG("added %u packets to the buffered queue #%u", count, packet_type); + + LSQ_DEBUG("drop oversized buffered packet #%"PRIu64, packet_out->po_packno); + TAILQ_REMOVE(&packet_q->bpq_packets, packet_out, po_next); + --packet_q->bpq_count; + assert(packet_out->po_loss_chain == packet_out); + send_ctl_destroy_packet(ctl, packet_out); + return 0; +} + + +int +lsquic_send_ctl_schedule_buffered (lsquic_send_ctl_t *ctl, + enum buf_packet_type packet_type) +{ + struct buf_packet_q *const packet_q = + &ctl->sc_buffered_packets[packet_type]; + const struct parse_funcs *const pf = ctl->sc_conn_pub->lconn->cn_pf; + lsquic_packet_out_t *packet_out; + unsigned used; + + assert(lsquic_send_ctl_schedule_stream_packets_immediately(ctl)); + const enum packno_bits bits = lsquic_send_ctl_calc_packno_bits(ctl); + const unsigned need = pf->pf_packno_bits2len(bits); + + while ((packet_out = TAILQ_FIRST(&packet_q->bpq_packets)) && + lsquic_send_ctl_can_send(ctl)) + { + if ((packet_out->po_frame_types & QUIC_FTBIT_ACK) + && packet_out->po_ack2ed < ctl->sc_largest_acked) + { + /* Chrome watches for a decrease in the value of the Largest + * Observed field of the ACK frame and marks it as an error: + * this is why we have to send out ACK in the order they were + * generated. + */ + LSQ_DEBUG("Remove out-of-order ACK from buffered packet"); + lsquic_packet_out_chop_regen(packet_out); + if (packet_out->po_data_sz == 0) + { + LSQ_DEBUG("Dropping now-empty buffered packet"); + TAILQ_REMOVE(&packet_q->bpq_packets, packet_out, po_next); + --packet_q->bpq_count; + send_ctl_destroy_packet(ctl, packet_out); + continue; + } + } + if (bits != lsquic_packet_out_packno_bits(packet_out)) + { + used = pf->pf_packno_bits2len( + lsquic_packet_out_packno_bits(packet_out)); + if (need > used + && need - used > lsquic_packet_out_avail(packet_out)) + { + if (0 == split_buffered_packet(ctl, packet_type, packet_out)) + packet_out = TAILQ_FIRST(&packet_q->bpq_packets); + else + return -1; + } + } + TAILQ_REMOVE(&packet_q->bpq_packets, packet_out, po_next); + --packet_q->bpq_count; + packet_out->po_packno = send_ctl_next_packno(ctl); + LSQ_DEBUG("Remove packet from buffered queue #%u; count: %u. " + "It becomes packet #%"PRIu64, packet_type, packet_q->bpq_count, + packet_out->po_packno); + lsquic_send_ctl_scheduled_one(ctl, packet_out); + } + + return 0; +} + + +int +lsquic_send_ctl_turn_on_fin (struct lsquic_send_ctl *ctl, + const struct lsquic_stream *stream) +{ + enum buf_packet_type packet_type; + struct buf_packet_q *packet_q; + lsquic_packet_out_t *packet_out; + const struct parse_funcs *pf; + + pf = ctl->sc_conn_pub->lconn->cn_pf; + packet_type = send_ctl_lookup_bpt(ctl, stream); + packet_q = &ctl->sc_buffered_packets[packet_type]; + + TAILQ_FOREACH_REVERSE(packet_out, &packet_q->bpq_packets, + lsquic_packets_tailq, po_next) + if (0 == lsquic_packet_out_turn_on_fin(packet_out, pf, stream)) + return 0; + + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + if (0 == packet_out->po_sent + && 0 == lsquic_packet_out_turn_on_fin(packet_out, pf, stream)) + { + return 0; + } + + return -1; +} + + +size_t +lsquic_send_ctl_mem_used (const struct lsquic_send_ctl *ctl) +{ + const lsquic_packet_out_t *packet_out; + unsigned n; + size_t size; + const struct lsquic_packets_tailq queues[] = { + ctl->sc_scheduled_packets, + ctl->sc_unacked_packets[PNS_INIT], + ctl->sc_unacked_packets[PNS_HSK], + ctl->sc_unacked_packets[PNS_APP], + ctl->sc_lost_packets, + ctl->sc_buffered_packets[0].bpq_packets, + ctl->sc_buffered_packets[1].bpq_packets, + }; + + size = sizeof(*ctl); + + for (n = 0; n < sizeof(queues) / sizeof(queues[0]); ++n) + TAILQ_FOREACH(packet_out, &queues[n], po_next) + size += lsquic_packet_out_mem_used(packet_out); + + return size; +} + + +void +lsquic_send_ctl_verneg_done (struct lsquic_send_ctl *ctl) +{ + ctl->sc_max_packno_bits = PACKNO_BITS_3; + LSQ_DEBUG("version negotiation done (%s): max packno bits: %u", + lsquic_ver2str[ ctl->sc_conn_pub->lconn->cn_version ], + ctl->sc_max_packno_bits); +} + + +static void +strip_trailing_padding (struct lsquic_packet_out *packet_out) +{ + struct packet_out_frec_iter pofi; + const struct frame_rec *frec; + unsigned off; + + off = 0; + for (frec = lsquic_pofi_first(&pofi, packet_out); frec; + frec = lsquic_pofi_next(&pofi)) + off = frec->fe_off + frec->fe_len; + + assert(off); + + packet_out->po_data_sz = off; + packet_out->po_frame_types &= ~QUIC_FTBIT_PADDING; +} + + +static int +split_lost_packet (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *const packet_out) +{ + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + struct lsquic_packet_out *new; + struct packet_resize_ctx prctx; + struct resize_one_packet_ctx one_ctx = { + ctl, packet_out, packet_out->po_path, + lsquic_packet_out_pns(packet_out), 0, 0, + }; + unsigned count; + + assert(packet_out->po_flags & PO_LOST); + + lsquic_packet_resize_init(&prctx, ctl->sc_enpub, lconn, &one_ctx, + &resize_one_funcs); + count = 0; + while (new = lsquic_packet_resize_next(&prctx), new != NULL) + { + ++count; + TAILQ_INSERT_BEFORE(packet_out, new, po_next); + new->po_flags |= PO_LOST; + } + if (lsquic_packet_resize_is_error(&prctx)) + { + LSQ_WARN("error resizing lost packet #%"PRIu64, packet_out->po_packno); + return -1; + } + if (!(count > 1 && one_ctx.fetched == 1 && one_ctx.discarded == 1)) + { + /* A bit of insurance, this being new code */ + LSQ_WARN("unexpected values resizing lost packet: count: %u; " + "fetched: %d; discarded: %d", count, one_ctx.fetched, + one_ctx.discarded); + return -1; + } + LSQ_DEBUG("added %u packets to the lost queue", count); + + LSQ_DEBUG("drop oversized lost packet #%"PRIu64, packet_out->po_packno); + TAILQ_REMOVE(&ctl->sc_lost_packets, packet_out, po_next); + packet_out->po_flags &= ~PO_LOST; + send_ctl_destroy_chain(ctl, packet_out, NULL); + send_ctl_destroy_packet(ctl, packet_out); + return 0; +} + + +int +lsquic_send_ctl_retry (struct lsquic_send_ctl *ctl, + const unsigned char *token, size_t token_sz) +{ + struct lsquic_packet_out *packet_out, *next; + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + size_t sz; + + if (token_sz >= 1ull << (sizeof(packet_out->po_token_len) * 8)) + { + LSQ_WARN("token size %zu is too long", token_sz); + return -1; + } + + ++ctl->sc_retry_count; + if (ctl->sc_retry_count > 3) + { + LSQ_INFO("failing connection after %u retries", ctl->sc_retry_count); + return -1; + } + + send_ctl_expire(ctl, PNS_INIT, EXFI_ALL); + + if (0 != lsquic_send_ctl_set_token(ctl, token, token_sz)) + return -1; + + for (packet_out = TAILQ_FIRST(&ctl->sc_lost_packets); packet_out; packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (HETY_INITIAL != packet_out->po_header_type) + continue; + + if (packet_out->po_nonce) + { + free(packet_out->po_nonce); + packet_out->po_nonce = NULL; + packet_out->po_flags &= ~PO_NONCE; + } + + if (0 != send_ctl_set_packet_out_token(ctl, packet_out)) + { + LSQ_INFO("cannot set out token on packet"); + return -1; + } + + if (packet_out->po_frame_types & QUIC_FTBIT_PADDING) + strip_trailing_padding(packet_out); + + sz = lconn->cn_pf->pf_packout_size(lconn, packet_out); + if (sz > packet_out->po_path->np_pack_size + && 0 != split_lost_packet(ctl, packet_out)) + return -1; + } + + return 0; +} + + +int +lsquic_send_ctl_set_token (struct lsquic_send_ctl *ctl, + const unsigned char *token, size_t token_sz) +{ + unsigned char *copy; + + if (token_sz > 1 << + (sizeof(((struct lsquic_packet_out *)0)->po_token_len) * 8)) + { + errno = EINVAL; + return -1; + } + + copy = malloc(token_sz); + if (!copy) + return -1; + memcpy(copy, token, token_sz); + free(ctl->sc_token); + ctl->sc_token = copy; + ctl->sc_token_sz = token_sz; + LSQ_DEBUG("set token"); + return 0; +} + + +void +lsquic_send_ctl_maybe_calc_rough_rtt (struct lsquic_send_ctl *ctl, + enum packnum_space pns) +{ + const struct lsquic_packet_out *packet_out; + lsquic_time_t min_sent, rtt; + struct lsquic_packets_tailq *const *q; + struct lsquic_packets_tailq *const queues[] = { + &ctl->sc_lost_packets, + &ctl->sc_unacked_packets[pns], + }; + + if ((ctl->sc_flags & SC_ROUGH_RTT) + || lsquic_rtt_stats_get_srtt(&ctl->sc_conn_pub->rtt_stats)) + return; + + min_sent = UINT64_MAX; + for (q = queues; q < queues + sizeof(queues) / sizeof(queues[0]); ++q) + TAILQ_FOREACH(packet_out, *q, po_next) + if (min_sent > packet_out->po_sent) + min_sent = packet_out->po_sent; + + /* If we do not have an RTT estimate yet, get a rough estimate of it, + * because now we will ignore packets that carry acknowledgements and + * RTT estimation may be delayed. + */ + if (min_sent < UINT64_MAX) + { + rtt = lsquic_time_now() - min_sent; + if (rtt > 500000) + rtt = 500000; + lsquic_rtt_stats_update(&ctl->sc_conn_pub->rtt_stats, rtt, 0); + ctl->sc_flags |= SC_ROUGH_RTT; + LSQ_DEBUG("set rough RTT to %"PRIu64" usec", rtt); + } +} + + +void +lsquic_send_ctl_empty_pns (struct lsquic_send_ctl *ctl, enum packnum_space pns) +{ + lsquic_packet_out_t *packet_out, *next; + unsigned count, packet_sz; + struct lsquic_packets_tailq *const *q; + struct lsquic_packets_tailq *const queues[] = { + &ctl->sc_lost_packets, + &ctl->sc_buffered_packets[0].bpq_packets, + &ctl->sc_buffered_packets[1].bpq_packets, + }; + + /* Don't bother with chain destruction, as all chains members are always + * within the same packet number space + */ + + count = 0; + for (packet_out = TAILQ_FIRST(&ctl->sc_scheduled_packets); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (pns == lsquic_packet_out_pns(packet_out)) + { + send_ctl_maybe_renumber_sched_to_right(ctl, packet_out); + send_ctl_sched_remove(ctl, packet_out); + send_ctl_destroy_packet(ctl, packet_out); + ++count; + } + } + + for (packet_out = TAILQ_FIRST(&ctl->sc_unacked_packets[pns]); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_flags & (PO_LOSS_REC|PO_POISON)) + TAILQ_REMOVE(&ctl->sc_unacked_packets[pns], packet_out, po_next); + else + { + packet_sz = packet_out_sent_sz(packet_out); + send_ctl_unacked_remove(ctl, packet_out, packet_sz); + lsquic_packet_out_ack_streams(packet_out); + } + send_ctl_destroy_packet(ctl, packet_out); + ++count; + } + + for (q = queues; q < queues + sizeof(queues) / sizeof(queues[0]); ++q) + for (packet_out = TAILQ_FIRST(*q); packet_out; packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (pns == lsquic_packet_out_pns(packet_out)) + { + TAILQ_REMOVE(*q, packet_out, po_next); + send_ctl_destroy_packet(ctl, packet_out); + ++count; + } + } + + lsquic_alarmset_unset(ctl->sc_alset, AL_RETX_INIT + pns); + + ctl->sc_flags &= ~(SC_LOST_ACK_INIT << pns); + + LSQ_DEBUG("emptied %s, destroyed %u packet%.*s", lsquic_pns2str[pns], + count, count != 1, "s"); +} + + +struct resize_many_packet_ctx +{ + struct lsquic_send_ctl *ctl; + struct lsquic_packets_tailq input_q; + const struct network_path *path; +}; + + +static struct lsquic_packet_out * +resize_many_next_packet (void *ctx) +{ + struct resize_many_packet_ctx *const many_ctx = ctx; + struct lsquic_packet_out *packet_out; + + packet_out = TAILQ_FIRST(&many_ctx->input_q); + if (packet_out) + TAILQ_REMOVE(&many_ctx->input_q, packet_out, po_next); + + return packet_out; +} + + +static void +resize_many_discard_packet (void *ctx, struct lsquic_packet_out *packet_out) +{ + struct resize_many_packet_ctx *const many_ctx = ctx; + struct lsquic_send_ctl *const ctl = many_ctx->ctl; + + send_ctl_destroy_chain(ctl, packet_out, NULL); + send_ctl_destroy_packet(ctl, packet_out); +} + + +static struct lsquic_packet_out * +resize_many_new_packet (void *ctx) +{ + struct resize_many_packet_ctx *const many_ctx = ctx; + struct lsquic_send_ctl *const ctl = many_ctx->ctl; + struct lsquic_packet_out *packet_out; + enum packno_bits bits; + + bits = lsquic_send_ctl_calc_packno_bits(ctl); + packet_out = send_ctl_allocate_packet(ctl, bits, 0, PNS_APP, + many_ctx->path); + return packet_out; +} + + +static const struct packet_resize_if resize_many_funcs = +{ + resize_many_next_packet, + resize_many_discard_packet, + resize_many_new_packet, +}; + + +static void +send_ctl_resize_q (struct lsquic_send_ctl *ctl, struct lsquic_packets_tailq *q, + const struct network_path *const path) +{ + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + struct lsquic_packet_out *next, *packet_out; + struct resize_many_packet_ctx many_ctx; + struct packet_resize_ctx prctx; + const char *q_name; + unsigned count_src = 0, count_dst = 0; + int idx; + +#ifdef _MSC_VER + idx = 0; +#endif + + /* Initialize input, removing packets from source queue, filtering by path. + * Note: this may reorder packets from different paths. + */ + many_ctx.ctl = ctl; + many_ctx.path = path; + TAILQ_INIT(&many_ctx.input_q); + if (q == &ctl->sc_scheduled_packets) + { + ctl->sc_cur_packno = lsquic_senhist_largest(&ctl->sc_senhist); + q_name = "scheduled"; + for (packet_out = TAILQ_FIRST(q); packet_out != NULL; packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_path == path + && !(packet_out->po_flags & PO_MTU_PROBE)) + { + send_ctl_sched_remove(ctl, packet_out); + TAILQ_INSERT_TAIL(&many_ctx.input_q, packet_out, po_next); + ++count_src; + } + } + } + else + { + /* This function only deals with scheduled or buffered queues */ + assert(q == &ctl->sc_buffered_packets[0].bpq_packets + || q == &ctl->sc_buffered_packets[1].bpq_packets); + idx = q == &ctl->sc_buffered_packets[1].bpq_packets; + q_name = "buffered"; + for (packet_out = TAILQ_FIRST(q); packet_out != NULL; packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_path == path) + { + TAILQ_REMOVE(q, packet_out, po_next); + --ctl->sc_buffered_packets[idx].bpq_count; + TAILQ_INSERT_TAIL(&many_ctx.input_q, packet_out, po_next); + ++count_src; + } + } + } + lsquic_packet_resize_init(&prctx, ctl->sc_enpub, lconn, &many_ctx, + &resize_many_funcs); + + /* Get new packets, appending them to appropriate queue */ + if (q == &ctl->sc_scheduled_packets) + while (packet_out = lsquic_packet_resize_next(&prctx), packet_out != NULL) + { + ++count_dst; + packet_out->po_packno = send_ctl_next_packno(ctl); + send_ctl_sched_append(ctl, packet_out); + LSQ_DEBUG("created packet #%"PRIu64, packet_out->po_packno); + EV_LOG_PACKET_CREATED(LSQUIC_LOG_CONN_ID, packet_out); + } + else + while (packet_out = lsquic_packet_resize_next(&prctx), packet_out != NULL) + { + ++count_dst; + TAILQ_INSERT_TAIL(q, packet_out, po_next); + ++ctl->sc_buffered_packets[idx].bpq_count; + } + + /* Verify success */ + if (lsquic_packet_resize_is_error(&prctx)) + { + LSQ_WARN("error resizing packets in %s queue", q_name); + goto err; + } + if (count_dst < 1 || !TAILQ_EMPTY(&many_ctx.input_q)) + { + /* A bit of insurance, this being new code */ + LSQ_WARN("unexpected values resizing packets in %s queue: count: %d; " + "empty: %d", q_name, count_dst, TAILQ_EMPTY(&many_ctx.input_q)); + goto err; + } + LSQ_DEBUG("resized %u packets in %s queue, outputting %u packets", + count_src, q_name, count_dst); + return; + + err: + lconn->cn_if->ci_internal_error(lconn, "error resizing packets"); + return; +} + + +void +lsquic_send_ctl_repath (struct lsquic_send_ctl *ctl, + const struct network_path *old, const struct network_path *new, + int keep_path_properties) +{ + struct lsquic_packet_out *packet_out; + unsigned count; + struct lsquic_packets_tailq *const *q; + struct lsquic_packets_tailq *const queues[] = { + &ctl->sc_scheduled_packets, + &ctl->sc_unacked_packets[PNS_INIT], + &ctl->sc_unacked_packets[PNS_HSK], + &ctl->sc_unacked_packets[PNS_APP], + &ctl->sc_lost_packets, + &ctl->sc_buffered_packets[0].bpq_packets, + &ctl->sc_buffered_packets[1].bpq_packets, + }; + + assert(ctl->sc_flags & SC_IETF); + + count = 0; + for (q = queues; q < queues + sizeof(queues) / sizeof(queues[0]); ++q) + TAILQ_FOREACH(packet_out, *q, po_next) + if (packet_out->po_path == old) + { + ++count; + packet_out->po_path = new; + if (packet_out->po_flags & PO_ENCRYPTED) + send_ctl_return_enc_data(ctl, packet_out); + if (packet_out->po_frame_types + & (QUIC_FTBIT_PATH_CHALLENGE|QUIC_FTBIT_PATH_RESPONSE)) + /* This is a corner case, we just want to avoid protocol + * violation. No optimization is done. If we happen to + * send a packet of padding, oh well. + */ + lsquic_packet_out_pad_over(packet_out, + QUIC_FTBIT_PATH_CHALLENGE|QUIC_FTBIT_PATH_RESPONSE); + } + + LSQ_DEBUG("repathed %u packet%.*s", count, count != 1, "s"); + + if (keep_path_properties) + LSQ_DEBUG("keeping path properties: MTU, RTT, and CC state"); + else + { + lsquic_send_ctl_resize(ctl); + memset(&ctl->sc_conn_pub->rtt_stats, 0, + sizeof(ctl->sc_conn_pub->rtt_stats)); + ctl->sc_ci->cci_reinit(CGP(ctl)); + } +} + + +/* Drop PATH_CHALLENGE and PATH_RESPONSE packets for path `path'. */ +void +lsquic_send_ctl_cancel_path_verification (struct lsquic_send_ctl *ctl, + const struct network_path *path) +{ + struct lsquic_packet_out *packet_out, *next; + + /* We need only to examine the scheduled queue as lost challenges and + * responses are not retransmitted. + */ + for (packet_out = TAILQ_FIRST(&ctl->sc_scheduled_packets); packet_out; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_path == path) + { + assert((packet_out->po_frame_types + & (QUIC_FTBIT_PATH_CHALLENGE|QUIC_FTBIT_PATH_RESPONSE)) + || packet_out->po_frame_types == QUIC_FTBIT_PADDING); + assert(!(packet_out->po_frame_types & ctl->sc_retx_frames)); + send_ctl_maybe_renumber_sched_to_right(ctl, packet_out); + send_ctl_sched_remove(ctl, packet_out); + assert(packet_out->po_loss_chain == packet_out); + send_ctl_destroy_packet(ctl, packet_out); + } + } +} + + +/* Examine packets in scheduled and buffered queues and resize packets if + * they exceed path MTU. + */ +void +lsquic_send_ctl_resize (struct lsquic_send_ctl *ctl) +{ + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + struct lsquic_packet_out *packet_out; + struct lsquic_packets_tailq *const *q; + struct lsquic_packets_tailq *const queues[] = { + &ctl->sc_scheduled_packets, + &ctl->sc_buffered_packets[0].bpq_packets, + &ctl->sc_buffered_packets[1].bpq_packets, + }; + size_t size; + int path_ids /* assuming a reasonable number of paths */, q_idxs; + + assert(ctl->sc_flags & SC_IETF); + + q_idxs = 0; + for (q = queues; q < queues + sizeof(queues) / sizeof(queues[0]); ++q) + { + path_ids = 0; + redo_q: + TAILQ_FOREACH(packet_out, *q, po_next) + if (0 == (path_ids & (1 << packet_out->po_path->np_path_id)) + && !(packet_out->po_flags & PO_MTU_PROBE)) + { + size = lsquic_packet_out_total_sz(lconn, packet_out); + if (size > packet_out->po_path->np_pack_size) + { + path_ids |= 1 << packet_out->po_path->np_path_id; + q_idxs |= 1 << (q - queues); + send_ctl_resize_q(ctl, *q, packet_out->po_path); + goto redo_q; + } + } + } + + LSQ_DEBUG("resized packets in queues: 0x%X", q_idxs); + lsquic_send_ctl_sanity_check(ctl); +} + + +void +lsquic_send_ctl_return_enc_data (struct lsquic_send_ctl *ctl) +{ + struct lsquic_packet_out *packet_out; + + assert(!(ctl->sc_flags & SC_IETF)); + + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + if (packet_out->po_flags & PO_ENCRYPTED) + send_ctl_return_enc_data(ctl, packet_out); +} + + +/* When client updated DCID based on the first packet returned by the server, + * we must update the number of bytes scheduled if the DCID length changed + * because this length is used to calculate packet size. + */ +void +lsquic_send_ctl_cidlen_change (struct lsquic_send_ctl *ctl, + unsigned orig_cid_len, unsigned new_cid_len) +{ + unsigned diff; + + assert(!(ctl->sc_conn_pub->lconn->cn_flags & LSCONN_SERVER)); + if (ctl->sc_n_scheduled) + { + ctl->sc_flags |= SC_CIDLEN; + ctl->sc_cidlen = (signed char) new_cid_len - (signed char) orig_cid_len; + if (new_cid_len > orig_cid_len) + { + diff = new_cid_len - orig_cid_len; + diff *= ctl->sc_n_scheduled; + ctl->sc_bytes_scheduled += diff; + LSQ_DEBUG("increased bytes scheduled by %u bytes to %u", + diff, ctl->sc_bytes_scheduled); + } + else if (new_cid_len < orig_cid_len) + { + diff = orig_cid_len - new_cid_len; + diff *= ctl->sc_n_scheduled; + ctl->sc_bytes_scheduled -= diff; + LSQ_DEBUG("decreased bytes scheduled by %u bytes to %u", + diff, ctl->sc_bytes_scheduled); + } + else + LSQ_DEBUG("DCID length did not change"); + } + else + LSQ_DEBUG("no scheduled packets at the time of DCID change"); +} + + +void +lsquic_send_ctl_begin_optack_detection (struct lsquic_send_ctl *ctl) +{ + uint8_t rand; + + rand = lsquic_crand_get_byte(ctl->sc_enpub->enp_crand); + ctl->sc_gap = ctl->sc_cur_packno + 1 + rand; +} + + +void +lsquic_send_ctl_path_validated (struct lsquic_send_ctl *ctl) +{ + LSQ_DEBUG("path validated: switch to regular can_send"); + ctl->sc_can_send = send_ctl_can_send; +} + + +int +lsquic_send_ctl_can_send_probe (const struct lsquic_send_ctl *ctl, + const struct network_path *path) +{ + uint64_t cwnd, pacing_rate; + lsquic_time_t tx_time; + unsigned n_out; + + assert(!send_ctl_in_recovery(ctl)); + + n_out = send_ctl_all_bytes_out(ctl); + cwnd = ctl->sc_ci->cci_get_cwnd(CGP(ctl)); + if (ctl->sc_flags & SC_PACE) + { + if (n_out + path->np_pack_size >= cwnd) + return 0; + pacing_rate = ctl->sc_ci->cci_pacing_rate(CGP(ctl), 0); + if (!pacing_rate) + pacing_rate = 1; + tx_time = (uint64_t) path->np_pack_size * 1000000 / pacing_rate; + return lsquic_pacer_can_schedule_probe(&ctl->sc_pacer, + ctl->sc_n_scheduled + ctl->sc_n_in_flight_all, tx_time); + } + else + return n_out + path->np_pack_size < cwnd; +} + + +void +lsquic_send_ctl_disable_ecn (struct lsquic_send_ctl *ctl) +{ + struct lsquic_packet_out *packet_out; + + LSQ_INFO("disable ECN"); + ctl->sc_ecn = ECN_NOT_ECT; + TAILQ_FOREACH(packet_out, &ctl->sc_scheduled_packets, po_next) + lsquic_packet_out_set_ecn(packet_out, ECN_NOT_ECT); +} + + +void +lsquic_send_ctl_snapshot (struct lsquic_send_ctl *ctl, + struct send_ctl_state *ctl_state) +{ + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + int buffered, repace; + + buffered = !lsquic_send_ctl_schedule_stream_packets_immediately(ctl); + repace = !buffered && (ctl->sc_flags & SC_PACE); + + if (repace) + ctl_state->pacer = ctl->sc_pacer; + + if (buffered) + { + lconn->cn_if->ci_ack_snapshot(lconn, &ctl_state->ack_state); + ctl_state->buf_counts[BPT_OTHER_PRIO] + = ctl->sc_buffered_packets[BPT_OTHER_PRIO].bpq_count; + ctl_state->buf_counts[BPT_HIGHEST_PRIO] + = ctl->sc_buffered_packets[BPT_HIGHEST_PRIO].bpq_count; + } +} + + +static void +send_ctl_repace (struct lsquic_send_ctl *ctl, const struct pacer *pacer, + unsigned count) +{ + unsigned n; + int in_rec; + + LSQ_DEBUG("repace, count: %u", count); + ctl->sc_pacer = *pacer; + + in_rec = send_ctl_in_recovery(ctl); + for (n = 0; n < count; ++n) + lsquic_pacer_packet_scheduled(&ctl->sc_pacer, + ctl->sc_n_in_flight_retx + ctl->sc_n_scheduled + n, in_rec, + send_ctl_transfer_time, ctl); +} + + +void +lsquic_send_ctl_rollback (struct lsquic_send_ctl *ctl, + struct send_ctl_state *ctl_state, const struct iovec *last_iov, + size_t shortfall) +{ + struct lsquic_conn *const lconn = ctl->sc_conn_pub->lconn; + struct lsquic_packet_out *packet_out, *next; + struct lsquic_packets_tailq *packets; + struct stream_frame stream_frame; + struct packet_out_frec_iter pofi; + enum buf_packet_type packet_type; + unsigned orig_count, new_count; + enum quic_ft_bit lost_types; + int buffered, repace, len, to_end; + unsigned short prev_frec_len; + struct frame_rec *frec; + + buffered = !lsquic_send_ctl_schedule_stream_packets_immediately(ctl); + repace = !buffered && (ctl->sc_flags & SC_PACE); + + if (!buffered) + { + orig_count = ctl->sc_n_scheduled; + packets = &ctl->sc_scheduled_packets; + packet_type = 0; /* Not necessary, but compiler complains */ + } + else if (ctl_state->buf_counts[BPT_HIGHEST_PRIO] + < ctl->sc_buffered_packets[BPT_HIGHEST_PRIO].bpq_count) + { + packets = &ctl->sc_buffered_packets[BPT_HIGHEST_PRIO].bpq_packets; + orig_count = ctl->sc_buffered_packets[BPT_HIGHEST_PRIO].bpq_count; + packet_type = BPT_HIGHEST_PRIO; + } + else + { + packets = &ctl->sc_buffered_packets[BPT_OTHER_PRIO].bpq_packets; + orig_count = ctl->sc_buffered_packets[BPT_OTHER_PRIO].bpq_count; + packet_type = BPT_OTHER_PRIO; + } + + /* Now find last packet: */ + TAILQ_FOREACH(packet_out, packets, po_next) + if ((unsigned char *) last_iov->iov_base >= packet_out->po_data + && (unsigned char *) last_iov->iov_base + < packet_out->po_data + packet_out->po_data_sz) + break; + + if (!packet_out) + { + lconn->cn_if->ci_internal_error(lconn, + "rollback failed: cannot find packet"); + return; + } + + for (frec = lsquic_pofi_first(&pofi, packet_out); frec; + frec = lsquic_pofi_next(&pofi)) + if (frec->fe_frame_type == QUIC_FRAME_STREAM + /* At the time of this writing, pwritev() generates a single STREAM + * frame per packet. To keep code future-proof, we use an extra + * check. + */ + && (unsigned char *) last_iov->iov_base + > packet_out->po_data + frec->fe_off + && (unsigned char *) last_iov->iov_base + < packet_out->po_data + frec->fe_off + frec->fe_len) + break; + + if (!frec) + { + lconn->cn_if->ci_internal_error(lconn, + "rollback failed: cannot find frame record"); + return; + } + + /* Strictly less because of the STREAM frame header */ + assert(last_iov->iov_len < frec->fe_len); + + len = lconn->cn_pf->pf_parse_stream_frame( + packet_out->po_data + frec->fe_off, frec->fe_len, &stream_frame); + if (len < 0) + { + lconn->cn_if->ci_internal_error(lconn, + "error parsing own STREAM frame"); + return; + } + + if (stream_frame.data_frame.df_size > last_iov->iov_len - shortfall) + { + packet_out->po_data_sz = (unsigned char *) last_iov->iov_base + + last_iov->iov_len - shortfall - packet_out->po_data; + prev_frec_len = frec->fe_len; + frec->fe_len = packet_out->po_data_sz - frec->fe_off; + to_end = lconn->cn_pf->pf_dec_stream_frame_size( + packet_out->po_data + frec->fe_off, + stream_frame.data_frame.df_size - (prev_frec_len - frec->fe_len)); + if (to_end) + { /* A frame that's too short may be generated when pwritev runs out + * of iovecs. In that case, we adjust it here. + */ + if (!(packet_out->po_flags & PO_STREAM_END)) + LSQ_DEBUG("set stream-end flag on truncated packet"); + packet_out->po_flags |= PO_STREAM_END; + } + if (!buffered) + ctl->sc_bytes_scheduled -= prev_frec_len - frec->fe_len; + } + else + assert(stream_frame.data_frame.df_size + == last_iov->iov_len - shortfall); + + /* Drop any frames that follow */ + for (frec = lsquic_pofi_next(&pofi); frec; frec = lsquic_pofi_next(&pofi)) + frec->fe_frame_type = 0; + + /* Return unused packets */ + new_count = orig_count; + lost_types = 0; + for (packet_out = TAILQ_NEXT(packet_out, po_next); packet_out != NULL; + packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + --new_count; + lost_types |= packet_out->po_frame_types; + /* Undo lsquic_send_ctl_get_packet_for_stream() */ + if (!buffered) + send_ctl_sched_remove(ctl, packet_out); + else + { + TAILQ_REMOVE(packets, packet_out, po_next); + --ctl->sc_buffered_packets[packet_type].bpq_count; + } + send_ctl_destroy_packet(ctl, packet_out); + } + + if (new_count < orig_count && repace) + send_ctl_repace(ctl, &ctl_state->pacer, new_count); + if (buffered && (lost_types & QUIC_FTBIT_ACK)) + lconn->cn_if->ci_ack_rollback(lconn, &ctl_state->ack_state); +} + + +/* Find 0-RTT packets and change them to 1-RTT packets */ +void +lsquic_send_ctl_0rtt_to_1rtt (struct lsquic_send_ctl *ctl) +{ + struct lsquic_packet_out *packet_out; + unsigned count; + struct lsquic_packets_tailq *const *q; + struct lsquic_packets_tailq *const queues[] = { + &ctl->sc_scheduled_packets, + &ctl->sc_unacked_packets[PNS_APP], + &ctl->sc_lost_packets, + &ctl->sc_buffered_packets[0].bpq_packets, + &ctl->sc_buffered_packets[1].bpq_packets, + }; + + assert(ctl->sc_flags & SC_IETF); + + while (packet_out = TAILQ_FIRST(&ctl->sc_0rtt_stash), packet_out != NULL) + { + TAILQ_REMOVE(&ctl->sc_0rtt_stash, packet_out, po_next); + TAILQ_INSERT_TAIL(&ctl->sc_lost_packets, packet_out, po_next); + packet_out->po_flags |= PO_LOST; + } + + count = 0; + for (q = queues; q < queues + sizeof(queues) / sizeof(queues[0]); ++q) + TAILQ_FOREACH(packet_out, *q, po_next) + if (packet_out->po_header_type == HETY_0RTT) + { + ++count; + packet_out->po_header_type = HETY_SHORT; + if (packet_out->po_flags & PO_ENCRYPTED) + send_ctl_return_enc_data(ctl, packet_out); + } + + LSQ_DEBUG("handshake ok: changed %u packet%.*s from 0-RTT to 1-RTT", + count, count != 1, "s"); + ctl->sc_n_consec_rtos >>= 1; +} + + +/* Remove 0-RTT packets from the unacked queue and wait to retransmit them + * after handshake succeeds. This is the most common case. There could + * (theoretically) be some corner cases where 0-RTT packets are in the + * scheduled queue, but we let those be lost naturally if that occurs. + */ +void +lsquic_send_ctl_stash_0rtt_packets (struct lsquic_send_ctl *ctl) +{ + struct lsquic_packet_out *packet_out, *next; + unsigned count, packet_sz; + + count = 0; + for (packet_out = TAILQ_FIRST(&ctl->sc_unacked_packets[PNS_APP]); + packet_out; packet_out = next) + { + next = TAILQ_NEXT(packet_out, po_next); + if (packet_out->po_header_type == HETY_0RTT) + { + packet_sz = packet_out_sent_sz(packet_out); + send_ctl_unacked_remove(ctl, packet_out, packet_sz); + TAILQ_INSERT_TAIL(&ctl->sc_0rtt_stash, packet_out, po_next); + ++count; + } + } + + LSQ_DEBUG("stashed %u 0-RTT packet%.*s", count, count != 1, "s"); +} diff --git a/external/lsquic/src/liblsquic/lsquic_send_ctl.h b/external/lsquic/src/liblsquic/lsquic_send_ctl.h new file mode 100644 index 0000000..6e6a302 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_send_ctl.h @@ -0,0 +1,522 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_SEND_CTL_H +#define LSQUIC_SEND_CTL_H 1 + +#include + +#include "lsquic_types.h" +#include "lsquic_packet_out.h" + +#ifndef LSQUIC_SEND_STATS +# define LSQUIC_SEND_STATS 1 +#endif + +TAILQ_HEAD(lsquic_packets_tailq, lsquic_packet_out); + +struct ack_info; +struct lsquic_alarmset; +struct lsquic_engine_public; +struct lsquic_conn_public; +struct network_path; +struct ver_neg; +enum pns; +struct to_coal; + +enum buf_packet_type { BPT_HIGHEST_PRIO, BPT_OTHER_PRIO, }; + +struct buf_packet_q +{ + struct lsquic_packets_tailq bpq_packets; + unsigned bpq_count; +}; + +enum send_ctl_flags { + SC_TCID0 = (1 << 0), + SC_NSTP = (1 << 2), + SC_PACE = (1 << 3), + SC_SCHED_TICK = (1 << 4), + SC_BUFFER_STREAM= (1 << 5), + SC_WAS_QUIET = (1 << 6), + SC_IETF = (1 << 7), +#define SCBIT_LOST_ACK_SHIFT 8 + SC_LOST_ACK_INIT= 1 << 8, + SC_LOST_ACK_HSK = SC_LOST_ACK_INIT << PNS_HSK, + SC_LOST_ACK_APP = SC_LOST_ACK_INIT << PNS_APP, + SC_1RTT_ACKED = 1 << 11, + SC_APP_LIMITED = 1 << 12, + SC_ECN = 1 << 13, + SC_QL_BITS = 1 << 14, + SC_SANITY_CHECK = 1 << 15, + SC_CIDLEN = 1 << 16, /* sc_cidlen is set */ + SC_POISON = 1 << 17, /* poisoned packet exists */ + SC_CLEANUP_BBR = 1 << 18, + SC_ACK_RECV_INIT= 1 << 19, + SC_ACK_RECV_HSK = SC_ACK_RECV_INIT << PNS_HSK, + SC_ACK_RECV_APP = SC_ACK_RECV_INIT << PNS_APP, + SC_ROUGH_RTT = 1 << 22, +#if LSQUIC_DEVEL + SC_DYN_PTHRESH = 1 << 31u, /* dynamic packet threshold enabled */ +#endif +}; + +typedef struct lsquic_send_ctl { + /* The first section consists of struct members which are used in the + * time-critical lsquic_send_ctl_got_ack() in the approximate order + * of usage. + */ + lsquic_senhist_t sc_senhist; + enum send_ctl_flags sc_flags; + enum ecn sc_ecn; + unsigned sc_n_stop_waiting; + struct lsquic_packets_tailq sc_unacked_packets[N_PNS]; + lsquic_packno_t sc_largest_acked_packno; + lsquic_time_t sc_largest_acked_sent_time; + lsquic_time_t sc_last_sent_time; + lsquic_time_t sc_last_rto_time; + int (*sc_can_send)(struct lsquic_send_ctl *); + unsigned sc_bytes_unacked_retx; + unsigned sc_bytes_scheduled; + struct adaptive_cc sc_adaptive_cc; + const struct cong_ctl_if *sc_ci; + void *sc_cong_ctl; + struct lsquic_engine_public *sc_enpub; + unsigned sc_bytes_unacked_all; + unsigned sc_n_in_flight_all; + unsigned sc_n_in_flight_retx; + unsigned sc_n_consec_rtos; + unsigned sc_n_hsk; + unsigned sc_n_tlp; + enum quic_ft_bit sc_retx_frames; + struct lsquic_alarmset *sc_alset; + + /* Second section: everything else. */ + struct lsquic_packets_tailq sc_scheduled_packets, + sc_0rtt_stash, + sc_lost_packets; + struct buf_packet_q sc_buffered_packets[BPT_OTHER_PRIO + 1]; + const struct ver_neg *sc_ver_neg; + struct lsquic_conn_public *sc_conn_pub; + struct pacer sc_pacer; + lsquic_packno_t sc_cur_packno; + lsquic_packno_t sc_largest_sent_at_cutback; + lsquic_packno_t sc_max_rtt_packno; + /* sc_largest_ack2ed is the packet number sent by peer that we acked and + * we know that our ACK was received by peer. This is used to determine + * the receive history cutoff point for the purposes of generating ACK + * frames in the absense of STOP_WAITING frames. Used when NSTP option + * is set. (The "ack2ed" is odd enough to not be confused with anything + * else and it is not insanely long.) + */ + lsquic_packno_t sc_largest_ack2ed[N_PNS]; + /* sc_largest_acked is the largest packet number in PNS_APP packet number + * space sent by peer for which we generated (not necessarily sent) an ACK. + * This information is used to drop stale ACK frames from packets in + * buffered queues. + */ + /* XXX We have both sc_largest_acked_packno and sc_largest_acked. Rename + * the latter to make the code more readable. + */ + lsquic_packno_t sc_largest_acked; + lsquic_time_t sc_loss_to; + uint64_t sc_ecn_total_acked[N_PNS]; + uint64_t sc_ecn_ce_cnt[N_PNS]; + struct + { + lsquic_stream_id_t stream_id; + enum buf_packet_type packet_type; + } sc_cached_bpt; + unsigned sc_next_limit; + unsigned sc_n_scheduled; + enum packno_bits sc_max_packno_bits; +#if LSQUIC_SEND_STATS + struct { + unsigned n_total_sent, + n_resent, + n_delayed; + } sc_stats; +#endif + unsigned char *sc_token; + size_t sc_token_sz; + unsigned sc_retry_count; + unsigned sc_rt_count; /* Count round trips */ + lsquic_packno_t sc_cur_rt_end; + lsquic_packno_t sc_gap; + unsigned sc_loss_count; /* Used to set loss bit */ + unsigned sc_square_count;/* Used to set square bit */ + unsigned sc_reord_thresh; + signed char sc_cidlen; /* For debug purposes */ +} lsquic_send_ctl_t; + +void +lsquic_send_ctl_init (lsquic_send_ctl_t *, struct lsquic_alarmset *, + struct lsquic_engine_public *, const struct ver_neg *, + struct lsquic_conn_public *, enum send_ctl_flags); + +int +lsquic_send_ctl_sent_packet (lsquic_send_ctl_t *, struct lsquic_packet_out *); + +void +lsquic_send_ctl_mtu_not_sent (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *); + +int +lsquic_send_ctl_got_ack (lsquic_send_ctl_t *, const struct ack_info *, + lsquic_time_t, lsquic_time_t); + +lsquic_packno_t +lsquic_send_ctl_smallest_unacked (lsquic_send_ctl_t *ctl); + +int +lsquic_send_ctl_have_unacked_stream_frames (const lsquic_send_ctl_t *); + +int +lsquic_send_ctl_have_unacked_retx_data (const struct lsquic_send_ctl *); + +void +lsquic_send_ctl_cleanup (lsquic_send_ctl_t *); + +int +lsquic_send_ctl_can_send (lsquic_send_ctl_t *ctl); + +void +lsquic_send_ctl_scheduled_one (lsquic_send_ctl_t *, struct lsquic_packet_out *); + +void +lsquic_send_ctl_delayed_one (lsquic_send_ctl_t *, struct lsquic_packet_out *); + +struct lsquic_packet_out * +lsquic_send_ctl_next_packet_to_send (struct lsquic_send_ctl *, + const struct to_coal *); + +int +lsquic_send_ctl_next_packet_to_send_predict (struct lsquic_send_ctl *); + +void +lsquic_send_ctl_expire_all (lsquic_send_ctl_t *ctl); + +static inline unsigned +lsquic_send_ctl_n_scheduled (const lsquic_send_ctl_t *ctl) +{ + return +(ctl)->sc_n_scheduled; +} + +static inline unsigned +lsquic_send_ctl_largest_ack2ed (const lsquic_send_ctl_t *ctl, unsigned pns) +{ + return +(ctl)->sc_largest_ack2ed[pns]; +} + +void +lsquic_send_ctl_do_sanity_check (const struct lsquic_send_ctl *ctl); + +#ifndef NDEBUG +#define lsquic_send_ctl_sanity_check(ctl) do { \ + if ((ctl)->sc_flags & SC_SANITY_CHECK) \ + lsquic_send_ctl_do_sanity_check(ctl); \ +} while (0) +#else +#define lsquic_send_ctl_sanity_check(ctl) +#endif + +int +lsquic_send_ctl_have_outgoing_stream_frames (const lsquic_send_ctl_t *); + +int +lsquic_send_ctl_have_outgoing_retx_frames (const lsquic_send_ctl_t *); + +struct lsquic_packet_out * +lsquic_send_ctl_last_scheduled (struct lsquic_send_ctl *, enum packnum_space, + const struct network_path *, int); + +struct lsquic_packet_out * +lsquic_send_ctl_new_packet_out (lsquic_send_ctl_t *, unsigned, + enum packnum_space, const struct network_path *); + +struct lsquic_packet_out * +lsquic_send_ctl_get_writeable_packet (lsquic_send_ctl_t *, enum packnum_space, + unsigned need_at_least, const struct network_path *, int, int *is_err); + +struct lsquic_packet_out * +lsquic_send_ctl_get_packet_for_stream (lsquic_send_ctl_t *, + unsigned need_at_least, const struct network_path *, + const struct lsquic_stream *); + +int +lsquic_sendctl_gen_stream_blocked_frame (struct lsquic_send_ctl *ctl, + struct lsquic_stream *stream); + +struct lsquic_packet_out * +lsquic_send_ctl_get_packet_for_crypto (struct lsquic_send_ctl *ctl, + unsigned need_at_least, enum packnum_space, const struct network_path *); + +unsigned +lsquic_send_ctl_reschedule_packets (lsquic_send_ctl_t *); + +static inline unsigned +lsquic_send_ctl_lost_ack (const lsquic_send_ctl_t *ctl) +{ + return ((ctl)->sc_flags & (SC_LOST_ACK_INIT|SC_LOST_ACK_HSK|SC_LOST_ACK_APP)) + >> SCBIT_LOST_ACK_SHIFT; +} + +static inline void +lsquic_send_ctl_scheduled_ack (lsquic_send_ctl_t *ctl, int pns, + lsquic_packno_t acked) +{ + ctl->sc_flags &= ~(SC_LOST_ACK_INIT << pns); + if (PNS_APP == pns) + ctl->sc_largest_acked = acked; +} + +void +lsquic_send_ctl_set_tcid0 (lsquic_send_ctl_t *, int); + +static inline unsigned +lsquic_send_ctl_turn_nstp_on (lsquic_send_ctl_t *ctl) +{ + return (ctl)->sc_flags |= SC_NSTP; +} + +void +lsquic_send_ctl_elide_stream_frames (lsquic_send_ctl_t *, lsquic_stream_id_t); + +int +lsquic_send_ctl_squeeze_sched (lsquic_send_ctl_t *); + +static inline unsigned +lsquic_send_ctl_maybe_squeeze_sched (lsquic_send_ctl_t *ctl) +{ + return (ctl)->sc_n_scheduled && lsquic_send_ctl_squeeze_sched(ctl); +} + +/* Same return value as for squeezing, but without actual squeezing. */ +int +lsquic_send_ctl_have_delayed_packets (const lsquic_send_ctl_t *ctl); + +void +lsquic_send_ctl_reset_packnos (lsquic_send_ctl_t *); + +void +lsquic_send_ctl_ack_to_front (struct lsquic_send_ctl *, unsigned n_acks); + +static inline unsigned +lsquic_send_ctl_n_stop_waiting (const lsquic_send_ctl_t *ctl) +{ + return +(ctl)->sc_n_stop_waiting; +} + +static inline void +lsquic_send_ctl_n_stop_waiting_reset (lsquic_send_ctl_t *ctl) +{ + ctl->sc_n_stop_waiting = 0; +} + +void +lsquic_send_ctl_drop_scheduled (lsquic_send_ctl_t *); + +static inline void +lsquic_send_ctl_tick_in (lsquic_send_ctl_t *ctl, lsquic_time_t now) +{ + if ((ctl)->sc_flags & SC_PACE) + { + (ctl)->sc_flags |= SC_SCHED_TICK; + lsquic_pacer_tick_in(&(ctl)->sc_pacer, now); + } + (ctl)->sc_flags &= ~SC_APP_LIMITED; +} + +static inline void +lsquic_send_ctl_tick_out (lsquic_send_ctl_t *ctl) +{ + if ((ctl)->sc_flags & SC_PACE) + lsquic_pacer_tick_out(&(ctl)->sc_pacer); +} + +static inline lsquic_time_t +lsquic_send_ctl_next_pacer_time (lsquic_send_ctl_t *ctl) +{ + return ((ctl)->sc_flags & SC_PACE) + && lsquic_pacer_delayed(&(ctl)->sc_pacer) + ? lsquic_pacer_next_sched(&(ctl)->sc_pacer) + : 0; +} + +enum packno_bits +lsquic_send_ctl_packno_bits (struct lsquic_send_ctl *, enum packnum_space); + +int +lsquic_send_ctl_schedule_buffered (lsquic_send_ctl_t *, enum buf_packet_type); + +static inline unsigned +lsquic_send_ctl_has_buffered (const lsquic_send_ctl_t *ctl) +{ + return TAILQ_FIRST(&(ctl)->sc_buffered_packets[BPT_HIGHEST_PRIO].bpq_packets) + || TAILQ_FIRST(&(ctl)->sc_buffered_packets[BPT_OTHER_PRIO].bpq_packets); +} + +static inline unsigned +lsquic_send_ctl_has_buffered_high (const lsquic_send_ctl_t *ctl) +{ + return !TAILQ_EMPTY(&(ctl)->sc_buffered_packets[BPT_HIGHEST_PRIO].bpq_packets); +} + +static inline void +lsquic_send_ctl_invalidate_bpt_cache (lsquic_send_ctl_t *ctl) +{ + (ctl)->sc_cached_bpt.stream_id = UINT64_MAX; +} + +#ifndef NDEBUG +enum packno_bits +lsquic_send_ctl_guess_packno_bits (struct lsquic_send_ctl *); + +int +lsquic_send_ctl_schedule_stream_packets_immediately (struct lsquic_send_ctl *); + +enum buf_packet_type +lsquic_send_ctl_determine_bpt (struct lsquic_send_ctl *, + const struct lsquic_stream *); + +enum packno_bits +lsquic_send_ctl_calc_packno_bits (struct lsquic_send_ctl *); + +void +lsquic_send_ctl_set_max_bpq_count (unsigned); +#endif + +size_t +lsquic_send_ctl_mem_used (const struct lsquic_send_ctl *); + +static inline void +lsquic_send_ctl_set_buffer_stream_packets ( + struct lsquic_send_ctl *ctl, enum send_ctl_flags b) +{ + (ctl)->sc_flags &= ~SC_BUFFER_STREAM; + (ctl)->sc_flags |= -!!(b) & SC_BUFFER_STREAM; +} + +int +lsquic_send_ctl_turn_on_fin (struct lsquic_send_ctl *, + const struct lsquic_stream *); + +int +lsquic_send_ctl_pacer_blocked (struct lsquic_send_ctl *); + +static inline void +lsquic_send_ctl_incr_pack_sz (struct lsquic_send_ctl *ctl, + struct lsquic_packet_out *packet, int delta) +{ + packet->po_data_sz += delta; + if (packet->po_flags & PO_SCHED) + (ctl)->sc_bytes_scheduled += delta; + lsquic_send_ctl_sanity_check(ctl); +} + +int +lsquic_send_ctl_sched_is_blocked (struct lsquic_send_ctl *); + +void +lsquic_send_ctl_verneg_done (struct lsquic_send_ctl *); + +int +lsquic_send_ctl_retry (struct lsquic_send_ctl *, const unsigned char *, size_t); + +int +lsquic_send_ctl_set_token (struct lsquic_send_ctl *, + const unsigned char *token, size_t token_sz); + +void +lsquic_send_ctl_empty_pns (struct lsquic_send_ctl *, enum packnum_space); + +void +lsquic_send_ctl_maybe_calc_rough_rtt (struct lsquic_send_ctl *, + enum packnum_space); + +void +lsquic_send_ctl_repath (struct lsquic_send_ctl *ctl, + const struct network_path *old, const struct network_path *new, + int keep_path_properties); + +void +lsquic_send_ctl_cancel_path_verification (struct lsquic_send_ctl *, + const struct network_path *); + +void +lsquic_send_ctl_resize (struct lsquic_send_ctl *); + +void +lsquic_send_ctl_return_enc_data (struct lsquic_send_ctl *); + +static inline unsigned +lsquic_send_ctl_1rtt_acked (const struct lsquic_send_ctl *ctl) +{ + return (ctl)->sc_flags & SC_1RTT_ACKED; +} + +void +lsquic_send_ctl_maybe_app_limited (struct lsquic_send_ctl *, + const struct network_path *); + +static inline void +lsquic_send_ctl_do_ql_bits (struct lsquic_send_ctl *ctl) +{ + (ctl)->sc_flags |= SC_QL_BITS; +} + +void +lsquic_send_ctl_cidlen_change (struct lsquic_send_ctl *, + unsigned orig_cid_len, unsigned new_cid_len); + +void +lsquic_send_ctl_begin_optack_detection (struct lsquic_send_ctl *); + +void +lsquic_send_ctl_path_validated (struct lsquic_send_ctl *); + +/* Has immediately sendable packets */ +static inline unsigned +lsquic_send_ctl_has_sendable (struct lsquic_send_ctl *ctl_) +{ + return lsquic_send_ctl_n_scheduled(ctl_) > 0 + && lsquic_send_ctl_next_packet_to_send_predict(ctl_); +} + +static inline unsigned +lsquic_send_ctl_in_recovery (const struct lsquic_send_ctl *ctl_) +{ + return (ctl_)->sc_largest_acked_packno + && (ctl_)->sc_largest_acked_packno <= (ctl_)->sc_largest_sent_at_cutback; +} + +#define send_ctl_in_recovery lsquic_send_ctl_in_recovery + +int +lsquic_send_ctl_can_send_probe (const struct lsquic_send_ctl *, + const struct network_path *); + +#define lsquic_send_ctl_ecn_turned_on(ctl_) ((ctl_)->sc_ecn != ECN_NOT_ECT) + +void +lsquic_send_ctl_disable_ecn (struct lsquic_send_ctl *); + +struct send_ctl_state +{ + struct pacer pacer; + struct ack_state ack_state; + unsigned buf_counts[BPT_OTHER_PRIO + 1]; +}; + +void +lsquic_send_ctl_snapshot (struct lsquic_send_ctl *, struct send_ctl_state *); + +void +lsquic_send_ctl_rollback (struct lsquic_send_ctl *, struct send_ctl_state *, + const struct iovec *, size_t); + +void +lsquic_send_ctl_0rtt_to_1rtt (struct lsquic_send_ctl *); + +void +lsquic_send_ctl_stash_0rtt_packets (struct lsquic_send_ctl *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_senhist.c b/external/lsquic/src/liblsquic/lsquic_senhist.c new file mode 100644 index 0000000..d63c2a4 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_senhist.c @@ -0,0 +1,20 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_senhist.c -- Sent history implementation + */ + +#include +#include + +#include "lsquic_int_types.h" +#include "lsquic_senhist.h" + + +void +lsquic_senhist_tostr (lsquic_senhist_t *hist, char *buf, size_t bufsz) +{ + if (hist->sh_last_sent) + snprintf(buf, bufsz, "[1-%"PRIu64"]", hist->sh_last_sent); + else + snprintf(buf, bufsz, "[]"); +} diff --git a/external/lsquic/src/liblsquic/lsquic_senhist.h b/external/lsquic/src/liblsquic/lsquic_senhist.h new file mode 100644 index 0000000..7287551 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_senhist.h @@ -0,0 +1,78 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_senhist.h -- History sent packets. + * + * We need to keep track of packet numbers in order to verify ACKs. To + * speed up processing, we make sure that there is never a gap in the + * packet number sequence we generate. + */ + +#ifndef LSQUIC_SENHIST_H +#define LSQUIC_SENHIST_H 1 + +#ifndef LSQUIC_SENHIST_FATAL +# define LSQUIC_SENHIST_FATAL 0 +#endif + +typedef struct lsquic_senhist { + lsquic_packno_t sh_last_sent; + lsquic_packno_t sh_warn_thresh; + enum { +#if !LSQUIC_SENHIST_FATAL + SH_WARNED = 1 << 0, /* Warn once */ +#endif + SH_GAP_OK = 1 << 1, /* Before connection is just about to close or + * during mini/full packet handoff. + */ + } sh_flags; +} lsquic_senhist_t; + +static inline void +lsquic_senhist_init (lsquic_senhist_t *hist, unsigned is_ietf) +{ + if (is_ietf) + (hist)->sh_last_sent = ~0ull; + else + (hist)->sh_last_sent = 0; +} + +#define lsquic_senhist_cleanup(hist) + +#if LSQUIC_SENHIST_FATAL +#define lsquic_senhist_add(hist, packno) do { \ + if (!((hist)->sh_flags & SH_GAP_OK) \ + && (packno) > (hist)->sh_warn_thresh) \ + assert((hist)->sh_last_sent == packno - 1); \ + if ((int64_t) (packno) > (int64_t) (hist)->sh_last_sent) \ + (hist)->sh_last_sent = packno; \ +} while (0) +#else +#define lsquic_senhist_add(hist, packno) do { \ + if ((hist)->sh_last_sent != packno - 1) \ + { \ + if (!((hist)->sh_flags & (SH_WARNED|SH_GAP_OK)) \ + && (packno) > (hist)->sh_warn_thresh) \ + { \ + LSQ_WARN("send history gap %"PRIu64" - %"PRIu64, \ + (hist)->sh_last_sent, packno); \ + (hist)->sh_flags |= SH_WARNED; \ + } \ + } \ + if ((int64_t) (packno) > (int64_t) (hist)->sh_last_sent) \ + (hist)->sh_last_sent = packno; \ +} while (0) +#endif + +/* Returns 0 if no packets have been sent yet */ +#define lsquic_senhist_largest(hist) (+(hist)->sh_last_sent) + +void +lsquic_senhist_tostr (lsquic_senhist_t *hist, char *buf, size_t bufsz); + +static inline size_t +lsquic_senhist_mem_used(const lsquic_senhist_t *hist) +{ + return sizeof(*(hist)); +} + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_set.c b/external/lsquic/src/liblsquic/lsquic_set.c new file mode 100644 index 0000000..1433324 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_set.c @@ -0,0 +1,371 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_set.c -- A set implementation. + * + * Deleting from a set is not supported. Implemented as a sorted array. + * Optimized for reading. Insertion may trigger realloc, memmove, or + * both. + */ + +#include +#include +#include +#include +#include + +#include "lsquic_set.h" + + +struct lsquic_set32_elem +{ + uint32_t low, high; +}; + + +void +lsquic_set32_init (struct lsquic_set32 *set) +{ + memset(set, 0, sizeof(*set)); +} + + +void +lsquic_set32_cleanup (struct lsquic_set32 *set) +{ + free(set->elems); +} + + +static int +lsquic_set32_insert_set_elem (struct lsquic_set32 *set, int i, uint32_t value) +{ + struct lsquic_set32_elem *elems; + + if (set->n_elems == INT_MAX) + { + errno = EOVERFLOW; + return -1; + } + + if (set->n_alloc == set->n_elems) + { + if (set->n_alloc) + set->n_alloc *= 2; + else + set->n_alloc = 4; + elems = realloc(set->elems, sizeof(set->elems[0]) * set->n_alloc); + if (!elems) + return -1; + set->elems = elems; + } + if (i < set->n_elems) + memmove(&set->elems[i + 1], &set->elems[i], + (set->n_elems - i) * sizeof(set->elems[i])); + set->elems[i].low = set->elems[i].high = value; + ++set->n_elems; + return 0; +} + + +static void +lsquic_set32_merge_set_elems (struct lsquic_set32 *set, int i) +{ + assert(i >= 0); + assert(i < set->n_elems - 1); + assert(set->elems[i].high + 1 == set->elems[i + 1].low); + set->elems[i].high = set->elems[i + 1].high; + if (i < set->n_elems - 2) + memmove(&set->elems[i + 1], &set->elems[i + 2], + (set->n_elems - i - 2) * sizeof(set->elems[i])); + --set->n_elems; +} + + +#ifndef NDEBUG +static void +lsquic_set32_check_elems_sorted (const struct lsquic_set32 *set) +{ + int i; + for (i = 0; i < set->n_elems; ++i) + { + assert(set->elems[i].low <= set->elems[i].high); + if (i > 0) + assert(set->elems[i - 1].high + 1 < set->elems[i].low); + } +} +#endif + + +int +lsquic_set32_add (struct lsquic_set32 *set, uint32_t value) +{ + if (value < 64) + { + set->lowset |= 1ULL << value; + return 0; + } + + int low, high, i; + + if (set->n_elems > 0) + { + low = 0, high = set->n_elems - 1; + do + { + i = low + (high - low) / 2; + if (set->elems[i].low <= value && set->elems[i].high >= value) + return 0; + else if (set->elems[i].high < value) + low = i + 1; + else + high = i - 1; + } + while (low <= high); + + if (value < set->elems[i].low) + { + if (set->elems[i].low - 1 == value) + { + set->elems[i].low = value; + if (i > 0 && set->elems[i - 1].high + 1 == value) + lsquic_set32_merge_set_elems(set, i - 1); + } + else if (i > 0 && set->elems[i - 1].high + 1 == value) + set->elems[i - 1].high = value; + else if (0 != lsquic_set32_insert_set_elem(set, i, value)) + return -1; + } + else + { + assert(value > set->elems[i].high); + if (set->elems[i].high + 1 == value) + { + set->elems[i].high = value; + if (i + 1 < set->n_elems && set->elems[i + 1].low - 1== value) + lsquic_set32_merge_set_elems(set, i); + } + else if (i + 1 < set->n_elems && set->elems[i + 1].low - 1 == value) + set->elems[i + 1].low = value; + else if (0 != lsquic_set32_insert_set_elem(set, i + 1, value)) + return 0; + } + } + else + { + assert(NULL == set->elems); + if (0 != lsquic_set32_insert_set_elem(set, 0, value)) + return -1; + } +#ifndef NDEBUG + lsquic_set32_check_elems_sorted(set); +#endif + return 0; +} + + +int +lsquic_set32_has (const struct lsquic_set32 *set, uint32_t value) +{ + if (value < 64) + { + return !!(set->lowset & (1ULL << value)); + } + + int low, high, i; + + low = 0, high = set->n_elems - 1; + while (low <= high) + { + i = low + (high - low) / 2; + if (set->elems[i].low <= value && set->elems[i].high >= value) + return 1; + else if (set->elems[i].high < value) + low = i + 1; + else + high = i - 1; + } + + return 0; +} + + +/* ******* ******* ******** ******* + * + * The following code is a set of two replacements: + * + * :.,$s/lsquic_set32/lsquic_set64/g + * :.,$s/uint32_t/uint64_t/g + */ +struct lsquic_set64_elem +{ + uint64_t low, high; +}; + + +void +lsquic_set64_init (struct lsquic_set64 *set) +{ + memset(set, 0, sizeof(*set)); +} + + +void +lsquic_set64_cleanup (struct lsquic_set64 *set) +{ + free(set->elems); +} + + +static int +lsquic_set64_insert_set_elem (struct lsquic_set64 *set, int i, uint64_t value) +{ + struct lsquic_set64_elem *elems; + + if (set->n_elems == INT_MAX) + { + errno = EOVERFLOW; + return -1; + } + + if (set->n_alloc == set->n_elems) + { + if (set->n_alloc) + set->n_alloc *= 2; + else + set->n_alloc = 4; + elems = realloc(set->elems, sizeof(set->elems[0]) * set->n_alloc); + if (!elems) + return -1; + set->elems = elems; + } + if (i < set->n_elems) + memmove(&set->elems[i + 1], &set->elems[i], + (set->n_elems - i) * sizeof(set->elems[i])); + set->elems[i].low = set->elems[i].high = value; + ++set->n_elems; + return 0; +} + + +static void +lsquic_set64_merge_set_elems (struct lsquic_set64 *set, int i) +{ + assert(i >= 0); + assert(i < set->n_elems - 1); + assert(set->elems[i].high + 1 == set->elems[i + 1].low); + set->elems[i].high = set->elems[i + 1].high; + if (i < set->n_elems - 2) + memmove(&set->elems[i + 1], &set->elems[i + 2], + (set->n_elems - i - 2) * sizeof(set->elems[i])); + --set->n_elems; +} + + +#ifndef NDEBUG +static void +lsquic_set64_check_elems_sorted (const struct lsquic_set64 *set) +{ + int i; + for (i = 0; i < set->n_elems; ++i) + { + assert(set->elems[i].low <= set->elems[i].high); + if (i > 0) + assert(set->elems[i - 1].high + 1 < set->elems[i].low); + } +} +#endif + + +int +lsquic_set64_add (struct lsquic_set64 *set, uint64_t value) +{ + if (value < 64) + { + set->lowset |= 1ULL << value; + return 0; + } + + int low, high, i; + + if (set->n_elems > 0) + { + low = 0, high = set->n_elems - 1; + do + { + i = low + (high - low) / 2; + if (set->elems[i].low <= value && set->elems[i].high >= value) + return 0; + else if (set->elems[i].high < value) + low = i + 1; + else + high = i - 1; + } + while (low <= high); + + if (value < set->elems[i].low) + { + if (set->elems[i].low - 1 == value) + { + set->elems[i].low = value; + if (i > 0 && set->elems[i - 1].high + 1 == value) + lsquic_set64_merge_set_elems(set, i - 1); + } + else if (i > 0 && set->elems[i - 1].high + 1 == value) + set->elems[i - 1].high = value; + else if (0 != lsquic_set64_insert_set_elem(set, i, value)) + return -1; + } + else + { + assert(value > set->elems[i].high); + if (set->elems[i].high + 1 == value) + { + set->elems[i].high = value; + if (i + 1 < set->n_elems && set->elems[i + 1].low - 1== value) + lsquic_set64_merge_set_elems(set, i); + } + else if (i + 1 < set->n_elems && set->elems[i + 1].low - 1 == value) + set->elems[i + 1].low = value; + else if (0 != lsquic_set64_insert_set_elem(set, i + 1, value)) + return 0; + } + } + else + { + assert(NULL == set->elems); + if (0 != lsquic_set64_insert_set_elem(set, 0, value)) + return -1; + } +#ifndef NDEBUG + lsquic_set64_check_elems_sorted(set); +#endif + return 0; +} + + +int +lsquic_set64_has (const struct lsquic_set64 *set, uint64_t value) +{ + if (value < 64) + { + return !!(set->lowset & (1ULL << value)); + } + + int low, high, i; + + low = 0, high = set->n_elems - 1; + while (low <= high) + { + i = low + (high - low) / 2; + if (set->elems[i].low <= value && set->elems[i].high >= value) + return 1; + else if (set->elems[i].high < value) + low = i + 1; + else + high = i - 1; + } + + return 0; +} + + diff --git a/external/lsquic/src/liblsquic/lsquic_set.h b/external/lsquic/src/liblsquic/lsquic_set.h new file mode 100644 index 0000000..f910bba --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_set.h @@ -0,0 +1,56 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_set.h -- A set implementation. + * + * There are two sets of APIs: one for four- and the other for eight-byte + * integers. + */ + +#ifndef LSQUIC_SET_H +#define LSQUIC_SET_H 1 + +#include + +struct lsquic_set32_elem; + +typedef struct lsquic_set32 { + struct lsquic_set32_elem *elems; + uint64_t lowset; /* Bitmask for values 0 - 63 */ + int n_elems, n_alloc; +} lsquic_set32_t; + +void +lsquic_set32_init (struct lsquic_set32 *); + +void +lsquic_set32_cleanup (struct lsquic_set32 *); + +int +lsquic_set32_add (struct lsquic_set32 *, uint32_t value); + +/* Returns true if set contaims `value', false otherwise */ +int +lsquic_set32_has (const struct lsquic_set32 *, uint32_t value); + +struct lsquic_set64_elem; + +typedef struct lsquic_set64 { + struct lsquic_set64_elem *elems; + uint64_t lowset; /* Bitmask for values 0 - 63 */ + int n_elems, n_alloc; +} lsquic_set64_t; + +void +lsquic_set64_init (struct lsquic_set64 *); + +void +lsquic_set64_cleanup (struct lsquic_set64 *); + +int +lsquic_set64_add (struct lsquic_set64 *, uint64_t value); + +/* Returns true if set contaims `value', false otherwise */ +int +lsquic_set64_has (const struct lsquic_set64 *, uint64_t value); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_sfcw.c b/external/lsquic/src/liblsquic/lsquic_sfcw.c new file mode 100644 index 0000000..d8e8816 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_sfcw.c @@ -0,0 +1,156 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_conn_flow.h" +#include "lsquic_types.h" +#include "lsquic_rtt.h" +#include "lsquic_varint.h" +#include "lsquic_sfcw.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_conn_public.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_util.h" +#include "lsquic_conn.h" +#include "lsquic_ev_log.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_SFCW +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(fc->sf_conn_pub->lconn) +#define LSQUIC_LOG_STREAM_ID fc->sf_stream_id +#include "lsquic_logger.h" + +void +lsquic_sfcw_init (struct lsquic_sfcw *fc, unsigned max_recv_window, + struct lsquic_cfcw *cfcw, struct lsquic_conn_public *cpub, + lsquic_stream_id_t stream_id) +{ + memset(fc, 0, sizeof(*fc)); + fc->sf_max_recv_win = max_recv_window; + fc->sf_cfcw = cfcw; + fc->sf_conn_pub = cpub; + fc->sf_stream_id = stream_id; + (void) lsquic_sfcw_fc_offsets_changed(fc); +} + + +static void +sfcw_maybe_increase_max_window (struct lsquic_sfcw *fc) +{ + unsigned new_max_window, max_conn_window; + + new_max_window = fc->sf_max_recv_win * 2; + + /* Do not increase past explicitly specified maximum */ + if (new_max_window > fc->sf_conn_pub->enpub->enp_settings.es_max_sfcw) + new_max_window = fc->sf_conn_pub->enpub->enp_settings.es_max_sfcw; + + if (fc->sf_cfcw) + { + /* Do not increase past the connection's maximum window size. The + * connection's window will be increased separately, if possible. + * + * The reference implementation has the logic backwards: Imagine + * several concurrent streams that are not being read from fast + * enough by the user code. Each of them uses only a fraction + * of bandwidth. Does it mean that the connection window must + * increase? No. + */ + max_conn_window = lsquic_cfcw_get_max_recv_window(fc->sf_cfcw); + if (new_max_window > max_conn_window) + new_max_window = max_conn_window; + } + else + { + /* This means that this stream is not affected by connection flow + * controller. No need to adjust under connection window. + */ + } + + if (new_max_window > fc->sf_max_recv_win) + { + LSQ_DEBUG("max window increase %u -> %u", + fc->sf_max_recv_win, new_max_window); + EV_LOG_CONN_EVENT(LSQUIC_LOG_CONN_ID, + "max SFCW increase %u -> %u", fc->sf_max_recv_win, + new_max_window); + fc->sf_max_recv_win = new_max_window; + } + else + LSQ_DEBUG("max window could use an increase, but we're stuck " + "at %u", fc->sf_max_recv_win); +} + + +int +lsquic_sfcw_fc_offsets_changed (struct lsquic_sfcw *fc) +{ + lsquic_time_t since_last_update, srtt, now; + + if (fc->sf_recv_off - fc->sf_read_off >= fc->sf_max_recv_win / 2) + { + LSQ_DEBUG("recv_off has not changed, still at %"PRIu64, + fc->sf_recv_off); + return 0; + } + + now = lsquic_time_now(); + since_last_update = now - fc->sf_last_updated; + fc->sf_last_updated = now; + + srtt = lsquic_rtt_stats_get_srtt(&fc->sf_conn_pub->rtt_stats); + if (since_last_update < srtt * 2) + sfcw_maybe_increase_max_window(fc); + + fc->sf_recv_off = fc->sf_read_off + fc->sf_max_recv_win; + LSQ_DEBUG("recv_off changed: read_off: %"PRIu64"; " + "recv_off: %"PRIu64, fc->sf_read_off, fc->sf_recv_off); + return 1; +} + + +int +lsquic_sfcw_set_max_recv_off (struct lsquic_sfcw *fc, uint64_t max_recv_off) +{ + if (max_recv_off <= fc->sf_recv_off) + { + if (!fc->sf_cfcw || lsquic_cfcw_incr_max_recv_off(fc->sf_cfcw, + max_recv_off - fc->sf_max_recv_off)) + { + LSQ_DEBUG("max_recv_off goes from %"PRIu64" to %"PRIu64, + fc->sf_max_recv_off, max_recv_off); + fc->sf_max_recv_off = max_recv_off; + return 1; + } + else + { + /* cfcw prints its own warning */ + return 0; + } + } + else + { + LSQ_INFO("flow control violation: received at offset %"PRIu64", " + "while flow control receive offset is %"PRIu64, + max_recv_off, fc->sf_recv_off); + return 0; + } +} + + +void +lsquic_sfcw_set_read_off (struct lsquic_sfcw *fc, uint64_t off) +{ + if (fc->sf_cfcw) + lsquic_cfcw_incr_read_off(fc->sf_cfcw, off - fc->sf_read_off); + LSQ_DEBUG("read_off goes from %"PRIu64" to %"PRIu64, + fc->sf_read_off, off); + fc->sf_read_off = off; +} diff --git a/external/lsquic/src/liblsquic/lsquic_sfcw.h b/external/lsquic/src/liblsquic/lsquic_sfcw.h new file mode 100644 index 0000000..6a96297 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_sfcw.h @@ -0,0 +1,66 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_sfcw.h -- Stream flow control window functions + */ + +#ifndef LSQUIC_SFCW_H +#define LSQUIC_SFCW_H 1 + +struct lsquic_cfcw; +struct lsquic_conn_public; + +typedef struct lsquic_sfcw { + struct lsquic_cfcw *sf_cfcw; /* Connection flow control window, + * NULL for streams 1 and 3. + */ + uint64_t sf_max_recv_off; /* Largest offset observed */ + uint64_t sf_recv_off; /* Flow control receive offset */ + uint64_t sf_read_off; /* Number of bytes consumed */ + lsquic_time_t sf_last_updated; /* Last time window was updated */ + struct lsquic_conn_public + *sf_conn_pub; + unsigned sf_max_recv_win; /* Maximum receive window */ + lsquic_stream_id_t sf_stream_id; /* Used for logging */ +} lsquic_sfcw_t; + + +void +lsquic_sfcw_init (lsquic_sfcw_t *, unsigned initial_max_recv_window, + struct lsquic_cfcw *cfcw, struct lsquic_conn_public *, + lsquic_stream_id_t stream_id); + +/* If update is to be sent, updates max_recv_off and returns true. Note + * that if you call this function twice, the second call will return false. + */ +int +lsquic_sfcw_fc_offsets_changed (lsquic_sfcw_t *); + +static inline uint64_t +lsquic_sfcw_get_fc_recv_off (const lsquic_sfcw_t *fc) +{ + return fc->sf_recv_off; +} + +static inline uint64_t +lsquic_sfcw_get_max_recv_off (const lsquic_sfcw_t *fc) +{ + return fc->sf_max_recv_off; +} + +/* Returns false if flow control violation is encountered */ +int +lsquic_sfcw_set_max_recv_off (lsquic_sfcw_t *, uint64_t); + +/* Void because we do not expect the caller to make a mistake. + */ +void +lsquic_sfcw_set_read_off (lsquic_sfcw_t *, uint64_t); + +static inline void +lsquic_sfcw_consume_rem(lsquic_sfcw_t *sfcw) +{ + lsquic_sfcw_set_read_off(sfcw, + lsquic_sfcw_get_max_recv_off(sfcw)); +} + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_shared_support.h b/external/lsquic/src/liblsquic/lsquic_shared_support.h new file mode 100644 index 0000000..793d7be --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_shared_support.h @@ -0,0 +1,37 @@ +/* Copyright (c) 2017 - 2021 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_shared_support.h - Support for building a shared library. + */ + +#ifndef LSQUIC_SHARED_SUPPORT +#define LSQUIC_SHARED_SUPPORT 1 + +#ifndef LSQUIC_EXTERN + +# ifdef _MSC_VER /* WIN32 */ + +/* MSVC (and CMake on Windows) doesn't like to export extern const symbols, they need to be forced. */ + +# ifdef LSQUIC_SHARED_LIB + +# ifdef LSQUIC_EXPORTS +# define LSQUIC_EXTERN __declspec(dllexport) extern +# else /* LSQUIC_EXPORTS */ +# define LSQUIC_EXTERN __declspec(dllimport) extern +# endif /* LSQUIC_EXPORTS */ + +# else + +# define LSQUIC_EXTERN extern + +# endif + +# else /* _MSC_VER */ + +# define LSQUIC_EXTERN extern + +# endif /* _MSC_VER */ + +#endif /* LSQUIC_EXTERN */ + +#endif /* LSQUIC_SHARED_SUPPORT */ diff --git a/external/lsquic/src/liblsquic/lsquic_shsk_stream.c b/external/lsquic/src/liblsquic/lsquic_shsk_stream.c new file mode 100644 index 0000000..f87001f --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_shsk_stream.c @@ -0,0 +1,102 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Stream/crypto handshake adapter for the server side. Since on the server + * side, the handshake logic is handled in mini conn, this adapter does not + * have much to do. If peer sends any data on this stream, the adapter + * throws the data out and warns. + */ + +#include +#include +#include +#include +#include +#include +#include + +#ifndef WIN32 +#include +#include +#endif + +#include "lsquic_int_types.h" +#include "lsquic.h" + +#include "lsquic_str.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" +#include "lsquic_hash.h" +#include "lsquic_conn.h" +#include "lsquic_shsk_stream.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_HSK_ADAPTER +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(s_hsk->lconn) +#include "lsquic_logger.h" + + + +static lsquic_stream_ctx_t * +hsk_server_on_new_stream (void *stream_if_ctx, lsquic_stream_t *stream) +{ + struct server_hsk_ctx *const s_hsk = stream_if_ctx; + LSQ_DEBUG("stream created"); + + lsquic_stream_wantread(stream, 1); + + /* Note that we return the same thing we're passed. This structure lives + * inside struct full_conn. + */ + return (lsquic_stream_ctx_t *) s_hsk; +} + + +static void +hsk_server_on_read (lsquic_stream_t *stream, struct lsquic_stream_ctx *ctx) +{ + struct server_hsk_ctx *const s_hsk = (struct server_hsk_ctx *) ctx; + struct lsquic_mm *const mm = &s_hsk->enpub->enp_mm; + ssize_t nread; + unsigned char *buf; + + buf = lsquic_mm_get_4k(mm); + if (!buf) + { + LSQ_WARN("could not allocate buffer: %s", strerror(errno)); + return; + } + nread = lsquic_stream_read(stream, buf, 4 * 1024); + lsquic_mm_put_4k(mm, buf); + + if (!(s_hsk->flags & SHC_WARNED)) + { + LSQ_WARN("read %zd bytes from stream: what are we to do with them? " + "Further warnings suppressed", nread); + s_hsk->flags |= SHC_WARNED; + } + else + LSQ_DEBUG("read %zd bytes from stream", nread); +} + + +static void +hsk_server_on_write (lsquic_stream_t *stream, struct lsquic_stream_ctx *ctx) +{ + assert(0); /* This function is never called */ +} + + +static void +hsk_server_on_close (lsquic_stream_t *stream, struct lsquic_stream_ctx *ctx) +{ + struct server_hsk_ctx *s_hsk = (struct server_hsk_ctx *) ctx; + LSQ_DEBUG("stream closed"); +} + + +const struct lsquic_stream_if lsquic_server_hsk_stream_if = +{ + .on_new_stream = hsk_server_on_new_stream, + .on_read = hsk_server_on_read, + .on_write = hsk_server_on_write, + .on_close = hsk_server_on_close, +}; diff --git a/external/lsquic/src/liblsquic/lsquic_shsk_stream.h b/external/lsquic/src/liblsquic/lsquic_shsk_stream.h new file mode 100644 index 0000000..86d0a02 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_shsk_stream.h @@ -0,0 +1,23 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Stream/crypto handshake adapter for the server side. See implementation + * for more comments and explanation. + */ + +#ifndef LSQUIC_SHSK_STREAM_H +#define LSQUIC_SHSK_STREAM_H 1 + +struct lsquic_conn; +struct lsquic_engine_public; + +struct server_hsk_ctx { + struct lsquic_conn *lconn; + struct lsquic_engine_public *enpub; + enum { + SHC_WARNED = (1 << 0), /* Warning has been printed */ + } flags; +}; + +extern const struct lsquic_stream_if lsquic_server_hsk_stream_if; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_sizes.h b/external/lsquic/src/liblsquic/lsquic_sizes.h new file mode 100644 index 0000000..2e4313e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_sizes.h @@ -0,0 +1,16 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_SIZES_H +#define LSQUIC_SIZES_H 1 + +#define IQUIC_SRESET_TOKEN_SZ 16u + +#define IQUIC_MIN_SRST_RANDOM_BYTES (1u /* First byte: 01XX XXXX */ \ + + 4u /* Random bytes */) + +#define IQUIC_MIN_SRST_SIZE (IQUIC_MIN_SRST_RANDOM_BYTES \ + + IQUIC_SRESET_TOKEN_SZ /* Token */) + +/* Allow some wiggle room */ +#define IQUIC_MAX_SRST_SIZE (IQUIC_MIN_SRST_SIZE + 40u) + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_spi.c b/external/lsquic/src/liblsquic/lsquic_spi.c new file mode 100644 index 0000000..b8dfde4 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_spi.c @@ -0,0 +1,364 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_spi.c - implementation of Stream Priority Iterator. + */ + +#include +#include +#include +#include +#include +#include +#include +#ifdef WIN32 +#include +#endif + +#include "lsquic_types.h" +#include "lsquic_int_types.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_conn_flow.h" +#include "lsquic_rtt.h" +#include "lsquic_conn_public.h" +#include "lsquic_spi.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_SPI +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(iter->spi_conn) +#include "lsquic_logger.h" + +#define SPI_DEBUG(fmt, ...) LSQ_DEBUG("%s: " fmt, iter->spi_name, __VA_ARGS__) + +#define NEXT_STREAM(stream, off) \ + (* (struct lsquic_stream **) ((unsigned char *) (stream) + (off))) + + +static void +add_stream_to_spi (struct stream_prio_iter *iter, lsquic_stream_t *stream) +{ + unsigned set, bit; + set = stream->sm_priority >> 6; + bit = stream->sm_priority & 0x3F; + if (!(iter->spi_set[set] & (1ULL << bit))) + { + iter->spi_set[set] |= 1ULL << bit; + TAILQ_INIT(&iter->spi_streams[ stream->sm_priority ]); + } + TAILQ_INSERT_TAIL(&iter->spi_streams[ stream->sm_priority ], + stream, next_prio_stream); + ++iter->spi_n_added; +} + + +void +lsquic_spi_init (void *iter_p, struct lsquic_stream *first, + struct lsquic_stream *last, uintptr_t next_ptr_offset, + struct lsquic_conn_public *conn_pub, + const char *name, + int (*filter)(void *filter_ctx, struct lsquic_stream *), + void *filter_ctx) +{ + struct stream_prio_iter *const iter = iter_p; + struct lsquic_stream *stream; + unsigned count; + + iter->spi_conn = conn_pub->lconn; + iter->spi_name = name ? name : "UNSET"; + iter->spi_set[0] = 0; + iter->spi_set[1] = 0; + iter->spi_set[2] = 0; + iter->spi_set[3] = 0; + iter->spi_cur_prio = 0; + iter->spi_next_stream = NULL; + iter->spi_n_added = 0; + + stream = first; + count = 0; + + if (filter) + while (1) + { + if (filter(filter_ctx, stream)) + { + add_stream_to_spi(iter, stream); + ++count; + } + if (stream == last) + break; + stream = NEXT_STREAM(stream, next_ptr_offset); + } + else + while (1) + { + add_stream_to_spi(iter, stream); + ++count; + if (stream == last) + break; + stream = NEXT_STREAM(stream, next_ptr_offset); + } + + if (count > 2) + SPI_DEBUG("initialized; # elems: %u; sets: [ %016"PRIX64", %016"PRIX64 + ", %016"PRIX64", %016"PRIX64" ]", count, iter->spi_set[0], + iter->spi_set[1], iter->spi_set[2], iter->spi_set[3]); +} + + +static int +find_and_set_lowest_priority (struct stream_prio_iter *iter) +{ + unsigned set, prio; + uint64_t mask; + + for (set = 0, prio = 0; set < 4; ++set, prio += 64) + if (iter->spi_set[ set ]) + break; + + if (set >= 4) + { + //SPI_DEBUG("%s: cannot find any", __func__); + return -1; + } + + mask = iter->spi_set[set]; + if (!(mask & ((1ULL << 32) - 1))) { prio += 32; mask >>= 32; } + if (!(mask & ((1ULL << 16) - 1))) { prio += 16; mask >>= 16; } + if (!(mask & ((1ULL << 8) - 1))) { prio += 8; mask >>= 8; } + if (!(mask & ((1ULL << 4) - 1))) { prio += 4; mask >>= 4; } + if (!(mask & ((1ULL << 2) - 1))) { prio += 2; mask >>= 2; } + if (!(mask & ((1ULL << 1) - 1))) { prio += 1; } + +#ifndef NDEBUG + unsigned bit; + set = prio >> 6; + bit = prio & 0x3F; + assert(iter->spi_set[ set ] & (1ULL << bit)); +#endif + + SPI_DEBUG("%s: prio %u -> %u", __func__, iter->spi_cur_prio, prio); + iter->spi_cur_prio = (unsigned char) prio; + return 0; +} + + +static int +find_and_set_next_priority (struct stream_prio_iter *iter) +{ + unsigned set, bit, prio; + uint64_t mask; + + /* Examine values in the same set first */ + set = iter->spi_cur_prio >> 6; + bit = iter->spi_cur_prio & 0x3F; + prio = 64 * set; + + if (bit < 63) + { + mask = iter->spi_set[set]; + mask &= ~((1ULL << (bit + 1)) - 1); + if (mask) + goto calc_priority; + } + + ++set; + prio += 64; + for (; set < 4; ++set, prio += 64) + if (iter->spi_set[ set ]) + break; + + if (set >= 4) + { + //SPI_DEBUG("%s: cannot find any", __func__); + return -1; + } + + mask = iter->spi_set[set]; + + calc_priority: + if (!(mask & ((1ULL << 32) - 1))) { prio += 32; mask >>= 32; } + if (!(mask & ((1ULL << 16) - 1))) { prio += 16; mask >>= 16; } + if (!(mask & ((1ULL << 8) - 1))) { prio += 8; mask >>= 8; } + if (!(mask & ((1ULL << 4) - 1))) { prio += 4; mask >>= 4; } + if (!(mask & ((1ULL << 2) - 1))) { prio += 2; mask >>= 2; } + if (!(mask & ((1ULL << 1) - 1))) { prio += 1; } + +#ifndef NDEBUG + set = prio >> 6; + bit = prio & 0x3F; + assert(iter->spi_set[ set ] & (1ULL << bit)); +#endif + + SPI_DEBUG("%s: prio %u -> %u", __func__, iter->spi_cur_prio, prio); + iter->spi_cur_prio = (unsigned char) prio; + return 0; +} + + +lsquic_stream_t * +lsquic_spi_first (void *iter_p) +{ + struct stream_prio_iter *const iter = iter_p; + lsquic_stream_t *stream; + unsigned set, bit; + + iter->spi_cur_prio = 0; + set = iter->spi_cur_prio >> 6; + bit = iter->spi_cur_prio & 0x3F; + + if (!(iter->spi_set[set] & (1ULL << bit))) + { + if (0 != find_and_set_lowest_priority(iter)) + { + SPI_DEBUG("%s: return NULL", __func__); + return NULL; + } + } + + stream = TAILQ_FIRST(&iter->spi_streams[ iter->spi_cur_prio ]); + iter->spi_next_stream = TAILQ_NEXT(stream, next_prio_stream); + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG) && !lsquic_stream_is_critical(stream)) + SPI_DEBUG("%s: return stream %"PRIu64", priority %u", __func__, + stream->id, iter->spi_cur_prio); + return stream; +} + + +lsquic_stream_t * +lsquic_spi_next (void *iter_p) +{ + struct stream_prio_iter *const iter = iter_p; + lsquic_stream_t *stream; + + stream = iter->spi_next_stream; + if (stream) + { + iter->spi_next_stream = TAILQ_NEXT(stream, next_prio_stream); + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG) && !lsquic_stream_is_critical(stream)) + SPI_DEBUG("%s: return stream %"PRIu64", priority %u", __func__, + stream->id, iter->spi_cur_prio); + return stream; + } + + if (0 != find_and_set_next_priority(iter)) + { + //SPI_DEBUG("%s: return NULL", __func__); + return NULL; + } + + stream = TAILQ_FIRST(&iter->spi_streams[ iter->spi_cur_prio ]); + iter->spi_next_stream = TAILQ_NEXT(stream, next_prio_stream); + + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG) && !lsquic_stream_is_critical(stream)) + SPI_DEBUG("%s: return stream %"PRIu64", priority %u", __func__, + stream->id, iter->spi_cur_prio); + return stream; +} + + +static int +have_non_critical_streams (const struct stream_prio_iter *iter) +{ + const struct lsquic_stream *stream; + TAILQ_FOREACH(stream, &iter->spi_streams[ iter->spi_cur_prio ], + next_prio_stream) + if (!lsquic_stream_is_critical(stream)) + return 1; + return 0; +} + + +#if __GNUC__ +# define popcount __builtin_popcountll +#else +static int +popcount (unsigned long long v) +{ + int count, i; + for (i = 0, count = 0; i < sizeof(v) * 8; ++i) + if (v & (1 << i)) + ++count; + return count; +} + + +#endif + + +static int +spi_has_more_than_one_queue (const struct stream_prio_iter *iter) +{ + unsigned i; + int count; + + if (iter->spi_n_added < 2) + return 0; + + count = 0; + for (i = 0; i < sizeof(iter->spi_set) / sizeof(iter->spi_set[0]); ++i) + { + count += popcount(iter->spi_set[i]); + if (count > 1) + return 1; + } + + return 0; +} + + +static void +spi_drop_high_or_non_high (void *iter_p, int drop_high) +{ + struct stream_prio_iter *const iter = iter_p; + uint64_t new_set[ sizeof(iter->spi_set) / sizeof(iter->spi_set[0]) ]; + unsigned bit, set, n; + + if (!spi_has_more_than_one_queue(iter)) + return; + + memset(new_set, 0, sizeof(new_set)); + + find_and_set_lowest_priority(iter); + set = iter->spi_cur_prio >> 6; + bit = iter->spi_cur_prio & 0x3F; + new_set[set] |= 1ULL << bit; + + if (!have_non_critical_streams(iter)) + { + ++iter->spi_cur_prio; + find_and_set_lowest_priority(iter); + set = iter->spi_cur_prio >> 6; + bit = iter->spi_cur_prio & 0x3F; + new_set[set] |= 1ULL << bit; + } + + for (n = 0; n < sizeof(new_set) / sizeof(new_set[0]); ++n) + if (drop_high) + iter->spi_set[n] &= ~new_set[n]; + else + iter->spi_set[n] = new_set[n]; +} + + +void +lsquic_spi_drop_high (void *iter_p) +{ + struct stream_prio_iter *const iter = iter_p; + spi_drop_high_or_non_high(iter, 1); +} + + +void +lsquic_spi_drop_non_high (void *iter_p) +{ + struct stream_prio_iter *const iter = iter_p; + spi_drop_high_or_non_high(iter, 0); +} + + +void +lsquic_spi_cleanup (void *iter_p) +{ +} diff --git a/external/lsquic/src/liblsquic/lsquic_spi.h b/external/lsquic/src/liblsquic/lsquic_spi.h new file mode 100644 index 0000000..450e1a2 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_spi.h @@ -0,0 +1,48 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_spi.h - SPI: Stream Priority Iterator + * + * Changing a stream's priority when the stream is in the iterator + * does not change the stream's position in the iterator. + */ + +#ifndef LSQUIC_SPI +#define LSQUIC_SPI 1 + + +struct stream_prio_iter +{ + const struct lsquic_conn *spi_conn; /* Used for logging */ + const char *spi_name; /* Used for logging */ + uint64_t spi_set[4]; /* 256 bits */ + unsigned spi_n_added; + unsigned char spi_cur_prio; + struct lsquic_stream *spi_next_stream; + struct lsquic_streams_tailq spi_streams[256]; +}; + + +void +lsquic_spi_init (void *, struct lsquic_stream *first, + struct lsquic_stream *last, uintptr_t next_ptr_offset, + struct lsquic_conn_public *, + const char *name, + int (*filter)(void *filter_ctx, struct lsquic_stream *), + void *filter_ctx); + +struct lsquic_stream * +lsquic_spi_first (void *); + +struct lsquic_stream * +lsquic_spi_next (void *); + +void +lsquic_spi_drop_non_high (void *); + +void +lsquic_spi_drop_high (void *); + +void +lsquic_spi_cleanup (void *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_stock_shi.c b/external/lsquic/src/liblsquic/lsquic_stock_shi.c new file mode 100644 index 0000000..bd34749 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_stock_shi.c @@ -0,0 +1,214 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_stock_shi.c + */ + +#include +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_stock_shi.h" +#include "lsquic_malo.h" +#include "lsquic_hash.h" + +struct stock_shared_hash +{ + TAILQ_HEAD(, hash_elem) lru_elems; + struct lsquic_hash *lhash; + struct malo *malo; +}; + + +struct key +{ + void *buf; + unsigned sz; +}; + + +struct hash_elem +{ + TAILQ_ENTRY(hash_elem) next_lru_he; + struct lsquic_hash_elem lhash_elem; + void *data; + time_t expiry; /* If not 0, the element is on LRU list */ + struct key key; + unsigned data_sz; +}; + + +static void +free_key_data (struct hash_elem *he) +{ + free(he->key.buf); +} + + +static void +delete_expired_elements (struct stock_shared_hash *hash) +{ + struct hash_elem *he; + time_t now = time(NULL); + while ((he = TAILQ_FIRST(&hash->lru_elems))) + { + if (he->expiry < now) + { + lsquic_hash_erase(hash->lhash, &he->lhash_elem); + if (he->expiry) + TAILQ_REMOVE(&hash->lru_elems, he, next_lru_he); + free_key_data(he); + lsquic_malo_put(he); + } + else + break; + } +} + + +static int +stock_shi_insert (void *hash_ctx, void *key, unsigned key_sz, + void *data, unsigned data_sz, time_t expiry) +{ + struct stock_shared_hash *const hash = hash_ctx; + struct hash_elem *he; + + /* Potential optimization: do not exire on every insert. Use case: + * if many insert occur in a row, it is not efficient to perform + * this check every time. Can add a counter in hash. + */ + if (!TAILQ_EMPTY(&hash->lru_elems)) + delete_expired_elements(hash); + + he = lsquic_malo_get(hash->malo); + if (!he) + return -1; + he->key.buf = malloc(key_sz + data_sz + 1); + if (!he->key.buf) + { + lsquic_malo_put(he); + return -1; + } + memmove(he->key.buf, key, key_sz); + ((char *)(he->key.buf))[key_sz] = 0; + he->key.sz = key_sz; + he->data = (char *)he->key.buf + he->key.sz + 1; + memmove(he->data, data, data_sz); + he->data_sz = data_sz; + he->expiry = expiry; + memset(&he->lhash_elem, 0, sizeof(he->lhash_elem)); + if (lsquic_hash_insert(hash->lhash, he->key.buf, + he->key.sz, he, &he->lhash_elem)) + { + if (expiry) + TAILQ_INSERT_TAIL(&hash->lru_elems, he, next_lru_he); + return 0; + } + else + { + lsquic_malo_put(he); + return -1; + } +} + + +static int +stock_shi_lookup (void *hash_ctx, const void *key, unsigned key_sz, + void **data, unsigned *data_sz) +{ + struct stock_shared_hash *const hash = hash_ctx; + struct hash_elem *he; + struct lsquic_hash_elem *el; + + if (!TAILQ_EMPTY(&hash->lru_elems)) + delete_expired_elements(hash); + + el = lsquic_hash_find(hash->lhash, key, key_sz); + if (!el) + return 0; /* 0: not found */ + he = lsquic_hashelem_getdata(el); + *data = he->data; + *data_sz = he->data_sz; + return 1; /* 1: found */ +} + + +static int +stock_shi_delete (void *hash_ctx, const void *key, unsigned key_sz) +{ + struct stock_shared_hash *const hash = hash_ctx; + struct lsquic_hash_elem *el; + struct hash_elem *he; + + if (!TAILQ_EMPTY(&hash->lru_elems)) + delete_expired_elements(hash); + + el = lsquic_hash_find(hash->lhash, key, key_sz); + if (!el) + return -1; + + he = lsquic_hashelem_getdata(el); + lsquic_hash_erase(hash->lhash, el); + if (he->expiry) + TAILQ_REMOVE(&hash->lru_elems, he, next_lru_he); + + free_key_data(he); + lsquic_malo_put(he); + return 0; +} + + +struct stock_shared_hash * +lsquic_stock_shared_hash_new (void) +{ + struct malo *malo; + struct stock_shared_hash *hash; + + malo = lsquic_malo_create(sizeof(struct hash_elem)); + if (!malo) + return NULL; + + hash = lsquic_malo_get(malo); + if (!hash) + { /* This would be really odd, but let's check this for completeness. */ + lsquic_malo_destroy(malo); + return NULL; + } + + hash->malo = malo; + hash->lhash = lsquic_hash_create(); + TAILQ_INIT(&hash->lru_elems); + return hash; +} + + +void +lsquic_stock_shared_hash_destroy (struct stock_shared_hash *hash) +{ + struct hash_elem *he; + struct lsquic_hash_elem *el; + for (el = lsquic_hash_first(hash->lhash); el; + el = lsquic_hash_next(hash->lhash)) + { + he = lsquic_hashelem_getdata(el); + free_key_data(he); + /* No need to lsquic_malo_put(he) here */ + } + lsquic_hash_destroy(hash->lhash); + lsquic_malo_destroy(hash->malo); +} + + +const struct lsquic_shared_hash_if stock_shi = +{ + .shi_insert = stock_shi_insert, + .shi_delete = stock_shi_delete, + .shi_lookup = stock_shi_lookup, +}; + + +/* Need this to save one malloc using malo: */ +typedef char hash_not_larger_than_hash_elem [ + (sizeof(struct stock_shared_hash) <= sizeof(struct hash_elem)) ? 1 : -1]; diff --git a/external/lsquic/src/liblsquic/lsquic_stock_shi.h b/external/lsquic/src/liblsquic/lsquic_stock_shi.h new file mode 100644 index 0000000..49d240b --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_stock_shi.h @@ -0,0 +1,30 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_stock_shi.h - Stock shared hash interface implementation. + */ + +#ifndef LSQUIC_STOCK_SHI +#define LSQUIC_STOCK_SHI 1 + +#include "lsquic_shared_support.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct stock_shared_hash; + +struct stock_shared_hash * +lsquic_stock_shared_hash_new (void); + +void +lsquic_stock_shared_hash_destroy (struct stock_shared_hash *); + + +#ifdef __cplusplus +} +#endif + +LSQUIC_EXTERN const struct lsquic_shared_hash_if stock_shi; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_str.c b/external/lsquic/src/liblsquic/lsquic_str.c new file mode 100644 index 0000000..371c377 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_str.c @@ -0,0 +1,134 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_str.c + * + */ + +#include +#include + +#include "lsquic_str.h" + + +lsquic_str_t * +lsquic_str_new (const char *str, size_t sz) +{ + lsquic_str_t *lstr; + char *copy; + + if (str && sz) + { + copy = malloc(sz + 1); + if (!copy) + return NULL; + memcpy(copy, str, sz); + copy[sz] = '\0'; + } + else + copy = NULL; + + lstr = malloc(sizeof(*lstr)); + if (!lstr) + { + free(copy); + return NULL; + } + lstr->str = copy; + lstr->len = sz; + + return lstr; +} + + +void +lsquic_str_setto (lsquic_str_t *lstr, const void *str, size_t len) +{ + if (lsquic_str_len(lstr) > 0) + lsquic_str_d(lstr); + lsquic_str_append(lstr, str, len); +} + + +int +lsquic_str_append (lsquic_str_t *lstr, const char *str, size_t len) +{ + size_t newlen; + char *newstr; + + newlen = lstr->len + len; + newstr = realloc(lstr->str, newlen + 1); + if (!newstr) + return -1; + + memcpy(newstr + lstr->len, str, len); + newstr[newlen] = '\0'; + lstr->str = newstr; + lstr->len = newlen; + return 0; +} + + +void +lsquic_str_d (lsquic_str_t *lstr) +{ + if (lstr) { + free(lstr->str); + lstr->str = NULL; + lstr->len = 0; + } +} + + +void +lsquic_str_delete (lsquic_str_t *lstr) +{ + lsquic_str_d(lstr); + free(lstr); +} + + +char * +lsquic_str_prealloc (lsquic_str_t *lstr, size_t len) +{ + char *str; + + str = malloc(len + 1); + if (str) + lstr->str = str; + + return str; +} + + +int +lsquic_str_bcmp (const void *ap, const void *bp) +{ + const lsquic_str_t *a = ap, *b = bp; + size_t min; + int rc; + + min = a->len < b->len ? a->len : b->len; + rc = memcmp(a->str, b->str, min); + if (rc) + return rc; + else + return (a->len > b->len) - (b->len > a->len); +} + + +lsquic_str_t * +lsquic_str_copy (lsquic_str_t *lstr_dst, const lsquic_str_t *lstr_src) +{ + char *copy; + + copy = malloc(lstr_src->len + 1); + if (!copy) + /* Keeping the original behavior: */ + return NULL; + + memcpy(copy, lstr_src->str, lstr_src->len); + copy[lstr_src->len] = '\0'; + lstr_dst->str = copy; + lstr_dst->len = lstr_src->len; + return lstr_dst; +} diff --git a/external/lsquic/src/liblsquic/lsquic_str.h b/external/lsquic/src/liblsquic/lsquic_str.h new file mode 100644 index 0000000..447bc90 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_str.h @@ -0,0 +1,81 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_str.h -- Some string routines. + */ + +#ifndef LSQUIC_STR_H +#define LSQUIC_STR_H 1 + +struct lsquic_str +{ + char *str; + size_t len; +}; + + +typedef struct lsquic_str lsquic_str_t; + + +lsquic_str_t * +lsquic_str_new (const char *, size_t); + +static inline size_t +lsquic_str_len (const lsquic_str_t *lstr) +{ + return +lstr->len; +} + +static inline void +lsquic_str_setlen (lsquic_str_t *lstr, size_t len) +{ + lstr->len = len; +} + +void +lsquic_str_setto (lsquic_str_t *, const void *, size_t); + +int +lsquic_str_append (lsquic_str_t *, const char *, size_t); + +void +lsquic_str_d (lsquic_str_t *); + +void +lsquic_str_delete (lsquic_str_t *); + +char * +lsquic_str_prealloc (lsquic_str_t *, size_t); + +static inline char * +lsquic_str_buf (const lsquic_str_t *lstr) +{ + return (char *) lstr->str; +} + +static inline const char * +lsquic_str_cstr (const lsquic_str_t *lstr) +{ + return (const char *) lstr->str; +} + +static inline void +lsquic_str_blank (lsquic_str_t *lstr) +{ + lstr->str = NULL; + lstr->len = 0; +} + +int +lsquic_str_bcmp (const void *, const void *); + +lsquic_str_t * +lsquic_str_copy (lsquic_str_t *, const lsquic_str_t *); + +static inline void +lsquic_str_set (lsquic_str_t *lstr, char *src, size_t len_) +{ + lstr->str = src; + lstr->len = len_; +} + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_stream.c b/external/lsquic/src/liblsquic/lsquic_stream.c new file mode 100644 index 0000000..eca58b6 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_stream.c @@ -0,0 +1,5618 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_stream.c -- stream processing + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef WIN32 +#include +#endif + +#include "fiu-local.h" + +#include "lsquic.h" + +#include "lsquic_int_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_malo.h" +#include "lsquic_conn_flow.h" +#include "lsquic_rtt.h" +#include "lsquic_sfcw.h" +#include "lsquic_varint.h" +#include "lsquic_hq.h" +#include "lsquic_hash.h" +#include "lsquic_stream.h" +#include "lsquic_conn_public.h" +#include "lsquic_util.h" +#include "lsquic_mm.h" +#include "lsquic_headers_stream.h" +#include "lsquic_conn.h" +#include "lsquic_data_in_if.h" +#include "lsquic_parse.h" +#include "lsquic_packet_in.h" +#include "lsquic_packet_out.h" +#include "lsquic_engine_public.h" +#include "lsquic_senhist.h" +#include "lsquic_pacer.h" +#include "lsquic_cubic.h" +#include "lsquic_bw_sampler.h" +#include "lsquic_minmax.h" +#include "lsquic_bbr.h" +#include "lsquic_adaptive_cc.h" +#include "lsquic_send_ctl.h" +#include "lsquic_headers.h" +#include "lsquic_ev_log.h" +#include "lsquic_enc_sess.h" +#include "lsqpack.h" +#include "lsquic_frab_list.h" +#include "lsquic_http1x_if.h" +#include "lsquic_qdec_hdl.h" +#include "lsquic_qenc_hdl.h" +#include "lsquic_byteswap.h" +#include "lsquic_ietf.h" +#include "lsquic_push_promise.h" +#include "lsquic_hcso_writer.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_STREAM +#define LSQUIC_LOG_CONN_ID lsquic_conn_log_cid(stream->conn_pub->lconn) +#define LSQUIC_LOG_STREAM_ID stream->id +#include "lsquic_logger.h" + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + +static void +drop_frames_in (lsquic_stream_t *stream); + +static void +maybe_schedule_call_on_close (lsquic_stream_t *stream); + +static int +stream_wantread (lsquic_stream_t *stream, int is_want); + +static int +stream_wantwrite (lsquic_stream_t *stream, int is_want); + +enum stream_write_options +{ + SWO_BUFFER = 1 << 0, /* Allow buffering in sm_buf */ +}; + + +static ssize_t +stream_write_to_packets (lsquic_stream_t *, struct lsquic_reader *, size_t, + enum stream_write_options); + +static ssize_t +save_to_buffer (lsquic_stream_t *, struct lsquic_reader *, size_t len); + +static int +stream_flush (lsquic_stream_t *stream); + +static int +stream_flush_nocheck (lsquic_stream_t *stream); + +static void +maybe_remove_from_write_q (lsquic_stream_t *stream, enum stream_q_flags flag); + +enum swtp_status { SWTP_OK, SWTP_STOP, SWTP_ERROR }; + +static enum swtp_status +stream_write_to_packet_std (struct frame_gen_ctx *fg_ctx, const size_t size); + +static enum swtp_status +stream_write_to_packet_hsk (struct frame_gen_ctx *fg_ctx, const size_t size); + +static enum swtp_status +stream_write_to_packet_crypto (struct frame_gen_ctx *fg_ctx, const size_t size); + +static size_t +stream_write_avail_no_frames (struct lsquic_stream *); + +static size_t +stream_write_avail_with_frames (struct lsquic_stream *); + +static size_t +stream_write_avail_with_headers (struct lsquic_stream *); + +static int +hq_filter_readable (struct lsquic_stream *stream); + +static void +hq_decr_left (struct lsquic_stream *stream, size_t); + +static size_t +hq_filter_df (struct lsquic_stream *stream, struct data_frame *data_frame); + +static int +stream_readable_non_http (struct lsquic_stream *stream); + +static int +stream_readable_http_gquic (struct lsquic_stream *stream); + +static int +stream_readable_http_ietf (struct lsquic_stream *stream); + +static ssize_t +stream_write_buf (struct lsquic_stream *stream, const void *buf, size_t sz); + +static void +stream_reset (struct lsquic_stream *, uint64_t error_code, int do_close); + +static size_t +active_hq_frame_sizes (const struct lsquic_stream *); + +static void +on_write_pp_wrapper (struct lsquic_stream *, lsquic_stream_ctx_t *); + +static void +stream_hq_frame_put (struct lsquic_stream *, struct stream_hq_frame *); + +static size_t +stream_hq_frame_size (const struct stream_hq_frame *); + +const struct stream_filter_if hq_stream_filter_if = +{ + .sfi_readable = hq_filter_readable, + .sfi_filter_df = hq_filter_df, + .sfi_decr_left = hq_decr_left, +}; + + +#if LSQUIC_KEEP_STREAM_HISTORY +/* These values are printable ASCII characters for ease of printing the + * whole history in a single line of a log message. + * + * The list of events is not exhaustive: only most interesting events + * are recorded. + */ +enum stream_history_event +{ + SHE_EMPTY = '\0', /* Special entry. No init besides memset required */ + SHE_PLUS = '+', /* Special entry: previous event occured more than once */ + SHE_REACH_FIN = 'a', + SHE_EARLY_READ_STOP = 'A', + SHE_BLOCKED_OUT = 'b', + SHE_CREATED = 'C', + SHE_FRAME_IN = 'd', + SHE_FRAME_OUT = 'D', + SHE_RESET = 'e', + SHE_WINDOW_UPDATE = 'E', + SHE_FIN_IN = 'f', + SHE_FINISHED = 'F', + SHE_GOAWAY_IN = 'g', + SHE_USER_WRITE_HEADER = 'h', + SHE_HEADERS_IN = 'H', + SHE_IF_SWITCH = 'i', + SHE_ONCLOSE_SCHED = 'l', + SHE_ONCLOSE_CALL = 'L', + SHE_ONNEW = 'N', + SHE_SET_PRIO = 'p', + SHE_SHORT_WRITE = 'q', + SHE_USER_READ = 'r', + SHE_SHUTDOWN_READ = 'R', + SHE_RST_IN = 's', + SHE_STOP_SENDIG_IN = 'S', + SHE_RST_OUT = 't', + SHE_RST_ACKED = 'T', + SHE_FLUSH = 'u', + SHE_STOP_SENDIG_OUT = 'U', + SHE_USER_WRITE_DATA = 'w', + SHE_SHUTDOWN_WRITE = 'W', + SHE_CLOSE = 'X', + SHE_DELAY_SW = 'y', + SHE_FORCE_FINISH = 'Z', + SHE_WANTREAD_NO = '0', /* "YES" must be one more than "NO" */ + SHE_WANTREAD_YES = '1', + SHE_WANTWRITE_NO = '2', + SHE_WANTWRITE_YES = '3', +}; + +static void +sm_history_append (lsquic_stream_t *stream, enum stream_history_event sh_event) +{ + enum stream_history_event prev_event; + sm_hist_idx_t idx; + int plus; + + idx = (stream->sm_hist_idx - 1) & SM_HIST_IDX_MASK; + plus = SHE_PLUS == stream->sm_hist_buf[idx]; + idx = (idx - plus) & SM_HIST_IDX_MASK; + prev_event = stream->sm_hist_buf[idx]; + + if (prev_event == sh_event && plus) + return; + + if (prev_event == sh_event) + sh_event = SHE_PLUS; + stream->sm_hist_buf[ stream->sm_hist_idx++ & SM_HIST_IDX_MASK ] = sh_event; + + if (0 == (stream->sm_hist_idx & SM_HIST_IDX_MASK)) + LSQ_DEBUG("history: [%.*s]", (int) sizeof(stream->sm_hist_buf), + stream->sm_hist_buf); +} + + +# define SM_HISTORY_APPEND(stream, event) sm_history_append(stream, event) +# define SM_HISTORY_DUMP_REMAINING(stream) do { \ + if (stream->sm_hist_idx & SM_HIST_IDX_MASK) \ + LSQ_DEBUG("history: [%.*s]", \ + (int) ((stream)->sm_hist_idx & SM_HIST_IDX_MASK), \ + (stream)->sm_hist_buf); \ + } while (0) +#else +# define SM_HISTORY_APPEND(stream, event) +# define SM_HISTORY_DUMP_REMAINING(stream) +#endif + + +static int +stream_inside_callback (const lsquic_stream_t *stream) +{ + return stream->conn_pub->enpub->enp_flags & ENPUB_PROC; +} + + +/* This is an approximation. If data is written or read outside of the + * event loop, last_prog will be somewhat out of date, but it's close + * enough for our purposes. + */ +static void +maybe_update_last_progress (struct lsquic_stream *stream) +{ + if (stream->conn_pub && !lsquic_stream_is_critical(stream)) + { + if (stream->conn_pub->last_prog != stream->conn_pub->last_tick) + LSQ_DEBUG("update last progress to %"PRIu64, + stream->conn_pub->last_tick); + stream->conn_pub->last_prog = stream->conn_pub->last_tick; +#ifndef NDEBUG + stream->sm_last_prog = stream->conn_pub->last_tick; +#endif + } +} + + +static void +maybe_conn_to_tickable (lsquic_stream_t *stream) +{ + if (!stream_inside_callback(stream)) + lsquic_engine_add_conn_to_tickable(stream->conn_pub->enpub, + stream->conn_pub->lconn); +} + + +/* Here, "readable" means that the user is able to read from the stream. */ +static void +maybe_conn_to_tickable_if_readable (lsquic_stream_t *stream) +{ + if (!stream_inside_callback(stream) && lsquic_stream_readable(stream)) + { + lsquic_engine_add_conn_to_tickable(stream->conn_pub->enpub, + stream->conn_pub->lconn); + } +} + + +/* Here, "writeable" means that data can be put into packets to be + * scheduled to be sent out. + * + * If `check_can_send' is false, it means that we do not need to check + * whether packets can be sent. This check was already performed when + * we packetized stream data. + */ +static void +maybe_conn_to_tickable_if_writeable (lsquic_stream_t *stream, + int check_can_send) +{ + if (!stream_inside_callback(stream) && + (!check_can_send + || lsquic_send_ctl_can_send(stream->conn_pub->send_ctl)) && + ! lsquic_send_ctl_have_delayed_packets(stream->conn_pub->send_ctl)) + { + lsquic_engine_add_conn_to_tickable(stream->conn_pub->enpub, + stream->conn_pub->lconn); + } +} + + +static int +stream_stalled (const lsquic_stream_t *stream) +{ + return 0 == (stream->sm_qflags & (SMQF_WANT_WRITE|SMQF_WANT_READ)) && + ((STREAM_U_READ_DONE|STREAM_U_WRITE_DONE) & stream->stream_flags) + != (STREAM_U_READ_DONE|STREAM_U_WRITE_DONE); +} + + +static size_t +stream_stream_frame_header_sz (const struct lsquic_stream *stream, + unsigned data_sz) +{ + return stream->conn_pub->lconn->cn_pf->pf_calc_stream_frame_header_sz( + stream->id, stream->tosend_off, data_sz); +} + + +static size_t +stream_crypto_frame_header_sz (const struct lsquic_stream *stream, + unsigned data_sz) +{ + return stream->conn_pub->lconn->cn_pf + ->pf_calc_crypto_frame_header_sz(stream->tosend_off, data_sz); +} + + +/* GQUIC-only function */ +static int +stream_is_hsk (const struct lsquic_stream *stream) +{ + if (stream->sm_bflags & SMBF_IETF) + return 0; + else + return lsquic_stream_is_crypto(stream); +} + + +/* This function's only job is to change the allocated packet's header + * type to HETY_0RTT when stream frames are written before handshake + * is complete. + */ +static struct lsquic_packet_out * +stream_get_packet_for_stream_0rtt (struct lsquic_send_ctl *ctl, + unsigned need_at_least, const struct network_path *path, + const struct lsquic_stream *stream) +{ + struct lsquic_packet_out *packet_out; + + if (stream->conn_pub->lconn->cn_flags & LSCONN_HANDSHAKE_DONE) + { + LSQ_DEBUG("switch to regular \"get packet for stream\" function"); + /* Here we drop the "const" because this is a static function. + * Otherwise, we would not condone such sorcery. + */ + ((struct lsquic_stream *) stream)->sm_get_packet_for_stream + = lsquic_send_ctl_get_packet_for_stream; + return lsquic_send_ctl_get_packet_for_stream(ctl, need_at_least, + path, stream); + } + else + { + packet_out = lsquic_send_ctl_get_packet_for_stream(ctl, need_at_least, + path, stream); + if (packet_out) + packet_out->po_header_type = HETY_0RTT; + return packet_out; + } +} + + +static struct lsquic_stream * +stream_new_common (lsquic_stream_id_t id, struct lsquic_conn_public *conn_pub, + const struct lsquic_stream_if *stream_if, void *stream_if_ctx, + enum stream_ctor_flags ctor_flags) +{ + struct lsquic_stream *stream; + + stream = calloc(1, sizeof(*stream)); + if (!stream) + return NULL; + + if (ctor_flags & SCF_USE_DI_HASH) + stream->data_in = lsquic_data_in_hash_new(conn_pub, id, 0); + else + stream->data_in = lsquic_data_in_nocopy_new(conn_pub, id); + if (!stream->data_in) + { + free(stream); + return NULL; + } + + stream->id = id; + stream->stream_if = stream_if; + stream->conn_pub = conn_pub; + stream->sm_onnew_arg = stream_if_ctx; + stream->sm_write_avail = stream_write_avail_no_frames; + + STAILQ_INIT(&stream->sm_hq_frames); + + stream->sm_bflags |= ctor_flags & ((1 << N_SMBF_FLAGS) - 1); + if (conn_pub->lconn->cn_flags & LSCONN_SERVER) + stream->sm_bflags |= SMBF_SERVER; + stream->sm_get_packet_for_stream = lsquic_send_ctl_get_packet_for_stream; + + return stream; +} + + +lsquic_stream_t * +lsquic_stream_new (lsquic_stream_id_t id, + struct lsquic_conn_public *conn_pub, + const struct lsquic_stream_if *stream_if, void *stream_if_ctx, + unsigned initial_window, uint64_t initial_send_off, + enum stream_ctor_flags ctor_flags) +{ + lsquic_cfcw_t *cfcw; + lsquic_stream_t *stream; + + stream = stream_new_common(id, conn_pub, stream_if, stream_if_ctx, + ctor_flags); + if (!stream) + return NULL; + + if (!initial_window) + initial_window = 16 * 1024; + + if (ctor_flags & SCF_IETF) + { + cfcw = &conn_pub->cfcw; + stream->sm_bflags |= SMBF_CONN_LIMITED; + if (ctor_flags & SCF_HTTP) + { + stream->sm_write_avail = stream_write_avail_with_headers; + stream->sm_readable = stream_readable_http_ietf; + stream->sm_sfi = &hq_stream_filter_if; + } + else + stream->sm_readable = stream_readable_non_http; + if ((ctor_flags & (SCF_HTTP|SCF_HTTP_PRIO)) + == (SCF_HTTP|SCF_HTTP_PRIO)) + lsquic_stream_set_priority_internal(stream, LSQUIC_DEF_HTTP_URGENCY); + else + lsquic_stream_set_priority_internal(stream, + LSQUIC_STREAM_DEFAULT_PRIO); + stream->sm_write_to_packet = stream_write_to_packet_std; + stream->sm_frame_header_sz = stream_stream_frame_header_sz; + } + else + { + if (ctor_flags & SCF_CRITICAL) + cfcw = NULL; + else + { + cfcw = &conn_pub->cfcw; + stream->sm_bflags |= SMBF_CONN_LIMITED; + lsquic_stream_set_priority_internal(stream, + LSQUIC_STREAM_DEFAULT_PRIO); + } + if (stream->sm_bflags & SMBF_USE_HEADERS) + stream->sm_readable = stream_readable_http_gquic; + else + stream->sm_readable = stream_readable_non_http; + if (ctor_flags & SCF_CRYPTO_FRAMES) + { + stream->sm_frame_header_sz = stream_crypto_frame_header_sz; + stream->sm_write_to_packet = stream_write_to_packet_crypto; + } + else + { + if (stream_is_hsk(stream)) + stream->sm_write_to_packet = stream_write_to_packet_hsk; + else + stream->sm_write_to_packet = stream_write_to_packet_std; + stream->sm_frame_header_sz = stream_stream_frame_header_sz; + } + } + + if ((stream->sm_bflags & (SMBF_SERVER|SMBF_IETF)) == SMBF_IETF + && !(conn_pub->lconn->cn_flags & LSCONN_HANDSHAKE_DONE)) + { + LSQ_DEBUG("use wrapper \"get packet for stream\" function"); + stream->sm_get_packet_for_stream = stream_get_packet_for_stream_0rtt; + } + + lsquic_sfcw_init(&stream->fc, initial_window, cfcw, conn_pub, id); + stream->max_send_off = initial_send_off; + LSQ_DEBUG("created stream"); + SM_HISTORY_APPEND(stream, SHE_CREATED); + if (ctor_flags & SCF_CALL_ON_NEW) + lsquic_stream_call_on_new(stream); + return stream; +} + + +struct lsquic_stream * +lsquic_stream_new_crypto (enum enc_level enc_level, + struct lsquic_conn_public *conn_pub, + const struct lsquic_stream_if *stream_if, void *stream_if_ctx, + enum stream_ctor_flags ctor_flags) +{ + struct lsquic_stream *stream; + lsquic_stream_id_t stream_id; + + assert(ctor_flags & SCF_CRITICAL); + + fiu_return_on("stream/new_crypto", NULL); + + stream_id = ~0ULL - enc_level; + stream = stream_new_common(stream_id, conn_pub, stream_if, + stream_if_ctx, ctor_flags); + if (!stream) + return NULL; + + stream->sm_bflags |= SMBF_CRYPTO|SMBF_IETF; + stream->sm_enc_level = enc_level; + /* We allow buffering of up to 16 KB of CRYPTO data (I guess we could + * make this configurable?). The window is opened (without sending + * MAX_STREAM_DATA) as CRYPTO data is consumed. If too much comes in + * at a time, we abort with TEC_CRYPTO_BUFFER_EXCEEDED. + */ + lsquic_sfcw_init(&stream->fc, 16 * 1024, NULL, conn_pub, stream_id); + /* Don't limit ourselves from sending CRYPTO data. We assume that + * the underlying crypto library behaves in a sane manner. + */ + stream->max_send_off = UINT64_MAX; + LSQ_DEBUG("created crypto stream"); + SM_HISTORY_APPEND(stream, SHE_CREATED); + stream->sm_frame_header_sz = stream_crypto_frame_header_sz; + stream->sm_write_to_packet = stream_write_to_packet_crypto; + stream->sm_readable = stream_readable_non_http; + if (ctor_flags & SCF_CALL_ON_NEW) + lsquic_stream_call_on_new(stream); + return stream; +} + + +void +lsquic_stream_call_on_new (lsquic_stream_t *stream) +{ + assert(!(stream->stream_flags & STREAM_ONNEW_DONE)); + if (!(stream->stream_flags & STREAM_ONNEW_DONE)) + { + LSQ_DEBUG("calling on_new_stream"); + SM_HISTORY_APPEND(stream, SHE_ONNEW); + stream->stream_flags |= STREAM_ONNEW_DONE; + stream->st_ctx = stream->stream_if->on_new_stream(stream->sm_onnew_arg, + stream); + } +} + + +static void +decr_conn_cap (struct lsquic_stream *stream, size_t incr) +{ + if (stream->sm_bflags & SMBF_CONN_LIMITED) + { + assert(stream->conn_pub->conn_cap.cc_sent >= incr); + stream->conn_pub->conn_cap.cc_sent -= incr; + LSQ_DEBUG("decrease cc_sent by %zd to %"PRIu64, incr, + stream->conn_pub->conn_cap.cc_sent); + + } +} + + +static void +maybe_resize_stream_buffer (struct lsquic_stream *stream) +{ + assert(0 == stream->sm_n_buffered); + + if (stream->sm_n_allocated < stream->conn_pub->path->np_pack_size) + { + free(stream->sm_buf); + stream->sm_buf = NULL; + stream->sm_n_allocated = 0; + } + else if (stream->sm_n_allocated > stream->conn_pub->path->np_pack_size) + stream->sm_n_allocated = stream->conn_pub->path->np_pack_size; +} + + +static void +drop_buffered_data (struct lsquic_stream *stream) +{ + decr_conn_cap(stream, stream->sm_n_buffered); + stream->sm_n_buffered = 0; + maybe_resize_stream_buffer(stream); + if (stream->sm_qflags & SMQF_WRITE_Q_FLAGS) + maybe_remove_from_write_q(stream, SMQF_WRITE_Q_FLAGS); +} + + +void +lsquic_stream_drop_hset_ref (struct lsquic_stream *stream) +{ + if (stream->uh) + stream->uh->uh_hset = NULL; +} + + +static void +destroy_uh (struct uncompressed_headers *uh, const struct lsquic_hset_if *hsi_if) +{ + if (uh) + { + if (uh->uh_hset) + hsi_if->hsi_discard_header_set(uh->uh_hset); + free(uh); + } +} + + +void +lsquic_stream_destroy (lsquic_stream_t *stream) +{ + struct push_promise *promise; + struct stream_hq_frame *shf; + struct uncompressed_headers *uh; + + stream->stream_flags |= STREAM_U_WRITE_DONE|STREAM_U_READ_DONE; + if ((stream->stream_flags & (STREAM_ONNEW_DONE|STREAM_ONCLOSE_DONE)) == + STREAM_ONNEW_DONE) + { + stream->stream_flags |= STREAM_ONCLOSE_DONE; + SM_HISTORY_APPEND(stream, SHE_ONCLOSE_CALL); + stream->stream_if->on_close(stream, stream->st_ctx); + } + if (stream->sm_qflags & SMQF_SENDING_FLAGS) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, next_send_stream); + if (stream->sm_qflags & SMQF_WANT_READ) + TAILQ_REMOVE(&stream->conn_pub->read_streams, stream, next_read_stream); + if (stream->sm_qflags & SMQF_WRITE_Q_FLAGS) + TAILQ_REMOVE(&stream->conn_pub->write_streams, stream, next_write_stream); + if (stream->sm_qflags & SMQF_SERVICE_FLAGS) + TAILQ_REMOVE(&stream->conn_pub->service_streams, stream, next_service_stream); + if (stream->sm_qflags & SMQF_QPACK_DEC) + lsquic_qdh_cancel_stream(stream->conn_pub->u.ietf.qdh, stream); + else if ((stream->sm_bflags & (SMBF_IETF|SMBF_USE_HEADERS)) + == (SMBF_IETF|SMBF_USE_HEADERS) + && !(stream->stream_flags & STREAM_FIN_REACHED)) + lsquic_qdh_cancel_stream_id(stream->conn_pub->u.ietf.qdh, stream->id); + drop_buffered_data(stream); + lsquic_sfcw_consume_rem(&stream->fc); + drop_frames_in(stream); + if (stream->push_req) + { + if (stream->push_req->uh_hset) + stream->conn_pub->enpub->enp_hsi_if + ->hsi_discard_header_set(stream->push_req->uh_hset); + free(stream->push_req); + } + while ((promise = SLIST_FIRST(&stream->sm_promises))) + { + SLIST_REMOVE_HEAD(&stream->sm_promises, pp_next); + lsquic_pp_put(promise, stream->conn_pub->u.ietf.promises); + } + if (stream->sm_promise) + { + assert(stream->sm_promise->pp_pushed_stream == stream); + stream->sm_promise->pp_pushed_stream = NULL; + lsquic_pp_put(stream->sm_promise, stream->conn_pub->u.ietf.promises); + } + while ((shf = STAILQ_FIRST(&stream->sm_hq_frames))) + stream_hq_frame_put(stream, shf); + while(stream->uh) + { + uh = stream->uh; + stream->uh = uh->uh_next; + destroy_uh(uh, stream->conn_pub->enpub->enp_hsi_if); + } + free(stream->sm_buf); + free(stream->sm_header_block); + LSQ_DEBUG("destroyed stream"); + SM_HISTORY_DUMP_REMAINING(stream); + free(stream); +} + + +static int +stream_is_finished (struct lsquic_stream *stream) +{ + return lsquic_stream_is_closed(stream) + && (stream->sm_bflags & SMBF_DELAY_ONCLOSE ? + /* Need a stricter check when on_close() is delayed: */ + !lsquic_stream_has_unacked_data(stream) : + /* n_unacked checks that no outgoing packets that reference this + * stream are outstanding: + */ + 0 == stream->n_unacked) + && 0 == (stream->sm_qflags & ( + /* This checks that no packets that reference this stream will + * become outstanding: + */ + SMQF_SEND_RST + /* Can't finish stream until all "self" flags are unset: */ + | SMQF_SELF_FLAGS)) + && ((stream->stream_flags & STREAM_FORCE_FINISH) + || (stream->stream_flags & (STREAM_FIN_SENT |STREAM_RST_SENT))); +} + + +/* This is an internal function */ +void +lsquic_stream_force_finish (struct lsquic_stream *stream) +{ + LSQ_DEBUG("stream is now finished"); + SM_HISTORY_APPEND(stream, SHE_FINISHED); + if (0 == (stream->sm_qflags & SMQF_SERVICE_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->service_streams, stream, + next_service_stream); + stream->sm_qflags |= SMQF_FREE_STREAM; + stream->stream_flags |= STREAM_FINISHED; +} + + +static void +maybe_finish_stream (lsquic_stream_t *stream) +{ + if (0 == (stream->stream_flags & STREAM_FINISHED) && + stream_is_finished(stream)) + lsquic_stream_force_finish(stream); +} + + +static void +maybe_schedule_call_on_close (lsquic_stream_t *stream) +{ + if ((stream->stream_flags & (STREAM_U_READ_DONE|STREAM_U_WRITE_DONE| + STREAM_ONNEW_DONE|STREAM_ONCLOSE_DONE)) + == (STREAM_U_READ_DONE|STREAM_U_WRITE_DONE|STREAM_ONNEW_DONE) + && (!(stream->sm_bflags & SMBF_DELAY_ONCLOSE) + || !lsquic_stream_has_unacked_data(stream)) + && !(stream->sm_qflags & SMQF_CALL_ONCLOSE)) + { + if (0 == (stream->sm_qflags & SMQF_SERVICE_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->service_streams, stream, + next_service_stream); + stream->sm_qflags |= SMQF_CALL_ONCLOSE; + LSQ_DEBUG("scheduled calling on_close"); + SM_HISTORY_APPEND(stream, SHE_ONCLOSE_SCHED); + } +} + + +void +lsquic_stream_call_on_close (lsquic_stream_t *stream) +{ + assert(stream->stream_flags & STREAM_ONNEW_DONE); + stream->sm_qflags &= ~SMQF_CALL_ONCLOSE; + if (!(stream->sm_qflags & SMQF_SERVICE_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->service_streams, stream, + next_service_stream); + if (0 == (stream->stream_flags & STREAM_ONCLOSE_DONE)) + { + LSQ_DEBUG("calling on_close"); + stream->stream_flags |= STREAM_ONCLOSE_DONE; + SM_HISTORY_APPEND(stream, SHE_ONCLOSE_CALL); + stream->stream_if->on_close(stream, stream->st_ctx); + if (stream->sm_qflags & SMQF_WANT_WRITE) + maybe_remove_from_write_q(stream, SMQF_WANT_WRITE); + } + else + assert(0); +} + + +static int +stream_has_frame_at_read_offset (struct lsquic_stream *stream) +{ + if (!((stream->stream_flags & STREAM_CACHED_FRAME) + && stream->read_offset == stream->sm_last_frame_off)) + { + stream->sm_has_frame = stream->data_in->di_if->di_get_frame( + stream->data_in, stream->read_offset) != NULL; + stream->sm_last_frame_off = stream->read_offset; + stream->stream_flags |= STREAM_CACHED_FRAME; + } + return stream->sm_has_frame; +} + + +static int +stream_readable_non_http (struct lsquic_stream *stream) +{ + return stream_has_frame_at_read_offset(stream); +} + + +static int +stream_readable_http_gquic (struct lsquic_stream *stream) +{ + return (stream->stream_flags & STREAM_HAVE_UH) + && (stream->uh + || stream_has_frame_at_read_offset(stream)); +} + + +static int +stream_readable_http_ietf (struct lsquic_stream *stream) +{ + return + /* If we have read the header set and the header set has not yet + * been read, the stream is readable. + */ + ((stream->stream_flags & STREAM_HAVE_UH) && stream->uh) + || + /* Alternatively, run the filter and check for payload availability. */ + (stream->sm_sfi->sfi_readable(stream) + && (/* Running the filter may result in hitting FIN: */ + (stream->stream_flags & STREAM_FIN_REACHED) + || stream_has_frame_at_read_offset(stream))); +} + + +static int +maybe_switch_data_in (struct lsquic_stream *stream) +{ + if ((stream->sm_bflags & SMBF_AUTOSWITCH) && + (stream->data_in->di_flags & DI_SWITCH_IMPL)) + { + stream->data_in = stream->data_in->di_if->di_switch_impl( + stream->data_in, stream->read_offset); + if (!stream->data_in) + { + stream->data_in = lsquic_data_in_error_new(); + return -1; + } + } + + return 0; +} + + +/* Drain and discard any incoming data */ +static int +stream_readable_discard (struct lsquic_stream *stream) +{ + struct data_frame *data_frame; + uint64_t toread; + int fin; + + while ((data_frame = stream->data_in->di_if->di_get_frame( + stream->data_in, stream->read_offset))) + { + fin = data_frame->df_fin; + toread = data_frame->df_size - data_frame->df_read_off; + stream->read_offset += toread; + data_frame->df_read_off = data_frame->df_size; + stream->data_in->di_if->di_frame_done(stream->data_in, data_frame); + if (fin) + break; + } + + (void) maybe_switch_data_in(stream); + + return 0; /* Never readable */ +} + + +static int +stream_is_read_reset (const struct lsquic_stream *stream) +{ + if (stream->sm_bflags & SMBF_IETF) + return stream->stream_flags & STREAM_RST_RECVD; + else + return (stream->stream_flags & (STREAM_RST_RECVD|STREAM_RST_SENT)) + || (stream->sm_qflags & SMQF_SEND_RST); +} + + +int +lsquic_stream_readable (struct lsquic_stream *stream) +{ + /* A stream is readable if one of the following is true: */ + return + /* - It is already finished: in that case, lsquic_stream_read() will + * return 0. + */ + (stream->stream_flags & STREAM_FIN_REACHED) + /* - The stream is reset, by either side. In this case, + * lsquic_stream_read() will return -1 (we want the user to be + * able to collect the error). + */ + || stream_is_read_reset(stream) + /* Type-dependent readability check: */ + || stream->sm_readable(stream); + ; +} + + +/* Return true if write end of the stream has been reset. + * Note that the logic for gQUIC is the same for write and read resets. + */ +int +lsquic_stream_is_write_reset (const struct lsquic_stream *stream) +{ + /* The two protocols use different frames to effect write reset: */ + const enum stream_flags cause_flag = stream->sm_bflags & SMBF_IETF + ? STREAM_SS_RECVD : STREAM_RST_RECVD; + return (stream->stream_flags & (cause_flag|STREAM_RST_SENT)) + || (stream->sm_qflags & SMQF_SEND_RST); +} + + +static int +stream_writeable (struct lsquic_stream *stream) +{ + /* A stream is writeable if one of the following is true: */ + return + /* - The stream is reset, by either side. In this case, + * lsquic_stream_write() will return -1 (we want the user to be + * able to collect the error). + */ + lsquic_stream_is_write_reset(stream) + /* - Data can be written to stream: */ + || lsquic_stream_write_avail(stream) + ; +} + + +static size_t +stream_write_avail_no_frames (struct lsquic_stream *stream) +{ + uint64_t stream_avail, conn_avail; + + stream_avail = stream->max_send_off - stream->tosend_off + - stream->sm_n_buffered; + + if (stream->sm_bflags & SMBF_CONN_LIMITED) + { + conn_avail = lsquic_conn_cap_avail(&stream->conn_pub->conn_cap); + if (conn_avail < stream_avail) + stream_avail = conn_avail; + } + + return stream_avail; +} + + +static size_t +stream_write_avail_with_frames (struct lsquic_stream *stream) +{ + uint64_t stream_avail, conn_avail; + const struct stream_hq_frame *shf; + size_t size; + + stream_avail = stream->max_send_off - stream->tosend_off + - stream->sm_n_buffered; + STAILQ_FOREACH(shf, &stream->sm_hq_frames, shf_next) + if (!(shf->shf_flags & SHF_WRITTEN)) + { + size = stream_hq_frame_size(shf); + assert(size <= stream_avail); + stream_avail -= size; + } + + if (stream->sm_bflags & SMBF_CONN_LIMITED) + { + conn_avail = lsquic_conn_cap_avail(&stream->conn_pub->conn_cap); + STAILQ_FOREACH(shf, &stream->sm_hq_frames, shf_next) + if (!(shf->shf_flags & SHF_CC_PAID)) + { + size = stream_hq_frame_size(shf); + if (size < conn_avail) + conn_avail -= size; + else + return 0; + } + if (conn_avail < stream_avail) + stream_avail = conn_avail; + } + + if (stream_avail >= 3 /* Smallest new frame */) + return stream_avail; + else + return 0; +} + + +static int +stream_is_pushing_promise (const struct lsquic_stream *stream) +{ + return (stream->stream_flags & STREAM_PUSHING) + && SLIST_FIRST(&stream->sm_promises) + && (SLIST_FIRST(&stream->sm_promises))->pp_write_state != PPWS_DONE + ; +} + + +/* To prevent deadlocks, ensure that when headers are sent, the bytes + * sent on the encoder stream are written first. + * + * XXX If the encoder is set up in non-risking mode, it is perfectly + * fine to send the header block first. TODO: update the logic to + * reflect this. There should be two sending behaviors: risk and non-risk. + * For now, we assume risk for everything to be on the conservative side. + */ +static size_t +stream_write_avail_with_headers (struct lsquic_stream *stream) +{ + if (stream->stream_flags & STREAM_PUSHING) + return stream_write_avail_with_frames(stream); + + switch (stream->sm_send_headers_state) + { + case SSHS_BEGIN: + return lsquic_qeh_write_avail(stream->conn_pub->u.ietf.qeh); + case SSHS_ENC_SENDING: + if (stream->sm_hb_compl > + lsquic_qeh_enc_off(stream->conn_pub->u.ietf.qeh)) + return 0; + LSQ_DEBUG("encoder stream bytes have all been sent"); + stream->sm_send_headers_state = SSHS_HBLOCK_SENDING; + /* fall-through */ + default: + assert(SSHS_HBLOCK_SENDING == stream->sm_send_headers_state); + return stream_write_avail_with_frames(stream); + } +} + + +size_t +lsquic_stream_write_avail (struct lsquic_stream *stream) +{ + return stream->sm_write_avail(stream); +} + + +int +lsquic_stream_update_sfcw (lsquic_stream_t *stream, uint64_t max_off) +{ + struct lsquic_conn *lconn; + + if (max_off > lsquic_sfcw_get_max_recv_off(&stream->fc) && + !lsquic_sfcw_set_max_recv_off(&stream->fc, max_off)) + { + if (stream->sm_bflags & SMBF_IETF) + { + lconn = stream->conn_pub->lconn; + if (lsquic_stream_is_crypto(stream)) + lconn->cn_if->ci_abort_error(lconn, 0, + TEC_CRYPTO_BUFFER_EXCEEDED, + "crypto buffer exceeded on in crypto level %"PRIu64, + crypto_level(stream)); + else + lconn->cn_if->ci_abort_error(lconn, 0, TEC_FLOW_CONTROL_ERROR, + "flow control violation on stream %"PRIu64, stream->id); + } + return -1; + } + if (lsquic_sfcw_fc_offsets_changed(&stream->fc)) + { + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->sending_streams, stream, + next_send_stream); + stream->sm_qflags |= SMQF_SEND_WUF; + } + return 0; +} + + +int +lsquic_stream_frame_in (lsquic_stream_t *stream, stream_frame_t *frame) +{ + uint64_t max_off; + int got_next_offset, rv, free_frame; + enum ins_frame ins_frame; + struct lsquic_conn *lconn; + + assert(frame->packet_in); + + SM_HISTORY_APPEND(stream, SHE_FRAME_IN); + LSQ_DEBUG("received stream frame, offset %"PRIu64", len %u; " + "fin: %d", frame->data_frame.df_offset, frame->data_frame.df_size, !!frame->data_frame.df_fin); + + rv = -1; + if ((stream->sm_bflags & SMBF_USE_HEADERS) + && (stream->stream_flags & STREAM_HEAD_IN_FIN)) + { + goto release_packet_frame; + } + + if (frame->data_frame.df_fin && (stream->sm_bflags & SMBF_IETF) + && (stream->stream_flags & STREAM_FIN_RECVD) + && stream->sm_fin_off != DF_END(frame)) + { + lconn = stream->conn_pub->lconn; + lconn->cn_if->ci_abort_error(lconn, 0, TEC_FINAL_SIZE_ERROR, + "new final size %"PRIu64" from STREAM frame (id: %"PRIu64") does " + "not match previous final size %"PRIu64, DF_END(frame), + stream->id, stream->sm_fin_off); + goto release_packet_frame; + } + + got_next_offset = frame->data_frame.df_offset == stream->read_offset; + insert_frame: + ins_frame = stream->data_in->di_if->di_insert_frame(stream->data_in, frame, stream->read_offset); + if (INS_FRAME_OK == ins_frame) + { + /* Update maximum offset in the flow controller and check for flow + * control violation: + */ + free_frame = !stream->data_in->di_if->di_own_on_ok; + max_off = frame->data_frame.df_offset + frame->data_frame.df_size; + if (0 != lsquic_stream_update_sfcw(stream, max_off)) + goto end_ok; + if (frame->data_frame.df_fin) + { + SM_HISTORY_APPEND(stream, SHE_FIN_IN); + stream->stream_flags |= STREAM_FIN_RECVD; + stream->sm_qflags &= ~SMQF_WAIT_FIN_OFF; + stream->sm_fin_off = DF_END(frame); + maybe_finish_stream(stream); + } + if (0 != maybe_switch_data_in(stream)) + goto end_ok; + if (got_next_offset) + /* Checking the offset saves di_get_frame() call */ + maybe_conn_to_tickable_if_readable(stream); + rv = 0; + end_ok: + if (free_frame) + lsquic_malo_put(frame); + stream->stream_flags &= ~STREAM_CACHED_FRAME; + return rv; + } + else if (INS_FRAME_DUP == ins_frame) + { + rv = 0; + } + else if (INS_FRAME_OVERLAP == ins_frame) + { + LSQ_DEBUG("overlap: switching DATA IN implementation"); + stream->data_in = stream->data_in->di_if->di_switch_impl( + stream->data_in, stream->read_offset); + if (stream->data_in) + goto insert_frame; + stream->data_in = lsquic_data_in_error_new(); + } + else + { + assert(INS_FRAME_ERR == ins_frame); + } +release_packet_frame: + lsquic_packet_in_put(stream->conn_pub->mm, frame->packet_in); + lsquic_malo_put(frame); + return rv; +} + + +static void +drop_frames_in (lsquic_stream_t *stream) +{ + if (stream->data_in) + { + stream->data_in->di_if->di_destroy(stream->data_in); + /* To avoid checking whether `data_in` is set, just set to the error + * data-in stream. It does the right thing after incoming data is + * dropped. + */ + stream->data_in = lsquic_data_in_error_new(); + stream->stream_flags &= ~STREAM_CACHED_FRAME; + } +} + + +static void +maybe_elide_stream_frames (struct lsquic_stream *stream) +{ + if (!(stream->stream_flags & STREAM_FRAMES_ELIDED)) + { + if (stream->n_unacked) + lsquic_send_ctl_elide_stream_frames(stream->conn_pub->send_ctl, + stream->id); + stream->stream_flags |= STREAM_FRAMES_ELIDED; + } +} + + +int +lsquic_stream_rst_in (lsquic_stream_t *stream, uint64_t offset, + uint64_t error_code) +{ + struct lsquic_conn *lconn; + + if ((stream->sm_bflags & SMBF_IETF) + && (stream->stream_flags & STREAM_FIN_RECVD) + && stream->sm_fin_off != offset) + { + lconn = stream->conn_pub->lconn; + lconn->cn_if->ci_abort_error(lconn, 0, TEC_FINAL_SIZE_ERROR, + "final size %"PRIu64" from RESET_STREAM frame (id: %"PRIu64") " + "does not match previous final size %"PRIu64, offset, + stream->id, stream->sm_fin_off); + return -1; + } + + if (stream->stream_flags & STREAM_RST_RECVD) + { + LSQ_DEBUG("ignore duplicate RST_STREAM frame"); + return 0; + } + + SM_HISTORY_APPEND(stream, SHE_RST_IN); + /* This flag must always be set, even if we are "ignoring" it: it is + * used by elision code. + */ + stream->stream_flags |= STREAM_RST_RECVD; + + if (lsquic_sfcw_get_max_recv_off(&stream->fc) > offset) + { + LSQ_INFO("RST_STREAM invalid: its offset %"PRIu64" is " + "smaller than that of byte following the last byte we have seen: " + "%"PRIu64, offset, + lsquic_sfcw_get_max_recv_off(&stream->fc)); + return -1; + } + + if (!lsquic_sfcw_set_max_recv_off(&stream->fc, offset)) + { + LSQ_INFO("RST_STREAM invalid: its offset %"PRIu64 + " violates flow control", offset); + return -1; + } + + if (stream->stream_if->on_reset + && !(stream->stream_flags & STREAM_ONCLOSE_DONE)) + { + if (stream->sm_bflags & SMBF_IETF) + { + if (!(stream->sm_dflags & SMDF_ONRESET0)) + { + stream->stream_if->on_reset(stream, stream->st_ctx, 0); + stream->sm_dflags |= SMDF_ONRESET0; + } + } + else + { + if ((stream->sm_dflags & (SMDF_ONRESET0|SMDF_ONRESET1)) + != (SMDF_ONRESET0|SMDF_ONRESET1)) + { + stream->stream_if->on_reset(stream, stream->st_ctx, 2); + stream->sm_dflags |= SMDF_ONRESET0|SMDF_ONRESET1; + } + } + } + + /* Let user collect error: */ + maybe_conn_to_tickable_if_readable(stream); + + lsquic_sfcw_consume_rem(&stream->fc); + drop_frames_in(stream); + + if (!(stream->sm_bflags & SMBF_IETF)) + { + drop_buffered_data(stream); + maybe_elide_stream_frames(stream); + } + + if (stream->sm_qflags & SMQF_WAIT_FIN_OFF) + { + stream->sm_qflags &= ~SMQF_WAIT_FIN_OFF; + LSQ_DEBUG("final offset is now known: %"PRIu64, offset); + } + + if (!(stream->stream_flags & + (STREAM_RST_SENT|STREAM_SS_SENT|STREAM_FIN_SENT)) + && !(stream->sm_bflags & SMBF_IETF) + && !(stream->sm_qflags & SMQF_SEND_RST)) + stream_reset(stream, 7 /* QUIC_RST_ACKNOWLEDGEMENT */, 0); + + stream->stream_flags |= STREAM_RST_RECVD; + + maybe_finish_stream(stream); + maybe_schedule_call_on_close(stream); + + return 0; +} + + +void +lsquic_stream_stop_sending_in (struct lsquic_stream *stream, + uint64_t error_code) +{ + if (stream->stream_flags & STREAM_SS_RECVD) + { + LSQ_DEBUG("ignore duplicate STOP_SENDING frame"); + return; + } + + SM_HISTORY_APPEND(stream, SHE_STOP_SENDIG_IN); + stream->stream_flags |= STREAM_SS_RECVD; + + if (stream->stream_if->on_reset && !(stream->sm_dflags & SMDF_ONRESET1) + && !(stream->stream_flags & STREAM_ONCLOSE_DONE)) + { + stream->stream_if->on_reset(stream, stream->st_ctx, 1); + stream->sm_dflags |= SMDF_ONRESET1; + } + + /* Let user collect error: */ + maybe_conn_to_tickable_if_writeable(stream, 0); + + lsquic_sfcw_consume_rem(&stream->fc); + drop_buffered_data(stream); + maybe_elide_stream_frames(stream); + + if (!(stream->stream_flags & (STREAM_RST_SENT|STREAM_FIN_SENT)) + && !(stream->sm_qflags & SMQF_SEND_RST)) + stream_reset(stream, 0, 0); + + if (stream->sm_qflags & (SMQF_SEND_WUF | SMQF_SEND_BLOCKED \ + | SMQF_SEND_STOP_SENDING)) + { + stream->sm_qflags &= ~(SMQF_SEND_WUF | SMQF_SEND_BLOCKED \ + | SMQF_SEND_STOP_SENDING); + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, next_send_stream); + } + + maybe_finish_stream(stream); + maybe_schedule_call_on_close(stream); +} + + +uint64_t +lsquic_stream_fc_recv_off_const (const struct lsquic_stream *stream) +{ + return lsquic_sfcw_get_fc_recv_off(&stream->fc); +} + + +void +lsquic_stream_max_stream_data_sent (struct lsquic_stream *stream) +{ + assert(stream->sm_qflags & SMQF_SEND_MAX_STREAM_DATA); + stream->sm_qflags &= ~SMQF_SEND_MAX_STREAM_DATA; + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, next_send_stream); + stream->sm_last_recv_off = lsquic_sfcw_get_fc_recv_off(&stream->fc); +} + + +uint64_t +lsquic_stream_fc_recv_off (lsquic_stream_t *stream) +{ + assert(stream->sm_qflags & SMQF_SEND_WUF); + stream->sm_qflags &= ~SMQF_SEND_WUF; + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, next_send_stream); + return stream->sm_last_recv_off = lsquic_sfcw_get_fc_recv_off(&stream->fc); +} + + +void +lsquic_stream_peer_blocked (struct lsquic_stream *stream, uint64_t peer_off) +{ + uint64_t last_off; + + if (stream->sm_last_recv_off) + last_off = stream->sm_last_recv_off; + else + /* This gets advertized in transport parameters */ + last_off = lsquic_sfcw_get_max_recv_off(&stream->fc); + + LSQ_DEBUG("Peer blocked at %"PRIu64", while the last MAX_STREAM_DATA " + "frame we sent advertized the limit of %"PRIu64, peer_off, last_off); + + if (peer_off > last_off && !(stream->sm_qflags & SMQF_SEND_WUF)) + { + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->sending_streams, stream, + next_send_stream); + stream->sm_qflags |= SMQF_SEND_WUF; + LSQ_DEBUG("marked to send MAX_STREAM_DATA frame"); + } + else if (stream->sm_qflags & SMQF_SEND_WUF) + LSQ_DEBUG("MAX_STREAM_DATA frame is already scheduled"); + else if (stream->sm_last_recv_off) + LSQ_DEBUG("MAX_STREAM_DATA(%"PRIu64") has already been either " + "packetized or sent", stream->sm_last_recv_off); + else + LSQ_INFO("Peer should have receive transport param limit " + "of %"PRIu64"; odd.", last_off); +} + + +/* GQUIC's BLOCKED frame does not have an offset */ +void +lsquic_stream_peer_blocked_gquic (struct lsquic_stream *stream) +{ + LSQ_DEBUG("Peer blocked: schedule another WINDOW_UPDATE frame"); + if (!(stream->sm_qflags & SMQF_SEND_WUF)) + { + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->sending_streams, stream, + next_send_stream); + stream->sm_qflags |= SMQF_SEND_WUF; + LSQ_DEBUG("marked to send MAX_STREAM_DATA frame"); + } + else + LSQ_DEBUG("WINDOW_UPDATE frame is already scheduled"); +} + + +void +lsquic_stream_blocked_frame_sent (lsquic_stream_t *stream) +{ + assert(stream->sm_qflags & SMQF_SEND_BLOCKED); + SM_HISTORY_APPEND(stream, SHE_BLOCKED_OUT); + stream->sm_qflags &= ~SMQF_SEND_BLOCKED; + stream->stream_flags |= STREAM_BLOCKED_SENT; + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, next_send_stream); +} + + +void +lsquic_stream_rst_frame_sent (lsquic_stream_t *stream) +{ + assert(stream->sm_qflags & SMQF_SEND_RST); + SM_HISTORY_APPEND(stream, SHE_RST_OUT); + stream->sm_qflags &= ~SMQF_SEND_RST; + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, next_send_stream); + + /* [RFC9000 QUIC] Section 19.4. RESET_Frames + * An endpoint uses a RESET_STREAM frame (type=0x04) + * to abruptly terminate the sending part of a stream. + */ + stream->stream_flags |= STREAM_RST_SENT|STREAM_U_WRITE_DONE; + maybe_finish_stream(stream); +} + + +static size_t +read_uh (struct lsquic_stream *stream, + size_t (*readf)(void *, const unsigned char *, size_t, int), void *ctx) +{ + struct uncompressed_headers *uh = stream->uh; + struct http1x_headers *const h1h = uh->uh_hset; + size_t nread; + + nread = readf(ctx, (unsigned char *) h1h->h1h_buf + h1h->h1h_off, + h1h->h1h_size - h1h->h1h_off, + (stream->stream_flags & STREAM_HEAD_IN_FIN) > 0); + h1h->h1h_off += nread; + if (h1h->h1h_off == h1h->h1h_size) + { + stream->uh = uh->uh_next; + LSQ_DEBUG("read all uncompressed headers from uh: %p, next uh: %p", + uh, stream->uh); + destroy_uh(uh, stream->conn_pub->enpub->enp_hsi_if); + if (stream->stream_flags & STREAM_HEAD_IN_FIN) + { + stream->stream_flags |= STREAM_FIN_REACHED; + SM_HISTORY_APPEND(stream, SHE_REACH_FIN); + } + } + return nread; +} + + +static void +verify_cl_on_fin (struct lsquic_stream *stream) +{ + struct lsquic_conn *lconn; + + /* The rules in RFC7230, Section 3.3.2 are a bit too intricate. We take + * a simple approach and verify content-length only when there was any + * payload at all. + */ + if (stream->sm_data_in != 0 && stream->sm_cont_len != stream->sm_data_in) + { + lconn = stream->conn_pub->lconn; + lconn->cn_if->ci_abort_error(lconn, 1, HEC_MESSAGE_ERROR, + "number of bytes in DATA frames of stream %"PRIu64" is %llu, " + "while content-length specified of %llu", stream->id, + stream->sm_data_in, stream->sm_cont_len); + } +} + + +static void +stream_consumed_bytes (struct lsquic_stream *stream) +{ + lsquic_sfcw_set_read_off(&stream->fc, stream->read_offset); + if (lsquic_sfcw_fc_offsets_changed(&stream->fc) + /* We advance crypto streams' offsets (to control amount of + * buffering we allow), but do not send MAX_STREAM_DATA frames. + */ + && !((stream->sm_bflags & (SMBF_IETF|SMBF_CRYPTO)) + == (SMBF_IETF|SMBF_CRYPTO))) + { + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->sending_streams, stream, + next_send_stream); + stream->sm_qflags |= SMQF_SEND_WUF; + maybe_conn_to_tickable_if_writeable(stream, 1); + } +} + + +static ssize_t +read_data_frames (struct lsquic_stream *stream, int do_filtering, + size_t (*readf)(void *, const unsigned char *, size_t, int), void *ctx) +{ + struct data_frame *data_frame; + size_t nread, toread, total_nread; + int short_read, processed_frames; + + processed_frames = 0; + total_nread = 0; + + while ((data_frame = stream->data_in->di_if->di_get_frame( + stream->data_in, stream->read_offset))) + { + + ++processed_frames; + + do + { + if (do_filtering && stream->sm_sfi) + toread = stream->sm_sfi->sfi_filter_df(stream, data_frame); + else + toread = data_frame->df_size - data_frame->df_read_off; + + if (toread || data_frame->df_fin) + { + nread = readf(ctx, data_frame->df_data + data_frame->df_read_off, + toread, data_frame->df_fin); + if (do_filtering && stream->sm_sfi) + stream->sm_sfi->sfi_decr_left(stream, nread); + data_frame->df_read_off += nread; + stream->read_offset += nread; + total_nread += nread; + short_read = nread < toread; + } + else + short_read = 0; + + if (data_frame->df_read_off == data_frame->df_size) + { + const int fin = data_frame->df_fin; + stream->data_in->di_if->di_frame_done(stream->data_in, data_frame); + data_frame = NULL; + if (0 != maybe_switch_data_in(stream)) + return -1; + if (fin) + { + stream->stream_flags |= STREAM_FIN_REACHED; + if (stream->sm_bflags & SMBF_VERIFY_CL) + verify_cl_on_fin(stream); + goto end_while; + } + } + else if (short_read) + goto end_while; + } + while (data_frame); + } + end_while: + + if (processed_frames) + stream_consumed_bytes(stream); + + return total_nread; +} + + +static ssize_t +stream_readf (struct lsquic_stream *stream, + size_t (*readf)(void *, const unsigned char *, size_t, int), void *ctx) +{ + size_t total_nread; + ssize_t nread; + + total_nread = 0; + + if ((stream->sm_bflags & (SMBF_USE_HEADERS|SMBF_IETF)) + == (SMBF_USE_HEADERS|SMBF_IETF) + && !(stream->stream_flags & STREAM_HAVE_UH) + && !stream->uh) + { + if (stream->sm_readable(stream)) + { + if (stream->sm_hq_filter.hqfi_flags & HQFI_FLAG_ERROR) + { + LSQ_INFO("HQ filter hit an error: cannot read from stream"); + errno = EBADMSG; + return -1; + } + + if (!stream->uh) + { + LSQ_DEBUG("cannot read: headers not available"); + errno = EBADMSG; + return -1; + } + } + else + { + errno = EWOULDBLOCK; + return -1; + } + } + + if (stream->uh) + { + if (stream->uh->uh_flags & UH_H1H) + { + total_nread += read_uh(stream, readf, ctx); + if (stream->uh) + return total_nread; + } + else + { + LSQ_INFO("header set not claimed: cannot read from stream"); + return -1; + } + } + else if ((stream->sm_bflags & SMBF_USE_HEADERS) + && !(stream->stream_flags & STREAM_HAVE_UH)) + { + LSQ_DEBUG("cannot read: headers not available"); + errno = EWOULDBLOCK; + return -1; + } + + nread = read_data_frames(stream, 1, readf, ctx); + if (nread < 0) + return nread; + total_nread += (size_t) nread; + + LSQ_DEBUG("%s: read %zd bytes, read offset %"PRIu64", reached fin: %d", + __func__, total_nread, stream->read_offset, + !!(stream->stream_flags & STREAM_FIN_REACHED)); + + if (total_nread) + return total_nread; + else if (stream->stream_flags & STREAM_FIN_REACHED) + return 0; + else + { + errno = EWOULDBLOCK; + return -1; + } +} + + +/* This function returns 0 when EOF is reached. + */ +ssize_t +lsquic_stream_readf (struct lsquic_stream *stream, + size_t (*readf)(void *, const unsigned char *, size_t, int), void *ctx) +{ + ssize_t nread; + + SM_HISTORY_APPEND(stream, SHE_USER_READ); + + if (stream_is_read_reset(stream)) + { + if (stream->stream_flags & STREAM_RST_RECVD) + stream->stream_flags |= STREAM_RST_READ; + errno = ECONNRESET; + return -1; + } + if (stream->stream_flags & STREAM_U_READ_DONE) + { + errno = EBADF; + return -1; + } + if (stream->stream_flags & STREAM_FIN_REACHED) + { + if (stream->sm_bflags & SMBF_USE_HEADERS) + { + if ((stream->stream_flags & STREAM_HAVE_UH) && !stream->uh) + return 0; + } + else + return 0; + } + + nread = stream_readf(stream, readf, ctx); + if (nread >= 0) + maybe_update_last_progress(stream); + + return nread; +} + + +struct readv_ctx +{ + const struct iovec *iov; + const struct iovec *const end; + unsigned char *p; +}; + + +static size_t +readv_f (void *ctx_p, const unsigned char *buf, size_t len, int fin) +{ + struct readv_ctx *const ctx = ctx_p; + const unsigned char *const end = buf + len; + size_t ntocopy; + + while (ctx->iov < ctx->end && buf < end) + { + ntocopy = (unsigned char *) ctx->iov->iov_base + ctx->iov->iov_len + - ctx->p; + if (ntocopy > (size_t) (end - buf)) + ntocopy = end - buf; + memcpy(ctx->p, buf, ntocopy); + ctx->p += ntocopy; + buf += ntocopy; + if (ctx->p == (unsigned char *) ctx->iov->iov_base + ctx->iov->iov_len) + { + do + ++ctx->iov; + while (ctx->iov < ctx->end && ctx->iov->iov_len == 0); + if (ctx->iov < ctx->end) + ctx->p = ctx->iov->iov_base; + else + break; + } + } + + return len - (end - buf); +} + + +ssize_t +lsquic_stream_readv (struct lsquic_stream *stream, const struct iovec *iov, + int iovcnt) +{ + struct readv_ctx ctx = { iov, iov + iovcnt, iov->iov_base, }; + return lsquic_stream_readf(stream, readv_f, &ctx); +} + + +ssize_t +lsquic_stream_read (lsquic_stream_t *stream, void *buf, size_t len) +{ + struct iovec iov = { .iov_base = buf, .iov_len = len, }; + return lsquic_stream_readv(stream, &iov, 1); +} + + +void +lsquic_stream_ss_frame_sent (struct lsquic_stream *stream) +{ + assert(stream->sm_qflags & SMQF_SEND_STOP_SENDING); + SM_HISTORY_APPEND(stream, SHE_STOP_SENDIG_OUT); + stream->sm_qflags &= ~SMQF_SEND_STOP_SENDING; + stream->stream_flags |= STREAM_SS_SENT; + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, next_send_stream); +} + + +static void +handle_early_read_shutdown_ietf (struct lsquic_stream *stream) +{ + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->sending_streams, stream, + next_send_stream); + stream->sm_qflags |= SMQF_SEND_STOP_SENDING|SMQF_WAIT_FIN_OFF; +} + + +static void +handle_early_read_shutdown_gquic (struct lsquic_stream *stream) +{ + if (!(stream->stream_flags & STREAM_RST_SENT)) + { + stream_reset(stream, 7 /* QUIC_STREAM_CANCELLED */, 0); + stream->sm_qflags |= SMQF_WAIT_FIN_OFF; + } +} + + +static void +handle_early_read_shutdown (struct lsquic_stream *stream) +{ + if (stream->sm_bflags & SMBF_IETF) + handle_early_read_shutdown_ietf(stream); + else + handle_early_read_shutdown_gquic(stream); +} + + +static void +stream_shutdown_read (lsquic_stream_t *stream) +{ + if (!(stream->stream_flags & STREAM_U_READ_DONE)) + { + if (!(stream->stream_flags & STREAM_FIN_REACHED)) + { + LSQ_DEBUG("read shut down before reading FIN. (FIN received: %d)", + !!(stream->stream_flags & STREAM_FIN_RECVD)); + SM_HISTORY_APPEND(stream, SHE_EARLY_READ_STOP); + if (!(stream->stream_flags & (STREAM_FIN_RECVD|STREAM_RST_RECVD))) + handle_early_read_shutdown(stream); + } + SM_HISTORY_APPEND(stream, SHE_SHUTDOWN_READ); + stream->stream_flags |= STREAM_U_READ_DONE; + stream->sm_readable = stream_readable_discard; + stream_wantread(stream, 0); + maybe_finish_stream(stream); + } +} + + +static int +stream_is_incoming_unidir (const struct lsquic_stream *stream) +{ + enum stream_id_type sit; + + if (stream->sm_bflags & SMBF_IETF) + { + sit = stream->id & SIT_MASK; + if (stream->sm_bflags & SMBF_SERVER) + return sit == SIT_UNI_CLIENT; + else + return sit == SIT_UNI_SERVER; + } + else + return 0; +} + + +static void +stream_shutdown_write (lsquic_stream_t *stream) +{ + if (stream->stream_flags & STREAM_U_WRITE_DONE) + return; + + SM_HISTORY_APPEND(stream, SHE_SHUTDOWN_WRITE); + stream->stream_flags |= STREAM_U_WRITE_DONE; + stream_wantwrite(stream, 0); + + /* Don't bother to check whether there is anything else to write if + * the flags indicate that nothing else should be written. + */ + if (!(stream->sm_bflags & SMBF_CRYPTO) + && !((stream->stream_flags & (STREAM_FIN_SENT|STREAM_RST_SENT)) + || (stream->sm_qflags & SMQF_SEND_RST)) + && !stream_is_incoming_unidir(stream) + /* In gQUIC, receiving a RESET means "stop sending" */ + && !(!(stream->sm_bflags & SMBF_IETF) + && (stream->stream_flags & STREAM_RST_RECVD))) + { + if ((stream->sm_bflags & SMBF_USE_HEADERS) + && !(stream->stream_flags & STREAM_HEADERS_SENT)) + { + LSQ_DEBUG("headers not sent, send a reset"); + stream_reset(stream, 0, 1); + } + else if (stream->sm_n_buffered == 0) + { + if (0 == lsquic_send_ctl_turn_on_fin(stream->conn_pub->send_ctl, + stream)) + { + LSQ_DEBUG("turned on FIN flag in the yet-unsent STREAM frame"); + stream->stream_flags |= STREAM_FIN_SENT; + if (stream->sm_qflags & SMQF_WANT_FLUSH) + { + LSQ_DEBUG("turned off SMQF_WANT_FLUSH flag as FIN flag is turned on."); + maybe_remove_from_write_q(stream, SMQF_WANT_FLUSH); + } + } + else + { + LSQ_DEBUG("have to create a separate STREAM frame with FIN " + "flag in it"); + (void) stream_flush_nocheck(stream); + } + } + else + (void) stream_flush_nocheck(stream); + } +} + + +static void +maybe_stream_shutdown_write (struct lsquic_stream *stream) +{ + if (stream->sm_send_headers_state == SSHS_BEGIN) + stream_shutdown_write(stream); + else if (0 == (stream->stream_flags & STREAM_DELAYED_SW)) + { + LSQ_DEBUG("shutdown delayed"); + SM_HISTORY_APPEND(stream, SHE_DELAY_SW); + stream->stream_flags |= STREAM_DELAYED_SW; + } +} + + +int +lsquic_stream_shutdown (lsquic_stream_t *stream, int how) +{ + LSQ_DEBUG("shutdown; how: %d", how); + if (lsquic_stream_is_closed(stream)) + { + LSQ_INFO("Attempt to shut down a closed stream"); + errno = EBADF; + return -1; + } + /* 0: read, 1: write: 2: read and write + */ + if (how < 0 || how > 2) + { + errno = EINVAL; + return -1; + } + + if (how) + maybe_stream_shutdown_write(stream); + if (how != 1) + stream_shutdown_read(stream); + + maybe_finish_stream(stream); + maybe_schedule_call_on_close(stream); + if (how && !(stream->stream_flags & STREAM_DELAYED_SW)) + maybe_conn_to_tickable_if_writeable(stream, 1); + + return 0; +} + + +void +lsquic_stream_shutdown_internal (lsquic_stream_t *stream) +{ + LSQ_DEBUG("internal shutdown"); + stream->stream_flags |= STREAM_U_READ_DONE|STREAM_U_WRITE_DONE; + stream_wantwrite(stream, 0); + stream_wantread(stream, 0); + if (lsquic_stream_is_critical(stream)) + { + LSQ_DEBUG("add flag to force-finish special stream"); + stream->stream_flags |= STREAM_FORCE_FINISH; + SM_HISTORY_APPEND(stream, SHE_FORCE_FINISH); + } + maybe_finish_stream(stream); + maybe_schedule_call_on_close(stream); +} + + +static void +fake_reset_unused_stream (lsquic_stream_t *stream) +{ + stream->stream_flags |= + STREAM_RST_RECVD /* User will pick this up on read or write */ + | STREAM_RST_SENT /* Don't send anything else on this stream */ + ; + + /* Cancel all writes to the network scheduled for this stream: */ + if (stream->sm_qflags & SMQF_SENDING_FLAGS) + TAILQ_REMOVE(&stream->conn_pub->sending_streams, stream, + next_send_stream); + stream->sm_qflags &= ~SMQF_SENDING_FLAGS; + drop_buffered_data(stream); + LSQ_DEBUG("fake-reset stream%s", + stream_stalled(stream) ? " (stalled)" : ""); + maybe_finish_stream(stream); + maybe_schedule_call_on_close(stream); +} + + +/* This function should only be called for locally-initiated streams whose ID + * is larger than that received in GOAWAY frame. This may occur when GOAWAY + * frame sent by peer but we have not yet received it and created a stream. + * In this situation, we mark the stream as reset, so that user's on_read or + * on_write event callback picks up the error. That, in turn, should result + * in stream being closed. + * + * If we have received any data frames on this stream, this probably indicates + * a bug in peer code: it should not have sent GOAWAY frame with stream ID + * lower than this. However, we still try to handle it gracefully and peform + * a shutdown, as if the stream was not reset. + */ +void +lsquic_stream_received_goaway (lsquic_stream_t *stream) +{ + SM_HISTORY_APPEND(stream, SHE_GOAWAY_IN); + + if (stream->stream_flags & STREAM_GOAWAY_IN) + { + LSQ_DEBUG("ignore duplicate GOAWAY"); + return; + } + stream->stream_flags |= STREAM_GOAWAY_IN; + + if (0 == stream->read_offset && + stream->data_in->di_if->di_empty(stream->data_in)) + fake_reset_unused_stream(stream); /* Normal condition */ + else + { /* This is odd, let's handle it the best we can: */ + LSQ_WARN("GOAWAY received but have incoming data: shut down instead"); + lsquic_stream_shutdown_internal(stream); + } +} + + +uint64_t +lsquic_stream_read_offset (const lsquic_stream_t *stream) +{ + return stream->read_offset; +} + + +static int +stream_wantread (lsquic_stream_t *stream, int is_want) +{ + const int old_val = !!(stream->sm_qflags & SMQF_WANT_READ); + const int new_val = !!is_want; + if (old_val != new_val) + { + if (new_val) + { + if (!old_val) + TAILQ_INSERT_TAIL(&stream->conn_pub->read_streams, stream, + next_read_stream); + stream->sm_qflags |= SMQF_WANT_READ; + } + else + { + stream->sm_qflags &= ~SMQF_WANT_READ; + if (old_val) + TAILQ_REMOVE(&stream->conn_pub->read_streams, stream, + next_read_stream); + } + } + return old_val; +} + + +static void +maybe_put_onto_write_q (lsquic_stream_t *stream, enum stream_q_flags flag) +{ + assert(SMQF_WRITE_Q_FLAGS & flag); + assert(!(stream->stream_flags & STREAM_ONCLOSE_DONE)); + if (!(stream->sm_qflags & SMQF_WRITE_Q_FLAGS)) + { + LSQ_DEBUG("put on write queue"); + TAILQ_INSERT_TAIL(&stream->conn_pub->write_streams, stream, + next_write_stream); + } + stream->sm_qflags |= flag; +} + + +static void +maybe_remove_from_write_q (lsquic_stream_t *stream, enum stream_q_flags flag) +{ + assert(SMQF_WRITE_Q_FLAGS & flag); + if (stream->sm_qflags & flag) + { + stream->sm_qflags &= ~flag; + if (!(stream->sm_qflags & SMQF_WRITE_Q_FLAGS)) + TAILQ_REMOVE(&stream->conn_pub->write_streams, stream, + next_write_stream); + } +} + + +static int +stream_wantwrite (struct lsquic_stream *stream, int new_val) +{ + const int old_val = !!(stream->sm_qflags & SMQF_WANT_WRITE); + + assert(0 == (new_val & ~1)); /* new_val is either 0 or 1 */ + + if (old_val != new_val) + { + if (new_val) + maybe_put_onto_write_q(stream, SMQF_WANT_WRITE); + else + maybe_remove_from_write_q(stream, SMQF_WANT_WRITE); + } + return old_val; +} + + +int +lsquic_stream_wantread (lsquic_stream_t *stream, int is_want) +{ + SM_HISTORY_APPEND(stream, SHE_WANTREAD_NO + !!is_want); + if (!(stream->stream_flags & STREAM_U_READ_DONE)) + { + if (is_want) + maybe_conn_to_tickable_if_readable(stream); + return stream_wantread(stream, is_want); + } + else + { + errno = EBADF; + return -1; + } +} + + +int +lsquic_stream_wantwrite (lsquic_stream_t *stream, int is_want) +{ + int old_val; + + is_want = !!is_want; + + SM_HISTORY_APPEND(stream, SHE_WANTWRITE_NO + is_want); + if (0 == (stream->stream_flags & STREAM_U_WRITE_DONE) + && SSHS_BEGIN == stream->sm_send_headers_state) + { + stream->sm_saved_want_write = is_want; + if (is_want) + maybe_conn_to_tickable_if_writeable(stream, 1); + return stream_wantwrite(stream, is_want); + } + else if (SSHS_BEGIN != stream->sm_send_headers_state) + { + old_val = stream->sm_saved_want_write; + stream->sm_saved_want_write = is_want; + return old_val; + } + else + { + errno = EBADF; + return -1; + } +} + + +struct progress +{ + enum stream_flags s_flags; + enum stream_q_flags q_flags; +}; + + +static struct progress +stream_progress (const struct lsquic_stream *stream) +{ + return (struct progress) { + .s_flags = stream->stream_flags + & (STREAM_U_WRITE_DONE|STREAM_U_READ_DONE), + .q_flags = stream->sm_qflags + & (SMQF_WANT_READ|SMQF_WANT_WRITE|SMQF_WANT_FLUSH|SMQF_SEND_RST), + }; +} + + +static int +progress_eq (struct progress a, struct progress b) +{ + return a.s_flags == b.s_flags && a.q_flags == b.q_flags; +} + + +static void +stream_dispatch_read_events_loop (lsquic_stream_t *stream) +{ + unsigned no_progress_count, no_progress_limit; + struct progress progress; + uint64_t size; + + no_progress_limit = stream->conn_pub->enpub->enp_settings.es_progress_check; + + no_progress_count = 0; + while ((stream->sm_qflags & SMQF_WANT_READ) + && lsquic_stream_readable(stream)) + { + progress = stream_progress(stream); + size = stream->read_offset; + + stream->stream_if->on_read(stream, stream->st_ctx); + + if (no_progress_limit && size == stream->read_offset && + progress_eq(progress, stream_progress(stream))) + { + ++no_progress_count; + if (no_progress_count >= no_progress_limit) + { + LSQ_WARN("broke suspected infinite loop (%u callback%s without " + "progress) in user code reading from stream", + no_progress_count, + no_progress_count == 1 ? "" : "s"); + break; + } + } + else + no_progress_count = 0; + } +} + + +static void +stream_hblock_sent (struct lsquic_stream *stream) +{ + int want_write; + + LSQ_DEBUG("header block has been sent: restore default behavior"); + stream->sm_send_headers_state = SSHS_BEGIN; + stream->sm_write_avail = stream_write_avail_with_frames; + + want_write = !!(stream->sm_qflags & SMQF_WANT_WRITE); + if (want_write != stream->sm_saved_want_write) + (void) lsquic_stream_wantwrite(stream, stream->sm_saved_want_write); + + if (stream->stream_flags & STREAM_DELAYED_SW) + { + LSQ_DEBUG("performing delayed shutdown write"); + stream->stream_flags &= ~STREAM_DELAYED_SW; + stream_shutdown_write(stream); + maybe_schedule_call_on_close(stream); + maybe_finish_stream(stream); + maybe_conn_to_tickable_if_writeable(stream, 1); + } +} + + +static void +on_write_header_wrapper (struct lsquic_stream *stream, lsquic_stream_ctx_t *h) +{ + ssize_t nw; + + nw = stream_write_buf(stream, + stream->sm_header_block + stream->sm_hblock_off, + stream->sm_hblock_sz - stream->sm_hblock_off); + if (nw > 0) + { + stream->sm_hblock_off += nw; + if (stream->sm_hblock_off == stream->sm_hblock_sz) + { + stream->stream_flags |= STREAM_HEADERS_SENT; + free(stream->sm_header_block); + stream->sm_header_block = NULL; + stream->sm_hblock_sz = 0; + stream_hblock_sent(stream); + LSQ_DEBUG("header block written out successfully"); + /* TODO: if there was eos, do something else */ + if (stream->sm_qflags & SMQF_WANT_WRITE) + stream->stream_if->on_write(stream, h); + } + else + { + LSQ_DEBUG("wrote %zd bytes more of header block; not done yet", + nw); + } + } + else if (nw < 0) + { + /* XXX What should happen if we hit an error? TODO */ + } +} + + +static void +(*select_on_write (struct lsquic_stream *stream))(struct lsquic_stream *, + lsquic_stream_ctx_t *) +{ + if (0 == (stream->stream_flags & STREAM_PUSHING) + && SSHS_HBLOCK_SENDING != stream->sm_send_headers_state) + /* Common case */ + return stream->stream_if->on_write; + else if (SSHS_HBLOCK_SENDING == stream->sm_send_headers_state) + return on_write_header_wrapper; + else + { + assert(stream->stream_flags & STREAM_PUSHING); + if (stream_is_pushing_promise(stream)) + return on_write_pp_wrapper; + else + return stream->stream_if->on_write; + } +} + + +static void +stream_dispatch_write_events_loop (lsquic_stream_t *stream) +{ + unsigned no_progress_count, no_progress_limit; + void (*on_write) (struct lsquic_stream *, lsquic_stream_ctx_t *); + struct progress progress; + + no_progress_limit = stream->conn_pub->enpub->enp_settings.es_progress_check; + + no_progress_count = 0; + stream->stream_flags |= STREAM_LAST_WRITE_OK; + while ((stream->sm_qflags & SMQF_WANT_WRITE) + && (stream->stream_flags & STREAM_LAST_WRITE_OK) + && !(stream->stream_flags & STREAM_ONCLOSE_DONE) + && stream_writeable(stream)) + { + progress = stream_progress(stream); + + on_write = select_on_write(stream); + on_write(stream, stream->st_ctx); + + if (no_progress_limit && progress_eq(progress, stream_progress(stream))) + { + ++no_progress_count; + if (no_progress_count >= no_progress_limit) + { + LSQ_WARN("broke suspected infinite loop (%u callback%s without " + "progress) in user code writing to stream", + no_progress_count, + no_progress_count == 1 ? "" : "s"); + break; + } + } + else + no_progress_count = 0; + } +} + + +static void +stream_dispatch_read_events_once (lsquic_stream_t *stream) +{ + if ((stream->sm_qflags & SMQF_WANT_READ) && lsquic_stream_readable(stream)) + { + stream->stream_if->on_read(stream, stream->st_ctx); + } +} + + +uint64_t +lsquic_stream_combined_send_off (const struct lsquic_stream *stream) +{ + size_t frames_sizes; + + frames_sizes = active_hq_frame_sizes(stream); + return stream->tosend_off + stream->sm_n_buffered + frames_sizes; +} + + +static void +maybe_mark_as_blocked (lsquic_stream_t *stream) +{ + struct lsquic_conn_cap *cc; + uint64_t used; + + used = lsquic_stream_combined_send_off(stream); + if (stream->max_send_off == used) + { + if (stream->blocked_off < stream->max_send_off) + { + stream->blocked_off = used; + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->sending_streams, stream, + next_send_stream); + stream->sm_qflags |= SMQF_SEND_BLOCKED; + LSQ_DEBUG("marked stream-blocked at stream offset " + "%"PRIu64, stream->blocked_off); + } + else + LSQ_DEBUG("stream is blocked, but BLOCKED frame for offset %"PRIu64 + " has been, or is about to be, sent", stream->blocked_off); + } + + if ((stream->sm_bflags & SMBF_CONN_LIMITED) + && (cc = &stream->conn_pub->conn_cap, + stream->sm_n_buffered == lsquic_conn_cap_avail(cc))) + { + if (cc->cc_blocked < cc->cc_max) + { + cc->cc_blocked = cc->cc_max; + stream->conn_pub->lconn->cn_flags |= LSCONN_SEND_BLOCKED; + LSQ_DEBUG("marked connection-blocked at connection offset " + "%"PRIu64, cc->cc_max); + } + else + LSQ_DEBUG("stream has already been marked connection-blocked " + "at offset %"PRIu64, cc->cc_blocked); + } +} + + +void +lsquic_stream_dispatch_read_events (lsquic_stream_t *stream) +{ + if (stream->sm_qflags & SMQF_WANT_READ) + { + if (stream->sm_bflags & SMBF_RW_ONCE) + stream_dispatch_read_events_once(stream); + else + stream_dispatch_read_events_loop(stream); + } +} + + +void +lsquic_stream_dispatch_write_events (lsquic_stream_t *stream) +{ + void (*on_write) (struct lsquic_stream *, lsquic_stream_ctx_t *); + int progress; + uint64_t tosend_off; + unsigned short n_buffered; + enum stream_q_flags q_flags; + + LSQ_DEBUG("dispatch_write_events, sm_qflags: %d. stream_flags: %d, sm_bflags: %d, " + "max_send_off: %" PRIu64 ", tosend_off: %" PRIu64 ", sm_n_buffered: %u", + stream->sm_qflags, stream->stream_flags, stream->sm_bflags, + stream->max_send_off, stream->tosend_off, stream->sm_n_buffered); + + if (!(stream->sm_qflags & SMQF_WRITE_Q_FLAGS) + || (stream->stream_flags & STREAM_FINISHED)) + return; + + q_flags = stream->sm_qflags & SMQF_WRITE_Q_FLAGS; + tosend_off = stream->tosend_off; + n_buffered = stream->sm_n_buffered; + + if (stream->sm_qflags & SMQF_WANT_FLUSH) + (void) stream_flush(stream); + + if (stream->sm_bflags & SMBF_RW_ONCE) + { + if ((stream->sm_qflags & SMQF_WANT_WRITE) + && !(stream->stream_flags & STREAM_ONCLOSE_DONE) + && stream_writeable(stream)) + { + on_write = select_on_write(stream); + on_write(stream, stream->st_ctx); + } + } + else + stream_dispatch_write_events_loop(stream); + + if ((stream->sm_qflags & SMQF_SEND_BLOCKED) && + (stream->sm_bflags & SMBF_IETF)) + { + lsquic_sendctl_gen_stream_blocked_frame(stream->conn_pub->send_ctl, stream); + } + + /* Progress means either flags or offsets changed: */ + progress = !((stream->sm_qflags & SMQF_WRITE_Q_FLAGS) == q_flags && + stream->tosend_off == tosend_off && + stream->sm_n_buffered == n_buffered); + + if (stream->sm_qflags & SMQF_WRITE_Q_FLAGS) + { + if (progress) + { /* Move the stream to the end of the list to ensure fairness. */ + TAILQ_REMOVE(&stream->conn_pub->write_streams, stream, + next_write_stream); + TAILQ_INSERT_TAIL(&stream->conn_pub->write_streams, stream, + next_write_stream); + } + } +} + + +static size_t +inner_reader_empty_size (void *ctx) +{ + return 0; +} + + +static size_t +inner_reader_empty_read (void *ctx, void *buf, size_t count) +{ + return 0; +} + + +static int +stream_flush (lsquic_stream_t *stream) +{ + struct lsquic_reader empty_reader; + ssize_t nw; + + assert(stream->sm_qflags & SMQF_WANT_FLUSH); + assert(stream->sm_n_buffered > 0 || + /* Flushing is also used to packetize standalone FIN: */ + ((stream->stream_flags & (STREAM_U_WRITE_DONE|STREAM_FIN_SENT)) + == STREAM_U_WRITE_DONE)); + + empty_reader.lsqr_size = inner_reader_empty_size; + empty_reader.lsqr_read = inner_reader_empty_read; + empty_reader.lsqr_ctx = NULL; /* pro forma */ + nw = stream_write_to_packets(stream, &empty_reader, 0, SWO_BUFFER); + + if (nw >= 0) + { + assert(nw == 0); /* Empty reader: must have read zero bytes */ + return 0; + } + else + return -1; +} + + +static int +stream_flush_nocheck (lsquic_stream_t *stream) +{ + size_t frames; + + frames = active_hq_frame_sizes(stream); + stream->sm_flush_to = stream->tosend_off + stream->sm_n_buffered + frames; + stream->sm_flush_to_payload = stream->sm_payload + stream->sm_n_buffered; + maybe_put_onto_write_q(stream, SMQF_WANT_FLUSH); + LSQ_DEBUG("will flush up to offset %"PRIu64, stream->sm_flush_to); + + return stream_flush(stream); +} + + +int +lsquic_stream_flush (lsquic_stream_t *stream) +{ + if (stream->stream_flags & STREAM_U_WRITE_DONE) + { + LSQ_DEBUG("cannot flush closed stream"); + errno = EBADF; + return -1; + } + + if (0 == stream->sm_n_buffered) + { + LSQ_DEBUG("flushing 0 bytes: noop"); + return 0; + } + + return stream_flush_nocheck(stream); +} + + +static size_t +stream_get_n_allowed (const struct lsquic_stream *stream) +{ + if (stream->sm_n_allocated) + return stream->sm_n_allocated; + else + return stream->conn_pub->path->np_pack_size; +} + + +/* The flush threshold is the maximum size of stream data that can be sent + * in a full packet. + */ +#ifdef NDEBUG +static +#endif + size_t +lsquic_stream_flush_threshold (const struct lsquic_stream *stream, + unsigned data_sz) +{ + enum packet_out_flags flags; + enum packno_bits bits; + size_t packet_header_sz, stream_header_sz, tag_len; + size_t threshold; + + bits = lsquic_send_ctl_packno_bits(stream->conn_pub->send_ctl, PNS_APP); + flags = bits << POBIT_SHIFT; + if (!(stream->conn_pub->lconn->cn_flags & LSCONN_TCID0)) + flags |= PO_CONN_ID; + if (stream_is_hsk(stream)) + flags |= PO_LONGHEAD; + + packet_header_sz = lsquic_po_header_length(stream->conn_pub->lconn, flags, + stream->conn_pub->path->np_dcid.len, HETY_SHORT); + stream_header_sz = stream->sm_frame_header_sz(stream, data_sz); + tag_len = stream->conn_pub->lconn->cn_esf_c->esf_tag_len; + + threshold = stream_get_n_allowed(stream) - tag_len + - packet_header_sz - stream_header_sz; + return threshold; +} + + +#define COMMON_WRITE_CHECKS() do { \ + if ((stream->sm_bflags & SMBF_USE_HEADERS) \ + && !(stream->stream_flags & STREAM_HEADERS_SENT)) \ + { \ + if (SSHS_BEGIN != stream->sm_send_headers_state) \ + { \ + LSQ_DEBUG("still sending headers: no writing allowed"); \ + return 0; \ + } \ + else \ + { \ + LSQ_INFO("Attempt to write to stream before sending HTTP " \ + "headers"); \ + errno = EILSEQ; \ + return -1; \ + } \ + } \ + if (lsquic_stream_is_write_reset(stream)) \ + { \ + LSQ_INFO("Attempt to write to stream after it had been reset"); \ + errno = ECONNRESET; \ + return -1; \ + } \ + if (stream->stream_flags & (STREAM_U_WRITE_DONE|STREAM_FIN_SENT)) \ + { \ + LSQ_INFO("Attempt to write to stream after it was closed for " \ + "writing"); \ + errno = EBADF; \ + return -1; \ + } \ +} while (0) + + +struct frame_gen_ctx +{ + lsquic_stream_t *fgc_stream; + struct lsquic_reader *fgc_reader; + /* We keep our own count of how many bytes were read from reader because + * some readers are external. The external caller does not have to rely + * on our count, but it can. + */ + size_t fgc_nread_from_reader; + size_t (*fgc_size) (void *ctx); + int (*fgc_fin) (void *ctx); + gsf_read_f fgc_read; + size_t fgc_thresh; +}; + + +static size_t +frame_std_gen_size (void *ctx) +{ + struct frame_gen_ctx *fg_ctx = ctx; + size_t available, remaining; + + /* Make sure we are not writing past available size: */ + remaining = fg_ctx->fgc_reader->lsqr_size(fg_ctx->fgc_reader->lsqr_ctx); + available = lsquic_stream_write_avail(fg_ctx->fgc_stream); + if (available < remaining) + remaining = available; + + return remaining + fg_ctx->fgc_stream->sm_n_buffered; +} + + +static size_t +stream_hq_frame_size (const struct stream_hq_frame *shf) +{ + if (0 == (shf->shf_flags & (SHF_FIXED_SIZE|SHF_PHANTOM))) + return 1 + 1 + ((shf->shf_flags & SHF_TWO_BYTES) > 0); + else if ((shf->shf_flags & (SHF_FIXED_SIZE|SHF_PHANTOM)) == SHF_FIXED_SIZE) + return 1 + (1 << vint_val2bits(shf->shf_frame_size)); + else + { + assert((shf->shf_flags & (SHF_FIXED_SIZE|SHF_PHANTOM)) + == (SHF_FIXED_SIZE|SHF_PHANTOM)); + return 0; + } +} + + +static size_t +active_hq_frame_sizes (const struct lsquic_stream *stream) +{ + const struct stream_hq_frame *shf; + size_t size; + + size = 0; + if ((stream->sm_bflags & (SMBF_IETF|SMBF_USE_HEADERS)) + == (SMBF_IETF|SMBF_USE_HEADERS)) + STAILQ_FOREACH(shf, &stream->sm_hq_frames, shf_next) + if (!(shf->shf_flags & SHF_WRITTEN)) + size += stream_hq_frame_size(shf); + + return size; +} + + +static uint64_t +stream_hq_frame_end (const struct stream_hq_frame *shf) +{ + if (shf->shf_flags & SHF_FIXED_SIZE) + return shf->shf_off + shf->shf_frame_size; + else if (shf->shf_flags & SHF_TWO_BYTES) + return shf->shf_off + ((1 << 14) - 1); + else + return shf->shf_off + ((1 << 6) - 1); +} + + +static int +frame_in_stream (const struct lsquic_stream *stream, + const struct stream_hq_frame *shf) +{ + return shf >= stream->sm_hq_frame_arr + && shf < stream->sm_hq_frame_arr + sizeof(stream->sm_hq_frame_arr) + / sizeof(stream->sm_hq_frame_arr[0]) + ; +} + + +static void +stream_hq_frame_put (struct lsquic_stream *stream, + struct stream_hq_frame *shf) +{ + /* In vast majority of cases, the frame to put is at the head: */ + STAILQ_REMOVE(&stream->sm_hq_frames, shf, stream_hq_frame, shf_next); + if (frame_in_stream(stream, shf)) + memset(shf, 0, sizeof(*shf)); + else + lsquic_malo_put(shf); +} + + +static void +stream_hq_frame_close (struct lsquic_stream *stream, + struct stream_hq_frame *shf) +{ + unsigned bits; + + LSQ_DEBUG("close HQ frame of type 0x%X at payload offset %"PRIu64 + " (actual offset %"PRIu64")", shf->shf_frame_type, + stream->sm_payload, stream->tosend_off); + assert(shf->shf_flags & SHF_ACTIVE); + if (!(shf->shf_flags & SHF_FIXED_SIZE)) + { + shf->shf_frame_ptr[0] = shf->shf_frame_type; + bits = (shf->shf_flags & SHF_TWO_BYTES) > 0; + vint_write(shf->shf_frame_ptr + 1, stream->sm_payload - shf->shf_off, + bits, 1 << bits); + } + stream_hq_frame_put(stream, shf); +} + + +static size_t +frame_hq_gen_size (void *ctx) +{ + struct frame_gen_ctx *fg_ctx = ctx; + struct lsquic_stream *const stream = fg_ctx->fgc_stream; + size_t available, remaining, frames; + const struct stream_hq_frame *shf; + + frames = 0; + STAILQ_FOREACH(shf, &stream->sm_hq_frames, shf_next) + if (shf->shf_off >= stream->sm_payload) + frames += stream_hq_frame_size(shf); + + /* Make sure we are not writing past available size: */ + remaining = fg_ctx->fgc_reader->lsqr_size(fg_ctx->fgc_reader->lsqr_ctx); + available = lsquic_stream_write_avail(stream); + if (available < remaining) + remaining = available; + + return remaining + stream->sm_n_buffered + frames; +} + + +static int +frame_std_gen_fin (void *ctx) +{ + struct frame_gen_ctx *fg_ctx = ctx; + return !(fg_ctx->fgc_stream->sm_bflags & SMBF_CRYPTO) + && (fg_ctx->fgc_stream->stream_flags & STREAM_U_WRITE_DONE) + && 0 == fg_ctx->fgc_stream->sm_n_buffered + /* Do not use frame_std_gen_size() as it may chop the real size: */ + && 0 == fg_ctx->fgc_reader->lsqr_size(fg_ctx->fgc_reader->lsqr_ctx); +} + + +static void +incr_conn_cap (struct lsquic_stream *stream, size_t incr) +{ + if (stream->sm_bflags & SMBF_CONN_LIMITED) + { + stream->conn_pub->conn_cap.cc_sent += incr; + assert(stream->conn_pub->conn_cap.cc_sent + <= stream->conn_pub->conn_cap.cc_max); + LSQ_DEBUG("increase cc_sent by %zd to %"PRIu64, incr, + stream->conn_pub->conn_cap.cc_sent); + } +} + + +static void +incr_sm_payload (struct lsquic_stream *stream, size_t incr) +{ + stream->sm_payload += incr; + stream->tosend_off += incr; + assert(stream->tosend_off <= stream->max_send_off); +} + + +static void +maybe_resize_threshold (struct frame_gen_ctx *fg_ctx) +{ + struct lsquic_stream *stream = fg_ctx->fgc_stream; + size_t old; + + if (fg_ctx->fgc_thresh) + { + old = fg_ctx->fgc_thresh; + fg_ctx->fgc_thresh + = lsquic_stream_flush_threshold(stream, fg_ctx->fgc_size(fg_ctx)); + LSQ_DEBUG("changed threshold from %zd to %zd", old, fg_ctx->fgc_thresh); + } +} + + +static size_t +frame_std_gen_read (void *ctx, void *begin_buf, size_t len, int *fin) +{ + struct frame_gen_ctx *fg_ctx = ctx; + unsigned char *p = begin_buf; + unsigned char *const end = p + len; + lsquic_stream_t *const stream = fg_ctx->fgc_stream; + size_t n_written, available, n_to_write; + + if (stream->sm_n_buffered > 0) + { + if (len <= stream->sm_n_buffered) + { + memcpy(p, stream->sm_buf, len); + memmove(stream->sm_buf, stream->sm_buf + len, + stream->sm_n_buffered - len); + stream->sm_n_buffered -= len; + if (0 == stream->sm_n_buffered) + { + maybe_resize_stream_buffer(stream); + maybe_resize_threshold(fg_ctx); + } + assert(stream->max_send_off >= stream->tosend_off + stream->sm_n_buffered); + incr_sm_payload(stream, len); + *fin = fg_ctx->fgc_fin(fg_ctx); + return len; + } + memcpy(p, stream->sm_buf, stream->sm_n_buffered); + p += stream->sm_n_buffered; + stream->sm_n_buffered = 0; + maybe_resize_stream_buffer(stream); + maybe_resize_threshold(fg_ctx); + } + + available = lsquic_stream_write_avail(fg_ctx->fgc_stream); + n_to_write = end - p; + if (n_to_write > available) + n_to_write = available; + n_written = fg_ctx->fgc_reader->lsqr_read(fg_ctx->fgc_reader->lsqr_ctx, p, + n_to_write); + p += n_written; + fg_ctx->fgc_nread_from_reader += n_written; + *fin = fg_ctx->fgc_fin(fg_ctx); + incr_sm_payload(stream, p - (const unsigned char *) begin_buf); + incr_conn_cap(stream, n_written); + return p - (const unsigned char *) begin_buf; +} + + +static struct stream_hq_frame * +find_hq_frame (const struct lsquic_stream *stream, uint64_t off) +{ + struct stream_hq_frame *shf; + + STAILQ_FOREACH(shf, &stream->sm_hq_frames, shf_next) + if (shf->shf_off <= off && stream_hq_frame_end(shf) > off) + return shf; + + return NULL; +} + + +static struct stream_hq_frame * +find_cur_hq_frame (const struct lsquic_stream *stream) +{ + return find_hq_frame(stream, stream->sm_payload); +} + + +static struct stream_hq_frame * +open_hq_frame (struct lsquic_stream *stream) +{ + struct stream_hq_frame *shf; + + for (shf = stream->sm_hq_frame_arr; shf < stream->sm_hq_frame_arr + + sizeof(stream->sm_hq_frame_arr) + / sizeof(stream->sm_hq_frame_arr[0]); ++shf) + if (!(shf->shf_flags & SHF_ACTIVE)) + goto found; + + shf = lsquic_malo_get(stream->conn_pub->mm->malo.stream_hq_frame); + if (!shf) + { + LSQ_WARN("cannot allocate HQ frame"); + return NULL; + } + memset(shf, 0, sizeof(*shf)); + + found: + STAILQ_INSERT_TAIL(&stream->sm_hq_frames, shf, shf_next); + shf->shf_flags = SHF_ACTIVE; + return shf; +} + + +static struct stream_hq_frame * +stream_activate_hq_frame (struct lsquic_stream *stream, uint64_t off, + enum hq_frame_type frame_type, enum shf_flags flags, size_t size) +{ + struct stream_hq_frame *shf; + + shf = open_hq_frame(stream); + if (!shf) + { + LSQ_WARN("could not open HQ frame"); + return NULL; + } + + shf->shf_off = off; + shf->shf_flags |= flags; + shf->shf_frame_type = frame_type; + if (shf->shf_flags & SHF_FIXED_SIZE) + { + shf->shf_frame_size = size; + LSQ_DEBUG("activated fixed-size HQ frame of type 0x%X at offset " + "%"PRIu64", size %zu", shf->shf_frame_type, shf->shf_off, size); + } + else + { + shf->shf_frame_ptr = NULL; + if (size >= (1 << 6)) + shf->shf_flags |= SHF_TWO_BYTES; + LSQ_DEBUG("activated variable-size HQ frame of type 0x%X at offset " + "%"PRIu64, shf->shf_frame_type, shf->shf_off); + } + + return shf; +} + + +struct hq_arr +{ + unsigned char **p; + unsigned count; + unsigned max; +}; + + +static int +save_hq_ptr (struct hq_arr *hq_arr, void *p) +{ + if (hq_arr->count < hq_arr->max) + { + hq_arr->p[hq_arr->count++] = p; + return 0; + } + else + return -1; +} + + +static size_t +frame_hq_gen_read (void *ctx, void *begin_buf, size_t len, int *fin) +{ + struct frame_gen_ctx *fg_ctx = ctx; + unsigned char *p = begin_buf; + unsigned char *const end = p + len; + struct lsquic_stream *const stream = fg_ctx->fgc_stream; + struct stream_hq_frame *shf; + size_t nw, frame_sz, avail, rem; + unsigned bits; + int new; + + while (p < end) + { + shf = find_cur_hq_frame(stream); + if (shf) + { + new = 0; + LSQ_DEBUG("found current HQ frame of type 0x%X at offset %"PRIu64, + shf->shf_frame_type, shf->shf_off); + } + else + { + rem = frame_std_gen_size(ctx); + if (rem) + { + if (rem > ((1 << 14) - 1)) + rem = (1 << 14) - 1; + shf = stream_activate_hq_frame(stream, + stream->sm_payload, HQFT_DATA, 0, rem); + if (shf) + { + new = 1; + goto insert; + } + else + { + stream->conn_pub->lconn->cn_if->ci_internal_error( + stream->conn_pub->lconn, "cannot activate HQ frame"); + break; + } + } + else + break; + } + if (shf->shf_off == stream->sm_payload + && !(shf->shf_flags & SHF_WRITTEN)) + { + insert: + frame_sz = stream_hq_frame_size(shf); + if (frame_sz > (uintptr_t) (end - p)) + { + if (new) + stream_hq_frame_put(stream, shf); + break; + } + LSQ_DEBUG("insert %zu-byte HQ frame of type 0x%X at payload " + "offset %"PRIu64" (actual offset %"PRIu64")", frame_sz, + shf->shf_frame_type, stream->sm_payload, stream->tosend_off); + if (0 == (shf->shf_flags & (SHF_FIXED_SIZE|SHF_PHANTOM))) + { + shf->shf_frame_ptr = p; + if (stream->sm_hq_arr && 0 != save_hq_ptr(stream->sm_hq_arr, p)) + { + stream_hq_frame_put(stream, shf); + break; + } + memset(p, 0, frame_sz); + p += frame_sz; + } + else if ((shf->shf_flags & (SHF_FIXED_SIZE|SHF_PHANTOM)) + == SHF_FIXED_SIZE) + { + *p++ = shf->shf_frame_type; + bits = vint_val2bits(shf->shf_frame_size); + vint_write(p, shf->shf_frame_size, bits, 1 << bits); + p += 1 << bits; + } + else + assert((shf->shf_flags & (SHF_FIXED_SIZE|SHF_PHANTOM)) + == (SHF_FIXED_SIZE|SHF_PHANTOM)); + if (!(shf->shf_flags & SHF_CC_PAID)) + { + incr_conn_cap(stream, frame_sz); + shf->shf_flags |= SHF_CC_PAID; + } + shf->shf_flags |= SHF_WRITTEN; + stream->tosend_off += frame_sz; + assert(stream->tosend_off <= stream->max_send_off); + } + else + { + avail = stream->sm_n_buffered + stream->sm_write_avail(stream); + len = stream_hq_frame_end(shf) - stream->sm_payload; + assert(len); + if (len > (unsigned) (end - p)) + len = end - p; + if (len > avail) + len = avail; + if (!len) + break; + nw = frame_std_gen_read(ctx, p, len, fin); + p += nw; + if (nw < len) + break; + if (stream_hq_frame_end(shf) == stream->sm_payload) + stream_hq_frame_close(stream, shf); + } + } + + return p - (unsigned char *) begin_buf; +} + + +static void +check_flush_threshold (lsquic_stream_t *stream) +{ + if ((stream->sm_qflags & SMQF_WANT_FLUSH) && + stream->tosend_off >= stream->sm_flush_to) + { + LSQ_DEBUG("flushed to or past required offset %"PRIu64, + stream->sm_flush_to); + maybe_remove_from_write_q(stream, SMQF_WANT_FLUSH); + } +} + + +#if LSQUIC_EXTRA_CHECKS +static void +verify_conn_cap (const struct lsquic_conn_public *conn_pub) +{ + const struct lsquic_stream *stream; + struct lsquic_hash_elem *el; + unsigned n_buffered; + + if (conn_pub->wtp_level > 1) + return; + + if (!conn_pub->all_streams) + /* TODO: enable this check for unit tests as well */ + return; + + n_buffered = 0; + for (el = lsquic_hash_first(conn_pub->all_streams); el; + el = lsquic_hash_next(conn_pub->all_streams)) + { + stream = lsquic_hashelem_getdata(el); + if (stream->sm_bflags & SMBF_CONN_LIMITED) + n_buffered += stream->sm_n_buffered; + } + + assert(n_buffered + conn_pub->stream_frame_bytes + == conn_pub->conn_cap.cc_sent); + LSQ_DEBUG("%s: cc_sent: %"PRIu64, __func__, conn_pub->conn_cap.cc_sent); +} + + +#endif + + +static int +write_stream_frame (struct frame_gen_ctx *fg_ctx, const size_t size, + struct lsquic_packet_out *packet_out) +{ + lsquic_stream_t *const stream = fg_ctx->fgc_stream; + const struct parse_funcs *const pf = stream->conn_pub->lconn->cn_pf; + struct lsquic_send_ctl *const send_ctl = stream->conn_pub->send_ctl; + unsigned off; + int len, s; + +#if LSQUIC_CONN_STATS || LSQUIC_EXTRA_CHECKS + const uint64_t begin_off = stream->tosend_off; +#endif + off = packet_out->po_data_sz; + len = pf->pf_gen_stream_frame( + packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), stream->id, + stream->tosend_off, + fg_ctx->fgc_fin(fg_ctx), size, fg_ctx->fgc_read, fg_ctx); + if (len <= 0) + return len; + +#if LSQUIC_CONN_STATS + stream->conn_pub->conn_stats->out.stream_frames += 1; + stream->conn_pub->conn_stats->out.stream_data_sz + += stream->tosend_off - begin_off; +#endif + EV_LOG_GENERATED_STREAM_FRAME(LSQUIC_LOG_CONN_ID, pf, + packet_out->po_data + packet_out->po_data_sz, len); + lsquic_send_ctl_incr_pack_sz(send_ctl, packet_out, len); + packet_out->po_frame_types |= 1 << QUIC_FRAME_STREAM; + if (0 == lsquic_packet_out_avail(packet_out)) + packet_out->po_flags |= PO_STREAM_END; + s = lsquic_packet_out_add_stream(packet_out, stream->conn_pub->mm, + stream, QUIC_FRAME_STREAM, off, len); + if (s != 0) + { + LSQ_ERROR("adding stream to packet failed: %s", strerror(errno)); + return -1; + } +#if LSQUIC_EXTRA_CHECKS + if (stream->sm_bflags & SMBF_CONN_LIMITED) + { + stream->conn_pub->stream_frame_bytes += stream->tosend_off - begin_off; + verify_conn_cap(stream->conn_pub); + } +#endif + + check_flush_threshold(stream); + return len; +} + + +static enum swtp_status +stream_write_to_packet_hsk (struct frame_gen_ctx *fg_ctx, const size_t size) +{ + struct lsquic_stream *const stream = fg_ctx->fgc_stream; + struct lsquic_send_ctl *const send_ctl = stream->conn_pub->send_ctl; + struct lsquic_packet_out *packet_out; + int len; + + packet_out = lsquic_send_ctl_new_packet_out(send_ctl, 0, PNS_APP, + stream->conn_pub->path); + if (!packet_out) + return SWTP_STOP; + packet_out->po_header_type = stream->tosend_off == 0 + ? HETY_INITIAL : HETY_HANDSHAKE; + + len = write_stream_frame(fg_ctx, size, packet_out); + + if (len > 0) + { + packet_out->po_flags |= PO_HELLO; + lsquic_packet_out_zero_pad(packet_out); + lsquic_send_ctl_scheduled_one(send_ctl, packet_out); + return SWTP_OK; + } + else + return SWTP_ERROR; +} + + +static enum swtp_status +stream_write_to_packet_std (struct frame_gen_ctx *fg_ctx, const size_t size) +{ + struct lsquic_stream *const stream = fg_ctx->fgc_stream; + struct lsquic_send_ctl *const send_ctl = stream->conn_pub->send_ctl; + unsigned stream_header_sz, need_at_least; + struct lsquic_packet_out *packet_out; + struct lsquic_stream *headers_stream; + int len; + + if ((stream->stream_flags & (STREAM_HEADERS_SENT|STREAM_HDRS_FLUSHED)) + == STREAM_HEADERS_SENT) + { + if (stream->sm_bflags & SMBF_IETF) + { + if (stream->stream_flags & STREAM_ENCODER_DEP) + headers_stream = stream->conn_pub->u.ietf.qeh->qeh_enc_sm_out; + else + headers_stream = NULL; + } + else + headers_stream = + lsquic_headers_stream_get_stream(stream->conn_pub->u.gquic.hs); + if (headers_stream && lsquic_stream_has_data_to_flush(headers_stream)) + { + LSQ_DEBUG("flushing headers stream before packetizing stream data"); + (void) lsquic_stream_flush(headers_stream); + } + /* If there is nothing to flush, some other stream must have flushed it: + * this means our headers are flushed. Either way, only do this once. + */ + stream->stream_flags |= STREAM_HDRS_FLUSHED; + } + + stream_header_sz = stream->sm_frame_header_sz(stream, size); + need_at_least = stream_header_sz; + if ((stream->sm_bflags & (SMBF_IETF|SMBF_USE_HEADERS)) + == (SMBF_IETF|SMBF_USE_HEADERS)) + { + if (size > 0) + need_at_least += 3; /* Enough room for HTTP/3 frame */ + } + else + need_at_least += size > 0; + get_packet: + packet_out = stream->sm_get_packet_for_stream(send_ctl, + need_at_least, stream->conn_pub->path, stream); + if (packet_out) + { + len = write_stream_frame(fg_ctx, size, packet_out); + if (len > 0) + return SWTP_OK; + if (len == 0) + return SWTP_STOP; + if (-len > (int) need_at_least) + { + LSQ_DEBUG("need more room (%d bytes) than initially calculated " + "%u bytes, will try again", -len, need_at_least); + need_at_least = -len; + goto get_packet; + } + return SWTP_ERROR; + } + else + return SWTP_STOP; +} + + +/* Use for IETF crypto streams and gQUIC crypto stream for versions >= Q050. */ +static enum swtp_status +stream_write_to_packet_crypto (struct frame_gen_ctx *fg_ctx, const size_t size) +{ + struct lsquic_stream *const stream = fg_ctx->fgc_stream; + struct lsquic_send_ctl *const send_ctl = stream->conn_pub->send_ctl; + const struct parse_funcs *const pf = stream->conn_pub->lconn->cn_pf; + unsigned crypto_header_sz, need_at_least; + struct lsquic_packet_out *packet_out; + unsigned short off; + enum packnum_space pns; + int len, s; + + if (stream->sm_bflags & SMBF_IETF) + pns = lsquic_enclev2pns[ crypto_level(stream) ]; + else + pns = PNS_APP; + + assert(size > 0); + crypto_header_sz = stream->sm_frame_header_sz(stream, size); + need_at_least = crypto_header_sz + 1; + + packet_out = lsquic_send_ctl_get_packet_for_crypto(send_ctl, + need_at_least, pns, stream->conn_pub->path); + if (!packet_out) + return SWTP_STOP; + + off = packet_out->po_data_sz; + len = pf->pf_gen_crypto_frame(packet_out->po_data + packet_out->po_data_sz, + lsquic_packet_out_avail(packet_out), 0, stream->tosend_off, 0, + size, frame_std_gen_read, fg_ctx); + if (len < 0) + return len; + + EV_LOG_GENERATED_CRYPTO_FRAME(LSQUIC_LOG_CONN_ID, pf, + packet_out->po_data + packet_out->po_data_sz, len); + lsquic_send_ctl_incr_pack_sz(send_ctl, packet_out, len); + packet_out->po_frame_types |= 1 << QUIC_FRAME_CRYPTO; + s = lsquic_packet_out_add_stream(packet_out, stream->conn_pub->mm, + stream, QUIC_FRAME_CRYPTO, off, len); + if (s != 0) + { + LSQ_WARN("adding crypto stream to packet failed: %s", strerror(errno)); + return -1; + } + + packet_out->po_flags |= PO_HELLO; + + if (!(stream->sm_bflags & SMBF_IETF)) + { + const unsigned short before = packet_out->po_data_sz; + lsquic_packet_out_zero_pad(packet_out); + /* XXX: too hacky */ + if (before < packet_out->po_data_sz) + send_ctl->sc_bytes_scheduled += packet_out->po_data_sz - before; + } + + check_flush_threshold(stream); + return SWTP_OK; +} + + +static void +abort_connection (struct lsquic_stream *stream) +{ + if (0 == (stream->sm_qflags & SMQF_SERVICE_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->service_streams, stream, + next_service_stream); + stream->sm_qflags |= SMQF_ABORT_CONN; + LSQ_INFO("connection will be aborted"); + maybe_conn_to_tickable(stream); +} + + +static void +maybe_close_varsize_hq_frame (struct lsquic_stream *stream) +{ + struct stream_hq_frame *shf; + uint64_t size; + unsigned bits; + + shf = find_cur_hq_frame(stream); + if (!shf) + return; + + if (shf->shf_flags & SHF_FIXED_SIZE) + { + if (shf->shf_off + shf->shf_frame_size <= stream->sm_payload) + stream_hq_frame_put(stream, shf); + return; + } + + bits = (shf->shf_flags & SHF_TWO_BYTES) > 0; + size = stream->sm_payload + stream->sm_n_buffered - shf->shf_off; + if (size <= VINT_MAX_B(bits) && shf->shf_frame_ptr) + { + if (0 == stream->sm_n_buffered) + LSQ_DEBUG("close HQ frame type 0x%X of size %"PRIu64, + shf->shf_frame_type, size); + else + LSQ_DEBUG("convert HQ frame type 0x%X of to fixed %"PRIu64, + shf->shf_frame_type, size); + shf->shf_frame_ptr[0] = shf->shf_frame_type; + vint_write(shf->shf_frame_ptr + 1, size, bits, 1 << bits); + if (0 == stream->sm_n_buffered) + stream_hq_frame_put(stream, shf); + else + { + shf->shf_frame_size = size; + shf->shf_flags |= SHF_FIXED_SIZE; + } + } + else if (!shf->shf_frame_ptr) + LSQ_DEBUG("HQ frame of type 0x%X has not yet been written, not " + "closing", shf->shf_frame_type); + else + { + assert(stream->sm_n_buffered); + LSQ_ERROR("cannot close frame of size %"PRIu64" on stream %"PRIu64 + " -- too large", size, stream->id); + stream->conn_pub->lconn->cn_if->ci_internal_error( + stream->conn_pub->lconn, "HTTP/3 frame too large"); + stream_hq_frame_put(stream, shf); + } +} + + +static ssize_t +stream_write_to_packets (lsquic_stream_t *stream, struct lsquic_reader *reader, + size_t thresh, enum stream_write_options swo) +{ + size_t size; + ssize_t nw; + unsigned seen_ok; + int use_framing; + struct frame_gen_ctx fg_ctx = { + .fgc_stream = stream, + .fgc_reader = reader, + .fgc_nread_from_reader = 0, + .fgc_thresh = thresh, + }; + +#if LSQUIC_EXTRA_CHECKS + if (stream->conn_pub) + ++stream->conn_pub->wtp_level; +#endif + use_framing = (stream->sm_bflags & (SMBF_IETF|SMBF_USE_HEADERS)) + == (SMBF_IETF|SMBF_USE_HEADERS); + if (use_framing) + { + fg_ctx.fgc_size = frame_hq_gen_size; + fg_ctx.fgc_read = frame_hq_gen_read; + fg_ctx.fgc_fin = frame_std_gen_fin; /* This seems to work for either? XXX */ + } + else + { + fg_ctx.fgc_size = frame_std_gen_size; + fg_ctx.fgc_read = frame_std_gen_read; + fg_ctx.fgc_fin = frame_std_gen_fin; + } + + seen_ok = 0; + while ((size = fg_ctx.fgc_size(&fg_ctx), + fg_ctx.fgc_thresh + ? size >= fg_ctx.fgc_thresh : size > 0) + || fg_ctx.fgc_fin(&fg_ctx)) + { + switch (stream->sm_write_to_packet(&fg_ctx, size)) + { + case SWTP_OK: + if (!seen_ok++) + { + maybe_conn_to_tickable_if_writeable(stream, 0); + maybe_update_last_progress(stream); + } + if (fg_ctx.fgc_fin(&fg_ctx)) + { + if (use_framing && seen_ok) + maybe_close_varsize_hq_frame(stream); + stream->stream_flags |= STREAM_FIN_SENT; + if (stream->sm_qflags & SMQF_WANT_FLUSH) + { + LSQ_DEBUG("turned off SMQF_WANT_FLUSH flag as FIN has been sent."); + maybe_remove_from_write_q(stream, SMQF_WANT_FLUSH); + } + goto end; + } + else + break; + case SWTP_STOP: + stream->stream_flags &= ~STREAM_LAST_WRITE_OK; + if (use_framing && seen_ok) + maybe_close_varsize_hq_frame(stream); + goto end; + default: + abort_connection(stream); + stream->stream_flags &= ~STREAM_LAST_WRITE_OK; + goto err; + } + } + + if (use_framing && seen_ok) + maybe_close_varsize_hq_frame(stream); + + if (fg_ctx.fgc_thresh && (swo & SWO_BUFFER)) + { + assert(size < fg_ctx.fgc_thresh); + assert(size >= stream->sm_n_buffered); + size -= stream->sm_n_buffered; + if (size > 0) + { + nw = save_to_buffer(stream, reader, size); + if (nw < 0) + goto err; + fg_ctx.fgc_nread_from_reader += nw; /* Make this cleaner? */ + } + } +#ifndef NDEBUG + else if (swo & SWO_BUFFER) + { + /* We count flushed data towards both stream and connection limits, + * so we should have been able to packetize all of it: + */ + assert(0 == stream->sm_n_buffered); + assert(size == 0); + } +#endif + + maybe_mark_as_blocked(stream); + + end: +#if LSQUIC_EXTRA_CHECKS + if (stream->conn_pub) + --stream->conn_pub->wtp_level; +#endif + return fg_ctx.fgc_nread_from_reader; + + err: +#if LSQUIC_EXTRA_CHECKS + if (stream->conn_pub) + --stream->conn_pub->wtp_level; +#endif + return -1; +} + + +/* Perform an implicit flush when we hit connection or stream flow control + * limit while buffering data. + * + * This is to prevent a (theoretical) stall. Scenario 1: + * + * Imagine a number of streams, all of which buffered some data. The buffered + * data is up to connection cap, which means no further writes are possible. + * None of them flushes, which means that data is not sent and connection + * WINDOW_UPDATE frame never arrives from peer. Stall. + * + * Scenario 2: + * + * Stream flow control window is smaller than the packetizing threshold. In + * this case, without a flush, the peer will never send a WINDOW_UPDATE. Stall. + */ +static int +maybe_flush_stream (struct lsquic_stream *stream) +{ + if (stream->sm_n_buffered > 0 && stream->sm_write_avail(stream) == 0) + { + LSQ_DEBUG("out of flow control credits, flush %zu buffered bytes", + stream->sm_n_buffered + active_hq_frame_sizes(stream)); + return stream_flush_nocheck(stream); + } + else + return 0; +} + + +static int +stream_hq_frame_extendable (const struct stream_hq_frame *shf, uint64_t cur_off, + unsigned len) +{ + return (shf->shf_flags & (SHF_TWO_BYTES|SHF_FIXED_SIZE)) == 0 + && cur_off - shf->shf_off < (1 << 6) + && cur_off - shf->shf_off + len >= (1 << 6) + ; +} + + +/* Update currently buffered HQ frame or create a new one, if possible. + * Return update length to be buffered. If a HQ frame cannot be + * buffered due to size, 0 is returned, thereby preventing both HQ frame + * creation and buffering. + */ +static size_t +update_buffered_hq_frames (struct lsquic_stream *stream, size_t len, + size_t avail) +{ + struct stream_hq_frame *shf; + uint64_t cur_off, end; + size_t frame_sz; + unsigned extendable; +#if _MSC_VER + end = 0; + extendable = 0; +#endif + + cur_off = stream->sm_payload + stream->sm_n_buffered; + STAILQ_FOREACH(shf, &stream->sm_hq_frames, shf_next) + if (shf->shf_off <= cur_off) + { + end = stream_hq_frame_end(shf); + extendable = stream_hq_frame_extendable(shf, cur_off, len); + if (cur_off < end + extendable) + break; + } + + if (shf) + { + if (len > end + extendable - cur_off) + len = end + extendable - cur_off; + frame_sz = stream_hq_frame_size(shf); + } + else + { + assert(avail >= 3); + shf = stream_activate_hq_frame(stream, cur_off, HQFT_DATA, 0, len); + if (!shf) + return 0; + if (len > stream_hq_frame_end(shf) - cur_off) + len = stream_hq_frame_end(shf) - cur_off; + extendable = 0; + frame_sz = stream_hq_frame_size(shf); + if (avail < frame_sz) + return 0; + avail -= frame_sz; + } + + if (!(shf->shf_flags & SHF_CC_PAID)) + { + incr_conn_cap(stream, frame_sz); + shf->shf_flags |= SHF_CC_PAID; + } + if (extendable) + { + shf->shf_flags |= SHF_TWO_BYTES; + incr_conn_cap(stream, 1); + avail -= 1; + if ((stream->sm_qflags & SMQF_WANT_FLUSH) + && shf->shf_off <= stream->sm_payload + && stream_hq_frame_end(shf) >= stream->sm_flush_to_payload) + stream->sm_flush_to += 1; + } + + if (len <= avail) + return len; + else + return avail; +} + + +static ssize_t +save_to_buffer (lsquic_stream_t *stream, struct lsquic_reader *reader, + size_t len) +{ + size_t avail, n_written, n_allowed; + + avail = lsquic_stream_write_avail(stream); + if (avail < len) + len = avail; + if (len == 0) + { + LSQ_DEBUG("zero-byte write (avail: %zu)", avail); + return 0; + } + + n_allowed = stream_get_n_allowed(stream); + assert(stream->sm_n_buffered + len <= n_allowed); + + if (!stream->sm_buf) + { + stream->sm_buf = malloc(n_allowed); + if (!stream->sm_buf) + return -1; + stream->sm_n_allocated = n_allowed; + } + + if ((stream->sm_bflags & (SMBF_IETF|SMBF_USE_HEADERS)) + == (SMBF_IETF|SMBF_USE_HEADERS)) + len = update_buffered_hq_frames(stream, len, avail); + + n_written = reader->lsqr_read(reader->lsqr_ctx, + stream->sm_buf + stream->sm_n_buffered, len); + stream->sm_n_buffered += n_written; + assert(stream->max_send_off >= stream->tosend_off + stream->sm_n_buffered); + incr_conn_cap(stream, n_written); + LSQ_DEBUG("buffered %zd bytes; %hu bytes are now in buffer", + n_written, stream->sm_n_buffered); + if (0 != maybe_flush_stream(stream)) + return -1; + return n_written; +} + + +static ssize_t +stream_write (lsquic_stream_t *stream, struct lsquic_reader *reader, + enum stream_write_options swo) +{ + const struct stream_hq_frame *shf; + size_t thresh, len, frames, total_len, n_allowed, nwritten; + ssize_t nw; + + len = reader->lsqr_size(reader->lsqr_ctx); + if (len == 0) + return 0; + + frames = 0; + if ((stream->sm_bflags & (SMBF_IETF|SMBF_USE_HEADERS)) + == (SMBF_IETF|SMBF_USE_HEADERS)) + STAILQ_FOREACH(shf, &stream->sm_hq_frames, shf_next) + if (shf->shf_off >= stream->sm_payload) + frames += stream_hq_frame_size(shf); + total_len = len + frames + stream->sm_n_buffered; + thresh = lsquic_stream_flush_threshold(stream, total_len); + n_allowed = stream_get_n_allowed(stream); + if (total_len <= n_allowed && total_len < thresh) + { + if (!(swo & SWO_BUFFER)) + return 0; + nwritten = 0; + do + { + nw = save_to_buffer(stream, reader, len - nwritten); + if (nw > 0) + nwritten += (size_t) nw; + else if (nw == 0) + break; + else + return nw; + } + while (nwritten < len + && stream->sm_n_buffered < stream->sm_n_allocated); + } + else + nwritten = stream_write_to_packets(stream, reader, thresh, swo); + if ((stream->sm_qflags & SMQF_SEND_BLOCKED) && + (stream->sm_bflags & SMBF_IETF)) + { + lsquic_sendctl_gen_stream_blocked_frame(stream->conn_pub->send_ctl, stream); + } + return nwritten; +} + + +ssize_t +lsquic_stream_write (lsquic_stream_t *stream, const void *buf, size_t len) +{ + struct iovec iov = { .iov_base = (void *) buf, .iov_len = len, }; + return lsquic_stream_writev(stream, &iov, 1); +} + + +struct inner_reader_iovec { + const struct iovec *iov; + const struct iovec *end; + unsigned cur_iovec_off; +}; + + +static size_t +inner_reader_iovec_read (void *ctx, void *buf, size_t count) +{ + struct inner_reader_iovec *const iro = ctx; + unsigned char *p = buf; + unsigned char *const end = p + count; + unsigned n_tocopy; + + while (iro->iov < iro->end && p < end) + { + n_tocopy = iro->iov->iov_len - iro->cur_iovec_off; + if (n_tocopy > (unsigned) (end - p)) + n_tocopy = end - p; + memcpy(p, (unsigned char *) iro->iov->iov_base + iro->cur_iovec_off, + n_tocopy); + p += n_tocopy; + iro->cur_iovec_off += n_tocopy; + if (iro->iov->iov_len == iro->cur_iovec_off) + { + ++iro->iov; + iro->cur_iovec_off = 0; + } + } + + return p + count - end; +} + + +static size_t +inner_reader_iovec_size (void *ctx) +{ + struct inner_reader_iovec *const iro = ctx; + const struct iovec *iov; + size_t size; + + size = 0; + for (iov = iro->iov; iov < iro->end; ++iov) + size += iov->iov_len; + + return size - iro->cur_iovec_off; +} + + +ssize_t +lsquic_stream_writev (lsquic_stream_t *stream, const struct iovec *iov, + int iovcnt) +{ + COMMON_WRITE_CHECKS(); + SM_HISTORY_APPEND(stream, SHE_USER_WRITE_DATA); + + struct inner_reader_iovec iro = { + .iov = iov, + .end = iov + iovcnt, + .cur_iovec_off = 0, + }; + struct lsquic_reader reader = { + .lsqr_read = inner_reader_iovec_read, + .lsqr_size = inner_reader_iovec_size, + .lsqr_ctx = &iro, + }; + + return stream_write(stream, &reader, SWO_BUFFER); +} + + +ssize_t +lsquic_stream_writef (lsquic_stream_t *stream, struct lsquic_reader *reader) +{ + COMMON_WRITE_CHECKS(); + SM_HISTORY_APPEND(stream, SHE_USER_WRITE_DATA); + return stream_write(stream, reader, SWO_BUFFER); +} + + +/* Configuration for lsquic_stream_pwritev: */ +#ifndef LSQUIC_PWRITEV_DEF_IOVECS +#define LSQUIC_PWRITEV_DEF_IOVECS 16 +#endif +/* This is an overkill, this limit should only be reached during testing: */ +#ifndef LSQUIC_PWRITEV_DEF_FRAMES +#define LSQUIC_PWRITEV_DEF_FRAMES (LSQUIC_PWRITEV_DEF_IOVECS * 2) +#endif + +#ifdef NDEBUG +#define PWRITEV_IOVECS LSQUIC_PWRITEV_DEF_IOVECS +#define PWRITEV_FRAMES LSQUIC_PWRITEV_DEF_FRAMES +#else +#if _MSC_VER +#define MALLOC_PWRITEV 1 +#else +#define MALLOC_PWRITEV 0 +#endif +static unsigned + PWRITEV_IOVECS = LSQUIC_PWRITEV_DEF_IOVECS, + PWRITEV_FRAMES = LSQUIC_PWRITEV_DEF_FRAMES; + +void +lsquic_stream_set_pwritev_params (unsigned iovecs, unsigned frames) +{ + PWRITEV_IOVECS = iovecs; + PWRITEV_FRAMES = frames; +} + + +#endif + +struct pwritev_ctx +{ + struct iovec *iov; + const struct hq_arr *hq_arr; + size_t total_bytes; + size_t n_to_write; + unsigned n_iovecs, max_iovecs; +}; + + +static size_t +pwritev_size (void *lsqr_ctx) +{ + struct pwritev_ctx *const ctx = lsqr_ctx; + + if (ctx->n_iovecs < ctx->max_iovecs + && ctx->hq_arr->count < ctx->hq_arr->max) + return ctx->n_to_write - ctx->total_bytes; + else + return 0; +} + + +static size_t +pwritev_read (void *lsqr_ctx, void *buf, size_t count) +{ + struct pwritev_ctx *const ctx = lsqr_ctx; + + assert(ctx->n_iovecs < ctx->max_iovecs); + ctx->iov[ctx->n_iovecs].iov_base = buf; + ctx->iov[ctx->n_iovecs].iov_len = count; + ++ctx->n_iovecs; + ctx->total_bytes += count; + return count; +} + + +/* pwritev works as follows: allocate packets via lsquic_stream_writef() call + * and record pointers and sizes into an iovec array. Then issue a single call + * to user-supplied preadv() to populate all packets in one shot. + * + * Unwinding state changes due to a short write is by far the most complicated + * part of the machinery that follows. We optimize the normal path: it should + * be cheap to be prepared for the unwinding; unwinding itself can be more + * expensive, as we do not expect it to happen often. + */ +ssize_t +lsquic_stream_pwritev (struct lsquic_stream *stream, + ssize_t (*preadv)(void *user_data, const struct iovec *iov, int iovcnt), + void *user_data, size_t n_to_write) +{ + struct lsquic_send_ctl *const ctl = stream->conn_pub->send_ctl; +#if MALLOC_PWRITEV + struct iovec *iovecs; + unsigned char **hq_frames; +#else + struct iovec iovecs[PWRITEV_IOVECS]; + unsigned char *hq_frames[PWRITEV_FRAMES]; +#endif + struct iovec *last_iov; + struct pwritev_ctx ctx; + struct lsquic_reader reader; + struct send_ctl_state ctl_state; + struct hq_arr hq_arr; + ssize_t nw; + size_t n_allocated, sum; +#ifndef NDEBUG + const unsigned short n_buffered = stream->sm_n_buffered; +#endif + + COMMON_WRITE_CHECKS(); + SM_HISTORY_APPEND(stream, SHE_USER_WRITE_DATA); + +#if MALLOC_PWRITEV + iovecs = malloc(sizeof(iovecs[0]) * PWRITEV_IOVECS); + hq_frames = malloc(sizeof(hq_frames[0]) * PWRITEV_FRAMES); + if (!(iovecs && hq_frames)) + { + free(iovecs); + free(hq_frames); + return -1; + } +#endif + + lsquic_send_ctl_snapshot(ctl, &ctl_state); + + ctx.total_bytes = 0; + ctx.n_to_write = n_to_write; + ctx.n_iovecs = 0; + ctx.max_iovecs = PWRITEV_IOVECS; + ctx.iov = iovecs; + ctx.hq_arr = &hq_arr; + + hq_arr.p = hq_frames; + hq_arr.count = 0; + hq_arr.max = PWRITEV_FRAMES; + stream->sm_hq_arr = &hq_arr; + + reader.lsqr_ctx = &ctx; + reader.lsqr_size = pwritev_size; + reader.lsqr_read = pwritev_read; + + nw = stream_write(stream, &reader, 0); + LSQ_DEBUG("pwritev: stream_write returned %zd, n_iovecs: %d", nw, + ctx.n_iovecs); + if (nw > 0) + { + /* Amount of buffered data shouldn't have increased */ + assert(n_buffered >= stream->sm_n_buffered); + n_allocated = (size_t) nw; + nw = preadv(user_data, ctx.iov, ctx.n_iovecs); + LSQ_DEBUG("pwritev: preadv returned %zd", nw); + if (nw >= 0 && (size_t) nw < n_allocated) + goto unwind_short_write; + } + + cleanup: + stream->sm_hq_arr = NULL; +#if MALLOC_PWRITEV + free(iovecs); + free(hq_frames); +#endif + return nw; + + unwind_short_write: + /* What follows is not the most efficient process. The emphasis here is + * on being simple instead. We expect short writes to be rare, so being + * slower than possible is a good tradeoff for being correct. + */ + LSQ_DEBUG("short write occurred, unwind"); + SM_HISTORY_APPEND(stream, SHE_SHORT_WRITE); + + /* First, adjust connection cap and stream offsets, and HTTP/3 framing, + * if necessary. + */ + if ((stream->sm_bflags & (SMBF_USE_HEADERS|SMBF_IETF)) + == (SMBF_USE_HEADERS|SMBF_IETF)) + { + size_t shortfall, payload_sz, decr; + unsigned char *p; + unsigned bits; + + assert(hq_arr.count > 0); + shortfall = n_allocated - (size_t) nw; + do + { + const unsigned count = hq_arr.count; + (void) count; + p = hq_frames[--hq_arr.count]; + assert(p[0] == HQFT_DATA); + assert(!(p[1] & 0x80)); /* Only one- and two-byte frame sizes */ + if (p[1] & 0x40) + { + payload_sz = (p[1] & 0x3F) << 8; + payload_sz |= p[2]; + } + else + payload_sz = p[1]; + if (payload_sz > shortfall) + { + bits = p[1] >> 6; + vint_write(p + 1, payload_sz - shortfall, bits, 1 << bits); + decr = shortfall; + decr_conn_cap(stream, decr); + stream->sm_payload -= decr; + stream->tosend_off -= decr; + shortfall = 0; + } + else + { + decr = payload_sz + 2 + (p[1] >> 6); + decr_conn_cap(stream, decr); + stream->sm_payload -= payload_sz; + stream->tosend_off -= decr; + shortfall -= payload_sz; + } + } + while (hq_arr.count); + assert(shortfall == 0); + } + else + { + const size_t shortfall = n_allocated - (size_t) nw; + decr_conn_cap(stream, shortfall); + stream->sm_payload -= shortfall; + stream->tosend_off -= shortfall; + } + + /* Find last iovec: */ + sum = 0; + for (last_iov = iovecs; last_iov < iovecs + PWRITEV_IOVECS; ++last_iov) + { + sum += last_iov->iov_len; + if ((last_iov == iovecs || (size_t) nw > sum - last_iov->iov_len) + && (size_t) nw <= sum) + break; + } + assert(last_iov < iovecs + PWRITEV_IOVECS); + lsquic_send_ctl_rollback(ctl, &ctl_state, last_iov, sum - nw); + + goto cleanup; +} + + +/* This bypasses COMMON_WRITE_CHECKS */ +static ssize_t +stream_write_buf (struct lsquic_stream *stream, const void *buf, size_t sz) +{ + const struct iovec iov[1] = {{ (void *) buf, sz, }}; + struct inner_reader_iovec iro = { + .iov = iov, + .end = iov + 1, + .cur_iovec_off = 0, + }; + struct lsquic_reader reader = { + .lsqr_read = inner_reader_iovec_read, + .lsqr_size = inner_reader_iovec_size, + .lsqr_ctx = &iro, + }; + return stream_write(stream, &reader, SWO_BUFFER); +} + + +/* This limits the cumulative size of the compressed header fields */ +#define MAX_HEADERS_SIZE (64 * 1024) + +static int +send_headers_ietf (struct lsquic_stream *stream, + const struct lsquic_http_headers *headers, int eos) +{ + enum qwh_status qwh; + const size_t max_prefix_size = + lsquic_qeh_max_prefix_size(stream->conn_pub->u.ietf.qeh); + const size_t max_push_size = 1 /* Stream type */ + 8 /* Push ID */; + size_t prefix_sz, headers_sz, hblock_sz, push_sz; + unsigned bits; + ssize_t nw; + unsigned char *header_block; + enum lsqpack_enc_header_flags hflags; + int rv; + const size_t buf_sz = max_push_size + max_prefix_size + MAX_HEADERS_SIZE; +#ifndef WIN32 + unsigned char buf[buf_sz]; +#else + unsigned char *buf = _malloca(buf_sz); + if (!buf) + return -1; +#endif + + if (stream->stream_flags & STREAM_PUSHING) + { + LSQ_DEBUG("push promise still being written, cannot send header now"); + errno = EBADMSG; + return -1; + } + stream->stream_flags |= STREAM_NOPUSH; + + /* TODO: Optimize for the common case: write directly to sm_buf and fall + * back to a larger buffer if that fails. + */ + prefix_sz = max_prefix_size; + headers_sz = buf_sz - max_prefix_size - max_push_size; + qwh = lsquic_qeh_write_headers(stream->conn_pub->u.ietf.qeh, stream->id, 0, + headers, buf + max_push_size + max_prefix_size, &prefix_sz, + &headers_sz, &stream->sm_hb_compl, &hflags); + + if (!(qwh == QWH_FULL || qwh == QWH_PARTIAL)) + { + if (qwh == QWH_ENOBUF) + LSQ_INFO("not enough room for header block"); + else + LSQ_WARN("internal error encoding and sending HTTP headers"); + goto err; + } + + if (hflags & LSQECH_REF_NEW_ENTRIES) + stream->stream_flags |= STREAM_ENCODER_DEP; + + if (stream->sm_promise) + { + assert(lsquic_stream_is_pushed(stream)); + bits = vint_val2bits(stream->sm_promise->pp_id); + push_sz = 1 + (1 << bits); + if (!stream_activate_hq_frame(stream, + stream->sm_payload + stream->sm_n_buffered, HQFT_PUSH_PREAMBLE, + SHF_FIXED_SIZE|SHF_PHANTOM, push_sz)) + goto err; + buf[max_push_size + max_prefix_size - prefix_sz - push_sz] = HQUST_PUSH; + vint_write(buf + max_push_size + max_prefix_size - prefix_sz + - push_sz + 1,stream->sm_promise->pp_id, bits, 1 << bits); + } + else + push_sz = 0; + + /* Construct contiguous header block buffer including HQ framing */ + header_block = buf + max_push_size + max_prefix_size - prefix_sz - push_sz; + hblock_sz = push_sz + prefix_sz + headers_sz; + if (!stream_activate_hq_frame(stream, + stream->sm_payload + stream->sm_n_buffered + push_sz, + HQFT_HEADERS, SHF_FIXED_SIZE, hblock_sz - push_sz)) + goto err; + + if (qwh == QWH_FULL) + { + stream->sm_send_headers_state = SSHS_HBLOCK_SENDING; + if (lsquic_stream_write_avail(stream)) + { + nw = stream_write_buf(stream, header_block, hblock_sz); + if (nw < 0) + { + LSQ_WARN("cannot write to stream: %s", strerror(errno)); + goto err; + } + if ((size_t) nw == hblock_sz) + { + stream->stream_flags |= STREAM_HEADERS_SENT; + stream_hblock_sent(stream); + LSQ_DEBUG("wrote all %zu bytes of header block", hblock_sz); + goto end; + } + LSQ_DEBUG("wrote only %zd bytes of header block, stash", nw); + } + else + { + LSQ_DEBUG("cannot write to stream, stash all %zu bytes of " + "header block", hblock_sz); + nw = 0; + } + } + else + { + stream->sm_send_headers_state = SSHS_ENC_SENDING; + nw = 0; + } + + stream->sm_saved_want_write = !!(stream->sm_qflags & SMQF_WANT_WRITE); + stream_wantwrite(stream, 1); + + stream->sm_header_block = malloc(hblock_sz - (size_t) nw); + if (!stream->sm_header_block) + { + LSQ_WARN("cannot allocate %zd bytes to stash %s header block", + hblock_sz - (size_t) nw, qwh == QWH_FULL ? "full" : "partial"); + goto err; + } + memcpy(stream->sm_header_block, header_block + (size_t) nw, + hblock_sz - (size_t) nw); + stream->sm_hblock_sz = hblock_sz - (size_t) nw; + stream->sm_hblock_off = 0; + LSQ_DEBUG("stashed %u bytes of header block", stream->sm_hblock_sz); + + end: + rv = 0; + clean: +#ifdef WIN32 + _freea(buf); +#endif + return rv; + + err: + rv = -1; + goto clean; +} + + +static int +send_headers_gquic (struct lsquic_stream *stream, + const struct lsquic_http_headers *headers, int eos) +{ + int s = lsquic_headers_stream_send_headers(stream->conn_pub->u.gquic.hs, + stream->id, headers, eos, lsquic_stream_priority(stream)); + if (0 == s) + { + SM_HISTORY_APPEND(stream, SHE_USER_WRITE_HEADER); + stream->stream_flags |= STREAM_HEADERS_SENT; + if (eos) + stream->stream_flags |= STREAM_FIN_SENT; + LSQ_INFO("sent headers"); + } + else + LSQ_WARN("could not send headers: %s", strerror(errno)); + return s; +} + + +int +lsquic_stream_send_headers (lsquic_stream_t *stream, + const lsquic_http_headers_t *headers, int eos) +{ + if ((stream->sm_bflags & SMBF_USE_HEADERS) + && !(stream->stream_flags & (STREAM_U_WRITE_DONE))) + { + if (stream->sm_bflags & SMBF_IETF) + return send_headers_ietf(stream, headers, eos); + else + return send_headers_gquic(stream, headers, eos); + } + else + { + LSQ_INFO("cannot send headers in this state"); + errno = EBADMSG; + return -1; + } +} + + +void +lsquic_stream_window_update (lsquic_stream_t *stream, uint64_t offset) +{ + if (offset > stream->max_send_off) + { + SM_HISTORY_APPEND(stream, SHE_WINDOW_UPDATE); + LSQ_DEBUG("update max send offset from %"PRIu64" to " + "%"PRIu64, stream->max_send_off, offset); + stream->max_send_off = offset; + } + else + LSQ_DEBUG("new offset %"PRIu64" is not larger than old " + "max send offset %"PRIu64", ignoring", offset, + stream->max_send_off); +} + + +/* This function is used to update offsets after handshake completes and we + * learn of peer's limits from the handshake values. + */ +int +lsquic_stream_set_max_send_off (lsquic_stream_t *stream, uint64_t offset) +{ + LSQ_DEBUG("setting max_send_off to %"PRIu64, offset); + if (offset > stream->max_send_off) + { + lsquic_stream_window_update(stream, offset); + return 0; + } + else if (offset < stream->tosend_off) + { + LSQ_INFO("new offset (%"PRIu64" bytes) is smaller than the amount of " + "data already sent on this stream (%"PRIu64" bytes)", offset, + stream->tosend_off); + return -1; + } + else + { + stream->max_send_off = offset; + return 0; + } +} + + +void +lsquic_stream_maybe_reset (struct lsquic_stream *stream, uint64_t error_code, + int do_close) +{ + if (!((stream->stream_flags + & (STREAM_RST_SENT|STREAM_FIN_SENT|STREAM_U_WRITE_DONE)) + || (stream->sm_qflags & SMQF_SEND_RST))) + { + stream_reset(stream, error_code, do_close); + } + else if (do_close) + stream_shutdown_read(stream); +} + + +static void +stream_reset (struct lsquic_stream *stream, uint64_t error_code, int do_close) +{ + if ((stream->stream_flags & STREAM_RST_SENT) + || (stream->sm_qflags & SMQF_SEND_RST)) + { + LSQ_INFO("reset already sent"); + return; + } + + SM_HISTORY_APPEND(stream, SHE_RESET); + + LSQ_INFO("reset, error code %"PRIu64, error_code); + stream->error_code = error_code; + + if (!(stream->sm_qflags & SMQF_SENDING_FLAGS)) + TAILQ_INSERT_TAIL(&stream->conn_pub->sending_streams, stream, + next_send_stream); + stream->sm_qflags &= ~SMQF_SENDING_FLAGS; + stream->sm_qflags |= SMQF_SEND_RST; + + if (stream->sm_qflags & SMQF_QPACK_DEC) + { + lsquic_qdh_cancel_stream(stream->conn_pub->u.ietf.qdh, stream); + stream->sm_qflags &= ~SMQF_QPACK_DEC; + } + + drop_buffered_data(stream); + maybe_elide_stream_frames(stream); + maybe_schedule_call_on_close(stream); + + if (do_close) + lsquic_stream_close(stream); + else + maybe_conn_to_tickable_if_writeable(stream, 1); +} + + +lsquic_stream_id_t +lsquic_stream_id (const lsquic_stream_t *stream) +{ + return stream->id; +} + + +#if !defined(NDEBUG) && __GNUC__ +__attribute__((weak)) +#endif +struct lsquic_conn * +lsquic_stream_conn (const lsquic_stream_t *stream) +{ + return stream->conn_pub->lconn; +} + + +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT +void +lsquic_stream_set_webtransport_session(lsquic_stream_t *s) { + s->stream_flags |= SMBF_WEBTRANSPORT_SESSION_STREAM; +} + + +int +lsquic_stream_is_webtransport_session(const lsquic_stream_t *s) { + return (s->stream_flags & SMBF_WEBTRANSPORT_SESSION_STREAM); +} + + +int +lsquic_stream_is_webtransport_client_bidi_stream(const lsquic_stream_t *s) { + return (s->stream_flags & SMBF_WEBTRANSPORT_CLIENT_BIDI_STREAM); +} + + +int +lsquic_stream_get_webtransport_session_stream_id(const lsquic_stream_t *s) { + if(s->stream_flags & SMBF_WEBTRANSPORT_CLIENT_BIDI_STREAM) + { + return s->webtransport_session_stream_id; + } + + return -1; +} + + +#endif + +int +lsquic_stream_close (lsquic_stream_t *stream) +{ + LSQ_DEBUG("lsquic_stream_close() called"); + SM_HISTORY_APPEND(stream, SHE_CLOSE); + if (lsquic_stream_is_closed(stream)) + { + LSQ_INFO("Attempt to close an already-closed stream"); + errno = EBADF; + return -1; + } + maybe_stream_shutdown_write(stream); + stream_shutdown_read(stream); + maybe_schedule_call_on_close(stream); + maybe_finish_stream(stream); + if (!(stream->stream_flags & STREAM_DELAYED_SW)) + maybe_conn_to_tickable_if_writeable(stream, 1); + return 0; +} + + +#ifndef NDEBUG +#if __GNUC__ +__attribute__((weak)) +#endif +#endif +void +lsquic_stream_acked (struct lsquic_stream *stream, + enum quic_frame_type frame_type) +{ + if (stream->n_unacked > 0) + { + --stream->n_unacked; + LSQ_DEBUG("ACKed; n_unacked: %u", stream->n_unacked); + if (frame_type == QUIC_FRAME_RST_STREAM) + { + SM_HISTORY_APPEND(stream, SHE_RST_ACKED); + LSQ_DEBUG("RESET that we sent has been acked by peer"); + stream->stream_flags |= STREAM_RST_ACKED; + } + } + if (0 == stream->n_unacked) + { + maybe_schedule_call_on_close(stream); + maybe_finish_stream(stream); + } +} + + +void +lsquic_stream_push_req (lsquic_stream_t *stream, + struct uncompressed_headers *push_req) +{ + assert(!stream->push_req); + stream->push_req = push_req; + stream->stream_flags |= STREAM_U_WRITE_DONE; /* Writing not allowed */ +} + + +int +lsquic_stream_is_pushed (const lsquic_stream_t *stream) +{ + enum stream_id_type sit; + + switch (stream->sm_bflags & (SMBF_IETF|SMBF_USE_HEADERS)) + { + case SMBF_IETF|SMBF_USE_HEADERS: + sit = stream->id & SIT_MASK; + return sit == SIT_UNI_SERVER; + case SMBF_USE_HEADERS: + return 1 & ~stream->id; + default: + return 0; + } +} + + +int +lsquic_stream_push_info (const lsquic_stream_t *stream, + lsquic_stream_id_t *ref_stream_id, void **hset) +{ + if (lsquic_stream_is_pushed(stream)) + { + assert(stream->push_req); + *ref_stream_id = stream->push_req->uh_stream_id; + *hset = stream->push_req->uh_hset; + return 0; + } + else + return -1; +} + + +static int +stream_uh_in_gquic (struct lsquic_stream *stream, + struct uncompressed_headers *uh) +{ + struct uncompressed_headers **next; + if ((stream->sm_bflags & SMBF_USE_HEADERS)) + { + SM_HISTORY_APPEND(stream, SHE_HEADERS_IN); + LSQ_DEBUG("received uncompressed headers"); + stream->stream_flags |= STREAM_HAVE_UH; + if (uh->uh_flags & UH_FIN) + stream->stream_flags |= STREAM_FIN_RECVD|STREAM_HEAD_IN_FIN; + next = &stream->uh; + while(*next) + next = &(*next)->uh_next; + *next = uh; + assert(uh->uh_next == NULL); + if (uh->uh_oth_stream_id == 0) + { + if (uh->uh_weight) + lsquic_stream_set_priority_internal(stream, uh->uh_weight); + } + else + LSQ_NOTICE("don't know how to depend on stream %"PRIu64, + uh->uh_oth_stream_id); + return 0; + } + else + { + LSQ_ERROR("received unexpected uncompressed headers"); + return -1; + } +} + + +static int +stream_uh_in_ietf (struct lsquic_stream *stream, + struct uncompressed_headers *uh) +{ + int push_promise; + struct uncompressed_headers **next; + + push_promise = lsquic_stream_header_is_pp(stream); + if (!push_promise) + { + SM_HISTORY_APPEND(stream, SHE_HEADERS_IN); + LSQ_DEBUG("received uncompressed headers"); + stream->stream_flags |= STREAM_HAVE_UH; + if (uh->uh_flags & UH_FIN) + { + /* IETF QUIC only sets UH_FIN for a pushed stream on the server to + * mark request as done: + */ + if (stream->sm_bflags & SMBF_IETF) + assert((stream->sm_bflags & SMBF_SERVER) + && lsquic_stream_is_pushed(stream)); + stream->stream_flags |= STREAM_FIN_RECVD|STREAM_HEAD_IN_FIN; + } + next = &stream->uh; + while(*next) + next = &(*next)->uh_next; + *next = uh; + assert(uh->uh_next == NULL); + if (uh->uh_oth_stream_id == 0) + { + if (uh->uh_weight) + lsquic_stream_set_priority_internal(stream, uh->uh_weight); + } + else + LSQ_NOTICE("don't know how to depend on stream %"PRIu64, + uh->uh_oth_stream_id); + } + else + { + /* Trailer should never make here, as we discard it in qdh */ + LSQ_DEBUG("discard %s header set", + push_promise ? "push promise" : "trailer"); + if (uh->uh_hset) + stream->conn_pub->enpub->enp_hsi_if + ->hsi_discard_header_set(uh->uh_hset); + free(uh); + } + + return 0; +} + + +int +lsquic_stream_uh_in (lsquic_stream_t *stream, struct uncompressed_headers *uh) +{ + if (stream->sm_bflags & SMBF_USE_HEADERS) + { + if (stream->sm_bflags & SMBF_IETF) + return stream_uh_in_ietf(stream, uh); + else + return stream_uh_in_gquic(stream, uh); + } + else + return -1; +} + + +unsigned +lsquic_stream_priority (const lsquic_stream_t *stream) +{ + if (stream->sm_bflags & SMBF_HTTP_PRIO) + return stream->sm_priority; + else + return 256 - stream->sm_priority; +} + + +int +lsquic_stream_set_priority_internal (lsquic_stream_t *stream, unsigned priority) +{ + /* The user should never get a reference to the special streams, + * but let's check just in case: + */ + if (lsquic_stream_is_critical(stream)) + return -1; + + if (stream->sm_bflags & SMBF_HTTP_PRIO) + { + if (priority > LSQUIC_MAX_HTTP_URGENCY) + return -1; + stream->sm_priority = priority; + } + else + { + if (priority < 1 || priority > 256) + return -1; + stream->sm_priority = 256 - priority; + } + + lsquic_send_ctl_invalidate_bpt_cache(stream->conn_pub->send_ctl); + LSQ_DEBUG("set priority to %u", priority); + SM_HISTORY_APPEND(stream, SHE_SET_PRIO); + return 0; +} + + +static int +maybe_send_priority_gquic (struct lsquic_stream *stream, unsigned priority) +{ + if ((stream->sm_bflags & SMBF_USE_HEADERS) + && (stream->stream_flags & STREAM_HEADERS_SENT)) + { + /* We need to send headers only if we are a) using HEADERS stream + * and b) we already sent initial headers. If initial headers + * have not been sent yet, stream priority will be sent in the + * HEADERS frame. + */ + return lsquic_headers_stream_send_priority(stream->conn_pub->u.gquic.hs, + stream->id, 0, 0, priority); + } + else + return 0; +} + + +static int +send_priority_ietf (struct lsquic_stream *stream) +{ + struct lsquic_ext_http_prio ehp; + + if (0 == lsquic_stream_get_http_prio(stream, &ehp) + && 0 == lsquic_hcso_write_priority_update( + stream->conn_pub->u.ietf.hcso, + HQFT_PRIORITY_UPDATE_STREAM, stream->id, &ehp)) + return 0; + else + return -1; +} + + +int +lsquic_stream_set_priority (lsquic_stream_t *stream, unsigned priority) +{ + if (0 == lsquic_stream_set_priority_internal(stream, priority)) + { + if (stream->sm_bflags & SMBF_IETF) + { + if (stream->sm_bflags & SMBF_HTTP_PRIO) + return send_priority_ietf(stream); + else + return 0; + } + else + return maybe_send_priority_gquic(stream, priority); + } + else + return -1; +} + + +lsquic_stream_ctx_t * +lsquic_stream_get_ctx (const lsquic_stream_t *stream) +{ + fiu_return_on("stream/get_ctx", NULL); + return stream->st_ctx; +} + + +void +lsquic_stream_set_ctx (lsquic_stream_t *stream, lsquic_stream_ctx_t *ctx) +{ + stream->st_ctx = ctx; +} + + +int +lsquic_stream_refuse_push (lsquic_stream_t *stream) +{ + if (lsquic_stream_is_pushed(stream) + && !(stream->sm_qflags & SMQF_SEND_RST) + && !(stream->stream_flags & STREAM_RST_SENT)) + { + LSQ_DEBUG("refusing pushed stream: send reset"); + stream_reset(stream, 8 /* QUIC_REFUSED_STREAM */, 1); + return 0; + } + else + return -1; +} + + +size_t +lsquic_stream_mem_used (const struct lsquic_stream *stream) +{ + size_t size; + + size = sizeof(stream); + if (stream->sm_buf) + size += stream->sm_n_allocated; + if (stream->data_in) + size += stream->data_in->di_if->di_mem_used(stream->data_in); + + return size; +} + + +const lsquic_cid_t * +lsquic_stream_cid (const struct lsquic_stream *stream) +{ + return LSQUIC_LOG_CONN_ID; +} + + +void +lsquic_stream_dump_state (const struct lsquic_stream *stream) +{ + LSQ_DEBUG("flags: %X; read off: %"PRIu64, stream->stream_flags, + stream->read_offset); + stream->data_in->di_if->di_dump_state(stream->data_in); +} + + +void * +lsquic_stream_get_hset (struct lsquic_stream *stream) +{ + void *hset; + struct uncompressed_headers *uh; + + if (stream_is_read_reset(stream)) + { + LSQ_INFO("%s: stream is reset, no headers returned", __func__); + errno = ECONNRESET; + return NULL; + } + + if (!((stream->sm_bflags & SMBF_USE_HEADERS) + && (stream->stream_flags & STREAM_HAVE_UH))) + { + LSQ_INFO("%s: unexpected call, flags: 0x%X", __func__, + stream->stream_flags); + return NULL; + } + + if (!stream->uh) + { + LSQ_INFO("%s: headers unavailable (already fetched?)", __func__); + return NULL; + } + + hset = stream->uh->uh_hset; + stream->uh->uh_hset = NULL; + + uh = stream->uh; + stream->uh = uh->uh_next; + free(uh); + + if (stream->stream_flags & STREAM_HEAD_IN_FIN) + { + + stream->stream_flags |= STREAM_FIN_REACHED; + SM_HISTORY_APPEND(stream, SHE_REACH_FIN); + } + maybe_update_last_progress(stream); + LSQ_DEBUG("return header set"); + return hset; +} + + +void +lsquic_stream_set_stream_if (struct lsquic_stream *stream, + const struct lsquic_stream_if *stream_if, void *stream_if_ctx) +{ + SM_HISTORY_APPEND(stream, SHE_IF_SWITCH); + stream->stream_if = stream_if; + stream->sm_onnew_arg = stream_if_ctx; + LSQ_DEBUG("switched interface"); + assert(stream->stream_flags & STREAM_ONNEW_DONE); + stream->st_ctx = stream->stream_if->on_new_stream(stream->sm_onnew_arg, + stream); +} + + +static int +update_type_hist_and_check (const struct lsquic_stream *stream, + struct hq_filter *filter) +{ + switch (filter->hqfi_type) + { + case HQFT_HEADERS: + if (filter->hqfi_flags & HQFI_FLAG_TRAILER) + return -1; + if (filter->hqfi_flags & HQFI_FLAG_DATA) + filter->hqfi_flags |= HQFI_FLAG_TRAILER; + else + filter->hqfi_flags |= HQFI_FLAG_HEADER; + break; + case HQFT_DATA: + if ((filter->hqfi_flags & (HQFI_FLAG_HEADER + | HQFI_FLAG_TRAILER)) != HQFI_FLAG_HEADER) + return -1; + filter->hqfi_flags |= HQFI_FLAG_DATA; + break; + case HQFT_PUSH_PROMISE: + /* [draft-ietf-quic-http-24], Section 7 */ + if ((stream->id & SIT_MASK) == SIT_BIDI_CLIENT + && !(stream->sm_bflags & SMBF_SERVER)) + return 0; + else + return -1; + case HQFT_CANCEL_PUSH: + case HQFT_SETTINGS: + case HQFT_GOAWAY: + case HQFT_MAX_PUSH_ID: + /* [draft-ietf-quic-http-24], Section 7 */ + return -1; + case 2: /* HTTP/2 PRIORITY */ + case 6: /* HTTP/2 PING */ + case 8: /* HTTP/2 WINDOW_UPDATE */ + case 9: /* HTTP/2 CONTINUATION */ + /* [draft-ietf-quic-http-30], Section 7.2.8 */ + return -1; + case HQFT_PRIORITY_UPDATE_STREAM: + case HQFT_PRIORITY_UPDATE_PUSH: + if (stream->sm_bflags & SMBF_HTTP_PRIO) + /* If we know about Extensible HTTP Priorities, we should check + * that they do not arrive on any but the control stream: + */ + return -1; + else + /* On the other hand, if we do not support Priorities, treat it + * as an unknown frame: + */ + return 0; + default: + /* Ignore unknown frames */ + return 0; + } + + return 0; +} + + +int +lsquic_stream_header_is_pp (const struct lsquic_stream *stream) +{ + return stream->sm_hq_filter.hqfi_type == HQFT_PUSH_PROMISE; +} + + +int +lsquic_stream_header_is_trailer (const struct lsquic_stream *stream) +{ + return (stream->stream_flags & STREAM_HAVE_UH) + && stream->sm_hq_filter.hqfi_type == HQFT_HEADERS; +} + + +static void +verify_cl_on_new_data_frame (struct lsquic_stream *stream, + struct hq_filter *filter) +{ + struct lsquic_conn *lconn; + + stream->sm_data_in += filter->hqfi_left; + if (stream->sm_data_in > stream->sm_cont_len) + { + lconn = stream->conn_pub->lconn; + lconn->cn_if->ci_abort_error(lconn, 1, HEC_MESSAGE_ERROR, + "number of bytes in DATA frames of stream %"PRIu64" exceeds " + "content-length limit of %llu", stream->id, stream->sm_cont_len); + } +} + + +static size_t +hq_read (void *ctx, const unsigned char *buf, size_t sz, int fin) +{ + struct lsquic_stream *const stream = ctx; + struct hq_filter *const filter = &stream->sm_hq_filter; + const unsigned char *p = buf, *prev; + const unsigned char *const end = buf + sz; + struct lsquic_conn *lconn; + enum lsqpack_read_header_status rhs; + int s; + + while (p < end) + { + switch (filter->hqfi_state) + { + case HQFI_STATE_FRAME_HEADER_BEGIN: + filter->hqfi_vint2_state.vr2s_state = 0; + filter->hqfi_state = HQFI_STATE_FRAME_HEADER_CONTINUE; + /* fall-through */ + case HQFI_STATE_FRAME_HEADER_CONTINUE: + s = lsquic_varint_read_two(&p, end, &filter->hqfi_vint2_state); + if (s < 0) + break; + filter->hqfi_flags |= HQFI_FLAG_BEGIN; + filter->hqfi_state = HQFI_STATE_READING_PAYLOAD; +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + if(stream->conn_pub->enpub->enp_settings.es_webtransport_server) { + // 4.2. Bidirectional Streams, https://datatracker.ietf.org/doc/draft-ietf-webtrans-http3/05/ +#define WEBTRANSPORT_BIDI_STREAM_TYPE (0x41) + if(filter->hqfi_type == WEBTRANSPORT_BIDI_STREAM_TYPE) { + // check webtransport_session_stream_id availability as well SMBF_WEBTRANSPORT_SESSION_STREAM + // flag for webtransport_session_stream_id stream in app code + stream->webtransport_session_stream_id = filter->hqfi_webtransport_session_id; + stream->stream_flags |= SMBF_WEBTRANSPORT_CLIENT_BIDI_STREAM; + // disable header processing as we will not have any headers for this stream anymore + stream->sm_bflags &= ~SMBF_USE_HEADERS; + filter->hqfi_type = HQFT_DATA; + filter->hqfi_left = UINT64_MAX; // set data size infinite to keep processing till stream reset + goto end; + } + } +#endif + LSQ_DEBUG("HQ frame type 0x%"PRIX64" at offset %"PRIu64", size %"PRIu64, + filter->hqfi_type, stream->read_offset + (unsigned) (p - buf), + filter->hqfi_left); + if (0 != update_type_hist_and_check(stream, filter)) + { + lconn = stream->conn_pub->lconn; + filter->hqfi_flags |= HQFI_FLAG_ERROR; + LSQ_INFO("unexpected HTTP/3 frame sequence"); + lconn->cn_if->ci_abort_error(lconn, 1, HEC_FRAME_UNEXPECTED, + "unexpected HTTP/3 frame sequence on stream %"PRIu64, + stream->id); + goto end; + } + if (filter->hqfi_left > 0) + { + if (filter->hqfi_type == HQFT_DATA) + { + if (stream->sm_bflags & SMBF_VERIFY_CL) + verify_cl_on_new_data_frame(stream, filter); + goto end; + } + else if (filter->hqfi_type == HQFT_PUSH_PROMISE) + { + if (stream->sm_bflags & SMBF_SERVER) + { + lconn = stream->conn_pub->lconn; + lconn->cn_if->ci_abort_error(lconn, 1, + HEC_FRAME_UNEXPECTED, "Received PUSH_PROMISE frame " + "on stream %"PRIu64" (clients are not supposed to " + "send those)", stream->id); + goto end; + } + else + filter->hqfi_state = HQFI_STATE_PUSH_ID_BEGIN; + } + } + else + { + switch (filter->hqfi_type) + { + case HQFT_CANCEL_PUSH: + case HQFT_GOAWAY: + case HQFT_HEADERS: + case HQFT_MAX_PUSH_ID: + case HQFT_PUSH_PROMISE: + case HQFT_SETTINGS: + filter->hqfi_flags |= HQFI_FLAG_ERROR; + LSQ_INFO("HQ frame of type %"PRIu64" cannot be size 0", + filter->hqfi_type); + abort_connection(stream); /* XXX Overkill? */ + goto end; + default: + filter->hqfi_flags &= ~HQFI_FLAG_BEGIN; + filter->hqfi_state = HQFI_STATE_FRAME_HEADER_BEGIN; + break; + } + } + break; + case HQFI_STATE_PUSH_ID_BEGIN: + filter->hqfi_vint1_state.pos = 0; + filter->hqfi_state = HQFI_STATE_PUSH_ID_CONTINUE; + /* Fall-through */ + case HQFI_STATE_PUSH_ID_CONTINUE: + prev = p; + s = lsquic_varint_read_nb(&p, end, &filter->hqfi_vint1_state); + filter->hqfi_left -= p - prev; + if (s == 0) + filter->hqfi_state = HQFI_STATE_READING_PAYLOAD; + /* A bit of a white lie here */ + break; + case HQFI_STATE_READING_PAYLOAD: + if (filter->hqfi_type == HQFT_DATA) + goto end; + sz = filter->hqfi_left; + if (sz > (uintptr_t) (end - p)) + sz = (uintptr_t) (end - p); + switch (filter->hqfi_type) + { + case HQFT_HEADERS: + case HQFT_PUSH_PROMISE: + prev = p; + if (filter->hqfi_flags & HQFI_FLAG_BEGIN) + { + filter->hqfi_flags &= ~HQFI_FLAG_BEGIN; + rhs = lsquic_qdh_header_in_begin( + stream->conn_pub->u.ietf.qdh, + stream, filter->hqfi_left, &p, sz); + } + else + rhs = lsquic_qdh_header_in_continue( + stream->conn_pub->u.ietf.qdh, stream, &p, sz); + assert(p > prev || LQRHS_ERROR == rhs); + filter->hqfi_left -= p - prev; + if (filter->hqfi_left == 0) + filter->hqfi_state = HQFI_STATE_FRAME_HEADER_BEGIN; + switch (rhs) + { + case LQRHS_DONE: + assert(filter->hqfi_left == 0); + stream->sm_qflags &= ~SMQF_QPACK_DEC; + break; + case LQRHS_NEED: + stream->sm_qflags |= SMQF_QPACK_DEC; + break; + case LQRHS_BLOCKED: + stream->sm_qflags |= SMQF_QPACK_DEC; + filter->hqfi_flags |= HQFI_FLAG_BLOCKED; + goto end; + default: + assert(LQRHS_ERROR == rhs); + stream->sm_qflags &= ~SMQF_QPACK_DEC; + filter->hqfi_flags |= HQFI_FLAG_ERROR; + LSQ_INFO("error processing header block"); + abort_connection(stream); /* XXX Overkill? */ + goto end; + } + break; + default: + /* Simply skip unknown frame type payload for now */ + filter->hqfi_flags &= ~HQFI_FLAG_BEGIN; + p += sz; + filter->hqfi_left -= sz; + if (filter->hqfi_left == 0) + filter->hqfi_state = HQFI_STATE_FRAME_HEADER_BEGIN; + break; + } + break; + default: + assert(0); + goto end; + } + } + + end: + if (fin && p == end && filter->hqfi_state != HQFI_STATE_FRAME_HEADER_BEGIN) + { + LSQ_INFO("FIN at unexpected place in filter; state: %u", + filter->hqfi_state); + filter->hqfi_flags |= HQFI_FLAG_ERROR; +/* From [draft-ietf-quic-http-28] Section 7.1: + " When a stream terminates cleanly, if the last frame on the stream was + " truncated, this MUST be treated as a connection error (Section 8) of + " type H3_FRAME_ERROR. Streams which terminate abruptly may be reset + " at any point in a frame. + */ + lconn = stream->conn_pub->lconn; + lconn->cn_if->ci_abort_error(lconn, 1, HEC_FRAME_ERROR, + "last HTTP/3 frame on stream %"PRIu64" was truncated", stream->id); + } + + return p - buf; +} + + +static int +hq_filter_readable_now (const struct lsquic_stream *stream) +{ + const struct hq_filter *const filter = &stream->sm_hq_filter; + + return (filter->hqfi_type == HQFT_DATA + && filter->hqfi_state == HQFI_STATE_READING_PAYLOAD) + || (filter->hqfi_flags & HQFI_FLAG_ERROR) + || stream->uh + || (stream->stream_flags & STREAM_FIN_REACHED) + ; +} + + +static int +hq_filter_readable (struct lsquic_stream *stream) +{ + struct hq_filter *const filter = &stream->sm_hq_filter; + ssize_t nread; + + if (filter->hqfi_flags & HQFI_FLAG_BLOCKED) + return 0; + + if (!hq_filter_readable_now(stream)) + { + nread = read_data_frames(stream, 0, hq_read, stream); + if (nread <= 0) + { + if (nread < 0) + { + filter->hqfi_flags |= HQFI_FLAG_ERROR; + abort_connection(stream); /* XXX Overkill? */ + return 1; /* Collect error */ + } + return 0; + } + } + + return hq_filter_readable_now(stream); +} + + +static size_t +hq_filter_df (struct lsquic_stream *stream, struct data_frame *data_frame) +{ + struct hq_filter *const filter = &stream->sm_hq_filter; + size_t nr; + + if (!(filter->hqfi_state == HQFI_STATE_READING_PAYLOAD + && filter->hqfi_type == HQFT_DATA)) + { + nr = hq_read(stream, data_frame->df_data + data_frame->df_read_off, + data_frame->df_size - data_frame->df_read_off, + data_frame->df_fin); + if (nr) + { + stream->read_offset += nr; + stream_consumed_bytes(stream); + } + } + else + nr = 0; + + if (0 == (filter->hqfi_flags & HQFI_FLAG_ERROR)) + { + data_frame->df_read_off += nr; + if (filter->hqfi_state == HQFI_STATE_READING_PAYLOAD + && filter->hqfi_type == HQFT_DATA) + return MIN(filter->hqfi_left, + (unsigned) data_frame->df_size - data_frame->df_read_off); + else + { + if (!((filter->hqfi_type == HQFT_HEADERS + || filter->hqfi_type == HQFT_PUSH_PROMISE) + && (filter->hqfi_flags & HQFI_FLAG_BLOCKED))) + assert(data_frame->df_read_off == data_frame->df_size); + return 0; + } + } + else + { + data_frame->df_read_off = data_frame->df_size; + return 0; + } +} + + +static void +hq_decr_left (struct lsquic_stream *stream, size_t read) +{ + struct hq_filter *const filter = &stream->sm_hq_filter; + + if (read) + { + assert(filter->hqfi_state == HQFI_STATE_READING_PAYLOAD + && filter->hqfi_type == HQFT_DATA); + assert(read <= filter->hqfi_left); + } + + filter->hqfi_left -= read; + if (0 == filter->hqfi_left) + filter->hqfi_state = HQFI_STATE_FRAME_HEADER_BEGIN; +} + + +/* These are IETF QUIC states */ +enum stream_state_sending +lsquic_stream_sending_state (const struct lsquic_stream *stream) +{ + if (0 == (stream->stream_flags & STREAM_RST_SENT)) + { + if (stream->stream_flags & STREAM_FIN_SENT) + { + if (stream->n_unacked) + return SSS_DATA_SENT; + else + return SSS_DATA_RECVD; + } + else + { + if (stream->tosend_off + || (stream->stream_flags & STREAM_BLOCKED_SENT)) + return SSS_SEND; + else + return SSS_READY; + } + } + else if (stream->stream_flags & STREAM_RST_ACKED) + return SSS_RESET_RECVD; + else + return SSS_RESET_SENT; +} + + +const char *const lsquic_sss2str[] = +{ + [SSS_READY] = "Ready", + [SSS_SEND] = "Send", + [SSS_DATA_SENT] = "Data Sent", + [SSS_RESET_SENT] = "Reset Sent", + [SSS_DATA_RECVD] = "Data Recvd", + [SSS_RESET_RECVD] = "Reset Recvd", +}; + + +const char *const lsquic_ssr2str[] = +{ + [SSR_RECV] = "Recv", + [SSR_SIZE_KNOWN] = "Size Known", + [SSR_DATA_RECVD] = "Data Recvd", + [SSR_RESET_RECVD] = "Reset Recvd", + [SSR_DATA_READ] = "Data Read", + [SSR_RESET_READ] = "Reset Read", +}; + + +/* These are IETF QUIC states */ +enum stream_state_receiving +lsquic_stream_receiving_state (struct lsquic_stream *stream) +{ + uint64_t n_bytes; + + if (0 == (stream->stream_flags & STREAM_RST_RECVD)) + { + if (0 == (stream->stream_flags & STREAM_FIN_RECVD)) + return SSR_RECV; + if (stream->stream_flags & STREAM_FIN_REACHED) + return SSR_DATA_READ; + if (0 == (stream->stream_flags & STREAM_DATA_RECVD)) + { + n_bytes = stream->data_in->di_if->di_readable_bytes( + stream->data_in, stream->read_offset); + if (stream->read_offset + n_bytes == stream->sm_fin_off) + { + stream->stream_flags |= STREAM_DATA_RECVD; + return SSR_DATA_RECVD; + } + else + return SSR_SIZE_KNOWN; + } + else + return SSR_DATA_RECVD; + } + else if (stream->stream_flags & STREAM_RST_READ) + return SSR_RESET_READ; + else + return SSR_RESET_RECVD; +} + + +void +lsquic_stream_qdec_unblocked (struct lsquic_stream *stream) +{ + struct hq_filter *const filter = &stream->sm_hq_filter; + + assert(stream->sm_qflags & SMQF_QPACK_DEC); + assert(filter->hqfi_flags & HQFI_FLAG_BLOCKED); + + filter->hqfi_flags &= ~HQFI_FLAG_BLOCKED; + stream->conn_pub->cp_flags |= CP_STREAM_UNBLOCKED; + LSQ_DEBUG("QPACK decoder unblocked"); +} + + +int +lsquic_stream_is_rejected (const struct lsquic_stream *stream) +{ + return stream->stream_flags & STREAM_SS_RECVD; +} + + +int +lsquic_stream_can_push (const struct lsquic_stream *stream) +{ + if (lsquic_stream_is_pushed(stream)) + return 0; + else if (stream->sm_bflags & SMBF_IETF) + return (stream->sm_bflags & SMBF_USE_HEADERS) + && !(stream->stream_flags & (STREAM_HEADERS_SENT|STREAM_NOPUSH)) + && stream->sm_send_headers_state == SSHS_BEGIN + ; + else + return 1; +} + + +static size_t +pp_reader_read (void *lsqr_ctx, void *buf, size_t count) +{ + struct push_promise *const promise = lsqr_ctx; + unsigned char *dst = buf; + unsigned char *const end = dst + count; + size_t len; + + while (dst < end) + { + switch (promise->pp_write_state) + { + case PPWS_ID0: + case PPWS_ID1: + case PPWS_ID2: + case PPWS_ID3: + case PPWS_ID4: + case PPWS_ID5: + case PPWS_ID6: + case PPWS_ID7: + *dst++ = promise->pp_encoded_push_id[promise->pp_write_state]; + ++promise->pp_write_state; + break; + case PPWS_PFX0: + *dst++ = 0; + ++promise->pp_write_state; + break; + case PPWS_PFX1: + *dst++ = 0; + ++promise->pp_write_state; + break; + case PPWS_HBLOCK: + len = MIN(promise->pp_content_len - promise->pp_write_off, + (size_t) (end - dst)); + memcpy(dst, promise->pp_content_buf + promise->pp_write_off, + len); + promise->pp_write_off += len; + dst += len; + if (promise->pp_content_len == promise->pp_write_off) + { + LSQ_LOG1(LSQ_LOG_DEBUG, "finish writing push promise %"PRIu64 + ": reset push state", promise->pp_id); + promise->pp_write_state = PPWS_DONE; + } + goto end; + default: + goto end; + } + } + + end: + return dst - (unsigned char *) buf; +} + + +static size_t +pp_reader_size (void *lsqr_ctx) +{ + struct push_promise *const promise = lsqr_ctx; + size_t size; + + size = 0; + switch (promise->pp_write_state) + { + case PPWS_ID0: + case PPWS_ID1: + case PPWS_ID2: + case PPWS_ID3: + case PPWS_ID4: + case PPWS_ID5: + case PPWS_ID6: + case PPWS_ID7: + size += 8 - promise->pp_write_state; + /* fall-through */ + case PPWS_PFX0: + ++size; + /* fall-through */ + case PPWS_PFX1: + ++size; + /* fall-through */ + case PPWS_HBLOCK: + size += promise->pp_content_len - promise->pp_write_off; + break; + default: + break; + } + + return size; +} + + +static void +init_pp_reader (struct push_promise *promise, struct lsquic_reader *reader) +{ + reader->lsqr_read = pp_reader_read; + reader->lsqr_size = pp_reader_size; + reader->lsqr_ctx = promise; +} + + +static void +on_write_pp_wrapper (struct lsquic_stream *stream, lsquic_stream_ctx_t *h) +{ + struct lsquic_reader pp_reader; + struct push_promise *promise; + ssize_t nw; + int want_write; + + assert(stream_is_pushing_promise(stream)); + + promise = SLIST_FIRST(&stream->sm_promises); + init_pp_reader(promise, &pp_reader); + nw = stream_write(stream, &pp_reader, SWO_BUFFER); + if (nw > 0) + { + LSQ_DEBUG("wrote %zd bytes more of push promise (%s)", + nw, promise->pp_write_state == PPWS_DONE ? "done" : "not done"); + if (promise->pp_write_state == PPWS_DONE) + { + stream->stream_flags &= ~STREAM_PUSHING; + /* Restore want_write flag */ + want_write = !!(stream->sm_qflags & SMQF_WANT_WRITE); + if (want_write != stream->sm_saved_want_write) + (void) lsquic_stream_wantwrite(stream, + stream->sm_saved_want_write); + } + } + else if (nw < 0) + { + LSQ_WARN("could not write push promise (wrapper)"); + /* XXX What should happen if we hit an error? TODO */ + } +} + + +/* Success means that the push promise has been placed on sm_promises list and + * the stream now owns it. Failure means that the push promise should be + * destroyed by the caller. + * + * A push promise is written immediately. If it cannot be written to packets + * or buffered whole, the stream is marked as unable to push further promises. + */ +int +lsquic_stream_push_promise (struct lsquic_stream *stream, + struct push_promise *promise) +{ + struct lsquic_reader pp_reader; + struct stream_hq_frame *shf; + unsigned bits, len; + ssize_t nw; + + assert(stream->sm_bflags & SMBF_IETF); + + if (stream->stream_flags & STREAM_NOPUSH) + return -1; + + bits = vint_val2bits(promise->pp_id); + len = 1 << bits; + promise->pp_write_state = 8 - len; + vint_write(promise->pp_encoded_push_id + 8 - len, promise->pp_id, + bits, 1 << bits); + + shf = stream_activate_hq_frame(stream, + stream->sm_payload + stream->sm_n_buffered, HQFT_PUSH_PROMISE, + SHF_FIXED_SIZE, pp_reader_size(promise)); + if (!shf) + return -1; + + stream->stream_flags |= STREAM_PUSHING; + + init_pp_reader(promise, &pp_reader); +#ifdef FIU_ENABLE + if (fiu_fail("stream/fail_initial_pp_write")) + { + LSQ_NOTICE("%s: failed to write push promise (fiu)", __func__); + nw = -1; + } + else +#endif + nw = stream_write(stream, &pp_reader, SWO_BUFFER); + if (nw > 0) + { + SLIST_INSERT_HEAD(&stream->sm_promises, promise, pp_next); + ++promise->pp_refcnt; + if (promise->pp_write_state == PPWS_DONE) + { + LSQ_DEBUG("fully wrote promise %"PRIu64, promise->pp_id); + stream->stream_flags &= ~STREAM_PUSHING; + } + else + { + LSQ_DEBUG("partially wrote promise %"PRIu64" (state: %d, off: %u)" + ", disable further pushing", promise->pp_id, + promise->pp_write_state, promise->pp_write_off); + stream->stream_flags |= STREAM_NOPUSH; + stream->sm_saved_want_write = + !!(stream->sm_qflags & SMQF_WANT_WRITE); + lsquic_stream_flush(stream); + stream_wantwrite(stream, 1); + } + return 0; + } + else + { + if (nw < 0) + LSQ_WARN("failure writing push promise"); + stream_hq_frame_put(stream, shf); + stream->stream_flags |= STREAM_NOPUSH; + stream->stream_flags &= ~STREAM_PUSHING; + return -1; + } +} + + +int +lsquic_stream_verify_len (struct lsquic_stream *stream, + unsigned long long cont_len) +{ + if ((stream->sm_bflags & (SMBF_IETF|SMBF_USE_HEADERS)) + == (SMBF_IETF|SMBF_USE_HEADERS)) + { + stream->sm_cont_len = cont_len; + stream->sm_bflags |= SMBF_VERIFY_CL; + LSQ_DEBUG("will verify that incoming DATA frames have %llu bytes", + cont_len); + return 0; + } + else + return -1; +} + + +int +lsquic_stream_get_http_prio (struct lsquic_stream *stream, + struct lsquic_ext_http_prio *ehp) +{ + if (stream->sm_bflags & SMBF_HTTP_PRIO) + { + ehp->urgency = MIN(stream->sm_priority, LSQUIC_MAX_HTTP_URGENCY); + ehp->incremental = !!(stream->sm_bflags & SMBF_INCREMENTAL); + return 0; + } + else + return -1; +} + + +int +lsquic_stream_set_http_prio (struct lsquic_stream *stream, + const struct lsquic_ext_http_prio *ehp) +{ + if (stream->sm_bflags & SMBF_HTTP_PRIO) + { + if (ehp->urgency > LSQUIC_MAX_HTTP_URGENCY) + { + LSQ_INFO("%s: invalid urgency: %hhu", __func__, ehp->urgency); + return -1; + } + stream->sm_priority = ehp->urgency; + if (ehp->incremental) + stream->sm_bflags |= SMBF_INCREMENTAL; + else + stream->sm_bflags &= ~SMBF_INCREMENTAL; + stream->sm_bflags |= SMBF_HPRIO_SET; + LSQ_DEBUG("set urgency to %hhu, incremental to %hhd", ehp->urgency, + ehp->incremental); + if (!(stream->sm_bflags & SMBF_SERVER)) + return send_priority_ietf(stream); + else + return 0; + } + else + return -1; +} + + +int +lsquic_stream_has_unacked_data (struct lsquic_stream *stream) +{ + return stream->n_unacked > 0 || stream->sm_n_buffered > 0; +} diff --git a/external/lsquic/src/liblsquic/lsquic_stream.h b/external/lsquic/src/liblsquic/lsquic_stream.h new file mode 100644 index 0000000..e1240d9 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_stream.h @@ -0,0 +1,682 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_STREAM_H +#define LSQUIC_STREAM_H + +#define LSQUIC_STREAM_DEFAULT_PRIO 16 /* RFC 7540, Section 5.3.5 */ + + +struct lsquic_stream_if; +struct lsquic_stream_ctx; +struct lsquic_conn_public; +struct stream_frame; +struct uncompressed_headers; +enum enc_level; +enum swtp_status; +struct frame_gen_ctx; +struct data_frame; +enum quic_frame_type; +struct push_promise; +union hblock_ctx; +struct lsquic_packet_out; +struct lsquic_send_ctl; +struct network_path; + +TAILQ_HEAD(lsquic_streams_tailq, lsquic_stream); + + +#ifndef LSQUIC_KEEP_STREAM_HISTORY +# define LSQUIC_KEEP_STREAM_HISTORY 1 +#endif + + +#if LSQUIC_KEEP_STREAM_HISTORY +#define SM_HIST_BITS 6 +#define SM_HIST_IDX_MASK ((1 << SM_HIST_BITS) - 1) +typedef unsigned char sm_hist_idx_t; +#endif + + +/* + * +----------+----------------------------------+ + * | Low Bits | Stream Type | + * +----------+----------------------------------+ + * | 0x0 | Client-Initiated, Bidirectional | + * | | | + * | 0x1 | Server-Initiated, Bidirectional | + * | | | + * | 0x2 | Client-Initiated, Unidirectional | + * | | | + * | 0x3 | Server-Initiated, Unidirectional | + * +----------+----------------------------------+ + */ + +enum stream_id_type +{ + SIT_BIDI_CLIENT, + SIT_BIDI_SERVER, + SIT_UNI_CLIENT, + SIT_UNI_SERVER, + N_SITS +}; + +#define SIT_MASK (N_SITS - 1) + +#define SIT_SHIFT 2 +#define SD_SHIFT 1 + +enum stream_dir { SD_BIDI, SD_UNI, N_SDS }; + + +struct stream_hq_frame +{ + STAILQ_ENTRY(stream_hq_frame) + shf_next; + /* At which point in the stream (sm_payload) to insert the HQ frame. */ + uint64_t shf_off; + union { + /* Points to the frame if SHF_FIXED_SIZE is not set */ + unsigned char *frame_ptr; + /* If SHF_FIXED_SIZE is set, the size of the frame to follow. + * Non-fixed frame size gets calculated using sm_payload when they + * are closed. + */ + size_t frame_size; + } shf_u; +#define shf_frame_ptr shf_u.frame_ptr +#define shf_frame_size shf_u.frame_size + enum hq_frame_type shf_frame_type; + enum shf_flags { + SHF_TWO_BYTES = 1 << 0, /* Use two byte to encode frame length */ + SHF_FIXED_SIZE = 1 << 1, /* Payload size guaranteed */ + SHF_ACTIVE = 1 << 2, /* On sm_hq_frames list */ + SHF_WRITTEN = 1 << 3, /* Framing bytes have been packetized */ + SHF_CC_PAID = 1 << 4, /* Paid connection cap */ + SHF_PHANTOM = 1 << 5, /* Phantom frame headers are not written */ + } shf_flags:8; +}; + + +struct hq_filter +{ + struct varint_read2_state hqfi_vint2_state; + /* No need to copy the values: use it directly */ +#define hqfi_left hqfi_vint2_state.vr2s_two +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT +#define hqfi_webtransport_session_id hqfi_vint2_state.vr2s_two +#endif +#define hqfi_type hqfi_vint2_state.vr2s_one + struct varint_read_state hqfi_vint1_state; +#define hqfi_push_id hqfi_vint1_state.value + enum { + HQFI_FLAG_UNUSED_0 = 1 << 0, + HQFI_FLAG_ERROR = 1 << 1, + HQFI_FLAG_BEGIN = 1 << 2, + HQFI_FLAG_BLOCKED = 1 << 3, + HQFI_FLAG_HEADER = 1 << 4, + HQFI_FLAG_DATA = 1 << 5, + HQFI_FLAG_TRAILER = 1 << 6, + } hqfi_flags:8; + enum { + HQFI_STATE_FRAME_HEADER_BEGIN, + HQFI_STATE_FRAME_HEADER_CONTINUE, + HQFI_STATE_READING_PAYLOAD, + HQFI_STATE_PUSH_ID_BEGIN, + HQFI_STATE_PUSH_ID_CONTINUE, + } hqfi_state:8; +}; + + +struct stream_filter_if +{ + int (*sfi_readable)(struct lsquic_stream *); + size_t (*sfi_filter_df)(struct lsquic_stream *, struct data_frame *); + void (*sfi_decr_left)(struct lsquic_stream *, size_t); +}; + + +/* These flags indicate which queues -- or other entities -- currently + * reference the stream. + */ +enum stream_q_flags +{ + /* read_streams: */ + SMQF_WANT_READ = 1 << 0, + + /* write_streams: */ +#define SMQF_WRITE_Q_FLAGS (SMQF_WANT_FLUSH|SMQF_WANT_WRITE) + SMQF_WANT_WRITE = 1 << 1, + SMQF_WANT_FLUSH = 1 << 2, /* Flush until sm_flush_to is hit */ + + /* There are more than one reason that a stream may be put onto + * connections's sending_streams queue. Note that writing STREAM + * frames is done separately. + */ +#define SMQF_SENDING_FLAGS (SMQF_SEND_WUF|SMQF_SEND_RST|SMQF_SEND_BLOCKED\ + |SMQF_SEND_STOP_SENDING) + /* sending_streams: */ + SMQF_SEND_WUF = 1 << 3, /* WUF: Window Update Frame */ + SMQF_SEND_BLOCKED = 1 << 4, + SMQF_SEND_RST = 1 << 5, /* Error: want to send RST_STREAM */ + SMQF_SEND_STOP_SENDING = 1 << 10, + + /* The equivalent of WINDOW_UPDATE frame for streams in IETF QUIC is + * the MAX_STREAM_DATA frame. Define an alias for use in the IETF + * QUIC code: + */ +#define SMQF_SEND_MAX_STREAM_DATA SMQF_SEND_WUF + +#define SMQF_SERVICE_FLAGS (SMQF_CALL_ONCLOSE|SMQF_FREE_STREAM|SMQF_ABORT_CONN) + SMQF_CALL_ONCLOSE = 1 << 6, + SMQF_FREE_STREAM = 1 << 7, + SMQF_ABORT_CONN = 1 << 8, /* Unrecoverable error occurred */ + + SMQF_QPACK_DEC = 1 << 9, /* QPACK decoder handler is holding a reference to this stream */ + + /* The stream can reference itself, preventing its own destruction: */ +#define SMQF_SELF_FLAGS SMQF_WAIT_FIN_OFF + SMQF_WAIT_FIN_OFF = 1 << 11, /* Waiting for final offset: FIN or RST */ +}; + + +/* Stream behavior flags */ +enum stream_b_flags +{ + SMBF_SERVER = 1 << 0, + SMBF_IETF = 1 << 1, + SMBF_USE_HEADERS = 1 << 2, + SMBF_CRYPTO = 1 << 3, /* Crypto stream: applies to both gQUIC and IETF QUIC */ + SMBF_CRITICAL = 1 << 4, /* This is a critical stream */ + SMBF_AUTOSWITCH = 1 << 5, + SMBF_RW_ONCE = 1 << 6, /* When set, read/write events are dispatched once per call */ + SMBF_CONN_LIMITED = 1 << 7, + SMBF_HEADERS = 1 << 8, /* Headers stream */ + SMBF_VERIFY_CL = 1 << 9, /* Verify content-length (stored in sm_cont_len) */ + SMBF_HTTP_PRIO = 1 <<10, /* Extensible HTTP Priorities are used */ + SMBF_INCREMENTAL = 1 <<11, /* Value of the "incremental" HTTP Priority parameter */ + SMBF_HPRIO_SET = 1 <<12, /* Extensible HTTP Priorities have been set once */ + SMBF_DELAY_ONCLOSE= 1 <<13, /* Delay calling on_close() until peer ACKs everything */ +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + SMBF_WEBTRANSPORT_SESSION_STREAM = 1 <<14, /* WEBTRANSPORT session stream */ + SMBF_WEBTRANSPORT_CLIENT_BIDI_STREAM = 1 <<15, /* WEBTRANSPORT client initiated bidi stream */ +#define N_SMBF_FLAGS 16 +#else +#define N_SMBF_FLAGS 14 +#endif +}; + + +/* Stream "callback done" flags */ +/* TODO: move STREAM.*DONE flags from stream_flags here */ +enum stream_d_flags +{ + SMDF_ONRESET0 = 1 << 0, /* Called on_reset(0) */ + SMDF_ONRESET1 = 1 << 1, /* Called on_reset(1) */ +}; + + +enum stream_flags { + STREAM_FIN_RECVD = 1 << 0, /* Received STREAM frame with FIN bit set */ + STREAM_RST_RECVD = 1 << 1, /* Received RST frame */ + STREAM_LAST_WRITE_OK= 1 << 2, /* Used to break out of write event dispatch loop */ + STREAM_U_READ_DONE = 1 << 3, /* User is done reading (shutdown was called) */ + STREAM_U_WRITE_DONE = 1 << 4, /* User is done writing (shutdown was called) */ + STREAM_FIN_SENT = 1 << 5, /* FIN was written to network */ + STREAM_RST_SENT = 1 << 6, /* RST_STREAM was written to network */ + STREAM_FIN_REACHED = 1 << 7, /* User read data up to FIN */ + STREAM_FINISHED = 1 << 8, /* Stream is finished */ + STREAM_ONCLOSE_DONE = 1 << 9, /* on_close has been called */ + STREAM_CACHED_FRAME = 1 << 10, /* If set, sm_has_frame can be used */ + STREAM_HEADERS_SENT = 1 << 11, + STREAM_HAVE_UH = 1 << 12, /* Have uncompressed headers */ + STREAM_ENCODER_DEP = 1 << 13, /* Encoder dependency: flush (IETF only) */ + STREAM_HEAD_IN_FIN = 1 << 14, /* Incoming headers has FIN bit set */ + STREAM_FRAMES_ELIDED= 1 << 15, + STREAM_FORCE_FINISH = 1 << 16, /* Replaces FIN sent and received */ + STREAM_ONNEW_DONE = 1 << 17, /* on_new_stream has been called */ + STREAM_PUSHING = 1 << 18, + STREAM_NOPUSH = 1 << 19, /* Disallow further push promises */ + STREAM_GOAWAY_IN = 1 << 20, /* Incoming GOAWAY has been processed */ + STREAM_SS_SENT = 1 << 21, /* STOP_SENDING sent */ + STREAM_RST_ACKED = 1 << 22, /* Packet containing RST has been acked */ + STREAM_BLOCKED_SENT = 1 << 23, /* Stays set once a STREAM_BLOCKED frame is sent */ + STREAM_RST_READ = 1 << 24, /* User code collected the error */ + STREAM_DATA_RECVD = 1 << 25, /* Cache stream state calculation */ + STREAM_UNUSED26 = 1 << 26, /* Unused */ + STREAM_HDRS_FLUSHED = 1 << 27, /* Only used in buffered packets mode */ + STREAM_SS_RECVD = 1 << 28, /* Received STOP_SENDING frame */ + STREAM_DELAYED_SW = 1 << 29, /* Delayed shutdown_write call */ +}; + + +/* By keeping this number low, we make sure that the code to allocate HQ + * frames dynamically gets exercised whenever push promises are sent. + */ +#define NUM_ALLOCED_HQ_FRAMES 2 + + +struct lsquic_stream +{ + struct lsquic_hash_elem sm_hash_el; + lsquic_stream_id_t id; + enum stream_flags stream_flags; + enum stream_b_flags sm_bflags; + enum stream_q_flags sm_qflags; + unsigned n_unacked; + + const struct lsquic_stream_if *stream_if; + struct lsquic_stream_ctx *st_ctx; + struct lsquic_conn_public *conn_pub; + TAILQ_ENTRY(lsquic_stream) next_send_stream, next_read_stream, + next_write_stream, next_service_stream, + next_prio_stream; + + uint64_t tosend_off; + uint64_t sm_payload; /* Not counting HQ frames */ + uint64_t max_send_off; + uint64_t sm_last_recv_off; + uint64_t error_code; + + /* From the network, we get frames, which we keep on a list ordered + * by offset. + */ + struct data_in *data_in; + uint64_t read_offset; + lsquic_sfcw_t fc; + + /* List of active HQ frames */ + STAILQ_HEAD(, stream_hq_frame) sm_hq_frames; + + /* For efficiency, several frames are allocated as part of the stream + * itself. If more frames are needed, they are allocated. + */ + struct stream_hq_frame sm_hq_frame_arr[NUM_ALLOCED_HQ_FRAMES]; + + struct hq_filter sm_hq_filter; + + /* Optional tap for pwritev undo */ + struct hq_arr *sm_hq_arr; + + /* We can safely use sm_hq_filter */ +#define sm_uni_type_state sm_hq_filter.hqfi_vint2_state.vr2s_varint_state + + /** If @ref SMQF_WANT_FLUSH is set, flush until this offset. */ + uint64_t sm_flush_to; + + /** + * If @ref SMQF_WANT_FLUSH is set, this indicates payload offset + * to flush to. Used to adjust @ref sm_flush_to when H3 frame + * size grows. + */ + uint64_t sm_flush_to_payload; + + /* Last offset sent in BLOCKED frame */ + uint64_t blocked_off; + + struct uncompressed_headers *uh, + *push_req; + union hblock_ctx *sm_hblock_ctx; + + unsigned char *sm_buf; + void *sm_onnew_arg; + + unsigned char *sm_header_block; + uint64_t sm_hb_compl; + + /* Valid if STREAM_FIN_RECVD is set: */ + uint64_t sm_fin_off; + + /* A stream may be generating STREAM or CRYPTO frames */ + size_t (*sm_frame_header_sz)( + const struct lsquic_stream *, unsigned); + enum swtp_status (*sm_write_to_packet)(struct frame_gen_ctx *, + const size_t); + size_t (*sm_write_avail)(struct lsquic_stream *); + int (*sm_readable)(struct lsquic_stream *); + + struct lsquic_packet_out * (*sm_get_packet_for_stream)( + struct lsquic_send_ctl *, + unsigned, const struct network_path *, + const struct lsquic_stream *); + + /* This element is optional */ + const struct stream_filter_if *sm_sfi; + + /* sm_promise and sm_promises are never used at the same time and can + * be combined into a union should space in this struct become tight. + */ + /* Push promise that engendered this push stream */ + struct push_promise *sm_promise; + + /* Push promises sent on this stream */ + SLIST_HEAD(, push_promise) sm_promises; + + uint64_t sm_last_frame_off; + +#ifndef NDEBUG + /* Last time stream made progress */ + lsquic_time_t sm_last_prog; +#endif + + /* Content length specified in incoming `content-length' header field. + * Used to verify size of DATA frames. + */ + unsigned long long sm_cont_len; + /* Sum of bytes in all incoming DATA frames. Used for verification. */ + unsigned long long sm_data_in; + + /* How much data there is in sm_header_block and how much of it has been + * sent: + */ + unsigned sm_hblock_sz, + sm_hblock_off; + + unsigned short sm_n_buffered; /* Amount of data in sm_buf */ + unsigned short sm_n_allocated; /* Size of sm_buf */ + + /* If SMBF_HTTP_PRIO is set, the priority is used to represent the + * Extensible Priority urgency, which is in the range [0, 7]. + */ + unsigned char sm_priority; /* 0: high; 255: low */ + unsigned char sm_enc_level; + enum { + SSHS_BEGIN, /* Nothing has happened yet */ + SSHS_ENC_SENDING, /* Sending encoder stream data */ + SSHS_HBLOCK_SENDING,/* Sending header block data */ + } sm_send_headers_state:8; + enum stream_d_flags sm_dflags:8; + signed char sm_saved_want_write; + signed char sm_has_frame; +#if LSQUIC_WEBTRANSPORT_SERVER_SUPPORT + lsquic_stream_id_t webtransport_session_stream_id; +#endif +#if LSQUIC_KEEP_STREAM_HISTORY + sm_hist_idx_t sm_hist_idx; +#endif + +#if LSQUIC_KEEP_STREAM_HISTORY + /* Stream history: see enum stream_history_event */ + unsigned char sm_hist_buf[ 1 << SM_HIST_BITS ]; +#endif +}; + + +enum stream_ctor_flags +{ + SCF_CALL_ON_NEW = (1 << (N_SMBF_FLAGS + 0)), /* Call on_new_stream() immediately */ + SCF_USE_DI_HASH = (1 << (N_SMBF_FLAGS + 1)), /* Use hash-based data input. If not set, + * the nocopy data input is used. + */ + SCF_CRYPTO_FRAMES = (1 << (N_SMBF_FLAGS + 2)), /* Write CRYPTO frames */ + SCF_DI_AUTOSWITCH = SMBF_AUTOSWITCH, /* Automatically switch between nocopy + * and hash-based to data input for optimal + * performance. + */ + SCF_DISP_RW_ONCE = SMBF_RW_ONCE, + SCF_CRITICAL = SMBF_CRITICAL, /* This is a critical stream */ + SCF_IETF = SMBF_IETF, + SCF_HTTP = SMBF_USE_HEADERS, + SCF_CRYPTO = SMBF_CRYPTO, + SCF_HEADERS = SMBF_HEADERS, + SCF_HTTP_PRIO = SMBF_HTTP_PRIO, + SCF_DELAY_ONCLOSE = SMBF_DELAY_ONCLOSE, +}; + + +lsquic_stream_t * +lsquic_stream_new (lsquic_stream_id_t id, struct lsquic_conn_public *, + const struct lsquic_stream_if *, void *stream_if_ctx, + unsigned initial_sfrw, uint64_t initial_send_off, + enum stream_ctor_flags); + +struct lsquic_stream * +lsquic_stream_new_crypto (enum enc_level, + struct lsquic_conn_public *conn_pub, + const struct lsquic_stream_if *stream_if, void *stream_if_ctx, + enum stream_ctor_flags ctor_flags); + +void +lsquic_stream_call_on_new (lsquic_stream_t *); + +void +lsquic_stream_destroy (lsquic_stream_t *); + +/* True if either read or write side of the stream has been reset */ +static inline unsigned +lsquic_stream_is_reset (const lsquic_stream_t *stream) +{ + return (stream->stream_flags & + (STREAM_RST_RECVD|STREAM_RST_SENT|STREAM_SS_RECVD)) + || (stream->sm_qflags & SMQF_SEND_RST); +} + +int +lsquic_stream_is_write_reset (const struct lsquic_stream *); + +/* Data that from the network gets inserted into the stream using + * lsquic_stream_frame_in() function. Returns 0 on success, -1 on + * failure. The latter may be caused by flow control violation or + * invalid stream frame data, e.g. overlapping segments. + * + * Note that the caller gives up control of `frame' no matter + * what this function returns. + * + * This data is read by the user using lsquic_stream_read() function. + */ +int +lsquic_stream_frame_in (lsquic_stream_t *, struct stream_frame *frame); + +/* Only one (at least for now) uncompressed header structure is allowed to be + * passed in, and only in HTTP mode. + */ +int +lsquic_stream_uh_in (lsquic_stream_t *, struct uncompressed_headers *); + +void +lsquic_stream_push_req (lsquic_stream_t *, + struct uncompressed_headers *push_req); + +int +lsquic_stream_rst_in (lsquic_stream_t *, uint64_t offset, uint64_t error_code); + +void +lsquic_stream_stop_sending_in (struct lsquic_stream *, uint64_t error_code); + +uint64_t +lsquic_stream_read_offset (const lsquic_stream_t *stream); + +/* Return true if we sent all available data to the network and write + * end of the stream was closed. + */ +int +lsquic_stream_tosend_fin (const lsquic_stream_t *stream); + +void +lsquic_stream_window_update (lsquic_stream_t *stream, uint64_t offset); + +int +lsquic_stream_set_max_send_off (lsquic_stream_t *stream, uint64_t offset); + +/* The caller should only call this function if SMQF_SEND_WUF is set and + * it must generate a window update frame using this value. + */ +uint64_t +lsquic_stream_fc_recv_off (lsquic_stream_t *stream); + +void +lsquic_stream_peer_blocked (struct lsquic_stream *, uint64_t); + +void +lsquic_stream_peer_blocked_gquic (struct lsquic_stream *); + +void +lsquic_stream_dispatch_read_events (lsquic_stream_t *); + +void +lsquic_stream_dispatch_write_events (lsquic_stream_t *); + +void +lsquic_stream_blocked_frame_sent (lsquic_stream_t *); + +void +lsquic_stream_rst_frame_sent (lsquic_stream_t *); + +void +lsquic_stream_stream_frame_sent (lsquic_stream_t *); + +void +lsquic_stream_maybe_reset (struct lsquic_stream *, uint64_t error_code, int); + +void +lsquic_stream_call_on_close (lsquic_stream_t *); + +void +lsquic_stream_shutdown_internal (lsquic_stream_t *); + +void +lsquic_stream_received_goaway (lsquic_stream_t *); + +void +lsquic_stream_acked (struct lsquic_stream *, enum quic_frame_type); + +static inline unsigned +lsquic_stream_is_closed (const lsquic_stream_t *s) +{ + return (s->stream_flags & (STREAM_U_READ_DONE|STREAM_U_WRITE_DONE)) + == (STREAM_U_READ_DONE|STREAM_U_WRITE_DONE); +} + +int +lsquic_stream_update_sfcw (lsquic_stream_t *, uint64_t max_off); + +int +lsquic_stream_set_priority_internal (lsquic_stream_t *, unsigned priority); + +static inline unsigned +lsquic_stream_is_critical (const lsquic_stream_t *s) +{ + return s->sm_bflags & SMBF_CRITICAL; +} + +static inline unsigned +lsquic_stream_is_crypto (const lsquic_stream_t *s) +{ + return s->sm_bflags & SMBF_CRYPTO; +} + +size_t +lsquic_stream_mem_used (const struct lsquic_stream *); + +const lsquic_cid_t * +lsquic_stream_cid (const struct lsquic_stream *); + +static inline unsigned +lsquic_stream_has_data_to_flush (const lsquic_stream_t *stream) +{ + return stream->sm_n_buffered > 0; +} + +int +lsquic_stream_readable (struct lsquic_stream *); + +size_t +lsquic_stream_write_avail (struct lsquic_stream *); + +void +lsquic_stream_dump_state (const struct lsquic_stream *); + +#ifndef NDEBUG +size_t +lsquic_stream_flush_threshold (const struct lsquic_stream *, unsigned); +#endif + +static inline uint64_t +crypto_level (const lsquic_stream_t *stream) +{ + return UINT64_MAX - stream->id; +} + +void +lsquic_stream_set_stream_if (struct lsquic_stream *, + const struct lsquic_stream_if *, void *stream_if_ctx); + +uint64_t +lsquic_stream_combined_send_off (const struct lsquic_stream *); + +/* [draft-ietf-quic-transport-16] Section 3.1 */ +enum stream_state_sending +{ + SSS_READY, + SSS_SEND, + SSS_DATA_SENT, + SSS_RESET_SENT, + SSS_DATA_RECVD, + SSS_RESET_RECVD, +}; + +extern const char *const lsquic_sss2str[]; + +enum stream_state_sending +lsquic_stream_sending_state (const struct lsquic_stream *); + +/* [draft-ietf-quic-transport-16] Section 3.2 */ +enum stream_state_receiving +{ + SSR_RECV, + SSR_SIZE_KNOWN, + SSR_DATA_RECVD, + SSR_RESET_RECVD, + SSR_DATA_READ, + SSR_RESET_READ, +}; + +extern const char *const lsquic_ssr2str[]; + +enum stream_state_receiving +lsquic_stream_receiving_state (struct lsquic_stream *); + +uint64_t +lsquic_stream_fc_recv_off_const (const struct lsquic_stream *); + +void +lsquic_stream_max_stream_data_sent (struct lsquic_stream *); + +void +lsquic_stream_qdec_unblocked (struct lsquic_stream *); + +int +lsquic_stream_can_push (const struct lsquic_stream *); + +int +lsquic_stream_push_promise (struct lsquic_stream *, struct push_promise *); + +void +lsquic_stream_force_finish (struct lsquic_stream *); + +int +lsquic_stream_header_is_pp (const struct lsquic_stream *); + +int +lsquic_stream_header_is_trailer (const struct lsquic_stream *); + +int +lsquic_stream_verify_len (struct lsquic_stream *, unsigned long long); + +static inline unsigned +lsquic_stream_is_blocked (const lsquic_stream_t *stream_) +{ + return stream_->blocked_off && + stream_->blocked_off == stream_->max_send_off; +} + +void +lsquic_stream_ss_frame_sent (struct lsquic_stream *); + +#ifndef NDEBUG +void +lsquic_stream_set_pwritev_params (unsigned iovecs, unsigned frames); +#endif + +void +lsquic_stream_drop_hset_ref (struct lsquic_stream *); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_tokgen.c b/external/lsquic/src/liblsquic/lsquic_tokgen.c new file mode 100644 index 0000000..ac402e3 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_tokgen.c @@ -0,0 +1,822 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include +#include +#include + +#ifndef WIN32 +#include +#include +#include +#else +#include "vc_compat.h" +#include +#endif + +#include +#include +#include +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_sizes.h" +#include "lsquic_types.h" +#include "lsquic_packet_common.h" +#include "lsquic_packet_in.h" +#include "lsquic_tokgen.h" +#include "lsquic_trans_params.h" +#include "lsquic_util.h" +#include "lsquic_mm.h" +#include "lsquic_engine_public.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_TOKGEN +#include "lsquic_logger.h" + +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY(x) + +#define TOKGEN_VERSION 2 + +#define CRYPTER_KEY_SIZE 16 +#define SRST_MAX_PRK_SIZE EVP_MAX_MD_SIZE + +#define TOKGEN_SHM_KEY "TOKGEN" TOSTRING(TOKGEN_VERSION) +#define TOKGEN_SHM_KEY_SIZE (sizeof(TOKGEN_SHM_KEY) - 1) + +#define TOKGEN_SHM_MAGIC_TOP "Feliz" +#define TOKGEN_SHM_MAGIC_BOTTOM "Navidad" + +struct tokgen_shm_state +{ + uint8_t tgss_version; + uint8_t tgss_magic_top[sizeof(TOKGEN_SHM_MAGIC_TOP) - 1]; + uint8_t tgss_crypter_key[N_TOKEN_TYPES][CRYPTER_KEY_SIZE]; + uint8_t tgss_srst_prk_size; + uint8_t tgss_srst_prk[SRST_MAX_PRK_SIZE]; + uint8_t tgss_magic_bottom[sizeof(TOKGEN_SHM_MAGIC_BOTTOM) - 1]; +}; + + +/* The various salt values below were obtained by reading from /dev/random + * when the code was first written. + */ + +static const uint64_t salts[N_TOKEN_TYPES] = +{ + [TOKEN_RETRY] = 0xa49c3ef763a6243f, + [TOKEN_RESUME] = 0x0b3664549086b8ca, +}; + +static const uint8_t srst_salt[8] = "\x28\x6e\x81\x02\x40\x5b\x2c\x2b"; + +struct crypter +{ + EVP_AEAD_CTX ctx; + unsigned long nonce_counter; + size_t nonce_prk_sz; + uint8_t nonce_prk_buf[EVP_MAX_MD_SIZE]; +}; + + +/* Bloom filter of Resume tokens. See below. */ +struct resumed_token_page +{ + TAILQ_ENTRY(resumed_token_page) next; + time_t begin, /* Oldest entry */ + end; /* Newest entry */ + unsigned count; /* Number of entries */ + uintptr_t masks[]; +}; + + +struct token_generator +{ + /* We encrypt different token types using different keys. */ + struct crypter tg_crypters[N_TOKEN_TYPES]; + + /* Stateless reset token is generated using HKDF with CID as the + * `info' parameter to HKDF-Expand. + */ + size_t tg_srst_prk_sz; + uint8_t tg_srst_prk_buf[SRST_MAX_PRK_SIZE]; + unsigned tg_retry_token_duration; + TAILQ_HEAD(resumed_token_pages_head, resumed_token_page) + tg_resume_token_pages; +}; + + +static int +setup_nonce_prk (unsigned char *nonce_prk_buf, size_t *nonce_prk_sz, + unsigned i, time_t now) +{ + struct { + time_t now; + enum token_type tt; + uint8_t buf[16]; + } ikm; + + ikm.now = now; + ikm.tt = i; + RAND_bytes(ikm.buf, sizeof(ikm.buf)); + if (HKDF_extract(nonce_prk_buf, nonce_prk_sz, + EVP_sha256(), (uint8_t *) &ikm, sizeof(ikm), + (void *) &salts[i], sizeof(salts[i]))) + return 0; + else + { + LSQ_ERROR("HKDF_extract failed"); + return -1; + } +} + + +static int +get_or_generate_state (struct lsquic_engine_public *enpub, time_t now, + struct tokgen_shm_state *shm_state) +{ + const struct lsquic_shared_hash_if *const shi = enpub->enp_shi; + void *const ctx = enpub->enp_shi_ctx; + void *data, *copy; + char key_copy[TOKGEN_SHM_KEY_SIZE]; + int s; + unsigned sz; + size_t bufsz; + struct { + time_t now; + unsigned char buf[24]; + } +#if __GNUC__ + /* This is more of a documentation note: this struct should already + * have a multiple-of-eight size. + */ + __attribute__((packed)) +#endif + srst_ikm; + + data = shm_state; + sz = sizeof(*shm_state); + s = shi->shi_lookup(ctx, TOKGEN_SHM_KEY, TOKGEN_SHM_KEY_SIZE, &data, &sz); + + if (s == 1) + { + if (sz != sizeof(*shm_state)) + { + LSQ_WARN("found SHM data has non-matching size %u", sz); + return -1; + } + if (data != (void *) shm_state) + memcpy(shm_state, data, sizeof(*shm_state)); + if (shm_state->tgss_version != TOKGEN_VERSION) + { + LSQ_DEBUG("found SHM data has non-matching version %u", + shm_state->tgss_version); + return -1; + } + LSQ_DEBUG("found SHM data: size %u; version %u", sz, + shm_state->tgss_version); + return 0; + } + + if (s != 0) + { + if (s != -1) + LSQ_WARN("SHM lookup returned unexpected value %d", s); + LSQ_DEBUG("SHM lookup returned an error: generate"); + goto generate; + } + + assert(s == 0); + LSQ_DEBUG("%s does not exist: generate", TOKGEN_SHM_KEY); + generate: + now = time(NULL); + memset(shm_state, 0, sizeof(*shm_state)); + shm_state->tgss_version = TOKGEN_VERSION; + memcpy(shm_state->tgss_magic_top, TOKGEN_SHM_MAGIC_TOP, + sizeof(TOKGEN_SHM_MAGIC_TOP) - 1); + if (getenv("LSQUIC_NULL_TOKGEN")) + { + LSQ_NOTICE("using NULL tokgen"); + memset(shm_state->tgss_crypter_key, 0, + sizeof(shm_state->tgss_crypter_key)); + memset(&srst_ikm, 0, sizeof(srst_ikm)); + } + else + { + RAND_bytes((void *) shm_state->tgss_crypter_key, + sizeof(shm_state->tgss_crypter_key)); + srst_ikm.now = now; + RAND_bytes(srst_ikm.buf, sizeof(srst_ikm.buf)); + } + if (!HKDF_extract(shm_state->tgss_srst_prk, &bufsz, + EVP_sha256(), (uint8_t *) &srst_ikm, sizeof(srst_ikm), + srst_salt, sizeof(srst_salt))) + { + LSQ_ERROR("HKDF_extract failed"); + return -1; + } + shm_state->tgss_srst_prk_size = (uint8_t) bufsz; + memcpy(shm_state->tgss_magic_bottom, TOKGEN_SHM_MAGIC_BOTTOM, + sizeof(TOKGEN_SHM_MAGIC_BOTTOM) - 1); + + data = shm_state; + memcpy(key_copy, TOKGEN_SHM_KEY, TOKGEN_SHM_KEY_SIZE); + s = shi->shi_insert(ctx, key_copy, TOKGEN_SHM_KEY_SIZE, data, + sizeof(*shm_state), 0); + if (s != 0) + { + LSQ_ERROR("cannot insert into SHM"); + return -1; + } + sz = sizeof(*shm_state); + s = shi->shi_lookup(ctx, TOKGEN_SHM_KEY, TOKGEN_SHM_KEY_SIZE, ©, &sz); + if (s != 1 || sz != sizeof(*shm_state)) + { + LSQ_ERROR("cannot lookup after insert: s=%d; sz=%u", s, sz); + return -1; + } + if (copy != data) + memcpy(shm_state, copy, sizeof(*shm_state)); + LSQ_INFO("inserted %s of size %u", TOKGEN_SHM_KEY, sz); + return 0; +} + + +struct token_generator * +lsquic_tg_new (struct lsquic_engine_public *enpub) +{ + struct token_generator *tokgen; + time_t now; + struct tokgen_shm_state shm_state; + + tokgen = calloc(1, sizeof(*tokgen)); + if (!tokgen) + goto err; + + now = time(NULL); + if (0 != get_or_generate_state(enpub, now, &shm_state)) + goto err; + + TAILQ_INIT(&tokgen->tg_resume_token_pages); + unsigned i; + for (i = 0; i < sizeof(tokgen->tg_crypters) + / sizeof(tokgen->tg_crypters[0]); ++i) + { + struct crypter *crypter; + crypter = tokgen->tg_crypters + i; + if (0 != setup_nonce_prk(crypter->nonce_prk_buf, + &crypter->nonce_prk_sz, i, now)) + goto err; + if (1 != EVP_AEAD_CTX_init(&crypter->ctx, EVP_aead_aes_128_gcm(), + shm_state.tgss_crypter_key[i], + sizeof(shm_state.tgss_crypter_key[i]), RETRY_TAG_LEN, 0)) + goto err; + } + + tokgen->tg_retry_token_duration + = enpub->enp_settings.es_retry_token_duration; + if (tokgen->tg_retry_token_duration == 0) + tokgen->tg_retry_token_duration = LSQUIC_DF_RETRY_TOKEN_DURATION; + + tokgen->tg_srst_prk_sz = shm_state.tgss_srst_prk_size; + if (tokgen->tg_srst_prk_sz > sizeof(tokgen->tg_srst_prk_buf)) + { + LSQ_WARN("bad stateless reset key size"); + goto err; + } + memcpy(tokgen->tg_srst_prk_buf, shm_state.tgss_srst_prk, + tokgen->tg_srst_prk_sz); + + LSQ_DEBUG("initialized"); + return tokgen; + + err: + LSQ_ERROR("error initializing"); + free(tokgen); + return NULL; +} + + +void +lsquic_tg_destroy (struct token_generator *tokgen) +{ + struct resumed_token_page *page; + struct crypter *crypter; + unsigned i; + + while ((page = TAILQ_FIRST(&tokgen->tg_resume_token_pages))) + { + TAILQ_REMOVE(&tokgen->tg_resume_token_pages, page, next); + free(page); + } + for (i = 0; i < sizeof(tokgen->tg_crypters) + / sizeof(tokgen->tg_crypters[0]); ++i) + { + crypter = tokgen->tg_crypters + i; + EVP_AEAD_CTX_cleanup(&crypter->ctx); + } + free(tokgen); + LSQ_DEBUG("destroyed"); +} + + +/* To limit reuse of Resume tokens, used Resume tokens are inserted into a + * list of Bloom filters with very low false positive rate. Before a Resume + * token is used, we check in the Bloom filter. If this token has already + * been used, it fails validation. + * + * There are three ways when this check will fail: + * 1. Bloom filter false positive. In this case, Resume token fails + * validation, which may cause the server may issue a Retry. This + * should happen very infrequently (see below). + * 2. Server restart. Because the Bloom filter is stored in process + * memory, this will result in false negative and a Resume token can be + * reused. + * 3. Different working process. Similar to (2). + * + * Bloom filters are on a linked list. Each filter is used up to MAX_PER_PAGE + * values or RESUME_MAX_SECS seconds, after which a new Bloom filter is inserted. + * Bloom filters are removed once the most recent element is older than + * RESUME_MAX_HOURS hours. + */ + +#define RESUME_MAX_SECS (24 * 3600) + +#define N_BLOOM_FUNCS 10 + +/* We need 30 bytes to generate 10 24-bit Bloom filter values */ +typedef char enough_blooms[MIN_RESUME_TOKEN_LEN >= 3 * N_BLOOM_FUNCS ? 1 : -1]; + +typedef uint32_t bloom_vals_t[N_BLOOM_FUNCS]; + +#define RESUME_TOKEN_PAGE_SIZE (1u << 21) + +/* For memory efficiency, we allocate 2MB chunks of memory, + * not 2MB + 28 bytes. Thus, we can't use the whole 24-bit range. + */ +#define MAX_BLOOM_VALUE ((RESUME_TOKEN_PAGE_SIZE - \ + sizeof(struct resumed_token_page)) * 8 - 1) + +#define MAX_PER_PAGE 500000 +/* This works out to 0.00012924% false positive rate: + * perl -E '$k=10;$m=1<<24;$n=500000;printf("%.10lf",(1-exp(1)**-($k*$n/$m))**$k)' + */ + +static int +tokgen_seen_resumed_token (struct token_generator *tokgen, + const unsigned char *token, size_t token_sz, bloom_vals_t bloom_vals) +{ + const struct resumed_token_page *page; + unsigned n, idx; + uintptr_t slot; + + if (1 + N_BLOOM_FUNCS * 3 > token_sz) + return 0; + + ++token; + for (n = 0; n < N_BLOOM_FUNCS; ++n) + { + bloom_vals[n] = *token++; + bloom_vals[n] |= *token++ << 8; + bloom_vals[n] |= *token++ << 16; + if (bloom_vals[n] > MAX_BLOOM_VALUE) + bloom_vals[n] = MAX_BLOOM_VALUE; + } + + page = TAILQ_FIRST(&tokgen->tg_resume_token_pages); + while (page) + { + for (n = 0; n < N_BLOOM_FUNCS; ++n) + { + idx = bloom_vals[n] / (sizeof(page->masks[0]) * 8); + slot = 1; + slot <<= bloom_vals[n] % (sizeof(page->masks[0]) * 8); + if (!(page->masks[idx] & slot)) + goto next_page; + } + return 1; + next_page: + page = TAILQ_NEXT(page, next); + } + + return 0; +} + + +static void /* void: if it fails, there is nothing to do */ +tokgen_record_resumed_token (struct token_generator *tokgen, time_t now, + bloom_vals_t bloom_vals) +{ + struct resumed_token_page *page; + unsigned n, idx; + uintptr_t slot; + + /* Expunge old pages at insertion time only to save on time() syscall */ + while ((page = TAILQ_FIRST(&tokgen->tg_resume_token_pages))) + if (page->end + RESUME_MAX_SECS < now) + { + LSQ_DEBUG("drop resumed cache page"); + TAILQ_REMOVE(&tokgen->tg_resume_token_pages, page, next); + free(page); + } + else + break; + + page = TAILQ_LAST(&tokgen->tg_resume_token_pages, resumed_token_pages_head); + if (!(page && page->count < MAX_PER_PAGE && now + < page->begin + RESUME_MAX_SECS)) + { + page = calloc(1, RESUME_TOKEN_PAGE_SIZE); + if (!page) + { + LSQ_WARN("cannot allocate resumed cache page"); + return; + } + LSQ_DEBUG("allocate resumed cache page"); + TAILQ_INSERT_TAIL(&tokgen->tg_resume_token_pages, page, next); + page->begin = now; + page->end = now; + page->count = 0; + } + + page->end = now; + ++page->count; + + for (n = 0; n < N_BLOOM_FUNCS; ++n) + { + idx = bloom_vals[n] / (sizeof(page->masks[0]) * 8); + slot = 1; + slot <<= bloom_vals[n] % (sizeof(page->masks[0]) * 8); + page->masks[idx] |= slot; + } +} + + +static const char *const tt2str[N_TOKEN_TYPES] = { + [TOKEN_RESUME] = "resume", + [TOKEN_RETRY] = "retry", +}; + + +int +lsquic_tg_validate_token (struct token_generator *tokgen, + const struct lsquic_packet_in *packet_in, const struct sockaddr *sa_peer, + lsquic_cid_t *odcid) +{ + size_t decr_token_len, encr_token_len, ad_len; + const unsigned char *nonce, *encr_token, *p, *end, *ad; + struct crypter *crypter; + enum token_type token_type; + time_t issued_at, ttl, now; + int is_ipv6; + unsigned version; + bloom_vals_t bloom_vals; + unsigned char decr_token[MAX_RETRY_TOKEN_LEN - RETRY_TAG_LEN + - RETRY_NONCE_LEN]; + char token_str[MAX_RETRY_TOKEN_LEN * 2 + 1]; + char addr_str[2][INET6_ADDRSTRLEN]; + + if (!(packet_in->pi_token && packet_in->pi_token_size)) + { + LSQ_DEBUGC("packet for connection %"CID_FMT" has no token: " + "validation failed", CID_BITS(&packet_in->pi_dcid)); + return -1; + } + + if (packet_in->pi_token_size < RETRY_TAG_LEN + RETRY_NONCE_LEN) + { + LSQ_DEBUGC("packet for connection %"CID_FMT" has too-short token " + "(%hu bytes): validation failed", CID_BITS(&packet_in->pi_dcid), + packet_in->pi_token_size); + return -1; + } + + token_type = packet_in->pi_data[packet_in->pi_token]; + switch (token_type) + { + case TOKEN_RETRY: + ttl = tokgen->tg_retry_token_duration; + ad = packet_in->pi_dcid.idbuf; + ad_len = packet_in->pi_dcid.len; + break; + case TOKEN_RESUME: + if (tokgen_seen_resumed_token(tokgen, packet_in->pi_data + + packet_in->pi_token, packet_in->pi_token_size, bloom_vals)) + { + LSQ_DEBUGC("%s token for connection %"CID_FMT" has already " + "been used: validation failed", tt2str[token_type], + CID_BITS(&packet_in->pi_dcid)); + return -1; + } + ttl = RESUME_MAX_SECS; + ad = NULL; + ad_len = 0; + break; + default: + LSQ_DEBUGC("packet for connection %"CID_FMT" has unknown token " + "type (%u): validation failed", CID_BITS(&packet_in->pi_dcid), + token_type); + return -1; + } + crypter = &tokgen->tg_crypters[ token_type ]; + + nonce = packet_in->pi_data + packet_in->pi_token; + encr_token = nonce + RETRY_NONCE_LEN; + encr_token_len = packet_in->pi_token_size - RETRY_NONCE_LEN; + decr_token_len = sizeof(decr_token); + if (!EVP_AEAD_CTX_open(&crypter->ctx, decr_token, &decr_token_len, + decr_token_len, nonce, RETRY_NONCE_LEN, + encr_token, encr_token_len, ad, ad_len)) + { + LSQ_DEBUGC("packet for connection %"CID_FMT" has undecryptable %s " + "token %s: validation failed", CID_BITS(&packet_in->pi_dcid), + tt2str[token_type], + HEXSTR(packet_in->pi_data + packet_in->pi_token, + packet_in->pi_token_size, token_str)); + return -1; + } + + /* From here on, we begin to warn: this is because we were able to + * decrypt it, so this is our token. We should be able to parse it. + */ + + p = decr_token; + end = p + decr_token_len; + + if (p + 1 > end) + goto too_short; + version = *p++; + if (version != TOKGEN_VERSION) + { + LSQ_DEBUGC("packet for connection %"CID_FMT" has %s token with " + "wrong version %u (expected %u): validation failed", + CID_BITS(&packet_in->pi_dcid), tt2str[token_type], + version, TOKGEN_VERSION); + return -1; + } + + if (p + sizeof(issued_at) > end) + goto too_short; + memcpy(&issued_at, p, sizeof(issued_at)); + now = time(NULL); + if (issued_at + ttl < now) + { + LSQ_DEBUGC("%s token for connection %"CID_FMT" expired %lu " + "seconds ago", tt2str[token_type], CID_BITS(&packet_in->pi_dcid), + (unsigned long) (now - issued_at - ttl)); + return -1; + } + p += sizeof(issued_at); + + if (p + 1 > end) + goto too_short; + is_ipv6 = *p++; + if (is_ipv6) + { + if (p + 16 > end) + goto too_short; + if (!(AF_INET6 == sa_peer->sa_family && + 0 == memcmp(p, &((struct sockaddr_in6 *) sa_peer)->sin6_addr, 16))) + goto ip_mismatch; + p += 16; + } + else + { + if (p + 4 > end) + goto too_short; + if (!(AF_INET == sa_peer->sa_family && + 0 == memcmp(p, &((struct sockaddr_in *) + sa_peer)->sin_addr.s_addr, 4))) + goto ip_mismatch; + p += 4; + } + + if (TOKEN_RETRY == token_type) + { + if (p + 2 >= end) + goto too_short; + if (AF_INET == sa_peer->sa_family) + { + if (memcmp(p, &((struct sockaddr_in *) sa_peer)->sin_port, 2)) + goto port_mismatch; + } + else if (memcmp(p, &((struct sockaddr_in6 *) sa_peer)->sin6_port, 2)) + goto port_mismatch; + if (0 && LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + { + uint16_t port; + memcpy(&port, p, sizeof(port)); + port = ntohs(port); + LSQ_DEBUG("port %hu in Retry token matches", port); + } + p += 2; + if (end - p > MAX_CID_LEN) + goto too_long; + if (odcid) + { + memcpy(odcid->idbuf, p, end - p); + odcid->len = end - p; + LSQ_DEBUGC("ODCID: %"CID_FMT, CID_BITS(odcid)); + } + } + else + { + if (p != end) + { + assert(p < end); + goto too_long; + } + tokgen_record_resumed_token(tokgen, now, bloom_vals); + } + + LSQ_DEBUGC("validated %lu-second-old %s token %s for connection " + "%"CID_FMT, (unsigned long) (now - issued_at), tt2str[token_type], + HEXSTR(packet_in->pi_data + packet_in->pi_token, + packet_in->pi_token_size, token_str), + CID_BITS(&packet_in->pi_dcid)); + return 0; + + too_short: + LSQ_INFOC("decrypted %s token for connection %"CID_FMT" is too short " + "(%zu bytes): validation failed", tt2str[token_type], + CID_BITS(&packet_in->pi_dcid), decr_token_len); + return -1; + + ip_mismatch: + addr_str[0][0] = '\0'; + addr_str[1][0] = '\0'; + (void) inet_ntop(is_ipv6 ? AF_INET6 : AF_INET, p, addr_str[0], + sizeof(addr_str[0])); + if (AF_INET6 == sa_peer->sa_family) + (void) inet_ntop(AF_INET6, &((struct sockaddr_in6 *) sa_peer + )->sin6_addr, addr_str[1], sizeof(addr_str[1])); + else + (void) inet_ntop(AF_INET, &((struct sockaddr_in *) sa_peer + )->sin_addr.s_addr, addr_str[1], sizeof(addr_str[1])); + LSQ_INFOC("IP address %s in %s token for connection %"CID_FMT" does not " + "match peer IP address %s: validation failed", addr_str[0], + tt2str[token_type], CID_BITS(&packet_in->pi_dcid), addr_str[1]); + return -1; + + too_long: + LSQ_INFOC("decrypted %s token for connection %"CID_FMT" is too long " + "(%zu bytes): validation failed", tt2str[token_type], + CID_BITS(&packet_in->pi_dcid), decr_token_len); + return -1; + + port_mismatch: + { + uint16_t ports[2]; + ports[0] = AF_INET6 == sa_peer->sa_family + ? ((struct sockaddr_in6 *) sa_peer)->sin6_port + : ((struct sockaddr_in *) sa_peer)->sin_port; + ports[0] = ntohs(ports[0]); + memcpy(&ports[1], p, sizeof(ports[1])); + ports[1] = ntohs(ports[1]); + LSQ_INFOC("port %hu in %s token for connection %"CID_FMT" does not " + "match peer port %hu: validation failed", ports[1], tt2str[token_type], + CID_BITS(&packet_in->pi_dcid), ports[0]); + return -1; + } +} + + +#define LABEL_PREFIX_SZ 8 + +static const uint8_t *labels[N_TOKEN_TYPES] = +{ + [TOKEN_RETRY] = (uint8_t *) "retry me", + [TOKEN_RESUME] = (uint8_t *) "resume m", +}; + + +static ssize_t +tokgen_generate_token (struct token_generator *tokgen, + enum token_type token_type, unsigned char *buf, size_t bufsz, + const unsigned char *ad_buf, size_t ad_len, + const struct sockaddr *sa_peer, const lsquic_cid_t *odcid) +{ + struct crypter *crypter; + unsigned char *p, *in; + time_t now; + size_t len, in_len; + unsigned char label[ LABEL_PREFIX_SZ + sizeof(crypter->nonce_counter) ]; + char in_str[(MAX_RETRY_TOKEN_LEN - RETRY_NONCE_LEN + - RETRY_TAG_LEN) * 2 + 1], + ad_str[MAX_CID_LEN * 2 + 1], + token_str[MAX_RETRY_TOKEN_LEN * 2 + 1]; + + if (bufsz < MAX_RETRY_TOKEN_LEN) + return -1; + + crypter = &tokgen->tg_crypters[ token_type ]; + p = buf; + + *p = token_type; + memcpy(label, labels[token_type], LABEL_PREFIX_SZ); + memcpy(label + LABEL_PREFIX_SZ, &crypter->nonce_counter, + sizeof(crypter->nonce_counter)); + (void) HKDF_expand(p + 1, RETRY_NONCE_LEN - 1, EVP_sha256(), + crypter->nonce_prk_buf, crypter->nonce_prk_sz, label, sizeof(label)); + p += RETRY_NONCE_LEN; + *p++ = TOKGEN_VERSION; + now = time(NULL); + memcpy(p, &now, sizeof(now)); + p += sizeof(now); + + if (AF_INET == sa_peer->sa_family) + { + *p++ = 0; + memcpy(p, &((struct sockaddr_in *) sa_peer)->sin_addr.s_addr, 4); + p += 4; + } + else + { + *p++ = 1; + memcpy(p, &((struct sockaddr_in6 *) sa_peer)->sin6_addr, 16); + p += 16; + } + + if (token_type == TOKEN_RETRY) + { + if (AF_INET == sa_peer->sa_family) + memcpy(p, &((struct sockaddr_in *) sa_peer)->sin_port, 2); + else + memcpy(p, &((struct sockaddr_in6 *) sa_peer)->sin6_port, 2); + p += 2; + } + + if (odcid) + { + assert(odcid->len <= MAX_CID_LEN); + memcpy(p, odcid->idbuf, odcid->len); + p += odcid->len; + } + + len = bufsz - RETRY_NONCE_LEN; + in = buf + RETRY_NONCE_LEN; + in_len = p - buf - RETRY_NONCE_LEN; + if (LSQ_LOG_ENABLED(LSQ_LOG_DEBUG)) + lsquic_hexstr(in, in_len, in_str, sizeof(in_str)); + if (EVP_AEAD_CTX_seal(&crypter->ctx, in, &len, len, + buf, RETRY_NONCE_LEN, in, in_len, ad_buf, ad_len)) + { + ++crypter->nonce_counter; + LSQ_DEBUG("in: %s, ad: %s -> %s token: %s (%zu bytes)", + in_str, + HEXSTR(ad_buf, ad_len, ad_str), + tt2str[token_type], + HEXSTR(buf, RETRY_NONCE_LEN + len, token_str), + RETRY_NONCE_LEN + len); + return RETRY_NONCE_LEN + len; + } + else + { + LSQ_WARN("could not seal retry token"); + return -1; + } +} + + +ssize_t +lsquic_tg_generate_retry (struct token_generator *tokgen, + unsigned char *buf, size_t bufsz, const unsigned char *scid_buf, + size_t scid_len, const struct sockaddr *sa_peer, + const lsquic_cid_t *odcid) +{ + return tokgen_generate_token(tokgen, TOKEN_RETRY, buf, bufsz, scid_buf, + scid_len, sa_peer, odcid); +} + + +ssize_t +lsquic_tg_generate_resume (struct token_generator *tokgen, + unsigned char *buf, size_t bufsz, const struct sockaddr *sa_peer) +{ + return tokgen_generate_token(tokgen, TOKEN_RESUME, buf, bufsz, NULL, + 0, sa_peer, NULL); +} + + +size_t +lsquic_tg_token_size (const struct token_generator *tokgen, + enum token_type token_type, const struct sockaddr *sa_peer) +{ + return MAX_RETRY_TOKEN_LEN - 16 + + (AF_INET == sa_peer->sa_family ? 4 : 16); +} + + +void +lsquic_tg_generate_sreset (struct token_generator *tokgen, + const struct lsquic_cid *cid, unsigned char *reset_token) +{ + char str[IQUIC_SRESET_TOKEN_SZ * 2 + 1]; + + (void) HKDF_expand(reset_token, IQUIC_SRESET_TOKEN_SZ, EVP_sha256(), + tokgen->tg_srst_prk_buf, tokgen->tg_srst_prk_sz, cid->idbuf, cid->len); + LSQ_DEBUGC("generated stateless reset token %s for CID %"CID_FMT, + HEXSTR(reset_token, IQUIC_SRESET_TOKEN_SZ, str), CID_BITS(cid)); +} diff --git a/external/lsquic/src/liblsquic/lsquic_tokgen.h b/external/lsquic/src/liblsquic/lsquic_tokgen.h new file mode 100644 index 0000000..21e5bc5 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_tokgen.h @@ -0,0 +1,65 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_TOKEN_H +#define LSQUIC_TOKEN_H 1 + +struct lsquic_engine_public; +struct sockaddr; +struct lsquic_packet_in; +struct lsquic_cid; + +enum token_type { TOKEN_RETRY, TOKEN_RESUME, N_TOKEN_TYPES, }; + +struct token_generator; + +struct token_generator * +lsquic_tg_new (struct lsquic_engine_public *); + +void +lsquic_tg_destroy (struct token_generator *); + +/* `reset_token' must be IQUIC_SRESET_TOKEN_SZ bytes in length */ +void +lsquic_tg_generate_sreset (struct token_generator *, + const struct lsquic_cid *cid, unsigned char *reset_token); + + +/* Retry and Resume tokens have identical sizes. Use *RETRY* macros + * for both. + */ +#define RETRY_TAG_LEN 16 + +/* Type is encoded in the nonce */ +#define RETRY_NONCE_LEN 12 + +#define MAX_RETRY_TOKEN_LEN (RETRY_NONCE_LEN + 1 /* version */ + \ + sizeof(time_t) /* time */ + 1 /* IPv4 or IPv6 */ + \ + 16 /* IPv6 or IPv4 address */ + 2 /* Port number */ + MAX_CID_LEN + \ + RETRY_TAG_LEN) + +/* Need this to make sure we have enough bytes for Bloom filter functions */ +#define MIN_RESUME_TOKEN_LEN (RETRY_NONCE_LEN + 1 /* version */ + \ + sizeof(time_t) /* time */ + 1 /* IPv4 or IPv6 */ + \ + 4 /* IPv4 address */ + 0 /* No port number */ + 0 /* No CID */ + \ + RETRY_TAG_LEN) + +ssize_t +lsquic_tg_generate_retry (struct token_generator *, + unsigned char *buf, size_t bufsz, + const unsigned char *scid_buf, size_t scid_len, + const struct sockaddr *sa_peer, const struct lsquic_cid *odcid); + +ssize_t +lsquic_tg_generate_resume (struct token_generator *, + unsigned char *buf, size_t bufsz, + const struct sockaddr *sa_peer); + +int +lsquic_tg_validate_token (struct token_generator *, + const struct lsquic_packet_in *, const struct sockaddr *, + struct lsquic_cid *); + +size_t +lsquic_tg_token_size (const struct token_generator *tokgen, + enum token_type token_type, const struct sockaddr *sa_peer); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_trans_params.c b/external/lsquic/src/liblsquic/lsquic_trans_params.c new file mode 100644 index 0000000..77cbe62 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_trans_params.c @@ -0,0 +1,1363 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_trans_params.c + */ + +#include +#include +#include +#include +#include +#include +#include + +#ifndef WIN32 +#include +#include +#else +#include "vc_compat.h" +#include "Ws2tcpip.h" +#endif + +#include "lsquic.h" +#include "lsquic_byteswap.h" +#include "lsquic_int_types.h" +#include "lsquic_types.h" +#include "lsquic_version.h" +#include "lsquic_sizes.h" +#include "lsquic_trans_params.h" +#include "lsquic_util.h" +#include "lsquic_varint.h" + +#define LSQUIC_LOGGER_MODULE LSQLM_TRAPA +#include "lsquic_logger.h" + + +static enum transport_param_id +tpi_val_2_enum (uint64_t tpi_val) +{ + switch (tpi_val) + { + case 0: return TPI_ORIGINAL_DEST_CID; + case 1: return TPI_MAX_IDLE_TIMEOUT; + case 2: return TPI_STATELESS_RESET_TOKEN; + case 3: return TPI_MAX_UDP_PAYLOAD_SIZE; + case 4: return TPI_INIT_MAX_DATA; + case 5: return TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL; + case 6: return TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE; + case 7: return TPI_INIT_MAX_STREAM_DATA_UNI; + case 8: return TPI_INIT_MAX_STREAMS_BIDI; + case 9: return TPI_INIT_MAX_STREAMS_UNI; + case 10: return TPI_ACK_DELAY_EXPONENT; + case 11: return TPI_MAX_ACK_DELAY; + case 12: return TPI_DISABLE_ACTIVE_MIGRATION; + case 13: return TPI_PREFERRED_ADDRESS; + case 14: return TPI_ACTIVE_CONNECTION_ID_LIMIT; + case 15: return TPI_INITIAL_SOURCE_CID; + case 16: return TPI_RETRY_SOURCE_CID; + case 17: return TPI_VERSION_INFORMATION; + case 0x20: return TPI_MAX_DATAGRAM_FRAME_SIZE; +#if LSQUIC_TEST_QUANTUM_READINESS + case 0xC37: return TPI_QUANTUM_READINESS; +#endif + case 0x1057: return TPI_LOSS_BITS; + case 0x2AB2: return TPI_GREASE_QUIC_BIT; + case 0xDE1A: return TPI_MIN_ACK_DELAY; + case 0xFF02DE1A:return TPI_MIN_ACK_DELAY_02; + case 0x7158: return TPI_TIMESTAMPS; + default: return INT_MAX; + } +} + + +static const unsigned enum_2_tpi_val[LAST_TPI + 1] = +{ + [TPI_ORIGINAL_DEST_CID] = 0x0, + [TPI_MAX_IDLE_TIMEOUT] = 0x1, + [TPI_STATELESS_RESET_TOKEN] = 0x2, + [TPI_MAX_UDP_PAYLOAD_SIZE] = 0x3, + [TPI_INIT_MAX_DATA] = 0x4, + [TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL] = 0x5, + [TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE] = 0x6, + [TPI_INIT_MAX_STREAM_DATA_UNI] = 0x7, + [TPI_INIT_MAX_STREAMS_BIDI] = 0x8, + [TPI_INIT_MAX_STREAMS_UNI] = 0x9, + [TPI_ACK_DELAY_EXPONENT] = 0xA, + [TPI_MAX_ACK_DELAY] = 0xB, + [TPI_DISABLE_ACTIVE_MIGRATION] = 0xC, + [TPI_PREFERRED_ADDRESS] = 0xD, + [TPI_ACTIVE_CONNECTION_ID_LIMIT] = 0xE, + [TPI_INITIAL_SOURCE_CID] = 0xF, + [TPI_RETRY_SOURCE_CID] = 0x10, + [TPI_VERSION_INFORMATION] = 0x11, + [TPI_MAX_DATAGRAM_FRAME_SIZE] = 0x20, +#if LSQUIC_TEST_QUANTUM_READINESS + [TPI_QUANTUM_READINESS] = 0xC37, +#endif + [TPI_LOSS_BITS] = 0x1057, + [TPI_MIN_ACK_DELAY] = 0xDE1A, + [TPI_MIN_ACK_DELAY_02] = 0xFF02DE1A, + [TPI_TIMESTAMPS] = 0x7158, + [TPI_GREASE_QUIC_BIT] = 0x2AB2, +}; + + +const char * const lsquic_tpi2str[LAST_TPI + 1] = +{ + [TPI_ORIGINAL_DEST_CID] = "original_destination_connection_id", + [TPI_MAX_IDLE_TIMEOUT] = "max_idle_timeout", + [TPI_STATELESS_RESET_TOKEN] = "stateless_reset_token", + [TPI_MAX_UDP_PAYLOAD_SIZE] = "max_udp_payload_size", + [TPI_INIT_MAX_DATA] = "init_max_data", + [TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL] = "init_max_stream_data_bidi_local", + [TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE] = "init_max_stream_data_bidi_remote", + [TPI_INIT_MAX_STREAM_DATA_UNI] = "init_max_stream_data_uni", + [TPI_INIT_MAX_STREAMS_BIDI] = "init_max_streams_bidi", + [TPI_INIT_MAX_STREAMS_UNI] = "init_max_streams_uni", + [TPI_ACK_DELAY_EXPONENT] = "ack_delay_exponent", + [TPI_MAX_ACK_DELAY] = "max_ack_delay", + [TPI_DISABLE_ACTIVE_MIGRATION] = "disable_active_migration", + [TPI_PREFERRED_ADDRESS] = "preferred_address", + [TPI_ACTIVE_CONNECTION_ID_LIMIT] = "active_connection_id_limit", + [TPI_INITIAL_SOURCE_CID] = "initial_source_connection_id", + [TPI_RETRY_SOURCE_CID] = "retry_source_connection_id", + [TPI_MAX_DATAGRAM_FRAME_SIZE] = "max_datagram_frame_size", +#if LSQUIC_TEST_QUANTUM_READINESS + [TPI_QUANTUM_READINESS] = "quantum_readiness", +#endif + [TPI_LOSS_BITS] = "loss_bits", + [TPI_MIN_ACK_DELAY] = "min_ack_delay", + [TPI_MIN_ACK_DELAY_02] = "min_ack_delay_02", + [TPI_TIMESTAMPS] = "timestamps", + [TPI_GREASE_QUIC_BIT] = "grease_quic_bit", +}; +#define tpi2str lsquic_tpi2str + + +static const uint64_t def_vals[MAX_NUM_WITH_DEF_TPI + 1] = +{ + [TPI_MAX_UDP_PAYLOAD_SIZE] = TP_DEF_MAX_UDP_PAYLOAD_SIZE, + [TPI_ACK_DELAY_EXPONENT] = TP_DEF_ACK_DELAY_EXP, + [TPI_INIT_MAX_STREAMS_UNI] = TP_DEF_INIT_MAX_STREAMS_UNI, + [TPI_INIT_MAX_STREAMS_BIDI] = TP_DEF_INIT_MAX_STREAMS_BIDI, + [TPI_INIT_MAX_DATA] = TP_DEF_INIT_MAX_DATA, + [TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL] = TP_DEF_INIT_MAX_STREAM_DATA_BIDI_LOCAL, + [TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE] = TP_DEF_INIT_MAX_STREAM_DATA_BIDI_REMOTE, + [TPI_INIT_MAX_STREAM_DATA_UNI] = TP_DEF_INIT_MAX_STREAM_DATA_UNI, + [TPI_MAX_IDLE_TIMEOUT] = TP_DEF_MAX_IDLE_TIMEOUT, + [TPI_MAX_ACK_DELAY] = TP_DEF_MAX_ACK_DELAY, + [TPI_ACTIVE_CONNECTION_ID_LIMIT] = TP_DEF_ACTIVE_CONNECTION_ID_LIMIT, +}; + + +static const uint64_t max_vals[MAX_NUMERIC_TPI + 1] = +{ + /* We don't enforce the maximum practical UDP payload value of 65527, as + * it is not required by the spec and is not necessary. + */ + [TPI_MAX_UDP_PAYLOAD_SIZE] = VINT_MAX_VALUE, + [TPI_ACK_DELAY_EXPONENT] = TP_MAX_ACK_DELAY_EXP, + [TPI_INIT_MAX_STREAMS_UNI] = 1ull << 60, + [TPI_INIT_MAX_STREAMS_BIDI] = 1ull << 60, + [TPI_INIT_MAX_DATA] = VINT_MAX_VALUE, + [TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL] = VINT_MAX_VALUE, + [TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE] = VINT_MAX_VALUE, + [TPI_INIT_MAX_STREAM_DATA_UNI] = VINT_MAX_VALUE, + [TPI_MAX_IDLE_TIMEOUT] = VINT_MAX_VALUE, + [TPI_MAX_ACK_DELAY] = TP_MAX_MAX_ACK_DELAY, + [TPI_ACTIVE_CONNECTION_ID_LIMIT] = VINT_MAX_VALUE, + [TPI_LOSS_BITS] = 1, + [TPI_MIN_ACK_DELAY] = (1u << 24) - 1u, + [TPI_MIN_ACK_DELAY_02] = (1u << 24) - 1u, + [TPI_TIMESTAMPS] = TS_WANT_THEM|TS_GENERATE_THEM, + [TPI_MAX_DATAGRAM_FRAME_SIZE] = VINT_MAX_VALUE, +}; + + +static const uint64_t min_vals[MAX_NUMERIC_TPI + 1] = +{ + /* On the other hand, we do enforce the lower bound. */ + [TPI_MAX_UDP_PAYLOAD_SIZE] = 1200, + [TPI_MIN_ACK_DELAY] = 1, + [TPI_MIN_ACK_DELAY_02] = 1, + [TPI_ACTIVE_CONNECTION_ID_LIMIT] = 2, + [TPI_TIMESTAMPS] = TS_WANT_THEM, +}; + + +static size_t +preferred_address_size (const struct transport_params *params) +{ + return sizeof(params->tp_preferred_address.ipv4_addr) + + sizeof(params->tp_preferred_address.ipv4_port) + + sizeof(params->tp_preferred_address.ipv6_addr) + + sizeof(params->tp_preferred_address.ipv6_port) + + 1 + params->tp_preferred_address.cid.len + + sizeof(params->tp_preferred_address.srst) + ; +} + + +int +lsquic_tp_has_pref_ipv4 (const struct transport_params *params) +{ + return (params->tp_set & (1 << TPI_PREFERRED_ADDRESS)) + && params->tp_preferred_address.ipv4_port + && !lsquic_is_zero(params->tp_preferred_address.ipv4_addr, + sizeof(params->tp_preferred_address.ipv4_addr)); +} + + +int +lsquic_tp_has_pref_ipv6 (const struct transport_params *params) +{ + return (params->tp_set & (1 << TPI_PREFERRED_ADDRESS)) + && params->tp_preferred_address.ipv6_port + && !lsquic_is_zero(params->tp_preferred_address.ipv6_addr, + sizeof(params->tp_preferred_address.ipv6_addr)); +} + + +#if LSQUIC_TEST_QUANTUM_READINESS +#include +size_t +lsquic_tp_get_quantum_sz (void) +{ + const char *str; + + str = getenv("LSQUIC_QUANTUM_SZ"); + if (str) + return atoi(str); + else + /* https://github.com/quicwg/base-drafts/wiki/Quantum-Readiness-test */ + return 1200; +} +#endif + + +static size_t +update_cid_bits (unsigned bits[][3], enum transport_param_id tpi, + const lsquic_cid_t *cid) +{ + bits[tpi][0] = vint_val2bits(enum_2_tpi_val[tpi]); +#if __GNUC__ +#pragma GCC diagnostic ignored "-Wunknown-pragmas" +#if __clang__ +#pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare" +#else +#pragma GCC diagnostic ignored "-Wtype-limits" +#endif +#endif + bits[tpi][1] = vint_val2bits(cid->len); +#if __GNUC__ +#pragma GCC diagnostic pop +#pragma GCC diagnostic pop +#endif + return (1u << bits[tpi][0]) + (1u << bits[tpi][1]) + cid->len; +} + + +int +lsquic_tp_encode (const struct transport_params *params, int is_server, + unsigned char *const buf, size_t bufsz) +{ + unsigned char *p; + size_t need; + uint16_t u16; + enum transport_param_id tpi; + unsigned set; + unsigned bits[LAST_TPI + 1][3 /* ID, length, value */]; +#if LSQUIC_TEST_QUANTUM_READINESS + const size_t quantum_sz = lsquic_tp_get_quantum_sz(); +#endif + lsquic_ver_tag_t tag; + int i; + + need = 0; + set = params->tp_set; /* Will turn bits off for default values */ + + if (set & (1 << TPI_INITIAL_SOURCE_CID)) + need += update_cid_bits(bits, TPI_INITIAL_SOURCE_CID, + ¶ms->tp_initial_source_cid); + if (is_server) + { + if (set & (1 << TPI_ORIGINAL_DEST_CID)) + need += update_cid_bits(bits, TPI_ORIGINAL_DEST_CID, + ¶ms->tp_original_dest_cid); + if (set & (1 << TPI_RETRY_SOURCE_CID)) + need += update_cid_bits(bits, TPI_RETRY_SOURCE_CID, + ¶ms->tp_retry_source_cid); + if (set & (1 << TPI_STATELESS_RESET_TOKEN)) + { + bits[TPI_STATELESS_RESET_TOKEN][0] + = vint_val2bits(enum_2_tpi_val[TPI_STATELESS_RESET_TOKEN]); + bits[TPI_STATELESS_RESET_TOKEN][1] + = vint_val2bits(sizeof(params->tp_stateless_reset_token)); + need += (1 << bits[TPI_STATELESS_RESET_TOKEN][0]) + + (1 << bits[TPI_STATELESS_RESET_TOKEN][1]) + + sizeof(params->tp_stateless_reset_token); + } + if (set & (1 << TPI_PREFERRED_ADDRESS)) + { + bits[TPI_PREFERRED_ADDRESS][0] + = vint_val2bits(enum_2_tpi_val[TPI_PREFERRED_ADDRESS]); + bits[TPI_PREFERRED_ADDRESS][1] = vint_val2bits( + preferred_address_size(params)); + need += (1 << bits[TPI_PREFERRED_ADDRESS][0]) + + (1 << bits[TPI_PREFERRED_ADDRESS][1]) + + preferred_address_size(params); + } + } +#if LSQUIC_TEST_QUANTUM_READINESS + if (set & (1 << TPI_QUANTUM_READINESS)) + { + bits[TPI_QUANTUM_READINESS][0] + = vint_val2bits(enum_2_tpi_val[TPI_QUANTUM_READINESS]); + bits[TPI_QUANTUM_READINESS][1] = vint_val2bits(quantum_sz); + need += (1 << bits[TPI_QUANTUM_READINESS][0]) + + (1 << bits[TPI_QUANTUM_READINESS][1]) + + quantum_sz; + } +#endif + + for (tpi = 0; tpi <= MAX_NUMERIC_TPI; ++tpi) + if (set & (1 << tpi)) + { + if (tpi > MAX_NUM_WITH_DEF_TPI + || params->tp_numerics[tpi] != def_vals[tpi]) + { + if (params->tp_numerics[tpi] >= min_vals[tpi] + && params->tp_numerics[tpi] <= max_vals[tpi]) + { + bits[tpi][0] = vint_val2bits(enum_2_tpi_val[tpi]); + bits[tpi][2] = vint_val2bits(params->tp_numerics[tpi]); + bits[tpi][1] = vint_val2bits(bits[tpi][2]); + need += (1 << bits[tpi][0]) + + (1 << bits[tpi][1]) + + (1 << bits[tpi][2]); + } + else if (params->tp_numerics[tpi] > max_vals[tpi]) + { + LSQ_DEBUG("numeric value of %s is too large (%"PRIu64" vs " + "maximum of %"PRIu64")", tpi2str[tpi], + params->tp_numerics[tpi], max_vals[tpi]); + return -1; + } + else + { + LSQ_DEBUG("numeric value of %s is too small (%"PRIu64" vs " + "minimum " "of %"PRIu64")", + tpi2str[tpi], params->tp_numerics[tpi], min_vals[tpi]); + return -1; + } + } + else + set &= ~(1 << tpi); /* Don't write default value */ + } + + for (; tpi <= MAX_EMPTY_TPI; ++tpi) + if (set & (1 << tpi)) + { + bits[tpi][0] = vint_val2bits(enum_2_tpi_val[tpi]); + need += (1 << bits[tpi][0]) + 1 /* Zero length byte */; + } + + if (set & (1 << TPI_VERSION_INFORMATION)) + { + tpi = TPI_VERSION_INFORMATION; + bits[tpi][0] = vint_val2bits(enum_2_tpi_val[tpi]); + bits[tpi][1] = vint_val2bits(params->tp_version_cnt << 2); + need += (1 << bits[tpi][0]) + + (1 << bits[tpi][1]) + + (params->tp_version_cnt << 2); + } + + if (need > bufsz || need > UINT16_MAX) + { + errno = ENOBUFS; + return -1; + } + + p = buf; + +#define WRITE_TO_P(src, len) do { \ + memcpy(p, src, len); \ + p += len; \ +} while (0) + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define WRITE_UINT_TO_P(val, width) do { \ + u##width = bswap_##width(val); \ + WRITE_TO_P(&u##width, sizeof(u##width)); \ +} while (0) +#else +#define WRITE_UINT_TO_P(val, width) do { \ + u##width = val; \ + WRITE_TO_P(&u##width, sizeof(u##width)); \ +} while (0) +#endif + + for (tpi = 0; tpi <= LAST_TPI; ++tpi) + if (set & (1 << tpi)) + { + vint_write(p, enum_2_tpi_val[tpi], bits[tpi][0], + 1 << bits[tpi][0]); + p += 1 << bits[tpi][0]; + switch (tpi) + { + case TPI_MAX_IDLE_TIMEOUT: + case TPI_MAX_UDP_PAYLOAD_SIZE: + case TPI_INIT_MAX_DATA: + case TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL: + case TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE: + case TPI_INIT_MAX_STREAM_DATA_UNI: + case TPI_INIT_MAX_STREAMS_BIDI: + case TPI_INIT_MAX_STREAMS_UNI: + case TPI_ACK_DELAY_EXPONENT: + case TPI_MAX_ACK_DELAY: + case TPI_ACTIVE_CONNECTION_ID_LIMIT: + case TPI_LOSS_BITS: + case TPI_MIN_ACK_DELAY: + case TPI_MIN_ACK_DELAY_02: + case TPI_TIMESTAMPS: + case TPI_MAX_DATAGRAM_FRAME_SIZE: + vint_write(p, 1 << bits[tpi][2], bits[tpi][1], + 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + vint_write(p, params->tp_numerics[tpi], bits[tpi][2], + 1 << bits[tpi][2]); + p += 1 << bits[tpi][2]; + break; + case TPI_ORIGINAL_DEST_CID: + case TPI_INITIAL_SOURCE_CID: + case TPI_RETRY_SOURCE_CID: + vint_write(p, params->tp_cids[TP_CID_IDX(tpi)].len, bits[tpi][1], + 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + WRITE_TO_P(params->tp_cids[TP_CID_IDX(tpi)].idbuf, + params->tp_cids[TP_CID_IDX(tpi)].len); + break; + case TPI_STATELESS_RESET_TOKEN: + vint_write(p, sizeof(params->tp_stateless_reset_token), + bits[tpi][1], 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + WRITE_TO_P(params->tp_stateless_reset_token, + sizeof(params->tp_stateless_reset_token)); + break; + case TPI_PREFERRED_ADDRESS: + vint_write(p, preferred_address_size(params), + bits[tpi][1], 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + WRITE_TO_P(¶ms->tp_preferred_address.ipv4_addr, + sizeof(params->tp_preferred_address.ipv4_addr)); + WRITE_UINT_TO_P(params->tp_preferred_address.ipv4_port, 16); + WRITE_TO_P(¶ms->tp_preferred_address.ipv6_addr, + sizeof(params->tp_preferred_address.ipv6_addr)); + WRITE_UINT_TO_P(params->tp_preferred_address.ipv6_port, 16); + *p++ = params->tp_preferred_address.cid.len; + WRITE_TO_P(params->tp_preferred_address.cid.idbuf, + params->tp_preferred_address.cid.len); + WRITE_TO_P(params->tp_preferred_address.srst, + sizeof(params->tp_preferred_address.srst)); + break; + case TPI_DISABLE_ACTIVE_MIGRATION: + case TPI_GREASE_QUIC_BIT: + *p++ = 0; + break; +#if LSQUIC_TEST_QUANTUM_READINESS + case TPI_QUANTUM_READINESS: + LSQ_DEBUG("encoded %zd bytes of quantum readiness", quantum_sz); + vint_write(p, quantum_sz, bits[tpi][1], 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + memset(p, 'Q', quantum_sz); + p += quantum_sz; + break; +#endif + case TPI_VERSION_INFORMATION: + //FIXME: generate supported version info. + vint_write(p, params->tp_version_cnt << 2, + bits[tpi][1], 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + for(i = 0; i < params->tp_version_cnt; ++i) + { + tag = lsquic_ver2tag(params->tp_version_info[i]); + WRITE_TO_P(&tag, 4); + } + break; + } + } + + assert(buf + need == p); + return (int) (p - buf); + +#undef WRITE_TO_P +#undef WRITE_UINT_TO_P +} + + +int +lsquic_tp_decode (const unsigned char *const buf, size_t bufsz, + int is_server, + struct transport_params *params) +{ + const unsigned char *p, *end, *q; + uint64_t len, param_id; + uint16_t tlen; + enum transport_param_id tpi; + unsigned set_of_ids; + int s; + lsquic_ver_tag_t tag; + + p = buf; + end = buf + bufsz; + + *params = TP_INITIALIZER(); + +#define EXPECT_LEN(expected_len) do { \ + if (expected_len != len) \ + return -1; \ +} while (0) + +#define EXPECT_AT_LEAST(expected_len) do { \ + if ((expected_len) > (uintptr_t) (p + len - q)) \ + return -1; \ +} while (0) + + set_of_ids = 0; + while (p < end) + { + s = vint_read(p, end, ¶m_id); + if (s < 0) + return -1; + LSQ_DEBUG("read TP 0x%"PRIX64, param_id); + p += s; + s = vint_read(p, end, &len); + if (s < 0) + return -1; + p += s; + if ((ptrdiff_t) len > end - p) + return -1; + tpi = tpi_val_2_enum(param_id); + if (tpi <= LAST_TPI) + { + if (set_of_ids & (1 << tpi)) + return -1; + set_of_ids |= 1 << tpi; + } + switch (tpi) + { + case TPI_MAX_IDLE_TIMEOUT: + case TPI_MAX_UDP_PAYLOAD_SIZE: + case TPI_INIT_MAX_DATA: + case TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL: + case TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE: + case TPI_INIT_MAX_STREAM_DATA_UNI: + case TPI_INIT_MAX_STREAMS_BIDI: + case TPI_INIT_MAX_STREAMS_UNI: + case TPI_ACK_DELAY_EXPONENT: + case TPI_MAX_ACK_DELAY: + case TPI_ACTIVE_CONNECTION_ID_LIMIT: + case TPI_LOSS_BITS: + case TPI_MIN_ACK_DELAY: + case TPI_MIN_ACK_DELAY_02: + case TPI_TIMESTAMPS: + case TPI_MAX_DATAGRAM_FRAME_SIZE: + switch (len) + { + case 1: + case 2: + case 4: + case 8: + s = vint_read(p, p + len, ¶ms->tp_numerics[tpi]); + if (s == (int) len) + { + if (params->tp_numerics[tpi] > max_vals[tpi]) + { + LSQ_DEBUG("numeric value of %s is too large " + "(%"PRIu64" vs maximum of %"PRIu64, tpi2str[tpi], + params->tp_numerics[tpi], max_vals[tpi]); + return -1; + } + else if (params->tp_numerics[tpi] < min_vals[tpi]) + { + LSQ_DEBUG("numeric value of %s is too small " + "(%"PRIu64" vs minimum of %"PRIu64, tpi2str[tpi], + params->tp_numerics[tpi], min_vals[tpi]); + return -1; + } + break; + } + else + { + LSQ_DEBUG("cannot read the value of numeric transport " + "param %s of length %"PRIu64, tpi2str[tpi], len); + return -1; + } + default: + LSQ_DEBUG("invalid length=%"PRIu64" for numeric transport " + "parameter %s", len, tpi2str[tpi]); + return -1; + } + break; + case TPI_DISABLE_ACTIVE_MIGRATION: + case TPI_GREASE_QUIC_BIT: + EXPECT_LEN(0); + break; + case TPI_STATELESS_RESET_TOKEN: + /* Client MUST not include reset token, + * see [draft-ietf-quic-transport-11], Section 6.4.1 + */ + if (!is_server) + return -1; + EXPECT_LEN(sizeof(params->tp_stateless_reset_token)); + memcpy(params->tp_stateless_reset_token, p, + sizeof(params->tp_stateless_reset_token)); + break; + case TPI_ORIGINAL_DEST_CID: + case TPI_RETRY_SOURCE_CID: + /* [draft-ietf-quic-transport-28] Section 18.2: + " A client MUST NOT include any server-only transport parameter: + " original_destination_connection_id, preferred_address, + " retry_source_connection_id, or stateless_reset_token. + */ + if (!is_server) + return -1; + /* fallthru */ + case TPI_INITIAL_SOURCE_CID: + if (len > MAX_CID_LEN) + return -1; + memcpy(params->tp_cids[TP_CID_IDX(tpi)].idbuf, p, len); + params->tp_cids[TP_CID_IDX(tpi)].len = len; + break; + case TPI_PREFERRED_ADDRESS: + /* Client MUST not include preferred address, + * see [draft-ietf-quic-transport-12], Section 6.4.1 + */ + if (!is_server) + return -1; + q = p; + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.ipv4_addr)); + memcpy(params->tp_preferred_address.ipv4_addr, q, + sizeof(params->tp_preferred_address.ipv4_addr)); + q += sizeof(params->tp_preferred_address.ipv4_addr); + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.ipv4_port)); + READ_UINT(params->tp_preferred_address.ipv4_port, 16, q, 2); + q += 2; + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.ipv6_addr)); + memcpy(params->tp_preferred_address.ipv6_addr, q, + sizeof(params->tp_preferred_address.ipv6_addr)); + q += sizeof(params->tp_preferred_address.ipv6_addr); + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.ipv6_port)); + READ_UINT(params->tp_preferred_address.ipv6_port, 16, q, 2); + q += 2; + EXPECT_AT_LEAST(1); + tlen = *q; + q += 1; + if (tlen > MAX_CID_LEN) + { + LSQ_DEBUG("preferred server address contains invalid " + "CID length of %"PRIu16" bytes", tlen); + return -1; + } + EXPECT_AT_LEAST(tlen); + memcpy(params->tp_preferred_address.cid.idbuf, q, tlen); + params->tp_preferred_address.cid.len = tlen; + q += tlen; + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.srst)); + memcpy(params->tp_preferred_address.srst, q, + sizeof(params->tp_preferred_address.srst)); + q += sizeof(params->tp_preferred_address.srst); + if (q != p + len) + return -1; + break; + case TPI_VERSION_INFORMATION: + if (len & 0x3) + return -1; + q = p; + while(q < p + len) + { + memmove(&tag, q, 4); + if (tag == 0) + return -1; + int ver = lsquic_tag2ver(tag); + if (ver != -1) + { + if (params->tp_version_cnt > 0) + params->tp_versions |= 1 << ver; + if (params->tp_version_cnt < sizeof(params->tp_version_info)) + params->tp_version_info[params->tp_version_cnt++] = ver; + } + else if (params->tp_version_cnt == 0) + return -1; + q += 4; + } + if (!is_server && (params->tp_versions + & (1 << params->tp_chosen_version)) == 0) + return -1; + break; + default: + /* Do nothing: skip this transport parameter */ + break; + } + p += len; + if (tpi <= LAST_TPI) + { + params->tp_set |= 1 << tpi; + params->tp_decoded |= 1 << tpi; + } + } + + if (p != end) + return -1; + + if ((params->tp_set & (1 << TPI_MIN_ACK_DELAY)) + && params->tp_numerics[TPI_MIN_ACK_DELAY] + > params->tp_numerics[TPI_MAX_ACK_DELAY] * 1000) + { + LSQ_DEBUG("min_ack_delay (%"PRIu64" usec) is larger than " + "max_ack_delay (%"PRIu64" ms)", + params->tp_numerics[TPI_MIN_ACK_DELAY], + params->tp_numerics[TPI_MAX_ACK_DELAY]); + return -1; + } + + if ((params->tp_set & (1 << TPI_MIN_ACK_DELAY_02)) + && params->tp_numerics[TPI_MIN_ACK_DELAY_02] + > params->tp_numerics[TPI_MAX_ACK_DELAY] * 1000) + { + LSQ_DEBUG("min_ack_delay_02 (%"PRIu64" usec) is larger than " + "max_ack_delay (%"PRIu64" ms)", + params->tp_numerics[TPI_MIN_ACK_DELAY_02], + params->tp_numerics[TPI_MAX_ACK_DELAY]); + return -1; + } + + return (int) (end - buf); +#undef EXPECT_LEN +} + + +void +lsquic_tp_to_str (const struct transport_params *params, char *buf, size_t sz) +{ + char *const end = buf + sz; + int nw; + enum transport_param_id tpi; + char tok_str[sizeof(params->tp_stateless_reset_token) * 2 + 1]; + char addr_str[INET6_ADDRSTRLEN]; + int i; + + for (tpi = 0; tpi <= MAX_NUMERIC_TPI; ++tpi) + if (params->tp_set & (1 << tpi)) + { + nw = snprintf(buf, end - buf, "%.*s%s: %"PRIu64, + (buf + sz > end) << 1, "; ", tpi2str[tpi], + params->tp_numerics[tpi]); + buf += nw; + if (buf >= end) + return; + } + for (; tpi <= MAX_EMPTY_TPI; ++tpi) + if (params->tp_set & (1 << tpi)) + { + nw = snprintf(buf, end - buf, "%.*s%s", + (buf + sz > end) << 1, "; ", tpi2str[tpi]); + buf += nw; + if (buf >= end) + return; + } +#if LSQUIC_TEST_QUANTUM_READINESS + if (params->tp_set & (1 << TPI_QUANTUM_READINESS)) + { + nw = snprintf(buf, end - buf, "%.*s%s", + (buf + sz > end) << 1, "; ", tpi2str[TPI_QUANTUM_READINESS]); + buf += nw; + if (buf >= end) + return; + } +#endif + if (params->tp_set & (1 << TPI_STATELESS_RESET_TOKEN)) + { + lsquic_hexstr(params->tp_stateless_reset_token, + sizeof(params->tp_stateless_reset_token), tok_str, sizeof(tok_str)); + nw = snprintf(buf, end - buf, "; stateless_reset_token: %s", tok_str); + buf += nw; + if (buf >= end) + return; + } + for (tpi = FIRST_TP_CID; tpi <= LAST_TP_CID; ++tpi) + if (params->tp_set & (1 << tpi)) + { + char cidbuf_[MAX_CID_LEN * 2 + 1]; + nw = snprintf(buf, end - buf, "; %s: %"CID_FMT, tpi2str[tpi], + CID_BITS(¶ms->tp_cids[TP_CID_IDX(tpi)])); + buf += nw; + if (buf >= end) + return; + } + if (lsquic_tp_has_pref_ipv4(params)) + { + if (inet_ntop(AF_INET, params->tp_preferred_address.ipv4_addr, + addr_str, sizeof(addr_str))) + { + nw = snprintf(buf, end - buf, "; IPv4 preferred address: %s:%u", + addr_str, params->tp_preferred_address.ipv4_port); + buf += nw; + if (buf >= end) + return; + } + } + if (lsquic_tp_has_pref_ipv6(params)) + { + if (inet_ntop(AF_INET6, params->tp_preferred_address.ipv6_addr, + addr_str, sizeof(addr_str))) + { + nw = snprintf(buf, end - buf, "; IPv6 preferred address: %s:%u", + addr_str, params->tp_preferred_address.ipv6_port); + buf += nw; + if (buf >= end) + return; + } + } + if (params->tp_set & (1 << TPI_VERSION_INFORMATION)) + { + nw = snprintf(buf, end - buf, "; version information: chosen: %s, available:", + lsquic_ver2str[params->tp_chosen_version]); + buf += nw; + if (buf >= end) + return; + for(i = 1; i < params->tp_version_cnt; ++i) + { + nw = snprintf(buf, end - buf, " %s", + lsquic_ver2str[params->tp_version_info[i]]); + buf += nw; + if (buf >= end) + return; + } + + } +} + + +int +lsquic_tp_encode_27 (const struct transport_params *params, int is_server, + unsigned char *const buf, size_t bufsz) +{ + unsigned char *p; + size_t need; + uint16_t u16; + enum transport_param_id tpi; + unsigned set; + unsigned bits[LAST_TPI + 1][3 /* ID, length, value */]; +#if LSQUIC_TEST_QUANTUM_READINESS + const size_t quantum_sz = lsquic_tp_get_quantum_sz(); +#endif + + need = 0; + set = params->tp_set; /* Will turn bits off for default values */ + + if (is_server) + { + if (set & (1 << TPI_ORIGINAL_DEST_CID)) + { + bits[TPI_ORIGINAL_DEST_CID][0] + = vint_val2bits(enum_2_tpi_val[TPI_ORIGINAL_DEST_CID]); +#if __GNUC__ +#pragma GCC diagnostic ignored "-Wunknown-pragmas" +#if __clang__ +#pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare" +#else +#pragma GCC diagnostic ignored "-Wtype-limits" +#endif +#endif + bits[TPI_ORIGINAL_DEST_CID][1] + = vint_val2bits(params->tp_original_dest_cid.len); +#if __GNUC__ +#pragma GCC diagnostic pop +#pragma GCC diagnostic pop +#endif + need += (1 << bits[TPI_ORIGINAL_DEST_CID][0]) + + (1 << bits[TPI_ORIGINAL_DEST_CID][1]) + + params->tp_original_dest_cid.len; + } + if (set & (1 << TPI_STATELESS_RESET_TOKEN)) + { + bits[TPI_STATELESS_RESET_TOKEN][0] + = vint_val2bits(enum_2_tpi_val[TPI_STATELESS_RESET_TOKEN]); + bits[TPI_STATELESS_RESET_TOKEN][1] + = vint_val2bits(sizeof(params->tp_stateless_reset_token)); + need += (1 << bits[TPI_STATELESS_RESET_TOKEN][0]) + + (1 << bits[TPI_STATELESS_RESET_TOKEN][1]) + + sizeof(params->tp_stateless_reset_token); + } + if (set & (1 << TPI_PREFERRED_ADDRESS)) + { + bits[TPI_PREFERRED_ADDRESS][0] + = vint_val2bits(enum_2_tpi_val[TPI_PREFERRED_ADDRESS]); + bits[TPI_PREFERRED_ADDRESS][1] = vint_val2bits( + preferred_address_size(params)); + need += (1 << bits[TPI_PREFERRED_ADDRESS][0]) + + (1 << bits[TPI_PREFERRED_ADDRESS][1]) + + preferred_address_size(params); + } + } +#if LSQUIC_TEST_QUANTUM_READINESS + else if (set & (1 << TPI_QUANTUM_READINESS)) + { + bits[TPI_QUANTUM_READINESS][0] + = vint_val2bits(enum_2_tpi_val[TPI_QUANTUM_READINESS]); + bits[TPI_QUANTUM_READINESS][1] = vint_val2bits(quantum_sz); + need += (1 << bits[TPI_QUANTUM_READINESS][0]) + + (1 << bits[TPI_QUANTUM_READINESS][1]) + + quantum_sz; + } +#endif + + for (tpi = 0; tpi <= MAX_NUMERIC_TPI; ++tpi) + if (set & (1 << tpi)) + { + if (tpi > MAX_NUM_WITH_DEF_TPI + || params->tp_numerics[tpi] != def_vals[tpi]) + { + if (params->tp_numerics[tpi] >= min_vals[tpi] + && params->tp_numerics[tpi] <= max_vals[tpi]) + { + bits[tpi][0] = vint_val2bits(enum_2_tpi_val[tpi]); + bits[tpi][2] = vint_val2bits(params->tp_numerics[tpi]); + bits[tpi][1] = vint_val2bits(bits[tpi][2]); + need += (1 << bits[tpi][0]) + + (1 << bits[tpi][1]) + + (1 << bits[tpi][2]); + } + else if (params->tp_numerics[tpi] > max_vals[tpi]) + { + LSQ_DEBUG("numeric value of %s is too large (%"PRIu64" vs " + "maximum of %"PRIu64")", tpi2str[tpi], + params->tp_numerics[tpi], max_vals[tpi]); + return -1; + } + else + { + LSQ_DEBUG("numeric value of %s is too small (%"PRIu64" vs " + "minimum " "of %"PRIu64")", + tpi2str[tpi], params->tp_numerics[tpi], min_vals[tpi]); + return -1; + } + } + else + set &= ~(1 << tpi); /* Don't write default value */ + } + + for (; tpi <= MAX_EMPTY_TPI; ++tpi) + if (set & (1 << tpi)) + { + bits[tpi][0] = vint_val2bits(enum_2_tpi_val[tpi]); + need += (1 << bits[tpi][0]) + 1 /* Zero length byte */; + } + + if (need > bufsz || need > UINT16_MAX) + { + errno = ENOBUFS; + return -1; + } + + p = buf; + +#define WRITE_TO_P(src, len) do { \ + memcpy(p, src, len); \ + p += len; \ +} while (0) + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define WRITE_UINT_TO_P(val, width) do { \ + u##width = bswap_##width(val); \ + WRITE_TO_P(&u##width, sizeof(u##width)); \ +} while (0) +#else +#define WRITE_UINT_TO_P(val, width) do { \ + u##width = val; \ + WRITE_TO_P(&u##width, sizeof(u##width)); \ +} while (0) +#endif + + for (tpi = 0; tpi <= LAST_TPI; ++tpi) + if (set & (1 << tpi)) + { + vint_write(p, enum_2_tpi_val[tpi], bits[tpi][0], + 1 << bits[tpi][0]); + p += 1 << bits[tpi][0]; + switch (tpi) + { + case TPI_MAX_IDLE_TIMEOUT: + case TPI_MAX_UDP_PAYLOAD_SIZE: + case TPI_INIT_MAX_DATA: + case TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL: + case TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE: + case TPI_INIT_MAX_STREAM_DATA_UNI: + case TPI_INIT_MAX_STREAMS_BIDI: + case TPI_INIT_MAX_STREAMS_UNI: + case TPI_ACK_DELAY_EXPONENT: + case TPI_MAX_ACK_DELAY: + case TPI_ACTIVE_CONNECTION_ID_LIMIT: + case TPI_LOSS_BITS: + case TPI_MIN_ACK_DELAY: + case TPI_MIN_ACK_DELAY_02: + case TPI_TIMESTAMPS: + case TPI_MAX_DATAGRAM_FRAME_SIZE: + vint_write(p, 1 << bits[tpi][2], bits[tpi][1], + 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + vint_write(p, params->tp_numerics[tpi], bits[tpi][2], + 1 << bits[tpi][2]); + p += 1 << bits[tpi][2]; + break; + case TPI_INITIAL_SOURCE_CID: + case TPI_RETRY_SOURCE_CID: + assert(0); + return -1; + case TPI_ORIGINAL_DEST_CID: + vint_write(p, params->tp_original_dest_cid.len, bits[tpi][1], + 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + WRITE_TO_P(params->tp_original_dest_cid.idbuf, + params->tp_original_dest_cid.len); + break; + case TPI_STATELESS_RESET_TOKEN: + vint_write(p, sizeof(params->tp_stateless_reset_token), + bits[tpi][1], 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + WRITE_TO_P(params->tp_stateless_reset_token, + sizeof(params->tp_stateless_reset_token)); + break; + case TPI_PREFERRED_ADDRESS: + vint_write(p, preferred_address_size(params), + bits[tpi][1], 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + WRITE_TO_P(¶ms->tp_preferred_address.ipv4_addr, + sizeof(params->tp_preferred_address.ipv4_addr)); + WRITE_UINT_TO_P(params->tp_preferred_address.ipv4_port, 16); + WRITE_TO_P(¶ms->tp_preferred_address.ipv6_addr, + sizeof(params->tp_preferred_address.ipv6_addr)); + WRITE_UINT_TO_P(params->tp_preferred_address.ipv6_port, 16); + *p++ = params->tp_preferred_address.cid.len; + WRITE_TO_P(params->tp_preferred_address.cid.idbuf, + params->tp_preferred_address.cid.len); + WRITE_TO_P(params->tp_preferred_address.srst, + sizeof(params->tp_preferred_address.srst)); + break; + case TPI_DISABLE_ACTIVE_MIGRATION: + case TPI_GREASE_QUIC_BIT: + *p++ = 0; + break; +#if LSQUIC_TEST_QUANTUM_READINESS + case TPI_QUANTUM_READINESS: + LSQ_DEBUG("encoded %zd bytes of quantum readiness", quantum_sz); + vint_write(p, quantum_sz, bits[tpi][1], 1 << bits[tpi][1]); + p += 1 << bits[tpi][1]; + memset(p, 'Q', quantum_sz); + p += quantum_sz; + break; +#endif + case TPI_VERSION_INFORMATION: + break; + } + } + + assert(buf + need == p); + return (int) (p - buf); + +#undef WRITE_TO_P +#undef WRITE_UINT_TO_P +} + + +int +lsquic_tp_decode_27 (const unsigned char *const buf, size_t bufsz, + int is_server, + struct transport_params *params) +{ + const unsigned char *p, *end, *q; + uint64_t len, param_id; + uint16_t tlen; + enum transport_param_id tpi; + unsigned set_of_ids; + int s; + + p = buf; + end = buf + bufsz; + + *params = TP_INITIALIZER(); + +#define EXPECT_LEN(expected_len) do { \ + if (expected_len != len) \ + return -1; \ +} while (0) + +#define EXPECT_AT_LEAST(expected_len) do { \ + if ((expected_len) > (uintptr_t) (p + len - q)) \ + return -1; \ +} while (0) + + set_of_ids = 0; + while (p < end) + { + s = vint_read(p, end, ¶m_id); + if (s < 0) + return -1; + p += s; + s = vint_read(p, end, &len); + if (s < 0) + return -1; + p += s; + if ((ptrdiff_t) len > end - p) + return -1; + tpi = tpi_val_2_enum(param_id); + if (tpi <= LAST_TPI) + { + if (set_of_ids & (1 << tpi)) + return -1; + set_of_ids |= 1 << tpi; + } + switch (tpi) + { + case TPI_MAX_IDLE_TIMEOUT: + case TPI_MAX_UDP_PAYLOAD_SIZE: + case TPI_INIT_MAX_DATA: + case TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL: + case TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE: + case TPI_INIT_MAX_STREAM_DATA_UNI: + case TPI_INIT_MAX_STREAMS_BIDI: + case TPI_INIT_MAX_STREAMS_UNI: + case TPI_ACK_DELAY_EXPONENT: + case TPI_MAX_ACK_DELAY: + case TPI_ACTIVE_CONNECTION_ID_LIMIT: + case TPI_LOSS_BITS: + case TPI_MIN_ACK_DELAY: + case TPI_MIN_ACK_DELAY_02: + case TPI_TIMESTAMPS: + case TPI_MAX_DATAGRAM_FRAME_SIZE: + switch (len) + { + case 1: + case 2: + case 4: + case 8: + s = vint_read(p, p + len, ¶ms->tp_numerics[tpi]); + if (s == (int) len) + { + if (params->tp_numerics[tpi] > max_vals[tpi]) + { + LSQ_DEBUG("numeric value of %s is too large " + "(%"PRIu64" vs maximum of %"PRIu64, tpi2str[tpi], + params->tp_numerics[tpi], max_vals[tpi]); + return -1; + } + else if (params->tp_numerics[tpi] < min_vals[tpi]) + { + LSQ_DEBUG("numeric value of %s is too small " + "(%"PRIu64" vs minimum of %"PRIu64, tpi2str[tpi], + params->tp_numerics[tpi], min_vals[tpi]); + return -1; + } + break; + } + else + { + LSQ_DEBUG("cannot read the value of numeric transport " + "param %s of length %"PRIu64, tpi2str[tpi], len); + return -1; + } + default: + LSQ_DEBUG("invalid length=%"PRIu64" for numeric transport " + "parameter %s", len, tpi2str[tpi]); + return -1; + } + break; + case TPI_DISABLE_ACTIVE_MIGRATION: + EXPECT_LEN(0); + break; + case TPI_STATELESS_RESET_TOKEN: + /* Client MUST not include reset token, + * see [draft-ietf-quic-transport-11], Section 6.4.1 + */ + if (!is_server) + return -1; + EXPECT_LEN(sizeof(params->tp_stateless_reset_token)); + memcpy(params->tp_stateless_reset_token, p, + sizeof(params->tp_stateless_reset_token)); + break; + case TPI_ORIGINAL_DEST_CID: + /* Client MUST not original connecti ID, + * see [draft-ietf-quic-transport-15], Section 6.6.1 + */ + if (!is_server) + return -1; + if (len > MAX_CID_LEN) + return -1; + memcpy(params->tp_original_dest_cid.idbuf, p, len); + params->tp_original_dest_cid.len = len; + break; + case TPI_PREFERRED_ADDRESS: + /* Client MUST not include preferred address, + * see [draft-ietf-quic-transport-12], Section 6.4.1 + */ + if (!is_server) + return -1; + q = p; + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.ipv4_addr)); + memcpy(params->tp_preferred_address.ipv4_addr, q, + sizeof(params->tp_preferred_address.ipv4_addr)); + q += sizeof(params->tp_preferred_address.ipv4_addr); + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.ipv4_port)); + READ_UINT(params->tp_preferred_address.ipv4_port, 16, q, 2); + q += 2; + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.ipv6_addr)); + memcpy(params->tp_preferred_address.ipv6_addr, q, + sizeof(params->tp_preferred_address.ipv6_addr)); + q += sizeof(params->tp_preferred_address.ipv6_addr); + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.ipv6_port)); + READ_UINT(params->tp_preferred_address.ipv6_port, 16, q, 2); + q += 2; + EXPECT_AT_LEAST(1); + tlen = *q; + q += 1; + if (tlen > MAX_CID_LEN) + { + LSQ_DEBUG("preferred server address contains invalid " + "CID length of %"PRIu16" bytes", tlen); + return -1; + } + EXPECT_AT_LEAST(tlen); + memcpy(params->tp_preferred_address.cid.idbuf, q, tlen); + params->tp_preferred_address.cid.len = tlen; + q += tlen; + EXPECT_AT_LEAST(sizeof(params->tp_preferred_address.srst)); + memcpy(params->tp_preferred_address.srst, q, + sizeof(params->tp_preferred_address.srst)); + q += sizeof(params->tp_preferred_address.srst); + if (q != p + len) + return -1; + break; + default: + /* Do nothing: skip this transport parameter */ + break; + } + p += len; + if (tpi <= LAST_TPI) + { + params->tp_set |= 1 << tpi; + params->tp_decoded |= 1 << tpi; + } + } + + if (p != end) + return -1; + + if ((params->tp_set & (1 << TPI_MIN_ACK_DELAY)) + && params->tp_numerics[TPI_MIN_ACK_DELAY] + > params->tp_numerics[TPI_MAX_ACK_DELAY] * 1000) + { + LSQ_DEBUG("min_ack_delay (%"PRIu64" usec) is larger than " + "max_ack_delay (%"PRIu64" ms)", + params->tp_numerics[TPI_MIN_ACK_DELAY], + params->tp_numerics[TPI_MAX_ACK_DELAY]); + return -1; + } + + if ((params->tp_set & (1 << TPI_MIN_ACK_DELAY_02)) + && params->tp_numerics[TPI_MIN_ACK_DELAY_02] + > params->tp_numerics[TPI_MAX_ACK_DELAY] * 1000) + { + LSQ_DEBUG("min_ack_delay_02 (%"PRIu64" usec) is larger than " + "max_ack_delay (%"PRIu64" ms)", + params->tp_numerics[TPI_MIN_ACK_DELAY_02], + params->tp_numerics[TPI_MAX_ACK_DELAY]); + return -1; + } + + return (int) (end - buf); +#undef EXPECT_LEN +} + + +void +lsquic_tp_to_str_27 (const struct transport_params *params, char *buf, size_t sz) +{ + char *const end = buf + sz; + int nw; + enum transport_param_id tpi; + char tok_str[sizeof(params->tp_stateless_reset_token) * 2 + 1]; + char addr_str[INET6_ADDRSTRLEN]; + + for (tpi = 0; tpi <= MAX_NUMERIC_TPI; ++tpi) + if (params->tp_set & (1 << tpi)) + { + nw = snprintf(buf, end - buf, "%.*s%s: %"PRIu64, + (buf + sz > end) << 1, "; ", tpi2str[tpi], + params->tp_numerics[tpi]); + buf += nw; + if (buf >= end) + return; + } + for (; tpi <= MAX_EMPTY_TPI; ++tpi) + if (params->tp_set & (1 << tpi)) + { + nw = snprintf(buf, end - buf, "%.*s%s", + (buf + sz > end) << 1, "; ", tpi2str[tpi]); + buf += nw; + if (buf >= end) + return; + } +#if LSQUIC_TEST_QUANTUM_READINESS + if (params->tp_set & (1 << TPI_QUANTUM_READINESS)) + { + nw = snprintf(buf, end - buf, "%.*s%s", + (buf + sz > end) << 1, "; ", tpi2str[TPI_QUANTUM_READINESS]); + buf += nw; + if (buf >= end) + return; + } +#endif + if (params->tp_set & (1 << TPI_STATELESS_RESET_TOKEN)) + { + lsquic_hexstr(params->tp_stateless_reset_token, + sizeof(params->tp_stateless_reset_token), tok_str, sizeof(tok_str)); + nw = snprintf(buf, end - buf, "; stateless_reset_token: %s", tok_str); + buf += nw; + if (buf >= end) + return; + } + if (params->tp_set & (1 << TPI_ORIGINAL_DEST_CID)) + { + char cidbuf_[MAX_CID_LEN * 2 + 1]; + nw = snprintf(buf, end - buf, "; original DCID (ODCID): %"CID_FMT, + CID_BITS(¶ms->tp_original_dest_cid)); + buf += nw; + if (buf >= end) + return; + } + if (lsquic_tp_has_pref_ipv4(params)) + { + if (inet_ntop(AF_INET, params->tp_preferred_address.ipv4_addr, + addr_str, sizeof(addr_str))) + { + nw = snprintf(buf, end - buf, "; IPv4 preferred address: %s:%u", + addr_str, params->tp_preferred_address.ipv4_port); + buf += nw; + if (buf >= end) + return; + } + } + if (lsquic_tp_has_pref_ipv6(params)) + { + if (inet_ntop(AF_INET6, params->tp_preferred_address.ipv6_addr, + addr_str, sizeof(addr_str))) + { + nw = snprintf(buf, end - buf, "; IPv6 preferred address: %s:%u", + addr_str, params->tp_preferred_address.ipv6_port); + buf += nw; + if (buf >= end) + return; + } + } +} diff --git a/external/lsquic/src/liblsquic/lsquic_trans_params.h b/external/lsquic/src/liblsquic/lsquic_trans_params.h new file mode 100644 index 0000000..2521815 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_trans_params.h @@ -0,0 +1,235 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_trans_params.h -- Transport parameters types and functions. + */ + +#ifndef LSQUIC_TRANS_PARAMS_H +#define LSQUIC_TRANS_PARAMS_H 1 + +/* Transport parameters are grouped by the type of their values: numeric, + * empty, and custom. + * + * The enum values are arbitrary. The literal transport parameter ID + * *values* (e.g. 0x1057 for loss bits) are not exposed by the API. + */ +enum transport_param_id +{ + /* + * Numeric transport parameters that have default values: + */ + TPI_MAX_IDLE_TIMEOUT, + TPI_MAX_UDP_PAYLOAD_SIZE, + TPI_INIT_MAX_DATA, + TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL, + TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE, + TPI_INIT_MAX_STREAM_DATA_UNI, + TPI_INIT_MAX_STREAMS_BIDI, + TPI_INIT_MAX_STREAMS_UNI, + TPI_ACK_DELAY_EXPONENT, + TPI_MAX_ACK_DELAY, + TPI_ACTIVE_CONNECTION_ID_LIMIT, MAX_NUM_WITH_DEF_TPI = TPI_ACTIVE_CONNECTION_ID_LIMIT, + + /* + * Numeric transport parameters without default values: + */ + TPI_MIN_ACK_DELAY, + /* The _02 version of MIN_ACK_DELAY is to support -02 version of the + * draft. Functionally, it's exactly the same as -01, but without the + * extra enum there is no easy way to keep encoding and decoding simple. + * Because we support both, we don't care which one the peer selects. + * If the peer, like us, also sends both, we *assume* that the two + * versions of the transport parameter carry the same values. + */ + TPI_MIN_ACK_DELAY_02, + TPI_TIMESTAMPS, + TPI_MAX_DATAGRAM_FRAME_SIZE, + TPI_LOSS_BITS, MAX_NUMERIC_TPI = TPI_LOSS_BITS, + + /* + * Empty transport parameters: + */ + TPI_GREASE_QUIC_BIT, + TPI_DISABLE_ACTIVE_MIGRATION, MAX_EMPTY_TPI = TPI_DISABLE_ACTIVE_MIGRATION, + + /* + * Custom handlers: + */ + TPI_PREFERRED_ADDRESS, + /* CIDs must be in a contiguous range for tp_cids array to work */ +#define FIRST_TP_CID TPI_ORIGINAL_DEST_CID + TPI_ORIGINAL_DEST_CID, + TPI_INITIAL_SOURCE_CID, +#define LAST_TP_CID TPI_RETRY_SOURCE_CID + TPI_RETRY_SOURCE_CID, +#if LSQUIC_TEST_QUANTUM_READINESS + TPI_QUANTUM_READINESS, +#endif + TPI_VERSION_INFORMATION, + TPI_STATELESS_RESET_TOKEN, LAST_TPI = TPI_STATELESS_RESET_TOKEN +}; + +#define TP_CID_IDX(tpi_) ((tpi_) - FIRST_TP_CID) + + +struct transport_params +{ + /* Which transport parameters values are set: */ + unsigned tp_set; + + /* Which transport parameters were present (set by the decoder): */ + unsigned tp_decoded; + + uint64_t tp_numerics[MAX_NUMERIC_TPI + 1]; + +#define tp_init_max_stream_data_bidi_local tp_numerics[TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL] +#define tp_init_max_stream_data_bidi_remote tp_numerics[TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE] +#define tp_init_max_stream_data_uni tp_numerics[TPI_INIT_MAX_STREAM_DATA_UNI] +#define tp_init_max_data tp_numerics[TPI_INIT_MAX_DATA] +#define tp_max_idle_timeout tp_numerics[TPI_MAX_IDLE_TIMEOUT] +#define tp_init_max_streams_bidi tp_numerics[TPI_INIT_MAX_STREAMS_BIDI] +#define tp_init_max_streams_uni tp_numerics[TPI_INIT_MAX_STREAMS_UNI] +#define tp_max_udp_payload_size tp_numerics[TPI_MAX_UDP_PAYLOAD_SIZE] +#define tp_ack_delay_exponent tp_numerics[TPI_ACK_DELAY_EXPONENT] +#define tp_max_ack_delay tp_numerics[TPI_MAX_ACK_DELAY] +#define tp_active_connection_id_limit tp_numerics[TPI_ACTIVE_CONNECTION_ID_LIMIT] +#define tp_loss_bits tp_numerics[TPI_LOSS_BITS] + + uint8_t tp_stateless_reset_token[IQUIC_SRESET_TOKEN_SZ]; + struct { + uint8_t ipv4_addr[4]; + uint16_t ipv4_port; + uint8_t ipv6_addr[16]; + uint16_t ipv6_port; + lsquic_cid_t cid; + uint8_t srst[IQUIC_SRESET_TOKEN_SZ]; + } tp_preferred_address; + lsquic_cid_t tp_cids[3]; +#define tp_original_dest_cid tp_cids[TP_CID_IDX(TPI_ORIGINAL_DEST_CID)] +#define tp_initial_source_cid tp_cids[TP_CID_IDX(TPI_INITIAL_SOURCE_CID)] +#define tp_retry_source_cid tp_cids[TP_CID_IDX(TPI_RETRY_SOURCE_CID)] + unsigned tp_versions; + uint8_t tp_version_cnt; + uint8_t tp_version_info[7]; +#define tp_chosen_version tp_version_info[0] +}; + +#define MAX_TP_STR_SZ ((LAST_TPI + 1) * \ + (34 /* longest entry in tt2str */ + 2 /* semicolon */ + 2 /* colon */) \ + + INET_ADDRSTRLEN + INET6_ADDRSTRLEN + 5 /* Port */ * 2 \ + + MAX_CID_LEN * 2 * 4 /* there are four CIDs */ \ + + 11 * (MAX_NUMERIC_TPI + 1) \ + + IQUIC_SRESET_TOKEN_SZ * 2 * 2 /* there are two reset tokens */) + +#define TP_DEF_MAX_UDP_PAYLOAD_SIZE 65527 +#define TP_DEF_ACK_DELAY_EXP 3 +#define TP_DEF_INIT_MAX_STREAMS_UNI 0 +#define TP_DEF_INIT_MAX_STREAMS_BIDI 0 +#define TP_DEF_INIT_MAX_DATA 0 +#define TP_DEF_DISABLE_ACTIVE_MIGRATION 0 +#define TP_DEF_INIT_MAX_STREAM_DATA_BIDI_LOCAL 0 +#define TP_DEF_INIT_MAX_STREAM_DATA_BIDI_REMOTE 0 +#define TP_DEF_INIT_MAX_STREAM_DATA_UNI 0 +#define TP_DEF_MAX_IDLE_TIMEOUT 0 +#define TP_DEF_MAX_ACK_DELAY 25u +#define TP_DEF_ACTIVE_CONNECTION_ID_LIMIT 2 + +/* [draft-ietf-quic-transport-34], Section 18.2 */ +#define TP_MAX_ACK_DELAY_EXP 20 + +/* [draft-ietf-quic-transport-18], Section 18.1 */ +#define TP_MAX_MAX_ACK_DELAY ((1u << 14) - 1) + +#define TP_DEFAULT_VALUES \ + .tp_set = ((1 << (MAX_NUM_WITH_DEF_TPI + 1)) - 1), \ + .tp_active_connection_id_limit = TP_DEF_ACTIVE_CONNECTION_ID_LIMIT, \ + .tp_max_idle_timeout = TP_DEF_MAX_IDLE_TIMEOUT, \ + .tp_max_ack_delay = TP_DEF_MAX_ACK_DELAY, \ + .tp_max_udp_payload_size = TP_DEF_MAX_UDP_PAYLOAD_SIZE, \ + .tp_ack_delay_exponent = TP_DEF_ACK_DELAY_EXP, \ + .tp_init_max_streams_bidi = TP_DEF_INIT_MAX_STREAMS_BIDI, \ + .tp_init_max_streams_uni = TP_DEF_INIT_MAX_STREAMS_UNI, \ + .tp_init_max_data = TP_DEF_INIT_MAX_DATA, \ + .tp_init_max_stream_data_bidi_local = TP_DEF_INIT_MAX_STREAM_DATA_BIDI_LOCAL, \ + .tp_init_max_stream_data_bidi_remote = TP_DEF_INIT_MAX_STREAM_DATA_BIDI_REMOTE, \ + .tp_init_max_stream_data_uni = TP_DEF_INIT_MAX_STREAM_DATA_UNI + +#define TP_INITIALIZER() (struct transport_params) { TP_DEFAULT_VALUES } + +int +lsquic_tp_encode (const struct transport_params *, int is_server, + unsigned char *const buf, size_t bufsz); + +int +lsquic_tp_decode (const unsigned char *const buf, size_t bufsz, + /* This argument specifies whose transport parameters we are parsing. If + * true, we are parsing parameters sent by the server; if false, we are + * parsing parameteres sent by the client. + */ + int is_server, + struct transport_params *); + +void +lsquic_tp_to_str (const struct transport_params *params, char *buf, size_t sz); + +int +lsquic_tp_encode_27 (const struct transport_params *, int is_server, + unsigned char *const buf, size_t bufsz); + +int +lsquic_tp_decode_27 (const unsigned char *const buf, size_t bufsz, + int is_server, + struct transport_params *); + +void +lsquic_tp_to_str_27 (const struct transport_params *params, char *buf, size_t sz); + +int +lsquic_tp_has_pref_ipv4 (const struct transport_params *); + +int +lsquic_tp_has_pref_ipv6 (const struct transport_params *); + +extern const char * const lsquic_tpi2str[LAST_TPI + 1]; + +/* From [draft-huitema-quic-ts-03] */ +#define TS_WANT_THEM 1 +#define TS_GENERATE_THEM 2 + +#if LSQUIC_TEST_QUANTUM_READINESS +size_t +lsquic_tp_get_quantum_sz (void); +#endif + +#define SERVER_0RTT_TPS (0 \ + /* [draft-ietf-quic-transport-31] Section 7.4.1: */ \ + | (1 << TPI_ACTIVE_CONNECTION_ID_LIMIT) \ + | (1 << TPI_INIT_MAX_DATA) \ + | (1 << TPI_INIT_MAX_STREAMS_UNI) \ + | (1 << TPI_INIT_MAX_STREAMS_BIDI) \ + | (1 << TPI_INIT_MAX_STREAM_DATA_BIDI_LOCAL) \ + | (1 << TPI_INIT_MAX_STREAM_DATA_BIDI_REMOTE) \ + | (1 << TPI_INIT_MAX_STREAM_DATA_UNI) \ + | (1 << TPI_MAX_IDLE_TIMEOUT) \ + | (1 << TPI_MAX_UDP_PAYLOAD_SIZE) \ + | (1 << TPI_DISABLE_ACTIVE_MIGRATION) \ + /* Not including TPI_LOSS_BITS, see */ \ + /* draft-ferrieuxhamchaoui-quic-lossbits-03, Section 5.1 */ \ + /* [draft-ietf-quic-datagram-01] Section 3: */ \ + | (1 << TPI_MAX_DATAGRAM_FRAME_SIZE) \ + /* [draft-iyengar-quic-delayed-ack-01] does not specfiy, store: */ \ + | (1 << TPI_MIN_ACK_DELAY) \ + /* [draft-iyengar-quic-delayed-ack-02] does not specfiy, store: */ \ + | (1 << TPI_MIN_ACK_DELAY_02) \ + /* [draft-huitema-quic-ts-03] does not specfiy, store: */ \ + | (1 << TPI_TIMESTAMPS) \ +) + +/* We always send the minimum ACK delay as 10ms; it is not configurable. + * There is nothing special about this particular value, except that it + * is not "too small" -- that is, it's within an order of magnitude from + * the maximum ACK delay of 25ms. 10ms seems like a safe lower bound for + * the ACK delay without performing more research. + */ +#define TP_MIN_ACK_DELAY 10000u + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_trechist.c b/external/lsquic/src/liblsquic/lsquic_trechist.c new file mode 100644 index 0000000..bb6d4ad --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_trechist.c @@ -0,0 +1,249 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include +#include +#include +#include + +#include "lsquic_int_types.h" +#include "lsquic_trechist.h" + + +static unsigned +find_free_slot (uint32_t slots) +{ +#if __GNUC__ + return __builtin_ctz(~slots); +#else + unsigned n; + + slots =~ slots; + n = 0; + + if (0 == (slots & ((1ULL << 16) - 1))) { n += 16; slots >>= 16; } + if (0 == (slots & ((1ULL << 8) - 1))) { n += 8; slots >>= 8; } + if (0 == (slots & ((1ULL << 4) - 1))) { n += 4; slots >>= 4; } + if (0 == (slots & ((1ULL << 2) - 1))) { n += 2; slots >>= 2; } + if (0 == (slots & ((1ULL << 1) - 1))) { n += 1; slots >>= 1; } + return n; +#endif +} + + +/* When capacity is reached, smallest element is removed. When the number + * of elements in a single range cannot be represented by te_count, an + * error is returned. This is the only error this function returns. + */ +int +lsquic_trechist_insert (trechist_mask_t *mask, struct trechist_elem *elems, + uint32_t packno) +{ + struct trechist_elem *el, *prev, *cur, *next; + unsigned idx; + + if (*mask == 0) + { + elems[0].te_low = packno; + elems[0].te_count = 1; + elems[0].te_next = 0; + *mask |= 1; + return 0; + } + + el = elems; + prev = NULL; + while (1) + { + if (packno > TE_HIGH(el) + 1) + goto insert_before; + if (packno == el->te_low - 1) + { + if (el->te_next && el->te_low == TE_HIGH(&elems[el->te_next]) + 2) + { + if (el->te_count + elems[el->te_next].te_count - 1 > UCHAR_MAX) + return -1; + *mask &= ~(1u << el->te_next); + el->te_count += elems[el->te_next].te_count + 1; + el->te_low = elems[el->te_next].te_low; + el->te_next = elems[el->te_next].te_next; + } + else + { + if (el->te_count == UCHAR_MAX) + return -1; + --el->te_low; + ++el->te_count; + } + return 0; + } + if (packno == TE_HIGH(el) + 1) + { + if (el->te_count == UCHAR_MAX) + return -1; + ++el->te_count; + return 0; + } + if (packno >= el->te_low && packno <= TE_HIGH(el)) + return 0; /* Dup */ + if (!el->te_next) + break; /* insert tail */ + prev = el; + el = &elems[el->te_next]; + } + + if (*mask == TRECHIST_MAX_RANGES_MASK) + /* No need to insert element smaller than the smallest element + * already in our list. The new element "overflows". + */ + return 0; + + idx = find_free_slot(*mask); + elems[idx].te_low = packno; + elems[idx].te_count = 1; + elems[idx].te_next = 0; + *mask |= 1u << idx;; + el->te_next = idx; + return 0; + + insert_before: + + if (*mask != TRECHIST_MAX_RANGES_MASK) + idx = find_free_slot(*mask); + else + { /* Drop last element and reuse its slot */ + for (next = &elems[el->te_next], cur = el; next->te_next; + cur = next, next = &elems[cur->te_next]) + ; + idx = cur->te_next; + cur->te_next = 0; + } + + *mask |= 1u << idx;; + if (el == elems) + { + elems[idx] = *el; + elems[0].te_low = packno; + elems[0].te_count = 1; + elems[0].te_next = idx; + } + else + { + assert(prev); + elems[idx].te_low = packno; + elems[idx].te_count = 1; + elems[idx].te_next = prev->te_next; + prev->te_next = idx; + } + + return 0; +} + + +void +lsquic_trechist_iter (struct trechist_iter *iter, trechist_mask_t mask, + const struct trechist_elem *elems) +{ + iter->mask = mask; + iter->elems = elems; +} + + +const struct lsquic_packno_range * +lsquic_trechist_first (void *iter_p) +{ + struct trechist_iter *const iter = iter_p; + + if (iter->mask == 0) + return NULL; + + iter->next = iter->elems[0].te_next; + iter->range.low = iter->elems[0].te_low; + iter->range.high = TE_HIGH(&iter->elems[0]); + return &iter->range; +} + + +const struct lsquic_packno_range * +lsquic_trechist_next (void *iter_p) +{ + struct trechist_iter *const iter = iter_p; + + if (iter->next == 0) + return NULL; + + iter->range.low = iter->elems[iter->next].te_low; + iter->range.high = TE_HIGH(&iter->elems[iter->next]); + iter->next = iter->elems[iter->next].te_next; + return &iter->range; +} + + +/* First TRECHIST_MAX_RANGES ranges are copied */ +void +lsquic_trechist_copy_ranges (trechist_mask_t *mask, + struct trechist_elem *elems, void *src_rechist, + const struct lsquic_packno_range * (*first) (void *), + const struct lsquic_packno_range * (*next) (void *)) +{ + const struct lsquic_packno_range *range; + struct trechist_elem *el; + unsigned i; + + for (el = NULL, i = 0, range = first(src_rechist); + i < TRECHIST_MAX_RANGES && range; + range = next(src_rechist), ++i) + { + /* This should never happen: */ + assert(range->high - range->low + 1 <= UINT_MAX); + + el = &elems[i]; + el->te_low = range->low; + el->te_count = range->high - range->low + 1; + el->te_next = i + 1; + } + + if (el) + el->te_next = 0; + + if (i < 32) + *mask = (1u << i) - 1; + else + *mask = UINT32_MAX; +} + + +int +lsquic_trechist_contains (trechist_mask_t mask, + const struct trechist_elem *elems, uint32_t packno) +{ + const struct trechist_elem *el; + if (mask == 0) + return 0; + + el = &elems[0]; + while (1) + { + if (packno > TE_HIGH(el)) + return 0; + if (packno >= el->te_low) + return 1; + if (el->te_next) + el = &elems[el->te_next]; + else + break; + } + + return 0; +} + + +uint32_t +lsquic_trechist_max (trechist_mask_t mask, const struct trechist_elem *elems) +{ + if (mask) + { + assert(mask & 1); + return TE_HIGH(&elems[0]); + } + else + return 0; +} diff --git a/external/lsquic/src/liblsquic/lsquic_trechist.h b/external/lsquic/src/liblsquic/lsquic_trechist.h new file mode 100644 index 0000000..6b69e0e --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_trechist.h @@ -0,0 +1,75 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Tiny receive history. It is used in IETF mini connection, where we want + * to use as little memory as possible. This data structure is an array of + * packet ranges. Each packet range is six bytes. This is possible because + * initial packets must not be wider than four bytes. + * + * Another limitation of this history is that it never shrinks. (Although + * technically is is possible to implement. + */ + +#ifndef LSQUIC_TRECHIST +#define LSQUIC_TRECHIST 1 + +struct lsquic_packno_range; + +/* This value could be as large as 32, which is how many bits wide + * trechist_mask_t is. The other limit on the number of ranges is + * UCHAR_MAX, which is how many different values can fit into te_next. + */ +#define TRECHIST_MAX_RANGES 16 +#define TRECHIST_MAX_RANGES_MASK ((1u << TRECHIST_MAX_RANGES) - 1) + +struct trechist_elem +{ + uint32_t te_low; + unsigned char te_count; + unsigned char te_next; /* 0 means no next element */ +}; + +#define TE_HIGH(te_) ((te_)->te_low + (te_)->te_count - 1) + +#define TRECHIST_SIZE (TRECHIST_MAX_RANGES * sizeof(struct trechist_elem)) + +/* There are two parts to this: the array of trechist_elem's and the bitmask + * that tracks which elements are used. The smallest range must always be at + * offset zero. + */ +typedef uint32_t trechist_mask_t; + +int +lsquic_trechist_insert (trechist_mask_t *, struct trechist_elem *, uint32_t); + +struct trechist_iter { + struct lsquic_packno_range range; + const struct trechist_elem *elems; + trechist_mask_t mask; + unsigned char next; +}; + +void +lsquic_trechist_iter (struct trechist_iter *iter, trechist_mask_t mask, + const struct trechist_elem *); + +/* Don't modify history while iterating */ +const struct lsquic_packno_range * +lsquic_trechist_first (void *iter); + +const struct lsquic_packno_range * +lsquic_trechist_next (void *iter); + +void +lsquic_trechist_copy_ranges (trechist_mask_t *mask /* This gets overwritten */, + struct trechist_elem *elems, void *src_rechist, + const struct lsquic_packno_range * (*first) (void *), + const struct lsquic_packno_range * (*next) (void *)); + +int +lsquic_trechist_contains (trechist_mask_t mask, + const struct trechist_elem *elems, uint32_t packno); + +uint32_t +lsquic_trechist_max (trechist_mask_t mask, const struct trechist_elem *elems); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_util.c b/external/lsquic/src/liblsquic/lsquic_util.c new file mode 100644 index 0000000..dcf6411 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_util.c @@ -0,0 +1,337 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * Utility functions + */ + +#include +#include +#include +#include +#include +#include +#ifndef WIN32 +#include +#include +#include +#include +#include +#else +#include +#include +#endif + +#if !(defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) && defined(__APPLE__) +#include +#endif + +#include "lsquic_int_types.h" +#include "lsquic_util.h" +#if LSQUIC_COUNT_TIME_CALLS +#include +#include "lsquic_types.h" +#include "lsquic_logger.h" +#endif + + +#if defined(__APPLE__) +static mach_timebase_info_data_t timebase; +#endif +#if defined(WIN32) +static LARGE_INTEGER perf_frequency; +#endif + + +#if LSQUIC_COUNT_TIME_CALLS +static volatile unsigned long n_time_now_calls; + + +static void +print_call_stats (void) +{ + LSQ_NOTICE("number of lsquic_time_now() calls: %lu", n_time_now_calls); +} +#endif + + +void +lsquic_init_timers (void) +{ +#if LSQUIC_COUNT_TIME_CALLS + atexit(print_call_stats); +#endif +#if defined(__APPLE__) + mach_timebase_info(&timebase); +#endif +#if defined(WIN32) + QueryPerformanceFrequency(&perf_frequency); +#endif +} + + +lsquic_time_t +_lsquic_time_now (void) +{ +#if LSQUIC_COUNT_TIME_CALLS + ++n_time_now_calls; +#endif +#if defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 + struct timespec ts; + (void) clock_gettime(CLOCK_MONOTONIC, &ts); + return (lsquic_time_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000; +#elif defined(__APPLE__) + lsquic_time_t t = mach_absolute_time(); + t *= timebase.numer; + t /= timebase.denom; + t /= 1000; + return t; +#elif defined(WIN32) + LARGE_INTEGER counter; + lsquic_time_t t; + QueryPerformanceCounter(&counter); + t = counter.QuadPart; + t *= 1000000; + t /= perf_frequency.QuadPart; + return t; +#else +# warn Monotonically increasing clock is not available on this platform + struct timeval tv; + (void) gettimeofday(&tv, NULL); + return (lsquic_time_t) tv.tv_sec * 1000000 + tv.tv_usec; +#endif +} + + +int +lsquic_is_zero (const void *pbuf, size_t bufsz) +{ + const unsigned char *buf, *end; + const unsigned long *buf_ul; + unsigned n_ul; + unsigned long n_non_zero; + + buf = pbuf; + end = buf + bufsz; + buf_ul = (unsigned long *) buf; + n_ul = bufsz / sizeof(buf_ul[0]); + buf += n_ul * sizeof(buf_ul[0]); + n_non_zero = 0; + + while (n_ul--) + n_non_zero |= buf_ul[n_ul]; + + while (buf < end) + n_non_zero |= *buf++; + + return n_non_zero == 0; +} + + +/* XXX this function uses static buffer. Replace it with lsquic_hexdump() if possible */ +char * +lsquic_get_bin_str (const void *s, size_t len, size_t max_display_len) +{ + const unsigned char *p, *pEnd; + char *pOutput; + size_t lenOrg = len; + static char str[512 * 2 + 40] = {0}; + + /** + * We alloc fixed size buffer, at most max_display_len is 512 + */ + size_t fit_display_len = (max_display_len > 512 ? 512 : max_display_len); + if (len > fit_display_len) + len = fit_display_len; + + pOutput = &str[0] + sprintf(str, "(%zd/%zd)=0x", len, lenOrg); + + for(p = s, pEnd = (unsigned char*)s + len; p < pEnd; ++p) + { + sprintf(pOutput, "%02X", *p); + pOutput += 2; + } + if (lenOrg > len) + { + sprintf(pOutput, "..."); + pOutput += 3; + } + return str; +} + + +static char +hex_digit(uint8_t n) +{ + return (n < 10) ? (n + '0') : ((n - 10) + 'a'); +} + + +size_t +lsquic_hex_encode (const void *src, size_t src_sz, void *dst, size_t dst_sz) +{ + size_t src_cur, dst_cur; + const uint8_t *src_hex; + char *dst_char; + + src_hex = (const uint8_t *)src; + dst_char = (char *)dst; + src_cur = dst_cur = 0; + + while (src_cur < src_sz && dst_cur < (dst_sz - 2)) + { + dst_char[dst_cur++] = hex_digit((src_hex[src_cur] & 0xf0) >> 4); + dst_char[dst_cur++] = hex_digit(src_hex[src_cur++] & 0x0f); + } + dst_char[dst_cur++] = '\0'; + return dst_cur; +} + + +void +lsquic_hexstr (const unsigned char *buf, size_t bufsz, char *out, size_t outsz) +{ + static const char b2c[16] = "0123456789ABCDEF"; + const unsigned char *const end_input = buf + bufsz; + char *const end_output = out + outsz; + + while (buf < end_input && out + 2 < end_output) + { + *out++ = b2c[ *buf >> 4 ]; + *out++ = b2c[ *buf & 0xF ]; + ++buf; + } + + if (buf < end_input) + out[-1] = '!'; + + *out = '\0'; +} + + +size_t +lsquic_hexdump (const void *src_void, size_t src_sz, char *out, size_t out_sz) +{ +/* Ruler: + * + 6 31 57 73 + | | | | +0000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |................| + * + */ +#define LINE_SIZE (74 + 1 /* newline */) + const unsigned char *src = src_void; + const unsigned char *const src_end = src + src_sz; + char *const out_end = out + out_sz; + unsigned line = 0; + + while (src < src_end && out_end - out >= LINE_SIZE) + { + const unsigned char *limit = src + 16; + if (limit > src_end) + limit = src_end; + unsigned hex_off = 6; + unsigned alpha_off = 57; + sprintf(out, "%03X0", line++); + out[4] = ' '; + out[5] = ' '; + while (src < limit) + { + sprintf(out + hex_off, "%02X ", *src); + sprintf(out + alpha_off, "%c", isprint(*src) ? *src : '.'); + hex_off += 3; + out[hex_off] = ' '; + hex_off += 30 == hex_off; + out[hex_off] = ' '; + ++alpha_off; + out[alpha_off] = ' '; + ++src; + } + memset(out + hex_off, ' ', 56 - hex_off); + memset(out + alpha_off, '.', 73 - alpha_off); + out[56] = '|'; + out[73] = '|'; + out[74] = '\n'; + out += LINE_SIZE; + } + + if (out < out_end) + *out = '\0'; + else + out_end[-1] = '\0'; + + return out + out_sz - out_end; +} + + +/* Returns true if socket addresses are equal, false otherwise. Only + * families, IP addresses, and ports are compared. + */ +int +lsquic_sockaddr_eq (const struct sockaddr *a, const struct sockaddr *b) +{ + if (a->sa_family == AF_INET) + return a->sa_family == b->sa_family + && ((struct sockaddr_in *) a)->sin_addr.s_addr + == ((struct sockaddr_in *) b)->sin_addr.s_addr + && ((struct sockaddr_in *) a)->sin_port + == ((struct sockaddr_in *) b)->sin_port; + else + return a->sa_family == b->sa_family + && ((struct sockaddr_in6 *) a)->sin6_port == + ((struct sockaddr_in6 *) b)->sin6_port + && 0 == memcmp(&((struct sockaddr_in6 *) a)->sin6_addr, + &((struct sockaddr_in6 *) b)->sin6_addr, + sizeof(((struct sockaddr_in6 *) b)->sin6_addr)); +} + + +char * +lsquic_sockaddr2str (const struct sockaddr *addr, char *buf, size_t sz) +{ + unsigned short port; + int len; + + switch (addr->sa_family) + { + case AF_INET: + port = ntohs(((struct sockaddr_in *) addr)->sin_port); + if (!inet_ntop(AF_INET, &((struct sockaddr_in *) addr)->sin_addr, + buf, sz)) + buf[0] = '\0'; + break; + case AF_INET6: + port = ntohs(((struct sockaddr_in6 *) addr)->sin6_port); + if (!inet_ntop(AF_INET6, &((struct sockaddr_in6 *) addr)->sin6_addr, + buf, sz)) + buf[0] = '\0'; + break; + default: + port = 0; + (void) snprintf(buf, sz, "", addr->sa_family); + break; + } + + len = strlen(buf); + if (len < (int) sz) + snprintf(buf + len, sz - (size_t) len, ":%hu", port); + return buf; +} + + +#ifdef _MSC_VER +char * +lsquic_strndup (const char *s, size_t n) +{ + size_t len; + char *copy; + + len = strnlen(s, n); + copy = malloc(n + 1); + if (copy) + { + memcpy(copy, s, len); + copy[len] = '\0'; + } + + return copy; +} +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_util.h b/external/lsquic/src/liblsquic/lsquic_util.h new file mode 100644 index 0000000..495d33d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_util.h @@ -0,0 +1,63 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_util.h -- Utility functions + */ + +#ifndef LSQUIC_UTIL_H +#define LSQUIC_UTIL_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +struct sockaddr; + +lsquic_time_t +lsquic_time_now (void); + +void +lsquic_init_timers (void); + +/* Returns 1 if `buf' contains only zero bytes, 0 otherwise. + */ +int +lsquic_is_zero (const void *buf, size_t bufsz); + + + +char * +lsquic_get_bin_str (const void *s, size_t len, size_t max_display_len); + +size_t +lsquic_hex_encode (const void *src, size_t src_sz, void *dst, size_t dst_sz); + +/* `out_sz' is assumed to be at least 1. `out' is always NUL-terminated. */ +size_t +lsquic_hexdump (const void *src, size_t src_sz, char *out, size_t out_sz); + +void +lsquic_hexstr (const unsigned char *buf, size_t bufsz, char *out, size_t outsz); + +#define HEXSTR(buf, bufsz, out) \ + (lsquic_hexstr(buf, bufsz, out, sizeof(out)), out) + +int +lsquic_sockaddr_eq (const struct sockaddr *a, const struct sockaddr *b); + +char * +lsquic_sockaddr2str (const struct sockaddr *addr, char *buf, size_t sz); + +#define SA2STR(sa_, buf_) (lsquic_sockaddr2str(sa_, buf_, sizeof(buf_)), buf_) + +#ifdef _MSC_VER +char * +lsquic_strndup(const char *s, size_t n); +#define strndup lsquic_strndup +#endif + +#ifdef __cplusplus +} +#endif + + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_varint.c b/external/lsquic/src/liblsquic/lsquic_varint.c new file mode 100644 index 0000000..fd9c1ca --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_varint.c @@ -0,0 +1,202 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_varint.c -- routines dealing with IETF QUIC varint. + */ + +#include +#include +#include + +#include "lsquic_byteswap.h" +#include "lsquic_varint.h" + +/* Returns number of bytes read from p (1, 2, 4, or 8), or a negative + * value on error. + */ +int +lsquic_varint_read (const unsigned char *p, const unsigned char *end, + uint64_t *valp) +{ + uint64_t val; + + if (p >= end) + return -1; + + switch (*p >> 6) + { + case 0: + *valp = *p; + return 1; + case 1: + if (p + 1 >= end) + return -1; + *valp = (p[0] & VINT_MASK) << 8 + | p[1] + ; + return 2; + case 2: + if (p + 3 >= end) + return -1; + *valp = (p[0] & VINT_MASK) << 24 + | p[1] << 16 + | p[2] << 8 + | p[3] << 0 + ; + return 4; + default: + if (p + 7 >= end) + return -1; + memcpy(&val, p, 8); +#if __BYTE_ORDER == __LITTLE_ENDIAN + val = bswap_64(val); +#endif + val &= (1ULL << 62) - 1; + *valp = val; + return 8; + } +} + + +int +lsquic_varint_read_nb (const unsigned char **pp, const unsigned char *end, + struct varint_read_state *state) +{ + const unsigned char *p = *pp; + + if (p >= end) + return -1; + + switch (state->pos ? state->pos : *p >> 6) + { + case 0: + state->val = *p++; + *pp = p; + return 0; + case 1: + state->val = (*p++ & VINT_MASK) << 8; + if (p >= end) { state->pos = 1000; break; } + /* fall through */ + case 1000: + state->val |= *p++; + *pp = p; + return 0; + case 2: + if (p + 3 < end) + { + state->val = (p[0] & VINT_MASK) << 24 + | p[1] << 16 + | p[2] << 8 + | p[3] << 0 + ; + *pp += 4; + return 0; + } + state->val = (*p++ & VINT_MASK) << 24; + if (p >= end) { state->pos = 1001; break; } + /* fall through */ + case 1001: + state->val |= *p++ << 16; + if (p >= end) { state->pos = 1002; break; } + /* fall through */ + case 1002: + state->val |= *p++ << 8; + if (p >= end) { state->pos = 1003; break; } + /* fall through */ + case 1003: + state->val |= *p++; + *pp = p; + return 0; + case 3: + if (p + 7 < end) + { + memcpy(&state->val, p, 8); +#if __BYTE_ORDER == __LITTLE_ENDIAN + state->val = bswap_64(state->val); +#endif + state->val &= (1ULL << 62) - 1; + *pp += 8; + return 0; + } + state->val = (uint64_t) (*p++ & VINT_MASK) << 56; + if (p >= end) { state->pos = 1004; break; } + /* fall through */ + case 1004: + state->val |= (uint64_t) *p++ << 48; + if (p >= end) { state->pos = 1005; break; } + /* fall through */ + case 1005: + state->val |= (uint64_t) *p++ << 40; + if (p >= end) { state->pos = 1006; break; } + /* fall through */ + case 1006: + state->val |= (uint64_t) *p++ << 32; + if (p >= end) { state->pos = 1007; break; } + /* fall through */ + case 1007: + state->val |= (uint64_t) *p++ << 24; + if (p >= end) { state->pos = 1008; break; } + /* fall through */ + case 1008: + state->val |= (uint64_t) *p++ << 16; + if (p >= end) { state->pos = 1009; break; } + /* fall through */ + case 1009: + state->val |= (uint64_t) *p++ << 8; + if (p >= end) { state->pos = 1010; break; } + /* fall through */ + case 1010: + state->val |= *p++; + *pp = p; + return 0; + default: + assert(0); + } + + *pp = p; + return -1; +} + + +int +lsquic_varint_read_two (const unsigned char **begin, const unsigned char *end, + struct varint_read2_state *state) +{ + const unsigned char *p = *begin; + int s; + + while (p < end) + { + switch (state->vr2s_state) + { + case VR2S_READ_ONE_BEGIN: + state->vr2s_varint_state.pos = 0; + state->vr2s_state = VR2S_READ_ONE_CONTINUE; + goto cont; + case VR2S_READ_TWO_BEGIN: + state->vr2s_varint_state.pos = 0; + state->vr2s_state = VR2S_READ_TWO_CONTINUE; + goto cont; + cont: case VR2S_READ_ONE_CONTINUE: + case VR2S_READ_TWO_CONTINUE: + s = lsquic_varint_read_nb(&p, end, &state->vr2s_varint_state); + if (s == 0) + { + if (state->vr2s_state == VR2S_READ_TWO_CONTINUE) + goto done; + state->vr2s_one = state->vr2s_varint_state.val; + state->vr2s_state = VR2S_READ_TWO_BEGIN; + break; + } + else + goto more; + } + } + + more: + *begin = p; + return -1; + + done: + *begin = p; + return 0; +} diff --git a/external/lsquic/src/liblsquic/lsquic_varint.h b/external/lsquic/src/liblsquic/lsquic_varint.h new file mode 100644 index 0000000..23b6df2 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_varint.h @@ -0,0 +1,102 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_VARINT_H +#define LSQUIC_VARINT_H 1 + +#define VINT_MASK ((1 << 6) - 1) + +#include + +/* See [draft-ietf-quic-transport-11], section-7.1 */ +static inline uint64_t +vint_val2bits (uint64_t val) +{ + return ((val) >= (1 << 6)) + ((val) >= (1 << 14)) + ((val) >= (1 << 30)); +} + +static inline uint64_t +vint_size (uint64_t val) +{ + return 1u << vint_val2bits(val); +} + +#define VINT_MAX_VALUE ((1ull << 62) - 1) + +/* Map + * 0 -> 6 + * 1 -> 14 + * 2 -> 30 + * 3 -> 62 + */ + +static inline uint64_t +vint_bits2shift (uint64_t bits) +{ + return (1 << (3 + (bits))) - 2; +} + +#define VINT_MAX_B(bits_) ((1ull << (vint_bits2shift(bits_))) - 1) + +/* Maximum value that can be encoded as one byte: */ +#define VINT_MAX_ONE_BYTE VINT_MAX_B(0) + +int +lsquic_varint_read (const unsigned char *p, const unsigned char *end, + uint64_t *valp); + +#define vint_read lsquic_varint_read + +struct varint_read_state +{ + uint64_t val; + int pos; +}; + +int +lsquic_varint_read_nb (const unsigned char **p, const unsigned char *end, + struct varint_read_state *); + +struct varint_read2_state +{ + uint64_t vr2s_one; + struct varint_read_state vr2s_varint_state; +#define vr2s_two vr2s_varint_state.val + enum { + VR2S_READ_ONE_BEGIN = 0, + VR2S_READ_ONE_CONTINUE, + VR2S_READ_TWO_BEGIN, + VR2S_READ_TWO_CONTINUE, + } vr2s_state; +}; + +/* When first called, vr2s_state must be set to 0. + * + * Returns 0 when both varint values have been read. They are available + * in vr2s_one and vr2s_two. + * + * Returns -1 when more input is needed. + */ +int +lsquic_varint_read_two (const unsigned char **p, const unsigned char *end, + struct varint_read2_state *); + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#include "lsquic_byteswap.h" +static inline void +vint_write (void *dst, uint64_t val, uint64_t bits, size_t len) +{ + uint64_t buf_ = (val) + | (uint64_t) (bits) << vint_bits2shift(bits); + buf_ = bswap_64(buf_); + memcpy(dst, (unsigned char *) &buf_ + 8 - (len), (len)); +} +#else +static inline void +vint_write (void *dst, uint64_t val, uint64_t bits, size_t len) +{ \ + uint64_t buf_ = (val) + | (uint64_t) (bits) << vint_bits2shift(bits); + memcpy(dst, (unsigned char *) &buf_ + 8 - (len), (len)); +} +#endif + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_ver_neg.h b/external/lsquic/src/liblsquic/lsquic_ver_neg.h new file mode 100644 index 0000000..63fafb4 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_ver_neg.h @@ -0,0 +1,26 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#ifndef LSQUIC_VER_NEG_H +#define LSQUIC_VER_NEG_H + +/* Client engages in version negotiation, going from highest supported + * version to lowest. + */ +struct ver_neg { + unsigned vn_supp; /* Remaining options, including `vn_ver' */ + enum lsquic_version vn_ver; /* If client, current version sent to server + * (sess_resume version or highest supported); + * if server, this is set to negotiated version. + */ + enum ver_neg_state { + VN_START, /* Have not received ver-nego packet */ + VN_IN_PROGRESS, /* Received ver-nego packet */ + VN_END, /* Received packet using supported version */ + } vn_state; + lsquic_ver_tag_t vn_buf; /* Buffer to store version tag */ + lsquic_ver_tag_t *vn_tag; /* Pointer to version tag. Set to NULL if + * version negotiation is done in the client; + * always set to NULL in server. + */ +}; + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_version.c b/external/lsquic/src/liblsquic/lsquic_version.c new file mode 100644 index 0000000..d93295d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_version.c @@ -0,0 +1,195 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +#include + +#include "lsquic.h" +#include "lsquic_int_types.h" +#include "lsquic_version.h" + +#if _MSC_VER +#include "vc_compat.h" +#endif + + +static const unsigned char version_tags[N_LSQVER][4] = +{ + [LSQVER_043] = { 'Q', '0', '4', '3', }, + [LSQVER_046] = { 'Q', '0', '4', '6', }, + [LSQVER_050] = { 'Q', '0', '5', '0', }, + [LSQVER_ID27] = { 0xFF, 0, 0, 27, }, + [LSQVER_ID29] = { 0xFF, 0, 0, 29, }, + [LSQVER_I001] = { 0, 0, 0, 1, }, + [LSQVER_I002] = { 0x6B, 0x33, 0x43, 0xCF }, + [LSQVER_RESVED] = { 0xFA, 0xFA, 0xFA, 0xFA, }, +}; + + +uint32_t +lsquic_ver2tag (unsigned version) +{ + lsquic_ver_tag_t tag; + if (version < N_LSQVER) + { + memcpy(&tag, version_tags[version], 4); + return tag; + } + else + return 0; +} + + +enum lsquic_version +lsquic_tag2ver (uint32_t ver_tag) +{ + unsigned n; + for (n = 0; n < sizeof(version_tags) / sizeof(version_tags[0]); ++n) + if (0 == memcmp(version_tags[n], &ver_tag, sizeof(ver_tag))) + return n; + return -1; +} + + +enum lsquic_version +lsquic_tag2ver_fast (const unsigned char *tag) +{ + unsigned char ch; + ch = *tag; + if (ch == '\0' && *(tag + 1) == 0 && *(tag + 2) == 0) + { + if (*(tag + 3) == 0x01) + return LSQVER_I001; + else if (*(tag + 3) == 0x00) + return LSQVER_VERNEG; + } + else if (ch == 0xff && *(tag + 1) == 0 && *(tag + 2) == 0) + { + if (*(tag + 3) == 0x1D) + return LSQVER_ID29; + else if (*(tag + 3) == 0x1B) + return LSQVER_ID27; + } + else if (ch == 0x6b && *(tag + 1) == 0x33 + && *(tag + 2) == 0x43 && *(tag + 3) == 0xcf) + { + return LSQVER_I002; + } + else if (ch == 'Q' && *(tag + 1) == '0') + { + if (*(tag + 2) == '5' && *(tag + 3) == '0') + return LSQVER_050; + else if (*(tag + 2) == '4' && *(tag + 3) == '6') + return LSQVER_046; + } + else if ((ch & 0xf) == 0xa && (*(tag + 1) & 0xf) == 0xa + && (*(tag + 2) & 0xf) == 0xa && (*(tag + 3) & 0xf) == 0xa) + return LSQVER_RESVED; + return N_LSQVER; +} + + +enum lsquic_version +lsquic_tag2ver_ietf (const unsigned char *tag) +{ + unsigned char ch; + ch = *tag; + if (ch == '\0' && *(tag + 1) == 0 && *(tag + 2) == 0) + { + if (*(tag + 3) == 0x01) + return LSQVER_I001; + else if (*(tag + 3) == 0x00) + return LSQVER_VERNEG; + } + else if (ch == 0xff && *(tag + 1) == 0 && *(tag + 2) == 0) + { + if (*(tag + 3) == 0x1D) + return LSQVER_ID29; + else if (*(tag + 3) == 0x1B) + return LSQVER_ID27; + } + else if (ch == 0x6b && *(tag + 1) == 0x33 + && *(tag + 2) == 0x43 && *(tag + 3) == 0xcf) + { + return LSQVER_I002; + } + else if ((ch & 0xf) == 0xa && (*(tag + 1) & 0xf) == 0xa + && (*(tag + 2) & 0xf) == 0xa && (*(tag + 3) & 0xf) == 0xa) + return LSQVER_RESVED; + return N_LSQVER; +} + + +const char *const lsquic_ver2str[N_LSQVER] = { + [LSQVER_043] = "Q043", + [LSQVER_046] = "Q046", + [LSQVER_050] = "Q050", + [LSQVER_ID27] = "FF00001B", + [LSQVER_ID29] = "FF00001D", + [LSQVER_I001] = "00000001", + [LSQVER_I002] = "6B3343CF", + [LSQVER_RESVED] = "FAFAFAFA", +}; + + +const char *const lsquic_ver2altstr[N_LSQVER] = { + [LSQVER_043] = NULL, + [LSQVER_046] = NULL, + [LSQVER_050] = NULL, + [LSQVER_ID27] = "h3-27", + [LSQVER_ID29] = "h3-29", + [LSQVER_I001] = "h3", + [LSQVER_I002] = "h3-v2", + [LSQVER_RESVED] = "RESERVED", +}; + + +enum lsquic_version +lsquic_str2ver (const char *str, size_t len) +{ + enum lsquic_version ver; + uint32_t tag; + + if (len == sizeof(tag) && 'Q' == str[0]) + { + memcpy(&tag, str, sizeof(tag)); + return lsquic_tag2ver(tag); + } + + for (ver = 0; ver < N_LSQVER; ++ver) + { + if (strlen(lsquic_ver2str[ver]) == len + && strncasecmp(lsquic_ver2str[ver], str, len) == 0) + { + return ver; + } + if (lsquic_ver2altstr[ver] && strlen(lsquic_ver2altstr[ver]) == len + && strncasecmp(lsquic_ver2altstr[ver], str, len) == 0) + { + return ver; + } + } + return -1; +} + + +int +lsquic_gen_ver_tags (unsigned char *buf, size_t bufsz, unsigned version_bitmask) +{ + unsigned n; + lsquic_ver_tag_t tag; + unsigned char *p = buf; + unsigned char *const pend = p + bufsz; + for (n = 0; version_bitmask; ++n) + { + if (version_bitmask & (1 << n)) + { + if (p + 4 > pend) + return -1; + version_bitmask &= ~(1 << n); + tag = lsquic_ver2tag(n); + if (0 == tag) + return -1; + memcpy(p, &tag, 4); + p += 4; + } + } + return p - buf; +} diff --git a/external/lsquic/src/liblsquic/lsquic_version.h b/external/lsquic/src/liblsquic/lsquic_version.h new file mode 100644 index 0000000..63b1cb8 --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_version.h @@ -0,0 +1,28 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + * lsquic_version.h -- version manipulation routines + */ + +#ifndef LSQUIC_VERSION_H +#define LSQUIC_VERSION_H 1 + +#include + +uint32_t +lsquic_ver2tag (unsigned version); + +enum lsquic_version +lsquic_tag2ver (uint32_t ver_tag); + +enum lsquic_version +lsquic_tag2ver_ietf (const unsigned char *tag); + +enum lsquic_version +lsquic_tag2ver_fast (const unsigned char * tag); + +extern const char *const lsquic_ver2str[]; + +int +lsquic_gen_ver_tags (unsigned char *buf, size_t bufsz, unsigned versions); + +#endif diff --git a/external/lsquic/src/liblsquic/lsquic_xxhash.h b/external/lsquic/src/liblsquic/lsquic_xxhash.h new file mode 100644 index 0000000..d89bf4d --- /dev/null +++ b/external/lsquic/src/liblsquic/lsquic_xxhash.h @@ -0,0 +1,161 @@ +/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ +/* + xxHash - Extremely Fast Hash algorithm + Header File + Copyright (C) 2012-2014, Yann Collet. + BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + You can contact the author at : + - xxHash source repository : http://code.google.com/p/xxhash/ +*/ + +/* Notice extracted from xxHash homepage : + +xxHash is an extremely fast Hash algorithm, running at RAM speed limits. +It also successfully passes all tests from the SMHasher suite. + +Comparison (single thread, Windows Seven 32 bits, using SMHasher on a Core 2 Duo @3GHz) + +Name Speed Q.Score Author +xxHash 5.4 GB/s 10 +CrapWow 3.2 GB/s 2 Andrew +MumurHash 3a 2.7 GB/s 10 Austin Appleby +SpookyHash 2.0 GB/s 10 Bob Jenkins +SBox 1.4 GB/s 9 Bret Mulvey +Lookup3 1.2 GB/s 9 Bob Jenkins +SuperFastHash 1.2 GB/s 1 Paul Hsieh +CityHash64 1.05 GB/s 10 Pike & Alakuijala +FNV 0.55 GB/s 5 Fowler, Noll, Vo +CRC32 0.43 GB/s 9 +MD5-32 0.33 GB/s 10 Ronald L. Rivest +SHA1-32 0.28 GB/s 10 + +Q.Score is a measure of quality of the hash function. +It depends on successfully passing SMHasher test set. +10 is a perfect score. +*/ + +#pragma once + +#if defined (__cplusplus) +extern "C" { +#endif + + +/***************************** + Includes +*****************************/ +#include /* size_t */ + + +/***************************** + Type +*****************************/ +typedef enum { XXH_OK = 0, XXH_ERROR } XXH_errorcode; + + + +/***************************** + Simple Hash Functions +*****************************/ + +unsigned int XXH32(const void *input, size_t length, unsigned seed); +unsigned long long XXH64(const void *input, size_t length, + unsigned long long seed); + +/* +XXH32() : + Calculate the 32-bits hash of sequence "length" bytes stored at memory address "input". + The memory between input & input+length must be valid (allocated and read-accessible). + "seed" can be used to alter the result predictably. + This function successfully passes all SMHasher tests. + Speed on Core 2 Duo @ 3 GHz (single thread, SMHasher benchmark) : 5.4 GB/s +XXH64() : + Calculate the 64-bits hash of sequence of length "len" stored at memory address "input". +*/ + + + +/***************************** + Advanced Hash Functions +*****************************/ +typedef struct { long long ll[ 6]; } XXH32_state_t; +typedef struct { long long ll[11]; } XXH64_state_t; + +/* +These structures allow static allocation of XXH states. +States must then be initialized using XXHnn_reset() before first use. + +If you prefer dynamic allocation, please refer to functions below. +*/ + +XXH32_state_t *XXH32_createState(void); +XXH_errorcode XXH32_freeState(XXH32_state_t *statePtr); + +XXH64_state_t *XXH64_createState(void); +XXH_errorcode XXH64_freeState(XXH64_state_t *statePtr); + +/* +These functions create and release memory for XXH state. +States must then be initialized using XXHnn_reset() before first use. +*/ + + +XXH_errorcode XXH32_reset(XXH32_state_t *statePtr, unsigned seed); +XXH_errorcode XXH32_update(XXH32_state_t *statePtr, const void *input, + size_t length); +unsigned int XXH32_digest(const XXH32_state_t *statePtr); + +XXH_errorcode XXH64_reset(XXH64_state_t *statePtr, + unsigned long long seed); +XXH_errorcode XXH64_update(XXH64_state_t *statePtr, const void *input, + size_t length); +unsigned long long XXH64_digest(const XXH64_state_t *statePtr); + +/* +These functions calculate the xxHash of an input provided in multiple smaller packets, +as opposed to an input provided as a single block. + +XXH state space must first be allocated, using either static or dynamic method provided above. + +Start a new hash by initializing state with a seed, using XXHnn_reset(). + +Then, feed the hash state by calling XXHnn_update() as many times as necessary. +Obviously, input must be valid, meaning allocated and read accessible. +The function returns an error code, with 0 meaning OK, and any other value meaning there is an error. + +Finally, you can produce a hash anytime, by using XXHnn_digest(). +This function returns the final nn-bits hash. +You can nonetheless continue feeding the hash state with more input, +and therefore get some new hashes, by calling again XXHnn_digest(). + +When you are done, don't forget to free XXH state space, using typically XXHnn_freeState(). +*/ + + +#if defined (__cplusplus) +} +#endif diff --git a/external/lsquic/src/lshpack/huff-tables.h b/external/lsquic/src/lshpack/huff-tables.h new file mode 100644 index 0000000..8cf0110 --- /dev/null +++ b/external/lsquic/src/lshpack/huff-tables.h @@ -0,0 +1,136251 @@ +struct encode_el +{ + uint32_t code; + int bits; +}; + +static const struct encode_el encode_table[257] = +{ + { 0x1ff8, 13}, // ( 0) + { 0x7fffd8, 23}, // ( 1) + { 0xfffffe2, 28}, // ( 2) + { 0xfffffe3, 28}, // ( 3) + { 0xfffffe4, 28}, // ( 4) + { 0xfffffe5, 28}, // ( 5) + { 0xfffffe6, 28}, // ( 6) + { 0xfffffe7, 28}, // ( 7) + { 0xfffffe8, 28}, // ( 8) + { 0xffffea, 24}, // ( 9) + { 0x3ffffffc, 30}, // ( 10) + { 0xfffffe9, 28}, // ( 11) + { 0xfffffea, 28}, // ( 12) + { 0x3ffffffd, 30}, // ( 13) + { 0xfffffeb, 28}, // ( 14) + { 0xfffffec, 28}, // ( 15) + { 0xfffffed, 28}, // ( 16) + { 0xfffffee, 28}, // ( 17) + { 0xfffffef, 28}, // ( 18) + { 0xffffff0, 28}, // ( 19) + { 0xffffff1, 28}, // ( 20) + { 0xffffff2, 28}, // ( 21) + { 0x3ffffffe, 30}, // ( 22) + { 0xffffff3, 28}, // ( 23) + { 0xffffff4, 28}, // ( 24) + { 0xffffff5, 28}, // ( 25) + { 0xffffff6, 28}, // ( 26) + { 0xffffff7, 28}, // ( 27) + { 0xffffff8, 28}, // ( 28) + { 0xffffff9, 28}, // ( 29) + { 0xffffffa, 28}, // ( 30) + { 0xffffffb, 28}, // ( 31) + { 0x14, 6}, // ' ' ( 32) + { 0x3f8, 10}, // '!' ( 33) + { 0x3f9, 10}, // '"' ( 34) + { 0xffa, 12}, // '#' ( 35) + { 0x1ff9, 13}, // '$' ( 36) + { 0x15, 6}, // '%' ( 37) + { 0xf8, 8}, // '&' ( 38) + { 0x7fa, 11}, // ''' ( 39) + { 0x3fa, 10}, // '(' ( 40) + { 0x3fb, 10}, // ')' ( 41) + { 0xf9, 8}, // '*' ( 42) + { 0x7fb, 11}, // '+' ( 43) + { 0xfa, 8}, // ',' ( 44) + { 0x16, 6}, // '-' ( 45) + { 0x17, 6}, // '.' ( 46) + { 0x18, 6}, // '/' ( 47) + { 0x0, 5}, // '0' ( 48) + { 0x1, 5}, // '1' ( 49) + { 0x2, 5}, // '2' ( 50) + { 0x19, 6}, // '3' ( 51) + { 0x1a, 6}, // '4' ( 52) + { 0x1b, 6}, // '5' ( 53) + { 0x1c, 6}, // '6' ( 54) + { 0x1d, 6}, // '7' ( 55) + { 0x1e, 6}, // '8' ( 56) + { 0x1f, 6}, // '9' ( 57) + { 0x5c, 7}, // ':' ( 58) + { 0xfb, 8}, // ';' ( 59) + { 0x7ffc, 15}, // '<' ( 60) + { 0x20, 6}, // '=' ( 61) + { 0xffb, 12}, // '>' ( 62) + { 0x3fc, 10}, // '?' ( 63) + { 0x1ffa, 13}, // '@' ( 64) + { 0x21, 6}, // 'A' ( 65) + { 0x5d, 7}, // 'B' ( 66) + { 0x5e, 7}, // 'C' ( 67) + { 0x5f, 7}, // 'D' ( 68) + { 0x60, 7}, // 'E' ( 69) + { 0x61, 7}, // 'F' ( 70) + { 0x62, 7}, // 'G' ( 71) + { 0x63, 7}, // 'H' ( 72) + { 0x64, 7}, // 'I' ( 73) + { 0x65, 7}, // 'J' ( 74) + { 0x66, 7}, // 'K' ( 75) + { 0x67, 7}, // 'L' ( 76) + { 0x68, 7}, // 'M' ( 77) + { 0x69, 7}, // 'N' ( 78) + { 0x6a, 7}, // 'O' ( 79) + { 0x6b, 7}, // 'P' ( 80) + { 0x6c, 7}, // 'Q' ( 81) + { 0x6d, 7}, // 'R' ( 82) + { 0x6e, 7}, // 'S' ( 83) + { 0x6f, 7}, // 'T' ( 84) + { 0x70, 7}, // 'U' ( 85) + { 0x71, 7}, // 'V' ( 86) + { 0x72, 7}, // 'W' ( 87) + { 0xfc, 8}, // 'X' ( 88) + { 0x73, 7}, // 'Y' ( 89) + { 0xfd, 8}, // 'Z' ( 90) + { 0x1ffb, 13}, // '[' ( 91) + { 0x7fff0, 19}, // '\' ( 92) + { 0x1ffc, 13}, // ']' ( 93) + { 0x3ffc, 14}, // '^' ( 94) + { 0x22, 6}, // '_' ( 95) + { 0x7ffd, 15}, // '`' ( 96) + { 0x3, 5}, // 'a' ( 97) + { 0x23, 6}, // 'b' ( 98) + { 0x4, 5}, // 'c' ( 99) + { 0x24, 6}, // 'd' (100) + { 0x5, 5}, // 'e' (101) + { 0x25, 6}, // 'f' (102) + { 0x26, 6}, // 'g' (103) + { 0x27, 6}, // 'h' (104) + { 0x6, 5}, // 'i' (105) + { 0x74, 7}, // 'j' (106) + { 0x75, 7}, // 'k' (107) + { 0x28, 6}, // 'l' (108) + { 0x29, 6}, // 'm' (109) + { 0x2a, 6}, // 'n' (110) + { 0x7, 5}, // 'o' (111) + { 0x2b, 6}, // 'p' (112) + { 0x76, 7}, // 'q' (113) + { 0x2c, 6}, // 'r' (114) + { 0x8, 5}, // 's' (115) + { 0x9, 5}, // 't' (116) + { 0x2d, 6}, // 'u' (117) + { 0x77, 7}, // 'v' (118) + { 0x78, 7}, // 'w' (119) + { 0x79, 7}, // 'x' (120) + { 0x7a, 7}, // 'y' (121) + { 0x7b, 7}, // 'z' (122) + { 0x7ffe, 15}, // '{' (123) + { 0x7fc, 11}, // '|' (124) + { 0x3ffd, 14}, // '}' (125) + { 0x1ffd, 13}, // '~' (126) + { 0xffffffc, 28}, // (127) + { 0xfffe6, 20}, // (128) + { 0x3fffd2, 22}, // (129) + { 0xfffe7, 20}, // (130) + { 0xfffe8, 20}, // (131) + { 0x3fffd3, 22}, // (132) + { 0x3fffd4, 22}, // (133) + { 0x3fffd5, 22}, // (134) + { 0x7fffd9, 23}, // (135) + { 0x3fffd6, 22}, // (136) + { 0x7fffda, 23}, // (137) + { 0x7fffdb, 23}, // (138) + { 0x7fffdc, 23}, // (139) + { 0x7fffdd, 23}, // (140) + { 0x7fffde, 23}, // (141) + { 0xffffeb, 24}, // (142) + { 0x7fffdf, 23}, // (143) + { 0xffffec, 24}, // (144) + { 0xffffed, 24}, // (145) + { 0x3fffd7, 22}, // (146) + { 0x7fffe0, 23}, // (147) + { 0xffffee, 24}, // (148) + { 0x7fffe1, 23}, // (149) + { 0x7fffe2, 23}, // (150) + { 0x7fffe3, 23}, // (151) + { 0x7fffe4, 23}, // (152) + { 0x1fffdc, 21}, // (153) + { 0x3fffd8, 22}, // (154) + { 0x7fffe5, 23}, // (155) + { 0x3fffd9, 22}, // (156) + { 0x7fffe6, 23}, // (157) + { 0x7fffe7, 23}, // (158) + { 0xffffef, 24}, // (159) + { 0x3fffda, 22}, // (160) + { 0x1fffdd, 21}, // (161) + { 0xfffe9, 20}, // (162) + { 0x3fffdb, 22}, // (163) + { 0x3fffdc, 22}, // (164) + { 0x7fffe8, 23}, // (165) + { 0x7fffe9, 23}, // (166) + { 0x1fffde, 21}, // (167) + { 0x7fffea, 23}, // (168) + { 0x3fffdd, 22}, // (169) + { 0x3fffde, 22}, // (170) + { 0xfffff0, 24}, // (171) + { 0x1fffdf, 21}, // (172) + { 0x3fffdf, 22}, // (173) + { 0x7fffeb, 23}, // (174) + { 0x7fffec, 23}, // (175) + { 0x1fffe0, 21}, // (176) + { 0x1fffe1, 21}, // (177) + { 0x3fffe0, 22}, // (178) + { 0x1fffe2, 21}, // (179) + { 0x7fffed, 23}, // (180) + { 0x3fffe1, 22}, // (181) + { 0x7fffee, 23}, // (182) + { 0x7fffef, 23}, // (183) + { 0xfffea, 20}, // (184) + { 0x3fffe2, 22}, // (185) + { 0x3fffe3, 22}, // (186) + { 0x3fffe4, 22}, // (187) + { 0x7ffff0, 23}, // (188) + { 0x3fffe5, 22}, // (189) + { 0x3fffe6, 22}, // (190) + { 0x7ffff1, 23}, // (191) + { 0x3ffffe0, 26}, // (192) + { 0x3ffffe1, 26}, // (193) + { 0xfffeb, 20}, // (194) + { 0x7fff1, 19}, // (195) + { 0x3fffe7, 22}, // (196) + { 0x7ffff2, 23}, // (197) + { 0x3fffe8, 22}, // (198) + { 0x1ffffec, 25}, // (199) + { 0x3ffffe2, 26}, // (200) + { 0x3ffffe3, 26}, // (201) + { 0x3ffffe4, 26}, // (202) + { 0x7ffffde, 27}, // (203) + { 0x7ffffdf, 27}, // (204) + { 0x3ffffe5, 26}, // (205) + { 0xfffff1, 24}, // (206) + { 0x1ffffed, 25}, // (207) + { 0x7fff2, 19}, // (208) + { 0x1fffe3, 21}, // (209) + { 0x3ffffe6, 26}, // (210) + { 0x7ffffe0, 27}, // (211) + { 0x7ffffe1, 27}, // (212) + { 0x3ffffe7, 26}, // (213) + { 0x7ffffe2, 27}, // (214) + { 0xfffff2, 24}, // (215) + { 0x1fffe4, 21}, // (216) + { 0x1fffe5, 21}, // (217) + { 0x3ffffe8, 26}, // (218) + { 0x3ffffe9, 26}, // (219) + { 0xffffffd, 28}, // (220) + { 0x7ffffe3, 27}, // (221) + { 0x7ffffe4, 27}, // (222) + { 0x7ffffe5, 27}, // (223) + { 0xfffec, 20}, // (224) + { 0xfffff3, 24}, // (225) + { 0xfffed, 20}, // (226) + { 0x1fffe6, 21}, // (227) + { 0x3fffe9, 22}, // (228) + { 0x1fffe7, 21}, // (229) + { 0x1fffe8, 21}, // (230) + { 0x7ffff3, 23}, // (231) + { 0x3fffea, 22}, // (232) + { 0x3fffeb, 22}, // (233) + { 0x1ffffee, 25}, // (234) + { 0x1ffffef, 25}, // (235) + { 0xfffff4, 24}, // (236) + { 0xfffff5, 24}, // (237) + { 0x3ffffea, 26}, // (238) + { 0x7ffff4, 23}, // (239) + { 0x3ffffeb, 26}, // (240) + { 0x7ffffe6, 27}, // (241) + { 0x3ffffec, 26}, // (242) + { 0x3ffffed, 26}, // (243) + { 0x7ffffe7, 27}, // (244) + { 0x7ffffe8, 27}, // (245) + { 0x7ffffe9, 27}, // (246) + { 0x7ffffea, 27}, // (247) + { 0x7ffffeb, 27}, // (248) + { 0xffffffe, 28}, // (249) + { 0x7ffffec, 27}, // (250) + { 0x7ffffed, 27}, // (251) + { 0x7ffffee, 27}, // (252) + { 0x7ffffef, 27}, // (253) + { 0x7fffff0, 27}, // (254) + { 0x3ffffee, 26}, // (255) + { 0x3fffffff, 30} // EOS (256) +}; + + +#if LS_HPACK_USE_LARGE_TABLES +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define I(i,j) ((j<<8)|i) +#else +#define I(i,j) ((i<<8)|j) +#endif +/* On 32-bit platforms the longest code would cause undefined behavior + * when `bits' is shifted (you can't shift 32-bit value by 32 bits). + * Setting this value to 64 make the entry invalid and forces the encoder + * to use the slower loop. In other words, the longest output sequence + * is 32 bits on 64-bit platforms and 31 bits on 32-bit platforms. + */ +#if UINTPTR_MAX == 18446744073709551615ull +#define X32 32 +#else +#define X32 64 +#endif +static const struct henc { unsigned lens; uint32_t code; } hencs[] = +{ + [I(0,0)] = {26,0x3FF1FF8}, + [I(1,0)] = {64,0}, + [I(2,0)] = {64,0}, + [I(3,0)] = {64,0}, + [I(4,0)] = {64,0}, + [I(5,0)] = {64,0}, + [I(6,0)] = {64,0}, + [I(7,0)] = {64,0}, + [I(8,0)] = {64,0}, + [I(9,0)] = {64,0}, + [I(10,0)] = {64,0}, + [I(11,0)] = {64,0}, + [I(12,0)] = {64,0}, + [I(13,0)] = {64,0}, + [I(14,0)] = {64,0}, + [I(15,0)] = {64,0}, + [I(16,0)] = {64,0}, + [I(17,0)] = {64,0}, + [I(18,0)] = {64,0}, + [I(19,0)] = {64,0}, + [I(20,0)] = {64,0}, + [I(21,0)] = {64,0}, + [I(22,0)] = {64,0}, + [I(23,0)] = {64,0}, + [I(24,0)] = {64,0}, + [I(25,0)] = {64,0}, + [I(26,0)] = {64,0}, + [I(27,0)] = {64,0}, + [I(28,0)] = {64,0}, + [I(29,0)] = {64,0}, + [I(30,0)] = {64,0}, + [I(31,0)] = {64,0}, + [I(32,0)] = {19,0x29FF8}, + [I(33,0)] = {23,0x7F1FF8}, + [I(34,0)] = {23,0x7F3FF8}, + [I(35,0)] = {25,0x1FF5FF8}, + [I(36,0)] = {26,0x3FF3FF8}, + [I(37,0)] = {19,0x2BFF8}, + [I(38,0)] = {21,0x1F1FF8}, + [I(39,0)] = {24,0xFF5FF8}, + [I(40,0)] = {23,0x7F5FF8}, + [I(41,0)] = {23,0x7F7FF8}, + [I(42,0)] = {21,0x1F3FF8}, + [I(43,0)] = {24,0xFF7FF8}, + [I(44,0)] = {21,0x1F5FF8}, + [I(45,0)] = {19,0x2DFF8}, + [I(46,0)] = {19,0x2FFF8}, + [I(47,0)] = {19,0x31FF8}, + [I(48,0)] = {18,0x1FF8}, + [I(49,0)] = {18,0x3FF8}, + [I(50,0)] = {18,0x5FF8}, + [I(51,0)] = {19,0x33FF8}, + [I(52,0)] = {19,0x35FF8}, + [I(53,0)] = {19,0x37FF8}, + [I(54,0)] = {19,0x39FF8}, + [I(55,0)] = {19,0x3BFF8}, + [I(56,0)] = {19,0x3DFF8}, + [I(57,0)] = {19,0x3FFF8}, + [I(58,0)] = {20,0xB9FF8}, + [I(59,0)] = {21,0x1F7FF8}, + [I(60,0)] = {28,0xFFF9FF8}, + [I(61,0)] = {19,0x41FF8}, + [I(62,0)] = {25,0x1FF7FF8}, + [I(63,0)] = {23,0x7F9FF8}, + [I(64,0)] = {26,0x3FF5FF8}, + [I(65,0)] = {19,0x43FF8}, + [I(66,0)] = {20,0xBBFF8}, + [I(67,0)] = {20,0xBDFF8}, + [I(68,0)] = {20,0xBFFF8}, + [I(69,0)] = {20,0xC1FF8}, + [I(70,0)] = {20,0xC3FF8}, + [I(71,0)] = {20,0xC5FF8}, + [I(72,0)] = {20,0xC7FF8}, + [I(73,0)] = {20,0xC9FF8}, + [I(74,0)] = {20,0xCBFF8}, + [I(75,0)] = {20,0xCDFF8}, + [I(76,0)] = {20,0xCFFF8}, + [I(77,0)] = {20,0xD1FF8}, + [I(78,0)] = {20,0xD3FF8}, + [I(79,0)] = {20,0xD5FF8}, + [I(80,0)] = {20,0xD7FF8}, + [I(81,0)] = {20,0xD9FF8}, + [I(82,0)] = {20,0xDBFF8}, + [I(83,0)] = {20,0xDDFF8}, + [I(84,0)] = {20,0xDFFF8}, + [I(85,0)] = {20,0xE1FF8}, + [I(86,0)] = {20,0xE3FF8}, + [I(87,0)] = {20,0xE5FF8}, + [I(88,0)] = {21,0x1F9FF8}, + [I(89,0)] = {20,0xE7FF8}, + [I(90,0)] = {21,0x1FBFF8}, + [I(91,0)] = {26,0x3FF7FF8}, + [I(92,0)] = {X32,0xFFFE1FF8}, + [I(93,0)] = {26,0x3FF9FF8}, + [I(94,0)] = {27,0x7FF9FF8}, + [I(95,0)] = {19,0x45FF8}, + [I(96,0)] = {28,0xFFFBFF8}, + [I(97,0)] = {18,0x7FF8}, + [I(98,0)] = {19,0x47FF8}, + [I(99,0)] = {18,0x9FF8}, + [I(100,0)] = {19,0x49FF8}, + [I(101,0)] = {18,0xBFF8}, + [I(102,0)] = {19,0x4BFF8}, + [I(103,0)] = {19,0x4DFF8}, + [I(104,0)] = {19,0x4FFF8}, + [I(105,0)] = {18,0xDFF8}, + [I(106,0)] = {20,0xE9FF8}, + [I(107,0)] = {20,0xEBFF8}, + [I(108,0)] = {19,0x51FF8}, + [I(109,0)] = {19,0x53FF8}, + [I(110,0)] = {19,0x55FF8}, + [I(111,0)] = {18,0xFFF8}, + [I(112,0)] = {19,0x57FF8}, + [I(113,0)] = {20,0xEDFF8}, + [I(114,0)] = {19,0x59FF8}, + [I(115,0)] = {18,0x11FF8}, + [I(116,0)] = {18,0x13FF8}, + [I(117,0)] = {19,0x5BFF8}, + [I(118,0)] = {20,0xEFFF8}, + [I(119,0)] = {20,0xF1FF8}, + [I(120,0)] = {20,0xF3FF8}, + [I(121,0)] = {20,0xF5FF8}, + [I(122,0)] = {20,0xF7FF8}, + [I(123,0)] = {28,0xFFFDFF8}, + [I(124,0)] = {24,0xFF9FF8}, + [I(125,0)] = {27,0x7FFBFF8}, + [I(126,0)] = {26,0x3FFBFF8}, + [I(127,0)] = {64,0}, + [I(128,0)] = {64,0}, + [I(129,0)] = {64,0}, + [I(130,0)] = {64,0}, + [I(131,0)] = {64,0}, + [I(132,0)] = {64,0}, + [I(133,0)] = {64,0}, + [I(134,0)] = {64,0}, + [I(135,0)] = {64,0}, + [I(136,0)] = {64,0}, + [I(137,0)] = {64,0}, + [I(138,0)] = {64,0}, + [I(139,0)] = {64,0}, + [I(140,0)] = {64,0}, + [I(141,0)] = {64,0}, + [I(142,0)] = {64,0}, + [I(143,0)] = {64,0}, + [I(144,0)] = {64,0}, + [I(145,0)] = {64,0}, + [I(146,0)] = {64,0}, + [I(147,0)] = {64,0}, + [I(148,0)] = {64,0}, + [I(149,0)] = {64,0}, + [I(150,0)] = {64,0}, + [I(151,0)] = {64,0}, + [I(152,0)] = {64,0}, + [I(153,0)] = {64,0}, + [I(154,0)] = {64,0}, + [I(155,0)] = {64,0}, + [I(156,0)] = {64,0}, + [I(157,0)] = {64,0}, + [I(158,0)] = {64,0}, + [I(159,0)] = {64,0}, + [I(160,0)] = {64,0}, + [I(161,0)] = {64,0}, + [I(162,0)] = {64,0}, + [I(163,0)] = {64,0}, + [I(164,0)] = {64,0}, + [I(165,0)] = {64,0}, + [I(166,0)] = {64,0}, + [I(167,0)] = {64,0}, + [I(168,0)] = {64,0}, + [I(169,0)] = {64,0}, + [I(170,0)] = {64,0}, + [I(171,0)] = {64,0}, + [I(172,0)] = {64,0}, + [I(173,0)] = {64,0}, + [I(174,0)] = {64,0}, + [I(175,0)] = {64,0}, + [I(176,0)] = {64,0}, + [I(177,0)] = {64,0}, + [I(178,0)] = {64,0}, + [I(179,0)] = {64,0}, + [I(180,0)] = {64,0}, + [I(181,0)] = {64,0}, + [I(182,0)] = {64,0}, + [I(183,0)] = {64,0}, + [I(184,0)] = {64,0}, + [I(185,0)] = {64,0}, + [I(186,0)] = {64,0}, + [I(187,0)] = {64,0}, + [I(188,0)] = {64,0}, + [I(189,0)] = {64,0}, + [I(190,0)] = {64,0}, + [I(191,0)] = {64,0}, + [I(192,0)] = {64,0}, + [I(193,0)] = {64,0}, + [I(194,0)] = {64,0}, + [I(195,0)] = {X32,0xFFFE3FF8}, + [I(196,0)] = {64,0}, + [I(197,0)] = {64,0}, + [I(198,0)] = {64,0}, + [I(199,0)] = {64,0}, + [I(200,0)] = {64,0}, + [I(201,0)] = {64,0}, + [I(202,0)] = {64,0}, + [I(203,0)] = {64,0}, + [I(204,0)] = {64,0}, + [I(205,0)] = {64,0}, + [I(206,0)] = {64,0}, + [I(207,0)] = {64,0}, + [I(208,0)] = {X32,0xFFFE5FF8}, + [I(209,0)] = {64,0}, + [I(210,0)] = {64,0}, + [I(211,0)] = {64,0}, + [I(212,0)] = {64,0}, + [I(213,0)] = {64,0}, + [I(214,0)] = {64,0}, + [I(215,0)] = {64,0}, + [I(216,0)] = {64,0}, + [I(217,0)] = {64,0}, + [I(218,0)] = {64,0}, + [I(219,0)] = {64,0}, + [I(220,0)] = {64,0}, + [I(221,0)] = {64,0}, + [I(222,0)] = {64,0}, + [I(223,0)] = {64,0}, + [I(224,0)] = {64,0}, + [I(225,0)] = {64,0}, + [I(226,0)] = {64,0}, + [I(227,0)] = {64,0}, + [I(228,0)] = {64,0}, + [I(229,0)] = {64,0}, + [I(230,0)] = {64,0}, + [I(231,0)] = {64,0}, + [I(232,0)] = {64,0}, + [I(233,0)] = {64,0}, + [I(234,0)] = {64,0}, + [I(235,0)] = {64,0}, + [I(236,0)] = {64,0}, + [I(237,0)] = {64,0}, + [I(238,0)] = {64,0}, + [I(239,0)] = {64,0}, + [I(240,0)] = {64,0}, + [I(241,0)] = {64,0}, + [I(242,0)] = {64,0}, + [I(243,0)] = {64,0}, + [I(244,0)] = {64,0}, + [I(245,0)] = {64,0}, + [I(246,0)] = {64,0}, + [I(247,0)] = {64,0}, + [I(248,0)] = {64,0}, + [I(249,0)] = {64,0}, + [I(250,0)] = {64,0}, + [I(251,0)] = {64,0}, + [I(252,0)] = {64,0}, + [I(253,0)] = {64,0}, + [I(254,0)] = {64,0}, + [I(255,0)] = {64,0}, + [I(0,1)] = {64,0}, + [I(1,1)] = {64,0}, + [I(2,1)] = {64,0}, + [I(3,1)] = {64,0}, + [I(4,1)] = {64,0}, + [I(5,1)] = {64,0}, + [I(6,1)] = {64,0}, + [I(7,1)] = {64,0}, + [I(8,1)] = {64,0}, + [I(9,1)] = {64,0}, + [I(10,1)] = {64,0}, + [I(11,1)] = {64,0}, + [I(12,1)] = {64,0}, + [I(13,1)] = {64,0}, + [I(14,1)] = {64,0}, + [I(15,1)] = {64,0}, + [I(16,1)] = {64,0}, + [I(17,1)] = {64,0}, + [I(18,1)] = {64,0}, + [I(19,1)] = {64,0}, + [I(20,1)] = {64,0}, + [I(21,1)] = {64,0}, + [I(22,1)] = {64,0}, + [I(23,1)] = {64,0}, + [I(24,1)] = {64,0}, + [I(25,1)] = {64,0}, + [I(26,1)] = {64,0}, + [I(27,1)] = {64,0}, + [I(28,1)] = {64,0}, + [I(29,1)] = {64,0}, + [I(30,1)] = {64,0}, + [I(31,1)] = {64,0}, + [I(32,1)] = {29,0xA7FFFD8}, + [I(33,1)] = {64,0}, + [I(34,1)] = {64,0}, + [I(35,1)] = {64,0}, + [I(36,1)] = {64,0}, + [I(37,1)] = {29,0xAFFFFD8}, + [I(38,1)] = {31,0x7C7FFFD8}, + [I(39,1)] = {64,0}, + [I(40,1)] = {64,0}, + [I(41,1)] = {64,0}, + [I(42,1)] = {31,0x7CFFFFD8}, + [I(43,1)] = {64,0}, + [I(44,1)] = {31,0x7D7FFFD8}, + [I(45,1)] = {29,0xB7FFFD8}, + [I(46,1)] = {29,0xBFFFFD8}, + [I(47,1)] = {29,0xC7FFFD8}, + [I(48,1)] = {28,0x7FFFD8}, + [I(49,1)] = {28,0xFFFFD8}, + [I(50,1)] = {28,0x17FFFD8}, + [I(51,1)] = {29,0xCFFFFD8}, + [I(52,1)] = {29,0xD7FFFD8}, + [I(53,1)] = {29,0xDFFFFD8}, + [I(54,1)] = {29,0xE7FFFD8}, + [I(55,1)] = {29,0xEFFFFD8}, + [I(56,1)] = {29,0xF7FFFD8}, + [I(57,1)] = {29,0xFFFFFD8}, + [I(58,1)] = {30,0x2E7FFFD8}, + [I(59,1)] = {31,0x7DFFFFD8}, + [I(60,1)] = {64,0}, + [I(61,1)] = {29,0x107FFFD8}, + [I(62,1)] = {64,0}, + [I(63,1)] = {64,0}, + [I(64,1)] = {64,0}, + [I(65,1)] = {29,0x10FFFFD8}, + [I(66,1)] = {30,0x2EFFFFD8}, + [I(67,1)] = {30,0x2F7FFFD8}, + [I(68,1)] = {30,0x2FFFFFD8}, + [I(69,1)] = {30,0x307FFFD8}, + [I(70,1)] = {30,0x30FFFFD8}, + [I(71,1)] = {30,0x317FFFD8}, + [I(72,1)] = {30,0x31FFFFD8}, + [I(73,1)] = {30,0x327FFFD8}, + [I(74,1)] = {30,0x32FFFFD8}, + [I(75,1)] = {30,0x337FFFD8}, + [I(76,1)] = {30,0x33FFFFD8}, + [I(77,1)] = {30,0x347FFFD8}, + [I(78,1)] = {30,0x34FFFFD8}, + [I(79,1)] = {30,0x357FFFD8}, + [I(80,1)] = {30,0x35FFFFD8}, + [I(81,1)] = {30,0x367FFFD8}, + [I(82,1)] = {30,0x36FFFFD8}, + [I(83,1)] = {30,0x377FFFD8}, + [I(84,1)] = {30,0x37FFFFD8}, + [I(85,1)] = {30,0x387FFFD8}, + [I(86,1)] = {30,0x38FFFFD8}, + [I(87,1)] = {30,0x397FFFD8}, + [I(88,1)] = {31,0x7E7FFFD8}, + [I(89,1)] = {30,0x39FFFFD8}, + [I(90,1)] = {31,0x7EFFFFD8}, + [I(91,1)] = {64,0}, + [I(92,1)] = {64,0}, + [I(93,1)] = {64,0}, + [I(94,1)] = {64,0}, + [I(95,1)] = {29,0x117FFFD8}, + [I(96,1)] = {64,0}, + [I(97,1)] = {28,0x1FFFFD8}, + [I(98,1)] = {29,0x11FFFFD8}, + [I(99,1)] = {28,0x27FFFD8}, + [I(100,1)] = {29,0x127FFFD8}, + [I(101,1)] = {28,0x2FFFFD8}, + [I(102,1)] = {29,0x12FFFFD8}, + [I(103,1)] = {29,0x137FFFD8}, + [I(104,1)] = {29,0x13FFFFD8}, + [I(105,1)] = {28,0x37FFFD8}, + [I(106,1)] = {30,0x3A7FFFD8}, + [I(107,1)] = {30,0x3AFFFFD8}, + [I(108,1)] = {29,0x147FFFD8}, + [I(109,1)] = {29,0x14FFFFD8}, + [I(110,1)] = {29,0x157FFFD8}, + [I(111,1)] = {28,0x3FFFFD8}, + [I(112,1)] = {29,0x15FFFFD8}, + [I(113,1)] = {30,0x3B7FFFD8}, + [I(114,1)] = {29,0x167FFFD8}, + [I(115,1)] = {28,0x47FFFD8}, + [I(116,1)] = {28,0x4FFFFD8}, + [I(117,1)] = {29,0x16FFFFD8}, + [I(118,1)] = {30,0x3BFFFFD8}, + [I(119,1)] = {30,0x3C7FFFD8}, + [I(120,1)] = {30,0x3CFFFFD8}, + [I(121,1)] = {30,0x3D7FFFD8}, + [I(122,1)] = {30,0x3DFFFFD8}, + [I(123,1)] = {64,0}, + [I(124,1)] = {64,0}, + [I(125,1)] = {64,0}, + [I(126,1)] = {64,0}, + [I(127,1)] = {64,0}, + [I(128,1)] = {64,0}, + [I(129,1)] = {64,0}, + [I(130,1)] = {64,0}, + [I(131,1)] = {64,0}, + [I(132,1)] = {64,0}, + [I(133,1)] = {64,0}, + [I(134,1)] = {64,0}, + [I(135,1)] = {64,0}, + [I(136,1)] = {64,0}, + [I(137,1)] = {64,0}, + [I(138,1)] = {64,0}, + [I(139,1)] = {64,0}, + [I(140,1)] = {64,0}, + [I(141,1)] = {64,0}, + [I(142,1)] = {64,0}, + [I(143,1)] = {64,0}, + [I(144,1)] = {64,0}, + [I(145,1)] = {64,0}, + [I(146,1)] = {64,0}, + [I(147,1)] = {64,0}, + [I(148,1)] = {64,0}, + [I(149,1)] = {64,0}, + [I(150,1)] = {64,0}, + [I(151,1)] = {64,0}, + [I(152,1)] = {64,0}, + [I(153,1)] = {64,0}, + [I(154,1)] = {64,0}, + [I(155,1)] = {64,0}, + [I(156,1)] = {64,0}, + [I(157,1)] = {64,0}, + [I(158,1)] = {64,0}, + [I(159,1)] = {64,0}, + [I(160,1)] = {64,0}, + [I(161,1)] = {64,0}, + [I(162,1)] = {64,0}, + [I(163,1)] = {64,0}, + [I(164,1)] = {64,0}, + [I(165,1)] = {64,0}, + [I(166,1)] = {64,0}, + [I(167,1)] = {64,0}, + [I(168,1)] = {64,0}, + [I(169,1)] = {64,0}, + [I(170,1)] = {64,0}, + [I(171,1)] = {64,0}, + [I(172,1)] = {64,0}, + [I(173,1)] = {64,0}, + [I(174,1)] = {64,0}, + [I(175,1)] = {64,0}, + [I(176,1)] = {64,0}, + [I(177,1)] = {64,0}, + [I(178,1)] = {64,0}, + [I(179,1)] = {64,0}, + [I(180,1)] = {64,0}, + [I(181,1)] = {64,0}, + [I(182,1)] = {64,0}, + [I(183,1)] = {64,0}, + [I(184,1)] = {64,0}, + [I(185,1)] = {64,0}, + [I(186,1)] = {64,0}, + [I(187,1)] = {64,0}, + [I(188,1)] = {64,0}, + [I(189,1)] = {64,0}, + [I(190,1)] = {64,0}, + [I(191,1)] = {64,0}, + [I(192,1)] = {64,0}, + [I(193,1)] = {64,0}, + [I(194,1)] = {64,0}, + [I(195,1)] = {64,0}, + [I(196,1)] = {64,0}, + [I(197,1)] = {64,0}, + [I(198,1)] = {64,0}, + [I(199,1)] = {64,0}, + [I(200,1)] = {64,0}, + [I(201,1)] = {64,0}, + [I(202,1)] = {64,0}, + [I(203,1)] = {64,0}, + [I(204,1)] = {64,0}, + [I(205,1)] = {64,0}, + [I(206,1)] = {64,0}, + [I(207,1)] = {64,0}, + [I(208,1)] = {64,0}, + [I(209,1)] = {64,0}, + [I(210,1)] = {64,0}, + [I(211,1)] = {64,0}, + [I(212,1)] = {64,0}, + [I(213,1)] = {64,0}, + [I(214,1)] = {64,0}, + [I(215,1)] = {64,0}, + [I(216,1)] = {64,0}, + [I(217,1)] = {64,0}, + [I(218,1)] = {64,0}, + [I(219,1)] = {64,0}, + [I(220,1)] = {64,0}, + [I(221,1)] = {64,0}, + [I(222,1)] = {64,0}, + [I(223,1)] = {64,0}, + [I(224,1)] = {64,0}, + [I(225,1)] = {64,0}, + [I(226,1)] = {64,0}, + [I(227,1)] = {64,0}, + [I(228,1)] = {64,0}, + [I(229,1)] = {64,0}, + [I(230,1)] = {64,0}, + [I(231,1)] = {64,0}, + [I(232,1)] = {64,0}, + [I(233,1)] = {64,0}, + [I(234,1)] = {64,0}, + [I(235,1)] = {64,0}, + [I(236,1)] = {64,0}, + [I(237,1)] = {64,0}, + [I(238,1)] = {64,0}, + [I(239,1)] = {64,0}, + [I(240,1)] = {64,0}, + [I(241,1)] = {64,0}, + [I(242,1)] = {64,0}, + [I(243,1)] = {64,0}, + [I(244,1)] = {64,0}, + [I(245,1)] = {64,0}, + [I(246,1)] = {64,0}, + [I(247,1)] = {64,0}, + [I(248,1)] = {64,0}, + [I(249,1)] = {64,0}, + [I(250,1)] = {64,0}, + [I(251,1)] = {64,0}, + [I(252,1)] = {64,0}, + [I(253,1)] = {64,0}, + [I(254,1)] = {64,0}, + [I(255,1)] = {64,0}, + [I(0,2)] = {64,0}, + [I(1,2)] = {64,0}, + [I(2,2)] = {64,0}, + [I(3,2)] = {64,0}, + [I(4,2)] = {64,0}, + [I(5,2)] = {64,0}, + [I(6,2)] = {64,0}, + [I(7,2)] = {64,0}, + [I(8,2)] = {64,0}, + [I(9,2)] = {64,0}, + [I(10,2)] = {64,0}, + [I(11,2)] = {64,0}, + [I(12,2)] = {64,0}, + [I(13,2)] = {64,0}, + [I(14,2)] = {64,0}, + [I(15,2)] = {64,0}, + [I(16,2)] = {64,0}, + [I(17,2)] = {64,0}, + [I(18,2)] = {64,0}, + [I(19,2)] = {64,0}, + [I(20,2)] = {64,0}, + [I(21,2)] = {64,0}, + [I(22,2)] = {64,0}, + [I(23,2)] = {64,0}, + [I(24,2)] = {64,0}, + [I(25,2)] = {64,0}, + [I(26,2)] = {64,0}, + [I(27,2)] = {64,0}, + [I(28,2)] = {64,0}, + [I(29,2)] = {64,0}, + [I(30,2)] = {64,0}, + [I(31,2)] = {64,0}, + [I(32,2)] = {64,0}, + [I(33,2)] = {64,0}, + [I(34,2)] = {64,0}, + [I(35,2)] = {64,0}, + [I(36,2)] = {64,0}, + [I(37,2)] = {64,0}, + [I(38,2)] = {64,0}, + [I(39,2)] = {64,0}, + [I(40,2)] = {64,0}, + [I(41,2)] = {64,0}, + [I(42,2)] = {64,0}, + [I(43,2)] = {64,0}, + [I(44,2)] = {64,0}, + [I(45,2)] = {64,0}, + [I(46,2)] = {64,0}, + [I(47,2)] = {64,0}, + [I(48,2)] = {64,0}, + [I(49,2)] = {64,0}, + [I(50,2)] = {64,0}, + [I(51,2)] = {64,0}, + [I(52,2)] = {64,0}, + [I(53,2)] = {64,0}, + [I(54,2)] = {64,0}, + [I(55,2)] = {64,0}, + [I(56,2)] = {64,0}, + [I(57,2)] = {64,0}, + [I(58,2)] = {64,0}, + [I(59,2)] = {64,0}, + [I(60,2)] = {64,0}, + [I(61,2)] = {64,0}, + [I(62,2)] = {64,0}, + [I(63,2)] = {64,0}, + [I(64,2)] = {64,0}, + [I(65,2)] = {64,0}, + [I(66,2)] = {64,0}, + [I(67,2)] = {64,0}, + [I(68,2)] = {64,0}, + [I(69,2)] = {64,0}, + [I(70,2)] = {64,0}, + [I(71,2)] = {64,0}, + [I(72,2)] = {64,0}, + [I(73,2)] = {64,0}, + [I(74,2)] = {64,0}, + [I(75,2)] = {64,0}, + [I(76,2)] = {64,0}, + [I(77,2)] = {64,0}, + [I(78,2)] = {64,0}, + [I(79,2)] = {64,0}, + [I(80,2)] = {64,0}, + [I(81,2)] = {64,0}, + [I(82,2)] = {64,0}, + [I(83,2)] = {64,0}, + [I(84,2)] = {64,0}, + [I(85,2)] = {64,0}, + [I(86,2)] = {64,0}, + [I(87,2)] = {64,0}, + [I(88,2)] = {64,0}, + [I(89,2)] = {64,0}, + [I(90,2)] = {64,0}, + [I(91,2)] = {64,0}, + [I(92,2)] = {64,0}, + [I(93,2)] = {64,0}, + [I(94,2)] = {64,0}, + [I(95,2)] = {64,0}, + [I(96,2)] = {64,0}, + [I(97,2)] = {64,0}, + [I(98,2)] = {64,0}, + [I(99,2)] = {64,0}, + [I(100,2)] = {64,0}, + [I(101,2)] = {64,0}, + [I(102,2)] = {64,0}, + [I(103,2)] = {64,0}, + [I(104,2)] = {64,0}, + [I(105,2)] = {64,0}, + [I(106,2)] = {64,0}, + [I(107,2)] = {64,0}, + [I(108,2)] = {64,0}, + [I(109,2)] = {64,0}, + [I(110,2)] = {64,0}, + [I(111,2)] = {64,0}, + [I(112,2)] = {64,0}, + [I(113,2)] = {64,0}, + [I(114,2)] = {64,0}, + [I(115,2)] = {64,0}, + [I(116,2)] = {64,0}, + [I(117,2)] = {64,0}, + [I(118,2)] = {64,0}, + [I(119,2)] = {64,0}, + [I(120,2)] = {64,0}, + [I(121,2)] = {64,0}, + [I(122,2)] = {64,0}, + [I(123,2)] = {64,0}, + [I(124,2)] = {64,0}, + [I(125,2)] = {64,0}, + [I(126,2)] = {64,0}, + [I(127,2)] = {64,0}, + [I(128,2)] = {64,0}, + [I(129,2)] = {64,0}, + [I(130,2)] = {64,0}, + [I(131,2)] = {64,0}, + [I(132,2)] = {64,0}, + [I(133,2)] = {64,0}, + [I(134,2)] = {64,0}, + [I(135,2)] = {64,0}, + [I(136,2)] = {64,0}, + [I(137,2)] = {64,0}, + [I(138,2)] = {64,0}, + [I(139,2)] = {64,0}, + [I(140,2)] = {64,0}, + [I(141,2)] = {64,0}, + [I(142,2)] = {64,0}, + [I(143,2)] = {64,0}, + [I(144,2)] = {64,0}, + [I(145,2)] = {64,0}, + [I(146,2)] = {64,0}, + [I(147,2)] = {64,0}, + [I(148,2)] = {64,0}, + [I(149,2)] = {64,0}, + [I(150,2)] = {64,0}, + [I(151,2)] = {64,0}, + [I(152,2)] = {64,0}, + [I(153,2)] = {64,0}, + [I(154,2)] = {64,0}, + [I(155,2)] = {64,0}, + [I(156,2)] = {64,0}, + [I(157,2)] = {64,0}, + [I(158,2)] = {64,0}, + [I(159,2)] = {64,0}, + [I(160,2)] = {64,0}, + [I(161,2)] = {64,0}, + [I(162,2)] = {64,0}, + [I(163,2)] = {64,0}, + [I(164,2)] = {64,0}, + [I(165,2)] = {64,0}, + [I(166,2)] = {64,0}, + [I(167,2)] = {64,0}, + [I(168,2)] = {64,0}, + [I(169,2)] = {64,0}, + [I(170,2)] = {64,0}, + [I(171,2)] = {64,0}, + [I(172,2)] = {64,0}, + [I(173,2)] = {64,0}, + [I(174,2)] = {64,0}, + [I(175,2)] = {64,0}, + [I(176,2)] = {64,0}, + [I(177,2)] = {64,0}, + [I(178,2)] = {64,0}, + [I(179,2)] = {64,0}, + [I(180,2)] = {64,0}, + [I(181,2)] = {64,0}, + [I(182,2)] = {64,0}, + [I(183,2)] = {64,0}, + [I(184,2)] = {64,0}, + [I(185,2)] = {64,0}, + [I(186,2)] = {64,0}, + [I(187,2)] = {64,0}, + [I(188,2)] = {64,0}, + [I(189,2)] = {64,0}, + [I(190,2)] = {64,0}, + [I(191,2)] = {64,0}, + [I(192,2)] = {64,0}, + [I(193,2)] = {64,0}, + [I(194,2)] = {64,0}, + [I(195,2)] = {64,0}, + [I(196,2)] = {64,0}, + [I(197,2)] = {64,0}, + [I(198,2)] = {64,0}, + [I(199,2)] = {64,0}, + [I(200,2)] = {64,0}, + [I(201,2)] = {64,0}, + [I(202,2)] = {64,0}, + [I(203,2)] = {64,0}, + [I(204,2)] = {64,0}, + [I(205,2)] = {64,0}, + [I(206,2)] = {64,0}, + [I(207,2)] = {64,0}, + [I(208,2)] = {64,0}, + [I(209,2)] = {64,0}, + [I(210,2)] = {64,0}, + [I(211,2)] = {64,0}, + [I(212,2)] = {64,0}, + [I(213,2)] = {64,0}, + [I(214,2)] = {64,0}, + [I(215,2)] = {64,0}, + [I(216,2)] = {64,0}, + [I(217,2)] = {64,0}, + [I(218,2)] = {64,0}, + [I(219,2)] = {64,0}, + [I(220,2)] = {64,0}, + [I(221,2)] = {64,0}, + [I(222,2)] = {64,0}, + [I(223,2)] = {64,0}, + [I(224,2)] = {64,0}, + [I(225,2)] = {64,0}, + [I(226,2)] = {64,0}, + [I(227,2)] = {64,0}, + [I(228,2)] = {64,0}, + [I(229,2)] = {64,0}, + [I(230,2)] = {64,0}, + [I(231,2)] = {64,0}, + [I(232,2)] = {64,0}, + [I(233,2)] = {64,0}, + [I(234,2)] = {64,0}, + [I(235,2)] = {64,0}, + [I(236,2)] = {64,0}, + [I(237,2)] = {64,0}, + [I(238,2)] = {64,0}, + [I(239,2)] = {64,0}, + [I(240,2)] = {64,0}, + [I(241,2)] = {64,0}, + [I(242,2)] = {64,0}, + [I(243,2)] = {64,0}, + [I(244,2)] = {64,0}, + [I(245,2)] = {64,0}, + [I(246,2)] = {64,0}, + [I(247,2)] = {64,0}, + [I(248,2)] = {64,0}, + [I(249,2)] = {64,0}, + [I(250,2)] = {64,0}, + [I(251,2)] = {64,0}, + [I(252,2)] = {64,0}, + [I(253,2)] = {64,0}, + [I(254,2)] = {64,0}, + [I(255,2)] = {64,0}, + [I(0,3)] = {64,0}, + [I(1,3)] = {64,0}, + [I(2,3)] = {64,0}, + [I(3,3)] = {64,0}, + [I(4,3)] = {64,0}, + [I(5,3)] = {64,0}, + [I(6,3)] = {64,0}, + [I(7,3)] = {64,0}, + [I(8,3)] = {64,0}, + [I(9,3)] = {64,0}, + [I(10,3)] = {64,0}, + [I(11,3)] = {64,0}, + [I(12,3)] = {64,0}, + [I(13,3)] = {64,0}, + [I(14,3)] = {64,0}, + [I(15,3)] = {64,0}, + [I(16,3)] = {64,0}, + [I(17,3)] = {64,0}, + [I(18,3)] = {64,0}, + [I(19,3)] = {64,0}, + [I(20,3)] = {64,0}, + [I(21,3)] = {64,0}, + [I(22,3)] = {64,0}, + [I(23,3)] = {64,0}, + [I(24,3)] = {64,0}, + [I(25,3)] = {64,0}, + [I(26,3)] = {64,0}, + [I(27,3)] = {64,0}, + [I(28,3)] = {64,0}, + [I(29,3)] = {64,0}, + [I(30,3)] = {64,0}, + [I(31,3)] = {64,0}, + [I(32,3)] = {64,0}, + [I(33,3)] = {64,0}, + [I(34,3)] = {64,0}, + [I(35,3)] = {64,0}, + [I(36,3)] = {64,0}, + [I(37,3)] = {64,0}, + [I(38,3)] = {64,0}, + [I(39,3)] = {64,0}, + [I(40,3)] = {64,0}, + [I(41,3)] = {64,0}, + [I(42,3)] = {64,0}, + [I(43,3)] = {64,0}, + [I(44,3)] = {64,0}, + [I(45,3)] = {64,0}, + [I(46,3)] = {64,0}, + [I(47,3)] = {64,0}, + [I(48,3)] = {64,0}, + [I(49,3)] = {64,0}, + [I(50,3)] = {64,0}, + [I(51,3)] = {64,0}, + [I(52,3)] = {64,0}, + [I(53,3)] = {64,0}, + [I(54,3)] = {64,0}, + [I(55,3)] = {64,0}, + [I(56,3)] = {64,0}, + [I(57,3)] = {64,0}, + [I(58,3)] = {64,0}, + [I(59,3)] = {64,0}, + [I(60,3)] = {64,0}, + [I(61,3)] = {64,0}, + [I(62,3)] = {64,0}, + [I(63,3)] = {64,0}, + [I(64,3)] = {64,0}, + [I(65,3)] = {64,0}, + [I(66,3)] = {64,0}, + [I(67,3)] = {64,0}, + [I(68,3)] = {64,0}, + [I(69,3)] = {64,0}, + [I(70,3)] = {64,0}, + [I(71,3)] = {64,0}, + [I(72,3)] = {64,0}, + [I(73,3)] = {64,0}, + [I(74,3)] = {64,0}, + [I(75,3)] = {64,0}, + [I(76,3)] = {64,0}, + [I(77,3)] = {64,0}, + [I(78,3)] = {64,0}, + [I(79,3)] = {64,0}, + [I(80,3)] = {64,0}, + [I(81,3)] = {64,0}, + [I(82,3)] = {64,0}, + [I(83,3)] = {64,0}, + [I(84,3)] = {64,0}, + [I(85,3)] = {64,0}, + [I(86,3)] = {64,0}, + [I(87,3)] = {64,0}, + [I(88,3)] = {64,0}, + [I(89,3)] = {64,0}, + [I(90,3)] = {64,0}, + [I(91,3)] = {64,0}, + [I(92,3)] = {64,0}, + [I(93,3)] = {64,0}, + [I(94,3)] = {64,0}, + [I(95,3)] = {64,0}, + [I(96,3)] = {64,0}, + [I(97,3)] = {64,0}, + [I(98,3)] = {64,0}, + [I(99,3)] = {64,0}, + [I(100,3)] = {64,0}, + [I(101,3)] = {64,0}, + [I(102,3)] = {64,0}, + [I(103,3)] = {64,0}, + [I(104,3)] = {64,0}, + [I(105,3)] = {64,0}, + [I(106,3)] = {64,0}, + [I(107,3)] = {64,0}, + [I(108,3)] = {64,0}, + [I(109,3)] = {64,0}, + [I(110,3)] = {64,0}, + [I(111,3)] = {64,0}, + [I(112,3)] = {64,0}, + [I(113,3)] = {64,0}, + [I(114,3)] = {64,0}, + [I(115,3)] = {64,0}, + [I(116,3)] = {64,0}, + [I(117,3)] = {64,0}, + [I(118,3)] = {64,0}, + [I(119,3)] = {64,0}, + [I(120,3)] = {64,0}, + [I(121,3)] = {64,0}, + [I(122,3)] = {64,0}, + [I(123,3)] = {64,0}, + [I(124,3)] = {64,0}, + [I(125,3)] = {64,0}, + [I(126,3)] = {64,0}, + [I(127,3)] = {64,0}, + [I(128,3)] = {64,0}, + [I(129,3)] = {64,0}, + [I(130,3)] = {64,0}, + [I(131,3)] = {64,0}, + [I(132,3)] = {64,0}, + [I(133,3)] = {64,0}, + [I(134,3)] = {64,0}, + [I(135,3)] = {64,0}, + [I(136,3)] = {64,0}, + [I(137,3)] = {64,0}, + [I(138,3)] = {64,0}, + [I(139,3)] = {64,0}, + [I(140,3)] = {64,0}, + [I(141,3)] = {64,0}, + [I(142,3)] = {64,0}, + [I(143,3)] = {64,0}, + [I(144,3)] = {64,0}, + [I(145,3)] = {64,0}, + [I(146,3)] = {64,0}, + [I(147,3)] = {64,0}, + [I(148,3)] = {64,0}, + [I(149,3)] = {64,0}, + [I(150,3)] = {64,0}, + [I(151,3)] = {64,0}, + [I(152,3)] = {64,0}, + [I(153,3)] = {64,0}, + [I(154,3)] = {64,0}, + [I(155,3)] = {64,0}, + [I(156,3)] = {64,0}, + [I(157,3)] = {64,0}, + [I(158,3)] = {64,0}, + [I(159,3)] = {64,0}, + [I(160,3)] = {64,0}, + [I(161,3)] = {64,0}, + [I(162,3)] = {64,0}, + [I(163,3)] = {64,0}, + [I(164,3)] = {64,0}, + [I(165,3)] = {64,0}, + [I(166,3)] = {64,0}, + [I(167,3)] = {64,0}, + [I(168,3)] = {64,0}, + [I(169,3)] = {64,0}, + [I(170,3)] = {64,0}, + [I(171,3)] = {64,0}, + [I(172,3)] = {64,0}, + [I(173,3)] = {64,0}, + [I(174,3)] = {64,0}, + [I(175,3)] = {64,0}, + [I(176,3)] = {64,0}, + [I(177,3)] = {64,0}, + [I(178,3)] = {64,0}, + [I(179,3)] = {64,0}, + [I(180,3)] = {64,0}, + [I(181,3)] = {64,0}, + [I(182,3)] = {64,0}, + [I(183,3)] = {64,0}, + [I(184,3)] = {64,0}, + [I(185,3)] = {64,0}, + [I(186,3)] = {64,0}, + [I(187,3)] = {64,0}, + [I(188,3)] = {64,0}, + [I(189,3)] = {64,0}, + [I(190,3)] = {64,0}, + [I(191,3)] = {64,0}, + [I(192,3)] = {64,0}, + [I(193,3)] = {64,0}, + [I(194,3)] = {64,0}, + [I(195,3)] = {64,0}, + [I(196,3)] = {64,0}, + [I(197,3)] = {64,0}, + [I(198,3)] = {64,0}, + [I(199,3)] = {64,0}, + [I(200,3)] = {64,0}, + [I(201,3)] = {64,0}, + [I(202,3)] = {64,0}, + [I(203,3)] = {64,0}, + [I(204,3)] = {64,0}, + [I(205,3)] = {64,0}, + [I(206,3)] = {64,0}, + [I(207,3)] = {64,0}, + [I(208,3)] = {64,0}, + [I(209,3)] = {64,0}, + [I(210,3)] = {64,0}, + [I(211,3)] = {64,0}, + [I(212,3)] = {64,0}, + [I(213,3)] = {64,0}, + [I(214,3)] = {64,0}, + [I(215,3)] = {64,0}, + [I(216,3)] = {64,0}, + [I(217,3)] = {64,0}, + [I(218,3)] = {64,0}, + [I(219,3)] = {64,0}, + [I(220,3)] = {64,0}, + [I(221,3)] = {64,0}, + [I(222,3)] = {64,0}, + [I(223,3)] = {64,0}, + [I(224,3)] = {64,0}, + [I(225,3)] = {64,0}, + [I(226,3)] = {64,0}, + [I(227,3)] = {64,0}, + [I(228,3)] = {64,0}, + [I(229,3)] = {64,0}, + [I(230,3)] = {64,0}, + [I(231,3)] = {64,0}, + [I(232,3)] = {64,0}, + [I(233,3)] = {64,0}, + [I(234,3)] = {64,0}, + [I(235,3)] = {64,0}, + [I(236,3)] = {64,0}, + [I(237,3)] = {64,0}, + [I(238,3)] = {64,0}, + [I(239,3)] = {64,0}, + [I(240,3)] = {64,0}, + [I(241,3)] = {64,0}, + [I(242,3)] = {64,0}, + [I(243,3)] = {64,0}, + [I(244,3)] = {64,0}, + [I(245,3)] = {64,0}, + [I(246,3)] = {64,0}, + [I(247,3)] = {64,0}, + [I(248,3)] = {64,0}, + [I(249,3)] = {64,0}, + [I(250,3)] = {64,0}, + [I(251,3)] = {64,0}, + [I(252,3)] = {64,0}, + [I(253,3)] = {64,0}, + [I(254,3)] = {64,0}, + [I(255,3)] = {64,0}, + [I(0,4)] = {64,0}, + [I(1,4)] = {64,0}, + [I(2,4)] = {64,0}, + [I(3,4)] = {64,0}, + [I(4,4)] = {64,0}, + [I(5,4)] = {64,0}, + [I(6,4)] = {64,0}, + [I(7,4)] = {64,0}, + [I(8,4)] = {64,0}, + [I(9,4)] = {64,0}, + [I(10,4)] = {64,0}, + [I(11,4)] = {64,0}, + [I(12,4)] = {64,0}, + [I(13,4)] = {64,0}, + [I(14,4)] = {64,0}, + [I(15,4)] = {64,0}, + [I(16,4)] = {64,0}, + [I(17,4)] = {64,0}, + [I(18,4)] = {64,0}, + [I(19,4)] = {64,0}, + [I(20,4)] = {64,0}, + [I(21,4)] = {64,0}, + [I(22,4)] = {64,0}, + [I(23,4)] = {64,0}, + [I(24,4)] = {64,0}, + [I(25,4)] = {64,0}, + [I(26,4)] = {64,0}, + [I(27,4)] = {64,0}, + [I(28,4)] = {64,0}, + [I(29,4)] = {64,0}, + [I(30,4)] = {64,0}, + [I(31,4)] = {64,0}, + [I(32,4)] = {64,0}, + [I(33,4)] = {64,0}, + [I(34,4)] = {64,0}, + [I(35,4)] = {64,0}, + [I(36,4)] = {64,0}, + [I(37,4)] = {64,0}, + [I(38,4)] = {64,0}, + [I(39,4)] = {64,0}, + [I(40,4)] = {64,0}, + [I(41,4)] = {64,0}, + [I(42,4)] = {64,0}, + [I(43,4)] = {64,0}, + [I(44,4)] = {64,0}, + [I(45,4)] = {64,0}, + [I(46,4)] = {64,0}, + [I(47,4)] = {64,0}, + [I(48,4)] = {64,0}, + [I(49,4)] = {64,0}, + [I(50,4)] = {64,0}, + [I(51,4)] = {64,0}, + [I(52,4)] = {64,0}, + [I(53,4)] = {64,0}, + [I(54,4)] = {64,0}, + [I(55,4)] = {64,0}, + [I(56,4)] = {64,0}, + [I(57,4)] = {64,0}, + [I(58,4)] = {64,0}, + [I(59,4)] = {64,0}, + [I(60,4)] = {64,0}, + [I(61,4)] = {64,0}, + [I(62,4)] = {64,0}, + [I(63,4)] = {64,0}, + [I(64,4)] = {64,0}, + [I(65,4)] = {64,0}, + [I(66,4)] = {64,0}, + [I(67,4)] = {64,0}, + [I(68,4)] = {64,0}, + [I(69,4)] = {64,0}, + [I(70,4)] = {64,0}, + [I(71,4)] = {64,0}, + [I(72,4)] = {64,0}, + [I(73,4)] = {64,0}, + [I(74,4)] = {64,0}, + [I(75,4)] = {64,0}, + [I(76,4)] = {64,0}, + [I(77,4)] = {64,0}, + [I(78,4)] = {64,0}, + [I(79,4)] = {64,0}, + [I(80,4)] = {64,0}, + [I(81,4)] = {64,0}, + [I(82,4)] = {64,0}, + [I(83,4)] = {64,0}, + [I(84,4)] = {64,0}, + [I(85,4)] = {64,0}, + [I(86,4)] = {64,0}, + [I(87,4)] = {64,0}, + [I(88,4)] = {64,0}, + [I(89,4)] = {64,0}, + [I(90,4)] = {64,0}, + [I(91,4)] = {64,0}, + [I(92,4)] = {64,0}, + [I(93,4)] = {64,0}, + [I(94,4)] = {64,0}, + [I(95,4)] = {64,0}, + [I(96,4)] = {64,0}, + [I(97,4)] = {64,0}, + [I(98,4)] = {64,0}, + [I(99,4)] = {64,0}, + [I(100,4)] = {64,0}, + [I(101,4)] = {64,0}, + [I(102,4)] = {64,0}, + [I(103,4)] = {64,0}, + [I(104,4)] = {64,0}, + [I(105,4)] = {64,0}, + [I(106,4)] = {64,0}, + [I(107,4)] = {64,0}, + [I(108,4)] = {64,0}, + [I(109,4)] = {64,0}, + [I(110,4)] = {64,0}, + [I(111,4)] = {64,0}, + [I(112,4)] = {64,0}, + [I(113,4)] = {64,0}, + [I(114,4)] = {64,0}, + [I(115,4)] = {64,0}, + [I(116,4)] = {64,0}, + [I(117,4)] = {64,0}, + [I(118,4)] = {64,0}, + [I(119,4)] = {64,0}, + [I(120,4)] = {64,0}, + [I(121,4)] = {64,0}, + [I(122,4)] = {64,0}, + [I(123,4)] = {64,0}, + [I(124,4)] = {64,0}, + [I(125,4)] = {64,0}, + [I(126,4)] = {64,0}, + [I(127,4)] = {64,0}, + [I(128,4)] = {64,0}, + [I(129,4)] = {64,0}, + [I(130,4)] = {64,0}, + [I(131,4)] = {64,0}, + [I(132,4)] = {64,0}, + [I(133,4)] = {64,0}, + [I(134,4)] = {64,0}, + [I(135,4)] = {64,0}, + [I(136,4)] = {64,0}, + [I(137,4)] = {64,0}, + [I(138,4)] = {64,0}, + [I(139,4)] = {64,0}, + [I(140,4)] = {64,0}, + [I(141,4)] = {64,0}, + [I(142,4)] = {64,0}, + [I(143,4)] = {64,0}, + [I(144,4)] = {64,0}, + [I(145,4)] = {64,0}, + [I(146,4)] = {64,0}, + [I(147,4)] = {64,0}, + [I(148,4)] = {64,0}, + [I(149,4)] = {64,0}, + [I(150,4)] = {64,0}, + [I(151,4)] = {64,0}, + [I(152,4)] = {64,0}, + [I(153,4)] = {64,0}, + [I(154,4)] = {64,0}, + [I(155,4)] = {64,0}, + [I(156,4)] = {64,0}, + [I(157,4)] = {64,0}, + [I(158,4)] = {64,0}, + [I(159,4)] = {64,0}, + [I(160,4)] = {64,0}, + [I(161,4)] = {64,0}, + [I(162,4)] = {64,0}, + [I(163,4)] = {64,0}, + [I(164,4)] = {64,0}, + [I(165,4)] = {64,0}, + [I(166,4)] = {64,0}, + [I(167,4)] = {64,0}, + [I(168,4)] = {64,0}, + [I(169,4)] = {64,0}, + [I(170,4)] = {64,0}, + [I(171,4)] = {64,0}, + [I(172,4)] = {64,0}, + [I(173,4)] = {64,0}, + [I(174,4)] = {64,0}, + [I(175,4)] = {64,0}, + [I(176,4)] = {64,0}, + [I(177,4)] = {64,0}, + [I(178,4)] = {64,0}, + [I(179,4)] = {64,0}, + [I(180,4)] = {64,0}, + [I(181,4)] = {64,0}, + [I(182,4)] = {64,0}, + [I(183,4)] = {64,0}, + [I(184,4)] = {64,0}, + [I(185,4)] = {64,0}, + [I(186,4)] = {64,0}, + [I(187,4)] = {64,0}, + [I(188,4)] = {64,0}, + [I(189,4)] = {64,0}, + [I(190,4)] = {64,0}, + [I(191,4)] = {64,0}, + [I(192,4)] = {64,0}, + [I(193,4)] = {64,0}, + [I(194,4)] = {64,0}, + [I(195,4)] = {64,0}, + [I(196,4)] = {64,0}, + [I(197,4)] = {64,0}, + [I(198,4)] = {64,0}, + [I(199,4)] = {64,0}, + [I(200,4)] = {64,0}, + [I(201,4)] = {64,0}, + [I(202,4)] = {64,0}, + [I(203,4)] = {64,0}, + [I(204,4)] = {64,0}, + [I(205,4)] = {64,0}, + [I(206,4)] = {64,0}, + [I(207,4)] = {64,0}, + [I(208,4)] = {64,0}, + [I(209,4)] = {64,0}, + [I(210,4)] = {64,0}, + [I(211,4)] = {64,0}, + [I(212,4)] = {64,0}, + [I(213,4)] = {64,0}, + [I(214,4)] = {64,0}, + [I(215,4)] = {64,0}, + [I(216,4)] = {64,0}, + [I(217,4)] = {64,0}, + [I(218,4)] = {64,0}, + [I(219,4)] = {64,0}, + [I(220,4)] = {64,0}, + [I(221,4)] = {64,0}, + [I(222,4)] = {64,0}, + [I(223,4)] = {64,0}, + [I(224,4)] = {64,0}, + [I(225,4)] = {64,0}, + [I(226,4)] = {64,0}, + [I(227,4)] = {64,0}, + [I(228,4)] = {64,0}, + [I(229,4)] = {64,0}, + [I(230,4)] = {64,0}, + [I(231,4)] = {64,0}, + [I(232,4)] = {64,0}, + [I(233,4)] = {64,0}, + [I(234,4)] = {64,0}, + [I(235,4)] = {64,0}, + [I(236,4)] = {64,0}, + [I(237,4)] = {64,0}, + [I(238,4)] = {64,0}, + [I(239,4)] = {64,0}, + [I(240,4)] = {64,0}, + [I(241,4)] = {64,0}, + [I(242,4)] = {64,0}, + [I(243,4)] = {64,0}, + [I(244,4)] = {64,0}, + [I(245,4)] = {64,0}, + [I(246,4)] = {64,0}, + [I(247,4)] = {64,0}, + [I(248,4)] = {64,0}, + [I(249,4)] = {64,0}, + [I(250,4)] = {64,0}, + [I(251,4)] = {64,0}, + [I(252,4)] = {64,0}, + [I(253,4)] = {64,0}, + [I(254,4)] = {64,0}, + [I(255,4)] = {64,0}, + [I(0,5)] = {64,0}, + [I(1,5)] = {64,0}, + [I(2,5)] = {64,0}, + [I(3,5)] = {64,0}, + [I(4,5)] = {64,0}, + [I(5,5)] = {64,0}, + [I(6,5)] = {64,0}, + [I(7,5)] = {64,0}, + [I(8,5)] = {64,0}, + [I(9,5)] = {64,0}, + [I(10,5)] = {64,0}, + [I(11,5)] = {64,0}, + [I(12,5)] = {64,0}, + [I(13,5)] = {64,0}, + [I(14,5)] = {64,0}, + [I(15,5)] = {64,0}, + [I(16,5)] = {64,0}, + [I(17,5)] = {64,0}, + [I(18,5)] = {64,0}, + [I(19,5)] = {64,0}, + [I(20,5)] = {64,0}, + [I(21,5)] = {64,0}, + [I(22,5)] = {64,0}, + [I(23,5)] = {64,0}, + [I(24,5)] = {64,0}, + [I(25,5)] = {64,0}, + [I(26,5)] = {64,0}, + [I(27,5)] = {64,0}, + [I(28,5)] = {64,0}, + [I(29,5)] = {64,0}, + [I(30,5)] = {64,0}, + [I(31,5)] = {64,0}, + [I(32,5)] = {64,0}, + [I(33,5)] = {64,0}, + [I(34,5)] = {64,0}, + [I(35,5)] = {64,0}, + [I(36,5)] = {64,0}, + [I(37,5)] = {64,0}, + [I(38,5)] = {64,0}, + [I(39,5)] = {64,0}, + [I(40,5)] = {64,0}, + [I(41,5)] = {64,0}, + [I(42,5)] = {64,0}, + [I(43,5)] = {64,0}, + [I(44,5)] = {64,0}, + [I(45,5)] = {64,0}, + [I(46,5)] = {64,0}, + [I(47,5)] = {64,0}, + [I(48,5)] = {64,0}, + [I(49,5)] = {64,0}, + [I(50,5)] = {64,0}, + [I(51,5)] = {64,0}, + [I(52,5)] = {64,0}, + [I(53,5)] = {64,0}, + [I(54,5)] = {64,0}, + [I(55,5)] = {64,0}, + [I(56,5)] = {64,0}, + [I(57,5)] = {64,0}, + [I(58,5)] = {64,0}, + [I(59,5)] = {64,0}, + [I(60,5)] = {64,0}, + [I(61,5)] = {64,0}, + [I(62,5)] = {64,0}, + [I(63,5)] = {64,0}, + [I(64,5)] = {64,0}, + [I(65,5)] = {64,0}, + [I(66,5)] = {64,0}, + [I(67,5)] = {64,0}, + [I(68,5)] = {64,0}, + [I(69,5)] = {64,0}, + [I(70,5)] = {64,0}, + [I(71,5)] = {64,0}, + [I(72,5)] = {64,0}, + [I(73,5)] = {64,0}, + [I(74,5)] = {64,0}, + [I(75,5)] = {64,0}, + [I(76,5)] = {64,0}, + [I(77,5)] = {64,0}, + [I(78,5)] = {64,0}, + [I(79,5)] = {64,0}, + [I(80,5)] = {64,0}, + [I(81,5)] = {64,0}, + [I(82,5)] = {64,0}, + [I(83,5)] = {64,0}, + [I(84,5)] = {64,0}, + [I(85,5)] = {64,0}, + [I(86,5)] = {64,0}, + [I(87,5)] = {64,0}, + [I(88,5)] = {64,0}, + [I(89,5)] = {64,0}, + [I(90,5)] = {64,0}, + [I(91,5)] = {64,0}, + [I(92,5)] = {64,0}, + [I(93,5)] = {64,0}, + [I(94,5)] = {64,0}, + [I(95,5)] = {64,0}, + [I(96,5)] = {64,0}, + [I(97,5)] = {64,0}, + [I(98,5)] = {64,0}, + [I(99,5)] = {64,0}, + [I(100,5)] = {64,0}, + [I(101,5)] = {64,0}, + [I(102,5)] = {64,0}, + [I(103,5)] = {64,0}, + [I(104,5)] = {64,0}, + [I(105,5)] = {64,0}, + [I(106,5)] = {64,0}, + [I(107,5)] = {64,0}, + [I(108,5)] = {64,0}, + [I(109,5)] = {64,0}, + [I(110,5)] = {64,0}, + [I(111,5)] = {64,0}, + [I(112,5)] = {64,0}, + [I(113,5)] = {64,0}, + [I(114,5)] = {64,0}, + [I(115,5)] = {64,0}, + [I(116,5)] = {64,0}, + [I(117,5)] = {64,0}, + [I(118,5)] = {64,0}, + [I(119,5)] = {64,0}, + [I(120,5)] = {64,0}, + [I(121,5)] = {64,0}, + [I(122,5)] = {64,0}, + [I(123,5)] = {64,0}, + [I(124,5)] = {64,0}, + [I(125,5)] = {64,0}, + [I(126,5)] = {64,0}, + [I(127,5)] = {64,0}, + [I(128,5)] = {64,0}, + [I(129,5)] = {64,0}, + [I(130,5)] = {64,0}, + [I(131,5)] = {64,0}, + [I(132,5)] = {64,0}, + [I(133,5)] = {64,0}, + [I(134,5)] = {64,0}, + [I(135,5)] = {64,0}, + [I(136,5)] = {64,0}, + [I(137,5)] = {64,0}, + [I(138,5)] = {64,0}, + [I(139,5)] = {64,0}, + [I(140,5)] = {64,0}, + [I(141,5)] = {64,0}, + [I(142,5)] = {64,0}, + [I(143,5)] = {64,0}, + [I(144,5)] = {64,0}, + [I(145,5)] = {64,0}, + [I(146,5)] = {64,0}, + [I(147,5)] = {64,0}, + [I(148,5)] = {64,0}, + [I(149,5)] = {64,0}, + [I(150,5)] = {64,0}, + [I(151,5)] = {64,0}, + [I(152,5)] = {64,0}, + [I(153,5)] = {64,0}, + [I(154,5)] = {64,0}, + [I(155,5)] = {64,0}, + [I(156,5)] = {64,0}, + [I(157,5)] = {64,0}, + [I(158,5)] = {64,0}, + [I(159,5)] = {64,0}, + [I(160,5)] = {64,0}, + [I(161,5)] = {64,0}, + [I(162,5)] = {64,0}, + [I(163,5)] = {64,0}, + [I(164,5)] = {64,0}, + [I(165,5)] = {64,0}, + [I(166,5)] = {64,0}, + [I(167,5)] = {64,0}, + [I(168,5)] = {64,0}, + [I(169,5)] = {64,0}, + [I(170,5)] = {64,0}, + [I(171,5)] = {64,0}, + [I(172,5)] = {64,0}, + [I(173,5)] = {64,0}, + [I(174,5)] = {64,0}, + [I(175,5)] = {64,0}, + [I(176,5)] = {64,0}, + [I(177,5)] = {64,0}, + [I(178,5)] = {64,0}, + [I(179,5)] = {64,0}, + [I(180,5)] = {64,0}, + [I(181,5)] = {64,0}, + [I(182,5)] = {64,0}, + [I(183,5)] = {64,0}, + [I(184,5)] = {64,0}, + [I(185,5)] = {64,0}, + [I(186,5)] = {64,0}, + [I(187,5)] = {64,0}, + [I(188,5)] = {64,0}, + [I(189,5)] = {64,0}, + [I(190,5)] = {64,0}, + [I(191,5)] = {64,0}, + [I(192,5)] = {64,0}, + [I(193,5)] = {64,0}, + [I(194,5)] = {64,0}, + [I(195,5)] = {64,0}, + [I(196,5)] = {64,0}, + [I(197,5)] = {64,0}, + [I(198,5)] = {64,0}, + [I(199,5)] = {64,0}, + [I(200,5)] = {64,0}, + [I(201,5)] = {64,0}, + [I(202,5)] = {64,0}, + [I(203,5)] = {64,0}, + [I(204,5)] = {64,0}, + [I(205,5)] = {64,0}, + [I(206,5)] = {64,0}, + [I(207,5)] = {64,0}, + [I(208,5)] = {64,0}, + [I(209,5)] = {64,0}, + [I(210,5)] = {64,0}, + [I(211,5)] = {64,0}, + [I(212,5)] = {64,0}, + [I(213,5)] = {64,0}, + [I(214,5)] = {64,0}, + [I(215,5)] = {64,0}, + [I(216,5)] = {64,0}, + [I(217,5)] = {64,0}, + [I(218,5)] = {64,0}, + [I(219,5)] = {64,0}, + [I(220,5)] = {64,0}, + [I(221,5)] = {64,0}, + [I(222,5)] = {64,0}, + [I(223,5)] = {64,0}, + [I(224,5)] = {64,0}, + [I(225,5)] = {64,0}, + [I(226,5)] = {64,0}, + [I(227,5)] = {64,0}, + [I(228,5)] = {64,0}, + [I(229,5)] = {64,0}, + [I(230,5)] = {64,0}, + [I(231,5)] = {64,0}, + [I(232,5)] = {64,0}, + [I(233,5)] = {64,0}, + [I(234,5)] = {64,0}, + [I(235,5)] = {64,0}, + [I(236,5)] = {64,0}, + [I(237,5)] = {64,0}, + [I(238,5)] = {64,0}, + [I(239,5)] = {64,0}, + [I(240,5)] = {64,0}, + [I(241,5)] = {64,0}, + [I(242,5)] = {64,0}, + [I(243,5)] = {64,0}, + [I(244,5)] = {64,0}, + [I(245,5)] = {64,0}, + [I(246,5)] = {64,0}, + [I(247,5)] = {64,0}, + [I(248,5)] = {64,0}, + [I(249,5)] = {64,0}, + [I(250,5)] = {64,0}, + [I(251,5)] = {64,0}, + [I(252,5)] = {64,0}, + [I(253,5)] = {64,0}, + [I(254,5)] = {64,0}, + [I(255,5)] = {64,0}, + [I(0,6)] = {64,0}, + [I(1,6)] = {64,0}, + [I(2,6)] = {64,0}, + [I(3,6)] = {64,0}, + [I(4,6)] = {64,0}, + [I(5,6)] = {64,0}, + [I(6,6)] = {64,0}, + [I(7,6)] = {64,0}, + [I(8,6)] = {64,0}, + [I(9,6)] = {64,0}, + [I(10,6)] = {64,0}, + [I(11,6)] = {64,0}, + [I(12,6)] = {64,0}, + [I(13,6)] = {64,0}, + [I(14,6)] = {64,0}, + [I(15,6)] = {64,0}, + [I(16,6)] = {64,0}, + [I(17,6)] = {64,0}, + [I(18,6)] = {64,0}, + [I(19,6)] = {64,0}, + [I(20,6)] = {64,0}, + [I(21,6)] = {64,0}, + [I(22,6)] = {64,0}, + [I(23,6)] = {64,0}, + [I(24,6)] = {64,0}, + [I(25,6)] = {64,0}, + [I(26,6)] = {64,0}, + [I(27,6)] = {64,0}, + [I(28,6)] = {64,0}, + [I(29,6)] = {64,0}, + [I(30,6)] = {64,0}, + [I(31,6)] = {64,0}, + [I(32,6)] = {64,0}, + [I(33,6)] = {64,0}, + [I(34,6)] = {64,0}, + [I(35,6)] = {64,0}, + [I(36,6)] = {64,0}, + [I(37,6)] = {64,0}, + [I(38,6)] = {64,0}, + [I(39,6)] = {64,0}, + [I(40,6)] = {64,0}, + [I(41,6)] = {64,0}, + [I(42,6)] = {64,0}, + [I(43,6)] = {64,0}, + [I(44,6)] = {64,0}, + [I(45,6)] = {64,0}, + [I(46,6)] = {64,0}, + [I(47,6)] = {64,0}, + [I(48,6)] = {64,0}, + [I(49,6)] = {64,0}, + [I(50,6)] = {64,0}, + [I(51,6)] = {64,0}, + [I(52,6)] = {64,0}, + [I(53,6)] = {64,0}, + [I(54,6)] = {64,0}, + [I(55,6)] = {64,0}, + [I(56,6)] = {64,0}, + [I(57,6)] = {64,0}, + [I(58,6)] = {64,0}, + [I(59,6)] = {64,0}, + [I(60,6)] = {64,0}, + [I(61,6)] = {64,0}, + [I(62,6)] = {64,0}, + [I(63,6)] = {64,0}, + [I(64,6)] = {64,0}, + [I(65,6)] = {64,0}, + [I(66,6)] = {64,0}, + [I(67,6)] = {64,0}, + [I(68,6)] = {64,0}, + [I(69,6)] = {64,0}, + [I(70,6)] = {64,0}, + [I(71,6)] = {64,0}, + [I(72,6)] = {64,0}, + [I(73,6)] = {64,0}, + [I(74,6)] = {64,0}, + [I(75,6)] = {64,0}, + [I(76,6)] = {64,0}, + [I(77,6)] = {64,0}, + [I(78,6)] = {64,0}, + [I(79,6)] = {64,0}, + [I(80,6)] = {64,0}, + [I(81,6)] = {64,0}, + [I(82,6)] = {64,0}, + [I(83,6)] = {64,0}, + [I(84,6)] = {64,0}, + [I(85,6)] = {64,0}, + [I(86,6)] = {64,0}, + [I(87,6)] = {64,0}, + [I(88,6)] = {64,0}, + [I(89,6)] = {64,0}, + [I(90,6)] = {64,0}, + [I(91,6)] = {64,0}, + [I(92,6)] = {64,0}, + [I(93,6)] = {64,0}, + [I(94,6)] = {64,0}, + [I(95,6)] = {64,0}, + [I(96,6)] = {64,0}, + [I(97,6)] = {64,0}, + [I(98,6)] = {64,0}, + [I(99,6)] = {64,0}, + [I(100,6)] = {64,0}, + [I(101,6)] = {64,0}, + [I(102,6)] = {64,0}, + [I(103,6)] = {64,0}, + [I(104,6)] = {64,0}, + [I(105,6)] = {64,0}, + [I(106,6)] = {64,0}, + [I(107,6)] = {64,0}, + [I(108,6)] = {64,0}, + [I(109,6)] = {64,0}, + [I(110,6)] = {64,0}, + [I(111,6)] = {64,0}, + [I(112,6)] = {64,0}, + [I(113,6)] = {64,0}, + [I(114,6)] = {64,0}, + [I(115,6)] = {64,0}, + [I(116,6)] = {64,0}, + [I(117,6)] = {64,0}, + [I(118,6)] = {64,0}, + [I(119,6)] = {64,0}, + [I(120,6)] = {64,0}, + [I(121,6)] = {64,0}, + [I(122,6)] = {64,0}, + [I(123,6)] = {64,0}, + [I(124,6)] = {64,0}, + [I(125,6)] = {64,0}, + [I(126,6)] = {64,0}, + [I(127,6)] = {64,0}, + [I(128,6)] = {64,0}, + [I(129,6)] = {64,0}, + [I(130,6)] = {64,0}, + [I(131,6)] = {64,0}, + [I(132,6)] = {64,0}, + [I(133,6)] = {64,0}, + [I(134,6)] = {64,0}, + [I(135,6)] = {64,0}, + [I(136,6)] = {64,0}, + [I(137,6)] = {64,0}, + [I(138,6)] = {64,0}, + [I(139,6)] = {64,0}, + [I(140,6)] = {64,0}, + [I(141,6)] = {64,0}, + [I(142,6)] = {64,0}, + [I(143,6)] = {64,0}, + [I(144,6)] = {64,0}, + [I(145,6)] = {64,0}, + [I(146,6)] = {64,0}, + [I(147,6)] = {64,0}, + [I(148,6)] = {64,0}, + [I(149,6)] = {64,0}, + [I(150,6)] = {64,0}, + [I(151,6)] = {64,0}, + [I(152,6)] = {64,0}, + [I(153,6)] = {64,0}, + [I(154,6)] = {64,0}, + [I(155,6)] = {64,0}, + [I(156,6)] = {64,0}, + [I(157,6)] = {64,0}, + [I(158,6)] = {64,0}, + [I(159,6)] = {64,0}, + [I(160,6)] = {64,0}, + [I(161,6)] = {64,0}, + [I(162,6)] = {64,0}, + [I(163,6)] = {64,0}, + [I(164,6)] = {64,0}, + [I(165,6)] = {64,0}, + [I(166,6)] = {64,0}, + [I(167,6)] = {64,0}, + [I(168,6)] = {64,0}, + [I(169,6)] = {64,0}, + [I(170,6)] = {64,0}, + [I(171,6)] = {64,0}, + [I(172,6)] = {64,0}, + [I(173,6)] = {64,0}, + [I(174,6)] = {64,0}, + [I(175,6)] = {64,0}, + [I(176,6)] = {64,0}, + [I(177,6)] = {64,0}, + [I(178,6)] = {64,0}, + [I(179,6)] = {64,0}, + [I(180,6)] = {64,0}, + [I(181,6)] = {64,0}, + [I(182,6)] = {64,0}, + [I(183,6)] = {64,0}, + [I(184,6)] = {64,0}, + [I(185,6)] = {64,0}, + [I(186,6)] = {64,0}, + [I(187,6)] = {64,0}, + [I(188,6)] = {64,0}, + [I(189,6)] = {64,0}, + [I(190,6)] = {64,0}, + [I(191,6)] = {64,0}, + [I(192,6)] = {64,0}, + [I(193,6)] = {64,0}, + [I(194,6)] = {64,0}, + [I(195,6)] = {64,0}, + [I(196,6)] = {64,0}, + [I(197,6)] = {64,0}, + [I(198,6)] = {64,0}, + [I(199,6)] = {64,0}, + [I(200,6)] = {64,0}, + [I(201,6)] = {64,0}, + [I(202,6)] = {64,0}, + [I(203,6)] = {64,0}, + [I(204,6)] = {64,0}, + [I(205,6)] = {64,0}, + [I(206,6)] = {64,0}, + [I(207,6)] = {64,0}, + [I(208,6)] = {64,0}, + [I(209,6)] = {64,0}, + [I(210,6)] = {64,0}, + [I(211,6)] = {64,0}, + [I(212,6)] = {64,0}, + [I(213,6)] = {64,0}, + [I(214,6)] = {64,0}, + [I(215,6)] = {64,0}, + [I(216,6)] = {64,0}, + [I(217,6)] = {64,0}, + [I(218,6)] = {64,0}, + [I(219,6)] = {64,0}, + [I(220,6)] = {64,0}, + [I(221,6)] = {64,0}, + [I(222,6)] = {64,0}, + [I(223,6)] = {64,0}, + [I(224,6)] = {64,0}, + [I(225,6)] = {64,0}, + [I(226,6)] = {64,0}, + [I(227,6)] = {64,0}, + [I(228,6)] = {64,0}, + [I(229,6)] = {64,0}, + [I(230,6)] = {64,0}, + [I(231,6)] = {64,0}, + [I(232,6)] = {64,0}, + [I(233,6)] = {64,0}, + [I(234,6)] = {64,0}, + [I(235,6)] = {64,0}, + [I(236,6)] = {64,0}, + [I(237,6)] = {64,0}, + [I(238,6)] = {64,0}, + [I(239,6)] = {64,0}, + [I(240,6)] = {64,0}, + [I(241,6)] = {64,0}, + [I(242,6)] = {64,0}, + [I(243,6)] = {64,0}, + [I(244,6)] = {64,0}, + [I(245,6)] = {64,0}, + [I(246,6)] = {64,0}, + [I(247,6)] = {64,0}, + [I(248,6)] = {64,0}, + [I(249,6)] = {64,0}, + [I(250,6)] = {64,0}, + [I(251,6)] = {64,0}, + [I(252,6)] = {64,0}, + [I(253,6)] = {64,0}, + [I(254,6)] = {64,0}, + [I(255,6)] = {64,0}, + [I(0,7)] = {64,0}, + [I(1,7)] = {64,0}, + [I(2,7)] = {64,0}, + [I(3,7)] = {64,0}, + [I(4,7)] = {64,0}, + [I(5,7)] = {64,0}, + [I(6,7)] = {64,0}, + [I(7,7)] = {64,0}, + [I(8,7)] = {64,0}, + [I(9,7)] = {64,0}, + [I(10,7)] = {64,0}, + [I(11,7)] = {64,0}, + [I(12,7)] = {64,0}, + [I(13,7)] = {64,0}, + [I(14,7)] = {64,0}, + [I(15,7)] = {64,0}, + [I(16,7)] = {64,0}, + [I(17,7)] = {64,0}, + [I(18,7)] = {64,0}, + [I(19,7)] = {64,0}, + [I(20,7)] = {64,0}, + [I(21,7)] = {64,0}, + [I(22,7)] = {64,0}, + [I(23,7)] = {64,0}, + [I(24,7)] = {64,0}, + [I(25,7)] = {64,0}, + [I(26,7)] = {64,0}, + [I(27,7)] = {64,0}, + [I(28,7)] = {64,0}, + [I(29,7)] = {64,0}, + [I(30,7)] = {64,0}, + [I(31,7)] = {64,0}, + [I(32,7)] = {64,0}, + [I(33,7)] = {64,0}, + [I(34,7)] = {64,0}, + [I(35,7)] = {64,0}, + [I(36,7)] = {64,0}, + [I(37,7)] = {64,0}, + [I(38,7)] = {64,0}, + [I(39,7)] = {64,0}, + [I(40,7)] = {64,0}, + [I(41,7)] = {64,0}, + [I(42,7)] = {64,0}, + [I(43,7)] = {64,0}, + [I(44,7)] = {64,0}, + [I(45,7)] = {64,0}, + [I(46,7)] = {64,0}, + [I(47,7)] = {64,0}, + [I(48,7)] = {64,0}, + [I(49,7)] = {64,0}, + [I(50,7)] = {64,0}, + [I(51,7)] = {64,0}, + [I(52,7)] = {64,0}, + [I(53,7)] = {64,0}, + [I(54,7)] = {64,0}, + [I(55,7)] = {64,0}, + [I(56,7)] = {64,0}, + [I(57,7)] = {64,0}, + [I(58,7)] = {64,0}, + [I(59,7)] = {64,0}, + [I(60,7)] = {64,0}, + [I(61,7)] = {64,0}, + [I(62,7)] = {64,0}, + [I(63,7)] = {64,0}, + [I(64,7)] = {64,0}, + [I(65,7)] = {64,0}, + [I(66,7)] = {64,0}, + [I(67,7)] = {64,0}, + [I(68,7)] = {64,0}, + [I(69,7)] = {64,0}, + [I(70,7)] = {64,0}, + [I(71,7)] = {64,0}, + [I(72,7)] = {64,0}, + [I(73,7)] = {64,0}, + [I(74,7)] = {64,0}, + [I(75,7)] = {64,0}, + [I(76,7)] = {64,0}, + [I(77,7)] = {64,0}, + [I(78,7)] = {64,0}, + [I(79,7)] = {64,0}, + [I(80,7)] = {64,0}, + [I(81,7)] = {64,0}, + [I(82,7)] = {64,0}, + [I(83,7)] = {64,0}, + [I(84,7)] = {64,0}, + [I(85,7)] = {64,0}, + [I(86,7)] = {64,0}, + [I(87,7)] = {64,0}, + [I(88,7)] = {64,0}, + [I(89,7)] = {64,0}, + [I(90,7)] = {64,0}, + [I(91,7)] = {64,0}, + [I(92,7)] = {64,0}, + [I(93,7)] = {64,0}, + [I(94,7)] = {64,0}, + [I(95,7)] = {64,0}, + [I(96,7)] = {64,0}, + [I(97,7)] = {64,0}, + [I(98,7)] = {64,0}, + [I(99,7)] = {64,0}, + [I(100,7)] = {64,0}, + [I(101,7)] = {64,0}, + [I(102,7)] = {64,0}, + [I(103,7)] = {64,0}, + [I(104,7)] = {64,0}, + [I(105,7)] = {64,0}, + [I(106,7)] = {64,0}, + [I(107,7)] = {64,0}, + [I(108,7)] = {64,0}, + [I(109,7)] = {64,0}, + [I(110,7)] = {64,0}, + [I(111,7)] = {64,0}, + [I(112,7)] = {64,0}, + [I(113,7)] = {64,0}, + [I(114,7)] = {64,0}, + [I(115,7)] = {64,0}, + [I(116,7)] = {64,0}, + [I(117,7)] = {64,0}, + [I(118,7)] = {64,0}, + [I(119,7)] = {64,0}, + [I(120,7)] = {64,0}, + [I(121,7)] = {64,0}, + [I(122,7)] = {64,0}, + [I(123,7)] = {64,0}, + [I(124,7)] = {64,0}, + [I(125,7)] = {64,0}, + [I(126,7)] = {64,0}, + [I(127,7)] = {64,0}, + [I(128,7)] = {64,0}, + [I(129,7)] = {64,0}, + [I(130,7)] = {64,0}, + [I(131,7)] = {64,0}, + [I(132,7)] = {64,0}, + [I(133,7)] = {64,0}, + [I(134,7)] = {64,0}, + [I(135,7)] = {64,0}, + [I(136,7)] = {64,0}, + [I(137,7)] = {64,0}, + [I(138,7)] = {64,0}, + [I(139,7)] = {64,0}, + [I(140,7)] = {64,0}, + [I(141,7)] = {64,0}, + [I(142,7)] = {64,0}, + [I(143,7)] = {64,0}, + [I(144,7)] = {64,0}, + [I(145,7)] = {64,0}, + [I(146,7)] = {64,0}, + [I(147,7)] = {64,0}, + [I(148,7)] = {64,0}, + [I(149,7)] = {64,0}, + [I(150,7)] = {64,0}, + [I(151,7)] = {64,0}, + [I(152,7)] = {64,0}, + [I(153,7)] = {64,0}, + [I(154,7)] = {64,0}, + [I(155,7)] = {64,0}, + [I(156,7)] = {64,0}, + [I(157,7)] = {64,0}, + [I(158,7)] = {64,0}, + [I(159,7)] = {64,0}, + [I(160,7)] = {64,0}, + [I(161,7)] = {64,0}, + [I(162,7)] = {64,0}, + [I(163,7)] = {64,0}, + [I(164,7)] = {64,0}, + [I(165,7)] = {64,0}, + [I(166,7)] = {64,0}, + [I(167,7)] = {64,0}, + [I(168,7)] = {64,0}, + [I(169,7)] = {64,0}, + [I(170,7)] = {64,0}, + [I(171,7)] = {64,0}, + [I(172,7)] = {64,0}, + [I(173,7)] = {64,0}, + [I(174,7)] = {64,0}, + [I(175,7)] = {64,0}, + [I(176,7)] = {64,0}, + [I(177,7)] = {64,0}, + [I(178,7)] = {64,0}, + [I(179,7)] = {64,0}, + [I(180,7)] = {64,0}, + [I(181,7)] = {64,0}, + [I(182,7)] = {64,0}, + [I(183,7)] = {64,0}, + [I(184,7)] = {64,0}, + [I(185,7)] = {64,0}, + [I(186,7)] = {64,0}, + [I(187,7)] = {64,0}, + [I(188,7)] = {64,0}, + [I(189,7)] = {64,0}, + [I(190,7)] = {64,0}, + [I(191,7)] = {64,0}, + [I(192,7)] = {64,0}, + [I(193,7)] = {64,0}, + [I(194,7)] = {64,0}, + [I(195,7)] = {64,0}, + [I(196,7)] = {64,0}, + [I(197,7)] = {64,0}, + [I(198,7)] = {64,0}, + [I(199,7)] = {64,0}, + [I(200,7)] = {64,0}, + [I(201,7)] = {64,0}, + [I(202,7)] = {64,0}, + [I(203,7)] = {64,0}, + [I(204,7)] = {64,0}, + [I(205,7)] = {64,0}, + [I(206,7)] = {64,0}, + [I(207,7)] = {64,0}, + [I(208,7)] = {64,0}, + [I(209,7)] = {64,0}, + [I(210,7)] = {64,0}, + [I(211,7)] = {64,0}, + [I(212,7)] = {64,0}, + [I(213,7)] = {64,0}, + [I(214,7)] = {64,0}, + [I(215,7)] = {64,0}, + [I(216,7)] = {64,0}, + [I(217,7)] = {64,0}, + [I(218,7)] = {64,0}, + [I(219,7)] = {64,0}, + [I(220,7)] = {64,0}, + [I(221,7)] = {64,0}, + [I(222,7)] = {64,0}, + [I(223,7)] = {64,0}, + [I(224,7)] = {64,0}, + [I(225,7)] = {64,0}, + [I(226,7)] = {64,0}, + [I(227,7)] = {64,0}, + [I(228,7)] = {64,0}, + [I(229,7)] = {64,0}, + [I(230,7)] = {64,0}, + [I(231,7)] = {64,0}, + [I(232,7)] = {64,0}, + [I(233,7)] = {64,0}, + [I(234,7)] = {64,0}, + [I(235,7)] = {64,0}, + [I(236,7)] = {64,0}, + [I(237,7)] = {64,0}, + [I(238,7)] = {64,0}, + [I(239,7)] = {64,0}, + [I(240,7)] = {64,0}, + [I(241,7)] = {64,0}, + [I(242,7)] = {64,0}, + [I(243,7)] = {64,0}, + [I(244,7)] = {64,0}, + [I(245,7)] = {64,0}, + [I(246,7)] = {64,0}, + [I(247,7)] = {64,0}, + [I(248,7)] = {64,0}, + [I(249,7)] = {64,0}, + [I(250,7)] = {64,0}, + [I(251,7)] = {64,0}, + [I(252,7)] = {64,0}, + [I(253,7)] = {64,0}, + [I(254,7)] = {64,0}, + [I(255,7)] = {64,0}, + [I(0,8)] = {64,0}, + [I(1,8)] = {64,0}, + [I(2,8)] = {64,0}, + [I(3,8)] = {64,0}, + [I(4,8)] = {64,0}, + [I(5,8)] = {64,0}, + [I(6,8)] = {64,0}, + [I(7,8)] = {64,0}, + [I(8,8)] = {64,0}, + [I(9,8)] = {64,0}, + [I(10,8)] = {64,0}, + [I(11,8)] = {64,0}, + [I(12,8)] = {64,0}, + [I(13,8)] = {64,0}, + [I(14,8)] = {64,0}, + [I(15,8)] = {64,0}, + [I(16,8)] = {64,0}, + [I(17,8)] = {64,0}, + [I(18,8)] = {64,0}, + [I(19,8)] = {64,0}, + [I(20,8)] = {64,0}, + [I(21,8)] = {64,0}, + [I(22,8)] = {64,0}, + [I(23,8)] = {64,0}, + [I(24,8)] = {64,0}, + [I(25,8)] = {64,0}, + [I(26,8)] = {64,0}, + [I(27,8)] = {64,0}, + [I(28,8)] = {64,0}, + [I(29,8)] = {64,0}, + [I(30,8)] = {64,0}, + [I(31,8)] = {64,0}, + [I(32,8)] = {64,0}, + [I(33,8)] = {64,0}, + [I(34,8)] = {64,0}, + [I(35,8)] = {64,0}, + [I(36,8)] = {64,0}, + [I(37,8)] = {64,0}, + [I(38,8)] = {64,0}, + [I(39,8)] = {64,0}, + [I(40,8)] = {64,0}, + [I(41,8)] = {64,0}, + [I(42,8)] = {64,0}, + [I(43,8)] = {64,0}, + [I(44,8)] = {64,0}, + [I(45,8)] = {64,0}, + [I(46,8)] = {64,0}, + [I(47,8)] = {64,0}, + [I(48,8)] = {64,0}, + [I(49,8)] = {64,0}, + [I(50,8)] = {64,0}, + [I(51,8)] = {64,0}, + [I(52,8)] = {64,0}, + [I(53,8)] = {64,0}, + [I(54,8)] = {64,0}, + [I(55,8)] = {64,0}, + [I(56,8)] = {64,0}, + [I(57,8)] = {64,0}, + [I(58,8)] = {64,0}, + [I(59,8)] = {64,0}, + [I(60,8)] = {64,0}, + [I(61,8)] = {64,0}, + [I(62,8)] = {64,0}, + [I(63,8)] = {64,0}, + [I(64,8)] = {64,0}, + [I(65,8)] = {64,0}, + [I(66,8)] = {64,0}, + [I(67,8)] = {64,0}, + [I(68,8)] = {64,0}, + [I(69,8)] = {64,0}, + [I(70,8)] = {64,0}, + [I(71,8)] = {64,0}, + [I(72,8)] = {64,0}, + [I(73,8)] = {64,0}, + [I(74,8)] = {64,0}, + [I(75,8)] = {64,0}, + [I(76,8)] = {64,0}, + [I(77,8)] = {64,0}, + [I(78,8)] = {64,0}, + [I(79,8)] = {64,0}, + [I(80,8)] = {64,0}, + [I(81,8)] = {64,0}, + [I(82,8)] = {64,0}, + [I(83,8)] = {64,0}, + [I(84,8)] = {64,0}, + [I(85,8)] = {64,0}, + [I(86,8)] = {64,0}, + [I(87,8)] = {64,0}, + [I(88,8)] = {64,0}, + [I(89,8)] = {64,0}, + [I(90,8)] = {64,0}, + [I(91,8)] = {64,0}, + [I(92,8)] = {64,0}, + [I(93,8)] = {64,0}, + [I(94,8)] = {64,0}, + [I(95,8)] = {64,0}, + [I(96,8)] = {64,0}, + [I(97,8)] = {64,0}, + [I(98,8)] = {64,0}, + [I(99,8)] = {64,0}, + [I(100,8)] = {64,0}, + [I(101,8)] = {64,0}, + [I(102,8)] = {64,0}, + [I(103,8)] = {64,0}, + [I(104,8)] = {64,0}, + [I(105,8)] = {64,0}, + [I(106,8)] = {64,0}, + [I(107,8)] = {64,0}, + [I(108,8)] = {64,0}, + [I(109,8)] = {64,0}, + [I(110,8)] = {64,0}, + [I(111,8)] = {64,0}, + [I(112,8)] = {64,0}, + [I(113,8)] = {64,0}, + [I(114,8)] = {64,0}, + [I(115,8)] = {64,0}, + [I(116,8)] = {64,0}, + [I(117,8)] = {64,0}, + [I(118,8)] = {64,0}, + [I(119,8)] = {64,0}, + [I(120,8)] = {64,0}, + [I(121,8)] = {64,0}, + [I(122,8)] = {64,0}, + [I(123,8)] = {64,0}, + [I(124,8)] = {64,0}, + [I(125,8)] = {64,0}, + [I(126,8)] = {64,0}, + [I(127,8)] = {64,0}, + [I(128,8)] = {64,0}, + [I(129,8)] = {64,0}, + [I(130,8)] = {64,0}, + [I(131,8)] = {64,0}, + [I(132,8)] = {64,0}, + [I(133,8)] = {64,0}, + [I(134,8)] = {64,0}, + [I(135,8)] = {64,0}, + [I(136,8)] = {64,0}, + [I(137,8)] = {64,0}, + [I(138,8)] = {64,0}, + [I(139,8)] = {64,0}, + [I(140,8)] = {64,0}, + [I(141,8)] = {64,0}, + [I(142,8)] = {64,0}, + [I(143,8)] = {64,0}, + [I(144,8)] = {64,0}, + [I(145,8)] = {64,0}, + [I(146,8)] = {64,0}, + [I(147,8)] = {64,0}, + [I(148,8)] = {64,0}, + [I(149,8)] = {64,0}, + [I(150,8)] = {64,0}, + [I(151,8)] = {64,0}, + [I(152,8)] = {64,0}, + [I(153,8)] = {64,0}, + [I(154,8)] = {64,0}, + [I(155,8)] = {64,0}, + [I(156,8)] = {64,0}, + [I(157,8)] = {64,0}, + [I(158,8)] = {64,0}, + [I(159,8)] = {64,0}, + [I(160,8)] = {64,0}, + [I(161,8)] = {64,0}, + [I(162,8)] = {64,0}, + [I(163,8)] = {64,0}, + [I(164,8)] = {64,0}, + [I(165,8)] = {64,0}, + [I(166,8)] = {64,0}, + [I(167,8)] = {64,0}, + [I(168,8)] = {64,0}, + [I(169,8)] = {64,0}, + [I(170,8)] = {64,0}, + [I(171,8)] = {64,0}, + [I(172,8)] = {64,0}, + [I(173,8)] = {64,0}, + [I(174,8)] = {64,0}, + [I(175,8)] = {64,0}, + [I(176,8)] = {64,0}, + [I(177,8)] = {64,0}, + [I(178,8)] = {64,0}, + [I(179,8)] = {64,0}, + [I(180,8)] = {64,0}, + [I(181,8)] = {64,0}, + [I(182,8)] = {64,0}, + [I(183,8)] = {64,0}, + [I(184,8)] = {64,0}, + [I(185,8)] = {64,0}, + [I(186,8)] = {64,0}, + [I(187,8)] = {64,0}, + [I(188,8)] = {64,0}, + [I(189,8)] = {64,0}, + [I(190,8)] = {64,0}, + [I(191,8)] = {64,0}, + [I(192,8)] = {64,0}, + [I(193,8)] = {64,0}, + [I(194,8)] = {64,0}, + [I(195,8)] = {64,0}, + [I(196,8)] = {64,0}, + [I(197,8)] = {64,0}, + [I(198,8)] = {64,0}, + [I(199,8)] = {64,0}, + [I(200,8)] = {64,0}, + [I(201,8)] = {64,0}, + [I(202,8)] = {64,0}, + [I(203,8)] = {64,0}, + [I(204,8)] = {64,0}, + [I(205,8)] = {64,0}, + [I(206,8)] = {64,0}, + [I(207,8)] = {64,0}, + [I(208,8)] = {64,0}, + [I(209,8)] = {64,0}, + [I(210,8)] = {64,0}, + [I(211,8)] = {64,0}, + [I(212,8)] = {64,0}, + [I(213,8)] = {64,0}, + [I(214,8)] = {64,0}, + [I(215,8)] = {64,0}, + [I(216,8)] = {64,0}, + [I(217,8)] = {64,0}, + [I(218,8)] = {64,0}, + [I(219,8)] = {64,0}, + [I(220,8)] = {64,0}, + [I(221,8)] = {64,0}, + [I(222,8)] = {64,0}, + [I(223,8)] = {64,0}, + [I(224,8)] = {64,0}, + [I(225,8)] = {64,0}, + [I(226,8)] = {64,0}, + [I(227,8)] = {64,0}, + [I(228,8)] = {64,0}, + [I(229,8)] = {64,0}, + [I(230,8)] = {64,0}, + [I(231,8)] = {64,0}, + [I(232,8)] = {64,0}, + [I(233,8)] = {64,0}, + [I(234,8)] = {64,0}, + [I(235,8)] = {64,0}, + [I(236,8)] = {64,0}, + [I(237,8)] = {64,0}, + [I(238,8)] = {64,0}, + [I(239,8)] = {64,0}, + [I(240,8)] = {64,0}, + [I(241,8)] = {64,0}, + [I(242,8)] = {64,0}, + [I(243,8)] = {64,0}, + [I(244,8)] = {64,0}, + [I(245,8)] = {64,0}, + [I(246,8)] = {64,0}, + [I(247,8)] = {64,0}, + [I(248,8)] = {64,0}, + [I(249,8)] = {64,0}, + [I(250,8)] = {64,0}, + [I(251,8)] = {64,0}, + [I(252,8)] = {64,0}, + [I(253,8)] = {64,0}, + [I(254,8)] = {64,0}, + [I(255,8)] = {64,0}, + [I(0,9)] = {64,0}, + [I(1,9)] = {64,0}, + [I(2,9)] = {64,0}, + [I(3,9)] = {64,0}, + [I(4,9)] = {64,0}, + [I(5,9)] = {64,0}, + [I(6,9)] = {64,0}, + [I(7,9)] = {64,0}, + [I(8,9)] = {64,0}, + [I(9,9)] = {64,0}, + [I(10,9)] = {64,0}, + [I(11,9)] = {64,0}, + [I(12,9)] = {64,0}, + [I(13,9)] = {64,0}, + [I(14,9)] = {64,0}, + [I(15,9)] = {64,0}, + [I(16,9)] = {64,0}, + [I(17,9)] = {64,0}, + [I(18,9)] = {64,0}, + [I(19,9)] = {64,0}, + [I(20,9)] = {64,0}, + [I(21,9)] = {64,0}, + [I(22,9)] = {64,0}, + [I(23,9)] = {64,0}, + [I(24,9)] = {64,0}, + [I(25,9)] = {64,0}, + [I(26,9)] = {64,0}, + [I(27,9)] = {64,0}, + [I(28,9)] = {64,0}, + [I(29,9)] = {64,0}, + [I(30,9)] = {64,0}, + [I(31,9)] = {64,0}, + [I(32,9)] = {30,0x14FFFFEA}, + [I(33,9)] = {64,0}, + [I(34,9)] = {64,0}, + [I(35,9)] = {64,0}, + [I(36,9)] = {64,0}, + [I(37,9)] = {30,0x15FFFFEA}, + [I(38,9)] = {X32,0xF8FFFFEA}, + [I(39,9)] = {64,0}, + [I(40,9)] = {64,0}, + [I(41,9)] = {64,0}, + [I(42,9)] = {X32,0xF9FFFFEA}, + [I(43,9)] = {64,0}, + [I(44,9)] = {X32,0xFAFFFFEA}, + [I(45,9)] = {30,0x16FFFFEA}, + [I(46,9)] = {30,0x17FFFFEA}, + [I(47,9)] = {30,0x18FFFFEA}, + [I(48,9)] = {29,0xFFFFEA}, + [I(49,9)] = {29,0x1FFFFEA}, + [I(50,9)] = {29,0x2FFFFEA}, + [I(51,9)] = {30,0x19FFFFEA}, + [I(52,9)] = {30,0x1AFFFFEA}, + [I(53,9)] = {30,0x1BFFFFEA}, + [I(54,9)] = {30,0x1CFFFFEA}, + [I(55,9)] = {30,0x1DFFFFEA}, + [I(56,9)] = {30,0x1EFFFFEA}, + [I(57,9)] = {30,0x1FFFFFEA}, + [I(58,9)] = {31,0x5CFFFFEA}, + [I(59,9)] = {X32,0xFBFFFFEA}, + [I(60,9)] = {64,0}, + [I(61,9)] = {30,0x20FFFFEA}, + [I(62,9)] = {64,0}, + [I(63,9)] = {64,0}, + [I(64,9)] = {64,0}, + [I(65,9)] = {30,0x21FFFFEA}, + [I(66,9)] = {31,0x5DFFFFEA}, + [I(67,9)] = {31,0x5EFFFFEA}, + [I(68,9)] = {31,0x5FFFFFEA}, + [I(69,9)] = {31,0x60FFFFEA}, + [I(70,9)] = {31,0x61FFFFEA}, + [I(71,9)] = {31,0x62FFFFEA}, + [I(72,9)] = {31,0x63FFFFEA}, + [I(73,9)] = {31,0x64FFFFEA}, + [I(74,9)] = {31,0x65FFFFEA}, + [I(75,9)] = {31,0x66FFFFEA}, + [I(76,9)] = {31,0x67FFFFEA}, + [I(77,9)] = {31,0x68FFFFEA}, + [I(78,9)] = {31,0x69FFFFEA}, + [I(79,9)] = {31,0x6AFFFFEA}, + [I(80,9)] = {31,0x6BFFFFEA}, + [I(81,9)] = {31,0x6CFFFFEA}, + [I(82,9)] = {31,0x6DFFFFEA}, + [I(83,9)] = {31,0x6EFFFFEA}, + [I(84,9)] = {31,0x6FFFFFEA}, + [I(85,9)] = {31,0x70FFFFEA}, + [I(86,9)] = {31,0x71FFFFEA}, + [I(87,9)] = {31,0x72FFFFEA}, + [I(88,9)] = {X32,0xFCFFFFEA}, + [I(89,9)] = {31,0x73FFFFEA}, + [I(90,9)] = {X32,0xFDFFFFEA}, + [I(91,9)] = {64,0}, + [I(92,9)] = {64,0}, + [I(93,9)] = {64,0}, + [I(94,9)] = {64,0}, + [I(95,9)] = {30,0x22FFFFEA}, + [I(96,9)] = {64,0}, + [I(97,9)] = {29,0x3FFFFEA}, + [I(98,9)] = {30,0x23FFFFEA}, + [I(99,9)] = {29,0x4FFFFEA}, + [I(100,9)] = {30,0x24FFFFEA}, + [I(101,9)] = {29,0x5FFFFEA}, + [I(102,9)] = {30,0x25FFFFEA}, + [I(103,9)] = {30,0x26FFFFEA}, + [I(104,9)] = {30,0x27FFFFEA}, + [I(105,9)] = {29,0x6FFFFEA}, + [I(106,9)] = {31,0x74FFFFEA}, + [I(107,9)] = {31,0x75FFFFEA}, + [I(108,9)] = {30,0x28FFFFEA}, + [I(109,9)] = {30,0x29FFFFEA}, + [I(110,9)] = {30,0x2AFFFFEA}, + [I(111,9)] = {29,0x7FFFFEA}, + [I(112,9)] = {30,0x2BFFFFEA}, + [I(113,9)] = {31,0x76FFFFEA}, + [I(114,9)] = {30,0x2CFFFFEA}, + [I(115,9)] = {29,0x8FFFFEA}, + [I(116,9)] = {29,0x9FFFFEA}, + [I(117,9)] = {30,0x2DFFFFEA}, + [I(118,9)] = {31,0x77FFFFEA}, + [I(119,9)] = {31,0x78FFFFEA}, + [I(120,9)] = {31,0x79FFFFEA}, + [I(121,9)] = {31,0x7AFFFFEA}, + [I(122,9)] = {31,0x7BFFFFEA}, + [I(123,9)] = {64,0}, + [I(124,9)] = {64,0}, + [I(125,9)] = {64,0}, + [I(126,9)] = {64,0}, + [I(127,9)] = {64,0}, + [I(128,9)] = {64,0}, + [I(129,9)] = {64,0}, + [I(130,9)] = {64,0}, + [I(131,9)] = {64,0}, + [I(132,9)] = {64,0}, + [I(133,9)] = {64,0}, + [I(134,9)] = {64,0}, + [I(135,9)] = {64,0}, + [I(136,9)] = {64,0}, + [I(137,9)] = {64,0}, + [I(138,9)] = {64,0}, + [I(139,9)] = {64,0}, + [I(140,9)] = {64,0}, + [I(141,9)] = {64,0}, + [I(142,9)] = {64,0}, + [I(143,9)] = {64,0}, + [I(144,9)] = {64,0}, + [I(145,9)] = {64,0}, + [I(146,9)] = {64,0}, + [I(147,9)] = {64,0}, + [I(148,9)] = {64,0}, + [I(149,9)] = {64,0}, + [I(150,9)] = {64,0}, + [I(151,9)] = {64,0}, + [I(152,9)] = {64,0}, + [I(153,9)] = {64,0}, + [I(154,9)] = {64,0}, + [I(155,9)] = {64,0}, + [I(156,9)] = {64,0}, + [I(157,9)] = {64,0}, + [I(158,9)] = {64,0}, + [I(159,9)] = {64,0}, + [I(160,9)] = {64,0}, + [I(161,9)] = {64,0}, + [I(162,9)] = {64,0}, + [I(163,9)] = {64,0}, + [I(164,9)] = {64,0}, + [I(165,9)] = {64,0}, + [I(166,9)] = {64,0}, + [I(167,9)] = {64,0}, + [I(168,9)] = {64,0}, + [I(169,9)] = {64,0}, + [I(170,9)] = {64,0}, + [I(171,9)] = {64,0}, + [I(172,9)] = {64,0}, + [I(173,9)] = {64,0}, + [I(174,9)] = {64,0}, + [I(175,9)] = {64,0}, + [I(176,9)] = {64,0}, + [I(177,9)] = {64,0}, + [I(178,9)] = {64,0}, + [I(179,9)] = {64,0}, + [I(180,9)] = {64,0}, + [I(181,9)] = {64,0}, + [I(182,9)] = {64,0}, + [I(183,9)] = {64,0}, + [I(184,9)] = {64,0}, + [I(185,9)] = {64,0}, + [I(186,9)] = {64,0}, + [I(187,9)] = {64,0}, + [I(188,9)] = {64,0}, + [I(189,9)] = {64,0}, + [I(190,9)] = {64,0}, + [I(191,9)] = {64,0}, + [I(192,9)] = {64,0}, + [I(193,9)] = {64,0}, + [I(194,9)] = {64,0}, + [I(195,9)] = {64,0}, + [I(196,9)] = {64,0}, + [I(197,9)] = {64,0}, + [I(198,9)] = {64,0}, + [I(199,9)] = {64,0}, + [I(200,9)] = {64,0}, + [I(201,9)] = {64,0}, + [I(202,9)] = {64,0}, + [I(203,9)] = {64,0}, + [I(204,9)] = {64,0}, + [I(205,9)] = {64,0}, + [I(206,9)] = {64,0}, + [I(207,9)] = {64,0}, + [I(208,9)] = {64,0}, + [I(209,9)] = {64,0}, + [I(210,9)] = {64,0}, + [I(211,9)] = {64,0}, + [I(212,9)] = {64,0}, + [I(213,9)] = {64,0}, + [I(214,9)] = {64,0}, + [I(215,9)] = {64,0}, + [I(216,9)] = {64,0}, + [I(217,9)] = {64,0}, + [I(218,9)] = {64,0}, + [I(219,9)] = {64,0}, + [I(220,9)] = {64,0}, + [I(221,9)] = {64,0}, + [I(222,9)] = {64,0}, + [I(223,9)] = {64,0}, + [I(224,9)] = {64,0}, + [I(225,9)] = {64,0}, + [I(226,9)] = {64,0}, + [I(227,9)] = {64,0}, + [I(228,9)] = {64,0}, + [I(229,9)] = {64,0}, + [I(230,9)] = {64,0}, + [I(231,9)] = {64,0}, + [I(232,9)] = {64,0}, + [I(233,9)] = {64,0}, + [I(234,9)] = {64,0}, + [I(235,9)] = {64,0}, + [I(236,9)] = {64,0}, + [I(237,9)] = {64,0}, + [I(238,9)] = {64,0}, + [I(239,9)] = {64,0}, + [I(240,9)] = {64,0}, + [I(241,9)] = {64,0}, + [I(242,9)] = {64,0}, + [I(243,9)] = {64,0}, + [I(244,9)] = {64,0}, + [I(245,9)] = {64,0}, + [I(246,9)] = {64,0}, + [I(247,9)] = {64,0}, + [I(248,9)] = {64,0}, + [I(249,9)] = {64,0}, + [I(250,9)] = {64,0}, + [I(251,9)] = {64,0}, + [I(252,9)] = {64,0}, + [I(253,9)] = {64,0}, + [I(254,9)] = {64,0}, + [I(255,9)] = {64,0}, + [I(0,10)] = {64,0}, + [I(1,10)] = {64,0}, + [I(2,10)] = {64,0}, + [I(3,10)] = {64,0}, + [I(4,10)] = {64,0}, + [I(5,10)] = {64,0}, + [I(6,10)] = {64,0}, + [I(7,10)] = {64,0}, + [I(8,10)] = {64,0}, + [I(9,10)] = {64,0}, + [I(10,10)] = {64,0}, + [I(11,10)] = {64,0}, + [I(12,10)] = {64,0}, + [I(13,10)] = {64,0}, + [I(14,10)] = {64,0}, + [I(15,10)] = {64,0}, + [I(16,10)] = {64,0}, + [I(17,10)] = {64,0}, + [I(18,10)] = {64,0}, + [I(19,10)] = {64,0}, + [I(20,10)] = {64,0}, + [I(21,10)] = {64,0}, + [I(22,10)] = {64,0}, + [I(23,10)] = {64,0}, + [I(24,10)] = {64,0}, + [I(25,10)] = {64,0}, + [I(26,10)] = {64,0}, + [I(27,10)] = {64,0}, + [I(28,10)] = {64,0}, + [I(29,10)] = {64,0}, + [I(30,10)] = {64,0}, + [I(31,10)] = {64,0}, + [I(32,10)] = {64,0}, + [I(33,10)] = {64,0}, + [I(34,10)] = {64,0}, + [I(35,10)] = {64,0}, + [I(36,10)] = {64,0}, + [I(37,10)] = {64,0}, + [I(38,10)] = {64,0}, + [I(39,10)] = {64,0}, + [I(40,10)] = {64,0}, + [I(41,10)] = {64,0}, + [I(42,10)] = {64,0}, + [I(43,10)] = {64,0}, + [I(44,10)] = {64,0}, + [I(45,10)] = {64,0}, + [I(46,10)] = {64,0}, + [I(47,10)] = {64,0}, + [I(48,10)] = {64,0}, + [I(49,10)] = {64,0}, + [I(50,10)] = {64,0}, + [I(51,10)] = {64,0}, + [I(52,10)] = {64,0}, + [I(53,10)] = {64,0}, + [I(54,10)] = {64,0}, + [I(55,10)] = {64,0}, + [I(56,10)] = {64,0}, + [I(57,10)] = {64,0}, + [I(58,10)] = {64,0}, + [I(59,10)] = {64,0}, + [I(60,10)] = {64,0}, + [I(61,10)] = {64,0}, + [I(62,10)] = {64,0}, + [I(63,10)] = {64,0}, + [I(64,10)] = {64,0}, + [I(65,10)] = {64,0}, + [I(66,10)] = {64,0}, + [I(67,10)] = {64,0}, + [I(68,10)] = {64,0}, + [I(69,10)] = {64,0}, + [I(70,10)] = {64,0}, + [I(71,10)] = {64,0}, + [I(72,10)] = {64,0}, + [I(73,10)] = {64,0}, + [I(74,10)] = {64,0}, + [I(75,10)] = {64,0}, + [I(76,10)] = {64,0}, + [I(77,10)] = {64,0}, + [I(78,10)] = {64,0}, + [I(79,10)] = {64,0}, + [I(80,10)] = {64,0}, + [I(81,10)] = {64,0}, + [I(82,10)] = {64,0}, + [I(83,10)] = {64,0}, + [I(84,10)] = {64,0}, + [I(85,10)] = {64,0}, + [I(86,10)] = {64,0}, + [I(87,10)] = {64,0}, + [I(88,10)] = {64,0}, + [I(89,10)] = {64,0}, + [I(90,10)] = {64,0}, + [I(91,10)] = {64,0}, + [I(92,10)] = {64,0}, + [I(93,10)] = {64,0}, + [I(94,10)] = {64,0}, + [I(95,10)] = {64,0}, + [I(96,10)] = {64,0}, + [I(97,10)] = {64,0}, + [I(98,10)] = {64,0}, + [I(99,10)] = {64,0}, + [I(100,10)] = {64,0}, + [I(101,10)] = {64,0}, + [I(102,10)] = {64,0}, + [I(103,10)] = {64,0}, + [I(104,10)] = {64,0}, + [I(105,10)] = {64,0}, + [I(106,10)] = {64,0}, + [I(107,10)] = {64,0}, + [I(108,10)] = {64,0}, + [I(109,10)] = {64,0}, + [I(110,10)] = {64,0}, + [I(111,10)] = {64,0}, + [I(112,10)] = {64,0}, + [I(113,10)] = {64,0}, + [I(114,10)] = {64,0}, + [I(115,10)] = {64,0}, + [I(116,10)] = {64,0}, + [I(117,10)] = {64,0}, + [I(118,10)] = {64,0}, + [I(119,10)] = {64,0}, + [I(120,10)] = {64,0}, + [I(121,10)] = {64,0}, + [I(122,10)] = {64,0}, + [I(123,10)] = {64,0}, + [I(124,10)] = {64,0}, + [I(125,10)] = {64,0}, + [I(126,10)] = {64,0}, + [I(127,10)] = {64,0}, + [I(128,10)] = {64,0}, + [I(129,10)] = {64,0}, + [I(130,10)] = {64,0}, + [I(131,10)] = {64,0}, + [I(132,10)] = {64,0}, + [I(133,10)] = {64,0}, + [I(134,10)] = {64,0}, + [I(135,10)] = {64,0}, + [I(136,10)] = {64,0}, + [I(137,10)] = {64,0}, + [I(138,10)] = {64,0}, + [I(139,10)] = {64,0}, + [I(140,10)] = {64,0}, + [I(141,10)] = {64,0}, + [I(142,10)] = {64,0}, + [I(143,10)] = {64,0}, + [I(144,10)] = {64,0}, + [I(145,10)] = {64,0}, + [I(146,10)] = {64,0}, + [I(147,10)] = {64,0}, + [I(148,10)] = {64,0}, + [I(149,10)] = {64,0}, + [I(150,10)] = {64,0}, + [I(151,10)] = {64,0}, + [I(152,10)] = {64,0}, + [I(153,10)] = {64,0}, + [I(154,10)] = {64,0}, + [I(155,10)] = {64,0}, + [I(156,10)] = {64,0}, + [I(157,10)] = {64,0}, + [I(158,10)] = {64,0}, + [I(159,10)] = {64,0}, + [I(160,10)] = {64,0}, + [I(161,10)] = {64,0}, + [I(162,10)] = {64,0}, + [I(163,10)] = {64,0}, + [I(164,10)] = {64,0}, + [I(165,10)] = {64,0}, + [I(166,10)] = {64,0}, + [I(167,10)] = {64,0}, + [I(168,10)] = {64,0}, + [I(169,10)] = {64,0}, + [I(170,10)] = {64,0}, + [I(171,10)] = {64,0}, + [I(172,10)] = {64,0}, + [I(173,10)] = {64,0}, + [I(174,10)] = {64,0}, + [I(175,10)] = {64,0}, + [I(176,10)] = {64,0}, + [I(177,10)] = {64,0}, + [I(178,10)] = {64,0}, + [I(179,10)] = {64,0}, + [I(180,10)] = {64,0}, + [I(181,10)] = {64,0}, + [I(182,10)] = {64,0}, + [I(183,10)] = {64,0}, + [I(184,10)] = {64,0}, + [I(185,10)] = {64,0}, + [I(186,10)] = {64,0}, + [I(187,10)] = {64,0}, + [I(188,10)] = {64,0}, + [I(189,10)] = {64,0}, + [I(190,10)] = {64,0}, + [I(191,10)] = {64,0}, + [I(192,10)] = {64,0}, + [I(193,10)] = {64,0}, + [I(194,10)] = {64,0}, + [I(195,10)] = {64,0}, + [I(196,10)] = {64,0}, + [I(197,10)] = {64,0}, + [I(198,10)] = {64,0}, + [I(199,10)] = {64,0}, + [I(200,10)] = {64,0}, + [I(201,10)] = {64,0}, + [I(202,10)] = {64,0}, + [I(203,10)] = {64,0}, + [I(204,10)] = {64,0}, + [I(205,10)] = {64,0}, + [I(206,10)] = {64,0}, + [I(207,10)] = {64,0}, + [I(208,10)] = {64,0}, + [I(209,10)] = {64,0}, + [I(210,10)] = {64,0}, + [I(211,10)] = {64,0}, + [I(212,10)] = {64,0}, + [I(213,10)] = {64,0}, + [I(214,10)] = {64,0}, + [I(215,10)] = {64,0}, + [I(216,10)] = {64,0}, + [I(217,10)] = {64,0}, + [I(218,10)] = {64,0}, + [I(219,10)] = {64,0}, + [I(220,10)] = {64,0}, + [I(221,10)] = {64,0}, + [I(222,10)] = {64,0}, + [I(223,10)] = {64,0}, + [I(224,10)] = {64,0}, + [I(225,10)] = {64,0}, + [I(226,10)] = {64,0}, + [I(227,10)] = {64,0}, + [I(228,10)] = {64,0}, + [I(229,10)] = {64,0}, + [I(230,10)] = {64,0}, + [I(231,10)] = {64,0}, + [I(232,10)] = {64,0}, + [I(233,10)] = {64,0}, + [I(234,10)] = {64,0}, + [I(235,10)] = {64,0}, + [I(236,10)] = {64,0}, + [I(237,10)] = {64,0}, + [I(238,10)] = {64,0}, + [I(239,10)] = {64,0}, + [I(240,10)] = {64,0}, + [I(241,10)] = {64,0}, + [I(242,10)] = {64,0}, + [I(243,10)] = {64,0}, + [I(244,10)] = {64,0}, + [I(245,10)] = {64,0}, + [I(246,10)] = {64,0}, + [I(247,10)] = {64,0}, + [I(248,10)] = {64,0}, + [I(249,10)] = {64,0}, + [I(250,10)] = {64,0}, + [I(251,10)] = {64,0}, + [I(252,10)] = {64,0}, + [I(253,10)] = {64,0}, + [I(254,10)] = {64,0}, + [I(255,10)] = {64,0}, + [I(0,11)] = {64,0}, + [I(1,11)] = {64,0}, + [I(2,11)] = {64,0}, + [I(3,11)] = {64,0}, + [I(4,11)] = {64,0}, + [I(5,11)] = {64,0}, + [I(6,11)] = {64,0}, + [I(7,11)] = {64,0}, + [I(8,11)] = {64,0}, + [I(9,11)] = {64,0}, + [I(10,11)] = {64,0}, + [I(11,11)] = {64,0}, + [I(12,11)] = {64,0}, + [I(13,11)] = {64,0}, + [I(14,11)] = {64,0}, + [I(15,11)] = {64,0}, + [I(16,11)] = {64,0}, + [I(17,11)] = {64,0}, + [I(18,11)] = {64,0}, + [I(19,11)] = {64,0}, + [I(20,11)] = {64,0}, + [I(21,11)] = {64,0}, + [I(22,11)] = {64,0}, + [I(23,11)] = {64,0}, + [I(24,11)] = {64,0}, + [I(25,11)] = {64,0}, + [I(26,11)] = {64,0}, + [I(27,11)] = {64,0}, + [I(28,11)] = {64,0}, + [I(29,11)] = {64,0}, + [I(30,11)] = {64,0}, + [I(31,11)] = {64,0}, + [I(32,11)] = {64,0}, + [I(33,11)] = {64,0}, + [I(34,11)] = {64,0}, + [I(35,11)] = {64,0}, + [I(36,11)] = {64,0}, + [I(37,11)] = {64,0}, + [I(38,11)] = {64,0}, + [I(39,11)] = {64,0}, + [I(40,11)] = {64,0}, + [I(41,11)] = {64,0}, + [I(42,11)] = {64,0}, + [I(43,11)] = {64,0}, + [I(44,11)] = {64,0}, + [I(45,11)] = {64,0}, + [I(46,11)] = {64,0}, + [I(47,11)] = {64,0}, + [I(48,11)] = {64,0}, + [I(49,11)] = {64,0}, + [I(50,11)] = {64,0}, + [I(51,11)] = {64,0}, + [I(52,11)] = {64,0}, + [I(53,11)] = {64,0}, + [I(54,11)] = {64,0}, + [I(55,11)] = {64,0}, + [I(56,11)] = {64,0}, + [I(57,11)] = {64,0}, + [I(58,11)] = {64,0}, + [I(59,11)] = {64,0}, + [I(60,11)] = {64,0}, + [I(61,11)] = {64,0}, + [I(62,11)] = {64,0}, + [I(63,11)] = {64,0}, + [I(64,11)] = {64,0}, + [I(65,11)] = {64,0}, + [I(66,11)] = {64,0}, + [I(67,11)] = {64,0}, + [I(68,11)] = {64,0}, + [I(69,11)] = {64,0}, + [I(70,11)] = {64,0}, + [I(71,11)] = {64,0}, + [I(72,11)] = {64,0}, + [I(73,11)] = {64,0}, + [I(74,11)] = {64,0}, + [I(75,11)] = {64,0}, + [I(76,11)] = {64,0}, + [I(77,11)] = {64,0}, + [I(78,11)] = {64,0}, + [I(79,11)] = {64,0}, + [I(80,11)] = {64,0}, + [I(81,11)] = {64,0}, + [I(82,11)] = {64,0}, + [I(83,11)] = {64,0}, + [I(84,11)] = {64,0}, + [I(85,11)] = {64,0}, + [I(86,11)] = {64,0}, + [I(87,11)] = {64,0}, + [I(88,11)] = {64,0}, + [I(89,11)] = {64,0}, + [I(90,11)] = {64,0}, + [I(91,11)] = {64,0}, + [I(92,11)] = {64,0}, + [I(93,11)] = {64,0}, + [I(94,11)] = {64,0}, + [I(95,11)] = {64,0}, + [I(96,11)] = {64,0}, + [I(97,11)] = {64,0}, + [I(98,11)] = {64,0}, + [I(99,11)] = {64,0}, + [I(100,11)] = {64,0}, + [I(101,11)] = {64,0}, + [I(102,11)] = {64,0}, + [I(103,11)] = {64,0}, + [I(104,11)] = {64,0}, + [I(105,11)] = {64,0}, + [I(106,11)] = {64,0}, + [I(107,11)] = {64,0}, + [I(108,11)] = {64,0}, + [I(109,11)] = {64,0}, + [I(110,11)] = {64,0}, + [I(111,11)] = {64,0}, + [I(112,11)] = {64,0}, + [I(113,11)] = {64,0}, + [I(114,11)] = {64,0}, + [I(115,11)] = {64,0}, + [I(116,11)] = {64,0}, + [I(117,11)] = {64,0}, + [I(118,11)] = {64,0}, + [I(119,11)] = {64,0}, + [I(120,11)] = {64,0}, + [I(121,11)] = {64,0}, + [I(122,11)] = {64,0}, + [I(123,11)] = {64,0}, + [I(124,11)] = {64,0}, + [I(125,11)] = {64,0}, + [I(126,11)] = {64,0}, + [I(127,11)] = {64,0}, + [I(128,11)] = {64,0}, + [I(129,11)] = {64,0}, + [I(130,11)] = {64,0}, + [I(131,11)] = {64,0}, + [I(132,11)] = {64,0}, + [I(133,11)] = {64,0}, + [I(134,11)] = {64,0}, + [I(135,11)] = {64,0}, + [I(136,11)] = {64,0}, + [I(137,11)] = {64,0}, + [I(138,11)] = {64,0}, + [I(139,11)] = {64,0}, + [I(140,11)] = {64,0}, + [I(141,11)] = {64,0}, + [I(142,11)] = {64,0}, + [I(143,11)] = {64,0}, + [I(144,11)] = {64,0}, + [I(145,11)] = {64,0}, + [I(146,11)] = {64,0}, + [I(147,11)] = {64,0}, + [I(148,11)] = {64,0}, + [I(149,11)] = {64,0}, + [I(150,11)] = {64,0}, + [I(151,11)] = {64,0}, + [I(152,11)] = {64,0}, + [I(153,11)] = {64,0}, + [I(154,11)] = {64,0}, + [I(155,11)] = {64,0}, + [I(156,11)] = {64,0}, + [I(157,11)] = {64,0}, + [I(158,11)] = {64,0}, + [I(159,11)] = {64,0}, + [I(160,11)] = {64,0}, + [I(161,11)] = {64,0}, + [I(162,11)] = {64,0}, + [I(163,11)] = {64,0}, + [I(164,11)] = {64,0}, + [I(165,11)] = {64,0}, + [I(166,11)] = {64,0}, + [I(167,11)] = {64,0}, + [I(168,11)] = {64,0}, + [I(169,11)] = {64,0}, + [I(170,11)] = {64,0}, + [I(171,11)] = {64,0}, + [I(172,11)] = {64,0}, + [I(173,11)] = {64,0}, + [I(174,11)] = {64,0}, + [I(175,11)] = {64,0}, + [I(176,11)] = {64,0}, + [I(177,11)] = {64,0}, + [I(178,11)] = {64,0}, + [I(179,11)] = {64,0}, + [I(180,11)] = {64,0}, + [I(181,11)] = {64,0}, + [I(182,11)] = {64,0}, + [I(183,11)] = {64,0}, + [I(184,11)] = {64,0}, + [I(185,11)] = {64,0}, + [I(186,11)] = {64,0}, + [I(187,11)] = {64,0}, + [I(188,11)] = {64,0}, + [I(189,11)] = {64,0}, + [I(190,11)] = {64,0}, + [I(191,11)] = {64,0}, + [I(192,11)] = {64,0}, + [I(193,11)] = {64,0}, + [I(194,11)] = {64,0}, + [I(195,11)] = {64,0}, + [I(196,11)] = {64,0}, + [I(197,11)] = {64,0}, + [I(198,11)] = {64,0}, + [I(199,11)] = {64,0}, + [I(200,11)] = {64,0}, + [I(201,11)] = {64,0}, + [I(202,11)] = {64,0}, + [I(203,11)] = {64,0}, + [I(204,11)] = {64,0}, + [I(205,11)] = {64,0}, + [I(206,11)] = {64,0}, + [I(207,11)] = {64,0}, + [I(208,11)] = {64,0}, + [I(209,11)] = {64,0}, + [I(210,11)] = {64,0}, + [I(211,11)] = {64,0}, + [I(212,11)] = {64,0}, + [I(213,11)] = {64,0}, + [I(214,11)] = {64,0}, + [I(215,11)] = {64,0}, + [I(216,11)] = {64,0}, + [I(217,11)] = {64,0}, + [I(218,11)] = {64,0}, + [I(219,11)] = {64,0}, + [I(220,11)] = {64,0}, + [I(221,11)] = {64,0}, + [I(222,11)] = {64,0}, + [I(223,11)] = {64,0}, + [I(224,11)] = {64,0}, + [I(225,11)] = {64,0}, + [I(226,11)] = {64,0}, + [I(227,11)] = {64,0}, + [I(228,11)] = {64,0}, + [I(229,11)] = {64,0}, + [I(230,11)] = {64,0}, + [I(231,11)] = {64,0}, + [I(232,11)] = {64,0}, + [I(233,11)] = {64,0}, + [I(234,11)] = {64,0}, + [I(235,11)] = {64,0}, + [I(236,11)] = {64,0}, + [I(237,11)] = {64,0}, + [I(238,11)] = {64,0}, + [I(239,11)] = {64,0}, + [I(240,11)] = {64,0}, + [I(241,11)] = {64,0}, + [I(242,11)] = {64,0}, + [I(243,11)] = {64,0}, + [I(244,11)] = {64,0}, + [I(245,11)] = {64,0}, + [I(246,11)] = {64,0}, + [I(247,11)] = {64,0}, + [I(248,11)] = {64,0}, + [I(249,11)] = {64,0}, + [I(250,11)] = {64,0}, + [I(251,11)] = {64,0}, + [I(252,11)] = {64,0}, + [I(253,11)] = {64,0}, + [I(254,11)] = {64,0}, + [I(255,11)] = {64,0}, + [I(0,12)] = {64,0}, + [I(1,12)] = {64,0}, + [I(2,12)] = {64,0}, + [I(3,12)] = {64,0}, + [I(4,12)] = {64,0}, + [I(5,12)] = {64,0}, + [I(6,12)] = {64,0}, + [I(7,12)] = {64,0}, + [I(8,12)] = {64,0}, + [I(9,12)] = {64,0}, + [I(10,12)] = {64,0}, + [I(11,12)] = {64,0}, + [I(12,12)] = {64,0}, + [I(13,12)] = {64,0}, + [I(14,12)] = {64,0}, + [I(15,12)] = {64,0}, + [I(16,12)] = {64,0}, + [I(17,12)] = {64,0}, + [I(18,12)] = {64,0}, + [I(19,12)] = {64,0}, + [I(20,12)] = {64,0}, + [I(21,12)] = {64,0}, + [I(22,12)] = {64,0}, + [I(23,12)] = {64,0}, + [I(24,12)] = {64,0}, + [I(25,12)] = {64,0}, + [I(26,12)] = {64,0}, + [I(27,12)] = {64,0}, + [I(28,12)] = {64,0}, + [I(29,12)] = {64,0}, + [I(30,12)] = {64,0}, + [I(31,12)] = {64,0}, + [I(32,12)] = {64,0}, + [I(33,12)] = {64,0}, + [I(34,12)] = {64,0}, + [I(35,12)] = {64,0}, + [I(36,12)] = {64,0}, + [I(37,12)] = {64,0}, + [I(38,12)] = {64,0}, + [I(39,12)] = {64,0}, + [I(40,12)] = {64,0}, + [I(41,12)] = {64,0}, + [I(42,12)] = {64,0}, + [I(43,12)] = {64,0}, + [I(44,12)] = {64,0}, + [I(45,12)] = {64,0}, + [I(46,12)] = {64,0}, + [I(47,12)] = {64,0}, + [I(48,12)] = {64,0}, + [I(49,12)] = {64,0}, + [I(50,12)] = {64,0}, + [I(51,12)] = {64,0}, + [I(52,12)] = {64,0}, + [I(53,12)] = {64,0}, + [I(54,12)] = {64,0}, + [I(55,12)] = {64,0}, + [I(56,12)] = {64,0}, + [I(57,12)] = {64,0}, + [I(58,12)] = {64,0}, + [I(59,12)] = {64,0}, + [I(60,12)] = {64,0}, + [I(61,12)] = {64,0}, + [I(62,12)] = {64,0}, + [I(63,12)] = {64,0}, + [I(64,12)] = {64,0}, + [I(65,12)] = {64,0}, + [I(66,12)] = {64,0}, + [I(67,12)] = {64,0}, + [I(68,12)] = {64,0}, + [I(69,12)] = {64,0}, + [I(70,12)] = {64,0}, + [I(71,12)] = {64,0}, + [I(72,12)] = {64,0}, + [I(73,12)] = {64,0}, + [I(74,12)] = {64,0}, + [I(75,12)] = {64,0}, + [I(76,12)] = {64,0}, + [I(77,12)] = {64,0}, + [I(78,12)] = {64,0}, + [I(79,12)] = {64,0}, + [I(80,12)] = {64,0}, + [I(81,12)] = {64,0}, + [I(82,12)] = {64,0}, + [I(83,12)] = {64,0}, + [I(84,12)] = {64,0}, + [I(85,12)] = {64,0}, + [I(86,12)] = {64,0}, + [I(87,12)] = {64,0}, + [I(88,12)] = {64,0}, + [I(89,12)] = {64,0}, + [I(90,12)] = {64,0}, + [I(91,12)] = {64,0}, + [I(92,12)] = {64,0}, + [I(93,12)] = {64,0}, + [I(94,12)] = {64,0}, + [I(95,12)] = {64,0}, + [I(96,12)] = {64,0}, + [I(97,12)] = {64,0}, + [I(98,12)] = {64,0}, + [I(99,12)] = {64,0}, + [I(100,12)] = {64,0}, + [I(101,12)] = {64,0}, + [I(102,12)] = {64,0}, + [I(103,12)] = {64,0}, + [I(104,12)] = {64,0}, + [I(105,12)] = {64,0}, + [I(106,12)] = {64,0}, + [I(107,12)] = {64,0}, + [I(108,12)] = {64,0}, + [I(109,12)] = {64,0}, + [I(110,12)] = {64,0}, + [I(111,12)] = {64,0}, + [I(112,12)] = {64,0}, + [I(113,12)] = {64,0}, + [I(114,12)] = {64,0}, + [I(115,12)] = {64,0}, + [I(116,12)] = {64,0}, + [I(117,12)] = {64,0}, + [I(118,12)] = {64,0}, + [I(119,12)] = {64,0}, + [I(120,12)] = {64,0}, + [I(121,12)] = {64,0}, + [I(122,12)] = {64,0}, + [I(123,12)] = {64,0}, + [I(124,12)] = {64,0}, + [I(125,12)] = {64,0}, + [I(126,12)] = {64,0}, + [I(127,12)] = {64,0}, + [I(128,12)] = {64,0}, + [I(129,12)] = {64,0}, + [I(130,12)] = {64,0}, + [I(131,12)] = {64,0}, + [I(132,12)] = {64,0}, + [I(133,12)] = {64,0}, + [I(134,12)] = {64,0}, + [I(135,12)] = {64,0}, + [I(136,12)] = {64,0}, + [I(137,12)] = {64,0}, + [I(138,12)] = {64,0}, + [I(139,12)] = {64,0}, + [I(140,12)] = {64,0}, + [I(141,12)] = {64,0}, + [I(142,12)] = {64,0}, + [I(143,12)] = {64,0}, + [I(144,12)] = {64,0}, + [I(145,12)] = {64,0}, + [I(146,12)] = {64,0}, + [I(147,12)] = {64,0}, + [I(148,12)] = {64,0}, + [I(149,12)] = {64,0}, + [I(150,12)] = {64,0}, + [I(151,12)] = {64,0}, + [I(152,12)] = {64,0}, + [I(153,12)] = {64,0}, + [I(154,12)] = {64,0}, + [I(155,12)] = {64,0}, + [I(156,12)] = {64,0}, + [I(157,12)] = {64,0}, + [I(158,12)] = {64,0}, + [I(159,12)] = {64,0}, + [I(160,12)] = {64,0}, + [I(161,12)] = {64,0}, + [I(162,12)] = {64,0}, + [I(163,12)] = {64,0}, + [I(164,12)] = {64,0}, + [I(165,12)] = {64,0}, + [I(166,12)] = {64,0}, + [I(167,12)] = {64,0}, + [I(168,12)] = {64,0}, + [I(169,12)] = {64,0}, + [I(170,12)] = {64,0}, + [I(171,12)] = {64,0}, + [I(172,12)] = {64,0}, + [I(173,12)] = {64,0}, + [I(174,12)] = {64,0}, + [I(175,12)] = {64,0}, + [I(176,12)] = {64,0}, + [I(177,12)] = {64,0}, + [I(178,12)] = {64,0}, + [I(179,12)] = {64,0}, + [I(180,12)] = {64,0}, + [I(181,12)] = {64,0}, + [I(182,12)] = {64,0}, + [I(183,12)] = {64,0}, + [I(184,12)] = {64,0}, + [I(185,12)] = {64,0}, + [I(186,12)] = {64,0}, + [I(187,12)] = {64,0}, + [I(188,12)] = {64,0}, + [I(189,12)] = {64,0}, + [I(190,12)] = {64,0}, + [I(191,12)] = {64,0}, + [I(192,12)] = {64,0}, + [I(193,12)] = {64,0}, + [I(194,12)] = {64,0}, + [I(195,12)] = {64,0}, + [I(196,12)] = {64,0}, + [I(197,12)] = {64,0}, + [I(198,12)] = {64,0}, + [I(199,12)] = {64,0}, + [I(200,12)] = {64,0}, + [I(201,12)] = {64,0}, + [I(202,12)] = {64,0}, + [I(203,12)] = {64,0}, + [I(204,12)] = {64,0}, + [I(205,12)] = {64,0}, + [I(206,12)] = {64,0}, + [I(207,12)] = {64,0}, + [I(208,12)] = {64,0}, + [I(209,12)] = {64,0}, + [I(210,12)] = {64,0}, + [I(211,12)] = {64,0}, + [I(212,12)] = {64,0}, + [I(213,12)] = {64,0}, + [I(214,12)] = {64,0}, + [I(215,12)] = {64,0}, + [I(216,12)] = {64,0}, + [I(217,12)] = {64,0}, + [I(218,12)] = {64,0}, + [I(219,12)] = {64,0}, + [I(220,12)] = {64,0}, + [I(221,12)] = {64,0}, + [I(222,12)] = {64,0}, + [I(223,12)] = {64,0}, + [I(224,12)] = {64,0}, + [I(225,12)] = {64,0}, + [I(226,12)] = {64,0}, + [I(227,12)] = {64,0}, + [I(228,12)] = {64,0}, + [I(229,12)] = {64,0}, + [I(230,12)] = {64,0}, + [I(231,12)] = {64,0}, + [I(232,12)] = {64,0}, + [I(233,12)] = {64,0}, + [I(234,12)] = {64,0}, + [I(235,12)] = {64,0}, + [I(236,12)] = {64,0}, + [I(237,12)] = {64,0}, + [I(238,12)] = {64,0}, + [I(239,12)] = {64,0}, + [I(240,12)] = {64,0}, + [I(241,12)] = {64,0}, + [I(242,12)] = {64,0}, + [I(243,12)] = {64,0}, + [I(244,12)] = {64,0}, + [I(245,12)] = {64,0}, + [I(246,12)] = {64,0}, + [I(247,12)] = {64,0}, + [I(248,12)] = {64,0}, + [I(249,12)] = {64,0}, + [I(250,12)] = {64,0}, + [I(251,12)] = {64,0}, + [I(252,12)] = {64,0}, + [I(253,12)] = {64,0}, + [I(254,12)] = {64,0}, + [I(255,12)] = {64,0}, + [I(0,13)] = {64,0}, + [I(1,13)] = {64,0}, + [I(2,13)] = {64,0}, + [I(3,13)] = {64,0}, + [I(4,13)] = {64,0}, + [I(5,13)] = {64,0}, + [I(6,13)] = {64,0}, + [I(7,13)] = {64,0}, + [I(8,13)] = {64,0}, + [I(9,13)] = {64,0}, + [I(10,13)] = {64,0}, + [I(11,13)] = {64,0}, + [I(12,13)] = {64,0}, + [I(13,13)] = {64,0}, + [I(14,13)] = {64,0}, + [I(15,13)] = {64,0}, + [I(16,13)] = {64,0}, + [I(17,13)] = {64,0}, + [I(18,13)] = {64,0}, + [I(19,13)] = {64,0}, + [I(20,13)] = {64,0}, + [I(21,13)] = {64,0}, + [I(22,13)] = {64,0}, + [I(23,13)] = {64,0}, + [I(24,13)] = {64,0}, + [I(25,13)] = {64,0}, + [I(26,13)] = {64,0}, + [I(27,13)] = {64,0}, + [I(28,13)] = {64,0}, + [I(29,13)] = {64,0}, + [I(30,13)] = {64,0}, + [I(31,13)] = {64,0}, + [I(32,13)] = {64,0}, + [I(33,13)] = {64,0}, + [I(34,13)] = {64,0}, + [I(35,13)] = {64,0}, + [I(36,13)] = {64,0}, + [I(37,13)] = {64,0}, + [I(38,13)] = {64,0}, + [I(39,13)] = {64,0}, + [I(40,13)] = {64,0}, + [I(41,13)] = {64,0}, + [I(42,13)] = {64,0}, + [I(43,13)] = {64,0}, + [I(44,13)] = {64,0}, + [I(45,13)] = {64,0}, + [I(46,13)] = {64,0}, + [I(47,13)] = {64,0}, + [I(48,13)] = {64,0}, + [I(49,13)] = {64,0}, + [I(50,13)] = {64,0}, + [I(51,13)] = {64,0}, + [I(52,13)] = {64,0}, + [I(53,13)] = {64,0}, + [I(54,13)] = {64,0}, + [I(55,13)] = {64,0}, + [I(56,13)] = {64,0}, + [I(57,13)] = {64,0}, + [I(58,13)] = {64,0}, + [I(59,13)] = {64,0}, + [I(60,13)] = {64,0}, + [I(61,13)] = {64,0}, + [I(62,13)] = {64,0}, + [I(63,13)] = {64,0}, + [I(64,13)] = {64,0}, + [I(65,13)] = {64,0}, + [I(66,13)] = {64,0}, + [I(67,13)] = {64,0}, + [I(68,13)] = {64,0}, + [I(69,13)] = {64,0}, + [I(70,13)] = {64,0}, + [I(71,13)] = {64,0}, + [I(72,13)] = {64,0}, + [I(73,13)] = {64,0}, + [I(74,13)] = {64,0}, + [I(75,13)] = {64,0}, + [I(76,13)] = {64,0}, + [I(77,13)] = {64,0}, + [I(78,13)] = {64,0}, + [I(79,13)] = {64,0}, + [I(80,13)] = {64,0}, + [I(81,13)] = {64,0}, + [I(82,13)] = {64,0}, + [I(83,13)] = {64,0}, + [I(84,13)] = {64,0}, + [I(85,13)] = {64,0}, + [I(86,13)] = {64,0}, + [I(87,13)] = {64,0}, + [I(88,13)] = {64,0}, + [I(89,13)] = {64,0}, + [I(90,13)] = {64,0}, + [I(91,13)] = {64,0}, + [I(92,13)] = {64,0}, + [I(93,13)] = {64,0}, + [I(94,13)] = {64,0}, + [I(95,13)] = {64,0}, + [I(96,13)] = {64,0}, + [I(97,13)] = {64,0}, + [I(98,13)] = {64,0}, + [I(99,13)] = {64,0}, + [I(100,13)] = {64,0}, + [I(101,13)] = {64,0}, + [I(102,13)] = {64,0}, + [I(103,13)] = {64,0}, + [I(104,13)] = {64,0}, + [I(105,13)] = {64,0}, + [I(106,13)] = {64,0}, + [I(107,13)] = {64,0}, + [I(108,13)] = {64,0}, + [I(109,13)] = {64,0}, + [I(110,13)] = {64,0}, + [I(111,13)] = {64,0}, + [I(112,13)] = {64,0}, + [I(113,13)] = {64,0}, + [I(114,13)] = {64,0}, + [I(115,13)] = {64,0}, + [I(116,13)] = {64,0}, + [I(117,13)] = {64,0}, + [I(118,13)] = {64,0}, + [I(119,13)] = {64,0}, + [I(120,13)] = {64,0}, + [I(121,13)] = {64,0}, + [I(122,13)] = {64,0}, + [I(123,13)] = {64,0}, + [I(124,13)] = {64,0}, + [I(125,13)] = {64,0}, + [I(126,13)] = {64,0}, + [I(127,13)] = {64,0}, + [I(128,13)] = {64,0}, + [I(129,13)] = {64,0}, + [I(130,13)] = {64,0}, + [I(131,13)] = {64,0}, + [I(132,13)] = {64,0}, + [I(133,13)] = {64,0}, + [I(134,13)] = {64,0}, + [I(135,13)] = {64,0}, + [I(136,13)] = {64,0}, + [I(137,13)] = {64,0}, + [I(138,13)] = {64,0}, + [I(139,13)] = {64,0}, + [I(140,13)] = {64,0}, + [I(141,13)] = {64,0}, + [I(142,13)] = {64,0}, + [I(143,13)] = {64,0}, + [I(144,13)] = {64,0}, + [I(145,13)] = {64,0}, + [I(146,13)] = {64,0}, + [I(147,13)] = {64,0}, + [I(148,13)] = {64,0}, + [I(149,13)] = {64,0}, + [I(150,13)] = {64,0}, + [I(151,13)] = {64,0}, + [I(152,13)] = {64,0}, + [I(153,13)] = {64,0}, + [I(154,13)] = {64,0}, + [I(155,13)] = {64,0}, + [I(156,13)] = {64,0}, + [I(157,13)] = {64,0}, + [I(158,13)] = {64,0}, + [I(159,13)] = {64,0}, + [I(160,13)] = {64,0}, + [I(161,13)] = {64,0}, + [I(162,13)] = {64,0}, + [I(163,13)] = {64,0}, + [I(164,13)] = {64,0}, + [I(165,13)] = {64,0}, + [I(166,13)] = {64,0}, + [I(167,13)] = {64,0}, + [I(168,13)] = {64,0}, + [I(169,13)] = {64,0}, + [I(170,13)] = {64,0}, + [I(171,13)] = {64,0}, + [I(172,13)] = {64,0}, + [I(173,13)] = {64,0}, + [I(174,13)] = {64,0}, + [I(175,13)] = {64,0}, + [I(176,13)] = {64,0}, + [I(177,13)] = {64,0}, + [I(178,13)] = {64,0}, + [I(179,13)] = {64,0}, + [I(180,13)] = {64,0}, + [I(181,13)] = {64,0}, + [I(182,13)] = {64,0}, + [I(183,13)] = {64,0}, + [I(184,13)] = {64,0}, + [I(185,13)] = {64,0}, + [I(186,13)] = {64,0}, + [I(187,13)] = {64,0}, + [I(188,13)] = {64,0}, + [I(189,13)] = {64,0}, + [I(190,13)] = {64,0}, + [I(191,13)] = {64,0}, + [I(192,13)] = {64,0}, + [I(193,13)] = {64,0}, + [I(194,13)] = {64,0}, + [I(195,13)] = {64,0}, + [I(196,13)] = {64,0}, + [I(197,13)] = {64,0}, + [I(198,13)] = {64,0}, + [I(199,13)] = {64,0}, + [I(200,13)] = {64,0}, + [I(201,13)] = {64,0}, + [I(202,13)] = {64,0}, + [I(203,13)] = {64,0}, + [I(204,13)] = {64,0}, + [I(205,13)] = {64,0}, + [I(206,13)] = {64,0}, + [I(207,13)] = {64,0}, + [I(208,13)] = {64,0}, + [I(209,13)] = {64,0}, + [I(210,13)] = {64,0}, + [I(211,13)] = {64,0}, + [I(212,13)] = {64,0}, + [I(213,13)] = {64,0}, + [I(214,13)] = {64,0}, + [I(215,13)] = {64,0}, + [I(216,13)] = {64,0}, + [I(217,13)] = {64,0}, + [I(218,13)] = {64,0}, + [I(219,13)] = {64,0}, + [I(220,13)] = {64,0}, + [I(221,13)] = {64,0}, + [I(222,13)] = {64,0}, + [I(223,13)] = {64,0}, + [I(224,13)] = {64,0}, + [I(225,13)] = {64,0}, + [I(226,13)] = {64,0}, + [I(227,13)] = {64,0}, + [I(228,13)] = {64,0}, + [I(229,13)] = {64,0}, + [I(230,13)] = {64,0}, + [I(231,13)] = {64,0}, + [I(232,13)] = {64,0}, + [I(233,13)] = {64,0}, + [I(234,13)] = {64,0}, + [I(235,13)] = {64,0}, + [I(236,13)] = {64,0}, + [I(237,13)] = {64,0}, + [I(238,13)] = {64,0}, + [I(239,13)] = {64,0}, + [I(240,13)] = {64,0}, + [I(241,13)] = {64,0}, + [I(242,13)] = {64,0}, + [I(243,13)] = {64,0}, + [I(244,13)] = {64,0}, + [I(245,13)] = {64,0}, + [I(246,13)] = {64,0}, + [I(247,13)] = {64,0}, + [I(248,13)] = {64,0}, + [I(249,13)] = {64,0}, + [I(250,13)] = {64,0}, + [I(251,13)] = {64,0}, + [I(252,13)] = {64,0}, + [I(253,13)] = {64,0}, + [I(254,13)] = {64,0}, + [I(255,13)] = {64,0}, + [I(0,14)] = {64,0}, + [I(1,14)] = {64,0}, + [I(2,14)] = {64,0}, + [I(3,14)] = {64,0}, + [I(4,14)] = {64,0}, + [I(5,14)] = {64,0}, + [I(6,14)] = {64,0}, + [I(7,14)] = {64,0}, + [I(8,14)] = {64,0}, + [I(9,14)] = {64,0}, + [I(10,14)] = {64,0}, + [I(11,14)] = {64,0}, + [I(12,14)] = {64,0}, + [I(13,14)] = {64,0}, + [I(14,14)] = {64,0}, + [I(15,14)] = {64,0}, + [I(16,14)] = {64,0}, + [I(17,14)] = {64,0}, + [I(18,14)] = {64,0}, + [I(19,14)] = {64,0}, + [I(20,14)] = {64,0}, + [I(21,14)] = {64,0}, + [I(22,14)] = {64,0}, + [I(23,14)] = {64,0}, + [I(24,14)] = {64,0}, + [I(25,14)] = {64,0}, + [I(26,14)] = {64,0}, + [I(27,14)] = {64,0}, + [I(28,14)] = {64,0}, + [I(29,14)] = {64,0}, + [I(30,14)] = {64,0}, + [I(31,14)] = {64,0}, + [I(32,14)] = {64,0}, + [I(33,14)] = {64,0}, + [I(34,14)] = {64,0}, + [I(35,14)] = {64,0}, + [I(36,14)] = {64,0}, + [I(37,14)] = {64,0}, + [I(38,14)] = {64,0}, + [I(39,14)] = {64,0}, + [I(40,14)] = {64,0}, + [I(41,14)] = {64,0}, + [I(42,14)] = {64,0}, + [I(43,14)] = {64,0}, + [I(44,14)] = {64,0}, + [I(45,14)] = {64,0}, + [I(46,14)] = {64,0}, + [I(47,14)] = {64,0}, + [I(48,14)] = {64,0}, + [I(49,14)] = {64,0}, + [I(50,14)] = {64,0}, + [I(51,14)] = {64,0}, + [I(52,14)] = {64,0}, + [I(53,14)] = {64,0}, + [I(54,14)] = {64,0}, + [I(55,14)] = {64,0}, + [I(56,14)] = {64,0}, + [I(57,14)] = {64,0}, + [I(58,14)] = {64,0}, + [I(59,14)] = {64,0}, + [I(60,14)] = {64,0}, + [I(61,14)] = {64,0}, + [I(62,14)] = {64,0}, + [I(63,14)] = {64,0}, + [I(64,14)] = {64,0}, + [I(65,14)] = {64,0}, + [I(66,14)] = {64,0}, + [I(67,14)] = {64,0}, + [I(68,14)] = {64,0}, + [I(69,14)] = {64,0}, + [I(70,14)] = {64,0}, + [I(71,14)] = {64,0}, + [I(72,14)] = {64,0}, + [I(73,14)] = {64,0}, + [I(74,14)] = {64,0}, + [I(75,14)] = {64,0}, + [I(76,14)] = {64,0}, + [I(77,14)] = {64,0}, + [I(78,14)] = {64,0}, + [I(79,14)] = {64,0}, + [I(80,14)] = {64,0}, + [I(81,14)] = {64,0}, + [I(82,14)] = {64,0}, + [I(83,14)] = {64,0}, + [I(84,14)] = {64,0}, + [I(85,14)] = {64,0}, + [I(86,14)] = {64,0}, + [I(87,14)] = {64,0}, + [I(88,14)] = {64,0}, + [I(89,14)] = {64,0}, + [I(90,14)] = {64,0}, + [I(91,14)] = {64,0}, + [I(92,14)] = {64,0}, + [I(93,14)] = {64,0}, + [I(94,14)] = {64,0}, + [I(95,14)] = {64,0}, + [I(96,14)] = {64,0}, + [I(97,14)] = {64,0}, + [I(98,14)] = {64,0}, + [I(99,14)] = {64,0}, + [I(100,14)] = {64,0}, + [I(101,14)] = {64,0}, + [I(102,14)] = {64,0}, + [I(103,14)] = {64,0}, + [I(104,14)] = {64,0}, + [I(105,14)] = {64,0}, + [I(106,14)] = {64,0}, + [I(107,14)] = {64,0}, + [I(108,14)] = {64,0}, + [I(109,14)] = {64,0}, + [I(110,14)] = {64,0}, + [I(111,14)] = {64,0}, + [I(112,14)] = {64,0}, + [I(113,14)] = {64,0}, + [I(114,14)] = {64,0}, + [I(115,14)] = {64,0}, + [I(116,14)] = {64,0}, + [I(117,14)] = {64,0}, + [I(118,14)] = {64,0}, + [I(119,14)] = {64,0}, + [I(120,14)] = {64,0}, + [I(121,14)] = {64,0}, + [I(122,14)] = {64,0}, + [I(123,14)] = {64,0}, + [I(124,14)] = {64,0}, + [I(125,14)] = {64,0}, + [I(126,14)] = {64,0}, + [I(127,14)] = {64,0}, + [I(128,14)] = {64,0}, + [I(129,14)] = {64,0}, + [I(130,14)] = {64,0}, + [I(131,14)] = {64,0}, + [I(132,14)] = {64,0}, + [I(133,14)] = {64,0}, + [I(134,14)] = {64,0}, + [I(135,14)] = {64,0}, + [I(136,14)] = {64,0}, + [I(137,14)] = {64,0}, + [I(138,14)] = {64,0}, + [I(139,14)] = {64,0}, + [I(140,14)] = {64,0}, + [I(141,14)] = {64,0}, + [I(142,14)] = {64,0}, + [I(143,14)] = {64,0}, + [I(144,14)] = {64,0}, + [I(145,14)] = {64,0}, + [I(146,14)] = {64,0}, + [I(147,14)] = {64,0}, + [I(148,14)] = {64,0}, + [I(149,14)] = {64,0}, + [I(150,14)] = {64,0}, + [I(151,14)] = {64,0}, + [I(152,14)] = {64,0}, + [I(153,14)] = {64,0}, + [I(154,14)] = {64,0}, + [I(155,14)] = {64,0}, + [I(156,14)] = {64,0}, + [I(157,14)] = {64,0}, + [I(158,14)] = {64,0}, + [I(159,14)] = {64,0}, + [I(160,14)] = {64,0}, + [I(161,14)] = {64,0}, + [I(162,14)] = {64,0}, + [I(163,14)] = {64,0}, + [I(164,14)] = {64,0}, + [I(165,14)] = {64,0}, + [I(166,14)] = {64,0}, + [I(167,14)] = {64,0}, + [I(168,14)] = {64,0}, + [I(169,14)] = {64,0}, + [I(170,14)] = {64,0}, + [I(171,14)] = {64,0}, + [I(172,14)] = {64,0}, + [I(173,14)] = {64,0}, + [I(174,14)] = {64,0}, + [I(175,14)] = {64,0}, + [I(176,14)] = {64,0}, + [I(177,14)] = {64,0}, + [I(178,14)] = {64,0}, + [I(179,14)] = {64,0}, + [I(180,14)] = {64,0}, + [I(181,14)] = {64,0}, + [I(182,14)] = {64,0}, + [I(183,14)] = {64,0}, + [I(184,14)] = {64,0}, + [I(185,14)] = {64,0}, + [I(186,14)] = {64,0}, + [I(187,14)] = {64,0}, + [I(188,14)] = {64,0}, + [I(189,14)] = {64,0}, + [I(190,14)] = {64,0}, + [I(191,14)] = {64,0}, + [I(192,14)] = {64,0}, + [I(193,14)] = {64,0}, + [I(194,14)] = {64,0}, + [I(195,14)] = {64,0}, + [I(196,14)] = {64,0}, + [I(197,14)] = {64,0}, + [I(198,14)] = {64,0}, + [I(199,14)] = {64,0}, + [I(200,14)] = {64,0}, + [I(201,14)] = {64,0}, + [I(202,14)] = {64,0}, + [I(203,14)] = {64,0}, + [I(204,14)] = {64,0}, + [I(205,14)] = {64,0}, + [I(206,14)] = {64,0}, + [I(207,14)] = {64,0}, + [I(208,14)] = {64,0}, + [I(209,14)] = {64,0}, + [I(210,14)] = {64,0}, + [I(211,14)] = {64,0}, + [I(212,14)] = {64,0}, + [I(213,14)] = {64,0}, + [I(214,14)] = {64,0}, + [I(215,14)] = {64,0}, + [I(216,14)] = {64,0}, + [I(217,14)] = {64,0}, + [I(218,14)] = {64,0}, + [I(219,14)] = {64,0}, + [I(220,14)] = {64,0}, + [I(221,14)] = {64,0}, + [I(222,14)] = {64,0}, + [I(223,14)] = {64,0}, + [I(224,14)] = {64,0}, + [I(225,14)] = {64,0}, + [I(226,14)] = {64,0}, + [I(227,14)] = {64,0}, + [I(228,14)] = {64,0}, + [I(229,14)] = {64,0}, + [I(230,14)] = {64,0}, + [I(231,14)] = {64,0}, + [I(232,14)] = {64,0}, + [I(233,14)] = {64,0}, + [I(234,14)] = {64,0}, + [I(235,14)] = {64,0}, + [I(236,14)] = {64,0}, + [I(237,14)] = {64,0}, + [I(238,14)] = {64,0}, + [I(239,14)] = {64,0}, + [I(240,14)] = {64,0}, + [I(241,14)] = {64,0}, + [I(242,14)] = {64,0}, + [I(243,14)] = {64,0}, + [I(244,14)] = {64,0}, + [I(245,14)] = {64,0}, + [I(246,14)] = {64,0}, + [I(247,14)] = {64,0}, + [I(248,14)] = {64,0}, + [I(249,14)] = {64,0}, + [I(250,14)] = {64,0}, + [I(251,14)] = {64,0}, + [I(252,14)] = {64,0}, + [I(253,14)] = {64,0}, + [I(254,14)] = {64,0}, + [I(255,14)] = {64,0}, + [I(0,15)] = {64,0}, + [I(1,15)] = {64,0}, + [I(2,15)] = {64,0}, + [I(3,15)] = {64,0}, + [I(4,15)] = {64,0}, + [I(5,15)] = {64,0}, + [I(6,15)] = {64,0}, + [I(7,15)] = {64,0}, + [I(8,15)] = {64,0}, + [I(9,15)] = {64,0}, + [I(10,15)] = {64,0}, + [I(11,15)] = {64,0}, + [I(12,15)] = {64,0}, + [I(13,15)] = {64,0}, + [I(14,15)] = {64,0}, + [I(15,15)] = {64,0}, + [I(16,15)] = {64,0}, + [I(17,15)] = {64,0}, + [I(18,15)] = {64,0}, + [I(19,15)] = {64,0}, + [I(20,15)] = {64,0}, + [I(21,15)] = {64,0}, + [I(22,15)] = {64,0}, + [I(23,15)] = {64,0}, + [I(24,15)] = {64,0}, + [I(25,15)] = {64,0}, + [I(26,15)] = {64,0}, + [I(27,15)] = {64,0}, + [I(28,15)] = {64,0}, + [I(29,15)] = {64,0}, + [I(30,15)] = {64,0}, + [I(31,15)] = {64,0}, + [I(32,15)] = {64,0}, + [I(33,15)] = {64,0}, + [I(34,15)] = {64,0}, + [I(35,15)] = {64,0}, + [I(36,15)] = {64,0}, + [I(37,15)] = {64,0}, + [I(38,15)] = {64,0}, + [I(39,15)] = {64,0}, + [I(40,15)] = {64,0}, + [I(41,15)] = {64,0}, + [I(42,15)] = {64,0}, + [I(43,15)] = {64,0}, + [I(44,15)] = {64,0}, + [I(45,15)] = {64,0}, + [I(46,15)] = {64,0}, + [I(47,15)] = {64,0}, + [I(48,15)] = {64,0}, + [I(49,15)] = {64,0}, + [I(50,15)] = {64,0}, + [I(51,15)] = {64,0}, + [I(52,15)] = {64,0}, + [I(53,15)] = {64,0}, + [I(54,15)] = {64,0}, + [I(55,15)] = {64,0}, + [I(56,15)] = {64,0}, + [I(57,15)] = {64,0}, + [I(58,15)] = {64,0}, + [I(59,15)] = {64,0}, + [I(60,15)] = {64,0}, + [I(61,15)] = {64,0}, + [I(62,15)] = {64,0}, + [I(63,15)] = {64,0}, + [I(64,15)] = {64,0}, + [I(65,15)] = {64,0}, + [I(66,15)] = {64,0}, + [I(67,15)] = {64,0}, + [I(68,15)] = {64,0}, + [I(69,15)] = {64,0}, + [I(70,15)] = {64,0}, + [I(71,15)] = {64,0}, + [I(72,15)] = {64,0}, + [I(73,15)] = {64,0}, + [I(74,15)] = {64,0}, + [I(75,15)] = {64,0}, + [I(76,15)] = {64,0}, + [I(77,15)] = {64,0}, + [I(78,15)] = {64,0}, + [I(79,15)] = {64,0}, + [I(80,15)] = {64,0}, + [I(81,15)] = {64,0}, + [I(82,15)] = {64,0}, + [I(83,15)] = {64,0}, + [I(84,15)] = {64,0}, + [I(85,15)] = {64,0}, + [I(86,15)] = {64,0}, + [I(87,15)] = {64,0}, + [I(88,15)] = {64,0}, + [I(89,15)] = {64,0}, + [I(90,15)] = {64,0}, + [I(91,15)] = {64,0}, + [I(92,15)] = {64,0}, + [I(93,15)] = {64,0}, + [I(94,15)] = {64,0}, + [I(95,15)] = {64,0}, + [I(96,15)] = {64,0}, + [I(97,15)] = {64,0}, + [I(98,15)] = {64,0}, + [I(99,15)] = {64,0}, + [I(100,15)] = {64,0}, + [I(101,15)] = {64,0}, + [I(102,15)] = {64,0}, + [I(103,15)] = {64,0}, + [I(104,15)] = {64,0}, + [I(105,15)] = {64,0}, + [I(106,15)] = {64,0}, + [I(107,15)] = {64,0}, + [I(108,15)] = {64,0}, + [I(109,15)] = {64,0}, + [I(110,15)] = {64,0}, + [I(111,15)] = {64,0}, + [I(112,15)] = {64,0}, + [I(113,15)] = {64,0}, + [I(114,15)] = {64,0}, + [I(115,15)] = {64,0}, + [I(116,15)] = {64,0}, + [I(117,15)] = {64,0}, + [I(118,15)] = {64,0}, + [I(119,15)] = {64,0}, + [I(120,15)] = {64,0}, + [I(121,15)] = {64,0}, + [I(122,15)] = {64,0}, + [I(123,15)] = {64,0}, + [I(124,15)] = {64,0}, + [I(125,15)] = {64,0}, + [I(126,15)] = {64,0}, + [I(127,15)] = {64,0}, + [I(128,15)] = {64,0}, + [I(129,15)] = {64,0}, + [I(130,15)] = {64,0}, + [I(131,15)] = {64,0}, + [I(132,15)] = {64,0}, + [I(133,15)] = {64,0}, + [I(134,15)] = {64,0}, + [I(135,15)] = {64,0}, + [I(136,15)] = {64,0}, + [I(137,15)] = {64,0}, + [I(138,15)] = {64,0}, + [I(139,15)] = {64,0}, + [I(140,15)] = {64,0}, + [I(141,15)] = {64,0}, + [I(142,15)] = {64,0}, + [I(143,15)] = {64,0}, + [I(144,15)] = {64,0}, + [I(145,15)] = {64,0}, + [I(146,15)] = {64,0}, + [I(147,15)] = {64,0}, + [I(148,15)] = {64,0}, + [I(149,15)] = {64,0}, + [I(150,15)] = {64,0}, + [I(151,15)] = {64,0}, + [I(152,15)] = {64,0}, + [I(153,15)] = {64,0}, + [I(154,15)] = {64,0}, + [I(155,15)] = {64,0}, + [I(156,15)] = {64,0}, + [I(157,15)] = {64,0}, + [I(158,15)] = {64,0}, + [I(159,15)] = {64,0}, + [I(160,15)] = {64,0}, + [I(161,15)] = {64,0}, + [I(162,15)] = {64,0}, + [I(163,15)] = {64,0}, + [I(164,15)] = {64,0}, + [I(165,15)] = {64,0}, + [I(166,15)] = {64,0}, + [I(167,15)] = {64,0}, + [I(168,15)] = {64,0}, + [I(169,15)] = {64,0}, + [I(170,15)] = {64,0}, + [I(171,15)] = {64,0}, + [I(172,15)] = {64,0}, + [I(173,15)] = {64,0}, + [I(174,15)] = {64,0}, + [I(175,15)] = {64,0}, + [I(176,15)] = {64,0}, + [I(177,15)] = {64,0}, + [I(178,15)] = {64,0}, + [I(179,15)] = {64,0}, + [I(180,15)] = {64,0}, + [I(181,15)] = {64,0}, + [I(182,15)] = {64,0}, + [I(183,15)] = {64,0}, + [I(184,15)] = {64,0}, + [I(185,15)] = {64,0}, + [I(186,15)] = {64,0}, + [I(187,15)] = {64,0}, + [I(188,15)] = {64,0}, + [I(189,15)] = {64,0}, + [I(190,15)] = {64,0}, + [I(191,15)] = {64,0}, + [I(192,15)] = {64,0}, + [I(193,15)] = {64,0}, + [I(194,15)] = {64,0}, + [I(195,15)] = {64,0}, + [I(196,15)] = {64,0}, + [I(197,15)] = {64,0}, + [I(198,15)] = {64,0}, + [I(199,15)] = {64,0}, + [I(200,15)] = {64,0}, + [I(201,15)] = {64,0}, + [I(202,15)] = {64,0}, + [I(203,15)] = {64,0}, + [I(204,15)] = {64,0}, + [I(205,15)] = {64,0}, + [I(206,15)] = {64,0}, + [I(207,15)] = {64,0}, + [I(208,15)] = {64,0}, + [I(209,15)] = {64,0}, + [I(210,15)] = {64,0}, + [I(211,15)] = {64,0}, + [I(212,15)] = {64,0}, + [I(213,15)] = {64,0}, + [I(214,15)] = {64,0}, + [I(215,15)] = {64,0}, + [I(216,15)] = {64,0}, + [I(217,15)] = {64,0}, + [I(218,15)] = {64,0}, + [I(219,15)] = {64,0}, + [I(220,15)] = {64,0}, + [I(221,15)] = {64,0}, + [I(222,15)] = {64,0}, + [I(223,15)] = {64,0}, + [I(224,15)] = {64,0}, + [I(225,15)] = {64,0}, + [I(226,15)] = {64,0}, + [I(227,15)] = {64,0}, + [I(228,15)] = {64,0}, + [I(229,15)] = {64,0}, + [I(230,15)] = {64,0}, + [I(231,15)] = {64,0}, + [I(232,15)] = {64,0}, + [I(233,15)] = {64,0}, + [I(234,15)] = {64,0}, + [I(235,15)] = {64,0}, + [I(236,15)] = {64,0}, + [I(237,15)] = {64,0}, + [I(238,15)] = {64,0}, + [I(239,15)] = {64,0}, + [I(240,15)] = {64,0}, + [I(241,15)] = {64,0}, + [I(242,15)] = {64,0}, + [I(243,15)] = {64,0}, + [I(244,15)] = {64,0}, + [I(245,15)] = {64,0}, + [I(246,15)] = {64,0}, + [I(247,15)] = {64,0}, + [I(248,15)] = {64,0}, + [I(249,15)] = {64,0}, + [I(250,15)] = {64,0}, + [I(251,15)] = {64,0}, + [I(252,15)] = {64,0}, + [I(253,15)] = {64,0}, + [I(254,15)] = {64,0}, + [I(255,15)] = {64,0}, + [I(0,16)] = {64,0}, + [I(1,16)] = {64,0}, + [I(2,16)] = {64,0}, + [I(3,16)] = {64,0}, + [I(4,16)] = {64,0}, + [I(5,16)] = {64,0}, + [I(6,16)] = {64,0}, + [I(7,16)] = {64,0}, + [I(8,16)] = {64,0}, + [I(9,16)] = {64,0}, + [I(10,16)] = {64,0}, + [I(11,16)] = {64,0}, + [I(12,16)] = {64,0}, + [I(13,16)] = {64,0}, + [I(14,16)] = {64,0}, + [I(15,16)] = {64,0}, + [I(16,16)] = {64,0}, + [I(17,16)] = {64,0}, + [I(18,16)] = {64,0}, + [I(19,16)] = {64,0}, + [I(20,16)] = {64,0}, + [I(21,16)] = {64,0}, + [I(22,16)] = {64,0}, + [I(23,16)] = {64,0}, + [I(24,16)] = {64,0}, + [I(25,16)] = {64,0}, + [I(26,16)] = {64,0}, + [I(27,16)] = {64,0}, + [I(28,16)] = {64,0}, + [I(29,16)] = {64,0}, + [I(30,16)] = {64,0}, + [I(31,16)] = {64,0}, + [I(32,16)] = {64,0}, + [I(33,16)] = {64,0}, + [I(34,16)] = {64,0}, + [I(35,16)] = {64,0}, + [I(36,16)] = {64,0}, + [I(37,16)] = {64,0}, + [I(38,16)] = {64,0}, + [I(39,16)] = {64,0}, + [I(40,16)] = {64,0}, + [I(41,16)] = {64,0}, + [I(42,16)] = {64,0}, + [I(43,16)] = {64,0}, + [I(44,16)] = {64,0}, + [I(45,16)] = {64,0}, + [I(46,16)] = {64,0}, + [I(47,16)] = {64,0}, + [I(48,16)] = {64,0}, + [I(49,16)] = {64,0}, + [I(50,16)] = {64,0}, + [I(51,16)] = {64,0}, + [I(52,16)] = {64,0}, + [I(53,16)] = {64,0}, + [I(54,16)] = {64,0}, + [I(55,16)] = {64,0}, + [I(56,16)] = {64,0}, + [I(57,16)] = {64,0}, + [I(58,16)] = {64,0}, + [I(59,16)] = {64,0}, + [I(60,16)] = {64,0}, + [I(61,16)] = {64,0}, + [I(62,16)] = {64,0}, + [I(63,16)] = {64,0}, + [I(64,16)] = {64,0}, + [I(65,16)] = {64,0}, + [I(66,16)] = {64,0}, + [I(67,16)] = {64,0}, + [I(68,16)] = {64,0}, + [I(69,16)] = {64,0}, + [I(70,16)] = {64,0}, + [I(71,16)] = {64,0}, + [I(72,16)] = {64,0}, + [I(73,16)] = {64,0}, + [I(74,16)] = {64,0}, + [I(75,16)] = {64,0}, + [I(76,16)] = {64,0}, + [I(77,16)] = {64,0}, + [I(78,16)] = {64,0}, + [I(79,16)] = {64,0}, + [I(80,16)] = {64,0}, + [I(81,16)] = {64,0}, + [I(82,16)] = {64,0}, + [I(83,16)] = {64,0}, + [I(84,16)] = {64,0}, + [I(85,16)] = {64,0}, + [I(86,16)] = {64,0}, + [I(87,16)] = {64,0}, + [I(88,16)] = {64,0}, + [I(89,16)] = {64,0}, + [I(90,16)] = {64,0}, + [I(91,16)] = {64,0}, + [I(92,16)] = {64,0}, + [I(93,16)] = {64,0}, + [I(94,16)] = {64,0}, + [I(95,16)] = {64,0}, + [I(96,16)] = {64,0}, + [I(97,16)] = {64,0}, + [I(98,16)] = {64,0}, + [I(99,16)] = {64,0}, + [I(100,16)] = {64,0}, + [I(101,16)] = {64,0}, + [I(102,16)] = {64,0}, + [I(103,16)] = {64,0}, + [I(104,16)] = {64,0}, + [I(105,16)] = {64,0}, + [I(106,16)] = {64,0}, + [I(107,16)] = {64,0}, + [I(108,16)] = {64,0}, + [I(109,16)] = {64,0}, + [I(110,16)] = {64,0}, + [I(111,16)] = {64,0}, + [I(112,16)] = {64,0}, + [I(113,16)] = {64,0}, + [I(114,16)] = {64,0}, + [I(115,16)] = {64,0}, + [I(116,16)] = {64,0}, + [I(117,16)] = {64,0}, + [I(118,16)] = {64,0}, + [I(119,16)] = {64,0}, + [I(120,16)] = {64,0}, + [I(121,16)] = {64,0}, + [I(122,16)] = {64,0}, + [I(123,16)] = {64,0}, + [I(124,16)] = {64,0}, + [I(125,16)] = {64,0}, + [I(126,16)] = {64,0}, + [I(127,16)] = {64,0}, + [I(128,16)] = {64,0}, + [I(129,16)] = {64,0}, + [I(130,16)] = {64,0}, + [I(131,16)] = {64,0}, + [I(132,16)] = {64,0}, + [I(133,16)] = {64,0}, + [I(134,16)] = {64,0}, + [I(135,16)] = {64,0}, + [I(136,16)] = {64,0}, + [I(137,16)] = {64,0}, + [I(138,16)] = {64,0}, + [I(139,16)] = {64,0}, + [I(140,16)] = {64,0}, + [I(141,16)] = {64,0}, + [I(142,16)] = {64,0}, + [I(143,16)] = {64,0}, + [I(144,16)] = {64,0}, + [I(145,16)] = {64,0}, + [I(146,16)] = {64,0}, + [I(147,16)] = {64,0}, + [I(148,16)] = {64,0}, + [I(149,16)] = {64,0}, + [I(150,16)] = {64,0}, + [I(151,16)] = {64,0}, + [I(152,16)] = {64,0}, + [I(153,16)] = {64,0}, + [I(154,16)] = {64,0}, + [I(155,16)] = {64,0}, + [I(156,16)] = {64,0}, + [I(157,16)] = {64,0}, + [I(158,16)] = {64,0}, + [I(159,16)] = {64,0}, + [I(160,16)] = {64,0}, + [I(161,16)] = {64,0}, + [I(162,16)] = {64,0}, + [I(163,16)] = {64,0}, + [I(164,16)] = {64,0}, + [I(165,16)] = {64,0}, + [I(166,16)] = {64,0}, + [I(167,16)] = {64,0}, + [I(168,16)] = {64,0}, + [I(169,16)] = {64,0}, + [I(170,16)] = {64,0}, + [I(171,16)] = {64,0}, + [I(172,16)] = {64,0}, + [I(173,16)] = {64,0}, + [I(174,16)] = {64,0}, + [I(175,16)] = {64,0}, + [I(176,16)] = {64,0}, + [I(177,16)] = {64,0}, + [I(178,16)] = {64,0}, + [I(179,16)] = {64,0}, + [I(180,16)] = {64,0}, + [I(181,16)] = {64,0}, + [I(182,16)] = {64,0}, + [I(183,16)] = {64,0}, + [I(184,16)] = {64,0}, + [I(185,16)] = {64,0}, + [I(186,16)] = {64,0}, + [I(187,16)] = {64,0}, + [I(188,16)] = {64,0}, + [I(189,16)] = {64,0}, + [I(190,16)] = {64,0}, + [I(191,16)] = {64,0}, + [I(192,16)] = {64,0}, + [I(193,16)] = {64,0}, + [I(194,16)] = {64,0}, + [I(195,16)] = {64,0}, + [I(196,16)] = {64,0}, + [I(197,16)] = {64,0}, + [I(198,16)] = {64,0}, + [I(199,16)] = {64,0}, + [I(200,16)] = {64,0}, + [I(201,16)] = {64,0}, + [I(202,16)] = {64,0}, + [I(203,16)] = {64,0}, + [I(204,16)] = {64,0}, + [I(205,16)] = {64,0}, + [I(206,16)] = {64,0}, + [I(207,16)] = {64,0}, + [I(208,16)] = {64,0}, + [I(209,16)] = {64,0}, + [I(210,16)] = {64,0}, + [I(211,16)] = {64,0}, + [I(212,16)] = {64,0}, + [I(213,16)] = {64,0}, + [I(214,16)] = {64,0}, + [I(215,16)] = {64,0}, + [I(216,16)] = {64,0}, + [I(217,16)] = {64,0}, + [I(218,16)] = {64,0}, + [I(219,16)] = {64,0}, + [I(220,16)] = {64,0}, + [I(221,16)] = {64,0}, + [I(222,16)] = {64,0}, + [I(223,16)] = {64,0}, + [I(224,16)] = {64,0}, + [I(225,16)] = {64,0}, + [I(226,16)] = {64,0}, + [I(227,16)] = {64,0}, + [I(228,16)] = {64,0}, + [I(229,16)] = {64,0}, + [I(230,16)] = {64,0}, + [I(231,16)] = {64,0}, + [I(232,16)] = {64,0}, + [I(233,16)] = {64,0}, + [I(234,16)] = {64,0}, + [I(235,16)] = {64,0}, + [I(236,16)] = {64,0}, + [I(237,16)] = {64,0}, + [I(238,16)] = {64,0}, + [I(239,16)] = {64,0}, + [I(240,16)] = {64,0}, + [I(241,16)] = {64,0}, + [I(242,16)] = {64,0}, + [I(243,16)] = {64,0}, + [I(244,16)] = {64,0}, + [I(245,16)] = {64,0}, + [I(246,16)] = {64,0}, + [I(247,16)] = {64,0}, + [I(248,16)] = {64,0}, + [I(249,16)] = {64,0}, + [I(250,16)] = {64,0}, + [I(251,16)] = {64,0}, + [I(252,16)] = {64,0}, + [I(253,16)] = {64,0}, + [I(254,16)] = {64,0}, + [I(255,16)] = {64,0}, + [I(0,17)] = {64,0}, + [I(1,17)] = {64,0}, + [I(2,17)] = {64,0}, + [I(3,17)] = {64,0}, + [I(4,17)] = {64,0}, + [I(5,17)] = {64,0}, + [I(6,17)] = {64,0}, + [I(7,17)] = {64,0}, + [I(8,17)] = {64,0}, + [I(9,17)] = {64,0}, + [I(10,17)] = {64,0}, + [I(11,17)] = {64,0}, + [I(12,17)] = {64,0}, + [I(13,17)] = {64,0}, + [I(14,17)] = {64,0}, + [I(15,17)] = {64,0}, + [I(16,17)] = {64,0}, + [I(17,17)] = {64,0}, + [I(18,17)] = {64,0}, + [I(19,17)] = {64,0}, + [I(20,17)] = {64,0}, + [I(21,17)] = {64,0}, + [I(22,17)] = {64,0}, + [I(23,17)] = {64,0}, + [I(24,17)] = {64,0}, + [I(25,17)] = {64,0}, + [I(26,17)] = {64,0}, + [I(27,17)] = {64,0}, + [I(28,17)] = {64,0}, + [I(29,17)] = {64,0}, + [I(30,17)] = {64,0}, + [I(31,17)] = {64,0}, + [I(32,17)] = {64,0}, + [I(33,17)] = {64,0}, + [I(34,17)] = {64,0}, + [I(35,17)] = {64,0}, + [I(36,17)] = {64,0}, + [I(37,17)] = {64,0}, + [I(38,17)] = {64,0}, + [I(39,17)] = {64,0}, + [I(40,17)] = {64,0}, + [I(41,17)] = {64,0}, + [I(42,17)] = {64,0}, + [I(43,17)] = {64,0}, + [I(44,17)] = {64,0}, + [I(45,17)] = {64,0}, + [I(46,17)] = {64,0}, + [I(47,17)] = {64,0}, + [I(48,17)] = {64,0}, + [I(49,17)] = {64,0}, + [I(50,17)] = {64,0}, + [I(51,17)] = {64,0}, + [I(52,17)] = {64,0}, + [I(53,17)] = {64,0}, + [I(54,17)] = {64,0}, + [I(55,17)] = {64,0}, + [I(56,17)] = {64,0}, + [I(57,17)] = {64,0}, + [I(58,17)] = {64,0}, + [I(59,17)] = {64,0}, + [I(60,17)] = {64,0}, + [I(61,17)] = {64,0}, + [I(62,17)] = {64,0}, + [I(63,17)] = {64,0}, + [I(64,17)] = {64,0}, + [I(65,17)] = {64,0}, + [I(66,17)] = {64,0}, + [I(67,17)] = {64,0}, + [I(68,17)] = {64,0}, + [I(69,17)] = {64,0}, + [I(70,17)] = {64,0}, + [I(71,17)] = {64,0}, + [I(72,17)] = {64,0}, + [I(73,17)] = {64,0}, + [I(74,17)] = {64,0}, + [I(75,17)] = {64,0}, + [I(76,17)] = {64,0}, + [I(77,17)] = {64,0}, + [I(78,17)] = {64,0}, + [I(79,17)] = {64,0}, + [I(80,17)] = {64,0}, + [I(81,17)] = {64,0}, + [I(82,17)] = {64,0}, + [I(83,17)] = {64,0}, + [I(84,17)] = {64,0}, + [I(85,17)] = {64,0}, + [I(86,17)] = {64,0}, + [I(87,17)] = {64,0}, + [I(88,17)] = {64,0}, + [I(89,17)] = {64,0}, + [I(90,17)] = {64,0}, + [I(91,17)] = {64,0}, + [I(92,17)] = {64,0}, + [I(93,17)] = {64,0}, + [I(94,17)] = {64,0}, + [I(95,17)] = {64,0}, + [I(96,17)] = {64,0}, + [I(97,17)] = {64,0}, + [I(98,17)] = {64,0}, + [I(99,17)] = {64,0}, + [I(100,17)] = {64,0}, + [I(101,17)] = {64,0}, + [I(102,17)] = {64,0}, + [I(103,17)] = {64,0}, + [I(104,17)] = {64,0}, + [I(105,17)] = {64,0}, + [I(106,17)] = {64,0}, + [I(107,17)] = {64,0}, + [I(108,17)] = {64,0}, + [I(109,17)] = {64,0}, + [I(110,17)] = {64,0}, + [I(111,17)] = {64,0}, + [I(112,17)] = {64,0}, + [I(113,17)] = {64,0}, + [I(114,17)] = {64,0}, + [I(115,17)] = {64,0}, + [I(116,17)] = {64,0}, + [I(117,17)] = {64,0}, + [I(118,17)] = {64,0}, + [I(119,17)] = {64,0}, + [I(120,17)] = {64,0}, + [I(121,17)] = {64,0}, + [I(122,17)] = {64,0}, + [I(123,17)] = {64,0}, + [I(124,17)] = {64,0}, + [I(125,17)] = {64,0}, + [I(126,17)] = {64,0}, + [I(127,17)] = {64,0}, + [I(128,17)] = {64,0}, + [I(129,17)] = {64,0}, + [I(130,17)] = {64,0}, + [I(131,17)] = {64,0}, + [I(132,17)] = {64,0}, + [I(133,17)] = {64,0}, + [I(134,17)] = {64,0}, + [I(135,17)] = {64,0}, + [I(136,17)] = {64,0}, + [I(137,17)] = {64,0}, + [I(138,17)] = {64,0}, + [I(139,17)] = {64,0}, + [I(140,17)] = {64,0}, + [I(141,17)] = {64,0}, + [I(142,17)] = {64,0}, + [I(143,17)] = {64,0}, + [I(144,17)] = {64,0}, + [I(145,17)] = {64,0}, + [I(146,17)] = {64,0}, + [I(147,17)] = {64,0}, + [I(148,17)] = {64,0}, + [I(149,17)] = {64,0}, + [I(150,17)] = {64,0}, + [I(151,17)] = {64,0}, + [I(152,17)] = {64,0}, + [I(153,17)] = {64,0}, + [I(154,17)] = {64,0}, + [I(155,17)] = {64,0}, + [I(156,17)] = {64,0}, + [I(157,17)] = {64,0}, + [I(158,17)] = {64,0}, + [I(159,17)] = {64,0}, + [I(160,17)] = {64,0}, + [I(161,17)] = {64,0}, + [I(162,17)] = {64,0}, + [I(163,17)] = {64,0}, + [I(164,17)] = {64,0}, + [I(165,17)] = {64,0}, + [I(166,17)] = {64,0}, + [I(167,17)] = {64,0}, + [I(168,17)] = {64,0}, + [I(169,17)] = {64,0}, + [I(170,17)] = {64,0}, + [I(171,17)] = {64,0}, + [I(172,17)] = {64,0}, + [I(173,17)] = {64,0}, + [I(174,17)] = {64,0}, + [I(175,17)] = {64,0}, + [I(176,17)] = {64,0}, + [I(177,17)] = {64,0}, + [I(178,17)] = {64,0}, + [I(179,17)] = {64,0}, + [I(180,17)] = {64,0}, + [I(181,17)] = {64,0}, + [I(182,17)] = {64,0}, + [I(183,17)] = {64,0}, + [I(184,17)] = {64,0}, + [I(185,17)] = {64,0}, + [I(186,17)] = {64,0}, + [I(187,17)] = {64,0}, + [I(188,17)] = {64,0}, + [I(189,17)] = {64,0}, + [I(190,17)] = {64,0}, + [I(191,17)] = {64,0}, + [I(192,17)] = {64,0}, + [I(193,17)] = {64,0}, + [I(194,17)] = {64,0}, + [I(195,17)] = {64,0}, + [I(196,17)] = {64,0}, + [I(197,17)] = {64,0}, + [I(198,17)] = {64,0}, + [I(199,17)] = {64,0}, + [I(200,17)] = {64,0}, + [I(201,17)] = {64,0}, + [I(202,17)] = {64,0}, + [I(203,17)] = {64,0}, + [I(204,17)] = {64,0}, + [I(205,17)] = {64,0}, + [I(206,17)] = {64,0}, + [I(207,17)] = {64,0}, + [I(208,17)] = {64,0}, + [I(209,17)] = {64,0}, + [I(210,17)] = {64,0}, + [I(211,17)] = {64,0}, + [I(212,17)] = {64,0}, + [I(213,17)] = {64,0}, + [I(214,17)] = {64,0}, + [I(215,17)] = {64,0}, + [I(216,17)] = {64,0}, + [I(217,17)] = {64,0}, + [I(218,17)] = {64,0}, + [I(219,17)] = {64,0}, + [I(220,17)] = {64,0}, + [I(221,17)] = {64,0}, + [I(222,17)] = {64,0}, + [I(223,17)] = {64,0}, + [I(224,17)] = {64,0}, + [I(225,17)] = {64,0}, + [I(226,17)] = {64,0}, + [I(227,17)] = {64,0}, + [I(228,17)] = {64,0}, + [I(229,17)] = {64,0}, + [I(230,17)] = {64,0}, + [I(231,17)] = {64,0}, + [I(232,17)] = {64,0}, + [I(233,17)] = {64,0}, + [I(234,17)] = {64,0}, + [I(235,17)] = {64,0}, + [I(236,17)] = {64,0}, + [I(237,17)] = {64,0}, + [I(238,17)] = {64,0}, + [I(239,17)] = {64,0}, + [I(240,17)] = {64,0}, + [I(241,17)] = {64,0}, + [I(242,17)] = {64,0}, + [I(243,17)] = {64,0}, + [I(244,17)] = {64,0}, + [I(245,17)] = {64,0}, + [I(246,17)] = {64,0}, + [I(247,17)] = {64,0}, + [I(248,17)] = {64,0}, + [I(249,17)] = {64,0}, + [I(250,17)] = {64,0}, + [I(251,17)] = {64,0}, + [I(252,17)] = {64,0}, + [I(253,17)] = {64,0}, + [I(254,17)] = {64,0}, + [I(255,17)] = {64,0}, + [I(0,18)] = {64,0}, + [I(1,18)] = {64,0}, + [I(2,18)] = {64,0}, + [I(3,18)] = {64,0}, + [I(4,18)] = {64,0}, + [I(5,18)] = {64,0}, + [I(6,18)] = {64,0}, + [I(7,18)] = {64,0}, + [I(8,18)] = {64,0}, + [I(9,18)] = {64,0}, + [I(10,18)] = {64,0}, + [I(11,18)] = {64,0}, + [I(12,18)] = {64,0}, + [I(13,18)] = {64,0}, + [I(14,18)] = {64,0}, + [I(15,18)] = {64,0}, + [I(16,18)] = {64,0}, + [I(17,18)] = {64,0}, + [I(18,18)] = {64,0}, + [I(19,18)] = {64,0}, + [I(20,18)] = {64,0}, + [I(21,18)] = {64,0}, + [I(22,18)] = {64,0}, + [I(23,18)] = {64,0}, + [I(24,18)] = {64,0}, + [I(25,18)] = {64,0}, + [I(26,18)] = {64,0}, + [I(27,18)] = {64,0}, + [I(28,18)] = {64,0}, + [I(29,18)] = {64,0}, + [I(30,18)] = {64,0}, + [I(31,18)] = {64,0}, + [I(32,18)] = {64,0}, + [I(33,18)] = {64,0}, + [I(34,18)] = {64,0}, + [I(35,18)] = {64,0}, + [I(36,18)] = {64,0}, + [I(37,18)] = {64,0}, + [I(38,18)] = {64,0}, + [I(39,18)] = {64,0}, + [I(40,18)] = {64,0}, + [I(41,18)] = {64,0}, + [I(42,18)] = {64,0}, + [I(43,18)] = {64,0}, + [I(44,18)] = {64,0}, + [I(45,18)] = {64,0}, + [I(46,18)] = {64,0}, + [I(47,18)] = {64,0}, + [I(48,18)] = {64,0}, + [I(49,18)] = {64,0}, + [I(50,18)] = {64,0}, + [I(51,18)] = {64,0}, + [I(52,18)] = {64,0}, + [I(53,18)] = {64,0}, + [I(54,18)] = {64,0}, + [I(55,18)] = {64,0}, + [I(56,18)] = {64,0}, + [I(57,18)] = {64,0}, + [I(58,18)] = {64,0}, + [I(59,18)] = {64,0}, + [I(60,18)] = {64,0}, + [I(61,18)] = {64,0}, + [I(62,18)] = {64,0}, + [I(63,18)] = {64,0}, + [I(64,18)] = {64,0}, + [I(65,18)] = {64,0}, + [I(66,18)] = {64,0}, + [I(67,18)] = {64,0}, + [I(68,18)] = {64,0}, + [I(69,18)] = {64,0}, + [I(70,18)] = {64,0}, + [I(71,18)] = {64,0}, + [I(72,18)] = {64,0}, + [I(73,18)] = {64,0}, + [I(74,18)] = {64,0}, + [I(75,18)] = {64,0}, + [I(76,18)] = {64,0}, + [I(77,18)] = {64,0}, + [I(78,18)] = {64,0}, + [I(79,18)] = {64,0}, + [I(80,18)] = {64,0}, + [I(81,18)] = {64,0}, + [I(82,18)] = {64,0}, + [I(83,18)] = {64,0}, + [I(84,18)] = {64,0}, + [I(85,18)] = {64,0}, + [I(86,18)] = {64,0}, + [I(87,18)] = {64,0}, + [I(88,18)] = {64,0}, + [I(89,18)] = {64,0}, + [I(90,18)] = {64,0}, + [I(91,18)] = {64,0}, + [I(92,18)] = {64,0}, + [I(93,18)] = {64,0}, + [I(94,18)] = {64,0}, + [I(95,18)] = {64,0}, + [I(96,18)] = {64,0}, + [I(97,18)] = {64,0}, + [I(98,18)] = {64,0}, + [I(99,18)] = {64,0}, + [I(100,18)] = {64,0}, + [I(101,18)] = {64,0}, + [I(102,18)] = {64,0}, + [I(103,18)] = {64,0}, + [I(104,18)] = {64,0}, + [I(105,18)] = {64,0}, + [I(106,18)] = {64,0}, + [I(107,18)] = {64,0}, + [I(108,18)] = {64,0}, + [I(109,18)] = {64,0}, + [I(110,18)] = {64,0}, + [I(111,18)] = {64,0}, + [I(112,18)] = {64,0}, + [I(113,18)] = {64,0}, + [I(114,18)] = {64,0}, + [I(115,18)] = {64,0}, + [I(116,18)] = {64,0}, + [I(117,18)] = {64,0}, + [I(118,18)] = {64,0}, + [I(119,18)] = {64,0}, + [I(120,18)] = {64,0}, + [I(121,18)] = {64,0}, + [I(122,18)] = {64,0}, + [I(123,18)] = {64,0}, + [I(124,18)] = {64,0}, + [I(125,18)] = {64,0}, + [I(126,18)] = {64,0}, + [I(127,18)] = {64,0}, + [I(128,18)] = {64,0}, + [I(129,18)] = {64,0}, + [I(130,18)] = {64,0}, + [I(131,18)] = {64,0}, + [I(132,18)] = {64,0}, + [I(133,18)] = {64,0}, + [I(134,18)] = {64,0}, + [I(135,18)] = {64,0}, + [I(136,18)] = {64,0}, + [I(137,18)] = {64,0}, + [I(138,18)] = {64,0}, + [I(139,18)] = {64,0}, + [I(140,18)] = {64,0}, + [I(141,18)] = {64,0}, + [I(142,18)] = {64,0}, + [I(143,18)] = {64,0}, + [I(144,18)] = {64,0}, + [I(145,18)] = {64,0}, + [I(146,18)] = {64,0}, + [I(147,18)] = {64,0}, + [I(148,18)] = {64,0}, + [I(149,18)] = {64,0}, + [I(150,18)] = {64,0}, + [I(151,18)] = {64,0}, + [I(152,18)] = {64,0}, + [I(153,18)] = {64,0}, + [I(154,18)] = {64,0}, + [I(155,18)] = {64,0}, + [I(156,18)] = {64,0}, + [I(157,18)] = {64,0}, + [I(158,18)] = {64,0}, + [I(159,18)] = {64,0}, + [I(160,18)] = {64,0}, + [I(161,18)] = {64,0}, + [I(162,18)] = {64,0}, + [I(163,18)] = {64,0}, + [I(164,18)] = {64,0}, + [I(165,18)] = {64,0}, + [I(166,18)] = {64,0}, + [I(167,18)] = {64,0}, + [I(168,18)] = {64,0}, + [I(169,18)] = {64,0}, + [I(170,18)] = {64,0}, + [I(171,18)] = {64,0}, + [I(172,18)] = {64,0}, + [I(173,18)] = {64,0}, + [I(174,18)] = {64,0}, + [I(175,18)] = {64,0}, + [I(176,18)] = {64,0}, + [I(177,18)] = {64,0}, + [I(178,18)] = {64,0}, + [I(179,18)] = {64,0}, + [I(180,18)] = {64,0}, + [I(181,18)] = {64,0}, + [I(182,18)] = {64,0}, + [I(183,18)] = {64,0}, + [I(184,18)] = {64,0}, + [I(185,18)] = {64,0}, + [I(186,18)] = {64,0}, + [I(187,18)] = {64,0}, + [I(188,18)] = {64,0}, + [I(189,18)] = {64,0}, + [I(190,18)] = {64,0}, + [I(191,18)] = {64,0}, + [I(192,18)] = {64,0}, + [I(193,18)] = {64,0}, + [I(194,18)] = {64,0}, + [I(195,18)] = {64,0}, + [I(196,18)] = {64,0}, + [I(197,18)] = {64,0}, + [I(198,18)] = {64,0}, + [I(199,18)] = {64,0}, + [I(200,18)] = {64,0}, + [I(201,18)] = {64,0}, + [I(202,18)] = {64,0}, + [I(203,18)] = {64,0}, + [I(204,18)] = {64,0}, + [I(205,18)] = {64,0}, + [I(206,18)] = {64,0}, + [I(207,18)] = {64,0}, + [I(208,18)] = {64,0}, + [I(209,18)] = {64,0}, + [I(210,18)] = {64,0}, + [I(211,18)] = {64,0}, + [I(212,18)] = {64,0}, + [I(213,18)] = {64,0}, + [I(214,18)] = {64,0}, + [I(215,18)] = {64,0}, + [I(216,18)] = {64,0}, + [I(217,18)] = {64,0}, + [I(218,18)] = {64,0}, + [I(219,18)] = {64,0}, + [I(220,18)] = {64,0}, + [I(221,18)] = {64,0}, + [I(222,18)] = {64,0}, + [I(223,18)] = {64,0}, + [I(224,18)] = {64,0}, + [I(225,18)] = {64,0}, + [I(226,18)] = {64,0}, + [I(227,18)] = {64,0}, + [I(228,18)] = {64,0}, + [I(229,18)] = {64,0}, + [I(230,18)] = {64,0}, + [I(231,18)] = {64,0}, + [I(232,18)] = {64,0}, + [I(233,18)] = {64,0}, + [I(234,18)] = {64,0}, + [I(235,18)] = {64,0}, + [I(236,18)] = {64,0}, + [I(237,18)] = {64,0}, + [I(238,18)] = {64,0}, + [I(239,18)] = {64,0}, + [I(240,18)] = {64,0}, + [I(241,18)] = {64,0}, + [I(242,18)] = {64,0}, + [I(243,18)] = {64,0}, + [I(244,18)] = {64,0}, + [I(245,18)] = {64,0}, + [I(246,18)] = {64,0}, + [I(247,18)] = {64,0}, + [I(248,18)] = {64,0}, + [I(249,18)] = {64,0}, + [I(250,18)] = {64,0}, + [I(251,18)] = {64,0}, + [I(252,18)] = {64,0}, + [I(253,18)] = {64,0}, + [I(254,18)] = {64,0}, + [I(255,18)] = {64,0}, + [I(0,19)] = {64,0}, + [I(1,19)] = {64,0}, + [I(2,19)] = {64,0}, + [I(3,19)] = {64,0}, + [I(4,19)] = {64,0}, + [I(5,19)] = {64,0}, + [I(6,19)] = {64,0}, + [I(7,19)] = {64,0}, + [I(8,19)] = {64,0}, + [I(9,19)] = {64,0}, + [I(10,19)] = {64,0}, + [I(11,19)] = {64,0}, + [I(12,19)] = {64,0}, + [I(13,19)] = {64,0}, + [I(14,19)] = {64,0}, + [I(15,19)] = {64,0}, + [I(16,19)] = {64,0}, + [I(17,19)] = {64,0}, + [I(18,19)] = {64,0}, + [I(19,19)] = {64,0}, + [I(20,19)] = {64,0}, + [I(21,19)] = {64,0}, + [I(22,19)] = {64,0}, + [I(23,19)] = {64,0}, + [I(24,19)] = {64,0}, + [I(25,19)] = {64,0}, + [I(26,19)] = {64,0}, + [I(27,19)] = {64,0}, + [I(28,19)] = {64,0}, + [I(29,19)] = {64,0}, + [I(30,19)] = {64,0}, + [I(31,19)] = {64,0}, + [I(32,19)] = {64,0}, + [I(33,19)] = {64,0}, + [I(34,19)] = {64,0}, + [I(35,19)] = {64,0}, + [I(36,19)] = {64,0}, + [I(37,19)] = {64,0}, + [I(38,19)] = {64,0}, + [I(39,19)] = {64,0}, + [I(40,19)] = {64,0}, + [I(41,19)] = {64,0}, + [I(42,19)] = {64,0}, + [I(43,19)] = {64,0}, + [I(44,19)] = {64,0}, + [I(45,19)] = {64,0}, + [I(46,19)] = {64,0}, + [I(47,19)] = {64,0}, + [I(48,19)] = {64,0}, + [I(49,19)] = {64,0}, + [I(50,19)] = {64,0}, + [I(51,19)] = {64,0}, + [I(52,19)] = {64,0}, + [I(53,19)] = {64,0}, + [I(54,19)] = {64,0}, + [I(55,19)] = {64,0}, + [I(56,19)] = {64,0}, + [I(57,19)] = {64,0}, + [I(58,19)] = {64,0}, + [I(59,19)] = {64,0}, + [I(60,19)] = {64,0}, + [I(61,19)] = {64,0}, + [I(62,19)] = {64,0}, + [I(63,19)] = {64,0}, + [I(64,19)] = {64,0}, + [I(65,19)] = {64,0}, + [I(66,19)] = {64,0}, + [I(67,19)] = {64,0}, + [I(68,19)] = {64,0}, + [I(69,19)] = {64,0}, + [I(70,19)] = {64,0}, + [I(71,19)] = {64,0}, + [I(72,19)] = {64,0}, + [I(73,19)] = {64,0}, + [I(74,19)] = {64,0}, + [I(75,19)] = {64,0}, + [I(76,19)] = {64,0}, + [I(77,19)] = {64,0}, + [I(78,19)] = {64,0}, + [I(79,19)] = {64,0}, + [I(80,19)] = {64,0}, + [I(81,19)] = {64,0}, + [I(82,19)] = {64,0}, + [I(83,19)] = {64,0}, + [I(84,19)] = {64,0}, + [I(85,19)] = {64,0}, + [I(86,19)] = {64,0}, + [I(87,19)] = {64,0}, + [I(88,19)] = {64,0}, + [I(89,19)] = {64,0}, + [I(90,19)] = {64,0}, + [I(91,19)] = {64,0}, + [I(92,19)] = {64,0}, + [I(93,19)] = {64,0}, + [I(94,19)] = {64,0}, + [I(95,19)] = {64,0}, + [I(96,19)] = {64,0}, + [I(97,19)] = {64,0}, + [I(98,19)] = {64,0}, + [I(99,19)] = {64,0}, + [I(100,19)] = {64,0}, + [I(101,19)] = {64,0}, + [I(102,19)] = {64,0}, + [I(103,19)] = {64,0}, + [I(104,19)] = {64,0}, + [I(105,19)] = {64,0}, + [I(106,19)] = {64,0}, + [I(107,19)] = {64,0}, + [I(108,19)] = {64,0}, + [I(109,19)] = {64,0}, + [I(110,19)] = {64,0}, + [I(111,19)] = {64,0}, + [I(112,19)] = {64,0}, + [I(113,19)] = {64,0}, + [I(114,19)] = {64,0}, + [I(115,19)] = {64,0}, + [I(116,19)] = {64,0}, + [I(117,19)] = {64,0}, + [I(118,19)] = {64,0}, + [I(119,19)] = {64,0}, + [I(120,19)] = {64,0}, + [I(121,19)] = {64,0}, + [I(122,19)] = {64,0}, + [I(123,19)] = {64,0}, + [I(124,19)] = {64,0}, + [I(125,19)] = {64,0}, + [I(126,19)] = {64,0}, + [I(127,19)] = {64,0}, + [I(128,19)] = {64,0}, + [I(129,19)] = {64,0}, + [I(130,19)] = {64,0}, + [I(131,19)] = {64,0}, + [I(132,19)] = {64,0}, + [I(133,19)] = {64,0}, + [I(134,19)] = {64,0}, + [I(135,19)] = {64,0}, + [I(136,19)] = {64,0}, + [I(137,19)] = {64,0}, + [I(138,19)] = {64,0}, + [I(139,19)] = {64,0}, + [I(140,19)] = {64,0}, + [I(141,19)] = {64,0}, + [I(142,19)] = {64,0}, + [I(143,19)] = {64,0}, + [I(144,19)] = {64,0}, + [I(145,19)] = {64,0}, + [I(146,19)] = {64,0}, + [I(147,19)] = {64,0}, + [I(148,19)] = {64,0}, + [I(149,19)] = {64,0}, + [I(150,19)] = {64,0}, + [I(151,19)] = {64,0}, + [I(152,19)] = {64,0}, + [I(153,19)] = {64,0}, + [I(154,19)] = {64,0}, + [I(155,19)] = {64,0}, + [I(156,19)] = {64,0}, + [I(157,19)] = {64,0}, + [I(158,19)] = {64,0}, + [I(159,19)] = {64,0}, + [I(160,19)] = {64,0}, + [I(161,19)] = {64,0}, + [I(162,19)] = {64,0}, + [I(163,19)] = {64,0}, + [I(164,19)] = {64,0}, + [I(165,19)] = {64,0}, + [I(166,19)] = {64,0}, + [I(167,19)] = {64,0}, + [I(168,19)] = {64,0}, + [I(169,19)] = {64,0}, + [I(170,19)] = {64,0}, + [I(171,19)] = {64,0}, + [I(172,19)] = {64,0}, + [I(173,19)] = {64,0}, + [I(174,19)] = {64,0}, + [I(175,19)] = {64,0}, + [I(176,19)] = {64,0}, + [I(177,19)] = {64,0}, + [I(178,19)] = {64,0}, + [I(179,19)] = {64,0}, + [I(180,19)] = {64,0}, + [I(181,19)] = {64,0}, + [I(182,19)] = {64,0}, + [I(183,19)] = {64,0}, + [I(184,19)] = {64,0}, + [I(185,19)] = {64,0}, + [I(186,19)] = {64,0}, + [I(187,19)] = {64,0}, + [I(188,19)] = {64,0}, + [I(189,19)] = {64,0}, + [I(190,19)] = {64,0}, + [I(191,19)] = {64,0}, + [I(192,19)] = {64,0}, + [I(193,19)] = {64,0}, + [I(194,19)] = {64,0}, + [I(195,19)] = {64,0}, + [I(196,19)] = {64,0}, + [I(197,19)] = {64,0}, + [I(198,19)] = {64,0}, + [I(199,19)] = {64,0}, + [I(200,19)] = {64,0}, + [I(201,19)] = {64,0}, + [I(202,19)] = {64,0}, + [I(203,19)] = {64,0}, + [I(204,19)] = {64,0}, + [I(205,19)] = {64,0}, + [I(206,19)] = {64,0}, + [I(207,19)] = {64,0}, + [I(208,19)] = {64,0}, + [I(209,19)] = {64,0}, + [I(210,19)] = {64,0}, + [I(211,19)] = {64,0}, + [I(212,19)] = {64,0}, + [I(213,19)] = {64,0}, + [I(214,19)] = {64,0}, + [I(215,19)] = {64,0}, + [I(216,19)] = {64,0}, + [I(217,19)] = {64,0}, + [I(218,19)] = {64,0}, + [I(219,19)] = {64,0}, + [I(220,19)] = {64,0}, + [I(221,19)] = {64,0}, + [I(222,19)] = {64,0}, + [I(223,19)] = {64,0}, + [I(224,19)] = {64,0}, + [I(225,19)] = {64,0}, + [I(226,19)] = {64,0}, + [I(227,19)] = {64,0}, + [I(228,19)] = {64,0}, + [I(229,19)] = {64,0}, + [I(230,19)] = {64,0}, + [I(231,19)] = {64,0}, + [I(232,19)] = {64,0}, + [I(233,19)] = {64,0}, + [I(234,19)] = {64,0}, + [I(235,19)] = {64,0}, + [I(236,19)] = {64,0}, + [I(237,19)] = {64,0}, + [I(238,19)] = {64,0}, + [I(239,19)] = {64,0}, + [I(240,19)] = {64,0}, + [I(241,19)] = {64,0}, + [I(242,19)] = {64,0}, + [I(243,19)] = {64,0}, + [I(244,19)] = {64,0}, + [I(245,19)] = {64,0}, + [I(246,19)] = {64,0}, + [I(247,19)] = {64,0}, + [I(248,19)] = {64,0}, + [I(249,19)] = {64,0}, + [I(250,19)] = {64,0}, + [I(251,19)] = {64,0}, + [I(252,19)] = {64,0}, + [I(253,19)] = {64,0}, + [I(254,19)] = {64,0}, + [I(255,19)] = {64,0}, + [I(0,20)] = {64,0}, + [I(1,20)] = {64,0}, + [I(2,20)] = {64,0}, + [I(3,20)] = {64,0}, + [I(4,20)] = {64,0}, + [I(5,20)] = {64,0}, + [I(6,20)] = {64,0}, + [I(7,20)] = {64,0}, + [I(8,20)] = {64,0}, + [I(9,20)] = {64,0}, + [I(10,20)] = {64,0}, + [I(11,20)] = {64,0}, + [I(12,20)] = {64,0}, + [I(13,20)] = {64,0}, + [I(14,20)] = {64,0}, + [I(15,20)] = {64,0}, + [I(16,20)] = {64,0}, + [I(17,20)] = {64,0}, + [I(18,20)] = {64,0}, + [I(19,20)] = {64,0}, + [I(20,20)] = {64,0}, + [I(21,20)] = {64,0}, + [I(22,20)] = {64,0}, + [I(23,20)] = {64,0}, + [I(24,20)] = {64,0}, + [I(25,20)] = {64,0}, + [I(26,20)] = {64,0}, + [I(27,20)] = {64,0}, + [I(28,20)] = {64,0}, + [I(29,20)] = {64,0}, + [I(30,20)] = {64,0}, + [I(31,20)] = {64,0}, + [I(32,20)] = {64,0}, + [I(33,20)] = {64,0}, + [I(34,20)] = {64,0}, + [I(35,20)] = {64,0}, + [I(36,20)] = {64,0}, + [I(37,20)] = {64,0}, + [I(38,20)] = {64,0}, + [I(39,20)] = {64,0}, + [I(40,20)] = {64,0}, + [I(41,20)] = {64,0}, + [I(42,20)] = {64,0}, + [I(43,20)] = {64,0}, + [I(44,20)] = {64,0}, + [I(45,20)] = {64,0}, + [I(46,20)] = {64,0}, + [I(47,20)] = {64,0}, + [I(48,20)] = {64,0}, + [I(49,20)] = {64,0}, + [I(50,20)] = {64,0}, + [I(51,20)] = {64,0}, + [I(52,20)] = {64,0}, + [I(53,20)] = {64,0}, + [I(54,20)] = {64,0}, + [I(55,20)] = {64,0}, + [I(56,20)] = {64,0}, + [I(57,20)] = {64,0}, + [I(58,20)] = {64,0}, + [I(59,20)] = {64,0}, + [I(60,20)] = {64,0}, + [I(61,20)] = {64,0}, + [I(62,20)] = {64,0}, + [I(63,20)] = {64,0}, + [I(64,20)] = {64,0}, + [I(65,20)] = {64,0}, + [I(66,20)] = {64,0}, + [I(67,20)] = {64,0}, + [I(68,20)] = {64,0}, + [I(69,20)] = {64,0}, + [I(70,20)] = {64,0}, + [I(71,20)] = {64,0}, + [I(72,20)] = {64,0}, + [I(73,20)] = {64,0}, + [I(74,20)] = {64,0}, + [I(75,20)] = {64,0}, + [I(76,20)] = {64,0}, + [I(77,20)] = {64,0}, + [I(78,20)] = {64,0}, + [I(79,20)] = {64,0}, + [I(80,20)] = {64,0}, + [I(81,20)] = {64,0}, + [I(82,20)] = {64,0}, + [I(83,20)] = {64,0}, + [I(84,20)] = {64,0}, + [I(85,20)] = {64,0}, + [I(86,20)] = {64,0}, + [I(87,20)] = {64,0}, + [I(88,20)] = {64,0}, + [I(89,20)] = {64,0}, + [I(90,20)] = {64,0}, + [I(91,20)] = {64,0}, + [I(92,20)] = {64,0}, + [I(93,20)] = {64,0}, + [I(94,20)] = {64,0}, + [I(95,20)] = {64,0}, + [I(96,20)] = {64,0}, + [I(97,20)] = {64,0}, + [I(98,20)] = {64,0}, + [I(99,20)] = {64,0}, + [I(100,20)] = {64,0}, + [I(101,20)] = {64,0}, + [I(102,20)] = {64,0}, + [I(103,20)] = {64,0}, + [I(104,20)] = {64,0}, + [I(105,20)] = {64,0}, + [I(106,20)] = {64,0}, + [I(107,20)] = {64,0}, + [I(108,20)] = {64,0}, + [I(109,20)] = {64,0}, + [I(110,20)] = {64,0}, + [I(111,20)] = {64,0}, + [I(112,20)] = {64,0}, + [I(113,20)] = {64,0}, + [I(114,20)] = {64,0}, + [I(115,20)] = {64,0}, + [I(116,20)] = {64,0}, + [I(117,20)] = {64,0}, + [I(118,20)] = {64,0}, + [I(119,20)] = {64,0}, + [I(120,20)] = {64,0}, + [I(121,20)] = {64,0}, + [I(122,20)] = {64,0}, + [I(123,20)] = {64,0}, + [I(124,20)] = {64,0}, + [I(125,20)] = {64,0}, + [I(126,20)] = {64,0}, + [I(127,20)] = {64,0}, + [I(128,20)] = {64,0}, + [I(129,20)] = {64,0}, + [I(130,20)] = {64,0}, + [I(131,20)] = {64,0}, + [I(132,20)] = {64,0}, + [I(133,20)] = {64,0}, + [I(134,20)] = {64,0}, + [I(135,20)] = {64,0}, + [I(136,20)] = {64,0}, + [I(137,20)] = {64,0}, + [I(138,20)] = {64,0}, + [I(139,20)] = {64,0}, + [I(140,20)] = {64,0}, + [I(141,20)] = {64,0}, + [I(142,20)] = {64,0}, + [I(143,20)] = {64,0}, + [I(144,20)] = {64,0}, + [I(145,20)] = {64,0}, + [I(146,20)] = {64,0}, + [I(147,20)] = {64,0}, + [I(148,20)] = {64,0}, + [I(149,20)] = {64,0}, + [I(150,20)] = {64,0}, + [I(151,20)] = {64,0}, + [I(152,20)] = {64,0}, + [I(153,20)] = {64,0}, + [I(154,20)] = {64,0}, + [I(155,20)] = {64,0}, + [I(156,20)] = {64,0}, + [I(157,20)] = {64,0}, + [I(158,20)] = {64,0}, + [I(159,20)] = {64,0}, + [I(160,20)] = {64,0}, + [I(161,20)] = {64,0}, + [I(162,20)] = {64,0}, + [I(163,20)] = {64,0}, + [I(164,20)] = {64,0}, + [I(165,20)] = {64,0}, + [I(166,20)] = {64,0}, + [I(167,20)] = {64,0}, + [I(168,20)] = {64,0}, + [I(169,20)] = {64,0}, + [I(170,20)] = {64,0}, + [I(171,20)] = {64,0}, + [I(172,20)] = {64,0}, + [I(173,20)] = {64,0}, + [I(174,20)] = {64,0}, + [I(175,20)] = {64,0}, + [I(176,20)] = {64,0}, + [I(177,20)] = {64,0}, + [I(178,20)] = {64,0}, + [I(179,20)] = {64,0}, + [I(180,20)] = {64,0}, + [I(181,20)] = {64,0}, + [I(182,20)] = {64,0}, + [I(183,20)] = {64,0}, + [I(184,20)] = {64,0}, + [I(185,20)] = {64,0}, + [I(186,20)] = {64,0}, + [I(187,20)] = {64,0}, + [I(188,20)] = {64,0}, + [I(189,20)] = {64,0}, + [I(190,20)] = {64,0}, + [I(191,20)] = {64,0}, + [I(192,20)] = {64,0}, + [I(193,20)] = {64,0}, + [I(194,20)] = {64,0}, + [I(195,20)] = {64,0}, + [I(196,20)] = {64,0}, + [I(197,20)] = {64,0}, + [I(198,20)] = {64,0}, + [I(199,20)] = {64,0}, + [I(200,20)] = {64,0}, + [I(201,20)] = {64,0}, + [I(202,20)] = {64,0}, + [I(203,20)] = {64,0}, + [I(204,20)] = {64,0}, + [I(205,20)] = {64,0}, + [I(206,20)] = {64,0}, + [I(207,20)] = {64,0}, + [I(208,20)] = {64,0}, + [I(209,20)] = {64,0}, + [I(210,20)] = {64,0}, + [I(211,20)] = {64,0}, + [I(212,20)] = {64,0}, + [I(213,20)] = {64,0}, + [I(214,20)] = {64,0}, + [I(215,20)] = {64,0}, + [I(216,20)] = {64,0}, + [I(217,20)] = {64,0}, + [I(218,20)] = {64,0}, + [I(219,20)] = {64,0}, + [I(220,20)] = {64,0}, + [I(221,20)] = {64,0}, + [I(222,20)] = {64,0}, + [I(223,20)] = {64,0}, + [I(224,20)] = {64,0}, + [I(225,20)] = {64,0}, + [I(226,20)] = {64,0}, + [I(227,20)] = {64,0}, + [I(228,20)] = {64,0}, + [I(229,20)] = {64,0}, + [I(230,20)] = {64,0}, + [I(231,20)] = {64,0}, + [I(232,20)] = {64,0}, + [I(233,20)] = {64,0}, + [I(234,20)] = {64,0}, + [I(235,20)] = {64,0}, + [I(236,20)] = {64,0}, + [I(237,20)] = {64,0}, + [I(238,20)] = {64,0}, + [I(239,20)] = {64,0}, + [I(240,20)] = {64,0}, + [I(241,20)] = {64,0}, + [I(242,20)] = {64,0}, + [I(243,20)] = {64,0}, + [I(244,20)] = {64,0}, + [I(245,20)] = {64,0}, + [I(246,20)] = {64,0}, + [I(247,20)] = {64,0}, + [I(248,20)] = {64,0}, + [I(249,20)] = {64,0}, + [I(250,20)] = {64,0}, + [I(251,20)] = {64,0}, + [I(252,20)] = {64,0}, + [I(253,20)] = {64,0}, + [I(254,20)] = {64,0}, + [I(255,20)] = {64,0}, + [I(0,21)] = {64,0}, + [I(1,21)] = {64,0}, + [I(2,21)] = {64,0}, + [I(3,21)] = {64,0}, + [I(4,21)] = {64,0}, + [I(5,21)] = {64,0}, + [I(6,21)] = {64,0}, + [I(7,21)] = {64,0}, + [I(8,21)] = {64,0}, + [I(9,21)] = {64,0}, + [I(10,21)] = {64,0}, + [I(11,21)] = {64,0}, + [I(12,21)] = {64,0}, + [I(13,21)] = {64,0}, + [I(14,21)] = {64,0}, + [I(15,21)] = {64,0}, + [I(16,21)] = {64,0}, + [I(17,21)] = {64,0}, + [I(18,21)] = {64,0}, + [I(19,21)] = {64,0}, + [I(20,21)] = {64,0}, + [I(21,21)] = {64,0}, + [I(22,21)] = {64,0}, + [I(23,21)] = {64,0}, + [I(24,21)] = {64,0}, + [I(25,21)] = {64,0}, + [I(26,21)] = {64,0}, + [I(27,21)] = {64,0}, + [I(28,21)] = {64,0}, + [I(29,21)] = {64,0}, + [I(30,21)] = {64,0}, + [I(31,21)] = {64,0}, + [I(32,21)] = {64,0}, + [I(33,21)] = {64,0}, + [I(34,21)] = {64,0}, + [I(35,21)] = {64,0}, + [I(36,21)] = {64,0}, + [I(37,21)] = {64,0}, + [I(38,21)] = {64,0}, + [I(39,21)] = {64,0}, + [I(40,21)] = {64,0}, + [I(41,21)] = {64,0}, + [I(42,21)] = {64,0}, + [I(43,21)] = {64,0}, + [I(44,21)] = {64,0}, + [I(45,21)] = {64,0}, + [I(46,21)] = {64,0}, + [I(47,21)] = {64,0}, + [I(48,21)] = {64,0}, + [I(49,21)] = {64,0}, + [I(50,21)] = {64,0}, + [I(51,21)] = {64,0}, + [I(52,21)] = {64,0}, + [I(53,21)] = {64,0}, + [I(54,21)] = {64,0}, + [I(55,21)] = {64,0}, + [I(56,21)] = {64,0}, + [I(57,21)] = {64,0}, + [I(58,21)] = {64,0}, + [I(59,21)] = {64,0}, + [I(60,21)] = {64,0}, + [I(61,21)] = {64,0}, + [I(62,21)] = {64,0}, + [I(63,21)] = {64,0}, + [I(64,21)] = {64,0}, + [I(65,21)] = {64,0}, + [I(66,21)] = {64,0}, + [I(67,21)] = {64,0}, + [I(68,21)] = {64,0}, + [I(69,21)] = {64,0}, + [I(70,21)] = {64,0}, + [I(71,21)] = {64,0}, + [I(72,21)] = {64,0}, + [I(73,21)] = {64,0}, + [I(74,21)] = {64,0}, + [I(75,21)] = {64,0}, + [I(76,21)] = {64,0}, + [I(77,21)] = {64,0}, + [I(78,21)] = {64,0}, + [I(79,21)] = {64,0}, + [I(80,21)] = {64,0}, + [I(81,21)] = {64,0}, + [I(82,21)] = {64,0}, + [I(83,21)] = {64,0}, + [I(84,21)] = {64,0}, + [I(85,21)] = {64,0}, + [I(86,21)] = {64,0}, + [I(87,21)] = {64,0}, + [I(88,21)] = {64,0}, + [I(89,21)] = {64,0}, + [I(90,21)] = {64,0}, + [I(91,21)] = {64,0}, + [I(92,21)] = {64,0}, + [I(93,21)] = {64,0}, + [I(94,21)] = {64,0}, + [I(95,21)] = {64,0}, + [I(96,21)] = {64,0}, + [I(97,21)] = {64,0}, + [I(98,21)] = {64,0}, + [I(99,21)] = {64,0}, + [I(100,21)] = {64,0}, + [I(101,21)] = {64,0}, + [I(102,21)] = {64,0}, + [I(103,21)] = {64,0}, + [I(104,21)] = {64,0}, + [I(105,21)] = {64,0}, + [I(106,21)] = {64,0}, + [I(107,21)] = {64,0}, + [I(108,21)] = {64,0}, + [I(109,21)] = {64,0}, + [I(110,21)] = {64,0}, + [I(111,21)] = {64,0}, + [I(112,21)] = {64,0}, + [I(113,21)] = {64,0}, + [I(114,21)] = {64,0}, + [I(115,21)] = {64,0}, + [I(116,21)] = {64,0}, + [I(117,21)] = {64,0}, + [I(118,21)] = {64,0}, + [I(119,21)] = {64,0}, + [I(120,21)] = {64,0}, + [I(121,21)] = {64,0}, + [I(122,21)] = {64,0}, + [I(123,21)] = {64,0}, + [I(124,21)] = {64,0}, + [I(125,21)] = {64,0}, + [I(126,21)] = {64,0}, + [I(127,21)] = {64,0}, + [I(128,21)] = {64,0}, + [I(129,21)] = {64,0}, + [I(130,21)] = {64,0}, + [I(131,21)] = {64,0}, + [I(132,21)] = {64,0}, + [I(133,21)] = {64,0}, + [I(134,21)] = {64,0}, + [I(135,21)] = {64,0}, + [I(136,21)] = {64,0}, + [I(137,21)] = {64,0}, + [I(138,21)] = {64,0}, + [I(139,21)] = {64,0}, + [I(140,21)] = {64,0}, + [I(141,21)] = {64,0}, + [I(142,21)] = {64,0}, + [I(143,21)] = {64,0}, + [I(144,21)] = {64,0}, + [I(145,21)] = {64,0}, + [I(146,21)] = {64,0}, + [I(147,21)] = {64,0}, + [I(148,21)] = {64,0}, + [I(149,21)] = {64,0}, + [I(150,21)] = {64,0}, + [I(151,21)] = {64,0}, + [I(152,21)] = {64,0}, + [I(153,21)] = {64,0}, + [I(154,21)] = {64,0}, + [I(155,21)] = {64,0}, + [I(156,21)] = {64,0}, + [I(157,21)] = {64,0}, + [I(158,21)] = {64,0}, + [I(159,21)] = {64,0}, + [I(160,21)] = {64,0}, + [I(161,21)] = {64,0}, + [I(162,21)] = {64,0}, + [I(163,21)] = {64,0}, + [I(164,21)] = {64,0}, + [I(165,21)] = {64,0}, + [I(166,21)] = {64,0}, + [I(167,21)] = {64,0}, + [I(168,21)] = {64,0}, + [I(169,21)] = {64,0}, + [I(170,21)] = {64,0}, + [I(171,21)] = {64,0}, + [I(172,21)] = {64,0}, + [I(173,21)] = {64,0}, + [I(174,21)] = {64,0}, + [I(175,21)] = {64,0}, + [I(176,21)] = {64,0}, + [I(177,21)] = {64,0}, + [I(178,21)] = {64,0}, + [I(179,21)] = {64,0}, + [I(180,21)] = {64,0}, + [I(181,21)] = {64,0}, + [I(182,21)] = {64,0}, + [I(183,21)] = {64,0}, + [I(184,21)] = {64,0}, + [I(185,21)] = {64,0}, + [I(186,21)] = {64,0}, + [I(187,21)] = {64,0}, + [I(188,21)] = {64,0}, + [I(189,21)] = {64,0}, + [I(190,21)] = {64,0}, + [I(191,21)] = {64,0}, + [I(192,21)] = {64,0}, + [I(193,21)] = {64,0}, + [I(194,21)] = {64,0}, + [I(195,21)] = {64,0}, + [I(196,21)] = {64,0}, + [I(197,21)] = {64,0}, + [I(198,21)] = {64,0}, + [I(199,21)] = {64,0}, + [I(200,21)] = {64,0}, + [I(201,21)] = {64,0}, + [I(202,21)] = {64,0}, + [I(203,21)] = {64,0}, + [I(204,21)] = {64,0}, + [I(205,21)] = {64,0}, + [I(206,21)] = {64,0}, + [I(207,21)] = {64,0}, + [I(208,21)] = {64,0}, + [I(209,21)] = {64,0}, + [I(210,21)] = {64,0}, + [I(211,21)] = {64,0}, + [I(212,21)] = {64,0}, + [I(213,21)] = {64,0}, + [I(214,21)] = {64,0}, + [I(215,21)] = {64,0}, + [I(216,21)] = {64,0}, + [I(217,21)] = {64,0}, + [I(218,21)] = {64,0}, + [I(219,21)] = {64,0}, + [I(220,21)] = {64,0}, + [I(221,21)] = {64,0}, + [I(222,21)] = {64,0}, + [I(223,21)] = {64,0}, + [I(224,21)] = {64,0}, + [I(225,21)] = {64,0}, + [I(226,21)] = {64,0}, + [I(227,21)] = {64,0}, + [I(228,21)] = {64,0}, + [I(229,21)] = {64,0}, + [I(230,21)] = {64,0}, + [I(231,21)] = {64,0}, + [I(232,21)] = {64,0}, + [I(233,21)] = {64,0}, + [I(234,21)] = {64,0}, + [I(235,21)] = {64,0}, + [I(236,21)] = {64,0}, + [I(237,21)] = {64,0}, + [I(238,21)] = {64,0}, + [I(239,21)] = {64,0}, + [I(240,21)] = {64,0}, + [I(241,21)] = {64,0}, + [I(242,21)] = {64,0}, + [I(243,21)] = {64,0}, + [I(244,21)] = {64,0}, + [I(245,21)] = {64,0}, + [I(246,21)] = {64,0}, + [I(247,21)] = {64,0}, + [I(248,21)] = {64,0}, + [I(249,21)] = {64,0}, + [I(250,21)] = {64,0}, + [I(251,21)] = {64,0}, + [I(252,21)] = {64,0}, + [I(253,21)] = {64,0}, + [I(254,21)] = {64,0}, + [I(255,21)] = {64,0}, + [I(0,22)] = {64,0}, + [I(1,22)] = {64,0}, + [I(2,22)] = {64,0}, + [I(3,22)] = {64,0}, + [I(4,22)] = {64,0}, + [I(5,22)] = {64,0}, + [I(6,22)] = {64,0}, + [I(7,22)] = {64,0}, + [I(8,22)] = {64,0}, + [I(9,22)] = {64,0}, + [I(10,22)] = {64,0}, + [I(11,22)] = {64,0}, + [I(12,22)] = {64,0}, + [I(13,22)] = {64,0}, + [I(14,22)] = {64,0}, + [I(15,22)] = {64,0}, + [I(16,22)] = {64,0}, + [I(17,22)] = {64,0}, + [I(18,22)] = {64,0}, + [I(19,22)] = {64,0}, + [I(20,22)] = {64,0}, + [I(21,22)] = {64,0}, + [I(22,22)] = {64,0}, + [I(23,22)] = {64,0}, + [I(24,22)] = {64,0}, + [I(25,22)] = {64,0}, + [I(26,22)] = {64,0}, + [I(27,22)] = {64,0}, + [I(28,22)] = {64,0}, + [I(29,22)] = {64,0}, + [I(30,22)] = {64,0}, + [I(31,22)] = {64,0}, + [I(32,22)] = {64,0}, + [I(33,22)] = {64,0}, + [I(34,22)] = {64,0}, + [I(35,22)] = {64,0}, + [I(36,22)] = {64,0}, + [I(37,22)] = {64,0}, + [I(38,22)] = {64,0}, + [I(39,22)] = {64,0}, + [I(40,22)] = {64,0}, + [I(41,22)] = {64,0}, + [I(42,22)] = {64,0}, + [I(43,22)] = {64,0}, + [I(44,22)] = {64,0}, + [I(45,22)] = {64,0}, + [I(46,22)] = {64,0}, + [I(47,22)] = {64,0}, + [I(48,22)] = {64,0}, + [I(49,22)] = {64,0}, + [I(50,22)] = {64,0}, + [I(51,22)] = {64,0}, + [I(52,22)] = {64,0}, + [I(53,22)] = {64,0}, + [I(54,22)] = {64,0}, + [I(55,22)] = {64,0}, + [I(56,22)] = {64,0}, + [I(57,22)] = {64,0}, + [I(58,22)] = {64,0}, + [I(59,22)] = {64,0}, + [I(60,22)] = {64,0}, + [I(61,22)] = {64,0}, + [I(62,22)] = {64,0}, + [I(63,22)] = {64,0}, + [I(64,22)] = {64,0}, + [I(65,22)] = {64,0}, + [I(66,22)] = {64,0}, + [I(67,22)] = {64,0}, + [I(68,22)] = {64,0}, + [I(69,22)] = {64,0}, + [I(70,22)] = {64,0}, + [I(71,22)] = {64,0}, + [I(72,22)] = {64,0}, + [I(73,22)] = {64,0}, + [I(74,22)] = {64,0}, + [I(75,22)] = {64,0}, + [I(76,22)] = {64,0}, + [I(77,22)] = {64,0}, + [I(78,22)] = {64,0}, + [I(79,22)] = {64,0}, + [I(80,22)] = {64,0}, + [I(81,22)] = {64,0}, + [I(82,22)] = {64,0}, + [I(83,22)] = {64,0}, + [I(84,22)] = {64,0}, + [I(85,22)] = {64,0}, + [I(86,22)] = {64,0}, + [I(87,22)] = {64,0}, + [I(88,22)] = {64,0}, + [I(89,22)] = {64,0}, + [I(90,22)] = {64,0}, + [I(91,22)] = {64,0}, + [I(92,22)] = {64,0}, + [I(93,22)] = {64,0}, + [I(94,22)] = {64,0}, + [I(95,22)] = {64,0}, + [I(96,22)] = {64,0}, + [I(97,22)] = {64,0}, + [I(98,22)] = {64,0}, + [I(99,22)] = {64,0}, + [I(100,22)] = {64,0}, + [I(101,22)] = {64,0}, + [I(102,22)] = {64,0}, + [I(103,22)] = {64,0}, + [I(104,22)] = {64,0}, + [I(105,22)] = {64,0}, + [I(106,22)] = {64,0}, + [I(107,22)] = {64,0}, + [I(108,22)] = {64,0}, + [I(109,22)] = {64,0}, + [I(110,22)] = {64,0}, + [I(111,22)] = {64,0}, + [I(112,22)] = {64,0}, + [I(113,22)] = {64,0}, + [I(114,22)] = {64,0}, + [I(115,22)] = {64,0}, + [I(116,22)] = {64,0}, + [I(117,22)] = {64,0}, + [I(118,22)] = {64,0}, + [I(119,22)] = {64,0}, + [I(120,22)] = {64,0}, + [I(121,22)] = {64,0}, + [I(122,22)] = {64,0}, + [I(123,22)] = {64,0}, + [I(124,22)] = {64,0}, + [I(125,22)] = {64,0}, + [I(126,22)] = {64,0}, + [I(127,22)] = {64,0}, + [I(128,22)] = {64,0}, + [I(129,22)] = {64,0}, + [I(130,22)] = {64,0}, + [I(131,22)] = {64,0}, + [I(132,22)] = {64,0}, + [I(133,22)] = {64,0}, + [I(134,22)] = {64,0}, + [I(135,22)] = {64,0}, + [I(136,22)] = {64,0}, + [I(137,22)] = {64,0}, + [I(138,22)] = {64,0}, + [I(139,22)] = {64,0}, + [I(140,22)] = {64,0}, + [I(141,22)] = {64,0}, + [I(142,22)] = {64,0}, + [I(143,22)] = {64,0}, + [I(144,22)] = {64,0}, + [I(145,22)] = {64,0}, + [I(146,22)] = {64,0}, + [I(147,22)] = {64,0}, + [I(148,22)] = {64,0}, + [I(149,22)] = {64,0}, + [I(150,22)] = {64,0}, + [I(151,22)] = {64,0}, + [I(152,22)] = {64,0}, + [I(153,22)] = {64,0}, + [I(154,22)] = {64,0}, + [I(155,22)] = {64,0}, + [I(156,22)] = {64,0}, + [I(157,22)] = {64,0}, + [I(158,22)] = {64,0}, + [I(159,22)] = {64,0}, + [I(160,22)] = {64,0}, + [I(161,22)] = {64,0}, + [I(162,22)] = {64,0}, + [I(163,22)] = {64,0}, + [I(164,22)] = {64,0}, + [I(165,22)] = {64,0}, + [I(166,22)] = {64,0}, + [I(167,22)] = {64,0}, + [I(168,22)] = {64,0}, + [I(169,22)] = {64,0}, + [I(170,22)] = {64,0}, + [I(171,22)] = {64,0}, + [I(172,22)] = {64,0}, + [I(173,22)] = {64,0}, + [I(174,22)] = {64,0}, + [I(175,22)] = {64,0}, + [I(176,22)] = {64,0}, + [I(177,22)] = {64,0}, + [I(178,22)] = {64,0}, + [I(179,22)] = {64,0}, + [I(180,22)] = {64,0}, + [I(181,22)] = {64,0}, + [I(182,22)] = {64,0}, + [I(183,22)] = {64,0}, + [I(184,22)] = {64,0}, + [I(185,22)] = {64,0}, + [I(186,22)] = {64,0}, + [I(187,22)] = {64,0}, + [I(188,22)] = {64,0}, + [I(189,22)] = {64,0}, + [I(190,22)] = {64,0}, + [I(191,22)] = {64,0}, + [I(192,22)] = {64,0}, + [I(193,22)] = {64,0}, + [I(194,22)] = {64,0}, + [I(195,22)] = {64,0}, + [I(196,22)] = {64,0}, + [I(197,22)] = {64,0}, + [I(198,22)] = {64,0}, + [I(199,22)] = {64,0}, + [I(200,22)] = {64,0}, + [I(201,22)] = {64,0}, + [I(202,22)] = {64,0}, + [I(203,22)] = {64,0}, + [I(204,22)] = {64,0}, + [I(205,22)] = {64,0}, + [I(206,22)] = {64,0}, + [I(207,22)] = {64,0}, + [I(208,22)] = {64,0}, + [I(209,22)] = {64,0}, + [I(210,22)] = {64,0}, + [I(211,22)] = {64,0}, + [I(212,22)] = {64,0}, + [I(213,22)] = {64,0}, + [I(214,22)] = {64,0}, + [I(215,22)] = {64,0}, + [I(216,22)] = {64,0}, + [I(217,22)] = {64,0}, + [I(218,22)] = {64,0}, + [I(219,22)] = {64,0}, + [I(220,22)] = {64,0}, + [I(221,22)] = {64,0}, + [I(222,22)] = {64,0}, + [I(223,22)] = {64,0}, + [I(224,22)] = {64,0}, + [I(225,22)] = {64,0}, + [I(226,22)] = {64,0}, + [I(227,22)] = {64,0}, + [I(228,22)] = {64,0}, + [I(229,22)] = {64,0}, + [I(230,22)] = {64,0}, + [I(231,22)] = {64,0}, + [I(232,22)] = {64,0}, + [I(233,22)] = {64,0}, + [I(234,22)] = {64,0}, + [I(235,22)] = {64,0}, + [I(236,22)] = {64,0}, + [I(237,22)] = {64,0}, + [I(238,22)] = {64,0}, + [I(239,22)] = {64,0}, + [I(240,22)] = {64,0}, + [I(241,22)] = {64,0}, + [I(242,22)] = {64,0}, + [I(243,22)] = {64,0}, + [I(244,22)] = {64,0}, + [I(245,22)] = {64,0}, + [I(246,22)] = {64,0}, + [I(247,22)] = {64,0}, + [I(248,22)] = {64,0}, + [I(249,22)] = {64,0}, + [I(250,22)] = {64,0}, + [I(251,22)] = {64,0}, + [I(252,22)] = {64,0}, + [I(253,22)] = {64,0}, + [I(254,22)] = {64,0}, + [I(255,22)] = {64,0}, + [I(0,23)] = {64,0}, + [I(1,23)] = {64,0}, + [I(2,23)] = {64,0}, + [I(3,23)] = {64,0}, + [I(4,23)] = {64,0}, + [I(5,23)] = {64,0}, + [I(6,23)] = {64,0}, + [I(7,23)] = {64,0}, + [I(8,23)] = {64,0}, + [I(9,23)] = {64,0}, + [I(10,23)] = {64,0}, + [I(11,23)] = {64,0}, + [I(12,23)] = {64,0}, + [I(13,23)] = {64,0}, + [I(14,23)] = {64,0}, + [I(15,23)] = {64,0}, + [I(16,23)] = {64,0}, + [I(17,23)] = {64,0}, + [I(18,23)] = {64,0}, + [I(19,23)] = {64,0}, + [I(20,23)] = {64,0}, + [I(21,23)] = {64,0}, + [I(22,23)] = {64,0}, + [I(23,23)] = {64,0}, + [I(24,23)] = {64,0}, + [I(25,23)] = {64,0}, + [I(26,23)] = {64,0}, + [I(27,23)] = {64,0}, + [I(28,23)] = {64,0}, + [I(29,23)] = {64,0}, + [I(30,23)] = {64,0}, + [I(31,23)] = {64,0}, + [I(32,23)] = {64,0}, + [I(33,23)] = {64,0}, + [I(34,23)] = {64,0}, + [I(35,23)] = {64,0}, + [I(36,23)] = {64,0}, + [I(37,23)] = {64,0}, + [I(38,23)] = {64,0}, + [I(39,23)] = {64,0}, + [I(40,23)] = {64,0}, + [I(41,23)] = {64,0}, + [I(42,23)] = {64,0}, + [I(43,23)] = {64,0}, + [I(44,23)] = {64,0}, + [I(45,23)] = {64,0}, + [I(46,23)] = {64,0}, + [I(47,23)] = {64,0}, + [I(48,23)] = {64,0}, + [I(49,23)] = {64,0}, + [I(50,23)] = {64,0}, + [I(51,23)] = {64,0}, + [I(52,23)] = {64,0}, + [I(53,23)] = {64,0}, + [I(54,23)] = {64,0}, + [I(55,23)] = {64,0}, + [I(56,23)] = {64,0}, + [I(57,23)] = {64,0}, + [I(58,23)] = {64,0}, + [I(59,23)] = {64,0}, + [I(60,23)] = {64,0}, + [I(61,23)] = {64,0}, + [I(62,23)] = {64,0}, + [I(63,23)] = {64,0}, + [I(64,23)] = {64,0}, + [I(65,23)] = {64,0}, + [I(66,23)] = {64,0}, + [I(67,23)] = {64,0}, + [I(68,23)] = {64,0}, + [I(69,23)] = {64,0}, + [I(70,23)] = {64,0}, + [I(71,23)] = {64,0}, + [I(72,23)] = {64,0}, + [I(73,23)] = {64,0}, + [I(74,23)] = {64,0}, + [I(75,23)] = {64,0}, + [I(76,23)] = {64,0}, + [I(77,23)] = {64,0}, + [I(78,23)] = {64,0}, + [I(79,23)] = {64,0}, + [I(80,23)] = {64,0}, + [I(81,23)] = {64,0}, + [I(82,23)] = {64,0}, + [I(83,23)] = {64,0}, + [I(84,23)] = {64,0}, + [I(85,23)] = {64,0}, + [I(86,23)] = {64,0}, + [I(87,23)] = {64,0}, + [I(88,23)] = {64,0}, + [I(89,23)] = {64,0}, + [I(90,23)] = {64,0}, + [I(91,23)] = {64,0}, + [I(92,23)] = {64,0}, + [I(93,23)] = {64,0}, + [I(94,23)] = {64,0}, + [I(95,23)] = {64,0}, + [I(96,23)] = {64,0}, + [I(97,23)] = {64,0}, + [I(98,23)] = {64,0}, + [I(99,23)] = {64,0}, + [I(100,23)] = {64,0}, + [I(101,23)] = {64,0}, + [I(102,23)] = {64,0}, + [I(103,23)] = {64,0}, + [I(104,23)] = {64,0}, + [I(105,23)] = {64,0}, + [I(106,23)] = {64,0}, + [I(107,23)] = {64,0}, + [I(108,23)] = {64,0}, + [I(109,23)] = {64,0}, + [I(110,23)] = {64,0}, + [I(111,23)] = {64,0}, + [I(112,23)] = {64,0}, + [I(113,23)] = {64,0}, + [I(114,23)] = {64,0}, + [I(115,23)] = {64,0}, + [I(116,23)] = {64,0}, + [I(117,23)] = {64,0}, + [I(118,23)] = {64,0}, + [I(119,23)] = {64,0}, + [I(120,23)] = {64,0}, + [I(121,23)] = {64,0}, + [I(122,23)] = {64,0}, + [I(123,23)] = {64,0}, + [I(124,23)] = {64,0}, + [I(125,23)] = {64,0}, + [I(126,23)] = {64,0}, + [I(127,23)] = {64,0}, + [I(128,23)] = {64,0}, + [I(129,23)] = {64,0}, + [I(130,23)] = {64,0}, + [I(131,23)] = {64,0}, + [I(132,23)] = {64,0}, + [I(133,23)] = {64,0}, + [I(134,23)] = {64,0}, + [I(135,23)] = {64,0}, + [I(136,23)] = {64,0}, + [I(137,23)] = {64,0}, + [I(138,23)] = {64,0}, + [I(139,23)] = {64,0}, + [I(140,23)] = {64,0}, + [I(141,23)] = {64,0}, + [I(142,23)] = {64,0}, + [I(143,23)] = {64,0}, + [I(144,23)] = {64,0}, + [I(145,23)] = {64,0}, + [I(146,23)] = {64,0}, + [I(147,23)] = {64,0}, + [I(148,23)] = {64,0}, + [I(149,23)] = {64,0}, + [I(150,23)] = {64,0}, + [I(151,23)] = {64,0}, + [I(152,23)] = {64,0}, + [I(153,23)] = {64,0}, + [I(154,23)] = {64,0}, + [I(155,23)] = {64,0}, + [I(156,23)] = {64,0}, + [I(157,23)] = {64,0}, + [I(158,23)] = {64,0}, + [I(159,23)] = {64,0}, + [I(160,23)] = {64,0}, + [I(161,23)] = {64,0}, + [I(162,23)] = {64,0}, + [I(163,23)] = {64,0}, + [I(164,23)] = {64,0}, + [I(165,23)] = {64,0}, + [I(166,23)] = {64,0}, + [I(167,23)] = {64,0}, + [I(168,23)] = {64,0}, + [I(169,23)] = {64,0}, + [I(170,23)] = {64,0}, + [I(171,23)] = {64,0}, + [I(172,23)] = {64,0}, + [I(173,23)] = {64,0}, + [I(174,23)] = {64,0}, + [I(175,23)] = {64,0}, + [I(176,23)] = {64,0}, + [I(177,23)] = {64,0}, + [I(178,23)] = {64,0}, + [I(179,23)] = {64,0}, + [I(180,23)] = {64,0}, + [I(181,23)] = {64,0}, + [I(182,23)] = {64,0}, + [I(183,23)] = {64,0}, + [I(184,23)] = {64,0}, + [I(185,23)] = {64,0}, + [I(186,23)] = {64,0}, + [I(187,23)] = {64,0}, + [I(188,23)] = {64,0}, + [I(189,23)] = {64,0}, + [I(190,23)] = {64,0}, + [I(191,23)] = {64,0}, + [I(192,23)] = {64,0}, + [I(193,23)] = {64,0}, + [I(194,23)] = {64,0}, + [I(195,23)] = {64,0}, + [I(196,23)] = {64,0}, + [I(197,23)] = {64,0}, + [I(198,23)] = {64,0}, + [I(199,23)] = {64,0}, + [I(200,23)] = {64,0}, + [I(201,23)] = {64,0}, + [I(202,23)] = {64,0}, + [I(203,23)] = {64,0}, + [I(204,23)] = {64,0}, + [I(205,23)] = {64,0}, + [I(206,23)] = {64,0}, + [I(207,23)] = {64,0}, + [I(208,23)] = {64,0}, + [I(209,23)] = {64,0}, + [I(210,23)] = {64,0}, + [I(211,23)] = {64,0}, + [I(212,23)] = {64,0}, + [I(213,23)] = {64,0}, + [I(214,23)] = {64,0}, + [I(215,23)] = {64,0}, + [I(216,23)] = {64,0}, + [I(217,23)] = {64,0}, + [I(218,23)] = {64,0}, + [I(219,23)] = {64,0}, + [I(220,23)] = {64,0}, + [I(221,23)] = {64,0}, + [I(222,23)] = {64,0}, + [I(223,23)] = {64,0}, + [I(224,23)] = {64,0}, + [I(225,23)] = {64,0}, + [I(226,23)] = {64,0}, + [I(227,23)] = {64,0}, + [I(228,23)] = {64,0}, + [I(229,23)] = {64,0}, + [I(230,23)] = {64,0}, + [I(231,23)] = {64,0}, + [I(232,23)] = {64,0}, + [I(233,23)] = {64,0}, + [I(234,23)] = {64,0}, + [I(235,23)] = {64,0}, + [I(236,23)] = {64,0}, + [I(237,23)] = {64,0}, + [I(238,23)] = {64,0}, + [I(239,23)] = {64,0}, + [I(240,23)] = {64,0}, + [I(241,23)] = {64,0}, + [I(242,23)] = {64,0}, + [I(243,23)] = {64,0}, + [I(244,23)] = {64,0}, + [I(245,23)] = {64,0}, + [I(246,23)] = {64,0}, + [I(247,23)] = {64,0}, + [I(248,23)] = {64,0}, + [I(249,23)] = {64,0}, + [I(250,23)] = {64,0}, + [I(251,23)] = {64,0}, + [I(252,23)] = {64,0}, + [I(253,23)] = {64,0}, + [I(254,23)] = {64,0}, + [I(255,23)] = {64,0}, + [I(0,24)] = {64,0}, + [I(1,24)] = {64,0}, + [I(2,24)] = {64,0}, + [I(3,24)] = {64,0}, + [I(4,24)] = {64,0}, + [I(5,24)] = {64,0}, + [I(6,24)] = {64,0}, + [I(7,24)] = {64,0}, + [I(8,24)] = {64,0}, + [I(9,24)] = {64,0}, + [I(10,24)] = {64,0}, + [I(11,24)] = {64,0}, + [I(12,24)] = {64,0}, + [I(13,24)] = {64,0}, + [I(14,24)] = {64,0}, + [I(15,24)] = {64,0}, + [I(16,24)] = {64,0}, + [I(17,24)] = {64,0}, + [I(18,24)] = {64,0}, + [I(19,24)] = {64,0}, + [I(20,24)] = {64,0}, + [I(21,24)] = {64,0}, + [I(22,24)] = {64,0}, + [I(23,24)] = {64,0}, + [I(24,24)] = {64,0}, + [I(25,24)] = {64,0}, + [I(26,24)] = {64,0}, + [I(27,24)] = {64,0}, + [I(28,24)] = {64,0}, + [I(29,24)] = {64,0}, + [I(30,24)] = {64,0}, + [I(31,24)] = {64,0}, + [I(32,24)] = {64,0}, + [I(33,24)] = {64,0}, + [I(34,24)] = {64,0}, + [I(35,24)] = {64,0}, + [I(36,24)] = {64,0}, + [I(37,24)] = {64,0}, + [I(38,24)] = {64,0}, + [I(39,24)] = {64,0}, + [I(40,24)] = {64,0}, + [I(41,24)] = {64,0}, + [I(42,24)] = {64,0}, + [I(43,24)] = {64,0}, + [I(44,24)] = {64,0}, + [I(45,24)] = {64,0}, + [I(46,24)] = {64,0}, + [I(47,24)] = {64,0}, + [I(48,24)] = {64,0}, + [I(49,24)] = {64,0}, + [I(50,24)] = {64,0}, + [I(51,24)] = {64,0}, + [I(52,24)] = {64,0}, + [I(53,24)] = {64,0}, + [I(54,24)] = {64,0}, + [I(55,24)] = {64,0}, + [I(56,24)] = {64,0}, + [I(57,24)] = {64,0}, + [I(58,24)] = {64,0}, + [I(59,24)] = {64,0}, + [I(60,24)] = {64,0}, + [I(61,24)] = {64,0}, + [I(62,24)] = {64,0}, + [I(63,24)] = {64,0}, + [I(64,24)] = {64,0}, + [I(65,24)] = {64,0}, + [I(66,24)] = {64,0}, + [I(67,24)] = {64,0}, + [I(68,24)] = {64,0}, + [I(69,24)] = {64,0}, + [I(70,24)] = {64,0}, + [I(71,24)] = {64,0}, + [I(72,24)] = {64,0}, + [I(73,24)] = {64,0}, + [I(74,24)] = {64,0}, + [I(75,24)] = {64,0}, + [I(76,24)] = {64,0}, + [I(77,24)] = {64,0}, + [I(78,24)] = {64,0}, + [I(79,24)] = {64,0}, + [I(80,24)] = {64,0}, + [I(81,24)] = {64,0}, + [I(82,24)] = {64,0}, + [I(83,24)] = {64,0}, + [I(84,24)] = {64,0}, + [I(85,24)] = {64,0}, + [I(86,24)] = {64,0}, + [I(87,24)] = {64,0}, + [I(88,24)] = {64,0}, + [I(89,24)] = {64,0}, + [I(90,24)] = {64,0}, + [I(91,24)] = {64,0}, + [I(92,24)] = {64,0}, + [I(93,24)] = {64,0}, + [I(94,24)] = {64,0}, + [I(95,24)] = {64,0}, + [I(96,24)] = {64,0}, + [I(97,24)] = {64,0}, + [I(98,24)] = {64,0}, + [I(99,24)] = {64,0}, + [I(100,24)] = {64,0}, + [I(101,24)] = {64,0}, + [I(102,24)] = {64,0}, + [I(103,24)] = {64,0}, + [I(104,24)] = {64,0}, + [I(105,24)] = {64,0}, + [I(106,24)] = {64,0}, + [I(107,24)] = {64,0}, + [I(108,24)] = {64,0}, + [I(109,24)] = {64,0}, + [I(110,24)] = {64,0}, + [I(111,24)] = {64,0}, + [I(112,24)] = {64,0}, + [I(113,24)] = {64,0}, + [I(114,24)] = {64,0}, + [I(115,24)] = {64,0}, + [I(116,24)] = {64,0}, + [I(117,24)] = {64,0}, + [I(118,24)] = {64,0}, + [I(119,24)] = {64,0}, + [I(120,24)] = {64,0}, + [I(121,24)] = {64,0}, + [I(122,24)] = {64,0}, + [I(123,24)] = {64,0}, + [I(124,24)] = {64,0}, + [I(125,24)] = {64,0}, + [I(126,24)] = {64,0}, + [I(127,24)] = {64,0}, + [I(128,24)] = {64,0}, + [I(129,24)] = {64,0}, + [I(130,24)] = {64,0}, + [I(131,24)] = {64,0}, + [I(132,24)] = {64,0}, + [I(133,24)] = {64,0}, + [I(134,24)] = {64,0}, + [I(135,24)] = {64,0}, + [I(136,24)] = {64,0}, + [I(137,24)] = {64,0}, + [I(138,24)] = {64,0}, + [I(139,24)] = {64,0}, + [I(140,24)] = {64,0}, + [I(141,24)] = {64,0}, + [I(142,24)] = {64,0}, + [I(143,24)] = {64,0}, + [I(144,24)] = {64,0}, + [I(145,24)] = {64,0}, + [I(146,24)] = {64,0}, + [I(147,24)] = {64,0}, + [I(148,24)] = {64,0}, + [I(149,24)] = {64,0}, + [I(150,24)] = {64,0}, + [I(151,24)] = {64,0}, + [I(152,24)] = {64,0}, + [I(153,24)] = {64,0}, + [I(154,24)] = {64,0}, + [I(155,24)] = {64,0}, + [I(156,24)] = {64,0}, + [I(157,24)] = {64,0}, + [I(158,24)] = {64,0}, + [I(159,24)] = {64,0}, + [I(160,24)] = {64,0}, + [I(161,24)] = {64,0}, + [I(162,24)] = {64,0}, + [I(163,24)] = {64,0}, + [I(164,24)] = {64,0}, + [I(165,24)] = {64,0}, + [I(166,24)] = {64,0}, + [I(167,24)] = {64,0}, + [I(168,24)] = {64,0}, + [I(169,24)] = {64,0}, + [I(170,24)] = {64,0}, + [I(171,24)] = {64,0}, + [I(172,24)] = {64,0}, + [I(173,24)] = {64,0}, + [I(174,24)] = {64,0}, + [I(175,24)] = {64,0}, + [I(176,24)] = {64,0}, + [I(177,24)] = {64,0}, + [I(178,24)] = {64,0}, + [I(179,24)] = {64,0}, + [I(180,24)] = {64,0}, + [I(181,24)] = {64,0}, + [I(182,24)] = {64,0}, + [I(183,24)] = {64,0}, + [I(184,24)] = {64,0}, + [I(185,24)] = {64,0}, + [I(186,24)] = {64,0}, + [I(187,24)] = {64,0}, + [I(188,24)] = {64,0}, + [I(189,24)] = {64,0}, + [I(190,24)] = {64,0}, + [I(191,24)] = {64,0}, + [I(192,24)] = {64,0}, + [I(193,24)] = {64,0}, + [I(194,24)] = {64,0}, + [I(195,24)] = {64,0}, + [I(196,24)] = {64,0}, + [I(197,24)] = {64,0}, + [I(198,24)] = {64,0}, + [I(199,24)] = {64,0}, + [I(200,24)] = {64,0}, + [I(201,24)] = {64,0}, + [I(202,24)] = {64,0}, + [I(203,24)] = {64,0}, + [I(204,24)] = {64,0}, + [I(205,24)] = {64,0}, + [I(206,24)] = {64,0}, + [I(207,24)] = {64,0}, + [I(208,24)] = {64,0}, + [I(209,24)] = {64,0}, + [I(210,24)] = {64,0}, + [I(211,24)] = {64,0}, + [I(212,24)] = {64,0}, + [I(213,24)] = {64,0}, + [I(214,24)] = {64,0}, + [I(215,24)] = {64,0}, + [I(216,24)] = {64,0}, + [I(217,24)] = {64,0}, + [I(218,24)] = {64,0}, + [I(219,24)] = {64,0}, + [I(220,24)] = {64,0}, + [I(221,24)] = {64,0}, + [I(222,24)] = {64,0}, + [I(223,24)] = {64,0}, + [I(224,24)] = {64,0}, + [I(225,24)] = {64,0}, + [I(226,24)] = {64,0}, + [I(227,24)] = {64,0}, + [I(228,24)] = {64,0}, + [I(229,24)] = {64,0}, + [I(230,24)] = {64,0}, + [I(231,24)] = {64,0}, + [I(232,24)] = {64,0}, + [I(233,24)] = {64,0}, + [I(234,24)] = {64,0}, + [I(235,24)] = {64,0}, + [I(236,24)] = {64,0}, + [I(237,24)] = {64,0}, + [I(238,24)] = {64,0}, + [I(239,24)] = {64,0}, + [I(240,24)] = {64,0}, + [I(241,24)] = {64,0}, + [I(242,24)] = {64,0}, + [I(243,24)] = {64,0}, + [I(244,24)] = {64,0}, + [I(245,24)] = {64,0}, + [I(246,24)] = {64,0}, + [I(247,24)] = {64,0}, + [I(248,24)] = {64,0}, + [I(249,24)] = {64,0}, + [I(250,24)] = {64,0}, + [I(251,24)] = {64,0}, + [I(252,24)] = {64,0}, + [I(253,24)] = {64,0}, + [I(254,24)] = {64,0}, + [I(255,24)] = {64,0}, + [I(0,25)] = {64,0}, + [I(1,25)] = {64,0}, + [I(2,25)] = {64,0}, + [I(3,25)] = {64,0}, + [I(4,25)] = {64,0}, + [I(5,25)] = {64,0}, + [I(6,25)] = {64,0}, + [I(7,25)] = {64,0}, + [I(8,25)] = {64,0}, + [I(9,25)] = {64,0}, + [I(10,25)] = {64,0}, + [I(11,25)] = {64,0}, + [I(12,25)] = {64,0}, + [I(13,25)] = {64,0}, + [I(14,25)] = {64,0}, + [I(15,25)] = {64,0}, + [I(16,25)] = {64,0}, + [I(17,25)] = {64,0}, + [I(18,25)] = {64,0}, + [I(19,25)] = {64,0}, + [I(20,25)] = {64,0}, + [I(21,25)] = {64,0}, + [I(22,25)] = {64,0}, + [I(23,25)] = {64,0}, + [I(24,25)] = {64,0}, + [I(25,25)] = {64,0}, + [I(26,25)] = {64,0}, + [I(27,25)] = {64,0}, + [I(28,25)] = {64,0}, + [I(29,25)] = {64,0}, + [I(30,25)] = {64,0}, + [I(31,25)] = {64,0}, + [I(32,25)] = {64,0}, + [I(33,25)] = {64,0}, + [I(34,25)] = {64,0}, + [I(35,25)] = {64,0}, + [I(36,25)] = {64,0}, + [I(37,25)] = {64,0}, + [I(38,25)] = {64,0}, + [I(39,25)] = {64,0}, + [I(40,25)] = {64,0}, + [I(41,25)] = {64,0}, + [I(42,25)] = {64,0}, + [I(43,25)] = {64,0}, + [I(44,25)] = {64,0}, + [I(45,25)] = {64,0}, + [I(46,25)] = {64,0}, + [I(47,25)] = {64,0}, + [I(48,25)] = {64,0}, + [I(49,25)] = {64,0}, + [I(50,25)] = {64,0}, + [I(51,25)] = {64,0}, + [I(52,25)] = {64,0}, + [I(53,25)] = {64,0}, + [I(54,25)] = {64,0}, + [I(55,25)] = {64,0}, + [I(56,25)] = {64,0}, + [I(57,25)] = {64,0}, + [I(58,25)] = {64,0}, + [I(59,25)] = {64,0}, + [I(60,25)] = {64,0}, + [I(61,25)] = {64,0}, + [I(62,25)] = {64,0}, + [I(63,25)] = {64,0}, + [I(64,25)] = {64,0}, + [I(65,25)] = {64,0}, + [I(66,25)] = {64,0}, + [I(67,25)] = {64,0}, + [I(68,25)] = {64,0}, + [I(69,25)] = {64,0}, + [I(70,25)] = {64,0}, + [I(71,25)] = {64,0}, + [I(72,25)] = {64,0}, + [I(73,25)] = {64,0}, + [I(74,25)] = {64,0}, + [I(75,25)] = {64,0}, + [I(76,25)] = {64,0}, + [I(77,25)] = {64,0}, + [I(78,25)] = {64,0}, + [I(79,25)] = {64,0}, + [I(80,25)] = {64,0}, + [I(81,25)] = {64,0}, + [I(82,25)] = {64,0}, + [I(83,25)] = {64,0}, + [I(84,25)] = {64,0}, + [I(85,25)] = {64,0}, + [I(86,25)] = {64,0}, + [I(87,25)] = {64,0}, + [I(88,25)] = {64,0}, + [I(89,25)] = {64,0}, + [I(90,25)] = {64,0}, + [I(91,25)] = {64,0}, + [I(92,25)] = {64,0}, + [I(93,25)] = {64,0}, + [I(94,25)] = {64,0}, + [I(95,25)] = {64,0}, + [I(96,25)] = {64,0}, + [I(97,25)] = {64,0}, + [I(98,25)] = {64,0}, + [I(99,25)] = {64,0}, + [I(100,25)] = {64,0}, + [I(101,25)] = {64,0}, + [I(102,25)] = {64,0}, + [I(103,25)] = {64,0}, + [I(104,25)] = {64,0}, + [I(105,25)] = {64,0}, + [I(106,25)] = {64,0}, + [I(107,25)] = {64,0}, + [I(108,25)] = {64,0}, + [I(109,25)] = {64,0}, + [I(110,25)] = {64,0}, + [I(111,25)] = {64,0}, + [I(112,25)] = {64,0}, + [I(113,25)] = {64,0}, + [I(114,25)] = {64,0}, + [I(115,25)] = {64,0}, + [I(116,25)] = {64,0}, + [I(117,25)] = {64,0}, + [I(118,25)] = {64,0}, + [I(119,25)] = {64,0}, + [I(120,25)] = {64,0}, + [I(121,25)] = {64,0}, + [I(122,25)] = {64,0}, + [I(123,25)] = {64,0}, + [I(124,25)] = {64,0}, + [I(125,25)] = {64,0}, + [I(126,25)] = {64,0}, + [I(127,25)] = {64,0}, + [I(128,25)] = {64,0}, + [I(129,25)] = {64,0}, + [I(130,25)] = {64,0}, + [I(131,25)] = {64,0}, + [I(132,25)] = {64,0}, + [I(133,25)] = {64,0}, + [I(134,25)] = {64,0}, + [I(135,25)] = {64,0}, + [I(136,25)] = {64,0}, + [I(137,25)] = {64,0}, + [I(138,25)] = {64,0}, + [I(139,25)] = {64,0}, + [I(140,25)] = {64,0}, + [I(141,25)] = {64,0}, + [I(142,25)] = {64,0}, + [I(143,25)] = {64,0}, + [I(144,25)] = {64,0}, + [I(145,25)] = {64,0}, + [I(146,25)] = {64,0}, + [I(147,25)] = {64,0}, + [I(148,25)] = {64,0}, + [I(149,25)] = {64,0}, + [I(150,25)] = {64,0}, + [I(151,25)] = {64,0}, + [I(152,25)] = {64,0}, + [I(153,25)] = {64,0}, + [I(154,25)] = {64,0}, + [I(155,25)] = {64,0}, + [I(156,25)] = {64,0}, + [I(157,25)] = {64,0}, + [I(158,25)] = {64,0}, + [I(159,25)] = {64,0}, + [I(160,25)] = {64,0}, + [I(161,25)] = {64,0}, + [I(162,25)] = {64,0}, + [I(163,25)] = {64,0}, + [I(164,25)] = {64,0}, + [I(165,25)] = {64,0}, + [I(166,25)] = {64,0}, + [I(167,25)] = {64,0}, + [I(168,25)] = {64,0}, + [I(169,25)] = {64,0}, + [I(170,25)] = {64,0}, + [I(171,25)] = {64,0}, + [I(172,25)] = {64,0}, + [I(173,25)] = {64,0}, + [I(174,25)] = {64,0}, + [I(175,25)] = {64,0}, + [I(176,25)] = {64,0}, + [I(177,25)] = {64,0}, + [I(178,25)] = {64,0}, + [I(179,25)] = {64,0}, + [I(180,25)] = {64,0}, + [I(181,25)] = {64,0}, + [I(182,25)] = {64,0}, + [I(183,25)] = {64,0}, + [I(184,25)] = {64,0}, + [I(185,25)] = {64,0}, + [I(186,25)] = {64,0}, + [I(187,25)] = {64,0}, + [I(188,25)] = {64,0}, + [I(189,25)] = {64,0}, + [I(190,25)] = {64,0}, + [I(191,25)] = {64,0}, + [I(192,25)] = {64,0}, + [I(193,25)] = {64,0}, + [I(194,25)] = {64,0}, + [I(195,25)] = {64,0}, + [I(196,25)] = {64,0}, + [I(197,25)] = {64,0}, + [I(198,25)] = {64,0}, + [I(199,25)] = {64,0}, + [I(200,25)] = {64,0}, + [I(201,25)] = {64,0}, + [I(202,25)] = {64,0}, + [I(203,25)] = {64,0}, + [I(204,25)] = {64,0}, + [I(205,25)] = {64,0}, + [I(206,25)] = {64,0}, + [I(207,25)] = {64,0}, + [I(208,25)] = {64,0}, + [I(209,25)] = {64,0}, + [I(210,25)] = {64,0}, + [I(211,25)] = {64,0}, + [I(212,25)] = {64,0}, + [I(213,25)] = {64,0}, + [I(214,25)] = {64,0}, + [I(215,25)] = {64,0}, + [I(216,25)] = {64,0}, + [I(217,25)] = {64,0}, + [I(218,25)] = {64,0}, + [I(219,25)] = {64,0}, + [I(220,25)] = {64,0}, + [I(221,25)] = {64,0}, + [I(222,25)] = {64,0}, + [I(223,25)] = {64,0}, + [I(224,25)] = {64,0}, + [I(225,25)] = {64,0}, + [I(226,25)] = {64,0}, + [I(227,25)] = {64,0}, + [I(228,25)] = {64,0}, + [I(229,25)] = {64,0}, + [I(230,25)] = {64,0}, + [I(231,25)] = {64,0}, + [I(232,25)] = {64,0}, + [I(233,25)] = {64,0}, + [I(234,25)] = {64,0}, + [I(235,25)] = {64,0}, + [I(236,25)] = {64,0}, + [I(237,25)] = {64,0}, + [I(238,25)] = {64,0}, + [I(239,25)] = {64,0}, + [I(240,25)] = {64,0}, + [I(241,25)] = {64,0}, + [I(242,25)] = {64,0}, + [I(243,25)] = {64,0}, + [I(244,25)] = {64,0}, + [I(245,25)] = {64,0}, + [I(246,25)] = {64,0}, + [I(247,25)] = {64,0}, + [I(248,25)] = {64,0}, + [I(249,25)] = {64,0}, + [I(250,25)] = {64,0}, + [I(251,25)] = {64,0}, + [I(252,25)] = {64,0}, + [I(253,25)] = {64,0}, + [I(254,25)] = {64,0}, + [I(255,25)] = {64,0}, + [I(0,26)] = {64,0}, + [I(1,26)] = {64,0}, + [I(2,26)] = {64,0}, + [I(3,26)] = {64,0}, + [I(4,26)] = {64,0}, + [I(5,26)] = {64,0}, + [I(6,26)] = {64,0}, + [I(7,26)] = {64,0}, + [I(8,26)] = {64,0}, + [I(9,26)] = {64,0}, + [I(10,26)] = {64,0}, + [I(11,26)] = {64,0}, + [I(12,26)] = {64,0}, + [I(13,26)] = {64,0}, + [I(14,26)] = {64,0}, + [I(15,26)] = {64,0}, + [I(16,26)] = {64,0}, + [I(17,26)] = {64,0}, + [I(18,26)] = {64,0}, + [I(19,26)] = {64,0}, + [I(20,26)] = {64,0}, + [I(21,26)] = {64,0}, + [I(22,26)] = {64,0}, + [I(23,26)] = {64,0}, + [I(24,26)] = {64,0}, + [I(25,26)] = {64,0}, + [I(26,26)] = {64,0}, + [I(27,26)] = {64,0}, + [I(28,26)] = {64,0}, + [I(29,26)] = {64,0}, + [I(30,26)] = {64,0}, + [I(31,26)] = {64,0}, + [I(32,26)] = {64,0}, + [I(33,26)] = {64,0}, + [I(34,26)] = {64,0}, + [I(35,26)] = {64,0}, + [I(36,26)] = {64,0}, + [I(37,26)] = {64,0}, + [I(38,26)] = {64,0}, + [I(39,26)] = {64,0}, + [I(40,26)] = {64,0}, + [I(41,26)] = {64,0}, + [I(42,26)] = {64,0}, + [I(43,26)] = {64,0}, + [I(44,26)] = {64,0}, + [I(45,26)] = {64,0}, + [I(46,26)] = {64,0}, + [I(47,26)] = {64,0}, + [I(48,26)] = {64,0}, + [I(49,26)] = {64,0}, + [I(50,26)] = {64,0}, + [I(51,26)] = {64,0}, + [I(52,26)] = {64,0}, + [I(53,26)] = {64,0}, + [I(54,26)] = {64,0}, + [I(55,26)] = {64,0}, + [I(56,26)] = {64,0}, + [I(57,26)] = {64,0}, + [I(58,26)] = {64,0}, + [I(59,26)] = {64,0}, + [I(60,26)] = {64,0}, + [I(61,26)] = {64,0}, + [I(62,26)] = {64,0}, + [I(63,26)] = {64,0}, + [I(64,26)] = {64,0}, + [I(65,26)] = {64,0}, + [I(66,26)] = {64,0}, + [I(67,26)] = {64,0}, + [I(68,26)] = {64,0}, + [I(69,26)] = {64,0}, + [I(70,26)] = {64,0}, + [I(71,26)] = {64,0}, + [I(72,26)] = {64,0}, + [I(73,26)] = {64,0}, + [I(74,26)] = {64,0}, + [I(75,26)] = {64,0}, + [I(76,26)] = {64,0}, + [I(77,26)] = {64,0}, + [I(78,26)] = {64,0}, + [I(79,26)] = {64,0}, + [I(80,26)] = {64,0}, + [I(81,26)] = {64,0}, + [I(82,26)] = {64,0}, + [I(83,26)] = {64,0}, + [I(84,26)] = {64,0}, + [I(85,26)] = {64,0}, + [I(86,26)] = {64,0}, + [I(87,26)] = {64,0}, + [I(88,26)] = {64,0}, + [I(89,26)] = {64,0}, + [I(90,26)] = {64,0}, + [I(91,26)] = {64,0}, + [I(92,26)] = {64,0}, + [I(93,26)] = {64,0}, + [I(94,26)] = {64,0}, + [I(95,26)] = {64,0}, + [I(96,26)] = {64,0}, + [I(97,26)] = {64,0}, + [I(98,26)] = {64,0}, + [I(99,26)] = {64,0}, + [I(100,26)] = {64,0}, + [I(101,26)] = {64,0}, + [I(102,26)] = {64,0}, + [I(103,26)] = {64,0}, + [I(104,26)] = {64,0}, + [I(105,26)] = {64,0}, + [I(106,26)] = {64,0}, + [I(107,26)] = {64,0}, + [I(108,26)] = {64,0}, + [I(109,26)] = {64,0}, + [I(110,26)] = {64,0}, + [I(111,26)] = {64,0}, + [I(112,26)] = {64,0}, + [I(113,26)] = {64,0}, + [I(114,26)] = {64,0}, + [I(115,26)] = {64,0}, + [I(116,26)] = {64,0}, + [I(117,26)] = {64,0}, + [I(118,26)] = {64,0}, + [I(119,26)] = {64,0}, + [I(120,26)] = {64,0}, + [I(121,26)] = {64,0}, + [I(122,26)] = {64,0}, + [I(123,26)] = {64,0}, + [I(124,26)] = {64,0}, + [I(125,26)] = {64,0}, + [I(126,26)] = {64,0}, + [I(127,26)] = {64,0}, + [I(128,26)] = {64,0}, + [I(129,26)] = {64,0}, + [I(130,26)] = {64,0}, + [I(131,26)] = {64,0}, + [I(132,26)] = {64,0}, + [I(133,26)] = {64,0}, + [I(134,26)] = {64,0}, + [I(135,26)] = {64,0}, + [I(136,26)] = {64,0}, + [I(137,26)] = {64,0}, + [I(138,26)] = {64,0}, + [I(139,26)] = {64,0}, + [I(140,26)] = {64,0}, + [I(141,26)] = {64,0}, + [I(142,26)] = {64,0}, + [I(143,26)] = {64,0}, + [I(144,26)] = {64,0}, + [I(145,26)] = {64,0}, + [I(146,26)] = {64,0}, + [I(147,26)] = {64,0}, + [I(148,26)] = {64,0}, + [I(149,26)] = {64,0}, + [I(150,26)] = {64,0}, + [I(151,26)] = {64,0}, + [I(152,26)] = {64,0}, + [I(153,26)] = {64,0}, + [I(154,26)] = {64,0}, + [I(155,26)] = {64,0}, + [I(156,26)] = {64,0}, + [I(157,26)] = {64,0}, + [I(158,26)] = {64,0}, + [I(159,26)] = {64,0}, + [I(160,26)] = {64,0}, + [I(161,26)] = {64,0}, + [I(162,26)] = {64,0}, + [I(163,26)] = {64,0}, + [I(164,26)] = {64,0}, + [I(165,26)] = {64,0}, + [I(166,26)] = {64,0}, + [I(167,26)] = {64,0}, + [I(168,26)] = {64,0}, + [I(169,26)] = {64,0}, + [I(170,26)] = {64,0}, + [I(171,26)] = {64,0}, + [I(172,26)] = {64,0}, + [I(173,26)] = {64,0}, + [I(174,26)] = {64,0}, + [I(175,26)] = {64,0}, + [I(176,26)] = {64,0}, + [I(177,26)] = {64,0}, + [I(178,26)] = {64,0}, + [I(179,26)] = {64,0}, + [I(180,26)] = {64,0}, + [I(181,26)] = {64,0}, + [I(182,26)] = {64,0}, + [I(183,26)] = {64,0}, + [I(184,26)] = {64,0}, + [I(185,26)] = {64,0}, + [I(186,26)] = {64,0}, + [I(187,26)] = {64,0}, + [I(188,26)] = {64,0}, + [I(189,26)] = {64,0}, + [I(190,26)] = {64,0}, + [I(191,26)] = {64,0}, + [I(192,26)] = {64,0}, + [I(193,26)] = {64,0}, + [I(194,26)] = {64,0}, + [I(195,26)] = {64,0}, + [I(196,26)] = {64,0}, + [I(197,26)] = {64,0}, + [I(198,26)] = {64,0}, + [I(199,26)] = {64,0}, + [I(200,26)] = {64,0}, + [I(201,26)] = {64,0}, + [I(202,26)] = {64,0}, + [I(203,26)] = {64,0}, + [I(204,26)] = {64,0}, + [I(205,26)] = {64,0}, + [I(206,26)] = {64,0}, + [I(207,26)] = {64,0}, + [I(208,26)] = {64,0}, + [I(209,26)] = {64,0}, + [I(210,26)] = {64,0}, + [I(211,26)] = {64,0}, + [I(212,26)] = {64,0}, + [I(213,26)] = {64,0}, + [I(214,26)] = {64,0}, + [I(215,26)] = {64,0}, + [I(216,26)] = {64,0}, + [I(217,26)] = {64,0}, + [I(218,26)] = {64,0}, + [I(219,26)] = {64,0}, + [I(220,26)] = {64,0}, + [I(221,26)] = {64,0}, + [I(222,26)] = {64,0}, + [I(223,26)] = {64,0}, + [I(224,26)] = {64,0}, + [I(225,26)] = {64,0}, + [I(226,26)] = {64,0}, + [I(227,26)] = {64,0}, + [I(228,26)] = {64,0}, + [I(229,26)] = {64,0}, + [I(230,26)] = {64,0}, + [I(231,26)] = {64,0}, + [I(232,26)] = {64,0}, + [I(233,26)] = {64,0}, + [I(234,26)] = {64,0}, + [I(235,26)] = {64,0}, + [I(236,26)] = {64,0}, + [I(237,26)] = {64,0}, + [I(238,26)] = {64,0}, + [I(239,26)] = {64,0}, + [I(240,26)] = {64,0}, + [I(241,26)] = {64,0}, + [I(242,26)] = {64,0}, + [I(243,26)] = {64,0}, + [I(244,26)] = {64,0}, + [I(245,26)] = {64,0}, + [I(246,26)] = {64,0}, + [I(247,26)] = {64,0}, + [I(248,26)] = {64,0}, + [I(249,26)] = {64,0}, + [I(250,26)] = {64,0}, + [I(251,26)] = {64,0}, + [I(252,26)] = {64,0}, + [I(253,26)] = {64,0}, + [I(254,26)] = {64,0}, + [I(255,26)] = {64,0}, + [I(0,27)] = {64,0}, + [I(1,27)] = {64,0}, + [I(2,27)] = {64,0}, + [I(3,27)] = {64,0}, + [I(4,27)] = {64,0}, + [I(5,27)] = {64,0}, + [I(6,27)] = {64,0}, + [I(7,27)] = {64,0}, + [I(8,27)] = {64,0}, + [I(9,27)] = {64,0}, + [I(10,27)] = {64,0}, + [I(11,27)] = {64,0}, + [I(12,27)] = {64,0}, + [I(13,27)] = {64,0}, + [I(14,27)] = {64,0}, + [I(15,27)] = {64,0}, + [I(16,27)] = {64,0}, + [I(17,27)] = {64,0}, + [I(18,27)] = {64,0}, + [I(19,27)] = {64,0}, + [I(20,27)] = {64,0}, + [I(21,27)] = {64,0}, + [I(22,27)] = {64,0}, + [I(23,27)] = {64,0}, + [I(24,27)] = {64,0}, + [I(25,27)] = {64,0}, + [I(26,27)] = {64,0}, + [I(27,27)] = {64,0}, + [I(28,27)] = {64,0}, + [I(29,27)] = {64,0}, + [I(30,27)] = {64,0}, + [I(31,27)] = {64,0}, + [I(32,27)] = {64,0}, + [I(33,27)] = {64,0}, + [I(34,27)] = {64,0}, + [I(35,27)] = {64,0}, + [I(36,27)] = {64,0}, + [I(37,27)] = {64,0}, + [I(38,27)] = {64,0}, + [I(39,27)] = {64,0}, + [I(40,27)] = {64,0}, + [I(41,27)] = {64,0}, + [I(42,27)] = {64,0}, + [I(43,27)] = {64,0}, + [I(44,27)] = {64,0}, + [I(45,27)] = {64,0}, + [I(46,27)] = {64,0}, + [I(47,27)] = {64,0}, + [I(48,27)] = {64,0}, + [I(49,27)] = {64,0}, + [I(50,27)] = {64,0}, + [I(51,27)] = {64,0}, + [I(52,27)] = {64,0}, + [I(53,27)] = {64,0}, + [I(54,27)] = {64,0}, + [I(55,27)] = {64,0}, + [I(56,27)] = {64,0}, + [I(57,27)] = {64,0}, + [I(58,27)] = {64,0}, + [I(59,27)] = {64,0}, + [I(60,27)] = {64,0}, + [I(61,27)] = {64,0}, + [I(62,27)] = {64,0}, + [I(63,27)] = {64,0}, + [I(64,27)] = {64,0}, + [I(65,27)] = {64,0}, + [I(66,27)] = {64,0}, + [I(67,27)] = {64,0}, + [I(68,27)] = {64,0}, + [I(69,27)] = {64,0}, + [I(70,27)] = {64,0}, + [I(71,27)] = {64,0}, + [I(72,27)] = {64,0}, + [I(73,27)] = {64,0}, + [I(74,27)] = {64,0}, + [I(75,27)] = {64,0}, + [I(76,27)] = {64,0}, + [I(77,27)] = {64,0}, + [I(78,27)] = {64,0}, + [I(79,27)] = {64,0}, + [I(80,27)] = {64,0}, + [I(81,27)] = {64,0}, + [I(82,27)] = {64,0}, + [I(83,27)] = {64,0}, + [I(84,27)] = {64,0}, + [I(85,27)] = {64,0}, + [I(86,27)] = {64,0}, + [I(87,27)] = {64,0}, + [I(88,27)] = {64,0}, + [I(89,27)] = {64,0}, + [I(90,27)] = {64,0}, + [I(91,27)] = {64,0}, + [I(92,27)] = {64,0}, + [I(93,27)] = {64,0}, + [I(94,27)] = {64,0}, + [I(95,27)] = {64,0}, + [I(96,27)] = {64,0}, + [I(97,27)] = {64,0}, + [I(98,27)] = {64,0}, + [I(99,27)] = {64,0}, + [I(100,27)] = {64,0}, + [I(101,27)] = {64,0}, + [I(102,27)] = {64,0}, + [I(103,27)] = {64,0}, + [I(104,27)] = {64,0}, + [I(105,27)] = {64,0}, + [I(106,27)] = {64,0}, + [I(107,27)] = {64,0}, + [I(108,27)] = {64,0}, + [I(109,27)] = {64,0}, + [I(110,27)] = {64,0}, + [I(111,27)] = {64,0}, + [I(112,27)] = {64,0}, + [I(113,27)] = {64,0}, + [I(114,27)] = {64,0}, + [I(115,27)] = {64,0}, + [I(116,27)] = {64,0}, + [I(117,27)] = {64,0}, + [I(118,27)] = {64,0}, + [I(119,27)] = {64,0}, + [I(120,27)] = {64,0}, + [I(121,27)] = {64,0}, + [I(122,27)] = {64,0}, + [I(123,27)] = {64,0}, + [I(124,27)] = {64,0}, + [I(125,27)] = {64,0}, + [I(126,27)] = {64,0}, + [I(127,27)] = {64,0}, + [I(128,27)] = {64,0}, + [I(129,27)] = {64,0}, + [I(130,27)] = {64,0}, + [I(131,27)] = {64,0}, + [I(132,27)] = {64,0}, + [I(133,27)] = {64,0}, + [I(134,27)] = {64,0}, + [I(135,27)] = {64,0}, + [I(136,27)] = {64,0}, + [I(137,27)] = {64,0}, + [I(138,27)] = {64,0}, + [I(139,27)] = {64,0}, + [I(140,27)] = {64,0}, + [I(141,27)] = {64,0}, + [I(142,27)] = {64,0}, + [I(143,27)] = {64,0}, + [I(144,27)] = {64,0}, + [I(145,27)] = {64,0}, + [I(146,27)] = {64,0}, + [I(147,27)] = {64,0}, + [I(148,27)] = {64,0}, + [I(149,27)] = {64,0}, + [I(150,27)] = {64,0}, + [I(151,27)] = {64,0}, + [I(152,27)] = {64,0}, + [I(153,27)] = {64,0}, + [I(154,27)] = {64,0}, + [I(155,27)] = {64,0}, + [I(156,27)] = {64,0}, + [I(157,27)] = {64,0}, + [I(158,27)] = {64,0}, + [I(159,27)] = {64,0}, + [I(160,27)] = {64,0}, + [I(161,27)] = {64,0}, + [I(162,27)] = {64,0}, + [I(163,27)] = {64,0}, + [I(164,27)] = {64,0}, + [I(165,27)] = {64,0}, + [I(166,27)] = {64,0}, + [I(167,27)] = {64,0}, + [I(168,27)] = {64,0}, + [I(169,27)] = {64,0}, + [I(170,27)] = {64,0}, + [I(171,27)] = {64,0}, + [I(172,27)] = {64,0}, + [I(173,27)] = {64,0}, + [I(174,27)] = {64,0}, + [I(175,27)] = {64,0}, + [I(176,27)] = {64,0}, + [I(177,27)] = {64,0}, + [I(178,27)] = {64,0}, + [I(179,27)] = {64,0}, + [I(180,27)] = {64,0}, + [I(181,27)] = {64,0}, + [I(182,27)] = {64,0}, + [I(183,27)] = {64,0}, + [I(184,27)] = {64,0}, + [I(185,27)] = {64,0}, + [I(186,27)] = {64,0}, + [I(187,27)] = {64,0}, + [I(188,27)] = {64,0}, + [I(189,27)] = {64,0}, + [I(190,27)] = {64,0}, + [I(191,27)] = {64,0}, + [I(192,27)] = {64,0}, + [I(193,27)] = {64,0}, + [I(194,27)] = {64,0}, + [I(195,27)] = {64,0}, + [I(196,27)] = {64,0}, + [I(197,27)] = {64,0}, + [I(198,27)] = {64,0}, + [I(199,27)] = {64,0}, + [I(200,27)] = {64,0}, + [I(201,27)] = {64,0}, + [I(202,27)] = {64,0}, + [I(203,27)] = {64,0}, + [I(204,27)] = {64,0}, + [I(205,27)] = {64,0}, + [I(206,27)] = {64,0}, + [I(207,27)] = {64,0}, + [I(208,27)] = {64,0}, + [I(209,27)] = {64,0}, + [I(210,27)] = {64,0}, + [I(211,27)] = {64,0}, + [I(212,27)] = {64,0}, + [I(213,27)] = {64,0}, + [I(214,27)] = {64,0}, + [I(215,27)] = {64,0}, + [I(216,27)] = {64,0}, + [I(217,27)] = {64,0}, + [I(218,27)] = {64,0}, + [I(219,27)] = {64,0}, + [I(220,27)] = {64,0}, + [I(221,27)] = {64,0}, + [I(222,27)] = {64,0}, + [I(223,27)] = {64,0}, + [I(224,27)] = {64,0}, + [I(225,27)] = {64,0}, + [I(226,27)] = {64,0}, + [I(227,27)] = {64,0}, + [I(228,27)] = {64,0}, + [I(229,27)] = {64,0}, + [I(230,27)] = {64,0}, + [I(231,27)] = {64,0}, + [I(232,27)] = {64,0}, + [I(233,27)] = {64,0}, + [I(234,27)] = {64,0}, + [I(235,27)] = {64,0}, + [I(236,27)] = {64,0}, + [I(237,27)] = {64,0}, + [I(238,27)] = {64,0}, + [I(239,27)] = {64,0}, + [I(240,27)] = {64,0}, + [I(241,27)] = {64,0}, + [I(242,27)] = {64,0}, + [I(243,27)] = {64,0}, + [I(244,27)] = {64,0}, + [I(245,27)] = {64,0}, + [I(246,27)] = {64,0}, + [I(247,27)] = {64,0}, + [I(248,27)] = {64,0}, + [I(249,27)] = {64,0}, + [I(250,27)] = {64,0}, + [I(251,27)] = {64,0}, + [I(252,27)] = {64,0}, + [I(253,27)] = {64,0}, + [I(254,27)] = {64,0}, + [I(255,27)] = {64,0}, + [I(0,28)] = {64,0}, + [I(1,28)] = {64,0}, + [I(2,28)] = {64,0}, + [I(3,28)] = {64,0}, + [I(4,28)] = {64,0}, + [I(5,28)] = {64,0}, + [I(6,28)] = {64,0}, + [I(7,28)] = {64,0}, + [I(8,28)] = {64,0}, + [I(9,28)] = {64,0}, + [I(10,28)] = {64,0}, + [I(11,28)] = {64,0}, + [I(12,28)] = {64,0}, + [I(13,28)] = {64,0}, + [I(14,28)] = {64,0}, + [I(15,28)] = {64,0}, + [I(16,28)] = {64,0}, + [I(17,28)] = {64,0}, + [I(18,28)] = {64,0}, + [I(19,28)] = {64,0}, + [I(20,28)] = {64,0}, + [I(21,28)] = {64,0}, + [I(22,28)] = {64,0}, + [I(23,28)] = {64,0}, + [I(24,28)] = {64,0}, + [I(25,28)] = {64,0}, + [I(26,28)] = {64,0}, + [I(27,28)] = {64,0}, + [I(28,28)] = {64,0}, + [I(29,28)] = {64,0}, + [I(30,28)] = {64,0}, + [I(31,28)] = {64,0}, + [I(32,28)] = {64,0}, + [I(33,28)] = {64,0}, + [I(34,28)] = {64,0}, + [I(35,28)] = {64,0}, + [I(36,28)] = {64,0}, + [I(37,28)] = {64,0}, + [I(38,28)] = {64,0}, + [I(39,28)] = {64,0}, + [I(40,28)] = {64,0}, + [I(41,28)] = {64,0}, + [I(42,28)] = {64,0}, + [I(43,28)] = {64,0}, + [I(44,28)] = {64,0}, + [I(45,28)] = {64,0}, + [I(46,28)] = {64,0}, + [I(47,28)] = {64,0}, + [I(48,28)] = {64,0}, + [I(49,28)] = {64,0}, + [I(50,28)] = {64,0}, + [I(51,28)] = {64,0}, + [I(52,28)] = {64,0}, + [I(53,28)] = {64,0}, + [I(54,28)] = {64,0}, + [I(55,28)] = {64,0}, + [I(56,28)] = {64,0}, + [I(57,28)] = {64,0}, + [I(58,28)] = {64,0}, + [I(59,28)] = {64,0}, + [I(60,28)] = {64,0}, + [I(61,28)] = {64,0}, + [I(62,28)] = {64,0}, + [I(63,28)] = {64,0}, + [I(64,28)] = {64,0}, + [I(65,28)] = {64,0}, + [I(66,28)] = {64,0}, + [I(67,28)] = {64,0}, + [I(68,28)] = {64,0}, + [I(69,28)] = {64,0}, + [I(70,28)] = {64,0}, + [I(71,28)] = {64,0}, + [I(72,28)] = {64,0}, + [I(73,28)] = {64,0}, + [I(74,28)] = {64,0}, + [I(75,28)] = {64,0}, + [I(76,28)] = {64,0}, + [I(77,28)] = {64,0}, + [I(78,28)] = {64,0}, + [I(79,28)] = {64,0}, + [I(80,28)] = {64,0}, + [I(81,28)] = {64,0}, + [I(82,28)] = {64,0}, + [I(83,28)] = {64,0}, + [I(84,28)] = {64,0}, + [I(85,28)] = {64,0}, + [I(86,28)] = {64,0}, + [I(87,28)] = {64,0}, + [I(88,28)] = {64,0}, + [I(89,28)] = {64,0}, + [I(90,28)] = {64,0}, + [I(91,28)] = {64,0}, + [I(92,28)] = {64,0}, + [I(93,28)] = {64,0}, + [I(94,28)] = {64,0}, + [I(95,28)] = {64,0}, + [I(96,28)] = {64,0}, + [I(97,28)] = {64,0}, + [I(98,28)] = {64,0}, + [I(99,28)] = {64,0}, + [I(100,28)] = {64,0}, + [I(101,28)] = {64,0}, + [I(102,28)] = {64,0}, + [I(103,28)] = {64,0}, + [I(104,28)] = {64,0}, + [I(105,28)] = {64,0}, + [I(106,28)] = {64,0}, + [I(107,28)] = {64,0}, + [I(108,28)] = {64,0}, + [I(109,28)] = {64,0}, + [I(110,28)] = {64,0}, + [I(111,28)] = {64,0}, + [I(112,28)] = {64,0}, + [I(113,28)] = {64,0}, + [I(114,28)] = {64,0}, + [I(115,28)] = {64,0}, + [I(116,28)] = {64,0}, + [I(117,28)] = {64,0}, + [I(118,28)] = {64,0}, + [I(119,28)] = {64,0}, + [I(120,28)] = {64,0}, + [I(121,28)] = {64,0}, + [I(122,28)] = {64,0}, + [I(123,28)] = {64,0}, + [I(124,28)] = {64,0}, + [I(125,28)] = {64,0}, + [I(126,28)] = {64,0}, + [I(127,28)] = {64,0}, + [I(128,28)] = {64,0}, + [I(129,28)] = {64,0}, + [I(130,28)] = {64,0}, + [I(131,28)] = {64,0}, + [I(132,28)] = {64,0}, + [I(133,28)] = {64,0}, + [I(134,28)] = {64,0}, + [I(135,28)] = {64,0}, + [I(136,28)] = {64,0}, + [I(137,28)] = {64,0}, + [I(138,28)] = {64,0}, + [I(139,28)] = {64,0}, + [I(140,28)] = {64,0}, + [I(141,28)] = {64,0}, + [I(142,28)] = {64,0}, + [I(143,28)] = {64,0}, + [I(144,28)] = {64,0}, + [I(145,28)] = {64,0}, + [I(146,28)] = {64,0}, + [I(147,28)] = {64,0}, + [I(148,28)] = {64,0}, + [I(149,28)] = {64,0}, + [I(150,28)] = {64,0}, + [I(151,28)] = {64,0}, + [I(152,28)] = {64,0}, + [I(153,28)] = {64,0}, + [I(154,28)] = {64,0}, + [I(155,28)] = {64,0}, + [I(156,28)] = {64,0}, + [I(157,28)] = {64,0}, + [I(158,28)] = {64,0}, + [I(159,28)] = {64,0}, + [I(160,28)] = {64,0}, + [I(161,28)] = {64,0}, + [I(162,28)] = {64,0}, + [I(163,28)] = {64,0}, + [I(164,28)] = {64,0}, + [I(165,28)] = {64,0}, + [I(166,28)] = {64,0}, + [I(167,28)] = {64,0}, + [I(168,28)] = {64,0}, + [I(169,28)] = {64,0}, + [I(170,28)] = {64,0}, + [I(171,28)] = {64,0}, + [I(172,28)] = {64,0}, + [I(173,28)] = {64,0}, + [I(174,28)] = {64,0}, + [I(175,28)] = {64,0}, + [I(176,28)] = {64,0}, + [I(177,28)] = {64,0}, + [I(178,28)] = {64,0}, + [I(179,28)] = {64,0}, + [I(180,28)] = {64,0}, + [I(181,28)] = {64,0}, + [I(182,28)] = {64,0}, + [I(183,28)] = {64,0}, + [I(184,28)] = {64,0}, + [I(185,28)] = {64,0}, + [I(186,28)] = {64,0}, + [I(187,28)] = {64,0}, + [I(188,28)] = {64,0}, + [I(189,28)] = {64,0}, + [I(190,28)] = {64,0}, + [I(191,28)] = {64,0}, + [I(192,28)] = {64,0}, + [I(193,28)] = {64,0}, + [I(194,28)] = {64,0}, + [I(195,28)] = {64,0}, + [I(196,28)] = {64,0}, + [I(197,28)] = {64,0}, + [I(198,28)] = {64,0}, + [I(199,28)] = {64,0}, + [I(200,28)] = {64,0}, + [I(201,28)] = {64,0}, + [I(202,28)] = {64,0}, + [I(203,28)] = {64,0}, + [I(204,28)] = {64,0}, + [I(205,28)] = {64,0}, + [I(206,28)] = {64,0}, + [I(207,28)] = {64,0}, + [I(208,28)] = {64,0}, + [I(209,28)] = {64,0}, + [I(210,28)] = {64,0}, + [I(211,28)] = {64,0}, + [I(212,28)] = {64,0}, + [I(213,28)] = {64,0}, + [I(214,28)] = {64,0}, + [I(215,28)] = {64,0}, + [I(216,28)] = {64,0}, + [I(217,28)] = {64,0}, + [I(218,28)] = {64,0}, + [I(219,28)] = {64,0}, + [I(220,28)] = {64,0}, + [I(221,28)] = {64,0}, + [I(222,28)] = {64,0}, + [I(223,28)] = {64,0}, + [I(224,28)] = {64,0}, + [I(225,28)] = {64,0}, + [I(226,28)] = {64,0}, + [I(227,28)] = {64,0}, + [I(228,28)] = {64,0}, + [I(229,28)] = {64,0}, + [I(230,28)] = {64,0}, + [I(231,28)] = {64,0}, + [I(232,28)] = {64,0}, + [I(233,28)] = {64,0}, + [I(234,28)] = {64,0}, + [I(235,28)] = {64,0}, + [I(236,28)] = {64,0}, + [I(237,28)] = {64,0}, + [I(238,28)] = {64,0}, + [I(239,28)] = {64,0}, + [I(240,28)] = {64,0}, + [I(241,28)] = {64,0}, + [I(242,28)] = {64,0}, + [I(243,28)] = {64,0}, + [I(244,28)] = {64,0}, + [I(245,28)] = {64,0}, + [I(246,28)] = {64,0}, + [I(247,28)] = {64,0}, + [I(248,28)] = {64,0}, + [I(249,28)] = {64,0}, + [I(250,28)] = {64,0}, + [I(251,28)] = {64,0}, + [I(252,28)] = {64,0}, + [I(253,28)] = {64,0}, + [I(254,28)] = {64,0}, + [I(255,28)] = {64,0}, + [I(0,29)] = {64,0}, + [I(1,29)] = {64,0}, + [I(2,29)] = {64,0}, + [I(3,29)] = {64,0}, + [I(4,29)] = {64,0}, + [I(5,29)] = {64,0}, + [I(6,29)] = {64,0}, + [I(7,29)] = {64,0}, + [I(8,29)] = {64,0}, + [I(9,29)] = {64,0}, + [I(10,29)] = {64,0}, + [I(11,29)] = {64,0}, + [I(12,29)] = {64,0}, + [I(13,29)] = {64,0}, + [I(14,29)] = {64,0}, + [I(15,29)] = {64,0}, + [I(16,29)] = {64,0}, + [I(17,29)] = {64,0}, + [I(18,29)] = {64,0}, + [I(19,29)] = {64,0}, + [I(20,29)] = {64,0}, + [I(21,29)] = {64,0}, + [I(22,29)] = {64,0}, + [I(23,29)] = {64,0}, + [I(24,29)] = {64,0}, + [I(25,29)] = {64,0}, + [I(26,29)] = {64,0}, + [I(27,29)] = {64,0}, + [I(28,29)] = {64,0}, + [I(29,29)] = {64,0}, + [I(30,29)] = {64,0}, + [I(31,29)] = {64,0}, + [I(32,29)] = {64,0}, + [I(33,29)] = {64,0}, + [I(34,29)] = {64,0}, + [I(35,29)] = {64,0}, + [I(36,29)] = {64,0}, + [I(37,29)] = {64,0}, + [I(38,29)] = {64,0}, + [I(39,29)] = {64,0}, + [I(40,29)] = {64,0}, + [I(41,29)] = {64,0}, + [I(42,29)] = {64,0}, + [I(43,29)] = {64,0}, + [I(44,29)] = {64,0}, + [I(45,29)] = {64,0}, + [I(46,29)] = {64,0}, + [I(47,29)] = {64,0}, + [I(48,29)] = {64,0}, + [I(49,29)] = {64,0}, + [I(50,29)] = {64,0}, + [I(51,29)] = {64,0}, + [I(52,29)] = {64,0}, + [I(53,29)] = {64,0}, + [I(54,29)] = {64,0}, + [I(55,29)] = {64,0}, + [I(56,29)] = {64,0}, + [I(57,29)] = {64,0}, + [I(58,29)] = {64,0}, + [I(59,29)] = {64,0}, + [I(60,29)] = {64,0}, + [I(61,29)] = {64,0}, + [I(62,29)] = {64,0}, + [I(63,29)] = {64,0}, + [I(64,29)] = {64,0}, + [I(65,29)] = {64,0}, + [I(66,29)] = {64,0}, + [I(67,29)] = {64,0}, + [I(68,29)] = {64,0}, + [I(69,29)] = {64,0}, + [I(70,29)] = {64,0}, + [I(71,29)] = {64,0}, + [I(72,29)] = {64,0}, + [I(73,29)] = {64,0}, + [I(74,29)] = {64,0}, + [I(75,29)] = {64,0}, + [I(76,29)] = {64,0}, + [I(77,29)] = {64,0}, + [I(78,29)] = {64,0}, + [I(79,29)] = {64,0}, + [I(80,29)] = {64,0}, + [I(81,29)] = {64,0}, + [I(82,29)] = {64,0}, + [I(83,29)] = {64,0}, + [I(84,29)] = {64,0}, + [I(85,29)] = {64,0}, + [I(86,29)] = {64,0}, + [I(87,29)] = {64,0}, + [I(88,29)] = {64,0}, + [I(89,29)] = {64,0}, + [I(90,29)] = {64,0}, + [I(91,29)] = {64,0}, + [I(92,29)] = {64,0}, + [I(93,29)] = {64,0}, + [I(94,29)] = {64,0}, + [I(95,29)] = {64,0}, + [I(96,29)] = {64,0}, + [I(97,29)] = {64,0}, + [I(98,29)] = {64,0}, + [I(99,29)] = {64,0}, + [I(100,29)] = {64,0}, + [I(101,29)] = {64,0}, + [I(102,29)] = {64,0}, + [I(103,29)] = {64,0}, + [I(104,29)] = {64,0}, + [I(105,29)] = {64,0}, + [I(106,29)] = {64,0}, + [I(107,29)] = {64,0}, + [I(108,29)] = {64,0}, + [I(109,29)] = {64,0}, + [I(110,29)] = {64,0}, + [I(111,29)] = {64,0}, + [I(112,29)] = {64,0}, + [I(113,29)] = {64,0}, + [I(114,29)] = {64,0}, + [I(115,29)] = {64,0}, + [I(116,29)] = {64,0}, + [I(117,29)] = {64,0}, + [I(118,29)] = {64,0}, + [I(119,29)] = {64,0}, + [I(120,29)] = {64,0}, + [I(121,29)] = {64,0}, + [I(122,29)] = {64,0}, + [I(123,29)] = {64,0}, + [I(124,29)] = {64,0}, + [I(125,29)] = {64,0}, + [I(126,29)] = {64,0}, + [I(127,29)] = {64,0}, + [I(128,29)] = {64,0}, + [I(129,29)] = {64,0}, + [I(130,29)] = {64,0}, + [I(131,29)] = {64,0}, + [I(132,29)] = {64,0}, + [I(133,29)] = {64,0}, + [I(134,29)] = {64,0}, + [I(135,29)] = {64,0}, + [I(136,29)] = {64,0}, + [I(137,29)] = {64,0}, + [I(138,29)] = {64,0}, + [I(139,29)] = {64,0}, + [I(140,29)] = {64,0}, + [I(141,29)] = {64,0}, + [I(142,29)] = {64,0}, + [I(143,29)] = {64,0}, + [I(144,29)] = {64,0}, + [I(145,29)] = {64,0}, + [I(146,29)] = {64,0}, + [I(147,29)] = {64,0}, + [I(148,29)] = {64,0}, + [I(149,29)] = {64,0}, + [I(150,29)] = {64,0}, + [I(151,29)] = {64,0}, + [I(152,29)] = {64,0}, + [I(153,29)] = {64,0}, + [I(154,29)] = {64,0}, + [I(155,29)] = {64,0}, + [I(156,29)] = {64,0}, + [I(157,29)] = {64,0}, + [I(158,29)] = {64,0}, + [I(159,29)] = {64,0}, + [I(160,29)] = {64,0}, + [I(161,29)] = {64,0}, + [I(162,29)] = {64,0}, + [I(163,29)] = {64,0}, + [I(164,29)] = {64,0}, + [I(165,29)] = {64,0}, + [I(166,29)] = {64,0}, + [I(167,29)] = {64,0}, + [I(168,29)] = {64,0}, + [I(169,29)] = {64,0}, + [I(170,29)] = {64,0}, + [I(171,29)] = {64,0}, + [I(172,29)] = {64,0}, + [I(173,29)] = {64,0}, + [I(174,29)] = {64,0}, + [I(175,29)] = {64,0}, + [I(176,29)] = {64,0}, + [I(177,29)] = {64,0}, + [I(178,29)] = {64,0}, + [I(179,29)] = {64,0}, + [I(180,29)] = {64,0}, + [I(181,29)] = {64,0}, + [I(182,29)] = {64,0}, + [I(183,29)] = {64,0}, + [I(184,29)] = {64,0}, + [I(185,29)] = {64,0}, + [I(186,29)] = {64,0}, + [I(187,29)] = {64,0}, + [I(188,29)] = {64,0}, + [I(189,29)] = {64,0}, + [I(190,29)] = {64,0}, + [I(191,29)] = {64,0}, + [I(192,29)] = {64,0}, + [I(193,29)] = {64,0}, + [I(194,29)] = {64,0}, + [I(195,29)] = {64,0}, + [I(196,29)] = {64,0}, + [I(197,29)] = {64,0}, + [I(198,29)] = {64,0}, + [I(199,29)] = {64,0}, + [I(200,29)] = {64,0}, + [I(201,29)] = {64,0}, + [I(202,29)] = {64,0}, + [I(203,29)] = {64,0}, + [I(204,29)] = {64,0}, + [I(205,29)] = {64,0}, + [I(206,29)] = {64,0}, + [I(207,29)] = {64,0}, + [I(208,29)] = {64,0}, + [I(209,29)] = {64,0}, + [I(210,29)] = {64,0}, + [I(211,29)] = {64,0}, + [I(212,29)] = {64,0}, + [I(213,29)] = {64,0}, + [I(214,29)] = {64,0}, + [I(215,29)] = {64,0}, + [I(216,29)] = {64,0}, + [I(217,29)] = {64,0}, + [I(218,29)] = {64,0}, + [I(219,29)] = {64,0}, + [I(220,29)] = {64,0}, + [I(221,29)] = {64,0}, + [I(222,29)] = {64,0}, + [I(223,29)] = {64,0}, + [I(224,29)] = {64,0}, + [I(225,29)] = {64,0}, + [I(226,29)] = {64,0}, + [I(227,29)] = {64,0}, + [I(228,29)] = {64,0}, + [I(229,29)] = {64,0}, + [I(230,29)] = {64,0}, + [I(231,29)] = {64,0}, + [I(232,29)] = {64,0}, + [I(233,29)] = {64,0}, + [I(234,29)] = {64,0}, + [I(235,29)] = {64,0}, + [I(236,29)] = {64,0}, + [I(237,29)] = {64,0}, + [I(238,29)] = {64,0}, + [I(239,29)] = {64,0}, + [I(240,29)] = {64,0}, + [I(241,29)] = {64,0}, + [I(242,29)] = {64,0}, + [I(243,29)] = {64,0}, + [I(244,29)] = {64,0}, + [I(245,29)] = {64,0}, + [I(246,29)] = {64,0}, + [I(247,29)] = {64,0}, + [I(248,29)] = {64,0}, + [I(249,29)] = {64,0}, + [I(250,29)] = {64,0}, + [I(251,29)] = {64,0}, + [I(252,29)] = {64,0}, + [I(253,29)] = {64,0}, + [I(254,29)] = {64,0}, + [I(255,29)] = {64,0}, + [I(0,30)] = {64,0}, + [I(1,30)] = {64,0}, + [I(2,30)] = {64,0}, + [I(3,30)] = {64,0}, + [I(4,30)] = {64,0}, + [I(5,30)] = {64,0}, + [I(6,30)] = {64,0}, + [I(7,30)] = {64,0}, + [I(8,30)] = {64,0}, + [I(9,30)] = {64,0}, + [I(10,30)] = {64,0}, + [I(11,30)] = {64,0}, + [I(12,30)] = {64,0}, + [I(13,30)] = {64,0}, + [I(14,30)] = {64,0}, + [I(15,30)] = {64,0}, + [I(16,30)] = {64,0}, + [I(17,30)] = {64,0}, + [I(18,30)] = {64,0}, + [I(19,30)] = {64,0}, + [I(20,30)] = {64,0}, + [I(21,30)] = {64,0}, + [I(22,30)] = {64,0}, + [I(23,30)] = {64,0}, + [I(24,30)] = {64,0}, + [I(25,30)] = {64,0}, + [I(26,30)] = {64,0}, + [I(27,30)] = {64,0}, + [I(28,30)] = {64,0}, + [I(29,30)] = {64,0}, + [I(30,30)] = {64,0}, + [I(31,30)] = {64,0}, + [I(32,30)] = {64,0}, + [I(33,30)] = {64,0}, + [I(34,30)] = {64,0}, + [I(35,30)] = {64,0}, + [I(36,30)] = {64,0}, + [I(37,30)] = {64,0}, + [I(38,30)] = {64,0}, + [I(39,30)] = {64,0}, + [I(40,30)] = {64,0}, + [I(41,30)] = {64,0}, + [I(42,30)] = {64,0}, + [I(43,30)] = {64,0}, + [I(44,30)] = {64,0}, + [I(45,30)] = {64,0}, + [I(46,30)] = {64,0}, + [I(47,30)] = {64,0}, + [I(48,30)] = {64,0}, + [I(49,30)] = {64,0}, + [I(50,30)] = {64,0}, + [I(51,30)] = {64,0}, + [I(52,30)] = {64,0}, + [I(53,30)] = {64,0}, + [I(54,30)] = {64,0}, + [I(55,30)] = {64,0}, + [I(56,30)] = {64,0}, + [I(57,30)] = {64,0}, + [I(58,30)] = {64,0}, + [I(59,30)] = {64,0}, + [I(60,30)] = {64,0}, + [I(61,30)] = {64,0}, + [I(62,30)] = {64,0}, + [I(63,30)] = {64,0}, + [I(64,30)] = {64,0}, + [I(65,30)] = {64,0}, + [I(66,30)] = {64,0}, + [I(67,30)] = {64,0}, + [I(68,30)] = {64,0}, + [I(69,30)] = {64,0}, + [I(70,30)] = {64,0}, + [I(71,30)] = {64,0}, + [I(72,30)] = {64,0}, + [I(73,30)] = {64,0}, + [I(74,30)] = {64,0}, + [I(75,30)] = {64,0}, + [I(76,30)] = {64,0}, + [I(77,30)] = {64,0}, + [I(78,30)] = {64,0}, + [I(79,30)] = {64,0}, + [I(80,30)] = {64,0}, + [I(81,30)] = {64,0}, + [I(82,30)] = {64,0}, + [I(83,30)] = {64,0}, + [I(84,30)] = {64,0}, + [I(85,30)] = {64,0}, + [I(86,30)] = {64,0}, + [I(87,30)] = {64,0}, + [I(88,30)] = {64,0}, + [I(89,30)] = {64,0}, + [I(90,30)] = {64,0}, + [I(91,30)] = {64,0}, + [I(92,30)] = {64,0}, + [I(93,30)] = {64,0}, + [I(94,30)] = {64,0}, + [I(95,30)] = {64,0}, + [I(96,30)] = {64,0}, + [I(97,30)] = {64,0}, + [I(98,30)] = {64,0}, + [I(99,30)] = {64,0}, + [I(100,30)] = {64,0}, + [I(101,30)] = {64,0}, + [I(102,30)] = {64,0}, + [I(103,30)] = {64,0}, + [I(104,30)] = {64,0}, + [I(105,30)] = {64,0}, + [I(106,30)] = {64,0}, + [I(107,30)] = {64,0}, + [I(108,30)] = {64,0}, + [I(109,30)] = {64,0}, + [I(110,30)] = {64,0}, + [I(111,30)] = {64,0}, + [I(112,30)] = {64,0}, + [I(113,30)] = {64,0}, + [I(114,30)] = {64,0}, + [I(115,30)] = {64,0}, + [I(116,30)] = {64,0}, + [I(117,30)] = {64,0}, + [I(118,30)] = {64,0}, + [I(119,30)] = {64,0}, + [I(120,30)] = {64,0}, + [I(121,30)] = {64,0}, + [I(122,30)] = {64,0}, + [I(123,30)] = {64,0}, + [I(124,30)] = {64,0}, + [I(125,30)] = {64,0}, + [I(126,30)] = {64,0}, + [I(127,30)] = {64,0}, + [I(128,30)] = {64,0}, + [I(129,30)] = {64,0}, + [I(130,30)] = {64,0}, + [I(131,30)] = {64,0}, + [I(132,30)] = {64,0}, + [I(133,30)] = {64,0}, + [I(134,30)] = {64,0}, + [I(135,30)] = {64,0}, + [I(136,30)] = {64,0}, + [I(137,30)] = {64,0}, + [I(138,30)] = {64,0}, + [I(139,30)] = {64,0}, + [I(140,30)] = {64,0}, + [I(141,30)] = {64,0}, + [I(142,30)] = {64,0}, + [I(143,30)] = {64,0}, + [I(144,30)] = {64,0}, + [I(145,30)] = {64,0}, + [I(146,30)] = {64,0}, + [I(147,30)] = {64,0}, + [I(148,30)] = {64,0}, + [I(149,30)] = {64,0}, + [I(150,30)] = {64,0}, + [I(151,30)] = {64,0}, + [I(152,30)] = {64,0}, + [I(153,30)] = {64,0}, + [I(154,30)] = {64,0}, + [I(155,30)] = {64,0}, + [I(156,30)] = {64,0}, + [I(157,30)] = {64,0}, + [I(158,30)] = {64,0}, + [I(159,30)] = {64,0}, + [I(160,30)] = {64,0}, + [I(161,30)] = {64,0}, + [I(162,30)] = {64,0}, + [I(163,30)] = {64,0}, + [I(164,30)] = {64,0}, + [I(165,30)] = {64,0}, + [I(166,30)] = {64,0}, + [I(167,30)] = {64,0}, + [I(168,30)] = {64,0}, + [I(169,30)] = {64,0}, + [I(170,30)] = {64,0}, + [I(171,30)] = {64,0}, + [I(172,30)] = {64,0}, + [I(173,30)] = {64,0}, + [I(174,30)] = {64,0}, + [I(175,30)] = {64,0}, + [I(176,30)] = {64,0}, + [I(177,30)] = {64,0}, + [I(178,30)] = {64,0}, + [I(179,30)] = {64,0}, + [I(180,30)] = {64,0}, + [I(181,30)] = {64,0}, + [I(182,30)] = {64,0}, + [I(183,30)] = {64,0}, + [I(184,30)] = {64,0}, + [I(185,30)] = {64,0}, + [I(186,30)] = {64,0}, + [I(187,30)] = {64,0}, + [I(188,30)] = {64,0}, + [I(189,30)] = {64,0}, + [I(190,30)] = {64,0}, + [I(191,30)] = {64,0}, + [I(192,30)] = {64,0}, + [I(193,30)] = {64,0}, + [I(194,30)] = {64,0}, + [I(195,30)] = {64,0}, + [I(196,30)] = {64,0}, + [I(197,30)] = {64,0}, + [I(198,30)] = {64,0}, + [I(199,30)] = {64,0}, + [I(200,30)] = {64,0}, + [I(201,30)] = {64,0}, + [I(202,30)] = {64,0}, + [I(203,30)] = {64,0}, + [I(204,30)] = {64,0}, + [I(205,30)] = {64,0}, + [I(206,30)] = {64,0}, + [I(207,30)] = {64,0}, + [I(208,30)] = {64,0}, + [I(209,30)] = {64,0}, + [I(210,30)] = {64,0}, + [I(211,30)] = {64,0}, + [I(212,30)] = {64,0}, + [I(213,30)] = {64,0}, + [I(214,30)] = {64,0}, + [I(215,30)] = {64,0}, + [I(216,30)] = {64,0}, + [I(217,30)] = {64,0}, + [I(218,30)] = {64,0}, + [I(219,30)] = {64,0}, + [I(220,30)] = {64,0}, + [I(221,30)] = {64,0}, + [I(222,30)] = {64,0}, + [I(223,30)] = {64,0}, + [I(224,30)] = {64,0}, + [I(225,30)] = {64,0}, + [I(226,30)] = {64,0}, + [I(227,30)] = {64,0}, + [I(228,30)] = {64,0}, + [I(229,30)] = {64,0}, + [I(230,30)] = {64,0}, + [I(231,30)] = {64,0}, + [I(232,30)] = {64,0}, + [I(233,30)] = {64,0}, + [I(234,30)] = {64,0}, + [I(235,30)] = {64,0}, + [I(236,30)] = {64,0}, + [I(237,30)] = {64,0}, + [I(238,30)] = {64,0}, + [I(239,30)] = {64,0}, + [I(240,30)] = {64,0}, + [I(241,30)] = {64,0}, + [I(242,30)] = {64,0}, + [I(243,30)] = {64,0}, + [I(244,30)] = {64,0}, + [I(245,30)] = {64,0}, + [I(246,30)] = {64,0}, + [I(247,30)] = {64,0}, + [I(248,30)] = {64,0}, + [I(249,30)] = {64,0}, + [I(250,30)] = {64,0}, + [I(251,30)] = {64,0}, + [I(252,30)] = {64,0}, + [I(253,30)] = {64,0}, + [I(254,30)] = {64,0}, + [I(255,30)] = {64,0}, + [I(0,31)] = {64,0}, + [I(1,31)] = {64,0}, + [I(2,31)] = {64,0}, + [I(3,31)] = {64,0}, + [I(4,31)] = {64,0}, + [I(5,31)] = {64,0}, + [I(6,31)] = {64,0}, + [I(7,31)] = {64,0}, + [I(8,31)] = {64,0}, + [I(9,31)] = {64,0}, + [I(10,31)] = {64,0}, + [I(11,31)] = {64,0}, + [I(12,31)] = {64,0}, + [I(13,31)] = {64,0}, + [I(14,31)] = {64,0}, + [I(15,31)] = {64,0}, + [I(16,31)] = {64,0}, + [I(17,31)] = {64,0}, + [I(18,31)] = {64,0}, + [I(19,31)] = {64,0}, + [I(20,31)] = {64,0}, + [I(21,31)] = {64,0}, + [I(22,31)] = {64,0}, + [I(23,31)] = {64,0}, + [I(24,31)] = {64,0}, + [I(25,31)] = {64,0}, + [I(26,31)] = {64,0}, + [I(27,31)] = {64,0}, + [I(28,31)] = {64,0}, + [I(29,31)] = {64,0}, + [I(30,31)] = {64,0}, + [I(31,31)] = {64,0}, + [I(32,31)] = {64,0}, + [I(33,31)] = {64,0}, + [I(34,31)] = {64,0}, + [I(35,31)] = {64,0}, + [I(36,31)] = {64,0}, + [I(37,31)] = {64,0}, + [I(38,31)] = {64,0}, + [I(39,31)] = {64,0}, + [I(40,31)] = {64,0}, + [I(41,31)] = {64,0}, + [I(42,31)] = {64,0}, + [I(43,31)] = {64,0}, + [I(44,31)] = {64,0}, + [I(45,31)] = {64,0}, + [I(46,31)] = {64,0}, + [I(47,31)] = {64,0}, + [I(48,31)] = {64,0}, + [I(49,31)] = {64,0}, + [I(50,31)] = {64,0}, + [I(51,31)] = {64,0}, + [I(52,31)] = {64,0}, + [I(53,31)] = {64,0}, + [I(54,31)] = {64,0}, + [I(55,31)] = {64,0}, + [I(56,31)] = {64,0}, + [I(57,31)] = {64,0}, + [I(58,31)] = {64,0}, + [I(59,31)] = {64,0}, + [I(60,31)] = {64,0}, + [I(61,31)] = {64,0}, + [I(62,31)] = {64,0}, + [I(63,31)] = {64,0}, + [I(64,31)] = {64,0}, + [I(65,31)] = {64,0}, + [I(66,31)] = {64,0}, + [I(67,31)] = {64,0}, + [I(68,31)] = {64,0}, + [I(69,31)] = {64,0}, + [I(70,31)] = {64,0}, + [I(71,31)] = {64,0}, + [I(72,31)] = {64,0}, + [I(73,31)] = {64,0}, + [I(74,31)] = {64,0}, + [I(75,31)] = {64,0}, + [I(76,31)] = {64,0}, + [I(77,31)] = {64,0}, + [I(78,31)] = {64,0}, + [I(79,31)] = {64,0}, + [I(80,31)] = {64,0}, + [I(81,31)] = {64,0}, + [I(82,31)] = {64,0}, + [I(83,31)] = {64,0}, + [I(84,31)] = {64,0}, + [I(85,31)] = {64,0}, + [I(86,31)] = {64,0}, + [I(87,31)] = {64,0}, + [I(88,31)] = {64,0}, + [I(89,31)] = {64,0}, + [I(90,31)] = {64,0}, + [I(91,31)] = {64,0}, + [I(92,31)] = {64,0}, + [I(93,31)] = {64,0}, + [I(94,31)] = {64,0}, + [I(95,31)] = {64,0}, + [I(96,31)] = {64,0}, + [I(97,31)] = {64,0}, + [I(98,31)] = {64,0}, + [I(99,31)] = {64,0}, + [I(100,31)] = {64,0}, + [I(101,31)] = {64,0}, + [I(102,31)] = {64,0}, + [I(103,31)] = {64,0}, + [I(104,31)] = {64,0}, + [I(105,31)] = {64,0}, + [I(106,31)] = {64,0}, + [I(107,31)] = {64,0}, + [I(108,31)] = {64,0}, + [I(109,31)] = {64,0}, + [I(110,31)] = {64,0}, + [I(111,31)] = {64,0}, + [I(112,31)] = {64,0}, + [I(113,31)] = {64,0}, + [I(114,31)] = {64,0}, + [I(115,31)] = {64,0}, + [I(116,31)] = {64,0}, + [I(117,31)] = {64,0}, + [I(118,31)] = {64,0}, + [I(119,31)] = {64,0}, + [I(120,31)] = {64,0}, + [I(121,31)] = {64,0}, + [I(122,31)] = {64,0}, + [I(123,31)] = {64,0}, + [I(124,31)] = {64,0}, + [I(125,31)] = {64,0}, + [I(126,31)] = {64,0}, + [I(127,31)] = {64,0}, + [I(128,31)] = {64,0}, + [I(129,31)] = {64,0}, + [I(130,31)] = {64,0}, + [I(131,31)] = {64,0}, + [I(132,31)] = {64,0}, + [I(133,31)] = {64,0}, + [I(134,31)] = {64,0}, + [I(135,31)] = {64,0}, + [I(136,31)] = {64,0}, + [I(137,31)] = {64,0}, + [I(138,31)] = {64,0}, + [I(139,31)] = {64,0}, + [I(140,31)] = {64,0}, + [I(141,31)] = {64,0}, + [I(142,31)] = {64,0}, + [I(143,31)] = {64,0}, + [I(144,31)] = {64,0}, + [I(145,31)] = {64,0}, + [I(146,31)] = {64,0}, + [I(147,31)] = {64,0}, + [I(148,31)] = {64,0}, + [I(149,31)] = {64,0}, + [I(150,31)] = {64,0}, + [I(151,31)] = {64,0}, + [I(152,31)] = {64,0}, + [I(153,31)] = {64,0}, + [I(154,31)] = {64,0}, + [I(155,31)] = {64,0}, + [I(156,31)] = {64,0}, + [I(157,31)] = {64,0}, + [I(158,31)] = {64,0}, + [I(159,31)] = {64,0}, + [I(160,31)] = {64,0}, + [I(161,31)] = {64,0}, + [I(162,31)] = {64,0}, + [I(163,31)] = {64,0}, + [I(164,31)] = {64,0}, + [I(165,31)] = {64,0}, + [I(166,31)] = {64,0}, + [I(167,31)] = {64,0}, + [I(168,31)] = {64,0}, + [I(169,31)] = {64,0}, + [I(170,31)] = {64,0}, + [I(171,31)] = {64,0}, + [I(172,31)] = {64,0}, + [I(173,31)] = {64,0}, + [I(174,31)] = {64,0}, + [I(175,31)] = {64,0}, + [I(176,31)] = {64,0}, + [I(177,31)] = {64,0}, + [I(178,31)] = {64,0}, + [I(179,31)] = {64,0}, + [I(180,31)] = {64,0}, + [I(181,31)] = {64,0}, + [I(182,31)] = {64,0}, + [I(183,31)] = {64,0}, + [I(184,31)] = {64,0}, + [I(185,31)] = {64,0}, + [I(186,31)] = {64,0}, + [I(187,31)] = {64,0}, + [I(188,31)] = {64,0}, + [I(189,31)] = {64,0}, + [I(190,31)] = {64,0}, + [I(191,31)] = {64,0}, + [I(192,31)] = {64,0}, + [I(193,31)] = {64,0}, + [I(194,31)] = {64,0}, + [I(195,31)] = {64,0}, + [I(196,31)] = {64,0}, + [I(197,31)] = {64,0}, + [I(198,31)] = {64,0}, + [I(199,31)] = {64,0}, + [I(200,31)] = {64,0}, + [I(201,31)] = {64,0}, + [I(202,31)] = {64,0}, + [I(203,31)] = {64,0}, + [I(204,31)] = {64,0}, + [I(205,31)] = {64,0}, + [I(206,31)] = {64,0}, + [I(207,31)] = {64,0}, + [I(208,31)] = {64,0}, + [I(209,31)] = {64,0}, + [I(210,31)] = {64,0}, + [I(211,31)] = {64,0}, + [I(212,31)] = {64,0}, + [I(213,31)] = {64,0}, + [I(214,31)] = {64,0}, + [I(215,31)] = {64,0}, + [I(216,31)] = {64,0}, + [I(217,31)] = {64,0}, + [I(218,31)] = {64,0}, + [I(219,31)] = {64,0}, + [I(220,31)] = {64,0}, + [I(221,31)] = {64,0}, + [I(222,31)] = {64,0}, + [I(223,31)] = {64,0}, + [I(224,31)] = {64,0}, + [I(225,31)] = {64,0}, + [I(226,31)] = {64,0}, + [I(227,31)] = {64,0}, + [I(228,31)] = {64,0}, + [I(229,31)] = {64,0}, + [I(230,31)] = {64,0}, + [I(231,31)] = {64,0}, + [I(232,31)] = {64,0}, + [I(233,31)] = {64,0}, + [I(234,31)] = {64,0}, + [I(235,31)] = {64,0}, + [I(236,31)] = {64,0}, + [I(237,31)] = {64,0}, + [I(238,31)] = {64,0}, + [I(239,31)] = {64,0}, + [I(240,31)] = {64,0}, + [I(241,31)] = {64,0}, + [I(242,31)] = {64,0}, + [I(243,31)] = {64,0}, + [I(244,31)] = {64,0}, + [I(245,31)] = {64,0}, + [I(246,31)] = {64,0}, + [I(247,31)] = {64,0}, + [I(248,31)] = {64,0}, + [I(249,31)] = {64,0}, + [I(250,31)] = {64,0}, + [I(251,31)] = {64,0}, + [I(252,31)] = {64,0}, + [I(253,31)] = {64,0}, + [I(254,31)] = {64,0}, + [I(255,31)] = {64,0}, + [I(0,32)] = {19,0x7FE14}, + [I(1,32)] = {29,0x1FFFF614}, + [I(2,32)] = {64,0}, + [I(3,32)] = {64,0}, + [I(4,32)] = {64,0}, + [I(5,32)] = {64,0}, + [I(6,32)] = {64,0}, + [I(7,32)] = {64,0}, + [I(8,32)] = {64,0}, + [I(9,32)] = {30,0x3FFFFA94}, + [I(10,32)] = {64,0}, + [I(11,32)] = {64,0}, + [I(12,32)] = {64,0}, + [I(13,32)] = {64,0}, + [I(14,32)] = {64,0}, + [I(15,32)] = {64,0}, + [I(16,32)] = {64,0}, + [I(17,32)] = {64,0}, + [I(18,32)] = {64,0}, + [I(19,32)] = {64,0}, + [I(20,32)] = {64,0}, + [I(21,32)] = {64,0}, + [I(22,32)] = {64,0}, + [I(23,32)] = {64,0}, + [I(24,32)] = {64,0}, + [I(25,32)] = {64,0}, + [I(26,32)] = {64,0}, + [I(27,32)] = {64,0}, + [I(28,32)] = {64,0}, + [I(29,32)] = {64,0}, + [I(30,32)] = {64,0}, + [I(31,32)] = {64,0}, + [I(32,32)] = {12,0x514}, + [I(33,32)] = {16,0xFE14}, + [I(34,32)] = {16,0xFE54}, + [I(35,32)] = {18,0x3FE94}, + [I(36,32)] = {19,0x7FE54}, + [I(37,32)] = {12,0x554}, + [I(38,32)] = {14,0x3E14}, + [I(39,32)] = {17,0x1FE94}, + [I(40,32)] = {16,0xFE94}, + [I(41,32)] = {16,0xFED4}, + [I(42,32)] = {14,0x3E54}, + [I(43,32)] = {17,0x1FED4}, + [I(44,32)] = {14,0x3E94}, + [I(45,32)] = {12,0x594}, + [I(46,32)] = {12,0x5D4}, + [I(47,32)] = {12,0x614}, + [I(48,32)] = {11,0x14}, + [I(49,32)] = {11,0x54}, + [I(50,32)] = {11,0x94}, + [I(51,32)] = {12,0x654}, + [I(52,32)] = {12,0x694}, + [I(53,32)] = {12,0x6D4}, + [I(54,32)] = {12,0x714}, + [I(55,32)] = {12,0x754}, + [I(56,32)] = {12,0x794}, + [I(57,32)] = {12,0x7D4}, + [I(58,32)] = {13,0x1714}, + [I(59,32)] = {14,0x3ED4}, + [I(60,32)] = {21,0x1FFF14}, + [I(61,32)] = {12,0x814}, + [I(62,32)] = {18,0x3FED4}, + [I(63,32)] = {16,0xFF14}, + [I(64,32)] = {19,0x7FE94}, + [I(65,32)] = {12,0x854}, + [I(66,32)] = {13,0x1754}, + [I(67,32)] = {13,0x1794}, + [I(68,32)] = {13,0x17D4}, + [I(69,32)] = {13,0x1814}, + [I(70,32)] = {13,0x1854}, + [I(71,32)] = {13,0x1894}, + [I(72,32)] = {13,0x18D4}, + [I(73,32)] = {13,0x1914}, + [I(74,32)] = {13,0x1954}, + [I(75,32)] = {13,0x1994}, + [I(76,32)] = {13,0x19D4}, + [I(77,32)] = {13,0x1A14}, + [I(78,32)] = {13,0x1A54}, + [I(79,32)] = {13,0x1A94}, + [I(80,32)] = {13,0x1AD4}, + [I(81,32)] = {13,0x1B14}, + [I(82,32)] = {13,0x1B54}, + [I(83,32)] = {13,0x1B94}, + [I(84,32)] = {13,0x1BD4}, + [I(85,32)] = {13,0x1C14}, + [I(86,32)] = {13,0x1C54}, + [I(87,32)] = {13,0x1C94}, + [I(88,32)] = {14,0x3F14}, + [I(89,32)] = {13,0x1CD4}, + [I(90,32)] = {14,0x3F54}, + [I(91,32)] = {19,0x7FED4}, + [I(92,32)] = {25,0x1FFFC14}, + [I(93,32)] = {19,0x7FF14}, + [I(94,32)] = {20,0xFFF14}, + [I(95,32)] = {12,0x894}, + [I(96,32)] = {21,0x1FFF54}, + [I(97,32)] = {11,0xD4}, + [I(98,32)] = {12,0x8D4}, + [I(99,32)] = {11,0x114}, + [I(100,32)] = {12,0x914}, + [I(101,32)] = {11,0x154}, + [I(102,32)] = {12,0x954}, + [I(103,32)] = {12,0x994}, + [I(104,32)] = {12,0x9D4}, + [I(105,32)] = {11,0x194}, + [I(106,32)] = {13,0x1D14}, + [I(107,32)] = {13,0x1D54}, + [I(108,32)] = {12,0xA14}, + [I(109,32)] = {12,0xA54}, + [I(110,32)] = {12,0xA94}, + [I(111,32)] = {11,0x1D4}, + [I(112,32)] = {12,0xAD4}, + [I(113,32)] = {13,0x1D94}, + [I(114,32)] = {12,0xB14}, + [I(115,32)] = {11,0x214}, + [I(116,32)] = {11,0x254}, + [I(117,32)] = {12,0xB54}, + [I(118,32)] = {13,0x1DD4}, + [I(119,32)] = {13,0x1E14}, + [I(120,32)] = {13,0x1E54}, + [I(121,32)] = {13,0x1E94}, + [I(122,32)] = {13,0x1ED4}, + [I(123,32)] = {21,0x1FFF94}, + [I(124,32)] = {17,0x1FF14}, + [I(125,32)] = {20,0xFFF54}, + [I(126,32)] = {19,0x7FF54}, + [I(127,32)] = {64,0}, + [I(128,32)] = {26,0x3FFF994}, + [I(129,32)] = {28,0xFFFF494}, + [I(130,32)] = {26,0x3FFF9D4}, + [I(131,32)] = {26,0x3FFFA14}, + [I(132,32)] = {28,0xFFFF4D4}, + [I(133,32)] = {28,0xFFFF514}, + [I(134,32)] = {28,0xFFFF554}, + [I(135,32)] = {29,0x1FFFF654}, + [I(136,32)] = {28,0xFFFF594}, + [I(137,32)] = {29,0x1FFFF694}, + [I(138,32)] = {29,0x1FFFF6D4}, + [I(139,32)] = {29,0x1FFFF714}, + [I(140,32)] = {29,0x1FFFF754}, + [I(141,32)] = {29,0x1FFFF794}, + [I(142,32)] = {30,0x3FFFFAD4}, + [I(143,32)] = {29,0x1FFFF7D4}, + [I(144,32)] = {30,0x3FFFFB14}, + [I(145,32)] = {30,0x3FFFFB54}, + [I(146,32)] = {28,0xFFFF5D4}, + [I(147,32)] = {29,0x1FFFF814}, + [I(148,32)] = {30,0x3FFFFB94}, + [I(149,32)] = {29,0x1FFFF854}, + [I(150,32)] = {29,0x1FFFF894}, + [I(151,32)] = {29,0x1FFFF8D4}, + [I(152,32)] = {29,0x1FFFF914}, + [I(153,32)] = {27,0x7FFF714}, + [I(154,32)] = {28,0xFFFF614}, + [I(155,32)] = {29,0x1FFFF954}, + [I(156,32)] = {28,0xFFFF654}, + [I(157,32)] = {29,0x1FFFF994}, + [I(158,32)] = {29,0x1FFFF9D4}, + [I(159,32)] = {30,0x3FFFFBD4}, + [I(160,32)] = {28,0xFFFF694}, + [I(161,32)] = {27,0x7FFF754}, + [I(162,32)] = {26,0x3FFFA54}, + [I(163,32)] = {28,0xFFFF6D4}, + [I(164,32)] = {28,0xFFFF714}, + [I(165,32)] = {29,0x1FFFFA14}, + [I(166,32)] = {29,0x1FFFFA54}, + [I(167,32)] = {27,0x7FFF794}, + [I(168,32)] = {29,0x1FFFFA94}, + [I(169,32)] = {28,0xFFFF754}, + [I(170,32)] = {28,0xFFFF794}, + [I(171,32)] = {30,0x3FFFFC14}, + [I(172,32)] = {27,0x7FFF7D4}, + [I(173,32)] = {28,0xFFFF7D4}, + [I(174,32)] = {29,0x1FFFFAD4}, + [I(175,32)] = {29,0x1FFFFB14}, + [I(176,32)] = {27,0x7FFF814}, + [I(177,32)] = {27,0x7FFF854}, + [I(178,32)] = {28,0xFFFF814}, + [I(179,32)] = {27,0x7FFF894}, + [I(180,32)] = {29,0x1FFFFB54}, + [I(181,32)] = {28,0xFFFF854}, + [I(182,32)] = {29,0x1FFFFB94}, + [I(183,32)] = {29,0x1FFFFBD4}, + [I(184,32)] = {26,0x3FFFA94}, + [I(185,32)] = {28,0xFFFF894}, + [I(186,32)] = {28,0xFFFF8D4}, + [I(187,32)] = {28,0xFFFF914}, + [I(188,32)] = {29,0x1FFFFC14}, + [I(189,32)] = {28,0xFFFF954}, + [I(190,32)] = {28,0xFFFF994}, + [I(191,32)] = {29,0x1FFFFC54}, + [I(192,32)] = {X32,0xFFFFF814}, + [I(193,32)] = {X32,0xFFFFF854}, + [I(194,32)] = {26,0x3FFFAD4}, + [I(195,32)] = {25,0x1FFFC54}, + [I(196,32)] = {28,0xFFFF9D4}, + [I(197,32)] = {29,0x1FFFFC94}, + [I(198,32)] = {28,0xFFFFA14}, + [I(199,32)] = {31,0x7FFFFB14}, + [I(200,32)] = {X32,0xFFFFF894}, + [I(201,32)] = {X32,0xFFFFF8D4}, + [I(202,32)] = {X32,0xFFFFF914}, + [I(203,32)] = {64,0}, + [I(204,32)] = {64,0}, + [I(205,32)] = {X32,0xFFFFF954}, + [I(206,32)] = {30,0x3FFFFC54}, + [I(207,32)] = {31,0x7FFFFB54}, + [I(208,32)] = {25,0x1FFFC94}, + [I(209,32)] = {27,0x7FFF8D4}, + [I(210,32)] = {X32,0xFFFFF994}, + [I(211,32)] = {64,0}, + [I(212,32)] = {64,0}, + [I(213,32)] = {X32,0xFFFFF9D4}, + [I(214,32)] = {64,0}, + [I(215,32)] = {30,0x3FFFFC94}, + [I(216,32)] = {27,0x7FFF914}, + [I(217,32)] = {27,0x7FFF954}, + [I(218,32)] = {X32,0xFFFFFA14}, + [I(219,32)] = {X32,0xFFFFFA54}, + [I(220,32)] = {64,0}, + [I(221,32)] = {64,0}, + [I(222,32)] = {64,0}, + [I(223,32)] = {64,0}, + [I(224,32)] = {26,0x3FFFB14}, + [I(225,32)] = {30,0x3FFFFCD4}, + [I(226,32)] = {26,0x3FFFB54}, + [I(227,32)] = {27,0x7FFF994}, + [I(228,32)] = {28,0xFFFFA54}, + [I(229,32)] = {27,0x7FFF9D4}, + [I(230,32)] = {27,0x7FFFA14}, + [I(231,32)] = {29,0x1FFFFCD4}, + [I(232,32)] = {28,0xFFFFA94}, + [I(233,32)] = {28,0xFFFFAD4}, + [I(234,32)] = {31,0x7FFFFB94}, + [I(235,32)] = {31,0x7FFFFBD4}, + [I(236,32)] = {30,0x3FFFFD14}, + [I(237,32)] = {30,0x3FFFFD54}, + [I(238,32)] = {X32,0xFFFFFA94}, + [I(239,32)] = {29,0x1FFFFD14}, + [I(240,32)] = {X32,0xFFFFFAD4}, + [I(241,32)] = {64,0}, + [I(242,32)] = {X32,0xFFFFFB14}, + [I(243,32)] = {X32,0xFFFFFB54}, + [I(244,32)] = {64,0}, + [I(245,32)] = {64,0}, + [I(246,32)] = {64,0}, + [I(247,32)] = {64,0}, + [I(248,32)] = {64,0}, + [I(249,32)] = {64,0}, + [I(250,32)] = {64,0}, + [I(251,32)] = {64,0}, + [I(252,32)] = {64,0}, + [I(253,32)] = {64,0}, + [I(254,32)] = {64,0}, + [I(255,32)] = {X32,0xFFFFFB94}, + [I(0,33)] = {23,0x7FE3F8}, + [I(1,33)] = {64,0}, + [I(2,33)] = {64,0}, + [I(3,33)] = {64,0}, + [I(4,33)] = {64,0}, + [I(5,33)] = {64,0}, + [I(6,33)] = {64,0}, + [I(7,33)] = {64,0}, + [I(8,33)] = {64,0}, + [I(9,33)] = {64,0}, + [I(10,33)] = {64,0}, + [I(11,33)] = {64,0}, + [I(12,33)] = {64,0}, + [I(13,33)] = {64,0}, + [I(14,33)] = {64,0}, + [I(15,33)] = {64,0}, + [I(16,33)] = {64,0}, + [I(17,33)] = {64,0}, + [I(18,33)] = {64,0}, + [I(19,33)] = {64,0}, + [I(20,33)] = {64,0}, + [I(21,33)] = {64,0}, + [I(22,33)] = {64,0}, + [I(23,33)] = {64,0}, + [I(24,33)] = {64,0}, + [I(25,33)] = {64,0}, + [I(26,33)] = {64,0}, + [I(27,33)] = {64,0}, + [I(28,33)] = {64,0}, + [I(29,33)] = {64,0}, + [I(30,33)] = {64,0}, + [I(31,33)] = {64,0}, + [I(32,33)] = {16,0x53F8}, + [I(33,33)] = {20,0xFE3F8}, + [I(34,33)] = {20,0xFE7F8}, + [I(35,33)] = {22,0x3FEBF8}, + [I(36,33)] = {23,0x7FE7F8}, + [I(37,33)] = {16,0x57F8}, + [I(38,33)] = {18,0x3E3F8}, + [I(39,33)] = {21,0x1FEBF8}, + [I(40,33)] = {20,0xFEBF8}, + [I(41,33)] = {20,0xFEFF8}, + [I(42,33)] = {18,0x3E7F8}, + [I(43,33)] = {21,0x1FEFF8}, + [I(44,33)] = {18,0x3EBF8}, + [I(45,33)] = {16,0x5BF8}, + [I(46,33)] = {16,0x5FF8}, + [I(47,33)] = {16,0x63F8}, + [I(48,33)] = {15,0x3F8}, + [I(49,33)] = {15,0x7F8}, + [I(50,33)] = {15,0xBF8}, + [I(51,33)] = {16,0x67F8}, + [I(52,33)] = {16,0x6BF8}, + [I(53,33)] = {16,0x6FF8}, + [I(54,33)] = {16,0x73F8}, + [I(55,33)] = {16,0x77F8}, + [I(56,33)] = {16,0x7BF8}, + [I(57,33)] = {16,0x7FF8}, + [I(58,33)] = {17,0x173F8}, + [I(59,33)] = {18,0x3EFF8}, + [I(60,33)] = {25,0x1FFF3F8}, + [I(61,33)] = {16,0x83F8}, + [I(62,33)] = {22,0x3FEFF8}, + [I(63,33)] = {20,0xFF3F8}, + [I(64,33)] = {23,0x7FEBF8}, + [I(65,33)] = {16,0x87F8}, + [I(66,33)] = {17,0x177F8}, + [I(67,33)] = {17,0x17BF8}, + [I(68,33)] = {17,0x17FF8}, + [I(69,33)] = {17,0x183F8}, + [I(70,33)] = {17,0x187F8}, + [I(71,33)] = {17,0x18BF8}, + [I(72,33)] = {17,0x18FF8}, + [I(73,33)] = {17,0x193F8}, + [I(74,33)] = {17,0x197F8}, + [I(75,33)] = {17,0x19BF8}, + [I(76,33)] = {17,0x19FF8}, + [I(77,33)] = {17,0x1A3F8}, + [I(78,33)] = {17,0x1A7F8}, + [I(79,33)] = {17,0x1ABF8}, + [I(80,33)] = {17,0x1AFF8}, + [I(81,33)] = {17,0x1B3F8}, + [I(82,33)] = {17,0x1B7F8}, + [I(83,33)] = {17,0x1BBF8}, + [I(84,33)] = {17,0x1BFF8}, + [I(85,33)] = {17,0x1C3F8}, + [I(86,33)] = {17,0x1C7F8}, + [I(87,33)] = {17,0x1CBF8}, + [I(88,33)] = {18,0x3F3F8}, + [I(89,33)] = {17,0x1CFF8}, + [I(90,33)] = {18,0x3F7F8}, + [I(91,33)] = {23,0x7FEFF8}, + [I(92,33)] = {29,0x1FFFC3F8}, + [I(93,33)] = {23,0x7FF3F8}, + [I(94,33)] = {24,0xFFF3F8}, + [I(95,33)] = {16,0x8BF8}, + [I(96,33)] = {25,0x1FFF7F8}, + [I(97,33)] = {15,0xFF8}, + [I(98,33)] = {16,0x8FF8}, + [I(99,33)] = {15,0x13F8}, + [I(100,33)] = {16,0x93F8}, + [I(101,33)] = {15,0x17F8}, + [I(102,33)] = {16,0x97F8}, + [I(103,33)] = {16,0x9BF8}, + [I(104,33)] = {16,0x9FF8}, + [I(105,33)] = {15,0x1BF8}, + [I(106,33)] = {17,0x1D3F8}, + [I(107,33)] = {17,0x1D7F8}, + [I(108,33)] = {16,0xA3F8}, + [I(109,33)] = {16,0xA7F8}, + [I(110,33)] = {16,0xABF8}, + [I(111,33)] = {15,0x1FF8}, + [I(112,33)] = {16,0xAFF8}, + [I(113,33)] = {17,0x1DBF8}, + [I(114,33)] = {16,0xB3F8}, + [I(115,33)] = {15,0x23F8}, + [I(116,33)] = {15,0x27F8}, + [I(117,33)] = {16,0xB7F8}, + [I(118,33)] = {17,0x1DFF8}, + [I(119,33)] = {17,0x1E3F8}, + [I(120,33)] = {17,0x1E7F8}, + [I(121,33)] = {17,0x1EBF8}, + [I(122,33)] = {17,0x1EFF8}, + [I(123,33)] = {25,0x1FFFBF8}, + [I(124,33)] = {21,0x1FF3F8}, + [I(125,33)] = {24,0xFFF7F8}, + [I(126,33)] = {23,0x7FF7F8}, + [I(127,33)] = {64,0}, + [I(128,33)] = {30,0x3FFF9BF8}, + [I(129,33)] = {X32,0xFFFF4BF8}, + [I(130,33)] = {30,0x3FFF9FF8}, + [I(131,33)] = {30,0x3FFFA3F8}, + [I(132,33)] = {X32,0xFFFF4FF8}, + [I(133,33)] = {X32,0xFFFF53F8}, + [I(134,33)] = {X32,0xFFFF57F8}, + [I(135,33)] = {64,0}, + [I(136,33)] = {X32,0xFFFF5BF8}, + [I(137,33)] = {64,0}, + [I(138,33)] = {64,0}, + [I(139,33)] = {64,0}, + [I(140,33)] = {64,0}, + [I(141,33)] = {64,0}, + [I(142,33)] = {64,0}, + [I(143,33)] = {64,0}, + [I(144,33)] = {64,0}, + [I(145,33)] = {64,0}, + [I(146,33)] = {X32,0xFFFF5FF8}, + [I(147,33)] = {64,0}, + [I(148,33)] = {64,0}, + [I(149,33)] = {64,0}, + [I(150,33)] = {64,0}, + [I(151,33)] = {64,0}, + [I(152,33)] = {64,0}, + [I(153,33)] = {31,0x7FFF73F8}, + [I(154,33)] = {X32,0xFFFF63F8}, + [I(155,33)] = {64,0}, + [I(156,33)] = {X32,0xFFFF67F8}, + [I(157,33)] = {64,0}, + [I(158,33)] = {64,0}, + [I(159,33)] = {64,0}, + [I(160,33)] = {X32,0xFFFF6BF8}, + [I(161,33)] = {31,0x7FFF77F8}, + [I(162,33)] = {30,0x3FFFA7F8}, + [I(163,33)] = {X32,0xFFFF6FF8}, + [I(164,33)] = {X32,0xFFFF73F8}, + [I(165,33)] = {64,0}, + [I(166,33)] = {64,0}, + [I(167,33)] = {31,0x7FFF7BF8}, + [I(168,33)] = {64,0}, + [I(169,33)] = {X32,0xFFFF77F8}, + [I(170,33)] = {X32,0xFFFF7BF8}, + [I(171,33)] = {64,0}, + [I(172,33)] = {31,0x7FFF7FF8}, + [I(173,33)] = {X32,0xFFFF7FF8}, + [I(174,33)] = {64,0}, + [I(175,33)] = {64,0}, + [I(176,33)] = {31,0x7FFF83F8}, + [I(177,33)] = {31,0x7FFF87F8}, + [I(178,33)] = {X32,0xFFFF83F8}, + [I(179,33)] = {31,0x7FFF8BF8}, + [I(180,33)] = {64,0}, + [I(181,33)] = {X32,0xFFFF87F8}, + [I(182,33)] = {64,0}, + [I(183,33)] = {64,0}, + [I(184,33)] = {30,0x3FFFABF8}, + [I(185,33)] = {X32,0xFFFF8BF8}, + [I(186,33)] = {X32,0xFFFF8FF8}, + [I(187,33)] = {X32,0xFFFF93F8}, + [I(188,33)] = {64,0}, + [I(189,33)] = {X32,0xFFFF97F8}, + [I(190,33)] = {X32,0xFFFF9BF8}, + [I(191,33)] = {64,0}, + [I(192,33)] = {64,0}, + [I(193,33)] = {64,0}, + [I(194,33)] = {30,0x3FFFAFF8}, + [I(195,33)] = {29,0x1FFFC7F8}, + [I(196,33)] = {X32,0xFFFF9FF8}, + [I(197,33)] = {64,0}, + [I(198,33)] = {X32,0xFFFFA3F8}, + [I(199,33)] = {64,0}, + [I(200,33)] = {64,0}, + [I(201,33)] = {64,0}, + [I(202,33)] = {64,0}, + [I(203,33)] = {64,0}, + [I(204,33)] = {64,0}, + [I(205,33)] = {64,0}, + [I(206,33)] = {64,0}, + [I(207,33)] = {64,0}, + [I(208,33)] = {29,0x1FFFCBF8}, + [I(209,33)] = {31,0x7FFF8FF8}, + [I(210,33)] = {64,0}, + [I(211,33)] = {64,0}, + [I(212,33)] = {64,0}, + [I(213,33)] = {64,0}, + [I(214,33)] = {64,0}, + [I(215,33)] = {64,0}, + [I(216,33)] = {31,0x7FFF93F8}, + [I(217,33)] = {31,0x7FFF97F8}, + [I(218,33)] = {64,0}, + [I(219,33)] = {64,0}, + [I(220,33)] = {64,0}, + [I(221,33)] = {64,0}, + [I(222,33)] = {64,0}, + [I(223,33)] = {64,0}, + [I(224,33)] = {30,0x3FFFB3F8}, + [I(225,33)] = {64,0}, + [I(226,33)] = {30,0x3FFFB7F8}, + [I(227,33)] = {31,0x7FFF9BF8}, + [I(228,33)] = {X32,0xFFFFA7F8}, + [I(229,33)] = {31,0x7FFF9FF8}, + [I(230,33)] = {31,0x7FFFA3F8}, + [I(231,33)] = {64,0}, + [I(232,33)] = {X32,0xFFFFABF8}, + [I(233,33)] = {X32,0xFFFFAFF8}, + [I(234,33)] = {64,0}, + [I(235,33)] = {64,0}, + [I(236,33)] = {64,0}, + [I(237,33)] = {64,0}, + [I(238,33)] = {64,0}, + [I(239,33)] = {64,0}, + [I(240,33)] = {64,0}, + [I(241,33)] = {64,0}, + [I(242,33)] = {64,0}, + [I(243,33)] = {64,0}, + [I(244,33)] = {64,0}, + [I(245,33)] = {64,0}, + [I(246,33)] = {64,0}, + [I(247,33)] = {64,0}, + [I(248,33)] = {64,0}, + [I(249,33)] = {64,0}, + [I(250,33)] = {64,0}, + [I(251,33)] = {64,0}, + [I(252,33)] = {64,0}, + [I(253,33)] = {64,0}, + [I(254,33)] = {64,0}, + [I(255,33)] = {64,0}, + [I(0,34)] = {23,0x7FE3F9}, + [I(1,34)] = {64,0}, + [I(2,34)] = {64,0}, + [I(3,34)] = {64,0}, + [I(4,34)] = {64,0}, + [I(5,34)] = {64,0}, + [I(6,34)] = {64,0}, + [I(7,34)] = {64,0}, + [I(8,34)] = {64,0}, + [I(9,34)] = {64,0}, + [I(10,34)] = {64,0}, + [I(11,34)] = {64,0}, + [I(12,34)] = {64,0}, + [I(13,34)] = {64,0}, + [I(14,34)] = {64,0}, + [I(15,34)] = {64,0}, + [I(16,34)] = {64,0}, + [I(17,34)] = {64,0}, + [I(18,34)] = {64,0}, + [I(19,34)] = {64,0}, + [I(20,34)] = {64,0}, + [I(21,34)] = {64,0}, + [I(22,34)] = {64,0}, + [I(23,34)] = {64,0}, + [I(24,34)] = {64,0}, + [I(25,34)] = {64,0}, + [I(26,34)] = {64,0}, + [I(27,34)] = {64,0}, + [I(28,34)] = {64,0}, + [I(29,34)] = {64,0}, + [I(30,34)] = {64,0}, + [I(31,34)] = {64,0}, + [I(32,34)] = {16,0x53F9}, + [I(33,34)] = {20,0xFE3F9}, + [I(34,34)] = {20,0xFE7F9}, + [I(35,34)] = {22,0x3FEBF9}, + [I(36,34)] = {23,0x7FE7F9}, + [I(37,34)] = {16,0x57F9}, + [I(38,34)] = {18,0x3E3F9}, + [I(39,34)] = {21,0x1FEBF9}, + [I(40,34)] = {20,0xFEBF9}, + [I(41,34)] = {20,0xFEFF9}, + [I(42,34)] = {18,0x3E7F9}, + [I(43,34)] = {21,0x1FEFF9}, + [I(44,34)] = {18,0x3EBF9}, + [I(45,34)] = {16,0x5BF9}, + [I(46,34)] = {16,0x5FF9}, + [I(47,34)] = {16,0x63F9}, + [I(48,34)] = {15,0x3F9}, + [I(49,34)] = {15,0x7F9}, + [I(50,34)] = {15,0xBF9}, + [I(51,34)] = {16,0x67F9}, + [I(52,34)] = {16,0x6BF9}, + [I(53,34)] = {16,0x6FF9}, + [I(54,34)] = {16,0x73F9}, + [I(55,34)] = {16,0x77F9}, + [I(56,34)] = {16,0x7BF9}, + [I(57,34)] = {16,0x7FF9}, + [I(58,34)] = {17,0x173F9}, + [I(59,34)] = {18,0x3EFF9}, + [I(60,34)] = {25,0x1FFF3F9}, + [I(61,34)] = {16,0x83F9}, + [I(62,34)] = {22,0x3FEFF9}, + [I(63,34)] = {20,0xFF3F9}, + [I(64,34)] = {23,0x7FEBF9}, + [I(65,34)] = {16,0x87F9}, + [I(66,34)] = {17,0x177F9}, + [I(67,34)] = {17,0x17BF9}, + [I(68,34)] = {17,0x17FF9}, + [I(69,34)] = {17,0x183F9}, + [I(70,34)] = {17,0x187F9}, + [I(71,34)] = {17,0x18BF9}, + [I(72,34)] = {17,0x18FF9}, + [I(73,34)] = {17,0x193F9}, + [I(74,34)] = {17,0x197F9}, + [I(75,34)] = {17,0x19BF9}, + [I(76,34)] = {17,0x19FF9}, + [I(77,34)] = {17,0x1A3F9}, + [I(78,34)] = {17,0x1A7F9}, + [I(79,34)] = {17,0x1ABF9}, + [I(80,34)] = {17,0x1AFF9}, + [I(81,34)] = {17,0x1B3F9}, + [I(82,34)] = {17,0x1B7F9}, + [I(83,34)] = {17,0x1BBF9}, + [I(84,34)] = {17,0x1BFF9}, + [I(85,34)] = {17,0x1C3F9}, + [I(86,34)] = {17,0x1C7F9}, + [I(87,34)] = {17,0x1CBF9}, + [I(88,34)] = {18,0x3F3F9}, + [I(89,34)] = {17,0x1CFF9}, + [I(90,34)] = {18,0x3F7F9}, + [I(91,34)] = {23,0x7FEFF9}, + [I(92,34)] = {29,0x1FFFC3F9}, + [I(93,34)] = {23,0x7FF3F9}, + [I(94,34)] = {24,0xFFF3F9}, + [I(95,34)] = {16,0x8BF9}, + [I(96,34)] = {25,0x1FFF7F9}, + [I(97,34)] = {15,0xFF9}, + [I(98,34)] = {16,0x8FF9}, + [I(99,34)] = {15,0x13F9}, + [I(100,34)] = {16,0x93F9}, + [I(101,34)] = {15,0x17F9}, + [I(102,34)] = {16,0x97F9}, + [I(103,34)] = {16,0x9BF9}, + [I(104,34)] = {16,0x9FF9}, + [I(105,34)] = {15,0x1BF9}, + [I(106,34)] = {17,0x1D3F9}, + [I(107,34)] = {17,0x1D7F9}, + [I(108,34)] = {16,0xA3F9}, + [I(109,34)] = {16,0xA7F9}, + [I(110,34)] = {16,0xABF9}, + [I(111,34)] = {15,0x1FF9}, + [I(112,34)] = {16,0xAFF9}, + [I(113,34)] = {17,0x1DBF9}, + [I(114,34)] = {16,0xB3F9}, + [I(115,34)] = {15,0x23F9}, + [I(116,34)] = {15,0x27F9}, + [I(117,34)] = {16,0xB7F9}, + [I(118,34)] = {17,0x1DFF9}, + [I(119,34)] = {17,0x1E3F9}, + [I(120,34)] = {17,0x1E7F9}, + [I(121,34)] = {17,0x1EBF9}, + [I(122,34)] = {17,0x1EFF9}, + [I(123,34)] = {25,0x1FFFBF9}, + [I(124,34)] = {21,0x1FF3F9}, + [I(125,34)] = {24,0xFFF7F9}, + [I(126,34)] = {23,0x7FF7F9}, + [I(127,34)] = {64,0}, + [I(128,34)] = {30,0x3FFF9BF9}, + [I(129,34)] = {X32,0xFFFF4BF9}, + [I(130,34)] = {30,0x3FFF9FF9}, + [I(131,34)] = {30,0x3FFFA3F9}, + [I(132,34)] = {X32,0xFFFF4FF9}, + [I(133,34)] = {X32,0xFFFF53F9}, + [I(134,34)] = {X32,0xFFFF57F9}, + [I(135,34)] = {64,0}, + [I(136,34)] = {X32,0xFFFF5BF9}, + [I(137,34)] = {64,0}, + [I(138,34)] = {64,0}, + [I(139,34)] = {64,0}, + [I(140,34)] = {64,0}, + [I(141,34)] = {64,0}, + [I(142,34)] = {64,0}, + [I(143,34)] = {64,0}, + [I(144,34)] = {64,0}, + [I(145,34)] = {64,0}, + [I(146,34)] = {X32,0xFFFF5FF9}, + [I(147,34)] = {64,0}, + [I(148,34)] = {64,0}, + [I(149,34)] = {64,0}, + [I(150,34)] = {64,0}, + [I(151,34)] = {64,0}, + [I(152,34)] = {64,0}, + [I(153,34)] = {31,0x7FFF73F9}, + [I(154,34)] = {X32,0xFFFF63F9}, + [I(155,34)] = {64,0}, + [I(156,34)] = {X32,0xFFFF67F9}, + [I(157,34)] = {64,0}, + [I(158,34)] = {64,0}, + [I(159,34)] = {64,0}, + [I(160,34)] = {X32,0xFFFF6BF9}, + [I(161,34)] = {31,0x7FFF77F9}, + [I(162,34)] = {30,0x3FFFA7F9}, + [I(163,34)] = {X32,0xFFFF6FF9}, + [I(164,34)] = {X32,0xFFFF73F9}, + [I(165,34)] = {64,0}, + [I(166,34)] = {64,0}, + [I(167,34)] = {31,0x7FFF7BF9}, + [I(168,34)] = {64,0}, + [I(169,34)] = {X32,0xFFFF77F9}, + [I(170,34)] = {X32,0xFFFF7BF9}, + [I(171,34)] = {64,0}, + [I(172,34)] = {31,0x7FFF7FF9}, + [I(173,34)] = {X32,0xFFFF7FF9}, + [I(174,34)] = {64,0}, + [I(175,34)] = {64,0}, + [I(176,34)] = {31,0x7FFF83F9}, + [I(177,34)] = {31,0x7FFF87F9}, + [I(178,34)] = {X32,0xFFFF83F9}, + [I(179,34)] = {31,0x7FFF8BF9}, + [I(180,34)] = {64,0}, + [I(181,34)] = {X32,0xFFFF87F9}, + [I(182,34)] = {64,0}, + [I(183,34)] = {64,0}, + [I(184,34)] = {30,0x3FFFABF9}, + [I(185,34)] = {X32,0xFFFF8BF9}, + [I(186,34)] = {X32,0xFFFF8FF9}, + [I(187,34)] = {X32,0xFFFF93F9}, + [I(188,34)] = {64,0}, + [I(189,34)] = {X32,0xFFFF97F9}, + [I(190,34)] = {X32,0xFFFF9BF9}, + [I(191,34)] = {64,0}, + [I(192,34)] = {64,0}, + [I(193,34)] = {64,0}, + [I(194,34)] = {30,0x3FFFAFF9}, + [I(195,34)] = {29,0x1FFFC7F9}, + [I(196,34)] = {X32,0xFFFF9FF9}, + [I(197,34)] = {64,0}, + [I(198,34)] = {X32,0xFFFFA3F9}, + [I(199,34)] = {64,0}, + [I(200,34)] = {64,0}, + [I(201,34)] = {64,0}, + [I(202,34)] = {64,0}, + [I(203,34)] = {64,0}, + [I(204,34)] = {64,0}, + [I(205,34)] = {64,0}, + [I(206,34)] = {64,0}, + [I(207,34)] = {64,0}, + [I(208,34)] = {29,0x1FFFCBF9}, + [I(209,34)] = {31,0x7FFF8FF9}, + [I(210,34)] = {64,0}, + [I(211,34)] = {64,0}, + [I(212,34)] = {64,0}, + [I(213,34)] = {64,0}, + [I(214,34)] = {64,0}, + [I(215,34)] = {64,0}, + [I(216,34)] = {31,0x7FFF93F9}, + [I(217,34)] = {31,0x7FFF97F9}, + [I(218,34)] = {64,0}, + [I(219,34)] = {64,0}, + [I(220,34)] = {64,0}, + [I(221,34)] = {64,0}, + [I(222,34)] = {64,0}, + [I(223,34)] = {64,0}, + [I(224,34)] = {30,0x3FFFB3F9}, + [I(225,34)] = {64,0}, + [I(226,34)] = {30,0x3FFFB7F9}, + [I(227,34)] = {31,0x7FFF9BF9}, + [I(228,34)] = {X32,0xFFFFA7F9}, + [I(229,34)] = {31,0x7FFF9FF9}, + [I(230,34)] = {31,0x7FFFA3F9}, + [I(231,34)] = {64,0}, + [I(232,34)] = {X32,0xFFFFABF9}, + [I(233,34)] = {X32,0xFFFFAFF9}, + [I(234,34)] = {64,0}, + [I(235,34)] = {64,0}, + [I(236,34)] = {64,0}, + [I(237,34)] = {64,0}, + [I(238,34)] = {64,0}, + [I(239,34)] = {64,0}, + [I(240,34)] = {64,0}, + [I(241,34)] = {64,0}, + [I(242,34)] = {64,0}, + [I(243,34)] = {64,0}, + [I(244,34)] = {64,0}, + [I(245,34)] = {64,0}, + [I(246,34)] = {64,0}, + [I(247,34)] = {64,0}, + [I(248,34)] = {64,0}, + [I(249,34)] = {64,0}, + [I(250,34)] = {64,0}, + [I(251,34)] = {64,0}, + [I(252,34)] = {64,0}, + [I(253,34)] = {64,0}, + [I(254,34)] = {64,0}, + [I(255,34)] = {64,0}, + [I(0,35)] = {25,0x1FF8FFA}, + [I(1,35)] = {64,0}, + [I(2,35)] = {64,0}, + [I(3,35)] = {64,0}, + [I(4,35)] = {64,0}, + [I(5,35)] = {64,0}, + [I(6,35)] = {64,0}, + [I(7,35)] = {64,0}, + [I(8,35)] = {64,0}, + [I(9,35)] = {64,0}, + [I(10,35)] = {64,0}, + [I(11,35)] = {64,0}, + [I(12,35)] = {64,0}, + [I(13,35)] = {64,0}, + [I(14,35)] = {64,0}, + [I(15,35)] = {64,0}, + [I(16,35)] = {64,0}, + [I(17,35)] = {64,0}, + [I(18,35)] = {64,0}, + [I(19,35)] = {64,0}, + [I(20,35)] = {64,0}, + [I(21,35)] = {64,0}, + [I(22,35)] = {64,0}, + [I(23,35)] = {64,0}, + [I(24,35)] = {64,0}, + [I(25,35)] = {64,0}, + [I(26,35)] = {64,0}, + [I(27,35)] = {64,0}, + [I(28,35)] = {64,0}, + [I(29,35)] = {64,0}, + [I(30,35)] = {64,0}, + [I(31,35)] = {64,0}, + [I(32,35)] = {18,0x14FFA}, + [I(33,35)] = {22,0x3F8FFA}, + [I(34,35)] = {22,0x3F9FFA}, + [I(35,35)] = {24,0xFFAFFA}, + [I(36,35)] = {25,0x1FF9FFA}, + [I(37,35)] = {18,0x15FFA}, + [I(38,35)] = {20,0xF8FFA}, + [I(39,35)] = {23,0x7FAFFA}, + [I(40,35)] = {22,0x3FAFFA}, + [I(41,35)] = {22,0x3FBFFA}, + [I(42,35)] = {20,0xF9FFA}, + [I(43,35)] = {23,0x7FBFFA}, + [I(44,35)] = {20,0xFAFFA}, + [I(45,35)] = {18,0x16FFA}, + [I(46,35)] = {18,0x17FFA}, + [I(47,35)] = {18,0x18FFA}, + [I(48,35)] = {17,0xFFA}, + [I(49,35)] = {17,0x1FFA}, + [I(50,35)] = {17,0x2FFA}, + [I(51,35)] = {18,0x19FFA}, + [I(52,35)] = {18,0x1AFFA}, + [I(53,35)] = {18,0x1BFFA}, + [I(54,35)] = {18,0x1CFFA}, + [I(55,35)] = {18,0x1DFFA}, + [I(56,35)] = {18,0x1EFFA}, + [I(57,35)] = {18,0x1FFFA}, + [I(58,35)] = {19,0x5CFFA}, + [I(59,35)] = {20,0xFBFFA}, + [I(60,35)] = {27,0x7FFCFFA}, + [I(61,35)] = {18,0x20FFA}, + [I(62,35)] = {24,0xFFBFFA}, + [I(63,35)] = {22,0x3FCFFA}, + [I(64,35)] = {25,0x1FFAFFA}, + [I(65,35)] = {18,0x21FFA}, + [I(66,35)] = {19,0x5DFFA}, + [I(67,35)] = {19,0x5EFFA}, + [I(68,35)] = {19,0x5FFFA}, + [I(69,35)] = {19,0x60FFA}, + [I(70,35)] = {19,0x61FFA}, + [I(71,35)] = {19,0x62FFA}, + [I(72,35)] = {19,0x63FFA}, + [I(73,35)] = {19,0x64FFA}, + [I(74,35)] = {19,0x65FFA}, + [I(75,35)] = {19,0x66FFA}, + [I(76,35)] = {19,0x67FFA}, + [I(77,35)] = {19,0x68FFA}, + [I(78,35)] = {19,0x69FFA}, + [I(79,35)] = {19,0x6AFFA}, + [I(80,35)] = {19,0x6BFFA}, + [I(81,35)] = {19,0x6CFFA}, + [I(82,35)] = {19,0x6DFFA}, + [I(83,35)] = {19,0x6EFFA}, + [I(84,35)] = {19,0x6FFFA}, + [I(85,35)] = {19,0x70FFA}, + [I(86,35)] = {19,0x71FFA}, + [I(87,35)] = {19,0x72FFA}, + [I(88,35)] = {20,0xFCFFA}, + [I(89,35)] = {19,0x73FFA}, + [I(90,35)] = {20,0xFDFFA}, + [I(91,35)] = {25,0x1FFBFFA}, + [I(92,35)] = {31,0x7FFF0FFA}, + [I(93,35)] = {25,0x1FFCFFA}, + [I(94,35)] = {26,0x3FFCFFA}, + [I(95,35)] = {18,0x22FFA}, + [I(96,35)] = {27,0x7FFDFFA}, + [I(97,35)] = {17,0x3FFA}, + [I(98,35)] = {18,0x23FFA}, + [I(99,35)] = {17,0x4FFA}, + [I(100,35)] = {18,0x24FFA}, + [I(101,35)] = {17,0x5FFA}, + [I(102,35)] = {18,0x25FFA}, + [I(103,35)] = {18,0x26FFA}, + [I(104,35)] = {18,0x27FFA}, + [I(105,35)] = {17,0x6FFA}, + [I(106,35)] = {19,0x74FFA}, + [I(107,35)] = {19,0x75FFA}, + [I(108,35)] = {18,0x28FFA}, + [I(109,35)] = {18,0x29FFA}, + [I(110,35)] = {18,0x2AFFA}, + [I(111,35)] = {17,0x7FFA}, + [I(112,35)] = {18,0x2BFFA}, + [I(113,35)] = {19,0x76FFA}, + [I(114,35)] = {18,0x2CFFA}, + [I(115,35)] = {17,0x8FFA}, + [I(116,35)] = {17,0x9FFA}, + [I(117,35)] = {18,0x2DFFA}, + [I(118,35)] = {19,0x77FFA}, + [I(119,35)] = {19,0x78FFA}, + [I(120,35)] = {19,0x79FFA}, + [I(121,35)] = {19,0x7AFFA}, + [I(122,35)] = {19,0x7BFFA}, + [I(123,35)] = {27,0x7FFEFFA}, + [I(124,35)] = {23,0x7FCFFA}, + [I(125,35)] = {26,0x3FFDFFA}, + [I(126,35)] = {25,0x1FFDFFA}, + [I(127,35)] = {64,0}, + [I(128,35)] = {X32,0xFFFE6FFA}, + [I(129,35)] = {64,0}, + [I(130,35)] = {X32,0xFFFE7FFA}, + [I(131,35)] = {X32,0xFFFE8FFA}, + [I(132,35)] = {64,0}, + [I(133,35)] = {64,0}, + [I(134,35)] = {64,0}, + [I(135,35)] = {64,0}, + [I(136,35)] = {64,0}, + [I(137,35)] = {64,0}, + [I(138,35)] = {64,0}, + [I(139,35)] = {64,0}, + [I(140,35)] = {64,0}, + [I(141,35)] = {64,0}, + [I(142,35)] = {64,0}, + [I(143,35)] = {64,0}, + [I(144,35)] = {64,0}, + [I(145,35)] = {64,0}, + [I(146,35)] = {64,0}, + [I(147,35)] = {64,0}, + [I(148,35)] = {64,0}, + [I(149,35)] = {64,0}, + [I(150,35)] = {64,0}, + [I(151,35)] = {64,0}, + [I(152,35)] = {64,0}, + [I(153,35)] = {64,0}, + [I(154,35)] = {64,0}, + [I(155,35)] = {64,0}, + [I(156,35)] = {64,0}, + [I(157,35)] = {64,0}, + [I(158,35)] = {64,0}, + [I(159,35)] = {64,0}, + [I(160,35)] = {64,0}, + [I(161,35)] = {64,0}, + [I(162,35)] = {X32,0xFFFE9FFA}, + [I(163,35)] = {64,0}, + [I(164,35)] = {64,0}, + [I(165,35)] = {64,0}, + [I(166,35)] = {64,0}, + [I(167,35)] = {64,0}, + [I(168,35)] = {64,0}, + [I(169,35)] = {64,0}, + [I(170,35)] = {64,0}, + [I(171,35)] = {64,0}, + [I(172,35)] = {64,0}, + [I(173,35)] = {64,0}, + [I(174,35)] = {64,0}, + [I(175,35)] = {64,0}, + [I(176,35)] = {64,0}, + [I(177,35)] = {64,0}, + [I(178,35)] = {64,0}, + [I(179,35)] = {64,0}, + [I(180,35)] = {64,0}, + [I(181,35)] = {64,0}, + [I(182,35)] = {64,0}, + [I(183,35)] = {64,0}, + [I(184,35)] = {X32,0xFFFEAFFA}, + [I(185,35)] = {64,0}, + [I(186,35)] = {64,0}, + [I(187,35)] = {64,0}, + [I(188,35)] = {64,0}, + [I(189,35)] = {64,0}, + [I(190,35)] = {64,0}, + [I(191,35)] = {64,0}, + [I(192,35)] = {64,0}, + [I(193,35)] = {64,0}, + [I(194,35)] = {X32,0xFFFEBFFA}, + [I(195,35)] = {31,0x7FFF1FFA}, + [I(196,35)] = {64,0}, + [I(197,35)] = {64,0}, + [I(198,35)] = {64,0}, + [I(199,35)] = {64,0}, + [I(200,35)] = {64,0}, + [I(201,35)] = {64,0}, + [I(202,35)] = {64,0}, + [I(203,35)] = {64,0}, + [I(204,35)] = {64,0}, + [I(205,35)] = {64,0}, + [I(206,35)] = {64,0}, + [I(207,35)] = {64,0}, + [I(208,35)] = {31,0x7FFF2FFA}, + [I(209,35)] = {64,0}, + [I(210,35)] = {64,0}, + [I(211,35)] = {64,0}, + [I(212,35)] = {64,0}, + [I(213,35)] = {64,0}, + [I(214,35)] = {64,0}, + [I(215,35)] = {64,0}, + [I(216,35)] = {64,0}, + [I(217,35)] = {64,0}, + [I(218,35)] = {64,0}, + [I(219,35)] = {64,0}, + [I(220,35)] = {64,0}, + [I(221,35)] = {64,0}, + [I(222,35)] = {64,0}, + [I(223,35)] = {64,0}, + [I(224,35)] = {X32,0xFFFECFFA}, + [I(225,35)] = {64,0}, + [I(226,35)] = {X32,0xFFFEDFFA}, + [I(227,35)] = {64,0}, + [I(228,35)] = {64,0}, + [I(229,35)] = {64,0}, + [I(230,35)] = {64,0}, + [I(231,35)] = {64,0}, + [I(232,35)] = {64,0}, + [I(233,35)] = {64,0}, + [I(234,35)] = {64,0}, + [I(235,35)] = {64,0}, + [I(236,35)] = {64,0}, + [I(237,35)] = {64,0}, + [I(238,35)] = {64,0}, + [I(239,35)] = {64,0}, + [I(240,35)] = {64,0}, + [I(241,35)] = {64,0}, + [I(242,35)] = {64,0}, + [I(243,35)] = {64,0}, + [I(244,35)] = {64,0}, + [I(245,35)] = {64,0}, + [I(246,35)] = {64,0}, + [I(247,35)] = {64,0}, + [I(248,35)] = {64,0}, + [I(249,35)] = {64,0}, + [I(250,35)] = {64,0}, + [I(251,35)] = {64,0}, + [I(252,35)] = {64,0}, + [I(253,35)] = {64,0}, + [I(254,35)] = {64,0}, + [I(255,35)] = {64,0}, + [I(0,36)] = {26,0x3FF1FF9}, + [I(1,36)] = {64,0}, + [I(2,36)] = {64,0}, + [I(3,36)] = {64,0}, + [I(4,36)] = {64,0}, + [I(5,36)] = {64,0}, + [I(6,36)] = {64,0}, + [I(7,36)] = {64,0}, + [I(8,36)] = {64,0}, + [I(9,36)] = {64,0}, + [I(10,36)] = {64,0}, + [I(11,36)] = {64,0}, + [I(12,36)] = {64,0}, + [I(13,36)] = {64,0}, + [I(14,36)] = {64,0}, + [I(15,36)] = {64,0}, + [I(16,36)] = {64,0}, + [I(17,36)] = {64,0}, + [I(18,36)] = {64,0}, + [I(19,36)] = {64,0}, + [I(20,36)] = {64,0}, + [I(21,36)] = {64,0}, + [I(22,36)] = {64,0}, + [I(23,36)] = {64,0}, + [I(24,36)] = {64,0}, + [I(25,36)] = {64,0}, + [I(26,36)] = {64,0}, + [I(27,36)] = {64,0}, + [I(28,36)] = {64,0}, + [I(29,36)] = {64,0}, + [I(30,36)] = {64,0}, + [I(31,36)] = {64,0}, + [I(32,36)] = {19,0x29FF9}, + [I(33,36)] = {23,0x7F1FF9}, + [I(34,36)] = {23,0x7F3FF9}, + [I(35,36)] = {25,0x1FF5FF9}, + [I(36,36)] = {26,0x3FF3FF9}, + [I(37,36)] = {19,0x2BFF9}, + [I(38,36)] = {21,0x1F1FF9}, + [I(39,36)] = {24,0xFF5FF9}, + [I(40,36)] = {23,0x7F5FF9}, + [I(41,36)] = {23,0x7F7FF9}, + [I(42,36)] = {21,0x1F3FF9}, + [I(43,36)] = {24,0xFF7FF9}, + [I(44,36)] = {21,0x1F5FF9}, + [I(45,36)] = {19,0x2DFF9}, + [I(46,36)] = {19,0x2FFF9}, + [I(47,36)] = {19,0x31FF9}, + [I(48,36)] = {18,0x1FF9}, + [I(49,36)] = {18,0x3FF9}, + [I(50,36)] = {18,0x5FF9}, + [I(51,36)] = {19,0x33FF9}, + [I(52,36)] = {19,0x35FF9}, + [I(53,36)] = {19,0x37FF9}, + [I(54,36)] = {19,0x39FF9}, + [I(55,36)] = {19,0x3BFF9}, + [I(56,36)] = {19,0x3DFF9}, + [I(57,36)] = {19,0x3FFF9}, + [I(58,36)] = {20,0xB9FF9}, + [I(59,36)] = {21,0x1F7FF9}, + [I(60,36)] = {28,0xFFF9FF9}, + [I(61,36)] = {19,0x41FF9}, + [I(62,36)] = {25,0x1FF7FF9}, + [I(63,36)] = {23,0x7F9FF9}, + [I(64,36)] = {26,0x3FF5FF9}, + [I(65,36)] = {19,0x43FF9}, + [I(66,36)] = {20,0xBBFF9}, + [I(67,36)] = {20,0xBDFF9}, + [I(68,36)] = {20,0xBFFF9}, + [I(69,36)] = {20,0xC1FF9}, + [I(70,36)] = {20,0xC3FF9}, + [I(71,36)] = {20,0xC5FF9}, + [I(72,36)] = {20,0xC7FF9}, + [I(73,36)] = {20,0xC9FF9}, + [I(74,36)] = {20,0xCBFF9}, + [I(75,36)] = {20,0xCDFF9}, + [I(76,36)] = {20,0xCFFF9}, + [I(77,36)] = {20,0xD1FF9}, + [I(78,36)] = {20,0xD3FF9}, + [I(79,36)] = {20,0xD5FF9}, + [I(80,36)] = {20,0xD7FF9}, + [I(81,36)] = {20,0xD9FF9}, + [I(82,36)] = {20,0xDBFF9}, + [I(83,36)] = {20,0xDDFF9}, + [I(84,36)] = {20,0xDFFF9}, + [I(85,36)] = {20,0xE1FF9}, + [I(86,36)] = {20,0xE3FF9}, + [I(87,36)] = {20,0xE5FF9}, + [I(88,36)] = {21,0x1F9FF9}, + [I(89,36)] = {20,0xE7FF9}, + [I(90,36)] = {21,0x1FBFF9}, + [I(91,36)] = {26,0x3FF7FF9}, + [I(92,36)] = {X32,0xFFFE1FF9}, + [I(93,36)] = {26,0x3FF9FF9}, + [I(94,36)] = {27,0x7FF9FF9}, + [I(95,36)] = {19,0x45FF9}, + [I(96,36)] = {28,0xFFFBFF9}, + [I(97,36)] = {18,0x7FF9}, + [I(98,36)] = {19,0x47FF9}, + [I(99,36)] = {18,0x9FF9}, + [I(100,36)] = {19,0x49FF9}, + [I(101,36)] = {18,0xBFF9}, + [I(102,36)] = {19,0x4BFF9}, + [I(103,36)] = {19,0x4DFF9}, + [I(104,36)] = {19,0x4FFF9}, + [I(105,36)] = {18,0xDFF9}, + [I(106,36)] = {20,0xE9FF9}, + [I(107,36)] = {20,0xEBFF9}, + [I(108,36)] = {19,0x51FF9}, + [I(109,36)] = {19,0x53FF9}, + [I(110,36)] = {19,0x55FF9}, + [I(111,36)] = {18,0xFFF9}, + [I(112,36)] = {19,0x57FF9}, + [I(113,36)] = {20,0xEDFF9}, + [I(114,36)] = {19,0x59FF9}, + [I(115,36)] = {18,0x11FF9}, + [I(116,36)] = {18,0x13FF9}, + [I(117,36)] = {19,0x5BFF9}, + [I(118,36)] = {20,0xEFFF9}, + [I(119,36)] = {20,0xF1FF9}, + [I(120,36)] = {20,0xF3FF9}, + [I(121,36)] = {20,0xF5FF9}, + [I(122,36)] = {20,0xF7FF9}, + [I(123,36)] = {28,0xFFFDFF9}, + [I(124,36)] = {24,0xFF9FF9}, + [I(125,36)] = {27,0x7FFBFF9}, + [I(126,36)] = {26,0x3FFBFF9}, + [I(127,36)] = {64,0}, + [I(128,36)] = {64,0}, + [I(129,36)] = {64,0}, + [I(130,36)] = {64,0}, + [I(131,36)] = {64,0}, + [I(132,36)] = {64,0}, + [I(133,36)] = {64,0}, + [I(134,36)] = {64,0}, + [I(135,36)] = {64,0}, + [I(136,36)] = {64,0}, + [I(137,36)] = {64,0}, + [I(138,36)] = {64,0}, + [I(139,36)] = {64,0}, + [I(140,36)] = {64,0}, + [I(141,36)] = {64,0}, + [I(142,36)] = {64,0}, + [I(143,36)] = {64,0}, + [I(144,36)] = {64,0}, + [I(145,36)] = {64,0}, + [I(146,36)] = {64,0}, + [I(147,36)] = {64,0}, + [I(148,36)] = {64,0}, + [I(149,36)] = {64,0}, + [I(150,36)] = {64,0}, + [I(151,36)] = {64,0}, + [I(152,36)] = {64,0}, + [I(153,36)] = {64,0}, + [I(154,36)] = {64,0}, + [I(155,36)] = {64,0}, + [I(156,36)] = {64,0}, + [I(157,36)] = {64,0}, + [I(158,36)] = {64,0}, + [I(159,36)] = {64,0}, + [I(160,36)] = {64,0}, + [I(161,36)] = {64,0}, + [I(162,36)] = {64,0}, + [I(163,36)] = {64,0}, + [I(164,36)] = {64,0}, + [I(165,36)] = {64,0}, + [I(166,36)] = {64,0}, + [I(167,36)] = {64,0}, + [I(168,36)] = {64,0}, + [I(169,36)] = {64,0}, + [I(170,36)] = {64,0}, + [I(171,36)] = {64,0}, + [I(172,36)] = {64,0}, + [I(173,36)] = {64,0}, + [I(174,36)] = {64,0}, + [I(175,36)] = {64,0}, + [I(176,36)] = {64,0}, + [I(177,36)] = {64,0}, + [I(178,36)] = {64,0}, + [I(179,36)] = {64,0}, + [I(180,36)] = {64,0}, + [I(181,36)] = {64,0}, + [I(182,36)] = {64,0}, + [I(183,36)] = {64,0}, + [I(184,36)] = {64,0}, + [I(185,36)] = {64,0}, + [I(186,36)] = {64,0}, + [I(187,36)] = {64,0}, + [I(188,36)] = {64,0}, + [I(189,36)] = {64,0}, + [I(190,36)] = {64,0}, + [I(191,36)] = {64,0}, + [I(192,36)] = {64,0}, + [I(193,36)] = {64,0}, + [I(194,36)] = {64,0}, + [I(195,36)] = {X32,0xFFFE3FF9}, + [I(196,36)] = {64,0}, + [I(197,36)] = {64,0}, + [I(198,36)] = {64,0}, + [I(199,36)] = {64,0}, + [I(200,36)] = {64,0}, + [I(201,36)] = {64,0}, + [I(202,36)] = {64,0}, + [I(203,36)] = {64,0}, + [I(204,36)] = {64,0}, + [I(205,36)] = {64,0}, + [I(206,36)] = {64,0}, + [I(207,36)] = {64,0}, + [I(208,36)] = {X32,0xFFFE5FF9}, + [I(209,36)] = {64,0}, + [I(210,36)] = {64,0}, + [I(211,36)] = {64,0}, + [I(212,36)] = {64,0}, + [I(213,36)] = {64,0}, + [I(214,36)] = {64,0}, + [I(215,36)] = {64,0}, + [I(216,36)] = {64,0}, + [I(217,36)] = {64,0}, + [I(218,36)] = {64,0}, + [I(219,36)] = {64,0}, + [I(220,36)] = {64,0}, + [I(221,36)] = {64,0}, + [I(222,36)] = {64,0}, + [I(223,36)] = {64,0}, + [I(224,36)] = {64,0}, + [I(225,36)] = {64,0}, + [I(226,36)] = {64,0}, + [I(227,36)] = {64,0}, + [I(228,36)] = {64,0}, + [I(229,36)] = {64,0}, + [I(230,36)] = {64,0}, + [I(231,36)] = {64,0}, + [I(232,36)] = {64,0}, + [I(233,36)] = {64,0}, + [I(234,36)] = {64,0}, + [I(235,36)] = {64,0}, + [I(236,36)] = {64,0}, + [I(237,36)] = {64,0}, + [I(238,36)] = {64,0}, + [I(239,36)] = {64,0}, + [I(240,36)] = {64,0}, + [I(241,36)] = {64,0}, + [I(242,36)] = {64,0}, + [I(243,36)] = {64,0}, + [I(244,36)] = {64,0}, + [I(245,36)] = {64,0}, + [I(246,36)] = {64,0}, + [I(247,36)] = {64,0}, + [I(248,36)] = {64,0}, + [I(249,36)] = {64,0}, + [I(250,36)] = {64,0}, + [I(251,36)] = {64,0}, + [I(252,36)] = {64,0}, + [I(253,36)] = {64,0}, + [I(254,36)] = {64,0}, + [I(255,36)] = {64,0}, + [I(0,37)] = {19,0x7FE15}, + [I(1,37)] = {29,0x1FFFF615}, + [I(2,37)] = {64,0}, + [I(3,37)] = {64,0}, + [I(4,37)] = {64,0}, + [I(5,37)] = {64,0}, + [I(6,37)] = {64,0}, + [I(7,37)] = {64,0}, + [I(8,37)] = {64,0}, + [I(9,37)] = {30,0x3FFFFA95}, + [I(10,37)] = {64,0}, + [I(11,37)] = {64,0}, + [I(12,37)] = {64,0}, + [I(13,37)] = {64,0}, + [I(14,37)] = {64,0}, + [I(15,37)] = {64,0}, + [I(16,37)] = {64,0}, + [I(17,37)] = {64,0}, + [I(18,37)] = {64,0}, + [I(19,37)] = {64,0}, + [I(20,37)] = {64,0}, + [I(21,37)] = {64,0}, + [I(22,37)] = {64,0}, + [I(23,37)] = {64,0}, + [I(24,37)] = {64,0}, + [I(25,37)] = {64,0}, + [I(26,37)] = {64,0}, + [I(27,37)] = {64,0}, + [I(28,37)] = {64,0}, + [I(29,37)] = {64,0}, + [I(30,37)] = {64,0}, + [I(31,37)] = {64,0}, + [I(32,37)] = {12,0x515}, + [I(33,37)] = {16,0xFE15}, + [I(34,37)] = {16,0xFE55}, + [I(35,37)] = {18,0x3FE95}, + [I(36,37)] = {19,0x7FE55}, + [I(37,37)] = {12,0x555}, + [I(38,37)] = {14,0x3E15}, + [I(39,37)] = {17,0x1FE95}, + [I(40,37)] = {16,0xFE95}, + [I(41,37)] = {16,0xFED5}, + [I(42,37)] = {14,0x3E55}, + [I(43,37)] = {17,0x1FED5}, + [I(44,37)] = {14,0x3E95}, + [I(45,37)] = {12,0x595}, + [I(46,37)] = {12,0x5D5}, + [I(47,37)] = {12,0x615}, + [I(48,37)] = {11,0x15}, + [I(49,37)] = {11,0x55}, + [I(50,37)] = {11,0x95}, + [I(51,37)] = {12,0x655}, + [I(52,37)] = {12,0x695}, + [I(53,37)] = {12,0x6D5}, + [I(54,37)] = {12,0x715}, + [I(55,37)] = {12,0x755}, + [I(56,37)] = {12,0x795}, + [I(57,37)] = {12,0x7D5}, + [I(58,37)] = {13,0x1715}, + [I(59,37)] = {14,0x3ED5}, + [I(60,37)] = {21,0x1FFF15}, + [I(61,37)] = {12,0x815}, + [I(62,37)] = {18,0x3FED5}, + [I(63,37)] = {16,0xFF15}, + [I(64,37)] = {19,0x7FE95}, + [I(65,37)] = {12,0x855}, + [I(66,37)] = {13,0x1755}, + [I(67,37)] = {13,0x1795}, + [I(68,37)] = {13,0x17D5}, + [I(69,37)] = {13,0x1815}, + [I(70,37)] = {13,0x1855}, + [I(71,37)] = {13,0x1895}, + [I(72,37)] = {13,0x18D5}, + [I(73,37)] = {13,0x1915}, + [I(74,37)] = {13,0x1955}, + [I(75,37)] = {13,0x1995}, + [I(76,37)] = {13,0x19D5}, + [I(77,37)] = {13,0x1A15}, + [I(78,37)] = {13,0x1A55}, + [I(79,37)] = {13,0x1A95}, + [I(80,37)] = {13,0x1AD5}, + [I(81,37)] = {13,0x1B15}, + [I(82,37)] = {13,0x1B55}, + [I(83,37)] = {13,0x1B95}, + [I(84,37)] = {13,0x1BD5}, + [I(85,37)] = {13,0x1C15}, + [I(86,37)] = {13,0x1C55}, + [I(87,37)] = {13,0x1C95}, + [I(88,37)] = {14,0x3F15}, + [I(89,37)] = {13,0x1CD5}, + [I(90,37)] = {14,0x3F55}, + [I(91,37)] = {19,0x7FED5}, + [I(92,37)] = {25,0x1FFFC15}, + [I(93,37)] = {19,0x7FF15}, + [I(94,37)] = {20,0xFFF15}, + [I(95,37)] = {12,0x895}, + [I(96,37)] = {21,0x1FFF55}, + [I(97,37)] = {11,0xD5}, + [I(98,37)] = {12,0x8D5}, + [I(99,37)] = {11,0x115}, + [I(100,37)] = {12,0x915}, + [I(101,37)] = {11,0x155}, + [I(102,37)] = {12,0x955}, + [I(103,37)] = {12,0x995}, + [I(104,37)] = {12,0x9D5}, + [I(105,37)] = {11,0x195}, + [I(106,37)] = {13,0x1D15}, + [I(107,37)] = {13,0x1D55}, + [I(108,37)] = {12,0xA15}, + [I(109,37)] = {12,0xA55}, + [I(110,37)] = {12,0xA95}, + [I(111,37)] = {11,0x1D5}, + [I(112,37)] = {12,0xAD5}, + [I(113,37)] = {13,0x1D95}, + [I(114,37)] = {12,0xB15}, + [I(115,37)] = {11,0x215}, + [I(116,37)] = {11,0x255}, + [I(117,37)] = {12,0xB55}, + [I(118,37)] = {13,0x1DD5}, + [I(119,37)] = {13,0x1E15}, + [I(120,37)] = {13,0x1E55}, + [I(121,37)] = {13,0x1E95}, + [I(122,37)] = {13,0x1ED5}, + [I(123,37)] = {21,0x1FFF95}, + [I(124,37)] = {17,0x1FF15}, + [I(125,37)] = {20,0xFFF55}, + [I(126,37)] = {19,0x7FF55}, + [I(127,37)] = {64,0}, + [I(128,37)] = {26,0x3FFF995}, + [I(129,37)] = {28,0xFFFF495}, + [I(130,37)] = {26,0x3FFF9D5}, + [I(131,37)] = {26,0x3FFFA15}, + [I(132,37)] = {28,0xFFFF4D5}, + [I(133,37)] = {28,0xFFFF515}, + [I(134,37)] = {28,0xFFFF555}, + [I(135,37)] = {29,0x1FFFF655}, + [I(136,37)] = {28,0xFFFF595}, + [I(137,37)] = {29,0x1FFFF695}, + [I(138,37)] = {29,0x1FFFF6D5}, + [I(139,37)] = {29,0x1FFFF715}, + [I(140,37)] = {29,0x1FFFF755}, + [I(141,37)] = {29,0x1FFFF795}, + [I(142,37)] = {30,0x3FFFFAD5}, + [I(143,37)] = {29,0x1FFFF7D5}, + [I(144,37)] = {30,0x3FFFFB15}, + [I(145,37)] = {30,0x3FFFFB55}, + [I(146,37)] = {28,0xFFFF5D5}, + [I(147,37)] = {29,0x1FFFF815}, + [I(148,37)] = {30,0x3FFFFB95}, + [I(149,37)] = {29,0x1FFFF855}, + [I(150,37)] = {29,0x1FFFF895}, + [I(151,37)] = {29,0x1FFFF8D5}, + [I(152,37)] = {29,0x1FFFF915}, + [I(153,37)] = {27,0x7FFF715}, + [I(154,37)] = {28,0xFFFF615}, + [I(155,37)] = {29,0x1FFFF955}, + [I(156,37)] = {28,0xFFFF655}, + [I(157,37)] = {29,0x1FFFF995}, + [I(158,37)] = {29,0x1FFFF9D5}, + [I(159,37)] = {30,0x3FFFFBD5}, + [I(160,37)] = {28,0xFFFF695}, + [I(161,37)] = {27,0x7FFF755}, + [I(162,37)] = {26,0x3FFFA55}, + [I(163,37)] = {28,0xFFFF6D5}, + [I(164,37)] = {28,0xFFFF715}, + [I(165,37)] = {29,0x1FFFFA15}, + [I(166,37)] = {29,0x1FFFFA55}, + [I(167,37)] = {27,0x7FFF795}, + [I(168,37)] = {29,0x1FFFFA95}, + [I(169,37)] = {28,0xFFFF755}, + [I(170,37)] = {28,0xFFFF795}, + [I(171,37)] = {30,0x3FFFFC15}, + [I(172,37)] = {27,0x7FFF7D5}, + [I(173,37)] = {28,0xFFFF7D5}, + [I(174,37)] = {29,0x1FFFFAD5}, + [I(175,37)] = {29,0x1FFFFB15}, + [I(176,37)] = {27,0x7FFF815}, + [I(177,37)] = {27,0x7FFF855}, + [I(178,37)] = {28,0xFFFF815}, + [I(179,37)] = {27,0x7FFF895}, + [I(180,37)] = {29,0x1FFFFB55}, + [I(181,37)] = {28,0xFFFF855}, + [I(182,37)] = {29,0x1FFFFB95}, + [I(183,37)] = {29,0x1FFFFBD5}, + [I(184,37)] = {26,0x3FFFA95}, + [I(185,37)] = {28,0xFFFF895}, + [I(186,37)] = {28,0xFFFF8D5}, + [I(187,37)] = {28,0xFFFF915}, + [I(188,37)] = {29,0x1FFFFC15}, + [I(189,37)] = {28,0xFFFF955}, + [I(190,37)] = {28,0xFFFF995}, + [I(191,37)] = {29,0x1FFFFC55}, + [I(192,37)] = {X32,0xFFFFF815}, + [I(193,37)] = {X32,0xFFFFF855}, + [I(194,37)] = {26,0x3FFFAD5}, + [I(195,37)] = {25,0x1FFFC55}, + [I(196,37)] = {28,0xFFFF9D5}, + [I(197,37)] = {29,0x1FFFFC95}, + [I(198,37)] = {28,0xFFFFA15}, + [I(199,37)] = {31,0x7FFFFB15}, + [I(200,37)] = {X32,0xFFFFF895}, + [I(201,37)] = {X32,0xFFFFF8D5}, + [I(202,37)] = {X32,0xFFFFF915}, + [I(203,37)] = {64,0}, + [I(204,37)] = {64,0}, + [I(205,37)] = {X32,0xFFFFF955}, + [I(206,37)] = {30,0x3FFFFC55}, + [I(207,37)] = {31,0x7FFFFB55}, + [I(208,37)] = {25,0x1FFFC95}, + [I(209,37)] = {27,0x7FFF8D5}, + [I(210,37)] = {X32,0xFFFFF995}, + [I(211,37)] = {64,0}, + [I(212,37)] = {64,0}, + [I(213,37)] = {X32,0xFFFFF9D5}, + [I(214,37)] = {64,0}, + [I(215,37)] = {30,0x3FFFFC95}, + [I(216,37)] = {27,0x7FFF915}, + [I(217,37)] = {27,0x7FFF955}, + [I(218,37)] = {X32,0xFFFFFA15}, + [I(219,37)] = {X32,0xFFFFFA55}, + [I(220,37)] = {64,0}, + [I(221,37)] = {64,0}, + [I(222,37)] = {64,0}, + [I(223,37)] = {64,0}, + [I(224,37)] = {26,0x3FFFB15}, + [I(225,37)] = {30,0x3FFFFCD5}, + [I(226,37)] = {26,0x3FFFB55}, + [I(227,37)] = {27,0x7FFF995}, + [I(228,37)] = {28,0xFFFFA55}, + [I(229,37)] = {27,0x7FFF9D5}, + [I(230,37)] = {27,0x7FFFA15}, + [I(231,37)] = {29,0x1FFFFCD5}, + [I(232,37)] = {28,0xFFFFA95}, + [I(233,37)] = {28,0xFFFFAD5}, + [I(234,37)] = {31,0x7FFFFB95}, + [I(235,37)] = {31,0x7FFFFBD5}, + [I(236,37)] = {30,0x3FFFFD15}, + [I(237,37)] = {30,0x3FFFFD55}, + [I(238,37)] = {X32,0xFFFFFA95}, + [I(239,37)] = {29,0x1FFFFD15}, + [I(240,37)] = {X32,0xFFFFFAD5}, + [I(241,37)] = {64,0}, + [I(242,37)] = {X32,0xFFFFFB15}, + [I(243,37)] = {X32,0xFFFFFB55}, + [I(244,37)] = {64,0}, + [I(245,37)] = {64,0}, + [I(246,37)] = {64,0}, + [I(247,37)] = {64,0}, + [I(248,37)] = {64,0}, + [I(249,37)] = {64,0}, + [I(250,37)] = {64,0}, + [I(251,37)] = {64,0}, + [I(252,37)] = {64,0}, + [I(253,37)] = {64,0}, + [I(254,37)] = {64,0}, + [I(255,37)] = {X32,0xFFFFFB95}, + [I(0,38)] = {21,0x1FF8F8}, + [I(1,38)] = {31,0x7FFFD8F8}, + [I(2,38)] = {64,0}, + [I(3,38)] = {64,0}, + [I(4,38)] = {64,0}, + [I(5,38)] = {64,0}, + [I(6,38)] = {64,0}, + [I(7,38)] = {64,0}, + [I(8,38)] = {64,0}, + [I(9,38)] = {X32,0xFFFFEAF8}, + [I(10,38)] = {64,0}, + [I(11,38)] = {64,0}, + [I(12,38)] = {64,0}, + [I(13,38)] = {64,0}, + [I(14,38)] = {64,0}, + [I(15,38)] = {64,0}, + [I(16,38)] = {64,0}, + [I(17,38)] = {64,0}, + [I(18,38)] = {64,0}, + [I(19,38)] = {64,0}, + [I(20,38)] = {64,0}, + [I(21,38)] = {64,0}, + [I(22,38)] = {64,0}, + [I(23,38)] = {64,0}, + [I(24,38)] = {64,0}, + [I(25,38)] = {64,0}, + [I(26,38)] = {64,0}, + [I(27,38)] = {64,0}, + [I(28,38)] = {64,0}, + [I(29,38)] = {64,0}, + [I(30,38)] = {64,0}, + [I(31,38)] = {64,0}, + [I(32,38)] = {14,0x14F8}, + [I(33,38)] = {18,0x3F8F8}, + [I(34,38)] = {18,0x3F9F8}, + [I(35,38)] = {20,0xFFAF8}, + [I(36,38)] = {21,0x1FF9F8}, + [I(37,38)] = {14,0x15F8}, + [I(38,38)] = {16,0xF8F8}, + [I(39,38)] = {19,0x7FAF8}, + [I(40,38)] = {18,0x3FAF8}, + [I(41,38)] = {18,0x3FBF8}, + [I(42,38)] = {16,0xF9F8}, + [I(43,38)] = {19,0x7FBF8}, + [I(44,38)] = {16,0xFAF8}, + [I(45,38)] = {14,0x16F8}, + [I(46,38)] = {14,0x17F8}, + [I(47,38)] = {14,0x18F8}, + [I(48,38)] = {13,0xF8}, + [I(49,38)] = {13,0x1F8}, + [I(50,38)] = {13,0x2F8}, + [I(51,38)] = {14,0x19F8}, + [I(52,38)] = {14,0x1AF8}, + [I(53,38)] = {14,0x1BF8}, + [I(54,38)] = {14,0x1CF8}, + [I(55,38)] = {14,0x1DF8}, + [I(56,38)] = {14,0x1EF8}, + [I(57,38)] = {14,0x1FF8}, + [I(58,38)] = {15,0x5CF8}, + [I(59,38)] = {16,0xFBF8}, + [I(60,38)] = {23,0x7FFCF8}, + [I(61,38)] = {14,0x20F8}, + [I(62,38)] = {20,0xFFBF8}, + [I(63,38)] = {18,0x3FCF8}, + [I(64,38)] = {21,0x1FFAF8}, + [I(65,38)] = {14,0x21F8}, + [I(66,38)] = {15,0x5DF8}, + [I(67,38)] = {15,0x5EF8}, + [I(68,38)] = {15,0x5FF8}, + [I(69,38)] = {15,0x60F8}, + [I(70,38)] = {15,0x61F8}, + [I(71,38)] = {15,0x62F8}, + [I(72,38)] = {15,0x63F8}, + [I(73,38)] = {15,0x64F8}, + [I(74,38)] = {15,0x65F8}, + [I(75,38)] = {15,0x66F8}, + [I(76,38)] = {15,0x67F8}, + [I(77,38)] = {15,0x68F8}, + [I(78,38)] = {15,0x69F8}, + [I(79,38)] = {15,0x6AF8}, + [I(80,38)] = {15,0x6BF8}, + [I(81,38)] = {15,0x6CF8}, + [I(82,38)] = {15,0x6DF8}, + [I(83,38)] = {15,0x6EF8}, + [I(84,38)] = {15,0x6FF8}, + [I(85,38)] = {15,0x70F8}, + [I(86,38)] = {15,0x71F8}, + [I(87,38)] = {15,0x72F8}, + [I(88,38)] = {16,0xFCF8}, + [I(89,38)] = {15,0x73F8}, + [I(90,38)] = {16,0xFDF8}, + [I(91,38)] = {21,0x1FFBF8}, + [I(92,38)] = {27,0x7FFF0F8}, + [I(93,38)] = {21,0x1FFCF8}, + [I(94,38)] = {22,0x3FFCF8}, + [I(95,38)] = {14,0x22F8}, + [I(96,38)] = {23,0x7FFDF8}, + [I(97,38)] = {13,0x3F8}, + [I(98,38)] = {14,0x23F8}, + [I(99,38)] = {13,0x4F8}, + [I(100,38)] = {14,0x24F8}, + [I(101,38)] = {13,0x5F8}, + [I(102,38)] = {14,0x25F8}, + [I(103,38)] = {14,0x26F8}, + [I(104,38)] = {14,0x27F8}, + [I(105,38)] = {13,0x6F8}, + [I(106,38)] = {15,0x74F8}, + [I(107,38)] = {15,0x75F8}, + [I(108,38)] = {14,0x28F8}, + [I(109,38)] = {14,0x29F8}, + [I(110,38)] = {14,0x2AF8}, + [I(111,38)] = {13,0x7F8}, + [I(112,38)] = {14,0x2BF8}, + [I(113,38)] = {15,0x76F8}, + [I(114,38)] = {14,0x2CF8}, + [I(115,38)] = {13,0x8F8}, + [I(116,38)] = {13,0x9F8}, + [I(117,38)] = {14,0x2DF8}, + [I(118,38)] = {15,0x77F8}, + [I(119,38)] = {15,0x78F8}, + [I(120,38)] = {15,0x79F8}, + [I(121,38)] = {15,0x7AF8}, + [I(122,38)] = {15,0x7BF8}, + [I(123,38)] = {23,0x7FFEF8}, + [I(124,38)] = {19,0x7FCF8}, + [I(125,38)] = {22,0x3FFDF8}, + [I(126,38)] = {21,0x1FFDF8}, + [I(127,38)] = {64,0}, + [I(128,38)] = {28,0xFFFE6F8}, + [I(129,38)] = {30,0x3FFFD2F8}, + [I(130,38)] = {28,0xFFFE7F8}, + [I(131,38)] = {28,0xFFFE8F8}, + [I(132,38)] = {30,0x3FFFD3F8}, + [I(133,38)] = {30,0x3FFFD4F8}, + [I(134,38)] = {30,0x3FFFD5F8}, + [I(135,38)] = {31,0x7FFFD9F8}, + [I(136,38)] = {30,0x3FFFD6F8}, + [I(137,38)] = {31,0x7FFFDAF8}, + [I(138,38)] = {31,0x7FFFDBF8}, + [I(139,38)] = {31,0x7FFFDCF8}, + [I(140,38)] = {31,0x7FFFDDF8}, + [I(141,38)] = {31,0x7FFFDEF8}, + [I(142,38)] = {X32,0xFFFFEBF8}, + [I(143,38)] = {31,0x7FFFDFF8}, + [I(144,38)] = {X32,0xFFFFECF8}, + [I(145,38)] = {X32,0xFFFFEDF8}, + [I(146,38)] = {30,0x3FFFD7F8}, + [I(147,38)] = {31,0x7FFFE0F8}, + [I(148,38)] = {X32,0xFFFFEEF8}, + [I(149,38)] = {31,0x7FFFE1F8}, + [I(150,38)] = {31,0x7FFFE2F8}, + [I(151,38)] = {31,0x7FFFE3F8}, + [I(152,38)] = {31,0x7FFFE4F8}, + [I(153,38)] = {29,0x1FFFDCF8}, + [I(154,38)] = {30,0x3FFFD8F8}, + [I(155,38)] = {31,0x7FFFE5F8}, + [I(156,38)] = {30,0x3FFFD9F8}, + [I(157,38)] = {31,0x7FFFE6F8}, + [I(158,38)] = {31,0x7FFFE7F8}, + [I(159,38)] = {X32,0xFFFFEFF8}, + [I(160,38)] = {30,0x3FFFDAF8}, + [I(161,38)] = {29,0x1FFFDDF8}, + [I(162,38)] = {28,0xFFFE9F8}, + [I(163,38)] = {30,0x3FFFDBF8}, + [I(164,38)] = {30,0x3FFFDCF8}, + [I(165,38)] = {31,0x7FFFE8F8}, + [I(166,38)] = {31,0x7FFFE9F8}, + [I(167,38)] = {29,0x1FFFDEF8}, + [I(168,38)] = {31,0x7FFFEAF8}, + [I(169,38)] = {30,0x3FFFDDF8}, + [I(170,38)] = {30,0x3FFFDEF8}, + [I(171,38)] = {X32,0xFFFFF0F8}, + [I(172,38)] = {29,0x1FFFDFF8}, + [I(173,38)] = {30,0x3FFFDFF8}, + [I(174,38)] = {31,0x7FFFEBF8}, + [I(175,38)] = {31,0x7FFFECF8}, + [I(176,38)] = {29,0x1FFFE0F8}, + [I(177,38)] = {29,0x1FFFE1F8}, + [I(178,38)] = {30,0x3FFFE0F8}, + [I(179,38)] = {29,0x1FFFE2F8}, + [I(180,38)] = {31,0x7FFFEDF8}, + [I(181,38)] = {30,0x3FFFE1F8}, + [I(182,38)] = {31,0x7FFFEEF8}, + [I(183,38)] = {31,0x7FFFEFF8}, + [I(184,38)] = {28,0xFFFEAF8}, + [I(185,38)] = {30,0x3FFFE2F8}, + [I(186,38)] = {30,0x3FFFE3F8}, + [I(187,38)] = {30,0x3FFFE4F8}, + [I(188,38)] = {31,0x7FFFF0F8}, + [I(189,38)] = {30,0x3FFFE5F8}, + [I(190,38)] = {30,0x3FFFE6F8}, + [I(191,38)] = {31,0x7FFFF1F8}, + [I(192,38)] = {64,0}, + [I(193,38)] = {64,0}, + [I(194,38)] = {28,0xFFFEBF8}, + [I(195,38)] = {27,0x7FFF1F8}, + [I(196,38)] = {30,0x3FFFE7F8}, + [I(197,38)] = {31,0x7FFFF2F8}, + [I(198,38)] = {30,0x3FFFE8F8}, + [I(199,38)] = {64,0}, + [I(200,38)] = {64,0}, + [I(201,38)] = {64,0}, + [I(202,38)] = {64,0}, + [I(203,38)] = {64,0}, + [I(204,38)] = {64,0}, + [I(205,38)] = {64,0}, + [I(206,38)] = {X32,0xFFFFF1F8}, + [I(207,38)] = {64,0}, + [I(208,38)] = {27,0x7FFF2F8}, + [I(209,38)] = {29,0x1FFFE3F8}, + [I(210,38)] = {64,0}, + [I(211,38)] = {64,0}, + [I(212,38)] = {64,0}, + [I(213,38)] = {64,0}, + [I(214,38)] = {64,0}, + [I(215,38)] = {X32,0xFFFFF2F8}, + [I(216,38)] = {29,0x1FFFE4F8}, + [I(217,38)] = {29,0x1FFFE5F8}, + [I(218,38)] = {64,0}, + [I(219,38)] = {64,0}, + [I(220,38)] = {64,0}, + [I(221,38)] = {64,0}, + [I(222,38)] = {64,0}, + [I(223,38)] = {64,0}, + [I(224,38)] = {28,0xFFFECF8}, + [I(225,38)] = {X32,0xFFFFF3F8}, + [I(226,38)] = {28,0xFFFEDF8}, + [I(227,38)] = {29,0x1FFFE6F8}, + [I(228,38)] = {30,0x3FFFE9F8}, + [I(229,38)] = {29,0x1FFFE7F8}, + [I(230,38)] = {29,0x1FFFE8F8}, + [I(231,38)] = {31,0x7FFFF3F8}, + [I(232,38)] = {30,0x3FFFEAF8}, + [I(233,38)] = {30,0x3FFFEBF8}, + [I(234,38)] = {64,0}, + [I(235,38)] = {64,0}, + [I(236,38)] = {X32,0xFFFFF4F8}, + [I(237,38)] = {X32,0xFFFFF5F8}, + [I(238,38)] = {64,0}, + [I(239,38)] = {31,0x7FFFF4F8}, + [I(240,38)] = {64,0}, + [I(241,38)] = {64,0}, + [I(242,38)] = {64,0}, + [I(243,38)] = {64,0}, + [I(244,38)] = {64,0}, + [I(245,38)] = {64,0}, + [I(246,38)] = {64,0}, + [I(247,38)] = {64,0}, + [I(248,38)] = {64,0}, + [I(249,38)] = {64,0}, + [I(250,38)] = {64,0}, + [I(251,38)] = {64,0}, + [I(252,38)] = {64,0}, + [I(253,38)] = {64,0}, + [I(254,38)] = {64,0}, + [I(255,38)] = {64,0}, + [I(0,39)] = {24,0xFFC7FA}, + [I(1,39)] = {64,0}, + [I(2,39)] = {64,0}, + [I(3,39)] = {64,0}, + [I(4,39)] = {64,0}, + [I(5,39)] = {64,0}, + [I(6,39)] = {64,0}, + [I(7,39)] = {64,0}, + [I(8,39)] = {64,0}, + [I(9,39)] = {64,0}, + [I(10,39)] = {64,0}, + [I(11,39)] = {64,0}, + [I(12,39)] = {64,0}, + [I(13,39)] = {64,0}, + [I(14,39)] = {64,0}, + [I(15,39)] = {64,0}, + [I(16,39)] = {64,0}, + [I(17,39)] = {64,0}, + [I(18,39)] = {64,0}, + [I(19,39)] = {64,0}, + [I(20,39)] = {64,0}, + [I(21,39)] = {64,0}, + [I(22,39)] = {64,0}, + [I(23,39)] = {64,0}, + [I(24,39)] = {64,0}, + [I(25,39)] = {64,0}, + [I(26,39)] = {64,0}, + [I(27,39)] = {64,0}, + [I(28,39)] = {64,0}, + [I(29,39)] = {64,0}, + [I(30,39)] = {64,0}, + [I(31,39)] = {64,0}, + [I(32,39)] = {17,0xA7FA}, + [I(33,39)] = {21,0x1FC7FA}, + [I(34,39)] = {21,0x1FCFFA}, + [I(35,39)] = {23,0x7FD7FA}, + [I(36,39)] = {24,0xFFCFFA}, + [I(37,39)] = {17,0xAFFA}, + [I(38,39)] = {19,0x7C7FA}, + [I(39,39)] = {22,0x3FD7FA}, + [I(40,39)] = {21,0x1FD7FA}, + [I(41,39)] = {21,0x1FDFFA}, + [I(42,39)] = {19,0x7CFFA}, + [I(43,39)] = {22,0x3FDFFA}, + [I(44,39)] = {19,0x7D7FA}, + [I(45,39)] = {17,0xB7FA}, + [I(46,39)] = {17,0xBFFA}, + [I(47,39)] = {17,0xC7FA}, + [I(48,39)] = {16,0x7FA}, + [I(49,39)] = {16,0xFFA}, + [I(50,39)] = {16,0x17FA}, + [I(51,39)] = {17,0xCFFA}, + [I(52,39)] = {17,0xD7FA}, + [I(53,39)] = {17,0xDFFA}, + [I(54,39)] = {17,0xE7FA}, + [I(55,39)] = {17,0xEFFA}, + [I(56,39)] = {17,0xF7FA}, + [I(57,39)] = {17,0xFFFA}, + [I(58,39)] = {18,0x2E7FA}, + [I(59,39)] = {19,0x7DFFA}, + [I(60,39)] = {26,0x3FFE7FA}, + [I(61,39)] = {17,0x107FA}, + [I(62,39)] = {23,0x7FDFFA}, + [I(63,39)] = {21,0x1FE7FA}, + [I(64,39)] = {24,0xFFD7FA}, + [I(65,39)] = {17,0x10FFA}, + [I(66,39)] = {18,0x2EFFA}, + [I(67,39)] = {18,0x2F7FA}, + [I(68,39)] = {18,0x2FFFA}, + [I(69,39)] = {18,0x307FA}, + [I(70,39)] = {18,0x30FFA}, + [I(71,39)] = {18,0x317FA}, + [I(72,39)] = {18,0x31FFA}, + [I(73,39)] = {18,0x327FA}, + [I(74,39)] = {18,0x32FFA}, + [I(75,39)] = {18,0x337FA}, + [I(76,39)] = {18,0x33FFA}, + [I(77,39)] = {18,0x347FA}, + [I(78,39)] = {18,0x34FFA}, + [I(79,39)] = {18,0x357FA}, + [I(80,39)] = {18,0x35FFA}, + [I(81,39)] = {18,0x367FA}, + [I(82,39)] = {18,0x36FFA}, + [I(83,39)] = {18,0x377FA}, + [I(84,39)] = {18,0x37FFA}, + [I(85,39)] = {18,0x387FA}, + [I(86,39)] = {18,0x38FFA}, + [I(87,39)] = {18,0x397FA}, + [I(88,39)] = {19,0x7E7FA}, + [I(89,39)] = {18,0x39FFA}, + [I(90,39)] = {19,0x7EFFA}, + [I(91,39)] = {24,0xFFDFFA}, + [I(92,39)] = {30,0x3FFF87FA}, + [I(93,39)] = {24,0xFFE7FA}, + [I(94,39)] = {25,0x1FFE7FA}, + [I(95,39)] = {17,0x117FA}, + [I(96,39)] = {26,0x3FFEFFA}, + [I(97,39)] = {16,0x1FFA}, + [I(98,39)] = {17,0x11FFA}, + [I(99,39)] = {16,0x27FA}, + [I(100,39)] = {17,0x127FA}, + [I(101,39)] = {16,0x2FFA}, + [I(102,39)] = {17,0x12FFA}, + [I(103,39)] = {17,0x137FA}, + [I(104,39)] = {17,0x13FFA}, + [I(105,39)] = {16,0x37FA}, + [I(106,39)] = {18,0x3A7FA}, + [I(107,39)] = {18,0x3AFFA}, + [I(108,39)] = {17,0x147FA}, + [I(109,39)] = {17,0x14FFA}, + [I(110,39)] = {17,0x157FA}, + [I(111,39)] = {16,0x3FFA}, + [I(112,39)] = {17,0x15FFA}, + [I(113,39)] = {18,0x3B7FA}, + [I(114,39)] = {17,0x167FA}, + [I(115,39)] = {16,0x47FA}, + [I(116,39)] = {16,0x4FFA}, + [I(117,39)] = {17,0x16FFA}, + [I(118,39)] = {18,0x3BFFA}, + [I(119,39)] = {18,0x3C7FA}, + [I(120,39)] = {18,0x3CFFA}, + [I(121,39)] = {18,0x3D7FA}, + [I(122,39)] = {18,0x3DFFA}, + [I(123,39)] = {26,0x3FFF7FA}, + [I(124,39)] = {22,0x3FE7FA}, + [I(125,39)] = {25,0x1FFEFFA}, + [I(126,39)] = {24,0xFFEFFA}, + [I(127,39)] = {64,0}, + [I(128,39)] = {31,0x7FFF37FA}, + [I(129,39)] = {64,0}, + [I(130,39)] = {31,0x7FFF3FFA}, + [I(131,39)] = {31,0x7FFF47FA}, + [I(132,39)] = {64,0}, + [I(133,39)] = {64,0}, + [I(134,39)] = {64,0}, + [I(135,39)] = {64,0}, + [I(136,39)] = {64,0}, + [I(137,39)] = {64,0}, + [I(138,39)] = {64,0}, + [I(139,39)] = {64,0}, + [I(140,39)] = {64,0}, + [I(141,39)] = {64,0}, + [I(142,39)] = {64,0}, + [I(143,39)] = {64,0}, + [I(144,39)] = {64,0}, + [I(145,39)] = {64,0}, + [I(146,39)] = {64,0}, + [I(147,39)] = {64,0}, + [I(148,39)] = {64,0}, + [I(149,39)] = {64,0}, + [I(150,39)] = {64,0}, + [I(151,39)] = {64,0}, + [I(152,39)] = {64,0}, + [I(153,39)] = {X32,0xFFFEE7FA}, + [I(154,39)] = {64,0}, + [I(155,39)] = {64,0}, + [I(156,39)] = {64,0}, + [I(157,39)] = {64,0}, + [I(158,39)] = {64,0}, + [I(159,39)] = {64,0}, + [I(160,39)] = {64,0}, + [I(161,39)] = {X32,0xFFFEEFFA}, + [I(162,39)] = {31,0x7FFF4FFA}, + [I(163,39)] = {64,0}, + [I(164,39)] = {64,0}, + [I(165,39)] = {64,0}, + [I(166,39)] = {64,0}, + [I(167,39)] = {X32,0xFFFEF7FA}, + [I(168,39)] = {64,0}, + [I(169,39)] = {64,0}, + [I(170,39)] = {64,0}, + [I(171,39)] = {64,0}, + [I(172,39)] = {X32,0xFFFEFFFA}, + [I(173,39)] = {64,0}, + [I(174,39)] = {64,0}, + [I(175,39)] = {64,0}, + [I(176,39)] = {X32,0xFFFF07FA}, + [I(177,39)] = {X32,0xFFFF0FFA}, + [I(178,39)] = {64,0}, + [I(179,39)] = {X32,0xFFFF17FA}, + [I(180,39)] = {64,0}, + [I(181,39)] = {64,0}, + [I(182,39)] = {64,0}, + [I(183,39)] = {64,0}, + [I(184,39)] = {31,0x7FFF57FA}, + [I(185,39)] = {64,0}, + [I(186,39)] = {64,0}, + [I(187,39)] = {64,0}, + [I(188,39)] = {64,0}, + [I(189,39)] = {64,0}, + [I(190,39)] = {64,0}, + [I(191,39)] = {64,0}, + [I(192,39)] = {64,0}, + [I(193,39)] = {64,0}, + [I(194,39)] = {31,0x7FFF5FFA}, + [I(195,39)] = {30,0x3FFF8FFA}, + [I(196,39)] = {64,0}, + [I(197,39)] = {64,0}, + [I(198,39)] = {64,0}, + [I(199,39)] = {64,0}, + [I(200,39)] = {64,0}, + [I(201,39)] = {64,0}, + [I(202,39)] = {64,0}, + [I(203,39)] = {64,0}, + [I(204,39)] = {64,0}, + [I(205,39)] = {64,0}, + [I(206,39)] = {64,0}, + [I(207,39)] = {64,0}, + [I(208,39)] = {30,0x3FFF97FA}, + [I(209,39)] = {X32,0xFFFF1FFA}, + [I(210,39)] = {64,0}, + [I(211,39)] = {64,0}, + [I(212,39)] = {64,0}, + [I(213,39)] = {64,0}, + [I(214,39)] = {64,0}, + [I(215,39)] = {64,0}, + [I(216,39)] = {X32,0xFFFF27FA}, + [I(217,39)] = {X32,0xFFFF2FFA}, + [I(218,39)] = {64,0}, + [I(219,39)] = {64,0}, + [I(220,39)] = {64,0}, + [I(221,39)] = {64,0}, + [I(222,39)] = {64,0}, + [I(223,39)] = {64,0}, + [I(224,39)] = {31,0x7FFF67FA}, + [I(225,39)] = {64,0}, + [I(226,39)] = {31,0x7FFF6FFA}, + [I(227,39)] = {X32,0xFFFF37FA}, + [I(228,39)] = {64,0}, + [I(229,39)] = {X32,0xFFFF3FFA}, + [I(230,39)] = {X32,0xFFFF47FA}, + [I(231,39)] = {64,0}, + [I(232,39)] = {64,0}, + [I(233,39)] = {64,0}, + [I(234,39)] = {64,0}, + [I(235,39)] = {64,0}, + [I(236,39)] = {64,0}, + [I(237,39)] = {64,0}, + [I(238,39)] = {64,0}, + [I(239,39)] = {64,0}, + [I(240,39)] = {64,0}, + [I(241,39)] = {64,0}, + [I(242,39)] = {64,0}, + [I(243,39)] = {64,0}, + [I(244,39)] = {64,0}, + [I(245,39)] = {64,0}, + [I(246,39)] = {64,0}, + [I(247,39)] = {64,0}, + [I(248,39)] = {64,0}, + [I(249,39)] = {64,0}, + [I(250,39)] = {64,0}, + [I(251,39)] = {64,0}, + [I(252,39)] = {64,0}, + [I(253,39)] = {64,0}, + [I(254,39)] = {64,0}, + [I(255,39)] = {64,0}, + [I(0,40)] = {23,0x7FE3FA}, + [I(1,40)] = {64,0}, + [I(2,40)] = {64,0}, + [I(3,40)] = {64,0}, + [I(4,40)] = {64,0}, + [I(5,40)] = {64,0}, + [I(6,40)] = {64,0}, + [I(7,40)] = {64,0}, + [I(8,40)] = {64,0}, + [I(9,40)] = {64,0}, + [I(10,40)] = {64,0}, + [I(11,40)] = {64,0}, + [I(12,40)] = {64,0}, + [I(13,40)] = {64,0}, + [I(14,40)] = {64,0}, + [I(15,40)] = {64,0}, + [I(16,40)] = {64,0}, + [I(17,40)] = {64,0}, + [I(18,40)] = {64,0}, + [I(19,40)] = {64,0}, + [I(20,40)] = {64,0}, + [I(21,40)] = {64,0}, + [I(22,40)] = {64,0}, + [I(23,40)] = {64,0}, + [I(24,40)] = {64,0}, + [I(25,40)] = {64,0}, + [I(26,40)] = {64,0}, + [I(27,40)] = {64,0}, + [I(28,40)] = {64,0}, + [I(29,40)] = {64,0}, + [I(30,40)] = {64,0}, + [I(31,40)] = {64,0}, + [I(32,40)] = {16,0x53FA}, + [I(33,40)] = {20,0xFE3FA}, + [I(34,40)] = {20,0xFE7FA}, + [I(35,40)] = {22,0x3FEBFA}, + [I(36,40)] = {23,0x7FE7FA}, + [I(37,40)] = {16,0x57FA}, + [I(38,40)] = {18,0x3E3FA}, + [I(39,40)] = {21,0x1FEBFA}, + [I(40,40)] = {20,0xFEBFA}, + [I(41,40)] = {20,0xFEFFA}, + [I(42,40)] = {18,0x3E7FA}, + [I(43,40)] = {21,0x1FEFFA}, + [I(44,40)] = {18,0x3EBFA}, + [I(45,40)] = {16,0x5BFA}, + [I(46,40)] = {16,0x5FFA}, + [I(47,40)] = {16,0x63FA}, + [I(48,40)] = {15,0x3FA}, + [I(49,40)] = {15,0x7FA}, + [I(50,40)] = {15,0xBFA}, + [I(51,40)] = {16,0x67FA}, + [I(52,40)] = {16,0x6BFA}, + [I(53,40)] = {16,0x6FFA}, + [I(54,40)] = {16,0x73FA}, + [I(55,40)] = {16,0x77FA}, + [I(56,40)] = {16,0x7BFA}, + [I(57,40)] = {16,0x7FFA}, + [I(58,40)] = {17,0x173FA}, + [I(59,40)] = {18,0x3EFFA}, + [I(60,40)] = {25,0x1FFF3FA}, + [I(61,40)] = {16,0x83FA}, + [I(62,40)] = {22,0x3FEFFA}, + [I(63,40)] = {20,0xFF3FA}, + [I(64,40)] = {23,0x7FEBFA}, + [I(65,40)] = {16,0x87FA}, + [I(66,40)] = {17,0x177FA}, + [I(67,40)] = {17,0x17BFA}, + [I(68,40)] = {17,0x17FFA}, + [I(69,40)] = {17,0x183FA}, + [I(70,40)] = {17,0x187FA}, + [I(71,40)] = {17,0x18BFA}, + [I(72,40)] = {17,0x18FFA}, + [I(73,40)] = {17,0x193FA}, + [I(74,40)] = {17,0x197FA}, + [I(75,40)] = {17,0x19BFA}, + [I(76,40)] = {17,0x19FFA}, + [I(77,40)] = {17,0x1A3FA}, + [I(78,40)] = {17,0x1A7FA}, + [I(79,40)] = {17,0x1ABFA}, + [I(80,40)] = {17,0x1AFFA}, + [I(81,40)] = {17,0x1B3FA}, + [I(82,40)] = {17,0x1B7FA}, + [I(83,40)] = {17,0x1BBFA}, + [I(84,40)] = {17,0x1BFFA}, + [I(85,40)] = {17,0x1C3FA}, + [I(86,40)] = {17,0x1C7FA}, + [I(87,40)] = {17,0x1CBFA}, + [I(88,40)] = {18,0x3F3FA}, + [I(89,40)] = {17,0x1CFFA}, + [I(90,40)] = {18,0x3F7FA}, + [I(91,40)] = {23,0x7FEFFA}, + [I(92,40)] = {29,0x1FFFC3FA}, + [I(93,40)] = {23,0x7FF3FA}, + [I(94,40)] = {24,0xFFF3FA}, + [I(95,40)] = {16,0x8BFA}, + [I(96,40)] = {25,0x1FFF7FA}, + [I(97,40)] = {15,0xFFA}, + [I(98,40)] = {16,0x8FFA}, + [I(99,40)] = {15,0x13FA}, + [I(100,40)] = {16,0x93FA}, + [I(101,40)] = {15,0x17FA}, + [I(102,40)] = {16,0x97FA}, + [I(103,40)] = {16,0x9BFA}, + [I(104,40)] = {16,0x9FFA}, + [I(105,40)] = {15,0x1BFA}, + [I(106,40)] = {17,0x1D3FA}, + [I(107,40)] = {17,0x1D7FA}, + [I(108,40)] = {16,0xA3FA}, + [I(109,40)] = {16,0xA7FA}, + [I(110,40)] = {16,0xABFA}, + [I(111,40)] = {15,0x1FFA}, + [I(112,40)] = {16,0xAFFA}, + [I(113,40)] = {17,0x1DBFA}, + [I(114,40)] = {16,0xB3FA}, + [I(115,40)] = {15,0x23FA}, + [I(116,40)] = {15,0x27FA}, + [I(117,40)] = {16,0xB7FA}, + [I(118,40)] = {17,0x1DFFA}, + [I(119,40)] = {17,0x1E3FA}, + [I(120,40)] = {17,0x1E7FA}, + [I(121,40)] = {17,0x1EBFA}, + [I(122,40)] = {17,0x1EFFA}, + [I(123,40)] = {25,0x1FFFBFA}, + [I(124,40)] = {21,0x1FF3FA}, + [I(125,40)] = {24,0xFFF7FA}, + [I(126,40)] = {23,0x7FF7FA}, + [I(127,40)] = {64,0}, + [I(128,40)] = {30,0x3FFF9BFA}, + [I(129,40)] = {X32,0xFFFF4BFA}, + [I(130,40)] = {30,0x3FFF9FFA}, + [I(131,40)] = {30,0x3FFFA3FA}, + [I(132,40)] = {X32,0xFFFF4FFA}, + [I(133,40)] = {X32,0xFFFF53FA}, + [I(134,40)] = {X32,0xFFFF57FA}, + [I(135,40)] = {64,0}, + [I(136,40)] = {X32,0xFFFF5BFA}, + [I(137,40)] = {64,0}, + [I(138,40)] = {64,0}, + [I(139,40)] = {64,0}, + [I(140,40)] = {64,0}, + [I(141,40)] = {64,0}, + [I(142,40)] = {64,0}, + [I(143,40)] = {64,0}, + [I(144,40)] = {64,0}, + [I(145,40)] = {64,0}, + [I(146,40)] = {X32,0xFFFF5FFA}, + [I(147,40)] = {64,0}, + [I(148,40)] = {64,0}, + [I(149,40)] = {64,0}, + [I(150,40)] = {64,0}, + [I(151,40)] = {64,0}, + [I(152,40)] = {64,0}, + [I(153,40)] = {31,0x7FFF73FA}, + [I(154,40)] = {X32,0xFFFF63FA}, + [I(155,40)] = {64,0}, + [I(156,40)] = {X32,0xFFFF67FA}, + [I(157,40)] = {64,0}, + [I(158,40)] = {64,0}, + [I(159,40)] = {64,0}, + [I(160,40)] = {X32,0xFFFF6BFA}, + [I(161,40)] = {31,0x7FFF77FA}, + [I(162,40)] = {30,0x3FFFA7FA}, + [I(163,40)] = {X32,0xFFFF6FFA}, + [I(164,40)] = {X32,0xFFFF73FA}, + [I(165,40)] = {64,0}, + [I(166,40)] = {64,0}, + [I(167,40)] = {31,0x7FFF7BFA}, + [I(168,40)] = {64,0}, + [I(169,40)] = {X32,0xFFFF77FA}, + [I(170,40)] = {X32,0xFFFF7BFA}, + [I(171,40)] = {64,0}, + [I(172,40)] = {31,0x7FFF7FFA}, + [I(173,40)] = {X32,0xFFFF7FFA}, + [I(174,40)] = {64,0}, + [I(175,40)] = {64,0}, + [I(176,40)] = {31,0x7FFF83FA}, + [I(177,40)] = {31,0x7FFF87FA}, + [I(178,40)] = {X32,0xFFFF83FA}, + [I(179,40)] = {31,0x7FFF8BFA}, + [I(180,40)] = {64,0}, + [I(181,40)] = {X32,0xFFFF87FA}, + [I(182,40)] = {64,0}, + [I(183,40)] = {64,0}, + [I(184,40)] = {30,0x3FFFABFA}, + [I(185,40)] = {X32,0xFFFF8BFA}, + [I(186,40)] = {X32,0xFFFF8FFA}, + [I(187,40)] = {X32,0xFFFF93FA}, + [I(188,40)] = {64,0}, + [I(189,40)] = {X32,0xFFFF97FA}, + [I(190,40)] = {X32,0xFFFF9BFA}, + [I(191,40)] = {64,0}, + [I(192,40)] = {64,0}, + [I(193,40)] = {64,0}, + [I(194,40)] = {30,0x3FFFAFFA}, + [I(195,40)] = {29,0x1FFFC7FA}, + [I(196,40)] = {X32,0xFFFF9FFA}, + [I(197,40)] = {64,0}, + [I(198,40)] = {X32,0xFFFFA3FA}, + [I(199,40)] = {64,0}, + [I(200,40)] = {64,0}, + [I(201,40)] = {64,0}, + [I(202,40)] = {64,0}, + [I(203,40)] = {64,0}, + [I(204,40)] = {64,0}, + [I(205,40)] = {64,0}, + [I(206,40)] = {64,0}, + [I(207,40)] = {64,0}, + [I(208,40)] = {29,0x1FFFCBFA}, + [I(209,40)] = {31,0x7FFF8FFA}, + [I(210,40)] = {64,0}, + [I(211,40)] = {64,0}, + [I(212,40)] = {64,0}, + [I(213,40)] = {64,0}, + [I(214,40)] = {64,0}, + [I(215,40)] = {64,0}, + [I(216,40)] = {31,0x7FFF93FA}, + [I(217,40)] = {31,0x7FFF97FA}, + [I(218,40)] = {64,0}, + [I(219,40)] = {64,0}, + [I(220,40)] = {64,0}, + [I(221,40)] = {64,0}, + [I(222,40)] = {64,0}, + [I(223,40)] = {64,0}, + [I(224,40)] = {30,0x3FFFB3FA}, + [I(225,40)] = {64,0}, + [I(226,40)] = {30,0x3FFFB7FA}, + [I(227,40)] = {31,0x7FFF9BFA}, + [I(228,40)] = {X32,0xFFFFA7FA}, + [I(229,40)] = {31,0x7FFF9FFA}, + [I(230,40)] = {31,0x7FFFA3FA}, + [I(231,40)] = {64,0}, + [I(232,40)] = {X32,0xFFFFABFA}, + [I(233,40)] = {X32,0xFFFFAFFA}, + [I(234,40)] = {64,0}, + [I(235,40)] = {64,0}, + [I(236,40)] = {64,0}, + [I(237,40)] = {64,0}, + [I(238,40)] = {64,0}, + [I(239,40)] = {64,0}, + [I(240,40)] = {64,0}, + [I(241,40)] = {64,0}, + [I(242,40)] = {64,0}, + [I(243,40)] = {64,0}, + [I(244,40)] = {64,0}, + [I(245,40)] = {64,0}, + [I(246,40)] = {64,0}, + [I(247,40)] = {64,0}, + [I(248,40)] = {64,0}, + [I(249,40)] = {64,0}, + [I(250,40)] = {64,0}, + [I(251,40)] = {64,0}, + [I(252,40)] = {64,0}, + [I(253,40)] = {64,0}, + [I(254,40)] = {64,0}, + [I(255,40)] = {64,0}, + [I(0,41)] = {23,0x7FE3FB}, + [I(1,41)] = {64,0}, + [I(2,41)] = {64,0}, + [I(3,41)] = {64,0}, + [I(4,41)] = {64,0}, + [I(5,41)] = {64,0}, + [I(6,41)] = {64,0}, + [I(7,41)] = {64,0}, + [I(8,41)] = {64,0}, + [I(9,41)] = {64,0}, + [I(10,41)] = {64,0}, + [I(11,41)] = {64,0}, + [I(12,41)] = {64,0}, + [I(13,41)] = {64,0}, + [I(14,41)] = {64,0}, + [I(15,41)] = {64,0}, + [I(16,41)] = {64,0}, + [I(17,41)] = {64,0}, + [I(18,41)] = {64,0}, + [I(19,41)] = {64,0}, + [I(20,41)] = {64,0}, + [I(21,41)] = {64,0}, + [I(22,41)] = {64,0}, + [I(23,41)] = {64,0}, + [I(24,41)] = {64,0}, + [I(25,41)] = {64,0}, + [I(26,41)] = {64,0}, + [I(27,41)] = {64,0}, + [I(28,41)] = {64,0}, + [I(29,41)] = {64,0}, + [I(30,41)] = {64,0}, + [I(31,41)] = {64,0}, + [I(32,41)] = {16,0x53FB}, + [I(33,41)] = {20,0xFE3FB}, + [I(34,41)] = {20,0xFE7FB}, + [I(35,41)] = {22,0x3FEBFB}, + [I(36,41)] = {23,0x7FE7FB}, + [I(37,41)] = {16,0x57FB}, + [I(38,41)] = {18,0x3E3FB}, + [I(39,41)] = {21,0x1FEBFB}, + [I(40,41)] = {20,0xFEBFB}, + [I(41,41)] = {20,0xFEFFB}, + [I(42,41)] = {18,0x3E7FB}, + [I(43,41)] = {21,0x1FEFFB}, + [I(44,41)] = {18,0x3EBFB}, + [I(45,41)] = {16,0x5BFB}, + [I(46,41)] = {16,0x5FFB}, + [I(47,41)] = {16,0x63FB}, + [I(48,41)] = {15,0x3FB}, + [I(49,41)] = {15,0x7FB}, + [I(50,41)] = {15,0xBFB}, + [I(51,41)] = {16,0x67FB}, + [I(52,41)] = {16,0x6BFB}, + [I(53,41)] = {16,0x6FFB}, + [I(54,41)] = {16,0x73FB}, + [I(55,41)] = {16,0x77FB}, + [I(56,41)] = {16,0x7BFB}, + [I(57,41)] = {16,0x7FFB}, + [I(58,41)] = {17,0x173FB}, + [I(59,41)] = {18,0x3EFFB}, + [I(60,41)] = {25,0x1FFF3FB}, + [I(61,41)] = {16,0x83FB}, + [I(62,41)] = {22,0x3FEFFB}, + [I(63,41)] = {20,0xFF3FB}, + [I(64,41)] = {23,0x7FEBFB}, + [I(65,41)] = {16,0x87FB}, + [I(66,41)] = {17,0x177FB}, + [I(67,41)] = {17,0x17BFB}, + [I(68,41)] = {17,0x17FFB}, + [I(69,41)] = {17,0x183FB}, + [I(70,41)] = {17,0x187FB}, + [I(71,41)] = {17,0x18BFB}, + [I(72,41)] = {17,0x18FFB}, + [I(73,41)] = {17,0x193FB}, + [I(74,41)] = {17,0x197FB}, + [I(75,41)] = {17,0x19BFB}, + [I(76,41)] = {17,0x19FFB}, + [I(77,41)] = {17,0x1A3FB}, + [I(78,41)] = {17,0x1A7FB}, + [I(79,41)] = {17,0x1ABFB}, + [I(80,41)] = {17,0x1AFFB}, + [I(81,41)] = {17,0x1B3FB}, + [I(82,41)] = {17,0x1B7FB}, + [I(83,41)] = {17,0x1BBFB}, + [I(84,41)] = {17,0x1BFFB}, + [I(85,41)] = {17,0x1C3FB}, + [I(86,41)] = {17,0x1C7FB}, + [I(87,41)] = {17,0x1CBFB}, + [I(88,41)] = {18,0x3F3FB}, + [I(89,41)] = {17,0x1CFFB}, + [I(90,41)] = {18,0x3F7FB}, + [I(91,41)] = {23,0x7FEFFB}, + [I(92,41)] = {29,0x1FFFC3FB}, + [I(93,41)] = {23,0x7FF3FB}, + [I(94,41)] = {24,0xFFF3FB}, + [I(95,41)] = {16,0x8BFB}, + [I(96,41)] = {25,0x1FFF7FB}, + [I(97,41)] = {15,0xFFB}, + [I(98,41)] = {16,0x8FFB}, + [I(99,41)] = {15,0x13FB}, + [I(100,41)] = {16,0x93FB}, + [I(101,41)] = {15,0x17FB}, + [I(102,41)] = {16,0x97FB}, + [I(103,41)] = {16,0x9BFB}, + [I(104,41)] = {16,0x9FFB}, + [I(105,41)] = {15,0x1BFB}, + [I(106,41)] = {17,0x1D3FB}, + [I(107,41)] = {17,0x1D7FB}, + [I(108,41)] = {16,0xA3FB}, + [I(109,41)] = {16,0xA7FB}, + [I(110,41)] = {16,0xABFB}, + [I(111,41)] = {15,0x1FFB}, + [I(112,41)] = {16,0xAFFB}, + [I(113,41)] = {17,0x1DBFB}, + [I(114,41)] = {16,0xB3FB}, + [I(115,41)] = {15,0x23FB}, + [I(116,41)] = {15,0x27FB}, + [I(117,41)] = {16,0xB7FB}, + [I(118,41)] = {17,0x1DFFB}, + [I(119,41)] = {17,0x1E3FB}, + [I(120,41)] = {17,0x1E7FB}, + [I(121,41)] = {17,0x1EBFB}, + [I(122,41)] = {17,0x1EFFB}, + [I(123,41)] = {25,0x1FFFBFB}, + [I(124,41)] = {21,0x1FF3FB}, + [I(125,41)] = {24,0xFFF7FB}, + [I(126,41)] = {23,0x7FF7FB}, + [I(127,41)] = {64,0}, + [I(128,41)] = {30,0x3FFF9BFB}, + [I(129,41)] = {X32,0xFFFF4BFB}, + [I(130,41)] = {30,0x3FFF9FFB}, + [I(131,41)] = {30,0x3FFFA3FB}, + [I(132,41)] = {X32,0xFFFF4FFB}, + [I(133,41)] = {X32,0xFFFF53FB}, + [I(134,41)] = {X32,0xFFFF57FB}, + [I(135,41)] = {64,0}, + [I(136,41)] = {X32,0xFFFF5BFB}, + [I(137,41)] = {64,0}, + [I(138,41)] = {64,0}, + [I(139,41)] = {64,0}, + [I(140,41)] = {64,0}, + [I(141,41)] = {64,0}, + [I(142,41)] = {64,0}, + [I(143,41)] = {64,0}, + [I(144,41)] = {64,0}, + [I(145,41)] = {64,0}, + [I(146,41)] = {X32,0xFFFF5FFB}, + [I(147,41)] = {64,0}, + [I(148,41)] = {64,0}, + [I(149,41)] = {64,0}, + [I(150,41)] = {64,0}, + [I(151,41)] = {64,0}, + [I(152,41)] = {64,0}, + [I(153,41)] = {31,0x7FFF73FB}, + [I(154,41)] = {X32,0xFFFF63FB}, + [I(155,41)] = {64,0}, + [I(156,41)] = {X32,0xFFFF67FB}, + [I(157,41)] = {64,0}, + [I(158,41)] = {64,0}, + [I(159,41)] = {64,0}, + [I(160,41)] = {X32,0xFFFF6BFB}, + [I(161,41)] = {31,0x7FFF77FB}, + [I(162,41)] = {30,0x3FFFA7FB}, + [I(163,41)] = {X32,0xFFFF6FFB}, + [I(164,41)] = {X32,0xFFFF73FB}, + [I(165,41)] = {64,0}, + [I(166,41)] = {64,0}, + [I(167,41)] = {31,0x7FFF7BFB}, + [I(168,41)] = {64,0}, + [I(169,41)] = {X32,0xFFFF77FB}, + [I(170,41)] = {X32,0xFFFF7BFB}, + [I(171,41)] = {64,0}, + [I(172,41)] = {31,0x7FFF7FFB}, + [I(173,41)] = {X32,0xFFFF7FFB}, + [I(174,41)] = {64,0}, + [I(175,41)] = {64,0}, + [I(176,41)] = {31,0x7FFF83FB}, + [I(177,41)] = {31,0x7FFF87FB}, + [I(178,41)] = {X32,0xFFFF83FB}, + [I(179,41)] = {31,0x7FFF8BFB}, + [I(180,41)] = {64,0}, + [I(181,41)] = {X32,0xFFFF87FB}, + [I(182,41)] = {64,0}, + [I(183,41)] = {64,0}, + [I(184,41)] = {30,0x3FFFABFB}, + [I(185,41)] = {X32,0xFFFF8BFB}, + [I(186,41)] = {X32,0xFFFF8FFB}, + [I(187,41)] = {X32,0xFFFF93FB}, + [I(188,41)] = {64,0}, + [I(189,41)] = {X32,0xFFFF97FB}, + [I(190,41)] = {X32,0xFFFF9BFB}, + [I(191,41)] = {64,0}, + [I(192,41)] = {64,0}, + [I(193,41)] = {64,0}, + [I(194,41)] = {30,0x3FFFAFFB}, + [I(195,41)] = {29,0x1FFFC7FB}, + [I(196,41)] = {X32,0xFFFF9FFB}, + [I(197,41)] = {64,0}, + [I(198,41)] = {X32,0xFFFFA3FB}, + [I(199,41)] = {64,0}, + [I(200,41)] = {64,0}, + [I(201,41)] = {64,0}, + [I(202,41)] = {64,0}, + [I(203,41)] = {64,0}, + [I(204,41)] = {64,0}, + [I(205,41)] = {64,0}, + [I(206,41)] = {64,0}, + [I(207,41)] = {64,0}, + [I(208,41)] = {29,0x1FFFCBFB}, + [I(209,41)] = {31,0x7FFF8FFB}, + [I(210,41)] = {64,0}, + [I(211,41)] = {64,0}, + [I(212,41)] = {64,0}, + [I(213,41)] = {64,0}, + [I(214,41)] = {64,0}, + [I(215,41)] = {64,0}, + [I(216,41)] = {31,0x7FFF93FB}, + [I(217,41)] = {31,0x7FFF97FB}, + [I(218,41)] = {64,0}, + [I(219,41)] = {64,0}, + [I(220,41)] = {64,0}, + [I(221,41)] = {64,0}, + [I(222,41)] = {64,0}, + [I(223,41)] = {64,0}, + [I(224,41)] = {30,0x3FFFB3FB}, + [I(225,41)] = {64,0}, + [I(226,41)] = {30,0x3FFFB7FB}, + [I(227,41)] = {31,0x7FFF9BFB}, + [I(228,41)] = {X32,0xFFFFA7FB}, + [I(229,41)] = {31,0x7FFF9FFB}, + [I(230,41)] = {31,0x7FFFA3FB}, + [I(231,41)] = {64,0}, + [I(232,41)] = {X32,0xFFFFABFB}, + [I(233,41)] = {X32,0xFFFFAFFB}, + [I(234,41)] = {64,0}, + [I(235,41)] = {64,0}, + [I(236,41)] = {64,0}, + [I(237,41)] = {64,0}, + [I(238,41)] = {64,0}, + [I(239,41)] = {64,0}, + [I(240,41)] = {64,0}, + [I(241,41)] = {64,0}, + [I(242,41)] = {64,0}, + [I(243,41)] = {64,0}, + [I(244,41)] = {64,0}, + [I(245,41)] = {64,0}, + [I(246,41)] = {64,0}, + [I(247,41)] = {64,0}, + [I(248,41)] = {64,0}, + [I(249,41)] = {64,0}, + [I(250,41)] = {64,0}, + [I(251,41)] = {64,0}, + [I(252,41)] = {64,0}, + [I(253,41)] = {64,0}, + [I(254,41)] = {64,0}, + [I(255,41)] = {64,0}, + [I(0,42)] = {21,0x1FF8F9}, + [I(1,42)] = {31,0x7FFFD8F9}, + [I(2,42)] = {64,0}, + [I(3,42)] = {64,0}, + [I(4,42)] = {64,0}, + [I(5,42)] = {64,0}, + [I(6,42)] = {64,0}, + [I(7,42)] = {64,0}, + [I(8,42)] = {64,0}, + [I(9,42)] = {X32,0xFFFFEAF9}, + [I(10,42)] = {64,0}, + [I(11,42)] = {64,0}, + [I(12,42)] = {64,0}, + [I(13,42)] = {64,0}, + [I(14,42)] = {64,0}, + [I(15,42)] = {64,0}, + [I(16,42)] = {64,0}, + [I(17,42)] = {64,0}, + [I(18,42)] = {64,0}, + [I(19,42)] = {64,0}, + [I(20,42)] = {64,0}, + [I(21,42)] = {64,0}, + [I(22,42)] = {64,0}, + [I(23,42)] = {64,0}, + [I(24,42)] = {64,0}, + [I(25,42)] = {64,0}, + [I(26,42)] = {64,0}, + [I(27,42)] = {64,0}, + [I(28,42)] = {64,0}, + [I(29,42)] = {64,0}, + [I(30,42)] = {64,0}, + [I(31,42)] = {64,0}, + [I(32,42)] = {14,0x14F9}, + [I(33,42)] = {18,0x3F8F9}, + [I(34,42)] = {18,0x3F9F9}, + [I(35,42)] = {20,0xFFAF9}, + [I(36,42)] = {21,0x1FF9F9}, + [I(37,42)] = {14,0x15F9}, + [I(38,42)] = {16,0xF8F9}, + [I(39,42)] = {19,0x7FAF9}, + [I(40,42)] = {18,0x3FAF9}, + [I(41,42)] = {18,0x3FBF9}, + [I(42,42)] = {16,0xF9F9}, + [I(43,42)] = {19,0x7FBF9}, + [I(44,42)] = {16,0xFAF9}, + [I(45,42)] = {14,0x16F9}, + [I(46,42)] = {14,0x17F9}, + [I(47,42)] = {14,0x18F9}, + [I(48,42)] = {13,0xF9}, + [I(49,42)] = {13,0x1F9}, + [I(50,42)] = {13,0x2F9}, + [I(51,42)] = {14,0x19F9}, + [I(52,42)] = {14,0x1AF9}, + [I(53,42)] = {14,0x1BF9}, + [I(54,42)] = {14,0x1CF9}, + [I(55,42)] = {14,0x1DF9}, + [I(56,42)] = {14,0x1EF9}, + [I(57,42)] = {14,0x1FF9}, + [I(58,42)] = {15,0x5CF9}, + [I(59,42)] = {16,0xFBF9}, + [I(60,42)] = {23,0x7FFCF9}, + [I(61,42)] = {14,0x20F9}, + [I(62,42)] = {20,0xFFBF9}, + [I(63,42)] = {18,0x3FCF9}, + [I(64,42)] = {21,0x1FFAF9}, + [I(65,42)] = {14,0x21F9}, + [I(66,42)] = {15,0x5DF9}, + [I(67,42)] = {15,0x5EF9}, + [I(68,42)] = {15,0x5FF9}, + [I(69,42)] = {15,0x60F9}, + [I(70,42)] = {15,0x61F9}, + [I(71,42)] = {15,0x62F9}, + [I(72,42)] = {15,0x63F9}, + [I(73,42)] = {15,0x64F9}, + [I(74,42)] = {15,0x65F9}, + [I(75,42)] = {15,0x66F9}, + [I(76,42)] = {15,0x67F9}, + [I(77,42)] = {15,0x68F9}, + [I(78,42)] = {15,0x69F9}, + [I(79,42)] = {15,0x6AF9}, + [I(80,42)] = {15,0x6BF9}, + [I(81,42)] = {15,0x6CF9}, + [I(82,42)] = {15,0x6DF9}, + [I(83,42)] = {15,0x6EF9}, + [I(84,42)] = {15,0x6FF9}, + [I(85,42)] = {15,0x70F9}, + [I(86,42)] = {15,0x71F9}, + [I(87,42)] = {15,0x72F9}, + [I(88,42)] = {16,0xFCF9}, + [I(89,42)] = {15,0x73F9}, + [I(90,42)] = {16,0xFDF9}, + [I(91,42)] = {21,0x1FFBF9}, + [I(92,42)] = {27,0x7FFF0F9}, + [I(93,42)] = {21,0x1FFCF9}, + [I(94,42)] = {22,0x3FFCF9}, + [I(95,42)] = {14,0x22F9}, + [I(96,42)] = {23,0x7FFDF9}, + [I(97,42)] = {13,0x3F9}, + [I(98,42)] = {14,0x23F9}, + [I(99,42)] = {13,0x4F9}, + [I(100,42)] = {14,0x24F9}, + [I(101,42)] = {13,0x5F9}, + [I(102,42)] = {14,0x25F9}, + [I(103,42)] = {14,0x26F9}, + [I(104,42)] = {14,0x27F9}, + [I(105,42)] = {13,0x6F9}, + [I(106,42)] = {15,0x74F9}, + [I(107,42)] = {15,0x75F9}, + [I(108,42)] = {14,0x28F9}, + [I(109,42)] = {14,0x29F9}, + [I(110,42)] = {14,0x2AF9}, + [I(111,42)] = {13,0x7F9}, + [I(112,42)] = {14,0x2BF9}, + [I(113,42)] = {15,0x76F9}, + [I(114,42)] = {14,0x2CF9}, + [I(115,42)] = {13,0x8F9}, + [I(116,42)] = {13,0x9F9}, + [I(117,42)] = {14,0x2DF9}, + [I(118,42)] = {15,0x77F9}, + [I(119,42)] = {15,0x78F9}, + [I(120,42)] = {15,0x79F9}, + [I(121,42)] = {15,0x7AF9}, + [I(122,42)] = {15,0x7BF9}, + [I(123,42)] = {23,0x7FFEF9}, + [I(124,42)] = {19,0x7FCF9}, + [I(125,42)] = {22,0x3FFDF9}, + [I(126,42)] = {21,0x1FFDF9}, + [I(127,42)] = {64,0}, + [I(128,42)] = {28,0xFFFE6F9}, + [I(129,42)] = {30,0x3FFFD2F9}, + [I(130,42)] = {28,0xFFFE7F9}, + [I(131,42)] = {28,0xFFFE8F9}, + [I(132,42)] = {30,0x3FFFD3F9}, + [I(133,42)] = {30,0x3FFFD4F9}, + [I(134,42)] = {30,0x3FFFD5F9}, + [I(135,42)] = {31,0x7FFFD9F9}, + [I(136,42)] = {30,0x3FFFD6F9}, + [I(137,42)] = {31,0x7FFFDAF9}, + [I(138,42)] = {31,0x7FFFDBF9}, + [I(139,42)] = {31,0x7FFFDCF9}, + [I(140,42)] = {31,0x7FFFDDF9}, + [I(141,42)] = {31,0x7FFFDEF9}, + [I(142,42)] = {X32,0xFFFFEBF9}, + [I(143,42)] = {31,0x7FFFDFF9}, + [I(144,42)] = {X32,0xFFFFECF9}, + [I(145,42)] = {X32,0xFFFFEDF9}, + [I(146,42)] = {30,0x3FFFD7F9}, + [I(147,42)] = {31,0x7FFFE0F9}, + [I(148,42)] = {X32,0xFFFFEEF9}, + [I(149,42)] = {31,0x7FFFE1F9}, + [I(150,42)] = {31,0x7FFFE2F9}, + [I(151,42)] = {31,0x7FFFE3F9}, + [I(152,42)] = {31,0x7FFFE4F9}, + [I(153,42)] = {29,0x1FFFDCF9}, + [I(154,42)] = {30,0x3FFFD8F9}, + [I(155,42)] = {31,0x7FFFE5F9}, + [I(156,42)] = {30,0x3FFFD9F9}, + [I(157,42)] = {31,0x7FFFE6F9}, + [I(158,42)] = {31,0x7FFFE7F9}, + [I(159,42)] = {X32,0xFFFFEFF9}, + [I(160,42)] = {30,0x3FFFDAF9}, + [I(161,42)] = {29,0x1FFFDDF9}, + [I(162,42)] = {28,0xFFFE9F9}, + [I(163,42)] = {30,0x3FFFDBF9}, + [I(164,42)] = {30,0x3FFFDCF9}, + [I(165,42)] = {31,0x7FFFE8F9}, + [I(166,42)] = {31,0x7FFFE9F9}, + [I(167,42)] = {29,0x1FFFDEF9}, + [I(168,42)] = {31,0x7FFFEAF9}, + [I(169,42)] = {30,0x3FFFDDF9}, + [I(170,42)] = {30,0x3FFFDEF9}, + [I(171,42)] = {X32,0xFFFFF0F9}, + [I(172,42)] = {29,0x1FFFDFF9}, + [I(173,42)] = {30,0x3FFFDFF9}, + [I(174,42)] = {31,0x7FFFEBF9}, + [I(175,42)] = {31,0x7FFFECF9}, + [I(176,42)] = {29,0x1FFFE0F9}, + [I(177,42)] = {29,0x1FFFE1F9}, + [I(178,42)] = {30,0x3FFFE0F9}, + [I(179,42)] = {29,0x1FFFE2F9}, + [I(180,42)] = {31,0x7FFFEDF9}, + [I(181,42)] = {30,0x3FFFE1F9}, + [I(182,42)] = {31,0x7FFFEEF9}, + [I(183,42)] = {31,0x7FFFEFF9}, + [I(184,42)] = {28,0xFFFEAF9}, + [I(185,42)] = {30,0x3FFFE2F9}, + [I(186,42)] = {30,0x3FFFE3F9}, + [I(187,42)] = {30,0x3FFFE4F9}, + [I(188,42)] = {31,0x7FFFF0F9}, + [I(189,42)] = {30,0x3FFFE5F9}, + [I(190,42)] = {30,0x3FFFE6F9}, + [I(191,42)] = {31,0x7FFFF1F9}, + [I(192,42)] = {64,0}, + [I(193,42)] = {64,0}, + [I(194,42)] = {28,0xFFFEBF9}, + [I(195,42)] = {27,0x7FFF1F9}, + [I(196,42)] = {30,0x3FFFE7F9}, + [I(197,42)] = {31,0x7FFFF2F9}, + [I(198,42)] = {30,0x3FFFE8F9}, + [I(199,42)] = {64,0}, + [I(200,42)] = {64,0}, + [I(201,42)] = {64,0}, + [I(202,42)] = {64,0}, + [I(203,42)] = {64,0}, + [I(204,42)] = {64,0}, + [I(205,42)] = {64,0}, + [I(206,42)] = {X32,0xFFFFF1F9}, + [I(207,42)] = {64,0}, + [I(208,42)] = {27,0x7FFF2F9}, + [I(209,42)] = {29,0x1FFFE3F9}, + [I(210,42)] = {64,0}, + [I(211,42)] = {64,0}, + [I(212,42)] = {64,0}, + [I(213,42)] = {64,0}, + [I(214,42)] = {64,0}, + [I(215,42)] = {X32,0xFFFFF2F9}, + [I(216,42)] = {29,0x1FFFE4F9}, + [I(217,42)] = {29,0x1FFFE5F9}, + [I(218,42)] = {64,0}, + [I(219,42)] = {64,0}, + [I(220,42)] = {64,0}, + [I(221,42)] = {64,0}, + [I(222,42)] = {64,0}, + [I(223,42)] = {64,0}, + [I(224,42)] = {28,0xFFFECF9}, + [I(225,42)] = {X32,0xFFFFF3F9}, + [I(226,42)] = {28,0xFFFEDF9}, + [I(227,42)] = {29,0x1FFFE6F9}, + [I(228,42)] = {30,0x3FFFE9F9}, + [I(229,42)] = {29,0x1FFFE7F9}, + [I(230,42)] = {29,0x1FFFE8F9}, + [I(231,42)] = {31,0x7FFFF3F9}, + [I(232,42)] = {30,0x3FFFEAF9}, + [I(233,42)] = {30,0x3FFFEBF9}, + [I(234,42)] = {64,0}, + [I(235,42)] = {64,0}, + [I(236,42)] = {X32,0xFFFFF4F9}, + [I(237,42)] = {X32,0xFFFFF5F9}, + [I(238,42)] = {64,0}, + [I(239,42)] = {31,0x7FFFF4F9}, + [I(240,42)] = {64,0}, + [I(241,42)] = {64,0}, + [I(242,42)] = {64,0}, + [I(243,42)] = {64,0}, + [I(244,42)] = {64,0}, + [I(245,42)] = {64,0}, + [I(246,42)] = {64,0}, + [I(247,42)] = {64,0}, + [I(248,42)] = {64,0}, + [I(249,42)] = {64,0}, + [I(250,42)] = {64,0}, + [I(251,42)] = {64,0}, + [I(252,42)] = {64,0}, + [I(253,42)] = {64,0}, + [I(254,42)] = {64,0}, + [I(255,42)] = {64,0}, + [I(0,43)] = {24,0xFFC7FB}, + [I(1,43)] = {64,0}, + [I(2,43)] = {64,0}, + [I(3,43)] = {64,0}, + [I(4,43)] = {64,0}, + [I(5,43)] = {64,0}, + [I(6,43)] = {64,0}, + [I(7,43)] = {64,0}, + [I(8,43)] = {64,0}, + [I(9,43)] = {64,0}, + [I(10,43)] = {64,0}, + [I(11,43)] = {64,0}, + [I(12,43)] = {64,0}, + [I(13,43)] = {64,0}, + [I(14,43)] = {64,0}, + [I(15,43)] = {64,0}, + [I(16,43)] = {64,0}, + [I(17,43)] = {64,0}, + [I(18,43)] = {64,0}, + [I(19,43)] = {64,0}, + [I(20,43)] = {64,0}, + [I(21,43)] = {64,0}, + [I(22,43)] = {64,0}, + [I(23,43)] = {64,0}, + [I(24,43)] = {64,0}, + [I(25,43)] = {64,0}, + [I(26,43)] = {64,0}, + [I(27,43)] = {64,0}, + [I(28,43)] = {64,0}, + [I(29,43)] = {64,0}, + [I(30,43)] = {64,0}, + [I(31,43)] = {64,0}, + [I(32,43)] = {17,0xA7FB}, + [I(33,43)] = {21,0x1FC7FB}, + [I(34,43)] = {21,0x1FCFFB}, + [I(35,43)] = {23,0x7FD7FB}, + [I(36,43)] = {24,0xFFCFFB}, + [I(37,43)] = {17,0xAFFB}, + [I(38,43)] = {19,0x7C7FB}, + [I(39,43)] = {22,0x3FD7FB}, + [I(40,43)] = {21,0x1FD7FB}, + [I(41,43)] = {21,0x1FDFFB}, + [I(42,43)] = {19,0x7CFFB}, + [I(43,43)] = {22,0x3FDFFB}, + [I(44,43)] = {19,0x7D7FB}, + [I(45,43)] = {17,0xB7FB}, + [I(46,43)] = {17,0xBFFB}, + [I(47,43)] = {17,0xC7FB}, + [I(48,43)] = {16,0x7FB}, + [I(49,43)] = {16,0xFFB}, + [I(50,43)] = {16,0x17FB}, + [I(51,43)] = {17,0xCFFB}, + [I(52,43)] = {17,0xD7FB}, + [I(53,43)] = {17,0xDFFB}, + [I(54,43)] = {17,0xE7FB}, + [I(55,43)] = {17,0xEFFB}, + [I(56,43)] = {17,0xF7FB}, + [I(57,43)] = {17,0xFFFB}, + [I(58,43)] = {18,0x2E7FB}, + [I(59,43)] = {19,0x7DFFB}, + [I(60,43)] = {26,0x3FFE7FB}, + [I(61,43)] = {17,0x107FB}, + [I(62,43)] = {23,0x7FDFFB}, + [I(63,43)] = {21,0x1FE7FB}, + [I(64,43)] = {24,0xFFD7FB}, + [I(65,43)] = {17,0x10FFB}, + [I(66,43)] = {18,0x2EFFB}, + [I(67,43)] = {18,0x2F7FB}, + [I(68,43)] = {18,0x2FFFB}, + [I(69,43)] = {18,0x307FB}, + [I(70,43)] = {18,0x30FFB}, + [I(71,43)] = {18,0x317FB}, + [I(72,43)] = {18,0x31FFB}, + [I(73,43)] = {18,0x327FB}, + [I(74,43)] = {18,0x32FFB}, + [I(75,43)] = {18,0x337FB}, + [I(76,43)] = {18,0x33FFB}, + [I(77,43)] = {18,0x347FB}, + [I(78,43)] = {18,0x34FFB}, + [I(79,43)] = {18,0x357FB}, + [I(80,43)] = {18,0x35FFB}, + [I(81,43)] = {18,0x367FB}, + [I(82,43)] = {18,0x36FFB}, + [I(83,43)] = {18,0x377FB}, + [I(84,43)] = {18,0x37FFB}, + [I(85,43)] = {18,0x387FB}, + [I(86,43)] = {18,0x38FFB}, + [I(87,43)] = {18,0x397FB}, + [I(88,43)] = {19,0x7E7FB}, + [I(89,43)] = {18,0x39FFB}, + [I(90,43)] = {19,0x7EFFB}, + [I(91,43)] = {24,0xFFDFFB}, + [I(92,43)] = {30,0x3FFF87FB}, + [I(93,43)] = {24,0xFFE7FB}, + [I(94,43)] = {25,0x1FFE7FB}, + [I(95,43)] = {17,0x117FB}, + [I(96,43)] = {26,0x3FFEFFB}, + [I(97,43)] = {16,0x1FFB}, + [I(98,43)] = {17,0x11FFB}, + [I(99,43)] = {16,0x27FB}, + [I(100,43)] = {17,0x127FB}, + [I(101,43)] = {16,0x2FFB}, + [I(102,43)] = {17,0x12FFB}, + [I(103,43)] = {17,0x137FB}, + [I(104,43)] = {17,0x13FFB}, + [I(105,43)] = {16,0x37FB}, + [I(106,43)] = {18,0x3A7FB}, + [I(107,43)] = {18,0x3AFFB}, + [I(108,43)] = {17,0x147FB}, + [I(109,43)] = {17,0x14FFB}, + [I(110,43)] = {17,0x157FB}, + [I(111,43)] = {16,0x3FFB}, + [I(112,43)] = {17,0x15FFB}, + [I(113,43)] = {18,0x3B7FB}, + [I(114,43)] = {17,0x167FB}, + [I(115,43)] = {16,0x47FB}, + [I(116,43)] = {16,0x4FFB}, + [I(117,43)] = {17,0x16FFB}, + [I(118,43)] = {18,0x3BFFB}, + [I(119,43)] = {18,0x3C7FB}, + [I(120,43)] = {18,0x3CFFB}, + [I(121,43)] = {18,0x3D7FB}, + [I(122,43)] = {18,0x3DFFB}, + [I(123,43)] = {26,0x3FFF7FB}, + [I(124,43)] = {22,0x3FE7FB}, + [I(125,43)] = {25,0x1FFEFFB}, + [I(126,43)] = {24,0xFFEFFB}, + [I(127,43)] = {64,0}, + [I(128,43)] = {31,0x7FFF37FB}, + [I(129,43)] = {64,0}, + [I(130,43)] = {31,0x7FFF3FFB}, + [I(131,43)] = {31,0x7FFF47FB}, + [I(132,43)] = {64,0}, + [I(133,43)] = {64,0}, + [I(134,43)] = {64,0}, + [I(135,43)] = {64,0}, + [I(136,43)] = {64,0}, + [I(137,43)] = {64,0}, + [I(138,43)] = {64,0}, + [I(139,43)] = {64,0}, + [I(140,43)] = {64,0}, + [I(141,43)] = {64,0}, + [I(142,43)] = {64,0}, + [I(143,43)] = {64,0}, + [I(144,43)] = {64,0}, + [I(145,43)] = {64,0}, + [I(146,43)] = {64,0}, + [I(147,43)] = {64,0}, + [I(148,43)] = {64,0}, + [I(149,43)] = {64,0}, + [I(150,43)] = {64,0}, + [I(151,43)] = {64,0}, + [I(152,43)] = {64,0}, + [I(153,43)] = {X32,0xFFFEE7FB}, + [I(154,43)] = {64,0}, + [I(155,43)] = {64,0}, + [I(156,43)] = {64,0}, + [I(157,43)] = {64,0}, + [I(158,43)] = {64,0}, + [I(159,43)] = {64,0}, + [I(160,43)] = {64,0}, + [I(161,43)] = {X32,0xFFFEEFFB}, + [I(162,43)] = {31,0x7FFF4FFB}, + [I(163,43)] = {64,0}, + [I(164,43)] = {64,0}, + [I(165,43)] = {64,0}, + [I(166,43)] = {64,0}, + [I(167,43)] = {X32,0xFFFEF7FB}, + [I(168,43)] = {64,0}, + [I(169,43)] = {64,0}, + [I(170,43)] = {64,0}, + [I(171,43)] = {64,0}, + [I(172,43)] = {X32,0xFFFEFFFB}, + [I(173,43)] = {64,0}, + [I(174,43)] = {64,0}, + [I(175,43)] = {64,0}, + [I(176,43)] = {X32,0xFFFF07FB}, + [I(177,43)] = {X32,0xFFFF0FFB}, + [I(178,43)] = {64,0}, + [I(179,43)] = {X32,0xFFFF17FB}, + [I(180,43)] = {64,0}, + [I(181,43)] = {64,0}, + [I(182,43)] = {64,0}, + [I(183,43)] = {64,0}, + [I(184,43)] = {31,0x7FFF57FB}, + [I(185,43)] = {64,0}, + [I(186,43)] = {64,0}, + [I(187,43)] = {64,0}, + [I(188,43)] = {64,0}, + [I(189,43)] = {64,0}, + [I(190,43)] = {64,0}, + [I(191,43)] = {64,0}, + [I(192,43)] = {64,0}, + [I(193,43)] = {64,0}, + [I(194,43)] = {31,0x7FFF5FFB}, + [I(195,43)] = {30,0x3FFF8FFB}, + [I(196,43)] = {64,0}, + [I(197,43)] = {64,0}, + [I(198,43)] = {64,0}, + [I(199,43)] = {64,0}, + [I(200,43)] = {64,0}, + [I(201,43)] = {64,0}, + [I(202,43)] = {64,0}, + [I(203,43)] = {64,0}, + [I(204,43)] = {64,0}, + [I(205,43)] = {64,0}, + [I(206,43)] = {64,0}, + [I(207,43)] = {64,0}, + [I(208,43)] = {30,0x3FFF97FB}, + [I(209,43)] = {X32,0xFFFF1FFB}, + [I(210,43)] = {64,0}, + [I(211,43)] = {64,0}, + [I(212,43)] = {64,0}, + [I(213,43)] = {64,0}, + [I(214,43)] = {64,0}, + [I(215,43)] = {64,0}, + [I(216,43)] = {X32,0xFFFF27FB}, + [I(217,43)] = {X32,0xFFFF2FFB}, + [I(218,43)] = {64,0}, + [I(219,43)] = {64,0}, + [I(220,43)] = {64,0}, + [I(221,43)] = {64,0}, + [I(222,43)] = {64,0}, + [I(223,43)] = {64,0}, + [I(224,43)] = {31,0x7FFF67FB}, + [I(225,43)] = {64,0}, + [I(226,43)] = {31,0x7FFF6FFB}, + [I(227,43)] = {X32,0xFFFF37FB}, + [I(228,43)] = {64,0}, + [I(229,43)] = {X32,0xFFFF3FFB}, + [I(230,43)] = {X32,0xFFFF47FB}, + [I(231,43)] = {64,0}, + [I(232,43)] = {64,0}, + [I(233,43)] = {64,0}, + [I(234,43)] = {64,0}, + [I(235,43)] = {64,0}, + [I(236,43)] = {64,0}, + [I(237,43)] = {64,0}, + [I(238,43)] = {64,0}, + [I(239,43)] = {64,0}, + [I(240,43)] = {64,0}, + [I(241,43)] = {64,0}, + [I(242,43)] = {64,0}, + [I(243,43)] = {64,0}, + [I(244,43)] = {64,0}, + [I(245,43)] = {64,0}, + [I(246,43)] = {64,0}, + [I(247,43)] = {64,0}, + [I(248,43)] = {64,0}, + [I(249,43)] = {64,0}, + [I(250,43)] = {64,0}, + [I(251,43)] = {64,0}, + [I(252,43)] = {64,0}, + [I(253,43)] = {64,0}, + [I(254,43)] = {64,0}, + [I(255,43)] = {64,0}, + [I(0,44)] = {21,0x1FF8FA}, + [I(1,44)] = {31,0x7FFFD8FA}, + [I(2,44)] = {64,0}, + [I(3,44)] = {64,0}, + [I(4,44)] = {64,0}, + [I(5,44)] = {64,0}, + [I(6,44)] = {64,0}, + [I(7,44)] = {64,0}, + [I(8,44)] = {64,0}, + [I(9,44)] = {X32,0xFFFFEAFA}, + [I(10,44)] = {64,0}, + [I(11,44)] = {64,0}, + [I(12,44)] = {64,0}, + [I(13,44)] = {64,0}, + [I(14,44)] = {64,0}, + [I(15,44)] = {64,0}, + [I(16,44)] = {64,0}, + [I(17,44)] = {64,0}, + [I(18,44)] = {64,0}, + [I(19,44)] = {64,0}, + [I(20,44)] = {64,0}, + [I(21,44)] = {64,0}, + [I(22,44)] = {64,0}, + [I(23,44)] = {64,0}, + [I(24,44)] = {64,0}, + [I(25,44)] = {64,0}, + [I(26,44)] = {64,0}, + [I(27,44)] = {64,0}, + [I(28,44)] = {64,0}, + [I(29,44)] = {64,0}, + [I(30,44)] = {64,0}, + [I(31,44)] = {64,0}, + [I(32,44)] = {14,0x14FA}, + [I(33,44)] = {18,0x3F8FA}, + [I(34,44)] = {18,0x3F9FA}, + [I(35,44)] = {20,0xFFAFA}, + [I(36,44)] = {21,0x1FF9FA}, + [I(37,44)] = {14,0x15FA}, + [I(38,44)] = {16,0xF8FA}, + [I(39,44)] = {19,0x7FAFA}, + [I(40,44)] = {18,0x3FAFA}, + [I(41,44)] = {18,0x3FBFA}, + [I(42,44)] = {16,0xF9FA}, + [I(43,44)] = {19,0x7FBFA}, + [I(44,44)] = {16,0xFAFA}, + [I(45,44)] = {14,0x16FA}, + [I(46,44)] = {14,0x17FA}, + [I(47,44)] = {14,0x18FA}, + [I(48,44)] = {13,0xFA}, + [I(49,44)] = {13,0x1FA}, + [I(50,44)] = {13,0x2FA}, + [I(51,44)] = {14,0x19FA}, + [I(52,44)] = {14,0x1AFA}, + [I(53,44)] = {14,0x1BFA}, + [I(54,44)] = {14,0x1CFA}, + [I(55,44)] = {14,0x1DFA}, + [I(56,44)] = {14,0x1EFA}, + [I(57,44)] = {14,0x1FFA}, + [I(58,44)] = {15,0x5CFA}, + [I(59,44)] = {16,0xFBFA}, + [I(60,44)] = {23,0x7FFCFA}, + [I(61,44)] = {14,0x20FA}, + [I(62,44)] = {20,0xFFBFA}, + [I(63,44)] = {18,0x3FCFA}, + [I(64,44)] = {21,0x1FFAFA}, + [I(65,44)] = {14,0x21FA}, + [I(66,44)] = {15,0x5DFA}, + [I(67,44)] = {15,0x5EFA}, + [I(68,44)] = {15,0x5FFA}, + [I(69,44)] = {15,0x60FA}, + [I(70,44)] = {15,0x61FA}, + [I(71,44)] = {15,0x62FA}, + [I(72,44)] = {15,0x63FA}, + [I(73,44)] = {15,0x64FA}, + [I(74,44)] = {15,0x65FA}, + [I(75,44)] = {15,0x66FA}, + [I(76,44)] = {15,0x67FA}, + [I(77,44)] = {15,0x68FA}, + [I(78,44)] = {15,0x69FA}, + [I(79,44)] = {15,0x6AFA}, + [I(80,44)] = {15,0x6BFA}, + [I(81,44)] = {15,0x6CFA}, + [I(82,44)] = {15,0x6DFA}, + [I(83,44)] = {15,0x6EFA}, + [I(84,44)] = {15,0x6FFA}, + [I(85,44)] = {15,0x70FA}, + [I(86,44)] = {15,0x71FA}, + [I(87,44)] = {15,0x72FA}, + [I(88,44)] = {16,0xFCFA}, + [I(89,44)] = {15,0x73FA}, + [I(90,44)] = {16,0xFDFA}, + [I(91,44)] = {21,0x1FFBFA}, + [I(92,44)] = {27,0x7FFF0FA}, + [I(93,44)] = {21,0x1FFCFA}, + [I(94,44)] = {22,0x3FFCFA}, + [I(95,44)] = {14,0x22FA}, + [I(96,44)] = {23,0x7FFDFA}, + [I(97,44)] = {13,0x3FA}, + [I(98,44)] = {14,0x23FA}, + [I(99,44)] = {13,0x4FA}, + [I(100,44)] = {14,0x24FA}, + [I(101,44)] = {13,0x5FA}, + [I(102,44)] = {14,0x25FA}, + [I(103,44)] = {14,0x26FA}, + [I(104,44)] = {14,0x27FA}, + [I(105,44)] = {13,0x6FA}, + [I(106,44)] = {15,0x74FA}, + [I(107,44)] = {15,0x75FA}, + [I(108,44)] = {14,0x28FA}, + [I(109,44)] = {14,0x29FA}, + [I(110,44)] = {14,0x2AFA}, + [I(111,44)] = {13,0x7FA}, + [I(112,44)] = {14,0x2BFA}, + [I(113,44)] = {15,0x76FA}, + [I(114,44)] = {14,0x2CFA}, + [I(115,44)] = {13,0x8FA}, + [I(116,44)] = {13,0x9FA}, + [I(117,44)] = {14,0x2DFA}, + [I(118,44)] = {15,0x77FA}, + [I(119,44)] = {15,0x78FA}, + [I(120,44)] = {15,0x79FA}, + [I(121,44)] = {15,0x7AFA}, + [I(122,44)] = {15,0x7BFA}, + [I(123,44)] = {23,0x7FFEFA}, + [I(124,44)] = {19,0x7FCFA}, + [I(125,44)] = {22,0x3FFDFA}, + [I(126,44)] = {21,0x1FFDFA}, + [I(127,44)] = {64,0}, + [I(128,44)] = {28,0xFFFE6FA}, + [I(129,44)] = {30,0x3FFFD2FA}, + [I(130,44)] = {28,0xFFFE7FA}, + [I(131,44)] = {28,0xFFFE8FA}, + [I(132,44)] = {30,0x3FFFD3FA}, + [I(133,44)] = {30,0x3FFFD4FA}, + [I(134,44)] = {30,0x3FFFD5FA}, + [I(135,44)] = {31,0x7FFFD9FA}, + [I(136,44)] = {30,0x3FFFD6FA}, + [I(137,44)] = {31,0x7FFFDAFA}, + [I(138,44)] = {31,0x7FFFDBFA}, + [I(139,44)] = {31,0x7FFFDCFA}, + [I(140,44)] = {31,0x7FFFDDFA}, + [I(141,44)] = {31,0x7FFFDEFA}, + [I(142,44)] = {X32,0xFFFFEBFA}, + [I(143,44)] = {31,0x7FFFDFFA}, + [I(144,44)] = {X32,0xFFFFECFA}, + [I(145,44)] = {X32,0xFFFFEDFA}, + [I(146,44)] = {30,0x3FFFD7FA}, + [I(147,44)] = {31,0x7FFFE0FA}, + [I(148,44)] = {X32,0xFFFFEEFA}, + [I(149,44)] = {31,0x7FFFE1FA}, + [I(150,44)] = {31,0x7FFFE2FA}, + [I(151,44)] = {31,0x7FFFE3FA}, + [I(152,44)] = {31,0x7FFFE4FA}, + [I(153,44)] = {29,0x1FFFDCFA}, + [I(154,44)] = {30,0x3FFFD8FA}, + [I(155,44)] = {31,0x7FFFE5FA}, + [I(156,44)] = {30,0x3FFFD9FA}, + [I(157,44)] = {31,0x7FFFE6FA}, + [I(158,44)] = {31,0x7FFFE7FA}, + [I(159,44)] = {X32,0xFFFFEFFA}, + [I(160,44)] = {30,0x3FFFDAFA}, + [I(161,44)] = {29,0x1FFFDDFA}, + [I(162,44)] = {28,0xFFFE9FA}, + [I(163,44)] = {30,0x3FFFDBFA}, + [I(164,44)] = {30,0x3FFFDCFA}, + [I(165,44)] = {31,0x7FFFE8FA}, + [I(166,44)] = {31,0x7FFFE9FA}, + [I(167,44)] = {29,0x1FFFDEFA}, + [I(168,44)] = {31,0x7FFFEAFA}, + [I(169,44)] = {30,0x3FFFDDFA}, + [I(170,44)] = {30,0x3FFFDEFA}, + [I(171,44)] = {X32,0xFFFFF0FA}, + [I(172,44)] = {29,0x1FFFDFFA}, + [I(173,44)] = {30,0x3FFFDFFA}, + [I(174,44)] = {31,0x7FFFEBFA}, + [I(175,44)] = {31,0x7FFFECFA}, + [I(176,44)] = {29,0x1FFFE0FA}, + [I(177,44)] = {29,0x1FFFE1FA}, + [I(178,44)] = {30,0x3FFFE0FA}, + [I(179,44)] = {29,0x1FFFE2FA}, + [I(180,44)] = {31,0x7FFFEDFA}, + [I(181,44)] = {30,0x3FFFE1FA}, + [I(182,44)] = {31,0x7FFFEEFA}, + [I(183,44)] = {31,0x7FFFEFFA}, + [I(184,44)] = {28,0xFFFEAFA}, + [I(185,44)] = {30,0x3FFFE2FA}, + [I(186,44)] = {30,0x3FFFE3FA}, + [I(187,44)] = {30,0x3FFFE4FA}, + [I(188,44)] = {31,0x7FFFF0FA}, + [I(189,44)] = {30,0x3FFFE5FA}, + [I(190,44)] = {30,0x3FFFE6FA}, + [I(191,44)] = {31,0x7FFFF1FA}, + [I(192,44)] = {64,0}, + [I(193,44)] = {64,0}, + [I(194,44)] = {28,0xFFFEBFA}, + [I(195,44)] = {27,0x7FFF1FA}, + [I(196,44)] = {30,0x3FFFE7FA}, + [I(197,44)] = {31,0x7FFFF2FA}, + [I(198,44)] = {30,0x3FFFE8FA}, + [I(199,44)] = {64,0}, + [I(200,44)] = {64,0}, + [I(201,44)] = {64,0}, + [I(202,44)] = {64,0}, + [I(203,44)] = {64,0}, + [I(204,44)] = {64,0}, + [I(205,44)] = {64,0}, + [I(206,44)] = {X32,0xFFFFF1FA}, + [I(207,44)] = {64,0}, + [I(208,44)] = {27,0x7FFF2FA}, + [I(209,44)] = {29,0x1FFFE3FA}, + [I(210,44)] = {64,0}, + [I(211,44)] = {64,0}, + [I(212,44)] = {64,0}, + [I(213,44)] = {64,0}, + [I(214,44)] = {64,0}, + [I(215,44)] = {X32,0xFFFFF2FA}, + [I(216,44)] = {29,0x1FFFE4FA}, + [I(217,44)] = {29,0x1FFFE5FA}, + [I(218,44)] = {64,0}, + [I(219,44)] = {64,0}, + [I(220,44)] = {64,0}, + [I(221,44)] = {64,0}, + [I(222,44)] = {64,0}, + [I(223,44)] = {64,0}, + [I(224,44)] = {28,0xFFFECFA}, + [I(225,44)] = {X32,0xFFFFF3FA}, + [I(226,44)] = {28,0xFFFEDFA}, + [I(227,44)] = {29,0x1FFFE6FA}, + [I(228,44)] = {30,0x3FFFE9FA}, + [I(229,44)] = {29,0x1FFFE7FA}, + [I(230,44)] = {29,0x1FFFE8FA}, + [I(231,44)] = {31,0x7FFFF3FA}, + [I(232,44)] = {30,0x3FFFEAFA}, + [I(233,44)] = {30,0x3FFFEBFA}, + [I(234,44)] = {64,0}, + [I(235,44)] = {64,0}, + [I(236,44)] = {X32,0xFFFFF4FA}, + [I(237,44)] = {X32,0xFFFFF5FA}, + [I(238,44)] = {64,0}, + [I(239,44)] = {31,0x7FFFF4FA}, + [I(240,44)] = {64,0}, + [I(241,44)] = {64,0}, + [I(242,44)] = {64,0}, + [I(243,44)] = {64,0}, + [I(244,44)] = {64,0}, + [I(245,44)] = {64,0}, + [I(246,44)] = {64,0}, + [I(247,44)] = {64,0}, + [I(248,44)] = {64,0}, + [I(249,44)] = {64,0}, + [I(250,44)] = {64,0}, + [I(251,44)] = {64,0}, + [I(252,44)] = {64,0}, + [I(253,44)] = {64,0}, + [I(254,44)] = {64,0}, + [I(255,44)] = {64,0}, + [I(0,45)] = {19,0x7FE16}, + [I(1,45)] = {29,0x1FFFF616}, + [I(2,45)] = {64,0}, + [I(3,45)] = {64,0}, + [I(4,45)] = {64,0}, + [I(5,45)] = {64,0}, + [I(6,45)] = {64,0}, + [I(7,45)] = {64,0}, + [I(8,45)] = {64,0}, + [I(9,45)] = {30,0x3FFFFA96}, + [I(10,45)] = {64,0}, + [I(11,45)] = {64,0}, + [I(12,45)] = {64,0}, + [I(13,45)] = {64,0}, + [I(14,45)] = {64,0}, + [I(15,45)] = {64,0}, + [I(16,45)] = {64,0}, + [I(17,45)] = {64,0}, + [I(18,45)] = {64,0}, + [I(19,45)] = {64,0}, + [I(20,45)] = {64,0}, + [I(21,45)] = {64,0}, + [I(22,45)] = {64,0}, + [I(23,45)] = {64,0}, + [I(24,45)] = {64,0}, + [I(25,45)] = {64,0}, + [I(26,45)] = {64,0}, + [I(27,45)] = {64,0}, + [I(28,45)] = {64,0}, + [I(29,45)] = {64,0}, + [I(30,45)] = {64,0}, + [I(31,45)] = {64,0}, + [I(32,45)] = {12,0x516}, + [I(33,45)] = {16,0xFE16}, + [I(34,45)] = {16,0xFE56}, + [I(35,45)] = {18,0x3FE96}, + [I(36,45)] = {19,0x7FE56}, + [I(37,45)] = {12,0x556}, + [I(38,45)] = {14,0x3E16}, + [I(39,45)] = {17,0x1FE96}, + [I(40,45)] = {16,0xFE96}, + [I(41,45)] = {16,0xFED6}, + [I(42,45)] = {14,0x3E56}, + [I(43,45)] = {17,0x1FED6}, + [I(44,45)] = {14,0x3E96}, + [I(45,45)] = {12,0x596}, + [I(46,45)] = {12,0x5D6}, + [I(47,45)] = {12,0x616}, + [I(48,45)] = {11,0x16}, + [I(49,45)] = {11,0x56}, + [I(50,45)] = {11,0x96}, + [I(51,45)] = {12,0x656}, + [I(52,45)] = {12,0x696}, + [I(53,45)] = {12,0x6D6}, + [I(54,45)] = {12,0x716}, + [I(55,45)] = {12,0x756}, + [I(56,45)] = {12,0x796}, + [I(57,45)] = {12,0x7D6}, + [I(58,45)] = {13,0x1716}, + [I(59,45)] = {14,0x3ED6}, + [I(60,45)] = {21,0x1FFF16}, + [I(61,45)] = {12,0x816}, + [I(62,45)] = {18,0x3FED6}, + [I(63,45)] = {16,0xFF16}, + [I(64,45)] = {19,0x7FE96}, + [I(65,45)] = {12,0x856}, + [I(66,45)] = {13,0x1756}, + [I(67,45)] = {13,0x1796}, + [I(68,45)] = {13,0x17D6}, + [I(69,45)] = {13,0x1816}, + [I(70,45)] = {13,0x1856}, + [I(71,45)] = {13,0x1896}, + [I(72,45)] = {13,0x18D6}, + [I(73,45)] = {13,0x1916}, + [I(74,45)] = {13,0x1956}, + [I(75,45)] = {13,0x1996}, + [I(76,45)] = {13,0x19D6}, + [I(77,45)] = {13,0x1A16}, + [I(78,45)] = {13,0x1A56}, + [I(79,45)] = {13,0x1A96}, + [I(80,45)] = {13,0x1AD6}, + [I(81,45)] = {13,0x1B16}, + [I(82,45)] = {13,0x1B56}, + [I(83,45)] = {13,0x1B96}, + [I(84,45)] = {13,0x1BD6}, + [I(85,45)] = {13,0x1C16}, + [I(86,45)] = {13,0x1C56}, + [I(87,45)] = {13,0x1C96}, + [I(88,45)] = {14,0x3F16}, + [I(89,45)] = {13,0x1CD6}, + [I(90,45)] = {14,0x3F56}, + [I(91,45)] = {19,0x7FED6}, + [I(92,45)] = {25,0x1FFFC16}, + [I(93,45)] = {19,0x7FF16}, + [I(94,45)] = {20,0xFFF16}, + [I(95,45)] = {12,0x896}, + [I(96,45)] = {21,0x1FFF56}, + [I(97,45)] = {11,0xD6}, + [I(98,45)] = {12,0x8D6}, + [I(99,45)] = {11,0x116}, + [I(100,45)] = {12,0x916}, + [I(101,45)] = {11,0x156}, + [I(102,45)] = {12,0x956}, + [I(103,45)] = {12,0x996}, + [I(104,45)] = {12,0x9D6}, + [I(105,45)] = {11,0x196}, + [I(106,45)] = {13,0x1D16}, + [I(107,45)] = {13,0x1D56}, + [I(108,45)] = {12,0xA16}, + [I(109,45)] = {12,0xA56}, + [I(110,45)] = {12,0xA96}, + [I(111,45)] = {11,0x1D6}, + [I(112,45)] = {12,0xAD6}, + [I(113,45)] = {13,0x1D96}, + [I(114,45)] = {12,0xB16}, + [I(115,45)] = {11,0x216}, + [I(116,45)] = {11,0x256}, + [I(117,45)] = {12,0xB56}, + [I(118,45)] = {13,0x1DD6}, + [I(119,45)] = {13,0x1E16}, + [I(120,45)] = {13,0x1E56}, + [I(121,45)] = {13,0x1E96}, + [I(122,45)] = {13,0x1ED6}, + [I(123,45)] = {21,0x1FFF96}, + [I(124,45)] = {17,0x1FF16}, + [I(125,45)] = {20,0xFFF56}, + [I(126,45)] = {19,0x7FF56}, + [I(127,45)] = {64,0}, + [I(128,45)] = {26,0x3FFF996}, + [I(129,45)] = {28,0xFFFF496}, + [I(130,45)] = {26,0x3FFF9D6}, + [I(131,45)] = {26,0x3FFFA16}, + [I(132,45)] = {28,0xFFFF4D6}, + [I(133,45)] = {28,0xFFFF516}, + [I(134,45)] = {28,0xFFFF556}, + [I(135,45)] = {29,0x1FFFF656}, + [I(136,45)] = {28,0xFFFF596}, + [I(137,45)] = {29,0x1FFFF696}, + [I(138,45)] = {29,0x1FFFF6D6}, + [I(139,45)] = {29,0x1FFFF716}, + [I(140,45)] = {29,0x1FFFF756}, + [I(141,45)] = {29,0x1FFFF796}, + [I(142,45)] = {30,0x3FFFFAD6}, + [I(143,45)] = {29,0x1FFFF7D6}, + [I(144,45)] = {30,0x3FFFFB16}, + [I(145,45)] = {30,0x3FFFFB56}, + [I(146,45)] = {28,0xFFFF5D6}, + [I(147,45)] = {29,0x1FFFF816}, + [I(148,45)] = {30,0x3FFFFB96}, + [I(149,45)] = {29,0x1FFFF856}, + [I(150,45)] = {29,0x1FFFF896}, + [I(151,45)] = {29,0x1FFFF8D6}, + [I(152,45)] = {29,0x1FFFF916}, + [I(153,45)] = {27,0x7FFF716}, + [I(154,45)] = {28,0xFFFF616}, + [I(155,45)] = {29,0x1FFFF956}, + [I(156,45)] = {28,0xFFFF656}, + [I(157,45)] = {29,0x1FFFF996}, + [I(158,45)] = {29,0x1FFFF9D6}, + [I(159,45)] = {30,0x3FFFFBD6}, + [I(160,45)] = {28,0xFFFF696}, + [I(161,45)] = {27,0x7FFF756}, + [I(162,45)] = {26,0x3FFFA56}, + [I(163,45)] = {28,0xFFFF6D6}, + [I(164,45)] = {28,0xFFFF716}, + [I(165,45)] = {29,0x1FFFFA16}, + [I(166,45)] = {29,0x1FFFFA56}, + [I(167,45)] = {27,0x7FFF796}, + [I(168,45)] = {29,0x1FFFFA96}, + [I(169,45)] = {28,0xFFFF756}, + [I(170,45)] = {28,0xFFFF796}, + [I(171,45)] = {30,0x3FFFFC16}, + [I(172,45)] = {27,0x7FFF7D6}, + [I(173,45)] = {28,0xFFFF7D6}, + [I(174,45)] = {29,0x1FFFFAD6}, + [I(175,45)] = {29,0x1FFFFB16}, + [I(176,45)] = {27,0x7FFF816}, + [I(177,45)] = {27,0x7FFF856}, + [I(178,45)] = {28,0xFFFF816}, + [I(179,45)] = {27,0x7FFF896}, + [I(180,45)] = {29,0x1FFFFB56}, + [I(181,45)] = {28,0xFFFF856}, + [I(182,45)] = {29,0x1FFFFB96}, + [I(183,45)] = {29,0x1FFFFBD6}, + [I(184,45)] = {26,0x3FFFA96}, + [I(185,45)] = {28,0xFFFF896}, + [I(186,45)] = {28,0xFFFF8D6}, + [I(187,45)] = {28,0xFFFF916}, + [I(188,45)] = {29,0x1FFFFC16}, + [I(189,45)] = {28,0xFFFF956}, + [I(190,45)] = {28,0xFFFF996}, + [I(191,45)] = {29,0x1FFFFC56}, + [I(192,45)] = {X32,0xFFFFF816}, + [I(193,45)] = {X32,0xFFFFF856}, + [I(194,45)] = {26,0x3FFFAD6}, + [I(195,45)] = {25,0x1FFFC56}, + [I(196,45)] = {28,0xFFFF9D6}, + [I(197,45)] = {29,0x1FFFFC96}, + [I(198,45)] = {28,0xFFFFA16}, + [I(199,45)] = {31,0x7FFFFB16}, + [I(200,45)] = {X32,0xFFFFF896}, + [I(201,45)] = {X32,0xFFFFF8D6}, + [I(202,45)] = {X32,0xFFFFF916}, + [I(203,45)] = {64,0}, + [I(204,45)] = {64,0}, + [I(205,45)] = {X32,0xFFFFF956}, + [I(206,45)] = {30,0x3FFFFC56}, + [I(207,45)] = {31,0x7FFFFB56}, + [I(208,45)] = {25,0x1FFFC96}, + [I(209,45)] = {27,0x7FFF8D6}, + [I(210,45)] = {X32,0xFFFFF996}, + [I(211,45)] = {64,0}, + [I(212,45)] = {64,0}, + [I(213,45)] = {X32,0xFFFFF9D6}, + [I(214,45)] = {64,0}, + [I(215,45)] = {30,0x3FFFFC96}, + [I(216,45)] = {27,0x7FFF916}, + [I(217,45)] = {27,0x7FFF956}, + [I(218,45)] = {X32,0xFFFFFA16}, + [I(219,45)] = {X32,0xFFFFFA56}, + [I(220,45)] = {64,0}, + [I(221,45)] = {64,0}, + [I(222,45)] = {64,0}, + [I(223,45)] = {64,0}, + [I(224,45)] = {26,0x3FFFB16}, + [I(225,45)] = {30,0x3FFFFCD6}, + [I(226,45)] = {26,0x3FFFB56}, + [I(227,45)] = {27,0x7FFF996}, + [I(228,45)] = {28,0xFFFFA56}, + [I(229,45)] = {27,0x7FFF9D6}, + [I(230,45)] = {27,0x7FFFA16}, + [I(231,45)] = {29,0x1FFFFCD6}, + [I(232,45)] = {28,0xFFFFA96}, + [I(233,45)] = {28,0xFFFFAD6}, + [I(234,45)] = {31,0x7FFFFB96}, + [I(235,45)] = {31,0x7FFFFBD6}, + [I(236,45)] = {30,0x3FFFFD16}, + [I(237,45)] = {30,0x3FFFFD56}, + [I(238,45)] = {X32,0xFFFFFA96}, + [I(239,45)] = {29,0x1FFFFD16}, + [I(240,45)] = {X32,0xFFFFFAD6}, + [I(241,45)] = {64,0}, + [I(242,45)] = {X32,0xFFFFFB16}, + [I(243,45)] = {X32,0xFFFFFB56}, + [I(244,45)] = {64,0}, + [I(245,45)] = {64,0}, + [I(246,45)] = {64,0}, + [I(247,45)] = {64,0}, + [I(248,45)] = {64,0}, + [I(249,45)] = {64,0}, + [I(250,45)] = {64,0}, + [I(251,45)] = {64,0}, + [I(252,45)] = {64,0}, + [I(253,45)] = {64,0}, + [I(254,45)] = {64,0}, + [I(255,45)] = {X32,0xFFFFFB96}, + [I(0,46)] = {19,0x7FE17}, + [I(1,46)] = {29,0x1FFFF617}, + [I(2,46)] = {64,0}, + [I(3,46)] = {64,0}, + [I(4,46)] = {64,0}, + [I(5,46)] = {64,0}, + [I(6,46)] = {64,0}, + [I(7,46)] = {64,0}, + [I(8,46)] = {64,0}, + [I(9,46)] = {30,0x3FFFFA97}, + [I(10,46)] = {64,0}, + [I(11,46)] = {64,0}, + [I(12,46)] = {64,0}, + [I(13,46)] = {64,0}, + [I(14,46)] = {64,0}, + [I(15,46)] = {64,0}, + [I(16,46)] = {64,0}, + [I(17,46)] = {64,0}, + [I(18,46)] = {64,0}, + [I(19,46)] = {64,0}, + [I(20,46)] = {64,0}, + [I(21,46)] = {64,0}, + [I(22,46)] = {64,0}, + [I(23,46)] = {64,0}, + [I(24,46)] = {64,0}, + [I(25,46)] = {64,0}, + [I(26,46)] = {64,0}, + [I(27,46)] = {64,0}, + [I(28,46)] = {64,0}, + [I(29,46)] = {64,0}, + [I(30,46)] = {64,0}, + [I(31,46)] = {64,0}, + [I(32,46)] = {12,0x517}, + [I(33,46)] = {16,0xFE17}, + [I(34,46)] = {16,0xFE57}, + [I(35,46)] = {18,0x3FE97}, + [I(36,46)] = {19,0x7FE57}, + [I(37,46)] = {12,0x557}, + [I(38,46)] = {14,0x3E17}, + [I(39,46)] = {17,0x1FE97}, + [I(40,46)] = {16,0xFE97}, + [I(41,46)] = {16,0xFED7}, + [I(42,46)] = {14,0x3E57}, + [I(43,46)] = {17,0x1FED7}, + [I(44,46)] = {14,0x3E97}, + [I(45,46)] = {12,0x597}, + [I(46,46)] = {12,0x5D7}, + [I(47,46)] = {12,0x617}, + [I(48,46)] = {11,0x17}, + [I(49,46)] = {11,0x57}, + [I(50,46)] = {11,0x97}, + [I(51,46)] = {12,0x657}, + [I(52,46)] = {12,0x697}, + [I(53,46)] = {12,0x6D7}, + [I(54,46)] = {12,0x717}, + [I(55,46)] = {12,0x757}, + [I(56,46)] = {12,0x797}, + [I(57,46)] = {12,0x7D7}, + [I(58,46)] = {13,0x1717}, + [I(59,46)] = {14,0x3ED7}, + [I(60,46)] = {21,0x1FFF17}, + [I(61,46)] = {12,0x817}, + [I(62,46)] = {18,0x3FED7}, + [I(63,46)] = {16,0xFF17}, + [I(64,46)] = {19,0x7FE97}, + [I(65,46)] = {12,0x857}, + [I(66,46)] = {13,0x1757}, + [I(67,46)] = {13,0x1797}, + [I(68,46)] = {13,0x17D7}, + [I(69,46)] = {13,0x1817}, + [I(70,46)] = {13,0x1857}, + [I(71,46)] = {13,0x1897}, + [I(72,46)] = {13,0x18D7}, + [I(73,46)] = {13,0x1917}, + [I(74,46)] = {13,0x1957}, + [I(75,46)] = {13,0x1997}, + [I(76,46)] = {13,0x19D7}, + [I(77,46)] = {13,0x1A17}, + [I(78,46)] = {13,0x1A57}, + [I(79,46)] = {13,0x1A97}, + [I(80,46)] = {13,0x1AD7}, + [I(81,46)] = {13,0x1B17}, + [I(82,46)] = {13,0x1B57}, + [I(83,46)] = {13,0x1B97}, + [I(84,46)] = {13,0x1BD7}, + [I(85,46)] = {13,0x1C17}, + [I(86,46)] = {13,0x1C57}, + [I(87,46)] = {13,0x1C97}, + [I(88,46)] = {14,0x3F17}, + [I(89,46)] = {13,0x1CD7}, + [I(90,46)] = {14,0x3F57}, + [I(91,46)] = {19,0x7FED7}, + [I(92,46)] = {25,0x1FFFC17}, + [I(93,46)] = {19,0x7FF17}, + [I(94,46)] = {20,0xFFF17}, + [I(95,46)] = {12,0x897}, + [I(96,46)] = {21,0x1FFF57}, + [I(97,46)] = {11,0xD7}, + [I(98,46)] = {12,0x8D7}, + [I(99,46)] = {11,0x117}, + [I(100,46)] = {12,0x917}, + [I(101,46)] = {11,0x157}, + [I(102,46)] = {12,0x957}, + [I(103,46)] = {12,0x997}, + [I(104,46)] = {12,0x9D7}, + [I(105,46)] = {11,0x197}, + [I(106,46)] = {13,0x1D17}, + [I(107,46)] = {13,0x1D57}, + [I(108,46)] = {12,0xA17}, + [I(109,46)] = {12,0xA57}, + [I(110,46)] = {12,0xA97}, + [I(111,46)] = {11,0x1D7}, + [I(112,46)] = {12,0xAD7}, + [I(113,46)] = {13,0x1D97}, + [I(114,46)] = {12,0xB17}, + [I(115,46)] = {11,0x217}, + [I(116,46)] = {11,0x257}, + [I(117,46)] = {12,0xB57}, + [I(118,46)] = {13,0x1DD7}, + [I(119,46)] = {13,0x1E17}, + [I(120,46)] = {13,0x1E57}, + [I(121,46)] = {13,0x1E97}, + [I(122,46)] = {13,0x1ED7}, + [I(123,46)] = {21,0x1FFF97}, + [I(124,46)] = {17,0x1FF17}, + [I(125,46)] = {20,0xFFF57}, + [I(126,46)] = {19,0x7FF57}, + [I(127,46)] = {64,0}, + [I(128,46)] = {26,0x3FFF997}, + [I(129,46)] = {28,0xFFFF497}, + [I(130,46)] = {26,0x3FFF9D7}, + [I(131,46)] = {26,0x3FFFA17}, + [I(132,46)] = {28,0xFFFF4D7}, + [I(133,46)] = {28,0xFFFF517}, + [I(134,46)] = {28,0xFFFF557}, + [I(135,46)] = {29,0x1FFFF657}, + [I(136,46)] = {28,0xFFFF597}, + [I(137,46)] = {29,0x1FFFF697}, + [I(138,46)] = {29,0x1FFFF6D7}, + [I(139,46)] = {29,0x1FFFF717}, + [I(140,46)] = {29,0x1FFFF757}, + [I(141,46)] = {29,0x1FFFF797}, + [I(142,46)] = {30,0x3FFFFAD7}, + [I(143,46)] = {29,0x1FFFF7D7}, + [I(144,46)] = {30,0x3FFFFB17}, + [I(145,46)] = {30,0x3FFFFB57}, + [I(146,46)] = {28,0xFFFF5D7}, + [I(147,46)] = {29,0x1FFFF817}, + [I(148,46)] = {30,0x3FFFFB97}, + [I(149,46)] = {29,0x1FFFF857}, + [I(150,46)] = {29,0x1FFFF897}, + [I(151,46)] = {29,0x1FFFF8D7}, + [I(152,46)] = {29,0x1FFFF917}, + [I(153,46)] = {27,0x7FFF717}, + [I(154,46)] = {28,0xFFFF617}, + [I(155,46)] = {29,0x1FFFF957}, + [I(156,46)] = {28,0xFFFF657}, + [I(157,46)] = {29,0x1FFFF997}, + [I(158,46)] = {29,0x1FFFF9D7}, + [I(159,46)] = {30,0x3FFFFBD7}, + [I(160,46)] = {28,0xFFFF697}, + [I(161,46)] = {27,0x7FFF757}, + [I(162,46)] = {26,0x3FFFA57}, + [I(163,46)] = {28,0xFFFF6D7}, + [I(164,46)] = {28,0xFFFF717}, + [I(165,46)] = {29,0x1FFFFA17}, + [I(166,46)] = {29,0x1FFFFA57}, + [I(167,46)] = {27,0x7FFF797}, + [I(168,46)] = {29,0x1FFFFA97}, + [I(169,46)] = {28,0xFFFF757}, + [I(170,46)] = {28,0xFFFF797}, + [I(171,46)] = {30,0x3FFFFC17}, + [I(172,46)] = {27,0x7FFF7D7}, + [I(173,46)] = {28,0xFFFF7D7}, + [I(174,46)] = {29,0x1FFFFAD7}, + [I(175,46)] = {29,0x1FFFFB17}, + [I(176,46)] = {27,0x7FFF817}, + [I(177,46)] = {27,0x7FFF857}, + [I(178,46)] = {28,0xFFFF817}, + [I(179,46)] = {27,0x7FFF897}, + [I(180,46)] = {29,0x1FFFFB57}, + [I(181,46)] = {28,0xFFFF857}, + [I(182,46)] = {29,0x1FFFFB97}, + [I(183,46)] = {29,0x1FFFFBD7}, + [I(184,46)] = {26,0x3FFFA97}, + [I(185,46)] = {28,0xFFFF897}, + [I(186,46)] = {28,0xFFFF8D7}, + [I(187,46)] = {28,0xFFFF917}, + [I(188,46)] = {29,0x1FFFFC17}, + [I(189,46)] = {28,0xFFFF957}, + [I(190,46)] = {28,0xFFFF997}, + [I(191,46)] = {29,0x1FFFFC57}, + [I(192,46)] = {X32,0xFFFFF817}, + [I(193,46)] = {X32,0xFFFFF857}, + [I(194,46)] = {26,0x3FFFAD7}, + [I(195,46)] = {25,0x1FFFC57}, + [I(196,46)] = {28,0xFFFF9D7}, + [I(197,46)] = {29,0x1FFFFC97}, + [I(198,46)] = {28,0xFFFFA17}, + [I(199,46)] = {31,0x7FFFFB17}, + [I(200,46)] = {X32,0xFFFFF897}, + [I(201,46)] = {X32,0xFFFFF8D7}, + [I(202,46)] = {X32,0xFFFFF917}, + [I(203,46)] = {64,0}, + [I(204,46)] = {64,0}, + [I(205,46)] = {X32,0xFFFFF957}, + [I(206,46)] = {30,0x3FFFFC57}, + [I(207,46)] = {31,0x7FFFFB57}, + [I(208,46)] = {25,0x1FFFC97}, + [I(209,46)] = {27,0x7FFF8D7}, + [I(210,46)] = {X32,0xFFFFF997}, + [I(211,46)] = {64,0}, + [I(212,46)] = {64,0}, + [I(213,46)] = {X32,0xFFFFF9D7}, + [I(214,46)] = {64,0}, + [I(215,46)] = {30,0x3FFFFC97}, + [I(216,46)] = {27,0x7FFF917}, + [I(217,46)] = {27,0x7FFF957}, + [I(218,46)] = {X32,0xFFFFFA17}, + [I(219,46)] = {X32,0xFFFFFA57}, + [I(220,46)] = {64,0}, + [I(221,46)] = {64,0}, + [I(222,46)] = {64,0}, + [I(223,46)] = {64,0}, + [I(224,46)] = {26,0x3FFFB17}, + [I(225,46)] = {30,0x3FFFFCD7}, + [I(226,46)] = {26,0x3FFFB57}, + [I(227,46)] = {27,0x7FFF997}, + [I(228,46)] = {28,0xFFFFA57}, + [I(229,46)] = {27,0x7FFF9D7}, + [I(230,46)] = {27,0x7FFFA17}, + [I(231,46)] = {29,0x1FFFFCD7}, + [I(232,46)] = {28,0xFFFFA97}, + [I(233,46)] = {28,0xFFFFAD7}, + [I(234,46)] = {31,0x7FFFFB97}, + [I(235,46)] = {31,0x7FFFFBD7}, + [I(236,46)] = {30,0x3FFFFD17}, + [I(237,46)] = {30,0x3FFFFD57}, + [I(238,46)] = {X32,0xFFFFFA97}, + [I(239,46)] = {29,0x1FFFFD17}, + [I(240,46)] = {X32,0xFFFFFAD7}, + [I(241,46)] = {64,0}, + [I(242,46)] = {X32,0xFFFFFB17}, + [I(243,46)] = {X32,0xFFFFFB57}, + [I(244,46)] = {64,0}, + [I(245,46)] = {64,0}, + [I(246,46)] = {64,0}, + [I(247,46)] = {64,0}, + [I(248,46)] = {64,0}, + [I(249,46)] = {64,0}, + [I(250,46)] = {64,0}, + [I(251,46)] = {64,0}, + [I(252,46)] = {64,0}, + [I(253,46)] = {64,0}, + [I(254,46)] = {64,0}, + [I(255,46)] = {X32,0xFFFFFB97}, + [I(0,47)] = {19,0x7FE18}, + [I(1,47)] = {29,0x1FFFF618}, + [I(2,47)] = {64,0}, + [I(3,47)] = {64,0}, + [I(4,47)] = {64,0}, + [I(5,47)] = {64,0}, + [I(6,47)] = {64,0}, + [I(7,47)] = {64,0}, + [I(8,47)] = {64,0}, + [I(9,47)] = {30,0x3FFFFA98}, + [I(10,47)] = {64,0}, + [I(11,47)] = {64,0}, + [I(12,47)] = {64,0}, + [I(13,47)] = {64,0}, + [I(14,47)] = {64,0}, + [I(15,47)] = {64,0}, + [I(16,47)] = {64,0}, + [I(17,47)] = {64,0}, + [I(18,47)] = {64,0}, + [I(19,47)] = {64,0}, + [I(20,47)] = {64,0}, + [I(21,47)] = {64,0}, + [I(22,47)] = {64,0}, + [I(23,47)] = {64,0}, + [I(24,47)] = {64,0}, + [I(25,47)] = {64,0}, + [I(26,47)] = {64,0}, + [I(27,47)] = {64,0}, + [I(28,47)] = {64,0}, + [I(29,47)] = {64,0}, + [I(30,47)] = {64,0}, + [I(31,47)] = {64,0}, + [I(32,47)] = {12,0x518}, + [I(33,47)] = {16,0xFE18}, + [I(34,47)] = {16,0xFE58}, + [I(35,47)] = {18,0x3FE98}, + [I(36,47)] = {19,0x7FE58}, + [I(37,47)] = {12,0x558}, + [I(38,47)] = {14,0x3E18}, + [I(39,47)] = {17,0x1FE98}, + [I(40,47)] = {16,0xFE98}, + [I(41,47)] = {16,0xFED8}, + [I(42,47)] = {14,0x3E58}, + [I(43,47)] = {17,0x1FED8}, + [I(44,47)] = {14,0x3E98}, + [I(45,47)] = {12,0x598}, + [I(46,47)] = {12,0x5D8}, + [I(47,47)] = {12,0x618}, + [I(48,47)] = {11,0x18}, + [I(49,47)] = {11,0x58}, + [I(50,47)] = {11,0x98}, + [I(51,47)] = {12,0x658}, + [I(52,47)] = {12,0x698}, + [I(53,47)] = {12,0x6D8}, + [I(54,47)] = {12,0x718}, + [I(55,47)] = {12,0x758}, + [I(56,47)] = {12,0x798}, + [I(57,47)] = {12,0x7D8}, + [I(58,47)] = {13,0x1718}, + [I(59,47)] = {14,0x3ED8}, + [I(60,47)] = {21,0x1FFF18}, + [I(61,47)] = {12,0x818}, + [I(62,47)] = {18,0x3FED8}, + [I(63,47)] = {16,0xFF18}, + [I(64,47)] = {19,0x7FE98}, + [I(65,47)] = {12,0x858}, + [I(66,47)] = {13,0x1758}, + [I(67,47)] = {13,0x1798}, + [I(68,47)] = {13,0x17D8}, + [I(69,47)] = {13,0x1818}, + [I(70,47)] = {13,0x1858}, + [I(71,47)] = {13,0x1898}, + [I(72,47)] = {13,0x18D8}, + [I(73,47)] = {13,0x1918}, + [I(74,47)] = {13,0x1958}, + [I(75,47)] = {13,0x1998}, + [I(76,47)] = {13,0x19D8}, + [I(77,47)] = {13,0x1A18}, + [I(78,47)] = {13,0x1A58}, + [I(79,47)] = {13,0x1A98}, + [I(80,47)] = {13,0x1AD8}, + [I(81,47)] = {13,0x1B18}, + [I(82,47)] = {13,0x1B58}, + [I(83,47)] = {13,0x1B98}, + [I(84,47)] = {13,0x1BD8}, + [I(85,47)] = {13,0x1C18}, + [I(86,47)] = {13,0x1C58}, + [I(87,47)] = {13,0x1C98}, + [I(88,47)] = {14,0x3F18}, + [I(89,47)] = {13,0x1CD8}, + [I(90,47)] = {14,0x3F58}, + [I(91,47)] = {19,0x7FED8}, + [I(92,47)] = {25,0x1FFFC18}, + [I(93,47)] = {19,0x7FF18}, + [I(94,47)] = {20,0xFFF18}, + [I(95,47)] = {12,0x898}, + [I(96,47)] = {21,0x1FFF58}, + [I(97,47)] = {11,0xD8}, + [I(98,47)] = {12,0x8D8}, + [I(99,47)] = {11,0x118}, + [I(100,47)] = {12,0x918}, + [I(101,47)] = {11,0x158}, + [I(102,47)] = {12,0x958}, + [I(103,47)] = {12,0x998}, + [I(104,47)] = {12,0x9D8}, + [I(105,47)] = {11,0x198}, + [I(106,47)] = {13,0x1D18}, + [I(107,47)] = {13,0x1D58}, + [I(108,47)] = {12,0xA18}, + [I(109,47)] = {12,0xA58}, + [I(110,47)] = {12,0xA98}, + [I(111,47)] = {11,0x1D8}, + [I(112,47)] = {12,0xAD8}, + [I(113,47)] = {13,0x1D98}, + [I(114,47)] = {12,0xB18}, + [I(115,47)] = {11,0x218}, + [I(116,47)] = {11,0x258}, + [I(117,47)] = {12,0xB58}, + [I(118,47)] = {13,0x1DD8}, + [I(119,47)] = {13,0x1E18}, + [I(120,47)] = {13,0x1E58}, + [I(121,47)] = {13,0x1E98}, + [I(122,47)] = {13,0x1ED8}, + [I(123,47)] = {21,0x1FFF98}, + [I(124,47)] = {17,0x1FF18}, + [I(125,47)] = {20,0xFFF58}, + [I(126,47)] = {19,0x7FF58}, + [I(127,47)] = {64,0}, + [I(128,47)] = {26,0x3FFF998}, + [I(129,47)] = {28,0xFFFF498}, + [I(130,47)] = {26,0x3FFF9D8}, + [I(131,47)] = {26,0x3FFFA18}, + [I(132,47)] = {28,0xFFFF4D8}, + [I(133,47)] = {28,0xFFFF518}, + [I(134,47)] = {28,0xFFFF558}, + [I(135,47)] = {29,0x1FFFF658}, + [I(136,47)] = {28,0xFFFF598}, + [I(137,47)] = {29,0x1FFFF698}, + [I(138,47)] = {29,0x1FFFF6D8}, + [I(139,47)] = {29,0x1FFFF718}, + [I(140,47)] = {29,0x1FFFF758}, + [I(141,47)] = {29,0x1FFFF798}, + [I(142,47)] = {30,0x3FFFFAD8}, + [I(143,47)] = {29,0x1FFFF7D8}, + [I(144,47)] = {30,0x3FFFFB18}, + [I(145,47)] = {30,0x3FFFFB58}, + [I(146,47)] = {28,0xFFFF5D8}, + [I(147,47)] = {29,0x1FFFF818}, + [I(148,47)] = {30,0x3FFFFB98}, + [I(149,47)] = {29,0x1FFFF858}, + [I(150,47)] = {29,0x1FFFF898}, + [I(151,47)] = {29,0x1FFFF8D8}, + [I(152,47)] = {29,0x1FFFF918}, + [I(153,47)] = {27,0x7FFF718}, + [I(154,47)] = {28,0xFFFF618}, + [I(155,47)] = {29,0x1FFFF958}, + [I(156,47)] = {28,0xFFFF658}, + [I(157,47)] = {29,0x1FFFF998}, + [I(158,47)] = {29,0x1FFFF9D8}, + [I(159,47)] = {30,0x3FFFFBD8}, + [I(160,47)] = {28,0xFFFF698}, + [I(161,47)] = {27,0x7FFF758}, + [I(162,47)] = {26,0x3FFFA58}, + [I(163,47)] = {28,0xFFFF6D8}, + [I(164,47)] = {28,0xFFFF718}, + [I(165,47)] = {29,0x1FFFFA18}, + [I(166,47)] = {29,0x1FFFFA58}, + [I(167,47)] = {27,0x7FFF798}, + [I(168,47)] = {29,0x1FFFFA98}, + [I(169,47)] = {28,0xFFFF758}, + [I(170,47)] = {28,0xFFFF798}, + [I(171,47)] = {30,0x3FFFFC18}, + [I(172,47)] = {27,0x7FFF7D8}, + [I(173,47)] = {28,0xFFFF7D8}, + [I(174,47)] = {29,0x1FFFFAD8}, + [I(175,47)] = {29,0x1FFFFB18}, + [I(176,47)] = {27,0x7FFF818}, + [I(177,47)] = {27,0x7FFF858}, + [I(178,47)] = {28,0xFFFF818}, + [I(179,47)] = {27,0x7FFF898}, + [I(180,47)] = {29,0x1FFFFB58}, + [I(181,47)] = {28,0xFFFF858}, + [I(182,47)] = {29,0x1FFFFB98}, + [I(183,47)] = {29,0x1FFFFBD8}, + [I(184,47)] = {26,0x3FFFA98}, + [I(185,47)] = {28,0xFFFF898}, + [I(186,47)] = {28,0xFFFF8D8}, + [I(187,47)] = {28,0xFFFF918}, + [I(188,47)] = {29,0x1FFFFC18}, + [I(189,47)] = {28,0xFFFF958}, + [I(190,47)] = {28,0xFFFF998}, + [I(191,47)] = {29,0x1FFFFC58}, + [I(192,47)] = {X32,0xFFFFF818}, + [I(193,47)] = {X32,0xFFFFF858}, + [I(194,47)] = {26,0x3FFFAD8}, + [I(195,47)] = {25,0x1FFFC58}, + [I(196,47)] = {28,0xFFFF9D8}, + [I(197,47)] = {29,0x1FFFFC98}, + [I(198,47)] = {28,0xFFFFA18}, + [I(199,47)] = {31,0x7FFFFB18}, + [I(200,47)] = {X32,0xFFFFF898}, + [I(201,47)] = {X32,0xFFFFF8D8}, + [I(202,47)] = {X32,0xFFFFF918}, + [I(203,47)] = {64,0}, + [I(204,47)] = {64,0}, + [I(205,47)] = {X32,0xFFFFF958}, + [I(206,47)] = {30,0x3FFFFC58}, + [I(207,47)] = {31,0x7FFFFB58}, + [I(208,47)] = {25,0x1FFFC98}, + [I(209,47)] = {27,0x7FFF8D8}, + [I(210,47)] = {X32,0xFFFFF998}, + [I(211,47)] = {64,0}, + [I(212,47)] = {64,0}, + [I(213,47)] = {X32,0xFFFFF9D8}, + [I(214,47)] = {64,0}, + [I(215,47)] = {30,0x3FFFFC98}, + [I(216,47)] = {27,0x7FFF918}, + [I(217,47)] = {27,0x7FFF958}, + [I(218,47)] = {X32,0xFFFFFA18}, + [I(219,47)] = {X32,0xFFFFFA58}, + [I(220,47)] = {64,0}, + [I(221,47)] = {64,0}, + [I(222,47)] = {64,0}, + [I(223,47)] = {64,0}, + [I(224,47)] = {26,0x3FFFB18}, + [I(225,47)] = {30,0x3FFFFCD8}, + [I(226,47)] = {26,0x3FFFB58}, + [I(227,47)] = {27,0x7FFF998}, + [I(228,47)] = {28,0xFFFFA58}, + [I(229,47)] = {27,0x7FFF9D8}, + [I(230,47)] = {27,0x7FFFA18}, + [I(231,47)] = {29,0x1FFFFCD8}, + [I(232,47)] = {28,0xFFFFA98}, + [I(233,47)] = {28,0xFFFFAD8}, + [I(234,47)] = {31,0x7FFFFB98}, + [I(235,47)] = {31,0x7FFFFBD8}, + [I(236,47)] = {30,0x3FFFFD18}, + [I(237,47)] = {30,0x3FFFFD58}, + [I(238,47)] = {X32,0xFFFFFA98}, + [I(239,47)] = {29,0x1FFFFD18}, + [I(240,47)] = {X32,0xFFFFFAD8}, + [I(241,47)] = {64,0}, + [I(242,47)] = {X32,0xFFFFFB18}, + [I(243,47)] = {X32,0xFFFFFB58}, + [I(244,47)] = {64,0}, + [I(245,47)] = {64,0}, + [I(246,47)] = {64,0}, + [I(247,47)] = {64,0}, + [I(248,47)] = {64,0}, + [I(249,47)] = {64,0}, + [I(250,47)] = {64,0}, + [I(251,47)] = {64,0}, + [I(252,47)] = {64,0}, + [I(253,47)] = {64,0}, + [I(254,47)] = {64,0}, + [I(255,47)] = {X32,0xFFFFFB98}, + [I(0,48)] = {18,0x3FF00}, + [I(1,48)] = {28,0xFFFFB00}, + [I(2,48)] = {64,0}, + [I(3,48)] = {64,0}, + [I(4,48)] = {64,0}, + [I(5,48)] = {64,0}, + [I(6,48)] = {64,0}, + [I(7,48)] = {64,0}, + [I(8,48)] = {64,0}, + [I(9,48)] = {29,0x1FFFFD40}, + [I(10,48)] = {64,0}, + [I(11,48)] = {64,0}, + [I(12,48)] = {64,0}, + [I(13,48)] = {64,0}, + [I(14,48)] = {64,0}, + [I(15,48)] = {64,0}, + [I(16,48)] = {64,0}, + [I(17,48)] = {64,0}, + [I(18,48)] = {64,0}, + [I(19,48)] = {64,0}, + [I(20,48)] = {64,0}, + [I(21,48)] = {64,0}, + [I(22,48)] = {64,0}, + [I(23,48)] = {64,0}, + [I(24,48)] = {64,0}, + [I(25,48)] = {64,0}, + [I(26,48)] = {64,0}, + [I(27,48)] = {64,0}, + [I(28,48)] = {64,0}, + [I(29,48)] = {64,0}, + [I(30,48)] = {64,0}, + [I(31,48)] = {64,0}, + [I(32,48)] = {11,0x280}, + [I(33,48)] = {15,0x7F00}, + [I(34,48)] = {15,0x7F20}, + [I(35,48)] = {17,0x1FF40}, + [I(36,48)] = {18,0x3FF20}, + [I(37,48)] = {11,0x2A0}, + [I(38,48)] = {13,0x1F00}, + [I(39,48)] = {16,0xFF40}, + [I(40,48)] = {15,0x7F40}, + [I(41,48)] = {15,0x7F60}, + [I(42,48)] = {13,0x1F20}, + [I(43,48)] = {16,0xFF60}, + [I(44,48)] = {13,0x1F40}, + [I(45,48)] = {11,0x2C0}, + [I(46,48)] = {11,0x2E0}, + [I(47,48)] = {11,0x300}, + [I(48,48)] = {10,0x0}, + [I(49,48)] = {10,0x20}, + [I(50,48)] = {10,0x40}, + [I(51,48)] = {11,0x320}, + [I(52,48)] = {11,0x340}, + [I(53,48)] = {11,0x360}, + [I(54,48)] = {11,0x380}, + [I(55,48)] = {11,0x3A0}, + [I(56,48)] = {11,0x3C0}, + [I(57,48)] = {11,0x3E0}, + [I(58,48)] = {12,0xB80}, + [I(59,48)] = {13,0x1F60}, + [I(60,48)] = {20,0xFFF80}, + [I(61,48)] = {11,0x400}, + [I(62,48)] = {17,0x1FF60}, + [I(63,48)] = {15,0x7F80}, + [I(64,48)] = {18,0x3FF40}, + [I(65,48)] = {11,0x420}, + [I(66,48)] = {12,0xBA0}, + [I(67,48)] = {12,0xBC0}, + [I(68,48)] = {12,0xBE0}, + [I(69,48)] = {12,0xC00}, + [I(70,48)] = {12,0xC20}, + [I(71,48)] = {12,0xC40}, + [I(72,48)] = {12,0xC60}, + [I(73,48)] = {12,0xC80}, + [I(74,48)] = {12,0xCA0}, + [I(75,48)] = {12,0xCC0}, + [I(76,48)] = {12,0xCE0}, + [I(77,48)] = {12,0xD00}, + [I(78,48)] = {12,0xD20}, + [I(79,48)] = {12,0xD40}, + [I(80,48)] = {12,0xD60}, + [I(81,48)] = {12,0xD80}, + [I(82,48)] = {12,0xDA0}, + [I(83,48)] = {12,0xDC0}, + [I(84,48)] = {12,0xDE0}, + [I(85,48)] = {12,0xE00}, + [I(86,48)] = {12,0xE20}, + [I(87,48)] = {12,0xE40}, + [I(88,48)] = {13,0x1F80}, + [I(89,48)] = {12,0xE60}, + [I(90,48)] = {13,0x1FA0}, + [I(91,48)] = {18,0x3FF60}, + [I(92,48)] = {24,0xFFFE00}, + [I(93,48)] = {18,0x3FF80}, + [I(94,48)] = {19,0x7FF80}, + [I(95,48)] = {11,0x440}, + [I(96,48)] = {20,0xFFFA0}, + [I(97,48)] = {10,0x60}, + [I(98,48)] = {11,0x460}, + [I(99,48)] = {10,0x80}, + [I(100,48)] = {11,0x480}, + [I(101,48)] = {10,0xA0}, + [I(102,48)] = {11,0x4A0}, + [I(103,48)] = {11,0x4C0}, + [I(104,48)] = {11,0x4E0}, + [I(105,48)] = {10,0xC0}, + [I(106,48)] = {12,0xE80}, + [I(107,48)] = {12,0xEA0}, + [I(108,48)] = {11,0x500}, + [I(109,48)] = {11,0x520}, + [I(110,48)] = {11,0x540}, + [I(111,48)] = {10,0xE0}, + [I(112,48)] = {11,0x560}, + [I(113,48)] = {12,0xEC0}, + [I(114,48)] = {11,0x580}, + [I(115,48)] = {10,0x100}, + [I(116,48)] = {10,0x120}, + [I(117,48)] = {11,0x5A0}, + [I(118,48)] = {12,0xEE0}, + [I(119,48)] = {12,0xF00}, + [I(120,48)] = {12,0xF20}, + [I(121,48)] = {12,0xF40}, + [I(122,48)] = {12,0xF60}, + [I(123,48)] = {20,0xFFFC0}, + [I(124,48)] = {16,0xFF80}, + [I(125,48)] = {19,0x7FFA0}, + [I(126,48)] = {18,0x3FFA0}, + [I(127,48)] = {64,0}, + [I(128,48)] = {25,0x1FFFCC0}, + [I(129,48)] = {27,0x7FFFA40}, + [I(130,48)] = {25,0x1FFFCE0}, + [I(131,48)] = {25,0x1FFFD00}, + [I(132,48)] = {27,0x7FFFA60}, + [I(133,48)] = {27,0x7FFFA80}, + [I(134,48)] = {27,0x7FFFAA0}, + [I(135,48)] = {28,0xFFFFB20}, + [I(136,48)] = {27,0x7FFFAC0}, + [I(137,48)] = {28,0xFFFFB40}, + [I(138,48)] = {28,0xFFFFB60}, + [I(139,48)] = {28,0xFFFFB80}, + [I(140,48)] = {28,0xFFFFBA0}, + [I(141,48)] = {28,0xFFFFBC0}, + [I(142,48)] = {29,0x1FFFFD60}, + [I(143,48)] = {28,0xFFFFBE0}, + [I(144,48)] = {29,0x1FFFFD80}, + [I(145,48)] = {29,0x1FFFFDA0}, + [I(146,48)] = {27,0x7FFFAE0}, + [I(147,48)] = {28,0xFFFFC00}, + [I(148,48)] = {29,0x1FFFFDC0}, + [I(149,48)] = {28,0xFFFFC20}, + [I(150,48)] = {28,0xFFFFC40}, + [I(151,48)] = {28,0xFFFFC60}, + [I(152,48)] = {28,0xFFFFC80}, + [I(153,48)] = {26,0x3FFFB80}, + [I(154,48)] = {27,0x7FFFB00}, + [I(155,48)] = {28,0xFFFFCA0}, + [I(156,48)] = {27,0x7FFFB20}, + [I(157,48)] = {28,0xFFFFCC0}, + [I(158,48)] = {28,0xFFFFCE0}, + [I(159,48)] = {29,0x1FFFFDE0}, + [I(160,48)] = {27,0x7FFFB40}, + [I(161,48)] = {26,0x3FFFBA0}, + [I(162,48)] = {25,0x1FFFD20}, + [I(163,48)] = {27,0x7FFFB60}, + [I(164,48)] = {27,0x7FFFB80}, + [I(165,48)] = {28,0xFFFFD00}, + [I(166,48)] = {28,0xFFFFD20}, + [I(167,48)] = {26,0x3FFFBC0}, + [I(168,48)] = {28,0xFFFFD40}, + [I(169,48)] = {27,0x7FFFBA0}, + [I(170,48)] = {27,0x7FFFBC0}, + [I(171,48)] = {29,0x1FFFFE00}, + [I(172,48)] = {26,0x3FFFBE0}, + [I(173,48)] = {27,0x7FFFBE0}, + [I(174,48)] = {28,0xFFFFD60}, + [I(175,48)] = {28,0xFFFFD80}, + [I(176,48)] = {26,0x3FFFC00}, + [I(177,48)] = {26,0x3FFFC20}, + [I(178,48)] = {27,0x7FFFC00}, + [I(179,48)] = {26,0x3FFFC40}, + [I(180,48)] = {28,0xFFFFDA0}, + [I(181,48)] = {27,0x7FFFC20}, + [I(182,48)] = {28,0xFFFFDC0}, + [I(183,48)] = {28,0xFFFFDE0}, + [I(184,48)] = {25,0x1FFFD40}, + [I(185,48)] = {27,0x7FFFC40}, + [I(186,48)] = {27,0x7FFFC60}, + [I(187,48)] = {27,0x7FFFC80}, + [I(188,48)] = {28,0xFFFFE00}, + [I(189,48)] = {27,0x7FFFCA0}, + [I(190,48)] = {27,0x7FFFCC0}, + [I(191,48)] = {28,0xFFFFE20}, + [I(192,48)] = {31,0x7FFFFC00}, + [I(193,48)] = {31,0x7FFFFC20}, + [I(194,48)] = {25,0x1FFFD60}, + [I(195,48)] = {24,0xFFFE20}, + [I(196,48)] = {27,0x7FFFCE0}, + [I(197,48)] = {28,0xFFFFE40}, + [I(198,48)] = {27,0x7FFFD00}, + [I(199,48)] = {30,0x3FFFFD80}, + [I(200,48)] = {31,0x7FFFFC40}, + [I(201,48)] = {31,0x7FFFFC60}, + [I(202,48)] = {31,0x7FFFFC80}, + [I(203,48)] = {X32,0xFFFFFBC0}, + [I(204,48)] = {X32,0xFFFFFBE0}, + [I(205,48)] = {31,0x7FFFFCA0}, + [I(206,48)] = {29,0x1FFFFE20}, + [I(207,48)] = {30,0x3FFFFDA0}, + [I(208,48)] = {24,0xFFFE40}, + [I(209,48)] = {26,0x3FFFC60}, + [I(210,48)] = {31,0x7FFFFCC0}, + [I(211,48)] = {X32,0xFFFFFC00}, + [I(212,48)] = {X32,0xFFFFFC20}, + [I(213,48)] = {31,0x7FFFFCE0}, + [I(214,48)] = {X32,0xFFFFFC40}, + [I(215,48)] = {29,0x1FFFFE40}, + [I(216,48)] = {26,0x3FFFC80}, + [I(217,48)] = {26,0x3FFFCA0}, + [I(218,48)] = {31,0x7FFFFD00}, + [I(219,48)] = {31,0x7FFFFD20}, + [I(220,48)] = {64,0}, + [I(221,48)] = {X32,0xFFFFFC60}, + [I(222,48)] = {X32,0xFFFFFC80}, + [I(223,48)] = {X32,0xFFFFFCA0}, + [I(224,48)] = {25,0x1FFFD80}, + [I(225,48)] = {29,0x1FFFFE60}, + [I(226,48)] = {25,0x1FFFDA0}, + [I(227,48)] = {26,0x3FFFCC0}, + [I(228,48)] = {27,0x7FFFD20}, + [I(229,48)] = {26,0x3FFFCE0}, + [I(230,48)] = {26,0x3FFFD00}, + [I(231,48)] = {28,0xFFFFE60}, + [I(232,48)] = {27,0x7FFFD40}, + [I(233,48)] = {27,0x7FFFD60}, + [I(234,48)] = {30,0x3FFFFDC0}, + [I(235,48)] = {30,0x3FFFFDE0}, + [I(236,48)] = {29,0x1FFFFE80}, + [I(237,48)] = {29,0x1FFFFEA0}, + [I(238,48)] = {31,0x7FFFFD40}, + [I(239,48)] = {28,0xFFFFE80}, + [I(240,48)] = {31,0x7FFFFD60}, + [I(241,48)] = {X32,0xFFFFFCC0}, + [I(242,48)] = {31,0x7FFFFD80}, + [I(243,48)] = {31,0x7FFFFDA0}, + [I(244,48)] = {X32,0xFFFFFCE0}, + [I(245,48)] = {X32,0xFFFFFD00}, + [I(246,48)] = {X32,0xFFFFFD20}, + [I(247,48)] = {X32,0xFFFFFD40}, + [I(248,48)] = {X32,0xFFFFFD60}, + [I(249,48)] = {64,0}, + [I(250,48)] = {X32,0xFFFFFD80}, + [I(251,48)] = {X32,0xFFFFFDA0}, + [I(252,48)] = {X32,0xFFFFFDC0}, + [I(253,48)] = {X32,0xFFFFFDE0}, + [I(254,48)] = {X32,0xFFFFFE00}, + [I(255,48)] = {31,0x7FFFFDC0}, + [I(0,49)] = {18,0x3FF01}, + [I(1,49)] = {28,0xFFFFB01}, + [I(2,49)] = {64,0}, + [I(3,49)] = {64,0}, + [I(4,49)] = {64,0}, + [I(5,49)] = {64,0}, + [I(6,49)] = {64,0}, + [I(7,49)] = {64,0}, + [I(8,49)] = {64,0}, + [I(9,49)] = {29,0x1FFFFD41}, + [I(10,49)] = {64,0}, + [I(11,49)] = {64,0}, + [I(12,49)] = {64,0}, + [I(13,49)] = {64,0}, + [I(14,49)] = {64,0}, + [I(15,49)] = {64,0}, + [I(16,49)] = {64,0}, + [I(17,49)] = {64,0}, + [I(18,49)] = {64,0}, + [I(19,49)] = {64,0}, + [I(20,49)] = {64,0}, + [I(21,49)] = {64,0}, + [I(22,49)] = {64,0}, + [I(23,49)] = {64,0}, + [I(24,49)] = {64,0}, + [I(25,49)] = {64,0}, + [I(26,49)] = {64,0}, + [I(27,49)] = {64,0}, + [I(28,49)] = {64,0}, + [I(29,49)] = {64,0}, + [I(30,49)] = {64,0}, + [I(31,49)] = {64,0}, + [I(32,49)] = {11,0x281}, + [I(33,49)] = {15,0x7F01}, + [I(34,49)] = {15,0x7F21}, + [I(35,49)] = {17,0x1FF41}, + [I(36,49)] = {18,0x3FF21}, + [I(37,49)] = {11,0x2A1}, + [I(38,49)] = {13,0x1F01}, + [I(39,49)] = {16,0xFF41}, + [I(40,49)] = {15,0x7F41}, + [I(41,49)] = {15,0x7F61}, + [I(42,49)] = {13,0x1F21}, + [I(43,49)] = {16,0xFF61}, + [I(44,49)] = {13,0x1F41}, + [I(45,49)] = {11,0x2C1}, + [I(46,49)] = {11,0x2E1}, + [I(47,49)] = {11,0x301}, + [I(48,49)] = {10,0x1}, + [I(49,49)] = {10,0x21}, + [I(50,49)] = {10,0x41}, + [I(51,49)] = {11,0x321}, + [I(52,49)] = {11,0x341}, + [I(53,49)] = {11,0x361}, + [I(54,49)] = {11,0x381}, + [I(55,49)] = {11,0x3A1}, + [I(56,49)] = {11,0x3C1}, + [I(57,49)] = {11,0x3E1}, + [I(58,49)] = {12,0xB81}, + [I(59,49)] = {13,0x1F61}, + [I(60,49)] = {20,0xFFF81}, + [I(61,49)] = {11,0x401}, + [I(62,49)] = {17,0x1FF61}, + [I(63,49)] = {15,0x7F81}, + [I(64,49)] = {18,0x3FF41}, + [I(65,49)] = {11,0x421}, + [I(66,49)] = {12,0xBA1}, + [I(67,49)] = {12,0xBC1}, + [I(68,49)] = {12,0xBE1}, + [I(69,49)] = {12,0xC01}, + [I(70,49)] = {12,0xC21}, + [I(71,49)] = {12,0xC41}, + [I(72,49)] = {12,0xC61}, + [I(73,49)] = {12,0xC81}, + [I(74,49)] = {12,0xCA1}, + [I(75,49)] = {12,0xCC1}, + [I(76,49)] = {12,0xCE1}, + [I(77,49)] = {12,0xD01}, + [I(78,49)] = {12,0xD21}, + [I(79,49)] = {12,0xD41}, + [I(80,49)] = {12,0xD61}, + [I(81,49)] = {12,0xD81}, + [I(82,49)] = {12,0xDA1}, + [I(83,49)] = {12,0xDC1}, + [I(84,49)] = {12,0xDE1}, + [I(85,49)] = {12,0xE01}, + [I(86,49)] = {12,0xE21}, + [I(87,49)] = {12,0xE41}, + [I(88,49)] = {13,0x1F81}, + [I(89,49)] = {12,0xE61}, + [I(90,49)] = {13,0x1FA1}, + [I(91,49)] = {18,0x3FF61}, + [I(92,49)] = {24,0xFFFE01}, + [I(93,49)] = {18,0x3FF81}, + [I(94,49)] = {19,0x7FF81}, + [I(95,49)] = {11,0x441}, + [I(96,49)] = {20,0xFFFA1}, + [I(97,49)] = {10,0x61}, + [I(98,49)] = {11,0x461}, + [I(99,49)] = {10,0x81}, + [I(100,49)] = {11,0x481}, + [I(101,49)] = {10,0xA1}, + [I(102,49)] = {11,0x4A1}, + [I(103,49)] = {11,0x4C1}, + [I(104,49)] = {11,0x4E1}, + [I(105,49)] = {10,0xC1}, + [I(106,49)] = {12,0xE81}, + [I(107,49)] = {12,0xEA1}, + [I(108,49)] = {11,0x501}, + [I(109,49)] = {11,0x521}, + [I(110,49)] = {11,0x541}, + [I(111,49)] = {10,0xE1}, + [I(112,49)] = {11,0x561}, + [I(113,49)] = {12,0xEC1}, + [I(114,49)] = {11,0x581}, + [I(115,49)] = {10,0x101}, + [I(116,49)] = {10,0x121}, + [I(117,49)] = {11,0x5A1}, + [I(118,49)] = {12,0xEE1}, + [I(119,49)] = {12,0xF01}, + [I(120,49)] = {12,0xF21}, + [I(121,49)] = {12,0xF41}, + [I(122,49)] = {12,0xF61}, + [I(123,49)] = {20,0xFFFC1}, + [I(124,49)] = {16,0xFF81}, + [I(125,49)] = {19,0x7FFA1}, + [I(126,49)] = {18,0x3FFA1}, + [I(127,49)] = {64,0}, + [I(128,49)] = {25,0x1FFFCC1}, + [I(129,49)] = {27,0x7FFFA41}, + [I(130,49)] = {25,0x1FFFCE1}, + [I(131,49)] = {25,0x1FFFD01}, + [I(132,49)] = {27,0x7FFFA61}, + [I(133,49)] = {27,0x7FFFA81}, + [I(134,49)] = {27,0x7FFFAA1}, + [I(135,49)] = {28,0xFFFFB21}, + [I(136,49)] = {27,0x7FFFAC1}, + [I(137,49)] = {28,0xFFFFB41}, + [I(138,49)] = {28,0xFFFFB61}, + [I(139,49)] = {28,0xFFFFB81}, + [I(140,49)] = {28,0xFFFFBA1}, + [I(141,49)] = {28,0xFFFFBC1}, + [I(142,49)] = {29,0x1FFFFD61}, + [I(143,49)] = {28,0xFFFFBE1}, + [I(144,49)] = {29,0x1FFFFD81}, + [I(145,49)] = {29,0x1FFFFDA1}, + [I(146,49)] = {27,0x7FFFAE1}, + [I(147,49)] = {28,0xFFFFC01}, + [I(148,49)] = {29,0x1FFFFDC1}, + [I(149,49)] = {28,0xFFFFC21}, + [I(150,49)] = {28,0xFFFFC41}, + [I(151,49)] = {28,0xFFFFC61}, + [I(152,49)] = {28,0xFFFFC81}, + [I(153,49)] = {26,0x3FFFB81}, + [I(154,49)] = {27,0x7FFFB01}, + [I(155,49)] = {28,0xFFFFCA1}, + [I(156,49)] = {27,0x7FFFB21}, + [I(157,49)] = {28,0xFFFFCC1}, + [I(158,49)] = {28,0xFFFFCE1}, + [I(159,49)] = {29,0x1FFFFDE1}, + [I(160,49)] = {27,0x7FFFB41}, + [I(161,49)] = {26,0x3FFFBA1}, + [I(162,49)] = {25,0x1FFFD21}, + [I(163,49)] = {27,0x7FFFB61}, + [I(164,49)] = {27,0x7FFFB81}, + [I(165,49)] = {28,0xFFFFD01}, + [I(166,49)] = {28,0xFFFFD21}, + [I(167,49)] = {26,0x3FFFBC1}, + [I(168,49)] = {28,0xFFFFD41}, + [I(169,49)] = {27,0x7FFFBA1}, + [I(170,49)] = {27,0x7FFFBC1}, + [I(171,49)] = {29,0x1FFFFE01}, + [I(172,49)] = {26,0x3FFFBE1}, + [I(173,49)] = {27,0x7FFFBE1}, + [I(174,49)] = {28,0xFFFFD61}, + [I(175,49)] = {28,0xFFFFD81}, + [I(176,49)] = {26,0x3FFFC01}, + [I(177,49)] = {26,0x3FFFC21}, + [I(178,49)] = {27,0x7FFFC01}, + [I(179,49)] = {26,0x3FFFC41}, + [I(180,49)] = {28,0xFFFFDA1}, + [I(181,49)] = {27,0x7FFFC21}, + [I(182,49)] = {28,0xFFFFDC1}, + [I(183,49)] = {28,0xFFFFDE1}, + [I(184,49)] = {25,0x1FFFD41}, + [I(185,49)] = {27,0x7FFFC41}, + [I(186,49)] = {27,0x7FFFC61}, + [I(187,49)] = {27,0x7FFFC81}, + [I(188,49)] = {28,0xFFFFE01}, + [I(189,49)] = {27,0x7FFFCA1}, + [I(190,49)] = {27,0x7FFFCC1}, + [I(191,49)] = {28,0xFFFFE21}, + [I(192,49)] = {31,0x7FFFFC01}, + [I(193,49)] = {31,0x7FFFFC21}, + [I(194,49)] = {25,0x1FFFD61}, + [I(195,49)] = {24,0xFFFE21}, + [I(196,49)] = {27,0x7FFFCE1}, + [I(197,49)] = {28,0xFFFFE41}, + [I(198,49)] = {27,0x7FFFD01}, + [I(199,49)] = {30,0x3FFFFD81}, + [I(200,49)] = {31,0x7FFFFC41}, + [I(201,49)] = {31,0x7FFFFC61}, + [I(202,49)] = {31,0x7FFFFC81}, + [I(203,49)] = {X32,0xFFFFFBC1}, + [I(204,49)] = {X32,0xFFFFFBE1}, + [I(205,49)] = {31,0x7FFFFCA1}, + [I(206,49)] = {29,0x1FFFFE21}, + [I(207,49)] = {30,0x3FFFFDA1}, + [I(208,49)] = {24,0xFFFE41}, + [I(209,49)] = {26,0x3FFFC61}, + [I(210,49)] = {31,0x7FFFFCC1}, + [I(211,49)] = {X32,0xFFFFFC01}, + [I(212,49)] = {X32,0xFFFFFC21}, + [I(213,49)] = {31,0x7FFFFCE1}, + [I(214,49)] = {X32,0xFFFFFC41}, + [I(215,49)] = {29,0x1FFFFE41}, + [I(216,49)] = {26,0x3FFFC81}, + [I(217,49)] = {26,0x3FFFCA1}, + [I(218,49)] = {31,0x7FFFFD01}, + [I(219,49)] = {31,0x7FFFFD21}, + [I(220,49)] = {64,0}, + [I(221,49)] = {X32,0xFFFFFC61}, + [I(222,49)] = {X32,0xFFFFFC81}, + [I(223,49)] = {X32,0xFFFFFCA1}, + [I(224,49)] = {25,0x1FFFD81}, + [I(225,49)] = {29,0x1FFFFE61}, + [I(226,49)] = {25,0x1FFFDA1}, + [I(227,49)] = {26,0x3FFFCC1}, + [I(228,49)] = {27,0x7FFFD21}, + [I(229,49)] = {26,0x3FFFCE1}, + [I(230,49)] = {26,0x3FFFD01}, + [I(231,49)] = {28,0xFFFFE61}, + [I(232,49)] = {27,0x7FFFD41}, + [I(233,49)] = {27,0x7FFFD61}, + [I(234,49)] = {30,0x3FFFFDC1}, + [I(235,49)] = {30,0x3FFFFDE1}, + [I(236,49)] = {29,0x1FFFFE81}, + [I(237,49)] = {29,0x1FFFFEA1}, + [I(238,49)] = {31,0x7FFFFD41}, + [I(239,49)] = {28,0xFFFFE81}, + [I(240,49)] = {31,0x7FFFFD61}, + [I(241,49)] = {X32,0xFFFFFCC1}, + [I(242,49)] = {31,0x7FFFFD81}, + [I(243,49)] = {31,0x7FFFFDA1}, + [I(244,49)] = {X32,0xFFFFFCE1}, + [I(245,49)] = {X32,0xFFFFFD01}, + [I(246,49)] = {X32,0xFFFFFD21}, + [I(247,49)] = {X32,0xFFFFFD41}, + [I(248,49)] = {X32,0xFFFFFD61}, + [I(249,49)] = {64,0}, + [I(250,49)] = {X32,0xFFFFFD81}, + [I(251,49)] = {X32,0xFFFFFDA1}, + [I(252,49)] = {X32,0xFFFFFDC1}, + [I(253,49)] = {X32,0xFFFFFDE1}, + [I(254,49)] = {X32,0xFFFFFE01}, + [I(255,49)] = {31,0x7FFFFDC1}, + [I(0,50)] = {18,0x3FF02}, + [I(1,50)] = {28,0xFFFFB02}, + [I(2,50)] = {64,0}, + [I(3,50)] = {64,0}, + [I(4,50)] = {64,0}, + [I(5,50)] = {64,0}, + [I(6,50)] = {64,0}, + [I(7,50)] = {64,0}, + [I(8,50)] = {64,0}, + [I(9,50)] = {29,0x1FFFFD42}, + [I(10,50)] = {64,0}, + [I(11,50)] = {64,0}, + [I(12,50)] = {64,0}, + [I(13,50)] = {64,0}, + [I(14,50)] = {64,0}, + [I(15,50)] = {64,0}, + [I(16,50)] = {64,0}, + [I(17,50)] = {64,0}, + [I(18,50)] = {64,0}, + [I(19,50)] = {64,0}, + [I(20,50)] = {64,0}, + [I(21,50)] = {64,0}, + [I(22,50)] = {64,0}, + [I(23,50)] = {64,0}, + [I(24,50)] = {64,0}, + [I(25,50)] = {64,0}, + [I(26,50)] = {64,0}, + [I(27,50)] = {64,0}, + [I(28,50)] = {64,0}, + [I(29,50)] = {64,0}, + [I(30,50)] = {64,0}, + [I(31,50)] = {64,0}, + [I(32,50)] = {11,0x282}, + [I(33,50)] = {15,0x7F02}, + [I(34,50)] = {15,0x7F22}, + [I(35,50)] = {17,0x1FF42}, + [I(36,50)] = {18,0x3FF22}, + [I(37,50)] = {11,0x2A2}, + [I(38,50)] = {13,0x1F02}, + [I(39,50)] = {16,0xFF42}, + [I(40,50)] = {15,0x7F42}, + [I(41,50)] = {15,0x7F62}, + [I(42,50)] = {13,0x1F22}, + [I(43,50)] = {16,0xFF62}, + [I(44,50)] = {13,0x1F42}, + [I(45,50)] = {11,0x2C2}, + [I(46,50)] = {11,0x2E2}, + [I(47,50)] = {11,0x302}, + [I(48,50)] = {10,0x2}, + [I(49,50)] = {10,0x22}, + [I(50,50)] = {10,0x42}, + [I(51,50)] = {11,0x322}, + [I(52,50)] = {11,0x342}, + [I(53,50)] = {11,0x362}, + [I(54,50)] = {11,0x382}, + [I(55,50)] = {11,0x3A2}, + [I(56,50)] = {11,0x3C2}, + [I(57,50)] = {11,0x3E2}, + [I(58,50)] = {12,0xB82}, + [I(59,50)] = {13,0x1F62}, + [I(60,50)] = {20,0xFFF82}, + [I(61,50)] = {11,0x402}, + [I(62,50)] = {17,0x1FF62}, + [I(63,50)] = {15,0x7F82}, + [I(64,50)] = {18,0x3FF42}, + [I(65,50)] = {11,0x422}, + [I(66,50)] = {12,0xBA2}, + [I(67,50)] = {12,0xBC2}, + [I(68,50)] = {12,0xBE2}, + [I(69,50)] = {12,0xC02}, + [I(70,50)] = {12,0xC22}, + [I(71,50)] = {12,0xC42}, + [I(72,50)] = {12,0xC62}, + [I(73,50)] = {12,0xC82}, + [I(74,50)] = {12,0xCA2}, + [I(75,50)] = {12,0xCC2}, + [I(76,50)] = {12,0xCE2}, + [I(77,50)] = {12,0xD02}, + [I(78,50)] = {12,0xD22}, + [I(79,50)] = {12,0xD42}, + [I(80,50)] = {12,0xD62}, + [I(81,50)] = {12,0xD82}, + [I(82,50)] = {12,0xDA2}, + [I(83,50)] = {12,0xDC2}, + [I(84,50)] = {12,0xDE2}, + [I(85,50)] = {12,0xE02}, + [I(86,50)] = {12,0xE22}, + [I(87,50)] = {12,0xE42}, + [I(88,50)] = {13,0x1F82}, + [I(89,50)] = {12,0xE62}, + [I(90,50)] = {13,0x1FA2}, + [I(91,50)] = {18,0x3FF62}, + [I(92,50)] = {24,0xFFFE02}, + [I(93,50)] = {18,0x3FF82}, + [I(94,50)] = {19,0x7FF82}, + [I(95,50)] = {11,0x442}, + [I(96,50)] = {20,0xFFFA2}, + [I(97,50)] = {10,0x62}, + [I(98,50)] = {11,0x462}, + [I(99,50)] = {10,0x82}, + [I(100,50)] = {11,0x482}, + [I(101,50)] = {10,0xA2}, + [I(102,50)] = {11,0x4A2}, + [I(103,50)] = {11,0x4C2}, + [I(104,50)] = {11,0x4E2}, + [I(105,50)] = {10,0xC2}, + [I(106,50)] = {12,0xE82}, + [I(107,50)] = {12,0xEA2}, + [I(108,50)] = {11,0x502}, + [I(109,50)] = {11,0x522}, + [I(110,50)] = {11,0x542}, + [I(111,50)] = {10,0xE2}, + [I(112,50)] = {11,0x562}, + [I(113,50)] = {12,0xEC2}, + [I(114,50)] = {11,0x582}, + [I(115,50)] = {10,0x102}, + [I(116,50)] = {10,0x122}, + [I(117,50)] = {11,0x5A2}, + [I(118,50)] = {12,0xEE2}, + [I(119,50)] = {12,0xF02}, + [I(120,50)] = {12,0xF22}, + [I(121,50)] = {12,0xF42}, + [I(122,50)] = {12,0xF62}, + [I(123,50)] = {20,0xFFFC2}, + [I(124,50)] = {16,0xFF82}, + [I(125,50)] = {19,0x7FFA2}, + [I(126,50)] = {18,0x3FFA2}, + [I(127,50)] = {64,0}, + [I(128,50)] = {25,0x1FFFCC2}, + [I(129,50)] = {27,0x7FFFA42}, + [I(130,50)] = {25,0x1FFFCE2}, + [I(131,50)] = {25,0x1FFFD02}, + [I(132,50)] = {27,0x7FFFA62}, + [I(133,50)] = {27,0x7FFFA82}, + [I(134,50)] = {27,0x7FFFAA2}, + [I(135,50)] = {28,0xFFFFB22}, + [I(136,50)] = {27,0x7FFFAC2}, + [I(137,50)] = {28,0xFFFFB42}, + [I(138,50)] = {28,0xFFFFB62}, + [I(139,50)] = {28,0xFFFFB82}, + [I(140,50)] = {28,0xFFFFBA2}, + [I(141,50)] = {28,0xFFFFBC2}, + [I(142,50)] = {29,0x1FFFFD62}, + [I(143,50)] = {28,0xFFFFBE2}, + [I(144,50)] = {29,0x1FFFFD82}, + [I(145,50)] = {29,0x1FFFFDA2}, + [I(146,50)] = {27,0x7FFFAE2}, + [I(147,50)] = {28,0xFFFFC02}, + [I(148,50)] = {29,0x1FFFFDC2}, + [I(149,50)] = {28,0xFFFFC22}, + [I(150,50)] = {28,0xFFFFC42}, + [I(151,50)] = {28,0xFFFFC62}, + [I(152,50)] = {28,0xFFFFC82}, + [I(153,50)] = {26,0x3FFFB82}, + [I(154,50)] = {27,0x7FFFB02}, + [I(155,50)] = {28,0xFFFFCA2}, + [I(156,50)] = {27,0x7FFFB22}, + [I(157,50)] = {28,0xFFFFCC2}, + [I(158,50)] = {28,0xFFFFCE2}, + [I(159,50)] = {29,0x1FFFFDE2}, + [I(160,50)] = {27,0x7FFFB42}, + [I(161,50)] = {26,0x3FFFBA2}, + [I(162,50)] = {25,0x1FFFD22}, + [I(163,50)] = {27,0x7FFFB62}, + [I(164,50)] = {27,0x7FFFB82}, + [I(165,50)] = {28,0xFFFFD02}, + [I(166,50)] = {28,0xFFFFD22}, + [I(167,50)] = {26,0x3FFFBC2}, + [I(168,50)] = {28,0xFFFFD42}, + [I(169,50)] = {27,0x7FFFBA2}, + [I(170,50)] = {27,0x7FFFBC2}, + [I(171,50)] = {29,0x1FFFFE02}, + [I(172,50)] = {26,0x3FFFBE2}, + [I(173,50)] = {27,0x7FFFBE2}, + [I(174,50)] = {28,0xFFFFD62}, + [I(175,50)] = {28,0xFFFFD82}, + [I(176,50)] = {26,0x3FFFC02}, + [I(177,50)] = {26,0x3FFFC22}, + [I(178,50)] = {27,0x7FFFC02}, + [I(179,50)] = {26,0x3FFFC42}, + [I(180,50)] = {28,0xFFFFDA2}, + [I(181,50)] = {27,0x7FFFC22}, + [I(182,50)] = {28,0xFFFFDC2}, + [I(183,50)] = {28,0xFFFFDE2}, + [I(184,50)] = {25,0x1FFFD42}, + [I(185,50)] = {27,0x7FFFC42}, + [I(186,50)] = {27,0x7FFFC62}, + [I(187,50)] = {27,0x7FFFC82}, + [I(188,50)] = {28,0xFFFFE02}, + [I(189,50)] = {27,0x7FFFCA2}, + [I(190,50)] = {27,0x7FFFCC2}, + [I(191,50)] = {28,0xFFFFE22}, + [I(192,50)] = {31,0x7FFFFC02}, + [I(193,50)] = {31,0x7FFFFC22}, + [I(194,50)] = {25,0x1FFFD62}, + [I(195,50)] = {24,0xFFFE22}, + [I(196,50)] = {27,0x7FFFCE2}, + [I(197,50)] = {28,0xFFFFE42}, + [I(198,50)] = {27,0x7FFFD02}, + [I(199,50)] = {30,0x3FFFFD82}, + [I(200,50)] = {31,0x7FFFFC42}, + [I(201,50)] = {31,0x7FFFFC62}, + [I(202,50)] = {31,0x7FFFFC82}, + [I(203,50)] = {X32,0xFFFFFBC2}, + [I(204,50)] = {X32,0xFFFFFBE2}, + [I(205,50)] = {31,0x7FFFFCA2}, + [I(206,50)] = {29,0x1FFFFE22}, + [I(207,50)] = {30,0x3FFFFDA2}, + [I(208,50)] = {24,0xFFFE42}, + [I(209,50)] = {26,0x3FFFC62}, + [I(210,50)] = {31,0x7FFFFCC2}, + [I(211,50)] = {X32,0xFFFFFC02}, + [I(212,50)] = {X32,0xFFFFFC22}, + [I(213,50)] = {31,0x7FFFFCE2}, + [I(214,50)] = {X32,0xFFFFFC42}, + [I(215,50)] = {29,0x1FFFFE42}, + [I(216,50)] = {26,0x3FFFC82}, + [I(217,50)] = {26,0x3FFFCA2}, + [I(218,50)] = {31,0x7FFFFD02}, + [I(219,50)] = {31,0x7FFFFD22}, + [I(220,50)] = {64,0}, + [I(221,50)] = {X32,0xFFFFFC62}, + [I(222,50)] = {X32,0xFFFFFC82}, + [I(223,50)] = {X32,0xFFFFFCA2}, + [I(224,50)] = {25,0x1FFFD82}, + [I(225,50)] = {29,0x1FFFFE62}, + [I(226,50)] = {25,0x1FFFDA2}, + [I(227,50)] = {26,0x3FFFCC2}, + [I(228,50)] = {27,0x7FFFD22}, + [I(229,50)] = {26,0x3FFFCE2}, + [I(230,50)] = {26,0x3FFFD02}, + [I(231,50)] = {28,0xFFFFE62}, + [I(232,50)] = {27,0x7FFFD42}, + [I(233,50)] = {27,0x7FFFD62}, + [I(234,50)] = {30,0x3FFFFDC2}, + [I(235,50)] = {30,0x3FFFFDE2}, + [I(236,50)] = {29,0x1FFFFE82}, + [I(237,50)] = {29,0x1FFFFEA2}, + [I(238,50)] = {31,0x7FFFFD42}, + [I(239,50)] = {28,0xFFFFE82}, + [I(240,50)] = {31,0x7FFFFD62}, + [I(241,50)] = {X32,0xFFFFFCC2}, + [I(242,50)] = {31,0x7FFFFD82}, + [I(243,50)] = {31,0x7FFFFDA2}, + [I(244,50)] = {X32,0xFFFFFCE2}, + [I(245,50)] = {X32,0xFFFFFD02}, + [I(246,50)] = {X32,0xFFFFFD22}, + [I(247,50)] = {X32,0xFFFFFD42}, + [I(248,50)] = {X32,0xFFFFFD62}, + [I(249,50)] = {64,0}, + [I(250,50)] = {X32,0xFFFFFD82}, + [I(251,50)] = {X32,0xFFFFFDA2}, + [I(252,50)] = {X32,0xFFFFFDC2}, + [I(253,50)] = {X32,0xFFFFFDE2}, + [I(254,50)] = {X32,0xFFFFFE02}, + [I(255,50)] = {31,0x7FFFFDC2}, + [I(0,51)] = {19,0x7FE19}, + [I(1,51)] = {29,0x1FFFF619}, + [I(2,51)] = {64,0}, + [I(3,51)] = {64,0}, + [I(4,51)] = {64,0}, + [I(5,51)] = {64,0}, + [I(6,51)] = {64,0}, + [I(7,51)] = {64,0}, + [I(8,51)] = {64,0}, + [I(9,51)] = {30,0x3FFFFA99}, + [I(10,51)] = {64,0}, + [I(11,51)] = {64,0}, + [I(12,51)] = {64,0}, + [I(13,51)] = {64,0}, + [I(14,51)] = {64,0}, + [I(15,51)] = {64,0}, + [I(16,51)] = {64,0}, + [I(17,51)] = {64,0}, + [I(18,51)] = {64,0}, + [I(19,51)] = {64,0}, + [I(20,51)] = {64,0}, + [I(21,51)] = {64,0}, + [I(22,51)] = {64,0}, + [I(23,51)] = {64,0}, + [I(24,51)] = {64,0}, + [I(25,51)] = {64,0}, + [I(26,51)] = {64,0}, + [I(27,51)] = {64,0}, + [I(28,51)] = {64,0}, + [I(29,51)] = {64,0}, + [I(30,51)] = {64,0}, + [I(31,51)] = {64,0}, + [I(32,51)] = {12,0x519}, + [I(33,51)] = {16,0xFE19}, + [I(34,51)] = {16,0xFE59}, + [I(35,51)] = {18,0x3FE99}, + [I(36,51)] = {19,0x7FE59}, + [I(37,51)] = {12,0x559}, + [I(38,51)] = {14,0x3E19}, + [I(39,51)] = {17,0x1FE99}, + [I(40,51)] = {16,0xFE99}, + [I(41,51)] = {16,0xFED9}, + [I(42,51)] = {14,0x3E59}, + [I(43,51)] = {17,0x1FED9}, + [I(44,51)] = {14,0x3E99}, + [I(45,51)] = {12,0x599}, + [I(46,51)] = {12,0x5D9}, + [I(47,51)] = {12,0x619}, + [I(48,51)] = {11,0x19}, + [I(49,51)] = {11,0x59}, + [I(50,51)] = {11,0x99}, + [I(51,51)] = {12,0x659}, + [I(52,51)] = {12,0x699}, + [I(53,51)] = {12,0x6D9}, + [I(54,51)] = {12,0x719}, + [I(55,51)] = {12,0x759}, + [I(56,51)] = {12,0x799}, + [I(57,51)] = {12,0x7D9}, + [I(58,51)] = {13,0x1719}, + [I(59,51)] = {14,0x3ED9}, + [I(60,51)] = {21,0x1FFF19}, + [I(61,51)] = {12,0x819}, + [I(62,51)] = {18,0x3FED9}, + [I(63,51)] = {16,0xFF19}, + [I(64,51)] = {19,0x7FE99}, + [I(65,51)] = {12,0x859}, + [I(66,51)] = {13,0x1759}, + [I(67,51)] = {13,0x1799}, + [I(68,51)] = {13,0x17D9}, + [I(69,51)] = {13,0x1819}, + [I(70,51)] = {13,0x1859}, + [I(71,51)] = {13,0x1899}, + [I(72,51)] = {13,0x18D9}, + [I(73,51)] = {13,0x1919}, + [I(74,51)] = {13,0x1959}, + [I(75,51)] = {13,0x1999}, + [I(76,51)] = {13,0x19D9}, + [I(77,51)] = {13,0x1A19}, + [I(78,51)] = {13,0x1A59}, + [I(79,51)] = {13,0x1A99}, + [I(80,51)] = {13,0x1AD9}, + [I(81,51)] = {13,0x1B19}, + [I(82,51)] = {13,0x1B59}, + [I(83,51)] = {13,0x1B99}, + [I(84,51)] = {13,0x1BD9}, + [I(85,51)] = {13,0x1C19}, + [I(86,51)] = {13,0x1C59}, + [I(87,51)] = {13,0x1C99}, + [I(88,51)] = {14,0x3F19}, + [I(89,51)] = {13,0x1CD9}, + [I(90,51)] = {14,0x3F59}, + [I(91,51)] = {19,0x7FED9}, + [I(92,51)] = {25,0x1FFFC19}, + [I(93,51)] = {19,0x7FF19}, + [I(94,51)] = {20,0xFFF19}, + [I(95,51)] = {12,0x899}, + [I(96,51)] = {21,0x1FFF59}, + [I(97,51)] = {11,0xD9}, + [I(98,51)] = {12,0x8D9}, + [I(99,51)] = {11,0x119}, + [I(100,51)] = {12,0x919}, + [I(101,51)] = {11,0x159}, + [I(102,51)] = {12,0x959}, + [I(103,51)] = {12,0x999}, + [I(104,51)] = {12,0x9D9}, + [I(105,51)] = {11,0x199}, + [I(106,51)] = {13,0x1D19}, + [I(107,51)] = {13,0x1D59}, + [I(108,51)] = {12,0xA19}, + [I(109,51)] = {12,0xA59}, + [I(110,51)] = {12,0xA99}, + [I(111,51)] = {11,0x1D9}, + [I(112,51)] = {12,0xAD9}, + [I(113,51)] = {13,0x1D99}, + [I(114,51)] = {12,0xB19}, + [I(115,51)] = {11,0x219}, + [I(116,51)] = {11,0x259}, + [I(117,51)] = {12,0xB59}, + [I(118,51)] = {13,0x1DD9}, + [I(119,51)] = {13,0x1E19}, + [I(120,51)] = {13,0x1E59}, + [I(121,51)] = {13,0x1E99}, + [I(122,51)] = {13,0x1ED9}, + [I(123,51)] = {21,0x1FFF99}, + [I(124,51)] = {17,0x1FF19}, + [I(125,51)] = {20,0xFFF59}, + [I(126,51)] = {19,0x7FF59}, + [I(127,51)] = {64,0}, + [I(128,51)] = {26,0x3FFF999}, + [I(129,51)] = {28,0xFFFF499}, + [I(130,51)] = {26,0x3FFF9D9}, + [I(131,51)] = {26,0x3FFFA19}, + [I(132,51)] = {28,0xFFFF4D9}, + [I(133,51)] = {28,0xFFFF519}, + [I(134,51)] = {28,0xFFFF559}, + [I(135,51)] = {29,0x1FFFF659}, + [I(136,51)] = {28,0xFFFF599}, + [I(137,51)] = {29,0x1FFFF699}, + [I(138,51)] = {29,0x1FFFF6D9}, + [I(139,51)] = {29,0x1FFFF719}, + [I(140,51)] = {29,0x1FFFF759}, + [I(141,51)] = {29,0x1FFFF799}, + [I(142,51)] = {30,0x3FFFFAD9}, + [I(143,51)] = {29,0x1FFFF7D9}, + [I(144,51)] = {30,0x3FFFFB19}, + [I(145,51)] = {30,0x3FFFFB59}, + [I(146,51)] = {28,0xFFFF5D9}, + [I(147,51)] = {29,0x1FFFF819}, + [I(148,51)] = {30,0x3FFFFB99}, + [I(149,51)] = {29,0x1FFFF859}, + [I(150,51)] = {29,0x1FFFF899}, + [I(151,51)] = {29,0x1FFFF8D9}, + [I(152,51)] = {29,0x1FFFF919}, + [I(153,51)] = {27,0x7FFF719}, + [I(154,51)] = {28,0xFFFF619}, + [I(155,51)] = {29,0x1FFFF959}, + [I(156,51)] = {28,0xFFFF659}, + [I(157,51)] = {29,0x1FFFF999}, + [I(158,51)] = {29,0x1FFFF9D9}, + [I(159,51)] = {30,0x3FFFFBD9}, + [I(160,51)] = {28,0xFFFF699}, + [I(161,51)] = {27,0x7FFF759}, + [I(162,51)] = {26,0x3FFFA59}, + [I(163,51)] = {28,0xFFFF6D9}, + [I(164,51)] = {28,0xFFFF719}, + [I(165,51)] = {29,0x1FFFFA19}, + [I(166,51)] = {29,0x1FFFFA59}, + [I(167,51)] = {27,0x7FFF799}, + [I(168,51)] = {29,0x1FFFFA99}, + [I(169,51)] = {28,0xFFFF759}, + [I(170,51)] = {28,0xFFFF799}, + [I(171,51)] = {30,0x3FFFFC19}, + [I(172,51)] = {27,0x7FFF7D9}, + [I(173,51)] = {28,0xFFFF7D9}, + [I(174,51)] = {29,0x1FFFFAD9}, + [I(175,51)] = {29,0x1FFFFB19}, + [I(176,51)] = {27,0x7FFF819}, + [I(177,51)] = {27,0x7FFF859}, + [I(178,51)] = {28,0xFFFF819}, + [I(179,51)] = {27,0x7FFF899}, + [I(180,51)] = {29,0x1FFFFB59}, + [I(181,51)] = {28,0xFFFF859}, + [I(182,51)] = {29,0x1FFFFB99}, + [I(183,51)] = {29,0x1FFFFBD9}, + [I(184,51)] = {26,0x3FFFA99}, + [I(185,51)] = {28,0xFFFF899}, + [I(186,51)] = {28,0xFFFF8D9}, + [I(187,51)] = {28,0xFFFF919}, + [I(188,51)] = {29,0x1FFFFC19}, + [I(189,51)] = {28,0xFFFF959}, + [I(190,51)] = {28,0xFFFF999}, + [I(191,51)] = {29,0x1FFFFC59}, + [I(192,51)] = {X32,0xFFFFF819}, + [I(193,51)] = {X32,0xFFFFF859}, + [I(194,51)] = {26,0x3FFFAD9}, + [I(195,51)] = {25,0x1FFFC59}, + [I(196,51)] = {28,0xFFFF9D9}, + [I(197,51)] = {29,0x1FFFFC99}, + [I(198,51)] = {28,0xFFFFA19}, + [I(199,51)] = {31,0x7FFFFB19}, + [I(200,51)] = {X32,0xFFFFF899}, + [I(201,51)] = {X32,0xFFFFF8D9}, + [I(202,51)] = {X32,0xFFFFF919}, + [I(203,51)] = {64,0}, + [I(204,51)] = {64,0}, + [I(205,51)] = {X32,0xFFFFF959}, + [I(206,51)] = {30,0x3FFFFC59}, + [I(207,51)] = {31,0x7FFFFB59}, + [I(208,51)] = {25,0x1FFFC99}, + [I(209,51)] = {27,0x7FFF8D9}, + [I(210,51)] = {X32,0xFFFFF999}, + [I(211,51)] = {64,0}, + [I(212,51)] = {64,0}, + [I(213,51)] = {X32,0xFFFFF9D9}, + [I(214,51)] = {64,0}, + [I(215,51)] = {30,0x3FFFFC99}, + [I(216,51)] = {27,0x7FFF919}, + [I(217,51)] = {27,0x7FFF959}, + [I(218,51)] = {X32,0xFFFFFA19}, + [I(219,51)] = {X32,0xFFFFFA59}, + [I(220,51)] = {64,0}, + [I(221,51)] = {64,0}, + [I(222,51)] = {64,0}, + [I(223,51)] = {64,0}, + [I(224,51)] = {26,0x3FFFB19}, + [I(225,51)] = {30,0x3FFFFCD9}, + [I(226,51)] = {26,0x3FFFB59}, + [I(227,51)] = {27,0x7FFF999}, + [I(228,51)] = {28,0xFFFFA59}, + [I(229,51)] = {27,0x7FFF9D9}, + [I(230,51)] = {27,0x7FFFA19}, + [I(231,51)] = {29,0x1FFFFCD9}, + [I(232,51)] = {28,0xFFFFA99}, + [I(233,51)] = {28,0xFFFFAD9}, + [I(234,51)] = {31,0x7FFFFB99}, + [I(235,51)] = {31,0x7FFFFBD9}, + [I(236,51)] = {30,0x3FFFFD19}, + [I(237,51)] = {30,0x3FFFFD59}, + [I(238,51)] = {X32,0xFFFFFA99}, + [I(239,51)] = {29,0x1FFFFD19}, + [I(240,51)] = {X32,0xFFFFFAD9}, + [I(241,51)] = {64,0}, + [I(242,51)] = {X32,0xFFFFFB19}, + [I(243,51)] = {X32,0xFFFFFB59}, + [I(244,51)] = {64,0}, + [I(245,51)] = {64,0}, + [I(246,51)] = {64,0}, + [I(247,51)] = {64,0}, + [I(248,51)] = {64,0}, + [I(249,51)] = {64,0}, + [I(250,51)] = {64,0}, + [I(251,51)] = {64,0}, + [I(252,51)] = {64,0}, + [I(253,51)] = {64,0}, + [I(254,51)] = {64,0}, + [I(255,51)] = {X32,0xFFFFFB99}, + [I(0,52)] = {19,0x7FE1A}, + [I(1,52)] = {29,0x1FFFF61A}, + [I(2,52)] = {64,0}, + [I(3,52)] = {64,0}, + [I(4,52)] = {64,0}, + [I(5,52)] = {64,0}, + [I(6,52)] = {64,0}, + [I(7,52)] = {64,0}, + [I(8,52)] = {64,0}, + [I(9,52)] = {30,0x3FFFFA9A}, + [I(10,52)] = {64,0}, + [I(11,52)] = {64,0}, + [I(12,52)] = {64,0}, + [I(13,52)] = {64,0}, + [I(14,52)] = {64,0}, + [I(15,52)] = {64,0}, + [I(16,52)] = {64,0}, + [I(17,52)] = {64,0}, + [I(18,52)] = {64,0}, + [I(19,52)] = {64,0}, + [I(20,52)] = {64,0}, + [I(21,52)] = {64,0}, + [I(22,52)] = {64,0}, + [I(23,52)] = {64,0}, + [I(24,52)] = {64,0}, + [I(25,52)] = {64,0}, + [I(26,52)] = {64,0}, + [I(27,52)] = {64,0}, + [I(28,52)] = {64,0}, + [I(29,52)] = {64,0}, + [I(30,52)] = {64,0}, + [I(31,52)] = {64,0}, + [I(32,52)] = {12,0x51A}, + [I(33,52)] = {16,0xFE1A}, + [I(34,52)] = {16,0xFE5A}, + [I(35,52)] = {18,0x3FE9A}, + [I(36,52)] = {19,0x7FE5A}, + [I(37,52)] = {12,0x55A}, + [I(38,52)] = {14,0x3E1A}, + [I(39,52)] = {17,0x1FE9A}, + [I(40,52)] = {16,0xFE9A}, + [I(41,52)] = {16,0xFEDA}, + [I(42,52)] = {14,0x3E5A}, + [I(43,52)] = {17,0x1FEDA}, + [I(44,52)] = {14,0x3E9A}, + [I(45,52)] = {12,0x59A}, + [I(46,52)] = {12,0x5DA}, + [I(47,52)] = {12,0x61A}, + [I(48,52)] = {11,0x1A}, + [I(49,52)] = {11,0x5A}, + [I(50,52)] = {11,0x9A}, + [I(51,52)] = {12,0x65A}, + [I(52,52)] = {12,0x69A}, + [I(53,52)] = {12,0x6DA}, + [I(54,52)] = {12,0x71A}, + [I(55,52)] = {12,0x75A}, + [I(56,52)] = {12,0x79A}, + [I(57,52)] = {12,0x7DA}, + [I(58,52)] = {13,0x171A}, + [I(59,52)] = {14,0x3EDA}, + [I(60,52)] = {21,0x1FFF1A}, + [I(61,52)] = {12,0x81A}, + [I(62,52)] = {18,0x3FEDA}, + [I(63,52)] = {16,0xFF1A}, + [I(64,52)] = {19,0x7FE9A}, + [I(65,52)] = {12,0x85A}, + [I(66,52)] = {13,0x175A}, + [I(67,52)] = {13,0x179A}, + [I(68,52)] = {13,0x17DA}, + [I(69,52)] = {13,0x181A}, + [I(70,52)] = {13,0x185A}, + [I(71,52)] = {13,0x189A}, + [I(72,52)] = {13,0x18DA}, + [I(73,52)] = {13,0x191A}, + [I(74,52)] = {13,0x195A}, + [I(75,52)] = {13,0x199A}, + [I(76,52)] = {13,0x19DA}, + [I(77,52)] = {13,0x1A1A}, + [I(78,52)] = {13,0x1A5A}, + [I(79,52)] = {13,0x1A9A}, + [I(80,52)] = {13,0x1ADA}, + [I(81,52)] = {13,0x1B1A}, + [I(82,52)] = {13,0x1B5A}, + [I(83,52)] = {13,0x1B9A}, + [I(84,52)] = {13,0x1BDA}, + [I(85,52)] = {13,0x1C1A}, + [I(86,52)] = {13,0x1C5A}, + [I(87,52)] = {13,0x1C9A}, + [I(88,52)] = {14,0x3F1A}, + [I(89,52)] = {13,0x1CDA}, + [I(90,52)] = {14,0x3F5A}, + [I(91,52)] = {19,0x7FEDA}, + [I(92,52)] = {25,0x1FFFC1A}, + [I(93,52)] = {19,0x7FF1A}, + [I(94,52)] = {20,0xFFF1A}, + [I(95,52)] = {12,0x89A}, + [I(96,52)] = {21,0x1FFF5A}, + [I(97,52)] = {11,0xDA}, + [I(98,52)] = {12,0x8DA}, + [I(99,52)] = {11,0x11A}, + [I(100,52)] = {12,0x91A}, + [I(101,52)] = {11,0x15A}, + [I(102,52)] = {12,0x95A}, + [I(103,52)] = {12,0x99A}, + [I(104,52)] = {12,0x9DA}, + [I(105,52)] = {11,0x19A}, + [I(106,52)] = {13,0x1D1A}, + [I(107,52)] = {13,0x1D5A}, + [I(108,52)] = {12,0xA1A}, + [I(109,52)] = {12,0xA5A}, + [I(110,52)] = {12,0xA9A}, + [I(111,52)] = {11,0x1DA}, + [I(112,52)] = {12,0xADA}, + [I(113,52)] = {13,0x1D9A}, + [I(114,52)] = {12,0xB1A}, + [I(115,52)] = {11,0x21A}, + [I(116,52)] = {11,0x25A}, + [I(117,52)] = {12,0xB5A}, + [I(118,52)] = {13,0x1DDA}, + [I(119,52)] = {13,0x1E1A}, + [I(120,52)] = {13,0x1E5A}, + [I(121,52)] = {13,0x1E9A}, + [I(122,52)] = {13,0x1EDA}, + [I(123,52)] = {21,0x1FFF9A}, + [I(124,52)] = {17,0x1FF1A}, + [I(125,52)] = {20,0xFFF5A}, + [I(126,52)] = {19,0x7FF5A}, + [I(127,52)] = {64,0}, + [I(128,52)] = {26,0x3FFF99A}, + [I(129,52)] = {28,0xFFFF49A}, + [I(130,52)] = {26,0x3FFF9DA}, + [I(131,52)] = {26,0x3FFFA1A}, + [I(132,52)] = {28,0xFFFF4DA}, + [I(133,52)] = {28,0xFFFF51A}, + [I(134,52)] = {28,0xFFFF55A}, + [I(135,52)] = {29,0x1FFFF65A}, + [I(136,52)] = {28,0xFFFF59A}, + [I(137,52)] = {29,0x1FFFF69A}, + [I(138,52)] = {29,0x1FFFF6DA}, + [I(139,52)] = {29,0x1FFFF71A}, + [I(140,52)] = {29,0x1FFFF75A}, + [I(141,52)] = {29,0x1FFFF79A}, + [I(142,52)] = {30,0x3FFFFADA}, + [I(143,52)] = {29,0x1FFFF7DA}, + [I(144,52)] = {30,0x3FFFFB1A}, + [I(145,52)] = {30,0x3FFFFB5A}, + [I(146,52)] = {28,0xFFFF5DA}, + [I(147,52)] = {29,0x1FFFF81A}, + [I(148,52)] = {30,0x3FFFFB9A}, + [I(149,52)] = {29,0x1FFFF85A}, + [I(150,52)] = {29,0x1FFFF89A}, + [I(151,52)] = {29,0x1FFFF8DA}, + [I(152,52)] = {29,0x1FFFF91A}, + [I(153,52)] = {27,0x7FFF71A}, + [I(154,52)] = {28,0xFFFF61A}, + [I(155,52)] = {29,0x1FFFF95A}, + [I(156,52)] = {28,0xFFFF65A}, + [I(157,52)] = {29,0x1FFFF99A}, + [I(158,52)] = {29,0x1FFFF9DA}, + [I(159,52)] = {30,0x3FFFFBDA}, + [I(160,52)] = {28,0xFFFF69A}, + [I(161,52)] = {27,0x7FFF75A}, + [I(162,52)] = {26,0x3FFFA5A}, + [I(163,52)] = {28,0xFFFF6DA}, + [I(164,52)] = {28,0xFFFF71A}, + [I(165,52)] = {29,0x1FFFFA1A}, + [I(166,52)] = {29,0x1FFFFA5A}, + [I(167,52)] = {27,0x7FFF79A}, + [I(168,52)] = {29,0x1FFFFA9A}, + [I(169,52)] = {28,0xFFFF75A}, + [I(170,52)] = {28,0xFFFF79A}, + [I(171,52)] = {30,0x3FFFFC1A}, + [I(172,52)] = {27,0x7FFF7DA}, + [I(173,52)] = {28,0xFFFF7DA}, + [I(174,52)] = {29,0x1FFFFADA}, + [I(175,52)] = {29,0x1FFFFB1A}, + [I(176,52)] = {27,0x7FFF81A}, + [I(177,52)] = {27,0x7FFF85A}, + [I(178,52)] = {28,0xFFFF81A}, + [I(179,52)] = {27,0x7FFF89A}, + [I(180,52)] = {29,0x1FFFFB5A}, + [I(181,52)] = {28,0xFFFF85A}, + [I(182,52)] = {29,0x1FFFFB9A}, + [I(183,52)] = {29,0x1FFFFBDA}, + [I(184,52)] = {26,0x3FFFA9A}, + [I(185,52)] = {28,0xFFFF89A}, + [I(186,52)] = {28,0xFFFF8DA}, + [I(187,52)] = {28,0xFFFF91A}, + [I(188,52)] = {29,0x1FFFFC1A}, + [I(189,52)] = {28,0xFFFF95A}, + [I(190,52)] = {28,0xFFFF99A}, + [I(191,52)] = {29,0x1FFFFC5A}, + [I(192,52)] = {X32,0xFFFFF81A}, + [I(193,52)] = {X32,0xFFFFF85A}, + [I(194,52)] = {26,0x3FFFADA}, + [I(195,52)] = {25,0x1FFFC5A}, + [I(196,52)] = {28,0xFFFF9DA}, + [I(197,52)] = {29,0x1FFFFC9A}, + [I(198,52)] = {28,0xFFFFA1A}, + [I(199,52)] = {31,0x7FFFFB1A}, + [I(200,52)] = {X32,0xFFFFF89A}, + [I(201,52)] = {X32,0xFFFFF8DA}, + [I(202,52)] = {X32,0xFFFFF91A}, + [I(203,52)] = {64,0}, + [I(204,52)] = {64,0}, + [I(205,52)] = {X32,0xFFFFF95A}, + [I(206,52)] = {30,0x3FFFFC5A}, + [I(207,52)] = {31,0x7FFFFB5A}, + [I(208,52)] = {25,0x1FFFC9A}, + [I(209,52)] = {27,0x7FFF8DA}, + [I(210,52)] = {X32,0xFFFFF99A}, + [I(211,52)] = {64,0}, + [I(212,52)] = {64,0}, + [I(213,52)] = {X32,0xFFFFF9DA}, + [I(214,52)] = {64,0}, + [I(215,52)] = {30,0x3FFFFC9A}, + [I(216,52)] = {27,0x7FFF91A}, + [I(217,52)] = {27,0x7FFF95A}, + [I(218,52)] = {X32,0xFFFFFA1A}, + [I(219,52)] = {X32,0xFFFFFA5A}, + [I(220,52)] = {64,0}, + [I(221,52)] = {64,0}, + [I(222,52)] = {64,0}, + [I(223,52)] = {64,0}, + [I(224,52)] = {26,0x3FFFB1A}, + [I(225,52)] = {30,0x3FFFFCDA}, + [I(226,52)] = {26,0x3FFFB5A}, + [I(227,52)] = {27,0x7FFF99A}, + [I(228,52)] = {28,0xFFFFA5A}, + [I(229,52)] = {27,0x7FFF9DA}, + [I(230,52)] = {27,0x7FFFA1A}, + [I(231,52)] = {29,0x1FFFFCDA}, + [I(232,52)] = {28,0xFFFFA9A}, + [I(233,52)] = {28,0xFFFFADA}, + [I(234,52)] = {31,0x7FFFFB9A}, + [I(235,52)] = {31,0x7FFFFBDA}, + [I(236,52)] = {30,0x3FFFFD1A}, + [I(237,52)] = {30,0x3FFFFD5A}, + [I(238,52)] = {X32,0xFFFFFA9A}, + [I(239,52)] = {29,0x1FFFFD1A}, + [I(240,52)] = {X32,0xFFFFFADA}, + [I(241,52)] = {64,0}, + [I(242,52)] = {X32,0xFFFFFB1A}, + [I(243,52)] = {X32,0xFFFFFB5A}, + [I(244,52)] = {64,0}, + [I(245,52)] = {64,0}, + [I(246,52)] = {64,0}, + [I(247,52)] = {64,0}, + [I(248,52)] = {64,0}, + [I(249,52)] = {64,0}, + [I(250,52)] = {64,0}, + [I(251,52)] = {64,0}, + [I(252,52)] = {64,0}, + [I(253,52)] = {64,0}, + [I(254,52)] = {64,0}, + [I(255,52)] = {X32,0xFFFFFB9A}, + [I(0,53)] = {19,0x7FE1B}, + [I(1,53)] = {29,0x1FFFF61B}, + [I(2,53)] = {64,0}, + [I(3,53)] = {64,0}, + [I(4,53)] = {64,0}, + [I(5,53)] = {64,0}, + [I(6,53)] = {64,0}, + [I(7,53)] = {64,0}, + [I(8,53)] = {64,0}, + [I(9,53)] = {30,0x3FFFFA9B}, + [I(10,53)] = {64,0}, + [I(11,53)] = {64,0}, + [I(12,53)] = {64,0}, + [I(13,53)] = {64,0}, + [I(14,53)] = {64,0}, + [I(15,53)] = {64,0}, + [I(16,53)] = {64,0}, + [I(17,53)] = {64,0}, + [I(18,53)] = {64,0}, + [I(19,53)] = {64,0}, + [I(20,53)] = {64,0}, + [I(21,53)] = {64,0}, + [I(22,53)] = {64,0}, + [I(23,53)] = {64,0}, + [I(24,53)] = {64,0}, + [I(25,53)] = {64,0}, + [I(26,53)] = {64,0}, + [I(27,53)] = {64,0}, + [I(28,53)] = {64,0}, + [I(29,53)] = {64,0}, + [I(30,53)] = {64,0}, + [I(31,53)] = {64,0}, + [I(32,53)] = {12,0x51B}, + [I(33,53)] = {16,0xFE1B}, + [I(34,53)] = {16,0xFE5B}, + [I(35,53)] = {18,0x3FE9B}, + [I(36,53)] = {19,0x7FE5B}, + [I(37,53)] = {12,0x55B}, + [I(38,53)] = {14,0x3E1B}, + [I(39,53)] = {17,0x1FE9B}, + [I(40,53)] = {16,0xFE9B}, + [I(41,53)] = {16,0xFEDB}, + [I(42,53)] = {14,0x3E5B}, + [I(43,53)] = {17,0x1FEDB}, + [I(44,53)] = {14,0x3E9B}, + [I(45,53)] = {12,0x59B}, + [I(46,53)] = {12,0x5DB}, + [I(47,53)] = {12,0x61B}, + [I(48,53)] = {11,0x1B}, + [I(49,53)] = {11,0x5B}, + [I(50,53)] = {11,0x9B}, + [I(51,53)] = {12,0x65B}, + [I(52,53)] = {12,0x69B}, + [I(53,53)] = {12,0x6DB}, + [I(54,53)] = {12,0x71B}, + [I(55,53)] = {12,0x75B}, + [I(56,53)] = {12,0x79B}, + [I(57,53)] = {12,0x7DB}, + [I(58,53)] = {13,0x171B}, + [I(59,53)] = {14,0x3EDB}, + [I(60,53)] = {21,0x1FFF1B}, + [I(61,53)] = {12,0x81B}, + [I(62,53)] = {18,0x3FEDB}, + [I(63,53)] = {16,0xFF1B}, + [I(64,53)] = {19,0x7FE9B}, + [I(65,53)] = {12,0x85B}, + [I(66,53)] = {13,0x175B}, + [I(67,53)] = {13,0x179B}, + [I(68,53)] = {13,0x17DB}, + [I(69,53)] = {13,0x181B}, + [I(70,53)] = {13,0x185B}, + [I(71,53)] = {13,0x189B}, + [I(72,53)] = {13,0x18DB}, + [I(73,53)] = {13,0x191B}, + [I(74,53)] = {13,0x195B}, + [I(75,53)] = {13,0x199B}, + [I(76,53)] = {13,0x19DB}, + [I(77,53)] = {13,0x1A1B}, + [I(78,53)] = {13,0x1A5B}, + [I(79,53)] = {13,0x1A9B}, + [I(80,53)] = {13,0x1ADB}, + [I(81,53)] = {13,0x1B1B}, + [I(82,53)] = {13,0x1B5B}, + [I(83,53)] = {13,0x1B9B}, + [I(84,53)] = {13,0x1BDB}, + [I(85,53)] = {13,0x1C1B}, + [I(86,53)] = {13,0x1C5B}, + [I(87,53)] = {13,0x1C9B}, + [I(88,53)] = {14,0x3F1B}, + [I(89,53)] = {13,0x1CDB}, + [I(90,53)] = {14,0x3F5B}, + [I(91,53)] = {19,0x7FEDB}, + [I(92,53)] = {25,0x1FFFC1B}, + [I(93,53)] = {19,0x7FF1B}, + [I(94,53)] = {20,0xFFF1B}, + [I(95,53)] = {12,0x89B}, + [I(96,53)] = {21,0x1FFF5B}, + [I(97,53)] = {11,0xDB}, + [I(98,53)] = {12,0x8DB}, + [I(99,53)] = {11,0x11B}, + [I(100,53)] = {12,0x91B}, + [I(101,53)] = {11,0x15B}, + [I(102,53)] = {12,0x95B}, + [I(103,53)] = {12,0x99B}, + [I(104,53)] = {12,0x9DB}, + [I(105,53)] = {11,0x19B}, + [I(106,53)] = {13,0x1D1B}, + [I(107,53)] = {13,0x1D5B}, + [I(108,53)] = {12,0xA1B}, + [I(109,53)] = {12,0xA5B}, + [I(110,53)] = {12,0xA9B}, + [I(111,53)] = {11,0x1DB}, + [I(112,53)] = {12,0xADB}, + [I(113,53)] = {13,0x1D9B}, + [I(114,53)] = {12,0xB1B}, + [I(115,53)] = {11,0x21B}, + [I(116,53)] = {11,0x25B}, + [I(117,53)] = {12,0xB5B}, + [I(118,53)] = {13,0x1DDB}, + [I(119,53)] = {13,0x1E1B}, + [I(120,53)] = {13,0x1E5B}, + [I(121,53)] = {13,0x1E9B}, + [I(122,53)] = {13,0x1EDB}, + [I(123,53)] = {21,0x1FFF9B}, + [I(124,53)] = {17,0x1FF1B}, + [I(125,53)] = {20,0xFFF5B}, + [I(126,53)] = {19,0x7FF5B}, + [I(127,53)] = {64,0}, + [I(128,53)] = {26,0x3FFF99B}, + [I(129,53)] = {28,0xFFFF49B}, + [I(130,53)] = {26,0x3FFF9DB}, + [I(131,53)] = {26,0x3FFFA1B}, + [I(132,53)] = {28,0xFFFF4DB}, + [I(133,53)] = {28,0xFFFF51B}, + [I(134,53)] = {28,0xFFFF55B}, + [I(135,53)] = {29,0x1FFFF65B}, + [I(136,53)] = {28,0xFFFF59B}, + [I(137,53)] = {29,0x1FFFF69B}, + [I(138,53)] = {29,0x1FFFF6DB}, + [I(139,53)] = {29,0x1FFFF71B}, + [I(140,53)] = {29,0x1FFFF75B}, + [I(141,53)] = {29,0x1FFFF79B}, + [I(142,53)] = {30,0x3FFFFADB}, + [I(143,53)] = {29,0x1FFFF7DB}, + [I(144,53)] = {30,0x3FFFFB1B}, + [I(145,53)] = {30,0x3FFFFB5B}, + [I(146,53)] = {28,0xFFFF5DB}, + [I(147,53)] = {29,0x1FFFF81B}, + [I(148,53)] = {30,0x3FFFFB9B}, + [I(149,53)] = {29,0x1FFFF85B}, + [I(150,53)] = {29,0x1FFFF89B}, + [I(151,53)] = {29,0x1FFFF8DB}, + [I(152,53)] = {29,0x1FFFF91B}, + [I(153,53)] = {27,0x7FFF71B}, + [I(154,53)] = {28,0xFFFF61B}, + [I(155,53)] = {29,0x1FFFF95B}, + [I(156,53)] = {28,0xFFFF65B}, + [I(157,53)] = {29,0x1FFFF99B}, + [I(158,53)] = {29,0x1FFFF9DB}, + [I(159,53)] = {30,0x3FFFFBDB}, + [I(160,53)] = {28,0xFFFF69B}, + [I(161,53)] = {27,0x7FFF75B}, + [I(162,53)] = {26,0x3FFFA5B}, + [I(163,53)] = {28,0xFFFF6DB}, + [I(164,53)] = {28,0xFFFF71B}, + [I(165,53)] = {29,0x1FFFFA1B}, + [I(166,53)] = {29,0x1FFFFA5B}, + [I(167,53)] = {27,0x7FFF79B}, + [I(168,53)] = {29,0x1FFFFA9B}, + [I(169,53)] = {28,0xFFFF75B}, + [I(170,53)] = {28,0xFFFF79B}, + [I(171,53)] = {30,0x3FFFFC1B}, + [I(172,53)] = {27,0x7FFF7DB}, + [I(173,53)] = {28,0xFFFF7DB}, + [I(174,53)] = {29,0x1FFFFADB}, + [I(175,53)] = {29,0x1FFFFB1B}, + [I(176,53)] = {27,0x7FFF81B}, + [I(177,53)] = {27,0x7FFF85B}, + [I(178,53)] = {28,0xFFFF81B}, + [I(179,53)] = {27,0x7FFF89B}, + [I(180,53)] = {29,0x1FFFFB5B}, + [I(181,53)] = {28,0xFFFF85B}, + [I(182,53)] = {29,0x1FFFFB9B}, + [I(183,53)] = {29,0x1FFFFBDB}, + [I(184,53)] = {26,0x3FFFA9B}, + [I(185,53)] = {28,0xFFFF89B}, + [I(186,53)] = {28,0xFFFF8DB}, + [I(187,53)] = {28,0xFFFF91B}, + [I(188,53)] = {29,0x1FFFFC1B}, + [I(189,53)] = {28,0xFFFF95B}, + [I(190,53)] = {28,0xFFFF99B}, + [I(191,53)] = {29,0x1FFFFC5B}, + [I(192,53)] = {X32,0xFFFFF81B}, + [I(193,53)] = {X32,0xFFFFF85B}, + [I(194,53)] = {26,0x3FFFADB}, + [I(195,53)] = {25,0x1FFFC5B}, + [I(196,53)] = {28,0xFFFF9DB}, + [I(197,53)] = {29,0x1FFFFC9B}, + [I(198,53)] = {28,0xFFFFA1B}, + [I(199,53)] = {31,0x7FFFFB1B}, + [I(200,53)] = {X32,0xFFFFF89B}, + [I(201,53)] = {X32,0xFFFFF8DB}, + [I(202,53)] = {X32,0xFFFFF91B}, + [I(203,53)] = {64,0}, + [I(204,53)] = {64,0}, + [I(205,53)] = {X32,0xFFFFF95B}, + [I(206,53)] = {30,0x3FFFFC5B}, + [I(207,53)] = {31,0x7FFFFB5B}, + [I(208,53)] = {25,0x1FFFC9B}, + [I(209,53)] = {27,0x7FFF8DB}, + [I(210,53)] = {X32,0xFFFFF99B}, + [I(211,53)] = {64,0}, + [I(212,53)] = {64,0}, + [I(213,53)] = {X32,0xFFFFF9DB}, + [I(214,53)] = {64,0}, + [I(215,53)] = {30,0x3FFFFC9B}, + [I(216,53)] = {27,0x7FFF91B}, + [I(217,53)] = {27,0x7FFF95B}, + [I(218,53)] = {X32,0xFFFFFA1B}, + [I(219,53)] = {X32,0xFFFFFA5B}, + [I(220,53)] = {64,0}, + [I(221,53)] = {64,0}, + [I(222,53)] = {64,0}, + [I(223,53)] = {64,0}, + [I(224,53)] = {26,0x3FFFB1B}, + [I(225,53)] = {30,0x3FFFFCDB}, + [I(226,53)] = {26,0x3FFFB5B}, + [I(227,53)] = {27,0x7FFF99B}, + [I(228,53)] = {28,0xFFFFA5B}, + [I(229,53)] = {27,0x7FFF9DB}, + [I(230,53)] = {27,0x7FFFA1B}, + [I(231,53)] = {29,0x1FFFFCDB}, + [I(232,53)] = {28,0xFFFFA9B}, + [I(233,53)] = {28,0xFFFFADB}, + [I(234,53)] = {31,0x7FFFFB9B}, + [I(235,53)] = {31,0x7FFFFBDB}, + [I(236,53)] = {30,0x3FFFFD1B}, + [I(237,53)] = {30,0x3FFFFD5B}, + [I(238,53)] = {X32,0xFFFFFA9B}, + [I(239,53)] = {29,0x1FFFFD1B}, + [I(240,53)] = {X32,0xFFFFFADB}, + [I(241,53)] = {64,0}, + [I(242,53)] = {X32,0xFFFFFB1B}, + [I(243,53)] = {X32,0xFFFFFB5B}, + [I(244,53)] = {64,0}, + [I(245,53)] = {64,0}, + [I(246,53)] = {64,0}, + [I(247,53)] = {64,0}, + [I(248,53)] = {64,0}, + [I(249,53)] = {64,0}, + [I(250,53)] = {64,0}, + [I(251,53)] = {64,0}, + [I(252,53)] = {64,0}, + [I(253,53)] = {64,0}, + [I(254,53)] = {64,0}, + [I(255,53)] = {X32,0xFFFFFB9B}, + [I(0,54)] = {19,0x7FE1C}, + [I(1,54)] = {29,0x1FFFF61C}, + [I(2,54)] = {64,0}, + [I(3,54)] = {64,0}, + [I(4,54)] = {64,0}, + [I(5,54)] = {64,0}, + [I(6,54)] = {64,0}, + [I(7,54)] = {64,0}, + [I(8,54)] = {64,0}, + [I(9,54)] = {30,0x3FFFFA9C}, + [I(10,54)] = {64,0}, + [I(11,54)] = {64,0}, + [I(12,54)] = {64,0}, + [I(13,54)] = {64,0}, + [I(14,54)] = {64,0}, + [I(15,54)] = {64,0}, + [I(16,54)] = {64,0}, + [I(17,54)] = {64,0}, + [I(18,54)] = {64,0}, + [I(19,54)] = {64,0}, + [I(20,54)] = {64,0}, + [I(21,54)] = {64,0}, + [I(22,54)] = {64,0}, + [I(23,54)] = {64,0}, + [I(24,54)] = {64,0}, + [I(25,54)] = {64,0}, + [I(26,54)] = {64,0}, + [I(27,54)] = {64,0}, + [I(28,54)] = {64,0}, + [I(29,54)] = {64,0}, + [I(30,54)] = {64,0}, + [I(31,54)] = {64,0}, + [I(32,54)] = {12,0x51C}, + [I(33,54)] = {16,0xFE1C}, + [I(34,54)] = {16,0xFE5C}, + [I(35,54)] = {18,0x3FE9C}, + [I(36,54)] = {19,0x7FE5C}, + [I(37,54)] = {12,0x55C}, + [I(38,54)] = {14,0x3E1C}, + [I(39,54)] = {17,0x1FE9C}, + [I(40,54)] = {16,0xFE9C}, + [I(41,54)] = {16,0xFEDC}, + [I(42,54)] = {14,0x3E5C}, + [I(43,54)] = {17,0x1FEDC}, + [I(44,54)] = {14,0x3E9C}, + [I(45,54)] = {12,0x59C}, + [I(46,54)] = {12,0x5DC}, + [I(47,54)] = {12,0x61C}, + [I(48,54)] = {11,0x1C}, + [I(49,54)] = {11,0x5C}, + [I(50,54)] = {11,0x9C}, + [I(51,54)] = {12,0x65C}, + [I(52,54)] = {12,0x69C}, + [I(53,54)] = {12,0x6DC}, + [I(54,54)] = {12,0x71C}, + [I(55,54)] = {12,0x75C}, + [I(56,54)] = {12,0x79C}, + [I(57,54)] = {12,0x7DC}, + [I(58,54)] = {13,0x171C}, + [I(59,54)] = {14,0x3EDC}, + [I(60,54)] = {21,0x1FFF1C}, + [I(61,54)] = {12,0x81C}, + [I(62,54)] = {18,0x3FEDC}, + [I(63,54)] = {16,0xFF1C}, + [I(64,54)] = {19,0x7FE9C}, + [I(65,54)] = {12,0x85C}, + [I(66,54)] = {13,0x175C}, + [I(67,54)] = {13,0x179C}, + [I(68,54)] = {13,0x17DC}, + [I(69,54)] = {13,0x181C}, + [I(70,54)] = {13,0x185C}, + [I(71,54)] = {13,0x189C}, + [I(72,54)] = {13,0x18DC}, + [I(73,54)] = {13,0x191C}, + [I(74,54)] = {13,0x195C}, + [I(75,54)] = {13,0x199C}, + [I(76,54)] = {13,0x19DC}, + [I(77,54)] = {13,0x1A1C}, + [I(78,54)] = {13,0x1A5C}, + [I(79,54)] = {13,0x1A9C}, + [I(80,54)] = {13,0x1ADC}, + [I(81,54)] = {13,0x1B1C}, + [I(82,54)] = {13,0x1B5C}, + [I(83,54)] = {13,0x1B9C}, + [I(84,54)] = {13,0x1BDC}, + [I(85,54)] = {13,0x1C1C}, + [I(86,54)] = {13,0x1C5C}, + [I(87,54)] = {13,0x1C9C}, + [I(88,54)] = {14,0x3F1C}, + [I(89,54)] = {13,0x1CDC}, + [I(90,54)] = {14,0x3F5C}, + [I(91,54)] = {19,0x7FEDC}, + [I(92,54)] = {25,0x1FFFC1C}, + [I(93,54)] = {19,0x7FF1C}, + [I(94,54)] = {20,0xFFF1C}, + [I(95,54)] = {12,0x89C}, + [I(96,54)] = {21,0x1FFF5C}, + [I(97,54)] = {11,0xDC}, + [I(98,54)] = {12,0x8DC}, + [I(99,54)] = {11,0x11C}, + [I(100,54)] = {12,0x91C}, + [I(101,54)] = {11,0x15C}, + [I(102,54)] = {12,0x95C}, + [I(103,54)] = {12,0x99C}, + [I(104,54)] = {12,0x9DC}, + [I(105,54)] = {11,0x19C}, + [I(106,54)] = {13,0x1D1C}, + [I(107,54)] = {13,0x1D5C}, + [I(108,54)] = {12,0xA1C}, + [I(109,54)] = {12,0xA5C}, + [I(110,54)] = {12,0xA9C}, + [I(111,54)] = {11,0x1DC}, + [I(112,54)] = {12,0xADC}, + [I(113,54)] = {13,0x1D9C}, + [I(114,54)] = {12,0xB1C}, + [I(115,54)] = {11,0x21C}, + [I(116,54)] = {11,0x25C}, + [I(117,54)] = {12,0xB5C}, + [I(118,54)] = {13,0x1DDC}, + [I(119,54)] = {13,0x1E1C}, + [I(120,54)] = {13,0x1E5C}, + [I(121,54)] = {13,0x1E9C}, + [I(122,54)] = {13,0x1EDC}, + [I(123,54)] = {21,0x1FFF9C}, + [I(124,54)] = {17,0x1FF1C}, + [I(125,54)] = {20,0xFFF5C}, + [I(126,54)] = {19,0x7FF5C}, + [I(127,54)] = {64,0}, + [I(128,54)] = {26,0x3FFF99C}, + [I(129,54)] = {28,0xFFFF49C}, + [I(130,54)] = {26,0x3FFF9DC}, + [I(131,54)] = {26,0x3FFFA1C}, + [I(132,54)] = {28,0xFFFF4DC}, + [I(133,54)] = {28,0xFFFF51C}, + [I(134,54)] = {28,0xFFFF55C}, + [I(135,54)] = {29,0x1FFFF65C}, + [I(136,54)] = {28,0xFFFF59C}, + [I(137,54)] = {29,0x1FFFF69C}, + [I(138,54)] = {29,0x1FFFF6DC}, + [I(139,54)] = {29,0x1FFFF71C}, + [I(140,54)] = {29,0x1FFFF75C}, + [I(141,54)] = {29,0x1FFFF79C}, + [I(142,54)] = {30,0x3FFFFADC}, + [I(143,54)] = {29,0x1FFFF7DC}, + [I(144,54)] = {30,0x3FFFFB1C}, + [I(145,54)] = {30,0x3FFFFB5C}, + [I(146,54)] = {28,0xFFFF5DC}, + [I(147,54)] = {29,0x1FFFF81C}, + [I(148,54)] = {30,0x3FFFFB9C}, + [I(149,54)] = {29,0x1FFFF85C}, + [I(150,54)] = {29,0x1FFFF89C}, + [I(151,54)] = {29,0x1FFFF8DC}, + [I(152,54)] = {29,0x1FFFF91C}, + [I(153,54)] = {27,0x7FFF71C}, + [I(154,54)] = {28,0xFFFF61C}, + [I(155,54)] = {29,0x1FFFF95C}, + [I(156,54)] = {28,0xFFFF65C}, + [I(157,54)] = {29,0x1FFFF99C}, + [I(158,54)] = {29,0x1FFFF9DC}, + [I(159,54)] = {30,0x3FFFFBDC}, + [I(160,54)] = {28,0xFFFF69C}, + [I(161,54)] = {27,0x7FFF75C}, + [I(162,54)] = {26,0x3FFFA5C}, + [I(163,54)] = {28,0xFFFF6DC}, + [I(164,54)] = {28,0xFFFF71C}, + [I(165,54)] = {29,0x1FFFFA1C}, + [I(166,54)] = {29,0x1FFFFA5C}, + [I(167,54)] = {27,0x7FFF79C}, + [I(168,54)] = {29,0x1FFFFA9C}, + [I(169,54)] = {28,0xFFFF75C}, + [I(170,54)] = {28,0xFFFF79C}, + [I(171,54)] = {30,0x3FFFFC1C}, + [I(172,54)] = {27,0x7FFF7DC}, + [I(173,54)] = {28,0xFFFF7DC}, + [I(174,54)] = {29,0x1FFFFADC}, + [I(175,54)] = {29,0x1FFFFB1C}, + [I(176,54)] = {27,0x7FFF81C}, + [I(177,54)] = {27,0x7FFF85C}, + [I(178,54)] = {28,0xFFFF81C}, + [I(179,54)] = {27,0x7FFF89C}, + [I(180,54)] = {29,0x1FFFFB5C}, + [I(181,54)] = {28,0xFFFF85C}, + [I(182,54)] = {29,0x1FFFFB9C}, + [I(183,54)] = {29,0x1FFFFBDC}, + [I(184,54)] = {26,0x3FFFA9C}, + [I(185,54)] = {28,0xFFFF89C}, + [I(186,54)] = {28,0xFFFF8DC}, + [I(187,54)] = {28,0xFFFF91C}, + [I(188,54)] = {29,0x1FFFFC1C}, + [I(189,54)] = {28,0xFFFF95C}, + [I(190,54)] = {28,0xFFFF99C}, + [I(191,54)] = {29,0x1FFFFC5C}, + [I(192,54)] = {X32,0xFFFFF81C}, + [I(193,54)] = {X32,0xFFFFF85C}, + [I(194,54)] = {26,0x3FFFADC}, + [I(195,54)] = {25,0x1FFFC5C}, + [I(196,54)] = {28,0xFFFF9DC}, + [I(197,54)] = {29,0x1FFFFC9C}, + [I(198,54)] = {28,0xFFFFA1C}, + [I(199,54)] = {31,0x7FFFFB1C}, + [I(200,54)] = {X32,0xFFFFF89C}, + [I(201,54)] = {X32,0xFFFFF8DC}, + [I(202,54)] = {X32,0xFFFFF91C}, + [I(203,54)] = {64,0}, + [I(204,54)] = {64,0}, + [I(205,54)] = {X32,0xFFFFF95C}, + [I(206,54)] = {30,0x3FFFFC5C}, + [I(207,54)] = {31,0x7FFFFB5C}, + [I(208,54)] = {25,0x1FFFC9C}, + [I(209,54)] = {27,0x7FFF8DC}, + [I(210,54)] = {X32,0xFFFFF99C}, + [I(211,54)] = {64,0}, + [I(212,54)] = {64,0}, + [I(213,54)] = {X32,0xFFFFF9DC}, + [I(214,54)] = {64,0}, + [I(215,54)] = {30,0x3FFFFC9C}, + [I(216,54)] = {27,0x7FFF91C}, + [I(217,54)] = {27,0x7FFF95C}, + [I(218,54)] = {X32,0xFFFFFA1C}, + [I(219,54)] = {X32,0xFFFFFA5C}, + [I(220,54)] = {64,0}, + [I(221,54)] = {64,0}, + [I(222,54)] = {64,0}, + [I(223,54)] = {64,0}, + [I(224,54)] = {26,0x3FFFB1C}, + [I(225,54)] = {30,0x3FFFFCDC}, + [I(226,54)] = {26,0x3FFFB5C}, + [I(227,54)] = {27,0x7FFF99C}, + [I(228,54)] = {28,0xFFFFA5C}, + [I(229,54)] = {27,0x7FFF9DC}, + [I(230,54)] = {27,0x7FFFA1C}, + [I(231,54)] = {29,0x1FFFFCDC}, + [I(232,54)] = {28,0xFFFFA9C}, + [I(233,54)] = {28,0xFFFFADC}, + [I(234,54)] = {31,0x7FFFFB9C}, + [I(235,54)] = {31,0x7FFFFBDC}, + [I(236,54)] = {30,0x3FFFFD1C}, + [I(237,54)] = {30,0x3FFFFD5C}, + [I(238,54)] = {X32,0xFFFFFA9C}, + [I(239,54)] = {29,0x1FFFFD1C}, + [I(240,54)] = {X32,0xFFFFFADC}, + [I(241,54)] = {64,0}, + [I(242,54)] = {X32,0xFFFFFB1C}, + [I(243,54)] = {X32,0xFFFFFB5C}, + [I(244,54)] = {64,0}, + [I(245,54)] = {64,0}, + [I(246,54)] = {64,0}, + [I(247,54)] = {64,0}, + [I(248,54)] = {64,0}, + [I(249,54)] = {64,0}, + [I(250,54)] = {64,0}, + [I(251,54)] = {64,0}, + [I(252,54)] = {64,0}, + [I(253,54)] = {64,0}, + [I(254,54)] = {64,0}, + [I(255,54)] = {X32,0xFFFFFB9C}, + [I(0,55)] = {19,0x7FE1D}, + [I(1,55)] = {29,0x1FFFF61D}, + [I(2,55)] = {64,0}, + [I(3,55)] = {64,0}, + [I(4,55)] = {64,0}, + [I(5,55)] = {64,0}, + [I(6,55)] = {64,0}, + [I(7,55)] = {64,0}, + [I(8,55)] = {64,0}, + [I(9,55)] = {30,0x3FFFFA9D}, + [I(10,55)] = {64,0}, + [I(11,55)] = {64,0}, + [I(12,55)] = {64,0}, + [I(13,55)] = {64,0}, + [I(14,55)] = {64,0}, + [I(15,55)] = {64,0}, + [I(16,55)] = {64,0}, + [I(17,55)] = {64,0}, + [I(18,55)] = {64,0}, + [I(19,55)] = {64,0}, + [I(20,55)] = {64,0}, + [I(21,55)] = {64,0}, + [I(22,55)] = {64,0}, + [I(23,55)] = {64,0}, + [I(24,55)] = {64,0}, + [I(25,55)] = {64,0}, + [I(26,55)] = {64,0}, + [I(27,55)] = {64,0}, + [I(28,55)] = {64,0}, + [I(29,55)] = {64,0}, + [I(30,55)] = {64,0}, + [I(31,55)] = {64,0}, + [I(32,55)] = {12,0x51D}, + [I(33,55)] = {16,0xFE1D}, + [I(34,55)] = {16,0xFE5D}, + [I(35,55)] = {18,0x3FE9D}, + [I(36,55)] = {19,0x7FE5D}, + [I(37,55)] = {12,0x55D}, + [I(38,55)] = {14,0x3E1D}, + [I(39,55)] = {17,0x1FE9D}, + [I(40,55)] = {16,0xFE9D}, + [I(41,55)] = {16,0xFEDD}, + [I(42,55)] = {14,0x3E5D}, + [I(43,55)] = {17,0x1FEDD}, + [I(44,55)] = {14,0x3E9D}, + [I(45,55)] = {12,0x59D}, + [I(46,55)] = {12,0x5DD}, + [I(47,55)] = {12,0x61D}, + [I(48,55)] = {11,0x1D}, + [I(49,55)] = {11,0x5D}, + [I(50,55)] = {11,0x9D}, + [I(51,55)] = {12,0x65D}, + [I(52,55)] = {12,0x69D}, + [I(53,55)] = {12,0x6DD}, + [I(54,55)] = {12,0x71D}, + [I(55,55)] = {12,0x75D}, + [I(56,55)] = {12,0x79D}, + [I(57,55)] = {12,0x7DD}, + [I(58,55)] = {13,0x171D}, + [I(59,55)] = {14,0x3EDD}, + [I(60,55)] = {21,0x1FFF1D}, + [I(61,55)] = {12,0x81D}, + [I(62,55)] = {18,0x3FEDD}, + [I(63,55)] = {16,0xFF1D}, + [I(64,55)] = {19,0x7FE9D}, + [I(65,55)] = {12,0x85D}, + [I(66,55)] = {13,0x175D}, + [I(67,55)] = {13,0x179D}, + [I(68,55)] = {13,0x17DD}, + [I(69,55)] = {13,0x181D}, + [I(70,55)] = {13,0x185D}, + [I(71,55)] = {13,0x189D}, + [I(72,55)] = {13,0x18DD}, + [I(73,55)] = {13,0x191D}, + [I(74,55)] = {13,0x195D}, + [I(75,55)] = {13,0x199D}, + [I(76,55)] = {13,0x19DD}, + [I(77,55)] = {13,0x1A1D}, + [I(78,55)] = {13,0x1A5D}, + [I(79,55)] = {13,0x1A9D}, + [I(80,55)] = {13,0x1ADD}, + [I(81,55)] = {13,0x1B1D}, + [I(82,55)] = {13,0x1B5D}, + [I(83,55)] = {13,0x1B9D}, + [I(84,55)] = {13,0x1BDD}, + [I(85,55)] = {13,0x1C1D}, + [I(86,55)] = {13,0x1C5D}, + [I(87,55)] = {13,0x1C9D}, + [I(88,55)] = {14,0x3F1D}, + [I(89,55)] = {13,0x1CDD}, + [I(90,55)] = {14,0x3F5D}, + [I(91,55)] = {19,0x7FEDD}, + [I(92,55)] = {25,0x1FFFC1D}, + [I(93,55)] = {19,0x7FF1D}, + [I(94,55)] = {20,0xFFF1D}, + [I(95,55)] = {12,0x89D}, + [I(96,55)] = {21,0x1FFF5D}, + [I(97,55)] = {11,0xDD}, + [I(98,55)] = {12,0x8DD}, + [I(99,55)] = {11,0x11D}, + [I(100,55)] = {12,0x91D}, + [I(101,55)] = {11,0x15D}, + [I(102,55)] = {12,0x95D}, + [I(103,55)] = {12,0x99D}, + [I(104,55)] = {12,0x9DD}, + [I(105,55)] = {11,0x19D}, + [I(106,55)] = {13,0x1D1D}, + [I(107,55)] = {13,0x1D5D}, + [I(108,55)] = {12,0xA1D}, + [I(109,55)] = {12,0xA5D}, + [I(110,55)] = {12,0xA9D}, + [I(111,55)] = {11,0x1DD}, + [I(112,55)] = {12,0xADD}, + [I(113,55)] = {13,0x1D9D}, + [I(114,55)] = {12,0xB1D}, + [I(115,55)] = {11,0x21D}, + [I(116,55)] = {11,0x25D}, + [I(117,55)] = {12,0xB5D}, + [I(118,55)] = {13,0x1DDD}, + [I(119,55)] = {13,0x1E1D}, + [I(120,55)] = {13,0x1E5D}, + [I(121,55)] = {13,0x1E9D}, + [I(122,55)] = {13,0x1EDD}, + [I(123,55)] = {21,0x1FFF9D}, + [I(124,55)] = {17,0x1FF1D}, + [I(125,55)] = {20,0xFFF5D}, + [I(126,55)] = {19,0x7FF5D}, + [I(127,55)] = {64,0}, + [I(128,55)] = {26,0x3FFF99D}, + [I(129,55)] = {28,0xFFFF49D}, + [I(130,55)] = {26,0x3FFF9DD}, + [I(131,55)] = {26,0x3FFFA1D}, + [I(132,55)] = {28,0xFFFF4DD}, + [I(133,55)] = {28,0xFFFF51D}, + [I(134,55)] = {28,0xFFFF55D}, + [I(135,55)] = {29,0x1FFFF65D}, + [I(136,55)] = {28,0xFFFF59D}, + [I(137,55)] = {29,0x1FFFF69D}, + [I(138,55)] = {29,0x1FFFF6DD}, + [I(139,55)] = {29,0x1FFFF71D}, + [I(140,55)] = {29,0x1FFFF75D}, + [I(141,55)] = {29,0x1FFFF79D}, + [I(142,55)] = {30,0x3FFFFADD}, + [I(143,55)] = {29,0x1FFFF7DD}, + [I(144,55)] = {30,0x3FFFFB1D}, + [I(145,55)] = {30,0x3FFFFB5D}, + [I(146,55)] = {28,0xFFFF5DD}, + [I(147,55)] = {29,0x1FFFF81D}, + [I(148,55)] = {30,0x3FFFFB9D}, + [I(149,55)] = {29,0x1FFFF85D}, + [I(150,55)] = {29,0x1FFFF89D}, + [I(151,55)] = {29,0x1FFFF8DD}, + [I(152,55)] = {29,0x1FFFF91D}, + [I(153,55)] = {27,0x7FFF71D}, + [I(154,55)] = {28,0xFFFF61D}, + [I(155,55)] = {29,0x1FFFF95D}, + [I(156,55)] = {28,0xFFFF65D}, + [I(157,55)] = {29,0x1FFFF99D}, + [I(158,55)] = {29,0x1FFFF9DD}, + [I(159,55)] = {30,0x3FFFFBDD}, + [I(160,55)] = {28,0xFFFF69D}, + [I(161,55)] = {27,0x7FFF75D}, + [I(162,55)] = {26,0x3FFFA5D}, + [I(163,55)] = {28,0xFFFF6DD}, + [I(164,55)] = {28,0xFFFF71D}, + [I(165,55)] = {29,0x1FFFFA1D}, + [I(166,55)] = {29,0x1FFFFA5D}, + [I(167,55)] = {27,0x7FFF79D}, + [I(168,55)] = {29,0x1FFFFA9D}, + [I(169,55)] = {28,0xFFFF75D}, + [I(170,55)] = {28,0xFFFF79D}, + [I(171,55)] = {30,0x3FFFFC1D}, + [I(172,55)] = {27,0x7FFF7DD}, + [I(173,55)] = {28,0xFFFF7DD}, + [I(174,55)] = {29,0x1FFFFADD}, + [I(175,55)] = {29,0x1FFFFB1D}, + [I(176,55)] = {27,0x7FFF81D}, + [I(177,55)] = {27,0x7FFF85D}, + [I(178,55)] = {28,0xFFFF81D}, + [I(179,55)] = {27,0x7FFF89D}, + [I(180,55)] = {29,0x1FFFFB5D}, + [I(181,55)] = {28,0xFFFF85D}, + [I(182,55)] = {29,0x1FFFFB9D}, + [I(183,55)] = {29,0x1FFFFBDD}, + [I(184,55)] = {26,0x3FFFA9D}, + [I(185,55)] = {28,0xFFFF89D}, + [I(186,55)] = {28,0xFFFF8DD}, + [I(187,55)] = {28,0xFFFF91D}, + [I(188,55)] = {29,0x1FFFFC1D}, + [I(189,55)] = {28,0xFFFF95D}, + [I(190,55)] = {28,0xFFFF99D}, + [I(191,55)] = {29,0x1FFFFC5D}, + [I(192,55)] = {X32,0xFFFFF81D}, + [I(193,55)] = {X32,0xFFFFF85D}, + [I(194,55)] = {26,0x3FFFADD}, + [I(195,55)] = {25,0x1FFFC5D}, + [I(196,55)] = {28,0xFFFF9DD}, + [I(197,55)] = {29,0x1FFFFC9D}, + [I(198,55)] = {28,0xFFFFA1D}, + [I(199,55)] = {31,0x7FFFFB1D}, + [I(200,55)] = {X32,0xFFFFF89D}, + [I(201,55)] = {X32,0xFFFFF8DD}, + [I(202,55)] = {X32,0xFFFFF91D}, + [I(203,55)] = {64,0}, + [I(204,55)] = {64,0}, + [I(205,55)] = {X32,0xFFFFF95D}, + [I(206,55)] = {30,0x3FFFFC5D}, + [I(207,55)] = {31,0x7FFFFB5D}, + [I(208,55)] = {25,0x1FFFC9D}, + [I(209,55)] = {27,0x7FFF8DD}, + [I(210,55)] = {X32,0xFFFFF99D}, + [I(211,55)] = {64,0}, + [I(212,55)] = {64,0}, + [I(213,55)] = {X32,0xFFFFF9DD}, + [I(214,55)] = {64,0}, + [I(215,55)] = {30,0x3FFFFC9D}, + [I(216,55)] = {27,0x7FFF91D}, + [I(217,55)] = {27,0x7FFF95D}, + [I(218,55)] = {X32,0xFFFFFA1D}, + [I(219,55)] = {X32,0xFFFFFA5D}, + [I(220,55)] = {64,0}, + [I(221,55)] = {64,0}, + [I(222,55)] = {64,0}, + [I(223,55)] = {64,0}, + [I(224,55)] = {26,0x3FFFB1D}, + [I(225,55)] = {30,0x3FFFFCDD}, + [I(226,55)] = {26,0x3FFFB5D}, + [I(227,55)] = {27,0x7FFF99D}, + [I(228,55)] = {28,0xFFFFA5D}, + [I(229,55)] = {27,0x7FFF9DD}, + [I(230,55)] = {27,0x7FFFA1D}, + [I(231,55)] = {29,0x1FFFFCDD}, + [I(232,55)] = {28,0xFFFFA9D}, + [I(233,55)] = {28,0xFFFFADD}, + [I(234,55)] = {31,0x7FFFFB9D}, + [I(235,55)] = {31,0x7FFFFBDD}, + [I(236,55)] = {30,0x3FFFFD1D}, + [I(237,55)] = {30,0x3FFFFD5D}, + [I(238,55)] = {X32,0xFFFFFA9D}, + [I(239,55)] = {29,0x1FFFFD1D}, + [I(240,55)] = {X32,0xFFFFFADD}, + [I(241,55)] = {64,0}, + [I(242,55)] = {X32,0xFFFFFB1D}, + [I(243,55)] = {X32,0xFFFFFB5D}, + [I(244,55)] = {64,0}, + [I(245,55)] = {64,0}, + [I(246,55)] = {64,0}, + [I(247,55)] = {64,0}, + [I(248,55)] = {64,0}, + [I(249,55)] = {64,0}, + [I(250,55)] = {64,0}, + [I(251,55)] = {64,0}, + [I(252,55)] = {64,0}, + [I(253,55)] = {64,0}, + [I(254,55)] = {64,0}, + [I(255,55)] = {X32,0xFFFFFB9D}, + [I(0,56)] = {19,0x7FE1E}, + [I(1,56)] = {29,0x1FFFF61E}, + [I(2,56)] = {64,0}, + [I(3,56)] = {64,0}, + [I(4,56)] = {64,0}, + [I(5,56)] = {64,0}, + [I(6,56)] = {64,0}, + [I(7,56)] = {64,0}, + [I(8,56)] = {64,0}, + [I(9,56)] = {30,0x3FFFFA9E}, + [I(10,56)] = {64,0}, + [I(11,56)] = {64,0}, + [I(12,56)] = {64,0}, + [I(13,56)] = {64,0}, + [I(14,56)] = {64,0}, + [I(15,56)] = {64,0}, + [I(16,56)] = {64,0}, + [I(17,56)] = {64,0}, + [I(18,56)] = {64,0}, + [I(19,56)] = {64,0}, + [I(20,56)] = {64,0}, + [I(21,56)] = {64,0}, + [I(22,56)] = {64,0}, + [I(23,56)] = {64,0}, + [I(24,56)] = {64,0}, + [I(25,56)] = {64,0}, + [I(26,56)] = {64,0}, + [I(27,56)] = {64,0}, + [I(28,56)] = {64,0}, + [I(29,56)] = {64,0}, + [I(30,56)] = {64,0}, + [I(31,56)] = {64,0}, + [I(32,56)] = {12,0x51E}, + [I(33,56)] = {16,0xFE1E}, + [I(34,56)] = {16,0xFE5E}, + [I(35,56)] = {18,0x3FE9E}, + [I(36,56)] = {19,0x7FE5E}, + [I(37,56)] = {12,0x55E}, + [I(38,56)] = {14,0x3E1E}, + [I(39,56)] = {17,0x1FE9E}, + [I(40,56)] = {16,0xFE9E}, + [I(41,56)] = {16,0xFEDE}, + [I(42,56)] = {14,0x3E5E}, + [I(43,56)] = {17,0x1FEDE}, + [I(44,56)] = {14,0x3E9E}, + [I(45,56)] = {12,0x59E}, + [I(46,56)] = {12,0x5DE}, + [I(47,56)] = {12,0x61E}, + [I(48,56)] = {11,0x1E}, + [I(49,56)] = {11,0x5E}, + [I(50,56)] = {11,0x9E}, + [I(51,56)] = {12,0x65E}, + [I(52,56)] = {12,0x69E}, + [I(53,56)] = {12,0x6DE}, + [I(54,56)] = {12,0x71E}, + [I(55,56)] = {12,0x75E}, + [I(56,56)] = {12,0x79E}, + [I(57,56)] = {12,0x7DE}, + [I(58,56)] = {13,0x171E}, + [I(59,56)] = {14,0x3EDE}, + [I(60,56)] = {21,0x1FFF1E}, + [I(61,56)] = {12,0x81E}, + [I(62,56)] = {18,0x3FEDE}, + [I(63,56)] = {16,0xFF1E}, + [I(64,56)] = {19,0x7FE9E}, + [I(65,56)] = {12,0x85E}, + [I(66,56)] = {13,0x175E}, + [I(67,56)] = {13,0x179E}, + [I(68,56)] = {13,0x17DE}, + [I(69,56)] = {13,0x181E}, + [I(70,56)] = {13,0x185E}, + [I(71,56)] = {13,0x189E}, + [I(72,56)] = {13,0x18DE}, + [I(73,56)] = {13,0x191E}, + [I(74,56)] = {13,0x195E}, + [I(75,56)] = {13,0x199E}, + [I(76,56)] = {13,0x19DE}, + [I(77,56)] = {13,0x1A1E}, + [I(78,56)] = {13,0x1A5E}, + [I(79,56)] = {13,0x1A9E}, + [I(80,56)] = {13,0x1ADE}, + [I(81,56)] = {13,0x1B1E}, + [I(82,56)] = {13,0x1B5E}, + [I(83,56)] = {13,0x1B9E}, + [I(84,56)] = {13,0x1BDE}, + [I(85,56)] = {13,0x1C1E}, + [I(86,56)] = {13,0x1C5E}, + [I(87,56)] = {13,0x1C9E}, + [I(88,56)] = {14,0x3F1E}, + [I(89,56)] = {13,0x1CDE}, + [I(90,56)] = {14,0x3F5E}, + [I(91,56)] = {19,0x7FEDE}, + [I(92,56)] = {25,0x1FFFC1E}, + [I(93,56)] = {19,0x7FF1E}, + [I(94,56)] = {20,0xFFF1E}, + [I(95,56)] = {12,0x89E}, + [I(96,56)] = {21,0x1FFF5E}, + [I(97,56)] = {11,0xDE}, + [I(98,56)] = {12,0x8DE}, + [I(99,56)] = {11,0x11E}, + [I(100,56)] = {12,0x91E}, + [I(101,56)] = {11,0x15E}, + [I(102,56)] = {12,0x95E}, + [I(103,56)] = {12,0x99E}, + [I(104,56)] = {12,0x9DE}, + [I(105,56)] = {11,0x19E}, + [I(106,56)] = {13,0x1D1E}, + [I(107,56)] = {13,0x1D5E}, + [I(108,56)] = {12,0xA1E}, + [I(109,56)] = {12,0xA5E}, + [I(110,56)] = {12,0xA9E}, + [I(111,56)] = {11,0x1DE}, + [I(112,56)] = {12,0xADE}, + [I(113,56)] = {13,0x1D9E}, + [I(114,56)] = {12,0xB1E}, + [I(115,56)] = {11,0x21E}, + [I(116,56)] = {11,0x25E}, + [I(117,56)] = {12,0xB5E}, + [I(118,56)] = {13,0x1DDE}, + [I(119,56)] = {13,0x1E1E}, + [I(120,56)] = {13,0x1E5E}, + [I(121,56)] = {13,0x1E9E}, + [I(122,56)] = {13,0x1EDE}, + [I(123,56)] = {21,0x1FFF9E}, + [I(124,56)] = {17,0x1FF1E}, + [I(125,56)] = {20,0xFFF5E}, + [I(126,56)] = {19,0x7FF5E}, + [I(127,56)] = {64,0}, + [I(128,56)] = {26,0x3FFF99E}, + [I(129,56)] = {28,0xFFFF49E}, + [I(130,56)] = {26,0x3FFF9DE}, + [I(131,56)] = {26,0x3FFFA1E}, + [I(132,56)] = {28,0xFFFF4DE}, + [I(133,56)] = {28,0xFFFF51E}, + [I(134,56)] = {28,0xFFFF55E}, + [I(135,56)] = {29,0x1FFFF65E}, + [I(136,56)] = {28,0xFFFF59E}, + [I(137,56)] = {29,0x1FFFF69E}, + [I(138,56)] = {29,0x1FFFF6DE}, + [I(139,56)] = {29,0x1FFFF71E}, + [I(140,56)] = {29,0x1FFFF75E}, + [I(141,56)] = {29,0x1FFFF79E}, + [I(142,56)] = {30,0x3FFFFADE}, + [I(143,56)] = {29,0x1FFFF7DE}, + [I(144,56)] = {30,0x3FFFFB1E}, + [I(145,56)] = {30,0x3FFFFB5E}, + [I(146,56)] = {28,0xFFFF5DE}, + [I(147,56)] = {29,0x1FFFF81E}, + [I(148,56)] = {30,0x3FFFFB9E}, + [I(149,56)] = {29,0x1FFFF85E}, + [I(150,56)] = {29,0x1FFFF89E}, + [I(151,56)] = {29,0x1FFFF8DE}, + [I(152,56)] = {29,0x1FFFF91E}, + [I(153,56)] = {27,0x7FFF71E}, + [I(154,56)] = {28,0xFFFF61E}, + [I(155,56)] = {29,0x1FFFF95E}, + [I(156,56)] = {28,0xFFFF65E}, + [I(157,56)] = {29,0x1FFFF99E}, + [I(158,56)] = {29,0x1FFFF9DE}, + [I(159,56)] = {30,0x3FFFFBDE}, + [I(160,56)] = {28,0xFFFF69E}, + [I(161,56)] = {27,0x7FFF75E}, + [I(162,56)] = {26,0x3FFFA5E}, + [I(163,56)] = {28,0xFFFF6DE}, + [I(164,56)] = {28,0xFFFF71E}, + [I(165,56)] = {29,0x1FFFFA1E}, + [I(166,56)] = {29,0x1FFFFA5E}, + [I(167,56)] = {27,0x7FFF79E}, + [I(168,56)] = {29,0x1FFFFA9E}, + [I(169,56)] = {28,0xFFFF75E}, + [I(170,56)] = {28,0xFFFF79E}, + [I(171,56)] = {30,0x3FFFFC1E}, + [I(172,56)] = {27,0x7FFF7DE}, + [I(173,56)] = {28,0xFFFF7DE}, + [I(174,56)] = {29,0x1FFFFADE}, + [I(175,56)] = {29,0x1FFFFB1E}, + [I(176,56)] = {27,0x7FFF81E}, + [I(177,56)] = {27,0x7FFF85E}, + [I(178,56)] = {28,0xFFFF81E}, + [I(179,56)] = {27,0x7FFF89E}, + [I(180,56)] = {29,0x1FFFFB5E}, + [I(181,56)] = {28,0xFFFF85E}, + [I(182,56)] = {29,0x1FFFFB9E}, + [I(183,56)] = {29,0x1FFFFBDE}, + [I(184,56)] = {26,0x3FFFA9E}, + [I(185,56)] = {28,0xFFFF89E}, + [I(186,56)] = {28,0xFFFF8DE}, + [I(187,56)] = {28,0xFFFF91E}, + [I(188,56)] = {29,0x1FFFFC1E}, + [I(189,56)] = {28,0xFFFF95E}, + [I(190,56)] = {28,0xFFFF99E}, + [I(191,56)] = {29,0x1FFFFC5E}, + [I(192,56)] = {X32,0xFFFFF81E}, + [I(193,56)] = {X32,0xFFFFF85E}, + [I(194,56)] = {26,0x3FFFADE}, + [I(195,56)] = {25,0x1FFFC5E}, + [I(196,56)] = {28,0xFFFF9DE}, + [I(197,56)] = {29,0x1FFFFC9E}, + [I(198,56)] = {28,0xFFFFA1E}, + [I(199,56)] = {31,0x7FFFFB1E}, + [I(200,56)] = {X32,0xFFFFF89E}, + [I(201,56)] = {X32,0xFFFFF8DE}, + [I(202,56)] = {X32,0xFFFFF91E}, + [I(203,56)] = {64,0}, + [I(204,56)] = {64,0}, + [I(205,56)] = {X32,0xFFFFF95E}, + [I(206,56)] = {30,0x3FFFFC5E}, + [I(207,56)] = {31,0x7FFFFB5E}, + [I(208,56)] = {25,0x1FFFC9E}, + [I(209,56)] = {27,0x7FFF8DE}, + [I(210,56)] = {X32,0xFFFFF99E}, + [I(211,56)] = {64,0}, + [I(212,56)] = {64,0}, + [I(213,56)] = {X32,0xFFFFF9DE}, + [I(214,56)] = {64,0}, + [I(215,56)] = {30,0x3FFFFC9E}, + [I(216,56)] = {27,0x7FFF91E}, + [I(217,56)] = {27,0x7FFF95E}, + [I(218,56)] = {X32,0xFFFFFA1E}, + [I(219,56)] = {X32,0xFFFFFA5E}, + [I(220,56)] = {64,0}, + [I(221,56)] = {64,0}, + [I(222,56)] = {64,0}, + [I(223,56)] = {64,0}, + [I(224,56)] = {26,0x3FFFB1E}, + [I(225,56)] = {30,0x3FFFFCDE}, + [I(226,56)] = {26,0x3FFFB5E}, + [I(227,56)] = {27,0x7FFF99E}, + [I(228,56)] = {28,0xFFFFA5E}, + [I(229,56)] = {27,0x7FFF9DE}, + [I(230,56)] = {27,0x7FFFA1E}, + [I(231,56)] = {29,0x1FFFFCDE}, + [I(232,56)] = {28,0xFFFFA9E}, + [I(233,56)] = {28,0xFFFFADE}, + [I(234,56)] = {31,0x7FFFFB9E}, + [I(235,56)] = {31,0x7FFFFBDE}, + [I(236,56)] = {30,0x3FFFFD1E}, + [I(237,56)] = {30,0x3FFFFD5E}, + [I(238,56)] = {X32,0xFFFFFA9E}, + [I(239,56)] = {29,0x1FFFFD1E}, + [I(240,56)] = {X32,0xFFFFFADE}, + [I(241,56)] = {64,0}, + [I(242,56)] = {X32,0xFFFFFB1E}, + [I(243,56)] = {X32,0xFFFFFB5E}, + [I(244,56)] = {64,0}, + [I(245,56)] = {64,0}, + [I(246,56)] = {64,0}, + [I(247,56)] = {64,0}, + [I(248,56)] = {64,0}, + [I(249,56)] = {64,0}, + [I(250,56)] = {64,0}, + [I(251,56)] = {64,0}, + [I(252,56)] = {64,0}, + [I(253,56)] = {64,0}, + [I(254,56)] = {64,0}, + [I(255,56)] = {X32,0xFFFFFB9E}, + [I(0,57)] = {19,0x7FE1F}, + [I(1,57)] = {29,0x1FFFF61F}, + [I(2,57)] = {64,0}, + [I(3,57)] = {64,0}, + [I(4,57)] = {64,0}, + [I(5,57)] = {64,0}, + [I(6,57)] = {64,0}, + [I(7,57)] = {64,0}, + [I(8,57)] = {64,0}, + [I(9,57)] = {30,0x3FFFFA9F}, + [I(10,57)] = {64,0}, + [I(11,57)] = {64,0}, + [I(12,57)] = {64,0}, + [I(13,57)] = {64,0}, + [I(14,57)] = {64,0}, + [I(15,57)] = {64,0}, + [I(16,57)] = {64,0}, + [I(17,57)] = {64,0}, + [I(18,57)] = {64,0}, + [I(19,57)] = {64,0}, + [I(20,57)] = {64,0}, + [I(21,57)] = {64,0}, + [I(22,57)] = {64,0}, + [I(23,57)] = {64,0}, + [I(24,57)] = {64,0}, + [I(25,57)] = {64,0}, + [I(26,57)] = {64,0}, + [I(27,57)] = {64,0}, + [I(28,57)] = {64,0}, + [I(29,57)] = {64,0}, + [I(30,57)] = {64,0}, + [I(31,57)] = {64,0}, + [I(32,57)] = {12,0x51F}, + [I(33,57)] = {16,0xFE1F}, + [I(34,57)] = {16,0xFE5F}, + [I(35,57)] = {18,0x3FE9F}, + [I(36,57)] = {19,0x7FE5F}, + [I(37,57)] = {12,0x55F}, + [I(38,57)] = {14,0x3E1F}, + [I(39,57)] = {17,0x1FE9F}, + [I(40,57)] = {16,0xFE9F}, + [I(41,57)] = {16,0xFEDF}, + [I(42,57)] = {14,0x3E5F}, + [I(43,57)] = {17,0x1FEDF}, + [I(44,57)] = {14,0x3E9F}, + [I(45,57)] = {12,0x59F}, + [I(46,57)] = {12,0x5DF}, + [I(47,57)] = {12,0x61F}, + [I(48,57)] = {11,0x1F}, + [I(49,57)] = {11,0x5F}, + [I(50,57)] = {11,0x9F}, + [I(51,57)] = {12,0x65F}, + [I(52,57)] = {12,0x69F}, + [I(53,57)] = {12,0x6DF}, + [I(54,57)] = {12,0x71F}, + [I(55,57)] = {12,0x75F}, + [I(56,57)] = {12,0x79F}, + [I(57,57)] = {12,0x7DF}, + [I(58,57)] = {13,0x171F}, + [I(59,57)] = {14,0x3EDF}, + [I(60,57)] = {21,0x1FFF1F}, + [I(61,57)] = {12,0x81F}, + [I(62,57)] = {18,0x3FEDF}, + [I(63,57)] = {16,0xFF1F}, + [I(64,57)] = {19,0x7FE9F}, + [I(65,57)] = {12,0x85F}, + [I(66,57)] = {13,0x175F}, + [I(67,57)] = {13,0x179F}, + [I(68,57)] = {13,0x17DF}, + [I(69,57)] = {13,0x181F}, + [I(70,57)] = {13,0x185F}, + [I(71,57)] = {13,0x189F}, + [I(72,57)] = {13,0x18DF}, + [I(73,57)] = {13,0x191F}, + [I(74,57)] = {13,0x195F}, + [I(75,57)] = {13,0x199F}, + [I(76,57)] = {13,0x19DF}, + [I(77,57)] = {13,0x1A1F}, + [I(78,57)] = {13,0x1A5F}, + [I(79,57)] = {13,0x1A9F}, + [I(80,57)] = {13,0x1ADF}, + [I(81,57)] = {13,0x1B1F}, + [I(82,57)] = {13,0x1B5F}, + [I(83,57)] = {13,0x1B9F}, + [I(84,57)] = {13,0x1BDF}, + [I(85,57)] = {13,0x1C1F}, + [I(86,57)] = {13,0x1C5F}, + [I(87,57)] = {13,0x1C9F}, + [I(88,57)] = {14,0x3F1F}, + [I(89,57)] = {13,0x1CDF}, + [I(90,57)] = {14,0x3F5F}, + [I(91,57)] = {19,0x7FEDF}, + [I(92,57)] = {25,0x1FFFC1F}, + [I(93,57)] = {19,0x7FF1F}, + [I(94,57)] = {20,0xFFF1F}, + [I(95,57)] = {12,0x89F}, + [I(96,57)] = {21,0x1FFF5F}, + [I(97,57)] = {11,0xDF}, + [I(98,57)] = {12,0x8DF}, + [I(99,57)] = {11,0x11F}, + [I(100,57)] = {12,0x91F}, + [I(101,57)] = {11,0x15F}, + [I(102,57)] = {12,0x95F}, + [I(103,57)] = {12,0x99F}, + [I(104,57)] = {12,0x9DF}, + [I(105,57)] = {11,0x19F}, + [I(106,57)] = {13,0x1D1F}, + [I(107,57)] = {13,0x1D5F}, + [I(108,57)] = {12,0xA1F}, + [I(109,57)] = {12,0xA5F}, + [I(110,57)] = {12,0xA9F}, + [I(111,57)] = {11,0x1DF}, + [I(112,57)] = {12,0xADF}, + [I(113,57)] = {13,0x1D9F}, + [I(114,57)] = {12,0xB1F}, + [I(115,57)] = {11,0x21F}, + [I(116,57)] = {11,0x25F}, + [I(117,57)] = {12,0xB5F}, + [I(118,57)] = {13,0x1DDF}, + [I(119,57)] = {13,0x1E1F}, + [I(120,57)] = {13,0x1E5F}, + [I(121,57)] = {13,0x1E9F}, + [I(122,57)] = {13,0x1EDF}, + [I(123,57)] = {21,0x1FFF9F}, + [I(124,57)] = {17,0x1FF1F}, + [I(125,57)] = {20,0xFFF5F}, + [I(126,57)] = {19,0x7FF5F}, + [I(127,57)] = {64,0}, + [I(128,57)] = {26,0x3FFF99F}, + [I(129,57)] = {28,0xFFFF49F}, + [I(130,57)] = {26,0x3FFF9DF}, + [I(131,57)] = {26,0x3FFFA1F}, + [I(132,57)] = {28,0xFFFF4DF}, + [I(133,57)] = {28,0xFFFF51F}, + [I(134,57)] = {28,0xFFFF55F}, + [I(135,57)] = {29,0x1FFFF65F}, + [I(136,57)] = {28,0xFFFF59F}, + [I(137,57)] = {29,0x1FFFF69F}, + [I(138,57)] = {29,0x1FFFF6DF}, + [I(139,57)] = {29,0x1FFFF71F}, + [I(140,57)] = {29,0x1FFFF75F}, + [I(141,57)] = {29,0x1FFFF79F}, + [I(142,57)] = {30,0x3FFFFADF}, + [I(143,57)] = {29,0x1FFFF7DF}, + [I(144,57)] = {30,0x3FFFFB1F}, + [I(145,57)] = {30,0x3FFFFB5F}, + [I(146,57)] = {28,0xFFFF5DF}, + [I(147,57)] = {29,0x1FFFF81F}, + [I(148,57)] = {30,0x3FFFFB9F}, + [I(149,57)] = {29,0x1FFFF85F}, + [I(150,57)] = {29,0x1FFFF89F}, + [I(151,57)] = {29,0x1FFFF8DF}, + [I(152,57)] = {29,0x1FFFF91F}, + [I(153,57)] = {27,0x7FFF71F}, + [I(154,57)] = {28,0xFFFF61F}, + [I(155,57)] = {29,0x1FFFF95F}, + [I(156,57)] = {28,0xFFFF65F}, + [I(157,57)] = {29,0x1FFFF99F}, + [I(158,57)] = {29,0x1FFFF9DF}, + [I(159,57)] = {30,0x3FFFFBDF}, + [I(160,57)] = {28,0xFFFF69F}, + [I(161,57)] = {27,0x7FFF75F}, + [I(162,57)] = {26,0x3FFFA5F}, + [I(163,57)] = {28,0xFFFF6DF}, + [I(164,57)] = {28,0xFFFF71F}, + [I(165,57)] = {29,0x1FFFFA1F}, + [I(166,57)] = {29,0x1FFFFA5F}, + [I(167,57)] = {27,0x7FFF79F}, + [I(168,57)] = {29,0x1FFFFA9F}, + [I(169,57)] = {28,0xFFFF75F}, + [I(170,57)] = {28,0xFFFF79F}, + [I(171,57)] = {30,0x3FFFFC1F}, + [I(172,57)] = {27,0x7FFF7DF}, + [I(173,57)] = {28,0xFFFF7DF}, + [I(174,57)] = {29,0x1FFFFADF}, + [I(175,57)] = {29,0x1FFFFB1F}, + [I(176,57)] = {27,0x7FFF81F}, + [I(177,57)] = {27,0x7FFF85F}, + [I(178,57)] = {28,0xFFFF81F}, + [I(179,57)] = {27,0x7FFF89F}, + [I(180,57)] = {29,0x1FFFFB5F}, + [I(181,57)] = {28,0xFFFF85F}, + [I(182,57)] = {29,0x1FFFFB9F}, + [I(183,57)] = {29,0x1FFFFBDF}, + [I(184,57)] = {26,0x3FFFA9F}, + [I(185,57)] = {28,0xFFFF89F}, + [I(186,57)] = {28,0xFFFF8DF}, + [I(187,57)] = {28,0xFFFF91F}, + [I(188,57)] = {29,0x1FFFFC1F}, + [I(189,57)] = {28,0xFFFF95F}, + [I(190,57)] = {28,0xFFFF99F}, + [I(191,57)] = {29,0x1FFFFC5F}, + [I(192,57)] = {X32,0xFFFFF81F}, + [I(193,57)] = {X32,0xFFFFF85F}, + [I(194,57)] = {26,0x3FFFADF}, + [I(195,57)] = {25,0x1FFFC5F}, + [I(196,57)] = {28,0xFFFF9DF}, + [I(197,57)] = {29,0x1FFFFC9F}, + [I(198,57)] = {28,0xFFFFA1F}, + [I(199,57)] = {31,0x7FFFFB1F}, + [I(200,57)] = {X32,0xFFFFF89F}, + [I(201,57)] = {X32,0xFFFFF8DF}, + [I(202,57)] = {X32,0xFFFFF91F}, + [I(203,57)] = {64,0}, + [I(204,57)] = {64,0}, + [I(205,57)] = {X32,0xFFFFF95F}, + [I(206,57)] = {30,0x3FFFFC5F}, + [I(207,57)] = {31,0x7FFFFB5F}, + [I(208,57)] = {25,0x1FFFC9F}, + [I(209,57)] = {27,0x7FFF8DF}, + [I(210,57)] = {X32,0xFFFFF99F}, + [I(211,57)] = {64,0}, + [I(212,57)] = {64,0}, + [I(213,57)] = {X32,0xFFFFF9DF}, + [I(214,57)] = {64,0}, + [I(215,57)] = {30,0x3FFFFC9F}, + [I(216,57)] = {27,0x7FFF91F}, + [I(217,57)] = {27,0x7FFF95F}, + [I(218,57)] = {X32,0xFFFFFA1F}, + [I(219,57)] = {X32,0xFFFFFA5F}, + [I(220,57)] = {64,0}, + [I(221,57)] = {64,0}, + [I(222,57)] = {64,0}, + [I(223,57)] = {64,0}, + [I(224,57)] = {26,0x3FFFB1F}, + [I(225,57)] = {30,0x3FFFFCDF}, + [I(226,57)] = {26,0x3FFFB5F}, + [I(227,57)] = {27,0x7FFF99F}, + [I(228,57)] = {28,0xFFFFA5F}, + [I(229,57)] = {27,0x7FFF9DF}, + [I(230,57)] = {27,0x7FFFA1F}, + [I(231,57)] = {29,0x1FFFFCDF}, + [I(232,57)] = {28,0xFFFFA9F}, + [I(233,57)] = {28,0xFFFFADF}, + [I(234,57)] = {31,0x7FFFFB9F}, + [I(235,57)] = {31,0x7FFFFBDF}, + [I(236,57)] = {30,0x3FFFFD1F}, + [I(237,57)] = {30,0x3FFFFD5F}, + [I(238,57)] = {X32,0xFFFFFA9F}, + [I(239,57)] = {29,0x1FFFFD1F}, + [I(240,57)] = {X32,0xFFFFFADF}, + [I(241,57)] = {64,0}, + [I(242,57)] = {X32,0xFFFFFB1F}, + [I(243,57)] = {X32,0xFFFFFB5F}, + [I(244,57)] = {64,0}, + [I(245,57)] = {64,0}, + [I(246,57)] = {64,0}, + [I(247,57)] = {64,0}, + [I(248,57)] = {64,0}, + [I(249,57)] = {64,0}, + [I(250,57)] = {64,0}, + [I(251,57)] = {64,0}, + [I(252,57)] = {64,0}, + [I(253,57)] = {64,0}, + [I(254,57)] = {64,0}, + [I(255,57)] = {X32,0xFFFFFB9F}, + [I(0,58)] = {20,0xFFC5C}, + [I(1,58)] = {30,0x3FFFEC5C}, + [I(2,58)] = {64,0}, + [I(3,58)] = {64,0}, + [I(4,58)] = {64,0}, + [I(5,58)] = {64,0}, + [I(6,58)] = {64,0}, + [I(7,58)] = {64,0}, + [I(8,58)] = {64,0}, + [I(9,58)] = {31,0x7FFFF55C}, + [I(10,58)] = {64,0}, + [I(11,58)] = {64,0}, + [I(12,58)] = {64,0}, + [I(13,58)] = {64,0}, + [I(14,58)] = {64,0}, + [I(15,58)] = {64,0}, + [I(16,58)] = {64,0}, + [I(17,58)] = {64,0}, + [I(18,58)] = {64,0}, + [I(19,58)] = {64,0}, + [I(20,58)] = {64,0}, + [I(21,58)] = {64,0}, + [I(22,58)] = {64,0}, + [I(23,58)] = {64,0}, + [I(24,58)] = {64,0}, + [I(25,58)] = {64,0}, + [I(26,58)] = {64,0}, + [I(27,58)] = {64,0}, + [I(28,58)] = {64,0}, + [I(29,58)] = {64,0}, + [I(30,58)] = {64,0}, + [I(31,58)] = {64,0}, + [I(32,58)] = {13,0xA5C}, + [I(33,58)] = {17,0x1FC5C}, + [I(34,58)] = {17,0x1FCDC}, + [I(35,58)] = {19,0x7FD5C}, + [I(36,58)] = {20,0xFFCDC}, + [I(37,58)] = {13,0xADC}, + [I(38,58)] = {15,0x7C5C}, + [I(39,58)] = {18,0x3FD5C}, + [I(40,58)] = {17,0x1FD5C}, + [I(41,58)] = {17,0x1FDDC}, + [I(42,58)] = {15,0x7CDC}, + [I(43,58)] = {18,0x3FDDC}, + [I(44,58)] = {15,0x7D5C}, + [I(45,58)] = {13,0xB5C}, + [I(46,58)] = {13,0xBDC}, + [I(47,58)] = {13,0xC5C}, + [I(48,58)] = {12,0x5C}, + [I(49,58)] = {12,0xDC}, + [I(50,58)] = {12,0x15C}, + [I(51,58)] = {13,0xCDC}, + [I(52,58)] = {13,0xD5C}, + [I(53,58)] = {13,0xDDC}, + [I(54,58)] = {13,0xE5C}, + [I(55,58)] = {13,0xEDC}, + [I(56,58)] = {13,0xF5C}, + [I(57,58)] = {13,0xFDC}, + [I(58,58)] = {14,0x2E5C}, + [I(59,58)] = {15,0x7DDC}, + [I(60,58)] = {22,0x3FFE5C}, + [I(61,58)] = {13,0x105C}, + [I(62,58)] = {19,0x7FDDC}, + [I(63,58)] = {17,0x1FE5C}, + [I(64,58)] = {20,0xFFD5C}, + [I(65,58)] = {13,0x10DC}, + [I(66,58)] = {14,0x2EDC}, + [I(67,58)] = {14,0x2F5C}, + [I(68,58)] = {14,0x2FDC}, + [I(69,58)] = {14,0x305C}, + [I(70,58)] = {14,0x30DC}, + [I(71,58)] = {14,0x315C}, + [I(72,58)] = {14,0x31DC}, + [I(73,58)] = {14,0x325C}, + [I(74,58)] = {14,0x32DC}, + [I(75,58)] = {14,0x335C}, + [I(76,58)] = {14,0x33DC}, + [I(77,58)] = {14,0x345C}, + [I(78,58)] = {14,0x34DC}, + [I(79,58)] = {14,0x355C}, + [I(80,58)] = {14,0x35DC}, + [I(81,58)] = {14,0x365C}, + [I(82,58)] = {14,0x36DC}, + [I(83,58)] = {14,0x375C}, + [I(84,58)] = {14,0x37DC}, + [I(85,58)] = {14,0x385C}, + [I(86,58)] = {14,0x38DC}, + [I(87,58)] = {14,0x395C}, + [I(88,58)] = {15,0x7E5C}, + [I(89,58)] = {14,0x39DC}, + [I(90,58)] = {15,0x7EDC}, + [I(91,58)] = {20,0xFFDDC}, + [I(92,58)] = {26,0x3FFF85C}, + [I(93,58)] = {20,0xFFE5C}, + [I(94,58)] = {21,0x1FFE5C}, + [I(95,58)] = {13,0x115C}, + [I(96,58)] = {22,0x3FFEDC}, + [I(97,58)] = {12,0x1DC}, + [I(98,58)] = {13,0x11DC}, + [I(99,58)] = {12,0x25C}, + [I(100,58)] = {13,0x125C}, + [I(101,58)] = {12,0x2DC}, + [I(102,58)] = {13,0x12DC}, + [I(103,58)] = {13,0x135C}, + [I(104,58)] = {13,0x13DC}, + [I(105,58)] = {12,0x35C}, + [I(106,58)] = {14,0x3A5C}, + [I(107,58)] = {14,0x3ADC}, + [I(108,58)] = {13,0x145C}, + [I(109,58)] = {13,0x14DC}, + [I(110,58)] = {13,0x155C}, + [I(111,58)] = {12,0x3DC}, + [I(112,58)] = {13,0x15DC}, + [I(113,58)] = {14,0x3B5C}, + [I(114,58)] = {13,0x165C}, + [I(115,58)] = {12,0x45C}, + [I(116,58)] = {12,0x4DC}, + [I(117,58)] = {13,0x16DC}, + [I(118,58)] = {14,0x3BDC}, + [I(119,58)] = {14,0x3C5C}, + [I(120,58)] = {14,0x3CDC}, + [I(121,58)] = {14,0x3D5C}, + [I(122,58)] = {14,0x3DDC}, + [I(123,58)] = {22,0x3FFF5C}, + [I(124,58)] = {18,0x3FE5C}, + [I(125,58)] = {21,0x1FFEDC}, + [I(126,58)] = {20,0xFFEDC}, + [I(127,58)] = {64,0}, + [I(128,58)] = {27,0x7FFF35C}, + [I(129,58)] = {29,0x1FFFE95C}, + [I(130,58)] = {27,0x7FFF3DC}, + [I(131,58)] = {27,0x7FFF45C}, + [I(132,58)] = {29,0x1FFFE9DC}, + [I(133,58)] = {29,0x1FFFEA5C}, + [I(134,58)] = {29,0x1FFFEADC}, + [I(135,58)] = {30,0x3FFFECDC}, + [I(136,58)] = {29,0x1FFFEB5C}, + [I(137,58)] = {30,0x3FFFED5C}, + [I(138,58)] = {30,0x3FFFEDDC}, + [I(139,58)] = {30,0x3FFFEE5C}, + [I(140,58)] = {30,0x3FFFEEDC}, + [I(141,58)] = {30,0x3FFFEF5C}, + [I(142,58)] = {31,0x7FFFF5DC}, + [I(143,58)] = {30,0x3FFFEFDC}, + [I(144,58)] = {31,0x7FFFF65C}, + [I(145,58)] = {31,0x7FFFF6DC}, + [I(146,58)] = {29,0x1FFFEBDC}, + [I(147,58)] = {30,0x3FFFF05C}, + [I(148,58)] = {31,0x7FFFF75C}, + [I(149,58)] = {30,0x3FFFF0DC}, + [I(150,58)] = {30,0x3FFFF15C}, + [I(151,58)] = {30,0x3FFFF1DC}, + [I(152,58)] = {30,0x3FFFF25C}, + [I(153,58)] = {28,0xFFFEE5C}, + [I(154,58)] = {29,0x1FFFEC5C}, + [I(155,58)] = {30,0x3FFFF2DC}, + [I(156,58)] = {29,0x1FFFECDC}, + [I(157,58)] = {30,0x3FFFF35C}, + [I(158,58)] = {30,0x3FFFF3DC}, + [I(159,58)] = {31,0x7FFFF7DC}, + [I(160,58)] = {29,0x1FFFED5C}, + [I(161,58)] = {28,0xFFFEEDC}, + [I(162,58)] = {27,0x7FFF4DC}, + [I(163,58)] = {29,0x1FFFEDDC}, + [I(164,58)] = {29,0x1FFFEE5C}, + [I(165,58)] = {30,0x3FFFF45C}, + [I(166,58)] = {30,0x3FFFF4DC}, + [I(167,58)] = {28,0xFFFEF5C}, + [I(168,58)] = {30,0x3FFFF55C}, + [I(169,58)] = {29,0x1FFFEEDC}, + [I(170,58)] = {29,0x1FFFEF5C}, + [I(171,58)] = {31,0x7FFFF85C}, + [I(172,58)] = {28,0xFFFEFDC}, + [I(173,58)] = {29,0x1FFFEFDC}, + [I(174,58)] = {30,0x3FFFF5DC}, + [I(175,58)] = {30,0x3FFFF65C}, + [I(176,58)] = {28,0xFFFF05C}, + [I(177,58)] = {28,0xFFFF0DC}, + [I(178,58)] = {29,0x1FFFF05C}, + [I(179,58)] = {28,0xFFFF15C}, + [I(180,58)] = {30,0x3FFFF6DC}, + [I(181,58)] = {29,0x1FFFF0DC}, + [I(182,58)] = {30,0x3FFFF75C}, + [I(183,58)] = {30,0x3FFFF7DC}, + [I(184,58)] = {27,0x7FFF55C}, + [I(185,58)] = {29,0x1FFFF15C}, + [I(186,58)] = {29,0x1FFFF1DC}, + [I(187,58)] = {29,0x1FFFF25C}, + [I(188,58)] = {30,0x3FFFF85C}, + [I(189,58)] = {29,0x1FFFF2DC}, + [I(190,58)] = {29,0x1FFFF35C}, + [I(191,58)] = {30,0x3FFFF8DC}, + [I(192,58)] = {64,0}, + [I(193,58)] = {64,0}, + [I(194,58)] = {27,0x7FFF5DC}, + [I(195,58)] = {26,0x3FFF8DC}, + [I(196,58)] = {29,0x1FFFF3DC}, + [I(197,58)] = {30,0x3FFFF95C}, + [I(198,58)] = {29,0x1FFFF45C}, + [I(199,58)] = {X32,0xFFFFF65C}, + [I(200,58)] = {64,0}, + [I(201,58)] = {64,0}, + [I(202,58)] = {64,0}, + [I(203,58)] = {64,0}, + [I(204,58)] = {64,0}, + [I(205,58)] = {64,0}, + [I(206,58)] = {31,0x7FFFF8DC}, + [I(207,58)] = {X32,0xFFFFF6DC}, + [I(208,58)] = {26,0x3FFF95C}, + [I(209,58)] = {28,0xFFFF1DC}, + [I(210,58)] = {64,0}, + [I(211,58)] = {64,0}, + [I(212,58)] = {64,0}, + [I(213,58)] = {64,0}, + [I(214,58)] = {64,0}, + [I(215,58)] = {31,0x7FFFF95C}, + [I(216,58)] = {28,0xFFFF25C}, + [I(217,58)] = {28,0xFFFF2DC}, + [I(218,58)] = {64,0}, + [I(219,58)] = {64,0}, + [I(220,58)] = {64,0}, + [I(221,58)] = {64,0}, + [I(222,58)] = {64,0}, + [I(223,58)] = {64,0}, + [I(224,58)] = {27,0x7FFF65C}, + [I(225,58)] = {31,0x7FFFF9DC}, + [I(226,58)] = {27,0x7FFF6DC}, + [I(227,58)] = {28,0xFFFF35C}, + [I(228,58)] = {29,0x1FFFF4DC}, + [I(229,58)] = {28,0xFFFF3DC}, + [I(230,58)] = {28,0xFFFF45C}, + [I(231,58)] = {30,0x3FFFF9DC}, + [I(232,58)] = {29,0x1FFFF55C}, + [I(233,58)] = {29,0x1FFFF5DC}, + [I(234,58)] = {X32,0xFFFFF75C}, + [I(235,58)] = {X32,0xFFFFF7DC}, + [I(236,58)] = {31,0x7FFFFA5C}, + [I(237,58)] = {31,0x7FFFFADC}, + [I(238,58)] = {64,0}, + [I(239,58)] = {30,0x3FFFFA5C}, + [I(240,58)] = {64,0}, + [I(241,58)] = {64,0}, + [I(242,58)] = {64,0}, + [I(243,58)] = {64,0}, + [I(244,58)] = {64,0}, + [I(245,58)] = {64,0}, + [I(246,58)] = {64,0}, + [I(247,58)] = {64,0}, + [I(248,58)] = {64,0}, + [I(249,58)] = {64,0}, + [I(250,58)] = {64,0}, + [I(251,58)] = {64,0}, + [I(252,58)] = {64,0}, + [I(253,58)] = {64,0}, + [I(254,58)] = {64,0}, + [I(255,58)] = {64,0}, + [I(0,59)] = {21,0x1FF8FB}, + [I(1,59)] = {31,0x7FFFD8FB}, + [I(2,59)] = {64,0}, + [I(3,59)] = {64,0}, + [I(4,59)] = {64,0}, + [I(5,59)] = {64,0}, + [I(6,59)] = {64,0}, + [I(7,59)] = {64,0}, + [I(8,59)] = {64,0}, + [I(9,59)] = {X32,0xFFFFEAFB}, + [I(10,59)] = {64,0}, + [I(11,59)] = {64,0}, + [I(12,59)] = {64,0}, + [I(13,59)] = {64,0}, + [I(14,59)] = {64,0}, + [I(15,59)] = {64,0}, + [I(16,59)] = {64,0}, + [I(17,59)] = {64,0}, + [I(18,59)] = {64,0}, + [I(19,59)] = {64,0}, + [I(20,59)] = {64,0}, + [I(21,59)] = {64,0}, + [I(22,59)] = {64,0}, + [I(23,59)] = {64,0}, + [I(24,59)] = {64,0}, + [I(25,59)] = {64,0}, + [I(26,59)] = {64,0}, + [I(27,59)] = {64,0}, + [I(28,59)] = {64,0}, + [I(29,59)] = {64,0}, + [I(30,59)] = {64,0}, + [I(31,59)] = {64,0}, + [I(32,59)] = {14,0x14FB}, + [I(33,59)] = {18,0x3F8FB}, + [I(34,59)] = {18,0x3F9FB}, + [I(35,59)] = {20,0xFFAFB}, + [I(36,59)] = {21,0x1FF9FB}, + [I(37,59)] = {14,0x15FB}, + [I(38,59)] = {16,0xF8FB}, + [I(39,59)] = {19,0x7FAFB}, + [I(40,59)] = {18,0x3FAFB}, + [I(41,59)] = {18,0x3FBFB}, + [I(42,59)] = {16,0xF9FB}, + [I(43,59)] = {19,0x7FBFB}, + [I(44,59)] = {16,0xFAFB}, + [I(45,59)] = {14,0x16FB}, + [I(46,59)] = {14,0x17FB}, + [I(47,59)] = {14,0x18FB}, + [I(48,59)] = {13,0xFB}, + [I(49,59)] = {13,0x1FB}, + [I(50,59)] = {13,0x2FB}, + [I(51,59)] = {14,0x19FB}, + [I(52,59)] = {14,0x1AFB}, + [I(53,59)] = {14,0x1BFB}, + [I(54,59)] = {14,0x1CFB}, + [I(55,59)] = {14,0x1DFB}, + [I(56,59)] = {14,0x1EFB}, + [I(57,59)] = {14,0x1FFB}, + [I(58,59)] = {15,0x5CFB}, + [I(59,59)] = {16,0xFBFB}, + [I(60,59)] = {23,0x7FFCFB}, + [I(61,59)] = {14,0x20FB}, + [I(62,59)] = {20,0xFFBFB}, + [I(63,59)] = {18,0x3FCFB}, + [I(64,59)] = {21,0x1FFAFB}, + [I(65,59)] = {14,0x21FB}, + [I(66,59)] = {15,0x5DFB}, + [I(67,59)] = {15,0x5EFB}, + [I(68,59)] = {15,0x5FFB}, + [I(69,59)] = {15,0x60FB}, + [I(70,59)] = {15,0x61FB}, + [I(71,59)] = {15,0x62FB}, + [I(72,59)] = {15,0x63FB}, + [I(73,59)] = {15,0x64FB}, + [I(74,59)] = {15,0x65FB}, + [I(75,59)] = {15,0x66FB}, + [I(76,59)] = {15,0x67FB}, + [I(77,59)] = {15,0x68FB}, + [I(78,59)] = {15,0x69FB}, + [I(79,59)] = {15,0x6AFB}, + [I(80,59)] = {15,0x6BFB}, + [I(81,59)] = {15,0x6CFB}, + [I(82,59)] = {15,0x6DFB}, + [I(83,59)] = {15,0x6EFB}, + [I(84,59)] = {15,0x6FFB}, + [I(85,59)] = {15,0x70FB}, + [I(86,59)] = {15,0x71FB}, + [I(87,59)] = {15,0x72FB}, + [I(88,59)] = {16,0xFCFB}, + [I(89,59)] = {15,0x73FB}, + [I(90,59)] = {16,0xFDFB}, + [I(91,59)] = {21,0x1FFBFB}, + [I(92,59)] = {27,0x7FFF0FB}, + [I(93,59)] = {21,0x1FFCFB}, + [I(94,59)] = {22,0x3FFCFB}, + [I(95,59)] = {14,0x22FB}, + [I(96,59)] = {23,0x7FFDFB}, + [I(97,59)] = {13,0x3FB}, + [I(98,59)] = {14,0x23FB}, + [I(99,59)] = {13,0x4FB}, + [I(100,59)] = {14,0x24FB}, + [I(101,59)] = {13,0x5FB}, + [I(102,59)] = {14,0x25FB}, + [I(103,59)] = {14,0x26FB}, + [I(104,59)] = {14,0x27FB}, + [I(105,59)] = {13,0x6FB}, + [I(106,59)] = {15,0x74FB}, + [I(107,59)] = {15,0x75FB}, + [I(108,59)] = {14,0x28FB}, + [I(109,59)] = {14,0x29FB}, + [I(110,59)] = {14,0x2AFB}, + [I(111,59)] = {13,0x7FB}, + [I(112,59)] = {14,0x2BFB}, + [I(113,59)] = {15,0x76FB}, + [I(114,59)] = {14,0x2CFB}, + [I(115,59)] = {13,0x8FB}, + [I(116,59)] = {13,0x9FB}, + [I(117,59)] = {14,0x2DFB}, + [I(118,59)] = {15,0x77FB}, + [I(119,59)] = {15,0x78FB}, + [I(120,59)] = {15,0x79FB}, + [I(121,59)] = {15,0x7AFB}, + [I(122,59)] = {15,0x7BFB}, + [I(123,59)] = {23,0x7FFEFB}, + [I(124,59)] = {19,0x7FCFB}, + [I(125,59)] = {22,0x3FFDFB}, + [I(126,59)] = {21,0x1FFDFB}, + [I(127,59)] = {64,0}, + [I(128,59)] = {28,0xFFFE6FB}, + [I(129,59)] = {30,0x3FFFD2FB}, + [I(130,59)] = {28,0xFFFE7FB}, + [I(131,59)] = {28,0xFFFE8FB}, + [I(132,59)] = {30,0x3FFFD3FB}, + [I(133,59)] = {30,0x3FFFD4FB}, + [I(134,59)] = {30,0x3FFFD5FB}, + [I(135,59)] = {31,0x7FFFD9FB}, + [I(136,59)] = {30,0x3FFFD6FB}, + [I(137,59)] = {31,0x7FFFDAFB}, + [I(138,59)] = {31,0x7FFFDBFB}, + [I(139,59)] = {31,0x7FFFDCFB}, + [I(140,59)] = {31,0x7FFFDDFB}, + [I(141,59)] = {31,0x7FFFDEFB}, + [I(142,59)] = {X32,0xFFFFEBFB}, + [I(143,59)] = {31,0x7FFFDFFB}, + [I(144,59)] = {X32,0xFFFFECFB}, + [I(145,59)] = {X32,0xFFFFEDFB}, + [I(146,59)] = {30,0x3FFFD7FB}, + [I(147,59)] = {31,0x7FFFE0FB}, + [I(148,59)] = {X32,0xFFFFEEFB}, + [I(149,59)] = {31,0x7FFFE1FB}, + [I(150,59)] = {31,0x7FFFE2FB}, + [I(151,59)] = {31,0x7FFFE3FB}, + [I(152,59)] = {31,0x7FFFE4FB}, + [I(153,59)] = {29,0x1FFFDCFB}, + [I(154,59)] = {30,0x3FFFD8FB}, + [I(155,59)] = {31,0x7FFFE5FB}, + [I(156,59)] = {30,0x3FFFD9FB}, + [I(157,59)] = {31,0x7FFFE6FB}, + [I(158,59)] = {31,0x7FFFE7FB}, + [I(159,59)] = {X32,0xFFFFEFFB}, + [I(160,59)] = {30,0x3FFFDAFB}, + [I(161,59)] = {29,0x1FFFDDFB}, + [I(162,59)] = {28,0xFFFE9FB}, + [I(163,59)] = {30,0x3FFFDBFB}, + [I(164,59)] = {30,0x3FFFDCFB}, + [I(165,59)] = {31,0x7FFFE8FB}, + [I(166,59)] = {31,0x7FFFE9FB}, + [I(167,59)] = {29,0x1FFFDEFB}, + [I(168,59)] = {31,0x7FFFEAFB}, + [I(169,59)] = {30,0x3FFFDDFB}, + [I(170,59)] = {30,0x3FFFDEFB}, + [I(171,59)] = {X32,0xFFFFF0FB}, + [I(172,59)] = {29,0x1FFFDFFB}, + [I(173,59)] = {30,0x3FFFDFFB}, + [I(174,59)] = {31,0x7FFFEBFB}, + [I(175,59)] = {31,0x7FFFECFB}, + [I(176,59)] = {29,0x1FFFE0FB}, + [I(177,59)] = {29,0x1FFFE1FB}, + [I(178,59)] = {30,0x3FFFE0FB}, + [I(179,59)] = {29,0x1FFFE2FB}, + [I(180,59)] = {31,0x7FFFEDFB}, + [I(181,59)] = {30,0x3FFFE1FB}, + [I(182,59)] = {31,0x7FFFEEFB}, + [I(183,59)] = {31,0x7FFFEFFB}, + [I(184,59)] = {28,0xFFFEAFB}, + [I(185,59)] = {30,0x3FFFE2FB}, + [I(186,59)] = {30,0x3FFFE3FB}, + [I(187,59)] = {30,0x3FFFE4FB}, + [I(188,59)] = {31,0x7FFFF0FB}, + [I(189,59)] = {30,0x3FFFE5FB}, + [I(190,59)] = {30,0x3FFFE6FB}, + [I(191,59)] = {31,0x7FFFF1FB}, + [I(192,59)] = {64,0}, + [I(193,59)] = {64,0}, + [I(194,59)] = {28,0xFFFEBFB}, + [I(195,59)] = {27,0x7FFF1FB}, + [I(196,59)] = {30,0x3FFFE7FB}, + [I(197,59)] = {31,0x7FFFF2FB}, + [I(198,59)] = {30,0x3FFFE8FB}, + [I(199,59)] = {64,0}, + [I(200,59)] = {64,0}, + [I(201,59)] = {64,0}, + [I(202,59)] = {64,0}, + [I(203,59)] = {64,0}, + [I(204,59)] = {64,0}, + [I(205,59)] = {64,0}, + [I(206,59)] = {X32,0xFFFFF1FB}, + [I(207,59)] = {64,0}, + [I(208,59)] = {27,0x7FFF2FB}, + [I(209,59)] = {29,0x1FFFE3FB}, + [I(210,59)] = {64,0}, + [I(211,59)] = {64,0}, + [I(212,59)] = {64,0}, + [I(213,59)] = {64,0}, + [I(214,59)] = {64,0}, + [I(215,59)] = {X32,0xFFFFF2FB}, + [I(216,59)] = {29,0x1FFFE4FB}, + [I(217,59)] = {29,0x1FFFE5FB}, + [I(218,59)] = {64,0}, + [I(219,59)] = {64,0}, + [I(220,59)] = {64,0}, + [I(221,59)] = {64,0}, + [I(222,59)] = {64,0}, + [I(223,59)] = {64,0}, + [I(224,59)] = {28,0xFFFECFB}, + [I(225,59)] = {X32,0xFFFFF3FB}, + [I(226,59)] = {28,0xFFFEDFB}, + [I(227,59)] = {29,0x1FFFE6FB}, + [I(228,59)] = {30,0x3FFFE9FB}, + [I(229,59)] = {29,0x1FFFE7FB}, + [I(230,59)] = {29,0x1FFFE8FB}, + [I(231,59)] = {31,0x7FFFF3FB}, + [I(232,59)] = {30,0x3FFFEAFB}, + [I(233,59)] = {30,0x3FFFEBFB}, + [I(234,59)] = {64,0}, + [I(235,59)] = {64,0}, + [I(236,59)] = {X32,0xFFFFF4FB}, + [I(237,59)] = {X32,0xFFFFF5FB}, + [I(238,59)] = {64,0}, + [I(239,59)] = {31,0x7FFFF4FB}, + [I(240,59)] = {64,0}, + [I(241,59)] = {64,0}, + [I(242,59)] = {64,0}, + [I(243,59)] = {64,0}, + [I(244,59)] = {64,0}, + [I(245,59)] = {64,0}, + [I(246,59)] = {64,0}, + [I(247,59)] = {64,0}, + [I(248,59)] = {64,0}, + [I(249,59)] = {64,0}, + [I(250,59)] = {64,0}, + [I(251,59)] = {64,0}, + [I(252,59)] = {64,0}, + [I(253,59)] = {64,0}, + [I(254,59)] = {64,0}, + [I(255,59)] = {64,0}, + [I(0,60)] = {28,0xFFC7FFC}, + [I(1,60)] = {64,0}, + [I(2,60)] = {64,0}, + [I(3,60)] = {64,0}, + [I(4,60)] = {64,0}, + [I(5,60)] = {64,0}, + [I(6,60)] = {64,0}, + [I(7,60)] = {64,0}, + [I(8,60)] = {64,0}, + [I(9,60)] = {64,0}, + [I(10,60)] = {64,0}, + [I(11,60)] = {64,0}, + [I(12,60)] = {64,0}, + [I(13,60)] = {64,0}, + [I(14,60)] = {64,0}, + [I(15,60)] = {64,0}, + [I(16,60)] = {64,0}, + [I(17,60)] = {64,0}, + [I(18,60)] = {64,0}, + [I(19,60)] = {64,0}, + [I(20,60)] = {64,0}, + [I(21,60)] = {64,0}, + [I(22,60)] = {64,0}, + [I(23,60)] = {64,0}, + [I(24,60)] = {64,0}, + [I(25,60)] = {64,0}, + [I(26,60)] = {64,0}, + [I(27,60)] = {64,0}, + [I(28,60)] = {64,0}, + [I(29,60)] = {64,0}, + [I(30,60)] = {64,0}, + [I(31,60)] = {64,0}, + [I(32,60)] = {21,0xA7FFC}, + [I(33,60)] = {25,0x1FC7FFC}, + [I(34,60)] = {25,0x1FCFFFC}, + [I(35,60)] = {27,0x7FD7FFC}, + [I(36,60)] = {28,0xFFCFFFC}, + [I(37,60)] = {21,0xAFFFC}, + [I(38,60)] = {23,0x7C7FFC}, + [I(39,60)] = {26,0x3FD7FFC}, + [I(40,60)] = {25,0x1FD7FFC}, + [I(41,60)] = {25,0x1FDFFFC}, + [I(42,60)] = {23,0x7CFFFC}, + [I(43,60)] = {26,0x3FDFFFC}, + [I(44,60)] = {23,0x7D7FFC}, + [I(45,60)] = {21,0xB7FFC}, + [I(46,60)] = {21,0xBFFFC}, + [I(47,60)] = {21,0xC7FFC}, + [I(48,60)] = {20,0x7FFC}, + [I(49,60)] = {20,0xFFFC}, + [I(50,60)] = {20,0x17FFC}, + [I(51,60)] = {21,0xCFFFC}, + [I(52,60)] = {21,0xD7FFC}, + [I(53,60)] = {21,0xDFFFC}, + [I(54,60)] = {21,0xE7FFC}, + [I(55,60)] = {21,0xEFFFC}, + [I(56,60)] = {21,0xF7FFC}, + [I(57,60)] = {21,0xFFFFC}, + [I(58,60)] = {22,0x2E7FFC}, + [I(59,60)] = {23,0x7DFFFC}, + [I(60,60)] = {30,0x3FFE7FFC}, + [I(61,60)] = {21,0x107FFC}, + [I(62,60)] = {27,0x7FDFFFC}, + [I(63,60)] = {25,0x1FE7FFC}, + [I(64,60)] = {28,0xFFD7FFC}, + [I(65,60)] = {21,0x10FFFC}, + [I(66,60)] = {22,0x2EFFFC}, + [I(67,60)] = {22,0x2F7FFC}, + [I(68,60)] = {22,0x2FFFFC}, + [I(69,60)] = {22,0x307FFC}, + [I(70,60)] = {22,0x30FFFC}, + [I(71,60)] = {22,0x317FFC}, + [I(72,60)] = {22,0x31FFFC}, + [I(73,60)] = {22,0x327FFC}, + [I(74,60)] = {22,0x32FFFC}, + [I(75,60)] = {22,0x337FFC}, + [I(76,60)] = {22,0x33FFFC}, + [I(77,60)] = {22,0x347FFC}, + [I(78,60)] = {22,0x34FFFC}, + [I(79,60)] = {22,0x357FFC}, + [I(80,60)] = {22,0x35FFFC}, + [I(81,60)] = {22,0x367FFC}, + [I(82,60)] = {22,0x36FFFC}, + [I(83,60)] = {22,0x377FFC}, + [I(84,60)] = {22,0x37FFFC}, + [I(85,60)] = {22,0x387FFC}, + [I(86,60)] = {22,0x38FFFC}, + [I(87,60)] = {22,0x397FFC}, + [I(88,60)] = {23,0x7E7FFC}, + [I(89,60)] = {22,0x39FFFC}, + [I(90,60)] = {23,0x7EFFFC}, + [I(91,60)] = {28,0xFFDFFFC}, + [I(92,60)] = {64,0}, + [I(93,60)] = {28,0xFFE7FFC}, + [I(94,60)] = {29,0x1FFE7FFC}, + [I(95,60)] = {21,0x117FFC}, + [I(96,60)] = {30,0x3FFEFFFC}, + [I(97,60)] = {20,0x1FFFC}, + [I(98,60)] = {21,0x11FFFC}, + [I(99,60)] = {20,0x27FFC}, + [I(100,60)] = {21,0x127FFC}, + [I(101,60)] = {20,0x2FFFC}, + [I(102,60)] = {21,0x12FFFC}, + [I(103,60)] = {21,0x137FFC}, + [I(104,60)] = {21,0x13FFFC}, + [I(105,60)] = {20,0x37FFC}, + [I(106,60)] = {22,0x3A7FFC}, + [I(107,60)] = {22,0x3AFFFC}, + [I(108,60)] = {21,0x147FFC}, + [I(109,60)] = {21,0x14FFFC}, + [I(110,60)] = {21,0x157FFC}, + [I(111,60)] = {20,0x3FFFC}, + [I(112,60)] = {21,0x15FFFC}, + [I(113,60)] = {22,0x3B7FFC}, + [I(114,60)] = {21,0x167FFC}, + [I(115,60)] = {20,0x47FFC}, + [I(116,60)] = {20,0x4FFFC}, + [I(117,60)] = {21,0x16FFFC}, + [I(118,60)] = {22,0x3BFFFC}, + [I(119,60)] = {22,0x3C7FFC}, + [I(120,60)] = {22,0x3CFFFC}, + [I(121,60)] = {22,0x3D7FFC}, + [I(122,60)] = {22,0x3DFFFC}, + [I(123,60)] = {30,0x3FFF7FFC}, + [I(124,60)] = {26,0x3FE7FFC}, + [I(125,60)] = {29,0x1FFEFFFC}, + [I(126,60)] = {28,0xFFEFFFC}, + [I(127,60)] = {64,0}, + [I(128,60)] = {64,0}, + [I(129,60)] = {64,0}, + [I(130,60)] = {64,0}, + [I(131,60)] = {64,0}, + [I(132,60)] = {64,0}, + [I(133,60)] = {64,0}, + [I(134,60)] = {64,0}, + [I(135,60)] = {64,0}, + [I(136,60)] = {64,0}, + [I(137,60)] = {64,0}, + [I(138,60)] = {64,0}, + [I(139,60)] = {64,0}, + [I(140,60)] = {64,0}, + [I(141,60)] = {64,0}, + [I(142,60)] = {64,0}, + [I(143,60)] = {64,0}, + [I(144,60)] = {64,0}, + [I(145,60)] = {64,0}, + [I(146,60)] = {64,0}, + [I(147,60)] = {64,0}, + [I(148,60)] = {64,0}, + [I(149,60)] = {64,0}, + [I(150,60)] = {64,0}, + [I(151,60)] = {64,0}, + [I(152,60)] = {64,0}, + [I(153,60)] = {64,0}, + [I(154,60)] = {64,0}, + [I(155,60)] = {64,0}, + [I(156,60)] = {64,0}, + [I(157,60)] = {64,0}, + [I(158,60)] = {64,0}, + [I(159,60)] = {64,0}, + [I(160,60)] = {64,0}, + [I(161,60)] = {64,0}, + [I(162,60)] = {64,0}, + [I(163,60)] = {64,0}, + [I(164,60)] = {64,0}, + [I(165,60)] = {64,0}, + [I(166,60)] = {64,0}, + [I(167,60)] = {64,0}, + [I(168,60)] = {64,0}, + [I(169,60)] = {64,0}, + [I(170,60)] = {64,0}, + [I(171,60)] = {64,0}, + [I(172,60)] = {64,0}, + [I(173,60)] = {64,0}, + [I(174,60)] = {64,0}, + [I(175,60)] = {64,0}, + [I(176,60)] = {64,0}, + [I(177,60)] = {64,0}, + [I(178,60)] = {64,0}, + [I(179,60)] = {64,0}, + [I(180,60)] = {64,0}, + [I(181,60)] = {64,0}, + [I(182,60)] = {64,0}, + [I(183,60)] = {64,0}, + [I(184,60)] = {64,0}, + [I(185,60)] = {64,0}, + [I(186,60)] = {64,0}, + [I(187,60)] = {64,0}, + [I(188,60)] = {64,0}, + [I(189,60)] = {64,0}, + [I(190,60)] = {64,0}, + [I(191,60)] = {64,0}, + [I(192,60)] = {64,0}, + [I(193,60)] = {64,0}, + [I(194,60)] = {64,0}, + [I(195,60)] = {64,0}, + [I(196,60)] = {64,0}, + [I(197,60)] = {64,0}, + [I(198,60)] = {64,0}, + [I(199,60)] = {64,0}, + [I(200,60)] = {64,0}, + [I(201,60)] = {64,0}, + [I(202,60)] = {64,0}, + [I(203,60)] = {64,0}, + [I(204,60)] = {64,0}, + [I(205,60)] = {64,0}, + [I(206,60)] = {64,0}, + [I(207,60)] = {64,0}, + [I(208,60)] = {64,0}, + [I(209,60)] = {64,0}, + [I(210,60)] = {64,0}, + [I(211,60)] = {64,0}, + [I(212,60)] = {64,0}, + [I(213,60)] = {64,0}, + [I(214,60)] = {64,0}, + [I(215,60)] = {64,0}, + [I(216,60)] = {64,0}, + [I(217,60)] = {64,0}, + [I(218,60)] = {64,0}, + [I(219,60)] = {64,0}, + [I(220,60)] = {64,0}, + [I(221,60)] = {64,0}, + [I(222,60)] = {64,0}, + [I(223,60)] = {64,0}, + [I(224,60)] = {64,0}, + [I(225,60)] = {64,0}, + [I(226,60)] = {64,0}, + [I(227,60)] = {64,0}, + [I(228,60)] = {64,0}, + [I(229,60)] = {64,0}, + [I(230,60)] = {64,0}, + [I(231,60)] = {64,0}, + [I(232,60)] = {64,0}, + [I(233,60)] = {64,0}, + [I(234,60)] = {64,0}, + [I(235,60)] = {64,0}, + [I(236,60)] = {64,0}, + [I(237,60)] = {64,0}, + [I(238,60)] = {64,0}, + [I(239,60)] = {64,0}, + [I(240,60)] = {64,0}, + [I(241,60)] = {64,0}, + [I(242,60)] = {64,0}, + [I(243,60)] = {64,0}, + [I(244,60)] = {64,0}, + [I(245,60)] = {64,0}, + [I(246,60)] = {64,0}, + [I(247,60)] = {64,0}, + [I(248,60)] = {64,0}, + [I(249,60)] = {64,0}, + [I(250,60)] = {64,0}, + [I(251,60)] = {64,0}, + [I(252,60)] = {64,0}, + [I(253,60)] = {64,0}, + [I(254,60)] = {64,0}, + [I(255,60)] = {64,0}, + [I(0,61)] = {19,0x7FE20}, + [I(1,61)] = {29,0x1FFFF620}, + [I(2,61)] = {64,0}, + [I(3,61)] = {64,0}, + [I(4,61)] = {64,0}, + [I(5,61)] = {64,0}, + [I(6,61)] = {64,0}, + [I(7,61)] = {64,0}, + [I(8,61)] = {64,0}, + [I(9,61)] = {30,0x3FFFFAA0}, + [I(10,61)] = {64,0}, + [I(11,61)] = {64,0}, + [I(12,61)] = {64,0}, + [I(13,61)] = {64,0}, + [I(14,61)] = {64,0}, + [I(15,61)] = {64,0}, + [I(16,61)] = {64,0}, + [I(17,61)] = {64,0}, + [I(18,61)] = {64,0}, + [I(19,61)] = {64,0}, + [I(20,61)] = {64,0}, + [I(21,61)] = {64,0}, + [I(22,61)] = {64,0}, + [I(23,61)] = {64,0}, + [I(24,61)] = {64,0}, + [I(25,61)] = {64,0}, + [I(26,61)] = {64,0}, + [I(27,61)] = {64,0}, + [I(28,61)] = {64,0}, + [I(29,61)] = {64,0}, + [I(30,61)] = {64,0}, + [I(31,61)] = {64,0}, + [I(32,61)] = {12,0x520}, + [I(33,61)] = {16,0xFE20}, + [I(34,61)] = {16,0xFE60}, + [I(35,61)] = {18,0x3FEA0}, + [I(36,61)] = {19,0x7FE60}, + [I(37,61)] = {12,0x560}, + [I(38,61)] = {14,0x3E20}, + [I(39,61)] = {17,0x1FEA0}, + [I(40,61)] = {16,0xFEA0}, + [I(41,61)] = {16,0xFEE0}, + [I(42,61)] = {14,0x3E60}, + [I(43,61)] = {17,0x1FEE0}, + [I(44,61)] = {14,0x3EA0}, + [I(45,61)] = {12,0x5A0}, + [I(46,61)] = {12,0x5E0}, + [I(47,61)] = {12,0x620}, + [I(48,61)] = {11,0x20}, + [I(49,61)] = {11,0x60}, + [I(50,61)] = {11,0xA0}, + [I(51,61)] = {12,0x660}, + [I(52,61)] = {12,0x6A0}, + [I(53,61)] = {12,0x6E0}, + [I(54,61)] = {12,0x720}, + [I(55,61)] = {12,0x760}, + [I(56,61)] = {12,0x7A0}, + [I(57,61)] = {12,0x7E0}, + [I(58,61)] = {13,0x1720}, + [I(59,61)] = {14,0x3EE0}, + [I(60,61)] = {21,0x1FFF20}, + [I(61,61)] = {12,0x820}, + [I(62,61)] = {18,0x3FEE0}, + [I(63,61)] = {16,0xFF20}, + [I(64,61)] = {19,0x7FEA0}, + [I(65,61)] = {12,0x860}, + [I(66,61)] = {13,0x1760}, + [I(67,61)] = {13,0x17A0}, + [I(68,61)] = {13,0x17E0}, + [I(69,61)] = {13,0x1820}, + [I(70,61)] = {13,0x1860}, + [I(71,61)] = {13,0x18A0}, + [I(72,61)] = {13,0x18E0}, + [I(73,61)] = {13,0x1920}, + [I(74,61)] = {13,0x1960}, + [I(75,61)] = {13,0x19A0}, + [I(76,61)] = {13,0x19E0}, + [I(77,61)] = {13,0x1A20}, + [I(78,61)] = {13,0x1A60}, + [I(79,61)] = {13,0x1AA0}, + [I(80,61)] = {13,0x1AE0}, + [I(81,61)] = {13,0x1B20}, + [I(82,61)] = {13,0x1B60}, + [I(83,61)] = {13,0x1BA0}, + [I(84,61)] = {13,0x1BE0}, + [I(85,61)] = {13,0x1C20}, + [I(86,61)] = {13,0x1C60}, + [I(87,61)] = {13,0x1CA0}, + [I(88,61)] = {14,0x3F20}, + [I(89,61)] = {13,0x1CE0}, + [I(90,61)] = {14,0x3F60}, + [I(91,61)] = {19,0x7FEE0}, + [I(92,61)] = {25,0x1FFFC20}, + [I(93,61)] = {19,0x7FF20}, + [I(94,61)] = {20,0xFFF20}, + [I(95,61)] = {12,0x8A0}, + [I(96,61)] = {21,0x1FFF60}, + [I(97,61)] = {11,0xE0}, + [I(98,61)] = {12,0x8E0}, + [I(99,61)] = {11,0x120}, + [I(100,61)] = {12,0x920}, + [I(101,61)] = {11,0x160}, + [I(102,61)] = {12,0x960}, + [I(103,61)] = {12,0x9A0}, + [I(104,61)] = {12,0x9E0}, + [I(105,61)] = {11,0x1A0}, + [I(106,61)] = {13,0x1D20}, + [I(107,61)] = {13,0x1D60}, + [I(108,61)] = {12,0xA20}, + [I(109,61)] = {12,0xA60}, + [I(110,61)] = {12,0xAA0}, + [I(111,61)] = {11,0x1E0}, + [I(112,61)] = {12,0xAE0}, + [I(113,61)] = {13,0x1DA0}, + [I(114,61)] = {12,0xB20}, + [I(115,61)] = {11,0x220}, + [I(116,61)] = {11,0x260}, + [I(117,61)] = {12,0xB60}, + [I(118,61)] = {13,0x1DE0}, + [I(119,61)] = {13,0x1E20}, + [I(120,61)] = {13,0x1E60}, + [I(121,61)] = {13,0x1EA0}, + [I(122,61)] = {13,0x1EE0}, + [I(123,61)] = {21,0x1FFFA0}, + [I(124,61)] = {17,0x1FF20}, + [I(125,61)] = {20,0xFFF60}, + [I(126,61)] = {19,0x7FF60}, + [I(127,61)] = {64,0}, + [I(128,61)] = {26,0x3FFF9A0}, + [I(129,61)] = {28,0xFFFF4A0}, + [I(130,61)] = {26,0x3FFF9E0}, + [I(131,61)] = {26,0x3FFFA20}, + [I(132,61)] = {28,0xFFFF4E0}, + [I(133,61)] = {28,0xFFFF520}, + [I(134,61)] = {28,0xFFFF560}, + [I(135,61)] = {29,0x1FFFF660}, + [I(136,61)] = {28,0xFFFF5A0}, + [I(137,61)] = {29,0x1FFFF6A0}, + [I(138,61)] = {29,0x1FFFF6E0}, + [I(139,61)] = {29,0x1FFFF720}, + [I(140,61)] = {29,0x1FFFF760}, + [I(141,61)] = {29,0x1FFFF7A0}, + [I(142,61)] = {30,0x3FFFFAE0}, + [I(143,61)] = {29,0x1FFFF7E0}, + [I(144,61)] = {30,0x3FFFFB20}, + [I(145,61)] = {30,0x3FFFFB60}, + [I(146,61)] = {28,0xFFFF5E0}, + [I(147,61)] = {29,0x1FFFF820}, + [I(148,61)] = {30,0x3FFFFBA0}, + [I(149,61)] = {29,0x1FFFF860}, + [I(150,61)] = {29,0x1FFFF8A0}, + [I(151,61)] = {29,0x1FFFF8E0}, + [I(152,61)] = {29,0x1FFFF920}, + [I(153,61)] = {27,0x7FFF720}, + [I(154,61)] = {28,0xFFFF620}, + [I(155,61)] = {29,0x1FFFF960}, + [I(156,61)] = {28,0xFFFF660}, + [I(157,61)] = {29,0x1FFFF9A0}, + [I(158,61)] = {29,0x1FFFF9E0}, + [I(159,61)] = {30,0x3FFFFBE0}, + [I(160,61)] = {28,0xFFFF6A0}, + [I(161,61)] = {27,0x7FFF760}, + [I(162,61)] = {26,0x3FFFA60}, + [I(163,61)] = {28,0xFFFF6E0}, + [I(164,61)] = {28,0xFFFF720}, + [I(165,61)] = {29,0x1FFFFA20}, + [I(166,61)] = {29,0x1FFFFA60}, + [I(167,61)] = {27,0x7FFF7A0}, + [I(168,61)] = {29,0x1FFFFAA0}, + [I(169,61)] = {28,0xFFFF760}, + [I(170,61)] = {28,0xFFFF7A0}, + [I(171,61)] = {30,0x3FFFFC20}, + [I(172,61)] = {27,0x7FFF7E0}, + [I(173,61)] = {28,0xFFFF7E0}, + [I(174,61)] = {29,0x1FFFFAE0}, + [I(175,61)] = {29,0x1FFFFB20}, + [I(176,61)] = {27,0x7FFF820}, + [I(177,61)] = {27,0x7FFF860}, + [I(178,61)] = {28,0xFFFF820}, + [I(179,61)] = {27,0x7FFF8A0}, + [I(180,61)] = {29,0x1FFFFB60}, + [I(181,61)] = {28,0xFFFF860}, + [I(182,61)] = {29,0x1FFFFBA0}, + [I(183,61)] = {29,0x1FFFFBE0}, + [I(184,61)] = {26,0x3FFFAA0}, + [I(185,61)] = {28,0xFFFF8A0}, + [I(186,61)] = {28,0xFFFF8E0}, + [I(187,61)] = {28,0xFFFF920}, + [I(188,61)] = {29,0x1FFFFC20}, + [I(189,61)] = {28,0xFFFF960}, + [I(190,61)] = {28,0xFFFF9A0}, + [I(191,61)] = {29,0x1FFFFC60}, + [I(192,61)] = {X32,0xFFFFF820}, + [I(193,61)] = {X32,0xFFFFF860}, + [I(194,61)] = {26,0x3FFFAE0}, + [I(195,61)] = {25,0x1FFFC60}, + [I(196,61)] = {28,0xFFFF9E0}, + [I(197,61)] = {29,0x1FFFFCA0}, + [I(198,61)] = {28,0xFFFFA20}, + [I(199,61)] = {31,0x7FFFFB20}, + [I(200,61)] = {X32,0xFFFFF8A0}, + [I(201,61)] = {X32,0xFFFFF8E0}, + [I(202,61)] = {X32,0xFFFFF920}, + [I(203,61)] = {64,0}, + [I(204,61)] = {64,0}, + [I(205,61)] = {X32,0xFFFFF960}, + [I(206,61)] = {30,0x3FFFFC60}, + [I(207,61)] = {31,0x7FFFFB60}, + [I(208,61)] = {25,0x1FFFCA0}, + [I(209,61)] = {27,0x7FFF8E0}, + [I(210,61)] = {X32,0xFFFFF9A0}, + [I(211,61)] = {64,0}, + [I(212,61)] = {64,0}, + [I(213,61)] = {X32,0xFFFFF9E0}, + [I(214,61)] = {64,0}, + [I(215,61)] = {30,0x3FFFFCA0}, + [I(216,61)] = {27,0x7FFF920}, + [I(217,61)] = {27,0x7FFF960}, + [I(218,61)] = {X32,0xFFFFFA20}, + [I(219,61)] = {X32,0xFFFFFA60}, + [I(220,61)] = {64,0}, + [I(221,61)] = {64,0}, + [I(222,61)] = {64,0}, + [I(223,61)] = {64,0}, + [I(224,61)] = {26,0x3FFFB20}, + [I(225,61)] = {30,0x3FFFFCE0}, + [I(226,61)] = {26,0x3FFFB60}, + [I(227,61)] = {27,0x7FFF9A0}, + [I(228,61)] = {28,0xFFFFA60}, + [I(229,61)] = {27,0x7FFF9E0}, + [I(230,61)] = {27,0x7FFFA20}, + [I(231,61)] = {29,0x1FFFFCE0}, + [I(232,61)] = {28,0xFFFFAA0}, + [I(233,61)] = {28,0xFFFFAE0}, + [I(234,61)] = {31,0x7FFFFBA0}, + [I(235,61)] = {31,0x7FFFFBE0}, + [I(236,61)] = {30,0x3FFFFD20}, + [I(237,61)] = {30,0x3FFFFD60}, + [I(238,61)] = {X32,0xFFFFFAA0}, + [I(239,61)] = {29,0x1FFFFD20}, + [I(240,61)] = {X32,0xFFFFFAE0}, + [I(241,61)] = {64,0}, + [I(242,61)] = {X32,0xFFFFFB20}, + [I(243,61)] = {X32,0xFFFFFB60}, + [I(244,61)] = {64,0}, + [I(245,61)] = {64,0}, + [I(246,61)] = {64,0}, + [I(247,61)] = {64,0}, + [I(248,61)] = {64,0}, + [I(249,61)] = {64,0}, + [I(250,61)] = {64,0}, + [I(251,61)] = {64,0}, + [I(252,61)] = {64,0}, + [I(253,61)] = {64,0}, + [I(254,61)] = {64,0}, + [I(255,61)] = {X32,0xFFFFFBA0}, + [I(0,62)] = {25,0x1FF8FFB}, + [I(1,62)] = {64,0}, + [I(2,62)] = {64,0}, + [I(3,62)] = {64,0}, + [I(4,62)] = {64,0}, + [I(5,62)] = {64,0}, + [I(6,62)] = {64,0}, + [I(7,62)] = {64,0}, + [I(8,62)] = {64,0}, + [I(9,62)] = {64,0}, + [I(10,62)] = {64,0}, + [I(11,62)] = {64,0}, + [I(12,62)] = {64,0}, + [I(13,62)] = {64,0}, + [I(14,62)] = {64,0}, + [I(15,62)] = {64,0}, + [I(16,62)] = {64,0}, + [I(17,62)] = {64,0}, + [I(18,62)] = {64,0}, + [I(19,62)] = {64,0}, + [I(20,62)] = {64,0}, + [I(21,62)] = {64,0}, + [I(22,62)] = {64,0}, + [I(23,62)] = {64,0}, + [I(24,62)] = {64,0}, + [I(25,62)] = {64,0}, + [I(26,62)] = {64,0}, + [I(27,62)] = {64,0}, + [I(28,62)] = {64,0}, + [I(29,62)] = {64,0}, + [I(30,62)] = {64,0}, + [I(31,62)] = {64,0}, + [I(32,62)] = {18,0x14FFB}, + [I(33,62)] = {22,0x3F8FFB}, + [I(34,62)] = {22,0x3F9FFB}, + [I(35,62)] = {24,0xFFAFFB}, + [I(36,62)] = {25,0x1FF9FFB}, + [I(37,62)] = {18,0x15FFB}, + [I(38,62)] = {20,0xF8FFB}, + [I(39,62)] = {23,0x7FAFFB}, + [I(40,62)] = {22,0x3FAFFB}, + [I(41,62)] = {22,0x3FBFFB}, + [I(42,62)] = {20,0xF9FFB}, + [I(43,62)] = {23,0x7FBFFB}, + [I(44,62)] = {20,0xFAFFB}, + [I(45,62)] = {18,0x16FFB}, + [I(46,62)] = {18,0x17FFB}, + [I(47,62)] = {18,0x18FFB}, + [I(48,62)] = {17,0xFFB}, + [I(49,62)] = {17,0x1FFB}, + [I(50,62)] = {17,0x2FFB}, + [I(51,62)] = {18,0x19FFB}, + [I(52,62)] = {18,0x1AFFB}, + [I(53,62)] = {18,0x1BFFB}, + [I(54,62)] = {18,0x1CFFB}, + [I(55,62)] = {18,0x1DFFB}, + [I(56,62)] = {18,0x1EFFB}, + [I(57,62)] = {18,0x1FFFB}, + [I(58,62)] = {19,0x5CFFB}, + [I(59,62)] = {20,0xFBFFB}, + [I(60,62)] = {27,0x7FFCFFB}, + [I(61,62)] = {18,0x20FFB}, + [I(62,62)] = {24,0xFFBFFB}, + [I(63,62)] = {22,0x3FCFFB}, + [I(64,62)] = {25,0x1FFAFFB}, + [I(65,62)] = {18,0x21FFB}, + [I(66,62)] = {19,0x5DFFB}, + [I(67,62)] = {19,0x5EFFB}, + [I(68,62)] = {19,0x5FFFB}, + [I(69,62)] = {19,0x60FFB}, + [I(70,62)] = {19,0x61FFB}, + [I(71,62)] = {19,0x62FFB}, + [I(72,62)] = {19,0x63FFB}, + [I(73,62)] = {19,0x64FFB}, + [I(74,62)] = {19,0x65FFB}, + [I(75,62)] = {19,0x66FFB}, + [I(76,62)] = {19,0x67FFB}, + [I(77,62)] = {19,0x68FFB}, + [I(78,62)] = {19,0x69FFB}, + [I(79,62)] = {19,0x6AFFB}, + [I(80,62)] = {19,0x6BFFB}, + [I(81,62)] = {19,0x6CFFB}, + [I(82,62)] = {19,0x6DFFB}, + [I(83,62)] = {19,0x6EFFB}, + [I(84,62)] = {19,0x6FFFB}, + [I(85,62)] = {19,0x70FFB}, + [I(86,62)] = {19,0x71FFB}, + [I(87,62)] = {19,0x72FFB}, + [I(88,62)] = {20,0xFCFFB}, + [I(89,62)] = {19,0x73FFB}, + [I(90,62)] = {20,0xFDFFB}, + [I(91,62)] = {25,0x1FFBFFB}, + [I(92,62)] = {31,0x7FFF0FFB}, + [I(93,62)] = {25,0x1FFCFFB}, + [I(94,62)] = {26,0x3FFCFFB}, + [I(95,62)] = {18,0x22FFB}, + [I(96,62)] = {27,0x7FFDFFB}, + [I(97,62)] = {17,0x3FFB}, + [I(98,62)] = {18,0x23FFB}, + [I(99,62)] = {17,0x4FFB}, + [I(100,62)] = {18,0x24FFB}, + [I(101,62)] = {17,0x5FFB}, + [I(102,62)] = {18,0x25FFB}, + [I(103,62)] = {18,0x26FFB}, + [I(104,62)] = {18,0x27FFB}, + [I(105,62)] = {17,0x6FFB}, + [I(106,62)] = {19,0x74FFB}, + [I(107,62)] = {19,0x75FFB}, + [I(108,62)] = {18,0x28FFB}, + [I(109,62)] = {18,0x29FFB}, + [I(110,62)] = {18,0x2AFFB}, + [I(111,62)] = {17,0x7FFB}, + [I(112,62)] = {18,0x2BFFB}, + [I(113,62)] = {19,0x76FFB}, + [I(114,62)] = {18,0x2CFFB}, + [I(115,62)] = {17,0x8FFB}, + [I(116,62)] = {17,0x9FFB}, + [I(117,62)] = {18,0x2DFFB}, + [I(118,62)] = {19,0x77FFB}, + [I(119,62)] = {19,0x78FFB}, + [I(120,62)] = {19,0x79FFB}, + [I(121,62)] = {19,0x7AFFB}, + [I(122,62)] = {19,0x7BFFB}, + [I(123,62)] = {27,0x7FFEFFB}, + [I(124,62)] = {23,0x7FCFFB}, + [I(125,62)] = {26,0x3FFDFFB}, + [I(126,62)] = {25,0x1FFDFFB}, + [I(127,62)] = {64,0}, + [I(128,62)] = {X32,0xFFFE6FFB}, + [I(129,62)] = {64,0}, + [I(130,62)] = {X32,0xFFFE7FFB}, + [I(131,62)] = {X32,0xFFFE8FFB}, + [I(132,62)] = {64,0}, + [I(133,62)] = {64,0}, + [I(134,62)] = {64,0}, + [I(135,62)] = {64,0}, + [I(136,62)] = {64,0}, + [I(137,62)] = {64,0}, + [I(138,62)] = {64,0}, + [I(139,62)] = {64,0}, + [I(140,62)] = {64,0}, + [I(141,62)] = {64,0}, + [I(142,62)] = {64,0}, + [I(143,62)] = {64,0}, + [I(144,62)] = {64,0}, + [I(145,62)] = {64,0}, + [I(146,62)] = {64,0}, + [I(147,62)] = {64,0}, + [I(148,62)] = {64,0}, + [I(149,62)] = {64,0}, + [I(150,62)] = {64,0}, + [I(151,62)] = {64,0}, + [I(152,62)] = {64,0}, + [I(153,62)] = {64,0}, + [I(154,62)] = {64,0}, + [I(155,62)] = {64,0}, + [I(156,62)] = {64,0}, + [I(157,62)] = {64,0}, + [I(158,62)] = {64,0}, + [I(159,62)] = {64,0}, + [I(160,62)] = {64,0}, + [I(161,62)] = {64,0}, + [I(162,62)] = {X32,0xFFFE9FFB}, + [I(163,62)] = {64,0}, + [I(164,62)] = {64,0}, + [I(165,62)] = {64,0}, + [I(166,62)] = {64,0}, + [I(167,62)] = {64,0}, + [I(168,62)] = {64,0}, + [I(169,62)] = {64,0}, + [I(170,62)] = {64,0}, + [I(171,62)] = {64,0}, + [I(172,62)] = {64,0}, + [I(173,62)] = {64,0}, + [I(174,62)] = {64,0}, + [I(175,62)] = {64,0}, + [I(176,62)] = {64,0}, + [I(177,62)] = {64,0}, + [I(178,62)] = {64,0}, + [I(179,62)] = {64,0}, + [I(180,62)] = {64,0}, + [I(181,62)] = {64,0}, + [I(182,62)] = {64,0}, + [I(183,62)] = {64,0}, + [I(184,62)] = {X32,0xFFFEAFFB}, + [I(185,62)] = {64,0}, + [I(186,62)] = {64,0}, + [I(187,62)] = {64,0}, + [I(188,62)] = {64,0}, + [I(189,62)] = {64,0}, + [I(190,62)] = {64,0}, + [I(191,62)] = {64,0}, + [I(192,62)] = {64,0}, + [I(193,62)] = {64,0}, + [I(194,62)] = {X32,0xFFFEBFFB}, + [I(195,62)] = {31,0x7FFF1FFB}, + [I(196,62)] = {64,0}, + [I(197,62)] = {64,0}, + [I(198,62)] = {64,0}, + [I(199,62)] = {64,0}, + [I(200,62)] = {64,0}, + [I(201,62)] = {64,0}, + [I(202,62)] = {64,0}, + [I(203,62)] = {64,0}, + [I(204,62)] = {64,0}, + [I(205,62)] = {64,0}, + [I(206,62)] = {64,0}, + [I(207,62)] = {64,0}, + [I(208,62)] = {31,0x7FFF2FFB}, + [I(209,62)] = {64,0}, + [I(210,62)] = {64,0}, + [I(211,62)] = {64,0}, + [I(212,62)] = {64,0}, + [I(213,62)] = {64,0}, + [I(214,62)] = {64,0}, + [I(215,62)] = {64,0}, + [I(216,62)] = {64,0}, + [I(217,62)] = {64,0}, + [I(218,62)] = {64,0}, + [I(219,62)] = {64,0}, + [I(220,62)] = {64,0}, + [I(221,62)] = {64,0}, + [I(222,62)] = {64,0}, + [I(223,62)] = {64,0}, + [I(224,62)] = {X32,0xFFFECFFB}, + [I(225,62)] = {64,0}, + [I(226,62)] = {X32,0xFFFEDFFB}, + [I(227,62)] = {64,0}, + [I(228,62)] = {64,0}, + [I(229,62)] = {64,0}, + [I(230,62)] = {64,0}, + [I(231,62)] = {64,0}, + [I(232,62)] = {64,0}, + [I(233,62)] = {64,0}, + [I(234,62)] = {64,0}, + [I(235,62)] = {64,0}, + [I(236,62)] = {64,0}, + [I(237,62)] = {64,0}, + [I(238,62)] = {64,0}, + [I(239,62)] = {64,0}, + [I(240,62)] = {64,0}, + [I(241,62)] = {64,0}, + [I(242,62)] = {64,0}, + [I(243,62)] = {64,0}, + [I(244,62)] = {64,0}, + [I(245,62)] = {64,0}, + [I(246,62)] = {64,0}, + [I(247,62)] = {64,0}, + [I(248,62)] = {64,0}, + [I(249,62)] = {64,0}, + [I(250,62)] = {64,0}, + [I(251,62)] = {64,0}, + [I(252,62)] = {64,0}, + [I(253,62)] = {64,0}, + [I(254,62)] = {64,0}, + [I(255,62)] = {64,0}, + [I(0,63)] = {23,0x7FE3FC}, + [I(1,63)] = {64,0}, + [I(2,63)] = {64,0}, + [I(3,63)] = {64,0}, + [I(4,63)] = {64,0}, + [I(5,63)] = {64,0}, + [I(6,63)] = {64,0}, + [I(7,63)] = {64,0}, + [I(8,63)] = {64,0}, + [I(9,63)] = {64,0}, + [I(10,63)] = {64,0}, + [I(11,63)] = {64,0}, + [I(12,63)] = {64,0}, + [I(13,63)] = {64,0}, + [I(14,63)] = {64,0}, + [I(15,63)] = {64,0}, + [I(16,63)] = {64,0}, + [I(17,63)] = {64,0}, + [I(18,63)] = {64,0}, + [I(19,63)] = {64,0}, + [I(20,63)] = {64,0}, + [I(21,63)] = {64,0}, + [I(22,63)] = {64,0}, + [I(23,63)] = {64,0}, + [I(24,63)] = {64,0}, + [I(25,63)] = {64,0}, + [I(26,63)] = {64,0}, + [I(27,63)] = {64,0}, + [I(28,63)] = {64,0}, + [I(29,63)] = {64,0}, + [I(30,63)] = {64,0}, + [I(31,63)] = {64,0}, + [I(32,63)] = {16,0x53FC}, + [I(33,63)] = {20,0xFE3FC}, + [I(34,63)] = {20,0xFE7FC}, + [I(35,63)] = {22,0x3FEBFC}, + [I(36,63)] = {23,0x7FE7FC}, + [I(37,63)] = {16,0x57FC}, + [I(38,63)] = {18,0x3E3FC}, + [I(39,63)] = {21,0x1FEBFC}, + [I(40,63)] = {20,0xFEBFC}, + [I(41,63)] = {20,0xFEFFC}, + [I(42,63)] = {18,0x3E7FC}, + [I(43,63)] = {21,0x1FEFFC}, + [I(44,63)] = {18,0x3EBFC}, + [I(45,63)] = {16,0x5BFC}, + [I(46,63)] = {16,0x5FFC}, + [I(47,63)] = {16,0x63FC}, + [I(48,63)] = {15,0x3FC}, + [I(49,63)] = {15,0x7FC}, + [I(50,63)] = {15,0xBFC}, + [I(51,63)] = {16,0x67FC}, + [I(52,63)] = {16,0x6BFC}, + [I(53,63)] = {16,0x6FFC}, + [I(54,63)] = {16,0x73FC}, + [I(55,63)] = {16,0x77FC}, + [I(56,63)] = {16,0x7BFC}, + [I(57,63)] = {16,0x7FFC}, + [I(58,63)] = {17,0x173FC}, + [I(59,63)] = {18,0x3EFFC}, + [I(60,63)] = {25,0x1FFF3FC}, + [I(61,63)] = {16,0x83FC}, + [I(62,63)] = {22,0x3FEFFC}, + [I(63,63)] = {20,0xFF3FC}, + [I(64,63)] = {23,0x7FEBFC}, + [I(65,63)] = {16,0x87FC}, + [I(66,63)] = {17,0x177FC}, + [I(67,63)] = {17,0x17BFC}, + [I(68,63)] = {17,0x17FFC}, + [I(69,63)] = {17,0x183FC}, + [I(70,63)] = {17,0x187FC}, + [I(71,63)] = {17,0x18BFC}, + [I(72,63)] = {17,0x18FFC}, + [I(73,63)] = {17,0x193FC}, + [I(74,63)] = {17,0x197FC}, + [I(75,63)] = {17,0x19BFC}, + [I(76,63)] = {17,0x19FFC}, + [I(77,63)] = {17,0x1A3FC}, + [I(78,63)] = {17,0x1A7FC}, + [I(79,63)] = {17,0x1ABFC}, + [I(80,63)] = {17,0x1AFFC}, + [I(81,63)] = {17,0x1B3FC}, + [I(82,63)] = {17,0x1B7FC}, + [I(83,63)] = {17,0x1BBFC}, + [I(84,63)] = {17,0x1BFFC}, + [I(85,63)] = {17,0x1C3FC}, + [I(86,63)] = {17,0x1C7FC}, + [I(87,63)] = {17,0x1CBFC}, + [I(88,63)] = {18,0x3F3FC}, + [I(89,63)] = {17,0x1CFFC}, + [I(90,63)] = {18,0x3F7FC}, + [I(91,63)] = {23,0x7FEFFC}, + [I(92,63)] = {29,0x1FFFC3FC}, + [I(93,63)] = {23,0x7FF3FC}, + [I(94,63)] = {24,0xFFF3FC}, + [I(95,63)] = {16,0x8BFC}, + [I(96,63)] = {25,0x1FFF7FC}, + [I(97,63)] = {15,0xFFC}, + [I(98,63)] = {16,0x8FFC}, + [I(99,63)] = {15,0x13FC}, + [I(100,63)] = {16,0x93FC}, + [I(101,63)] = {15,0x17FC}, + [I(102,63)] = {16,0x97FC}, + [I(103,63)] = {16,0x9BFC}, + [I(104,63)] = {16,0x9FFC}, + [I(105,63)] = {15,0x1BFC}, + [I(106,63)] = {17,0x1D3FC}, + [I(107,63)] = {17,0x1D7FC}, + [I(108,63)] = {16,0xA3FC}, + [I(109,63)] = {16,0xA7FC}, + [I(110,63)] = {16,0xABFC}, + [I(111,63)] = {15,0x1FFC}, + [I(112,63)] = {16,0xAFFC}, + [I(113,63)] = {17,0x1DBFC}, + [I(114,63)] = {16,0xB3FC}, + [I(115,63)] = {15,0x23FC}, + [I(116,63)] = {15,0x27FC}, + [I(117,63)] = {16,0xB7FC}, + [I(118,63)] = {17,0x1DFFC}, + [I(119,63)] = {17,0x1E3FC}, + [I(120,63)] = {17,0x1E7FC}, + [I(121,63)] = {17,0x1EBFC}, + [I(122,63)] = {17,0x1EFFC}, + [I(123,63)] = {25,0x1FFFBFC}, + [I(124,63)] = {21,0x1FF3FC}, + [I(125,63)] = {24,0xFFF7FC}, + [I(126,63)] = {23,0x7FF7FC}, + [I(127,63)] = {64,0}, + [I(128,63)] = {30,0x3FFF9BFC}, + [I(129,63)] = {X32,0xFFFF4BFC}, + [I(130,63)] = {30,0x3FFF9FFC}, + [I(131,63)] = {30,0x3FFFA3FC}, + [I(132,63)] = {X32,0xFFFF4FFC}, + [I(133,63)] = {X32,0xFFFF53FC}, + [I(134,63)] = {X32,0xFFFF57FC}, + [I(135,63)] = {64,0}, + [I(136,63)] = {X32,0xFFFF5BFC}, + [I(137,63)] = {64,0}, + [I(138,63)] = {64,0}, + [I(139,63)] = {64,0}, + [I(140,63)] = {64,0}, + [I(141,63)] = {64,0}, + [I(142,63)] = {64,0}, + [I(143,63)] = {64,0}, + [I(144,63)] = {64,0}, + [I(145,63)] = {64,0}, + [I(146,63)] = {X32,0xFFFF5FFC}, + [I(147,63)] = {64,0}, + [I(148,63)] = {64,0}, + [I(149,63)] = {64,0}, + [I(150,63)] = {64,0}, + [I(151,63)] = {64,0}, + [I(152,63)] = {64,0}, + [I(153,63)] = {31,0x7FFF73FC}, + [I(154,63)] = {X32,0xFFFF63FC}, + [I(155,63)] = {64,0}, + [I(156,63)] = {X32,0xFFFF67FC}, + [I(157,63)] = {64,0}, + [I(158,63)] = {64,0}, + [I(159,63)] = {64,0}, + [I(160,63)] = {X32,0xFFFF6BFC}, + [I(161,63)] = {31,0x7FFF77FC}, + [I(162,63)] = {30,0x3FFFA7FC}, + [I(163,63)] = {X32,0xFFFF6FFC}, + [I(164,63)] = {X32,0xFFFF73FC}, + [I(165,63)] = {64,0}, + [I(166,63)] = {64,0}, + [I(167,63)] = {31,0x7FFF7BFC}, + [I(168,63)] = {64,0}, + [I(169,63)] = {X32,0xFFFF77FC}, + [I(170,63)] = {X32,0xFFFF7BFC}, + [I(171,63)] = {64,0}, + [I(172,63)] = {31,0x7FFF7FFC}, + [I(173,63)] = {X32,0xFFFF7FFC}, + [I(174,63)] = {64,0}, + [I(175,63)] = {64,0}, + [I(176,63)] = {31,0x7FFF83FC}, + [I(177,63)] = {31,0x7FFF87FC}, + [I(178,63)] = {X32,0xFFFF83FC}, + [I(179,63)] = {31,0x7FFF8BFC}, + [I(180,63)] = {64,0}, + [I(181,63)] = {X32,0xFFFF87FC}, + [I(182,63)] = {64,0}, + [I(183,63)] = {64,0}, + [I(184,63)] = {30,0x3FFFABFC}, + [I(185,63)] = {X32,0xFFFF8BFC}, + [I(186,63)] = {X32,0xFFFF8FFC}, + [I(187,63)] = {X32,0xFFFF93FC}, + [I(188,63)] = {64,0}, + [I(189,63)] = {X32,0xFFFF97FC}, + [I(190,63)] = {X32,0xFFFF9BFC}, + [I(191,63)] = {64,0}, + [I(192,63)] = {64,0}, + [I(193,63)] = {64,0}, + [I(194,63)] = {30,0x3FFFAFFC}, + [I(195,63)] = {29,0x1FFFC7FC}, + [I(196,63)] = {X32,0xFFFF9FFC}, + [I(197,63)] = {64,0}, + [I(198,63)] = {X32,0xFFFFA3FC}, + [I(199,63)] = {64,0}, + [I(200,63)] = {64,0}, + [I(201,63)] = {64,0}, + [I(202,63)] = {64,0}, + [I(203,63)] = {64,0}, + [I(204,63)] = {64,0}, + [I(205,63)] = {64,0}, + [I(206,63)] = {64,0}, + [I(207,63)] = {64,0}, + [I(208,63)] = {29,0x1FFFCBFC}, + [I(209,63)] = {31,0x7FFF8FFC}, + [I(210,63)] = {64,0}, + [I(211,63)] = {64,0}, + [I(212,63)] = {64,0}, + [I(213,63)] = {64,0}, + [I(214,63)] = {64,0}, + [I(215,63)] = {64,0}, + [I(216,63)] = {31,0x7FFF93FC}, + [I(217,63)] = {31,0x7FFF97FC}, + [I(218,63)] = {64,0}, + [I(219,63)] = {64,0}, + [I(220,63)] = {64,0}, + [I(221,63)] = {64,0}, + [I(222,63)] = {64,0}, + [I(223,63)] = {64,0}, + [I(224,63)] = {30,0x3FFFB3FC}, + [I(225,63)] = {64,0}, + [I(226,63)] = {30,0x3FFFB7FC}, + [I(227,63)] = {31,0x7FFF9BFC}, + [I(228,63)] = {X32,0xFFFFA7FC}, + [I(229,63)] = {31,0x7FFF9FFC}, + [I(230,63)] = {31,0x7FFFA3FC}, + [I(231,63)] = {64,0}, + [I(232,63)] = {X32,0xFFFFABFC}, + [I(233,63)] = {X32,0xFFFFAFFC}, + [I(234,63)] = {64,0}, + [I(235,63)] = {64,0}, + [I(236,63)] = {64,0}, + [I(237,63)] = {64,0}, + [I(238,63)] = {64,0}, + [I(239,63)] = {64,0}, + [I(240,63)] = {64,0}, + [I(241,63)] = {64,0}, + [I(242,63)] = {64,0}, + [I(243,63)] = {64,0}, + [I(244,63)] = {64,0}, + [I(245,63)] = {64,0}, + [I(246,63)] = {64,0}, + [I(247,63)] = {64,0}, + [I(248,63)] = {64,0}, + [I(249,63)] = {64,0}, + [I(250,63)] = {64,0}, + [I(251,63)] = {64,0}, + [I(252,63)] = {64,0}, + [I(253,63)] = {64,0}, + [I(254,63)] = {64,0}, + [I(255,63)] = {64,0}, + [I(0,64)] = {26,0x3FF1FFA}, + [I(1,64)] = {64,0}, + [I(2,64)] = {64,0}, + [I(3,64)] = {64,0}, + [I(4,64)] = {64,0}, + [I(5,64)] = {64,0}, + [I(6,64)] = {64,0}, + [I(7,64)] = {64,0}, + [I(8,64)] = {64,0}, + [I(9,64)] = {64,0}, + [I(10,64)] = {64,0}, + [I(11,64)] = {64,0}, + [I(12,64)] = {64,0}, + [I(13,64)] = {64,0}, + [I(14,64)] = {64,0}, + [I(15,64)] = {64,0}, + [I(16,64)] = {64,0}, + [I(17,64)] = {64,0}, + [I(18,64)] = {64,0}, + [I(19,64)] = {64,0}, + [I(20,64)] = {64,0}, + [I(21,64)] = {64,0}, + [I(22,64)] = {64,0}, + [I(23,64)] = {64,0}, + [I(24,64)] = {64,0}, + [I(25,64)] = {64,0}, + [I(26,64)] = {64,0}, + [I(27,64)] = {64,0}, + [I(28,64)] = {64,0}, + [I(29,64)] = {64,0}, + [I(30,64)] = {64,0}, + [I(31,64)] = {64,0}, + [I(32,64)] = {19,0x29FFA}, + [I(33,64)] = {23,0x7F1FFA}, + [I(34,64)] = {23,0x7F3FFA}, + [I(35,64)] = {25,0x1FF5FFA}, + [I(36,64)] = {26,0x3FF3FFA}, + [I(37,64)] = {19,0x2BFFA}, + [I(38,64)] = {21,0x1F1FFA}, + [I(39,64)] = {24,0xFF5FFA}, + [I(40,64)] = {23,0x7F5FFA}, + [I(41,64)] = {23,0x7F7FFA}, + [I(42,64)] = {21,0x1F3FFA}, + [I(43,64)] = {24,0xFF7FFA}, + [I(44,64)] = {21,0x1F5FFA}, + [I(45,64)] = {19,0x2DFFA}, + [I(46,64)] = {19,0x2FFFA}, + [I(47,64)] = {19,0x31FFA}, + [I(48,64)] = {18,0x1FFA}, + [I(49,64)] = {18,0x3FFA}, + [I(50,64)] = {18,0x5FFA}, + [I(51,64)] = {19,0x33FFA}, + [I(52,64)] = {19,0x35FFA}, + [I(53,64)] = {19,0x37FFA}, + [I(54,64)] = {19,0x39FFA}, + [I(55,64)] = {19,0x3BFFA}, + [I(56,64)] = {19,0x3DFFA}, + [I(57,64)] = {19,0x3FFFA}, + [I(58,64)] = {20,0xB9FFA}, + [I(59,64)] = {21,0x1F7FFA}, + [I(60,64)] = {28,0xFFF9FFA}, + [I(61,64)] = {19,0x41FFA}, + [I(62,64)] = {25,0x1FF7FFA}, + [I(63,64)] = {23,0x7F9FFA}, + [I(64,64)] = {26,0x3FF5FFA}, + [I(65,64)] = {19,0x43FFA}, + [I(66,64)] = {20,0xBBFFA}, + [I(67,64)] = {20,0xBDFFA}, + [I(68,64)] = {20,0xBFFFA}, + [I(69,64)] = {20,0xC1FFA}, + [I(70,64)] = {20,0xC3FFA}, + [I(71,64)] = {20,0xC5FFA}, + [I(72,64)] = {20,0xC7FFA}, + [I(73,64)] = {20,0xC9FFA}, + [I(74,64)] = {20,0xCBFFA}, + [I(75,64)] = {20,0xCDFFA}, + [I(76,64)] = {20,0xCFFFA}, + [I(77,64)] = {20,0xD1FFA}, + [I(78,64)] = {20,0xD3FFA}, + [I(79,64)] = {20,0xD5FFA}, + [I(80,64)] = {20,0xD7FFA}, + [I(81,64)] = {20,0xD9FFA}, + [I(82,64)] = {20,0xDBFFA}, + [I(83,64)] = {20,0xDDFFA}, + [I(84,64)] = {20,0xDFFFA}, + [I(85,64)] = {20,0xE1FFA}, + [I(86,64)] = {20,0xE3FFA}, + [I(87,64)] = {20,0xE5FFA}, + [I(88,64)] = {21,0x1F9FFA}, + [I(89,64)] = {20,0xE7FFA}, + [I(90,64)] = {21,0x1FBFFA}, + [I(91,64)] = {26,0x3FF7FFA}, + [I(92,64)] = {X32,0xFFFE1FFA}, + [I(93,64)] = {26,0x3FF9FFA}, + [I(94,64)] = {27,0x7FF9FFA}, + [I(95,64)] = {19,0x45FFA}, + [I(96,64)] = {28,0xFFFBFFA}, + [I(97,64)] = {18,0x7FFA}, + [I(98,64)] = {19,0x47FFA}, + [I(99,64)] = {18,0x9FFA}, + [I(100,64)] = {19,0x49FFA}, + [I(101,64)] = {18,0xBFFA}, + [I(102,64)] = {19,0x4BFFA}, + [I(103,64)] = {19,0x4DFFA}, + [I(104,64)] = {19,0x4FFFA}, + [I(105,64)] = {18,0xDFFA}, + [I(106,64)] = {20,0xE9FFA}, + [I(107,64)] = {20,0xEBFFA}, + [I(108,64)] = {19,0x51FFA}, + [I(109,64)] = {19,0x53FFA}, + [I(110,64)] = {19,0x55FFA}, + [I(111,64)] = {18,0xFFFA}, + [I(112,64)] = {19,0x57FFA}, + [I(113,64)] = {20,0xEDFFA}, + [I(114,64)] = {19,0x59FFA}, + [I(115,64)] = {18,0x11FFA}, + [I(116,64)] = {18,0x13FFA}, + [I(117,64)] = {19,0x5BFFA}, + [I(118,64)] = {20,0xEFFFA}, + [I(119,64)] = {20,0xF1FFA}, + [I(120,64)] = {20,0xF3FFA}, + [I(121,64)] = {20,0xF5FFA}, + [I(122,64)] = {20,0xF7FFA}, + [I(123,64)] = {28,0xFFFDFFA}, + [I(124,64)] = {24,0xFF9FFA}, + [I(125,64)] = {27,0x7FFBFFA}, + [I(126,64)] = {26,0x3FFBFFA}, + [I(127,64)] = {64,0}, + [I(128,64)] = {64,0}, + [I(129,64)] = {64,0}, + [I(130,64)] = {64,0}, + [I(131,64)] = {64,0}, + [I(132,64)] = {64,0}, + [I(133,64)] = {64,0}, + [I(134,64)] = {64,0}, + [I(135,64)] = {64,0}, + [I(136,64)] = {64,0}, + [I(137,64)] = {64,0}, + [I(138,64)] = {64,0}, + [I(139,64)] = {64,0}, + [I(140,64)] = {64,0}, + [I(141,64)] = {64,0}, + [I(142,64)] = {64,0}, + [I(143,64)] = {64,0}, + [I(144,64)] = {64,0}, + [I(145,64)] = {64,0}, + [I(146,64)] = {64,0}, + [I(147,64)] = {64,0}, + [I(148,64)] = {64,0}, + [I(149,64)] = {64,0}, + [I(150,64)] = {64,0}, + [I(151,64)] = {64,0}, + [I(152,64)] = {64,0}, + [I(153,64)] = {64,0}, + [I(154,64)] = {64,0}, + [I(155,64)] = {64,0}, + [I(156,64)] = {64,0}, + [I(157,64)] = {64,0}, + [I(158,64)] = {64,0}, + [I(159,64)] = {64,0}, + [I(160,64)] = {64,0}, + [I(161,64)] = {64,0}, + [I(162,64)] = {64,0}, + [I(163,64)] = {64,0}, + [I(164,64)] = {64,0}, + [I(165,64)] = {64,0}, + [I(166,64)] = {64,0}, + [I(167,64)] = {64,0}, + [I(168,64)] = {64,0}, + [I(169,64)] = {64,0}, + [I(170,64)] = {64,0}, + [I(171,64)] = {64,0}, + [I(172,64)] = {64,0}, + [I(173,64)] = {64,0}, + [I(174,64)] = {64,0}, + [I(175,64)] = {64,0}, + [I(176,64)] = {64,0}, + [I(177,64)] = {64,0}, + [I(178,64)] = {64,0}, + [I(179,64)] = {64,0}, + [I(180,64)] = {64,0}, + [I(181,64)] = {64,0}, + [I(182,64)] = {64,0}, + [I(183,64)] = {64,0}, + [I(184,64)] = {64,0}, + [I(185,64)] = {64,0}, + [I(186,64)] = {64,0}, + [I(187,64)] = {64,0}, + [I(188,64)] = {64,0}, + [I(189,64)] = {64,0}, + [I(190,64)] = {64,0}, + [I(191,64)] = {64,0}, + [I(192,64)] = {64,0}, + [I(193,64)] = {64,0}, + [I(194,64)] = {64,0}, + [I(195,64)] = {X32,0xFFFE3FFA}, + [I(196,64)] = {64,0}, + [I(197,64)] = {64,0}, + [I(198,64)] = {64,0}, + [I(199,64)] = {64,0}, + [I(200,64)] = {64,0}, + [I(201,64)] = {64,0}, + [I(202,64)] = {64,0}, + [I(203,64)] = {64,0}, + [I(204,64)] = {64,0}, + [I(205,64)] = {64,0}, + [I(206,64)] = {64,0}, + [I(207,64)] = {64,0}, + [I(208,64)] = {X32,0xFFFE5FFA}, + [I(209,64)] = {64,0}, + [I(210,64)] = {64,0}, + [I(211,64)] = {64,0}, + [I(212,64)] = {64,0}, + [I(213,64)] = {64,0}, + [I(214,64)] = {64,0}, + [I(215,64)] = {64,0}, + [I(216,64)] = {64,0}, + [I(217,64)] = {64,0}, + [I(218,64)] = {64,0}, + [I(219,64)] = {64,0}, + [I(220,64)] = {64,0}, + [I(221,64)] = {64,0}, + [I(222,64)] = {64,0}, + [I(223,64)] = {64,0}, + [I(224,64)] = {64,0}, + [I(225,64)] = {64,0}, + [I(226,64)] = {64,0}, + [I(227,64)] = {64,0}, + [I(228,64)] = {64,0}, + [I(229,64)] = {64,0}, + [I(230,64)] = {64,0}, + [I(231,64)] = {64,0}, + [I(232,64)] = {64,0}, + [I(233,64)] = {64,0}, + [I(234,64)] = {64,0}, + [I(235,64)] = {64,0}, + [I(236,64)] = {64,0}, + [I(237,64)] = {64,0}, + [I(238,64)] = {64,0}, + [I(239,64)] = {64,0}, + [I(240,64)] = {64,0}, + [I(241,64)] = {64,0}, + [I(242,64)] = {64,0}, + [I(243,64)] = {64,0}, + [I(244,64)] = {64,0}, + [I(245,64)] = {64,0}, + [I(246,64)] = {64,0}, + [I(247,64)] = {64,0}, + [I(248,64)] = {64,0}, + [I(249,64)] = {64,0}, + [I(250,64)] = {64,0}, + [I(251,64)] = {64,0}, + [I(252,64)] = {64,0}, + [I(253,64)] = {64,0}, + [I(254,64)] = {64,0}, + [I(255,64)] = {64,0}, + [I(0,65)] = {19,0x7FE21}, + [I(1,65)] = {29,0x1FFFF621}, + [I(2,65)] = {64,0}, + [I(3,65)] = {64,0}, + [I(4,65)] = {64,0}, + [I(5,65)] = {64,0}, + [I(6,65)] = {64,0}, + [I(7,65)] = {64,0}, + [I(8,65)] = {64,0}, + [I(9,65)] = {30,0x3FFFFAA1}, + [I(10,65)] = {64,0}, + [I(11,65)] = {64,0}, + [I(12,65)] = {64,0}, + [I(13,65)] = {64,0}, + [I(14,65)] = {64,0}, + [I(15,65)] = {64,0}, + [I(16,65)] = {64,0}, + [I(17,65)] = {64,0}, + [I(18,65)] = {64,0}, + [I(19,65)] = {64,0}, + [I(20,65)] = {64,0}, + [I(21,65)] = {64,0}, + [I(22,65)] = {64,0}, + [I(23,65)] = {64,0}, + [I(24,65)] = {64,0}, + [I(25,65)] = {64,0}, + [I(26,65)] = {64,0}, + [I(27,65)] = {64,0}, + [I(28,65)] = {64,0}, + [I(29,65)] = {64,0}, + [I(30,65)] = {64,0}, + [I(31,65)] = {64,0}, + [I(32,65)] = {12,0x521}, + [I(33,65)] = {16,0xFE21}, + [I(34,65)] = {16,0xFE61}, + [I(35,65)] = {18,0x3FEA1}, + [I(36,65)] = {19,0x7FE61}, + [I(37,65)] = {12,0x561}, + [I(38,65)] = {14,0x3E21}, + [I(39,65)] = {17,0x1FEA1}, + [I(40,65)] = {16,0xFEA1}, + [I(41,65)] = {16,0xFEE1}, + [I(42,65)] = {14,0x3E61}, + [I(43,65)] = {17,0x1FEE1}, + [I(44,65)] = {14,0x3EA1}, + [I(45,65)] = {12,0x5A1}, + [I(46,65)] = {12,0x5E1}, + [I(47,65)] = {12,0x621}, + [I(48,65)] = {11,0x21}, + [I(49,65)] = {11,0x61}, + [I(50,65)] = {11,0xA1}, + [I(51,65)] = {12,0x661}, + [I(52,65)] = {12,0x6A1}, + [I(53,65)] = {12,0x6E1}, + [I(54,65)] = {12,0x721}, + [I(55,65)] = {12,0x761}, + [I(56,65)] = {12,0x7A1}, + [I(57,65)] = {12,0x7E1}, + [I(58,65)] = {13,0x1721}, + [I(59,65)] = {14,0x3EE1}, + [I(60,65)] = {21,0x1FFF21}, + [I(61,65)] = {12,0x821}, + [I(62,65)] = {18,0x3FEE1}, + [I(63,65)] = {16,0xFF21}, + [I(64,65)] = {19,0x7FEA1}, + [I(65,65)] = {12,0x861}, + [I(66,65)] = {13,0x1761}, + [I(67,65)] = {13,0x17A1}, + [I(68,65)] = {13,0x17E1}, + [I(69,65)] = {13,0x1821}, + [I(70,65)] = {13,0x1861}, + [I(71,65)] = {13,0x18A1}, + [I(72,65)] = {13,0x18E1}, + [I(73,65)] = {13,0x1921}, + [I(74,65)] = {13,0x1961}, + [I(75,65)] = {13,0x19A1}, + [I(76,65)] = {13,0x19E1}, + [I(77,65)] = {13,0x1A21}, + [I(78,65)] = {13,0x1A61}, + [I(79,65)] = {13,0x1AA1}, + [I(80,65)] = {13,0x1AE1}, + [I(81,65)] = {13,0x1B21}, + [I(82,65)] = {13,0x1B61}, + [I(83,65)] = {13,0x1BA1}, + [I(84,65)] = {13,0x1BE1}, + [I(85,65)] = {13,0x1C21}, + [I(86,65)] = {13,0x1C61}, + [I(87,65)] = {13,0x1CA1}, + [I(88,65)] = {14,0x3F21}, + [I(89,65)] = {13,0x1CE1}, + [I(90,65)] = {14,0x3F61}, + [I(91,65)] = {19,0x7FEE1}, + [I(92,65)] = {25,0x1FFFC21}, + [I(93,65)] = {19,0x7FF21}, + [I(94,65)] = {20,0xFFF21}, + [I(95,65)] = {12,0x8A1}, + [I(96,65)] = {21,0x1FFF61}, + [I(97,65)] = {11,0xE1}, + [I(98,65)] = {12,0x8E1}, + [I(99,65)] = {11,0x121}, + [I(100,65)] = {12,0x921}, + [I(101,65)] = {11,0x161}, + [I(102,65)] = {12,0x961}, + [I(103,65)] = {12,0x9A1}, + [I(104,65)] = {12,0x9E1}, + [I(105,65)] = {11,0x1A1}, + [I(106,65)] = {13,0x1D21}, + [I(107,65)] = {13,0x1D61}, + [I(108,65)] = {12,0xA21}, + [I(109,65)] = {12,0xA61}, + [I(110,65)] = {12,0xAA1}, + [I(111,65)] = {11,0x1E1}, + [I(112,65)] = {12,0xAE1}, + [I(113,65)] = {13,0x1DA1}, + [I(114,65)] = {12,0xB21}, + [I(115,65)] = {11,0x221}, + [I(116,65)] = {11,0x261}, + [I(117,65)] = {12,0xB61}, + [I(118,65)] = {13,0x1DE1}, + [I(119,65)] = {13,0x1E21}, + [I(120,65)] = {13,0x1E61}, + [I(121,65)] = {13,0x1EA1}, + [I(122,65)] = {13,0x1EE1}, + [I(123,65)] = {21,0x1FFFA1}, + [I(124,65)] = {17,0x1FF21}, + [I(125,65)] = {20,0xFFF61}, + [I(126,65)] = {19,0x7FF61}, + [I(127,65)] = {64,0}, + [I(128,65)] = {26,0x3FFF9A1}, + [I(129,65)] = {28,0xFFFF4A1}, + [I(130,65)] = {26,0x3FFF9E1}, + [I(131,65)] = {26,0x3FFFA21}, + [I(132,65)] = {28,0xFFFF4E1}, + [I(133,65)] = {28,0xFFFF521}, + [I(134,65)] = {28,0xFFFF561}, + [I(135,65)] = {29,0x1FFFF661}, + [I(136,65)] = {28,0xFFFF5A1}, + [I(137,65)] = {29,0x1FFFF6A1}, + [I(138,65)] = {29,0x1FFFF6E1}, + [I(139,65)] = {29,0x1FFFF721}, + [I(140,65)] = {29,0x1FFFF761}, + [I(141,65)] = {29,0x1FFFF7A1}, + [I(142,65)] = {30,0x3FFFFAE1}, + [I(143,65)] = {29,0x1FFFF7E1}, + [I(144,65)] = {30,0x3FFFFB21}, + [I(145,65)] = {30,0x3FFFFB61}, + [I(146,65)] = {28,0xFFFF5E1}, + [I(147,65)] = {29,0x1FFFF821}, + [I(148,65)] = {30,0x3FFFFBA1}, + [I(149,65)] = {29,0x1FFFF861}, + [I(150,65)] = {29,0x1FFFF8A1}, + [I(151,65)] = {29,0x1FFFF8E1}, + [I(152,65)] = {29,0x1FFFF921}, + [I(153,65)] = {27,0x7FFF721}, + [I(154,65)] = {28,0xFFFF621}, + [I(155,65)] = {29,0x1FFFF961}, + [I(156,65)] = {28,0xFFFF661}, + [I(157,65)] = {29,0x1FFFF9A1}, + [I(158,65)] = {29,0x1FFFF9E1}, + [I(159,65)] = {30,0x3FFFFBE1}, + [I(160,65)] = {28,0xFFFF6A1}, + [I(161,65)] = {27,0x7FFF761}, + [I(162,65)] = {26,0x3FFFA61}, + [I(163,65)] = {28,0xFFFF6E1}, + [I(164,65)] = {28,0xFFFF721}, + [I(165,65)] = {29,0x1FFFFA21}, + [I(166,65)] = {29,0x1FFFFA61}, + [I(167,65)] = {27,0x7FFF7A1}, + [I(168,65)] = {29,0x1FFFFAA1}, + [I(169,65)] = {28,0xFFFF761}, + [I(170,65)] = {28,0xFFFF7A1}, + [I(171,65)] = {30,0x3FFFFC21}, + [I(172,65)] = {27,0x7FFF7E1}, + [I(173,65)] = {28,0xFFFF7E1}, + [I(174,65)] = {29,0x1FFFFAE1}, + [I(175,65)] = {29,0x1FFFFB21}, + [I(176,65)] = {27,0x7FFF821}, + [I(177,65)] = {27,0x7FFF861}, + [I(178,65)] = {28,0xFFFF821}, + [I(179,65)] = {27,0x7FFF8A1}, + [I(180,65)] = {29,0x1FFFFB61}, + [I(181,65)] = {28,0xFFFF861}, + [I(182,65)] = {29,0x1FFFFBA1}, + [I(183,65)] = {29,0x1FFFFBE1}, + [I(184,65)] = {26,0x3FFFAA1}, + [I(185,65)] = {28,0xFFFF8A1}, + [I(186,65)] = {28,0xFFFF8E1}, + [I(187,65)] = {28,0xFFFF921}, + [I(188,65)] = {29,0x1FFFFC21}, + [I(189,65)] = {28,0xFFFF961}, + [I(190,65)] = {28,0xFFFF9A1}, + [I(191,65)] = {29,0x1FFFFC61}, + [I(192,65)] = {X32,0xFFFFF821}, + [I(193,65)] = {X32,0xFFFFF861}, + [I(194,65)] = {26,0x3FFFAE1}, + [I(195,65)] = {25,0x1FFFC61}, + [I(196,65)] = {28,0xFFFF9E1}, + [I(197,65)] = {29,0x1FFFFCA1}, + [I(198,65)] = {28,0xFFFFA21}, + [I(199,65)] = {31,0x7FFFFB21}, + [I(200,65)] = {X32,0xFFFFF8A1}, + [I(201,65)] = {X32,0xFFFFF8E1}, + [I(202,65)] = {X32,0xFFFFF921}, + [I(203,65)] = {64,0}, + [I(204,65)] = {64,0}, + [I(205,65)] = {X32,0xFFFFF961}, + [I(206,65)] = {30,0x3FFFFC61}, + [I(207,65)] = {31,0x7FFFFB61}, + [I(208,65)] = {25,0x1FFFCA1}, + [I(209,65)] = {27,0x7FFF8E1}, + [I(210,65)] = {X32,0xFFFFF9A1}, + [I(211,65)] = {64,0}, + [I(212,65)] = {64,0}, + [I(213,65)] = {X32,0xFFFFF9E1}, + [I(214,65)] = {64,0}, + [I(215,65)] = {30,0x3FFFFCA1}, + [I(216,65)] = {27,0x7FFF921}, + [I(217,65)] = {27,0x7FFF961}, + [I(218,65)] = {X32,0xFFFFFA21}, + [I(219,65)] = {X32,0xFFFFFA61}, + [I(220,65)] = {64,0}, + [I(221,65)] = {64,0}, + [I(222,65)] = {64,0}, + [I(223,65)] = {64,0}, + [I(224,65)] = {26,0x3FFFB21}, + [I(225,65)] = {30,0x3FFFFCE1}, + [I(226,65)] = {26,0x3FFFB61}, + [I(227,65)] = {27,0x7FFF9A1}, + [I(228,65)] = {28,0xFFFFA61}, + [I(229,65)] = {27,0x7FFF9E1}, + [I(230,65)] = {27,0x7FFFA21}, + [I(231,65)] = {29,0x1FFFFCE1}, + [I(232,65)] = {28,0xFFFFAA1}, + [I(233,65)] = {28,0xFFFFAE1}, + [I(234,65)] = {31,0x7FFFFBA1}, + [I(235,65)] = {31,0x7FFFFBE1}, + [I(236,65)] = {30,0x3FFFFD21}, + [I(237,65)] = {30,0x3FFFFD61}, + [I(238,65)] = {X32,0xFFFFFAA1}, + [I(239,65)] = {29,0x1FFFFD21}, + [I(240,65)] = {X32,0xFFFFFAE1}, + [I(241,65)] = {64,0}, + [I(242,65)] = {X32,0xFFFFFB21}, + [I(243,65)] = {X32,0xFFFFFB61}, + [I(244,65)] = {64,0}, + [I(245,65)] = {64,0}, + [I(246,65)] = {64,0}, + [I(247,65)] = {64,0}, + [I(248,65)] = {64,0}, + [I(249,65)] = {64,0}, + [I(250,65)] = {64,0}, + [I(251,65)] = {64,0}, + [I(252,65)] = {64,0}, + [I(253,65)] = {64,0}, + [I(254,65)] = {64,0}, + [I(255,65)] = {X32,0xFFFFFBA1}, + [I(0,66)] = {20,0xFFC5D}, + [I(1,66)] = {30,0x3FFFEC5D}, + [I(2,66)] = {64,0}, + [I(3,66)] = {64,0}, + [I(4,66)] = {64,0}, + [I(5,66)] = {64,0}, + [I(6,66)] = {64,0}, + [I(7,66)] = {64,0}, + [I(8,66)] = {64,0}, + [I(9,66)] = {31,0x7FFFF55D}, + [I(10,66)] = {64,0}, + [I(11,66)] = {64,0}, + [I(12,66)] = {64,0}, + [I(13,66)] = {64,0}, + [I(14,66)] = {64,0}, + [I(15,66)] = {64,0}, + [I(16,66)] = {64,0}, + [I(17,66)] = {64,0}, + [I(18,66)] = {64,0}, + [I(19,66)] = {64,0}, + [I(20,66)] = {64,0}, + [I(21,66)] = {64,0}, + [I(22,66)] = {64,0}, + [I(23,66)] = {64,0}, + [I(24,66)] = {64,0}, + [I(25,66)] = {64,0}, + [I(26,66)] = {64,0}, + [I(27,66)] = {64,0}, + [I(28,66)] = {64,0}, + [I(29,66)] = {64,0}, + [I(30,66)] = {64,0}, + [I(31,66)] = {64,0}, + [I(32,66)] = {13,0xA5D}, + [I(33,66)] = {17,0x1FC5D}, + [I(34,66)] = {17,0x1FCDD}, + [I(35,66)] = {19,0x7FD5D}, + [I(36,66)] = {20,0xFFCDD}, + [I(37,66)] = {13,0xADD}, + [I(38,66)] = {15,0x7C5D}, + [I(39,66)] = {18,0x3FD5D}, + [I(40,66)] = {17,0x1FD5D}, + [I(41,66)] = {17,0x1FDDD}, + [I(42,66)] = {15,0x7CDD}, + [I(43,66)] = {18,0x3FDDD}, + [I(44,66)] = {15,0x7D5D}, + [I(45,66)] = {13,0xB5D}, + [I(46,66)] = {13,0xBDD}, + [I(47,66)] = {13,0xC5D}, + [I(48,66)] = {12,0x5D}, + [I(49,66)] = {12,0xDD}, + [I(50,66)] = {12,0x15D}, + [I(51,66)] = {13,0xCDD}, + [I(52,66)] = {13,0xD5D}, + [I(53,66)] = {13,0xDDD}, + [I(54,66)] = {13,0xE5D}, + [I(55,66)] = {13,0xEDD}, + [I(56,66)] = {13,0xF5D}, + [I(57,66)] = {13,0xFDD}, + [I(58,66)] = {14,0x2E5D}, + [I(59,66)] = {15,0x7DDD}, + [I(60,66)] = {22,0x3FFE5D}, + [I(61,66)] = {13,0x105D}, + [I(62,66)] = {19,0x7FDDD}, + [I(63,66)] = {17,0x1FE5D}, + [I(64,66)] = {20,0xFFD5D}, + [I(65,66)] = {13,0x10DD}, + [I(66,66)] = {14,0x2EDD}, + [I(67,66)] = {14,0x2F5D}, + [I(68,66)] = {14,0x2FDD}, + [I(69,66)] = {14,0x305D}, + [I(70,66)] = {14,0x30DD}, + [I(71,66)] = {14,0x315D}, + [I(72,66)] = {14,0x31DD}, + [I(73,66)] = {14,0x325D}, + [I(74,66)] = {14,0x32DD}, + [I(75,66)] = {14,0x335D}, + [I(76,66)] = {14,0x33DD}, + [I(77,66)] = {14,0x345D}, + [I(78,66)] = {14,0x34DD}, + [I(79,66)] = {14,0x355D}, + [I(80,66)] = {14,0x35DD}, + [I(81,66)] = {14,0x365D}, + [I(82,66)] = {14,0x36DD}, + [I(83,66)] = {14,0x375D}, + [I(84,66)] = {14,0x37DD}, + [I(85,66)] = {14,0x385D}, + [I(86,66)] = {14,0x38DD}, + [I(87,66)] = {14,0x395D}, + [I(88,66)] = {15,0x7E5D}, + [I(89,66)] = {14,0x39DD}, + [I(90,66)] = {15,0x7EDD}, + [I(91,66)] = {20,0xFFDDD}, + [I(92,66)] = {26,0x3FFF85D}, + [I(93,66)] = {20,0xFFE5D}, + [I(94,66)] = {21,0x1FFE5D}, + [I(95,66)] = {13,0x115D}, + [I(96,66)] = {22,0x3FFEDD}, + [I(97,66)] = {12,0x1DD}, + [I(98,66)] = {13,0x11DD}, + [I(99,66)] = {12,0x25D}, + [I(100,66)] = {13,0x125D}, + [I(101,66)] = {12,0x2DD}, + [I(102,66)] = {13,0x12DD}, + [I(103,66)] = {13,0x135D}, + [I(104,66)] = {13,0x13DD}, + [I(105,66)] = {12,0x35D}, + [I(106,66)] = {14,0x3A5D}, + [I(107,66)] = {14,0x3ADD}, + [I(108,66)] = {13,0x145D}, + [I(109,66)] = {13,0x14DD}, + [I(110,66)] = {13,0x155D}, + [I(111,66)] = {12,0x3DD}, + [I(112,66)] = {13,0x15DD}, + [I(113,66)] = {14,0x3B5D}, + [I(114,66)] = {13,0x165D}, + [I(115,66)] = {12,0x45D}, + [I(116,66)] = {12,0x4DD}, + [I(117,66)] = {13,0x16DD}, + [I(118,66)] = {14,0x3BDD}, + [I(119,66)] = {14,0x3C5D}, + [I(120,66)] = {14,0x3CDD}, + [I(121,66)] = {14,0x3D5D}, + [I(122,66)] = {14,0x3DDD}, + [I(123,66)] = {22,0x3FFF5D}, + [I(124,66)] = {18,0x3FE5D}, + [I(125,66)] = {21,0x1FFEDD}, + [I(126,66)] = {20,0xFFEDD}, + [I(127,66)] = {64,0}, + [I(128,66)] = {27,0x7FFF35D}, + [I(129,66)] = {29,0x1FFFE95D}, + [I(130,66)] = {27,0x7FFF3DD}, + [I(131,66)] = {27,0x7FFF45D}, + [I(132,66)] = {29,0x1FFFE9DD}, + [I(133,66)] = {29,0x1FFFEA5D}, + [I(134,66)] = {29,0x1FFFEADD}, + [I(135,66)] = {30,0x3FFFECDD}, + [I(136,66)] = {29,0x1FFFEB5D}, + [I(137,66)] = {30,0x3FFFED5D}, + [I(138,66)] = {30,0x3FFFEDDD}, + [I(139,66)] = {30,0x3FFFEE5D}, + [I(140,66)] = {30,0x3FFFEEDD}, + [I(141,66)] = {30,0x3FFFEF5D}, + [I(142,66)] = {31,0x7FFFF5DD}, + [I(143,66)] = {30,0x3FFFEFDD}, + [I(144,66)] = {31,0x7FFFF65D}, + [I(145,66)] = {31,0x7FFFF6DD}, + [I(146,66)] = {29,0x1FFFEBDD}, + [I(147,66)] = {30,0x3FFFF05D}, + [I(148,66)] = {31,0x7FFFF75D}, + [I(149,66)] = {30,0x3FFFF0DD}, + [I(150,66)] = {30,0x3FFFF15D}, + [I(151,66)] = {30,0x3FFFF1DD}, + [I(152,66)] = {30,0x3FFFF25D}, + [I(153,66)] = {28,0xFFFEE5D}, + [I(154,66)] = {29,0x1FFFEC5D}, + [I(155,66)] = {30,0x3FFFF2DD}, + [I(156,66)] = {29,0x1FFFECDD}, + [I(157,66)] = {30,0x3FFFF35D}, + [I(158,66)] = {30,0x3FFFF3DD}, + [I(159,66)] = {31,0x7FFFF7DD}, + [I(160,66)] = {29,0x1FFFED5D}, + [I(161,66)] = {28,0xFFFEEDD}, + [I(162,66)] = {27,0x7FFF4DD}, + [I(163,66)] = {29,0x1FFFEDDD}, + [I(164,66)] = {29,0x1FFFEE5D}, + [I(165,66)] = {30,0x3FFFF45D}, + [I(166,66)] = {30,0x3FFFF4DD}, + [I(167,66)] = {28,0xFFFEF5D}, + [I(168,66)] = {30,0x3FFFF55D}, + [I(169,66)] = {29,0x1FFFEEDD}, + [I(170,66)] = {29,0x1FFFEF5D}, + [I(171,66)] = {31,0x7FFFF85D}, + [I(172,66)] = {28,0xFFFEFDD}, + [I(173,66)] = {29,0x1FFFEFDD}, + [I(174,66)] = {30,0x3FFFF5DD}, + [I(175,66)] = {30,0x3FFFF65D}, + [I(176,66)] = {28,0xFFFF05D}, + [I(177,66)] = {28,0xFFFF0DD}, + [I(178,66)] = {29,0x1FFFF05D}, + [I(179,66)] = {28,0xFFFF15D}, + [I(180,66)] = {30,0x3FFFF6DD}, + [I(181,66)] = {29,0x1FFFF0DD}, + [I(182,66)] = {30,0x3FFFF75D}, + [I(183,66)] = {30,0x3FFFF7DD}, + [I(184,66)] = {27,0x7FFF55D}, + [I(185,66)] = {29,0x1FFFF15D}, + [I(186,66)] = {29,0x1FFFF1DD}, + [I(187,66)] = {29,0x1FFFF25D}, + [I(188,66)] = {30,0x3FFFF85D}, + [I(189,66)] = {29,0x1FFFF2DD}, + [I(190,66)] = {29,0x1FFFF35D}, + [I(191,66)] = {30,0x3FFFF8DD}, + [I(192,66)] = {64,0}, + [I(193,66)] = {64,0}, + [I(194,66)] = {27,0x7FFF5DD}, + [I(195,66)] = {26,0x3FFF8DD}, + [I(196,66)] = {29,0x1FFFF3DD}, + [I(197,66)] = {30,0x3FFFF95D}, + [I(198,66)] = {29,0x1FFFF45D}, + [I(199,66)] = {X32,0xFFFFF65D}, + [I(200,66)] = {64,0}, + [I(201,66)] = {64,0}, + [I(202,66)] = {64,0}, + [I(203,66)] = {64,0}, + [I(204,66)] = {64,0}, + [I(205,66)] = {64,0}, + [I(206,66)] = {31,0x7FFFF8DD}, + [I(207,66)] = {X32,0xFFFFF6DD}, + [I(208,66)] = {26,0x3FFF95D}, + [I(209,66)] = {28,0xFFFF1DD}, + [I(210,66)] = {64,0}, + [I(211,66)] = {64,0}, + [I(212,66)] = {64,0}, + [I(213,66)] = {64,0}, + [I(214,66)] = {64,0}, + [I(215,66)] = {31,0x7FFFF95D}, + [I(216,66)] = {28,0xFFFF25D}, + [I(217,66)] = {28,0xFFFF2DD}, + [I(218,66)] = {64,0}, + [I(219,66)] = {64,0}, + [I(220,66)] = {64,0}, + [I(221,66)] = {64,0}, + [I(222,66)] = {64,0}, + [I(223,66)] = {64,0}, + [I(224,66)] = {27,0x7FFF65D}, + [I(225,66)] = {31,0x7FFFF9DD}, + [I(226,66)] = {27,0x7FFF6DD}, + [I(227,66)] = {28,0xFFFF35D}, + [I(228,66)] = {29,0x1FFFF4DD}, + [I(229,66)] = {28,0xFFFF3DD}, + [I(230,66)] = {28,0xFFFF45D}, + [I(231,66)] = {30,0x3FFFF9DD}, + [I(232,66)] = {29,0x1FFFF55D}, + [I(233,66)] = {29,0x1FFFF5DD}, + [I(234,66)] = {X32,0xFFFFF75D}, + [I(235,66)] = {X32,0xFFFFF7DD}, + [I(236,66)] = {31,0x7FFFFA5D}, + [I(237,66)] = {31,0x7FFFFADD}, + [I(238,66)] = {64,0}, + [I(239,66)] = {30,0x3FFFFA5D}, + [I(240,66)] = {64,0}, + [I(241,66)] = {64,0}, + [I(242,66)] = {64,0}, + [I(243,66)] = {64,0}, + [I(244,66)] = {64,0}, + [I(245,66)] = {64,0}, + [I(246,66)] = {64,0}, + [I(247,66)] = {64,0}, + [I(248,66)] = {64,0}, + [I(249,66)] = {64,0}, + [I(250,66)] = {64,0}, + [I(251,66)] = {64,0}, + [I(252,66)] = {64,0}, + [I(253,66)] = {64,0}, + [I(254,66)] = {64,0}, + [I(255,66)] = {64,0}, + [I(0,67)] = {20,0xFFC5E}, + [I(1,67)] = {30,0x3FFFEC5E}, + [I(2,67)] = {64,0}, + [I(3,67)] = {64,0}, + [I(4,67)] = {64,0}, + [I(5,67)] = {64,0}, + [I(6,67)] = {64,0}, + [I(7,67)] = {64,0}, + [I(8,67)] = {64,0}, + [I(9,67)] = {31,0x7FFFF55E}, + [I(10,67)] = {64,0}, + [I(11,67)] = {64,0}, + [I(12,67)] = {64,0}, + [I(13,67)] = {64,0}, + [I(14,67)] = {64,0}, + [I(15,67)] = {64,0}, + [I(16,67)] = {64,0}, + [I(17,67)] = {64,0}, + [I(18,67)] = {64,0}, + [I(19,67)] = {64,0}, + [I(20,67)] = {64,0}, + [I(21,67)] = {64,0}, + [I(22,67)] = {64,0}, + [I(23,67)] = {64,0}, + [I(24,67)] = {64,0}, + [I(25,67)] = {64,0}, + [I(26,67)] = {64,0}, + [I(27,67)] = {64,0}, + [I(28,67)] = {64,0}, + [I(29,67)] = {64,0}, + [I(30,67)] = {64,0}, + [I(31,67)] = {64,0}, + [I(32,67)] = {13,0xA5E}, + [I(33,67)] = {17,0x1FC5E}, + [I(34,67)] = {17,0x1FCDE}, + [I(35,67)] = {19,0x7FD5E}, + [I(36,67)] = {20,0xFFCDE}, + [I(37,67)] = {13,0xADE}, + [I(38,67)] = {15,0x7C5E}, + [I(39,67)] = {18,0x3FD5E}, + [I(40,67)] = {17,0x1FD5E}, + [I(41,67)] = {17,0x1FDDE}, + [I(42,67)] = {15,0x7CDE}, + [I(43,67)] = {18,0x3FDDE}, + [I(44,67)] = {15,0x7D5E}, + [I(45,67)] = {13,0xB5E}, + [I(46,67)] = {13,0xBDE}, + [I(47,67)] = {13,0xC5E}, + [I(48,67)] = {12,0x5E}, + [I(49,67)] = {12,0xDE}, + [I(50,67)] = {12,0x15E}, + [I(51,67)] = {13,0xCDE}, + [I(52,67)] = {13,0xD5E}, + [I(53,67)] = {13,0xDDE}, + [I(54,67)] = {13,0xE5E}, + [I(55,67)] = {13,0xEDE}, + [I(56,67)] = {13,0xF5E}, + [I(57,67)] = {13,0xFDE}, + [I(58,67)] = {14,0x2E5E}, + [I(59,67)] = {15,0x7DDE}, + [I(60,67)] = {22,0x3FFE5E}, + [I(61,67)] = {13,0x105E}, + [I(62,67)] = {19,0x7FDDE}, + [I(63,67)] = {17,0x1FE5E}, + [I(64,67)] = {20,0xFFD5E}, + [I(65,67)] = {13,0x10DE}, + [I(66,67)] = {14,0x2EDE}, + [I(67,67)] = {14,0x2F5E}, + [I(68,67)] = {14,0x2FDE}, + [I(69,67)] = {14,0x305E}, + [I(70,67)] = {14,0x30DE}, + [I(71,67)] = {14,0x315E}, + [I(72,67)] = {14,0x31DE}, + [I(73,67)] = {14,0x325E}, + [I(74,67)] = {14,0x32DE}, + [I(75,67)] = {14,0x335E}, + [I(76,67)] = {14,0x33DE}, + [I(77,67)] = {14,0x345E}, + [I(78,67)] = {14,0x34DE}, + [I(79,67)] = {14,0x355E}, + [I(80,67)] = {14,0x35DE}, + [I(81,67)] = {14,0x365E}, + [I(82,67)] = {14,0x36DE}, + [I(83,67)] = {14,0x375E}, + [I(84,67)] = {14,0x37DE}, + [I(85,67)] = {14,0x385E}, + [I(86,67)] = {14,0x38DE}, + [I(87,67)] = {14,0x395E}, + [I(88,67)] = {15,0x7E5E}, + [I(89,67)] = {14,0x39DE}, + [I(90,67)] = {15,0x7EDE}, + [I(91,67)] = {20,0xFFDDE}, + [I(92,67)] = {26,0x3FFF85E}, + [I(93,67)] = {20,0xFFE5E}, + [I(94,67)] = {21,0x1FFE5E}, + [I(95,67)] = {13,0x115E}, + [I(96,67)] = {22,0x3FFEDE}, + [I(97,67)] = {12,0x1DE}, + [I(98,67)] = {13,0x11DE}, + [I(99,67)] = {12,0x25E}, + [I(100,67)] = {13,0x125E}, + [I(101,67)] = {12,0x2DE}, + [I(102,67)] = {13,0x12DE}, + [I(103,67)] = {13,0x135E}, + [I(104,67)] = {13,0x13DE}, + [I(105,67)] = {12,0x35E}, + [I(106,67)] = {14,0x3A5E}, + [I(107,67)] = {14,0x3ADE}, + [I(108,67)] = {13,0x145E}, + [I(109,67)] = {13,0x14DE}, + [I(110,67)] = {13,0x155E}, + [I(111,67)] = {12,0x3DE}, + [I(112,67)] = {13,0x15DE}, + [I(113,67)] = {14,0x3B5E}, + [I(114,67)] = {13,0x165E}, + [I(115,67)] = {12,0x45E}, + [I(116,67)] = {12,0x4DE}, + [I(117,67)] = {13,0x16DE}, + [I(118,67)] = {14,0x3BDE}, + [I(119,67)] = {14,0x3C5E}, + [I(120,67)] = {14,0x3CDE}, + [I(121,67)] = {14,0x3D5E}, + [I(122,67)] = {14,0x3DDE}, + [I(123,67)] = {22,0x3FFF5E}, + [I(124,67)] = {18,0x3FE5E}, + [I(125,67)] = {21,0x1FFEDE}, + [I(126,67)] = {20,0xFFEDE}, + [I(127,67)] = {64,0}, + [I(128,67)] = {27,0x7FFF35E}, + [I(129,67)] = {29,0x1FFFE95E}, + [I(130,67)] = {27,0x7FFF3DE}, + [I(131,67)] = {27,0x7FFF45E}, + [I(132,67)] = {29,0x1FFFE9DE}, + [I(133,67)] = {29,0x1FFFEA5E}, + [I(134,67)] = {29,0x1FFFEADE}, + [I(135,67)] = {30,0x3FFFECDE}, + [I(136,67)] = {29,0x1FFFEB5E}, + [I(137,67)] = {30,0x3FFFED5E}, + [I(138,67)] = {30,0x3FFFEDDE}, + [I(139,67)] = {30,0x3FFFEE5E}, + [I(140,67)] = {30,0x3FFFEEDE}, + [I(141,67)] = {30,0x3FFFEF5E}, + [I(142,67)] = {31,0x7FFFF5DE}, + [I(143,67)] = {30,0x3FFFEFDE}, + [I(144,67)] = {31,0x7FFFF65E}, + [I(145,67)] = {31,0x7FFFF6DE}, + [I(146,67)] = {29,0x1FFFEBDE}, + [I(147,67)] = {30,0x3FFFF05E}, + [I(148,67)] = {31,0x7FFFF75E}, + [I(149,67)] = {30,0x3FFFF0DE}, + [I(150,67)] = {30,0x3FFFF15E}, + [I(151,67)] = {30,0x3FFFF1DE}, + [I(152,67)] = {30,0x3FFFF25E}, + [I(153,67)] = {28,0xFFFEE5E}, + [I(154,67)] = {29,0x1FFFEC5E}, + [I(155,67)] = {30,0x3FFFF2DE}, + [I(156,67)] = {29,0x1FFFECDE}, + [I(157,67)] = {30,0x3FFFF35E}, + [I(158,67)] = {30,0x3FFFF3DE}, + [I(159,67)] = {31,0x7FFFF7DE}, + [I(160,67)] = {29,0x1FFFED5E}, + [I(161,67)] = {28,0xFFFEEDE}, + [I(162,67)] = {27,0x7FFF4DE}, + [I(163,67)] = {29,0x1FFFEDDE}, + [I(164,67)] = {29,0x1FFFEE5E}, + [I(165,67)] = {30,0x3FFFF45E}, + [I(166,67)] = {30,0x3FFFF4DE}, + [I(167,67)] = {28,0xFFFEF5E}, + [I(168,67)] = {30,0x3FFFF55E}, + [I(169,67)] = {29,0x1FFFEEDE}, + [I(170,67)] = {29,0x1FFFEF5E}, + [I(171,67)] = {31,0x7FFFF85E}, + [I(172,67)] = {28,0xFFFEFDE}, + [I(173,67)] = {29,0x1FFFEFDE}, + [I(174,67)] = {30,0x3FFFF5DE}, + [I(175,67)] = {30,0x3FFFF65E}, + [I(176,67)] = {28,0xFFFF05E}, + [I(177,67)] = {28,0xFFFF0DE}, + [I(178,67)] = {29,0x1FFFF05E}, + [I(179,67)] = {28,0xFFFF15E}, + [I(180,67)] = {30,0x3FFFF6DE}, + [I(181,67)] = {29,0x1FFFF0DE}, + [I(182,67)] = {30,0x3FFFF75E}, + [I(183,67)] = {30,0x3FFFF7DE}, + [I(184,67)] = {27,0x7FFF55E}, + [I(185,67)] = {29,0x1FFFF15E}, + [I(186,67)] = {29,0x1FFFF1DE}, + [I(187,67)] = {29,0x1FFFF25E}, + [I(188,67)] = {30,0x3FFFF85E}, + [I(189,67)] = {29,0x1FFFF2DE}, + [I(190,67)] = {29,0x1FFFF35E}, + [I(191,67)] = {30,0x3FFFF8DE}, + [I(192,67)] = {64,0}, + [I(193,67)] = {64,0}, + [I(194,67)] = {27,0x7FFF5DE}, + [I(195,67)] = {26,0x3FFF8DE}, + [I(196,67)] = {29,0x1FFFF3DE}, + [I(197,67)] = {30,0x3FFFF95E}, + [I(198,67)] = {29,0x1FFFF45E}, + [I(199,67)] = {X32,0xFFFFF65E}, + [I(200,67)] = {64,0}, + [I(201,67)] = {64,0}, + [I(202,67)] = {64,0}, + [I(203,67)] = {64,0}, + [I(204,67)] = {64,0}, + [I(205,67)] = {64,0}, + [I(206,67)] = {31,0x7FFFF8DE}, + [I(207,67)] = {X32,0xFFFFF6DE}, + [I(208,67)] = {26,0x3FFF95E}, + [I(209,67)] = {28,0xFFFF1DE}, + [I(210,67)] = {64,0}, + [I(211,67)] = {64,0}, + [I(212,67)] = {64,0}, + [I(213,67)] = {64,0}, + [I(214,67)] = {64,0}, + [I(215,67)] = {31,0x7FFFF95E}, + [I(216,67)] = {28,0xFFFF25E}, + [I(217,67)] = {28,0xFFFF2DE}, + [I(218,67)] = {64,0}, + [I(219,67)] = {64,0}, + [I(220,67)] = {64,0}, + [I(221,67)] = {64,0}, + [I(222,67)] = {64,0}, + [I(223,67)] = {64,0}, + [I(224,67)] = {27,0x7FFF65E}, + [I(225,67)] = {31,0x7FFFF9DE}, + [I(226,67)] = {27,0x7FFF6DE}, + [I(227,67)] = {28,0xFFFF35E}, + [I(228,67)] = {29,0x1FFFF4DE}, + [I(229,67)] = {28,0xFFFF3DE}, + [I(230,67)] = {28,0xFFFF45E}, + [I(231,67)] = {30,0x3FFFF9DE}, + [I(232,67)] = {29,0x1FFFF55E}, + [I(233,67)] = {29,0x1FFFF5DE}, + [I(234,67)] = {X32,0xFFFFF75E}, + [I(235,67)] = {X32,0xFFFFF7DE}, + [I(236,67)] = {31,0x7FFFFA5E}, + [I(237,67)] = {31,0x7FFFFADE}, + [I(238,67)] = {64,0}, + [I(239,67)] = {30,0x3FFFFA5E}, + [I(240,67)] = {64,0}, + [I(241,67)] = {64,0}, + [I(242,67)] = {64,0}, + [I(243,67)] = {64,0}, + [I(244,67)] = {64,0}, + [I(245,67)] = {64,0}, + [I(246,67)] = {64,0}, + [I(247,67)] = {64,0}, + [I(248,67)] = {64,0}, + [I(249,67)] = {64,0}, + [I(250,67)] = {64,0}, + [I(251,67)] = {64,0}, + [I(252,67)] = {64,0}, + [I(253,67)] = {64,0}, + [I(254,67)] = {64,0}, + [I(255,67)] = {64,0}, + [I(0,68)] = {20,0xFFC5F}, + [I(1,68)] = {30,0x3FFFEC5F}, + [I(2,68)] = {64,0}, + [I(3,68)] = {64,0}, + [I(4,68)] = {64,0}, + [I(5,68)] = {64,0}, + [I(6,68)] = {64,0}, + [I(7,68)] = {64,0}, + [I(8,68)] = {64,0}, + [I(9,68)] = {31,0x7FFFF55F}, + [I(10,68)] = {64,0}, + [I(11,68)] = {64,0}, + [I(12,68)] = {64,0}, + [I(13,68)] = {64,0}, + [I(14,68)] = {64,0}, + [I(15,68)] = {64,0}, + [I(16,68)] = {64,0}, + [I(17,68)] = {64,0}, + [I(18,68)] = {64,0}, + [I(19,68)] = {64,0}, + [I(20,68)] = {64,0}, + [I(21,68)] = {64,0}, + [I(22,68)] = {64,0}, + [I(23,68)] = {64,0}, + [I(24,68)] = {64,0}, + [I(25,68)] = {64,0}, + [I(26,68)] = {64,0}, + [I(27,68)] = {64,0}, + [I(28,68)] = {64,0}, + [I(29,68)] = {64,0}, + [I(30,68)] = {64,0}, + [I(31,68)] = {64,0}, + [I(32,68)] = {13,0xA5F}, + [I(33,68)] = {17,0x1FC5F}, + [I(34,68)] = {17,0x1FCDF}, + [I(35,68)] = {19,0x7FD5F}, + [I(36,68)] = {20,0xFFCDF}, + [I(37,68)] = {13,0xADF}, + [I(38,68)] = {15,0x7C5F}, + [I(39,68)] = {18,0x3FD5F}, + [I(40,68)] = {17,0x1FD5F}, + [I(41,68)] = {17,0x1FDDF}, + [I(42,68)] = {15,0x7CDF}, + [I(43,68)] = {18,0x3FDDF}, + [I(44,68)] = {15,0x7D5F}, + [I(45,68)] = {13,0xB5F}, + [I(46,68)] = {13,0xBDF}, + [I(47,68)] = {13,0xC5F}, + [I(48,68)] = {12,0x5F}, + [I(49,68)] = {12,0xDF}, + [I(50,68)] = {12,0x15F}, + [I(51,68)] = {13,0xCDF}, + [I(52,68)] = {13,0xD5F}, + [I(53,68)] = {13,0xDDF}, + [I(54,68)] = {13,0xE5F}, + [I(55,68)] = {13,0xEDF}, + [I(56,68)] = {13,0xF5F}, + [I(57,68)] = {13,0xFDF}, + [I(58,68)] = {14,0x2E5F}, + [I(59,68)] = {15,0x7DDF}, + [I(60,68)] = {22,0x3FFE5F}, + [I(61,68)] = {13,0x105F}, + [I(62,68)] = {19,0x7FDDF}, + [I(63,68)] = {17,0x1FE5F}, + [I(64,68)] = {20,0xFFD5F}, + [I(65,68)] = {13,0x10DF}, + [I(66,68)] = {14,0x2EDF}, + [I(67,68)] = {14,0x2F5F}, + [I(68,68)] = {14,0x2FDF}, + [I(69,68)] = {14,0x305F}, + [I(70,68)] = {14,0x30DF}, + [I(71,68)] = {14,0x315F}, + [I(72,68)] = {14,0x31DF}, + [I(73,68)] = {14,0x325F}, + [I(74,68)] = {14,0x32DF}, + [I(75,68)] = {14,0x335F}, + [I(76,68)] = {14,0x33DF}, + [I(77,68)] = {14,0x345F}, + [I(78,68)] = {14,0x34DF}, + [I(79,68)] = {14,0x355F}, + [I(80,68)] = {14,0x35DF}, + [I(81,68)] = {14,0x365F}, + [I(82,68)] = {14,0x36DF}, + [I(83,68)] = {14,0x375F}, + [I(84,68)] = {14,0x37DF}, + [I(85,68)] = {14,0x385F}, + [I(86,68)] = {14,0x38DF}, + [I(87,68)] = {14,0x395F}, + [I(88,68)] = {15,0x7E5F}, + [I(89,68)] = {14,0x39DF}, + [I(90,68)] = {15,0x7EDF}, + [I(91,68)] = {20,0xFFDDF}, + [I(92,68)] = {26,0x3FFF85F}, + [I(93,68)] = {20,0xFFE5F}, + [I(94,68)] = {21,0x1FFE5F}, + [I(95,68)] = {13,0x115F}, + [I(96,68)] = {22,0x3FFEDF}, + [I(97,68)] = {12,0x1DF}, + [I(98,68)] = {13,0x11DF}, + [I(99,68)] = {12,0x25F}, + [I(100,68)] = {13,0x125F}, + [I(101,68)] = {12,0x2DF}, + [I(102,68)] = {13,0x12DF}, + [I(103,68)] = {13,0x135F}, + [I(104,68)] = {13,0x13DF}, + [I(105,68)] = {12,0x35F}, + [I(106,68)] = {14,0x3A5F}, + [I(107,68)] = {14,0x3ADF}, + [I(108,68)] = {13,0x145F}, + [I(109,68)] = {13,0x14DF}, + [I(110,68)] = {13,0x155F}, + [I(111,68)] = {12,0x3DF}, + [I(112,68)] = {13,0x15DF}, + [I(113,68)] = {14,0x3B5F}, + [I(114,68)] = {13,0x165F}, + [I(115,68)] = {12,0x45F}, + [I(116,68)] = {12,0x4DF}, + [I(117,68)] = {13,0x16DF}, + [I(118,68)] = {14,0x3BDF}, + [I(119,68)] = {14,0x3C5F}, + [I(120,68)] = {14,0x3CDF}, + [I(121,68)] = {14,0x3D5F}, + [I(122,68)] = {14,0x3DDF}, + [I(123,68)] = {22,0x3FFF5F}, + [I(124,68)] = {18,0x3FE5F}, + [I(125,68)] = {21,0x1FFEDF}, + [I(126,68)] = {20,0xFFEDF}, + [I(127,68)] = {64,0}, + [I(128,68)] = {27,0x7FFF35F}, + [I(129,68)] = {29,0x1FFFE95F}, + [I(130,68)] = {27,0x7FFF3DF}, + [I(131,68)] = {27,0x7FFF45F}, + [I(132,68)] = {29,0x1FFFE9DF}, + [I(133,68)] = {29,0x1FFFEA5F}, + [I(134,68)] = {29,0x1FFFEADF}, + [I(135,68)] = {30,0x3FFFECDF}, + [I(136,68)] = {29,0x1FFFEB5F}, + [I(137,68)] = {30,0x3FFFED5F}, + [I(138,68)] = {30,0x3FFFEDDF}, + [I(139,68)] = {30,0x3FFFEE5F}, + [I(140,68)] = {30,0x3FFFEEDF}, + [I(141,68)] = {30,0x3FFFEF5F}, + [I(142,68)] = {31,0x7FFFF5DF}, + [I(143,68)] = {30,0x3FFFEFDF}, + [I(144,68)] = {31,0x7FFFF65F}, + [I(145,68)] = {31,0x7FFFF6DF}, + [I(146,68)] = {29,0x1FFFEBDF}, + [I(147,68)] = {30,0x3FFFF05F}, + [I(148,68)] = {31,0x7FFFF75F}, + [I(149,68)] = {30,0x3FFFF0DF}, + [I(150,68)] = {30,0x3FFFF15F}, + [I(151,68)] = {30,0x3FFFF1DF}, + [I(152,68)] = {30,0x3FFFF25F}, + [I(153,68)] = {28,0xFFFEE5F}, + [I(154,68)] = {29,0x1FFFEC5F}, + [I(155,68)] = {30,0x3FFFF2DF}, + [I(156,68)] = {29,0x1FFFECDF}, + [I(157,68)] = {30,0x3FFFF35F}, + [I(158,68)] = {30,0x3FFFF3DF}, + [I(159,68)] = {31,0x7FFFF7DF}, + [I(160,68)] = {29,0x1FFFED5F}, + [I(161,68)] = {28,0xFFFEEDF}, + [I(162,68)] = {27,0x7FFF4DF}, + [I(163,68)] = {29,0x1FFFEDDF}, + [I(164,68)] = {29,0x1FFFEE5F}, + [I(165,68)] = {30,0x3FFFF45F}, + [I(166,68)] = {30,0x3FFFF4DF}, + [I(167,68)] = {28,0xFFFEF5F}, + [I(168,68)] = {30,0x3FFFF55F}, + [I(169,68)] = {29,0x1FFFEEDF}, + [I(170,68)] = {29,0x1FFFEF5F}, + [I(171,68)] = {31,0x7FFFF85F}, + [I(172,68)] = {28,0xFFFEFDF}, + [I(173,68)] = {29,0x1FFFEFDF}, + [I(174,68)] = {30,0x3FFFF5DF}, + [I(175,68)] = {30,0x3FFFF65F}, + [I(176,68)] = {28,0xFFFF05F}, + [I(177,68)] = {28,0xFFFF0DF}, + [I(178,68)] = {29,0x1FFFF05F}, + [I(179,68)] = {28,0xFFFF15F}, + [I(180,68)] = {30,0x3FFFF6DF}, + [I(181,68)] = {29,0x1FFFF0DF}, + [I(182,68)] = {30,0x3FFFF75F}, + [I(183,68)] = {30,0x3FFFF7DF}, + [I(184,68)] = {27,0x7FFF55F}, + [I(185,68)] = {29,0x1FFFF15F}, + [I(186,68)] = {29,0x1FFFF1DF}, + [I(187,68)] = {29,0x1FFFF25F}, + [I(188,68)] = {30,0x3FFFF85F}, + [I(189,68)] = {29,0x1FFFF2DF}, + [I(190,68)] = {29,0x1FFFF35F}, + [I(191,68)] = {30,0x3FFFF8DF}, + [I(192,68)] = {64,0}, + [I(193,68)] = {64,0}, + [I(194,68)] = {27,0x7FFF5DF}, + [I(195,68)] = {26,0x3FFF8DF}, + [I(196,68)] = {29,0x1FFFF3DF}, + [I(197,68)] = {30,0x3FFFF95F}, + [I(198,68)] = {29,0x1FFFF45F}, + [I(199,68)] = {X32,0xFFFFF65F}, + [I(200,68)] = {64,0}, + [I(201,68)] = {64,0}, + [I(202,68)] = {64,0}, + [I(203,68)] = {64,0}, + [I(204,68)] = {64,0}, + [I(205,68)] = {64,0}, + [I(206,68)] = {31,0x7FFFF8DF}, + [I(207,68)] = {X32,0xFFFFF6DF}, + [I(208,68)] = {26,0x3FFF95F}, + [I(209,68)] = {28,0xFFFF1DF}, + [I(210,68)] = {64,0}, + [I(211,68)] = {64,0}, + [I(212,68)] = {64,0}, + [I(213,68)] = {64,0}, + [I(214,68)] = {64,0}, + [I(215,68)] = {31,0x7FFFF95F}, + [I(216,68)] = {28,0xFFFF25F}, + [I(217,68)] = {28,0xFFFF2DF}, + [I(218,68)] = {64,0}, + [I(219,68)] = {64,0}, + [I(220,68)] = {64,0}, + [I(221,68)] = {64,0}, + [I(222,68)] = {64,0}, + [I(223,68)] = {64,0}, + [I(224,68)] = {27,0x7FFF65F}, + [I(225,68)] = {31,0x7FFFF9DF}, + [I(226,68)] = {27,0x7FFF6DF}, + [I(227,68)] = {28,0xFFFF35F}, + [I(228,68)] = {29,0x1FFFF4DF}, + [I(229,68)] = {28,0xFFFF3DF}, + [I(230,68)] = {28,0xFFFF45F}, + [I(231,68)] = {30,0x3FFFF9DF}, + [I(232,68)] = {29,0x1FFFF55F}, + [I(233,68)] = {29,0x1FFFF5DF}, + [I(234,68)] = {X32,0xFFFFF75F}, + [I(235,68)] = {X32,0xFFFFF7DF}, + [I(236,68)] = {31,0x7FFFFA5F}, + [I(237,68)] = {31,0x7FFFFADF}, + [I(238,68)] = {64,0}, + [I(239,68)] = {30,0x3FFFFA5F}, + [I(240,68)] = {64,0}, + [I(241,68)] = {64,0}, + [I(242,68)] = {64,0}, + [I(243,68)] = {64,0}, + [I(244,68)] = {64,0}, + [I(245,68)] = {64,0}, + [I(246,68)] = {64,0}, + [I(247,68)] = {64,0}, + [I(248,68)] = {64,0}, + [I(249,68)] = {64,0}, + [I(250,68)] = {64,0}, + [I(251,68)] = {64,0}, + [I(252,68)] = {64,0}, + [I(253,68)] = {64,0}, + [I(254,68)] = {64,0}, + [I(255,68)] = {64,0}, + [I(0,69)] = {20,0xFFC60}, + [I(1,69)] = {30,0x3FFFEC60}, + [I(2,69)] = {64,0}, + [I(3,69)] = {64,0}, + [I(4,69)] = {64,0}, + [I(5,69)] = {64,0}, + [I(6,69)] = {64,0}, + [I(7,69)] = {64,0}, + [I(8,69)] = {64,0}, + [I(9,69)] = {31,0x7FFFF560}, + [I(10,69)] = {64,0}, + [I(11,69)] = {64,0}, + [I(12,69)] = {64,0}, + [I(13,69)] = {64,0}, + [I(14,69)] = {64,0}, + [I(15,69)] = {64,0}, + [I(16,69)] = {64,0}, + [I(17,69)] = {64,0}, + [I(18,69)] = {64,0}, + [I(19,69)] = {64,0}, + [I(20,69)] = {64,0}, + [I(21,69)] = {64,0}, + [I(22,69)] = {64,0}, + [I(23,69)] = {64,0}, + [I(24,69)] = {64,0}, + [I(25,69)] = {64,0}, + [I(26,69)] = {64,0}, + [I(27,69)] = {64,0}, + [I(28,69)] = {64,0}, + [I(29,69)] = {64,0}, + [I(30,69)] = {64,0}, + [I(31,69)] = {64,0}, + [I(32,69)] = {13,0xA60}, + [I(33,69)] = {17,0x1FC60}, + [I(34,69)] = {17,0x1FCE0}, + [I(35,69)] = {19,0x7FD60}, + [I(36,69)] = {20,0xFFCE0}, + [I(37,69)] = {13,0xAE0}, + [I(38,69)] = {15,0x7C60}, + [I(39,69)] = {18,0x3FD60}, + [I(40,69)] = {17,0x1FD60}, + [I(41,69)] = {17,0x1FDE0}, + [I(42,69)] = {15,0x7CE0}, + [I(43,69)] = {18,0x3FDE0}, + [I(44,69)] = {15,0x7D60}, + [I(45,69)] = {13,0xB60}, + [I(46,69)] = {13,0xBE0}, + [I(47,69)] = {13,0xC60}, + [I(48,69)] = {12,0x60}, + [I(49,69)] = {12,0xE0}, + [I(50,69)] = {12,0x160}, + [I(51,69)] = {13,0xCE0}, + [I(52,69)] = {13,0xD60}, + [I(53,69)] = {13,0xDE0}, + [I(54,69)] = {13,0xE60}, + [I(55,69)] = {13,0xEE0}, + [I(56,69)] = {13,0xF60}, + [I(57,69)] = {13,0xFE0}, + [I(58,69)] = {14,0x2E60}, + [I(59,69)] = {15,0x7DE0}, + [I(60,69)] = {22,0x3FFE60}, + [I(61,69)] = {13,0x1060}, + [I(62,69)] = {19,0x7FDE0}, + [I(63,69)] = {17,0x1FE60}, + [I(64,69)] = {20,0xFFD60}, + [I(65,69)] = {13,0x10E0}, + [I(66,69)] = {14,0x2EE0}, + [I(67,69)] = {14,0x2F60}, + [I(68,69)] = {14,0x2FE0}, + [I(69,69)] = {14,0x3060}, + [I(70,69)] = {14,0x30E0}, + [I(71,69)] = {14,0x3160}, + [I(72,69)] = {14,0x31E0}, + [I(73,69)] = {14,0x3260}, + [I(74,69)] = {14,0x32E0}, + [I(75,69)] = {14,0x3360}, + [I(76,69)] = {14,0x33E0}, + [I(77,69)] = {14,0x3460}, + [I(78,69)] = {14,0x34E0}, + [I(79,69)] = {14,0x3560}, + [I(80,69)] = {14,0x35E0}, + [I(81,69)] = {14,0x3660}, + [I(82,69)] = {14,0x36E0}, + [I(83,69)] = {14,0x3760}, + [I(84,69)] = {14,0x37E0}, + [I(85,69)] = {14,0x3860}, + [I(86,69)] = {14,0x38E0}, + [I(87,69)] = {14,0x3960}, + [I(88,69)] = {15,0x7E60}, + [I(89,69)] = {14,0x39E0}, + [I(90,69)] = {15,0x7EE0}, + [I(91,69)] = {20,0xFFDE0}, + [I(92,69)] = {26,0x3FFF860}, + [I(93,69)] = {20,0xFFE60}, + [I(94,69)] = {21,0x1FFE60}, + [I(95,69)] = {13,0x1160}, + [I(96,69)] = {22,0x3FFEE0}, + [I(97,69)] = {12,0x1E0}, + [I(98,69)] = {13,0x11E0}, + [I(99,69)] = {12,0x260}, + [I(100,69)] = {13,0x1260}, + [I(101,69)] = {12,0x2E0}, + [I(102,69)] = {13,0x12E0}, + [I(103,69)] = {13,0x1360}, + [I(104,69)] = {13,0x13E0}, + [I(105,69)] = {12,0x360}, + [I(106,69)] = {14,0x3A60}, + [I(107,69)] = {14,0x3AE0}, + [I(108,69)] = {13,0x1460}, + [I(109,69)] = {13,0x14E0}, + [I(110,69)] = {13,0x1560}, + [I(111,69)] = {12,0x3E0}, + [I(112,69)] = {13,0x15E0}, + [I(113,69)] = {14,0x3B60}, + [I(114,69)] = {13,0x1660}, + [I(115,69)] = {12,0x460}, + [I(116,69)] = {12,0x4E0}, + [I(117,69)] = {13,0x16E0}, + [I(118,69)] = {14,0x3BE0}, + [I(119,69)] = {14,0x3C60}, + [I(120,69)] = {14,0x3CE0}, + [I(121,69)] = {14,0x3D60}, + [I(122,69)] = {14,0x3DE0}, + [I(123,69)] = {22,0x3FFF60}, + [I(124,69)] = {18,0x3FE60}, + [I(125,69)] = {21,0x1FFEE0}, + [I(126,69)] = {20,0xFFEE0}, + [I(127,69)] = {64,0}, + [I(128,69)] = {27,0x7FFF360}, + [I(129,69)] = {29,0x1FFFE960}, + [I(130,69)] = {27,0x7FFF3E0}, + [I(131,69)] = {27,0x7FFF460}, + [I(132,69)] = {29,0x1FFFE9E0}, + [I(133,69)] = {29,0x1FFFEA60}, + [I(134,69)] = {29,0x1FFFEAE0}, + [I(135,69)] = {30,0x3FFFECE0}, + [I(136,69)] = {29,0x1FFFEB60}, + [I(137,69)] = {30,0x3FFFED60}, + [I(138,69)] = {30,0x3FFFEDE0}, + [I(139,69)] = {30,0x3FFFEE60}, + [I(140,69)] = {30,0x3FFFEEE0}, + [I(141,69)] = {30,0x3FFFEF60}, + [I(142,69)] = {31,0x7FFFF5E0}, + [I(143,69)] = {30,0x3FFFEFE0}, + [I(144,69)] = {31,0x7FFFF660}, + [I(145,69)] = {31,0x7FFFF6E0}, + [I(146,69)] = {29,0x1FFFEBE0}, + [I(147,69)] = {30,0x3FFFF060}, + [I(148,69)] = {31,0x7FFFF760}, + [I(149,69)] = {30,0x3FFFF0E0}, + [I(150,69)] = {30,0x3FFFF160}, + [I(151,69)] = {30,0x3FFFF1E0}, + [I(152,69)] = {30,0x3FFFF260}, + [I(153,69)] = {28,0xFFFEE60}, + [I(154,69)] = {29,0x1FFFEC60}, + [I(155,69)] = {30,0x3FFFF2E0}, + [I(156,69)] = {29,0x1FFFECE0}, + [I(157,69)] = {30,0x3FFFF360}, + [I(158,69)] = {30,0x3FFFF3E0}, + [I(159,69)] = {31,0x7FFFF7E0}, + [I(160,69)] = {29,0x1FFFED60}, + [I(161,69)] = {28,0xFFFEEE0}, + [I(162,69)] = {27,0x7FFF4E0}, + [I(163,69)] = {29,0x1FFFEDE0}, + [I(164,69)] = {29,0x1FFFEE60}, + [I(165,69)] = {30,0x3FFFF460}, + [I(166,69)] = {30,0x3FFFF4E0}, + [I(167,69)] = {28,0xFFFEF60}, + [I(168,69)] = {30,0x3FFFF560}, + [I(169,69)] = {29,0x1FFFEEE0}, + [I(170,69)] = {29,0x1FFFEF60}, + [I(171,69)] = {31,0x7FFFF860}, + [I(172,69)] = {28,0xFFFEFE0}, + [I(173,69)] = {29,0x1FFFEFE0}, + [I(174,69)] = {30,0x3FFFF5E0}, + [I(175,69)] = {30,0x3FFFF660}, + [I(176,69)] = {28,0xFFFF060}, + [I(177,69)] = {28,0xFFFF0E0}, + [I(178,69)] = {29,0x1FFFF060}, + [I(179,69)] = {28,0xFFFF160}, + [I(180,69)] = {30,0x3FFFF6E0}, + [I(181,69)] = {29,0x1FFFF0E0}, + [I(182,69)] = {30,0x3FFFF760}, + [I(183,69)] = {30,0x3FFFF7E0}, + [I(184,69)] = {27,0x7FFF560}, + [I(185,69)] = {29,0x1FFFF160}, + [I(186,69)] = {29,0x1FFFF1E0}, + [I(187,69)] = {29,0x1FFFF260}, + [I(188,69)] = {30,0x3FFFF860}, + [I(189,69)] = {29,0x1FFFF2E0}, + [I(190,69)] = {29,0x1FFFF360}, + [I(191,69)] = {30,0x3FFFF8E0}, + [I(192,69)] = {64,0}, + [I(193,69)] = {64,0}, + [I(194,69)] = {27,0x7FFF5E0}, + [I(195,69)] = {26,0x3FFF8E0}, + [I(196,69)] = {29,0x1FFFF3E0}, + [I(197,69)] = {30,0x3FFFF960}, + [I(198,69)] = {29,0x1FFFF460}, + [I(199,69)] = {X32,0xFFFFF660}, + [I(200,69)] = {64,0}, + [I(201,69)] = {64,0}, + [I(202,69)] = {64,0}, + [I(203,69)] = {64,0}, + [I(204,69)] = {64,0}, + [I(205,69)] = {64,0}, + [I(206,69)] = {31,0x7FFFF8E0}, + [I(207,69)] = {X32,0xFFFFF6E0}, + [I(208,69)] = {26,0x3FFF960}, + [I(209,69)] = {28,0xFFFF1E0}, + [I(210,69)] = {64,0}, + [I(211,69)] = {64,0}, + [I(212,69)] = {64,0}, + [I(213,69)] = {64,0}, + [I(214,69)] = {64,0}, + [I(215,69)] = {31,0x7FFFF960}, + [I(216,69)] = {28,0xFFFF260}, + [I(217,69)] = {28,0xFFFF2E0}, + [I(218,69)] = {64,0}, + [I(219,69)] = {64,0}, + [I(220,69)] = {64,0}, + [I(221,69)] = {64,0}, + [I(222,69)] = {64,0}, + [I(223,69)] = {64,0}, + [I(224,69)] = {27,0x7FFF660}, + [I(225,69)] = {31,0x7FFFF9E0}, + [I(226,69)] = {27,0x7FFF6E0}, + [I(227,69)] = {28,0xFFFF360}, + [I(228,69)] = {29,0x1FFFF4E0}, + [I(229,69)] = {28,0xFFFF3E0}, + [I(230,69)] = {28,0xFFFF460}, + [I(231,69)] = {30,0x3FFFF9E0}, + [I(232,69)] = {29,0x1FFFF560}, + [I(233,69)] = {29,0x1FFFF5E0}, + [I(234,69)] = {X32,0xFFFFF760}, + [I(235,69)] = {X32,0xFFFFF7E0}, + [I(236,69)] = {31,0x7FFFFA60}, + [I(237,69)] = {31,0x7FFFFAE0}, + [I(238,69)] = {64,0}, + [I(239,69)] = {30,0x3FFFFA60}, + [I(240,69)] = {64,0}, + [I(241,69)] = {64,0}, + [I(242,69)] = {64,0}, + [I(243,69)] = {64,0}, + [I(244,69)] = {64,0}, + [I(245,69)] = {64,0}, + [I(246,69)] = {64,0}, + [I(247,69)] = {64,0}, + [I(248,69)] = {64,0}, + [I(249,69)] = {64,0}, + [I(250,69)] = {64,0}, + [I(251,69)] = {64,0}, + [I(252,69)] = {64,0}, + [I(253,69)] = {64,0}, + [I(254,69)] = {64,0}, + [I(255,69)] = {64,0}, + [I(0,70)] = {20,0xFFC61}, + [I(1,70)] = {30,0x3FFFEC61}, + [I(2,70)] = {64,0}, + [I(3,70)] = {64,0}, + [I(4,70)] = {64,0}, + [I(5,70)] = {64,0}, + [I(6,70)] = {64,0}, + [I(7,70)] = {64,0}, + [I(8,70)] = {64,0}, + [I(9,70)] = {31,0x7FFFF561}, + [I(10,70)] = {64,0}, + [I(11,70)] = {64,0}, + [I(12,70)] = {64,0}, + [I(13,70)] = {64,0}, + [I(14,70)] = {64,0}, + [I(15,70)] = {64,0}, + [I(16,70)] = {64,0}, + [I(17,70)] = {64,0}, + [I(18,70)] = {64,0}, + [I(19,70)] = {64,0}, + [I(20,70)] = {64,0}, + [I(21,70)] = {64,0}, + [I(22,70)] = {64,0}, + [I(23,70)] = {64,0}, + [I(24,70)] = {64,0}, + [I(25,70)] = {64,0}, + [I(26,70)] = {64,0}, + [I(27,70)] = {64,0}, + [I(28,70)] = {64,0}, + [I(29,70)] = {64,0}, + [I(30,70)] = {64,0}, + [I(31,70)] = {64,0}, + [I(32,70)] = {13,0xA61}, + [I(33,70)] = {17,0x1FC61}, + [I(34,70)] = {17,0x1FCE1}, + [I(35,70)] = {19,0x7FD61}, + [I(36,70)] = {20,0xFFCE1}, + [I(37,70)] = {13,0xAE1}, + [I(38,70)] = {15,0x7C61}, + [I(39,70)] = {18,0x3FD61}, + [I(40,70)] = {17,0x1FD61}, + [I(41,70)] = {17,0x1FDE1}, + [I(42,70)] = {15,0x7CE1}, + [I(43,70)] = {18,0x3FDE1}, + [I(44,70)] = {15,0x7D61}, + [I(45,70)] = {13,0xB61}, + [I(46,70)] = {13,0xBE1}, + [I(47,70)] = {13,0xC61}, + [I(48,70)] = {12,0x61}, + [I(49,70)] = {12,0xE1}, + [I(50,70)] = {12,0x161}, + [I(51,70)] = {13,0xCE1}, + [I(52,70)] = {13,0xD61}, + [I(53,70)] = {13,0xDE1}, + [I(54,70)] = {13,0xE61}, + [I(55,70)] = {13,0xEE1}, + [I(56,70)] = {13,0xF61}, + [I(57,70)] = {13,0xFE1}, + [I(58,70)] = {14,0x2E61}, + [I(59,70)] = {15,0x7DE1}, + [I(60,70)] = {22,0x3FFE61}, + [I(61,70)] = {13,0x1061}, + [I(62,70)] = {19,0x7FDE1}, + [I(63,70)] = {17,0x1FE61}, + [I(64,70)] = {20,0xFFD61}, + [I(65,70)] = {13,0x10E1}, + [I(66,70)] = {14,0x2EE1}, + [I(67,70)] = {14,0x2F61}, + [I(68,70)] = {14,0x2FE1}, + [I(69,70)] = {14,0x3061}, + [I(70,70)] = {14,0x30E1}, + [I(71,70)] = {14,0x3161}, + [I(72,70)] = {14,0x31E1}, + [I(73,70)] = {14,0x3261}, + [I(74,70)] = {14,0x32E1}, + [I(75,70)] = {14,0x3361}, + [I(76,70)] = {14,0x33E1}, + [I(77,70)] = {14,0x3461}, + [I(78,70)] = {14,0x34E1}, + [I(79,70)] = {14,0x3561}, + [I(80,70)] = {14,0x35E1}, + [I(81,70)] = {14,0x3661}, + [I(82,70)] = {14,0x36E1}, + [I(83,70)] = {14,0x3761}, + [I(84,70)] = {14,0x37E1}, + [I(85,70)] = {14,0x3861}, + [I(86,70)] = {14,0x38E1}, + [I(87,70)] = {14,0x3961}, + [I(88,70)] = {15,0x7E61}, + [I(89,70)] = {14,0x39E1}, + [I(90,70)] = {15,0x7EE1}, + [I(91,70)] = {20,0xFFDE1}, + [I(92,70)] = {26,0x3FFF861}, + [I(93,70)] = {20,0xFFE61}, + [I(94,70)] = {21,0x1FFE61}, + [I(95,70)] = {13,0x1161}, + [I(96,70)] = {22,0x3FFEE1}, + [I(97,70)] = {12,0x1E1}, + [I(98,70)] = {13,0x11E1}, + [I(99,70)] = {12,0x261}, + [I(100,70)] = {13,0x1261}, + [I(101,70)] = {12,0x2E1}, + [I(102,70)] = {13,0x12E1}, + [I(103,70)] = {13,0x1361}, + [I(104,70)] = {13,0x13E1}, + [I(105,70)] = {12,0x361}, + [I(106,70)] = {14,0x3A61}, + [I(107,70)] = {14,0x3AE1}, + [I(108,70)] = {13,0x1461}, + [I(109,70)] = {13,0x14E1}, + [I(110,70)] = {13,0x1561}, + [I(111,70)] = {12,0x3E1}, + [I(112,70)] = {13,0x15E1}, + [I(113,70)] = {14,0x3B61}, + [I(114,70)] = {13,0x1661}, + [I(115,70)] = {12,0x461}, + [I(116,70)] = {12,0x4E1}, + [I(117,70)] = {13,0x16E1}, + [I(118,70)] = {14,0x3BE1}, + [I(119,70)] = {14,0x3C61}, + [I(120,70)] = {14,0x3CE1}, + [I(121,70)] = {14,0x3D61}, + [I(122,70)] = {14,0x3DE1}, + [I(123,70)] = {22,0x3FFF61}, + [I(124,70)] = {18,0x3FE61}, + [I(125,70)] = {21,0x1FFEE1}, + [I(126,70)] = {20,0xFFEE1}, + [I(127,70)] = {64,0}, + [I(128,70)] = {27,0x7FFF361}, + [I(129,70)] = {29,0x1FFFE961}, + [I(130,70)] = {27,0x7FFF3E1}, + [I(131,70)] = {27,0x7FFF461}, + [I(132,70)] = {29,0x1FFFE9E1}, + [I(133,70)] = {29,0x1FFFEA61}, + [I(134,70)] = {29,0x1FFFEAE1}, + [I(135,70)] = {30,0x3FFFECE1}, + [I(136,70)] = {29,0x1FFFEB61}, + [I(137,70)] = {30,0x3FFFED61}, + [I(138,70)] = {30,0x3FFFEDE1}, + [I(139,70)] = {30,0x3FFFEE61}, + [I(140,70)] = {30,0x3FFFEEE1}, + [I(141,70)] = {30,0x3FFFEF61}, + [I(142,70)] = {31,0x7FFFF5E1}, + [I(143,70)] = {30,0x3FFFEFE1}, + [I(144,70)] = {31,0x7FFFF661}, + [I(145,70)] = {31,0x7FFFF6E1}, + [I(146,70)] = {29,0x1FFFEBE1}, + [I(147,70)] = {30,0x3FFFF061}, + [I(148,70)] = {31,0x7FFFF761}, + [I(149,70)] = {30,0x3FFFF0E1}, + [I(150,70)] = {30,0x3FFFF161}, + [I(151,70)] = {30,0x3FFFF1E1}, + [I(152,70)] = {30,0x3FFFF261}, + [I(153,70)] = {28,0xFFFEE61}, + [I(154,70)] = {29,0x1FFFEC61}, + [I(155,70)] = {30,0x3FFFF2E1}, + [I(156,70)] = {29,0x1FFFECE1}, + [I(157,70)] = {30,0x3FFFF361}, + [I(158,70)] = {30,0x3FFFF3E1}, + [I(159,70)] = {31,0x7FFFF7E1}, + [I(160,70)] = {29,0x1FFFED61}, + [I(161,70)] = {28,0xFFFEEE1}, + [I(162,70)] = {27,0x7FFF4E1}, + [I(163,70)] = {29,0x1FFFEDE1}, + [I(164,70)] = {29,0x1FFFEE61}, + [I(165,70)] = {30,0x3FFFF461}, + [I(166,70)] = {30,0x3FFFF4E1}, + [I(167,70)] = {28,0xFFFEF61}, + [I(168,70)] = {30,0x3FFFF561}, + [I(169,70)] = {29,0x1FFFEEE1}, + [I(170,70)] = {29,0x1FFFEF61}, + [I(171,70)] = {31,0x7FFFF861}, + [I(172,70)] = {28,0xFFFEFE1}, + [I(173,70)] = {29,0x1FFFEFE1}, + [I(174,70)] = {30,0x3FFFF5E1}, + [I(175,70)] = {30,0x3FFFF661}, + [I(176,70)] = {28,0xFFFF061}, + [I(177,70)] = {28,0xFFFF0E1}, + [I(178,70)] = {29,0x1FFFF061}, + [I(179,70)] = {28,0xFFFF161}, + [I(180,70)] = {30,0x3FFFF6E1}, + [I(181,70)] = {29,0x1FFFF0E1}, + [I(182,70)] = {30,0x3FFFF761}, + [I(183,70)] = {30,0x3FFFF7E1}, + [I(184,70)] = {27,0x7FFF561}, + [I(185,70)] = {29,0x1FFFF161}, + [I(186,70)] = {29,0x1FFFF1E1}, + [I(187,70)] = {29,0x1FFFF261}, + [I(188,70)] = {30,0x3FFFF861}, + [I(189,70)] = {29,0x1FFFF2E1}, + [I(190,70)] = {29,0x1FFFF361}, + [I(191,70)] = {30,0x3FFFF8E1}, + [I(192,70)] = {64,0}, + [I(193,70)] = {64,0}, + [I(194,70)] = {27,0x7FFF5E1}, + [I(195,70)] = {26,0x3FFF8E1}, + [I(196,70)] = {29,0x1FFFF3E1}, + [I(197,70)] = {30,0x3FFFF961}, + [I(198,70)] = {29,0x1FFFF461}, + [I(199,70)] = {X32,0xFFFFF661}, + [I(200,70)] = {64,0}, + [I(201,70)] = {64,0}, + [I(202,70)] = {64,0}, + [I(203,70)] = {64,0}, + [I(204,70)] = {64,0}, + [I(205,70)] = {64,0}, + [I(206,70)] = {31,0x7FFFF8E1}, + [I(207,70)] = {X32,0xFFFFF6E1}, + [I(208,70)] = {26,0x3FFF961}, + [I(209,70)] = {28,0xFFFF1E1}, + [I(210,70)] = {64,0}, + [I(211,70)] = {64,0}, + [I(212,70)] = {64,0}, + [I(213,70)] = {64,0}, + [I(214,70)] = {64,0}, + [I(215,70)] = {31,0x7FFFF961}, + [I(216,70)] = {28,0xFFFF261}, + [I(217,70)] = {28,0xFFFF2E1}, + [I(218,70)] = {64,0}, + [I(219,70)] = {64,0}, + [I(220,70)] = {64,0}, + [I(221,70)] = {64,0}, + [I(222,70)] = {64,0}, + [I(223,70)] = {64,0}, + [I(224,70)] = {27,0x7FFF661}, + [I(225,70)] = {31,0x7FFFF9E1}, + [I(226,70)] = {27,0x7FFF6E1}, + [I(227,70)] = {28,0xFFFF361}, + [I(228,70)] = {29,0x1FFFF4E1}, + [I(229,70)] = {28,0xFFFF3E1}, + [I(230,70)] = {28,0xFFFF461}, + [I(231,70)] = {30,0x3FFFF9E1}, + [I(232,70)] = {29,0x1FFFF561}, + [I(233,70)] = {29,0x1FFFF5E1}, + [I(234,70)] = {X32,0xFFFFF761}, + [I(235,70)] = {X32,0xFFFFF7E1}, + [I(236,70)] = {31,0x7FFFFA61}, + [I(237,70)] = {31,0x7FFFFAE1}, + [I(238,70)] = {64,0}, + [I(239,70)] = {30,0x3FFFFA61}, + [I(240,70)] = {64,0}, + [I(241,70)] = {64,0}, + [I(242,70)] = {64,0}, + [I(243,70)] = {64,0}, + [I(244,70)] = {64,0}, + [I(245,70)] = {64,0}, + [I(246,70)] = {64,0}, + [I(247,70)] = {64,0}, + [I(248,70)] = {64,0}, + [I(249,70)] = {64,0}, + [I(250,70)] = {64,0}, + [I(251,70)] = {64,0}, + [I(252,70)] = {64,0}, + [I(253,70)] = {64,0}, + [I(254,70)] = {64,0}, + [I(255,70)] = {64,0}, + [I(0,71)] = {20,0xFFC62}, + [I(1,71)] = {30,0x3FFFEC62}, + [I(2,71)] = {64,0}, + [I(3,71)] = {64,0}, + [I(4,71)] = {64,0}, + [I(5,71)] = {64,0}, + [I(6,71)] = {64,0}, + [I(7,71)] = {64,0}, + [I(8,71)] = {64,0}, + [I(9,71)] = {31,0x7FFFF562}, + [I(10,71)] = {64,0}, + [I(11,71)] = {64,0}, + [I(12,71)] = {64,0}, + [I(13,71)] = {64,0}, + [I(14,71)] = {64,0}, + [I(15,71)] = {64,0}, + [I(16,71)] = {64,0}, + [I(17,71)] = {64,0}, + [I(18,71)] = {64,0}, + [I(19,71)] = {64,0}, + [I(20,71)] = {64,0}, + [I(21,71)] = {64,0}, + [I(22,71)] = {64,0}, + [I(23,71)] = {64,0}, + [I(24,71)] = {64,0}, + [I(25,71)] = {64,0}, + [I(26,71)] = {64,0}, + [I(27,71)] = {64,0}, + [I(28,71)] = {64,0}, + [I(29,71)] = {64,0}, + [I(30,71)] = {64,0}, + [I(31,71)] = {64,0}, + [I(32,71)] = {13,0xA62}, + [I(33,71)] = {17,0x1FC62}, + [I(34,71)] = {17,0x1FCE2}, + [I(35,71)] = {19,0x7FD62}, + [I(36,71)] = {20,0xFFCE2}, + [I(37,71)] = {13,0xAE2}, + [I(38,71)] = {15,0x7C62}, + [I(39,71)] = {18,0x3FD62}, + [I(40,71)] = {17,0x1FD62}, + [I(41,71)] = {17,0x1FDE2}, + [I(42,71)] = {15,0x7CE2}, + [I(43,71)] = {18,0x3FDE2}, + [I(44,71)] = {15,0x7D62}, + [I(45,71)] = {13,0xB62}, + [I(46,71)] = {13,0xBE2}, + [I(47,71)] = {13,0xC62}, + [I(48,71)] = {12,0x62}, + [I(49,71)] = {12,0xE2}, + [I(50,71)] = {12,0x162}, + [I(51,71)] = {13,0xCE2}, + [I(52,71)] = {13,0xD62}, + [I(53,71)] = {13,0xDE2}, + [I(54,71)] = {13,0xE62}, + [I(55,71)] = {13,0xEE2}, + [I(56,71)] = {13,0xF62}, + [I(57,71)] = {13,0xFE2}, + [I(58,71)] = {14,0x2E62}, + [I(59,71)] = {15,0x7DE2}, + [I(60,71)] = {22,0x3FFE62}, + [I(61,71)] = {13,0x1062}, + [I(62,71)] = {19,0x7FDE2}, + [I(63,71)] = {17,0x1FE62}, + [I(64,71)] = {20,0xFFD62}, + [I(65,71)] = {13,0x10E2}, + [I(66,71)] = {14,0x2EE2}, + [I(67,71)] = {14,0x2F62}, + [I(68,71)] = {14,0x2FE2}, + [I(69,71)] = {14,0x3062}, + [I(70,71)] = {14,0x30E2}, + [I(71,71)] = {14,0x3162}, + [I(72,71)] = {14,0x31E2}, + [I(73,71)] = {14,0x3262}, + [I(74,71)] = {14,0x32E2}, + [I(75,71)] = {14,0x3362}, + [I(76,71)] = {14,0x33E2}, + [I(77,71)] = {14,0x3462}, + [I(78,71)] = {14,0x34E2}, + [I(79,71)] = {14,0x3562}, + [I(80,71)] = {14,0x35E2}, + [I(81,71)] = {14,0x3662}, + [I(82,71)] = {14,0x36E2}, + [I(83,71)] = {14,0x3762}, + [I(84,71)] = {14,0x37E2}, + [I(85,71)] = {14,0x3862}, + [I(86,71)] = {14,0x38E2}, + [I(87,71)] = {14,0x3962}, + [I(88,71)] = {15,0x7E62}, + [I(89,71)] = {14,0x39E2}, + [I(90,71)] = {15,0x7EE2}, + [I(91,71)] = {20,0xFFDE2}, + [I(92,71)] = {26,0x3FFF862}, + [I(93,71)] = {20,0xFFE62}, + [I(94,71)] = {21,0x1FFE62}, + [I(95,71)] = {13,0x1162}, + [I(96,71)] = {22,0x3FFEE2}, + [I(97,71)] = {12,0x1E2}, + [I(98,71)] = {13,0x11E2}, + [I(99,71)] = {12,0x262}, + [I(100,71)] = {13,0x1262}, + [I(101,71)] = {12,0x2E2}, + [I(102,71)] = {13,0x12E2}, + [I(103,71)] = {13,0x1362}, + [I(104,71)] = {13,0x13E2}, + [I(105,71)] = {12,0x362}, + [I(106,71)] = {14,0x3A62}, + [I(107,71)] = {14,0x3AE2}, + [I(108,71)] = {13,0x1462}, + [I(109,71)] = {13,0x14E2}, + [I(110,71)] = {13,0x1562}, + [I(111,71)] = {12,0x3E2}, + [I(112,71)] = {13,0x15E2}, + [I(113,71)] = {14,0x3B62}, + [I(114,71)] = {13,0x1662}, + [I(115,71)] = {12,0x462}, + [I(116,71)] = {12,0x4E2}, + [I(117,71)] = {13,0x16E2}, + [I(118,71)] = {14,0x3BE2}, + [I(119,71)] = {14,0x3C62}, + [I(120,71)] = {14,0x3CE2}, + [I(121,71)] = {14,0x3D62}, + [I(122,71)] = {14,0x3DE2}, + [I(123,71)] = {22,0x3FFF62}, + [I(124,71)] = {18,0x3FE62}, + [I(125,71)] = {21,0x1FFEE2}, + [I(126,71)] = {20,0xFFEE2}, + [I(127,71)] = {64,0}, + [I(128,71)] = {27,0x7FFF362}, + [I(129,71)] = {29,0x1FFFE962}, + [I(130,71)] = {27,0x7FFF3E2}, + [I(131,71)] = {27,0x7FFF462}, + [I(132,71)] = {29,0x1FFFE9E2}, + [I(133,71)] = {29,0x1FFFEA62}, + [I(134,71)] = {29,0x1FFFEAE2}, + [I(135,71)] = {30,0x3FFFECE2}, + [I(136,71)] = {29,0x1FFFEB62}, + [I(137,71)] = {30,0x3FFFED62}, + [I(138,71)] = {30,0x3FFFEDE2}, + [I(139,71)] = {30,0x3FFFEE62}, + [I(140,71)] = {30,0x3FFFEEE2}, + [I(141,71)] = {30,0x3FFFEF62}, + [I(142,71)] = {31,0x7FFFF5E2}, + [I(143,71)] = {30,0x3FFFEFE2}, + [I(144,71)] = {31,0x7FFFF662}, + [I(145,71)] = {31,0x7FFFF6E2}, + [I(146,71)] = {29,0x1FFFEBE2}, + [I(147,71)] = {30,0x3FFFF062}, + [I(148,71)] = {31,0x7FFFF762}, + [I(149,71)] = {30,0x3FFFF0E2}, + [I(150,71)] = {30,0x3FFFF162}, + [I(151,71)] = {30,0x3FFFF1E2}, + [I(152,71)] = {30,0x3FFFF262}, + [I(153,71)] = {28,0xFFFEE62}, + [I(154,71)] = {29,0x1FFFEC62}, + [I(155,71)] = {30,0x3FFFF2E2}, + [I(156,71)] = {29,0x1FFFECE2}, + [I(157,71)] = {30,0x3FFFF362}, + [I(158,71)] = {30,0x3FFFF3E2}, + [I(159,71)] = {31,0x7FFFF7E2}, + [I(160,71)] = {29,0x1FFFED62}, + [I(161,71)] = {28,0xFFFEEE2}, + [I(162,71)] = {27,0x7FFF4E2}, + [I(163,71)] = {29,0x1FFFEDE2}, + [I(164,71)] = {29,0x1FFFEE62}, + [I(165,71)] = {30,0x3FFFF462}, + [I(166,71)] = {30,0x3FFFF4E2}, + [I(167,71)] = {28,0xFFFEF62}, + [I(168,71)] = {30,0x3FFFF562}, + [I(169,71)] = {29,0x1FFFEEE2}, + [I(170,71)] = {29,0x1FFFEF62}, + [I(171,71)] = {31,0x7FFFF862}, + [I(172,71)] = {28,0xFFFEFE2}, + [I(173,71)] = {29,0x1FFFEFE2}, + [I(174,71)] = {30,0x3FFFF5E2}, + [I(175,71)] = {30,0x3FFFF662}, + [I(176,71)] = {28,0xFFFF062}, + [I(177,71)] = {28,0xFFFF0E2}, + [I(178,71)] = {29,0x1FFFF062}, + [I(179,71)] = {28,0xFFFF162}, + [I(180,71)] = {30,0x3FFFF6E2}, + [I(181,71)] = {29,0x1FFFF0E2}, + [I(182,71)] = {30,0x3FFFF762}, + [I(183,71)] = {30,0x3FFFF7E2}, + [I(184,71)] = {27,0x7FFF562}, + [I(185,71)] = {29,0x1FFFF162}, + [I(186,71)] = {29,0x1FFFF1E2}, + [I(187,71)] = {29,0x1FFFF262}, + [I(188,71)] = {30,0x3FFFF862}, + [I(189,71)] = {29,0x1FFFF2E2}, + [I(190,71)] = {29,0x1FFFF362}, + [I(191,71)] = {30,0x3FFFF8E2}, + [I(192,71)] = {64,0}, + [I(193,71)] = {64,0}, + [I(194,71)] = {27,0x7FFF5E2}, + [I(195,71)] = {26,0x3FFF8E2}, + [I(196,71)] = {29,0x1FFFF3E2}, + [I(197,71)] = {30,0x3FFFF962}, + [I(198,71)] = {29,0x1FFFF462}, + [I(199,71)] = {X32,0xFFFFF662}, + [I(200,71)] = {64,0}, + [I(201,71)] = {64,0}, + [I(202,71)] = {64,0}, + [I(203,71)] = {64,0}, + [I(204,71)] = {64,0}, + [I(205,71)] = {64,0}, + [I(206,71)] = {31,0x7FFFF8E2}, + [I(207,71)] = {X32,0xFFFFF6E2}, + [I(208,71)] = {26,0x3FFF962}, + [I(209,71)] = {28,0xFFFF1E2}, + [I(210,71)] = {64,0}, + [I(211,71)] = {64,0}, + [I(212,71)] = {64,0}, + [I(213,71)] = {64,0}, + [I(214,71)] = {64,0}, + [I(215,71)] = {31,0x7FFFF962}, + [I(216,71)] = {28,0xFFFF262}, + [I(217,71)] = {28,0xFFFF2E2}, + [I(218,71)] = {64,0}, + [I(219,71)] = {64,0}, + [I(220,71)] = {64,0}, + [I(221,71)] = {64,0}, + [I(222,71)] = {64,0}, + [I(223,71)] = {64,0}, + [I(224,71)] = {27,0x7FFF662}, + [I(225,71)] = {31,0x7FFFF9E2}, + [I(226,71)] = {27,0x7FFF6E2}, + [I(227,71)] = {28,0xFFFF362}, + [I(228,71)] = {29,0x1FFFF4E2}, + [I(229,71)] = {28,0xFFFF3E2}, + [I(230,71)] = {28,0xFFFF462}, + [I(231,71)] = {30,0x3FFFF9E2}, + [I(232,71)] = {29,0x1FFFF562}, + [I(233,71)] = {29,0x1FFFF5E2}, + [I(234,71)] = {X32,0xFFFFF762}, + [I(235,71)] = {X32,0xFFFFF7E2}, + [I(236,71)] = {31,0x7FFFFA62}, + [I(237,71)] = {31,0x7FFFFAE2}, + [I(238,71)] = {64,0}, + [I(239,71)] = {30,0x3FFFFA62}, + [I(240,71)] = {64,0}, + [I(241,71)] = {64,0}, + [I(242,71)] = {64,0}, + [I(243,71)] = {64,0}, + [I(244,71)] = {64,0}, + [I(245,71)] = {64,0}, + [I(246,71)] = {64,0}, + [I(247,71)] = {64,0}, + [I(248,71)] = {64,0}, + [I(249,71)] = {64,0}, + [I(250,71)] = {64,0}, + [I(251,71)] = {64,0}, + [I(252,71)] = {64,0}, + [I(253,71)] = {64,0}, + [I(254,71)] = {64,0}, + [I(255,71)] = {64,0}, + [I(0,72)] = {20,0xFFC63}, + [I(1,72)] = {30,0x3FFFEC63}, + [I(2,72)] = {64,0}, + [I(3,72)] = {64,0}, + [I(4,72)] = {64,0}, + [I(5,72)] = {64,0}, + [I(6,72)] = {64,0}, + [I(7,72)] = {64,0}, + [I(8,72)] = {64,0}, + [I(9,72)] = {31,0x7FFFF563}, + [I(10,72)] = {64,0}, + [I(11,72)] = {64,0}, + [I(12,72)] = {64,0}, + [I(13,72)] = {64,0}, + [I(14,72)] = {64,0}, + [I(15,72)] = {64,0}, + [I(16,72)] = {64,0}, + [I(17,72)] = {64,0}, + [I(18,72)] = {64,0}, + [I(19,72)] = {64,0}, + [I(20,72)] = {64,0}, + [I(21,72)] = {64,0}, + [I(22,72)] = {64,0}, + [I(23,72)] = {64,0}, + [I(24,72)] = {64,0}, + [I(25,72)] = {64,0}, + [I(26,72)] = {64,0}, + [I(27,72)] = {64,0}, + [I(28,72)] = {64,0}, + [I(29,72)] = {64,0}, + [I(30,72)] = {64,0}, + [I(31,72)] = {64,0}, + [I(32,72)] = {13,0xA63}, + [I(33,72)] = {17,0x1FC63}, + [I(34,72)] = {17,0x1FCE3}, + [I(35,72)] = {19,0x7FD63}, + [I(36,72)] = {20,0xFFCE3}, + [I(37,72)] = {13,0xAE3}, + [I(38,72)] = {15,0x7C63}, + [I(39,72)] = {18,0x3FD63}, + [I(40,72)] = {17,0x1FD63}, + [I(41,72)] = {17,0x1FDE3}, + [I(42,72)] = {15,0x7CE3}, + [I(43,72)] = {18,0x3FDE3}, + [I(44,72)] = {15,0x7D63}, + [I(45,72)] = {13,0xB63}, + [I(46,72)] = {13,0xBE3}, + [I(47,72)] = {13,0xC63}, + [I(48,72)] = {12,0x63}, + [I(49,72)] = {12,0xE3}, + [I(50,72)] = {12,0x163}, + [I(51,72)] = {13,0xCE3}, + [I(52,72)] = {13,0xD63}, + [I(53,72)] = {13,0xDE3}, + [I(54,72)] = {13,0xE63}, + [I(55,72)] = {13,0xEE3}, + [I(56,72)] = {13,0xF63}, + [I(57,72)] = {13,0xFE3}, + [I(58,72)] = {14,0x2E63}, + [I(59,72)] = {15,0x7DE3}, + [I(60,72)] = {22,0x3FFE63}, + [I(61,72)] = {13,0x1063}, + [I(62,72)] = {19,0x7FDE3}, + [I(63,72)] = {17,0x1FE63}, + [I(64,72)] = {20,0xFFD63}, + [I(65,72)] = {13,0x10E3}, + [I(66,72)] = {14,0x2EE3}, + [I(67,72)] = {14,0x2F63}, + [I(68,72)] = {14,0x2FE3}, + [I(69,72)] = {14,0x3063}, + [I(70,72)] = {14,0x30E3}, + [I(71,72)] = {14,0x3163}, + [I(72,72)] = {14,0x31E3}, + [I(73,72)] = {14,0x3263}, + [I(74,72)] = {14,0x32E3}, + [I(75,72)] = {14,0x3363}, + [I(76,72)] = {14,0x33E3}, + [I(77,72)] = {14,0x3463}, + [I(78,72)] = {14,0x34E3}, + [I(79,72)] = {14,0x3563}, + [I(80,72)] = {14,0x35E3}, + [I(81,72)] = {14,0x3663}, + [I(82,72)] = {14,0x36E3}, + [I(83,72)] = {14,0x3763}, + [I(84,72)] = {14,0x37E3}, + [I(85,72)] = {14,0x3863}, + [I(86,72)] = {14,0x38E3}, + [I(87,72)] = {14,0x3963}, + [I(88,72)] = {15,0x7E63}, + [I(89,72)] = {14,0x39E3}, + [I(90,72)] = {15,0x7EE3}, + [I(91,72)] = {20,0xFFDE3}, + [I(92,72)] = {26,0x3FFF863}, + [I(93,72)] = {20,0xFFE63}, + [I(94,72)] = {21,0x1FFE63}, + [I(95,72)] = {13,0x1163}, + [I(96,72)] = {22,0x3FFEE3}, + [I(97,72)] = {12,0x1E3}, + [I(98,72)] = {13,0x11E3}, + [I(99,72)] = {12,0x263}, + [I(100,72)] = {13,0x1263}, + [I(101,72)] = {12,0x2E3}, + [I(102,72)] = {13,0x12E3}, + [I(103,72)] = {13,0x1363}, + [I(104,72)] = {13,0x13E3}, + [I(105,72)] = {12,0x363}, + [I(106,72)] = {14,0x3A63}, + [I(107,72)] = {14,0x3AE3}, + [I(108,72)] = {13,0x1463}, + [I(109,72)] = {13,0x14E3}, + [I(110,72)] = {13,0x1563}, + [I(111,72)] = {12,0x3E3}, + [I(112,72)] = {13,0x15E3}, + [I(113,72)] = {14,0x3B63}, + [I(114,72)] = {13,0x1663}, + [I(115,72)] = {12,0x463}, + [I(116,72)] = {12,0x4E3}, + [I(117,72)] = {13,0x16E3}, + [I(118,72)] = {14,0x3BE3}, + [I(119,72)] = {14,0x3C63}, + [I(120,72)] = {14,0x3CE3}, + [I(121,72)] = {14,0x3D63}, + [I(122,72)] = {14,0x3DE3}, + [I(123,72)] = {22,0x3FFF63}, + [I(124,72)] = {18,0x3FE63}, + [I(125,72)] = {21,0x1FFEE3}, + [I(126,72)] = {20,0xFFEE3}, + [I(127,72)] = {64,0}, + [I(128,72)] = {27,0x7FFF363}, + [I(129,72)] = {29,0x1FFFE963}, + [I(130,72)] = {27,0x7FFF3E3}, + [I(131,72)] = {27,0x7FFF463}, + [I(132,72)] = {29,0x1FFFE9E3}, + [I(133,72)] = {29,0x1FFFEA63}, + [I(134,72)] = {29,0x1FFFEAE3}, + [I(135,72)] = {30,0x3FFFECE3}, + [I(136,72)] = {29,0x1FFFEB63}, + [I(137,72)] = {30,0x3FFFED63}, + [I(138,72)] = {30,0x3FFFEDE3}, + [I(139,72)] = {30,0x3FFFEE63}, + [I(140,72)] = {30,0x3FFFEEE3}, + [I(141,72)] = {30,0x3FFFEF63}, + [I(142,72)] = {31,0x7FFFF5E3}, + [I(143,72)] = {30,0x3FFFEFE3}, + [I(144,72)] = {31,0x7FFFF663}, + [I(145,72)] = {31,0x7FFFF6E3}, + [I(146,72)] = {29,0x1FFFEBE3}, + [I(147,72)] = {30,0x3FFFF063}, + [I(148,72)] = {31,0x7FFFF763}, + [I(149,72)] = {30,0x3FFFF0E3}, + [I(150,72)] = {30,0x3FFFF163}, + [I(151,72)] = {30,0x3FFFF1E3}, + [I(152,72)] = {30,0x3FFFF263}, + [I(153,72)] = {28,0xFFFEE63}, + [I(154,72)] = {29,0x1FFFEC63}, + [I(155,72)] = {30,0x3FFFF2E3}, + [I(156,72)] = {29,0x1FFFECE3}, + [I(157,72)] = {30,0x3FFFF363}, + [I(158,72)] = {30,0x3FFFF3E3}, + [I(159,72)] = {31,0x7FFFF7E3}, + [I(160,72)] = {29,0x1FFFED63}, + [I(161,72)] = {28,0xFFFEEE3}, + [I(162,72)] = {27,0x7FFF4E3}, + [I(163,72)] = {29,0x1FFFEDE3}, + [I(164,72)] = {29,0x1FFFEE63}, + [I(165,72)] = {30,0x3FFFF463}, + [I(166,72)] = {30,0x3FFFF4E3}, + [I(167,72)] = {28,0xFFFEF63}, + [I(168,72)] = {30,0x3FFFF563}, + [I(169,72)] = {29,0x1FFFEEE3}, + [I(170,72)] = {29,0x1FFFEF63}, + [I(171,72)] = {31,0x7FFFF863}, + [I(172,72)] = {28,0xFFFEFE3}, + [I(173,72)] = {29,0x1FFFEFE3}, + [I(174,72)] = {30,0x3FFFF5E3}, + [I(175,72)] = {30,0x3FFFF663}, + [I(176,72)] = {28,0xFFFF063}, + [I(177,72)] = {28,0xFFFF0E3}, + [I(178,72)] = {29,0x1FFFF063}, + [I(179,72)] = {28,0xFFFF163}, + [I(180,72)] = {30,0x3FFFF6E3}, + [I(181,72)] = {29,0x1FFFF0E3}, + [I(182,72)] = {30,0x3FFFF763}, + [I(183,72)] = {30,0x3FFFF7E3}, + [I(184,72)] = {27,0x7FFF563}, + [I(185,72)] = {29,0x1FFFF163}, + [I(186,72)] = {29,0x1FFFF1E3}, + [I(187,72)] = {29,0x1FFFF263}, + [I(188,72)] = {30,0x3FFFF863}, + [I(189,72)] = {29,0x1FFFF2E3}, + [I(190,72)] = {29,0x1FFFF363}, + [I(191,72)] = {30,0x3FFFF8E3}, + [I(192,72)] = {64,0}, + [I(193,72)] = {64,0}, + [I(194,72)] = {27,0x7FFF5E3}, + [I(195,72)] = {26,0x3FFF8E3}, + [I(196,72)] = {29,0x1FFFF3E3}, + [I(197,72)] = {30,0x3FFFF963}, + [I(198,72)] = {29,0x1FFFF463}, + [I(199,72)] = {X32,0xFFFFF663}, + [I(200,72)] = {64,0}, + [I(201,72)] = {64,0}, + [I(202,72)] = {64,0}, + [I(203,72)] = {64,0}, + [I(204,72)] = {64,0}, + [I(205,72)] = {64,0}, + [I(206,72)] = {31,0x7FFFF8E3}, + [I(207,72)] = {X32,0xFFFFF6E3}, + [I(208,72)] = {26,0x3FFF963}, + [I(209,72)] = {28,0xFFFF1E3}, + [I(210,72)] = {64,0}, + [I(211,72)] = {64,0}, + [I(212,72)] = {64,0}, + [I(213,72)] = {64,0}, + [I(214,72)] = {64,0}, + [I(215,72)] = {31,0x7FFFF963}, + [I(216,72)] = {28,0xFFFF263}, + [I(217,72)] = {28,0xFFFF2E3}, + [I(218,72)] = {64,0}, + [I(219,72)] = {64,0}, + [I(220,72)] = {64,0}, + [I(221,72)] = {64,0}, + [I(222,72)] = {64,0}, + [I(223,72)] = {64,0}, + [I(224,72)] = {27,0x7FFF663}, + [I(225,72)] = {31,0x7FFFF9E3}, + [I(226,72)] = {27,0x7FFF6E3}, + [I(227,72)] = {28,0xFFFF363}, + [I(228,72)] = {29,0x1FFFF4E3}, + [I(229,72)] = {28,0xFFFF3E3}, + [I(230,72)] = {28,0xFFFF463}, + [I(231,72)] = {30,0x3FFFF9E3}, + [I(232,72)] = {29,0x1FFFF563}, + [I(233,72)] = {29,0x1FFFF5E3}, + [I(234,72)] = {X32,0xFFFFF763}, + [I(235,72)] = {X32,0xFFFFF7E3}, + [I(236,72)] = {31,0x7FFFFA63}, + [I(237,72)] = {31,0x7FFFFAE3}, + [I(238,72)] = {64,0}, + [I(239,72)] = {30,0x3FFFFA63}, + [I(240,72)] = {64,0}, + [I(241,72)] = {64,0}, + [I(242,72)] = {64,0}, + [I(243,72)] = {64,0}, + [I(244,72)] = {64,0}, + [I(245,72)] = {64,0}, + [I(246,72)] = {64,0}, + [I(247,72)] = {64,0}, + [I(248,72)] = {64,0}, + [I(249,72)] = {64,0}, + [I(250,72)] = {64,0}, + [I(251,72)] = {64,0}, + [I(252,72)] = {64,0}, + [I(253,72)] = {64,0}, + [I(254,72)] = {64,0}, + [I(255,72)] = {64,0}, + [I(0,73)] = {20,0xFFC64}, + [I(1,73)] = {30,0x3FFFEC64}, + [I(2,73)] = {64,0}, + [I(3,73)] = {64,0}, + [I(4,73)] = {64,0}, + [I(5,73)] = {64,0}, + [I(6,73)] = {64,0}, + [I(7,73)] = {64,0}, + [I(8,73)] = {64,0}, + [I(9,73)] = {31,0x7FFFF564}, + [I(10,73)] = {64,0}, + [I(11,73)] = {64,0}, + [I(12,73)] = {64,0}, + [I(13,73)] = {64,0}, + [I(14,73)] = {64,0}, + [I(15,73)] = {64,0}, + [I(16,73)] = {64,0}, + [I(17,73)] = {64,0}, + [I(18,73)] = {64,0}, + [I(19,73)] = {64,0}, + [I(20,73)] = {64,0}, + [I(21,73)] = {64,0}, + [I(22,73)] = {64,0}, + [I(23,73)] = {64,0}, + [I(24,73)] = {64,0}, + [I(25,73)] = {64,0}, + [I(26,73)] = {64,0}, + [I(27,73)] = {64,0}, + [I(28,73)] = {64,0}, + [I(29,73)] = {64,0}, + [I(30,73)] = {64,0}, + [I(31,73)] = {64,0}, + [I(32,73)] = {13,0xA64}, + [I(33,73)] = {17,0x1FC64}, + [I(34,73)] = {17,0x1FCE4}, + [I(35,73)] = {19,0x7FD64}, + [I(36,73)] = {20,0xFFCE4}, + [I(37,73)] = {13,0xAE4}, + [I(38,73)] = {15,0x7C64}, + [I(39,73)] = {18,0x3FD64}, + [I(40,73)] = {17,0x1FD64}, + [I(41,73)] = {17,0x1FDE4}, + [I(42,73)] = {15,0x7CE4}, + [I(43,73)] = {18,0x3FDE4}, + [I(44,73)] = {15,0x7D64}, + [I(45,73)] = {13,0xB64}, + [I(46,73)] = {13,0xBE4}, + [I(47,73)] = {13,0xC64}, + [I(48,73)] = {12,0x64}, + [I(49,73)] = {12,0xE4}, + [I(50,73)] = {12,0x164}, + [I(51,73)] = {13,0xCE4}, + [I(52,73)] = {13,0xD64}, + [I(53,73)] = {13,0xDE4}, + [I(54,73)] = {13,0xE64}, + [I(55,73)] = {13,0xEE4}, + [I(56,73)] = {13,0xF64}, + [I(57,73)] = {13,0xFE4}, + [I(58,73)] = {14,0x2E64}, + [I(59,73)] = {15,0x7DE4}, + [I(60,73)] = {22,0x3FFE64}, + [I(61,73)] = {13,0x1064}, + [I(62,73)] = {19,0x7FDE4}, + [I(63,73)] = {17,0x1FE64}, + [I(64,73)] = {20,0xFFD64}, + [I(65,73)] = {13,0x10E4}, + [I(66,73)] = {14,0x2EE4}, + [I(67,73)] = {14,0x2F64}, + [I(68,73)] = {14,0x2FE4}, + [I(69,73)] = {14,0x3064}, + [I(70,73)] = {14,0x30E4}, + [I(71,73)] = {14,0x3164}, + [I(72,73)] = {14,0x31E4}, + [I(73,73)] = {14,0x3264}, + [I(74,73)] = {14,0x32E4}, + [I(75,73)] = {14,0x3364}, + [I(76,73)] = {14,0x33E4}, + [I(77,73)] = {14,0x3464}, + [I(78,73)] = {14,0x34E4}, + [I(79,73)] = {14,0x3564}, + [I(80,73)] = {14,0x35E4}, + [I(81,73)] = {14,0x3664}, + [I(82,73)] = {14,0x36E4}, + [I(83,73)] = {14,0x3764}, + [I(84,73)] = {14,0x37E4}, + [I(85,73)] = {14,0x3864}, + [I(86,73)] = {14,0x38E4}, + [I(87,73)] = {14,0x3964}, + [I(88,73)] = {15,0x7E64}, + [I(89,73)] = {14,0x39E4}, + [I(90,73)] = {15,0x7EE4}, + [I(91,73)] = {20,0xFFDE4}, + [I(92,73)] = {26,0x3FFF864}, + [I(93,73)] = {20,0xFFE64}, + [I(94,73)] = {21,0x1FFE64}, + [I(95,73)] = {13,0x1164}, + [I(96,73)] = {22,0x3FFEE4}, + [I(97,73)] = {12,0x1E4}, + [I(98,73)] = {13,0x11E4}, + [I(99,73)] = {12,0x264}, + [I(100,73)] = {13,0x1264}, + [I(101,73)] = {12,0x2E4}, + [I(102,73)] = {13,0x12E4}, + [I(103,73)] = {13,0x1364}, + [I(104,73)] = {13,0x13E4}, + [I(105,73)] = {12,0x364}, + [I(106,73)] = {14,0x3A64}, + [I(107,73)] = {14,0x3AE4}, + [I(108,73)] = {13,0x1464}, + [I(109,73)] = {13,0x14E4}, + [I(110,73)] = {13,0x1564}, + [I(111,73)] = {12,0x3E4}, + [I(112,73)] = {13,0x15E4}, + [I(113,73)] = {14,0x3B64}, + [I(114,73)] = {13,0x1664}, + [I(115,73)] = {12,0x464}, + [I(116,73)] = {12,0x4E4}, + [I(117,73)] = {13,0x16E4}, + [I(118,73)] = {14,0x3BE4}, + [I(119,73)] = {14,0x3C64}, + [I(120,73)] = {14,0x3CE4}, + [I(121,73)] = {14,0x3D64}, + [I(122,73)] = {14,0x3DE4}, + [I(123,73)] = {22,0x3FFF64}, + [I(124,73)] = {18,0x3FE64}, + [I(125,73)] = {21,0x1FFEE4}, + [I(126,73)] = {20,0xFFEE4}, + [I(127,73)] = {64,0}, + [I(128,73)] = {27,0x7FFF364}, + [I(129,73)] = {29,0x1FFFE964}, + [I(130,73)] = {27,0x7FFF3E4}, + [I(131,73)] = {27,0x7FFF464}, + [I(132,73)] = {29,0x1FFFE9E4}, + [I(133,73)] = {29,0x1FFFEA64}, + [I(134,73)] = {29,0x1FFFEAE4}, + [I(135,73)] = {30,0x3FFFECE4}, + [I(136,73)] = {29,0x1FFFEB64}, + [I(137,73)] = {30,0x3FFFED64}, + [I(138,73)] = {30,0x3FFFEDE4}, + [I(139,73)] = {30,0x3FFFEE64}, + [I(140,73)] = {30,0x3FFFEEE4}, + [I(141,73)] = {30,0x3FFFEF64}, + [I(142,73)] = {31,0x7FFFF5E4}, + [I(143,73)] = {30,0x3FFFEFE4}, + [I(144,73)] = {31,0x7FFFF664}, + [I(145,73)] = {31,0x7FFFF6E4}, + [I(146,73)] = {29,0x1FFFEBE4}, + [I(147,73)] = {30,0x3FFFF064}, + [I(148,73)] = {31,0x7FFFF764}, + [I(149,73)] = {30,0x3FFFF0E4}, + [I(150,73)] = {30,0x3FFFF164}, + [I(151,73)] = {30,0x3FFFF1E4}, + [I(152,73)] = {30,0x3FFFF264}, + [I(153,73)] = {28,0xFFFEE64}, + [I(154,73)] = {29,0x1FFFEC64}, + [I(155,73)] = {30,0x3FFFF2E4}, + [I(156,73)] = {29,0x1FFFECE4}, + [I(157,73)] = {30,0x3FFFF364}, + [I(158,73)] = {30,0x3FFFF3E4}, + [I(159,73)] = {31,0x7FFFF7E4}, + [I(160,73)] = {29,0x1FFFED64}, + [I(161,73)] = {28,0xFFFEEE4}, + [I(162,73)] = {27,0x7FFF4E4}, + [I(163,73)] = {29,0x1FFFEDE4}, + [I(164,73)] = {29,0x1FFFEE64}, + [I(165,73)] = {30,0x3FFFF464}, + [I(166,73)] = {30,0x3FFFF4E4}, + [I(167,73)] = {28,0xFFFEF64}, + [I(168,73)] = {30,0x3FFFF564}, + [I(169,73)] = {29,0x1FFFEEE4}, + [I(170,73)] = {29,0x1FFFEF64}, + [I(171,73)] = {31,0x7FFFF864}, + [I(172,73)] = {28,0xFFFEFE4}, + [I(173,73)] = {29,0x1FFFEFE4}, + [I(174,73)] = {30,0x3FFFF5E4}, + [I(175,73)] = {30,0x3FFFF664}, + [I(176,73)] = {28,0xFFFF064}, + [I(177,73)] = {28,0xFFFF0E4}, + [I(178,73)] = {29,0x1FFFF064}, + [I(179,73)] = {28,0xFFFF164}, + [I(180,73)] = {30,0x3FFFF6E4}, + [I(181,73)] = {29,0x1FFFF0E4}, + [I(182,73)] = {30,0x3FFFF764}, + [I(183,73)] = {30,0x3FFFF7E4}, + [I(184,73)] = {27,0x7FFF564}, + [I(185,73)] = {29,0x1FFFF164}, + [I(186,73)] = {29,0x1FFFF1E4}, + [I(187,73)] = {29,0x1FFFF264}, + [I(188,73)] = {30,0x3FFFF864}, + [I(189,73)] = {29,0x1FFFF2E4}, + [I(190,73)] = {29,0x1FFFF364}, + [I(191,73)] = {30,0x3FFFF8E4}, + [I(192,73)] = {64,0}, + [I(193,73)] = {64,0}, + [I(194,73)] = {27,0x7FFF5E4}, + [I(195,73)] = {26,0x3FFF8E4}, + [I(196,73)] = {29,0x1FFFF3E4}, + [I(197,73)] = {30,0x3FFFF964}, + [I(198,73)] = {29,0x1FFFF464}, + [I(199,73)] = {X32,0xFFFFF664}, + [I(200,73)] = {64,0}, + [I(201,73)] = {64,0}, + [I(202,73)] = {64,0}, + [I(203,73)] = {64,0}, + [I(204,73)] = {64,0}, + [I(205,73)] = {64,0}, + [I(206,73)] = {31,0x7FFFF8E4}, + [I(207,73)] = {X32,0xFFFFF6E4}, + [I(208,73)] = {26,0x3FFF964}, + [I(209,73)] = {28,0xFFFF1E4}, + [I(210,73)] = {64,0}, + [I(211,73)] = {64,0}, + [I(212,73)] = {64,0}, + [I(213,73)] = {64,0}, + [I(214,73)] = {64,0}, + [I(215,73)] = {31,0x7FFFF964}, + [I(216,73)] = {28,0xFFFF264}, + [I(217,73)] = {28,0xFFFF2E4}, + [I(218,73)] = {64,0}, + [I(219,73)] = {64,0}, + [I(220,73)] = {64,0}, + [I(221,73)] = {64,0}, + [I(222,73)] = {64,0}, + [I(223,73)] = {64,0}, + [I(224,73)] = {27,0x7FFF664}, + [I(225,73)] = {31,0x7FFFF9E4}, + [I(226,73)] = {27,0x7FFF6E4}, + [I(227,73)] = {28,0xFFFF364}, + [I(228,73)] = {29,0x1FFFF4E4}, + [I(229,73)] = {28,0xFFFF3E4}, + [I(230,73)] = {28,0xFFFF464}, + [I(231,73)] = {30,0x3FFFF9E4}, + [I(232,73)] = {29,0x1FFFF564}, + [I(233,73)] = {29,0x1FFFF5E4}, + [I(234,73)] = {X32,0xFFFFF764}, + [I(235,73)] = {X32,0xFFFFF7E4}, + [I(236,73)] = {31,0x7FFFFA64}, + [I(237,73)] = {31,0x7FFFFAE4}, + [I(238,73)] = {64,0}, + [I(239,73)] = {30,0x3FFFFA64}, + [I(240,73)] = {64,0}, + [I(241,73)] = {64,0}, + [I(242,73)] = {64,0}, + [I(243,73)] = {64,0}, + [I(244,73)] = {64,0}, + [I(245,73)] = {64,0}, + [I(246,73)] = {64,0}, + [I(247,73)] = {64,0}, + [I(248,73)] = {64,0}, + [I(249,73)] = {64,0}, + [I(250,73)] = {64,0}, + [I(251,73)] = {64,0}, + [I(252,73)] = {64,0}, + [I(253,73)] = {64,0}, + [I(254,73)] = {64,0}, + [I(255,73)] = {64,0}, + [I(0,74)] = {20,0xFFC65}, + [I(1,74)] = {30,0x3FFFEC65}, + [I(2,74)] = {64,0}, + [I(3,74)] = {64,0}, + [I(4,74)] = {64,0}, + [I(5,74)] = {64,0}, + [I(6,74)] = {64,0}, + [I(7,74)] = {64,0}, + [I(8,74)] = {64,0}, + [I(9,74)] = {31,0x7FFFF565}, + [I(10,74)] = {64,0}, + [I(11,74)] = {64,0}, + [I(12,74)] = {64,0}, + [I(13,74)] = {64,0}, + [I(14,74)] = {64,0}, + [I(15,74)] = {64,0}, + [I(16,74)] = {64,0}, + [I(17,74)] = {64,0}, + [I(18,74)] = {64,0}, + [I(19,74)] = {64,0}, + [I(20,74)] = {64,0}, + [I(21,74)] = {64,0}, + [I(22,74)] = {64,0}, + [I(23,74)] = {64,0}, + [I(24,74)] = {64,0}, + [I(25,74)] = {64,0}, + [I(26,74)] = {64,0}, + [I(27,74)] = {64,0}, + [I(28,74)] = {64,0}, + [I(29,74)] = {64,0}, + [I(30,74)] = {64,0}, + [I(31,74)] = {64,0}, + [I(32,74)] = {13,0xA65}, + [I(33,74)] = {17,0x1FC65}, + [I(34,74)] = {17,0x1FCE5}, + [I(35,74)] = {19,0x7FD65}, + [I(36,74)] = {20,0xFFCE5}, + [I(37,74)] = {13,0xAE5}, + [I(38,74)] = {15,0x7C65}, + [I(39,74)] = {18,0x3FD65}, + [I(40,74)] = {17,0x1FD65}, + [I(41,74)] = {17,0x1FDE5}, + [I(42,74)] = {15,0x7CE5}, + [I(43,74)] = {18,0x3FDE5}, + [I(44,74)] = {15,0x7D65}, + [I(45,74)] = {13,0xB65}, + [I(46,74)] = {13,0xBE5}, + [I(47,74)] = {13,0xC65}, + [I(48,74)] = {12,0x65}, + [I(49,74)] = {12,0xE5}, + [I(50,74)] = {12,0x165}, + [I(51,74)] = {13,0xCE5}, + [I(52,74)] = {13,0xD65}, + [I(53,74)] = {13,0xDE5}, + [I(54,74)] = {13,0xE65}, + [I(55,74)] = {13,0xEE5}, + [I(56,74)] = {13,0xF65}, + [I(57,74)] = {13,0xFE5}, + [I(58,74)] = {14,0x2E65}, + [I(59,74)] = {15,0x7DE5}, + [I(60,74)] = {22,0x3FFE65}, + [I(61,74)] = {13,0x1065}, + [I(62,74)] = {19,0x7FDE5}, + [I(63,74)] = {17,0x1FE65}, + [I(64,74)] = {20,0xFFD65}, + [I(65,74)] = {13,0x10E5}, + [I(66,74)] = {14,0x2EE5}, + [I(67,74)] = {14,0x2F65}, + [I(68,74)] = {14,0x2FE5}, + [I(69,74)] = {14,0x3065}, + [I(70,74)] = {14,0x30E5}, + [I(71,74)] = {14,0x3165}, + [I(72,74)] = {14,0x31E5}, + [I(73,74)] = {14,0x3265}, + [I(74,74)] = {14,0x32E5}, + [I(75,74)] = {14,0x3365}, + [I(76,74)] = {14,0x33E5}, + [I(77,74)] = {14,0x3465}, + [I(78,74)] = {14,0x34E5}, + [I(79,74)] = {14,0x3565}, + [I(80,74)] = {14,0x35E5}, + [I(81,74)] = {14,0x3665}, + [I(82,74)] = {14,0x36E5}, + [I(83,74)] = {14,0x3765}, + [I(84,74)] = {14,0x37E5}, + [I(85,74)] = {14,0x3865}, + [I(86,74)] = {14,0x38E5}, + [I(87,74)] = {14,0x3965}, + [I(88,74)] = {15,0x7E65}, + [I(89,74)] = {14,0x39E5}, + [I(90,74)] = {15,0x7EE5}, + [I(91,74)] = {20,0xFFDE5}, + [I(92,74)] = {26,0x3FFF865}, + [I(93,74)] = {20,0xFFE65}, + [I(94,74)] = {21,0x1FFE65}, + [I(95,74)] = {13,0x1165}, + [I(96,74)] = {22,0x3FFEE5}, + [I(97,74)] = {12,0x1E5}, + [I(98,74)] = {13,0x11E5}, + [I(99,74)] = {12,0x265}, + [I(100,74)] = {13,0x1265}, + [I(101,74)] = {12,0x2E5}, + [I(102,74)] = {13,0x12E5}, + [I(103,74)] = {13,0x1365}, + [I(104,74)] = {13,0x13E5}, + [I(105,74)] = {12,0x365}, + [I(106,74)] = {14,0x3A65}, + [I(107,74)] = {14,0x3AE5}, + [I(108,74)] = {13,0x1465}, + [I(109,74)] = {13,0x14E5}, + [I(110,74)] = {13,0x1565}, + [I(111,74)] = {12,0x3E5}, + [I(112,74)] = {13,0x15E5}, + [I(113,74)] = {14,0x3B65}, + [I(114,74)] = {13,0x1665}, + [I(115,74)] = {12,0x465}, + [I(116,74)] = {12,0x4E5}, + [I(117,74)] = {13,0x16E5}, + [I(118,74)] = {14,0x3BE5}, + [I(119,74)] = {14,0x3C65}, + [I(120,74)] = {14,0x3CE5}, + [I(121,74)] = {14,0x3D65}, + [I(122,74)] = {14,0x3DE5}, + [I(123,74)] = {22,0x3FFF65}, + [I(124,74)] = {18,0x3FE65}, + [I(125,74)] = {21,0x1FFEE5}, + [I(126,74)] = {20,0xFFEE5}, + [I(127,74)] = {64,0}, + [I(128,74)] = {27,0x7FFF365}, + [I(129,74)] = {29,0x1FFFE965}, + [I(130,74)] = {27,0x7FFF3E5}, + [I(131,74)] = {27,0x7FFF465}, + [I(132,74)] = {29,0x1FFFE9E5}, + [I(133,74)] = {29,0x1FFFEA65}, + [I(134,74)] = {29,0x1FFFEAE5}, + [I(135,74)] = {30,0x3FFFECE5}, + [I(136,74)] = {29,0x1FFFEB65}, + [I(137,74)] = {30,0x3FFFED65}, + [I(138,74)] = {30,0x3FFFEDE5}, + [I(139,74)] = {30,0x3FFFEE65}, + [I(140,74)] = {30,0x3FFFEEE5}, + [I(141,74)] = {30,0x3FFFEF65}, + [I(142,74)] = {31,0x7FFFF5E5}, + [I(143,74)] = {30,0x3FFFEFE5}, + [I(144,74)] = {31,0x7FFFF665}, + [I(145,74)] = {31,0x7FFFF6E5}, + [I(146,74)] = {29,0x1FFFEBE5}, + [I(147,74)] = {30,0x3FFFF065}, + [I(148,74)] = {31,0x7FFFF765}, + [I(149,74)] = {30,0x3FFFF0E5}, + [I(150,74)] = {30,0x3FFFF165}, + [I(151,74)] = {30,0x3FFFF1E5}, + [I(152,74)] = {30,0x3FFFF265}, + [I(153,74)] = {28,0xFFFEE65}, + [I(154,74)] = {29,0x1FFFEC65}, + [I(155,74)] = {30,0x3FFFF2E5}, + [I(156,74)] = {29,0x1FFFECE5}, + [I(157,74)] = {30,0x3FFFF365}, + [I(158,74)] = {30,0x3FFFF3E5}, + [I(159,74)] = {31,0x7FFFF7E5}, + [I(160,74)] = {29,0x1FFFED65}, + [I(161,74)] = {28,0xFFFEEE5}, + [I(162,74)] = {27,0x7FFF4E5}, + [I(163,74)] = {29,0x1FFFEDE5}, + [I(164,74)] = {29,0x1FFFEE65}, + [I(165,74)] = {30,0x3FFFF465}, + [I(166,74)] = {30,0x3FFFF4E5}, + [I(167,74)] = {28,0xFFFEF65}, + [I(168,74)] = {30,0x3FFFF565}, + [I(169,74)] = {29,0x1FFFEEE5}, + [I(170,74)] = {29,0x1FFFEF65}, + [I(171,74)] = {31,0x7FFFF865}, + [I(172,74)] = {28,0xFFFEFE5}, + [I(173,74)] = {29,0x1FFFEFE5}, + [I(174,74)] = {30,0x3FFFF5E5}, + [I(175,74)] = {30,0x3FFFF665}, + [I(176,74)] = {28,0xFFFF065}, + [I(177,74)] = {28,0xFFFF0E5}, + [I(178,74)] = {29,0x1FFFF065}, + [I(179,74)] = {28,0xFFFF165}, + [I(180,74)] = {30,0x3FFFF6E5}, + [I(181,74)] = {29,0x1FFFF0E5}, + [I(182,74)] = {30,0x3FFFF765}, + [I(183,74)] = {30,0x3FFFF7E5}, + [I(184,74)] = {27,0x7FFF565}, + [I(185,74)] = {29,0x1FFFF165}, + [I(186,74)] = {29,0x1FFFF1E5}, + [I(187,74)] = {29,0x1FFFF265}, + [I(188,74)] = {30,0x3FFFF865}, + [I(189,74)] = {29,0x1FFFF2E5}, + [I(190,74)] = {29,0x1FFFF365}, + [I(191,74)] = {30,0x3FFFF8E5}, + [I(192,74)] = {64,0}, + [I(193,74)] = {64,0}, + [I(194,74)] = {27,0x7FFF5E5}, + [I(195,74)] = {26,0x3FFF8E5}, + [I(196,74)] = {29,0x1FFFF3E5}, + [I(197,74)] = {30,0x3FFFF965}, + [I(198,74)] = {29,0x1FFFF465}, + [I(199,74)] = {X32,0xFFFFF665}, + [I(200,74)] = {64,0}, + [I(201,74)] = {64,0}, + [I(202,74)] = {64,0}, + [I(203,74)] = {64,0}, + [I(204,74)] = {64,0}, + [I(205,74)] = {64,0}, + [I(206,74)] = {31,0x7FFFF8E5}, + [I(207,74)] = {X32,0xFFFFF6E5}, + [I(208,74)] = {26,0x3FFF965}, + [I(209,74)] = {28,0xFFFF1E5}, + [I(210,74)] = {64,0}, + [I(211,74)] = {64,0}, + [I(212,74)] = {64,0}, + [I(213,74)] = {64,0}, + [I(214,74)] = {64,0}, + [I(215,74)] = {31,0x7FFFF965}, + [I(216,74)] = {28,0xFFFF265}, + [I(217,74)] = {28,0xFFFF2E5}, + [I(218,74)] = {64,0}, + [I(219,74)] = {64,0}, + [I(220,74)] = {64,0}, + [I(221,74)] = {64,0}, + [I(222,74)] = {64,0}, + [I(223,74)] = {64,0}, + [I(224,74)] = {27,0x7FFF665}, + [I(225,74)] = {31,0x7FFFF9E5}, + [I(226,74)] = {27,0x7FFF6E5}, + [I(227,74)] = {28,0xFFFF365}, + [I(228,74)] = {29,0x1FFFF4E5}, + [I(229,74)] = {28,0xFFFF3E5}, + [I(230,74)] = {28,0xFFFF465}, + [I(231,74)] = {30,0x3FFFF9E5}, + [I(232,74)] = {29,0x1FFFF565}, + [I(233,74)] = {29,0x1FFFF5E5}, + [I(234,74)] = {X32,0xFFFFF765}, + [I(235,74)] = {X32,0xFFFFF7E5}, + [I(236,74)] = {31,0x7FFFFA65}, + [I(237,74)] = {31,0x7FFFFAE5}, + [I(238,74)] = {64,0}, + [I(239,74)] = {30,0x3FFFFA65}, + [I(240,74)] = {64,0}, + [I(241,74)] = {64,0}, + [I(242,74)] = {64,0}, + [I(243,74)] = {64,0}, + [I(244,74)] = {64,0}, + [I(245,74)] = {64,0}, + [I(246,74)] = {64,0}, + [I(247,74)] = {64,0}, + [I(248,74)] = {64,0}, + [I(249,74)] = {64,0}, + [I(250,74)] = {64,0}, + [I(251,74)] = {64,0}, + [I(252,74)] = {64,0}, + [I(253,74)] = {64,0}, + [I(254,74)] = {64,0}, + [I(255,74)] = {64,0}, + [I(0,75)] = {20,0xFFC66}, + [I(1,75)] = {30,0x3FFFEC66}, + [I(2,75)] = {64,0}, + [I(3,75)] = {64,0}, + [I(4,75)] = {64,0}, + [I(5,75)] = {64,0}, + [I(6,75)] = {64,0}, + [I(7,75)] = {64,0}, + [I(8,75)] = {64,0}, + [I(9,75)] = {31,0x7FFFF566}, + [I(10,75)] = {64,0}, + [I(11,75)] = {64,0}, + [I(12,75)] = {64,0}, + [I(13,75)] = {64,0}, + [I(14,75)] = {64,0}, + [I(15,75)] = {64,0}, + [I(16,75)] = {64,0}, + [I(17,75)] = {64,0}, + [I(18,75)] = {64,0}, + [I(19,75)] = {64,0}, + [I(20,75)] = {64,0}, + [I(21,75)] = {64,0}, + [I(22,75)] = {64,0}, + [I(23,75)] = {64,0}, + [I(24,75)] = {64,0}, + [I(25,75)] = {64,0}, + [I(26,75)] = {64,0}, + [I(27,75)] = {64,0}, + [I(28,75)] = {64,0}, + [I(29,75)] = {64,0}, + [I(30,75)] = {64,0}, + [I(31,75)] = {64,0}, + [I(32,75)] = {13,0xA66}, + [I(33,75)] = {17,0x1FC66}, + [I(34,75)] = {17,0x1FCE6}, + [I(35,75)] = {19,0x7FD66}, + [I(36,75)] = {20,0xFFCE6}, + [I(37,75)] = {13,0xAE6}, + [I(38,75)] = {15,0x7C66}, + [I(39,75)] = {18,0x3FD66}, + [I(40,75)] = {17,0x1FD66}, + [I(41,75)] = {17,0x1FDE6}, + [I(42,75)] = {15,0x7CE6}, + [I(43,75)] = {18,0x3FDE6}, + [I(44,75)] = {15,0x7D66}, + [I(45,75)] = {13,0xB66}, + [I(46,75)] = {13,0xBE6}, + [I(47,75)] = {13,0xC66}, + [I(48,75)] = {12,0x66}, + [I(49,75)] = {12,0xE6}, + [I(50,75)] = {12,0x166}, + [I(51,75)] = {13,0xCE6}, + [I(52,75)] = {13,0xD66}, + [I(53,75)] = {13,0xDE6}, + [I(54,75)] = {13,0xE66}, + [I(55,75)] = {13,0xEE6}, + [I(56,75)] = {13,0xF66}, + [I(57,75)] = {13,0xFE6}, + [I(58,75)] = {14,0x2E66}, + [I(59,75)] = {15,0x7DE6}, + [I(60,75)] = {22,0x3FFE66}, + [I(61,75)] = {13,0x1066}, + [I(62,75)] = {19,0x7FDE6}, + [I(63,75)] = {17,0x1FE66}, + [I(64,75)] = {20,0xFFD66}, + [I(65,75)] = {13,0x10E6}, + [I(66,75)] = {14,0x2EE6}, + [I(67,75)] = {14,0x2F66}, + [I(68,75)] = {14,0x2FE6}, + [I(69,75)] = {14,0x3066}, + [I(70,75)] = {14,0x30E6}, + [I(71,75)] = {14,0x3166}, + [I(72,75)] = {14,0x31E6}, + [I(73,75)] = {14,0x3266}, + [I(74,75)] = {14,0x32E6}, + [I(75,75)] = {14,0x3366}, + [I(76,75)] = {14,0x33E6}, + [I(77,75)] = {14,0x3466}, + [I(78,75)] = {14,0x34E6}, + [I(79,75)] = {14,0x3566}, + [I(80,75)] = {14,0x35E6}, + [I(81,75)] = {14,0x3666}, + [I(82,75)] = {14,0x36E6}, + [I(83,75)] = {14,0x3766}, + [I(84,75)] = {14,0x37E6}, + [I(85,75)] = {14,0x3866}, + [I(86,75)] = {14,0x38E6}, + [I(87,75)] = {14,0x3966}, + [I(88,75)] = {15,0x7E66}, + [I(89,75)] = {14,0x39E6}, + [I(90,75)] = {15,0x7EE6}, + [I(91,75)] = {20,0xFFDE6}, + [I(92,75)] = {26,0x3FFF866}, + [I(93,75)] = {20,0xFFE66}, + [I(94,75)] = {21,0x1FFE66}, + [I(95,75)] = {13,0x1166}, + [I(96,75)] = {22,0x3FFEE6}, + [I(97,75)] = {12,0x1E6}, + [I(98,75)] = {13,0x11E6}, + [I(99,75)] = {12,0x266}, + [I(100,75)] = {13,0x1266}, + [I(101,75)] = {12,0x2E6}, + [I(102,75)] = {13,0x12E6}, + [I(103,75)] = {13,0x1366}, + [I(104,75)] = {13,0x13E6}, + [I(105,75)] = {12,0x366}, + [I(106,75)] = {14,0x3A66}, + [I(107,75)] = {14,0x3AE6}, + [I(108,75)] = {13,0x1466}, + [I(109,75)] = {13,0x14E6}, + [I(110,75)] = {13,0x1566}, + [I(111,75)] = {12,0x3E6}, + [I(112,75)] = {13,0x15E6}, + [I(113,75)] = {14,0x3B66}, + [I(114,75)] = {13,0x1666}, + [I(115,75)] = {12,0x466}, + [I(116,75)] = {12,0x4E6}, + [I(117,75)] = {13,0x16E6}, + [I(118,75)] = {14,0x3BE6}, + [I(119,75)] = {14,0x3C66}, + [I(120,75)] = {14,0x3CE6}, + [I(121,75)] = {14,0x3D66}, + [I(122,75)] = {14,0x3DE6}, + [I(123,75)] = {22,0x3FFF66}, + [I(124,75)] = {18,0x3FE66}, + [I(125,75)] = {21,0x1FFEE6}, + [I(126,75)] = {20,0xFFEE6}, + [I(127,75)] = {64,0}, + [I(128,75)] = {27,0x7FFF366}, + [I(129,75)] = {29,0x1FFFE966}, + [I(130,75)] = {27,0x7FFF3E6}, + [I(131,75)] = {27,0x7FFF466}, + [I(132,75)] = {29,0x1FFFE9E6}, + [I(133,75)] = {29,0x1FFFEA66}, + [I(134,75)] = {29,0x1FFFEAE6}, + [I(135,75)] = {30,0x3FFFECE6}, + [I(136,75)] = {29,0x1FFFEB66}, + [I(137,75)] = {30,0x3FFFED66}, + [I(138,75)] = {30,0x3FFFEDE6}, + [I(139,75)] = {30,0x3FFFEE66}, + [I(140,75)] = {30,0x3FFFEEE6}, + [I(141,75)] = {30,0x3FFFEF66}, + [I(142,75)] = {31,0x7FFFF5E6}, + [I(143,75)] = {30,0x3FFFEFE6}, + [I(144,75)] = {31,0x7FFFF666}, + [I(145,75)] = {31,0x7FFFF6E6}, + [I(146,75)] = {29,0x1FFFEBE6}, + [I(147,75)] = {30,0x3FFFF066}, + [I(148,75)] = {31,0x7FFFF766}, + [I(149,75)] = {30,0x3FFFF0E6}, + [I(150,75)] = {30,0x3FFFF166}, + [I(151,75)] = {30,0x3FFFF1E6}, + [I(152,75)] = {30,0x3FFFF266}, + [I(153,75)] = {28,0xFFFEE66}, + [I(154,75)] = {29,0x1FFFEC66}, + [I(155,75)] = {30,0x3FFFF2E6}, + [I(156,75)] = {29,0x1FFFECE6}, + [I(157,75)] = {30,0x3FFFF366}, + [I(158,75)] = {30,0x3FFFF3E6}, + [I(159,75)] = {31,0x7FFFF7E6}, + [I(160,75)] = {29,0x1FFFED66}, + [I(161,75)] = {28,0xFFFEEE6}, + [I(162,75)] = {27,0x7FFF4E6}, + [I(163,75)] = {29,0x1FFFEDE6}, + [I(164,75)] = {29,0x1FFFEE66}, + [I(165,75)] = {30,0x3FFFF466}, + [I(166,75)] = {30,0x3FFFF4E6}, + [I(167,75)] = {28,0xFFFEF66}, + [I(168,75)] = {30,0x3FFFF566}, + [I(169,75)] = {29,0x1FFFEEE6}, + [I(170,75)] = {29,0x1FFFEF66}, + [I(171,75)] = {31,0x7FFFF866}, + [I(172,75)] = {28,0xFFFEFE6}, + [I(173,75)] = {29,0x1FFFEFE6}, + [I(174,75)] = {30,0x3FFFF5E6}, + [I(175,75)] = {30,0x3FFFF666}, + [I(176,75)] = {28,0xFFFF066}, + [I(177,75)] = {28,0xFFFF0E6}, + [I(178,75)] = {29,0x1FFFF066}, + [I(179,75)] = {28,0xFFFF166}, + [I(180,75)] = {30,0x3FFFF6E6}, + [I(181,75)] = {29,0x1FFFF0E6}, + [I(182,75)] = {30,0x3FFFF766}, + [I(183,75)] = {30,0x3FFFF7E6}, + [I(184,75)] = {27,0x7FFF566}, + [I(185,75)] = {29,0x1FFFF166}, + [I(186,75)] = {29,0x1FFFF1E6}, + [I(187,75)] = {29,0x1FFFF266}, + [I(188,75)] = {30,0x3FFFF866}, + [I(189,75)] = {29,0x1FFFF2E6}, + [I(190,75)] = {29,0x1FFFF366}, + [I(191,75)] = {30,0x3FFFF8E6}, + [I(192,75)] = {64,0}, + [I(193,75)] = {64,0}, + [I(194,75)] = {27,0x7FFF5E6}, + [I(195,75)] = {26,0x3FFF8E6}, + [I(196,75)] = {29,0x1FFFF3E6}, + [I(197,75)] = {30,0x3FFFF966}, + [I(198,75)] = {29,0x1FFFF466}, + [I(199,75)] = {X32,0xFFFFF666}, + [I(200,75)] = {64,0}, + [I(201,75)] = {64,0}, + [I(202,75)] = {64,0}, + [I(203,75)] = {64,0}, + [I(204,75)] = {64,0}, + [I(205,75)] = {64,0}, + [I(206,75)] = {31,0x7FFFF8E6}, + [I(207,75)] = {X32,0xFFFFF6E6}, + [I(208,75)] = {26,0x3FFF966}, + [I(209,75)] = {28,0xFFFF1E6}, + [I(210,75)] = {64,0}, + [I(211,75)] = {64,0}, + [I(212,75)] = {64,0}, + [I(213,75)] = {64,0}, + [I(214,75)] = {64,0}, + [I(215,75)] = {31,0x7FFFF966}, + [I(216,75)] = {28,0xFFFF266}, + [I(217,75)] = {28,0xFFFF2E6}, + [I(218,75)] = {64,0}, + [I(219,75)] = {64,0}, + [I(220,75)] = {64,0}, + [I(221,75)] = {64,0}, + [I(222,75)] = {64,0}, + [I(223,75)] = {64,0}, + [I(224,75)] = {27,0x7FFF666}, + [I(225,75)] = {31,0x7FFFF9E6}, + [I(226,75)] = {27,0x7FFF6E6}, + [I(227,75)] = {28,0xFFFF366}, + [I(228,75)] = {29,0x1FFFF4E6}, + [I(229,75)] = {28,0xFFFF3E6}, + [I(230,75)] = {28,0xFFFF466}, + [I(231,75)] = {30,0x3FFFF9E6}, + [I(232,75)] = {29,0x1FFFF566}, + [I(233,75)] = {29,0x1FFFF5E6}, + [I(234,75)] = {X32,0xFFFFF766}, + [I(235,75)] = {X32,0xFFFFF7E6}, + [I(236,75)] = {31,0x7FFFFA66}, + [I(237,75)] = {31,0x7FFFFAE6}, + [I(238,75)] = {64,0}, + [I(239,75)] = {30,0x3FFFFA66}, + [I(240,75)] = {64,0}, + [I(241,75)] = {64,0}, + [I(242,75)] = {64,0}, + [I(243,75)] = {64,0}, + [I(244,75)] = {64,0}, + [I(245,75)] = {64,0}, + [I(246,75)] = {64,0}, + [I(247,75)] = {64,0}, + [I(248,75)] = {64,0}, + [I(249,75)] = {64,0}, + [I(250,75)] = {64,0}, + [I(251,75)] = {64,0}, + [I(252,75)] = {64,0}, + [I(253,75)] = {64,0}, + [I(254,75)] = {64,0}, + [I(255,75)] = {64,0}, + [I(0,76)] = {20,0xFFC67}, + [I(1,76)] = {30,0x3FFFEC67}, + [I(2,76)] = {64,0}, + [I(3,76)] = {64,0}, + [I(4,76)] = {64,0}, + [I(5,76)] = {64,0}, + [I(6,76)] = {64,0}, + [I(7,76)] = {64,0}, + [I(8,76)] = {64,0}, + [I(9,76)] = {31,0x7FFFF567}, + [I(10,76)] = {64,0}, + [I(11,76)] = {64,0}, + [I(12,76)] = {64,0}, + [I(13,76)] = {64,0}, + [I(14,76)] = {64,0}, + [I(15,76)] = {64,0}, + [I(16,76)] = {64,0}, + [I(17,76)] = {64,0}, + [I(18,76)] = {64,0}, + [I(19,76)] = {64,0}, + [I(20,76)] = {64,0}, + [I(21,76)] = {64,0}, + [I(22,76)] = {64,0}, + [I(23,76)] = {64,0}, + [I(24,76)] = {64,0}, + [I(25,76)] = {64,0}, + [I(26,76)] = {64,0}, + [I(27,76)] = {64,0}, + [I(28,76)] = {64,0}, + [I(29,76)] = {64,0}, + [I(30,76)] = {64,0}, + [I(31,76)] = {64,0}, + [I(32,76)] = {13,0xA67}, + [I(33,76)] = {17,0x1FC67}, + [I(34,76)] = {17,0x1FCE7}, + [I(35,76)] = {19,0x7FD67}, + [I(36,76)] = {20,0xFFCE7}, + [I(37,76)] = {13,0xAE7}, + [I(38,76)] = {15,0x7C67}, + [I(39,76)] = {18,0x3FD67}, + [I(40,76)] = {17,0x1FD67}, + [I(41,76)] = {17,0x1FDE7}, + [I(42,76)] = {15,0x7CE7}, + [I(43,76)] = {18,0x3FDE7}, + [I(44,76)] = {15,0x7D67}, + [I(45,76)] = {13,0xB67}, + [I(46,76)] = {13,0xBE7}, + [I(47,76)] = {13,0xC67}, + [I(48,76)] = {12,0x67}, + [I(49,76)] = {12,0xE7}, + [I(50,76)] = {12,0x167}, + [I(51,76)] = {13,0xCE7}, + [I(52,76)] = {13,0xD67}, + [I(53,76)] = {13,0xDE7}, + [I(54,76)] = {13,0xE67}, + [I(55,76)] = {13,0xEE7}, + [I(56,76)] = {13,0xF67}, + [I(57,76)] = {13,0xFE7}, + [I(58,76)] = {14,0x2E67}, + [I(59,76)] = {15,0x7DE7}, + [I(60,76)] = {22,0x3FFE67}, + [I(61,76)] = {13,0x1067}, + [I(62,76)] = {19,0x7FDE7}, + [I(63,76)] = {17,0x1FE67}, + [I(64,76)] = {20,0xFFD67}, + [I(65,76)] = {13,0x10E7}, + [I(66,76)] = {14,0x2EE7}, + [I(67,76)] = {14,0x2F67}, + [I(68,76)] = {14,0x2FE7}, + [I(69,76)] = {14,0x3067}, + [I(70,76)] = {14,0x30E7}, + [I(71,76)] = {14,0x3167}, + [I(72,76)] = {14,0x31E7}, + [I(73,76)] = {14,0x3267}, + [I(74,76)] = {14,0x32E7}, + [I(75,76)] = {14,0x3367}, + [I(76,76)] = {14,0x33E7}, + [I(77,76)] = {14,0x3467}, + [I(78,76)] = {14,0x34E7}, + [I(79,76)] = {14,0x3567}, + [I(80,76)] = {14,0x35E7}, + [I(81,76)] = {14,0x3667}, + [I(82,76)] = {14,0x36E7}, + [I(83,76)] = {14,0x3767}, + [I(84,76)] = {14,0x37E7}, + [I(85,76)] = {14,0x3867}, + [I(86,76)] = {14,0x38E7}, + [I(87,76)] = {14,0x3967}, + [I(88,76)] = {15,0x7E67}, + [I(89,76)] = {14,0x39E7}, + [I(90,76)] = {15,0x7EE7}, + [I(91,76)] = {20,0xFFDE7}, + [I(92,76)] = {26,0x3FFF867}, + [I(93,76)] = {20,0xFFE67}, + [I(94,76)] = {21,0x1FFE67}, + [I(95,76)] = {13,0x1167}, + [I(96,76)] = {22,0x3FFEE7}, + [I(97,76)] = {12,0x1E7}, + [I(98,76)] = {13,0x11E7}, + [I(99,76)] = {12,0x267}, + [I(100,76)] = {13,0x1267}, + [I(101,76)] = {12,0x2E7}, + [I(102,76)] = {13,0x12E7}, + [I(103,76)] = {13,0x1367}, + [I(104,76)] = {13,0x13E7}, + [I(105,76)] = {12,0x367}, + [I(106,76)] = {14,0x3A67}, + [I(107,76)] = {14,0x3AE7}, + [I(108,76)] = {13,0x1467}, + [I(109,76)] = {13,0x14E7}, + [I(110,76)] = {13,0x1567}, + [I(111,76)] = {12,0x3E7}, + [I(112,76)] = {13,0x15E7}, + [I(113,76)] = {14,0x3B67}, + [I(114,76)] = {13,0x1667}, + [I(115,76)] = {12,0x467}, + [I(116,76)] = {12,0x4E7}, + [I(117,76)] = {13,0x16E7}, + [I(118,76)] = {14,0x3BE7}, + [I(119,76)] = {14,0x3C67}, + [I(120,76)] = {14,0x3CE7}, + [I(121,76)] = {14,0x3D67}, + [I(122,76)] = {14,0x3DE7}, + [I(123,76)] = {22,0x3FFF67}, + [I(124,76)] = {18,0x3FE67}, + [I(125,76)] = {21,0x1FFEE7}, + [I(126,76)] = {20,0xFFEE7}, + [I(127,76)] = {64,0}, + [I(128,76)] = {27,0x7FFF367}, + [I(129,76)] = {29,0x1FFFE967}, + [I(130,76)] = {27,0x7FFF3E7}, + [I(131,76)] = {27,0x7FFF467}, + [I(132,76)] = {29,0x1FFFE9E7}, + [I(133,76)] = {29,0x1FFFEA67}, + [I(134,76)] = {29,0x1FFFEAE7}, + [I(135,76)] = {30,0x3FFFECE7}, + [I(136,76)] = {29,0x1FFFEB67}, + [I(137,76)] = {30,0x3FFFED67}, + [I(138,76)] = {30,0x3FFFEDE7}, + [I(139,76)] = {30,0x3FFFEE67}, + [I(140,76)] = {30,0x3FFFEEE7}, + [I(141,76)] = {30,0x3FFFEF67}, + [I(142,76)] = {31,0x7FFFF5E7}, + [I(143,76)] = {30,0x3FFFEFE7}, + [I(144,76)] = {31,0x7FFFF667}, + [I(145,76)] = {31,0x7FFFF6E7}, + [I(146,76)] = {29,0x1FFFEBE7}, + [I(147,76)] = {30,0x3FFFF067}, + [I(148,76)] = {31,0x7FFFF767}, + [I(149,76)] = {30,0x3FFFF0E7}, + [I(150,76)] = {30,0x3FFFF167}, + [I(151,76)] = {30,0x3FFFF1E7}, + [I(152,76)] = {30,0x3FFFF267}, + [I(153,76)] = {28,0xFFFEE67}, + [I(154,76)] = {29,0x1FFFEC67}, + [I(155,76)] = {30,0x3FFFF2E7}, + [I(156,76)] = {29,0x1FFFECE7}, + [I(157,76)] = {30,0x3FFFF367}, + [I(158,76)] = {30,0x3FFFF3E7}, + [I(159,76)] = {31,0x7FFFF7E7}, + [I(160,76)] = {29,0x1FFFED67}, + [I(161,76)] = {28,0xFFFEEE7}, + [I(162,76)] = {27,0x7FFF4E7}, + [I(163,76)] = {29,0x1FFFEDE7}, + [I(164,76)] = {29,0x1FFFEE67}, + [I(165,76)] = {30,0x3FFFF467}, + [I(166,76)] = {30,0x3FFFF4E7}, + [I(167,76)] = {28,0xFFFEF67}, + [I(168,76)] = {30,0x3FFFF567}, + [I(169,76)] = {29,0x1FFFEEE7}, + [I(170,76)] = {29,0x1FFFEF67}, + [I(171,76)] = {31,0x7FFFF867}, + [I(172,76)] = {28,0xFFFEFE7}, + [I(173,76)] = {29,0x1FFFEFE7}, + [I(174,76)] = {30,0x3FFFF5E7}, + [I(175,76)] = {30,0x3FFFF667}, + [I(176,76)] = {28,0xFFFF067}, + [I(177,76)] = {28,0xFFFF0E7}, + [I(178,76)] = {29,0x1FFFF067}, + [I(179,76)] = {28,0xFFFF167}, + [I(180,76)] = {30,0x3FFFF6E7}, + [I(181,76)] = {29,0x1FFFF0E7}, + [I(182,76)] = {30,0x3FFFF767}, + [I(183,76)] = {30,0x3FFFF7E7}, + [I(184,76)] = {27,0x7FFF567}, + [I(185,76)] = {29,0x1FFFF167}, + [I(186,76)] = {29,0x1FFFF1E7}, + [I(187,76)] = {29,0x1FFFF267}, + [I(188,76)] = {30,0x3FFFF867}, + [I(189,76)] = {29,0x1FFFF2E7}, + [I(190,76)] = {29,0x1FFFF367}, + [I(191,76)] = {30,0x3FFFF8E7}, + [I(192,76)] = {64,0}, + [I(193,76)] = {64,0}, + [I(194,76)] = {27,0x7FFF5E7}, + [I(195,76)] = {26,0x3FFF8E7}, + [I(196,76)] = {29,0x1FFFF3E7}, + [I(197,76)] = {30,0x3FFFF967}, + [I(198,76)] = {29,0x1FFFF467}, + [I(199,76)] = {X32,0xFFFFF667}, + [I(200,76)] = {64,0}, + [I(201,76)] = {64,0}, + [I(202,76)] = {64,0}, + [I(203,76)] = {64,0}, + [I(204,76)] = {64,0}, + [I(205,76)] = {64,0}, + [I(206,76)] = {31,0x7FFFF8E7}, + [I(207,76)] = {X32,0xFFFFF6E7}, + [I(208,76)] = {26,0x3FFF967}, + [I(209,76)] = {28,0xFFFF1E7}, + [I(210,76)] = {64,0}, + [I(211,76)] = {64,0}, + [I(212,76)] = {64,0}, + [I(213,76)] = {64,0}, + [I(214,76)] = {64,0}, + [I(215,76)] = {31,0x7FFFF967}, + [I(216,76)] = {28,0xFFFF267}, + [I(217,76)] = {28,0xFFFF2E7}, + [I(218,76)] = {64,0}, + [I(219,76)] = {64,0}, + [I(220,76)] = {64,0}, + [I(221,76)] = {64,0}, + [I(222,76)] = {64,0}, + [I(223,76)] = {64,0}, + [I(224,76)] = {27,0x7FFF667}, + [I(225,76)] = {31,0x7FFFF9E7}, + [I(226,76)] = {27,0x7FFF6E7}, + [I(227,76)] = {28,0xFFFF367}, + [I(228,76)] = {29,0x1FFFF4E7}, + [I(229,76)] = {28,0xFFFF3E7}, + [I(230,76)] = {28,0xFFFF467}, + [I(231,76)] = {30,0x3FFFF9E7}, + [I(232,76)] = {29,0x1FFFF567}, + [I(233,76)] = {29,0x1FFFF5E7}, + [I(234,76)] = {X32,0xFFFFF767}, + [I(235,76)] = {X32,0xFFFFF7E7}, + [I(236,76)] = {31,0x7FFFFA67}, + [I(237,76)] = {31,0x7FFFFAE7}, + [I(238,76)] = {64,0}, + [I(239,76)] = {30,0x3FFFFA67}, + [I(240,76)] = {64,0}, + [I(241,76)] = {64,0}, + [I(242,76)] = {64,0}, + [I(243,76)] = {64,0}, + [I(244,76)] = {64,0}, + [I(245,76)] = {64,0}, + [I(246,76)] = {64,0}, + [I(247,76)] = {64,0}, + [I(248,76)] = {64,0}, + [I(249,76)] = {64,0}, + [I(250,76)] = {64,0}, + [I(251,76)] = {64,0}, + [I(252,76)] = {64,0}, + [I(253,76)] = {64,0}, + [I(254,76)] = {64,0}, + [I(255,76)] = {64,0}, + [I(0,77)] = {20,0xFFC68}, + [I(1,77)] = {30,0x3FFFEC68}, + [I(2,77)] = {64,0}, + [I(3,77)] = {64,0}, + [I(4,77)] = {64,0}, + [I(5,77)] = {64,0}, + [I(6,77)] = {64,0}, + [I(7,77)] = {64,0}, + [I(8,77)] = {64,0}, + [I(9,77)] = {31,0x7FFFF568}, + [I(10,77)] = {64,0}, + [I(11,77)] = {64,0}, + [I(12,77)] = {64,0}, + [I(13,77)] = {64,0}, + [I(14,77)] = {64,0}, + [I(15,77)] = {64,0}, + [I(16,77)] = {64,0}, + [I(17,77)] = {64,0}, + [I(18,77)] = {64,0}, + [I(19,77)] = {64,0}, + [I(20,77)] = {64,0}, + [I(21,77)] = {64,0}, + [I(22,77)] = {64,0}, + [I(23,77)] = {64,0}, + [I(24,77)] = {64,0}, + [I(25,77)] = {64,0}, + [I(26,77)] = {64,0}, + [I(27,77)] = {64,0}, + [I(28,77)] = {64,0}, + [I(29,77)] = {64,0}, + [I(30,77)] = {64,0}, + [I(31,77)] = {64,0}, + [I(32,77)] = {13,0xA68}, + [I(33,77)] = {17,0x1FC68}, + [I(34,77)] = {17,0x1FCE8}, + [I(35,77)] = {19,0x7FD68}, + [I(36,77)] = {20,0xFFCE8}, + [I(37,77)] = {13,0xAE8}, + [I(38,77)] = {15,0x7C68}, + [I(39,77)] = {18,0x3FD68}, + [I(40,77)] = {17,0x1FD68}, + [I(41,77)] = {17,0x1FDE8}, + [I(42,77)] = {15,0x7CE8}, + [I(43,77)] = {18,0x3FDE8}, + [I(44,77)] = {15,0x7D68}, + [I(45,77)] = {13,0xB68}, + [I(46,77)] = {13,0xBE8}, + [I(47,77)] = {13,0xC68}, + [I(48,77)] = {12,0x68}, + [I(49,77)] = {12,0xE8}, + [I(50,77)] = {12,0x168}, + [I(51,77)] = {13,0xCE8}, + [I(52,77)] = {13,0xD68}, + [I(53,77)] = {13,0xDE8}, + [I(54,77)] = {13,0xE68}, + [I(55,77)] = {13,0xEE8}, + [I(56,77)] = {13,0xF68}, + [I(57,77)] = {13,0xFE8}, + [I(58,77)] = {14,0x2E68}, + [I(59,77)] = {15,0x7DE8}, + [I(60,77)] = {22,0x3FFE68}, + [I(61,77)] = {13,0x1068}, + [I(62,77)] = {19,0x7FDE8}, + [I(63,77)] = {17,0x1FE68}, + [I(64,77)] = {20,0xFFD68}, + [I(65,77)] = {13,0x10E8}, + [I(66,77)] = {14,0x2EE8}, + [I(67,77)] = {14,0x2F68}, + [I(68,77)] = {14,0x2FE8}, + [I(69,77)] = {14,0x3068}, + [I(70,77)] = {14,0x30E8}, + [I(71,77)] = {14,0x3168}, + [I(72,77)] = {14,0x31E8}, + [I(73,77)] = {14,0x3268}, + [I(74,77)] = {14,0x32E8}, + [I(75,77)] = {14,0x3368}, + [I(76,77)] = {14,0x33E8}, + [I(77,77)] = {14,0x3468}, + [I(78,77)] = {14,0x34E8}, + [I(79,77)] = {14,0x3568}, + [I(80,77)] = {14,0x35E8}, + [I(81,77)] = {14,0x3668}, + [I(82,77)] = {14,0x36E8}, + [I(83,77)] = {14,0x3768}, + [I(84,77)] = {14,0x37E8}, + [I(85,77)] = {14,0x3868}, + [I(86,77)] = {14,0x38E8}, + [I(87,77)] = {14,0x3968}, + [I(88,77)] = {15,0x7E68}, + [I(89,77)] = {14,0x39E8}, + [I(90,77)] = {15,0x7EE8}, + [I(91,77)] = {20,0xFFDE8}, + [I(92,77)] = {26,0x3FFF868}, + [I(93,77)] = {20,0xFFE68}, + [I(94,77)] = {21,0x1FFE68}, + [I(95,77)] = {13,0x1168}, + [I(96,77)] = {22,0x3FFEE8}, + [I(97,77)] = {12,0x1E8}, + [I(98,77)] = {13,0x11E8}, + [I(99,77)] = {12,0x268}, + [I(100,77)] = {13,0x1268}, + [I(101,77)] = {12,0x2E8}, + [I(102,77)] = {13,0x12E8}, + [I(103,77)] = {13,0x1368}, + [I(104,77)] = {13,0x13E8}, + [I(105,77)] = {12,0x368}, + [I(106,77)] = {14,0x3A68}, + [I(107,77)] = {14,0x3AE8}, + [I(108,77)] = {13,0x1468}, + [I(109,77)] = {13,0x14E8}, + [I(110,77)] = {13,0x1568}, + [I(111,77)] = {12,0x3E8}, + [I(112,77)] = {13,0x15E8}, + [I(113,77)] = {14,0x3B68}, + [I(114,77)] = {13,0x1668}, + [I(115,77)] = {12,0x468}, + [I(116,77)] = {12,0x4E8}, + [I(117,77)] = {13,0x16E8}, + [I(118,77)] = {14,0x3BE8}, + [I(119,77)] = {14,0x3C68}, + [I(120,77)] = {14,0x3CE8}, + [I(121,77)] = {14,0x3D68}, + [I(122,77)] = {14,0x3DE8}, + [I(123,77)] = {22,0x3FFF68}, + [I(124,77)] = {18,0x3FE68}, + [I(125,77)] = {21,0x1FFEE8}, + [I(126,77)] = {20,0xFFEE8}, + [I(127,77)] = {64,0}, + [I(128,77)] = {27,0x7FFF368}, + [I(129,77)] = {29,0x1FFFE968}, + [I(130,77)] = {27,0x7FFF3E8}, + [I(131,77)] = {27,0x7FFF468}, + [I(132,77)] = {29,0x1FFFE9E8}, + [I(133,77)] = {29,0x1FFFEA68}, + [I(134,77)] = {29,0x1FFFEAE8}, + [I(135,77)] = {30,0x3FFFECE8}, + [I(136,77)] = {29,0x1FFFEB68}, + [I(137,77)] = {30,0x3FFFED68}, + [I(138,77)] = {30,0x3FFFEDE8}, + [I(139,77)] = {30,0x3FFFEE68}, + [I(140,77)] = {30,0x3FFFEEE8}, + [I(141,77)] = {30,0x3FFFEF68}, + [I(142,77)] = {31,0x7FFFF5E8}, + [I(143,77)] = {30,0x3FFFEFE8}, + [I(144,77)] = {31,0x7FFFF668}, + [I(145,77)] = {31,0x7FFFF6E8}, + [I(146,77)] = {29,0x1FFFEBE8}, + [I(147,77)] = {30,0x3FFFF068}, + [I(148,77)] = {31,0x7FFFF768}, + [I(149,77)] = {30,0x3FFFF0E8}, + [I(150,77)] = {30,0x3FFFF168}, + [I(151,77)] = {30,0x3FFFF1E8}, + [I(152,77)] = {30,0x3FFFF268}, + [I(153,77)] = {28,0xFFFEE68}, + [I(154,77)] = {29,0x1FFFEC68}, + [I(155,77)] = {30,0x3FFFF2E8}, + [I(156,77)] = {29,0x1FFFECE8}, + [I(157,77)] = {30,0x3FFFF368}, + [I(158,77)] = {30,0x3FFFF3E8}, + [I(159,77)] = {31,0x7FFFF7E8}, + [I(160,77)] = {29,0x1FFFED68}, + [I(161,77)] = {28,0xFFFEEE8}, + [I(162,77)] = {27,0x7FFF4E8}, + [I(163,77)] = {29,0x1FFFEDE8}, + [I(164,77)] = {29,0x1FFFEE68}, + [I(165,77)] = {30,0x3FFFF468}, + [I(166,77)] = {30,0x3FFFF4E8}, + [I(167,77)] = {28,0xFFFEF68}, + [I(168,77)] = {30,0x3FFFF568}, + [I(169,77)] = {29,0x1FFFEEE8}, + [I(170,77)] = {29,0x1FFFEF68}, + [I(171,77)] = {31,0x7FFFF868}, + [I(172,77)] = {28,0xFFFEFE8}, + [I(173,77)] = {29,0x1FFFEFE8}, + [I(174,77)] = {30,0x3FFFF5E8}, + [I(175,77)] = {30,0x3FFFF668}, + [I(176,77)] = {28,0xFFFF068}, + [I(177,77)] = {28,0xFFFF0E8}, + [I(178,77)] = {29,0x1FFFF068}, + [I(179,77)] = {28,0xFFFF168}, + [I(180,77)] = {30,0x3FFFF6E8}, + [I(181,77)] = {29,0x1FFFF0E8}, + [I(182,77)] = {30,0x3FFFF768}, + [I(183,77)] = {30,0x3FFFF7E8}, + [I(184,77)] = {27,0x7FFF568}, + [I(185,77)] = {29,0x1FFFF168}, + [I(186,77)] = {29,0x1FFFF1E8}, + [I(187,77)] = {29,0x1FFFF268}, + [I(188,77)] = {30,0x3FFFF868}, + [I(189,77)] = {29,0x1FFFF2E8}, + [I(190,77)] = {29,0x1FFFF368}, + [I(191,77)] = {30,0x3FFFF8E8}, + [I(192,77)] = {64,0}, + [I(193,77)] = {64,0}, + [I(194,77)] = {27,0x7FFF5E8}, + [I(195,77)] = {26,0x3FFF8E8}, + [I(196,77)] = {29,0x1FFFF3E8}, + [I(197,77)] = {30,0x3FFFF968}, + [I(198,77)] = {29,0x1FFFF468}, + [I(199,77)] = {X32,0xFFFFF668}, + [I(200,77)] = {64,0}, + [I(201,77)] = {64,0}, + [I(202,77)] = {64,0}, + [I(203,77)] = {64,0}, + [I(204,77)] = {64,0}, + [I(205,77)] = {64,0}, + [I(206,77)] = {31,0x7FFFF8E8}, + [I(207,77)] = {X32,0xFFFFF6E8}, + [I(208,77)] = {26,0x3FFF968}, + [I(209,77)] = {28,0xFFFF1E8}, + [I(210,77)] = {64,0}, + [I(211,77)] = {64,0}, + [I(212,77)] = {64,0}, + [I(213,77)] = {64,0}, + [I(214,77)] = {64,0}, + [I(215,77)] = {31,0x7FFFF968}, + [I(216,77)] = {28,0xFFFF268}, + [I(217,77)] = {28,0xFFFF2E8}, + [I(218,77)] = {64,0}, + [I(219,77)] = {64,0}, + [I(220,77)] = {64,0}, + [I(221,77)] = {64,0}, + [I(222,77)] = {64,0}, + [I(223,77)] = {64,0}, + [I(224,77)] = {27,0x7FFF668}, + [I(225,77)] = {31,0x7FFFF9E8}, + [I(226,77)] = {27,0x7FFF6E8}, + [I(227,77)] = {28,0xFFFF368}, + [I(228,77)] = {29,0x1FFFF4E8}, + [I(229,77)] = {28,0xFFFF3E8}, + [I(230,77)] = {28,0xFFFF468}, + [I(231,77)] = {30,0x3FFFF9E8}, + [I(232,77)] = {29,0x1FFFF568}, + [I(233,77)] = {29,0x1FFFF5E8}, + [I(234,77)] = {X32,0xFFFFF768}, + [I(235,77)] = {X32,0xFFFFF7E8}, + [I(236,77)] = {31,0x7FFFFA68}, + [I(237,77)] = {31,0x7FFFFAE8}, + [I(238,77)] = {64,0}, + [I(239,77)] = {30,0x3FFFFA68}, + [I(240,77)] = {64,0}, + [I(241,77)] = {64,0}, + [I(242,77)] = {64,0}, + [I(243,77)] = {64,0}, + [I(244,77)] = {64,0}, + [I(245,77)] = {64,0}, + [I(246,77)] = {64,0}, + [I(247,77)] = {64,0}, + [I(248,77)] = {64,0}, + [I(249,77)] = {64,0}, + [I(250,77)] = {64,0}, + [I(251,77)] = {64,0}, + [I(252,77)] = {64,0}, + [I(253,77)] = {64,0}, + [I(254,77)] = {64,0}, + [I(255,77)] = {64,0}, + [I(0,78)] = {20,0xFFC69}, + [I(1,78)] = {30,0x3FFFEC69}, + [I(2,78)] = {64,0}, + [I(3,78)] = {64,0}, + [I(4,78)] = {64,0}, + [I(5,78)] = {64,0}, + [I(6,78)] = {64,0}, + [I(7,78)] = {64,0}, + [I(8,78)] = {64,0}, + [I(9,78)] = {31,0x7FFFF569}, + [I(10,78)] = {64,0}, + [I(11,78)] = {64,0}, + [I(12,78)] = {64,0}, + [I(13,78)] = {64,0}, + [I(14,78)] = {64,0}, + [I(15,78)] = {64,0}, + [I(16,78)] = {64,0}, + [I(17,78)] = {64,0}, + [I(18,78)] = {64,0}, + [I(19,78)] = {64,0}, + [I(20,78)] = {64,0}, + [I(21,78)] = {64,0}, + [I(22,78)] = {64,0}, + [I(23,78)] = {64,0}, + [I(24,78)] = {64,0}, + [I(25,78)] = {64,0}, + [I(26,78)] = {64,0}, + [I(27,78)] = {64,0}, + [I(28,78)] = {64,0}, + [I(29,78)] = {64,0}, + [I(30,78)] = {64,0}, + [I(31,78)] = {64,0}, + [I(32,78)] = {13,0xA69}, + [I(33,78)] = {17,0x1FC69}, + [I(34,78)] = {17,0x1FCE9}, + [I(35,78)] = {19,0x7FD69}, + [I(36,78)] = {20,0xFFCE9}, + [I(37,78)] = {13,0xAE9}, + [I(38,78)] = {15,0x7C69}, + [I(39,78)] = {18,0x3FD69}, + [I(40,78)] = {17,0x1FD69}, + [I(41,78)] = {17,0x1FDE9}, + [I(42,78)] = {15,0x7CE9}, + [I(43,78)] = {18,0x3FDE9}, + [I(44,78)] = {15,0x7D69}, + [I(45,78)] = {13,0xB69}, + [I(46,78)] = {13,0xBE9}, + [I(47,78)] = {13,0xC69}, + [I(48,78)] = {12,0x69}, + [I(49,78)] = {12,0xE9}, + [I(50,78)] = {12,0x169}, + [I(51,78)] = {13,0xCE9}, + [I(52,78)] = {13,0xD69}, + [I(53,78)] = {13,0xDE9}, + [I(54,78)] = {13,0xE69}, + [I(55,78)] = {13,0xEE9}, + [I(56,78)] = {13,0xF69}, + [I(57,78)] = {13,0xFE9}, + [I(58,78)] = {14,0x2E69}, + [I(59,78)] = {15,0x7DE9}, + [I(60,78)] = {22,0x3FFE69}, + [I(61,78)] = {13,0x1069}, + [I(62,78)] = {19,0x7FDE9}, + [I(63,78)] = {17,0x1FE69}, + [I(64,78)] = {20,0xFFD69}, + [I(65,78)] = {13,0x10E9}, + [I(66,78)] = {14,0x2EE9}, + [I(67,78)] = {14,0x2F69}, + [I(68,78)] = {14,0x2FE9}, + [I(69,78)] = {14,0x3069}, + [I(70,78)] = {14,0x30E9}, + [I(71,78)] = {14,0x3169}, + [I(72,78)] = {14,0x31E9}, + [I(73,78)] = {14,0x3269}, + [I(74,78)] = {14,0x32E9}, + [I(75,78)] = {14,0x3369}, + [I(76,78)] = {14,0x33E9}, + [I(77,78)] = {14,0x3469}, + [I(78,78)] = {14,0x34E9}, + [I(79,78)] = {14,0x3569}, + [I(80,78)] = {14,0x35E9}, + [I(81,78)] = {14,0x3669}, + [I(82,78)] = {14,0x36E9}, + [I(83,78)] = {14,0x3769}, + [I(84,78)] = {14,0x37E9}, + [I(85,78)] = {14,0x3869}, + [I(86,78)] = {14,0x38E9}, + [I(87,78)] = {14,0x3969}, + [I(88,78)] = {15,0x7E69}, + [I(89,78)] = {14,0x39E9}, + [I(90,78)] = {15,0x7EE9}, + [I(91,78)] = {20,0xFFDE9}, + [I(92,78)] = {26,0x3FFF869}, + [I(93,78)] = {20,0xFFE69}, + [I(94,78)] = {21,0x1FFE69}, + [I(95,78)] = {13,0x1169}, + [I(96,78)] = {22,0x3FFEE9}, + [I(97,78)] = {12,0x1E9}, + [I(98,78)] = {13,0x11E9}, + [I(99,78)] = {12,0x269}, + [I(100,78)] = {13,0x1269}, + [I(101,78)] = {12,0x2E9}, + [I(102,78)] = {13,0x12E9}, + [I(103,78)] = {13,0x1369}, + [I(104,78)] = {13,0x13E9}, + [I(105,78)] = {12,0x369}, + [I(106,78)] = {14,0x3A69}, + [I(107,78)] = {14,0x3AE9}, + [I(108,78)] = {13,0x1469}, + [I(109,78)] = {13,0x14E9}, + [I(110,78)] = {13,0x1569}, + [I(111,78)] = {12,0x3E9}, + [I(112,78)] = {13,0x15E9}, + [I(113,78)] = {14,0x3B69}, + [I(114,78)] = {13,0x1669}, + [I(115,78)] = {12,0x469}, + [I(116,78)] = {12,0x4E9}, + [I(117,78)] = {13,0x16E9}, + [I(118,78)] = {14,0x3BE9}, + [I(119,78)] = {14,0x3C69}, + [I(120,78)] = {14,0x3CE9}, + [I(121,78)] = {14,0x3D69}, + [I(122,78)] = {14,0x3DE9}, + [I(123,78)] = {22,0x3FFF69}, + [I(124,78)] = {18,0x3FE69}, + [I(125,78)] = {21,0x1FFEE9}, + [I(126,78)] = {20,0xFFEE9}, + [I(127,78)] = {64,0}, + [I(128,78)] = {27,0x7FFF369}, + [I(129,78)] = {29,0x1FFFE969}, + [I(130,78)] = {27,0x7FFF3E9}, + [I(131,78)] = {27,0x7FFF469}, + [I(132,78)] = {29,0x1FFFE9E9}, + [I(133,78)] = {29,0x1FFFEA69}, + [I(134,78)] = {29,0x1FFFEAE9}, + [I(135,78)] = {30,0x3FFFECE9}, + [I(136,78)] = {29,0x1FFFEB69}, + [I(137,78)] = {30,0x3FFFED69}, + [I(138,78)] = {30,0x3FFFEDE9}, + [I(139,78)] = {30,0x3FFFEE69}, + [I(140,78)] = {30,0x3FFFEEE9}, + [I(141,78)] = {30,0x3FFFEF69}, + [I(142,78)] = {31,0x7FFFF5E9}, + [I(143,78)] = {30,0x3FFFEFE9}, + [I(144,78)] = {31,0x7FFFF669}, + [I(145,78)] = {31,0x7FFFF6E9}, + [I(146,78)] = {29,0x1FFFEBE9}, + [I(147,78)] = {30,0x3FFFF069}, + [I(148,78)] = {31,0x7FFFF769}, + [I(149,78)] = {30,0x3FFFF0E9}, + [I(150,78)] = {30,0x3FFFF169}, + [I(151,78)] = {30,0x3FFFF1E9}, + [I(152,78)] = {30,0x3FFFF269}, + [I(153,78)] = {28,0xFFFEE69}, + [I(154,78)] = {29,0x1FFFEC69}, + [I(155,78)] = {30,0x3FFFF2E9}, + [I(156,78)] = {29,0x1FFFECE9}, + [I(157,78)] = {30,0x3FFFF369}, + [I(158,78)] = {30,0x3FFFF3E9}, + [I(159,78)] = {31,0x7FFFF7E9}, + [I(160,78)] = {29,0x1FFFED69}, + [I(161,78)] = {28,0xFFFEEE9}, + [I(162,78)] = {27,0x7FFF4E9}, + [I(163,78)] = {29,0x1FFFEDE9}, + [I(164,78)] = {29,0x1FFFEE69}, + [I(165,78)] = {30,0x3FFFF469}, + [I(166,78)] = {30,0x3FFFF4E9}, + [I(167,78)] = {28,0xFFFEF69}, + [I(168,78)] = {30,0x3FFFF569}, + [I(169,78)] = {29,0x1FFFEEE9}, + [I(170,78)] = {29,0x1FFFEF69}, + [I(171,78)] = {31,0x7FFFF869}, + [I(172,78)] = {28,0xFFFEFE9}, + [I(173,78)] = {29,0x1FFFEFE9}, + [I(174,78)] = {30,0x3FFFF5E9}, + [I(175,78)] = {30,0x3FFFF669}, + [I(176,78)] = {28,0xFFFF069}, + [I(177,78)] = {28,0xFFFF0E9}, + [I(178,78)] = {29,0x1FFFF069}, + [I(179,78)] = {28,0xFFFF169}, + [I(180,78)] = {30,0x3FFFF6E9}, + [I(181,78)] = {29,0x1FFFF0E9}, + [I(182,78)] = {30,0x3FFFF769}, + [I(183,78)] = {30,0x3FFFF7E9}, + [I(184,78)] = {27,0x7FFF569}, + [I(185,78)] = {29,0x1FFFF169}, + [I(186,78)] = {29,0x1FFFF1E9}, + [I(187,78)] = {29,0x1FFFF269}, + [I(188,78)] = {30,0x3FFFF869}, + [I(189,78)] = {29,0x1FFFF2E9}, + [I(190,78)] = {29,0x1FFFF369}, + [I(191,78)] = {30,0x3FFFF8E9}, + [I(192,78)] = {64,0}, + [I(193,78)] = {64,0}, + [I(194,78)] = {27,0x7FFF5E9}, + [I(195,78)] = {26,0x3FFF8E9}, + [I(196,78)] = {29,0x1FFFF3E9}, + [I(197,78)] = {30,0x3FFFF969}, + [I(198,78)] = {29,0x1FFFF469}, + [I(199,78)] = {X32,0xFFFFF669}, + [I(200,78)] = {64,0}, + [I(201,78)] = {64,0}, + [I(202,78)] = {64,0}, + [I(203,78)] = {64,0}, + [I(204,78)] = {64,0}, + [I(205,78)] = {64,0}, + [I(206,78)] = {31,0x7FFFF8E9}, + [I(207,78)] = {X32,0xFFFFF6E9}, + [I(208,78)] = {26,0x3FFF969}, + [I(209,78)] = {28,0xFFFF1E9}, + [I(210,78)] = {64,0}, + [I(211,78)] = {64,0}, + [I(212,78)] = {64,0}, + [I(213,78)] = {64,0}, + [I(214,78)] = {64,0}, + [I(215,78)] = {31,0x7FFFF969}, + [I(216,78)] = {28,0xFFFF269}, + [I(217,78)] = {28,0xFFFF2E9}, + [I(218,78)] = {64,0}, + [I(219,78)] = {64,0}, + [I(220,78)] = {64,0}, + [I(221,78)] = {64,0}, + [I(222,78)] = {64,0}, + [I(223,78)] = {64,0}, + [I(224,78)] = {27,0x7FFF669}, + [I(225,78)] = {31,0x7FFFF9E9}, + [I(226,78)] = {27,0x7FFF6E9}, + [I(227,78)] = {28,0xFFFF369}, + [I(228,78)] = {29,0x1FFFF4E9}, + [I(229,78)] = {28,0xFFFF3E9}, + [I(230,78)] = {28,0xFFFF469}, + [I(231,78)] = {30,0x3FFFF9E9}, + [I(232,78)] = {29,0x1FFFF569}, + [I(233,78)] = {29,0x1FFFF5E9}, + [I(234,78)] = {X32,0xFFFFF769}, + [I(235,78)] = {X32,0xFFFFF7E9}, + [I(236,78)] = {31,0x7FFFFA69}, + [I(237,78)] = {31,0x7FFFFAE9}, + [I(238,78)] = {64,0}, + [I(239,78)] = {30,0x3FFFFA69}, + [I(240,78)] = {64,0}, + [I(241,78)] = {64,0}, + [I(242,78)] = {64,0}, + [I(243,78)] = {64,0}, + [I(244,78)] = {64,0}, + [I(245,78)] = {64,0}, + [I(246,78)] = {64,0}, + [I(247,78)] = {64,0}, + [I(248,78)] = {64,0}, + [I(249,78)] = {64,0}, + [I(250,78)] = {64,0}, + [I(251,78)] = {64,0}, + [I(252,78)] = {64,0}, + [I(253,78)] = {64,0}, + [I(254,78)] = {64,0}, + [I(255,78)] = {64,0}, + [I(0,79)] = {20,0xFFC6A}, + [I(1,79)] = {30,0x3FFFEC6A}, + [I(2,79)] = {64,0}, + [I(3,79)] = {64,0}, + [I(4,79)] = {64,0}, + [I(5,79)] = {64,0}, + [I(6,79)] = {64,0}, + [I(7,79)] = {64,0}, + [I(8,79)] = {64,0}, + [I(9,79)] = {31,0x7FFFF56A}, + [I(10,79)] = {64,0}, + [I(11,79)] = {64,0}, + [I(12,79)] = {64,0}, + [I(13,79)] = {64,0}, + [I(14,79)] = {64,0}, + [I(15,79)] = {64,0}, + [I(16,79)] = {64,0}, + [I(17,79)] = {64,0}, + [I(18,79)] = {64,0}, + [I(19,79)] = {64,0}, + [I(20,79)] = {64,0}, + [I(21,79)] = {64,0}, + [I(22,79)] = {64,0}, + [I(23,79)] = {64,0}, + [I(24,79)] = {64,0}, + [I(25,79)] = {64,0}, + [I(26,79)] = {64,0}, + [I(27,79)] = {64,0}, + [I(28,79)] = {64,0}, + [I(29,79)] = {64,0}, + [I(30,79)] = {64,0}, + [I(31,79)] = {64,0}, + [I(32,79)] = {13,0xA6A}, + [I(33,79)] = {17,0x1FC6A}, + [I(34,79)] = {17,0x1FCEA}, + [I(35,79)] = {19,0x7FD6A}, + [I(36,79)] = {20,0xFFCEA}, + [I(37,79)] = {13,0xAEA}, + [I(38,79)] = {15,0x7C6A}, + [I(39,79)] = {18,0x3FD6A}, + [I(40,79)] = {17,0x1FD6A}, + [I(41,79)] = {17,0x1FDEA}, + [I(42,79)] = {15,0x7CEA}, + [I(43,79)] = {18,0x3FDEA}, + [I(44,79)] = {15,0x7D6A}, + [I(45,79)] = {13,0xB6A}, + [I(46,79)] = {13,0xBEA}, + [I(47,79)] = {13,0xC6A}, + [I(48,79)] = {12,0x6A}, + [I(49,79)] = {12,0xEA}, + [I(50,79)] = {12,0x16A}, + [I(51,79)] = {13,0xCEA}, + [I(52,79)] = {13,0xD6A}, + [I(53,79)] = {13,0xDEA}, + [I(54,79)] = {13,0xE6A}, + [I(55,79)] = {13,0xEEA}, + [I(56,79)] = {13,0xF6A}, + [I(57,79)] = {13,0xFEA}, + [I(58,79)] = {14,0x2E6A}, + [I(59,79)] = {15,0x7DEA}, + [I(60,79)] = {22,0x3FFE6A}, + [I(61,79)] = {13,0x106A}, + [I(62,79)] = {19,0x7FDEA}, + [I(63,79)] = {17,0x1FE6A}, + [I(64,79)] = {20,0xFFD6A}, + [I(65,79)] = {13,0x10EA}, + [I(66,79)] = {14,0x2EEA}, + [I(67,79)] = {14,0x2F6A}, + [I(68,79)] = {14,0x2FEA}, + [I(69,79)] = {14,0x306A}, + [I(70,79)] = {14,0x30EA}, + [I(71,79)] = {14,0x316A}, + [I(72,79)] = {14,0x31EA}, + [I(73,79)] = {14,0x326A}, + [I(74,79)] = {14,0x32EA}, + [I(75,79)] = {14,0x336A}, + [I(76,79)] = {14,0x33EA}, + [I(77,79)] = {14,0x346A}, + [I(78,79)] = {14,0x34EA}, + [I(79,79)] = {14,0x356A}, + [I(80,79)] = {14,0x35EA}, + [I(81,79)] = {14,0x366A}, + [I(82,79)] = {14,0x36EA}, + [I(83,79)] = {14,0x376A}, + [I(84,79)] = {14,0x37EA}, + [I(85,79)] = {14,0x386A}, + [I(86,79)] = {14,0x38EA}, + [I(87,79)] = {14,0x396A}, + [I(88,79)] = {15,0x7E6A}, + [I(89,79)] = {14,0x39EA}, + [I(90,79)] = {15,0x7EEA}, + [I(91,79)] = {20,0xFFDEA}, + [I(92,79)] = {26,0x3FFF86A}, + [I(93,79)] = {20,0xFFE6A}, + [I(94,79)] = {21,0x1FFE6A}, + [I(95,79)] = {13,0x116A}, + [I(96,79)] = {22,0x3FFEEA}, + [I(97,79)] = {12,0x1EA}, + [I(98,79)] = {13,0x11EA}, + [I(99,79)] = {12,0x26A}, + [I(100,79)] = {13,0x126A}, + [I(101,79)] = {12,0x2EA}, + [I(102,79)] = {13,0x12EA}, + [I(103,79)] = {13,0x136A}, + [I(104,79)] = {13,0x13EA}, + [I(105,79)] = {12,0x36A}, + [I(106,79)] = {14,0x3A6A}, + [I(107,79)] = {14,0x3AEA}, + [I(108,79)] = {13,0x146A}, + [I(109,79)] = {13,0x14EA}, + [I(110,79)] = {13,0x156A}, + [I(111,79)] = {12,0x3EA}, + [I(112,79)] = {13,0x15EA}, + [I(113,79)] = {14,0x3B6A}, + [I(114,79)] = {13,0x166A}, + [I(115,79)] = {12,0x46A}, + [I(116,79)] = {12,0x4EA}, + [I(117,79)] = {13,0x16EA}, + [I(118,79)] = {14,0x3BEA}, + [I(119,79)] = {14,0x3C6A}, + [I(120,79)] = {14,0x3CEA}, + [I(121,79)] = {14,0x3D6A}, + [I(122,79)] = {14,0x3DEA}, + [I(123,79)] = {22,0x3FFF6A}, + [I(124,79)] = {18,0x3FE6A}, + [I(125,79)] = {21,0x1FFEEA}, + [I(126,79)] = {20,0xFFEEA}, + [I(127,79)] = {64,0}, + [I(128,79)] = {27,0x7FFF36A}, + [I(129,79)] = {29,0x1FFFE96A}, + [I(130,79)] = {27,0x7FFF3EA}, + [I(131,79)] = {27,0x7FFF46A}, + [I(132,79)] = {29,0x1FFFE9EA}, + [I(133,79)] = {29,0x1FFFEA6A}, + [I(134,79)] = {29,0x1FFFEAEA}, + [I(135,79)] = {30,0x3FFFECEA}, + [I(136,79)] = {29,0x1FFFEB6A}, + [I(137,79)] = {30,0x3FFFED6A}, + [I(138,79)] = {30,0x3FFFEDEA}, + [I(139,79)] = {30,0x3FFFEE6A}, + [I(140,79)] = {30,0x3FFFEEEA}, + [I(141,79)] = {30,0x3FFFEF6A}, + [I(142,79)] = {31,0x7FFFF5EA}, + [I(143,79)] = {30,0x3FFFEFEA}, + [I(144,79)] = {31,0x7FFFF66A}, + [I(145,79)] = {31,0x7FFFF6EA}, + [I(146,79)] = {29,0x1FFFEBEA}, + [I(147,79)] = {30,0x3FFFF06A}, + [I(148,79)] = {31,0x7FFFF76A}, + [I(149,79)] = {30,0x3FFFF0EA}, + [I(150,79)] = {30,0x3FFFF16A}, + [I(151,79)] = {30,0x3FFFF1EA}, + [I(152,79)] = {30,0x3FFFF26A}, + [I(153,79)] = {28,0xFFFEE6A}, + [I(154,79)] = {29,0x1FFFEC6A}, + [I(155,79)] = {30,0x3FFFF2EA}, + [I(156,79)] = {29,0x1FFFECEA}, + [I(157,79)] = {30,0x3FFFF36A}, + [I(158,79)] = {30,0x3FFFF3EA}, + [I(159,79)] = {31,0x7FFFF7EA}, + [I(160,79)] = {29,0x1FFFED6A}, + [I(161,79)] = {28,0xFFFEEEA}, + [I(162,79)] = {27,0x7FFF4EA}, + [I(163,79)] = {29,0x1FFFEDEA}, + [I(164,79)] = {29,0x1FFFEE6A}, + [I(165,79)] = {30,0x3FFFF46A}, + [I(166,79)] = {30,0x3FFFF4EA}, + [I(167,79)] = {28,0xFFFEF6A}, + [I(168,79)] = {30,0x3FFFF56A}, + [I(169,79)] = {29,0x1FFFEEEA}, + [I(170,79)] = {29,0x1FFFEF6A}, + [I(171,79)] = {31,0x7FFFF86A}, + [I(172,79)] = {28,0xFFFEFEA}, + [I(173,79)] = {29,0x1FFFEFEA}, + [I(174,79)] = {30,0x3FFFF5EA}, + [I(175,79)] = {30,0x3FFFF66A}, + [I(176,79)] = {28,0xFFFF06A}, + [I(177,79)] = {28,0xFFFF0EA}, + [I(178,79)] = {29,0x1FFFF06A}, + [I(179,79)] = {28,0xFFFF16A}, + [I(180,79)] = {30,0x3FFFF6EA}, + [I(181,79)] = {29,0x1FFFF0EA}, + [I(182,79)] = {30,0x3FFFF76A}, + [I(183,79)] = {30,0x3FFFF7EA}, + [I(184,79)] = {27,0x7FFF56A}, + [I(185,79)] = {29,0x1FFFF16A}, + [I(186,79)] = {29,0x1FFFF1EA}, + [I(187,79)] = {29,0x1FFFF26A}, + [I(188,79)] = {30,0x3FFFF86A}, + [I(189,79)] = {29,0x1FFFF2EA}, + [I(190,79)] = {29,0x1FFFF36A}, + [I(191,79)] = {30,0x3FFFF8EA}, + [I(192,79)] = {64,0}, + [I(193,79)] = {64,0}, + [I(194,79)] = {27,0x7FFF5EA}, + [I(195,79)] = {26,0x3FFF8EA}, + [I(196,79)] = {29,0x1FFFF3EA}, + [I(197,79)] = {30,0x3FFFF96A}, + [I(198,79)] = {29,0x1FFFF46A}, + [I(199,79)] = {X32,0xFFFFF66A}, + [I(200,79)] = {64,0}, + [I(201,79)] = {64,0}, + [I(202,79)] = {64,0}, + [I(203,79)] = {64,0}, + [I(204,79)] = {64,0}, + [I(205,79)] = {64,0}, + [I(206,79)] = {31,0x7FFFF8EA}, + [I(207,79)] = {X32,0xFFFFF6EA}, + [I(208,79)] = {26,0x3FFF96A}, + [I(209,79)] = {28,0xFFFF1EA}, + [I(210,79)] = {64,0}, + [I(211,79)] = {64,0}, + [I(212,79)] = {64,0}, + [I(213,79)] = {64,0}, + [I(214,79)] = {64,0}, + [I(215,79)] = {31,0x7FFFF96A}, + [I(216,79)] = {28,0xFFFF26A}, + [I(217,79)] = {28,0xFFFF2EA}, + [I(218,79)] = {64,0}, + [I(219,79)] = {64,0}, + [I(220,79)] = {64,0}, + [I(221,79)] = {64,0}, + [I(222,79)] = {64,0}, + [I(223,79)] = {64,0}, + [I(224,79)] = {27,0x7FFF66A}, + [I(225,79)] = {31,0x7FFFF9EA}, + [I(226,79)] = {27,0x7FFF6EA}, + [I(227,79)] = {28,0xFFFF36A}, + [I(228,79)] = {29,0x1FFFF4EA}, + [I(229,79)] = {28,0xFFFF3EA}, + [I(230,79)] = {28,0xFFFF46A}, + [I(231,79)] = {30,0x3FFFF9EA}, + [I(232,79)] = {29,0x1FFFF56A}, + [I(233,79)] = {29,0x1FFFF5EA}, + [I(234,79)] = {X32,0xFFFFF76A}, + [I(235,79)] = {X32,0xFFFFF7EA}, + [I(236,79)] = {31,0x7FFFFA6A}, + [I(237,79)] = {31,0x7FFFFAEA}, + [I(238,79)] = {64,0}, + [I(239,79)] = {30,0x3FFFFA6A}, + [I(240,79)] = {64,0}, + [I(241,79)] = {64,0}, + [I(242,79)] = {64,0}, + [I(243,79)] = {64,0}, + [I(244,79)] = {64,0}, + [I(245,79)] = {64,0}, + [I(246,79)] = {64,0}, + [I(247,79)] = {64,0}, + [I(248,79)] = {64,0}, + [I(249,79)] = {64,0}, + [I(250,79)] = {64,0}, + [I(251,79)] = {64,0}, + [I(252,79)] = {64,0}, + [I(253,79)] = {64,0}, + [I(254,79)] = {64,0}, + [I(255,79)] = {64,0}, + [I(0,80)] = {20,0xFFC6B}, + [I(1,80)] = {30,0x3FFFEC6B}, + [I(2,80)] = {64,0}, + [I(3,80)] = {64,0}, + [I(4,80)] = {64,0}, + [I(5,80)] = {64,0}, + [I(6,80)] = {64,0}, + [I(7,80)] = {64,0}, + [I(8,80)] = {64,0}, + [I(9,80)] = {31,0x7FFFF56B}, + [I(10,80)] = {64,0}, + [I(11,80)] = {64,0}, + [I(12,80)] = {64,0}, + [I(13,80)] = {64,0}, + [I(14,80)] = {64,0}, + [I(15,80)] = {64,0}, + [I(16,80)] = {64,0}, + [I(17,80)] = {64,0}, + [I(18,80)] = {64,0}, + [I(19,80)] = {64,0}, + [I(20,80)] = {64,0}, + [I(21,80)] = {64,0}, + [I(22,80)] = {64,0}, + [I(23,80)] = {64,0}, + [I(24,80)] = {64,0}, + [I(25,80)] = {64,0}, + [I(26,80)] = {64,0}, + [I(27,80)] = {64,0}, + [I(28,80)] = {64,0}, + [I(29,80)] = {64,0}, + [I(30,80)] = {64,0}, + [I(31,80)] = {64,0}, + [I(32,80)] = {13,0xA6B}, + [I(33,80)] = {17,0x1FC6B}, + [I(34,80)] = {17,0x1FCEB}, + [I(35,80)] = {19,0x7FD6B}, + [I(36,80)] = {20,0xFFCEB}, + [I(37,80)] = {13,0xAEB}, + [I(38,80)] = {15,0x7C6B}, + [I(39,80)] = {18,0x3FD6B}, + [I(40,80)] = {17,0x1FD6B}, + [I(41,80)] = {17,0x1FDEB}, + [I(42,80)] = {15,0x7CEB}, + [I(43,80)] = {18,0x3FDEB}, + [I(44,80)] = {15,0x7D6B}, + [I(45,80)] = {13,0xB6B}, + [I(46,80)] = {13,0xBEB}, + [I(47,80)] = {13,0xC6B}, + [I(48,80)] = {12,0x6B}, + [I(49,80)] = {12,0xEB}, + [I(50,80)] = {12,0x16B}, + [I(51,80)] = {13,0xCEB}, + [I(52,80)] = {13,0xD6B}, + [I(53,80)] = {13,0xDEB}, + [I(54,80)] = {13,0xE6B}, + [I(55,80)] = {13,0xEEB}, + [I(56,80)] = {13,0xF6B}, + [I(57,80)] = {13,0xFEB}, + [I(58,80)] = {14,0x2E6B}, + [I(59,80)] = {15,0x7DEB}, + [I(60,80)] = {22,0x3FFE6B}, + [I(61,80)] = {13,0x106B}, + [I(62,80)] = {19,0x7FDEB}, + [I(63,80)] = {17,0x1FE6B}, + [I(64,80)] = {20,0xFFD6B}, + [I(65,80)] = {13,0x10EB}, + [I(66,80)] = {14,0x2EEB}, + [I(67,80)] = {14,0x2F6B}, + [I(68,80)] = {14,0x2FEB}, + [I(69,80)] = {14,0x306B}, + [I(70,80)] = {14,0x30EB}, + [I(71,80)] = {14,0x316B}, + [I(72,80)] = {14,0x31EB}, + [I(73,80)] = {14,0x326B}, + [I(74,80)] = {14,0x32EB}, + [I(75,80)] = {14,0x336B}, + [I(76,80)] = {14,0x33EB}, + [I(77,80)] = {14,0x346B}, + [I(78,80)] = {14,0x34EB}, + [I(79,80)] = {14,0x356B}, + [I(80,80)] = {14,0x35EB}, + [I(81,80)] = {14,0x366B}, + [I(82,80)] = {14,0x36EB}, + [I(83,80)] = {14,0x376B}, + [I(84,80)] = {14,0x37EB}, + [I(85,80)] = {14,0x386B}, + [I(86,80)] = {14,0x38EB}, + [I(87,80)] = {14,0x396B}, + [I(88,80)] = {15,0x7E6B}, + [I(89,80)] = {14,0x39EB}, + [I(90,80)] = {15,0x7EEB}, + [I(91,80)] = {20,0xFFDEB}, + [I(92,80)] = {26,0x3FFF86B}, + [I(93,80)] = {20,0xFFE6B}, + [I(94,80)] = {21,0x1FFE6B}, + [I(95,80)] = {13,0x116B}, + [I(96,80)] = {22,0x3FFEEB}, + [I(97,80)] = {12,0x1EB}, + [I(98,80)] = {13,0x11EB}, + [I(99,80)] = {12,0x26B}, + [I(100,80)] = {13,0x126B}, + [I(101,80)] = {12,0x2EB}, + [I(102,80)] = {13,0x12EB}, + [I(103,80)] = {13,0x136B}, + [I(104,80)] = {13,0x13EB}, + [I(105,80)] = {12,0x36B}, + [I(106,80)] = {14,0x3A6B}, + [I(107,80)] = {14,0x3AEB}, + [I(108,80)] = {13,0x146B}, + [I(109,80)] = {13,0x14EB}, + [I(110,80)] = {13,0x156B}, + [I(111,80)] = {12,0x3EB}, + [I(112,80)] = {13,0x15EB}, + [I(113,80)] = {14,0x3B6B}, + [I(114,80)] = {13,0x166B}, + [I(115,80)] = {12,0x46B}, + [I(116,80)] = {12,0x4EB}, + [I(117,80)] = {13,0x16EB}, + [I(118,80)] = {14,0x3BEB}, + [I(119,80)] = {14,0x3C6B}, + [I(120,80)] = {14,0x3CEB}, + [I(121,80)] = {14,0x3D6B}, + [I(122,80)] = {14,0x3DEB}, + [I(123,80)] = {22,0x3FFF6B}, + [I(124,80)] = {18,0x3FE6B}, + [I(125,80)] = {21,0x1FFEEB}, + [I(126,80)] = {20,0xFFEEB}, + [I(127,80)] = {64,0}, + [I(128,80)] = {27,0x7FFF36B}, + [I(129,80)] = {29,0x1FFFE96B}, + [I(130,80)] = {27,0x7FFF3EB}, + [I(131,80)] = {27,0x7FFF46B}, + [I(132,80)] = {29,0x1FFFE9EB}, + [I(133,80)] = {29,0x1FFFEA6B}, + [I(134,80)] = {29,0x1FFFEAEB}, + [I(135,80)] = {30,0x3FFFECEB}, + [I(136,80)] = {29,0x1FFFEB6B}, + [I(137,80)] = {30,0x3FFFED6B}, + [I(138,80)] = {30,0x3FFFEDEB}, + [I(139,80)] = {30,0x3FFFEE6B}, + [I(140,80)] = {30,0x3FFFEEEB}, + [I(141,80)] = {30,0x3FFFEF6B}, + [I(142,80)] = {31,0x7FFFF5EB}, + [I(143,80)] = {30,0x3FFFEFEB}, + [I(144,80)] = {31,0x7FFFF66B}, + [I(145,80)] = {31,0x7FFFF6EB}, + [I(146,80)] = {29,0x1FFFEBEB}, + [I(147,80)] = {30,0x3FFFF06B}, + [I(148,80)] = {31,0x7FFFF76B}, + [I(149,80)] = {30,0x3FFFF0EB}, + [I(150,80)] = {30,0x3FFFF16B}, + [I(151,80)] = {30,0x3FFFF1EB}, + [I(152,80)] = {30,0x3FFFF26B}, + [I(153,80)] = {28,0xFFFEE6B}, + [I(154,80)] = {29,0x1FFFEC6B}, + [I(155,80)] = {30,0x3FFFF2EB}, + [I(156,80)] = {29,0x1FFFECEB}, + [I(157,80)] = {30,0x3FFFF36B}, + [I(158,80)] = {30,0x3FFFF3EB}, + [I(159,80)] = {31,0x7FFFF7EB}, + [I(160,80)] = {29,0x1FFFED6B}, + [I(161,80)] = {28,0xFFFEEEB}, + [I(162,80)] = {27,0x7FFF4EB}, + [I(163,80)] = {29,0x1FFFEDEB}, + [I(164,80)] = {29,0x1FFFEE6B}, + [I(165,80)] = {30,0x3FFFF46B}, + [I(166,80)] = {30,0x3FFFF4EB}, + [I(167,80)] = {28,0xFFFEF6B}, + [I(168,80)] = {30,0x3FFFF56B}, + [I(169,80)] = {29,0x1FFFEEEB}, + [I(170,80)] = {29,0x1FFFEF6B}, + [I(171,80)] = {31,0x7FFFF86B}, + [I(172,80)] = {28,0xFFFEFEB}, + [I(173,80)] = {29,0x1FFFEFEB}, + [I(174,80)] = {30,0x3FFFF5EB}, + [I(175,80)] = {30,0x3FFFF66B}, + [I(176,80)] = {28,0xFFFF06B}, + [I(177,80)] = {28,0xFFFF0EB}, + [I(178,80)] = {29,0x1FFFF06B}, + [I(179,80)] = {28,0xFFFF16B}, + [I(180,80)] = {30,0x3FFFF6EB}, + [I(181,80)] = {29,0x1FFFF0EB}, + [I(182,80)] = {30,0x3FFFF76B}, + [I(183,80)] = {30,0x3FFFF7EB}, + [I(184,80)] = {27,0x7FFF56B}, + [I(185,80)] = {29,0x1FFFF16B}, + [I(186,80)] = {29,0x1FFFF1EB}, + [I(187,80)] = {29,0x1FFFF26B}, + [I(188,80)] = {30,0x3FFFF86B}, + [I(189,80)] = {29,0x1FFFF2EB}, + [I(190,80)] = {29,0x1FFFF36B}, + [I(191,80)] = {30,0x3FFFF8EB}, + [I(192,80)] = {64,0}, + [I(193,80)] = {64,0}, + [I(194,80)] = {27,0x7FFF5EB}, + [I(195,80)] = {26,0x3FFF8EB}, + [I(196,80)] = {29,0x1FFFF3EB}, + [I(197,80)] = {30,0x3FFFF96B}, + [I(198,80)] = {29,0x1FFFF46B}, + [I(199,80)] = {X32,0xFFFFF66B}, + [I(200,80)] = {64,0}, + [I(201,80)] = {64,0}, + [I(202,80)] = {64,0}, + [I(203,80)] = {64,0}, + [I(204,80)] = {64,0}, + [I(205,80)] = {64,0}, + [I(206,80)] = {31,0x7FFFF8EB}, + [I(207,80)] = {X32,0xFFFFF6EB}, + [I(208,80)] = {26,0x3FFF96B}, + [I(209,80)] = {28,0xFFFF1EB}, + [I(210,80)] = {64,0}, + [I(211,80)] = {64,0}, + [I(212,80)] = {64,0}, + [I(213,80)] = {64,0}, + [I(214,80)] = {64,0}, + [I(215,80)] = {31,0x7FFFF96B}, + [I(216,80)] = {28,0xFFFF26B}, + [I(217,80)] = {28,0xFFFF2EB}, + [I(218,80)] = {64,0}, + [I(219,80)] = {64,0}, + [I(220,80)] = {64,0}, + [I(221,80)] = {64,0}, + [I(222,80)] = {64,0}, + [I(223,80)] = {64,0}, + [I(224,80)] = {27,0x7FFF66B}, + [I(225,80)] = {31,0x7FFFF9EB}, + [I(226,80)] = {27,0x7FFF6EB}, + [I(227,80)] = {28,0xFFFF36B}, + [I(228,80)] = {29,0x1FFFF4EB}, + [I(229,80)] = {28,0xFFFF3EB}, + [I(230,80)] = {28,0xFFFF46B}, + [I(231,80)] = {30,0x3FFFF9EB}, + [I(232,80)] = {29,0x1FFFF56B}, + [I(233,80)] = {29,0x1FFFF5EB}, + [I(234,80)] = {X32,0xFFFFF76B}, + [I(235,80)] = {X32,0xFFFFF7EB}, + [I(236,80)] = {31,0x7FFFFA6B}, + [I(237,80)] = {31,0x7FFFFAEB}, + [I(238,80)] = {64,0}, + [I(239,80)] = {30,0x3FFFFA6B}, + [I(240,80)] = {64,0}, + [I(241,80)] = {64,0}, + [I(242,80)] = {64,0}, + [I(243,80)] = {64,0}, + [I(244,80)] = {64,0}, + [I(245,80)] = {64,0}, + [I(246,80)] = {64,0}, + [I(247,80)] = {64,0}, + [I(248,80)] = {64,0}, + [I(249,80)] = {64,0}, + [I(250,80)] = {64,0}, + [I(251,80)] = {64,0}, + [I(252,80)] = {64,0}, + [I(253,80)] = {64,0}, + [I(254,80)] = {64,0}, + [I(255,80)] = {64,0}, + [I(0,81)] = {20,0xFFC6C}, + [I(1,81)] = {30,0x3FFFEC6C}, + [I(2,81)] = {64,0}, + [I(3,81)] = {64,0}, + [I(4,81)] = {64,0}, + [I(5,81)] = {64,0}, + [I(6,81)] = {64,0}, + [I(7,81)] = {64,0}, + [I(8,81)] = {64,0}, + [I(9,81)] = {31,0x7FFFF56C}, + [I(10,81)] = {64,0}, + [I(11,81)] = {64,0}, + [I(12,81)] = {64,0}, + [I(13,81)] = {64,0}, + [I(14,81)] = {64,0}, + [I(15,81)] = {64,0}, + [I(16,81)] = {64,0}, + [I(17,81)] = {64,0}, + [I(18,81)] = {64,0}, + [I(19,81)] = {64,0}, + [I(20,81)] = {64,0}, + [I(21,81)] = {64,0}, + [I(22,81)] = {64,0}, + [I(23,81)] = {64,0}, + [I(24,81)] = {64,0}, + [I(25,81)] = {64,0}, + [I(26,81)] = {64,0}, + [I(27,81)] = {64,0}, + [I(28,81)] = {64,0}, + [I(29,81)] = {64,0}, + [I(30,81)] = {64,0}, + [I(31,81)] = {64,0}, + [I(32,81)] = {13,0xA6C}, + [I(33,81)] = {17,0x1FC6C}, + [I(34,81)] = {17,0x1FCEC}, + [I(35,81)] = {19,0x7FD6C}, + [I(36,81)] = {20,0xFFCEC}, + [I(37,81)] = {13,0xAEC}, + [I(38,81)] = {15,0x7C6C}, + [I(39,81)] = {18,0x3FD6C}, + [I(40,81)] = {17,0x1FD6C}, + [I(41,81)] = {17,0x1FDEC}, + [I(42,81)] = {15,0x7CEC}, + [I(43,81)] = {18,0x3FDEC}, + [I(44,81)] = {15,0x7D6C}, + [I(45,81)] = {13,0xB6C}, + [I(46,81)] = {13,0xBEC}, + [I(47,81)] = {13,0xC6C}, + [I(48,81)] = {12,0x6C}, + [I(49,81)] = {12,0xEC}, + [I(50,81)] = {12,0x16C}, + [I(51,81)] = {13,0xCEC}, + [I(52,81)] = {13,0xD6C}, + [I(53,81)] = {13,0xDEC}, + [I(54,81)] = {13,0xE6C}, + [I(55,81)] = {13,0xEEC}, + [I(56,81)] = {13,0xF6C}, + [I(57,81)] = {13,0xFEC}, + [I(58,81)] = {14,0x2E6C}, + [I(59,81)] = {15,0x7DEC}, + [I(60,81)] = {22,0x3FFE6C}, + [I(61,81)] = {13,0x106C}, + [I(62,81)] = {19,0x7FDEC}, + [I(63,81)] = {17,0x1FE6C}, + [I(64,81)] = {20,0xFFD6C}, + [I(65,81)] = {13,0x10EC}, + [I(66,81)] = {14,0x2EEC}, + [I(67,81)] = {14,0x2F6C}, + [I(68,81)] = {14,0x2FEC}, + [I(69,81)] = {14,0x306C}, + [I(70,81)] = {14,0x30EC}, + [I(71,81)] = {14,0x316C}, + [I(72,81)] = {14,0x31EC}, + [I(73,81)] = {14,0x326C}, + [I(74,81)] = {14,0x32EC}, + [I(75,81)] = {14,0x336C}, + [I(76,81)] = {14,0x33EC}, + [I(77,81)] = {14,0x346C}, + [I(78,81)] = {14,0x34EC}, + [I(79,81)] = {14,0x356C}, + [I(80,81)] = {14,0x35EC}, + [I(81,81)] = {14,0x366C}, + [I(82,81)] = {14,0x36EC}, + [I(83,81)] = {14,0x376C}, + [I(84,81)] = {14,0x37EC}, + [I(85,81)] = {14,0x386C}, + [I(86,81)] = {14,0x38EC}, + [I(87,81)] = {14,0x396C}, + [I(88,81)] = {15,0x7E6C}, + [I(89,81)] = {14,0x39EC}, + [I(90,81)] = {15,0x7EEC}, + [I(91,81)] = {20,0xFFDEC}, + [I(92,81)] = {26,0x3FFF86C}, + [I(93,81)] = {20,0xFFE6C}, + [I(94,81)] = {21,0x1FFE6C}, + [I(95,81)] = {13,0x116C}, + [I(96,81)] = {22,0x3FFEEC}, + [I(97,81)] = {12,0x1EC}, + [I(98,81)] = {13,0x11EC}, + [I(99,81)] = {12,0x26C}, + [I(100,81)] = {13,0x126C}, + [I(101,81)] = {12,0x2EC}, + [I(102,81)] = {13,0x12EC}, + [I(103,81)] = {13,0x136C}, + [I(104,81)] = {13,0x13EC}, + [I(105,81)] = {12,0x36C}, + [I(106,81)] = {14,0x3A6C}, + [I(107,81)] = {14,0x3AEC}, + [I(108,81)] = {13,0x146C}, + [I(109,81)] = {13,0x14EC}, + [I(110,81)] = {13,0x156C}, + [I(111,81)] = {12,0x3EC}, + [I(112,81)] = {13,0x15EC}, + [I(113,81)] = {14,0x3B6C}, + [I(114,81)] = {13,0x166C}, + [I(115,81)] = {12,0x46C}, + [I(116,81)] = {12,0x4EC}, + [I(117,81)] = {13,0x16EC}, + [I(118,81)] = {14,0x3BEC}, + [I(119,81)] = {14,0x3C6C}, + [I(120,81)] = {14,0x3CEC}, + [I(121,81)] = {14,0x3D6C}, + [I(122,81)] = {14,0x3DEC}, + [I(123,81)] = {22,0x3FFF6C}, + [I(124,81)] = {18,0x3FE6C}, + [I(125,81)] = {21,0x1FFEEC}, + [I(126,81)] = {20,0xFFEEC}, + [I(127,81)] = {64,0}, + [I(128,81)] = {27,0x7FFF36C}, + [I(129,81)] = {29,0x1FFFE96C}, + [I(130,81)] = {27,0x7FFF3EC}, + [I(131,81)] = {27,0x7FFF46C}, + [I(132,81)] = {29,0x1FFFE9EC}, + [I(133,81)] = {29,0x1FFFEA6C}, + [I(134,81)] = {29,0x1FFFEAEC}, + [I(135,81)] = {30,0x3FFFECEC}, + [I(136,81)] = {29,0x1FFFEB6C}, + [I(137,81)] = {30,0x3FFFED6C}, + [I(138,81)] = {30,0x3FFFEDEC}, + [I(139,81)] = {30,0x3FFFEE6C}, + [I(140,81)] = {30,0x3FFFEEEC}, + [I(141,81)] = {30,0x3FFFEF6C}, + [I(142,81)] = {31,0x7FFFF5EC}, + [I(143,81)] = {30,0x3FFFEFEC}, + [I(144,81)] = {31,0x7FFFF66C}, + [I(145,81)] = {31,0x7FFFF6EC}, + [I(146,81)] = {29,0x1FFFEBEC}, + [I(147,81)] = {30,0x3FFFF06C}, + [I(148,81)] = {31,0x7FFFF76C}, + [I(149,81)] = {30,0x3FFFF0EC}, + [I(150,81)] = {30,0x3FFFF16C}, + [I(151,81)] = {30,0x3FFFF1EC}, + [I(152,81)] = {30,0x3FFFF26C}, + [I(153,81)] = {28,0xFFFEE6C}, + [I(154,81)] = {29,0x1FFFEC6C}, + [I(155,81)] = {30,0x3FFFF2EC}, + [I(156,81)] = {29,0x1FFFECEC}, + [I(157,81)] = {30,0x3FFFF36C}, + [I(158,81)] = {30,0x3FFFF3EC}, + [I(159,81)] = {31,0x7FFFF7EC}, + [I(160,81)] = {29,0x1FFFED6C}, + [I(161,81)] = {28,0xFFFEEEC}, + [I(162,81)] = {27,0x7FFF4EC}, + [I(163,81)] = {29,0x1FFFEDEC}, + [I(164,81)] = {29,0x1FFFEE6C}, + [I(165,81)] = {30,0x3FFFF46C}, + [I(166,81)] = {30,0x3FFFF4EC}, + [I(167,81)] = {28,0xFFFEF6C}, + [I(168,81)] = {30,0x3FFFF56C}, + [I(169,81)] = {29,0x1FFFEEEC}, + [I(170,81)] = {29,0x1FFFEF6C}, + [I(171,81)] = {31,0x7FFFF86C}, + [I(172,81)] = {28,0xFFFEFEC}, + [I(173,81)] = {29,0x1FFFEFEC}, + [I(174,81)] = {30,0x3FFFF5EC}, + [I(175,81)] = {30,0x3FFFF66C}, + [I(176,81)] = {28,0xFFFF06C}, + [I(177,81)] = {28,0xFFFF0EC}, + [I(178,81)] = {29,0x1FFFF06C}, + [I(179,81)] = {28,0xFFFF16C}, + [I(180,81)] = {30,0x3FFFF6EC}, + [I(181,81)] = {29,0x1FFFF0EC}, + [I(182,81)] = {30,0x3FFFF76C}, + [I(183,81)] = {30,0x3FFFF7EC}, + [I(184,81)] = {27,0x7FFF56C}, + [I(185,81)] = {29,0x1FFFF16C}, + [I(186,81)] = {29,0x1FFFF1EC}, + [I(187,81)] = {29,0x1FFFF26C}, + [I(188,81)] = {30,0x3FFFF86C}, + [I(189,81)] = {29,0x1FFFF2EC}, + [I(190,81)] = {29,0x1FFFF36C}, + [I(191,81)] = {30,0x3FFFF8EC}, + [I(192,81)] = {64,0}, + [I(193,81)] = {64,0}, + [I(194,81)] = {27,0x7FFF5EC}, + [I(195,81)] = {26,0x3FFF8EC}, + [I(196,81)] = {29,0x1FFFF3EC}, + [I(197,81)] = {30,0x3FFFF96C}, + [I(198,81)] = {29,0x1FFFF46C}, + [I(199,81)] = {X32,0xFFFFF66C}, + [I(200,81)] = {64,0}, + [I(201,81)] = {64,0}, + [I(202,81)] = {64,0}, + [I(203,81)] = {64,0}, + [I(204,81)] = {64,0}, + [I(205,81)] = {64,0}, + [I(206,81)] = {31,0x7FFFF8EC}, + [I(207,81)] = {X32,0xFFFFF6EC}, + [I(208,81)] = {26,0x3FFF96C}, + [I(209,81)] = {28,0xFFFF1EC}, + [I(210,81)] = {64,0}, + [I(211,81)] = {64,0}, + [I(212,81)] = {64,0}, + [I(213,81)] = {64,0}, + [I(214,81)] = {64,0}, + [I(215,81)] = {31,0x7FFFF96C}, + [I(216,81)] = {28,0xFFFF26C}, + [I(217,81)] = {28,0xFFFF2EC}, + [I(218,81)] = {64,0}, + [I(219,81)] = {64,0}, + [I(220,81)] = {64,0}, + [I(221,81)] = {64,0}, + [I(222,81)] = {64,0}, + [I(223,81)] = {64,0}, + [I(224,81)] = {27,0x7FFF66C}, + [I(225,81)] = {31,0x7FFFF9EC}, + [I(226,81)] = {27,0x7FFF6EC}, + [I(227,81)] = {28,0xFFFF36C}, + [I(228,81)] = {29,0x1FFFF4EC}, + [I(229,81)] = {28,0xFFFF3EC}, + [I(230,81)] = {28,0xFFFF46C}, + [I(231,81)] = {30,0x3FFFF9EC}, + [I(232,81)] = {29,0x1FFFF56C}, + [I(233,81)] = {29,0x1FFFF5EC}, + [I(234,81)] = {X32,0xFFFFF76C}, + [I(235,81)] = {X32,0xFFFFF7EC}, + [I(236,81)] = {31,0x7FFFFA6C}, + [I(237,81)] = {31,0x7FFFFAEC}, + [I(238,81)] = {64,0}, + [I(239,81)] = {30,0x3FFFFA6C}, + [I(240,81)] = {64,0}, + [I(241,81)] = {64,0}, + [I(242,81)] = {64,0}, + [I(243,81)] = {64,0}, + [I(244,81)] = {64,0}, + [I(245,81)] = {64,0}, + [I(246,81)] = {64,0}, + [I(247,81)] = {64,0}, + [I(248,81)] = {64,0}, + [I(249,81)] = {64,0}, + [I(250,81)] = {64,0}, + [I(251,81)] = {64,0}, + [I(252,81)] = {64,0}, + [I(253,81)] = {64,0}, + [I(254,81)] = {64,0}, + [I(255,81)] = {64,0}, + [I(0,82)] = {20,0xFFC6D}, + [I(1,82)] = {30,0x3FFFEC6D}, + [I(2,82)] = {64,0}, + [I(3,82)] = {64,0}, + [I(4,82)] = {64,0}, + [I(5,82)] = {64,0}, + [I(6,82)] = {64,0}, + [I(7,82)] = {64,0}, + [I(8,82)] = {64,0}, + [I(9,82)] = {31,0x7FFFF56D}, + [I(10,82)] = {64,0}, + [I(11,82)] = {64,0}, + [I(12,82)] = {64,0}, + [I(13,82)] = {64,0}, + [I(14,82)] = {64,0}, + [I(15,82)] = {64,0}, + [I(16,82)] = {64,0}, + [I(17,82)] = {64,0}, + [I(18,82)] = {64,0}, + [I(19,82)] = {64,0}, + [I(20,82)] = {64,0}, + [I(21,82)] = {64,0}, + [I(22,82)] = {64,0}, + [I(23,82)] = {64,0}, + [I(24,82)] = {64,0}, + [I(25,82)] = {64,0}, + [I(26,82)] = {64,0}, + [I(27,82)] = {64,0}, + [I(28,82)] = {64,0}, + [I(29,82)] = {64,0}, + [I(30,82)] = {64,0}, + [I(31,82)] = {64,0}, + [I(32,82)] = {13,0xA6D}, + [I(33,82)] = {17,0x1FC6D}, + [I(34,82)] = {17,0x1FCED}, + [I(35,82)] = {19,0x7FD6D}, + [I(36,82)] = {20,0xFFCED}, + [I(37,82)] = {13,0xAED}, + [I(38,82)] = {15,0x7C6D}, + [I(39,82)] = {18,0x3FD6D}, + [I(40,82)] = {17,0x1FD6D}, + [I(41,82)] = {17,0x1FDED}, + [I(42,82)] = {15,0x7CED}, + [I(43,82)] = {18,0x3FDED}, + [I(44,82)] = {15,0x7D6D}, + [I(45,82)] = {13,0xB6D}, + [I(46,82)] = {13,0xBED}, + [I(47,82)] = {13,0xC6D}, + [I(48,82)] = {12,0x6D}, + [I(49,82)] = {12,0xED}, + [I(50,82)] = {12,0x16D}, + [I(51,82)] = {13,0xCED}, + [I(52,82)] = {13,0xD6D}, + [I(53,82)] = {13,0xDED}, + [I(54,82)] = {13,0xE6D}, + [I(55,82)] = {13,0xEED}, + [I(56,82)] = {13,0xF6D}, + [I(57,82)] = {13,0xFED}, + [I(58,82)] = {14,0x2E6D}, + [I(59,82)] = {15,0x7DED}, + [I(60,82)] = {22,0x3FFE6D}, + [I(61,82)] = {13,0x106D}, + [I(62,82)] = {19,0x7FDED}, + [I(63,82)] = {17,0x1FE6D}, + [I(64,82)] = {20,0xFFD6D}, + [I(65,82)] = {13,0x10ED}, + [I(66,82)] = {14,0x2EED}, + [I(67,82)] = {14,0x2F6D}, + [I(68,82)] = {14,0x2FED}, + [I(69,82)] = {14,0x306D}, + [I(70,82)] = {14,0x30ED}, + [I(71,82)] = {14,0x316D}, + [I(72,82)] = {14,0x31ED}, + [I(73,82)] = {14,0x326D}, + [I(74,82)] = {14,0x32ED}, + [I(75,82)] = {14,0x336D}, + [I(76,82)] = {14,0x33ED}, + [I(77,82)] = {14,0x346D}, + [I(78,82)] = {14,0x34ED}, + [I(79,82)] = {14,0x356D}, + [I(80,82)] = {14,0x35ED}, + [I(81,82)] = {14,0x366D}, + [I(82,82)] = {14,0x36ED}, + [I(83,82)] = {14,0x376D}, + [I(84,82)] = {14,0x37ED}, + [I(85,82)] = {14,0x386D}, + [I(86,82)] = {14,0x38ED}, + [I(87,82)] = {14,0x396D}, + [I(88,82)] = {15,0x7E6D}, + [I(89,82)] = {14,0x39ED}, + [I(90,82)] = {15,0x7EED}, + [I(91,82)] = {20,0xFFDED}, + [I(92,82)] = {26,0x3FFF86D}, + [I(93,82)] = {20,0xFFE6D}, + [I(94,82)] = {21,0x1FFE6D}, + [I(95,82)] = {13,0x116D}, + [I(96,82)] = {22,0x3FFEED}, + [I(97,82)] = {12,0x1ED}, + [I(98,82)] = {13,0x11ED}, + [I(99,82)] = {12,0x26D}, + [I(100,82)] = {13,0x126D}, + [I(101,82)] = {12,0x2ED}, + [I(102,82)] = {13,0x12ED}, + [I(103,82)] = {13,0x136D}, + [I(104,82)] = {13,0x13ED}, + [I(105,82)] = {12,0x36D}, + [I(106,82)] = {14,0x3A6D}, + [I(107,82)] = {14,0x3AED}, + [I(108,82)] = {13,0x146D}, + [I(109,82)] = {13,0x14ED}, + [I(110,82)] = {13,0x156D}, + [I(111,82)] = {12,0x3ED}, + [I(112,82)] = {13,0x15ED}, + [I(113,82)] = {14,0x3B6D}, + [I(114,82)] = {13,0x166D}, + [I(115,82)] = {12,0x46D}, + [I(116,82)] = {12,0x4ED}, + [I(117,82)] = {13,0x16ED}, + [I(118,82)] = {14,0x3BED}, + [I(119,82)] = {14,0x3C6D}, + [I(120,82)] = {14,0x3CED}, + [I(121,82)] = {14,0x3D6D}, + [I(122,82)] = {14,0x3DED}, + [I(123,82)] = {22,0x3FFF6D}, + [I(124,82)] = {18,0x3FE6D}, + [I(125,82)] = {21,0x1FFEED}, + [I(126,82)] = {20,0xFFEED}, + [I(127,82)] = {64,0}, + [I(128,82)] = {27,0x7FFF36D}, + [I(129,82)] = {29,0x1FFFE96D}, + [I(130,82)] = {27,0x7FFF3ED}, + [I(131,82)] = {27,0x7FFF46D}, + [I(132,82)] = {29,0x1FFFE9ED}, + [I(133,82)] = {29,0x1FFFEA6D}, + [I(134,82)] = {29,0x1FFFEAED}, + [I(135,82)] = {30,0x3FFFECED}, + [I(136,82)] = {29,0x1FFFEB6D}, + [I(137,82)] = {30,0x3FFFED6D}, + [I(138,82)] = {30,0x3FFFEDED}, + [I(139,82)] = {30,0x3FFFEE6D}, + [I(140,82)] = {30,0x3FFFEEED}, + [I(141,82)] = {30,0x3FFFEF6D}, + [I(142,82)] = {31,0x7FFFF5ED}, + [I(143,82)] = {30,0x3FFFEFED}, + [I(144,82)] = {31,0x7FFFF66D}, + [I(145,82)] = {31,0x7FFFF6ED}, + [I(146,82)] = {29,0x1FFFEBED}, + [I(147,82)] = {30,0x3FFFF06D}, + [I(148,82)] = {31,0x7FFFF76D}, + [I(149,82)] = {30,0x3FFFF0ED}, + [I(150,82)] = {30,0x3FFFF16D}, + [I(151,82)] = {30,0x3FFFF1ED}, + [I(152,82)] = {30,0x3FFFF26D}, + [I(153,82)] = {28,0xFFFEE6D}, + [I(154,82)] = {29,0x1FFFEC6D}, + [I(155,82)] = {30,0x3FFFF2ED}, + [I(156,82)] = {29,0x1FFFECED}, + [I(157,82)] = {30,0x3FFFF36D}, + [I(158,82)] = {30,0x3FFFF3ED}, + [I(159,82)] = {31,0x7FFFF7ED}, + [I(160,82)] = {29,0x1FFFED6D}, + [I(161,82)] = {28,0xFFFEEED}, + [I(162,82)] = {27,0x7FFF4ED}, + [I(163,82)] = {29,0x1FFFEDED}, + [I(164,82)] = {29,0x1FFFEE6D}, + [I(165,82)] = {30,0x3FFFF46D}, + [I(166,82)] = {30,0x3FFFF4ED}, + [I(167,82)] = {28,0xFFFEF6D}, + [I(168,82)] = {30,0x3FFFF56D}, + [I(169,82)] = {29,0x1FFFEEED}, + [I(170,82)] = {29,0x1FFFEF6D}, + [I(171,82)] = {31,0x7FFFF86D}, + [I(172,82)] = {28,0xFFFEFED}, + [I(173,82)] = {29,0x1FFFEFED}, + [I(174,82)] = {30,0x3FFFF5ED}, + [I(175,82)] = {30,0x3FFFF66D}, + [I(176,82)] = {28,0xFFFF06D}, + [I(177,82)] = {28,0xFFFF0ED}, + [I(178,82)] = {29,0x1FFFF06D}, + [I(179,82)] = {28,0xFFFF16D}, + [I(180,82)] = {30,0x3FFFF6ED}, + [I(181,82)] = {29,0x1FFFF0ED}, + [I(182,82)] = {30,0x3FFFF76D}, + [I(183,82)] = {30,0x3FFFF7ED}, + [I(184,82)] = {27,0x7FFF56D}, + [I(185,82)] = {29,0x1FFFF16D}, + [I(186,82)] = {29,0x1FFFF1ED}, + [I(187,82)] = {29,0x1FFFF26D}, + [I(188,82)] = {30,0x3FFFF86D}, + [I(189,82)] = {29,0x1FFFF2ED}, + [I(190,82)] = {29,0x1FFFF36D}, + [I(191,82)] = {30,0x3FFFF8ED}, + [I(192,82)] = {64,0}, + [I(193,82)] = {64,0}, + [I(194,82)] = {27,0x7FFF5ED}, + [I(195,82)] = {26,0x3FFF8ED}, + [I(196,82)] = {29,0x1FFFF3ED}, + [I(197,82)] = {30,0x3FFFF96D}, + [I(198,82)] = {29,0x1FFFF46D}, + [I(199,82)] = {X32,0xFFFFF66D}, + [I(200,82)] = {64,0}, + [I(201,82)] = {64,0}, + [I(202,82)] = {64,0}, + [I(203,82)] = {64,0}, + [I(204,82)] = {64,0}, + [I(205,82)] = {64,0}, + [I(206,82)] = {31,0x7FFFF8ED}, + [I(207,82)] = {X32,0xFFFFF6ED}, + [I(208,82)] = {26,0x3FFF96D}, + [I(209,82)] = {28,0xFFFF1ED}, + [I(210,82)] = {64,0}, + [I(211,82)] = {64,0}, + [I(212,82)] = {64,0}, + [I(213,82)] = {64,0}, + [I(214,82)] = {64,0}, + [I(215,82)] = {31,0x7FFFF96D}, + [I(216,82)] = {28,0xFFFF26D}, + [I(217,82)] = {28,0xFFFF2ED}, + [I(218,82)] = {64,0}, + [I(219,82)] = {64,0}, + [I(220,82)] = {64,0}, + [I(221,82)] = {64,0}, + [I(222,82)] = {64,0}, + [I(223,82)] = {64,0}, + [I(224,82)] = {27,0x7FFF66D}, + [I(225,82)] = {31,0x7FFFF9ED}, + [I(226,82)] = {27,0x7FFF6ED}, + [I(227,82)] = {28,0xFFFF36D}, + [I(228,82)] = {29,0x1FFFF4ED}, + [I(229,82)] = {28,0xFFFF3ED}, + [I(230,82)] = {28,0xFFFF46D}, + [I(231,82)] = {30,0x3FFFF9ED}, + [I(232,82)] = {29,0x1FFFF56D}, + [I(233,82)] = {29,0x1FFFF5ED}, + [I(234,82)] = {X32,0xFFFFF76D}, + [I(235,82)] = {X32,0xFFFFF7ED}, + [I(236,82)] = {31,0x7FFFFA6D}, + [I(237,82)] = {31,0x7FFFFAED}, + [I(238,82)] = {64,0}, + [I(239,82)] = {30,0x3FFFFA6D}, + [I(240,82)] = {64,0}, + [I(241,82)] = {64,0}, + [I(242,82)] = {64,0}, + [I(243,82)] = {64,0}, + [I(244,82)] = {64,0}, + [I(245,82)] = {64,0}, + [I(246,82)] = {64,0}, + [I(247,82)] = {64,0}, + [I(248,82)] = {64,0}, + [I(249,82)] = {64,0}, + [I(250,82)] = {64,0}, + [I(251,82)] = {64,0}, + [I(252,82)] = {64,0}, + [I(253,82)] = {64,0}, + [I(254,82)] = {64,0}, + [I(255,82)] = {64,0}, + [I(0,83)] = {20,0xFFC6E}, + [I(1,83)] = {30,0x3FFFEC6E}, + [I(2,83)] = {64,0}, + [I(3,83)] = {64,0}, + [I(4,83)] = {64,0}, + [I(5,83)] = {64,0}, + [I(6,83)] = {64,0}, + [I(7,83)] = {64,0}, + [I(8,83)] = {64,0}, + [I(9,83)] = {31,0x7FFFF56E}, + [I(10,83)] = {64,0}, + [I(11,83)] = {64,0}, + [I(12,83)] = {64,0}, + [I(13,83)] = {64,0}, + [I(14,83)] = {64,0}, + [I(15,83)] = {64,0}, + [I(16,83)] = {64,0}, + [I(17,83)] = {64,0}, + [I(18,83)] = {64,0}, + [I(19,83)] = {64,0}, + [I(20,83)] = {64,0}, + [I(21,83)] = {64,0}, + [I(22,83)] = {64,0}, + [I(23,83)] = {64,0}, + [I(24,83)] = {64,0}, + [I(25,83)] = {64,0}, + [I(26,83)] = {64,0}, + [I(27,83)] = {64,0}, + [I(28,83)] = {64,0}, + [I(29,83)] = {64,0}, + [I(30,83)] = {64,0}, + [I(31,83)] = {64,0}, + [I(32,83)] = {13,0xA6E}, + [I(33,83)] = {17,0x1FC6E}, + [I(34,83)] = {17,0x1FCEE}, + [I(35,83)] = {19,0x7FD6E}, + [I(36,83)] = {20,0xFFCEE}, + [I(37,83)] = {13,0xAEE}, + [I(38,83)] = {15,0x7C6E}, + [I(39,83)] = {18,0x3FD6E}, + [I(40,83)] = {17,0x1FD6E}, + [I(41,83)] = {17,0x1FDEE}, + [I(42,83)] = {15,0x7CEE}, + [I(43,83)] = {18,0x3FDEE}, + [I(44,83)] = {15,0x7D6E}, + [I(45,83)] = {13,0xB6E}, + [I(46,83)] = {13,0xBEE}, + [I(47,83)] = {13,0xC6E}, + [I(48,83)] = {12,0x6E}, + [I(49,83)] = {12,0xEE}, + [I(50,83)] = {12,0x16E}, + [I(51,83)] = {13,0xCEE}, + [I(52,83)] = {13,0xD6E}, + [I(53,83)] = {13,0xDEE}, + [I(54,83)] = {13,0xE6E}, + [I(55,83)] = {13,0xEEE}, + [I(56,83)] = {13,0xF6E}, + [I(57,83)] = {13,0xFEE}, + [I(58,83)] = {14,0x2E6E}, + [I(59,83)] = {15,0x7DEE}, + [I(60,83)] = {22,0x3FFE6E}, + [I(61,83)] = {13,0x106E}, + [I(62,83)] = {19,0x7FDEE}, + [I(63,83)] = {17,0x1FE6E}, + [I(64,83)] = {20,0xFFD6E}, + [I(65,83)] = {13,0x10EE}, + [I(66,83)] = {14,0x2EEE}, + [I(67,83)] = {14,0x2F6E}, + [I(68,83)] = {14,0x2FEE}, + [I(69,83)] = {14,0x306E}, + [I(70,83)] = {14,0x30EE}, + [I(71,83)] = {14,0x316E}, + [I(72,83)] = {14,0x31EE}, + [I(73,83)] = {14,0x326E}, + [I(74,83)] = {14,0x32EE}, + [I(75,83)] = {14,0x336E}, + [I(76,83)] = {14,0x33EE}, + [I(77,83)] = {14,0x346E}, + [I(78,83)] = {14,0x34EE}, + [I(79,83)] = {14,0x356E}, + [I(80,83)] = {14,0x35EE}, + [I(81,83)] = {14,0x366E}, + [I(82,83)] = {14,0x36EE}, + [I(83,83)] = {14,0x376E}, + [I(84,83)] = {14,0x37EE}, + [I(85,83)] = {14,0x386E}, + [I(86,83)] = {14,0x38EE}, + [I(87,83)] = {14,0x396E}, + [I(88,83)] = {15,0x7E6E}, + [I(89,83)] = {14,0x39EE}, + [I(90,83)] = {15,0x7EEE}, + [I(91,83)] = {20,0xFFDEE}, + [I(92,83)] = {26,0x3FFF86E}, + [I(93,83)] = {20,0xFFE6E}, + [I(94,83)] = {21,0x1FFE6E}, + [I(95,83)] = {13,0x116E}, + [I(96,83)] = {22,0x3FFEEE}, + [I(97,83)] = {12,0x1EE}, + [I(98,83)] = {13,0x11EE}, + [I(99,83)] = {12,0x26E}, + [I(100,83)] = {13,0x126E}, + [I(101,83)] = {12,0x2EE}, + [I(102,83)] = {13,0x12EE}, + [I(103,83)] = {13,0x136E}, + [I(104,83)] = {13,0x13EE}, + [I(105,83)] = {12,0x36E}, + [I(106,83)] = {14,0x3A6E}, + [I(107,83)] = {14,0x3AEE}, + [I(108,83)] = {13,0x146E}, + [I(109,83)] = {13,0x14EE}, + [I(110,83)] = {13,0x156E}, + [I(111,83)] = {12,0x3EE}, + [I(112,83)] = {13,0x15EE}, + [I(113,83)] = {14,0x3B6E}, + [I(114,83)] = {13,0x166E}, + [I(115,83)] = {12,0x46E}, + [I(116,83)] = {12,0x4EE}, + [I(117,83)] = {13,0x16EE}, + [I(118,83)] = {14,0x3BEE}, + [I(119,83)] = {14,0x3C6E}, + [I(120,83)] = {14,0x3CEE}, + [I(121,83)] = {14,0x3D6E}, + [I(122,83)] = {14,0x3DEE}, + [I(123,83)] = {22,0x3FFF6E}, + [I(124,83)] = {18,0x3FE6E}, + [I(125,83)] = {21,0x1FFEEE}, + [I(126,83)] = {20,0xFFEEE}, + [I(127,83)] = {64,0}, + [I(128,83)] = {27,0x7FFF36E}, + [I(129,83)] = {29,0x1FFFE96E}, + [I(130,83)] = {27,0x7FFF3EE}, + [I(131,83)] = {27,0x7FFF46E}, + [I(132,83)] = {29,0x1FFFE9EE}, + [I(133,83)] = {29,0x1FFFEA6E}, + [I(134,83)] = {29,0x1FFFEAEE}, + [I(135,83)] = {30,0x3FFFECEE}, + [I(136,83)] = {29,0x1FFFEB6E}, + [I(137,83)] = {30,0x3FFFED6E}, + [I(138,83)] = {30,0x3FFFEDEE}, + [I(139,83)] = {30,0x3FFFEE6E}, + [I(140,83)] = {30,0x3FFFEEEE}, + [I(141,83)] = {30,0x3FFFEF6E}, + [I(142,83)] = {31,0x7FFFF5EE}, + [I(143,83)] = {30,0x3FFFEFEE}, + [I(144,83)] = {31,0x7FFFF66E}, + [I(145,83)] = {31,0x7FFFF6EE}, + [I(146,83)] = {29,0x1FFFEBEE}, + [I(147,83)] = {30,0x3FFFF06E}, + [I(148,83)] = {31,0x7FFFF76E}, + [I(149,83)] = {30,0x3FFFF0EE}, + [I(150,83)] = {30,0x3FFFF16E}, + [I(151,83)] = {30,0x3FFFF1EE}, + [I(152,83)] = {30,0x3FFFF26E}, + [I(153,83)] = {28,0xFFFEE6E}, + [I(154,83)] = {29,0x1FFFEC6E}, + [I(155,83)] = {30,0x3FFFF2EE}, + [I(156,83)] = {29,0x1FFFECEE}, + [I(157,83)] = {30,0x3FFFF36E}, + [I(158,83)] = {30,0x3FFFF3EE}, + [I(159,83)] = {31,0x7FFFF7EE}, + [I(160,83)] = {29,0x1FFFED6E}, + [I(161,83)] = {28,0xFFFEEEE}, + [I(162,83)] = {27,0x7FFF4EE}, + [I(163,83)] = {29,0x1FFFEDEE}, + [I(164,83)] = {29,0x1FFFEE6E}, + [I(165,83)] = {30,0x3FFFF46E}, + [I(166,83)] = {30,0x3FFFF4EE}, + [I(167,83)] = {28,0xFFFEF6E}, + [I(168,83)] = {30,0x3FFFF56E}, + [I(169,83)] = {29,0x1FFFEEEE}, + [I(170,83)] = {29,0x1FFFEF6E}, + [I(171,83)] = {31,0x7FFFF86E}, + [I(172,83)] = {28,0xFFFEFEE}, + [I(173,83)] = {29,0x1FFFEFEE}, + [I(174,83)] = {30,0x3FFFF5EE}, + [I(175,83)] = {30,0x3FFFF66E}, + [I(176,83)] = {28,0xFFFF06E}, + [I(177,83)] = {28,0xFFFF0EE}, + [I(178,83)] = {29,0x1FFFF06E}, + [I(179,83)] = {28,0xFFFF16E}, + [I(180,83)] = {30,0x3FFFF6EE}, + [I(181,83)] = {29,0x1FFFF0EE}, + [I(182,83)] = {30,0x3FFFF76E}, + [I(183,83)] = {30,0x3FFFF7EE}, + [I(184,83)] = {27,0x7FFF56E}, + [I(185,83)] = {29,0x1FFFF16E}, + [I(186,83)] = {29,0x1FFFF1EE}, + [I(187,83)] = {29,0x1FFFF26E}, + [I(188,83)] = {30,0x3FFFF86E}, + [I(189,83)] = {29,0x1FFFF2EE}, + [I(190,83)] = {29,0x1FFFF36E}, + [I(191,83)] = {30,0x3FFFF8EE}, + [I(192,83)] = {64,0}, + [I(193,83)] = {64,0}, + [I(194,83)] = {27,0x7FFF5EE}, + [I(195,83)] = {26,0x3FFF8EE}, + [I(196,83)] = {29,0x1FFFF3EE}, + [I(197,83)] = {30,0x3FFFF96E}, + [I(198,83)] = {29,0x1FFFF46E}, + [I(199,83)] = {X32,0xFFFFF66E}, + [I(200,83)] = {64,0}, + [I(201,83)] = {64,0}, + [I(202,83)] = {64,0}, + [I(203,83)] = {64,0}, + [I(204,83)] = {64,0}, + [I(205,83)] = {64,0}, + [I(206,83)] = {31,0x7FFFF8EE}, + [I(207,83)] = {X32,0xFFFFF6EE}, + [I(208,83)] = {26,0x3FFF96E}, + [I(209,83)] = {28,0xFFFF1EE}, + [I(210,83)] = {64,0}, + [I(211,83)] = {64,0}, + [I(212,83)] = {64,0}, + [I(213,83)] = {64,0}, + [I(214,83)] = {64,0}, + [I(215,83)] = {31,0x7FFFF96E}, + [I(216,83)] = {28,0xFFFF26E}, + [I(217,83)] = {28,0xFFFF2EE}, + [I(218,83)] = {64,0}, + [I(219,83)] = {64,0}, + [I(220,83)] = {64,0}, + [I(221,83)] = {64,0}, + [I(222,83)] = {64,0}, + [I(223,83)] = {64,0}, + [I(224,83)] = {27,0x7FFF66E}, + [I(225,83)] = {31,0x7FFFF9EE}, + [I(226,83)] = {27,0x7FFF6EE}, + [I(227,83)] = {28,0xFFFF36E}, + [I(228,83)] = {29,0x1FFFF4EE}, + [I(229,83)] = {28,0xFFFF3EE}, + [I(230,83)] = {28,0xFFFF46E}, + [I(231,83)] = {30,0x3FFFF9EE}, + [I(232,83)] = {29,0x1FFFF56E}, + [I(233,83)] = {29,0x1FFFF5EE}, + [I(234,83)] = {X32,0xFFFFF76E}, + [I(235,83)] = {X32,0xFFFFF7EE}, + [I(236,83)] = {31,0x7FFFFA6E}, + [I(237,83)] = {31,0x7FFFFAEE}, + [I(238,83)] = {64,0}, + [I(239,83)] = {30,0x3FFFFA6E}, + [I(240,83)] = {64,0}, + [I(241,83)] = {64,0}, + [I(242,83)] = {64,0}, + [I(243,83)] = {64,0}, + [I(244,83)] = {64,0}, + [I(245,83)] = {64,0}, + [I(246,83)] = {64,0}, + [I(247,83)] = {64,0}, + [I(248,83)] = {64,0}, + [I(249,83)] = {64,0}, + [I(250,83)] = {64,0}, + [I(251,83)] = {64,0}, + [I(252,83)] = {64,0}, + [I(253,83)] = {64,0}, + [I(254,83)] = {64,0}, + [I(255,83)] = {64,0}, + [I(0,84)] = {20,0xFFC6F}, + [I(1,84)] = {30,0x3FFFEC6F}, + [I(2,84)] = {64,0}, + [I(3,84)] = {64,0}, + [I(4,84)] = {64,0}, + [I(5,84)] = {64,0}, + [I(6,84)] = {64,0}, + [I(7,84)] = {64,0}, + [I(8,84)] = {64,0}, + [I(9,84)] = {31,0x7FFFF56F}, + [I(10,84)] = {64,0}, + [I(11,84)] = {64,0}, + [I(12,84)] = {64,0}, + [I(13,84)] = {64,0}, + [I(14,84)] = {64,0}, + [I(15,84)] = {64,0}, + [I(16,84)] = {64,0}, + [I(17,84)] = {64,0}, + [I(18,84)] = {64,0}, + [I(19,84)] = {64,0}, + [I(20,84)] = {64,0}, + [I(21,84)] = {64,0}, + [I(22,84)] = {64,0}, + [I(23,84)] = {64,0}, + [I(24,84)] = {64,0}, + [I(25,84)] = {64,0}, + [I(26,84)] = {64,0}, + [I(27,84)] = {64,0}, + [I(28,84)] = {64,0}, + [I(29,84)] = {64,0}, + [I(30,84)] = {64,0}, + [I(31,84)] = {64,0}, + [I(32,84)] = {13,0xA6F}, + [I(33,84)] = {17,0x1FC6F}, + [I(34,84)] = {17,0x1FCEF}, + [I(35,84)] = {19,0x7FD6F}, + [I(36,84)] = {20,0xFFCEF}, + [I(37,84)] = {13,0xAEF}, + [I(38,84)] = {15,0x7C6F}, + [I(39,84)] = {18,0x3FD6F}, + [I(40,84)] = {17,0x1FD6F}, + [I(41,84)] = {17,0x1FDEF}, + [I(42,84)] = {15,0x7CEF}, + [I(43,84)] = {18,0x3FDEF}, + [I(44,84)] = {15,0x7D6F}, + [I(45,84)] = {13,0xB6F}, + [I(46,84)] = {13,0xBEF}, + [I(47,84)] = {13,0xC6F}, + [I(48,84)] = {12,0x6F}, + [I(49,84)] = {12,0xEF}, + [I(50,84)] = {12,0x16F}, + [I(51,84)] = {13,0xCEF}, + [I(52,84)] = {13,0xD6F}, + [I(53,84)] = {13,0xDEF}, + [I(54,84)] = {13,0xE6F}, + [I(55,84)] = {13,0xEEF}, + [I(56,84)] = {13,0xF6F}, + [I(57,84)] = {13,0xFEF}, + [I(58,84)] = {14,0x2E6F}, + [I(59,84)] = {15,0x7DEF}, + [I(60,84)] = {22,0x3FFE6F}, + [I(61,84)] = {13,0x106F}, + [I(62,84)] = {19,0x7FDEF}, + [I(63,84)] = {17,0x1FE6F}, + [I(64,84)] = {20,0xFFD6F}, + [I(65,84)] = {13,0x10EF}, + [I(66,84)] = {14,0x2EEF}, + [I(67,84)] = {14,0x2F6F}, + [I(68,84)] = {14,0x2FEF}, + [I(69,84)] = {14,0x306F}, + [I(70,84)] = {14,0x30EF}, + [I(71,84)] = {14,0x316F}, + [I(72,84)] = {14,0x31EF}, + [I(73,84)] = {14,0x326F}, + [I(74,84)] = {14,0x32EF}, + [I(75,84)] = {14,0x336F}, + [I(76,84)] = {14,0x33EF}, + [I(77,84)] = {14,0x346F}, + [I(78,84)] = {14,0x34EF}, + [I(79,84)] = {14,0x356F}, + [I(80,84)] = {14,0x35EF}, + [I(81,84)] = {14,0x366F}, + [I(82,84)] = {14,0x36EF}, + [I(83,84)] = {14,0x376F}, + [I(84,84)] = {14,0x37EF}, + [I(85,84)] = {14,0x386F}, + [I(86,84)] = {14,0x38EF}, + [I(87,84)] = {14,0x396F}, + [I(88,84)] = {15,0x7E6F}, + [I(89,84)] = {14,0x39EF}, + [I(90,84)] = {15,0x7EEF}, + [I(91,84)] = {20,0xFFDEF}, + [I(92,84)] = {26,0x3FFF86F}, + [I(93,84)] = {20,0xFFE6F}, + [I(94,84)] = {21,0x1FFE6F}, + [I(95,84)] = {13,0x116F}, + [I(96,84)] = {22,0x3FFEEF}, + [I(97,84)] = {12,0x1EF}, + [I(98,84)] = {13,0x11EF}, + [I(99,84)] = {12,0x26F}, + [I(100,84)] = {13,0x126F}, + [I(101,84)] = {12,0x2EF}, + [I(102,84)] = {13,0x12EF}, + [I(103,84)] = {13,0x136F}, + [I(104,84)] = {13,0x13EF}, + [I(105,84)] = {12,0x36F}, + [I(106,84)] = {14,0x3A6F}, + [I(107,84)] = {14,0x3AEF}, + [I(108,84)] = {13,0x146F}, + [I(109,84)] = {13,0x14EF}, + [I(110,84)] = {13,0x156F}, + [I(111,84)] = {12,0x3EF}, + [I(112,84)] = {13,0x15EF}, + [I(113,84)] = {14,0x3B6F}, + [I(114,84)] = {13,0x166F}, + [I(115,84)] = {12,0x46F}, + [I(116,84)] = {12,0x4EF}, + [I(117,84)] = {13,0x16EF}, + [I(118,84)] = {14,0x3BEF}, + [I(119,84)] = {14,0x3C6F}, + [I(120,84)] = {14,0x3CEF}, + [I(121,84)] = {14,0x3D6F}, + [I(122,84)] = {14,0x3DEF}, + [I(123,84)] = {22,0x3FFF6F}, + [I(124,84)] = {18,0x3FE6F}, + [I(125,84)] = {21,0x1FFEEF}, + [I(126,84)] = {20,0xFFEEF}, + [I(127,84)] = {64,0}, + [I(128,84)] = {27,0x7FFF36F}, + [I(129,84)] = {29,0x1FFFE96F}, + [I(130,84)] = {27,0x7FFF3EF}, + [I(131,84)] = {27,0x7FFF46F}, + [I(132,84)] = {29,0x1FFFE9EF}, + [I(133,84)] = {29,0x1FFFEA6F}, + [I(134,84)] = {29,0x1FFFEAEF}, + [I(135,84)] = {30,0x3FFFECEF}, + [I(136,84)] = {29,0x1FFFEB6F}, + [I(137,84)] = {30,0x3FFFED6F}, + [I(138,84)] = {30,0x3FFFEDEF}, + [I(139,84)] = {30,0x3FFFEE6F}, + [I(140,84)] = {30,0x3FFFEEEF}, + [I(141,84)] = {30,0x3FFFEF6F}, + [I(142,84)] = {31,0x7FFFF5EF}, + [I(143,84)] = {30,0x3FFFEFEF}, + [I(144,84)] = {31,0x7FFFF66F}, + [I(145,84)] = {31,0x7FFFF6EF}, + [I(146,84)] = {29,0x1FFFEBEF}, + [I(147,84)] = {30,0x3FFFF06F}, + [I(148,84)] = {31,0x7FFFF76F}, + [I(149,84)] = {30,0x3FFFF0EF}, + [I(150,84)] = {30,0x3FFFF16F}, + [I(151,84)] = {30,0x3FFFF1EF}, + [I(152,84)] = {30,0x3FFFF26F}, + [I(153,84)] = {28,0xFFFEE6F}, + [I(154,84)] = {29,0x1FFFEC6F}, + [I(155,84)] = {30,0x3FFFF2EF}, + [I(156,84)] = {29,0x1FFFECEF}, + [I(157,84)] = {30,0x3FFFF36F}, + [I(158,84)] = {30,0x3FFFF3EF}, + [I(159,84)] = {31,0x7FFFF7EF}, + [I(160,84)] = {29,0x1FFFED6F}, + [I(161,84)] = {28,0xFFFEEEF}, + [I(162,84)] = {27,0x7FFF4EF}, + [I(163,84)] = {29,0x1FFFEDEF}, + [I(164,84)] = {29,0x1FFFEE6F}, + [I(165,84)] = {30,0x3FFFF46F}, + [I(166,84)] = {30,0x3FFFF4EF}, + [I(167,84)] = {28,0xFFFEF6F}, + [I(168,84)] = {30,0x3FFFF56F}, + [I(169,84)] = {29,0x1FFFEEEF}, + [I(170,84)] = {29,0x1FFFEF6F}, + [I(171,84)] = {31,0x7FFFF86F}, + [I(172,84)] = {28,0xFFFEFEF}, + [I(173,84)] = {29,0x1FFFEFEF}, + [I(174,84)] = {30,0x3FFFF5EF}, + [I(175,84)] = {30,0x3FFFF66F}, + [I(176,84)] = {28,0xFFFF06F}, + [I(177,84)] = {28,0xFFFF0EF}, + [I(178,84)] = {29,0x1FFFF06F}, + [I(179,84)] = {28,0xFFFF16F}, + [I(180,84)] = {30,0x3FFFF6EF}, + [I(181,84)] = {29,0x1FFFF0EF}, + [I(182,84)] = {30,0x3FFFF76F}, + [I(183,84)] = {30,0x3FFFF7EF}, + [I(184,84)] = {27,0x7FFF56F}, + [I(185,84)] = {29,0x1FFFF16F}, + [I(186,84)] = {29,0x1FFFF1EF}, + [I(187,84)] = {29,0x1FFFF26F}, + [I(188,84)] = {30,0x3FFFF86F}, + [I(189,84)] = {29,0x1FFFF2EF}, + [I(190,84)] = {29,0x1FFFF36F}, + [I(191,84)] = {30,0x3FFFF8EF}, + [I(192,84)] = {64,0}, + [I(193,84)] = {64,0}, + [I(194,84)] = {27,0x7FFF5EF}, + [I(195,84)] = {26,0x3FFF8EF}, + [I(196,84)] = {29,0x1FFFF3EF}, + [I(197,84)] = {30,0x3FFFF96F}, + [I(198,84)] = {29,0x1FFFF46F}, + [I(199,84)] = {X32,0xFFFFF66F}, + [I(200,84)] = {64,0}, + [I(201,84)] = {64,0}, + [I(202,84)] = {64,0}, + [I(203,84)] = {64,0}, + [I(204,84)] = {64,0}, + [I(205,84)] = {64,0}, + [I(206,84)] = {31,0x7FFFF8EF}, + [I(207,84)] = {X32,0xFFFFF6EF}, + [I(208,84)] = {26,0x3FFF96F}, + [I(209,84)] = {28,0xFFFF1EF}, + [I(210,84)] = {64,0}, + [I(211,84)] = {64,0}, + [I(212,84)] = {64,0}, + [I(213,84)] = {64,0}, + [I(214,84)] = {64,0}, + [I(215,84)] = {31,0x7FFFF96F}, + [I(216,84)] = {28,0xFFFF26F}, + [I(217,84)] = {28,0xFFFF2EF}, + [I(218,84)] = {64,0}, + [I(219,84)] = {64,0}, + [I(220,84)] = {64,0}, + [I(221,84)] = {64,0}, + [I(222,84)] = {64,0}, + [I(223,84)] = {64,0}, + [I(224,84)] = {27,0x7FFF66F}, + [I(225,84)] = {31,0x7FFFF9EF}, + [I(226,84)] = {27,0x7FFF6EF}, + [I(227,84)] = {28,0xFFFF36F}, + [I(228,84)] = {29,0x1FFFF4EF}, + [I(229,84)] = {28,0xFFFF3EF}, + [I(230,84)] = {28,0xFFFF46F}, + [I(231,84)] = {30,0x3FFFF9EF}, + [I(232,84)] = {29,0x1FFFF56F}, + [I(233,84)] = {29,0x1FFFF5EF}, + [I(234,84)] = {X32,0xFFFFF76F}, + [I(235,84)] = {X32,0xFFFFF7EF}, + [I(236,84)] = {31,0x7FFFFA6F}, + [I(237,84)] = {31,0x7FFFFAEF}, + [I(238,84)] = {64,0}, + [I(239,84)] = {30,0x3FFFFA6F}, + [I(240,84)] = {64,0}, + [I(241,84)] = {64,0}, + [I(242,84)] = {64,0}, + [I(243,84)] = {64,0}, + [I(244,84)] = {64,0}, + [I(245,84)] = {64,0}, + [I(246,84)] = {64,0}, + [I(247,84)] = {64,0}, + [I(248,84)] = {64,0}, + [I(249,84)] = {64,0}, + [I(250,84)] = {64,0}, + [I(251,84)] = {64,0}, + [I(252,84)] = {64,0}, + [I(253,84)] = {64,0}, + [I(254,84)] = {64,0}, + [I(255,84)] = {64,0}, + [I(0,85)] = {20,0xFFC70}, + [I(1,85)] = {30,0x3FFFEC70}, + [I(2,85)] = {64,0}, + [I(3,85)] = {64,0}, + [I(4,85)] = {64,0}, + [I(5,85)] = {64,0}, + [I(6,85)] = {64,0}, + [I(7,85)] = {64,0}, + [I(8,85)] = {64,0}, + [I(9,85)] = {31,0x7FFFF570}, + [I(10,85)] = {64,0}, + [I(11,85)] = {64,0}, + [I(12,85)] = {64,0}, + [I(13,85)] = {64,0}, + [I(14,85)] = {64,0}, + [I(15,85)] = {64,0}, + [I(16,85)] = {64,0}, + [I(17,85)] = {64,0}, + [I(18,85)] = {64,0}, + [I(19,85)] = {64,0}, + [I(20,85)] = {64,0}, + [I(21,85)] = {64,0}, + [I(22,85)] = {64,0}, + [I(23,85)] = {64,0}, + [I(24,85)] = {64,0}, + [I(25,85)] = {64,0}, + [I(26,85)] = {64,0}, + [I(27,85)] = {64,0}, + [I(28,85)] = {64,0}, + [I(29,85)] = {64,0}, + [I(30,85)] = {64,0}, + [I(31,85)] = {64,0}, + [I(32,85)] = {13,0xA70}, + [I(33,85)] = {17,0x1FC70}, + [I(34,85)] = {17,0x1FCF0}, + [I(35,85)] = {19,0x7FD70}, + [I(36,85)] = {20,0xFFCF0}, + [I(37,85)] = {13,0xAF0}, + [I(38,85)] = {15,0x7C70}, + [I(39,85)] = {18,0x3FD70}, + [I(40,85)] = {17,0x1FD70}, + [I(41,85)] = {17,0x1FDF0}, + [I(42,85)] = {15,0x7CF0}, + [I(43,85)] = {18,0x3FDF0}, + [I(44,85)] = {15,0x7D70}, + [I(45,85)] = {13,0xB70}, + [I(46,85)] = {13,0xBF0}, + [I(47,85)] = {13,0xC70}, + [I(48,85)] = {12,0x70}, + [I(49,85)] = {12,0xF0}, + [I(50,85)] = {12,0x170}, + [I(51,85)] = {13,0xCF0}, + [I(52,85)] = {13,0xD70}, + [I(53,85)] = {13,0xDF0}, + [I(54,85)] = {13,0xE70}, + [I(55,85)] = {13,0xEF0}, + [I(56,85)] = {13,0xF70}, + [I(57,85)] = {13,0xFF0}, + [I(58,85)] = {14,0x2E70}, + [I(59,85)] = {15,0x7DF0}, + [I(60,85)] = {22,0x3FFE70}, + [I(61,85)] = {13,0x1070}, + [I(62,85)] = {19,0x7FDF0}, + [I(63,85)] = {17,0x1FE70}, + [I(64,85)] = {20,0xFFD70}, + [I(65,85)] = {13,0x10F0}, + [I(66,85)] = {14,0x2EF0}, + [I(67,85)] = {14,0x2F70}, + [I(68,85)] = {14,0x2FF0}, + [I(69,85)] = {14,0x3070}, + [I(70,85)] = {14,0x30F0}, + [I(71,85)] = {14,0x3170}, + [I(72,85)] = {14,0x31F0}, + [I(73,85)] = {14,0x3270}, + [I(74,85)] = {14,0x32F0}, + [I(75,85)] = {14,0x3370}, + [I(76,85)] = {14,0x33F0}, + [I(77,85)] = {14,0x3470}, + [I(78,85)] = {14,0x34F0}, + [I(79,85)] = {14,0x3570}, + [I(80,85)] = {14,0x35F0}, + [I(81,85)] = {14,0x3670}, + [I(82,85)] = {14,0x36F0}, + [I(83,85)] = {14,0x3770}, + [I(84,85)] = {14,0x37F0}, + [I(85,85)] = {14,0x3870}, + [I(86,85)] = {14,0x38F0}, + [I(87,85)] = {14,0x3970}, + [I(88,85)] = {15,0x7E70}, + [I(89,85)] = {14,0x39F0}, + [I(90,85)] = {15,0x7EF0}, + [I(91,85)] = {20,0xFFDF0}, + [I(92,85)] = {26,0x3FFF870}, + [I(93,85)] = {20,0xFFE70}, + [I(94,85)] = {21,0x1FFE70}, + [I(95,85)] = {13,0x1170}, + [I(96,85)] = {22,0x3FFEF0}, + [I(97,85)] = {12,0x1F0}, + [I(98,85)] = {13,0x11F0}, + [I(99,85)] = {12,0x270}, + [I(100,85)] = {13,0x1270}, + [I(101,85)] = {12,0x2F0}, + [I(102,85)] = {13,0x12F0}, + [I(103,85)] = {13,0x1370}, + [I(104,85)] = {13,0x13F0}, + [I(105,85)] = {12,0x370}, + [I(106,85)] = {14,0x3A70}, + [I(107,85)] = {14,0x3AF0}, + [I(108,85)] = {13,0x1470}, + [I(109,85)] = {13,0x14F0}, + [I(110,85)] = {13,0x1570}, + [I(111,85)] = {12,0x3F0}, + [I(112,85)] = {13,0x15F0}, + [I(113,85)] = {14,0x3B70}, + [I(114,85)] = {13,0x1670}, + [I(115,85)] = {12,0x470}, + [I(116,85)] = {12,0x4F0}, + [I(117,85)] = {13,0x16F0}, + [I(118,85)] = {14,0x3BF0}, + [I(119,85)] = {14,0x3C70}, + [I(120,85)] = {14,0x3CF0}, + [I(121,85)] = {14,0x3D70}, + [I(122,85)] = {14,0x3DF0}, + [I(123,85)] = {22,0x3FFF70}, + [I(124,85)] = {18,0x3FE70}, + [I(125,85)] = {21,0x1FFEF0}, + [I(126,85)] = {20,0xFFEF0}, + [I(127,85)] = {64,0}, + [I(128,85)] = {27,0x7FFF370}, + [I(129,85)] = {29,0x1FFFE970}, + [I(130,85)] = {27,0x7FFF3F0}, + [I(131,85)] = {27,0x7FFF470}, + [I(132,85)] = {29,0x1FFFE9F0}, + [I(133,85)] = {29,0x1FFFEA70}, + [I(134,85)] = {29,0x1FFFEAF0}, + [I(135,85)] = {30,0x3FFFECF0}, + [I(136,85)] = {29,0x1FFFEB70}, + [I(137,85)] = {30,0x3FFFED70}, + [I(138,85)] = {30,0x3FFFEDF0}, + [I(139,85)] = {30,0x3FFFEE70}, + [I(140,85)] = {30,0x3FFFEEF0}, + [I(141,85)] = {30,0x3FFFEF70}, + [I(142,85)] = {31,0x7FFFF5F0}, + [I(143,85)] = {30,0x3FFFEFF0}, + [I(144,85)] = {31,0x7FFFF670}, + [I(145,85)] = {31,0x7FFFF6F0}, + [I(146,85)] = {29,0x1FFFEBF0}, + [I(147,85)] = {30,0x3FFFF070}, + [I(148,85)] = {31,0x7FFFF770}, + [I(149,85)] = {30,0x3FFFF0F0}, + [I(150,85)] = {30,0x3FFFF170}, + [I(151,85)] = {30,0x3FFFF1F0}, + [I(152,85)] = {30,0x3FFFF270}, + [I(153,85)] = {28,0xFFFEE70}, + [I(154,85)] = {29,0x1FFFEC70}, + [I(155,85)] = {30,0x3FFFF2F0}, + [I(156,85)] = {29,0x1FFFECF0}, + [I(157,85)] = {30,0x3FFFF370}, + [I(158,85)] = {30,0x3FFFF3F0}, + [I(159,85)] = {31,0x7FFFF7F0}, + [I(160,85)] = {29,0x1FFFED70}, + [I(161,85)] = {28,0xFFFEEF0}, + [I(162,85)] = {27,0x7FFF4F0}, + [I(163,85)] = {29,0x1FFFEDF0}, + [I(164,85)] = {29,0x1FFFEE70}, + [I(165,85)] = {30,0x3FFFF470}, + [I(166,85)] = {30,0x3FFFF4F0}, + [I(167,85)] = {28,0xFFFEF70}, + [I(168,85)] = {30,0x3FFFF570}, + [I(169,85)] = {29,0x1FFFEEF0}, + [I(170,85)] = {29,0x1FFFEF70}, + [I(171,85)] = {31,0x7FFFF870}, + [I(172,85)] = {28,0xFFFEFF0}, + [I(173,85)] = {29,0x1FFFEFF0}, + [I(174,85)] = {30,0x3FFFF5F0}, + [I(175,85)] = {30,0x3FFFF670}, + [I(176,85)] = {28,0xFFFF070}, + [I(177,85)] = {28,0xFFFF0F0}, + [I(178,85)] = {29,0x1FFFF070}, + [I(179,85)] = {28,0xFFFF170}, + [I(180,85)] = {30,0x3FFFF6F0}, + [I(181,85)] = {29,0x1FFFF0F0}, + [I(182,85)] = {30,0x3FFFF770}, + [I(183,85)] = {30,0x3FFFF7F0}, + [I(184,85)] = {27,0x7FFF570}, + [I(185,85)] = {29,0x1FFFF170}, + [I(186,85)] = {29,0x1FFFF1F0}, + [I(187,85)] = {29,0x1FFFF270}, + [I(188,85)] = {30,0x3FFFF870}, + [I(189,85)] = {29,0x1FFFF2F0}, + [I(190,85)] = {29,0x1FFFF370}, + [I(191,85)] = {30,0x3FFFF8F0}, + [I(192,85)] = {64,0}, + [I(193,85)] = {64,0}, + [I(194,85)] = {27,0x7FFF5F0}, + [I(195,85)] = {26,0x3FFF8F0}, + [I(196,85)] = {29,0x1FFFF3F0}, + [I(197,85)] = {30,0x3FFFF970}, + [I(198,85)] = {29,0x1FFFF470}, + [I(199,85)] = {X32,0xFFFFF670}, + [I(200,85)] = {64,0}, + [I(201,85)] = {64,0}, + [I(202,85)] = {64,0}, + [I(203,85)] = {64,0}, + [I(204,85)] = {64,0}, + [I(205,85)] = {64,0}, + [I(206,85)] = {31,0x7FFFF8F0}, + [I(207,85)] = {X32,0xFFFFF6F0}, + [I(208,85)] = {26,0x3FFF970}, + [I(209,85)] = {28,0xFFFF1F0}, + [I(210,85)] = {64,0}, + [I(211,85)] = {64,0}, + [I(212,85)] = {64,0}, + [I(213,85)] = {64,0}, + [I(214,85)] = {64,0}, + [I(215,85)] = {31,0x7FFFF970}, + [I(216,85)] = {28,0xFFFF270}, + [I(217,85)] = {28,0xFFFF2F0}, + [I(218,85)] = {64,0}, + [I(219,85)] = {64,0}, + [I(220,85)] = {64,0}, + [I(221,85)] = {64,0}, + [I(222,85)] = {64,0}, + [I(223,85)] = {64,0}, + [I(224,85)] = {27,0x7FFF670}, + [I(225,85)] = {31,0x7FFFF9F0}, + [I(226,85)] = {27,0x7FFF6F0}, + [I(227,85)] = {28,0xFFFF370}, + [I(228,85)] = {29,0x1FFFF4F0}, + [I(229,85)] = {28,0xFFFF3F0}, + [I(230,85)] = {28,0xFFFF470}, + [I(231,85)] = {30,0x3FFFF9F0}, + [I(232,85)] = {29,0x1FFFF570}, + [I(233,85)] = {29,0x1FFFF5F0}, + [I(234,85)] = {X32,0xFFFFF770}, + [I(235,85)] = {X32,0xFFFFF7F0}, + [I(236,85)] = {31,0x7FFFFA70}, + [I(237,85)] = {31,0x7FFFFAF0}, + [I(238,85)] = {64,0}, + [I(239,85)] = {30,0x3FFFFA70}, + [I(240,85)] = {64,0}, + [I(241,85)] = {64,0}, + [I(242,85)] = {64,0}, + [I(243,85)] = {64,0}, + [I(244,85)] = {64,0}, + [I(245,85)] = {64,0}, + [I(246,85)] = {64,0}, + [I(247,85)] = {64,0}, + [I(248,85)] = {64,0}, + [I(249,85)] = {64,0}, + [I(250,85)] = {64,0}, + [I(251,85)] = {64,0}, + [I(252,85)] = {64,0}, + [I(253,85)] = {64,0}, + [I(254,85)] = {64,0}, + [I(255,85)] = {64,0}, + [I(0,86)] = {20,0xFFC71}, + [I(1,86)] = {30,0x3FFFEC71}, + [I(2,86)] = {64,0}, + [I(3,86)] = {64,0}, + [I(4,86)] = {64,0}, + [I(5,86)] = {64,0}, + [I(6,86)] = {64,0}, + [I(7,86)] = {64,0}, + [I(8,86)] = {64,0}, + [I(9,86)] = {31,0x7FFFF571}, + [I(10,86)] = {64,0}, + [I(11,86)] = {64,0}, + [I(12,86)] = {64,0}, + [I(13,86)] = {64,0}, + [I(14,86)] = {64,0}, + [I(15,86)] = {64,0}, + [I(16,86)] = {64,0}, + [I(17,86)] = {64,0}, + [I(18,86)] = {64,0}, + [I(19,86)] = {64,0}, + [I(20,86)] = {64,0}, + [I(21,86)] = {64,0}, + [I(22,86)] = {64,0}, + [I(23,86)] = {64,0}, + [I(24,86)] = {64,0}, + [I(25,86)] = {64,0}, + [I(26,86)] = {64,0}, + [I(27,86)] = {64,0}, + [I(28,86)] = {64,0}, + [I(29,86)] = {64,0}, + [I(30,86)] = {64,0}, + [I(31,86)] = {64,0}, + [I(32,86)] = {13,0xA71}, + [I(33,86)] = {17,0x1FC71}, + [I(34,86)] = {17,0x1FCF1}, + [I(35,86)] = {19,0x7FD71}, + [I(36,86)] = {20,0xFFCF1}, + [I(37,86)] = {13,0xAF1}, + [I(38,86)] = {15,0x7C71}, + [I(39,86)] = {18,0x3FD71}, + [I(40,86)] = {17,0x1FD71}, + [I(41,86)] = {17,0x1FDF1}, + [I(42,86)] = {15,0x7CF1}, + [I(43,86)] = {18,0x3FDF1}, + [I(44,86)] = {15,0x7D71}, + [I(45,86)] = {13,0xB71}, + [I(46,86)] = {13,0xBF1}, + [I(47,86)] = {13,0xC71}, + [I(48,86)] = {12,0x71}, + [I(49,86)] = {12,0xF1}, + [I(50,86)] = {12,0x171}, + [I(51,86)] = {13,0xCF1}, + [I(52,86)] = {13,0xD71}, + [I(53,86)] = {13,0xDF1}, + [I(54,86)] = {13,0xE71}, + [I(55,86)] = {13,0xEF1}, + [I(56,86)] = {13,0xF71}, + [I(57,86)] = {13,0xFF1}, + [I(58,86)] = {14,0x2E71}, + [I(59,86)] = {15,0x7DF1}, + [I(60,86)] = {22,0x3FFE71}, + [I(61,86)] = {13,0x1071}, + [I(62,86)] = {19,0x7FDF1}, + [I(63,86)] = {17,0x1FE71}, + [I(64,86)] = {20,0xFFD71}, + [I(65,86)] = {13,0x10F1}, + [I(66,86)] = {14,0x2EF1}, + [I(67,86)] = {14,0x2F71}, + [I(68,86)] = {14,0x2FF1}, + [I(69,86)] = {14,0x3071}, + [I(70,86)] = {14,0x30F1}, + [I(71,86)] = {14,0x3171}, + [I(72,86)] = {14,0x31F1}, + [I(73,86)] = {14,0x3271}, + [I(74,86)] = {14,0x32F1}, + [I(75,86)] = {14,0x3371}, + [I(76,86)] = {14,0x33F1}, + [I(77,86)] = {14,0x3471}, + [I(78,86)] = {14,0x34F1}, + [I(79,86)] = {14,0x3571}, + [I(80,86)] = {14,0x35F1}, + [I(81,86)] = {14,0x3671}, + [I(82,86)] = {14,0x36F1}, + [I(83,86)] = {14,0x3771}, + [I(84,86)] = {14,0x37F1}, + [I(85,86)] = {14,0x3871}, + [I(86,86)] = {14,0x38F1}, + [I(87,86)] = {14,0x3971}, + [I(88,86)] = {15,0x7E71}, + [I(89,86)] = {14,0x39F1}, + [I(90,86)] = {15,0x7EF1}, + [I(91,86)] = {20,0xFFDF1}, + [I(92,86)] = {26,0x3FFF871}, + [I(93,86)] = {20,0xFFE71}, + [I(94,86)] = {21,0x1FFE71}, + [I(95,86)] = {13,0x1171}, + [I(96,86)] = {22,0x3FFEF1}, + [I(97,86)] = {12,0x1F1}, + [I(98,86)] = {13,0x11F1}, + [I(99,86)] = {12,0x271}, + [I(100,86)] = {13,0x1271}, + [I(101,86)] = {12,0x2F1}, + [I(102,86)] = {13,0x12F1}, + [I(103,86)] = {13,0x1371}, + [I(104,86)] = {13,0x13F1}, + [I(105,86)] = {12,0x371}, + [I(106,86)] = {14,0x3A71}, + [I(107,86)] = {14,0x3AF1}, + [I(108,86)] = {13,0x1471}, + [I(109,86)] = {13,0x14F1}, + [I(110,86)] = {13,0x1571}, + [I(111,86)] = {12,0x3F1}, + [I(112,86)] = {13,0x15F1}, + [I(113,86)] = {14,0x3B71}, + [I(114,86)] = {13,0x1671}, + [I(115,86)] = {12,0x471}, + [I(116,86)] = {12,0x4F1}, + [I(117,86)] = {13,0x16F1}, + [I(118,86)] = {14,0x3BF1}, + [I(119,86)] = {14,0x3C71}, + [I(120,86)] = {14,0x3CF1}, + [I(121,86)] = {14,0x3D71}, + [I(122,86)] = {14,0x3DF1}, + [I(123,86)] = {22,0x3FFF71}, + [I(124,86)] = {18,0x3FE71}, + [I(125,86)] = {21,0x1FFEF1}, + [I(126,86)] = {20,0xFFEF1}, + [I(127,86)] = {64,0}, + [I(128,86)] = {27,0x7FFF371}, + [I(129,86)] = {29,0x1FFFE971}, + [I(130,86)] = {27,0x7FFF3F1}, + [I(131,86)] = {27,0x7FFF471}, + [I(132,86)] = {29,0x1FFFE9F1}, + [I(133,86)] = {29,0x1FFFEA71}, + [I(134,86)] = {29,0x1FFFEAF1}, + [I(135,86)] = {30,0x3FFFECF1}, + [I(136,86)] = {29,0x1FFFEB71}, + [I(137,86)] = {30,0x3FFFED71}, + [I(138,86)] = {30,0x3FFFEDF1}, + [I(139,86)] = {30,0x3FFFEE71}, + [I(140,86)] = {30,0x3FFFEEF1}, + [I(141,86)] = {30,0x3FFFEF71}, + [I(142,86)] = {31,0x7FFFF5F1}, + [I(143,86)] = {30,0x3FFFEFF1}, + [I(144,86)] = {31,0x7FFFF671}, + [I(145,86)] = {31,0x7FFFF6F1}, + [I(146,86)] = {29,0x1FFFEBF1}, + [I(147,86)] = {30,0x3FFFF071}, + [I(148,86)] = {31,0x7FFFF771}, + [I(149,86)] = {30,0x3FFFF0F1}, + [I(150,86)] = {30,0x3FFFF171}, + [I(151,86)] = {30,0x3FFFF1F1}, + [I(152,86)] = {30,0x3FFFF271}, + [I(153,86)] = {28,0xFFFEE71}, + [I(154,86)] = {29,0x1FFFEC71}, + [I(155,86)] = {30,0x3FFFF2F1}, + [I(156,86)] = {29,0x1FFFECF1}, + [I(157,86)] = {30,0x3FFFF371}, + [I(158,86)] = {30,0x3FFFF3F1}, + [I(159,86)] = {31,0x7FFFF7F1}, + [I(160,86)] = {29,0x1FFFED71}, + [I(161,86)] = {28,0xFFFEEF1}, + [I(162,86)] = {27,0x7FFF4F1}, + [I(163,86)] = {29,0x1FFFEDF1}, + [I(164,86)] = {29,0x1FFFEE71}, + [I(165,86)] = {30,0x3FFFF471}, + [I(166,86)] = {30,0x3FFFF4F1}, + [I(167,86)] = {28,0xFFFEF71}, + [I(168,86)] = {30,0x3FFFF571}, + [I(169,86)] = {29,0x1FFFEEF1}, + [I(170,86)] = {29,0x1FFFEF71}, + [I(171,86)] = {31,0x7FFFF871}, + [I(172,86)] = {28,0xFFFEFF1}, + [I(173,86)] = {29,0x1FFFEFF1}, + [I(174,86)] = {30,0x3FFFF5F1}, + [I(175,86)] = {30,0x3FFFF671}, + [I(176,86)] = {28,0xFFFF071}, + [I(177,86)] = {28,0xFFFF0F1}, + [I(178,86)] = {29,0x1FFFF071}, + [I(179,86)] = {28,0xFFFF171}, + [I(180,86)] = {30,0x3FFFF6F1}, + [I(181,86)] = {29,0x1FFFF0F1}, + [I(182,86)] = {30,0x3FFFF771}, + [I(183,86)] = {30,0x3FFFF7F1}, + [I(184,86)] = {27,0x7FFF571}, + [I(185,86)] = {29,0x1FFFF171}, + [I(186,86)] = {29,0x1FFFF1F1}, + [I(187,86)] = {29,0x1FFFF271}, + [I(188,86)] = {30,0x3FFFF871}, + [I(189,86)] = {29,0x1FFFF2F1}, + [I(190,86)] = {29,0x1FFFF371}, + [I(191,86)] = {30,0x3FFFF8F1}, + [I(192,86)] = {64,0}, + [I(193,86)] = {64,0}, + [I(194,86)] = {27,0x7FFF5F1}, + [I(195,86)] = {26,0x3FFF8F1}, + [I(196,86)] = {29,0x1FFFF3F1}, + [I(197,86)] = {30,0x3FFFF971}, + [I(198,86)] = {29,0x1FFFF471}, + [I(199,86)] = {X32,0xFFFFF671}, + [I(200,86)] = {64,0}, + [I(201,86)] = {64,0}, + [I(202,86)] = {64,0}, + [I(203,86)] = {64,0}, + [I(204,86)] = {64,0}, + [I(205,86)] = {64,0}, + [I(206,86)] = {31,0x7FFFF8F1}, + [I(207,86)] = {X32,0xFFFFF6F1}, + [I(208,86)] = {26,0x3FFF971}, + [I(209,86)] = {28,0xFFFF1F1}, + [I(210,86)] = {64,0}, + [I(211,86)] = {64,0}, + [I(212,86)] = {64,0}, + [I(213,86)] = {64,0}, + [I(214,86)] = {64,0}, + [I(215,86)] = {31,0x7FFFF971}, + [I(216,86)] = {28,0xFFFF271}, + [I(217,86)] = {28,0xFFFF2F1}, + [I(218,86)] = {64,0}, + [I(219,86)] = {64,0}, + [I(220,86)] = {64,0}, + [I(221,86)] = {64,0}, + [I(222,86)] = {64,0}, + [I(223,86)] = {64,0}, + [I(224,86)] = {27,0x7FFF671}, + [I(225,86)] = {31,0x7FFFF9F1}, + [I(226,86)] = {27,0x7FFF6F1}, + [I(227,86)] = {28,0xFFFF371}, + [I(228,86)] = {29,0x1FFFF4F1}, + [I(229,86)] = {28,0xFFFF3F1}, + [I(230,86)] = {28,0xFFFF471}, + [I(231,86)] = {30,0x3FFFF9F1}, + [I(232,86)] = {29,0x1FFFF571}, + [I(233,86)] = {29,0x1FFFF5F1}, + [I(234,86)] = {X32,0xFFFFF771}, + [I(235,86)] = {X32,0xFFFFF7F1}, + [I(236,86)] = {31,0x7FFFFA71}, + [I(237,86)] = {31,0x7FFFFAF1}, + [I(238,86)] = {64,0}, + [I(239,86)] = {30,0x3FFFFA71}, + [I(240,86)] = {64,0}, + [I(241,86)] = {64,0}, + [I(242,86)] = {64,0}, + [I(243,86)] = {64,0}, + [I(244,86)] = {64,0}, + [I(245,86)] = {64,0}, + [I(246,86)] = {64,0}, + [I(247,86)] = {64,0}, + [I(248,86)] = {64,0}, + [I(249,86)] = {64,0}, + [I(250,86)] = {64,0}, + [I(251,86)] = {64,0}, + [I(252,86)] = {64,0}, + [I(253,86)] = {64,0}, + [I(254,86)] = {64,0}, + [I(255,86)] = {64,0}, + [I(0,87)] = {20,0xFFC72}, + [I(1,87)] = {30,0x3FFFEC72}, + [I(2,87)] = {64,0}, + [I(3,87)] = {64,0}, + [I(4,87)] = {64,0}, + [I(5,87)] = {64,0}, + [I(6,87)] = {64,0}, + [I(7,87)] = {64,0}, + [I(8,87)] = {64,0}, + [I(9,87)] = {31,0x7FFFF572}, + [I(10,87)] = {64,0}, + [I(11,87)] = {64,0}, + [I(12,87)] = {64,0}, + [I(13,87)] = {64,0}, + [I(14,87)] = {64,0}, + [I(15,87)] = {64,0}, + [I(16,87)] = {64,0}, + [I(17,87)] = {64,0}, + [I(18,87)] = {64,0}, + [I(19,87)] = {64,0}, + [I(20,87)] = {64,0}, + [I(21,87)] = {64,0}, + [I(22,87)] = {64,0}, + [I(23,87)] = {64,0}, + [I(24,87)] = {64,0}, + [I(25,87)] = {64,0}, + [I(26,87)] = {64,0}, + [I(27,87)] = {64,0}, + [I(28,87)] = {64,0}, + [I(29,87)] = {64,0}, + [I(30,87)] = {64,0}, + [I(31,87)] = {64,0}, + [I(32,87)] = {13,0xA72}, + [I(33,87)] = {17,0x1FC72}, + [I(34,87)] = {17,0x1FCF2}, + [I(35,87)] = {19,0x7FD72}, + [I(36,87)] = {20,0xFFCF2}, + [I(37,87)] = {13,0xAF2}, + [I(38,87)] = {15,0x7C72}, + [I(39,87)] = {18,0x3FD72}, + [I(40,87)] = {17,0x1FD72}, + [I(41,87)] = {17,0x1FDF2}, + [I(42,87)] = {15,0x7CF2}, + [I(43,87)] = {18,0x3FDF2}, + [I(44,87)] = {15,0x7D72}, + [I(45,87)] = {13,0xB72}, + [I(46,87)] = {13,0xBF2}, + [I(47,87)] = {13,0xC72}, + [I(48,87)] = {12,0x72}, + [I(49,87)] = {12,0xF2}, + [I(50,87)] = {12,0x172}, + [I(51,87)] = {13,0xCF2}, + [I(52,87)] = {13,0xD72}, + [I(53,87)] = {13,0xDF2}, + [I(54,87)] = {13,0xE72}, + [I(55,87)] = {13,0xEF2}, + [I(56,87)] = {13,0xF72}, + [I(57,87)] = {13,0xFF2}, + [I(58,87)] = {14,0x2E72}, + [I(59,87)] = {15,0x7DF2}, + [I(60,87)] = {22,0x3FFE72}, + [I(61,87)] = {13,0x1072}, + [I(62,87)] = {19,0x7FDF2}, + [I(63,87)] = {17,0x1FE72}, + [I(64,87)] = {20,0xFFD72}, + [I(65,87)] = {13,0x10F2}, + [I(66,87)] = {14,0x2EF2}, + [I(67,87)] = {14,0x2F72}, + [I(68,87)] = {14,0x2FF2}, + [I(69,87)] = {14,0x3072}, + [I(70,87)] = {14,0x30F2}, + [I(71,87)] = {14,0x3172}, + [I(72,87)] = {14,0x31F2}, + [I(73,87)] = {14,0x3272}, + [I(74,87)] = {14,0x32F2}, + [I(75,87)] = {14,0x3372}, + [I(76,87)] = {14,0x33F2}, + [I(77,87)] = {14,0x3472}, + [I(78,87)] = {14,0x34F2}, + [I(79,87)] = {14,0x3572}, + [I(80,87)] = {14,0x35F2}, + [I(81,87)] = {14,0x3672}, + [I(82,87)] = {14,0x36F2}, + [I(83,87)] = {14,0x3772}, + [I(84,87)] = {14,0x37F2}, + [I(85,87)] = {14,0x3872}, + [I(86,87)] = {14,0x38F2}, + [I(87,87)] = {14,0x3972}, + [I(88,87)] = {15,0x7E72}, + [I(89,87)] = {14,0x39F2}, + [I(90,87)] = {15,0x7EF2}, + [I(91,87)] = {20,0xFFDF2}, + [I(92,87)] = {26,0x3FFF872}, + [I(93,87)] = {20,0xFFE72}, + [I(94,87)] = {21,0x1FFE72}, + [I(95,87)] = {13,0x1172}, + [I(96,87)] = {22,0x3FFEF2}, + [I(97,87)] = {12,0x1F2}, + [I(98,87)] = {13,0x11F2}, + [I(99,87)] = {12,0x272}, + [I(100,87)] = {13,0x1272}, + [I(101,87)] = {12,0x2F2}, + [I(102,87)] = {13,0x12F2}, + [I(103,87)] = {13,0x1372}, + [I(104,87)] = {13,0x13F2}, + [I(105,87)] = {12,0x372}, + [I(106,87)] = {14,0x3A72}, + [I(107,87)] = {14,0x3AF2}, + [I(108,87)] = {13,0x1472}, + [I(109,87)] = {13,0x14F2}, + [I(110,87)] = {13,0x1572}, + [I(111,87)] = {12,0x3F2}, + [I(112,87)] = {13,0x15F2}, + [I(113,87)] = {14,0x3B72}, + [I(114,87)] = {13,0x1672}, + [I(115,87)] = {12,0x472}, + [I(116,87)] = {12,0x4F2}, + [I(117,87)] = {13,0x16F2}, + [I(118,87)] = {14,0x3BF2}, + [I(119,87)] = {14,0x3C72}, + [I(120,87)] = {14,0x3CF2}, + [I(121,87)] = {14,0x3D72}, + [I(122,87)] = {14,0x3DF2}, + [I(123,87)] = {22,0x3FFF72}, + [I(124,87)] = {18,0x3FE72}, + [I(125,87)] = {21,0x1FFEF2}, + [I(126,87)] = {20,0xFFEF2}, + [I(127,87)] = {64,0}, + [I(128,87)] = {27,0x7FFF372}, + [I(129,87)] = {29,0x1FFFE972}, + [I(130,87)] = {27,0x7FFF3F2}, + [I(131,87)] = {27,0x7FFF472}, + [I(132,87)] = {29,0x1FFFE9F2}, + [I(133,87)] = {29,0x1FFFEA72}, + [I(134,87)] = {29,0x1FFFEAF2}, + [I(135,87)] = {30,0x3FFFECF2}, + [I(136,87)] = {29,0x1FFFEB72}, + [I(137,87)] = {30,0x3FFFED72}, + [I(138,87)] = {30,0x3FFFEDF2}, + [I(139,87)] = {30,0x3FFFEE72}, + [I(140,87)] = {30,0x3FFFEEF2}, + [I(141,87)] = {30,0x3FFFEF72}, + [I(142,87)] = {31,0x7FFFF5F2}, + [I(143,87)] = {30,0x3FFFEFF2}, + [I(144,87)] = {31,0x7FFFF672}, + [I(145,87)] = {31,0x7FFFF6F2}, + [I(146,87)] = {29,0x1FFFEBF2}, + [I(147,87)] = {30,0x3FFFF072}, + [I(148,87)] = {31,0x7FFFF772}, + [I(149,87)] = {30,0x3FFFF0F2}, + [I(150,87)] = {30,0x3FFFF172}, + [I(151,87)] = {30,0x3FFFF1F2}, + [I(152,87)] = {30,0x3FFFF272}, + [I(153,87)] = {28,0xFFFEE72}, + [I(154,87)] = {29,0x1FFFEC72}, + [I(155,87)] = {30,0x3FFFF2F2}, + [I(156,87)] = {29,0x1FFFECF2}, + [I(157,87)] = {30,0x3FFFF372}, + [I(158,87)] = {30,0x3FFFF3F2}, + [I(159,87)] = {31,0x7FFFF7F2}, + [I(160,87)] = {29,0x1FFFED72}, + [I(161,87)] = {28,0xFFFEEF2}, + [I(162,87)] = {27,0x7FFF4F2}, + [I(163,87)] = {29,0x1FFFEDF2}, + [I(164,87)] = {29,0x1FFFEE72}, + [I(165,87)] = {30,0x3FFFF472}, + [I(166,87)] = {30,0x3FFFF4F2}, + [I(167,87)] = {28,0xFFFEF72}, + [I(168,87)] = {30,0x3FFFF572}, + [I(169,87)] = {29,0x1FFFEEF2}, + [I(170,87)] = {29,0x1FFFEF72}, + [I(171,87)] = {31,0x7FFFF872}, + [I(172,87)] = {28,0xFFFEFF2}, + [I(173,87)] = {29,0x1FFFEFF2}, + [I(174,87)] = {30,0x3FFFF5F2}, + [I(175,87)] = {30,0x3FFFF672}, + [I(176,87)] = {28,0xFFFF072}, + [I(177,87)] = {28,0xFFFF0F2}, + [I(178,87)] = {29,0x1FFFF072}, + [I(179,87)] = {28,0xFFFF172}, + [I(180,87)] = {30,0x3FFFF6F2}, + [I(181,87)] = {29,0x1FFFF0F2}, + [I(182,87)] = {30,0x3FFFF772}, + [I(183,87)] = {30,0x3FFFF7F2}, + [I(184,87)] = {27,0x7FFF572}, + [I(185,87)] = {29,0x1FFFF172}, + [I(186,87)] = {29,0x1FFFF1F2}, + [I(187,87)] = {29,0x1FFFF272}, + [I(188,87)] = {30,0x3FFFF872}, + [I(189,87)] = {29,0x1FFFF2F2}, + [I(190,87)] = {29,0x1FFFF372}, + [I(191,87)] = {30,0x3FFFF8F2}, + [I(192,87)] = {64,0}, + [I(193,87)] = {64,0}, + [I(194,87)] = {27,0x7FFF5F2}, + [I(195,87)] = {26,0x3FFF8F2}, + [I(196,87)] = {29,0x1FFFF3F2}, + [I(197,87)] = {30,0x3FFFF972}, + [I(198,87)] = {29,0x1FFFF472}, + [I(199,87)] = {X32,0xFFFFF672}, + [I(200,87)] = {64,0}, + [I(201,87)] = {64,0}, + [I(202,87)] = {64,0}, + [I(203,87)] = {64,0}, + [I(204,87)] = {64,0}, + [I(205,87)] = {64,0}, + [I(206,87)] = {31,0x7FFFF8F2}, + [I(207,87)] = {X32,0xFFFFF6F2}, + [I(208,87)] = {26,0x3FFF972}, + [I(209,87)] = {28,0xFFFF1F2}, + [I(210,87)] = {64,0}, + [I(211,87)] = {64,0}, + [I(212,87)] = {64,0}, + [I(213,87)] = {64,0}, + [I(214,87)] = {64,0}, + [I(215,87)] = {31,0x7FFFF972}, + [I(216,87)] = {28,0xFFFF272}, + [I(217,87)] = {28,0xFFFF2F2}, + [I(218,87)] = {64,0}, + [I(219,87)] = {64,0}, + [I(220,87)] = {64,0}, + [I(221,87)] = {64,0}, + [I(222,87)] = {64,0}, + [I(223,87)] = {64,0}, + [I(224,87)] = {27,0x7FFF672}, + [I(225,87)] = {31,0x7FFFF9F2}, + [I(226,87)] = {27,0x7FFF6F2}, + [I(227,87)] = {28,0xFFFF372}, + [I(228,87)] = {29,0x1FFFF4F2}, + [I(229,87)] = {28,0xFFFF3F2}, + [I(230,87)] = {28,0xFFFF472}, + [I(231,87)] = {30,0x3FFFF9F2}, + [I(232,87)] = {29,0x1FFFF572}, + [I(233,87)] = {29,0x1FFFF5F2}, + [I(234,87)] = {X32,0xFFFFF772}, + [I(235,87)] = {X32,0xFFFFF7F2}, + [I(236,87)] = {31,0x7FFFFA72}, + [I(237,87)] = {31,0x7FFFFAF2}, + [I(238,87)] = {64,0}, + [I(239,87)] = {30,0x3FFFFA72}, + [I(240,87)] = {64,0}, + [I(241,87)] = {64,0}, + [I(242,87)] = {64,0}, + [I(243,87)] = {64,0}, + [I(244,87)] = {64,0}, + [I(245,87)] = {64,0}, + [I(246,87)] = {64,0}, + [I(247,87)] = {64,0}, + [I(248,87)] = {64,0}, + [I(249,87)] = {64,0}, + [I(250,87)] = {64,0}, + [I(251,87)] = {64,0}, + [I(252,87)] = {64,0}, + [I(253,87)] = {64,0}, + [I(254,87)] = {64,0}, + [I(255,87)] = {64,0}, + [I(0,88)] = {21,0x1FF8FC}, + [I(1,88)] = {31,0x7FFFD8FC}, + [I(2,88)] = {64,0}, + [I(3,88)] = {64,0}, + [I(4,88)] = {64,0}, + [I(5,88)] = {64,0}, + [I(6,88)] = {64,0}, + [I(7,88)] = {64,0}, + [I(8,88)] = {64,0}, + [I(9,88)] = {X32,0xFFFFEAFC}, + [I(10,88)] = {64,0}, + [I(11,88)] = {64,0}, + [I(12,88)] = {64,0}, + [I(13,88)] = {64,0}, + [I(14,88)] = {64,0}, + [I(15,88)] = {64,0}, + [I(16,88)] = {64,0}, + [I(17,88)] = {64,0}, + [I(18,88)] = {64,0}, + [I(19,88)] = {64,0}, + [I(20,88)] = {64,0}, + [I(21,88)] = {64,0}, + [I(22,88)] = {64,0}, + [I(23,88)] = {64,0}, + [I(24,88)] = {64,0}, + [I(25,88)] = {64,0}, + [I(26,88)] = {64,0}, + [I(27,88)] = {64,0}, + [I(28,88)] = {64,0}, + [I(29,88)] = {64,0}, + [I(30,88)] = {64,0}, + [I(31,88)] = {64,0}, + [I(32,88)] = {14,0x14FC}, + [I(33,88)] = {18,0x3F8FC}, + [I(34,88)] = {18,0x3F9FC}, + [I(35,88)] = {20,0xFFAFC}, + [I(36,88)] = {21,0x1FF9FC}, + [I(37,88)] = {14,0x15FC}, + [I(38,88)] = {16,0xF8FC}, + [I(39,88)] = {19,0x7FAFC}, + [I(40,88)] = {18,0x3FAFC}, + [I(41,88)] = {18,0x3FBFC}, + [I(42,88)] = {16,0xF9FC}, + [I(43,88)] = {19,0x7FBFC}, + [I(44,88)] = {16,0xFAFC}, + [I(45,88)] = {14,0x16FC}, + [I(46,88)] = {14,0x17FC}, + [I(47,88)] = {14,0x18FC}, + [I(48,88)] = {13,0xFC}, + [I(49,88)] = {13,0x1FC}, + [I(50,88)] = {13,0x2FC}, + [I(51,88)] = {14,0x19FC}, + [I(52,88)] = {14,0x1AFC}, + [I(53,88)] = {14,0x1BFC}, + [I(54,88)] = {14,0x1CFC}, + [I(55,88)] = {14,0x1DFC}, + [I(56,88)] = {14,0x1EFC}, + [I(57,88)] = {14,0x1FFC}, + [I(58,88)] = {15,0x5CFC}, + [I(59,88)] = {16,0xFBFC}, + [I(60,88)] = {23,0x7FFCFC}, + [I(61,88)] = {14,0x20FC}, + [I(62,88)] = {20,0xFFBFC}, + [I(63,88)] = {18,0x3FCFC}, + [I(64,88)] = {21,0x1FFAFC}, + [I(65,88)] = {14,0x21FC}, + [I(66,88)] = {15,0x5DFC}, + [I(67,88)] = {15,0x5EFC}, + [I(68,88)] = {15,0x5FFC}, + [I(69,88)] = {15,0x60FC}, + [I(70,88)] = {15,0x61FC}, + [I(71,88)] = {15,0x62FC}, + [I(72,88)] = {15,0x63FC}, + [I(73,88)] = {15,0x64FC}, + [I(74,88)] = {15,0x65FC}, + [I(75,88)] = {15,0x66FC}, + [I(76,88)] = {15,0x67FC}, + [I(77,88)] = {15,0x68FC}, + [I(78,88)] = {15,0x69FC}, + [I(79,88)] = {15,0x6AFC}, + [I(80,88)] = {15,0x6BFC}, + [I(81,88)] = {15,0x6CFC}, + [I(82,88)] = {15,0x6DFC}, + [I(83,88)] = {15,0x6EFC}, + [I(84,88)] = {15,0x6FFC}, + [I(85,88)] = {15,0x70FC}, + [I(86,88)] = {15,0x71FC}, + [I(87,88)] = {15,0x72FC}, + [I(88,88)] = {16,0xFCFC}, + [I(89,88)] = {15,0x73FC}, + [I(90,88)] = {16,0xFDFC}, + [I(91,88)] = {21,0x1FFBFC}, + [I(92,88)] = {27,0x7FFF0FC}, + [I(93,88)] = {21,0x1FFCFC}, + [I(94,88)] = {22,0x3FFCFC}, + [I(95,88)] = {14,0x22FC}, + [I(96,88)] = {23,0x7FFDFC}, + [I(97,88)] = {13,0x3FC}, + [I(98,88)] = {14,0x23FC}, + [I(99,88)] = {13,0x4FC}, + [I(100,88)] = {14,0x24FC}, + [I(101,88)] = {13,0x5FC}, + [I(102,88)] = {14,0x25FC}, + [I(103,88)] = {14,0x26FC}, + [I(104,88)] = {14,0x27FC}, + [I(105,88)] = {13,0x6FC}, + [I(106,88)] = {15,0x74FC}, + [I(107,88)] = {15,0x75FC}, + [I(108,88)] = {14,0x28FC}, + [I(109,88)] = {14,0x29FC}, + [I(110,88)] = {14,0x2AFC}, + [I(111,88)] = {13,0x7FC}, + [I(112,88)] = {14,0x2BFC}, + [I(113,88)] = {15,0x76FC}, + [I(114,88)] = {14,0x2CFC}, + [I(115,88)] = {13,0x8FC}, + [I(116,88)] = {13,0x9FC}, + [I(117,88)] = {14,0x2DFC}, + [I(118,88)] = {15,0x77FC}, + [I(119,88)] = {15,0x78FC}, + [I(120,88)] = {15,0x79FC}, + [I(121,88)] = {15,0x7AFC}, + [I(122,88)] = {15,0x7BFC}, + [I(123,88)] = {23,0x7FFEFC}, + [I(124,88)] = {19,0x7FCFC}, + [I(125,88)] = {22,0x3FFDFC}, + [I(126,88)] = {21,0x1FFDFC}, + [I(127,88)] = {64,0}, + [I(128,88)] = {28,0xFFFE6FC}, + [I(129,88)] = {30,0x3FFFD2FC}, + [I(130,88)] = {28,0xFFFE7FC}, + [I(131,88)] = {28,0xFFFE8FC}, + [I(132,88)] = {30,0x3FFFD3FC}, + [I(133,88)] = {30,0x3FFFD4FC}, + [I(134,88)] = {30,0x3FFFD5FC}, + [I(135,88)] = {31,0x7FFFD9FC}, + [I(136,88)] = {30,0x3FFFD6FC}, + [I(137,88)] = {31,0x7FFFDAFC}, + [I(138,88)] = {31,0x7FFFDBFC}, + [I(139,88)] = {31,0x7FFFDCFC}, + [I(140,88)] = {31,0x7FFFDDFC}, + [I(141,88)] = {31,0x7FFFDEFC}, + [I(142,88)] = {X32,0xFFFFEBFC}, + [I(143,88)] = {31,0x7FFFDFFC}, + [I(144,88)] = {X32,0xFFFFECFC}, + [I(145,88)] = {X32,0xFFFFEDFC}, + [I(146,88)] = {30,0x3FFFD7FC}, + [I(147,88)] = {31,0x7FFFE0FC}, + [I(148,88)] = {X32,0xFFFFEEFC}, + [I(149,88)] = {31,0x7FFFE1FC}, + [I(150,88)] = {31,0x7FFFE2FC}, + [I(151,88)] = {31,0x7FFFE3FC}, + [I(152,88)] = {31,0x7FFFE4FC}, + [I(153,88)] = {29,0x1FFFDCFC}, + [I(154,88)] = {30,0x3FFFD8FC}, + [I(155,88)] = {31,0x7FFFE5FC}, + [I(156,88)] = {30,0x3FFFD9FC}, + [I(157,88)] = {31,0x7FFFE6FC}, + [I(158,88)] = {31,0x7FFFE7FC}, + [I(159,88)] = {X32,0xFFFFEFFC}, + [I(160,88)] = {30,0x3FFFDAFC}, + [I(161,88)] = {29,0x1FFFDDFC}, + [I(162,88)] = {28,0xFFFE9FC}, + [I(163,88)] = {30,0x3FFFDBFC}, + [I(164,88)] = {30,0x3FFFDCFC}, + [I(165,88)] = {31,0x7FFFE8FC}, + [I(166,88)] = {31,0x7FFFE9FC}, + [I(167,88)] = {29,0x1FFFDEFC}, + [I(168,88)] = {31,0x7FFFEAFC}, + [I(169,88)] = {30,0x3FFFDDFC}, + [I(170,88)] = {30,0x3FFFDEFC}, + [I(171,88)] = {X32,0xFFFFF0FC}, + [I(172,88)] = {29,0x1FFFDFFC}, + [I(173,88)] = {30,0x3FFFDFFC}, + [I(174,88)] = {31,0x7FFFEBFC}, + [I(175,88)] = {31,0x7FFFECFC}, + [I(176,88)] = {29,0x1FFFE0FC}, + [I(177,88)] = {29,0x1FFFE1FC}, + [I(178,88)] = {30,0x3FFFE0FC}, + [I(179,88)] = {29,0x1FFFE2FC}, + [I(180,88)] = {31,0x7FFFEDFC}, + [I(181,88)] = {30,0x3FFFE1FC}, + [I(182,88)] = {31,0x7FFFEEFC}, + [I(183,88)] = {31,0x7FFFEFFC}, + [I(184,88)] = {28,0xFFFEAFC}, + [I(185,88)] = {30,0x3FFFE2FC}, + [I(186,88)] = {30,0x3FFFE3FC}, + [I(187,88)] = {30,0x3FFFE4FC}, + [I(188,88)] = {31,0x7FFFF0FC}, + [I(189,88)] = {30,0x3FFFE5FC}, + [I(190,88)] = {30,0x3FFFE6FC}, + [I(191,88)] = {31,0x7FFFF1FC}, + [I(192,88)] = {64,0}, + [I(193,88)] = {64,0}, + [I(194,88)] = {28,0xFFFEBFC}, + [I(195,88)] = {27,0x7FFF1FC}, + [I(196,88)] = {30,0x3FFFE7FC}, + [I(197,88)] = {31,0x7FFFF2FC}, + [I(198,88)] = {30,0x3FFFE8FC}, + [I(199,88)] = {64,0}, + [I(200,88)] = {64,0}, + [I(201,88)] = {64,0}, + [I(202,88)] = {64,0}, + [I(203,88)] = {64,0}, + [I(204,88)] = {64,0}, + [I(205,88)] = {64,0}, + [I(206,88)] = {X32,0xFFFFF1FC}, + [I(207,88)] = {64,0}, + [I(208,88)] = {27,0x7FFF2FC}, + [I(209,88)] = {29,0x1FFFE3FC}, + [I(210,88)] = {64,0}, + [I(211,88)] = {64,0}, + [I(212,88)] = {64,0}, + [I(213,88)] = {64,0}, + [I(214,88)] = {64,0}, + [I(215,88)] = {X32,0xFFFFF2FC}, + [I(216,88)] = {29,0x1FFFE4FC}, + [I(217,88)] = {29,0x1FFFE5FC}, + [I(218,88)] = {64,0}, + [I(219,88)] = {64,0}, + [I(220,88)] = {64,0}, + [I(221,88)] = {64,0}, + [I(222,88)] = {64,0}, + [I(223,88)] = {64,0}, + [I(224,88)] = {28,0xFFFECFC}, + [I(225,88)] = {X32,0xFFFFF3FC}, + [I(226,88)] = {28,0xFFFEDFC}, + [I(227,88)] = {29,0x1FFFE6FC}, + [I(228,88)] = {30,0x3FFFE9FC}, + [I(229,88)] = {29,0x1FFFE7FC}, + [I(230,88)] = {29,0x1FFFE8FC}, + [I(231,88)] = {31,0x7FFFF3FC}, + [I(232,88)] = {30,0x3FFFEAFC}, + [I(233,88)] = {30,0x3FFFEBFC}, + [I(234,88)] = {64,0}, + [I(235,88)] = {64,0}, + [I(236,88)] = {X32,0xFFFFF4FC}, + [I(237,88)] = {X32,0xFFFFF5FC}, + [I(238,88)] = {64,0}, + [I(239,88)] = {31,0x7FFFF4FC}, + [I(240,88)] = {64,0}, + [I(241,88)] = {64,0}, + [I(242,88)] = {64,0}, + [I(243,88)] = {64,0}, + [I(244,88)] = {64,0}, + [I(245,88)] = {64,0}, + [I(246,88)] = {64,0}, + [I(247,88)] = {64,0}, + [I(248,88)] = {64,0}, + [I(249,88)] = {64,0}, + [I(250,88)] = {64,0}, + [I(251,88)] = {64,0}, + [I(252,88)] = {64,0}, + [I(253,88)] = {64,0}, + [I(254,88)] = {64,0}, + [I(255,88)] = {64,0}, + [I(0,89)] = {20,0xFFC73}, + [I(1,89)] = {30,0x3FFFEC73}, + [I(2,89)] = {64,0}, + [I(3,89)] = {64,0}, + [I(4,89)] = {64,0}, + [I(5,89)] = {64,0}, + [I(6,89)] = {64,0}, + [I(7,89)] = {64,0}, + [I(8,89)] = {64,0}, + [I(9,89)] = {31,0x7FFFF573}, + [I(10,89)] = {64,0}, + [I(11,89)] = {64,0}, + [I(12,89)] = {64,0}, + [I(13,89)] = {64,0}, + [I(14,89)] = {64,0}, + [I(15,89)] = {64,0}, + [I(16,89)] = {64,0}, + [I(17,89)] = {64,0}, + [I(18,89)] = {64,0}, + [I(19,89)] = {64,0}, + [I(20,89)] = {64,0}, + [I(21,89)] = {64,0}, + [I(22,89)] = {64,0}, + [I(23,89)] = {64,0}, + [I(24,89)] = {64,0}, + [I(25,89)] = {64,0}, + [I(26,89)] = {64,0}, + [I(27,89)] = {64,0}, + [I(28,89)] = {64,0}, + [I(29,89)] = {64,0}, + [I(30,89)] = {64,0}, + [I(31,89)] = {64,0}, + [I(32,89)] = {13,0xA73}, + [I(33,89)] = {17,0x1FC73}, + [I(34,89)] = {17,0x1FCF3}, + [I(35,89)] = {19,0x7FD73}, + [I(36,89)] = {20,0xFFCF3}, + [I(37,89)] = {13,0xAF3}, + [I(38,89)] = {15,0x7C73}, + [I(39,89)] = {18,0x3FD73}, + [I(40,89)] = {17,0x1FD73}, + [I(41,89)] = {17,0x1FDF3}, + [I(42,89)] = {15,0x7CF3}, + [I(43,89)] = {18,0x3FDF3}, + [I(44,89)] = {15,0x7D73}, + [I(45,89)] = {13,0xB73}, + [I(46,89)] = {13,0xBF3}, + [I(47,89)] = {13,0xC73}, + [I(48,89)] = {12,0x73}, + [I(49,89)] = {12,0xF3}, + [I(50,89)] = {12,0x173}, + [I(51,89)] = {13,0xCF3}, + [I(52,89)] = {13,0xD73}, + [I(53,89)] = {13,0xDF3}, + [I(54,89)] = {13,0xE73}, + [I(55,89)] = {13,0xEF3}, + [I(56,89)] = {13,0xF73}, + [I(57,89)] = {13,0xFF3}, + [I(58,89)] = {14,0x2E73}, + [I(59,89)] = {15,0x7DF3}, + [I(60,89)] = {22,0x3FFE73}, + [I(61,89)] = {13,0x1073}, + [I(62,89)] = {19,0x7FDF3}, + [I(63,89)] = {17,0x1FE73}, + [I(64,89)] = {20,0xFFD73}, + [I(65,89)] = {13,0x10F3}, + [I(66,89)] = {14,0x2EF3}, + [I(67,89)] = {14,0x2F73}, + [I(68,89)] = {14,0x2FF3}, + [I(69,89)] = {14,0x3073}, + [I(70,89)] = {14,0x30F3}, + [I(71,89)] = {14,0x3173}, + [I(72,89)] = {14,0x31F3}, + [I(73,89)] = {14,0x3273}, + [I(74,89)] = {14,0x32F3}, + [I(75,89)] = {14,0x3373}, + [I(76,89)] = {14,0x33F3}, + [I(77,89)] = {14,0x3473}, + [I(78,89)] = {14,0x34F3}, + [I(79,89)] = {14,0x3573}, + [I(80,89)] = {14,0x35F3}, + [I(81,89)] = {14,0x3673}, + [I(82,89)] = {14,0x36F3}, + [I(83,89)] = {14,0x3773}, + [I(84,89)] = {14,0x37F3}, + [I(85,89)] = {14,0x3873}, + [I(86,89)] = {14,0x38F3}, + [I(87,89)] = {14,0x3973}, + [I(88,89)] = {15,0x7E73}, + [I(89,89)] = {14,0x39F3}, + [I(90,89)] = {15,0x7EF3}, + [I(91,89)] = {20,0xFFDF3}, + [I(92,89)] = {26,0x3FFF873}, + [I(93,89)] = {20,0xFFE73}, + [I(94,89)] = {21,0x1FFE73}, + [I(95,89)] = {13,0x1173}, + [I(96,89)] = {22,0x3FFEF3}, + [I(97,89)] = {12,0x1F3}, + [I(98,89)] = {13,0x11F3}, + [I(99,89)] = {12,0x273}, + [I(100,89)] = {13,0x1273}, + [I(101,89)] = {12,0x2F3}, + [I(102,89)] = {13,0x12F3}, + [I(103,89)] = {13,0x1373}, + [I(104,89)] = {13,0x13F3}, + [I(105,89)] = {12,0x373}, + [I(106,89)] = {14,0x3A73}, + [I(107,89)] = {14,0x3AF3}, + [I(108,89)] = {13,0x1473}, + [I(109,89)] = {13,0x14F3}, + [I(110,89)] = {13,0x1573}, + [I(111,89)] = {12,0x3F3}, + [I(112,89)] = {13,0x15F3}, + [I(113,89)] = {14,0x3B73}, + [I(114,89)] = {13,0x1673}, + [I(115,89)] = {12,0x473}, + [I(116,89)] = {12,0x4F3}, + [I(117,89)] = {13,0x16F3}, + [I(118,89)] = {14,0x3BF3}, + [I(119,89)] = {14,0x3C73}, + [I(120,89)] = {14,0x3CF3}, + [I(121,89)] = {14,0x3D73}, + [I(122,89)] = {14,0x3DF3}, + [I(123,89)] = {22,0x3FFF73}, + [I(124,89)] = {18,0x3FE73}, + [I(125,89)] = {21,0x1FFEF3}, + [I(126,89)] = {20,0xFFEF3}, + [I(127,89)] = {64,0}, + [I(128,89)] = {27,0x7FFF373}, + [I(129,89)] = {29,0x1FFFE973}, + [I(130,89)] = {27,0x7FFF3F3}, + [I(131,89)] = {27,0x7FFF473}, + [I(132,89)] = {29,0x1FFFE9F3}, + [I(133,89)] = {29,0x1FFFEA73}, + [I(134,89)] = {29,0x1FFFEAF3}, + [I(135,89)] = {30,0x3FFFECF3}, + [I(136,89)] = {29,0x1FFFEB73}, + [I(137,89)] = {30,0x3FFFED73}, + [I(138,89)] = {30,0x3FFFEDF3}, + [I(139,89)] = {30,0x3FFFEE73}, + [I(140,89)] = {30,0x3FFFEEF3}, + [I(141,89)] = {30,0x3FFFEF73}, + [I(142,89)] = {31,0x7FFFF5F3}, + [I(143,89)] = {30,0x3FFFEFF3}, + [I(144,89)] = {31,0x7FFFF673}, + [I(145,89)] = {31,0x7FFFF6F3}, + [I(146,89)] = {29,0x1FFFEBF3}, + [I(147,89)] = {30,0x3FFFF073}, + [I(148,89)] = {31,0x7FFFF773}, + [I(149,89)] = {30,0x3FFFF0F3}, + [I(150,89)] = {30,0x3FFFF173}, + [I(151,89)] = {30,0x3FFFF1F3}, + [I(152,89)] = {30,0x3FFFF273}, + [I(153,89)] = {28,0xFFFEE73}, + [I(154,89)] = {29,0x1FFFEC73}, + [I(155,89)] = {30,0x3FFFF2F3}, + [I(156,89)] = {29,0x1FFFECF3}, + [I(157,89)] = {30,0x3FFFF373}, + [I(158,89)] = {30,0x3FFFF3F3}, + [I(159,89)] = {31,0x7FFFF7F3}, + [I(160,89)] = {29,0x1FFFED73}, + [I(161,89)] = {28,0xFFFEEF3}, + [I(162,89)] = {27,0x7FFF4F3}, + [I(163,89)] = {29,0x1FFFEDF3}, + [I(164,89)] = {29,0x1FFFEE73}, + [I(165,89)] = {30,0x3FFFF473}, + [I(166,89)] = {30,0x3FFFF4F3}, + [I(167,89)] = {28,0xFFFEF73}, + [I(168,89)] = {30,0x3FFFF573}, + [I(169,89)] = {29,0x1FFFEEF3}, + [I(170,89)] = {29,0x1FFFEF73}, + [I(171,89)] = {31,0x7FFFF873}, + [I(172,89)] = {28,0xFFFEFF3}, + [I(173,89)] = {29,0x1FFFEFF3}, + [I(174,89)] = {30,0x3FFFF5F3}, + [I(175,89)] = {30,0x3FFFF673}, + [I(176,89)] = {28,0xFFFF073}, + [I(177,89)] = {28,0xFFFF0F3}, + [I(178,89)] = {29,0x1FFFF073}, + [I(179,89)] = {28,0xFFFF173}, + [I(180,89)] = {30,0x3FFFF6F3}, + [I(181,89)] = {29,0x1FFFF0F3}, + [I(182,89)] = {30,0x3FFFF773}, + [I(183,89)] = {30,0x3FFFF7F3}, + [I(184,89)] = {27,0x7FFF573}, + [I(185,89)] = {29,0x1FFFF173}, + [I(186,89)] = {29,0x1FFFF1F3}, + [I(187,89)] = {29,0x1FFFF273}, + [I(188,89)] = {30,0x3FFFF873}, + [I(189,89)] = {29,0x1FFFF2F3}, + [I(190,89)] = {29,0x1FFFF373}, + [I(191,89)] = {30,0x3FFFF8F3}, + [I(192,89)] = {64,0}, + [I(193,89)] = {64,0}, + [I(194,89)] = {27,0x7FFF5F3}, + [I(195,89)] = {26,0x3FFF8F3}, + [I(196,89)] = {29,0x1FFFF3F3}, + [I(197,89)] = {30,0x3FFFF973}, + [I(198,89)] = {29,0x1FFFF473}, + [I(199,89)] = {X32,0xFFFFF673}, + [I(200,89)] = {64,0}, + [I(201,89)] = {64,0}, + [I(202,89)] = {64,0}, + [I(203,89)] = {64,0}, + [I(204,89)] = {64,0}, + [I(205,89)] = {64,0}, + [I(206,89)] = {31,0x7FFFF8F3}, + [I(207,89)] = {X32,0xFFFFF6F3}, + [I(208,89)] = {26,0x3FFF973}, + [I(209,89)] = {28,0xFFFF1F3}, + [I(210,89)] = {64,0}, + [I(211,89)] = {64,0}, + [I(212,89)] = {64,0}, + [I(213,89)] = {64,0}, + [I(214,89)] = {64,0}, + [I(215,89)] = {31,0x7FFFF973}, + [I(216,89)] = {28,0xFFFF273}, + [I(217,89)] = {28,0xFFFF2F3}, + [I(218,89)] = {64,0}, + [I(219,89)] = {64,0}, + [I(220,89)] = {64,0}, + [I(221,89)] = {64,0}, + [I(222,89)] = {64,0}, + [I(223,89)] = {64,0}, + [I(224,89)] = {27,0x7FFF673}, + [I(225,89)] = {31,0x7FFFF9F3}, + [I(226,89)] = {27,0x7FFF6F3}, + [I(227,89)] = {28,0xFFFF373}, + [I(228,89)] = {29,0x1FFFF4F3}, + [I(229,89)] = {28,0xFFFF3F3}, + [I(230,89)] = {28,0xFFFF473}, + [I(231,89)] = {30,0x3FFFF9F3}, + [I(232,89)] = {29,0x1FFFF573}, + [I(233,89)] = {29,0x1FFFF5F3}, + [I(234,89)] = {X32,0xFFFFF773}, + [I(235,89)] = {X32,0xFFFFF7F3}, + [I(236,89)] = {31,0x7FFFFA73}, + [I(237,89)] = {31,0x7FFFFAF3}, + [I(238,89)] = {64,0}, + [I(239,89)] = {30,0x3FFFFA73}, + [I(240,89)] = {64,0}, + [I(241,89)] = {64,0}, + [I(242,89)] = {64,0}, + [I(243,89)] = {64,0}, + [I(244,89)] = {64,0}, + [I(245,89)] = {64,0}, + [I(246,89)] = {64,0}, + [I(247,89)] = {64,0}, + [I(248,89)] = {64,0}, + [I(249,89)] = {64,0}, + [I(250,89)] = {64,0}, + [I(251,89)] = {64,0}, + [I(252,89)] = {64,0}, + [I(253,89)] = {64,0}, + [I(254,89)] = {64,0}, + [I(255,89)] = {64,0}, + [I(0,90)] = {21,0x1FF8FD}, + [I(1,90)] = {31,0x7FFFD8FD}, + [I(2,90)] = {64,0}, + [I(3,90)] = {64,0}, + [I(4,90)] = {64,0}, + [I(5,90)] = {64,0}, + [I(6,90)] = {64,0}, + [I(7,90)] = {64,0}, + [I(8,90)] = {64,0}, + [I(9,90)] = {X32,0xFFFFEAFD}, + [I(10,90)] = {64,0}, + [I(11,90)] = {64,0}, + [I(12,90)] = {64,0}, + [I(13,90)] = {64,0}, + [I(14,90)] = {64,0}, + [I(15,90)] = {64,0}, + [I(16,90)] = {64,0}, + [I(17,90)] = {64,0}, + [I(18,90)] = {64,0}, + [I(19,90)] = {64,0}, + [I(20,90)] = {64,0}, + [I(21,90)] = {64,0}, + [I(22,90)] = {64,0}, + [I(23,90)] = {64,0}, + [I(24,90)] = {64,0}, + [I(25,90)] = {64,0}, + [I(26,90)] = {64,0}, + [I(27,90)] = {64,0}, + [I(28,90)] = {64,0}, + [I(29,90)] = {64,0}, + [I(30,90)] = {64,0}, + [I(31,90)] = {64,0}, + [I(32,90)] = {14,0x14FD}, + [I(33,90)] = {18,0x3F8FD}, + [I(34,90)] = {18,0x3F9FD}, + [I(35,90)] = {20,0xFFAFD}, + [I(36,90)] = {21,0x1FF9FD}, + [I(37,90)] = {14,0x15FD}, + [I(38,90)] = {16,0xF8FD}, + [I(39,90)] = {19,0x7FAFD}, + [I(40,90)] = {18,0x3FAFD}, + [I(41,90)] = {18,0x3FBFD}, + [I(42,90)] = {16,0xF9FD}, + [I(43,90)] = {19,0x7FBFD}, + [I(44,90)] = {16,0xFAFD}, + [I(45,90)] = {14,0x16FD}, + [I(46,90)] = {14,0x17FD}, + [I(47,90)] = {14,0x18FD}, + [I(48,90)] = {13,0xFD}, + [I(49,90)] = {13,0x1FD}, + [I(50,90)] = {13,0x2FD}, + [I(51,90)] = {14,0x19FD}, + [I(52,90)] = {14,0x1AFD}, + [I(53,90)] = {14,0x1BFD}, + [I(54,90)] = {14,0x1CFD}, + [I(55,90)] = {14,0x1DFD}, + [I(56,90)] = {14,0x1EFD}, + [I(57,90)] = {14,0x1FFD}, + [I(58,90)] = {15,0x5CFD}, + [I(59,90)] = {16,0xFBFD}, + [I(60,90)] = {23,0x7FFCFD}, + [I(61,90)] = {14,0x20FD}, + [I(62,90)] = {20,0xFFBFD}, + [I(63,90)] = {18,0x3FCFD}, + [I(64,90)] = {21,0x1FFAFD}, + [I(65,90)] = {14,0x21FD}, + [I(66,90)] = {15,0x5DFD}, + [I(67,90)] = {15,0x5EFD}, + [I(68,90)] = {15,0x5FFD}, + [I(69,90)] = {15,0x60FD}, + [I(70,90)] = {15,0x61FD}, + [I(71,90)] = {15,0x62FD}, + [I(72,90)] = {15,0x63FD}, + [I(73,90)] = {15,0x64FD}, + [I(74,90)] = {15,0x65FD}, + [I(75,90)] = {15,0x66FD}, + [I(76,90)] = {15,0x67FD}, + [I(77,90)] = {15,0x68FD}, + [I(78,90)] = {15,0x69FD}, + [I(79,90)] = {15,0x6AFD}, + [I(80,90)] = {15,0x6BFD}, + [I(81,90)] = {15,0x6CFD}, + [I(82,90)] = {15,0x6DFD}, + [I(83,90)] = {15,0x6EFD}, + [I(84,90)] = {15,0x6FFD}, + [I(85,90)] = {15,0x70FD}, + [I(86,90)] = {15,0x71FD}, + [I(87,90)] = {15,0x72FD}, + [I(88,90)] = {16,0xFCFD}, + [I(89,90)] = {15,0x73FD}, + [I(90,90)] = {16,0xFDFD}, + [I(91,90)] = {21,0x1FFBFD}, + [I(92,90)] = {27,0x7FFF0FD}, + [I(93,90)] = {21,0x1FFCFD}, + [I(94,90)] = {22,0x3FFCFD}, + [I(95,90)] = {14,0x22FD}, + [I(96,90)] = {23,0x7FFDFD}, + [I(97,90)] = {13,0x3FD}, + [I(98,90)] = {14,0x23FD}, + [I(99,90)] = {13,0x4FD}, + [I(100,90)] = {14,0x24FD}, + [I(101,90)] = {13,0x5FD}, + [I(102,90)] = {14,0x25FD}, + [I(103,90)] = {14,0x26FD}, + [I(104,90)] = {14,0x27FD}, + [I(105,90)] = {13,0x6FD}, + [I(106,90)] = {15,0x74FD}, + [I(107,90)] = {15,0x75FD}, + [I(108,90)] = {14,0x28FD}, + [I(109,90)] = {14,0x29FD}, + [I(110,90)] = {14,0x2AFD}, + [I(111,90)] = {13,0x7FD}, + [I(112,90)] = {14,0x2BFD}, + [I(113,90)] = {15,0x76FD}, + [I(114,90)] = {14,0x2CFD}, + [I(115,90)] = {13,0x8FD}, + [I(116,90)] = {13,0x9FD}, + [I(117,90)] = {14,0x2DFD}, + [I(118,90)] = {15,0x77FD}, + [I(119,90)] = {15,0x78FD}, + [I(120,90)] = {15,0x79FD}, + [I(121,90)] = {15,0x7AFD}, + [I(122,90)] = {15,0x7BFD}, + [I(123,90)] = {23,0x7FFEFD}, + [I(124,90)] = {19,0x7FCFD}, + [I(125,90)] = {22,0x3FFDFD}, + [I(126,90)] = {21,0x1FFDFD}, + [I(127,90)] = {64,0}, + [I(128,90)] = {28,0xFFFE6FD}, + [I(129,90)] = {30,0x3FFFD2FD}, + [I(130,90)] = {28,0xFFFE7FD}, + [I(131,90)] = {28,0xFFFE8FD}, + [I(132,90)] = {30,0x3FFFD3FD}, + [I(133,90)] = {30,0x3FFFD4FD}, + [I(134,90)] = {30,0x3FFFD5FD}, + [I(135,90)] = {31,0x7FFFD9FD}, + [I(136,90)] = {30,0x3FFFD6FD}, + [I(137,90)] = {31,0x7FFFDAFD}, + [I(138,90)] = {31,0x7FFFDBFD}, + [I(139,90)] = {31,0x7FFFDCFD}, + [I(140,90)] = {31,0x7FFFDDFD}, + [I(141,90)] = {31,0x7FFFDEFD}, + [I(142,90)] = {X32,0xFFFFEBFD}, + [I(143,90)] = {31,0x7FFFDFFD}, + [I(144,90)] = {X32,0xFFFFECFD}, + [I(145,90)] = {X32,0xFFFFEDFD}, + [I(146,90)] = {30,0x3FFFD7FD}, + [I(147,90)] = {31,0x7FFFE0FD}, + [I(148,90)] = {X32,0xFFFFEEFD}, + [I(149,90)] = {31,0x7FFFE1FD}, + [I(150,90)] = {31,0x7FFFE2FD}, + [I(151,90)] = {31,0x7FFFE3FD}, + [I(152,90)] = {31,0x7FFFE4FD}, + [I(153,90)] = {29,0x1FFFDCFD}, + [I(154,90)] = {30,0x3FFFD8FD}, + [I(155,90)] = {31,0x7FFFE5FD}, + [I(156,90)] = {30,0x3FFFD9FD}, + [I(157,90)] = {31,0x7FFFE6FD}, + [I(158,90)] = {31,0x7FFFE7FD}, + [I(159,90)] = {X32,0xFFFFEFFD}, + [I(160,90)] = {30,0x3FFFDAFD}, + [I(161,90)] = {29,0x1FFFDDFD}, + [I(162,90)] = {28,0xFFFE9FD}, + [I(163,90)] = {30,0x3FFFDBFD}, + [I(164,90)] = {30,0x3FFFDCFD}, + [I(165,90)] = {31,0x7FFFE8FD}, + [I(166,90)] = {31,0x7FFFE9FD}, + [I(167,90)] = {29,0x1FFFDEFD}, + [I(168,90)] = {31,0x7FFFEAFD}, + [I(169,90)] = {30,0x3FFFDDFD}, + [I(170,90)] = {30,0x3FFFDEFD}, + [I(171,90)] = {X32,0xFFFFF0FD}, + [I(172,90)] = {29,0x1FFFDFFD}, + [I(173,90)] = {30,0x3FFFDFFD}, + [I(174,90)] = {31,0x7FFFEBFD}, + [I(175,90)] = {31,0x7FFFECFD}, + [I(176,90)] = {29,0x1FFFE0FD}, + [I(177,90)] = {29,0x1FFFE1FD}, + [I(178,90)] = {30,0x3FFFE0FD}, + [I(179,90)] = {29,0x1FFFE2FD}, + [I(180,90)] = {31,0x7FFFEDFD}, + [I(181,90)] = {30,0x3FFFE1FD}, + [I(182,90)] = {31,0x7FFFEEFD}, + [I(183,90)] = {31,0x7FFFEFFD}, + [I(184,90)] = {28,0xFFFEAFD}, + [I(185,90)] = {30,0x3FFFE2FD}, + [I(186,90)] = {30,0x3FFFE3FD}, + [I(187,90)] = {30,0x3FFFE4FD}, + [I(188,90)] = {31,0x7FFFF0FD}, + [I(189,90)] = {30,0x3FFFE5FD}, + [I(190,90)] = {30,0x3FFFE6FD}, + [I(191,90)] = {31,0x7FFFF1FD}, + [I(192,90)] = {64,0}, + [I(193,90)] = {64,0}, + [I(194,90)] = {28,0xFFFEBFD}, + [I(195,90)] = {27,0x7FFF1FD}, + [I(196,90)] = {30,0x3FFFE7FD}, + [I(197,90)] = {31,0x7FFFF2FD}, + [I(198,90)] = {30,0x3FFFE8FD}, + [I(199,90)] = {64,0}, + [I(200,90)] = {64,0}, + [I(201,90)] = {64,0}, + [I(202,90)] = {64,0}, + [I(203,90)] = {64,0}, + [I(204,90)] = {64,0}, + [I(205,90)] = {64,0}, + [I(206,90)] = {X32,0xFFFFF1FD}, + [I(207,90)] = {64,0}, + [I(208,90)] = {27,0x7FFF2FD}, + [I(209,90)] = {29,0x1FFFE3FD}, + [I(210,90)] = {64,0}, + [I(211,90)] = {64,0}, + [I(212,90)] = {64,0}, + [I(213,90)] = {64,0}, + [I(214,90)] = {64,0}, + [I(215,90)] = {X32,0xFFFFF2FD}, + [I(216,90)] = {29,0x1FFFE4FD}, + [I(217,90)] = {29,0x1FFFE5FD}, + [I(218,90)] = {64,0}, + [I(219,90)] = {64,0}, + [I(220,90)] = {64,0}, + [I(221,90)] = {64,0}, + [I(222,90)] = {64,0}, + [I(223,90)] = {64,0}, + [I(224,90)] = {28,0xFFFECFD}, + [I(225,90)] = {X32,0xFFFFF3FD}, + [I(226,90)] = {28,0xFFFEDFD}, + [I(227,90)] = {29,0x1FFFE6FD}, + [I(228,90)] = {30,0x3FFFE9FD}, + [I(229,90)] = {29,0x1FFFE7FD}, + [I(230,90)] = {29,0x1FFFE8FD}, + [I(231,90)] = {31,0x7FFFF3FD}, + [I(232,90)] = {30,0x3FFFEAFD}, + [I(233,90)] = {30,0x3FFFEBFD}, + [I(234,90)] = {64,0}, + [I(235,90)] = {64,0}, + [I(236,90)] = {X32,0xFFFFF4FD}, + [I(237,90)] = {X32,0xFFFFF5FD}, + [I(238,90)] = {64,0}, + [I(239,90)] = {31,0x7FFFF4FD}, + [I(240,90)] = {64,0}, + [I(241,90)] = {64,0}, + [I(242,90)] = {64,0}, + [I(243,90)] = {64,0}, + [I(244,90)] = {64,0}, + [I(245,90)] = {64,0}, + [I(246,90)] = {64,0}, + [I(247,90)] = {64,0}, + [I(248,90)] = {64,0}, + [I(249,90)] = {64,0}, + [I(250,90)] = {64,0}, + [I(251,90)] = {64,0}, + [I(252,90)] = {64,0}, + [I(253,90)] = {64,0}, + [I(254,90)] = {64,0}, + [I(255,90)] = {64,0}, + [I(0,91)] = {26,0x3FF1FFB}, + [I(1,91)] = {64,0}, + [I(2,91)] = {64,0}, + [I(3,91)] = {64,0}, + [I(4,91)] = {64,0}, + [I(5,91)] = {64,0}, + [I(6,91)] = {64,0}, + [I(7,91)] = {64,0}, + [I(8,91)] = {64,0}, + [I(9,91)] = {64,0}, + [I(10,91)] = {64,0}, + [I(11,91)] = {64,0}, + [I(12,91)] = {64,0}, + [I(13,91)] = {64,0}, + [I(14,91)] = {64,0}, + [I(15,91)] = {64,0}, + [I(16,91)] = {64,0}, + [I(17,91)] = {64,0}, + [I(18,91)] = {64,0}, + [I(19,91)] = {64,0}, + [I(20,91)] = {64,0}, + [I(21,91)] = {64,0}, + [I(22,91)] = {64,0}, + [I(23,91)] = {64,0}, + [I(24,91)] = {64,0}, + [I(25,91)] = {64,0}, + [I(26,91)] = {64,0}, + [I(27,91)] = {64,0}, + [I(28,91)] = {64,0}, + [I(29,91)] = {64,0}, + [I(30,91)] = {64,0}, + [I(31,91)] = {64,0}, + [I(32,91)] = {19,0x29FFB}, + [I(33,91)] = {23,0x7F1FFB}, + [I(34,91)] = {23,0x7F3FFB}, + [I(35,91)] = {25,0x1FF5FFB}, + [I(36,91)] = {26,0x3FF3FFB}, + [I(37,91)] = {19,0x2BFFB}, + [I(38,91)] = {21,0x1F1FFB}, + [I(39,91)] = {24,0xFF5FFB}, + [I(40,91)] = {23,0x7F5FFB}, + [I(41,91)] = {23,0x7F7FFB}, + [I(42,91)] = {21,0x1F3FFB}, + [I(43,91)] = {24,0xFF7FFB}, + [I(44,91)] = {21,0x1F5FFB}, + [I(45,91)] = {19,0x2DFFB}, + [I(46,91)] = {19,0x2FFFB}, + [I(47,91)] = {19,0x31FFB}, + [I(48,91)] = {18,0x1FFB}, + [I(49,91)] = {18,0x3FFB}, + [I(50,91)] = {18,0x5FFB}, + [I(51,91)] = {19,0x33FFB}, + [I(52,91)] = {19,0x35FFB}, + [I(53,91)] = {19,0x37FFB}, + [I(54,91)] = {19,0x39FFB}, + [I(55,91)] = {19,0x3BFFB}, + [I(56,91)] = {19,0x3DFFB}, + [I(57,91)] = {19,0x3FFFB}, + [I(58,91)] = {20,0xB9FFB}, + [I(59,91)] = {21,0x1F7FFB}, + [I(60,91)] = {28,0xFFF9FFB}, + [I(61,91)] = {19,0x41FFB}, + [I(62,91)] = {25,0x1FF7FFB}, + [I(63,91)] = {23,0x7F9FFB}, + [I(64,91)] = {26,0x3FF5FFB}, + [I(65,91)] = {19,0x43FFB}, + [I(66,91)] = {20,0xBBFFB}, + [I(67,91)] = {20,0xBDFFB}, + [I(68,91)] = {20,0xBFFFB}, + [I(69,91)] = {20,0xC1FFB}, + [I(70,91)] = {20,0xC3FFB}, + [I(71,91)] = {20,0xC5FFB}, + [I(72,91)] = {20,0xC7FFB}, + [I(73,91)] = {20,0xC9FFB}, + [I(74,91)] = {20,0xCBFFB}, + [I(75,91)] = {20,0xCDFFB}, + [I(76,91)] = {20,0xCFFFB}, + [I(77,91)] = {20,0xD1FFB}, + [I(78,91)] = {20,0xD3FFB}, + [I(79,91)] = {20,0xD5FFB}, + [I(80,91)] = {20,0xD7FFB}, + [I(81,91)] = {20,0xD9FFB}, + [I(82,91)] = {20,0xDBFFB}, + [I(83,91)] = {20,0xDDFFB}, + [I(84,91)] = {20,0xDFFFB}, + [I(85,91)] = {20,0xE1FFB}, + [I(86,91)] = {20,0xE3FFB}, + [I(87,91)] = {20,0xE5FFB}, + [I(88,91)] = {21,0x1F9FFB}, + [I(89,91)] = {20,0xE7FFB}, + [I(90,91)] = {21,0x1FBFFB}, + [I(91,91)] = {26,0x3FF7FFB}, + [I(92,91)] = {X32,0xFFFE1FFB}, + [I(93,91)] = {26,0x3FF9FFB}, + [I(94,91)] = {27,0x7FF9FFB}, + [I(95,91)] = {19,0x45FFB}, + [I(96,91)] = {28,0xFFFBFFB}, + [I(97,91)] = {18,0x7FFB}, + [I(98,91)] = {19,0x47FFB}, + [I(99,91)] = {18,0x9FFB}, + [I(100,91)] = {19,0x49FFB}, + [I(101,91)] = {18,0xBFFB}, + [I(102,91)] = {19,0x4BFFB}, + [I(103,91)] = {19,0x4DFFB}, + [I(104,91)] = {19,0x4FFFB}, + [I(105,91)] = {18,0xDFFB}, + [I(106,91)] = {20,0xE9FFB}, + [I(107,91)] = {20,0xEBFFB}, + [I(108,91)] = {19,0x51FFB}, + [I(109,91)] = {19,0x53FFB}, + [I(110,91)] = {19,0x55FFB}, + [I(111,91)] = {18,0xFFFB}, + [I(112,91)] = {19,0x57FFB}, + [I(113,91)] = {20,0xEDFFB}, + [I(114,91)] = {19,0x59FFB}, + [I(115,91)] = {18,0x11FFB}, + [I(116,91)] = {18,0x13FFB}, + [I(117,91)] = {19,0x5BFFB}, + [I(118,91)] = {20,0xEFFFB}, + [I(119,91)] = {20,0xF1FFB}, + [I(120,91)] = {20,0xF3FFB}, + [I(121,91)] = {20,0xF5FFB}, + [I(122,91)] = {20,0xF7FFB}, + [I(123,91)] = {28,0xFFFDFFB}, + [I(124,91)] = {24,0xFF9FFB}, + [I(125,91)] = {27,0x7FFBFFB}, + [I(126,91)] = {26,0x3FFBFFB}, + [I(127,91)] = {64,0}, + [I(128,91)] = {64,0}, + [I(129,91)] = {64,0}, + [I(130,91)] = {64,0}, + [I(131,91)] = {64,0}, + [I(132,91)] = {64,0}, + [I(133,91)] = {64,0}, + [I(134,91)] = {64,0}, + [I(135,91)] = {64,0}, + [I(136,91)] = {64,0}, + [I(137,91)] = {64,0}, + [I(138,91)] = {64,0}, + [I(139,91)] = {64,0}, + [I(140,91)] = {64,0}, + [I(141,91)] = {64,0}, + [I(142,91)] = {64,0}, + [I(143,91)] = {64,0}, + [I(144,91)] = {64,0}, + [I(145,91)] = {64,0}, + [I(146,91)] = {64,0}, + [I(147,91)] = {64,0}, + [I(148,91)] = {64,0}, + [I(149,91)] = {64,0}, + [I(150,91)] = {64,0}, + [I(151,91)] = {64,0}, + [I(152,91)] = {64,0}, + [I(153,91)] = {64,0}, + [I(154,91)] = {64,0}, + [I(155,91)] = {64,0}, + [I(156,91)] = {64,0}, + [I(157,91)] = {64,0}, + [I(158,91)] = {64,0}, + [I(159,91)] = {64,0}, + [I(160,91)] = {64,0}, + [I(161,91)] = {64,0}, + [I(162,91)] = {64,0}, + [I(163,91)] = {64,0}, + [I(164,91)] = {64,0}, + [I(165,91)] = {64,0}, + [I(166,91)] = {64,0}, + [I(167,91)] = {64,0}, + [I(168,91)] = {64,0}, + [I(169,91)] = {64,0}, + [I(170,91)] = {64,0}, + [I(171,91)] = {64,0}, + [I(172,91)] = {64,0}, + [I(173,91)] = {64,0}, + [I(174,91)] = {64,0}, + [I(175,91)] = {64,0}, + [I(176,91)] = {64,0}, + [I(177,91)] = {64,0}, + [I(178,91)] = {64,0}, + [I(179,91)] = {64,0}, + [I(180,91)] = {64,0}, + [I(181,91)] = {64,0}, + [I(182,91)] = {64,0}, + [I(183,91)] = {64,0}, + [I(184,91)] = {64,0}, + [I(185,91)] = {64,0}, + [I(186,91)] = {64,0}, + [I(187,91)] = {64,0}, + [I(188,91)] = {64,0}, + [I(189,91)] = {64,0}, + [I(190,91)] = {64,0}, + [I(191,91)] = {64,0}, + [I(192,91)] = {64,0}, + [I(193,91)] = {64,0}, + [I(194,91)] = {64,0}, + [I(195,91)] = {X32,0xFFFE3FFB}, + [I(196,91)] = {64,0}, + [I(197,91)] = {64,0}, + [I(198,91)] = {64,0}, + [I(199,91)] = {64,0}, + [I(200,91)] = {64,0}, + [I(201,91)] = {64,0}, + [I(202,91)] = {64,0}, + [I(203,91)] = {64,0}, + [I(204,91)] = {64,0}, + [I(205,91)] = {64,0}, + [I(206,91)] = {64,0}, + [I(207,91)] = {64,0}, + [I(208,91)] = {X32,0xFFFE5FFB}, + [I(209,91)] = {64,0}, + [I(210,91)] = {64,0}, + [I(211,91)] = {64,0}, + [I(212,91)] = {64,0}, + [I(213,91)] = {64,0}, + [I(214,91)] = {64,0}, + [I(215,91)] = {64,0}, + [I(216,91)] = {64,0}, + [I(217,91)] = {64,0}, + [I(218,91)] = {64,0}, + [I(219,91)] = {64,0}, + [I(220,91)] = {64,0}, + [I(221,91)] = {64,0}, + [I(222,91)] = {64,0}, + [I(223,91)] = {64,0}, + [I(224,91)] = {64,0}, + [I(225,91)] = {64,0}, + [I(226,91)] = {64,0}, + [I(227,91)] = {64,0}, + [I(228,91)] = {64,0}, + [I(229,91)] = {64,0}, + [I(230,91)] = {64,0}, + [I(231,91)] = {64,0}, + [I(232,91)] = {64,0}, + [I(233,91)] = {64,0}, + [I(234,91)] = {64,0}, + [I(235,91)] = {64,0}, + [I(236,91)] = {64,0}, + [I(237,91)] = {64,0}, + [I(238,91)] = {64,0}, + [I(239,91)] = {64,0}, + [I(240,91)] = {64,0}, + [I(241,91)] = {64,0}, + [I(242,91)] = {64,0}, + [I(243,91)] = {64,0}, + [I(244,91)] = {64,0}, + [I(245,91)] = {64,0}, + [I(246,91)] = {64,0}, + [I(247,91)] = {64,0}, + [I(248,91)] = {64,0}, + [I(249,91)] = {64,0}, + [I(250,91)] = {64,0}, + [I(251,91)] = {64,0}, + [I(252,91)] = {64,0}, + [I(253,91)] = {64,0}, + [I(254,91)] = {64,0}, + [I(255,91)] = {64,0}, + [I(0,92)] = {X32,0xFFC7FFF0}, + [I(1,92)] = {64,0}, + [I(2,92)] = {64,0}, + [I(3,92)] = {64,0}, + [I(4,92)] = {64,0}, + [I(5,92)] = {64,0}, + [I(6,92)] = {64,0}, + [I(7,92)] = {64,0}, + [I(8,92)] = {64,0}, + [I(9,92)] = {64,0}, + [I(10,92)] = {64,0}, + [I(11,92)] = {64,0}, + [I(12,92)] = {64,0}, + [I(13,92)] = {64,0}, + [I(14,92)] = {64,0}, + [I(15,92)] = {64,0}, + [I(16,92)] = {64,0}, + [I(17,92)] = {64,0}, + [I(18,92)] = {64,0}, + [I(19,92)] = {64,0}, + [I(20,92)] = {64,0}, + [I(21,92)] = {64,0}, + [I(22,92)] = {64,0}, + [I(23,92)] = {64,0}, + [I(24,92)] = {64,0}, + [I(25,92)] = {64,0}, + [I(26,92)] = {64,0}, + [I(27,92)] = {64,0}, + [I(28,92)] = {64,0}, + [I(29,92)] = {64,0}, + [I(30,92)] = {64,0}, + [I(31,92)] = {64,0}, + [I(32,92)] = {25,0xA7FFF0}, + [I(33,92)] = {29,0x1FC7FFF0}, + [I(34,92)] = {29,0x1FCFFFF0}, + [I(35,92)] = {31,0x7FD7FFF0}, + [I(36,92)] = {X32,0xFFCFFFF0}, + [I(37,92)] = {25,0xAFFFF0}, + [I(38,92)] = {27,0x7C7FFF0}, + [I(39,92)] = {30,0x3FD7FFF0}, + [I(40,92)] = {29,0x1FD7FFF0}, + [I(41,92)] = {29,0x1FDFFFF0}, + [I(42,92)] = {27,0x7CFFFF0}, + [I(43,92)] = {30,0x3FDFFFF0}, + [I(44,92)] = {27,0x7D7FFF0}, + [I(45,92)] = {25,0xB7FFF0}, + [I(46,92)] = {25,0xBFFFF0}, + [I(47,92)] = {25,0xC7FFF0}, + [I(48,92)] = {24,0x7FFF0}, + [I(49,92)] = {24,0xFFFF0}, + [I(50,92)] = {24,0x17FFF0}, + [I(51,92)] = {25,0xCFFFF0}, + [I(52,92)] = {25,0xD7FFF0}, + [I(53,92)] = {25,0xDFFFF0}, + [I(54,92)] = {25,0xE7FFF0}, + [I(55,92)] = {25,0xEFFFF0}, + [I(56,92)] = {25,0xF7FFF0}, + [I(57,92)] = {25,0xFFFFF0}, + [I(58,92)] = {26,0x2E7FFF0}, + [I(59,92)] = {27,0x7DFFFF0}, + [I(60,92)] = {64,0}, + [I(61,92)] = {25,0x107FFF0}, + [I(62,92)] = {31,0x7FDFFFF0}, + [I(63,92)] = {29,0x1FE7FFF0}, + [I(64,92)] = {X32,0xFFD7FFF0}, + [I(65,92)] = {25,0x10FFFF0}, + [I(66,92)] = {26,0x2EFFFF0}, + [I(67,92)] = {26,0x2F7FFF0}, + [I(68,92)] = {26,0x2FFFFF0}, + [I(69,92)] = {26,0x307FFF0}, + [I(70,92)] = {26,0x30FFFF0}, + [I(71,92)] = {26,0x317FFF0}, + [I(72,92)] = {26,0x31FFFF0}, + [I(73,92)] = {26,0x327FFF0}, + [I(74,92)] = {26,0x32FFFF0}, + [I(75,92)] = {26,0x337FFF0}, + [I(76,92)] = {26,0x33FFFF0}, + [I(77,92)] = {26,0x347FFF0}, + [I(78,92)] = {26,0x34FFFF0}, + [I(79,92)] = {26,0x357FFF0}, + [I(80,92)] = {26,0x35FFFF0}, + [I(81,92)] = {26,0x367FFF0}, + [I(82,92)] = {26,0x36FFFF0}, + [I(83,92)] = {26,0x377FFF0}, + [I(84,92)] = {26,0x37FFFF0}, + [I(85,92)] = {26,0x387FFF0}, + [I(86,92)] = {26,0x38FFFF0}, + [I(87,92)] = {26,0x397FFF0}, + [I(88,92)] = {27,0x7E7FFF0}, + [I(89,92)] = {26,0x39FFFF0}, + [I(90,92)] = {27,0x7EFFFF0}, + [I(91,92)] = {X32,0xFFDFFFF0}, + [I(92,92)] = {64,0}, + [I(93,92)] = {X32,0xFFE7FFF0}, + [I(94,92)] = {64,0}, + [I(95,92)] = {25,0x117FFF0}, + [I(96,92)] = {64,0}, + [I(97,92)] = {24,0x1FFFF0}, + [I(98,92)] = {25,0x11FFFF0}, + [I(99,92)] = {24,0x27FFF0}, + [I(100,92)] = {25,0x127FFF0}, + [I(101,92)] = {24,0x2FFFF0}, + [I(102,92)] = {25,0x12FFFF0}, + [I(103,92)] = {25,0x137FFF0}, + [I(104,92)] = {25,0x13FFFF0}, + [I(105,92)] = {24,0x37FFF0}, + [I(106,92)] = {26,0x3A7FFF0}, + [I(107,92)] = {26,0x3AFFFF0}, + [I(108,92)] = {25,0x147FFF0}, + [I(109,92)] = {25,0x14FFFF0}, + [I(110,92)] = {25,0x157FFF0}, + [I(111,92)] = {24,0x3FFFF0}, + [I(112,92)] = {25,0x15FFFF0}, + [I(113,92)] = {26,0x3B7FFF0}, + [I(114,92)] = {25,0x167FFF0}, + [I(115,92)] = {24,0x47FFF0}, + [I(116,92)] = {24,0x4FFFF0}, + [I(117,92)] = {25,0x16FFFF0}, + [I(118,92)] = {26,0x3BFFFF0}, + [I(119,92)] = {26,0x3C7FFF0}, + [I(120,92)] = {26,0x3CFFFF0}, + [I(121,92)] = {26,0x3D7FFF0}, + [I(122,92)] = {26,0x3DFFFF0}, + [I(123,92)] = {64,0}, + [I(124,92)] = {30,0x3FE7FFF0}, + [I(125,92)] = {64,0}, + [I(126,92)] = {X32,0xFFEFFFF0}, + [I(127,92)] = {64,0}, + [I(128,92)] = {64,0}, + [I(129,92)] = {64,0}, + [I(130,92)] = {64,0}, + [I(131,92)] = {64,0}, + [I(132,92)] = {64,0}, + [I(133,92)] = {64,0}, + [I(134,92)] = {64,0}, + [I(135,92)] = {64,0}, + [I(136,92)] = {64,0}, + [I(137,92)] = {64,0}, + [I(138,92)] = {64,0}, + [I(139,92)] = {64,0}, + [I(140,92)] = {64,0}, + [I(141,92)] = {64,0}, + [I(142,92)] = {64,0}, + [I(143,92)] = {64,0}, + [I(144,92)] = {64,0}, + [I(145,92)] = {64,0}, + [I(146,92)] = {64,0}, + [I(147,92)] = {64,0}, + [I(148,92)] = {64,0}, + [I(149,92)] = {64,0}, + [I(150,92)] = {64,0}, + [I(151,92)] = {64,0}, + [I(152,92)] = {64,0}, + [I(153,92)] = {64,0}, + [I(154,92)] = {64,0}, + [I(155,92)] = {64,0}, + [I(156,92)] = {64,0}, + [I(157,92)] = {64,0}, + [I(158,92)] = {64,0}, + [I(159,92)] = {64,0}, + [I(160,92)] = {64,0}, + [I(161,92)] = {64,0}, + [I(162,92)] = {64,0}, + [I(163,92)] = {64,0}, + [I(164,92)] = {64,0}, + [I(165,92)] = {64,0}, + [I(166,92)] = {64,0}, + [I(167,92)] = {64,0}, + [I(168,92)] = {64,0}, + [I(169,92)] = {64,0}, + [I(170,92)] = {64,0}, + [I(171,92)] = {64,0}, + [I(172,92)] = {64,0}, + [I(173,92)] = {64,0}, + [I(174,92)] = {64,0}, + [I(175,92)] = {64,0}, + [I(176,92)] = {64,0}, + [I(177,92)] = {64,0}, + [I(178,92)] = {64,0}, + [I(179,92)] = {64,0}, + [I(180,92)] = {64,0}, + [I(181,92)] = {64,0}, + [I(182,92)] = {64,0}, + [I(183,92)] = {64,0}, + [I(184,92)] = {64,0}, + [I(185,92)] = {64,0}, + [I(186,92)] = {64,0}, + [I(187,92)] = {64,0}, + [I(188,92)] = {64,0}, + [I(189,92)] = {64,0}, + [I(190,92)] = {64,0}, + [I(191,92)] = {64,0}, + [I(192,92)] = {64,0}, + [I(193,92)] = {64,0}, + [I(194,92)] = {64,0}, + [I(195,92)] = {64,0}, + [I(196,92)] = {64,0}, + [I(197,92)] = {64,0}, + [I(198,92)] = {64,0}, + [I(199,92)] = {64,0}, + [I(200,92)] = {64,0}, + [I(201,92)] = {64,0}, + [I(202,92)] = {64,0}, + [I(203,92)] = {64,0}, + [I(204,92)] = {64,0}, + [I(205,92)] = {64,0}, + [I(206,92)] = {64,0}, + [I(207,92)] = {64,0}, + [I(208,92)] = {64,0}, + [I(209,92)] = {64,0}, + [I(210,92)] = {64,0}, + [I(211,92)] = {64,0}, + [I(212,92)] = {64,0}, + [I(213,92)] = {64,0}, + [I(214,92)] = {64,0}, + [I(215,92)] = {64,0}, + [I(216,92)] = {64,0}, + [I(217,92)] = {64,0}, + [I(218,92)] = {64,0}, + [I(219,92)] = {64,0}, + [I(220,92)] = {64,0}, + [I(221,92)] = {64,0}, + [I(222,92)] = {64,0}, + [I(223,92)] = {64,0}, + [I(224,92)] = {64,0}, + [I(225,92)] = {64,0}, + [I(226,92)] = {64,0}, + [I(227,92)] = {64,0}, + [I(228,92)] = {64,0}, + [I(229,92)] = {64,0}, + [I(230,92)] = {64,0}, + [I(231,92)] = {64,0}, + [I(232,92)] = {64,0}, + [I(233,92)] = {64,0}, + [I(234,92)] = {64,0}, + [I(235,92)] = {64,0}, + [I(236,92)] = {64,0}, + [I(237,92)] = {64,0}, + [I(238,92)] = {64,0}, + [I(239,92)] = {64,0}, + [I(240,92)] = {64,0}, + [I(241,92)] = {64,0}, + [I(242,92)] = {64,0}, + [I(243,92)] = {64,0}, + [I(244,92)] = {64,0}, + [I(245,92)] = {64,0}, + [I(246,92)] = {64,0}, + [I(247,92)] = {64,0}, + [I(248,92)] = {64,0}, + [I(249,92)] = {64,0}, + [I(250,92)] = {64,0}, + [I(251,92)] = {64,0}, + [I(252,92)] = {64,0}, + [I(253,92)] = {64,0}, + [I(254,92)] = {64,0}, + [I(255,92)] = {64,0}, + [I(0,93)] = {26,0x3FF1FFC}, + [I(1,93)] = {64,0}, + [I(2,93)] = {64,0}, + [I(3,93)] = {64,0}, + [I(4,93)] = {64,0}, + [I(5,93)] = {64,0}, + [I(6,93)] = {64,0}, + [I(7,93)] = {64,0}, + [I(8,93)] = {64,0}, + [I(9,93)] = {64,0}, + [I(10,93)] = {64,0}, + [I(11,93)] = {64,0}, + [I(12,93)] = {64,0}, + [I(13,93)] = {64,0}, + [I(14,93)] = {64,0}, + [I(15,93)] = {64,0}, + [I(16,93)] = {64,0}, + [I(17,93)] = {64,0}, + [I(18,93)] = {64,0}, + [I(19,93)] = {64,0}, + [I(20,93)] = {64,0}, + [I(21,93)] = {64,0}, + [I(22,93)] = {64,0}, + [I(23,93)] = {64,0}, + [I(24,93)] = {64,0}, + [I(25,93)] = {64,0}, + [I(26,93)] = {64,0}, + [I(27,93)] = {64,0}, + [I(28,93)] = {64,0}, + [I(29,93)] = {64,0}, + [I(30,93)] = {64,0}, + [I(31,93)] = {64,0}, + [I(32,93)] = {19,0x29FFC}, + [I(33,93)] = {23,0x7F1FFC}, + [I(34,93)] = {23,0x7F3FFC}, + [I(35,93)] = {25,0x1FF5FFC}, + [I(36,93)] = {26,0x3FF3FFC}, + [I(37,93)] = {19,0x2BFFC}, + [I(38,93)] = {21,0x1F1FFC}, + [I(39,93)] = {24,0xFF5FFC}, + [I(40,93)] = {23,0x7F5FFC}, + [I(41,93)] = {23,0x7F7FFC}, + [I(42,93)] = {21,0x1F3FFC}, + [I(43,93)] = {24,0xFF7FFC}, + [I(44,93)] = {21,0x1F5FFC}, + [I(45,93)] = {19,0x2DFFC}, + [I(46,93)] = {19,0x2FFFC}, + [I(47,93)] = {19,0x31FFC}, + [I(48,93)] = {18,0x1FFC}, + [I(49,93)] = {18,0x3FFC}, + [I(50,93)] = {18,0x5FFC}, + [I(51,93)] = {19,0x33FFC}, + [I(52,93)] = {19,0x35FFC}, + [I(53,93)] = {19,0x37FFC}, + [I(54,93)] = {19,0x39FFC}, + [I(55,93)] = {19,0x3BFFC}, + [I(56,93)] = {19,0x3DFFC}, + [I(57,93)] = {19,0x3FFFC}, + [I(58,93)] = {20,0xB9FFC}, + [I(59,93)] = {21,0x1F7FFC}, + [I(60,93)] = {28,0xFFF9FFC}, + [I(61,93)] = {19,0x41FFC}, + [I(62,93)] = {25,0x1FF7FFC}, + [I(63,93)] = {23,0x7F9FFC}, + [I(64,93)] = {26,0x3FF5FFC}, + [I(65,93)] = {19,0x43FFC}, + [I(66,93)] = {20,0xBBFFC}, + [I(67,93)] = {20,0xBDFFC}, + [I(68,93)] = {20,0xBFFFC}, + [I(69,93)] = {20,0xC1FFC}, + [I(70,93)] = {20,0xC3FFC}, + [I(71,93)] = {20,0xC5FFC}, + [I(72,93)] = {20,0xC7FFC}, + [I(73,93)] = {20,0xC9FFC}, + [I(74,93)] = {20,0xCBFFC}, + [I(75,93)] = {20,0xCDFFC}, + [I(76,93)] = {20,0xCFFFC}, + [I(77,93)] = {20,0xD1FFC}, + [I(78,93)] = {20,0xD3FFC}, + [I(79,93)] = {20,0xD5FFC}, + [I(80,93)] = {20,0xD7FFC}, + [I(81,93)] = {20,0xD9FFC}, + [I(82,93)] = {20,0xDBFFC}, + [I(83,93)] = {20,0xDDFFC}, + [I(84,93)] = {20,0xDFFFC}, + [I(85,93)] = {20,0xE1FFC}, + [I(86,93)] = {20,0xE3FFC}, + [I(87,93)] = {20,0xE5FFC}, + [I(88,93)] = {21,0x1F9FFC}, + [I(89,93)] = {20,0xE7FFC}, + [I(90,93)] = {21,0x1FBFFC}, + [I(91,93)] = {26,0x3FF7FFC}, + [I(92,93)] = {X32,0xFFFE1FFC}, + [I(93,93)] = {26,0x3FF9FFC}, + [I(94,93)] = {27,0x7FF9FFC}, + [I(95,93)] = {19,0x45FFC}, + [I(96,93)] = {28,0xFFFBFFC}, + [I(97,93)] = {18,0x7FFC}, + [I(98,93)] = {19,0x47FFC}, + [I(99,93)] = {18,0x9FFC}, + [I(100,93)] = {19,0x49FFC}, + [I(101,93)] = {18,0xBFFC}, + [I(102,93)] = {19,0x4BFFC}, + [I(103,93)] = {19,0x4DFFC}, + [I(104,93)] = {19,0x4FFFC}, + [I(105,93)] = {18,0xDFFC}, + [I(106,93)] = {20,0xE9FFC}, + [I(107,93)] = {20,0xEBFFC}, + [I(108,93)] = {19,0x51FFC}, + [I(109,93)] = {19,0x53FFC}, + [I(110,93)] = {19,0x55FFC}, + [I(111,93)] = {18,0xFFFC}, + [I(112,93)] = {19,0x57FFC}, + [I(113,93)] = {20,0xEDFFC}, + [I(114,93)] = {19,0x59FFC}, + [I(115,93)] = {18,0x11FFC}, + [I(116,93)] = {18,0x13FFC}, + [I(117,93)] = {19,0x5BFFC}, + [I(118,93)] = {20,0xEFFFC}, + [I(119,93)] = {20,0xF1FFC}, + [I(120,93)] = {20,0xF3FFC}, + [I(121,93)] = {20,0xF5FFC}, + [I(122,93)] = {20,0xF7FFC}, + [I(123,93)] = {28,0xFFFDFFC}, + [I(124,93)] = {24,0xFF9FFC}, + [I(125,93)] = {27,0x7FFBFFC}, + [I(126,93)] = {26,0x3FFBFFC}, + [I(127,93)] = {64,0}, + [I(128,93)] = {64,0}, + [I(129,93)] = {64,0}, + [I(130,93)] = {64,0}, + [I(131,93)] = {64,0}, + [I(132,93)] = {64,0}, + [I(133,93)] = {64,0}, + [I(134,93)] = {64,0}, + [I(135,93)] = {64,0}, + [I(136,93)] = {64,0}, + [I(137,93)] = {64,0}, + [I(138,93)] = {64,0}, + [I(139,93)] = {64,0}, + [I(140,93)] = {64,0}, + [I(141,93)] = {64,0}, + [I(142,93)] = {64,0}, + [I(143,93)] = {64,0}, + [I(144,93)] = {64,0}, + [I(145,93)] = {64,0}, + [I(146,93)] = {64,0}, + [I(147,93)] = {64,0}, + [I(148,93)] = {64,0}, + [I(149,93)] = {64,0}, + [I(150,93)] = {64,0}, + [I(151,93)] = {64,0}, + [I(152,93)] = {64,0}, + [I(153,93)] = {64,0}, + [I(154,93)] = {64,0}, + [I(155,93)] = {64,0}, + [I(156,93)] = {64,0}, + [I(157,93)] = {64,0}, + [I(158,93)] = {64,0}, + [I(159,93)] = {64,0}, + [I(160,93)] = {64,0}, + [I(161,93)] = {64,0}, + [I(162,93)] = {64,0}, + [I(163,93)] = {64,0}, + [I(164,93)] = {64,0}, + [I(165,93)] = {64,0}, + [I(166,93)] = {64,0}, + [I(167,93)] = {64,0}, + [I(168,93)] = {64,0}, + [I(169,93)] = {64,0}, + [I(170,93)] = {64,0}, + [I(171,93)] = {64,0}, + [I(172,93)] = {64,0}, + [I(173,93)] = {64,0}, + [I(174,93)] = {64,0}, + [I(175,93)] = {64,0}, + [I(176,93)] = {64,0}, + [I(177,93)] = {64,0}, + [I(178,93)] = {64,0}, + [I(179,93)] = {64,0}, + [I(180,93)] = {64,0}, + [I(181,93)] = {64,0}, + [I(182,93)] = {64,0}, + [I(183,93)] = {64,0}, + [I(184,93)] = {64,0}, + [I(185,93)] = {64,0}, + [I(186,93)] = {64,0}, + [I(187,93)] = {64,0}, + [I(188,93)] = {64,0}, + [I(189,93)] = {64,0}, + [I(190,93)] = {64,0}, + [I(191,93)] = {64,0}, + [I(192,93)] = {64,0}, + [I(193,93)] = {64,0}, + [I(194,93)] = {64,0}, + [I(195,93)] = {X32,0xFFFE3FFC}, + [I(196,93)] = {64,0}, + [I(197,93)] = {64,0}, + [I(198,93)] = {64,0}, + [I(199,93)] = {64,0}, + [I(200,93)] = {64,0}, + [I(201,93)] = {64,0}, + [I(202,93)] = {64,0}, + [I(203,93)] = {64,0}, + [I(204,93)] = {64,0}, + [I(205,93)] = {64,0}, + [I(206,93)] = {64,0}, + [I(207,93)] = {64,0}, + [I(208,93)] = {X32,0xFFFE5FFC}, + [I(209,93)] = {64,0}, + [I(210,93)] = {64,0}, + [I(211,93)] = {64,0}, + [I(212,93)] = {64,0}, + [I(213,93)] = {64,0}, + [I(214,93)] = {64,0}, + [I(215,93)] = {64,0}, + [I(216,93)] = {64,0}, + [I(217,93)] = {64,0}, + [I(218,93)] = {64,0}, + [I(219,93)] = {64,0}, + [I(220,93)] = {64,0}, + [I(221,93)] = {64,0}, + [I(222,93)] = {64,0}, + [I(223,93)] = {64,0}, + [I(224,93)] = {64,0}, + [I(225,93)] = {64,0}, + [I(226,93)] = {64,0}, + [I(227,93)] = {64,0}, + [I(228,93)] = {64,0}, + [I(229,93)] = {64,0}, + [I(230,93)] = {64,0}, + [I(231,93)] = {64,0}, + [I(232,93)] = {64,0}, + [I(233,93)] = {64,0}, + [I(234,93)] = {64,0}, + [I(235,93)] = {64,0}, + [I(236,93)] = {64,0}, + [I(237,93)] = {64,0}, + [I(238,93)] = {64,0}, + [I(239,93)] = {64,0}, + [I(240,93)] = {64,0}, + [I(241,93)] = {64,0}, + [I(242,93)] = {64,0}, + [I(243,93)] = {64,0}, + [I(244,93)] = {64,0}, + [I(245,93)] = {64,0}, + [I(246,93)] = {64,0}, + [I(247,93)] = {64,0}, + [I(248,93)] = {64,0}, + [I(249,93)] = {64,0}, + [I(250,93)] = {64,0}, + [I(251,93)] = {64,0}, + [I(252,93)] = {64,0}, + [I(253,93)] = {64,0}, + [I(254,93)] = {64,0}, + [I(255,93)] = {64,0}, + [I(0,94)] = {27,0x7FE3FFC}, + [I(1,94)] = {64,0}, + [I(2,94)] = {64,0}, + [I(3,94)] = {64,0}, + [I(4,94)] = {64,0}, + [I(5,94)] = {64,0}, + [I(6,94)] = {64,0}, + [I(7,94)] = {64,0}, + [I(8,94)] = {64,0}, + [I(9,94)] = {64,0}, + [I(10,94)] = {64,0}, + [I(11,94)] = {64,0}, + [I(12,94)] = {64,0}, + [I(13,94)] = {64,0}, + [I(14,94)] = {64,0}, + [I(15,94)] = {64,0}, + [I(16,94)] = {64,0}, + [I(17,94)] = {64,0}, + [I(18,94)] = {64,0}, + [I(19,94)] = {64,0}, + [I(20,94)] = {64,0}, + [I(21,94)] = {64,0}, + [I(22,94)] = {64,0}, + [I(23,94)] = {64,0}, + [I(24,94)] = {64,0}, + [I(25,94)] = {64,0}, + [I(26,94)] = {64,0}, + [I(27,94)] = {64,0}, + [I(28,94)] = {64,0}, + [I(29,94)] = {64,0}, + [I(30,94)] = {64,0}, + [I(31,94)] = {64,0}, + [I(32,94)] = {20,0x53FFC}, + [I(33,94)] = {24,0xFE3FFC}, + [I(34,94)] = {24,0xFE7FFC}, + [I(35,94)] = {26,0x3FEBFFC}, + [I(36,94)] = {27,0x7FE7FFC}, + [I(37,94)] = {20,0x57FFC}, + [I(38,94)] = {22,0x3E3FFC}, + [I(39,94)] = {25,0x1FEBFFC}, + [I(40,94)] = {24,0xFEBFFC}, + [I(41,94)] = {24,0xFEFFFC}, + [I(42,94)] = {22,0x3E7FFC}, + [I(43,94)] = {25,0x1FEFFFC}, + [I(44,94)] = {22,0x3EBFFC}, + [I(45,94)] = {20,0x5BFFC}, + [I(46,94)] = {20,0x5FFFC}, + [I(47,94)] = {20,0x63FFC}, + [I(48,94)] = {19,0x3FFC}, + [I(49,94)] = {19,0x7FFC}, + [I(50,94)] = {19,0xBFFC}, + [I(51,94)] = {20,0x67FFC}, + [I(52,94)] = {20,0x6BFFC}, + [I(53,94)] = {20,0x6FFFC}, + [I(54,94)] = {20,0x73FFC}, + [I(55,94)] = {20,0x77FFC}, + [I(56,94)] = {20,0x7BFFC}, + [I(57,94)] = {20,0x7FFFC}, + [I(58,94)] = {21,0x173FFC}, + [I(59,94)] = {22,0x3EFFFC}, + [I(60,94)] = {29,0x1FFF3FFC}, + [I(61,94)] = {20,0x83FFC}, + [I(62,94)] = {26,0x3FEFFFC}, + [I(63,94)] = {24,0xFF3FFC}, + [I(64,94)] = {27,0x7FEBFFC}, + [I(65,94)] = {20,0x87FFC}, + [I(66,94)] = {21,0x177FFC}, + [I(67,94)] = {21,0x17BFFC}, + [I(68,94)] = {21,0x17FFFC}, + [I(69,94)] = {21,0x183FFC}, + [I(70,94)] = {21,0x187FFC}, + [I(71,94)] = {21,0x18BFFC}, + [I(72,94)] = {21,0x18FFFC}, + [I(73,94)] = {21,0x193FFC}, + [I(74,94)] = {21,0x197FFC}, + [I(75,94)] = {21,0x19BFFC}, + [I(76,94)] = {21,0x19FFFC}, + [I(77,94)] = {21,0x1A3FFC}, + [I(78,94)] = {21,0x1A7FFC}, + [I(79,94)] = {21,0x1ABFFC}, + [I(80,94)] = {21,0x1AFFFC}, + [I(81,94)] = {21,0x1B3FFC}, + [I(82,94)] = {21,0x1B7FFC}, + [I(83,94)] = {21,0x1BBFFC}, + [I(84,94)] = {21,0x1BFFFC}, + [I(85,94)] = {21,0x1C3FFC}, + [I(86,94)] = {21,0x1C7FFC}, + [I(87,94)] = {21,0x1CBFFC}, + [I(88,94)] = {22,0x3F3FFC}, + [I(89,94)] = {21,0x1CFFFC}, + [I(90,94)] = {22,0x3F7FFC}, + [I(91,94)] = {27,0x7FEFFFC}, + [I(92,94)] = {64,0}, + [I(93,94)] = {27,0x7FF3FFC}, + [I(94,94)] = {28,0xFFF3FFC}, + [I(95,94)] = {20,0x8BFFC}, + [I(96,94)] = {29,0x1FFF7FFC}, + [I(97,94)] = {19,0xFFFC}, + [I(98,94)] = {20,0x8FFFC}, + [I(99,94)] = {19,0x13FFC}, + [I(100,94)] = {20,0x93FFC}, + [I(101,94)] = {19,0x17FFC}, + [I(102,94)] = {20,0x97FFC}, + [I(103,94)] = {20,0x9BFFC}, + [I(104,94)] = {20,0x9FFFC}, + [I(105,94)] = {19,0x1BFFC}, + [I(106,94)] = {21,0x1D3FFC}, + [I(107,94)] = {21,0x1D7FFC}, + [I(108,94)] = {20,0xA3FFC}, + [I(109,94)] = {20,0xA7FFC}, + [I(110,94)] = {20,0xABFFC}, + [I(111,94)] = {19,0x1FFFC}, + [I(112,94)] = {20,0xAFFFC}, + [I(113,94)] = {21,0x1DBFFC}, + [I(114,94)] = {20,0xB3FFC}, + [I(115,94)] = {19,0x23FFC}, + [I(116,94)] = {19,0x27FFC}, + [I(117,94)] = {20,0xB7FFC}, + [I(118,94)] = {21,0x1DFFFC}, + [I(119,94)] = {21,0x1E3FFC}, + [I(120,94)] = {21,0x1E7FFC}, + [I(121,94)] = {21,0x1EBFFC}, + [I(122,94)] = {21,0x1EFFFC}, + [I(123,94)] = {29,0x1FFFBFFC}, + [I(124,94)] = {25,0x1FF3FFC}, + [I(125,94)] = {28,0xFFF7FFC}, + [I(126,94)] = {27,0x7FF7FFC}, + [I(127,94)] = {64,0}, + [I(128,94)] = {64,0}, + [I(129,94)] = {64,0}, + [I(130,94)] = {64,0}, + [I(131,94)] = {64,0}, + [I(132,94)] = {64,0}, + [I(133,94)] = {64,0}, + [I(134,94)] = {64,0}, + [I(135,94)] = {64,0}, + [I(136,94)] = {64,0}, + [I(137,94)] = {64,0}, + [I(138,94)] = {64,0}, + [I(139,94)] = {64,0}, + [I(140,94)] = {64,0}, + [I(141,94)] = {64,0}, + [I(142,94)] = {64,0}, + [I(143,94)] = {64,0}, + [I(144,94)] = {64,0}, + [I(145,94)] = {64,0}, + [I(146,94)] = {64,0}, + [I(147,94)] = {64,0}, + [I(148,94)] = {64,0}, + [I(149,94)] = {64,0}, + [I(150,94)] = {64,0}, + [I(151,94)] = {64,0}, + [I(152,94)] = {64,0}, + [I(153,94)] = {64,0}, + [I(154,94)] = {64,0}, + [I(155,94)] = {64,0}, + [I(156,94)] = {64,0}, + [I(157,94)] = {64,0}, + [I(158,94)] = {64,0}, + [I(159,94)] = {64,0}, + [I(160,94)] = {64,0}, + [I(161,94)] = {64,0}, + [I(162,94)] = {64,0}, + [I(163,94)] = {64,0}, + [I(164,94)] = {64,0}, + [I(165,94)] = {64,0}, + [I(166,94)] = {64,0}, + [I(167,94)] = {64,0}, + [I(168,94)] = {64,0}, + [I(169,94)] = {64,0}, + [I(170,94)] = {64,0}, + [I(171,94)] = {64,0}, + [I(172,94)] = {64,0}, + [I(173,94)] = {64,0}, + [I(174,94)] = {64,0}, + [I(175,94)] = {64,0}, + [I(176,94)] = {64,0}, + [I(177,94)] = {64,0}, + [I(178,94)] = {64,0}, + [I(179,94)] = {64,0}, + [I(180,94)] = {64,0}, + [I(181,94)] = {64,0}, + [I(182,94)] = {64,0}, + [I(183,94)] = {64,0}, + [I(184,94)] = {64,0}, + [I(185,94)] = {64,0}, + [I(186,94)] = {64,0}, + [I(187,94)] = {64,0}, + [I(188,94)] = {64,0}, + [I(189,94)] = {64,0}, + [I(190,94)] = {64,0}, + [I(191,94)] = {64,0}, + [I(192,94)] = {64,0}, + [I(193,94)] = {64,0}, + [I(194,94)] = {64,0}, + [I(195,94)] = {64,0}, + [I(196,94)] = {64,0}, + [I(197,94)] = {64,0}, + [I(198,94)] = {64,0}, + [I(199,94)] = {64,0}, + [I(200,94)] = {64,0}, + [I(201,94)] = {64,0}, + [I(202,94)] = {64,0}, + [I(203,94)] = {64,0}, + [I(204,94)] = {64,0}, + [I(205,94)] = {64,0}, + [I(206,94)] = {64,0}, + [I(207,94)] = {64,0}, + [I(208,94)] = {64,0}, + [I(209,94)] = {64,0}, + [I(210,94)] = {64,0}, + [I(211,94)] = {64,0}, + [I(212,94)] = {64,0}, + [I(213,94)] = {64,0}, + [I(214,94)] = {64,0}, + [I(215,94)] = {64,0}, + [I(216,94)] = {64,0}, + [I(217,94)] = {64,0}, + [I(218,94)] = {64,0}, + [I(219,94)] = {64,0}, + [I(220,94)] = {64,0}, + [I(221,94)] = {64,0}, + [I(222,94)] = {64,0}, + [I(223,94)] = {64,0}, + [I(224,94)] = {64,0}, + [I(225,94)] = {64,0}, + [I(226,94)] = {64,0}, + [I(227,94)] = {64,0}, + [I(228,94)] = {64,0}, + [I(229,94)] = {64,0}, + [I(230,94)] = {64,0}, + [I(231,94)] = {64,0}, + [I(232,94)] = {64,0}, + [I(233,94)] = {64,0}, + [I(234,94)] = {64,0}, + [I(235,94)] = {64,0}, + [I(236,94)] = {64,0}, + [I(237,94)] = {64,0}, + [I(238,94)] = {64,0}, + [I(239,94)] = {64,0}, + [I(240,94)] = {64,0}, + [I(241,94)] = {64,0}, + [I(242,94)] = {64,0}, + [I(243,94)] = {64,0}, + [I(244,94)] = {64,0}, + [I(245,94)] = {64,0}, + [I(246,94)] = {64,0}, + [I(247,94)] = {64,0}, + [I(248,94)] = {64,0}, + [I(249,94)] = {64,0}, + [I(250,94)] = {64,0}, + [I(251,94)] = {64,0}, + [I(252,94)] = {64,0}, + [I(253,94)] = {64,0}, + [I(254,94)] = {64,0}, + [I(255,94)] = {64,0}, + [I(0,95)] = {19,0x7FE22}, + [I(1,95)] = {29,0x1FFFF622}, + [I(2,95)] = {64,0}, + [I(3,95)] = {64,0}, + [I(4,95)] = {64,0}, + [I(5,95)] = {64,0}, + [I(6,95)] = {64,0}, + [I(7,95)] = {64,0}, + [I(8,95)] = {64,0}, + [I(9,95)] = {30,0x3FFFFAA2}, + [I(10,95)] = {64,0}, + [I(11,95)] = {64,0}, + [I(12,95)] = {64,0}, + [I(13,95)] = {64,0}, + [I(14,95)] = {64,0}, + [I(15,95)] = {64,0}, + [I(16,95)] = {64,0}, + [I(17,95)] = {64,0}, + [I(18,95)] = {64,0}, + [I(19,95)] = {64,0}, + [I(20,95)] = {64,0}, + [I(21,95)] = {64,0}, + [I(22,95)] = {64,0}, + [I(23,95)] = {64,0}, + [I(24,95)] = {64,0}, + [I(25,95)] = {64,0}, + [I(26,95)] = {64,0}, + [I(27,95)] = {64,0}, + [I(28,95)] = {64,0}, + [I(29,95)] = {64,0}, + [I(30,95)] = {64,0}, + [I(31,95)] = {64,0}, + [I(32,95)] = {12,0x522}, + [I(33,95)] = {16,0xFE22}, + [I(34,95)] = {16,0xFE62}, + [I(35,95)] = {18,0x3FEA2}, + [I(36,95)] = {19,0x7FE62}, + [I(37,95)] = {12,0x562}, + [I(38,95)] = {14,0x3E22}, + [I(39,95)] = {17,0x1FEA2}, + [I(40,95)] = {16,0xFEA2}, + [I(41,95)] = {16,0xFEE2}, + [I(42,95)] = {14,0x3E62}, + [I(43,95)] = {17,0x1FEE2}, + [I(44,95)] = {14,0x3EA2}, + [I(45,95)] = {12,0x5A2}, + [I(46,95)] = {12,0x5E2}, + [I(47,95)] = {12,0x622}, + [I(48,95)] = {11,0x22}, + [I(49,95)] = {11,0x62}, + [I(50,95)] = {11,0xA2}, + [I(51,95)] = {12,0x662}, + [I(52,95)] = {12,0x6A2}, + [I(53,95)] = {12,0x6E2}, + [I(54,95)] = {12,0x722}, + [I(55,95)] = {12,0x762}, + [I(56,95)] = {12,0x7A2}, + [I(57,95)] = {12,0x7E2}, + [I(58,95)] = {13,0x1722}, + [I(59,95)] = {14,0x3EE2}, + [I(60,95)] = {21,0x1FFF22}, + [I(61,95)] = {12,0x822}, + [I(62,95)] = {18,0x3FEE2}, + [I(63,95)] = {16,0xFF22}, + [I(64,95)] = {19,0x7FEA2}, + [I(65,95)] = {12,0x862}, + [I(66,95)] = {13,0x1762}, + [I(67,95)] = {13,0x17A2}, + [I(68,95)] = {13,0x17E2}, + [I(69,95)] = {13,0x1822}, + [I(70,95)] = {13,0x1862}, + [I(71,95)] = {13,0x18A2}, + [I(72,95)] = {13,0x18E2}, + [I(73,95)] = {13,0x1922}, + [I(74,95)] = {13,0x1962}, + [I(75,95)] = {13,0x19A2}, + [I(76,95)] = {13,0x19E2}, + [I(77,95)] = {13,0x1A22}, + [I(78,95)] = {13,0x1A62}, + [I(79,95)] = {13,0x1AA2}, + [I(80,95)] = {13,0x1AE2}, + [I(81,95)] = {13,0x1B22}, + [I(82,95)] = {13,0x1B62}, + [I(83,95)] = {13,0x1BA2}, + [I(84,95)] = {13,0x1BE2}, + [I(85,95)] = {13,0x1C22}, + [I(86,95)] = {13,0x1C62}, + [I(87,95)] = {13,0x1CA2}, + [I(88,95)] = {14,0x3F22}, + [I(89,95)] = {13,0x1CE2}, + [I(90,95)] = {14,0x3F62}, + [I(91,95)] = {19,0x7FEE2}, + [I(92,95)] = {25,0x1FFFC22}, + [I(93,95)] = {19,0x7FF22}, + [I(94,95)] = {20,0xFFF22}, + [I(95,95)] = {12,0x8A2}, + [I(96,95)] = {21,0x1FFF62}, + [I(97,95)] = {11,0xE2}, + [I(98,95)] = {12,0x8E2}, + [I(99,95)] = {11,0x122}, + [I(100,95)] = {12,0x922}, + [I(101,95)] = {11,0x162}, + [I(102,95)] = {12,0x962}, + [I(103,95)] = {12,0x9A2}, + [I(104,95)] = {12,0x9E2}, + [I(105,95)] = {11,0x1A2}, + [I(106,95)] = {13,0x1D22}, + [I(107,95)] = {13,0x1D62}, + [I(108,95)] = {12,0xA22}, + [I(109,95)] = {12,0xA62}, + [I(110,95)] = {12,0xAA2}, + [I(111,95)] = {11,0x1E2}, + [I(112,95)] = {12,0xAE2}, + [I(113,95)] = {13,0x1DA2}, + [I(114,95)] = {12,0xB22}, + [I(115,95)] = {11,0x222}, + [I(116,95)] = {11,0x262}, + [I(117,95)] = {12,0xB62}, + [I(118,95)] = {13,0x1DE2}, + [I(119,95)] = {13,0x1E22}, + [I(120,95)] = {13,0x1E62}, + [I(121,95)] = {13,0x1EA2}, + [I(122,95)] = {13,0x1EE2}, + [I(123,95)] = {21,0x1FFFA2}, + [I(124,95)] = {17,0x1FF22}, + [I(125,95)] = {20,0xFFF62}, + [I(126,95)] = {19,0x7FF62}, + [I(127,95)] = {64,0}, + [I(128,95)] = {26,0x3FFF9A2}, + [I(129,95)] = {28,0xFFFF4A2}, + [I(130,95)] = {26,0x3FFF9E2}, + [I(131,95)] = {26,0x3FFFA22}, + [I(132,95)] = {28,0xFFFF4E2}, + [I(133,95)] = {28,0xFFFF522}, + [I(134,95)] = {28,0xFFFF562}, + [I(135,95)] = {29,0x1FFFF662}, + [I(136,95)] = {28,0xFFFF5A2}, + [I(137,95)] = {29,0x1FFFF6A2}, + [I(138,95)] = {29,0x1FFFF6E2}, + [I(139,95)] = {29,0x1FFFF722}, + [I(140,95)] = {29,0x1FFFF762}, + [I(141,95)] = {29,0x1FFFF7A2}, + [I(142,95)] = {30,0x3FFFFAE2}, + [I(143,95)] = {29,0x1FFFF7E2}, + [I(144,95)] = {30,0x3FFFFB22}, + [I(145,95)] = {30,0x3FFFFB62}, + [I(146,95)] = {28,0xFFFF5E2}, + [I(147,95)] = {29,0x1FFFF822}, + [I(148,95)] = {30,0x3FFFFBA2}, + [I(149,95)] = {29,0x1FFFF862}, + [I(150,95)] = {29,0x1FFFF8A2}, + [I(151,95)] = {29,0x1FFFF8E2}, + [I(152,95)] = {29,0x1FFFF922}, + [I(153,95)] = {27,0x7FFF722}, + [I(154,95)] = {28,0xFFFF622}, + [I(155,95)] = {29,0x1FFFF962}, + [I(156,95)] = {28,0xFFFF662}, + [I(157,95)] = {29,0x1FFFF9A2}, + [I(158,95)] = {29,0x1FFFF9E2}, + [I(159,95)] = {30,0x3FFFFBE2}, + [I(160,95)] = {28,0xFFFF6A2}, + [I(161,95)] = {27,0x7FFF762}, + [I(162,95)] = {26,0x3FFFA62}, + [I(163,95)] = {28,0xFFFF6E2}, + [I(164,95)] = {28,0xFFFF722}, + [I(165,95)] = {29,0x1FFFFA22}, + [I(166,95)] = {29,0x1FFFFA62}, + [I(167,95)] = {27,0x7FFF7A2}, + [I(168,95)] = {29,0x1FFFFAA2}, + [I(169,95)] = {28,0xFFFF762}, + [I(170,95)] = {28,0xFFFF7A2}, + [I(171,95)] = {30,0x3FFFFC22}, + [I(172,95)] = {27,0x7FFF7E2}, + [I(173,95)] = {28,0xFFFF7E2}, + [I(174,95)] = {29,0x1FFFFAE2}, + [I(175,95)] = {29,0x1FFFFB22}, + [I(176,95)] = {27,0x7FFF822}, + [I(177,95)] = {27,0x7FFF862}, + [I(178,95)] = {28,0xFFFF822}, + [I(179,95)] = {27,0x7FFF8A2}, + [I(180,95)] = {29,0x1FFFFB62}, + [I(181,95)] = {28,0xFFFF862}, + [I(182,95)] = {29,0x1FFFFBA2}, + [I(183,95)] = {29,0x1FFFFBE2}, + [I(184,95)] = {26,0x3FFFAA2}, + [I(185,95)] = {28,0xFFFF8A2}, + [I(186,95)] = {28,0xFFFF8E2}, + [I(187,95)] = {28,0xFFFF922}, + [I(188,95)] = {29,0x1FFFFC22}, + [I(189,95)] = {28,0xFFFF962}, + [I(190,95)] = {28,0xFFFF9A2}, + [I(191,95)] = {29,0x1FFFFC62}, + [I(192,95)] = {X32,0xFFFFF822}, + [I(193,95)] = {X32,0xFFFFF862}, + [I(194,95)] = {26,0x3FFFAE2}, + [I(195,95)] = {25,0x1FFFC62}, + [I(196,95)] = {28,0xFFFF9E2}, + [I(197,95)] = {29,0x1FFFFCA2}, + [I(198,95)] = {28,0xFFFFA22}, + [I(199,95)] = {31,0x7FFFFB22}, + [I(200,95)] = {X32,0xFFFFF8A2}, + [I(201,95)] = {X32,0xFFFFF8E2}, + [I(202,95)] = {X32,0xFFFFF922}, + [I(203,95)] = {64,0}, + [I(204,95)] = {64,0}, + [I(205,95)] = {X32,0xFFFFF962}, + [I(206,95)] = {30,0x3FFFFC62}, + [I(207,95)] = {31,0x7FFFFB62}, + [I(208,95)] = {25,0x1FFFCA2}, + [I(209,95)] = {27,0x7FFF8E2}, + [I(210,95)] = {X32,0xFFFFF9A2}, + [I(211,95)] = {64,0}, + [I(212,95)] = {64,0}, + [I(213,95)] = {X32,0xFFFFF9E2}, + [I(214,95)] = {64,0}, + [I(215,95)] = {30,0x3FFFFCA2}, + [I(216,95)] = {27,0x7FFF922}, + [I(217,95)] = {27,0x7FFF962}, + [I(218,95)] = {X32,0xFFFFFA22}, + [I(219,95)] = {X32,0xFFFFFA62}, + [I(220,95)] = {64,0}, + [I(221,95)] = {64,0}, + [I(222,95)] = {64,0}, + [I(223,95)] = {64,0}, + [I(224,95)] = {26,0x3FFFB22}, + [I(225,95)] = {30,0x3FFFFCE2}, + [I(226,95)] = {26,0x3FFFB62}, + [I(227,95)] = {27,0x7FFF9A2}, + [I(228,95)] = {28,0xFFFFA62}, + [I(229,95)] = {27,0x7FFF9E2}, + [I(230,95)] = {27,0x7FFFA22}, + [I(231,95)] = {29,0x1FFFFCE2}, + [I(232,95)] = {28,0xFFFFAA2}, + [I(233,95)] = {28,0xFFFFAE2}, + [I(234,95)] = {31,0x7FFFFBA2}, + [I(235,95)] = {31,0x7FFFFBE2}, + [I(236,95)] = {30,0x3FFFFD22}, + [I(237,95)] = {30,0x3FFFFD62}, + [I(238,95)] = {X32,0xFFFFFAA2}, + [I(239,95)] = {29,0x1FFFFD22}, + [I(240,95)] = {X32,0xFFFFFAE2}, + [I(241,95)] = {64,0}, + [I(242,95)] = {X32,0xFFFFFB22}, + [I(243,95)] = {X32,0xFFFFFB62}, + [I(244,95)] = {64,0}, + [I(245,95)] = {64,0}, + [I(246,95)] = {64,0}, + [I(247,95)] = {64,0}, + [I(248,95)] = {64,0}, + [I(249,95)] = {64,0}, + [I(250,95)] = {64,0}, + [I(251,95)] = {64,0}, + [I(252,95)] = {64,0}, + [I(253,95)] = {64,0}, + [I(254,95)] = {64,0}, + [I(255,95)] = {X32,0xFFFFFBA2}, + [I(0,96)] = {28,0xFFC7FFD}, + [I(1,96)] = {64,0}, + [I(2,96)] = {64,0}, + [I(3,96)] = {64,0}, + [I(4,96)] = {64,0}, + [I(5,96)] = {64,0}, + [I(6,96)] = {64,0}, + [I(7,96)] = {64,0}, + [I(8,96)] = {64,0}, + [I(9,96)] = {64,0}, + [I(10,96)] = {64,0}, + [I(11,96)] = {64,0}, + [I(12,96)] = {64,0}, + [I(13,96)] = {64,0}, + [I(14,96)] = {64,0}, + [I(15,96)] = {64,0}, + [I(16,96)] = {64,0}, + [I(17,96)] = {64,0}, + [I(18,96)] = {64,0}, + [I(19,96)] = {64,0}, + [I(20,96)] = {64,0}, + [I(21,96)] = {64,0}, + [I(22,96)] = {64,0}, + [I(23,96)] = {64,0}, + [I(24,96)] = {64,0}, + [I(25,96)] = {64,0}, + [I(26,96)] = {64,0}, + [I(27,96)] = {64,0}, + [I(28,96)] = {64,0}, + [I(29,96)] = {64,0}, + [I(30,96)] = {64,0}, + [I(31,96)] = {64,0}, + [I(32,96)] = {21,0xA7FFD}, + [I(33,96)] = {25,0x1FC7FFD}, + [I(34,96)] = {25,0x1FCFFFD}, + [I(35,96)] = {27,0x7FD7FFD}, + [I(36,96)] = {28,0xFFCFFFD}, + [I(37,96)] = {21,0xAFFFD}, + [I(38,96)] = {23,0x7C7FFD}, + [I(39,96)] = {26,0x3FD7FFD}, + [I(40,96)] = {25,0x1FD7FFD}, + [I(41,96)] = {25,0x1FDFFFD}, + [I(42,96)] = {23,0x7CFFFD}, + [I(43,96)] = {26,0x3FDFFFD}, + [I(44,96)] = {23,0x7D7FFD}, + [I(45,96)] = {21,0xB7FFD}, + [I(46,96)] = {21,0xBFFFD}, + [I(47,96)] = {21,0xC7FFD}, + [I(48,96)] = {20,0x7FFD}, + [I(49,96)] = {20,0xFFFD}, + [I(50,96)] = {20,0x17FFD}, + [I(51,96)] = {21,0xCFFFD}, + [I(52,96)] = {21,0xD7FFD}, + [I(53,96)] = {21,0xDFFFD}, + [I(54,96)] = {21,0xE7FFD}, + [I(55,96)] = {21,0xEFFFD}, + [I(56,96)] = {21,0xF7FFD}, + [I(57,96)] = {21,0xFFFFD}, + [I(58,96)] = {22,0x2E7FFD}, + [I(59,96)] = {23,0x7DFFFD}, + [I(60,96)] = {30,0x3FFE7FFD}, + [I(61,96)] = {21,0x107FFD}, + [I(62,96)] = {27,0x7FDFFFD}, + [I(63,96)] = {25,0x1FE7FFD}, + [I(64,96)] = {28,0xFFD7FFD}, + [I(65,96)] = {21,0x10FFFD}, + [I(66,96)] = {22,0x2EFFFD}, + [I(67,96)] = {22,0x2F7FFD}, + [I(68,96)] = {22,0x2FFFFD}, + [I(69,96)] = {22,0x307FFD}, + [I(70,96)] = {22,0x30FFFD}, + [I(71,96)] = {22,0x317FFD}, + [I(72,96)] = {22,0x31FFFD}, + [I(73,96)] = {22,0x327FFD}, + [I(74,96)] = {22,0x32FFFD}, + [I(75,96)] = {22,0x337FFD}, + [I(76,96)] = {22,0x33FFFD}, + [I(77,96)] = {22,0x347FFD}, + [I(78,96)] = {22,0x34FFFD}, + [I(79,96)] = {22,0x357FFD}, + [I(80,96)] = {22,0x35FFFD}, + [I(81,96)] = {22,0x367FFD}, + [I(82,96)] = {22,0x36FFFD}, + [I(83,96)] = {22,0x377FFD}, + [I(84,96)] = {22,0x37FFFD}, + [I(85,96)] = {22,0x387FFD}, + [I(86,96)] = {22,0x38FFFD}, + [I(87,96)] = {22,0x397FFD}, + [I(88,96)] = {23,0x7E7FFD}, + [I(89,96)] = {22,0x39FFFD}, + [I(90,96)] = {23,0x7EFFFD}, + [I(91,96)] = {28,0xFFDFFFD}, + [I(92,96)] = {64,0}, + [I(93,96)] = {28,0xFFE7FFD}, + [I(94,96)] = {29,0x1FFE7FFD}, + [I(95,96)] = {21,0x117FFD}, + [I(96,96)] = {30,0x3FFEFFFD}, + [I(97,96)] = {20,0x1FFFD}, + [I(98,96)] = {21,0x11FFFD}, + [I(99,96)] = {20,0x27FFD}, + [I(100,96)] = {21,0x127FFD}, + [I(101,96)] = {20,0x2FFFD}, + [I(102,96)] = {21,0x12FFFD}, + [I(103,96)] = {21,0x137FFD}, + [I(104,96)] = {21,0x13FFFD}, + [I(105,96)] = {20,0x37FFD}, + [I(106,96)] = {22,0x3A7FFD}, + [I(107,96)] = {22,0x3AFFFD}, + [I(108,96)] = {21,0x147FFD}, + [I(109,96)] = {21,0x14FFFD}, + [I(110,96)] = {21,0x157FFD}, + [I(111,96)] = {20,0x3FFFD}, + [I(112,96)] = {21,0x15FFFD}, + [I(113,96)] = {22,0x3B7FFD}, + [I(114,96)] = {21,0x167FFD}, + [I(115,96)] = {20,0x47FFD}, + [I(116,96)] = {20,0x4FFFD}, + [I(117,96)] = {21,0x16FFFD}, + [I(118,96)] = {22,0x3BFFFD}, + [I(119,96)] = {22,0x3C7FFD}, + [I(120,96)] = {22,0x3CFFFD}, + [I(121,96)] = {22,0x3D7FFD}, + [I(122,96)] = {22,0x3DFFFD}, + [I(123,96)] = {30,0x3FFF7FFD}, + [I(124,96)] = {26,0x3FE7FFD}, + [I(125,96)] = {29,0x1FFEFFFD}, + [I(126,96)] = {28,0xFFEFFFD}, + [I(127,96)] = {64,0}, + [I(128,96)] = {64,0}, + [I(129,96)] = {64,0}, + [I(130,96)] = {64,0}, + [I(131,96)] = {64,0}, + [I(132,96)] = {64,0}, + [I(133,96)] = {64,0}, + [I(134,96)] = {64,0}, + [I(135,96)] = {64,0}, + [I(136,96)] = {64,0}, + [I(137,96)] = {64,0}, + [I(138,96)] = {64,0}, + [I(139,96)] = {64,0}, + [I(140,96)] = {64,0}, + [I(141,96)] = {64,0}, + [I(142,96)] = {64,0}, + [I(143,96)] = {64,0}, + [I(144,96)] = {64,0}, + [I(145,96)] = {64,0}, + [I(146,96)] = {64,0}, + [I(147,96)] = {64,0}, + [I(148,96)] = {64,0}, + [I(149,96)] = {64,0}, + [I(150,96)] = {64,0}, + [I(151,96)] = {64,0}, + [I(152,96)] = {64,0}, + [I(153,96)] = {64,0}, + [I(154,96)] = {64,0}, + [I(155,96)] = {64,0}, + [I(156,96)] = {64,0}, + [I(157,96)] = {64,0}, + [I(158,96)] = {64,0}, + [I(159,96)] = {64,0}, + [I(160,96)] = {64,0}, + [I(161,96)] = {64,0}, + [I(162,96)] = {64,0}, + [I(163,96)] = {64,0}, + [I(164,96)] = {64,0}, + [I(165,96)] = {64,0}, + [I(166,96)] = {64,0}, + [I(167,96)] = {64,0}, + [I(168,96)] = {64,0}, + [I(169,96)] = {64,0}, + [I(170,96)] = {64,0}, + [I(171,96)] = {64,0}, + [I(172,96)] = {64,0}, + [I(173,96)] = {64,0}, + [I(174,96)] = {64,0}, + [I(175,96)] = {64,0}, + [I(176,96)] = {64,0}, + [I(177,96)] = {64,0}, + [I(178,96)] = {64,0}, + [I(179,96)] = {64,0}, + [I(180,96)] = {64,0}, + [I(181,96)] = {64,0}, + [I(182,96)] = {64,0}, + [I(183,96)] = {64,0}, + [I(184,96)] = {64,0}, + [I(185,96)] = {64,0}, + [I(186,96)] = {64,0}, + [I(187,96)] = {64,0}, + [I(188,96)] = {64,0}, + [I(189,96)] = {64,0}, + [I(190,96)] = {64,0}, + [I(191,96)] = {64,0}, + [I(192,96)] = {64,0}, + [I(193,96)] = {64,0}, + [I(194,96)] = {64,0}, + [I(195,96)] = {64,0}, + [I(196,96)] = {64,0}, + [I(197,96)] = {64,0}, + [I(198,96)] = {64,0}, + [I(199,96)] = {64,0}, + [I(200,96)] = {64,0}, + [I(201,96)] = {64,0}, + [I(202,96)] = {64,0}, + [I(203,96)] = {64,0}, + [I(204,96)] = {64,0}, + [I(205,96)] = {64,0}, + [I(206,96)] = {64,0}, + [I(207,96)] = {64,0}, + [I(208,96)] = {64,0}, + [I(209,96)] = {64,0}, + [I(210,96)] = {64,0}, + [I(211,96)] = {64,0}, + [I(212,96)] = {64,0}, + [I(213,96)] = {64,0}, + [I(214,96)] = {64,0}, + [I(215,96)] = {64,0}, + [I(216,96)] = {64,0}, + [I(217,96)] = {64,0}, + [I(218,96)] = {64,0}, + [I(219,96)] = {64,0}, + [I(220,96)] = {64,0}, + [I(221,96)] = {64,0}, + [I(222,96)] = {64,0}, + [I(223,96)] = {64,0}, + [I(224,96)] = {64,0}, + [I(225,96)] = {64,0}, + [I(226,96)] = {64,0}, + [I(227,96)] = {64,0}, + [I(228,96)] = {64,0}, + [I(229,96)] = {64,0}, + [I(230,96)] = {64,0}, + [I(231,96)] = {64,0}, + [I(232,96)] = {64,0}, + [I(233,96)] = {64,0}, + [I(234,96)] = {64,0}, + [I(235,96)] = {64,0}, + [I(236,96)] = {64,0}, + [I(237,96)] = {64,0}, + [I(238,96)] = {64,0}, + [I(239,96)] = {64,0}, + [I(240,96)] = {64,0}, + [I(241,96)] = {64,0}, + [I(242,96)] = {64,0}, + [I(243,96)] = {64,0}, + [I(244,96)] = {64,0}, + [I(245,96)] = {64,0}, + [I(246,96)] = {64,0}, + [I(247,96)] = {64,0}, + [I(248,96)] = {64,0}, + [I(249,96)] = {64,0}, + [I(250,96)] = {64,0}, + [I(251,96)] = {64,0}, + [I(252,96)] = {64,0}, + [I(253,96)] = {64,0}, + [I(254,96)] = {64,0}, + [I(255,96)] = {64,0}, + [I(0,97)] = {18,0x3FF03}, + [I(1,97)] = {28,0xFFFFB03}, + [I(2,97)] = {64,0}, + [I(3,97)] = {64,0}, + [I(4,97)] = {64,0}, + [I(5,97)] = {64,0}, + [I(6,97)] = {64,0}, + [I(7,97)] = {64,0}, + [I(8,97)] = {64,0}, + [I(9,97)] = {29,0x1FFFFD43}, + [I(10,97)] = {64,0}, + [I(11,97)] = {64,0}, + [I(12,97)] = {64,0}, + [I(13,97)] = {64,0}, + [I(14,97)] = {64,0}, + [I(15,97)] = {64,0}, + [I(16,97)] = {64,0}, + [I(17,97)] = {64,0}, + [I(18,97)] = {64,0}, + [I(19,97)] = {64,0}, + [I(20,97)] = {64,0}, + [I(21,97)] = {64,0}, + [I(22,97)] = {64,0}, + [I(23,97)] = {64,0}, + [I(24,97)] = {64,0}, + [I(25,97)] = {64,0}, + [I(26,97)] = {64,0}, + [I(27,97)] = {64,0}, + [I(28,97)] = {64,0}, + [I(29,97)] = {64,0}, + [I(30,97)] = {64,0}, + [I(31,97)] = {64,0}, + [I(32,97)] = {11,0x283}, + [I(33,97)] = {15,0x7F03}, + [I(34,97)] = {15,0x7F23}, + [I(35,97)] = {17,0x1FF43}, + [I(36,97)] = {18,0x3FF23}, + [I(37,97)] = {11,0x2A3}, + [I(38,97)] = {13,0x1F03}, + [I(39,97)] = {16,0xFF43}, + [I(40,97)] = {15,0x7F43}, + [I(41,97)] = {15,0x7F63}, + [I(42,97)] = {13,0x1F23}, + [I(43,97)] = {16,0xFF63}, + [I(44,97)] = {13,0x1F43}, + [I(45,97)] = {11,0x2C3}, + [I(46,97)] = {11,0x2E3}, + [I(47,97)] = {11,0x303}, + [I(48,97)] = {10,0x3}, + [I(49,97)] = {10,0x23}, + [I(50,97)] = {10,0x43}, + [I(51,97)] = {11,0x323}, + [I(52,97)] = {11,0x343}, + [I(53,97)] = {11,0x363}, + [I(54,97)] = {11,0x383}, + [I(55,97)] = {11,0x3A3}, + [I(56,97)] = {11,0x3C3}, + [I(57,97)] = {11,0x3E3}, + [I(58,97)] = {12,0xB83}, + [I(59,97)] = {13,0x1F63}, + [I(60,97)] = {20,0xFFF83}, + [I(61,97)] = {11,0x403}, + [I(62,97)] = {17,0x1FF63}, + [I(63,97)] = {15,0x7F83}, + [I(64,97)] = {18,0x3FF43}, + [I(65,97)] = {11,0x423}, + [I(66,97)] = {12,0xBA3}, + [I(67,97)] = {12,0xBC3}, + [I(68,97)] = {12,0xBE3}, + [I(69,97)] = {12,0xC03}, + [I(70,97)] = {12,0xC23}, + [I(71,97)] = {12,0xC43}, + [I(72,97)] = {12,0xC63}, + [I(73,97)] = {12,0xC83}, + [I(74,97)] = {12,0xCA3}, + [I(75,97)] = {12,0xCC3}, + [I(76,97)] = {12,0xCE3}, + [I(77,97)] = {12,0xD03}, + [I(78,97)] = {12,0xD23}, + [I(79,97)] = {12,0xD43}, + [I(80,97)] = {12,0xD63}, + [I(81,97)] = {12,0xD83}, + [I(82,97)] = {12,0xDA3}, + [I(83,97)] = {12,0xDC3}, + [I(84,97)] = {12,0xDE3}, + [I(85,97)] = {12,0xE03}, + [I(86,97)] = {12,0xE23}, + [I(87,97)] = {12,0xE43}, + [I(88,97)] = {13,0x1F83}, + [I(89,97)] = {12,0xE63}, + [I(90,97)] = {13,0x1FA3}, + [I(91,97)] = {18,0x3FF63}, + [I(92,97)] = {24,0xFFFE03}, + [I(93,97)] = {18,0x3FF83}, + [I(94,97)] = {19,0x7FF83}, + [I(95,97)] = {11,0x443}, + [I(96,97)] = {20,0xFFFA3}, + [I(97,97)] = {10,0x63}, + [I(98,97)] = {11,0x463}, + [I(99,97)] = {10,0x83}, + [I(100,97)] = {11,0x483}, + [I(101,97)] = {10,0xA3}, + [I(102,97)] = {11,0x4A3}, + [I(103,97)] = {11,0x4C3}, + [I(104,97)] = {11,0x4E3}, + [I(105,97)] = {10,0xC3}, + [I(106,97)] = {12,0xE83}, + [I(107,97)] = {12,0xEA3}, + [I(108,97)] = {11,0x503}, + [I(109,97)] = {11,0x523}, + [I(110,97)] = {11,0x543}, + [I(111,97)] = {10,0xE3}, + [I(112,97)] = {11,0x563}, + [I(113,97)] = {12,0xEC3}, + [I(114,97)] = {11,0x583}, + [I(115,97)] = {10,0x103}, + [I(116,97)] = {10,0x123}, + [I(117,97)] = {11,0x5A3}, + [I(118,97)] = {12,0xEE3}, + [I(119,97)] = {12,0xF03}, + [I(120,97)] = {12,0xF23}, + [I(121,97)] = {12,0xF43}, + [I(122,97)] = {12,0xF63}, + [I(123,97)] = {20,0xFFFC3}, + [I(124,97)] = {16,0xFF83}, + [I(125,97)] = {19,0x7FFA3}, + [I(126,97)] = {18,0x3FFA3}, + [I(127,97)] = {64,0}, + [I(128,97)] = {25,0x1FFFCC3}, + [I(129,97)] = {27,0x7FFFA43}, + [I(130,97)] = {25,0x1FFFCE3}, + [I(131,97)] = {25,0x1FFFD03}, + [I(132,97)] = {27,0x7FFFA63}, + [I(133,97)] = {27,0x7FFFA83}, + [I(134,97)] = {27,0x7FFFAA3}, + [I(135,97)] = {28,0xFFFFB23}, + [I(136,97)] = {27,0x7FFFAC3}, + [I(137,97)] = {28,0xFFFFB43}, + [I(138,97)] = {28,0xFFFFB63}, + [I(139,97)] = {28,0xFFFFB83}, + [I(140,97)] = {28,0xFFFFBA3}, + [I(141,97)] = {28,0xFFFFBC3}, + [I(142,97)] = {29,0x1FFFFD63}, + [I(143,97)] = {28,0xFFFFBE3}, + [I(144,97)] = {29,0x1FFFFD83}, + [I(145,97)] = {29,0x1FFFFDA3}, + [I(146,97)] = {27,0x7FFFAE3}, + [I(147,97)] = {28,0xFFFFC03}, + [I(148,97)] = {29,0x1FFFFDC3}, + [I(149,97)] = {28,0xFFFFC23}, + [I(150,97)] = {28,0xFFFFC43}, + [I(151,97)] = {28,0xFFFFC63}, + [I(152,97)] = {28,0xFFFFC83}, + [I(153,97)] = {26,0x3FFFB83}, + [I(154,97)] = {27,0x7FFFB03}, + [I(155,97)] = {28,0xFFFFCA3}, + [I(156,97)] = {27,0x7FFFB23}, + [I(157,97)] = {28,0xFFFFCC3}, + [I(158,97)] = {28,0xFFFFCE3}, + [I(159,97)] = {29,0x1FFFFDE3}, + [I(160,97)] = {27,0x7FFFB43}, + [I(161,97)] = {26,0x3FFFBA3}, + [I(162,97)] = {25,0x1FFFD23}, + [I(163,97)] = {27,0x7FFFB63}, + [I(164,97)] = {27,0x7FFFB83}, + [I(165,97)] = {28,0xFFFFD03}, + [I(166,97)] = {28,0xFFFFD23}, + [I(167,97)] = {26,0x3FFFBC3}, + [I(168,97)] = {28,0xFFFFD43}, + [I(169,97)] = {27,0x7FFFBA3}, + [I(170,97)] = {27,0x7FFFBC3}, + [I(171,97)] = {29,0x1FFFFE03}, + [I(172,97)] = {26,0x3FFFBE3}, + [I(173,97)] = {27,0x7FFFBE3}, + [I(174,97)] = {28,0xFFFFD63}, + [I(175,97)] = {28,0xFFFFD83}, + [I(176,97)] = {26,0x3FFFC03}, + [I(177,97)] = {26,0x3FFFC23}, + [I(178,97)] = {27,0x7FFFC03}, + [I(179,97)] = {26,0x3FFFC43}, + [I(180,97)] = {28,0xFFFFDA3}, + [I(181,97)] = {27,0x7FFFC23}, + [I(182,97)] = {28,0xFFFFDC3}, + [I(183,97)] = {28,0xFFFFDE3}, + [I(184,97)] = {25,0x1FFFD43}, + [I(185,97)] = {27,0x7FFFC43}, + [I(186,97)] = {27,0x7FFFC63}, + [I(187,97)] = {27,0x7FFFC83}, + [I(188,97)] = {28,0xFFFFE03}, + [I(189,97)] = {27,0x7FFFCA3}, + [I(190,97)] = {27,0x7FFFCC3}, + [I(191,97)] = {28,0xFFFFE23}, + [I(192,97)] = {31,0x7FFFFC03}, + [I(193,97)] = {31,0x7FFFFC23}, + [I(194,97)] = {25,0x1FFFD63}, + [I(195,97)] = {24,0xFFFE23}, + [I(196,97)] = {27,0x7FFFCE3}, + [I(197,97)] = {28,0xFFFFE43}, + [I(198,97)] = {27,0x7FFFD03}, + [I(199,97)] = {30,0x3FFFFD83}, + [I(200,97)] = {31,0x7FFFFC43}, + [I(201,97)] = {31,0x7FFFFC63}, + [I(202,97)] = {31,0x7FFFFC83}, + [I(203,97)] = {X32,0xFFFFFBC3}, + [I(204,97)] = {X32,0xFFFFFBE3}, + [I(205,97)] = {31,0x7FFFFCA3}, + [I(206,97)] = {29,0x1FFFFE23}, + [I(207,97)] = {30,0x3FFFFDA3}, + [I(208,97)] = {24,0xFFFE43}, + [I(209,97)] = {26,0x3FFFC63}, + [I(210,97)] = {31,0x7FFFFCC3}, + [I(211,97)] = {X32,0xFFFFFC03}, + [I(212,97)] = {X32,0xFFFFFC23}, + [I(213,97)] = {31,0x7FFFFCE3}, + [I(214,97)] = {X32,0xFFFFFC43}, + [I(215,97)] = {29,0x1FFFFE43}, + [I(216,97)] = {26,0x3FFFC83}, + [I(217,97)] = {26,0x3FFFCA3}, + [I(218,97)] = {31,0x7FFFFD03}, + [I(219,97)] = {31,0x7FFFFD23}, + [I(220,97)] = {64,0}, + [I(221,97)] = {X32,0xFFFFFC63}, + [I(222,97)] = {X32,0xFFFFFC83}, + [I(223,97)] = {X32,0xFFFFFCA3}, + [I(224,97)] = {25,0x1FFFD83}, + [I(225,97)] = {29,0x1FFFFE63}, + [I(226,97)] = {25,0x1FFFDA3}, + [I(227,97)] = {26,0x3FFFCC3}, + [I(228,97)] = {27,0x7FFFD23}, + [I(229,97)] = {26,0x3FFFCE3}, + [I(230,97)] = {26,0x3FFFD03}, + [I(231,97)] = {28,0xFFFFE63}, + [I(232,97)] = {27,0x7FFFD43}, + [I(233,97)] = {27,0x7FFFD63}, + [I(234,97)] = {30,0x3FFFFDC3}, + [I(235,97)] = {30,0x3FFFFDE3}, + [I(236,97)] = {29,0x1FFFFE83}, + [I(237,97)] = {29,0x1FFFFEA3}, + [I(238,97)] = {31,0x7FFFFD43}, + [I(239,97)] = {28,0xFFFFE83}, + [I(240,97)] = {31,0x7FFFFD63}, + [I(241,97)] = {X32,0xFFFFFCC3}, + [I(242,97)] = {31,0x7FFFFD83}, + [I(243,97)] = {31,0x7FFFFDA3}, + [I(244,97)] = {X32,0xFFFFFCE3}, + [I(245,97)] = {X32,0xFFFFFD03}, + [I(246,97)] = {X32,0xFFFFFD23}, + [I(247,97)] = {X32,0xFFFFFD43}, + [I(248,97)] = {X32,0xFFFFFD63}, + [I(249,97)] = {64,0}, + [I(250,97)] = {X32,0xFFFFFD83}, + [I(251,97)] = {X32,0xFFFFFDA3}, + [I(252,97)] = {X32,0xFFFFFDC3}, + [I(253,97)] = {X32,0xFFFFFDE3}, + [I(254,97)] = {X32,0xFFFFFE03}, + [I(255,97)] = {31,0x7FFFFDC3}, + [I(0,98)] = {19,0x7FE23}, + [I(1,98)] = {29,0x1FFFF623}, + [I(2,98)] = {64,0}, + [I(3,98)] = {64,0}, + [I(4,98)] = {64,0}, + [I(5,98)] = {64,0}, + [I(6,98)] = {64,0}, + [I(7,98)] = {64,0}, + [I(8,98)] = {64,0}, + [I(9,98)] = {30,0x3FFFFAA3}, + [I(10,98)] = {64,0}, + [I(11,98)] = {64,0}, + [I(12,98)] = {64,0}, + [I(13,98)] = {64,0}, + [I(14,98)] = {64,0}, + [I(15,98)] = {64,0}, + [I(16,98)] = {64,0}, + [I(17,98)] = {64,0}, + [I(18,98)] = {64,0}, + [I(19,98)] = {64,0}, + [I(20,98)] = {64,0}, + [I(21,98)] = {64,0}, + [I(22,98)] = {64,0}, + [I(23,98)] = {64,0}, + [I(24,98)] = {64,0}, + [I(25,98)] = {64,0}, + [I(26,98)] = {64,0}, + [I(27,98)] = {64,0}, + [I(28,98)] = {64,0}, + [I(29,98)] = {64,0}, + [I(30,98)] = {64,0}, + [I(31,98)] = {64,0}, + [I(32,98)] = {12,0x523}, + [I(33,98)] = {16,0xFE23}, + [I(34,98)] = {16,0xFE63}, + [I(35,98)] = {18,0x3FEA3}, + [I(36,98)] = {19,0x7FE63}, + [I(37,98)] = {12,0x563}, + [I(38,98)] = {14,0x3E23}, + [I(39,98)] = {17,0x1FEA3}, + [I(40,98)] = {16,0xFEA3}, + [I(41,98)] = {16,0xFEE3}, + [I(42,98)] = {14,0x3E63}, + [I(43,98)] = {17,0x1FEE3}, + [I(44,98)] = {14,0x3EA3}, + [I(45,98)] = {12,0x5A3}, + [I(46,98)] = {12,0x5E3}, + [I(47,98)] = {12,0x623}, + [I(48,98)] = {11,0x23}, + [I(49,98)] = {11,0x63}, + [I(50,98)] = {11,0xA3}, + [I(51,98)] = {12,0x663}, + [I(52,98)] = {12,0x6A3}, + [I(53,98)] = {12,0x6E3}, + [I(54,98)] = {12,0x723}, + [I(55,98)] = {12,0x763}, + [I(56,98)] = {12,0x7A3}, + [I(57,98)] = {12,0x7E3}, + [I(58,98)] = {13,0x1723}, + [I(59,98)] = {14,0x3EE3}, + [I(60,98)] = {21,0x1FFF23}, + [I(61,98)] = {12,0x823}, + [I(62,98)] = {18,0x3FEE3}, + [I(63,98)] = {16,0xFF23}, + [I(64,98)] = {19,0x7FEA3}, + [I(65,98)] = {12,0x863}, + [I(66,98)] = {13,0x1763}, + [I(67,98)] = {13,0x17A3}, + [I(68,98)] = {13,0x17E3}, + [I(69,98)] = {13,0x1823}, + [I(70,98)] = {13,0x1863}, + [I(71,98)] = {13,0x18A3}, + [I(72,98)] = {13,0x18E3}, + [I(73,98)] = {13,0x1923}, + [I(74,98)] = {13,0x1963}, + [I(75,98)] = {13,0x19A3}, + [I(76,98)] = {13,0x19E3}, + [I(77,98)] = {13,0x1A23}, + [I(78,98)] = {13,0x1A63}, + [I(79,98)] = {13,0x1AA3}, + [I(80,98)] = {13,0x1AE3}, + [I(81,98)] = {13,0x1B23}, + [I(82,98)] = {13,0x1B63}, + [I(83,98)] = {13,0x1BA3}, + [I(84,98)] = {13,0x1BE3}, + [I(85,98)] = {13,0x1C23}, + [I(86,98)] = {13,0x1C63}, + [I(87,98)] = {13,0x1CA3}, + [I(88,98)] = {14,0x3F23}, + [I(89,98)] = {13,0x1CE3}, + [I(90,98)] = {14,0x3F63}, + [I(91,98)] = {19,0x7FEE3}, + [I(92,98)] = {25,0x1FFFC23}, + [I(93,98)] = {19,0x7FF23}, + [I(94,98)] = {20,0xFFF23}, + [I(95,98)] = {12,0x8A3}, + [I(96,98)] = {21,0x1FFF63}, + [I(97,98)] = {11,0xE3}, + [I(98,98)] = {12,0x8E3}, + [I(99,98)] = {11,0x123}, + [I(100,98)] = {12,0x923}, + [I(101,98)] = {11,0x163}, + [I(102,98)] = {12,0x963}, + [I(103,98)] = {12,0x9A3}, + [I(104,98)] = {12,0x9E3}, + [I(105,98)] = {11,0x1A3}, + [I(106,98)] = {13,0x1D23}, + [I(107,98)] = {13,0x1D63}, + [I(108,98)] = {12,0xA23}, + [I(109,98)] = {12,0xA63}, + [I(110,98)] = {12,0xAA3}, + [I(111,98)] = {11,0x1E3}, + [I(112,98)] = {12,0xAE3}, + [I(113,98)] = {13,0x1DA3}, + [I(114,98)] = {12,0xB23}, + [I(115,98)] = {11,0x223}, + [I(116,98)] = {11,0x263}, + [I(117,98)] = {12,0xB63}, + [I(118,98)] = {13,0x1DE3}, + [I(119,98)] = {13,0x1E23}, + [I(120,98)] = {13,0x1E63}, + [I(121,98)] = {13,0x1EA3}, + [I(122,98)] = {13,0x1EE3}, + [I(123,98)] = {21,0x1FFFA3}, + [I(124,98)] = {17,0x1FF23}, + [I(125,98)] = {20,0xFFF63}, + [I(126,98)] = {19,0x7FF63}, + [I(127,98)] = {64,0}, + [I(128,98)] = {26,0x3FFF9A3}, + [I(129,98)] = {28,0xFFFF4A3}, + [I(130,98)] = {26,0x3FFF9E3}, + [I(131,98)] = {26,0x3FFFA23}, + [I(132,98)] = {28,0xFFFF4E3}, + [I(133,98)] = {28,0xFFFF523}, + [I(134,98)] = {28,0xFFFF563}, + [I(135,98)] = {29,0x1FFFF663}, + [I(136,98)] = {28,0xFFFF5A3}, + [I(137,98)] = {29,0x1FFFF6A3}, + [I(138,98)] = {29,0x1FFFF6E3}, + [I(139,98)] = {29,0x1FFFF723}, + [I(140,98)] = {29,0x1FFFF763}, + [I(141,98)] = {29,0x1FFFF7A3}, + [I(142,98)] = {30,0x3FFFFAE3}, + [I(143,98)] = {29,0x1FFFF7E3}, + [I(144,98)] = {30,0x3FFFFB23}, + [I(145,98)] = {30,0x3FFFFB63}, + [I(146,98)] = {28,0xFFFF5E3}, + [I(147,98)] = {29,0x1FFFF823}, + [I(148,98)] = {30,0x3FFFFBA3}, + [I(149,98)] = {29,0x1FFFF863}, + [I(150,98)] = {29,0x1FFFF8A3}, + [I(151,98)] = {29,0x1FFFF8E3}, + [I(152,98)] = {29,0x1FFFF923}, + [I(153,98)] = {27,0x7FFF723}, + [I(154,98)] = {28,0xFFFF623}, + [I(155,98)] = {29,0x1FFFF963}, + [I(156,98)] = {28,0xFFFF663}, + [I(157,98)] = {29,0x1FFFF9A3}, + [I(158,98)] = {29,0x1FFFF9E3}, + [I(159,98)] = {30,0x3FFFFBE3}, + [I(160,98)] = {28,0xFFFF6A3}, + [I(161,98)] = {27,0x7FFF763}, + [I(162,98)] = {26,0x3FFFA63}, + [I(163,98)] = {28,0xFFFF6E3}, + [I(164,98)] = {28,0xFFFF723}, + [I(165,98)] = {29,0x1FFFFA23}, + [I(166,98)] = {29,0x1FFFFA63}, + [I(167,98)] = {27,0x7FFF7A3}, + [I(168,98)] = {29,0x1FFFFAA3}, + [I(169,98)] = {28,0xFFFF763}, + [I(170,98)] = {28,0xFFFF7A3}, + [I(171,98)] = {30,0x3FFFFC23}, + [I(172,98)] = {27,0x7FFF7E3}, + [I(173,98)] = {28,0xFFFF7E3}, + [I(174,98)] = {29,0x1FFFFAE3}, + [I(175,98)] = {29,0x1FFFFB23}, + [I(176,98)] = {27,0x7FFF823}, + [I(177,98)] = {27,0x7FFF863}, + [I(178,98)] = {28,0xFFFF823}, + [I(179,98)] = {27,0x7FFF8A3}, + [I(180,98)] = {29,0x1FFFFB63}, + [I(181,98)] = {28,0xFFFF863}, + [I(182,98)] = {29,0x1FFFFBA3}, + [I(183,98)] = {29,0x1FFFFBE3}, + [I(184,98)] = {26,0x3FFFAA3}, + [I(185,98)] = {28,0xFFFF8A3}, + [I(186,98)] = {28,0xFFFF8E3}, + [I(187,98)] = {28,0xFFFF923}, + [I(188,98)] = {29,0x1FFFFC23}, + [I(189,98)] = {28,0xFFFF963}, + [I(190,98)] = {28,0xFFFF9A3}, + [I(191,98)] = {29,0x1FFFFC63}, + [I(192,98)] = {X32,0xFFFFF823}, + [I(193,98)] = {X32,0xFFFFF863}, + [I(194,98)] = {26,0x3FFFAE3}, + [I(195,98)] = {25,0x1FFFC63}, + [I(196,98)] = {28,0xFFFF9E3}, + [I(197,98)] = {29,0x1FFFFCA3}, + [I(198,98)] = {28,0xFFFFA23}, + [I(199,98)] = {31,0x7FFFFB23}, + [I(200,98)] = {X32,0xFFFFF8A3}, + [I(201,98)] = {X32,0xFFFFF8E3}, + [I(202,98)] = {X32,0xFFFFF923}, + [I(203,98)] = {64,0}, + [I(204,98)] = {64,0}, + [I(205,98)] = {X32,0xFFFFF963}, + [I(206,98)] = {30,0x3FFFFC63}, + [I(207,98)] = {31,0x7FFFFB63}, + [I(208,98)] = {25,0x1FFFCA3}, + [I(209,98)] = {27,0x7FFF8E3}, + [I(210,98)] = {X32,0xFFFFF9A3}, + [I(211,98)] = {64,0}, + [I(212,98)] = {64,0}, + [I(213,98)] = {X32,0xFFFFF9E3}, + [I(214,98)] = {64,0}, + [I(215,98)] = {30,0x3FFFFCA3}, + [I(216,98)] = {27,0x7FFF923}, + [I(217,98)] = {27,0x7FFF963}, + [I(218,98)] = {X32,0xFFFFFA23}, + [I(219,98)] = {X32,0xFFFFFA63}, + [I(220,98)] = {64,0}, + [I(221,98)] = {64,0}, + [I(222,98)] = {64,0}, + [I(223,98)] = {64,0}, + [I(224,98)] = {26,0x3FFFB23}, + [I(225,98)] = {30,0x3FFFFCE3}, + [I(226,98)] = {26,0x3FFFB63}, + [I(227,98)] = {27,0x7FFF9A3}, + [I(228,98)] = {28,0xFFFFA63}, + [I(229,98)] = {27,0x7FFF9E3}, + [I(230,98)] = {27,0x7FFFA23}, + [I(231,98)] = {29,0x1FFFFCE3}, + [I(232,98)] = {28,0xFFFFAA3}, + [I(233,98)] = {28,0xFFFFAE3}, + [I(234,98)] = {31,0x7FFFFBA3}, + [I(235,98)] = {31,0x7FFFFBE3}, + [I(236,98)] = {30,0x3FFFFD23}, + [I(237,98)] = {30,0x3FFFFD63}, + [I(238,98)] = {X32,0xFFFFFAA3}, + [I(239,98)] = {29,0x1FFFFD23}, + [I(240,98)] = {X32,0xFFFFFAE3}, + [I(241,98)] = {64,0}, + [I(242,98)] = {X32,0xFFFFFB23}, + [I(243,98)] = {X32,0xFFFFFB63}, + [I(244,98)] = {64,0}, + [I(245,98)] = {64,0}, + [I(246,98)] = {64,0}, + [I(247,98)] = {64,0}, + [I(248,98)] = {64,0}, + [I(249,98)] = {64,0}, + [I(250,98)] = {64,0}, + [I(251,98)] = {64,0}, + [I(252,98)] = {64,0}, + [I(253,98)] = {64,0}, + [I(254,98)] = {64,0}, + [I(255,98)] = {X32,0xFFFFFBA3}, + [I(0,99)] = {18,0x3FF04}, + [I(1,99)] = {28,0xFFFFB04}, + [I(2,99)] = {64,0}, + [I(3,99)] = {64,0}, + [I(4,99)] = {64,0}, + [I(5,99)] = {64,0}, + [I(6,99)] = {64,0}, + [I(7,99)] = {64,0}, + [I(8,99)] = {64,0}, + [I(9,99)] = {29,0x1FFFFD44}, + [I(10,99)] = {64,0}, + [I(11,99)] = {64,0}, + [I(12,99)] = {64,0}, + [I(13,99)] = {64,0}, + [I(14,99)] = {64,0}, + [I(15,99)] = {64,0}, + [I(16,99)] = {64,0}, + [I(17,99)] = {64,0}, + [I(18,99)] = {64,0}, + [I(19,99)] = {64,0}, + [I(20,99)] = {64,0}, + [I(21,99)] = {64,0}, + [I(22,99)] = {64,0}, + [I(23,99)] = {64,0}, + [I(24,99)] = {64,0}, + [I(25,99)] = {64,0}, + [I(26,99)] = {64,0}, + [I(27,99)] = {64,0}, + [I(28,99)] = {64,0}, + [I(29,99)] = {64,0}, + [I(30,99)] = {64,0}, + [I(31,99)] = {64,0}, + [I(32,99)] = {11,0x284}, + [I(33,99)] = {15,0x7F04}, + [I(34,99)] = {15,0x7F24}, + [I(35,99)] = {17,0x1FF44}, + [I(36,99)] = {18,0x3FF24}, + [I(37,99)] = {11,0x2A4}, + [I(38,99)] = {13,0x1F04}, + [I(39,99)] = {16,0xFF44}, + [I(40,99)] = {15,0x7F44}, + [I(41,99)] = {15,0x7F64}, + [I(42,99)] = {13,0x1F24}, + [I(43,99)] = {16,0xFF64}, + [I(44,99)] = {13,0x1F44}, + [I(45,99)] = {11,0x2C4}, + [I(46,99)] = {11,0x2E4}, + [I(47,99)] = {11,0x304}, + [I(48,99)] = {10,0x4}, + [I(49,99)] = {10,0x24}, + [I(50,99)] = {10,0x44}, + [I(51,99)] = {11,0x324}, + [I(52,99)] = {11,0x344}, + [I(53,99)] = {11,0x364}, + [I(54,99)] = {11,0x384}, + [I(55,99)] = {11,0x3A4}, + [I(56,99)] = {11,0x3C4}, + [I(57,99)] = {11,0x3E4}, + [I(58,99)] = {12,0xB84}, + [I(59,99)] = {13,0x1F64}, + [I(60,99)] = {20,0xFFF84}, + [I(61,99)] = {11,0x404}, + [I(62,99)] = {17,0x1FF64}, + [I(63,99)] = {15,0x7F84}, + [I(64,99)] = {18,0x3FF44}, + [I(65,99)] = {11,0x424}, + [I(66,99)] = {12,0xBA4}, + [I(67,99)] = {12,0xBC4}, + [I(68,99)] = {12,0xBE4}, + [I(69,99)] = {12,0xC04}, + [I(70,99)] = {12,0xC24}, + [I(71,99)] = {12,0xC44}, + [I(72,99)] = {12,0xC64}, + [I(73,99)] = {12,0xC84}, + [I(74,99)] = {12,0xCA4}, + [I(75,99)] = {12,0xCC4}, + [I(76,99)] = {12,0xCE4}, + [I(77,99)] = {12,0xD04}, + [I(78,99)] = {12,0xD24}, + [I(79,99)] = {12,0xD44}, + [I(80,99)] = {12,0xD64}, + [I(81,99)] = {12,0xD84}, + [I(82,99)] = {12,0xDA4}, + [I(83,99)] = {12,0xDC4}, + [I(84,99)] = {12,0xDE4}, + [I(85,99)] = {12,0xE04}, + [I(86,99)] = {12,0xE24}, + [I(87,99)] = {12,0xE44}, + [I(88,99)] = {13,0x1F84}, + [I(89,99)] = {12,0xE64}, + [I(90,99)] = {13,0x1FA4}, + [I(91,99)] = {18,0x3FF64}, + [I(92,99)] = {24,0xFFFE04}, + [I(93,99)] = {18,0x3FF84}, + [I(94,99)] = {19,0x7FF84}, + [I(95,99)] = {11,0x444}, + [I(96,99)] = {20,0xFFFA4}, + [I(97,99)] = {10,0x64}, + [I(98,99)] = {11,0x464}, + [I(99,99)] = {10,0x84}, + [I(100,99)] = {11,0x484}, + [I(101,99)] = {10,0xA4}, + [I(102,99)] = {11,0x4A4}, + [I(103,99)] = {11,0x4C4}, + [I(104,99)] = {11,0x4E4}, + [I(105,99)] = {10,0xC4}, + [I(106,99)] = {12,0xE84}, + [I(107,99)] = {12,0xEA4}, + [I(108,99)] = {11,0x504}, + [I(109,99)] = {11,0x524}, + [I(110,99)] = {11,0x544}, + [I(111,99)] = {10,0xE4}, + [I(112,99)] = {11,0x564}, + [I(113,99)] = {12,0xEC4}, + [I(114,99)] = {11,0x584}, + [I(115,99)] = {10,0x104}, + [I(116,99)] = {10,0x124}, + [I(117,99)] = {11,0x5A4}, + [I(118,99)] = {12,0xEE4}, + [I(119,99)] = {12,0xF04}, + [I(120,99)] = {12,0xF24}, + [I(121,99)] = {12,0xF44}, + [I(122,99)] = {12,0xF64}, + [I(123,99)] = {20,0xFFFC4}, + [I(124,99)] = {16,0xFF84}, + [I(125,99)] = {19,0x7FFA4}, + [I(126,99)] = {18,0x3FFA4}, + [I(127,99)] = {64,0}, + [I(128,99)] = {25,0x1FFFCC4}, + [I(129,99)] = {27,0x7FFFA44}, + [I(130,99)] = {25,0x1FFFCE4}, + [I(131,99)] = {25,0x1FFFD04}, + [I(132,99)] = {27,0x7FFFA64}, + [I(133,99)] = {27,0x7FFFA84}, + [I(134,99)] = {27,0x7FFFAA4}, + [I(135,99)] = {28,0xFFFFB24}, + [I(136,99)] = {27,0x7FFFAC4}, + [I(137,99)] = {28,0xFFFFB44}, + [I(138,99)] = {28,0xFFFFB64}, + [I(139,99)] = {28,0xFFFFB84}, + [I(140,99)] = {28,0xFFFFBA4}, + [I(141,99)] = {28,0xFFFFBC4}, + [I(142,99)] = {29,0x1FFFFD64}, + [I(143,99)] = {28,0xFFFFBE4}, + [I(144,99)] = {29,0x1FFFFD84}, + [I(145,99)] = {29,0x1FFFFDA4}, + [I(146,99)] = {27,0x7FFFAE4}, + [I(147,99)] = {28,0xFFFFC04}, + [I(148,99)] = {29,0x1FFFFDC4}, + [I(149,99)] = {28,0xFFFFC24}, + [I(150,99)] = {28,0xFFFFC44}, + [I(151,99)] = {28,0xFFFFC64}, + [I(152,99)] = {28,0xFFFFC84}, + [I(153,99)] = {26,0x3FFFB84}, + [I(154,99)] = {27,0x7FFFB04}, + [I(155,99)] = {28,0xFFFFCA4}, + [I(156,99)] = {27,0x7FFFB24}, + [I(157,99)] = {28,0xFFFFCC4}, + [I(158,99)] = {28,0xFFFFCE4}, + [I(159,99)] = {29,0x1FFFFDE4}, + [I(160,99)] = {27,0x7FFFB44}, + [I(161,99)] = {26,0x3FFFBA4}, + [I(162,99)] = {25,0x1FFFD24}, + [I(163,99)] = {27,0x7FFFB64}, + [I(164,99)] = {27,0x7FFFB84}, + [I(165,99)] = {28,0xFFFFD04}, + [I(166,99)] = {28,0xFFFFD24}, + [I(167,99)] = {26,0x3FFFBC4}, + [I(168,99)] = {28,0xFFFFD44}, + [I(169,99)] = {27,0x7FFFBA4}, + [I(170,99)] = {27,0x7FFFBC4}, + [I(171,99)] = {29,0x1FFFFE04}, + [I(172,99)] = {26,0x3FFFBE4}, + [I(173,99)] = {27,0x7FFFBE4}, + [I(174,99)] = {28,0xFFFFD64}, + [I(175,99)] = {28,0xFFFFD84}, + [I(176,99)] = {26,0x3FFFC04}, + [I(177,99)] = {26,0x3FFFC24}, + [I(178,99)] = {27,0x7FFFC04}, + [I(179,99)] = {26,0x3FFFC44}, + [I(180,99)] = {28,0xFFFFDA4}, + [I(181,99)] = {27,0x7FFFC24}, + [I(182,99)] = {28,0xFFFFDC4}, + [I(183,99)] = {28,0xFFFFDE4}, + [I(184,99)] = {25,0x1FFFD44}, + [I(185,99)] = {27,0x7FFFC44}, + [I(186,99)] = {27,0x7FFFC64}, + [I(187,99)] = {27,0x7FFFC84}, + [I(188,99)] = {28,0xFFFFE04}, + [I(189,99)] = {27,0x7FFFCA4}, + [I(190,99)] = {27,0x7FFFCC4}, + [I(191,99)] = {28,0xFFFFE24}, + [I(192,99)] = {31,0x7FFFFC04}, + [I(193,99)] = {31,0x7FFFFC24}, + [I(194,99)] = {25,0x1FFFD64}, + [I(195,99)] = {24,0xFFFE24}, + [I(196,99)] = {27,0x7FFFCE4}, + [I(197,99)] = {28,0xFFFFE44}, + [I(198,99)] = {27,0x7FFFD04}, + [I(199,99)] = {30,0x3FFFFD84}, + [I(200,99)] = {31,0x7FFFFC44}, + [I(201,99)] = {31,0x7FFFFC64}, + [I(202,99)] = {31,0x7FFFFC84}, + [I(203,99)] = {X32,0xFFFFFBC4}, + [I(204,99)] = {X32,0xFFFFFBE4}, + [I(205,99)] = {31,0x7FFFFCA4}, + [I(206,99)] = {29,0x1FFFFE24}, + [I(207,99)] = {30,0x3FFFFDA4}, + [I(208,99)] = {24,0xFFFE44}, + [I(209,99)] = {26,0x3FFFC64}, + [I(210,99)] = {31,0x7FFFFCC4}, + [I(211,99)] = {X32,0xFFFFFC04}, + [I(212,99)] = {X32,0xFFFFFC24}, + [I(213,99)] = {31,0x7FFFFCE4}, + [I(214,99)] = {X32,0xFFFFFC44}, + [I(215,99)] = {29,0x1FFFFE44}, + [I(216,99)] = {26,0x3FFFC84}, + [I(217,99)] = {26,0x3FFFCA4}, + [I(218,99)] = {31,0x7FFFFD04}, + [I(219,99)] = {31,0x7FFFFD24}, + [I(220,99)] = {64,0}, + [I(221,99)] = {X32,0xFFFFFC64}, + [I(222,99)] = {X32,0xFFFFFC84}, + [I(223,99)] = {X32,0xFFFFFCA4}, + [I(224,99)] = {25,0x1FFFD84}, + [I(225,99)] = {29,0x1FFFFE64}, + [I(226,99)] = {25,0x1FFFDA4}, + [I(227,99)] = {26,0x3FFFCC4}, + [I(228,99)] = {27,0x7FFFD24}, + [I(229,99)] = {26,0x3FFFCE4}, + [I(230,99)] = {26,0x3FFFD04}, + [I(231,99)] = {28,0xFFFFE64}, + [I(232,99)] = {27,0x7FFFD44}, + [I(233,99)] = {27,0x7FFFD64}, + [I(234,99)] = {30,0x3FFFFDC4}, + [I(235,99)] = {30,0x3FFFFDE4}, + [I(236,99)] = {29,0x1FFFFE84}, + [I(237,99)] = {29,0x1FFFFEA4}, + [I(238,99)] = {31,0x7FFFFD44}, + [I(239,99)] = {28,0xFFFFE84}, + [I(240,99)] = {31,0x7FFFFD64}, + [I(241,99)] = {X32,0xFFFFFCC4}, + [I(242,99)] = {31,0x7FFFFD84}, + [I(243,99)] = {31,0x7FFFFDA4}, + [I(244,99)] = {X32,0xFFFFFCE4}, + [I(245,99)] = {X32,0xFFFFFD04}, + [I(246,99)] = {X32,0xFFFFFD24}, + [I(247,99)] = {X32,0xFFFFFD44}, + [I(248,99)] = {X32,0xFFFFFD64}, + [I(249,99)] = {64,0}, + [I(250,99)] = {X32,0xFFFFFD84}, + [I(251,99)] = {X32,0xFFFFFDA4}, + [I(252,99)] = {X32,0xFFFFFDC4}, + [I(253,99)] = {X32,0xFFFFFDE4}, + [I(254,99)] = {X32,0xFFFFFE04}, + [I(255,99)] = {31,0x7FFFFDC4}, + [I(0,100)] = {19,0x7FE24}, + [I(1,100)] = {29,0x1FFFF624}, + [I(2,100)] = {64,0}, + [I(3,100)] = {64,0}, + [I(4,100)] = {64,0}, + [I(5,100)] = {64,0}, + [I(6,100)] = {64,0}, + [I(7,100)] = {64,0}, + [I(8,100)] = {64,0}, + [I(9,100)] = {30,0x3FFFFAA4}, + [I(10,100)] = {64,0}, + [I(11,100)] = {64,0}, + [I(12,100)] = {64,0}, + [I(13,100)] = {64,0}, + [I(14,100)] = {64,0}, + [I(15,100)] = {64,0}, + [I(16,100)] = {64,0}, + [I(17,100)] = {64,0}, + [I(18,100)] = {64,0}, + [I(19,100)] = {64,0}, + [I(20,100)] = {64,0}, + [I(21,100)] = {64,0}, + [I(22,100)] = {64,0}, + [I(23,100)] = {64,0}, + [I(24,100)] = {64,0}, + [I(25,100)] = {64,0}, + [I(26,100)] = {64,0}, + [I(27,100)] = {64,0}, + [I(28,100)] = {64,0}, + [I(29,100)] = {64,0}, + [I(30,100)] = {64,0}, + [I(31,100)] = {64,0}, + [I(32,100)] = {12,0x524}, + [I(33,100)] = {16,0xFE24}, + [I(34,100)] = {16,0xFE64}, + [I(35,100)] = {18,0x3FEA4}, + [I(36,100)] = {19,0x7FE64}, + [I(37,100)] = {12,0x564}, + [I(38,100)] = {14,0x3E24}, + [I(39,100)] = {17,0x1FEA4}, + [I(40,100)] = {16,0xFEA4}, + [I(41,100)] = {16,0xFEE4}, + [I(42,100)] = {14,0x3E64}, + [I(43,100)] = {17,0x1FEE4}, + [I(44,100)] = {14,0x3EA4}, + [I(45,100)] = {12,0x5A4}, + [I(46,100)] = {12,0x5E4}, + [I(47,100)] = {12,0x624}, + [I(48,100)] = {11,0x24}, + [I(49,100)] = {11,0x64}, + [I(50,100)] = {11,0xA4}, + [I(51,100)] = {12,0x664}, + [I(52,100)] = {12,0x6A4}, + [I(53,100)] = {12,0x6E4}, + [I(54,100)] = {12,0x724}, + [I(55,100)] = {12,0x764}, + [I(56,100)] = {12,0x7A4}, + [I(57,100)] = {12,0x7E4}, + [I(58,100)] = {13,0x1724}, + [I(59,100)] = {14,0x3EE4}, + [I(60,100)] = {21,0x1FFF24}, + [I(61,100)] = {12,0x824}, + [I(62,100)] = {18,0x3FEE4}, + [I(63,100)] = {16,0xFF24}, + [I(64,100)] = {19,0x7FEA4}, + [I(65,100)] = {12,0x864}, + [I(66,100)] = {13,0x1764}, + [I(67,100)] = {13,0x17A4}, + [I(68,100)] = {13,0x17E4}, + [I(69,100)] = {13,0x1824}, + [I(70,100)] = {13,0x1864}, + [I(71,100)] = {13,0x18A4}, + [I(72,100)] = {13,0x18E4}, + [I(73,100)] = {13,0x1924}, + [I(74,100)] = {13,0x1964}, + [I(75,100)] = {13,0x19A4}, + [I(76,100)] = {13,0x19E4}, + [I(77,100)] = {13,0x1A24}, + [I(78,100)] = {13,0x1A64}, + [I(79,100)] = {13,0x1AA4}, + [I(80,100)] = {13,0x1AE4}, + [I(81,100)] = {13,0x1B24}, + [I(82,100)] = {13,0x1B64}, + [I(83,100)] = {13,0x1BA4}, + [I(84,100)] = {13,0x1BE4}, + [I(85,100)] = {13,0x1C24}, + [I(86,100)] = {13,0x1C64}, + [I(87,100)] = {13,0x1CA4}, + [I(88,100)] = {14,0x3F24}, + [I(89,100)] = {13,0x1CE4}, + [I(90,100)] = {14,0x3F64}, + [I(91,100)] = {19,0x7FEE4}, + [I(92,100)] = {25,0x1FFFC24}, + [I(93,100)] = {19,0x7FF24}, + [I(94,100)] = {20,0xFFF24}, + [I(95,100)] = {12,0x8A4}, + [I(96,100)] = {21,0x1FFF64}, + [I(97,100)] = {11,0xE4}, + [I(98,100)] = {12,0x8E4}, + [I(99,100)] = {11,0x124}, + [I(100,100)] = {12,0x924}, + [I(101,100)] = {11,0x164}, + [I(102,100)] = {12,0x964}, + [I(103,100)] = {12,0x9A4}, + [I(104,100)] = {12,0x9E4}, + [I(105,100)] = {11,0x1A4}, + [I(106,100)] = {13,0x1D24}, + [I(107,100)] = {13,0x1D64}, + [I(108,100)] = {12,0xA24}, + [I(109,100)] = {12,0xA64}, + [I(110,100)] = {12,0xAA4}, + [I(111,100)] = {11,0x1E4}, + [I(112,100)] = {12,0xAE4}, + [I(113,100)] = {13,0x1DA4}, + [I(114,100)] = {12,0xB24}, + [I(115,100)] = {11,0x224}, + [I(116,100)] = {11,0x264}, + [I(117,100)] = {12,0xB64}, + [I(118,100)] = {13,0x1DE4}, + [I(119,100)] = {13,0x1E24}, + [I(120,100)] = {13,0x1E64}, + [I(121,100)] = {13,0x1EA4}, + [I(122,100)] = {13,0x1EE4}, + [I(123,100)] = {21,0x1FFFA4}, + [I(124,100)] = {17,0x1FF24}, + [I(125,100)] = {20,0xFFF64}, + [I(126,100)] = {19,0x7FF64}, + [I(127,100)] = {64,0}, + [I(128,100)] = {26,0x3FFF9A4}, + [I(129,100)] = {28,0xFFFF4A4}, + [I(130,100)] = {26,0x3FFF9E4}, + [I(131,100)] = {26,0x3FFFA24}, + [I(132,100)] = {28,0xFFFF4E4}, + [I(133,100)] = {28,0xFFFF524}, + [I(134,100)] = {28,0xFFFF564}, + [I(135,100)] = {29,0x1FFFF664}, + [I(136,100)] = {28,0xFFFF5A4}, + [I(137,100)] = {29,0x1FFFF6A4}, + [I(138,100)] = {29,0x1FFFF6E4}, + [I(139,100)] = {29,0x1FFFF724}, + [I(140,100)] = {29,0x1FFFF764}, + [I(141,100)] = {29,0x1FFFF7A4}, + [I(142,100)] = {30,0x3FFFFAE4}, + [I(143,100)] = {29,0x1FFFF7E4}, + [I(144,100)] = {30,0x3FFFFB24}, + [I(145,100)] = {30,0x3FFFFB64}, + [I(146,100)] = {28,0xFFFF5E4}, + [I(147,100)] = {29,0x1FFFF824}, + [I(148,100)] = {30,0x3FFFFBA4}, + [I(149,100)] = {29,0x1FFFF864}, + [I(150,100)] = {29,0x1FFFF8A4}, + [I(151,100)] = {29,0x1FFFF8E4}, + [I(152,100)] = {29,0x1FFFF924}, + [I(153,100)] = {27,0x7FFF724}, + [I(154,100)] = {28,0xFFFF624}, + [I(155,100)] = {29,0x1FFFF964}, + [I(156,100)] = {28,0xFFFF664}, + [I(157,100)] = {29,0x1FFFF9A4}, + [I(158,100)] = {29,0x1FFFF9E4}, + [I(159,100)] = {30,0x3FFFFBE4}, + [I(160,100)] = {28,0xFFFF6A4}, + [I(161,100)] = {27,0x7FFF764}, + [I(162,100)] = {26,0x3FFFA64}, + [I(163,100)] = {28,0xFFFF6E4}, + [I(164,100)] = {28,0xFFFF724}, + [I(165,100)] = {29,0x1FFFFA24}, + [I(166,100)] = {29,0x1FFFFA64}, + [I(167,100)] = {27,0x7FFF7A4}, + [I(168,100)] = {29,0x1FFFFAA4}, + [I(169,100)] = {28,0xFFFF764}, + [I(170,100)] = {28,0xFFFF7A4}, + [I(171,100)] = {30,0x3FFFFC24}, + [I(172,100)] = {27,0x7FFF7E4}, + [I(173,100)] = {28,0xFFFF7E4}, + [I(174,100)] = {29,0x1FFFFAE4}, + [I(175,100)] = {29,0x1FFFFB24}, + [I(176,100)] = {27,0x7FFF824}, + [I(177,100)] = {27,0x7FFF864}, + [I(178,100)] = {28,0xFFFF824}, + [I(179,100)] = {27,0x7FFF8A4}, + [I(180,100)] = {29,0x1FFFFB64}, + [I(181,100)] = {28,0xFFFF864}, + [I(182,100)] = {29,0x1FFFFBA4}, + [I(183,100)] = {29,0x1FFFFBE4}, + [I(184,100)] = {26,0x3FFFAA4}, + [I(185,100)] = {28,0xFFFF8A4}, + [I(186,100)] = {28,0xFFFF8E4}, + [I(187,100)] = {28,0xFFFF924}, + [I(188,100)] = {29,0x1FFFFC24}, + [I(189,100)] = {28,0xFFFF964}, + [I(190,100)] = {28,0xFFFF9A4}, + [I(191,100)] = {29,0x1FFFFC64}, + [I(192,100)] = {X32,0xFFFFF824}, + [I(193,100)] = {X32,0xFFFFF864}, + [I(194,100)] = {26,0x3FFFAE4}, + [I(195,100)] = {25,0x1FFFC64}, + [I(196,100)] = {28,0xFFFF9E4}, + [I(197,100)] = {29,0x1FFFFCA4}, + [I(198,100)] = {28,0xFFFFA24}, + [I(199,100)] = {31,0x7FFFFB24}, + [I(200,100)] = {X32,0xFFFFF8A4}, + [I(201,100)] = {X32,0xFFFFF8E4}, + [I(202,100)] = {X32,0xFFFFF924}, + [I(203,100)] = {64,0}, + [I(204,100)] = {64,0}, + [I(205,100)] = {X32,0xFFFFF964}, + [I(206,100)] = {30,0x3FFFFC64}, + [I(207,100)] = {31,0x7FFFFB64}, + [I(208,100)] = {25,0x1FFFCA4}, + [I(209,100)] = {27,0x7FFF8E4}, + [I(210,100)] = {X32,0xFFFFF9A4}, + [I(211,100)] = {64,0}, + [I(212,100)] = {64,0}, + [I(213,100)] = {X32,0xFFFFF9E4}, + [I(214,100)] = {64,0}, + [I(215,100)] = {30,0x3FFFFCA4}, + [I(216,100)] = {27,0x7FFF924}, + [I(217,100)] = {27,0x7FFF964}, + [I(218,100)] = {X32,0xFFFFFA24}, + [I(219,100)] = {X32,0xFFFFFA64}, + [I(220,100)] = {64,0}, + [I(221,100)] = {64,0}, + [I(222,100)] = {64,0}, + [I(223,100)] = {64,0}, + [I(224,100)] = {26,0x3FFFB24}, + [I(225,100)] = {30,0x3FFFFCE4}, + [I(226,100)] = {26,0x3FFFB64}, + [I(227,100)] = {27,0x7FFF9A4}, + [I(228,100)] = {28,0xFFFFA64}, + [I(229,100)] = {27,0x7FFF9E4}, + [I(230,100)] = {27,0x7FFFA24}, + [I(231,100)] = {29,0x1FFFFCE4}, + [I(232,100)] = {28,0xFFFFAA4}, + [I(233,100)] = {28,0xFFFFAE4}, + [I(234,100)] = {31,0x7FFFFBA4}, + [I(235,100)] = {31,0x7FFFFBE4}, + [I(236,100)] = {30,0x3FFFFD24}, + [I(237,100)] = {30,0x3FFFFD64}, + [I(238,100)] = {X32,0xFFFFFAA4}, + [I(239,100)] = {29,0x1FFFFD24}, + [I(240,100)] = {X32,0xFFFFFAE4}, + [I(241,100)] = {64,0}, + [I(242,100)] = {X32,0xFFFFFB24}, + [I(243,100)] = {X32,0xFFFFFB64}, + [I(244,100)] = {64,0}, + [I(245,100)] = {64,0}, + [I(246,100)] = {64,0}, + [I(247,100)] = {64,0}, + [I(248,100)] = {64,0}, + [I(249,100)] = {64,0}, + [I(250,100)] = {64,0}, + [I(251,100)] = {64,0}, + [I(252,100)] = {64,0}, + [I(253,100)] = {64,0}, + [I(254,100)] = {64,0}, + [I(255,100)] = {X32,0xFFFFFBA4}, + [I(0,101)] = {18,0x3FF05}, + [I(1,101)] = {28,0xFFFFB05}, + [I(2,101)] = {64,0}, + [I(3,101)] = {64,0}, + [I(4,101)] = {64,0}, + [I(5,101)] = {64,0}, + [I(6,101)] = {64,0}, + [I(7,101)] = {64,0}, + [I(8,101)] = {64,0}, + [I(9,101)] = {29,0x1FFFFD45}, + [I(10,101)] = {64,0}, + [I(11,101)] = {64,0}, + [I(12,101)] = {64,0}, + [I(13,101)] = {64,0}, + [I(14,101)] = {64,0}, + [I(15,101)] = {64,0}, + [I(16,101)] = {64,0}, + [I(17,101)] = {64,0}, + [I(18,101)] = {64,0}, + [I(19,101)] = {64,0}, + [I(20,101)] = {64,0}, + [I(21,101)] = {64,0}, + [I(22,101)] = {64,0}, + [I(23,101)] = {64,0}, + [I(24,101)] = {64,0}, + [I(25,101)] = {64,0}, + [I(26,101)] = {64,0}, + [I(27,101)] = {64,0}, + [I(28,101)] = {64,0}, + [I(29,101)] = {64,0}, + [I(30,101)] = {64,0}, + [I(31,101)] = {64,0}, + [I(32,101)] = {11,0x285}, + [I(33,101)] = {15,0x7F05}, + [I(34,101)] = {15,0x7F25}, + [I(35,101)] = {17,0x1FF45}, + [I(36,101)] = {18,0x3FF25}, + [I(37,101)] = {11,0x2A5}, + [I(38,101)] = {13,0x1F05}, + [I(39,101)] = {16,0xFF45}, + [I(40,101)] = {15,0x7F45}, + [I(41,101)] = {15,0x7F65}, + [I(42,101)] = {13,0x1F25}, + [I(43,101)] = {16,0xFF65}, + [I(44,101)] = {13,0x1F45}, + [I(45,101)] = {11,0x2C5}, + [I(46,101)] = {11,0x2E5}, + [I(47,101)] = {11,0x305}, + [I(48,101)] = {10,0x5}, + [I(49,101)] = {10,0x25}, + [I(50,101)] = {10,0x45}, + [I(51,101)] = {11,0x325}, + [I(52,101)] = {11,0x345}, + [I(53,101)] = {11,0x365}, + [I(54,101)] = {11,0x385}, + [I(55,101)] = {11,0x3A5}, + [I(56,101)] = {11,0x3C5}, + [I(57,101)] = {11,0x3E5}, + [I(58,101)] = {12,0xB85}, + [I(59,101)] = {13,0x1F65}, + [I(60,101)] = {20,0xFFF85}, + [I(61,101)] = {11,0x405}, + [I(62,101)] = {17,0x1FF65}, + [I(63,101)] = {15,0x7F85}, + [I(64,101)] = {18,0x3FF45}, + [I(65,101)] = {11,0x425}, + [I(66,101)] = {12,0xBA5}, + [I(67,101)] = {12,0xBC5}, + [I(68,101)] = {12,0xBE5}, + [I(69,101)] = {12,0xC05}, + [I(70,101)] = {12,0xC25}, + [I(71,101)] = {12,0xC45}, + [I(72,101)] = {12,0xC65}, + [I(73,101)] = {12,0xC85}, + [I(74,101)] = {12,0xCA5}, + [I(75,101)] = {12,0xCC5}, + [I(76,101)] = {12,0xCE5}, + [I(77,101)] = {12,0xD05}, + [I(78,101)] = {12,0xD25}, + [I(79,101)] = {12,0xD45}, + [I(80,101)] = {12,0xD65}, + [I(81,101)] = {12,0xD85}, + [I(82,101)] = {12,0xDA5}, + [I(83,101)] = {12,0xDC5}, + [I(84,101)] = {12,0xDE5}, + [I(85,101)] = {12,0xE05}, + [I(86,101)] = {12,0xE25}, + [I(87,101)] = {12,0xE45}, + [I(88,101)] = {13,0x1F85}, + [I(89,101)] = {12,0xE65}, + [I(90,101)] = {13,0x1FA5}, + [I(91,101)] = {18,0x3FF65}, + [I(92,101)] = {24,0xFFFE05}, + [I(93,101)] = {18,0x3FF85}, + [I(94,101)] = {19,0x7FF85}, + [I(95,101)] = {11,0x445}, + [I(96,101)] = {20,0xFFFA5}, + [I(97,101)] = {10,0x65}, + [I(98,101)] = {11,0x465}, + [I(99,101)] = {10,0x85}, + [I(100,101)] = {11,0x485}, + [I(101,101)] = {10,0xA5}, + [I(102,101)] = {11,0x4A5}, + [I(103,101)] = {11,0x4C5}, + [I(104,101)] = {11,0x4E5}, + [I(105,101)] = {10,0xC5}, + [I(106,101)] = {12,0xE85}, + [I(107,101)] = {12,0xEA5}, + [I(108,101)] = {11,0x505}, + [I(109,101)] = {11,0x525}, + [I(110,101)] = {11,0x545}, + [I(111,101)] = {10,0xE5}, + [I(112,101)] = {11,0x565}, + [I(113,101)] = {12,0xEC5}, + [I(114,101)] = {11,0x585}, + [I(115,101)] = {10,0x105}, + [I(116,101)] = {10,0x125}, + [I(117,101)] = {11,0x5A5}, + [I(118,101)] = {12,0xEE5}, + [I(119,101)] = {12,0xF05}, + [I(120,101)] = {12,0xF25}, + [I(121,101)] = {12,0xF45}, + [I(122,101)] = {12,0xF65}, + [I(123,101)] = {20,0xFFFC5}, + [I(124,101)] = {16,0xFF85}, + [I(125,101)] = {19,0x7FFA5}, + [I(126,101)] = {18,0x3FFA5}, + [I(127,101)] = {64,0}, + [I(128,101)] = {25,0x1FFFCC5}, + [I(129,101)] = {27,0x7FFFA45}, + [I(130,101)] = {25,0x1FFFCE5}, + [I(131,101)] = {25,0x1FFFD05}, + [I(132,101)] = {27,0x7FFFA65}, + [I(133,101)] = {27,0x7FFFA85}, + [I(134,101)] = {27,0x7FFFAA5}, + [I(135,101)] = {28,0xFFFFB25}, + [I(136,101)] = {27,0x7FFFAC5}, + [I(137,101)] = {28,0xFFFFB45}, + [I(138,101)] = {28,0xFFFFB65}, + [I(139,101)] = {28,0xFFFFB85}, + [I(140,101)] = {28,0xFFFFBA5}, + [I(141,101)] = {28,0xFFFFBC5}, + [I(142,101)] = {29,0x1FFFFD65}, + [I(143,101)] = {28,0xFFFFBE5}, + [I(144,101)] = {29,0x1FFFFD85}, + [I(145,101)] = {29,0x1FFFFDA5}, + [I(146,101)] = {27,0x7FFFAE5}, + [I(147,101)] = {28,0xFFFFC05}, + [I(148,101)] = {29,0x1FFFFDC5}, + [I(149,101)] = {28,0xFFFFC25}, + [I(150,101)] = {28,0xFFFFC45}, + [I(151,101)] = {28,0xFFFFC65}, + [I(152,101)] = {28,0xFFFFC85}, + [I(153,101)] = {26,0x3FFFB85}, + [I(154,101)] = {27,0x7FFFB05}, + [I(155,101)] = {28,0xFFFFCA5}, + [I(156,101)] = {27,0x7FFFB25}, + [I(157,101)] = {28,0xFFFFCC5}, + [I(158,101)] = {28,0xFFFFCE5}, + [I(159,101)] = {29,0x1FFFFDE5}, + [I(160,101)] = {27,0x7FFFB45}, + [I(161,101)] = {26,0x3FFFBA5}, + [I(162,101)] = {25,0x1FFFD25}, + [I(163,101)] = {27,0x7FFFB65}, + [I(164,101)] = {27,0x7FFFB85}, + [I(165,101)] = {28,0xFFFFD05}, + [I(166,101)] = {28,0xFFFFD25}, + [I(167,101)] = {26,0x3FFFBC5}, + [I(168,101)] = {28,0xFFFFD45}, + [I(169,101)] = {27,0x7FFFBA5}, + [I(170,101)] = {27,0x7FFFBC5}, + [I(171,101)] = {29,0x1FFFFE05}, + [I(172,101)] = {26,0x3FFFBE5}, + [I(173,101)] = {27,0x7FFFBE5}, + [I(174,101)] = {28,0xFFFFD65}, + [I(175,101)] = {28,0xFFFFD85}, + [I(176,101)] = {26,0x3FFFC05}, + [I(177,101)] = {26,0x3FFFC25}, + [I(178,101)] = {27,0x7FFFC05}, + [I(179,101)] = {26,0x3FFFC45}, + [I(180,101)] = {28,0xFFFFDA5}, + [I(181,101)] = {27,0x7FFFC25}, + [I(182,101)] = {28,0xFFFFDC5}, + [I(183,101)] = {28,0xFFFFDE5}, + [I(184,101)] = {25,0x1FFFD45}, + [I(185,101)] = {27,0x7FFFC45}, + [I(186,101)] = {27,0x7FFFC65}, + [I(187,101)] = {27,0x7FFFC85}, + [I(188,101)] = {28,0xFFFFE05}, + [I(189,101)] = {27,0x7FFFCA5}, + [I(190,101)] = {27,0x7FFFCC5}, + [I(191,101)] = {28,0xFFFFE25}, + [I(192,101)] = {31,0x7FFFFC05}, + [I(193,101)] = {31,0x7FFFFC25}, + [I(194,101)] = {25,0x1FFFD65}, + [I(195,101)] = {24,0xFFFE25}, + [I(196,101)] = {27,0x7FFFCE5}, + [I(197,101)] = {28,0xFFFFE45}, + [I(198,101)] = {27,0x7FFFD05}, + [I(199,101)] = {30,0x3FFFFD85}, + [I(200,101)] = {31,0x7FFFFC45}, + [I(201,101)] = {31,0x7FFFFC65}, + [I(202,101)] = {31,0x7FFFFC85}, + [I(203,101)] = {X32,0xFFFFFBC5}, + [I(204,101)] = {X32,0xFFFFFBE5}, + [I(205,101)] = {31,0x7FFFFCA5}, + [I(206,101)] = {29,0x1FFFFE25}, + [I(207,101)] = {30,0x3FFFFDA5}, + [I(208,101)] = {24,0xFFFE45}, + [I(209,101)] = {26,0x3FFFC65}, + [I(210,101)] = {31,0x7FFFFCC5}, + [I(211,101)] = {X32,0xFFFFFC05}, + [I(212,101)] = {X32,0xFFFFFC25}, + [I(213,101)] = {31,0x7FFFFCE5}, + [I(214,101)] = {X32,0xFFFFFC45}, + [I(215,101)] = {29,0x1FFFFE45}, + [I(216,101)] = {26,0x3FFFC85}, + [I(217,101)] = {26,0x3FFFCA5}, + [I(218,101)] = {31,0x7FFFFD05}, + [I(219,101)] = {31,0x7FFFFD25}, + [I(220,101)] = {64,0}, + [I(221,101)] = {X32,0xFFFFFC65}, + [I(222,101)] = {X32,0xFFFFFC85}, + [I(223,101)] = {X32,0xFFFFFCA5}, + [I(224,101)] = {25,0x1FFFD85}, + [I(225,101)] = {29,0x1FFFFE65}, + [I(226,101)] = {25,0x1FFFDA5}, + [I(227,101)] = {26,0x3FFFCC5}, + [I(228,101)] = {27,0x7FFFD25}, + [I(229,101)] = {26,0x3FFFCE5}, + [I(230,101)] = {26,0x3FFFD05}, + [I(231,101)] = {28,0xFFFFE65}, + [I(232,101)] = {27,0x7FFFD45}, + [I(233,101)] = {27,0x7FFFD65}, + [I(234,101)] = {30,0x3FFFFDC5}, + [I(235,101)] = {30,0x3FFFFDE5}, + [I(236,101)] = {29,0x1FFFFE85}, + [I(237,101)] = {29,0x1FFFFEA5}, + [I(238,101)] = {31,0x7FFFFD45}, + [I(239,101)] = {28,0xFFFFE85}, + [I(240,101)] = {31,0x7FFFFD65}, + [I(241,101)] = {X32,0xFFFFFCC5}, + [I(242,101)] = {31,0x7FFFFD85}, + [I(243,101)] = {31,0x7FFFFDA5}, + [I(244,101)] = {X32,0xFFFFFCE5}, + [I(245,101)] = {X32,0xFFFFFD05}, + [I(246,101)] = {X32,0xFFFFFD25}, + [I(247,101)] = {X32,0xFFFFFD45}, + [I(248,101)] = {X32,0xFFFFFD65}, + [I(249,101)] = {64,0}, + [I(250,101)] = {X32,0xFFFFFD85}, + [I(251,101)] = {X32,0xFFFFFDA5}, + [I(252,101)] = {X32,0xFFFFFDC5}, + [I(253,101)] = {X32,0xFFFFFDE5}, + [I(254,101)] = {X32,0xFFFFFE05}, + [I(255,101)] = {31,0x7FFFFDC5}, + [I(0,102)] = {19,0x7FE25}, + [I(1,102)] = {29,0x1FFFF625}, + [I(2,102)] = {64,0}, + [I(3,102)] = {64,0}, + [I(4,102)] = {64,0}, + [I(5,102)] = {64,0}, + [I(6,102)] = {64,0}, + [I(7,102)] = {64,0}, + [I(8,102)] = {64,0}, + [I(9,102)] = {30,0x3FFFFAA5}, + [I(10,102)] = {64,0}, + [I(11,102)] = {64,0}, + [I(12,102)] = {64,0}, + [I(13,102)] = {64,0}, + [I(14,102)] = {64,0}, + [I(15,102)] = {64,0}, + [I(16,102)] = {64,0}, + [I(17,102)] = {64,0}, + [I(18,102)] = {64,0}, + [I(19,102)] = {64,0}, + [I(20,102)] = {64,0}, + [I(21,102)] = {64,0}, + [I(22,102)] = {64,0}, + [I(23,102)] = {64,0}, + [I(24,102)] = {64,0}, + [I(25,102)] = {64,0}, + [I(26,102)] = {64,0}, + [I(27,102)] = {64,0}, + [I(28,102)] = {64,0}, + [I(29,102)] = {64,0}, + [I(30,102)] = {64,0}, + [I(31,102)] = {64,0}, + [I(32,102)] = {12,0x525}, + [I(33,102)] = {16,0xFE25}, + [I(34,102)] = {16,0xFE65}, + [I(35,102)] = {18,0x3FEA5}, + [I(36,102)] = {19,0x7FE65}, + [I(37,102)] = {12,0x565}, + [I(38,102)] = {14,0x3E25}, + [I(39,102)] = {17,0x1FEA5}, + [I(40,102)] = {16,0xFEA5}, + [I(41,102)] = {16,0xFEE5}, + [I(42,102)] = {14,0x3E65}, + [I(43,102)] = {17,0x1FEE5}, + [I(44,102)] = {14,0x3EA5}, + [I(45,102)] = {12,0x5A5}, + [I(46,102)] = {12,0x5E5}, + [I(47,102)] = {12,0x625}, + [I(48,102)] = {11,0x25}, + [I(49,102)] = {11,0x65}, + [I(50,102)] = {11,0xA5}, + [I(51,102)] = {12,0x665}, + [I(52,102)] = {12,0x6A5}, + [I(53,102)] = {12,0x6E5}, + [I(54,102)] = {12,0x725}, + [I(55,102)] = {12,0x765}, + [I(56,102)] = {12,0x7A5}, + [I(57,102)] = {12,0x7E5}, + [I(58,102)] = {13,0x1725}, + [I(59,102)] = {14,0x3EE5}, + [I(60,102)] = {21,0x1FFF25}, + [I(61,102)] = {12,0x825}, + [I(62,102)] = {18,0x3FEE5}, + [I(63,102)] = {16,0xFF25}, + [I(64,102)] = {19,0x7FEA5}, + [I(65,102)] = {12,0x865}, + [I(66,102)] = {13,0x1765}, + [I(67,102)] = {13,0x17A5}, + [I(68,102)] = {13,0x17E5}, + [I(69,102)] = {13,0x1825}, + [I(70,102)] = {13,0x1865}, + [I(71,102)] = {13,0x18A5}, + [I(72,102)] = {13,0x18E5}, + [I(73,102)] = {13,0x1925}, + [I(74,102)] = {13,0x1965}, + [I(75,102)] = {13,0x19A5}, + [I(76,102)] = {13,0x19E5}, + [I(77,102)] = {13,0x1A25}, + [I(78,102)] = {13,0x1A65}, + [I(79,102)] = {13,0x1AA5}, + [I(80,102)] = {13,0x1AE5}, + [I(81,102)] = {13,0x1B25}, + [I(82,102)] = {13,0x1B65}, + [I(83,102)] = {13,0x1BA5}, + [I(84,102)] = {13,0x1BE5}, + [I(85,102)] = {13,0x1C25}, + [I(86,102)] = {13,0x1C65}, + [I(87,102)] = {13,0x1CA5}, + [I(88,102)] = {14,0x3F25}, + [I(89,102)] = {13,0x1CE5}, + [I(90,102)] = {14,0x3F65}, + [I(91,102)] = {19,0x7FEE5}, + [I(92,102)] = {25,0x1FFFC25}, + [I(93,102)] = {19,0x7FF25}, + [I(94,102)] = {20,0xFFF25}, + [I(95,102)] = {12,0x8A5}, + [I(96,102)] = {21,0x1FFF65}, + [I(97,102)] = {11,0xE5}, + [I(98,102)] = {12,0x8E5}, + [I(99,102)] = {11,0x125}, + [I(100,102)] = {12,0x925}, + [I(101,102)] = {11,0x165}, + [I(102,102)] = {12,0x965}, + [I(103,102)] = {12,0x9A5}, + [I(104,102)] = {12,0x9E5}, + [I(105,102)] = {11,0x1A5}, + [I(106,102)] = {13,0x1D25}, + [I(107,102)] = {13,0x1D65}, + [I(108,102)] = {12,0xA25}, + [I(109,102)] = {12,0xA65}, + [I(110,102)] = {12,0xAA5}, + [I(111,102)] = {11,0x1E5}, + [I(112,102)] = {12,0xAE5}, + [I(113,102)] = {13,0x1DA5}, + [I(114,102)] = {12,0xB25}, + [I(115,102)] = {11,0x225}, + [I(116,102)] = {11,0x265}, + [I(117,102)] = {12,0xB65}, + [I(118,102)] = {13,0x1DE5}, + [I(119,102)] = {13,0x1E25}, + [I(120,102)] = {13,0x1E65}, + [I(121,102)] = {13,0x1EA5}, + [I(122,102)] = {13,0x1EE5}, + [I(123,102)] = {21,0x1FFFA5}, + [I(124,102)] = {17,0x1FF25}, + [I(125,102)] = {20,0xFFF65}, + [I(126,102)] = {19,0x7FF65}, + [I(127,102)] = {64,0}, + [I(128,102)] = {26,0x3FFF9A5}, + [I(129,102)] = {28,0xFFFF4A5}, + [I(130,102)] = {26,0x3FFF9E5}, + [I(131,102)] = {26,0x3FFFA25}, + [I(132,102)] = {28,0xFFFF4E5}, + [I(133,102)] = {28,0xFFFF525}, + [I(134,102)] = {28,0xFFFF565}, + [I(135,102)] = {29,0x1FFFF665}, + [I(136,102)] = {28,0xFFFF5A5}, + [I(137,102)] = {29,0x1FFFF6A5}, + [I(138,102)] = {29,0x1FFFF6E5}, + [I(139,102)] = {29,0x1FFFF725}, + [I(140,102)] = {29,0x1FFFF765}, + [I(141,102)] = {29,0x1FFFF7A5}, + [I(142,102)] = {30,0x3FFFFAE5}, + [I(143,102)] = {29,0x1FFFF7E5}, + [I(144,102)] = {30,0x3FFFFB25}, + [I(145,102)] = {30,0x3FFFFB65}, + [I(146,102)] = {28,0xFFFF5E5}, + [I(147,102)] = {29,0x1FFFF825}, + [I(148,102)] = {30,0x3FFFFBA5}, + [I(149,102)] = {29,0x1FFFF865}, + [I(150,102)] = {29,0x1FFFF8A5}, + [I(151,102)] = {29,0x1FFFF8E5}, + [I(152,102)] = {29,0x1FFFF925}, + [I(153,102)] = {27,0x7FFF725}, + [I(154,102)] = {28,0xFFFF625}, + [I(155,102)] = {29,0x1FFFF965}, + [I(156,102)] = {28,0xFFFF665}, + [I(157,102)] = {29,0x1FFFF9A5}, + [I(158,102)] = {29,0x1FFFF9E5}, + [I(159,102)] = {30,0x3FFFFBE5}, + [I(160,102)] = {28,0xFFFF6A5}, + [I(161,102)] = {27,0x7FFF765}, + [I(162,102)] = {26,0x3FFFA65}, + [I(163,102)] = {28,0xFFFF6E5}, + [I(164,102)] = {28,0xFFFF725}, + [I(165,102)] = {29,0x1FFFFA25}, + [I(166,102)] = {29,0x1FFFFA65}, + [I(167,102)] = {27,0x7FFF7A5}, + [I(168,102)] = {29,0x1FFFFAA5}, + [I(169,102)] = {28,0xFFFF765}, + [I(170,102)] = {28,0xFFFF7A5}, + [I(171,102)] = {30,0x3FFFFC25}, + [I(172,102)] = {27,0x7FFF7E5}, + [I(173,102)] = {28,0xFFFF7E5}, + [I(174,102)] = {29,0x1FFFFAE5}, + [I(175,102)] = {29,0x1FFFFB25}, + [I(176,102)] = {27,0x7FFF825}, + [I(177,102)] = {27,0x7FFF865}, + [I(178,102)] = {28,0xFFFF825}, + [I(179,102)] = {27,0x7FFF8A5}, + [I(180,102)] = {29,0x1FFFFB65}, + [I(181,102)] = {28,0xFFFF865}, + [I(182,102)] = {29,0x1FFFFBA5}, + [I(183,102)] = {29,0x1FFFFBE5}, + [I(184,102)] = {26,0x3FFFAA5}, + [I(185,102)] = {28,0xFFFF8A5}, + [I(186,102)] = {28,0xFFFF8E5}, + [I(187,102)] = {28,0xFFFF925}, + [I(188,102)] = {29,0x1FFFFC25}, + [I(189,102)] = {28,0xFFFF965}, + [I(190,102)] = {28,0xFFFF9A5}, + [I(191,102)] = {29,0x1FFFFC65}, + [I(192,102)] = {X32,0xFFFFF825}, + [I(193,102)] = {X32,0xFFFFF865}, + [I(194,102)] = {26,0x3FFFAE5}, + [I(195,102)] = {25,0x1FFFC65}, + [I(196,102)] = {28,0xFFFF9E5}, + [I(197,102)] = {29,0x1FFFFCA5}, + [I(198,102)] = {28,0xFFFFA25}, + [I(199,102)] = {31,0x7FFFFB25}, + [I(200,102)] = {X32,0xFFFFF8A5}, + [I(201,102)] = {X32,0xFFFFF8E5}, + [I(202,102)] = {X32,0xFFFFF925}, + [I(203,102)] = {64,0}, + [I(204,102)] = {64,0}, + [I(205,102)] = {X32,0xFFFFF965}, + [I(206,102)] = {30,0x3FFFFC65}, + [I(207,102)] = {31,0x7FFFFB65}, + [I(208,102)] = {25,0x1FFFCA5}, + [I(209,102)] = {27,0x7FFF8E5}, + [I(210,102)] = {X32,0xFFFFF9A5}, + [I(211,102)] = {64,0}, + [I(212,102)] = {64,0}, + [I(213,102)] = {X32,0xFFFFF9E5}, + [I(214,102)] = {64,0}, + [I(215,102)] = {30,0x3FFFFCA5}, + [I(216,102)] = {27,0x7FFF925}, + [I(217,102)] = {27,0x7FFF965}, + [I(218,102)] = {X32,0xFFFFFA25}, + [I(219,102)] = {X32,0xFFFFFA65}, + [I(220,102)] = {64,0}, + [I(221,102)] = {64,0}, + [I(222,102)] = {64,0}, + [I(223,102)] = {64,0}, + [I(224,102)] = {26,0x3FFFB25}, + [I(225,102)] = {30,0x3FFFFCE5}, + [I(226,102)] = {26,0x3FFFB65}, + [I(227,102)] = {27,0x7FFF9A5}, + [I(228,102)] = {28,0xFFFFA65}, + [I(229,102)] = {27,0x7FFF9E5}, + [I(230,102)] = {27,0x7FFFA25}, + [I(231,102)] = {29,0x1FFFFCE5}, + [I(232,102)] = {28,0xFFFFAA5}, + [I(233,102)] = {28,0xFFFFAE5}, + [I(234,102)] = {31,0x7FFFFBA5}, + [I(235,102)] = {31,0x7FFFFBE5}, + [I(236,102)] = {30,0x3FFFFD25}, + [I(237,102)] = {30,0x3FFFFD65}, + [I(238,102)] = {X32,0xFFFFFAA5}, + [I(239,102)] = {29,0x1FFFFD25}, + [I(240,102)] = {X32,0xFFFFFAE5}, + [I(241,102)] = {64,0}, + [I(242,102)] = {X32,0xFFFFFB25}, + [I(243,102)] = {X32,0xFFFFFB65}, + [I(244,102)] = {64,0}, + [I(245,102)] = {64,0}, + [I(246,102)] = {64,0}, + [I(247,102)] = {64,0}, + [I(248,102)] = {64,0}, + [I(249,102)] = {64,0}, + [I(250,102)] = {64,0}, + [I(251,102)] = {64,0}, + [I(252,102)] = {64,0}, + [I(253,102)] = {64,0}, + [I(254,102)] = {64,0}, + [I(255,102)] = {X32,0xFFFFFBA5}, + [I(0,103)] = {19,0x7FE26}, + [I(1,103)] = {29,0x1FFFF626}, + [I(2,103)] = {64,0}, + [I(3,103)] = {64,0}, + [I(4,103)] = {64,0}, + [I(5,103)] = {64,0}, + [I(6,103)] = {64,0}, + [I(7,103)] = {64,0}, + [I(8,103)] = {64,0}, + [I(9,103)] = {30,0x3FFFFAA6}, + [I(10,103)] = {64,0}, + [I(11,103)] = {64,0}, + [I(12,103)] = {64,0}, + [I(13,103)] = {64,0}, + [I(14,103)] = {64,0}, + [I(15,103)] = {64,0}, + [I(16,103)] = {64,0}, + [I(17,103)] = {64,0}, + [I(18,103)] = {64,0}, + [I(19,103)] = {64,0}, + [I(20,103)] = {64,0}, + [I(21,103)] = {64,0}, + [I(22,103)] = {64,0}, + [I(23,103)] = {64,0}, + [I(24,103)] = {64,0}, + [I(25,103)] = {64,0}, + [I(26,103)] = {64,0}, + [I(27,103)] = {64,0}, + [I(28,103)] = {64,0}, + [I(29,103)] = {64,0}, + [I(30,103)] = {64,0}, + [I(31,103)] = {64,0}, + [I(32,103)] = {12,0x526}, + [I(33,103)] = {16,0xFE26}, + [I(34,103)] = {16,0xFE66}, + [I(35,103)] = {18,0x3FEA6}, + [I(36,103)] = {19,0x7FE66}, + [I(37,103)] = {12,0x566}, + [I(38,103)] = {14,0x3E26}, + [I(39,103)] = {17,0x1FEA6}, + [I(40,103)] = {16,0xFEA6}, + [I(41,103)] = {16,0xFEE6}, + [I(42,103)] = {14,0x3E66}, + [I(43,103)] = {17,0x1FEE6}, + [I(44,103)] = {14,0x3EA6}, + [I(45,103)] = {12,0x5A6}, + [I(46,103)] = {12,0x5E6}, + [I(47,103)] = {12,0x626}, + [I(48,103)] = {11,0x26}, + [I(49,103)] = {11,0x66}, + [I(50,103)] = {11,0xA6}, + [I(51,103)] = {12,0x666}, + [I(52,103)] = {12,0x6A6}, + [I(53,103)] = {12,0x6E6}, + [I(54,103)] = {12,0x726}, + [I(55,103)] = {12,0x766}, + [I(56,103)] = {12,0x7A6}, + [I(57,103)] = {12,0x7E6}, + [I(58,103)] = {13,0x1726}, + [I(59,103)] = {14,0x3EE6}, + [I(60,103)] = {21,0x1FFF26}, + [I(61,103)] = {12,0x826}, + [I(62,103)] = {18,0x3FEE6}, + [I(63,103)] = {16,0xFF26}, + [I(64,103)] = {19,0x7FEA6}, + [I(65,103)] = {12,0x866}, + [I(66,103)] = {13,0x1766}, + [I(67,103)] = {13,0x17A6}, + [I(68,103)] = {13,0x17E6}, + [I(69,103)] = {13,0x1826}, + [I(70,103)] = {13,0x1866}, + [I(71,103)] = {13,0x18A6}, + [I(72,103)] = {13,0x18E6}, + [I(73,103)] = {13,0x1926}, + [I(74,103)] = {13,0x1966}, + [I(75,103)] = {13,0x19A6}, + [I(76,103)] = {13,0x19E6}, + [I(77,103)] = {13,0x1A26}, + [I(78,103)] = {13,0x1A66}, + [I(79,103)] = {13,0x1AA6}, + [I(80,103)] = {13,0x1AE6}, + [I(81,103)] = {13,0x1B26}, + [I(82,103)] = {13,0x1B66}, + [I(83,103)] = {13,0x1BA6}, + [I(84,103)] = {13,0x1BE6}, + [I(85,103)] = {13,0x1C26}, + [I(86,103)] = {13,0x1C66}, + [I(87,103)] = {13,0x1CA6}, + [I(88,103)] = {14,0x3F26}, + [I(89,103)] = {13,0x1CE6}, + [I(90,103)] = {14,0x3F66}, + [I(91,103)] = {19,0x7FEE6}, + [I(92,103)] = {25,0x1FFFC26}, + [I(93,103)] = {19,0x7FF26}, + [I(94,103)] = {20,0xFFF26}, + [I(95,103)] = {12,0x8A6}, + [I(96,103)] = {21,0x1FFF66}, + [I(97,103)] = {11,0xE6}, + [I(98,103)] = {12,0x8E6}, + [I(99,103)] = {11,0x126}, + [I(100,103)] = {12,0x926}, + [I(101,103)] = {11,0x166}, + [I(102,103)] = {12,0x966}, + [I(103,103)] = {12,0x9A6}, + [I(104,103)] = {12,0x9E6}, + [I(105,103)] = {11,0x1A6}, + [I(106,103)] = {13,0x1D26}, + [I(107,103)] = {13,0x1D66}, + [I(108,103)] = {12,0xA26}, + [I(109,103)] = {12,0xA66}, + [I(110,103)] = {12,0xAA6}, + [I(111,103)] = {11,0x1E6}, + [I(112,103)] = {12,0xAE6}, + [I(113,103)] = {13,0x1DA6}, + [I(114,103)] = {12,0xB26}, + [I(115,103)] = {11,0x226}, + [I(116,103)] = {11,0x266}, + [I(117,103)] = {12,0xB66}, + [I(118,103)] = {13,0x1DE6}, + [I(119,103)] = {13,0x1E26}, + [I(120,103)] = {13,0x1E66}, + [I(121,103)] = {13,0x1EA6}, + [I(122,103)] = {13,0x1EE6}, + [I(123,103)] = {21,0x1FFFA6}, + [I(124,103)] = {17,0x1FF26}, + [I(125,103)] = {20,0xFFF66}, + [I(126,103)] = {19,0x7FF66}, + [I(127,103)] = {64,0}, + [I(128,103)] = {26,0x3FFF9A6}, + [I(129,103)] = {28,0xFFFF4A6}, + [I(130,103)] = {26,0x3FFF9E6}, + [I(131,103)] = {26,0x3FFFA26}, + [I(132,103)] = {28,0xFFFF4E6}, + [I(133,103)] = {28,0xFFFF526}, + [I(134,103)] = {28,0xFFFF566}, + [I(135,103)] = {29,0x1FFFF666}, + [I(136,103)] = {28,0xFFFF5A6}, + [I(137,103)] = {29,0x1FFFF6A6}, + [I(138,103)] = {29,0x1FFFF6E6}, + [I(139,103)] = {29,0x1FFFF726}, + [I(140,103)] = {29,0x1FFFF766}, + [I(141,103)] = {29,0x1FFFF7A6}, + [I(142,103)] = {30,0x3FFFFAE6}, + [I(143,103)] = {29,0x1FFFF7E6}, + [I(144,103)] = {30,0x3FFFFB26}, + [I(145,103)] = {30,0x3FFFFB66}, + [I(146,103)] = {28,0xFFFF5E6}, + [I(147,103)] = {29,0x1FFFF826}, + [I(148,103)] = {30,0x3FFFFBA6}, + [I(149,103)] = {29,0x1FFFF866}, + [I(150,103)] = {29,0x1FFFF8A6}, + [I(151,103)] = {29,0x1FFFF8E6}, + [I(152,103)] = {29,0x1FFFF926}, + [I(153,103)] = {27,0x7FFF726}, + [I(154,103)] = {28,0xFFFF626}, + [I(155,103)] = {29,0x1FFFF966}, + [I(156,103)] = {28,0xFFFF666}, + [I(157,103)] = {29,0x1FFFF9A6}, + [I(158,103)] = {29,0x1FFFF9E6}, + [I(159,103)] = {30,0x3FFFFBE6}, + [I(160,103)] = {28,0xFFFF6A6}, + [I(161,103)] = {27,0x7FFF766}, + [I(162,103)] = {26,0x3FFFA66}, + [I(163,103)] = {28,0xFFFF6E6}, + [I(164,103)] = {28,0xFFFF726}, + [I(165,103)] = {29,0x1FFFFA26}, + [I(166,103)] = {29,0x1FFFFA66}, + [I(167,103)] = {27,0x7FFF7A6}, + [I(168,103)] = {29,0x1FFFFAA6}, + [I(169,103)] = {28,0xFFFF766}, + [I(170,103)] = {28,0xFFFF7A6}, + [I(171,103)] = {30,0x3FFFFC26}, + [I(172,103)] = {27,0x7FFF7E6}, + [I(173,103)] = {28,0xFFFF7E6}, + [I(174,103)] = {29,0x1FFFFAE6}, + [I(175,103)] = {29,0x1FFFFB26}, + [I(176,103)] = {27,0x7FFF826}, + [I(177,103)] = {27,0x7FFF866}, + [I(178,103)] = {28,0xFFFF826}, + [I(179,103)] = {27,0x7FFF8A6}, + [I(180,103)] = {29,0x1FFFFB66}, + [I(181,103)] = {28,0xFFFF866}, + [I(182,103)] = {29,0x1FFFFBA6}, + [I(183,103)] = {29,0x1FFFFBE6}, + [I(184,103)] = {26,0x3FFFAA6}, + [I(185,103)] = {28,0xFFFF8A6}, + [I(186,103)] = {28,0xFFFF8E6}, + [I(187,103)] = {28,0xFFFF926}, + [I(188,103)] = {29,0x1FFFFC26}, + [I(189,103)] = {28,0xFFFF966}, + [I(190,103)] = {28,0xFFFF9A6}, + [I(191,103)] = {29,0x1FFFFC66}, + [I(192,103)] = {X32,0xFFFFF826}, + [I(193,103)] = {X32,0xFFFFF866}, + [I(194,103)] = {26,0x3FFFAE6}, + [I(195,103)] = {25,0x1FFFC66}, + [I(196,103)] = {28,0xFFFF9E6}, + [I(197,103)] = {29,0x1FFFFCA6}, + [I(198,103)] = {28,0xFFFFA26}, + [I(199,103)] = {31,0x7FFFFB26}, + [I(200,103)] = {X32,0xFFFFF8A6}, + [I(201,103)] = {X32,0xFFFFF8E6}, + [I(202,103)] = {X32,0xFFFFF926}, + [I(203,103)] = {64,0}, + [I(204,103)] = {64,0}, + [I(205,103)] = {X32,0xFFFFF966}, + [I(206,103)] = {30,0x3FFFFC66}, + [I(207,103)] = {31,0x7FFFFB66}, + [I(208,103)] = {25,0x1FFFCA6}, + [I(209,103)] = {27,0x7FFF8E6}, + [I(210,103)] = {X32,0xFFFFF9A6}, + [I(211,103)] = {64,0}, + [I(212,103)] = {64,0}, + [I(213,103)] = {X32,0xFFFFF9E6}, + [I(214,103)] = {64,0}, + [I(215,103)] = {30,0x3FFFFCA6}, + [I(216,103)] = {27,0x7FFF926}, + [I(217,103)] = {27,0x7FFF966}, + [I(218,103)] = {X32,0xFFFFFA26}, + [I(219,103)] = {X32,0xFFFFFA66}, + [I(220,103)] = {64,0}, + [I(221,103)] = {64,0}, + [I(222,103)] = {64,0}, + [I(223,103)] = {64,0}, + [I(224,103)] = {26,0x3FFFB26}, + [I(225,103)] = {30,0x3FFFFCE6}, + [I(226,103)] = {26,0x3FFFB66}, + [I(227,103)] = {27,0x7FFF9A6}, + [I(228,103)] = {28,0xFFFFA66}, + [I(229,103)] = {27,0x7FFF9E6}, + [I(230,103)] = {27,0x7FFFA26}, + [I(231,103)] = {29,0x1FFFFCE6}, + [I(232,103)] = {28,0xFFFFAA6}, + [I(233,103)] = {28,0xFFFFAE6}, + [I(234,103)] = {31,0x7FFFFBA6}, + [I(235,103)] = {31,0x7FFFFBE6}, + [I(236,103)] = {30,0x3FFFFD26}, + [I(237,103)] = {30,0x3FFFFD66}, + [I(238,103)] = {X32,0xFFFFFAA6}, + [I(239,103)] = {29,0x1FFFFD26}, + [I(240,103)] = {X32,0xFFFFFAE6}, + [I(241,103)] = {64,0}, + [I(242,103)] = {X32,0xFFFFFB26}, + [I(243,103)] = {X32,0xFFFFFB66}, + [I(244,103)] = {64,0}, + [I(245,103)] = {64,0}, + [I(246,103)] = {64,0}, + [I(247,103)] = {64,0}, + [I(248,103)] = {64,0}, + [I(249,103)] = {64,0}, + [I(250,103)] = {64,0}, + [I(251,103)] = {64,0}, + [I(252,103)] = {64,0}, + [I(253,103)] = {64,0}, + [I(254,103)] = {64,0}, + [I(255,103)] = {X32,0xFFFFFBA6}, + [I(0,104)] = {19,0x7FE27}, + [I(1,104)] = {29,0x1FFFF627}, + [I(2,104)] = {64,0}, + [I(3,104)] = {64,0}, + [I(4,104)] = {64,0}, + [I(5,104)] = {64,0}, + [I(6,104)] = {64,0}, + [I(7,104)] = {64,0}, + [I(8,104)] = {64,0}, + [I(9,104)] = {30,0x3FFFFAA7}, + [I(10,104)] = {64,0}, + [I(11,104)] = {64,0}, + [I(12,104)] = {64,0}, + [I(13,104)] = {64,0}, + [I(14,104)] = {64,0}, + [I(15,104)] = {64,0}, + [I(16,104)] = {64,0}, + [I(17,104)] = {64,0}, + [I(18,104)] = {64,0}, + [I(19,104)] = {64,0}, + [I(20,104)] = {64,0}, + [I(21,104)] = {64,0}, + [I(22,104)] = {64,0}, + [I(23,104)] = {64,0}, + [I(24,104)] = {64,0}, + [I(25,104)] = {64,0}, + [I(26,104)] = {64,0}, + [I(27,104)] = {64,0}, + [I(28,104)] = {64,0}, + [I(29,104)] = {64,0}, + [I(30,104)] = {64,0}, + [I(31,104)] = {64,0}, + [I(32,104)] = {12,0x527}, + [I(33,104)] = {16,0xFE27}, + [I(34,104)] = {16,0xFE67}, + [I(35,104)] = {18,0x3FEA7}, + [I(36,104)] = {19,0x7FE67}, + [I(37,104)] = {12,0x567}, + [I(38,104)] = {14,0x3E27}, + [I(39,104)] = {17,0x1FEA7}, + [I(40,104)] = {16,0xFEA7}, + [I(41,104)] = {16,0xFEE7}, + [I(42,104)] = {14,0x3E67}, + [I(43,104)] = {17,0x1FEE7}, + [I(44,104)] = {14,0x3EA7}, + [I(45,104)] = {12,0x5A7}, + [I(46,104)] = {12,0x5E7}, + [I(47,104)] = {12,0x627}, + [I(48,104)] = {11,0x27}, + [I(49,104)] = {11,0x67}, + [I(50,104)] = {11,0xA7}, + [I(51,104)] = {12,0x667}, + [I(52,104)] = {12,0x6A7}, + [I(53,104)] = {12,0x6E7}, + [I(54,104)] = {12,0x727}, + [I(55,104)] = {12,0x767}, + [I(56,104)] = {12,0x7A7}, + [I(57,104)] = {12,0x7E7}, + [I(58,104)] = {13,0x1727}, + [I(59,104)] = {14,0x3EE7}, + [I(60,104)] = {21,0x1FFF27}, + [I(61,104)] = {12,0x827}, + [I(62,104)] = {18,0x3FEE7}, + [I(63,104)] = {16,0xFF27}, + [I(64,104)] = {19,0x7FEA7}, + [I(65,104)] = {12,0x867}, + [I(66,104)] = {13,0x1767}, + [I(67,104)] = {13,0x17A7}, + [I(68,104)] = {13,0x17E7}, + [I(69,104)] = {13,0x1827}, + [I(70,104)] = {13,0x1867}, + [I(71,104)] = {13,0x18A7}, + [I(72,104)] = {13,0x18E7}, + [I(73,104)] = {13,0x1927}, + [I(74,104)] = {13,0x1967}, + [I(75,104)] = {13,0x19A7}, + [I(76,104)] = {13,0x19E7}, + [I(77,104)] = {13,0x1A27}, + [I(78,104)] = {13,0x1A67}, + [I(79,104)] = {13,0x1AA7}, + [I(80,104)] = {13,0x1AE7}, + [I(81,104)] = {13,0x1B27}, + [I(82,104)] = {13,0x1B67}, + [I(83,104)] = {13,0x1BA7}, + [I(84,104)] = {13,0x1BE7}, + [I(85,104)] = {13,0x1C27}, + [I(86,104)] = {13,0x1C67}, + [I(87,104)] = {13,0x1CA7}, + [I(88,104)] = {14,0x3F27}, + [I(89,104)] = {13,0x1CE7}, + [I(90,104)] = {14,0x3F67}, + [I(91,104)] = {19,0x7FEE7}, + [I(92,104)] = {25,0x1FFFC27}, + [I(93,104)] = {19,0x7FF27}, + [I(94,104)] = {20,0xFFF27}, + [I(95,104)] = {12,0x8A7}, + [I(96,104)] = {21,0x1FFF67}, + [I(97,104)] = {11,0xE7}, + [I(98,104)] = {12,0x8E7}, + [I(99,104)] = {11,0x127}, + [I(100,104)] = {12,0x927}, + [I(101,104)] = {11,0x167}, + [I(102,104)] = {12,0x967}, + [I(103,104)] = {12,0x9A7}, + [I(104,104)] = {12,0x9E7}, + [I(105,104)] = {11,0x1A7}, + [I(106,104)] = {13,0x1D27}, + [I(107,104)] = {13,0x1D67}, + [I(108,104)] = {12,0xA27}, + [I(109,104)] = {12,0xA67}, + [I(110,104)] = {12,0xAA7}, + [I(111,104)] = {11,0x1E7}, + [I(112,104)] = {12,0xAE7}, + [I(113,104)] = {13,0x1DA7}, + [I(114,104)] = {12,0xB27}, + [I(115,104)] = {11,0x227}, + [I(116,104)] = {11,0x267}, + [I(117,104)] = {12,0xB67}, + [I(118,104)] = {13,0x1DE7}, + [I(119,104)] = {13,0x1E27}, + [I(120,104)] = {13,0x1E67}, + [I(121,104)] = {13,0x1EA7}, + [I(122,104)] = {13,0x1EE7}, + [I(123,104)] = {21,0x1FFFA7}, + [I(124,104)] = {17,0x1FF27}, + [I(125,104)] = {20,0xFFF67}, + [I(126,104)] = {19,0x7FF67}, + [I(127,104)] = {64,0}, + [I(128,104)] = {26,0x3FFF9A7}, + [I(129,104)] = {28,0xFFFF4A7}, + [I(130,104)] = {26,0x3FFF9E7}, + [I(131,104)] = {26,0x3FFFA27}, + [I(132,104)] = {28,0xFFFF4E7}, + [I(133,104)] = {28,0xFFFF527}, + [I(134,104)] = {28,0xFFFF567}, + [I(135,104)] = {29,0x1FFFF667}, + [I(136,104)] = {28,0xFFFF5A7}, + [I(137,104)] = {29,0x1FFFF6A7}, + [I(138,104)] = {29,0x1FFFF6E7}, + [I(139,104)] = {29,0x1FFFF727}, + [I(140,104)] = {29,0x1FFFF767}, + [I(141,104)] = {29,0x1FFFF7A7}, + [I(142,104)] = {30,0x3FFFFAE7}, + [I(143,104)] = {29,0x1FFFF7E7}, + [I(144,104)] = {30,0x3FFFFB27}, + [I(145,104)] = {30,0x3FFFFB67}, + [I(146,104)] = {28,0xFFFF5E7}, + [I(147,104)] = {29,0x1FFFF827}, + [I(148,104)] = {30,0x3FFFFBA7}, + [I(149,104)] = {29,0x1FFFF867}, + [I(150,104)] = {29,0x1FFFF8A7}, + [I(151,104)] = {29,0x1FFFF8E7}, + [I(152,104)] = {29,0x1FFFF927}, + [I(153,104)] = {27,0x7FFF727}, + [I(154,104)] = {28,0xFFFF627}, + [I(155,104)] = {29,0x1FFFF967}, + [I(156,104)] = {28,0xFFFF667}, + [I(157,104)] = {29,0x1FFFF9A7}, + [I(158,104)] = {29,0x1FFFF9E7}, + [I(159,104)] = {30,0x3FFFFBE7}, + [I(160,104)] = {28,0xFFFF6A7}, + [I(161,104)] = {27,0x7FFF767}, + [I(162,104)] = {26,0x3FFFA67}, + [I(163,104)] = {28,0xFFFF6E7}, + [I(164,104)] = {28,0xFFFF727}, + [I(165,104)] = {29,0x1FFFFA27}, + [I(166,104)] = {29,0x1FFFFA67}, + [I(167,104)] = {27,0x7FFF7A7}, + [I(168,104)] = {29,0x1FFFFAA7}, + [I(169,104)] = {28,0xFFFF767}, + [I(170,104)] = {28,0xFFFF7A7}, + [I(171,104)] = {30,0x3FFFFC27}, + [I(172,104)] = {27,0x7FFF7E7}, + [I(173,104)] = {28,0xFFFF7E7}, + [I(174,104)] = {29,0x1FFFFAE7}, + [I(175,104)] = {29,0x1FFFFB27}, + [I(176,104)] = {27,0x7FFF827}, + [I(177,104)] = {27,0x7FFF867}, + [I(178,104)] = {28,0xFFFF827}, + [I(179,104)] = {27,0x7FFF8A7}, + [I(180,104)] = {29,0x1FFFFB67}, + [I(181,104)] = {28,0xFFFF867}, + [I(182,104)] = {29,0x1FFFFBA7}, + [I(183,104)] = {29,0x1FFFFBE7}, + [I(184,104)] = {26,0x3FFFAA7}, + [I(185,104)] = {28,0xFFFF8A7}, + [I(186,104)] = {28,0xFFFF8E7}, + [I(187,104)] = {28,0xFFFF927}, + [I(188,104)] = {29,0x1FFFFC27}, + [I(189,104)] = {28,0xFFFF967}, + [I(190,104)] = {28,0xFFFF9A7}, + [I(191,104)] = {29,0x1FFFFC67}, + [I(192,104)] = {X32,0xFFFFF827}, + [I(193,104)] = {X32,0xFFFFF867}, + [I(194,104)] = {26,0x3FFFAE7}, + [I(195,104)] = {25,0x1FFFC67}, + [I(196,104)] = {28,0xFFFF9E7}, + [I(197,104)] = {29,0x1FFFFCA7}, + [I(198,104)] = {28,0xFFFFA27}, + [I(199,104)] = {31,0x7FFFFB27}, + [I(200,104)] = {X32,0xFFFFF8A7}, + [I(201,104)] = {X32,0xFFFFF8E7}, + [I(202,104)] = {X32,0xFFFFF927}, + [I(203,104)] = {64,0}, + [I(204,104)] = {64,0}, + [I(205,104)] = {X32,0xFFFFF967}, + [I(206,104)] = {30,0x3FFFFC67}, + [I(207,104)] = {31,0x7FFFFB67}, + [I(208,104)] = {25,0x1FFFCA7}, + [I(209,104)] = {27,0x7FFF8E7}, + [I(210,104)] = {X32,0xFFFFF9A7}, + [I(211,104)] = {64,0}, + [I(212,104)] = {64,0}, + [I(213,104)] = {X32,0xFFFFF9E7}, + [I(214,104)] = {64,0}, + [I(215,104)] = {30,0x3FFFFCA7}, + [I(216,104)] = {27,0x7FFF927}, + [I(217,104)] = {27,0x7FFF967}, + [I(218,104)] = {X32,0xFFFFFA27}, + [I(219,104)] = {X32,0xFFFFFA67}, + [I(220,104)] = {64,0}, + [I(221,104)] = {64,0}, + [I(222,104)] = {64,0}, + [I(223,104)] = {64,0}, + [I(224,104)] = {26,0x3FFFB27}, + [I(225,104)] = {30,0x3FFFFCE7}, + [I(226,104)] = {26,0x3FFFB67}, + [I(227,104)] = {27,0x7FFF9A7}, + [I(228,104)] = {28,0xFFFFA67}, + [I(229,104)] = {27,0x7FFF9E7}, + [I(230,104)] = {27,0x7FFFA27}, + [I(231,104)] = {29,0x1FFFFCE7}, + [I(232,104)] = {28,0xFFFFAA7}, + [I(233,104)] = {28,0xFFFFAE7}, + [I(234,104)] = {31,0x7FFFFBA7}, + [I(235,104)] = {31,0x7FFFFBE7}, + [I(236,104)] = {30,0x3FFFFD27}, + [I(237,104)] = {30,0x3FFFFD67}, + [I(238,104)] = {X32,0xFFFFFAA7}, + [I(239,104)] = {29,0x1FFFFD27}, + [I(240,104)] = {X32,0xFFFFFAE7}, + [I(241,104)] = {64,0}, + [I(242,104)] = {X32,0xFFFFFB27}, + [I(243,104)] = {X32,0xFFFFFB67}, + [I(244,104)] = {64,0}, + [I(245,104)] = {64,0}, + [I(246,104)] = {64,0}, + [I(247,104)] = {64,0}, + [I(248,104)] = {64,0}, + [I(249,104)] = {64,0}, + [I(250,104)] = {64,0}, + [I(251,104)] = {64,0}, + [I(252,104)] = {64,0}, + [I(253,104)] = {64,0}, + [I(254,104)] = {64,0}, + [I(255,104)] = {X32,0xFFFFFBA7}, + [I(0,105)] = {18,0x3FF06}, + [I(1,105)] = {28,0xFFFFB06}, + [I(2,105)] = {64,0}, + [I(3,105)] = {64,0}, + [I(4,105)] = {64,0}, + [I(5,105)] = {64,0}, + [I(6,105)] = {64,0}, + [I(7,105)] = {64,0}, + [I(8,105)] = {64,0}, + [I(9,105)] = {29,0x1FFFFD46}, + [I(10,105)] = {64,0}, + [I(11,105)] = {64,0}, + [I(12,105)] = {64,0}, + [I(13,105)] = {64,0}, + [I(14,105)] = {64,0}, + [I(15,105)] = {64,0}, + [I(16,105)] = {64,0}, + [I(17,105)] = {64,0}, + [I(18,105)] = {64,0}, + [I(19,105)] = {64,0}, + [I(20,105)] = {64,0}, + [I(21,105)] = {64,0}, + [I(22,105)] = {64,0}, + [I(23,105)] = {64,0}, + [I(24,105)] = {64,0}, + [I(25,105)] = {64,0}, + [I(26,105)] = {64,0}, + [I(27,105)] = {64,0}, + [I(28,105)] = {64,0}, + [I(29,105)] = {64,0}, + [I(30,105)] = {64,0}, + [I(31,105)] = {64,0}, + [I(32,105)] = {11,0x286}, + [I(33,105)] = {15,0x7F06}, + [I(34,105)] = {15,0x7F26}, + [I(35,105)] = {17,0x1FF46}, + [I(36,105)] = {18,0x3FF26}, + [I(37,105)] = {11,0x2A6}, + [I(38,105)] = {13,0x1F06}, + [I(39,105)] = {16,0xFF46}, + [I(40,105)] = {15,0x7F46}, + [I(41,105)] = {15,0x7F66}, + [I(42,105)] = {13,0x1F26}, + [I(43,105)] = {16,0xFF66}, + [I(44,105)] = {13,0x1F46}, + [I(45,105)] = {11,0x2C6}, + [I(46,105)] = {11,0x2E6}, + [I(47,105)] = {11,0x306}, + [I(48,105)] = {10,0x6}, + [I(49,105)] = {10,0x26}, + [I(50,105)] = {10,0x46}, + [I(51,105)] = {11,0x326}, + [I(52,105)] = {11,0x346}, + [I(53,105)] = {11,0x366}, + [I(54,105)] = {11,0x386}, + [I(55,105)] = {11,0x3A6}, + [I(56,105)] = {11,0x3C6}, + [I(57,105)] = {11,0x3E6}, + [I(58,105)] = {12,0xB86}, + [I(59,105)] = {13,0x1F66}, + [I(60,105)] = {20,0xFFF86}, + [I(61,105)] = {11,0x406}, + [I(62,105)] = {17,0x1FF66}, + [I(63,105)] = {15,0x7F86}, + [I(64,105)] = {18,0x3FF46}, + [I(65,105)] = {11,0x426}, + [I(66,105)] = {12,0xBA6}, + [I(67,105)] = {12,0xBC6}, + [I(68,105)] = {12,0xBE6}, + [I(69,105)] = {12,0xC06}, + [I(70,105)] = {12,0xC26}, + [I(71,105)] = {12,0xC46}, + [I(72,105)] = {12,0xC66}, + [I(73,105)] = {12,0xC86}, + [I(74,105)] = {12,0xCA6}, + [I(75,105)] = {12,0xCC6}, + [I(76,105)] = {12,0xCE6}, + [I(77,105)] = {12,0xD06}, + [I(78,105)] = {12,0xD26}, + [I(79,105)] = {12,0xD46}, + [I(80,105)] = {12,0xD66}, + [I(81,105)] = {12,0xD86}, + [I(82,105)] = {12,0xDA6}, + [I(83,105)] = {12,0xDC6}, + [I(84,105)] = {12,0xDE6}, + [I(85,105)] = {12,0xE06}, + [I(86,105)] = {12,0xE26}, + [I(87,105)] = {12,0xE46}, + [I(88,105)] = {13,0x1F86}, + [I(89,105)] = {12,0xE66}, + [I(90,105)] = {13,0x1FA6}, + [I(91,105)] = {18,0x3FF66}, + [I(92,105)] = {24,0xFFFE06}, + [I(93,105)] = {18,0x3FF86}, + [I(94,105)] = {19,0x7FF86}, + [I(95,105)] = {11,0x446}, + [I(96,105)] = {20,0xFFFA6}, + [I(97,105)] = {10,0x66}, + [I(98,105)] = {11,0x466}, + [I(99,105)] = {10,0x86}, + [I(100,105)] = {11,0x486}, + [I(101,105)] = {10,0xA6}, + [I(102,105)] = {11,0x4A6}, + [I(103,105)] = {11,0x4C6}, + [I(104,105)] = {11,0x4E6}, + [I(105,105)] = {10,0xC6}, + [I(106,105)] = {12,0xE86}, + [I(107,105)] = {12,0xEA6}, + [I(108,105)] = {11,0x506}, + [I(109,105)] = {11,0x526}, + [I(110,105)] = {11,0x546}, + [I(111,105)] = {10,0xE6}, + [I(112,105)] = {11,0x566}, + [I(113,105)] = {12,0xEC6}, + [I(114,105)] = {11,0x586}, + [I(115,105)] = {10,0x106}, + [I(116,105)] = {10,0x126}, + [I(117,105)] = {11,0x5A6}, + [I(118,105)] = {12,0xEE6}, + [I(119,105)] = {12,0xF06}, + [I(120,105)] = {12,0xF26}, + [I(121,105)] = {12,0xF46}, + [I(122,105)] = {12,0xF66}, + [I(123,105)] = {20,0xFFFC6}, + [I(124,105)] = {16,0xFF86}, + [I(125,105)] = {19,0x7FFA6}, + [I(126,105)] = {18,0x3FFA6}, + [I(127,105)] = {64,0}, + [I(128,105)] = {25,0x1FFFCC6}, + [I(129,105)] = {27,0x7FFFA46}, + [I(130,105)] = {25,0x1FFFCE6}, + [I(131,105)] = {25,0x1FFFD06}, + [I(132,105)] = {27,0x7FFFA66}, + [I(133,105)] = {27,0x7FFFA86}, + [I(134,105)] = {27,0x7FFFAA6}, + [I(135,105)] = {28,0xFFFFB26}, + [I(136,105)] = {27,0x7FFFAC6}, + [I(137,105)] = {28,0xFFFFB46}, + [I(138,105)] = {28,0xFFFFB66}, + [I(139,105)] = {28,0xFFFFB86}, + [I(140,105)] = {28,0xFFFFBA6}, + [I(141,105)] = {28,0xFFFFBC6}, + [I(142,105)] = {29,0x1FFFFD66}, + [I(143,105)] = {28,0xFFFFBE6}, + [I(144,105)] = {29,0x1FFFFD86}, + [I(145,105)] = {29,0x1FFFFDA6}, + [I(146,105)] = {27,0x7FFFAE6}, + [I(147,105)] = {28,0xFFFFC06}, + [I(148,105)] = {29,0x1FFFFDC6}, + [I(149,105)] = {28,0xFFFFC26}, + [I(150,105)] = {28,0xFFFFC46}, + [I(151,105)] = {28,0xFFFFC66}, + [I(152,105)] = {28,0xFFFFC86}, + [I(153,105)] = {26,0x3FFFB86}, + [I(154,105)] = {27,0x7FFFB06}, + [I(155,105)] = {28,0xFFFFCA6}, + [I(156,105)] = {27,0x7FFFB26}, + [I(157,105)] = {28,0xFFFFCC6}, + [I(158,105)] = {28,0xFFFFCE6}, + [I(159,105)] = {29,0x1FFFFDE6}, + [I(160,105)] = {27,0x7FFFB46}, + [I(161,105)] = {26,0x3FFFBA6}, + [I(162,105)] = {25,0x1FFFD26}, + [I(163,105)] = {27,0x7FFFB66}, + [I(164,105)] = {27,0x7FFFB86}, + [I(165,105)] = {28,0xFFFFD06}, + [I(166,105)] = {28,0xFFFFD26}, + [I(167,105)] = {26,0x3FFFBC6}, + [I(168,105)] = {28,0xFFFFD46}, + [I(169,105)] = {27,0x7FFFBA6}, + [I(170,105)] = {27,0x7FFFBC6}, + [I(171,105)] = {29,0x1FFFFE06}, + [I(172,105)] = {26,0x3FFFBE6}, + [I(173,105)] = {27,0x7FFFBE6}, + [I(174,105)] = {28,0xFFFFD66}, + [I(175,105)] = {28,0xFFFFD86}, + [I(176,105)] = {26,0x3FFFC06}, + [I(177,105)] = {26,0x3FFFC26}, + [I(178,105)] = {27,0x7FFFC06}, + [I(179,105)] = {26,0x3FFFC46}, + [I(180,105)] = {28,0xFFFFDA6}, + [I(181,105)] = {27,0x7FFFC26}, + [I(182,105)] = {28,0xFFFFDC6}, + [I(183,105)] = {28,0xFFFFDE6}, + [I(184,105)] = {25,0x1FFFD46}, + [I(185,105)] = {27,0x7FFFC46}, + [I(186,105)] = {27,0x7FFFC66}, + [I(187,105)] = {27,0x7FFFC86}, + [I(188,105)] = {28,0xFFFFE06}, + [I(189,105)] = {27,0x7FFFCA6}, + [I(190,105)] = {27,0x7FFFCC6}, + [I(191,105)] = {28,0xFFFFE26}, + [I(192,105)] = {31,0x7FFFFC06}, + [I(193,105)] = {31,0x7FFFFC26}, + [I(194,105)] = {25,0x1FFFD66}, + [I(195,105)] = {24,0xFFFE26}, + [I(196,105)] = {27,0x7FFFCE6}, + [I(197,105)] = {28,0xFFFFE46}, + [I(198,105)] = {27,0x7FFFD06}, + [I(199,105)] = {30,0x3FFFFD86}, + [I(200,105)] = {31,0x7FFFFC46}, + [I(201,105)] = {31,0x7FFFFC66}, + [I(202,105)] = {31,0x7FFFFC86}, + [I(203,105)] = {X32,0xFFFFFBC6}, + [I(204,105)] = {X32,0xFFFFFBE6}, + [I(205,105)] = {31,0x7FFFFCA6}, + [I(206,105)] = {29,0x1FFFFE26}, + [I(207,105)] = {30,0x3FFFFDA6}, + [I(208,105)] = {24,0xFFFE46}, + [I(209,105)] = {26,0x3FFFC66}, + [I(210,105)] = {31,0x7FFFFCC6}, + [I(211,105)] = {X32,0xFFFFFC06}, + [I(212,105)] = {X32,0xFFFFFC26}, + [I(213,105)] = {31,0x7FFFFCE6}, + [I(214,105)] = {X32,0xFFFFFC46}, + [I(215,105)] = {29,0x1FFFFE46}, + [I(216,105)] = {26,0x3FFFC86}, + [I(217,105)] = {26,0x3FFFCA6}, + [I(218,105)] = {31,0x7FFFFD06}, + [I(219,105)] = {31,0x7FFFFD26}, + [I(220,105)] = {64,0}, + [I(221,105)] = {X32,0xFFFFFC66}, + [I(222,105)] = {X32,0xFFFFFC86}, + [I(223,105)] = {X32,0xFFFFFCA6}, + [I(224,105)] = {25,0x1FFFD86}, + [I(225,105)] = {29,0x1FFFFE66}, + [I(226,105)] = {25,0x1FFFDA6}, + [I(227,105)] = {26,0x3FFFCC6}, + [I(228,105)] = {27,0x7FFFD26}, + [I(229,105)] = {26,0x3FFFCE6}, + [I(230,105)] = {26,0x3FFFD06}, + [I(231,105)] = {28,0xFFFFE66}, + [I(232,105)] = {27,0x7FFFD46}, + [I(233,105)] = {27,0x7FFFD66}, + [I(234,105)] = {30,0x3FFFFDC6}, + [I(235,105)] = {30,0x3FFFFDE6}, + [I(236,105)] = {29,0x1FFFFE86}, + [I(237,105)] = {29,0x1FFFFEA6}, + [I(238,105)] = {31,0x7FFFFD46}, + [I(239,105)] = {28,0xFFFFE86}, + [I(240,105)] = {31,0x7FFFFD66}, + [I(241,105)] = {X32,0xFFFFFCC6}, + [I(242,105)] = {31,0x7FFFFD86}, + [I(243,105)] = {31,0x7FFFFDA6}, + [I(244,105)] = {X32,0xFFFFFCE6}, + [I(245,105)] = {X32,0xFFFFFD06}, + [I(246,105)] = {X32,0xFFFFFD26}, + [I(247,105)] = {X32,0xFFFFFD46}, + [I(248,105)] = {X32,0xFFFFFD66}, + [I(249,105)] = {64,0}, + [I(250,105)] = {X32,0xFFFFFD86}, + [I(251,105)] = {X32,0xFFFFFDA6}, + [I(252,105)] = {X32,0xFFFFFDC6}, + [I(253,105)] = {X32,0xFFFFFDE6}, + [I(254,105)] = {X32,0xFFFFFE06}, + [I(255,105)] = {31,0x7FFFFDC6}, + [I(0,106)] = {20,0xFFC74}, + [I(1,106)] = {30,0x3FFFEC74}, + [I(2,106)] = {64,0}, + [I(3,106)] = {64,0}, + [I(4,106)] = {64,0}, + [I(5,106)] = {64,0}, + [I(6,106)] = {64,0}, + [I(7,106)] = {64,0}, + [I(8,106)] = {64,0}, + [I(9,106)] = {31,0x7FFFF574}, + [I(10,106)] = {64,0}, + [I(11,106)] = {64,0}, + [I(12,106)] = {64,0}, + [I(13,106)] = {64,0}, + [I(14,106)] = {64,0}, + [I(15,106)] = {64,0}, + [I(16,106)] = {64,0}, + [I(17,106)] = {64,0}, + [I(18,106)] = {64,0}, + [I(19,106)] = {64,0}, + [I(20,106)] = {64,0}, + [I(21,106)] = {64,0}, + [I(22,106)] = {64,0}, + [I(23,106)] = {64,0}, + [I(24,106)] = {64,0}, + [I(25,106)] = {64,0}, + [I(26,106)] = {64,0}, + [I(27,106)] = {64,0}, + [I(28,106)] = {64,0}, + [I(29,106)] = {64,0}, + [I(30,106)] = {64,0}, + [I(31,106)] = {64,0}, + [I(32,106)] = {13,0xA74}, + [I(33,106)] = {17,0x1FC74}, + [I(34,106)] = {17,0x1FCF4}, + [I(35,106)] = {19,0x7FD74}, + [I(36,106)] = {20,0xFFCF4}, + [I(37,106)] = {13,0xAF4}, + [I(38,106)] = {15,0x7C74}, + [I(39,106)] = {18,0x3FD74}, + [I(40,106)] = {17,0x1FD74}, + [I(41,106)] = {17,0x1FDF4}, + [I(42,106)] = {15,0x7CF4}, + [I(43,106)] = {18,0x3FDF4}, + [I(44,106)] = {15,0x7D74}, + [I(45,106)] = {13,0xB74}, + [I(46,106)] = {13,0xBF4}, + [I(47,106)] = {13,0xC74}, + [I(48,106)] = {12,0x74}, + [I(49,106)] = {12,0xF4}, + [I(50,106)] = {12,0x174}, + [I(51,106)] = {13,0xCF4}, + [I(52,106)] = {13,0xD74}, + [I(53,106)] = {13,0xDF4}, + [I(54,106)] = {13,0xE74}, + [I(55,106)] = {13,0xEF4}, + [I(56,106)] = {13,0xF74}, + [I(57,106)] = {13,0xFF4}, + [I(58,106)] = {14,0x2E74}, + [I(59,106)] = {15,0x7DF4}, + [I(60,106)] = {22,0x3FFE74}, + [I(61,106)] = {13,0x1074}, + [I(62,106)] = {19,0x7FDF4}, + [I(63,106)] = {17,0x1FE74}, + [I(64,106)] = {20,0xFFD74}, + [I(65,106)] = {13,0x10F4}, + [I(66,106)] = {14,0x2EF4}, + [I(67,106)] = {14,0x2F74}, + [I(68,106)] = {14,0x2FF4}, + [I(69,106)] = {14,0x3074}, + [I(70,106)] = {14,0x30F4}, + [I(71,106)] = {14,0x3174}, + [I(72,106)] = {14,0x31F4}, + [I(73,106)] = {14,0x3274}, + [I(74,106)] = {14,0x32F4}, + [I(75,106)] = {14,0x3374}, + [I(76,106)] = {14,0x33F4}, + [I(77,106)] = {14,0x3474}, + [I(78,106)] = {14,0x34F4}, + [I(79,106)] = {14,0x3574}, + [I(80,106)] = {14,0x35F4}, + [I(81,106)] = {14,0x3674}, + [I(82,106)] = {14,0x36F4}, + [I(83,106)] = {14,0x3774}, + [I(84,106)] = {14,0x37F4}, + [I(85,106)] = {14,0x3874}, + [I(86,106)] = {14,0x38F4}, + [I(87,106)] = {14,0x3974}, + [I(88,106)] = {15,0x7E74}, + [I(89,106)] = {14,0x39F4}, + [I(90,106)] = {15,0x7EF4}, + [I(91,106)] = {20,0xFFDF4}, + [I(92,106)] = {26,0x3FFF874}, + [I(93,106)] = {20,0xFFE74}, + [I(94,106)] = {21,0x1FFE74}, + [I(95,106)] = {13,0x1174}, + [I(96,106)] = {22,0x3FFEF4}, + [I(97,106)] = {12,0x1F4}, + [I(98,106)] = {13,0x11F4}, + [I(99,106)] = {12,0x274}, + [I(100,106)] = {13,0x1274}, + [I(101,106)] = {12,0x2F4}, + [I(102,106)] = {13,0x12F4}, + [I(103,106)] = {13,0x1374}, + [I(104,106)] = {13,0x13F4}, + [I(105,106)] = {12,0x374}, + [I(106,106)] = {14,0x3A74}, + [I(107,106)] = {14,0x3AF4}, + [I(108,106)] = {13,0x1474}, + [I(109,106)] = {13,0x14F4}, + [I(110,106)] = {13,0x1574}, + [I(111,106)] = {12,0x3F4}, + [I(112,106)] = {13,0x15F4}, + [I(113,106)] = {14,0x3B74}, + [I(114,106)] = {13,0x1674}, + [I(115,106)] = {12,0x474}, + [I(116,106)] = {12,0x4F4}, + [I(117,106)] = {13,0x16F4}, + [I(118,106)] = {14,0x3BF4}, + [I(119,106)] = {14,0x3C74}, + [I(120,106)] = {14,0x3CF4}, + [I(121,106)] = {14,0x3D74}, + [I(122,106)] = {14,0x3DF4}, + [I(123,106)] = {22,0x3FFF74}, + [I(124,106)] = {18,0x3FE74}, + [I(125,106)] = {21,0x1FFEF4}, + [I(126,106)] = {20,0xFFEF4}, + [I(127,106)] = {64,0}, + [I(128,106)] = {27,0x7FFF374}, + [I(129,106)] = {29,0x1FFFE974}, + [I(130,106)] = {27,0x7FFF3F4}, + [I(131,106)] = {27,0x7FFF474}, + [I(132,106)] = {29,0x1FFFE9F4}, + [I(133,106)] = {29,0x1FFFEA74}, + [I(134,106)] = {29,0x1FFFEAF4}, + [I(135,106)] = {30,0x3FFFECF4}, + [I(136,106)] = {29,0x1FFFEB74}, + [I(137,106)] = {30,0x3FFFED74}, + [I(138,106)] = {30,0x3FFFEDF4}, + [I(139,106)] = {30,0x3FFFEE74}, + [I(140,106)] = {30,0x3FFFEEF4}, + [I(141,106)] = {30,0x3FFFEF74}, + [I(142,106)] = {31,0x7FFFF5F4}, + [I(143,106)] = {30,0x3FFFEFF4}, + [I(144,106)] = {31,0x7FFFF674}, + [I(145,106)] = {31,0x7FFFF6F4}, + [I(146,106)] = {29,0x1FFFEBF4}, + [I(147,106)] = {30,0x3FFFF074}, + [I(148,106)] = {31,0x7FFFF774}, + [I(149,106)] = {30,0x3FFFF0F4}, + [I(150,106)] = {30,0x3FFFF174}, + [I(151,106)] = {30,0x3FFFF1F4}, + [I(152,106)] = {30,0x3FFFF274}, + [I(153,106)] = {28,0xFFFEE74}, + [I(154,106)] = {29,0x1FFFEC74}, + [I(155,106)] = {30,0x3FFFF2F4}, + [I(156,106)] = {29,0x1FFFECF4}, + [I(157,106)] = {30,0x3FFFF374}, + [I(158,106)] = {30,0x3FFFF3F4}, + [I(159,106)] = {31,0x7FFFF7F4}, + [I(160,106)] = {29,0x1FFFED74}, + [I(161,106)] = {28,0xFFFEEF4}, + [I(162,106)] = {27,0x7FFF4F4}, + [I(163,106)] = {29,0x1FFFEDF4}, + [I(164,106)] = {29,0x1FFFEE74}, + [I(165,106)] = {30,0x3FFFF474}, + [I(166,106)] = {30,0x3FFFF4F4}, + [I(167,106)] = {28,0xFFFEF74}, + [I(168,106)] = {30,0x3FFFF574}, + [I(169,106)] = {29,0x1FFFEEF4}, + [I(170,106)] = {29,0x1FFFEF74}, + [I(171,106)] = {31,0x7FFFF874}, + [I(172,106)] = {28,0xFFFEFF4}, + [I(173,106)] = {29,0x1FFFEFF4}, + [I(174,106)] = {30,0x3FFFF5F4}, + [I(175,106)] = {30,0x3FFFF674}, + [I(176,106)] = {28,0xFFFF074}, + [I(177,106)] = {28,0xFFFF0F4}, + [I(178,106)] = {29,0x1FFFF074}, + [I(179,106)] = {28,0xFFFF174}, + [I(180,106)] = {30,0x3FFFF6F4}, + [I(181,106)] = {29,0x1FFFF0F4}, + [I(182,106)] = {30,0x3FFFF774}, + [I(183,106)] = {30,0x3FFFF7F4}, + [I(184,106)] = {27,0x7FFF574}, + [I(185,106)] = {29,0x1FFFF174}, + [I(186,106)] = {29,0x1FFFF1F4}, + [I(187,106)] = {29,0x1FFFF274}, + [I(188,106)] = {30,0x3FFFF874}, + [I(189,106)] = {29,0x1FFFF2F4}, + [I(190,106)] = {29,0x1FFFF374}, + [I(191,106)] = {30,0x3FFFF8F4}, + [I(192,106)] = {64,0}, + [I(193,106)] = {64,0}, + [I(194,106)] = {27,0x7FFF5F4}, + [I(195,106)] = {26,0x3FFF8F4}, + [I(196,106)] = {29,0x1FFFF3F4}, + [I(197,106)] = {30,0x3FFFF974}, + [I(198,106)] = {29,0x1FFFF474}, + [I(199,106)] = {X32,0xFFFFF674}, + [I(200,106)] = {64,0}, + [I(201,106)] = {64,0}, + [I(202,106)] = {64,0}, + [I(203,106)] = {64,0}, + [I(204,106)] = {64,0}, + [I(205,106)] = {64,0}, + [I(206,106)] = {31,0x7FFFF8F4}, + [I(207,106)] = {X32,0xFFFFF6F4}, + [I(208,106)] = {26,0x3FFF974}, + [I(209,106)] = {28,0xFFFF1F4}, + [I(210,106)] = {64,0}, + [I(211,106)] = {64,0}, + [I(212,106)] = {64,0}, + [I(213,106)] = {64,0}, + [I(214,106)] = {64,0}, + [I(215,106)] = {31,0x7FFFF974}, + [I(216,106)] = {28,0xFFFF274}, + [I(217,106)] = {28,0xFFFF2F4}, + [I(218,106)] = {64,0}, + [I(219,106)] = {64,0}, + [I(220,106)] = {64,0}, + [I(221,106)] = {64,0}, + [I(222,106)] = {64,0}, + [I(223,106)] = {64,0}, + [I(224,106)] = {27,0x7FFF674}, + [I(225,106)] = {31,0x7FFFF9F4}, + [I(226,106)] = {27,0x7FFF6F4}, + [I(227,106)] = {28,0xFFFF374}, + [I(228,106)] = {29,0x1FFFF4F4}, + [I(229,106)] = {28,0xFFFF3F4}, + [I(230,106)] = {28,0xFFFF474}, + [I(231,106)] = {30,0x3FFFF9F4}, + [I(232,106)] = {29,0x1FFFF574}, + [I(233,106)] = {29,0x1FFFF5F4}, + [I(234,106)] = {X32,0xFFFFF774}, + [I(235,106)] = {X32,0xFFFFF7F4}, + [I(236,106)] = {31,0x7FFFFA74}, + [I(237,106)] = {31,0x7FFFFAF4}, + [I(238,106)] = {64,0}, + [I(239,106)] = {30,0x3FFFFA74}, + [I(240,106)] = {64,0}, + [I(241,106)] = {64,0}, + [I(242,106)] = {64,0}, + [I(243,106)] = {64,0}, + [I(244,106)] = {64,0}, + [I(245,106)] = {64,0}, + [I(246,106)] = {64,0}, + [I(247,106)] = {64,0}, + [I(248,106)] = {64,0}, + [I(249,106)] = {64,0}, + [I(250,106)] = {64,0}, + [I(251,106)] = {64,0}, + [I(252,106)] = {64,0}, + [I(253,106)] = {64,0}, + [I(254,106)] = {64,0}, + [I(255,106)] = {64,0}, + [I(0,107)] = {20,0xFFC75}, + [I(1,107)] = {30,0x3FFFEC75}, + [I(2,107)] = {64,0}, + [I(3,107)] = {64,0}, + [I(4,107)] = {64,0}, + [I(5,107)] = {64,0}, + [I(6,107)] = {64,0}, + [I(7,107)] = {64,0}, + [I(8,107)] = {64,0}, + [I(9,107)] = {31,0x7FFFF575}, + [I(10,107)] = {64,0}, + [I(11,107)] = {64,0}, + [I(12,107)] = {64,0}, + [I(13,107)] = {64,0}, + [I(14,107)] = {64,0}, + [I(15,107)] = {64,0}, + [I(16,107)] = {64,0}, + [I(17,107)] = {64,0}, + [I(18,107)] = {64,0}, + [I(19,107)] = {64,0}, + [I(20,107)] = {64,0}, + [I(21,107)] = {64,0}, + [I(22,107)] = {64,0}, + [I(23,107)] = {64,0}, + [I(24,107)] = {64,0}, + [I(25,107)] = {64,0}, + [I(26,107)] = {64,0}, + [I(27,107)] = {64,0}, + [I(28,107)] = {64,0}, + [I(29,107)] = {64,0}, + [I(30,107)] = {64,0}, + [I(31,107)] = {64,0}, + [I(32,107)] = {13,0xA75}, + [I(33,107)] = {17,0x1FC75}, + [I(34,107)] = {17,0x1FCF5}, + [I(35,107)] = {19,0x7FD75}, + [I(36,107)] = {20,0xFFCF5}, + [I(37,107)] = {13,0xAF5}, + [I(38,107)] = {15,0x7C75}, + [I(39,107)] = {18,0x3FD75}, + [I(40,107)] = {17,0x1FD75}, + [I(41,107)] = {17,0x1FDF5}, + [I(42,107)] = {15,0x7CF5}, + [I(43,107)] = {18,0x3FDF5}, + [I(44,107)] = {15,0x7D75}, + [I(45,107)] = {13,0xB75}, + [I(46,107)] = {13,0xBF5}, + [I(47,107)] = {13,0xC75}, + [I(48,107)] = {12,0x75}, + [I(49,107)] = {12,0xF5}, + [I(50,107)] = {12,0x175}, + [I(51,107)] = {13,0xCF5}, + [I(52,107)] = {13,0xD75}, + [I(53,107)] = {13,0xDF5}, + [I(54,107)] = {13,0xE75}, + [I(55,107)] = {13,0xEF5}, + [I(56,107)] = {13,0xF75}, + [I(57,107)] = {13,0xFF5}, + [I(58,107)] = {14,0x2E75}, + [I(59,107)] = {15,0x7DF5}, + [I(60,107)] = {22,0x3FFE75}, + [I(61,107)] = {13,0x1075}, + [I(62,107)] = {19,0x7FDF5}, + [I(63,107)] = {17,0x1FE75}, + [I(64,107)] = {20,0xFFD75}, + [I(65,107)] = {13,0x10F5}, + [I(66,107)] = {14,0x2EF5}, + [I(67,107)] = {14,0x2F75}, + [I(68,107)] = {14,0x2FF5}, + [I(69,107)] = {14,0x3075}, + [I(70,107)] = {14,0x30F5}, + [I(71,107)] = {14,0x3175}, + [I(72,107)] = {14,0x31F5}, + [I(73,107)] = {14,0x3275}, + [I(74,107)] = {14,0x32F5}, + [I(75,107)] = {14,0x3375}, + [I(76,107)] = {14,0x33F5}, + [I(77,107)] = {14,0x3475}, + [I(78,107)] = {14,0x34F5}, + [I(79,107)] = {14,0x3575}, + [I(80,107)] = {14,0x35F5}, + [I(81,107)] = {14,0x3675}, + [I(82,107)] = {14,0x36F5}, + [I(83,107)] = {14,0x3775}, + [I(84,107)] = {14,0x37F5}, + [I(85,107)] = {14,0x3875}, + [I(86,107)] = {14,0x38F5}, + [I(87,107)] = {14,0x3975}, + [I(88,107)] = {15,0x7E75}, + [I(89,107)] = {14,0x39F5}, + [I(90,107)] = {15,0x7EF5}, + [I(91,107)] = {20,0xFFDF5}, + [I(92,107)] = {26,0x3FFF875}, + [I(93,107)] = {20,0xFFE75}, + [I(94,107)] = {21,0x1FFE75}, + [I(95,107)] = {13,0x1175}, + [I(96,107)] = {22,0x3FFEF5}, + [I(97,107)] = {12,0x1F5}, + [I(98,107)] = {13,0x11F5}, + [I(99,107)] = {12,0x275}, + [I(100,107)] = {13,0x1275}, + [I(101,107)] = {12,0x2F5}, + [I(102,107)] = {13,0x12F5}, + [I(103,107)] = {13,0x1375}, + [I(104,107)] = {13,0x13F5}, + [I(105,107)] = {12,0x375}, + [I(106,107)] = {14,0x3A75}, + [I(107,107)] = {14,0x3AF5}, + [I(108,107)] = {13,0x1475}, + [I(109,107)] = {13,0x14F5}, + [I(110,107)] = {13,0x1575}, + [I(111,107)] = {12,0x3F5}, + [I(112,107)] = {13,0x15F5}, + [I(113,107)] = {14,0x3B75}, + [I(114,107)] = {13,0x1675}, + [I(115,107)] = {12,0x475}, + [I(116,107)] = {12,0x4F5}, + [I(117,107)] = {13,0x16F5}, + [I(118,107)] = {14,0x3BF5}, + [I(119,107)] = {14,0x3C75}, + [I(120,107)] = {14,0x3CF5}, + [I(121,107)] = {14,0x3D75}, + [I(122,107)] = {14,0x3DF5}, + [I(123,107)] = {22,0x3FFF75}, + [I(124,107)] = {18,0x3FE75}, + [I(125,107)] = {21,0x1FFEF5}, + [I(126,107)] = {20,0xFFEF5}, + [I(127,107)] = {64,0}, + [I(128,107)] = {27,0x7FFF375}, + [I(129,107)] = {29,0x1FFFE975}, + [I(130,107)] = {27,0x7FFF3F5}, + [I(131,107)] = {27,0x7FFF475}, + [I(132,107)] = {29,0x1FFFE9F5}, + [I(133,107)] = {29,0x1FFFEA75}, + [I(134,107)] = {29,0x1FFFEAF5}, + [I(135,107)] = {30,0x3FFFECF5}, + [I(136,107)] = {29,0x1FFFEB75}, + [I(137,107)] = {30,0x3FFFED75}, + [I(138,107)] = {30,0x3FFFEDF5}, + [I(139,107)] = {30,0x3FFFEE75}, + [I(140,107)] = {30,0x3FFFEEF5}, + [I(141,107)] = {30,0x3FFFEF75}, + [I(142,107)] = {31,0x7FFFF5F5}, + [I(143,107)] = {30,0x3FFFEFF5}, + [I(144,107)] = {31,0x7FFFF675}, + [I(145,107)] = {31,0x7FFFF6F5}, + [I(146,107)] = {29,0x1FFFEBF5}, + [I(147,107)] = {30,0x3FFFF075}, + [I(148,107)] = {31,0x7FFFF775}, + [I(149,107)] = {30,0x3FFFF0F5}, + [I(150,107)] = {30,0x3FFFF175}, + [I(151,107)] = {30,0x3FFFF1F5}, + [I(152,107)] = {30,0x3FFFF275}, + [I(153,107)] = {28,0xFFFEE75}, + [I(154,107)] = {29,0x1FFFEC75}, + [I(155,107)] = {30,0x3FFFF2F5}, + [I(156,107)] = {29,0x1FFFECF5}, + [I(157,107)] = {30,0x3FFFF375}, + [I(158,107)] = {30,0x3FFFF3F5}, + [I(159,107)] = {31,0x7FFFF7F5}, + [I(160,107)] = {29,0x1FFFED75}, + [I(161,107)] = {28,0xFFFEEF5}, + [I(162,107)] = {27,0x7FFF4F5}, + [I(163,107)] = {29,0x1FFFEDF5}, + [I(164,107)] = {29,0x1FFFEE75}, + [I(165,107)] = {30,0x3FFFF475}, + [I(166,107)] = {30,0x3FFFF4F5}, + [I(167,107)] = {28,0xFFFEF75}, + [I(168,107)] = {30,0x3FFFF575}, + [I(169,107)] = {29,0x1FFFEEF5}, + [I(170,107)] = {29,0x1FFFEF75}, + [I(171,107)] = {31,0x7FFFF875}, + [I(172,107)] = {28,0xFFFEFF5}, + [I(173,107)] = {29,0x1FFFEFF5}, + [I(174,107)] = {30,0x3FFFF5F5}, + [I(175,107)] = {30,0x3FFFF675}, + [I(176,107)] = {28,0xFFFF075}, + [I(177,107)] = {28,0xFFFF0F5}, + [I(178,107)] = {29,0x1FFFF075}, + [I(179,107)] = {28,0xFFFF175}, + [I(180,107)] = {30,0x3FFFF6F5}, + [I(181,107)] = {29,0x1FFFF0F5}, + [I(182,107)] = {30,0x3FFFF775}, + [I(183,107)] = {30,0x3FFFF7F5}, + [I(184,107)] = {27,0x7FFF575}, + [I(185,107)] = {29,0x1FFFF175}, + [I(186,107)] = {29,0x1FFFF1F5}, + [I(187,107)] = {29,0x1FFFF275}, + [I(188,107)] = {30,0x3FFFF875}, + [I(189,107)] = {29,0x1FFFF2F5}, + [I(190,107)] = {29,0x1FFFF375}, + [I(191,107)] = {30,0x3FFFF8F5}, + [I(192,107)] = {64,0}, + [I(193,107)] = {64,0}, + [I(194,107)] = {27,0x7FFF5F5}, + [I(195,107)] = {26,0x3FFF8F5}, + [I(196,107)] = {29,0x1FFFF3F5}, + [I(197,107)] = {30,0x3FFFF975}, + [I(198,107)] = {29,0x1FFFF475}, + [I(199,107)] = {X32,0xFFFFF675}, + [I(200,107)] = {64,0}, + [I(201,107)] = {64,0}, + [I(202,107)] = {64,0}, + [I(203,107)] = {64,0}, + [I(204,107)] = {64,0}, + [I(205,107)] = {64,0}, + [I(206,107)] = {31,0x7FFFF8F5}, + [I(207,107)] = {X32,0xFFFFF6F5}, + [I(208,107)] = {26,0x3FFF975}, + [I(209,107)] = {28,0xFFFF1F5}, + [I(210,107)] = {64,0}, + [I(211,107)] = {64,0}, + [I(212,107)] = {64,0}, + [I(213,107)] = {64,0}, + [I(214,107)] = {64,0}, + [I(215,107)] = {31,0x7FFFF975}, + [I(216,107)] = {28,0xFFFF275}, + [I(217,107)] = {28,0xFFFF2F5}, + [I(218,107)] = {64,0}, + [I(219,107)] = {64,0}, + [I(220,107)] = {64,0}, + [I(221,107)] = {64,0}, + [I(222,107)] = {64,0}, + [I(223,107)] = {64,0}, + [I(224,107)] = {27,0x7FFF675}, + [I(225,107)] = {31,0x7FFFF9F5}, + [I(226,107)] = {27,0x7FFF6F5}, + [I(227,107)] = {28,0xFFFF375}, + [I(228,107)] = {29,0x1FFFF4F5}, + [I(229,107)] = {28,0xFFFF3F5}, + [I(230,107)] = {28,0xFFFF475}, + [I(231,107)] = {30,0x3FFFF9F5}, + [I(232,107)] = {29,0x1FFFF575}, + [I(233,107)] = {29,0x1FFFF5F5}, + [I(234,107)] = {X32,0xFFFFF775}, + [I(235,107)] = {X32,0xFFFFF7F5}, + [I(236,107)] = {31,0x7FFFFA75}, + [I(237,107)] = {31,0x7FFFFAF5}, + [I(238,107)] = {64,0}, + [I(239,107)] = {30,0x3FFFFA75}, + [I(240,107)] = {64,0}, + [I(241,107)] = {64,0}, + [I(242,107)] = {64,0}, + [I(243,107)] = {64,0}, + [I(244,107)] = {64,0}, + [I(245,107)] = {64,0}, + [I(246,107)] = {64,0}, + [I(247,107)] = {64,0}, + [I(248,107)] = {64,0}, + [I(249,107)] = {64,0}, + [I(250,107)] = {64,0}, + [I(251,107)] = {64,0}, + [I(252,107)] = {64,0}, + [I(253,107)] = {64,0}, + [I(254,107)] = {64,0}, + [I(255,107)] = {64,0}, + [I(0,108)] = {19,0x7FE28}, + [I(1,108)] = {29,0x1FFFF628}, + [I(2,108)] = {64,0}, + [I(3,108)] = {64,0}, + [I(4,108)] = {64,0}, + [I(5,108)] = {64,0}, + [I(6,108)] = {64,0}, + [I(7,108)] = {64,0}, + [I(8,108)] = {64,0}, + [I(9,108)] = {30,0x3FFFFAA8}, + [I(10,108)] = {64,0}, + [I(11,108)] = {64,0}, + [I(12,108)] = {64,0}, + [I(13,108)] = {64,0}, + [I(14,108)] = {64,0}, + [I(15,108)] = {64,0}, + [I(16,108)] = {64,0}, + [I(17,108)] = {64,0}, + [I(18,108)] = {64,0}, + [I(19,108)] = {64,0}, + [I(20,108)] = {64,0}, + [I(21,108)] = {64,0}, + [I(22,108)] = {64,0}, + [I(23,108)] = {64,0}, + [I(24,108)] = {64,0}, + [I(25,108)] = {64,0}, + [I(26,108)] = {64,0}, + [I(27,108)] = {64,0}, + [I(28,108)] = {64,0}, + [I(29,108)] = {64,0}, + [I(30,108)] = {64,0}, + [I(31,108)] = {64,0}, + [I(32,108)] = {12,0x528}, + [I(33,108)] = {16,0xFE28}, + [I(34,108)] = {16,0xFE68}, + [I(35,108)] = {18,0x3FEA8}, + [I(36,108)] = {19,0x7FE68}, + [I(37,108)] = {12,0x568}, + [I(38,108)] = {14,0x3E28}, + [I(39,108)] = {17,0x1FEA8}, + [I(40,108)] = {16,0xFEA8}, + [I(41,108)] = {16,0xFEE8}, + [I(42,108)] = {14,0x3E68}, + [I(43,108)] = {17,0x1FEE8}, + [I(44,108)] = {14,0x3EA8}, + [I(45,108)] = {12,0x5A8}, + [I(46,108)] = {12,0x5E8}, + [I(47,108)] = {12,0x628}, + [I(48,108)] = {11,0x28}, + [I(49,108)] = {11,0x68}, + [I(50,108)] = {11,0xA8}, + [I(51,108)] = {12,0x668}, + [I(52,108)] = {12,0x6A8}, + [I(53,108)] = {12,0x6E8}, + [I(54,108)] = {12,0x728}, + [I(55,108)] = {12,0x768}, + [I(56,108)] = {12,0x7A8}, + [I(57,108)] = {12,0x7E8}, + [I(58,108)] = {13,0x1728}, + [I(59,108)] = {14,0x3EE8}, + [I(60,108)] = {21,0x1FFF28}, + [I(61,108)] = {12,0x828}, + [I(62,108)] = {18,0x3FEE8}, + [I(63,108)] = {16,0xFF28}, + [I(64,108)] = {19,0x7FEA8}, + [I(65,108)] = {12,0x868}, + [I(66,108)] = {13,0x1768}, + [I(67,108)] = {13,0x17A8}, + [I(68,108)] = {13,0x17E8}, + [I(69,108)] = {13,0x1828}, + [I(70,108)] = {13,0x1868}, + [I(71,108)] = {13,0x18A8}, + [I(72,108)] = {13,0x18E8}, + [I(73,108)] = {13,0x1928}, + [I(74,108)] = {13,0x1968}, + [I(75,108)] = {13,0x19A8}, + [I(76,108)] = {13,0x19E8}, + [I(77,108)] = {13,0x1A28}, + [I(78,108)] = {13,0x1A68}, + [I(79,108)] = {13,0x1AA8}, + [I(80,108)] = {13,0x1AE8}, + [I(81,108)] = {13,0x1B28}, + [I(82,108)] = {13,0x1B68}, + [I(83,108)] = {13,0x1BA8}, + [I(84,108)] = {13,0x1BE8}, + [I(85,108)] = {13,0x1C28}, + [I(86,108)] = {13,0x1C68}, + [I(87,108)] = {13,0x1CA8}, + [I(88,108)] = {14,0x3F28}, + [I(89,108)] = {13,0x1CE8}, + [I(90,108)] = {14,0x3F68}, + [I(91,108)] = {19,0x7FEE8}, + [I(92,108)] = {25,0x1FFFC28}, + [I(93,108)] = {19,0x7FF28}, + [I(94,108)] = {20,0xFFF28}, + [I(95,108)] = {12,0x8A8}, + [I(96,108)] = {21,0x1FFF68}, + [I(97,108)] = {11,0xE8}, + [I(98,108)] = {12,0x8E8}, + [I(99,108)] = {11,0x128}, + [I(100,108)] = {12,0x928}, + [I(101,108)] = {11,0x168}, + [I(102,108)] = {12,0x968}, + [I(103,108)] = {12,0x9A8}, + [I(104,108)] = {12,0x9E8}, + [I(105,108)] = {11,0x1A8}, + [I(106,108)] = {13,0x1D28}, + [I(107,108)] = {13,0x1D68}, + [I(108,108)] = {12,0xA28}, + [I(109,108)] = {12,0xA68}, + [I(110,108)] = {12,0xAA8}, + [I(111,108)] = {11,0x1E8}, + [I(112,108)] = {12,0xAE8}, + [I(113,108)] = {13,0x1DA8}, + [I(114,108)] = {12,0xB28}, + [I(115,108)] = {11,0x228}, + [I(116,108)] = {11,0x268}, + [I(117,108)] = {12,0xB68}, + [I(118,108)] = {13,0x1DE8}, + [I(119,108)] = {13,0x1E28}, + [I(120,108)] = {13,0x1E68}, + [I(121,108)] = {13,0x1EA8}, + [I(122,108)] = {13,0x1EE8}, + [I(123,108)] = {21,0x1FFFA8}, + [I(124,108)] = {17,0x1FF28}, + [I(125,108)] = {20,0xFFF68}, + [I(126,108)] = {19,0x7FF68}, + [I(127,108)] = {64,0}, + [I(128,108)] = {26,0x3FFF9A8}, + [I(129,108)] = {28,0xFFFF4A8}, + [I(130,108)] = {26,0x3FFF9E8}, + [I(131,108)] = {26,0x3FFFA28}, + [I(132,108)] = {28,0xFFFF4E8}, + [I(133,108)] = {28,0xFFFF528}, + [I(134,108)] = {28,0xFFFF568}, + [I(135,108)] = {29,0x1FFFF668}, + [I(136,108)] = {28,0xFFFF5A8}, + [I(137,108)] = {29,0x1FFFF6A8}, + [I(138,108)] = {29,0x1FFFF6E8}, + [I(139,108)] = {29,0x1FFFF728}, + [I(140,108)] = {29,0x1FFFF768}, + [I(141,108)] = {29,0x1FFFF7A8}, + [I(142,108)] = {30,0x3FFFFAE8}, + [I(143,108)] = {29,0x1FFFF7E8}, + [I(144,108)] = {30,0x3FFFFB28}, + [I(145,108)] = {30,0x3FFFFB68}, + [I(146,108)] = {28,0xFFFF5E8}, + [I(147,108)] = {29,0x1FFFF828}, + [I(148,108)] = {30,0x3FFFFBA8}, + [I(149,108)] = {29,0x1FFFF868}, + [I(150,108)] = {29,0x1FFFF8A8}, + [I(151,108)] = {29,0x1FFFF8E8}, + [I(152,108)] = {29,0x1FFFF928}, + [I(153,108)] = {27,0x7FFF728}, + [I(154,108)] = {28,0xFFFF628}, + [I(155,108)] = {29,0x1FFFF968}, + [I(156,108)] = {28,0xFFFF668}, + [I(157,108)] = {29,0x1FFFF9A8}, + [I(158,108)] = {29,0x1FFFF9E8}, + [I(159,108)] = {30,0x3FFFFBE8}, + [I(160,108)] = {28,0xFFFF6A8}, + [I(161,108)] = {27,0x7FFF768}, + [I(162,108)] = {26,0x3FFFA68}, + [I(163,108)] = {28,0xFFFF6E8}, + [I(164,108)] = {28,0xFFFF728}, + [I(165,108)] = {29,0x1FFFFA28}, + [I(166,108)] = {29,0x1FFFFA68}, + [I(167,108)] = {27,0x7FFF7A8}, + [I(168,108)] = {29,0x1FFFFAA8}, + [I(169,108)] = {28,0xFFFF768}, + [I(170,108)] = {28,0xFFFF7A8}, + [I(171,108)] = {30,0x3FFFFC28}, + [I(172,108)] = {27,0x7FFF7E8}, + [I(173,108)] = {28,0xFFFF7E8}, + [I(174,108)] = {29,0x1FFFFAE8}, + [I(175,108)] = {29,0x1FFFFB28}, + [I(176,108)] = {27,0x7FFF828}, + [I(177,108)] = {27,0x7FFF868}, + [I(178,108)] = {28,0xFFFF828}, + [I(179,108)] = {27,0x7FFF8A8}, + [I(180,108)] = {29,0x1FFFFB68}, + [I(181,108)] = {28,0xFFFF868}, + [I(182,108)] = {29,0x1FFFFBA8}, + [I(183,108)] = {29,0x1FFFFBE8}, + [I(184,108)] = {26,0x3FFFAA8}, + [I(185,108)] = {28,0xFFFF8A8}, + [I(186,108)] = {28,0xFFFF8E8}, + [I(187,108)] = {28,0xFFFF928}, + [I(188,108)] = {29,0x1FFFFC28}, + [I(189,108)] = {28,0xFFFF968}, + [I(190,108)] = {28,0xFFFF9A8}, + [I(191,108)] = {29,0x1FFFFC68}, + [I(192,108)] = {X32,0xFFFFF828}, + [I(193,108)] = {X32,0xFFFFF868}, + [I(194,108)] = {26,0x3FFFAE8}, + [I(195,108)] = {25,0x1FFFC68}, + [I(196,108)] = {28,0xFFFF9E8}, + [I(197,108)] = {29,0x1FFFFCA8}, + [I(198,108)] = {28,0xFFFFA28}, + [I(199,108)] = {31,0x7FFFFB28}, + [I(200,108)] = {X32,0xFFFFF8A8}, + [I(201,108)] = {X32,0xFFFFF8E8}, + [I(202,108)] = {X32,0xFFFFF928}, + [I(203,108)] = {64,0}, + [I(204,108)] = {64,0}, + [I(205,108)] = {X32,0xFFFFF968}, + [I(206,108)] = {30,0x3FFFFC68}, + [I(207,108)] = {31,0x7FFFFB68}, + [I(208,108)] = {25,0x1FFFCA8}, + [I(209,108)] = {27,0x7FFF8E8}, + [I(210,108)] = {X32,0xFFFFF9A8}, + [I(211,108)] = {64,0}, + [I(212,108)] = {64,0}, + [I(213,108)] = {X32,0xFFFFF9E8}, + [I(214,108)] = {64,0}, + [I(215,108)] = {30,0x3FFFFCA8}, + [I(216,108)] = {27,0x7FFF928}, + [I(217,108)] = {27,0x7FFF968}, + [I(218,108)] = {X32,0xFFFFFA28}, + [I(219,108)] = {X32,0xFFFFFA68}, + [I(220,108)] = {64,0}, + [I(221,108)] = {64,0}, + [I(222,108)] = {64,0}, + [I(223,108)] = {64,0}, + [I(224,108)] = {26,0x3FFFB28}, + [I(225,108)] = {30,0x3FFFFCE8}, + [I(226,108)] = {26,0x3FFFB68}, + [I(227,108)] = {27,0x7FFF9A8}, + [I(228,108)] = {28,0xFFFFA68}, + [I(229,108)] = {27,0x7FFF9E8}, + [I(230,108)] = {27,0x7FFFA28}, + [I(231,108)] = {29,0x1FFFFCE8}, + [I(232,108)] = {28,0xFFFFAA8}, + [I(233,108)] = {28,0xFFFFAE8}, + [I(234,108)] = {31,0x7FFFFBA8}, + [I(235,108)] = {31,0x7FFFFBE8}, + [I(236,108)] = {30,0x3FFFFD28}, + [I(237,108)] = {30,0x3FFFFD68}, + [I(238,108)] = {X32,0xFFFFFAA8}, + [I(239,108)] = {29,0x1FFFFD28}, + [I(240,108)] = {X32,0xFFFFFAE8}, + [I(241,108)] = {64,0}, + [I(242,108)] = {X32,0xFFFFFB28}, + [I(243,108)] = {X32,0xFFFFFB68}, + [I(244,108)] = {64,0}, + [I(245,108)] = {64,0}, + [I(246,108)] = {64,0}, + [I(247,108)] = {64,0}, + [I(248,108)] = {64,0}, + [I(249,108)] = {64,0}, + [I(250,108)] = {64,0}, + [I(251,108)] = {64,0}, + [I(252,108)] = {64,0}, + [I(253,108)] = {64,0}, + [I(254,108)] = {64,0}, + [I(255,108)] = {X32,0xFFFFFBA8}, + [I(0,109)] = {19,0x7FE29}, + [I(1,109)] = {29,0x1FFFF629}, + [I(2,109)] = {64,0}, + [I(3,109)] = {64,0}, + [I(4,109)] = {64,0}, + [I(5,109)] = {64,0}, + [I(6,109)] = {64,0}, + [I(7,109)] = {64,0}, + [I(8,109)] = {64,0}, + [I(9,109)] = {30,0x3FFFFAA9}, + [I(10,109)] = {64,0}, + [I(11,109)] = {64,0}, + [I(12,109)] = {64,0}, + [I(13,109)] = {64,0}, + [I(14,109)] = {64,0}, + [I(15,109)] = {64,0}, + [I(16,109)] = {64,0}, + [I(17,109)] = {64,0}, + [I(18,109)] = {64,0}, + [I(19,109)] = {64,0}, + [I(20,109)] = {64,0}, + [I(21,109)] = {64,0}, + [I(22,109)] = {64,0}, + [I(23,109)] = {64,0}, + [I(24,109)] = {64,0}, + [I(25,109)] = {64,0}, + [I(26,109)] = {64,0}, + [I(27,109)] = {64,0}, + [I(28,109)] = {64,0}, + [I(29,109)] = {64,0}, + [I(30,109)] = {64,0}, + [I(31,109)] = {64,0}, + [I(32,109)] = {12,0x529}, + [I(33,109)] = {16,0xFE29}, + [I(34,109)] = {16,0xFE69}, + [I(35,109)] = {18,0x3FEA9}, + [I(36,109)] = {19,0x7FE69}, + [I(37,109)] = {12,0x569}, + [I(38,109)] = {14,0x3E29}, + [I(39,109)] = {17,0x1FEA9}, + [I(40,109)] = {16,0xFEA9}, + [I(41,109)] = {16,0xFEE9}, + [I(42,109)] = {14,0x3E69}, + [I(43,109)] = {17,0x1FEE9}, + [I(44,109)] = {14,0x3EA9}, + [I(45,109)] = {12,0x5A9}, + [I(46,109)] = {12,0x5E9}, + [I(47,109)] = {12,0x629}, + [I(48,109)] = {11,0x29}, + [I(49,109)] = {11,0x69}, + [I(50,109)] = {11,0xA9}, + [I(51,109)] = {12,0x669}, + [I(52,109)] = {12,0x6A9}, + [I(53,109)] = {12,0x6E9}, + [I(54,109)] = {12,0x729}, + [I(55,109)] = {12,0x769}, + [I(56,109)] = {12,0x7A9}, + [I(57,109)] = {12,0x7E9}, + [I(58,109)] = {13,0x1729}, + [I(59,109)] = {14,0x3EE9}, + [I(60,109)] = {21,0x1FFF29}, + [I(61,109)] = {12,0x829}, + [I(62,109)] = {18,0x3FEE9}, + [I(63,109)] = {16,0xFF29}, + [I(64,109)] = {19,0x7FEA9}, + [I(65,109)] = {12,0x869}, + [I(66,109)] = {13,0x1769}, + [I(67,109)] = {13,0x17A9}, + [I(68,109)] = {13,0x17E9}, + [I(69,109)] = {13,0x1829}, + [I(70,109)] = {13,0x1869}, + [I(71,109)] = {13,0x18A9}, + [I(72,109)] = {13,0x18E9}, + [I(73,109)] = {13,0x1929}, + [I(74,109)] = {13,0x1969}, + [I(75,109)] = {13,0x19A9}, + [I(76,109)] = {13,0x19E9}, + [I(77,109)] = {13,0x1A29}, + [I(78,109)] = {13,0x1A69}, + [I(79,109)] = {13,0x1AA9}, + [I(80,109)] = {13,0x1AE9}, + [I(81,109)] = {13,0x1B29}, + [I(82,109)] = {13,0x1B69}, + [I(83,109)] = {13,0x1BA9}, + [I(84,109)] = {13,0x1BE9}, + [I(85,109)] = {13,0x1C29}, + [I(86,109)] = {13,0x1C69}, + [I(87,109)] = {13,0x1CA9}, + [I(88,109)] = {14,0x3F29}, + [I(89,109)] = {13,0x1CE9}, + [I(90,109)] = {14,0x3F69}, + [I(91,109)] = {19,0x7FEE9}, + [I(92,109)] = {25,0x1FFFC29}, + [I(93,109)] = {19,0x7FF29}, + [I(94,109)] = {20,0xFFF29}, + [I(95,109)] = {12,0x8A9}, + [I(96,109)] = {21,0x1FFF69}, + [I(97,109)] = {11,0xE9}, + [I(98,109)] = {12,0x8E9}, + [I(99,109)] = {11,0x129}, + [I(100,109)] = {12,0x929}, + [I(101,109)] = {11,0x169}, + [I(102,109)] = {12,0x969}, + [I(103,109)] = {12,0x9A9}, + [I(104,109)] = {12,0x9E9}, + [I(105,109)] = {11,0x1A9}, + [I(106,109)] = {13,0x1D29}, + [I(107,109)] = {13,0x1D69}, + [I(108,109)] = {12,0xA29}, + [I(109,109)] = {12,0xA69}, + [I(110,109)] = {12,0xAA9}, + [I(111,109)] = {11,0x1E9}, + [I(112,109)] = {12,0xAE9}, + [I(113,109)] = {13,0x1DA9}, + [I(114,109)] = {12,0xB29}, + [I(115,109)] = {11,0x229}, + [I(116,109)] = {11,0x269}, + [I(117,109)] = {12,0xB69}, + [I(118,109)] = {13,0x1DE9}, + [I(119,109)] = {13,0x1E29}, + [I(120,109)] = {13,0x1E69}, + [I(121,109)] = {13,0x1EA9}, + [I(122,109)] = {13,0x1EE9}, + [I(123,109)] = {21,0x1FFFA9}, + [I(124,109)] = {17,0x1FF29}, + [I(125,109)] = {20,0xFFF69}, + [I(126,109)] = {19,0x7FF69}, + [I(127,109)] = {64,0}, + [I(128,109)] = {26,0x3FFF9A9}, + [I(129,109)] = {28,0xFFFF4A9}, + [I(130,109)] = {26,0x3FFF9E9}, + [I(131,109)] = {26,0x3FFFA29}, + [I(132,109)] = {28,0xFFFF4E9}, + [I(133,109)] = {28,0xFFFF529}, + [I(134,109)] = {28,0xFFFF569}, + [I(135,109)] = {29,0x1FFFF669}, + [I(136,109)] = {28,0xFFFF5A9}, + [I(137,109)] = {29,0x1FFFF6A9}, + [I(138,109)] = {29,0x1FFFF6E9}, + [I(139,109)] = {29,0x1FFFF729}, + [I(140,109)] = {29,0x1FFFF769}, + [I(141,109)] = {29,0x1FFFF7A9}, + [I(142,109)] = {30,0x3FFFFAE9}, + [I(143,109)] = {29,0x1FFFF7E9}, + [I(144,109)] = {30,0x3FFFFB29}, + [I(145,109)] = {30,0x3FFFFB69}, + [I(146,109)] = {28,0xFFFF5E9}, + [I(147,109)] = {29,0x1FFFF829}, + [I(148,109)] = {30,0x3FFFFBA9}, + [I(149,109)] = {29,0x1FFFF869}, + [I(150,109)] = {29,0x1FFFF8A9}, + [I(151,109)] = {29,0x1FFFF8E9}, + [I(152,109)] = {29,0x1FFFF929}, + [I(153,109)] = {27,0x7FFF729}, + [I(154,109)] = {28,0xFFFF629}, + [I(155,109)] = {29,0x1FFFF969}, + [I(156,109)] = {28,0xFFFF669}, + [I(157,109)] = {29,0x1FFFF9A9}, + [I(158,109)] = {29,0x1FFFF9E9}, + [I(159,109)] = {30,0x3FFFFBE9}, + [I(160,109)] = {28,0xFFFF6A9}, + [I(161,109)] = {27,0x7FFF769}, + [I(162,109)] = {26,0x3FFFA69}, + [I(163,109)] = {28,0xFFFF6E9}, + [I(164,109)] = {28,0xFFFF729}, + [I(165,109)] = {29,0x1FFFFA29}, + [I(166,109)] = {29,0x1FFFFA69}, + [I(167,109)] = {27,0x7FFF7A9}, + [I(168,109)] = {29,0x1FFFFAA9}, + [I(169,109)] = {28,0xFFFF769}, + [I(170,109)] = {28,0xFFFF7A9}, + [I(171,109)] = {30,0x3FFFFC29}, + [I(172,109)] = {27,0x7FFF7E9}, + [I(173,109)] = {28,0xFFFF7E9}, + [I(174,109)] = {29,0x1FFFFAE9}, + [I(175,109)] = {29,0x1FFFFB29}, + [I(176,109)] = {27,0x7FFF829}, + [I(177,109)] = {27,0x7FFF869}, + [I(178,109)] = {28,0xFFFF829}, + [I(179,109)] = {27,0x7FFF8A9}, + [I(180,109)] = {29,0x1FFFFB69}, + [I(181,109)] = {28,0xFFFF869}, + [I(182,109)] = {29,0x1FFFFBA9}, + [I(183,109)] = {29,0x1FFFFBE9}, + [I(184,109)] = {26,0x3FFFAA9}, + [I(185,109)] = {28,0xFFFF8A9}, + [I(186,109)] = {28,0xFFFF8E9}, + [I(187,109)] = {28,0xFFFF929}, + [I(188,109)] = {29,0x1FFFFC29}, + [I(189,109)] = {28,0xFFFF969}, + [I(190,109)] = {28,0xFFFF9A9}, + [I(191,109)] = {29,0x1FFFFC69}, + [I(192,109)] = {X32,0xFFFFF829}, + [I(193,109)] = {X32,0xFFFFF869}, + [I(194,109)] = {26,0x3FFFAE9}, + [I(195,109)] = {25,0x1FFFC69}, + [I(196,109)] = {28,0xFFFF9E9}, + [I(197,109)] = {29,0x1FFFFCA9}, + [I(198,109)] = {28,0xFFFFA29}, + [I(199,109)] = {31,0x7FFFFB29}, + [I(200,109)] = {X32,0xFFFFF8A9}, + [I(201,109)] = {X32,0xFFFFF8E9}, + [I(202,109)] = {X32,0xFFFFF929}, + [I(203,109)] = {64,0}, + [I(204,109)] = {64,0}, + [I(205,109)] = {X32,0xFFFFF969}, + [I(206,109)] = {30,0x3FFFFC69}, + [I(207,109)] = {31,0x7FFFFB69}, + [I(208,109)] = {25,0x1FFFCA9}, + [I(209,109)] = {27,0x7FFF8E9}, + [I(210,109)] = {X32,0xFFFFF9A9}, + [I(211,109)] = {64,0}, + [I(212,109)] = {64,0}, + [I(213,109)] = {X32,0xFFFFF9E9}, + [I(214,109)] = {64,0}, + [I(215,109)] = {30,0x3FFFFCA9}, + [I(216,109)] = {27,0x7FFF929}, + [I(217,109)] = {27,0x7FFF969}, + [I(218,109)] = {X32,0xFFFFFA29}, + [I(219,109)] = {X32,0xFFFFFA69}, + [I(220,109)] = {64,0}, + [I(221,109)] = {64,0}, + [I(222,109)] = {64,0}, + [I(223,109)] = {64,0}, + [I(224,109)] = {26,0x3FFFB29}, + [I(225,109)] = {30,0x3FFFFCE9}, + [I(226,109)] = {26,0x3FFFB69}, + [I(227,109)] = {27,0x7FFF9A9}, + [I(228,109)] = {28,0xFFFFA69}, + [I(229,109)] = {27,0x7FFF9E9}, + [I(230,109)] = {27,0x7FFFA29}, + [I(231,109)] = {29,0x1FFFFCE9}, + [I(232,109)] = {28,0xFFFFAA9}, + [I(233,109)] = {28,0xFFFFAE9}, + [I(234,109)] = {31,0x7FFFFBA9}, + [I(235,109)] = {31,0x7FFFFBE9}, + [I(236,109)] = {30,0x3FFFFD29}, + [I(237,109)] = {30,0x3FFFFD69}, + [I(238,109)] = {X32,0xFFFFFAA9}, + [I(239,109)] = {29,0x1FFFFD29}, + [I(240,109)] = {X32,0xFFFFFAE9}, + [I(241,109)] = {64,0}, + [I(242,109)] = {X32,0xFFFFFB29}, + [I(243,109)] = {X32,0xFFFFFB69}, + [I(244,109)] = {64,0}, + [I(245,109)] = {64,0}, + [I(246,109)] = {64,0}, + [I(247,109)] = {64,0}, + [I(248,109)] = {64,0}, + [I(249,109)] = {64,0}, + [I(250,109)] = {64,0}, + [I(251,109)] = {64,0}, + [I(252,109)] = {64,0}, + [I(253,109)] = {64,0}, + [I(254,109)] = {64,0}, + [I(255,109)] = {X32,0xFFFFFBA9}, + [I(0,110)] = {19,0x7FE2A}, + [I(1,110)] = {29,0x1FFFF62A}, + [I(2,110)] = {64,0}, + [I(3,110)] = {64,0}, + [I(4,110)] = {64,0}, + [I(5,110)] = {64,0}, + [I(6,110)] = {64,0}, + [I(7,110)] = {64,0}, + [I(8,110)] = {64,0}, + [I(9,110)] = {30,0x3FFFFAAA}, + [I(10,110)] = {64,0}, + [I(11,110)] = {64,0}, + [I(12,110)] = {64,0}, + [I(13,110)] = {64,0}, + [I(14,110)] = {64,0}, + [I(15,110)] = {64,0}, + [I(16,110)] = {64,0}, + [I(17,110)] = {64,0}, + [I(18,110)] = {64,0}, + [I(19,110)] = {64,0}, + [I(20,110)] = {64,0}, + [I(21,110)] = {64,0}, + [I(22,110)] = {64,0}, + [I(23,110)] = {64,0}, + [I(24,110)] = {64,0}, + [I(25,110)] = {64,0}, + [I(26,110)] = {64,0}, + [I(27,110)] = {64,0}, + [I(28,110)] = {64,0}, + [I(29,110)] = {64,0}, + [I(30,110)] = {64,0}, + [I(31,110)] = {64,0}, + [I(32,110)] = {12,0x52A}, + [I(33,110)] = {16,0xFE2A}, + [I(34,110)] = {16,0xFE6A}, + [I(35,110)] = {18,0x3FEAA}, + [I(36,110)] = {19,0x7FE6A}, + [I(37,110)] = {12,0x56A}, + [I(38,110)] = {14,0x3E2A}, + [I(39,110)] = {17,0x1FEAA}, + [I(40,110)] = {16,0xFEAA}, + [I(41,110)] = {16,0xFEEA}, + [I(42,110)] = {14,0x3E6A}, + [I(43,110)] = {17,0x1FEEA}, + [I(44,110)] = {14,0x3EAA}, + [I(45,110)] = {12,0x5AA}, + [I(46,110)] = {12,0x5EA}, + [I(47,110)] = {12,0x62A}, + [I(48,110)] = {11,0x2A}, + [I(49,110)] = {11,0x6A}, + [I(50,110)] = {11,0xAA}, + [I(51,110)] = {12,0x66A}, + [I(52,110)] = {12,0x6AA}, + [I(53,110)] = {12,0x6EA}, + [I(54,110)] = {12,0x72A}, + [I(55,110)] = {12,0x76A}, + [I(56,110)] = {12,0x7AA}, + [I(57,110)] = {12,0x7EA}, + [I(58,110)] = {13,0x172A}, + [I(59,110)] = {14,0x3EEA}, + [I(60,110)] = {21,0x1FFF2A}, + [I(61,110)] = {12,0x82A}, + [I(62,110)] = {18,0x3FEEA}, + [I(63,110)] = {16,0xFF2A}, + [I(64,110)] = {19,0x7FEAA}, + [I(65,110)] = {12,0x86A}, + [I(66,110)] = {13,0x176A}, + [I(67,110)] = {13,0x17AA}, + [I(68,110)] = {13,0x17EA}, + [I(69,110)] = {13,0x182A}, + [I(70,110)] = {13,0x186A}, + [I(71,110)] = {13,0x18AA}, + [I(72,110)] = {13,0x18EA}, + [I(73,110)] = {13,0x192A}, + [I(74,110)] = {13,0x196A}, + [I(75,110)] = {13,0x19AA}, + [I(76,110)] = {13,0x19EA}, + [I(77,110)] = {13,0x1A2A}, + [I(78,110)] = {13,0x1A6A}, + [I(79,110)] = {13,0x1AAA}, + [I(80,110)] = {13,0x1AEA}, + [I(81,110)] = {13,0x1B2A}, + [I(82,110)] = {13,0x1B6A}, + [I(83,110)] = {13,0x1BAA}, + [I(84,110)] = {13,0x1BEA}, + [I(85,110)] = {13,0x1C2A}, + [I(86,110)] = {13,0x1C6A}, + [I(87,110)] = {13,0x1CAA}, + [I(88,110)] = {14,0x3F2A}, + [I(89,110)] = {13,0x1CEA}, + [I(90,110)] = {14,0x3F6A}, + [I(91,110)] = {19,0x7FEEA}, + [I(92,110)] = {25,0x1FFFC2A}, + [I(93,110)] = {19,0x7FF2A}, + [I(94,110)] = {20,0xFFF2A}, + [I(95,110)] = {12,0x8AA}, + [I(96,110)] = {21,0x1FFF6A}, + [I(97,110)] = {11,0xEA}, + [I(98,110)] = {12,0x8EA}, + [I(99,110)] = {11,0x12A}, + [I(100,110)] = {12,0x92A}, + [I(101,110)] = {11,0x16A}, + [I(102,110)] = {12,0x96A}, + [I(103,110)] = {12,0x9AA}, + [I(104,110)] = {12,0x9EA}, + [I(105,110)] = {11,0x1AA}, + [I(106,110)] = {13,0x1D2A}, + [I(107,110)] = {13,0x1D6A}, + [I(108,110)] = {12,0xA2A}, + [I(109,110)] = {12,0xA6A}, + [I(110,110)] = {12,0xAAA}, + [I(111,110)] = {11,0x1EA}, + [I(112,110)] = {12,0xAEA}, + [I(113,110)] = {13,0x1DAA}, + [I(114,110)] = {12,0xB2A}, + [I(115,110)] = {11,0x22A}, + [I(116,110)] = {11,0x26A}, + [I(117,110)] = {12,0xB6A}, + [I(118,110)] = {13,0x1DEA}, + [I(119,110)] = {13,0x1E2A}, + [I(120,110)] = {13,0x1E6A}, + [I(121,110)] = {13,0x1EAA}, + [I(122,110)] = {13,0x1EEA}, + [I(123,110)] = {21,0x1FFFAA}, + [I(124,110)] = {17,0x1FF2A}, + [I(125,110)] = {20,0xFFF6A}, + [I(126,110)] = {19,0x7FF6A}, + [I(127,110)] = {64,0}, + [I(128,110)] = {26,0x3FFF9AA}, + [I(129,110)] = {28,0xFFFF4AA}, + [I(130,110)] = {26,0x3FFF9EA}, + [I(131,110)] = {26,0x3FFFA2A}, + [I(132,110)] = {28,0xFFFF4EA}, + [I(133,110)] = {28,0xFFFF52A}, + [I(134,110)] = {28,0xFFFF56A}, + [I(135,110)] = {29,0x1FFFF66A}, + [I(136,110)] = {28,0xFFFF5AA}, + [I(137,110)] = {29,0x1FFFF6AA}, + [I(138,110)] = {29,0x1FFFF6EA}, + [I(139,110)] = {29,0x1FFFF72A}, + [I(140,110)] = {29,0x1FFFF76A}, + [I(141,110)] = {29,0x1FFFF7AA}, + [I(142,110)] = {30,0x3FFFFAEA}, + [I(143,110)] = {29,0x1FFFF7EA}, + [I(144,110)] = {30,0x3FFFFB2A}, + [I(145,110)] = {30,0x3FFFFB6A}, + [I(146,110)] = {28,0xFFFF5EA}, + [I(147,110)] = {29,0x1FFFF82A}, + [I(148,110)] = {30,0x3FFFFBAA}, + [I(149,110)] = {29,0x1FFFF86A}, + [I(150,110)] = {29,0x1FFFF8AA}, + [I(151,110)] = {29,0x1FFFF8EA}, + [I(152,110)] = {29,0x1FFFF92A}, + [I(153,110)] = {27,0x7FFF72A}, + [I(154,110)] = {28,0xFFFF62A}, + [I(155,110)] = {29,0x1FFFF96A}, + [I(156,110)] = {28,0xFFFF66A}, + [I(157,110)] = {29,0x1FFFF9AA}, + [I(158,110)] = {29,0x1FFFF9EA}, + [I(159,110)] = {30,0x3FFFFBEA}, + [I(160,110)] = {28,0xFFFF6AA}, + [I(161,110)] = {27,0x7FFF76A}, + [I(162,110)] = {26,0x3FFFA6A}, + [I(163,110)] = {28,0xFFFF6EA}, + [I(164,110)] = {28,0xFFFF72A}, + [I(165,110)] = {29,0x1FFFFA2A}, + [I(166,110)] = {29,0x1FFFFA6A}, + [I(167,110)] = {27,0x7FFF7AA}, + [I(168,110)] = {29,0x1FFFFAAA}, + [I(169,110)] = {28,0xFFFF76A}, + [I(170,110)] = {28,0xFFFF7AA}, + [I(171,110)] = {30,0x3FFFFC2A}, + [I(172,110)] = {27,0x7FFF7EA}, + [I(173,110)] = {28,0xFFFF7EA}, + [I(174,110)] = {29,0x1FFFFAEA}, + [I(175,110)] = {29,0x1FFFFB2A}, + [I(176,110)] = {27,0x7FFF82A}, + [I(177,110)] = {27,0x7FFF86A}, + [I(178,110)] = {28,0xFFFF82A}, + [I(179,110)] = {27,0x7FFF8AA}, + [I(180,110)] = {29,0x1FFFFB6A}, + [I(181,110)] = {28,0xFFFF86A}, + [I(182,110)] = {29,0x1FFFFBAA}, + [I(183,110)] = {29,0x1FFFFBEA}, + [I(184,110)] = {26,0x3FFFAAA}, + [I(185,110)] = {28,0xFFFF8AA}, + [I(186,110)] = {28,0xFFFF8EA}, + [I(187,110)] = {28,0xFFFF92A}, + [I(188,110)] = {29,0x1FFFFC2A}, + [I(189,110)] = {28,0xFFFF96A}, + [I(190,110)] = {28,0xFFFF9AA}, + [I(191,110)] = {29,0x1FFFFC6A}, + [I(192,110)] = {X32,0xFFFFF82A}, + [I(193,110)] = {X32,0xFFFFF86A}, + [I(194,110)] = {26,0x3FFFAEA}, + [I(195,110)] = {25,0x1FFFC6A}, + [I(196,110)] = {28,0xFFFF9EA}, + [I(197,110)] = {29,0x1FFFFCAA}, + [I(198,110)] = {28,0xFFFFA2A}, + [I(199,110)] = {31,0x7FFFFB2A}, + [I(200,110)] = {X32,0xFFFFF8AA}, + [I(201,110)] = {X32,0xFFFFF8EA}, + [I(202,110)] = {X32,0xFFFFF92A}, + [I(203,110)] = {64,0}, + [I(204,110)] = {64,0}, + [I(205,110)] = {X32,0xFFFFF96A}, + [I(206,110)] = {30,0x3FFFFC6A}, + [I(207,110)] = {31,0x7FFFFB6A}, + [I(208,110)] = {25,0x1FFFCAA}, + [I(209,110)] = {27,0x7FFF8EA}, + [I(210,110)] = {X32,0xFFFFF9AA}, + [I(211,110)] = {64,0}, + [I(212,110)] = {64,0}, + [I(213,110)] = {X32,0xFFFFF9EA}, + [I(214,110)] = {64,0}, + [I(215,110)] = {30,0x3FFFFCAA}, + [I(216,110)] = {27,0x7FFF92A}, + [I(217,110)] = {27,0x7FFF96A}, + [I(218,110)] = {X32,0xFFFFFA2A}, + [I(219,110)] = {X32,0xFFFFFA6A}, + [I(220,110)] = {64,0}, + [I(221,110)] = {64,0}, + [I(222,110)] = {64,0}, + [I(223,110)] = {64,0}, + [I(224,110)] = {26,0x3FFFB2A}, + [I(225,110)] = {30,0x3FFFFCEA}, + [I(226,110)] = {26,0x3FFFB6A}, + [I(227,110)] = {27,0x7FFF9AA}, + [I(228,110)] = {28,0xFFFFA6A}, + [I(229,110)] = {27,0x7FFF9EA}, + [I(230,110)] = {27,0x7FFFA2A}, + [I(231,110)] = {29,0x1FFFFCEA}, + [I(232,110)] = {28,0xFFFFAAA}, + [I(233,110)] = {28,0xFFFFAEA}, + [I(234,110)] = {31,0x7FFFFBAA}, + [I(235,110)] = {31,0x7FFFFBEA}, + [I(236,110)] = {30,0x3FFFFD2A}, + [I(237,110)] = {30,0x3FFFFD6A}, + [I(238,110)] = {X32,0xFFFFFAAA}, + [I(239,110)] = {29,0x1FFFFD2A}, + [I(240,110)] = {X32,0xFFFFFAEA}, + [I(241,110)] = {64,0}, + [I(242,110)] = {X32,0xFFFFFB2A}, + [I(243,110)] = {X32,0xFFFFFB6A}, + [I(244,110)] = {64,0}, + [I(245,110)] = {64,0}, + [I(246,110)] = {64,0}, + [I(247,110)] = {64,0}, + [I(248,110)] = {64,0}, + [I(249,110)] = {64,0}, + [I(250,110)] = {64,0}, + [I(251,110)] = {64,0}, + [I(252,110)] = {64,0}, + [I(253,110)] = {64,0}, + [I(254,110)] = {64,0}, + [I(255,110)] = {X32,0xFFFFFBAA}, + [I(0,111)] = {18,0x3FF07}, + [I(1,111)] = {28,0xFFFFB07}, + [I(2,111)] = {64,0}, + [I(3,111)] = {64,0}, + [I(4,111)] = {64,0}, + [I(5,111)] = {64,0}, + [I(6,111)] = {64,0}, + [I(7,111)] = {64,0}, + [I(8,111)] = {64,0}, + [I(9,111)] = {29,0x1FFFFD47}, + [I(10,111)] = {64,0}, + [I(11,111)] = {64,0}, + [I(12,111)] = {64,0}, + [I(13,111)] = {64,0}, + [I(14,111)] = {64,0}, + [I(15,111)] = {64,0}, + [I(16,111)] = {64,0}, + [I(17,111)] = {64,0}, + [I(18,111)] = {64,0}, + [I(19,111)] = {64,0}, + [I(20,111)] = {64,0}, + [I(21,111)] = {64,0}, + [I(22,111)] = {64,0}, + [I(23,111)] = {64,0}, + [I(24,111)] = {64,0}, + [I(25,111)] = {64,0}, + [I(26,111)] = {64,0}, + [I(27,111)] = {64,0}, + [I(28,111)] = {64,0}, + [I(29,111)] = {64,0}, + [I(30,111)] = {64,0}, + [I(31,111)] = {64,0}, + [I(32,111)] = {11,0x287}, + [I(33,111)] = {15,0x7F07}, + [I(34,111)] = {15,0x7F27}, + [I(35,111)] = {17,0x1FF47}, + [I(36,111)] = {18,0x3FF27}, + [I(37,111)] = {11,0x2A7}, + [I(38,111)] = {13,0x1F07}, + [I(39,111)] = {16,0xFF47}, + [I(40,111)] = {15,0x7F47}, + [I(41,111)] = {15,0x7F67}, + [I(42,111)] = {13,0x1F27}, + [I(43,111)] = {16,0xFF67}, + [I(44,111)] = {13,0x1F47}, + [I(45,111)] = {11,0x2C7}, + [I(46,111)] = {11,0x2E7}, + [I(47,111)] = {11,0x307}, + [I(48,111)] = {10,0x7}, + [I(49,111)] = {10,0x27}, + [I(50,111)] = {10,0x47}, + [I(51,111)] = {11,0x327}, + [I(52,111)] = {11,0x347}, + [I(53,111)] = {11,0x367}, + [I(54,111)] = {11,0x387}, + [I(55,111)] = {11,0x3A7}, + [I(56,111)] = {11,0x3C7}, + [I(57,111)] = {11,0x3E7}, + [I(58,111)] = {12,0xB87}, + [I(59,111)] = {13,0x1F67}, + [I(60,111)] = {20,0xFFF87}, + [I(61,111)] = {11,0x407}, + [I(62,111)] = {17,0x1FF67}, + [I(63,111)] = {15,0x7F87}, + [I(64,111)] = {18,0x3FF47}, + [I(65,111)] = {11,0x427}, + [I(66,111)] = {12,0xBA7}, + [I(67,111)] = {12,0xBC7}, + [I(68,111)] = {12,0xBE7}, + [I(69,111)] = {12,0xC07}, + [I(70,111)] = {12,0xC27}, + [I(71,111)] = {12,0xC47}, + [I(72,111)] = {12,0xC67}, + [I(73,111)] = {12,0xC87}, + [I(74,111)] = {12,0xCA7}, + [I(75,111)] = {12,0xCC7}, + [I(76,111)] = {12,0xCE7}, + [I(77,111)] = {12,0xD07}, + [I(78,111)] = {12,0xD27}, + [I(79,111)] = {12,0xD47}, + [I(80,111)] = {12,0xD67}, + [I(81,111)] = {12,0xD87}, + [I(82,111)] = {12,0xDA7}, + [I(83,111)] = {12,0xDC7}, + [I(84,111)] = {12,0xDE7}, + [I(85,111)] = {12,0xE07}, + [I(86,111)] = {12,0xE27}, + [I(87,111)] = {12,0xE47}, + [I(88,111)] = {13,0x1F87}, + [I(89,111)] = {12,0xE67}, + [I(90,111)] = {13,0x1FA7}, + [I(91,111)] = {18,0x3FF67}, + [I(92,111)] = {24,0xFFFE07}, + [I(93,111)] = {18,0x3FF87}, + [I(94,111)] = {19,0x7FF87}, + [I(95,111)] = {11,0x447}, + [I(96,111)] = {20,0xFFFA7}, + [I(97,111)] = {10,0x67}, + [I(98,111)] = {11,0x467}, + [I(99,111)] = {10,0x87}, + [I(100,111)] = {11,0x487}, + [I(101,111)] = {10,0xA7}, + [I(102,111)] = {11,0x4A7}, + [I(103,111)] = {11,0x4C7}, + [I(104,111)] = {11,0x4E7}, + [I(105,111)] = {10,0xC7}, + [I(106,111)] = {12,0xE87}, + [I(107,111)] = {12,0xEA7}, + [I(108,111)] = {11,0x507}, + [I(109,111)] = {11,0x527}, + [I(110,111)] = {11,0x547}, + [I(111,111)] = {10,0xE7}, + [I(112,111)] = {11,0x567}, + [I(113,111)] = {12,0xEC7}, + [I(114,111)] = {11,0x587}, + [I(115,111)] = {10,0x107}, + [I(116,111)] = {10,0x127}, + [I(117,111)] = {11,0x5A7}, + [I(118,111)] = {12,0xEE7}, + [I(119,111)] = {12,0xF07}, + [I(120,111)] = {12,0xF27}, + [I(121,111)] = {12,0xF47}, + [I(122,111)] = {12,0xF67}, + [I(123,111)] = {20,0xFFFC7}, + [I(124,111)] = {16,0xFF87}, + [I(125,111)] = {19,0x7FFA7}, + [I(126,111)] = {18,0x3FFA7}, + [I(127,111)] = {64,0}, + [I(128,111)] = {25,0x1FFFCC7}, + [I(129,111)] = {27,0x7FFFA47}, + [I(130,111)] = {25,0x1FFFCE7}, + [I(131,111)] = {25,0x1FFFD07}, + [I(132,111)] = {27,0x7FFFA67}, + [I(133,111)] = {27,0x7FFFA87}, + [I(134,111)] = {27,0x7FFFAA7}, + [I(135,111)] = {28,0xFFFFB27}, + [I(136,111)] = {27,0x7FFFAC7}, + [I(137,111)] = {28,0xFFFFB47}, + [I(138,111)] = {28,0xFFFFB67}, + [I(139,111)] = {28,0xFFFFB87}, + [I(140,111)] = {28,0xFFFFBA7}, + [I(141,111)] = {28,0xFFFFBC7}, + [I(142,111)] = {29,0x1FFFFD67}, + [I(143,111)] = {28,0xFFFFBE7}, + [I(144,111)] = {29,0x1FFFFD87}, + [I(145,111)] = {29,0x1FFFFDA7}, + [I(146,111)] = {27,0x7FFFAE7}, + [I(147,111)] = {28,0xFFFFC07}, + [I(148,111)] = {29,0x1FFFFDC7}, + [I(149,111)] = {28,0xFFFFC27}, + [I(150,111)] = {28,0xFFFFC47}, + [I(151,111)] = {28,0xFFFFC67}, + [I(152,111)] = {28,0xFFFFC87}, + [I(153,111)] = {26,0x3FFFB87}, + [I(154,111)] = {27,0x7FFFB07}, + [I(155,111)] = {28,0xFFFFCA7}, + [I(156,111)] = {27,0x7FFFB27}, + [I(157,111)] = {28,0xFFFFCC7}, + [I(158,111)] = {28,0xFFFFCE7}, + [I(159,111)] = {29,0x1FFFFDE7}, + [I(160,111)] = {27,0x7FFFB47}, + [I(161,111)] = {26,0x3FFFBA7}, + [I(162,111)] = {25,0x1FFFD27}, + [I(163,111)] = {27,0x7FFFB67}, + [I(164,111)] = {27,0x7FFFB87}, + [I(165,111)] = {28,0xFFFFD07}, + [I(166,111)] = {28,0xFFFFD27}, + [I(167,111)] = {26,0x3FFFBC7}, + [I(168,111)] = {28,0xFFFFD47}, + [I(169,111)] = {27,0x7FFFBA7}, + [I(170,111)] = {27,0x7FFFBC7}, + [I(171,111)] = {29,0x1FFFFE07}, + [I(172,111)] = {26,0x3FFFBE7}, + [I(173,111)] = {27,0x7FFFBE7}, + [I(174,111)] = {28,0xFFFFD67}, + [I(175,111)] = {28,0xFFFFD87}, + [I(176,111)] = {26,0x3FFFC07}, + [I(177,111)] = {26,0x3FFFC27}, + [I(178,111)] = {27,0x7FFFC07}, + [I(179,111)] = {26,0x3FFFC47}, + [I(180,111)] = {28,0xFFFFDA7}, + [I(181,111)] = {27,0x7FFFC27}, + [I(182,111)] = {28,0xFFFFDC7}, + [I(183,111)] = {28,0xFFFFDE7}, + [I(184,111)] = {25,0x1FFFD47}, + [I(185,111)] = {27,0x7FFFC47}, + [I(186,111)] = {27,0x7FFFC67}, + [I(187,111)] = {27,0x7FFFC87}, + [I(188,111)] = {28,0xFFFFE07}, + [I(189,111)] = {27,0x7FFFCA7}, + [I(190,111)] = {27,0x7FFFCC7}, + [I(191,111)] = {28,0xFFFFE27}, + [I(192,111)] = {31,0x7FFFFC07}, + [I(193,111)] = {31,0x7FFFFC27}, + [I(194,111)] = {25,0x1FFFD67}, + [I(195,111)] = {24,0xFFFE27}, + [I(196,111)] = {27,0x7FFFCE7}, + [I(197,111)] = {28,0xFFFFE47}, + [I(198,111)] = {27,0x7FFFD07}, + [I(199,111)] = {30,0x3FFFFD87}, + [I(200,111)] = {31,0x7FFFFC47}, + [I(201,111)] = {31,0x7FFFFC67}, + [I(202,111)] = {31,0x7FFFFC87}, + [I(203,111)] = {X32,0xFFFFFBC7}, + [I(204,111)] = {X32,0xFFFFFBE7}, + [I(205,111)] = {31,0x7FFFFCA7}, + [I(206,111)] = {29,0x1FFFFE27}, + [I(207,111)] = {30,0x3FFFFDA7}, + [I(208,111)] = {24,0xFFFE47}, + [I(209,111)] = {26,0x3FFFC67}, + [I(210,111)] = {31,0x7FFFFCC7}, + [I(211,111)] = {X32,0xFFFFFC07}, + [I(212,111)] = {X32,0xFFFFFC27}, + [I(213,111)] = {31,0x7FFFFCE7}, + [I(214,111)] = {X32,0xFFFFFC47}, + [I(215,111)] = {29,0x1FFFFE47}, + [I(216,111)] = {26,0x3FFFC87}, + [I(217,111)] = {26,0x3FFFCA7}, + [I(218,111)] = {31,0x7FFFFD07}, + [I(219,111)] = {31,0x7FFFFD27}, + [I(220,111)] = {64,0}, + [I(221,111)] = {X32,0xFFFFFC67}, + [I(222,111)] = {X32,0xFFFFFC87}, + [I(223,111)] = {X32,0xFFFFFCA7}, + [I(224,111)] = {25,0x1FFFD87}, + [I(225,111)] = {29,0x1FFFFE67}, + [I(226,111)] = {25,0x1FFFDA7}, + [I(227,111)] = {26,0x3FFFCC7}, + [I(228,111)] = {27,0x7FFFD27}, + [I(229,111)] = {26,0x3FFFCE7}, + [I(230,111)] = {26,0x3FFFD07}, + [I(231,111)] = {28,0xFFFFE67}, + [I(232,111)] = {27,0x7FFFD47}, + [I(233,111)] = {27,0x7FFFD67}, + [I(234,111)] = {30,0x3FFFFDC7}, + [I(235,111)] = {30,0x3FFFFDE7}, + [I(236,111)] = {29,0x1FFFFE87}, + [I(237,111)] = {29,0x1FFFFEA7}, + [I(238,111)] = {31,0x7FFFFD47}, + [I(239,111)] = {28,0xFFFFE87}, + [I(240,111)] = {31,0x7FFFFD67}, + [I(241,111)] = {X32,0xFFFFFCC7}, + [I(242,111)] = {31,0x7FFFFD87}, + [I(243,111)] = {31,0x7FFFFDA7}, + [I(244,111)] = {X32,0xFFFFFCE7}, + [I(245,111)] = {X32,0xFFFFFD07}, + [I(246,111)] = {X32,0xFFFFFD27}, + [I(247,111)] = {X32,0xFFFFFD47}, + [I(248,111)] = {X32,0xFFFFFD67}, + [I(249,111)] = {64,0}, + [I(250,111)] = {X32,0xFFFFFD87}, + [I(251,111)] = {X32,0xFFFFFDA7}, + [I(252,111)] = {X32,0xFFFFFDC7}, + [I(253,111)] = {X32,0xFFFFFDE7}, + [I(254,111)] = {X32,0xFFFFFE07}, + [I(255,111)] = {31,0x7FFFFDC7}, + [I(0,112)] = {19,0x7FE2B}, + [I(1,112)] = {29,0x1FFFF62B}, + [I(2,112)] = {64,0}, + [I(3,112)] = {64,0}, + [I(4,112)] = {64,0}, + [I(5,112)] = {64,0}, + [I(6,112)] = {64,0}, + [I(7,112)] = {64,0}, + [I(8,112)] = {64,0}, + [I(9,112)] = {30,0x3FFFFAAB}, + [I(10,112)] = {64,0}, + [I(11,112)] = {64,0}, + [I(12,112)] = {64,0}, + [I(13,112)] = {64,0}, + [I(14,112)] = {64,0}, + [I(15,112)] = {64,0}, + [I(16,112)] = {64,0}, + [I(17,112)] = {64,0}, + [I(18,112)] = {64,0}, + [I(19,112)] = {64,0}, + [I(20,112)] = {64,0}, + [I(21,112)] = {64,0}, + [I(22,112)] = {64,0}, + [I(23,112)] = {64,0}, + [I(24,112)] = {64,0}, + [I(25,112)] = {64,0}, + [I(26,112)] = {64,0}, + [I(27,112)] = {64,0}, + [I(28,112)] = {64,0}, + [I(29,112)] = {64,0}, + [I(30,112)] = {64,0}, + [I(31,112)] = {64,0}, + [I(32,112)] = {12,0x52B}, + [I(33,112)] = {16,0xFE2B}, + [I(34,112)] = {16,0xFE6B}, + [I(35,112)] = {18,0x3FEAB}, + [I(36,112)] = {19,0x7FE6B}, + [I(37,112)] = {12,0x56B}, + [I(38,112)] = {14,0x3E2B}, + [I(39,112)] = {17,0x1FEAB}, + [I(40,112)] = {16,0xFEAB}, + [I(41,112)] = {16,0xFEEB}, + [I(42,112)] = {14,0x3E6B}, + [I(43,112)] = {17,0x1FEEB}, + [I(44,112)] = {14,0x3EAB}, + [I(45,112)] = {12,0x5AB}, + [I(46,112)] = {12,0x5EB}, + [I(47,112)] = {12,0x62B}, + [I(48,112)] = {11,0x2B}, + [I(49,112)] = {11,0x6B}, + [I(50,112)] = {11,0xAB}, + [I(51,112)] = {12,0x66B}, + [I(52,112)] = {12,0x6AB}, + [I(53,112)] = {12,0x6EB}, + [I(54,112)] = {12,0x72B}, + [I(55,112)] = {12,0x76B}, + [I(56,112)] = {12,0x7AB}, + [I(57,112)] = {12,0x7EB}, + [I(58,112)] = {13,0x172B}, + [I(59,112)] = {14,0x3EEB}, + [I(60,112)] = {21,0x1FFF2B}, + [I(61,112)] = {12,0x82B}, + [I(62,112)] = {18,0x3FEEB}, + [I(63,112)] = {16,0xFF2B}, + [I(64,112)] = {19,0x7FEAB}, + [I(65,112)] = {12,0x86B}, + [I(66,112)] = {13,0x176B}, + [I(67,112)] = {13,0x17AB}, + [I(68,112)] = {13,0x17EB}, + [I(69,112)] = {13,0x182B}, + [I(70,112)] = {13,0x186B}, + [I(71,112)] = {13,0x18AB}, + [I(72,112)] = {13,0x18EB}, + [I(73,112)] = {13,0x192B}, + [I(74,112)] = {13,0x196B}, + [I(75,112)] = {13,0x19AB}, + [I(76,112)] = {13,0x19EB}, + [I(77,112)] = {13,0x1A2B}, + [I(78,112)] = {13,0x1A6B}, + [I(79,112)] = {13,0x1AAB}, + [I(80,112)] = {13,0x1AEB}, + [I(81,112)] = {13,0x1B2B}, + [I(82,112)] = {13,0x1B6B}, + [I(83,112)] = {13,0x1BAB}, + [I(84,112)] = {13,0x1BEB}, + [I(85,112)] = {13,0x1C2B}, + [I(86,112)] = {13,0x1C6B}, + [I(87,112)] = {13,0x1CAB}, + [I(88,112)] = {14,0x3F2B}, + [I(89,112)] = {13,0x1CEB}, + [I(90,112)] = {14,0x3F6B}, + [I(91,112)] = {19,0x7FEEB}, + [I(92,112)] = {25,0x1FFFC2B}, + [I(93,112)] = {19,0x7FF2B}, + [I(94,112)] = {20,0xFFF2B}, + [I(95,112)] = {12,0x8AB}, + [I(96,112)] = {21,0x1FFF6B}, + [I(97,112)] = {11,0xEB}, + [I(98,112)] = {12,0x8EB}, + [I(99,112)] = {11,0x12B}, + [I(100,112)] = {12,0x92B}, + [I(101,112)] = {11,0x16B}, + [I(102,112)] = {12,0x96B}, + [I(103,112)] = {12,0x9AB}, + [I(104,112)] = {12,0x9EB}, + [I(105,112)] = {11,0x1AB}, + [I(106,112)] = {13,0x1D2B}, + [I(107,112)] = {13,0x1D6B}, + [I(108,112)] = {12,0xA2B}, + [I(109,112)] = {12,0xA6B}, + [I(110,112)] = {12,0xAAB}, + [I(111,112)] = {11,0x1EB}, + [I(112,112)] = {12,0xAEB}, + [I(113,112)] = {13,0x1DAB}, + [I(114,112)] = {12,0xB2B}, + [I(115,112)] = {11,0x22B}, + [I(116,112)] = {11,0x26B}, + [I(117,112)] = {12,0xB6B}, + [I(118,112)] = {13,0x1DEB}, + [I(119,112)] = {13,0x1E2B}, + [I(120,112)] = {13,0x1E6B}, + [I(121,112)] = {13,0x1EAB}, + [I(122,112)] = {13,0x1EEB}, + [I(123,112)] = {21,0x1FFFAB}, + [I(124,112)] = {17,0x1FF2B}, + [I(125,112)] = {20,0xFFF6B}, + [I(126,112)] = {19,0x7FF6B}, + [I(127,112)] = {64,0}, + [I(128,112)] = {26,0x3FFF9AB}, + [I(129,112)] = {28,0xFFFF4AB}, + [I(130,112)] = {26,0x3FFF9EB}, + [I(131,112)] = {26,0x3FFFA2B}, + [I(132,112)] = {28,0xFFFF4EB}, + [I(133,112)] = {28,0xFFFF52B}, + [I(134,112)] = {28,0xFFFF56B}, + [I(135,112)] = {29,0x1FFFF66B}, + [I(136,112)] = {28,0xFFFF5AB}, + [I(137,112)] = {29,0x1FFFF6AB}, + [I(138,112)] = {29,0x1FFFF6EB}, + [I(139,112)] = {29,0x1FFFF72B}, + [I(140,112)] = {29,0x1FFFF76B}, + [I(141,112)] = {29,0x1FFFF7AB}, + [I(142,112)] = {30,0x3FFFFAEB}, + [I(143,112)] = {29,0x1FFFF7EB}, + [I(144,112)] = {30,0x3FFFFB2B}, + [I(145,112)] = {30,0x3FFFFB6B}, + [I(146,112)] = {28,0xFFFF5EB}, + [I(147,112)] = {29,0x1FFFF82B}, + [I(148,112)] = {30,0x3FFFFBAB}, + [I(149,112)] = {29,0x1FFFF86B}, + [I(150,112)] = {29,0x1FFFF8AB}, + [I(151,112)] = {29,0x1FFFF8EB}, + [I(152,112)] = {29,0x1FFFF92B}, + [I(153,112)] = {27,0x7FFF72B}, + [I(154,112)] = {28,0xFFFF62B}, + [I(155,112)] = {29,0x1FFFF96B}, + [I(156,112)] = {28,0xFFFF66B}, + [I(157,112)] = {29,0x1FFFF9AB}, + [I(158,112)] = {29,0x1FFFF9EB}, + [I(159,112)] = {30,0x3FFFFBEB}, + [I(160,112)] = {28,0xFFFF6AB}, + [I(161,112)] = {27,0x7FFF76B}, + [I(162,112)] = {26,0x3FFFA6B}, + [I(163,112)] = {28,0xFFFF6EB}, + [I(164,112)] = {28,0xFFFF72B}, + [I(165,112)] = {29,0x1FFFFA2B}, + [I(166,112)] = {29,0x1FFFFA6B}, + [I(167,112)] = {27,0x7FFF7AB}, + [I(168,112)] = {29,0x1FFFFAAB}, + [I(169,112)] = {28,0xFFFF76B}, + [I(170,112)] = {28,0xFFFF7AB}, + [I(171,112)] = {30,0x3FFFFC2B}, + [I(172,112)] = {27,0x7FFF7EB}, + [I(173,112)] = {28,0xFFFF7EB}, + [I(174,112)] = {29,0x1FFFFAEB}, + [I(175,112)] = {29,0x1FFFFB2B}, + [I(176,112)] = {27,0x7FFF82B}, + [I(177,112)] = {27,0x7FFF86B}, + [I(178,112)] = {28,0xFFFF82B}, + [I(179,112)] = {27,0x7FFF8AB}, + [I(180,112)] = {29,0x1FFFFB6B}, + [I(181,112)] = {28,0xFFFF86B}, + [I(182,112)] = {29,0x1FFFFBAB}, + [I(183,112)] = {29,0x1FFFFBEB}, + [I(184,112)] = {26,0x3FFFAAB}, + [I(185,112)] = {28,0xFFFF8AB}, + [I(186,112)] = {28,0xFFFF8EB}, + [I(187,112)] = {28,0xFFFF92B}, + [I(188,112)] = {29,0x1FFFFC2B}, + [I(189,112)] = {28,0xFFFF96B}, + [I(190,112)] = {28,0xFFFF9AB}, + [I(191,112)] = {29,0x1FFFFC6B}, + [I(192,112)] = {X32,0xFFFFF82B}, + [I(193,112)] = {X32,0xFFFFF86B}, + [I(194,112)] = {26,0x3FFFAEB}, + [I(195,112)] = {25,0x1FFFC6B}, + [I(196,112)] = {28,0xFFFF9EB}, + [I(197,112)] = {29,0x1FFFFCAB}, + [I(198,112)] = {28,0xFFFFA2B}, + [I(199,112)] = {31,0x7FFFFB2B}, + [I(200,112)] = {X32,0xFFFFF8AB}, + [I(201,112)] = {X32,0xFFFFF8EB}, + [I(202,112)] = {X32,0xFFFFF92B}, + [I(203,112)] = {64,0}, + [I(204,112)] = {64,0}, + [I(205,112)] = {X32,0xFFFFF96B}, + [I(206,112)] = {30,0x3FFFFC6B}, + [I(207,112)] = {31,0x7FFFFB6B}, + [I(208,112)] = {25,0x1FFFCAB}, + [I(209,112)] = {27,0x7FFF8EB}, + [I(210,112)] = {X32,0xFFFFF9AB}, + [I(211,112)] = {64,0}, + [I(212,112)] = {64,0}, + [I(213,112)] = {X32,0xFFFFF9EB}, + [I(214,112)] = {64,0}, + [I(215,112)] = {30,0x3FFFFCAB}, + [I(216,112)] = {27,0x7FFF92B}, + [I(217,112)] = {27,0x7FFF96B}, + [I(218,112)] = {X32,0xFFFFFA2B}, + [I(219,112)] = {X32,0xFFFFFA6B}, + [I(220,112)] = {64,0}, + [I(221,112)] = {64,0}, + [I(222,112)] = {64,0}, + [I(223,112)] = {64,0}, + [I(224,112)] = {26,0x3FFFB2B}, + [I(225,112)] = {30,0x3FFFFCEB}, + [I(226,112)] = {26,0x3FFFB6B}, + [I(227,112)] = {27,0x7FFF9AB}, + [I(228,112)] = {28,0xFFFFA6B}, + [I(229,112)] = {27,0x7FFF9EB}, + [I(230,112)] = {27,0x7FFFA2B}, + [I(231,112)] = {29,0x1FFFFCEB}, + [I(232,112)] = {28,0xFFFFAAB}, + [I(233,112)] = {28,0xFFFFAEB}, + [I(234,112)] = {31,0x7FFFFBAB}, + [I(235,112)] = {31,0x7FFFFBEB}, + [I(236,112)] = {30,0x3FFFFD2B}, + [I(237,112)] = {30,0x3FFFFD6B}, + [I(238,112)] = {X32,0xFFFFFAAB}, + [I(239,112)] = {29,0x1FFFFD2B}, + [I(240,112)] = {X32,0xFFFFFAEB}, + [I(241,112)] = {64,0}, + [I(242,112)] = {X32,0xFFFFFB2B}, + [I(243,112)] = {X32,0xFFFFFB6B}, + [I(244,112)] = {64,0}, + [I(245,112)] = {64,0}, + [I(246,112)] = {64,0}, + [I(247,112)] = {64,0}, + [I(248,112)] = {64,0}, + [I(249,112)] = {64,0}, + [I(250,112)] = {64,0}, + [I(251,112)] = {64,0}, + [I(252,112)] = {64,0}, + [I(253,112)] = {64,0}, + [I(254,112)] = {64,0}, + [I(255,112)] = {X32,0xFFFFFBAB}, + [I(0,113)] = {20,0xFFC76}, + [I(1,113)] = {30,0x3FFFEC76}, + [I(2,113)] = {64,0}, + [I(3,113)] = {64,0}, + [I(4,113)] = {64,0}, + [I(5,113)] = {64,0}, + [I(6,113)] = {64,0}, + [I(7,113)] = {64,0}, + [I(8,113)] = {64,0}, + [I(9,113)] = {31,0x7FFFF576}, + [I(10,113)] = {64,0}, + [I(11,113)] = {64,0}, + [I(12,113)] = {64,0}, + [I(13,113)] = {64,0}, + [I(14,113)] = {64,0}, + [I(15,113)] = {64,0}, + [I(16,113)] = {64,0}, + [I(17,113)] = {64,0}, + [I(18,113)] = {64,0}, + [I(19,113)] = {64,0}, + [I(20,113)] = {64,0}, + [I(21,113)] = {64,0}, + [I(22,113)] = {64,0}, + [I(23,113)] = {64,0}, + [I(24,113)] = {64,0}, + [I(25,113)] = {64,0}, + [I(26,113)] = {64,0}, + [I(27,113)] = {64,0}, + [I(28,113)] = {64,0}, + [I(29,113)] = {64,0}, + [I(30,113)] = {64,0}, + [I(31,113)] = {64,0}, + [I(32,113)] = {13,0xA76}, + [I(33,113)] = {17,0x1FC76}, + [I(34,113)] = {17,0x1FCF6}, + [I(35,113)] = {19,0x7FD76}, + [I(36,113)] = {20,0xFFCF6}, + [I(37,113)] = {13,0xAF6}, + [I(38,113)] = {15,0x7C76}, + [I(39,113)] = {18,0x3FD76}, + [I(40,113)] = {17,0x1FD76}, + [I(41,113)] = {17,0x1FDF6}, + [I(42,113)] = {15,0x7CF6}, + [I(43,113)] = {18,0x3FDF6}, + [I(44,113)] = {15,0x7D76}, + [I(45,113)] = {13,0xB76}, + [I(46,113)] = {13,0xBF6}, + [I(47,113)] = {13,0xC76}, + [I(48,113)] = {12,0x76}, + [I(49,113)] = {12,0xF6}, + [I(50,113)] = {12,0x176}, + [I(51,113)] = {13,0xCF6}, + [I(52,113)] = {13,0xD76}, + [I(53,113)] = {13,0xDF6}, + [I(54,113)] = {13,0xE76}, + [I(55,113)] = {13,0xEF6}, + [I(56,113)] = {13,0xF76}, + [I(57,113)] = {13,0xFF6}, + [I(58,113)] = {14,0x2E76}, + [I(59,113)] = {15,0x7DF6}, + [I(60,113)] = {22,0x3FFE76}, + [I(61,113)] = {13,0x1076}, + [I(62,113)] = {19,0x7FDF6}, + [I(63,113)] = {17,0x1FE76}, + [I(64,113)] = {20,0xFFD76}, + [I(65,113)] = {13,0x10F6}, + [I(66,113)] = {14,0x2EF6}, + [I(67,113)] = {14,0x2F76}, + [I(68,113)] = {14,0x2FF6}, + [I(69,113)] = {14,0x3076}, + [I(70,113)] = {14,0x30F6}, + [I(71,113)] = {14,0x3176}, + [I(72,113)] = {14,0x31F6}, + [I(73,113)] = {14,0x3276}, + [I(74,113)] = {14,0x32F6}, + [I(75,113)] = {14,0x3376}, + [I(76,113)] = {14,0x33F6}, + [I(77,113)] = {14,0x3476}, + [I(78,113)] = {14,0x34F6}, + [I(79,113)] = {14,0x3576}, + [I(80,113)] = {14,0x35F6}, + [I(81,113)] = {14,0x3676}, + [I(82,113)] = {14,0x36F6}, + [I(83,113)] = {14,0x3776}, + [I(84,113)] = {14,0x37F6}, + [I(85,113)] = {14,0x3876}, + [I(86,113)] = {14,0x38F6}, + [I(87,113)] = {14,0x3976}, + [I(88,113)] = {15,0x7E76}, + [I(89,113)] = {14,0x39F6}, + [I(90,113)] = {15,0x7EF6}, + [I(91,113)] = {20,0xFFDF6}, + [I(92,113)] = {26,0x3FFF876}, + [I(93,113)] = {20,0xFFE76}, + [I(94,113)] = {21,0x1FFE76}, + [I(95,113)] = {13,0x1176}, + [I(96,113)] = {22,0x3FFEF6}, + [I(97,113)] = {12,0x1F6}, + [I(98,113)] = {13,0x11F6}, + [I(99,113)] = {12,0x276}, + [I(100,113)] = {13,0x1276}, + [I(101,113)] = {12,0x2F6}, + [I(102,113)] = {13,0x12F6}, + [I(103,113)] = {13,0x1376}, + [I(104,113)] = {13,0x13F6}, + [I(105,113)] = {12,0x376}, + [I(106,113)] = {14,0x3A76}, + [I(107,113)] = {14,0x3AF6}, + [I(108,113)] = {13,0x1476}, + [I(109,113)] = {13,0x14F6}, + [I(110,113)] = {13,0x1576}, + [I(111,113)] = {12,0x3F6}, + [I(112,113)] = {13,0x15F6}, + [I(113,113)] = {14,0x3B76}, + [I(114,113)] = {13,0x1676}, + [I(115,113)] = {12,0x476}, + [I(116,113)] = {12,0x4F6}, + [I(117,113)] = {13,0x16F6}, + [I(118,113)] = {14,0x3BF6}, + [I(119,113)] = {14,0x3C76}, + [I(120,113)] = {14,0x3CF6}, + [I(121,113)] = {14,0x3D76}, + [I(122,113)] = {14,0x3DF6}, + [I(123,113)] = {22,0x3FFF76}, + [I(124,113)] = {18,0x3FE76}, + [I(125,113)] = {21,0x1FFEF6}, + [I(126,113)] = {20,0xFFEF6}, + [I(127,113)] = {64,0}, + [I(128,113)] = {27,0x7FFF376}, + [I(129,113)] = {29,0x1FFFE976}, + [I(130,113)] = {27,0x7FFF3F6}, + [I(131,113)] = {27,0x7FFF476}, + [I(132,113)] = {29,0x1FFFE9F6}, + [I(133,113)] = {29,0x1FFFEA76}, + [I(134,113)] = {29,0x1FFFEAF6}, + [I(135,113)] = {30,0x3FFFECF6}, + [I(136,113)] = {29,0x1FFFEB76}, + [I(137,113)] = {30,0x3FFFED76}, + [I(138,113)] = {30,0x3FFFEDF6}, + [I(139,113)] = {30,0x3FFFEE76}, + [I(140,113)] = {30,0x3FFFEEF6}, + [I(141,113)] = {30,0x3FFFEF76}, + [I(142,113)] = {31,0x7FFFF5F6}, + [I(143,113)] = {30,0x3FFFEFF6}, + [I(144,113)] = {31,0x7FFFF676}, + [I(145,113)] = {31,0x7FFFF6F6}, + [I(146,113)] = {29,0x1FFFEBF6}, + [I(147,113)] = {30,0x3FFFF076}, + [I(148,113)] = {31,0x7FFFF776}, + [I(149,113)] = {30,0x3FFFF0F6}, + [I(150,113)] = {30,0x3FFFF176}, + [I(151,113)] = {30,0x3FFFF1F6}, + [I(152,113)] = {30,0x3FFFF276}, + [I(153,113)] = {28,0xFFFEE76}, + [I(154,113)] = {29,0x1FFFEC76}, + [I(155,113)] = {30,0x3FFFF2F6}, + [I(156,113)] = {29,0x1FFFECF6}, + [I(157,113)] = {30,0x3FFFF376}, + [I(158,113)] = {30,0x3FFFF3F6}, + [I(159,113)] = {31,0x7FFFF7F6}, + [I(160,113)] = {29,0x1FFFED76}, + [I(161,113)] = {28,0xFFFEEF6}, + [I(162,113)] = {27,0x7FFF4F6}, + [I(163,113)] = {29,0x1FFFEDF6}, + [I(164,113)] = {29,0x1FFFEE76}, + [I(165,113)] = {30,0x3FFFF476}, + [I(166,113)] = {30,0x3FFFF4F6}, + [I(167,113)] = {28,0xFFFEF76}, + [I(168,113)] = {30,0x3FFFF576}, + [I(169,113)] = {29,0x1FFFEEF6}, + [I(170,113)] = {29,0x1FFFEF76}, + [I(171,113)] = {31,0x7FFFF876}, + [I(172,113)] = {28,0xFFFEFF6}, + [I(173,113)] = {29,0x1FFFEFF6}, + [I(174,113)] = {30,0x3FFFF5F6}, + [I(175,113)] = {30,0x3FFFF676}, + [I(176,113)] = {28,0xFFFF076}, + [I(177,113)] = {28,0xFFFF0F6}, + [I(178,113)] = {29,0x1FFFF076}, + [I(179,113)] = {28,0xFFFF176}, + [I(180,113)] = {30,0x3FFFF6F6}, + [I(181,113)] = {29,0x1FFFF0F6}, + [I(182,113)] = {30,0x3FFFF776}, + [I(183,113)] = {30,0x3FFFF7F6}, + [I(184,113)] = {27,0x7FFF576}, + [I(185,113)] = {29,0x1FFFF176}, + [I(186,113)] = {29,0x1FFFF1F6}, + [I(187,113)] = {29,0x1FFFF276}, + [I(188,113)] = {30,0x3FFFF876}, + [I(189,113)] = {29,0x1FFFF2F6}, + [I(190,113)] = {29,0x1FFFF376}, + [I(191,113)] = {30,0x3FFFF8F6}, + [I(192,113)] = {64,0}, + [I(193,113)] = {64,0}, + [I(194,113)] = {27,0x7FFF5F6}, + [I(195,113)] = {26,0x3FFF8F6}, + [I(196,113)] = {29,0x1FFFF3F6}, + [I(197,113)] = {30,0x3FFFF976}, + [I(198,113)] = {29,0x1FFFF476}, + [I(199,113)] = {X32,0xFFFFF676}, + [I(200,113)] = {64,0}, + [I(201,113)] = {64,0}, + [I(202,113)] = {64,0}, + [I(203,113)] = {64,0}, + [I(204,113)] = {64,0}, + [I(205,113)] = {64,0}, + [I(206,113)] = {31,0x7FFFF8F6}, + [I(207,113)] = {X32,0xFFFFF6F6}, + [I(208,113)] = {26,0x3FFF976}, + [I(209,113)] = {28,0xFFFF1F6}, + [I(210,113)] = {64,0}, + [I(211,113)] = {64,0}, + [I(212,113)] = {64,0}, + [I(213,113)] = {64,0}, + [I(214,113)] = {64,0}, + [I(215,113)] = {31,0x7FFFF976}, + [I(216,113)] = {28,0xFFFF276}, + [I(217,113)] = {28,0xFFFF2F6}, + [I(218,113)] = {64,0}, + [I(219,113)] = {64,0}, + [I(220,113)] = {64,0}, + [I(221,113)] = {64,0}, + [I(222,113)] = {64,0}, + [I(223,113)] = {64,0}, + [I(224,113)] = {27,0x7FFF676}, + [I(225,113)] = {31,0x7FFFF9F6}, + [I(226,113)] = {27,0x7FFF6F6}, + [I(227,113)] = {28,0xFFFF376}, + [I(228,113)] = {29,0x1FFFF4F6}, + [I(229,113)] = {28,0xFFFF3F6}, + [I(230,113)] = {28,0xFFFF476}, + [I(231,113)] = {30,0x3FFFF9F6}, + [I(232,113)] = {29,0x1FFFF576}, + [I(233,113)] = {29,0x1FFFF5F6}, + [I(234,113)] = {X32,0xFFFFF776}, + [I(235,113)] = {X32,0xFFFFF7F6}, + [I(236,113)] = {31,0x7FFFFA76}, + [I(237,113)] = {31,0x7FFFFAF6}, + [I(238,113)] = {64,0}, + [I(239,113)] = {30,0x3FFFFA76}, + [I(240,113)] = {64,0}, + [I(241,113)] = {64,0}, + [I(242,113)] = {64,0}, + [I(243,113)] = {64,0}, + [I(244,113)] = {64,0}, + [I(245,113)] = {64,0}, + [I(246,113)] = {64,0}, + [I(247,113)] = {64,0}, + [I(248,113)] = {64,0}, + [I(249,113)] = {64,0}, + [I(250,113)] = {64,0}, + [I(251,113)] = {64,0}, + [I(252,113)] = {64,0}, + [I(253,113)] = {64,0}, + [I(254,113)] = {64,0}, + [I(255,113)] = {64,0}, + [I(0,114)] = {19,0x7FE2C}, + [I(1,114)] = {29,0x1FFFF62C}, + [I(2,114)] = {64,0}, + [I(3,114)] = {64,0}, + [I(4,114)] = {64,0}, + [I(5,114)] = {64,0}, + [I(6,114)] = {64,0}, + [I(7,114)] = {64,0}, + [I(8,114)] = {64,0}, + [I(9,114)] = {30,0x3FFFFAAC}, + [I(10,114)] = {64,0}, + [I(11,114)] = {64,0}, + [I(12,114)] = {64,0}, + [I(13,114)] = {64,0}, + [I(14,114)] = {64,0}, + [I(15,114)] = {64,0}, + [I(16,114)] = {64,0}, + [I(17,114)] = {64,0}, + [I(18,114)] = {64,0}, + [I(19,114)] = {64,0}, + [I(20,114)] = {64,0}, + [I(21,114)] = {64,0}, + [I(22,114)] = {64,0}, + [I(23,114)] = {64,0}, + [I(24,114)] = {64,0}, + [I(25,114)] = {64,0}, + [I(26,114)] = {64,0}, + [I(27,114)] = {64,0}, + [I(28,114)] = {64,0}, + [I(29,114)] = {64,0}, + [I(30,114)] = {64,0}, + [I(31,114)] = {64,0}, + [I(32,114)] = {12,0x52C}, + [I(33,114)] = {16,0xFE2C}, + [I(34,114)] = {16,0xFE6C}, + [I(35,114)] = {18,0x3FEAC}, + [I(36,114)] = {19,0x7FE6C}, + [I(37,114)] = {12,0x56C}, + [I(38,114)] = {14,0x3E2C}, + [I(39,114)] = {17,0x1FEAC}, + [I(40,114)] = {16,0xFEAC}, + [I(41,114)] = {16,0xFEEC}, + [I(42,114)] = {14,0x3E6C}, + [I(43,114)] = {17,0x1FEEC}, + [I(44,114)] = {14,0x3EAC}, + [I(45,114)] = {12,0x5AC}, + [I(46,114)] = {12,0x5EC}, + [I(47,114)] = {12,0x62C}, + [I(48,114)] = {11,0x2C}, + [I(49,114)] = {11,0x6C}, + [I(50,114)] = {11,0xAC}, + [I(51,114)] = {12,0x66C}, + [I(52,114)] = {12,0x6AC}, + [I(53,114)] = {12,0x6EC}, + [I(54,114)] = {12,0x72C}, + [I(55,114)] = {12,0x76C}, + [I(56,114)] = {12,0x7AC}, + [I(57,114)] = {12,0x7EC}, + [I(58,114)] = {13,0x172C}, + [I(59,114)] = {14,0x3EEC}, + [I(60,114)] = {21,0x1FFF2C}, + [I(61,114)] = {12,0x82C}, + [I(62,114)] = {18,0x3FEEC}, + [I(63,114)] = {16,0xFF2C}, + [I(64,114)] = {19,0x7FEAC}, + [I(65,114)] = {12,0x86C}, + [I(66,114)] = {13,0x176C}, + [I(67,114)] = {13,0x17AC}, + [I(68,114)] = {13,0x17EC}, + [I(69,114)] = {13,0x182C}, + [I(70,114)] = {13,0x186C}, + [I(71,114)] = {13,0x18AC}, + [I(72,114)] = {13,0x18EC}, + [I(73,114)] = {13,0x192C}, + [I(74,114)] = {13,0x196C}, + [I(75,114)] = {13,0x19AC}, + [I(76,114)] = {13,0x19EC}, + [I(77,114)] = {13,0x1A2C}, + [I(78,114)] = {13,0x1A6C}, + [I(79,114)] = {13,0x1AAC}, + [I(80,114)] = {13,0x1AEC}, + [I(81,114)] = {13,0x1B2C}, + [I(82,114)] = {13,0x1B6C}, + [I(83,114)] = {13,0x1BAC}, + [I(84,114)] = {13,0x1BEC}, + [I(85,114)] = {13,0x1C2C}, + [I(86,114)] = {13,0x1C6C}, + [I(87,114)] = {13,0x1CAC}, + [I(88,114)] = {14,0x3F2C}, + [I(89,114)] = {13,0x1CEC}, + [I(90,114)] = {14,0x3F6C}, + [I(91,114)] = {19,0x7FEEC}, + [I(92,114)] = {25,0x1FFFC2C}, + [I(93,114)] = {19,0x7FF2C}, + [I(94,114)] = {20,0xFFF2C}, + [I(95,114)] = {12,0x8AC}, + [I(96,114)] = {21,0x1FFF6C}, + [I(97,114)] = {11,0xEC}, + [I(98,114)] = {12,0x8EC}, + [I(99,114)] = {11,0x12C}, + [I(100,114)] = {12,0x92C}, + [I(101,114)] = {11,0x16C}, + [I(102,114)] = {12,0x96C}, + [I(103,114)] = {12,0x9AC}, + [I(104,114)] = {12,0x9EC}, + [I(105,114)] = {11,0x1AC}, + [I(106,114)] = {13,0x1D2C}, + [I(107,114)] = {13,0x1D6C}, + [I(108,114)] = {12,0xA2C}, + [I(109,114)] = {12,0xA6C}, + [I(110,114)] = {12,0xAAC}, + [I(111,114)] = {11,0x1EC}, + [I(112,114)] = {12,0xAEC}, + [I(113,114)] = {13,0x1DAC}, + [I(114,114)] = {12,0xB2C}, + [I(115,114)] = {11,0x22C}, + [I(116,114)] = {11,0x26C}, + [I(117,114)] = {12,0xB6C}, + [I(118,114)] = {13,0x1DEC}, + [I(119,114)] = {13,0x1E2C}, + [I(120,114)] = {13,0x1E6C}, + [I(121,114)] = {13,0x1EAC}, + [I(122,114)] = {13,0x1EEC}, + [I(123,114)] = {21,0x1FFFAC}, + [I(124,114)] = {17,0x1FF2C}, + [I(125,114)] = {20,0xFFF6C}, + [I(126,114)] = {19,0x7FF6C}, + [I(127,114)] = {64,0}, + [I(128,114)] = {26,0x3FFF9AC}, + [I(129,114)] = {28,0xFFFF4AC}, + [I(130,114)] = {26,0x3FFF9EC}, + [I(131,114)] = {26,0x3FFFA2C}, + [I(132,114)] = {28,0xFFFF4EC}, + [I(133,114)] = {28,0xFFFF52C}, + [I(134,114)] = {28,0xFFFF56C}, + [I(135,114)] = {29,0x1FFFF66C}, + [I(136,114)] = {28,0xFFFF5AC}, + [I(137,114)] = {29,0x1FFFF6AC}, + [I(138,114)] = {29,0x1FFFF6EC}, + [I(139,114)] = {29,0x1FFFF72C}, + [I(140,114)] = {29,0x1FFFF76C}, + [I(141,114)] = {29,0x1FFFF7AC}, + [I(142,114)] = {30,0x3FFFFAEC}, + [I(143,114)] = {29,0x1FFFF7EC}, + [I(144,114)] = {30,0x3FFFFB2C}, + [I(145,114)] = {30,0x3FFFFB6C}, + [I(146,114)] = {28,0xFFFF5EC}, + [I(147,114)] = {29,0x1FFFF82C}, + [I(148,114)] = {30,0x3FFFFBAC}, + [I(149,114)] = {29,0x1FFFF86C}, + [I(150,114)] = {29,0x1FFFF8AC}, + [I(151,114)] = {29,0x1FFFF8EC}, + [I(152,114)] = {29,0x1FFFF92C}, + [I(153,114)] = {27,0x7FFF72C}, + [I(154,114)] = {28,0xFFFF62C}, + [I(155,114)] = {29,0x1FFFF96C}, + [I(156,114)] = {28,0xFFFF66C}, + [I(157,114)] = {29,0x1FFFF9AC}, + [I(158,114)] = {29,0x1FFFF9EC}, + [I(159,114)] = {30,0x3FFFFBEC}, + [I(160,114)] = {28,0xFFFF6AC}, + [I(161,114)] = {27,0x7FFF76C}, + [I(162,114)] = {26,0x3FFFA6C}, + [I(163,114)] = {28,0xFFFF6EC}, + [I(164,114)] = {28,0xFFFF72C}, + [I(165,114)] = {29,0x1FFFFA2C}, + [I(166,114)] = {29,0x1FFFFA6C}, + [I(167,114)] = {27,0x7FFF7AC}, + [I(168,114)] = {29,0x1FFFFAAC}, + [I(169,114)] = {28,0xFFFF76C}, + [I(170,114)] = {28,0xFFFF7AC}, + [I(171,114)] = {30,0x3FFFFC2C}, + [I(172,114)] = {27,0x7FFF7EC}, + [I(173,114)] = {28,0xFFFF7EC}, + [I(174,114)] = {29,0x1FFFFAEC}, + [I(175,114)] = {29,0x1FFFFB2C}, + [I(176,114)] = {27,0x7FFF82C}, + [I(177,114)] = {27,0x7FFF86C}, + [I(178,114)] = {28,0xFFFF82C}, + [I(179,114)] = {27,0x7FFF8AC}, + [I(180,114)] = {29,0x1FFFFB6C}, + [I(181,114)] = {28,0xFFFF86C}, + [I(182,114)] = {29,0x1FFFFBAC}, + [I(183,114)] = {29,0x1FFFFBEC}, + [I(184,114)] = {26,0x3FFFAAC}, + [I(185,114)] = {28,0xFFFF8AC}, + [I(186,114)] = {28,0xFFFF8EC}, + [I(187,114)] = {28,0xFFFF92C}, + [I(188,114)] = {29,0x1FFFFC2C}, + [I(189,114)] = {28,0xFFFF96C}, + [I(190,114)] = {28,0xFFFF9AC}, + [I(191,114)] = {29,0x1FFFFC6C}, + [I(192,114)] = {X32,0xFFFFF82C}, + [I(193,114)] = {X32,0xFFFFF86C}, + [I(194,114)] = {26,0x3FFFAEC}, + [I(195,114)] = {25,0x1FFFC6C}, + [I(196,114)] = {28,0xFFFF9EC}, + [I(197,114)] = {29,0x1FFFFCAC}, + [I(198,114)] = {28,0xFFFFA2C}, + [I(199,114)] = {31,0x7FFFFB2C}, + [I(200,114)] = {X32,0xFFFFF8AC}, + [I(201,114)] = {X32,0xFFFFF8EC}, + [I(202,114)] = {X32,0xFFFFF92C}, + [I(203,114)] = {64,0}, + [I(204,114)] = {64,0}, + [I(205,114)] = {X32,0xFFFFF96C}, + [I(206,114)] = {30,0x3FFFFC6C}, + [I(207,114)] = {31,0x7FFFFB6C}, + [I(208,114)] = {25,0x1FFFCAC}, + [I(209,114)] = {27,0x7FFF8EC}, + [I(210,114)] = {X32,0xFFFFF9AC}, + [I(211,114)] = {64,0}, + [I(212,114)] = {64,0}, + [I(213,114)] = {X32,0xFFFFF9EC}, + [I(214,114)] = {64,0}, + [I(215,114)] = {30,0x3FFFFCAC}, + [I(216,114)] = {27,0x7FFF92C}, + [I(217,114)] = {27,0x7FFF96C}, + [I(218,114)] = {X32,0xFFFFFA2C}, + [I(219,114)] = {X32,0xFFFFFA6C}, + [I(220,114)] = {64,0}, + [I(221,114)] = {64,0}, + [I(222,114)] = {64,0}, + [I(223,114)] = {64,0}, + [I(224,114)] = {26,0x3FFFB2C}, + [I(225,114)] = {30,0x3FFFFCEC}, + [I(226,114)] = {26,0x3FFFB6C}, + [I(227,114)] = {27,0x7FFF9AC}, + [I(228,114)] = {28,0xFFFFA6C}, + [I(229,114)] = {27,0x7FFF9EC}, + [I(230,114)] = {27,0x7FFFA2C}, + [I(231,114)] = {29,0x1FFFFCEC}, + [I(232,114)] = {28,0xFFFFAAC}, + [I(233,114)] = {28,0xFFFFAEC}, + [I(234,114)] = {31,0x7FFFFBAC}, + [I(235,114)] = {31,0x7FFFFBEC}, + [I(236,114)] = {30,0x3FFFFD2C}, + [I(237,114)] = {30,0x3FFFFD6C}, + [I(238,114)] = {X32,0xFFFFFAAC}, + [I(239,114)] = {29,0x1FFFFD2C}, + [I(240,114)] = {X32,0xFFFFFAEC}, + [I(241,114)] = {64,0}, + [I(242,114)] = {X32,0xFFFFFB2C}, + [I(243,114)] = {X32,0xFFFFFB6C}, + [I(244,114)] = {64,0}, + [I(245,114)] = {64,0}, + [I(246,114)] = {64,0}, + [I(247,114)] = {64,0}, + [I(248,114)] = {64,0}, + [I(249,114)] = {64,0}, + [I(250,114)] = {64,0}, + [I(251,114)] = {64,0}, + [I(252,114)] = {64,0}, + [I(253,114)] = {64,0}, + [I(254,114)] = {64,0}, + [I(255,114)] = {X32,0xFFFFFBAC}, + [I(0,115)] = {18,0x3FF08}, + [I(1,115)] = {28,0xFFFFB08}, + [I(2,115)] = {64,0}, + [I(3,115)] = {64,0}, + [I(4,115)] = {64,0}, + [I(5,115)] = {64,0}, + [I(6,115)] = {64,0}, + [I(7,115)] = {64,0}, + [I(8,115)] = {64,0}, + [I(9,115)] = {29,0x1FFFFD48}, + [I(10,115)] = {64,0}, + [I(11,115)] = {64,0}, + [I(12,115)] = {64,0}, + [I(13,115)] = {64,0}, + [I(14,115)] = {64,0}, + [I(15,115)] = {64,0}, + [I(16,115)] = {64,0}, + [I(17,115)] = {64,0}, + [I(18,115)] = {64,0}, + [I(19,115)] = {64,0}, + [I(20,115)] = {64,0}, + [I(21,115)] = {64,0}, + [I(22,115)] = {64,0}, + [I(23,115)] = {64,0}, + [I(24,115)] = {64,0}, + [I(25,115)] = {64,0}, + [I(26,115)] = {64,0}, + [I(27,115)] = {64,0}, + [I(28,115)] = {64,0}, + [I(29,115)] = {64,0}, + [I(30,115)] = {64,0}, + [I(31,115)] = {64,0}, + [I(32,115)] = {11,0x288}, + [I(33,115)] = {15,0x7F08}, + [I(34,115)] = {15,0x7F28}, + [I(35,115)] = {17,0x1FF48}, + [I(36,115)] = {18,0x3FF28}, + [I(37,115)] = {11,0x2A8}, + [I(38,115)] = {13,0x1F08}, + [I(39,115)] = {16,0xFF48}, + [I(40,115)] = {15,0x7F48}, + [I(41,115)] = {15,0x7F68}, + [I(42,115)] = {13,0x1F28}, + [I(43,115)] = {16,0xFF68}, + [I(44,115)] = {13,0x1F48}, + [I(45,115)] = {11,0x2C8}, + [I(46,115)] = {11,0x2E8}, + [I(47,115)] = {11,0x308}, + [I(48,115)] = {10,0x8}, + [I(49,115)] = {10,0x28}, + [I(50,115)] = {10,0x48}, + [I(51,115)] = {11,0x328}, + [I(52,115)] = {11,0x348}, + [I(53,115)] = {11,0x368}, + [I(54,115)] = {11,0x388}, + [I(55,115)] = {11,0x3A8}, + [I(56,115)] = {11,0x3C8}, + [I(57,115)] = {11,0x3E8}, + [I(58,115)] = {12,0xB88}, + [I(59,115)] = {13,0x1F68}, + [I(60,115)] = {20,0xFFF88}, + [I(61,115)] = {11,0x408}, + [I(62,115)] = {17,0x1FF68}, + [I(63,115)] = {15,0x7F88}, + [I(64,115)] = {18,0x3FF48}, + [I(65,115)] = {11,0x428}, + [I(66,115)] = {12,0xBA8}, + [I(67,115)] = {12,0xBC8}, + [I(68,115)] = {12,0xBE8}, + [I(69,115)] = {12,0xC08}, + [I(70,115)] = {12,0xC28}, + [I(71,115)] = {12,0xC48}, + [I(72,115)] = {12,0xC68}, + [I(73,115)] = {12,0xC88}, + [I(74,115)] = {12,0xCA8}, + [I(75,115)] = {12,0xCC8}, + [I(76,115)] = {12,0xCE8}, + [I(77,115)] = {12,0xD08}, + [I(78,115)] = {12,0xD28}, + [I(79,115)] = {12,0xD48}, + [I(80,115)] = {12,0xD68}, + [I(81,115)] = {12,0xD88}, + [I(82,115)] = {12,0xDA8}, + [I(83,115)] = {12,0xDC8}, + [I(84,115)] = {12,0xDE8}, + [I(85,115)] = {12,0xE08}, + [I(86,115)] = {12,0xE28}, + [I(87,115)] = {12,0xE48}, + [I(88,115)] = {13,0x1F88}, + [I(89,115)] = {12,0xE68}, + [I(90,115)] = {13,0x1FA8}, + [I(91,115)] = {18,0x3FF68}, + [I(92,115)] = {24,0xFFFE08}, + [I(93,115)] = {18,0x3FF88}, + [I(94,115)] = {19,0x7FF88}, + [I(95,115)] = {11,0x448}, + [I(96,115)] = {20,0xFFFA8}, + [I(97,115)] = {10,0x68}, + [I(98,115)] = {11,0x468}, + [I(99,115)] = {10,0x88}, + [I(100,115)] = {11,0x488}, + [I(101,115)] = {10,0xA8}, + [I(102,115)] = {11,0x4A8}, + [I(103,115)] = {11,0x4C8}, + [I(104,115)] = {11,0x4E8}, + [I(105,115)] = {10,0xC8}, + [I(106,115)] = {12,0xE88}, + [I(107,115)] = {12,0xEA8}, + [I(108,115)] = {11,0x508}, + [I(109,115)] = {11,0x528}, + [I(110,115)] = {11,0x548}, + [I(111,115)] = {10,0xE8}, + [I(112,115)] = {11,0x568}, + [I(113,115)] = {12,0xEC8}, + [I(114,115)] = {11,0x588}, + [I(115,115)] = {10,0x108}, + [I(116,115)] = {10,0x128}, + [I(117,115)] = {11,0x5A8}, + [I(118,115)] = {12,0xEE8}, + [I(119,115)] = {12,0xF08}, + [I(120,115)] = {12,0xF28}, + [I(121,115)] = {12,0xF48}, + [I(122,115)] = {12,0xF68}, + [I(123,115)] = {20,0xFFFC8}, + [I(124,115)] = {16,0xFF88}, + [I(125,115)] = {19,0x7FFA8}, + [I(126,115)] = {18,0x3FFA8}, + [I(127,115)] = {64,0}, + [I(128,115)] = {25,0x1FFFCC8}, + [I(129,115)] = {27,0x7FFFA48}, + [I(130,115)] = {25,0x1FFFCE8}, + [I(131,115)] = {25,0x1FFFD08}, + [I(132,115)] = {27,0x7FFFA68}, + [I(133,115)] = {27,0x7FFFA88}, + [I(134,115)] = {27,0x7FFFAA8}, + [I(135,115)] = {28,0xFFFFB28}, + [I(136,115)] = {27,0x7FFFAC8}, + [I(137,115)] = {28,0xFFFFB48}, + [I(138,115)] = {28,0xFFFFB68}, + [I(139,115)] = {28,0xFFFFB88}, + [I(140,115)] = {28,0xFFFFBA8}, + [I(141,115)] = {28,0xFFFFBC8}, + [I(142,115)] = {29,0x1FFFFD68}, + [I(143,115)] = {28,0xFFFFBE8}, + [I(144,115)] = {29,0x1FFFFD88}, + [I(145,115)] = {29,0x1FFFFDA8}, + [I(146,115)] = {27,0x7FFFAE8}, + [I(147,115)] = {28,0xFFFFC08}, + [I(148,115)] = {29,0x1FFFFDC8}, + [I(149,115)] = {28,0xFFFFC28}, + [I(150,115)] = {28,0xFFFFC48}, + [I(151,115)] = {28,0xFFFFC68}, + [I(152,115)] = {28,0xFFFFC88}, + [I(153,115)] = {26,0x3FFFB88}, + [I(154,115)] = {27,0x7FFFB08}, + [I(155,115)] = {28,0xFFFFCA8}, + [I(156,115)] = {27,0x7FFFB28}, + [I(157,115)] = {28,0xFFFFCC8}, + [I(158,115)] = {28,0xFFFFCE8}, + [I(159,115)] = {29,0x1FFFFDE8}, + [I(160,115)] = {27,0x7FFFB48}, + [I(161,115)] = {26,0x3FFFBA8}, + [I(162,115)] = {25,0x1FFFD28}, + [I(163,115)] = {27,0x7FFFB68}, + [I(164,115)] = {27,0x7FFFB88}, + [I(165,115)] = {28,0xFFFFD08}, + [I(166,115)] = {28,0xFFFFD28}, + [I(167,115)] = {26,0x3FFFBC8}, + [I(168,115)] = {28,0xFFFFD48}, + [I(169,115)] = {27,0x7FFFBA8}, + [I(170,115)] = {27,0x7FFFBC8}, + [I(171,115)] = {29,0x1FFFFE08}, + [I(172,115)] = {26,0x3FFFBE8}, + [I(173,115)] = {27,0x7FFFBE8}, + [I(174,115)] = {28,0xFFFFD68}, + [I(175,115)] = {28,0xFFFFD88}, + [I(176,115)] = {26,0x3FFFC08}, + [I(177,115)] = {26,0x3FFFC28}, + [I(178,115)] = {27,0x7FFFC08}, + [I(179,115)] = {26,0x3FFFC48}, + [I(180,115)] = {28,0xFFFFDA8}, + [I(181,115)] = {27,0x7FFFC28}, + [I(182,115)] = {28,0xFFFFDC8}, + [I(183,115)] = {28,0xFFFFDE8}, + [I(184,115)] = {25,0x1FFFD48}, + [I(185,115)] = {27,0x7FFFC48}, + [I(186,115)] = {27,0x7FFFC68}, + [I(187,115)] = {27,0x7FFFC88}, + [I(188,115)] = {28,0xFFFFE08}, + [I(189,115)] = {27,0x7FFFCA8}, + [I(190,115)] = {27,0x7FFFCC8}, + [I(191,115)] = {28,0xFFFFE28}, + [I(192,115)] = {31,0x7FFFFC08}, + [I(193,115)] = {31,0x7FFFFC28}, + [I(194,115)] = {25,0x1FFFD68}, + [I(195,115)] = {24,0xFFFE28}, + [I(196,115)] = {27,0x7FFFCE8}, + [I(197,115)] = {28,0xFFFFE48}, + [I(198,115)] = {27,0x7FFFD08}, + [I(199,115)] = {30,0x3FFFFD88}, + [I(200,115)] = {31,0x7FFFFC48}, + [I(201,115)] = {31,0x7FFFFC68}, + [I(202,115)] = {31,0x7FFFFC88}, + [I(203,115)] = {X32,0xFFFFFBC8}, + [I(204,115)] = {X32,0xFFFFFBE8}, + [I(205,115)] = {31,0x7FFFFCA8}, + [I(206,115)] = {29,0x1FFFFE28}, + [I(207,115)] = {30,0x3FFFFDA8}, + [I(208,115)] = {24,0xFFFE48}, + [I(209,115)] = {26,0x3FFFC68}, + [I(210,115)] = {31,0x7FFFFCC8}, + [I(211,115)] = {X32,0xFFFFFC08}, + [I(212,115)] = {X32,0xFFFFFC28}, + [I(213,115)] = {31,0x7FFFFCE8}, + [I(214,115)] = {X32,0xFFFFFC48}, + [I(215,115)] = {29,0x1FFFFE48}, + [I(216,115)] = {26,0x3FFFC88}, + [I(217,115)] = {26,0x3FFFCA8}, + [I(218,115)] = {31,0x7FFFFD08}, + [I(219,115)] = {31,0x7FFFFD28}, + [I(220,115)] = {64,0}, + [I(221,115)] = {X32,0xFFFFFC68}, + [I(222,115)] = {X32,0xFFFFFC88}, + [I(223,115)] = {X32,0xFFFFFCA8}, + [I(224,115)] = {25,0x1FFFD88}, + [I(225,115)] = {29,0x1FFFFE68}, + [I(226,115)] = {25,0x1FFFDA8}, + [I(227,115)] = {26,0x3FFFCC8}, + [I(228,115)] = {27,0x7FFFD28}, + [I(229,115)] = {26,0x3FFFCE8}, + [I(230,115)] = {26,0x3FFFD08}, + [I(231,115)] = {28,0xFFFFE68}, + [I(232,115)] = {27,0x7FFFD48}, + [I(233,115)] = {27,0x7FFFD68}, + [I(234,115)] = {30,0x3FFFFDC8}, + [I(235,115)] = {30,0x3FFFFDE8}, + [I(236,115)] = {29,0x1FFFFE88}, + [I(237,115)] = {29,0x1FFFFEA8}, + [I(238,115)] = {31,0x7FFFFD48}, + [I(239,115)] = {28,0xFFFFE88}, + [I(240,115)] = {31,0x7FFFFD68}, + [I(241,115)] = {X32,0xFFFFFCC8}, + [I(242,115)] = {31,0x7FFFFD88}, + [I(243,115)] = {31,0x7FFFFDA8}, + [I(244,115)] = {X32,0xFFFFFCE8}, + [I(245,115)] = {X32,0xFFFFFD08}, + [I(246,115)] = {X32,0xFFFFFD28}, + [I(247,115)] = {X32,0xFFFFFD48}, + [I(248,115)] = {X32,0xFFFFFD68}, + [I(249,115)] = {64,0}, + [I(250,115)] = {X32,0xFFFFFD88}, + [I(251,115)] = {X32,0xFFFFFDA8}, + [I(252,115)] = {X32,0xFFFFFDC8}, + [I(253,115)] = {X32,0xFFFFFDE8}, + [I(254,115)] = {X32,0xFFFFFE08}, + [I(255,115)] = {31,0x7FFFFDC8}, + [I(0,116)] = {18,0x3FF09}, + [I(1,116)] = {28,0xFFFFB09}, + [I(2,116)] = {64,0}, + [I(3,116)] = {64,0}, + [I(4,116)] = {64,0}, + [I(5,116)] = {64,0}, + [I(6,116)] = {64,0}, + [I(7,116)] = {64,0}, + [I(8,116)] = {64,0}, + [I(9,116)] = {29,0x1FFFFD49}, + [I(10,116)] = {64,0}, + [I(11,116)] = {64,0}, + [I(12,116)] = {64,0}, + [I(13,116)] = {64,0}, + [I(14,116)] = {64,0}, + [I(15,116)] = {64,0}, + [I(16,116)] = {64,0}, + [I(17,116)] = {64,0}, + [I(18,116)] = {64,0}, + [I(19,116)] = {64,0}, + [I(20,116)] = {64,0}, + [I(21,116)] = {64,0}, + [I(22,116)] = {64,0}, + [I(23,116)] = {64,0}, + [I(24,116)] = {64,0}, + [I(25,116)] = {64,0}, + [I(26,116)] = {64,0}, + [I(27,116)] = {64,0}, + [I(28,116)] = {64,0}, + [I(29,116)] = {64,0}, + [I(30,116)] = {64,0}, + [I(31,116)] = {64,0}, + [I(32,116)] = {11,0x289}, + [I(33,116)] = {15,0x7F09}, + [I(34,116)] = {15,0x7F29}, + [I(35,116)] = {17,0x1FF49}, + [I(36,116)] = {18,0x3FF29}, + [I(37,116)] = {11,0x2A9}, + [I(38,116)] = {13,0x1F09}, + [I(39,116)] = {16,0xFF49}, + [I(40,116)] = {15,0x7F49}, + [I(41,116)] = {15,0x7F69}, + [I(42,116)] = {13,0x1F29}, + [I(43,116)] = {16,0xFF69}, + [I(44,116)] = {13,0x1F49}, + [I(45,116)] = {11,0x2C9}, + [I(46,116)] = {11,0x2E9}, + [I(47,116)] = {11,0x309}, + [I(48,116)] = {10,0x9}, + [I(49,116)] = {10,0x29}, + [I(50,116)] = {10,0x49}, + [I(51,116)] = {11,0x329}, + [I(52,116)] = {11,0x349}, + [I(53,116)] = {11,0x369}, + [I(54,116)] = {11,0x389}, + [I(55,116)] = {11,0x3A9}, + [I(56,116)] = {11,0x3C9}, + [I(57,116)] = {11,0x3E9}, + [I(58,116)] = {12,0xB89}, + [I(59,116)] = {13,0x1F69}, + [I(60,116)] = {20,0xFFF89}, + [I(61,116)] = {11,0x409}, + [I(62,116)] = {17,0x1FF69}, + [I(63,116)] = {15,0x7F89}, + [I(64,116)] = {18,0x3FF49}, + [I(65,116)] = {11,0x429}, + [I(66,116)] = {12,0xBA9}, + [I(67,116)] = {12,0xBC9}, + [I(68,116)] = {12,0xBE9}, + [I(69,116)] = {12,0xC09}, + [I(70,116)] = {12,0xC29}, + [I(71,116)] = {12,0xC49}, + [I(72,116)] = {12,0xC69}, + [I(73,116)] = {12,0xC89}, + [I(74,116)] = {12,0xCA9}, + [I(75,116)] = {12,0xCC9}, + [I(76,116)] = {12,0xCE9}, + [I(77,116)] = {12,0xD09}, + [I(78,116)] = {12,0xD29}, + [I(79,116)] = {12,0xD49}, + [I(80,116)] = {12,0xD69}, + [I(81,116)] = {12,0xD89}, + [I(82,116)] = {12,0xDA9}, + [I(83,116)] = {12,0xDC9}, + [I(84,116)] = {12,0xDE9}, + [I(85,116)] = {12,0xE09}, + [I(86,116)] = {12,0xE29}, + [I(87,116)] = {12,0xE49}, + [I(88,116)] = {13,0x1F89}, + [I(89,116)] = {12,0xE69}, + [I(90,116)] = {13,0x1FA9}, + [I(91,116)] = {18,0x3FF69}, + [I(92,116)] = {24,0xFFFE09}, + [I(93,116)] = {18,0x3FF89}, + [I(94,116)] = {19,0x7FF89}, + [I(95,116)] = {11,0x449}, + [I(96,116)] = {20,0xFFFA9}, + [I(97,116)] = {10,0x69}, + [I(98,116)] = {11,0x469}, + [I(99,116)] = {10,0x89}, + [I(100,116)] = {11,0x489}, + [I(101,116)] = {10,0xA9}, + [I(102,116)] = {11,0x4A9}, + [I(103,116)] = {11,0x4C9}, + [I(104,116)] = {11,0x4E9}, + [I(105,116)] = {10,0xC9}, + [I(106,116)] = {12,0xE89}, + [I(107,116)] = {12,0xEA9}, + [I(108,116)] = {11,0x509}, + [I(109,116)] = {11,0x529}, + [I(110,116)] = {11,0x549}, + [I(111,116)] = {10,0xE9}, + [I(112,116)] = {11,0x569}, + [I(113,116)] = {12,0xEC9}, + [I(114,116)] = {11,0x589}, + [I(115,116)] = {10,0x109}, + [I(116,116)] = {10,0x129}, + [I(117,116)] = {11,0x5A9}, + [I(118,116)] = {12,0xEE9}, + [I(119,116)] = {12,0xF09}, + [I(120,116)] = {12,0xF29}, + [I(121,116)] = {12,0xF49}, + [I(122,116)] = {12,0xF69}, + [I(123,116)] = {20,0xFFFC9}, + [I(124,116)] = {16,0xFF89}, + [I(125,116)] = {19,0x7FFA9}, + [I(126,116)] = {18,0x3FFA9}, + [I(127,116)] = {64,0}, + [I(128,116)] = {25,0x1FFFCC9}, + [I(129,116)] = {27,0x7FFFA49}, + [I(130,116)] = {25,0x1FFFCE9}, + [I(131,116)] = {25,0x1FFFD09}, + [I(132,116)] = {27,0x7FFFA69}, + [I(133,116)] = {27,0x7FFFA89}, + [I(134,116)] = {27,0x7FFFAA9}, + [I(135,116)] = {28,0xFFFFB29}, + [I(136,116)] = {27,0x7FFFAC9}, + [I(137,116)] = {28,0xFFFFB49}, + [I(138,116)] = {28,0xFFFFB69}, + [I(139,116)] = {28,0xFFFFB89}, + [I(140,116)] = {28,0xFFFFBA9}, + [I(141,116)] = {28,0xFFFFBC9}, + [I(142,116)] = {29,0x1FFFFD69}, + [I(143,116)] = {28,0xFFFFBE9}, + [I(144,116)] = {29,0x1FFFFD89}, + [I(145,116)] = {29,0x1FFFFDA9}, + [I(146,116)] = {27,0x7FFFAE9}, + [I(147,116)] = {28,0xFFFFC09}, + [I(148,116)] = {29,0x1FFFFDC9}, + [I(149,116)] = {28,0xFFFFC29}, + [I(150,116)] = {28,0xFFFFC49}, + [I(151,116)] = {28,0xFFFFC69}, + [I(152,116)] = {28,0xFFFFC89}, + [I(153,116)] = {26,0x3FFFB89}, + [I(154,116)] = {27,0x7FFFB09}, + [I(155,116)] = {28,0xFFFFCA9}, + [I(156,116)] = {27,0x7FFFB29}, + [I(157,116)] = {28,0xFFFFCC9}, + [I(158,116)] = {28,0xFFFFCE9}, + [I(159,116)] = {29,0x1FFFFDE9}, + [I(160,116)] = {27,0x7FFFB49}, + [I(161,116)] = {26,0x3FFFBA9}, + [I(162,116)] = {25,0x1FFFD29}, + [I(163,116)] = {27,0x7FFFB69}, + [I(164,116)] = {27,0x7FFFB89}, + [I(165,116)] = {28,0xFFFFD09}, + [I(166,116)] = {28,0xFFFFD29}, + [I(167,116)] = {26,0x3FFFBC9}, + [I(168,116)] = {28,0xFFFFD49}, + [I(169,116)] = {27,0x7FFFBA9}, + [I(170,116)] = {27,0x7FFFBC9}, + [I(171,116)] = {29,0x1FFFFE09}, + [I(172,116)] = {26,0x3FFFBE9}, + [I(173,116)] = {27,0x7FFFBE9}, + [I(174,116)] = {28,0xFFFFD69}, + [I(175,116)] = {28,0xFFFFD89}, + [I(176,116)] = {26,0x3FFFC09}, + [I(177,116)] = {26,0x3FFFC29}, + [I(178,116)] = {27,0x7FFFC09}, + [I(179,116)] = {26,0x3FFFC49}, + [I(180,116)] = {28,0xFFFFDA9}, + [I(181,116)] = {27,0x7FFFC29}, + [I(182,116)] = {28,0xFFFFDC9}, + [I(183,116)] = {28,0xFFFFDE9}, + [I(184,116)] = {25,0x1FFFD49}, + [I(185,116)] = {27,0x7FFFC49}, + [I(186,116)] = {27,0x7FFFC69}, + [I(187,116)] = {27,0x7FFFC89}, + [I(188,116)] = {28,0xFFFFE09}, + [I(189,116)] = {27,0x7FFFCA9}, + [I(190,116)] = {27,0x7FFFCC9}, + [I(191,116)] = {28,0xFFFFE29}, + [I(192,116)] = {31,0x7FFFFC09}, + [I(193,116)] = {31,0x7FFFFC29}, + [I(194,116)] = {25,0x1FFFD69}, + [I(195,116)] = {24,0xFFFE29}, + [I(196,116)] = {27,0x7FFFCE9}, + [I(197,116)] = {28,0xFFFFE49}, + [I(198,116)] = {27,0x7FFFD09}, + [I(199,116)] = {30,0x3FFFFD89}, + [I(200,116)] = {31,0x7FFFFC49}, + [I(201,116)] = {31,0x7FFFFC69}, + [I(202,116)] = {31,0x7FFFFC89}, + [I(203,116)] = {X32,0xFFFFFBC9}, + [I(204,116)] = {X32,0xFFFFFBE9}, + [I(205,116)] = {31,0x7FFFFCA9}, + [I(206,116)] = {29,0x1FFFFE29}, + [I(207,116)] = {30,0x3FFFFDA9}, + [I(208,116)] = {24,0xFFFE49}, + [I(209,116)] = {26,0x3FFFC69}, + [I(210,116)] = {31,0x7FFFFCC9}, + [I(211,116)] = {X32,0xFFFFFC09}, + [I(212,116)] = {X32,0xFFFFFC29}, + [I(213,116)] = {31,0x7FFFFCE9}, + [I(214,116)] = {X32,0xFFFFFC49}, + [I(215,116)] = {29,0x1FFFFE49}, + [I(216,116)] = {26,0x3FFFC89}, + [I(217,116)] = {26,0x3FFFCA9}, + [I(218,116)] = {31,0x7FFFFD09}, + [I(219,116)] = {31,0x7FFFFD29}, + [I(220,116)] = {64,0}, + [I(221,116)] = {X32,0xFFFFFC69}, + [I(222,116)] = {X32,0xFFFFFC89}, + [I(223,116)] = {X32,0xFFFFFCA9}, + [I(224,116)] = {25,0x1FFFD89}, + [I(225,116)] = {29,0x1FFFFE69}, + [I(226,116)] = {25,0x1FFFDA9}, + [I(227,116)] = {26,0x3FFFCC9}, + [I(228,116)] = {27,0x7FFFD29}, + [I(229,116)] = {26,0x3FFFCE9}, + [I(230,116)] = {26,0x3FFFD09}, + [I(231,116)] = {28,0xFFFFE69}, + [I(232,116)] = {27,0x7FFFD49}, + [I(233,116)] = {27,0x7FFFD69}, + [I(234,116)] = {30,0x3FFFFDC9}, + [I(235,116)] = {30,0x3FFFFDE9}, + [I(236,116)] = {29,0x1FFFFE89}, + [I(237,116)] = {29,0x1FFFFEA9}, + [I(238,116)] = {31,0x7FFFFD49}, + [I(239,116)] = {28,0xFFFFE89}, + [I(240,116)] = {31,0x7FFFFD69}, + [I(241,116)] = {X32,0xFFFFFCC9}, + [I(242,116)] = {31,0x7FFFFD89}, + [I(243,116)] = {31,0x7FFFFDA9}, + [I(244,116)] = {X32,0xFFFFFCE9}, + [I(245,116)] = {X32,0xFFFFFD09}, + [I(246,116)] = {X32,0xFFFFFD29}, + [I(247,116)] = {X32,0xFFFFFD49}, + [I(248,116)] = {X32,0xFFFFFD69}, + [I(249,116)] = {64,0}, + [I(250,116)] = {X32,0xFFFFFD89}, + [I(251,116)] = {X32,0xFFFFFDA9}, + [I(252,116)] = {X32,0xFFFFFDC9}, + [I(253,116)] = {X32,0xFFFFFDE9}, + [I(254,116)] = {X32,0xFFFFFE09}, + [I(255,116)] = {31,0x7FFFFDC9}, + [I(0,117)] = {19,0x7FE2D}, + [I(1,117)] = {29,0x1FFFF62D}, + [I(2,117)] = {64,0}, + [I(3,117)] = {64,0}, + [I(4,117)] = {64,0}, + [I(5,117)] = {64,0}, + [I(6,117)] = {64,0}, + [I(7,117)] = {64,0}, + [I(8,117)] = {64,0}, + [I(9,117)] = {30,0x3FFFFAAD}, + [I(10,117)] = {64,0}, + [I(11,117)] = {64,0}, + [I(12,117)] = {64,0}, + [I(13,117)] = {64,0}, + [I(14,117)] = {64,0}, + [I(15,117)] = {64,0}, + [I(16,117)] = {64,0}, + [I(17,117)] = {64,0}, + [I(18,117)] = {64,0}, + [I(19,117)] = {64,0}, + [I(20,117)] = {64,0}, + [I(21,117)] = {64,0}, + [I(22,117)] = {64,0}, + [I(23,117)] = {64,0}, + [I(24,117)] = {64,0}, + [I(25,117)] = {64,0}, + [I(26,117)] = {64,0}, + [I(27,117)] = {64,0}, + [I(28,117)] = {64,0}, + [I(29,117)] = {64,0}, + [I(30,117)] = {64,0}, + [I(31,117)] = {64,0}, + [I(32,117)] = {12,0x52D}, + [I(33,117)] = {16,0xFE2D}, + [I(34,117)] = {16,0xFE6D}, + [I(35,117)] = {18,0x3FEAD}, + [I(36,117)] = {19,0x7FE6D}, + [I(37,117)] = {12,0x56D}, + [I(38,117)] = {14,0x3E2D}, + [I(39,117)] = {17,0x1FEAD}, + [I(40,117)] = {16,0xFEAD}, + [I(41,117)] = {16,0xFEED}, + [I(42,117)] = {14,0x3E6D}, + [I(43,117)] = {17,0x1FEED}, + [I(44,117)] = {14,0x3EAD}, + [I(45,117)] = {12,0x5AD}, + [I(46,117)] = {12,0x5ED}, + [I(47,117)] = {12,0x62D}, + [I(48,117)] = {11,0x2D}, + [I(49,117)] = {11,0x6D}, + [I(50,117)] = {11,0xAD}, + [I(51,117)] = {12,0x66D}, + [I(52,117)] = {12,0x6AD}, + [I(53,117)] = {12,0x6ED}, + [I(54,117)] = {12,0x72D}, + [I(55,117)] = {12,0x76D}, + [I(56,117)] = {12,0x7AD}, + [I(57,117)] = {12,0x7ED}, + [I(58,117)] = {13,0x172D}, + [I(59,117)] = {14,0x3EED}, + [I(60,117)] = {21,0x1FFF2D}, + [I(61,117)] = {12,0x82D}, + [I(62,117)] = {18,0x3FEED}, + [I(63,117)] = {16,0xFF2D}, + [I(64,117)] = {19,0x7FEAD}, + [I(65,117)] = {12,0x86D}, + [I(66,117)] = {13,0x176D}, + [I(67,117)] = {13,0x17AD}, + [I(68,117)] = {13,0x17ED}, + [I(69,117)] = {13,0x182D}, + [I(70,117)] = {13,0x186D}, + [I(71,117)] = {13,0x18AD}, + [I(72,117)] = {13,0x18ED}, + [I(73,117)] = {13,0x192D}, + [I(74,117)] = {13,0x196D}, + [I(75,117)] = {13,0x19AD}, + [I(76,117)] = {13,0x19ED}, + [I(77,117)] = {13,0x1A2D}, + [I(78,117)] = {13,0x1A6D}, + [I(79,117)] = {13,0x1AAD}, + [I(80,117)] = {13,0x1AED}, + [I(81,117)] = {13,0x1B2D}, + [I(82,117)] = {13,0x1B6D}, + [I(83,117)] = {13,0x1BAD}, + [I(84,117)] = {13,0x1BED}, + [I(85,117)] = {13,0x1C2D}, + [I(86,117)] = {13,0x1C6D}, + [I(87,117)] = {13,0x1CAD}, + [I(88,117)] = {14,0x3F2D}, + [I(89,117)] = {13,0x1CED}, + [I(90,117)] = {14,0x3F6D}, + [I(91,117)] = {19,0x7FEED}, + [I(92,117)] = {25,0x1FFFC2D}, + [I(93,117)] = {19,0x7FF2D}, + [I(94,117)] = {20,0xFFF2D}, + [I(95,117)] = {12,0x8AD}, + [I(96,117)] = {21,0x1FFF6D}, + [I(97,117)] = {11,0xED}, + [I(98,117)] = {12,0x8ED}, + [I(99,117)] = {11,0x12D}, + [I(100,117)] = {12,0x92D}, + [I(101,117)] = {11,0x16D}, + [I(102,117)] = {12,0x96D}, + [I(103,117)] = {12,0x9AD}, + [I(104,117)] = {12,0x9ED}, + [I(105,117)] = {11,0x1AD}, + [I(106,117)] = {13,0x1D2D}, + [I(107,117)] = {13,0x1D6D}, + [I(108,117)] = {12,0xA2D}, + [I(109,117)] = {12,0xA6D}, + [I(110,117)] = {12,0xAAD}, + [I(111,117)] = {11,0x1ED}, + [I(112,117)] = {12,0xAED}, + [I(113,117)] = {13,0x1DAD}, + [I(114,117)] = {12,0xB2D}, + [I(115,117)] = {11,0x22D}, + [I(116,117)] = {11,0x26D}, + [I(117,117)] = {12,0xB6D}, + [I(118,117)] = {13,0x1DED}, + [I(119,117)] = {13,0x1E2D}, + [I(120,117)] = {13,0x1E6D}, + [I(121,117)] = {13,0x1EAD}, + [I(122,117)] = {13,0x1EED}, + [I(123,117)] = {21,0x1FFFAD}, + [I(124,117)] = {17,0x1FF2D}, + [I(125,117)] = {20,0xFFF6D}, + [I(126,117)] = {19,0x7FF6D}, + [I(127,117)] = {64,0}, + [I(128,117)] = {26,0x3FFF9AD}, + [I(129,117)] = {28,0xFFFF4AD}, + [I(130,117)] = {26,0x3FFF9ED}, + [I(131,117)] = {26,0x3FFFA2D}, + [I(132,117)] = {28,0xFFFF4ED}, + [I(133,117)] = {28,0xFFFF52D}, + [I(134,117)] = {28,0xFFFF56D}, + [I(135,117)] = {29,0x1FFFF66D}, + [I(136,117)] = {28,0xFFFF5AD}, + [I(137,117)] = {29,0x1FFFF6AD}, + [I(138,117)] = {29,0x1FFFF6ED}, + [I(139,117)] = {29,0x1FFFF72D}, + [I(140,117)] = {29,0x1FFFF76D}, + [I(141,117)] = {29,0x1FFFF7AD}, + [I(142,117)] = {30,0x3FFFFAED}, + [I(143,117)] = {29,0x1FFFF7ED}, + [I(144,117)] = {30,0x3FFFFB2D}, + [I(145,117)] = {30,0x3FFFFB6D}, + [I(146,117)] = {28,0xFFFF5ED}, + [I(147,117)] = {29,0x1FFFF82D}, + [I(148,117)] = {30,0x3FFFFBAD}, + [I(149,117)] = {29,0x1FFFF86D}, + [I(150,117)] = {29,0x1FFFF8AD}, + [I(151,117)] = {29,0x1FFFF8ED}, + [I(152,117)] = {29,0x1FFFF92D}, + [I(153,117)] = {27,0x7FFF72D}, + [I(154,117)] = {28,0xFFFF62D}, + [I(155,117)] = {29,0x1FFFF96D}, + [I(156,117)] = {28,0xFFFF66D}, + [I(157,117)] = {29,0x1FFFF9AD}, + [I(158,117)] = {29,0x1FFFF9ED}, + [I(159,117)] = {30,0x3FFFFBED}, + [I(160,117)] = {28,0xFFFF6AD}, + [I(161,117)] = {27,0x7FFF76D}, + [I(162,117)] = {26,0x3FFFA6D}, + [I(163,117)] = {28,0xFFFF6ED}, + [I(164,117)] = {28,0xFFFF72D}, + [I(165,117)] = {29,0x1FFFFA2D}, + [I(166,117)] = {29,0x1FFFFA6D}, + [I(167,117)] = {27,0x7FFF7AD}, + [I(168,117)] = {29,0x1FFFFAAD}, + [I(169,117)] = {28,0xFFFF76D}, + [I(170,117)] = {28,0xFFFF7AD}, + [I(171,117)] = {30,0x3FFFFC2D}, + [I(172,117)] = {27,0x7FFF7ED}, + [I(173,117)] = {28,0xFFFF7ED}, + [I(174,117)] = {29,0x1FFFFAED}, + [I(175,117)] = {29,0x1FFFFB2D}, + [I(176,117)] = {27,0x7FFF82D}, + [I(177,117)] = {27,0x7FFF86D}, + [I(178,117)] = {28,0xFFFF82D}, + [I(179,117)] = {27,0x7FFF8AD}, + [I(180,117)] = {29,0x1FFFFB6D}, + [I(181,117)] = {28,0xFFFF86D}, + [I(182,117)] = {29,0x1FFFFBAD}, + [I(183,117)] = {29,0x1FFFFBED}, + [I(184,117)] = {26,0x3FFFAAD}, + [I(185,117)] = {28,0xFFFF8AD}, + [I(186,117)] = {28,0xFFFF8ED}, + [I(187,117)] = {28,0xFFFF92D}, + [I(188,117)] = {29,0x1FFFFC2D}, + [I(189,117)] = {28,0xFFFF96D}, + [I(190,117)] = {28,0xFFFF9AD}, + [I(191,117)] = {29,0x1FFFFC6D}, + [I(192,117)] = {X32,0xFFFFF82D}, + [I(193,117)] = {X32,0xFFFFF86D}, + [I(194,117)] = {26,0x3FFFAED}, + [I(195,117)] = {25,0x1FFFC6D}, + [I(196,117)] = {28,0xFFFF9ED}, + [I(197,117)] = {29,0x1FFFFCAD}, + [I(198,117)] = {28,0xFFFFA2D}, + [I(199,117)] = {31,0x7FFFFB2D}, + [I(200,117)] = {X32,0xFFFFF8AD}, + [I(201,117)] = {X32,0xFFFFF8ED}, + [I(202,117)] = {X32,0xFFFFF92D}, + [I(203,117)] = {64,0}, + [I(204,117)] = {64,0}, + [I(205,117)] = {X32,0xFFFFF96D}, + [I(206,117)] = {30,0x3FFFFC6D}, + [I(207,117)] = {31,0x7FFFFB6D}, + [I(208,117)] = {25,0x1FFFCAD}, + [I(209,117)] = {27,0x7FFF8ED}, + [I(210,117)] = {X32,0xFFFFF9AD}, + [I(211,117)] = {64,0}, + [I(212,117)] = {64,0}, + [I(213,117)] = {X32,0xFFFFF9ED}, + [I(214,117)] = {64,0}, + [I(215,117)] = {30,0x3FFFFCAD}, + [I(216,117)] = {27,0x7FFF92D}, + [I(217,117)] = {27,0x7FFF96D}, + [I(218,117)] = {X32,0xFFFFFA2D}, + [I(219,117)] = {X32,0xFFFFFA6D}, + [I(220,117)] = {64,0}, + [I(221,117)] = {64,0}, + [I(222,117)] = {64,0}, + [I(223,117)] = {64,0}, + [I(224,117)] = {26,0x3FFFB2D}, + [I(225,117)] = {30,0x3FFFFCED}, + [I(226,117)] = {26,0x3FFFB6D}, + [I(227,117)] = {27,0x7FFF9AD}, + [I(228,117)] = {28,0xFFFFA6D}, + [I(229,117)] = {27,0x7FFF9ED}, + [I(230,117)] = {27,0x7FFFA2D}, + [I(231,117)] = {29,0x1FFFFCED}, + [I(232,117)] = {28,0xFFFFAAD}, + [I(233,117)] = {28,0xFFFFAED}, + [I(234,117)] = {31,0x7FFFFBAD}, + [I(235,117)] = {31,0x7FFFFBED}, + [I(236,117)] = {30,0x3FFFFD2D}, + [I(237,117)] = {30,0x3FFFFD6D}, + [I(238,117)] = {X32,0xFFFFFAAD}, + [I(239,117)] = {29,0x1FFFFD2D}, + [I(240,117)] = {X32,0xFFFFFAED}, + [I(241,117)] = {64,0}, + [I(242,117)] = {X32,0xFFFFFB2D}, + [I(243,117)] = {X32,0xFFFFFB6D}, + [I(244,117)] = {64,0}, + [I(245,117)] = {64,0}, + [I(246,117)] = {64,0}, + [I(247,117)] = {64,0}, + [I(248,117)] = {64,0}, + [I(249,117)] = {64,0}, + [I(250,117)] = {64,0}, + [I(251,117)] = {64,0}, + [I(252,117)] = {64,0}, + [I(253,117)] = {64,0}, + [I(254,117)] = {64,0}, + [I(255,117)] = {X32,0xFFFFFBAD}, + [I(0,118)] = {20,0xFFC77}, + [I(1,118)] = {30,0x3FFFEC77}, + [I(2,118)] = {64,0}, + [I(3,118)] = {64,0}, + [I(4,118)] = {64,0}, + [I(5,118)] = {64,0}, + [I(6,118)] = {64,0}, + [I(7,118)] = {64,0}, + [I(8,118)] = {64,0}, + [I(9,118)] = {31,0x7FFFF577}, + [I(10,118)] = {64,0}, + [I(11,118)] = {64,0}, + [I(12,118)] = {64,0}, + [I(13,118)] = {64,0}, + [I(14,118)] = {64,0}, + [I(15,118)] = {64,0}, + [I(16,118)] = {64,0}, + [I(17,118)] = {64,0}, + [I(18,118)] = {64,0}, + [I(19,118)] = {64,0}, + [I(20,118)] = {64,0}, + [I(21,118)] = {64,0}, + [I(22,118)] = {64,0}, + [I(23,118)] = {64,0}, + [I(24,118)] = {64,0}, + [I(25,118)] = {64,0}, + [I(26,118)] = {64,0}, + [I(27,118)] = {64,0}, + [I(28,118)] = {64,0}, + [I(29,118)] = {64,0}, + [I(30,118)] = {64,0}, + [I(31,118)] = {64,0}, + [I(32,118)] = {13,0xA77}, + [I(33,118)] = {17,0x1FC77}, + [I(34,118)] = {17,0x1FCF7}, + [I(35,118)] = {19,0x7FD77}, + [I(36,118)] = {20,0xFFCF7}, + [I(37,118)] = {13,0xAF7}, + [I(38,118)] = {15,0x7C77}, + [I(39,118)] = {18,0x3FD77}, + [I(40,118)] = {17,0x1FD77}, + [I(41,118)] = {17,0x1FDF7}, + [I(42,118)] = {15,0x7CF7}, + [I(43,118)] = {18,0x3FDF7}, + [I(44,118)] = {15,0x7D77}, + [I(45,118)] = {13,0xB77}, + [I(46,118)] = {13,0xBF7}, + [I(47,118)] = {13,0xC77}, + [I(48,118)] = {12,0x77}, + [I(49,118)] = {12,0xF7}, + [I(50,118)] = {12,0x177}, + [I(51,118)] = {13,0xCF7}, + [I(52,118)] = {13,0xD77}, + [I(53,118)] = {13,0xDF7}, + [I(54,118)] = {13,0xE77}, + [I(55,118)] = {13,0xEF7}, + [I(56,118)] = {13,0xF77}, + [I(57,118)] = {13,0xFF7}, + [I(58,118)] = {14,0x2E77}, + [I(59,118)] = {15,0x7DF7}, + [I(60,118)] = {22,0x3FFE77}, + [I(61,118)] = {13,0x1077}, + [I(62,118)] = {19,0x7FDF7}, + [I(63,118)] = {17,0x1FE77}, + [I(64,118)] = {20,0xFFD77}, + [I(65,118)] = {13,0x10F7}, + [I(66,118)] = {14,0x2EF7}, + [I(67,118)] = {14,0x2F77}, + [I(68,118)] = {14,0x2FF7}, + [I(69,118)] = {14,0x3077}, + [I(70,118)] = {14,0x30F7}, + [I(71,118)] = {14,0x3177}, + [I(72,118)] = {14,0x31F7}, + [I(73,118)] = {14,0x3277}, + [I(74,118)] = {14,0x32F7}, + [I(75,118)] = {14,0x3377}, + [I(76,118)] = {14,0x33F7}, + [I(77,118)] = {14,0x3477}, + [I(78,118)] = {14,0x34F7}, + [I(79,118)] = {14,0x3577}, + [I(80,118)] = {14,0x35F7}, + [I(81,118)] = {14,0x3677}, + [I(82,118)] = {14,0x36F7}, + [I(83,118)] = {14,0x3777}, + [I(84,118)] = {14,0x37F7}, + [I(85,118)] = {14,0x3877}, + [I(86,118)] = {14,0x38F7}, + [I(87,118)] = {14,0x3977}, + [I(88,118)] = {15,0x7E77}, + [I(89,118)] = {14,0x39F7}, + [I(90,118)] = {15,0x7EF7}, + [I(91,118)] = {20,0xFFDF7}, + [I(92,118)] = {26,0x3FFF877}, + [I(93,118)] = {20,0xFFE77}, + [I(94,118)] = {21,0x1FFE77}, + [I(95,118)] = {13,0x1177}, + [I(96,118)] = {22,0x3FFEF7}, + [I(97,118)] = {12,0x1F7}, + [I(98,118)] = {13,0x11F7}, + [I(99,118)] = {12,0x277}, + [I(100,118)] = {13,0x1277}, + [I(101,118)] = {12,0x2F7}, + [I(102,118)] = {13,0x12F7}, + [I(103,118)] = {13,0x1377}, + [I(104,118)] = {13,0x13F7}, + [I(105,118)] = {12,0x377}, + [I(106,118)] = {14,0x3A77}, + [I(107,118)] = {14,0x3AF7}, + [I(108,118)] = {13,0x1477}, + [I(109,118)] = {13,0x14F7}, + [I(110,118)] = {13,0x1577}, + [I(111,118)] = {12,0x3F7}, + [I(112,118)] = {13,0x15F7}, + [I(113,118)] = {14,0x3B77}, + [I(114,118)] = {13,0x1677}, + [I(115,118)] = {12,0x477}, + [I(116,118)] = {12,0x4F7}, + [I(117,118)] = {13,0x16F7}, + [I(118,118)] = {14,0x3BF7}, + [I(119,118)] = {14,0x3C77}, + [I(120,118)] = {14,0x3CF7}, + [I(121,118)] = {14,0x3D77}, + [I(122,118)] = {14,0x3DF7}, + [I(123,118)] = {22,0x3FFF77}, + [I(124,118)] = {18,0x3FE77}, + [I(125,118)] = {21,0x1FFEF7}, + [I(126,118)] = {20,0xFFEF7}, + [I(127,118)] = {64,0}, + [I(128,118)] = {27,0x7FFF377}, + [I(129,118)] = {29,0x1FFFE977}, + [I(130,118)] = {27,0x7FFF3F7}, + [I(131,118)] = {27,0x7FFF477}, + [I(132,118)] = {29,0x1FFFE9F7}, + [I(133,118)] = {29,0x1FFFEA77}, + [I(134,118)] = {29,0x1FFFEAF7}, + [I(135,118)] = {30,0x3FFFECF7}, + [I(136,118)] = {29,0x1FFFEB77}, + [I(137,118)] = {30,0x3FFFED77}, + [I(138,118)] = {30,0x3FFFEDF7}, + [I(139,118)] = {30,0x3FFFEE77}, + [I(140,118)] = {30,0x3FFFEEF7}, + [I(141,118)] = {30,0x3FFFEF77}, + [I(142,118)] = {31,0x7FFFF5F7}, + [I(143,118)] = {30,0x3FFFEFF7}, + [I(144,118)] = {31,0x7FFFF677}, + [I(145,118)] = {31,0x7FFFF6F7}, + [I(146,118)] = {29,0x1FFFEBF7}, + [I(147,118)] = {30,0x3FFFF077}, + [I(148,118)] = {31,0x7FFFF777}, + [I(149,118)] = {30,0x3FFFF0F7}, + [I(150,118)] = {30,0x3FFFF177}, + [I(151,118)] = {30,0x3FFFF1F7}, + [I(152,118)] = {30,0x3FFFF277}, + [I(153,118)] = {28,0xFFFEE77}, + [I(154,118)] = {29,0x1FFFEC77}, + [I(155,118)] = {30,0x3FFFF2F7}, + [I(156,118)] = {29,0x1FFFECF7}, + [I(157,118)] = {30,0x3FFFF377}, + [I(158,118)] = {30,0x3FFFF3F7}, + [I(159,118)] = {31,0x7FFFF7F7}, + [I(160,118)] = {29,0x1FFFED77}, + [I(161,118)] = {28,0xFFFEEF7}, + [I(162,118)] = {27,0x7FFF4F7}, + [I(163,118)] = {29,0x1FFFEDF7}, + [I(164,118)] = {29,0x1FFFEE77}, + [I(165,118)] = {30,0x3FFFF477}, + [I(166,118)] = {30,0x3FFFF4F7}, + [I(167,118)] = {28,0xFFFEF77}, + [I(168,118)] = {30,0x3FFFF577}, + [I(169,118)] = {29,0x1FFFEEF7}, + [I(170,118)] = {29,0x1FFFEF77}, + [I(171,118)] = {31,0x7FFFF877}, + [I(172,118)] = {28,0xFFFEFF7}, + [I(173,118)] = {29,0x1FFFEFF7}, + [I(174,118)] = {30,0x3FFFF5F7}, + [I(175,118)] = {30,0x3FFFF677}, + [I(176,118)] = {28,0xFFFF077}, + [I(177,118)] = {28,0xFFFF0F7}, + [I(178,118)] = {29,0x1FFFF077}, + [I(179,118)] = {28,0xFFFF177}, + [I(180,118)] = {30,0x3FFFF6F7}, + [I(181,118)] = {29,0x1FFFF0F7}, + [I(182,118)] = {30,0x3FFFF777}, + [I(183,118)] = {30,0x3FFFF7F7}, + [I(184,118)] = {27,0x7FFF577}, + [I(185,118)] = {29,0x1FFFF177}, + [I(186,118)] = {29,0x1FFFF1F7}, + [I(187,118)] = {29,0x1FFFF277}, + [I(188,118)] = {30,0x3FFFF877}, + [I(189,118)] = {29,0x1FFFF2F7}, + [I(190,118)] = {29,0x1FFFF377}, + [I(191,118)] = {30,0x3FFFF8F7}, + [I(192,118)] = {64,0}, + [I(193,118)] = {64,0}, + [I(194,118)] = {27,0x7FFF5F7}, + [I(195,118)] = {26,0x3FFF8F7}, + [I(196,118)] = {29,0x1FFFF3F7}, + [I(197,118)] = {30,0x3FFFF977}, + [I(198,118)] = {29,0x1FFFF477}, + [I(199,118)] = {X32,0xFFFFF677}, + [I(200,118)] = {64,0}, + [I(201,118)] = {64,0}, + [I(202,118)] = {64,0}, + [I(203,118)] = {64,0}, + [I(204,118)] = {64,0}, + [I(205,118)] = {64,0}, + [I(206,118)] = {31,0x7FFFF8F7}, + [I(207,118)] = {X32,0xFFFFF6F7}, + [I(208,118)] = {26,0x3FFF977}, + [I(209,118)] = {28,0xFFFF1F7}, + [I(210,118)] = {64,0}, + [I(211,118)] = {64,0}, + [I(212,118)] = {64,0}, + [I(213,118)] = {64,0}, + [I(214,118)] = {64,0}, + [I(215,118)] = {31,0x7FFFF977}, + [I(216,118)] = {28,0xFFFF277}, + [I(217,118)] = {28,0xFFFF2F7}, + [I(218,118)] = {64,0}, + [I(219,118)] = {64,0}, + [I(220,118)] = {64,0}, + [I(221,118)] = {64,0}, + [I(222,118)] = {64,0}, + [I(223,118)] = {64,0}, + [I(224,118)] = {27,0x7FFF677}, + [I(225,118)] = {31,0x7FFFF9F7}, + [I(226,118)] = {27,0x7FFF6F7}, + [I(227,118)] = {28,0xFFFF377}, + [I(228,118)] = {29,0x1FFFF4F7}, + [I(229,118)] = {28,0xFFFF3F7}, + [I(230,118)] = {28,0xFFFF477}, + [I(231,118)] = {30,0x3FFFF9F7}, + [I(232,118)] = {29,0x1FFFF577}, + [I(233,118)] = {29,0x1FFFF5F7}, + [I(234,118)] = {X32,0xFFFFF777}, + [I(235,118)] = {X32,0xFFFFF7F7}, + [I(236,118)] = {31,0x7FFFFA77}, + [I(237,118)] = {31,0x7FFFFAF7}, + [I(238,118)] = {64,0}, + [I(239,118)] = {30,0x3FFFFA77}, + [I(240,118)] = {64,0}, + [I(241,118)] = {64,0}, + [I(242,118)] = {64,0}, + [I(243,118)] = {64,0}, + [I(244,118)] = {64,0}, + [I(245,118)] = {64,0}, + [I(246,118)] = {64,0}, + [I(247,118)] = {64,0}, + [I(248,118)] = {64,0}, + [I(249,118)] = {64,0}, + [I(250,118)] = {64,0}, + [I(251,118)] = {64,0}, + [I(252,118)] = {64,0}, + [I(253,118)] = {64,0}, + [I(254,118)] = {64,0}, + [I(255,118)] = {64,0}, + [I(0,119)] = {20,0xFFC78}, + [I(1,119)] = {30,0x3FFFEC78}, + [I(2,119)] = {64,0}, + [I(3,119)] = {64,0}, + [I(4,119)] = {64,0}, + [I(5,119)] = {64,0}, + [I(6,119)] = {64,0}, + [I(7,119)] = {64,0}, + [I(8,119)] = {64,0}, + [I(9,119)] = {31,0x7FFFF578}, + [I(10,119)] = {64,0}, + [I(11,119)] = {64,0}, + [I(12,119)] = {64,0}, + [I(13,119)] = {64,0}, + [I(14,119)] = {64,0}, + [I(15,119)] = {64,0}, + [I(16,119)] = {64,0}, + [I(17,119)] = {64,0}, + [I(18,119)] = {64,0}, + [I(19,119)] = {64,0}, + [I(20,119)] = {64,0}, + [I(21,119)] = {64,0}, + [I(22,119)] = {64,0}, + [I(23,119)] = {64,0}, + [I(24,119)] = {64,0}, + [I(25,119)] = {64,0}, + [I(26,119)] = {64,0}, + [I(27,119)] = {64,0}, + [I(28,119)] = {64,0}, + [I(29,119)] = {64,0}, + [I(30,119)] = {64,0}, + [I(31,119)] = {64,0}, + [I(32,119)] = {13,0xA78}, + [I(33,119)] = {17,0x1FC78}, + [I(34,119)] = {17,0x1FCF8}, + [I(35,119)] = {19,0x7FD78}, + [I(36,119)] = {20,0xFFCF8}, + [I(37,119)] = {13,0xAF8}, + [I(38,119)] = {15,0x7C78}, + [I(39,119)] = {18,0x3FD78}, + [I(40,119)] = {17,0x1FD78}, + [I(41,119)] = {17,0x1FDF8}, + [I(42,119)] = {15,0x7CF8}, + [I(43,119)] = {18,0x3FDF8}, + [I(44,119)] = {15,0x7D78}, + [I(45,119)] = {13,0xB78}, + [I(46,119)] = {13,0xBF8}, + [I(47,119)] = {13,0xC78}, + [I(48,119)] = {12,0x78}, + [I(49,119)] = {12,0xF8}, + [I(50,119)] = {12,0x178}, + [I(51,119)] = {13,0xCF8}, + [I(52,119)] = {13,0xD78}, + [I(53,119)] = {13,0xDF8}, + [I(54,119)] = {13,0xE78}, + [I(55,119)] = {13,0xEF8}, + [I(56,119)] = {13,0xF78}, + [I(57,119)] = {13,0xFF8}, + [I(58,119)] = {14,0x2E78}, + [I(59,119)] = {15,0x7DF8}, + [I(60,119)] = {22,0x3FFE78}, + [I(61,119)] = {13,0x1078}, + [I(62,119)] = {19,0x7FDF8}, + [I(63,119)] = {17,0x1FE78}, + [I(64,119)] = {20,0xFFD78}, + [I(65,119)] = {13,0x10F8}, + [I(66,119)] = {14,0x2EF8}, + [I(67,119)] = {14,0x2F78}, + [I(68,119)] = {14,0x2FF8}, + [I(69,119)] = {14,0x3078}, + [I(70,119)] = {14,0x30F8}, + [I(71,119)] = {14,0x3178}, + [I(72,119)] = {14,0x31F8}, + [I(73,119)] = {14,0x3278}, + [I(74,119)] = {14,0x32F8}, + [I(75,119)] = {14,0x3378}, + [I(76,119)] = {14,0x33F8}, + [I(77,119)] = {14,0x3478}, + [I(78,119)] = {14,0x34F8}, + [I(79,119)] = {14,0x3578}, + [I(80,119)] = {14,0x35F8}, + [I(81,119)] = {14,0x3678}, + [I(82,119)] = {14,0x36F8}, + [I(83,119)] = {14,0x3778}, + [I(84,119)] = {14,0x37F8}, + [I(85,119)] = {14,0x3878}, + [I(86,119)] = {14,0x38F8}, + [I(87,119)] = {14,0x3978}, + [I(88,119)] = {15,0x7E78}, + [I(89,119)] = {14,0x39F8}, + [I(90,119)] = {15,0x7EF8}, + [I(91,119)] = {20,0xFFDF8}, + [I(92,119)] = {26,0x3FFF878}, + [I(93,119)] = {20,0xFFE78}, + [I(94,119)] = {21,0x1FFE78}, + [I(95,119)] = {13,0x1178}, + [I(96,119)] = {22,0x3FFEF8}, + [I(97,119)] = {12,0x1F8}, + [I(98,119)] = {13,0x11F8}, + [I(99,119)] = {12,0x278}, + [I(100,119)] = {13,0x1278}, + [I(101,119)] = {12,0x2F8}, + [I(102,119)] = {13,0x12F8}, + [I(103,119)] = {13,0x1378}, + [I(104,119)] = {13,0x13F8}, + [I(105,119)] = {12,0x378}, + [I(106,119)] = {14,0x3A78}, + [I(107,119)] = {14,0x3AF8}, + [I(108,119)] = {13,0x1478}, + [I(109,119)] = {13,0x14F8}, + [I(110,119)] = {13,0x1578}, + [I(111,119)] = {12,0x3F8}, + [I(112,119)] = {13,0x15F8}, + [I(113,119)] = {14,0x3B78}, + [I(114,119)] = {13,0x1678}, + [I(115,119)] = {12,0x478}, + [I(116,119)] = {12,0x4F8}, + [I(117,119)] = {13,0x16F8}, + [I(118,119)] = {14,0x3BF8}, + [I(119,119)] = {14,0x3C78}, + [I(120,119)] = {14,0x3CF8}, + [I(121,119)] = {14,0x3D78}, + [I(122,119)] = {14,0x3DF8}, + [I(123,119)] = {22,0x3FFF78}, + [I(124,119)] = {18,0x3FE78}, + [I(125,119)] = {21,0x1FFEF8}, + [I(126,119)] = {20,0xFFEF8}, + [I(127,119)] = {64,0}, + [I(128,119)] = {27,0x7FFF378}, + [I(129,119)] = {29,0x1FFFE978}, + [I(130,119)] = {27,0x7FFF3F8}, + [I(131,119)] = {27,0x7FFF478}, + [I(132,119)] = {29,0x1FFFE9F8}, + [I(133,119)] = {29,0x1FFFEA78}, + [I(134,119)] = {29,0x1FFFEAF8}, + [I(135,119)] = {30,0x3FFFECF8}, + [I(136,119)] = {29,0x1FFFEB78}, + [I(137,119)] = {30,0x3FFFED78}, + [I(138,119)] = {30,0x3FFFEDF8}, + [I(139,119)] = {30,0x3FFFEE78}, + [I(140,119)] = {30,0x3FFFEEF8}, + [I(141,119)] = {30,0x3FFFEF78}, + [I(142,119)] = {31,0x7FFFF5F8}, + [I(143,119)] = {30,0x3FFFEFF8}, + [I(144,119)] = {31,0x7FFFF678}, + [I(145,119)] = {31,0x7FFFF6F8}, + [I(146,119)] = {29,0x1FFFEBF8}, + [I(147,119)] = {30,0x3FFFF078}, + [I(148,119)] = {31,0x7FFFF778}, + [I(149,119)] = {30,0x3FFFF0F8}, + [I(150,119)] = {30,0x3FFFF178}, + [I(151,119)] = {30,0x3FFFF1F8}, + [I(152,119)] = {30,0x3FFFF278}, + [I(153,119)] = {28,0xFFFEE78}, + [I(154,119)] = {29,0x1FFFEC78}, + [I(155,119)] = {30,0x3FFFF2F8}, + [I(156,119)] = {29,0x1FFFECF8}, + [I(157,119)] = {30,0x3FFFF378}, + [I(158,119)] = {30,0x3FFFF3F8}, + [I(159,119)] = {31,0x7FFFF7F8}, + [I(160,119)] = {29,0x1FFFED78}, + [I(161,119)] = {28,0xFFFEEF8}, + [I(162,119)] = {27,0x7FFF4F8}, + [I(163,119)] = {29,0x1FFFEDF8}, + [I(164,119)] = {29,0x1FFFEE78}, + [I(165,119)] = {30,0x3FFFF478}, + [I(166,119)] = {30,0x3FFFF4F8}, + [I(167,119)] = {28,0xFFFEF78}, + [I(168,119)] = {30,0x3FFFF578}, + [I(169,119)] = {29,0x1FFFEEF8}, + [I(170,119)] = {29,0x1FFFEF78}, + [I(171,119)] = {31,0x7FFFF878}, + [I(172,119)] = {28,0xFFFEFF8}, + [I(173,119)] = {29,0x1FFFEFF8}, + [I(174,119)] = {30,0x3FFFF5F8}, + [I(175,119)] = {30,0x3FFFF678}, + [I(176,119)] = {28,0xFFFF078}, + [I(177,119)] = {28,0xFFFF0F8}, + [I(178,119)] = {29,0x1FFFF078}, + [I(179,119)] = {28,0xFFFF178}, + [I(180,119)] = {30,0x3FFFF6F8}, + [I(181,119)] = {29,0x1FFFF0F8}, + [I(182,119)] = {30,0x3FFFF778}, + [I(183,119)] = {30,0x3FFFF7F8}, + [I(184,119)] = {27,0x7FFF578}, + [I(185,119)] = {29,0x1FFFF178}, + [I(186,119)] = {29,0x1FFFF1F8}, + [I(187,119)] = {29,0x1FFFF278}, + [I(188,119)] = {30,0x3FFFF878}, + [I(189,119)] = {29,0x1FFFF2F8}, + [I(190,119)] = {29,0x1FFFF378}, + [I(191,119)] = {30,0x3FFFF8F8}, + [I(192,119)] = {64,0}, + [I(193,119)] = {64,0}, + [I(194,119)] = {27,0x7FFF5F8}, + [I(195,119)] = {26,0x3FFF8F8}, + [I(196,119)] = {29,0x1FFFF3F8}, + [I(197,119)] = {30,0x3FFFF978}, + [I(198,119)] = {29,0x1FFFF478}, + [I(199,119)] = {X32,0xFFFFF678}, + [I(200,119)] = {64,0}, + [I(201,119)] = {64,0}, + [I(202,119)] = {64,0}, + [I(203,119)] = {64,0}, + [I(204,119)] = {64,0}, + [I(205,119)] = {64,0}, + [I(206,119)] = {31,0x7FFFF8F8}, + [I(207,119)] = {X32,0xFFFFF6F8}, + [I(208,119)] = {26,0x3FFF978}, + [I(209,119)] = {28,0xFFFF1F8}, + [I(210,119)] = {64,0}, + [I(211,119)] = {64,0}, + [I(212,119)] = {64,0}, + [I(213,119)] = {64,0}, + [I(214,119)] = {64,0}, + [I(215,119)] = {31,0x7FFFF978}, + [I(216,119)] = {28,0xFFFF278}, + [I(217,119)] = {28,0xFFFF2F8}, + [I(218,119)] = {64,0}, + [I(219,119)] = {64,0}, + [I(220,119)] = {64,0}, + [I(221,119)] = {64,0}, + [I(222,119)] = {64,0}, + [I(223,119)] = {64,0}, + [I(224,119)] = {27,0x7FFF678}, + [I(225,119)] = {31,0x7FFFF9F8}, + [I(226,119)] = {27,0x7FFF6F8}, + [I(227,119)] = {28,0xFFFF378}, + [I(228,119)] = {29,0x1FFFF4F8}, + [I(229,119)] = {28,0xFFFF3F8}, + [I(230,119)] = {28,0xFFFF478}, + [I(231,119)] = {30,0x3FFFF9F8}, + [I(232,119)] = {29,0x1FFFF578}, + [I(233,119)] = {29,0x1FFFF5F8}, + [I(234,119)] = {X32,0xFFFFF778}, + [I(235,119)] = {X32,0xFFFFF7F8}, + [I(236,119)] = {31,0x7FFFFA78}, + [I(237,119)] = {31,0x7FFFFAF8}, + [I(238,119)] = {64,0}, + [I(239,119)] = {30,0x3FFFFA78}, + [I(240,119)] = {64,0}, + [I(241,119)] = {64,0}, + [I(242,119)] = {64,0}, + [I(243,119)] = {64,0}, + [I(244,119)] = {64,0}, + [I(245,119)] = {64,0}, + [I(246,119)] = {64,0}, + [I(247,119)] = {64,0}, + [I(248,119)] = {64,0}, + [I(249,119)] = {64,0}, + [I(250,119)] = {64,0}, + [I(251,119)] = {64,0}, + [I(252,119)] = {64,0}, + [I(253,119)] = {64,0}, + [I(254,119)] = {64,0}, + [I(255,119)] = {64,0}, + [I(0,120)] = {20,0xFFC79}, + [I(1,120)] = {30,0x3FFFEC79}, + [I(2,120)] = {64,0}, + [I(3,120)] = {64,0}, + [I(4,120)] = {64,0}, + [I(5,120)] = {64,0}, + [I(6,120)] = {64,0}, + [I(7,120)] = {64,0}, + [I(8,120)] = {64,0}, + [I(9,120)] = {31,0x7FFFF579}, + [I(10,120)] = {64,0}, + [I(11,120)] = {64,0}, + [I(12,120)] = {64,0}, + [I(13,120)] = {64,0}, + [I(14,120)] = {64,0}, + [I(15,120)] = {64,0}, + [I(16,120)] = {64,0}, + [I(17,120)] = {64,0}, + [I(18,120)] = {64,0}, + [I(19,120)] = {64,0}, + [I(20,120)] = {64,0}, + [I(21,120)] = {64,0}, + [I(22,120)] = {64,0}, + [I(23,120)] = {64,0}, + [I(24,120)] = {64,0}, + [I(25,120)] = {64,0}, + [I(26,120)] = {64,0}, + [I(27,120)] = {64,0}, + [I(28,120)] = {64,0}, + [I(29,120)] = {64,0}, + [I(30,120)] = {64,0}, + [I(31,120)] = {64,0}, + [I(32,120)] = {13,0xA79}, + [I(33,120)] = {17,0x1FC79}, + [I(34,120)] = {17,0x1FCF9}, + [I(35,120)] = {19,0x7FD79}, + [I(36,120)] = {20,0xFFCF9}, + [I(37,120)] = {13,0xAF9}, + [I(38,120)] = {15,0x7C79}, + [I(39,120)] = {18,0x3FD79}, + [I(40,120)] = {17,0x1FD79}, + [I(41,120)] = {17,0x1FDF9}, + [I(42,120)] = {15,0x7CF9}, + [I(43,120)] = {18,0x3FDF9}, + [I(44,120)] = {15,0x7D79}, + [I(45,120)] = {13,0xB79}, + [I(46,120)] = {13,0xBF9}, + [I(47,120)] = {13,0xC79}, + [I(48,120)] = {12,0x79}, + [I(49,120)] = {12,0xF9}, + [I(50,120)] = {12,0x179}, + [I(51,120)] = {13,0xCF9}, + [I(52,120)] = {13,0xD79}, + [I(53,120)] = {13,0xDF9}, + [I(54,120)] = {13,0xE79}, + [I(55,120)] = {13,0xEF9}, + [I(56,120)] = {13,0xF79}, + [I(57,120)] = {13,0xFF9}, + [I(58,120)] = {14,0x2E79}, + [I(59,120)] = {15,0x7DF9}, + [I(60,120)] = {22,0x3FFE79}, + [I(61,120)] = {13,0x1079}, + [I(62,120)] = {19,0x7FDF9}, + [I(63,120)] = {17,0x1FE79}, + [I(64,120)] = {20,0xFFD79}, + [I(65,120)] = {13,0x10F9}, + [I(66,120)] = {14,0x2EF9}, + [I(67,120)] = {14,0x2F79}, + [I(68,120)] = {14,0x2FF9}, + [I(69,120)] = {14,0x3079}, + [I(70,120)] = {14,0x30F9}, + [I(71,120)] = {14,0x3179}, + [I(72,120)] = {14,0x31F9}, + [I(73,120)] = {14,0x3279}, + [I(74,120)] = {14,0x32F9}, + [I(75,120)] = {14,0x3379}, + [I(76,120)] = {14,0x33F9}, + [I(77,120)] = {14,0x3479}, + [I(78,120)] = {14,0x34F9}, + [I(79,120)] = {14,0x3579}, + [I(80,120)] = {14,0x35F9}, + [I(81,120)] = {14,0x3679}, + [I(82,120)] = {14,0x36F9}, + [I(83,120)] = {14,0x3779}, + [I(84,120)] = {14,0x37F9}, + [I(85,120)] = {14,0x3879}, + [I(86,120)] = {14,0x38F9}, + [I(87,120)] = {14,0x3979}, + [I(88,120)] = {15,0x7E79}, + [I(89,120)] = {14,0x39F9}, + [I(90,120)] = {15,0x7EF9}, + [I(91,120)] = {20,0xFFDF9}, + [I(92,120)] = {26,0x3FFF879}, + [I(93,120)] = {20,0xFFE79}, + [I(94,120)] = {21,0x1FFE79}, + [I(95,120)] = {13,0x1179}, + [I(96,120)] = {22,0x3FFEF9}, + [I(97,120)] = {12,0x1F9}, + [I(98,120)] = {13,0x11F9}, + [I(99,120)] = {12,0x279}, + [I(100,120)] = {13,0x1279}, + [I(101,120)] = {12,0x2F9}, + [I(102,120)] = {13,0x12F9}, + [I(103,120)] = {13,0x1379}, + [I(104,120)] = {13,0x13F9}, + [I(105,120)] = {12,0x379}, + [I(106,120)] = {14,0x3A79}, + [I(107,120)] = {14,0x3AF9}, + [I(108,120)] = {13,0x1479}, + [I(109,120)] = {13,0x14F9}, + [I(110,120)] = {13,0x1579}, + [I(111,120)] = {12,0x3F9}, + [I(112,120)] = {13,0x15F9}, + [I(113,120)] = {14,0x3B79}, + [I(114,120)] = {13,0x1679}, + [I(115,120)] = {12,0x479}, + [I(116,120)] = {12,0x4F9}, + [I(117,120)] = {13,0x16F9}, + [I(118,120)] = {14,0x3BF9}, + [I(119,120)] = {14,0x3C79}, + [I(120,120)] = {14,0x3CF9}, + [I(121,120)] = {14,0x3D79}, + [I(122,120)] = {14,0x3DF9}, + [I(123,120)] = {22,0x3FFF79}, + [I(124,120)] = {18,0x3FE79}, + [I(125,120)] = {21,0x1FFEF9}, + [I(126,120)] = {20,0xFFEF9}, + [I(127,120)] = {64,0}, + [I(128,120)] = {27,0x7FFF379}, + [I(129,120)] = {29,0x1FFFE979}, + [I(130,120)] = {27,0x7FFF3F9}, + [I(131,120)] = {27,0x7FFF479}, + [I(132,120)] = {29,0x1FFFE9F9}, + [I(133,120)] = {29,0x1FFFEA79}, + [I(134,120)] = {29,0x1FFFEAF9}, + [I(135,120)] = {30,0x3FFFECF9}, + [I(136,120)] = {29,0x1FFFEB79}, + [I(137,120)] = {30,0x3FFFED79}, + [I(138,120)] = {30,0x3FFFEDF9}, + [I(139,120)] = {30,0x3FFFEE79}, + [I(140,120)] = {30,0x3FFFEEF9}, + [I(141,120)] = {30,0x3FFFEF79}, + [I(142,120)] = {31,0x7FFFF5F9}, + [I(143,120)] = {30,0x3FFFEFF9}, + [I(144,120)] = {31,0x7FFFF679}, + [I(145,120)] = {31,0x7FFFF6F9}, + [I(146,120)] = {29,0x1FFFEBF9}, + [I(147,120)] = {30,0x3FFFF079}, + [I(148,120)] = {31,0x7FFFF779}, + [I(149,120)] = {30,0x3FFFF0F9}, + [I(150,120)] = {30,0x3FFFF179}, + [I(151,120)] = {30,0x3FFFF1F9}, + [I(152,120)] = {30,0x3FFFF279}, + [I(153,120)] = {28,0xFFFEE79}, + [I(154,120)] = {29,0x1FFFEC79}, + [I(155,120)] = {30,0x3FFFF2F9}, + [I(156,120)] = {29,0x1FFFECF9}, + [I(157,120)] = {30,0x3FFFF379}, + [I(158,120)] = {30,0x3FFFF3F9}, + [I(159,120)] = {31,0x7FFFF7F9}, + [I(160,120)] = {29,0x1FFFED79}, + [I(161,120)] = {28,0xFFFEEF9}, + [I(162,120)] = {27,0x7FFF4F9}, + [I(163,120)] = {29,0x1FFFEDF9}, + [I(164,120)] = {29,0x1FFFEE79}, + [I(165,120)] = {30,0x3FFFF479}, + [I(166,120)] = {30,0x3FFFF4F9}, + [I(167,120)] = {28,0xFFFEF79}, + [I(168,120)] = {30,0x3FFFF579}, + [I(169,120)] = {29,0x1FFFEEF9}, + [I(170,120)] = {29,0x1FFFEF79}, + [I(171,120)] = {31,0x7FFFF879}, + [I(172,120)] = {28,0xFFFEFF9}, + [I(173,120)] = {29,0x1FFFEFF9}, + [I(174,120)] = {30,0x3FFFF5F9}, + [I(175,120)] = {30,0x3FFFF679}, + [I(176,120)] = {28,0xFFFF079}, + [I(177,120)] = {28,0xFFFF0F9}, + [I(178,120)] = {29,0x1FFFF079}, + [I(179,120)] = {28,0xFFFF179}, + [I(180,120)] = {30,0x3FFFF6F9}, + [I(181,120)] = {29,0x1FFFF0F9}, + [I(182,120)] = {30,0x3FFFF779}, + [I(183,120)] = {30,0x3FFFF7F9}, + [I(184,120)] = {27,0x7FFF579}, + [I(185,120)] = {29,0x1FFFF179}, + [I(186,120)] = {29,0x1FFFF1F9}, + [I(187,120)] = {29,0x1FFFF279}, + [I(188,120)] = {30,0x3FFFF879}, + [I(189,120)] = {29,0x1FFFF2F9}, + [I(190,120)] = {29,0x1FFFF379}, + [I(191,120)] = {30,0x3FFFF8F9}, + [I(192,120)] = {64,0}, + [I(193,120)] = {64,0}, + [I(194,120)] = {27,0x7FFF5F9}, + [I(195,120)] = {26,0x3FFF8F9}, + [I(196,120)] = {29,0x1FFFF3F9}, + [I(197,120)] = {30,0x3FFFF979}, + [I(198,120)] = {29,0x1FFFF479}, + [I(199,120)] = {X32,0xFFFFF679}, + [I(200,120)] = {64,0}, + [I(201,120)] = {64,0}, + [I(202,120)] = {64,0}, + [I(203,120)] = {64,0}, + [I(204,120)] = {64,0}, + [I(205,120)] = {64,0}, + [I(206,120)] = {31,0x7FFFF8F9}, + [I(207,120)] = {X32,0xFFFFF6F9}, + [I(208,120)] = {26,0x3FFF979}, + [I(209,120)] = {28,0xFFFF1F9}, + [I(210,120)] = {64,0}, + [I(211,120)] = {64,0}, + [I(212,120)] = {64,0}, + [I(213,120)] = {64,0}, + [I(214,120)] = {64,0}, + [I(215,120)] = {31,0x7FFFF979}, + [I(216,120)] = {28,0xFFFF279}, + [I(217,120)] = {28,0xFFFF2F9}, + [I(218,120)] = {64,0}, + [I(219,120)] = {64,0}, + [I(220,120)] = {64,0}, + [I(221,120)] = {64,0}, + [I(222,120)] = {64,0}, + [I(223,120)] = {64,0}, + [I(224,120)] = {27,0x7FFF679}, + [I(225,120)] = {31,0x7FFFF9F9}, + [I(226,120)] = {27,0x7FFF6F9}, + [I(227,120)] = {28,0xFFFF379}, + [I(228,120)] = {29,0x1FFFF4F9}, + [I(229,120)] = {28,0xFFFF3F9}, + [I(230,120)] = {28,0xFFFF479}, + [I(231,120)] = {30,0x3FFFF9F9}, + [I(232,120)] = {29,0x1FFFF579}, + [I(233,120)] = {29,0x1FFFF5F9}, + [I(234,120)] = {X32,0xFFFFF779}, + [I(235,120)] = {X32,0xFFFFF7F9}, + [I(236,120)] = {31,0x7FFFFA79}, + [I(237,120)] = {31,0x7FFFFAF9}, + [I(238,120)] = {64,0}, + [I(239,120)] = {30,0x3FFFFA79}, + [I(240,120)] = {64,0}, + [I(241,120)] = {64,0}, + [I(242,120)] = {64,0}, + [I(243,120)] = {64,0}, + [I(244,120)] = {64,0}, + [I(245,120)] = {64,0}, + [I(246,120)] = {64,0}, + [I(247,120)] = {64,0}, + [I(248,120)] = {64,0}, + [I(249,120)] = {64,0}, + [I(250,120)] = {64,0}, + [I(251,120)] = {64,0}, + [I(252,120)] = {64,0}, + [I(253,120)] = {64,0}, + [I(254,120)] = {64,0}, + [I(255,120)] = {64,0}, + [I(0,121)] = {20,0xFFC7A}, + [I(1,121)] = {30,0x3FFFEC7A}, + [I(2,121)] = {64,0}, + [I(3,121)] = {64,0}, + [I(4,121)] = {64,0}, + [I(5,121)] = {64,0}, + [I(6,121)] = {64,0}, + [I(7,121)] = {64,0}, + [I(8,121)] = {64,0}, + [I(9,121)] = {31,0x7FFFF57A}, + [I(10,121)] = {64,0}, + [I(11,121)] = {64,0}, + [I(12,121)] = {64,0}, + [I(13,121)] = {64,0}, + [I(14,121)] = {64,0}, + [I(15,121)] = {64,0}, + [I(16,121)] = {64,0}, + [I(17,121)] = {64,0}, + [I(18,121)] = {64,0}, + [I(19,121)] = {64,0}, + [I(20,121)] = {64,0}, + [I(21,121)] = {64,0}, + [I(22,121)] = {64,0}, + [I(23,121)] = {64,0}, + [I(24,121)] = {64,0}, + [I(25,121)] = {64,0}, + [I(26,121)] = {64,0}, + [I(27,121)] = {64,0}, + [I(28,121)] = {64,0}, + [I(29,121)] = {64,0}, + [I(30,121)] = {64,0}, + [I(31,121)] = {64,0}, + [I(32,121)] = {13,0xA7A}, + [I(33,121)] = {17,0x1FC7A}, + [I(34,121)] = {17,0x1FCFA}, + [I(35,121)] = {19,0x7FD7A}, + [I(36,121)] = {20,0xFFCFA}, + [I(37,121)] = {13,0xAFA}, + [I(38,121)] = {15,0x7C7A}, + [I(39,121)] = {18,0x3FD7A}, + [I(40,121)] = {17,0x1FD7A}, + [I(41,121)] = {17,0x1FDFA}, + [I(42,121)] = {15,0x7CFA}, + [I(43,121)] = {18,0x3FDFA}, + [I(44,121)] = {15,0x7D7A}, + [I(45,121)] = {13,0xB7A}, + [I(46,121)] = {13,0xBFA}, + [I(47,121)] = {13,0xC7A}, + [I(48,121)] = {12,0x7A}, + [I(49,121)] = {12,0xFA}, + [I(50,121)] = {12,0x17A}, + [I(51,121)] = {13,0xCFA}, + [I(52,121)] = {13,0xD7A}, + [I(53,121)] = {13,0xDFA}, + [I(54,121)] = {13,0xE7A}, + [I(55,121)] = {13,0xEFA}, + [I(56,121)] = {13,0xF7A}, + [I(57,121)] = {13,0xFFA}, + [I(58,121)] = {14,0x2E7A}, + [I(59,121)] = {15,0x7DFA}, + [I(60,121)] = {22,0x3FFE7A}, + [I(61,121)] = {13,0x107A}, + [I(62,121)] = {19,0x7FDFA}, + [I(63,121)] = {17,0x1FE7A}, + [I(64,121)] = {20,0xFFD7A}, + [I(65,121)] = {13,0x10FA}, + [I(66,121)] = {14,0x2EFA}, + [I(67,121)] = {14,0x2F7A}, + [I(68,121)] = {14,0x2FFA}, + [I(69,121)] = {14,0x307A}, + [I(70,121)] = {14,0x30FA}, + [I(71,121)] = {14,0x317A}, + [I(72,121)] = {14,0x31FA}, + [I(73,121)] = {14,0x327A}, + [I(74,121)] = {14,0x32FA}, + [I(75,121)] = {14,0x337A}, + [I(76,121)] = {14,0x33FA}, + [I(77,121)] = {14,0x347A}, + [I(78,121)] = {14,0x34FA}, + [I(79,121)] = {14,0x357A}, + [I(80,121)] = {14,0x35FA}, + [I(81,121)] = {14,0x367A}, + [I(82,121)] = {14,0x36FA}, + [I(83,121)] = {14,0x377A}, + [I(84,121)] = {14,0x37FA}, + [I(85,121)] = {14,0x387A}, + [I(86,121)] = {14,0x38FA}, + [I(87,121)] = {14,0x397A}, + [I(88,121)] = {15,0x7E7A}, + [I(89,121)] = {14,0x39FA}, + [I(90,121)] = {15,0x7EFA}, + [I(91,121)] = {20,0xFFDFA}, + [I(92,121)] = {26,0x3FFF87A}, + [I(93,121)] = {20,0xFFE7A}, + [I(94,121)] = {21,0x1FFE7A}, + [I(95,121)] = {13,0x117A}, + [I(96,121)] = {22,0x3FFEFA}, + [I(97,121)] = {12,0x1FA}, + [I(98,121)] = {13,0x11FA}, + [I(99,121)] = {12,0x27A}, + [I(100,121)] = {13,0x127A}, + [I(101,121)] = {12,0x2FA}, + [I(102,121)] = {13,0x12FA}, + [I(103,121)] = {13,0x137A}, + [I(104,121)] = {13,0x13FA}, + [I(105,121)] = {12,0x37A}, + [I(106,121)] = {14,0x3A7A}, + [I(107,121)] = {14,0x3AFA}, + [I(108,121)] = {13,0x147A}, + [I(109,121)] = {13,0x14FA}, + [I(110,121)] = {13,0x157A}, + [I(111,121)] = {12,0x3FA}, + [I(112,121)] = {13,0x15FA}, + [I(113,121)] = {14,0x3B7A}, + [I(114,121)] = {13,0x167A}, + [I(115,121)] = {12,0x47A}, + [I(116,121)] = {12,0x4FA}, + [I(117,121)] = {13,0x16FA}, + [I(118,121)] = {14,0x3BFA}, + [I(119,121)] = {14,0x3C7A}, + [I(120,121)] = {14,0x3CFA}, + [I(121,121)] = {14,0x3D7A}, + [I(122,121)] = {14,0x3DFA}, + [I(123,121)] = {22,0x3FFF7A}, + [I(124,121)] = {18,0x3FE7A}, + [I(125,121)] = {21,0x1FFEFA}, + [I(126,121)] = {20,0xFFEFA}, + [I(127,121)] = {64,0}, + [I(128,121)] = {27,0x7FFF37A}, + [I(129,121)] = {29,0x1FFFE97A}, + [I(130,121)] = {27,0x7FFF3FA}, + [I(131,121)] = {27,0x7FFF47A}, + [I(132,121)] = {29,0x1FFFE9FA}, + [I(133,121)] = {29,0x1FFFEA7A}, + [I(134,121)] = {29,0x1FFFEAFA}, + [I(135,121)] = {30,0x3FFFECFA}, + [I(136,121)] = {29,0x1FFFEB7A}, + [I(137,121)] = {30,0x3FFFED7A}, + [I(138,121)] = {30,0x3FFFEDFA}, + [I(139,121)] = {30,0x3FFFEE7A}, + [I(140,121)] = {30,0x3FFFEEFA}, + [I(141,121)] = {30,0x3FFFEF7A}, + [I(142,121)] = {31,0x7FFFF5FA}, + [I(143,121)] = {30,0x3FFFEFFA}, + [I(144,121)] = {31,0x7FFFF67A}, + [I(145,121)] = {31,0x7FFFF6FA}, + [I(146,121)] = {29,0x1FFFEBFA}, + [I(147,121)] = {30,0x3FFFF07A}, + [I(148,121)] = {31,0x7FFFF77A}, + [I(149,121)] = {30,0x3FFFF0FA}, + [I(150,121)] = {30,0x3FFFF17A}, + [I(151,121)] = {30,0x3FFFF1FA}, + [I(152,121)] = {30,0x3FFFF27A}, + [I(153,121)] = {28,0xFFFEE7A}, + [I(154,121)] = {29,0x1FFFEC7A}, + [I(155,121)] = {30,0x3FFFF2FA}, + [I(156,121)] = {29,0x1FFFECFA}, + [I(157,121)] = {30,0x3FFFF37A}, + [I(158,121)] = {30,0x3FFFF3FA}, + [I(159,121)] = {31,0x7FFFF7FA}, + [I(160,121)] = {29,0x1FFFED7A}, + [I(161,121)] = {28,0xFFFEEFA}, + [I(162,121)] = {27,0x7FFF4FA}, + [I(163,121)] = {29,0x1FFFEDFA}, + [I(164,121)] = {29,0x1FFFEE7A}, + [I(165,121)] = {30,0x3FFFF47A}, + [I(166,121)] = {30,0x3FFFF4FA}, + [I(167,121)] = {28,0xFFFEF7A}, + [I(168,121)] = {30,0x3FFFF57A}, + [I(169,121)] = {29,0x1FFFEEFA}, + [I(170,121)] = {29,0x1FFFEF7A}, + [I(171,121)] = {31,0x7FFFF87A}, + [I(172,121)] = {28,0xFFFEFFA}, + [I(173,121)] = {29,0x1FFFEFFA}, + [I(174,121)] = {30,0x3FFFF5FA}, + [I(175,121)] = {30,0x3FFFF67A}, + [I(176,121)] = {28,0xFFFF07A}, + [I(177,121)] = {28,0xFFFF0FA}, + [I(178,121)] = {29,0x1FFFF07A}, + [I(179,121)] = {28,0xFFFF17A}, + [I(180,121)] = {30,0x3FFFF6FA}, + [I(181,121)] = {29,0x1FFFF0FA}, + [I(182,121)] = {30,0x3FFFF77A}, + [I(183,121)] = {30,0x3FFFF7FA}, + [I(184,121)] = {27,0x7FFF57A}, + [I(185,121)] = {29,0x1FFFF17A}, + [I(186,121)] = {29,0x1FFFF1FA}, + [I(187,121)] = {29,0x1FFFF27A}, + [I(188,121)] = {30,0x3FFFF87A}, + [I(189,121)] = {29,0x1FFFF2FA}, + [I(190,121)] = {29,0x1FFFF37A}, + [I(191,121)] = {30,0x3FFFF8FA}, + [I(192,121)] = {64,0}, + [I(193,121)] = {64,0}, + [I(194,121)] = {27,0x7FFF5FA}, + [I(195,121)] = {26,0x3FFF8FA}, + [I(196,121)] = {29,0x1FFFF3FA}, + [I(197,121)] = {30,0x3FFFF97A}, + [I(198,121)] = {29,0x1FFFF47A}, + [I(199,121)] = {X32,0xFFFFF67A}, + [I(200,121)] = {64,0}, + [I(201,121)] = {64,0}, + [I(202,121)] = {64,0}, + [I(203,121)] = {64,0}, + [I(204,121)] = {64,0}, + [I(205,121)] = {64,0}, + [I(206,121)] = {31,0x7FFFF8FA}, + [I(207,121)] = {X32,0xFFFFF6FA}, + [I(208,121)] = {26,0x3FFF97A}, + [I(209,121)] = {28,0xFFFF1FA}, + [I(210,121)] = {64,0}, + [I(211,121)] = {64,0}, + [I(212,121)] = {64,0}, + [I(213,121)] = {64,0}, + [I(214,121)] = {64,0}, + [I(215,121)] = {31,0x7FFFF97A}, + [I(216,121)] = {28,0xFFFF27A}, + [I(217,121)] = {28,0xFFFF2FA}, + [I(218,121)] = {64,0}, + [I(219,121)] = {64,0}, + [I(220,121)] = {64,0}, + [I(221,121)] = {64,0}, + [I(222,121)] = {64,0}, + [I(223,121)] = {64,0}, + [I(224,121)] = {27,0x7FFF67A}, + [I(225,121)] = {31,0x7FFFF9FA}, + [I(226,121)] = {27,0x7FFF6FA}, + [I(227,121)] = {28,0xFFFF37A}, + [I(228,121)] = {29,0x1FFFF4FA}, + [I(229,121)] = {28,0xFFFF3FA}, + [I(230,121)] = {28,0xFFFF47A}, + [I(231,121)] = {30,0x3FFFF9FA}, + [I(232,121)] = {29,0x1FFFF57A}, + [I(233,121)] = {29,0x1FFFF5FA}, + [I(234,121)] = {X32,0xFFFFF77A}, + [I(235,121)] = {X32,0xFFFFF7FA}, + [I(236,121)] = {31,0x7FFFFA7A}, + [I(237,121)] = {31,0x7FFFFAFA}, + [I(238,121)] = {64,0}, + [I(239,121)] = {30,0x3FFFFA7A}, + [I(240,121)] = {64,0}, + [I(241,121)] = {64,0}, + [I(242,121)] = {64,0}, + [I(243,121)] = {64,0}, + [I(244,121)] = {64,0}, + [I(245,121)] = {64,0}, + [I(246,121)] = {64,0}, + [I(247,121)] = {64,0}, + [I(248,121)] = {64,0}, + [I(249,121)] = {64,0}, + [I(250,121)] = {64,0}, + [I(251,121)] = {64,0}, + [I(252,121)] = {64,0}, + [I(253,121)] = {64,0}, + [I(254,121)] = {64,0}, + [I(255,121)] = {64,0}, + [I(0,122)] = {20,0xFFC7B}, + [I(1,122)] = {30,0x3FFFEC7B}, + [I(2,122)] = {64,0}, + [I(3,122)] = {64,0}, + [I(4,122)] = {64,0}, + [I(5,122)] = {64,0}, + [I(6,122)] = {64,0}, + [I(7,122)] = {64,0}, + [I(8,122)] = {64,0}, + [I(9,122)] = {31,0x7FFFF57B}, + [I(10,122)] = {64,0}, + [I(11,122)] = {64,0}, + [I(12,122)] = {64,0}, + [I(13,122)] = {64,0}, + [I(14,122)] = {64,0}, + [I(15,122)] = {64,0}, + [I(16,122)] = {64,0}, + [I(17,122)] = {64,0}, + [I(18,122)] = {64,0}, + [I(19,122)] = {64,0}, + [I(20,122)] = {64,0}, + [I(21,122)] = {64,0}, + [I(22,122)] = {64,0}, + [I(23,122)] = {64,0}, + [I(24,122)] = {64,0}, + [I(25,122)] = {64,0}, + [I(26,122)] = {64,0}, + [I(27,122)] = {64,0}, + [I(28,122)] = {64,0}, + [I(29,122)] = {64,0}, + [I(30,122)] = {64,0}, + [I(31,122)] = {64,0}, + [I(32,122)] = {13,0xA7B}, + [I(33,122)] = {17,0x1FC7B}, + [I(34,122)] = {17,0x1FCFB}, + [I(35,122)] = {19,0x7FD7B}, + [I(36,122)] = {20,0xFFCFB}, + [I(37,122)] = {13,0xAFB}, + [I(38,122)] = {15,0x7C7B}, + [I(39,122)] = {18,0x3FD7B}, + [I(40,122)] = {17,0x1FD7B}, + [I(41,122)] = {17,0x1FDFB}, + [I(42,122)] = {15,0x7CFB}, + [I(43,122)] = {18,0x3FDFB}, + [I(44,122)] = {15,0x7D7B}, + [I(45,122)] = {13,0xB7B}, + [I(46,122)] = {13,0xBFB}, + [I(47,122)] = {13,0xC7B}, + [I(48,122)] = {12,0x7B}, + [I(49,122)] = {12,0xFB}, + [I(50,122)] = {12,0x17B}, + [I(51,122)] = {13,0xCFB}, + [I(52,122)] = {13,0xD7B}, + [I(53,122)] = {13,0xDFB}, + [I(54,122)] = {13,0xE7B}, + [I(55,122)] = {13,0xEFB}, + [I(56,122)] = {13,0xF7B}, + [I(57,122)] = {13,0xFFB}, + [I(58,122)] = {14,0x2E7B}, + [I(59,122)] = {15,0x7DFB}, + [I(60,122)] = {22,0x3FFE7B}, + [I(61,122)] = {13,0x107B}, + [I(62,122)] = {19,0x7FDFB}, + [I(63,122)] = {17,0x1FE7B}, + [I(64,122)] = {20,0xFFD7B}, + [I(65,122)] = {13,0x10FB}, + [I(66,122)] = {14,0x2EFB}, + [I(67,122)] = {14,0x2F7B}, + [I(68,122)] = {14,0x2FFB}, + [I(69,122)] = {14,0x307B}, + [I(70,122)] = {14,0x30FB}, + [I(71,122)] = {14,0x317B}, + [I(72,122)] = {14,0x31FB}, + [I(73,122)] = {14,0x327B}, + [I(74,122)] = {14,0x32FB}, + [I(75,122)] = {14,0x337B}, + [I(76,122)] = {14,0x33FB}, + [I(77,122)] = {14,0x347B}, + [I(78,122)] = {14,0x34FB}, + [I(79,122)] = {14,0x357B}, + [I(80,122)] = {14,0x35FB}, + [I(81,122)] = {14,0x367B}, + [I(82,122)] = {14,0x36FB}, + [I(83,122)] = {14,0x377B}, + [I(84,122)] = {14,0x37FB}, + [I(85,122)] = {14,0x387B}, + [I(86,122)] = {14,0x38FB}, + [I(87,122)] = {14,0x397B}, + [I(88,122)] = {15,0x7E7B}, + [I(89,122)] = {14,0x39FB}, + [I(90,122)] = {15,0x7EFB}, + [I(91,122)] = {20,0xFFDFB}, + [I(92,122)] = {26,0x3FFF87B}, + [I(93,122)] = {20,0xFFE7B}, + [I(94,122)] = {21,0x1FFE7B}, + [I(95,122)] = {13,0x117B}, + [I(96,122)] = {22,0x3FFEFB}, + [I(97,122)] = {12,0x1FB}, + [I(98,122)] = {13,0x11FB}, + [I(99,122)] = {12,0x27B}, + [I(100,122)] = {13,0x127B}, + [I(101,122)] = {12,0x2FB}, + [I(102,122)] = {13,0x12FB}, + [I(103,122)] = {13,0x137B}, + [I(104,122)] = {13,0x13FB}, + [I(105,122)] = {12,0x37B}, + [I(106,122)] = {14,0x3A7B}, + [I(107,122)] = {14,0x3AFB}, + [I(108,122)] = {13,0x147B}, + [I(109,122)] = {13,0x14FB}, + [I(110,122)] = {13,0x157B}, + [I(111,122)] = {12,0x3FB}, + [I(112,122)] = {13,0x15FB}, + [I(113,122)] = {14,0x3B7B}, + [I(114,122)] = {13,0x167B}, + [I(115,122)] = {12,0x47B}, + [I(116,122)] = {12,0x4FB}, + [I(117,122)] = {13,0x16FB}, + [I(118,122)] = {14,0x3BFB}, + [I(119,122)] = {14,0x3C7B}, + [I(120,122)] = {14,0x3CFB}, + [I(121,122)] = {14,0x3D7B}, + [I(122,122)] = {14,0x3DFB}, + [I(123,122)] = {22,0x3FFF7B}, + [I(124,122)] = {18,0x3FE7B}, + [I(125,122)] = {21,0x1FFEFB}, + [I(126,122)] = {20,0xFFEFB}, + [I(127,122)] = {64,0}, + [I(128,122)] = {27,0x7FFF37B}, + [I(129,122)] = {29,0x1FFFE97B}, + [I(130,122)] = {27,0x7FFF3FB}, + [I(131,122)] = {27,0x7FFF47B}, + [I(132,122)] = {29,0x1FFFE9FB}, + [I(133,122)] = {29,0x1FFFEA7B}, + [I(134,122)] = {29,0x1FFFEAFB}, + [I(135,122)] = {30,0x3FFFECFB}, + [I(136,122)] = {29,0x1FFFEB7B}, + [I(137,122)] = {30,0x3FFFED7B}, + [I(138,122)] = {30,0x3FFFEDFB}, + [I(139,122)] = {30,0x3FFFEE7B}, + [I(140,122)] = {30,0x3FFFEEFB}, + [I(141,122)] = {30,0x3FFFEF7B}, + [I(142,122)] = {31,0x7FFFF5FB}, + [I(143,122)] = {30,0x3FFFEFFB}, + [I(144,122)] = {31,0x7FFFF67B}, + [I(145,122)] = {31,0x7FFFF6FB}, + [I(146,122)] = {29,0x1FFFEBFB}, + [I(147,122)] = {30,0x3FFFF07B}, + [I(148,122)] = {31,0x7FFFF77B}, + [I(149,122)] = {30,0x3FFFF0FB}, + [I(150,122)] = {30,0x3FFFF17B}, + [I(151,122)] = {30,0x3FFFF1FB}, + [I(152,122)] = {30,0x3FFFF27B}, + [I(153,122)] = {28,0xFFFEE7B}, + [I(154,122)] = {29,0x1FFFEC7B}, + [I(155,122)] = {30,0x3FFFF2FB}, + [I(156,122)] = {29,0x1FFFECFB}, + [I(157,122)] = {30,0x3FFFF37B}, + [I(158,122)] = {30,0x3FFFF3FB}, + [I(159,122)] = {31,0x7FFFF7FB}, + [I(160,122)] = {29,0x1FFFED7B}, + [I(161,122)] = {28,0xFFFEEFB}, + [I(162,122)] = {27,0x7FFF4FB}, + [I(163,122)] = {29,0x1FFFEDFB}, + [I(164,122)] = {29,0x1FFFEE7B}, + [I(165,122)] = {30,0x3FFFF47B}, + [I(166,122)] = {30,0x3FFFF4FB}, + [I(167,122)] = {28,0xFFFEF7B}, + [I(168,122)] = {30,0x3FFFF57B}, + [I(169,122)] = {29,0x1FFFEEFB}, + [I(170,122)] = {29,0x1FFFEF7B}, + [I(171,122)] = {31,0x7FFFF87B}, + [I(172,122)] = {28,0xFFFEFFB}, + [I(173,122)] = {29,0x1FFFEFFB}, + [I(174,122)] = {30,0x3FFFF5FB}, + [I(175,122)] = {30,0x3FFFF67B}, + [I(176,122)] = {28,0xFFFF07B}, + [I(177,122)] = {28,0xFFFF0FB}, + [I(178,122)] = {29,0x1FFFF07B}, + [I(179,122)] = {28,0xFFFF17B}, + [I(180,122)] = {30,0x3FFFF6FB}, + [I(181,122)] = {29,0x1FFFF0FB}, + [I(182,122)] = {30,0x3FFFF77B}, + [I(183,122)] = {30,0x3FFFF7FB}, + [I(184,122)] = {27,0x7FFF57B}, + [I(185,122)] = {29,0x1FFFF17B}, + [I(186,122)] = {29,0x1FFFF1FB}, + [I(187,122)] = {29,0x1FFFF27B}, + [I(188,122)] = {30,0x3FFFF87B}, + [I(189,122)] = {29,0x1FFFF2FB}, + [I(190,122)] = {29,0x1FFFF37B}, + [I(191,122)] = {30,0x3FFFF8FB}, + [I(192,122)] = {64,0}, + [I(193,122)] = {64,0}, + [I(194,122)] = {27,0x7FFF5FB}, + [I(195,122)] = {26,0x3FFF8FB}, + [I(196,122)] = {29,0x1FFFF3FB}, + [I(197,122)] = {30,0x3FFFF97B}, + [I(198,122)] = {29,0x1FFFF47B}, + [I(199,122)] = {X32,0xFFFFF67B}, + [I(200,122)] = {64,0}, + [I(201,122)] = {64,0}, + [I(202,122)] = {64,0}, + [I(203,122)] = {64,0}, + [I(204,122)] = {64,0}, + [I(205,122)] = {64,0}, + [I(206,122)] = {31,0x7FFFF8FB}, + [I(207,122)] = {X32,0xFFFFF6FB}, + [I(208,122)] = {26,0x3FFF97B}, + [I(209,122)] = {28,0xFFFF1FB}, + [I(210,122)] = {64,0}, + [I(211,122)] = {64,0}, + [I(212,122)] = {64,0}, + [I(213,122)] = {64,0}, + [I(214,122)] = {64,0}, + [I(215,122)] = {31,0x7FFFF97B}, + [I(216,122)] = {28,0xFFFF27B}, + [I(217,122)] = {28,0xFFFF2FB}, + [I(218,122)] = {64,0}, + [I(219,122)] = {64,0}, + [I(220,122)] = {64,0}, + [I(221,122)] = {64,0}, + [I(222,122)] = {64,0}, + [I(223,122)] = {64,0}, + [I(224,122)] = {27,0x7FFF67B}, + [I(225,122)] = {31,0x7FFFF9FB}, + [I(226,122)] = {27,0x7FFF6FB}, + [I(227,122)] = {28,0xFFFF37B}, + [I(228,122)] = {29,0x1FFFF4FB}, + [I(229,122)] = {28,0xFFFF3FB}, + [I(230,122)] = {28,0xFFFF47B}, + [I(231,122)] = {30,0x3FFFF9FB}, + [I(232,122)] = {29,0x1FFFF57B}, + [I(233,122)] = {29,0x1FFFF5FB}, + [I(234,122)] = {X32,0xFFFFF77B}, + [I(235,122)] = {X32,0xFFFFF7FB}, + [I(236,122)] = {31,0x7FFFFA7B}, + [I(237,122)] = {31,0x7FFFFAFB}, + [I(238,122)] = {64,0}, + [I(239,122)] = {30,0x3FFFFA7B}, + [I(240,122)] = {64,0}, + [I(241,122)] = {64,0}, + [I(242,122)] = {64,0}, + [I(243,122)] = {64,0}, + [I(244,122)] = {64,0}, + [I(245,122)] = {64,0}, + [I(246,122)] = {64,0}, + [I(247,122)] = {64,0}, + [I(248,122)] = {64,0}, + [I(249,122)] = {64,0}, + [I(250,122)] = {64,0}, + [I(251,122)] = {64,0}, + [I(252,122)] = {64,0}, + [I(253,122)] = {64,0}, + [I(254,122)] = {64,0}, + [I(255,122)] = {64,0}, + [I(0,123)] = {28,0xFFC7FFE}, + [I(1,123)] = {64,0}, + [I(2,123)] = {64,0}, + [I(3,123)] = {64,0}, + [I(4,123)] = {64,0}, + [I(5,123)] = {64,0}, + [I(6,123)] = {64,0}, + [I(7,123)] = {64,0}, + [I(8,123)] = {64,0}, + [I(9,123)] = {64,0}, + [I(10,123)] = {64,0}, + [I(11,123)] = {64,0}, + [I(12,123)] = {64,0}, + [I(13,123)] = {64,0}, + [I(14,123)] = {64,0}, + [I(15,123)] = {64,0}, + [I(16,123)] = {64,0}, + [I(17,123)] = {64,0}, + [I(18,123)] = {64,0}, + [I(19,123)] = {64,0}, + [I(20,123)] = {64,0}, + [I(21,123)] = {64,0}, + [I(22,123)] = {64,0}, + [I(23,123)] = {64,0}, + [I(24,123)] = {64,0}, + [I(25,123)] = {64,0}, + [I(26,123)] = {64,0}, + [I(27,123)] = {64,0}, + [I(28,123)] = {64,0}, + [I(29,123)] = {64,0}, + [I(30,123)] = {64,0}, + [I(31,123)] = {64,0}, + [I(32,123)] = {21,0xA7FFE}, + [I(33,123)] = {25,0x1FC7FFE}, + [I(34,123)] = {25,0x1FCFFFE}, + [I(35,123)] = {27,0x7FD7FFE}, + [I(36,123)] = {28,0xFFCFFFE}, + [I(37,123)] = {21,0xAFFFE}, + [I(38,123)] = {23,0x7C7FFE}, + [I(39,123)] = {26,0x3FD7FFE}, + [I(40,123)] = {25,0x1FD7FFE}, + [I(41,123)] = {25,0x1FDFFFE}, + [I(42,123)] = {23,0x7CFFFE}, + [I(43,123)] = {26,0x3FDFFFE}, + [I(44,123)] = {23,0x7D7FFE}, + [I(45,123)] = {21,0xB7FFE}, + [I(46,123)] = {21,0xBFFFE}, + [I(47,123)] = {21,0xC7FFE}, + [I(48,123)] = {20,0x7FFE}, + [I(49,123)] = {20,0xFFFE}, + [I(50,123)] = {20,0x17FFE}, + [I(51,123)] = {21,0xCFFFE}, + [I(52,123)] = {21,0xD7FFE}, + [I(53,123)] = {21,0xDFFFE}, + [I(54,123)] = {21,0xE7FFE}, + [I(55,123)] = {21,0xEFFFE}, + [I(56,123)] = {21,0xF7FFE}, + [I(57,123)] = {21,0xFFFFE}, + [I(58,123)] = {22,0x2E7FFE}, + [I(59,123)] = {23,0x7DFFFE}, + [I(60,123)] = {30,0x3FFE7FFE}, + [I(61,123)] = {21,0x107FFE}, + [I(62,123)] = {27,0x7FDFFFE}, + [I(63,123)] = {25,0x1FE7FFE}, + [I(64,123)] = {28,0xFFD7FFE}, + [I(65,123)] = {21,0x10FFFE}, + [I(66,123)] = {22,0x2EFFFE}, + [I(67,123)] = {22,0x2F7FFE}, + [I(68,123)] = {22,0x2FFFFE}, + [I(69,123)] = {22,0x307FFE}, + [I(70,123)] = {22,0x30FFFE}, + [I(71,123)] = {22,0x317FFE}, + [I(72,123)] = {22,0x31FFFE}, + [I(73,123)] = {22,0x327FFE}, + [I(74,123)] = {22,0x32FFFE}, + [I(75,123)] = {22,0x337FFE}, + [I(76,123)] = {22,0x33FFFE}, + [I(77,123)] = {22,0x347FFE}, + [I(78,123)] = {22,0x34FFFE}, + [I(79,123)] = {22,0x357FFE}, + [I(80,123)] = {22,0x35FFFE}, + [I(81,123)] = {22,0x367FFE}, + [I(82,123)] = {22,0x36FFFE}, + [I(83,123)] = {22,0x377FFE}, + [I(84,123)] = {22,0x37FFFE}, + [I(85,123)] = {22,0x387FFE}, + [I(86,123)] = {22,0x38FFFE}, + [I(87,123)] = {22,0x397FFE}, + [I(88,123)] = {23,0x7E7FFE}, + [I(89,123)] = {22,0x39FFFE}, + [I(90,123)] = {23,0x7EFFFE}, + [I(91,123)] = {28,0xFFDFFFE}, + [I(92,123)] = {64,0}, + [I(93,123)] = {28,0xFFE7FFE}, + [I(94,123)] = {29,0x1FFE7FFE}, + [I(95,123)] = {21,0x117FFE}, + [I(96,123)] = {30,0x3FFEFFFE}, + [I(97,123)] = {20,0x1FFFE}, + [I(98,123)] = {21,0x11FFFE}, + [I(99,123)] = {20,0x27FFE}, + [I(100,123)] = {21,0x127FFE}, + [I(101,123)] = {20,0x2FFFE}, + [I(102,123)] = {21,0x12FFFE}, + [I(103,123)] = {21,0x137FFE}, + [I(104,123)] = {21,0x13FFFE}, + [I(105,123)] = {20,0x37FFE}, + [I(106,123)] = {22,0x3A7FFE}, + [I(107,123)] = {22,0x3AFFFE}, + [I(108,123)] = {21,0x147FFE}, + [I(109,123)] = {21,0x14FFFE}, + [I(110,123)] = {21,0x157FFE}, + [I(111,123)] = {20,0x3FFFE}, + [I(112,123)] = {21,0x15FFFE}, + [I(113,123)] = {22,0x3B7FFE}, + [I(114,123)] = {21,0x167FFE}, + [I(115,123)] = {20,0x47FFE}, + [I(116,123)] = {20,0x4FFFE}, + [I(117,123)] = {21,0x16FFFE}, + [I(118,123)] = {22,0x3BFFFE}, + [I(119,123)] = {22,0x3C7FFE}, + [I(120,123)] = {22,0x3CFFFE}, + [I(121,123)] = {22,0x3D7FFE}, + [I(122,123)] = {22,0x3DFFFE}, + [I(123,123)] = {30,0x3FFF7FFE}, + [I(124,123)] = {26,0x3FE7FFE}, + [I(125,123)] = {29,0x1FFEFFFE}, + [I(126,123)] = {28,0xFFEFFFE}, + [I(127,123)] = {64,0}, + [I(128,123)] = {64,0}, + [I(129,123)] = {64,0}, + [I(130,123)] = {64,0}, + [I(131,123)] = {64,0}, + [I(132,123)] = {64,0}, + [I(133,123)] = {64,0}, + [I(134,123)] = {64,0}, + [I(135,123)] = {64,0}, + [I(136,123)] = {64,0}, + [I(137,123)] = {64,0}, + [I(138,123)] = {64,0}, + [I(139,123)] = {64,0}, + [I(140,123)] = {64,0}, + [I(141,123)] = {64,0}, + [I(142,123)] = {64,0}, + [I(143,123)] = {64,0}, + [I(144,123)] = {64,0}, + [I(145,123)] = {64,0}, + [I(146,123)] = {64,0}, + [I(147,123)] = {64,0}, + [I(148,123)] = {64,0}, + [I(149,123)] = {64,0}, + [I(150,123)] = {64,0}, + [I(151,123)] = {64,0}, + [I(152,123)] = {64,0}, + [I(153,123)] = {64,0}, + [I(154,123)] = {64,0}, + [I(155,123)] = {64,0}, + [I(156,123)] = {64,0}, + [I(157,123)] = {64,0}, + [I(158,123)] = {64,0}, + [I(159,123)] = {64,0}, + [I(160,123)] = {64,0}, + [I(161,123)] = {64,0}, + [I(162,123)] = {64,0}, + [I(163,123)] = {64,0}, + [I(164,123)] = {64,0}, + [I(165,123)] = {64,0}, + [I(166,123)] = {64,0}, + [I(167,123)] = {64,0}, + [I(168,123)] = {64,0}, + [I(169,123)] = {64,0}, + [I(170,123)] = {64,0}, + [I(171,123)] = {64,0}, + [I(172,123)] = {64,0}, + [I(173,123)] = {64,0}, + [I(174,123)] = {64,0}, + [I(175,123)] = {64,0}, + [I(176,123)] = {64,0}, + [I(177,123)] = {64,0}, + [I(178,123)] = {64,0}, + [I(179,123)] = {64,0}, + [I(180,123)] = {64,0}, + [I(181,123)] = {64,0}, + [I(182,123)] = {64,0}, + [I(183,123)] = {64,0}, + [I(184,123)] = {64,0}, + [I(185,123)] = {64,0}, + [I(186,123)] = {64,0}, + [I(187,123)] = {64,0}, + [I(188,123)] = {64,0}, + [I(189,123)] = {64,0}, + [I(190,123)] = {64,0}, + [I(191,123)] = {64,0}, + [I(192,123)] = {64,0}, + [I(193,123)] = {64,0}, + [I(194,123)] = {64,0}, + [I(195,123)] = {64,0}, + [I(196,123)] = {64,0}, + [I(197,123)] = {64,0}, + [I(198,123)] = {64,0}, + [I(199,123)] = {64,0}, + [I(200,123)] = {64,0}, + [I(201,123)] = {64,0}, + [I(202,123)] = {64,0}, + [I(203,123)] = {64,0}, + [I(204,123)] = {64,0}, + [I(205,123)] = {64,0}, + [I(206,123)] = {64,0}, + [I(207,123)] = {64,0}, + [I(208,123)] = {64,0}, + [I(209,123)] = {64,0}, + [I(210,123)] = {64,0}, + [I(211,123)] = {64,0}, + [I(212,123)] = {64,0}, + [I(213,123)] = {64,0}, + [I(214,123)] = {64,0}, + [I(215,123)] = {64,0}, + [I(216,123)] = {64,0}, + [I(217,123)] = {64,0}, + [I(218,123)] = {64,0}, + [I(219,123)] = {64,0}, + [I(220,123)] = {64,0}, + [I(221,123)] = {64,0}, + [I(222,123)] = {64,0}, + [I(223,123)] = {64,0}, + [I(224,123)] = {64,0}, + [I(225,123)] = {64,0}, + [I(226,123)] = {64,0}, + [I(227,123)] = {64,0}, + [I(228,123)] = {64,0}, + [I(229,123)] = {64,0}, + [I(230,123)] = {64,0}, + [I(231,123)] = {64,0}, + [I(232,123)] = {64,0}, + [I(233,123)] = {64,0}, + [I(234,123)] = {64,0}, + [I(235,123)] = {64,0}, + [I(236,123)] = {64,0}, + [I(237,123)] = {64,0}, + [I(238,123)] = {64,0}, + [I(239,123)] = {64,0}, + [I(240,123)] = {64,0}, + [I(241,123)] = {64,0}, + [I(242,123)] = {64,0}, + [I(243,123)] = {64,0}, + [I(244,123)] = {64,0}, + [I(245,123)] = {64,0}, + [I(246,123)] = {64,0}, + [I(247,123)] = {64,0}, + [I(248,123)] = {64,0}, + [I(249,123)] = {64,0}, + [I(250,123)] = {64,0}, + [I(251,123)] = {64,0}, + [I(252,123)] = {64,0}, + [I(253,123)] = {64,0}, + [I(254,123)] = {64,0}, + [I(255,123)] = {64,0}, + [I(0,124)] = {24,0xFFC7FC}, + [I(1,124)] = {64,0}, + [I(2,124)] = {64,0}, + [I(3,124)] = {64,0}, + [I(4,124)] = {64,0}, + [I(5,124)] = {64,0}, + [I(6,124)] = {64,0}, + [I(7,124)] = {64,0}, + [I(8,124)] = {64,0}, + [I(9,124)] = {64,0}, + [I(10,124)] = {64,0}, + [I(11,124)] = {64,0}, + [I(12,124)] = {64,0}, + [I(13,124)] = {64,0}, + [I(14,124)] = {64,0}, + [I(15,124)] = {64,0}, + [I(16,124)] = {64,0}, + [I(17,124)] = {64,0}, + [I(18,124)] = {64,0}, + [I(19,124)] = {64,0}, + [I(20,124)] = {64,0}, + [I(21,124)] = {64,0}, + [I(22,124)] = {64,0}, + [I(23,124)] = {64,0}, + [I(24,124)] = {64,0}, + [I(25,124)] = {64,0}, + [I(26,124)] = {64,0}, + [I(27,124)] = {64,0}, + [I(28,124)] = {64,0}, + [I(29,124)] = {64,0}, + [I(30,124)] = {64,0}, + [I(31,124)] = {64,0}, + [I(32,124)] = {17,0xA7FC}, + [I(33,124)] = {21,0x1FC7FC}, + [I(34,124)] = {21,0x1FCFFC}, + [I(35,124)] = {23,0x7FD7FC}, + [I(36,124)] = {24,0xFFCFFC}, + [I(37,124)] = {17,0xAFFC}, + [I(38,124)] = {19,0x7C7FC}, + [I(39,124)] = {22,0x3FD7FC}, + [I(40,124)] = {21,0x1FD7FC}, + [I(41,124)] = {21,0x1FDFFC}, + [I(42,124)] = {19,0x7CFFC}, + [I(43,124)] = {22,0x3FDFFC}, + [I(44,124)] = {19,0x7D7FC}, + [I(45,124)] = {17,0xB7FC}, + [I(46,124)] = {17,0xBFFC}, + [I(47,124)] = {17,0xC7FC}, + [I(48,124)] = {16,0x7FC}, + [I(49,124)] = {16,0xFFC}, + [I(50,124)] = {16,0x17FC}, + [I(51,124)] = {17,0xCFFC}, + [I(52,124)] = {17,0xD7FC}, + [I(53,124)] = {17,0xDFFC}, + [I(54,124)] = {17,0xE7FC}, + [I(55,124)] = {17,0xEFFC}, + [I(56,124)] = {17,0xF7FC}, + [I(57,124)] = {17,0xFFFC}, + [I(58,124)] = {18,0x2E7FC}, + [I(59,124)] = {19,0x7DFFC}, + [I(60,124)] = {26,0x3FFE7FC}, + [I(61,124)] = {17,0x107FC}, + [I(62,124)] = {23,0x7FDFFC}, + [I(63,124)] = {21,0x1FE7FC}, + [I(64,124)] = {24,0xFFD7FC}, + [I(65,124)] = {17,0x10FFC}, + [I(66,124)] = {18,0x2EFFC}, + [I(67,124)] = {18,0x2F7FC}, + [I(68,124)] = {18,0x2FFFC}, + [I(69,124)] = {18,0x307FC}, + [I(70,124)] = {18,0x30FFC}, + [I(71,124)] = {18,0x317FC}, + [I(72,124)] = {18,0x31FFC}, + [I(73,124)] = {18,0x327FC}, + [I(74,124)] = {18,0x32FFC}, + [I(75,124)] = {18,0x337FC}, + [I(76,124)] = {18,0x33FFC}, + [I(77,124)] = {18,0x347FC}, + [I(78,124)] = {18,0x34FFC}, + [I(79,124)] = {18,0x357FC}, + [I(80,124)] = {18,0x35FFC}, + [I(81,124)] = {18,0x367FC}, + [I(82,124)] = {18,0x36FFC}, + [I(83,124)] = {18,0x377FC}, + [I(84,124)] = {18,0x37FFC}, + [I(85,124)] = {18,0x387FC}, + [I(86,124)] = {18,0x38FFC}, + [I(87,124)] = {18,0x397FC}, + [I(88,124)] = {19,0x7E7FC}, + [I(89,124)] = {18,0x39FFC}, + [I(90,124)] = {19,0x7EFFC}, + [I(91,124)] = {24,0xFFDFFC}, + [I(92,124)] = {30,0x3FFF87FC}, + [I(93,124)] = {24,0xFFE7FC}, + [I(94,124)] = {25,0x1FFE7FC}, + [I(95,124)] = {17,0x117FC}, + [I(96,124)] = {26,0x3FFEFFC}, + [I(97,124)] = {16,0x1FFC}, + [I(98,124)] = {17,0x11FFC}, + [I(99,124)] = {16,0x27FC}, + [I(100,124)] = {17,0x127FC}, + [I(101,124)] = {16,0x2FFC}, + [I(102,124)] = {17,0x12FFC}, + [I(103,124)] = {17,0x137FC}, + [I(104,124)] = {17,0x13FFC}, + [I(105,124)] = {16,0x37FC}, + [I(106,124)] = {18,0x3A7FC}, + [I(107,124)] = {18,0x3AFFC}, + [I(108,124)] = {17,0x147FC}, + [I(109,124)] = {17,0x14FFC}, + [I(110,124)] = {17,0x157FC}, + [I(111,124)] = {16,0x3FFC}, + [I(112,124)] = {17,0x15FFC}, + [I(113,124)] = {18,0x3B7FC}, + [I(114,124)] = {17,0x167FC}, + [I(115,124)] = {16,0x47FC}, + [I(116,124)] = {16,0x4FFC}, + [I(117,124)] = {17,0x16FFC}, + [I(118,124)] = {18,0x3BFFC}, + [I(119,124)] = {18,0x3C7FC}, + [I(120,124)] = {18,0x3CFFC}, + [I(121,124)] = {18,0x3D7FC}, + [I(122,124)] = {18,0x3DFFC}, + [I(123,124)] = {26,0x3FFF7FC}, + [I(124,124)] = {22,0x3FE7FC}, + [I(125,124)] = {25,0x1FFEFFC}, + [I(126,124)] = {24,0xFFEFFC}, + [I(127,124)] = {64,0}, + [I(128,124)] = {31,0x7FFF37FC}, + [I(129,124)] = {64,0}, + [I(130,124)] = {31,0x7FFF3FFC}, + [I(131,124)] = {31,0x7FFF47FC}, + [I(132,124)] = {64,0}, + [I(133,124)] = {64,0}, + [I(134,124)] = {64,0}, + [I(135,124)] = {64,0}, + [I(136,124)] = {64,0}, + [I(137,124)] = {64,0}, + [I(138,124)] = {64,0}, + [I(139,124)] = {64,0}, + [I(140,124)] = {64,0}, + [I(141,124)] = {64,0}, + [I(142,124)] = {64,0}, + [I(143,124)] = {64,0}, + [I(144,124)] = {64,0}, + [I(145,124)] = {64,0}, + [I(146,124)] = {64,0}, + [I(147,124)] = {64,0}, + [I(148,124)] = {64,0}, + [I(149,124)] = {64,0}, + [I(150,124)] = {64,0}, + [I(151,124)] = {64,0}, + [I(152,124)] = {64,0}, + [I(153,124)] = {X32,0xFFFEE7FC}, + [I(154,124)] = {64,0}, + [I(155,124)] = {64,0}, + [I(156,124)] = {64,0}, + [I(157,124)] = {64,0}, + [I(158,124)] = {64,0}, + [I(159,124)] = {64,0}, + [I(160,124)] = {64,0}, + [I(161,124)] = {X32,0xFFFEEFFC}, + [I(162,124)] = {31,0x7FFF4FFC}, + [I(163,124)] = {64,0}, + [I(164,124)] = {64,0}, + [I(165,124)] = {64,0}, + [I(166,124)] = {64,0}, + [I(167,124)] = {X32,0xFFFEF7FC}, + [I(168,124)] = {64,0}, + [I(169,124)] = {64,0}, + [I(170,124)] = {64,0}, + [I(171,124)] = {64,0}, + [I(172,124)] = {X32,0xFFFEFFFC}, + [I(173,124)] = {64,0}, + [I(174,124)] = {64,0}, + [I(175,124)] = {64,0}, + [I(176,124)] = {X32,0xFFFF07FC}, + [I(177,124)] = {X32,0xFFFF0FFC}, + [I(178,124)] = {64,0}, + [I(179,124)] = {X32,0xFFFF17FC}, + [I(180,124)] = {64,0}, + [I(181,124)] = {64,0}, + [I(182,124)] = {64,0}, + [I(183,124)] = {64,0}, + [I(184,124)] = {31,0x7FFF57FC}, + [I(185,124)] = {64,0}, + [I(186,124)] = {64,0}, + [I(187,124)] = {64,0}, + [I(188,124)] = {64,0}, + [I(189,124)] = {64,0}, + [I(190,124)] = {64,0}, + [I(191,124)] = {64,0}, + [I(192,124)] = {64,0}, + [I(193,124)] = {64,0}, + [I(194,124)] = {31,0x7FFF5FFC}, + [I(195,124)] = {30,0x3FFF8FFC}, + [I(196,124)] = {64,0}, + [I(197,124)] = {64,0}, + [I(198,124)] = {64,0}, + [I(199,124)] = {64,0}, + [I(200,124)] = {64,0}, + [I(201,124)] = {64,0}, + [I(202,124)] = {64,0}, + [I(203,124)] = {64,0}, + [I(204,124)] = {64,0}, + [I(205,124)] = {64,0}, + [I(206,124)] = {64,0}, + [I(207,124)] = {64,0}, + [I(208,124)] = {30,0x3FFF97FC}, + [I(209,124)] = {X32,0xFFFF1FFC}, + [I(210,124)] = {64,0}, + [I(211,124)] = {64,0}, + [I(212,124)] = {64,0}, + [I(213,124)] = {64,0}, + [I(214,124)] = {64,0}, + [I(215,124)] = {64,0}, + [I(216,124)] = {X32,0xFFFF27FC}, + [I(217,124)] = {X32,0xFFFF2FFC}, + [I(218,124)] = {64,0}, + [I(219,124)] = {64,0}, + [I(220,124)] = {64,0}, + [I(221,124)] = {64,0}, + [I(222,124)] = {64,0}, + [I(223,124)] = {64,0}, + [I(224,124)] = {31,0x7FFF67FC}, + [I(225,124)] = {64,0}, + [I(226,124)] = {31,0x7FFF6FFC}, + [I(227,124)] = {X32,0xFFFF37FC}, + [I(228,124)] = {64,0}, + [I(229,124)] = {X32,0xFFFF3FFC}, + [I(230,124)] = {X32,0xFFFF47FC}, + [I(231,124)] = {64,0}, + [I(232,124)] = {64,0}, + [I(233,124)] = {64,0}, + [I(234,124)] = {64,0}, + [I(235,124)] = {64,0}, + [I(236,124)] = {64,0}, + [I(237,124)] = {64,0}, + [I(238,124)] = {64,0}, + [I(239,124)] = {64,0}, + [I(240,124)] = {64,0}, + [I(241,124)] = {64,0}, + [I(242,124)] = {64,0}, + [I(243,124)] = {64,0}, + [I(244,124)] = {64,0}, + [I(245,124)] = {64,0}, + [I(246,124)] = {64,0}, + [I(247,124)] = {64,0}, + [I(248,124)] = {64,0}, + [I(249,124)] = {64,0}, + [I(250,124)] = {64,0}, + [I(251,124)] = {64,0}, + [I(252,124)] = {64,0}, + [I(253,124)] = {64,0}, + [I(254,124)] = {64,0}, + [I(255,124)] = {64,0}, + [I(0,125)] = {27,0x7FE3FFD}, + [I(1,125)] = {64,0}, + [I(2,125)] = {64,0}, + [I(3,125)] = {64,0}, + [I(4,125)] = {64,0}, + [I(5,125)] = {64,0}, + [I(6,125)] = {64,0}, + [I(7,125)] = {64,0}, + [I(8,125)] = {64,0}, + [I(9,125)] = {64,0}, + [I(10,125)] = {64,0}, + [I(11,125)] = {64,0}, + [I(12,125)] = {64,0}, + [I(13,125)] = {64,0}, + [I(14,125)] = {64,0}, + [I(15,125)] = {64,0}, + [I(16,125)] = {64,0}, + [I(17,125)] = {64,0}, + [I(18,125)] = {64,0}, + [I(19,125)] = {64,0}, + [I(20,125)] = {64,0}, + [I(21,125)] = {64,0}, + [I(22,125)] = {64,0}, + [I(23,125)] = {64,0}, + [I(24,125)] = {64,0}, + [I(25,125)] = {64,0}, + [I(26,125)] = {64,0}, + [I(27,125)] = {64,0}, + [I(28,125)] = {64,0}, + [I(29,125)] = {64,0}, + [I(30,125)] = {64,0}, + [I(31,125)] = {64,0}, + [I(32,125)] = {20,0x53FFD}, + [I(33,125)] = {24,0xFE3FFD}, + [I(34,125)] = {24,0xFE7FFD}, + [I(35,125)] = {26,0x3FEBFFD}, + [I(36,125)] = {27,0x7FE7FFD}, + [I(37,125)] = {20,0x57FFD}, + [I(38,125)] = {22,0x3E3FFD}, + [I(39,125)] = {25,0x1FEBFFD}, + [I(40,125)] = {24,0xFEBFFD}, + [I(41,125)] = {24,0xFEFFFD}, + [I(42,125)] = {22,0x3E7FFD}, + [I(43,125)] = {25,0x1FEFFFD}, + [I(44,125)] = {22,0x3EBFFD}, + [I(45,125)] = {20,0x5BFFD}, + [I(46,125)] = {20,0x5FFFD}, + [I(47,125)] = {20,0x63FFD}, + [I(48,125)] = {19,0x3FFD}, + [I(49,125)] = {19,0x7FFD}, + [I(50,125)] = {19,0xBFFD}, + [I(51,125)] = {20,0x67FFD}, + [I(52,125)] = {20,0x6BFFD}, + [I(53,125)] = {20,0x6FFFD}, + [I(54,125)] = {20,0x73FFD}, + [I(55,125)] = {20,0x77FFD}, + [I(56,125)] = {20,0x7BFFD}, + [I(57,125)] = {20,0x7FFFD}, + [I(58,125)] = {21,0x173FFD}, + [I(59,125)] = {22,0x3EFFFD}, + [I(60,125)] = {29,0x1FFF3FFD}, + [I(61,125)] = {20,0x83FFD}, + [I(62,125)] = {26,0x3FEFFFD}, + [I(63,125)] = {24,0xFF3FFD}, + [I(64,125)] = {27,0x7FEBFFD}, + [I(65,125)] = {20,0x87FFD}, + [I(66,125)] = {21,0x177FFD}, + [I(67,125)] = {21,0x17BFFD}, + [I(68,125)] = {21,0x17FFFD}, + [I(69,125)] = {21,0x183FFD}, + [I(70,125)] = {21,0x187FFD}, + [I(71,125)] = {21,0x18BFFD}, + [I(72,125)] = {21,0x18FFFD}, + [I(73,125)] = {21,0x193FFD}, + [I(74,125)] = {21,0x197FFD}, + [I(75,125)] = {21,0x19BFFD}, + [I(76,125)] = {21,0x19FFFD}, + [I(77,125)] = {21,0x1A3FFD}, + [I(78,125)] = {21,0x1A7FFD}, + [I(79,125)] = {21,0x1ABFFD}, + [I(80,125)] = {21,0x1AFFFD}, + [I(81,125)] = {21,0x1B3FFD}, + [I(82,125)] = {21,0x1B7FFD}, + [I(83,125)] = {21,0x1BBFFD}, + [I(84,125)] = {21,0x1BFFFD}, + [I(85,125)] = {21,0x1C3FFD}, + [I(86,125)] = {21,0x1C7FFD}, + [I(87,125)] = {21,0x1CBFFD}, + [I(88,125)] = {22,0x3F3FFD}, + [I(89,125)] = {21,0x1CFFFD}, + [I(90,125)] = {22,0x3F7FFD}, + [I(91,125)] = {27,0x7FEFFFD}, + [I(92,125)] = {64,0}, + [I(93,125)] = {27,0x7FF3FFD}, + [I(94,125)] = {28,0xFFF3FFD}, + [I(95,125)] = {20,0x8BFFD}, + [I(96,125)] = {29,0x1FFF7FFD}, + [I(97,125)] = {19,0xFFFD}, + [I(98,125)] = {20,0x8FFFD}, + [I(99,125)] = {19,0x13FFD}, + [I(100,125)] = {20,0x93FFD}, + [I(101,125)] = {19,0x17FFD}, + [I(102,125)] = {20,0x97FFD}, + [I(103,125)] = {20,0x9BFFD}, + [I(104,125)] = {20,0x9FFFD}, + [I(105,125)] = {19,0x1BFFD}, + [I(106,125)] = {21,0x1D3FFD}, + [I(107,125)] = {21,0x1D7FFD}, + [I(108,125)] = {20,0xA3FFD}, + [I(109,125)] = {20,0xA7FFD}, + [I(110,125)] = {20,0xABFFD}, + [I(111,125)] = {19,0x1FFFD}, + [I(112,125)] = {20,0xAFFFD}, + [I(113,125)] = {21,0x1DBFFD}, + [I(114,125)] = {20,0xB3FFD}, + [I(115,125)] = {19,0x23FFD}, + [I(116,125)] = {19,0x27FFD}, + [I(117,125)] = {20,0xB7FFD}, + [I(118,125)] = {21,0x1DFFFD}, + [I(119,125)] = {21,0x1E3FFD}, + [I(120,125)] = {21,0x1E7FFD}, + [I(121,125)] = {21,0x1EBFFD}, + [I(122,125)] = {21,0x1EFFFD}, + [I(123,125)] = {29,0x1FFFBFFD}, + [I(124,125)] = {25,0x1FF3FFD}, + [I(125,125)] = {28,0xFFF7FFD}, + [I(126,125)] = {27,0x7FF7FFD}, + [I(127,125)] = {64,0}, + [I(128,125)] = {64,0}, + [I(129,125)] = {64,0}, + [I(130,125)] = {64,0}, + [I(131,125)] = {64,0}, + [I(132,125)] = {64,0}, + [I(133,125)] = {64,0}, + [I(134,125)] = {64,0}, + [I(135,125)] = {64,0}, + [I(136,125)] = {64,0}, + [I(137,125)] = {64,0}, + [I(138,125)] = {64,0}, + [I(139,125)] = {64,0}, + [I(140,125)] = {64,0}, + [I(141,125)] = {64,0}, + [I(142,125)] = {64,0}, + [I(143,125)] = {64,0}, + [I(144,125)] = {64,0}, + [I(145,125)] = {64,0}, + [I(146,125)] = {64,0}, + [I(147,125)] = {64,0}, + [I(148,125)] = {64,0}, + [I(149,125)] = {64,0}, + [I(150,125)] = {64,0}, + [I(151,125)] = {64,0}, + [I(152,125)] = {64,0}, + [I(153,125)] = {64,0}, + [I(154,125)] = {64,0}, + [I(155,125)] = {64,0}, + [I(156,125)] = {64,0}, + [I(157,125)] = {64,0}, + [I(158,125)] = {64,0}, + [I(159,125)] = {64,0}, + [I(160,125)] = {64,0}, + [I(161,125)] = {64,0}, + [I(162,125)] = {64,0}, + [I(163,125)] = {64,0}, + [I(164,125)] = {64,0}, + [I(165,125)] = {64,0}, + [I(166,125)] = {64,0}, + [I(167,125)] = {64,0}, + [I(168,125)] = {64,0}, + [I(169,125)] = {64,0}, + [I(170,125)] = {64,0}, + [I(171,125)] = {64,0}, + [I(172,125)] = {64,0}, + [I(173,125)] = {64,0}, + [I(174,125)] = {64,0}, + [I(175,125)] = {64,0}, + [I(176,125)] = {64,0}, + [I(177,125)] = {64,0}, + [I(178,125)] = {64,0}, + [I(179,125)] = {64,0}, + [I(180,125)] = {64,0}, + [I(181,125)] = {64,0}, + [I(182,125)] = {64,0}, + [I(183,125)] = {64,0}, + [I(184,125)] = {64,0}, + [I(185,125)] = {64,0}, + [I(186,125)] = {64,0}, + [I(187,125)] = {64,0}, + [I(188,125)] = {64,0}, + [I(189,125)] = {64,0}, + [I(190,125)] = {64,0}, + [I(191,125)] = {64,0}, + [I(192,125)] = {64,0}, + [I(193,125)] = {64,0}, + [I(194,125)] = {64,0}, + [I(195,125)] = {64,0}, + [I(196,125)] = {64,0}, + [I(197,125)] = {64,0}, + [I(198,125)] = {64,0}, + [I(199,125)] = {64,0}, + [I(200,125)] = {64,0}, + [I(201,125)] = {64,0}, + [I(202,125)] = {64,0}, + [I(203,125)] = {64,0}, + [I(204,125)] = {64,0}, + [I(205,125)] = {64,0}, + [I(206,125)] = {64,0}, + [I(207,125)] = {64,0}, + [I(208,125)] = {64,0}, + [I(209,125)] = {64,0}, + [I(210,125)] = {64,0}, + [I(211,125)] = {64,0}, + [I(212,125)] = {64,0}, + [I(213,125)] = {64,0}, + [I(214,125)] = {64,0}, + [I(215,125)] = {64,0}, + [I(216,125)] = {64,0}, + [I(217,125)] = {64,0}, + [I(218,125)] = {64,0}, + [I(219,125)] = {64,0}, + [I(220,125)] = {64,0}, + [I(221,125)] = {64,0}, + [I(222,125)] = {64,0}, + [I(223,125)] = {64,0}, + [I(224,125)] = {64,0}, + [I(225,125)] = {64,0}, + [I(226,125)] = {64,0}, + [I(227,125)] = {64,0}, + [I(228,125)] = {64,0}, + [I(229,125)] = {64,0}, + [I(230,125)] = {64,0}, + [I(231,125)] = {64,0}, + [I(232,125)] = {64,0}, + [I(233,125)] = {64,0}, + [I(234,125)] = {64,0}, + [I(235,125)] = {64,0}, + [I(236,125)] = {64,0}, + [I(237,125)] = {64,0}, + [I(238,125)] = {64,0}, + [I(239,125)] = {64,0}, + [I(240,125)] = {64,0}, + [I(241,125)] = {64,0}, + [I(242,125)] = {64,0}, + [I(243,125)] = {64,0}, + [I(244,125)] = {64,0}, + [I(245,125)] = {64,0}, + [I(246,125)] = {64,0}, + [I(247,125)] = {64,0}, + [I(248,125)] = {64,0}, + [I(249,125)] = {64,0}, + [I(250,125)] = {64,0}, + [I(251,125)] = {64,0}, + [I(252,125)] = {64,0}, + [I(253,125)] = {64,0}, + [I(254,125)] = {64,0}, + [I(255,125)] = {64,0}, + [I(0,126)] = {26,0x3FF1FFD}, + [I(1,126)] = {64,0}, + [I(2,126)] = {64,0}, + [I(3,126)] = {64,0}, + [I(4,126)] = {64,0}, + [I(5,126)] = {64,0}, + [I(6,126)] = {64,0}, + [I(7,126)] = {64,0}, + [I(8,126)] = {64,0}, + [I(9,126)] = {64,0}, + [I(10,126)] = {64,0}, + [I(11,126)] = {64,0}, + [I(12,126)] = {64,0}, + [I(13,126)] = {64,0}, + [I(14,126)] = {64,0}, + [I(15,126)] = {64,0}, + [I(16,126)] = {64,0}, + [I(17,126)] = {64,0}, + [I(18,126)] = {64,0}, + [I(19,126)] = {64,0}, + [I(20,126)] = {64,0}, + [I(21,126)] = {64,0}, + [I(22,126)] = {64,0}, + [I(23,126)] = {64,0}, + [I(24,126)] = {64,0}, + [I(25,126)] = {64,0}, + [I(26,126)] = {64,0}, + [I(27,126)] = {64,0}, + [I(28,126)] = {64,0}, + [I(29,126)] = {64,0}, + [I(30,126)] = {64,0}, + [I(31,126)] = {64,0}, + [I(32,126)] = {19,0x29FFD}, + [I(33,126)] = {23,0x7F1FFD}, + [I(34,126)] = {23,0x7F3FFD}, + [I(35,126)] = {25,0x1FF5FFD}, + [I(36,126)] = {26,0x3FF3FFD}, + [I(37,126)] = {19,0x2BFFD}, + [I(38,126)] = {21,0x1F1FFD}, + [I(39,126)] = {24,0xFF5FFD}, + [I(40,126)] = {23,0x7F5FFD}, + [I(41,126)] = {23,0x7F7FFD}, + [I(42,126)] = {21,0x1F3FFD}, + [I(43,126)] = {24,0xFF7FFD}, + [I(44,126)] = {21,0x1F5FFD}, + [I(45,126)] = {19,0x2DFFD}, + [I(46,126)] = {19,0x2FFFD}, + [I(47,126)] = {19,0x31FFD}, + [I(48,126)] = {18,0x1FFD}, + [I(49,126)] = {18,0x3FFD}, + [I(50,126)] = {18,0x5FFD}, + [I(51,126)] = {19,0x33FFD}, + [I(52,126)] = {19,0x35FFD}, + [I(53,126)] = {19,0x37FFD}, + [I(54,126)] = {19,0x39FFD}, + [I(55,126)] = {19,0x3BFFD}, + [I(56,126)] = {19,0x3DFFD}, + [I(57,126)] = {19,0x3FFFD}, + [I(58,126)] = {20,0xB9FFD}, + [I(59,126)] = {21,0x1F7FFD}, + [I(60,126)] = {28,0xFFF9FFD}, + [I(61,126)] = {19,0x41FFD}, + [I(62,126)] = {25,0x1FF7FFD}, + [I(63,126)] = {23,0x7F9FFD}, + [I(64,126)] = {26,0x3FF5FFD}, + [I(65,126)] = {19,0x43FFD}, + [I(66,126)] = {20,0xBBFFD}, + [I(67,126)] = {20,0xBDFFD}, + [I(68,126)] = {20,0xBFFFD}, + [I(69,126)] = {20,0xC1FFD}, + [I(70,126)] = {20,0xC3FFD}, + [I(71,126)] = {20,0xC5FFD}, + [I(72,126)] = {20,0xC7FFD}, + [I(73,126)] = {20,0xC9FFD}, + [I(74,126)] = {20,0xCBFFD}, + [I(75,126)] = {20,0xCDFFD}, + [I(76,126)] = {20,0xCFFFD}, + [I(77,126)] = {20,0xD1FFD}, + [I(78,126)] = {20,0xD3FFD}, + [I(79,126)] = {20,0xD5FFD}, + [I(80,126)] = {20,0xD7FFD}, + [I(81,126)] = {20,0xD9FFD}, + [I(82,126)] = {20,0xDBFFD}, + [I(83,126)] = {20,0xDDFFD}, + [I(84,126)] = {20,0xDFFFD}, + [I(85,126)] = {20,0xE1FFD}, + [I(86,126)] = {20,0xE3FFD}, + [I(87,126)] = {20,0xE5FFD}, + [I(88,126)] = {21,0x1F9FFD}, + [I(89,126)] = {20,0xE7FFD}, + [I(90,126)] = {21,0x1FBFFD}, + [I(91,126)] = {26,0x3FF7FFD}, + [I(92,126)] = {X32,0xFFFE1FFD}, + [I(93,126)] = {26,0x3FF9FFD}, + [I(94,126)] = {27,0x7FF9FFD}, + [I(95,126)] = {19,0x45FFD}, + [I(96,126)] = {28,0xFFFBFFD}, + [I(97,126)] = {18,0x7FFD}, + [I(98,126)] = {19,0x47FFD}, + [I(99,126)] = {18,0x9FFD}, + [I(100,126)] = {19,0x49FFD}, + [I(101,126)] = {18,0xBFFD}, + [I(102,126)] = {19,0x4BFFD}, + [I(103,126)] = {19,0x4DFFD}, + [I(104,126)] = {19,0x4FFFD}, + [I(105,126)] = {18,0xDFFD}, + [I(106,126)] = {20,0xE9FFD}, + [I(107,126)] = {20,0xEBFFD}, + [I(108,126)] = {19,0x51FFD}, + [I(109,126)] = {19,0x53FFD}, + [I(110,126)] = {19,0x55FFD}, + [I(111,126)] = {18,0xFFFD}, + [I(112,126)] = {19,0x57FFD}, + [I(113,126)] = {20,0xEDFFD}, + [I(114,126)] = {19,0x59FFD}, + [I(115,126)] = {18,0x11FFD}, + [I(116,126)] = {18,0x13FFD}, + [I(117,126)] = {19,0x5BFFD}, + [I(118,126)] = {20,0xEFFFD}, + [I(119,126)] = {20,0xF1FFD}, + [I(120,126)] = {20,0xF3FFD}, + [I(121,126)] = {20,0xF5FFD}, + [I(122,126)] = {20,0xF7FFD}, + [I(123,126)] = {28,0xFFFDFFD}, + [I(124,126)] = {24,0xFF9FFD}, + [I(125,126)] = {27,0x7FFBFFD}, + [I(126,126)] = {26,0x3FFBFFD}, + [I(127,126)] = {64,0}, + [I(128,126)] = {64,0}, + [I(129,126)] = {64,0}, + [I(130,126)] = {64,0}, + [I(131,126)] = {64,0}, + [I(132,126)] = {64,0}, + [I(133,126)] = {64,0}, + [I(134,126)] = {64,0}, + [I(135,126)] = {64,0}, + [I(136,126)] = {64,0}, + [I(137,126)] = {64,0}, + [I(138,126)] = {64,0}, + [I(139,126)] = {64,0}, + [I(140,126)] = {64,0}, + [I(141,126)] = {64,0}, + [I(142,126)] = {64,0}, + [I(143,126)] = {64,0}, + [I(144,126)] = {64,0}, + [I(145,126)] = {64,0}, + [I(146,126)] = {64,0}, + [I(147,126)] = {64,0}, + [I(148,126)] = {64,0}, + [I(149,126)] = {64,0}, + [I(150,126)] = {64,0}, + [I(151,126)] = {64,0}, + [I(152,126)] = {64,0}, + [I(153,126)] = {64,0}, + [I(154,126)] = {64,0}, + [I(155,126)] = {64,0}, + [I(156,126)] = {64,0}, + [I(157,126)] = {64,0}, + [I(158,126)] = {64,0}, + [I(159,126)] = {64,0}, + [I(160,126)] = {64,0}, + [I(161,126)] = {64,0}, + [I(162,126)] = {64,0}, + [I(163,126)] = {64,0}, + [I(164,126)] = {64,0}, + [I(165,126)] = {64,0}, + [I(166,126)] = {64,0}, + [I(167,126)] = {64,0}, + [I(168,126)] = {64,0}, + [I(169,126)] = {64,0}, + [I(170,126)] = {64,0}, + [I(171,126)] = {64,0}, + [I(172,126)] = {64,0}, + [I(173,126)] = {64,0}, + [I(174,126)] = {64,0}, + [I(175,126)] = {64,0}, + [I(176,126)] = {64,0}, + [I(177,126)] = {64,0}, + [I(178,126)] = {64,0}, + [I(179,126)] = {64,0}, + [I(180,126)] = {64,0}, + [I(181,126)] = {64,0}, + [I(182,126)] = {64,0}, + [I(183,126)] = {64,0}, + [I(184,126)] = {64,0}, + [I(185,126)] = {64,0}, + [I(186,126)] = {64,0}, + [I(187,126)] = {64,0}, + [I(188,126)] = {64,0}, + [I(189,126)] = {64,0}, + [I(190,126)] = {64,0}, + [I(191,126)] = {64,0}, + [I(192,126)] = {64,0}, + [I(193,126)] = {64,0}, + [I(194,126)] = {64,0}, + [I(195,126)] = {X32,0xFFFE3FFD}, + [I(196,126)] = {64,0}, + [I(197,126)] = {64,0}, + [I(198,126)] = {64,0}, + [I(199,126)] = {64,0}, + [I(200,126)] = {64,0}, + [I(201,126)] = {64,0}, + [I(202,126)] = {64,0}, + [I(203,126)] = {64,0}, + [I(204,126)] = {64,0}, + [I(205,126)] = {64,0}, + [I(206,126)] = {64,0}, + [I(207,126)] = {64,0}, + [I(208,126)] = {X32,0xFFFE5FFD}, + [I(209,126)] = {64,0}, + [I(210,126)] = {64,0}, + [I(211,126)] = {64,0}, + [I(212,126)] = {64,0}, + [I(213,126)] = {64,0}, + [I(214,126)] = {64,0}, + [I(215,126)] = {64,0}, + [I(216,126)] = {64,0}, + [I(217,126)] = {64,0}, + [I(218,126)] = {64,0}, + [I(219,126)] = {64,0}, + [I(220,126)] = {64,0}, + [I(221,126)] = {64,0}, + [I(222,126)] = {64,0}, + [I(223,126)] = {64,0}, + [I(224,126)] = {64,0}, + [I(225,126)] = {64,0}, + [I(226,126)] = {64,0}, + [I(227,126)] = {64,0}, + [I(228,126)] = {64,0}, + [I(229,126)] = {64,0}, + [I(230,126)] = {64,0}, + [I(231,126)] = {64,0}, + [I(232,126)] = {64,0}, + [I(233,126)] = {64,0}, + [I(234,126)] = {64,0}, + [I(235,126)] = {64,0}, + [I(236,126)] = {64,0}, + [I(237,126)] = {64,0}, + [I(238,126)] = {64,0}, + [I(239,126)] = {64,0}, + [I(240,126)] = {64,0}, + [I(241,126)] = {64,0}, + [I(242,126)] = {64,0}, + [I(243,126)] = {64,0}, + [I(244,126)] = {64,0}, + [I(245,126)] = {64,0}, + [I(246,126)] = {64,0}, + [I(247,126)] = {64,0}, + [I(248,126)] = {64,0}, + [I(249,126)] = {64,0}, + [I(250,126)] = {64,0}, + [I(251,126)] = {64,0}, + [I(252,126)] = {64,0}, + [I(253,126)] = {64,0}, + [I(254,126)] = {64,0}, + [I(255,126)] = {64,0}, + [I(0,127)] = {64,0}, + [I(1,127)] = {64,0}, + [I(2,127)] = {64,0}, + [I(3,127)] = {64,0}, + [I(4,127)] = {64,0}, + [I(5,127)] = {64,0}, + [I(6,127)] = {64,0}, + [I(7,127)] = {64,0}, + [I(8,127)] = {64,0}, + [I(9,127)] = {64,0}, + [I(10,127)] = {64,0}, + [I(11,127)] = {64,0}, + [I(12,127)] = {64,0}, + [I(13,127)] = {64,0}, + [I(14,127)] = {64,0}, + [I(15,127)] = {64,0}, + [I(16,127)] = {64,0}, + [I(17,127)] = {64,0}, + [I(18,127)] = {64,0}, + [I(19,127)] = {64,0}, + [I(20,127)] = {64,0}, + [I(21,127)] = {64,0}, + [I(22,127)] = {64,0}, + [I(23,127)] = {64,0}, + [I(24,127)] = {64,0}, + [I(25,127)] = {64,0}, + [I(26,127)] = {64,0}, + [I(27,127)] = {64,0}, + [I(28,127)] = {64,0}, + [I(29,127)] = {64,0}, + [I(30,127)] = {64,0}, + [I(31,127)] = {64,0}, + [I(32,127)] = {64,0}, + [I(33,127)] = {64,0}, + [I(34,127)] = {64,0}, + [I(35,127)] = {64,0}, + [I(36,127)] = {64,0}, + [I(37,127)] = {64,0}, + [I(38,127)] = {64,0}, + [I(39,127)] = {64,0}, + [I(40,127)] = {64,0}, + [I(41,127)] = {64,0}, + [I(42,127)] = {64,0}, + [I(43,127)] = {64,0}, + [I(44,127)] = {64,0}, + [I(45,127)] = {64,0}, + [I(46,127)] = {64,0}, + [I(47,127)] = {64,0}, + [I(48,127)] = {64,0}, + [I(49,127)] = {64,0}, + [I(50,127)] = {64,0}, + [I(51,127)] = {64,0}, + [I(52,127)] = {64,0}, + [I(53,127)] = {64,0}, + [I(54,127)] = {64,0}, + [I(55,127)] = {64,0}, + [I(56,127)] = {64,0}, + [I(57,127)] = {64,0}, + [I(58,127)] = {64,0}, + [I(59,127)] = {64,0}, + [I(60,127)] = {64,0}, + [I(61,127)] = {64,0}, + [I(62,127)] = {64,0}, + [I(63,127)] = {64,0}, + [I(64,127)] = {64,0}, + [I(65,127)] = {64,0}, + [I(66,127)] = {64,0}, + [I(67,127)] = {64,0}, + [I(68,127)] = {64,0}, + [I(69,127)] = {64,0}, + [I(70,127)] = {64,0}, + [I(71,127)] = {64,0}, + [I(72,127)] = {64,0}, + [I(73,127)] = {64,0}, + [I(74,127)] = {64,0}, + [I(75,127)] = {64,0}, + [I(76,127)] = {64,0}, + [I(77,127)] = {64,0}, + [I(78,127)] = {64,0}, + [I(79,127)] = {64,0}, + [I(80,127)] = {64,0}, + [I(81,127)] = {64,0}, + [I(82,127)] = {64,0}, + [I(83,127)] = {64,0}, + [I(84,127)] = {64,0}, + [I(85,127)] = {64,0}, + [I(86,127)] = {64,0}, + [I(87,127)] = {64,0}, + [I(88,127)] = {64,0}, + [I(89,127)] = {64,0}, + [I(90,127)] = {64,0}, + [I(91,127)] = {64,0}, + [I(92,127)] = {64,0}, + [I(93,127)] = {64,0}, + [I(94,127)] = {64,0}, + [I(95,127)] = {64,0}, + [I(96,127)] = {64,0}, + [I(97,127)] = {64,0}, + [I(98,127)] = {64,0}, + [I(99,127)] = {64,0}, + [I(100,127)] = {64,0}, + [I(101,127)] = {64,0}, + [I(102,127)] = {64,0}, + [I(103,127)] = {64,0}, + [I(104,127)] = {64,0}, + [I(105,127)] = {64,0}, + [I(106,127)] = {64,0}, + [I(107,127)] = {64,0}, + [I(108,127)] = {64,0}, + [I(109,127)] = {64,0}, + [I(110,127)] = {64,0}, + [I(111,127)] = {64,0}, + [I(112,127)] = {64,0}, + [I(113,127)] = {64,0}, + [I(114,127)] = {64,0}, + [I(115,127)] = {64,0}, + [I(116,127)] = {64,0}, + [I(117,127)] = {64,0}, + [I(118,127)] = {64,0}, + [I(119,127)] = {64,0}, + [I(120,127)] = {64,0}, + [I(121,127)] = {64,0}, + [I(122,127)] = {64,0}, + [I(123,127)] = {64,0}, + [I(124,127)] = {64,0}, + [I(125,127)] = {64,0}, + [I(126,127)] = {64,0}, + [I(127,127)] = {64,0}, + [I(128,127)] = {64,0}, + [I(129,127)] = {64,0}, + [I(130,127)] = {64,0}, + [I(131,127)] = {64,0}, + [I(132,127)] = {64,0}, + [I(133,127)] = {64,0}, + [I(134,127)] = {64,0}, + [I(135,127)] = {64,0}, + [I(136,127)] = {64,0}, + [I(137,127)] = {64,0}, + [I(138,127)] = {64,0}, + [I(139,127)] = {64,0}, + [I(140,127)] = {64,0}, + [I(141,127)] = {64,0}, + [I(142,127)] = {64,0}, + [I(143,127)] = {64,0}, + [I(144,127)] = {64,0}, + [I(145,127)] = {64,0}, + [I(146,127)] = {64,0}, + [I(147,127)] = {64,0}, + [I(148,127)] = {64,0}, + [I(149,127)] = {64,0}, + [I(150,127)] = {64,0}, + [I(151,127)] = {64,0}, + [I(152,127)] = {64,0}, + [I(153,127)] = {64,0}, + [I(154,127)] = {64,0}, + [I(155,127)] = {64,0}, + [I(156,127)] = {64,0}, + [I(157,127)] = {64,0}, + [I(158,127)] = {64,0}, + [I(159,127)] = {64,0}, + [I(160,127)] = {64,0}, + [I(161,127)] = {64,0}, + [I(162,127)] = {64,0}, + [I(163,127)] = {64,0}, + [I(164,127)] = {64,0}, + [I(165,127)] = {64,0}, + [I(166,127)] = {64,0}, + [I(167,127)] = {64,0}, + [I(168,127)] = {64,0}, + [I(169,127)] = {64,0}, + [I(170,127)] = {64,0}, + [I(171,127)] = {64,0}, + [I(172,127)] = {64,0}, + [I(173,127)] = {64,0}, + [I(174,127)] = {64,0}, + [I(175,127)] = {64,0}, + [I(176,127)] = {64,0}, + [I(177,127)] = {64,0}, + [I(178,127)] = {64,0}, + [I(179,127)] = {64,0}, + [I(180,127)] = {64,0}, + [I(181,127)] = {64,0}, + [I(182,127)] = {64,0}, + [I(183,127)] = {64,0}, + [I(184,127)] = {64,0}, + [I(185,127)] = {64,0}, + [I(186,127)] = {64,0}, + [I(187,127)] = {64,0}, + [I(188,127)] = {64,0}, + [I(189,127)] = {64,0}, + [I(190,127)] = {64,0}, + [I(191,127)] = {64,0}, + [I(192,127)] = {64,0}, + [I(193,127)] = {64,0}, + [I(194,127)] = {64,0}, + [I(195,127)] = {64,0}, + [I(196,127)] = {64,0}, + [I(197,127)] = {64,0}, + [I(198,127)] = {64,0}, + [I(199,127)] = {64,0}, + [I(200,127)] = {64,0}, + [I(201,127)] = {64,0}, + [I(202,127)] = {64,0}, + [I(203,127)] = {64,0}, + [I(204,127)] = {64,0}, + [I(205,127)] = {64,0}, + [I(206,127)] = {64,0}, + [I(207,127)] = {64,0}, + [I(208,127)] = {64,0}, + [I(209,127)] = {64,0}, + [I(210,127)] = {64,0}, + [I(211,127)] = {64,0}, + [I(212,127)] = {64,0}, + [I(213,127)] = {64,0}, + [I(214,127)] = {64,0}, + [I(215,127)] = {64,0}, + [I(216,127)] = {64,0}, + [I(217,127)] = {64,0}, + [I(218,127)] = {64,0}, + [I(219,127)] = {64,0}, + [I(220,127)] = {64,0}, + [I(221,127)] = {64,0}, + [I(222,127)] = {64,0}, + [I(223,127)] = {64,0}, + [I(224,127)] = {64,0}, + [I(225,127)] = {64,0}, + [I(226,127)] = {64,0}, + [I(227,127)] = {64,0}, + [I(228,127)] = {64,0}, + [I(229,127)] = {64,0}, + [I(230,127)] = {64,0}, + [I(231,127)] = {64,0}, + [I(232,127)] = {64,0}, + [I(233,127)] = {64,0}, + [I(234,127)] = {64,0}, + [I(235,127)] = {64,0}, + [I(236,127)] = {64,0}, + [I(237,127)] = {64,0}, + [I(238,127)] = {64,0}, + [I(239,127)] = {64,0}, + [I(240,127)] = {64,0}, + [I(241,127)] = {64,0}, + [I(242,127)] = {64,0}, + [I(243,127)] = {64,0}, + [I(244,127)] = {64,0}, + [I(245,127)] = {64,0}, + [I(246,127)] = {64,0}, + [I(247,127)] = {64,0}, + [I(248,127)] = {64,0}, + [I(249,127)] = {64,0}, + [I(250,127)] = {64,0}, + [I(251,127)] = {64,0}, + [I(252,127)] = {64,0}, + [I(253,127)] = {64,0}, + [I(254,127)] = {64,0}, + [I(255,127)] = {64,0}, + [I(0,128)] = {64,0}, + [I(1,128)] = {64,0}, + [I(2,128)] = {64,0}, + [I(3,128)] = {64,0}, + [I(4,128)] = {64,0}, + [I(5,128)] = {64,0}, + [I(6,128)] = {64,0}, + [I(7,128)] = {64,0}, + [I(8,128)] = {64,0}, + [I(9,128)] = {64,0}, + [I(10,128)] = {64,0}, + [I(11,128)] = {64,0}, + [I(12,128)] = {64,0}, + [I(13,128)] = {64,0}, + [I(14,128)] = {64,0}, + [I(15,128)] = {64,0}, + [I(16,128)] = {64,0}, + [I(17,128)] = {64,0}, + [I(18,128)] = {64,0}, + [I(19,128)] = {64,0}, + [I(20,128)] = {64,0}, + [I(21,128)] = {64,0}, + [I(22,128)] = {64,0}, + [I(23,128)] = {64,0}, + [I(24,128)] = {64,0}, + [I(25,128)] = {64,0}, + [I(26,128)] = {64,0}, + [I(27,128)] = {64,0}, + [I(28,128)] = {64,0}, + [I(29,128)] = {64,0}, + [I(30,128)] = {64,0}, + [I(31,128)] = {64,0}, + [I(32,128)] = {26,0x14FFFE6}, + [I(33,128)] = {30,0x3F8FFFE6}, + [I(34,128)] = {30,0x3F9FFFE6}, + [I(35,128)] = {X32,0xFFAFFFE6}, + [I(36,128)] = {64,0}, + [I(37,128)] = {26,0x15FFFE6}, + [I(38,128)] = {28,0xF8FFFE6}, + [I(39,128)] = {31,0x7FAFFFE6}, + [I(40,128)] = {30,0x3FAFFFE6}, + [I(41,128)] = {30,0x3FBFFFE6}, + [I(42,128)] = {28,0xF9FFFE6}, + [I(43,128)] = {31,0x7FBFFFE6}, + [I(44,128)] = {28,0xFAFFFE6}, + [I(45,128)] = {26,0x16FFFE6}, + [I(46,128)] = {26,0x17FFFE6}, + [I(47,128)] = {26,0x18FFFE6}, + [I(48,128)] = {25,0xFFFE6}, + [I(49,128)] = {25,0x1FFFE6}, + [I(50,128)] = {25,0x2FFFE6}, + [I(51,128)] = {26,0x19FFFE6}, + [I(52,128)] = {26,0x1AFFFE6}, + [I(53,128)] = {26,0x1BFFFE6}, + [I(54,128)] = {26,0x1CFFFE6}, + [I(55,128)] = {26,0x1DFFFE6}, + [I(56,128)] = {26,0x1EFFFE6}, + [I(57,128)] = {26,0x1FFFFE6}, + [I(58,128)] = {27,0x5CFFFE6}, + [I(59,128)] = {28,0xFBFFFE6}, + [I(60,128)] = {64,0}, + [I(61,128)] = {26,0x20FFFE6}, + [I(62,128)] = {X32,0xFFBFFFE6}, + [I(63,128)] = {30,0x3FCFFFE6}, + [I(64,128)] = {64,0}, + [I(65,128)] = {26,0x21FFFE6}, + [I(66,128)] = {27,0x5DFFFE6}, + [I(67,128)] = {27,0x5EFFFE6}, + [I(68,128)] = {27,0x5FFFFE6}, + [I(69,128)] = {27,0x60FFFE6}, + [I(70,128)] = {27,0x61FFFE6}, + [I(71,128)] = {27,0x62FFFE6}, + [I(72,128)] = {27,0x63FFFE6}, + [I(73,128)] = {27,0x64FFFE6}, + [I(74,128)] = {27,0x65FFFE6}, + [I(75,128)] = {27,0x66FFFE6}, + [I(76,128)] = {27,0x67FFFE6}, + [I(77,128)] = {27,0x68FFFE6}, + [I(78,128)] = {27,0x69FFFE6}, + [I(79,128)] = {27,0x6AFFFE6}, + [I(80,128)] = {27,0x6BFFFE6}, + [I(81,128)] = {27,0x6CFFFE6}, + [I(82,128)] = {27,0x6DFFFE6}, + [I(83,128)] = {27,0x6EFFFE6}, + [I(84,128)] = {27,0x6FFFFE6}, + [I(85,128)] = {27,0x70FFFE6}, + [I(86,128)] = {27,0x71FFFE6}, + [I(87,128)] = {27,0x72FFFE6}, + [I(88,128)] = {28,0xFCFFFE6}, + [I(89,128)] = {27,0x73FFFE6}, + [I(90,128)] = {28,0xFDFFFE6}, + [I(91,128)] = {64,0}, + [I(92,128)] = {64,0}, + [I(93,128)] = {64,0}, + [I(94,128)] = {64,0}, + [I(95,128)] = {26,0x22FFFE6}, + [I(96,128)] = {64,0}, + [I(97,128)] = {25,0x3FFFE6}, + [I(98,128)] = {26,0x23FFFE6}, + [I(99,128)] = {25,0x4FFFE6}, + [I(100,128)] = {26,0x24FFFE6}, + [I(101,128)] = {25,0x5FFFE6}, + [I(102,128)] = {26,0x25FFFE6}, + [I(103,128)] = {26,0x26FFFE6}, + [I(104,128)] = {26,0x27FFFE6}, + [I(105,128)] = {25,0x6FFFE6}, + [I(106,128)] = {27,0x74FFFE6}, + [I(107,128)] = {27,0x75FFFE6}, + [I(108,128)] = {26,0x28FFFE6}, + [I(109,128)] = {26,0x29FFFE6}, + [I(110,128)] = {26,0x2AFFFE6}, + [I(111,128)] = {25,0x7FFFE6}, + [I(112,128)] = {26,0x2BFFFE6}, + [I(113,128)] = {27,0x76FFFE6}, + [I(114,128)] = {26,0x2CFFFE6}, + [I(115,128)] = {25,0x8FFFE6}, + [I(116,128)] = {25,0x9FFFE6}, + [I(117,128)] = {26,0x2DFFFE6}, + [I(118,128)] = {27,0x77FFFE6}, + [I(119,128)] = {27,0x78FFFE6}, + [I(120,128)] = {27,0x79FFFE6}, + [I(121,128)] = {27,0x7AFFFE6}, + [I(122,128)] = {27,0x7BFFFE6}, + [I(123,128)] = {64,0}, + [I(124,128)] = {31,0x7FCFFFE6}, + [I(125,128)] = {64,0}, + [I(126,128)] = {64,0}, + [I(127,128)] = {64,0}, + [I(128,128)] = {64,0}, + [I(129,128)] = {64,0}, + [I(130,128)] = {64,0}, + [I(131,128)] = {64,0}, + [I(132,128)] = {64,0}, + [I(133,128)] = {64,0}, + [I(134,128)] = {64,0}, + [I(135,128)] = {64,0}, + [I(136,128)] = {64,0}, + [I(137,128)] = {64,0}, + [I(138,128)] = {64,0}, + [I(139,128)] = {64,0}, + [I(140,128)] = {64,0}, + [I(141,128)] = {64,0}, + [I(142,128)] = {64,0}, + [I(143,128)] = {64,0}, + [I(144,128)] = {64,0}, + [I(145,128)] = {64,0}, + [I(146,128)] = {64,0}, + [I(147,128)] = {64,0}, + [I(148,128)] = {64,0}, + [I(149,128)] = {64,0}, + [I(150,128)] = {64,0}, + [I(151,128)] = {64,0}, + [I(152,128)] = {64,0}, + [I(153,128)] = {64,0}, + [I(154,128)] = {64,0}, + [I(155,128)] = {64,0}, + [I(156,128)] = {64,0}, + [I(157,128)] = {64,0}, + [I(158,128)] = {64,0}, + [I(159,128)] = {64,0}, + [I(160,128)] = {64,0}, + [I(161,128)] = {64,0}, + [I(162,128)] = {64,0}, + [I(163,128)] = {64,0}, + [I(164,128)] = {64,0}, + [I(165,128)] = {64,0}, + [I(166,128)] = {64,0}, + [I(167,128)] = {64,0}, + [I(168,128)] = {64,0}, + [I(169,128)] = {64,0}, + [I(170,128)] = {64,0}, + [I(171,128)] = {64,0}, + [I(172,128)] = {64,0}, + [I(173,128)] = {64,0}, + [I(174,128)] = {64,0}, + [I(175,128)] = {64,0}, + [I(176,128)] = {64,0}, + [I(177,128)] = {64,0}, + [I(178,128)] = {64,0}, + [I(179,128)] = {64,0}, + [I(180,128)] = {64,0}, + [I(181,128)] = {64,0}, + [I(182,128)] = {64,0}, + [I(183,128)] = {64,0}, + [I(184,128)] = {64,0}, + [I(185,128)] = {64,0}, + [I(186,128)] = {64,0}, + [I(187,128)] = {64,0}, + [I(188,128)] = {64,0}, + [I(189,128)] = {64,0}, + [I(190,128)] = {64,0}, + [I(191,128)] = {64,0}, + [I(192,128)] = {64,0}, + [I(193,128)] = {64,0}, + [I(194,128)] = {64,0}, + [I(195,128)] = {64,0}, + [I(196,128)] = {64,0}, + [I(197,128)] = {64,0}, + [I(198,128)] = {64,0}, + [I(199,128)] = {64,0}, + [I(200,128)] = {64,0}, + [I(201,128)] = {64,0}, + [I(202,128)] = {64,0}, + [I(203,128)] = {64,0}, + [I(204,128)] = {64,0}, + [I(205,128)] = {64,0}, + [I(206,128)] = {64,0}, + [I(207,128)] = {64,0}, + [I(208,128)] = {64,0}, + [I(209,128)] = {64,0}, + [I(210,128)] = {64,0}, + [I(211,128)] = {64,0}, + [I(212,128)] = {64,0}, + [I(213,128)] = {64,0}, + [I(214,128)] = {64,0}, + [I(215,128)] = {64,0}, + [I(216,128)] = {64,0}, + [I(217,128)] = {64,0}, + [I(218,128)] = {64,0}, + [I(219,128)] = {64,0}, + [I(220,128)] = {64,0}, + [I(221,128)] = {64,0}, + [I(222,128)] = {64,0}, + [I(223,128)] = {64,0}, + [I(224,128)] = {64,0}, + [I(225,128)] = {64,0}, + [I(226,128)] = {64,0}, + [I(227,128)] = {64,0}, + [I(228,128)] = {64,0}, + [I(229,128)] = {64,0}, + [I(230,128)] = {64,0}, + [I(231,128)] = {64,0}, + [I(232,128)] = {64,0}, + [I(233,128)] = {64,0}, + [I(234,128)] = {64,0}, + [I(235,128)] = {64,0}, + [I(236,128)] = {64,0}, + [I(237,128)] = {64,0}, + [I(238,128)] = {64,0}, + [I(239,128)] = {64,0}, + [I(240,128)] = {64,0}, + [I(241,128)] = {64,0}, + [I(242,128)] = {64,0}, + [I(243,128)] = {64,0}, + [I(244,128)] = {64,0}, + [I(245,128)] = {64,0}, + [I(246,128)] = {64,0}, + [I(247,128)] = {64,0}, + [I(248,128)] = {64,0}, + [I(249,128)] = {64,0}, + [I(250,128)] = {64,0}, + [I(251,128)] = {64,0}, + [I(252,128)] = {64,0}, + [I(253,128)] = {64,0}, + [I(254,128)] = {64,0}, + [I(255,128)] = {64,0}, + [I(0,129)] = {64,0}, + [I(1,129)] = {64,0}, + [I(2,129)] = {64,0}, + [I(3,129)] = {64,0}, + [I(4,129)] = {64,0}, + [I(5,129)] = {64,0}, + [I(6,129)] = {64,0}, + [I(7,129)] = {64,0}, + [I(8,129)] = {64,0}, + [I(9,129)] = {64,0}, + [I(10,129)] = {64,0}, + [I(11,129)] = {64,0}, + [I(12,129)] = {64,0}, + [I(13,129)] = {64,0}, + [I(14,129)] = {64,0}, + [I(15,129)] = {64,0}, + [I(16,129)] = {64,0}, + [I(17,129)] = {64,0}, + [I(18,129)] = {64,0}, + [I(19,129)] = {64,0}, + [I(20,129)] = {64,0}, + [I(21,129)] = {64,0}, + [I(22,129)] = {64,0}, + [I(23,129)] = {64,0}, + [I(24,129)] = {64,0}, + [I(25,129)] = {64,0}, + [I(26,129)] = {64,0}, + [I(27,129)] = {64,0}, + [I(28,129)] = {64,0}, + [I(29,129)] = {64,0}, + [I(30,129)] = {64,0}, + [I(31,129)] = {64,0}, + [I(32,129)] = {28,0x53FFFD2}, + [I(33,129)] = {X32,0xFE3FFFD2}, + [I(34,129)] = {X32,0xFE7FFFD2}, + [I(35,129)] = {64,0}, + [I(36,129)] = {64,0}, + [I(37,129)] = {28,0x57FFFD2}, + [I(38,129)] = {30,0x3E3FFFD2}, + [I(39,129)] = {64,0}, + [I(40,129)] = {X32,0xFEBFFFD2}, + [I(41,129)] = {X32,0xFEFFFFD2}, + [I(42,129)] = {30,0x3E7FFFD2}, + [I(43,129)] = {64,0}, + [I(44,129)] = {30,0x3EBFFFD2}, + [I(45,129)] = {28,0x5BFFFD2}, + [I(46,129)] = {28,0x5FFFFD2}, + [I(47,129)] = {28,0x63FFFD2}, + [I(48,129)] = {27,0x3FFFD2}, + [I(49,129)] = {27,0x7FFFD2}, + [I(50,129)] = {27,0xBFFFD2}, + [I(51,129)] = {28,0x67FFFD2}, + [I(52,129)] = {28,0x6BFFFD2}, + [I(53,129)] = {28,0x6FFFFD2}, + [I(54,129)] = {28,0x73FFFD2}, + [I(55,129)] = {28,0x77FFFD2}, + [I(56,129)] = {28,0x7BFFFD2}, + [I(57,129)] = {28,0x7FFFFD2}, + [I(58,129)] = {29,0x173FFFD2}, + [I(59,129)] = {30,0x3EFFFFD2}, + [I(60,129)] = {64,0}, + [I(61,129)] = {28,0x83FFFD2}, + [I(62,129)] = {64,0}, + [I(63,129)] = {X32,0xFF3FFFD2}, + [I(64,129)] = {64,0}, + [I(65,129)] = {28,0x87FFFD2}, + [I(66,129)] = {29,0x177FFFD2}, + [I(67,129)] = {29,0x17BFFFD2}, + [I(68,129)] = {29,0x17FFFFD2}, + [I(69,129)] = {29,0x183FFFD2}, + [I(70,129)] = {29,0x187FFFD2}, + [I(71,129)] = {29,0x18BFFFD2}, + [I(72,129)] = {29,0x18FFFFD2}, + [I(73,129)] = {29,0x193FFFD2}, + [I(74,129)] = {29,0x197FFFD2}, + [I(75,129)] = {29,0x19BFFFD2}, + [I(76,129)] = {29,0x19FFFFD2}, + [I(77,129)] = {29,0x1A3FFFD2}, + [I(78,129)] = {29,0x1A7FFFD2}, + [I(79,129)] = {29,0x1ABFFFD2}, + [I(80,129)] = {29,0x1AFFFFD2}, + [I(81,129)] = {29,0x1B3FFFD2}, + [I(82,129)] = {29,0x1B7FFFD2}, + [I(83,129)] = {29,0x1BBFFFD2}, + [I(84,129)] = {29,0x1BFFFFD2}, + [I(85,129)] = {29,0x1C3FFFD2}, + [I(86,129)] = {29,0x1C7FFFD2}, + [I(87,129)] = {29,0x1CBFFFD2}, + [I(88,129)] = {30,0x3F3FFFD2}, + [I(89,129)] = {29,0x1CFFFFD2}, + [I(90,129)] = {30,0x3F7FFFD2}, + [I(91,129)] = {64,0}, + [I(92,129)] = {64,0}, + [I(93,129)] = {64,0}, + [I(94,129)] = {64,0}, + [I(95,129)] = {28,0x8BFFFD2}, + [I(96,129)] = {64,0}, + [I(97,129)] = {27,0xFFFFD2}, + [I(98,129)] = {28,0x8FFFFD2}, + [I(99,129)] = {27,0x13FFFD2}, + [I(100,129)] = {28,0x93FFFD2}, + [I(101,129)] = {27,0x17FFFD2}, + [I(102,129)] = {28,0x97FFFD2}, + [I(103,129)] = {28,0x9BFFFD2}, + [I(104,129)] = {28,0x9FFFFD2}, + [I(105,129)] = {27,0x1BFFFD2}, + [I(106,129)] = {29,0x1D3FFFD2}, + [I(107,129)] = {29,0x1D7FFFD2}, + [I(108,129)] = {28,0xA3FFFD2}, + [I(109,129)] = {28,0xA7FFFD2}, + [I(110,129)] = {28,0xABFFFD2}, + [I(111,129)] = {27,0x1FFFFD2}, + [I(112,129)] = {28,0xAFFFFD2}, + [I(113,129)] = {29,0x1DBFFFD2}, + [I(114,129)] = {28,0xB3FFFD2}, + [I(115,129)] = {27,0x23FFFD2}, + [I(116,129)] = {27,0x27FFFD2}, + [I(117,129)] = {28,0xB7FFFD2}, + [I(118,129)] = {29,0x1DFFFFD2}, + [I(119,129)] = {29,0x1E3FFFD2}, + [I(120,129)] = {29,0x1E7FFFD2}, + [I(121,129)] = {29,0x1EBFFFD2}, + [I(122,129)] = {29,0x1EFFFFD2}, + [I(123,129)] = {64,0}, + [I(124,129)] = {64,0}, + [I(125,129)] = {64,0}, + [I(126,129)] = {64,0}, + [I(127,129)] = {64,0}, + [I(128,129)] = {64,0}, + [I(129,129)] = {64,0}, + [I(130,129)] = {64,0}, + [I(131,129)] = {64,0}, + [I(132,129)] = {64,0}, + [I(133,129)] = {64,0}, + [I(134,129)] = {64,0}, + [I(135,129)] = {64,0}, + [I(136,129)] = {64,0}, + [I(137,129)] = {64,0}, + [I(138,129)] = {64,0}, + [I(139,129)] = {64,0}, + [I(140,129)] = {64,0}, + [I(141,129)] = {64,0}, + [I(142,129)] = {64,0}, + [I(143,129)] = {64,0}, + [I(144,129)] = {64,0}, + [I(145,129)] = {64,0}, + [I(146,129)] = {64,0}, + [I(147,129)] = {64,0}, + [I(148,129)] = {64,0}, + [I(149,129)] = {64,0}, + [I(150,129)] = {64,0}, + [I(151,129)] = {64,0}, + [I(152,129)] = {64,0}, + [I(153,129)] = {64,0}, + [I(154,129)] = {64,0}, + [I(155,129)] = {64,0}, + [I(156,129)] = {64,0}, + [I(157,129)] = {64,0}, + [I(158,129)] = {64,0}, + [I(159,129)] = {64,0}, + [I(160,129)] = {64,0}, + [I(161,129)] = {64,0}, + [I(162,129)] = {64,0}, + [I(163,129)] = {64,0}, + [I(164,129)] = {64,0}, + [I(165,129)] = {64,0}, + [I(166,129)] = {64,0}, + [I(167,129)] = {64,0}, + [I(168,129)] = {64,0}, + [I(169,129)] = {64,0}, + [I(170,129)] = {64,0}, + [I(171,129)] = {64,0}, + [I(172,129)] = {64,0}, + [I(173,129)] = {64,0}, + [I(174,129)] = {64,0}, + [I(175,129)] = {64,0}, + [I(176,129)] = {64,0}, + [I(177,129)] = {64,0}, + [I(178,129)] = {64,0}, + [I(179,129)] = {64,0}, + [I(180,129)] = {64,0}, + [I(181,129)] = {64,0}, + [I(182,129)] = {64,0}, + [I(183,129)] = {64,0}, + [I(184,129)] = {64,0}, + [I(185,129)] = {64,0}, + [I(186,129)] = {64,0}, + [I(187,129)] = {64,0}, + [I(188,129)] = {64,0}, + [I(189,129)] = {64,0}, + [I(190,129)] = {64,0}, + [I(191,129)] = {64,0}, + [I(192,129)] = {64,0}, + [I(193,129)] = {64,0}, + [I(194,129)] = {64,0}, + [I(195,129)] = {64,0}, + [I(196,129)] = {64,0}, + [I(197,129)] = {64,0}, + [I(198,129)] = {64,0}, + [I(199,129)] = {64,0}, + [I(200,129)] = {64,0}, + [I(201,129)] = {64,0}, + [I(202,129)] = {64,0}, + [I(203,129)] = {64,0}, + [I(204,129)] = {64,0}, + [I(205,129)] = {64,0}, + [I(206,129)] = {64,0}, + [I(207,129)] = {64,0}, + [I(208,129)] = {64,0}, + [I(209,129)] = {64,0}, + [I(210,129)] = {64,0}, + [I(211,129)] = {64,0}, + [I(212,129)] = {64,0}, + [I(213,129)] = {64,0}, + [I(214,129)] = {64,0}, + [I(215,129)] = {64,0}, + [I(216,129)] = {64,0}, + [I(217,129)] = {64,0}, + [I(218,129)] = {64,0}, + [I(219,129)] = {64,0}, + [I(220,129)] = {64,0}, + [I(221,129)] = {64,0}, + [I(222,129)] = {64,0}, + [I(223,129)] = {64,0}, + [I(224,129)] = {64,0}, + [I(225,129)] = {64,0}, + [I(226,129)] = {64,0}, + [I(227,129)] = {64,0}, + [I(228,129)] = {64,0}, + [I(229,129)] = {64,0}, + [I(230,129)] = {64,0}, + [I(231,129)] = {64,0}, + [I(232,129)] = {64,0}, + [I(233,129)] = {64,0}, + [I(234,129)] = {64,0}, + [I(235,129)] = {64,0}, + [I(236,129)] = {64,0}, + [I(237,129)] = {64,0}, + [I(238,129)] = {64,0}, + [I(239,129)] = {64,0}, + [I(240,129)] = {64,0}, + [I(241,129)] = {64,0}, + [I(242,129)] = {64,0}, + [I(243,129)] = {64,0}, + [I(244,129)] = {64,0}, + [I(245,129)] = {64,0}, + [I(246,129)] = {64,0}, + [I(247,129)] = {64,0}, + [I(248,129)] = {64,0}, + [I(249,129)] = {64,0}, + [I(250,129)] = {64,0}, + [I(251,129)] = {64,0}, + [I(252,129)] = {64,0}, + [I(253,129)] = {64,0}, + [I(254,129)] = {64,0}, + [I(255,129)] = {64,0}, + [I(0,130)] = {64,0}, + [I(1,130)] = {64,0}, + [I(2,130)] = {64,0}, + [I(3,130)] = {64,0}, + [I(4,130)] = {64,0}, + [I(5,130)] = {64,0}, + [I(6,130)] = {64,0}, + [I(7,130)] = {64,0}, + [I(8,130)] = {64,0}, + [I(9,130)] = {64,0}, + [I(10,130)] = {64,0}, + [I(11,130)] = {64,0}, + [I(12,130)] = {64,0}, + [I(13,130)] = {64,0}, + [I(14,130)] = {64,0}, + [I(15,130)] = {64,0}, + [I(16,130)] = {64,0}, + [I(17,130)] = {64,0}, + [I(18,130)] = {64,0}, + [I(19,130)] = {64,0}, + [I(20,130)] = {64,0}, + [I(21,130)] = {64,0}, + [I(22,130)] = {64,0}, + [I(23,130)] = {64,0}, + [I(24,130)] = {64,0}, + [I(25,130)] = {64,0}, + [I(26,130)] = {64,0}, + [I(27,130)] = {64,0}, + [I(28,130)] = {64,0}, + [I(29,130)] = {64,0}, + [I(30,130)] = {64,0}, + [I(31,130)] = {64,0}, + [I(32,130)] = {26,0x14FFFE7}, + [I(33,130)] = {30,0x3F8FFFE7}, + [I(34,130)] = {30,0x3F9FFFE7}, + [I(35,130)] = {X32,0xFFAFFFE7}, + [I(36,130)] = {64,0}, + [I(37,130)] = {26,0x15FFFE7}, + [I(38,130)] = {28,0xF8FFFE7}, + [I(39,130)] = {31,0x7FAFFFE7}, + [I(40,130)] = {30,0x3FAFFFE7}, + [I(41,130)] = {30,0x3FBFFFE7}, + [I(42,130)] = {28,0xF9FFFE7}, + [I(43,130)] = {31,0x7FBFFFE7}, + [I(44,130)] = {28,0xFAFFFE7}, + [I(45,130)] = {26,0x16FFFE7}, + [I(46,130)] = {26,0x17FFFE7}, + [I(47,130)] = {26,0x18FFFE7}, + [I(48,130)] = {25,0xFFFE7}, + [I(49,130)] = {25,0x1FFFE7}, + [I(50,130)] = {25,0x2FFFE7}, + [I(51,130)] = {26,0x19FFFE7}, + [I(52,130)] = {26,0x1AFFFE7}, + [I(53,130)] = {26,0x1BFFFE7}, + [I(54,130)] = {26,0x1CFFFE7}, + [I(55,130)] = {26,0x1DFFFE7}, + [I(56,130)] = {26,0x1EFFFE7}, + [I(57,130)] = {26,0x1FFFFE7}, + [I(58,130)] = {27,0x5CFFFE7}, + [I(59,130)] = {28,0xFBFFFE7}, + [I(60,130)] = {64,0}, + [I(61,130)] = {26,0x20FFFE7}, + [I(62,130)] = {X32,0xFFBFFFE7}, + [I(63,130)] = {30,0x3FCFFFE7}, + [I(64,130)] = {64,0}, + [I(65,130)] = {26,0x21FFFE7}, + [I(66,130)] = {27,0x5DFFFE7}, + [I(67,130)] = {27,0x5EFFFE7}, + [I(68,130)] = {27,0x5FFFFE7}, + [I(69,130)] = {27,0x60FFFE7}, + [I(70,130)] = {27,0x61FFFE7}, + [I(71,130)] = {27,0x62FFFE7}, + [I(72,130)] = {27,0x63FFFE7}, + [I(73,130)] = {27,0x64FFFE7}, + [I(74,130)] = {27,0x65FFFE7}, + [I(75,130)] = {27,0x66FFFE7}, + [I(76,130)] = {27,0x67FFFE7}, + [I(77,130)] = {27,0x68FFFE7}, + [I(78,130)] = {27,0x69FFFE7}, + [I(79,130)] = {27,0x6AFFFE7}, + [I(80,130)] = {27,0x6BFFFE7}, + [I(81,130)] = {27,0x6CFFFE7}, + [I(82,130)] = {27,0x6DFFFE7}, + [I(83,130)] = {27,0x6EFFFE7}, + [I(84,130)] = {27,0x6FFFFE7}, + [I(85,130)] = {27,0x70FFFE7}, + [I(86,130)] = {27,0x71FFFE7}, + [I(87,130)] = {27,0x72FFFE7}, + [I(88,130)] = {28,0xFCFFFE7}, + [I(89,130)] = {27,0x73FFFE7}, + [I(90,130)] = {28,0xFDFFFE7}, + [I(91,130)] = {64,0}, + [I(92,130)] = {64,0}, + [I(93,130)] = {64,0}, + [I(94,130)] = {64,0}, + [I(95,130)] = {26,0x22FFFE7}, + [I(96,130)] = {64,0}, + [I(97,130)] = {25,0x3FFFE7}, + [I(98,130)] = {26,0x23FFFE7}, + [I(99,130)] = {25,0x4FFFE7}, + [I(100,130)] = {26,0x24FFFE7}, + [I(101,130)] = {25,0x5FFFE7}, + [I(102,130)] = {26,0x25FFFE7}, + [I(103,130)] = {26,0x26FFFE7}, + [I(104,130)] = {26,0x27FFFE7}, + [I(105,130)] = {25,0x6FFFE7}, + [I(106,130)] = {27,0x74FFFE7}, + [I(107,130)] = {27,0x75FFFE7}, + [I(108,130)] = {26,0x28FFFE7}, + [I(109,130)] = {26,0x29FFFE7}, + [I(110,130)] = {26,0x2AFFFE7}, + [I(111,130)] = {25,0x7FFFE7}, + [I(112,130)] = {26,0x2BFFFE7}, + [I(113,130)] = {27,0x76FFFE7}, + [I(114,130)] = {26,0x2CFFFE7}, + [I(115,130)] = {25,0x8FFFE7}, + [I(116,130)] = {25,0x9FFFE7}, + [I(117,130)] = {26,0x2DFFFE7}, + [I(118,130)] = {27,0x77FFFE7}, + [I(119,130)] = {27,0x78FFFE7}, + [I(120,130)] = {27,0x79FFFE7}, + [I(121,130)] = {27,0x7AFFFE7}, + [I(122,130)] = {27,0x7BFFFE7}, + [I(123,130)] = {64,0}, + [I(124,130)] = {31,0x7FCFFFE7}, + [I(125,130)] = {64,0}, + [I(126,130)] = {64,0}, + [I(127,130)] = {64,0}, + [I(128,130)] = {64,0}, + [I(129,130)] = {64,0}, + [I(130,130)] = {64,0}, + [I(131,130)] = {64,0}, + [I(132,130)] = {64,0}, + [I(133,130)] = {64,0}, + [I(134,130)] = {64,0}, + [I(135,130)] = {64,0}, + [I(136,130)] = {64,0}, + [I(137,130)] = {64,0}, + [I(138,130)] = {64,0}, + [I(139,130)] = {64,0}, + [I(140,130)] = {64,0}, + [I(141,130)] = {64,0}, + [I(142,130)] = {64,0}, + [I(143,130)] = {64,0}, + [I(144,130)] = {64,0}, + [I(145,130)] = {64,0}, + [I(146,130)] = {64,0}, + [I(147,130)] = {64,0}, + [I(148,130)] = {64,0}, + [I(149,130)] = {64,0}, + [I(150,130)] = {64,0}, + [I(151,130)] = {64,0}, + [I(152,130)] = {64,0}, + [I(153,130)] = {64,0}, + [I(154,130)] = {64,0}, + [I(155,130)] = {64,0}, + [I(156,130)] = {64,0}, + [I(157,130)] = {64,0}, + [I(158,130)] = {64,0}, + [I(159,130)] = {64,0}, + [I(160,130)] = {64,0}, + [I(161,130)] = {64,0}, + [I(162,130)] = {64,0}, + [I(163,130)] = {64,0}, + [I(164,130)] = {64,0}, + [I(165,130)] = {64,0}, + [I(166,130)] = {64,0}, + [I(167,130)] = {64,0}, + [I(168,130)] = {64,0}, + [I(169,130)] = {64,0}, + [I(170,130)] = {64,0}, + [I(171,130)] = {64,0}, + [I(172,130)] = {64,0}, + [I(173,130)] = {64,0}, + [I(174,130)] = {64,0}, + [I(175,130)] = {64,0}, + [I(176,130)] = {64,0}, + [I(177,130)] = {64,0}, + [I(178,130)] = {64,0}, + [I(179,130)] = {64,0}, + [I(180,130)] = {64,0}, + [I(181,130)] = {64,0}, + [I(182,130)] = {64,0}, + [I(183,130)] = {64,0}, + [I(184,130)] = {64,0}, + [I(185,130)] = {64,0}, + [I(186,130)] = {64,0}, + [I(187,130)] = {64,0}, + [I(188,130)] = {64,0}, + [I(189,130)] = {64,0}, + [I(190,130)] = {64,0}, + [I(191,130)] = {64,0}, + [I(192,130)] = {64,0}, + [I(193,130)] = {64,0}, + [I(194,130)] = {64,0}, + [I(195,130)] = {64,0}, + [I(196,130)] = {64,0}, + [I(197,130)] = {64,0}, + [I(198,130)] = {64,0}, + [I(199,130)] = {64,0}, + [I(200,130)] = {64,0}, + [I(201,130)] = {64,0}, + [I(202,130)] = {64,0}, + [I(203,130)] = {64,0}, + [I(204,130)] = {64,0}, + [I(205,130)] = {64,0}, + [I(206,130)] = {64,0}, + [I(207,130)] = {64,0}, + [I(208,130)] = {64,0}, + [I(209,130)] = {64,0}, + [I(210,130)] = {64,0}, + [I(211,130)] = {64,0}, + [I(212,130)] = {64,0}, + [I(213,130)] = {64,0}, + [I(214,130)] = {64,0}, + [I(215,130)] = {64,0}, + [I(216,130)] = {64,0}, + [I(217,130)] = {64,0}, + [I(218,130)] = {64,0}, + [I(219,130)] = {64,0}, + [I(220,130)] = {64,0}, + [I(221,130)] = {64,0}, + [I(222,130)] = {64,0}, + [I(223,130)] = {64,0}, + [I(224,130)] = {64,0}, + [I(225,130)] = {64,0}, + [I(226,130)] = {64,0}, + [I(227,130)] = {64,0}, + [I(228,130)] = {64,0}, + [I(229,130)] = {64,0}, + [I(230,130)] = {64,0}, + [I(231,130)] = {64,0}, + [I(232,130)] = {64,0}, + [I(233,130)] = {64,0}, + [I(234,130)] = {64,0}, + [I(235,130)] = {64,0}, + [I(236,130)] = {64,0}, + [I(237,130)] = {64,0}, + [I(238,130)] = {64,0}, + [I(239,130)] = {64,0}, + [I(240,130)] = {64,0}, + [I(241,130)] = {64,0}, + [I(242,130)] = {64,0}, + [I(243,130)] = {64,0}, + [I(244,130)] = {64,0}, + [I(245,130)] = {64,0}, + [I(246,130)] = {64,0}, + [I(247,130)] = {64,0}, + [I(248,130)] = {64,0}, + [I(249,130)] = {64,0}, + [I(250,130)] = {64,0}, + [I(251,130)] = {64,0}, + [I(252,130)] = {64,0}, + [I(253,130)] = {64,0}, + [I(254,130)] = {64,0}, + [I(255,130)] = {64,0}, + [I(0,131)] = {64,0}, + [I(1,131)] = {64,0}, + [I(2,131)] = {64,0}, + [I(3,131)] = {64,0}, + [I(4,131)] = {64,0}, + [I(5,131)] = {64,0}, + [I(6,131)] = {64,0}, + [I(7,131)] = {64,0}, + [I(8,131)] = {64,0}, + [I(9,131)] = {64,0}, + [I(10,131)] = {64,0}, + [I(11,131)] = {64,0}, + [I(12,131)] = {64,0}, + [I(13,131)] = {64,0}, + [I(14,131)] = {64,0}, + [I(15,131)] = {64,0}, + [I(16,131)] = {64,0}, + [I(17,131)] = {64,0}, + [I(18,131)] = {64,0}, + [I(19,131)] = {64,0}, + [I(20,131)] = {64,0}, + [I(21,131)] = {64,0}, + [I(22,131)] = {64,0}, + [I(23,131)] = {64,0}, + [I(24,131)] = {64,0}, + [I(25,131)] = {64,0}, + [I(26,131)] = {64,0}, + [I(27,131)] = {64,0}, + [I(28,131)] = {64,0}, + [I(29,131)] = {64,0}, + [I(30,131)] = {64,0}, + [I(31,131)] = {64,0}, + [I(32,131)] = {26,0x14FFFE8}, + [I(33,131)] = {30,0x3F8FFFE8}, + [I(34,131)] = {30,0x3F9FFFE8}, + [I(35,131)] = {X32,0xFFAFFFE8}, + [I(36,131)] = {64,0}, + [I(37,131)] = {26,0x15FFFE8}, + [I(38,131)] = {28,0xF8FFFE8}, + [I(39,131)] = {31,0x7FAFFFE8}, + [I(40,131)] = {30,0x3FAFFFE8}, + [I(41,131)] = {30,0x3FBFFFE8}, + [I(42,131)] = {28,0xF9FFFE8}, + [I(43,131)] = {31,0x7FBFFFE8}, + [I(44,131)] = {28,0xFAFFFE8}, + [I(45,131)] = {26,0x16FFFE8}, + [I(46,131)] = {26,0x17FFFE8}, + [I(47,131)] = {26,0x18FFFE8}, + [I(48,131)] = {25,0xFFFE8}, + [I(49,131)] = {25,0x1FFFE8}, + [I(50,131)] = {25,0x2FFFE8}, + [I(51,131)] = {26,0x19FFFE8}, + [I(52,131)] = {26,0x1AFFFE8}, + [I(53,131)] = {26,0x1BFFFE8}, + [I(54,131)] = {26,0x1CFFFE8}, + [I(55,131)] = {26,0x1DFFFE8}, + [I(56,131)] = {26,0x1EFFFE8}, + [I(57,131)] = {26,0x1FFFFE8}, + [I(58,131)] = {27,0x5CFFFE8}, + [I(59,131)] = {28,0xFBFFFE8}, + [I(60,131)] = {64,0}, + [I(61,131)] = {26,0x20FFFE8}, + [I(62,131)] = {X32,0xFFBFFFE8}, + [I(63,131)] = {30,0x3FCFFFE8}, + [I(64,131)] = {64,0}, + [I(65,131)] = {26,0x21FFFE8}, + [I(66,131)] = {27,0x5DFFFE8}, + [I(67,131)] = {27,0x5EFFFE8}, + [I(68,131)] = {27,0x5FFFFE8}, + [I(69,131)] = {27,0x60FFFE8}, + [I(70,131)] = {27,0x61FFFE8}, + [I(71,131)] = {27,0x62FFFE8}, + [I(72,131)] = {27,0x63FFFE8}, + [I(73,131)] = {27,0x64FFFE8}, + [I(74,131)] = {27,0x65FFFE8}, + [I(75,131)] = {27,0x66FFFE8}, + [I(76,131)] = {27,0x67FFFE8}, + [I(77,131)] = {27,0x68FFFE8}, + [I(78,131)] = {27,0x69FFFE8}, + [I(79,131)] = {27,0x6AFFFE8}, + [I(80,131)] = {27,0x6BFFFE8}, + [I(81,131)] = {27,0x6CFFFE8}, + [I(82,131)] = {27,0x6DFFFE8}, + [I(83,131)] = {27,0x6EFFFE8}, + [I(84,131)] = {27,0x6FFFFE8}, + [I(85,131)] = {27,0x70FFFE8}, + [I(86,131)] = {27,0x71FFFE8}, + [I(87,131)] = {27,0x72FFFE8}, + [I(88,131)] = {28,0xFCFFFE8}, + [I(89,131)] = {27,0x73FFFE8}, + [I(90,131)] = {28,0xFDFFFE8}, + [I(91,131)] = {64,0}, + [I(92,131)] = {64,0}, + [I(93,131)] = {64,0}, + [I(94,131)] = {64,0}, + [I(95,131)] = {26,0x22FFFE8}, + [I(96,131)] = {64,0}, + [I(97,131)] = {25,0x3FFFE8}, + [I(98,131)] = {26,0x23FFFE8}, + [I(99,131)] = {25,0x4FFFE8}, + [I(100,131)] = {26,0x24FFFE8}, + [I(101,131)] = {25,0x5FFFE8}, + [I(102,131)] = {26,0x25FFFE8}, + [I(103,131)] = {26,0x26FFFE8}, + [I(104,131)] = {26,0x27FFFE8}, + [I(105,131)] = {25,0x6FFFE8}, + [I(106,131)] = {27,0x74FFFE8}, + [I(107,131)] = {27,0x75FFFE8}, + [I(108,131)] = {26,0x28FFFE8}, + [I(109,131)] = {26,0x29FFFE8}, + [I(110,131)] = {26,0x2AFFFE8}, + [I(111,131)] = {25,0x7FFFE8}, + [I(112,131)] = {26,0x2BFFFE8}, + [I(113,131)] = {27,0x76FFFE8}, + [I(114,131)] = {26,0x2CFFFE8}, + [I(115,131)] = {25,0x8FFFE8}, + [I(116,131)] = {25,0x9FFFE8}, + [I(117,131)] = {26,0x2DFFFE8}, + [I(118,131)] = {27,0x77FFFE8}, + [I(119,131)] = {27,0x78FFFE8}, + [I(120,131)] = {27,0x79FFFE8}, + [I(121,131)] = {27,0x7AFFFE8}, + [I(122,131)] = {27,0x7BFFFE8}, + [I(123,131)] = {64,0}, + [I(124,131)] = {31,0x7FCFFFE8}, + [I(125,131)] = {64,0}, + [I(126,131)] = {64,0}, + [I(127,131)] = {64,0}, + [I(128,131)] = {64,0}, + [I(129,131)] = {64,0}, + [I(130,131)] = {64,0}, + [I(131,131)] = {64,0}, + [I(132,131)] = {64,0}, + [I(133,131)] = {64,0}, + [I(134,131)] = {64,0}, + [I(135,131)] = {64,0}, + [I(136,131)] = {64,0}, + [I(137,131)] = {64,0}, + [I(138,131)] = {64,0}, + [I(139,131)] = {64,0}, + [I(140,131)] = {64,0}, + [I(141,131)] = {64,0}, + [I(142,131)] = {64,0}, + [I(143,131)] = {64,0}, + [I(144,131)] = {64,0}, + [I(145,131)] = {64,0}, + [I(146,131)] = {64,0}, + [I(147,131)] = {64,0}, + [I(148,131)] = {64,0}, + [I(149,131)] = {64,0}, + [I(150,131)] = {64,0}, + [I(151,131)] = {64,0}, + [I(152,131)] = {64,0}, + [I(153,131)] = {64,0}, + [I(154,131)] = {64,0}, + [I(155,131)] = {64,0}, + [I(156,131)] = {64,0}, + [I(157,131)] = {64,0}, + [I(158,131)] = {64,0}, + [I(159,131)] = {64,0}, + [I(160,131)] = {64,0}, + [I(161,131)] = {64,0}, + [I(162,131)] = {64,0}, + [I(163,131)] = {64,0}, + [I(164,131)] = {64,0}, + [I(165,131)] = {64,0}, + [I(166,131)] = {64,0}, + [I(167,131)] = {64,0}, + [I(168,131)] = {64,0}, + [I(169,131)] = {64,0}, + [I(170,131)] = {64,0}, + [I(171,131)] = {64,0}, + [I(172,131)] = {64,0}, + [I(173,131)] = {64,0}, + [I(174,131)] = {64,0}, + [I(175,131)] = {64,0}, + [I(176,131)] = {64,0}, + [I(177,131)] = {64,0}, + [I(178,131)] = {64,0}, + [I(179,131)] = {64,0}, + [I(180,131)] = {64,0}, + [I(181,131)] = {64,0}, + [I(182,131)] = {64,0}, + [I(183,131)] = {64,0}, + [I(184,131)] = {64,0}, + [I(185,131)] = {64,0}, + [I(186,131)] = {64,0}, + [I(187,131)] = {64,0}, + [I(188,131)] = {64,0}, + [I(189,131)] = {64,0}, + [I(190,131)] = {64,0}, + [I(191,131)] = {64,0}, + [I(192,131)] = {64,0}, + [I(193,131)] = {64,0}, + [I(194,131)] = {64,0}, + [I(195,131)] = {64,0}, + [I(196,131)] = {64,0}, + [I(197,131)] = {64,0}, + [I(198,131)] = {64,0}, + [I(199,131)] = {64,0}, + [I(200,131)] = {64,0}, + [I(201,131)] = {64,0}, + [I(202,131)] = {64,0}, + [I(203,131)] = {64,0}, + [I(204,131)] = {64,0}, + [I(205,131)] = {64,0}, + [I(206,131)] = {64,0}, + [I(207,131)] = {64,0}, + [I(208,131)] = {64,0}, + [I(209,131)] = {64,0}, + [I(210,131)] = {64,0}, + [I(211,131)] = {64,0}, + [I(212,131)] = {64,0}, + [I(213,131)] = {64,0}, + [I(214,131)] = {64,0}, + [I(215,131)] = {64,0}, + [I(216,131)] = {64,0}, + [I(217,131)] = {64,0}, + [I(218,131)] = {64,0}, + [I(219,131)] = {64,0}, + [I(220,131)] = {64,0}, + [I(221,131)] = {64,0}, + [I(222,131)] = {64,0}, + [I(223,131)] = {64,0}, + [I(224,131)] = {64,0}, + [I(225,131)] = {64,0}, + [I(226,131)] = {64,0}, + [I(227,131)] = {64,0}, + [I(228,131)] = {64,0}, + [I(229,131)] = {64,0}, + [I(230,131)] = {64,0}, + [I(231,131)] = {64,0}, + [I(232,131)] = {64,0}, + [I(233,131)] = {64,0}, + [I(234,131)] = {64,0}, + [I(235,131)] = {64,0}, + [I(236,131)] = {64,0}, + [I(237,131)] = {64,0}, + [I(238,131)] = {64,0}, + [I(239,131)] = {64,0}, + [I(240,131)] = {64,0}, + [I(241,131)] = {64,0}, + [I(242,131)] = {64,0}, + [I(243,131)] = {64,0}, + [I(244,131)] = {64,0}, + [I(245,131)] = {64,0}, + [I(246,131)] = {64,0}, + [I(247,131)] = {64,0}, + [I(248,131)] = {64,0}, + [I(249,131)] = {64,0}, + [I(250,131)] = {64,0}, + [I(251,131)] = {64,0}, + [I(252,131)] = {64,0}, + [I(253,131)] = {64,0}, + [I(254,131)] = {64,0}, + [I(255,131)] = {64,0}, + [I(0,132)] = {64,0}, + [I(1,132)] = {64,0}, + [I(2,132)] = {64,0}, + [I(3,132)] = {64,0}, + [I(4,132)] = {64,0}, + [I(5,132)] = {64,0}, + [I(6,132)] = {64,0}, + [I(7,132)] = {64,0}, + [I(8,132)] = {64,0}, + [I(9,132)] = {64,0}, + [I(10,132)] = {64,0}, + [I(11,132)] = {64,0}, + [I(12,132)] = {64,0}, + [I(13,132)] = {64,0}, + [I(14,132)] = {64,0}, + [I(15,132)] = {64,0}, + [I(16,132)] = {64,0}, + [I(17,132)] = {64,0}, + [I(18,132)] = {64,0}, + [I(19,132)] = {64,0}, + [I(20,132)] = {64,0}, + [I(21,132)] = {64,0}, + [I(22,132)] = {64,0}, + [I(23,132)] = {64,0}, + [I(24,132)] = {64,0}, + [I(25,132)] = {64,0}, + [I(26,132)] = {64,0}, + [I(27,132)] = {64,0}, + [I(28,132)] = {64,0}, + [I(29,132)] = {64,0}, + [I(30,132)] = {64,0}, + [I(31,132)] = {64,0}, + [I(32,132)] = {28,0x53FFFD3}, + [I(33,132)] = {X32,0xFE3FFFD3}, + [I(34,132)] = {X32,0xFE7FFFD3}, + [I(35,132)] = {64,0}, + [I(36,132)] = {64,0}, + [I(37,132)] = {28,0x57FFFD3}, + [I(38,132)] = {30,0x3E3FFFD3}, + [I(39,132)] = {64,0}, + [I(40,132)] = {X32,0xFEBFFFD3}, + [I(41,132)] = {X32,0xFEFFFFD3}, + [I(42,132)] = {30,0x3E7FFFD3}, + [I(43,132)] = {64,0}, + [I(44,132)] = {30,0x3EBFFFD3}, + [I(45,132)] = {28,0x5BFFFD3}, + [I(46,132)] = {28,0x5FFFFD3}, + [I(47,132)] = {28,0x63FFFD3}, + [I(48,132)] = {27,0x3FFFD3}, + [I(49,132)] = {27,0x7FFFD3}, + [I(50,132)] = {27,0xBFFFD3}, + [I(51,132)] = {28,0x67FFFD3}, + [I(52,132)] = {28,0x6BFFFD3}, + [I(53,132)] = {28,0x6FFFFD3}, + [I(54,132)] = {28,0x73FFFD3}, + [I(55,132)] = {28,0x77FFFD3}, + [I(56,132)] = {28,0x7BFFFD3}, + [I(57,132)] = {28,0x7FFFFD3}, + [I(58,132)] = {29,0x173FFFD3}, + [I(59,132)] = {30,0x3EFFFFD3}, + [I(60,132)] = {64,0}, + [I(61,132)] = {28,0x83FFFD3}, + [I(62,132)] = {64,0}, + [I(63,132)] = {X32,0xFF3FFFD3}, + [I(64,132)] = {64,0}, + [I(65,132)] = {28,0x87FFFD3}, + [I(66,132)] = {29,0x177FFFD3}, + [I(67,132)] = {29,0x17BFFFD3}, + [I(68,132)] = {29,0x17FFFFD3}, + [I(69,132)] = {29,0x183FFFD3}, + [I(70,132)] = {29,0x187FFFD3}, + [I(71,132)] = {29,0x18BFFFD3}, + [I(72,132)] = {29,0x18FFFFD3}, + [I(73,132)] = {29,0x193FFFD3}, + [I(74,132)] = {29,0x197FFFD3}, + [I(75,132)] = {29,0x19BFFFD3}, + [I(76,132)] = {29,0x19FFFFD3}, + [I(77,132)] = {29,0x1A3FFFD3}, + [I(78,132)] = {29,0x1A7FFFD3}, + [I(79,132)] = {29,0x1ABFFFD3}, + [I(80,132)] = {29,0x1AFFFFD3}, + [I(81,132)] = {29,0x1B3FFFD3}, + [I(82,132)] = {29,0x1B7FFFD3}, + [I(83,132)] = {29,0x1BBFFFD3}, + [I(84,132)] = {29,0x1BFFFFD3}, + [I(85,132)] = {29,0x1C3FFFD3}, + [I(86,132)] = {29,0x1C7FFFD3}, + [I(87,132)] = {29,0x1CBFFFD3}, + [I(88,132)] = {30,0x3F3FFFD3}, + [I(89,132)] = {29,0x1CFFFFD3}, + [I(90,132)] = {30,0x3F7FFFD3}, + [I(91,132)] = {64,0}, + [I(92,132)] = {64,0}, + [I(93,132)] = {64,0}, + [I(94,132)] = {64,0}, + [I(95,132)] = {28,0x8BFFFD3}, + [I(96,132)] = {64,0}, + [I(97,132)] = {27,0xFFFFD3}, + [I(98,132)] = {28,0x8FFFFD3}, + [I(99,132)] = {27,0x13FFFD3}, + [I(100,132)] = {28,0x93FFFD3}, + [I(101,132)] = {27,0x17FFFD3}, + [I(102,132)] = {28,0x97FFFD3}, + [I(103,132)] = {28,0x9BFFFD3}, + [I(104,132)] = {28,0x9FFFFD3}, + [I(105,132)] = {27,0x1BFFFD3}, + [I(106,132)] = {29,0x1D3FFFD3}, + [I(107,132)] = {29,0x1D7FFFD3}, + [I(108,132)] = {28,0xA3FFFD3}, + [I(109,132)] = {28,0xA7FFFD3}, + [I(110,132)] = {28,0xABFFFD3}, + [I(111,132)] = {27,0x1FFFFD3}, + [I(112,132)] = {28,0xAFFFFD3}, + [I(113,132)] = {29,0x1DBFFFD3}, + [I(114,132)] = {28,0xB3FFFD3}, + [I(115,132)] = {27,0x23FFFD3}, + [I(116,132)] = {27,0x27FFFD3}, + [I(117,132)] = {28,0xB7FFFD3}, + [I(118,132)] = {29,0x1DFFFFD3}, + [I(119,132)] = {29,0x1E3FFFD3}, + [I(120,132)] = {29,0x1E7FFFD3}, + [I(121,132)] = {29,0x1EBFFFD3}, + [I(122,132)] = {29,0x1EFFFFD3}, + [I(123,132)] = {64,0}, + [I(124,132)] = {64,0}, + [I(125,132)] = {64,0}, + [I(126,132)] = {64,0}, + [I(127,132)] = {64,0}, + [I(128,132)] = {64,0}, + [I(129,132)] = {64,0}, + [I(130,132)] = {64,0}, + [I(131,132)] = {64,0}, + [I(132,132)] = {64,0}, + [I(133,132)] = {64,0}, + [I(134,132)] = {64,0}, + [I(135,132)] = {64,0}, + [I(136,132)] = {64,0}, + [I(137,132)] = {64,0}, + [I(138,132)] = {64,0}, + [I(139,132)] = {64,0}, + [I(140,132)] = {64,0}, + [I(141,132)] = {64,0}, + [I(142,132)] = {64,0}, + [I(143,132)] = {64,0}, + [I(144,132)] = {64,0}, + [I(145,132)] = {64,0}, + [I(146,132)] = {64,0}, + [I(147,132)] = {64,0}, + [I(148,132)] = {64,0}, + [I(149,132)] = {64,0}, + [I(150,132)] = {64,0}, + [I(151,132)] = {64,0}, + [I(152,132)] = {64,0}, + [I(153,132)] = {64,0}, + [I(154,132)] = {64,0}, + [I(155,132)] = {64,0}, + [I(156,132)] = {64,0}, + [I(157,132)] = {64,0}, + [I(158,132)] = {64,0}, + [I(159,132)] = {64,0}, + [I(160,132)] = {64,0}, + [I(161,132)] = {64,0}, + [I(162,132)] = {64,0}, + [I(163,132)] = {64,0}, + [I(164,132)] = {64,0}, + [I(165,132)] = {64,0}, + [I(166,132)] = {64,0}, + [I(167,132)] = {64,0}, + [I(168,132)] = {64,0}, + [I(169,132)] = {64,0}, + [I(170,132)] = {64,0}, + [I(171,132)] = {64,0}, + [I(172,132)] = {64,0}, + [I(173,132)] = {64,0}, + [I(174,132)] = {64,0}, + [I(175,132)] = {64,0}, + [I(176,132)] = {64,0}, + [I(177,132)] = {64,0}, + [I(178,132)] = {64,0}, + [I(179,132)] = {64,0}, + [I(180,132)] = {64,0}, + [I(181,132)] = {64,0}, + [I(182,132)] = {64,0}, + [I(183,132)] = {64,0}, + [I(184,132)] = {64,0}, + [I(185,132)] = {64,0}, + [I(186,132)] = {64,0}, + [I(187,132)] = {64,0}, + [I(188,132)] = {64,0}, + [I(189,132)] = {64,0}, + [I(190,132)] = {64,0}, + [I(191,132)] = {64,0}, + [I(192,132)] = {64,0}, + [I(193,132)] = {64,0}, + [I(194,132)] = {64,0}, + [I(195,132)] = {64,0}, + [I(196,132)] = {64,0}, + [I(197,132)] = {64,0}, + [I(198,132)] = {64,0}, + [I(199,132)] = {64,0}, + [I(200,132)] = {64,0}, + [I(201,132)] = {64,0}, + [I(202,132)] = {64,0}, + [I(203,132)] = {64,0}, + [I(204,132)] = {64,0}, + [I(205,132)] = {64,0}, + [I(206,132)] = {64,0}, + [I(207,132)] = {64,0}, + [I(208,132)] = {64,0}, + [I(209,132)] = {64,0}, + [I(210,132)] = {64,0}, + [I(211,132)] = {64,0}, + [I(212,132)] = {64,0}, + [I(213,132)] = {64,0}, + [I(214,132)] = {64,0}, + [I(215,132)] = {64,0}, + [I(216,132)] = {64,0}, + [I(217,132)] = {64,0}, + [I(218,132)] = {64,0}, + [I(219,132)] = {64,0}, + [I(220,132)] = {64,0}, + [I(221,132)] = {64,0}, + [I(222,132)] = {64,0}, + [I(223,132)] = {64,0}, + [I(224,132)] = {64,0}, + [I(225,132)] = {64,0}, + [I(226,132)] = {64,0}, + [I(227,132)] = {64,0}, + [I(228,132)] = {64,0}, + [I(229,132)] = {64,0}, + [I(230,132)] = {64,0}, + [I(231,132)] = {64,0}, + [I(232,132)] = {64,0}, + [I(233,132)] = {64,0}, + [I(234,132)] = {64,0}, + [I(235,132)] = {64,0}, + [I(236,132)] = {64,0}, + [I(237,132)] = {64,0}, + [I(238,132)] = {64,0}, + [I(239,132)] = {64,0}, + [I(240,132)] = {64,0}, + [I(241,132)] = {64,0}, + [I(242,132)] = {64,0}, + [I(243,132)] = {64,0}, + [I(244,132)] = {64,0}, + [I(245,132)] = {64,0}, + [I(246,132)] = {64,0}, + [I(247,132)] = {64,0}, + [I(248,132)] = {64,0}, + [I(249,132)] = {64,0}, + [I(250,132)] = {64,0}, + [I(251,132)] = {64,0}, + [I(252,132)] = {64,0}, + [I(253,132)] = {64,0}, + [I(254,132)] = {64,0}, + [I(255,132)] = {64,0}, + [I(0,133)] = {64,0}, + [I(1,133)] = {64,0}, + [I(2,133)] = {64,0}, + [I(3,133)] = {64,0}, + [I(4,133)] = {64,0}, + [I(5,133)] = {64,0}, + [I(6,133)] = {64,0}, + [I(7,133)] = {64,0}, + [I(8,133)] = {64,0}, + [I(9,133)] = {64,0}, + [I(10,133)] = {64,0}, + [I(11,133)] = {64,0}, + [I(12,133)] = {64,0}, + [I(13,133)] = {64,0}, + [I(14,133)] = {64,0}, + [I(15,133)] = {64,0}, + [I(16,133)] = {64,0}, + [I(17,133)] = {64,0}, + [I(18,133)] = {64,0}, + [I(19,133)] = {64,0}, + [I(20,133)] = {64,0}, + [I(21,133)] = {64,0}, + [I(22,133)] = {64,0}, + [I(23,133)] = {64,0}, + [I(24,133)] = {64,0}, + [I(25,133)] = {64,0}, + [I(26,133)] = {64,0}, + [I(27,133)] = {64,0}, + [I(28,133)] = {64,0}, + [I(29,133)] = {64,0}, + [I(30,133)] = {64,0}, + [I(31,133)] = {64,0}, + [I(32,133)] = {28,0x53FFFD4}, + [I(33,133)] = {X32,0xFE3FFFD4}, + [I(34,133)] = {X32,0xFE7FFFD4}, + [I(35,133)] = {64,0}, + [I(36,133)] = {64,0}, + [I(37,133)] = {28,0x57FFFD4}, + [I(38,133)] = {30,0x3E3FFFD4}, + [I(39,133)] = {64,0}, + [I(40,133)] = {X32,0xFEBFFFD4}, + [I(41,133)] = {X32,0xFEFFFFD4}, + [I(42,133)] = {30,0x3E7FFFD4}, + [I(43,133)] = {64,0}, + [I(44,133)] = {30,0x3EBFFFD4}, + [I(45,133)] = {28,0x5BFFFD4}, + [I(46,133)] = {28,0x5FFFFD4}, + [I(47,133)] = {28,0x63FFFD4}, + [I(48,133)] = {27,0x3FFFD4}, + [I(49,133)] = {27,0x7FFFD4}, + [I(50,133)] = {27,0xBFFFD4}, + [I(51,133)] = {28,0x67FFFD4}, + [I(52,133)] = {28,0x6BFFFD4}, + [I(53,133)] = {28,0x6FFFFD4}, + [I(54,133)] = {28,0x73FFFD4}, + [I(55,133)] = {28,0x77FFFD4}, + [I(56,133)] = {28,0x7BFFFD4}, + [I(57,133)] = {28,0x7FFFFD4}, + [I(58,133)] = {29,0x173FFFD4}, + [I(59,133)] = {30,0x3EFFFFD4}, + [I(60,133)] = {64,0}, + [I(61,133)] = {28,0x83FFFD4}, + [I(62,133)] = {64,0}, + [I(63,133)] = {X32,0xFF3FFFD4}, + [I(64,133)] = {64,0}, + [I(65,133)] = {28,0x87FFFD4}, + [I(66,133)] = {29,0x177FFFD4}, + [I(67,133)] = {29,0x17BFFFD4}, + [I(68,133)] = {29,0x17FFFFD4}, + [I(69,133)] = {29,0x183FFFD4}, + [I(70,133)] = {29,0x187FFFD4}, + [I(71,133)] = {29,0x18BFFFD4}, + [I(72,133)] = {29,0x18FFFFD4}, + [I(73,133)] = {29,0x193FFFD4}, + [I(74,133)] = {29,0x197FFFD4}, + [I(75,133)] = {29,0x19BFFFD4}, + [I(76,133)] = {29,0x19FFFFD4}, + [I(77,133)] = {29,0x1A3FFFD4}, + [I(78,133)] = {29,0x1A7FFFD4}, + [I(79,133)] = {29,0x1ABFFFD4}, + [I(80,133)] = {29,0x1AFFFFD4}, + [I(81,133)] = {29,0x1B3FFFD4}, + [I(82,133)] = {29,0x1B7FFFD4}, + [I(83,133)] = {29,0x1BBFFFD4}, + [I(84,133)] = {29,0x1BFFFFD4}, + [I(85,133)] = {29,0x1C3FFFD4}, + [I(86,133)] = {29,0x1C7FFFD4}, + [I(87,133)] = {29,0x1CBFFFD4}, + [I(88,133)] = {30,0x3F3FFFD4}, + [I(89,133)] = {29,0x1CFFFFD4}, + [I(90,133)] = {30,0x3F7FFFD4}, + [I(91,133)] = {64,0}, + [I(92,133)] = {64,0}, + [I(93,133)] = {64,0}, + [I(94,133)] = {64,0}, + [I(95,133)] = {28,0x8BFFFD4}, + [I(96,133)] = {64,0}, + [I(97,133)] = {27,0xFFFFD4}, + [I(98,133)] = {28,0x8FFFFD4}, + [I(99,133)] = {27,0x13FFFD4}, + [I(100,133)] = {28,0x93FFFD4}, + [I(101,133)] = {27,0x17FFFD4}, + [I(102,133)] = {28,0x97FFFD4}, + [I(103,133)] = {28,0x9BFFFD4}, + [I(104,133)] = {28,0x9FFFFD4}, + [I(105,133)] = {27,0x1BFFFD4}, + [I(106,133)] = {29,0x1D3FFFD4}, + [I(107,133)] = {29,0x1D7FFFD4}, + [I(108,133)] = {28,0xA3FFFD4}, + [I(109,133)] = {28,0xA7FFFD4}, + [I(110,133)] = {28,0xABFFFD4}, + [I(111,133)] = {27,0x1FFFFD4}, + [I(112,133)] = {28,0xAFFFFD4}, + [I(113,133)] = {29,0x1DBFFFD4}, + [I(114,133)] = {28,0xB3FFFD4}, + [I(115,133)] = {27,0x23FFFD4}, + [I(116,133)] = {27,0x27FFFD4}, + [I(117,133)] = {28,0xB7FFFD4}, + [I(118,133)] = {29,0x1DFFFFD4}, + [I(119,133)] = {29,0x1E3FFFD4}, + [I(120,133)] = {29,0x1E7FFFD4}, + [I(121,133)] = {29,0x1EBFFFD4}, + [I(122,133)] = {29,0x1EFFFFD4}, + [I(123,133)] = {64,0}, + [I(124,133)] = {64,0}, + [I(125,133)] = {64,0}, + [I(126,133)] = {64,0}, + [I(127,133)] = {64,0}, + [I(128,133)] = {64,0}, + [I(129,133)] = {64,0}, + [I(130,133)] = {64,0}, + [I(131,133)] = {64,0}, + [I(132,133)] = {64,0}, + [I(133,133)] = {64,0}, + [I(134,133)] = {64,0}, + [I(135,133)] = {64,0}, + [I(136,133)] = {64,0}, + [I(137,133)] = {64,0}, + [I(138,133)] = {64,0}, + [I(139,133)] = {64,0}, + [I(140,133)] = {64,0}, + [I(141,133)] = {64,0}, + [I(142,133)] = {64,0}, + [I(143,133)] = {64,0}, + [I(144,133)] = {64,0}, + [I(145,133)] = {64,0}, + [I(146,133)] = {64,0}, + [I(147,133)] = {64,0}, + [I(148,133)] = {64,0}, + [I(149,133)] = {64,0}, + [I(150,133)] = {64,0}, + [I(151,133)] = {64,0}, + [I(152,133)] = {64,0}, + [I(153,133)] = {64,0}, + [I(154,133)] = {64,0}, + [I(155,133)] = {64,0}, + [I(156,133)] = {64,0}, + [I(157,133)] = {64,0}, + [I(158,133)] = {64,0}, + [I(159,133)] = {64,0}, + [I(160,133)] = {64,0}, + [I(161,133)] = {64,0}, + [I(162,133)] = {64,0}, + [I(163,133)] = {64,0}, + [I(164,133)] = {64,0}, + [I(165,133)] = {64,0}, + [I(166,133)] = {64,0}, + [I(167,133)] = {64,0}, + [I(168,133)] = {64,0}, + [I(169,133)] = {64,0}, + [I(170,133)] = {64,0}, + [I(171,133)] = {64,0}, + [I(172,133)] = {64,0}, + [I(173,133)] = {64,0}, + [I(174,133)] = {64,0}, + [I(175,133)] = {64,0}, + [I(176,133)] = {64,0}, + [I(177,133)] = {64,0}, + [I(178,133)] = {64,0}, + [I(179,133)] = {64,0}, + [I(180,133)] = {64,0}, + [I(181,133)] = {64,0}, + [I(182,133)] = {64,0}, + [I(183,133)] = {64,0}, + [I(184,133)] = {64,0}, + [I(185,133)] = {64,0}, + [I(186,133)] = {64,0}, + [I(187,133)] = {64,0}, + [I(188,133)] = {64,0}, + [I(189,133)] = {64,0}, + [I(190,133)] = {64,0}, + [I(191,133)] = {64,0}, + [I(192,133)] = {64,0}, + [I(193,133)] = {64,0}, + [I(194,133)] = {64,0}, + [I(195,133)] = {64,0}, + [I(196,133)] = {64,0}, + [I(197,133)] = {64,0}, + [I(198,133)] = {64,0}, + [I(199,133)] = {64,0}, + [I(200,133)] = {64,0}, + [I(201,133)] = {64,0}, + [I(202,133)] = {64,0}, + [I(203,133)] = {64,0}, + [I(204,133)] = {64,0}, + [I(205,133)] = {64,0}, + [I(206,133)] = {64,0}, + [I(207,133)] = {64,0}, + [I(208,133)] = {64,0}, + [I(209,133)] = {64,0}, + [I(210,133)] = {64,0}, + [I(211,133)] = {64,0}, + [I(212,133)] = {64,0}, + [I(213,133)] = {64,0}, + [I(214,133)] = {64,0}, + [I(215,133)] = {64,0}, + [I(216,133)] = {64,0}, + [I(217,133)] = {64,0}, + [I(218,133)] = {64,0}, + [I(219,133)] = {64,0}, + [I(220,133)] = {64,0}, + [I(221,133)] = {64,0}, + [I(222,133)] = {64,0}, + [I(223,133)] = {64,0}, + [I(224,133)] = {64,0}, + [I(225,133)] = {64,0}, + [I(226,133)] = {64,0}, + [I(227,133)] = {64,0}, + [I(228,133)] = {64,0}, + [I(229,133)] = {64,0}, + [I(230,133)] = {64,0}, + [I(231,133)] = {64,0}, + [I(232,133)] = {64,0}, + [I(233,133)] = {64,0}, + [I(234,133)] = {64,0}, + [I(235,133)] = {64,0}, + [I(236,133)] = {64,0}, + [I(237,133)] = {64,0}, + [I(238,133)] = {64,0}, + [I(239,133)] = {64,0}, + [I(240,133)] = {64,0}, + [I(241,133)] = {64,0}, + [I(242,133)] = {64,0}, + [I(243,133)] = {64,0}, + [I(244,133)] = {64,0}, + [I(245,133)] = {64,0}, + [I(246,133)] = {64,0}, + [I(247,133)] = {64,0}, + [I(248,133)] = {64,0}, + [I(249,133)] = {64,0}, + [I(250,133)] = {64,0}, + [I(251,133)] = {64,0}, + [I(252,133)] = {64,0}, + [I(253,133)] = {64,0}, + [I(254,133)] = {64,0}, + [I(255,133)] = {64,0}, + [I(0,134)] = {64,0}, + [I(1,134)] = {64,0}, + [I(2,134)] = {64,0}, + [I(3,134)] = {64,0}, + [I(4,134)] = {64,0}, + [I(5,134)] = {64,0}, + [I(6,134)] = {64,0}, + [I(7,134)] = {64,0}, + [I(8,134)] = {64,0}, + [I(9,134)] = {64,0}, + [I(10,134)] = {64,0}, + [I(11,134)] = {64,0}, + [I(12,134)] = {64,0}, + [I(13,134)] = {64,0}, + [I(14,134)] = {64,0}, + [I(15,134)] = {64,0}, + [I(16,134)] = {64,0}, + [I(17,134)] = {64,0}, + [I(18,134)] = {64,0}, + [I(19,134)] = {64,0}, + [I(20,134)] = {64,0}, + [I(21,134)] = {64,0}, + [I(22,134)] = {64,0}, + [I(23,134)] = {64,0}, + [I(24,134)] = {64,0}, + [I(25,134)] = {64,0}, + [I(26,134)] = {64,0}, + [I(27,134)] = {64,0}, + [I(28,134)] = {64,0}, + [I(29,134)] = {64,0}, + [I(30,134)] = {64,0}, + [I(31,134)] = {64,0}, + [I(32,134)] = {28,0x53FFFD5}, + [I(33,134)] = {X32,0xFE3FFFD5}, + [I(34,134)] = {X32,0xFE7FFFD5}, + [I(35,134)] = {64,0}, + [I(36,134)] = {64,0}, + [I(37,134)] = {28,0x57FFFD5}, + [I(38,134)] = {30,0x3E3FFFD5}, + [I(39,134)] = {64,0}, + [I(40,134)] = {X32,0xFEBFFFD5}, + [I(41,134)] = {X32,0xFEFFFFD5}, + [I(42,134)] = {30,0x3E7FFFD5}, + [I(43,134)] = {64,0}, + [I(44,134)] = {30,0x3EBFFFD5}, + [I(45,134)] = {28,0x5BFFFD5}, + [I(46,134)] = {28,0x5FFFFD5}, + [I(47,134)] = {28,0x63FFFD5}, + [I(48,134)] = {27,0x3FFFD5}, + [I(49,134)] = {27,0x7FFFD5}, + [I(50,134)] = {27,0xBFFFD5}, + [I(51,134)] = {28,0x67FFFD5}, + [I(52,134)] = {28,0x6BFFFD5}, + [I(53,134)] = {28,0x6FFFFD5}, + [I(54,134)] = {28,0x73FFFD5}, + [I(55,134)] = {28,0x77FFFD5}, + [I(56,134)] = {28,0x7BFFFD5}, + [I(57,134)] = {28,0x7FFFFD5}, + [I(58,134)] = {29,0x173FFFD5}, + [I(59,134)] = {30,0x3EFFFFD5}, + [I(60,134)] = {64,0}, + [I(61,134)] = {28,0x83FFFD5}, + [I(62,134)] = {64,0}, + [I(63,134)] = {X32,0xFF3FFFD5}, + [I(64,134)] = {64,0}, + [I(65,134)] = {28,0x87FFFD5}, + [I(66,134)] = {29,0x177FFFD5}, + [I(67,134)] = {29,0x17BFFFD5}, + [I(68,134)] = {29,0x17FFFFD5}, + [I(69,134)] = {29,0x183FFFD5}, + [I(70,134)] = {29,0x187FFFD5}, + [I(71,134)] = {29,0x18BFFFD5}, + [I(72,134)] = {29,0x18FFFFD5}, + [I(73,134)] = {29,0x193FFFD5}, + [I(74,134)] = {29,0x197FFFD5}, + [I(75,134)] = {29,0x19BFFFD5}, + [I(76,134)] = {29,0x19FFFFD5}, + [I(77,134)] = {29,0x1A3FFFD5}, + [I(78,134)] = {29,0x1A7FFFD5}, + [I(79,134)] = {29,0x1ABFFFD5}, + [I(80,134)] = {29,0x1AFFFFD5}, + [I(81,134)] = {29,0x1B3FFFD5}, + [I(82,134)] = {29,0x1B7FFFD5}, + [I(83,134)] = {29,0x1BBFFFD5}, + [I(84,134)] = {29,0x1BFFFFD5}, + [I(85,134)] = {29,0x1C3FFFD5}, + [I(86,134)] = {29,0x1C7FFFD5}, + [I(87,134)] = {29,0x1CBFFFD5}, + [I(88,134)] = {30,0x3F3FFFD5}, + [I(89,134)] = {29,0x1CFFFFD5}, + [I(90,134)] = {30,0x3F7FFFD5}, + [I(91,134)] = {64,0}, + [I(92,134)] = {64,0}, + [I(93,134)] = {64,0}, + [I(94,134)] = {64,0}, + [I(95,134)] = {28,0x8BFFFD5}, + [I(96,134)] = {64,0}, + [I(97,134)] = {27,0xFFFFD5}, + [I(98,134)] = {28,0x8FFFFD5}, + [I(99,134)] = {27,0x13FFFD5}, + [I(100,134)] = {28,0x93FFFD5}, + [I(101,134)] = {27,0x17FFFD5}, + [I(102,134)] = {28,0x97FFFD5}, + [I(103,134)] = {28,0x9BFFFD5}, + [I(104,134)] = {28,0x9FFFFD5}, + [I(105,134)] = {27,0x1BFFFD5}, + [I(106,134)] = {29,0x1D3FFFD5}, + [I(107,134)] = {29,0x1D7FFFD5}, + [I(108,134)] = {28,0xA3FFFD5}, + [I(109,134)] = {28,0xA7FFFD5}, + [I(110,134)] = {28,0xABFFFD5}, + [I(111,134)] = {27,0x1FFFFD5}, + [I(112,134)] = {28,0xAFFFFD5}, + [I(113,134)] = {29,0x1DBFFFD5}, + [I(114,134)] = {28,0xB3FFFD5}, + [I(115,134)] = {27,0x23FFFD5}, + [I(116,134)] = {27,0x27FFFD5}, + [I(117,134)] = {28,0xB7FFFD5}, + [I(118,134)] = {29,0x1DFFFFD5}, + [I(119,134)] = {29,0x1E3FFFD5}, + [I(120,134)] = {29,0x1E7FFFD5}, + [I(121,134)] = {29,0x1EBFFFD5}, + [I(122,134)] = {29,0x1EFFFFD5}, + [I(123,134)] = {64,0}, + [I(124,134)] = {64,0}, + [I(125,134)] = {64,0}, + [I(126,134)] = {64,0}, + [I(127,134)] = {64,0}, + [I(128,134)] = {64,0}, + [I(129,134)] = {64,0}, + [I(130,134)] = {64,0}, + [I(131,134)] = {64,0}, + [I(132,134)] = {64,0}, + [I(133,134)] = {64,0}, + [I(134,134)] = {64,0}, + [I(135,134)] = {64,0}, + [I(136,134)] = {64,0}, + [I(137,134)] = {64,0}, + [I(138,134)] = {64,0}, + [I(139,134)] = {64,0}, + [I(140,134)] = {64,0}, + [I(141,134)] = {64,0}, + [I(142,134)] = {64,0}, + [I(143,134)] = {64,0}, + [I(144,134)] = {64,0}, + [I(145,134)] = {64,0}, + [I(146,134)] = {64,0}, + [I(147,134)] = {64,0}, + [I(148,134)] = {64,0}, + [I(149,134)] = {64,0}, + [I(150,134)] = {64,0}, + [I(151,134)] = {64,0}, + [I(152,134)] = {64,0}, + [I(153,134)] = {64,0}, + [I(154,134)] = {64,0}, + [I(155,134)] = {64,0}, + [I(156,134)] = {64,0}, + [I(157,134)] = {64,0}, + [I(158,134)] = {64,0}, + [I(159,134)] = {64,0}, + [I(160,134)] = {64,0}, + [I(161,134)] = {64,0}, + [I(162,134)] = {64,0}, + [I(163,134)] = {64,0}, + [I(164,134)] = {64,0}, + [I(165,134)] = {64,0}, + [I(166,134)] = {64,0}, + [I(167,134)] = {64,0}, + [I(168,134)] = {64,0}, + [I(169,134)] = {64,0}, + [I(170,134)] = {64,0}, + [I(171,134)] = {64,0}, + [I(172,134)] = {64,0}, + [I(173,134)] = {64,0}, + [I(174,134)] = {64,0}, + [I(175,134)] = {64,0}, + [I(176,134)] = {64,0}, + [I(177,134)] = {64,0}, + [I(178,134)] = {64,0}, + [I(179,134)] = {64,0}, + [I(180,134)] = {64,0}, + [I(181,134)] = {64,0}, + [I(182,134)] = {64,0}, + [I(183,134)] = {64,0}, + [I(184,134)] = {64,0}, + [I(185,134)] = {64,0}, + [I(186,134)] = {64,0}, + [I(187,134)] = {64,0}, + [I(188,134)] = {64,0}, + [I(189,134)] = {64,0}, + [I(190,134)] = {64,0}, + [I(191,134)] = {64,0}, + [I(192,134)] = {64,0}, + [I(193,134)] = {64,0}, + [I(194,134)] = {64,0}, + [I(195,134)] = {64,0}, + [I(196,134)] = {64,0}, + [I(197,134)] = {64,0}, + [I(198,134)] = {64,0}, + [I(199,134)] = {64,0}, + [I(200,134)] = {64,0}, + [I(201,134)] = {64,0}, + [I(202,134)] = {64,0}, + [I(203,134)] = {64,0}, + [I(204,134)] = {64,0}, + [I(205,134)] = {64,0}, + [I(206,134)] = {64,0}, + [I(207,134)] = {64,0}, + [I(208,134)] = {64,0}, + [I(209,134)] = {64,0}, + [I(210,134)] = {64,0}, + [I(211,134)] = {64,0}, + [I(212,134)] = {64,0}, + [I(213,134)] = {64,0}, + [I(214,134)] = {64,0}, + [I(215,134)] = {64,0}, + [I(216,134)] = {64,0}, + [I(217,134)] = {64,0}, + [I(218,134)] = {64,0}, + [I(219,134)] = {64,0}, + [I(220,134)] = {64,0}, + [I(221,134)] = {64,0}, + [I(222,134)] = {64,0}, + [I(223,134)] = {64,0}, + [I(224,134)] = {64,0}, + [I(225,134)] = {64,0}, + [I(226,134)] = {64,0}, + [I(227,134)] = {64,0}, + [I(228,134)] = {64,0}, + [I(229,134)] = {64,0}, + [I(230,134)] = {64,0}, + [I(231,134)] = {64,0}, + [I(232,134)] = {64,0}, + [I(233,134)] = {64,0}, + [I(234,134)] = {64,0}, + [I(235,134)] = {64,0}, + [I(236,134)] = {64,0}, + [I(237,134)] = {64,0}, + [I(238,134)] = {64,0}, + [I(239,134)] = {64,0}, + [I(240,134)] = {64,0}, + [I(241,134)] = {64,0}, + [I(242,134)] = {64,0}, + [I(243,134)] = {64,0}, + [I(244,134)] = {64,0}, + [I(245,134)] = {64,0}, + [I(246,134)] = {64,0}, + [I(247,134)] = {64,0}, + [I(248,134)] = {64,0}, + [I(249,134)] = {64,0}, + [I(250,134)] = {64,0}, + [I(251,134)] = {64,0}, + [I(252,134)] = {64,0}, + [I(253,134)] = {64,0}, + [I(254,134)] = {64,0}, + [I(255,134)] = {64,0}, + [I(0,135)] = {64,0}, + [I(1,135)] = {64,0}, + [I(2,135)] = {64,0}, + [I(3,135)] = {64,0}, + [I(4,135)] = {64,0}, + [I(5,135)] = {64,0}, + [I(6,135)] = {64,0}, + [I(7,135)] = {64,0}, + [I(8,135)] = {64,0}, + [I(9,135)] = {64,0}, + [I(10,135)] = {64,0}, + [I(11,135)] = {64,0}, + [I(12,135)] = {64,0}, + [I(13,135)] = {64,0}, + [I(14,135)] = {64,0}, + [I(15,135)] = {64,0}, + [I(16,135)] = {64,0}, + [I(17,135)] = {64,0}, + [I(18,135)] = {64,0}, + [I(19,135)] = {64,0}, + [I(20,135)] = {64,0}, + [I(21,135)] = {64,0}, + [I(22,135)] = {64,0}, + [I(23,135)] = {64,0}, + [I(24,135)] = {64,0}, + [I(25,135)] = {64,0}, + [I(26,135)] = {64,0}, + [I(27,135)] = {64,0}, + [I(28,135)] = {64,0}, + [I(29,135)] = {64,0}, + [I(30,135)] = {64,0}, + [I(31,135)] = {64,0}, + [I(32,135)] = {29,0xA7FFFD9}, + [I(33,135)] = {64,0}, + [I(34,135)] = {64,0}, + [I(35,135)] = {64,0}, + [I(36,135)] = {64,0}, + [I(37,135)] = {29,0xAFFFFD9}, + [I(38,135)] = {31,0x7C7FFFD9}, + [I(39,135)] = {64,0}, + [I(40,135)] = {64,0}, + [I(41,135)] = {64,0}, + [I(42,135)] = {31,0x7CFFFFD9}, + [I(43,135)] = {64,0}, + [I(44,135)] = {31,0x7D7FFFD9}, + [I(45,135)] = {29,0xB7FFFD9}, + [I(46,135)] = {29,0xBFFFFD9}, + [I(47,135)] = {29,0xC7FFFD9}, + [I(48,135)] = {28,0x7FFFD9}, + [I(49,135)] = {28,0xFFFFD9}, + [I(50,135)] = {28,0x17FFFD9}, + [I(51,135)] = {29,0xCFFFFD9}, + [I(52,135)] = {29,0xD7FFFD9}, + [I(53,135)] = {29,0xDFFFFD9}, + [I(54,135)] = {29,0xE7FFFD9}, + [I(55,135)] = {29,0xEFFFFD9}, + [I(56,135)] = {29,0xF7FFFD9}, + [I(57,135)] = {29,0xFFFFFD9}, + [I(58,135)] = {30,0x2E7FFFD9}, + [I(59,135)] = {31,0x7DFFFFD9}, + [I(60,135)] = {64,0}, + [I(61,135)] = {29,0x107FFFD9}, + [I(62,135)] = {64,0}, + [I(63,135)] = {64,0}, + [I(64,135)] = {64,0}, + [I(65,135)] = {29,0x10FFFFD9}, + [I(66,135)] = {30,0x2EFFFFD9}, + [I(67,135)] = {30,0x2F7FFFD9}, + [I(68,135)] = {30,0x2FFFFFD9}, + [I(69,135)] = {30,0x307FFFD9}, + [I(70,135)] = {30,0x30FFFFD9}, + [I(71,135)] = {30,0x317FFFD9}, + [I(72,135)] = {30,0x31FFFFD9}, + [I(73,135)] = {30,0x327FFFD9}, + [I(74,135)] = {30,0x32FFFFD9}, + [I(75,135)] = {30,0x337FFFD9}, + [I(76,135)] = {30,0x33FFFFD9}, + [I(77,135)] = {30,0x347FFFD9}, + [I(78,135)] = {30,0x34FFFFD9}, + [I(79,135)] = {30,0x357FFFD9}, + [I(80,135)] = {30,0x35FFFFD9}, + [I(81,135)] = {30,0x367FFFD9}, + [I(82,135)] = {30,0x36FFFFD9}, + [I(83,135)] = {30,0x377FFFD9}, + [I(84,135)] = {30,0x37FFFFD9}, + [I(85,135)] = {30,0x387FFFD9}, + [I(86,135)] = {30,0x38FFFFD9}, + [I(87,135)] = {30,0x397FFFD9}, + [I(88,135)] = {31,0x7E7FFFD9}, + [I(89,135)] = {30,0x39FFFFD9}, + [I(90,135)] = {31,0x7EFFFFD9}, + [I(91,135)] = {64,0}, + [I(92,135)] = {64,0}, + [I(93,135)] = {64,0}, + [I(94,135)] = {64,0}, + [I(95,135)] = {29,0x117FFFD9}, + [I(96,135)] = {64,0}, + [I(97,135)] = {28,0x1FFFFD9}, + [I(98,135)] = {29,0x11FFFFD9}, + [I(99,135)] = {28,0x27FFFD9}, + [I(100,135)] = {29,0x127FFFD9}, + [I(101,135)] = {28,0x2FFFFD9}, + [I(102,135)] = {29,0x12FFFFD9}, + [I(103,135)] = {29,0x137FFFD9}, + [I(104,135)] = {29,0x13FFFFD9}, + [I(105,135)] = {28,0x37FFFD9}, + [I(106,135)] = {30,0x3A7FFFD9}, + [I(107,135)] = {30,0x3AFFFFD9}, + [I(108,135)] = {29,0x147FFFD9}, + [I(109,135)] = {29,0x14FFFFD9}, + [I(110,135)] = {29,0x157FFFD9}, + [I(111,135)] = {28,0x3FFFFD9}, + [I(112,135)] = {29,0x15FFFFD9}, + [I(113,135)] = {30,0x3B7FFFD9}, + [I(114,135)] = {29,0x167FFFD9}, + [I(115,135)] = {28,0x47FFFD9}, + [I(116,135)] = {28,0x4FFFFD9}, + [I(117,135)] = {29,0x16FFFFD9}, + [I(118,135)] = {30,0x3BFFFFD9}, + [I(119,135)] = {30,0x3C7FFFD9}, + [I(120,135)] = {30,0x3CFFFFD9}, + [I(121,135)] = {30,0x3D7FFFD9}, + [I(122,135)] = {30,0x3DFFFFD9}, + [I(123,135)] = {64,0}, + [I(124,135)] = {64,0}, + [I(125,135)] = {64,0}, + [I(126,135)] = {64,0}, + [I(127,135)] = {64,0}, + [I(128,135)] = {64,0}, + [I(129,135)] = {64,0}, + [I(130,135)] = {64,0}, + [I(131,135)] = {64,0}, + [I(132,135)] = {64,0}, + [I(133,135)] = {64,0}, + [I(134,135)] = {64,0}, + [I(135,135)] = {64,0}, + [I(136,135)] = {64,0}, + [I(137,135)] = {64,0}, + [I(138,135)] = {64,0}, + [I(139,135)] = {64,0}, + [I(140,135)] = {64,0}, + [I(141,135)] = {64,0}, + [I(142,135)] = {64,0}, + [I(143,135)] = {64,0}, + [I(144,135)] = {64,0}, + [I(145,135)] = {64,0}, + [I(146,135)] = {64,0}, + [I(147,135)] = {64,0}, + [I(148,135)] = {64,0}, + [I(149,135)] = {64,0}, + [I(150,135)] = {64,0}, + [I(151,135)] = {64,0}, + [I(152,135)] = {64,0}, + [I(153,135)] = {64,0}, + [I(154,135)] = {64,0}, + [I(155,135)] = {64,0}, + [I(156,135)] = {64,0}, + [I(157,135)] = {64,0}, + [I(158,135)] = {64,0}, + [I(159,135)] = {64,0}, + [I(160,135)] = {64,0}, + [I(161,135)] = {64,0}, + [I(162,135)] = {64,0}, + [I(163,135)] = {64,0}, + [I(164,135)] = {64,0}, + [I(165,135)] = {64,0}, + [I(166,135)] = {64,0}, + [I(167,135)] = {64,0}, + [I(168,135)] = {64,0}, + [I(169,135)] = {64,0}, + [I(170,135)] = {64,0}, + [I(171,135)] = {64,0}, + [I(172,135)] = {64,0}, + [I(173,135)] = {64,0}, + [I(174,135)] = {64,0}, + [I(175,135)] = {64,0}, + [I(176,135)] = {64,0}, + [I(177,135)] = {64,0}, + [I(178,135)] = {64,0}, + [I(179,135)] = {64,0}, + [I(180,135)] = {64,0}, + [I(181,135)] = {64,0}, + [I(182,135)] = {64,0}, + [I(183,135)] = {64,0}, + [I(184,135)] = {64,0}, + [I(185,135)] = {64,0}, + [I(186,135)] = {64,0}, + [I(187,135)] = {64,0}, + [I(188,135)] = {64,0}, + [I(189,135)] = {64,0}, + [I(190,135)] = {64,0}, + [I(191,135)] = {64,0}, + [I(192,135)] = {64,0}, + [I(193,135)] = {64,0}, + [I(194,135)] = {64,0}, + [I(195,135)] = {64,0}, + [I(196,135)] = {64,0}, + [I(197,135)] = {64,0}, + [I(198,135)] = {64,0}, + [I(199,135)] = {64,0}, + [I(200,135)] = {64,0}, + [I(201,135)] = {64,0}, + [I(202,135)] = {64,0}, + [I(203,135)] = {64,0}, + [I(204,135)] = {64,0}, + [I(205,135)] = {64,0}, + [I(206,135)] = {64,0}, + [I(207,135)] = {64,0}, + [I(208,135)] = {64,0}, + [I(209,135)] = {64,0}, + [I(210,135)] = {64,0}, + [I(211,135)] = {64,0}, + [I(212,135)] = {64,0}, + [I(213,135)] = {64,0}, + [I(214,135)] = {64,0}, + [I(215,135)] = {64,0}, + [I(216,135)] = {64,0}, + [I(217,135)] = {64,0}, + [I(218,135)] = {64,0}, + [I(219,135)] = {64,0}, + [I(220,135)] = {64,0}, + [I(221,135)] = {64,0}, + [I(222,135)] = {64,0}, + [I(223,135)] = {64,0}, + [I(224,135)] = {64,0}, + [I(225,135)] = {64,0}, + [I(226,135)] = {64,0}, + [I(227,135)] = {64,0}, + [I(228,135)] = {64,0}, + [I(229,135)] = {64,0}, + [I(230,135)] = {64,0}, + [I(231,135)] = {64,0}, + [I(232,135)] = {64,0}, + [I(233,135)] = {64,0}, + [I(234,135)] = {64,0}, + [I(235,135)] = {64,0}, + [I(236,135)] = {64,0}, + [I(237,135)] = {64,0}, + [I(238,135)] = {64,0}, + [I(239,135)] = {64,0}, + [I(240,135)] = {64,0}, + [I(241,135)] = {64,0}, + [I(242,135)] = {64,0}, + [I(243,135)] = {64,0}, + [I(244,135)] = {64,0}, + [I(245,135)] = {64,0}, + [I(246,135)] = {64,0}, + [I(247,135)] = {64,0}, + [I(248,135)] = {64,0}, + [I(249,135)] = {64,0}, + [I(250,135)] = {64,0}, + [I(251,135)] = {64,0}, + [I(252,135)] = {64,0}, + [I(253,135)] = {64,0}, + [I(254,135)] = {64,0}, + [I(255,135)] = {64,0}, + [I(0,136)] = {64,0}, + [I(1,136)] = {64,0}, + [I(2,136)] = {64,0}, + [I(3,136)] = {64,0}, + [I(4,136)] = {64,0}, + [I(5,136)] = {64,0}, + [I(6,136)] = {64,0}, + [I(7,136)] = {64,0}, + [I(8,136)] = {64,0}, + [I(9,136)] = {64,0}, + [I(10,136)] = {64,0}, + [I(11,136)] = {64,0}, + [I(12,136)] = {64,0}, + [I(13,136)] = {64,0}, + [I(14,136)] = {64,0}, + [I(15,136)] = {64,0}, + [I(16,136)] = {64,0}, + [I(17,136)] = {64,0}, + [I(18,136)] = {64,0}, + [I(19,136)] = {64,0}, + [I(20,136)] = {64,0}, + [I(21,136)] = {64,0}, + [I(22,136)] = {64,0}, + [I(23,136)] = {64,0}, + [I(24,136)] = {64,0}, + [I(25,136)] = {64,0}, + [I(26,136)] = {64,0}, + [I(27,136)] = {64,0}, + [I(28,136)] = {64,0}, + [I(29,136)] = {64,0}, + [I(30,136)] = {64,0}, + [I(31,136)] = {64,0}, + [I(32,136)] = {28,0x53FFFD6}, + [I(33,136)] = {X32,0xFE3FFFD6}, + [I(34,136)] = {X32,0xFE7FFFD6}, + [I(35,136)] = {64,0}, + [I(36,136)] = {64,0}, + [I(37,136)] = {28,0x57FFFD6}, + [I(38,136)] = {30,0x3E3FFFD6}, + [I(39,136)] = {64,0}, + [I(40,136)] = {X32,0xFEBFFFD6}, + [I(41,136)] = {X32,0xFEFFFFD6}, + [I(42,136)] = {30,0x3E7FFFD6}, + [I(43,136)] = {64,0}, + [I(44,136)] = {30,0x3EBFFFD6}, + [I(45,136)] = {28,0x5BFFFD6}, + [I(46,136)] = {28,0x5FFFFD6}, + [I(47,136)] = {28,0x63FFFD6}, + [I(48,136)] = {27,0x3FFFD6}, + [I(49,136)] = {27,0x7FFFD6}, + [I(50,136)] = {27,0xBFFFD6}, + [I(51,136)] = {28,0x67FFFD6}, + [I(52,136)] = {28,0x6BFFFD6}, + [I(53,136)] = {28,0x6FFFFD6}, + [I(54,136)] = {28,0x73FFFD6}, + [I(55,136)] = {28,0x77FFFD6}, + [I(56,136)] = {28,0x7BFFFD6}, + [I(57,136)] = {28,0x7FFFFD6}, + [I(58,136)] = {29,0x173FFFD6}, + [I(59,136)] = {30,0x3EFFFFD6}, + [I(60,136)] = {64,0}, + [I(61,136)] = {28,0x83FFFD6}, + [I(62,136)] = {64,0}, + [I(63,136)] = {X32,0xFF3FFFD6}, + [I(64,136)] = {64,0}, + [I(65,136)] = {28,0x87FFFD6}, + [I(66,136)] = {29,0x177FFFD6}, + [I(67,136)] = {29,0x17BFFFD6}, + [I(68,136)] = {29,0x17FFFFD6}, + [I(69,136)] = {29,0x183FFFD6}, + [I(70,136)] = {29,0x187FFFD6}, + [I(71,136)] = {29,0x18BFFFD6}, + [I(72,136)] = {29,0x18FFFFD6}, + [I(73,136)] = {29,0x193FFFD6}, + [I(74,136)] = {29,0x197FFFD6}, + [I(75,136)] = {29,0x19BFFFD6}, + [I(76,136)] = {29,0x19FFFFD6}, + [I(77,136)] = {29,0x1A3FFFD6}, + [I(78,136)] = {29,0x1A7FFFD6}, + [I(79,136)] = {29,0x1ABFFFD6}, + [I(80,136)] = {29,0x1AFFFFD6}, + [I(81,136)] = {29,0x1B3FFFD6}, + [I(82,136)] = {29,0x1B7FFFD6}, + [I(83,136)] = {29,0x1BBFFFD6}, + [I(84,136)] = {29,0x1BFFFFD6}, + [I(85,136)] = {29,0x1C3FFFD6}, + [I(86,136)] = {29,0x1C7FFFD6}, + [I(87,136)] = {29,0x1CBFFFD6}, + [I(88,136)] = {30,0x3F3FFFD6}, + [I(89,136)] = {29,0x1CFFFFD6}, + [I(90,136)] = {30,0x3F7FFFD6}, + [I(91,136)] = {64,0}, + [I(92,136)] = {64,0}, + [I(93,136)] = {64,0}, + [I(94,136)] = {64,0}, + [I(95,136)] = {28,0x8BFFFD6}, + [I(96,136)] = {64,0}, + [I(97,136)] = {27,0xFFFFD6}, + [I(98,136)] = {28,0x8FFFFD6}, + [I(99,136)] = {27,0x13FFFD6}, + [I(100,136)] = {28,0x93FFFD6}, + [I(101,136)] = {27,0x17FFFD6}, + [I(102,136)] = {28,0x97FFFD6}, + [I(103,136)] = {28,0x9BFFFD6}, + [I(104,136)] = {28,0x9FFFFD6}, + [I(105,136)] = {27,0x1BFFFD6}, + [I(106,136)] = {29,0x1D3FFFD6}, + [I(107,136)] = {29,0x1D7FFFD6}, + [I(108,136)] = {28,0xA3FFFD6}, + [I(109,136)] = {28,0xA7FFFD6}, + [I(110,136)] = {28,0xABFFFD6}, + [I(111,136)] = {27,0x1FFFFD6}, + [I(112,136)] = {28,0xAFFFFD6}, + [I(113,136)] = {29,0x1DBFFFD6}, + [I(114,136)] = {28,0xB3FFFD6}, + [I(115,136)] = {27,0x23FFFD6}, + [I(116,136)] = {27,0x27FFFD6}, + [I(117,136)] = {28,0xB7FFFD6}, + [I(118,136)] = {29,0x1DFFFFD6}, + [I(119,136)] = {29,0x1E3FFFD6}, + [I(120,136)] = {29,0x1E7FFFD6}, + [I(121,136)] = {29,0x1EBFFFD6}, + [I(122,136)] = {29,0x1EFFFFD6}, + [I(123,136)] = {64,0}, + [I(124,136)] = {64,0}, + [I(125,136)] = {64,0}, + [I(126,136)] = {64,0}, + [I(127,136)] = {64,0}, + [I(128,136)] = {64,0}, + [I(129,136)] = {64,0}, + [I(130,136)] = {64,0}, + [I(131,136)] = {64,0}, + [I(132,136)] = {64,0}, + [I(133,136)] = {64,0}, + [I(134,136)] = {64,0}, + [I(135,136)] = {64,0}, + [I(136,136)] = {64,0}, + [I(137,136)] = {64,0}, + [I(138,136)] = {64,0}, + [I(139,136)] = {64,0}, + [I(140,136)] = {64,0}, + [I(141,136)] = {64,0}, + [I(142,136)] = {64,0}, + [I(143,136)] = {64,0}, + [I(144,136)] = {64,0}, + [I(145,136)] = {64,0}, + [I(146,136)] = {64,0}, + [I(147,136)] = {64,0}, + [I(148,136)] = {64,0}, + [I(149,136)] = {64,0}, + [I(150,136)] = {64,0}, + [I(151,136)] = {64,0}, + [I(152,136)] = {64,0}, + [I(153,136)] = {64,0}, + [I(154,136)] = {64,0}, + [I(155,136)] = {64,0}, + [I(156,136)] = {64,0}, + [I(157,136)] = {64,0}, + [I(158,136)] = {64,0}, + [I(159,136)] = {64,0}, + [I(160,136)] = {64,0}, + [I(161,136)] = {64,0}, + [I(162,136)] = {64,0}, + [I(163,136)] = {64,0}, + [I(164,136)] = {64,0}, + [I(165,136)] = {64,0}, + [I(166,136)] = {64,0}, + [I(167,136)] = {64,0}, + [I(168,136)] = {64,0}, + [I(169,136)] = {64,0}, + [I(170,136)] = {64,0}, + [I(171,136)] = {64,0}, + [I(172,136)] = {64,0}, + [I(173,136)] = {64,0}, + [I(174,136)] = {64,0}, + [I(175,136)] = {64,0}, + [I(176,136)] = {64,0}, + [I(177,136)] = {64,0}, + [I(178,136)] = {64,0}, + [I(179,136)] = {64,0}, + [I(180,136)] = {64,0}, + [I(181,136)] = {64,0}, + [I(182,136)] = {64,0}, + [I(183,136)] = {64,0}, + [I(184,136)] = {64,0}, + [I(185,136)] = {64,0}, + [I(186,136)] = {64,0}, + [I(187,136)] = {64,0}, + [I(188,136)] = {64,0}, + [I(189,136)] = {64,0}, + [I(190,136)] = {64,0}, + [I(191,136)] = {64,0}, + [I(192,136)] = {64,0}, + [I(193,136)] = {64,0}, + [I(194,136)] = {64,0}, + [I(195,136)] = {64,0}, + [I(196,136)] = {64,0}, + [I(197,136)] = {64,0}, + [I(198,136)] = {64,0}, + [I(199,136)] = {64,0}, + [I(200,136)] = {64,0}, + [I(201,136)] = {64,0}, + [I(202,136)] = {64,0}, + [I(203,136)] = {64,0}, + [I(204,136)] = {64,0}, + [I(205,136)] = {64,0}, + [I(206,136)] = {64,0}, + [I(207,136)] = {64,0}, + [I(208,136)] = {64,0}, + [I(209,136)] = {64,0}, + [I(210,136)] = {64,0}, + [I(211,136)] = {64,0}, + [I(212,136)] = {64,0}, + [I(213,136)] = {64,0}, + [I(214,136)] = {64,0}, + [I(215,136)] = {64,0}, + [I(216,136)] = {64,0}, + [I(217,136)] = {64,0}, + [I(218,136)] = {64,0}, + [I(219,136)] = {64,0}, + [I(220,136)] = {64,0}, + [I(221,136)] = {64,0}, + [I(222,136)] = {64,0}, + [I(223,136)] = {64,0}, + [I(224,136)] = {64,0}, + [I(225,136)] = {64,0}, + [I(226,136)] = {64,0}, + [I(227,136)] = {64,0}, + [I(228,136)] = {64,0}, + [I(229,136)] = {64,0}, + [I(230,136)] = {64,0}, + [I(231,136)] = {64,0}, + [I(232,136)] = {64,0}, + [I(233,136)] = {64,0}, + [I(234,136)] = {64,0}, + [I(235,136)] = {64,0}, + [I(236,136)] = {64,0}, + [I(237,136)] = {64,0}, + [I(238,136)] = {64,0}, + [I(239,136)] = {64,0}, + [I(240,136)] = {64,0}, + [I(241,136)] = {64,0}, + [I(242,136)] = {64,0}, + [I(243,136)] = {64,0}, + [I(244,136)] = {64,0}, + [I(245,136)] = {64,0}, + [I(246,136)] = {64,0}, + [I(247,136)] = {64,0}, + [I(248,136)] = {64,0}, + [I(249,136)] = {64,0}, + [I(250,136)] = {64,0}, + [I(251,136)] = {64,0}, + [I(252,136)] = {64,0}, + [I(253,136)] = {64,0}, + [I(254,136)] = {64,0}, + [I(255,136)] = {64,0}, + [I(0,137)] = {64,0}, + [I(1,137)] = {64,0}, + [I(2,137)] = {64,0}, + [I(3,137)] = {64,0}, + [I(4,137)] = {64,0}, + [I(5,137)] = {64,0}, + [I(6,137)] = {64,0}, + [I(7,137)] = {64,0}, + [I(8,137)] = {64,0}, + [I(9,137)] = {64,0}, + [I(10,137)] = {64,0}, + [I(11,137)] = {64,0}, + [I(12,137)] = {64,0}, + [I(13,137)] = {64,0}, + [I(14,137)] = {64,0}, + [I(15,137)] = {64,0}, + [I(16,137)] = {64,0}, + [I(17,137)] = {64,0}, + [I(18,137)] = {64,0}, + [I(19,137)] = {64,0}, + [I(20,137)] = {64,0}, + [I(21,137)] = {64,0}, + [I(22,137)] = {64,0}, + [I(23,137)] = {64,0}, + [I(24,137)] = {64,0}, + [I(25,137)] = {64,0}, + [I(26,137)] = {64,0}, + [I(27,137)] = {64,0}, + [I(28,137)] = {64,0}, + [I(29,137)] = {64,0}, + [I(30,137)] = {64,0}, + [I(31,137)] = {64,0}, + [I(32,137)] = {29,0xA7FFFDA}, + [I(33,137)] = {64,0}, + [I(34,137)] = {64,0}, + [I(35,137)] = {64,0}, + [I(36,137)] = {64,0}, + [I(37,137)] = {29,0xAFFFFDA}, + [I(38,137)] = {31,0x7C7FFFDA}, + [I(39,137)] = {64,0}, + [I(40,137)] = {64,0}, + [I(41,137)] = {64,0}, + [I(42,137)] = {31,0x7CFFFFDA}, + [I(43,137)] = {64,0}, + [I(44,137)] = {31,0x7D7FFFDA}, + [I(45,137)] = {29,0xB7FFFDA}, + [I(46,137)] = {29,0xBFFFFDA}, + [I(47,137)] = {29,0xC7FFFDA}, + [I(48,137)] = {28,0x7FFFDA}, + [I(49,137)] = {28,0xFFFFDA}, + [I(50,137)] = {28,0x17FFFDA}, + [I(51,137)] = {29,0xCFFFFDA}, + [I(52,137)] = {29,0xD7FFFDA}, + [I(53,137)] = {29,0xDFFFFDA}, + [I(54,137)] = {29,0xE7FFFDA}, + [I(55,137)] = {29,0xEFFFFDA}, + [I(56,137)] = {29,0xF7FFFDA}, + [I(57,137)] = {29,0xFFFFFDA}, + [I(58,137)] = {30,0x2E7FFFDA}, + [I(59,137)] = {31,0x7DFFFFDA}, + [I(60,137)] = {64,0}, + [I(61,137)] = {29,0x107FFFDA}, + [I(62,137)] = {64,0}, + [I(63,137)] = {64,0}, + [I(64,137)] = {64,0}, + [I(65,137)] = {29,0x10FFFFDA}, + [I(66,137)] = {30,0x2EFFFFDA}, + [I(67,137)] = {30,0x2F7FFFDA}, + [I(68,137)] = {30,0x2FFFFFDA}, + [I(69,137)] = {30,0x307FFFDA}, + [I(70,137)] = {30,0x30FFFFDA}, + [I(71,137)] = {30,0x317FFFDA}, + [I(72,137)] = {30,0x31FFFFDA}, + [I(73,137)] = {30,0x327FFFDA}, + [I(74,137)] = {30,0x32FFFFDA}, + [I(75,137)] = {30,0x337FFFDA}, + [I(76,137)] = {30,0x33FFFFDA}, + [I(77,137)] = {30,0x347FFFDA}, + [I(78,137)] = {30,0x34FFFFDA}, + [I(79,137)] = {30,0x357FFFDA}, + [I(80,137)] = {30,0x35FFFFDA}, + [I(81,137)] = {30,0x367FFFDA}, + [I(82,137)] = {30,0x36FFFFDA}, + [I(83,137)] = {30,0x377FFFDA}, + [I(84,137)] = {30,0x37FFFFDA}, + [I(85,137)] = {30,0x387FFFDA}, + [I(86,137)] = {30,0x38FFFFDA}, + [I(87,137)] = {30,0x397FFFDA}, + [I(88,137)] = {31,0x7E7FFFDA}, + [I(89,137)] = {30,0x39FFFFDA}, + [I(90,137)] = {31,0x7EFFFFDA}, + [I(91,137)] = {64,0}, + [I(92,137)] = {64,0}, + [I(93,137)] = {64,0}, + [I(94,137)] = {64,0}, + [I(95,137)] = {29,0x117FFFDA}, + [I(96,137)] = {64,0}, + [I(97,137)] = {28,0x1FFFFDA}, + [I(98,137)] = {29,0x11FFFFDA}, + [I(99,137)] = {28,0x27FFFDA}, + [I(100,137)] = {29,0x127FFFDA}, + [I(101,137)] = {28,0x2FFFFDA}, + [I(102,137)] = {29,0x12FFFFDA}, + [I(103,137)] = {29,0x137FFFDA}, + [I(104,137)] = {29,0x13FFFFDA}, + [I(105,137)] = {28,0x37FFFDA}, + [I(106,137)] = {30,0x3A7FFFDA}, + [I(107,137)] = {30,0x3AFFFFDA}, + [I(108,137)] = {29,0x147FFFDA}, + [I(109,137)] = {29,0x14FFFFDA}, + [I(110,137)] = {29,0x157FFFDA}, + [I(111,137)] = {28,0x3FFFFDA}, + [I(112,137)] = {29,0x15FFFFDA}, + [I(113,137)] = {30,0x3B7FFFDA}, + [I(114,137)] = {29,0x167FFFDA}, + [I(115,137)] = {28,0x47FFFDA}, + [I(116,137)] = {28,0x4FFFFDA}, + [I(117,137)] = {29,0x16FFFFDA}, + [I(118,137)] = {30,0x3BFFFFDA}, + [I(119,137)] = {30,0x3C7FFFDA}, + [I(120,137)] = {30,0x3CFFFFDA}, + [I(121,137)] = {30,0x3D7FFFDA}, + [I(122,137)] = {30,0x3DFFFFDA}, + [I(123,137)] = {64,0}, + [I(124,137)] = {64,0}, + [I(125,137)] = {64,0}, + [I(126,137)] = {64,0}, + [I(127,137)] = {64,0}, + [I(128,137)] = {64,0}, + [I(129,137)] = {64,0}, + [I(130,137)] = {64,0}, + [I(131,137)] = {64,0}, + [I(132,137)] = {64,0}, + [I(133,137)] = {64,0}, + [I(134,137)] = {64,0}, + [I(135,137)] = {64,0}, + [I(136,137)] = {64,0}, + [I(137,137)] = {64,0}, + [I(138,137)] = {64,0}, + [I(139,137)] = {64,0}, + [I(140,137)] = {64,0}, + [I(141,137)] = {64,0}, + [I(142,137)] = {64,0}, + [I(143,137)] = {64,0}, + [I(144,137)] = {64,0}, + [I(145,137)] = {64,0}, + [I(146,137)] = {64,0}, + [I(147,137)] = {64,0}, + [I(148,137)] = {64,0}, + [I(149,137)] = {64,0}, + [I(150,137)] = {64,0}, + [I(151,137)] = {64,0}, + [I(152,137)] = {64,0}, + [I(153,137)] = {64,0}, + [I(154,137)] = {64,0}, + [I(155,137)] = {64,0}, + [I(156,137)] = {64,0}, + [I(157,137)] = {64,0}, + [I(158,137)] = {64,0}, + [I(159,137)] = {64,0}, + [I(160,137)] = {64,0}, + [I(161,137)] = {64,0}, + [I(162,137)] = {64,0}, + [I(163,137)] = {64,0}, + [I(164,137)] = {64,0}, + [I(165,137)] = {64,0}, + [I(166,137)] = {64,0}, + [I(167,137)] = {64,0}, + [I(168,137)] = {64,0}, + [I(169,137)] = {64,0}, + [I(170,137)] = {64,0}, + [I(171,137)] = {64,0}, + [I(172,137)] = {64,0}, + [I(173,137)] = {64,0}, + [I(174,137)] = {64,0}, + [I(175,137)] = {64,0}, + [I(176,137)] = {64,0}, + [I(177,137)] = {64,0}, + [I(178,137)] = {64,0}, + [I(179,137)] = {64,0}, + [I(180,137)] = {64,0}, + [I(181,137)] = {64,0}, + [I(182,137)] = {64,0}, + [I(183,137)] = {64,0}, + [I(184,137)] = {64,0}, + [I(185,137)] = {64,0}, + [I(186,137)] = {64,0}, + [I(187,137)] = {64,0}, + [I(188,137)] = {64,0}, + [I(189,137)] = {64,0}, + [I(190,137)] = {64,0}, + [I(191,137)] = {64,0}, + [I(192,137)] = {64,0}, + [I(193,137)] = {64,0}, + [I(194,137)] = {64,0}, + [I(195,137)] = {64,0}, + [I(196,137)] = {64,0}, + [I(197,137)] = {64,0}, + [I(198,137)] = {64,0}, + [I(199,137)] = {64,0}, + [I(200,137)] = {64,0}, + [I(201,137)] = {64,0}, + [I(202,137)] = {64,0}, + [I(203,137)] = {64,0}, + [I(204,137)] = {64,0}, + [I(205,137)] = {64,0}, + [I(206,137)] = {64,0}, + [I(207,137)] = {64,0}, + [I(208,137)] = {64,0}, + [I(209,137)] = {64,0}, + [I(210,137)] = {64,0}, + [I(211,137)] = {64,0}, + [I(212,137)] = {64,0}, + [I(213,137)] = {64,0}, + [I(214,137)] = {64,0}, + [I(215,137)] = {64,0}, + [I(216,137)] = {64,0}, + [I(217,137)] = {64,0}, + [I(218,137)] = {64,0}, + [I(219,137)] = {64,0}, + [I(220,137)] = {64,0}, + [I(221,137)] = {64,0}, + [I(222,137)] = {64,0}, + [I(223,137)] = {64,0}, + [I(224,137)] = {64,0}, + [I(225,137)] = {64,0}, + [I(226,137)] = {64,0}, + [I(227,137)] = {64,0}, + [I(228,137)] = {64,0}, + [I(229,137)] = {64,0}, + [I(230,137)] = {64,0}, + [I(231,137)] = {64,0}, + [I(232,137)] = {64,0}, + [I(233,137)] = {64,0}, + [I(234,137)] = {64,0}, + [I(235,137)] = {64,0}, + [I(236,137)] = {64,0}, + [I(237,137)] = {64,0}, + [I(238,137)] = {64,0}, + [I(239,137)] = {64,0}, + [I(240,137)] = {64,0}, + [I(241,137)] = {64,0}, + [I(242,137)] = {64,0}, + [I(243,137)] = {64,0}, + [I(244,137)] = {64,0}, + [I(245,137)] = {64,0}, + [I(246,137)] = {64,0}, + [I(247,137)] = {64,0}, + [I(248,137)] = {64,0}, + [I(249,137)] = {64,0}, + [I(250,137)] = {64,0}, + [I(251,137)] = {64,0}, + [I(252,137)] = {64,0}, + [I(253,137)] = {64,0}, + [I(254,137)] = {64,0}, + [I(255,137)] = {64,0}, + [I(0,138)] = {64,0}, + [I(1,138)] = {64,0}, + [I(2,138)] = {64,0}, + [I(3,138)] = {64,0}, + [I(4,138)] = {64,0}, + [I(5,138)] = {64,0}, + [I(6,138)] = {64,0}, + [I(7,138)] = {64,0}, + [I(8,138)] = {64,0}, + [I(9,138)] = {64,0}, + [I(10,138)] = {64,0}, + [I(11,138)] = {64,0}, + [I(12,138)] = {64,0}, + [I(13,138)] = {64,0}, + [I(14,138)] = {64,0}, + [I(15,138)] = {64,0}, + [I(16,138)] = {64,0}, + [I(17,138)] = {64,0}, + [I(18,138)] = {64,0}, + [I(19,138)] = {64,0}, + [I(20,138)] = {64,0}, + [I(21,138)] = {64,0}, + [I(22,138)] = {64,0}, + [I(23,138)] = {64,0}, + [I(24,138)] = {64,0}, + [I(25,138)] = {64,0}, + [I(26,138)] = {64,0}, + [I(27,138)] = {64,0}, + [I(28,138)] = {64,0}, + [I(29,138)] = {64,0}, + [I(30,138)] = {64,0}, + [I(31,138)] = {64,0}, + [I(32,138)] = {29,0xA7FFFDB}, + [I(33,138)] = {64,0}, + [I(34,138)] = {64,0}, + [I(35,138)] = {64,0}, + [I(36,138)] = {64,0}, + [I(37,138)] = {29,0xAFFFFDB}, + [I(38,138)] = {31,0x7C7FFFDB}, + [I(39,138)] = {64,0}, + [I(40,138)] = {64,0}, + [I(41,138)] = {64,0}, + [I(42,138)] = {31,0x7CFFFFDB}, + [I(43,138)] = {64,0}, + [I(44,138)] = {31,0x7D7FFFDB}, + [I(45,138)] = {29,0xB7FFFDB}, + [I(46,138)] = {29,0xBFFFFDB}, + [I(47,138)] = {29,0xC7FFFDB}, + [I(48,138)] = {28,0x7FFFDB}, + [I(49,138)] = {28,0xFFFFDB}, + [I(50,138)] = {28,0x17FFFDB}, + [I(51,138)] = {29,0xCFFFFDB}, + [I(52,138)] = {29,0xD7FFFDB}, + [I(53,138)] = {29,0xDFFFFDB}, + [I(54,138)] = {29,0xE7FFFDB}, + [I(55,138)] = {29,0xEFFFFDB}, + [I(56,138)] = {29,0xF7FFFDB}, + [I(57,138)] = {29,0xFFFFFDB}, + [I(58,138)] = {30,0x2E7FFFDB}, + [I(59,138)] = {31,0x7DFFFFDB}, + [I(60,138)] = {64,0}, + [I(61,138)] = {29,0x107FFFDB}, + [I(62,138)] = {64,0}, + [I(63,138)] = {64,0}, + [I(64,138)] = {64,0}, + [I(65,138)] = {29,0x10FFFFDB}, + [I(66,138)] = {30,0x2EFFFFDB}, + [I(67,138)] = {30,0x2F7FFFDB}, + [I(68,138)] = {30,0x2FFFFFDB}, + [I(69,138)] = {30,0x307FFFDB}, + [I(70,138)] = {30,0x30FFFFDB}, + [I(71,138)] = {30,0x317FFFDB}, + [I(72,138)] = {30,0x31FFFFDB}, + [I(73,138)] = {30,0x327FFFDB}, + [I(74,138)] = {30,0x32FFFFDB}, + [I(75,138)] = {30,0x337FFFDB}, + [I(76,138)] = {30,0x33FFFFDB}, + [I(77,138)] = {30,0x347FFFDB}, + [I(78,138)] = {30,0x34FFFFDB}, + [I(79,138)] = {30,0x357FFFDB}, + [I(80,138)] = {30,0x35FFFFDB}, + [I(81,138)] = {30,0x367FFFDB}, + [I(82,138)] = {30,0x36FFFFDB}, + [I(83,138)] = {30,0x377FFFDB}, + [I(84,138)] = {30,0x37FFFFDB}, + [I(85,138)] = {30,0x387FFFDB}, + [I(86,138)] = {30,0x38FFFFDB}, + [I(87,138)] = {30,0x397FFFDB}, + [I(88,138)] = {31,0x7E7FFFDB}, + [I(89,138)] = {30,0x39FFFFDB}, + [I(90,138)] = {31,0x7EFFFFDB}, + [I(91,138)] = {64,0}, + [I(92,138)] = {64,0}, + [I(93,138)] = {64,0}, + [I(94,138)] = {64,0}, + [I(95,138)] = {29,0x117FFFDB}, + [I(96,138)] = {64,0}, + [I(97,138)] = {28,0x1FFFFDB}, + [I(98,138)] = {29,0x11FFFFDB}, + [I(99,138)] = {28,0x27FFFDB}, + [I(100,138)] = {29,0x127FFFDB}, + [I(101,138)] = {28,0x2FFFFDB}, + [I(102,138)] = {29,0x12FFFFDB}, + [I(103,138)] = {29,0x137FFFDB}, + [I(104,138)] = {29,0x13FFFFDB}, + [I(105,138)] = {28,0x37FFFDB}, + [I(106,138)] = {30,0x3A7FFFDB}, + [I(107,138)] = {30,0x3AFFFFDB}, + [I(108,138)] = {29,0x147FFFDB}, + [I(109,138)] = {29,0x14FFFFDB}, + [I(110,138)] = {29,0x157FFFDB}, + [I(111,138)] = {28,0x3FFFFDB}, + [I(112,138)] = {29,0x15FFFFDB}, + [I(113,138)] = {30,0x3B7FFFDB}, + [I(114,138)] = {29,0x167FFFDB}, + [I(115,138)] = {28,0x47FFFDB}, + [I(116,138)] = {28,0x4FFFFDB}, + [I(117,138)] = {29,0x16FFFFDB}, + [I(118,138)] = {30,0x3BFFFFDB}, + [I(119,138)] = {30,0x3C7FFFDB}, + [I(120,138)] = {30,0x3CFFFFDB}, + [I(121,138)] = {30,0x3D7FFFDB}, + [I(122,138)] = {30,0x3DFFFFDB}, + [I(123,138)] = {64,0}, + [I(124,138)] = {64,0}, + [I(125,138)] = {64,0}, + [I(126,138)] = {64,0}, + [I(127,138)] = {64,0}, + [I(128,138)] = {64,0}, + [I(129,138)] = {64,0}, + [I(130,138)] = {64,0}, + [I(131,138)] = {64,0}, + [I(132,138)] = {64,0}, + [I(133,138)] = {64,0}, + [I(134,138)] = {64,0}, + [I(135,138)] = {64,0}, + [I(136,138)] = {64,0}, + [I(137,138)] = {64,0}, + [I(138,138)] = {64,0}, + [I(139,138)] = {64,0}, + [I(140,138)] = {64,0}, + [I(141,138)] = {64,0}, + [I(142,138)] = {64,0}, + [I(143,138)] = {64,0}, + [I(144,138)] = {64,0}, + [I(145,138)] = {64,0}, + [I(146,138)] = {64,0}, + [I(147,138)] = {64,0}, + [I(148,138)] = {64,0}, + [I(149,138)] = {64,0}, + [I(150,138)] = {64,0}, + [I(151,138)] = {64,0}, + [I(152,138)] = {64,0}, + [I(153,138)] = {64,0}, + [I(154,138)] = {64,0}, + [I(155,138)] = {64,0}, + [I(156,138)] = {64,0}, + [I(157,138)] = {64,0}, + [I(158,138)] = {64,0}, + [I(159,138)] = {64,0}, + [I(160,138)] = {64,0}, + [I(161,138)] = {64,0}, + [I(162,138)] = {64,0}, + [I(163,138)] = {64,0}, + [I(164,138)] = {64,0}, + [I(165,138)] = {64,0}, + [I(166,138)] = {64,0}, + [I(167,138)] = {64,0}, + [I(168,138)] = {64,0}, + [I(169,138)] = {64,0}, + [I(170,138)] = {64,0}, + [I(171,138)] = {64,0}, + [I(172,138)] = {64,0}, + [I(173,138)] = {64,0}, + [I(174,138)] = {64,0}, + [I(175,138)] = {64,0}, + [I(176,138)] = {64,0}, + [I(177,138)] = {64,0}, + [I(178,138)] = {64,0}, + [I(179,138)] = {64,0}, + [I(180,138)] = {64,0}, + [I(181,138)] = {64,0}, + [I(182,138)] = {64,0}, + [I(183,138)] = {64,0}, + [I(184,138)] = {64,0}, + [I(185,138)] = {64,0}, + [I(186,138)] = {64,0}, + [I(187,138)] = {64,0}, + [I(188,138)] = {64,0}, + [I(189,138)] = {64,0}, + [I(190,138)] = {64,0}, + [I(191,138)] = {64,0}, + [I(192,138)] = {64,0}, + [I(193,138)] = {64,0}, + [I(194,138)] = {64,0}, + [I(195,138)] = {64,0}, + [I(196,138)] = {64,0}, + [I(197,138)] = {64,0}, + [I(198,138)] = {64,0}, + [I(199,138)] = {64,0}, + [I(200,138)] = {64,0}, + [I(201,138)] = {64,0}, + [I(202,138)] = {64,0}, + [I(203,138)] = {64,0}, + [I(204,138)] = {64,0}, + [I(205,138)] = {64,0}, + [I(206,138)] = {64,0}, + [I(207,138)] = {64,0}, + [I(208,138)] = {64,0}, + [I(209,138)] = {64,0}, + [I(210,138)] = {64,0}, + [I(211,138)] = {64,0}, + [I(212,138)] = {64,0}, + [I(213,138)] = {64,0}, + [I(214,138)] = {64,0}, + [I(215,138)] = {64,0}, + [I(216,138)] = {64,0}, + [I(217,138)] = {64,0}, + [I(218,138)] = {64,0}, + [I(219,138)] = {64,0}, + [I(220,138)] = {64,0}, + [I(221,138)] = {64,0}, + [I(222,138)] = {64,0}, + [I(223,138)] = {64,0}, + [I(224,138)] = {64,0}, + [I(225,138)] = {64,0}, + [I(226,138)] = {64,0}, + [I(227,138)] = {64,0}, + [I(228,138)] = {64,0}, + [I(229,138)] = {64,0}, + [I(230,138)] = {64,0}, + [I(231,138)] = {64,0}, + [I(232,138)] = {64,0}, + [I(233,138)] = {64,0}, + [I(234,138)] = {64,0}, + [I(235,138)] = {64,0}, + [I(236,138)] = {64,0}, + [I(237,138)] = {64,0}, + [I(238,138)] = {64,0}, + [I(239,138)] = {64,0}, + [I(240,138)] = {64,0}, + [I(241,138)] = {64,0}, + [I(242,138)] = {64,0}, + [I(243,138)] = {64,0}, + [I(244,138)] = {64,0}, + [I(245,138)] = {64,0}, + [I(246,138)] = {64,0}, + [I(247,138)] = {64,0}, + [I(248,138)] = {64,0}, + [I(249,138)] = {64,0}, + [I(250,138)] = {64,0}, + [I(251,138)] = {64,0}, + [I(252,138)] = {64,0}, + [I(253,138)] = {64,0}, + [I(254,138)] = {64,0}, + [I(255,138)] = {64,0}, + [I(0,139)] = {64,0}, + [I(1,139)] = {64,0}, + [I(2,139)] = {64,0}, + [I(3,139)] = {64,0}, + [I(4,139)] = {64,0}, + [I(5,139)] = {64,0}, + [I(6,139)] = {64,0}, + [I(7,139)] = {64,0}, + [I(8,139)] = {64,0}, + [I(9,139)] = {64,0}, + [I(10,139)] = {64,0}, + [I(11,139)] = {64,0}, + [I(12,139)] = {64,0}, + [I(13,139)] = {64,0}, + [I(14,139)] = {64,0}, + [I(15,139)] = {64,0}, + [I(16,139)] = {64,0}, + [I(17,139)] = {64,0}, + [I(18,139)] = {64,0}, + [I(19,139)] = {64,0}, + [I(20,139)] = {64,0}, + [I(21,139)] = {64,0}, + [I(22,139)] = {64,0}, + [I(23,139)] = {64,0}, + [I(24,139)] = {64,0}, + [I(25,139)] = {64,0}, + [I(26,139)] = {64,0}, + [I(27,139)] = {64,0}, + [I(28,139)] = {64,0}, + [I(29,139)] = {64,0}, + [I(30,139)] = {64,0}, + [I(31,139)] = {64,0}, + [I(32,139)] = {29,0xA7FFFDC}, + [I(33,139)] = {64,0}, + [I(34,139)] = {64,0}, + [I(35,139)] = {64,0}, + [I(36,139)] = {64,0}, + [I(37,139)] = {29,0xAFFFFDC}, + [I(38,139)] = {31,0x7C7FFFDC}, + [I(39,139)] = {64,0}, + [I(40,139)] = {64,0}, + [I(41,139)] = {64,0}, + [I(42,139)] = {31,0x7CFFFFDC}, + [I(43,139)] = {64,0}, + [I(44,139)] = {31,0x7D7FFFDC}, + [I(45,139)] = {29,0xB7FFFDC}, + [I(46,139)] = {29,0xBFFFFDC}, + [I(47,139)] = {29,0xC7FFFDC}, + [I(48,139)] = {28,0x7FFFDC}, + [I(49,139)] = {28,0xFFFFDC}, + [I(50,139)] = {28,0x17FFFDC}, + [I(51,139)] = {29,0xCFFFFDC}, + [I(52,139)] = {29,0xD7FFFDC}, + [I(53,139)] = {29,0xDFFFFDC}, + [I(54,139)] = {29,0xE7FFFDC}, + [I(55,139)] = {29,0xEFFFFDC}, + [I(56,139)] = {29,0xF7FFFDC}, + [I(57,139)] = {29,0xFFFFFDC}, + [I(58,139)] = {30,0x2E7FFFDC}, + [I(59,139)] = {31,0x7DFFFFDC}, + [I(60,139)] = {64,0}, + [I(61,139)] = {29,0x107FFFDC}, + [I(62,139)] = {64,0}, + [I(63,139)] = {64,0}, + [I(64,139)] = {64,0}, + [I(65,139)] = {29,0x10FFFFDC}, + [I(66,139)] = {30,0x2EFFFFDC}, + [I(67,139)] = {30,0x2F7FFFDC}, + [I(68,139)] = {30,0x2FFFFFDC}, + [I(69,139)] = {30,0x307FFFDC}, + [I(70,139)] = {30,0x30FFFFDC}, + [I(71,139)] = {30,0x317FFFDC}, + [I(72,139)] = {30,0x31FFFFDC}, + [I(73,139)] = {30,0x327FFFDC}, + [I(74,139)] = {30,0x32FFFFDC}, + [I(75,139)] = {30,0x337FFFDC}, + [I(76,139)] = {30,0x33FFFFDC}, + [I(77,139)] = {30,0x347FFFDC}, + [I(78,139)] = {30,0x34FFFFDC}, + [I(79,139)] = {30,0x357FFFDC}, + [I(80,139)] = {30,0x35FFFFDC}, + [I(81,139)] = {30,0x367FFFDC}, + [I(82,139)] = {30,0x36FFFFDC}, + [I(83,139)] = {30,0x377FFFDC}, + [I(84,139)] = {30,0x37FFFFDC}, + [I(85,139)] = {30,0x387FFFDC}, + [I(86,139)] = {30,0x38FFFFDC}, + [I(87,139)] = {30,0x397FFFDC}, + [I(88,139)] = {31,0x7E7FFFDC}, + [I(89,139)] = {30,0x39FFFFDC}, + [I(90,139)] = {31,0x7EFFFFDC}, + [I(91,139)] = {64,0}, + [I(92,139)] = {64,0}, + [I(93,139)] = {64,0}, + [I(94,139)] = {64,0}, + [I(95,139)] = {29,0x117FFFDC}, + [I(96,139)] = {64,0}, + [I(97,139)] = {28,0x1FFFFDC}, + [I(98,139)] = {29,0x11FFFFDC}, + [I(99,139)] = {28,0x27FFFDC}, + [I(100,139)] = {29,0x127FFFDC}, + [I(101,139)] = {28,0x2FFFFDC}, + [I(102,139)] = {29,0x12FFFFDC}, + [I(103,139)] = {29,0x137FFFDC}, + [I(104,139)] = {29,0x13FFFFDC}, + [I(105,139)] = {28,0x37FFFDC}, + [I(106,139)] = {30,0x3A7FFFDC}, + [I(107,139)] = {30,0x3AFFFFDC}, + [I(108,139)] = {29,0x147FFFDC}, + [I(109,139)] = {29,0x14FFFFDC}, + [I(110,139)] = {29,0x157FFFDC}, + [I(111,139)] = {28,0x3FFFFDC}, + [I(112,139)] = {29,0x15FFFFDC}, + [I(113,139)] = {30,0x3B7FFFDC}, + [I(114,139)] = {29,0x167FFFDC}, + [I(115,139)] = {28,0x47FFFDC}, + [I(116,139)] = {28,0x4FFFFDC}, + [I(117,139)] = {29,0x16FFFFDC}, + [I(118,139)] = {30,0x3BFFFFDC}, + [I(119,139)] = {30,0x3C7FFFDC}, + [I(120,139)] = {30,0x3CFFFFDC}, + [I(121,139)] = {30,0x3D7FFFDC}, + [I(122,139)] = {30,0x3DFFFFDC}, + [I(123,139)] = {64,0}, + [I(124,139)] = {64,0}, + [I(125,139)] = {64,0}, + [I(126,139)] = {64,0}, + [I(127,139)] = {64,0}, + [I(128,139)] = {64,0}, + [I(129,139)] = {64,0}, + [I(130,139)] = {64,0}, + [I(131,139)] = {64,0}, + [I(132,139)] = {64,0}, + [I(133,139)] = {64,0}, + [I(134,139)] = {64,0}, + [I(135,139)] = {64,0}, + [I(136,139)] = {64,0}, + [I(137,139)] = {64,0}, + [I(138,139)] = {64,0}, + [I(139,139)] = {64,0}, + [I(140,139)] = {64,0}, + [I(141,139)] = {64,0}, + [I(142,139)] = {64,0}, + [I(143,139)] = {64,0}, + [I(144,139)] = {64,0}, + [I(145,139)] = {64,0}, + [I(146,139)] = {64,0}, + [I(147,139)] = {64,0}, + [I(148,139)] = {64,0}, + [I(149,139)] = {64,0}, + [I(150,139)] = {64,0}, + [I(151,139)] = {64,0}, + [I(152,139)] = {64,0}, + [I(153,139)] = {64,0}, + [I(154,139)] = {64,0}, + [I(155,139)] = {64,0}, + [I(156,139)] = {64,0}, + [I(157,139)] = {64,0}, + [I(158,139)] = {64,0}, + [I(159,139)] = {64,0}, + [I(160,139)] = {64,0}, + [I(161,139)] = {64,0}, + [I(162,139)] = {64,0}, + [I(163,139)] = {64,0}, + [I(164,139)] = {64,0}, + [I(165,139)] = {64,0}, + [I(166,139)] = {64,0}, + [I(167,139)] = {64,0}, + [I(168,139)] = {64,0}, + [I(169,139)] = {64,0}, + [I(170,139)] = {64,0}, + [I(171,139)] = {64,0}, + [I(172,139)] = {64,0}, + [I(173,139)] = {64,0}, + [I(174,139)] = {64,0}, + [I(175,139)] = {64,0}, + [I(176,139)] = {64,0}, + [I(177,139)] = {64,0}, + [I(178,139)] = {64,0}, + [I(179,139)] = {64,0}, + [I(180,139)] = {64,0}, + [I(181,139)] = {64,0}, + [I(182,139)] = {64,0}, + [I(183,139)] = {64,0}, + [I(184,139)] = {64,0}, + [I(185,139)] = {64,0}, + [I(186,139)] = {64,0}, + [I(187,139)] = {64,0}, + [I(188,139)] = {64,0}, + [I(189,139)] = {64,0}, + [I(190,139)] = {64,0}, + [I(191,139)] = {64,0}, + [I(192,139)] = {64,0}, + [I(193,139)] = {64,0}, + [I(194,139)] = {64,0}, + [I(195,139)] = {64,0}, + [I(196,139)] = {64,0}, + [I(197,139)] = {64,0}, + [I(198,139)] = {64,0}, + [I(199,139)] = {64,0}, + [I(200,139)] = {64,0}, + [I(201,139)] = {64,0}, + [I(202,139)] = {64,0}, + [I(203,139)] = {64,0}, + [I(204,139)] = {64,0}, + [I(205,139)] = {64,0}, + [I(206,139)] = {64,0}, + [I(207,139)] = {64,0}, + [I(208,139)] = {64,0}, + [I(209,139)] = {64,0}, + [I(210,139)] = {64,0}, + [I(211,139)] = {64,0}, + [I(212,139)] = {64,0}, + [I(213,139)] = {64,0}, + [I(214,139)] = {64,0}, + [I(215,139)] = {64,0}, + [I(216,139)] = {64,0}, + [I(217,139)] = {64,0}, + [I(218,139)] = {64,0}, + [I(219,139)] = {64,0}, + [I(220,139)] = {64,0}, + [I(221,139)] = {64,0}, + [I(222,139)] = {64,0}, + [I(223,139)] = {64,0}, + [I(224,139)] = {64,0}, + [I(225,139)] = {64,0}, + [I(226,139)] = {64,0}, + [I(227,139)] = {64,0}, + [I(228,139)] = {64,0}, + [I(229,139)] = {64,0}, + [I(230,139)] = {64,0}, + [I(231,139)] = {64,0}, + [I(232,139)] = {64,0}, + [I(233,139)] = {64,0}, + [I(234,139)] = {64,0}, + [I(235,139)] = {64,0}, + [I(236,139)] = {64,0}, + [I(237,139)] = {64,0}, + [I(238,139)] = {64,0}, + [I(239,139)] = {64,0}, + [I(240,139)] = {64,0}, + [I(241,139)] = {64,0}, + [I(242,139)] = {64,0}, + [I(243,139)] = {64,0}, + [I(244,139)] = {64,0}, + [I(245,139)] = {64,0}, + [I(246,139)] = {64,0}, + [I(247,139)] = {64,0}, + [I(248,139)] = {64,0}, + [I(249,139)] = {64,0}, + [I(250,139)] = {64,0}, + [I(251,139)] = {64,0}, + [I(252,139)] = {64,0}, + [I(253,139)] = {64,0}, + [I(254,139)] = {64,0}, + [I(255,139)] = {64,0}, + [I(0,140)] = {64,0}, + [I(1,140)] = {64,0}, + [I(2,140)] = {64,0}, + [I(3,140)] = {64,0}, + [I(4,140)] = {64,0}, + [I(5,140)] = {64,0}, + [I(6,140)] = {64,0}, + [I(7,140)] = {64,0}, + [I(8,140)] = {64,0}, + [I(9,140)] = {64,0}, + [I(10,140)] = {64,0}, + [I(11,140)] = {64,0}, + [I(12,140)] = {64,0}, + [I(13,140)] = {64,0}, + [I(14,140)] = {64,0}, + [I(15,140)] = {64,0}, + [I(16,140)] = {64,0}, + [I(17,140)] = {64,0}, + [I(18,140)] = {64,0}, + [I(19,140)] = {64,0}, + [I(20,140)] = {64,0}, + [I(21,140)] = {64,0}, + [I(22,140)] = {64,0}, + [I(23,140)] = {64,0}, + [I(24,140)] = {64,0}, + [I(25,140)] = {64,0}, + [I(26,140)] = {64,0}, + [I(27,140)] = {64,0}, + [I(28,140)] = {64,0}, + [I(29,140)] = {64,0}, + [I(30,140)] = {64,0}, + [I(31,140)] = {64,0}, + [I(32,140)] = {29,0xA7FFFDD}, + [I(33,140)] = {64,0}, + [I(34,140)] = {64,0}, + [I(35,140)] = {64,0}, + [I(36,140)] = {64,0}, + [I(37,140)] = {29,0xAFFFFDD}, + [I(38,140)] = {31,0x7C7FFFDD}, + [I(39,140)] = {64,0}, + [I(40,140)] = {64,0}, + [I(41,140)] = {64,0}, + [I(42,140)] = {31,0x7CFFFFDD}, + [I(43,140)] = {64,0}, + [I(44,140)] = {31,0x7D7FFFDD}, + [I(45,140)] = {29,0xB7FFFDD}, + [I(46,140)] = {29,0xBFFFFDD}, + [I(47,140)] = {29,0xC7FFFDD}, + [I(48,140)] = {28,0x7FFFDD}, + [I(49,140)] = {28,0xFFFFDD}, + [I(50,140)] = {28,0x17FFFDD}, + [I(51,140)] = {29,0xCFFFFDD}, + [I(52,140)] = {29,0xD7FFFDD}, + [I(53,140)] = {29,0xDFFFFDD}, + [I(54,140)] = {29,0xE7FFFDD}, + [I(55,140)] = {29,0xEFFFFDD}, + [I(56,140)] = {29,0xF7FFFDD}, + [I(57,140)] = {29,0xFFFFFDD}, + [I(58,140)] = {30,0x2E7FFFDD}, + [I(59,140)] = {31,0x7DFFFFDD}, + [I(60,140)] = {64,0}, + [I(61,140)] = {29,0x107FFFDD}, + [I(62,140)] = {64,0}, + [I(63,140)] = {64,0}, + [I(64,140)] = {64,0}, + [I(65,140)] = {29,0x10FFFFDD}, + [I(66,140)] = {30,0x2EFFFFDD}, + [I(67,140)] = {30,0x2F7FFFDD}, + [I(68,140)] = {30,0x2FFFFFDD}, + [I(69,140)] = {30,0x307FFFDD}, + [I(70,140)] = {30,0x30FFFFDD}, + [I(71,140)] = {30,0x317FFFDD}, + [I(72,140)] = {30,0x31FFFFDD}, + [I(73,140)] = {30,0x327FFFDD}, + [I(74,140)] = {30,0x32FFFFDD}, + [I(75,140)] = {30,0x337FFFDD}, + [I(76,140)] = {30,0x33FFFFDD}, + [I(77,140)] = {30,0x347FFFDD}, + [I(78,140)] = {30,0x34FFFFDD}, + [I(79,140)] = {30,0x357FFFDD}, + [I(80,140)] = {30,0x35FFFFDD}, + [I(81,140)] = {30,0x367FFFDD}, + [I(82,140)] = {30,0x36FFFFDD}, + [I(83,140)] = {30,0x377FFFDD}, + [I(84,140)] = {30,0x37FFFFDD}, + [I(85,140)] = {30,0x387FFFDD}, + [I(86,140)] = {30,0x38FFFFDD}, + [I(87,140)] = {30,0x397FFFDD}, + [I(88,140)] = {31,0x7E7FFFDD}, + [I(89,140)] = {30,0x39FFFFDD}, + [I(90,140)] = {31,0x7EFFFFDD}, + [I(91,140)] = {64,0}, + [I(92,140)] = {64,0}, + [I(93,140)] = {64,0}, + [I(94,140)] = {64,0}, + [I(95,140)] = {29,0x117FFFDD}, + [I(96,140)] = {64,0}, + [I(97,140)] = {28,0x1FFFFDD}, + [I(98,140)] = {29,0x11FFFFDD}, + [I(99,140)] = {28,0x27FFFDD}, + [I(100,140)] = {29,0x127FFFDD}, + [I(101,140)] = {28,0x2FFFFDD}, + [I(102,140)] = {29,0x12FFFFDD}, + [I(103,140)] = {29,0x137FFFDD}, + [I(104,140)] = {29,0x13FFFFDD}, + [I(105,140)] = {28,0x37FFFDD}, + [I(106,140)] = {30,0x3A7FFFDD}, + [I(107,140)] = {30,0x3AFFFFDD}, + [I(108,140)] = {29,0x147FFFDD}, + [I(109,140)] = {29,0x14FFFFDD}, + [I(110,140)] = {29,0x157FFFDD}, + [I(111,140)] = {28,0x3FFFFDD}, + [I(112,140)] = {29,0x15FFFFDD}, + [I(113,140)] = {30,0x3B7FFFDD}, + [I(114,140)] = {29,0x167FFFDD}, + [I(115,140)] = {28,0x47FFFDD}, + [I(116,140)] = {28,0x4FFFFDD}, + [I(117,140)] = {29,0x16FFFFDD}, + [I(118,140)] = {30,0x3BFFFFDD}, + [I(119,140)] = {30,0x3C7FFFDD}, + [I(120,140)] = {30,0x3CFFFFDD}, + [I(121,140)] = {30,0x3D7FFFDD}, + [I(122,140)] = {30,0x3DFFFFDD}, + [I(123,140)] = {64,0}, + [I(124,140)] = {64,0}, + [I(125,140)] = {64,0}, + [I(126,140)] = {64,0}, + [I(127,140)] = {64,0}, + [I(128,140)] = {64,0}, + [I(129,140)] = {64,0}, + [I(130,140)] = {64,0}, + [I(131,140)] = {64,0}, + [I(132,140)] = {64,0}, + [I(133,140)] = {64,0}, + [I(134,140)] = {64,0}, + [I(135,140)] = {64,0}, + [I(136,140)] = {64,0}, + [I(137,140)] = {64,0}, + [I(138,140)] = {64,0}, + [I(139,140)] = {64,0}, + [I(140,140)] = {64,0}, + [I(141,140)] = {64,0}, + [I(142,140)] = {64,0}, + [I(143,140)] = {64,0}, + [I(144,140)] = {64,0}, + [I(145,140)] = {64,0}, + [I(146,140)] = {64,0}, + [I(147,140)] = {64,0}, + [I(148,140)] = {64,0}, + [I(149,140)] = {64,0}, + [I(150,140)] = {64,0}, + [I(151,140)] = {64,0}, + [I(152,140)] = {64,0}, + [I(153,140)] = {64,0}, + [I(154,140)] = {64,0}, + [I(155,140)] = {64,0}, + [I(156,140)] = {64,0}, + [I(157,140)] = {64,0}, + [I(158,140)] = {64,0}, + [I(159,140)] = {64,0}, + [I(160,140)] = {64,0}, + [I(161,140)] = {64,0}, + [I(162,140)] = {64,0}, + [I(163,140)] = {64,0}, + [I(164,140)] = {64,0}, + [I(165,140)] = {64,0}, + [I(166,140)] = {64,0}, + [I(167,140)] = {64,0}, + [I(168,140)] = {64,0}, + [I(169,140)] = {64,0}, + [I(170,140)] = {64,0}, + [I(171,140)] = {64,0}, + [I(172,140)] = {64,0}, + [I(173,140)] = {64,0}, + [I(174,140)] = {64,0}, + [I(175,140)] = {64,0}, + [I(176,140)] = {64,0}, + [I(177,140)] = {64,0}, + [I(178,140)] = {64,0}, + [I(179,140)] = {64,0}, + [I(180,140)] = {64,0}, + [I(181,140)] = {64,0}, + [I(182,140)] = {64,0}, + [I(183,140)] = {64,0}, + [I(184,140)] = {64,0}, + [I(185,140)] = {64,0}, + [I(186,140)] = {64,0}, + [I(187,140)] = {64,0}, + [I(188,140)] = {64,0}, + [I(189,140)] = {64,0}, + [I(190,140)] = {64,0}, + [I(191,140)] = {64,0}, + [I(192,140)] = {64,0}, + [I(193,140)] = {64,0}, + [I(194,140)] = {64,0}, + [I(195,140)] = {64,0}, + [I(196,140)] = {64,0}, + [I(197,140)] = {64,0}, + [I(198,140)] = {64,0}, + [I(199,140)] = {64,0}, + [I(200,140)] = {64,0}, + [I(201,140)] = {64,0}, + [I(202,140)] = {64,0}, + [I(203,140)] = {64,0}, + [I(204,140)] = {64,0}, + [I(205,140)] = {64,0}, + [I(206,140)] = {64,0}, + [I(207,140)] = {64,0}, + [I(208,140)] = {64,0}, + [I(209,140)] = {64,0}, + [I(210,140)] = {64,0}, + [I(211,140)] = {64,0}, + [I(212,140)] = {64,0}, + [I(213,140)] = {64,0}, + [I(214,140)] = {64,0}, + [I(215,140)] = {64,0}, + [I(216,140)] = {64,0}, + [I(217,140)] = {64,0}, + [I(218,140)] = {64,0}, + [I(219,140)] = {64,0}, + [I(220,140)] = {64,0}, + [I(221,140)] = {64,0}, + [I(222,140)] = {64,0}, + [I(223,140)] = {64,0}, + [I(224,140)] = {64,0}, + [I(225,140)] = {64,0}, + [I(226,140)] = {64,0}, + [I(227,140)] = {64,0}, + [I(228,140)] = {64,0}, + [I(229,140)] = {64,0}, + [I(230,140)] = {64,0}, + [I(231,140)] = {64,0}, + [I(232,140)] = {64,0}, + [I(233,140)] = {64,0}, + [I(234,140)] = {64,0}, + [I(235,140)] = {64,0}, + [I(236,140)] = {64,0}, + [I(237,140)] = {64,0}, + [I(238,140)] = {64,0}, + [I(239,140)] = {64,0}, + [I(240,140)] = {64,0}, + [I(241,140)] = {64,0}, + [I(242,140)] = {64,0}, + [I(243,140)] = {64,0}, + [I(244,140)] = {64,0}, + [I(245,140)] = {64,0}, + [I(246,140)] = {64,0}, + [I(247,140)] = {64,0}, + [I(248,140)] = {64,0}, + [I(249,140)] = {64,0}, + [I(250,140)] = {64,0}, + [I(251,140)] = {64,0}, + [I(252,140)] = {64,0}, + [I(253,140)] = {64,0}, + [I(254,140)] = {64,0}, + [I(255,140)] = {64,0}, + [I(0,141)] = {64,0}, + [I(1,141)] = {64,0}, + [I(2,141)] = {64,0}, + [I(3,141)] = {64,0}, + [I(4,141)] = {64,0}, + [I(5,141)] = {64,0}, + [I(6,141)] = {64,0}, + [I(7,141)] = {64,0}, + [I(8,141)] = {64,0}, + [I(9,141)] = {64,0}, + [I(10,141)] = {64,0}, + [I(11,141)] = {64,0}, + [I(12,141)] = {64,0}, + [I(13,141)] = {64,0}, + [I(14,141)] = {64,0}, + [I(15,141)] = {64,0}, + [I(16,141)] = {64,0}, + [I(17,141)] = {64,0}, + [I(18,141)] = {64,0}, + [I(19,141)] = {64,0}, + [I(20,141)] = {64,0}, + [I(21,141)] = {64,0}, + [I(22,141)] = {64,0}, + [I(23,141)] = {64,0}, + [I(24,141)] = {64,0}, + [I(25,141)] = {64,0}, + [I(26,141)] = {64,0}, + [I(27,141)] = {64,0}, + [I(28,141)] = {64,0}, + [I(29,141)] = {64,0}, + [I(30,141)] = {64,0}, + [I(31,141)] = {64,0}, + [I(32,141)] = {29,0xA7FFFDE}, + [I(33,141)] = {64,0}, + [I(34,141)] = {64,0}, + [I(35,141)] = {64,0}, + [I(36,141)] = {64,0}, + [I(37,141)] = {29,0xAFFFFDE}, + [I(38,141)] = {31,0x7C7FFFDE}, + [I(39,141)] = {64,0}, + [I(40,141)] = {64,0}, + [I(41,141)] = {64,0}, + [I(42,141)] = {31,0x7CFFFFDE}, + [I(43,141)] = {64,0}, + [I(44,141)] = {31,0x7D7FFFDE}, + [I(45,141)] = {29,0xB7FFFDE}, + [I(46,141)] = {29,0xBFFFFDE}, + [I(47,141)] = {29,0xC7FFFDE}, + [I(48,141)] = {28,0x7FFFDE}, + [I(49,141)] = {28,0xFFFFDE}, + [I(50,141)] = {28,0x17FFFDE}, + [I(51,141)] = {29,0xCFFFFDE}, + [I(52,141)] = {29,0xD7FFFDE}, + [I(53,141)] = {29,0xDFFFFDE}, + [I(54,141)] = {29,0xE7FFFDE}, + [I(55,141)] = {29,0xEFFFFDE}, + [I(56,141)] = {29,0xF7FFFDE}, + [I(57,141)] = {29,0xFFFFFDE}, + [I(58,141)] = {30,0x2E7FFFDE}, + [I(59,141)] = {31,0x7DFFFFDE}, + [I(60,141)] = {64,0}, + [I(61,141)] = {29,0x107FFFDE}, + [I(62,141)] = {64,0}, + [I(63,141)] = {64,0}, + [I(64,141)] = {64,0}, + [I(65,141)] = {29,0x10FFFFDE}, + [I(66,141)] = {30,0x2EFFFFDE}, + [I(67,141)] = {30,0x2F7FFFDE}, + [I(68,141)] = {30,0x2FFFFFDE}, + [I(69,141)] = {30,0x307FFFDE}, + [I(70,141)] = {30,0x30FFFFDE}, + [I(71,141)] = {30,0x317FFFDE}, + [I(72,141)] = {30,0x31FFFFDE}, + [I(73,141)] = {30,0x327FFFDE}, + [I(74,141)] = {30,0x32FFFFDE}, + [I(75,141)] = {30,0x337FFFDE}, + [I(76,141)] = {30,0x33FFFFDE}, + [I(77,141)] = {30,0x347FFFDE}, + [I(78,141)] = {30,0x34FFFFDE}, + [I(79,141)] = {30,0x357FFFDE}, + [I(80,141)] = {30,0x35FFFFDE}, + [I(81,141)] = {30,0x367FFFDE}, + [I(82,141)] = {30,0x36FFFFDE}, + [I(83,141)] = {30,0x377FFFDE}, + [I(84,141)] = {30,0x37FFFFDE}, + [I(85,141)] = {30,0x387FFFDE}, + [I(86,141)] = {30,0x38FFFFDE}, + [I(87,141)] = {30,0x397FFFDE}, + [I(88,141)] = {31,0x7E7FFFDE}, + [I(89,141)] = {30,0x39FFFFDE}, + [I(90,141)] = {31,0x7EFFFFDE}, + [I(91,141)] = {64,0}, + [I(92,141)] = {64,0}, + [I(93,141)] = {64,0}, + [I(94,141)] = {64,0}, + [I(95,141)] = {29,0x117FFFDE}, + [I(96,141)] = {64,0}, + [I(97,141)] = {28,0x1FFFFDE}, + [I(98,141)] = {29,0x11FFFFDE}, + [I(99,141)] = {28,0x27FFFDE}, + [I(100,141)] = {29,0x127FFFDE}, + [I(101,141)] = {28,0x2FFFFDE}, + [I(102,141)] = {29,0x12FFFFDE}, + [I(103,141)] = {29,0x137FFFDE}, + [I(104,141)] = {29,0x13FFFFDE}, + [I(105,141)] = {28,0x37FFFDE}, + [I(106,141)] = {30,0x3A7FFFDE}, + [I(107,141)] = {30,0x3AFFFFDE}, + [I(108,141)] = {29,0x147FFFDE}, + [I(109,141)] = {29,0x14FFFFDE}, + [I(110,141)] = {29,0x157FFFDE}, + [I(111,141)] = {28,0x3FFFFDE}, + [I(112,141)] = {29,0x15FFFFDE}, + [I(113,141)] = {30,0x3B7FFFDE}, + [I(114,141)] = {29,0x167FFFDE}, + [I(115,141)] = {28,0x47FFFDE}, + [I(116,141)] = {28,0x4FFFFDE}, + [I(117,141)] = {29,0x16FFFFDE}, + [I(118,141)] = {30,0x3BFFFFDE}, + [I(119,141)] = {30,0x3C7FFFDE}, + [I(120,141)] = {30,0x3CFFFFDE}, + [I(121,141)] = {30,0x3D7FFFDE}, + [I(122,141)] = {30,0x3DFFFFDE}, + [I(123,141)] = {64,0}, + [I(124,141)] = {64,0}, + [I(125,141)] = {64,0}, + [I(126,141)] = {64,0}, + [I(127,141)] = {64,0}, + [I(128,141)] = {64,0}, + [I(129,141)] = {64,0}, + [I(130,141)] = {64,0}, + [I(131,141)] = {64,0}, + [I(132,141)] = {64,0}, + [I(133,141)] = {64,0}, + [I(134,141)] = {64,0}, + [I(135,141)] = {64,0}, + [I(136,141)] = {64,0}, + [I(137,141)] = {64,0}, + [I(138,141)] = {64,0}, + [I(139,141)] = {64,0}, + [I(140,141)] = {64,0}, + [I(141,141)] = {64,0}, + [I(142,141)] = {64,0}, + [I(143,141)] = {64,0}, + [I(144,141)] = {64,0}, + [I(145,141)] = {64,0}, + [I(146,141)] = {64,0}, + [I(147,141)] = {64,0}, + [I(148,141)] = {64,0}, + [I(149,141)] = {64,0}, + [I(150,141)] = {64,0}, + [I(151,141)] = {64,0}, + [I(152,141)] = {64,0}, + [I(153,141)] = {64,0}, + [I(154,141)] = {64,0}, + [I(155,141)] = {64,0}, + [I(156,141)] = {64,0}, + [I(157,141)] = {64,0}, + [I(158,141)] = {64,0}, + [I(159,141)] = {64,0}, + [I(160,141)] = {64,0}, + [I(161,141)] = {64,0}, + [I(162,141)] = {64,0}, + [I(163,141)] = {64,0}, + [I(164,141)] = {64,0}, + [I(165,141)] = {64,0}, + [I(166,141)] = {64,0}, + [I(167,141)] = {64,0}, + [I(168,141)] = {64,0}, + [I(169,141)] = {64,0}, + [I(170,141)] = {64,0}, + [I(171,141)] = {64,0}, + [I(172,141)] = {64,0}, + [I(173,141)] = {64,0}, + [I(174,141)] = {64,0}, + [I(175,141)] = {64,0}, + [I(176,141)] = {64,0}, + [I(177,141)] = {64,0}, + [I(178,141)] = {64,0}, + [I(179,141)] = {64,0}, + [I(180,141)] = {64,0}, + [I(181,141)] = {64,0}, + [I(182,141)] = {64,0}, + [I(183,141)] = {64,0}, + [I(184,141)] = {64,0}, + [I(185,141)] = {64,0}, + [I(186,141)] = {64,0}, + [I(187,141)] = {64,0}, + [I(188,141)] = {64,0}, + [I(189,141)] = {64,0}, + [I(190,141)] = {64,0}, + [I(191,141)] = {64,0}, + [I(192,141)] = {64,0}, + [I(193,141)] = {64,0}, + [I(194,141)] = {64,0}, + [I(195,141)] = {64,0}, + [I(196,141)] = {64,0}, + [I(197,141)] = {64,0}, + [I(198,141)] = {64,0}, + [I(199,141)] = {64,0}, + [I(200,141)] = {64,0}, + [I(201,141)] = {64,0}, + [I(202,141)] = {64,0}, + [I(203,141)] = {64,0}, + [I(204,141)] = {64,0}, + [I(205,141)] = {64,0}, + [I(206,141)] = {64,0}, + [I(207,141)] = {64,0}, + [I(208,141)] = {64,0}, + [I(209,141)] = {64,0}, + [I(210,141)] = {64,0}, + [I(211,141)] = {64,0}, + [I(212,141)] = {64,0}, + [I(213,141)] = {64,0}, + [I(214,141)] = {64,0}, + [I(215,141)] = {64,0}, + [I(216,141)] = {64,0}, + [I(217,141)] = {64,0}, + [I(218,141)] = {64,0}, + [I(219,141)] = {64,0}, + [I(220,141)] = {64,0}, + [I(221,141)] = {64,0}, + [I(222,141)] = {64,0}, + [I(223,141)] = {64,0}, + [I(224,141)] = {64,0}, + [I(225,141)] = {64,0}, + [I(226,141)] = {64,0}, + [I(227,141)] = {64,0}, + [I(228,141)] = {64,0}, + [I(229,141)] = {64,0}, + [I(230,141)] = {64,0}, + [I(231,141)] = {64,0}, + [I(232,141)] = {64,0}, + [I(233,141)] = {64,0}, + [I(234,141)] = {64,0}, + [I(235,141)] = {64,0}, + [I(236,141)] = {64,0}, + [I(237,141)] = {64,0}, + [I(238,141)] = {64,0}, + [I(239,141)] = {64,0}, + [I(240,141)] = {64,0}, + [I(241,141)] = {64,0}, + [I(242,141)] = {64,0}, + [I(243,141)] = {64,0}, + [I(244,141)] = {64,0}, + [I(245,141)] = {64,0}, + [I(246,141)] = {64,0}, + [I(247,141)] = {64,0}, + [I(248,141)] = {64,0}, + [I(249,141)] = {64,0}, + [I(250,141)] = {64,0}, + [I(251,141)] = {64,0}, + [I(252,141)] = {64,0}, + [I(253,141)] = {64,0}, + [I(254,141)] = {64,0}, + [I(255,141)] = {64,0}, + [I(0,142)] = {64,0}, + [I(1,142)] = {64,0}, + [I(2,142)] = {64,0}, + [I(3,142)] = {64,0}, + [I(4,142)] = {64,0}, + [I(5,142)] = {64,0}, + [I(6,142)] = {64,0}, + [I(7,142)] = {64,0}, + [I(8,142)] = {64,0}, + [I(9,142)] = {64,0}, + [I(10,142)] = {64,0}, + [I(11,142)] = {64,0}, + [I(12,142)] = {64,0}, + [I(13,142)] = {64,0}, + [I(14,142)] = {64,0}, + [I(15,142)] = {64,0}, + [I(16,142)] = {64,0}, + [I(17,142)] = {64,0}, + [I(18,142)] = {64,0}, + [I(19,142)] = {64,0}, + [I(20,142)] = {64,0}, + [I(21,142)] = {64,0}, + [I(22,142)] = {64,0}, + [I(23,142)] = {64,0}, + [I(24,142)] = {64,0}, + [I(25,142)] = {64,0}, + [I(26,142)] = {64,0}, + [I(27,142)] = {64,0}, + [I(28,142)] = {64,0}, + [I(29,142)] = {64,0}, + [I(30,142)] = {64,0}, + [I(31,142)] = {64,0}, + [I(32,142)] = {30,0x14FFFFEB}, + [I(33,142)] = {64,0}, + [I(34,142)] = {64,0}, + [I(35,142)] = {64,0}, + [I(36,142)] = {64,0}, + [I(37,142)] = {30,0x15FFFFEB}, + [I(38,142)] = {X32,0xF8FFFFEB}, + [I(39,142)] = {64,0}, + [I(40,142)] = {64,0}, + [I(41,142)] = {64,0}, + [I(42,142)] = {X32,0xF9FFFFEB}, + [I(43,142)] = {64,0}, + [I(44,142)] = {X32,0xFAFFFFEB}, + [I(45,142)] = {30,0x16FFFFEB}, + [I(46,142)] = {30,0x17FFFFEB}, + [I(47,142)] = {30,0x18FFFFEB}, + [I(48,142)] = {29,0xFFFFEB}, + [I(49,142)] = {29,0x1FFFFEB}, + [I(50,142)] = {29,0x2FFFFEB}, + [I(51,142)] = {30,0x19FFFFEB}, + [I(52,142)] = {30,0x1AFFFFEB}, + [I(53,142)] = {30,0x1BFFFFEB}, + [I(54,142)] = {30,0x1CFFFFEB}, + [I(55,142)] = {30,0x1DFFFFEB}, + [I(56,142)] = {30,0x1EFFFFEB}, + [I(57,142)] = {30,0x1FFFFFEB}, + [I(58,142)] = {31,0x5CFFFFEB}, + [I(59,142)] = {X32,0xFBFFFFEB}, + [I(60,142)] = {64,0}, + [I(61,142)] = {30,0x20FFFFEB}, + [I(62,142)] = {64,0}, + [I(63,142)] = {64,0}, + [I(64,142)] = {64,0}, + [I(65,142)] = {30,0x21FFFFEB}, + [I(66,142)] = {31,0x5DFFFFEB}, + [I(67,142)] = {31,0x5EFFFFEB}, + [I(68,142)] = {31,0x5FFFFFEB}, + [I(69,142)] = {31,0x60FFFFEB}, + [I(70,142)] = {31,0x61FFFFEB}, + [I(71,142)] = {31,0x62FFFFEB}, + [I(72,142)] = {31,0x63FFFFEB}, + [I(73,142)] = {31,0x64FFFFEB}, + [I(74,142)] = {31,0x65FFFFEB}, + [I(75,142)] = {31,0x66FFFFEB}, + [I(76,142)] = {31,0x67FFFFEB}, + [I(77,142)] = {31,0x68FFFFEB}, + [I(78,142)] = {31,0x69FFFFEB}, + [I(79,142)] = {31,0x6AFFFFEB}, + [I(80,142)] = {31,0x6BFFFFEB}, + [I(81,142)] = {31,0x6CFFFFEB}, + [I(82,142)] = {31,0x6DFFFFEB}, + [I(83,142)] = {31,0x6EFFFFEB}, + [I(84,142)] = {31,0x6FFFFFEB}, + [I(85,142)] = {31,0x70FFFFEB}, + [I(86,142)] = {31,0x71FFFFEB}, + [I(87,142)] = {31,0x72FFFFEB}, + [I(88,142)] = {X32,0xFCFFFFEB}, + [I(89,142)] = {31,0x73FFFFEB}, + [I(90,142)] = {X32,0xFDFFFFEB}, + [I(91,142)] = {64,0}, + [I(92,142)] = {64,0}, + [I(93,142)] = {64,0}, + [I(94,142)] = {64,0}, + [I(95,142)] = {30,0x22FFFFEB}, + [I(96,142)] = {64,0}, + [I(97,142)] = {29,0x3FFFFEB}, + [I(98,142)] = {30,0x23FFFFEB}, + [I(99,142)] = {29,0x4FFFFEB}, + [I(100,142)] = {30,0x24FFFFEB}, + [I(101,142)] = {29,0x5FFFFEB}, + [I(102,142)] = {30,0x25FFFFEB}, + [I(103,142)] = {30,0x26FFFFEB}, + [I(104,142)] = {30,0x27FFFFEB}, + [I(105,142)] = {29,0x6FFFFEB}, + [I(106,142)] = {31,0x74FFFFEB}, + [I(107,142)] = {31,0x75FFFFEB}, + [I(108,142)] = {30,0x28FFFFEB}, + [I(109,142)] = {30,0x29FFFFEB}, + [I(110,142)] = {30,0x2AFFFFEB}, + [I(111,142)] = {29,0x7FFFFEB}, + [I(112,142)] = {30,0x2BFFFFEB}, + [I(113,142)] = {31,0x76FFFFEB}, + [I(114,142)] = {30,0x2CFFFFEB}, + [I(115,142)] = {29,0x8FFFFEB}, + [I(116,142)] = {29,0x9FFFFEB}, + [I(117,142)] = {30,0x2DFFFFEB}, + [I(118,142)] = {31,0x77FFFFEB}, + [I(119,142)] = {31,0x78FFFFEB}, + [I(120,142)] = {31,0x79FFFFEB}, + [I(121,142)] = {31,0x7AFFFFEB}, + [I(122,142)] = {31,0x7BFFFFEB}, + [I(123,142)] = {64,0}, + [I(124,142)] = {64,0}, + [I(125,142)] = {64,0}, + [I(126,142)] = {64,0}, + [I(127,142)] = {64,0}, + [I(128,142)] = {64,0}, + [I(129,142)] = {64,0}, + [I(130,142)] = {64,0}, + [I(131,142)] = {64,0}, + [I(132,142)] = {64,0}, + [I(133,142)] = {64,0}, + [I(134,142)] = {64,0}, + [I(135,142)] = {64,0}, + [I(136,142)] = {64,0}, + [I(137,142)] = {64,0}, + [I(138,142)] = {64,0}, + [I(139,142)] = {64,0}, + [I(140,142)] = {64,0}, + [I(141,142)] = {64,0}, + [I(142,142)] = {64,0}, + [I(143,142)] = {64,0}, + [I(144,142)] = {64,0}, + [I(145,142)] = {64,0}, + [I(146,142)] = {64,0}, + [I(147,142)] = {64,0}, + [I(148,142)] = {64,0}, + [I(149,142)] = {64,0}, + [I(150,142)] = {64,0}, + [I(151,142)] = {64,0}, + [I(152,142)] = {64,0}, + [I(153,142)] = {64,0}, + [I(154,142)] = {64,0}, + [I(155,142)] = {64,0}, + [I(156,142)] = {64,0}, + [I(157,142)] = {64,0}, + [I(158,142)] = {64,0}, + [I(159,142)] = {64,0}, + [I(160,142)] = {64,0}, + [I(161,142)] = {64,0}, + [I(162,142)] = {64,0}, + [I(163,142)] = {64,0}, + [I(164,142)] = {64,0}, + [I(165,142)] = {64,0}, + [I(166,142)] = {64,0}, + [I(167,142)] = {64,0}, + [I(168,142)] = {64,0}, + [I(169,142)] = {64,0}, + [I(170,142)] = {64,0}, + [I(171,142)] = {64,0}, + [I(172,142)] = {64,0}, + [I(173,142)] = {64,0}, + [I(174,142)] = {64,0}, + [I(175,142)] = {64,0}, + [I(176,142)] = {64,0}, + [I(177,142)] = {64,0}, + [I(178,142)] = {64,0}, + [I(179,142)] = {64,0}, + [I(180,142)] = {64,0}, + [I(181,142)] = {64,0}, + [I(182,142)] = {64,0}, + [I(183,142)] = {64,0}, + [I(184,142)] = {64,0}, + [I(185,142)] = {64,0}, + [I(186,142)] = {64,0}, + [I(187,142)] = {64,0}, + [I(188,142)] = {64,0}, + [I(189,142)] = {64,0}, + [I(190,142)] = {64,0}, + [I(191,142)] = {64,0}, + [I(192,142)] = {64,0}, + [I(193,142)] = {64,0}, + [I(194,142)] = {64,0}, + [I(195,142)] = {64,0}, + [I(196,142)] = {64,0}, + [I(197,142)] = {64,0}, + [I(198,142)] = {64,0}, + [I(199,142)] = {64,0}, + [I(200,142)] = {64,0}, + [I(201,142)] = {64,0}, + [I(202,142)] = {64,0}, + [I(203,142)] = {64,0}, + [I(204,142)] = {64,0}, + [I(205,142)] = {64,0}, + [I(206,142)] = {64,0}, + [I(207,142)] = {64,0}, + [I(208,142)] = {64,0}, + [I(209,142)] = {64,0}, + [I(210,142)] = {64,0}, + [I(211,142)] = {64,0}, + [I(212,142)] = {64,0}, + [I(213,142)] = {64,0}, + [I(214,142)] = {64,0}, + [I(215,142)] = {64,0}, + [I(216,142)] = {64,0}, + [I(217,142)] = {64,0}, + [I(218,142)] = {64,0}, + [I(219,142)] = {64,0}, + [I(220,142)] = {64,0}, + [I(221,142)] = {64,0}, + [I(222,142)] = {64,0}, + [I(223,142)] = {64,0}, + [I(224,142)] = {64,0}, + [I(225,142)] = {64,0}, + [I(226,142)] = {64,0}, + [I(227,142)] = {64,0}, + [I(228,142)] = {64,0}, + [I(229,142)] = {64,0}, + [I(230,142)] = {64,0}, + [I(231,142)] = {64,0}, + [I(232,142)] = {64,0}, + [I(233,142)] = {64,0}, + [I(234,142)] = {64,0}, + [I(235,142)] = {64,0}, + [I(236,142)] = {64,0}, + [I(237,142)] = {64,0}, + [I(238,142)] = {64,0}, + [I(239,142)] = {64,0}, + [I(240,142)] = {64,0}, + [I(241,142)] = {64,0}, + [I(242,142)] = {64,0}, + [I(243,142)] = {64,0}, + [I(244,142)] = {64,0}, + [I(245,142)] = {64,0}, + [I(246,142)] = {64,0}, + [I(247,142)] = {64,0}, + [I(248,142)] = {64,0}, + [I(249,142)] = {64,0}, + [I(250,142)] = {64,0}, + [I(251,142)] = {64,0}, + [I(252,142)] = {64,0}, + [I(253,142)] = {64,0}, + [I(254,142)] = {64,0}, + [I(255,142)] = {64,0}, + [I(0,143)] = {64,0}, + [I(1,143)] = {64,0}, + [I(2,143)] = {64,0}, + [I(3,143)] = {64,0}, + [I(4,143)] = {64,0}, + [I(5,143)] = {64,0}, + [I(6,143)] = {64,0}, + [I(7,143)] = {64,0}, + [I(8,143)] = {64,0}, + [I(9,143)] = {64,0}, + [I(10,143)] = {64,0}, + [I(11,143)] = {64,0}, + [I(12,143)] = {64,0}, + [I(13,143)] = {64,0}, + [I(14,143)] = {64,0}, + [I(15,143)] = {64,0}, + [I(16,143)] = {64,0}, + [I(17,143)] = {64,0}, + [I(18,143)] = {64,0}, + [I(19,143)] = {64,0}, + [I(20,143)] = {64,0}, + [I(21,143)] = {64,0}, + [I(22,143)] = {64,0}, + [I(23,143)] = {64,0}, + [I(24,143)] = {64,0}, + [I(25,143)] = {64,0}, + [I(26,143)] = {64,0}, + [I(27,143)] = {64,0}, + [I(28,143)] = {64,0}, + [I(29,143)] = {64,0}, + [I(30,143)] = {64,0}, + [I(31,143)] = {64,0}, + [I(32,143)] = {29,0xA7FFFDF}, + [I(33,143)] = {64,0}, + [I(34,143)] = {64,0}, + [I(35,143)] = {64,0}, + [I(36,143)] = {64,0}, + [I(37,143)] = {29,0xAFFFFDF}, + [I(38,143)] = {31,0x7C7FFFDF}, + [I(39,143)] = {64,0}, + [I(40,143)] = {64,0}, + [I(41,143)] = {64,0}, + [I(42,143)] = {31,0x7CFFFFDF}, + [I(43,143)] = {64,0}, + [I(44,143)] = {31,0x7D7FFFDF}, + [I(45,143)] = {29,0xB7FFFDF}, + [I(46,143)] = {29,0xBFFFFDF}, + [I(47,143)] = {29,0xC7FFFDF}, + [I(48,143)] = {28,0x7FFFDF}, + [I(49,143)] = {28,0xFFFFDF}, + [I(50,143)] = {28,0x17FFFDF}, + [I(51,143)] = {29,0xCFFFFDF}, + [I(52,143)] = {29,0xD7FFFDF}, + [I(53,143)] = {29,0xDFFFFDF}, + [I(54,143)] = {29,0xE7FFFDF}, + [I(55,143)] = {29,0xEFFFFDF}, + [I(56,143)] = {29,0xF7FFFDF}, + [I(57,143)] = {29,0xFFFFFDF}, + [I(58,143)] = {30,0x2E7FFFDF}, + [I(59,143)] = {31,0x7DFFFFDF}, + [I(60,143)] = {64,0}, + [I(61,143)] = {29,0x107FFFDF}, + [I(62,143)] = {64,0}, + [I(63,143)] = {64,0}, + [I(64,143)] = {64,0}, + [I(65,143)] = {29,0x10FFFFDF}, + [I(66,143)] = {30,0x2EFFFFDF}, + [I(67,143)] = {30,0x2F7FFFDF}, + [I(68,143)] = {30,0x2FFFFFDF}, + [I(69,143)] = {30,0x307FFFDF}, + [I(70,143)] = {30,0x30FFFFDF}, + [I(71,143)] = {30,0x317FFFDF}, + [I(72,143)] = {30,0x31FFFFDF}, + [I(73,143)] = {30,0x327FFFDF}, + [I(74,143)] = {30,0x32FFFFDF}, + [I(75,143)] = {30,0x337FFFDF}, + [I(76,143)] = {30,0x33FFFFDF}, + [I(77,143)] = {30,0x347FFFDF}, + [I(78,143)] = {30,0x34FFFFDF}, + [I(79,143)] = {30,0x357FFFDF}, + [I(80,143)] = {30,0x35FFFFDF}, + [I(81,143)] = {30,0x367FFFDF}, + [I(82,143)] = {30,0x36FFFFDF}, + [I(83,143)] = {30,0x377FFFDF}, + [I(84,143)] = {30,0x37FFFFDF}, + [I(85,143)] = {30,0x387FFFDF}, + [I(86,143)] = {30,0x38FFFFDF}, + [I(87,143)] = {30,0x397FFFDF}, + [I(88,143)] = {31,0x7E7FFFDF}, + [I(89,143)] = {30,0x39FFFFDF}, + [I(90,143)] = {31,0x7EFFFFDF}, + [I(91,143)] = {64,0}, + [I(92,143)] = {64,0}, + [I(93,143)] = {64,0}, + [I(94,143)] = {64,0}, + [I(95,143)] = {29,0x117FFFDF}, + [I(96,143)] = {64,0}, + [I(97,143)] = {28,0x1FFFFDF}, + [I(98,143)] = {29,0x11FFFFDF}, + [I(99,143)] = {28,0x27FFFDF}, + [I(100,143)] = {29,0x127FFFDF}, + [I(101,143)] = {28,0x2FFFFDF}, + [I(102,143)] = {29,0x12FFFFDF}, + [I(103,143)] = {29,0x137FFFDF}, + [I(104,143)] = {29,0x13FFFFDF}, + [I(105,143)] = {28,0x37FFFDF}, + [I(106,143)] = {30,0x3A7FFFDF}, + [I(107,143)] = {30,0x3AFFFFDF}, + [I(108,143)] = {29,0x147FFFDF}, + [I(109,143)] = {29,0x14FFFFDF}, + [I(110,143)] = {29,0x157FFFDF}, + [I(111,143)] = {28,0x3FFFFDF}, + [I(112,143)] = {29,0x15FFFFDF}, + [I(113,143)] = {30,0x3B7FFFDF}, + [I(114,143)] = {29,0x167FFFDF}, + [I(115,143)] = {28,0x47FFFDF}, + [I(116,143)] = {28,0x4FFFFDF}, + [I(117,143)] = {29,0x16FFFFDF}, + [I(118,143)] = {30,0x3BFFFFDF}, + [I(119,143)] = {30,0x3C7FFFDF}, + [I(120,143)] = {30,0x3CFFFFDF}, + [I(121,143)] = {30,0x3D7FFFDF}, + [I(122,143)] = {30,0x3DFFFFDF}, + [I(123,143)] = {64,0}, + [I(124,143)] = {64,0}, + [I(125,143)] = {64,0}, + [I(126,143)] = {64,0}, + [I(127,143)] = {64,0}, + [I(128,143)] = {64,0}, + [I(129,143)] = {64,0}, + [I(130,143)] = {64,0}, + [I(131,143)] = {64,0}, + [I(132,143)] = {64,0}, + [I(133,143)] = {64,0}, + [I(134,143)] = {64,0}, + [I(135,143)] = {64,0}, + [I(136,143)] = {64,0}, + [I(137,143)] = {64,0}, + [I(138,143)] = {64,0}, + [I(139,143)] = {64,0}, + [I(140,143)] = {64,0}, + [I(141,143)] = {64,0}, + [I(142,143)] = {64,0}, + [I(143,143)] = {64,0}, + [I(144,143)] = {64,0}, + [I(145,143)] = {64,0}, + [I(146,143)] = {64,0}, + [I(147,143)] = {64,0}, + [I(148,143)] = {64,0}, + [I(149,143)] = {64,0}, + [I(150,143)] = {64,0}, + [I(151,143)] = {64,0}, + [I(152,143)] = {64,0}, + [I(153,143)] = {64,0}, + [I(154,143)] = {64,0}, + [I(155,143)] = {64,0}, + [I(156,143)] = {64,0}, + [I(157,143)] = {64,0}, + [I(158,143)] = {64,0}, + [I(159,143)] = {64,0}, + [I(160,143)] = {64,0}, + [I(161,143)] = {64,0}, + [I(162,143)] = {64,0}, + [I(163,143)] = {64,0}, + [I(164,143)] = {64,0}, + [I(165,143)] = {64,0}, + [I(166,143)] = {64,0}, + [I(167,143)] = {64,0}, + [I(168,143)] = {64,0}, + [I(169,143)] = {64,0}, + [I(170,143)] = {64,0}, + [I(171,143)] = {64,0}, + [I(172,143)] = {64,0}, + [I(173,143)] = {64,0}, + [I(174,143)] = {64,0}, + [I(175,143)] = {64,0}, + [I(176,143)] = {64,0}, + [I(177,143)] = {64,0}, + [I(178,143)] = {64,0}, + [I(179,143)] = {64,0}, + [I(180,143)] = {64,0}, + [I(181,143)] = {64,0}, + [I(182,143)] = {64,0}, + [I(183,143)] = {64,0}, + [I(184,143)] = {64,0}, + [I(185,143)] = {64,0}, + [I(186,143)] = {64,0}, + [I(187,143)] = {64,0}, + [I(188,143)] = {64,0}, + [I(189,143)] = {64,0}, + [I(190,143)] = {64,0}, + [I(191,143)] = {64,0}, + [I(192,143)] = {64,0}, + [I(193,143)] = {64,0}, + [I(194,143)] = {64,0}, + [I(195,143)] = {64,0}, + [I(196,143)] = {64,0}, + [I(197,143)] = {64,0}, + [I(198,143)] = {64,0}, + [I(199,143)] = {64,0}, + [I(200,143)] = {64,0}, + [I(201,143)] = {64,0}, + [I(202,143)] = {64,0}, + [I(203,143)] = {64,0}, + [I(204,143)] = {64,0}, + [I(205,143)] = {64,0}, + [I(206,143)] = {64,0}, + [I(207,143)] = {64,0}, + [I(208,143)] = {64,0}, + [I(209,143)] = {64,0}, + [I(210,143)] = {64,0}, + [I(211,143)] = {64,0}, + [I(212,143)] = {64,0}, + [I(213,143)] = {64,0}, + [I(214,143)] = {64,0}, + [I(215,143)] = {64,0}, + [I(216,143)] = {64,0}, + [I(217,143)] = {64,0}, + [I(218,143)] = {64,0}, + [I(219,143)] = {64,0}, + [I(220,143)] = {64,0}, + [I(221,143)] = {64,0}, + [I(222,143)] = {64,0}, + [I(223,143)] = {64,0}, + [I(224,143)] = {64,0}, + [I(225,143)] = {64,0}, + [I(226,143)] = {64,0}, + [I(227,143)] = {64,0}, + [I(228,143)] = {64,0}, + [I(229,143)] = {64,0}, + [I(230,143)] = {64,0}, + [I(231,143)] = {64,0}, + [I(232,143)] = {64,0}, + [I(233,143)] = {64,0}, + [I(234,143)] = {64,0}, + [I(235,143)] = {64,0}, + [I(236,143)] = {64,0}, + [I(237,143)] = {64,0}, + [I(238,143)] = {64,0}, + [I(239,143)] = {64,0}, + [I(240,143)] = {64,0}, + [I(241,143)] = {64,0}, + [I(242,143)] = {64,0}, + [I(243,143)] = {64,0}, + [I(244,143)] = {64,0}, + [I(245,143)] = {64,0}, + [I(246,143)] = {64,0}, + [I(247,143)] = {64,0}, + [I(248,143)] = {64,0}, + [I(249,143)] = {64,0}, + [I(250,143)] = {64,0}, + [I(251,143)] = {64,0}, + [I(252,143)] = {64,0}, + [I(253,143)] = {64,0}, + [I(254,143)] = {64,0}, + [I(255,143)] = {64,0}, + [I(0,144)] = {64,0}, + [I(1,144)] = {64,0}, + [I(2,144)] = {64,0}, + [I(3,144)] = {64,0}, + [I(4,144)] = {64,0}, + [I(5,144)] = {64,0}, + [I(6,144)] = {64,0}, + [I(7,144)] = {64,0}, + [I(8,144)] = {64,0}, + [I(9,144)] = {64,0}, + [I(10,144)] = {64,0}, + [I(11,144)] = {64,0}, + [I(12,144)] = {64,0}, + [I(13,144)] = {64,0}, + [I(14,144)] = {64,0}, + [I(15,144)] = {64,0}, + [I(16,144)] = {64,0}, + [I(17,144)] = {64,0}, + [I(18,144)] = {64,0}, + [I(19,144)] = {64,0}, + [I(20,144)] = {64,0}, + [I(21,144)] = {64,0}, + [I(22,144)] = {64,0}, + [I(23,144)] = {64,0}, + [I(24,144)] = {64,0}, + [I(25,144)] = {64,0}, + [I(26,144)] = {64,0}, + [I(27,144)] = {64,0}, + [I(28,144)] = {64,0}, + [I(29,144)] = {64,0}, + [I(30,144)] = {64,0}, + [I(31,144)] = {64,0}, + [I(32,144)] = {30,0x14FFFFEC}, + [I(33,144)] = {64,0}, + [I(34,144)] = {64,0}, + [I(35,144)] = {64,0}, + [I(36,144)] = {64,0}, + [I(37,144)] = {30,0x15FFFFEC}, + [I(38,144)] = {X32,0xF8FFFFEC}, + [I(39,144)] = {64,0}, + [I(40,144)] = {64,0}, + [I(41,144)] = {64,0}, + [I(42,144)] = {X32,0xF9FFFFEC}, + [I(43,144)] = {64,0}, + [I(44,144)] = {X32,0xFAFFFFEC}, + [I(45,144)] = {30,0x16FFFFEC}, + [I(46,144)] = {30,0x17FFFFEC}, + [I(47,144)] = {30,0x18FFFFEC}, + [I(48,144)] = {29,0xFFFFEC}, + [I(49,144)] = {29,0x1FFFFEC}, + [I(50,144)] = {29,0x2FFFFEC}, + [I(51,144)] = {30,0x19FFFFEC}, + [I(52,144)] = {30,0x1AFFFFEC}, + [I(53,144)] = {30,0x1BFFFFEC}, + [I(54,144)] = {30,0x1CFFFFEC}, + [I(55,144)] = {30,0x1DFFFFEC}, + [I(56,144)] = {30,0x1EFFFFEC}, + [I(57,144)] = {30,0x1FFFFFEC}, + [I(58,144)] = {31,0x5CFFFFEC}, + [I(59,144)] = {X32,0xFBFFFFEC}, + [I(60,144)] = {64,0}, + [I(61,144)] = {30,0x20FFFFEC}, + [I(62,144)] = {64,0}, + [I(63,144)] = {64,0}, + [I(64,144)] = {64,0}, + [I(65,144)] = {30,0x21FFFFEC}, + [I(66,144)] = {31,0x5DFFFFEC}, + [I(67,144)] = {31,0x5EFFFFEC}, + [I(68,144)] = {31,0x5FFFFFEC}, + [I(69,144)] = {31,0x60FFFFEC}, + [I(70,144)] = {31,0x61FFFFEC}, + [I(71,144)] = {31,0x62FFFFEC}, + [I(72,144)] = {31,0x63FFFFEC}, + [I(73,144)] = {31,0x64FFFFEC}, + [I(74,144)] = {31,0x65FFFFEC}, + [I(75,144)] = {31,0x66FFFFEC}, + [I(76,144)] = {31,0x67FFFFEC}, + [I(77,144)] = {31,0x68FFFFEC}, + [I(78,144)] = {31,0x69FFFFEC}, + [I(79,144)] = {31,0x6AFFFFEC}, + [I(80,144)] = {31,0x6BFFFFEC}, + [I(81,144)] = {31,0x6CFFFFEC}, + [I(82,144)] = {31,0x6DFFFFEC}, + [I(83,144)] = {31,0x6EFFFFEC}, + [I(84,144)] = {31,0x6FFFFFEC}, + [I(85,144)] = {31,0x70FFFFEC}, + [I(86,144)] = {31,0x71FFFFEC}, + [I(87,144)] = {31,0x72FFFFEC}, + [I(88,144)] = {X32,0xFCFFFFEC}, + [I(89,144)] = {31,0x73FFFFEC}, + [I(90,144)] = {X32,0xFDFFFFEC}, + [I(91,144)] = {64,0}, + [I(92,144)] = {64,0}, + [I(93,144)] = {64,0}, + [I(94,144)] = {64,0}, + [I(95,144)] = {30,0x22FFFFEC}, + [I(96,144)] = {64,0}, + [I(97,144)] = {29,0x3FFFFEC}, + [I(98,144)] = {30,0x23FFFFEC}, + [I(99,144)] = {29,0x4FFFFEC}, + [I(100,144)] = {30,0x24FFFFEC}, + [I(101,144)] = {29,0x5FFFFEC}, + [I(102,144)] = {30,0x25FFFFEC}, + [I(103,144)] = {30,0x26FFFFEC}, + [I(104,144)] = {30,0x27FFFFEC}, + [I(105,144)] = {29,0x6FFFFEC}, + [I(106,144)] = {31,0x74FFFFEC}, + [I(107,144)] = {31,0x75FFFFEC}, + [I(108,144)] = {30,0x28FFFFEC}, + [I(109,144)] = {30,0x29FFFFEC}, + [I(110,144)] = {30,0x2AFFFFEC}, + [I(111,144)] = {29,0x7FFFFEC}, + [I(112,144)] = {30,0x2BFFFFEC}, + [I(113,144)] = {31,0x76FFFFEC}, + [I(114,144)] = {30,0x2CFFFFEC}, + [I(115,144)] = {29,0x8FFFFEC}, + [I(116,144)] = {29,0x9FFFFEC}, + [I(117,144)] = {30,0x2DFFFFEC}, + [I(118,144)] = {31,0x77FFFFEC}, + [I(119,144)] = {31,0x78FFFFEC}, + [I(120,144)] = {31,0x79FFFFEC}, + [I(121,144)] = {31,0x7AFFFFEC}, + [I(122,144)] = {31,0x7BFFFFEC}, + [I(123,144)] = {64,0}, + [I(124,144)] = {64,0}, + [I(125,144)] = {64,0}, + [I(126,144)] = {64,0}, + [I(127,144)] = {64,0}, + [I(128,144)] = {64,0}, + [I(129,144)] = {64,0}, + [I(130,144)] = {64,0}, + [I(131,144)] = {64,0}, + [I(132,144)] = {64,0}, + [I(133,144)] = {64,0}, + [I(134,144)] = {64,0}, + [I(135,144)] = {64,0}, + [I(136,144)] = {64,0}, + [I(137,144)] = {64,0}, + [I(138,144)] = {64,0}, + [I(139,144)] = {64,0}, + [I(140,144)] = {64,0}, + [I(141,144)] = {64,0}, + [I(142,144)] = {64,0}, + [I(143,144)] = {64,0}, + [I(144,144)] = {64,0}, + [I(145,144)] = {64,0}, + [I(146,144)] = {64,0}, + [I(147,144)] = {64,0}, + [I(148,144)] = {64,0}, + [I(149,144)] = {64,0}, + [I(150,144)] = {64,0}, + [I(151,144)] = {64,0}, + [I(152,144)] = {64,0}, + [I(153,144)] = {64,0}, + [I(154,144)] = {64,0}, + [I(155,144)] = {64,0}, + [I(156,144)] = {64,0}, + [I(157,144)] = {64,0}, + [I(158,144)] = {64,0}, + [I(159,144)] = {64,0}, + [I(160,144)] = {64,0}, + [I(161,144)] = {64,0}, + [I(162,144)] = {64,0}, + [I(163,144)] = {64,0}, + [I(164,144)] = {64,0}, + [I(165,144)] = {64,0}, + [I(166,144)] = {64,0}, + [I(167,144)] = {64,0}, + [I(168,144)] = {64,0}, + [I(169,144)] = {64,0}, + [I(170,144)] = {64,0}, + [I(171,144)] = {64,0}, + [I(172,144)] = {64,0}, + [I(173,144)] = {64,0}, + [I(174,144)] = {64,0}, + [I(175,144)] = {64,0}, + [I(176,144)] = {64,0}, + [I(177,144)] = {64,0}, + [I(178,144)] = {64,0}, + [I(179,144)] = {64,0}, + [I(180,144)] = {64,0}, + [I(181,144)] = {64,0}, + [I(182,144)] = {64,0}, + [I(183,144)] = {64,0}, + [I(184,144)] = {64,0}, + [I(185,144)] = {64,0}, + [I(186,144)] = {64,0}, + [I(187,144)] = {64,0}, + [I(188,144)] = {64,0}, + [I(189,144)] = {64,0}, + [I(190,144)] = {64,0}, + [I(191,144)] = {64,0}, + [I(192,144)] = {64,0}, + [I(193,144)] = {64,0}, + [I(194,144)] = {64,0}, + [I(195,144)] = {64,0}, + [I(196,144)] = {64,0}, + [I(197,144)] = {64,0}, + [I(198,144)] = {64,0}, + [I(199,144)] = {64,0}, + [I(200,144)] = {64,0}, + [I(201,144)] = {64,0}, + [I(202,144)] = {64,0}, + [I(203,144)] = {64,0}, + [I(204,144)] = {64,0}, + [I(205,144)] = {64,0}, + [I(206,144)] = {64,0}, + [I(207,144)] = {64,0}, + [I(208,144)] = {64,0}, + [I(209,144)] = {64,0}, + [I(210,144)] = {64,0}, + [I(211,144)] = {64,0}, + [I(212,144)] = {64,0}, + [I(213,144)] = {64,0}, + [I(214,144)] = {64,0}, + [I(215,144)] = {64,0}, + [I(216,144)] = {64,0}, + [I(217,144)] = {64,0}, + [I(218,144)] = {64,0}, + [I(219,144)] = {64,0}, + [I(220,144)] = {64,0}, + [I(221,144)] = {64,0}, + [I(222,144)] = {64,0}, + [I(223,144)] = {64,0}, + [I(224,144)] = {64,0}, + [I(225,144)] = {64,0}, + [I(226,144)] = {64,0}, + [I(227,144)] = {64,0}, + [I(228,144)] = {64,0}, + [I(229,144)] = {64,0}, + [I(230,144)] = {64,0}, + [I(231,144)] = {64,0}, + [I(232,144)] = {64,0}, + [I(233,144)] = {64,0}, + [I(234,144)] = {64,0}, + [I(235,144)] = {64,0}, + [I(236,144)] = {64,0}, + [I(237,144)] = {64,0}, + [I(238,144)] = {64,0}, + [I(239,144)] = {64,0}, + [I(240,144)] = {64,0}, + [I(241,144)] = {64,0}, + [I(242,144)] = {64,0}, + [I(243,144)] = {64,0}, + [I(244,144)] = {64,0}, + [I(245,144)] = {64,0}, + [I(246,144)] = {64,0}, + [I(247,144)] = {64,0}, + [I(248,144)] = {64,0}, + [I(249,144)] = {64,0}, + [I(250,144)] = {64,0}, + [I(251,144)] = {64,0}, + [I(252,144)] = {64,0}, + [I(253,144)] = {64,0}, + [I(254,144)] = {64,0}, + [I(255,144)] = {64,0}, + [I(0,145)] = {64,0}, + [I(1,145)] = {64,0}, + [I(2,145)] = {64,0}, + [I(3,145)] = {64,0}, + [I(4,145)] = {64,0}, + [I(5,145)] = {64,0}, + [I(6,145)] = {64,0}, + [I(7,145)] = {64,0}, + [I(8,145)] = {64,0}, + [I(9,145)] = {64,0}, + [I(10,145)] = {64,0}, + [I(11,145)] = {64,0}, + [I(12,145)] = {64,0}, + [I(13,145)] = {64,0}, + [I(14,145)] = {64,0}, + [I(15,145)] = {64,0}, + [I(16,145)] = {64,0}, + [I(17,145)] = {64,0}, + [I(18,145)] = {64,0}, + [I(19,145)] = {64,0}, + [I(20,145)] = {64,0}, + [I(21,145)] = {64,0}, + [I(22,145)] = {64,0}, + [I(23,145)] = {64,0}, + [I(24,145)] = {64,0}, + [I(25,145)] = {64,0}, + [I(26,145)] = {64,0}, + [I(27,145)] = {64,0}, + [I(28,145)] = {64,0}, + [I(29,145)] = {64,0}, + [I(30,145)] = {64,0}, + [I(31,145)] = {64,0}, + [I(32,145)] = {30,0x14FFFFED}, + [I(33,145)] = {64,0}, + [I(34,145)] = {64,0}, + [I(35,145)] = {64,0}, + [I(36,145)] = {64,0}, + [I(37,145)] = {30,0x15FFFFED}, + [I(38,145)] = {X32,0xF8FFFFED}, + [I(39,145)] = {64,0}, + [I(40,145)] = {64,0}, + [I(41,145)] = {64,0}, + [I(42,145)] = {X32,0xF9FFFFED}, + [I(43,145)] = {64,0}, + [I(44,145)] = {X32,0xFAFFFFED}, + [I(45,145)] = {30,0x16FFFFED}, + [I(46,145)] = {30,0x17FFFFED}, + [I(47,145)] = {30,0x18FFFFED}, + [I(48,145)] = {29,0xFFFFED}, + [I(49,145)] = {29,0x1FFFFED}, + [I(50,145)] = {29,0x2FFFFED}, + [I(51,145)] = {30,0x19FFFFED}, + [I(52,145)] = {30,0x1AFFFFED}, + [I(53,145)] = {30,0x1BFFFFED}, + [I(54,145)] = {30,0x1CFFFFED}, + [I(55,145)] = {30,0x1DFFFFED}, + [I(56,145)] = {30,0x1EFFFFED}, + [I(57,145)] = {30,0x1FFFFFED}, + [I(58,145)] = {31,0x5CFFFFED}, + [I(59,145)] = {X32,0xFBFFFFED}, + [I(60,145)] = {64,0}, + [I(61,145)] = {30,0x20FFFFED}, + [I(62,145)] = {64,0}, + [I(63,145)] = {64,0}, + [I(64,145)] = {64,0}, + [I(65,145)] = {30,0x21FFFFED}, + [I(66,145)] = {31,0x5DFFFFED}, + [I(67,145)] = {31,0x5EFFFFED}, + [I(68,145)] = {31,0x5FFFFFED}, + [I(69,145)] = {31,0x60FFFFED}, + [I(70,145)] = {31,0x61FFFFED}, + [I(71,145)] = {31,0x62FFFFED}, + [I(72,145)] = {31,0x63FFFFED}, + [I(73,145)] = {31,0x64FFFFED}, + [I(74,145)] = {31,0x65FFFFED}, + [I(75,145)] = {31,0x66FFFFED}, + [I(76,145)] = {31,0x67FFFFED}, + [I(77,145)] = {31,0x68FFFFED}, + [I(78,145)] = {31,0x69FFFFED}, + [I(79,145)] = {31,0x6AFFFFED}, + [I(80,145)] = {31,0x6BFFFFED}, + [I(81,145)] = {31,0x6CFFFFED}, + [I(82,145)] = {31,0x6DFFFFED}, + [I(83,145)] = {31,0x6EFFFFED}, + [I(84,145)] = {31,0x6FFFFFED}, + [I(85,145)] = {31,0x70FFFFED}, + [I(86,145)] = {31,0x71FFFFED}, + [I(87,145)] = {31,0x72FFFFED}, + [I(88,145)] = {X32,0xFCFFFFED}, + [I(89,145)] = {31,0x73FFFFED}, + [I(90,145)] = {X32,0xFDFFFFED}, + [I(91,145)] = {64,0}, + [I(92,145)] = {64,0}, + [I(93,145)] = {64,0}, + [I(94,145)] = {64,0}, + [I(95,145)] = {30,0x22FFFFED}, + [I(96,145)] = {64,0}, + [I(97,145)] = {29,0x3FFFFED}, + [I(98,145)] = {30,0x23FFFFED}, + [I(99,145)] = {29,0x4FFFFED}, + [I(100,145)] = {30,0x24FFFFED}, + [I(101,145)] = {29,0x5FFFFED}, + [I(102,145)] = {30,0x25FFFFED}, + [I(103,145)] = {30,0x26FFFFED}, + [I(104,145)] = {30,0x27FFFFED}, + [I(105,145)] = {29,0x6FFFFED}, + [I(106,145)] = {31,0x74FFFFED}, + [I(107,145)] = {31,0x75FFFFED}, + [I(108,145)] = {30,0x28FFFFED}, + [I(109,145)] = {30,0x29FFFFED}, + [I(110,145)] = {30,0x2AFFFFED}, + [I(111,145)] = {29,0x7FFFFED}, + [I(112,145)] = {30,0x2BFFFFED}, + [I(113,145)] = {31,0x76FFFFED}, + [I(114,145)] = {30,0x2CFFFFED}, + [I(115,145)] = {29,0x8FFFFED}, + [I(116,145)] = {29,0x9FFFFED}, + [I(117,145)] = {30,0x2DFFFFED}, + [I(118,145)] = {31,0x77FFFFED}, + [I(119,145)] = {31,0x78FFFFED}, + [I(120,145)] = {31,0x79FFFFED}, + [I(121,145)] = {31,0x7AFFFFED}, + [I(122,145)] = {31,0x7BFFFFED}, + [I(123,145)] = {64,0}, + [I(124,145)] = {64,0}, + [I(125,145)] = {64,0}, + [I(126,145)] = {64,0}, + [I(127,145)] = {64,0}, + [I(128,145)] = {64,0}, + [I(129,145)] = {64,0}, + [I(130,145)] = {64,0}, + [I(131,145)] = {64,0}, + [I(132,145)] = {64,0}, + [I(133,145)] = {64,0}, + [I(134,145)] = {64,0}, + [I(135,145)] = {64,0}, + [I(136,145)] = {64,0}, + [I(137,145)] = {64,0}, + [I(138,145)] = {64,0}, + [I(139,145)] = {64,0}, + [I(140,145)] = {64,0}, + [I(141,145)] = {64,0}, + [I(142,145)] = {64,0}, + [I(143,145)] = {64,0}, + [I(144,145)] = {64,0}, + [I(145,145)] = {64,0}, + [I(146,145)] = {64,0}, + [I(147,145)] = {64,0}, + [I(148,145)] = {64,0}, + [I(149,145)] = {64,0}, + [I(150,145)] = {64,0}, + [I(151,145)] = {64,0}, + [I(152,145)] = {64,0}, + [I(153,145)] = {64,0}, + [I(154,145)] = {64,0}, + [I(155,145)] = {64,0}, + [I(156,145)] = {64,0}, + [I(157,145)] = {64,0}, + [I(158,145)] = {64,0}, + [I(159,145)] = {64,0}, + [I(160,145)] = {64,0}, + [I(161,145)] = {64,0}, + [I(162,145)] = {64,0}, + [I(163,145)] = {64,0}, + [I(164,145)] = {64,0}, + [I(165,145)] = {64,0}, + [I(166,145)] = {64,0}, + [I(167,145)] = {64,0}, + [I(168,145)] = {64,0}, + [I(169,145)] = {64,0}, + [I(170,145)] = {64,0}, + [I(171,145)] = {64,0}, + [I(172,145)] = {64,0}, + [I(173,145)] = {64,0}, + [I(174,145)] = {64,0}, + [I(175,145)] = {64,0}, + [I(176,145)] = {64,0}, + [I(177,145)] = {64,0}, + [I(178,145)] = {64,0}, + [I(179,145)] = {64,0}, + [I(180,145)] = {64,0}, + [I(181,145)] = {64,0}, + [I(182,145)] = {64,0}, + [I(183,145)] = {64,0}, + [I(184,145)] = {64,0}, + [I(185,145)] = {64,0}, + [I(186,145)] = {64,0}, + [I(187,145)] = {64,0}, + [I(188,145)] = {64,0}, + [I(189,145)] = {64,0}, + [I(190,145)] = {64,0}, + [I(191,145)] = {64,0}, + [I(192,145)] = {64,0}, + [I(193,145)] = {64,0}, + [I(194,145)] = {64,0}, + [I(195,145)] = {64,0}, + [I(196,145)] = {64,0}, + [I(197,145)] = {64,0}, + [I(198,145)] = {64,0}, + [I(199,145)] = {64,0}, + [I(200,145)] = {64,0}, + [I(201,145)] = {64,0}, + [I(202,145)] = {64,0}, + [I(203,145)] = {64,0}, + [I(204,145)] = {64,0}, + [I(205,145)] = {64,0}, + [I(206,145)] = {64,0}, + [I(207,145)] = {64,0}, + [I(208,145)] = {64,0}, + [I(209,145)] = {64,0}, + [I(210,145)] = {64,0}, + [I(211,145)] = {64,0}, + [I(212,145)] = {64,0}, + [I(213,145)] = {64,0}, + [I(214,145)] = {64,0}, + [I(215,145)] = {64,0}, + [I(216,145)] = {64,0}, + [I(217,145)] = {64,0}, + [I(218,145)] = {64,0}, + [I(219,145)] = {64,0}, + [I(220,145)] = {64,0}, + [I(221,145)] = {64,0}, + [I(222,145)] = {64,0}, + [I(223,145)] = {64,0}, + [I(224,145)] = {64,0}, + [I(225,145)] = {64,0}, + [I(226,145)] = {64,0}, + [I(227,145)] = {64,0}, + [I(228,145)] = {64,0}, + [I(229,145)] = {64,0}, + [I(230,145)] = {64,0}, + [I(231,145)] = {64,0}, + [I(232,145)] = {64,0}, + [I(233,145)] = {64,0}, + [I(234,145)] = {64,0}, + [I(235,145)] = {64,0}, + [I(236,145)] = {64,0}, + [I(237,145)] = {64,0}, + [I(238,145)] = {64,0}, + [I(239,145)] = {64,0}, + [I(240,145)] = {64,0}, + [I(241,145)] = {64,0}, + [I(242,145)] = {64,0}, + [I(243,145)] = {64,0}, + [I(244,145)] = {64,0}, + [I(245,145)] = {64,0}, + [I(246,145)] = {64,0}, + [I(247,145)] = {64,0}, + [I(248,145)] = {64,0}, + [I(249,145)] = {64,0}, + [I(250,145)] = {64,0}, + [I(251,145)] = {64,0}, + [I(252,145)] = {64,0}, + [I(253,145)] = {64,0}, + [I(254,145)] = {64,0}, + [I(255,145)] = {64,0}, + [I(0,146)] = {64,0}, + [I(1,146)] = {64,0}, + [I(2,146)] = {64,0}, + [I(3,146)] = {64,0}, + [I(4,146)] = {64,0}, + [I(5,146)] = {64,0}, + [I(6,146)] = {64,0}, + [I(7,146)] = {64,0}, + [I(8,146)] = {64,0}, + [I(9,146)] = {64,0}, + [I(10,146)] = {64,0}, + [I(11,146)] = {64,0}, + [I(12,146)] = {64,0}, + [I(13,146)] = {64,0}, + [I(14,146)] = {64,0}, + [I(15,146)] = {64,0}, + [I(16,146)] = {64,0}, + [I(17,146)] = {64,0}, + [I(18,146)] = {64,0}, + [I(19,146)] = {64,0}, + [I(20,146)] = {64,0}, + [I(21,146)] = {64,0}, + [I(22,146)] = {64,0}, + [I(23,146)] = {64,0}, + [I(24,146)] = {64,0}, + [I(25,146)] = {64,0}, + [I(26,146)] = {64,0}, + [I(27,146)] = {64,0}, + [I(28,146)] = {64,0}, + [I(29,146)] = {64,0}, + [I(30,146)] = {64,0}, + [I(31,146)] = {64,0}, + [I(32,146)] = {28,0x53FFFD7}, + [I(33,146)] = {X32,0xFE3FFFD7}, + [I(34,146)] = {X32,0xFE7FFFD7}, + [I(35,146)] = {64,0}, + [I(36,146)] = {64,0}, + [I(37,146)] = {28,0x57FFFD7}, + [I(38,146)] = {30,0x3E3FFFD7}, + [I(39,146)] = {64,0}, + [I(40,146)] = {X32,0xFEBFFFD7}, + [I(41,146)] = {X32,0xFEFFFFD7}, + [I(42,146)] = {30,0x3E7FFFD7}, + [I(43,146)] = {64,0}, + [I(44,146)] = {30,0x3EBFFFD7}, + [I(45,146)] = {28,0x5BFFFD7}, + [I(46,146)] = {28,0x5FFFFD7}, + [I(47,146)] = {28,0x63FFFD7}, + [I(48,146)] = {27,0x3FFFD7}, + [I(49,146)] = {27,0x7FFFD7}, + [I(50,146)] = {27,0xBFFFD7}, + [I(51,146)] = {28,0x67FFFD7}, + [I(52,146)] = {28,0x6BFFFD7}, + [I(53,146)] = {28,0x6FFFFD7}, + [I(54,146)] = {28,0x73FFFD7}, + [I(55,146)] = {28,0x77FFFD7}, + [I(56,146)] = {28,0x7BFFFD7}, + [I(57,146)] = {28,0x7FFFFD7}, + [I(58,146)] = {29,0x173FFFD7}, + [I(59,146)] = {30,0x3EFFFFD7}, + [I(60,146)] = {64,0}, + [I(61,146)] = {28,0x83FFFD7}, + [I(62,146)] = {64,0}, + [I(63,146)] = {X32,0xFF3FFFD7}, + [I(64,146)] = {64,0}, + [I(65,146)] = {28,0x87FFFD7}, + [I(66,146)] = {29,0x177FFFD7}, + [I(67,146)] = {29,0x17BFFFD7}, + [I(68,146)] = {29,0x17FFFFD7}, + [I(69,146)] = {29,0x183FFFD7}, + [I(70,146)] = {29,0x187FFFD7}, + [I(71,146)] = {29,0x18BFFFD7}, + [I(72,146)] = {29,0x18FFFFD7}, + [I(73,146)] = {29,0x193FFFD7}, + [I(74,146)] = {29,0x197FFFD7}, + [I(75,146)] = {29,0x19BFFFD7}, + [I(76,146)] = {29,0x19FFFFD7}, + [I(77,146)] = {29,0x1A3FFFD7}, + [I(78,146)] = {29,0x1A7FFFD7}, + [I(79,146)] = {29,0x1ABFFFD7}, + [I(80,146)] = {29,0x1AFFFFD7}, + [I(81,146)] = {29,0x1B3FFFD7}, + [I(82,146)] = {29,0x1B7FFFD7}, + [I(83,146)] = {29,0x1BBFFFD7}, + [I(84,146)] = {29,0x1BFFFFD7}, + [I(85,146)] = {29,0x1C3FFFD7}, + [I(86,146)] = {29,0x1C7FFFD7}, + [I(87,146)] = {29,0x1CBFFFD7}, + [I(88,146)] = {30,0x3F3FFFD7}, + [I(89,146)] = {29,0x1CFFFFD7}, + [I(90,146)] = {30,0x3F7FFFD7}, + [I(91,146)] = {64,0}, + [I(92,146)] = {64,0}, + [I(93,146)] = {64,0}, + [I(94,146)] = {64,0}, + [I(95,146)] = {28,0x8BFFFD7}, + [I(96,146)] = {64,0}, + [I(97,146)] = {27,0xFFFFD7}, + [I(98,146)] = {28,0x8FFFFD7}, + [I(99,146)] = {27,0x13FFFD7}, + [I(100,146)] = {28,0x93FFFD7}, + [I(101,146)] = {27,0x17FFFD7}, + [I(102,146)] = {28,0x97FFFD7}, + [I(103,146)] = {28,0x9BFFFD7}, + [I(104,146)] = {28,0x9FFFFD7}, + [I(105,146)] = {27,0x1BFFFD7}, + [I(106,146)] = {29,0x1D3FFFD7}, + [I(107,146)] = {29,0x1D7FFFD7}, + [I(108,146)] = {28,0xA3FFFD7}, + [I(109,146)] = {28,0xA7FFFD7}, + [I(110,146)] = {28,0xABFFFD7}, + [I(111,146)] = {27,0x1FFFFD7}, + [I(112,146)] = {28,0xAFFFFD7}, + [I(113,146)] = {29,0x1DBFFFD7}, + [I(114,146)] = {28,0xB3FFFD7}, + [I(115,146)] = {27,0x23FFFD7}, + [I(116,146)] = {27,0x27FFFD7}, + [I(117,146)] = {28,0xB7FFFD7}, + [I(118,146)] = {29,0x1DFFFFD7}, + [I(119,146)] = {29,0x1E3FFFD7}, + [I(120,146)] = {29,0x1E7FFFD7}, + [I(121,146)] = {29,0x1EBFFFD7}, + [I(122,146)] = {29,0x1EFFFFD7}, + [I(123,146)] = {64,0}, + [I(124,146)] = {64,0}, + [I(125,146)] = {64,0}, + [I(126,146)] = {64,0}, + [I(127,146)] = {64,0}, + [I(128,146)] = {64,0}, + [I(129,146)] = {64,0}, + [I(130,146)] = {64,0}, + [I(131,146)] = {64,0}, + [I(132,146)] = {64,0}, + [I(133,146)] = {64,0}, + [I(134,146)] = {64,0}, + [I(135,146)] = {64,0}, + [I(136,146)] = {64,0}, + [I(137,146)] = {64,0}, + [I(138,146)] = {64,0}, + [I(139,146)] = {64,0}, + [I(140,146)] = {64,0}, + [I(141,146)] = {64,0}, + [I(142,146)] = {64,0}, + [I(143,146)] = {64,0}, + [I(144,146)] = {64,0}, + [I(145,146)] = {64,0}, + [I(146,146)] = {64,0}, + [I(147,146)] = {64,0}, + [I(148,146)] = {64,0}, + [I(149,146)] = {64,0}, + [I(150,146)] = {64,0}, + [I(151,146)] = {64,0}, + [I(152,146)] = {64,0}, + [I(153,146)] = {64,0}, + [I(154,146)] = {64,0}, + [I(155,146)] = {64,0}, + [I(156,146)] = {64,0}, + [I(157,146)] = {64,0}, + [I(158,146)] = {64,0}, + [I(159,146)] = {64,0}, + [I(160,146)] = {64,0}, + [I(161,146)] = {64,0}, + [I(162,146)] = {64,0}, + [I(163,146)] = {64,0}, + [I(164,146)] = {64,0}, + [I(165,146)] = {64,0}, + [I(166,146)] = {64,0}, + [I(167,146)] = {64,0}, + [I(168,146)] = {64,0}, + [I(169,146)] = {64,0}, + [I(170,146)] = {64,0}, + [I(171,146)] = {64,0}, + [I(172,146)] = {64,0}, + [I(173,146)] = {64,0}, + [I(174,146)] = {64,0}, + [I(175,146)] = {64,0}, + [I(176,146)] = {64,0}, + [I(177,146)] = {64,0}, + [I(178,146)] = {64,0}, + [I(179,146)] = {64,0}, + [I(180,146)] = {64,0}, + [I(181,146)] = {64,0}, + [I(182,146)] = {64,0}, + [I(183,146)] = {64,0}, + [I(184,146)] = {64,0}, + [I(185,146)] = {64,0}, + [I(186,146)] = {64,0}, + [I(187,146)] = {64,0}, + [I(188,146)] = {64,0}, + [I(189,146)] = {64,0}, + [I(190,146)] = {64,0}, + [I(191,146)] = {64,0}, + [I(192,146)] = {64,0}, + [I(193,146)] = {64,0}, + [I(194,146)] = {64,0}, + [I(195,146)] = {64,0}, + [I(196,146)] = {64,0}, + [I(197,146)] = {64,0}, + [I(198,146)] = {64,0}, + [I(199,146)] = {64,0}, + [I(200,146)] = {64,0}, + [I(201,146)] = {64,0}, + [I(202,146)] = {64,0}, + [I(203,146)] = {64,0}, + [I(204,146)] = {64,0}, + [I(205,146)] = {64,0}, + [I(206,146)] = {64,0}, + [I(207,146)] = {64,0}, + [I(208,146)] = {64,0}, + [I(209,146)] = {64,0}, + [I(210,146)] = {64,0}, + [I(211,146)] = {64,0}, + [I(212,146)] = {64,0}, + [I(213,146)] = {64,0}, + [I(214,146)] = {64,0}, + [I(215,146)] = {64,0}, + [I(216,146)] = {64,0}, + [I(217,146)] = {64,0}, + [I(218,146)] = {64,0}, + [I(219,146)] = {64,0}, + [I(220,146)] = {64,0}, + [I(221,146)] = {64,0}, + [I(222,146)] = {64,0}, + [I(223,146)] = {64,0}, + [I(224,146)] = {64,0}, + [I(225,146)] = {64,0}, + [I(226,146)] = {64,0}, + [I(227,146)] = {64,0}, + [I(228,146)] = {64,0}, + [I(229,146)] = {64,0}, + [I(230,146)] = {64,0}, + [I(231,146)] = {64,0}, + [I(232,146)] = {64,0}, + [I(233,146)] = {64,0}, + [I(234,146)] = {64,0}, + [I(235,146)] = {64,0}, + [I(236,146)] = {64,0}, + [I(237,146)] = {64,0}, + [I(238,146)] = {64,0}, + [I(239,146)] = {64,0}, + [I(240,146)] = {64,0}, + [I(241,146)] = {64,0}, + [I(242,146)] = {64,0}, + [I(243,146)] = {64,0}, + [I(244,146)] = {64,0}, + [I(245,146)] = {64,0}, + [I(246,146)] = {64,0}, + [I(247,146)] = {64,0}, + [I(248,146)] = {64,0}, + [I(249,146)] = {64,0}, + [I(250,146)] = {64,0}, + [I(251,146)] = {64,0}, + [I(252,146)] = {64,0}, + [I(253,146)] = {64,0}, + [I(254,146)] = {64,0}, + [I(255,146)] = {64,0}, + [I(0,147)] = {64,0}, + [I(1,147)] = {64,0}, + [I(2,147)] = {64,0}, + [I(3,147)] = {64,0}, + [I(4,147)] = {64,0}, + [I(5,147)] = {64,0}, + [I(6,147)] = {64,0}, + [I(7,147)] = {64,0}, + [I(8,147)] = {64,0}, + [I(9,147)] = {64,0}, + [I(10,147)] = {64,0}, + [I(11,147)] = {64,0}, + [I(12,147)] = {64,0}, + [I(13,147)] = {64,0}, + [I(14,147)] = {64,0}, + [I(15,147)] = {64,0}, + [I(16,147)] = {64,0}, + [I(17,147)] = {64,0}, + [I(18,147)] = {64,0}, + [I(19,147)] = {64,0}, + [I(20,147)] = {64,0}, + [I(21,147)] = {64,0}, + [I(22,147)] = {64,0}, + [I(23,147)] = {64,0}, + [I(24,147)] = {64,0}, + [I(25,147)] = {64,0}, + [I(26,147)] = {64,0}, + [I(27,147)] = {64,0}, + [I(28,147)] = {64,0}, + [I(29,147)] = {64,0}, + [I(30,147)] = {64,0}, + [I(31,147)] = {64,0}, + [I(32,147)] = {29,0xA7FFFE0}, + [I(33,147)] = {64,0}, + [I(34,147)] = {64,0}, + [I(35,147)] = {64,0}, + [I(36,147)] = {64,0}, + [I(37,147)] = {29,0xAFFFFE0}, + [I(38,147)] = {31,0x7C7FFFE0}, + [I(39,147)] = {64,0}, + [I(40,147)] = {64,0}, + [I(41,147)] = {64,0}, + [I(42,147)] = {31,0x7CFFFFE0}, + [I(43,147)] = {64,0}, + [I(44,147)] = {31,0x7D7FFFE0}, + [I(45,147)] = {29,0xB7FFFE0}, + [I(46,147)] = {29,0xBFFFFE0}, + [I(47,147)] = {29,0xC7FFFE0}, + [I(48,147)] = {28,0x7FFFE0}, + [I(49,147)] = {28,0xFFFFE0}, + [I(50,147)] = {28,0x17FFFE0}, + [I(51,147)] = {29,0xCFFFFE0}, + [I(52,147)] = {29,0xD7FFFE0}, + [I(53,147)] = {29,0xDFFFFE0}, + [I(54,147)] = {29,0xE7FFFE0}, + [I(55,147)] = {29,0xEFFFFE0}, + [I(56,147)] = {29,0xF7FFFE0}, + [I(57,147)] = {29,0xFFFFFE0}, + [I(58,147)] = {30,0x2E7FFFE0}, + [I(59,147)] = {31,0x7DFFFFE0}, + [I(60,147)] = {64,0}, + [I(61,147)] = {29,0x107FFFE0}, + [I(62,147)] = {64,0}, + [I(63,147)] = {64,0}, + [I(64,147)] = {64,0}, + [I(65,147)] = {29,0x10FFFFE0}, + [I(66,147)] = {30,0x2EFFFFE0}, + [I(67,147)] = {30,0x2F7FFFE0}, + [I(68,147)] = {30,0x2FFFFFE0}, + [I(69,147)] = {30,0x307FFFE0}, + [I(70,147)] = {30,0x30FFFFE0}, + [I(71,147)] = {30,0x317FFFE0}, + [I(72,147)] = {30,0x31FFFFE0}, + [I(73,147)] = {30,0x327FFFE0}, + [I(74,147)] = {30,0x32FFFFE0}, + [I(75,147)] = {30,0x337FFFE0}, + [I(76,147)] = {30,0x33FFFFE0}, + [I(77,147)] = {30,0x347FFFE0}, + [I(78,147)] = {30,0x34FFFFE0}, + [I(79,147)] = {30,0x357FFFE0}, + [I(80,147)] = {30,0x35FFFFE0}, + [I(81,147)] = {30,0x367FFFE0}, + [I(82,147)] = {30,0x36FFFFE0}, + [I(83,147)] = {30,0x377FFFE0}, + [I(84,147)] = {30,0x37FFFFE0}, + [I(85,147)] = {30,0x387FFFE0}, + [I(86,147)] = {30,0x38FFFFE0}, + [I(87,147)] = {30,0x397FFFE0}, + [I(88,147)] = {31,0x7E7FFFE0}, + [I(89,147)] = {30,0x39FFFFE0}, + [I(90,147)] = {31,0x7EFFFFE0}, + [I(91,147)] = {64,0}, + [I(92,147)] = {64,0}, + [I(93,147)] = {64,0}, + [I(94,147)] = {64,0}, + [I(95,147)] = {29,0x117FFFE0}, + [I(96,147)] = {64,0}, + [I(97,147)] = {28,0x1FFFFE0}, + [I(98,147)] = {29,0x11FFFFE0}, + [I(99,147)] = {28,0x27FFFE0}, + [I(100,147)] = {29,0x127FFFE0}, + [I(101,147)] = {28,0x2FFFFE0}, + [I(102,147)] = {29,0x12FFFFE0}, + [I(103,147)] = {29,0x137FFFE0}, + [I(104,147)] = {29,0x13FFFFE0}, + [I(105,147)] = {28,0x37FFFE0}, + [I(106,147)] = {30,0x3A7FFFE0}, + [I(107,147)] = {30,0x3AFFFFE0}, + [I(108,147)] = {29,0x147FFFE0}, + [I(109,147)] = {29,0x14FFFFE0}, + [I(110,147)] = {29,0x157FFFE0}, + [I(111,147)] = {28,0x3FFFFE0}, + [I(112,147)] = {29,0x15FFFFE0}, + [I(113,147)] = {30,0x3B7FFFE0}, + [I(114,147)] = {29,0x167FFFE0}, + [I(115,147)] = {28,0x47FFFE0}, + [I(116,147)] = {28,0x4FFFFE0}, + [I(117,147)] = {29,0x16FFFFE0}, + [I(118,147)] = {30,0x3BFFFFE0}, + [I(119,147)] = {30,0x3C7FFFE0}, + [I(120,147)] = {30,0x3CFFFFE0}, + [I(121,147)] = {30,0x3D7FFFE0}, + [I(122,147)] = {30,0x3DFFFFE0}, + [I(123,147)] = {64,0}, + [I(124,147)] = {64,0}, + [I(125,147)] = {64,0}, + [I(126,147)] = {64,0}, + [I(127,147)] = {64,0}, + [I(128,147)] = {64,0}, + [I(129,147)] = {64,0}, + [I(130,147)] = {64,0}, + [I(131,147)] = {64,0}, + [I(132,147)] = {64,0}, + [I(133,147)] = {64,0}, + [I(134,147)] = {64,0}, + [I(135,147)] = {64,0}, + [I(136,147)] = {64,0}, + [I(137,147)] = {64,0}, + [I(138,147)] = {64,0}, + [I(139,147)] = {64,0}, + [I(140,147)] = {64,0}, + [I(141,147)] = {64,0}, + [I(142,147)] = {64,0}, + [I(143,147)] = {64,0}, + [I(144,147)] = {64,0}, + [I(145,147)] = {64,0}, + [I(146,147)] = {64,0}, + [I(147,147)] = {64,0}, + [I(148,147)] = {64,0}, + [I(149,147)] = {64,0}, + [I(150,147)] = {64,0}, + [I(151,147)] = {64,0}, + [I(152,147)] = {64,0}, + [I(153,147)] = {64,0}, + [I(154,147)] = {64,0}, + [I(155,147)] = {64,0}, + [I(156,147)] = {64,0}, + [I(157,147)] = {64,0}, + [I(158,147)] = {64,0}, + [I(159,147)] = {64,0}, + [I(160,147)] = {64,0}, + [I(161,147)] = {64,0}, + [I(162,147)] = {64,0}, + [I(163,147)] = {64,0}, + [I(164,147)] = {64,0}, + [I(165,147)] = {64,0}, + [I(166,147)] = {64,0}, + [I(167,147)] = {64,0}, + [I(168,147)] = {64,0}, + [I(169,147)] = {64,0}, + [I(170,147)] = {64,0}, + [I(171,147)] = {64,0}, + [I(172,147)] = {64,0}, + [I(173,147)] = {64,0}, + [I(174,147)] = {64,0}, + [I(175,147)] = {64,0}, + [I(176,147)] = {64,0}, + [I(177,147)] = {64,0}, + [I(178,147)] = {64,0}, + [I(179,147)] = {64,0}, + [I(180,147)] = {64,0}, + [I(181,147)] = {64,0}, + [I(182,147)] = {64,0}, + [I(183,147)] = {64,0}, + [I(184,147)] = {64,0}, + [I(185,147)] = {64,0}, + [I(186,147)] = {64,0}, + [I(187,147)] = {64,0}, + [I(188,147)] = {64,0}, + [I(189,147)] = {64,0}, + [I(190,147)] = {64,0}, + [I(191,147)] = {64,0}, + [I(192,147)] = {64,0}, + [I(193,147)] = {64,0}, + [I(194,147)] = {64,0}, + [I(195,147)] = {64,0}, + [I(196,147)] = {64,0}, + [I(197,147)] = {64,0}, + [I(198,147)] = {64,0}, + [I(199,147)] = {64,0}, + [I(200,147)] = {64,0}, + [I(201,147)] = {64,0}, + [I(202,147)] = {64,0}, + [I(203,147)] = {64,0}, + [I(204,147)] = {64,0}, + [I(205,147)] = {64,0}, + [I(206,147)] = {64,0}, + [I(207,147)] = {64,0}, + [I(208,147)] = {64,0}, + [I(209,147)] = {64,0}, + [I(210,147)] = {64,0}, + [I(211,147)] = {64,0}, + [I(212,147)] = {64,0}, + [I(213,147)] = {64,0}, + [I(214,147)] = {64,0}, + [I(215,147)] = {64,0}, + [I(216,147)] = {64,0}, + [I(217,147)] = {64,0}, + [I(218,147)] = {64,0}, + [I(219,147)] = {64,0}, + [I(220,147)] = {64,0}, + [I(221,147)] = {64,0}, + [I(222,147)] = {64,0}, + [I(223,147)] = {64,0}, + [I(224,147)] = {64,0}, + [I(225,147)] = {64,0}, + [I(226,147)] = {64,0}, + [I(227,147)] = {64,0}, + [I(228,147)] = {64,0}, + [I(229,147)] = {64,0}, + [I(230,147)] = {64,0}, + [I(231,147)] = {64,0}, + [I(232,147)] = {64,0}, + [I(233,147)] = {64,0}, + [I(234,147)] = {64,0}, + [I(235,147)] = {64,0}, + [I(236,147)] = {64,0}, + [I(237,147)] = {64,0}, + [I(238,147)] = {64,0}, + [I(239,147)] = {64,0}, + [I(240,147)] = {64,0}, + [I(241,147)] = {64,0}, + [I(242,147)] = {64,0}, + [I(243,147)] = {64,0}, + [I(244,147)] = {64,0}, + [I(245,147)] = {64,0}, + [I(246,147)] = {64,0}, + [I(247,147)] = {64,0}, + [I(248,147)] = {64,0}, + [I(249,147)] = {64,0}, + [I(250,147)] = {64,0}, + [I(251,147)] = {64,0}, + [I(252,147)] = {64,0}, + [I(253,147)] = {64,0}, + [I(254,147)] = {64,0}, + [I(255,147)] = {64,0}, + [I(0,148)] = {64,0}, + [I(1,148)] = {64,0}, + [I(2,148)] = {64,0}, + [I(3,148)] = {64,0}, + [I(4,148)] = {64,0}, + [I(5,148)] = {64,0}, + [I(6,148)] = {64,0}, + [I(7,148)] = {64,0}, + [I(8,148)] = {64,0}, + [I(9,148)] = {64,0}, + [I(10,148)] = {64,0}, + [I(11,148)] = {64,0}, + [I(12,148)] = {64,0}, + [I(13,148)] = {64,0}, + [I(14,148)] = {64,0}, + [I(15,148)] = {64,0}, + [I(16,148)] = {64,0}, + [I(17,148)] = {64,0}, + [I(18,148)] = {64,0}, + [I(19,148)] = {64,0}, + [I(20,148)] = {64,0}, + [I(21,148)] = {64,0}, + [I(22,148)] = {64,0}, + [I(23,148)] = {64,0}, + [I(24,148)] = {64,0}, + [I(25,148)] = {64,0}, + [I(26,148)] = {64,0}, + [I(27,148)] = {64,0}, + [I(28,148)] = {64,0}, + [I(29,148)] = {64,0}, + [I(30,148)] = {64,0}, + [I(31,148)] = {64,0}, + [I(32,148)] = {30,0x14FFFFEE}, + [I(33,148)] = {64,0}, + [I(34,148)] = {64,0}, + [I(35,148)] = {64,0}, + [I(36,148)] = {64,0}, + [I(37,148)] = {30,0x15FFFFEE}, + [I(38,148)] = {X32,0xF8FFFFEE}, + [I(39,148)] = {64,0}, + [I(40,148)] = {64,0}, + [I(41,148)] = {64,0}, + [I(42,148)] = {X32,0xF9FFFFEE}, + [I(43,148)] = {64,0}, + [I(44,148)] = {X32,0xFAFFFFEE}, + [I(45,148)] = {30,0x16FFFFEE}, + [I(46,148)] = {30,0x17FFFFEE}, + [I(47,148)] = {30,0x18FFFFEE}, + [I(48,148)] = {29,0xFFFFEE}, + [I(49,148)] = {29,0x1FFFFEE}, + [I(50,148)] = {29,0x2FFFFEE}, + [I(51,148)] = {30,0x19FFFFEE}, + [I(52,148)] = {30,0x1AFFFFEE}, + [I(53,148)] = {30,0x1BFFFFEE}, + [I(54,148)] = {30,0x1CFFFFEE}, + [I(55,148)] = {30,0x1DFFFFEE}, + [I(56,148)] = {30,0x1EFFFFEE}, + [I(57,148)] = {30,0x1FFFFFEE}, + [I(58,148)] = {31,0x5CFFFFEE}, + [I(59,148)] = {X32,0xFBFFFFEE}, + [I(60,148)] = {64,0}, + [I(61,148)] = {30,0x20FFFFEE}, + [I(62,148)] = {64,0}, + [I(63,148)] = {64,0}, + [I(64,148)] = {64,0}, + [I(65,148)] = {30,0x21FFFFEE}, + [I(66,148)] = {31,0x5DFFFFEE}, + [I(67,148)] = {31,0x5EFFFFEE}, + [I(68,148)] = {31,0x5FFFFFEE}, + [I(69,148)] = {31,0x60FFFFEE}, + [I(70,148)] = {31,0x61FFFFEE}, + [I(71,148)] = {31,0x62FFFFEE}, + [I(72,148)] = {31,0x63FFFFEE}, + [I(73,148)] = {31,0x64FFFFEE}, + [I(74,148)] = {31,0x65FFFFEE}, + [I(75,148)] = {31,0x66FFFFEE}, + [I(76,148)] = {31,0x67FFFFEE}, + [I(77,148)] = {31,0x68FFFFEE}, + [I(78,148)] = {31,0x69FFFFEE}, + [I(79,148)] = {31,0x6AFFFFEE}, + [I(80,148)] = {31,0x6BFFFFEE}, + [I(81,148)] = {31,0x6CFFFFEE}, + [I(82,148)] = {31,0x6DFFFFEE}, + [I(83,148)] = {31,0x6EFFFFEE}, + [I(84,148)] = {31,0x6FFFFFEE}, + [I(85,148)] = {31,0x70FFFFEE}, + [I(86,148)] = {31,0x71FFFFEE}, + [I(87,148)] = {31,0x72FFFFEE}, + [I(88,148)] = {X32,0xFCFFFFEE}, + [I(89,148)] = {31,0x73FFFFEE}, + [I(90,148)] = {X32,0xFDFFFFEE}, + [I(91,148)] = {64,0}, + [I(92,148)] = {64,0}, + [I(93,148)] = {64,0}, + [I(94,148)] = {64,0}, + [I(95,148)] = {30,0x22FFFFEE}, + [I(96,148)] = {64,0}, + [I(97,148)] = {29,0x3FFFFEE}, + [I(98,148)] = {30,0x23FFFFEE}, + [I(99,148)] = {29,0x4FFFFEE}, + [I(100,148)] = {30,0x24FFFFEE}, + [I(101,148)] = {29,0x5FFFFEE}, + [I(102,148)] = {30,0x25FFFFEE}, + [I(103,148)] = {30,0x26FFFFEE}, + [I(104,148)] = {30,0x27FFFFEE}, + [I(105,148)] = {29,0x6FFFFEE}, + [I(106,148)] = {31,0x74FFFFEE}, + [I(107,148)] = {31,0x75FFFFEE}, + [I(108,148)] = {30,0x28FFFFEE}, + [I(109,148)] = {30,0x29FFFFEE}, + [I(110,148)] = {30,0x2AFFFFEE}, + [I(111,148)] = {29,0x7FFFFEE}, + [I(112,148)] = {30,0x2BFFFFEE}, + [I(113,148)] = {31,0x76FFFFEE}, + [I(114,148)] = {30,0x2CFFFFEE}, + [I(115,148)] = {29,0x8FFFFEE}, + [I(116,148)] = {29,0x9FFFFEE}, + [I(117,148)] = {30,0x2DFFFFEE}, + [I(118,148)] = {31,0x77FFFFEE}, + [I(119,148)] = {31,0x78FFFFEE}, + [I(120,148)] = {31,0x79FFFFEE}, + [I(121,148)] = {31,0x7AFFFFEE}, + [I(122,148)] = {31,0x7BFFFFEE}, + [I(123,148)] = {64,0}, + [I(124,148)] = {64,0}, + [I(125,148)] = {64,0}, + [I(126,148)] = {64,0}, + [I(127,148)] = {64,0}, + [I(128,148)] = {64,0}, + [I(129,148)] = {64,0}, + [I(130,148)] = {64,0}, + [I(131,148)] = {64,0}, + [I(132,148)] = {64,0}, + [I(133,148)] = {64,0}, + [I(134,148)] = {64,0}, + [I(135,148)] = {64,0}, + [I(136,148)] = {64,0}, + [I(137,148)] = {64,0}, + [I(138,148)] = {64,0}, + [I(139,148)] = {64,0}, + [I(140,148)] = {64,0}, + [I(141,148)] = {64,0}, + [I(142,148)] = {64,0}, + [I(143,148)] = {64,0}, + [I(144,148)] = {64,0}, + [I(145,148)] = {64,0}, + [I(146,148)] = {64,0}, + [I(147,148)] = {64,0}, + [I(148,148)] = {64,0}, + [I(149,148)] = {64,0}, + [I(150,148)] = {64,0}, + [I(151,148)] = {64,0}, + [I(152,148)] = {64,0}, + [I(153,148)] = {64,0}, + [I(154,148)] = {64,0}, + [I(155,148)] = {64,0}, + [I(156,148)] = {64,0}, + [I(157,148)] = {64,0}, + [I(158,148)] = {64,0}, + [I(159,148)] = {64,0}, + [I(160,148)] = {64,0}, + [I(161,148)] = {64,0}, + [I(162,148)] = {64,0}, + [I(163,148)] = {64,0}, + [I(164,148)] = {64,0}, + [I(165,148)] = {64,0}, + [I(166,148)] = {64,0}, + [I(167,148)] = {64,0}, + [I(168,148)] = {64,0}, + [I(169,148)] = {64,0}, + [I(170,148)] = {64,0}, + [I(171,148)] = {64,0}, + [I(172,148)] = {64,0}, + [I(173,148)] = {64,0}, + [I(174,148)] = {64,0}, + [I(175,148)] = {64,0}, + [I(176,148)] = {64,0}, + [I(177,148)] = {64,0}, + [I(178,148)] = {64,0}, + [I(179,148)] = {64,0}, + [I(180,148)] = {64,0}, + [I(181,148)] = {64,0}, + [I(182,148)] = {64,0}, + [I(183,148)] = {64,0}, + [I(184,148)] = {64,0}, + [I(185,148)] = {64,0}, + [I(186,148)] = {64,0}, + [I(187,148)] = {64,0}, + [I(188,148)] = {64,0}, + [I(189,148)] = {64,0}, + [I(190,148)] = {64,0}, + [I(191,148)] = {64,0}, + [I(192,148)] = {64,0}, + [I(193,148)] = {64,0}, + [I(194,148)] = {64,0}, + [I(195,148)] = {64,0}, + [I(196,148)] = {64,0}, + [I(197,148)] = {64,0}, + [I(198,148)] = {64,0}, + [I(199,148)] = {64,0}, + [I(200,148)] = {64,0}, + [I(201,148)] = {64,0}, + [I(202,148)] = {64,0}, + [I(203,148)] = {64,0}, + [I(204,148)] = {64,0}, + [I(205,148)] = {64,0}, + [I(206,148)] = {64,0}, + [I(207,148)] = {64,0}, + [I(208,148)] = {64,0}, + [I(209,148)] = {64,0}, + [I(210,148)] = {64,0}, + [I(211,148)] = {64,0}, + [I(212,148)] = {64,0}, + [I(213,148)] = {64,0}, + [I(214,148)] = {64,0}, + [I(215,148)] = {64,0}, + [I(216,148)] = {64,0}, + [I(217,148)] = {64,0}, + [I(218,148)] = {64,0}, + [I(219,148)] = {64,0}, + [I(220,148)] = {64,0}, + [I(221,148)] = {64,0}, + [I(222,148)] = {64,0}, + [I(223,148)] = {64,0}, + [I(224,148)] = {64,0}, + [I(225,148)] = {64,0}, + [I(226,148)] = {64,0}, + [I(227,148)] = {64,0}, + [I(228,148)] = {64,0}, + [I(229,148)] = {64,0}, + [I(230,148)] = {64,0}, + [I(231,148)] = {64,0}, + [I(232,148)] = {64,0}, + [I(233,148)] = {64,0}, + [I(234,148)] = {64,0}, + [I(235,148)] = {64,0}, + [I(236,148)] = {64,0}, + [I(237,148)] = {64,0}, + [I(238,148)] = {64,0}, + [I(239,148)] = {64,0}, + [I(240,148)] = {64,0}, + [I(241,148)] = {64,0}, + [I(242,148)] = {64,0}, + [I(243,148)] = {64,0}, + [I(244,148)] = {64,0}, + [I(245,148)] = {64,0}, + [I(246,148)] = {64,0}, + [I(247,148)] = {64,0}, + [I(248,148)] = {64,0}, + [I(249,148)] = {64,0}, + [I(250,148)] = {64,0}, + [I(251,148)] = {64,0}, + [I(252,148)] = {64,0}, + [I(253,148)] = {64,0}, + [I(254,148)] = {64,0}, + [I(255,148)] = {64,0}, + [I(0,149)] = {64,0}, + [I(1,149)] = {64,0}, + [I(2,149)] = {64,0}, + [I(3,149)] = {64,0}, + [I(4,149)] = {64,0}, + [I(5,149)] = {64,0}, + [I(6,149)] = {64,0}, + [I(7,149)] = {64,0}, + [I(8,149)] = {64,0}, + [I(9,149)] = {64,0}, + [I(10,149)] = {64,0}, + [I(11,149)] = {64,0}, + [I(12,149)] = {64,0}, + [I(13,149)] = {64,0}, + [I(14,149)] = {64,0}, + [I(15,149)] = {64,0}, + [I(16,149)] = {64,0}, + [I(17,149)] = {64,0}, + [I(18,149)] = {64,0}, + [I(19,149)] = {64,0}, + [I(20,149)] = {64,0}, + [I(21,149)] = {64,0}, + [I(22,149)] = {64,0}, + [I(23,149)] = {64,0}, + [I(24,149)] = {64,0}, + [I(25,149)] = {64,0}, + [I(26,149)] = {64,0}, + [I(27,149)] = {64,0}, + [I(28,149)] = {64,0}, + [I(29,149)] = {64,0}, + [I(30,149)] = {64,0}, + [I(31,149)] = {64,0}, + [I(32,149)] = {29,0xA7FFFE1}, + [I(33,149)] = {64,0}, + [I(34,149)] = {64,0}, + [I(35,149)] = {64,0}, + [I(36,149)] = {64,0}, + [I(37,149)] = {29,0xAFFFFE1}, + [I(38,149)] = {31,0x7C7FFFE1}, + [I(39,149)] = {64,0}, + [I(40,149)] = {64,0}, + [I(41,149)] = {64,0}, + [I(42,149)] = {31,0x7CFFFFE1}, + [I(43,149)] = {64,0}, + [I(44,149)] = {31,0x7D7FFFE1}, + [I(45,149)] = {29,0xB7FFFE1}, + [I(46,149)] = {29,0xBFFFFE1}, + [I(47,149)] = {29,0xC7FFFE1}, + [I(48,149)] = {28,0x7FFFE1}, + [I(49,149)] = {28,0xFFFFE1}, + [I(50,149)] = {28,0x17FFFE1}, + [I(51,149)] = {29,0xCFFFFE1}, + [I(52,149)] = {29,0xD7FFFE1}, + [I(53,149)] = {29,0xDFFFFE1}, + [I(54,149)] = {29,0xE7FFFE1}, + [I(55,149)] = {29,0xEFFFFE1}, + [I(56,149)] = {29,0xF7FFFE1}, + [I(57,149)] = {29,0xFFFFFE1}, + [I(58,149)] = {30,0x2E7FFFE1}, + [I(59,149)] = {31,0x7DFFFFE1}, + [I(60,149)] = {64,0}, + [I(61,149)] = {29,0x107FFFE1}, + [I(62,149)] = {64,0}, + [I(63,149)] = {64,0}, + [I(64,149)] = {64,0}, + [I(65,149)] = {29,0x10FFFFE1}, + [I(66,149)] = {30,0x2EFFFFE1}, + [I(67,149)] = {30,0x2F7FFFE1}, + [I(68,149)] = {30,0x2FFFFFE1}, + [I(69,149)] = {30,0x307FFFE1}, + [I(70,149)] = {30,0x30FFFFE1}, + [I(71,149)] = {30,0x317FFFE1}, + [I(72,149)] = {30,0x31FFFFE1}, + [I(73,149)] = {30,0x327FFFE1}, + [I(74,149)] = {30,0x32FFFFE1}, + [I(75,149)] = {30,0x337FFFE1}, + [I(76,149)] = {30,0x33FFFFE1}, + [I(77,149)] = {30,0x347FFFE1}, + [I(78,149)] = {30,0x34FFFFE1}, + [I(79,149)] = {30,0x357FFFE1}, + [I(80,149)] = {30,0x35FFFFE1}, + [I(81,149)] = {30,0x367FFFE1}, + [I(82,149)] = {30,0x36FFFFE1}, + [I(83,149)] = {30,0x377FFFE1}, + [I(84,149)] = {30,0x37FFFFE1}, + [I(85,149)] = {30,0x387FFFE1}, + [I(86,149)] = {30,0x38FFFFE1}, + [I(87,149)] = {30,0x397FFFE1}, + [I(88,149)] = {31,0x7E7FFFE1}, + [I(89,149)] = {30,0x39FFFFE1}, + [I(90,149)] = {31,0x7EFFFFE1}, + [I(91,149)] = {64,0}, + [I(92,149)] = {64,0}, + [I(93,149)] = {64,0}, + [I(94,149)] = {64,0}, + [I(95,149)] = {29,0x117FFFE1}, + [I(96,149)] = {64,0}, + [I(97,149)] = {28,0x1FFFFE1}, + [I(98,149)] = {29,0x11FFFFE1}, + [I(99,149)] = {28,0x27FFFE1}, + [I(100,149)] = {29,0x127FFFE1}, + [I(101,149)] = {28,0x2FFFFE1}, + [I(102,149)] = {29,0x12FFFFE1}, + [I(103,149)] = {29,0x137FFFE1}, + [I(104,149)] = {29,0x13FFFFE1}, + [I(105,149)] = {28,0x37FFFE1}, + [I(106,149)] = {30,0x3A7FFFE1}, + [I(107,149)] = {30,0x3AFFFFE1}, + [I(108,149)] = {29,0x147FFFE1}, + [I(109,149)] = {29,0x14FFFFE1}, + [I(110,149)] = {29,0x157FFFE1}, + [I(111,149)] = {28,0x3FFFFE1}, + [I(112,149)] = {29,0x15FFFFE1}, + [I(113,149)] = {30,0x3B7FFFE1}, + [I(114,149)] = {29,0x167FFFE1}, + [I(115,149)] = {28,0x47FFFE1}, + [I(116,149)] = {28,0x4FFFFE1}, + [I(117,149)] = {29,0x16FFFFE1}, + [I(118,149)] = {30,0x3BFFFFE1}, + [I(119,149)] = {30,0x3C7FFFE1}, + [I(120,149)] = {30,0x3CFFFFE1}, + [I(121,149)] = {30,0x3D7FFFE1}, + [I(122,149)] = {30,0x3DFFFFE1}, + [I(123,149)] = {64,0}, + [I(124,149)] = {64,0}, + [I(125,149)] = {64,0}, + [I(126,149)] = {64,0}, + [I(127,149)] = {64,0}, + [I(128,149)] = {64,0}, + [I(129,149)] = {64,0}, + [I(130,149)] = {64,0}, + [I(131,149)] = {64,0}, + [I(132,149)] = {64,0}, + [I(133,149)] = {64,0}, + [I(134,149)] = {64,0}, + [I(135,149)] = {64,0}, + [I(136,149)] = {64,0}, + [I(137,149)] = {64,0}, + [I(138,149)] = {64,0}, + [I(139,149)] = {64,0}, + [I(140,149)] = {64,0}, + [I(141,149)] = {64,0}, + [I(142,149)] = {64,0}, + [I(143,149)] = {64,0}, + [I(144,149)] = {64,0}, + [I(145,149)] = {64,0}, + [I(146,149)] = {64,0}, + [I(147,149)] = {64,0}, + [I(148,149)] = {64,0}, + [I(149,149)] = {64,0}, + [I(150,149)] = {64,0}, + [I(151,149)] = {64,0}, + [I(152,149)] = {64,0}, + [I(153,149)] = {64,0}, + [I(154,149)] = {64,0}, + [I(155,149)] = {64,0}, + [I(156,149)] = {64,0}, + [I(157,149)] = {64,0}, + [I(158,149)] = {64,0}, + [I(159,149)] = {64,0}, + [I(160,149)] = {64,0}, + [I(161,149)] = {64,0}, + [I(162,149)] = {64,0}, + [I(163,149)] = {64,0}, + [I(164,149)] = {64,0}, + [I(165,149)] = {64,0}, + [I(166,149)] = {64,0}, + [I(167,149)] = {64,0}, + [I(168,149)] = {64,0}, + [I(169,149)] = {64,0}, + [I(170,149)] = {64,0}, + [I(171,149)] = {64,0}, + [I(172,149)] = {64,0}, + [I(173,149)] = {64,0}, + [I(174,149)] = {64,0}, + [I(175,149)] = {64,0}, + [I(176,149)] = {64,0}, + [I(177,149)] = {64,0}, + [I(178,149)] = {64,0}, + [I(179,149)] = {64,0}, + [I(180,149)] = {64,0}, + [I(181,149)] = {64,0}, + [I(182,149)] = {64,0}, + [I(183,149)] = {64,0}, + [I(184,149)] = {64,0}, + [I(185,149)] = {64,0}, + [I(186,149)] = {64,0}, + [I(187,149)] = {64,0}, + [I(188,149)] = {64,0}, + [I(189,149)] = {64,0}, + [I(190,149)] = {64,0}, + [I(191,149)] = {64,0}, + [I(192,149)] = {64,0}, + [I(193,149)] = {64,0}, + [I(194,149)] = {64,0}, + [I(195,149)] = {64,0}, + [I(196,149)] = {64,0}, + [I(197,149)] = {64,0}, + [I(198,149)] = {64,0}, + [I(199,149)] = {64,0}, + [I(200,149)] = {64,0}, + [I(201,149)] = {64,0}, + [I(202,149)] = {64,0}, + [I(203,149)] = {64,0}, + [I(204,149)] = {64,0}, + [I(205,149)] = {64,0}, + [I(206,149)] = {64,0}, + [I(207,149)] = {64,0}, + [I(208,149)] = {64,0}, + [I(209,149)] = {64,0}, + [I(210,149)] = {64,0}, + [I(211,149)] = {64,0}, + [I(212,149)] = {64,0}, + [I(213,149)] = {64,0}, + [I(214,149)] = {64,0}, + [I(215,149)] = {64,0}, + [I(216,149)] = {64,0}, + [I(217,149)] = {64,0}, + [I(218,149)] = {64,0}, + [I(219,149)] = {64,0}, + [I(220,149)] = {64,0}, + [I(221,149)] = {64,0}, + [I(222,149)] = {64,0}, + [I(223,149)] = {64,0}, + [I(224,149)] = {64,0}, + [I(225,149)] = {64,0}, + [I(226,149)] = {64,0}, + [I(227,149)] = {64,0}, + [I(228,149)] = {64,0}, + [I(229,149)] = {64,0}, + [I(230,149)] = {64,0}, + [I(231,149)] = {64,0}, + [I(232,149)] = {64,0}, + [I(233,149)] = {64,0}, + [I(234,149)] = {64,0}, + [I(235,149)] = {64,0}, + [I(236,149)] = {64,0}, + [I(237,149)] = {64,0}, + [I(238,149)] = {64,0}, + [I(239,149)] = {64,0}, + [I(240,149)] = {64,0}, + [I(241,149)] = {64,0}, + [I(242,149)] = {64,0}, + [I(243,149)] = {64,0}, + [I(244,149)] = {64,0}, + [I(245,149)] = {64,0}, + [I(246,149)] = {64,0}, + [I(247,149)] = {64,0}, + [I(248,149)] = {64,0}, + [I(249,149)] = {64,0}, + [I(250,149)] = {64,0}, + [I(251,149)] = {64,0}, + [I(252,149)] = {64,0}, + [I(253,149)] = {64,0}, + [I(254,149)] = {64,0}, + [I(255,149)] = {64,0}, + [I(0,150)] = {64,0}, + [I(1,150)] = {64,0}, + [I(2,150)] = {64,0}, + [I(3,150)] = {64,0}, + [I(4,150)] = {64,0}, + [I(5,150)] = {64,0}, + [I(6,150)] = {64,0}, + [I(7,150)] = {64,0}, + [I(8,150)] = {64,0}, + [I(9,150)] = {64,0}, + [I(10,150)] = {64,0}, + [I(11,150)] = {64,0}, + [I(12,150)] = {64,0}, + [I(13,150)] = {64,0}, + [I(14,150)] = {64,0}, + [I(15,150)] = {64,0}, + [I(16,150)] = {64,0}, + [I(17,150)] = {64,0}, + [I(18,150)] = {64,0}, + [I(19,150)] = {64,0}, + [I(20,150)] = {64,0}, + [I(21,150)] = {64,0}, + [I(22,150)] = {64,0}, + [I(23,150)] = {64,0}, + [I(24,150)] = {64,0}, + [I(25,150)] = {64,0}, + [I(26,150)] = {64,0}, + [I(27,150)] = {64,0}, + [I(28,150)] = {64,0}, + [I(29,150)] = {64,0}, + [I(30,150)] = {64,0}, + [I(31,150)] = {64,0}, + [I(32,150)] = {29,0xA7FFFE2}, + [I(33,150)] = {64,0}, + [I(34,150)] = {64,0}, + [I(35,150)] = {64,0}, + [I(36,150)] = {64,0}, + [I(37,150)] = {29,0xAFFFFE2}, + [I(38,150)] = {31,0x7C7FFFE2}, + [I(39,150)] = {64,0}, + [I(40,150)] = {64,0}, + [I(41,150)] = {64,0}, + [I(42,150)] = {31,0x7CFFFFE2}, + [I(43,150)] = {64,0}, + [I(44,150)] = {31,0x7D7FFFE2}, + [I(45,150)] = {29,0xB7FFFE2}, + [I(46,150)] = {29,0xBFFFFE2}, + [I(47,150)] = {29,0xC7FFFE2}, + [I(48,150)] = {28,0x7FFFE2}, + [I(49,150)] = {28,0xFFFFE2}, + [I(50,150)] = {28,0x17FFFE2}, + [I(51,150)] = {29,0xCFFFFE2}, + [I(52,150)] = {29,0xD7FFFE2}, + [I(53,150)] = {29,0xDFFFFE2}, + [I(54,150)] = {29,0xE7FFFE2}, + [I(55,150)] = {29,0xEFFFFE2}, + [I(56,150)] = {29,0xF7FFFE2}, + [I(57,150)] = {29,0xFFFFFE2}, + [I(58,150)] = {30,0x2E7FFFE2}, + [I(59,150)] = {31,0x7DFFFFE2}, + [I(60,150)] = {64,0}, + [I(61,150)] = {29,0x107FFFE2}, + [I(62,150)] = {64,0}, + [I(63,150)] = {64,0}, + [I(64,150)] = {64,0}, + [I(65,150)] = {29,0x10FFFFE2}, + [I(66,150)] = {30,0x2EFFFFE2}, + [I(67,150)] = {30,0x2F7FFFE2}, + [I(68,150)] = {30,0x2FFFFFE2}, + [I(69,150)] = {30,0x307FFFE2}, + [I(70,150)] = {30,0x30FFFFE2}, + [I(71,150)] = {30,0x317FFFE2}, + [I(72,150)] = {30,0x31FFFFE2}, + [I(73,150)] = {30,0x327FFFE2}, + [I(74,150)] = {30,0x32FFFFE2}, + [I(75,150)] = {30,0x337FFFE2}, + [I(76,150)] = {30,0x33FFFFE2}, + [I(77,150)] = {30,0x347FFFE2}, + [I(78,150)] = {30,0x34FFFFE2}, + [I(79,150)] = {30,0x357FFFE2}, + [I(80,150)] = {30,0x35FFFFE2}, + [I(81,150)] = {30,0x367FFFE2}, + [I(82,150)] = {30,0x36FFFFE2}, + [I(83,150)] = {30,0x377FFFE2}, + [I(84,150)] = {30,0x37FFFFE2}, + [I(85,150)] = {30,0x387FFFE2}, + [I(86,150)] = {30,0x38FFFFE2}, + [I(87,150)] = {30,0x397FFFE2}, + [I(88,150)] = {31,0x7E7FFFE2}, + [I(89,150)] = {30,0x39FFFFE2}, + [I(90,150)] = {31,0x7EFFFFE2}, + [I(91,150)] = {64,0}, + [I(92,150)] = {64,0}, + [I(93,150)] = {64,0}, + [I(94,150)] = {64,0}, + [I(95,150)] = {29,0x117FFFE2}, + [I(96,150)] = {64,0}, + [I(97,150)] = {28,0x1FFFFE2}, + [I(98,150)] = {29,0x11FFFFE2}, + [I(99,150)] = {28,0x27FFFE2}, + [I(100,150)] = {29,0x127FFFE2}, + [I(101,150)] = {28,0x2FFFFE2}, + [I(102,150)] = {29,0x12FFFFE2}, + [I(103,150)] = {29,0x137FFFE2}, + [I(104,150)] = {29,0x13FFFFE2}, + [I(105,150)] = {28,0x37FFFE2}, + [I(106,150)] = {30,0x3A7FFFE2}, + [I(107,150)] = {30,0x3AFFFFE2}, + [I(108,150)] = {29,0x147FFFE2}, + [I(109,150)] = {29,0x14FFFFE2}, + [I(110,150)] = {29,0x157FFFE2}, + [I(111,150)] = {28,0x3FFFFE2}, + [I(112,150)] = {29,0x15FFFFE2}, + [I(113,150)] = {30,0x3B7FFFE2}, + [I(114,150)] = {29,0x167FFFE2}, + [I(115,150)] = {28,0x47FFFE2}, + [I(116,150)] = {28,0x4FFFFE2}, + [I(117,150)] = {29,0x16FFFFE2}, + [I(118,150)] = {30,0x3BFFFFE2}, + [I(119,150)] = {30,0x3C7FFFE2}, + [I(120,150)] = {30,0x3CFFFFE2}, + [I(121,150)] = {30,0x3D7FFFE2}, + [I(122,150)] = {30,0x3DFFFFE2}, + [I(123,150)] = {64,0}, + [I(124,150)] = {64,0}, + [I(125,150)] = {64,0}, + [I(126,150)] = {64,0}, + [I(127,150)] = {64,0}, + [I(128,150)] = {64,0}, + [I(129,150)] = {64,0}, + [I(130,150)] = {64,0}, + [I(131,150)] = {64,0}, + [I(132,150)] = {64,0}, + [I(133,150)] = {64,0}, + [I(134,150)] = {64,0}, + [I(135,150)] = {64,0}, + [I(136,150)] = {64,0}, + [I(137,150)] = {64,0}, + [I(138,150)] = {64,0}, + [I(139,150)] = {64,0}, + [I(140,150)] = {64,0}, + [I(141,150)] = {64,0}, + [I(142,150)] = {64,0}, + [I(143,150)] = {64,0}, + [I(144,150)] = {64,0}, + [I(145,150)] = {64,0}, + [I(146,150)] = {64,0}, + [I(147,150)] = {64,0}, + [I(148,150)] = {64,0}, + [I(149,150)] = {64,0}, + [I(150,150)] = {64,0}, + [I(151,150)] = {64,0}, + [I(152,150)] = {64,0}, + [I(153,150)] = {64,0}, + [I(154,150)] = {64,0}, + [I(155,150)] = {64,0}, + [I(156,150)] = {64,0}, + [I(157,150)] = {64,0}, + [I(158,150)] = {64,0}, + [I(159,150)] = {64,0}, + [I(160,150)] = {64,0}, + [I(161,150)] = {64,0}, + [I(162,150)] = {64,0}, + [I(163,150)] = {64,0}, + [I(164,150)] = {64,0}, + [I(165,150)] = {64,0}, + [I(166,150)] = {64,0}, + [I(167,150)] = {64,0}, + [I(168,150)] = {64,0}, + [I(169,150)] = {64,0}, + [I(170,150)] = {64,0}, + [I(171,150)] = {64,0}, + [I(172,150)] = {64,0}, + [I(173,150)] = {64,0}, + [I(174,150)] = {64,0}, + [I(175,150)] = {64,0}, + [I(176,150)] = {64,0}, + [I(177,150)] = {64,0}, + [I(178,150)] = {64,0}, + [I(179,150)] = {64,0}, + [I(180,150)] = {64,0}, + [I(181,150)] = {64,0}, + [I(182,150)] = {64,0}, + [I(183,150)] = {64,0}, + [I(184,150)] = {64,0}, + [I(185,150)] = {64,0}, + [I(186,150)] = {64,0}, + [I(187,150)] = {64,0}, + [I(188,150)] = {64,0}, + [I(189,150)] = {64,0}, + [I(190,150)] = {64,0}, + [I(191,150)] = {64,0}, + [I(192,150)] = {64,0}, + [I(193,150)] = {64,0}, + [I(194,150)] = {64,0}, + [I(195,150)] = {64,0}, + [I(196,150)] = {64,0}, + [I(197,150)] = {64,0}, + [I(198,150)] = {64,0}, + [I(199,150)] = {64,0}, + [I(200,150)] = {64,0}, + [I(201,150)] = {64,0}, + [I(202,150)] = {64,0}, + [I(203,150)] = {64,0}, + [I(204,150)] = {64,0}, + [I(205,150)] = {64,0}, + [I(206,150)] = {64,0}, + [I(207,150)] = {64,0}, + [I(208,150)] = {64,0}, + [I(209,150)] = {64,0}, + [I(210,150)] = {64,0}, + [I(211,150)] = {64,0}, + [I(212,150)] = {64,0}, + [I(213,150)] = {64,0}, + [I(214,150)] = {64,0}, + [I(215,150)] = {64,0}, + [I(216,150)] = {64,0}, + [I(217,150)] = {64,0}, + [I(218,150)] = {64,0}, + [I(219,150)] = {64,0}, + [I(220,150)] = {64,0}, + [I(221,150)] = {64,0}, + [I(222,150)] = {64,0}, + [I(223,150)] = {64,0}, + [I(224,150)] = {64,0}, + [I(225,150)] = {64,0}, + [I(226,150)] = {64,0}, + [I(227,150)] = {64,0}, + [I(228,150)] = {64,0}, + [I(229,150)] = {64,0}, + [I(230,150)] = {64,0}, + [I(231,150)] = {64,0}, + [I(232,150)] = {64,0}, + [I(233,150)] = {64,0}, + [I(234,150)] = {64,0}, + [I(235,150)] = {64,0}, + [I(236,150)] = {64,0}, + [I(237,150)] = {64,0}, + [I(238,150)] = {64,0}, + [I(239,150)] = {64,0}, + [I(240,150)] = {64,0}, + [I(241,150)] = {64,0}, + [I(242,150)] = {64,0}, + [I(243,150)] = {64,0}, + [I(244,150)] = {64,0}, + [I(245,150)] = {64,0}, + [I(246,150)] = {64,0}, + [I(247,150)] = {64,0}, + [I(248,150)] = {64,0}, + [I(249,150)] = {64,0}, + [I(250,150)] = {64,0}, + [I(251,150)] = {64,0}, + [I(252,150)] = {64,0}, + [I(253,150)] = {64,0}, + [I(254,150)] = {64,0}, + [I(255,150)] = {64,0}, + [I(0,151)] = {64,0}, + [I(1,151)] = {64,0}, + [I(2,151)] = {64,0}, + [I(3,151)] = {64,0}, + [I(4,151)] = {64,0}, + [I(5,151)] = {64,0}, + [I(6,151)] = {64,0}, + [I(7,151)] = {64,0}, + [I(8,151)] = {64,0}, + [I(9,151)] = {64,0}, + [I(10,151)] = {64,0}, + [I(11,151)] = {64,0}, + [I(12,151)] = {64,0}, + [I(13,151)] = {64,0}, + [I(14,151)] = {64,0}, + [I(15,151)] = {64,0}, + [I(16,151)] = {64,0}, + [I(17,151)] = {64,0}, + [I(18,151)] = {64,0}, + [I(19,151)] = {64,0}, + [I(20,151)] = {64,0}, + [I(21,151)] = {64,0}, + [I(22,151)] = {64,0}, + [I(23,151)] = {64,0}, + [I(24,151)] = {64,0}, + [I(25,151)] = {64,0}, + [I(26,151)] = {64,0}, + [I(27,151)] = {64,0}, + [I(28,151)] = {64,0}, + [I(29,151)] = {64,0}, + [I(30,151)] = {64,0}, + [I(31,151)] = {64,0}, + [I(32,151)] = {29,0xA7FFFE3}, + [I(33,151)] = {64,0}, + [I(34,151)] = {64,0}, + [I(35,151)] = {64,0}, + [I(36,151)] = {64,0}, + [I(37,151)] = {29,0xAFFFFE3}, + [I(38,151)] = {31,0x7C7FFFE3}, + [I(39,151)] = {64,0}, + [I(40,151)] = {64,0}, + [I(41,151)] = {64,0}, + [I(42,151)] = {31,0x7CFFFFE3}, + [I(43,151)] = {64,0}, + [I(44,151)] = {31,0x7D7FFFE3}, + [I(45,151)] = {29,0xB7FFFE3}, + [I(46,151)] = {29,0xBFFFFE3}, + [I(47,151)] = {29,0xC7FFFE3}, + [I(48,151)] = {28,0x7FFFE3}, + [I(49,151)] = {28,0xFFFFE3}, + [I(50,151)] = {28,0x17FFFE3}, + [I(51,151)] = {29,0xCFFFFE3}, + [I(52,151)] = {29,0xD7FFFE3}, + [I(53,151)] = {29,0xDFFFFE3}, + [I(54,151)] = {29,0xE7FFFE3}, + [I(55,151)] = {29,0xEFFFFE3}, + [I(56,151)] = {29,0xF7FFFE3}, + [I(57,151)] = {29,0xFFFFFE3}, + [I(58,151)] = {30,0x2E7FFFE3}, + [I(59,151)] = {31,0x7DFFFFE3}, + [I(60,151)] = {64,0}, + [I(61,151)] = {29,0x107FFFE3}, + [I(62,151)] = {64,0}, + [I(63,151)] = {64,0}, + [I(64,151)] = {64,0}, + [I(65,151)] = {29,0x10FFFFE3}, + [I(66,151)] = {30,0x2EFFFFE3}, + [I(67,151)] = {30,0x2F7FFFE3}, + [I(68,151)] = {30,0x2FFFFFE3}, + [I(69,151)] = {30,0x307FFFE3}, + [I(70,151)] = {30,0x30FFFFE3}, + [I(71,151)] = {30,0x317FFFE3}, + [I(72,151)] = {30,0x31FFFFE3}, + [I(73,151)] = {30,0x327FFFE3}, + [I(74,151)] = {30,0x32FFFFE3}, + [I(75,151)] = {30,0x337FFFE3}, + [I(76,151)] = {30,0x33FFFFE3}, + [I(77,151)] = {30,0x347FFFE3}, + [I(78,151)] = {30,0x34FFFFE3}, + [I(79,151)] = {30,0x357FFFE3}, + [I(80,151)] = {30,0x35FFFFE3}, + [I(81,151)] = {30,0x367FFFE3}, + [I(82,151)] = {30,0x36FFFFE3}, + [I(83,151)] = {30,0x377FFFE3}, + [I(84,151)] = {30,0x37FFFFE3}, + [I(85,151)] = {30,0x387FFFE3}, + [I(86,151)] = {30,0x38FFFFE3}, + [I(87,151)] = {30,0x397FFFE3}, + [I(88,151)] = {31,0x7E7FFFE3}, + [I(89,151)] = {30,0x39FFFFE3}, + [I(90,151)] = {31,0x7EFFFFE3}, + [I(91,151)] = {64,0}, + [I(92,151)] = {64,0}, + [I(93,151)] = {64,0}, + [I(94,151)] = {64,0}, + [I(95,151)] = {29,0x117FFFE3}, + [I(96,151)] = {64,0}, + [I(97,151)] = {28,0x1FFFFE3}, + [I(98,151)] = {29,0x11FFFFE3}, + [I(99,151)] = {28,0x27FFFE3}, + [I(100,151)] = {29,0x127FFFE3}, + [I(101,151)] = {28,0x2FFFFE3}, + [I(102,151)] = {29,0x12FFFFE3}, + [I(103,151)] = {29,0x137FFFE3}, + [I(104,151)] = {29,0x13FFFFE3}, + [I(105,151)] = {28,0x37FFFE3}, + [I(106,151)] = {30,0x3A7FFFE3}, + [I(107,151)] = {30,0x3AFFFFE3}, + [I(108,151)] = {29,0x147FFFE3}, + [I(109,151)] = {29,0x14FFFFE3}, + [I(110,151)] = {29,0x157FFFE3}, + [I(111,151)] = {28,0x3FFFFE3}, + [I(112,151)] = {29,0x15FFFFE3}, + [I(113,151)] = {30,0x3B7FFFE3}, + [I(114,151)] = {29,0x167FFFE3}, + [I(115,151)] = {28,0x47FFFE3}, + [I(116,151)] = {28,0x4FFFFE3}, + [I(117,151)] = {29,0x16FFFFE3}, + [I(118,151)] = {30,0x3BFFFFE3}, + [I(119,151)] = {30,0x3C7FFFE3}, + [I(120,151)] = {30,0x3CFFFFE3}, + [I(121,151)] = {30,0x3D7FFFE3}, + [I(122,151)] = {30,0x3DFFFFE3}, + [I(123,151)] = {64,0}, + [I(124,151)] = {64,0}, + [I(125,151)] = {64,0}, + [I(126,151)] = {64,0}, + [I(127,151)] = {64,0}, + [I(128,151)] = {64,0}, + [I(129,151)] = {64,0}, + [I(130,151)] = {64,0}, + [I(131,151)] = {64,0}, + [I(132,151)] = {64,0}, + [I(133,151)] = {64,0}, + [I(134,151)] = {64,0}, + [I(135,151)] = {64,0}, + [I(136,151)] = {64,0}, + [I(137,151)] = {64,0}, + [I(138,151)] = {64,0}, + [I(139,151)] = {64,0}, + [I(140,151)] = {64,0}, + [I(141,151)] = {64,0}, + [I(142,151)] = {64,0}, + [I(143,151)] = {64,0}, + [I(144,151)] = {64,0}, + [I(145,151)] = {64,0}, + [I(146,151)] = {64,0}, + [I(147,151)] = {64,0}, + [I(148,151)] = {64,0}, + [I(149,151)] = {64,0}, + [I(150,151)] = {64,0}, + [I(151,151)] = {64,0}, + [I(152,151)] = {64,0}, + [I(153,151)] = {64,0}, + [I(154,151)] = {64,0}, + [I(155,151)] = {64,0}, + [I(156,151)] = {64,0}, + [I(157,151)] = {64,0}, + [I(158,151)] = {64,0}, + [I(159,151)] = {64,0}, + [I(160,151)] = {64,0}, + [I(161,151)] = {64,0}, + [I(162,151)] = {64,0}, + [I(163,151)] = {64,0}, + [I(164,151)] = {64,0}, + [I(165,151)] = {64,0}, + [I(166,151)] = {64,0}, + [I(167,151)] = {64,0}, + [I(168,151)] = {64,0}, + [I(169,151)] = {64,0}, + [I(170,151)] = {64,0}, + [I(171,151)] = {64,0}, + [I(172,151)] = {64,0}, + [I(173,151)] = {64,0}, + [I(174,151)] = {64,0}, + [I(175,151)] = {64,0}, + [I(176,151)] = {64,0}, + [I(177,151)] = {64,0}, + [I(178,151)] = {64,0}, + [I(179,151)] = {64,0}, + [I(180,151)] = {64,0}, + [I(181,151)] = {64,0}, + [I(182,151)] = {64,0}, + [I(183,151)] = {64,0}, + [I(184,151)] = {64,0}, + [I(185,151)] = {64,0}, + [I(186,151)] = {64,0}, + [I(187,151)] = {64,0}, + [I(188,151)] = {64,0}, + [I(189,151)] = {64,0}, + [I(190,151)] = {64,0}, + [I(191,151)] = {64,0}, + [I(192,151)] = {64,0}, + [I(193,151)] = {64,0}, + [I(194,151)] = {64,0}, + [I(195,151)] = {64,0}, + [I(196,151)] = {64,0}, + [I(197,151)] = {64,0}, + [I(198,151)] = {64,0}, + [I(199,151)] = {64,0}, + [I(200,151)] = {64,0}, + [I(201,151)] = {64,0}, + [I(202,151)] = {64,0}, + [I(203,151)] = {64,0}, + [I(204,151)] = {64,0}, + [I(205,151)] = {64,0}, + [I(206,151)] = {64,0}, + [I(207,151)] = {64,0}, + [I(208,151)] = {64,0}, + [I(209,151)] = {64,0}, + [I(210,151)] = {64,0}, + [I(211,151)] = {64,0}, + [I(212,151)] = {64,0}, + [I(213,151)] = {64,0}, + [I(214,151)] = {64,0}, + [I(215,151)] = {64,0}, + [I(216,151)] = {64,0}, + [I(217,151)] = {64,0}, + [I(218,151)] = {64,0}, + [I(219,151)] = {64,0}, + [I(220,151)] = {64,0}, + [I(221,151)] = {64,0}, + [I(222,151)] = {64,0}, + [I(223,151)] = {64,0}, + [I(224,151)] = {64,0}, + [I(225,151)] = {64,0}, + [I(226,151)] = {64,0}, + [I(227,151)] = {64,0}, + [I(228,151)] = {64,0}, + [I(229,151)] = {64,0}, + [I(230,151)] = {64,0}, + [I(231,151)] = {64,0}, + [I(232,151)] = {64,0}, + [I(233,151)] = {64,0}, + [I(234,151)] = {64,0}, + [I(235,151)] = {64,0}, + [I(236,151)] = {64,0}, + [I(237,151)] = {64,0}, + [I(238,151)] = {64,0}, + [I(239,151)] = {64,0}, + [I(240,151)] = {64,0}, + [I(241,151)] = {64,0}, + [I(242,151)] = {64,0}, + [I(243,151)] = {64,0}, + [I(244,151)] = {64,0}, + [I(245,151)] = {64,0}, + [I(246,151)] = {64,0}, + [I(247,151)] = {64,0}, + [I(248,151)] = {64,0}, + [I(249,151)] = {64,0}, + [I(250,151)] = {64,0}, + [I(251,151)] = {64,0}, + [I(252,151)] = {64,0}, + [I(253,151)] = {64,0}, + [I(254,151)] = {64,0}, + [I(255,151)] = {64,0}, + [I(0,152)] = {64,0}, + [I(1,152)] = {64,0}, + [I(2,152)] = {64,0}, + [I(3,152)] = {64,0}, + [I(4,152)] = {64,0}, + [I(5,152)] = {64,0}, + [I(6,152)] = {64,0}, + [I(7,152)] = {64,0}, + [I(8,152)] = {64,0}, + [I(9,152)] = {64,0}, + [I(10,152)] = {64,0}, + [I(11,152)] = {64,0}, + [I(12,152)] = {64,0}, + [I(13,152)] = {64,0}, + [I(14,152)] = {64,0}, + [I(15,152)] = {64,0}, + [I(16,152)] = {64,0}, + [I(17,152)] = {64,0}, + [I(18,152)] = {64,0}, + [I(19,152)] = {64,0}, + [I(20,152)] = {64,0}, + [I(21,152)] = {64,0}, + [I(22,152)] = {64,0}, + [I(23,152)] = {64,0}, + [I(24,152)] = {64,0}, + [I(25,152)] = {64,0}, + [I(26,152)] = {64,0}, + [I(27,152)] = {64,0}, + [I(28,152)] = {64,0}, + [I(29,152)] = {64,0}, + [I(30,152)] = {64,0}, + [I(31,152)] = {64,0}, + [I(32,152)] = {29,0xA7FFFE4}, + [I(33,152)] = {64,0}, + [I(34,152)] = {64,0}, + [I(35,152)] = {64,0}, + [I(36,152)] = {64,0}, + [I(37,152)] = {29,0xAFFFFE4}, + [I(38,152)] = {31,0x7C7FFFE4}, + [I(39,152)] = {64,0}, + [I(40,152)] = {64,0}, + [I(41,152)] = {64,0}, + [I(42,152)] = {31,0x7CFFFFE4}, + [I(43,152)] = {64,0}, + [I(44,152)] = {31,0x7D7FFFE4}, + [I(45,152)] = {29,0xB7FFFE4}, + [I(46,152)] = {29,0xBFFFFE4}, + [I(47,152)] = {29,0xC7FFFE4}, + [I(48,152)] = {28,0x7FFFE4}, + [I(49,152)] = {28,0xFFFFE4}, + [I(50,152)] = {28,0x17FFFE4}, + [I(51,152)] = {29,0xCFFFFE4}, + [I(52,152)] = {29,0xD7FFFE4}, + [I(53,152)] = {29,0xDFFFFE4}, + [I(54,152)] = {29,0xE7FFFE4}, + [I(55,152)] = {29,0xEFFFFE4}, + [I(56,152)] = {29,0xF7FFFE4}, + [I(57,152)] = {29,0xFFFFFE4}, + [I(58,152)] = {30,0x2E7FFFE4}, + [I(59,152)] = {31,0x7DFFFFE4}, + [I(60,152)] = {64,0}, + [I(61,152)] = {29,0x107FFFE4}, + [I(62,152)] = {64,0}, + [I(63,152)] = {64,0}, + [I(64,152)] = {64,0}, + [I(65,152)] = {29,0x10FFFFE4}, + [I(66,152)] = {30,0x2EFFFFE4}, + [I(67,152)] = {30,0x2F7FFFE4}, + [I(68,152)] = {30,0x2FFFFFE4}, + [I(69,152)] = {30,0x307FFFE4}, + [I(70,152)] = {30,0x30FFFFE4}, + [I(71,152)] = {30,0x317FFFE4}, + [I(72,152)] = {30,0x31FFFFE4}, + [I(73,152)] = {30,0x327FFFE4}, + [I(74,152)] = {30,0x32FFFFE4}, + [I(75,152)] = {30,0x337FFFE4}, + [I(76,152)] = {30,0x33FFFFE4}, + [I(77,152)] = {30,0x347FFFE4}, + [I(78,152)] = {30,0x34FFFFE4}, + [I(79,152)] = {30,0x357FFFE4}, + [I(80,152)] = {30,0x35FFFFE4}, + [I(81,152)] = {30,0x367FFFE4}, + [I(82,152)] = {30,0x36FFFFE4}, + [I(83,152)] = {30,0x377FFFE4}, + [I(84,152)] = {30,0x37FFFFE4}, + [I(85,152)] = {30,0x387FFFE4}, + [I(86,152)] = {30,0x38FFFFE4}, + [I(87,152)] = {30,0x397FFFE4}, + [I(88,152)] = {31,0x7E7FFFE4}, + [I(89,152)] = {30,0x39FFFFE4}, + [I(90,152)] = {31,0x7EFFFFE4}, + [I(91,152)] = {64,0}, + [I(92,152)] = {64,0}, + [I(93,152)] = {64,0}, + [I(94,152)] = {64,0}, + [I(95,152)] = {29,0x117FFFE4}, + [I(96,152)] = {64,0}, + [I(97,152)] = {28,0x1FFFFE4}, + [I(98,152)] = {29,0x11FFFFE4}, + [I(99,152)] = {28,0x27FFFE4}, + [I(100,152)] = {29,0x127FFFE4}, + [I(101,152)] = {28,0x2FFFFE4}, + [I(102,152)] = {29,0x12FFFFE4}, + [I(103,152)] = {29,0x137FFFE4}, + [I(104,152)] = {29,0x13FFFFE4}, + [I(105,152)] = {28,0x37FFFE4}, + [I(106,152)] = {30,0x3A7FFFE4}, + [I(107,152)] = {30,0x3AFFFFE4}, + [I(108,152)] = {29,0x147FFFE4}, + [I(109,152)] = {29,0x14FFFFE4}, + [I(110,152)] = {29,0x157FFFE4}, + [I(111,152)] = {28,0x3FFFFE4}, + [I(112,152)] = {29,0x15FFFFE4}, + [I(113,152)] = {30,0x3B7FFFE4}, + [I(114,152)] = {29,0x167FFFE4}, + [I(115,152)] = {28,0x47FFFE4}, + [I(116,152)] = {28,0x4FFFFE4}, + [I(117,152)] = {29,0x16FFFFE4}, + [I(118,152)] = {30,0x3BFFFFE4}, + [I(119,152)] = {30,0x3C7FFFE4}, + [I(120,152)] = {30,0x3CFFFFE4}, + [I(121,152)] = {30,0x3D7FFFE4}, + [I(122,152)] = {30,0x3DFFFFE4}, + [I(123,152)] = {64,0}, + [I(124,152)] = {64,0}, + [I(125,152)] = {64,0}, + [I(126,152)] = {64,0}, + [I(127,152)] = {64,0}, + [I(128,152)] = {64,0}, + [I(129,152)] = {64,0}, + [I(130,152)] = {64,0}, + [I(131,152)] = {64,0}, + [I(132,152)] = {64,0}, + [I(133,152)] = {64,0}, + [I(134,152)] = {64,0}, + [I(135,152)] = {64,0}, + [I(136,152)] = {64,0}, + [I(137,152)] = {64,0}, + [I(138,152)] = {64,0}, + [I(139,152)] = {64,0}, + [I(140,152)] = {64,0}, + [I(141,152)] = {64,0}, + [I(142,152)] = {64,0}, + [I(143,152)] = {64,0}, + [I(144,152)] = {64,0}, + [I(145,152)] = {64,0}, + [I(146,152)] = {64,0}, + [I(147,152)] = {64,0}, + [I(148,152)] = {64,0}, + [I(149,152)] = {64,0}, + [I(150,152)] = {64,0}, + [I(151,152)] = {64,0}, + [I(152,152)] = {64,0}, + [I(153,152)] = {64,0}, + [I(154,152)] = {64,0}, + [I(155,152)] = {64,0}, + [I(156,152)] = {64,0}, + [I(157,152)] = {64,0}, + [I(158,152)] = {64,0}, + [I(159,152)] = {64,0}, + [I(160,152)] = {64,0}, + [I(161,152)] = {64,0}, + [I(162,152)] = {64,0}, + [I(163,152)] = {64,0}, + [I(164,152)] = {64,0}, + [I(165,152)] = {64,0}, + [I(166,152)] = {64,0}, + [I(167,152)] = {64,0}, + [I(168,152)] = {64,0}, + [I(169,152)] = {64,0}, + [I(170,152)] = {64,0}, + [I(171,152)] = {64,0}, + [I(172,152)] = {64,0}, + [I(173,152)] = {64,0}, + [I(174,152)] = {64,0}, + [I(175,152)] = {64,0}, + [I(176,152)] = {64,0}, + [I(177,152)] = {64,0}, + [I(178,152)] = {64,0}, + [I(179,152)] = {64,0}, + [I(180,152)] = {64,0}, + [I(181,152)] = {64,0}, + [I(182,152)] = {64,0}, + [I(183,152)] = {64,0}, + [I(184,152)] = {64,0}, + [I(185,152)] = {64,0}, + [I(186,152)] = {64,0}, + [I(187,152)] = {64,0}, + [I(188,152)] = {64,0}, + [I(189,152)] = {64,0}, + [I(190,152)] = {64,0}, + [I(191,152)] = {64,0}, + [I(192,152)] = {64,0}, + [I(193,152)] = {64,0}, + [I(194,152)] = {64,0}, + [I(195,152)] = {64,0}, + [I(196,152)] = {64,0}, + [I(197,152)] = {64,0}, + [I(198,152)] = {64,0}, + [I(199,152)] = {64,0}, + [I(200,152)] = {64,0}, + [I(201,152)] = {64,0}, + [I(202,152)] = {64,0}, + [I(203,152)] = {64,0}, + [I(204,152)] = {64,0}, + [I(205,152)] = {64,0}, + [I(206,152)] = {64,0}, + [I(207,152)] = {64,0}, + [I(208,152)] = {64,0}, + [I(209,152)] = {64,0}, + [I(210,152)] = {64,0}, + [I(211,152)] = {64,0}, + [I(212,152)] = {64,0}, + [I(213,152)] = {64,0}, + [I(214,152)] = {64,0}, + [I(215,152)] = {64,0}, + [I(216,152)] = {64,0}, + [I(217,152)] = {64,0}, + [I(218,152)] = {64,0}, + [I(219,152)] = {64,0}, + [I(220,152)] = {64,0}, + [I(221,152)] = {64,0}, + [I(222,152)] = {64,0}, + [I(223,152)] = {64,0}, + [I(224,152)] = {64,0}, + [I(225,152)] = {64,0}, + [I(226,152)] = {64,0}, + [I(227,152)] = {64,0}, + [I(228,152)] = {64,0}, + [I(229,152)] = {64,0}, + [I(230,152)] = {64,0}, + [I(231,152)] = {64,0}, + [I(232,152)] = {64,0}, + [I(233,152)] = {64,0}, + [I(234,152)] = {64,0}, + [I(235,152)] = {64,0}, + [I(236,152)] = {64,0}, + [I(237,152)] = {64,0}, + [I(238,152)] = {64,0}, + [I(239,152)] = {64,0}, + [I(240,152)] = {64,0}, + [I(241,152)] = {64,0}, + [I(242,152)] = {64,0}, + [I(243,152)] = {64,0}, + [I(244,152)] = {64,0}, + [I(245,152)] = {64,0}, + [I(246,152)] = {64,0}, + [I(247,152)] = {64,0}, + [I(248,152)] = {64,0}, + [I(249,152)] = {64,0}, + [I(250,152)] = {64,0}, + [I(251,152)] = {64,0}, + [I(252,152)] = {64,0}, + [I(253,152)] = {64,0}, + [I(254,152)] = {64,0}, + [I(255,152)] = {64,0}, + [I(0,153)] = {64,0}, + [I(1,153)] = {64,0}, + [I(2,153)] = {64,0}, + [I(3,153)] = {64,0}, + [I(4,153)] = {64,0}, + [I(5,153)] = {64,0}, + [I(6,153)] = {64,0}, + [I(7,153)] = {64,0}, + [I(8,153)] = {64,0}, + [I(9,153)] = {64,0}, + [I(10,153)] = {64,0}, + [I(11,153)] = {64,0}, + [I(12,153)] = {64,0}, + [I(13,153)] = {64,0}, + [I(14,153)] = {64,0}, + [I(15,153)] = {64,0}, + [I(16,153)] = {64,0}, + [I(17,153)] = {64,0}, + [I(18,153)] = {64,0}, + [I(19,153)] = {64,0}, + [I(20,153)] = {64,0}, + [I(21,153)] = {64,0}, + [I(22,153)] = {64,0}, + [I(23,153)] = {64,0}, + [I(24,153)] = {64,0}, + [I(25,153)] = {64,0}, + [I(26,153)] = {64,0}, + [I(27,153)] = {64,0}, + [I(28,153)] = {64,0}, + [I(29,153)] = {64,0}, + [I(30,153)] = {64,0}, + [I(31,153)] = {64,0}, + [I(32,153)] = {27,0x29FFFDC}, + [I(33,153)] = {31,0x7F1FFFDC}, + [I(34,153)] = {31,0x7F3FFFDC}, + [I(35,153)] = {64,0}, + [I(36,153)] = {64,0}, + [I(37,153)] = {27,0x2BFFFDC}, + [I(38,153)] = {29,0x1F1FFFDC}, + [I(39,153)] = {X32,0xFF5FFFDC}, + [I(40,153)] = {31,0x7F5FFFDC}, + [I(41,153)] = {31,0x7F7FFFDC}, + [I(42,153)] = {29,0x1F3FFFDC}, + [I(43,153)] = {X32,0xFF7FFFDC}, + [I(44,153)] = {29,0x1F5FFFDC}, + [I(45,153)] = {27,0x2DFFFDC}, + [I(46,153)] = {27,0x2FFFFDC}, + [I(47,153)] = {27,0x31FFFDC}, + [I(48,153)] = {26,0x1FFFDC}, + [I(49,153)] = {26,0x3FFFDC}, + [I(50,153)] = {26,0x5FFFDC}, + [I(51,153)] = {27,0x33FFFDC}, + [I(52,153)] = {27,0x35FFFDC}, + [I(53,153)] = {27,0x37FFFDC}, + [I(54,153)] = {27,0x39FFFDC}, + [I(55,153)] = {27,0x3BFFFDC}, + [I(56,153)] = {27,0x3DFFFDC}, + [I(57,153)] = {27,0x3FFFFDC}, + [I(58,153)] = {28,0xB9FFFDC}, + [I(59,153)] = {29,0x1F7FFFDC}, + [I(60,153)] = {64,0}, + [I(61,153)] = {27,0x41FFFDC}, + [I(62,153)] = {64,0}, + [I(63,153)] = {31,0x7F9FFFDC}, + [I(64,153)] = {64,0}, + [I(65,153)] = {27,0x43FFFDC}, + [I(66,153)] = {28,0xBBFFFDC}, + [I(67,153)] = {28,0xBDFFFDC}, + [I(68,153)] = {28,0xBFFFFDC}, + [I(69,153)] = {28,0xC1FFFDC}, + [I(70,153)] = {28,0xC3FFFDC}, + [I(71,153)] = {28,0xC5FFFDC}, + [I(72,153)] = {28,0xC7FFFDC}, + [I(73,153)] = {28,0xC9FFFDC}, + [I(74,153)] = {28,0xCBFFFDC}, + [I(75,153)] = {28,0xCDFFFDC}, + [I(76,153)] = {28,0xCFFFFDC}, + [I(77,153)] = {28,0xD1FFFDC}, + [I(78,153)] = {28,0xD3FFFDC}, + [I(79,153)] = {28,0xD5FFFDC}, + [I(80,153)] = {28,0xD7FFFDC}, + [I(81,153)] = {28,0xD9FFFDC}, + [I(82,153)] = {28,0xDBFFFDC}, + [I(83,153)] = {28,0xDDFFFDC}, + [I(84,153)] = {28,0xDFFFFDC}, + [I(85,153)] = {28,0xE1FFFDC}, + [I(86,153)] = {28,0xE3FFFDC}, + [I(87,153)] = {28,0xE5FFFDC}, + [I(88,153)] = {29,0x1F9FFFDC}, + [I(89,153)] = {28,0xE7FFFDC}, + [I(90,153)] = {29,0x1FBFFFDC}, + [I(91,153)] = {64,0}, + [I(92,153)] = {64,0}, + [I(93,153)] = {64,0}, + [I(94,153)] = {64,0}, + [I(95,153)] = {27,0x45FFFDC}, + [I(96,153)] = {64,0}, + [I(97,153)] = {26,0x7FFFDC}, + [I(98,153)] = {27,0x47FFFDC}, + [I(99,153)] = {26,0x9FFFDC}, + [I(100,153)] = {27,0x49FFFDC}, + [I(101,153)] = {26,0xBFFFDC}, + [I(102,153)] = {27,0x4BFFFDC}, + [I(103,153)] = {27,0x4DFFFDC}, + [I(104,153)] = {27,0x4FFFFDC}, + [I(105,153)] = {26,0xDFFFDC}, + [I(106,153)] = {28,0xE9FFFDC}, + [I(107,153)] = {28,0xEBFFFDC}, + [I(108,153)] = {27,0x51FFFDC}, + [I(109,153)] = {27,0x53FFFDC}, + [I(110,153)] = {27,0x55FFFDC}, + [I(111,153)] = {26,0xFFFFDC}, + [I(112,153)] = {27,0x57FFFDC}, + [I(113,153)] = {28,0xEDFFFDC}, + [I(114,153)] = {27,0x59FFFDC}, + [I(115,153)] = {26,0x11FFFDC}, + [I(116,153)] = {26,0x13FFFDC}, + [I(117,153)] = {27,0x5BFFFDC}, + [I(118,153)] = {28,0xEFFFFDC}, + [I(119,153)] = {28,0xF1FFFDC}, + [I(120,153)] = {28,0xF3FFFDC}, + [I(121,153)] = {28,0xF5FFFDC}, + [I(122,153)] = {28,0xF7FFFDC}, + [I(123,153)] = {64,0}, + [I(124,153)] = {X32,0xFF9FFFDC}, + [I(125,153)] = {64,0}, + [I(126,153)] = {64,0}, + [I(127,153)] = {64,0}, + [I(128,153)] = {64,0}, + [I(129,153)] = {64,0}, + [I(130,153)] = {64,0}, + [I(131,153)] = {64,0}, + [I(132,153)] = {64,0}, + [I(133,153)] = {64,0}, + [I(134,153)] = {64,0}, + [I(135,153)] = {64,0}, + [I(136,153)] = {64,0}, + [I(137,153)] = {64,0}, + [I(138,153)] = {64,0}, + [I(139,153)] = {64,0}, + [I(140,153)] = {64,0}, + [I(141,153)] = {64,0}, + [I(142,153)] = {64,0}, + [I(143,153)] = {64,0}, + [I(144,153)] = {64,0}, + [I(145,153)] = {64,0}, + [I(146,153)] = {64,0}, + [I(147,153)] = {64,0}, + [I(148,153)] = {64,0}, + [I(149,153)] = {64,0}, + [I(150,153)] = {64,0}, + [I(151,153)] = {64,0}, + [I(152,153)] = {64,0}, + [I(153,153)] = {64,0}, + [I(154,153)] = {64,0}, + [I(155,153)] = {64,0}, + [I(156,153)] = {64,0}, + [I(157,153)] = {64,0}, + [I(158,153)] = {64,0}, + [I(159,153)] = {64,0}, + [I(160,153)] = {64,0}, + [I(161,153)] = {64,0}, + [I(162,153)] = {64,0}, + [I(163,153)] = {64,0}, + [I(164,153)] = {64,0}, + [I(165,153)] = {64,0}, + [I(166,153)] = {64,0}, + [I(167,153)] = {64,0}, + [I(168,153)] = {64,0}, + [I(169,153)] = {64,0}, + [I(170,153)] = {64,0}, + [I(171,153)] = {64,0}, + [I(172,153)] = {64,0}, + [I(173,153)] = {64,0}, + [I(174,153)] = {64,0}, + [I(175,153)] = {64,0}, + [I(176,153)] = {64,0}, + [I(177,153)] = {64,0}, + [I(178,153)] = {64,0}, + [I(179,153)] = {64,0}, + [I(180,153)] = {64,0}, + [I(181,153)] = {64,0}, + [I(182,153)] = {64,0}, + [I(183,153)] = {64,0}, + [I(184,153)] = {64,0}, + [I(185,153)] = {64,0}, + [I(186,153)] = {64,0}, + [I(187,153)] = {64,0}, + [I(188,153)] = {64,0}, + [I(189,153)] = {64,0}, + [I(190,153)] = {64,0}, + [I(191,153)] = {64,0}, + [I(192,153)] = {64,0}, + [I(193,153)] = {64,0}, + [I(194,153)] = {64,0}, + [I(195,153)] = {64,0}, + [I(196,153)] = {64,0}, + [I(197,153)] = {64,0}, + [I(198,153)] = {64,0}, + [I(199,153)] = {64,0}, + [I(200,153)] = {64,0}, + [I(201,153)] = {64,0}, + [I(202,153)] = {64,0}, + [I(203,153)] = {64,0}, + [I(204,153)] = {64,0}, + [I(205,153)] = {64,0}, + [I(206,153)] = {64,0}, + [I(207,153)] = {64,0}, + [I(208,153)] = {64,0}, + [I(209,153)] = {64,0}, + [I(210,153)] = {64,0}, + [I(211,153)] = {64,0}, + [I(212,153)] = {64,0}, + [I(213,153)] = {64,0}, + [I(214,153)] = {64,0}, + [I(215,153)] = {64,0}, + [I(216,153)] = {64,0}, + [I(217,153)] = {64,0}, + [I(218,153)] = {64,0}, + [I(219,153)] = {64,0}, + [I(220,153)] = {64,0}, + [I(221,153)] = {64,0}, + [I(222,153)] = {64,0}, + [I(223,153)] = {64,0}, + [I(224,153)] = {64,0}, + [I(225,153)] = {64,0}, + [I(226,153)] = {64,0}, + [I(227,153)] = {64,0}, + [I(228,153)] = {64,0}, + [I(229,153)] = {64,0}, + [I(230,153)] = {64,0}, + [I(231,153)] = {64,0}, + [I(232,153)] = {64,0}, + [I(233,153)] = {64,0}, + [I(234,153)] = {64,0}, + [I(235,153)] = {64,0}, + [I(236,153)] = {64,0}, + [I(237,153)] = {64,0}, + [I(238,153)] = {64,0}, + [I(239,153)] = {64,0}, + [I(240,153)] = {64,0}, + [I(241,153)] = {64,0}, + [I(242,153)] = {64,0}, + [I(243,153)] = {64,0}, + [I(244,153)] = {64,0}, + [I(245,153)] = {64,0}, + [I(246,153)] = {64,0}, + [I(247,153)] = {64,0}, + [I(248,153)] = {64,0}, + [I(249,153)] = {64,0}, + [I(250,153)] = {64,0}, + [I(251,153)] = {64,0}, + [I(252,153)] = {64,0}, + [I(253,153)] = {64,0}, + [I(254,153)] = {64,0}, + [I(255,153)] = {64,0}, + [I(0,154)] = {64,0}, + [I(1,154)] = {64,0}, + [I(2,154)] = {64,0}, + [I(3,154)] = {64,0}, + [I(4,154)] = {64,0}, + [I(5,154)] = {64,0}, + [I(6,154)] = {64,0}, + [I(7,154)] = {64,0}, + [I(8,154)] = {64,0}, + [I(9,154)] = {64,0}, + [I(10,154)] = {64,0}, + [I(11,154)] = {64,0}, + [I(12,154)] = {64,0}, + [I(13,154)] = {64,0}, + [I(14,154)] = {64,0}, + [I(15,154)] = {64,0}, + [I(16,154)] = {64,0}, + [I(17,154)] = {64,0}, + [I(18,154)] = {64,0}, + [I(19,154)] = {64,0}, + [I(20,154)] = {64,0}, + [I(21,154)] = {64,0}, + [I(22,154)] = {64,0}, + [I(23,154)] = {64,0}, + [I(24,154)] = {64,0}, + [I(25,154)] = {64,0}, + [I(26,154)] = {64,0}, + [I(27,154)] = {64,0}, + [I(28,154)] = {64,0}, + [I(29,154)] = {64,0}, + [I(30,154)] = {64,0}, + [I(31,154)] = {64,0}, + [I(32,154)] = {28,0x53FFFD8}, + [I(33,154)] = {X32,0xFE3FFFD8}, + [I(34,154)] = {X32,0xFE7FFFD8}, + [I(35,154)] = {64,0}, + [I(36,154)] = {64,0}, + [I(37,154)] = {28,0x57FFFD8}, + [I(38,154)] = {30,0x3E3FFFD8}, + [I(39,154)] = {64,0}, + [I(40,154)] = {X32,0xFEBFFFD8}, + [I(41,154)] = {X32,0xFEFFFFD8}, + [I(42,154)] = {30,0x3E7FFFD8}, + [I(43,154)] = {64,0}, + [I(44,154)] = {30,0x3EBFFFD8}, + [I(45,154)] = {28,0x5BFFFD8}, + [I(46,154)] = {28,0x5FFFFD8}, + [I(47,154)] = {28,0x63FFFD8}, + [I(48,154)] = {27,0x3FFFD8}, + [I(49,154)] = {27,0x7FFFD8}, + [I(50,154)] = {27,0xBFFFD8}, + [I(51,154)] = {28,0x67FFFD8}, + [I(52,154)] = {28,0x6BFFFD8}, + [I(53,154)] = {28,0x6FFFFD8}, + [I(54,154)] = {28,0x73FFFD8}, + [I(55,154)] = {28,0x77FFFD8}, + [I(56,154)] = {28,0x7BFFFD8}, + [I(57,154)] = {28,0x7FFFFD8}, + [I(58,154)] = {29,0x173FFFD8}, + [I(59,154)] = {30,0x3EFFFFD8}, + [I(60,154)] = {64,0}, + [I(61,154)] = {28,0x83FFFD8}, + [I(62,154)] = {64,0}, + [I(63,154)] = {X32,0xFF3FFFD8}, + [I(64,154)] = {64,0}, + [I(65,154)] = {28,0x87FFFD8}, + [I(66,154)] = {29,0x177FFFD8}, + [I(67,154)] = {29,0x17BFFFD8}, + [I(68,154)] = {29,0x17FFFFD8}, + [I(69,154)] = {29,0x183FFFD8}, + [I(70,154)] = {29,0x187FFFD8}, + [I(71,154)] = {29,0x18BFFFD8}, + [I(72,154)] = {29,0x18FFFFD8}, + [I(73,154)] = {29,0x193FFFD8}, + [I(74,154)] = {29,0x197FFFD8}, + [I(75,154)] = {29,0x19BFFFD8}, + [I(76,154)] = {29,0x19FFFFD8}, + [I(77,154)] = {29,0x1A3FFFD8}, + [I(78,154)] = {29,0x1A7FFFD8}, + [I(79,154)] = {29,0x1ABFFFD8}, + [I(80,154)] = {29,0x1AFFFFD8}, + [I(81,154)] = {29,0x1B3FFFD8}, + [I(82,154)] = {29,0x1B7FFFD8}, + [I(83,154)] = {29,0x1BBFFFD8}, + [I(84,154)] = {29,0x1BFFFFD8}, + [I(85,154)] = {29,0x1C3FFFD8}, + [I(86,154)] = {29,0x1C7FFFD8}, + [I(87,154)] = {29,0x1CBFFFD8}, + [I(88,154)] = {30,0x3F3FFFD8}, + [I(89,154)] = {29,0x1CFFFFD8}, + [I(90,154)] = {30,0x3F7FFFD8}, + [I(91,154)] = {64,0}, + [I(92,154)] = {64,0}, + [I(93,154)] = {64,0}, + [I(94,154)] = {64,0}, + [I(95,154)] = {28,0x8BFFFD8}, + [I(96,154)] = {64,0}, + [I(97,154)] = {27,0xFFFFD8}, + [I(98,154)] = {28,0x8FFFFD8}, + [I(99,154)] = {27,0x13FFFD8}, + [I(100,154)] = {28,0x93FFFD8}, + [I(101,154)] = {27,0x17FFFD8}, + [I(102,154)] = {28,0x97FFFD8}, + [I(103,154)] = {28,0x9BFFFD8}, + [I(104,154)] = {28,0x9FFFFD8}, + [I(105,154)] = {27,0x1BFFFD8}, + [I(106,154)] = {29,0x1D3FFFD8}, + [I(107,154)] = {29,0x1D7FFFD8}, + [I(108,154)] = {28,0xA3FFFD8}, + [I(109,154)] = {28,0xA7FFFD8}, + [I(110,154)] = {28,0xABFFFD8}, + [I(111,154)] = {27,0x1FFFFD8}, + [I(112,154)] = {28,0xAFFFFD8}, + [I(113,154)] = {29,0x1DBFFFD8}, + [I(114,154)] = {28,0xB3FFFD8}, + [I(115,154)] = {27,0x23FFFD8}, + [I(116,154)] = {27,0x27FFFD8}, + [I(117,154)] = {28,0xB7FFFD8}, + [I(118,154)] = {29,0x1DFFFFD8}, + [I(119,154)] = {29,0x1E3FFFD8}, + [I(120,154)] = {29,0x1E7FFFD8}, + [I(121,154)] = {29,0x1EBFFFD8}, + [I(122,154)] = {29,0x1EFFFFD8}, + [I(123,154)] = {64,0}, + [I(124,154)] = {64,0}, + [I(125,154)] = {64,0}, + [I(126,154)] = {64,0}, + [I(127,154)] = {64,0}, + [I(128,154)] = {64,0}, + [I(129,154)] = {64,0}, + [I(130,154)] = {64,0}, + [I(131,154)] = {64,0}, + [I(132,154)] = {64,0}, + [I(133,154)] = {64,0}, + [I(134,154)] = {64,0}, + [I(135,154)] = {64,0}, + [I(136,154)] = {64,0}, + [I(137,154)] = {64,0}, + [I(138,154)] = {64,0}, + [I(139,154)] = {64,0}, + [I(140,154)] = {64,0}, + [I(141,154)] = {64,0}, + [I(142,154)] = {64,0}, + [I(143,154)] = {64,0}, + [I(144,154)] = {64,0}, + [I(145,154)] = {64,0}, + [I(146,154)] = {64,0}, + [I(147,154)] = {64,0}, + [I(148,154)] = {64,0}, + [I(149,154)] = {64,0}, + [I(150,154)] = {64,0}, + [I(151,154)] = {64,0}, + [I(152,154)] = {64,0}, + [I(153,154)] = {64,0}, + [I(154,154)] = {64,0}, + [I(155,154)] = {64,0}, + [I(156,154)] = {64,0}, + [I(157,154)] = {64,0}, + [I(158,154)] = {64,0}, + [I(159,154)] = {64,0}, + [I(160,154)] = {64,0}, + [I(161,154)] = {64,0}, + [I(162,154)] = {64,0}, + [I(163,154)] = {64,0}, + [I(164,154)] = {64,0}, + [I(165,154)] = {64,0}, + [I(166,154)] = {64,0}, + [I(167,154)] = {64,0}, + [I(168,154)] = {64,0}, + [I(169,154)] = {64,0}, + [I(170,154)] = {64,0}, + [I(171,154)] = {64,0}, + [I(172,154)] = {64,0}, + [I(173,154)] = {64,0}, + [I(174,154)] = {64,0}, + [I(175,154)] = {64,0}, + [I(176,154)] = {64,0}, + [I(177,154)] = {64,0}, + [I(178,154)] = {64,0}, + [I(179,154)] = {64,0}, + [I(180,154)] = {64,0}, + [I(181,154)] = {64,0}, + [I(182,154)] = {64,0}, + [I(183,154)] = {64,0}, + [I(184,154)] = {64,0}, + [I(185,154)] = {64,0}, + [I(186,154)] = {64,0}, + [I(187,154)] = {64,0}, + [I(188,154)] = {64,0}, + [I(189,154)] = {64,0}, + [I(190,154)] = {64,0}, + [I(191,154)] = {64,0}, + [I(192,154)] = {64,0}, + [I(193,154)] = {64,0}, + [I(194,154)] = {64,0}, + [I(195,154)] = {64,0}, + [I(196,154)] = {64,0}, + [I(197,154)] = {64,0}, + [I(198,154)] = {64,0}, + [I(199,154)] = {64,0}, + [I(200,154)] = {64,0}, + [I(201,154)] = {64,0}, + [I(202,154)] = {64,0}, + [I(203,154)] = {64,0}, + [I(204,154)] = {64,0}, + [I(205,154)] = {64,0}, + [I(206,154)] = {64,0}, + [I(207,154)] = {64,0}, + [I(208,154)] = {64,0}, + [I(209,154)] = {64,0}, + [I(210,154)] = {64,0}, + [I(211,154)] = {64,0}, + [I(212,154)] = {64,0}, + [I(213,154)] = {64,0}, + [I(214,154)] = {64,0}, + [I(215,154)] = {64,0}, + [I(216,154)] = {64,0}, + [I(217,154)] = {64,0}, + [I(218,154)] = {64,0}, + [I(219,154)] = {64,0}, + [I(220,154)] = {64,0}, + [I(221,154)] = {64,0}, + [I(222,154)] = {64,0}, + [I(223,154)] = {64,0}, + [I(224,154)] = {64,0}, + [I(225,154)] = {64,0}, + [I(226,154)] = {64,0}, + [I(227,154)] = {64,0}, + [I(228,154)] = {64,0}, + [I(229,154)] = {64,0}, + [I(230,154)] = {64,0}, + [I(231,154)] = {64,0}, + [I(232,154)] = {64,0}, + [I(233,154)] = {64,0}, + [I(234,154)] = {64,0}, + [I(235,154)] = {64,0}, + [I(236,154)] = {64,0}, + [I(237,154)] = {64,0}, + [I(238,154)] = {64,0}, + [I(239,154)] = {64,0}, + [I(240,154)] = {64,0}, + [I(241,154)] = {64,0}, + [I(242,154)] = {64,0}, + [I(243,154)] = {64,0}, + [I(244,154)] = {64,0}, + [I(245,154)] = {64,0}, + [I(246,154)] = {64,0}, + [I(247,154)] = {64,0}, + [I(248,154)] = {64,0}, + [I(249,154)] = {64,0}, + [I(250,154)] = {64,0}, + [I(251,154)] = {64,0}, + [I(252,154)] = {64,0}, + [I(253,154)] = {64,0}, + [I(254,154)] = {64,0}, + [I(255,154)] = {64,0}, + [I(0,155)] = {64,0}, + [I(1,155)] = {64,0}, + [I(2,155)] = {64,0}, + [I(3,155)] = {64,0}, + [I(4,155)] = {64,0}, + [I(5,155)] = {64,0}, + [I(6,155)] = {64,0}, + [I(7,155)] = {64,0}, + [I(8,155)] = {64,0}, + [I(9,155)] = {64,0}, + [I(10,155)] = {64,0}, + [I(11,155)] = {64,0}, + [I(12,155)] = {64,0}, + [I(13,155)] = {64,0}, + [I(14,155)] = {64,0}, + [I(15,155)] = {64,0}, + [I(16,155)] = {64,0}, + [I(17,155)] = {64,0}, + [I(18,155)] = {64,0}, + [I(19,155)] = {64,0}, + [I(20,155)] = {64,0}, + [I(21,155)] = {64,0}, + [I(22,155)] = {64,0}, + [I(23,155)] = {64,0}, + [I(24,155)] = {64,0}, + [I(25,155)] = {64,0}, + [I(26,155)] = {64,0}, + [I(27,155)] = {64,0}, + [I(28,155)] = {64,0}, + [I(29,155)] = {64,0}, + [I(30,155)] = {64,0}, + [I(31,155)] = {64,0}, + [I(32,155)] = {29,0xA7FFFE5}, + [I(33,155)] = {64,0}, + [I(34,155)] = {64,0}, + [I(35,155)] = {64,0}, + [I(36,155)] = {64,0}, + [I(37,155)] = {29,0xAFFFFE5}, + [I(38,155)] = {31,0x7C7FFFE5}, + [I(39,155)] = {64,0}, + [I(40,155)] = {64,0}, + [I(41,155)] = {64,0}, + [I(42,155)] = {31,0x7CFFFFE5}, + [I(43,155)] = {64,0}, + [I(44,155)] = {31,0x7D7FFFE5}, + [I(45,155)] = {29,0xB7FFFE5}, + [I(46,155)] = {29,0xBFFFFE5}, + [I(47,155)] = {29,0xC7FFFE5}, + [I(48,155)] = {28,0x7FFFE5}, + [I(49,155)] = {28,0xFFFFE5}, + [I(50,155)] = {28,0x17FFFE5}, + [I(51,155)] = {29,0xCFFFFE5}, + [I(52,155)] = {29,0xD7FFFE5}, + [I(53,155)] = {29,0xDFFFFE5}, + [I(54,155)] = {29,0xE7FFFE5}, + [I(55,155)] = {29,0xEFFFFE5}, + [I(56,155)] = {29,0xF7FFFE5}, + [I(57,155)] = {29,0xFFFFFE5}, + [I(58,155)] = {30,0x2E7FFFE5}, + [I(59,155)] = {31,0x7DFFFFE5}, + [I(60,155)] = {64,0}, + [I(61,155)] = {29,0x107FFFE5}, + [I(62,155)] = {64,0}, + [I(63,155)] = {64,0}, + [I(64,155)] = {64,0}, + [I(65,155)] = {29,0x10FFFFE5}, + [I(66,155)] = {30,0x2EFFFFE5}, + [I(67,155)] = {30,0x2F7FFFE5}, + [I(68,155)] = {30,0x2FFFFFE5}, + [I(69,155)] = {30,0x307FFFE5}, + [I(70,155)] = {30,0x30FFFFE5}, + [I(71,155)] = {30,0x317FFFE5}, + [I(72,155)] = {30,0x31FFFFE5}, + [I(73,155)] = {30,0x327FFFE5}, + [I(74,155)] = {30,0x32FFFFE5}, + [I(75,155)] = {30,0x337FFFE5}, + [I(76,155)] = {30,0x33FFFFE5}, + [I(77,155)] = {30,0x347FFFE5}, + [I(78,155)] = {30,0x34FFFFE5}, + [I(79,155)] = {30,0x357FFFE5}, + [I(80,155)] = {30,0x35FFFFE5}, + [I(81,155)] = {30,0x367FFFE5}, + [I(82,155)] = {30,0x36FFFFE5}, + [I(83,155)] = {30,0x377FFFE5}, + [I(84,155)] = {30,0x37FFFFE5}, + [I(85,155)] = {30,0x387FFFE5}, + [I(86,155)] = {30,0x38FFFFE5}, + [I(87,155)] = {30,0x397FFFE5}, + [I(88,155)] = {31,0x7E7FFFE5}, + [I(89,155)] = {30,0x39FFFFE5}, + [I(90,155)] = {31,0x7EFFFFE5}, + [I(91,155)] = {64,0}, + [I(92,155)] = {64,0}, + [I(93,155)] = {64,0}, + [I(94,155)] = {64,0}, + [I(95,155)] = {29,0x117FFFE5}, + [I(96,155)] = {64,0}, + [I(97,155)] = {28,0x1FFFFE5}, + [I(98,155)] = {29,0x11FFFFE5}, + [I(99,155)] = {28,0x27FFFE5}, + [I(100,155)] = {29,0x127FFFE5}, + [I(101,155)] = {28,0x2FFFFE5}, + [I(102,155)] = {29,0x12FFFFE5}, + [I(103,155)] = {29,0x137FFFE5}, + [I(104,155)] = {29,0x13FFFFE5}, + [I(105,155)] = {28,0x37FFFE5}, + [I(106,155)] = {30,0x3A7FFFE5}, + [I(107,155)] = {30,0x3AFFFFE5}, + [I(108,155)] = {29,0x147FFFE5}, + [I(109,155)] = {29,0x14FFFFE5}, + [I(110,155)] = {29,0x157FFFE5}, + [I(111,155)] = {28,0x3FFFFE5}, + [I(112,155)] = {29,0x15FFFFE5}, + [I(113,155)] = {30,0x3B7FFFE5}, + [I(114,155)] = {29,0x167FFFE5}, + [I(115,155)] = {28,0x47FFFE5}, + [I(116,155)] = {28,0x4FFFFE5}, + [I(117,155)] = {29,0x16FFFFE5}, + [I(118,155)] = {30,0x3BFFFFE5}, + [I(119,155)] = {30,0x3C7FFFE5}, + [I(120,155)] = {30,0x3CFFFFE5}, + [I(121,155)] = {30,0x3D7FFFE5}, + [I(122,155)] = {30,0x3DFFFFE5}, + [I(123,155)] = {64,0}, + [I(124,155)] = {64,0}, + [I(125,155)] = {64,0}, + [I(126,155)] = {64,0}, + [I(127,155)] = {64,0}, + [I(128,155)] = {64,0}, + [I(129,155)] = {64,0}, + [I(130,155)] = {64,0}, + [I(131,155)] = {64,0}, + [I(132,155)] = {64,0}, + [I(133,155)] = {64,0}, + [I(134,155)] = {64,0}, + [I(135,155)] = {64,0}, + [I(136,155)] = {64,0}, + [I(137,155)] = {64,0}, + [I(138,155)] = {64,0}, + [I(139,155)] = {64,0}, + [I(140,155)] = {64,0}, + [I(141,155)] = {64,0}, + [I(142,155)] = {64,0}, + [I(143,155)] = {64,0}, + [I(144,155)] = {64,0}, + [I(145,155)] = {64,0}, + [I(146,155)] = {64,0}, + [I(147,155)] = {64,0}, + [I(148,155)] = {64,0}, + [I(149,155)] = {64,0}, + [I(150,155)] = {64,0}, + [I(151,155)] = {64,0}, + [I(152,155)] = {64,0}, + [I(153,155)] = {64,0}, + [I(154,155)] = {64,0}, + [I(155,155)] = {64,0}, + [I(156,155)] = {64,0}, + [I(157,155)] = {64,0}, + [I(158,155)] = {64,0}, + [I(159,155)] = {64,0}, + [I(160,155)] = {64,0}, + [I(161,155)] = {64,0}, + [I(162,155)] = {64,0}, + [I(163,155)] = {64,0}, + [I(164,155)] = {64,0}, + [I(165,155)] = {64,0}, + [I(166,155)] = {64,0}, + [I(167,155)] = {64,0}, + [I(168,155)] = {64,0}, + [I(169,155)] = {64,0}, + [I(170,155)] = {64,0}, + [I(171,155)] = {64,0}, + [I(172,155)] = {64,0}, + [I(173,155)] = {64,0}, + [I(174,155)] = {64,0}, + [I(175,155)] = {64,0}, + [I(176,155)] = {64,0}, + [I(177,155)] = {64,0}, + [I(178,155)] = {64,0}, + [I(179,155)] = {64,0}, + [I(180,155)] = {64,0}, + [I(181,155)] = {64,0}, + [I(182,155)] = {64,0}, + [I(183,155)] = {64,0}, + [I(184,155)] = {64,0}, + [I(185,155)] = {64,0}, + [I(186,155)] = {64,0}, + [I(187,155)] = {64,0}, + [I(188,155)] = {64,0}, + [I(189,155)] = {64,0}, + [I(190,155)] = {64,0}, + [I(191,155)] = {64,0}, + [I(192,155)] = {64,0}, + [I(193,155)] = {64,0}, + [I(194,155)] = {64,0}, + [I(195,155)] = {64,0}, + [I(196,155)] = {64,0}, + [I(197,155)] = {64,0}, + [I(198,155)] = {64,0}, + [I(199,155)] = {64,0}, + [I(200,155)] = {64,0}, + [I(201,155)] = {64,0}, + [I(202,155)] = {64,0}, + [I(203,155)] = {64,0}, + [I(204,155)] = {64,0}, + [I(205,155)] = {64,0}, + [I(206,155)] = {64,0}, + [I(207,155)] = {64,0}, + [I(208,155)] = {64,0}, + [I(209,155)] = {64,0}, + [I(210,155)] = {64,0}, + [I(211,155)] = {64,0}, + [I(212,155)] = {64,0}, + [I(213,155)] = {64,0}, + [I(214,155)] = {64,0}, + [I(215,155)] = {64,0}, + [I(216,155)] = {64,0}, + [I(217,155)] = {64,0}, + [I(218,155)] = {64,0}, + [I(219,155)] = {64,0}, + [I(220,155)] = {64,0}, + [I(221,155)] = {64,0}, + [I(222,155)] = {64,0}, + [I(223,155)] = {64,0}, + [I(224,155)] = {64,0}, + [I(225,155)] = {64,0}, + [I(226,155)] = {64,0}, + [I(227,155)] = {64,0}, + [I(228,155)] = {64,0}, + [I(229,155)] = {64,0}, + [I(230,155)] = {64,0}, + [I(231,155)] = {64,0}, + [I(232,155)] = {64,0}, + [I(233,155)] = {64,0}, + [I(234,155)] = {64,0}, + [I(235,155)] = {64,0}, + [I(236,155)] = {64,0}, + [I(237,155)] = {64,0}, + [I(238,155)] = {64,0}, + [I(239,155)] = {64,0}, + [I(240,155)] = {64,0}, + [I(241,155)] = {64,0}, + [I(242,155)] = {64,0}, + [I(243,155)] = {64,0}, + [I(244,155)] = {64,0}, + [I(245,155)] = {64,0}, + [I(246,155)] = {64,0}, + [I(247,155)] = {64,0}, + [I(248,155)] = {64,0}, + [I(249,155)] = {64,0}, + [I(250,155)] = {64,0}, + [I(251,155)] = {64,0}, + [I(252,155)] = {64,0}, + [I(253,155)] = {64,0}, + [I(254,155)] = {64,0}, + [I(255,155)] = {64,0}, + [I(0,156)] = {64,0}, + [I(1,156)] = {64,0}, + [I(2,156)] = {64,0}, + [I(3,156)] = {64,0}, + [I(4,156)] = {64,0}, + [I(5,156)] = {64,0}, + [I(6,156)] = {64,0}, + [I(7,156)] = {64,0}, + [I(8,156)] = {64,0}, + [I(9,156)] = {64,0}, + [I(10,156)] = {64,0}, + [I(11,156)] = {64,0}, + [I(12,156)] = {64,0}, + [I(13,156)] = {64,0}, + [I(14,156)] = {64,0}, + [I(15,156)] = {64,0}, + [I(16,156)] = {64,0}, + [I(17,156)] = {64,0}, + [I(18,156)] = {64,0}, + [I(19,156)] = {64,0}, + [I(20,156)] = {64,0}, + [I(21,156)] = {64,0}, + [I(22,156)] = {64,0}, + [I(23,156)] = {64,0}, + [I(24,156)] = {64,0}, + [I(25,156)] = {64,0}, + [I(26,156)] = {64,0}, + [I(27,156)] = {64,0}, + [I(28,156)] = {64,0}, + [I(29,156)] = {64,0}, + [I(30,156)] = {64,0}, + [I(31,156)] = {64,0}, + [I(32,156)] = {28,0x53FFFD9}, + [I(33,156)] = {X32,0xFE3FFFD9}, + [I(34,156)] = {X32,0xFE7FFFD9}, + [I(35,156)] = {64,0}, + [I(36,156)] = {64,0}, + [I(37,156)] = {28,0x57FFFD9}, + [I(38,156)] = {30,0x3E3FFFD9}, + [I(39,156)] = {64,0}, + [I(40,156)] = {X32,0xFEBFFFD9}, + [I(41,156)] = {X32,0xFEFFFFD9}, + [I(42,156)] = {30,0x3E7FFFD9}, + [I(43,156)] = {64,0}, + [I(44,156)] = {30,0x3EBFFFD9}, + [I(45,156)] = {28,0x5BFFFD9}, + [I(46,156)] = {28,0x5FFFFD9}, + [I(47,156)] = {28,0x63FFFD9}, + [I(48,156)] = {27,0x3FFFD9}, + [I(49,156)] = {27,0x7FFFD9}, + [I(50,156)] = {27,0xBFFFD9}, + [I(51,156)] = {28,0x67FFFD9}, + [I(52,156)] = {28,0x6BFFFD9}, + [I(53,156)] = {28,0x6FFFFD9}, + [I(54,156)] = {28,0x73FFFD9}, + [I(55,156)] = {28,0x77FFFD9}, + [I(56,156)] = {28,0x7BFFFD9}, + [I(57,156)] = {28,0x7FFFFD9}, + [I(58,156)] = {29,0x173FFFD9}, + [I(59,156)] = {30,0x3EFFFFD9}, + [I(60,156)] = {64,0}, + [I(61,156)] = {28,0x83FFFD9}, + [I(62,156)] = {64,0}, + [I(63,156)] = {X32,0xFF3FFFD9}, + [I(64,156)] = {64,0}, + [I(65,156)] = {28,0x87FFFD9}, + [I(66,156)] = {29,0x177FFFD9}, + [I(67,156)] = {29,0x17BFFFD9}, + [I(68,156)] = {29,0x17FFFFD9}, + [I(69,156)] = {29,0x183FFFD9}, + [I(70,156)] = {29,0x187FFFD9}, + [I(71,156)] = {29,0x18BFFFD9}, + [I(72,156)] = {29,0x18FFFFD9}, + [I(73,156)] = {29,0x193FFFD9}, + [I(74,156)] = {29,0x197FFFD9}, + [I(75,156)] = {29,0x19BFFFD9}, + [I(76,156)] = {29,0x19FFFFD9}, + [I(77,156)] = {29,0x1A3FFFD9}, + [I(78,156)] = {29,0x1A7FFFD9}, + [I(79,156)] = {29,0x1ABFFFD9}, + [I(80,156)] = {29,0x1AFFFFD9}, + [I(81,156)] = {29,0x1B3FFFD9}, + [I(82,156)] = {29,0x1B7FFFD9}, + [I(83,156)] = {29,0x1BBFFFD9}, + [I(84,156)] = {29,0x1BFFFFD9}, + [I(85,156)] = {29,0x1C3FFFD9}, + [I(86,156)] = {29,0x1C7FFFD9}, + [I(87,156)] = {29,0x1CBFFFD9}, + [I(88,156)] = {30,0x3F3FFFD9}, + [I(89,156)] = {29,0x1CFFFFD9}, + [I(90,156)] = {30,0x3F7FFFD9}, + [I(91,156)] = {64,0}, + [I(92,156)] = {64,0}, + [I(93,156)] = {64,0}, + [I(94,156)] = {64,0}, + [I(95,156)] = {28,0x8BFFFD9}, + [I(96,156)] = {64,0}, + [I(97,156)] = {27,0xFFFFD9}, + [I(98,156)] = {28,0x8FFFFD9}, + [I(99,156)] = {27,0x13FFFD9}, + [I(100,156)] = {28,0x93FFFD9}, + [I(101,156)] = {27,0x17FFFD9}, + [I(102,156)] = {28,0x97FFFD9}, + [I(103,156)] = {28,0x9BFFFD9}, + [I(104,156)] = {28,0x9FFFFD9}, + [I(105,156)] = {27,0x1BFFFD9}, + [I(106,156)] = {29,0x1D3FFFD9}, + [I(107,156)] = {29,0x1D7FFFD9}, + [I(108,156)] = {28,0xA3FFFD9}, + [I(109,156)] = {28,0xA7FFFD9}, + [I(110,156)] = {28,0xABFFFD9}, + [I(111,156)] = {27,0x1FFFFD9}, + [I(112,156)] = {28,0xAFFFFD9}, + [I(113,156)] = {29,0x1DBFFFD9}, + [I(114,156)] = {28,0xB3FFFD9}, + [I(115,156)] = {27,0x23FFFD9}, + [I(116,156)] = {27,0x27FFFD9}, + [I(117,156)] = {28,0xB7FFFD9}, + [I(118,156)] = {29,0x1DFFFFD9}, + [I(119,156)] = {29,0x1E3FFFD9}, + [I(120,156)] = {29,0x1E7FFFD9}, + [I(121,156)] = {29,0x1EBFFFD9}, + [I(122,156)] = {29,0x1EFFFFD9}, + [I(123,156)] = {64,0}, + [I(124,156)] = {64,0}, + [I(125,156)] = {64,0}, + [I(126,156)] = {64,0}, + [I(127,156)] = {64,0}, + [I(128,156)] = {64,0}, + [I(129,156)] = {64,0}, + [I(130,156)] = {64,0}, + [I(131,156)] = {64,0}, + [I(132,156)] = {64,0}, + [I(133,156)] = {64,0}, + [I(134,156)] = {64,0}, + [I(135,156)] = {64,0}, + [I(136,156)] = {64,0}, + [I(137,156)] = {64,0}, + [I(138,156)] = {64,0}, + [I(139,156)] = {64,0}, + [I(140,156)] = {64,0}, + [I(141,156)] = {64,0}, + [I(142,156)] = {64,0}, + [I(143,156)] = {64,0}, + [I(144,156)] = {64,0}, + [I(145,156)] = {64,0}, + [I(146,156)] = {64,0}, + [I(147,156)] = {64,0}, + [I(148,156)] = {64,0}, + [I(149,156)] = {64,0}, + [I(150,156)] = {64,0}, + [I(151,156)] = {64,0}, + [I(152,156)] = {64,0}, + [I(153,156)] = {64,0}, + [I(154,156)] = {64,0}, + [I(155,156)] = {64,0}, + [I(156,156)] = {64,0}, + [I(157,156)] = {64,0}, + [I(158,156)] = {64,0}, + [I(159,156)] = {64,0}, + [I(160,156)] = {64,0}, + [I(161,156)] = {64,0}, + [I(162,156)] = {64,0}, + [I(163,156)] = {64,0}, + [I(164,156)] = {64,0}, + [I(165,156)] = {64,0}, + [I(166,156)] = {64,0}, + [I(167,156)] = {64,0}, + [I(168,156)] = {64,0}, + [I(169,156)] = {64,0}, + [I(170,156)] = {64,0}, + [I(171,156)] = {64,0}, + [I(172,156)] = {64,0}, + [I(173,156)] = {64,0}, + [I(174,156)] = {64,0}, + [I(175,156)] = {64,0}, + [I(176,156)] = {64,0}, + [I(177,156)] = {64,0}, + [I(178,156)] = {64,0}, + [I(179,156)] = {64,0}, + [I(180,156)] = {64,0}, + [I(181,156)] = {64,0}, + [I(182,156)] = {64,0}, + [I(183,156)] = {64,0}, + [I(184,156)] = {64,0}, + [I(185,156)] = {64,0}, + [I(186,156)] = {64,0}, + [I(187,156)] = {64,0}, + [I(188,156)] = {64,0}, + [I(189,156)] = {64,0}, + [I(190,156)] = {64,0}, + [I(191,156)] = {64,0}, + [I(192,156)] = {64,0}, + [I(193,156)] = {64,0}, + [I(194,156)] = {64,0}, + [I(195,156)] = {64,0}, + [I(196,156)] = {64,0}, + [I(197,156)] = {64,0}, + [I(198,156)] = {64,0}, + [I(199,156)] = {64,0}, + [I(200,156)] = {64,0}, + [I(201,156)] = {64,0}, + [I(202,156)] = {64,0}, + [I(203,156)] = {64,0}, + [I(204,156)] = {64,0}, + [I(205,156)] = {64,0}, + [I(206,156)] = {64,0}, + [I(207,156)] = {64,0}, + [I(208,156)] = {64,0}, + [I(209,156)] = {64,0}, + [I(210,156)] = {64,0}, + [I(211,156)] = {64,0}, + [I(212,156)] = {64,0}, + [I(213,156)] = {64,0}, + [I(214,156)] = {64,0}, + [I(215,156)] = {64,0}, + [I(216,156)] = {64,0}, + [I(217,156)] = {64,0}, + [I(218,156)] = {64,0}, + [I(219,156)] = {64,0}, + [I(220,156)] = {64,0}, + [I(221,156)] = {64,0}, + [I(222,156)] = {64,0}, + [I(223,156)] = {64,0}, + [I(224,156)] = {64,0}, + [I(225,156)] = {64,0}, + [I(226,156)] = {64,0}, + [I(227,156)] = {64,0}, + [I(228,156)] = {64,0}, + [I(229,156)] = {64,0}, + [I(230,156)] = {64,0}, + [I(231,156)] = {64,0}, + [I(232,156)] = {64,0}, + [I(233,156)] = {64,0}, + [I(234,156)] = {64,0}, + [I(235,156)] = {64,0}, + [I(236,156)] = {64,0}, + [I(237,156)] = {64,0}, + [I(238,156)] = {64,0}, + [I(239,156)] = {64,0}, + [I(240,156)] = {64,0}, + [I(241,156)] = {64,0}, + [I(242,156)] = {64,0}, + [I(243,156)] = {64,0}, + [I(244,156)] = {64,0}, + [I(245,156)] = {64,0}, + [I(246,156)] = {64,0}, + [I(247,156)] = {64,0}, + [I(248,156)] = {64,0}, + [I(249,156)] = {64,0}, + [I(250,156)] = {64,0}, + [I(251,156)] = {64,0}, + [I(252,156)] = {64,0}, + [I(253,156)] = {64,0}, + [I(254,156)] = {64,0}, + [I(255,156)] = {64,0}, + [I(0,157)] = {64,0}, + [I(1,157)] = {64,0}, + [I(2,157)] = {64,0}, + [I(3,157)] = {64,0}, + [I(4,157)] = {64,0}, + [I(5,157)] = {64,0}, + [I(6,157)] = {64,0}, + [I(7,157)] = {64,0}, + [I(8,157)] = {64,0}, + [I(9,157)] = {64,0}, + [I(10,157)] = {64,0}, + [I(11,157)] = {64,0}, + [I(12,157)] = {64,0}, + [I(13,157)] = {64,0}, + [I(14,157)] = {64,0}, + [I(15,157)] = {64,0}, + [I(16,157)] = {64,0}, + [I(17,157)] = {64,0}, + [I(18,157)] = {64,0}, + [I(19,157)] = {64,0}, + [I(20,157)] = {64,0}, + [I(21,157)] = {64,0}, + [I(22,157)] = {64,0}, + [I(23,157)] = {64,0}, + [I(24,157)] = {64,0}, + [I(25,157)] = {64,0}, + [I(26,157)] = {64,0}, + [I(27,157)] = {64,0}, + [I(28,157)] = {64,0}, + [I(29,157)] = {64,0}, + [I(30,157)] = {64,0}, + [I(31,157)] = {64,0}, + [I(32,157)] = {29,0xA7FFFE6}, + [I(33,157)] = {64,0}, + [I(34,157)] = {64,0}, + [I(35,157)] = {64,0}, + [I(36,157)] = {64,0}, + [I(37,157)] = {29,0xAFFFFE6}, + [I(38,157)] = {31,0x7C7FFFE6}, + [I(39,157)] = {64,0}, + [I(40,157)] = {64,0}, + [I(41,157)] = {64,0}, + [I(42,157)] = {31,0x7CFFFFE6}, + [I(43,157)] = {64,0}, + [I(44,157)] = {31,0x7D7FFFE6}, + [I(45,157)] = {29,0xB7FFFE6}, + [I(46,157)] = {29,0xBFFFFE6}, + [I(47,157)] = {29,0xC7FFFE6}, + [I(48,157)] = {28,0x7FFFE6}, + [I(49,157)] = {28,0xFFFFE6}, + [I(50,157)] = {28,0x17FFFE6}, + [I(51,157)] = {29,0xCFFFFE6}, + [I(52,157)] = {29,0xD7FFFE6}, + [I(53,157)] = {29,0xDFFFFE6}, + [I(54,157)] = {29,0xE7FFFE6}, + [I(55,157)] = {29,0xEFFFFE6}, + [I(56,157)] = {29,0xF7FFFE6}, + [I(57,157)] = {29,0xFFFFFE6}, + [I(58,157)] = {30,0x2E7FFFE6}, + [I(59,157)] = {31,0x7DFFFFE6}, + [I(60,157)] = {64,0}, + [I(61,157)] = {29,0x107FFFE6}, + [I(62,157)] = {64,0}, + [I(63,157)] = {64,0}, + [I(64,157)] = {64,0}, + [I(65,157)] = {29,0x10FFFFE6}, + [I(66,157)] = {30,0x2EFFFFE6}, + [I(67,157)] = {30,0x2F7FFFE6}, + [I(68,157)] = {30,0x2FFFFFE6}, + [I(69,157)] = {30,0x307FFFE6}, + [I(70,157)] = {30,0x30FFFFE6}, + [I(71,157)] = {30,0x317FFFE6}, + [I(72,157)] = {30,0x31FFFFE6}, + [I(73,157)] = {30,0x327FFFE6}, + [I(74,157)] = {30,0x32FFFFE6}, + [I(75,157)] = {30,0x337FFFE6}, + [I(76,157)] = {30,0x33FFFFE6}, + [I(77,157)] = {30,0x347FFFE6}, + [I(78,157)] = {30,0x34FFFFE6}, + [I(79,157)] = {30,0x357FFFE6}, + [I(80,157)] = {30,0x35FFFFE6}, + [I(81,157)] = {30,0x367FFFE6}, + [I(82,157)] = {30,0x36FFFFE6}, + [I(83,157)] = {30,0x377FFFE6}, + [I(84,157)] = {30,0x37FFFFE6}, + [I(85,157)] = {30,0x387FFFE6}, + [I(86,157)] = {30,0x38FFFFE6}, + [I(87,157)] = {30,0x397FFFE6}, + [I(88,157)] = {31,0x7E7FFFE6}, + [I(89,157)] = {30,0x39FFFFE6}, + [I(90,157)] = {31,0x7EFFFFE6}, + [I(91,157)] = {64,0}, + [I(92,157)] = {64,0}, + [I(93,157)] = {64,0}, + [I(94,157)] = {64,0}, + [I(95,157)] = {29,0x117FFFE6}, + [I(96,157)] = {64,0}, + [I(97,157)] = {28,0x1FFFFE6}, + [I(98,157)] = {29,0x11FFFFE6}, + [I(99,157)] = {28,0x27FFFE6}, + [I(100,157)] = {29,0x127FFFE6}, + [I(101,157)] = {28,0x2FFFFE6}, + [I(102,157)] = {29,0x12FFFFE6}, + [I(103,157)] = {29,0x137FFFE6}, + [I(104,157)] = {29,0x13FFFFE6}, + [I(105,157)] = {28,0x37FFFE6}, + [I(106,157)] = {30,0x3A7FFFE6}, + [I(107,157)] = {30,0x3AFFFFE6}, + [I(108,157)] = {29,0x147FFFE6}, + [I(109,157)] = {29,0x14FFFFE6}, + [I(110,157)] = {29,0x157FFFE6}, + [I(111,157)] = {28,0x3FFFFE6}, + [I(112,157)] = {29,0x15FFFFE6}, + [I(113,157)] = {30,0x3B7FFFE6}, + [I(114,157)] = {29,0x167FFFE6}, + [I(115,157)] = {28,0x47FFFE6}, + [I(116,157)] = {28,0x4FFFFE6}, + [I(117,157)] = {29,0x16FFFFE6}, + [I(118,157)] = {30,0x3BFFFFE6}, + [I(119,157)] = {30,0x3C7FFFE6}, + [I(120,157)] = {30,0x3CFFFFE6}, + [I(121,157)] = {30,0x3D7FFFE6}, + [I(122,157)] = {30,0x3DFFFFE6}, + [I(123,157)] = {64,0}, + [I(124,157)] = {64,0}, + [I(125,157)] = {64,0}, + [I(126,157)] = {64,0}, + [I(127,157)] = {64,0}, + [I(128,157)] = {64,0}, + [I(129,157)] = {64,0}, + [I(130,157)] = {64,0}, + [I(131,157)] = {64,0}, + [I(132,157)] = {64,0}, + [I(133,157)] = {64,0}, + [I(134,157)] = {64,0}, + [I(135,157)] = {64,0}, + [I(136,157)] = {64,0}, + [I(137,157)] = {64,0}, + [I(138,157)] = {64,0}, + [I(139,157)] = {64,0}, + [I(140,157)] = {64,0}, + [I(141,157)] = {64,0}, + [I(142,157)] = {64,0}, + [I(143,157)] = {64,0}, + [I(144,157)] = {64,0}, + [I(145,157)] = {64,0}, + [I(146,157)] = {64,0}, + [I(147,157)] = {64,0}, + [I(148,157)] = {64,0}, + [I(149,157)] = {64,0}, + [I(150,157)] = {64,0}, + [I(151,157)] = {64,0}, + [I(152,157)] = {64,0}, + [I(153,157)] = {64,0}, + [I(154,157)] = {64,0}, + [I(155,157)] = {64,0}, + [I(156,157)] = {64,0}, + [I(157,157)] = {64,0}, + [I(158,157)] = {64,0}, + [I(159,157)] = {64,0}, + [I(160,157)] = {64,0}, + [I(161,157)] = {64,0}, + [I(162,157)] = {64,0}, + [I(163,157)] = {64,0}, + [I(164,157)] = {64,0}, + [I(165,157)] = {64,0}, + [I(166,157)] = {64,0}, + [I(167,157)] = {64,0}, + [I(168,157)] = {64,0}, + [I(169,157)] = {64,0}, + [I(170,157)] = {64,0}, + [I(171,157)] = {64,0}, + [I(172,157)] = {64,0}, + [I(173,157)] = {64,0}, + [I(174,157)] = {64,0}, + [I(175,157)] = {64,0}, + [I(176,157)] = {64,0}, + [I(177,157)] = {64,0}, + [I(178,157)] = {64,0}, + [I(179,157)] = {64,0}, + [I(180,157)] = {64,0}, + [I(181,157)] = {64,0}, + [I(182,157)] = {64,0}, + [I(183,157)] = {64,0}, + [I(184,157)] = {64,0}, + [I(185,157)] = {64,0}, + [I(186,157)] = {64,0}, + [I(187,157)] = {64,0}, + [I(188,157)] = {64,0}, + [I(189,157)] = {64,0}, + [I(190,157)] = {64,0}, + [I(191,157)] = {64,0}, + [I(192,157)] = {64,0}, + [I(193,157)] = {64,0}, + [I(194,157)] = {64,0}, + [I(195,157)] = {64,0}, + [I(196,157)] = {64,0}, + [I(197,157)] = {64,0}, + [I(198,157)] = {64,0}, + [I(199,157)] = {64,0}, + [I(200,157)] = {64,0}, + [I(201,157)] = {64,0}, + [I(202,157)] = {64,0}, + [I(203,157)] = {64,0}, + [I(204,157)] = {64,0}, + [I(205,157)] = {64,0}, + [I(206,157)] = {64,0}, + [I(207,157)] = {64,0}, + [I(208,157)] = {64,0}, + [I(209,157)] = {64,0}, + [I(210,157)] = {64,0}, + [I(211,157)] = {64,0}, + [I(212,157)] = {64,0}, + [I(213,157)] = {64,0}, + [I(214,157)] = {64,0}, + [I(215,157)] = {64,0}, + [I(216,157)] = {64,0}, + [I(217,157)] = {64,0}, + [I(218,157)] = {64,0}, + [I(219,157)] = {64,0}, + [I(220,157)] = {64,0}, + [I(221,157)] = {64,0}, + [I(222,157)] = {64,0}, + [I(223,157)] = {64,0}, + [I(224,157)] = {64,0}, + [I(225,157)] = {64,0}, + [I(226,157)] = {64,0}, + [I(227,157)] = {64,0}, + [I(228,157)] = {64,0}, + [I(229,157)] = {64,0}, + [I(230,157)] = {64,0}, + [I(231,157)] = {64,0}, + [I(232,157)] = {64,0}, + [I(233,157)] = {64,0}, + [I(234,157)] = {64,0}, + [I(235,157)] = {64,0}, + [I(236,157)] = {64,0}, + [I(237,157)] = {64,0}, + [I(238,157)] = {64,0}, + [I(239,157)] = {64,0}, + [I(240,157)] = {64,0}, + [I(241,157)] = {64,0}, + [I(242,157)] = {64,0}, + [I(243,157)] = {64,0}, + [I(244,157)] = {64,0}, + [I(245,157)] = {64,0}, + [I(246,157)] = {64,0}, + [I(247,157)] = {64,0}, + [I(248,157)] = {64,0}, + [I(249,157)] = {64,0}, + [I(250,157)] = {64,0}, + [I(251,157)] = {64,0}, + [I(252,157)] = {64,0}, + [I(253,157)] = {64,0}, + [I(254,157)] = {64,0}, + [I(255,157)] = {64,0}, + [I(0,158)] = {64,0}, + [I(1,158)] = {64,0}, + [I(2,158)] = {64,0}, + [I(3,158)] = {64,0}, + [I(4,158)] = {64,0}, + [I(5,158)] = {64,0}, + [I(6,158)] = {64,0}, + [I(7,158)] = {64,0}, + [I(8,158)] = {64,0}, + [I(9,158)] = {64,0}, + [I(10,158)] = {64,0}, + [I(11,158)] = {64,0}, + [I(12,158)] = {64,0}, + [I(13,158)] = {64,0}, + [I(14,158)] = {64,0}, + [I(15,158)] = {64,0}, + [I(16,158)] = {64,0}, + [I(17,158)] = {64,0}, + [I(18,158)] = {64,0}, + [I(19,158)] = {64,0}, + [I(20,158)] = {64,0}, + [I(21,158)] = {64,0}, + [I(22,158)] = {64,0}, + [I(23,158)] = {64,0}, + [I(24,158)] = {64,0}, + [I(25,158)] = {64,0}, + [I(26,158)] = {64,0}, + [I(27,158)] = {64,0}, + [I(28,158)] = {64,0}, + [I(29,158)] = {64,0}, + [I(30,158)] = {64,0}, + [I(31,158)] = {64,0}, + [I(32,158)] = {29,0xA7FFFE7}, + [I(33,158)] = {64,0}, + [I(34,158)] = {64,0}, + [I(35,158)] = {64,0}, + [I(36,158)] = {64,0}, + [I(37,158)] = {29,0xAFFFFE7}, + [I(38,158)] = {31,0x7C7FFFE7}, + [I(39,158)] = {64,0}, + [I(40,158)] = {64,0}, + [I(41,158)] = {64,0}, + [I(42,158)] = {31,0x7CFFFFE7}, + [I(43,158)] = {64,0}, + [I(44,158)] = {31,0x7D7FFFE7}, + [I(45,158)] = {29,0xB7FFFE7}, + [I(46,158)] = {29,0xBFFFFE7}, + [I(47,158)] = {29,0xC7FFFE7}, + [I(48,158)] = {28,0x7FFFE7}, + [I(49,158)] = {28,0xFFFFE7}, + [I(50,158)] = {28,0x17FFFE7}, + [I(51,158)] = {29,0xCFFFFE7}, + [I(52,158)] = {29,0xD7FFFE7}, + [I(53,158)] = {29,0xDFFFFE7}, + [I(54,158)] = {29,0xE7FFFE7}, + [I(55,158)] = {29,0xEFFFFE7}, + [I(56,158)] = {29,0xF7FFFE7}, + [I(57,158)] = {29,0xFFFFFE7}, + [I(58,158)] = {30,0x2E7FFFE7}, + [I(59,158)] = {31,0x7DFFFFE7}, + [I(60,158)] = {64,0}, + [I(61,158)] = {29,0x107FFFE7}, + [I(62,158)] = {64,0}, + [I(63,158)] = {64,0}, + [I(64,158)] = {64,0}, + [I(65,158)] = {29,0x10FFFFE7}, + [I(66,158)] = {30,0x2EFFFFE7}, + [I(67,158)] = {30,0x2F7FFFE7}, + [I(68,158)] = {30,0x2FFFFFE7}, + [I(69,158)] = {30,0x307FFFE7}, + [I(70,158)] = {30,0x30FFFFE7}, + [I(71,158)] = {30,0x317FFFE7}, + [I(72,158)] = {30,0x31FFFFE7}, + [I(73,158)] = {30,0x327FFFE7}, + [I(74,158)] = {30,0x32FFFFE7}, + [I(75,158)] = {30,0x337FFFE7}, + [I(76,158)] = {30,0x33FFFFE7}, + [I(77,158)] = {30,0x347FFFE7}, + [I(78,158)] = {30,0x34FFFFE7}, + [I(79,158)] = {30,0x357FFFE7}, + [I(80,158)] = {30,0x35FFFFE7}, + [I(81,158)] = {30,0x367FFFE7}, + [I(82,158)] = {30,0x36FFFFE7}, + [I(83,158)] = {30,0x377FFFE7}, + [I(84,158)] = {30,0x37FFFFE7}, + [I(85,158)] = {30,0x387FFFE7}, + [I(86,158)] = {30,0x38FFFFE7}, + [I(87,158)] = {30,0x397FFFE7}, + [I(88,158)] = {31,0x7E7FFFE7}, + [I(89,158)] = {30,0x39FFFFE7}, + [I(90,158)] = {31,0x7EFFFFE7}, + [I(91,158)] = {64,0}, + [I(92,158)] = {64,0}, + [I(93,158)] = {64,0}, + [I(94,158)] = {64,0}, + [I(95,158)] = {29,0x117FFFE7}, + [I(96,158)] = {64,0}, + [I(97,158)] = {28,0x1FFFFE7}, + [I(98,158)] = {29,0x11FFFFE7}, + [I(99,158)] = {28,0x27FFFE7}, + [I(100,158)] = {29,0x127FFFE7}, + [I(101,158)] = {28,0x2FFFFE7}, + [I(102,158)] = {29,0x12FFFFE7}, + [I(103,158)] = {29,0x137FFFE7}, + [I(104,158)] = {29,0x13FFFFE7}, + [I(105,158)] = {28,0x37FFFE7}, + [I(106,158)] = {30,0x3A7FFFE7}, + [I(107,158)] = {30,0x3AFFFFE7}, + [I(108,158)] = {29,0x147FFFE7}, + [I(109,158)] = {29,0x14FFFFE7}, + [I(110,158)] = {29,0x157FFFE7}, + [I(111,158)] = {28,0x3FFFFE7}, + [I(112,158)] = {29,0x15FFFFE7}, + [I(113,158)] = {30,0x3B7FFFE7}, + [I(114,158)] = {29,0x167FFFE7}, + [I(115,158)] = {28,0x47FFFE7}, + [I(116,158)] = {28,0x4FFFFE7}, + [I(117,158)] = {29,0x16FFFFE7}, + [I(118,158)] = {30,0x3BFFFFE7}, + [I(119,158)] = {30,0x3C7FFFE7}, + [I(120,158)] = {30,0x3CFFFFE7}, + [I(121,158)] = {30,0x3D7FFFE7}, + [I(122,158)] = {30,0x3DFFFFE7}, + [I(123,158)] = {64,0}, + [I(124,158)] = {64,0}, + [I(125,158)] = {64,0}, + [I(126,158)] = {64,0}, + [I(127,158)] = {64,0}, + [I(128,158)] = {64,0}, + [I(129,158)] = {64,0}, + [I(130,158)] = {64,0}, + [I(131,158)] = {64,0}, + [I(132,158)] = {64,0}, + [I(133,158)] = {64,0}, + [I(134,158)] = {64,0}, + [I(135,158)] = {64,0}, + [I(136,158)] = {64,0}, + [I(137,158)] = {64,0}, + [I(138,158)] = {64,0}, + [I(139,158)] = {64,0}, + [I(140,158)] = {64,0}, + [I(141,158)] = {64,0}, + [I(142,158)] = {64,0}, + [I(143,158)] = {64,0}, + [I(144,158)] = {64,0}, + [I(145,158)] = {64,0}, + [I(146,158)] = {64,0}, + [I(147,158)] = {64,0}, + [I(148,158)] = {64,0}, + [I(149,158)] = {64,0}, + [I(150,158)] = {64,0}, + [I(151,158)] = {64,0}, + [I(152,158)] = {64,0}, + [I(153,158)] = {64,0}, + [I(154,158)] = {64,0}, + [I(155,158)] = {64,0}, + [I(156,158)] = {64,0}, + [I(157,158)] = {64,0}, + [I(158,158)] = {64,0}, + [I(159,158)] = {64,0}, + [I(160,158)] = {64,0}, + [I(161,158)] = {64,0}, + [I(162,158)] = {64,0}, + [I(163,158)] = {64,0}, + [I(164,158)] = {64,0}, + [I(165,158)] = {64,0}, + [I(166,158)] = {64,0}, + [I(167,158)] = {64,0}, + [I(168,158)] = {64,0}, + [I(169,158)] = {64,0}, + [I(170,158)] = {64,0}, + [I(171,158)] = {64,0}, + [I(172,158)] = {64,0}, + [I(173,158)] = {64,0}, + [I(174,158)] = {64,0}, + [I(175,158)] = {64,0}, + [I(176,158)] = {64,0}, + [I(177,158)] = {64,0}, + [I(178,158)] = {64,0}, + [I(179,158)] = {64,0}, + [I(180,158)] = {64,0}, + [I(181,158)] = {64,0}, + [I(182,158)] = {64,0}, + [I(183,158)] = {64,0}, + [I(184,158)] = {64,0}, + [I(185,158)] = {64,0}, + [I(186,158)] = {64,0}, + [I(187,158)] = {64,0}, + [I(188,158)] = {64,0}, + [I(189,158)] = {64,0}, + [I(190,158)] = {64,0}, + [I(191,158)] = {64,0}, + [I(192,158)] = {64,0}, + [I(193,158)] = {64,0}, + [I(194,158)] = {64,0}, + [I(195,158)] = {64,0}, + [I(196,158)] = {64,0}, + [I(197,158)] = {64,0}, + [I(198,158)] = {64,0}, + [I(199,158)] = {64,0}, + [I(200,158)] = {64,0}, + [I(201,158)] = {64,0}, + [I(202,158)] = {64,0}, + [I(203,158)] = {64,0}, + [I(204,158)] = {64,0}, + [I(205,158)] = {64,0}, + [I(206,158)] = {64,0}, + [I(207,158)] = {64,0}, + [I(208,158)] = {64,0}, + [I(209,158)] = {64,0}, + [I(210,158)] = {64,0}, + [I(211,158)] = {64,0}, + [I(212,158)] = {64,0}, + [I(213,158)] = {64,0}, + [I(214,158)] = {64,0}, + [I(215,158)] = {64,0}, + [I(216,158)] = {64,0}, + [I(217,158)] = {64,0}, + [I(218,158)] = {64,0}, + [I(219,158)] = {64,0}, + [I(220,158)] = {64,0}, + [I(221,158)] = {64,0}, + [I(222,158)] = {64,0}, + [I(223,158)] = {64,0}, + [I(224,158)] = {64,0}, + [I(225,158)] = {64,0}, + [I(226,158)] = {64,0}, + [I(227,158)] = {64,0}, + [I(228,158)] = {64,0}, + [I(229,158)] = {64,0}, + [I(230,158)] = {64,0}, + [I(231,158)] = {64,0}, + [I(232,158)] = {64,0}, + [I(233,158)] = {64,0}, + [I(234,158)] = {64,0}, + [I(235,158)] = {64,0}, + [I(236,158)] = {64,0}, + [I(237,158)] = {64,0}, + [I(238,158)] = {64,0}, + [I(239,158)] = {64,0}, + [I(240,158)] = {64,0}, + [I(241,158)] = {64,0}, + [I(242,158)] = {64,0}, + [I(243,158)] = {64,0}, + [I(244,158)] = {64,0}, + [I(245,158)] = {64,0}, + [I(246,158)] = {64,0}, + [I(247,158)] = {64,0}, + [I(248,158)] = {64,0}, + [I(249,158)] = {64,0}, + [I(250,158)] = {64,0}, + [I(251,158)] = {64,0}, + [I(252,158)] = {64,0}, + [I(253,158)] = {64,0}, + [I(254,158)] = {64,0}, + [I(255,158)] = {64,0}, + [I(0,159)] = {64,0}, + [I(1,159)] = {64,0}, + [I(2,159)] = {64,0}, + [I(3,159)] = {64,0}, + [I(4,159)] = {64,0}, + [I(5,159)] = {64,0}, + [I(6,159)] = {64,0}, + [I(7,159)] = {64,0}, + [I(8,159)] = {64,0}, + [I(9,159)] = {64,0}, + [I(10,159)] = {64,0}, + [I(11,159)] = {64,0}, + [I(12,159)] = {64,0}, + [I(13,159)] = {64,0}, + [I(14,159)] = {64,0}, + [I(15,159)] = {64,0}, + [I(16,159)] = {64,0}, + [I(17,159)] = {64,0}, + [I(18,159)] = {64,0}, + [I(19,159)] = {64,0}, + [I(20,159)] = {64,0}, + [I(21,159)] = {64,0}, + [I(22,159)] = {64,0}, + [I(23,159)] = {64,0}, + [I(24,159)] = {64,0}, + [I(25,159)] = {64,0}, + [I(26,159)] = {64,0}, + [I(27,159)] = {64,0}, + [I(28,159)] = {64,0}, + [I(29,159)] = {64,0}, + [I(30,159)] = {64,0}, + [I(31,159)] = {64,0}, + [I(32,159)] = {30,0x14FFFFEF}, + [I(33,159)] = {64,0}, + [I(34,159)] = {64,0}, + [I(35,159)] = {64,0}, + [I(36,159)] = {64,0}, + [I(37,159)] = {30,0x15FFFFEF}, + [I(38,159)] = {X32,0xF8FFFFEF}, + [I(39,159)] = {64,0}, + [I(40,159)] = {64,0}, + [I(41,159)] = {64,0}, + [I(42,159)] = {X32,0xF9FFFFEF}, + [I(43,159)] = {64,0}, + [I(44,159)] = {X32,0xFAFFFFEF}, + [I(45,159)] = {30,0x16FFFFEF}, + [I(46,159)] = {30,0x17FFFFEF}, + [I(47,159)] = {30,0x18FFFFEF}, + [I(48,159)] = {29,0xFFFFEF}, + [I(49,159)] = {29,0x1FFFFEF}, + [I(50,159)] = {29,0x2FFFFEF}, + [I(51,159)] = {30,0x19FFFFEF}, + [I(52,159)] = {30,0x1AFFFFEF}, + [I(53,159)] = {30,0x1BFFFFEF}, + [I(54,159)] = {30,0x1CFFFFEF}, + [I(55,159)] = {30,0x1DFFFFEF}, + [I(56,159)] = {30,0x1EFFFFEF}, + [I(57,159)] = {30,0x1FFFFFEF}, + [I(58,159)] = {31,0x5CFFFFEF}, + [I(59,159)] = {X32,0xFBFFFFEF}, + [I(60,159)] = {64,0}, + [I(61,159)] = {30,0x20FFFFEF}, + [I(62,159)] = {64,0}, + [I(63,159)] = {64,0}, + [I(64,159)] = {64,0}, + [I(65,159)] = {30,0x21FFFFEF}, + [I(66,159)] = {31,0x5DFFFFEF}, + [I(67,159)] = {31,0x5EFFFFEF}, + [I(68,159)] = {31,0x5FFFFFEF}, + [I(69,159)] = {31,0x60FFFFEF}, + [I(70,159)] = {31,0x61FFFFEF}, + [I(71,159)] = {31,0x62FFFFEF}, + [I(72,159)] = {31,0x63FFFFEF}, + [I(73,159)] = {31,0x64FFFFEF}, + [I(74,159)] = {31,0x65FFFFEF}, + [I(75,159)] = {31,0x66FFFFEF}, + [I(76,159)] = {31,0x67FFFFEF}, + [I(77,159)] = {31,0x68FFFFEF}, + [I(78,159)] = {31,0x69FFFFEF}, + [I(79,159)] = {31,0x6AFFFFEF}, + [I(80,159)] = {31,0x6BFFFFEF}, + [I(81,159)] = {31,0x6CFFFFEF}, + [I(82,159)] = {31,0x6DFFFFEF}, + [I(83,159)] = {31,0x6EFFFFEF}, + [I(84,159)] = {31,0x6FFFFFEF}, + [I(85,159)] = {31,0x70FFFFEF}, + [I(86,159)] = {31,0x71FFFFEF}, + [I(87,159)] = {31,0x72FFFFEF}, + [I(88,159)] = {X32,0xFCFFFFEF}, + [I(89,159)] = {31,0x73FFFFEF}, + [I(90,159)] = {X32,0xFDFFFFEF}, + [I(91,159)] = {64,0}, + [I(92,159)] = {64,0}, + [I(93,159)] = {64,0}, + [I(94,159)] = {64,0}, + [I(95,159)] = {30,0x22FFFFEF}, + [I(96,159)] = {64,0}, + [I(97,159)] = {29,0x3FFFFEF}, + [I(98,159)] = {30,0x23FFFFEF}, + [I(99,159)] = {29,0x4FFFFEF}, + [I(100,159)] = {30,0x24FFFFEF}, + [I(101,159)] = {29,0x5FFFFEF}, + [I(102,159)] = {30,0x25FFFFEF}, + [I(103,159)] = {30,0x26FFFFEF}, + [I(104,159)] = {30,0x27FFFFEF}, + [I(105,159)] = {29,0x6FFFFEF}, + [I(106,159)] = {31,0x74FFFFEF}, + [I(107,159)] = {31,0x75FFFFEF}, + [I(108,159)] = {30,0x28FFFFEF}, + [I(109,159)] = {30,0x29FFFFEF}, + [I(110,159)] = {30,0x2AFFFFEF}, + [I(111,159)] = {29,0x7FFFFEF}, + [I(112,159)] = {30,0x2BFFFFEF}, + [I(113,159)] = {31,0x76FFFFEF}, + [I(114,159)] = {30,0x2CFFFFEF}, + [I(115,159)] = {29,0x8FFFFEF}, + [I(116,159)] = {29,0x9FFFFEF}, + [I(117,159)] = {30,0x2DFFFFEF}, + [I(118,159)] = {31,0x77FFFFEF}, + [I(119,159)] = {31,0x78FFFFEF}, + [I(120,159)] = {31,0x79FFFFEF}, + [I(121,159)] = {31,0x7AFFFFEF}, + [I(122,159)] = {31,0x7BFFFFEF}, + [I(123,159)] = {64,0}, + [I(124,159)] = {64,0}, + [I(125,159)] = {64,0}, + [I(126,159)] = {64,0}, + [I(127,159)] = {64,0}, + [I(128,159)] = {64,0}, + [I(129,159)] = {64,0}, + [I(130,159)] = {64,0}, + [I(131,159)] = {64,0}, + [I(132,159)] = {64,0}, + [I(133,159)] = {64,0}, + [I(134,159)] = {64,0}, + [I(135,159)] = {64,0}, + [I(136,159)] = {64,0}, + [I(137,159)] = {64,0}, + [I(138,159)] = {64,0}, + [I(139,159)] = {64,0}, + [I(140,159)] = {64,0}, + [I(141,159)] = {64,0}, + [I(142,159)] = {64,0}, + [I(143,159)] = {64,0}, + [I(144,159)] = {64,0}, + [I(145,159)] = {64,0}, + [I(146,159)] = {64,0}, + [I(147,159)] = {64,0}, + [I(148,159)] = {64,0}, + [I(149,159)] = {64,0}, + [I(150,159)] = {64,0}, + [I(151,159)] = {64,0}, + [I(152,159)] = {64,0}, + [I(153,159)] = {64,0}, + [I(154,159)] = {64,0}, + [I(155,159)] = {64,0}, + [I(156,159)] = {64,0}, + [I(157,159)] = {64,0}, + [I(158,159)] = {64,0}, + [I(159,159)] = {64,0}, + [I(160,159)] = {64,0}, + [I(161,159)] = {64,0}, + [I(162,159)] = {64,0}, + [I(163,159)] = {64,0}, + [I(164,159)] = {64,0}, + [I(165,159)] = {64,0}, + [I(166,159)] = {64,0}, + [I(167,159)] = {64,0}, + [I(168,159)] = {64,0}, + [I(169,159)] = {64,0}, + [I(170,159)] = {64,0}, + [I(171,159)] = {64,0}, + [I(172,159)] = {64,0}, + [I(173,159)] = {64,0}, + [I(174,159)] = {64,0}, + [I(175,159)] = {64,0}, + [I(176,159)] = {64,0}, + [I(177,159)] = {64,0}, + [I(178,159)] = {64,0}, + [I(179,159)] = {64,0}, + [I(180,159)] = {64,0}, + [I(181,159)] = {64,0}, + [I(182,159)] = {64,0}, + [I(183,159)] = {64,0}, + [I(184,159)] = {64,0}, + [I(185,159)] = {64,0}, + [I(186,159)] = {64,0}, + [I(187,159)] = {64,0}, + [I(188,159)] = {64,0}, + [I(189,159)] = {64,0}, + [I(190,159)] = {64,0}, + [I(191,159)] = {64,0}, + [I(192,159)] = {64,0}, + [I(193,159)] = {64,0}, + [I(194,159)] = {64,0}, + [I(195,159)] = {64,0}, + [I(196,159)] = {64,0}, + [I(197,159)] = {64,0}, + [I(198,159)] = {64,0}, + [I(199,159)] = {64,0}, + [I(200,159)] = {64,0}, + [I(201,159)] = {64,0}, + [I(202,159)] = {64,0}, + [I(203,159)] = {64,0}, + [I(204,159)] = {64,0}, + [I(205,159)] = {64,0}, + [I(206,159)] = {64,0}, + [I(207,159)] = {64,0}, + [I(208,159)] = {64,0}, + [I(209,159)] = {64,0}, + [I(210,159)] = {64,0}, + [I(211,159)] = {64,0}, + [I(212,159)] = {64,0}, + [I(213,159)] = {64,0}, + [I(214,159)] = {64,0}, + [I(215,159)] = {64,0}, + [I(216,159)] = {64,0}, + [I(217,159)] = {64,0}, + [I(218,159)] = {64,0}, + [I(219,159)] = {64,0}, + [I(220,159)] = {64,0}, + [I(221,159)] = {64,0}, + [I(222,159)] = {64,0}, + [I(223,159)] = {64,0}, + [I(224,159)] = {64,0}, + [I(225,159)] = {64,0}, + [I(226,159)] = {64,0}, + [I(227,159)] = {64,0}, + [I(228,159)] = {64,0}, + [I(229,159)] = {64,0}, + [I(230,159)] = {64,0}, + [I(231,159)] = {64,0}, + [I(232,159)] = {64,0}, + [I(233,159)] = {64,0}, + [I(234,159)] = {64,0}, + [I(235,159)] = {64,0}, + [I(236,159)] = {64,0}, + [I(237,159)] = {64,0}, + [I(238,159)] = {64,0}, + [I(239,159)] = {64,0}, + [I(240,159)] = {64,0}, + [I(241,159)] = {64,0}, + [I(242,159)] = {64,0}, + [I(243,159)] = {64,0}, + [I(244,159)] = {64,0}, + [I(245,159)] = {64,0}, + [I(246,159)] = {64,0}, + [I(247,159)] = {64,0}, + [I(248,159)] = {64,0}, + [I(249,159)] = {64,0}, + [I(250,159)] = {64,0}, + [I(251,159)] = {64,0}, + [I(252,159)] = {64,0}, + [I(253,159)] = {64,0}, + [I(254,159)] = {64,0}, + [I(255,159)] = {64,0}, + [I(0,160)] = {64,0}, + [I(1,160)] = {64,0}, + [I(2,160)] = {64,0}, + [I(3,160)] = {64,0}, + [I(4,160)] = {64,0}, + [I(5,160)] = {64,0}, + [I(6,160)] = {64,0}, + [I(7,160)] = {64,0}, + [I(8,160)] = {64,0}, + [I(9,160)] = {64,0}, + [I(10,160)] = {64,0}, + [I(11,160)] = {64,0}, + [I(12,160)] = {64,0}, + [I(13,160)] = {64,0}, + [I(14,160)] = {64,0}, + [I(15,160)] = {64,0}, + [I(16,160)] = {64,0}, + [I(17,160)] = {64,0}, + [I(18,160)] = {64,0}, + [I(19,160)] = {64,0}, + [I(20,160)] = {64,0}, + [I(21,160)] = {64,0}, + [I(22,160)] = {64,0}, + [I(23,160)] = {64,0}, + [I(24,160)] = {64,0}, + [I(25,160)] = {64,0}, + [I(26,160)] = {64,0}, + [I(27,160)] = {64,0}, + [I(28,160)] = {64,0}, + [I(29,160)] = {64,0}, + [I(30,160)] = {64,0}, + [I(31,160)] = {64,0}, + [I(32,160)] = {28,0x53FFFDA}, + [I(33,160)] = {X32,0xFE3FFFDA}, + [I(34,160)] = {X32,0xFE7FFFDA}, + [I(35,160)] = {64,0}, + [I(36,160)] = {64,0}, + [I(37,160)] = {28,0x57FFFDA}, + [I(38,160)] = {30,0x3E3FFFDA}, + [I(39,160)] = {64,0}, + [I(40,160)] = {X32,0xFEBFFFDA}, + [I(41,160)] = {X32,0xFEFFFFDA}, + [I(42,160)] = {30,0x3E7FFFDA}, + [I(43,160)] = {64,0}, + [I(44,160)] = {30,0x3EBFFFDA}, + [I(45,160)] = {28,0x5BFFFDA}, + [I(46,160)] = {28,0x5FFFFDA}, + [I(47,160)] = {28,0x63FFFDA}, + [I(48,160)] = {27,0x3FFFDA}, + [I(49,160)] = {27,0x7FFFDA}, + [I(50,160)] = {27,0xBFFFDA}, + [I(51,160)] = {28,0x67FFFDA}, + [I(52,160)] = {28,0x6BFFFDA}, + [I(53,160)] = {28,0x6FFFFDA}, + [I(54,160)] = {28,0x73FFFDA}, + [I(55,160)] = {28,0x77FFFDA}, + [I(56,160)] = {28,0x7BFFFDA}, + [I(57,160)] = {28,0x7FFFFDA}, + [I(58,160)] = {29,0x173FFFDA}, + [I(59,160)] = {30,0x3EFFFFDA}, + [I(60,160)] = {64,0}, + [I(61,160)] = {28,0x83FFFDA}, + [I(62,160)] = {64,0}, + [I(63,160)] = {X32,0xFF3FFFDA}, + [I(64,160)] = {64,0}, + [I(65,160)] = {28,0x87FFFDA}, + [I(66,160)] = {29,0x177FFFDA}, + [I(67,160)] = {29,0x17BFFFDA}, + [I(68,160)] = {29,0x17FFFFDA}, + [I(69,160)] = {29,0x183FFFDA}, + [I(70,160)] = {29,0x187FFFDA}, + [I(71,160)] = {29,0x18BFFFDA}, + [I(72,160)] = {29,0x18FFFFDA}, + [I(73,160)] = {29,0x193FFFDA}, + [I(74,160)] = {29,0x197FFFDA}, + [I(75,160)] = {29,0x19BFFFDA}, + [I(76,160)] = {29,0x19FFFFDA}, + [I(77,160)] = {29,0x1A3FFFDA}, + [I(78,160)] = {29,0x1A7FFFDA}, + [I(79,160)] = {29,0x1ABFFFDA}, + [I(80,160)] = {29,0x1AFFFFDA}, + [I(81,160)] = {29,0x1B3FFFDA}, + [I(82,160)] = {29,0x1B7FFFDA}, + [I(83,160)] = {29,0x1BBFFFDA}, + [I(84,160)] = {29,0x1BFFFFDA}, + [I(85,160)] = {29,0x1C3FFFDA}, + [I(86,160)] = {29,0x1C7FFFDA}, + [I(87,160)] = {29,0x1CBFFFDA}, + [I(88,160)] = {30,0x3F3FFFDA}, + [I(89,160)] = {29,0x1CFFFFDA}, + [I(90,160)] = {30,0x3F7FFFDA}, + [I(91,160)] = {64,0}, + [I(92,160)] = {64,0}, + [I(93,160)] = {64,0}, + [I(94,160)] = {64,0}, + [I(95,160)] = {28,0x8BFFFDA}, + [I(96,160)] = {64,0}, + [I(97,160)] = {27,0xFFFFDA}, + [I(98,160)] = {28,0x8FFFFDA}, + [I(99,160)] = {27,0x13FFFDA}, + [I(100,160)] = {28,0x93FFFDA}, + [I(101,160)] = {27,0x17FFFDA}, + [I(102,160)] = {28,0x97FFFDA}, + [I(103,160)] = {28,0x9BFFFDA}, + [I(104,160)] = {28,0x9FFFFDA}, + [I(105,160)] = {27,0x1BFFFDA}, + [I(106,160)] = {29,0x1D3FFFDA}, + [I(107,160)] = {29,0x1D7FFFDA}, + [I(108,160)] = {28,0xA3FFFDA}, + [I(109,160)] = {28,0xA7FFFDA}, + [I(110,160)] = {28,0xABFFFDA}, + [I(111,160)] = {27,0x1FFFFDA}, + [I(112,160)] = {28,0xAFFFFDA}, + [I(113,160)] = {29,0x1DBFFFDA}, + [I(114,160)] = {28,0xB3FFFDA}, + [I(115,160)] = {27,0x23FFFDA}, + [I(116,160)] = {27,0x27FFFDA}, + [I(117,160)] = {28,0xB7FFFDA}, + [I(118,160)] = {29,0x1DFFFFDA}, + [I(119,160)] = {29,0x1E3FFFDA}, + [I(120,160)] = {29,0x1E7FFFDA}, + [I(121,160)] = {29,0x1EBFFFDA}, + [I(122,160)] = {29,0x1EFFFFDA}, + [I(123,160)] = {64,0}, + [I(124,160)] = {64,0}, + [I(125,160)] = {64,0}, + [I(126,160)] = {64,0}, + [I(127,160)] = {64,0}, + [I(128,160)] = {64,0}, + [I(129,160)] = {64,0}, + [I(130,160)] = {64,0}, + [I(131,160)] = {64,0}, + [I(132,160)] = {64,0}, + [I(133,160)] = {64,0}, + [I(134,160)] = {64,0}, + [I(135,160)] = {64,0}, + [I(136,160)] = {64,0}, + [I(137,160)] = {64,0}, + [I(138,160)] = {64,0}, + [I(139,160)] = {64,0}, + [I(140,160)] = {64,0}, + [I(141,160)] = {64,0}, + [I(142,160)] = {64,0}, + [I(143,160)] = {64,0}, + [I(144,160)] = {64,0}, + [I(145,160)] = {64,0}, + [I(146,160)] = {64,0}, + [I(147,160)] = {64,0}, + [I(148,160)] = {64,0}, + [I(149,160)] = {64,0}, + [I(150,160)] = {64,0}, + [I(151,160)] = {64,0}, + [I(152,160)] = {64,0}, + [I(153,160)] = {64,0}, + [I(154,160)] = {64,0}, + [I(155,160)] = {64,0}, + [I(156,160)] = {64,0}, + [I(157,160)] = {64,0}, + [I(158,160)] = {64,0}, + [I(159,160)] = {64,0}, + [I(160,160)] = {64,0}, + [I(161,160)] = {64,0}, + [I(162,160)] = {64,0}, + [I(163,160)] = {64,0}, + [I(164,160)] = {64,0}, + [I(165,160)] = {64,0}, + [I(166,160)] = {64,0}, + [I(167,160)] = {64,0}, + [I(168,160)] = {64,0}, + [I(169,160)] = {64,0}, + [I(170,160)] = {64,0}, + [I(171,160)] = {64,0}, + [I(172,160)] = {64,0}, + [I(173,160)] = {64,0}, + [I(174,160)] = {64,0}, + [I(175,160)] = {64,0}, + [I(176,160)] = {64,0}, + [I(177,160)] = {64,0}, + [I(178,160)] = {64,0}, + [I(179,160)] = {64,0}, + [I(180,160)] = {64,0}, + [I(181,160)] = {64,0}, + [I(182,160)] = {64,0}, + [I(183,160)] = {64,0}, + [I(184,160)] = {64,0}, + [I(185,160)] = {64,0}, + [I(186,160)] = {64,0}, + [I(187,160)] = {64,0}, + [I(188,160)] = {64,0}, + [I(189,160)] = {64,0}, + [I(190,160)] = {64,0}, + [I(191,160)] = {64,0}, + [I(192,160)] = {64,0}, + [I(193,160)] = {64,0}, + [I(194,160)] = {64,0}, + [I(195,160)] = {64,0}, + [I(196,160)] = {64,0}, + [I(197,160)] = {64,0}, + [I(198,160)] = {64,0}, + [I(199,160)] = {64,0}, + [I(200,160)] = {64,0}, + [I(201,160)] = {64,0}, + [I(202,160)] = {64,0}, + [I(203,160)] = {64,0}, + [I(204,160)] = {64,0}, + [I(205,160)] = {64,0}, + [I(206,160)] = {64,0}, + [I(207,160)] = {64,0}, + [I(208,160)] = {64,0}, + [I(209,160)] = {64,0}, + [I(210,160)] = {64,0}, + [I(211,160)] = {64,0}, + [I(212,160)] = {64,0}, + [I(213,160)] = {64,0}, + [I(214,160)] = {64,0}, + [I(215,160)] = {64,0}, + [I(216,160)] = {64,0}, + [I(217,160)] = {64,0}, + [I(218,160)] = {64,0}, + [I(219,160)] = {64,0}, + [I(220,160)] = {64,0}, + [I(221,160)] = {64,0}, + [I(222,160)] = {64,0}, + [I(223,160)] = {64,0}, + [I(224,160)] = {64,0}, + [I(225,160)] = {64,0}, + [I(226,160)] = {64,0}, + [I(227,160)] = {64,0}, + [I(228,160)] = {64,0}, + [I(229,160)] = {64,0}, + [I(230,160)] = {64,0}, + [I(231,160)] = {64,0}, + [I(232,160)] = {64,0}, + [I(233,160)] = {64,0}, + [I(234,160)] = {64,0}, + [I(235,160)] = {64,0}, + [I(236,160)] = {64,0}, + [I(237,160)] = {64,0}, + [I(238,160)] = {64,0}, + [I(239,160)] = {64,0}, + [I(240,160)] = {64,0}, + [I(241,160)] = {64,0}, + [I(242,160)] = {64,0}, + [I(243,160)] = {64,0}, + [I(244,160)] = {64,0}, + [I(245,160)] = {64,0}, + [I(246,160)] = {64,0}, + [I(247,160)] = {64,0}, + [I(248,160)] = {64,0}, + [I(249,160)] = {64,0}, + [I(250,160)] = {64,0}, + [I(251,160)] = {64,0}, + [I(252,160)] = {64,0}, + [I(253,160)] = {64,0}, + [I(254,160)] = {64,0}, + [I(255,160)] = {64,0}, + [I(0,161)] = {64,0}, + [I(1,161)] = {64,0}, + [I(2,161)] = {64,0}, + [I(3,161)] = {64,0}, + [I(4,161)] = {64,0}, + [I(5,161)] = {64,0}, + [I(6,161)] = {64,0}, + [I(7,161)] = {64,0}, + [I(8,161)] = {64,0}, + [I(9,161)] = {64,0}, + [I(10,161)] = {64,0}, + [I(11,161)] = {64,0}, + [I(12,161)] = {64,0}, + [I(13,161)] = {64,0}, + [I(14,161)] = {64,0}, + [I(15,161)] = {64,0}, + [I(16,161)] = {64,0}, + [I(17,161)] = {64,0}, + [I(18,161)] = {64,0}, + [I(19,161)] = {64,0}, + [I(20,161)] = {64,0}, + [I(21,161)] = {64,0}, + [I(22,161)] = {64,0}, + [I(23,161)] = {64,0}, + [I(24,161)] = {64,0}, + [I(25,161)] = {64,0}, + [I(26,161)] = {64,0}, + [I(27,161)] = {64,0}, + [I(28,161)] = {64,0}, + [I(29,161)] = {64,0}, + [I(30,161)] = {64,0}, + [I(31,161)] = {64,0}, + [I(32,161)] = {27,0x29FFFDD}, + [I(33,161)] = {31,0x7F1FFFDD}, + [I(34,161)] = {31,0x7F3FFFDD}, + [I(35,161)] = {64,0}, + [I(36,161)] = {64,0}, + [I(37,161)] = {27,0x2BFFFDD}, + [I(38,161)] = {29,0x1F1FFFDD}, + [I(39,161)] = {X32,0xFF5FFFDD}, + [I(40,161)] = {31,0x7F5FFFDD}, + [I(41,161)] = {31,0x7F7FFFDD}, + [I(42,161)] = {29,0x1F3FFFDD}, + [I(43,161)] = {X32,0xFF7FFFDD}, + [I(44,161)] = {29,0x1F5FFFDD}, + [I(45,161)] = {27,0x2DFFFDD}, + [I(46,161)] = {27,0x2FFFFDD}, + [I(47,161)] = {27,0x31FFFDD}, + [I(48,161)] = {26,0x1FFFDD}, + [I(49,161)] = {26,0x3FFFDD}, + [I(50,161)] = {26,0x5FFFDD}, + [I(51,161)] = {27,0x33FFFDD}, + [I(52,161)] = {27,0x35FFFDD}, + [I(53,161)] = {27,0x37FFFDD}, + [I(54,161)] = {27,0x39FFFDD}, + [I(55,161)] = {27,0x3BFFFDD}, + [I(56,161)] = {27,0x3DFFFDD}, + [I(57,161)] = {27,0x3FFFFDD}, + [I(58,161)] = {28,0xB9FFFDD}, + [I(59,161)] = {29,0x1F7FFFDD}, + [I(60,161)] = {64,0}, + [I(61,161)] = {27,0x41FFFDD}, + [I(62,161)] = {64,0}, + [I(63,161)] = {31,0x7F9FFFDD}, + [I(64,161)] = {64,0}, + [I(65,161)] = {27,0x43FFFDD}, + [I(66,161)] = {28,0xBBFFFDD}, + [I(67,161)] = {28,0xBDFFFDD}, + [I(68,161)] = {28,0xBFFFFDD}, + [I(69,161)] = {28,0xC1FFFDD}, + [I(70,161)] = {28,0xC3FFFDD}, + [I(71,161)] = {28,0xC5FFFDD}, + [I(72,161)] = {28,0xC7FFFDD}, + [I(73,161)] = {28,0xC9FFFDD}, + [I(74,161)] = {28,0xCBFFFDD}, + [I(75,161)] = {28,0xCDFFFDD}, + [I(76,161)] = {28,0xCFFFFDD}, + [I(77,161)] = {28,0xD1FFFDD}, + [I(78,161)] = {28,0xD3FFFDD}, + [I(79,161)] = {28,0xD5FFFDD}, + [I(80,161)] = {28,0xD7FFFDD}, + [I(81,161)] = {28,0xD9FFFDD}, + [I(82,161)] = {28,0xDBFFFDD}, + [I(83,161)] = {28,0xDDFFFDD}, + [I(84,161)] = {28,0xDFFFFDD}, + [I(85,161)] = {28,0xE1FFFDD}, + [I(86,161)] = {28,0xE3FFFDD}, + [I(87,161)] = {28,0xE5FFFDD}, + [I(88,161)] = {29,0x1F9FFFDD}, + [I(89,161)] = {28,0xE7FFFDD}, + [I(90,161)] = {29,0x1FBFFFDD}, + [I(91,161)] = {64,0}, + [I(92,161)] = {64,0}, + [I(93,161)] = {64,0}, + [I(94,161)] = {64,0}, + [I(95,161)] = {27,0x45FFFDD}, + [I(96,161)] = {64,0}, + [I(97,161)] = {26,0x7FFFDD}, + [I(98,161)] = {27,0x47FFFDD}, + [I(99,161)] = {26,0x9FFFDD}, + [I(100,161)] = {27,0x49FFFDD}, + [I(101,161)] = {26,0xBFFFDD}, + [I(102,161)] = {27,0x4BFFFDD}, + [I(103,161)] = {27,0x4DFFFDD}, + [I(104,161)] = {27,0x4FFFFDD}, + [I(105,161)] = {26,0xDFFFDD}, + [I(106,161)] = {28,0xE9FFFDD}, + [I(107,161)] = {28,0xEBFFFDD}, + [I(108,161)] = {27,0x51FFFDD}, + [I(109,161)] = {27,0x53FFFDD}, + [I(110,161)] = {27,0x55FFFDD}, + [I(111,161)] = {26,0xFFFFDD}, + [I(112,161)] = {27,0x57FFFDD}, + [I(113,161)] = {28,0xEDFFFDD}, + [I(114,161)] = {27,0x59FFFDD}, + [I(115,161)] = {26,0x11FFFDD}, + [I(116,161)] = {26,0x13FFFDD}, + [I(117,161)] = {27,0x5BFFFDD}, + [I(118,161)] = {28,0xEFFFFDD}, + [I(119,161)] = {28,0xF1FFFDD}, + [I(120,161)] = {28,0xF3FFFDD}, + [I(121,161)] = {28,0xF5FFFDD}, + [I(122,161)] = {28,0xF7FFFDD}, + [I(123,161)] = {64,0}, + [I(124,161)] = {X32,0xFF9FFFDD}, + [I(125,161)] = {64,0}, + [I(126,161)] = {64,0}, + [I(127,161)] = {64,0}, + [I(128,161)] = {64,0}, + [I(129,161)] = {64,0}, + [I(130,161)] = {64,0}, + [I(131,161)] = {64,0}, + [I(132,161)] = {64,0}, + [I(133,161)] = {64,0}, + [I(134,161)] = {64,0}, + [I(135,161)] = {64,0}, + [I(136,161)] = {64,0}, + [I(137,161)] = {64,0}, + [I(138,161)] = {64,0}, + [I(139,161)] = {64,0}, + [I(140,161)] = {64,0}, + [I(141,161)] = {64,0}, + [I(142,161)] = {64,0}, + [I(143,161)] = {64,0}, + [I(144,161)] = {64,0}, + [I(145,161)] = {64,0}, + [I(146,161)] = {64,0}, + [I(147,161)] = {64,0}, + [I(148,161)] = {64,0}, + [I(149,161)] = {64,0}, + [I(150,161)] = {64,0}, + [I(151,161)] = {64,0}, + [I(152,161)] = {64,0}, + [I(153,161)] = {64,0}, + [I(154,161)] = {64,0}, + [I(155,161)] = {64,0}, + [I(156,161)] = {64,0}, + [I(157,161)] = {64,0}, + [I(158,161)] = {64,0}, + [I(159,161)] = {64,0}, + [I(160,161)] = {64,0}, + [I(161,161)] = {64,0}, + [I(162,161)] = {64,0}, + [I(163,161)] = {64,0}, + [I(164,161)] = {64,0}, + [I(165,161)] = {64,0}, + [I(166,161)] = {64,0}, + [I(167,161)] = {64,0}, + [I(168,161)] = {64,0}, + [I(169,161)] = {64,0}, + [I(170,161)] = {64,0}, + [I(171,161)] = {64,0}, + [I(172,161)] = {64,0}, + [I(173,161)] = {64,0}, + [I(174,161)] = {64,0}, + [I(175,161)] = {64,0}, + [I(176,161)] = {64,0}, + [I(177,161)] = {64,0}, + [I(178,161)] = {64,0}, + [I(179,161)] = {64,0}, + [I(180,161)] = {64,0}, + [I(181,161)] = {64,0}, + [I(182,161)] = {64,0}, + [I(183,161)] = {64,0}, + [I(184,161)] = {64,0}, + [I(185,161)] = {64,0}, + [I(186,161)] = {64,0}, + [I(187,161)] = {64,0}, + [I(188,161)] = {64,0}, + [I(189,161)] = {64,0}, + [I(190,161)] = {64,0}, + [I(191,161)] = {64,0}, + [I(192,161)] = {64,0}, + [I(193,161)] = {64,0}, + [I(194,161)] = {64,0}, + [I(195,161)] = {64,0}, + [I(196,161)] = {64,0}, + [I(197,161)] = {64,0}, + [I(198,161)] = {64,0}, + [I(199,161)] = {64,0}, + [I(200,161)] = {64,0}, + [I(201,161)] = {64,0}, + [I(202,161)] = {64,0}, + [I(203,161)] = {64,0}, + [I(204,161)] = {64,0}, + [I(205,161)] = {64,0}, + [I(206,161)] = {64,0}, + [I(207,161)] = {64,0}, + [I(208,161)] = {64,0}, + [I(209,161)] = {64,0}, + [I(210,161)] = {64,0}, + [I(211,161)] = {64,0}, + [I(212,161)] = {64,0}, + [I(213,161)] = {64,0}, + [I(214,161)] = {64,0}, + [I(215,161)] = {64,0}, + [I(216,161)] = {64,0}, + [I(217,161)] = {64,0}, + [I(218,161)] = {64,0}, + [I(219,161)] = {64,0}, + [I(220,161)] = {64,0}, + [I(221,161)] = {64,0}, + [I(222,161)] = {64,0}, + [I(223,161)] = {64,0}, + [I(224,161)] = {64,0}, + [I(225,161)] = {64,0}, + [I(226,161)] = {64,0}, + [I(227,161)] = {64,0}, + [I(228,161)] = {64,0}, + [I(229,161)] = {64,0}, + [I(230,161)] = {64,0}, + [I(231,161)] = {64,0}, + [I(232,161)] = {64,0}, + [I(233,161)] = {64,0}, + [I(234,161)] = {64,0}, + [I(235,161)] = {64,0}, + [I(236,161)] = {64,0}, + [I(237,161)] = {64,0}, + [I(238,161)] = {64,0}, + [I(239,161)] = {64,0}, + [I(240,161)] = {64,0}, + [I(241,161)] = {64,0}, + [I(242,161)] = {64,0}, + [I(243,161)] = {64,0}, + [I(244,161)] = {64,0}, + [I(245,161)] = {64,0}, + [I(246,161)] = {64,0}, + [I(247,161)] = {64,0}, + [I(248,161)] = {64,0}, + [I(249,161)] = {64,0}, + [I(250,161)] = {64,0}, + [I(251,161)] = {64,0}, + [I(252,161)] = {64,0}, + [I(253,161)] = {64,0}, + [I(254,161)] = {64,0}, + [I(255,161)] = {64,0}, + [I(0,162)] = {64,0}, + [I(1,162)] = {64,0}, + [I(2,162)] = {64,0}, + [I(3,162)] = {64,0}, + [I(4,162)] = {64,0}, + [I(5,162)] = {64,0}, + [I(6,162)] = {64,0}, + [I(7,162)] = {64,0}, + [I(8,162)] = {64,0}, + [I(9,162)] = {64,0}, + [I(10,162)] = {64,0}, + [I(11,162)] = {64,0}, + [I(12,162)] = {64,0}, + [I(13,162)] = {64,0}, + [I(14,162)] = {64,0}, + [I(15,162)] = {64,0}, + [I(16,162)] = {64,0}, + [I(17,162)] = {64,0}, + [I(18,162)] = {64,0}, + [I(19,162)] = {64,0}, + [I(20,162)] = {64,0}, + [I(21,162)] = {64,0}, + [I(22,162)] = {64,0}, + [I(23,162)] = {64,0}, + [I(24,162)] = {64,0}, + [I(25,162)] = {64,0}, + [I(26,162)] = {64,0}, + [I(27,162)] = {64,0}, + [I(28,162)] = {64,0}, + [I(29,162)] = {64,0}, + [I(30,162)] = {64,0}, + [I(31,162)] = {64,0}, + [I(32,162)] = {26,0x14FFFE9}, + [I(33,162)] = {30,0x3F8FFFE9}, + [I(34,162)] = {30,0x3F9FFFE9}, + [I(35,162)] = {X32,0xFFAFFFE9}, + [I(36,162)] = {64,0}, + [I(37,162)] = {26,0x15FFFE9}, + [I(38,162)] = {28,0xF8FFFE9}, + [I(39,162)] = {31,0x7FAFFFE9}, + [I(40,162)] = {30,0x3FAFFFE9}, + [I(41,162)] = {30,0x3FBFFFE9}, + [I(42,162)] = {28,0xF9FFFE9}, + [I(43,162)] = {31,0x7FBFFFE9}, + [I(44,162)] = {28,0xFAFFFE9}, + [I(45,162)] = {26,0x16FFFE9}, + [I(46,162)] = {26,0x17FFFE9}, + [I(47,162)] = {26,0x18FFFE9}, + [I(48,162)] = {25,0xFFFE9}, + [I(49,162)] = {25,0x1FFFE9}, + [I(50,162)] = {25,0x2FFFE9}, + [I(51,162)] = {26,0x19FFFE9}, + [I(52,162)] = {26,0x1AFFFE9}, + [I(53,162)] = {26,0x1BFFFE9}, + [I(54,162)] = {26,0x1CFFFE9}, + [I(55,162)] = {26,0x1DFFFE9}, + [I(56,162)] = {26,0x1EFFFE9}, + [I(57,162)] = {26,0x1FFFFE9}, + [I(58,162)] = {27,0x5CFFFE9}, + [I(59,162)] = {28,0xFBFFFE9}, + [I(60,162)] = {64,0}, + [I(61,162)] = {26,0x20FFFE9}, + [I(62,162)] = {X32,0xFFBFFFE9}, + [I(63,162)] = {30,0x3FCFFFE9}, + [I(64,162)] = {64,0}, + [I(65,162)] = {26,0x21FFFE9}, + [I(66,162)] = {27,0x5DFFFE9}, + [I(67,162)] = {27,0x5EFFFE9}, + [I(68,162)] = {27,0x5FFFFE9}, + [I(69,162)] = {27,0x60FFFE9}, + [I(70,162)] = {27,0x61FFFE9}, + [I(71,162)] = {27,0x62FFFE9}, + [I(72,162)] = {27,0x63FFFE9}, + [I(73,162)] = {27,0x64FFFE9}, + [I(74,162)] = {27,0x65FFFE9}, + [I(75,162)] = {27,0x66FFFE9}, + [I(76,162)] = {27,0x67FFFE9}, + [I(77,162)] = {27,0x68FFFE9}, + [I(78,162)] = {27,0x69FFFE9}, + [I(79,162)] = {27,0x6AFFFE9}, + [I(80,162)] = {27,0x6BFFFE9}, + [I(81,162)] = {27,0x6CFFFE9}, + [I(82,162)] = {27,0x6DFFFE9}, + [I(83,162)] = {27,0x6EFFFE9}, + [I(84,162)] = {27,0x6FFFFE9}, + [I(85,162)] = {27,0x70FFFE9}, + [I(86,162)] = {27,0x71FFFE9}, + [I(87,162)] = {27,0x72FFFE9}, + [I(88,162)] = {28,0xFCFFFE9}, + [I(89,162)] = {27,0x73FFFE9}, + [I(90,162)] = {28,0xFDFFFE9}, + [I(91,162)] = {64,0}, + [I(92,162)] = {64,0}, + [I(93,162)] = {64,0}, + [I(94,162)] = {64,0}, + [I(95,162)] = {26,0x22FFFE9}, + [I(96,162)] = {64,0}, + [I(97,162)] = {25,0x3FFFE9}, + [I(98,162)] = {26,0x23FFFE9}, + [I(99,162)] = {25,0x4FFFE9}, + [I(100,162)] = {26,0x24FFFE9}, + [I(101,162)] = {25,0x5FFFE9}, + [I(102,162)] = {26,0x25FFFE9}, + [I(103,162)] = {26,0x26FFFE9}, + [I(104,162)] = {26,0x27FFFE9}, + [I(105,162)] = {25,0x6FFFE9}, + [I(106,162)] = {27,0x74FFFE9}, + [I(107,162)] = {27,0x75FFFE9}, + [I(108,162)] = {26,0x28FFFE9}, + [I(109,162)] = {26,0x29FFFE9}, + [I(110,162)] = {26,0x2AFFFE9}, + [I(111,162)] = {25,0x7FFFE9}, + [I(112,162)] = {26,0x2BFFFE9}, + [I(113,162)] = {27,0x76FFFE9}, + [I(114,162)] = {26,0x2CFFFE9}, + [I(115,162)] = {25,0x8FFFE9}, + [I(116,162)] = {25,0x9FFFE9}, + [I(117,162)] = {26,0x2DFFFE9}, + [I(118,162)] = {27,0x77FFFE9}, + [I(119,162)] = {27,0x78FFFE9}, + [I(120,162)] = {27,0x79FFFE9}, + [I(121,162)] = {27,0x7AFFFE9}, + [I(122,162)] = {27,0x7BFFFE9}, + [I(123,162)] = {64,0}, + [I(124,162)] = {31,0x7FCFFFE9}, + [I(125,162)] = {64,0}, + [I(126,162)] = {64,0}, + [I(127,162)] = {64,0}, + [I(128,162)] = {64,0}, + [I(129,162)] = {64,0}, + [I(130,162)] = {64,0}, + [I(131,162)] = {64,0}, + [I(132,162)] = {64,0}, + [I(133,162)] = {64,0}, + [I(134,162)] = {64,0}, + [I(135,162)] = {64,0}, + [I(136,162)] = {64,0}, + [I(137,162)] = {64,0}, + [I(138,162)] = {64,0}, + [I(139,162)] = {64,0}, + [I(140,162)] = {64,0}, + [I(141,162)] = {64,0}, + [I(142,162)] = {64,0}, + [I(143,162)] = {64,0}, + [I(144,162)] = {64,0}, + [I(145,162)] = {64,0}, + [I(146,162)] = {64,0}, + [I(147,162)] = {64,0}, + [I(148,162)] = {64,0}, + [I(149,162)] = {64,0}, + [I(150,162)] = {64,0}, + [I(151,162)] = {64,0}, + [I(152,162)] = {64,0}, + [I(153,162)] = {64,0}, + [I(154,162)] = {64,0}, + [I(155,162)] = {64,0}, + [I(156,162)] = {64,0}, + [I(157,162)] = {64,0}, + [I(158,162)] = {64,0}, + [I(159,162)] = {64,0}, + [I(160,162)] = {64,0}, + [I(161,162)] = {64,0}, + [I(162,162)] = {64,0}, + [I(163,162)] = {64,0}, + [I(164,162)] = {64,0}, + [I(165,162)] = {64,0}, + [I(166,162)] = {64,0}, + [I(167,162)] = {64,0}, + [I(168,162)] = {64,0}, + [I(169,162)] = {64,0}, + [I(170,162)] = {64,0}, + [I(171,162)] = {64,0}, + [I(172,162)] = {64,0}, + [I(173,162)] = {64,0}, + [I(174,162)] = {64,0}, + [I(175,162)] = {64,0}, + [I(176,162)] = {64,0}, + [I(177,162)] = {64,0}, + [I(178,162)] = {64,0}, + [I(179,162)] = {64,0}, + [I(180,162)] = {64,0}, + [I(181,162)] = {64,0}, + [I(182,162)] = {64,0}, + [I(183,162)] = {64,0}, + [I(184,162)] = {64,0}, + [I(185,162)] = {64,0}, + [I(186,162)] = {64,0}, + [I(187,162)] = {64,0}, + [I(188,162)] = {64,0}, + [I(189,162)] = {64,0}, + [I(190,162)] = {64,0}, + [I(191,162)] = {64,0}, + [I(192,162)] = {64,0}, + [I(193,162)] = {64,0}, + [I(194,162)] = {64,0}, + [I(195,162)] = {64,0}, + [I(196,162)] = {64,0}, + [I(197,162)] = {64,0}, + [I(198,162)] = {64,0}, + [I(199,162)] = {64,0}, + [I(200,162)] = {64,0}, + [I(201,162)] = {64,0}, + [I(202,162)] = {64,0}, + [I(203,162)] = {64,0}, + [I(204,162)] = {64,0}, + [I(205,162)] = {64,0}, + [I(206,162)] = {64,0}, + [I(207,162)] = {64,0}, + [I(208,162)] = {64,0}, + [I(209,162)] = {64,0}, + [I(210,162)] = {64,0}, + [I(211,162)] = {64,0}, + [I(212,162)] = {64,0}, + [I(213,162)] = {64,0}, + [I(214,162)] = {64,0}, + [I(215,162)] = {64,0}, + [I(216,162)] = {64,0}, + [I(217,162)] = {64,0}, + [I(218,162)] = {64,0}, + [I(219,162)] = {64,0}, + [I(220,162)] = {64,0}, + [I(221,162)] = {64,0}, + [I(222,162)] = {64,0}, + [I(223,162)] = {64,0}, + [I(224,162)] = {64,0}, + [I(225,162)] = {64,0}, + [I(226,162)] = {64,0}, + [I(227,162)] = {64,0}, + [I(228,162)] = {64,0}, + [I(229,162)] = {64,0}, + [I(230,162)] = {64,0}, + [I(231,162)] = {64,0}, + [I(232,162)] = {64,0}, + [I(233,162)] = {64,0}, + [I(234,162)] = {64,0}, + [I(235,162)] = {64,0}, + [I(236,162)] = {64,0}, + [I(237,162)] = {64,0}, + [I(238,162)] = {64,0}, + [I(239,162)] = {64,0}, + [I(240,162)] = {64,0}, + [I(241,162)] = {64,0}, + [I(242,162)] = {64,0}, + [I(243,162)] = {64,0}, + [I(244,162)] = {64,0}, + [I(245,162)] = {64,0}, + [I(246,162)] = {64,0}, + [I(247,162)] = {64,0}, + [I(248,162)] = {64,0}, + [I(249,162)] = {64,0}, + [I(250,162)] = {64,0}, + [I(251,162)] = {64,0}, + [I(252,162)] = {64,0}, + [I(253,162)] = {64,0}, + [I(254,162)] = {64,0}, + [I(255,162)] = {64,0}, + [I(0,163)] = {64,0}, + [I(1,163)] = {64,0}, + [I(2,163)] = {64,0}, + [I(3,163)] = {64,0}, + [I(4,163)] = {64,0}, + [I(5,163)] = {64,0}, + [I(6,163)] = {64,0}, + [I(7,163)] = {64,0}, + [I(8,163)] = {64,0}, + [I(9,163)] = {64,0}, + [I(10,163)] = {64,0}, + [I(11,163)] = {64,0}, + [I(12,163)] = {64,0}, + [I(13,163)] = {64,0}, + [I(14,163)] = {64,0}, + [I(15,163)] = {64,0}, + [I(16,163)] = {64,0}, + [I(17,163)] = {64,0}, + [I(18,163)] = {64,0}, + [I(19,163)] = {64,0}, + [I(20,163)] = {64,0}, + [I(21,163)] = {64,0}, + [I(22,163)] = {64,0}, + [I(23,163)] = {64,0}, + [I(24,163)] = {64,0}, + [I(25,163)] = {64,0}, + [I(26,163)] = {64,0}, + [I(27,163)] = {64,0}, + [I(28,163)] = {64,0}, + [I(29,163)] = {64,0}, + [I(30,163)] = {64,0}, + [I(31,163)] = {64,0}, + [I(32,163)] = {28,0x53FFFDB}, + [I(33,163)] = {X32,0xFE3FFFDB}, + [I(34,163)] = {X32,0xFE7FFFDB}, + [I(35,163)] = {64,0}, + [I(36,163)] = {64,0}, + [I(37,163)] = {28,0x57FFFDB}, + [I(38,163)] = {30,0x3E3FFFDB}, + [I(39,163)] = {64,0}, + [I(40,163)] = {X32,0xFEBFFFDB}, + [I(41,163)] = {X32,0xFEFFFFDB}, + [I(42,163)] = {30,0x3E7FFFDB}, + [I(43,163)] = {64,0}, + [I(44,163)] = {30,0x3EBFFFDB}, + [I(45,163)] = {28,0x5BFFFDB}, + [I(46,163)] = {28,0x5FFFFDB}, + [I(47,163)] = {28,0x63FFFDB}, + [I(48,163)] = {27,0x3FFFDB}, + [I(49,163)] = {27,0x7FFFDB}, + [I(50,163)] = {27,0xBFFFDB}, + [I(51,163)] = {28,0x67FFFDB}, + [I(52,163)] = {28,0x6BFFFDB}, + [I(53,163)] = {28,0x6FFFFDB}, + [I(54,163)] = {28,0x73FFFDB}, + [I(55,163)] = {28,0x77FFFDB}, + [I(56,163)] = {28,0x7BFFFDB}, + [I(57,163)] = {28,0x7FFFFDB}, + [I(58,163)] = {29,0x173FFFDB}, + [I(59,163)] = {30,0x3EFFFFDB}, + [I(60,163)] = {64,0}, + [I(61,163)] = {28,0x83FFFDB}, + [I(62,163)] = {64,0}, + [I(63,163)] = {X32,0xFF3FFFDB}, + [I(64,163)] = {64,0}, + [I(65,163)] = {28,0x87FFFDB}, + [I(66,163)] = {29,0x177FFFDB}, + [I(67,163)] = {29,0x17BFFFDB}, + [I(68,163)] = {29,0x17FFFFDB}, + [I(69,163)] = {29,0x183FFFDB}, + [I(70,163)] = {29,0x187FFFDB}, + [I(71,163)] = {29,0x18BFFFDB}, + [I(72,163)] = {29,0x18FFFFDB}, + [I(73,163)] = {29,0x193FFFDB}, + [I(74,163)] = {29,0x197FFFDB}, + [I(75,163)] = {29,0x19BFFFDB}, + [I(76,163)] = {29,0x19FFFFDB}, + [I(77,163)] = {29,0x1A3FFFDB}, + [I(78,163)] = {29,0x1A7FFFDB}, + [I(79,163)] = {29,0x1ABFFFDB}, + [I(80,163)] = {29,0x1AFFFFDB}, + [I(81,163)] = {29,0x1B3FFFDB}, + [I(82,163)] = {29,0x1B7FFFDB}, + [I(83,163)] = {29,0x1BBFFFDB}, + [I(84,163)] = {29,0x1BFFFFDB}, + [I(85,163)] = {29,0x1C3FFFDB}, + [I(86,163)] = {29,0x1C7FFFDB}, + [I(87,163)] = {29,0x1CBFFFDB}, + [I(88,163)] = {30,0x3F3FFFDB}, + [I(89,163)] = {29,0x1CFFFFDB}, + [I(90,163)] = {30,0x3F7FFFDB}, + [I(91,163)] = {64,0}, + [I(92,163)] = {64,0}, + [I(93,163)] = {64,0}, + [I(94,163)] = {64,0}, + [I(95,163)] = {28,0x8BFFFDB}, + [I(96,163)] = {64,0}, + [I(97,163)] = {27,0xFFFFDB}, + [I(98,163)] = {28,0x8FFFFDB}, + [I(99,163)] = {27,0x13FFFDB}, + [I(100,163)] = {28,0x93FFFDB}, + [I(101,163)] = {27,0x17FFFDB}, + [I(102,163)] = {28,0x97FFFDB}, + [I(103,163)] = {28,0x9BFFFDB}, + [I(104,163)] = {28,0x9FFFFDB}, + [I(105,163)] = {27,0x1BFFFDB}, + [I(106,163)] = {29,0x1D3FFFDB}, + [I(107,163)] = {29,0x1D7FFFDB}, + [I(108,163)] = {28,0xA3FFFDB}, + [I(109,163)] = {28,0xA7FFFDB}, + [I(110,163)] = {28,0xABFFFDB}, + [I(111,163)] = {27,0x1FFFFDB}, + [I(112,163)] = {28,0xAFFFFDB}, + [I(113,163)] = {29,0x1DBFFFDB}, + [I(114,163)] = {28,0xB3FFFDB}, + [I(115,163)] = {27,0x23FFFDB}, + [I(116,163)] = {27,0x27FFFDB}, + [I(117,163)] = {28,0xB7FFFDB}, + [I(118,163)] = {29,0x1DFFFFDB}, + [I(119,163)] = {29,0x1E3FFFDB}, + [I(120,163)] = {29,0x1E7FFFDB}, + [I(121,163)] = {29,0x1EBFFFDB}, + [I(122,163)] = {29,0x1EFFFFDB}, + [I(123,163)] = {64,0}, + [I(124,163)] = {64,0}, + [I(125,163)] = {64,0}, + [I(126,163)] = {64,0}, + [I(127,163)] = {64,0}, + [I(128,163)] = {64,0}, + [I(129,163)] = {64,0}, + [I(130,163)] = {64,0}, + [I(131,163)] = {64,0}, + [I(132,163)] = {64,0}, + [I(133,163)] = {64,0}, + [I(134,163)] = {64,0}, + [I(135,163)] = {64,0}, + [I(136,163)] = {64,0}, + [I(137,163)] = {64,0}, + [I(138,163)] = {64,0}, + [I(139,163)] = {64,0}, + [I(140,163)] = {64,0}, + [I(141,163)] = {64,0}, + [I(142,163)] = {64,0}, + [I(143,163)] = {64,0}, + [I(144,163)] = {64,0}, + [I(145,163)] = {64,0}, + [I(146,163)] = {64,0}, + [I(147,163)] = {64,0}, + [I(148,163)] = {64,0}, + [I(149,163)] = {64,0}, + [I(150,163)] = {64,0}, + [I(151,163)] = {64,0}, + [I(152,163)] = {64,0}, + [I(153,163)] = {64,0}, + [I(154,163)] = {64,0}, + [I(155,163)] = {64,0}, + [I(156,163)] = {64,0}, + [I(157,163)] = {64,0}, + [I(158,163)] = {64,0}, + [I(159,163)] = {64,0}, + [I(160,163)] = {64,0}, + [I(161,163)] = {64,0}, + [I(162,163)] = {64,0}, + [I(163,163)] = {64,0}, + [I(164,163)] = {64,0}, + [I(165,163)] = {64,0}, + [I(166,163)] = {64,0}, + [I(167,163)] = {64,0}, + [I(168,163)] = {64,0}, + [I(169,163)] = {64,0}, + [I(170,163)] = {64,0}, + [I(171,163)] = {64,0}, + [I(172,163)] = {64,0}, + [I(173,163)] = {64,0}, + [I(174,163)] = {64,0}, + [I(175,163)] = {64,0}, + [I(176,163)] = {64,0}, + [I(177,163)] = {64,0}, + [I(178,163)] = {64,0}, + [I(179,163)] = {64,0}, + [I(180,163)] = {64,0}, + [I(181,163)] = {64,0}, + [I(182,163)] = {64,0}, + [I(183,163)] = {64,0}, + [I(184,163)] = {64,0}, + [I(185,163)] = {64,0}, + [I(186,163)] = {64,0}, + [I(187,163)] = {64,0}, + [I(188,163)] = {64,0}, + [I(189,163)] = {64,0}, + [I(190,163)] = {64,0}, + [I(191,163)] = {64,0}, + [I(192,163)] = {64,0}, + [I(193,163)] = {64,0}, + [I(194,163)] = {64,0}, + [I(195,163)] = {64,0}, + [I(196,163)] = {64,0}, + [I(197,163)] = {64,0}, + [I(198,163)] = {64,0}, + [I(199,163)] = {64,0}, + [I(200,163)] = {64,0}, + [I(201,163)] = {64,0}, + [I(202,163)] = {64,0}, + [I(203,163)] = {64,0}, + [I(204,163)] = {64,0}, + [I(205,163)] = {64,0}, + [I(206,163)] = {64,0}, + [I(207,163)] = {64,0}, + [I(208,163)] = {64,0}, + [I(209,163)] = {64,0}, + [I(210,163)] = {64,0}, + [I(211,163)] = {64,0}, + [I(212,163)] = {64,0}, + [I(213,163)] = {64,0}, + [I(214,163)] = {64,0}, + [I(215,163)] = {64,0}, + [I(216,163)] = {64,0}, + [I(217,163)] = {64,0}, + [I(218,163)] = {64,0}, + [I(219,163)] = {64,0}, + [I(220,163)] = {64,0}, + [I(221,163)] = {64,0}, + [I(222,163)] = {64,0}, + [I(223,163)] = {64,0}, + [I(224,163)] = {64,0}, + [I(225,163)] = {64,0}, + [I(226,163)] = {64,0}, + [I(227,163)] = {64,0}, + [I(228,163)] = {64,0}, + [I(229,163)] = {64,0}, + [I(230,163)] = {64,0}, + [I(231,163)] = {64,0}, + [I(232,163)] = {64,0}, + [I(233,163)] = {64,0}, + [I(234,163)] = {64,0}, + [I(235,163)] = {64,0}, + [I(236,163)] = {64,0}, + [I(237,163)] = {64,0}, + [I(238,163)] = {64,0}, + [I(239,163)] = {64,0}, + [I(240,163)] = {64,0}, + [I(241,163)] = {64,0}, + [I(242,163)] = {64,0}, + [I(243,163)] = {64,0}, + [I(244,163)] = {64,0}, + [I(245,163)] = {64,0}, + [I(246,163)] = {64,0}, + [I(247,163)] = {64,0}, + [I(248,163)] = {64,0}, + [I(249,163)] = {64,0}, + [I(250,163)] = {64,0}, + [I(251,163)] = {64,0}, + [I(252,163)] = {64,0}, + [I(253,163)] = {64,0}, + [I(254,163)] = {64,0}, + [I(255,163)] = {64,0}, + [I(0,164)] = {64,0}, + [I(1,164)] = {64,0}, + [I(2,164)] = {64,0}, + [I(3,164)] = {64,0}, + [I(4,164)] = {64,0}, + [I(5,164)] = {64,0}, + [I(6,164)] = {64,0}, + [I(7,164)] = {64,0}, + [I(8,164)] = {64,0}, + [I(9,164)] = {64,0}, + [I(10,164)] = {64,0}, + [I(11,164)] = {64,0}, + [I(12,164)] = {64,0}, + [I(13,164)] = {64,0}, + [I(14,164)] = {64,0}, + [I(15,164)] = {64,0}, + [I(16,164)] = {64,0}, + [I(17,164)] = {64,0}, + [I(18,164)] = {64,0}, + [I(19,164)] = {64,0}, + [I(20,164)] = {64,0}, + [I(21,164)] = {64,0}, + [I(22,164)] = {64,0}, + [I(23,164)] = {64,0}, + [I(24,164)] = {64,0}, + [I(25,164)] = {64,0}, + [I(26,164)] = {64,0}, + [I(27,164)] = {64,0}, + [I(28,164)] = {64,0}, + [I(29,164)] = {64,0}, + [I(30,164)] = {64,0}, + [I(31,164)] = {64,0}, + [I(32,164)] = {28,0x53FFFDC}, + [I(33,164)] = {X32,0xFE3FFFDC}, + [I(34,164)] = {X32,0xFE7FFFDC}, + [I(35,164)] = {64,0}, + [I(36,164)] = {64,0}, + [I(37,164)] = {28,0x57FFFDC}, + [I(38,164)] = {30,0x3E3FFFDC}, + [I(39,164)] = {64,0}, + [I(40,164)] = {X32,0xFEBFFFDC}, + [I(41,164)] = {X32,0xFEFFFFDC}, + [I(42,164)] = {30,0x3E7FFFDC}, + [I(43,164)] = {64,0}, + [I(44,164)] = {30,0x3EBFFFDC}, + [I(45,164)] = {28,0x5BFFFDC}, + [I(46,164)] = {28,0x5FFFFDC}, + [I(47,164)] = {28,0x63FFFDC}, + [I(48,164)] = {27,0x3FFFDC}, + [I(49,164)] = {27,0x7FFFDC}, + [I(50,164)] = {27,0xBFFFDC}, + [I(51,164)] = {28,0x67FFFDC}, + [I(52,164)] = {28,0x6BFFFDC}, + [I(53,164)] = {28,0x6FFFFDC}, + [I(54,164)] = {28,0x73FFFDC}, + [I(55,164)] = {28,0x77FFFDC}, + [I(56,164)] = {28,0x7BFFFDC}, + [I(57,164)] = {28,0x7FFFFDC}, + [I(58,164)] = {29,0x173FFFDC}, + [I(59,164)] = {30,0x3EFFFFDC}, + [I(60,164)] = {64,0}, + [I(61,164)] = {28,0x83FFFDC}, + [I(62,164)] = {64,0}, + [I(63,164)] = {X32,0xFF3FFFDC}, + [I(64,164)] = {64,0}, + [I(65,164)] = {28,0x87FFFDC}, + [I(66,164)] = {29,0x177FFFDC}, + [I(67,164)] = {29,0x17BFFFDC}, + [I(68,164)] = {29,0x17FFFFDC}, + [I(69,164)] = {29,0x183FFFDC}, + [I(70,164)] = {29,0x187FFFDC}, + [I(71,164)] = {29,0x18BFFFDC}, + [I(72,164)] = {29,0x18FFFFDC}, + [I(73,164)] = {29,0x193FFFDC}, + [I(74,164)] = {29,0x197FFFDC}, + [I(75,164)] = {29,0x19BFFFDC}, + [I(76,164)] = {29,0x19FFFFDC}, + [I(77,164)] = {29,0x1A3FFFDC}, + [I(78,164)] = {29,0x1A7FFFDC}, + [I(79,164)] = {29,0x1ABFFFDC}, + [I(80,164)] = {29,0x1AFFFFDC}, + [I(81,164)] = {29,0x1B3FFFDC}, + [I(82,164)] = {29,0x1B7FFFDC}, + [I(83,164)] = {29,0x1BBFFFDC}, + [I(84,164)] = {29,0x1BFFFFDC}, + [I(85,164)] = {29,0x1C3FFFDC}, + [I(86,164)] = {29,0x1C7FFFDC}, + [I(87,164)] = {29,0x1CBFFFDC}, + [I(88,164)] = {30,0x3F3FFFDC}, + [I(89,164)] = {29,0x1CFFFFDC}, + [I(90,164)] = {30,0x3F7FFFDC}, + [I(91,164)] = {64,0}, + [I(92,164)] = {64,0}, + [I(93,164)] = {64,0}, + [I(94,164)] = {64,0}, + [I(95,164)] = {28,0x8BFFFDC}, + [I(96,164)] = {64,0}, + [I(97,164)] = {27,0xFFFFDC}, + [I(98,164)] = {28,0x8FFFFDC}, + [I(99,164)] = {27,0x13FFFDC}, + [I(100,164)] = {28,0x93FFFDC}, + [I(101,164)] = {27,0x17FFFDC}, + [I(102,164)] = {28,0x97FFFDC}, + [I(103,164)] = {28,0x9BFFFDC}, + [I(104,164)] = {28,0x9FFFFDC}, + [I(105,164)] = {27,0x1BFFFDC}, + [I(106,164)] = {29,0x1D3FFFDC}, + [I(107,164)] = {29,0x1D7FFFDC}, + [I(108,164)] = {28,0xA3FFFDC}, + [I(109,164)] = {28,0xA7FFFDC}, + [I(110,164)] = {28,0xABFFFDC}, + [I(111,164)] = {27,0x1FFFFDC}, + [I(112,164)] = {28,0xAFFFFDC}, + [I(113,164)] = {29,0x1DBFFFDC}, + [I(114,164)] = {28,0xB3FFFDC}, + [I(115,164)] = {27,0x23FFFDC}, + [I(116,164)] = {27,0x27FFFDC}, + [I(117,164)] = {28,0xB7FFFDC}, + [I(118,164)] = {29,0x1DFFFFDC}, + [I(119,164)] = {29,0x1E3FFFDC}, + [I(120,164)] = {29,0x1E7FFFDC}, + [I(121,164)] = {29,0x1EBFFFDC}, + [I(122,164)] = {29,0x1EFFFFDC}, + [I(123,164)] = {64,0}, + [I(124,164)] = {64,0}, + [I(125,164)] = {64,0}, + [I(126,164)] = {64,0}, + [I(127,164)] = {64,0}, + [I(128,164)] = {64,0}, + [I(129,164)] = {64,0}, + [I(130,164)] = {64,0}, + [I(131,164)] = {64,0}, + [I(132,164)] = {64,0}, + [I(133,164)] = {64,0}, + [I(134,164)] = {64,0}, + [I(135,164)] = {64,0}, + [I(136,164)] = {64,0}, + [I(137,164)] = {64,0}, + [I(138,164)] = {64,0}, + [I(139,164)] = {64,0}, + [I(140,164)] = {64,0}, + [I(141,164)] = {64,0}, + [I(142,164)] = {64,0}, + [I(143,164)] = {64,0}, + [I(144,164)] = {64,0}, + [I(145,164)] = {64,0}, + [I(146,164)] = {64,0}, + [I(147,164)] = {64,0}, + [I(148,164)] = {64,0}, + [I(149,164)] = {64,0}, + [I(150,164)] = {64,0}, + [I(151,164)] = {64,0}, + [I(152,164)] = {64,0}, + [I(153,164)] = {64,0}, + [I(154,164)] = {64,0}, + [I(155,164)] = {64,0}, + [I(156,164)] = {64,0}, + [I(157,164)] = {64,0}, + [I(158,164)] = {64,0}, + [I(159,164)] = {64,0}, + [I(160,164)] = {64,0}, + [I(161,164)] = {64,0}, + [I(162,164)] = {64,0}, + [I(163,164)] = {64,0}, + [I(164,164)] = {64,0}, + [I(165,164)] = {64,0}, + [I(166,164)] = {64,0}, + [I(167,164)] = {64,0}, + [I(168,164)] = {64,0}, + [I(169,164)] = {64,0}, + [I(170,164)] = {64,0}, + [I(171,164)] = {64,0}, + [I(172,164)] = {64,0}, + [I(173,164)] = {64,0}, + [I(174,164)] = {64,0}, + [I(175,164)] = {64,0}, + [I(176,164)] = {64,0}, + [I(177,164)] = {64,0}, + [I(178,164)] = {64,0}, + [I(179,164)] = {64,0}, + [I(180,164)] = {64,0}, + [I(181,164)] = {64,0}, + [I(182,164)] = {64,0}, + [I(183,164)] = {64,0}, + [I(184,164)] = {64,0}, + [I(185,164)] = {64,0}, + [I(186,164)] = {64,0}, + [I(187,164)] = {64,0}, + [I(188,164)] = {64,0}, + [I(189,164)] = {64,0}, + [I(190,164)] = {64,0}, + [I(191,164)] = {64,0}, + [I(192,164)] = {64,0}, + [I(193,164)] = {64,0}, + [I(194,164)] = {64,0}, + [I(195,164)] = {64,0}, + [I(196,164)] = {64,0}, + [I(197,164)] = {64,0}, + [I(198,164)] = {64,0}, + [I(199,164)] = {64,0}, + [I(200,164)] = {64,0}, + [I(201,164)] = {64,0}, + [I(202,164)] = {64,0}, + [I(203,164)] = {64,0}, + [I(204,164)] = {64,0}, + [I(205,164)] = {64,0}, + [I(206,164)] = {64,0}, + [I(207,164)] = {64,0}, + [I(208,164)] = {64,0}, + [I(209,164)] = {64,0}, + [I(210,164)] = {64,0}, + [I(211,164)] = {64,0}, + [I(212,164)] = {64,0}, + [I(213,164)] = {64,0}, + [I(214,164)] = {64,0}, + [I(215,164)] = {64,0}, + [I(216,164)] = {64,0}, + [I(217,164)] = {64,0}, + [I(218,164)] = {64,0}, + [I(219,164)] = {64,0}, + [I(220,164)] = {64,0}, + [I(221,164)] = {64,0}, + [I(222,164)] = {64,0}, + [I(223,164)] = {64,0}, + [I(224,164)] = {64,0}, + [I(225,164)] = {64,0}, + [I(226,164)] = {64,0}, + [I(227,164)] = {64,0}, + [I(228,164)] = {64,0}, + [I(229,164)] = {64,0}, + [I(230,164)] = {64,0}, + [I(231,164)] = {64,0}, + [I(232,164)] = {64,0}, + [I(233,164)] = {64,0}, + [I(234,164)] = {64,0}, + [I(235,164)] = {64,0}, + [I(236,164)] = {64,0}, + [I(237,164)] = {64,0}, + [I(238,164)] = {64,0}, + [I(239,164)] = {64,0}, + [I(240,164)] = {64,0}, + [I(241,164)] = {64,0}, + [I(242,164)] = {64,0}, + [I(243,164)] = {64,0}, + [I(244,164)] = {64,0}, + [I(245,164)] = {64,0}, + [I(246,164)] = {64,0}, + [I(247,164)] = {64,0}, + [I(248,164)] = {64,0}, + [I(249,164)] = {64,0}, + [I(250,164)] = {64,0}, + [I(251,164)] = {64,0}, + [I(252,164)] = {64,0}, + [I(253,164)] = {64,0}, + [I(254,164)] = {64,0}, + [I(255,164)] = {64,0}, + [I(0,165)] = {64,0}, + [I(1,165)] = {64,0}, + [I(2,165)] = {64,0}, + [I(3,165)] = {64,0}, + [I(4,165)] = {64,0}, + [I(5,165)] = {64,0}, + [I(6,165)] = {64,0}, + [I(7,165)] = {64,0}, + [I(8,165)] = {64,0}, + [I(9,165)] = {64,0}, + [I(10,165)] = {64,0}, + [I(11,165)] = {64,0}, + [I(12,165)] = {64,0}, + [I(13,165)] = {64,0}, + [I(14,165)] = {64,0}, + [I(15,165)] = {64,0}, + [I(16,165)] = {64,0}, + [I(17,165)] = {64,0}, + [I(18,165)] = {64,0}, + [I(19,165)] = {64,0}, + [I(20,165)] = {64,0}, + [I(21,165)] = {64,0}, + [I(22,165)] = {64,0}, + [I(23,165)] = {64,0}, + [I(24,165)] = {64,0}, + [I(25,165)] = {64,0}, + [I(26,165)] = {64,0}, + [I(27,165)] = {64,0}, + [I(28,165)] = {64,0}, + [I(29,165)] = {64,0}, + [I(30,165)] = {64,0}, + [I(31,165)] = {64,0}, + [I(32,165)] = {29,0xA7FFFE8}, + [I(33,165)] = {64,0}, + [I(34,165)] = {64,0}, + [I(35,165)] = {64,0}, + [I(36,165)] = {64,0}, + [I(37,165)] = {29,0xAFFFFE8}, + [I(38,165)] = {31,0x7C7FFFE8}, + [I(39,165)] = {64,0}, + [I(40,165)] = {64,0}, + [I(41,165)] = {64,0}, + [I(42,165)] = {31,0x7CFFFFE8}, + [I(43,165)] = {64,0}, + [I(44,165)] = {31,0x7D7FFFE8}, + [I(45,165)] = {29,0xB7FFFE8}, + [I(46,165)] = {29,0xBFFFFE8}, + [I(47,165)] = {29,0xC7FFFE8}, + [I(48,165)] = {28,0x7FFFE8}, + [I(49,165)] = {28,0xFFFFE8}, + [I(50,165)] = {28,0x17FFFE8}, + [I(51,165)] = {29,0xCFFFFE8}, + [I(52,165)] = {29,0xD7FFFE8}, + [I(53,165)] = {29,0xDFFFFE8}, + [I(54,165)] = {29,0xE7FFFE8}, + [I(55,165)] = {29,0xEFFFFE8}, + [I(56,165)] = {29,0xF7FFFE8}, + [I(57,165)] = {29,0xFFFFFE8}, + [I(58,165)] = {30,0x2E7FFFE8}, + [I(59,165)] = {31,0x7DFFFFE8}, + [I(60,165)] = {64,0}, + [I(61,165)] = {29,0x107FFFE8}, + [I(62,165)] = {64,0}, + [I(63,165)] = {64,0}, + [I(64,165)] = {64,0}, + [I(65,165)] = {29,0x10FFFFE8}, + [I(66,165)] = {30,0x2EFFFFE8}, + [I(67,165)] = {30,0x2F7FFFE8}, + [I(68,165)] = {30,0x2FFFFFE8}, + [I(69,165)] = {30,0x307FFFE8}, + [I(70,165)] = {30,0x30FFFFE8}, + [I(71,165)] = {30,0x317FFFE8}, + [I(72,165)] = {30,0x31FFFFE8}, + [I(73,165)] = {30,0x327FFFE8}, + [I(74,165)] = {30,0x32FFFFE8}, + [I(75,165)] = {30,0x337FFFE8}, + [I(76,165)] = {30,0x33FFFFE8}, + [I(77,165)] = {30,0x347FFFE8}, + [I(78,165)] = {30,0x34FFFFE8}, + [I(79,165)] = {30,0x357FFFE8}, + [I(80,165)] = {30,0x35FFFFE8}, + [I(81,165)] = {30,0x367FFFE8}, + [I(82,165)] = {30,0x36FFFFE8}, + [I(83,165)] = {30,0x377FFFE8}, + [I(84,165)] = {30,0x37FFFFE8}, + [I(85,165)] = {30,0x387FFFE8}, + [I(86,165)] = {30,0x38FFFFE8}, + [I(87,165)] = {30,0x397FFFE8}, + [I(88,165)] = {31,0x7E7FFFE8}, + [I(89,165)] = {30,0x39FFFFE8}, + [I(90,165)] = {31,0x7EFFFFE8}, + [I(91,165)] = {64,0}, + [I(92,165)] = {64,0}, + [I(93,165)] = {64,0}, + [I(94,165)] = {64,0}, + [I(95,165)] = {29,0x117FFFE8}, + [I(96,165)] = {64,0}, + [I(97,165)] = {28,0x1FFFFE8}, + [I(98,165)] = {29,0x11FFFFE8}, + [I(99,165)] = {28,0x27FFFE8}, + [I(100,165)] = {29,0x127FFFE8}, + [I(101,165)] = {28,0x2FFFFE8}, + [I(102,165)] = {29,0x12FFFFE8}, + [I(103,165)] = {29,0x137FFFE8}, + [I(104,165)] = {29,0x13FFFFE8}, + [I(105,165)] = {28,0x37FFFE8}, + [I(106,165)] = {30,0x3A7FFFE8}, + [I(107,165)] = {30,0x3AFFFFE8}, + [I(108,165)] = {29,0x147FFFE8}, + [I(109,165)] = {29,0x14FFFFE8}, + [I(110,165)] = {29,0x157FFFE8}, + [I(111,165)] = {28,0x3FFFFE8}, + [I(112,165)] = {29,0x15FFFFE8}, + [I(113,165)] = {30,0x3B7FFFE8}, + [I(114,165)] = {29,0x167FFFE8}, + [I(115,165)] = {28,0x47FFFE8}, + [I(116,165)] = {28,0x4FFFFE8}, + [I(117,165)] = {29,0x16FFFFE8}, + [I(118,165)] = {30,0x3BFFFFE8}, + [I(119,165)] = {30,0x3C7FFFE8}, + [I(120,165)] = {30,0x3CFFFFE8}, + [I(121,165)] = {30,0x3D7FFFE8}, + [I(122,165)] = {30,0x3DFFFFE8}, + [I(123,165)] = {64,0}, + [I(124,165)] = {64,0}, + [I(125,165)] = {64,0}, + [I(126,165)] = {64,0}, + [I(127,165)] = {64,0}, + [I(128,165)] = {64,0}, + [I(129,165)] = {64,0}, + [I(130,165)] = {64,0}, + [I(131,165)] = {64,0}, + [I(132,165)] = {64,0}, + [I(133,165)] = {64,0}, + [I(134,165)] = {64,0}, + [I(135,165)] = {64,0}, + [I(136,165)] = {64,0}, + [I(137,165)] = {64,0}, + [I(138,165)] = {64,0}, + [I(139,165)] = {64,0}, + [I(140,165)] = {64,0}, + [I(141,165)] = {64,0}, + [I(142,165)] = {64,0}, + [I(143,165)] = {64,0}, + [I(144,165)] = {64,0}, + [I(145,165)] = {64,0}, + [I(146,165)] = {64,0}, + [I(147,165)] = {64,0}, + [I(148,165)] = {64,0}, + [I(149,165)] = {64,0}, + [I(150,165)] = {64,0}, + [I(151,165)] = {64,0}, + [I(152,165)] = {64,0}, + [I(153,165)] = {64,0}, + [I(154,165)] = {64,0}, + [I(155,165)] = {64,0}, + [I(156,165)] = {64,0}, + [I(157,165)] = {64,0}, + [I(158,165)] = {64,0}, + [I(159,165)] = {64,0}, + [I(160,165)] = {64,0}, + [I(161,165)] = {64,0}, + [I(162,165)] = {64,0}, + [I(163,165)] = {64,0}, + [I(164,165)] = {64,0}, + [I(165,165)] = {64,0}, + [I(166,165)] = {64,0}, + [I(167,165)] = {64,0}, + [I(168,165)] = {64,0}, + [I(169,165)] = {64,0}, + [I(170,165)] = {64,0}, + [I(171,165)] = {64,0}, + [I(172,165)] = {64,0}, + [I(173,165)] = {64,0}, + [I(174,165)] = {64,0}, + [I(175,165)] = {64,0}, + [I(176,165)] = {64,0}, + [I(177,165)] = {64,0}, + [I(178,165)] = {64,0}, + [I(179,165)] = {64,0}, + [I(180,165)] = {64,0}, + [I(181,165)] = {64,0}, + [I(182,165)] = {64,0}, + [I(183,165)] = {64,0}, + [I(184,165)] = {64,0}, + [I(185,165)] = {64,0}, + [I(186,165)] = {64,0}, + [I(187,165)] = {64,0}, + [I(188,165)] = {64,0}, + [I(189,165)] = {64,0}, + [I(190,165)] = {64,0}, + [I(191,165)] = {64,0}, + [I(192,165)] = {64,0}, + [I(193,165)] = {64,0}, + [I(194,165)] = {64,0}, + [I(195,165)] = {64,0}, + [I(196,165)] = {64,0}, + [I(197,165)] = {64,0}, + [I(198,165)] = {64,0}, + [I(199,165)] = {64,0}, + [I(200,165)] = {64,0}, + [I(201,165)] = {64,0}, + [I(202,165)] = {64,0}, + [I(203,165)] = {64,0}, + [I(204,165)] = {64,0}, + [I(205,165)] = {64,0}, + [I(206,165)] = {64,0}, + [I(207,165)] = {64,0}, + [I(208,165)] = {64,0}, + [I(209,165)] = {64,0}, + [I(210,165)] = {64,0}, + [I(211,165)] = {64,0}, + [I(212,165)] = {64,0}, + [I(213,165)] = {64,0}, + [I(214,165)] = {64,0}, + [I(215,165)] = {64,0}, + [I(216,165)] = {64,0}, + [I(217,165)] = {64,0}, + [I(218,165)] = {64,0}, + [I(219,165)] = {64,0}, + [I(220,165)] = {64,0}, + [I(221,165)] = {64,0}, + [I(222,165)] = {64,0}, + [I(223,165)] = {64,0}, + [I(224,165)] = {64,0}, + [I(225,165)] = {64,0}, + [I(226,165)] = {64,0}, + [I(227,165)] = {64,0}, + [I(228,165)] = {64,0}, + [I(229,165)] = {64,0}, + [I(230,165)] = {64,0}, + [I(231,165)] = {64,0}, + [I(232,165)] = {64,0}, + [I(233,165)] = {64,0}, + [I(234,165)] = {64,0}, + [I(235,165)] = {64,0}, + [I(236,165)] = {64,0}, + [I(237,165)] = {64,0}, + [I(238,165)] = {64,0}, + [I(239,165)] = {64,0}, + [I(240,165)] = {64,0}, + [I(241,165)] = {64,0}, + [I(242,165)] = {64,0}, + [I(243,165)] = {64,0}, + [I(244,165)] = {64,0}, + [I(245,165)] = {64,0}, + [I(246,165)] = {64,0}, + [I(247,165)] = {64,0}, + [I(248,165)] = {64,0}, + [I(249,165)] = {64,0}, + [I(250,165)] = {64,0}, + [I(251,165)] = {64,0}, + [I(252,165)] = {64,0}, + [I(253,165)] = {64,0}, + [I(254,165)] = {64,0}, + [I(255,165)] = {64,0}, + [I(0,166)] = {64,0}, + [I(1,166)] = {64,0}, + [I(2,166)] = {64,0}, + [I(3,166)] = {64,0}, + [I(4,166)] = {64,0}, + [I(5,166)] = {64,0}, + [I(6,166)] = {64,0}, + [I(7,166)] = {64,0}, + [I(8,166)] = {64,0}, + [I(9,166)] = {64,0}, + [I(10,166)] = {64,0}, + [I(11,166)] = {64,0}, + [I(12,166)] = {64,0}, + [I(13,166)] = {64,0}, + [I(14,166)] = {64,0}, + [I(15,166)] = {64,0}, + [I(16,166)] = {64,0}, + [I(17,166)] = {64,0}, + [I(18,166)] = {64,0}, + [I(19,166)] = {64,0}, + [I(20,166)] = {64,0}, + [I(21,166)] = {64,0}, + [I(22,166)] = {64,0}, + [I(23,166)] = {64,0}, + [I(24,166)] = {64,0}, + [I(25,166)] = {64,0}, + [I(26,166)] = {64,0}, + [I(27,166)] = {64,0}, + [I(28,166)] = {64,0}, + [I(29,166)] = {64,0}, + [I(30,166)] = {64,0}, + [I(31,166)] = {64,0}, + [I(32,166)] = {29,0xA7FFFE9}, + [I(33,166)] = {64,0}, + [I(34,166)] = {64,0}, + [I(35,166)] = {64,0}, + [I(36,166)] = {64,0}, + [I(37,166)] = {29,0xAFFFFE9}, + [I(38,166)] = {31,0x7C7FFFE9}, + [I(39,166)] = {64,0}, + [I(40,166)] = {64,0}, + [I(41,166)] = {64,0}, + [I(42,166)] = {31,0x7CFFFFE9}, + [I(43,166)] = {64,0}, + [I(44,166)] = {31,0x7D7FFFE9}, + [I(45,166)] = {29,0xB7FFFE9}, + [I(46,166)] = {29,0xBFFFFE9}, + [I(47,166)] = {29,0xC7FFFE9}, + [I(48,166)] = {28,0x7FFFE9}, + [I(49,166)] = {28,0xFFFFE9}, + [I(50,166)] = {28,0x17FFFE9}, + [I(51,166)] = {29,0xCFFFFE9}, + [I(52,166)] = {29,0xD7FFFE9}, + [I(53,166)] = {29,0xDFFFFE9}, + [I(54,166)] = {29,0xE7FFFE9}, + [I(55,166)] = {29,0xEFFFFE9}, + [I(56,166)] = {29,0xF7FFFE9}, + [I(57,166)] = {29,0xFFFFFE9}, + [I(58,166)] = {30,0x2E7FFFE9}, + [I(59,166)] = {31,0x7DFFFFE9}, + [I(60,166)] = {64,0}, + [I(61,166)] = {29,0x107FFFE9}, + [I(62,166)] = {64,0}, + [I(63,166)] = {64,0}, + [I(64,166)] = {64,0}, + [I(65,166)] = {29,0x10FFFFE9}, + [I(66,166)] = {30,0x2EFFFFE9}, + [I(67,166)] = {30,0x2F7FFFE9}, + [I(68,166)] = {30,0x2FFFFFE9}, + [I(69,166)] = {30,0x307FFFE9}, + [I(70,166)] = {30,0x30FFFFE9}, + [I(71,166)] = {30,0x317FFFE9}, + [I(72,166)] = {30,0x31FFFFE9}, + [I(73,166)] = {30,0x327FFFE9}, + [I(74,166)] = {30,0x32FFFFE9}, + [I(75,166)] = {30,0x337FFFE9}, + [I(76,166)] = {30,0x33FFFFE9}, + [I(77,166)] = {30,0x347FFFE9}, + [I(78,166)] = {30,0x34FFFFE9}, + [I(79,166)] = {30,0x357FFFE9}, + [I(80,166)] = {30,0x35FFFFE9}, + [I(81,166)] = {30,0x367FFFE9}, + [I(82,166)] = {30,0x36FFFFE9}, + [I(83,166)] = {30,0x377FFFE9}, + [I(84,166)] = {30,0x37FFFFE9}, + [I(85,166)] = {30,0x387FFFE9}, + [I(86,166)] = {30,0x38FFFFE9}, + [I(87,166)] = {30,0x397FFFE9}, + [I(88,166)] = {31,0x7E7FFFE9}, + [I(89,166)] = {30,0x39FFFFE9}, + [I(90,166)] = {31,0x7EFFFFE9}, + [I(91,166)] = {64,0}, + [I(92,166)] = {64,0}, + [I(93,166)] = {64,0}, + [I(94,166)] = {64,0}, + [I(95,166)] = {29,0x117FFFE9}, + [I(96,166)] = {64,0}, + [I(97,166)] = {28,0x1FFFFE9}, + [I(98,166)] = {29,0x11FFFFE9}, + [I(99,166)] = {28,0x27FFFE9}, + [I(100,166)] = {29,0x127FFFE9}, + [I(101,166)] = {28,0x2FFFFE9}, + [I(102,166)] = {29,0x12FFFFE9}, + [I(103,166)] = {29,0x137FFFE9}, + [I(104,166)] = {29,0x13FFFFE9}, + [I(105,166)] = {28,0x37FFFE9}, + [I(106,166)] = {30,0x3A7FFFE9}, + [I(107,166)] = {30,0x3AFFFFE9}, + [I(108,166)] = {29,0x147FFFE9}, + [I(109,166)] = {29,0x14FFFFE9}, + [I(110,166)] = {29,0x157FFFE9}, + [I(111,166)] = {28,0x3FFFFE9}, + [I(112,166)] = {29,0x15FFFFE9}, + [I(113,166)] = {30,0x3B7FFFE9}, + [I(114,166)] = {29,0x167FFFE9}, + [I(115,166)] = {28,0x47FFFE9}, + [I(116,166)] = {28,0x4FFFFE9}, + [I(117,166)] = {29,0x16FFFFE9}, + [I(118,166)] = {30,0x3BFFFFE9}, + [I(119,166)] = {30,0x3C7FFFE9}, + [I(120,166)] = {30,0x3CFFFFE9}, + [I(121,166)] = {30,0x3D7FFFE9}, + [I(122,166)] = {30,0x3DFFFFE9}, + [I(123,166)] = {64,0}, + [I(124,166)] = {64,0}, + [I(125,166)] = {64,0}, + [I(126,166)] = {64,0}, + [I(127,166)] = {64,0}, + [I(128,166)] = {64,0}, + [I(129,166)] = {64,0}, + [I(130,166)] = {64,0}, + [I(131,166)] = {64,0}, + [I(132,166)] = {64,0}, + [I(133,166)] = {64,0}, + [I(134,166)] = {64,0}, + [I(135,166)] = {64,0}, + [I(136,166)] = {64,0}, + [I(137,166)] = {64,0}, + [I(138,166)] = {64,0}, + [I(139,166)] = {64,0}, + [I(140,166)] = {64,0}, + [I(141,166)] = {64,0}, + [I(142,166)] = {64,0}, + [I(143,166)] = {64,0}, + [I(144,166)] = {64,0}, + [I(145,166)] = {64,0}, + [I(146,166)] = {64,0}, + [I(147,166)] = {64,0}, + [I(148,166)] = {64,0}, + [I(149,166)] = {64,0}, + [I(150,166)] = {64,0}, + [I(151,166)] = {64,0}, + [I(152,166)] = {64,0}, + [I(153,166)] = {64,0}, + [I(154,166)] = {64,0}, + [I(155,166)] = {64,0}, + [I(156,166)] = {64,0}, + [I(157,166)] = {64,0}, + [I(158,166)] = {64,0}, + [I(159,166)] = {64,0}, + [I(160,166)] = {64,0}, + [I(161,166)] = {64,0}, + [I(162,166)] = {64,0}, + [I(163,166)] = {64,0}, + [I(164,166)] = {64,0}, + [I(165,166)] = {64,0}, + [I(166,166)] = {64,0}, + [I(167,166)] = {64,0}, + [I(168,166)] = {64,0}, + [I(169,166)] = {64,0}, + [I(170,166)] = {64,0}, + [I(171,166)] = {64,0}, + [I(172,166)] = {64,0}, + [I(173,166)] = {64,0}, + [I(174,166)] = {64,0}, + [I(175,166)] = {64,0}, + [I(176,166)] = {64,0}, + [I(177,166)] = {64,0}, + [I(178,166)] = {64,0}, + [I(179,166)] = {64,0}, + [I(180,166)] = {64,0}, + [I(181,166)] = {64,0}, + [I(182,166)] = {64,0}, + [I(183,166)] = {64,0}, + [I(184,166)] = {64,0}, + [I(185,166)] = {64,0}, + [I(186,166)] = {64,0}, + [I(187,166)] = {64,0}, + [I(188,166)] = {64,0}, + [I(189,166)] = {64,0}, + [I(190,166)] = {64,0}, + [I(191,166)] = {64,0}, + [I(192,166)] = {64,0}, + [I(193,166)] = {64,0}, + [I(194,166)] = {64,0}, + [I(195,166)] = {64,0}, + [I(196,166)] = {64,0}, + [I(197,166)] = {64,0}, + [I(198,166)] = {64,0}, + [I(199,166)] = {64,0}, + [I(200,166)] = {64,0}, + [I(201,166)] = {64,0}, + [I(202,166)] = {64,0}, + [I(203,166)] = {64,0}, + [I(204,166)] = {64,0}, + [I(205,166)] = {64,0}, + [I(206,166)] = {64,0}, + [I(207,166)] = {64,0}, + [I(208,166)] = {64,0}, + [I(209,166)] = {64,0}, + [I(210,166)] = {64,0}, + [I(211,166)] = {64,0}, + [I(212,166)] = {64,0}, + [I(213,166)] = {64,0}, + [I(214,166)] = {64,0}, + [I(215,166)] = {64,0}, + [I(216,166)] = {64,0}, + [I(217,166)] = {64,0}, + [I(218,166)] = {64,0}, + [I(219,166)] = {64,0}, + [I(220,166)] = {64,0}, + [I(221,166)] = {64,0}, + [I(222,166)] = {64,0}, + [I(223,166)] = {64,0}, + [I(224,166)] = {64,0}, + [I(225,166)] = {64,0}, + [I(226,166)] = {64,0}, + [I(227,166)] = {64,0}, + [I(228,166)] = {64,0}, + [I(229,166)] = {64,0}, + [I(230,166)] = {64,0}, + [I(231,166)] = {64,0}, + [I(232,166)] = {64,0}, + [I(233,166)] = {64,0}, + [I(234,166)] = {64,0}, + [I(235,166)] = {64,0}, + [I(236,166)] = {64,0}, + [I(237,166)] = {64,0}, + [I(238,166)] = {64,0}, + [I(239,166)] = {64,0}, + [I(240,166)] = {64,0}, + [I(241,166)] = {64,0}, + [I(242,166)] = {64,0}, + [I(243,166)] = {64,0}, + [I(244,166)] = {64,0}, + [I(245,166)] = {64,0}, + [I(246,166)] = {64,0}, + [I(247,166)] = {64,0}, + [I(248,166)] = {64,0}, + [I(249,166)] = {64,0}, + [I(250,166)] = {64,0}, + [I(251,166)] = {64,0}, + [I(252,166)] = {64,0}, + [I(253,166)] = {64,0}, + [I(254,166)] = {64,0}, + [I(255,166)] = {64,0}, + [I(0,167)] = {64,0}, + [I(1,167)] = {64,0}, + [I(2,167)] = {64,0}, + [I(3,167)] = {64,0}, + [I(4,167)] = {64,0}, + [I(5,167)] = {64,0}, + [I(6,167)] = {64,0}, + [I(7,167)] = {64,0}, + [I(8,167)] = {64,0}, + [I(9,167)] = {64,0}, + [I(10,167)] = {64,0}, + [I(11,167)] = {64,0}, + [I(12,167)] = {64,0}, + [I(13,167)] = {64,0}, + [I(14,167)] = {64,0}, + [I(15,167)] = {64,0}, + [I(16,167)] = {64,0}, + [I(17,167)] = {64,0}, + [I(18,167)] = {64,0}, + [I(19,167)] = {64,0}, + [I(20,167)] = {64,0}, + [I(21,167)] = {64,0}, + [I(22,167)] = {64,0}, + [I(23,167)] = {64,0}, + [I(24,167)] = {64,0}, + [I(25,167)] = {64,0}, + [I(26,167)] = {64,0}, + [I(27,167)] = {64,0}, + [I(28,167)] = {64,0}, + [I(29,167)] = {64,0}, + [I(30,167)] = {64,0}, + [I(31,167)] = {64,0}, + [I(32,167)] = {27,0x29FFFDE}, + [I(33,167)] = {31,0x7F1FFFDE}, + [I(34,167)] = {31,0x7F3FFFDE}, + [I(35,167)] = {64,0}, + [I(36,167)] = {64,0}, + [I(37,167)] = {27,0x2BFFFDE}, + [I(38,167)] = {29,0x1F1FFFDE}, + [I(39,167)] = {X32,0xFF5FFFDE}, + [I(40,167)] = {31,0x7F5FFFDE}, + [I(41,167)] = {31,0x7F7FFFDE}, + [I(42,167)] = {29,0x1F3FFFDE}, + [I(43,167)] = {X32,0xFF7FFFDE}, + [I(44,167)] = {29,0x1F5FFFDE}, + [I(45,167)] = {27,0x2DFFFDE}, + [I(46,167)] = {27,0x2FFFFDE}, + [I(47,167)] = {27,0x31FFFDE}, + [I(48,167)] = {26,0x1FFFDE}, + [I(49,167)] = {26,0x3FFFDE}, + [I(50,167)] = {26,0x5FFFDE}, + [I(51,167)] = {27,0x33FFFDE}, + [I(52,167)] = {27,0x35FFFDE}, + [I(53,167)] = {27,0x37FFFDE}, + [I(54,167)] = {27,0x39FFFDE}, + [I(55,167)] = {27,0x3BFFFDE}, + [I(56,167)] = {27,0x3DFFFDE}, + [I(57,167)] = {27,0x3FFFFDE}, + [I(58,167)] = {28,0xB9FFFDE}, + [I(59,167)] = {29,0x1F7FFFDE}, + [I(60,167)] = {64,0}, + [I(61,167)] = {27,0x41FFFDE}, + [I(62,167)] = {64,0}, + [I(63,167)] = {31,0x7F9FFFDE}, + [I(64,167)] = {64,0}, + [I(65,167)] = {27,0x43FFFDE}, + [I(66,167)] = {28,0xBBFFFDE}, + [I(67,167)] = {28,0xBDFFFDE}, + [I(68,167)] = {28,0xBFFFFDE}, + [I(69,167)] = {28,0xC1FFFDE}, + [I(70,167)] = {28,0xC3FFFDE}, + [I(71,167)] = {28,0xC5FFFDE}, + [I(72,167)] = {28,0xC7FFFDE}, + [I(73,167)] = {28,0xC9FFFDE}, + [I(74,167)] = {28,0xCBFFFDE}, + [I(75,167)] = {28,0xCDFFFDE}, + [I(76,167)] = {28,0xCFFFFDE}, + [I(77,167)] = {28,0xD1FFFDE}, + [I(78,167)] = {28,0xD3FFFDE}, + [I(79,167)] = {28,0xD5FFFDE}, + [I(80,167)] = {28,0xD7FFFDE}, + [I(81,167)] = {28,0xD9FFFDE}, + [I(82,167)] = {28,0xDBFFFDE}, + [I(83,167)] = {28,0xDDFFFDE}, + [I(84,167)] = {28,0xDFFFFDE}, + [I(85,167)] = {28,0xE1FFFDE}, + [I(86,167)] = {28,0xE3FFFDE}, + [I(87,167)] = {28,0xE5FFFDE}, + [I(88,167)] = {29,0x1F9FFFDE}, + [I(89,167)] = {28,0xE7FFFDE}, + [I(90,167)] = {29,0x1FBFFFDE}, + [I(91,167)] = {64,0}, + [I(92,167)] = {64,0}, + [I(93,167)] = {64,0}, + [I(94,167)] = {64,0}, + [I(95,167)] = {27,0x45FFFDE}, + [I(96,167)] = {64,0}, + [I(97,167)] = {26,0x7FFFDE}, + [I(98,167)] = {27,0x47FFFDE}, + [I(99,167)] = {26,0x9FFFDE}, + [I(100,167)] = {27,0x49FFFDE}, + [I(101,167)] = {26,0xBFFFDE}, + [I(102,167)] = {27,0x4BFFFDE}, + [I(103,167)] = {27,0x4DFFFDE}, + [I(104,167)] = {27,0x4FFFFDE}, + [I(105,167)] = {26,0xDFFFDE}, + [I(106,167)] = {28,0xE9FFFDE}, + [I(107,167)] = {28,0xEBFFFDE}, + [I(108,167)] = {27,0x51FFFDE}, + [I(109,167)] = {27,0x53FFFDE}, + [I(110,167)] = {27,0x55FFFDE}, + [I(111,167)] = {26,0xFFFFDE}, + [I(112,167)] = {27,0x57FFFDE}, + [I(113,167)] = {28,0xEDFFFDE}, + [I(114,167)] = {27,0x59FFFDE}, + [I(115,167)] = {26,0x11FFFDE}, + [I(116,167)] = {26,0x13FFFDE}, + [I(117,167)] = {27,0x5BFFFDE}, + [I(118,167)] = {28,0xEFFFFDE}, + [I(119,167)] = {28,0xF1FFFDE}, + [I(120,167)] = {28,0xF3FFFDE}, + [I(121,167)] = {28,0xF5FFFDE}, + [I(122,167)] = {28,0xF7FFFDE}, + [I(123,167)] = {64,0}, + [I(124,167)] = {X32,0xFF9FFFDE}, + [I(125,167)] = {64,0}, + [I(126,167)] = {64,0}, + [I(127,167)] = {64,0}, + [I(128,167)] = {64,0}, + [I(129,167)] = {64,0}, + [I(130,167)] = {64,0}, + [I(131,167)] = {64,0}, + [I(132,167)] = {64,0}, + [I(133,167)] = {64,0}, + [I(134,167)] = {64,0}, + [I(135,167)] = {64,0}, + [I(136,167)] = {64,0}, + [I(137,167)] = {64,0}, + [I(138,167)] = {64,0}, + [I(139,167)] = {64,0}, + [I(140,167)] = {64,0}, + [I(141,167)] = {64,0}, + [I(142,167)] = {64,0}, + [I(143,167)] = {64,0}, + [I(144,167)] = {64,0}, + [I(145,167)] = {64,0}, + [I(146,167)] = {64,0}, + [I(147,167)] = {64,0}, + [I(148,167)] = {64,0}, + [I(149,167)] = {64,0}, + [I(150,167)] = {64,0}, + [I(151,167)] = {64,0}, + [I(152,167)] = {64,0}, + [I(153,167)] = {64,0}, + [I(154,167)] = {64,0}, + [I(155,167)] = {64,0}, + [I(156,167)] = {64,0}, + [I(157,167)] = {64,0}, + [I(158,167)] = {64,0}, + [I(159,167)] = {64,0}, + [I(160,167)] = {64,0}, + [I(161,167)] = {64,0}, + [I(162,167)] = {64,0}, + [I(163,167)] = {64,0}, + [I(164,167)] = {64,0}, + [I(165,167)] = {64,0}, + [I(166,167)] = {64,0}, + [I(167,167)] = {64,0}, + [I(168,167)] = {64,0}, + [I(169,167)] = {64,0}, + [I(170,167)] = {64,0}, + [I(171,167)] = {64,0}, + [I(172,167)] = {64,0}, + [I(173,167)] = {64,0}, + [I(174,167)] = {64,0}, + [I(175,167)] = {64,0}, + [I(176,167)] = {64,0}, + [I(177,167)] = {64,0}, + [I(178,167)] = {64,0}, + [I(179,167)] = {64,0}, + [I(180,167)] = {64,0}, + [I(181,167)] = {64,0}, + [I(182,167)] = {64,0}, + [I(183,167)] = {64,0}, + [I(184,167)] = {64,0}, + [I(185,167)] = {64,0}, + [I(186,167)] = {64,0}, + [I(187,167)] = {64,0}, + [I(188,167)] = {64,0}, + [I(189,167)] = {64,0}, + [I(190,167)] = {64,0}, + [I(191,167)] = {64,0}, + [I(192,167)] = {64,0}, + [I(193,167)] = {64,0}, + [I(194,167)] = {64,0}, + [I(195,167)] = {64,0}, + [I(196,167)] = {64,0}, + [I(197,167)] = {64,0}, + [I(198,167)] = {64,0}, + [I(199,167)] = {64,0}, + [I(200,167)] = {64,0}, + [I(201,167)] = {64,0}, + [I(202,167)] = {64,0}, + [I(203,167)] = {64,0}, + [I(204,167)] = {64,0}, + [I(205,167)] = {64,0}, + [I(206,167)] = {64,0}, + [I(207,167)] = {64,0}, + [I(208,167)] = {64,0}, + [I(209,167)] = {64,0}, + [I(210,167)] = {64,0}, + [I(211,167)] = {64,0}, + [I(212,167)] = {64,0}, + [I(213,167)] = {64,0}, + [I(214,167)] = {64,0}, + [I(215,167)] = {64,0}, + [I(216,167)] = {64,0}, + [I(217,167)] = {64,0}, + [I(218,167)] = {64,0}, + [I(219,167)] = {64,0}, + [I(220,167)] = {64,0}, + [I(221,167)] = {64,0}, + [I(222,167)] = {64,0}, + [I(223,167)] = {64,0}, + [I(224,167)] = {64,0}, + [I(225,167)] = {64,0}, + [I(226,167)] = {64,0}, + [I(227,167)] = {64,0}, + [I(228,167)] = {64,0}, + [I(229,167)] = {64,0}, + [I(230,167)] = {64,0}, + [I(231,167)] = {64,0}, + [I(232,167)] = {64,0}, + [I(233,167)] = {64,0}, + [I(234,167)] = {64,0}, + [I(235,167)] = {64,0}, + [I(236,167)] = {64,0}, + [I(237,167)] = {64,0}, + [I(238,167)] = {64,0}, + [I(239,167)] = {64,0}, + [I(240,167)] = {64,0}, + [I(241,167)] = {64,0}, + [I(242,167)] = {64,0}, + [I(243,167)] = {64,0}, + [I(244,167)] = {64,0}, + [I(245,167)] = {64,0}, + [I(246,167)] = {64,0}, + [I(247,167)] = {64,0}, + [I(248,167)] = {64,0}, + [I(249,167)] = {64,0}, + [I(250,167)] = {64,0}, + [I(251,167)] = {64,0}, + [I(252,167)] = {64,0}, + [I(253,167)] = {64,0}, + [I(254,167)] = {64,0}, + [I(255,167)] = {64,0}, + [I(0,168)] = {64,0}, + [I(1,168)] = {64,0}, + [I(2,168)] = {64,0}, + [I(3,168)] = {64,0}, + [I(4,168)] = {64,0}, + [I(5,168)] = {64,0}, + [I(6,168)] = {64,0}, + [I(7,168)] = {64,0}, + [I(8,168)] = {64,0}, + [I(9,168)] = {64,0}, + [I(10,168)] = {64,0}, + [I(11,168)] = {64,0}, + [I(12,168)] = {64,0}, + [I(13,168)] = {64,0}, + [I(14,168)] = {64,0}, + [I(15,168)] = {64,0}, + [I(16,168)] = {64,0}, + [I(17,168)] = {64,0}, + [I(18,168)] = {64,0}, + [I(19,168)] = {64,0}, + [I(20,168)] = {64,0}, + [I(21,168)] = {64,0}, + [I(22,168)] = {64,0}, + [I(23,168)] = {64,0}, + [I(24,168)] = {64,0}, + [I(25,168)] = {64,0}, + [I(26,168)] = {64,0}, + [I(27,168)] = {64,0}, + [I(28,168)] = {64,0}, + [I(29,168)] = {64,0}, + [I(30,168)] = {64,0}, + [I(31,168)] = {64,0}, + [I(32,168)] = {29,0xA7FFFEA}, + [I(33,168)] = {64,0}, + [I(34,168)] = {64,0}, + [I(35,168)] = {64,0}, + [I(36,168)] = {64,0}, + [I(37,168)] = {29,0xAFFFFEA}, + [I(38,168)] = {31,0x7C7FFFEA}, + [I(39,168)] = {64,0}, + [I(40,168)] = {64,0}, + [I(41,168)] = {64,0}, + [I(42,168)] = {31,0x7CFFFFEA}, + [I(43,168)] = {64,0}, + [I(44,168)] = {31,0x7D7FFFEA}, + [I(45,168)] = {29,0xB7FFFEA}, + [I(46,168)] = {29,0xBFFFFEA}, + [I(47,168)] = {29,0xC7FFFEA}, + [I(48,168)] = {28,0x7FFFEA}, + [I(49,168)] = {28,0xFFFFEA}, + [I(50,168)] = {28,0x17FFFEA}, + [I(51,168)] = {29,0xCFFFFEA}, + [I(52,168)] = {29,0xD7FFFEA}, + [I(53,168)] = {29,0xDFFFFEA}, + [I(54,168)] = {29,0xE7FFFEA}, + [I(55,168)] = {29,0xEFFFFEA}, + [I(56,168)] = {29,0xF7FFFEA}, + [I(57,168)] = {29,0xFFFFFEA}, + [I(58,168)] = {30,0x2E7FFFEA}, + [I(59,168)] = {31,0x7DFFFFEA}, + [I(60,168)] = {64,0}, + [I(61,168)] = {29,0x107FFFEA}, + [I(62,168)] = {64,0}, + [I(63,168)] = {64,0}, + [I(64,168)] = {64,0}, + [I(65,168)] = {29,0x10FFFFEA}, + [I(66,168)] = {30,0x2EFFFFEA}, + [I(67,168)] = {30,0x2F7FFFEA}, + [I(68,168)] = {30,0x2FFFFFEA}, + [I(69,168)] = {30,0x307FFFEA}, + [I(70,168)] = {30,0x30FFFFEA}, + [I(71,168)] = {30,0x317FFFEA}, + [I(72,168)] = {30,0x31FFFFEA}, + [I(73,168)] = {30,0x327FFFEA}, + [I(74,168)] = {30,0x32FFFFEA}, + [I(75,168)] = {30,0x337FFFEA}, + [I(76,168)] = {30,0x33FFFFEA}, + [I(77,168)] = {30,0x347FFFEA}, + [I(78,168)] = {30,0x34FFFFEA}, + [I(79,168)] = {30,0x357FFFEA}, + [I(80,168)] = {30,0x35FFFFEA}, + [I(81,168)] = {30,0x367FFFEA}, + [I(82,168)] = {30,0x36FFFFEA}, + [I(83,168)] = {30,0x377FFFEA}, + [I(84,168)] = {30,0x37FFFFEA}, + [I(85,168)] = {30,0x387FFFEA}, + [I(86,168)] = {30,0x38FFFFEA}, + [I(87,168)] = {30,0x397FFFEA}, + [I(88,168)] = {31,0x7E7FFFEA}, + [I(89,168)] = {30,0x39FFFFEA}, + [I(90,168)] = {31,0x7EFFFFEA}, + [I(91,168)] = {64,0}, + [I(92,168)] = {64,0}, + [I(93,168)] = {64,0}, + [I(94,168)] = {64,0}, + [I(95,168)] = {29,0x117FFFEA}, + [I(96,168)] = {64,0}, + [I(97,168)] = {28,0x1FFFFEA}, + [I(98,168)] = {29,0x11FFFFEA}, + [I(99,168)] = {28,0x27FFFEA}, + [I(100,168)] = {29,0x127FFFEA}, + [I(101,168)] = {28,0x2FFFFEA}, + [I(102,168)] = {29,0x12FFFFEA}, + [I(103,168)] = {29,0x137FFFEA}, + [I(104,168)] = {29,0x13FFFFEA}, + [I(105,168)] = {28,0x37FFFEA}, + [I(106,168)] = {30,0x3A7FFFEA}, + [I(107,168)] = {30,0x3AFFFFEA}, + [I(108,168)] = {29,0x147FFFEA}, + [I(109,168)] = {29,0x14FFFFEA}, + [I(110,168)] = {29,0x157FFFEA}, + [I(111,168)] = {28,0x3FFFFEA}, + [I(112,168)] = {29,0x15FFFFEA}, + [I(113,168)] = {30,0x3B7FFFEA}, + [I(114,168)] = {29,0x167FFFEA}, + [I(115,168)] = {28,0x47FFFEA}, + [I(116,168)] = {28,0x4FFFFEA}, + [I(117,168)] = {29,0x16FFFFEA}, + [I(118,168)] = {30,0x3BFFFFEA}, + [I(119,168)] = {30,0x3C7FFFEA}, + [I(120,168)] = {30,0x3CFFFFEA}, + [I(121,168)] = {30,0x3D7FFFEA}, + [I(122,168)] = {30,0x3DFFFFEA}, + [I(123,168)] = {64,0}, + [I(124,168)] = {64,0}, + [I(125,168)] = {64,0}, + [I(126,168)] = {64,0}, + [I(127,168)] = {64,0}, + [I(128,168)] = {64,0}, + [I(129,168)] = {64,0}, + [I(130,168)] = {64,0}, + [I(131,168)] = {64,0}, + [I(132,168)] = {64,0}, + [I(133,168)] = {64,0}, + [I(134,168)] = {64,0}, + [I(135,168)] = {64,0}, + [I(136,168)] = {64,0}, + [I(137,168)] = {64,0}, + [I(138,168)] = {64,0}, + [I(139,168)] = {64,0}, + [I(140,168)] = {64,0}, + [I(141,168)] = {64,0}, + [I(142,168)] = {64,0}, + [I(143,168)] = {64,0}, + [I(144,168)] = {64,0}, + [I(145,168)] = {64,0}, + [I(146,168)] = {64,0}, + [I(147,168)] = {64,0}, + [I(148,168)] = {64,0}, + [I(149,168)] = {64,0}, + [I(150,168)] = {64,0}, + [I(151,168)] = {64,0}, + [I(152,168)] = {64,0}, + [I(153,168)] = {64,0}, + [I(154,168)] = {64,0}, + [I(155,168)] = {64,0}, + [I(156,168)] = {64,0}, + [I(157,168)] = {64,0}, + [I(158,168)] = {64,0}, + [I(159,168)] = {64,0}, + [I(160,168)] = {64,0}, + [I(161,168)] = {64,0}, + [I(162,168)] = {64,0}, + [I(163,168)] = {64,0}, + [I(164,168)] = {64,0}, + [I(165,168)] = {64,0}, + [I(166,168)] = {64,0}, + [I(167,168)] = {64,0}, + [I(168,168)] = {64,0}, + [I(169,168)] = {64,0}, + [I(170,168)] = {64,0}, + [I(171,168)] = {64,0}, + [I(172,168)] = {64,0}, + [I(173,168)] = {64,0}, + [I(174,168)] = {64,0}, + [I(175,168)] = {64,0}, + [I(176,168)] = {64,0}, + [I(177,168)] = {64,0}, + [I(178,168)] = {64,0}, + [I(179,168)] = {64,0}, + [I(180,168)] = {64,0}, + [I(181,168)] = {64,0}, + [I(182,168)] = {64,0}, + [I(183,168)] = {64,0}, + [I(184,168)] = {64,0}, + [I(185,168)] = {64,0}, + [I(186,168)] = {64,0}, + [I(187,168)] = {64,0}, + [I(188,168)] = {64,0}, + [I(189,168)] = {64,0}, + [I(190,168)] = {64,0}, + [I(191,168)] = {64,0}, + [I(192,168)] = {64,0}, + [I(193,168)] = {64,0}, + [I(194,168)] = {64,0}, + [I(195,168)] = {64,0}, + [I(196,168)] = {64,0}, + [I(197,168)] = {64,0}, + [I(198,168)] = {64,0}, + [I(199,168)] = {64,0}, + [I(200,168)] = {64,0}, + [I(201,168)] = {64,0}, + [I(202,168)] = {64,0}, + [I(203,168)] = {64,0}, + [I(204,168)] = {64,0}, + [I(205,168)] = {64,0}, + [I(206,168)] = {64,0}, + [I(207,168)] = {64,0}, + [I(208,168)] = {64,0}, + [I(209,168)] = {64,0}, + [I(210,168)] = {64,0}, + [I(211,168)] = {64,0}, + [I(212,168)] = {64,0}, + [I(213,168)] = {64,0}, + [I(214,168)] = {64,0}, + [I(215,168)] = {64,0}, + [I(216,168)] = {64,0}, + [I(217,168)] = {64,0}, + [I(218,168)] = {64,0}, + [I(219,168)] = {64,0}, + [I(220,168)] = {64,0}, + [I(221,168)] = {64,0}, + [I(222,168)] = {64,0}, + [I(223,168)] = {64,0}, + [I(224,168)] = {64,0}, + [I(225,168)] = {64,0}, + [I(226,168)] = {64,0}, + [I(227,168)] = {64,0}, + [I(228,168)] = {64,0}, + [I(229,168)] = {64,0}, + [I(230,168)] = {64,0}, + [I(231,168)] = {64,0}, + [I(232,168)] = {64,0}, + [I(233,168)] = {64,0}, + [I(234,168)] = {64,0}, + [I(235,168)] = {64,0}, + [I(236,168)] = {64,0}, + [I(237,168)] = {64,0}, + [I(238,168)] = {64,0}, + [I(239,168)] = {64,0}, + [I(240,168)] = {64,0}, + [I(241,168)] = {64,0}, + [I(242,168)] = {64,0}, + [I(243,168)] = {64,0}, + [I(244,168)] = {64,0}, + [I(245,168)] = {64,0}, + [I(246,168)] = {64,0}, + [I(247,168)] = {64,0}, + [I(248,168)] = {64,0}, + [I(249,168)] = {64,0}, + [I(250,168)] = {64,0}, + [I(251,168)] = {64,0}, + [I(252,168)] = {64,0}, + [I(253,168)] = {64,0}, + [I(254,168)] = {64,0}, + [I(255,168)] = {64,0}, + [I(0,169)] = {64,0}, + [I(1,169)] = {64,0}, + [I(2,169)] = {64,0}, + [I(3,169)] = {64,0}, + [I(4,169)] = {64,0}, + [I(5,169)] = {64,0}, + [I(6,169)] = {64,0}, + [I(7,169)] = {64,0}, + [I(8,169)] = {64,0}, + [I(9,169)] = {64,0}, + [I(10,169)] = {64,0}, + [I(11,169)] = {64,0}, + [I(12,169)] = {64,0}, + [I(13,169)] = {64,0}, + [I(14,169)] = {64,0}, + [I(15,169)] = {64,0}, + [I(16,169)] = {64,0}, + [I(17,169)] = {64,0}, + [I(18,169)] = {64,0}, + [I(19,169)] = {64,0}, + [I(20,169)] = {64,0}, + [I(21,169)] = {64,0}, + [I(22,169)] = {64,0}, + [I(23,169)] = {64,0}, + [I(24,169)] = {64,0}, + [I(25,169)] = {64,0}, + [I(26,169)] = {64,0}, + [I(27,169)] = {64,0}, + [I(28,169)] = {64,0}, + [I(29,169)] = {64,0}, + [I(30,169)] = {64,0}, + [I(31,169)] = {64,0}, + [I(32,169)] = {28,0x53FFFDD}, + [I(33,169)] = {X32,0xFE3FFFDD}, + [I(34,169)] = {X32,0xFE7FFFDD}, + [I(35,169)] = {64,0}, + [I(36,169)] = {64,0}, + [I(37,169)] = {28,0x57FFFDD}, + [I(38,169)] = {30,0x3E3FFFDD}, + [I(39,169)] = {64,0}, + [I(40,169)] = {X32,0xFEBFFFDD}, + [I(41,169)] = {X32,0xFEFFFFDD}, + [I(42,169)] = {30,0x3E7FFFDD}, + [I(43,169)] = {64,0}, + [I(44,169)] = {30,0x3EBFFFDD}, + [I(45,169)] = {28,0x5BFFFDD}, + [I(46,169)] = {28,0x5FFFFDD}, + [I(47,169)] = {28,0x63FFFDD}, + [I(48,169)] = {27,0x3FFFDD}, + [I(49,169)] = {27,0x7FFFDD}, + [I(50,169)] = {27,0xBFFFDD}, + [I(51,169)] = {28,0x67FFFDD}, + [I(52,169)] = {28,0x6BFFFDD}, + [I(53,169)] = {28,0x6FFFFDD}, + [I(54,169)] = {28,0x73FFFDD}, + [I(55,169)] = {28,0x77FFFDD}, + [I(56,169)] = {28,0x7BFFFDD}, + [I(57,169)] = {28,0x7FFFFDD}, + [I(58,169)] = {29,0x173FFFDD}, + [I(59,169)] = {30,0x3EFFFFDD}, + [I(60,169)] = {64,0}, + [I(61,169)] = {28,0x83FFFDD}, + [I(62,169)] = {64,0}, + [I(63,169)] = {X32,0xFF3FFFDD}, + [I(64,169)] = {64,0}, + [I(65,169)] = {28,0x87FFFDD}, + [I(66,169)] = {29,0x177FFFDD}, + [I(67,169)] = {29,0x17BFFFDD}, + [I(68,169)] = {29,0x17FFFFDD}, + [I(69,169)] = {29,0x183FFFDD}, + [I(70,169)] = {29,0x187FFFDD}, + [I(71,169)] = {29,0x18BFFFDD}, + [I(72,169)] = {29,0x18FFFFDD}, + [I(73,169)] = {29,0x193FFFDD}, + [I(74,169)] = {29,0x197FFFDD}, + [I(75,169)] = {29,0x19BFFFDD}, + [I(76,169)] = {29,0x19FFFFDD}, + [I(77,169)] = {29,0x1A3FFFDD}, + [I(78,169)] = {29,0x1A7FFFDD}, + [I(79,169)] = {29,0x1ABFFFDD}, + [I(80,169)] = {29,0x1AFFFFDD}, + [I(81,169)] = {29,0x1B3FFFDD}, + [I(82,169)] = {29,0x1B7FFFDD}, + [I(83,169)] = {29,0x1BBFFFDD}, + [I(84,169)] = {29,0x1BFFFFDD}, + [I(85,169)] = {29,0x1C3FFFDD}, + [I(86,169)] = {29,0x1C7FFFDD}, + [I(87,169)] = {29,0x1CBFFFDD}, + [I(88,169)] = {30,0x3F3FFFDD}, + [I(89,169)] = {29,0x1CFFFFDD}, + [I(90,169)] = {30,0x3F7FFFDD}, + [I(91,169)] = {64,0}, + [I(92,169)] = {64,0}, + [I(93,169)] = {64,0}, + [I(94,169)] = {64,0}, + [I(95,169)] = {28,0x8BFFFDD}, + [I(96,169)] = {64,0}, + [I(97,169)] = {27,0xFFFFDD}, + [I(98,169)] = {28,0x8FFFFDD}, + [I(99,169)] = {27,0x13FFFDD}, + [I(100,169)] = {28,0x93FFFDD}, + [I(101,169)] = {27,0x17FFFDD}, + [I(102,169)] = {28,0x97FFFDD}, + [I(103,169)] = {28,0x9BFFFDD}, + [I(104,169)] = {28,0x9FFFFDD}, + [I(105,169)] = {27,0x1BFFFDD}, + [I(106,169)] = {29,0x1D3FFFDD}, + [I(107,169)] = {29,0x1D7FFFDD}, + [I(108,169)] = {28,0xA3FFFDD}, + [I(109,169)] = {28,0xA7FFFDD}, + [I(110,169)] = {28,0xABFFFDD}, + [I(111,169)] = {27,0x1FFFFDD}, + [I(112,169)] = {28,0xAFFFFDD}, + [I(113,169)] = {29,0x1DBFFFDD}, + [I(114,169)] = {28,0xB3FFFDD}, + [I(115,169)] = {27,0x23FFFDD}, + [I(116,169)] = {27,0x27FFFDD}, + [I(117,169)] = {28,0xB7FFFDD}, + [I(118,169)] = {29,0x1DFFFFDD}, + [I(119,169)] = {29,0x1E3FFFDD}, + [I(120,169)] = {29,0x1E7FFFDD}, + [I(121,169)] = {29,0x1EBFFFDD}, + [I(122,169)] = {29,0x1EFFFFDD}, + [I(123,169)] = {64,0}, + [I(124,169)] = {64,0}, + [I(125,169)] = {64,0}, + [I(126,169)] = {64,0}, + [I(127,169)] = {64,0}, + [I(128,169)] = {64,0}, + [I(129,169)] = {64,0}, + [I(130,169)] = {64,0}, + [I(131,169)] = {64,0}, + [I(132,169)] = {64,0}, + [I(133,169)] = {64,0}, + [I(134,169)] = {64,0}, + [I(135,169)] = {64,0}, + [I(136,169)] = {64,0}, + [I(137,169)] = {64,0}, + [I(138,169)] = {64,0}, + [I(139,169)] = {64,0}, + [I(140,169)] = {64,0}, + [I(141,169)] = {64,0}, + [I(142,169)] = {64,0}, + [I(143,169)] = {64,0}, + [I(144,169)] = {64,0}, + [I(145,169)] = {64,0}, + [I(146,169)] = {64,0}, + [I(147,169)] = {64,0}, + [I(148,169)] = {64,0}, + [I(149,169)] = {64,0}, + [I(150,169)] = {64,0}, + [I(151,169)] = {64,0}, + [I(152,169)] = {64,0}, + [I(153,169)] = {64,0}, + [I(154,169)] = {64,0}, + [I(155,169)] = {64,0}, + [I(156,169)] = {64,0}, + [I(157,169)] = {64,0}, + [I(158,169)] = {64,0}, + [I(159,169)] = {64,0}, + [I(160,169)] = {64,0}, + [I(161,169)] = {64,0}, + [I(162,169)] = {64,0}, + [I(163,169)] = {64,0}, + [I(164,169)] = {64,0}, + [I(165,169)] = {64,0}, + [I(166,169)] = {64,0}, + [I(167,169)] = {64,0}, + [I(168,169)] = {64,0}, + [I(169,169)] = {64,0}, + [I(170,169)] = {64,0}, + [I(171,169)] = {64,0}, + [I(172,169)] = {64,0}, + [I(173,169)] = {64,0}, + [I(174,169)] = {64,0}, + [I(175,169)] = {64,0}, + [I(176,169)] = {64,0}, + [I(177,169)] = {64,0}, + [I(178,169)] = {64,0}, + [I(179,169)] = {64,0}, + [I(180,169)] = {64,0}, + [I(181,169)] = {64,0}, + [I(182,169)] = {64,0}, + [I(183,169)] = {64,0}, + [I(184,169)] = {64,0}, + [I(185,169)] = {64,0}, + [I(186,169)] = {64,0}, + [I(187,169)] = {64,0}, + [I(188,169)] = {64,0}, + [I(189,169)] = {64,0}, + [I(190,169)] = {64,0}, + [I(191,169)] = {64,0}, + [I(192,169)] = {64,0}, + [I(193,169)] = {64,0}, + [I(194,169)] = {64,0}, + [I(195,169)] = {64,0}, + [I(196,169)] = {64,0}, + [I(197,169)] = {64,0}, + [I(198,169)] = {64,0}, + [I(199,169)] = {64,0}, + [I(200,169)] = {64,0}, + [I(201,169)] = {64,0}, + [I(202,169)] = {64,0}, + [I(203,169)] = {64,0}, + [I(204,169)] = {64,0}, + [I(205,169)] = {64,0}, + [I(206,169)] = {64,0}, + [I(207,169)] = {64,0}, + [I(208,169)] = {64,0}, + [I(209,169)] = {64,0}, + [I(210,169)] = {64,0}, + [I(211,169)] = {64,0}, + [I(212,169)] = {64,0}, + [I(213,169)] = {64,0}, + [I(214,169)] = {64,0}, + [I(215,169)] = {64,0}, + [I(216,169)] = {64,0}, + [I(217,169)] = {64,0}, + [I(218,169)] = {64,0}, + [I(219,169)] = {64,0}, + [I(220,169)] = {64,0}, + [I(221,169)] = {64,0}, + [I(222,169)] = {64,0}, + [I(223,169)] = {64,0}, + [I(224,169)] = {64,0}, + [I(225,169)] = {64,0}, + [I(226,169)] = {64,0}, + [I(227,169)] = {64,0}, + [I(228,169)] = {64,0}, + [I(229,169)] = {64,0}, + [I(230,169)] = {64,0}, + [I(231,169)] = {64,0}, + [I(232,169)] = {64,0}, + [I(233,169)] = {64,0}, + [I(234,169)] = {64,0}, + [I(235,169)] = {64,0}, + [I(236,169)] = {64,0}, + [I(237,169)] = {64,0}, + [I(238,169)] = {64,0}, + [I(239,169)] = {64,0}, + [I(240,169)] = {64,0}, + [I(241,169)] = {64,0}, + [I(242,169)] = {64,0}, + [I(243,169)] = {64,0}, + [I(244,169)] = {64,0}, + [I(245,169)] = {64,0}, + [I(246,169)] = {64,0}, + [I(247,169)] = {64,0}, + [I(248,169)] = {64,0}, + [I(249,169)] = {64,0}, + [I(250,169)] = {64,0}, + [I(251,169)] = {64,0}, + [I(252,169)] = {64,0}, + [I(253,169)] = {64,0}, + [I(254,169)] = {64,0}, + [I(255,169)] = {64,0}, + [I(0,170)] = {64,0}, + [I(1,170)] = {64,0}, + [I(2,170)] = {64,0}, + [I(3,170)] = {64,0}, + [I(4,170)] = {64,0}, + [I(5,170)] = {64,0}, + [I(6,170)] = {64,0}, + [I(7,170)] = {64,0}, + [I(8,170)] = {64,0}, + [I(9,170)] = {64,0}, + [I(10,170)] = {64,0}, + [I(11,170)] = {64,0}, + [I(12,170)] = {64,0}, + [I(13,170)] = {64,0}, + [I(14,170)] = {64,0}, + [I(15,170)] = {64,0}, + [I(16,170)] = {64,0}, + [I(17,170)] = {64,0}, + [I(18,170)] = {64,0}, + [I(19,170)] = {64,0}, + [I(20,170)] = {64,0}, + [I(21,170)] = {64,0}, + [I(22,170)] = {64,0}, + [I(23,170)] = {64,0}, + [I(24,170)] = {64,0}, + [I(25,170)] = {64,0}, + [I(26,170)] = {64,0}, + [I(27,170)] = {64,0}, + [I(28,170)] = {64,0}, + [I(29,170)] = {64,0}, + [I(30,170)] = {64,0}, + [I(31,170)] = {64,0}, + [I(32,170)] = {28,0x53FFFDE}, + [I(33,170)] = {X32,0xFE3FFFDE}, + [I(34,170)] = {X32,0xFE7FFFDE}, + [I(35,170)] = {64,0}, + [I(36,170)] = {64,0}, + [I(37,170)] = {28,0x57FFFDE}, + [I(38,170)] = {30,0x3E3FFFDE}, + [I(39,170)] = {64,0}, + [I(40,170)] = {X32,0xFEBFFFDE}, + [I(41,170)] = {X32,0xFEFFFFDE}, + [I(42,170)] = {30,0x3E7FFFDE}, + [I(43,170)] = {64,0}, + [I(44,170)] = {30,0x3EBFFFDE}, + [I(45,170)] = {28,0x5BFFFDE}, + [I(46,170)] = {28,0x5FFFFDE}, + [I(47,170)] = {28,0x63FFFDE}, + [I(48,170)] = {27,0x3FFFDE}, + [I(49,170)] = {27,0x7FFFDE}, + [I(50,170)] = {27,0xBFFFDE}, + [I(51,170)] = {28,0x67FFFDE}, + [I(52,170)] = {28,0x6BFFFDE}, + [I(53,170)] = {28,0x6FFFFDE}, + [I(54,170)] = {28,0x73FFFDE}, + [I(55,170)] = {28,0x77FFFDE}, + [I(56,170)] = {28,0x7BFFFDE}, + [I(57,170)] = {28,0x7FFFFDE}, + [I(58,170)] = {29,0x173FFFDE}, + [I(59,170)] = {30,0x3EFFFFDE}, + [I(60,170)] = {64,0}, + [I(61,170)] = {28,0x83FFFDE}, + [I(62,170)] = {64,0}, + [I(63,170)] = {X32,0xFF3FFFDE}, + [I(64,170)] = {64,0}, + [I(65,170)] = {28,0x87FFFDE}, + [I(66,170)] = {29,0x177FFFDE}, + [I(67,170)] = {29,0x17BFFFDE}, + [I(68,170)] = {29,0x17FFFFDE}, + [I(69,170)] = {29,0x183FFFDE}, + [I(70,170)] = {29,0x187FFFDE}, + [I(71,170)] = {29,0x18BFFFDE}, + [I(72,170)] = {29,0x18FFFFDE}, + [I(73,170)] = {29,0x193FFFDE}, + [I(74,170)] = {29,0x197FFFDE}, + [I(75,170)] = {29,0x19BFFFDE}, + [I(76,170)] = {29,0x19FFFFDE}, + [I(77,170)] = {29,0x1A3FFFDE}, + [I(78,170)] = {29,0x1A7FFFDE}, + [I(79,170)] = {29,0x1ABFFFDE}, + [I(80,170)] = {29,0x1AFFFFDE}, + [I(81,170)] = {29,0x1B3FFFDE}, + [I(82,170)] = {29,0x1B7FFFDE}, + [I(83,170)] = {29,0x1BBFFFDE}, + [I(84,170)] = {29,0x1BFFFFDE}, + [I(85,170)] = {29,0x1C3FFFDE}, + [I(86,170)] = {29,0x1C7FFFDE}, + [I(87,170)] = {29,0x1CBFFFDE}, + [I(88,170)] = {30,0x3F3FFFDE}, + [I(89,170)] = {29,0x1CFFFFDE}, + [I(90,170)] = {30,0x3F7FFFDE}, + [I(91,170)] = {64,0}, + [I(92,170)] = {64,0}, + [I(93,170)] = {64,0}, + [I(94,170)] = {64,0}, + [I(95,170)] = {28,0x8BFFFDE}, + [I(96,170)] = {64,0}, + [I(97,170)] = {27,0xFFFFDE}, + [I(98,170)] = {28,0x8FFFFDE}, + [I(99,170)] = {27,0x13FFFDE}, + [I(100,170)] = {28,0x93FFFDE}, + [I(101,170)] = {27,0x17FFFDE}, + [I(102,170)] = {28,0x97FFFDE}, + [I(103,170)] = {28,0x9BFFFDE}, + [I(104,170)] = {28,0x9FFFFDE}, + [I(105,170)] = {27,0x1BFFFDE}, + [I(106,170)] = {29,0x1D3FFFDE}, + [I(107,170)] = {29,0x1D7FFFDE}, + [I(108,170)] = {28,0xA3FFFDE}, + [I(109,170)] = {28,0xA7FFFDE}, + [I(110,170)] = {28,0xABFFFDE}, + [I(111,170)] = {27,0x1FFFFDE}, + [I(112,170)] = {28,0xAFFFFDE}, + [I(113,170)] = {29,0x1DBFFFDE}, + [I(114,170)] = {28,0xB3FFFDE}, + [I(115,170)] = {27,0x23FFFDE}, + [I(116,170)] = {27,0x27FFFDE}, + [I(117,170)] = {28,0xB7FFFDE}, + [I(118,170)] = {29,0x1DFFFFDE}, + [I(119,170)] = {29,0x1E3FFFDE}, + [I(120,170)] = {29,0x1E7FFFDE}, + [I(121,170)] = {29,0x1EBFFFDE}, + [I(122,170)] = {29,0x1EFFFFDE}, + [I(123,170)] = {64,0}, + [I(124,170)] = {64,0}, + [I(125,170)] = {64,0}, + [I(126,170)] = {64,0}, + [I(127,170)] = {64,0}, + [I(128,170)] = {64,0}, + [I(129,170)] = {64,0}, + [I(130,170)] = {64,0}, + [I(131,170)] = {64,0}, + [I(132,170)] = {64,0}, + [I(133,170)] = {64,0}, + [I(134,170)] = {64,0}, + [I(135,170)] = {64,0}, + [I(136,170)] = {64,0}, + [I(137,170)] = {64,0}, + [I(138,170)] = {64,0}, + [I(139,170)] = {64,0}, + [I(140,170)] = {64,0}, + [I(141,170)] = {64,0}, + [I(142,170)] = {64,0}, + [I(143,170)] = {64,0}, + [I(144,170)] = {64,0}, + [I(145,170)] = {64,0}, + [I(146,170)] = {64,0}, + [I(147,170)] = {64,0}, + [I(148,170)] = {64,0}, + [I(149,170)] = {64,0}, + [I(150,170)] = {64,0}, + [I(151,170)] = {64,0}, + [I(152,170)] = {64,0}, + [I(153,170)] = {64,0}, + [I(154,170)] = {64,0}, + [I(155,170)] = {64,0}, + [I(156,170)] = {64,0}, + [I(157,170)] = {64,0}, + [I(158,170)] = {64,0}, + [I(159,170)] = {64,0}, + [I(160,170)] = {64,0}, + [I(161,170)] = {64,0}, + [I(162,170)] = {64,0}, + [I(163,170)] = {64,0}, + [I(164,170)] = {64,0}, + [I(165,170)] = {64,0}, + [I(166,170)] = {64,0}, + [I(167,170)] = {64,0}, + [I(168,170)] = {64,0}, + [I(169,170)] = {64,0}, + [I(170,170)] = {64,0}, + [I(171,170)] = {64,0}, + [I(172,170)] = {64,0}, + [I(173,170)] = {64,0}, + [I(174,170)] = {64,0}, + [I(175,170)] = {64,0}, + [I(176,170)] = {64,0}, + [I(177,170)] = {64,0}, + [I(178,170)] = {64,0}, + [I(179,170)] = {64,0}, + [I(180,170)] = {64,0}, + [I(181,170)] = {64,0}, + [I(182,170)] = {64,0}, + [I(183,170)] = {64,0}, + [I(184,170)] = {64,0}, + [I(185,170)] = {64,0}, + [I(186,170)] = {64,0}, + [I(187,170)] = {64,0}, + [I(188,170)] = {64,0}, + [I(189,170)] = {64,0}, + [I(190,170)] = {64,0}, + [I(191,170)] = {64,0}, + [I(192,170)] = {64,0}, + [I(193,170)] = {64,0}, + [I(194,170)] = {64,0}, + [I(195,170)] = {64,0}, + [I(196,170)] = {64,0}, + [I(197,170)] = {64,0}, + [I(198,170)] = {64,0}, + [I(199,170)] = {64,0}, + [I(200,170)] = {64,0}, + [I(201,170)] = {64,0}, + [I(202,170)] = {64,0}, + [I(203,170)] = {64,0}, + [I(204,170)] = {64,0}, + [I(205,170)] = {64,0}, + [I(206,170)] = {64,0}, + [I(207,170)] = {64,0}, + [I(208,170)] = {64,0}, + [I(209,170)] = {64,0}, + [I(210,170)] = {64,0}, + [I(211,170)] = {64,0}, + [I(212,170)] = {64,0}, + [I(213,170)] = {64,0}, + [I(214,170)] = {64,0}, + [I(215,170)] = {64,0}, + [I(216,170)] = {64,0}, + [I(217,170)] = {64,0}, + [I(218,170)] = {64,0}, + [I(219,170)] = {64,0}, + [I(220,170)] = {64,0}, + [I(221,170)] = {64,0}, + [I(222,170)] = {64,0}, + [I(223,170)] = {64,0}, + [I(224,170)] = {64,0}, + [I(225,170)] = {64,0}, + [I(226,170)] = {64,0}, + [I(227,170)] = {64,0}, + [I(228,170)] = {64,0}, + [I(229,170)] = {64,0}, + [I(230,170)] = {64,0}, + [I(231,170)] = {64,0}, + [I(232,170)] = {64,0}, + [I(233,170)] = {64,0}, + [I(234,170)] = {64,0}, + [I(235,170)] = {64,0}, + [I(236,170)] = {64,0}, + [I(237,170)] = {64,0}, + [I(238,170)] = {64,0}, + [I(239,170)] = {64,0}, + [I(240,170)] = {64,0}, + [I(241,170)] = {64,0}, + [I(242,170)] = {64,0}, + [I(243,170)] = {64,0}, + [I(244,170)] = {64,0}, + [I(245,170)] = {64,0}, + [I(246,170)] = {64,0}, + [I(247,170)] = {64,0}, + [I(248,170)] = {64,0}, + [I(249,170)] = {64,0}, + [I(250,170)] = {64,0}, + [I(251,170)] = {64,0}, + [I(252,170)] = {64,0}, + [I(253,170)] = {64,0}, + [I(254,170)] = {64,0}, + [I(255,170)] = {64,0}, + [I(0,171)] = {64,0}, + [I(1,171)] = {64,0}, + [I(2,171)] = {64,0}, + [I(3,171)] = {64,0}, + [I(4,171)] = {64,0}, + [I(5,171)] = {64,0}, + [I(6,171)] = {64,0}, + [I(7,171)] = {64,0}, + [I(8,171)] = {64,0}, + [I(9,171)] = {64,0}, + [I(10,171)] = {64,0}, + [I(11,171)] = {64,0}, + [I(12,171)] = {64,0}, + [I(13,171)] = {64,0}, + [I(14,171)] = {64,0}, + [I(15,171)] = {64,0}, + [I(16,171)] = {64,0}, + [I(17,171)] = {64,0}, + [I(18,171)] = {64,0}, + [I(19,171)] = {64,0}, + [I(20,171)] = {64,0}, + [I(21,171)] = {64,0}, + [I(22,171)] = {64,0}, + [I(23,171)] = {64,0}, + [I(24,171)] = {64,0}, + [I(25,171)] = {64,0}, + [I(26,171)] = {64,0}, + [I(27,171)] = {64,0}, + [I(28,171)] = {64,0}, + [I(29,171)] = {64,0}, + [I(30,171)] = {64,0}, + [I(31,171)] = {64,0}, + [I(32,171)] = {30,0x14FFFFF0}, + [I(33,171)] = {64,0}, + [I(34,171)] = {64,0}, + [I(35,171)] = {64,0}, + [I(36,171)] = {64,0}, + [I(37,171)] = {30,0x15FFFFF0}, + [I(38,171)] = {X32,0xF8FFFFF0}, + [I(39,171)] = {64,0}, + [I(40,171)] = {64,0}, + [I(41,171)] = {64,0}, + [I(42,171)] = {X32,0xF9FFFFF0}, + [I(43,171)] = {64,0}, + [I(44,171)] = {X32,0xFAFFFFF0}, + [I(45,171)] = {30,0x16FFFFF0}, + [I(46,171)] = {30,0x17FFFFF0}, + [I(47,171)] = {30,0x18FFFFF0}, + [I(48,171)] = {29,0xFFFFF0}, + [I(49,171)] = {29,0x1FFFFF0}, + [I(50,171)] = {29,0x2FFFFF0}, + [I(51,171)] = {30,0x19FFFFF0}, + [I(52,171)] = {30,0x1AFFFFF0}, + [I(53,171)] = {30,0x1BFFFFF0}, + [I(54,171)] = {30,0x1CFFFFF0}, + [I(55,171)] = {30,0x1DFFFFF0}, + [I(56,171)] = {30,0x1EFFFFF0}, + [I(57,171)] = {30,0x1FFFFFF0}, + [I(58,171)] = {31,0x5CFFFFF0}, + [I(59,171)] = {X32,0xFBFFFFF0}, + [I(60,171)] = {64,0}, + [I(61,171)] = {30,0x20FFFFF0}, + [I(62,171)] = {64,0}, + [I(63,171)] = {64,0}, + [I(64,171)] = {64,0}, + [I(65,171)] = {30,0x21FFFFF0}, + [I(66,171)] = {31,0x5DFFFFF0}, + [I(67,171)] = {31,0x5EFFFFF0}, + [I(68,171)] = {31,0x5FFFFFF0}, + [I(69,171)] = {31,0x60FFFFF0}, + [I(70,171)] = {31,0x61FFFFF0}, + [I(71,171)] = {31,0x62FFFFF0}, + [I(72,171)] = {31,0x63FFFFF0}, + [I(73,171)] = {31,0x64FFFFF0}, + [I(74,171)] = {31,0x65FFFFF0}, + [I(75,171)] = {31,0x66FFFFF0}, + [I(76,171)] = {31,0x67FFFFF0}, + [I(77,171)] = {31,0x68FFFFF0}, + [I(78,171)] = {31,0x69FFFFF0}, + [I(79,171)] = {31,0x6AFFFFF0}, + [I(80,171)] = {31,0x6BFFFFF0}, + [I(81,171)] = {31,0x6CFFFFF0}, + [I(82,171)] = {31,0x6DFFFFF0}, + [I(83,171)] = {31,0x6EFFFFF0}, + [I(84,171)] = {31,0x6FFFFFF0}, + [I(85,171)] = {31,0x70FFFFF0}, + [I(86,171)] = {31,0x71FFFFF0}, + [I(87,171)] = {31,0x72FFFFF0}, + [I(88,171)] = {X32,0xFCFFFFF0}, + [I(89,171)] = {31,0x73FFFFF0}, + [I(90,171)] = {X32,0xFDFFFFF0}, + [I(91,171)] = {64,0}, + [I(92,171)] = {64,0}, + [I(93,171)] = {64,0}, + [I(94,171)] = {64,0}, + [I(95,171)] = {30,0x22FFFFF0}, + [I(96,171)] = {64,0}, + [I(97,171)] = {29,0x3FFFFF0}, + [I(98,171)] = {30,0x23FFFFF0}, + [I(99,171)] = {29,0x4FFFFF0}, + [I(100,171)] = {30,0x24FFFFF0}, + [I(101,171)] = {29,0x5FFFFF0}, + [I(102,171)] = {30,0x25FFFFF0}, + [I(103,171)] = {30,0x26FFFFF0}, + [I(104,171)] = {30,0x27FFFFF0}, + [I(105,171)] = {29,0x6FFFFF0}, + [I(106,171)] = {31,0x74FFFFF0}, + [I(107,171)] = {31,0x75FFFFF0}, + [I(108,171)] = {30,0x28FFFFF0}, + [I(109,171)] = {30,0x29FFFFF0}, + [I(110,171)] = {30,0x2AFFFFF0}, + [I(111,171)] = {29,0x7FFFFF0}, + [I(112,171)] = {30,0x2BFFFFF0}, + [I(113,171)] = {31,0x76FFFFF0}, + [I(114,171)] = {30,0x2CFFFFF0}, + [I(115,171)] = {29,0x8FFFFF0}, + [I(116,171)] = {29,0x9FFFFF0}, + [I(117,171)] = {30,0x2DFFFFF0}, + [I(118,171)] = {31,0x77FFFFF0}, + [I(119,171)] = {31,0x78FFFFF0}, + [I(120,171)] = {31,0x79FFFFF0}, + [I(121,171)] = {31,0x7AFFFFF0}, + [I(122,171)] = {31,0x7BFFFFF0}, + [I(123,171)] = {64,0}, + [I(124,171)] = {64,0}, + [I(125,171)] = {64,0}, + [I(126,171)] = {64,0}, + [I(127,171)] = {64,0}, + [I(128,171)] = {64,0}, + [I(129,171)] = {64,0}, + [I(130,171)] = {64,0}, + [I(131,171)] = {64,0}, + [I(132,171)] = {64,0}, + [I(133,171)] = {64,0}, + [I(134,171)] = {64,0}, + [I(135,171)] = {64,0}, + [I(136,171)] = {64,0}, + [I(137,171)] = {64,0}, + [I(138,171)] = {64,0}, + [I(139,171)] = {64,0}, + [I(140,171)] = {64,0}, + [I(141,171)] = {64,0}, + [I(142,171)] = {64,0}, + [I(143,171)] = {64,0}, + [I(144,171)] = {64,0}, + [I(145,171)] = {64,0}, + [I(146,171)] = {64,0}, + [I(147,171)] = {64,0}, + [I(148,171)] = {64,0}, + [I(149,171)] = {64,0}, + [I(150,171)] = {64,0}, + [I(151,171)] = {64,0}, + [I(152,171)] = {64,0}, + [I(153,171)] = {64,0}, + [I(154,171)] = {64,0}, + [I(155,171)] = {64,0}, + [I(156,171)] = {64,0}, + [I(157,171)] = {64,0}, + [I(158,171)] = {64,0}, + [I(159,171)] = {64,0}, + [I(160,171)] = {64,0}, + [I(161,171)] = {64,0}, + [I(162,171)] = {64,0}, + [I(163,171)] = {64,0}, + [I(164,171)] = {64,0}, + [I(165,171)] = {64,0}, + [I(166,171)] = {64,0}, + [I(167,171)] = {64,0}, + [I(168,171)] = {64,0}, + [I(169,171)] = {64,0}, + [I(170,171)] = {64,0}, + [I(171,171)] = {64,0}, + [I(172,171)] = {64,0}, + [I(173,171)] = {64,0}, + [I(174,171)] = {64,0}, + [I(175,171)] = {64,0}, + [I(176,171)] = {64,0}, + [I(177,171)] = {64,0}, + [I(178,171)] = {64,0}, + [I(179,171)] = {64,0}, + [I(180,171)] = {64,0}, + [I(181,171)] = {64,0}, + [I(182,171)] = {64,0}, + [I(183,171)] = {64,0}, + [I(184,171)] = {64,0}, + [I(185,171)] = {64,0}, + [I(186,171)] = {64,0}, + [I(187,171)] = {64,0}, + [I(188,171)] = {64,0}, + [I(189,171)] = {64,0}, + [I(190,171)] = {64,0}, + [I(191,171)] = {64,0}, + [I(192,171)] = {64,0}, + [I(193,171)] = {64,0}, + [I(194,171)] = {64,0}, + [I(195,171)] = {64,0}, + [I(196,171)] = {64,0}, + [I(197,171)] = {64,0}, + [I(198,171)] = {64,0}, + [I(199,171)] = {64,0}, + [I(200,171)] = {64,0}, + [I(201,171)] = {64,0}, + [I(202,171)] = {64,0}, + [I(203,171)] = {64,0}, + [I(204,171)] = {64,0}, + [I(205,171)] = {64,0}, + [I(206,171)] = {64,0}, + [I(207,171)] = {64,0}, + [I(208,171)] = {64,0}, + [I(209,171)] = {64,0}, + [I(210,171)] = {64,0}, + [I(211,171)] = {64,0}, + [I(212,171)] = {64,0}, + [I(213,171)] = {64,0}, + [I(214,171)] = {64,0}, + [I(215,171)] = {64,0}, + [I(216,171)] = {64,0}, + [I(217,171)] = {64,0}, + [I(218,171)] = {64,0}, + [I(219,171)] = {64,0}, + [I(220,171)] = {64,0}, + [I(221,171)] = {64,0}, + [I(222,171)] = {64,0}, + [I(223,171)] = {64,0}, + [I(224,171)] = {64,0}, + [I(225,171)] = {64,0}, + [I(226,171)] = {64,0}, + [I(227,171)] = {64,0}, + [I(228,171)] = {64,0}, + [I(229,171)] = {64,0}, + [I(230,171)] = {64,0}, + [I(231,171)] = {64,0}, + [I(232,171)] = {64,0}, + [I(233,171)] = {64,0}, + [I(234,171)] = {64,0}, + [I(235,171)] = {64,0}, + [I(236,171)] = {64,0}, + [I(237,171)] = {64,0}, + [I(238,171)] = {64,0}, + [I(239,171)] = {64,0}, + [I(240,171)] = {64,0}, + [I(241,171)] = {64,0}, + [I(242,171)] = {64,0}, + [I(243,171)] = {64,0}, + [I(244,171)] = {64,0}, + [I(245,171)] = {64,0}, + [I(246,171)] = {64,0}, + [I(247,171)] = {64,0}, + [I(248,171)] = {64,0}, + [I(249,171)] = {64,0}, + [I(250,171)] = {64,0}, + [I(251,171)] = {64,0}, + [I(252,171)] = {64,0}, + [I(253,171)] = {64,0}, + [I(254,171)] = {64,0}, + [I(255,171)] = {64,0}, + [I(0,172)] = {64,0}, + [I(1,172)] = {64,0}, + [I(2,172)] = {64,0}, + [I(3,172)] = {64,0}, + [I(4,172)] = {64,0}, + [I(5,172)] = {64,0}, + [I(6,172)] = {64,0}, + [I(7,172)] = {64,0}, + [I(8,172)] = {64,0}, + [I(9,172)] = {64,0}, + [I(10,172)] = {64,0}, + [I(11,172)] = {64,0}, + [I(12,172)] = {64,0}, + [I(13,172)] = {64,0}, + [I(14,172)] = {64,0}, + [I(15,172)] = {64,0}, + [I(16,172)] = {64,0}, + [I(17,172)] = {64,0}, + [I(18,172)] = {64,0}, + [I(19,172)] = {64,0}, + [I(20,172)] = {64,0}, + [I(21,172)] = {64,0}, + [I(22,172)] = {64,0}, + [I(23,172)] = {64,0}, + [I(24,172)] = {64,0}, + [I(25,172)] = {64,0}, + [I(26,172)] = {64,0}, + [I(27,172)] = {64,0}, + [I(28,172)] = {64,0}, + [I(29,172)] = {64,0}, + [I(30,172)] = {64,0}, + [I(31,172)] = {64,0}, + [I(32,172)] = {27,0x29FFFDF}, + [I(33,172)] = {31,0x7F1FFFDF}, + [I(34,172)] = {31,0x7F3FFFDF}, + [I(35,172)] = {64,0}, + [I(36,172)] = {64,0}, + [I(37,172)] = {27,0x2BFFFDF}, + [I(38,172)] = {29,0x1F1FFFDF}, + [I(39,172)] = {X32,0xFF5FFFDF}, + [I(40,172)] = {31,0x7F5FFFDF}, + [I(41,172)] = {31,0x7F7FFFDF}, + [I(42,172)] = {29,0x1F3FFFDF}, + [I(43,172)] = {X32,0xFF7FFFDF}, + [I(44,172)] = {29,0x1F5FFFDF}, + [I(45,172)] = {27,0x2DFFFDF}, + [I(46,172)] = {27,0x2FFFFDF}, + [I(47,172)] = {27,0x31FFFDF}, + [I(48,172)] = {26,0x1FFFDF}, + [I(49,172)] = {26,0x3FFFDF}, + [I(50,172)] = {26,0x5FFFDF}, + [I(51,172)] = {27,0x33FFFDF}, + [I(52,172)] = {27,0x35FFFDF}, + [I(53,172)] = {27,0x37FFFDF}, + [I(54,172)] = {27,0x39FFFDF}, + [I(55,172)] = {27,0x3BFFFDF}, + [I(56,172)] = {27,0x3DFFFDF}, + [I(57,172)] = {27,0x3FFFFDF}, + [I(58,172)] = {28,0xB9FFFDF}, + [I(59,172)] = {29,0x1F7FFFDF}, + [I(60,172)] = {64,0}, + [I(61,172)] = {27,0x41FFFDF}, + [I(62,172)] = {64,0}, + [I(63,172)] = {31,0x7F9FFFDF}, + [I(64,172)] = {64,0}, + [I(65,172)] = {27,0x43FFFDF}, + [I(66,172)] = {28,0xBBFFFDF}, + [I(67,172)] = {28,0xBDFFFDF}, + [I(68,172)] = {28,0xBFFFFDF}, + [I(69,172)] = {28,0xC1FFFDF}, + [I(70,172)] = {28,0xC3FFFDF}, + [I(71,172)] = {28,0xC5FFFDF}, + [I(72,172)] = {28,0xC7FFFDF}, + [I(73,172)] = {28,0xC9FFFDF}, + [I(74,172)] = {28,0xCBFFFDF}, + [I(75,172)] = {28,0xCDFFFDF}, + [I(76,172)] = {28,0xCFFFFDF}, + [I(77,172)] = {28,0xD1FFFDF}, + [I(78,172)] = {28,0xD3FFFDF}, + [I(79,172)] = {28,0xD5FFFDF}, + [I(80,172)] = {28,0xD7FFFDF}, + [I(81,172)] = {28,0xD9FFFDF}, + [I(82,172)] = {28,0xDBFFFDF}, + [I(83,172)] = {28,0xDDFFFDF}, + [I(84,172)] = {28,0xDFFFFDF}, + [I(85,172)] = {28,0xE1FFFDF}, + [I(86,172)] = {28,0xE3FFFDF}, + [I(87,172)] = {28,0xE5FFFDF}, + [I(88,172)] = {29,0x1F9FFFDF}, + [I(89,172)] = {28,0xE7FFFDF}, + [I(90,172)] = {29,0x1FBFFFDF}, + [I(91,172)] = {64,0}, + [I(92,172)] = {64,0}, + [I(93,172)] = {64,0}, + [I(94,172)] = {64,0}, + [I(95,172)] = {27,0x45FFFDF}, + [I(96,172)] = {64,0}, + [I(97,172)] = {26,0x7FFFDF}, + [I(98,172)] = {27,0x47FFFDF}, + [I(99,172)] = {26,0x9FFFDF}, + [I(100,172)] = {27,0x49FFFDF}, + [I(101,172)] = {26,0xBFFFDF}, + [I(102,172)] = {27,0x4BFFFDF}, + [I(103,172)] = {27,0x4DFFFDF}, + [I(104,172)] = {27,0x4FFFFDF}, + [I(105,172)] = {26,0xDFFFDF}, + [I(106,172)] = {28,0xE9FFFDF}, + [I(107,172)] = {28,0xEBFFFDF}, + [I(108,172)] = {27,0x51FFFDF}, + [I(109,172)] = {27,0x53FFFDF}, + [I(110,172)] = {27,0x55FFFDF}, + [I(111,172)] = {26,0xFFFFDF}, + [I(112,172)] = {27,0x57FFFDF}, + [I(113,172)] = {28,0xEDFFFDF}, + [I(114,172)] = {27,0x59FFFDF}, + [I(115,172)] = {26,0x11FFFDF}, + [I(116,172)] = {26,0x13FFFDF}, + [I(117,172)] = {27,0x5BFFFDF}, + [I(118,172)] = {28,0xEFFFFDF}, + [I(119,172)] = {28,0xF1FFFDF}, + [I(120,172)] = {28,0xF3FFFDF}, + [I(121,172)] = {28,0xF5FFFDF}, + [I(122,172)] = {28,0xF7FFFDF}, + [I(123,172)] = {64,0}, + [I(124,172)] = {X32,0xFF9FFFDF}, + [I(125,172)] = {64,0}, + [I(126,172)] = {64,0}, + [I(127,172)] = {64,0}, + [I(128,172)] = {64,0}, + [I(129,172)] = {64,0}, + [I(130,172)] = {64,0}, + [I(131,172)] = {64,0}, + [I(132,172)] = {64,0}, + [I(133,172)] = {64,0}, + [I(134,172)] = {64,0}, + [I(135,172)] = {64,0}, + [I(136,172)] = {64,0}, + [I(137,172)] = {64,0}, + [I(138,172)] = {64,0}, + [I(139,172)] = {64,0}, + [I(140,172)] = {64,0}, + [I(141,172)] = {64,0}, + [I(142,172)] = {64,0}, + [I(143,172)] = {64,0}, + [I(144,172)] = {64,0}, + [I(145,172)] = {64,0}, + [I(146,172)] = {64,0}, + [I(147,172)] = {64,0}, + [I(148,172)] = {64,0}, + [I(149,172)] = {64,0}, + [I(150,172)] = {64,0}, + [I(151,172)] = {64,0}, + [I(152,172)] = {64,0}, + [I(153,172)] = {64,0}, + [I(154,172)] = {64,0}, + [I(155,172)] = {64,0}, + [I(156,172)] = {64,0}, + [I(157,172)] = {64,0}, + [I(158,172)] = {64,0}, + [I(159,172)] = {64,0}, + [I(160,172)] = {64,0}, + [I(161,172)] = {64,0}, + [I(162,172)] = {64,0}, + [I(163,172)] = {64,0}, + [I(164,172)] = {64,0}, + [I(165,172)] = {64,0}, + [I(166,172)] = {64,0}, + [I(167,172)] = {64,0}, + [I(168,172)] = {64,0}, + [I(169,172)] = {64,0}, + [I(170,172)] = {64,0}, + [I(171,172)] = {64,0}, + [I(172,172)] = {64,0}, + [I(173,172)] = {64,0}, + [I(174,172)] = {64,0}, + [I(175,172)] = {64,0}, + [I(176,172)] = {64,0}, + [I(177,172)] = {64,0}, + [I(178,172)] = {64,0}, + [I(179,172)] = {64,0}, + [I(180,172)] = {64,0}, + [I(181,172)] = {64,0}, + [I(182,172)] = {64,0}, + [I(183,172)] = {64,0}, + [I(184,172)] = {64,0}, + [I(185,172)] = {64,0}, + [I(186,172)] = {64,0}, + [I(187,172)] = {64,0}, + [I(188,172)] = {64,0}, + [I(189,172)] = {64,0}, + [I(190,172)] = {64,0}, + [I(191,172)] = {64,0}, + [I(192,172)] = {64,0}, + [I(193,172)] = {64,0}, + [I(194,172)] = {64,0}, + [I(195,172)] = {64,0}, + [I(196,172)] = {64,0}, + [I(197,172)] = {64,0}, + [I(198,172)] = {64,0}, + [I(199,172)] = {64,0}, + [I(200,172)] = {64,0}, + [I(201,172)] = {64,0}, + [I(202,172)] = {64,0}, + [I(203,172)] = {64,0}, + [I(204,172)] = {64,0}, + [I(205,172)] = {64,0}, + [I(206,172)] = {64,0}, + [I(207,172)] = {64,0}, + [I(208,172)] = {64,0}, + [I(209,172)] = {64,0}, + [I(210,172)] = {64,0}, + [I(211,172)] = {64,0}, + [I(212,172)] = {64,0}, + [I(213,172)] = {64,0}, + [I(214,172)] = {64,0}, + [I(215,172)] = {64,0}, + [I(216,172)] = {64,0}, + [I(217,172)] = {64,0}, + [I(218,172)] = {64,0}, + [I(219,172)] = {64,0}, + [I(220,172)] = {64,0}, + [I(221,172)] = {64,0}, + [I(222,172)] = {64,0}, + [I(223,172)] = {64,0}, + [I(224,172)] = {64,0}, + [I(225,172)] = {64,0}, + [I(226,172)] = {64,0}, + [I(227,172)] = {64,0}, + [I(228,172)] = {64,0}, + [I(229,172)] = {64,0}, + [I(230,172)] = {64,0}, + [I(231,172)] = {64,0}, + [I(232,172)] = {64,0}, + [I(233,172)] = {64,0}, + [I(234,172)] = {64,0}, + [I(235,172)] = {64,0}, + [I(236,172)] = {64,0}, + [I(237,172)] = {64,0}, + [I(238,172)] = {64,0}, + [I(239,172)] = {64,0}, + [I(240,172)] = {64,0}, + [I(241,172)] = {64,0}, + [I(242,172)] = {64,0}, + [I(243,172)] = {64,0}, + [I(244,172)] = {64,0}, + [I(245,172)] = {64,0}, + [I(246,172)] = {64,0}, + [I(247,172)] = {64,0}, + [I(248,172)] = {64,0}, + [I(249,172)] = {64,0}, + [I(250,172)] = {64,0}, + [I(251,172)] = {64,0}, + [I(252,172)] = {64,0}, + [I(253,172)] = {64,0}, + [I(254,172)] = {64,0}, + [I(255,172)] = {64,0}, + [I(0,173)] = {64,0}, + [I(1,173)] = {64,0}, + [I(2,173)] = {64,0}, + [I(3,173)] = {64,0}, + [I(4,173)] = {64,0}, + [I(5,173)] = {64,0}, + [I(6,173)] = {64,0}, + [I(7,173)] = {64,0}, + [I(8,173)] = {64,0}, + [I(9,173)] = {64,0}, + [I(10,173)] = {64,0}, + [I(11,173)] = {64,0}, + [I(12,173)] = {64,0}, + [I(13,173)] = {64,0}, + [I(14,173)] = {64,0}, + [I(15,173)] = {64,0}, + [I(16,173)] = {64,0}, + [I(17,173)] = {64,0}, + [I(18,173)] = {64,0}, + [I(19,173)] = {64,0}, + [I(20,173)] = {64,0}, + [I(21,173)] = {64,0}, + [I(22,173)] = {64,0}, + [I(23,173)] = {64,0}, + [I(24,173)] = {64,0}, + [I(25,173)] = {64,0}, + [I(26,173)] = {64,0}, + [I(27,173)] = {64,0}, + [I(28,173)] = {64,0}, + [I(29,173)] = {64,0}, + [I(30,173)] = {64,0}, + [I(31,173)] = {64,0}, + [I(32,173)] = {28,0x53FFFDF}, + [I(33,173)] = {X32,0xFE3FFFDF}, + [I(34,173)] = {X32,0xFE7FFFDF}, + [I(35,173)] = {64,0}, + [I(36,173)] = {64,0}, + [I(37,173)] = {28,0x57FFFDF}, + [I(38,173)] = {30,0x3E3FFFDF}, + [I(39,173)] = {64,0}, + [I(40,173)] = {X32,0xFEBFFFDF}, + [I(41,173)] = {X32,0xFEFFFFDF}, + [I(42,173)] = {30,0x3E7FFFDF}, + [I(43,173)] = {64,0}, + [I(44,173)] = {30,0x3EBFFFDF}, + [I(45,173)] = {28,0x5BFFFDF}, + [I(46,173)] = {28,0x5FFFFDF}, + [I(47,173)] = {28,0x63FFFDF}, + [I(48,173)] = {27,0x3FFFDF}, + [I(49,173)] = {27,0x7FFFDF}, + [I(50,173)] = {27,0xBFFFDF}, + [I(51,173)] = {28,0x67FFFDF}, + [I(52,173)] = {28,0x6BFFFDF}, + [I(53,173)] = {28,0x6FFFFDF}, + [I(54,173)] = {28,0x73FFFDF}, + [I(55,173)] = {28,0x77FFFDF}, + [I(56,173)] = {28,0x7BFFFDF}, + [I(57,173)] = {28,0x7FFFFDF}, + [I(58,173)] = {29,0x173FFFDF}, + [I(59,173)] = {30,0x3EFFFFDF}, + [I(60,173)] = {64,0}, + [I(61,173)] = {28,0x83FFFDF}, + [I(62,173)] = {64,0}, + [I(63,173)] = {X32,0xFF3FFFDF}, + [I(64,173)] = {64,0}, + [I(65,173)] = {28,0x87FFFDF}, + [I(66,173)] = {29,0x177FFFDF}, + [I(67,173)] = {29,0x17BFFFDF}, + [I(68,173)] = {29,0x17FFFFDF}, + [I(69,173)] = {29,0x183FFFDF}, + [I(70,173)] = {29,0x187FFFDF}, + [I(71,173)] = {29,0x18BFFFDF}, + [I(72,173)] = {29,0x18FFFFDF}, + [I(73,173)] = {29,0x193FFFDF}, + [I(74,173)] = {29,0x197FFFDF}, + [I(75,173)] = {29,0x19BFFFDF}, + [I(76,173)] = {29,0x19FFFFDF}, + [I(77,173)] = {29,0x1A3FFFDF}, + [I(78,173)] = {29,0x1A7FFFDF}, + [I(79,173)] = {29,0x1ABFFFDF}, + [I(80,173)] = {29,0x1AFFFFDF}, + [I(81,173)] = {29,0x1B3FFFDF}, + [I(82,173)] = {29,0x1B7FFFDF}, + [I(83,173)] = {29,0x1BBFFFDF}, + [I(84,173)] = {29,0x1BFFFFDF}, + [I(85,173)] = {29,0x1C3FFFDF}, + [I(86,173)] = {29,0x1C7FFFDF}, + [I(87,173)] = {29,0x1CBFFFDF}, + [I(88,173)] = {30,0x3F3FFFDF}, + [I(89,173)] = {29,0x1CFFFFDF}, + [I(90,173)] = {30,0x3F7FFFDF}, + [I(91,173)] = {64,0}, + [I(92,173)] = {64,0}, + [I(93,173)] = {64,0}, + [I(94,173)] = {64,0}, + [I(95,173)] = {28,0x8BFFFDF}, + [I(96,173)] = {64,0}, + [I(97,173)] = {27,0xFFFFDF}, + [I(98,173)] = {28,0x8FFFFDF}, + [I(99,173)] = {27,0x13FFFDF}, + [I(100,173)] = {28,0x93FFFDF}, + [I(101,173)] = {27,0x17FFFDF}, + [I(102,173)] = {28,0x97FFFDF}, + [I(103,173)] = {28,0x9BFFFDF}, + [I(104,173)] = {28,0x9FFFFDF}, + [I(105,173)] = {27,0x1BFFFDF}, + [I(106,173)] = {29,0x1D3FFFDF}, + [I(107,173)] = {29,0x1D7FFFDF}, + [I(108,173)] = {28,0xA3FFFDF}, + [I(109,173)] = {28,0xA7FFFDF}, + [I(110,173)] = {28,0xABFFFDF}, + [I(111,173)] = {27,0x1FFFFDF}, + [I(112,173)] = {28,0xAFFFFDF}, + [I(113,173)] = {29,0x1DBFFFDF}, + [I(114,173)] = {28,0xB3FFFDF}, + [I(115,173)] = {27,0x23FFFDF}, + [I(116,173)] = {27,0x27FFFDF}, + [I(117,173)] = {28,0xB7FFFDF}, + [I(118,173)] = {29,0x1DFFFFDF}, + [I(119,173)] = {29,0x1E3FFFDF}, + [I(120,173)] = {29,0x1E7FFFDF}, + [I(121,173)] = {29,0x1EBFFFDF}, + [I(122,173)] = {29,0x1EFFFFDF}, + [I(123,173)] = {64,0}, + [I(124,173)] = {64,0}, + [I(125,173)] = {64,0}, + [I(126,173)] = {64,0}, + [I(127,173)] = {64,0}, + [I(128,173)] = {64,0}, + [I(129,173)] = {64,0}, + [I(130,173)] = {64,0}, + [I(131,173)] = {64,0}, + [I(132,173)] = {64,0}, + [I(133,173)] = {64,0}, + [I(134,173)] = {64,0}, + [I(135,173)] = {64,0}, + [I(136,173)] = {64,0}, + [I(137,173)] = {64,0}, + [I(138,173)] = {64,0}, + [I(139,173)] = {64,0}, + [I(140,173)] = {64,0}, + [I(141,173)] = {64,0}, + [I(142,173)] = {64,0}, + [I(143,173)] = {64,0}, + [I(144,173)] = {64,0}, + [I(145,173)] = {64,0}, + [I(146,173)] = {64,0}, + [I(147,173)] = {64,0}, + [I(148,173)] = {64,0}, + [I(149,173)] = {64,0}, + [I(150,173)] = {64,0}, + [I(151,173)] = {64,0}, + [I(152,173)] = {64,0}, + [I(153,173)] = {64,0}, + [I(154,173)] = {64,0}, + [I(155,173)] = {64,0}, + [I(156,173)] = {64,0}, + [I(157,173)] = {64,0}, + [I(158,173)] = {64,0}, + [I(159,173)] = {64,0}, + [I(160,173)] = {64,0}, + [I(161,173)] = {64,0}, + [I(162,173)] = {64,0}, + [I(163,173)] = {64,0}, + [I(164,173)] = {64,0}, + [I(165,173)] = {64,0}, + [I(166,173)] = {64,0}, + [I(167,173)] = {64,0}, + [I(168,173)] = {64,0}, + [I(169,173)] = {64,0}, + [I(170,173)] = {64,0}, + [I(171,173)] = {64,0}, + [I(172,173)] = {64,0}, + [I(173,173)] = {64,0}, + [I(174,173)] = {64,0}, + [I(175,173)] = {64,0}, + [I(176,173)] = {64,0}, + [I(177,173)] = {64,0}, + [I(178,173)] = {64,0}, + [I(179,173)] = {64,0}, + [I(180,173)] = {64,0}, + [I(181,173)] = {64,0}, + [I(182,173)] = {64,0}, + [I(183,173)] = {64,0}, + [I(184,173)] = {64,0}, + [I(185,173)] = {64,0}, + [I(186,173)] = {64,0}, + [I(187,173)] = {64,0}, + [I(188,173)] = {64,0}, + [I(189,173)] = {64,0}, + [I(190,173)] = {64,0}, + [I(191,173)] = {64,0}, + [I(192,173)] = {64,0}, + [I(193,173)] = {64,0}, + [I(194,173)] = {64,0}, + [I(195,173)] = {64,0}, + [I(196,173)] = {64,0}, + [I(197,173)] = {64,0}, + [I(198,173)] = {64,0}, + [I(199,173)] = {64,0}, + [I(200,173)] = {64,0}, + [I(201,173)] = {64,0}, + [I(202,173)] = {64,0}, + [I(203,173)] = {64,0}, + [I(204,173)] = {64,0}, + [I(205,173)] = {64,0}, + [I(206,173)] = {64,0}, + [I(207,173)] = {64,0}, + [I(208,173)] = {64,0}, + [I(209,173)] = {64,0}, + [I(210,173)] = {64,0}, + [I(211,173)] = {64,0}, + [I(212,173)] = {64,0}, + [I(213,173)] = {64,0}, + [I(214,173)] = {64,0}, + [I(215,173)] = {64,0}, + [I(216,173)] = {64,0}, + [I(217,173)] = {64,0}, + [I(218,173)] = {64,0}, + [I(219,173)] = {64,0}, + [I(220,173)] = {64,0}, + [I(221,173)] = {64,0}, + [I(222,173)] = {64,0}, + [I(223,173)] = {64,0}, + [I(224,173)] = {64,0}, + [I(225,173)] = {64,0}, + [I(226,173)] = {64,0}, + [I(227,173)] = {64,0}, + [I(228,173)] = {64,0}, + [I(229,173)] = {64,0}, + [I(230,173)] = {64,0}, + [I(231,173)] = {64,0}, + [I(232,173)] = {64,0}, + [I(233,173)] = {64,0}, + [I(234,173)] = {64,0}, + [I(235,173)] = {64,0}, + [I(236,173)] = {64,0}, + [I(237,173)] = {64,0}, + [I(238,173)] = {64,0}, + [I(239,173)] = {64,0}, + [I(240,173)] = {64,0}, + [I(241,173)] = {64,0}, + [I(242,173)] = {64,0}, + [I(243,173)] = {64,0}, + [I(244,173)] = {64,0}, + [I(245,173)] = {64,0}, + [I(246,173)] = {64,0}, + [I(247,173)] = {64,0}, + [I(248,173)] = {64,0}, + [I(249,173)] = {64,0}, + [I(250,173)] = {64,0}, + [I(251,173)] = {64,0}, + [I(252,173)] = {64,0}, + [I(253,173)] = {64,0}, + [I(254,173)] = {64,0}, + [I(255,173)] = {64,0}, + [I(0,174)] = {64,0}, + [I(1,174)] = {64,0}, + [I(2,174)] = {64,0}, + [I(3,174)] = {64,0}, + [I(4,174)] = {64,0}, + [I(5,174)] = {64,0}, + [I(6,174)] = {64,0}, + [I(7,174)] = {64,0}, + [I(8,174)] = {64,0}, + [I(9,174)] = {64,0}, + [I(10,174)] = {64,0}, + [I(11,174)] = {64,0}, + [I(12,174)] = {64,0}, + [I(13,174)] = {64,0}, + [I(14,174)] = {64,0}, + [I(15,174)] = {64,0}, + [I(16,174)] = {64,0}, + [I(17,174)] = {64,0}, + [I(18,174)] = {64,0}, + [I(19,174)] = {64,0}, + [I(20,174)] = {64,0}, + [I(21,174)] = {64,0}, + [I(22,174)] = {64,0}, + [I(23,174)] = {64,0}, + [I(24,174)] = {64,0}, + [I(25,174)] = {64,0}, + [I(26,174)] = {64,0}, + [I(27,174)] = {64,0}, + [I(28,174)] = {64,0}, + [I(29,174)] = {64,0}, + [I(30,174)] = {64,0}, + [I(31,174)] = {64,0}, + [I(32,174)] = {29,0xA7FFFEB}, + [I(33,174)] = {64,0}, + [I(34,174)] = {64,0}, + [I(35,174)] = {64,0}, + [I(36,174)] = {64,0}, + [I(37,174)] = {29,0xAFFFFEB}, + [I(38,174)] = {31,0x7C7FFFEB}, + [I(39,174)] = {64,0}, + [I(40,174)] = {64,0}, + [I(41,174)] = {64,0}, + [I(42,174)] = {31,0x7CFFFFEB}, + [I(43,174)] = {64,0}, + [I(44,174)] = {31,0x7D7FFFEB}, + [I(45,174)] = {29,0xB7FFFEB}, + [I(46,174)] = {29,0xBFFFFEB}, + [I(47,174)] = {29,0xC7FFFEB}, + [I(48,174)] = {28,0x7FFFEB}, + [I(49,174)] = {28,0xFFFFEB}, + [I(50,174)] = {28,0x17FFFEB}, + [I(51,174)] = {29,0xCFFFFEB}, + [I(52,174)] = {29,0xD7FFFEB}, + [I(53,174)] = {29,0xDFFFFEB}, + [I(54,174)] = {29,0xE7FFFEB}, + [I(55,174)] = {29,0xEFFFFEB}, + [I(56,174)] = {29,0xF7FFFEB}, + [I(57,174)] = {29,0xFFFFFEB}, + [I(58,174)] = {30,0x2E7FFFEB}, + [I(59,174)] = {31,0x7DFFFFEB}, + [I(60,174)] = {64,0}, + [I(61,174)] = {29,0x107FFFEB}, + [I(62,174)] = {64,0}, + [I(63,174)] = {64,0}, + [I(64,174)] = {64,0}, + [I(65,174)] = {29,0x10FFFFEB}, + [I(66,174)] = {30,0x2EFFFFEB}, + [I(67,174)] = {30,0x2F7FFFEB}, + [I(68,174)] = {30,0x2FFFFFEB}, + [I(69,174)] = {30,0x307FFFEB}, + [I(70,174)] = {30,0x30FFFFEB}, + [I(71,174)] = {30,0x317FFFEB}, + [I(72,174)] = {30,0x31FFFFEB}, + [I(73,174)] = {30,0x327FFFEB}, + [I(74,174)] = {30,0x32FFFFEB}, + [I(75,174)] = {30,0x337FFFEB}, + [I(76,174)] = {30,0x33FFFFEB}, + [I(77,174)] = {30,0x347FFFEB}, + [I(78,174)] = {30,0x34FFFFEB}, + [I(79,174)] = {30,0x357FFFEB}, + [I(80,174)] = {30,0x35FFFFEB}, + [I(81,174)] = {30,0x367FFFEB}, + [I(82,174)] = {30,0x36FFFFEB}, + [I(83,174)] = {30,0x377FFFEB}, + [I(84,174)] = {30,0x37FFFFEB}, + [I(85,174)] = {30,0x387FFFEB}, + [I(86,174)] = {30,0x38FFFFEB}, + [I(87,174)] = {30,0x397FFFEB}, + [I(88,174)] = {31,0x7E7FFFEB}, + [I(89,174)] = {30,0x39FFFFEB}, + [I(90,174)] = {31,0x7EFFFFEB}, + [I(91,174)] = {64,0}, + [I(92,174)] = {64,0}, + [I(93,174)] = {64,0}, + [I(94,174)] = {64,0}, + [I(95,174)] = {29,0x117FFFEB}, + [I(96,174)] = {64,0}, + [I(97,174)] = {28,0x1FFFFEB}, + [I(98,174)] = {29,0x11FFFFEB}, + [I(99,174)] = {28,0x27FFFEB}, + [I(100,174)] = {29,0x127FFFEB}, + [I(101,174)] = {28,0x2FFFFEB}, + [I(102,174)] = {29,0x12FFFFEB}, + [I(103,174)] = {29,0x137FFFEB}, + [I(104,174)] = {29,0x13FFFFEB}, + [I(105,174)] = {28,0x37FFFEB}, + [I(106,174)] = {30,0x3A7FFFEB}, + [I(107,174)] = {30,0x3AFFFFEB}, + [I(108,174)] = {29,0x147FFFEB}, + [I(109,174)] = {29,0x14FFFFEB}, + [I(110,174)] = {29,0x157FFFEB}, + [I(111,174)] = {28,0x3FFFFEB}, + [I(112,174)] = {29,0x15FFFFEB}, + [I(113,174)] = {30,0x3B7FFFEB}, + [I(114,174)] = {29,0x167FFFEB}, + [I(115,174)] = {28,0x47FFFEB}, + [I(116,174)] = {28,0x4FFFFEB}, + [I(117,174)] = {29,0x16FFFFEB}, + [I(118,174)] = {30,0x3BFFFFEB}, + [I(119,174)] = {30,0x3C7FFFEB}, + [I(120,174)] = {30,0x3CFFFFEB}, + [I(121,174)] = {30,0x3D7FFFEB}, + [I(122,174)] = {30,0x3DFFFFEB}, + [I(123,174)] = {64,0}, + [I(124,174)] = {64,0}, + [I(125,174)] = {64,0}, + [I(126,174)] = {64,0}, + [I(127,174)] = {64,0}, + [I(128,174)] = {64,0}, + [I(129,174)] = {64,0}, + [I(130,174)] = {64,0}, + [I(131,174)] = {64,0}, + [I(132,174)] = {64,0}, + [I(133,174)] = {64,0}, + [I(134,174)] = {64,0}, + [I(135,174)] = {64,0}, + [I(136,174)] = {64,0}, + [I(137,174)] = {64,0}, + [I(138,174)] = {64,0}, + [I(139,174)] = {64,0}, + [I(140,174)] = {64,0}, + [I(141,174)] = {64,0}, + [I(142,174)] = {64,0}, + [I(143,174)] = {64,0}, + [I(144,174)] = {64,0}, + [I(145,174)] = {64,0}, + [I(146,174)] = {64,0}, + [I(147,174)] = {64,0}, + [I(148,174)] = {64,0}, + [I(149,174)] = {64,0}, + [I(150,174)] = {64,0}, + [I(151,174)] = {64,0}, + [I(152,174)] = {64,0}, + [I(153,174)] = {64,0}, + [I(154,174)] = {64,0}, + [I(155,174)] = {64,0}, + [I(156,174)] = {64,0}, + [I(157,174)] = {64,0}, + [I(158,174)] = {64,0}, + [I(159,174)] = {64,0}, + [I(160,174)] = {64,0}, + [I(161,174)] = {64,0}, + [I(162,174)] = {64,0}, + [I(163,174)] = {64,0}, + [I(164,174)] = {64,0}, + [I(165,174)] = {64,0}, + [I(166,174)] = {64,0}, + [I(167,174)] = {64,0}, + [I(168,174)] = {64,0}, + [I(169,174)] = {64,0}, + [I(170,174)] = {64,0}, + [I(171,174)] = {64,0}, + [I(172,174)] = {64,0}, + [I(173,174)] = {64,0}, + [I(174,174)] = {64,0}, + [I(175,174)] = {64,0}, + [I(176,174)] = {64,0}, + [I(177,174)] = {64,0}, + [I(178,174)] = {64,0}, + [I(179,174)] = {64,0}, + [I(180,174)] = {64,0}, + [I(181,174)] = {64,0}, + [I(182,174)] = {64,0}, + [I(183,174)] = {64,0}, + [I(184,174)] = {64,0}, + [I(185,174)] = {64,0}, + [I(186,174)] = {64,0}, + [I(187,174)] = {64,0}, + [I(188,174)] = {64,0}, + [I(189,174)] = {64,0}, + [I(190,174)] = {64,0}, + [I(191,174)] = {64,0}, + [I(192,174)] = {64,0}, + [I(193,174)] = {64,0}, + [I(194,174)] = {64,0}, + [I(195,174)] = {64,0}, + [I(196,174)] = {64,0}, + [I(197,174)] = {64,0}, + [I(198,174)] = {64,0}, + [I(199,174)] = {64,0}, + [I(200,174)] = {64,0}, + [I(201,174)] = {64,0}, + [I(202,174)] = {64,0}, + [I(203,174)] = {64,0}, + [I(204,174)] = {64,0}, + [I(205,174)] = {64,0}, + [I(206,174)] = {64,0}, + [I(207,174)] = {64,0}, + [I(208,174)] = {64,0}, + [I(209,174)] = {64,0}, + [I(210,174)] = {64,0}, + [I(211,174)] = {64,0}, + [I(212,174)] = {64,0}, + [I(213,174)] = {64,0}, + [I(214,174)] = {64,0}, + [I(215,174)] = {64,0}, + [I(216,174)] = {64,0}, + [I(217,174)] = {64,0}, + [I(218,174)] = {64,0}, + [I(219,174)] = {64,0}, + [I(220,174)] = {64,0}, + [I(221,174)] = {64,0}, + [I(222,174)] = {64,0}, + [I(223,174)] = {64,0}, + [I(224,174)] = {64,0}, + [I(225,174)] = {64,0}, + [I(226,174)] = {64,0}, + [I(227,174)] = {64,0}, + [I(228,174)] = {64,0}, + [I(229,174)] = {64,0}, + [I(230,174)] = {64,0}, + [I(231,174)] = {64,0}, + [I(232,174)] = {64,0}, + [I(233,174)] = {64,0}, + [I(234,174)] = {64,0}, + [I(235,174)] = {64,0}, + [I(236,174)] = {64,0}, + [I(237,174)] = {64,0}, + [I(238,174)] = {64,0}, + [I(239,174)] = {64,0}, + [I(240,174)] = {64,0}, + [I(241,174)] = {64,0}, + [I(242,174)] = {64,0}, + [I(243,174)] = {64,0}, + [I(244,174)] = {64,0}, + [I(245,174)] = {64,0}, + [I(246,174)] = {64,0}, + [I(247,174)] = {64,0}, + [I(248,174)] = {64,0}, + [I(249,174)] = {64,0}, + [I(250,174)] = {64,0}, + [I(251,174)] = {64,0}, + [I(252,174)] = {64,0}, + [I(253,174)] = {64,0}, + [I(254,174)] = {64,0}, + [I(255,174)] = {64,0}, + [I(0,175)] = {64,0}, + [I(1,175)] = {64,0}, + [I(2,175)] = {64,0}, + [I(3,175)] = {64,0}, + [I(4,175)] = {64,0}, + [I(5,175)] = {64,0}, + [I(6,175)] = {64,0}, + [I(7,175)] = {64,0}, + [I(8,175)] = {64,0}, + [I(9,175)] = {64,0}, + [I(10,175)] = {64,0}, + [I(11,175)] = {64,0}, + [I(12,175)] = {64,0}, + [I(13,175)] = {64,0}, + [I(14,175)] = {64,0}, + [I(15,175)] = {64,0}, + [I(16,175)] = {64,0}, + [I(17,175)] = {64,0}, + [I(18,175)] = {64,0}, + [I(19,175)] = {64,0}, + [I(20,175)] = {64,0}, + [I(21,175)] = {64,0}, + [I(22,175)] = {64,0}, + [I(23,175)] = {64,0}, + [I(24,175)] = {64,0}, + [I(25,175)] = {64,0}, + [I(26,175)] = {64,0}, + [I(27,175)] = {64,0}, + [I(28,175)] = {64,0}, + [I(29,175)] = {64,0}, + [I(30,175)] = {64,0}, + [I(31,175)] = {64,0}, + [I(32,175)] = {29,0xA7FFFEC}, + [I(33,175)] = {64,0}, + [I(34,175)] = {64,0}, + [I(35,175)] = {64,0}, + [I(36,175)] = {64,0}, + [I(37,175)] = {29,0xAFFFFEC}, + [I(38,175)] = {31,0x7C7FFFEC}, + [I(39,175)] = {64,0}, + [I(40,175)] = {64,0}, + [I(41,175)] = {64,0}, + [I(42,175)] = {31,0x7CFFFFEC}, + [I(43,175)] = {64,0}, + [I(44,175)] = {31,0x7D7FFFEC}, + [I(45,175)] = {29,0xB7FFFEC}, + [I(46,175)] = {29,0xBFFFFEC}, + [I(47,175)] = {29,0xC7FFFEC}, + [I(48,175)] = {28,0x7FFFEC}, + [I(49,175)] = {28,0xFFFFEC}, + [I(50,175)] = {28,0x17FFFEC}, + [I(51,175)] = {29,0xCFFFFEC}, + [I(52,175)] = {29,0xD7FFFEC}, + [I(53,175)] = {29,0xDFFFFEC}, + [I(54,175)] = {29,0xE7FFFEC}, + [I(55,175)] = {29,0xEFFFFEC}, + [I(56,175)] = {29,0xF7FFFEC}, + [I(57,175)] = {29,0xFFFFFEC}, + [I(58,175)] = {30,0x2E7FFFEC}, + [I(59,175)] = {31,0x7DFFFFEC}, + [I(60,175)] = {64,0}, + [I(61,175)] = {29,0x107FFFEC}, + [I(62,175)] = {64,0}, + [I(63,175)] = {64,0}, + [I(64,175)] = {64,0}, + [I(65,175)] = {29,0x10FFFFEC}, + [I(66,175)] = {30,0x2EFFFFEC}, + [I(67,175)] = {30,0x2F7FFFEC}, + [I(68,175)] = {30,0x2FFFFFEC}, + [I(69,175)] = {30,0x307FFFEC}, + [I(70,175)] = {30,0x30FFFFEC}, + [I(71,175)] = {30,0x317FFFEC}, + [I(72,175)] = {30,0x31FFFFEC}, + [I(73,175)] = {30,0x327FFFEC}, + [I(74,175)] = {30,0x32FFFFEC}, + [I(75,175)] = {30,0x337FFFEC}, + [I(76,175)] = {30,0x33FFFFEC}, + [I(77,175)] = {30,0x347FFFEC}, + [I(78,175)] = {30,0x34FFFFEC}, + [I(79,175)] = {30,0x357FFFEC}, + [I(80,175)] = {30,0x35FFFFEC}, + [I(81,175)] = {30,0x367FFFEC}, + [I(82,175)] = {30,0x36FFFFEC}, + [I(83,175)] = {30,0x377FFFEC}, + [I(84,175)] = {30,0x37FFFFEC}, + [I(85,175)] = {30,0x387FFFEC}, + [I(86,175)] = {30,0x38FFFFEC}, + [I(87,175)] = {30,0x397FFFEC}, + [I(88,175)] = {31,0x7E7FFFEC}, + [I(89,175)] = {30,0x39FFFFEC}, + [I(90,175)] = {31,0x7EFFFFEC}, + [I(91,175)] = {64,0}, + [I(92,175)] = {64,0}, + [I(93,175)] = {64,0}, + [I(94,175)] = {64,0}, + [I(95,175)] = {29,0x117FFFEC}, + [I(96,175)] = {64,0}, + [I(97,175)] = {28,0x1FFFFEC}, + [I(98,175)] = {29,0x11FFFFEC}, + [I(99,175)] = {28,0x27FFFEC}, + [I(100,175)] = {29,0x127FFFEC}, + [I(101,175)] = {28,0x2FFFFEC}, + [I(102,175)] = {29,0x12FFFFEC}, + [I(103,175)] = {29,0x137FFFEC}, + [I(104,175)] = {29,0x13FFFFEC}, + [I(105,175)] = {28,0x37FFFEC}, + [I(106,175)] = {30,0x3A7FFFEC}, + [I(107,175)] = {30,0x3AFFFFEC}, + [I(108,175)] = {29,0x147FFFEC}, + [I(109,175)] = {29,0x14FFFFEC}, + [I(110,175)] = {29,0x157FFFEC}, + [I(111,175)] = {28,0x3FFFFEC}, + [I(112,175)] = {29,0x15FFFFEC}, + [I(113,175)] = {30,0x3B7FFFEC}, + [I(114,175)] = {29,0x167FFFEC}, + [I(115,175)] = {28,0x47FFFEC}, + [I(116,175)] = {28,0x4FFFFEC}, + [I(117,175)] = {29,0x16FFFFEC}, + [I(118,175)] = {30,0x3BFFFFEC}, + [I(119,175)] = {30,0x3C7FFFEC}, + [I(120,175)] = {30,0x3CFFFFEC}, + [I(121,175)] = {30,0x3D7FFFEC}, + [I(122,175)] = {30,0x3DFFFFEC}, + [I(123,175)] = {64,0}, + [I(124,175)] = {64,0}, + [I(125,175)] = {64,0}, + [I(126,175)] = {64,0}, + [I(127,175)] = {64,0}, + [I(128,175)] = {64,0}, + [I(129,175)] = {64,0}, + [I(130,175)] = {64,0}, + [I(131,175)] = {64,0}, + [I(132,175)] = {64,0}, + [I(133,175)] = {64,0}, + [I(134,175)] = {64,0}, + [I(135,175)] = {64,0}, + [I(136,175)] = {64,0}, + [I(137,175)] = {64,0}, + [I(138,175)] = {64,0}, + [I(139,175)] = {64,0}, + [I(140,175)] = {64,0}, + [I(141,175)] = {64,0}, + [I(142,175)] = {64,0}, + [I(143,175)] = {64,0}, + [I(144,175)] = {64,0}, + [I(145,175)] = {64,0}, + [I(146,175)] = {64,0}, + [I(147,175)] = {64,0}, + [I(148,175)] = {64,0}, + [I(149,175)] = {64,0}, + [I(150,175)] = {64,0}, + [I(151,175)] = {64,0}, + [I(152,175)] = {64,0}, + [I(153,175)] = {64,0}, + [I(154,175)] = {64,0}, + [I(155,175)] = {64,0}, + [I(156,175)] = {64,0}, + [I(157,175)] = {64,0}, + [I(158,175)] = {64,0}, + [I(159,175)] = {64,0}, + [I(160,175)] = {64,0}, + [I(161,175)] = {64,0}, + [I(162,175)] = {64,0}, + [I(163,175)] = {64,0}, + [I(164,175)] = {64,0}, + [I(165,175)] = {64,0}, + [I(166,175)] = {64,0}, + [I(167,175)] = {64,0}, + [I(168,175)] = {64,0}, + [I(169,175)] = {64,0}, + [I(170,175)] = {64,0}, + [I(171,175)] = {64,0}, + [I(172,175)] = {64,0}, + [I(173,175)] = {64,0}, + [I(174,175)] = {64,0}, + [I(175,175)] = {64,0}, + [I(176,175)] = {64,0}, + [I(177,175)] = {64,0}, + [I(178,175)] = {64,0}, + [I(179,175)] = {64,0}, + [I(180,175)] = {64,0}, + [I(181,175)] = {64,0}, + [I(182,175)] = {64,0}, + [I(183,175)] = {64,0}, + [I(184,175)] = {64,0}, + [I(185,175)] = {64,0}, + [I(186,175)] = {64,0}, + [I(187,175)] = {64,0}, + [I(188,175)] = {64,0}, + [I(189,175)] = {64,0}, + [I(190,175)] = {64,0}, + [I(191,175)] = {64,0}, + [I(192,175)] = {64,0}, + [I(193,175)] = {64,0}, + [I(194,175)] = {64,0}, + [I(195,175)] = {64,0}, + [I(196,175)] = {64,0}, + [I(197,175)] = {64,0}, + [I(198,175)] = {64,0}, + [I(199,175)] = {64,0}, + [I(200,175)] = {64,0}, + [I(201,175)] = {64,0}, + [I(202,175)] = {64,0}, + [I(203,175)] = {64,0}, + [I(204,175)] = {64,0}, + [I(205,175)] = {64,0}, + [I(206,175)] = {64,0}, + [I(207,175)] = {64,0}, + [I(208,175)] = {64,0}, + [I(209,175)] = {64,0}, + [I(210,175)] = {64,0}, + [I(211,175)] = {64,0}, + [I(212,175)] = {64,0}, + [I(213,175)] = {64,0}, + [I(214,175)] = {64,0}, + [I(215,175)] = {64,0}, + [I(216,175)] = {64,0}, + [I(217,175)] = {64,0}, + [I(218,175)] = {64,0}, + [I(219,175)] = {64,0}, + [I(220,175)] = {64,0}, + [I(221,175)] = {64,0}, + [I(222,175)] = {64,0}, + [I(223,175)] = {64,0}, + [I(224,175)] = {64,0}, + [I(225,175)] = {64,0}, + [I(226,175)] = {64,0}, + [I(227,175)] = {64,0}, + [I(228,175)] = {64,0}, + [I(229,175)] = {64,0}, + [I(230,175)] = {64,0}, + [I(231,175)] = {64,0}, + [I(232,175)] = {64,0}, + [I(233,175)] = {64,0}, + [I(234,175)] = {64,0}, + [I(235,175)] = {64,0}, + [I(236,175)] = {64,0}, + [I(237,175)] = {64,0}, + [I(238,175)] = {64,0}, + [I(239,175)] = {64,0}, + [I(240,175)] = {64,0}, + [I(241,175)] = {64,0}, + [I(242,175)] = {64,0}, + [I(243,175)] = {64,0}, + [I(244,175)] = {64,0}, + [I(245,175)] = {64,0}, + [I(246,175)] = {64,0}, + [I(247,175)] = {64,0}, + [I(248,175)] = {64,0}, + [I(249,175)] = {64,0}, + [I(250,175)] = {64,0}, + [I(251,175)] = {64,0}, + [I(252,175)] = {64,0}, + [I(253,175)] = {64,0}, + [I(254,175)] = {64,0}, + [I(255,175)] = {64,0}, + [I(0,176)] = {64,0}, + [I(1,176)] = {64,0}, + [I(2,176)] = {64,0}, + [I(3,176)] = {64,0}, + [I(4,176)] = {64,0}, + [I(5,176)] = {64,0}, + [I(6,176)] = {64,0}, + [I(7,176)] = {64,0}, + [I(8,176)] = {64,0}, + [I(9,176)] = {64,0}, + [I(10,176)] = {64,0}, + [I(11,176)] = {64,0}, + [I(12,176)] = {64,0}, + [I(13,176)] = {64,0}, + [I(14,176)] = {64,0}, + [I(15,176)] = {64,0}, + [I(16,176)] = {64,0}, + [I(17,176)] = {64,0}, + [I(18,176)] = {64,0}, + [I(19,176)] = {64,0}, + [I(20,176)] = {64,0}, + [I(21,176)] = {64,0}, + [I(22,176)] = {64,0}, + [I(23,176)] = {64,0}, + [I(24,176)] = {64,0}, + [I(25,176)] = {64,0}, + [I(26,176)] = {64,0}, + [I(27,176)] = {64,0}, + [I(28,176)] = {64,0}, + [I(29,176)] = {64,0}, + [I(30,176)] = {64,0}, + [I(31,176)] = {64,0}, + [I(32,176)] = {27,0x29FFFE0}, + [I(33,176)] = {31,0x7F1FFFE0}, + [I(34,176)] = {31,0x7F3FFFE0}, + [I(35,176)] = {64,0}, + [I(36,176)] = {64,0}, + [I(37,176)] = {27,0x2BFFFE0}, + [I(38,176)] = {29,0x1F1FFFE0}, + [I(39,176)] = {X32,0xFF5FFFE0}, + [I(40,176)] = {31,0x7F5FFFE0}, + [I(41,176)] = {31,0x7F7FFFE0}, + [I(42,176)] = {29,0x1F3FFFE0}, + [I(43,176)] = {X32,0xFF7FFFE0}, + [I(44,176)] = {29,0x1F5FFFE0}, + [I(45,176)] = {27,0x2DFFFE0}, + [I(46,176)] = {27,0x2FFFFE0}, + [I(47,176)] = {27,0x31FFFE0}, + [I(48,176)] = {26,0x1FFFE0}, + [I(49,176)] = {26,0x3FFFE0}, + [I(50,176)] = {26,0x5FFFE0}, + [I(51,176)] = {27,0x33FFFE0}, + [I(52,176)] = {27,0x35FFFE0}, + [I(53,176)] = {27,0x37FFFE0}, + [I(54,176)] = {27,0x39FFFE0}, + [I(55,176)] = {27,0x3BFFFE0}, + [I(56,176)] = {27,0x3DFFFE0}, + [I(57,176)] = {27,0x3FFFFE0}, + [I(58,176)] = {28,0xB9FFFE0}, + [I(59,176)] = {29,0x1F7FFFE0}, + [I(60,176)] = {64,0}, + [I(61,176)] = {27,0x41FFFE0}, + [I(62,176)] = {64,0}, + [I(63,176)] = {31,0x7F9FFFE0}, + [I(64,176)] = {64,0}, + [I(65,176)] = {27,0x43FFFE0}, + [I(66,176)] = {28,0xBBFFFE0}, + [I(67,176)] = {28,0xBDFFFE0}, + [I(68,176)] = {28,0xBFFFFE0}, + [I(69,176)] = {28,0xC1FFFE0}, + [I(70,176)] = {28,0xC3FFFE0}, + [I(71,176)] = {28,0xC5FFFE0}, + [I(72,176)] = {28,0xC7FFFE0}, + [I(73,176)] = {28,0xC9FFFE0}, + [I(74,176)] = {28,0xCBFFFE0}, + [I(75,176)] = {28,0xCDFFFE0}, + [I(76,176)] = {28,0xCFFFFE0}, + [I(77,176)] = {28,0xD1FFFE0}, + [I(78,176)] = {28,0xD3FFFE0}, + [I(79,176)] = {28,0xD5FFFE0}, + [I(80,176)] = {28,0xD7FFFE0}, + [I(81,176)] = {28,0xD9FFFE0}, + [I(82,176)] = {28,0xDBFFFE0}, + [I(83,176)] = {28,0xDDFFFE0}, + [I(84,176)] = {28,0xDFFFFE0}, + [I(85,176)] = {28,0xE1FFFE0}, + [I(86,176)] = {28,0xE3FFFE0}, + [I(87,176)] = {28,0xE5FFFE0}, + [I(88,176)] = {29,0x1F9FFFE0}, + [I(89,176)] = {28,0xE7FFFE0}, + [I(90,176)] = {29,0x1FBFFFE0}, + [I(91,176)] = {64,0}, + [I(92,176)] = {64,0}, + [I(93,176)] = {64,0}, + [I(94,176)] = {64,0}, + [I(95,176)] = {27,0x45FFFE0}, + [I(96,176)] = {64,0}, + [I(97,176)] = {26,0x7FFFE0}, + [I(98,176)] = {27,0x47FFFE0}, + [I(99,176)] = {26,0x9FFFE0}, + [I(100,176)] = {27,0x49FFFE0}, + [I(101,176)] = {26,0xBFFFE0}, + [I(102,176)] = {27,0x4BFFFE0}, + [I(103,176)] = {27,0x4DFFFE0}, + [I(104,176)] = {27,0x4FFFFE0}, + [I(105,176)] = {26,0xDFFFE0}, + [I(106,176)] = {28,0xE9FFFE0}, + [I(107,176)] = {28,0xEBFFFE0}, + [I(108,176)] = {27,0x51FFFE0}, + [I(109,176)] = {27,0x53FFFE0}, + [I(110,176)] = {27,0x55FFFE0}, + [I(111,176)] = {26,0xFFFFE0}, + [I(112,176)] = {27,0x57FFFE0}, + [I(113,176)] = {28,0xEDFFFE0}, + [I(114,176)] = {27,0x59FFFE0}, + [I(115,176)] = {26,0x11FFFE0}, + [I(116,176)] = {26,0x13FFFE0}, + [I(117,176)] = {27,0x5BFFFE0}, + [I(118,176)] = {28,0xEFFFFE0}, + [I(119,176)] = {28,0xF1FFFE0}, + [I(120,176)] = {28,0xF3FFFE0}, + [I(121,176)] = {28,0xF5FFFE0}, + [I(122,176)] = {28,0xF7FFFE0}, + [I(123,176)] = {64,0}, + [I(124,176)] = {X32,0xFF9FFFE0}, + [I(125,176)] = {64,0}, + [I(126,176)] = {64,0}, + [I(127,176)] = {64,0}, + [I(128,176)] = {64,0}, + [I(129,176)] = {64,0}, + [I(130,176)] = {64,0}, + [I(131,176)] = {64,0}, + [I(132,176)] = {64,0}, + [I(133,176)] = {64,0}, + [I(134,176)] = {64,0}, + [I(135,176)] = {64,0}, + [I(136,176)] = {64,0}, + [I(137,176)] = {64,0}, + [I(138,176)] = {64,0}, + [I(139,176)] = {64,0}, + [I(140,176)] = {64,0}, + [I(141,176)] = {64,0}, + [I(142,176)] = {64,0}, + [I(143,176)] = {64,0}, + [I(144,176)] = {64,0}, + [I(145,176)] = {64,0}, + [I(146,176)] = {64,0}, + [I(147,176)] = {64,0}, + [I(148,176)] = {64,0}, + [I(149,176)] = {64,0}, + [I(150,176)] = {64,0}, + [I(151,176)] = {64,0}, + [I(152,176)] = {64,0}, + [I(153,176)] = {64,0}, + [I(154,176)] = {64,0}, + [I(155,176)] = {64,0}, + [I(156,176)] = {64,0}, + [I(157,176)] = {64,0}, + [I(158,176)] = {64,0}, + [I(159,176)] = {64,0}, + [I(160,176)] = {64,0}, + [I(161,176)] = {64,0}, + [I(162,176)] = {64,0}, + [I(163,176)] = {64,0}, + [I(164,176)] = {64,0}, + [I(165,176)] = {64,0}, + [I(166,176)] = {64,0}, + [I(167,176)] = {64,0}, + [I(168,176)] = {64,0}, + [I(169,176)] = {64,0}, + [I(170,176)] = {64,0}, + [I(171,176)] = {64,0}, + [I(172,176)] = {64,0}, + [I(173,176)] = {64,0}, + [I(174,176)] = {64,0}, + [I(175,176)] = {64,0}, + [I(176,176)] = {64,0}, + [I(177,176)] = {64,0}, + [I(178,176)] = {64,0}, + [I(179,176)] = {64,0}, + [I(180,176)] = {64,0}, + [I(181,176)] = {64,0}, + [I(182,176)] = {64,0}, + [I(183,176)] = {64,0}, + [I(184,176)] = {64,0}, + [I(185,176)] = {64,0}, + [I(186,176)] = {64,0}, + [I(187,176)] = {64,0}, + [I(188,176)] = {64,0}, + [I(189,176)] = {64,0}, + [I(190,176)] = {64,0}, + [I(191,176)] = {64,0}, + [I(192,176)] = {64,0}, + [I(193,176)] = {64,0}, + [I(194,176)] = {64,0}, + [I(195,176)] = {64,0}, + [I(196,176)] = {64,0}, + [I(197,176)] = {64,0}, + [I(198,176)] = {64,0}, + [I(199,176)] = {64,0}, + [I(200,176)] = {64,0}, + [I(201,176)] = {64,0}, + [I(202,176)] = {64,0}, + [I(203,176)] = {64,0}, + [I(204,176)] = {64,0}, + [I(205,176)] = {64,0}, + [I(206,176)] = {64,0}, + [I(207,176)] = {64,0}, + [I(208,176)] = {64,0}, + [I(209,176)] = {64,0}, + [I(210,176)] = {64,0}, + [I(211,176)] = {64,0}, + [I(212,176)] = {64,0}, + [I(213,176)] = {64,0}, + [I(214,176)] = {64,0}, + [I(215,176)] = {64,0}, + [I(216,176)] = {64,0}, + [I(217,176)] = {64,0}, + [I(218,176)] = {64,0}, + [I(219,176)] = {64,0}, + [I(220,176)] = {64,0}, + [I(221,176)] = {64,0}, + [I(222,176)] = {64,0}, + [I(223,176)] = {64,0}, + [I(224,176)] = {64,0}, + [I(225,176)] = {64,0}, + [I(226,176)] = {64,0}, + [I(227,176)] = {64,0}, + [I(228,176)] = {64,0}, + [I(229,176)] = {64,0}, + [I(230,176)] = {64,0}, + [I(231,176)] = {64,0}, + [I(232,176)] = {64,0}, + [I(233,176)] = {64,0}, + [I(234,176)] = {64,0}, + [I(235,176)] = {64,0}, + [I(236,176)] = {64,0}, + [I(237,176)] = {64,0}, + [I(238,176)] = {64,0}, + [I(239,176)] = {64,0}, + [I(240,176)] = {64,0}, + [I(241,176)] = {64,0}, + [I(242,176)] = {64,0}, + [I(243,176)] = {64,0}, + [I(244,176)] = {64,0}, + [I(245,176)] = {64,0}, + [I(246,176)] = {64,0}, + [I(247,176)] = {64,0}, + [I(248,176)] = {64,0}, + [I(249,176)] = {64,0}, + [I(250,176)] = {64,0}, + [I(251,176)] = {64,0}, + [I(252,176)] = {64,0}, + [I(253,176)] = {64,0}, + [I(254,176)] = {64,0}, + [I(255,176)] = {64,0}, + [I(0,177)] = {64,0}, + [I(1,177)] = {64,0}, + [I(2,177)] = {64,0}, + [I(3,177)] = {64,0}, + [I(4,177)] = {64,0}, + [I(5,177)] = {64,0}, + [I(6,177)] = {64,0}, + [I(7,177)] = {64,0}, + [I(8,177)] = {64,0}, + [I(9,177)] = {64,0}, + [I(10,177)] = {64,0}, + [I(11,177)] = {64,0}, + [I(12,177)] = {64,0}, + [I(13,177)] = {64,0}, + [I(14,177)] = {64,0}, + [I(15,177)] = {64,0}, + [I(16,177)] = {64,0}, + [I(17,177)] = {64,0}, + [I(18,177)] = {64,0}, + [I(19,177)] = {64,0}, + [I(20,177)] = {64,0}, + [I(21,177)] = {64,0}, + [I(22,177)] = {64,0}, + [I(23,177)] = {64,0}, + [I(24,177)] = {64,0}, + [I(25,177)] = {64,0}, + [I(26,177)] = {64,0}, + [I(27,177)] = {64,0}, + [I(28,177)] = {64,0}, + [I(29,177)] = {64,0}, + [I(30,177)] = {64,0}, + [I(31,177)] = {64,0}, + [I(32,177)] = {27,0x29FFFE1}, + [I(33,177)] = {31,0x7F1FFFE1}, + [I(34,177)] = {31,0x7F3FFFE1}, + [I(35,177)] = {64,0}, + [I(36,177)] = {64,0}, + [I(37,177)] = {27,0x2BFFFE1}, + [I(38,177)] = {29,0x1F1FFFE1}, + [I(39,177)] = {X32,0xFF5FFFE1}, + [I(40,177)] = {31,0x7F5FFFE1}, + [I(41,177)] = {31,0x7F7FFFE1}, + [I(42,177)] = {29,0x1F3FFFE1}, + [I(43,177)] = {X32,0xFF7FFFE1}, + [I(44,177)] = {29,0x1F5FFFE1}, + [I(45,177)] = {27,0x2DFFFE1}, + [I(46,177)] = {27,0x2FFFFE1}, + [I(47,177)] = {27,0x31FFFE1}, + [I(48,177)] = {26,0x1FFFE1}, + [I(49,177)] = {26,0x3FFFE1}, + [I(50,177)] = {26,0x5FFFE1}, + [I(51,177)] = {27,0x33FFFE1}, + [I(52,177)] = {27,0x35FFFE1}, + [I(53,177)] = {27,0x37FFFE1}, + [I(54,177)] = {27,0x39FFFE1}, + [I(55,177)] = {27,0x3BFFFE1}, + [I(56,177)] = {27,0x3DFFFE1}, + [I(57,177)] = {27,0x3FFFFE1}, + [I(58,177)] = {28,0xB9FFFE1}, + [I(59,177)] = {29,0x1F7FFFE1}, + [I(60,177)] = {64,0}, + [I(61,177)] = {27,0x41FFFE1}, + [I(62,177)] = {64,0}, + [I(63,177)] = {31,0x7F9FFFE1}, + [I(64,177)] = {64,0}, + [I(65,177)] = {27,0x43FFFE1}, + [I(66,177)] = {28,0xBBFFFE1}, + [I(67,177)] = {28,0xBDFFFE1}, + [I(68,177)] = {28,0xBFFFFE1}, + [I(69,177)] = {28,0xC1FFFE1}, + [I(70,177)] = {28,0xC3FFFE1}, + [I(71,177)] = {28,0xC5FFFE1}, + [I(72,177)] = {28,0xC7FFFE1}, + [I(73,177)] = {28,0xC9FFFE1}, + [I(74,177)] = {28,0xCBFFFE1}, + [I(75,177)] = {28,0xCDFFFE1}, + [I(76,177)] = {28,0xCFFFFE1}, + [I(77,177)] = {28,0xD1FFFE1}, + [I(78,177)] = {28,0xD3FFFE1}, + [I(79,177)] = {28,0xD5FFFE1}, + [I(80,177)] = {28,0xD7FFFE1}, + [I(81,177)] = {28,0xD9FFFE1}, + [I(82,177)] = {28,0xDBFFFE1}, + [I(83,177)] = {28,0xDDFFFE1}, + [I(84,177)] = {28,0xDFFFFE1}, + [I(85,177)] = {28,0xE1FFFE1}, + [I(86,177)] = {28,0xE3FFFE1}, + [I(87,177)] = {28,0xE5FFFE1}, + [I(88,177)] = {29,0x1F9FFFE1}, + [I(89,177)] = {28,0xE7FFFE1}, + [I(90,177)] = {29,0x1FBFFFE1}, + [I(91,177)] = {64,0}, + [I(92,177)] = {64,0}, + [I(93,177)] = {64,0}, + [I(94,177)] = {64,0}, + [I(95,177)] = {27,0x45FFFE1}, + [I(96,177)] = {64,0}, + [I(97,177)] = {26,0x7FFFE1}, + [I(98,177)] = {27,0x47FFFE1}, + [I(99,177)] = {26,0x9FFFE1}, + [I(100,177)] = {27,0x49FFFE1}, + [I(101,177)] = {26,0xBFFFE1}, + [I(102,177)] = {27,0x4BFFFE1}, + [I(103,177)] = {27,0x4DFFFE1}, + [I(104,177)] = {27,0x4FFFFE1}, + [I(105,177)] = {26,0xDFFFE1}, + [I(106,177)] = {28,0xE9FFFE1}, + [I(107,177)] = {28,0xEBFFFE1}, + [I(108,177)] = {27,0x51FFFE1}, + [I(109,177)] = {27,0x53FFFE1}, + [I(110,177)] = {27,0x55FFFE1}, + [I(111,177)] = {26,0xFFFFE1}, + [I(112,177)] = {27,0x57FFFE1}, + [I(113,177)] = {28,0xEDFFFE1}, + [I(114,177)] = {27,0x59FFFE1}, + [I(115,177)] = {26,0x11FFFE1}, + [I(116,177)] = {26,0x13FFFE1}, + [I(117,177)] = {27,0x5BFFFE1}, + [I(118,177)] = {28,0xEFFFFE1}, + [I(119,177)] = {28,0xF1FFFE1}, + [I(120,177)] = {28,0xF3FFFE1}, + [I(121,177)] = {28,0xF5FFFE1}, + [I(122,177)] = {28,0xF7FFFE1}, + [I(123,177)] = {64,0}, + [I(124,177)] = {X32,0xFF9FFFE1}, + [I(125,177)] = {64,0}, + [I(126,177)] = {64,0}, + [I(127,177)] = {64,0}, + [I(128,177)] = {64,0}, + [I(129,177)] = {64,0}, + [I(130,177)] = {64,0}, + [I(131,177)] = {64,0}, + [I(132,177)] = {64,0}, + [I(133,177)] = {64,0}, + [I(134,177)] = {64,0}, + [I(135,177)] = {64,0}, + [I(136,177)] = {64,0}, + [I(137,177)] = {64,0}, + [I(138,177)] = {64,0}, + [I(139,177)] = {64,0}, + [I(140,177)] = {64,0}, + [I(141,177)] = {64,0}, + [I(142,177)] = {64,0}, + [I(143,177)] = {64,0}, + [I(144,177)] = {64,0}, + [I(145,177)] = {64,0}, + [I(146,177)] = {64,0}, + [I(147,177)] = {64,0}, + [I(148,177)] = {64,0}, + [I(149,177)] = {64,0}, + [I(150,177)] = {64,0}, + [I(151,177)] = {64,0}, + [I(152,177)] = {64,0}, + [I(153,177)] = {64,0}, + [I(154,177)] = {64,0}, + [I(155,177)] = {64,0}, + [I(156,177)] = {64,0}, + [I(157,177)] = {64,0}, + [I(158,177)] = {64,0}, + [I(159,177)] = {64,0}, + [I(160,177)] = {64,0}, + [I(161,177)] = {64,0}, + [I(162,177)] = {64,0}, + [I(163,177)] = {64,0}, + [I(164,177)] = {64,0}, + [I(165,177)] = {64,0}, + [I(166,177)] = {64,0}, + [I(167,177)] = {64,0}, + [I(168,177)] = {64,0}, + [I(169,177)] = {64,0}, + [I(170,177)] = {64,0}, + [I(171,177)] = {64,0}, + [I(172,177)] = {64,0}, + [I(173,177)] = {64,0}, + [I(174,177)] = {64,0}, + [I(175,177)] = {64,0}, + [I(176,177)] = {64,0}, + [I(177,177)] = {64,0}, + [I(178,177)] = {64,0}, + [I(179,177)] = {64,0}, + [I(180,177)] = {64,0}, + [I(181,177)] = {64,0}, + [I(182,177)] = {64,0}, + [I(183,177)] = {64,0}, + [I(184,177)] = {64,0}, + [I(185,177)] = {64,0}, + [I(186,177)] = {64,0}, + [I(187,177)] = {64,0}, + [I(188,177)] = {64,0}, + [I(189,177)] = {64,0}, + [I(190,177)] = {64,0}, + [I(191,177)] = {64,0}, + [I(192,177)] = {64,0}, + [I(193,177)] = {64,0}, + [I(194,177)] = {64,0}, + [I(195,177)] = {64,0}, + [I(196,177)] = {64,0}, + [I(197,177)] = {64,0}, + [I(198,177)] = {64,0}, + [I(199,177)] = {64,0}, + [I(200,177)] = {64,0}, + [I(201,177)] = {64,0}, + [I(202,177)] = {64,0}, + [I(203,177)] = {64,0}, + [I(204,177)] = {64,0}, + [I(205,177)] = {64,0}, + [I(206,177)] = {64,0}, + [I(207,177)] = {64,0}, + [I(208,177)] = {64,0}, + [I(209,177)] = {64,0}, + [I(210,177)] = {64,0}, + [I(211,177)] = {64,0}, + [I(212,177)] = {64,0}, + [I(213,177)] = {64,0}, + [I(214,177)] = {64,0}, + [I(215,177)] = {64,0}, + [I(216,177)] = {64,0}, + [I(217,177)] = {64,0}, + [I(218,177)] = {64,0}, + [I(219,177)] = {64,0}, + [I(220,177)] = {64,0}, + [I(221,177)] = {64,0}, + [I(222,177)] = {64,0}, + [I(223,177)] = {64,0}, + [I(224,177)] = {64,0}, + [I(225,177)] = {64,0}, + [I(226,177)] = {64,0}, + [I(227,177)] = {64,0}, + [I(228,177)] = {64,0}, + [I(229,177)] = {64,0}, + [I(230,177)] = {64,0}, + [I(231,177)] = {64,0}, + [I(232,177)] = {64,0}, + [I(233,177)] = {64,0}, + [I(234,177)] = {64,0}, + [I(235,177)] = {64,0}, + [I(236,177)] = {64,0}, + [I(237,177)] = {64,0}, + [I(238,177)] = {64,0}, + [I(239,177)] = {64,0}, + [I(240,177)] = {64,0}, + [I(241,177)] = {64,0}, + [I(242,177)] = {64,0}, + [I(243,177)] = {64,0}, + [I(244,177)] = {64,0}, + [I(245,177)] = {64,0}, + [I(246,177)] = {64,0}, + [I(247,177)] = {64,0}, + [I(248,177)] = {64,0}, + [I(249,177)] = {64,0}, + [I(250,177)] = {64,0}, + [I(251,177)] = {64,0}, + [I(252,177)] = {64,0}, + [I(253,177)] = {64,0}, + [I(254,177)] = {64,0}, + [I(255,177)] = {64,0}, + [I(0,178)] = {64,0}, + [I(1,178)] = {64,0}, + [I(2,178)] = {64,0}, + [I(3,178)] = {64,0}, + [I(4,178)] = {64,0}, + [I(5,178)] = {64,0}, + [I(6,178)] = {64,0}, + [I(7,178)] = {64,0}, + [I(8,178)] = {64,0}, + [I(9,178)] = {64,0}, + [I(10,178)] = {64,0}, + [I(11,178)] = {64,0}, + [I(12,178)] = {64,0}, + [I(13,178)] = {64,0}, + [I(14,178)] = {64,0}, + [I(15,178)] = {64,0}, + [I(16,178)] = {64,0}, + [I(17,178)] = {64,0}, + [I(18,178)] = {64,0}, + [I(19,178)] = {64,0}, + [I(20,178)] = {64,0}, + [I(21,178)] = {64,0}, + [I(22,178)] = {64,0}, + [I(23,178)] = {64,0}, + [I(24,178)] = {64,0}, + [I(25,178)] = {64,0}, + [I(26,178)] = {64,0}, + [I(27,178)] = {64,0}, + [I(28,178)] = {64,0}, + [I(29,178)] = {64,0}, + [I(30,178)] = {64,0}, + [I(31,178)] = {64,0}, + [I(32,178)] = {28,0x53FFFE0}, + [I(33,178)] = {X32,0xFE3FFFE0}, + [I(34,178)] = {X32,0xFE7FFFE0}, + [I(35,178)] = {64,0}, + [I(36,178)] = {64,0}, + [I(37,178)] = {28,0x57FFFE0}, + [I(38,178)] = {30,0x3E3FFFE0}, + [I(39,178)] = {64,0}, + [I(40,178)] = {X32,0xFEBFFFE0}, + [I(41,178)] = {X32,0xFEFFFFE0}, + [I(42,178)] = {30,0x3E7FFFE0}, + [I(43,178)] = {64,0}, + [I(44,178)] = {30,0x3EBFFFE0}, + [I(45,178)] = {28,0x5BFFFE0}, + [I(46,178)] = {28,0x5FFFFE0}, + [I(47,178)] = {28,0x63FFFE0}, + [I(48,178)] = {27,0x3FFFE0}, + [I(49,178)] = {27,0x7FFFE0}, + [I(50,178)] = {27,0xBFFFE0}, + [I(51,178)] = {28,0x67FFFE0}, + [I(52,178)] = {28,0x6BFFFE0}, + [I(53,178)] = {28,0x6FFFFE0}, + [I(54,178)] = {28,0x73FFFE0}, + [I(55,178)] = {28,0x77FFFE0}, + [I(56,178)] = {28,0x7BFFFE0}, + [I(57,178)] = {28,0x7FFFFE0}, + [I(58,178)] = {29,0x173FFFE0}, + [I(59,178)] = {30,0x3EFFFFE0}, + [I(60,178)] = {64,0}, + [I(61,178)] = {28,0x83FFFE0}, + [I(62,178)] = {64,0}, + [I(63,178)] = {X32,0xFF3FFFE0}, + [I(64,178)] = {64,0}, + [I(65,178)] = {28,0x87FFFE0}, + [I(66,178)] = {29,0x177FFFE0}, + [I(67,178)] = {29,0x17BFFFE0}, + [I(68,178)] = {29,0x17FFFFE0}, + [I(69,178)] = {29,0x183FFFE0}, + [I(70,178)] = {29,0x187FFFE0}, + [I(71,178)] = {29,0x18BFFFE0}, + [I(72,178)] = {29,0x18FFFFE0}, + [I(73,178)] = {29,0x193FFFE0}, + [I(74,178)] = {29,0x197FFFE0}, + [I(75,178)] = {29,0x19BFFFE0}, + [I(76,178)] = {29,0x19FFFFE0}, + [I(77,178)] = {29,0x1A3FFFE0}, + [I(78,178)] = {29,0x1A7FFFE0}, + [I(79,178)] = {29,0x1ABFFFE0}, + [I(80,178)] = {29,0x1AFFFFE0}, + [I(81,178)] = {29,0x1B3FFFE0}, + [I(82,178)] = {29,0x1B7FFFE0}, + [I(83,178)] = {29,0x1BBFFFE0}, + [I(84,178)] = {29,0x1BFFFFE0}, + [I(85,178)] = {29,0x1C3FFFE0}, + [I(86,178)] = {29,0x1C7FFFE0}, + [I(87,178)] = {29,0x1CBFFFE0}, + [I(88,178)] = {30,0x3F3FFFE0}, + [I(89,178)] = {29,0x1CFFFFE0}, + [I(90,178)] = {30,0x3F7FFFE0}, + [I(91,178)] = {64,0}, + [I(92,178)] = {64,0}, + [I(93,178)] = {64,0}, + [I(94,178)] = {64,0}, + [I(95,178)] = {28,0x8BFFFE0}, + [I(96,178)] = {64,0}, + [I(97,178)] = {27,0xFFFFE0}, + [I(98,178)] = {28,0x8FFFFE0}, + [I(99,178)] = {27,0x13FFFE0}, + [I(100,178)] = {28,0x93FFFE0}, + [I(101,178)] = {27,0x17FFFE0}, + [I(102,178)] = {28,0x97FFFE0}, + [I(103,178)] = {28,0x9BFFFE0}, + [I(104,178)] = {28,0x9FFFFE0}, + [I(105,178)] = {27,0x1BFFFE0}, + [I(106,178)] = {29,0x1D3FFFE0}, + [I(107,178)] = {29,0x1D7FFFE0}, + [I(108,178)] = {28,0xA3FFFE0}, + [I(109,178)] = {28,0xA7FFFE0}, + [I(110,178)] = {28,0xABFFFE0}, + [I(111,178)] = {27,0x1FFFFE0}, + [I(112,178)] = {28,0xAFFFFE0}, + [I(113,178)] = {29,0x1DBFFFE0}, + [I(114,178)] = {28,0xB3FFFE0}, + [I(115,178)] = {27,0x23FFFE0}, + [I(116,178)] = {27,0x27FFFE0}, + [I(117,178)] = {28,0xB7FFFE0}, + [I(118,178)] = {29,0x1DFFFFE0}, + [I(119,178)] = {29,0x1E3FFFE0}, + [I(120,178)] = {29,0x1E7FFFE0}, + [I(121,178)] = {29,0x1EBFFFE0}, + [I(122,178)] = {29,0x1EFFFFE0}, + [I(123,178)] = {64,0}, + [I(124,178)] = {64,0}, + [I(125,178)] = {64,0}, + [I(126,178)] = {64,0}, + [I(127,178)] = {64,0}, + [I(128,178)] = {64,0}, + [I(129,178)] = {64,0}, + [I(130,178)] = {64,0}, + [I(131,178)] = {64,0}, + [I(132,178)] = {64,0}, + [I(133,178)] = {64,0}, + [I(134,178)] = {64,0}, + [I(135,178)] = {64,0}, + [I(136,178)] = {64,0}, + [I(137,178)] = {64,0}, + [I(138,178)] = {64,0}, + [I(139,178)] = {64,0}, + [I(140,178)] = {64,0}, + [I(141,178)] = {64,0}, + [I(142,178)] = {64,0}, + [I(143,178)] = {64,0}, + [I(144,178)] = {64,0}, + [I(145,178)] = {64,0}, + [I(146,178)] = {64,0}, + [I(147,178)] = {64,0}, + [I(148,178)] = {64,0}, + [I(149,178)] = {64,0}, + [I(150,178)] = {64,0}, + [I(151,178)] = {64,0}, + [I(152,178)] = {64,0}, + [I(153,178)] = {64,0}, + [I(154,178)] = {64,0}, + [I(155,178)] = {64,0}, + [I(156,178)] = {64,0}, + [I(157,178)] = {64,0}, + [I(158,178)] = {64,0}, + [I(159,178)] = {64,0}, + [I(160,178)] = {64,0}, + [I(161,178)] = {64,0}, + [I(162,178)] = {64,0}, + [I(163,178)] = {64,0}, + [I(164,178)] = {64,0}, + [I(165,178)] = {64,0}, + [I(166,178)] = {64,0}, + [I(167,178)] = {64,0}, + [I(168,178)] = {64,0}, + [I(169,178)] = {64,0}, + [I(170,178)] = {64,0}, + [I(171,178)] = {64,0}, + [I(172,178)] = {64,0}, + [I(173,178)] = {64,0}, + [I(174,178)] = {64,0}, + [I(175,178)] = {64,0}, + [I(176,178)] = {64,0}, + [I(177,178)] = {64,0}, + [I(178,178)] = {64,0}, + [I(179,178)] = {64,0}, + [I(180,178)] = {64,0}, + [I(181,178)] = {64,0}, + [I(182,178)] = {64,0}, + [I(183,178)] = {64,0}, + [I(184,178)] = {64,0}, + [I(185,178)] = {64,0}, + [I(186,178)] = {64,0}, + [I(187,178)] = {64,0}, + [I(188,178)] = {64,0}, + [I(189,178)] = {64,0}, + [I(190,178)] = {64,0}, + [I(191,178)] = {64,0}, + [I(192,178)] = {64,0}, + [I(193,178)] = {64,0}, + [I(194,178)] = {64,0}, + [I(195,178)] = {64,0}, + [I(196,178)] = {64,0}, + [I(197,178)] = {64,0}, + [I(198,178)] = {64,0}, + [I(199,178)] = {64,0}, + [I(200,178)] = {64,0}, + [I(201,178)] = {64,0}, + [I(202,178)] = {64,0}, + [I(203,178)] = {64,0}, + [I(204,178)] = {64,0}, + [I(205,178)] = {64,0}, + [I(206,178)] = {64,0}, + [I(207,178)] = {64,0}, + [I(208,178)] = {64,0}, + [I(209,178)] = {64,0}, + [I(210,178)] = {64,0}, + [I(211,178)] = {64,0}, + [I(212,178)] = {64,0}, + [I(213,178)] = {64,0}, + [I(214,178)] = {64,0}, + [I(215,178)] = {64,0}, + [I(216,178)] = {64,0}, + [I(217,178)] = {64,0}, + [I(218,178)] = {64,0}, + [I(219,178)] = {64,0}, + [I(220,178)] = {64,0}, + [I(221,178)] = {64,0}, + [I(222,178)] = {64,0}, + [I(223,178)] = {64,0}, + [I(224,178)] = {64,0}, + [I(225,178)] = {64,0}, + [I(226,178)] = {64,0}, + [I(227,178)] = {64,0}, + [I(228,178)] = {64,0}, + [I(229,178)] = {64,0}, + [I(230,178)] = {64,0}, + [I(231,178)] = {64,0}, + [I(232,178)] = {64,0}, + [I(233,178)] = {64,0}, + [I(234,178)] = {64,0}, + [I(235,178)] = {64,0}, + [I(236,178)] = {64,0}, + [I(237,178)] = {64,0}, + [I(238,178)] = {64,0}, + [I(239,178)] = {64,0}, + [I(240,178)] = {64,0}, + [I(241,178)] = {64,0}, + [I(242,178)] = {64,0}, + [I(243,178)] = {64,0}, + [I(244,178)] = {64,0}, + [I(245,178)] = {64,0}, + [I(246,178)] = {64,0}, + [I(247,178)] = {64,0}, + [I(248,178)] = {64,0}, + [I(249,178)] = {64,0}, + [I(250,178)] = {64,0}, + [I(251,178)] = {64,0}, + [I(252,178)] = {64,0}, + [I(253,178)] = {64,0}, + [I(254,178)] = {64,0}, + [I(255,178)] = {64,0}, + [I(0,179)] = {64,0}, + [I(1,179)] = {64,0}, + [I(2,179)] = {64,0}, + [I(3,179)] = {64,0}, + [I(4,179)] = {64,0}, + [I(5,179)] = {64,0}, + [I(6,179)] = {64,0}, + [I(7,179)] = {64,0}, + [I(8,179)] = {64,0}, + [I(9,179)] = {64,0}, + [I(10,179)] = {64,0}, + [I(11,179)] = {64,0}, + [I(12,179)] = {64,0}, + [I(13,179)] = {64,0}, + [I(14,179)] = {64,0}, + [I(15,179)] = {64,0}, + [I(16,179)] = {64,0}, + [I(17,179)] = {64,0}, + [I(18,179)] = {64,0}, + [I(19,179)] = {64,0}, + [I(20,179)] = {64,0}, + [I(21,179)] = {64,0}, + [I(22,179)] = {64,0}, + [I(23,179)] = {64,0}, + [I(24,179)] = {64,0}, + [I(25,179)] = {64,0}, + [I(26,179)] = {64,0}, + [I(27,179)] = {64,0}, + [I(28,179)] = {64,0}, + [I(29,179)] = {64,0}, + [I(30,179)] = {64,0}, + [I(31,179)] = {64,0}, + [I(32,179)] = {27,0x29FFFE2}, + [I(33,179)] = {31,0x7F1FFFE2}, + [I(34,179)] = {31,0x7F3FFFE2}, + [I(35,179)] = {64,0}, + [I(36,179)] = {64,0}, + [I(37,179)] = {27,0x2BFFFE2}, + [I(38,179)] = {29,0x1F1FFFE2}, + [I(39,179)] = {X32,0xFF5FFFE2}, + [I(40,179)] = {31,0x7F5FFFE2}, + [I(41,179)] = {31,0x7F7FFFE2}, + [I(42,179)] = {29,0x1F3FFFE2}, + [I(43,179)] = {X32,0xFF7FFFE2}, + [I(44,179)] = {29,0x1F5FFFE2}, + [I(45,179)] = {27,0x2DFFFE2}, + [I(46,179)] = {27,0x2FFFFE2}, + [I(47,179)] = {27,0x31FFFE2}, + [I(48,179)] = {26,0x1FFFE2}, + [I(49,179)] = {26,0x3FFFE2}, + [I(50,179)] = {26,0x5FFFE2}, + [I(51,179)] = {27,0x33FFFE2}, + [I(52,179)] = {27,0x35FFFE2}, + [I(53,179)] = {27,0x37FFFE2}, + [I(54,179)] = {27,0x39FFFE2}, + [I(55,179)] = {27,0x3BFFFE2}, + [I(56,179)] = {27,0x3DFFFE2}, + [I(57,179)] = {27,0x3FFFFE2}, + [I(58,179)] = {28,0xB9FFFE2}, + [I(59,179)] = {29,0x1F7FFFE2}, + [I(60,179)] = {64,0}, + [I(61,179)] = {27,0x41FFFE2}, + [I(62,179)] = {64,0}, + [I(63,179)] = {31,0x7F9FFFE2}, + [I(64,179)] = {64,0}, + [I(65,179)] = {27,0x43FFFE2}, + [I(66,179)] = {28,0xBBFFFE2}, + [I(67,179)] = {28,0xBDFFFE2}, + [I(68,179)] = {28,0xBFFFFE2}, + [I(69,179)] = {28,0xC1FFFE2}, + [I(70,179)] = {28,0xC3FFFE2}, + [I(71,179)] = {28,0xC5FFFE2}, + [I(72,179)] = {28,0xC7FFFE2}, + [I(73,179)] = {28,0xC9FFFE2}, + [I(74,179)] = {28,0xCBFFFE2}, + [I(75,179)] = {28,0xCDFFFE2}, + [I(76,179)] = {28,0xCFFFFE2}, + [I(77,179)] = {28,0xD1FFFE2}, + [I(78,179)] = {28,0xD3FFFE2}, + [I(79,179)] = {28,0xD5FFFE2}, + [I(80,179)] = {28,0xD7FFFE2}, + [I(81,179)] = {28,0xD9FFFE2}, + [I(82,179)] = {28,0xDBFFFE2}, + [I(83,179)] = {28,0xDDFFFE2}, + [I(84,179)] = {28,0xDFFFFE2}, + [I(85,179)] = {28,0xE1FFFE2}, + [I(86,179)] = {28,0xE3FFFE2}, + [I(87,179)] = {28,0xE5FFFE2}, + [I(88,179)] = {29,0x1F9FFFE2}, + [I(89,179)] = {28,0xE7FFFE2}, + [I(90,179)] = {29,0x1FBFFFE2}, + [I(91,179)] = {64,0}, + [I(92,179)] = {64,0}, + [I(93,179)] = {64,0}, + [I(94,179)] = {64,0}, + [I(95,179)] = {27,0x45FFFE2}, + [I(96,179)] = {64,0}, + [I(97,179)] = {26,0x7FFFE2}, + [I(98,179)] = {27,0x47FFFE2}, + [I(99,179)] = {26,0x9FFFE2}, + [I(100,179)] = {27,0x49FFFE2}, + [I(101,179)] = {26,0xBFFFE2}, + [I(102,179)] = {27,0x4BFFFE2}, + [I(103,179)] = {27,0x4DFFFE2}, + [I(104,179)] = {27,0x4FFFFE2}, + [I(105,179)] = {26,0xDFFFE2}, + [I(106,179)] = {28,0xE9FFFE2}, + [I(107,179)] = {28,0xEBFFFE2}, + [I(108,179)] = {27,0x51FFFE2}, + [I(109,179)] = {27,0x53FFFE2}, + [I(110,179)] = {27,0x55FFFE2}, + [I(111,179)] = {26,0xFFFFE2}, + [I(112,179)] = {27,0x57FFFE2}, + [I(113,179)] = {28,0xEDFFFE2}, + [I(114,179)] = {27,0x59FFFE2}, + [I(115,179)] = {26,0x11FFFE2}, + [I(116,179)] = {26,0x13FFFE2}, + [I(117,179)] = {27,0x5BFFFE2}, + [I(118,179)] = {28,0xEFFFFE2}, + [I(119,179)] = {28,0xF1FFFE2}, + [I(120,179)] = {28,0xF3FFFE2}, + [I(121,179)] = {28,0xF5FFFE2}, + [I(122,179)] = {28,0xF7FFFE2}, + [I(123,179)] = {64,0}, + [I(124,179)] = {X32,0xFF9FFFE2}, + [I(125,179)] = {64,0}, + [I(126,179)] = {64,0}, + [I(127,179)] = {64,0}, + [I(128,179)] = {64,0}, + [I(129,179)] = {64,0}, + [I(130,179)] = {64,0}, + [I(131,179)] = {64,0}, + [I(132,179)] = {64,0}, + [I(133,179)] = {64,0}, + [I(134,179)] = {64,0}, + [I(135,179)] = {64,0}, + [I(136,179)] = {64,0}, + [I(137,179)] = {64,0}, + [I(138,179)] = {64,0}, + [I(139,179)] = {64,0}, + [I(140,179)] = {64,0}, + [I(141,179)] = {64,0}, + [I(142,179)] = {64,0}, + [I(143,179)] = {64,0}, + [I(144,179)] = {64,0}, + [I(145,179)] = {64,0}, + [I(146,179)] = {64,0}, + [I(147,179)] = {64,0}, + [I(148,179)] = {64,0}, + [I(149,179)] = {64,0}, + [I(150,179)] = {64,0}, + [I(151,179)] = {64,0}, + [I(152,179)] = {64,0}, + [I(153,179)] = {64,0}, + [I(154,179)] = {64,0}, + [I(155,179)] = {64,0}, + [I(156,179)] = {64,0}, + [I(157,179)] = {64,0}, + [I(158,179)] = {64,0}, + [I(159,179)] = {64,0}, + [I(160,179)] = {64,0}, + [I(161,179)] = {64,0}, + [I(162,179)] = {64,0}, + [I(163,179)] = {64,0}, + [I(164,179)] = {64,0}, + [I(165,179)] = {64,0}, + [I(166,179)] = {64,0}, + [I(167,179)] = {64,0}, + [I(168,179)] = {64,0}, + [I(169,179)] = {64,0}, + [I(170,179)] = {64,0}, + [I(171,179)] = {64,0}, + [I(172,179)] = {64,0}, + [I(173,179)] = {64,0}, + [I(174,179)] = {64,0}, + [I(175,179)] = {64,0}, + [I(176,179)] = {64,0}, + [I(177,179)] = {64,0}, + [I(178,179)] = {64,0}, + [I(179,179)] = {64,0}, + [I(180,179)] = {64,0}, + [I(181,179)] = {64,0}, + [I(182,179)] = {64,0}, + [I(183,179)] = {64,0}, + [I(184,179)] = {64,0}, + [I(185,179)] = {64,0}, + [I(186,179)] = {64,0}, + [I(187,179)] = {64,0}, + [I(188,179)] = {64,0}, + [I(189,179)] = {64,0}, + [I(190,179)] = {64,0}, + [I(191,179)] = {64,0}, + [I(192,179)] = {64,0}, + [I(193,179)] = {64,0}, + [I(194,179)] = {64,0}, + [I(195,179)] = {64,0}, + [I(196,179)] = {64,0}, + [I(197,179)] = {64,0}, + [I(198,179)] = {64,0}, + [I(199,179)] = {64,0}, + [I(200,179)] = {64,0}, + [I(201,179)] = {64,0}, + [I(202,179)] = {64,0}, + [I(203,179)] = {64,0}, + [I(204,179)] = {64,0}, + [I(205,179)] = {64,0}, + [I(206,179)] = {64,0}, + [I(207,179)] = {64,0}, + [I(208,179)] = {64,0}, + [I(209,179)] = {64,0}, + [I(210,179)] = {64,0}, + [I(211,179)] = {64,0}, + [I(212,179)] = {64,0}, + [I(213,179)] = {64,0}, + [I(214,179)] = {64,0}, + [I(215,179)] = {64,0}, + [I(216,179)] = {64,0}, + [I(217,179)] = {64,0}, + [I(218,179)] = {64,0}, + [I(219,179)] = {64,0}, + [I(220,179)] = {64,0}, + [I(221,179)] = {64,0}, + [I(222,179)] = {64,0}, + [I(223,179)] = {64,0}, + [I(224,179)] = {64,0}, + [I(225,179)] = {64,0}, + [I(226,179)] = {64,0}, + [I(227,179)] = {64,0}, + [I(228,179)] = {64,0}, + [I(229,179)] = {64,0}, + [I(230,179)] = {64,0}, + [I(231,179)] = {64,0}, + [I(232,179)] = {64,0}, + [I(233,179)] = {64,0}, + [I(234,179)] = {64,0}, + [I(235,179)] = {64,0}, + [I(236,179)] = {64,0}, + [I(237,179)] = {64,0}, + [I(238,179)] = {64,0}, + [I(239,179)] = {64,0}, + [I(240,179)] = {64,0}, + [I(241,179)] = {64,0}, + [I(242,179)] = {64,0}, + [I(243,179)] = {64,0}, + [I(244,179)] = {64,0}, + [I(245,179)] = {64,0}, + [I(246,179)] = {64,0}, + [I(247,179)] = {64,0}, + [I(248,179)] = {64,0}, + [I(249,179)] = {64,0}, + [I(250,179)] = {64,0}, + [I(251,179)] = {64,0}, + [I(252,179)] = {64,0}, + [I(253,179)] = {64,0}, + [I(254,179)] = {64,0}, + [I(255,179)] = {64,0}, + [I(0,180)] = {64,0}, + [I(1,180)] = {64,0}, + [I(2,180)] = {64,0}, + [I(3,180)] = {64,0}, + [I(4,180)] = {64,0}, + [I(5,180)] = {64,0}, + [I(6,180)] = {64,0}, + [I(7,180)] = {64,0}, + [I(8,180)] = {64,0}, + [I(9,180)] = {64,0}, + [I(10,180)] = {64,0}, + [I(11,180)] = {64,0}, + [I(12,180)] = {64,0}, + [I(13,180)] = {64,0}, + [I(14,180)] = {64,0}, + [I(15,180)] = {64,0}, + [I(16,180)] = {64,0}, + [I(17,180)] = {64,0}, + [I(18,180)] = {64,0}, + [I(19,180)] = {64,0}, + [I(20,180)] = {64,0}, + [I(21,180)] = {64,0}, + [I(22,180)] = {64,0}, + [I(23,180)] = {64,0}, + [I(24,180)] = {64,0}, + [I(25,180)] = {64,0}, + [I(26,180)] = {64,0}, + [I(27,180)] = {64,0}, + [I(28,180)] = {64,0}, + [I(29,180)] = {64,0}, + [I(30,180)] = {64,0}, + [I(31,180)] = {64,0}, + [I(32,180)] = {29,0xA7FFFED}, + [I(33,180)] = {64,0}, + [I(34,180)] = {64,0}, + [I(35,180)] = {64,0}, + [I(36,180)] = {64,0}, + [I(37,180)] = {29,0xAFFFFED}, + [I(38,180)] = {31,0x7C7FFFED}, + [I(39,180)] = {64,0}, + [I(40,180)] = {64,0}, + [I(41,180)] = {64,0}, + [I(42,180)] = {31,0x7CFFFFED}, + [I(43,180)] = {64,0}, + [I(44,180)] = {31,0x7D7FFFED}, + [I(45,180)] = {29,0xB7FFFED}, + [I(46,180)] = {29,0xBFFFFED}, + [I(47,180)] = {29,0xC7FFFED}, + [I(48,180)] = {28,0x7FFFED}, + [I(49,180)] = {28,0xFFFFED}, + [I(50,180)] = {28,0x17FFFED}, + [I(51,180)] = {29,0xCFFFFED}, + [I(52,180)] = {29,0xD7FFFED}, + [I(53,180)] = {29,0xDFFFFED}, + [I(54,180)] = {29,0xE7FFFED}, + [I(55,180)] = {29,0xEFFFFED}, + [I(56,180)] = {29,0xF7FFFED}, + [I(57,180)] = {29,0xFFFFFED}, + [I(58,180)] = {30,0x2E7FFFED}, + [I(59,180)] = {31,0x7DFFFFED}, + [I(60,180)] = {64,0}, + [I(61,180)] = {29,0x107FFFED}, + [I(62,180)] = {64,0}, + [I(63,180)] = {64,0}, + [I(64,180)] = {64,0}, + [I(65,180)] = {29,0x10FFFFED}, + [I(66,180)] = {30,0x2EFFFFED}, + [I(67,180)] = {30,0x2F7FFFED}, + [I(68,180)] = {30,0x2FFFFFED}, + [I(69,180)] = {30,0x307FFFED}, + [I(70,180)] = {30,0x30FFFFED}, + [I(71,180)] = {30,0x317FFFED}, + [I(72,180)] = {30,0x31FFFFED}, + [I(73,180)] = {30,0x327FFFED}, + [I(74,180)] = {30,0x32FFFFED}, + [I(75,180)] = {30,0x337FFFED}, + [I(76,180)] = {30,0x33FFFFED}, + [I(77,180)] = {30,0x347FFFED}, + [I(78,180)] = {30,0x34FFFFED}, + [I(79,180)] = {30,0x357FFFED}, + [I(80,180)] = {30,0x35FFFFED}, + [I(81,180)] = {30,0x367FFFED}, + [I(82,180)] = {30,0x36FFFFED}, + [I(83,180)] = {30,0x377FFFED}, + [I(84,180)] = {30,0x37FFFFED}, + [I(85,180)] = {30,0x387FFFED}, + [I(86,180)] = {30,0x38FFFFED}, + [I(87,180)] = {30,0x397FFFED}, + [I(88,180)] = {31,0x7E7FFFED}, + [I(89,180)] = {30,0x39FFFFED}, + [I(90,180)] = {31,0x7EFFFFED}, + [I(91,180)] = {64,0}, + [I(92,180)] = {64,0}, + [I(93,180)] = {64,0}, + [I(94,180)] = {64,0}, + [I(95,180)] = {29,0x117FFFED}, + [I(96,180)] = {64,0}, + [I(97,180)] = {28,0x1FFFFED}, + [I(98,180)] = {29,0x11FFFFED}, + [I(99,180)] = {28,0x27FFFED}, + [I(100,180)] = {29,0x127FFFED}, + [I(101,180)] = {28,0x2FFFFED}, + [I(102,180)] = {29,0x12FFFFED}, + [I(103,180)] = {29,0x137FFFED}, + [I(104,180)] = {29,0x13FFFFED}, + [I(105,180)] = {28,0x37FFFED}, + [I(106,180)] = {30,0x3A7FFFED}, + [I(107,180)] = {30,0x3AFFFFED}, + [I(108,180)] = {29,0x147FFFED}, + [I(109,180)] = {29,0x14FFFFED}, + [I(110,180)] = {29,0x157FFFED}, + [I(111,180)] = {28,0x3FFFFED}, + [I(112,180)] = {29,0x15FFFFED}, + [I(113,180)] = {30,0x3B7FFFED}, + [I(114,180)] = {29,0x167FFFED}, + [I(115,180)] = {28,0x47FFFED}, + [I(116,180)] = {28,0x4FFFFED}, + [I(117,180)] = {29,0x16FFFFED}, + [I(118,180)] = {30,0x3BFFFFED}, + [I(119,180)] = {30,0x3C7FFFED}, + [I(120,180)] = {30,0x3CFFFFED}, + [I(121,180)] = {30,0x3D7FFFED}, + [I(122,180)] = {30,0x3DFFFFED}, + [I(123,180)] = {64,0}, + [I(124,180)] = {64,0}, + [I(125,180)] = {64,0}, + [I(126,180)] = {64,0}, + [I(127,180)] = {64,0}, + [I(128,180)] = {64,0}, + [I(129,180)] = {64,0}, + [I(130,180)] = {64,0}, + [I(131,180)] = {64,0}, + [I(132,180)] = {64,0}, + [I(133,180)] = {64,0}, + [I(134,180)] = {64,0}, + [I(135,180)] = {64,0}, + [I(136,180)] = {64,0}, + [I(137,180)] = {64,0}, + [I(138,180)] = {64,0}, + [I(139,180)] = {64,0}, + [I(140,180)] = {64,0}, + [I(141,180)] = {64,0}, + [I(142,180)] = {64,0}, + [I(143,180)] = {64,0}, + [I(144,180)] = {64,0}, + [I(145,180)] = {64,0}, + [I(146,180)] = {64,0}, + [I(147,180)] = {64,0}, + [I(148,180)] = {64,0}, + [I(149,180)] = {64,0}, + [I(150,180)] = {64,0}, + [I(151,180)] = {64,0}, + [I(152,180)] = {64,0}, + [I(153,180)] = {64,0}, + [I(154,180)] = {64,0}, + [I(155,180)] = {64,0}, + [I(156,180)] = {64,0}, + [I(157,180)] = {64,0}, + [I(158,180)] = {64,0}, + [I(159,180)] = {64,0}, + [I(160,180)] = {64,0}, + [I(161,180)] = {64,0}, + [I(162,180)] = {64,0}, + [I(163,180)] = {64,0}, + [I(164,180)] = {64,0}, + [I(165,180)] = {64,0}, + [I(166,180)] = {64,0}, + [I(167,180)] = {64,0}, + [I(168,180)] = {64,0}, + [I(169,180)] = {64,0}, + [I(170,180)] = {64,0}, + [I(171,180)] = {64,0}, + [I(172,180)] = {64,0}, + [I(173,180)] = {64,0}, + [I(174,180)] = {64,0}, + [I(175,180)] = {64,0}, + [I(176,180)] = {64,0}, + [I(177,180)] = {64,0}, + [I(178,180)] = {64,0}, + [I(179,180)] = {64,0}, + [I(180,180)] = {64,0}, + [I(181,180)] = {64,0}, + [I(182,180)] = {64,0}, + [I(183,180)] = {64,0}, + [I(184,180)] = {64,0}, + [I(185,180)] = {64,0}, + [I(186,180)] = {64,0}, + [I(187,180)] = {64,0}, + [I(188,180)] = {64,0}, + [I(189,180)] = {64,0}, + [I(190,180)] = {64,0}, + [I(191,180)] = {64,0}, + [I(192,180)] = {64,0}, + [I(193,180)] = {64,0}, + [I(194,180)] = {64,0}, + [I(195,180)] = {64,0}, + [I(196,180)] = {64,0}, + [I(197,180)] = {64,0}, + [I(198,180)] = {64,0}, + [I(199,180)] = {64,0}, + [I(200,180)] = {64,0}, + [I(201,180)] = {64,0}, + [I(202,180)] = {64,0}, + [I(203,180)] = {64,0}, + [I(204,180)] = {64,0}, + [I(205,180)] = {64,0}, + [I(206,180)] = {64,0}, + [I(207,180)] = {64,0}, + [I(208,180)] = {64,0}, + [I(209,180)] = {64,0}, + [I(210,180)] = {64,0}, + [I(211,180)] = {64,0}, + [I(212,180)] = {64,0}, + [I(213,180)] = {64,0}, + [I(214,180)] = {64,0}, + [I(215,180)] = {64,0}, + [I(216,180)] = {64,0}, + [I(217,180)] = {64,0}, + [I(218,180)] = {64,0}, + [I(219,180)] = {64,0}, + [I(220,180)] = {64,0}, + [I(221,180)] = {64,0}, + [I(222,180)] = {64,0}, + [I(223,180)] = {64,0}, + [I(224,180)] = {64,0}, + [I(225,180)] = {64,0}, + [I(226,180)] = {64,0}, + [I(227,180)] = {64,0}, + [I(228,180)] = {64,0}, + [I(229,180)] = {64,0}, + [I(230,180)] = {64,0}, + [I(231,180)] = {64,0}, + [I(232,180)] = {64,0}, + [I(233,180)] = {64,0}, + [I(234,180)] = {64,0}, + [I(235,180)] = {64,0}, + [I(236,180)] = {64,0}, + [I(237,180)] = {64,0}, + [I(238,180)] = {64,0}, + [I(239,180)] = {64,0}, + [I(240,180)] = {64,0}, + [I(241,180)] = {64,0}, + [I(242,180)] = {64,0}, + [I(243,180)] = {64,0}, + [I(244,180)] = {64,0}, + [I(245,180)] = {64,0}, + [I(246,180)] = {64,0}, + [I(247,180)] = {64,0}, + [I(248,180)] = {64,0}, + [I(249,180)] = {64,0}, + [I(250,180)] = {64,0}, + [I(251,180)] = {64,0}, + [I(252,180)] = {64,0}, + [I(253,180)] = {64,0}, + [I(254,180)] = {64,0}, + [I(255,180)] = {64,0}, + [I(0,181)] = {64,0}, + [I(1,181)] = {64,0}, + [I(2,181)] = {64,0}, + [I(3,181)] = {64,0}, + [I(4,181)] = {64,0}, + [I(5,181)] = {64,0}, + [I(6,181)] = {64,0}, + [I(7,181)] = {64,0}, + [I(8,181)] = {64,0}, + [I(9,181)] = {64,0}, + [I(10,181)] = {64,0}, + [I(11,181)] = {64,0}, + [I(12,181)] = {64,0}, + [I(13,181)] = {64,0}, + [I(14,181)] = {64,0}, + [I(15,181)] = {64,0}, + [I(16,181)] = {64,0}, + [I(17,181)] = {64,0}, + [I(18,181)] = {64,0}, + [I(19,181)] = {64,0}, + [I(20,181)] = {64,0}, + [I(21,181)] = {64,0}, + [I(22,181)] = {64,0}, + [I(23,181)] = {64,0}, + [I(24,181)] = {64,0}, + [I(25,181)] = {64,0}, + [I(26,181)] = {64,0}, + [I(27,181)] = {64,0}, + [I(28,181)] = {64,0}, + [I(29,181)] = {64,0}, + [I(30,181)] = {64,0}, + [I(31,181)] = {64,0}, + [I(32,181)] = {28,0x53FFFE1}, + [I(33,181)] = {X32,0xFE3FFFE1}, + [I(34,181)] = {X32,0xFE7FFFE1}, + [I(35,181)] = {64,0}, + [I(36,181)] = {64,0}, + [I(37,181)] = {28,0x57FFFE1}, + [I(38,181)] = {30,0x3E3FFFE1}, + [I(39,181)] = {64,0}, + [I(40,181)] = {X32,0xFEBFFFE1}, + [I(41,181)] = {X32,0xFEFFFFE1}, + [I(42,181)] = {30,0x3E7FFFE1}, + [I(43,181)] = {64,0}, + [I(44,181)] = {30,0x3EBFFFE1}, + [I(45,181)] = {28,0x5BFFFE1}, + [I(46,181)] = {28,0x5FFFFE1}, + [I(47,181)] = {28,0x63FFFE1}, + [I(48,181)] = {27,0x3FFFE1}, + [I(49,181)] = {27,0x7FFFE1}, + [I(50,181)] = {27,0xBFFFE1}, + [I(51,181)] = {28,0x67FFFE1}, + [I(52,181)] = {28,0x6BFFFE1}, + [I(53,181)] = {28,0x6FFFFE1}, + [I(54,181)] = {28,0x73FFFE1}, + [I(55,181)] = {28,0x77FFFE1}, + [I(56,181)] = {28,0x7BFFFE1}, + [I(57,181)] = {28,0x7FFFFE1}, + [I(58,181)] = {29,0x173FFFE1}, + [I(59,181)] = {30,0x3EFFFFE1}, + [I(60,181)] = {64,0}, + [I(61,181)] = {28,0x83FFFE1}, + [I(62,181)] = {64,0}, + [I(63,181)] = {X32,0xFF3FFFE1}, + [I(64,181)] = {64,0}, + [I(65,181)] = {28,0x87FFFE1}, + [I(66,181)] = {29,0x177FFFE1}, + [I(67,181)] = {29,0x17BFFFE1}, + [I(68,181)] = {29,0x17FFFFE1}, + [I(69,181)] = {29,0x183FFFE1}, + [I(70,181)] = {29,0x187FFFE1}, + [I(71,181)] = {29,0x18BFFFE1}, + [I(72,181)] = {29,0x18FFFFE1}, + [I(73,181)] = {29,0x193FFFE1}, + [I(74,181)] = {29,0x197FFFE1}, + [I(75,181)] = {29,0x19BFFFE1}, + [I(76,181)] = {29,0x19FFFFE1}, + [I(77,181)] = {29,0x1A3FFFE1}, + [I(78,181)] = {29,0x1A7FFFE1}, + [I(79,181)] = {29,0x1ABFFFE1}, + [I(80,181)] = {29,0x1AFFFFE1}, + [I(81,181)] = {29,0x1B3FFFE1}, + [I(82,181)] = {29,0x1B7FFFE1}, + [I(83,181)] = {29,0x1BBFFFE1}, + [I(84,181)] = {29,0x1BFFFFE1}, + [I(85,181)] = {29,0x1C3FFFE1}, + [I(86,181)] = {29,0x1C7FFFE1}, + [I(87,181)] = {29,0x1CBFFFE1}, + [I(88,181)] = {30,0x3F3FFFE1}, + [I(89,181)] = {29,0x1CFFFFE1}, + [I(90,181)] = {30,0x3F7FFFE1}, + [I(91,181)] = {64,0}, + [I(92,181)] = {64,0}, + [I(93,181)] = {64,0}, + [I(94,181)] = {64,0}, + [I(95,181)] = {28,0x8BFFFE1}, + [I(96,181)] = {64,0}, + [I(97,181)] = {27,0xFFFFE1}, + [I(98,181)] = {28,0x8FFFFE1}, + [I(99,181)] = {27,0x13FFFE1}, + [I(100,181)] = {28,0x93FFFE1}, + [I(101,181)] = {27,0x17FFFE1}, + [I(102,181)] = {28,0x97FFFE1}, + [I(103,181)] = {28,0x9BFFFE1}, + [I(104,181)] = {28,0x9FFFFE1}, + [I(105,181)] = {27,0x1BFFFE1}, + [I(106,181)] = {29,0x1D3FFFE1}, + [I(107,181)] = {29,0x1D7FFFE1}, + [I(108,181)] = {28,0xA3FFFE1}, + [I(109,181)] = {28,0xA7FFFE1}, + [I(110,181)] = {28,0xABFFFE1}, + [I(111,181)] = {27,0x1FFFFE1}, + [I(112,181)] = {28,0xAFFFFE1}, + [I(113,181)] = {29,0x1DBFFFE1}, + [I(114,181)] = {28,0xB3FFFE1}, + [I(115,181)] = {27,0x23FFFE1}, + [I(116,181)] = {27,0x27FFFE1}, + [I(117,181)] = {28,0xB7FFFE1}, + [I(118,181)] = {29,0x1DFFFFE1}, + [I(119,181)] = {29,0x1E3FFFE1}, + [I(120,181)] = {29,0x1E7FFFE1}, + [I(121,181)] = {29,0x1EBFFFE1}, + [I(122,181)] = {29,0x1EFFFFE1}, + [I(123,181)] = {64,0}, + [I(124,181)] = {64,0}, + [I(125,181)] = {64,0}, + [I(126,181)] = {64,0}, + [I(127,181)] = {64,0}, + [I(128,181)] = {64,0}, + [I(129,181)] = {64,0}, + [I(130,181)] = {64,0}, + [I(131,181)] = {64,0}, + [I(132,181)] = {64,0}, + [I(133,181)] = {64,0}, + [I(134,181)] = {64,0}, + [I(135,181)] = {64,0}, + [I(136,181)] = {64,0}, + [I(137,181)] = {64,0}, + [I(138,181)] = {64,0}, + [I(139,181)] = {64,0}, + [I(140,181)] = {64,0}, + [I(141,181)] = {64,0}, + [I(142,181)] = {64,0}, + [I(143,181)] = {64,0}, + [I(144,181)] = {64,0}, + [I(145,181)] = {64,0}, + [I(146,181)] = {64,0}, + [I(147,181)] = {64,0}, + [I(148,181)] = {64,0}, + [I(149,181)] = {64,0}, + [I(150,181)] = {64,0}, + [I(151,181)] = {64,0}, + [I(152,181)] = {64,0}, + [I(153,181)] = {64,0}, + [I(154,181)] = {64,0}, + [I(155,181)] = {64,0}, + [I(156,181)] = {64,0}, + [I(157,181)] = {64,0}, + [I(158,181)] = {64,0}, + [I(159,181)] = {64,0}, + [I(160,181)] = {64,0}, + [I(161,181)] = {64,0}, + [I(162,181)] = {64,0}, + [I(163,181)] = {64,0}, + [I(164,181)] = {64,0}, + [I(165,181)] = {64,0}, + [I(166,181)] = {64,0}, + [I(167,181)] = {64,0}, + [I(168,181)] = {64,0}, + [I(169,181)] = {64,0}, + [I(170,181)] = {64,0}, + [I(171,181)] = {64,0}, + [I(172,181)] = {64,0}, + [I(173,181)] = {64,0}, + [I(174,181)] = {64,0}, + [I(175,181)] = {64,0}, + [I(176,181)] = {64,0}, + [I(177,181)] = {64,0}, + [I(178,181)] = {64,0}, + [I(179,181)] = {64,0}, + [I(180,181)] = {64,0}, + [I(181,181)] = {64,0}, + [I(182,181)] = {64,0}, + [I(183,181)] = {64,0}, + [I(184,181)] = {64,0}, + [I(185,181)] = {64,0}, + [I(186,181)] = {64,0}, + [I(187,181)] = {64,0}, + [I(188,181)] = {64,0}, + [I(189,181)] = {64,0}, + [I(190,181)] = {64,0}, + [I(191,181)] = {64,0}, + [I(192,181)] = {64,0}, + [I(193,181)] = {64,0}, + [I(194,181)] = {64,0}, + [I(195,181)] = {64,0}, + [I(196,181)] = {64,0}, + [I(197,181)] = {64,0}, + [I(198,181)] = {64,0}, + [I(199,181)] = {64,0}, + [I(200,181)] = {64,0}, + [I(201,181)] = {64,0}, + [I(202,181)] = {64,0}, + [I(203,181)] = {64,0}, + [I(204,181)] = {64,0}, + [I(205,181)] = {64,0}, + [I(206,181)] = {64,0}, + [I(207,181)] = {64,0}, + [I(208,181)] = {64,0}, + [I(209,181)] = {64,0}, + [I(210,181)] = {64,0}, + [I(211,181)] = {64,0}, + [I(212,181)] = {64,0}, + [I(213,181)] = {64,0}, + [I(214,181)] = {64,0}, + [I(215,181)] = {64,0}, + [I(216,181)] = {64,0}, + [I(217,181)] = {64,0}, + [I(218,181)] = {64,0}, + [I(219,181)] = {64,0}, + [I(220,181)] = {64,0}, + [I(221,181)] = {64,0}, + [I(222,181)] = {64,0}, + [I(223,181)] = {64,0}, + [I(224,181)] = {64,0}, + [I(225,181)] = {64,0}, + [I(226,181)] = {64,0}, + [I(227,181)] = {64,0}, + [I(228,181)] = {64,0}, + [I(229,181)] = {64,0}, + [I(230,181)] = {64,0}, + [I(231,181)] = {64,0}, + [I(232,181)] = {64,0}, + [I(233,181)] = {64,0}, + [I(234,181)] = {64,0}, + [I(235,181)] = {64,0}, + [I(236,181)] = {64,0}, + [I(237,181)] = {64,0}, + [I(238,181)] = {64,0}, + [I(239,181)] = {64,0}, + [I(240,181)] = {64,0}, + [I(241,181)] = {64,0}, + [I(242,181)] = {64,0}, + [I(243,181)] = {64,0}, + [I(244,181)] = {64,0}, + [I(245,181)] = {64,0}, + [I(246,181)] = {64,0}, + [I(247,181)] = {64,0}, + [I(248,181)] = {64,0}, + [I(249,181)] = {64,0}, + [I(250,181)] = {64,0}, + [I(251,181)] = {64,0}, + [I(252,181)] = {64,0}, + [I(253,181)] = {64,0}, + [I(254,181)] = {64,0}, + [I(255,181)] = {64,0}, + [I(0,182)] = {64,0}, + [I(1,182)] = {64,0}, + [I(2,182)] = {64,0}, + [I(3,182)] = {64,0}, + [I(4,182)] = {64,0}, + [I(5,182)] = {64,0}, + [I(6,182)] = {64,0}, + [I(7,182)] = {64,0}, + [I(8,182)] = {64,0}, + [I(9,182)] = {64,0}, + [I(10,182)] = {64,0}, + [I(11,182)] = {64,0}, + [I(12,182)] = {64,0}, + [I(13,182)] = {64,0}, + [I(14,182)] = {64,0}, + [I(15,182)] = {64,0}, + [I(16,182)] = {64,0}, + [I(17,182)] = {64,0}, + [I(18,182)] = {64,0}, + [I(19,182)] = {64,0}, + [I(20,182)] = {64,0}, + [I(21,182)] = {64,0}, + [I(22,182)] = {64,0}, + [I(23,182)] = {64,0}, + [I(24,182)] = {64,0}, + [I(25,182)] = {64,0}, + [I(26,182)] = {64,0}, + [I(27,182)] = {64,0}, + [I(28,182)] = {64,0}, + [I(29,182)] = {64,0}, + [I(30,182)] = {64,0}, + [I(31,182)] = {64,0}, + [I(32,182)] = {29,0xA7FFFEE}, + [I(33,182)] = {64,0}, + [I(34,182)] = {64,0}, + [I(35,182)] = {64,0}, + [I(36,182)] = {64,0}, + [I(37,182)] = {29,0xAFFFFEE}, + [I(38,182)] = {31,0x7C7FFFEE}, + [I(39,182)] = {64,0}, + [I(40,182)] = {64,0}, + [I(41,182)] = {64,0}, + [I(42,182)] = {31,0x7CFFFFEE}, + [I(43,182)] = {64,0}, + [I(44,182)] = {31,0x7D7FFFEE}, + [I(45,182)] = {29,0xB7FFFEE}, + [I(46,182)] = {29,0xBFFFFEE}, + [I(47,182)] = {29,0xC7FFFEE}, + [I(48,182)] = {28,0x7FFFEE}, + [I(49,182)] = {28,0xFFFFEE}, + [I(50,182)] = {28,0x17FFFEE}, + [I(51,182)] = {29,0xCFFFFEE}, + [I(52,182)] = {29,0xD7FFFEE}, + [I(53,182)] = {29,0xDFFFFEE}, + [I(54,182)] = {29,0xE7FFFEE}, + [I(55,182)] = {29,0xEFFFFEE}, + [I(56,182)] = {29,0xF7FFFEE}, + [I(57,182)] = {29,0xFFFFFEE}, + [I(58,182)] = {30,0x2E7FFFEE}, + [I(59,182)] = {31,0x7DFFFFEE}, + [I(60,182)] = {64,0}, + [I(61,182)] = {29,0x107FFFEE}, + [I(62,182)] = {64,0}, + [I(63,182)] = {64,0}, + [I(64,182)] = {64,0}, + [I(65,182)] = {29,0x10FFFFEE}, + [I(66,182)] = {30,0x2EFFFFEE}, + [I(67,182)] = {30,0x2F7FFFEE}, + [I(68,182)] = {30,0x2FFFFFEE}, + [I(69,182)] = {30,0x307FFFEE}, + [I(70,182)] = {30,0x30FFFFEE}, + [I(71,182)] = {30,0x317FFFEE}, + [I(72,182)] = {30,0x31FFFFEE}, + [I(73,182)] = {30,0x327FFFEE}, + [I(74,182)] = {30,0x32FFFFEE}, + [I(75,182)] = {30,0x337FFFEE}, + [I(76,182)] = {30,0x33FFFFEE}, + [I(77,182)] = {30,0x347FFFEE}, + [I(78,182)] = {30,0x34FFFFEE}, + [I(79,182)] = {30,0x357FFFEE}, + [I(80,182)] = {30,0x35FFFFEE}, + [I(81,182)] = {30,0x367FFFEE}, + [I(82,182)] = {30,0x36FFFFEE}, + [I(83,182)] = {30,0x377FFFEE}, + [I(84,182)] = {30,0x37FFFFEE}, + [I(85,182)] = {30,0x387FFFEE}, + [I(86,182)] = {30,0x38FFFFEE}, + [I(87,182)] = {30,0x397FFFEE}, + [I(88,182)] = {31,0x7E7FFFEE}, + [I(89,182)] = {30,0x39FFFFEE}, + [I(90,182)] = {31,0x7EFFFFEE}, + [I(91,182)] = {64,0}, + [I(92,182)] = {64,0}, + [I(93,182)] = {64,0}, + [I(94,182)] = {64,0}, + [I(95,182)] = {29,0x117FFFEE}, + [I(96,182)] = {64,0}, + [I(97,182)] = {28,0x1FFFFEE}, + [I(98,182)] = {29,0x11FFFFEE}, + [I(99,182)] = {28,0x27FFFEE}, + [I(100,182)] = {29,0x127FFFEE}, + [I(101,182)] = {28,0x2FFFFEE}, + [I(102,182)] = {29,0x12FFFFEE}, + [I(103,182)] = {29,0x137FFFEE}, + [I(104,182)] = {29,0x13FFFFEE}, + [I(105,182)] = {28,0x37FFFEE}, + [I(106,182)] = {30,0x3A7FFFEE}, + [I(107,182)] = {30,0x3AFFFFEE}, + [I(108,182)] = {29,0x147FFFEE}, + [I(109,182)] = {29,0x14FFFFEE}, + [I(110,182)] = {29,0x157FFFEE}, + [I(111,182)] = {28,0x3FFFFEE}, + [I(112,182)] = {29,0x15FFFFEE}, + [I(113,182)] = {30,0x3B7FFFEE}, + [I(114,182)] = {29,0x167FFFEE}, + [I(115,182)] = {28,0x47FFFEE}, + [I(116,182)] = {28,0x4FFFFEE}, + [I(117,182)] = {29,0x16FFFFEE}, + [I(118,182)] = {30,0x3BFFFFEE}, + [I(119,182)] = {30,0x3C7FFFEE}, + [I(120,182)] = {30,0x3CFFFFEE}, + [I(121,182)] = {30,0x3D7FFFEE}, + [I(122,182)] = {30,0x3DFFFFEE}, + [I(123,182)] = {64,0}, + [I(124,182)] = {64,0}, + [I(125,182)] = {64,0}, + [I(126,182)] = {64,0}, + [I(127,182)] = {64,0}, + [I(128,182)] = {64,0}, + [I(129,182)] = {64,0}, + [I(130,182)] = {64,0}, + [I(131,182)] = {64,0}, + [I(132,182)] = {64,0}, + [I(133,182)] = {64,0}, + [I(134,182)] = {64,0}, + [I(135,182)] = {64,0}, + [I(136,182)] = {64,0}, + [I(137,182)] = {64,0}, + [I(138,182)] = {64,0}, + [I(139,182)] = {64,0}, + [I(140,182)] = {64,0}, + [I(141,182)] = {64,0}, + [I(142,182)] = {64,0}, + [I(143,182)] = {64,0}, + [I(144,182)] = {64,0}, + [I(145,182)] = {64,0}, + [I(146,182)] = {64,0}, + [I(147,182)] = {64,0}, + [I(148,182)] = {64,0}, + [I(149,182)] = {64,0}, + [I(150,182)] = {64,0}, + [I(151,182)] = {64,0}, + [I(152,182)] = {64,0}, + [I(153,182)] = {64,0}, + [I(154,182)] = {64,0}, + [I(155,182)] = {64,0}, + [I(156,182)] = {64,0}, + [I(157,182)] = {64,0}, + [I(158,182)] = {64,0}, + [I(159,182)] = {64,0}, + [I(160,182)] = {64,0}, + [I(161,182)] = {64,0}, + [I(162,182)] = {64,0}, + [I(163,182)] = {64,0}, + [I(164,182)] = {64,0}, + [I(165,182)] = {64,0}, + [I(166,182)] = {64,0}, + [I(167,182)] = {64,0}, + [I(168,182)] = {64,0}, + [I(169,182)] = {64,0}, + [I(170,182)] = {64,0}, + [I(171,182)] = {64,0}, + [I(172,182)] = {64,0}, + [I(173,182)] = {64,0}, + [I(174,182)] = {64,0}, + [I(175,182)] = {64,0}, + [I(176,182)] = {64,0}, + [I(177,182)] = {64,0}, + [I(178,182)] = {64,0}, + [I(179,182)] = {64,0}, + [I(180,182)] = {64,0}, + [I(181,182)] = {64,0}, + [I(182,182)] = {64,0}, + [I(183,182)] = {64,0}, + [I(184,182)] = {64,0}, + [I(185,182)] = {64,0}, + [I(186,182)] = {64,0}, + [I(187,182)] = {64,0}, + [I(188,182)] = {64,0}, + [I(189,182)] = {64,0}, + [I(190,182)] = {64,0}, + [I(191,182)] = {64,0}, + [I(192,182)] = {64,0}, + [I(193,182)] = {64,0}, + [I(194,182)] = {64,0}, + [I(195,182)] = {64,0}, + [I(196,182)] = {64,0}, + [I(197,182)] = {64,0}, + [I(198,182)] = {64,0}, + [I(199,182)] = {64,0}, + [I(200,182)] = {64,0}, + [I(201,182)] = {64,0}, + [I(202,182)] = {64,0}, + [I(203,182)] = {64,0}, + [I(204,182)] = {64,0}, + [I(205,182)] = {64,0}, + [I(206,182)] = {64,0}, + [I(207,182)] = {64,0}, + [I(208,182)] = {64,0}, + [I(209,182)] = {64,0}, + [I(210,182)] = {64,0}, + [I(211,182)] = {64,0}, + [I(212,182)] = {64,0}, + [I(213,182)] = {64,0}, + [I(214,182)] = {64,0}, + [I(215,182)] = {64,0}, + [I(216,182)] = {64,0}, + [I(217,182)] = {64,0}, + [I(218,182)] = {64,0}, + [I(219,182)] = {64,0}, + [I(220,182)] = {64,0}, + [I(221,182)] = {64,0}, + [I(222,182)] = {64,0}, + [I(223,182)] = {64,0}, + [I(224,182)] = {64,0}, + [I(225,182)] = {64,0}, + [I(226,182)] = {64,0}, + [I(227,182)] = {64,0}, + [I(228,182)] = {64,0}, + [I(229,182)] = {64,0}, + [I(230,182)] = {64,0}, + [I(231,182)] = {64,0}, + [I(232,182)] = {64,0}, + [I(233,182)] = {64,0}, + [I(234,182)] = {64,0}, + [I(235,182)] = {64,0}, + [I(236,182)] = {64,0}, + [I(237,182)] = {64,0}, + [I(238,182)] = {64,0}, + [I(239,182)] = {64,0}, + [I(240,182)] = {64,0}, + [I(241,182)] = {64,0}, + [I(242,182)] = {64,0}, + [I(243,182)] = {64,0}, + [I(244,182)] = {64,0}, + [I(245,182)] = {64,0}, + [I(246,182)] = {64,0}, + [I(247,182)] = {64,0}, + [I(248,182)] = {64,0}, + [I(249,182)] = {64,0}, + [I(250,182)] = {64,0}, + [I(251,182)] = {64,0}, + [I(252,182)] = {64,0}, + [I(253,182)] = {64,0}, + [I(254,182)] = {64,0}, + [I(255,182)] = {64,0}, + [I(0,183)] = {64,0}, + [I(1,183)] = {64,0}, + [I(2,183)] = {64,0}, + [I(3,183)] = {64,0}, + [I(4,183)] = {64,0}, + [I(5,183)] = {64,0}, + [I(6,183)] = {64,0}, + [I(7,183)] = {64,0}, + [I(8,183)] = {64,0}, + [I(9,183)] = {64,0}, + [I(10,183)] = {64,0}, + [I(11,183)] = {64,0}, + [I(12,183)] = {64,0}, + [I(13,183)] = {64,0}, + [I(14,183)] = {64,0}, + [I(15,183)] = {64,0}, + [I(16,183)] = {64,0}, + [I(17,183)] = {64,0}, + [I(18,183)] = {64,0}, + [I(19,183)] = {64,0}, + [I(20,183)] = {64,0}, + [I(21,183)] = {64,0}, + [I(22,183)] = {64,0}, + [I(23,183)] = {64,0}, + [I(24,183)] = {64,0}, + [I(25,183)] = {64,0}, + [I(26,183)] = {64,0}, + [I(27,183)] = {64,0}, + [I(28,183)] = {64,0}, + [I(29,183)] = {64,0}, + [I(30,183)] = {64,0}, + [I(31,183)] = {64,0}, + [I(32,183)] = {29,0xA7FFFEF}, + [I(33,183)] = {64,0}, + [I(34,183)] = {64,0}, + [I(35,183)] = {64,0}, + [I(36,183)] = {64,0}, + [I(37,183)] = {29,0xAFFFFEF}, + [I(38,183)] = {31,0x7C7FFFEF}, + [I(39,183)] = {64,0}, + [I(40,183)] = {64,0}, + [I(41,183)] = {64,0}, + [I(42,183)] = {31,0x7CFFFFEF}, + [I(43,183)] = {64,0}, + [I(44,183)] = {31,0x7D7FFFEF}, + [I(45,183)] = {29,0xB7FFFEF}, + [I(46,183)] = {29,0xBFFFFEF}, + [I(47,183)] = {29,0xC7FFFEF}, + [I(48,183)] = {28,0x7FFFEF}, + [I(49,183)] = {28,0xFFFFEF}, + [I(50,183)] = {28,0x17FFFEF}, + [I(51,183)] = {29,0xCFFFFEF}, + [I(52,183)] = {29,0xD7FFFEF}, + [I(53,183)] = {29,0xDFFFFEF}, + [I(54,183)] = {29,0xE7FFFEF}, + [I(55,183)] = {29,0xEFFFFEF}, + [I(56,183)] = {29,0xF7FFFEF}, + [I(57,183)] = {29,0xFFFFFEF}, + [I(58,183)] = {30,0x2E7FFFEF}, + [I(59,183)] = {31,0x7DFFFFEF}, + [I(60,183)] = {64,0}, + [I(61,183)] = {29,0x107FFFEF}, + [I(62,183)] = {64,0}, + [I(63,183)] = {64,0}, + [I(64,183)] = {64,0}, + [I(65,183)] = {29,0x10FFFFEF}, + [I(66,183)] = {30,0x2EFFFFEF}, + [I(67,183)] = {30,0x2F7FFFEF}, + [I(68,183)] = {30,0x2FFFFFEF}, + [I(69,183)] = {30,0x307FFFEF}, + [I(70,183)] = {30,0x30FFFFEF}, + [I(71,183)] = {30,0x317FFFEF}, + [I(72,183)] = {30,0x31FFFFEF}, + [I(73,183)] = {30,0x327FFFEF}, + [I(74,183)] = {30,0x32FFFFEF}, + [I(75,183)] = {30,0x337FFFEF}, + [I(76,183)] = {30,0x33FFFFEF}, + [I(77,183)] = {30,0x347FFFEF}, + [I(78,183)] = {30,0x34FFFFEF}, + [I(79,183)] = {30,0x357FFFEF}, + [I(80,183)] = {30,0x35FFFFEF}, + [I(81,183)] = {30,0x367FFFEF}, + [I(82,183)] = {30,0x36FFFFEF}, + [I(83,183)] = {30,0x377FFFEF}, + [I(84,183)] = {30,0x37FFFFEF}, + [I(85,183)] = {30,0x387FFFEF}, + [I(86,183)] = {30,0x38FFFFEF}, + [I(87,183)] = {30,0x397FFFEF}, + [I(88,183)] = {31,0x7E7FFFEF}, + [I(89,183)] = {30,0x39FFFFEF}, + [I(90,183)] = {31,0x7EFFFFEF}, + [I(91,183)] = {64,0}, + [I(92,183)] = {64,0}, + [I(93,183)] = {64,0}, + [I(94,183)] = {64,0}, + [I(95,183)] = {29,0x117FFFEF}, + [I(96,183)] = {64,0}, + [I(97,183)] = {28,0x1FFFFEF}, + [I(98,183)] = {29,0x11FFFFEF}, + [I(99,183)] = {28,0x27FFFEF}, + [I(100,183)] = {29,0x127FFFEF}, + [I(101,183)] = {28,0x2FFFFEF}, + [I(102,183)] = {29,0x12FFFFEF}, + [I(103,183)] = {29,0x137FFFEF}, + [I(104,183)] = {29,0x13FFFFEF}, + [I(105,183)] = {28,0x37FFFEF}, + [I(106,183)] = {30,0x3A7FFFEF}, + [I(107,183)] = {30,0x3AFFFFEF}, + [I(108,183)] = {29,0x147FFFEF}, + [I(109,183)] = {29,0x14FFFFEF}, + [I(110,183)] = {29,0x157FFFEF}, + [I(111,183)] = {28,0x3FFFFEF}, + [I(112,183)] = {29,0x15FFFFEF}, + [I(113,183)] = {30,0x3B7FFFEF}, + [I(114,183)] = {29,0x167FFFEF}, + [I(115,183)] = {28,0x47FFFEF}, + [I(116,183)] = {28,0x4FFFFEF}, + [I(117,183)] = {29,0x16FFFFEF}, + [I(118,183)] = {30,0x3BFFFFEF}, + [I(119,183)] = {30,0x3C7FFFEF}, + [I(120,183)] = {30,0x3CFFFFEF}, + [I(121,183)] = {30,0x3D7FFFEF}, + [I(122,183)] = {30,0x3DFFFFEF}, + [I(123,183)] = {64,0}, + [I(124,183)] = {64,0}, + [I(125,183)] = {64,0}, + [I(126,183)] = {64,0}, + [I(127,183)] = {64,0}, + [I(128,183)] = {64,0}, + [I(129,183)] = {64,0}, + [I(130,183)] = {64,0}, + [I(131,183)] = {64,0}, + [I(132,183)] = {64,0}, + [I(133,183)] = {64,0}, + [I(134,183)] = {64,0}, + [I(135,183)] = {64,0}, + [I(136,183)] = {64,0}, + [I(137,183)] = {64,0}, + [I(138,183)] = {64,0}, + [I(139,183)] = {64,0}, + [I(140,183)] = {64,0}, + [I(141,183)] = {64,0}, + [I(142,183)] = {64,0}, + [I(143,183)] = {64,0}, + [I(144,183)] = {64,0}, + [I(145,183)] = {64,0}, + [I(146,183)] = {64,0}, + [I(147,183)] = {64,0}, + [I(148,183)] = {64,0}, + [I(149,183)] = {64,0}, + [I(150,183)] = {64,0}, + [I(151,183)] = {64,0}, + [I(152,183)] = {64,0}, + [I(153,183)] = {64,0}, + [I(154,183)] = {64,0}, + [I(155,183)] = {64,0}, + [I(156,183)] = {64,0}, + [I(157,183)] = {64,0}, + [I(158,183)] = {64,0}, + [I(159,183)] = {64,0}, + [I(160,183)] = {64,0}, + [I(161,183)] = {64,0}, + [I(162,183)] = {64,0}, + [I(163,183)] = {64,0}, + [I(164,183)] = {64,0}, + [I(165,183)] = {64,0}, + [I(166,183)] = {64,0}, + [I(167,183)] = {64,0}, + [I(168,183)] = {64,0}, + [I(169,183)] = {64,0}, + [I(170,183)] = {64,0}, + [I(171,183)] = {64,0}, + [I(172,183)] = {64,0}, + [I(173,183)] = {64,0}, + [I(174,183)] = {64,0}, + [I(175,183)] = {64,0}, + [I(176,183)] = {64,0}, + [I(177,183)] = {64,0}, + [I(178,183)] = {64,0}, + [I(179,183)] = {64,0}, + [I(180,183)] = {64,0}, + [I(181,183)] = {64,0}, + [I(182,183)] = {64,0}, + [I(183,183)] = {64,0}, + [I(184,183)] = {64,0}, + [I(185,183)] = {64,0}, + [I(186,183)] = {64,0}, + [I(187,183)] = {64,0}, + [I(188,183)] = {64,0}, + [I(189,183)] = {64,0}, + [I(190,183)] = {64,0}, + [I(191,183)] = {64,0}, + [I(192,183)] = {64,0}, + [I(193,183)] = {64,0}, + [I(194,183)] = {64,0}, + [I(195,183)] = {64,0}, + [I(196,183)] = {64,0}, + [I(197,183)] = {64,0}, + [I(198,183)] = {64,0}, + [I(199,183)] = {64,0}, + [I(200,183)] = {64,0}, + [I(201,183)] = {64,0}, + [I(202,183)] = {64,0}, + [I(203,183)] = {64,0}, + [I(204,183)] = {64,0}, + [I(205,183)] = {64,0}, + [I(206,183)] = {64,0}, + [I(207,183)] = {64,0}, + [I(208,183)] = {64,0}, + [I(209,183)] = {64,0}, + [I(210,183)] = {64,0}, + [I(211,183)] = {64,0}, + [I(212,183)] = {64,0}, + [I(213,183)] = {64,0}, + [I(214,183)] = {64,0}, + [I(215,183)] = {64,0}, + [I(216,183)] = {64,0}, + [I(217,183)] = {64,0}, + [I(218,183)] = {64,0}, + [I(219,183)] = {64,0}, + [I(220,183)] = {64,0}, + [I(221,183)] = {64,0}, + [I(222,183)] = {64,0}, + [I(223,183)] = {64,0}, + [I(224,183)] = {64,0}, + [I(225,183)] = {64,0}, + [I(226,183)] = {64,0}, + [I(227,183)] = {64,0}, + [I(228,183)] = {64,0}, + [I(229,183)] = {64,0}, + [I(230,183)] = {64,0}, + [I(231,183)] = {64,0}, + [I(232,183)] = {64,0}, + [I(233,183)] = {64,0}, + [I(234,183)] = {64,0}, + [I(235,183)] = {64,0}, + [I(236,183)] = {64,0}, + [I(237,183)] = {64,0}, + [I(238,183)] = {64,0}, + [I(239,183)] = {64,0}, + [I(240,183)] = {64,0}, + [I(241,183)] = {64,0}, + [I(242,183)] = {64,0}, + [I(243,183)] = {64,0}, + [I(244,183)] = {64,0}, + [I(245,183)] = {64,0}, + [I(246,183)] = {64,0}, + [I(247,183)] = {64,0}, + [I(248,183)] = {64,0}, + [I(249,183)] = {64,0}, + [I(250,183)] = {64,0}, + [I(251,183)] = {64,0}, + [I(252,183)] = {64,0}, + [I(253,183)] = {64,0}, + [I(254,183)] = {64,0}, + [I(255,183)] = {64,0}, + [I(0,184)] = {64,0}, + [I(1,184)] = {64,0}, + [I(2,184)] = {64,0}, + [I(3,184)] = {64,0}, + [I(4,184)] = {64,0}, + [I(5,184)] = {64,0}, + [I(6,184)] = {64,0}, + [I(7,184)] = {64,0}, + [I(8,184)] = {64,0}, + [I(9,184)] = {64,0}, + [I(10,184)] = {64,0}, + [I(11,184)] = {64,0}, + [I(12,184)] = {64,0}, + [I(13,184)] = {64,0}, + [I(14,184)] = {64,0}, + [I(15,184)] = {64,0}, + [I(16,184)] = {64,0}, + [I(17,184)] = {64,0}, + [I(18,184)] = {64,0}, + [I(19,184)] = {64,0}, + [I(20,184)] = {64,0}, + [I(21,184)] = {64,0}, + [I(22,184)] = {64,0}, + [I(23,184)] = {64,0}, + [I(24,184)] = {64,0}, + [I(25,184)] = {64,0}, + [I(26,184)] = {64,0}, + [I(27,184)] = {64,0}, + [I(28,184)] = {64,0}, + [I(29,184)] = {64,0}, + [I(30,184)] = {64,0}, + [I(31,184)] = {64,0}, + [I(32,184)] = {26,0x14FFFEA}, + [I(33,184)] = {30,0x3F8FFFEA}, + [I(34,184)] = {30,0x3F9FFFEA}, + [I(35,184)] = {X32,0xFFAFFFEA}, + [I(36,184)] = {64,0}, + [I(37,184)] = {26,0x15FFFEA}, + [I(38,184)] = {28,0xF8FFFEA}, + [I(39,184)] = {31,0x7FAFFFEA}, + [I(40,184)] = {30,0x3FAFFFEA}, + [I(41,184)] = {30,0x3FBFFFEA}, + [I(42,184)] = {28,0xF9FFFEA}, + [I(43,184)] = {31,0x7FBFFFEA}, + [I(44,184)] = {28,0xFAFFFEA}, + [I(45,184)] = {26,0x16FFFEA}, + [I(46,184)] = {26,0x17FFFEA}, + [I(47,184)] = {26,0x18FFFEA}, + [I(48,184)] = {25,0xFFFEA}, + [I(49,184)] = {25,0x1FFFEA}, + [I(50,184)] = {25,0x2FFFEA}, + [I(51,184)] = {26,0x19FFFEA}, + [I(52,184)] = {26,0x1AFFFEA}, + [I(53,184)] = {26,0x1BFFFEA}, + [I(54,184)] = {26,0x1CFFFEA}, + [I(55,184)] = {26,0x1DFFFEA}, + [I(56,184)] = {26,0x1EFFFEA}, + [I(57,184)] = {26,0x1FFFFEA}, + [I(58,184)] = {27,0x5CFFFEA}, + [I(59,184)] = {28,0xFBFFFEA}, + [I(60,184)] = {64,0}, + [I(61,184)] = {26,0x20FFFEA}, + [I(62,184)] = {X32,0xFFBFFFEA}, + [I(63,184)] = {30,0x3FCFFFEA}, + [I(64,184)] = {64,0}, + [I(65,184)] = {26,0x21FFFEA}, + [I(66,184)] = {27,0x5DFFFEA}, + [I(67,184)] = {27,0x5EFFFEA}, + [I(68,184)] = {27,0x5FFFFEA}, + [I(69,184)] = {27,0x60FFFEA}, + [I(70,184)] = {27,0x61FFFEA}, + [I(71,184)] = {27,0x62FFFEA}, + [I(72,184)] = {27,0x63FFFEA}, + [I(73,184)] = {27,0x64FFFEA}, + [I(74,184)] = {27,0x65FFFEA}, + [I(75,184)] = {27,0x66FFFEA}, + [I(76,184)] = {27,0x67FFFEA}, + [I(77,184)] = {27,0x68FFFEA}, + [I(78,184)] = {27,0x69FFFEA}, + [I(79,184)] = {27,0x6AFFFEA}, + [I(80,184)] = {27,0x6BFFFEA}, + [I(81,184)] = {27,0x6CFFFEA}, + [I(82,184)] = {27,0x6DFFFEA}, + [I(83,184)] = {27,0x6EFFFEA}, + [I(84,184)] = {27,0x6FFFFEA}, + [I(85,184)] = {27,0x70FFFEA}, + [I(86,184)] = {27,0x71FFFEA}, + [I(87,184)] = {27,0x72FFFEA}, + [I(88,184)] = {28,0xFCFFFEA}, + [I(89,184)] = {27,0x73FFFEA}, + [I(90,184)] = {28,0xFDFFFEA}, + [I(91,184)] = {64,0}, + [I(92,184)] = {64,0}, + [I(93,184)] = {64,0}, + [I(94,184)] = {64,0}, + [I(95,184)] = {26,0x22FFFEA}, + [I(96,184)] = {64,0}, + [I(97,184)] = {25,0x3FFFEA}, + [I(98,184)] = {26,0x23FFFEA}, + [I(99,184)] = {25,0x4FFFEA}, + [I(100,184)] = {26,0x24FFFEA}, + [I(101,184)] = {25,0x5FFFEA}, + [I(102,184)] = {26,0x25FFFEA}, + [I(103,184)] = {26,0x26FFFEA}, + [I(104,184)] = {26,0x27FFFEA}, + [I(105,184)] = {25,0x6FFFEA}, + [I(106,184)] = {27,0x74FFFEA}, + [I(107,184)] = {27,0x75FFFEA}, + [I(108,184)] = {26,0x28FFFEA}, + [I(109,184)] = {26,0x29FFFEA}, + [I(110,184)] = {26,0x2AFFFEA}, + [I(111,184)] = {25,0x7FFFEA}, + [I(112,184)] = {26,0x2BFFFEA}, + [I(113,184)] = {27,0x76FFFEA}, + [I(114,184)] = {26,0x2CFFFEA}, + [I(115,184)] = {25,0x8FFFEA}, + [I(116,184)] = {25,0x9FFFEA}, + [I(117,184)] = {26,0x2DFFFEA}, + [I(118,184)] = {27,0x77FFFEA}, + [I(119,184)] = {27,0x78FFFEA}, + [I(120,184)] = {27,0x79FFFEA}, + [I(121,184)] = {27,0x7AFFFEA}, + [I(122,184)] = {27,0x7BFFFEA}, + [I(123,184)] = {64,0}, + [I(124,184)] = {31,0x7FCFFFEA}, + [I(125,184)] = {64,0}, + [I(126,184)] = {64,0}, + [I(127,184)] = {64,0}, + [I(128,184)] = {64,0}, + [I(129,184)] = {64,0}, + [I(130,184)] = {64,0}, + [I(131,184)] = {64,0}, + [I(132,184)] = {64,0}, + [I(133,184)] = {64,0}, + [I(134,184)] = {64,0}, + [I(135,184)] = {64,0}, + [I(136,184)] = {64,0}, + [I(137,184)] = {64,0}, + [I(138,184)] = {64,0}, + [I(139,184)] = {64,0}, + [I(140,184)] = {64,0}, + [I(141,184)] = {64,0}, + [I(142,184)] = {64,0}, + [I(143,184)] = {64,0}, + [I(144,184)] = {64,0}, + [I(145,184)] = {64,0}, + [I(146,184)] = {64,0}, + [I(147,184)] = {64,0}, + [I(148,184)] = {64,0}, + [I(149,184)] = {64,0}, + [I(150,184)] = {64,0}, + [I(151,184)] = {64,0}, + [I(152,184)] = {64,0}, + [I(153,184)] = {64,0}, + [I(154,184)] = {64,0}, + [I(155,184)] = {64,0}, + [I(156,184)] = {64,0}, + [I(157,184)] = {64,0}, + [I(158,184)] = {64,0}, + [I(159,184)] = {64,0}, + [I(160,184)] = {64,0}, + [I(161,184)] = {64,0}, + [I(162,184)] = {64,0}, + [I(163,184)] = {64,0}, + [I(164,184)] = {64,0}, + [I(165,184)] = {64,0}, + [I(166,184)] = {64,0}, + [I(167,184)] = {64,0}, + [I(168,184)] = {64,0}, + [I(169,184)] = {64,0}, + [I(170,184)] = {64,0}, + [I(171,184)] = {64,0}, + [I(172,184)] = {64,0}, + [I(173,184)] = {64,0}, + [I(174,184)] = {64,0}, + [I(175,184)] = {64,0}, + [I(176,184)] = {64,0}, + [I(177,184)] = {64,0}, + [I(178,184)] = {64,0}, + [I(179,184)] = {64,0}, + [I(180,184)] = {64,0}, + [I(181,184)] = {64,0}, + [I(182,184)] = {64,0}, + [I(183,184)] = {64,0}, + [I(184,184)] = {64,0}, + [I(185,184)] = {64,0}, + [I(186,184)] = {64,0}, + [I(187,184)] = {64,0}, + [I(188,184)] = {64,0}, + [I(189,184)] = {64,0}, + [I(190,184)] = {64,0}, + [I(191,184)] = {64,0}, + [I(192,184)] = {64,0}, + [I(193,184)] = {64,0}, + [I(194,184)] = {64,0}, + [I(195,184)] = {64,0}, + [I(196,184)] = {64,0}, + [I(197,184)] = {64,0}, + [I(198,184)] = {64,0}, + [I(199,184)] = {64,0}, + [I(200,184)] = {64,0}, + [I(201,184)] = {64,0}, + [I(202,184)] = {64,0}, + [I(203,184)] = {64,0}, + [I(204,184)] = {64,0}, + [I(205,184)] = {64,0}, + [I(206,184)] = {64,0}, + [I(207,184)] = {64,0}, + [I(208,184)] = {64,0}, + [I(209,184)] = {64,0}, + [I(210,184)] = {64,0}, + [I(211,184)] = {64,0}, + [I(212,184)] = {64,0}, + [I(213,184)] = {64,0}, + [I(214,184)] = {64,0}, + [I(215,184)] = {64,0}, + [I(216,184)] = {64,0}, + [I(217,184)] = {64,0}, + [I(218,184)] = {64,0}, + [I(219,184)] = {64,0}, + [I(220,184)] = {64,0}, + [I(221,184)] = {64,0}, + [I(222,184)] = {64,0}, + [I(223,184)] = {64,0}, + [I(224,184)] = {64,0}, + [I(225,184)] = {64,0}, + [I(226,184)] = {64,0}, + [I(227,184)] = {64,0}, + [I(228,184)] = {64,0}, + [I(229,184)] = {64,0}, + [I(230,184)] = {64,0}, + [I(231,184)] = {64,0}, + [I(232,184)] = {64,0}, + [I(233,184)] = {64,0}, + [I(234,184)] = {64,0}, + [I(235,184)] = {64,0}, + [I(236,184)] = {64,0}, + [I(237,184)] = {64,0}, + [I(238,184)] = {64,0}, + [I(239,184)] = {64,0}, + [I(240,184)] = {64,0}, + [I(241,184)] = {64,0}, + [I(242,184)] = {64,0}, + [I(243,184)] = {64,0}, + [I(244,184)] = {64,0}, + [I(245,184)] = {64,0}, + [I(246,184)] = {64,0}, + [I(247,184)] = {64,0}, + [I(248,184)] = {64,0}, + [I(249,184)] = {64,0}, + [I(250,184)] = {64,0}, + [I(251,184)] = {64,0}, + [I(252,184)] = {64,0}, + [I(253,184)] = {64,0}, + [I(254,184)] = {64,0}, + [I(255,184)] = {64,0}, + [I(0,185)] = {64,0}, + [I(1,185)] = {64,0}, + [I(2,185)] = {64,0}, + [I(3,185)] = {64,0}, + [I(4,185)] = {64,0}, + [I(5,185)] = {64,0}, + [I(6,185)] = {64,0}, + [I(7,185)] = {64,0}, + [I(8,185)] = {64,0}, + [I(9,185)] = {64,0}, + [I(10,185)] = {64,0}, + [I(11,185)] = {64,0}, + [I(12,185)] = {64,0}, + [I(13,185)] = {64,0}, + [I(14,185)] = {64,0}, + [I(15,185)] = {64,0}, + [I(16,185)] = {64,0}, + [I(17,185)] = {64,0}, + [I(18,185)] = {64,0}, + [I(19,185)] = {64,0}, + [I(20,185)] = {64,0}, + [I(21,185)] = {64,0}, + [I(22,185)] = {64,0}, + [I(23,185)] = {64,0}, + [I(24,185)] = {64,0}, + [I(25,185)] = {64,0}, + [I(26,185)] = {64,0}, + [I(27,185)] = {64,0}, + [I(28,185)] = {64,0}, + [I(29,185)] = {64,0}, + [I(30,185)] = {64,0}, + [I(31,185)] = {64,0}, + [I(32,185)] = {28,0x53FFFE2}, + [I(33,185)] = {X32,0xFE3FFFE2}, + [I(34,185)] = {X32,0xFE7FFFE2}, + [I(35,185)] = {64,0}, + [I(36,185)] = {64,0}, + [I(37,185)] = {28,0x57FFFE2}, + [I(38,185)] = {30,0x3E3FFFE2}, + [I(39,185)] = {64,0}, + [I(40,185)] = {X32,0xFEBFFFE2}, + [I(41,185)] = {X32,0xFEFFFFE2}, + [I(42,185)] = {30,0x3E7FFFE2}, + [I(43,185)] = {64,0}, + [I(44,185)] = {30,0x3EBFFFE2}, + [I(45,185)] = {28,0x5BFFFE2}, + [I(46,185)] = {28,0x5FFFFE2}, + [I(47,185)] = {28,0x63FFFE2}, + [I(48,185)] = {27,0x3FFFE2}, + [I(49,185)] = {27,0x7FFFE2}, + [I(50,185)] = {27,0xBFFFE2}, + [I(51,185)] = {28,0x67FFFE2}, + [I(52,185)] = {28,0x6BFFFE2}, + [I(53,185)] = {28,0x6FFFFE2}, + [I(54,185)] = {28,0x73FFFE2}, + [I(55,185)] = {28,0x77FFFE2}, + [I(56,185)] = {28,0x7BFFFE2}, + [I(57,185)] = {28,0x7FFFFE2}, + [I(58,185)] = {29,0x173FFFE2}, + [I(59,185)] = {30,0x3EFFFFE2}, + [I(60,185)] = {64,0}, + [I(61,185)] = {28,0x83FFFE2}, + [I(62,185)] = {64,0}, + [I(63,185)] = {X32,0xFF3FFFE2}, + [I(64,185)] = {64,0}, + [I(65,185)] = {28,0x87FFFE2}, + [I(66,185)] = {29,0x177FFFE2}, + [I(67,185)] = {29,0x17BFFFE2}, + [I(68,185)] = {29,0x17FFFFE2}, + [I(69,185)] = {29,0x183FFFE2}, + [I(70,185)] = {29,0x187FFFE2}, + [I(71,185)] = {29,0x18BFFFE2}, + [I(72,185)] = {29,0x18FFFFE2}, + [I(73,185)] = {29,0x193FFFE2}, + [I(74,185)] = {29,0x197FFFE2}, + [I(75,185)] = {29,0x19BFFFE2}, + [I(76,185)] = {29,0x19FFFFE2}, + [I(77,185)] = {29,0x1A3FFFE2}, + [I(78,185)] = {29,0x1A7FFFE2}, + [I(79,185)] = {29,0x1ABFFFE2}, + [I(80,185)] = {29,0x1AFFFFE2}, + [I(81,185)] = {29,0x1B3FFFE2}, + [I(82,185)] = {29,0x1B7FFFE2}, + [I(83,185)] = {29,0x1BBFFFE2}, + [I(84,185)] = {29,0x1BFFFFE2}, + [I(85,185)] = {29,0x1C3FFFE2}, + [I(86,185)] = {29,0x1C7FFFE2}, + [I(87,185)] = {29,0x1CBFFFE2}, + [I(88,185)] = {30,0x3F3FFFE2}, + [I(89,185)] = {29,0x1CFFFFE2}, + [I(90,185)] = {30,0x3F7FFFE2}, + [I(91,185)] = {64,0}, + [I(92,185)] = {64,0}, + [I(93,185)] = {64,0}, + [I(94,185)] = {64,0}, + [I(95,185)] = {28,0x8BFFFE2}, + [I(96,185)] = {64,0}, + [I(97,185)] = {27,0xFFFFE2}, + [I(98,185)] = {28,0x8FFFFE2}, + [I(99,185)] = {27,0x13FFFE2}, + [I(100,185)] = {28,0x93FFFE2}, + [I(101,185)] = {27,0x17FFFE2}, + [I(102,185)] = {28,0x97FFFE2}, + [I(103,185)] = {28,0x9BFFFE2}, + [I(104,185)] = {28,0x9FFFFE2}, + [I(105,185)] = {27,0x1BFFFE2}, + [I(106,185)] = {29,0x1D3FFFE2}, + [I(107,185)] = {29,0x1D7FFFE2}, + [I(108,185)] = {28,0xA3FFFE2}, + [I(109,185)] = {28,0xA7FFFE2}, + [I(110,185)] = {28,0xABFFFE2}, + [I(111,185)] = {27,0x1FFFFE2}, + [I(112,185)] = {28,0xAFFFFE2}, + [I(113,185)] = {29,0x1DBFFFE2}, + [I(114,185)] = {28,0xB3FFFE2}, + [I(115,185)] = {27,0x23FFFE2}, + [I(116,185)] = {27,0x27FFFE2}, + [I(117,185)] = {28,0xB7FFFE2}, + [I(118,185)] = {29,0x1DFFFFE2}, + [I(119,185)] = {29,0x1E3FFFE2}, + [I(120,185)] = {29,0x1E7FFFE2}, + [I(121,185)] = {29,0x1EBFFFE2}, + [I(122,185)] = {29,0x1EFFFFE2}, + [I(123,185)] = {64,0}, + [I(124,185)] = {64,0}, + [I(125,185)] = {64,0}, + [I(126,185)] = {64,0}, + [I(127,185)] = {64,0}, + [I(128,185)] = {64,0}, + [I(129,185)] = {64,0}, + [I(130,185)] = {64,0}, + [I(131,185)] = {64,0}, + [I(132,185)] = {64,0}, + [I(133,185)] = {64,0}, + [I(134,185)] = {64,0}, + [I(135,185)] = {64,0}, + [I(136,185)] = {64,0}, + [I(137,185)] = {64,0}, + [I(138,185)] = {64,0}, + [I(139,185)] = {64,0}, + [I(140,185)] = {64,0}, + [I(141,185)] = {64,0}, + [I(142,185)] = {64,0}, + [I(143,185)] = {64,0}, + [I(144,185)] = {64,0}, + [I(145,185)] = {64,0}, + [I(146,185)] = {64,0}, + [I(147,185)] = {64,0}, + [I(148,185)] = {64,0}, + [I(149,185)] = {64,0}, + [I(150,185)] = {64,0}, + [I(151,185)] = {64,0}, + [I(152,185)] = {64,0}, + [I(153,185)] = {64,0}, + [I(154,185)] = {64,0}, + [I(155,185)] = {64,0}, + [I(156,185)] = {64,0}, + [I(157,185)] = {64,0}, + [I(158,185)] = {64,0}, + [I(159,185)] = {64,0}, + [I(160,185)] = {64,0}, + [I(161,185)] = {64,0}, + [I(162,185)] = {64,0}, + [I(163,185)] = {64,0}, + [I(164,185)] = {64,0}, + [I(165,185)] = {64,0}, + [I(166,185)] = {64,0}, + [I(167,185)] = {64,0}, + [I(168,185)] = {64,0}, + [I(169,185)] = {64,0}, + [I(170,185)] = {64,0}, + [I(171,185)] = {64,0}, + [I(172,185)] = {64,0}, + [I(173,185)] = {64,0}, + [I(174,185)] = {64,0}, + [I(175,185)] = {64,0}, + [I(176,185)] = {64,0}, + [I(177,185)] = {64,0}, + [I(178,185)] = {64,0}, + [I(179,185)] = {64,0}, + [I(180,185)] = {64,0}, + [I(181,185)] = {64,0}, + [I(182,185)] = {64,0}, + [I(183,185)] = {64,0}, + [I(184,185)] = {64,0}, + [I(185,185)] = {64,0}, + [I(186,185)] = {64,0}, + [I(187,185)] = {64,0}, + [I(188,185)] = {64,0}, + [I(189,185)] = {64,0}, + [I(190,185)] = {64,0}, + [I(191,185)] = {64,0}, + [I(192,185)] = {64,0}, + [I(193,185)] = {64,0}, + [I(194,185)] = {64,0}, + [I(195,185)] = {64,0}, + [I(196,185)] = {64,0}, + [I(197,185)] = {64,0}, + [I(198,185)] = {64,0}, + [I(199,185)] = {64,0}, + [I(200,185)] = {64,0}, + [I(201,185)] = {64,0}, + [I(202,185)] = {64,0}, + [I(203,185)] = {64,0}, + [I(204,185)] = {64,0}, + [I(205,185)] = {64,0}, + [I(206,185)] = {64,0}, + [I(207,185)] = {64,0}, + [I(208,185)] = {64,0}, + [I(209,185)] = {64,0}, + [I(210,185)] = {64,0}, + [I(211,185)] = {64,0}, + [I(212,185)] = {64,0}, + [I(213,185)] = {64,0}, + [I(214,185)] = {64,0}, + [I(215,185)] = {64,0}, + [I(216,185)] = {64,0}, + [I(217,185)] = {64,0}, + [I(218,185)] = {64,0}, + [I(219,185)] = {64,0}, + [I(220,185)] = {64,0}, + [I(221,185)] = {64,0}, + [I(222,185)] = {64,0}, + [I(223,185)] = {64,0}, + [I(224,185)] = {64,0}, + [I(225,185)] = {64,0}, + [I(226,185)] = {64,0}, + [I(227,185)] = {64,0}, + [I(228,185)] = {64,0}, + [I(229,185)] = {64,0}, + [I(230,185)] = {64,0}, + [I(231,185)] = {64,0}, + [I(232,185)] = {64,0}, + [I(233,185)] = {64,0}, + [I(234,185)] = {64,0}, + [I(235,185)] = {64,0}, + [I(236,185)] = {64,0}, + [I(237,185)] = {64,0}, + [I(238,185)] = {64,0}, + [I(239,185)] = {64,0}, + [I(240,185)] = {64,0}, + [I(241,185)] = {64,0}, + [I(242,185)] = {64,0}, + [I(243,185)] = {64,0}, + [I(244,185)] = {64,0}, + [I(245,185)] = {64,0}, + [I(246,185)] = {64,0}, + [I(247,185)] = {64,0}, + [I(248,185)] = {64,0}, + [I(249,185)] = {64,0}, + [I(250,185)] = {64,0}, + [I(251,185)] = {64,0}, + [I(252,185)] = {64,0}, + [I(253,185)] = {64,0}, + [I(254,185)] = {64,0}, + [I(255,185)] = {64,0}, + [I(0,186)] = {64,0}, + [I(1,186)] = {64,0}, + [I(2,186)] = {64,0}, + [I(3,186)] = {64,0}, + [I(4,186)] = {64,0}, + [I(5,186)] = {64,0}, + [I(6,186)] = {64,0}, + [I(7,186)] = {64,0}, + [I(8,186)] = {64,0}, + [I(9,186)] = {64,0}, + [I(10,186)] = {64,0}, + [I(11,186)] = {64,0}, + [I(12,186)] = {64,0}, + [I(13,186)] = {64,0}, + [I(14,186)] = {64,0}, + [I(15,186)] = {64,0}, + [I(16,186)] = {64,0}, + [I(17,186)] = {64,0}, + [I(18,186)] = {64,0}, + [I(19,186)] = {64,0}, + [I(20,186)] = {64,0}, + [I(21,186)] = {64,0}, + [I(22,186)] = {64,0}, + [I(23,186)] = {64,0}, + [I(24,186)] = {64,0}, + [I(25,186)] = {64,0}, + [I(26,186)] = {64,0}, + [I(27,186)] = {64,0}, + [I(28,186)] = {64,0}, + [I(29,186)] = {64,0}, + [I(30,186)] = {64,0}, + [I(31,186)] = {64,0}, + [I(32,186)] = {28,0x53FFFE3}, + [I(33,186)] = {X32,0xFE3FFFE3}, + [I(34,186)] = {X32,0xFE7FFFE3}, + [I(35,186)] = {64,0}, + [I(36,186)] = {64,0}, + [I(37,186)] = {28,0x57FFFE3}, + [I(38,186)] = {30,0x3E3FFFE3}, + [I(39,186)] = {64,0}, + [I(40,186)] = {X32,0xFEBFFFE3}, + [I(41,186)] = {X32,0xFEFFFFE3}, + [I(42,186)] = {30,0x3E7FFFE3}, + [I(43,186)] = {64,0}, + [I(44,186)] = {30,0x3EBFFFE3}, + [I(45,186)] = {28,0x5BFFFE3}, + [I(46,186)] = {28,0x5FFFFE3}, + [I(47,186)] = {28,0x63FFFE3}, + [I(48,186)] = {27,0x3FFFE3}, + [I(49,186)] = {27,0x7FFFE3}, + [I(50,186)] = {27,0xBFFFE3}, + [I(51,186)] = {28,0x67FFFE3}, + [I(52,186)] = {28,0x6BFFFE3}, + [I(53,186)] = {28,0x6FFFFE3}, + [I(54,186)] = {28,0x73FFFE3}, + [I(55,186)] = {28,0x77FFFE3}, + [I(56,186)] = {28,0x7BFFFE3}, + [I(57,186)] = {28,0x7FFFFE3}, + [I(58,186)] = {29,0x173FFFE3}, + [I(59,186)] = {30,0x3EFFFFE3}, + [I(60,186)] = {64,0}, + [I(61,186)] = {28,0x83FFFE3}, + [I(62,186)] = {64,0}, + [I(63,186)] = {X32,0xFF3FFFE3}, + [I(64,186)] = {64,0}, + [I(65,186)] = {28,0x87FFFE3}, + [I(66,186)] = {29,0x177FFFE3}, + [I(67,186)] = {29,0x17BFFFE3}, + [I(68,186)] = {29,0x17FFFFE3}, + [I(69,186)] = {29,0x183FFFE3}, + [I(70,186)] = {29,0x187FFFE3}, + [I(71,186)] = {29,0x18BFFFE3}, + [I(72,186)] = {29,0x18FFFFE3}, + [I(73,186)] = {29,0x193FFFE3}, + [I(74,186)] = {29,0x197FFFE3}, + [I(75,186)] = {29,0x19BFFFE3}, + [I(76,186)] = {29,0x19FFFFE3}, + [I(77,186)] = {29,0x1A3FFFE3}, + [I(78,186)] = {29,0x1A7FFFE3}, + [I(79,186)] = {29,0x1ABFFFE3}, + [I(80,186)] = {29,0x1AFFFFE3}, + [I(81,186)] = {29,0x1B3FFFE3}, + [I(82,186)] = {29,0x1B7FFFE3}, + [I(83,186)] = {29,0x1BBFFFE3}, + [I(84,186)] = {29,0x1BFFFFE3}, + [I(85,186)] = {29,0x1C3FFFE3}, + [I(86,186)] = {29,0x1C7FFFE3}, + [I(87,186)] = {29,0x1CBFFFE3}, + [I(88,186)] = {30,0x3F3FFFE3}, + [I(89,186)] = {29,0x1CFFFFE3}, + [I(90,186)] = {30,0x3F7FFFE3}, + [I(91,186)] = {64,0}, + [I(92,186)] = {64,0}, + [I(93,186)] = {64,0}, + [I(94,186)] = {64,0}, + [I(95,186)] = {28,0x8BFFFE3}, + [I(96,186)] = {64,0}, + [I(97,186)] = {27,0xFFFFE3}, + [I(98,186)] = {28,0x8FFFFE3}, + [I(99,186)] = {27,0x13FFFE3}, + [I(100,186)] = {28,0x93FFFE3}, + [I(101,186)] = {27,0x17FFFE3}, + [I(102,186)] = {28,0x97FFFE3}, + [I(103,186)] = {28,0x9BFFFE3}, + [I(104,186)] = {28,0x9FFFFE3}, + [I(105,186)] = {27,0x1BFFFE3}, + [I(106,186)] = {29,0x1D3FFFE3}, + [I(107,186)] = {29,0x1D7FFFE3}, + [I(108,186)] = {28,0xA3FFFE3}, + [I(109,186)] = {28,0xA7FFFE3}, + [I(110,186)] = {28,0xABFFFE3}, + [I(111,186)] = {27,0x1FFFFE3}, + [I(112,186)] = {28,0xAFFFFE3}, + [I(113,186)] = {29,0x1DBFFFE3}, + [I(114,186)] = {28,0xB3FFFE3}, + [I(115,186)] = {27,0x23FFFE3}, + [I(116,186)] = {27,0x27FFFE3}, + [I(117,186)] = {28,0xB7FFFE3}, + [I(118,186)] = {29,0x1DFFFFE3}, + [I(119,186)] = {29,0x1E3FFFE3}, + [I(120,186)] = {29,0x1E7FFFE3}, + [I(121,186)] = {29,0x1EBFFFE3}, + [I(122,186)] = {29,0x1EFFFFE3}, + [I(123,186)] = {64,0}, + [I(124,186)] = {64,0}, + [I(125,186)] = {64,0}, + [I(126,186)] = {64,0}, + [I(127,186)] = {64,0}, + [I(128,186)] = {64,0}, + [I(129,186)] = {64,0}, + [I(130,186)] = {64,0}, + [I(131,186)] = {64,0}, + [I(132,186)] = {64,0}, + [I(133,186)] = {64,0}, + [I(134,186)] = {64,0}, + [I(135,186)] = {64,0}, + [I(136,186)] = {64,0}, + [I(137,186)] = {64,0}, + [I(138,186)] = {64,0}, + [I(139,186)] = {64,0}, + [I(140,186)] = {64,0}, + [I(141,186)] = {64,0}, + [I(142,186)] = {64,0}, + [I(143,186)] = {64,0}, + [I(144,186)] = {64,0}, + [I(145,186)] = {64,0}, + [I(146,186)] = {64,0}, + [I(147,186)] = {64,0}, + [I(148,186)] = {64,0}, + [I(149,186)] = {64,0}, + [I(150,186)] = {64,0}, + [I(151,186)] = {64,0}, + [I(152,186)] = {64,0}, + [I(153,186)] = {64,0}, + [I(154,186)] = {64,0}, + [I(155,186)] = {64,0}, + [I(156,186)] = {64,0}, + [I(157,186)] = {64,0}, + [I(158,186)] = {64,0}, + [I(159,186)] = {64,0}, + [I(160,186)] = {64,0}, + [I(161,186)] = {64,0}, + [I(162,186)] = {64,0}, + [I(163,186)] = {64,0}, + [I(164,186)] = {64,0}, + [I(165,186)] = {64,0}, + [I(166,186)] = {64,0}, + [I(167,186)] = {64,0}, + [I(168,186)] = {64,0}, + [I(169,186)] = {64,0}, + [I(170,186)] = {64,0}, + [I(171,186)] = {64,0}, + [I(172,186)] = {64,0}, + [I(173,186)] = {64,0}, + [I(174,186)] = {64,0}, + [I(175,186)] = {64,0}, + [I(176,186)] = {64,0}, + [I(177,186)] = {64,0}, + [I(178,186)] = {64,0}, + [I(179,186)] = {64,0}, + [I(180,186)] = {64,0}, + [I(181,186)] = {64,0}, + [I(182,186)] = {64,0}, + [I(183,186)] = {64,0}, + [I(184,186)] = {64,0}, + [I(185,186)] = {64,0}, + [I(186,186)] = {64,0}, + [I(187,186)] = {64,0}, + [I(188,186)] = {64,0}, + [I(189,186)] = {64,0}, + [I(190,186)] = {64,0}, + [I(191,186)] = {64,0}, + [I(192,186)] = {64,0}, + [I(193,186)] = {64,0}, + [I(194,186)] = {64,0}, + [I(195,186)] = {64,0}, + [I(196,186)] = {64,0}, + [I(197,186)] = {64,0}, + [I(198,186)] = {64,0}, + [I(199,186)] = {64,0}, + [I(200,186)] = {64,0}, + [I(201,186)] = {64,0}, + [I(202,186)] = {64,0}, + [I(203,186)] = {64,0}, + [I(204,186)] = {64,0}, + [I(205,186)] = {64,0}, + [I(206,186)] = {64,0}, + [I(207,186)] = {64,0}, + [I(208,186)] = {64,0}, + [I(209,186)] = {64,0}, + [I(210,186)] = {64,0}, + [I(211,186)] = {64,0}, + [I(212,186)] = {64,0}, + [I(213,186)] = {64,0}, + [I(214,186)] = {64,0}, + [I(215,186)] = {64,0}, + [I(216,186)] = {64,0}, + [I(217,186)] = {64,0}, + [I(218,186)] = {64,0}, + [I(219,186)] = {64,0}, + [I(220,186)] = {64,0}, + [I(221,186)] = {64,0}, + [I(222,186)] = {64,0}, + [I(223,186)] = {64,0}, + [I(224,186)] = {64,0}, + [I(225,186)] = {64,0}, + [I(226,186)] = {64,0}, + [I(227,186)] = {64,0}, + [I(228,186)] = {64,0}, + [I(229,186)] = {64,0}, + [I(230,186)] = {64,0}, + [I(231,186)] = {64,0}, + [I(232,186)] = {64,0}, + [I(233,186)] = {64,0}, + [I(234,186)] = {64,0}, + [I(235,186)] = {64,0}, + [I(236,186)] = {64,0}, + [I(237,186)] = {64,0}, + [I(238,186)] = {64,0}, + [I(239,186)] = {64,0}, + [I(240,186)] = {64,0}, + [I(241,186)] = {64,0}, + [I(242,186)] = {64,0}, + [I(243,186)] = {64,0}, + [I(244,186)] = {64,0}, + [I(245,186)] = {64,0}, + [I(246,186)] = {64,0}, + [I(247,186)] = {64,0}, + [I(248,186)] = {64,0}, + [I(249,186)] = {64,0}, + [I(250,186)] = {64,0}, + [I(251,186)] = {64,0}, + [I(252,186)] = {64,0}, + [I(253,186)] = {64,0}, + [I(254,186)] = {64,0}, + [I(255,186)] = {64,0}, + [I(0,187)] = {64,0}, + [I(1,187)] = {64,0}, + [I(2,187)] = {64,0}, + [I(3,187)] = {64,0}, + [I(4,187)] = {64,0}, + [I(5,187)] = {64,0}, + [I(6,187)] = {64,0}, + [I(7,187)] = {64,0}, + [I(8,187)] = {64,0}, + [I(9,187)] = {64,0}, + [I(10,187)] = {64,0}, + [I(11,187)] = {64,0}, + [I(12,187)] = {64,0}, + [I(13,187)] = {64,0}, + [I(14,187)] = {64,0}, + [I(15,187)] = {64,0}, + [I(16,187)] = {64,0}, + [I(17,187)] = {64,0}, + [I(18,187)] = {64,0}, + [I(19,187)] = {64,0}, + [I(20,187)] = {64,0}, + [I(21,187)] = {64,0}, + [I(22,187)] = {64,0}, + [I(23,187)] = {64,0}, + [I(24,187)] = {64,0}, + [I(25,187)] = {64,0}, + [I(26,187)] = {64,0}, + [I(27,187)] = {64,0}, + [I(28,187)] = {64,0}, + [I(29,187)] = {64,0}, + [I(30,187)] = {64,0}, + [I(31,187)] = {64,0}, + [I(32,187)] = {28,0x53FFFE4}, + [I(33,187)] = {X32,0xFE3FFFE4}, + [I(34,187)] = {X32,0xFE7FFFE4}, + [I(35,187)] = {64,0}, + [I(36,187)] = {64,0}, + [I(37,187)] = {28,0x57FFFE4}, + [I(38,187)] = {30,0x3E3FFFE4}, + [I(39,187)] = {64,0}, + [I(40,187)] = {X32,0xFEBFFFE4}, + [I(41,187)] = {X32,0xFEFFFFE4}, + [I(42,187)] = {30,0x3E7FFFE4}, + [I(43,187)] = {64,0}, + [I(44,187)] = {30,0x3EBFFFE4}, + [I(45,187)] = {28,0x5BFFFE4}, + [I(46,187)] = {28,0x5FFFFE4}, + [I(47,187)] = {28,0x63FFFE4}, + [I(48,187)] = {27,0x3FFFE4}, + [I(49,187)] = {27,0x7FFFE4}, + [I(50,187)] = {27,0xBFFFE4}, + [I(51,187)] = {28,0x67FFFE4}, + [I(52,187)] = {28,0x6BFFFE4}, + [I(53,187)] = {28,0x6FFFFE4}, + [I(54,187)] = {28,0x73FFFE4}, + [I(55,187)] = {28,0x77FFFE4}, + [I(56,187)] = {28,0x7BFFFE4}, + [I(57,187)] = {28,0x7FFFFE4}, + [I(58,187)] = {29,0x173FFFE4}, + [I(59,187)] = {30,0x3EFFFFE4}, + [I(60,187)] = {64,0}, + [I(61,187)] = {28,0x83FFFE4}, + [I(62,187)] = {64,0}, + [I(63,187)] = {X32,0xFF3FFFE4}, + [I(64,187)] = {64,0}, + [I(65,187)] = {28,0x87FFFE4}, + [I(66,187)] = {29,0x177FFFE4}, + [I(67,187)] = {29,0x17BFFFE4}, + [I(68,187)] = {29,0x17FFFFE4}, + [I(69,187)] = {29,0x183FFFE4}, + [I(70,187)] = {29,0x187FFFE4}, + [I(71,187)] = {29,0x18BFFFE4}, + [I(72,187)] = {29,0x18FFFFE4}, + [I(73,187)] = {29,0x193FFFE4}, + [I(74,187)] = {29,0x197FFFE4}, + [I(75,187)] = {29,0x19BFFFE4}, + [I(76,187)] = {29,0x19FFFFE4}, + [I(77,187)] = {29,0x1A3FFFE4}, + [I(78,187)] = {29,0x1A7FFFE4}, + [I(79,187)] = {29,0x1ABFFFE4}, + [I(80,187)] = {29,0x1AFFFFE4}, + [I(81,187)] = {29,0x1B3FFFE4}, + [I(82,187)] = {29,0x1B7FFFE4}, + [I(83,187)] = {29,0x1BBFFFE4}, + [I(84,187)] = {29,0x1BFFFFE4}, + [I(85,187)] = {29,0x1C3FFFE4}, + [I(86,187)] = {29,0x1C7FFFE4}, + [I(87,187)] = {29,0x1CBFFFE4}, + [I(88,187)] = {30,0x3F3FFFE4}, + [I(89,187)] = {29,0x1CFFFFE4}, + [I(90,187)] = {30,0x3F7FFFE4}, + [I(91,187)] = {64,0}, + [I(92,187)] = {64,0}, + [I(93,187)] = {64,0}, + [I(94,187)] = {64,0}, + [I(95,187)] = {28,0x8BFFFE4}, + [I(96,187)] = {64,0}, + [I(97,187)] = {27,0xFFFFE4}, + [I(98,187)] = {28,0x8FFFFE4}, + [I(99,187)] = {27,0x13FFFE4}, + [I(100,187)] = {28,0x93FFFE4}, + [I(101,187)] = {27,0x17FFFE4}, + [I(102,187)] = {28,0x97FFFE4}, + [I(103,187)] = {28,0x9BFFFE4}, + [I(104,187)] = {28,0x9FFFFE4}, + [I(105,187)] = {27,0x1BFFFE4}, + [I(106,187)] = {29,0x1D3FFFE4}, + [I(107,187)] = {29,0x1D7FFFE4}, + [I(108,187)] = {28,0xA3FFFE4}, + [I(109,187)] = {28,0xA7FFFE4}, + [I(110,187)] = {28,0xABFFFE4}, + [I(111,187)] = {27,0x1FFFFE4}, + [I(112,187)] = {28,0xAFFFFE4}, + [I(113,187)] = {29,0x1DBFFFE4}, + [I(114,187)] = {28,0xB3FFFE4}, + [I(115,187)] = {27,0x23FFFE4}, + [I(116,187)] = {27,0x27FFFE4}, + [I(117,187)] = {28,0xB7FFFE4}, + [I(118,187)] = {29,0x1DFFFFE4}, + [I(119,187)] = {29,0x1E3FFFE4}, + [I(120,187)] = {29,0x1E7FFFE4}, + [I(121,187)] = {29,0x1EBFFFE4}, + [I(122,187)] = {29,0x1EFFFFE4}, + [I(123,187)] = {64,0}, + [I(124,187)] = {64,0}, + [I(125,187)] = {64,0}, + [I(126,187)] = {64,0}, + [I(127,187)] = {64,0}, + [I(128,187)] = {64,0}, + [I(129,187)] = {64,0}, + [I(130,187)] = {64,0}, + [I(131,187)] = {64,0}, + [I(132,187)] = {64,0}, + [I(133,187)] = {64,0}, + [I(134,187)] = {64,0}, + [I(135,187)] = {64,0}, + [I(136,187)] = {64,0}, + [I(137,187)] = {64,0}, + [I(138,187)] = {64,0}, + [I(139,187)] = {64,0}, + [I(140,187)] = {64,0}, + [I(141,187)] = {64,0}, + [I(142,187)] = {64,0}, + [I(143,187)] = {64,0}, + [I(144,187)] = {64,0}, + [I(145,187)] = {64,0}, + [I(146,187)] = {64,0}, + [I(147,187)] = {64,0}, + [I(148,187)] = {64,0}, + [I(149,187)] = {64,0}, + [I(150,187)] = {64,0}, + [I(151,187)] = {64,0}, + [I(152,187)] = {64,0}, + [I(153,187)] = {64,0}, + [I(154,187)] = {64,0}, + [I(155,187)] = {64,0}, + [I(156,187)] = {64,0}, + [I(157,187)] = {64,0}, + [I(158,187)] = {64,0}, + [I(159,187)] = {64,0}, + [I(160,187)] = {64,0}, + [I(161,187)] = {64,0}, + [I(162,187)] = {64,0}, + [I(163,187)] = {64,0}, + [I(164,187)] = {64,0}, + [I(165,187)] = {64,0}, + [I(166,187)] = {64,0}, + [I(167,187)] = {64,0}, + [I(168,187)] = {64,0}, + [I(169,187)] = {64,0}, + [I(170,187)] = {64,0}, + [I(171,187)] = {64,0}, + [I(172,187)] = {64,0}, + [I(173,187)] = {64,0}, + [I(174,187)] = {64,0}, + [I(175,187)] = {64,0}, + [I(176,187)] = {64,0}, + [I(177,187)] = {64,0}, + [I(178,187)] = {64,0}, + [I(179,187)] = {64,0}, + [I(180,187)] = {64,0}, + [I(181,187)] = {64,0}, + [I(182,187)] = {64,0}, + [I(183,187)] = {64,0}, + [I(184,187)] = {64,0}, + [I(185,187)] = {64,0}, + [I(186,187)] = {64,0}, + [I(187,187)] = {64,0}, + [I(188,187)] = {64,0}, + [I(189,187)] = {64,0}, + [I(190,187)] = {64,0}, + [I(191,187)] = {64,0}, + [I(192,187)] = {64,0}, + [I(193,187)] = {64,0}, + [I(194,187)] = {64,0}, + [I(195,187)] = {64,0}, + [I(196,187)] = {64,0}, + [I(197,187)] = {64,0}, + [I(198,187)] = {64,0}, + [I(199,187)] = {64,0}, + [I(200,187)] = {64,0}, + [I(201,187)] = {64,0}, + [I(202,187)] = {64,0}, + [I(203,187)] = {64,0}, + [I(204,187)] = {64,0}, + [I(205,187)] = {64,0}, + [I(206,187)] = {64,0}, + [I(207,187)] = {64,0}, + [I(208,187)] = {64,0}, + [I(209,187)] = {64,0}, + [I(210,187)] = {64,0}, + [I(211,187)] = {64,0}, + [I(212,187)] = {64,0}, + [I(213,187)] = {64,0}, + [I(214,187)] = {64,0}, + [I(215,187)] = {64,0}, + [I(216,187)] = {64,0}, + [I(217,187)] = {64,0}, + [I(218,187)] = {64,0}, + [I(219,187)] = {64,0}, + [I(220,187)] = {64,0}, + [I(221,187)] = {64,0}, + [I(222,187)] = {64,0}, + [I(223,187)] = {64,0}, + [I(224,187)] = {64,0}, + [I(225,187)] = {64,0}, + [I(226,187)] = {64,0}, + [I(227,187)] = {64,0}, + [I(228,187)] = {64,0}, + [I(229,187)] = {64,0}, + [I(230,187)] = {64,0}, + [I(231,187)] = {64,0}, + [I(232,187)] = {64,0}, + [I(233,187)] = {64,0}, + [I(234,187)] = {64,0}, + [I(235,187)] = {64,0}, + [I(236,187)] = {64,0}, + [I(237,187)] = {64,0}, + [I(238,187)] = {64,0}, + [I(239,187)] = {64,0}, + [I(240,187)] = {64,0}, + [I(241,187)] = {64,0}, + [I(242,187)] = {64,0}, + [I(243,187)] = {64,0}, + [I(244,187)] = {64,0}, + [I(245,187)] = {64,0}, + [I(246,187)] = {64,0}, + [I(247,187)] = {64,0}, + [I(248,187)] = {64,0}, + [I(249,187)] = {64,0}, + [I(250,187)] = {64,0}, + [I(251,187)] = {64,0}, + [I(252,187)] = {64,0}, + [I(253,187)] = {64,0}, + [I(254,187)] = {64,0}, + [I(255,187)] = {64,0}, + [I(0,188)] = {64,0}, + [I(1,188)] = {64,0}, + [I(2,188)] = {64,0}, + [I(3,188)] = {64,0}, + [I(4,188)] = {64,0}, + [I(5,188)] = {64,0}, + [I(6,188)] = {64,0}, + [I(7,188)] = {64,0}, + [I(8,188)] = {64,0}, + [I(9,188)] = {64,0}, + [I(10,188)] = {64,0}, + [I(11,188)] = {64,0}, + [I(12,188)] = {64,0}, + [I(13,188)] = {64,0}, + [I(14,188)] = {64,0}, + [I(15,188)] = {64,0}, + [I(16,188)] = {64,0}, + [I(17,188)] = {64,0}, + [I(18,188)] = {64,0}, + [I(19,188)] = {64,0}, + [I(20,188)] = {64,0}, + [I(21,188)] = {64,0}, + [I(22,188)] = {64,0}, + [I(23,188)] = {64,0}, + [I(24,188)] = {64,0}, + [I(25,188)] = {64,0}, + [I(26,188)] = {64,0}, + [I(27,188)] = {64,0}, + [I(28,188)] = {64,0}, + [I(29,188)] = {64,0}, + [I(30,188)] = {64,0}, + [I(31,188)] = {64,0}, + [I(32,188)] = {29,0xA7FFFF0}, + [I(33,188)] = {64,0}, + [I(34,188)] = {64,0}, + [I(35,188)] = {64,0}, + [I(36,188)] = {64,0}, + [I(37,188)] = {29,0xAFFFFF0}, + [I(38,188)] = {31,0x7C7FFFF0}, + [I(39,188)] = {64,0}, + [I(40,188)] = {64,0}, + [I(41,188)] = {64,0}, + [I(42,188)] = {31,0x7CFFFFF0}, + [I(43,188)] = {64,0}, + [I(44,188)] = {31,0x7D7FFFF0}, + [I(45,188)] = {29,0xB7FFFF0}, + [I(46,188)] = {29,0xBFFFFF0}, + [I(47,188)] = {29,0xC7FFFF0}, + [I(48,188)] = {28,0x7FFFF0}, + [I(49,188)] = {28,0xFFFFF0}, + [I(50,188)] = {28,0x17FFFF0}, + [I(51,188)] = {29,0xCFFFFF0}, + [I(52,188)] = {29,0xD7FFFF0}, + [I(53,188)] = {29,0xDFFFFF0}, + [I(54,188)] = {29,0xE7FFFF0}, + [I(55,188)] = {29,0xEFFFFF0}, + [I(56,188)] = {29,0xF7FFFF0}, + [I(57,188)] = {29,0xFFFFFF0}, + [I(58,188)] = {30,0x2E7FFFF0}, + [I(59,188)] = {31,0x7DFFFFF0}, + [I(60,188)] = {64,0}, + [I(61,188)] = {29,0x107FFFF0}, + [I(62,188)] = {64,0}, + [I(63,188)] = {64,0}, + [I(64,188)] = {64,0}, + [I(65,188)] = {29,0x10FFFFF0}, + [I(66,188)] = {30,0x2EFFFFF0}, + [I(67,188)] = {30,0x2F7FFFF0}, + [I(68,188)] = {30,0x2FFFFFF0}, + [I(69,188)] = {30,0x307FFFF0}, + [I(70,188)] = {30,0x30FFFFF0}, + [I(71,188)] = {30,0x317FFFF0}, + [I(72,188)] = {30,0x31FFFFF0}, + [I(73,188)] = {30,0x327FFFF0}, + [I(74,188)] = {30,0x32FFFFF0}, + [I(75,188)] = {30,0x337FFFF0}, + [I(76,188)] = {30,0x33FFFFF0}, + [I(77,188)] = {30,0x347FFFF0}, + [I(78,188)] = {30,0x34FFFFF0}, + [I(79,188)] = {30,0x357FFFF0}, + [I(80,188)] = {30,0x35FFFFF0}, + [I(81,188)] = {30,0x367FFFF0}, + [I(82,188)] = {30,0x36FFFFF0}, + [I(83,188)] = {30,0x377FFFF0}, + [I(84,188)] = {30,0x37FFFFF0}, + [I(85,188)] = {30,0x387FFFF0}, + [I(86,188)] = {30,0x38FFFFF0}, + [I(87,188)] = {30,0x397FFFF0}, + [I(88,188)] = {31,0x7E7FFFF0}, + [I(89,188)] = {30,0x39FFFFF0}, + [I(90,188)] = {31,0x7EFFFFF0}, + [I(91,188)] = {64,0}, + [I(92,188)] = {64,0}, + [I(93,188)] = {64,0}, + [I(94,188)] = {64,0}, + [I(95,188)] = {29,0x117FFFF0}, + [I(96,188)] = {64,0}, + [I(97,188)] = {28,0x1FFFFF0}, + [I(98,188)] = {29,0x11FFFFF0}, + [I(99,188)] = {28,0x27FFFF0}, + [I(100,188)] = {29,0x127FFFF0}, + [I(101,188)] = {28,0x2FFFFF0}, + [I(102,188)] = {29,0x12FFFFF0}, + [I(103,188)] = {29,0x137FFFF0}, + [I(104,188)] = {29,0x13FFFFF0}, + [I(105,188)] = {28,0x37FFFF0}, + [I(106,188)] = {30,0x3A7FFFF0}, + [I(107,188)] = {30,0x3AFFFFF0}, + [I(108,188)] = {29,0x147FFFF0}, + [I(109,188)] = {29,0x14FFFFF0}, + [I(110,188)] = {29,0x157FFFF0}, + [I(111,188)] = {28,0x3FFFFF0}, + [I(112,188)] = {29,0x15FFFFF0}, + [I(113,188)] = {30,0x3B7FFFF0}, + [I(114,188)] = {29,0x167FFFF0}, + [I(115,188)] = {28,0x47FFFF0}, + [I(116,188)] = {28,0x4FFFFF0}, + [I(117,188)] = {29,0x16FFFFF0}, + [I(118,188)] = {30,0x3BFFFFF0}, + [I(119,188)] = {30,0x3C7FFFF0}, + [I(120,188)] = {30,0x3CFFFFF0}, + [I(121,188)] = {30,0x3D7FFFF0}, + [I(122,188)] = {30,0x3DFFFFF0}, + [I(123,188)] = {64,0}, + [I(124,188)] = {64,0}, + [I(125,188)] = {64,0}, + [I(126,188)] = {64,0}, + [I(127,188)] = {64,0}, + [I(128,188)] = {64,0}, + [I(129,188)] = {64,0}, + [I(130,188)] = {64,0}, + [I(131,188)] = {64,0}, + [I(132,188)] = {64,0}, + [I(133,188)] = {64,0}, + [I(134,188)] = {64,0}, + [I(135,188)] = {64,0}, + [I(136,188)] = {64,0}, + [I(137,188)] = {64,0}, + [I(138,188)] = {64,0}, + [I(139,188)] = {64,0}, + [I(140,188)] = {64,0}, + [I(141,188)] = {64,0}, + [I(142,188)] = {64,0}, + [I(143,188)] = {64,0}, + [I(144,188)] = {64,0}, + [I(145,188)] = {64,0}, + [I(146,188)] = {64,0}, + [I(147,188)] = {64,0}, + [I(148,188)] = {64,0}, + [I(149,188)] = {64,0}, + [I(150,188)] = {64,0}, + [I(151,188)] = {64,0}, + [I(152,188)] = {64,0}, + [I(153,188)] = {64,0}, + [I(154,188)] = {64,0}, + [I(155,188)] = {64,0}, + [I(156,188)] = {64,0}, + [I(157,188)] = {64,0}, + [I(158,188)] = {64,0}, + [I(159,188)] = {64,0}, + [I(160,188)] = {64,0}, + [I(161,188)] = {64,0}, + [I(162,188)] = {64,0}, + [I(163,188)] = {64,0}, + [I(164,188)] = {64,0}, + [I(165,188)] = {64,0}, + [I(166,188)] = {64,0}, + [I(167,188)] = {64,0}, + [I(168,188)] = {64,0}, + [I(169,188)] = {64,0}, + [I(170,188)] = {64,0}, + [I(171,188)] = {64,0}, + [I(172,188)] = {64,0}, + [I(173,188)] = {64,0}, + [I(174,188)] = {64,0}, + [I(175,188)] = {64,0}, + [I(176,188)] = {64,0}, + [I(177,188)] = {64,0}, + [I(178,188)] = {64,0}, + [I(179,188)] = {64,0}, + [I(180,188)] = {64,0}, + [I(181,188)] = {64,0}, + [I(182,188)] = {64,0}, + [I(183,188)] = {64,0}, + [I(184,188)] = {64,0}, + [I(185,188)] = {64,0}, + [I(186,188)] = {64,0}, + [I(187,188)] = {64,0}, + [I(188,188)] = {64,0}, + [I(189,188)] = {64,0}, + [I(190,188)] = {64,0}, + [I(191,188)] = {64,0}, + [I(192,188)] = {64,0}, + [I(193,188)] = {64,0}, + [I(194,188)] = {64,0}, + [I(195,188)] = {64,0}, + [I(196,188)] = {64,0}, + [I(197,188)] = {64,0}, + [I(198,188)] = {64,0}, + [I(199,188)] = {64,0}, + [I(200,188)] = {64,0}, + [I(201,188)] = {64,0}, + [I(202,188)] = {64,0}, + [I(203,188)] = {64,0}, + [I(204,188)] = {64,0}, + [I(205,188)] = {64,0}, + [I(206,188)] = {64,0}, + [I(207,188)] = {64,0}, + [I(208,188)] = {64,0}, + [I(209,188)] = {64,0}, + [I(210,188)] = {64,0}, + [I(211,188)] = {64,0}, + [I(212,188)] = {64,0}, + [I(213,188)] = {64,0}, + [I(214,188)] = {64,0}, + [I(215,188)] = {64,0}, + [I(216,188)] = {64,0}, + [I(217,188)] = {64,0}, + [I(218,188)] = {64,0}, + [I(219,188)] = {64,0}, + [I(220,188)] = {64,0}, + [I(221,188)] = {64,0}, + [I(222,188)] = {64,0}, + [I(223,188)] = {64,0}, + [I(224,188)] = {64,0}, + [I(225,188)] = {64,0}, + [I(226,188)] = {64,0}, + [I(227,188)] = {64,0}, + [I(228,188)] = {64,0}, + [I(229,188)] = {64,0}, + [I(230,188)] = {64,0}, + [I(231,188)] = {64,0}, + [I(232,188)] = {64,0}, + [I(233,188)] = {64,0}, + [I(234,188)] = {64,0}, + [I(235,188)] = {64,0}, + [I(236,188)] = {64,0}, + [I(237,188)] = {64,0}, + [I(238,188)] = {64,0}, + [I(239,188)] = {64,0}, + [I(240,188)] = {64,0}, + [I(241,188)] = {64,0}, + [I(242,188)] = {64,0}, + [I(243,188)] = {64,0}, + [I(244,188)] = {64,0}, + [I(245,188)] = {64,0}, + [I(246,188)] = {64,0}, + [I(247,188)] = {64,0}, + [I(248,188)] = {64,0}, + [I(249,188)] = {64,0}, + [I(250,188)] = {64,0}, + [I(251,188)] = {64,0}, + [I(252,188)] = {64,0}, + [I(253,188)] = {64,0}, + [I(254,188)] = {64,0}, + [I(255,188)] = {64,0}, + [I(0,189)] = {64,0}, + [I(1,189)] = {64,0}, + [I(2,189)] = {64,0}, + [I(3,189)] = {64,0}, + [I(4,189)] = {64,0}, + [I(5,189)] = {64,0}, + [I(6,189)] = {64,0}, + [I(7,189)] = {64,0}, + [I(8,189)] = {64,0}, + [I(9,189)] = {64,0}, + [I(10,189)] = {64,0}, + [I(11,189)] = {64,0}, + [I(12,189)] = {64,0}, + [I(13,189)] = {64,0}, + [I(14,189)] = {64,0}, + [I(15,189)] = {64,0}, + [I(16,189)] = {64,0}, + [I(17,189)] = {64,0}, + [I(18,189)] = {64,0}, + [I(19,189)] = {64,0}, + [I(20,189)] = {64,0}, + [I(21,189)] = {64,0}, + [I(22,189)] = {64,0}, + [I(23,189)] = {64,0}, + [I(24,189)] = {64,0}, + [I(25,189)] = {64,0}, + [I(26,189)] = {64,0}, + [I(27,189)] = {64,0}, + [I(28,189)] = {64,0}, + [I(29,189)] = {64,0}, + [I(30,189)] = {64,0}, + [I(31,189)] = {64,0}, + [I(32,189)] = {28,0x53FFFE5}, + [I(33,189)] = {X32,0xFE3FFFE5}, + [I(34,189)] = {X32,0xFE7FFFE5}, + [I(35,189)] = {64,0}, + [I(36,189)] = {64,0}, + [I(37,189)] = {28,0x57FFFE5}, + [I(38,189)] = {30,0x3E3FFFE5}, + [I(39,189)] = {64,0}, + [I(40,189)] = {X32,0xFEBFFFE5}, + [I(41,189)] = {X32,0xFEFFFFE5}, + [I(42,189)] = {30,0x3E7FFFE5}, + [I(43,189)] = {64,0}, + [I(44,189)] = {30,0x3EBFFFE5}, + [I(45,189)] = {28,0x5BFFFE5}, + [I(46,189)] = {28,0x5FFFFE5}, + [I(47,189)] = {28,0x63FFFE5}, + [I(48,189)] = {27,0x3FFFE5}, + [I(49,189)] = {27,0x7FFFE5}, + [I(50,189)] = {27,0xBFFFE5}, + [I(51,189)] = {28,0x67FFFE5}, + [I(52,189)] = {28,0x6BFFFE5}, + [I(53,189)] = {28,0x6FFFFE5}, + [I(54,189)] = {28,0x73FFFE5}, + [I(55,189)] = {28,0x77FFFE5}, + [I(56,189)] = {28,0x7BFFFE5}, + [I(57,189)] = {28,0x7FFFFE5}, + [I(58,189)] = {29,0x173FFFE5}, + [I(59,189)] = {30,0x3EFFFFE5}, + [I(60,189)] = {64,0}, + [I(61,189)] = {28,0x83FFFE5}, + [I(62,189)] = {64,0}, + [I(63,189)] = {X32,0xFF3FFFE5}, + [I(64,189)] = {64,0}, + [I(65,189)] = {28,0x87FFFE5}, + [I(66,189)] = {29,0x177FFFE5}, + [I(67,189)] = {29,0x17BFFFE5}, + [I(68,189)] = {29,0x17FFFFE5}, + [I(69,189)] = {29,0x183FFFE5}, + [I(70,189)] = {29,0x187FFFE5}, + [I(71,189)] = {29,0x18BFFFE5}, + [I(72,189)] = {29,0x18FFFFE5}, + [I(73,189)] = {29,0x193FFFE5}, + [I(74,189)] = {29,0x197FFFE5}, + [I(75,189)] = {29,0x19BFFFE5}, + [I(76,189)] = {29,0x19FFFFE5}, + [I(77,189)] = {29,0x1A3FFFE5}, + [I(78,189)] = {29,0x1A7FFFE5}, + [I(79,189)] = {29,0x1ABFFFE5}, + [I(80,189)] = {29,0x1AFFFFE5}, + [I(81,189)] = {29,0x1B3FFFE5}, + [I(82,189)] = {29,0x1B7FFFE5}, + [I(83,189)] = {29,0x1BBFFFE5}, + [I(84,189)] = {29,0x1BFFFFE5}, + [I(85,189)] = {29,0x1C3FFFE5}, + [I(86,189)] = {29,0x1C7FFFE5}, + [I(87,189)] = {29,0x1CBFFFE5}, + [I(88,189)] = {30,0x3F3FFFE5}, + [I(89,189)] = {29,0x1CFFFFE5}, + [I(90,189)] = {30,0x3F7FFFE5}, + [I(91,189)] = {64,0}, + [I(92,189)] = {64,0}, + [I(93,189)] = {64,0}, + [I(94,189)] = {64,0}, + [I(95,189)] = {28,0x8BFFFE5}, + [I(96,189)] = {64,0}, + [I(97,189)] = {27,0xFFFFE5}, + [I(98,189)] = {28,0x8FFFFE5}, + [I(99,189)] = {27,0x13FFFE5}, + [I(100,189)] = {28,0x93FFFE5}, + [I(101,189)] = {27,0x17FFFE5}, + [I(102,189)] = {28,0x97FFFE5}, + [I(103,189)] = {28,0x9BFFFE5}, + [I(104,189)] = {28,0x9FFFFE5}, + [I(105,189)] = {27,0x1BFFFE5}, + [I(106,189)] = {29,0x1D3FFFE5}, + [I(107,189)] = {29,0x1D7FFFE5}, + [I(108,189)] = {28,0xA3FFFE5}, + [I(109,189)] = {28,0xA7FFFE5}, + [I(110,189)] = {28,0xABFFFE5}, + [I(111,189)] = {27,0x1FFFFE5}, + [I(112,189)] = {28,0xAFFFFE5}, + [I(113,189)] = {29,0x1DBFFFE5}, + [I(114,189)] = {28,0xB3FFFE5}, + [I(115,189)] = {27,0x23FFFE5}, + [I(116,189)] = {27,0x27FFFE5}, + [I(117,189)] = {28,0xB7FFFE5}, + [I(118,189)] = {29,0x1DFFFFE5}, + [I(119,189)] = {29,0x1E3FFFE5}, + [I(120,189)] = {29,0x1E7FFFE5}, + [I(121,189)] = {29,0x1EBFFFE5}, + [I(122,189)] = {29,0x1EFFFFE5}, + [I(123,189)] = {64,0}, + [I(124,189)] = {64,0}, + [I(125,189)] = {64,0}, + [I(126,189)] = {64,0}, + [I(127,189)] = {64,0}, + [I(128,189)] = {64,0}, + [I(129,189)] = {64,0}, + [I(130,189)] = {64,0}, + [I(131,189)] = {64,0}, + [I(132,189)] = {64,0}, + [I(133,189)] = {64,0}, + [I(134,189)] = {64,0}, + [I(135,189)] = {64,0}, + [I(136,189)] = {64,0}, + [I(137,189)] = {64,0}, + [I(138,189)] = {64,0}, + [I(139,189)] = {64,0}, + [I(140,189)] = {64,0}, + [I(141,189)] = {64,0}, + [I(142,189)] = {64,0}, + [I(143,189)] = {64,0}, + [I(144,189)] = {64,0}, + [I(145,189)] = {64,0}, + [I(146,189)] = {64,0}, + [I(147,189)] = {64,0}, + [I(148,189)] = {64,0}, + [I(149,189)] = {64,0}, + [I(150,189)] = {64,0}, + [I(151,189)] = {64,0}, + [I(152,189)] = {64,0}, + [I(153,189)] = {64,0}, + [I(154,189)] = {64,0}, + [I(155,189)] = {64,0}, + [I(156,189)] = {64,0}, + [I(157,189)] = {64,0}, + [I(158,189)] = {64,0}, + [I(159,189)] = {64,0}, + [I(160,189)] = {64,0}, + [I(161,189)] = {64,0}, + [I(162,189)] = {64,0}, + [I(163,189)] = {64,0}, + [I(164,189)] = {64,0}, + [I(165,189)] = {64,0}, + [I(166,189)] = {64,0}, + [I(167,189)] = {64,0}, + [I(168,189)] = {64,0}, + [I(169,189)] = {64,0}, + [I(170,189)] = {64,0}, + [I(171,189)] = {64,0}, + [I(172,189)] = {64,0}, + [I(173,189)] = {64,0}, + [I(174,189)] = {64,0}, + [I(175,189)] = {64,0}, + [I(176,189)] = {64,0}, + [I(177,189)] = {64,0}, + [I(178,189)] = {64,0}, + [I(179,189)] = {64,0}, + [I(180,189)] = {64,0}, + [I(181,189)] = {64,0}, + [I(182,189)] = {64,0}, + [I(183,189)] = {64,0}, + [I(184,189)] = {64,0}, + [I(185,189)] = {64,0}, + [I(186,189)] = {64,0}, + [I(187,189)] = {64,0}, + [I(188,189)] = {64,0}, + [I(189,189)] = {64,0}, + [I(190,189)] = {64,0}, + [I(191,189)] = {64,0}, + [I(192,189)] = {64,0}, + [I(193,189)] = {64,0}, + [I(194,189)] = {64,0}, + [I(195,189)] = {64,0}, + [I(196,189)] = {64,0}, + [I(197,189)] = {64,0}, + [I(198,189)] = {64,0}, + [I(199,189)] = {64,0}, + [I(200,189)] = {64,0}, + [I(201,189)] = {64,0}, + [I(202,189)] = {64,0}, + [I(203,189)] = {64,0}, + [I(204,189)] = {64,0}, + [I(205,189)] = {64,0}, + [I(206,189)] = {64,0}, + [I(207,189)] = {64,0}, + [I(208,189)] = {64,0}, + [I(209,189)] = {64,0}, + [I(210,189)] = {64,0}, + [I(211,189)] = {64,0}, + [I(212,189)] = {64,0}, + [I(213,189)] = {64,0}, + [I(214,189)] = {64,0}, + [I(215,189)] = {64,0}, + [I(216,189)] = {64,0}, + [I(217,189)] = {64,0}, + [I(218,189)] = {64,0}, + [I(219,189)] = {64,0}, + [I(220,189)] = {64,0}, + [I(221,189)] = {64,0}, + [I(222,189)] = {64,0}, + [I(223,189)] = {64,0}, + [I(224,189)] = {64,0}, + [I(225,189)] = {64,0}, + [I(226,189)] = {64,0}, + [I(227,189)] = {64,0}, + [I(228,189)] = {64,0}, + [I(229,189)] = {64,0}, + [I(230,189)] = {64,0}, + [I(231,189)] = {64,0}, + [I(232,189)] = {64,0}, + [I(233,189)] = {64,0}, + [I(234,189)] = {64,0}, + [I(235,189)] = {64,0}, + [I(236,189)] = {64,0}, + [I(237,189)] = {64,0}, + [I(238,189)] = {64,0}, + [I(239,189)] = {64,0}, + [I(240,189)] = {64,0}, + [I(241,189)] = {64,0}, + [I(242,189)] = {64,0}, + [I(243,189)] = {64,0}, + [I(244,189)] = {64,0}, + [I(245,189)] = {64,0}, + [I(246,189)] = {64,0}, + [I(247,189)] = {64,0}, + [I(248,189)] = {64,0}, + [I(249,189)] = {64,0}, + [I(250,189)] = {64,0}, + [I(251,189)] = {64,0}, + [I(252,189)] = {64,0}, + [I(253,189)] = {64,0}, + [I(254,189)] = {64,0}, + [I(255,189)] = {64,0}, + [I(0,190)] = {64,0}, + [I(1,190)] = {64,0}, + [I(2,190)] = {64,0}, + [I(3,190)] = {64,0}, + [I(4,190)] = {64,0}, + [I(5,190)] = {64,0}, + [I(6,190)] = {64,0}, + [I(7,190)] = {64,0}, + [I(8,190)] = {64,0}, + [I(9,190)] = {64,0}, + [I(10,190)] = {64,0}, + [I(11,190)] = {64,0}, + [I(12,190)] = {64,0}, + [I(13,190)] = {64,0}, + [I(14,190)] = {64,0}, + [I(15,190)] = {64,0}, + [I(16,190)] = {64,0}, + [I(17,190)] = {64,0}, + [I(18,190)] = {64,0}, + [I(19,190)] = {64,0}, + [I(20,190)] = {64,0}, + [I(21,190)] = {64,0}, + [I(22,190)] = {64,0}, + [I(23,190)] = {64,0}, + [I(24,190)] = {64,0}, + [I(25,190)] = {64,0}, + [I(26,190)] = {64,0}, + [I(27,190)] = {64,0}, + [I(28,190)] = {64,0}, + [I(29,190)] = {64,0}, + [I(30,190)] = {64,0}, + [I(31,190)] = {64,0}, + [I(32,190)] = {28,0x53FFFE6}, + [I(33,190)] = {X32,0xFE3FFFE6}, + [I(34,190)] = {X32,0xFE7FFFE6}, + [I(35,190)] = {64,0}, + [I(36,190)] = {64,0}, + [I(37,190)] = {28,0x57FFFE6}, + [I(38,190)] = {30,0x3E3FFFE6}, + [I(39,190)] = {64,0}, + [I(40,190)] = {X32,0xFEBFFFE6}, + [I(41,190)] = {X32,0xFEFFFFE6}, + [I(42,190)] = {30,0x3E7FFFE6}, + [I(43,190)] = {64,0}, + [I(44,190)] = {30,0x3EBFFFE6}, + [I(45,190)] = {28,0x5BFFFE6}, + [I(46,190)] = {28,0x5FFFFE6}, + [I(47,190)] = {28,0x63FFFE6}, + [I(48,190)] = {27,0x3FFFE6}, + [I(49,190)] = {27,0x7FFFE6}, + [I(50,190)] = {27,0xBFFFE6}, + [I(51,190)] = {28,0x67FFFE6}, + [I(52,190)] = {28,0x6BFFFE6}, + [I(53,190)] = {28,0x6FFFFE6}, + [I(54,190)] = {28,0x73FFFE6}, + [I(55,190)] = {28,0x77FFFE6}, + [I(56,190)] = {28,0x7BFFFE6}, + [I(57,190)] = {28,0x7FFFFE6}, + [I(58,190)] = {29,0x173FFFE6}, + [I(59,190)] = {30,0x3EFFFFE6}, + [I(60,190)] = {64,0}, + [I(61,190)] = {28,0x83FFFE6}, + [I(62,190)] = {64,0}, + [I(63,190)] = {X32,0xFF3FFFE6}, + [I(64,190)] = {64,0}, + [I(65,190)] = {28,0x87FFFE6}, + [I(66,190)] = {29,0x177FFFE6}, + [I(67,190)] = {29,0x17BFFFE6}, + [I(68,190)] = {29,0x17FFFFE6}, + [I(69,190)] = {29,0x183FFFE6}, + [I(70,190)] = {29,0x187FFFE6}, + [I(71,190)] = {29,0x18BFFFE6}, + [I(72,190)] = {29,0x18FFFFE6}, + [I(73,190)] = {29,0x193FFFE6}, + [I(74,190)] = {29,0x197FFFE6}, + [I(75,190)] = {29,0x19BFFFE6}, + [I(76,190)] = {29,0x19FFFFE6}, + [I(77,190)] = {29,0x1A3FFFE6}, + [I(78,190)] = {29,0x1A7FFFE6}, + [I(79,190)] = {29,0x1ABFFFE6}, + [I(80,190)] = {29,0x1AFFFFE6}, + [I(81,190)] = {29,0x1B3FFFE6}, + [I(82,190)] = {29,0x1B7FFFE6}, + [I(83,190)] = {29,0x1BBFFFE6}, + [I(84,190)] = {29,0x1BFFFFE6}, + [I(85,190)] = {29,0x1C3FFFE6}, + [I(86,190)] = {29,0x1C7FFFE6}, + [I(87,190)] = {29,0x1CBFFFE6}, + [I(88,190)] = {30,0x3F3FFFE6}, + [I(89,190)] = {29,0x1CFFFFE6}, + [I(90,190)] = {30,0x3F7FFFE6}, + [I(91,190)] = {64,0}, + [I(92,190)] = {64,0}, + [I(93,190)] = {64,0}, + [I(94,190)] = {64,0}, + [I(95,190)] = {28,0x8BFFFE6}, + [I(96,190)] = {64,0}, + [I(97,190)] = {27,0xFFFFE6}, + [I(98,190)] = {28,0x8FFFFE6}, + [I(99,190)] = {27,0x13FFFE6}, + [I(100,190)] = {28,0x93FFFE6}, + [I(101,190)] = {27,0x17FFFE6}, + [I(102,190)] = {28,0x97FFFE6}, + [I(103,190)] = {28,0x9BFFFE6}, + [I(104,190)] = {28,0x9FFFFE6}, + [I(105,190)] = {27,0x1BFFFE6}, + [I(106,190)] = {29,0x1D3FFFE6}, + [I(107,190)] = {29,0x1D7FFFE6}, + [I(108,190)] = {28,0xA3FFFE6}, + [I(109,190)] = {28,0xA7FFFE6}, + [I(110,190)] = {28,0xABFFFE6}, + [I(111,190)] = {27,0x1FFFFE6}, + [I(112,190)] = {28,0xAFFFFE6}, + [I(113,190)] = {29,0x1DBFFFE6}, + [I(114,190)] = {28,0xB3FFFE6}, + [I(115,190)] = {27,0x23FFFE6}, + [I(116,190)] = {27,0x27FFFE6}, + [I(117,190)] = {28,0xB7FFFE6}, + [I(118,190)] = {29,0x1DFFFFE6}, + [I(119,190)] = {29,0x1E3FFFE6}, + [I(120,190)] = {29,0x1E7FFFE6}, + [I(121,190)] = {29,0x1EBFFFE6}, + [I(122,190)] = {29,0x1EFFFFE6}, + [I(123,190)] = {64,0}, + [I(124,190)] = {64,0}, + [I(125,190)] = {64,0}, + [I(126,190)] = {64,0}, + [I(127,190)] = {64,0}, + [I(128,190)] = {64,0}, + [I(129,190)] = {64,0}, + [I(130,190)] = {64,0}, + [I(131,190)] = {64,0}, + [I(132,190)] = {64,0}, + [I(133,190)] = {64,0}, + [I(134,190)] = {64,0}, + [I(135,190)] = {64,0}, + [I(136,190)] = {64,0}, + [I(137,190)] = {64,0}, + [I(138,190)] = {64,0}, + [I(139,190)] = {64,0}, + [I(140,190)] = {64,0}, + [I(141,190)] = {64,0}, + [I(142,190)] = {64,0}, + [I(143,190)] = {64,0}, + [I(144,190)] = {64,0}, + [I(145,190)] = {64,0}, + [I(146,190)] = {64,0}, + [I(147,190)] = {64,0}, + [I(148,190)] = {64,0}, + [I(149,190)] = {64,0}, + [I(150,190)] = {64,0}, + [I(151,190)] = {64,0}, + [I(152,190)] = {64,0}, + [I(153,190)] = {64,0}, + [I(154,190)] = {64,0}, + [I(155,190)] = {64,0}, + [I(156,190)] = {64,0}, + [I(157,190)] = {64,0}, + [I(158,190)] = {64,0}, + [I(159,190)] = {64,0}, + [I(160,190)] = {64,0}, + [I(161,190)] = {64,0}, + [I(162,190)] = {64,0}, + [I(163,190)] = {64,0}, + [I(164,190)] = {64,0}, + [I(165,190)] = {64,0}, + [I(166,190)] = {64,0}, + [I(167,190)] = {64,0}, + [I(168,190)] = {64,0}, + [I(169,190)] = {64,0}, + [I(170,190)] = {64,0}, + [I(171,190)] = {64,0}, + [I(172,190)] = {64,0}, + [I(173,190)] = {64,0}, + [I(174,190)] = {64,0}, + [I(175,190)] = {64,0}, + [I(176,190)] = {64,0}, + [I(177,190)] = {64,0}, + [I(178,190)] = {64,0}, + [I(179,190)] = {64,0}, + [I(180,190)] = {64,0}, + [I(181,190)] = {64,0}, + [I(182,190)] = {64,0}, + [I(183,190)] = {64,0}, + [I(184,190)] = {64,0}, + [I(185,190)] = {64,0}, + [I(186,190)] = {64,0}, + [I(187,190)] = {64,0}, + [I(188,190)] = {64,0}, + [I(189,190)] = {64,0}, + [I(190,190)] = {64,0}, + [I(191,190)] = {64,0}, + [I(192,190)] = {64,0}, + [I(193,190)] = {64,0}, + [I(194,190)] = {64,0}, + [I(195,190)] = {64,0}, + [I(196,190)] = {64,0}, + [I(197,190)] = {64,0}, + [I(198,190)] = {64,0}, + [I(199,190)] = {64,0}, + [I(200,190)] = {64,0}, + [I(201,190)] = {64,0}, + [I(202,190)] = {64,0}, + [I(203,190)] = {64,0}, + [I(204,190)] = {64,0}, + [I(205,190)] = {64,0}, + [I(206,190)] = {64,0}, + [I(207,190)] = {64,0}, + [I(208,190)] = {64,0}, + [I(209,190)] = {64,0}, + [I(210,190)] = {64,0}, + [I(211,190)] = {64,0}, + [I(212,190)] = {64,0}, + [I(213,190)] = {64,0}, + [I(214,190)] = {64,0}, + [I(215,190)] = {64,0}, + [I(216,190)] = {64,0}, + [I(217,190)] = {64,0}, + [I(218,190)] = {64,0}, + [I(219,190)] = {64,0}, + [I(220,190)] = {64,0}, + [I(221,190)] = {64,0}, + [I(222,190)] = {64,0}, + [I(223,190)] = {64,0}, + [I(224,190)] = {64,0}, + [I(225,190)] = {64,0}, + [I(226,190)] = {64,0}, + [I(227,190)] = {64,0}, + [I(228,190)] = {64,0}, + [I(229,190)] = {64,0}, + [I(230,190)] = {64,0}, + [I(231,190)] = {64,0}, + [I(232,190)] = {64,0}, + [I(233,190)] = {64,0}, + [I(234,190)] = {64,0}, + [I(235,190)] = {64,0}, + [I(236,190)] = {64,0}, + [I(237,190)] = {64,0}, + [I(238,190)] = {64,0}, + [I(239,190)] = {64,0}, + [I(240,190)] = {64,0}, + [I(241,190)] = {64,0}, + [I(242,190)] = {64,0}, + [I(243,190)] = {64,0}, + [I(244,190)] = {64,0}, + [I(245,190)] = {64,0}, + [I(246,190)] = {64,0}, + [I(247,190)] = {64,0}, + [I(248,190)] = {64,0}, + [I(249,190)] = {64,0}, + [I(250,190)] = {64,0}, + [I(251,190)] = {64,0}, + [I(252,190)] = {64,0}, + [I(253,190)] = {64,0}, + [I(254,190)] = {64,0}, + [I(255,190)] = {64,0}, + [I(0,191)] = {64,0}, + [I(1,191)] = {64,0}, + [I(2,191)] = {64,0}, + [I(3,191)] = {64,0}, + [I(4,191)] = {64,0}, + [I(5,191)] = {64,0}, + [I(6,191)] = {64,0}, + [I(7,191)] = {64,0}, + [I(8,191)] = {64,0}, + [I(9,191)] = {64,0}, + [I(10,191)] = {64,0}, + [I(11,191)] = {64,0}, + [I(12,191)] = {64,0}, + [I(13,191)] = {64,0}, + [I(14,191)] = {64,0}, + [I(15,191)] = {64,0}, + [I(16,191)] = {64,0}, + [I(17,191)] = {64,0}, + [I(18,191)] = {64,0}, + [I(19,191)] = {64,0}, + [I(20,191)] = {64,0}, + [I(21,191)] = {64,0}, + [I(22,191)] = {64,0}, + [I(23,191)] = {64,0}, + [I(24,191)] = {64,0}, + [I(25,191)] = {64,0}, + [I(26,191)] = {64,0}, + [I(27,191)] = {64,0}, + [I(28,191)] = {64,0}, + [I(29,191)] = {64,0}, + [I(30,191)] = {64,0}, + [I(31,191)] = {64,0}, + [I(32,191)] = {29,0xA7FFFF1}, + [I(33,191)] = {64,0}, + [I(34,191)] = {64,0}, + [I(35,191)] = {64,0}, + [I(36,191)] = {64,0}, + [I(37,191)] = {29,0xAFFFFF1}, + [I(38,191)] = {31,0x7C7FFFF1}, + [I(39,191)] = {64,0}, + [I(40,191)] = {64,0}, + [I(41,191)] = {64,0}, + [I(42,191)] = {31,0x7CFFFFF1}, + [I(43,191)] = {64,0}, + [I(44,191)] = {31,0x7D7FFFF1}, + [I(45,191)] = {29,0xB7FFFF1}, + [I(46,191)] = {29,0xBFFFFF1}, + [I(47,191)] = {29,0xC7FFFF1}, + [I(48,191)] = {28,0x7FFFF1}, + [I(49,191)] = {28,0xFFFFF1}, + [I(50,191)] = {28,0x17FFFF1}, + [I(51,191)] = {29,0xCFFFFF1}, + [I(52,191)] = {29,0xD7FFFF1}, + [I(53,191)] = {29,0xDFFFFF1}, + [I(54,191)] = {29,0xE7FFFF1}, + [I(55,191)] = {29,0xEFFFFF1}, + [I(56,191)] = {29,0xF7FFFF1}, + [I(57,191)] = {29,0xFFFFFF1}, + [I(58,191)] = {30,0x2E7FFFF1}, + [I(59,191)] = {31,0x7DFFFFF1}, + [I(60,191)] = {64,0}, + [I(61,191)] = {29,0x107FFFF1}, + [I(62,191)] = {64,0}, + [I(63,191)] = {64,0}, + [I(64,191)] = {64,0}, + [I(65,191)] = {29,0x10FFFFF1}, + [I(66,191)] = {30,0x2EFFFFF1}, + [I(67,191)] = {30,0x2F7FFFF1}, + [I(68,191)] = {30,0x2FFFFFF1}, + [I(69,191)] = {30,0x307FFFF1}, + [I(70,191)] = {30,0x30FFFFF1}, + [I(71,191)] = {30,0x317FFFF1}, + [I(72,191)] = {30,0x31FFFFF1}, + [I(73,191)] = {30,0x327FFFF1}, + [I(74,191)] = {30,0x32FFFFF1}, + [I(75,191)] = {30,0x337FFFF1}, + [I(76,191)] = {30,0x33FFFFF1}, + [I(77,191)] = {30,0x347FFFF1}, + [I(78,191)] = {30,0x34FFFFF1}, + [I(79,191)] = {30,0x357FFFF1}, + [I(80,191)] = {30,0x35FFFFF1}, + [I(81,191)] = {30,0x367FFFF1}, + [I(82,191)] = {30,0x36FFFFF1}, + [I(83,191)] = {30,0x377FFFF1}, + [I(84,191)] = {30,0x37FFFFF1}, + [I(85,191)] = {30,0x387FFFF1}, + [I(86,191)] = {30,0x38FFFFF1}, + [I(87,191)] = {30,0x397FFFF1}, + [I(88,191)] = {31,0x7E7FFFF1}, + [I(89,191)] = {30,0x39FFFFF1}, + [I(90,191)] = {31,0x7EFFFFF1}, + [I(91,191)] = {64,0}, + [I(92,191)] = {64,0}, + [I(93,191)] = {64,0}, + [I(94,191)] = {64,0}, + [I(95,191)] = {29,0x117FFFF1}, + [I(96,191)] = {64,0}, + [I(97,191)] = {28,0x1FFFFF1}, + [I(98,191)] = {29,0x11FFFFF1}, + [I(99,191)] = {28,0x27FFFF1}, + [I(100,191)] = {29,0x127FFFF1}, + [I(101,191)] = {28,0x2FFFFF1}, + [I(102,191)] = {29,0x12FFFFF1}, + [I(103,191)] = {29,0x137FFFF1}, + [I(104,191)] = {29,0x13FFFFF1}, + [I(105,191)] = {28,0x37FFFF1}, + [I(106,191)] = {30,0x3A7FFFF1}, + [I(107,191)] = {30,0x3AFFFFF1}, + [I(108,191)] = {29,0x147FFFF1}, + [I(109,191)] = {29,0x14FFFFF1}, + [I(110,191)] = {29,0x157FFFF1}, + [I(111,191)] = {28,0x3FFFFF1}, + [I(112,191)] = {29,0x15FFFFF1}, + [I(113,191)] = {30,0x3B7FFFF1}, + [I(114,191)] = {29,0x167FFFF1}, + [I(115,191)] = {28,0x47FFFF1}, + [I(116,191)] = {28,0x4FFFFF1}, + [I(117,191)] = {29,0x16FFFFF1}, + [I(118,191)] = {30,0x3BFFFFF1}, + [I(119,191)] = {30,0x3C7FFFF1}, + [I(120,191)] = {30,0x3CFFFFF1}, + [I(121,191)] = {30,0x3D7FFFF1}, + [I(122,191)] = {30,0x3DFFFFF1}, + [I(123,191)] = {64,0}, + [I(124,191)] = {64,0}, + [I(125,191)] = {64,0}, + [I(126,191)] = {64,0}, + [I(127,191)] = {64,0}, + [I(128,191)] = {64,0}, + [I(129,191)] = {64,0}, + [I(130,191)] = {64,0}, + [I(131,191)] = {64,0}, + [I(132,191)] = {64,0}, + [I(133,191)] = {64,0}, + [I(134,191)] = {64,0}, + [I(135,191)] = {64,0}, + [I(136,191)] = {64,0}, + [I(137,191)] = {64,0}, + [I(138,191)] = {64,0}, + [I(139,191)] = {64,0}, + [I(140,191)] = {64,0}, + [I(141,191)] = {64,0}, + [I(142,191)] = {64,0}, + [I(143,191)] = {64,0}, + [I(144,191)] = {64,0}, + [I(145,191)] = {64,0}, + [I(146,191)] = {64,0}, + [I(147,191)] = {64,0}, + [I(148,191)] = {64,0}, + [I(149,191)] = {64,0}, + [I(150,191)] = {64,0}, + [I(151,191)] = {64,0}, + [I(152,191)] = {64,0}, + [I(153,191)] = {64,0}, + [I(154,191)] = {64,0}, + [I(155,191)] = {64,0}, + [I(156,191)] = {64,0}, + [I(157,191)] = {64,0}, + [I(158,191)] = {64,0}, + [I(159,191)] = {64,0}, + [I(160,191)] = {64,0}, + [I(161,191)] = {64,0}, + [I(162,191)] = {64,0}, + [I(163,191)] = {64,0}, + [I(164,191)] = {64,0}, + [I(165,191)] = {64,0}, + [I(166,191)] = {64,0}, + [I(167,191)] = {64,0}, + [I(168,191)] = {64,0}, + [I(169,191)] = {64,0}, + [I(170,191)] = {64,0}, + [I(171,191)] = {64,0}, + [I(172,191)] = {64,0}, + [I(173,191)] = {64,0}, + [I(174,191)] = {64,0}, + [I(175,191)] = {64,0}, + [I(176,191)] = {64,0}, + [I(177,191)] = {64,0}, + [I(178,191)] = {64,0}, + [I(179,191)] = {64,0}, + [I(180,191)] = {64,0}, + [I(181,191)] = {64,0}, + [I(182,191)] = {64,0}, + [I(183,191)] = {64,0}, + [I(184,191)] = {64,0}, + [I(185,191)] = {64,0}, + [I(186,191)] = {64,0}, + [I(187,191)] = {64,0}, + [I(188,191)] = {64,0}, + [I(189,191)] = {64,0}, + [I(190,191)] = {64,0}, + [I(191,191)] = {64,0}, + [I(192,191)] = {64,0}, + [I(193,191)] = {64,0}, + [I(194,191)] = {64,0}, + [I(195,191)] = {64,0}, + [I(196,191)] = {64,0}, + [I(197,191)] = {64,0}, + [I(198,191)] = {64,0}, + [I(199,191)] = {64,0}, + [I(200,191)] = {64,0}, + [I(201,191)] = {64,0}, + [I(202,191)] = {64,0}, + [I(203,191)] = {64,0}, + [I(204,191)] = {64,0}, + [I(205,191)] = {64,0}, + [I(206,191)] = {64,0}, + [I(207,191)] = {64,0}, + [I(208,191)] = {64,0}, + [I(209,191)] = {64,0}, + [I(210,191)] = {64,0}, + [I(211,191)] = {64,0}, + [I(212,191)] = {64,0}, + [I(213,191)] = {64,0}, + [I(214,191)] = {64,0}, + [I(215,191)] = {64,0}, + [I(216,191)] = {64,0}, + [I(217,191)] = {64,0}, + [I(218,191)] = {64,0}, + [I(219,191)] = {64,0}, + [I(220,191)] = {64,0}, + [I(221,191)] = {64,0}, + [I(222,191)] = {64,0}, + [I(223,191)] = {64,0}, + [I(224,191)] = {64,0}, + [I(225,191)] = {64,0}, + [I(226,191)] = {64,0}, + [I(227,191)] = {64,0}, + [I(228,191)] = {64,0}, + [I(229,191)] = {64,0}, + [I(230,191)] = {64,0}, + [I(231,191)] = {64,0}, + [I(232,191)] = {64,0}, + [I(233,191)] = {64,0}, + [I(234,191)] = {64,0}, + [I(235,191)] = {64,0}, + [I(236,191)] = {64,0}, + [I(237,191)] = {64,0}, + [I(238,191)] = {64,0}, + [I(239,191)] = {64,0}, + [I(240,191)] = {64,0}, + [I(241,191)] = {64,0}, + [I(242,191)] = {64,0}, + [I(243,191)] = {64,0}, + [I(244,191)] = {64,0}, + [I(245,191)] = {64,0}, + [I(246,191)] = {64,0}, + [I(247,191)] = {64,0}, + [I(248,191)] = {64,0}, + [I(249,191)] = {64,0}, + [I(250,191)] = {64,0}, + [I(251,191)] = {64,0}, + [I(252,191)] = {64,0}, + [I(253,191)] = {64,0}, + [I(254,191)] = {64,0}, + [I(255,191)] = {64,0}, + [I(0,192)] = {64,0}, + [I(1,192)] = {64,0}, + [I(2,192)] = {64,0}, + [I(3,192)] = {64,0}, + [I(4,192)] = {64,0}, + [I(5,192)] = {64,0}, + [I(6,192)] = {64,0}, + [I(7,192)] = {64,0}, + [I(8,192)] = {64,0}, + [I(9,192)] = {64,0}, + [I(10,192)] = {64,0}, + [I(11,192)] = {64,0}, + [I(12,192)] = {64,0}, + [I(13,192)] = {64,0}, + [I(14,192)] = {64,0}, + [I(15,192)] = {64,0}, + [I(16,192)] = {64,0}, + [I(17,192)] = {64,0}, + [I(18,192)] = {64,0}, + [I(19,192)] = {64,0}, + [I(20,192)] = {64,0}, + [I(21,192)] = {64,0}, + [I(22,192)] = {64,0}, + [I(23,192)] = {64,0}, + [I(24,192)] = {64,0}, + [I(25,192)] = {64,0}, + [I(26,192)] = {64,0}, + [I(27,192)] = {64,0}, + [I(28,192)] = {64,0}, + [I(29,192)] = {64,0}, + [I(30,192)] = {64,0}, + [I(31,192)] = {64,0}, + [I(32,192)] = {X32,0x53FFFFE0}, + [I(33,192)] = {64,0}, + [I(34,192)] = {64,0}, + [I(35,192)] = {64,0}, + [I(36,192)] = {64,0}, + [I(37,192)] = {X32,0x57FFFFE0}, + [I(38,192)] = {64,0}, + [I(39,192)] = {64,0}, + [I(40,192)] = {64,0}, + [I(41,192)] = {64,0}, + [I(42,192)] = {64,0}, + [I(43,192)] = {64,0}, + [I(44,192)] = {64,0}, + [I(45,192)] = {X32,0x5BFFFFE0}, + [I(46,192)] = {X32,0x5FFFFFE0}, + [I(47,192)] = {X32,0x63FFFFE0}, + [I(48,192)] = {31,0x3FFFFE0}, + [I(49,192)] = {31,0x7FFFFE0}, + [I(50,192)] = {31,0xBFFFFE0}, + [I(51,192)] = {X32,0x67FFFFE0}, + [I(52,192)] = {X32,0x6BFFFFE0}, + [I(53,192)] = {X32,0x6FFFFFE0}, + [I(54,192)] = {X32,0x73FFFFE0}, + [I(55,192)] = {X32,0x77FFFFE0}, + [I(56,192)] = {X32,0x7BFFFFE0}, + [I(57,192)] = {X32,0x7FFFFFE0}, + [I(58,192)] = {64,0}, + [I(59,192)] = {64,0}, + [I(60,192)] = {64,0}, + [I(61,192)] = {X32,0x83FFFFE0}, + [I(62,192)] = {64,0}, + [I(63,192)] = {64,0}, + [I(64,192)] = {64,0}, + [I(65,192)] = {X32,0x87FFFFE0}, + [I(66,192)] = {64,0}, + [I(67,192)] = {64,0}, + [I(68,192)] = {64,0}, + [I(69,192)] = {64,0}, + [I(70,192)] = {64,0}, + [I(71,192)] = {64,0}, + [I(72,192)] = {64,0}, + [I(73,192)] = {64,0}, + [I(74,192)] = {64,0}, + [I(75,192)] = {64,0}, + [I(76,192)] = {64,0}, + [I(77,192)] = {64,0}, + [I(78,192)] = {64,0}, + [I(79,192)] = {64,0}, + [I(80,192)] = {64,0}, + [I(81,192)] = {64,0}, + [I(82,192)] = {64,0}, + [I(83,192)] = {64,0}, + [I(84,192)] = {64,0}, + [I(85,192)] = {64,0}, + [I(86,192)] = {64,0}, + [I(87,192)] = {64,0}, + [I(88,192)] = {64,0}, + [I(89,192)] = {64,0}, + [I(90,192)] = {64,0}, + [I(91,192)] = {64,0}, + [I(92,192)] = {64,0}, + [I(93,192)] = {64,0}, + [I(94,192)] = {64,0}, + [I(95,192)] = {X32,0x8BFFFFE0}, + [I(96,192)] = {64,0}, + [I(97,192)] = {31,0xFFFFFE0}, + [I(98,192)] = {X32,0x8FFFFFE0}, + [I(99,192)] = {31,0x13FFFFE0}, + [I(100,192)] = {X32,0x93FFFFE0}, + [I(101,192)] = {31,0x17FFFFE0}, + [I(102,192)] = {X32,0x97FFFFE0}, + [I(103,192)] = {X32,0x9BFFFFE0}, + [I(104,192)] = {X32,0x9FFFFFE0}, + [I(105,192)] = {31,0x1BFFFFE0}, + [I(106,192)] = {64,0}, + [I(107,192)] = {64,0}, + [I(108,192)] = {X32,0xA3FFFFE0}, + [I(109,192)] = {X32,0xA7FFFFE0}, + [I(110,192)] = {X32,0xABFFFFE0}, + [I(111,192)] = {31,0x1FFFFFE0}, + [I(112,192)] = {X32,0xAFFFFFE0}, + [I(113,192)] = {64,0}, + [I(114,192)] = {X32,0xB3FFFFE0}, + [I(115,192)] = {31,0x23FFFFE0}, + [I(116,192)] = {31,0x27FFFFE0}, + [I(117,192)] = {X32,0xB7FFFFE0}, + [I(118,192)] = {64,0}, + [I(119,192)] = {64,0}, + [I(120,192)] = {64,0}, + [I(121,192)] = {64,0}, + [I(122,192)] = {64,0}, + [I(123,192)] = {64,0}, + [I(124,192)] = {64,0}, + [I(125,192)] = {64,0}, + [I(126,192)] = {64,0}, + [I(127,192)] = {64,0}, + [I(128,192)] = {64,0}, + [I(129,192)] = {64,0}, + [I(130,192)] = {64,0}, + [I(131,192)] = {64,0}, + [I(132,192)] = {64,0}, + [I(133,192)] = {64,0}, + [I(134,192)] = {64,0}, + [I(135,192)] = {64,0}, + [I(136,192)] = {64,0}, + [I(137,192)] = {64,0}, + [I(138,192)] = {64,0}, + [I(139,192)] = {64,0}, + [I(140,192)] = {64,0}, + [I(141,192)] = {64,0}, + [I(142,192)] = {64,0}, + [I(143,192)] = {64,0}, + [I(144,192)] = {64,0}, + [I(145,192)] = {64,0}, + [I(146,192)] = {64,0}, + [I(147,192)] = {64,0}, + [I(148,192)] = {64,0}, + [I(149,192)] = {64,0}, + [I(150,192)] = {64,0}, + [I(151,192)] = {64,0}, + [I(152,192)] = {64,0}, + [I(153,192)] = {64,0}, + [I(154,192)] = {64,0}, + [I(155,192)] = {64,0}, + [I(156,192)] = {64,0}, + [I(157,192)] = {64,0}, + [I(158,192)] = {64,0}, + [I(159,192)] = {64,0}, + [I(160,192)] = {64,0}, + [I(161,192)] = {64,0}, + [I(162,192)] = {64,0}, + [I(163,192)] = {64,0}, + [I(164,192)] = {64,0}, + [I(165,192)] = {64,0}, + [I(166,192)] = {64,0}, + [I(167,192)] = {64,0}, + [I(168,192)] = {64,0}, + [I(169,192)] = {64,0}, + [I(170,192)] = {64,0}, + [I(171,192)] = {64,0}, + [I(172,192)] = {64,0}, + [I(173,192)] = {64,0}, + [I(174,192)] = {64,0}, + [I(175,192)] = {64,0}, + [I(176,192)] = {64,0}, + [I(177,192)] = {64,0}, + [I(178,192)] = {64,0}, + [I(179,192)] = {64,0}, + [I(180,192)] = {64,0}, + [I(181,192)] = {64,0}, + [I(182,192)] = {64,0}, + [I(183,192)] = {64,0}, + [I(184,192)] = {64,0}, + [I(185,192)] = {64,0}, + [I(186,192)] = {64,0}, + [I(187,192)] = {64,0}, + [I(188,192)] = {64,0}, + [I(189,192)] = {64,0}, + [I(190,192)] = {64,0}, + [I(191,192)] = {64,0}, + [I(192,192)] = {64,0}, + [I(193,192)] = {64,0}, + [I(194,192)] = {64,0}, + [I(195,192)] = {64,0}, + [I(196,192)] = {64,0}, + [I(197,192)] = {64,0}, + [I(198,192)] = {64,0}, + [I(199,192)] = {64,0}, + [I(200,192)] = {64,0}, + [I(201,192)] = {64,0}, + [I(202,192)] = {64,0}, + [I(203,192)] = {64,0}, + [I(204,192)] = {64,0}, + [I(205,192)] = {64,0}, + [I(206,192)] = {64,0}, + [I(207,192)] = {64,0}, + [I(208,192)] = {64,0}, + [I(209,192)] = {64,0}, + [I(210,192)] = {64,0}, + [I(211,192)] = {64,0}, + [I(212,192)] = {64,0}, + [I(213,192)] = {64,0}, + [I(214,192)] = {64,0}, + [I(215,192)] = {64,0}, + [I(216,192)] = {64,0}, + [I(217,192)] = {64,0}, + [I(218,192)] = {64,0}, + [I(219,192)] = {64,0}, + [I(220,192)] = {64,0}, + [I(221,192)] = {64,0}, + [I(222,192)] = {64,0}, + [I(223,192)] = {64,0}, + [I(224,192)] = {64,0}, + [I(225,192)] = {64,0}, + [I(226,192)] = {64,0}, + [I(227,192)] = {64,0}, + [I(228,192)] = {64,0}, + [I(229,192)] = {64,0}, + [I(230,192)] = {64,0}, + [I(231,192)] = {64,0}, + [I(232,192)] = {64,0}, + [I(233,192)] = {64,0}, + [I(234,192)] = {64,0}, + [I(235,192)] = {64,0}, + [I(236,192)] = {64,0}, + [I(237,192)] = {64,0}, + [I(238,192)] = {64,0}, + [I(239,192)] = {64,0}, + [I(240,192)] = {64,0}, + [I(241,192)] = {64,0}, + [I(242,192)] = {64,0}, + [I(243,192)] = {64,0}, + [I(244,192)] = {64,0}, + [I(245,192)] = {64,0}, + [I(246,192)] = {64,0}, + [I(247,192)] = {64,0}, + [I(248,192)] = {64,0}, + [I(249,192)] = {64,0}, + [I(250,192)] = {64,0}, + [I(251,192)] = {64,0}, + [I(252,192)] = {64,0}, + [I(253,192)] = {64,0}, + [I(254,192)] = {64,0}, + [I(255,192)] = {64,0}, + [I(0,193)] = {64,0}, + [I(1,193)] = {64,0}, + [I(2,193)] = {64,0}, + [I(3,193)] = {64,0}, + [I(4,193)] = {64,0}, + [I(5,193)] = {64,0}, + [I(6,193)] = {64,0}, + [I(7,193)] = {64,0}, + [I(8,193)] = {64,0}, + [I(9,193)] = {64,0}, + [I(10,193)] = {64,0}, + [I(11,193)] = {64,0}, + [I(12,193)] = {64,0}, + [I(13,193)] = {64,0}, + [I(14,193)] = {64,0}, + [I(15,193)] = {64,0}, + [I(16,193)] = {64,0}, + [I(17,193)] = {64,0}, + [I(18,193)] = {64,0}, + [I(19,193)] = {64,0}, + [I(20,193)] = {64,0}, + [I(21,193)] = {64,0}, + [I(22,193)] = {64,0}, + [I(23,193)] = {64,0}, + [I(24,193)] = {64,0}, + [I(25,193)] = {64,0}, + [I(26,193)] = {64,0}, + [I(27,193)] = {64,0}, + [I(28,193)] = {64,0}, + [I(29,193)] = {64,0}, + [I(30,193)] = {64,0}, + [I(31,193)] = {64,0}, + [I(32,193)] = {X32,0x53FFFFE1}, + [I(33,193)] = {64,0}, + [I(34,193)] = {64,0}, + [I(35,193)] = {64,0}, + [I(36,193)] = {64,0}, + [I(37,193)] = {X32,0x57FFFFE1}, + [I(38,193)] = {64,0}, + [I(39,193)] = {64,0}, + [I(40,193)] = {64,0}, + [I(41,193)] = {64,0}, + [I(42,193)] = {64,0}, + [I(43,193)] = {64,0}, + [I(44,193)] = {64,0}, + [I(45,193)] = {X32,0x5BFFFFE1}, + [I(46,193)] = {X32,0x5FFFFFE1}, + [I(47,193)] = {X32,0x63FFFFE1}, + [I(48,193)] = {31,0x3FFFFE1}, + [I(49,193)] = {31,0x7FFFFE1}, + [I(50,193)] = {31,0xBFFFFE1}, + [I(51,193)] = {X32,0x67FFFFE1}, + [I(52,193)] = {X32,0x6BFFFFE1}, + [I(53,193)] = {X32,0x6FFFFFE1}, + [I(54,193)] = {X32,0x73FFFFE1}, + [I(55,193)] = {X32,0x77FFFFE1}, + [I(56,193)] = {X32,0x7BFFFFE1}, + [I(57,193)] = {X32,0x7FFFFFE1}, + [I(58,193)] = {64,0}, + [I(59,193)] = {64,0}, + [I(60,193)] = {64,0}, + [I(61,193)] = {X32,0x83FFFFE1}, + [I(62,193)] = {64,0}, + [I(63,193)] = {64,0}, + [I(64,193)] = {64,0}, + [I(65,193)] = {X32,0x87FFFFE1}, + [I(66,193)] = {64,0}, + [I(67,193)] = {64,0}, + [I(68,193)] = {64,0}, + [I(69,193)] = {64,0}, + [I(70,193)] = {64,0}, + [I(71,193)] = {64,0}, + [I(72,193)] = {64,0}, + [I(73,193)] = {64,0}, + [I(74,193)] = {64,0}, + [I(75,193)] = {64,0}, + [I(76,193)] = {64,0}, + [I(77,193)] = {64,0}, + [I(78,193)] = {64,0}, + [I(79,193)] = {64,0}, + [I(80,193)] = {64,0}, + [I(81,193)] = {64,0}, + [I(82,193)] = {64,0}, + [I(83,193)] = {64,0}, + [I(84,193)] = {64,0}, + [I(85,193)] = {64,0}, + [I(86,193)] = {64,0}, + [I(87,193)] = {64,0}, + [I(88,193)] = {64,0}, + [I(89,193)] = {64,0}, + [I(90,193)] = {64,0}, + [I(91,193)] = {64,0}, + [I(92,193)] = {64,0}, + [I(93,193)] = {64,0}, + [I(94,193)] = {64,0}, + [I(95,193)] = {X32,0x8BFFFFE1}, + [I(96,193)] = {64,0}, + [I(97,193)] = {31,0xFFFFFE1}, + [I(98,193)] = {X32,0x8FFFFFE1}, + [I(99,193)] = {31,0x13FFFFE1}, + [I(100,193)] = {X32,0x93FFFFE1}, + [I(101,193)] = {31,0x17FFFFE1}, + [I(102,193)] = {X32,0x97FFFFE1}, + [I(103,193)] = {X32,0x9BFFFFE1}, + [I(104,193)] = {X32,0x9FFFFFE1}, + [I(105,193)] = {31,0x1BFFFFE1}, + [I(106,193)] = {64,0}, + [I(107,193)] = {64,0}, + [I(108,193)] = {X32,0xA3FFFFE1}, + [I(109,193)] = {X32,0xA7FFFFE1}, + [I(110,193)] = {X32,0xABFFFFE1}, + [I(111,193)] = {31,0x1FFFFFE1}, + [I(112,193)] = {X32,0xAFFFFFE1}, + [I(113,193)] = {64,0}, + [I(114,193)] = {X32,0xB3FFFFE1}, + [I(115,193)] = {31,0x23FFFFE1}, + [I(116,193)] = {31,0x27FFFFE1}, + [I(117,193)] = {X32,0xB7FFFFE1}, + [I(118,193)] = {64,0}, + [I(119,193)] = {64,0}, + [I(120,193)] = {64,0}, + [I(121,193)] = {64,0}, + [I(122,193)] = {64,0}, + [I(123,193)] = {64,0}, + [I(124,193)] = {64,0}, + [I(125,193)] = {64,0}, + [I(126,193)] = {64,0}, + [I(127,193)] = {64,0}, + [I(128,193)] = {64,0}, + [I(129,193)] = {64,0}, + [I(130,193)] = {64,0}, + [I(131,193)] = {64,0}, + [I(132,193)] = {64,0}, + [I(133,193)] = {64,0}, + [I(134,193)] = {64,0}, + [I(135,193)] = {64,0}, + [I(136,193)] = {64,0}, + [I(137,193)] = {64,0}, + [I(138,193)] = {64,0}, + [I(139,193)] = {64,0}, + [I(140,193)] = {64,0}, + [I(141,193)] = {64,0}, + [I(142,193)] = {64,0}, + [I(143,193)] = {64,0}, + [I(144,193)] = {64,0}, + [I(145,193)] = {64,0}, + [I(146,193)] = {64,0}, + [I(147,193)] = {64,0}, + [I(148,193)] = {64,0}, + [I(149,193)] = {64,0}, + [I(150,193)] = {64,0}, + [I(151,193)] = {64,0}, + [I(152,193)] = {64,0}, + [I(153,193)] = {64,0}, + [I(154,193)] = {64,0}, + [I(155,193)] = {64,0}, + [I(156,193)] = {64,0}, + [I(157,193)] = {64,0}, + [I(158,193)] = {64,0}, + [I(159,193)] = {64,0}, + [I(160,193)] = {64,0}, + [I(161,193)] = {64,0}, + [I(162,193)] = {64,0}, + [I(163,193)] = {64,0}, + [I(164,193)] = {64,0}, + [I(165,193)] = {64,0}, + [I(166,193)] = {64,0}, + [I(167,193)] = {64,0}, + [I(168,193)] = {64,0}, + [I(169,193)] = {64,0}, + [I(170,193)] = {64,0}, + [I(171,193)] = {64,0}, + [I(172,193)] = {64,0}, + [I(173,193)] = {64,0}, + [I(174,193)] = {64,0}, + [I(175,193)] = {64,0}, + [I(176,193)] = {64,0}, + [I(177,193)] = {64,0}, + [I(178,193)] = {64,0}, + [I(179,193)] = {64,0}, + [I(180,193)] = {64,0}, + [I(181,193)] = {64,0}, + [I(182,193)] = {64,0}, + [I(183,193)] = {64,0}, + [I(184,193)] = {64,0}, + [I(185,193)] = {64,0}, + [I(186,193)] = {64,0}, + [I(187,193)] = {64,0}, + [I(188,193)] = {64,0}, + [I(189,193)] = {64,0}, + [I(190,193)] = {64,0}, + [I(191,193)] = {64,0}, + [I(192,193)] = {64,0}, + [I(193,193)] = {64,0}, + [I(194,193)] = {64,0}, + [I(195,193)] = {64,0}, + [I(196,193)] = {64,0}, + [I(197,193)] = {64,0}, + [I(198,193)] = {64,0}, + [I(199,193)] = {64,0}, + [I(200,193)] = {64,0}, + [I(201,193)] = {64,0}, + [I(202,193)] = {64,0}, + [I(203,193)] = {64,0}, + [I(204,193)] = {64,0}, + [I(205,193)] = {64,0}, + [I(206,193)] = {64,0}, + [I(207,193)] = {64,0}, + [I(208,193)] = {64,0}, + [I(209,193)] = {64,0}, + [I(210,193)] = {64,0}, + [I(211,193)] = {64,0}, + [I(212,193)] = {64,0}, + [I(213,193)] = {64,0}, + [I(214,193)] = {64,0}, + [I(215,193)] = {64,0}, + [I(216,193)] = {64,0}, + [I(217,193)] = {64,0}, + [I(218,193)] = {64,0}, + [I(219,193)] = {64,0}, + [I(220,193)] = {64,0}, + [I(221,193)] = {64,0}, + [I(222,193)] = {64,0}, + [I(223,193)] = {64,0}, + [I(224,193)] = {64,0}, + [I(225,193)] = {64,0}, + [I(226,193)] = {64,0}, + [I(227,193)] = {64,0}, + [I(228,193)] = {64,0}, + [I(229,193)] = {64,0}, + [I(230,193)] = {64,0}, + [I(231,193)] = {64,0}, + [I(232,193)] = {64,0}, + [I(233,193)] = {64,0}, + [I(234,193)] = {64,0}, + [I(235,193)] = {64,0}, + [I(236,193)] = {64,0}, + [I(237,193)] = {64,0}, + [I(238,193)] = {64,0}, + [I(239,193)] = {64,0}, + [I(240,193)] = {64,0}, + [I(241,193)] = {64,0}, + [I(242,193)] = {64,0}, + [I(243,193)] = {64,0}, + [I(244,193)] = {64,0}, + [I(245,193)] = {64,0}, + [I(246,193)] = {64,0}, + [I(247,193)] = {64,0}, + [I(248,193)] = {64,0}, + [I(249,193)] = {64,0}, + [I(250,193)] = {64,0}, + [I(251,193)] = {64,0}, + [I(252,193)] = {64,0}, + [I(253,193)] = {64,0}, + [I(254,193)] = {64,0}, + [I(255,193)] = {64,0}, + [I(0,194)] = {64,0}, + [I(1,194)] = {64,0}, + [I(2,194)] = {64,0}, + [I(3,194)] = {64,0}, + [I(4,194)] = {64,0}, + [I(5,194)] = {64,0}, + [I(6,194)] = {64,0}, + [I(7,194)] = {64,0}, + [I(8,194)] = {64,0}, + [I(9,194)] = {64,0}, + [I(10,194)] = {64,0}, + [I(11,194)] = {64,0}, + [I(12,194)] = {64,0}, + [I(13,194)] = {64,0}, + [I(14,194)] = {64,0}, + [I(15,194)] = {64,0}, + [I(16,194)] = {64,0}, + [I(17,194)] = {64,0}, + [I(18,194)] = {64,0}, + [I(19,194)] = {64,0}, + [I(20,194)] = {64,0}, + [I(21,194)] = {64,0}, + [I(22,194)] = {64,0}, + [I(23,194)] = {64,0}, + [I(24,194)] = {64,0}, + [I(25,194)] = {64,0}, + [I(26,194)] = {64,0}, + [I(27,194)] = {64,0}, + [I(28,194)] = {64,0}, + [I(29,194)] = {64,0}, + [I(30,194)] = {64,0}, + [I(31,194)] = {64,0}, + [I(32,194)] = {26,0x14FFFEB}, + [I(33,194)] = {30,0x3F8FFFEB}, + [I(34,194)] = {30,0x3F9FFFEB}, + [I(35,194)] = {X32,0xFFAFFFEB}, + [I(36,194)] = {64,0}, + [I(37,194)] = {26,0x15FFFEB}, + [I(38,194)] = {28,0xF8FFFEB}, + [I(39,194)] = {31,0x7FAFFFEB}, + [I(40,194)] = {30,0x3FAFFFEB}, + [I(41,194)] = {30,0x3FBFFFEB}, + [I(42,194)] = {28,0xF9FFFEB}, + [I(43,194)] = {31,0x7FBFFFEB}, + [I(44,194)] = {28,0xFAFFFEB}, + [I(45,194)] = {26,0x16FFFEB}, + [I(46,194)] = {26,0x17FFFEB}, + [I(47,194)] = {26,0x18FFFEB}, + [I(48,194)] = {25,0xFFFEB}, + [I(49,194)] = {25,0x1FFFEB}, + [I(50,194)] = {25,0x2FFFEB}, + [I(51,194)] = {26,0x19FFFEB}, + [I(52,194)] = {26,0x1AFFFEB}, + [I(53,194)] = {26,0x1BFFFEB}, + [I(54,194)] = {26,0x1CFFFEB}, + [I(55,194)] = {26,0x1DFFFEB}, + [I(56,194)] = {26,0x1EFFFEB}, + [I(57,194)] = {26,0x1FFFFEB}, + [I(58,194)] = {27,0x5CFFFEB}, + [I(59,194)] = {28,0xFBFFFEB}, + [I(60,194)] = {64,0}, + [I(61,194)] = {26,0x20FFFEB}, + [I(62,194)] = {X32,0xFFBFFFEB}, + [I(63,194)] = {30,0x3FCFFFEB}, + [I(64,194)] = {64,0}, + [I(65,194)] = {26,0x21FFFEB}, + [I(66,194)] = {27,0x5DFFFEB}, + [I(67,194)] = {27,0x5EFFFEB}, + [I(68,194)] = {27,0x5FFFFEB}, + [I(69,194)] = {27,0x60FFFEB}, + [I(70,194)] = {27,0x61FFFEB}, + [I(71,194)] = {27,0x62FFFEB}, + [I(72,194)] = {27,0x63FFFEB}, + [I(73,194)] = {27,0x64FFFEB}, + [I(74,194)] = {27,0x65FFFEB}, + [I(75,194)] = {27,0x66FFFEB}, + [I(76,194)] = {27,0x67FFFEB}, + [I(77,194)] = {27,0x68FFFEB}, + [I(78,194)] = {27,0x69FFFEB}, + [I(79,194)] = {27,0x6AFFFEB}, + [I(80,194)] = {27,0x6BFFFEB}, + [I(81,194)] = {27,0x6CFFFEB}, + [I(82,194)] = {27,0x6DFFFEB}, + [I(83,194)] = {27,0x6EFFFEB}, + [I(84,194)] = {27,0x6FFFFEB}, + [I(85,194)] = {27,0x70FFFEB}, + [I(86,194)] = {27,0x71FFFEB}, + [I(87,194)] = {27,0x72FFFEB}, + [I(88,194)] = {28,0xFCFFFEB}, + [I(89,194)] = {27,0x73FFFEB}, + [I(90,194)] = {28,0xFDFFFEB}, + [I(91,194)] = {64,0}, + [I(92,194)] = {64,0}, + [I(93,194)] = {64,0}, + [I(94,194)] = {64,0}, + [I(95,194)] = {26,0x22FFFEB}, + [I(96,194)] = {64,0}, + [I(97,194)] = {25,0x3FFFEB}, + [I(98,194)] = {26,0x23FFFEB}, + [I(99,194)] = {25,0x4FFFEB}, + [I(100,194)] = {26,0x24FFFEB}, + [I(101,194)] = {25,0x5FFFEB}, + [I(102,194)] = {26,0x25FFFEB}, + [I(103,194)] = {26,0x26FFFEB}, + [I(104,194)] = {26,0x27FFFEB}, + [I(105,194)] = {25,0x6FFFEB}, + [I(106,194)] = {27,0x74FFFEB}, + [I(107,194)] = {27,0x75FFFEB}, + [I(108,194)] = {26,0x28FFFEB}, + [I(109,194)] = {26,0x29FFFEB}, + [I(110,194)] = {26,0x2AFFFEB}, + [I(111,194)] = {25,0x7FFFEB}, + [I(112,194)] = {26,0x2BFFFEB}, + [I(113,194)] = {27,0x76FFFEB}, + [I(114,194)] = {26,0x2CFFFEB}, + [I(115,194)] = {25,0x8FFFEB}, + [I(116,194)] = {25,0x9FFFEB}, + [I(117,194)] = {26,0x2DFFFEB}, + [I(118,194)] = {27,0x77FFFEB}, + [I(119,194)] = {27,0x78FFFEB}, + [I(120,194)] = {27,0x79FFFEB}, + [I(121,194)] = {27,0x7AFFFEB}, + [I(122,194)] = {27,0x7BFFFEB}, + [I(123,194)] = {64,0}, + [I(124,194)] = {31,0x7FCFFFEB}, + [I(125,194)] = {64,0}, + [I(126,194)] = {64,0}, + [I(127,194)] = {64,0}, + [I(128,194)] = {64,0}, + [I(129,194)] = {64,0}, + [I(130,194)] = {64,0}, + [I(131,194)] = {64,0}, + [I(132,194)] = {64,0}, + [I(133,194)] = {64,0}, + [I(134,194)] = {64,0}, + [I(135,194)] = {64,0}, + [I(136,194)] = {64,0}, + [I(137,194)] = {64,0}, + [I(138,194)] = {64,0}, + [I(139,194)] = {64,0}, + [I(140,194)] = {64,0}, + [I(141,194)] = {64,0}, + [I(142,194)] = {64,0}, + [I(143,194)] = {64,0}, + [I(144,194)] = {64,0}, + [I(145,194)] = {64,0}, + [I(146,194)] = {64,0}, + [I(147,194)] = {64,0}, + [I(148,194)] = {64,0}, + [I(149,194)] = {64,0}, + [I(150,194)] = {64,0}, + [I(151,194)] = {64,0}, + [I(152,194)] = {64,0}, + [I(153,194)] = {64,0}, + [I(154,194)] = {64,0}, + [I(155,194)] = {64,0}, + [I(156,194)] = {64,0}, + [I(157,194)] = {64,0}, + [I(158,194)] = {64,0}, + [I(159,194)] = {64,0}, + [I(160,194)] = {64,0}, + [I(161,194)] = {64,0}, + [I(162,194)] = {64,0}, + [I(163,194)] = {64,0}, + [I(164,194)] = {64,0}, + [I(165,194)] = {64,0}, + [I(166,194)] = {64,0}, + [I(167,194)] = {64,0}, + [I(168,194)] = {64,0}, + [I(169,194)] = {64,0}, + [I(170,194)] = {64,0}, + [I(171,194)] = {64,0}, + [I(172,194)] = {64,0}, + [I(173,194)] = {64,0}, + [I(174,194)] = {64,0}, + [I(175,194)] = {64,0}, + [I(176,194)] = {64,0}, + [I(177,194)] = {64,0}, + [I(178,194)] = {64,0}, + [I(179,194)] = {64,0}, + [I(180,194)] = {64,0}, + [I(181,194)] = {64,0}, + [I(182,194)] = {64,0}, + [I(183,194)] = {64,0}, + [I(184,194)] = {64,0}, + [I(185,194)] = {64,0}, + [I(186,194)] = {64,0}, + [I(187,194)] = {64,0}, + [I(188,194)] = {64,0}, + [I(189,194)] = {64,0}, + [I(190,194)] = {64,0}, + [I(191,194)] = {64,0}, + [I(192,194)] = {64,0}, + [I(193,194)] = {64,0}, + [I(194,194)] = {64,0}, + [I(195,194)] = {64,0}, + [I(196,194)] = {64,0}, + [I(197,194)] = {64,0}, + [I(198,194)] = {64,0}, + [I(199,194)] = {64,0}, + [I(200,194)] = {64,0}, + [I(201,194)] = {64,0}, + [I(202,194)] = {64,0}, + [I(203,194)] = {64,0}, + [I(204,194)] = {64,0}, + [I(205,194)] = {64,0}, + [I(206,194)] = {64,0}, + [I(207,194)] = {64,0}, + [I(208,194)] = {64,0}, + [I(209,194)] = {64,0}, + [I(210,194)] = {64,0}, + [I(211,194)] = {64,0}, + [I(212,194)] = {64,0}, + [I(213,194)] = {64,0}, + [I(214,194)] = {64,0}, + [I(215,194)] = {64,0}, + [I(216,194)] = {64,0}, + [I(217,194)] = {64,0}, + [I(218,194)] = {64,0}, + [I(219,194)] = {64,0}, + [I(220,194)] = {64,0}, + [I(221,194)] = {64,0}, + [I(222,194)] = {64,0}, + [I(223,194)] = {64,0}, + [I(224,194)] = {64,0}, + [I(225,194)] = {64,0}, + [I(226,194)] = {64,0}, + [I(227,194)] = {64,0}, + [I(228,194)] = {64,0}, + [I(229,194)] = {64,0}, + [I(230,194)] = {64,0}, + [I(231,194)] = {64,0}, + [I(232,194)] = {64,0}, + [I(233,194)] = {64,0}, + [I(234,194)] = {64,0}, + [I(235,194)] = {64,0}, + [I(236,194)] = {64,0}, + [I(237,194)] = {64,0}, + [I(238,194)] = {64,0}, + [I(239,194)] = {64,0}, + [I(240,194)] = {64,0}, + [I(241,194)] = {64,0}, + [I(242,194)] = {64,0}, + [I(243,194)] = {64,0}, + [I(244,194)] = {64,0}, + [I(245,194)] = {64,0}, + [I(246,194)] = {64,0}, + [I(247,194)] = {64,0}, + [I(248,194)] = {64,0}, + [I(249,194)] = {64,0}, + [I(250,194)] = {64,0}, + [I(251,194)] = {64,0}, + [I(252,194)] = {64,0}, + [I(253,194)] = {64,0}, + [I(254,194)] = {64,0}, + [I(255,194)] = {64,0}, + [I(0,195)] = {X32,0xFFC7FFF1}, + [I(1,195)] = {64,0}, + [I(2,195)] = {64,0}, + [I(3,195)] = {64,0}, + [I(4,195)] = {64,0}, + [I(5,195)] = {64,0}, + [I(6,195)] = {64,0}, + [I(7,195)] = {64,0}, + [I(8,195)] = {64,0}, + [I(9,195)] = {64,0}, + [I(10,195)] = {64,0}, + [I(11,195)] = {64,0}, + [I(12,195)] = {64,0}, + [I(13,195)] = {64,0}, + [I(14,195)] = {64,0}, + [I(15,195)] = {64,0}, + [I(16,195)] = {64,0}, + [I(17,195)] = {64,0}, + [I(18,195)] = {64,0}, + [I(19,195)] = {64,0}, + [I(20,195)] = {64,0}, + [I(21,195)] = {64,0}, + [I(22,195)] = {64,0}, + [I(23,195)] = {64,0}, + [I(24,195)] = {64,0}, + [I(25,195)] = {64,0}, + [I(26,195)] = {64,0}, + [I(27,195)] = {64,0}, + [I(28,195)] = {64,0}, + [I(29,195)] = {64,0}, + [I(30,195)] = {64,0}, + [I(31,195)] = {64,0}, + [I(32,195)] = {25,0xA7FFF1}, + [I(33,195)] = {29,0x1FC7FFF1}, + [I(34,195)] = {29,0x1FCFFFF1}, + [I(35,195)] = {31,0x7FD7FFF1}, + [I(36,195)] = {X32,0xFFCFFFF1}, + [I(37,195)] = {25,0xAFFFF1}, + [I(38,195)] = {27,0x7C7FFF1}, + [I(39,195)] = {30,0x3FD7FFF1}, + [I(40,195)] = {29,0x1FD7FFF1}, + [I(41,195)] = {29,0x1FDFFFF1}, + [I(42,195)] = {27,0x7CFFFF1}, + [I(43,195)] = {30,0x3FDFFFF1}, + [I(44,195)] = {27,0x7D7FFF1}, + [I(45,195)] = {25,0xB7FFF1}, + [I(46,195)] = {25,0xBFFFF1}, + [I(47,195)] = {25,0xC7FFF1}, + [I(48,195)] = {24,0x7FFF1}, + [I(49,195)] = {24,0xFFFF1}, + [I(50,195)] = {24,0x17FFF1}, + [I(51,195)] = {25,0xCFFFF1}, + [I(52,195)] = {25,0xD7FFF1}, + [I(53,195)] = {25,0xDFFFF1}, + [I(54,195)] = {25,0xE7FFF1}, + [I(55,195)] = {25,0xEFFFF1}, + [I(56,195)] = {25,0xF7FFF1}, + [I(57,195)] = {25,0xFFFFF1}, + [I(58,195)] = {26,0x2E7FFF1}, + [I(59,195)] = {27,0x7DFFFF1}, + [I(60,195)] = {64,0}, + [I(61,195)] = {25,0x107FFF1}, + [I(62,195)] = {31,0x7FDFFFF1}, + [I(63,195)] = {29,0x1FE7FFF1}, + [I(64,195)] = {X32,0xFFD7FFF1}, + [I(65,195)] = {25,0x10FFFF1}, + [I(66,195)] = {26,0x2EFFFF1}, + [I(67,195)] = {26,0x2F7FFF1}, + [I(68,195)] = {26,0x2FFFFF1}, + [I(69,195)] = {26,0x307FFF1}, + [I(70,195)] = {26,0x30FFFF1}, + [I(71,195)] = {26,0x317FFF1}, + [I(72,195)] = {26,0x31FFFF1}, + [I(73,195)] = {26,0x327FFF1}, + [I(74,195)] = {26,0x32FFFF1}, + [I(75,195)] = {26,0x337FFF1}, + [I(76,195)] = {26,0x33FFFF1}, + [I(77,195)] = {26,0x347FFF1}, + [I(78,195)] = {26,0x34FFFF1}, + [I(79,195)] = {26,0x357FFF1}, + [I(80,195)] = {26,0x35FFFF1}, + [I(81,195)] = {26,0x367FFF1}, + [I(82,195)] = {26,0x36FFFF1}, + [I(83,195)] = {26,0x377FFF1}, + [I(84,195)] = {26,0x37FFFF1}, + [I(85,195)] = {26,0x387FFF1}, + [I(86,195)] = {26,0x38FFFF1}, + [I(87,195)] = {26,0x397FFF1}, + [I(88,195)] = {27,0x7E7FFF1}, + [I(89,195)] = {26,0x39FFFF1}, + [I(90,195)] = {27,0x7EFFFF1}, + [I(91,195)] = {X32,0xFFDFFFF1}, + [I(92,195)] = {64,0}, + [I(93,195)] = {X32,0xFFE7FFF1}, + [I(94,195)] = {64,0}, + [I(95,195)] = {25,0x117FFF1}, + [I(96,195)] = {64,0}, + [I(97,195)] = {24,0x1FFFF1}, + [I(98,195)] = {25,0x11FFFF1}, + [I(99,195)] = {24,0x27FFF1}, + [I(100,195)] = {25,0x127FFF1}, + [I(101,195)] = {24,0x2FFFF1}, + [I(102,195)] = {25,0x12FFFF1}, + [I(103,195)] = {25,0x137FFF1}, + [I(104,195)] = {25,0x13FFFF1}, + [I(105,195)] = {24,0x37FFF1}, + [I(106,195)] = {26,0x3A7FFF1}, + [I(107,195)] = {26,0x3AFFFF1}, + [I(108,195)] = {25,0x147FFF1}, + [I(109,195)] = {25,0x14FFFF1}, + [I(110,195)] = {25,0x157FFF1}, + [I(111,195)] = {24,0x3FFFF1}, + [I(112,195)] = {25,0x15FFFF1}, + [I(113,195)] = {26,0x3B7FFF1}, + [I(114,195)] = {25,0x167FFF1}, + [I(115,195)] = {24,0x47FFF1}, + [I(116,195)] = {24,0x4FFFF1}, + [I(117,195)] = {25,0x16FFFF1}, + [I(118,195)] = {26,0x3BFFFF1}, + [I(119,195)] = {26,0x3C7FFF1}, + [I(120,195)] = {26,0x3CFFFF1}, + [I(121,195)] = {26,0x3D7FFF1}, + [I(122,195)] = {26,0x3DFFFF1}, + [I(123,195)] = {64,0}, + [I(124,195)] = {30,0x3FE7FFF1}, + [I(125,195)] = {64,0}, + [I(126,195)] = {X32,0xFFEFFFF1}, + [I(127,195)] = {64,0}, + [I(128,195)] = {64,0}, + [I(129,195)] = {64,0}, + [I(130,195)] = {64,0}, + [I(131,195)] = {64,0}, + [I(132,195)] = {64,0}, + [I(133,195)] = {64,0}, + [I(134,195)] = {64,0}, + [I(135,195)] = {64,0}, + [I(136,195)] = {64,0}, + [I(137,195)] = {64,0}, + [I(138,195)] = {64,0}, + [I(139,195)] = {64,0}, + [I(140,195)] = {64,0}, + [I(141,195)] = {64,0}, + [I(142,195)] = {64,0}, + [I(143,195)] = {64,0}, + [I(144,195)] = {64,0}, + [I(145,195)] = {64,0}, + [I(146,195)] = {64,0}, + [I(147,195)] = {64,0}, + [I(148,195)] = {64,0}, + [I(149,195)] = {64,0}, + [I(150,195)] = {64,0}, + [I(151,195)] = {64,0}, + [I(152,195)] = {64,0}, + [I(153,195)] = {64,0}, + [I(154,195)] = {64,0}, + [I(155,195)] = {64,0}, + [I(156,195)] = {64,0}, + [I(157,195)] = {64,0}, + [I(158,195)] = {64,0}, + [I(159,195)] = {64,0}, + [I(160,195)] = {64,0}, + [I(161,195)] = {64,0}, + [I(162,195)] = {64,0}, + [I(163,195)] = {64,0}, + [I(164,195)] = {64,0}, + [I(165,195)] = {64,0}, + [I(166,195)] = {64,0}, + [I(167,195)] = {64,0}, + [I(168,195)] = {64,0}, + [I(169,195)] = {64,0}, + [I(170,195)] = {64,0}, + [I(171,195)] = {64,0}, + [I(172,195)] = {64,0}, + [I(173,195)] = {64,0}, + [I(174,195)] = {64,0}, + [I(175,195)] = {64,0}, + [I(176,195)] = {64,0}, + [I(177,195)] = {64,0}, + [I(178,195)] = {64,0}, + [I(179,195)] = {64,0}, + [I(180,195)] = {64,0}, + [I(181,195)] = {64,0}, + [I(182,195)] = {64,0}, + [I(183,195)] = {64,0}, + [I(184,195)] = {64,0}, + [I(185,195)] = {64,0}, + [I(186,195)] = {64,0}, + [I(187,195)] = {64,0}, + [I(188,195)] = {64,0}, + [I(189,195)] = {64,0}, + [I(190,195)] = {64,0}, + [I(191,195)] = {64,0}, + [I(192,195)] = {64,0}, + [I(193,195)] = {64,0}, + [I(194,195)] = {64,0}, + [I(195,195)] = {64,0}, + [I(196,195)] = {64,0}, + [I(197,195)] = {64,0}, + [I(198,195)] = {64,0}, + [I(199,195)] = {64,0}, + [I(200,195)] = {64,0}, + [I(201,195)] = {64,0}, + [I(202,195)] = {64,0}, + [I(203,195)] = {64,0}, + [I(204,195)] = {64,0}, + [I(205,195)] = {64,0}, + [I(206,195)] = {64,0}, + [I(207,195)] = {64,0}, + [I(208,195)] = {64,0}, + [I(209,195)] = {64,0}, + [I(210,195)] = {64,0}, + [I(211,195)] = {64,0}, + [I(212,195)] = {64,0}, + [I(213,195)] = {64,0}, + [I(214,195)] = {64,0}, + [I(215,195)] = {64,0}, + [I(216,195)] = {64,0}, + [I(217,195)] = {64,0}, + [I(218,195)] = {64,0}, + [I(219,195)] = {64,0}, + [I(220,195)] = {64,0}, + [I(221,195)] = {64,0}, + [I(222,195)] = {64,0}, + [I(223,195)] = {64,0}, + [I(224,195)] = {64,0}, + [I(225,195)] = {64,0}, + [I(226,195)] = {64,0}, + [I(227,195)] = {64,0}, + [I(228,195)] = {64,0}, + [I(229,195)] = {64,0}, + [I(230,195)] = {64,0}, + [I(231,195)] = {64,0}, + [I(232,195)] = {64,0}, + [I(233,195)] = {64,0}, + [I(234,195)] = {64,0}, + [I(235,195)] = {64,0}, + [I(236,195)] = {64,0}, + [I(237,195)] = {64,0}, + [I(238,195)] = {64,0}, + [I(239,195)] = {64,0}, + [I(240,195)] = {64,0}, + [I(241,195)] = {64,0}, + [I(242,195)] = {64,0}, + [I(243,195)] = {64,0}, + [I(244,195)] = {64,0}, + [I(245,195)] = {64,0}, + [I(246,195)] = {64,0}, + [I(247,195)] = {64,0}, + [I(248,195)] = {64,0}, + [I(249,195)] = {64,0}, + [I(250,195)] = {64,0}, + [I(251,195)] = {64,0}, + [I(252,195)] = {64,0}, + [I(253,195)] = {64,0}, + [I(254,195)] = {64,0}, + [I(255,195)] = {64,0}, + [I(0,196)] = {64,0}, + [I(1,196)] = {64,0}, + [I(2,196)] = {64,0}, + [I(3,196)] = {64,0}, + [I(4,196)] = {64,0}, + [I(5,196)] = {64,0}, + [I(6,196)] = {64,0}, + [I(7,196)] = {64,0}, + [I(8,196)] = {64,0}, + [I(9,196)] = {64,0}, + [I(10,196)] = {64,0}, + [I(11,196)] = {64,0}, + [I(12,196)] = {64,0}, + [I(13,196)] = {64,0}, + [I(14,196)] = {64,0}, + [I(15,196)] = {64,0}, + [I(16,196)] = {64,0}, + [I(17,196)] = {64,0}, + [I(18,196)] = {64,0}, + [I(19,196)] = {64,0}, + [I(20,196)] = {64,0}, + [I(21,196)] = {64,0}, + [I(22,196)] = {64,0}, + [I(23,196)] = {64,0}, + [I(24,196)] = {64,0}, + [I(25,196)] = {64,0}, + [I(26,196)] = {64,0}, + [I(27,196)] = {64,0}, + [I(28,196)] = {64,0}, + [I(29,196)] = {64,0}, + [I(30,196)] = {64,0}, + [I(31,196)] = {64,0}, + [I(32,196)] = {28,0x53FFFE7}, + [I(33,196)] = {X32,0xFE3FFFE7}, + [I(34,196)] = {X32,0xFE7FFFE7}, + [I(35,196)] = {64,0}, + [I(36,196)] = {64,0}, + [I(37,196)] = {28,0x57FFFE7}, + [I(38,196)] = {30,0x3E3FFFE7}, + [I(39,196)] = {64,0}, + [I(40,196)] = {X32,0xFEBFFFE7}, + [I(41,196)] = {X32,0xFEFFFFE7}, + [I(42,196)] = {30,0x3E7FFFE7}, + [I(43,196)] = {64,0}, + [I(44,196)] = {30,0x3EBFFFE7}, + [I(45,196)] = {28,0x5BFFFE7}, + [I(46,196)] = {28,0x5FFFFE7}, + [I(47,196)] = {28,0x63FFFE7}, + [I(48,196)] = {27,0x3FFFE7}, + [I(49,196)] = {27,0x7FFFE7}, + [I(50,196)] = {27,0xBFFFE7}, + [I(51,196)] = {28,0x67FFFE7}, + [I(52,196)] = {28,0x6BFFFE7}, + [I(53,196)] = {28,0x6FFFFE7}, + [I(54,196)] = {28,0x73FFFE7}, + [I(55,196)] = {28,0x77FFFE7}, + [I(56,196)] = {28,0x7BFFFE7}, + [I(57,196)] = {28,0x7FFFFE7}, + [I(58,196)] = {29,0x173FFFE7}, + [I(59,196)] = {30,0x3EFFFFE7}, + [I(60,196)] = {64,0}, + [I(61,196)] = {28,0x83FFFE7}, + [I(62,196)] = {64,0}, + [I(63,196)] = {X32,0xFF3FFFE7}, + [I(64,196)] = {64,0}, + [I(65,196)] = {28,0x87FFFE7}, + [I(66,196)] = {29,0x177FFFE7}, + [I(67,196)] = {29,0x17BFFFE7}, + [I(68,196)] = {29,0x17FFFFE7}, + [I(69,196)] = {29,0x183FFFE7}, + [I(70,196)] = {29,0x187FFFE7}, + [I(71,196)] = {29,0x18BFFFE7}, + [I(72,196)] = {29,0x18FFFFE7}, + [I(73,196)] = {29,0x193FFFE7}, + [I(74,196)] = {29,0x197FFFE7}, + [I(75,196)] = {29,0x19BFFFE7}, + [I(76,196)] = {29,0x19FFFFE7}, + [I(77,196)] = {29,0x1A3FFFE7}, + [I(78,196)] = {29,0x1A7FFFE7}, + [I(79,196)] = {29,0x1ABFFFE7}, + [I(80,196)] = {29,0x1AFFFFE7}, + [I(81,196)] = {29,0x1B3FFFE7}, + [I(82,196)] = {29,0x1B7FFFE7}, + [I(83,196)] = {29,0x1BBFFFE7}, + [I(84,196)] = {29,0x1BFFFFE7}, + [I(85,196)] = {29,0x1C3FFFE7}, + [I(86,196)] = {29,0x1C7FFFE7}, + [I(87,196)] = {29,0x1CBFFFE7}, + [I(88,196)] = {30,0x3F3FFFE7}, + [I(89,196)] = {29,0x1CFFFFE7}, + [I(90,196)] = {30,0x3F7FFFE7}, + [I(91,196)] = {64,0}, + [I(92,196)] = {64,0}, + [I(93,196)] = {64,0}, + [I(94,196)] = {64,0}, + [I(95,196)] = {28,0x8BFFFE7}, + [I(96,196)] = {64,0}, + [I(97,196)] = {27,0xFFFFE7}, + [I(98,196)] = {28,0x8FFFFE7}, + [I(99,196)] = {27,0x13FFFE7}, + [I(100,196)] = {28,0x93FFFE7}, + [I(101,196)] = {27,0x17FFFE7}, + [I(102,196)] = {28,0x97FFFE7}, + [I(103,196)] = {28,0x9BFFFE7}, + [I(104,196)] = {28,0x9FFFFE7}, + [I(105,196)] = {27,0x1BFFFE7}, + [I(106,196)] = {29,0x1D3FFFE7}, + [I(107,196)] = {29,0x1D7FFFE7}, + [I(108,196)] = {28,0xA3FFFE7}, + [I(109,196)] = {28,0xA7FFFE7}, + [I(110,196)] = {28,0xABFFFE7}, + [I(111,196)] = {27,0x1FFFFE7}, + [I(112,196)] = {28,0xAFFFFE7}, + [I(113,196)] = {29,0x1DBFFFE7}, + [I(114,196)] = {28,0xB3FFFE7}, + [I(115,196)] = {27,0x23FFFE7}, + [I(116,196)] = {27,0x27FFFE7}, + [I(117,196)] = {28,0xB7FFFE7}, + [I(118,196)] = {29,0x1DFFFFE7}, + [I(119,196)] = {29,0x1E3FFFE7}, + [I(120,196)] = {29,0x1E7FFFE7}, + [I(121,196)] = {29,0x1EBFFFE7}, + [I(122,196)] = {29,0x1EFFFFE7}, + [I(123,196)] = {64,0}, + [I(124,196)] = {64,0}, + [I(125,196)] = {64,0}, + [I(126,196)] = {64,0}, + [I(127,196)] = {64,0}, + [I(128,196)] = {64,0}, + [I(129,196)] = {64,0}, + [I(130,196)] = {64,0}, + [I(131,196)] = {64,0}, + [I(132,196)] = {64,0}, + [I(133,196)] = {64,0}, + [I(134,196)] = {64,0}, + [I(135,196)] = {64,0}, + [I(136,196)] = {64,0}, + [I(137,196)] = {64,0}, + [I(138,196)] = {64,0}, + [I(139,196)] = {64,0}, + [I(140,196)] = {64,0}, + [I(141,196)] = {64,0}, + [I(142,196)] = {64,0}, + [I(143,196)] = {64,0}, + [I(144,196)] = {64,0}, + [I(145,196)] = {64,0}, + [I(146,196)] = {64,0}, + [I(147,196)] = {64,0}, + [I(148,196)] = {64,0}, + [I(149,196)] = {64,0}, + [I(150,196)] = {64,0}, + [I(151,196)] = {64,0}, + [I(152,196)] = {64,0}, + [I(153,196)] = {64,0}, + [I(154,196)] = {64,0}, + [I(155,196)] = {64,0}, + [I(156,196)] = {64,0}, + [I(157,196)] = {64,0}, + [I(158,196)] = {64,0}, + [I(159,196)] = {64,0}, + [I(160,196)] = {64,0}, + [I(161,196)] = {64,0}, + [I(162,196)] = {64,0}, + [I(163,196)] = {64,0}, + [I(164,196)] = {64,0}, + [I(165,196)] = {64,0}, + [I(166,196)] = {64,0}, + [I(167,196)] = {64,0}, + [I(168,196)] = {64,0}, + [I(169,196)] = {64,0}, + [I(170,196)] = {64,0}, + [I(171,196)] = {64,0}, + [I(172,196)] = {64,0}, + [I(173,196)] = {64,0}, + [I(174,196)] = {64,0}, + [I(175,196)] = {64,0}, + [I(176,196)] = {64,0}, + [I(177,196)] = {64,0}, + [I(178,196)] = {64,0}, + [I(179,196)] = {64,0}, + [I(180,196)] = {64,0}, + [I(181,196)] = {64,0}, + [I(182,196)] = {64,0}, + [I(183,196)] = {64,0}, + [I(184,196)] = {64,0}, + [I(185,196)] = {64,0}, + [I(186,196)] = {64,0}, + [I(187,196)] = {64,0}, + [I(188,196)] = {64,0}, + [I(189,196)] = {64,0}, + [I(190,196)] = {64,0}, + [I(191,196)] = {64,0}, + [I(192,196)] = {64,0}, + [I(193,196)] = {64,0}, + [I(194,196)] = {64,0}, + [I(195,196)] = {64,0}, + [I(196,196)] = {64,0}, + [I(197,196)] = {64,0}, + [I(198,196)] = {64,0}, + [I(199,196)] = {64,0}, + [I(200,196)] = {64,0}, + [I(201,196)] = {64,0}, + [I(202,196)] = {64,0}, + [I(203,196)] = {64,0}, + [I(204,196)] = {64,0}, + [I(205,196)] = {64,0}, + [I(206,196)] = {64,0}, + [I(207,196)] = {64,0}, + [I(208,196)] = {64,0}, + [I(209,196)] = {64,0}, + [I(210,196)] = {64,0}, + [I(211,196)] = {64,0}, + [I(212,196)] = {64,0}, + [I(213,196)] = {64,0}, + [I(214,196)] = {64,0}, + [I(215,196)] = {64,0}, + [I(216,196)] = {64,0}, + [I(217,196)] = {64,0}, + [I(218,196)] = {64,0}, + [I(219,196)] = {64,0}, + [I(220,196)] = {64,0}, + [I(221,196)] = {64,0}, + [I(222,196)] = {64,0}, + [I(223,196)] = {64,0}, + [I(224,196)] = {64,0}, + [I(225,196)] = {64,0}, + [I(226,196)] = {64,0}, + [I(227,196)] = {64,0}, + [I(228,196)] = {64,0}, + [I(229,196)] = {64,0}, + [I(230,196)] = {64,0}, + [I(231,196)] = {64,0}, + [I(232,196)] = {64,0}, + [I(233,196)] = {64,0}, + [I(234,196)] = {64,0}, + [I(235,196)] = {64,0}, + [I(236,196)] = {64,0}, + [I(237,196)] = {64,0}, + [I(238,196)] = {64,0}, + [I(239,196)] = {64,0}, + [I(240,196)] = {64,0}, + [I(241,196)] = {64,0}, + [I(242,196)] = {64,0}, + [I(243,196)] = {64,0}, + [I(244,196)] = {64,0}, + [I(245,196)] = {64,0}, + [I(246,196)] = {64,0}, + [I(247,196)] = {64,0}, + [I(248,196)] = {64,0}, + [I(249,196)] = {64,0}, + [I(250,196)] = {64,0}, + [I(251,196)] = {64,0}, + [I(252,196)] = {64,0}, + [I(253,196)] = {64,0}, + [I(254,196)] = {64,0}, + [I(255,196)] = {64,0}, + [I(0,197)] = {64,0}, + [I(1,197)] = {64,0}, + [I(2,197)] = {64,0}, + [I(3,197)] = {64,0}, + [I(4,197)] = {64,0}, + [I(5,197)] = {64,0}, + [I(6,197)] = {64,0}, + [I(7,197)] = {64,0}, + [I(8,197)] = {64,0}, + [I(9,197)] = {64,0}, + [I(10,197)] = {64,0}, + [I(11,197)] = {64,0}, + [I(12,197)] = {64,0}, + [I(13,197)] = {64,0}, + [I(14,197)] = {64,0}, + [I(15,197)] = {64,0}, + [I(16,197)] = {64,0}, + [I(17,197)] = {64,0}, + [I(18,197)] = {64,0}, + [I(19,197)] = {64,0}, + [I(20,197)] = {64,0}, + [I(21,197)] = {64,0}, + [I(22,197)] = {64,0}, + [I(23,197)] = {64,0}, + [I(24,197)] = {64,0}, + [I(25,197)] = {64,0}, + [I(26,197)] = {64,0}, + [I(27,197)] = {64,0}, + [I(28,197)] = {64,0}, + [I(29,197)] = {64,0}, + [I(30,197)] = {64,0}, + [I(31,197)] = {64,0}, + [I(32,197)] = {29,0xA7FFFF2}, + [I(33,197)] = {64,0}, + [I(34,197)] = {64,0}, + [I(35,197)] = {64,0}, + [I(36,197)] = {64,0}, + [I(37,197)] = {29,0xAFFFFF2}, + [I(38,197)] = {31,0x7C7FFFF2}, + [I(39,197)] = {64,0}, + [I(40,197)] = {64,0}, + [I(41,197)] = {64,0}, + [I(42,197)] = {31,0x7CFFFFF2}, + [I(43,197)] = {64,0}, + [I(44,197)] = {31,0x7D7FFFF2}, + [I(45,197)] = {29,0xB7FFFF2}, + [I(46,197)] = {29,0xBFFFFF2}, + [I(47,197)] = {29,0xC7FFFF2}, + [I(48,197)] = {28,0x7FFFF2}, + [I(49,197)] = {28,0xFFFFF2}, + [I(50,197)] = {28,0x17FFFF2}, + [I(51,197)] = {29,0xCFFFFF2}, + [I(52,197)] = {29,0xD7FFFF2}, + [I(53,197)] = {29,0xDFFFFF2}, + [I(54,197)] = {29,0xE7FFFF2}, + [I(55,197)] = {29,0xEFFFFF2}, + [I(56,197)] = {29,0xF7FFFF2}, + [I(57,197)] = {29,0xFFFFFF2}, + [I(58,197)] = {30,0x2E7FFFF2}, + [I(59,197)] = {31,0x7DFFFFF2}, + [I(60,197)] = {64,0}, + [I(61,197)] = {29,0x107FFFF2}, + [I(62,197)] = {64,0}, + [I(63,197)] = {64,0}, + [I(64,197)] = {64,0}, + [I(65,197)] = {29,0x10FFFFF2}, + [I(66,197)] = {30,0x2EFFFFF2}, + [I(67,197)] = {30,0x2F7FFFF2}, + [I(68,197)] = {30,0x2FFFFFF2}, + [I(69,197)] = {30,0x307FFFF2}, + [I(70,197)] = {30,0x30FFFFF2}, + [I(71,197)] = {30,0x317FFFF2}, + [I(72,197)] = {30,0x31FFFFF2}, + [I(73,197)] = {30,0x327FFFF2}, + [I(74,197)] = {30,0x32FFFFF2}, + [I(75,197)] = {30,0x337FFFF2}, + [I(76,197)] = {30,0x33FFFFF2}, + [I(77,197)] = {30,0x347FFFF2}, + [I(78,197)] = {30,0x34FFFFF2}, + [I(79,197)] = {30,0x357FFFF2}, + [I(80,197)] = {30,0x35FFFFF2}, + [I(81,197)] = {30,0x367FFFF2}, + [I(82,197)] = {30,0x36FFFFF2}, + [I(83,197)] = {30,0x377FFFF2}, + [I(84,197)] = {30,0x37FFFFF2}, + [I(85,197)] = {30,0x387FFFF2}, + [I(86,197)] = {30,0x38FFFFF2}, + [I(87,197)] = {30,0x397FFFF2}, + [I(88,197)] = {31,0x7E7FFFF2}, + [I(89,197)] = {30,0x39FFFFF2}, + [I(90,197)] = {31,0x7EFFFFF2}, + [I(91,197)] = {64,0}, + [I(92,197)] = {64,0}, + [I(93,197)] = {64,0}, + [I(94,197)] = {64,0}, + [I(95,197)] = {29,0x117FFFF2}, + [I(96,197)] = {64,0}, + [I(97,197)] = {28,0x1FFFFF2}, + [I(98,197)] = {29,0x11FFFFF2}, + [I(99,197)] = {28,0x27FFFF2}, + [I(100,197)] = {29,0x127FFFF2}, + [I(101,197)] = {28,0x2FFFFF2}, + [I(102,197)] = {29,0x12FFFFF2}, + [I(103,197)] = {29,0x137FFFF2}, + [I(104,197)] = {29,0x13FFFFF2}, + [I(105,197)] = {28,0x37FFFF2}, + [I(106,197)] = {30,0x3A7FFFF2}, + [I(107,197)] = {30,0x3AFFFFF2}, + [I(108,197)] = {29,0x147FFFF2}, + [I(109,197)] = {29,0x14FFFFF2}, + [I(110,197)] = {29,0x157FFFF2}, + [I(111,197)] = {28,0x3FFFFF2}, + [I(112,197)] = {29,0x15FFFFF2}, + [I(113,197)] = {30,0x3B7FFFF2}, + [I(114,197)] = {29,0x167FFFF2}, + [I(115,197)] = {28,0x47FFFF2}, + [I(116,197)] = {28,0x4FFFFF2}, + [I(117,197)] = {29,0x16FFFFF2}, + [I(118,197)] = {30,0x3BFFFFF2}, + [I(119,197)] = {30,0x3C7FFFF2}, + [I(120,197)] = {30,0x3CFFFFF2}, + [I(121,197)] = {30,0x3D7FFFF2}, + [I(122,197)] = {30,0x3DFFFFF2}, + [I(123,197)] = {64,0}, + [I(124,197)] = {64,0}, + [I(125,197)] = {64,0}, + [I(126,197)] = {64,0}, + [I(127,197)] = {64,0}, + [I(128,197)] = {64,0}, + [I(129,197)] = {64,0}, + [I(130,197)] = {64,0}, + [I(131,197)] = {64,0}, + [I(132,197)] = {64,0}, + [I(133,197)] = {64,0}, + [I(134,197)] = {64,0}, + [I(135,197)] = {64,0}, + [I(136,197)] = {64,0}, + [I(137,197)] = {64,0}, + [I(138,197)] = {64,0}, + [I(139,197)] = {64,0}, + [I(140,197)] = {64,0}, + [I(141,197)] = {64,0}, + [I(142,197)] = {64,0}, + [I(143,197)] = {64,0}, + [I(144,197)] = {64,0}, + [I(145,197)] = {64,0}, + [I(146,197)] = {64,0}, + [I(147,197)] = {64,0}, + [I(148,197)] = {64,0}, + [I(149,197)] = {64,0}, + [I(150,197)] = {64,0}, + [I(151,197)] = {64,0}, + [I(152,197)] = {64,0}, + [I(153,197)] = {64,0}, + [I(154,197)] = {64,0}, + [I(155,197)] = {64,0}, + [I(156,197)] = {64,0}, + [I(157,197)] = {64,0}, + [I(158,197)] = {64,0}, + [I(159,197)] = {64,0}, + [I(160,197)] = {64,0}, + [I(161,197)] = {64,0}, + [I(162,197)] = {64,0}, + [I(163,197)] = {64,0}, + [I(164,197)] = {64,0}, + [I(165,197)] = {64,0}, + [I(166,197)] = {64,0}, + [I(167,197)] = {64,0}, + [I(168,197)] = {64,0}, + [I(169,197)] = {64,0}, + [I(170,197)] = {64,0}, + [I(171,197)] = {64,0}, + [I(172,197)] = {64,0}, + [I(173,197)] = {64,0}, + [I(174,197)] = {64,0}, + [I(175,197)] = {64,0}, + [I(176,197)] = {64,0}, + [I(177,197)] = {64,0}, + [I(178,197)] = {64,0}, + [I(179,197)] = {64,0}, + [I(180,197)] = {64,0}, + [I(181,197)] = {64,0}, + [I(182,197)] = {64,0}, + [I(183,197)] = {64,0}, + [I(184,197)] = {64,0}, + [I(185,197)] = {64,0}, + [I(186,197)] = {64,0}, + [I(187,197)] = {64,0}, + [I(188,197)] = {64,0}, + [I(189,197)] = {64,0}, + [I(190,197)] = {64,0}, + [I(191,197)] = {64,0}, + [I(192,197)] = {64,0}, + [I(193,197)] = {64,0}, + [I(194,197)] = {64,0}, + [I(195,197)] = {64,0}, + [I(196,197)] = {64,0}, + [I(197,197)] = {64,0}, + [I(198,197)] = {64,0}, + [I(199,197)] = {64,0}, + [I(200,197)] = {64,0}, + [I(201,197)] = {64,0}, + [I(202,197)] = {64,0}, + [I(203,197)] = {64,0}, + [I(204,197)] = {64,0}, + [I(205,197)] = {64,0}, + [I(206,197)] = {64,0}, + [I(207,197)] = {64,0}, + [I(208,197)] = {64,0}, + [I(209,197)] = {64,0}, + [I(210,197)] = {64,0}, + [I(211,197)] = {64,0}, + [I(212,197)] = {64,0}, + [I(213,197)] = {64,0}, + [I(214,197)] = {64,0}, + [I(215,197)] = {64,0}, + [I(216,197)] = {64,0}, + [I(217,197)] = {64,0}, + [I(218,197)] = {64,0}, + [I(219,197)] = {64,0}, + [I(220,197)] = {64,0}, + [I(221,197)] = {64,0}, + [I(222,197)] = {64,0}, + [I(223,197)] = {64,0}, + [I(224,197)] = {64,0}, + [I(225,197)] = {64,0}, + [I(226,197)] = {64,0}, + [I(227,197)] = {64,0}, + [I(228,197)] = {64,0}, + [I(229,197)] = {64,0}, + [I(230,197)] = {64,0}, + [I(231,197)] = {64,0}, + [I(232,197)] = {64,0}, + [I(233,197)] = {64,0}, + [I(234,197)] = {64,0}, + [I(235,197)] = {64,0}, + [I(236,197)] = {64,0}, + [I(237,197)] = {64,0}, + [I(238,197)] = {64,0}, + [I(239,197)] = {64,0}, + [I(240,197)] = {64,0}, + [I(241,197)] = {64,0}, + [I(242,197)] = {64,0}, + [I(243,197)] = {64,0}, + [I(244,197)] = {64,0}, + [I(245,197)] = {64,0}, + [I(246,197)] = {64,0}, + [I(247,197)] = {64,0}, + [I(248,197)] = {64,0}, + [I(249,197)] = {64,0}, + [I(250,197)] = {64,0}, + [I(251,197)] = {64,0}, + [I(252,197)] = {64,0}, + [I(253,197)] = {64,0}, + [I(254,197)] = {64,0}, + [I(255,197)] = {64,0}, + [I(0,198)] = {64,0}, + [I(1,198)] = {64,0}, + [I(2,198)] = {64,0}, + [I(3,198)] = {64,0}, + [I(4,198)] = {64,0}, + [I(5,198)] = {64,0}, + [I(6,198)] = {64,0}, + [I(7,198)] = {64,0}, + [I(8,198)] = {64,0}, + [I(9,198)] = {64,0}, + [I(10,198)] = {64,0}, + [I(11,198)] = {64,0}, + [I(12,198)] = {64,0}, + [I(13,198)] = {64,0}, + [I(14,198)] = {64,0}, + [I(15,198)] = {64,0}, + [I(16,198)] = {64,0}, + [I(17,198)] = {64,0}, + [I(18,198)] = {64,0}, + [I(19,198)] = {64,0}, + [I(20,198)] = {64,0}, + [I(21,198)] = {64,0}, + [I(22,198)] = {64,0}, + [I(23,198)] = {64,0}, + [I(24,198)] = {64,0}, + [I(25,198)] = {64,0}, + [I(26,198)] = {64,0}, + [I(27,198)] = {64,0}, + [I(28,198)] = {64,0}, + [I(29,198)] = {64,0}, + [I(30,198)] = {64,0}, + [I(31,198)] = {64,0}, + [I(32,198)] = {28,0x53FFFE8}, + [I(33,198)] = {X32,0xFE3FFFE8}, + [I(34,198)] = {X32,0xFE7FFFE8}, + [I(35,198)] = {64,0}, + [I(36,198)] = {64,0}, + [I(37,198)] = {28,0x57FFFE8}, + [I(38,198)] = {30,0x3E3FFFE8}, + [I(39,198)] = {64,0}, + [I(40,198)] = {X32,0xFEBFFFE8}, + [I(41,198)] = {X32,0xFEFFFFE8}, + [I(42,198)] = {30,0x3E7FFFE8}, + [I(43,198)] = {64,0}, + [I(44,198)] = {30,0x3EBFFFE8}, + [I(45,198)] = {28,0x5BFFFE8}, + [I(46,198)] = {28,0x5FFFFE8}, + [I(47,198)] = {28,0x63FFFE8}, + [I(48,198)] = {27,0x3FFFE8}, + [I(49,198)] = {27,0x7FFFE8}, + [I(50,198)] = {27,0xBFFFE8}, + [I(51,198)] = {28,0x67FFFE8}, + [I(52,198)] = {28,0x6BFFFE8}, + [I(53,198)] = {28,0x6FFFFE8}, + [I(54,198)] = {28,0x73FFFE8}, + [I(55,198)] = {28,0x77FFFE8}, + [I(56,198)] = {28,0x7BFFFE8}, + [I(57,198)] = {28,0x7FFFFE8}, + [I(58,198)] = {29,0x173FFFE8}, + [I(59,198)] = {30,0x3EFFFFE8}, + [I(60,198)] = {64,0}, + [I(61,198)] = {28,0x83FFFE8}, + [I(62,198)] = {64,0}, + [I(63,198)] = {X32,0xFF3FFFE8}, + [I(64,198)] = {64,0}, + [I(65,198)] = {28,0x87FFFE8}, + [I(66,198)] = {29,0x177FFFE8}, + [I(67,198)] = {29,0x17BFFFE8}, + [I(68,198)] = {29,0x17FFFFE8}, + [I(69,198)] = {29,0x183FFFE8}, + [I(70,198)] = {29,0x187FFFE8}, + [I(71,198)] = {29,0x18BFFFE8}, + [I(72,198)] = {29,0x18FFFFE8}, + [I(73,198)] = {29,0x193FFFE8}, + [I(74,198)] = {29,0x197FFFE8}, + [I(75,198)] = {29,0x19BFFFE8}, + [I(76,198)] = {29,0x19FFFFE8}, + [I(77,198)] = {29,0x1A3FFFE8}, + [I(78,198)] = {29,0x1A7FFFE8}, + [I(79,198)] = {29,0x1ABFFFE8}, + [I(80,198)] = {29,0x1AFFFFE8}, + [I(81,198)] = {29,0x1B3FFFE8}, + [I(82,198)] = {29,0x1B7FFFE8}, + [I(83,198)] = {29,0x1BBFFFE8}, + [I(84,198)] = {29,0x1BFFFFE8}, + [I(85,198)] = {29,0x1C3FFFE8}, + [I(86,198)] = {29,0x1C7FFFE8}, + [I(87,198)] = {29,0x1CBFFFE8}, + [I(88,198)] = {30,0x3F3FFFE8}, + [I(89,198)] = {29,0x1CFFFFE8}, + [I(90,198)] = {30,0x3F7FFFE8}, + [I(91,198)] = {64,0}, + [I(92,198)] = {64,0}, + [I(93,198)] = {64,0}, + [I(94,198)] = {64,0}, + [I(95,198)] = {28,0x8BFFFE8}, + [I(96,198)] = {64,0}, + [I(97,198)] = {27,0xFFFFE8}, + [I(98,198)] = {28,0x8FFFFE8}, + [I(99,198)] = {27,0x13FFFE8}, + [I(100,198)] = {28,0x93FFFE8}, + [I(101,198)] = {27,0x17FFFE8}, + [I(102,198)] = {28,0x97FFFE8}, + [I(103,198)] = {28,0x9BFFFE8}, + [I(104,198)] = {28,0x9FFFFE8}, + [I(105,198)] = {27,0x1BFFFE8}, + [I(106,198)] = {29,0x1D3FFFE8}, + [I(107,198)] = {29,0x1D7FFFE8}, + [I(108,198)] = {28,0xA3FFFE8}, + [I(109,198)] = {28,0xA7FFFE8}, + [I(110,198)] = {28,0xABFFFE8}, + [I(111,198)] = {27,0x1FFFFE8}, + [I(112,198)] = {28,0xAFFFFE8}, + [I(113,198)] = {29,0x1DBFFFE8}, + [I(114,198)] = {28,0xB3FFFE8}, + [I(115,198)] = {27,0x23FFFE8}, + [I(116,198)] = {27,0x27FFFE8}, + [I(117,198)] = {28,0xB7FFFE8}, + [I(118,198)] = {29,0x1DFFFFE8}, + [I(119,198)] = {29,0x1E3FFFE8}, + [I(120,198)] = {29,0x1E7FFFE8}, + [I(121,198)] = {29,0x1EBFFFE8}, + [I(122,198)] = {29,0x1EFFFFE8}, + [I(123,198)] = {64,0}, + [I(124,198)] = {64,0}, + [I(125,198)] = {64,0}, + [I(126,198)] = {64,0}, + [I(127,198)] = {64,0}, + [I(128,198)] = {64,0}, + [I(129,198)] = {64,0}, + [I(130,198)] = {64,0}, + [I(131,198)] = {64,0}, + [I(132,198)] = {64,0}, + [I(133,198)] = {64,0}, + [I(134,198)] = {64,0}, + [I(135,198)] = {64,0}, + [I(136,198)] = {64,0}, + [I(137,198)] = {64,0}, + [I(138,198)] = {64,0}, + [I(139,198)] = {64,0}, + [I(140,198)] = {64,0}, + [I(141,198)] = {64,0}, + [I(142,198)] = {64,0}, + [I(143,198)] = {64,0}, + [I(144,198)] = {64,0}, + [I(145,198)] = {64,0}, + [I(146,198)] = {64,0}, + [I(147,198)] = {64,0}, + [I(148,198)] = {64,0}, + [I(149,198)] = {64,0}, + [I(150,198)] = {64,0}, + [I(151,198)] = {64,0}, + [I(152,198)] = {64,0}, + [I(153,198)] = {64,0}, + [I(154,198)] = {64,0}, + [I(155,198)] = {64,0}, + [I(156,198)] = {64,0}, + [I(157,198)] = {64,0}, + [I(158,198)] = {64,0}, + [I(159,198)] = {64,0}, + [I(160,198)] = {64,0}, + [I(161,198)] = {64,0}, + [I(162,198)] = {64,0}, + [I(163,198)] = {64,0}, + [I(164,198)] = {64,0}, + [I(165,198)] = {64,0}, + [I(166,198)] = {64,0}, + [I(167,198)] = {64,0}, + [I(168,198)] = {64,0}, + [I(169,198)] = {64,0}, + [I(170,198)] = {64,0}, + [I(171,198)] = {64,0}, + [I(172,198)] = {64,0}, + [I(173,198)] = {64,0}, + [I(174,198)] = {64,0}, + [I(175,198)] = {64,0}, + [I(176,198)] = {64,0}, + [I(177,198)] = {64,0}, + [I(178,198)] = {64,0}, + [I(179,198)] = {64,0}, + [I(180,198)] = {64,0}, + [I(181,198)] = {64,0}, + [I(182,198)] = {64,0}, + [I(183,198)] = {64,0}, + [I(184,198)] = {64,0}, + [I(185,198)] = {64,0}, + [I(186,198)] = {64,0}, + [I(187,198)] = {64,0}, + [I(188,198)] = {64,0}, + [I(189,198)] = {64,0}, + [I(190,198)] = {64,0}, + [I(191,198)] = {64,0}, + [I(192,198)] = {64,0}, + [I(193,198)] = {64,0}, + [I(194,198)] = {64,0}, + [I(195,198)] = {64,0}, + [I(196,198)] = {64,0}, + [I(197,198)] = {64,0}, + [I(198,198)] = {64,0}, + [I(199,198)] = {64,0}, + [I(200,198)] = {64,0}, + [I(201,198)] = {64,0}, + [I(202,198)] = {64,0}, + [I(203,198)] = {64,0}, + [I(204,198)] = {64,0}, + [I(205,198)] = {64,0}, + [I(206,198)] = {64,0}, + [I(207,198)] = {64,0}, + [I(208,198)] = {64,0}, + [I(209,198)] = {64,0}, + [I(210,198)] = {64,0}, + [I(211,198)] = {64,0}, + [I(212,198)] = {64,0}, + [I(213,198)] = {64,0}, + [I(214,198)] = {64,0}, + [I(215,198)] = {64,0}, + [I(216,198)] = {64,0}, + [I(217,198)] = {64,0}, + [I(218,198)] = {64,0}, + [I(219,198)] = {64,0}, + [I(220,198)] = {64,0}, + [I(221,198)] = {64,0}, + [I(222,198)] = {64,0}, + [I(223,198)] = {64,0}, + [I(224,198)] = {64,0}, + [I(225,198)] = {64,0}, + [I(226,198)] = {64,0}, + [I(227,198)] = {64,0}, + [I(228,198)] = {64,0}, + [I(229,198)] = {64,0}, + [I(230,198)] = {64,0}, + [I(231,198)] = {64,0}, + [I(232,198)] = {64,0}, + [I(233,198)] = {64,0}, + [I(234,198)] = {64,0}, + [I(235,198)] = {64,0}, + [I(236,198)] = {64,0}, + [I(237,198)] = {64,0}, + [I(238,198)] = {64,0}, + [I(239,198)] = {64,0}, + [I(240,198)] = {64,0}, + [I(241,198)] = {64,0}, + [I(242,198)] = {64,0}, + [I(243,198)] = {64,0}, + [I(244,198)] = {64,0}, + [I(245,198)] = {64,0}, + [I(246,198)] = {64,0}, + [I(247,198)] = {64,0}, + [I(248,198)] = {64,0}, + [I(249,198)] = {64,0}, + [I(250,198)] = {64,0}, + [I(251,198)] = {64,0}, + [I(252,198)] = {64,0}, + [I(253,198)] = {64,0}, + [I(254,198)] = {64,0}, + [I(255,198)] = {64,0}, + [I(0,199)] = {64,0}, + [I(1,199)] = {64,0}, + [I(2,199)] = {64,0}, + [I(3,199)] = {64,0}, + [I(4,199)] = {64,0}, + [I(5,199)] = {64,0}, + [I(6,199)] = {64,0}, + [I(7,199)] = {64,0}, + [I(8,199)] = {64,0}, + [I(9,199)] = {64,0}, + [I(10,199)] = {64,0}, + [I(11,199)] = {64,0}, + [I(12,199)] = {64,0}, + [I(13,199)] = {64,0}, + [I(14,199)] = {64,0}, + [I(15,199)] = {64,0}, + [I(16,199)] = {64,0}, + [I(17,199)] = {64,0}, + [I(18,199)] = {64,0}, + [I(19,199)] = {64,0}, + [I(20,199)] = {64,0}, + [I(21,199)] = {64,0}, + [I(22,199)] = {64,0}, + [I(23,199)] = {64,0}, + [I(24,199)] = {64,0}, + [I(25,199)] = {64,0}, + [I(26,199)] = {64,0}, + [I(27,199)] = {64,0}, + [I(28,199)] = {64,0}, + [I(29,199)] = {64,0}, + [I(30,199)] = {64,0}, + [I(31,199)] = {64,0}, + [I(32,199)] = {31,0x29FFFFEC}, + [I(33,199)] = {64,0}, + [I(34,199)] = {64,0}, + [I(35,199)] = {64,0}, + [I(36,199)] = {64,0}, + [I(37,199)] = {31,0x2BFFFFEC}, + [I(38,199)] = {64,0}, + [I(39,199)] = {64,0}, + [I(40,199)] = {64,0}, + [I(41,199)] = {64,0}, + [I(42,199)] = {64,0}, + [I(43,199)] = {64,0}, + [I(44,199)] = {64,0}, + [I(45,199)] = {31,0x2DFFFFEC}, + [I(46,199)] = {31,0x2FFFFFEC}, + [I(47,199)] = {31,0x31FFFFEC}, + [I(48,199)] = {30,0x1FFFFEC}, + [I(49,199)] = {30,0x3FFFFEC}, + [I(50,199)] = {30,0x5FFFFEC}, + [I(51,199)] = {31,0x33FFFFEC}, + [I(52,199)] = {31,0x35FFFFEC}, + [I(53,199)] = {31,0x37FFFFEC}, + [I(54,199)] = {31,0x39FFFFEC}, + [I(55,199)] = {31,0x3BFFFFEC}, + [I(56,199)] = {31,0x3DFFFFEC}, + [I(57,199)] = {31,0x3FFFFFEC}, + [I(58,199)] = {X32,0xB9FFFFEC}, + [I(59,199)] = {64,0}, + [I(60,199)] = {64,0}, + [I(61,199)] = {31,0x41FFFFEC}, + [I(62,199)] = {64,0}, + [I(63,199)] = {64,0}, + [I(64,199)] = {64,0}, + [I(65,199)] = {31,0x43FFFFEC}, + [I(66,199)] = {X32,0xBBFFFFEC}, + [I(67,199)] = {X32,0xBDFFFFEC}, + [I(68,199)] = {X32,0xBFFFFFEC}, + [I(69,199)] = {X32,0xC1FFFFEC}, + [I(70,199)] = {X32,0xC3FFFFEC}, + [I(71,199)] = {X32,0xC5FFFFEC}, + [I(72,199)] = {X32,0xC7FFFFEC}, + [I(73,199)] = {X32,0xC9FFFFEC}, + [I(74,199)] = {X32,0xCBFFFFEC}, + [I(75,199)] = {X32,0xCDFFFFEC}, + [I(76,199)] = {X32,0xCFFFFFEC}, + [I(77,199)] = {X32,0xD1FFFFEC}, + [I(78,199)] = {X32,0xD3FFFFEC}, + [I(79,199)] = {X32,0xD5FFFFEC}, + [I(80,199)] = {X32,0xD7FFFFEC}, + [I(81,199)] = {X32,0xD9FFFFEC}, + [I(82,199)] = {X32,0xDBFFFFEC}, + [I(83,199)] = {X32,0xDDFFFFEC}, + [I(84,199)] = {X32,0xDFFFFFEC}, + [I(85,199)] = {X32,0xE1FFFFEC}, + [I(86,199)] = {X32,0xE3FFFFEC}, + [I(87,199)] = {X32,0xE5FFFFEC}, + [I(88,199)] = {64,0}, + [I(89,199)] = {X32,0xE7FFFFEC}, + [I(90,199)] = {64,0}, + [I(91,199)] = {64,0}, + [I(92,199)] = {64,0}, + [I(93,199)] = {64,0}, + [I(94,199)] = {64,0}, + [I(95,199)] = {31,0x45FFFFEC}, + [I(96,199)] = {64,0}, + [I(97,199)] = {30,0x7FFFFEC}, + [I(98,199)] = {31,0x47FFFFEC}, + [I(99,199)] = {30,0x9FFFFEC}, + [I(100,199)] = {31,0x49FFFFEC}, + [I(101,199)] = {30,0xBFFFFEC}, + [I(102,199)] = {31,0x4BFFFFEC}, + [I(103,199)] = {31,0x4DFFFFEC}, + [I(104,199)] = {31,0x4FFFFFEC}, + [I(105,199)] = {30,0xDFFFFEC}, + [I(106,199)] = {X32,0xE9FFFFEC}, + [I(107,199)] = {X32,0xEBFFFFEC}, + [I(108,199)] = {31,0x51FFFFEC}, + [I(109,199)] = {31,0x53FFFFEC}, + [I(110,199)] = {31,0x55FFFFEC}, + [I(111,199)] = {30,0xFFFFFEC}, + [I(112,199)] = {31,0x57FFFFEC}, + [I(113,199)] = {X32,0xEDFFFFEC}, + [I(114,199)] = {31,0x59FFFFEC}, + [I(115,199)] = {30,0x11FFFFEC}, + [I(116,199)] = {30,0x13FFFFEC}, + [I(117,199)] = {31,0x5BFFFFEC}, + [I(118,199)] = {X32,0xEFFFFFEC}, + [I(119,199)] = {X32,0xF1FFFFEC}, + [I(120,199)] = {X32,0xF3FFFFEC}, + [I(121,199)] = {X32,0xF5FFFFEC}, + [I(122,199)] = {X32,0xF7FFFFEC}, + [I(123,199)] = {64,0}, + [I(124,199)] = {64,0}, + [I(125,199)] = {64,0}, + [I(126,199)] = {64,0}, + [I(127,199)] = {64,0}, + [I(128,199)] = {64,0}, + [I(129,199)] = {64,0}, + [I(130,199)] = {64,0}, + [I(131,199)] = {64,0}, + [I(132,199)] = {64,0}, + [I(133,199)] = {64,0}, + [I(134,199)] = {64,0}, + [I(135,199)] = {64,0}, + [I(136,199)] = {64,0}, + [I(137,199)] = {64,0}, + [I(138,199)] = {64,0}, + [I(139,199)] = {64,0}, + [I(140,199)] = {64,0}, + [I(141,199)] = {64,0}, + [I(142,199)] = {64,0}, + [I(143,199)] = {64,0}, + [I(144,199)] = {64,0}, + [I(145,199)] = {64,0}, + [I(146,199)] = {64,0}, + [I(147,199)] = {64,0}, + [I(148,199)] = {64,0}, + [I(149,199)] = {64,0}, + [I(150,199)] = {64,0}, + [I(151,199)] = {64,0}, + [I(152,199)] = {64,0}, + [I(153,199)] = {64,0}, + [I(154,199)] = {64,0}, + [I(155,199)] = {64,0}, + [I(156,199)] = {64,0}, + [I(157,199)] = {64,0}, + [I(158,199)] = {64,0}, + [I(159,199)] = {64,0}, + [I(160,199)] = {64,0}, + [I(161,199)] = {64,0}, + [I(162,199)] = {64,0}, + [I(163,199)] = {64,0}, + [I(164,199)] = {64,0}, + [I(165,199)] = {64,0}, + [I(166,199)] = {64,0}, + [I(167,199)] = {64,0}, + [I(168,199)] = {64,0}, + [I(169,199)] = {64,0}, + [I(170,199)] = {64,0}, + [I(171,199)] = {64,0}, + [I(172,199)] = {64,0}, + [I(173,199)] = {64,0}, + [I(174,199)] = {64,0}, + [I(175,199)] = {64,0}, + [I(176,199)] = {64,0}, + [I(177,199)] = {64,0}, + [I(178,199)] = {64,0}, + [I(179,199)] = {64,0}, + [I(180,199)] = {64,0}, + [I(181,199)] = {64,0}, + [I(182,199)] = {64,0}, + [I(183,199)] = {64,0}, + [I(184,199)] = {64,0}, + [I(185,199)] = {64,0}, + [I(186,199)] = {64,0}, + [I(187,199)] = {64,0}, + [I(188,199)] = {64,0}, + [I(189,199)] = {64,0}, + [I(190,199)] = {64,0}, + [I(191,199)] = {64,0}, + [I(192,199)] = {64,0}, + [I(193,199)] = {64,0}, + [I(194,199)] = {64,0}, + [I(195,199)] = {64,0}, + [I(196,199)] = {64,0}, + [I(197,199)] = {64,0}, + [I(198,199)] = {64,0}, + [I(199,199)] = {64,0}, + [I(200,199)] = {64,0}, + [I(201,199)] = {64,0}, + [I(202,199)] = {64,0}, + [I(203,199)] = {64,0}, + [I(204,199)] = {64,0}, + [I(205,199)] = {64,0}, + [I(206,199)] = {64,0}, + [I(207,199)] = {64,0}, + [I(208,199)] = {64,0}, + [I(209,199)] = {64,0}, + [I(210,199)] = {64,0}, + [I(211,199)] = {64,0}, + [I(212,199)] = {64,0}, + [I(213,199)] = {64,0}, + [I(214,199)] = {64,0}, + [I(215,199)] = {64,0}, + [I(216,199)] = {64,0}, + [I(217,199)] = {64,0}, + [I(218,199)] = {64,0}, + [I(219,199)] = {64,0}, + [I(220,199)] = {64,0}, + [I(221,199)] = {64,0}, + [I(222,199)] = {64,0}, + [I(223,199)] = {64,0}, + [I(224,199)] = {64,0}, + [I(225,199)] = {64,0}, + [I(226,199)] = {64,0}, + [I(227,199)] = {64,0}, + [I(228,199)] = {64,0}, + [I(229,199)] = {64,0}, + [I(230,199)] = {64,0}, + [I(231,199)] = {64,0}, + [I(232,199)] = {64,0}, + [I(233,199)] = {64,0}, + [I(234,199)] = {64,0}, + [I(235,199)] = {64,0}, + [I(236,199)] = {64,0}, + [I(237,199)] = {64,0}, + [I(238,199)] = {64,0}, + [I(239,199)] = {64,0}, + [I(240,199)] = {64,0}, + [I(241,199)] = {64,0}, + [I(242,199)] = {64,0}, + [I(243,199)] = {64,0}, + [I(244,199)] = {64,0}, + [I(245,199)] = {64,0}, + [I(246,199)] = {64,0}, + [I(247,199)] = {64,0}, + [I(248,199)] = {64,0}, + [I(249,199)] = {64,0}, + [I(250,199)] = {64,0}, + [I(251,199)] = {64,0}, + [I(252,199)] = {64,0}, + [I(253,199)] = {64,0}, + [I(254,199)] = {64,0}, + [I(255,199)] = {64,0}, + [I(0,200)] = {64,0}, + [I(1,200)] = {64,0}, + [I(2,200)] = {64,0}, + [I(3,200)] = {64,0}, + [I(4,200)] = {64,0}, + [I(5,200)] = {64,0}, + [I(6,200)] = {64,0}, + [I(7,200)] = {64,0}, + [I(8,200)] = {64,0}, + [I(9,200)] = {64,0}, + [I(10,200)] = {64,0}, + [I(11,200)] = {64,0}, + [I(12,200)] = {64,0}, + [I(13,200)] = {64,0}, + [I(14,200)] = {64,0}, + [I(15,200)] = {64,0}, + [I(16,200)] = {64,0}, + [I(17,200)] = {64,0}, + [I(18,200)] = {64,0}, + [I(19,200)] = {64,0}, + [I(20,200)] = {64,0}, + [I(21,200)] = {64,0}, + [I(22,200)] = {64,0}, + [I(23,200)] = {64,0}, + [I(24,200)] = {64,0}, + [I(25,200)] = {64,0}, + [I(26,200)] = {64,0}, + [I(27,200)] = {64,0}, + [I(28,200)] = {64,0}, + [I(29,200)] = {64,0}, + [I(30,200)] = {64,0}, + [I(31,200)] = {64,0}, + [I(32,200)] = {X32,0x53FFFFE2}, + [I(33,200)] = {64,0}, + [I(34,200)] = {64,0}, + [I(35,200)] = {64,0}, + [I(36,200)] = {64,0}, + [I(37,200)] = {X32,0x57FFFFE2}, + [I(38,200)] = {64,0}, + [I(39,200)] = {64,0}, + [I(40,200)] = {64,0}, + [I(41,200)] = {64,0}, + [I(42,200)] = {64,0}, + [I(43,200)] = {64,0}, + [I(44,200)] = {64,0}, + [I(45,200)] = {X32,0x5BFFFFE2}, + [I(46,200)] = {X32,0x5FFFFFE2}, + [I(47,200)] = {X32,0x63FFFFE2}, + [I(48,200)] = {31,0x3FFFFE2}, + [I(49,200)] = {31,0x7FFFFE2}, + [I(50,200)] = {31,0xBFFFFE2}, + [I(51,200)] = {X32,0x67FFFFE2}, + [I(52,200)] = {X32,0x6BFFFFE2}, + [I(53,200)] = {X32,0x6FFFFFE2}, + [I(54,200)] = {X32,0x73FFFFE2}, + [I(55,200)] = {X32,0x77FFFFE2}, + [I(56,200)] = {X32,0x7BFFFFE2}, + [I(57,200)] = {X32,0x7FFFFFE2}, + [I(58,200)] = {64,0}, + [I(59,200)] = {64,0}, + [I(60,200)] = {64,0}, + [I(61,200)] = {X32,0x83FFFFE2}, + [I(62,200)] = {64,0}, + [I(63,200)] = {64,0}, + [I(64,200)] = {64,0}, + [I(65,200)] = {X32,0x87FFFFE2}, + [I(66,200)] = {64,0}, + [I(67,200)] = {64,0}, + [I(68,200)] = {64,0}, + [I(69,200)] = {64,0}, + [I(70,200)] = {64,0}, + [I(71,200)] = {64,0}, + [I(72,200)] = {64,0}, + [I(73,200)] = {64,0}, + [I(74,200)] = {64,0}, + [I(75,200)] = {64,0}, + [I(76,200)] = {64,0}, + [I(77,200)] = {64,0}, + [I(78,200)] = {64,0}, + [I(79,200)] = {64,0}, + [I(80,200)] = {64,0}, + [I(81,200)] = {64,0}, + [I(82,200)] = {64,0}, + [I(83,200)] = {64,0}, + [I(84,200)] = {64,0}, + [I(85,200)] = {64,0}, + [I(86,200)] = {64,0}, + [I(87,200)] = {64,0}, + [I(88,200)] = {64,0}, + [I(89,200)] = {64,0}, + [I(90,200)] = {64,0}, + [I(91,200)] = {64,0}, + [I(92,200)] = {64,0}, + [I(93,200)] = {64,0}, + [I(94,200)] = {64,0}, + [I(95,200)] = {X32,0x8BFFFFE2}, + [I(96,200)] = {64,0}, + [I(97,200)] = {31,0xFFFFFE2}, + [I(98,200)] = {X32,0x8FFFFFE2}, + [I(99,200)] = {31,0x13FFFFE2}, + [I(100,200)] = {X32,0x93FFFFE2}, + [I(101,200)] = {31,0x17FFFFE2}, + [I(102,200)] = {X32,0x97FFFFE2}, + [I(103,200)] = {X32,0x9BFFFFE2}, + [I(104,200)] = {X32,0x9FFFFFE2}, + [I(105,200)] = {31,0x1BFFFFE2}, + [I(106,200)] = {64,0}, + [I(107,200)] = {64,0}, + [I(108,200)] = {X32,0xA3FFFFE2}, + [I(109,200)] = {X32,0xA7FFFFE2}, + [I(110,200)] = {X32,0xABFFFFE2}, + [I(111,200)] = {31,0x1FFFFFE2}, + [I(112,200)] = {X32,0xAFFFFFE2}, + [I(113,200)] = {64,0}, + [I(114,200)] = {X32,0xB3FFFFE2}, + [I(115,200)] = {31,0x23FFFFE2}, + [I(116,200)] = {31,0x27FFFFE2}, + [I(117,200)] = {X32,0xB7FFFFE2}, + [I(118,200)] = {64,0}, + [I(119,200)] = {64,0}, + [I(120,200)] = {64,0}, + [I(121,200)] = {64,0}, + [I(122,200)] = {64,0}, + [I(123,200)] = {64,0}, + [I(124,200)] = {64,0}, + [I(125,200)] = {64,0}, + [I(126,200)] = {64,0}, + [I(127,200)] = {64,0}, + [I(128,200)] = {64,0}, + [I(129,200)] = {64,0}, + [I(130,200)] = {64,0}, + [I(131,200)] = {64,0}, + [I(132,200)] = {64,0}, + [I(133,200)] = {64,0}, + [I(134,200)] = {64,0}, + [I(135,200)] = {64,0}, + [I(136,200)] = {64,0}, + [I(137,200)] = {64,0}, + [I(138,200)] = {64,0}, + [I(139,200)] = {64,0}, + [I(140,200)] = {64,0}, + [I(141,200)] = {64,0}, + [I(142,200)] = {64,0}, + [I(143,200)] = {64,0}, + [I(144,200)] = {64,0}, + [I(145,200)] = {64,0}, + [I(146,200)] = {64,0}, + [I(147,200)] = {64,0}, + [I(148,200)] = {64,0}, + [I(149,200)] = {64,0}, + [I(150,200)] = {64,0}, + [I(151,200)] = {64,0}, + [I(152,200)] = {64,0}, + [I(153,200)] = {64,0}, + [I(154,200)] = {64,0}, + [I(155,200)] = {64,0}, + [I(156,200)] = {64,0}, + [I(157,200)] = {64,0}, + [I(158,200)] = {64,0}, + [I(159,200)] = {64,0}, + [I(160,200)] = {64,0}, + [I(161,200)] = {64,0}, + [I(162,200)] = {64,0}, + [I(163,200)] = {64,0}, + [I(164,200)] = {64,0}, + [I(165,200)] = {64,0}, + [I(166,200)] = {64,0}, + [I(167,200)] = {64,0}, + [I(168,200)] = {64,0}, + [I(169,200)] = {64,0}, + [I(170,200)] = {64,0}, + [I(171,200)] = {64,0}, + [I(172,200)] = {64,0}, + [I(173,200)] = {64,0}, + [I(174,200)] = {64,0}, + [I(175,200)] = {64,0}, + [I(176,200)] = {64,0}, + [I(177,200)] = {64,0}, + [I(178,200)] = {64,0}, + [I(179,200)] = {64,0}, + [I(180,200)] = {64,0}, + [I(181,200)] = {64,0}, + [I(182,200)] = {64,0}, + [I(183,200)] = {64,0}, + [I(184,200)] = {64,0}, + [I(185,200)] = {64,0}, + [I(186,200)] = {64,0}, + [I(187,200)] = {64,0}, + [I(188,200)] = {64,0}, + [I(189,200)] = {64,0}, + [I(190,200)] = {64,0}, + [I(191,200)] = {64,0}, + [I(192,200)] = {64,0}, + [I(193,200)] = {64,0}, + [I(194,200)] = {64,0}, + [I(195,200)] = {64,0}, + [I(196,200)] = {64,0}, + [I(197,200)] = {64,0}, + [I(198,200)] = {64,0}, + [I(199,200)] = {64,0}, + [I(200,200)] = {64,0}, + [I(201,200)] = {64,0}, + [I(202,200)] = {64,0}, + [I(203,200)] = {64,0}, + [I(204,200)] = {64,0}, + [I(205,200)] = {64,0}, + [I(206,200)] = {64,0}, + [I(207,200)] = {64,0}, + [I(208,200)] = {64,0}, + [I(209,200)] = {64,0}, + [I(210,200)] = {64,0}, + [I(211,200)] = {64,0}, + [I(212,200)] = {64,0}, + [I(213,200)] = {64,0}, + [I(214,200)] = {64,0}, + [I(215,200)] = {64,0}, + [I(216,200)] = {64,0}, + [I(217,200)] = {64,0}, + [I(218,200)] = {64,0}, + [I(219,200)] = {64,0}, + [I(220,200)] = {64,0}, + [I(221,200)] = {64,0}, + [I(222,200)] = {64,0}, + [I(223,200)] = {64,0}, + [I(224,200)] = {64,0}, + [I(225,200)] = {64,0}, + [I(226,200)] = {64,0}, + [I(227,200)] = {64,0}, + [I(228,200)] = {64,0}, + [I(229,200)] = {64,0}, + [I(230,200)] = {64,0}, + [I(231,200)] = {64,0}, + [I(232,200)] = {64,0}, + [I(233,200)] = {64,0}, + [I(234,200)] = {64,0}, + [I(235,200)] = {64,0}, + [I(236,200)] = {64,0}, + [I(237,200)] = {64,0}, + [I(238,200)] = {64,0}, + [I(239,200)] = {64,0}, + [I(240,200)] = {64,0}, + [I(241,200)] = {64,0}, + [I(242,200)] = {64,0}, + [I(243,200)] = {64,0}, + [I(244,200)] = {64,0}, + [I(245,200)] = {64,0}, + [I(246,200)] = {64,0}, + [I(247,200)] = {64,0}, + [I(248,200)] = {64,0}, + [I(249,200)] = {64,0}, + [I(250,200)] = {64,0}, + [I(251,200)] = {64,0}, + [I(252,200)] = {64,0}, + [I(253,200)] = {64,0}, + [I(254,200)] = {64,0}, + [I(255,200)] = {64,0}, + [I(0,201)] = {64,0}, + [I(1,201)] = {64,0}, + [I(2,201)] = {64,0}, + [I(3,201)] = {64,0}, + [I(4,201)] = {64,0}, + [I(5,201)] = {64,0}, + [I(6,201)] = {64,0}, + [I(7,201)] = {64,0}, + [I(8,201)] = {64,0}, + [I(9,201)] = {64,0}, + [I(10,201)] = {64,0}, + [I(11,201)] = {64,0}, + [I(12,201)] = {64,0}, + [I(13,201)] = {64,0}, + [I(14,201)] = {64,0}, + [I(15,201)] = {64,0}, + [I(16,201)] = {64,0}, + [I(17,201)] = {64,0}, + [I(18,201)] = {64,0}, + [I(19,201)] = {64,0}, + [I(20,201)] = {64,0}, + [I(21,201)] = {64,0}, + [I(22,201)] = {64,0}, + [I(23,201)] = {64,0}, + [I(24,201)] = {64,0}, + [I(25,201)] = {64,0}, + [I(26,201)] = {64,0}, + [I(27,201)] = {64,0}, + [I(28,201)] = {64,0}, + [I(29,201)] = {64,0}, + [I(30,201)] = {64,0}, + [I(31,201)] = {64,0}, + [I(32,201)] = {X32,0x53FFFFE3}, + [I(33,201)] = {64,0}, + [I(34,201)] = {64,0}, + [I(35,201)] = {64,0}, + [I(36,201)] = {64,0}, + [I(37,201)] = {X32,0x57FFFFE3}, + [I(38,201)] = {64,0}, + [I(39,201)] = {64,0}, + [I(40,201)] = {64,0}, + [I(41,201)] = {64,0}, + [I(42,201)] = {64,0}, + [I(43,201)] = {64,0}, + [I(44,201)] = {64,0}, + [I(45,201)] = {X32,0x5BFFFFE3}, + [I(46,201)] = {X32,0x5FFFFFE3}, + [I(47,201)] = {X32,0x63FFFFE3}, + [I(48,201)] = {31,0x3FFFFE3}, + [I(49,201)] = {31,0x7FFFFE3}, + [I(50,201)] = {31,0xBFFFFE3}, + [I(51,201)] = {X32,0x67FFFFE3}, + [I(52,201)] = {X32,0x6BFFFFE3}, + [I(53,201)] = {X32,0x6FFFFFE3}, + [I(54,201)] = {X32,0x73FFFFE3}, + [I(55,201)] = {X32,0x77FFFFE3}, + [I(56,201)] = {X32,0x7BFFFFE3}, + [I(57,201)] = {X32,0x7FFFFFE3}, + [I(58,201)] = {64,0}, + [I(59,201)] = {64,0}, + [I(60,201)] = {64,0}, + [I(61,201)] = {X32,0x83FFFFE3}, + [I(62,201)] = {64,0}, + [I(63,201)] = {64,0}, + [I(64,201)] = {64,0}, + [I(65,201)] = {X32,0x87FFFFE3}, + [I(66,201)] = {64,0}, + [I(67,201)] = {64,0}, + [I(68,201)] = {64,0}, + [I(69,201)] = {64,0}, + [I(70,201)] = {64,0}, + [I(71,201)] = {64,0}, + [I(72,201)] = {64,0}, + [I(73,201)] = {64,0}, + [I(74,201)] = {64,0}, + [I(75,201)] = {64,0}, + [I(76,201)] = {64,0}, + [I(77,201)] = {64,0}, + [I(78,201)] = {64,0}, + [I(79,201)] = {64,0}, + [I(80,201)] = {64,0}, + [I(81,201)] = {64,0}, + [I(82,201)] = {64,0}, + [I(83,201)] = {64,0}, + [I(84,201)] = {64,0}, + [I(85,201)] = {64,0}, + [I(86,201)] = {64,0}, + [I(87,201)] = {64,0}, + [I(88,201)] = {64,0}, + [I(89,201)] = {64,0}, + [I(90,201)] = {64,0}, + [I(91,201)] = {64,0}, + [I(92,201)] = {64,0}, + [I(93,201)] = {64,0}, + [I(94,201)] = {64,0}, + [I(95,201)] = {X32,0x8BFFFFE3}, + [I(96,201)] = {64,0}, + [I(97,201)] = {31,0xFFFFFE3}, + [I(98,201)] = {X32,0x8FFFFFE3}, + [I(99,201)] = {31,0x13FFFFE3}, + [I(100,201)] = {X32,0x93FFFFE3}, + [I(101,201)] = {31,0x17FFFFE3}, + [I(102,201)] = {X32,0x97FFFFE3}, + [I(103,201)] = {X32,0x9BFFFFE3}, + [I(104,201)] = {X32,0x9FFFFFE3}, + [I(105,201)] = {31,0x1BFFFFE3}, + [I(106,201)] = {64,0}, + [I(107,201)] = {64,0}, + [I(108,201)] = {X32,0xA3FFFFE3}, + [I(109,201)] = {X32,0xA7FFFFE3}, + [I(110,201)] = {X32,0xABFFFFE3}, + [I(111,201)] = {31,0x1FFFFFE3}, + [I(112,201)] = {X32,0xAFFFFFE3}, + [I(113,201)] = {64,0}, + [I(114,201)] = {X32,0xB3FFFFE3}, + [I(115,201)] = {31,0x23FFFFE3}, + [I(116,201)] = {31,0x27FFFFE3}, + [I(117,201)] = {X32,0xB7FFFFE3}, + [I(118,201)] = {64,0}, + [I(119,201)] = {64,0}, + [I(120,201)] = {64,0}, + [I(121,201)] = {64,0}, + [I(122,201)] = {64,0}, + [I(123,201)] = {64,0}, + [I(124,201)] = {64,0}, + [I(125,201)] = {64,0}, + [I(126,201)] = {64,0}, + [I(127,201)] = {64,0}, + [I(128,201)] = {64,0}, + [I(129,201)] = {64,0}, + [I(130,201)] = {64,0}, + [I(131,201)] = {64,0}, + [I(132,201)] = {64,0}, + [I(133,201)] = {64,0}, + [I(134,201)] = {64,0}, + [I(135,201)] = {64,0}, + [I(136,201)] = {64,0}, + [I(137,201)] = {64,0}, + [I(138,201)] = {64,0}, + [I(139,201)] = {64,0}, + [I(140,201)] = {64,0}, + [I(141,201)] = {64,0}, + [I(142,201)] = {64,0}, + [I(143,201)] = {64,0}, + [I(144,201)] = {64,0}, + [I(145,201)] = {64,0}, + [I(146,201)] = {64,0}, + [I(147,201)] = {64,0}, + [I(148,201)] = {64,0}, + [I(149,201)] = {64,0}, + [I(150,201)] = {64,0}, + [I(151,201)] = {64,0}, + [I(152,201)] = {64,0}, + [I(153,201)] = {64,0}, + [I(154,201)] = {64,0}, + [I(155,201)] = {64,0}, + [I(156,201)] = {64,0}, + [I(157,201)] = {64,0}, + [I(158,201)] = {64,0}, + [I(159,201)] = {64,0}, + [I(160,201)] = {64,0}, + [I(161,201)] = {64,0}, + [I(162,201)] = {64,0}, + [I(163,201)] = {64,0}, + [I(164,201)] = {64,0}, + [I(165,201)] = {64,0}, + [I(166,201)] = {64,0}, + [I(167,201)] = {64,0}, + [I(168,201)] = {64,0}, + [I(169,201)] = {64,0}, + [I(170,201)] = {64,0}, + [I(171,201)] = {64,0}, + [I(172,201)] = {64,0}, + [I(173,201)] = {64,0}, + [I(174,201)] = {64,0}, + [I(175,201)] = {64,0}, + [I(176,201)] = {64,0}, + [I(177,201)] = {64,0}, + [I(178,201)] = {64,0}, + [I(179,201)] = {64,0}, + [I(180,201)] = {64,0}, + [I(181,201)] = {64,0}, + [I(182,201)] = {64,0}, + [I(183,201)] = {64,0}, + [I(184,201)] = {64,0}, + [I(185,201)] = {64,0}, + [I(186,201)] = {64,0}, + [I(187,201)] = {64,0}, + [I(188,201)] = {64,0}, + [I(189,201)] = {64,0}, + [I(190,201)] = {64,0}, + [I(191,201)] = {64,0}, + [I(192,201)] = {64,0}, + [I(193,201)] = {64,0}, + [I(194,201)] = {64,0}, + [I(195,201)] = {64,0}, + [I(196,201)] = {64,0}, + [I(197,201)] = {64,0}, + [I(198,201)] = {64,0}, + [I(199,201)] = {64,0}, + [I(200,201)] = {64,0}, + [I(201,201)] = {64,0}, + [I(202,201)] = {64,0}, + [I(203,201)] = {64,0}, + [I(204,201)] = {64,0}, + [I(205,201)] = {64,0}, + [I(206,201)] = {64,0}, + [I(207,201)] = {64,0}, + [I(208,201)] = {64,0}, + [I(209,201)] = {64,0}, + [I(210,201)] = {64,0}, + [I(211,201)] = {64,0}, + [I(212,201)] = {64,0}, + [I(213,201)] = {64,0}, + [I(214,201)] = {64,0}, + [I(215,201)] = {64,0}, + [I(216,201)] = {64,0}, + [I(217,201)] = {64,0}, + [I(218,201)] = {64,0}, + [I(219,201)] = {64,0}, + [I(220,201)] = {64,0}, + [I(221,201)] = {64,0}, + [I(222,201)] = {64,0}, + [I(223,201)] = {64,0}, + [I(224,201)] = {64,0}, + [I(225,201)] = {64,0}, + [I(226,201)] = {64,0}, + [I(227,201)] = {64,0}, + [I(228,201)] = {64,0}, + [I(229,201)] = {64,0}, + [I(230,201)] = {64,0}, + [I(231,201)] = {64,0}, + [I(232,201)] = {64,0}, + [I(233,201)] = {64,0}, + [I(234,201)] = {64,0}, + [I(235,201)] = {64,0}, + [I(236,201)] = {64,0}, + [I(237,201)] = {64,0}, + [I(238,201)] = {64,0}, + [I(239,201)] = {64,0}, + [I(240,201)] = {64,0}, + [I(241,201)] = {64,0}, + [I(242,201)] = {64,0}, + [I(243,201)] = {64,0}, + [I(244,201)] = {64,0}, + [I(245,201)] = {64,0}, + [I(246,201)] = {64,0}, + [I(247,201)] = {64,0}, + [I(248,201)] = {64,0}, + [I(249,201)] = {64,0}, + [I(250,201)] = {64,0}, + [I(251,201)] = {64,0}, + [I(252,201)] = {64,0}, + [I(253,201)] = {64,0}, + [I(254,201)] = {64,0}, + [I(255,201)] = {64,0}, + [I(0,202)] = {64,0}, + [I(1,202)] = {64,0}, + [I(2,202)] = {64,0}, + [I(3,202)] = {64,0}, + [I(4,202)] = {64,0}, + [I(5,202)] = {64,0}, + [I(6,202)] = {64,0}, + [I(7,202)] = {64,0}, + [I(8,202)] = {64,0}, + [I(9,202)] = {64,0}, + [I(10,202)] = {64,0}, + [I(11,202)] = {64,0}, + [I(12,202)] = {64,0}, + [I(13,202)] = {64,0}, + [I(14,202)] = {64,0}, + [I(15,202)] = {64,0}, + [I(16,202)] = {64,0}, + [I(17,202)] = {64,0}, + [I(18,202)] = {64,0}, + [I(19,202)] = {64,0}, + [I(20,202)] = {64,0}, + [I(21,202)] = {64,0}, + [I(22,202)] = {64,0}, + [I(23,202)] = {64,0}, + [I(24,202)] = {64,0}, + [I(25,202)] = {64,0}, + [I(26,202)] = {64,0}, + [I(27,202)] = {64,0}, + [I(28,202)] = {64,0}, + [I(29,202)] = {64,0}, + [I(30,202)] = {64,0}, + [I(31,202)] = {64,0}, + [I(32,202)] = {X32,0x53FFFFE4}, + [I(33,202)] = {64,0}, + [I(34,202)] = {64,0}, + [I(35,202)] = {64,0}, + [I(36,202)] = {64,0}, + [I(37,202)] = {X32,0x57FFFFE4}, + [I(38,202)] = {64,0}, + [I(39,202)] = {64,0}, + [I(40,202)] = {64,0}, + [I(41,202)] = {64,0}, + [I(42,202)] = {64,0}, + [I(43,202)] = {64,0}, + [I(44,202)] = {64,0}, + [I(45,202)] = {X32,0x5BFFFFE4}, + [I(46,202)] = {X32,0x5FFFFFE4}, + [I(47,202)] = {X32,0x63FFFFE4}, + [I(48,202)] = {31,0x3FFFFE4}, + [I(49,202)] = {31,0x7FFFFE4}, + [I(50,202)] = {31,0xBFFFFE4}, + [I(51,202)] = {X32,0x67FFFFE4}, + [I(52,202)] = {X32,0x6BFFFFE4}, + [I(53,202)] = {X32,0x6FFFFFE4}, + [I(54,202)] = {X32,0x73FFFFE4}, + [I(55,202)] = {X32,0x77FFFFE4}, + [I(56,202)] = {X32,0x7BFFFFE4}, + [I(57,202)] = {X32,0x7FFFFFE4}, + [I(58,202)] = {64,0}, + [I(59,202)] = {64,0}, + [I(60,202)] = {64,0}, + [I(61,202)] = {X32,0x83FFFFE4}, + [I(62,202)] = {64,0}, + [I(63,202)] = {64,0}, + [I(64,202)] = {64,0}, + [I(65,202)] = {X32,0x87FFFFE4}, + [I(66,202)] = {64,0}, + [I(67,202)] = {64,0}, + [I(68,202)] = {64,0}, + [I(69,202)] = {64,0}, + [I(70,202)] = {64,0}, + [I(71,202)] = {64,0}, + [I(72,202)] = {64,0}, + [I(73,202)] = {64,0}, + [I(74,202)] = {64,0}, + [I(75,202)] = {64,0}, + [I(76,202)] = {64,0}, + [I(77,202)] = {64,0}, + [I(78,202)] = {64,0}, + [I(79,202)] = {64,0}, + [I(80,202)] = {64,0}, + [I(81,202)] = {64,0}, + [I(82,202)] = {64,0}, + [I(83,202)] = {64,0}, + [I(84,202)] = {64,0}, + [I(85,202)] = {64,0}, + [I(86,202)] = {64,0}, + [I(87,202)] = {64,0}, + [I(88,202)] = {64,0}, + [I(89,202)] = {64,0}, + [I(90,202)] = {64,0}, + [I(91,202)] = {64,0}, + [I(92,202)] = {64,0}, + [I(93,202)] = {64,0}, + [I(94,202)] = {64,0}, + [I(95,202)] = {X32,0x8BFFFFE4}, + [I(96,202)] = {64,0}, + [I(97,202)] = {31,0xFFFFFE4}, + [I(98,202)] = {X32,0x8FFFFFE4}, + [I(99,202)] = {31,0x13FFFFE4}, + [I(100,202)] = {X32,0x93FFFFE4}, + [I(101,202)] = {31,0x17FFFFE4}, + [I(102,202)] = {X32,0x97FFFFE4}, + [I(103,202)] = {X32,0x9BFFFFE4}, + [I(104,202)] = {X32,0x9FFFFFE4}, + [I(105,202)] = {31,0x1BFFFFE4}, + [I(106,202)] = {64,0}, + [I(107,202)] = {64,0}, + [I(108,202)] = {X32,0xA3FFFFE4}, + [I(109,202)] = {X32,0xA7FFFFE4}, + [I(110,202)] = {X32,0xABFFFFE4}, + [I(111,202)] = {31,0x1FFFFFE4}, + [I(112,202)] = {X32,0xAFFFFFE4}, + [I(113,202)] = {64,0}, + [I(114,202)] = {X32,0xB3FFFFE4}, + [I(115,202)] = {31,0x23FFFFE4}, + [I(116,202)] = {31,0x27FFFFE4}, + [I(117,202)] = {X32,0xB7FFFFE4}, + [I(118,202)] = {64,0}, + [I(119,202)] = {64,0}, + [I(120,202)] = {64,0}, + [I(121,202)] = {64,0}, + [I(122,202)] = {64,0}, + [I(123,202)] = {64,0}, + [I(124,202)] = {64,0}, + [I(125,202)] = {64,0}, + [I(126,202)] = {64,0}, + [I(127,202)] = {64,0}, + [I(128,202)] = {64,0}, + [I(129,202)] = {64,0}, + [I(130,202)] = {64,0}, + [I(131,202)] = {64,0}, + [I(132,202)] = {64,0}, + [I(133,202)] = {64,0}, + [I(134,202)] = {64,0}, + [I(135,202)] = {64,0}, + [I(136,202)] = {64,0}, + [I(137,202)] = {64,0}, + [I(138,202)] = {64,0}, + [I(139,202)] = {64,0}, + [I(140,202)] = {64,0}, + [I(141,202)] = {64,0}, + [I(142,202)] = {64,0}, + [I(143,202)] = {64,0}, + [I(144,202)] = {64,0}, + [I(145,202)] = {64,0}, + [I(146,202)] = {64,0}, + [I(147,202)] = {64,0}, + [I(148,202)] = {64,0}, + [I(149,202)] = {64,0}, + [I(150,202)] = {64,0}, + [I(151,202)] = {64,0}, + [I(152,202)] = {64,0}, + [I(153,202)] = {64,0}, + [I(154,202)] = {64,0}, + [I(155,202)] = {64,0}, + [I(156,202)] = {64,0}, + [I(157,202)] = {64,0}, + [I(158,202)] = {64,0}, + [I(159,202)] = {64,0}, + [I(160,202)] = {64,0}, + [I(161,202)] = {64,0}, + [I(162,202)] = {64,0}, + [I(163,202)] = {64,0}, + [I(164,202)] = {64,0}, + [I(165,202)] = {64,0}, + [I(166,202)] = {64,0}, + [I(167,202)] = {64,0}, + [I(168,202)] = {64,0}, + [I(169,202)] = {64,0}, + [I(170,202)] = {64,0}, + [I(171,202)] = {64,0}, + [I(172,202)] = {64,0}, + [I(173,202)] = {64,0}, + [I(174,202)] = {64,0}, + [I(175,202)] = {64,0}, + [I(176,202)] = {64,0}, + [I(177,202)] = {64,0}, + [I(178,202)] = {64,0}, + [I(179,202)] = {64,0}, + [I(180,202)] = {64,0}, + [I(181,202)] = {64,0}, + [I(182,202)] = {64,0}, + [I(183,202)] = {64,0}, + [I(184,202)] = {64,0}, + [I(185,202)] = {64,0}, + [I(186,202)] = {64,0}, + [I(187,202)] = {64,0}, + [I(188,202)] = {64,0}, + [I(189,202)] = {64,0}, + [I(190,202)] = {64,0}, + [I(191,202)] = {64,0}, + [I(192,202)] = {64,0}, + [I(193,202)] = {64,0}, + [I(194,202)] = {64,0}, + [I(195,202)] = {64,0}, + [I(196,202)] = {64,0}, + [I(197,202)] = {64,0}, + [I(198,202)] = {64,0}, + [I(199,202)] = {64,0}, + [I(200,202)] = {64,0}, + [I(201,202)] = {64,0}, + [I(202,202)] = {64,0}, + [I(203,202)] = {64,0}, + [I(204,202)] = {64,0}, + [I(205,202)] = {64,0}, + [I(206,202)] = {64,0}, + [I(207,202)] = {64,0}, + [I(208,202)] = {64,0}, + [I(209,202)] = {64,0}, + [I(210,202)] = {64,0}, + [I(211,202)] = {64,0}, + [I(212,202)] = {64,0}, + [I(213,202)] = {64,0}, + [I(214,202)] = {64,0}, + [I(215,202)] = {64,0}, + [I(216,202)] = {64,0}, + [I(217,202)] = {64,0}, + [I(218,202)] = {64,0}, + [I(219,202)] = {64,0}, + [I(220,202)] = {64,0}, + [I(221,202)] = {64,0}, + [I(222,202)] = {64,0}, + [I(223,202)] = {64,0}, + [I(224,202)] = {64,0}, + [I(225,202)] = {64,0}, + [I(226,202)] = {64,0}, + [I(227,202)] = {64,0}, + [I(228,202)] = {64,0}, + [I(229,202)] = {64,0}, + [I(230,202)] = {64,0}, + [I(231,202)] = {64,0}, + [I(232,202)] = {64,0}, + [I(233,202)] = {64,0}, + [I(234,202)] = {64,0}, + [I(235,202)] = {64,0}, + [I(236,202)] = {64,0}, + [I(237,202)] = {64,0}, + [I(238,202)] = {64,0}, + [I(239,202)] = {64,0}, + [I(240,202)] = {64,0}, + [I(241,202)] = {64,0}, + [I(242,202)] = {64,0}, + [I(243,202)] = {64,0}, + [I(244,202)] = {64,0}, + [I(245,202)] = {64,0}, + [I(246,202)] = {64,0}, + [I(247,202)] = {64,0}, + [I(248,202)] = {64,0}, + [I(249,202)] = {64,0}, + [I(250,202)] = {64,0}, + [I(251,202)] = {64,0}, + [I(252,202)] = {64,0}, + [I(253,202)] = {64,0}, + [I(254,202)] = {64,0}, + [I(255,202)] = {64,0}, + [I(0,203)] = {64,0}, + [I(1,203)] = {64,0}, + [I(2,203)] = {64,0}, + [I(3,203)] = {64,0}, + [I(4,203)] = {64,0}, + [I(5,203)] = {64,0}, + [I(6,203)] = {64,0}, + [I(7,203)] = {64,0}, + [I(8,203)] = {64,0}, + [I(9,203)] = {64,0}, + [I(10,203)] = {64,0}, + [I(11,203)] = {64,0}, + [I(12,203)] = {64,0}, + [I(13,203)] = {64,0}, + [I(14,203)] = {64,0}, + [I(15,203)] = {64,0}, + [I(16,203)] = {64,0}, + [I(17,203)] = {64,0}, + [I(18,203)] = {64,0}, + [I(19,203)] = {64,0}, + [I(20,203)] = {64,0}, + [I(21,203)] = {64,0}, + [I(22,203)] = {64,0}, + [I(23,203)] = {64,0}, + [I(24,203)] = {64,0}, + [I(25,203)] = {64,0}, + [I(26,203)] = {64,0}, + [I(27,203)] = {64,0}, + [I(28,203)] = {64,0}, + [I(29,203)] = {64,0}, + [I(30,203)] = {64,0}, + [I(31,203)] = {64,0}, + [I(32,203)] = {64,0}, + [I(33,203)] = {64,0}, + [I(34,203)] = {64,0}, + [I(35,203)] = {64,0}, + [I(36,203)] = {64,0}, + [I(37,203)] = {64,0}, + [I(38,203)] = {64,0}, + [I(39,203)] = {64,0}, + [I(40,203)] = {64,0}, + [I(41,203)] = {64,0}, + [I(42,203)] = {64,0}, + [I(43,203)] = {64,0}, + [I(44,203)] = {64,0}, + [I(45,203)] = {64,0}, + [I(46,203)] = {64,0}, + [I(47,203)] = {64,0}, + [I(48,203)] = {X32,0x7FFFFDE}, + [I(49,203)] = {X32,0xFFFFFDE}, + [I(50,203)] = {X32,0x17FFFFDE}, + [I(51,203)] = {64,0}, + [I(52,203)] = {64,0}, + [I(53,203)] = {64,0}, + [I(54,203)] = {64,0}, + [I(55,203)] = {64,0}, + [I(56,203)] = {64,0}, + [I(57,203)] = {64,0}, + [I(58,203)] = {64,0}, + [I(59,203)] = {64,0}, + [I(60,203)] = {64,0}, + [I(61,203)] = {64,0}, + [I(62,203)] = {64,0}, + [I(63,203)] = {64,0}, + [I(64,203)] = {64,0}, + [I(65,203)] = {64,0}, + [I(66,203)] = {64,0}, + [I(67,203)] = {64,0}, + [I(68,203)] = {64,0}, + [I(69,203)] = {64,0}, + [I(70,203)] = {64,0}, + [I(71,203)] = {64,0}, + [I(72,203)] = {64,0}, + [I(73,203)] = {64,0}, + [I(74,203)] = {64,0}, + [I(75,203)] = {64,0}, + [I(76,203)] = {64,0}, + [I(77,203)] = {64,0}, + [I(78,203)] = {64,0}, + [I(79,203)] = {64,0}, + [I(80,203)] = {64,0}, + [I(81,203)] = {64,0}, + [I(82,203)] = {64,0}, + [I(83,203)] = {64,0}, + [I(84,203)] = {64,0}, + [I(85,203)] = {64,0}, + [I(86,203)] = {64,0}, + [I(87,203)] = {64,0}, + [I(88,203)] = {64,0}, + [I(89,203)] = {64,0}, + [I(90,203)] = {64,0}, + [I(91,203)] = {64,0}, + [I(92,203)] = {64,0}, + [I(93,203)] = {64,0}, + [I(94,203)] = {64,0}, + [I(95,203)] = {64,0}, + [I(96,203)] = {64,0}, + [I(97,203)] = {X32,0x1FFFFFDE}, + [I(98,203)] = {64,0}, + [I(99,203)] = {X32,0x27FFFFDE}, + [I(100,203)] = {64,0}, + [I(101,203)] = {X32,0x2FFFFFDE}, + [I(102,203)] = {64,0}, + [I(103,203)] = {64,0}, + [I(104,203)] = {64,0}, + [I(105,203)] = {X32,0x37FFFFDE}, + [I(106,203)] = {64,0}, + [I(107,203)] = {64,0}, + [I(108,203)] = {64,0}, + [I(109,203)] = {64,0}, + [I(110,203)] = {64,0}, + [I(111,203)] = {X32,0x3FFFFFDE}, + [I(112,203)] = {64,0}, + [I(113,203)] = {64,0}, + [I(114,203)] = {64,0}, + [I(115,203)] = {X32,0x47FFFFDE}, + [I(116,203)] = {X32,0x4FFFFFDE}, + [I(117,203)] = {64,0}, + [I(118,203)] = {64,0}, + [I(119,203)] = {64,0}, + [I(120,203)] = {64,0}, + [I(121,203)] = {64,0}, + [I(122,203)] = {64,0}, + [I(123,203)] = {64,0}, + [I(124,203)] = {64,0}, + [I(125,203)] = {64,0}, + [I(126,203)] = {64,0}, + [I(127,203)] = {64,0}, + [I(128,203)] = {64,0}, + [I(129,203)] = {64,0}, + [I(130,203)] = {64,0}, + [I(131,203)] = {64,0}, + [I(132,203)] = {64,0}, + [I(133,203)] = {64,0}, + [I(134,203)] = {64,0}, + [I(135,203)] = {64,0}, + [I(136,203)] = {64,0}, + [I(137,203)] = {64,0}, + [I(138,203)] = {64,0}, + [I(139,203)] = {64,0}, + [I(140,203)] = {64,0}, + [I(141,203)] = {64,0}, + [I(142,203)] = {64,0}, + [I(143,203)] = {64,0}, + [I(144,203)] = {64,0}, + [I(145,203)] = {64,0}, + [I(146,203)] = {64,0}, + [I(147,203)] = {64,0}, + [I(148,203)] = {64,0}, + [I(149,203)] = {64,0}, + [I(150,203)] = {64,0}, + [I(151,203)] = {64,0}, + [I(152,203)] = {64,0}, + [I(153,203)] = {64,0}, + [I(154,203)] = {64,0}, + [I(155,203)] = {64,0}, + [I(156,203)] = {64,0}, + [I(157,203)] = {64,0}, + [I(158,203)] = {64,0}, + [I(159,203)] = {64,0}, + [I(160,203)] = {64,0}, + [I(161,203)] = {64,0}, + [I(162,203)] = {64,0}, + [I(163,203)] = {64,0}, + [I(164,203)] = {64,0}, + [I(165,203)] = {64,0}, + [I(166,203)] = {64,0}, + [I(167,203)] = {64,0}, + [I(168,203)] = {64,0}, + [I(169,203)] = {64,0}, + [I(170,203)] = {64,0}, + [I(171,203)] = {64,0}, + [I(172,203)] = {64,0}, + [I(173,203)] = {64,0}, + [I(174,203)] = {64,0}, + [I(175,203)] = {64,0}, + [I(176,203)] = {64,0}, + [I(177,203)] = {64,0}, + [I(178,203)] = {64,0}, + [I(179,203)] = {64,0}, + [I(180,203)] = {64,0}, + [I(181,203)] = {64,0}, + [I(182,203)] = {64,0}, + [I(183,203)] = {64,0}, + [I(184,203)] = {64,0}, + [I(185,203)] = {64,0}, + [I(186,203)] = {64,0}, + [I(187,203)] = {64,0}, + [I(188,203)] = {64,0}, + [I(189,203)] = {64,0}, + [I(190,203)] = {64,0}, + [I(191,203)] = {64,0}, + [I(192,203)] = {64,0}, + [I(193,203)] = {64,0}, + [I(194,203)] = {64,0}, + [I(195,203)] = {64,0}, + [I(196,203)] = {64,0}, + [I(197,203)] = {64,0}, + [I(198,203)] = {64,0}, + [I(199,203)] = {64,0}, + [I(200,203)] = {64,0}, + [I(201,203)] = {64,0}, + [I(202,203)] = {64,0}, + [I(203,203)] = {64,0}, + [I(204,203)] = {64,0}, + [I(205,203)] = {64,0}, + [I(206,203)] = {64,0}, + [I(207,203)] = {64,0}, + [I(208,203)] = {64,0}, + [I(209,203)] = {64,0}, + [I(210,203)] = {64,0}, + [I(211,203)] = {64,0}, + [I(212,203)] = {64,0}, + [I(213,203)] = {64,0}, + [I(214,203)] = {64,0}, + [I(215,203)] = {64,0}, + [I(216,203)] = {64,0}, + [I(217,203)] = {64,0}, + [I(218,203)] = {64,0}, + [I(219,203)] = {64,0}, + [I(220,203)] = {64,0}, + [I(221,203)] = {64,0}, + [I(222,203)] = {64,0}, + [I(223,203)] = {64,0}, + [I(224,203)] = {64,0}, + [I(225,203)] = {64,0}, + [I(226,203)] = {64,0}, + [I(227,203)] = {64,0}, + [I(228,203)] = {64,0}, + [I(229,203)] = {64,0}, + [I(230,203)] = {64,0}, + [I(231,203)] = {64,0}, + [I(232,203)] = {64,0}, + [I(233,203)] = {64,0}, + [I(234,203)] = {64,0}, + [I(235,203)] = {64,0}, + [I(236,203)] = {64,0}, + [I(237,203)] = {64,0}, + [I(238,203)] = {64,0}, + [I(239,203)] = {64,0}, + [I(240,203)] = {64,0}, + [I(241,203)] = {64,0}, + [I(242,203)] = {64,0}, + [I(243,203)] = {64,0}, + [I(244,203)] = {64,0}, + [I(245,203)] = {64,0}, + [I(246,203)] = {64,0}, + [I(247,203)] = {64,0}, + [I(248,203)] = {64,0}, + [I(249,203)] = {64,0}, + [I(250,203)] = {64,0}, + [I(251,203)] = {64,0}, + [I(252,203)] = {64,0}, + [I(253,203)] = {64,0}, + [I(254,203)] = {64,0}, + [I(255,203)] = {64,0}, + [I(0,204)] = {64,0}, + [I(1,204)] = {64,0}, + [I(2,204)] = {64,0}, + [I(3,204)] = {64,0}, + [I(4,204)] = {64,0}, + [I(5,204)] = {64,0}, + [I(6,204)] = {64,0}, + [I(7,204)] = {64,0}, + [I(8,204)] = {64,0}, + [I(9,204)] = {64,0}, + [I(10,204)] = {64,0}, + [I(11,204)] = {64,0}, + [I(12,204)] = {64,0}, + [I(13,204)] = {64,0}, + [I(14,204)] = {64,0}, + [I(15,204)] = {64,0}, + [I(16,204)] = {64,0}, + [I(17,204)] = {64,0}, + [I(18,204)] = {64,0}, + [I(19,204)] = {64,0}, + [I(20,204)] = {64,0}, + [I(21,204)] = {64,0}, + [I(22,204)] = {64,0}, + [I(23,204)] = {64,0}, + [I(24,204)] = {64,0}, + [I(25,204)] = {64,0}, + [I(26,204)] = {64,0}, + [I(27,204)] = {64,0}, + [I(28,204)] = {64,0}, + [I(29,204)] = {64,0}, + [I(30,204)] = {64,0}, + [I(31,204)] = {64,0}, + [I(32,204)] = {64,0}, + [I(33,204)] = {64,0}, + [I(34,204)] = {64,0}, + [I(35,204)] = {64,0}, + [I(36,204)] = {64,0}, + [I(37,204)] = {64,0}, + [I(38,204)] = {64,0}, + [I(39,204)] = {64,0}, + [I(40,204)] = {64,0}, + [I(41,204)] = {64,0}, + [I(42,204)] = {64,0}, + [I(43,204)] = {64,0}, + [I(44,204)] = {64,0}, + [I(45,204)] = {64,0}, + [I(46,204)] = {64,0}, + [I(47,204)] = {64,0}, + [I(48,204)] = {X32,0x7FFFFDF}, + [I(49,204)] = {X32,0xFFFFFDF}, + [I(50,204)] = {X32,0x17FFFFDF}, + [I(51,204)] = {64,0}, + [I(52,204)] = {64,0}, + [I(53,204)] = {64,0}, + [I(54,204)] = {64,0}, + [I(55,204)] = {64,0}, + [I(56,204)] = {64,0}, + [I(57,204)] = {64,0}, + [I(58,204)] = {64,0}, + [I(59,204)] = {64,0}, + [I(60,204)] = {64,0}, + [I(61,204)] = {64,0}, + [I(62,204)] = {64,0}, + [I(63,204)] = {64,0}, + [I(64,204)] = {64,0}, + [I(65,204)] = {64,0}, + [I(66,204)] = {64,0}, + [I(67,204)] = {64,0}, + [I(68,204)] = {64,0}, + [I(69,204)] = {64,0}, + [I(70,204)] = {64,0}, + [I(71,204)] = {64,0}, + [I(72,204)] = {64,0}, + [I(73,204)] = {64,0}, + [I(74,204)] = {64,0}, + [I(75,204)] = {64,0}, + [I(76,204)] = {64,0}, + [I(77,204)] = {64,0}, + [I(78,204)] = {64,0}, + [I(79,204)] = {64,0}, + [I(80,204)] = {64,0}, + [I(81,204)] = {64,0}, + [I(82,204)] = {64,0}, + [I(83,204)] = {64,0}, + [I(84,204)] = {64,0}, + [I(85,204)] = {64,0}, + [I(86,204)] = {64,0}, + [I(87,204)] = {64,0}, + [I(88,204)] = {64,0}, + [I(89,204)] = {64,0}, + [I(90,204)] = {64,0}, + [I(91,204)] = {64,0}, + [I(92,204)] = {64,0}, + [I(93,204)] = {64,0}, + [I(94,204)] = {64,0}, + [I(95,204)] = {64,0}, + [I(96,204)] = {64,0}, + [I(97,204)] = {X32,0x1FFFFFDF}, + [I(98,204)] = {64,0}, + [I(99,204)] = {X32,0x27FFFFDF}, + [I(100,204)] = {64,0}, + [I(101,204)] = {X32,0x2FFFFFDF}, + [I(102,204)] = {64,0}, + [I(103,204)] = {64,0}, + [I(104,204)] = {64,0}, + [I(105,204)] = {X32,0x37FFFFDF}, + [I(106,204)] = {64,0}, + [I(107,204)] = {64,0}, + [I(108,204)] = {64,0}, + [I(109,204)] = {64,0}, + [I(110,204)] = {64,0}, + [I(111,204)] = {X32,0x3FFFFFDF}, + [I(112,204)] = {64,0}, + [I(113,204)] = {64,0}, + [I(114,204)] = {64,0}, + [I(115,204)] = {X32,0x47FFFFDF}, + [I(116,204)] = {X32,0x4FFFFFDF}, + [I(117,204)] = {64,0}, + [I(118,204)] = {64,0}, + [I(119,204)] = {64,0}, + [I(120,204)] = {64,0}, + [I(121,204)] = {64,0}, + [I(122,204)] = {64,0}, + [I(123,204)] = {64,0}, + [I(124,204)] = {64,0}, + [I(125,204)] = {64,0}, + [I(126,204)] = {64,0}, + [I(127,204)] = {64,0}, + [I(128,204)] = {64,0}, + [I(129,204)] = {64,0}, + [I(130,204)] = {64,0}, + [I(131,204)] = {64,0}, + [I(132,204)] = {64,0}, + [I(133,204)] = {64,0}, + [I(134,204)] = {64,0}, + [I(135,204)] = {64,0}, + [I(136,204)] = {64,0}, + [I(137,204)] = {64,0}, + [I(138,204)] = {64,0}, + [I(139,204)] = {64,0}, + [I(140,204)] = {64,0}, + [I(141,204)] = {64,0}, + [I(142,204)] = {64,0}, + [I(143,204)] = {64,0}, + [I(144,204)] = {64,0}, + [I(145,204)] = {64,0}, + [I(146,204)] = {64,0}, + [I(147,204)] = {64,0}, + [I(148,204)] = {64,0}, + [I(149,204)] = {64,0}, + [I(150,204)] = {64,0}, + [I(151,204)] = {64,0}, + [I(152,204)] = {64,0}, + [I(153,204)] = {64,0}, + [I(154,204)] = {64,0}, + [I(155,204)] = {64,0}, + [I(156,204)] = {64,0}, + [I(157,204)] = {64,0}, + [I(158,204)] = {64,0}, + [I(159,204)] = {64,0}, + [I(160,204)] = {64,0}, + [I(161,204)] = {64,0}, + [I(162,204)] = {64,0}, + [I(163,204)] = {64,0}, + [I(164,204)] = {64,0}, + [I(165,204)] = {64,0}, + [I(166,204)] = {64,0}, + [I(167,204)] = {64,0}, + [I(168,204)] = {64,0}, + [I(169,204)] = {64,0}, + [I(170,204)] = {64,0}, + [I(171,204)] = {64,0}, + [I(172,204)] = {64,0}, + [I(173,204)] = {64,0}, + [I(174,204)] = {64,0}, + [I(175,204)] = {64,0}, + [I(176,204)] = {64,0}, + [I(177,204)] = {64,0}, + [I(178,204)] = {64,0}, + [I(179,204)] = {64,0}, + [I(180,204)] = {64,0}, + [I(181,204)] = {64,0}, + [I(182,204)] = {64,0}, + [I(183,204)] = {64,0}, + [I(184,204)] = {64,0}, + [I(185,204)] = {64,0}, + [I(186,204)] = {64,0}, + [I(187,204)] = {64,0}, + [I(188,204)] = {64,0}, + [I(189,204)] = {64,0}, + [I(190,204)] = {64,0}, + [I(191,204)] = {64,0}, + [I(192,204)] = {64,0}, + [I(193,204)] = {64,0}, + [I(194,204)] = {64,0}, + [I(195,204)] = {64,0}, + [I(196,204)] = {64,0}, + [I(197,204)] = {64,0}, + [I(198,204)] = {64,0}, + [I(199,204)] = {64,0}, + [I(200,204)] = {64,0}, + [I(201,204)] = {64,0}, + [I(202,204)] = {64,0}, + [I(203,204)] = {64,0}, + [I(204,204)] = {64,0}, + [I(205,204)] = {64,0}, + [I(206,204)] = {64,0}, + [I(207,204)] = {64,0}, + [I(208,204)] = {64,0}, + [I(209,204)] = {64,0}, + [I(210,204)] = {64,0}, + [I(211,204)] = {64,0}, + [I(212,204)] = {64,0}, + [I(213,204)] = {64,0}, + [I(214,204)] = {64,0}, + [I(215,204)] = {64,0}, + [I(216,204)] = {64,0}, + [I(217,204)] = {64,0}, + [I(218,204)] = {64,0}, + [I(219,204)] = {64,0}, + [I(220,204)] = {64,0}, + [I(221,204)] = {64,0}, + [I(222,204)] = {64,0}, + [I(223,204)] = {64,0}, + [I(224,204)] = {64,0}, + [I(225,204)] = {64,0}, + [I(226,204)] = {64,0}, + [I(227,204)] = {64,0}, + [I(228,204)] = {64,0}, + [I(229,204)] = {64,0}, + [I(230,204)] = {64,0}, + [I(231,204)] = {64,0}, + [I(232,204)] = {64,0}, + [I(233,204)] = {64,0}, + [I(234,204)] = {64,0}, + [I(235,204)] = {64,0}, + [I(236,204)] = {64,0}, + [I(237,204)] = {64,0}, + [I(238,204)] = {64,0}, + [I(239,204)] = {64,0}, + [I(240,204)] = {64,0}, + [I(241,204)] = {64,0}, + [I(242,204)] = {64,0}, + [I(243,204)] = {64,0}, + [I(244,204)] = {64,0}, + [I(245,204)] = {64,0}, + [I(246,204)] = {64,0}, + [I(247,204)] = {64,0}, + [I(248,204)] = {64,0}, + [I(249,204)] = {64,0}, + [I(250,204)] = {64,0}, + [I(251,204)] = {64,0}, + [I(252,204)] = {64,0}, + [I(253,204)] = {64,0}, + [I(254,204)] = {64,0}, + [I(255,204)] = {64,0}, + [I(0,205)] = {64,0}, + [I(1,205)] = {64,0}, + [I(2,205)] = {64,0}, + [I(3,205)] = {64,0}, + [I(4,205)] = {64,0}, + [I(5,205)] = {64,0}, + [I(6,205)] = {64,0}, + [I(7,205)] = {64,0}, + [I(8,205)] = {64,0}, + [I(9,205)] = {64,0}, + [I(10,205)] = {64,0}, + [I(11,205)] = {64,0}, + [I(12,205)] = {64,0}, + [I(13,205)] = {64,0}, + [I(14,205)] = {64,0}, + [I(15,205)] = {64,0}, + [I(16,205)] = {64,0}, + [I(17,205)] = {64,0}, + [I(18,205)] = {64,0}, + [I(19,205)] = {64,0}, + [I(20,205)] = {64,0}, + [I(21,205)] = {64,0}, + [I(22,205)] = {64,0}, + [I(23,205)] = {64,0}, + [I(24,205)] = {64,0}, + [I(25,205)] = {64,0}, + [I(26,205)] = {64,0}, + [I(27,205)] = {64,0}, + [I(28,205)] = {64,0}, + [I(29,205)] = {64,0}, + [I(30,205)] = {64,0}, + [I(31,205)] = {64,0}, + [I(32,205)] = {X32,0x53FFFFE5}, + [I(33,205)] = {64,0}, + [I(34,205)] = {64,0}, + [I(35,205)] = {64,0}, + [I(36,205)] = {64,0}, + [I(37,205)] = {X32,0x57FFFFE5}, + [I(38,205)] = {64,0}, + [I(39,205)] = {64,0}, + [I(40,205)] = {64,0}, + [I(41,205)] = {64,0}, + [I(42,205)] = {64,0}, + [I(43,205)] = {64,0}, + [I(44,205)] = {64,0}, + [I(45,205)] = {X32,0x5BFFFFE5}, + [I(46,205)] = {X32,0x5FFFFFE5}, + [I(47,205)] = {X32,0x63FFFFE5}, + [I(48,205)] = {31,0x3FFFFE5}, + [I(49,205)] = {31,0x7FFFFE5}, + [I(50,205)] = {31,0xBFFFFE5}, + [I(51,205)] = {X32,0x67FFFFE5}, + [I(52,205)] = {X32,0x6BFFFFE5}, + [I(53,205)] = {X32,0x6FFFFFE5}, + [I(54,205)] = {X32,0x73FFFFE5}, + [I(55,205)] = {X32,0x77FFFFE5}, + [I(56,205)] = {X32,0x7BFFFFE5}, + [I(57,205)] = {X32,0x7FFFFFE5}, + [I(58,205)] = {64,0}, + [I(59,205)] = {64,0}, + [I(60,205)] = {64,0}, + [I(61,205)] = {X32,0x83FFFFE5}, + [I(62,205)] = {64,0}, + [I(63,205)] = {64,0}, + [I(64,205)] = {64,0}, + [I(65,205)] = {X32,0x87FFFFE5}, + [I(66,205)] = {64,0}, + [I(67,205)] = {64,0}, + [I(68,205)] = {64,0}, + [I(69,205)] = {64,0}, + [I(70,205)] = {64,0}, + [I(71,205)] = {64,0}, + [I(72,205)] = {64,0}, + [I(73,205)] = {64,0}, + [I(74,205)] = {64,0}, + [I(75,205)] = {64,0}, + [I(76,205)] = {64,0}, + [I(77,205)] = {64,0}, + [I(78,205)] = {64,0}, + [I(79,205)] = {64,0}, + [I(80,205)] = {64,0}, + [I(81,205)] = {64,0}, + [I(82,205)] = {64,0}, + [I(83,205)] = {64,0}, + [I(84,205)] = {64,0}, + [I(85,205)] = {64,0}, + [I(86,205)] = {64,0}, + [I(87,205)] = {64,0}, + [I(88,205)] = {64,0}, + [I(89,205)] = {64,0}, + [I(90,205)] = {64,0}, + [I(91,205)] = {64,0}, + [I(92,205)] = {64,0}, + [I(93,205)] = {64,0}, + [I(94,205)] = {64,0}, + [I(95,205)] = {X32,0x8BFFFFE5}, + [I(96,205)] = {64,0}, + [I(97,205)] = {31,0xFFFFFE5}, + [I(98,205)] = {X32,0x8FFFFFE5}, + [I(99,205)] = {31,0x13FFFFE5}, + [I(100,205)] = {X32,0x93FFFFE5}, + [I(101,205)] = {31,0x17FFFFE5}, + [I(102,205)] = {X32,0x97FFFFE5}, + [I(103,205)] = {X32,0x9BFFFFE5}, + [I(104,205)] = {X32,0x9FFFFFE5}, + [I(105,205)] = {31,0x1BFFFFE5}, + [I(106,205)] = {64,0}, + [I(107,205)] = {64,0}, + [I(108,205)] = {X32,0xA3FFFFE5}, + [I(109,205)] = {X32,0xA7FFFFE5}, + [I(110,205)] = {X32,0xABFFFFE5}, + [I(111,205)] = {31,0x1FFFFFE5}, + [I(112,205)] = {X32,0xAFFFFFE5}, + [I(113,205)] = {64,0}, + [I(114,205)] = {X32,0xB3FFFFE5}, + [I(115,205)] = {31,0x23FFFFE5}, + [I(116,205)] = {31,0x27FFFFE5}, + [I(117,205)] = {X32,0xB7FFFFE5}, + [I(118,205)] = {64,0}, + [I(119,205)] = {64,0}, + [I(120,205)] = {64,0}, + [I(121,205)] = {64,0}, + [I(122,205)] = {64,0}, + [I(123,205)] = {64,0}, + [I(124,205)] = {64,0}, + [I(125,205)] = {64,0}, + [I(126,205)] = {64,0}, + [I(127,205)] = {64,0}, + [I(128,205)] = {64,0}, + [I(129,205)] = {64,0}, + [I(130,205)] = {64,0}, + [I(131,205)] = {64,0}, + [I(132,205)] = {64,0}, + [I(133,205)] = {64,0}, + [I(134,205)] = {64,0}, + [I(135,205)] = {64,0}, + [I(136,205)] = {64,0}, + [I(137,205)] = {64,0}, + [I(138,205)] = {64,0}, + [I(139,205)] = {64,0}, + [I(140,205)] = {64,0}, + [I(141,205)] = {64,0}, + [I(142,205)] = {64,0}, + [I(143,205)] = {64,0}, + [I(144,205)] = {64,0}, + [I(145,205)] = {64,0}, + [I(146,205)] = {64,0}, + [I(147,205)] = {64,0}, + [I(148,205)] = {64,0}, + [I(149,205)] = {64,0}, + [I(150,205)] = {64,0}, + [I(151,205)] = {64,0}, + [I(152,205)] = {64,0}, + [I(153,205)] = {64,0}, + [I(154,205)] = {64,0}, + [I(155,205)] = {64,0}, + [I(156,205)] = {64,0}, + [I(157,205)] = {64,0}, + [I(158,205)] = {64,0}, + [I(159,205)] = {64,0}, + [I(160,205)] = {64,0}, + [I(161,205)] = {64,0}, + [I(162,205)] = {64,0}, + [I(163,205)] = {64,0}, + [I(164,205)] = {64,0}, + [I(165,205)] = {64,0}, + [I(166,205)] = {64,0}, + [I(167,205)] = {64,0}, + [I(168,205)] = {64,0}, + [I(169,205)] = {64,0}, + [I(170,205)] = {64,0}, + [I(171,205)] = {64,0}, + [I(172,205)] = {64,0}, + [I(173,205)] = {64,0}, + [I(174,205)] = {64,0}, + [I(175,205)] = {64,0}, + [I(176,205)] = {64,0}, + [I(177,205)] = {64,0}, + [I(178,205)] = {64,0}, + [I(179,205)] = {64,0}, + [I(180,205)] = {64,0}, + [I(181,205)] = {64,0}, + [I(182,205)] = {64,0}, + [I(183,205)] = {64,0}, + [I(184,205)] = {64,0}, + [I(185,205)] = {64,0}, + [I(186,205)] = {64,0}, + [I(187,205)] = {64,0}, + [I(188,205)] = {64,0}, + [I(189,205)] = {64,0}, + [I(190,205)] = {64,0}, + [I(191,205)] = {64,0}, + [I(192,205)] = {64,0}, + [I(193,205)] = {64,0}, + [I(194,205)] = {64,0}, + [I(195,205)] = {64,0}, + [I(196,205)] = {64,0}, + [I(197,205)] = {64,0}, + [I(198,205)] = {64,0}, + [I(199,205)] = {64,0}, + [I(200,205)] = {64,0}, + [I(201,205)] = {64,0}, + [I(202,205)] = {64,0}, + [I(203,205)] = {64,0}, + [I(204,205)] = {64,0}, + [I(205,205)] = {64,0}, + [I(206,205)] = {64,0}, + [I(207,205)] = {64,0}, + [I(208,205)] = {64,0}, + [I(209,205)] = {64,0}, + [I(210,205)] = {64,0}, + [I(211,205)] = {64,0}, + [I(212,205)] = {64,0}, + [I(213,205)] = {64,0}, + [I(214,205)] = {64,0}, + [I(215,205)] = {64,0}, + [I(216,205)] = {64,0}, + [I(217,205)] = {64,0}, + [I(218,205)] = {64,0}, + [I(219,205)] = {64,0}, + [I(220,205)] = {64,0}, + [I(221,205)] = {64,0}, + [I(222,205)] = {64,0}, + [I(223,205)] = {64,0}, + [I(224,205)] = {64,0}, + [I(225,205)] = {64,0}, + [I(226,205)] = {64,0}, + [I(227,205)] = {64,0}, + [I(228,205)] = {64,0}, + [I(229,205)] = {64,0}, + [I(230,205)] = {64,0}, + [I(231,205)] = {64,0}, + [I(232,205)] = {64,0}, + [I(233,205)] = {64,0}, + [I(234,205)] = {64,0}, + [I(235,205)] = {64,0}, + [I(236,205)] = {64,0}, + [I(237,205)] = {64,0}, + [I(238,205)] = {64,0}, + [I(239,205)] = {64,0}, + [I(240,205)] = {64,0}, + [I(241,205)] = {64,0}, + [I(242,205)] = {64,0}, + [I(243,205)] = {64,0}, + [I(244,205)] = {64,0}, + [I(245,205)] = {64,0}, + [I(246,205)] = {64,0}, + [I(247,205)] = {64,0}, + [I(248,205)] = {64,0}, + [I(249,205)] = {64,0}, + [I(250,205)] = {64,0}, + [I(251,205)] = {64,0}, + [I(252,205)] = {64,0}, + [I(253,205)] = {64,0}, + [I(254,205)] = {64,0}, + [I(255,205)] = {64,0}, + [I(0,206)] = {64,0}, + [I(1,206)] = {64,0}, + [I(2,206)] = {64,0}, + [I(3,206)] = {64,0}, + [I(4,206)] = {64,0}, + [I(5,206)] = {64,0}, + [I(6,206)] = {64,0}, + [I(7,206)] = {64,0}, + [I(8,206)] = {64,0}, + [I(9,206)] = {64,0}, + [I(10,206)] = {64,0}, + [I(11,206)] = {64,0}, + [I(12,206)] = {64,0}, + [I(13,206)] = {64,0}, + [I(14,206)] = {64,0}, + [I(15,206)] = {64,0}, + [I(16,206)] = {64,0}, + [I(17,206)] = {64,0}, + [I(18,206)] = {64,0}, + [I(19,206)] = {64,0}, + [I(20,206)] = {64,0}, + [I(21,206)] = {64,0}, + [I(22,206)] = {64,0}, + [I(23,206)] = {64,0}, + [I(24,206)] = {64,0}, + [I(25,206)] = {64,0}, + [I(26,206)] = {64,0}, + [I(27,206)] = {64,0}, + [I(28,206)] = {64,0}, + [I(29,206)] = {64,0}, + [I(30,206)] = {64,0}, + [I(31,206)] = {64,0}, + [I(32,206)] = {30,0x14FFFFF1}, + [I(33,206)] = {64,0}, + [I(34,206)] = {64,0}, + [I(35,206)] = {64,0}, + [I(36,206)] = {64,0}, + [I(37,206)] = {30,0x15FFFFF1}, + [I(38,206)] = {X32,0xF8FFFFF1}, + [I(39,206)] = {64,0}, + [I(40,206)] = {64,0}, + [I(41,206)] = {64,0}, + [I(42,206)] = {X32,0xF9FFFFF1}, + [I(43,206)] = {64,0}, + [I(44,206)] = {X32,0xFAFFFFF1}, + [I(45,206)] = {30,0x16FFFFF1}, + [I(46,206)] = {30,0x17FFFFF1}, + [I(47,206)] = {30,0x18FFFFF1}, + [I(48,206)] = {29,0xFFFFF1}, + [I(49,206)] = {29,0x1FFFFF1}, + [I(50,206)] = {29,0x2FFFFF1}, + [I(51,206)] = {30,0x19FFFFF1}, + [I(52,206)] = {30,0x1AFFFFF1}, + [I(53,206)] = {30,0x1BFFFFF1}, + [I(54,206)] = {30,0x1CFFFFF1}, + [I(55,206)] = {30,0x1DFFFFF1}, + [I(56,206)] = {30,0x1EFFFFF1}, + [I(57,206)] = {30,0x1FFFFFF1}, + [I(58,206)] = {31,0x5CFFFFF1}, + [I(59,206)] = {X32,0xFBFFFFF1}, + [I(60,206)] = {64,0}, + [I(61,206)] = {30,0x20FFFFF1}, + [I(62,206)] = {64,0}, + [I(63,206)] = {64,0}, + [I(64,206)] = {64,0}, + [I(65,206)] = {30,0x21FFFFF1}, + [I(66,206)] = {31,0x5DFFFFF1}, + [I(67,206)] = {31,0x5EFFFFF1}, + [I(68,206)] = {31,0x5FFFFFF1}, + [I(69,206)] = {31,0x60FFFFF1}, + [I(70,206)] = {31,0x61FFFFF1}, + [I(71,206)] = {31,0x62FFFFF1}, + [I(72,206)] = {31,0x63FFFFF1}, + [I(73,206)] = {31,0x64FFFFF1}, + [I(74,206)] = {31,0x65FFFFF1}, + [I(75,206)] = {31,0x66FFFFF1}, + [I(76,206)] = {31,0x67FFFFF1}, + [I(77,206)] = {31,0x68FFFFF1}, + [I(78,206)] = {31,0x69FFFFF1}, + [I(79,206)] = {31,0x6AFFFFF1}, + [I(80,206)] = {31,0x6BFFFFF1}, + [I(81,206)] = {31,0x6CFFFFF1}, + [I(82,206)] = {31,0x6DFFFFF1}, + [I(83,206)] = {31,0x6EFFFFF1}, + [I(84,206)] = {31,0x6FFFFFF1}, + [I(85,206)] = {31,0x70FFFFF1}, + [I(86,206)] = {31,0x71FFFFF1}, + [I(87,206)] = {31,0x72FFFFF1}, + [I(88,206)] = {X32,0xFCFFFFF1}, + [I(89,206)] = {31,0x73FFFFF1}, + [I(90,206)] = {X32,0xFDFFFFF1}, + [I(91,206)] = {64,0}, + [I(92,206)] = {64,0}, + [I(93,206)] = {64,0}, + [I(94,206)] = {64,0}, + [I(95,206)] = {30,0x22FFFFF1}, + [I(96,206)] = {64,0}, + [I(97,206)] = {29,0x3FFFFF1}, + [I(98,206)] = {30,0x23FFFFF1}, + [I(99,206)] = {29,0x4FFFFF1}, + [I(100,206)] = {30,0x24FFFFF1}, + [I(101,206)] = {29,0x5FFFFF1}, + [I(102,206)] = {30,0x25FFFFF1}, + [I(103,206)] = {30,0x26FFFFF1}, + [I(104,206)] = {30,0x27FFFFF1}, + [I(105,206)] = {29,0x6FFFFF1}, + [I(106,206)] = {31,0x74FFFFF1}, + [I(107,206)] = {31,0x75FFFFF1}, + [I(108,206)] = {30,0x28FFFFF1}, + [I(109,206)] = {30,0x29FFFFF1}, + [I(110,206)] = {30,0x2AFFFFF1}, + [I(111,206)] = {29,0x7FFFFF1}, + [I(112,206)] = {30,0x2BFFFFF1}, + [I(113,206)] = {31,0x76FFFFF1}, + [I(114,206)] = {30,0x2CFFFFF1}, + [I(115,206)] = {29,0x8FFFFF1}, + [I(116,206)] = {29,0x9FFFFF1}, + [I(117,206)] = {30,0x2DFFFFF1}, + [I(118,206)] = {31,0x77FFFFF1}, + [I(119,206)] = {31,0x78FFFFF1}, + [I(120,206)] = {31,0x79FFFFF1}, + [I(121,206)] = {31,0x7AFFFFF1}, + [I(122,206)] = {31,0x7BFFFFF1}, + [I(123,206)] = {64,0}, + [I(124,206)] = {64,0}, + [I(125,206)] = {64,0}, + [I(126,206)] = {64,0}, + [I(127,206)] = {64,0}, + [I(128,206)] = {64,0}, + [I(129,206)] = {64,0}, + [I(130,206)] = {64,0}, + [I(131,206)] = {64,0}, + [I(132,206)] = {64,0}, + [I(133,206)] = {64,0}, + [I(134,206)] = {64,0}, + [I(135,206)] = {64,0}, + [I(136,206)] = {64,0}, + [I(137,206)] = {64,0}, + [I(138,206)] = {64,0}, + [I(139,206)] = {64,0}, + [I(140,206)] = {64,0}, + [I(141,206)] = {64,0}, + [I(142,206)] = {64,0}, + [I(143,206)] = {64,0}, + [I(144,206)] = {64,0}, + [I(145,206)] = {64,0}, + [I(146,206)] = {64,0}, + [I(147,206)] = {64,0}, + [I(148,206)] = {64,0}, + [I(149,206)] = {64,0}, + [I(150,206)] = {64,0}, + [I(151,206)] = {64,0}, + [I(152,206)] = {64,0}, + [I(153,206)] = {64,0}, + [I(154,206)] = {64,0}, + [I(155,206)] = {64,0}, + [I(156,206)] = {64,0}, + [I(157,206)] = {64,0}, + [I(158,206)] = {64,0}, + [I(159,206)] = {64,0}, + [I(160,206)] = {64,0}, + [I(161,206)] = {64,0}, + [I(162,206)] = {64,0}, + [I(163,206)] = {64,0}, + [I(164,206)] = {64,0}, + [I(165,206)] = {64,0}, + [I(166,206)] = {64,0}, + [I(167,206)] = {64,0}, + [I(168,206)] = {64,0}, + [I(169,206)] = {64,0}, + [I(170,206)] = {64,0}, + [I(171,206)] = {64,0}, + [I(172,206)] = {64,0}, + [I(173,206)] = {64,0}, + [I(174,206)] = {64,0}, + [I(175,206)] = {64,0}, + [I(176,206)] = {64,0}, + [I(177,206)] = {64,0}, + [I(178,206)] = {64,0}, + [I(179,206)] = {64,0}, + [I(180,206)] = {64,0}, + [I(181,206)] = {64,0}, + [I(182,206)] = {64,0}, + [I(183,206)] = {64,0}, + [I(184,206)] = {64,0}, + [I(185,206)] = {64,0}, + [I(186,206)] = {64,0}, + [I(187,206)] = {64,0}, + [I(188,206)] = {64,0}, + [I(189,206)] = {64,0}, + [I(190,206)] = {64,0}, + [I(191,206)] = {64,0}, + [I(192,206)] = {64,0}, + [I(193,206)] = {64,0}, + [I(194,206)] = {64,0}, + [I(195,206)] = {64,0}, + [I(196,206)] = {64,0}, + [I(197,206)] = {64,0}, + [I(198,206)] = {64,0}, + [I(199,206)] = {64,0}, + [I(200,206)] = {64,0}, + [I(201,206)] = {64,0}, + [I(202,206)] = {64,0}, + [I(203,206)] = {64,0}, + [I(204,206)] = {64,0}, + [I(205,206)] = {64,0}, + [I(206,206)] = {64,0}, + [I(207,206)] = {64,0}, + [I(208,206)] = {64,0}, + [I(209,206)] = {64,0}, + [I(210,206)] = {64,0}, + [I(211,206)] = {64,0}, + [I(212,206)] = {64,0}, + [I(213,206)] = {64,0}, + [I(214,206)] = {64,0}, + [I(215,206)] = {64,0}, + [I(216,206)] = {64,0}, + [I(217,206)] = {64,0}, + [I(218,206)] = {64,0}, + [I(219,206)] = {64,0}, + [I(220,206)] = {64,0}, + [I(221,206)] = {64,0}, + [I(222,206)] = {64,0}, + [I(223,206)] = {64,0}, + [I(224,206)] = {64,0}, + [I(225,206)] = {64,0}, + [I(226,206)] = {64,0}, + [I(227,206)] = {64,0}, + [I(228,206)] = {64,0}, + [I(229,206)] = {64,0}, + [I(230,206)] = {64,0}, + [I(231,206)] = {64,0}, + [I(232,206)] = {64,0}, + [I(233,206)] = {64,0}, + [I(234,206)] = {64,0}, + [I(235,206)] = {64,0}, + [I(236,206)] = {64,0}, + [I(237,206)] = {64,0}, + [I(238,206)] = {64,0}, + [I(239,206)] = {64,0}, + [I(240,206)] = {64,0}, + [I(241,206)] = {64,0}, + [I(242,206)] = {64,0}, + [I(243,206)] = {64,0}, + [I(244,206)] = {64,0}, + [I(245,206)] = {64,0}, + [I(246,206)] = {64,0}, + [I(247,206)] = {64,0}, + [I(248,206)] = {64,0}, + [I(249,206)] = {64,0}, + [I(250,206)] = {64,0}, + [I(251,206)] = {64,0}, + [I(252,206)] = {64,0}, + [I(253,206)] = {64,0}, + [I(254,206)] = {64,0}, + [I(255,206)] = {64,0}, + [I(0,207)] = {64,0}, + [I(1,207)] = {64,0}, + [I(2,207)] = {64,0}, + [I(3,207)] = {64,0}, + [I(4,207)] = {64,0}, + [I(5,207)] = {64,0}, + [I(6,207)] = {64,0}, + [I(7,207)] = {64,0}, + [I(8,207)] = {64,0}, + [I(9,207)] = {64,0}, + [I(10,207)] = {64,0}, + [I(11,207)] = {64,0}, + [I(12,207)] = {64,0}, + [I(13,207)] = {64,0}, + [I(14,207)] = {64,0}, + [I(15,207)] = {64,0}, + [I(16,207)] = {64,0}, + [I(17,207)] = {64,0}, + [I(18,207)] = {64,0}, + [I(19,207)] = {64,0}, + [I(20,207)] = {64,0}, + [I(21,207)] = {64,0}, + [I(22,207)] = {64,0}, + [I(23,207)] = {64,0}, + [I(24,207)] = {64,0}, + [I(25,207)] = {64,0}, + [I(26,207)] = {64,0}, + [I(27,207)] = {64,0}, + [I(28,207)] = {64,0}, + [I(29,207)] = {64,0}, + [I(30,207)] = {64,0}, + [I(31,207)] = {64,0}, + [I(32,207)] = {31,0x29FFFFED}, + [I(33,207)] = {64,0}, + [I(34,207)] = {64,0}, + [I(35,207)] = {64,0}, + [I(36,207)] = {64,0}, + [I(37,207)] = {31,0x2BFFFFED}, + [I(38,207)] = {64,0}, + [I(39,207)] = {64,0}, + [I(40,207)] = {64,0}, + [I(41,207)] = {64,0}, + [I(42,207)] = {64,0}, + [I(43,207)] = {64,0}, + [I(44,207)] = {64,0}, + [I(45,207)] = {31,0x2DFFFFED}, + [I(46,207)] = {31,0x2FFFFFED}, + [I(47,207)] = {31,0x31FFFFED}, + [I(48,207)] = {30,0x1FFFFED}, + [I(49,207)] = {30,0x3FFFFED}, + [I(50,207)] = {30,0x5FFFFED}, + [I(51,207)] = {31,0x33FFFFED}, + [I(52,207)] = {31,0x35FFFFED}, + [I(53,207)] = {31,0x37FFFFED}, + [I(54,207)] = {31,0x39FFFFED}, + [I(55,207)] = {31,0x3BFFFFED}, + [I(56,207)] = {31,0x3DFFFFED}, + [I(57,207)] = {31,0x3FFFFFED}, + [I(58,207)] = {X32,0xB9FFFFED}, + [I(59,207)] = {64,0}, + [I(60,207)] = {64,0}, + [I(61,207)] = {31,0x41FFFFED}, + [I(62,207)] = {64,0}, + [I(63,207)] = {64,0}, + [I(64,207)] = {64,0}, + [I(65,207)] = {31,0x43FFFFED}, + [I(66,207)] = {X32,0xBBFFFFED}, + [I(67,207)] = {X32,0xBDFFFFED}, + [I(68,207)] = {X32,0xBFFFFFED}, + [I(69,207)] = {X32,0xC1FFFFED}, + [I(70,207)] = {X32,0xC3FFFFED}, + [I(71,207)] = {X32,0xC5FFFFED}, + [I(72,207)] = {X32,0xC7FFFFED}, + [I(73,207)] = {X32,0xC9FFFFED}, + [I(74,207)] = {X32,0xCBFFFFED}, + [I(75,207)] = {X32,0xCDFFFFED}, + [I(76,207)] = {X32,0xCFFFFFED}, + [I(77,207)] = {X32,0xD1FFFFED}, + [I(78,207)] = {X32,0xD3FFFFED}, + [I(79,207)] = {X32,0xD5FFFFED}, + [I(80,207)] = {X32,0xD7FFFFED}, + [I(81,207)] = {X32,0xD9FFFFED}, + [I(82,207)] = {X32,0xDBFFFFED}, + [I(83,207)] = {X32,0xDDFFFFED}, + [I(84,207)] = {X32,0xDFFFFFED}, + [I(85,207)] = {X32,0xE1FFFFED}, + [I(86,207)] = {X32,0xE3FFFFED}, + [I(87,207)] = {X32,0xE5FFFFED}, + [I(88,207)] = {64,0}, + [I(89,207)] = {X32,0xE7FFFFED}, + [I(90,207)] = {64,0}, + [I(91,207)] = {64,0}, + [I(92,207)] = {64,0}, + [I(93,207)] = {64,0}, + [I(94,207)] = {64,0}, + [I(95,207)] = {31,0x45FFFFED}, + [I(96,207)] = {64,0}, + [I(97,207)] = {30,0x7FFFFED}, + [I(98,207)] = {31,0x47FFFFED}, + [I(99,207)] = {30,0x9FFFFED}, + [I(100,207)] = {31,0x49FFFFED}, + [I(101,207)] = {30,0xBFFFFED}, + [I(102,207)] = {31,0x4BFFFFED}, + [I(103,207)] = {31,0x4DFFFFED}, + [I(104,207)] = {31,0x4FFFFFED}, + [I(105,207)] = {30,0xDFFFFED}, + [I(106,207)] = {X32,0xE9FFFFED}, + [I(107,207)] = {X32,0xEBFFFFED}, + [I(108,207)] = {31,0x51FFFFED}, + [I(109,207)] = {31,0x53FFFFED}, + [I(110,207)] = {31,0x55FFFFED}, + [I(111,207)] = {30,0xFFFFFED}, + [I(112,207)] = {31,0x57FFFFED}, + [I(113,207)] = {X32,0xEDFFFFED}, + [I(114,207)] = {31,0x59FFFFED}, + [I(115,207)] = {30,0x11FFFFED}, + [I(116,207)] = {30,0x13FFFFED}, + [I(117,207)] = {31,0x5BFFFFED}, + [I(118,207)] = {X32,0xEFFFFFED}, + [I(119,207)] = {X32,0xF1FFFFED}, + [I(120,207)] = {X32,0xF3FFFFED}, + [I(121,207)] = {X32,0xF5FFFFED}, + [I(122,207)] = {X32,0xF7FFFFED}, + [I(123,207)] = {64,0}, + [I(124,207)] = {64,0}, + [I(125,207)] = {64,0}, + [I(126,207)] = {64,0}, + [I(127,207)] = {64,0}, + [I(128,207)] = {64,0}, + [I(129,207)] = {64,0}, + [I(130,207)] = {64,0}, + [I(131,207)] = {64,0}, + [I(132,207)] = {64,0}, + [I(133,207)] = {64,0}, + [I(134,207)] = {64,0}, + [I(135,207)] = {64,0}, + [I(136,207)] = {64,0}, + [I(137,207)] = {64,0}, + [I(138,207)] = {64,0}, + [I(139,207)] = {64,0}, + [I(140,207)] = {64,0}, + [I(141,207)] = {64,0}, + [I(142,207)] = {64,0}, + [I(143,207)] = {64,0}, + [I(144,207)] = {64,0}, + [I(145,207)] = {64,0}, + [I(146,207)] = {64,0}, + [I(147,207)] = {64,0}, + [I(148,207)] = {64,0}, + [I(149,207)] = {64,0}, + [I(150,207)] = {64,0}, + [I(151,207)] = {64,0}, + [I(152,207)] = {64,0}, + [I(153,207)] = {64,0}, + [I(154,207)] = {64,0}, + [I(155,207)] = {64,0}, + [I(156,207)] = {64,0}, + [I(157,207)] = {64,0}, + [I(158,207)] = {64,0}, + [I(159,207)] = {64,0}, + [I(160,207)] = {64,0}, + [I(161,207)] = {64,0}, + [I(162,207)] = {64,0}, + [I(163,207)] = {64,0}, + [I(164,207)] = {64,0}, + [I(165,207)] = {64,0}, + [I(166,207)] = {64,0}, + [I(167,207)] = {64,0}, + [I(168,207)] = {64,0}, + [I(169,207)] = {64,0}, + [I(170,207)] = {64,0}, + [I(171,207)] = {64,0}, + [I(172,207)] = {64,0}, + [I(173,207)] = {64,0}, + [I(174,207)] = {64,0}, + [I(175,207)] = {64,0}, + [I(176,207)] = {64,0}, + [I(177,207)] = {64,0}, + [I(178,207)] = {64,0}, + [I(179,207)] = {64,0}, + [I(180,207)] = {64,0}, + [I(181,207)] = {64,0}, + [I(182,207)] = {64,0}, + [I(183,207)] = {64,0}, + [I(184,207)] = {64,0}, + [I(185,207)] = {64,0}, + [I(186,207)] = {64,0}, + [I(187,207)] = {64,0}, + [I(188,207)] = {64,0}, + [I(189,207)] = {64,0}, + [I(190,207)] = {64,0}, + [I(191,207)] = {64,0}, + [I(192,207)] = {64,0}, + [I(193,207)] = {64,0}, + [I(194,207)] = {64,0}, + [I(195,207)] = {64,0}, + [I(196,207)] = {64,0}, + [I(197,207)] = {64,0}, + [I(198,207)] = {64,0}, + [I(199,207)] = {64,0}, + [I(200,207)] = {64,0}, + [I(201,207)] = {64,0}, + [I(202,207)] = {64,0}, + [I(203,207)] = {64,0}, + [I(204,207)] = {64,0}, + [I(205,207)] = {64,0}, + [I(206,207)] = {64,0}, + [I(207,207)] = {64,0}, + [I(208,207)] = {64,0}, + [I(209,207)] = {64,0}, + [I(210,207)] = {64,0}, + [I(211,207)] = {64,0}, + [I(212,207)] = {64,0}, + [I(213,207)] = {64,0}, + [I(214,207)] = {64,0}, + [I(215,207)] = {64,0}, + [I(216,207)] = {64,0}, + [I(217,207)] = {64,0}, + [I(218,207)] = {64,0}, + [I(219,207)] = {64,0}, + [I(220,207)] = {64,0}, + [I(221,207)] = {64,0}, + [I(222,207)] = {64,0}, + [I(223,207)] = {64,0}, + [I(224,207)] = {64,0}, + [I(225,207)] = {64,0}, + [I(226,207)] = {64,0}, + [I(227,207)] = {64,0}, + [I(228,207)] = {64,0}, + [I(229,207)] = {64,0}, + [I(230,207)] = {64,0}, + [I(231,207)] = {64,0}, + [I(232,207)] = {64,0}, + [I(233,207)] = {64,0}, + [I(234,207)] = {64,0}, + [I(235,207)] = {64,0}, + [I(236,207)] = {64,0}, + [I(237,207)] = {64,0}, + [I(238,207)] = {64,0}, + [I(239,207)] = {64,0}, + [I(240,207)] = {64,0}, + [I(241,207)] = {64,0}, + [I(242,207)] = {64,0}, + [I(243,207)] = {64,0}, + [I(244,207)] = {64,0}, + [I(245,207)] = {64,0}, + [I(246,207)] = {64,0}, + [I(247,207)] = {64,0}, + [I(248,207)] = {64,0}, + [I(249,207)] = {64,0}, + [I(250,207)] = {64,0}, + [I(251,207)] = {64,0}, + [I(252,207)] = {64,0}, + [I(253,207)] = {64,0}, + [I(254,207)] = {64,0}, + [I(255,207)] = {64,0}, + [I(0,208)] = {X32,0xFFC7FFF2}, + [I(1,208)] = {64,0}, + [I(2,208)] = {64,0}, + [I(3,208)] = {64,0}, + [I(4,208)] = {64,0}, + [I(5,208)] = {64,0}, + [I(6,208)] = {64,0}, + [I(7,208)] = {64,0}, + [I(8,208)] = {64,0}, + [I(9,208)] = {64,0}, + [I(10,208)] = {64,0}, + [I(11,208)] = {64,0}, + [I(12,208)] = {64,0}, + [I(13,208)] = {64,0}, + [I(14,208)] = {64,0}, + [I(15,208)] = {64,0}, + [I(16,208)] = {64,0}, + [I(17,208)] = {64,0}, + [I(18,208)] = {64,0}, + [I(19,208)] = {64,0}, + [I(20,208)] = {64,0}, + [I(21,208)] = {64,0}, + [I(22,208)] = {64,0}, + [I(23,208)] = {64,0}, + [I(24,208)] = {64,0}, + [I(25,208)] = {64,0}, + [I(26,208)] = {64,0}, + [I(27,208)] = {64,0}, + [I(28,208)] = {64,0}, + [I(29,208)] = {64,0}, + [I(30,208)] = {64,0}, + [I(31,208)] = {64,0}, + [I(32,208)] = {25,0xA7FFF2}, + [I(33,208)] = {29,0x1FC7FFF2}, + [I(34,208)] = {29,0x1FCFFFF2}, + [I(35,208)] = {31,0x7FD7FFF2}, + [I(36,208)] = {X32,0xFFCFFFF2}, + [I(37,208)] = {25,0xAFFFF2}, + [I(38,208)] = {27,0x7C7FFF2}, + [I(39,208)] = {30,0x3FD7FFF2}, + [I(40,208)] = {29,0x1FD7FFF2}, + [I(41,208)] = {29,0x1FDFFFF2}, + [I(42,208)] = {27,0x7CFFFF2}, + [I(43,208)] = {30,0x3FDFFFF2}, + [I(44,208)] = {27,0x7D7FFF2}, + [I(45,208)] = {25,0xB7FFF2}, + [I(46,208)] = {25,0xBFFFF2}, + [I(47,208)] = {25,0xC7FFF2}, + [I(48,208)] = {24,0x7FFF2}, + [I(49,208)] = {24,0xFFFF2}, + [I(50,208)] = {24,0x17FFF2}, + [I(51,208)] = {25,0xCFFFF2}, + [I(52,208)] = {25,0xD7FFF2}, + [I(53,208)] = {25,0xDFFFF2}, + [I(54,208)] = {25,0xE7FFF2}, + [I(55,208)] = {25,0xEFFFF2}, + [I(56,208)] = {25,0xF7FFF2}, + [I(57,208)] = {25,0xFFFFF2}, + [I(58,208)] = {26,0x2E7FFF2}, + [I(59,208)] = {27,0x7DFFFF2}, + [I(60,208)] = {64,0}, + [I(61,208)] = {25,0x107FFF2}, + [I(62,208)] = {31,0x7FDFFFF2}, + [I(63,208)] = {29,0x1FE7FFF2}, + [I(64,208)] = {X32,0xFFD7FFF2}, + [I(65,208)] = {25,0x10FFFF2}, + [I(66,208)] = {26,0x2EFFFF2}, + [I(67,208)] = {26,0x2F7FFF2}, + [I(68,208)] = {26,0x2FFFFF2}, + [I(69,208)] = {26,0x307FFF2}, + [I(70,208)] = {26,0x30FFFF2}, + [I(71,208)] = {26,0x317FFF2}, + [I(72,208)] = {26,0x31FFFF2}, + [I(73,208)] = {26,0x327FFF2}, + [I(74,208)] = {26,0x32FFFF2}, + [I(75,208)] = {26,0x337FFF2}, + [I(76,208)] = {26,0x33FFFF2}, + [I(77,208)] = {26,0x347FFF2}, + [I(78,208)] = {26,0x34FFFF2}, + [I(79,208)] = {26,0x357FFF2}, + [I(80,208)] = {26,0x35FFFF2}, + [I(81,208)] = {26,0x367FFF2}, + [I(82,208)] = {26,0x36FFFF2}, + [I(83,208)] = {26,0x377FFF2}, + [I(84,208)] = {26,0x37FFFF2}, + [I(85,208)] = {26,0x387FFF2}, + [I(86,208)] = {26,0x38FFFF2}, + [I(87,208)] = {26,0x397FFF2}, + [I(88,208)] = {27,0x7E7FFF2}, + [I(89,208)] = {26,0x39FFFF2}, + [I(90,208)] = {27,0x7EFFFF2}, + [I(91,208)] = {X32,0xFFDFFFF2}, + [I(92,208)] = {64,0}, + [I(93,208)] = {X32,0xFFE7FFF2}, + [I(94,208)] = {64,0}, + [I(95,208)] = {25,0x117FFF2}, + [I(96,208)] = {64,0}, + [I(97,208)] = {24,0x1FFFF2}, + [I(98,208)] = {25,0x11FFFF2}, + [I(99,208)] = {24,0x27FFF2}, + [I(100,208)] = {25,0x127FFF2}, + [I(101,208)] = {24,0x2FFFF2}, + [I(102,208)] = {25,0x12FFFF2}, + [I(103,208)] = {25,0x137FFF2}, + [I(104,208)] = {25,0x13FFFF2}, + [I(105,208)] = {24,0x37FFF2}, + [I(106,208)] = {26,0x3A7FFF2}, + [I(107,208)] = {26,0x3AFFFF2}, + [I(108,208)] = {25,0x147FFF2}, + [I(109,208)] = {25,0x14FFFF2}, + [I(110,208)] = {25,0x157FFF2}, + [I(111,208)] = {24,0x3FFFF2}, + [I(112,208)] = {25,0x15FFFF2}, + [I(113,208)] = {26,0x3B7FFF2}, + [I(114,208)] = {25,0x167FFF2}, + [I(115,208)] = {24,0x47FFF2}, + [I(116,208)] = {24,0x4FFFF2}, + [I(117,208)] = {25,0x16FFFF2}, + [I(118,208)] = {26,0x3BFFFF2}, + [I(119,208)] = {26,0x3C7FFF2}, + [I(120,208)] = {26,0x3CFFFF2}, + [I(121,208)] = {26,0x3D7FFF2}, + [I(122,208)] = {26,0x3DFFFF2}, + [I(123,208)] = {64,0}, + [I(124,208)] = {30,0x3FE7FFF2}, + [I(125,208)] = {64,0}, + [I(126,208)] = {X32,0xFFEFFFF2}, + [I(127,208)] = {64,0}, + [I(128,208)] = {64,0}, + [I(129,208)] = {64,0}, + [I(130,208)] = {64,0}, + [I(131,208)] = {64,0}, + [I(132,208)] = {64,0}, + [I(133,208)] = {64,0}, + [I(134,208)] = {64,0}, + [I(135,208)] = {64,0}, + [I(136,208)] = {64,0}, + [I(137,208)] = {64,0}, + [I(138,208)] = {64,0}, + [I(139,208)] = {64,0}, + [I(140,208)] = {64,0}, + [I(141,208)] = {64,0}, + [I(142,208)] = {64,0}, + [I(143,208)] = {64,0}, + [I(144,208)] = {64,0}, + [I(145,208)] = {64,0}, + [I(146,208)] = {64,0}, + [I(147,208)] = {64,0}, + [I(148,208)] = {64,0}, + [I(149,208)] = {64,0}, + [I(150,208)] = {64,0}, + [I(151,208)] = {64,0}, + [I(152,208)] = {64,0}, + [I(153,208)] = {64,0}, + [I(154,208)] = {64,0}, + [I(155,208)] = {64,0}, + [I(156,208)] = {64,0}, + [I(157,208)] = {64,0}, + [I(158,208)] = {64,0}, + [I(159,208)] = {64,0}, + [I(160,208)] = {64,0}, + [I(161,208)] = {64,0}, + [I(162,208)] = {64,0}, + [I(163,208)] = {64,0}, + [I(164,208)] = {64,0}, + [I(165,208)] = {64,0}, + [I(166,208)] = {64,0}, + [I(167,208)] = {64,0}, + [I(168,208)] = {64,0}, + [I(169,208)] = {64,0}, + [I(170,208)] = {64,0}, + [I(171,208)] = {64,0}, + [I(172,208)] = {64,0}, + [I(173,208)] = {64,0}, + [I(174,208)] = {64,0}, + [I(175,208)] = {64,0}, + [I(176,208)] = {64,0}, + [I(177,208)] = {64,0}, + [I(178,208)] = {64,0}, + [I(179,208)] = {64,0}, + [I(180,208)] = {64,0}, + [I(181,208)] = {64,0}, + [I(182,208)] = {64,0}, + [I(183,208)] = {64,0}, + [I(184,208)] = {64,0}, + [I(185,208)] = {64,0}, + [I(186,208)] = {64,0}, + [I(187,208)] = {64,0}, + [I(188,208)] = {64,0}, + [I(189,208)] = {64,0}, + [I(190,208)] = {64,0}, + [I(191,208)] = {64,0}, + [I(192,208)] = {64,0}, + [I(193,208)] = {64,0}, + [I(194,208)] = {64,0}, + [I(195,208)] = {64,0}, + [I(196,208)] = {64,0}, + [I(197,208)] = {64,0}, + [I(198,208)] = {64,0}, + [I(199,208)] = {64,0}, + [I(200,208)] = {64,0}, + [I(201,208)] = {64,0}, + [I(202,208)] = {64,0}, + [I(203,208)] = {64,0}, + [I(204,208)] = {64,0}, + [I(205,208)] = {64,0}, + [I(206,208)] = {64,0}, + [I(207,208)] = {64,0}, + [I(208,208)] = {64,0}, + [I(209,208)] = {64,0}, + [I(210,208)] = {64,0}, + [I(211,208)] = {64,0}, + [I(212,208)] = {64,0}, + [I(213,208)] = {64,0}, + [I(214,208)] = {64,0}, + [I(215,208)] = {64,0}, + [I(216,208)] = {64,0}, + [I(217,208)] = {64,0}, + [I(218,208)] = {64,0}, + [I(219,208)] = {64,0}, + [I(220,208)] = {64,0}, + [I(221,208)] = {64,0}, + [I(222,208)] = {64,0}, + [I(223,208)] = {64,0}, + [I(224,208)] = {64,0}, + [I(225,208)] = {64,0}, + [I(226,208)] = {64,0}, + [I(227,208)] = {64,0}, + [I(228,208)] = {64,0}, + [I(229,208)] = {64,0}, + [I(230,208)] = {64,0}, + [I(231,208)] = {64,0}, + [I(232,208)] = {64,0}, + [I(233,208)] = {64,0}, + [I(234,208)] = {64,0}, + [I(235,208)] = {64,0}, + [I(236,208)] = {64,0}, + [I(237,208)] = {64,0}, + [I(238,208)] = {64,0}, + [I(239,208)] = {64,0}, + [I(240,208)] = {64,0}, + [I(241,208)] = {64,0}, + [I(242,208)] = {64,0}, + [I(243,208)] = {64,0}, + [I(244,208)] = {64,0}, + [I(245,208)] = {64,0}, + [I(246,208)] = {64,0}, + [I(247,208)] = {64,0}, + [I(248,208)] = {64,0}, + [I(249,208)] = {64,0}, + [I(250,208)] = {64,0}, + [I(251,208)] = {64,0}, + [I(252,208)] = {64,0}, + [I(253,208)] = {64,0}, + [I(254,208)] = {64,0}, + [I(255,208)] = {64,0}, + [I(0,209)] = {64,0}, + [I(1,209)] = {64,0}, + [I(2,209)] = {64,0}, + [I(3,209)] = {64,0}, + [I(4,209)] = {64,0}, + [I(5,209)] = {64,0}, + [I(6,209)] = {64,0}, + [I(7,209)] = {64,0}, + [I(8,209)] = {64,0}, + [I(9,209)] = {64,0}, + [I(10,209)] = {64,0}, + [I(11,209)] = {64,0}, + [I(12,209)] = {64,0}, + [I(13,209)] = {64,0}, + [I(14,209)] = {64,0}, + [I(15,209)] = {64,0}, + [I(16,209)] = {64,0}, + [I(17,209)] = {64,0}, + [I(18,209)] = {64,0}, + [I(19,209)] = {64,0}, + [I(20,209)] = {64,0}, + [I(21,209)] = {64,0}, + [I(22,209)] = {64,0}, + [I(23,209)] = {64,0}, + [I(24,209)] = {64,0}, + [I(25,209)] = {64,0}, + [I(26,209)] = {64,0}, + [I(27,209)] = {64,0}, + [I(28,209)] = {64,0}, + [I(29,209)] = {64,0}, + [I(30,209)] = {64,0}, + [I(31,209)] = {64,0}, + [I(32,209)] = {27,0x29FFFE3}, + [I(33,209)] = {31,0x7F1FFFE3}, + [I(34,209)] = {31,0x7F3FFFE3}, + [I(35,209)] = {64,0}, + [I(36,209)] = {64,0}, + [I(37,209)] = {27,0x2BFFFE3}, + [I(38,209)] = {29,0x1F1FFFE3}, + [I(39,209)] = {X32,0xFF5FFFE3}, + [I(40,209)] = {31,0x7F5FFFE3}, + [I(41,209)] = {31,0x7F7FFFE3}, + [I(42,209)] = {29,0x1F3FFFE3}, + [I(43,209)] = {X32,0xFF7FFFE3}, + [I(44,209)] = {29,0x1F5FFFE3}, + [I(45,209)] = {27,0x2DFFFE3}, + [I(46,209)] = {27,0x2FFFFE3}, + [I(47,209)] = {27,0x31FFFE3}, + [I(48,209)] = {26,0x1FFFE3}, + [I(49,209)] = {26,0x3FFFE3}, + [I(50,209)] = {26,0x5FFFE3}, + [I(51,209)] = {27,0x33FFFE3}, + [I(52,209)] = {27,0x35FFFE3}, + [I(53,209)] = {27,0x37FFFE3}, + [I(54,209)] = {27,0x39FFFE3}, + [I(55,209)] = {27,0x3BFFFE3}, + [I(56,209)] = {27,0x3DFFFE3}, + [I(57,209)] = {27,0x3FFFFE3}, + [I(58,209)] = {28,0xB9FFFE3}, + [I(59,209)] = {29,0x1F7FFFE3}, + [I(60,209)] = {64,0}, + [I(61,209)] = {27,0x41FFFE3}, + [I(62,209)] = {64,0}, + [I(63,209)] = {31,0x7F9FFFE3}, + [I(64,209)] = {64,0}, + [I(65,209)] = {27,0x43FFFE3}, + [I(66,209)] = {28,0xBBFFFE3}, + [I(67,209)] = {28,0xBDFFFE3}, + [I(68,209)] = {28,0xBFFFFE3}, + [I(69,209)] = {28,0xC1FFFE3}, + [I(70,209)] = {28,0xC3FFFE3}, + [I(71,209)] = {28,0xC5FFFE3}, + [I(72,209)] = {28,0xC7FFFE3}, + [I(73,209)] = {28,0xC9FFFE3}, + [I(74,209)] = {28,0xCBFFFE3}, + [I(75,209)] = {28,0xCDFFFE3}, + [I(76,209)] = {28,0xCFFFFE3}, + [I(77,209)] = {28,0xD1FFFE3}, + [I(78,209)] = {28,0xD3FFFE3}, + [I(79,209)] = {28,0xD5FFFE3}, + [I(80,209)] = {28,0xD7FFFE3}, + [I(81,209)] = {28,0xD9FFFE3}, + [I(82,209)] = {28,0xDBFFFE3}, + [I(83,209)] = {28,0xDDFFFE3}, + [I(84,209)] = {28,0xDFFFFE3}, + [I(85,209)] = {28,0xE1FFFE3}, + [I(86,209)] = {28,0xE3FFFE3}, + [I(87,209)] = {28,0xE5FFFE3}, + [I(88,209)] = {29,0x1F9FFFE3}, + [I(89,209)] = {28,0xE7FFFE3}, + [I(90,209)] = {29,0x1FBFFFE3}, + [I(91,209)] = {64,0}, + [I(92,209)] = {64,0}, + [I(93,209)] = {64,0}, + [I(94,209)] = {64,0}, + [I(95,209)] = {27,0x45FFFE3}, + [I(96,209)] = {64,0}, + [I(97,209)] = {26,0x7FFFE3}, + [I(98,209)] = {27,0x47FFFE3}, + [I(99,209)] = {26,0x9FFFE3}, + [I(100,209)] = {27,0x49FFFE3}, + [I(101,209)] = {26,0xBFFFE3}, + [I(102,209)] = {27,0x4BFFFE3}, + [I(103,209)] = {27,0x4DFFFE3}, + [I(104,209)] = {27,0x4FFFFE3}, + [I(105,209)] = {26,0xDFFFE3}, + [I(106,209)] = {28,0xE9FFFE3}, + [I(107,209)] = {28,0xEBFFFE3}, + [I(108,209)] = {27,0x51FFFE3}, + [I(109,209)] = {27,0x53FFFE3}, + [I(110,209)] = {27,0x55FFFE3}, + [I(111,209)] = {26,0xFFFFE3}, + [I(112,209)] = {27,0x57FFFE3}, + [I(113,209)] = {28,0xEDFFFE3}, + [I(114,209)] = {27,0x59FFFE3}, + [I(115,209)] = {26,0x11FFFE3}, + [I(116,209)] = {26,0x13FFFE3}, + [I(117,209)] = {27,0x5BFFFE3}, + [I(118,209)] = {28,0xEFFFFE3}, + [I(119,209)] = {28,0xF1FFFE3}, + [I(120,209)] = {28,0xF3FFFE3}, + [I(121,209)] = {28,0xF5FFFE3}, + [I(122,209)] = {28,0xF7FFFE3}, + [I(123,209)] = {64,0}, + [I(124,209)] = {X32,0xFF9FFFE3}, + [I(125,209)] = {64,0}, + [I(126,209)] = {64,0}, + [I(127,209)] = {64,0}, + [I(128,209)] = {64,0}, + [I(129,209)] = {64,0}, + [I(130,209)] = {64,0}, + [I(131,209)] = {64,0}, + [I(132,209)] = {64,0}, + [I(133,209)] = {64,0}, + [I(134,209)] = {64,0}, + [I(135,209)] = {64,0}, + [I(136,209)] = {64,0}, + [I(137,209)] = {64,0}, + [I(138,209)] = {64,0}, + [I(139,209)] = {64,0}, + [I(140,209)] = {64,0}, + [I(141,209)] = {64,0}, + [I(142,209)] = {64,0}, + [I(143,209)] = {64,0}, + [I(144,209)] = {64,0}, + [I(145,209)] = {64,0}, + [I(146,209)] = {64,0}, + [I(147,209)] = {64,0}, + [I(148,209)] = {64,0}, + [I(149,209)] = {64,0}, + [I(150,209)] = {64,0}, + [I(151,209)] = {64,0}, + [I(152,209)] = {64,0}, + [I(153,209)] = {64,0}, + [I(154,209)] = {64,0}, + [I(155,209)] = {64,0}, + [I(156,209)] = {64,0}, + [I(157,209)] = {64,0}, + [I(158,209)] = {64,0}, + [I(159,209)] = {64,0}, + [I(160,209)] = {64,0}, + [I(161,209)] = {64,0}, + [I(162,209)] = {64,0}, + [I(163,209)] = {64,0}, + [I(164,209)] = {64,0}, + [I(165,209)] = {64,0}, + [I(166,209)] = {64,0}, + [I(167,209)] = {64,0}, + [I(168,209)] = {64,0}, + [I(169,209)] = {64,0}, + [I(170,209)] = {64,0}, + [I(171,209)] = {64,0}, + [I(172,209)] = {64,0}, + [I(173,209)] = {64,0}, + [I(174,209)] = {64,0}, + [I(175,209)] = {64,0}, + [I(176,209)] = {64,0}, + [I(177,209)] = {64,0}, + [I(178,209)] = {64,0}, + [I(179,209)] = {64,0}, + [I(180,209)] = {64,0}, + [I(181,209)] = {64,0}, + [I(182,209)] = {64,0}, + [I(183,209)] = {64,0}, + [I(184,209)] = {64,0}, + [I(185,209)] = {64,0}, + [I(186,209)] = {64,0}, + [I(187,209)] = {64,0}, + [I(188,209)] = {64,0}, + [I(189,209)] = {64,0}, + [I(190,209)] = {64,0}, + [I(191,209)] = {64,0}, + [I(192,209)] = {64,0}, + [I(193,209)] = {64,0}, + [I(194,209)] = {64,0}, + [I(195,209)] = {64,0}, + [I(196,209)] = {64,0}, + [I(197,209)] = {64,0}, + [I(198,209)] = {64,0}, + [I(199,209)] = {64,0}, + [I(200,209)] = {64,0}, + [I(201,209)] = {64,0}, + [I(202,209)] = {64,0}, + [I(203,209)] = {64,0}, + [I(204,209)] = {64,0}, + [I(205,209)] = {64,0}, + [I(206,209)] = {64,0}, + [I(207,209)] = {64,0}, + [I(208,209)] = {64,0}, + [I(209,209)] = {64,0}, + [I(210,209)] = {64,0}, + [I(211,209)] = {64,0}, + [I(212,209)] = {64,0}, + [I(213,209)] = {64,0}, + [I(214,209)] = {64,0}, + [I(215,209)] = {64,0}, + [I(216,209)] = {64,0}, + [I(217,209)] = {64,0}, + [I(218,209)] = {64,0}, + [I(219,209)] = {64,0}, + [I(220,209)] = {64,0}, + [I(221,209)] = {64,0}, + [I(222,209)] = {64,0}, + [I(223,209)] = {64,0}, + [I(224,209)] = {64,0}, + [I(225,209)] = {64,0}, + [I(226,209)] = {64,0}, + [I(227,209)] = {64,0}, + [I(228,209)] = {64,0}, + [I(229,209)] = {64,0}, + [I(230,209)] = {64,0}, + [I(231,209)] = {64,0}, + [I(232,209)] = {64,0}, + [I(233,209)] = {64,0}, + [I(234,209)] = {64,0}, + [I(235,209)] = {64,0}, + [I(236,209)] = {64,0}, + [I(237,209)] = {64,0}, + [I(238,209)] = {64,0}, + [I(239,209)] = {64,0}, + [I(240,209)] = {64,0}, + [I(241,209)] = {64,0}, + [I(242,209)] = {64,0}, + [I(243,209)] = {64,0}, + [I(244,209)] = {64,0}, + [I(245,209)] = {64,0}, + [I(246,209)] = {64,0}, + [I(247,209)] = {64,0}, + [I(248,209)] = {64,0}, + [I(249,209)] = {64,0}, + [I(250,209)] = {64,0}, + [I(251,209)] = {64,0}, + [I(252,209)] = {64,0}, + [I(253,209)] = {64,0}, + [I(254,209)] = {64,0}, + [I(255,209)] = {64,0}, + [I(0,210)] = {64,0}, + [I(1,210)] = {64,0}, + [I(2,210)] = {64,0}, + [I(3,210)] = {64,0}, + [I(4,210)] = {64,0}, + [I(5,210)] = {64,0}, + [I(6,210)] = {64,0}, + [I(7,210)] = {64,0}, + [I(8,210)] = {64,0}, + [I(9,210)] = {64,0}, + [I(10,210)] = {64,0}, + [I(11,210)] = {64,0}, + [I(12,210)] = {64,0}, + [I(13,210)] = {64,0}, + [I(14,210)] = {64,0}, + [I(15,210)] = {64,0}, + [I(16,210)] = {64,0}, + [I(17,210)] = {64,0}, + [I(18,210)] = {64,0}, + [I(19,210)] = {64,0}, + [I(20,210)] = {64,0}, + [I(21,210)] = {64,0}, + [I(22,210)] = {64,0}, + [I(23,210)] = {64,0}, + [I(24,210)] = {64,0}, + [I(25,210)] = {64,0}, + [I(26,210)] = {64,0}, + [I(27,210)] = {64,0}, + [I(28,210)] = {64,0}, + [I(29,210)] = {64,0}, + [I(30,210)] = {64,0}, + [I(31,210)] = {64,0}, + [I(32,210)] = {X32,0x53FFFFE6}, + [I(33,210)] = {64,0}, + [I(34,210)] = {64,0}, + [I(35,210)] = {64,0}, + [I(36,210)] = {64,0}, + [I(37,210)] = {X32,0x57FFFFE6}, + [I(38,210)] = {64,0}, + [I(39,210)] = {64,0}, + [I(40,210)] = {64,0}, + [I(41,210)] = {64,0}, + [I(42,210)] = {64,0}, + [I(43,210)] = {64,0}, + [I(44,210)] = {64,0}, + [I(45,210)] = {X32,0x5BFFFFE6}, + [I(46,210)] = {X32,0x5FFFFFE6}, + [I(47,210)] = {X32,0x63FFFFE6}, + [I(48,210)] = {31,0x3FFFFE6}, + [I(49,210)] = {31,0x7FFFFE6}, + [I(50,210)] = {31,0xBFFFFE6}, + [I(51,210)] = {X32,0x67FFFFE6}, + [I(52,210)] = {X32,0x6BFFFFE6}, + [I(53,210)] = {X32,0x6FFFFFE6}, + [I(54,210)] = {X32,0x73FFFFE6}, + [I(55,210)] = {X32,0x77FFFFE6}, + [I(56,210)] = {X32,0x7BFFFFE6}, + [I(57,210)] = {X32,0x7FFFFFE6}, + [I(58,210)] = {64,0}, + [I(59,210)] = {64,0}, + [I(60,210)] = {64,0}, + [I(61,210)] = {X32,0x83FFFFE6}, + [I(62,210)] = {64,0}, + [I(63,210)] = {64,0}, + [I(64,210)] = {64,0}, + [I(65,210)] = {X32,0x87FFFFE6}, + [I(66,210)] = {64,0}, + [I(67,210)] = {64,0}, + [I(68,210)] = {64,0}, + [I(69,210)] = {64,0}, + [I(70,210)] = {64,0}, + [I(71,210)] = {64,0}, + [I(72,210)] = {64,0}, + [I(73,210)] = {64,0}, + [I(74,210)] = {64,0}, + [I(75,210)] = {64,0}, + [I(76,210)] = {64,0}, + [I(77,210)] = {64,0}, + [I(78,210)] = {64,0}, + [I(79,210)] = {64,0}, + [I(80,210)] = {64,0}, + [I(81,210)] = {64,0}, + [I(82,210)] = {64,0}, + [I(83,210)] = {64,0}, + [I(84,210)] = {64,0}, + [I(85,210)] = {64,0}, + [I(86,210)] = {64,0}, + [I(87,210)] = {64,0}, + [I(88,210)] = {64,0}, + [I(89,210)] = {64,0}, + [I(90,210)] = {64,0}, + [I(91,210)] = {64,0}, + [I(92,210)] = {64,0}, + [I(93,210)] = {64,0}, + [I(94,210)] = {64,0}, + [I(95,210)] = {X32,0x8BFFFFE6}, + [I(96,210)] = {64,0}, + [I(97,210)] = {31,0xFFFFFE6}, + [I(98,210)] = {X32,0x8FFFFFE6}, + [I(99,210)] = {31,0x13FFFFE6}, + [I(100,210)] = {X32,0x93FFFFE6}, + [I(101,210)] = {31,0x17FFFFE6}, + [I(102,210)] = {X32,0x97FFFFE6}, + [I(103,210)] = {X32,0x9BFFFFE6}, + [I(104,210)] = {X32,0x9FFFFFE6}, + [I(105,210)] = {31,0x1BFFFFE6}, + [I(106,210)] = {64,0}, + [I(107,210)] = {64,0}, + [I(108,210)] = {X32,0xA3FFFFE6}, + [I(109,210)] = {X32,0xA7FFFFE6}, + [I(110,210)] = {X32,0xABFFFFE6}, + [I(111,210)] = {31,0x1FFFFFE6}, + [I(112,210)] = {X32,0xAFFFFFE6}, + [I(113,210)] = {64,0}, + [I(114,210)] = {X32,0xB3FFFFE6}, + [I(115,210)] = {31,0x23FFFFE6}, + [I(116,210)] = {31,0x27FFFFE6}, + [I(117,210)] = {X32,0xB7FFFFE6}, + [I(118,210)] = {64,0}, + [I(119,210)] = {64,0}, + [I(120,210)] = {64,0}, + [I(121,210)] = {64,0}, + [I(122,210)] = {64,0}, + [I(123,210)] = {64,0}, + [I(124,210)] = {64,0}, + [I(125,210)] = {64,0}, + [I(126,210)] = {64,0}, + [I(127,210)] = {64,0}, + [I(128,210)] = {64,0}, + [I(129,210)] = {64,0}, + [I(130,210)] = {64,0}, + [I(131,210)] = {64,0}, + [I(132,210)] = {64,0}, + [I(133,210)] = {64,0}, + [I(134,210)] = {64,0}, + [I(135,210)] = {64,0}, + [I(136,210)] = {64,0}, + [I(137,210)] = {64,0}, + [I(138,210)] = {64,0}, + [I(139,210)] = {64,0}, + [I(140,210)] = {64,0}, + [I(141,210)] = {64,0}, + [I(142,210)] = {64,0}, + [I(143,210)] = {64,0}, + [I(144,210)] = {64,0}, + [I(145,210)] = {64,0}, + [I(146,210)] = {64,0}, + [I(147,210)] = {64,0}, + [I(148,210)] = {64,0}, + [I(149,210)] = {64,0}, + [I(150,210)] = {64,0}, + [I(151,210)] = {64,0}, + [I(152,210)] = {64,0}, + [I(153,210)] = {64,0}, + [I(154,210)] = {64,0}, + [I(155,210)] = {64,0}, + [I(156,210)] = {64,0}, + [I(157,210)] = {64,0}, + [I(158,210)] = {64,0}, + [I(159,210)] = {64,0}, + [I(160,210)] = {64,0}, + [I(161,210)] = {64,0}, + [I(162,210)] = {64,0}, + [I(163,210)] = {64,0}, + [I(164,210)] = {64,0}, + [I(165,210)] = {64,0}, + [I(166,210)] = {64,0}, + [I(167,210)] = {64,0}, + [I(168,210)] = {64,0}, + [I(169,210)] = {64,0}, + [I(170,210)] = {64,0}, + [I(171,210)] = {64,0}, + [I(172,210)] = {64,0}, + [I(173,210)] = {64,0}, + [I(174,210)] = {64,0}, + [I(175,210)] = {64,0}, + [I(176,210)] = {64,0}, + [I(177,210)] = {64,0}, + [I(178,210)] = {64,0}, + [I(179,210)] = {64,0}, + [I(180,210)] = {64,0}, + [I(181,210)] = {64,0}, + [I(182,210)] = {64,0}, + [I(183,210)] = {64,0}, + [I(184,210)] = {64,0}, + [I(185,210)] = {64,0}, + [I(186,210)] = {64,0}, + [I(187,210)] = {64,0}, + [I(188,210)] = {64,0}, + [I(189,210)] = {64,0}, + [I(190,210)] = {64,0}, + [I(191,210)] = {64,0}, + [I(192,210)] = {64,0}, + [I(193,210)] = {64,0}, + [I(194,210)] = {64,0}, + [I(195,210)] = {64,0}, + [I(196,210)] = {64,0}, + [I(197,210)] = {64,0}, + [I(198,210)] = {64,0}, + [I(199,210)] = {64,0}, + [I(200,210)] = {64,0}, + [I(201,210)] = {64,0}, + [I(202,210)] = {64,0}, + [I(203,210)] = {64,0}, + [I(204,210)] = {64,0}, + [I(205,210)] = {64,0}, + [I(206,210)] = {64,0}, + [I(207,210)] = {64,0}, + [I(208,210)] = {64,0}, + [I(209,210)] = {64,0}, + [I(210,210)] = {64,0}, + [I(211,210)] = {64,0}, + [I(212,210)] = {64,0}, + [I(213,210)] = {64,0}, + [I(214,210)] = {64,0}, + [I(215,210)] = {64,0}, + [I(216,210)] = {64,0}, + [I(217,210)] = {64,0}, + [I(218,210)] = {64,0}, + [I(219,210)] = {64,0}, + [I(220,210)] = {64,0}, + [I(221,210)] = {64,0}, + [I(222,210)] = {64,0}, + [I(223,210)] = {64,0}, + [I(224,210)] = {64,0}, + [I(225,210)] = {64,0}, + [I(226,210)] = {64,0}, + [I(227,210)] = {64,0}, + [I(228,210)] = {64,0}, + [I(229,210)] = {64,0}, + [I(230,210)] = {64,0}, + [I(231,210)] = {64,0}, + [I(232,210)] = {64,0}, + [I(233,210)] = {64,0}, + [I(234,210)] = {64,0}, + [I(235,210)] = {64,0}, + [I(236,210)] = {64,0}, + [I(237,210)] = {64,0}, + [I(238,210)] = {64,0}, + [I(239,210)] = {64,0}, + [I(240,210)] = {64,0}, + [I(241,210)] = {64,0}, + [I(242,210)] = {64,0}, + [I(243,210)] = {64,0}, + [I(244,210)] = {64,0}, + [I(245,210)] = {64,0}, + [I(246,210)] = {64,0}, + [I(247,210)] = {64,0}, + [I(248,210)] = {64,0}, + [I(249,210)] = {64,0}, + [I(250,210)] = {64,0}, + [I(251,210)] = {64,0}, + [I(252,210)] = {64,0}, + [I(253,210)] = {64,0}, + [I(254,210)] = {64,0}, + [I(255,210)] = {64,0}, + [I(0,211)] = {64,0}, + [I(1,211)] = {64,0}, + [I(2,211)] = {64,0}, + [I(3,211)] = {64,0}, + [I(4,211)] = {64,0}, + [I(5,211)] = {64,0}, + [I(6,211)] = {64,0}, + [I(7,211)] = {64,0}, + [I(8,211)] = {64,0}, + [I(9,211)] = {64,0}, + [I(10,211)] = {64,0}, + [I(11,211)] = {64,0}, + [I(12,211)] = {64,0}, + [I(13,211)] = {64,0}, + [I(14,211)] = {64,0}, + [I(15,211)] = {64,0}, + [I(16,211)] = {64,0}, + [I(17,211)] = {64,0}, + [I(18,211)] = {64,0}, + [I(19,211)] = {64,0}, + [I(20,211)] = {64,0}, + [I(21,211)] = {64,0}, + [I(22,211)] = {64,0}, + [I(23,211)] = {64,0}, + [I(24,211)] = {64,0}, + [I(25,211)] = {64,0}, + [I(26,211)] = {64,0}, + [I(27,211)] = {64,0}, + [I(28,211)] = {64,0}, + [I(29,211)] = {64,0}, + [I(30,211)] = {64,0}, + [I(31,211)] = {64,0}, + [I(32,211)] = {64,0}, + [I(33,211)] = {64,0}, + [I(34,211)] = {64,0}, + [I(35,211)] = {64,0}, + [I(36,211)] = {64,0}, + [I(37,211)] = {64,0}, + [I(38,211)] = {64,0}, + [I(39,211)] = {64,0}, + [I(40,211)] = {64,0}, + [I(41,211)] = {64,0}, + [I(42,211)] = {64,0}, + [I(43,211)] = {64,0}, + [I(44,211)] = {64,0}, + [I(45,211)] = {64,0}, + [I(46,211)] = {64,0}, + [I(47,211)] = {64,0}, + [I(48,211)] = {X32,0x7FFFFE0}, + [I(49,211)] = {X32,0xFFFFFE0}, + [I(50,211)] = {X32,0x17FFFFE0}, + [I(51,211)] = {64,0}, + [I(52,211)] = {64,0}, + [I(53,211)] = {64,0}, + [I(54,211)] = {64,0}, + [I(55,211)] = {64,0}, + [I(56,211)] = {64,0}, + [I(57,211)] = {64,0}, + [I(58,211)] = {64,0}, + [I(59,211)] = {64,0}, + [I(60,211)] = {64,0}, + [I(61,211)] = {64,0}, + [I(62,211)] = {64,0}, + [I(63,211)] = {64,0}, + [I(64,211)] = {64,0}, + [I(65,211)] = {64,0}, + [I(66,211)] = {64,0}, + [I(67,211)] = {64,0}, + [I(68,211)] = {64,0}, + [I(69,211)] = {64,0}, + [I(70,211)] = {64,0}, + [I(71,211)] = {64,0}, + [I(72,211)] = {64,0}, + [I(73,211)] = {64,0}, + [I(74,211)] = {64,0}, + [I(75,211)] = {64,0}, + [I(76,211)] = {64,0}, + [I(77,211)] = {64,0}, + [I(78,211)] = {64,0}, + [I(79,211)] = {64,0}, + [I(80,211)] = {64,0}, + [I(81,211)] = {64,0}, + [I(82,211)] = {64,0}, + [I(83,211)] = {64,0}, + [I(84,211)] = {64,0}, + [I(85,211)] = {64,0}, + [I(86,211)] = {64,0}, + [I(87,211)] = {64,0}, + [I(88,211)] = {64,0}, + [I(89,211)] = {64,0}, + [I(90,211)] = {64,0}, + [I(91,211)] = {64,0}, + [I(92,211)] = {64,0}, + [I(93,211)] = {64,0}, + [I(94,211)] = {64,0}, + [I(95,211)] = {64,0}, + [I(96,211)] = {64,0}, + [I(97,211)] = {X32,0x1FFFFFE0}, + [I(98,211)] = {64,0}, + [I(99,211)] = {X32,0x27FFFFE0}, + [I(100,211)] = {64,0}, + [I(101,211)] = {X32,0x2FFFFFE0}, + [I(102,211)] = {64,0}, + [I(103,211)] = {64,0}, + [I(104,211)] = {64,0}, + [I(105,211)] = {X32,0x37FFFFE0}, + [I(106,211)] = {64,0}, + [I(107,211)] = {64,0}, + [I(108,211)] = {64,0}, + [I(109,211)] = {64,0}, + [I(110,211)] = {64,0}, + [I(111,211)] = {X32,0x3FFFFFE0}, + [I(112,211)] = {64,0}, + [I(113,211)] = {64,0}, + [I(114,211)] = {64,0}, + [I(115,211)] = {X32,0x47FFFFE0}, + [I(116,211)] = {X32,0x4FFFFFE0}, + [I(117,211)] = {64,0}, + [I(118,211)] = {64,0}, + [I(119,211)] = {64,0}, + [I(120,211)] = {64,0}, + [I(121,211)] = {64,0}, + [I(122,211)] = {64,0}, + [I(123,211)] = {64,0}, + [I(124,211)] = {64,0}, + [I(125,211)] = {64,0}, + [I(126,211)] = {64,0}, + [I(127,211)] = {64,0}, + [I(128,211)] = {64,0}, + [I(129,211)] = {64,0}, + [I(130,211)] = {64,0}, + [I(131,211)] = {64,0}, + [I(132,211)] = {64,0}, + [I(133,211)] = {64,0}, + [I(134,211)] = {64,0}, + [I(135,211)] = {64,0}, + [I(136,211)] = {64,0}, + [I(137,211)] = {64,0}, + [I(138,211)] = {64,0}, + [I(139,211)] = {64,0}, + [I(140,211)] = {64,0}, + [I(141,211)] = {64,0}, + [I(142,211)] = {64,0}, + [I(143,211)] = {64,0}, + [I(144,211)] = {64,0}, + [I(145,211)] = {64,0}, + [I(146,211)] = {64,0}, + [I(147,211)] = {64,0}, + [I(148,211)] = {64,0}, + [I(149,211)] = {64,0}, + [I(150,211)] = {64,0}, + [I(151,211)] = {64,0}, + [I(152,211)] = {64,0}, + [I(153,211)] = {64,0}, + [I(154,211)] = {64,0}, + [I(155,211)] = {64,0}, + [I(156,211)] = {64,0}, + [I(157,211)] = {64,0}, + [I(158,211)] = {64,0}, + [I(159,211)] = {64,0}, + [I(160,211)] = {64,0}, + [I(161,211)] = {64,0}, + [I(162,211)] = {64,0}, + [I(163,211)] = {64,0}, + [I(164,211)] = {64,0}, + [I(165,211)] = {64,0}, + [I(166,211)] = {64,0}, + [I(167,211)] = {64,0}, + [I(168,211)] = {64,0}, + [I(169,211)] = {64,0}, + [I(170,211)] = {64,0}, + [I(171,211)] = {64,0}, + [I(172,211)] = {64,0}, + [I(173,211)] = {64,0}, + [I(174,211)] = {64,0}, + [I(175,211)] = {64,0}, + [I(176,211)] = {64,0}, + [I(177,211)] = {64,0}, + [I(178,211)] = {64,0}, + [I(179,211)] = {64,0}, + [I(180,211)] = {64,0}, + [I(181,211)] = {64,0}, + [I(182,211)] = {64,0}, + [I(183,211)] = {64,0}, + [I(184,211)] = {64,0}, + [I(185,211)] = {64,0}, + [I(186,211)] = {64,0}, + [I(187,211)] = {64,0}, + [I(188,211)] = {64,0}, + [I(189,211)] = {64,0}, + [I(190,211)] = {64,0}, + [I(191,211)] = {64,0}, + [I(192,211)] = {64,0}, + [I(193,211)] = {64,0}, + [I(194,211)] = {64,0}, + [I(195,211)] = {64,0}, + [I(196,211)] = {64,0}, + [I(197,211)] = {64,0}, + [I(198,211)] = {64,0}, + [I(199,211)] = {64,0}, + [I(200,211)] = {64,0}, + [I(201,211)] = {64,0}, + [I(202,211)] = {64,0}, + [I(203,211)] = {64,0}, + [I(204,211)] = {64,0}, + [I(205,211)] = {64,0}, + [I(206,211)] = {64,0}, + [I(207,211)] = {64,0}, + [I(208,211)] = {64,0}, + [I(209,211)] = {64,0}, + [I(210,211)] = {64,0}, + [I(211,211)] = {64,0}, + [I(212,211)] = {64,0}, + [I(213,211)] = {64,0}, + [I(214,211)] = {64,0}, + [I(215,211)] = {64,0}, + [I(216,211)] = {64,0}, + [I(217,211)] = {64,0}, + [I(218,211)] = {64,0}, + [I(219,211)] = {64,0}, + [I(220,211)] = {64,0}, + [I(221,211)] = {64,0}, + [I(222,211)] = {64,0}, + [I(223,211)] = {64,0}, + [I(224,211)] = {64,0}, + [I(225,211)] = {64,0}, + [I(226,211)] = {64,0}, + [I(227,211)] = {64,0}, + [I(228,211)] = {64,0}, + [I(229,211)] = {64,0}, + [I(230,211)] = {64,0}, + [I(231,211)] = {64,0}, + [I(232,211)] = {64,0}, + [I(233,211)] = {64,0}, + [I(234,211)] = {64,0}, + [I(235,211)] = {64,0}, + [I(236,211)] = {64,0}, + [I(237,211)] = {64,0}, + [I(238,211)] = {64,0}, + [I(239,211)] = {64,0}, + [I(240,211)] = {64,0}, + [I(241,211)] = {64,0}, + [I(242,211)] = {64,0}, + [I(243,211)] = {64,0}, + [I(244,211)] = {64,0}, + [I(245,211)] = {64,0}, + [I(246,211)] = {64,0}, + [I(247,211)] = {64,0}, + [I(248,211)] = {64,0}, + [I(249,211)] = {64,0}, + [I(250,211)] = {64,0}, + [I(251,211)] = {64,0}, + [I(252,211)] = {64,0}, + [I(253,211)] = {64,0}, + [I(254,211)] = {64,0}, + [I(255,211)] = {64,0}, + [I(0,212)] = {64,0}, + [I(1,212)] = {64,0}, + [I(2,212)] = {64,0}, + [I(3,212)] = {64,0}, + [I(4,212)] = {64,0}, + [I(5,212)] = {64,0}, + [I(6,212)] = {64,0}, + [I(7,212)] = {64,0}, + [I(8,212)] = {64,0}, + [I(9,212)] = {64,0}, + [I(10,212)] = {64,0}, + [I(11,212)] = {64,0}, + [I(12,212)] = {64,0}, + [I(13,212)] = {64,0}, + [I(14,212)] = {64,0}, + [I(15,212)] = {64,0}, + [I(16,212)] = {64,0}, + [I(17,212)] = {64,0}, + [I(18,212)] = {64,0}, + [I(19,212)] = {64,0}, + [I(20,212)] = {64,0}, + [I(21,212)] = {64,0}, + [I(22,212)] = {64,0}, + [I(23,212)] = {64,0}, + [I(24,212)] = {64,0}, + [I(25,212)] = {64,0}, + [I(26,212)] = {64,0}, + [I(27,212)] = {64,0}, + [I(28,212)] = {64,0}, + [I(29,212)] = {64,0}, + [I(30,212)] = {64,0}, + [I(31,212)] = {64,0}, + [I(32,212)] = {64,0}, + [I(33,212)] = {64,0}, + [I(34,212)] = {64,0}, + [I(35,212)] = {64,0}, + [I(36,212)] = {64,0}, + [I(37,212)] = {64,0}, + [I(38,212)] = {64,0}, + [I(39,212)] = {64,0}, + [I(40,212)] = {64,0}, + [I(41,212)] = {64,0}, + [I(42,212)] = {64,0}, + [I(43,212)] = {64,0}, + [I(44,212)] = {64,0}, + [I(45,212)] = {64,0}, + [I(46,212)] = {64,0}, + [I(47,212)] = {64,0}, + [I(48,212)] = {X32,0x7FFFFE1}, + [I(49,212)] = {X32,0xFFFFFE1}, + [I(50,212)] = {X32,0x17FFFFE1}, + [I(51,212)] = {64,0}, + [I(52,212)] = {64,0}, + [I(53,212)] = {64,0}, + [I(54,212)] = {64,0}, + [I(55,212)] = {64,0}, + [I(56,212)] = {64,0}, + [I(57,212)] = {64,0}, + [I(58,212)] = {64,0}, + [I(59,212)] = {64,0}, + [I(60,212)] = {64,0}, + [I(61,212)] = {64,0}, + [I(62,212)] = {64,0}, + [I(63,212)] = {64,0}, + [I(64,212)] = {64,0}, + [I(65,212)] = {64,0}, + [I(66,212)] = {64,0}, + [I(67,212)] = {64,0}, + [I(68,212)] = {64,0}, + [I(69,212)] = {64,0}, + [I(70,212)] = {64,0}, + [I(71,212)] = {64,0}, + [I(72,212)] = {64,0}, + [I(73,212)] = {64,0}, + [I(74,212)] = {64,0}, + [I(75,212)] = {64,0}, + [I(76,212)] = {64,0}, + [I(77,212)] = {64,0}, + [I(78,212)] = {64,0}, + [I(79,212)] = {64,0}, + [I(80,212)] = {64,0}, + [I(81,212)] = {64,0}, + [I(82,212)] = {64,0}, + [I(83,212)] = {64,0}, + [I(84,212)] = {64,0}, + [I(85,212)] = {64,0}, + [I(86,212)] = {64,0}, + [I(87,212)] = {64,0}, + [I(88,212)] = {64,0}, + [I(89,212)] = {64,0}, + [I(90,212)] = {64,0}, + [I(91,212)] = {64,0}, + [I(92,212)] = {64,0}, + [I(93,212)] = {64,0}, + [I(94,212)] = {64,0}, + [I(95,212)] = {64,0}, + [I(96,212)] = {64,0}, + [I(97,212)] = {X32,0x1FFFFFE1}, + [I(98,212)] = {64,0}, + [I(99,212)] = {X32,0x27FFFFE1}, + [I(100,212)] = {64,0}, + [I(101,212)] = {X32,0x2FFFFFE1}, + [I(102,212)] = {64,0}, + [I(103,212)] = {64,0}, + [I(104,212)] = {64,0}, + [I(105,212)] = {X32,0x37FFFFE1}, + [I(106,212)] = {64,0}, + [I(107,212)] = {64,0}, + [I(108,212)] = {64,0}, + [I(109,212)] = {64,0}, + [I(110,212)] = {64,0}, + [I(111,212)] = {X32,0x3FFFFFE1}, + [I(112,212)] = {64,0}, + [I(113,212)] = {64,0}, + [I(114,212)] = {64,0}, + [I(115,212)] = {X32,0x47FFFFE1}, + [I(116,212)] = {X32,0x4FFFFFE1}, + [I(117,212)] = {64,0}, + [I(118,212)] = {64,0}, + [I(119,212)] = {64,0}, + [I(120,212)] = {64,0}, + [I(121,212)] = {64,0}, + [I(122,212)] = {64,0}, + [I(123,212)] = {64,0}, + [I(124,212)] = {64,0}, + [I(125,212)] = {64,0}, + [I(126,212)] = {64,0}, + [I(127,212)] = {64,0}, + [I(128,212)] = {64,0}, + [I(129,212)] = {64,0}, + [I(130,212)] = {64,0}, + [I(131,212)] = {64,0}, + [I(132,212)] = {64,0}, + [I(133,212)] = {64,0}, + [I(134,212)] = {64,0}, + [I(135,212)] = {64,0}, + [I(136,212)] = {64,0}, + [I(137,212)] = {64,0}, + [I(138,212)] = {64,0}, + [I(139,212)] = {64,0}, + [I(140,212)] = {64,0}, + [I(141,212)] = {64,0}, + [I(142,212)] = {64,0}, + [I(143,212)] = {64,0}, + [I(144,212)] = {64,0}, + [I(145,212)] = {64,0}, + [I(146,212)] = {64,0}, + [I(147,212)] = {64,0}, + [I(148,212)] = {64,0}, + [I(149,212)] = {64,0}, + [I(150,212)] = {64,0}, + [I(151,212)] = {64,0}, + [I(152,212)] = {64,0}, + [I(153,212)] = {64,0}, + [I(154,212)] = {64,0}, + [I(155,212)] = {64,0}, + [I(156,212)] = {64,0}, + [I(157,212)] = {64,0}, + [I(158,212)] = {64,0}, + [I(159,212)] = {64,0}, + [I(160,212)] = {64,0}, + [I(161,212)] = {64,0}, + [I(162,212)] = {64,0}, + [I(163,212)] = {64,0}, + [I(164,212)] = {64,0}, + [I(165,212)] = {64,0}, + [I(166,212)] = {64,0}, + [I(167,212)] = {64,0}, + [I(168,212)] = {64,0}, + [I(169,212)] = {64,0}, + [I(170,212)] = {64,0}, + [I(171,212)] = {64,0}, + [I(172,212)] = {64,0}, + [I(173,212)] = {64,0}, + [I(174,212)] = {64,0}, + [I(175,212)] = {64,0}, + [I(176,212)] = {64,0}, + [I(177,212)] = {64,0}, + [I(178,212)] = {64,0}, + [I(179,212)] = {64,0}, + [I(180,212)] = {64,0}, + [I(181,212)] = {64,0}, + [I(182,212)] = {64,0}, + [I(183,212)] = {64,0}, + [I(184,212)] = {64,0}, + [I(185,212)] = {64,0}, + [I(186,212)] = {64,0}, + [I(187,212)] = {64,0}, + [I(188,212)] = {64,0}, + [I(189,212)] = {64,0}, + [I(190,212)] = {64,0}, + [I(191,212)] = {64,0}, + [I(192,212)] = {64,0}, + [I(193,212)] = {64,0}, + [I(194,212)] = {64,0}, + [I(195,212)] = {64,0}, + [I(196,212)] = {64,0}, + [I(197,212)] = {64,0}, + [I(198,212)] = {64,0}, + [I(199,212)] = {64,0}, + [I(200,212)] = {64,0}, + [I(201,212)] = {64,0}, + [I(202,212)] = {64,0}, + [I(203,212)] = {64,0}, + [I(204,212)] = {64,0}, + [I(205,212)] = {64,0}, + [I(206,212)] = {64,0}, + [I(207,212)] = {64,0}, + [I(208,212)] = {64,0}, + [I(209,212)] = {64,0}, + [I(210,212)] = {64,0}, + [I(211,212)] = {64,0}, + [I(212,212)] = {64,0}, + [I(213,212)] = {64,0}, + [I(214,212)] = {64,0}, + [I(215,212)] = {64,0}, + [I(216,212)] = {64,0}, + [I(217,212)] = {64,0}, + [I(218,212)] = {64,0}, + [I(219,212)] = {64,0}, + [I(220,212)] = {64,0}, + [I(221,212)] = {64,0}, + [I(222,212)] = {64,0}, + [I(223,212)] = {64,0}, + [I(224,212)] = {64,0}, + [I(225,212)] = {64,0}, + [I(226,212)] = {64,0}, + [I(227,212)] = {64,0}, + [I(228,212)] = {64,0}, + [I(229,212)] = {64,0}, + [I(230,212)] = {64,0}, + [I(231,212)] = {64,0}, + [I(232,212)] = {64,0}, + [I(233,212)] = {64,0}, + [I(234,212)] = {64,0}, + [I(235,212)] = {64,0}, + [I(236,212)] = {64,0}, + [I(237,212)] = {64,0}, + [I(238,212)] = {64,0}, + [I(239,212)] = {64,0}, + [I(240,212)] = {64,0}, + [I(241,212)] = {64,0}, + [I(242,212)] = {64,0}, + [I(243,212)] = {64,0}, + [I(244,212)] = {64,0}, + [I(245,212)] = {64,0}, + [I(246,212)] = {64,0}, + [I(247,212)] = {64,0}, + [I(248,212)] = {64,0}, + [I(249,212)] = {64,0}, + [I(250,212)] = {64,0}, + [I(251,212)] = {64,0}, + [I(252,212)] = {64,0}, + [I(253,212)] = {64,0}, + [I(254,212)] = {64,0}, + [I(255,212)] = {64,0}, + [I(0,213)] = {64,0}, + [I(1,213)] = {64,0}, + [I(2,213)] = {64,0}, + [I(3,213)] = {64,0}, + [I(4,213)] = {64,0}, + [I(5,213)] = {64,0}, + [I(6,213)] = {64,0}, + [I(7,213)] = {64,0}, + [I(8,213)] = {64,0}, + [I(9,213)] = {64,0}, + [I(10,213)] = {64,0}, + [I(11,213)] = {64,0}, + [I(12,213)] = {64,0}, + [I(13,213)] = {64,0}, + [I(14,213)] = {64,0}, + [I(15,213)] = {64,0}, + [I(16,213)] = {64,0}, + [I(17,213)] = {64,0}, + [I(18,213)] = {64,0}, + [I(19,213)] = {64,0}, + [I(20,213)] = {64,0}, + [I(21,213)] = {64,0}, + [I(22,213)] = {64,0}, + [I(23,213)] = {64,0}, + [I(24,213)] = {64,0}, + [I(25,213)] = {64,0}, + [I(26,213)] = {64,0}, + [I(27,213)] = {64,0}, + [I(28,213)] = {64,0}, + [I(29,213)] = {64,0}, + [I(30,213)] = {64,0}, + [I(31,213)] = {64,0}, + [I(32,213)] = {X32,0x53FFFFE7}, + [I(33,213)] = {64,0}, + [I(34,213)] = {64,0}, + [I(35,213)] = {64,0}, + [I(36,213)] = {64,0}, + [I(37,213)] = {X32,0x57FFFFE7}, + [I(38,213)] = {64,0}, + [I(39,213)] = {64,0}, + [I(40,213)] = {64,0}, + [I(41,213)] = {64,0}, + [I(42,213)] = {64,0}, + [I(43,213)] = {64,0}, + [I(44,213)] = {64,0}, + [I(45,213)] = {X32,0x5BFFFFE7}, + [I(46,213)] = {X32,0x5FFFFFE7}, + [I(47,213)] = {X32,0x63FFFFE7}, + [I(48,213)] = {31,0x3FFFFE7}, + [I(49,213)] = {31,0x7FFFFE7}, + [I(50,213)] = {31,0xBFFFFE7}, + [I(51,213)] = {X32,0x67FFFFE7}, + [I(52,213)] = {X32,0x6BFFFFE7}, + [I(53,213)] = {X32,0x6FFFFFE7}, + [I(54,213)] = {X32,0x73FFFFE7}, + [I(55,213)] = {X32,0x77FFFFE7}, + [I(56,213)] = {X32,0x7BFFFFE7}, + [I(57,213)] = {X32,0x7FFFFFE7}, + [I(58,213)] = {64,0}, + [I(59,213)] = {64,0}, + [I(60,213)] = {64,0}, + [I(61,213)] = {X32,0x83FFFFE7}, + [I(62,213)] = {64,0}, + [I(63,213)] = {64,0}, + [I(64,213)] = {64,0}, + [I(65,213)] = {X32,0x87FFFFE7}, + [I(66,213)] = {64,0}, + [I(67,213)] = {64,0}, + [I(68,213)] = {64,0}, + [I(69,213)] = {64,0}, + [I(70,213)] = {64,0}, + [I(71,213)] = {64,0}, + [I(72,213)] = {64,0}, + [I(73,213)] = {64,0}, + [I(74,213)] = {64,0}, + [I(75,213)] = {64,0}, + [I(76,213)] = {64,0}, + [I(77,213)] = {64,0}, + [I(78,213)] = {64,0}, + [I(79,213)] = {64,0}, + [I(80,213)] = {64,0}, + [I(81,213)] = {64,0}, + [I(82,213)] = {64,0}, + [I(83,213)] = {64,0}, + [I(84,213)] = {64,0}, + [I(85,213)] = {64,0}, + [I(86,213)] = {64,0}, + [I(87,213)] = {64,0}, + [I(88,213)] = {64,0}, + [I(89,213)] = {64,0}, + [I(90,213)] = {64,0}, + [I(91,213)] = {64,0}, + [I(92,213)] = {64,0}, + [I(93,213)] = {64,0}, + [I(94,213)] = {64,0}, + [I(95,213)] = {X32,0x8BFFFFE7}, + [I(96,213)] = {64,0}, + [I(97,213)] = {31,0xFFFFFE7}, + [I(98,213)] = {X32,0x8FFFFFE7}, + [I(99,213)] = {31,0x13FFFFE7}, + [I(100,213)] = {X32,0x93FFFFE7}, + [I(101,213)] = {31,0x17FFFFE7}, + [I(102,213)] = {X32,0x97FFFFE7}, + [I(103,213)] = {X32,0x9BFFFFE7}, + [I(104,213)] = {X32,0x9FFFFFE7}, + [I(105,213)] = {31,0x1BFFFFE7}, + [I(106,213)] = {64,0}, + [I(107,213)] = {64,0}, + [I(108,213)] = {X32,0xA3FFFFE7}, + [I(109,213)] = {X32,0xA7FFFFE7}, + [I(110,213)] = {X32,0xABFFFFE7}, + [I(111,213)] = {31,0x1FFFFFE7}, + [I(112,213)] = {X32,0xAFFFFFE7}, + [I(113,213)] = {64,0}, + [I(114,213)] = {X32,0xB3FFFFE7}, + [I(115,213)] = {31,0x23FFFFE7}, + [I(116,213)] = {31,0x27FFFFE7}, + [I(117,213)] = {X32,0xB7FFFFE7}, + [I(118,213)] = {64,0}, + [I(119,213)] = {64,0}, + [I(120,213)] = {64,0}, + [I(121,213)] = {64,0}, + [I(122,213)] = {64,0}, + [I(123,213)] = {64,0}, + [I(124,213)] = {64,0}, + [I(125,213)] = {64,0}, + [I(126,213)] = {64,0}, + [I(127,213)] = {64,0}, + [I(128,213)] = {64,0}, + [I(129,213)] = {64,0}, + [I(130,213)] = {64,0}, + [I(131,213)] = {64,0}, + [I(132,213)] = {64,0}, + [I(133,213)] = {64,0}, + [I(134,213)] = {64,0}, + [I(135,213)] = {64,0}, + [I(136,213)] = {64,0}, + [I(137,213)] = {64,0}, + [I(138,213)] = {64,0}, + [I(139,213)] = {64,0}, + [I(140,213)] = {64,0}, + [I(141,213)] = {64,0}, + [I(142,213)] = {64,0}, + [I(143,213)] = {64,0}, + [I(144,213)] = {64,0}, + [I(145,213)] = {64,0}, + [I(146,213)] = {64,0}, + [I(147,213)] = {64,0}, + [I(148,213)] = {64,0}, + [I(149,213)] = {64,0}, + [I(150,213)] = {64,0}, + [I(151,213)] = {64,0}, + [I(152,213)] = {64,0}, + [I(153,213)] = {64,0}, + [I(154,213)] = {64,0}, + [I(155,213)] = {64,0}, + [I(156,213)] = {64,0}, + [I(157,213)] = {64,0}, + [I(158,213)] = {64,0}, + [I(159,213)] = {64,0}, + [I(160,213)] = {64,0}, + [I(161,213)] = {64,0}, + [I(162,213)] = {64,0}, + [I(163,213)] = {64,0}, + [I(164,213)] = {64,0}, + [I(165,213)] = {64,0}, + [I(166,213)] = {64,0}, + [I(167,213)] = {64,0}, + [I(168,213)] = {64,0}, + [I(169,213)] = {64,0}, + [I(170,213)] = {64,0}, + [I(171,213)] = {64,0}, + [I(172,213)] = {64,0}, + [I(173,213)] = {64,0}, + [I(174,213)] = {64,0}, + [I(175,213)] = {64,0}, + [I(176,213)] = {64,0}, + [I(177,213)] = {64,0}, + [I(178,213)] = {64,0}, + [I(179,213)] = {64,0}, + [I(180,213)] = {64,0}, + [I(181,213)] = {64,0}, + [I(182,213)] = {64,0}, + [I(183,213)] = {64,0}, + [I(184,213)] = {64,0}, + [I(185,213)] = {64,0}, + [I(186,213)] = {64,0}, + [I(187,213)] = {64,0}, + [I(188,213)] = {64,0}, + [I(189,213)] = {64,0}, + [I(190,213)] = {64,0}, + [I(191,213)] = {64,0}, + [I(192,213)] = {64,0}, + [I(193,213)] = {64,0}, + [I(194,213)] = {64,0}, + [I(195,213)] = {64,0}, + [I(196,213)] = {64,0}, + [I(197,213)] = {64,0}, + [I(198,213)] = {64,0}, + [I(199,213)] = {64,0}, + [I(200,213)] = {64,0}, + [I(201,213)] = {64,0}, + [I(202,213)] = {64,0}, + [I(203,213)] = {64,0}, + [I(204,213)] = {64,0}, + [I(205,213)] = {64,0}, + [I(206,213)] = {64,0}, + [I(207,213)] = {64,0}, + [I(208,213)] = {64,0}, + [I(209,213)] = {64,0}, + [I(210,213)] = {64,0}, + [I(211,213)] = {64,0}, + [I(212,213)] = {64,0}, + [I(213,213)] = {64,0}, + [I(214,213)] = {64,0}, + [I(215,213)] = {64,0}, + [I(216,213)] = {64,0}, + [I(217,213)] = {64,0}, + [I(218,213)] = {64,0}, + [I(219,213)] = {64,0}, + [I(220,213)] = {64,0}, + [I(221,213)] = {64,0}, + [I(222,213)] = {64,0}, + [I(223,213)] = {64,0}, + [I(224,213)] = {64,0}, + [I(225,213)] = {64,0}, + [I(226,213)] = {64,0}, + [I(227,213)] = {64,0}, + [I(228,213)] = {64,0}, + [I(229,213)] = {64,0}, + [I(230,213)] = {64,0}, + [I(231,213)] = {64,0}, + [I(232,213)] = {64,0}, + [I(233,213)] = {64,0}, + [I(234,213)] = {64,0}, + [I(235,213)] = {64,0}, + [I(236,213)] = {64,0}, + [I(237,213)] = {64,0}, + [I(238,213)] = {64,0}, + [I(239,213)] = {64,0}, + [I(240,213)] = {64,0}, + [I(241,213)] = {64,0}, + [I(242,213)] = {64,0}, + [I(243,213)] = {64,0}, + [I(244,213)] = {64,0}, + [I(245,213)] = {64,0}, + [I(246,213)] = {64,0}, + [I(247,213)] = {64,0}, + [I(248,213)] = {64,0}, + [I(249,213)] = {64,0}, + [I(250,213)] = {64,0}, + [I(251,213)] = {64,0}, + [I(252,213)] = {64,0}, + [I(253,213)] = {64,0}, + [I(254,213)] = {64,0}, + [I(255,213)] = {64,0}, + [I(0,214)] = {64,0}, + [I(1,214)] = {64,0}, + [I(2,214)] = {64,0}, + [I(3,214)] = {64,0}, + [I(4,214)] = {64,0}, + [I(5,214)] = {64,0}, + [I(6,214)] = {64,0}, + [I(7,214)] = {64,0}, + [I(8,214)] = {64,0}, + [I(9,214)] = {64,0}, + [I(10,214)] = {64,0}, + [I(11,214)] = {64,0}, + [I(12,214)] = {64,0}, + [I(13,214)] = {64,0}, + [I(14,214)] = {64,0}, + [I(15,214)] = {64,0}, + [I(16,214)] = {64,0}, + [I(17,214)] = {64,0}, + [I(18,214)] = {64,0}, + [I(19,214)] = {64,0}, + [I(20,214)] = {64,0}, + [I(21,214)] = {64,0}, + [I(22,214)] = {64,0}, + [I(23,214)] = {64,0}, + [I(24,214)] = {64,0}, + [I(25,214)] = {64,0}, + [I(26,214)] = {64,0}, + [I(27,214)] = {64,0}, + [I(28,214)] = {64,0}, + [I(29,214)] = {64,0}, + [I(30,214)] = {64,0}, + [I(31,214)] = {64,0}, + [I(32,214)] = {64,0}, + [I(33,214)] = {64,0}, + [I(34,214)] = {64,0}, + [I(35,214)] = {64,0}, + [I(36,214)] = {64,0}, + [I(37,214)] = {64,0}, + [I(38,214)] = {64,0}, + [I(39,214)] = {64,0}, + [I(40,214)] = {64,0}, + [I(41,214)] = {64,0}, + [I(42,214)] = {64,0}, + [I(43,214)] = {64,0}, + [I(44,214)] = {64,0}, + [I(45,214)] = {64,0}, + [I(46,214)] = {64,0}, + [I(47,214)] = {64,0}, + [I(48,214)] = {X32,0x7FFFFE2}, + [I(49,214)] = {X32,0xFFFFFE2}, + [I(50,214)] = {X32,0x17FFFFE2}, + [I(51,214)] = {64,0}, + [I(52,214)] = {64,0}, + [I(53,214)] = {64,0}, + [I(54,214)] = {64,0}, + [I(55,214)] = {64,0}, + [I(56,214)] = {64,0}, + [I(57,214)] = {64,0}, + [I(58,214)] = {64,0}, + [I(59,214)] = {64,0}, + [I(60,214)] = {64,0}, + [I(61,214)] = {64,0}, + [I(62,214)] = {64,0}, + [I(63,214)] = {64,0}, + [I(64,214)] = {64,0}, + [I(65,214)] = {64,0}, + [I(66,214)] = {64,0}, + [I(67,214)] = {64,0}, + [I(68,214)] = {64,0}, + [I(69,214)] = {64,0}, + [I(70,214)] = {64,0}, + [I(71,214)] = {64,0}, + [I(72,214)] = {64,0}, + [I(73,214)] = {64,0}, + [I(74,214)] = {64,0}, + [I(75,214)] = {64,0}, + [I(76,214)] = {64,0}, + [I(77,214)] = {64,0}, + [I(78,214)] = {64,0}, + [I(79,214)] = {64,0}, + [I(80,214)] = {64,0}, + [I(81,214)] = {64,0}, + [I(82,214)] = {64,0}, + [I(83,214)] = {64,0}, + [I(84,214)] = {64,0}, + [I(85,214)] = {64,0}, + [I(86,214)] = {64,0}, + [I(87,214)] = {64,0}, + [I(88,214)] = {64,0}, + [I(89,214)] = {64,0}, + [I(90,214)] = {64,0}, + [I(91,214)] = {64,0}, + [I(92,214)] = {64,0}, + [I(93,214)] = {64,0}, + [I(94,214)] = {64,0}, + [I(95,214)] = {64,0}, + [I(96,214)] = {64,0}, + [I(97,214)] = {X32,0x1FFFFFE2}, + [I(98,214)] = {64,0}, + [I(99,214)] = {X32,0x27FFFFE2}, + [I(100,214)] = {64,0}, + [I(101,214)] = {X32,0x2FFFFFE2}, + [I(102,214)] = {64,0}, + [I(103,214)] = {64,0}, + [I(104,214)] = {64,0}, + [I(105,214)] = {X32,0x37FFFFE2}, + [I(106,214)] = {64,0}, + [I(107,214)] = {64,0}, + [I(108,214)] = {64,0}, + [I(109,214)] = {64,0}, + [I(110,214)] = {64,0}, + [I(111,214)] = {X32,0x3FFFFFE2}, + [I(112,214)] = {64,0}, + [I(113,214)] = {64,0}, + [I(114,214)] = {64,0}, + [I(115,214)] = {X32,0x47FFFFE2}, + [I(116,214)] = {X32,0x4FFFFFE2}, + [I(117,214)] = {64,0}, + [I(118,214)] = {64,0}, + [I(119,214)] = {64,0}, + [I(120,214)] = {64,0}, + [I(121,214)] = {64,0}, + [I(122,214)] = {64,0}, + [I(123,214)] = {64,0}, + [I(124,214)] = {64,0}, + [I(125,214)] = {64,0}, + [I(126,214)] = {64,0}, + [I(127,214)] = {64,0}, + [I(128,214)] = {64,0}, + [I(129,214)] = {64,0}, + [I(130,214)] = {64,0}, + [I(131,214)] = {64,0}, + [I(132,214)] = {64,0}, + [I(133,214)] = {64,0}, + [I(134,214)] = {64,0}, + [I(135,214)] = {64,0}, + [I(136,214)] = {64,0}, + [I(137,214)] = {64,0}, + [I(138,214)] = {64,0}, + [I(139,214)] = {64,0}, + [I(140,214)] = {64,0}, + [I(141,214)] = {64,0}, + [I(142,214)] = {64,0}, + [I(143,214)] = {64,0}, + [I(144,214)] = {64,0}, + [I(145,214)] = {64,0}, + [I(146,214)] = {64,0}, + [I(147,214)] = {64,0}, + [I(148,214)] = {64,0}, + [I(149,214)] = {64,0}, + [I(150,214)] = {64,0}, + [I(151,214)] = {64,0}, + [I(152,214)] = {64,0}, + [I(153,214)] = {64,0}, + [I(154,214)] = {64,0}, + [I(155,214)] = {64,0}, + [I(156,214)] = {64,0}, + [I(157,214)] = {64,0}, + [I(158,214)] = {64,0}, + [I(159,214)] = {64,0}, + [I(160,214)] = {64,0}, + [I(161,214)] = {64,0}, + [I(162,214)] = {64,0}, + [I(163,214)] = {64,0}, + [I(164,214)] = {64,0}, + [I(165,214)] = {64,0}, + [I(166,214)] = {64,0}, + [I(167,214)] = {64,0}, + [I(168,214)] = {64,0}, + [I(169,214)] = {64,0}, + [I(170,214)] = {64,0}, + [I(171,214)] = {64,0}, + [I(172,214)] = {64,0}, + [I(173,214)] = {64,0}, + [I(174,214)] = {64,0}, + [I(175,214)] = {64,0}, + [I(176,214)] = {64,0}, + [I(177,214)] = {64,0}, + [I(178,214)] = {64,0}, + [I(179,214)] = {64,0}, + [I(180,214)] = {64,0}, + [I(181,214)] = {64,0}, + [I(182,214)] = {64,0}, + [I(183,214)] = {64,0}, + [I(184,214)] = {64,0}, + [I(185,214)] = {64,0}, + [I(186,214)] = {64,0}, + [I(187,214)] = {64,0}, + [I(188,214)] = {64,0}, + [I(189,214)] = {64,0}, + [I(190,214)] = {64,0}, + [I(191,214)] = {64,0}, + [I(192,214)] = {64,0}, + [I(193,214)] = {64,0}, + [I(194,214)] = {64,0}, + [I(195,214)] = {64,0}, + [I(196,214)] = {64,0}, + [I(197,214)] = {64,0}, + [I(198,214)] = {64,0}, + [I(199,214)] = {64,0}, + [I(200,214)] = {64,0}, + [I(201,214)] = {64,0}, + [I(202,214)] = {64,0}, + [I(203,214)] = {64,0}, + [I(204,214)] = {64,0}, + [I(205,214)] = {64,0}, + [I(206,214)] = {64,0}, + [I(207,214)] = {64,0}, + [I(208,214)] = {64,0}, + [I(209,214)] = {64,0}, + [I(210,214)] = {64,0}, + [I(211,214)] = {64,0}, + [I(212,214)] = {64,0}, + [I(213,214)] = {64,0}, + [I(214,214)] = {64,0}, + [I(215,214)] = {64,0}, + [I(216,214)] = {64,0}, + [I(217,214)] = {64,0}, + [I(218,214)] = {64,0}, + [I(219,214)] = {64,0}, + [I(220,214)] = {64,0}, + [I(221,214)] = {64,0}, + [I(222,214)] = {64,0}, + [I(223,214)] = {64,0}, + [I(224,214)] = {64,0}, + [I(225,214)] = {64,0}, + [I(226,214)] = {64,0}, + [I(227,214)] = {64,0}, + [I(228,214)] = {64,0}, + [I(229,214)] = {64,0}, + [I(230,214)] = {64,0}, + [I(231,214)] = {64,0}, + [I(232,214)] = {64,0}, + [I(233,214)] = {64,0}, + [I(234,214)] = {64,0}, + [I(235,214)] = {64,0}, + [I(236,214)] = {64,0}, + [I(237,214)] = {64,0}, + [I(238,214)] = {64,0}, + [I(239,214)] = {64,0}, + [I(240,214)] = {64,0}, + [I(241,214)] = {64,0}, + [I(242,214)] = {64,0}, + [I(243,214)] = {64,0}, + [I(244,214)] = {64,0}, + [I(245,214)] = {64,0}, + [I(246,214)] = {64,0}, + [I(247,214)] = {64,0}, + [I(248,214)] = {64,0}, + [I(249,214)] = {64,0}, + [I(250,214)] = {64,0}, + [I(251,214)] = {64,0}, + [I(252,214)] = {64,0}, + [I(253,214)] = {64,0}, + [I(254,214)] = {64,0}, + [I(255,214)] = {64,0}, + [I(0,215)] = {64,0}, + [I(1,215)] = {64,0}, + [I(2,215)] = {64,0}, + [I(3,215)] = {64,0}, + [I(4,215)] = {64,0}, + [I(5,215)] = {64,0}, + [I(6,215)] = {64,0}, + [I(7,215)] = {64,0}, + [I(8,215)] = {64,0}, + [I(9,215)] = {64,0}, + [I(10,215)] = {64,0}, + [I(11,215)] = {64,0}, + [I(12,215)] = {64,0}, + [I(13,215)] = {64,0}, + [I(14,215)] = {64,0}, + [I(15,215)] = {64,0}, + [I(16,215)] = {64,0}, + [I(17,215)] = {64,0}, + [I(18,215)] = {64,0}, + [I(19,215)] = {64,0}, + [I(20,215)] = {64,0}, + [I(21,215)] = {64,0}, + [I(22,215)] = {64,0}, + [I(23,215)] = {64,0}, + [I(24,215)] = {64,0}, + [I(25,215)] = {64,0}, + [I(26,215)] = {64,0}, + [I(27,215)] = {64,0}, + [I(28,215)] = {64,0}, + [I(29,215)] = {64,0}, + [I(30,215)] = {64,0}, + [I(31,215)] = {64,0}, + [I(32,215)] = {30,0x14FFFFF2}, + [I(33,215)] = {64,0}, + [I(34,215)] = {64,0}, + [I(35,215)] = {64,0}, + [I(36,215)] = {64,0}, + [I(37,215)] = {30,0x15FFFFF2}, + [I(38,215)] = {X32,0xF8FFFFF2}, + [I(39,215)] = {64,0}, + [I(40,215)] = {64,0}, + [I(41,215)] = {64,0}, + [I(42,215)] = {X32,0xF9FFFFF2}, + [I(43,215)] = {64,0}, + [I(44,215)] = {X32,0xFAFFFFF2}, + [I(45,215)] = {30,0x16FFFFF2}, + [I(46,215)] = {30,0x17FFFFF2}, + [I(47,215)] = {30,0x18FFFFF2}, + [I(48,215)] = {29,0xFFFFF2}, + [I(49,215)] = {29,0x1FFFFF2}, + [I(50,215)] = {29,0x2FFFFF2}, + [I(51,215)] = {30,0x19FFFFF2}, + [I(52,215)] = {30,0x1AFFFFF2}, + [I(53,215)] = {30,0x1BFFFFF2}, + [I(54,215)] = {30,0x1CFFFFF2}, + [I(55,215)] = {30,0x1DFFFFF2}, + [I(56,215)] = {30,0x1EFFFFF2}, + [I(57,215)] = {30,0x1FFFFFF2}, + [I(58,215)] = {31,0x5CFFFFF2}, + [I(59,215)] = {X32,0xFBFFFFF2}, + [I(60,215)] = {64,0}, + [I(61,215)] = {30,0x20FFFFF2}, + [I(62,215)] = {64,0}, + [I(63,215)] = {64,0}, + [I(64,215)] = {64,0}, + [I(65,215)] = {30,0x21FFFFF2}, + [I(66,215)] = {31,0x5DFFFFF2}, + [I(67,215)] = {31,0x5EFFFFF2}, + [I(68,215)] = {31,0x5FFFFFF2}, + [I(69,215)] = {31,0x60FFFFF2}, + [I(70,215)] = {31,0x61FFFFF2}, + [I(71,215)] = {31,0x62FFFFF2}, + [I(72,215)] = {31,0x63FFFFF2}, + [I(73,215)] = {31,0x64FFFFF2}, + [I(74,215)] = {31,0x65FFFFF2}, + [I(75,215)] = {31,0x66FFFFF2}, + [I(76,215)] = {31,0x67FFFFF2}, + [I(77,215)] = {31,0x68FFFFF2}, + [I(78,215)] = {31,0x69FFFFF2}, + [I(79,215)] = {31,0x6AFFFFF2}, + [I(80,215)] = {31,0x6BFFFFF2}, + [I(81,215)] = {31,0x6CFFFFF2}, + [I(82,215)] = {31,0x6DFFFFF2}, + [I(83,215)] = {31,0x6EFFFFF2}, + [I(84,215)] = {31,0x6FFFFFF2}, + [I(85,215)] = {31,0x70FFFFF2}, + [I(86,215)] = {31,0x71FFFFF2}, + [I(87,215)] = {31,0x72FFFFF2}, + [I(88,215)] = {X32,0xFCFFFFF2}, + [I(89,215)] = {31,0x73FFFFF2}, + [I(90,215)] = {X32,0xFDFFFFF2}, + [I(91,215)] = {64,0}, + [I(92,215)] = {64,0}, + [I(93,215)] = {64,0}, + [I(94,215)] = {64,0}, + [I(95,215)] = {30,0x22FFFFF2}, + [I(96,215)] = {64,0}, + [I(97,215)] = {29,0x3FFFFF2}, + [I(98,215)] = {30,0x23FFFFF2}, + [I(99,215)] = {29,0x4FFFFF2}, + [I(100,215)] = {30,0x24FFFFF2}, + [I(101,215)] = {29,0x5FFFFF2}, + [I(102,215)] = {30,0x25FFFFF2}, + [I(103,215)] = {30,0x26FFFFF2}, + [I(104,215)] = {30,0x27FFFFF2}, + [I(105,215)] = {29,0x6FFFFF2}, + [I(106,215)] = {31,0x74FFFFF2}, + [I(107,215)] = {31,0x75FFFFF2}, + [I(108,215)] = {30,0x28FFFFF2}, + [I(109,215)] = {30,0x29FFFFF2}, + [I(110,215)] = {30,0x2AFFFFF2}, + [I(111,215)] = {29,0x7FFFFF2}, + [I(112,215)] = {30,0x2BFFFFF2}, + [I(113,215)] = {31,0x76FFFFF2}, + [I(114,215)] = {30,0x2CFFFFF2}, + [I(115,215)] = {29,0x8FFFFF2}, + [I(116,215)] = {29,0x9FFFFF2}, + [I(117,215)] = {30,0x2DFFFFF2}, + [I(118,215)] = {31,0x77FFFFF2}, + [I(119,215)] = {31,0x78FFFFF2}, + [I(120,215)] = {31,0x79FFFFF2}, + [I(121,215)] = {31,0x7AFFFFF2}, + [I(122,215)] = {31,0x7BFFFFF2}, + [I(123,215)] = {64,0}, + [I(124,215)] = {64,0}, + [I(125,215)] = {64,0}, + [I(126,215)] = {64,0}, + [I(127,215)] = {64,0}, + [I(128,215)] = {64,0}, + [I(129,215)] = {64,0}, + [I(130,215)] = {64,0}, + [I(131,215)] = {64,0}, + [I(132,215)] = {64,0}, + [I(133,215)] = {64,0}, + [I(134,215)] = {64,0}, + [I(135,215)] = {64,0}, + [I(136,215)] = {64,0}, + [I(137,215)] = {64,0}, + [I(138,215)] = {64,0}, + [I(139,215)] = {64,0}, + [I(140,215)] = {64,0}, + [I(141,215)] = {64,0}, + [I(142,215)] = {64,0}, + [I(143,215)] = {64,0}, + [I(144,215)] = {64,0}, + [I(145,215)] = {64,0}, + [I(146,215)] = {64,0}, + [I(147,215)] = {64,0}, + [I(148,215)] = {64,0}, + [I(149,215)] = {64,0}, + [I(150,215)] = {64,0}, + [I(151,215)] = {64,0}, + [I(152,215)] = {64,0}, + [I(153,215)] = {64,0}, + [I(154,215)] = {64,0}, + [I(155,215)] = {64,0}, + [I(156,215)] = {64,0}, + [I(157,215)] = {64,0}, + [I(158,215)] = {64,0}, + [I(159,215)] = {64,0}, + [I(160,215)] = {64,0}, + [I(161,215)] = {64,0}, + [I(162,215)] = {64,0}, + [I(163,215)] = {64,0}, + [I(164,215)] = {64,0}, + [I(165,215)] = {64,0}, + [I(166,215)] = {64,0}, + [I(167,215)] = {64,0}, + [I(168,215)] = {64,0}, + [I(169,215)] = {64,0}, + [I(170,215)] = {64,0}, + [I(171,215)] = {64,0}, + [I(172,215)] = {64,0}, + [I(173,215)] = {64,0}, + [I(174,215)] = {64,0}, + [I(175,215)] = {64,0}, + [I(176,215)] = {64,0}, + [I(177,215)] = {64,0}, + [I(178,215)] = {64,0}, + [I(179,215)] = {64,0}, + [I(180,215)] = {64,0}, + [I(181,215)] = {64,0}, + [I(182,215)] = {64,0}, + [I(183,215)] = {64,0}, + [I(184,215)] = {64,0}, + [I(185,215)] = {64,0}, + [I(186,215)] = {64,0}, + [I(187,215)] = {64,0}, + [I(188,215)] = {64,0}, + [I(189,215)] = {64,0}, + [I(190,215)] = {64,0}, + [I(191,215)] = {64,0}, + [I(192,215)] = {64,0}, + [I(193,215)] = {64,0}, + [I(194,215)] = {64,0}, + [I(195,215)] = {64,0}, + [I(196,215)] = {64,0}, + [I(197,215)] = {64,0}, + [I(198,215)] = {64,0}, + [I(199,215)] = {64,0}, + [I(200,215)] = {64,0}, + [I(201,215)] = {64,0}, + [I(202,215)] = {64,0}, + [I(203,215)] = {64,0}, + [I(204,215)] = {64,0}, + [I(205,215)] = {64,0}, + [I(206,215)] = {64,0}, + [I(207,215)] = {64,0}, + [I(208,215)] = {64,0}, + [I(209,215)] = {64,0}, + [I(210,215)] = {64,0}, + [I(211,215)] = {64,0}, + [I(212,215)] = {64,0}, + [I(213,215)] = {64,0}, + [I(214,215)] = {64,0}, + [I(215,215)] = {64,0}, + [I(216,215)] = {64,0}, + [I(217,215)] = {64,0}, + [I(218,215)] = {64,0}, + [I(219,215)] = {64,0}, + [I(220,215)] = {64,0}, + [I(221,215)] = {64,0}, + [I(222,215)] = {64,0}, + [I(223,215)] = {64,0}, + [I(224,215)] = {64,0}, + [I(225,215)] = {64,0}, + [I(226,215)] = {64,0}, + [I(227,215)] = {64,0}, + [I(228,215)] = {64,0}, + [I(229,215)] = {64,0}, + [I(230,215)] = {64,0}, + [I(231,215)] = {64,0}, + [I(232,215)] = {64,0}, + [I(233,215)] = {64,0}, + [I(234,215)] = {64,0}, + [I(235,215)] = {64,0}, + [I(236,215)] = {64,0}, + [I(237,215)] = {64,0}, + [I(238,215)] = {64,0}, + [I(239,215)] = {64,0}, + [I(240,215)] = {64,0}, + [I(241,215)] = {64,0}, + [I(242,215)] = {64,0}, + [I(243,215)] = {64,0}, + [I(244,215)] = {64,0}, + [I(245,215)] = {64,0}, + [I(246,215)] = {64,0}, + [I(247,215)] = {64,0}, + [I(248,215)] = {64,0}, + [I(249,215)] = {64,0}, + [I(250,215)] = {64,0}, + [I(251,215)] = {64,0}, + [I(252,215)] = {64,0}, + [I(253,215)] = {64,0}, + [I(254,215)] = {64,0}, + [I(255,215)] = {64,0}, + [I(0,216)] = {64,0}, + [I(1,216)] = {64,0}, + [I(2,216)] = {64,0}, + [I(3,216)] = {64,0}, + [I(4,216)] = {64,0}, + [I(5,216)] = {64,0}, + [I(6,216)] = {64,0}, + [I(7,216)] = {64,0}, + [I(8,216)] = {64,0}, + [I(9,216)] = {64,0}, + [I(10,216)] = {64,0}, + [I(11,216)] = {64,0}, + [I(12,216)] = {64,0}, + [I(13,216)] = {64,0}, + [I(14,216)] = {64,0}, + [I(15,216)] = {64,0}, + [I(16,216)] = {64,0}, + [I(17,216)] = {64,0}, + [I(18,216)] = {64,0}, + [I(19,216)] = {64,0}, + [I(20,216)] = {64,0}, + [I(21,216)] = {64,0}, + [I(22,216)] = {64,0}, + [I(23,216)] = {64,0}, + [I(24,216)] = {64,0}, + [I(25,216)] = {64,0}, + [I(26,216)] = {64,0}, + [I(27,216)] = {64,0}, + [I(28,216)] = {64,0}, + [I(29,216)] = {64,0}, + [I(30,216)] = {64,0}, + [I(31,216)] = {64,0}, + [I(32,216)] = {27,0x29FFFE4}, + [I(33,216)] = {31,0x7F1FFFE4}, + [I(34,216)] = {31,0x7F3FFFE4}, + [I(35,216)] = {64,0}, + [I(36,216)] = {64,0}, + [I(37,216)] = {27,0x2BFFFE4}, + [I(38,216)] = {29,0x1F1FFFE4}, + [I(39,216)] = {X32,0xFF5FFFE4}, + [I(40,216)] = {31,0x7F5FFFE4}, + [I(41,216)] = {31,0x7F7FFFE4}, + [I(42,216)] = {29,0x1F3FFFE4}, + [I(43,216)] = {X32,0xFF7FFFE4}, + [I(44,216)] = {29,0x1F5FFFE4}, + [I(45,216)] = {27,0x2DFFFE4}, + [I(46,216)] = {27,0x2FFFFE4}, + [I(47,216)] = {27,0x31FFFE4}, + [I(48,216)] = {26,0x1FFFE4}, + [I(49,216)] = {26,0x3FFFE4}, + [I(50,216)] = {26,0x5FFFE4}, + [I(51,216)] = {27,0x33FFFE4}, + [I(52,216)] = {27,0x35FFFE4}, + [I(53,216)] = {27,0x37FFFE4}, + [I(54,216)] = {27,0x39FFFE4}, + [I(55,216)] = {27,0x3BFFFE4}, + [I(56,216)] = {27,0x3DFFFE4}, + [I(57,216)] = {27,0x3FFFFE4}, + [I(58,216)] = {28,0xB9FFFE4}, + [I(59,216)] = {29,0x1F7FFFE4}, + [I(60,216)] = {64,0}, + [I(61,216)] = {27,0x41FFFE4}, + [I(62,216)] = {64,0}, + [I(63,216)] = {31,0x7F9FFFE4}, + [I(64,216)] = {64,0}, + [I(65,216)] = {27,0x43FFFE4}, + [I(66,216)] = {28,0xBBFFFE4}, + [I(67,216)] = {28,0xBDFFFE4}, + [I(68,216)] = {28,0xBFFFFE4}, + [I(69,216)] = {28,0xC1FFFE4}, + [I(70,216)] = {28,0xC3FFFE4}, + [I(71,216)] = {28,0xC5FFFE4}, + [I(72,216)] = {28,0xC7FFFE4}, + [I(73,216)] = {28,0xC9FFFE4}, + [I(74,216)] = {28,0xCBFFFE4}, + [I(75,216)] = {28,0xCDFFFE4}, + [I(76,216)] = {28,0xCFFFFE4}, + [I(77,216)] = {28,0xD1FFFE4}, + [I(78,216)] = {28,0xD3FFFE4}, + [I(79,216)] = {28,0xD5FFFE4}, + [I(80,216)] = {28,0xD7FFFE4}, + [I(81,216)] = {28,0xD9FFFE4}, + [I(82,216)] = {28,0xDBFFFE4}, + [I(83,216)] = {28,0xDDFFFE4}, + [I(84,216)] = {28,0xDFFFFE4}, + [I(85,216)] = {28,0xE1FFFE4}, + [I(86,216)] = {28,0xE3FFFE4}, + [I(87,216)] = {28,0xE5FFFE4}, + [I(88,216)] = {29,0x1F9FFFE4}, + [I(89,216)] = {28,0xE7FFFE4}, + [I(90,216)] = {29,0x1FBFFFE4}, + [I(91,216)] = {64,0}, + [I(92,216)] = {64,0}, + [I(93,216)] = {64,0}, + [I(94,216)] = {64,0}, + [I(95,216)] = {27,0x45FFFE4}, + [I(96,216)] = {64,0}, + [I(97,216)] = {26,0x7FFFE4}, + [I(98,216)] = {27,0x47FFFE4}, + [I(99,216)] = {26,0x9FFFE4}, + [I(100,216)] = {27,0x49FFFE4}, + [I(101,216)] = {26,0xBFFFE4}, + [I(102,216)] = {27,0x4BFFFE4}, + [I(103,216)] = {27,0x4DFFFE4}, + [I(104,216)] = {27,0x4FFFFE4}, + [I(105,216)] = {26,0xDFFFE4}, + [I(106,216)] = {28,0xE9FFFE4}, + [I(107,216)] = {28,0xEBFFFE4}, + [I(108,216)] = {27,0x51FFFE4}, + [I(109,216)] = {27,0x53FFFE4}, + [I(110,216)] = {27,0x55FFFE4}, + [I(111,216)] = {26,0xFFFFE4}, + [I(112,216)] = {27,0x57FFFE4}, + [I(113,216)] = {28,0xEDFFFE4}, + [I(114,216)] = {27,0x59FFFE4}, + [I(115,216)] = {26,0x11FFFE4}, + [I(116,216)] = {26,0x13FFFE4}, + [I(117,216)] = {27,0x5BFFFE4}, + [I(118,216)] = {28,0xEFFFFE4}, + [I(119,216)] = {28,0xF1FFFE4}, + [I(120,216)] = {28,0xF3FFFE4}, + [I(121,216)] = {28,0xF5FFFE4}, + [I(122,216)] = {28,0xF7FFFE4}, + [I(123,216)] = {64,0}, + [I(124,216)] = {X32,0xFF9FFFE4}, + [I(125,216)] = {64,0}, + [I(126,216)] = {64,0}, + [I(127,216)] = {64,0}, + [I(128,216)] = {64,0}, + [I(129,216)] = {64,0}, + [I(130,216)] = {64,0}, + [I(131,216)] = {64,0}, + [I(132,216)] = {64,0}, + [I(133,216)] = {64,0}, + [I(134,216)] = {64,0}, + [I(135,216)] = {64,0}, + [I(136,216)] = {64,0}, + [I(137,216)] = {64,0}, + [I(138,216)] = {64,0}, + [I(139,216)] = {64,0}, + [I(140,216)] = {64,0}, + [I(141,216)] = {64,0}, + [I(142,216)] = {64,0}, + [I(143,216)] = {64,0}, + [I(144,216)] = {64,0}, + [I(145,216)] = {64,0}, + [I(146,216)] = {64,0}, + [I(147,216)] = {64,0}, + [I(148,216)] = {64,0}, + [I(149,216)] = {64,0}, + [I(150,216)] = {64,0}, + [I(151,216)] = {64,0}, + [I(152,216)] = {64,0}, + [I(153,216)] = {64,0}, + [I(154,216)] = {64,0}, + [I(155,216)] = {64,0}, + [I(156,216)] = {64,0}, + [I(157,216)] = {64,0}, + [I(158,216)] = {64,0}, + [I(159,216)] = {64,0}, + [I(160,216)] = {64,0}, + [I(161,216)] = {64,0}, + [I(162,216)] = {64,0}, + [I(163,216)] = {64,0}, + [I(164,216)] = {64,0}, + [I(165,216)] = {64,0}, + [I(166,216)] = {64,0}, + [I(167,216)] = {64,0}, + [I(168,216)] = {64,0}, + [I(169,216)] = {64,0}, + [I(170,216)] = {64,0}, + [I(171,216)] = {64,0}, + [I(172,216)] = {64,0}, + [I(173,216)] = {64,0}, + [I(174,216)] = {64,0}, + [I(175,216)] = {64,0}, + [I(176,216)] = {64,0}, + [I(177,216)] = {64,0}, + [I(178,216)] = {64,0}, + [I(179,216)] = {64,0}, + [I(180,216)] = {64,0}, + [I(181,216)] = {64,0}, + [I(182,216)] = {64,0}, + [I(183,216)] = {64,0}, + [I(184,216)] = {64,0}, + [I(185,216)] = {64,0}, + [I(186,216)] = {64,0}, + [I(187,216)] = {64,0}, + [I(188,216)] = {64,0}, + [I(189,216)] = {64,0}, + [I(190,216)] = {64,0}, + [I(191,216)] = {64,0}, + [I(192,216)] = {64,0}, + [I(193,216)] = {64,0}, + [I(194,216)] = {64,0}, + [I(195,216)] = {64,0}, + [I(196,216)] = {64,0}, + [I(197,216)] = {64,0}, + [I(198,216)] = {64,0}, + [I(199,216)] = {64,0}, + [I(200,216)] = {64,0}, + [I(201,216)] = {64,0}, + [I(202,216)] = {64,0}, + [I(203,216)] = {64,0}, + [I(204,216)] = {64,0}, + [I(205,216)] = {64,0}, + [I(206,216)] = {64,0}, + [I(207,216)] = {64,0}, + [I(208,216)] = {64,0}, + [I(209,216)] = {64,0}, + [I(210,216)] = {64,0}, + [I(211,216)] = {64,0}, + [I(212,216)] = {64,0}, + [I(213,216)] = {64,0}, + [I(214,216)] = {64,0}, + [I(215,216)] = {64,0}, + [I(216,216)] = {64,0}, + [I(217,216)] = {64,0}, + [I(218,216)] = {64,0}, + [I(219,216)] = {64,0}, + [I(220,216)] = {64,0}, + [I(221,216)] = {64,0}, + [I(222,216)] = {64,0}, + [I(223,216)] = {64,0}, + [I(224,216)] = {64,0}, + [I(225,216)] = {64,0}, + [I(226,216)] = {64,0}, + [I(227,216)] = {64,0}, + [I(228,216)] = {64,0}, + [I(229,216)] = {64,0}, + [I(230,216)] = {64,0}, + [I(231,216)] = {64,0}, + [I(232,216)] = {64,0}, + [I(233,216)] = {64,0}, + [I(234,216)] = {64,0}, + [I(235,216)] = {64,0}, + [I(236,216)] = {64,0}, + [I(237,216)] = {64,0}, + [I(238,216)] = {64,0}, + [I(239,216)] = {64,0}, + [I(240,216)] = {64,0}, + [I(241,216)] = {64,0}, + [I(242,216)] = {64,0}, + [I(243,216)] = {64,0}, + [I(244,216)] = {64,0}, + [I(245,216)] = {64,0}, + [I(246,216)] = {64,0}, + [I(247,216)] = {64,0}, + [I(248,216)] = {64,0}, + [I(249,216)] = {64,0}, + [I(250,216)] = {64,0}, + [I(251,216)] = {64,0}, + [I(252,216)] = {64,0}, + [I(253,216)] = {64,0}, + [I(254,216)] = {64,0}, + [I(255,216)] = {64,0}, + [I(0,217)] = {64,0}, + [I(1,217)] = {64,0}, + [I(2,217)] = {64,0}, + [I(3,217)] = {64,0}, + [I(4,217)] = {64,0}, + [I(5,217)] = {64,0}, + [I(6,217)] = {64,0}, + [I(7,217)] = {64,0}, + [I(8,217)] = {64,0}, + [I(9,217)] = {64,0}, + [I(10,217)] = {64,0}, + [I(11,217)] = {64,0}, + [I(12,217)] = {64,0}, + [I(13,217)] = {64,0}, + [I(14,217)] = {64,0}, + [I(15,217)] = {64,0}, + [I(16,217)] = {64,0}, + [I(17,217)] = {64,0}, + [I(18,217)] = {64,0}, + [I(19,217)] = {64,0}, + [I(20,217)] = {64,0}, + [I(21,217)] = {64,0}, + [I(22,217)] = {64,0}, + [I(23,217)] = {64,0}, + [I(24,217)] = {64,0}, + [I(25,217)] = {64,0}, + [I(26,217)] = {64,0}, + [I(27,217)] = {64,0}, + [I(28,217)] = {64,0}, + [I(29,217)] = {64,0}, + [I(30,217)] = {64,0}, + [I(31,217)] = {64,0}, + [I(32,217)] = {27,0x29FFFE5}, + [I(33,217)] = {31,0x7F1FFFE5}, + [I(34,217)] = {31,0x7F3FFFE5}, + [I(35,217)] = {64,0}, + [I(36,217)] = {64,0}, + [I(37,217)] = {27,0x2BFFFE5}, + [I(38,217)] = {29,0x1F1FFFE5}, + [I(39,217)] = {X32,0xFF5FFFE5}, + [I(40,217)] = {31,0x7F5FFFE5}, + [I(41,217)] = {31,0x7F7FFFE5}, + [I(42,217)] = {29,0x1F3FFFE5}, + [I(43,217)] = {X32,0xFF7FFFE5}, + [I(44,217)] = {29,0x1F5FFFE5}, + [I(45,217)] = {27,0x2DFFFE5}, + [I(46,217)] = {27,0x2FFFFE5}, + [I(47,217)] = {27,0x31FFFE5}, + [I(48,217)] = {26,0x1FFFE5}, + [I(49,217)] = {26,0x3FFFE5}, + [I(50,217)] = {26,0x5FFFE5}, + [I(51,217)] = {27,0x33FFFE5}, + [I(52,217)] = {27,0x35FFFE5}, + [I(53,217)] = {27,0x37FFFE5}, + [I(54,217)] = {27,0x39FFFE5}, + [I(55,217)] = {27,0x3BFFFE5}, + [I(56,217)] = {27,0x3DFFFE5}, + [I(57,217)] = {27,0x3FFFFE5}, + [I(58,217)] = {28,0xB9FFFE5}, + [I(59,217)] = {29,0x1F7FFFE5}, + [I(60,217)] = {64,0}, + [I(61,217)] = {27,0x41FFFE5}, + [I(62,217)] = {64,0}, + [I(63,217)] = {31,0x7F9FFFE5}, + [I(64,217)] = {64,0}, + [I(65,217)] = {27,0x43FFFE5}, + [I(66,217)] = {28,0xBBFFFE5}, + [I(67,217)] = {28,0xBDFFFE5}, + [I(68,217)] = {28,0xBFFFFE5}, + [I(69,217)] = {28,0xC1FFFE5}, + [I(70,217)] = {28,0xC3FFFE5}, + [I(71,217)] = {28,0xC5FFFE5}, + [I(72,217)] = {28,0xC7FFFE5}, + [I(73,217)] = {28,0xC9FFFE5}, + [I(74,217)] = {28,0xCBFFFE5}, + [I(75,217)] = {28,0xCDFFFE5}, + [I(76,217)] = {28,0xCFFFFE5}, + [I(77,217)] = {28,0xD1FFFE5}, + [I(78,217)] = {28,0xD3FFFE5}, + [I(79,217)] = {28,0xD5FFFE5}, + [I(80,217)] = {28,0xD7FFFE5}, + [I(81,217)] = {28,0xD9FFFE5}, + [I(82,217)] = {28,0xDBFFFE5}, + [I(83,217)] = {28,0xDDFFFE5}, + [I(84,217)] = {28,0xDFFFFE5}, + [I(85,217)] = {28,0xE1FFFE5}, + [I(86,217)] = {28,0xE3FFFE5}, + [I(87,217)] = {28,0xE5FFFE5}, + [I(88,217)] = {29,0x1F9FFFE5}, + [I(89,217)] = {28,0xE7FFFE5}, + [I(90,217)] = {29,0x1FBFFFE5}, + [I(91,217)] = {64,0}, + [I(92,217)] = {64,0}, + [I(93,217)] = {64,0}, + [I(94,217)] = {64,0}, + [I(95,217)] = {27,0x45FFFE5}, + [I(96,217)] = {64,0}, + [I(97,217)] = {26,0x7FFFE5}, + [I(98,217)] = {27,0x47FFFE5}, + [I(99,217)] = {26,0x9FFFE5}, + [I(100,217)] = {27,0x49FFFE5}, + [I(101,217)] = {26,0xBFFFE5}, + [I(102,217)] = {27,0x4BFFFE5}, + [I(103,217)] = {27,0x4DFFFE5}, + [I(104,217)] = {27,0x4FFFFE5}, + [I(105,217)] = {26,0xDFFFE5}, + [I(106,217)] = {28,0xE9FFFE5}, + [I(107,217)] = {28,0xEBFFFE5}, + [I(108,217)] = {27,0x51FFFE5}, + [I(109,217)] = {27,0x53FFFE5}, + [I(110,217)] = {27,0x55FFFE5}, + [I(111,217)] = {26,0xFFFFE5}, + [I(112,217)] = {27,0x57FFFE5}, + [I(113,217)] = {28,0xEDFFFE5}, + [I(114,217)] = {27,0x59FFFE5}, + [I(115,217)] = {26,0x11FFFE5}, + [I(116,217)] = {26,0x13FFFE5}, + [I(117,217)] = {27,0x5BFFFE5}, + [I(118,217)] = {28,0xEFFFFE5}, + [I(119,217)] = {28,0xF1FFFE5}, + [I(120,217)] = {28,0xF3FFFE5}, + [I(121,217)] = {28,0xF5FFFE5}, + [I(122,217)] = {28,0xF7FFFE5}, + [I(123,217)] = {64,0}, + [I(124,217)] = {X32,0xFF9FFFE5}, + [I(125,217)] = {64,0}, + [I(126,217)] = {64,0}, + [I(127,217)] = {64,0}, + [I(128,217)] = {64,0}, + [I(129,217)] = {64,0}, + [I(130,217)] = {64,0}, + [I(131,217)] = {64,0}, + [I(132,217)] = {64,0}, + [I(133,217)] = {64,0}, + [I(134,217)] = {64,0}, + [I(135,217)] = {64,0}, + [I(136,217)] = {64,0}, + [I(137,217)] = {64,0}, + [I(138,217)] = {64,0}, + [I(139,217)] = {64,0}, + [I(140,217)] = {64,0}, + [I(141,217)] = {64,0}, + [I(142,217)] = {64,0}, + [I(143,217)] = {64,0}, + [I(144,217)] = {64,0}, + [I(145,217)] = {64,0}, + [I(146,217)] = {64,0}, + [I(147,217)] = {64,0}, + [I(148,217)] = {64,0}, + [I(149,217)] = {64,0}, + [I(150,217)] = {64,0}, + [I(151,217)] = {64,0}, + [I(152,217)] = {64,0}, + [I(153,217)] = {64,0}, + [I(154,217)] = {64,0}, + [I(155,217)] = {64,0}, + [I(156,217)] = {64,0}, + [I(157,217)] = {64,0}, + [I(158,217)] = {64,0}, + [I(159,217)] = {64,0}, + [I(160,217)] = {64,0}, + [I(161,217)] = {64,0}, + [I(162,217)] = {64,0}, + [I(163,217)] = {64,0}, + [I(164,217)] = {64,0}, + [I(165,217)] = {64,0}, + [I(166,217)] = {64,0}, + [I(167,217)] = {64,0}, + [I(168,217)] = {64,0}, + [I(169,217)] = {64,0}, + [I(170,217)] = {64,0}, + [I(171,217)] = {64,0}, + [I(172,217)] = {64,0}, + [I(173,217)] = {64,0}, + [I(174,217)] = {64,0}, + [I(175,217)] = {64,0}, + [I(176,217)] = {64,0}, + [I(177,217)] = {64,0}, + [I(178,217)] = {64,0}, + [I(179,217)] = {64,0}, + [I(180,217)] = {64,0}, + [I(181,217)] = {64,0}, + [I(182,217)] = {64,0}, + [I(183,217)] = {64,0}, + [I(184,217)] = {64,0}, + [I(185,217)] = {64,0}, + [I(186,217)] = {64,0}, + [I(187,217)] = {64,0}, + [I(188,217)] = {64,0}, + [I(189,217)] = {64,0}, + [I(190,217)] = {64,0}, + [I(191,217)] = {64,0}, + [I(192,217)] = {64,0}, + [I(193,217)] = {64,0}, + [I(194,217)] = {64,0}, + [I(195,217)] = {64,0}, + [I(196,217)] = {64,0}, + [I(197,217)] = {64,0}, + [I(198,217)] = {64,0}, + [I(199,217)] = {64,0}, + [I(200,217)] = {64,0}, + [I(201,217)] = {64,0}, + [I(202,217)] = {64,0}, + [I(203,217)] = {64,0}, + [I(204,217)] = {64,0}, + [I(205,217)] = {64,0}, + [I(206,217)] = {64,0}, + [I(207,217)] = {64,0}, + [I(208,217)] = {64,0}, + [I(209,217)] = {64,0}, + [I(210,217)] = {64,0}, + [I(211,217)] = {64,0}, + [I(212,217)] = {64,0}, + [I(213,217)] = {64,0}, + [I(214,217)] = {64,0}, + [I(215,217)] = {64,0}, + [I(216,217)] = {64,0}, + [I(217,217)] = {64,0}, + [I(218,217)] = {64,0}, + [I(219,217)] = {64,0}, + [I(220,217)] = {64,0}, + [I(221,217)] = {64,0}, + [I(222,217)] = {64,0}, + [I(223,217)] = {64,0}, + [I(224,217)] = {64,0}, + [I(225,217)] = {64,0}, + [I(226,217)] = {64,0}, + [I(227,217)] = {64,0}, + [I(228,217)] = {64,0}, + [I(229,217)] = {64,0}, + [I(230,217)] = {64,0}, + [I(231,217)] = {64,0}, + [I(232,217)] = {64,0}, + [I(233,217)] = {64,0}, + [I(234,217)] = {64,0}, + [I(235,217)] = {64,0}, + [I(236,217)] = {64,0}, + [I(237,217)] = {64,0}, + [I(238,217)] = {64,0}, + [I(239,217)] = {64,0}, + [I(240,217)] = {64,0}, + [I(241,217)] = {64,0}, + [I(242,217)] = {64,0}, + [I(243,217)] = {64,0}, + [I(244,217)] = {64,0}, + [I(245,217)] = {64,0}, + [I(246,217)] = {64,0}, + [I(247,217)] = {64,0}, + [I(248,217)] = {64,0}, + [I(249,217)] = {64,0}, + [I(250,217)] = {64,0}, + [I(251,217)] = {64,0}, + [I(252,217)] = {64,0}, + [I(253,217)] = {64,0}, + [I(254,217)] = {64,0}, + [I(255,217)] = {64,0}, + [I(0,218)] = {64,0}, + [I(1,218)] = {64,0}, + [I(2,218)] = {64,0}, + [I(3,218)] = {64,0}, + [I(4,218)] = {64,0}, + [I(5,218)] = {64,0}, + [I(6,218)] = {64,0}, + [I(7,218)] = {64,0}, + [I(8,218)] = {64,0}, + [I(9,218)] = {64,0}, + [I(10,218)] = {64,0}, + [I(11,218)] = {64,0}, + [I(12,218)] = {64,0}, + [I(13,218)] = {64,0}, + [I(14,218)] = {64,0}, + [I(15,218)] = {64,0}, + [I(16,218)] = {64,0}, + [I(17,218)] = {64,0}, + [I(18,218)] = {64,0}, + [I(19,218)] = {64,0}, + [I(20,218)] = {64,0}, + [I(21,218)] = {64,0}, + [I(22,218)] = {64,0}, + [I(23,218)] = {64,0}, + [I(24,218)] = {64,0}, + [I(25,218)] = {64,0}, + [I(26,218)] = {64,0}, + [I(27,218)] = {64,0}, + [I(28,218)] = {64,0}, + [I(29,218)] = {64,0}, + [I(30,218)] = {64,0}, + [I(31,218)] = {64,0}, + [I(32,218)] = {X32,0x53FFFFE8}, + [I(33,218)] = {64,0}, + [I(34,218)] = {64,0}, + [I(35,218)] = {64,0}, + [I(36,218)] = {64,0}, + [I(37,218)] = {X32,0x57FFFFE8}, + [I(38,218)] = {64,0}, + [I(39,218)] = {64,0}, + [I(40,218)] = {64,0}, + [I(41,218)] = {64,0}, + [I(42,218)] = {64,0}, + [I(43,218)] = {64,0}, + [I(44,218)] = {64,0}, + [I(45,218)] = {X32,0x5BFFFFE8}, + [I(46,218)] = {X32,0x5FFFFFE8}, + [I(47,218)] = {X32,0x63FFFFE8}, + [I(48,218)] = {31,0x3FFFFE8}, + [I(49,218)] = {31,0x7FFFFE8}, + [I(50,218)] = {31,0xBFFFFE8}, + [I(51,218)] = {X32,0x67FFFFE8}, + [I(52,218)] = {X32,0x6BFFFFE8}, + [I(53,218)] = {X32,0x6FFFFFE8}, + [I(54,218)] = {X32,0x73FFFFE8}, + [I(55,218)] = {X32,0x77FFFFE8}, + [I(56,218)] = {X32,0x7BFFFFE8}, + [I(57,218)] = {X32,0x7FFFFFE8}, + [I(58,218)] = {64,0}, + [I(59,218)] = {64,0}, + [I(60,218)] = {64,0}, + [I(61,218)] = {X32,0x83FFFFE8}, + [I(62,218)] = {64,0}, + [I(63,218)] = {64,0}, + [I(64,218)] = {64,0}, + [I(65,218)] = {X32,0x87FFFFE8}, + [I(66,218)] = {64,0}, + [I(67,218)] = {64,0}, + [I(68,218)] = {64,0}, + [I(69,218)] = {64,0}, + [I(70,218)] = {64,0}, + [I(71,218)] = {64,0}, + [I(72,218)] = {64,0}, + [I(73,218)] = {64,0}, + [I(74,218)] = {64,0}, + [I(75,218)] = {64,0}, + [I(76,218)] = {64,0}, + [I(77,218)] = {64,0}, + [I(78,218)] = {64,0}, + [I(79,218)] = {64,0}, + [I(80,218)] = {64,0}, + [I(81,218)] = {64,0}, + [I(82,218)] = {64,0}, + [I(83,218)] = {64,0}, + [I(84,218)] = {64,0}, + [I(85,218)] = {64,0}, + [I(86,218)] = {64,0}, + [I(87,218)] = {64,0}, + [I(88,218)] = {64,0}, + [I(89,218)] = {64,0}, + [I(90,218)] = {64,0}, + [I(91,218)] = {64,0}, + [I(92,218)] = {64,0}, + [I(93,218)] = {64,0}, + [I(94,218)] = {64,0}, + [I(95,218)] = {X32,0x8BFFFFE8}, + [I(96,218)] = {64,0}, + [I(97,218)] = {31,0xFFFFFE8}, + [I(98,218)] = {X32,0x8FFFFFE8}, + [I(99,218)] = {31,0x13FFFFE8}, + [I(100,218)] = {X32,0x93FFFFE8}, + [I(101,218)] = {31,0x17FFFFE8}, + [I(102,218)] = {X32,0x97FFFFE8}, + [I(103,218)] = {X32,0x9BFFFFE8}, + [I(104,218)] = {X32,0x9FFFFFE8}, + [I(105,218)] = {31,0x1BFFFFE8}, + [I(106,218)] = {64,0}, + [I(107,218)] = {64,0}, + [I(108,218)] = {X32,0xA3FFFFE8}, + [I(109,218)] = {X32,0xA7FFFFE8}, + [I(110,218)] = {X32,0xABFFFFE8}, + [I(111,218)] = {31,0x1FFFFFE8}, + [I(112,218)] = {X32,0xAFFFFFE8}, + [I(113,218)] = {64,0}, + [I(114,218)] = {X32,0xB3FFFFE8}, + [I(115,218)] = {31,0x23FFFFE8}, + [I(116,218)] = {31,0x27FFFFE8}, + [I(117,218)] = {X32,0xB7FFFFE8}, + [I(118,218)] = {64,0}, + [I(119,218)] = {64,0}, + [I(120,218)] = {64,0}, + [I(121,218)] = {64,0}, + [I(122,218)] = {64,0}, + [I(123,218)] = {64,0}, + [I(124,218)] = {64,0}, + [I(125,218)] = {64,0}, + [I(126,218)] = {64,0}, + [I(127,218)] = {64,0}, + [I(128,218)] = {64,0}, + [I(129,218)] = {64,0}, + [I(130,218)] = {64,0}, + [I(131,218)] = {64,0}, + [I(132,218)] = {64,0}, + [I(133,218)] = {64,0}, + [I(134,218)] = {64,0}, + [I(135,218)] = {64,0}, + [I(136,218)] = {64,0}, + [I(137,218)] = {64,0}, + [I(138,218)] = {64,0}, + [I(139,218)] = {64,0}, + [I(140,218)] = {64,0}, + [I(141,218)] = {64,0}, + [I(142,218)] = {64,0}, + [I(143,218)] = {64,0}, + [I(144,218)] = {64,0}, + [I(145,218)] = {64,0}, + [I(146,218)] = {64,0}, + [I(147,218)] = {64,0}, + [I(148,218)] = {64,0}, + [I(149,218)] = {64,0}, + [I(150,218)] = {64,0}, + [I(151,218)] = {64,0}, + [I(152,218)] = {64,0}, + [I(153,218)] = {64,0}, + [I(154,218)] = {64,0}, + [I(155,218)] = {64,0}, + [I(156,218)] = {64,0}, + [I(157,218)] = {64,0}, + [I(158,218)] = {64,0}, + [I(159,218)] = {64,0}, + [I(160,218)] = {64,0}, + [I(161,218)] = {64,0}, + [I(162,218)] = {64,0}, + [I(163,218)] = {64,0}, + [I(164,218)] = {64,0}, + [I(165,218)] = {64,0}, + [I(166,218)] = {64,0}, + [I(167,218)] = {64,0}, + [I(168,218)] = {64,0}, + [I(169,218)] = {64,0}, + [I(170,218)] = {64,0}, + [I(171,218)] = {64,0}, + [I(172,218)] = {64,0}, + [I(173,218)] = {64,0}, + [I(174,218)] = {64,0}, + [I(175,218)] = {64,0}, + [I(176,218)] = {64,0}, + [I(177,218)] = {64,0}, + [I(178,218)] = {64,0}, + [I(179,218)] = {64,0}, + [I(180,218)] = {64,0}, + [I(181,218)] = {64,0}, + [I(182,218)] = {64,0}, + [I(183,218)] = {64,0}, + [I(184,218)] = {64,0}, + [I(185,218)] = {64,0}, + [I(186,218)] = {64,0}, + [I(187,218)] = {64,0}, + [I(188,218)] = {64,0}, + [I(189,218)] = {64,0}, + [I(190,218)] = {64,0}, + [I(191,218)] = {64,0}, + [I(192,218)] = {64,0}, + [I(193,218)] = {64,0}, + [I(194,218)] = {64,0}, + [I(195,218)] = {64,0}, + [I(196,218)] = {64,0}, + [I(197,218)] = {64,0}, + [I(198,218)] = {64,0}, + [I(199,218)] = {64,0}, + [I(200,218)] = {64,0}, + [I(201,218)] = {64,0}, + [I(202,218)] = {64,0}, + [I(203,218)] = {64,0}, + [I(204,218)] = {64,0}, + [I(205,218)] = {64,0}, + [I(206,218)] = {64,0}, + [I(207,218)] = {64,0}, + [I(208,218)] = {64,0}, + [I(209,218)] = {64,0}, + [I(210,218)] = {64,0}, + [I(211,218)] = {64,0}, + [I(212,218)] = {64,0}, + [I(213,218)] = {64,0}, + [I(214,218)] = {64,0}, + [I(215,218)] = {64,0}, + [I(216,218)] = {64,0}, + [I(217,218)] = {64,0}, + [I(218,218)] = {64,0}, + [I(219,218)] = {64,0}, + [I(220,218)] = {64,0}, + [I(221,218)] = {64,0}, + [I(222,218)] = {64,0}, + [I(223,218)] = {64,0}, + [I(224,218)] = {64,0}, + [I(225,218)] = {64,0}, + [I(226,218)] = {64,0}, + [I(227,218)] = {64,0}, + [I(228,218)] = {64,0}, + [I(229,218)] = {64,0}, + [I(230,218)] = {64,0}, + [I(231,218)] = {64,0}, + [I(232,218)] = {64,0}, + [I(233,218)] = {64,0}, + [I(234,218)] = {64,0}, + [I(235,218)] = {64,0}, + [I(236,218)] = {64,0}, + [I(237,218)] = {64,0}, + [I(238,218)] = {64,0}, + [I(239,218)] = {64,0}, + [I(240,218)] = {64,0}, + [I(241,218)] = {64,0}, + [I(242,218)] = {64,0}, + [I(243,218)] = {64,0}, + [I(244,218)] = {64,0}, + [I(245,218)] = {64,0}, + [I(246,218)] = {64,0}, + [I(247,218)] = {64,0}, + [I(248,218)] = {64,0}, + [I(249,218)] = {64,0}, + [I(250,218)] = {64,0}, + [I(251,218)] = {64,0}, + [I(252,218)] = {64,0}, + [I(253,218)] = {64,0}, + [I(254,218)] = {64,0}, + [I(255,218)] = {64,0}, + [I(0,219)] = {64,0}, + [I(1,219)] = {64,0}, + [I(2,219)] = {64,0}, + [I(3,219)] = {64,0}, + [I(4,219)] = {64,0}, + [I(5,219)] = {64,0}, + [I(6,219)] = {64,0}, + [I(7,219)] = {64,0}, + [I(8,219)] = {64,0}, + [I(9,219)] = {64,0}, + [I(10,219)] = {64,0}, + [I(11,219)] = {64,0}, + [I(12,219)] = {64,0}, + [I(13,219)] = {64,0}, + [I(14,219)] = {64,0}, + [I(15,219)] = {64,0}, + [I(16,219)] = {64,0}, + [I(17,219)] = {64,0}, + [I(18,219)] = {64,0}, + [I(19,219)] = {64,0}, + [I(20,219)] = {64,0}, + [I(21,219)] = {64,0}, + [I(22,219)] = {64,0}, + [I(23,219)] = {64,0}, + [I(24,219)] = {64,0}, + [I(25,219)] = {64,0}, + [I(26,219)] = {64,0}, + [I(27,219)] = {64,0}, + [I(28,219)] = {64,0}, + [I(29,219)] = {64,0}, + [I(30,219)] = {64,0}, + [I(31,219)] = {64,0}, + [I(32,219)] = {X32,0x53FFFFE9}, + [I(33,219)] = {64,0}, + [I(34,219)] = {64,0}, + [I(35,219)] = {64,0}, + [I(36,219)] = {64,0}, + [I(37,219)] = {X32,0x57FFFFE9}, + [I(38,219)] = {64,0}, + [I(39,219)] = {64,0}, + [I(40,219)] = {64,0}, + [I(41,219)] = {64,0}, + [I(42,219)] = {64,0}, + [I(43,219)] = {64,0}, + [I(44,219)] = {64,0}, + [I(45,219)] = {X32,0x5BFFFFE9}, + [I(46,219)] = {X32,0x5FFFFFE9}, + [I(47,219)] = {X32,0x63FFFFE9}, + [I(48,219)] = {31,0x3FFFFE9}, + [I(49,219)] = {31,0x7FFFFE9}, + [I(50,219)] = {31,0xBFFFFE9}, + [I(51,219)] = {X32,0x67FFFFE9}, + [I(52,219)] = {X32,0x6BFFFFE9}, + [I(53,219)] = {X32,0x6FFFFFE9}, + [I(54,219)] = {X32,0x73FFFFE9}, + [I(55,219)] = {X32,0x77FFFFE9}, + [I(56,219)] = {X32,0x7BFFFFE9}, + [I(57,219)] = {X32,0x7FFFFFE9}, + [I(58,219)] = {64,0}, + [I(59,219)] = {64,0}, + [I(60,219)] = {64,0}, + [I(61,219)] = {X32,0x83FFFFE9}, + [I(62,219)] = {64,0}, + [I(63,219)] = {64,0}, + [I(64,219)] = {64,0}, + [I(65,219)] = {X32,0x87FFFFE9}, + [I(66,219)] = {64,0}, + [I(67,219)] = {64,0}, + [I(68,219)] = {64,0}, + [I(69,219)] = {64,0}, + [I(70,219)] = {64,0}, + [I(71,219)] = {64,0}, + [I(72,219)] = {64,0}, + [I(73,219)] = {64,0}, + [I(74,219)] = {64,0}, + [I(75,219)] = {64,0}, + [I(76,219)] = {64,0}, + [I(77,219)] = {64,0}, + [I(78,219)] = {64,0}, + [I(79,219)] = {64,0}, + [I(80,219)] = {64,0}, + [I(81,219)] = {64,0}, + [I(82,219)] = {64,0}, + [I(83,219)] = {64,0}, + [I(84,219)] = {64,0}, + [I(85,219)] = {64,0}, + [I(86,219)] = {64,0}, + [I(87,219)] = {64,0}, + [I(88,219)] = {64,0}, + [I(89,219)] = {64,0}, + [I(90,219)] = {64,0}, + [I(91,219)] = {64,0}, + [I(92,219)] = {64,0}, + [I(93,219)] = {64,0}, + [I(94,219)] = {64,0}, + [I(95,219)] = {X32,0x8BFFFFE9}, + [I(96,219)] = {64,0}, + [I(97,219)] = {31,0xFFFFFE9}, + [I(98,219)] = {X32,0x8FFFFFE9}, + [I(99,219)] = {31,0x13FFFFE9}, + [I(100,219)] = {X32,0x93FFFFE9}, + [I(101,219)] = {31,0x17FFFFE9}, + [I(102,219)] = {X32,0x97FFFFE9}, + [I(103,219)] = {X32,0x9BFFFFE9}, + [I(104,219)] = {X32,0x9FFFFFE9}, + [I(105,219)] = {31,0x1BFFFFE9}, + [I(106,219)] = {64,0}, + [I(107,219)] = {64,0}, + [I(108,219)] = {X32,0xA3FFFFE9}, + [I(109,219)] = {X32,0xA7FFFFE9}, + [I(110,219)] = {X32,0xABFFFFE9}, + [I(111,219)] = {31,0x1FFFFFE9}, + [I(112,219)] = {X32,0xAFFFFFE9}, + [I(113,219)] = {64,0}, + [I(114,219)] = {X32,0xB3FFFFE9}, + [I(115,219)] = {31,0x23FFFFE9}, + [I(116,219)] = {31,0x27FFFFE9}, + [I(117,219)] = {X32,0xB7FFFFE9}, + [I(118,219)] = {64,0}, + [I(119,219)] = {64,0}, + [I(120,219)] = {64,0}, + [I(121,219)] = {64,0}, + [I(122,219)] = {64,0}, + [I(123,219)] = {64,0}, + [I(124,219)] = {64,0}, + [I(125,219)] = {64,0}, + [I(126,219)] = {64,0}, + [I(127,219)] = {64,0}, + [I(128,219)] = {64,0}, + [I(129,219)] = {64,0}, + [I(130,219)] = {64,0}, + [I(131,219)] = {64,0}, + [I(132,219)] = {64,0}, + [I(133,219)] = {64,0}, + [I(134,219)] = {64,0}, + [I(135,219)] = {64,0}, + [I(136,219)] = {64,0}, + [I(137,219)] = {64,0}, + [I(138,219)] = {64,0}, + [I(139,219)] = {64,0}, + [I(140,219)] = {64,0}, + [I(141,219)] = {64,0}, + [I(142,219)] = {64,0}, + [I(143,219)] = {64,0}, + [I(144,219)] = {64,0}, + [I(145,219)] = {64,0}, + [I(146,219)] = {64,0}, + [I(147,219)] = {64,0}, + [I(148,219)] = {64,0}, + [I(149,219)] = {64,0}, + [I(150,219)] = {64,0}, + [I(151,219)] = {64,0}, + [I(152,219)] = {64,0}, + [I(153,219)] = {64,0}, + [I(154,219)] = {64,0}, + [I(155,219)] = {64,0}, + [I(156,219)] = {64,0}, + [I(157,219)] = {64,0}, + [I(158,219)] = {64,0}, + [I(159,219)] = {64,0}, + [I(160,219)] = {64,0}, + [I(161,219)] = {64,0}, + [I(162,219)] = {64,0}, + [I(163,219)] = {64,0}, + [I(164,219)] = {64,0}, + [I(165,219)] = {64,0}, + [I(166,219)] = {64,0}, + [I(167,219)] = {64,0}, + [I(168,219)] = {64,0}, + [I(169,219)] = {64,0}, + [I(170,219)] = {64,0}, + [I(171,219)] = {64,0}, + [I(172,219)] = {64,0}, + [I(173,219)] = {64,0}, + [I(174,219)] = {64,0}, + [I(175,219)] = {64,0}, + [I(176,219)] = {64,0}, + [I(177,219)] = {64,0}, + [I(178,219)] = {64,0}, + [I(179,219)] = {64,0}, + [I(180,219)] = {64,0}, + [I(181,219)] = {64,0}, + [I(182,219)] = {64,0}, + [I(183,219)] = {64,0}, + [I(184,219)] = {64,0}, + [I(185,219)] = {64,0}, + [I(186,219)] = {64,0}, + [I(187,219)] = {64,0}, + [I(188,219)] = {64,0}, + [I(189,219)] = {64,0}, + [I(190,219)] = {64,0}, + [I(191,219)] = {64,0}, + [I(192,219)] = {64,0}, + [I(193,219)] = {64,0}, + [I(194,219)] = {64,0}, + [I(195,219)] = {64,0}, + [I(196,219)] = {64,0}, + [I(197,219)] = {64,0}, + [I(198,219)] = {64,0}, + [I(199,219)] = {64,0}, + [I(200,219)] = {64,0}, + [I(201,219)] = {64,0}, + [I(202,219)] = {64,0}, + [I(203,219)] = {64,0}, + [I(204,219)] = {64,0}, + [I(205,219)] = {64,0}, + [I(206,219)] = {64,0}, + [I(207,219)] = {64,0}, + [I(208,219)] = {64,0}, + [I(209,219)] = {64,0}, + [I(210,219)] = {64,0}, + [I(211,219)] = {64,0}, + [I(212,219)] = {64,0}, + [I(213,219)] = {64,0}, + [I(214,219)] = {64,0}, + [I(215,219)] = {64,0}, + [I(216,219)] = {64,0}, + [I(217,219)] = {64,0}, + [I(218,219)] = {64,0}, + [I(219,219)] = {64,0}, + [I(220,219)] = {64,0}, + [I(221,219)] = {64,0}, + [I(222,219)] = {64,0}, + [I(223,219)] = {64,0}, + [I(224,219)] = {64,0}, + [I(225,219)] = {64,0}, + [I(226,219)] = {64,0}, + [I(227,219)] = {64,0}, + [I(228,219)] = {64,0}, + [I(229,219)] = {64,0}, + [I(230,219)] = {64,0}, + [I(231,219)] = {64,0}, + [I(232,219)] = {64,0}, + [I(233,219)] = {64,0}, + [I(234,219)] = {64,0}, + [I(235,219)] = {64,0}, + [I(236,219)] = {64,0}, + [I(237,219)] = {64,0}, + [I(238,219)] = {64,0}, + [I(239,219)] = {64,0}, + [I(240,219)] = {64,0}, + [I(241,219)] = {64,0}, + [I(242,219)] = {64,0}, + [I(243,219)] = {64,0}, + [I(244,219)] = {64,0}, + [I(245,219)] = {64,0}, + [I(246,219)] = {64,0}, + [I(247,219)] = {64,0}, + [I(248,219)] = {64,0}, + [I(249,219)] = {64,0}, + [I(250,219)] = {64,0}, + [I(251,219)] = {64,0}, + [I(252,219)] = {64,0}, + [I(253,219)] = {64,0}, + [I(254,219)] = {64,0}, + [I(255,219)] = {64,0}, + [I(0,220)] = {64,0}, + [I(1,220)] = {64,0}, + [I(2,220)] = {64,0}, + [I(3,220)] = {64,0}, + [I(4,220)] = {64,0}, + [I(5,220)] = {64,0}, + [I(6,220)] = {64,0}, + [I(7,220)] = {64,0}, + [I(8,220)] = {64,0}, + [I(9,220)] = {64,0}, + [I(10,220)] = {64,0}, + [I(11,220)] = {64,0}, + [I(12,220)] = {64,0}, + [I(13,220)] = {64,0}, + [I(14,220)] = {64,0}, + [I(15,220)] = {64,0}, + [I(16,220)] = {64,0}, + [I(17,220)] = {64,0}, + [I(18,220)] = {64,0}, + [I(19,220)] = {64,0}, + [I(20,220)] = {64,0}, + [I(21,220)] = {64,0}, + [I(22,220)] = {64,0}, + [I(23,220)] = {64,0}, + [I(24,220)] = {64,0}, + [I(25,220)] = {64,0}, + [I(26,220)] = {64,0}, + [I(27,220)] = {64,0}, + [I(28,220)] = {64,0}, + [I(29,220)] = {64,0}, + [I(30,220)] = {64,0}, + [I(31,220)] = {64,0}, + [I(32,220)] = {64,0}, + [I(33,220)] = {64,0}, + [I(34,220)] = {64,0}, + [I(35,220)] = {64,0}, + [I(36,220)] = {64,0}, + [I(37,220)] = {64,0}, + [I(38,220)] = {64,0}, + [I(39,220)] = {64,0}, + [I(40,220)] = {64,0}, + [I(41,220)] = {64,0}, + [I(42,220)] = {64,0}, + [I(43,220)] = {64,0}, + [I(44,220)] = {64,0}, + [I(45,220)] = {64,0}, + [I(46,220)] = {64,0}, + [I(47,220)] = {64,0}, + [I(48,220)] = {64,0}, + [I(49,220)] = {64,0}, + [I(50,220)] = {64,0}, + [I(51,220)] = {64,0}, + [I(52,220)] = {64,0}, + [I(53,220)] = {64,0}, + [I(54,220)] = {64,0}, + [I(55,220)] = {64,0}, + [I(56,220)] = {64,0}, + [I(57,220)] = {64,0}, + [I(58,220)] = {64,0}, + [I(59,220)] = {64,0}, + [I(60,220)] = {64,0}, + [I(61,220)] = {64,0}, + [I(62,220)] = {64,0}, + [I(63,220)] = {64,0}, + [I(64,220)] = {64,0}, + [I(65,220)] = {64,0}, + [I(66,220)] = {64,0}, + [I(67,220)] = {64,0}, + [I(68,220)] = {64,0}, + [I(69,220)] = {64,0}, + [I(70,220)] = {64,0}, + [I(71,220)] = {64,0}, + [I(72,220)] = {64,0}, + [I(73,220)] = {64,0}, + [I(74,220)] = {64,0}, + [I(75,220)] = {64,0}, + [I(76,220)] = {64,0}, + [I(77,220)] = {64,0}, + [I(78,220)] = {64,0}, + [I(79,220)] = {64,0}, + [I(80,220)] = {64,0}, + [I(81,220)] = {64,0}, + [I(82,220)] = {64,0}, + [I(83,220)] = {64,0}, + [I(84,220)] = {64,0}, + [I(85,220)] = {64,0}, + [I(86,220)] = {64,0}, + [I(87,220)] = {64,0}, + [I(88,220)] = {64,0}, + [I(89,220)] = {64,0}, + [I(90,220)] = {64,0}, + [I(91,220)] = {64,0}, + [I(92,220)] = {64,0}, + [I(93,220)] = {64,0}, + [I(94,220)] = {64,0}, + [I(95,220)] = {64,0}, + [I(96,220)] = {64,0}, + [I(97,220)] = {64,0}, + [I(98,220)] = {64,0}, + [I(99,220)] = {64,0}, + [I(100,220)] = {64,0}, + [I(101,220)] = {64,0}, + [I(102,220)] = {64,0}, + [I(103,220)] = {64,0}, + [I(104,220)] = {64,0}, + [I(105,220)] = {64,0}, + [I(106,220)] = {64,0}, + [I(107,220)] = {64,0}, + [I(108,220)] = {64,0}, + [I(109,220)] = {64,0}, + [I(110,220)] = {64,0}, + [I(111,220)] = {64,0}, + [I(112,220)] = {64,0}, + [I(113,220)] = {64,0}, + [I(114,220)] = {64,0}, + [I(115,220)] = {64,0}, + [I(116,220)] = {64,0}, + [I(117,220)] = {64,0}, + [I(118,220)] = {64,0}, + [I(119,220)] = {64,0}, + [I(120,220)] = {64,0}, + [I(121,220)] = {64,0}, + [I(122,220)] = {64,0}, + [I(123,220)] = {64,0}, + [I(124,220)] = {64,0}, + [I(125,220)] = {64,0}, + [I(126,220)] = {64,0}, + [I(127,220)] = {64,0}, + [I(128,220)] = {64,0}, + [I(129,220)] = {64,0}, + [I(130,220)] = {64,0}, + [I(131,220)] = {64,0}, + [I(132,220)] = {64,0}, + [I(133,220)] = {64,0}, + [I(134,220)] = {64,0}, + [I(135,220)] = {64,0}, + [I(136,220)] = {64,0}, + [I(137,220)] = {64,0}, + [I(138,220)] = {64,0}, + [I(139,220)] = {64,0}, + [I(140,220)] = {64,0}, + [I(141,220)] = {64,0}, + [I(142,220)] = {64,0}, + [I(143,220)] = {64,0}, + [I(144,220)] = {64,0}, + [I(145,220)] = {64,0}, + [I(146,220)] = {64,0}, + [I(147,220)] = {64,0}, + [I(148,220)] = {64,0}, + [I(149,220)] = {64,0}, + [I(150,220)] = {64,0}, + [I(151,220)] = {64,0}, + [I(152,220)] = {64,0}, + [I(153,220)] = {64,0}, + [I(154,220)] = {64,0}, + [I(155,220)] = {64,0}, + [I(156,220)] = {64,0}, + [I(157,220)] = {64,0}, + [I(158,220)] = {64,0}, + [I(159,220)] = {64,0}, + [I(160,220)] = {64,0}, + [I(161,220)] = {64,0}, + [I(162,220)] = {64,0}, + [I(163,220)] = {64,0}, + [I(164,220)] = {64,0}, + [I(165,220)] = {64,0}, + [I(166,220)] = {64,0}, + [I(167,220)] = {64,0}, + [I(168,220)] = {64,0}, + [I(169,220)] = {64,0}, + [I(170,220)] = {64,0}, + [I(171,220)] = {64,0}, + [I(172,220)] = {64,0}, + [I(173,220)] = {64,0}, + [I(174,220)] = {64,0}, + [I(175,220)] = {64,0}, + [I(176,220)] = {64,0}, + [I(177,220)] = {64,0}, + [I(178,220)] = {64,0}, + [I(179,220)] = {64,0}, + [I(180,220)] = {64,0}, + [I(181,220)] = {64,0}, + [I(182,220)] = {64,0}, + [I(183,220)] = {64,0}, + [I(184,220)] = {64,0}, + [I(185,220)] = {64,0}, + [I(186,220)] = {64,0}, + [I(187,220)] = {64,0}, + [I(188,220)] = {64,0}, + [I(189,220)] = {64,0}, + [I(190,220)] = {64,0}, + [I(191,220)] = {64,0}, + [I(192,220)] = {64,0}, + [I(193,220)] = {64,0}, + [I(194,220)] = {64,0}, + [I(195,220)] = {64,0}, + [I(196,220)] = {64,0}, + [I(197,220)] = {64,0}, + [I(198,220)] = {64,0}, + [I(199,220)] = {64,0}, + [I(200,220)] = {64,0}, + [I(201,220)] = {64,0}, + [I(202,220)] = {64,0}, + [I(203,220)] = {64,0}, + [I(204,220)] = {64,0}, + [I(205,220)] = {64,0}, + [I(206,220)] = {64,0}, + [I(207,220)] = {64,0}, + [I(208,220)] = {64,0}, + [I(209,220)] = {64,0}, + [I(210,220)] = {64,0}, + [I(211,220)] = {64,0}, + [I(212,220)] = {64,0}, + [I(213,220)] = {64,0}, + [I(214,220)] = {64,0}, + [I(215,220)] = {64,0}, + [I(216,220)] = {64,0}, + [I(217,220)] = {64,0}, + [I(218,220)] = {64,0}, + [I(219,220)] = {64,0}, + [I(220,220)] = {64,0}, + [I(221,220)] = {64,0}, + [I(222,220)] = {64,0}, + [I(223,220)] = {64,0}, + [I(224,220)] = {64,0}, + [I(225,220)] = {64,0}, + [I(226,220)] = {64,0}, + [I(227,220)] = {64,0}, + [I(228,220)] = {64,0}, + [I(229,220)] = {64,0}, + [I(230,220)] = {64,0}, + [I(231,220)] = {64,0}, + [I(232,220)] = {64,0}, + [I(233,220)] = {64,0}, + [I(234,220)] = {64,0}, + [I(235,220)] = {64,0}, + [I(236,220)] = {64,0}, + [I(237,220)] = {64,0}, + [I(238,220)] = {64,0}, + [I(239,220)] = {64,0}, + [I(240,220)] = {64,0}, + [I(241,220)] = {64,0}, + [I(242,220)] = {64,0}, + [I(243,220)] = {64,0}, + [I(244,220)] = {64,0}, + [I(245,220)] = {64,0}, + [I(246,220)] = {64,0}, + [I(247,220)] = {64,0}, + [I(248,220)] = {64,0}, + [I(249,220)] = {64,0}, + [I(250,220)] = {64,0}, + [I(251,220)] = {64,0}, + [I(252,220)] = {64,0}, + [I(253,220)] = {64,0}, + [I(254,220)] = {64,0}, + [I(255,220)] = {64,0}, + [I(0,221)] = {64,0}, + [I(1,221)] = {64,0}, + [I(2,221)] = {64,0}, + [I(3,221)] = {64,0}, + [I(4,221)] = {64,0}, + [I(5,221)] = {64,0}, + [I(6,221)] = {64,0}, + [I(7,221)] = {64,0}, + [I(8,221)] = {64,0}, + [I(9,221)] = {64,0}, + [I(10,221)] = {64,0}, + [I(11,221)] = {64,0}, + [I(12,221)] = {64,0}, + [I(13,221)] = {64,0}, + [I(14,221)] = {64,0}, + [I(15,221)] = {64,0}, + [I(16,221)] = {64,0}, + [I(17,221)] = {64,0}, + [I(18,221)] = {64,0}, + [I(19,221)] = {64,0}, + [I(20,221)] = {64,0}, + [I(21,221)] = {64,0}, + [I(22,221)] = {64,0}, + [I(23,221)] = {64,0}, + [I(24,221)] = {64,0}, + [I(25,221)] = {64,0}, + [I(26,221)] = {64,0}, + [I(27,221)] = {64,0}, + [I(28,221)] = {64,0}, + [I(29,221)] = {64,0}, + [I(30,221)] = {64,0}, + [I(31,221)] = {64,0}, + [I(32,221)] = {64,0}, + [I(33,221)] = {64,0}, + [I(34,221)] = {64,0}, + [I(35,221)] = {64,0}, + [I(36,221)] = {64,0}, + [I(37,221)] = {64,0}, + [I(38,221)] = {64,0}, + [I(39,221)] = {64,0}, + [I(40,221)] = {64,0}, + [I(41,221)] = {64,0}, + [I(42,221)] = {64,0}, + [I(43,221)] = {64,0}, + [I(44,221)] = {64,0}, + [I(45,221)] = {64,0}, + [I(46,221)] = {64,0}, + [I(47,221)] = {64,0}, + [I(48,221)] = {X32,0x7FFFFE3}, + [I(49,221)] = {X32,0xFFFFFE3}, + [I(50,221)] = {X32,0x17FFFFE3}, + [I(51,221)] = {64,0}, + [I(52,221)] = {64,0}, + [I(53,221)] = {64,0}, + [I(54,221)] = {64,0}, + [I(55,221)] = {64,0}, + [I(56,221)] = {64,0}, + [I(57,221)] = {64,0}, + [I(58,221)] = {64,0}, + [I(59,221)] = {64,0}, + [I(60,221)] = {64,0}, + [I(61,221)] = {64,0}, + [I(62,221)] = {64,0}, + [I(63,221)] = {64,0}, + [I(64,221)] = {64,0}, + [I(65,221)] = {64,0}, + [I(66,221)] = {64,0}, + [I(67,221)] = {64,0}, + [I(68,221)] = {64,0}, + [I(69,221)] = {64,0}, + [I(70,221)] = {64,0}, + [I(71,221)] = {64,0}, + [I(72,221)] = {64,0}, + [I(73,221)] = {64,0}, + [I(74,221)] = {64,0}, + [I(75,221)] = {64,0}, + [I(76,221)] = {64,0}, + [I(77,221)] = {64,0}, + [I(78,221)] = {64,0}, + [I(79,221)] = {64,0}, + [I(80,221)] = {64,0}, + [I(81,221)] = {64,0}, + [I(82,221)] = {64,0}, + [I(83,221)] = {64,0}, + [I(84,221)] = {64,0}, + [I(85,221)] = {64,0}, + [I(86,221)] = {64,0}, + [I(87,221)] = {64,0}, + [I(88,221)] = {64,0}, + [I(89,221)] = {64,0}, + [I(90,221)] = {64,0}, + [I(91,221)] = {64,0}, + [I(92,221)] = {64,0}, + [I(93,221)] = {64,0}, + [I(94,221)] = {64,0}, + [I(95,221)] = {64,0}, + [I(96,221)] = {64,0}, + [I(97,221)] = {X32,0x1FFFFFE3}, + [I(98,221)] = {64,0}, + [I(99,221)] = {X32,0x27FFFFE3}, + [I(100,221)] = {64,0}, + [I(101,221)] = {X32,0x2FFFFFE3}, + [I(102,221)] = {64,0}, + [I(103,221)] = {64,0}, + [I(104,221)] = {64,0}, + [I(105,221)] = {X32,0x37FFFFE3}, + [I(106,221)] = {64,0}, + [I(107,221)] = {64,0}, + [I(108,221)] = {64,0}, + [I(109,221)] = {64,0}, + [I(110,221)] = {64,0}, + [I(111,221)] = {X32,0x3FFFFFE3}, + [I(112,221)] = {64,0}, + [I(113,221)] = {64,0}, + [I(114,221)] = {64,0}, + [I(115,221)] = {X32,0x47FFFFE3}, + [I(116,221)] = {X32,0x4FFFFFE3}, + [I(117,221)] = {64,0}, + [I(118,221)] = {64,0}, + [I(119,221)] = {64,0}, + [I(120,221)] = {64,0}, + [I(121,221)] = {64,0}, + [I(122,221)] = {64,0}, + [I(123,221)] = {64,0}, + [I(124,221)] = {64,0}, + [I(125,221)] = {64,0}, + [I(126,221)] = {64,0}, + [I(127,221)] = {64,0}, + [I(128,221)] = {64,0}, + [I(129,221)] = {64,0}, + [I(130,221)] = {64,0}, + [I(131,221)] = {64,0}, + [I(132,221)] = {64,0}, + [I(133,221)] = {64,0}, + [I(134,221)] = {64,0}, + [I(135,221)] = {64,0}, + [I(136,221)] = {64,0}, + [I(137,221)] = {64,0}, + [I(138,221)] = {64,0}, + [I(139,221)] = {64,0}, + [I(140,221)] = {64,0}, + [I(141,221)] = {64,0}, + [I(142,221)] = {64,0}, + [I(143,221)] = {64,0}, + [I(144,221)] = {64,0}, + [I(145,221)] = {64,0}, + [I(146,221)] = {64,0}, + [I(147,221)] = {64,0}, + [I(148,221)] = {64,0}, + [I(149,221)] = {64,0}, + [I(150,221)] = {64,0}, + [I(151,221)] = {64,0}, + [I(152,221)] = {64,0}, + [I(153,221)] = {64,0}, + [I(154,221)] = {64,0}, + [I(155,221)] = {64,0}, + [I(156,221)] = {64,0}, + [I(157,221)] = {64,0}, + [I(158,221)] = {64,0}, + [I(159,221)] = {64,0}, + [I(160,221)] = {64,0}, + [I(161,221)] = {64,0}, + [I(162,221)] = {64,0}, + [I(163,221)] = {64,0}, + [I(164,221)] = {64,0}, + [I(165,221)] = {64,0}, + [I(166,221)] = {64,0}, + [I(167,221)] = {64,0}, + [I(168,221)] = {64,0}, + [I(169,221)] = {64,0}, + [I(170,221)] = {64,0}, + [I(171,221)] = {64,0}, + [I(172,221)] = {64,0}, + [I(173,221)] = {64,0}, + [I(174,221)] = {64,0}, + [I(175,221)] = {64,0}, + [I(176,221)] = {64,0}, + [I(177,221)] = {64,0}, + [I(178,221)] = {64,0}, + [I(179,221)] = {64,0}, + [I(180,221)] = {64,0}, + [I(181,221)] = {64,0}, + [I(182,221)] = {64,0}, + [I(183,221)] = {64,0}, + [I(184,221)] = {64,0}, + [I(185,221)] = {64,0}, + [I(186,221)] = {64,0}, + [I(187,221)] = {64,0}, + [I(188,221)] = {64,0}, + [I(189,221)] = {64,0}, + [I(190,221)] = {64,0}, + [I(191,221)] = {64,0}, + [I(192,221)] = {64,0}, + [I(193,221)] = {64,0}, + [I(194,221)] = {64,0}, + [I(195,221)] = {64,0}, + [I(196,221)] = {64,0}, + [I(197,221)] = {64,0}, + [I(198,221)] = {64,0}, + [I(199,221)] = {64,0}, + [I(200,221)] = {64,0}, + [I(201,221)] = {64,0}, + [I(202,221)] = {64,0}, + [I(203,221)] = {64,0}, + [I(204,221)] = {64,0}, + [I(205,221)] = {64,0}, + [I(206,221)] = {64,0}, + [I(207,221)] = {64,0}, + [I(208,221)] = {64,0}, + [I(209,221)] = {64,0}, + [I(210,221)] = {64,0}, + [I(211,221)] = {64,0}, + [I(212,221)] = {64,0}, + [I(213,221)] = {64,0}, + [I(214,221)] = {64,0}, + [I(215,221)] = {64,0}, + [I(216,221)] = {64,0}, + [I(217,221)] = {64,0}, + [I(218,221)] = {64,0}, + [I(219,221)] = {64,0}, + [I(220,221)] = {64,0}, + [I(221,221)] = {64,0}, + [I(222,221)] = {64,0}, + [I(223,221)] = {64,0}, + [I(224,221)] = {64,0}, + [I(225,221)] = {64,0}, + [I(226,221)] = {64,0}, + [I(227,221)] = {64,0}, + [I(228,221)] = {64,0}, + [I(229,221)] = {64,0}, + [I(230,221)] = {64,0}, + [I(231,221)] = {64,0}, + [I(232,221)] = {64,0}, + [I(233,221)] = {64,0}, + [I(234,221)] = {64,0}, + [I(235,221)] = {64,0}, + [I(236,221)] = {64,0}, + [I(237,221)] = {64,0}, + [I(238,221)] = {64,0}, + [I(239,221)] = {64,0}, + [I(240,221)] = {64,0}, + [I(241,221)] = {64,0}, + [I(242,221)] = {64,0}, + [I(243,221)] = {64,0}, + [I(244,221)] = {64,0}, + [I(245,221)] = {64,0}, + [I(246,221)] = {64,0}, + [I(247,221)] = {64,0}, + [I(248,221)] = {64,0}, + [I(249,221)] = {64,0}, + [I(250,221)] = {64,0}, + [I(251,221)] = {64,0}, + [I(252,221)] = {64,0}, + [I(253,221)] = {64,0}, + [I(254,221)] = {64,0}, + [I(255,221)] = {64,0}, + [I(0,222)] = {64,0}, + [I(1,222)] = {64,0}, + [I(2,222)] = {64,0}, + [I(3,222)] = {64,0}, + [I(4,222)] = {64,0}, + [I(5,222)] = {64,0}, + [I(6,222)] = {64,0}, + [I(7,222)] = {64,0}, + [I(8,222)] = {64,0}, + [I(9,222)] = {64,0}, + [I(10,222)] = {64,0}, + [I(11,222)] = {64,0}, + [I(12,222)] = {64,0}, + [I(13,222)] = {64,0}, + [I(14,222)] = {64,0}, + [I(15,222)] = {64,0}, + [I(16,222)] = {64,0}, + [I(17,222)] = {64,0}, + [I(18,222)] = {64,0}, + [I(19,222)] = {64,0}, + [I(20,222)] = {64,0}, + [I(21,222)] = {64,0}, + [I(22,222)] = {64,0}, + [I(23,222)] = {64,0}, + [I(24,222)] = {64,0}, + [I(25,222)] = {64,0}, + [I(26,222)] = {64,0}, + [I(27,222)] = {64,0}, + [I(28,222)] = {64,0}, + [I(29,222)] = {64,0}, + [I(30,222)] = {64,0}, + [I(31,222)] = {64,0}, + [I(32,222)] = {64,0}, + [I(33,222)] = {64,0}, + [I(34,222)] = {64,0}, + [I(35,222)] = {64,0}, + [I(36,222)] = {64,0}, + [I(37,222)] = {64,0}, + [I(38,222)] = {64,0}, + [I(39,222)] = {64,0}, + [I(40,222)] = {64,0}, + [I(41,222)] = {64,0}, + [I(42,222)] = {64,0}, + [I(43,222)] = {64,0}, + [I(44,222)] = {64,0}, + [I(45,222)] = {64,0}, + [I(46,222)] = {64,0}, + [I(47,222)] = {64,0}, + [I(48,222)] = {X32,0x7FFFFE4}, + [I(49,222)] = {X32,0xFFFFFE4}, + [I(50,222)] = {X32,0x17FFFFE4}, + [I(51,222)] = {64,0}, + [I(52,222)] = {64,0}, + [I(53,222)] = {64,0}, + [I(54,222)] = {64,0}, + [I(55,222)] = {64,0}, + [I(56,222)] = {64,0}, + [I(57,222)] = {64,0}, + [I(58,222)] = {64,0}, + [I(59,222)] = {64,0}, + [I(60,222)] = {64,0}, + [I(61,222)] = {64,0}, + [I(62,222)] = {64,0}, + [I(63,222)] = {64,0}, + [I(64,222)] = {64,0}, + [I(65,222)] = {64,0}, + [I(66,222)] = {64,0}, + [I(67,222)] = {64,0}, + [I(68,222)] = {64,0}, + [I(69,222)] = {64,0}, + [I(70,222)] = {64,0}, + [I(71,222)] = {64,0}, + [I(72,222)] = {64,0}, + [I(73,222)] = {64,0}, + [I(74,222)] = {64,0}, + [I(75,222)] = {64,0}, + [I(76,222)] = {64,0}, + [I(77,222)] = {64,0}, + [I(78,222)] = {64,0}, + [I(79,222)] = {64,0}, + [I(80,222)] = {64,0}, + [I(81,222)] = {64,0}, + [I(82,222)] = {64,0}, + [I(83,222)] = {64,0}, + [I(84,222)] = {64,0}, + [I(85,222)] = {64,0}, + [I(86,222)] = {64,0}, + [I(87,222)] = {64,0}, + [I(88,222)] = {64,0}, + [I(89,222)] = {64,0}, + [I(90,222)] = {64,0}, + [I(91,222)] = {64,0}, + [I(92,222)] = {64,0}, + [I(93,222)] = {64,0}, + [I(94,222)] = {64,0}, + [I(95,222)] = {64,0}, + [I(96,222)] = {64,0}, + [I(97,222)] = {X32,0x1FFFFFE4}, + [I(98,222)] = {64,0}, + [I(99,222)] = {X32,0x27FFFFE4}, + [I(100,222)] = {64,0}, + [I(101,222)] = {X32,0x2FFFFFE4}, + [I(102,222)] = {64,0}, + [I(103,222)] = {64,0}, + [I(104,222)] = {64,0}, + [I(105,222)] = {X32,0x37FFFFE4}, + [I(106,222)] = {64,0}, + [I(107,222)] = {64,0}, + [I(108,222)] = {64,0}, + [I(109,222)] = {64,0}, + [I(110,222)] = {64,0}, + [I(111,222)] = {X32,0x3FFFFFE4}, + [I(112,222)] = {64,0}, + [I(113,222)] = {64,0}, + [I(114,222)] = {64,0}, + [I(115,222)] = {X32,0x47FFFFE4}, + [I(116,222)] = {X32,0x4FFFFFE4}, + [I(117,222)] = {64,0}, + [I(118,222)] = {64,0}, + [I(119,222)] = {64,0}, + [I(120,222)] = {64,0}, + [I(121,222)] = {64,0}, + [I(122,222)] = {64,0}, + [I(123,222)] = {64,0}, + [I(124,222)] = {64,0}, + [I(125,222)] = {64,0}, + [I(126,222)] = {64,0}, + [I(127,222)] = {64,0}, + [I(128,222)] = {64,0}, + [I(129,222)] = {64,0}, + [I(130,222)] = {64,0}, + [I(131,222)] = {64,0}, + [I(132,222)] = {64,0}, + [I(133,222)] = {64,0}, + [I(134,222)] = {64,0}, + [I(135,222)] = {64,0}, + [I(136,222)] = {64,0}, + [I(137,222)] = {64,0}, + [I(138,222)] = {64,0}, + [I(139,222)] = {64,0}, + [I(140,222)] = {64,0}, + [I(141,222)] = {64,0}, + [I(142,222)] = {64,0}, + [I(143,222)] = {64,0}, + [I(144,222)] = {64,0}, + [I(145,222)] = {64,0}, + [I(146,222)] = {64,0}, + [I(147,222)] = {64,0}, + [I(148,222)] = {64,0}, + [I(149,222)] = {64,0}, + [I(150,222)] = {64,0}, + [I(151,222)] = {64,0}, + [I(152,222)] = {64,0}, + [I(153,222)] = {64,0}, + [I(154,222)] = {64,0}, + [I(155,222)] = {64,0}, + [I(156,222)] = {64,0}, + [I(157,222)] = {64,0}, + [I(158,222)] = {64,0}, + [I(159,222)] = {64,0}, + [I(160,222)] = {64,0}, + [I(161,222)] = {64,0}, + [I(162,222)] = {64,0}, + [I(163,222)] = {64,0}, + [I(164,222)] = {64,0}, + [I(165,222)] = {64,0}, + [I(166,222)] = {64,0}, + [I(167,222)] = {64,0}, + [I(168,222)] = {64,0}, + [I(169,222)] = {64,0}, + [I(170,222)] = {64,0}, + [I(171,222)] = {64,0}, + [I(172,222)] = {64,0}, + [I(173,222)] = {64,0}, + [I(174,222)] = {64,0}, + [I(175,222)] = {64,0}, + [I(176,222)] = {64,0}, + [I(177,222)] = {64,0}, + [I(178,222)] = {64,0}, + [I(179,222)] = {64,0}, + [I(180,222)] = {64,0}, + [I(181,222)] = {64,0}, + [I(182,222)] = {64,0}, + [I(183,222)] = {64,0}, + [I(184,222)] = {64,0}, + [I(185,222)] = {64,0}, + [I(186,222)] = {64,0}, + [I(187,222)] = {64,0}, + [I(188,222)] = {64,0}, + [I(189,222)] = {64,0}, + [I(190,222)] = {64,0}, + [I(191,222)] = {64,0}, + [I(192,222)] = {64,0}, + [I(193,222)] = {64,0}, + [I(194,222)] = {64,0}, + [I(195,222)] = {64,0}, + [I(196,222)] = {64,0}, + [I(197,222)] = {64,0}, + [I(198,222)] = {64,0}, + [I(199,222)] = {64,0}, + [I(200,222)] = {64,0}, + [I(201,222)] = {64,0}, + [I(202,222)] = {64,0}, + [I(203,222)] = {64,0}, + [I(204,222)] = {64,0}, + [I(205,222)] = {64,0}, + [I(206,222)] = {64,0}, + [I(207,222)] = {64,0}, + [I(208,222)] = {64,0}, + [I(209,222)] = {64,0}, + [I(210,222)] = {64,0}, + [I(211,222)] = {64,0}, + [I(212,222)] = {64,0}, + [I(213,222)] = {64,0}, + [I(214,222)] = {64,0}, + [I(215,222)] = {64,0}, + [I(216,222)] = {64,0}, + [I(217,222)] = {64,0}, + [I(218,222)] = {64,0}, + [I(219,222)] = {64,0}, + [I(220,222)] = {64,0}, + [I(221,222)] = {64,0}, + [I(222,222)] = {64,0}, + [I(223,222)] = {64,0}, + [I(224,222)] = {64,0}, + [I(225,222)] = {64,0}, + [I(226,222)] = {64,0}, + [I(227,222)] = {64,0}, + [I(228,222)] = {64,0}, + [I(229,222)] = {64,0}, + [I(230,222)] = {64,0}, + [I(231,222)] = {64,0}, + [I(232,222)] = {64,0}, + [I(233,222)] = {64,0}, + [I(234,222)] = {64,0}, + [I(235,222)] = {64,0}, + [I(236,222)] = {64,0}, + [I(237,222)] = {64,0}, + [I(238,222)] = {64,0}, + [I(239,222)] = {64,0}, + [I(240,222)] = {64,0}, + [I(241,222)] = {64,0}, + [I(242,222)] = {64,0}, + [I(243,222)] = {64,0}, + [I(244,222)] = {64,0}, + [I(245,222)] = {64,0}, + [I(246,222)] = {64,0}, + [I(247,222)] = {64,0}, + [I(248,222)] = {64,0}, + [I(249,222)] = {64,0}, + [I(250,222)] = {64,0}, + [I(251,222)] = {64,0}, + [I(252,222)] = {64,0}, + [I(253,222)] = {64,0}, + [I(254,222)] = {64,0}, + [I(255,222)] = {64,0}, + [I(0,223)] = {64,0}, + [I(1,223)] = {64,0}, + [I(2,223)] = {64,0}, + [I(3,223)] = {64,0}, + [I(4,223)] = {64,0}, + [I(5,223)] = {64,0}, + [I(6,223)] = {64,0}, + [I(7,223)] = {64,0}, + [I(8,223)] = {64,0}, + [I(9,223)] = {64,0}, + [I(10,223)] = {64,0}, + [I(11,223)] = {64,0}, + [I(12,223)] = {64,0}, + [I(13,223)] = {64,0}, + [I(14,223)] = {64,0}, + [I(15,223)] = {64,0}, + [I(16,223)] = {64,0}, + [I(17,223)] = {64,0}, + [I(18,223)] = {64,0}, + [I(19,223)] = {64,0}, + [I(20,223)] = {64,0}, + [I(21,223)] = {64,0}, + [I(22,223)] = {64,0}, + [I(23,223)] = {64,0}, + [I(24,223)] = {64,0}, + [I(25,223)] = {64,0}, + [I(26,223)] = {64,0}, + [I(27,223)] = {64,0}, + [I(28,223)] = {64,0}, + [I(29,223)] = {64,0}, + [I(30,223)] = {64,0}, + [I(31,223)] = {64,0}, + [I(32,223)] = {64,0}, + [I(33,223)] = {64,0}, + [I(34,223)] = {64,0}, + [I(35,223)] = {64,0}, + [I(36,223)] = {64,0}, + [I(37,223)] = {64,0}, + [I(38,223)] = {64,0}, + [I(39,223)] = {64,0}, + [I(40,223)] = {64,0}, + [I(41,223)] = {64,0}, + [I(42,223)] = {64,0}, + [I(43,223)] = {64,0}, + [I(44,223)] = {64,0}, + [I(45,223)] = {64,0}, + [I(46,223)] = {64,0}, + [I(47,223)] = {64,0}, + [I(48,223)] = {X32,0x7FFFFE5}, + [I(49,223)] = {X32,0xFFFFFE5}, + [I(50,223)] = {X32,0x17FFFFE5}, + [I(51,223)] = {64,0}, + [I(52,223)] = {64,0}, + [I(53,223)] = {64,0}, + [I(54,223)] = {64,0}, + [I(55,223)] = {64,0}, + [I(56,223)] = {64,0}, + [I(57,223)] = {64,0}, + [I(58,223)] = {64,0}, + [I(59,223)] = {64,0}, + [I(60,223)] = {64,0}, + [I(61,223)] = {64,0}, + [I(62,223)] = {64,0}, + [I(63,223)] = {64,0}, + [I(64,223)] = {64,0}, + [I(65,223)] = {64,0}, + [I(66,223)] = {64,0}, + [I(67,223)] = {64,0}, + [I(68,223)] = {64,0}, + [I(69,223)] = {64,0}, + [I(70,223)] = {64,0}, + [I(71,223)] = {64,0}, + [I(72,223)] = {64,0}, + [I(73,223)] = {64,0}, + [I(74,223)] = {64,0}, + [I(75,223)] = {64,0}, + [I(76,223)] = {64,0}, + [I(77,223)] = {64,0}, + [I(78,223)] = {64,0}, + [I(79,223)] = {64,0}, + [I(80,223)] = {64,0}, + [I(81,223)] = {64,0}, + [I(82,223)] = {64,0}, + [I(83,223)] = {64,0}, + [I(84,223)] = {64,0}, + [I(85,223)] = {64,0}, + [I(86,223)] = {64,0}, + [I(87,223)] = {64,0}, + [I(88,223)] = {64,0}, + [I(89,223)] = {64,0}, + [I(90,223)] = {64,0}, + [I(91,223)] = {64,0}, + [I(92,223)] = {64,0}, + [I(93,223)] = {64,0}, + [I(94,223)] = {64,0}, + [I(95,223)] = {64,0}, + [I(96,223)] = {64,0}, + [I(97,223)] = {X32,0x1FFFFFE5}, + [I(98,223)] = {64,0}, + [I(99,223)] = {X32,0x27FFFFE5}, + [I(100,223)] = {64,0}, + [I(101,223)] = {X32,0x2FFFFFE5}, + [I(102,223)] = {64,0}, + [I(103,223)] = {64,0}, + [I(104,223)] = {64,0}, + [I(105,223)] = {X32,0x37FFFFE5}, + [I(106,223)] = {64,0}, + [I(107,223)] = {64,0}, + [I(108,223)] = {64,0}, + [I(109,223)] = {64,0}, + [I(110,223)] = {64,0}, + [I(111,223)] = {X32,0x3FFFFFE5}, + [I(112,223)] = {64,0}, + [I(113,223)] = {64,0}, + [I(114,223)] = {64,0}, + [I(115,223)] = {X32,0x47FFFFE5}, + [I(116,223)] = {X32,0x4FFFFFE5}, + [I(117,223)] = {64,0}, + [I(118,223)] = {64,0}, + [I(119,223)] = {64,0}, + [I(120,223)] = {64,0}, + [I(121,223)] = {64,0}, + [I(122,223)] = {64,0}, + [I(123,223)] = {64,0}, + [I(124,223)] = {64,0}, + [I(125,223)] = {64,0}, + [I(126,223)] = {64,0}, + [I(127,223)] = {64,0}, + [I(128,223)] = {64,0}, + [I(129,223)] = {64,0}, + [I(130,223)] = {64,0}, + [I(131,223)] = {64,0}, + [I(132,223)] = {64,0}, + [I(133,223)] = {64,0}, + [I(134,223)] = {64,0}, + [I(135,223)] = {64,0}, + [I(136,223)] = {64,0}, + [I(137,223)] = {64,0}, + [I(138,223)] = {64,0}, + [I(139,223)] = {64,0}, + [I(140,223)] = {64,0}, + [I(141,223)] = {64,0}, + [I(142,223)] = {64,0}, + [I(143,223)] = {64,0}, + [I(144,223)] = {64,0}, + [I(145,223)] = {64,0}, + [I(146,223)] = {64,0}, + [I(147,223)] = {64,0}, + [I(148,223)] = {64,0}, + [I(149,223)] = {64,0}, + [I(150,223)] = {64,0}, + [I(151,223)] = {64,0}, + [I(152,223)] = {64,0}, + [I(153,223)] = {64,0}, + [I(154,223)] = {64,0}, + [I(155,223)] = {64,0}, + [I(156,223)] = {64,0}, + [I(157,223)] = {64,0}, + [I(158,223)] = {64,0}, + [I(159,223)] = {64,0}, + [I(160,223)] = {64,0}, + [I(161,223)] = {64,0}, + [I(162,223)] = {64,0}, + [I(163,223)] = {64,0}, + [I(164,223)] = {64,0}, + [I(165,223)] = {64,0}, + [I(166,223)] = {64,0}, + [I(167,223)] = {64,0}, + [I(168,223)] = {64,0}, + [I(169,223)] = {64,0}, + [I(170,223)] = {64,0}, + [I(171,223)] = {64,0}, + [I(172,223)] = {64,0}, + [I(173,223)] = {64,0}, + [I(174,223)] = {64,0}, + [I(175,223)] = {64,0}, + [I(176,223)] = {64,0}, + [I(177,223)] = {64,0}, + [I(178,223)] = {64,0}, + [I(179,223)] = {64,0}, + [I(180,223)] = {64,0}, + [I(181,223)] = {64,0}, + [I(182,223)] = {64,0}, + [I(183,223)] = {64,0}, + [I(184,223)] = {64,0}, + [I(185,223)] = {64,0}, + [I(186,223)] = {64,0}, + [I(187,223)] = {64,0}, + [I(188,223)] = {64,0}, + [I(189,223)] = {64,0}, + [I(190,223)] = {64,0}, + [I(191,223)] = {64,0}, + [I(192,223)] = {64,0}, + [I(193,223)] = {64,0}, + [I(194,223)] = {64,0}, + [I(195,223)] = {64,0}, + [I(196,223)] = {64,0}, + [I(197,223)] = {64,0}, + [I(198,223)] = {64,0}, + [I(199,223)] = {64,0}, + [I(200,223)] = {64,0}, + [I(201,223)] = {64,0}, + [I(202,223)] = {64,0}, + [I(203,223)] = {64,0}, + [I(204,223)] = {64,0}, + [I(205,223)] = {64,0}, + [I(206,223)] = {64,0}, + [I(207,223)] = {64,0}, + [I(208,223)] = {64,0}, + [I(209,223)] = {64,0}, + [I(210,223)] = {64,0}, + [I(211,223)] = {64,0}, + [I(212,223)] = {64,0}, + [I(213,223)] = {64,0}, + [I(214,223)] = {64,0}, + [I(215,223)] = {64,0}, + [I(216,223)] = {64,0}, + [I(217,223)] = {64,0}, + [I(218,223)] = {64,0}, + [I(219,223)] = {64,0}, + [I(220,223)] = {64,0}, + [I(221,223)] = {64,0}, + [I(222,223)] = {64,0}, + [I(223,223)] = {64,0}, + [I(224,223)] = {64,0}, + [I(225,223)] = {64,0}, + [I(226,223)] = {64,0}, + [I(227,223)] = {64,0}, + [I(228,223)] = {64,0}, + [I(229,223)] = {64,0}, + [I(230,223)] = {64,0}, + [I(231,223)] = {64,0}, + [I(232,223)] = {64,0}, + [I(233,223)] = {64,0}, + [I(234,223)] = {64,0}, + [I(235,223)] = {64,0}, + [I(236,223)] = {64,0}, + [I(237,223)] = {64,0}, + [I(238,223)] = {64,0}, + [I(239,223)] = {64,0}, + [I(240,223)] = {64,0}, + [I(241,223)] = {64,0}, + [I(242,223)] = {64,0}, + [I(243,223)] = {64,0}, + [I(244,223)] = {64,0}, + [I(245,223)] = {64,0}, + [I(246,223)] = {64,0}, + [I(247,223)] = {64,0}, + [I(248,223)] = {64,0}, + [I(249,223)] = {64,0}, + [I(250,223)] = {64,0}, + [I(251,223)] = {64,0}, + [I(252,223)] = {64,0}, + [I(253,223)] = {64,0}, + [I(254,223)] = {64,0}, + [I(255,223)] = {64,0}, + [I(0,224)] = {64,0}, + [I(1,224)] = {64,0}, + [I(2,224)] = {64,0}, + [I(3,224)] = {64,0}, + [I(4,224)] = {64,0}, + [I(5,224)] = {64,0}, + [I(6,224)] = {64,0}, + [I(7,224)] = {64,0}, + [I(8,224)] = {64,0}, + [I(9,224)] = {64,0}, + [I(10,224)] = {64,0}, + [I(11,224)] = {64,0}, + [I(12,224)] = {64,0}, + [I(13,224)] = {64,0}, + [I(14,224)] = {64,0}, + [I(15,224)] = {64,0}, + [I(16,224)] = {64,0}, + [I(17,224)] = {64,0}, + [I(18,224)] = {64,0}, + [I(19,224)] = {64,0}, + [I(20,224)] = {64,0}, + [I(21,224)] = {64,0}, + [I(22,224)] = {64,0}, + [I(23,224)] = {64,0}, + [I(24,224)] = {64,0}, + [I(25,224)] = {64,0}, + [I(26,224)] = {64,0}, + [I(27,224)] = {64,0}, + [I(28,224)] = {64,0}, + [I(29,224)] = {64,0}, + [I(30,224)] = {64,0}, + [I(31,224)] = {64,0}, + [I(32,224)] = {26,0x14FFFEC}, + [I(33,224)] = {30,0x3F8FFFEC}, + [I(34,224)] = {30,0x3F9FFFEC}, + [I(35,224)] = {X32,0xFFAFFFEC}, + [I(36,224)] = {64,0}, + [I(37,224)] = {26,0x15FFFEC}, + [I(38,224)] = {28,0xF8FFFEC}, + [I(39,224)] = {31,0x7FAFFFEC}, + [I(40,224)] = {30,0x3FAFFFEC}, + [I(41,224)] = {30,0x3FBFFFEC}, + [I(42,224)] = {28,0xF9FFFEC}, + [I(43,224)] = {31,0x7FBFFFEC}, + [I(44,224)] = {28,0xFAFFFEC}, + [I(45,224)] = {26,0x16FFFEC}, + [I(46,224)] = {26,0x17FFFEC}, + [I(47,224)] = {26,0x18FFFEC}, + [I(48,224)] = {25,0xFFFEC}, + [I(49,224)] = {25,0x1FFFEC}, + [I(50,224)] = {25,0x2FFFEC}, + [I(51,224)] = {26,0x19FFFEC}, + [I(52,224)] = {26,0x1AFFFEC}, + [I(53,224)] = {26,0x1BFFFEC}, + [I(54,224)] = {26,0x1CFFFEC}, + [I(55,224)] = {26,0x1DFFFEC}, + [I(56,224)] = {26,0x1EFFFEC}, + [I(57,224)] = {26,0x1FFFFEC}, + [I(58,224)] = {27,0x5CFFFEC}, + [I(59,224)] = {28,0xFBFFFEC}, + [I(60,224)] = {64,0}, + [I(61,224)] = {26,0x20FFFEC}, + [I(62,224)] = {X32,0xFFBFFFEC}, + [I(63,224)] = {30,0x3FCFFFEC}, + [I(64,224)] = {64,0}, + [I(65,224)] = {26,0x21FFFEC}, + [I(66,224)] = {27,0x5DFFFEC}, + [I(67,224)] = {27,0x5EFFFEC}, + [I(68,224)] = {27,0x5FFFFEC}, + [I(69,224)] = {27,0x60FFFEC}, + [I(70,224)] = {27,0x61FFFEC}, + [I(71,224)] = {27,0x62FFFEC}, + [I(72,224)] = {27,0x63FFFEC}, + [I(73,224)] = {27,0x64FFFEC}, + [I(74,224)] = {27,0x65FFFEC}, + [I(75,224)] = {27,0x66FFFEC}, + [I(76,224)] = {27,0x67FFFEC}, + [I(77,224)] = {27,0x68FFFEC}, + [I(78,224)] = {27,0x69FFFEC}, + [I(79,224)] = {27,0x6AFFFEC}, + [I(80,224)] = {27,0x6BFFFEC}, + [I(81,224)] = {27,0x6CFFFEC}, + [I(82,224)] = {27,0x6DFFFEC}, + [I(83,224)] = {27,0x6EFFFEC}, + [I(84,224)] = {27,0x6FFFFEC}, + [I(85,224)] = {27,0x70FFFEC}, + [I(86,224)] = {27,0x71FFFEC}, + [I(87,224)] = {27,0x72FFFEC}, + [I(88,224)] = {28,0xFCFFFEC}, + [I(89,224)] = {27,0x73FFFEC}, + [I(90,224)] = {28,0xFDFFFEC}, + [I(91,224)] = {64,0}, + [I(92,224)] = {64,0}, + [I(93,224)] = {64,0}, + [I(94,224)] = {64,0}, + [I(95,224)] = {26,0x22FFFEC}, + [I(96,224)] = {64,0}, + [I(97,224)] = {25,0x3FFFEC}, + [I(98,224)] = {26,0x23FFFEC}, + [I(99,224)] = {25,0x4FFFEC}, + [I(100,224)] = {26,0x24FFFEC}, + [I(101,224)] = {25,0x5FFFEC}, + [I(102,224)] = {26,0x25FFFEC}, + [I(103,224)] = {26,0x26FFFEC}, + [I(104,224)] = {26,0x27FFFEC}, + [I(105,224)] = {25,0x6FFFEC}, + [I(106,224)] = {27,0x74FFFEC}, + [I(107,224)] = {27,0x75FFFEC}, + [I(108,224)] = {26,0x28FFFEC}, + [I(109,224)] = {26,0x29FFFEC}, + [I(110,224)] = {26,0x2AFFFEC}, + [I(111,224)] = {25,0x7FFFEC}, + [I(112,224)] = {26,0x2BFFFEC}, + [I(113,224)] = {27,0x76FFFEC}, + [I(114,224)] = {26,0x2CFFFEC}, + [I(115,224)] = {25,0x8FFFEC}, + [I(116,224)] = {25,0x9FFFEC}, + [I(117,224)] = {26,0x2DFFFEC}, + [I(118,224)] = {27,0x77FFFEC}, + [I(119,224)] = {27,0x78FFFEC}, + [I(120,224)] = {27,0x79FFFEC}, + [I(121,224)] = {27,0x7AFFFEC}, + [I(122,224)] = {27,0x7BFFFEC}, + [I(123,224)] = {64,0}, + [I(124,224)] = {31,0x7FCFFFEC}, + [I(125,224)] = {64,0}, + [I(126,224)] = {64,0}, + [I(127,224)] = {64,0}, + [I(128,224)] = {64,0}, + [I(129,224)] = {64,0}, + [I(130,224)] = {64,0}, + [I(131,224)] = {64,0}, + [I(132,224)] = {64,0}, + [I(133,224)] = {64,0}, + [I(134,224)] = {64,0}, + [I(135,224)] = {64,0}, + [I(136,224)] = {64,0}, + [I(137,224)] = {64,0}, + [I(138,224)] = {64,0}, + [I(139,224)] = {64,0}, + [I(140,224)] = {64,0}, + [I(141,224)] = {64,0}, + [I(142,224)] = {64,0}, + [I(143,224)] = {64,0}, + [I(144,224)] = {64,0}, + [I(145,224)] = {64,0}, + [I(146,224)] = {64,0}, + [I(147,224)] = {64,0}, + [I(148,224)] = {64,0}, + [I(149,224)] = {64,0}, + [I(150,224)] = {64,0}, + [I(151,224)] = {64,0}, + [I(152,224)] = {64,0}, + [I(153,224)] = {64,0}, + [I(154,224)] = {64,0}, + [I(155,224)] = {64,0}, + [I(156,224)] = {64,0}, + [I(157,224)] = {64,0}, + [I(158,224)] = {64,0}, + [I(159,224)] = {64,0}, + [I(160,224)] = {64,0}, + [I(161,224)] = {64,0}, + [I(162,224)] = {64,0}, + [I(163,224)] = {64,0}, + [I(164,224)] = {64,0}, + [I(165,224)] = {64,0}, + [I(166,224)] = {64,0}, + [I(167,224)] = {64,0}, + [I(168,224)] = {64,0}, + [I(169,224)] = {64,0}, + [I(170,224)] = {64,0}, + [I(171,224)] = {64,0}, + [I(172,224)] = {64,0}, + [I(173,224)] = {64,0}, + [I(174,224)] = {64,0}, + [I(175,224)] = {64,0}, + [I(176,224)] = {64,0}, + [I(177,224)] = {64,0}, + [I(178,224)] = {64,0}, + [I(179,224)] = {64,0}, + [I(180,224)] = {64,0}, + [I(181,224)] = {64,0}, + [I(182,224)] = {64,0}, + [I(183,224)] = {64,0}, + [I(184,224)] = {64,0}, + [I(185,224)] = {64,0}, + [I(186,224)] = {64,0}, + [I(187,224)] = {64,0}, + [I(188,224)] = {64,0}, + [I(189,224)] = {64,0}, + [I(190,224)] = {64,0}, + [I(191,224)] = {64,0}, + [I(192,224)] = {64,0}, + [I(193,224)] = {64,0}, + [I(194,224)] = {64,0}, + [I(195,224)] = {64,0}, + [I(196,224)] = {64,0}, + [I(197,224)] = {64,0}, + [I(198,224)] = {64,0}, + [I(199,224)] = {64,0}, + [I(200,224)] = {64,0}, + [I(201,224)] = {64,0}, + [I(202,224)] = {64,0}, + [I(203,224)] = {64,0}, + [I(204,224)] = {64,0}, + [I(205,224)] = {64,0}, + [I(206,224)] = {64,0}, + [I(207,224)] = {64,0}, + [I(208,224)] = {64,0}, + [I(209,224)] = {64,0}, + [I(210,224)] = {64,0}, + [I(211,224)] = {64,0}, + [I(212,224)] = {64,0}, + [I(213,224)] = {64,0}, + [I(214,224)] = {64,0}, + [I(215,224)] = {64,0}, + [I(216,224)] = {64,0}, + [I(217,224)] = {64,0}, + [I(218,224)] = {64,0}, + [I(219,224)] = {64,0}, + [I(220,224)] = {64,0}, + [I(221,224)] = {64,0}, + [I(222,224)] = {64,0}, + [I(223,224)] = {64,0}, + [I(224,224)] = {64,0}, + [I(225,224)] = {64,0}, + [I(226,224)] = {64,0}, + [I(227,224)] = {64,0}, + [I(228,224)] = {64,0}, + [I(229,224)] = {64,0}, + [I(230,224)] = {64,0}, + [I(231,224)] = {64,0}, + [I(232,224)] = {64,0}, + [I(233,224)] = {64,0}, + [I(234,224)] = {64,0}, + [I(235,224)] = {64,0}, + [I(236,224)] = {64,0}, + [I(237,224)] = {64,0}, + [I(238,224)] = {64,0}, + [I(239,224)] = {64,0}, + [I(240,224)] = {64,0}, + [I(241,224)] = {64,0}, + [I(242,224)] = {64,0}, + [I(243,224)] = {64,0}, + [I(244,224)] = {64,0}, + [I(245,224)] = {64,0}, + [I(246,224)] = {64,0}, + [I(247,224)] = {64,0}, + [I(248,224)] = {64,0}, + [I(249,224)] = {64,0}, + [I(250,224)] = {64,0}, + [I(251,224)] = {64,0}, + [I(252,224)] = {64,0}, + [I(253,224)] = {64,0}, + [I(254,224)] = {64,0}, + [I(255,224)] = {64,0}, + [I(0,225)] = {64,0}, + [I(1,225)] = {64,0}, + [I(2,225)] = {64,0}, + [I(3,225)] = {64,0}, + [I(4,225)] = {64,0}, + [I(5,225)] = {64,0}, + [I(6,225)] = {64,0}, + [I(7,225)] = {64,0}, + [I(8,225)] = {64,0}, + [I(9,225)] = {64,0}, + [I(10,225)] = {64,0}, + [I(11,225)] = {64,0}, + [I(12,225)] = {64,0}, + [I(13,225)] = {64,0}, + [I(14,225)] = {64,0}, + [I(15,225)] = {64,0}, + [I(16,225)] = {64,0}, + [I(17,225)] = {64,0}, + [I(18,225)] = {64,0}, + [I(19,225)] = {64,0}, + [I(20,225)] = {64,0}, + [I(21,225)] = {64,0}, + [I(22,225)] = {64,0}, + [I(23,225)] = {64,0}, + [I(24,225)] = {64,0}, + [I(25,225)] = {64,0}, + [I(26,225)] = {64,0}, + [I(27,225)] = {64,0}, + [I(28,225)] = {64,0}, + [I(29,225)] = {64,0}, + [I(30,225)] = {64,0}, + [I(31,225)] = {64,0}, + [I(32,225)] = {30,0x14FFFFF3}, + [I(33,225)] = {64,0}, + [I(34,225)] = {64,0}, + [I(35,225)] = {64,0}, + [I(36,225)] = {64,0}, + [I(37,225)] = {30,0x15FFFFF3}, + [I(38,225)] = {X32,0xF8FFFFF3}, + [I(39,225)] = {64,0}, + [I(40,225)] = {64,0}, + [I(41,225)] = {64,0}, + [I(42,225)] = {X32,0xF9FFFFF3}, + [I(43,225)] = {64,0}, + [I(44,225)] = {X32,0xFAFFFFF3}, + [I(45,225)] = {30,0x16FFFFF3}, + [I(46,225)] = {30,0x17FFFFF3}, + [I(47,225)] = {30,0x18FFFFF3}, + [I(48,225)] = {29,0xFFFFF3}, + [I(49,225)] = {29,0x1FFFFF3}, + [I(50,225)] = {29,0x2FFFFF3}, + [I(51,225)] = {30,0x19FFFFF3}, + [I(52,225)] = {30,0x1AFFFFF3}, + [I(53,225)] = {30,0x1BFFFFF3}, + [I(54,225)] = {30,0x1CFFFFF3}, + [I(55,225)] = {30,0x1DFFFFF3}, + [I(56,225)] = {30,0x1EFFFFF3}, + [I(57,225)] = {30,0x1FFFFFF3}, + [I(58,225)] = {31,0x5CFFFFF3}, + [I(59,225)] = {X32,0xFBFFFFF3}, + [I(60,225)] = {64,0}, + [I(61,225)] = {30,0x20FFFFF3}, + [I(62,225)] = {64,0}, + [I(63,225)] = {64,0}, + [I(64,225)] = {64,0}, + [I(65,225)] = {30,0x21FFFFF3}, + [I(66,225)] = {31,0x5DFFFFF3}, + [I(67,225)] = {31,0x5EFFFFF3}, + [I(68,225)] = {31,0x5FFFFFF3}, + [I(69,225)] = {31,0x60FFFFF3}, + [I(70,225)] = {31,0x61FFFFF3}, + [I(71,225)] = {31,0x62FFFFF3}, + [I(72,225)] = {31,0x63FFFFF3}, + [I(73,225)] = {31,0x64FFFFF3}, + [I(74,225)] = {31,0x65FFFFF3}, + [I(75,225)] = {31,0x66FFFFF3}, + [I(76,225)] = {31,0x67FFFFF3}, + [I(77,225)] = {31,0x68FFFFF3}, + [I(78,225)] = {31,0x69FFFFF3}, + [I(79,225)] = {31,0x6AFFFFF3}, + [I(80,225)] = {31,0x6BFFFFF3}, + [I(81,225)] = {31,0x6CFFFFF3}, + [I(82,225)] = {31,0x6DFFFFF3}, + [I(83,225)] = {31,0x6EFFFFF3}, + [I(84,225)] = {31,0x6FFFFFF3}, + [I(85,225)] = {31,0x70FFFFF3}, + [I(86,225)] = {31,0x71FFFFF3}, + [I(87,225)] = {31,0x72FFFFF3}, + [I(88,225)] = {X32,0xFCFFFFF3}, + [I(89,225)] = {31,0x73FFFFF3}, + [I(90,225)] = {X32,0xFDFFFFF3}, + [I(91,225)] = {64,0}, + [I(92,225)] = {64,0}, + [I(93,225)] = {64,0}, + [I(94,225)] = {64,0}, + [I(95,225)] = {30,0x22FFFFF3}, + [I(96,225)] = {64,0}, + [I(97,225)] = {29,0x3FFFFF3}, + [I(98,225)] = {30,0x23FFFFF3}, + [I(99,225)] = {29,0x4FFFFF3}, + [I(100,225)] = {30,0x24FFFFF3}, + [I(101,225)] = {29,0x5FFFFF3}, + [I(102,225)] = {30,0x25FFFFF3}, + [I(103,225)] = {30,0x26FFFFF3}, + [I(104,225)] = {30,0x27FFFFF3}, + [I(105,225)] = {29,0x6FFFFF3}, + [I(106,225)] = {31,0x74FFFFF3}, + [I(107,225)] = {31,0x75FFFFF3}, + [I(108,225)] = {30,0x28FFFFF3}, + [I(109,225)] = {30,0x29FFFFF3}, + [I(110,225)] = {30,0x2AFFFFF3}, + [I(111,225)] = {29,0x7FFFFF3}, + [I(112,225)] = {30,0x2BFFFFF3}, + [I(113,225)] = {31,0x76FFFFF3}, + [I(114,225)] = {30,0x2CFFFFF3}, + [I(115,225)] = {29,0x8FFFFF3}, + [I(116,225)] = {29,0x9FFFFF3}, + [I(117,225)] = {30,0x2DFFFFF3}, + [I(118,225)] = {31,0x77FFFFF3}, + [I(119,225)] = {31,0x78FFFFF3}, + [I(120,225)] = {31,0x79FFFFF3}, + [I(121,225)] = {31,0x7AFFFFF3}, + [I(122,225)] = {31,0x7BFFFFF3}, + [I(123,225)] = {64,0}, + [I(124,225)] = {64,0}, + [I(125,225)] = {64,0}, + [I(126,225)] = {64,0}, + [I(127,225)] = {64,0}, + [I(128,225)] = {64,0}, + [I(129,225)] = {64,0}, + [I(130,225)] = {64,0}, + [I(131,225)] = {64,0}, + [I(132,225)] = {64,0}, + [I(133,225)] = {64,0}, + [I(134,225)] = {64,0}, + [I(135,225)] = {64,0}, + [I(136,225)] = {64,0}, + [I(137,225)] = {64,0}, + [I(138,225)] = {64,0}, + [I(139,225)] = {64,0}, + [I(140,225)] = {64,0}, + [I(141,225)] = {64,0}, + [I(142,225)] = {64,0}, + [I(143,225)] = {64,0}, + [I(144,225)] = {64,0}, + [I(145,225)] = {64,0}, + [I(146,225)] = {64,0}, + [I(147,225)] = {64,0}, + [I(148,225)] = {64,0}, + [I(149,225)] = {64,0}, + [I(150,225)] = {64,0}, + [I(151,225)] = {64,0}, + [I(152,225)] = {64,0}, + [I(153,225)] = {64,0}, + [I(154,225)] = {64,0}, + [I(155,225)] = {64,0}, + [I(156,225)] = {64,0}, + [I(157,225)] = {64,0}, + [I(158,225)] = {64,0}, + [I(159,225)] = {64,0}, + [I(160,225)] = {64,0}, + [I(161,225)] = {64,0}, + [I(162,225)] = {64,0}, + [I(163,225)] = {64,0}, + [I(164,225)] = {64,0}, + [I(165,225)] = {64,0}, + [I(166,225)] = {64,0}, + [I(167,225)] = {64,0}, + [I(168,225)] = {64,0}, + [I(169,225)] = {64,0}, + [I(170,225)] = {64,0}, + [I(171,225)] = {64,0}, + [I(172,225)] = {64,0}, + [I(173,225)] = {64,0}, + [I(174,225)] = {64,0}, + [I(175,225)] = {64,0}, + [I(176,225)] = {64,0}, + [I(177,225)] = {64,0}, + [I(178,225)] = {64,0}, + [I(179,225)] = {64,0}, + [I(180,225)] = {64,0}, + [I(181,225)] = {64,0}, + [I(182,225)] = {64,0}, + [I(183,225)] = {64,0}, + [I(184,225)] = {64,0}, + [I(185,225)] = {64,0}, + [I(186,225)] = {64,0}, + [I(187,225)] = {64,0}, + [I(188,225)] = {64,0}, + [I(189,225)] = {64,0}, + [I(190,225)] = {64,0}, + [I(191,225)] = {64,0}, + [I(192,225)] = {64,0}, + [I(193,225)] = {64,0}, + [I(194,225)] = {64,0}, + [I(195,225)] = {64,0}, + [I(196,225)] = {64,0}, + [I(197,225)] = {64,0}, + [I(198,225)] = {64,0}, + [I(199,225)] = {64,0}, + [I(200,225)] = {64,0}, + [I(201,225)] = {64,0}, + [I(202,225)] = {64,0}, + [I(203,225)] = {64,0}, + [I(204,225)] = {64,0}, + [I(205,225)] = {64,0}, + [I(206,225)] = {64,0}, + [I(207,225)] = {64,0}, + [I(208,225)] = {64,0}, + [I(209,225)] = {64,0}, + [I(210,225)] = {64,0}, + [I(211,225)] = {64,0}, + [I(212,225)] = {64,0}, + [I(213,225)] = {64,0}, + [I(214,225)] = {64,0}, + [I(215,225)] = {64,0}, + [I(216,225)] = {64,0}, + [I(217,225)] = {64,0}, + [I(218,225)] = {64,0}, + [I(219,225)] = {64,0}, + [I(220,225)] = {64,0}, + [I(221,225)] = {64,0}, + [I(222,225)] = {64,0}, + [I(223,225)] = {64,0}, + [I(224,225)] = {64,0}, + [I(225,225)] = {64,0}, + [I(226,225)] = {64,0}, + [I(227,225)] = {64,0}, + [I(228,225)] = {64,0}, + [I(229,225)] = {64,0}, + [I(230,225)] = {64,0}, + [I(231,225)] = {64,0}, + [I(232,225)] = {64,0}, + [I(233,225)] = {64,0}, + [I(234,225)] = {64,0}, + [I(235,225)] = {64,0}, + [I(236,225)] = {64,0}, + [I(237,225)] = {64,0}, + [I(238,225)] = {64,0}, + [I(239,225)] = {64,0}, + [I(240,225)] = {64,0}, + [I(241,225)] = {64,0}, + [I(242,225)] = {64,0}, + [I(243,225)] = {64,0}, + [I(244,225)] = {64,0}, + [I(245,225)] = {64,0}, + [I(246,225)] = {64,0}, + [I(247,225)] = {64,0}, + [I(248,225)] = {64,0}, + [I(249,225)] = {64,0}, + [I(250,225)] = {64,0}, + [I(251,225)] = {64,0}, + [I(252,225)] = {64,0}, + [I(253,225)] = {64,0}, + [I(254,225)] = {64,0}, + [I(255,225)] = {64,0}, + [I(0,226)] = {64,0}, + [I(1,226)] = {64,0}, + [I(2,226)] = {64,0}, + [I(3,226)] = {64,0}, + [I(4,226)] = {64,0}, + [I(5,226)] = {64,0}, + [I(6,226)] = {64,0}, + [I(7,226)] = {64,0}, + [I(8,226)] = {64,0}, + [I(9,226)] = {64,0}, + [I(10,226)] = {64,0}, + [I(11,226)] = {64,0}, + [I(12,226)] = {64,0}, + [I(13,226)] = {64,0}, + [I(14,226)] = {64,0}, + [I(15,226)] = {64,0}, + [I(16,226)] = {64,0}, + [I(17,226)] = {64,0}, + [I(18,226)] = {64,0}, + [I(19,226)] = {64,0}, + [I(20,226)] = {64,0}, + [I(21,226)] = {64,0}, + [I(22,226)] = {64,0}, + [I(23,226)] = {64,0}, + [I(24,226)] = {64,0}, + [I(25,226)] = {64,0}, + [I(26,226)] = {64,0}, + [I(27,226)] = {64,0}, + [I(28,226)] = {64,0}, + [I(29,226)] = {64,0}, + [I(30,226)] = {64,0}, + [I(31,226)] = {64,0}, + [I(32,226)] = {26,0x14FFFED}, + [I(33,226)] = {30,0x3F8FFFED}, + [I(34,226)] = {30,0x3F9FFFED}, + [I(35,226)] = {X32,0xFFAFFFED}, + [I(36,226)] = {64,0}, + [I(37,226)] = {26,0x15FFFED}, + [I(38,226)] = {28,0xF8FFFED}, + [I(39,226)] = {31,0x7FAFFFED}, + [I(40,226)] = {30,0x3FAFFFED}, + [I(41,226)] = {30,0x3FBFFFED}, + [I(42,226)] = {28,0xF9FFFED}, + [I(43,226)] = {31,0x7FBFFFED}, + [I(44,226)] = {28,0xFAFFFED}, + [I(45,226)] = {26,0x16FFFED}, + [I(46,226)] = {26,0x17FFFED}, + [I(47,226)] = {26,0x18FFFED}, + [I(48,226)] = {25,0xFFFED}, + [I(49,226)] = {25,0x1FFFED}, + [I(50,226)] = {25,0x2FFFED}, + [I(51,226)] = {26,0x19FFFED}, + [I(52,226)] = {26,0x1AFFFED}, + [I(53,226)] = {26,0x1BFFFED}, + [I(54,226)] = {26,0x1CFFFED}, + [I(55,226)] = {26,0x1DFFFED}, + [I(56,226)] = {26,0x1EFFFED}, + [I(57,226)] = {26,0x1FFFFED}, + [I(58,226)] = {27,0x5CFFFED}, + [I(59,226)] = {28,0xFBFFFED}, + [I(60,226)] = {64,0}, + [I(61,226)] = {26,0x20FFFED}, + [I(62,226)] = {X32,0xFFBFFFED}, + [I(63,226)] = {30,0x3FCFFFED}, + [I(64,226)] = {64,0}, + [I(65,226)] = {26,0x21FFFED}, + [I(66,226)] = {27,0x5DFFFED}, + [I(67,226)] = {27,0x5EFFFED}, + [I(68,226)] = {27,0x5FFFFED}, + [I(69,226)] = {27,0x60FFFED}, + [I(70,226)] = {27,0x61FFFED}, + [I(71,226)] = {27,0x62FFFED}, + [I(72,226)] = {27,0x63FFFED}, + [I(73,226)] = {27,0x64FFFED}, + [I(74,226)] = {27,0x65FFFED}, + [I(75,226)] = {27,0x66FFFED}, + [I(76,226)] = {27,0x67FFFED}, + [I(77,226)] = {27,0x68FFFED}, + [I(78,226)] = {27,0x69FFFED}, + [I(79,226)] = {27,0x6AFFFED}, + [I(80,226)] = {27,0x6BFFFED}, + [I(81,226)] = {27,0x6CFFFED}, + [I(82,226)] = {27,0x6DFFFED}, + [I(83,226)] = {27,0x6EFFFED}, + [I(84,226)] = {27,0x6FFFFED}, + [I(85,226)] = {27,0x70FFFED}, + [I(86,226)] = {27,0x71FFFED}, + [I(87,226)] = {27,0x72FFFED}, + [I(88,226)] = {28,0xFCFFFED}, + [I(89,226)] = {27,0x73FFFED}, + [I(90,226)] = {28,0xFDFFFED}, + [I(91,226)] = {64,0}, + [I(92,226)] = {64,0}, + [I(93,226)] = {64,0}, + [I(94,226)] = {64,0}, + [I(95,226)] = {26,0x22FFFED}, + [I(96,226)] = {64,0}, + [I(97,226)] = {25,0x3FFFED}, + [I(98,226)] = {26,0x23FFFED}, + [I(99,226)] = {25,0x4FFFED}, + [I(100,226)] = {26,0x24FFFED}, + [I(101,226)] = {25,0x5FFFED}, + [I(102,226)] = {26,0x25FFFED}, + [I(103,226)] = {26,0x26FFFED}, + [I(104,226)] = {26,0x27FFFED}, + [I(105,226)] = {25,0x6FFFED}, + [I(106,226)] = {27,0x74FFFED}, + [I(107,226)] = {27,0x75FFFED}, + [I(108,226)] = {26,0x28FFFED}, + [I(109,226)] = {26,0x29FFFED}, + [I(110,226)] = {26,0x2AFFFED}, + [I(111,226)] = {25,0x7FFFED}, + [I(112,226)] = {26,0x2BFFFED}, + [I(113,226)] = {27,0x76FFFED}, + [I(114,226)] = {26,0x2CFFFED}, + [I(115,226)] = {25,0x8FFFED}, + [I(116,226)] = {25,0x9FFFED}, + [I(117,226)] = {26,0x2DFFFED}, + [I(118,226)] = {27,0x77FFFED}, + [I(119,226)] = {27,0x78FFFED}, + [I(120,226)] = {27,0x79FFFED}, + [I(121,226)] = {27,0x7AFFFED}, + [I(122,226)] = {27,0x7BFFFED}, + [I(123,226)] = {64,0}, + [I(124,226)] = {31,0x7FCFFFED}, + [I(125,226)] = {64,0}, + [I(126,226)] = {64,0}, + [I(127,226)] = {64,0}, + [I(128,226)] = {64,0}, + [I(129,226)] = {64,0}, + [I(130,226)] = {64,0}, + [I(131,226)] = {64,0}, + [I(132,226)] = {64,0}, + [I(133,226)] = {64,0}, + [I(134,226)] = {64,0}, + [I(135,226)] = {64,0}, + [I(136,226)] = {64,0}, + [I(137,226)] = {64,0}, + [I(138,226)] = {64,0}, + [I(139,226)] = {64,0}, + [I(140,226)] = {64,0}, + [I(141,226)] = {64,0}, + [I(142,226)] = {64,0}, + [I(143,226)] = {64,0}, + [I(144,226)] = {64,0}, + [I(145,226)] = {64,0}, + [I(146,226)] = {64,0}, + [I(147,226)] = {64,0}, + [I(148,226)] = {64,0}, + [I(149,226)] = {64,0}, + [I(150,226)] = {64,0}, + [I(151,226)] = {64,0}, + [I(152,226)] = {64,0}, + [I(153,226)] = {64,0}, + [I(154,226)] = {64,0}, + [I(155,226)] = {64,0}, + [I(156,226)] = {64,0}, + [I(157,226)] = {64,0}, + [I(158,226)] = {64,0}, + [I(159,226)] = {64,0}, + [I(160,226)] = {64,0}, + [I(161,226)] = {64,0}, + [I(162,226)] = {64,0}, + [I(163,226)] = {64,0}, + [I(164,226)] = {64,0}, + [I(165,226)] = {64,0}, + [I(166,226)] = {64,0}, + [I(167,226)] = {64,0}, + [I(168,226)] = {64,0}, + [I(169,226)] = {64,0}, + [I(170,226)] = {64,0}, + [I(171,226)] = {64,0}, + [I(172,226)] = {64,0}, + [I(173,226)] = {64,0}, + [I(174,226)] = {64,0}, + [I(175,226)] = {64,0}, + [I(176,226)] = {64,0}, + [I(177,226)] = {64,0}, + [I(178,226)] = {64,0}, + [I(179,226)] = {64,0}, + [I(180,226)] = {64,0}, + [I(181,226)] = {64,0}, + [I(182,226)] = {64,0}, + [I(183,226)] = {64,0}, + [I(184,226)] = {64,0}, + [I(185,226)] = {64,0}, + [I(186,226)] = {64,0}, + [I(187,226)] = {64,0}, + [I(188,226)] = {64,0}, + [I(189,226)] = {64,0}, + [I(190,226)] = {64,0}, + [I(191,226)] = {64,0}, + [I(192,226)] = {64,0}, + [I(193,226)] = {64,0}, + [I(194,226)] = {64,0}, + [I(195,226)] = {64,0}, + [I(196,226)] = {64,0}, + [I(197,226)] = {64,0}, + [I(198,226)] = {64,0}, + [I(199,226)] = {64,0}, + [I(200,226)] = {64,0}, + [I(201,226)] = {64,0}, + [I(202,226)] = {64,0}, + [I(203,226)] = {64,0}, + [I(204,226)] = {64,0}, + [I(205,226)] = {64,0}, + [I(206,226)] = {64,0}, + [I(207,226)] = {64,0}, + [I(208,226)] = {64,0}, + [I(209,226)] = {64,0}, + [I(210,226)] = {64,0}, + [I(211,226)] = {64,0}, + [I(212,226)] = {64,0}, + [I(213,226)] = {64,0}, + [I(214,226)] = {64,0}, + [I(215,226)] = {64,0}, + [I(216,226)] = {64,0}, + [I(217,226)] = {64,0}, + [I(218,226)] = {64,0}, + [I(219,226)] = {64,0}, + [I(220,226)] = {64,0}, + [I(221,226)] = {64,0}, + [I(222,226)] = {64,0}, + [I(223,226)] = {64,0}, + [I(224,226)] = {64,0}, + [I(225,226)] = {64,0}, + [I(226,226)] = {64,0}, + [I(227,226)] = {64,0}, + [I(228,226)] = {64,0}, + [I(229,226)] = {64,0}, + [I(230,226)] = {64,0}, + [I(231,226)] = {64,0}, + [I(232,226)] = {64,0}, + [I(233,226)] = {64,0}, + [I(234,226)] = {64,0}, + [I(235,226)] = {64,0}, + [I(236,226)] = {64,0}, + [I(237,226)] = {64,0}, + [I(238,226)] = {64,0}, + [I(239,226)] = {64,0}, + [I(240,226)] = {64,0}, + [I(241,226)] = {64,0}, + [I(242,226)] = {64,0}, + [I(243,226)] = {64,0}, + [I(244,226)] = {64,0}, + [I(245,226)] = {64,0}, + [I(246,226)] = {64,0}, + [I(247,226)] = {64,0}, + [I(248,226)] = {64,0}, + [I(249,226)] = {64,0}, + [I(250,226)] = {64,0}, + [I(251,226)] = {64,0}, + [I(252,226)] = {64,0}, + [I(253,226)] = {64,0}, + [I(254,226)] = {64,0}, + [I(255,226)] = {64,0}, + [I(0,227)] = {64,0}, + [I(1,227)] = {64,0}, + [I(2,227)] = {64,0}, + [I(3,227)] = {64,0}, + [I(4,227)] = {64,0}, + [I(5,227)] = {64,0}, + [I(6,227)] = {64,0}, + [I(7,227)] = {64,0}, + [I(8,227)] = {64,0}, + [I(9,227)] = {64,0}, + [I(10,227)] = {64,0}, + [I(11,227)] = {64,0}, + [I(12,227)] = {64,0}, + [I(13,227)] = {64,0}, + [I(14,227)] = {64,0}, + [I(15,227)] = {64,0}, + [I(16,227)] = {64,0}, + [I(17,227)] = {64,0}, + [I(18,227)] = {64,0}, + [I(19,227)] = {64,0}, + [I(20,227)] = {64,0}, + [I(21,227)] = {64,0}, + [I(22,227)] = {64,0}, + [I(23,227)] = {64,0}, + [I(24,227)] = {64,0}, + [I(25,227)] = {64,0}, + [I(26,227)] = {64,0}, + [I(27,227)] = {64,0}, + [I(28,227)] = {64,0}, + [I(29,227)] = {64,0}, + [I(30,227)] = {64,0}, + [I(31,227)] = {64,0}, + [I(32,227)] = {27,0x29FFFE6}, + [I(33,227)] = {31,0x7F1FFFE6}, + [I(34,227)] = {31,0x7F3FFFE6}, + [I(35,227)] = {64,0}, + [I(36,227)] = {64,0}, + [I(37,227)] = {27,0x2BFFFE6}, + [I(38,227)] = {29,0x1F1FFFE6}, + [I(39,227)] = {X32,0xFF5FFFE6}, + [I(40,227)] = {31,0x7F5FFFE6}, + [I(41,227)] = {31,0x7F7FFFE6}, + [I(42,227)] = {29,0x1F3FFFE6}, + [I(43,227)] = {X32,0xFF7FFFE6}, + [I(44,227)] = {29,0x1F5FFFE6}, + [I(45,227)] = {27,0x2DFFFE6}, + [I(46,227)] = {27,0x2FFFFE6}, + [I(47,227)] = {27,0x31FFFE6}, + [I(48,227)] = {26,0x1FFFE6}, + [I(49,227)] = {26,0x3FFFE6}, + [I(50,227)] = {26,0x5FFFE6}, + [I(51,227)] = {27,0x33FFFE6}, + [I(52,227)] = {27,0x35FFFE6}, + [I(53,227)] = {27,0x37FFFE6}, + [I(54,227)] = {27,0x39FFFE6}, + [I(55,227)] = {27,0x3BFFFE6}, + [I(56,227)] = {27,0x3DFFFE6}, + [I(57,227)] = {27,0x3FFFFE6}, + [I(58,227)] = {28,0xB9FFFE6}, + [I(59,227)] = {29,0x1F7FFFE6}, + [I(60,227)] = {64,0}, + [I(61,227)] = {27,0x41FFFE6}, + [I(62,227)] = {64,0}, + [I(63,227)] = {31,0x7F9FFFE6}, + [I(64,227)] = {64,0}, + [I(65,227)] = {27,0x43FFFE6}, + [I(66,227)] = {28,0xBBFFFE6}, + [I(67,227)] = {28,0xBDFFFE6}, + [I(68,227)] = {28,0xBFFFFE6}, + [I(69,227)] = {28,0xC1FFFE6}, + [I(70,227)] = {28,0xC3FFFE6}, + [I(71,227)] = {28,0xC5FFFE6}, + [I(72,227)] = {28,0xC7FFFE6}, + [I(73,227)] = {28,0xC9FFFE6}, + [I(74,227)] = {28,0xCBFFFE6}, + [I(75,227)] = {28,0xCDFFFE6}, + [I(76,227)] = {28,0xCFFFFE6}, + [I(77,227)] = {28,0xD1FFFE6}, + [I(78,227)] = {28,0xD3FFFE6}, + [I(79,227)] = {28,0xD5FFFE6}, + [I(80,227)] = {28,0xD7FFFE6}, + [I(81,227)] = {28,0xD9FFFE6}, + [I(82,227)] = {28,0xDBFFFE6}, + [I(83,227)] = {28,0xDDFFFE6}, + [I(84,227)] = {28,0xDFFFFE6}, + [I(85,227)] = {28,0xE1FFFE6}, + [I(86,227)] = {28,0xE3FFFE6}, + [I(87,227)] = {28,0xE5FFFE6}, + [I(88,227)] = {29,0x1F9FFFE6}, + [I(89,227)] = {28,0xE7FFFE6}, + [I(90,227)] = {29,0x1FBFFFE6}, + [I(91,227)] = {64,0}, + [I(92,227)] = {64,0}, + [I(93,227)] = {64,0}, + [I(94,227)] = {64,0}, + [I(95,227)] = {27,0x45FFFE6}, + [I(96,227)] = {64,0}, + [I(97,227)] = {26,0x7FFFE6}, + [I(98,227)] = {27,0x47FFFE6}, + [I(99,227)] = {26,0x9FFFE6}, + [I(100,227)] = {27,0x49FFFE6}, + [I(101,227)] = {26,0xBFFFE6}, + [I(102,227)] = {27,0x4BFFFE6}, + [I(103,227)] = {27,0x4DFFFE6}, + [I(104,227)] = {27,0x4FFFFE6}, + [I(105,227)] = {26,0xDFFFE6}, + [I(106,227)] = {28,0xE9FFFE6}, + [I(107,227)] = {28,0xEBFFFE6}, + [I(108,227)] = {27,0x51FFFE6}, + [I(109,227)] = {27,0x53FFFE6}, + [I(110,227)] = {27,0x55FFFE6}, + [I(111,227)] = {26,0xFFFFE6}, + [I(112,227)] = {27,0x57FFFE6}, + [I(113,227)] = {28,0xEDFFFE6}, + [I(114,227)] = {27,0x59FFFE6}, + [I(115,227)] = {26,0x11FFFE6}, + [I(116,227)] = {26,0x13FFFE6}, + [I(117,227)] = {27,0x5BFFFE6}, + [I(118,227)] = {28,0xEFFFFE6}, + [I(119,227)] = {28,0xF1FFFE6}, + [I(120,227)] = {28,0xF3FFFE6}, + [I(121,227)] = {28,0xF5FFFE6}, + [I(122,227)] = {28,0xF7FFFE6}, + [I(123,227)] = {64,0}, + [I(124,227)] = {X32,0xFF9FFFE6}, + [I(125,227)] = {64,0}, + [I(126,227)] = {64,0}, + [I(127,227)] = {64,0}, + [I(128,227)] = {64,0}, + [I(129,227)] = {64,0}, + [I(130,227)] = {64,0}, + [I(131,227)] = {64,0}, + [I(132,227)] = {64,0}, + [I(133,227)] = {64,0}, + [I(134,227)] = {64,0}, + [I(135,227)] = {64,0}, + [I(136,227)] = {64,0}, + [I(137,227)] = {64,0}, + [I(138,227)] = {64,0}, + [I(139,227)] = {64,0}, + [I(140,227)] = {64,0}, + [I(141,227)] = {64,0}, + [I(142,227)] = {64,0}, + [I(143,227)] = {64,0}, + [I(144,227)] = {64,0}, + [I(145,227)] = {64,0}, + [I(146,227)] = {64,0}, + [I(147,227)] = {64,0}, + [I(148,227)] = {64,0}, + [I(149,227)] = {64,0}, + [I(150,227)] = {64,0}, + [I(151,227)] = {64,0}, + [I(152,227)] = {64,0}, + [I(153,227)] = {64,0}, + [I(154,227)] = {64,0}, + [I(155,227)] = {64,0}, + [I(156,227)] = {64,0}, + [I(157,227)] = {64,0}, + [I(158,227)] = {64,0}, + [I(159,227)] = {64,0}, + [I(160,227)] = {64,0}, + [I(161,227)] = {64,0}, + [I(162,227)] = {64,0}, + [I(163,227)] = {64,0}, + [I(164,227)] = {64,0}, + [I(165,227)] = {64,0}, + [I(166,227)] = {64,0}, + [I(167,227)] = {64,0}, + [I(168,227)] = {64,0}, + [I(169,227)] = {64,0}, + [I(170,227)] = {64,0}, + [I(171,227)] = {64,0}, + [I(172,227)] = {64,0}, + [I(173,227)] = {64,0}, + [I(174,227)] = {64,0}, + [I(175,227)] = {64,0}, + [I(176,227)] = {64,0}, + [I(177,227)] = {64,0}, + [I(178,227)] = {64,0}, + [I(179,227)] = {64,0}, + [I(180,227)] = {64,0}, + [I(181,227)] = {64,0}, + [I(182,227)] = {64,0}, + [I(183,227)] = {64,0}, + [I(184,227)] = {64,0}, + [I(185,227)] = {64,0}, + [I(186,227)] = {64,0}, + [I(187,227)] = {64,0}, + [I(188,227)] = {64,0}, + [I(189,227)] = {64,0}, + [I(190,227)] = {64,0}, + [I(191,227)] = {64,0}, + [I(192,227)] = {64,0}, + [I(193,227)] = {64,0}, + [I(194,227)] = {64,0}, + [I(195,227)] = {64,0}, + [I(196,227)] = {64,0}, + [I(197,227)] = {64,0}, + [I(198,227)] = {64,0}, + [I(199,227)] = {64,0}, + [I(200,227)] = {64,0}, + [I(201,227)] = {64,0}, + [I(202,227)] = {64,0}, + [I(203,227)] = {64,0}, + [I(204,227)] = {64,0}, + [I(205,227)] = {64,0}, + [I(206,227)] = {64,0}, + [I(207,227)] = {64,0}, + [I(208,227)] = {64,0}, + [I(209,227)] = {64,0}, + [I(210,227)] = {64,0}, + [I(211,227)] = {64,0}, + [I(212,227)] = {64,0}, + [I(213,227)] = {64,0}, + [I(214,227)] = {64,0}, + [I(215,227)] = {64,0}, + [I(216,227)] = {64,0}, + [I(217,227)] = {64,0}, + [I(218,227)] = {64,0}, + [I(219,227)] = {64,0}, + [I(220,227)] = {64,0}, + [I(221,227)] = {64,0}, + [I(222,227)] = {64,0}, + [I(223,227)] = {64,0}, + [I(224,227)] = {64,0}, + [I(225,227)] = {64,0}, + [I(226,227)] = {64,0}, + [I(227,227)] = {64,0}, + [I(228,227)] = {64,0}, + [I(229,227)] = {64,0}, + [I(230,227)] = {64,0}, + [I(231,227)] = {64,0}, + [I(232,227)] = {64,0}, + [I(233,227)] = {64,0}, + [I(234,227)] = {64,0}, + [I(235,227)] = {64,0}, + [I(236,227)] = {64,0}, + [I(237,227)] = {64,0}, + [I(238,227)] = {64,0}, + [I(239,227)] = {64,0}, + [I(240,227)] = {64,0}, + [I(241,227)] = {64,0}, + [I(242,227)] = {64,0}, + [I(243,227)] = {64,0}, + [I(244,227)] = {64,0}, + [I(245,227)] = {64,0}, + [I(246,227)] = {64,0}, + [I(247,227)] = {64,0}, + [I(248,227)] = {64,0}, + [I(249,227)] = {64,0}, + [I(250,227)] = {64,0}, + [I(251,227)] = {64,0}, + [I(252,227)] = {64,0}, + [I(253,227)] = {64,0}, + [I(254,227)] = {64,0}, + [I(255,227)] = {64,0}, + [I(0,228)] = {64,0}, + [I(1,228)] = {64,0}, + [I(2,228)] = {64,0}, + [I(3,228)] = {64,0}, + [I(4,228)] = {64,0}, + [I(5,228)] = {64,0}, + [I(6,228)] = {64,0}, + [I(7,228)] = {64,0}, + [I(8,228)] = {64,0}, + [I(9,228)] = {64,0}, + [I(10,228)] = {64,0}, + [I(11,228)] = {64,0}, + [I(12,228)] = {64,0}, + [I(13,228)] = {64,0}, + [I(14,228)] = {64,0}, + [I(15,228)] = {64,0}, + [I(16,228)] = {64,0}, + [I(17,228)] = {64,0}, + [I(18,228)] = {64,0}, + [I(19,228)] = {64,0}, + [I(20,228)] = {64,0}, + [I(21,228)] = {64,0}, + [I(22,228)] = {64,0}, + [I(23,228)] = {64,0}, + [I(24,228)] = {64,0}, + [I(25,228)] = {64,0}, + [I(26,228)] = {64,0}, + [I(27,228)] = {64,0}, + [I(28,228)] = {64,0}, + [I(29,228)] = {64,0}, + [I(30,228)] = {64,0}, + [I(31,228)] = {64,0}, + [I(32,228)] = {28,0x53FFFE9}, + [I(33,228)] = {X32,0xFE3FFFE9}, + [I(34,228)] = {X32,0xFE7FFFE9}, + [I(35,228)] = {64,0}, + [I(36,228)] = {64,0}, + [I(37,228)] = {28,0x57FFFE9}, + [I(38,228)] = {30,0x3E3FFFE9}, + [I(39,228)] = {64,0}, + [I(40,228)] = {X32,0xFEBFFFE9}, + [I(41,228)] = {X32,0xFEFFFFE9}, + [I(42,228)] = {30,0x3E7FFFE9}, + [I(43,228)] = {64,0}, + [I(44,228)] = {30,0x3EBFFFE9}, + [I(45,228)] = {28,0x5BFFFE9}, + [I(46,228)] = {28,0x5FFFFE9}, + [I(47,228)] = {28,0x63FFFE9}, + [I(48,228)] = {27,0x3FFFE9}, + [I(49,228)] = {27,0x7FFFE9}, + [I(50,228)] = {27,0xBFFFE9}, + [I(51,228)] = {28,0x67FFFE9}, + [I(52,228)] = {28,0x6BFFFE9}, + [I(53,228)] = {28,0x6FFFFE9}, + [I(54,228)] = {28,0x73FFFE9}, + [I(55,228)] = {28,0x77FFFE9}, + [I(56,228)] = {28,0x7BFFFE9}, + [I(57,228)] = {28,0x7FFFFE9}, + [I(58,228)] = {29,0x173FFFE9}, + [I(59,228)] = {30,0x3EFFFFE9}, + [I(60,228)] = {64,0}, + [I(61,228)] = {28,0x83FFFE9}, + [I(62,228)] = {64,0}, + [I(63,228)] = {X32,0xFF3FFFE9}, + [I(64,228)] = {64,0}, + [I(65,228)] = {28,0x87FFFE9}, + [I(66,228)] = {29,0x177FFFE9}, + [I(67,228)] = {29,0x17BFFFE9}, + [I(68,228)] = {29,0x17FFFFE9}, + [I(69,228)] = {29,0x183FFFE9}, + [I(70,228)] = {29,0x187FFFE9}, + [I(71,228)] = {29,0x18BFFFE9}, + [I(72,228)] = {29,0x18FFFFE9}, + [I(73,228)] = {29,0x193FFFE9}, + [I(74,228)] = {29,0x197FFFE9}, + [I(75,228)] = {29,0x19BFFFE9}, + [I(76,228)] = {29,0x19FFFFE9}, + [I(77,228)] = {29,0x1A3FFFE9}, + [I(78,228)] = {29,0x1A7FFFE9}, + [I(79,228)] = {29,0x1ABFFFE9}, + [I(80,228)] = {29,0x1AFFFFE9}, + [I(81,228)] = {29,0x1B3FFFE9}, + [I(82,228)] = {29,0x1B7FFFE9}, + [I(83,228)] = {29,0x1BBFFFE9}, + [I(84,228)] = {29,0x1BFFFFE9}, + [I(85,228)] = {29,0x1C3FFFE9}, + [I(86,228)] = {29,0x1C7FFFE9}, + [I(87,228)] = {29,0x1CBFFFE9}, + [I(88,228)] = {30,0x3F3FFFE9}, + [I(89,228)] = {29,0x1CFFFFE9}, + [I(90,228)] = {30,0x3F7FFFE9}, + [I(91,228)] = {64,0}, + [I(92,228)] = {64,0}, + [I(93,228)] = {64,0}, + [I(94,228)] = {64,0}, + [I(95,228)] = {28,0x8BFFFE9}, + [I(96,228)] = {64,0}, + [I(97,228)] = {27,0xFFFFE9}, + [I(98,228)] = {28,0x8FFFFE9}, + [I(99,228)] = {27,0x13FFFE9}, + [I(100,228)] = {28,0x93FFFE9}, + [I(101,228)] = {27,0x17FFFE9}, + [I(102,228)] = {28,0x97FFFE9}, + [I(103,228)] = {28,0x9BFFFE9}, + [I(104,228)] = {28,0x9FFFFE9}, + [I(105,228)] = {27,0x1BFFFE9}, + [I(106,228)] = {29,0x1D3FFFE9}, + [I(107,228)] = {29,0x1D7FFFE9}, + [I(108,228)] = {28,0xA3FFFE9}, + [I(109,228)] = {28,0xA7FFFE9}, + [I(110,228)] = {28,0xABFFFE9}, + [I(111,228)] = {27,0x1FFFFE9}, + [I(112,228)] = {28,0xAFFFFE9}, + [I(113,228)] = {29,0x1DBFFFE9}, + [I(114,228)] = {28,0xB3FFFE9}, + [I(115,228)] = {27,0x23FFFE9}, + [I(116,228)] = {27,0x27FFFE9}, + [I(117,228)] = {28,0xB7FFFE9}, + [I(118,228)] = {29,0x1DFFFFE9}, + [I(119,228)] = {29,0x1E3FFFE9}, + [I(120,228)] = {29,0x1E7FFFE9}, + [I(121,228)] = {29,0x1EBFFFE9}, + [I(122,228)] = {29,0x1EFFFFE9}, + [I(123,228)] = {64,0}, + [I(124,228)] = {64,0}, + [I(125,228)] = {64,0}, + [I(126,228)] = {64,0}, + [I(127,228)] = {64,0}, + [I(128,228)] = {64,0}, + [I(129,228)] = {64,0}, + [I(130,228)] = {64,0}, + [I(131,228)] = {64,0}, + [I(132,228)] = {64,0}, + [I(133,228)] = {64,0}, + [I(134,228)] = {64,0}, + [I(135,228)] = {64,0}, + [I(136,228)] = {64,0}, + [I(137,228)] = {64,0}, + [I(138,228)] = {64,0}, + [I(139,228)] = {64,0}, + [I(140,228)] = {64,0}, + [I(141,228)] = {64,0}, + [I(142,228)] = {64,0}, + [I(143,228)] = {64,0}, + [I(144,228)] = {64,0}, + [I(145,228)] = {64,0}, + [I(146,228)] = {64,0}, + [I(147,228)] = {64,0}, + [I(148,228)] = {64,0}, + [I(149,228)] = {64,0}, + [I(150,228)] = {64,0}, + [I(151,228)] = {64,0}, + [I(152,228)] = {64,0}, + [I(153,228)] = {64,0}, + [I(154,228)] = {64,0}, + [I(155,228)] = {64,0}, + [I(156,228)] = {64,0}, + [I(157,228)] = {64,0}, + [I(158,228)] = {64,0}, + [I(159,228)] = {64,0}, + [I(160,228)] = {64,0}, + [I(161,228)] = {64,0}, + [I(162,228)] = {64,0}, + [I(163,228)] = {64,0}, + [I(164,228)] = {64,0}, + [I(165,228)] = {64,0}, + [I(166,228)] = {64,0}, + [I(167,228)] = {64,0}, + [I(168,228)] = {64,0}, + [I(169,228)] = {64,0}, + [I(170,228)] = {64,0}, + [I(171,228)] = {64,0}, + [I(172,228)] = {64,0}, + [I(173,228)] = {64,0}, + [I(174,228)] = {64,0}, + [I(175,228)] = {64,0}, + [I(176,228)] = {64,0}, + [I(177,228)] = {64,0}, + [I(178,228)] = {64,0}, + [I(179,228)] = {64,0}, + [I(180,228)] = {64,0}, + [I(181,228)] = {64,0}, + [I(182,228)] = {64,0}, + [I(183,228)] = {64,0}, + [I(184,228)] = {64,0}, + [I(185,228)] = {64,0}, + [I(186,228)] = {64,0}, + [I(187,228)] = {64,0}, + [I(188,228)] = {64,0}, + [I(189,228)] = {64,0}, + [I(190,228)] = {64,0}, + [I(191,228)] = {64,0}, + [I(192,228)] = {64,0}, + [I(193,228)] = {64,0}, + [I(194,228)] = {64,0}, + [I(195,228)] = {64,0}, + [I(196,228)] = {64,0}, + [I(197,228)] = {64,0}, + [I(198,228)] = {64,0}, + [I(199,228)] = {64,0}, + [I(200,228)] = {64,0}, + [I(201,228)] = {64,0}, + [I(202,228)] = {64,0}, + [I(203,228)] = {64,0}, + [I(204,228)] = {64,0}, + [I(205,228)] = {64,0}, + [I(206,228)] = {64,0}, + [I(207,228)] = {64,0}, + [I(208,228)] = {64,0}, + [I(209,228)] = {64,0}, + [I(210,228)] = {64,0}, + [I(211,228)] = {64,0}, + [I(212,228)] = {64,0}, + [I(213,228)] = {64,0}, + [I(214,228)] = {64,0}, + [I(215,228)] = {64,0}, + [I(216,228)] = {64,0}, + [I(217,228)] = {64,0}, + [I(218,228)] = {64,0}, + [I(219,228)] = {64,0}, + [I(220,228)] = {64,0}, + [I(221,228)] = {64,0}, + [I(222,228)] = {64,0}, + [I(223,228)] = {64,0}, + [I(224,228)] = {64,0}, + [I(225,228)] = {64,0}, + [I(226,228)] = {64,0}, + [I(227,228)] = {64,0}, + [I(228,228)] = {64,0}, + [I(229,228)] = {64,0}, + [I(230,228)] = {64,0}, + [I(231,228)] = {64,0}, + [I(232,228)] = {64,0}, + [I(233,228)] = {64,0}, + [I(234,228)] = {64,0}, + [I(235,228)] = {64,0}, + [I(236,228)] = {64,0}, + [I(237,228)] = {64,0}, + [I(238,228)] = {64,0}, + [I(239,228)] = {64,0}, + [I(240,228)] = {64,0}, + [I(241,228)] = {64,0}, + [I(242,228)] = {64,0}, + [I(243,228)] = {64,0}, + [I(244,228)] = {64,0}, + [I(245,228)] = {64,0}, + [I(246,228)] = {64,0}, + [I(247,228)] = {64,0}, + [I(248,228)] = {64,0}, + [I(249,228)] = {64,0}, + [I(250,228)] = {64,0}, + [I(251,228)] = {64,0}, + [I(252,228)] = {64,0}, + [I(253,228)] = {64,0}, + [I(254,228)] = {64,0}, + [I(255,228)] = {64,0}, + [I(0,229)] = {64,0}, + [I(1,229)] = {64,0}, + [I(2,229)] = {64,0}, + [I(3,229)] = {64,0}, + [I(4,229)] = {64,0}, + [I(5,229)] = {64,0}, + [I(6,229)] = {64,0}, + [I(7,229)] = {64,0}, + [I(8,229)] = {64,0}, + [I(9,229)] = {64,0}, + [I(10,229)] = {64,0}, + [I(11,229)] = {64,0}, + [I(12,229)] = {64,0}, + [I(13,229)] = {64,0}, + [I(14,229)] = {64,0}, + [I(15,229)] = {64,0}, + [I(16,229)] = {64,0}, + [I(17,229)] = {64,0}, + [I(18,229)] = {64,0}, + [I(19,229)] = {64,0}, + [I(20,229)] = {64,0}, + [I(21,229)] = {64,0}, + [I(22,229)] = {64,0}, + [I(23,229)] = {64,0}, + [I(24,229)] = {64,0}, + [I(25,229)] = {64,0}, + [I(26,229)] = {64,0}, + [I(27,229)] = {64,0}, + [I(28,229)] = {64,0}, + [I(29,229)] = {64,0}, + [I(30,229)] = {64,0}, + [I(31,229)] = {64,0}, + [I(32,229)] = {27,0x29FFFE7}, + [I(33,229)] = {31,0x7F1FFFE7}, + [I(34,229)] = {31,0x7F3FFFE7}, + [I(35,229)] = {64,0}, + [I(36,229)] = {64,0}, + [I(37,229)] = {27,0x2BFFFE7}, + [I(38,229)] = {29,0x1F1FFFE7}, + [I(39,229)] = {X32,0xFF5FFFE7}, + [I(40,229)] = {31,0x7F5FFFE7}, + [I(41,229)] = {31,0x7F7FFFE7}, + [I(42,229)] = {29,0x1F3FFFE7}, + [I(43,229)] = {X32,0xFF7FFFE7}, + [I(44,229)] = {29,0x1F5FFFE7}, + [I(45,229)] = {27,0x2DFFFE7}, + [I(46,229)] = {27,0x2FFFFE7}, + [I(47,229)] = {27,0x31FFFE7}, + [I(48,229)] = {26,0x1FFFE7}, + [I(49,229)] = {26,0x3FFFE7}, + [I(50,229)] = {26,0x5FFFE7}, + [I(51,229)] = {27,0x33FFFE7}, + [I(52,229)] = {27,0x35FFFE7}, + [I(53,229)] = {27,0x37FFFE7}, + [I(54,229)] = {27,0x39FFFE7}, + [I(55,229)] = {27,0x3BFFFE7}, + [I(56,229)] = {27,0x3DFFFE7}, + [I(57,229)] = {27,0x3FFFFE7}, + [I(58,229)] = {28,0xB9FFFE7}, + [I(59,229)] = {29,0x1F7FFFE7}, + [I(60,229)] = {64,0}, + [I(61,229)] = {27,0x41FFFE7}, + [I(62,229)] = {64,0}, + [I(63,229)] = {31,0x7F9FFFE7}, + [I(64,229)] = {64,0}, + [I(65,229)] = {27,0x43FFFE7}, + [I(66,229)] = {28,0xBBFFFE7}, + [I(67,229)] = {28,0xBDFFFE7}, + [I(68,229)] = {28,0xBFFFFE7}, + [I(69,229)] = {28,0xC1FFFE7}, + [I(70,229)] = {28,0xC3FFFE7}, + [I(71,229)] = {28,0xC5FFFE7}, + [I(72,229)] = {28,0xC7FFFE7}, + [I(73,229)] = {28,0xC9FFFE7}, + [I(74,229)] = {28,0xCBFFFE7}, + [I(75,229)] = {28,0xCDFFFE7}, + [I(76,229)] = {28,0xCFFFFE7}, + [I(77,229)] = {28,0xD1FFFE7}, + [I(78,229)] = {28,0xD3FFFE7}, + [I(79,229)] = {28,0xD5FFFE7}, + [I(80,229)] = {28,0xD7FFFE7}, + [I(81,229)] = {28,0xD9FFFE7}, + [I(82,229)] = {28,0xDBFFFE7}, + [I(83,229)] = {28,0xDDFFFE7}, + [I(84,229)] = {28,0xDFFFFE7}, + [I(85,229)] = {28,0xE1FFFE7}, + [I(86,229)] = {28,0xE3FFFE7}, + [I(87,229)] = {28,0xE5FFFE7}, + [I(88,229)] = {29,0x1F9FFFE7}, + [I(89,229)] = {28,0xE7FFFE7}, + [I(90,229)] = {29,0x1FBFFFE7}, + [I(91,229)] = {64,0}, + [I(92,229)] = {64,0}, + [I(93,229)] = {64,0}, + [I(94,229)] = {64,0}, + [I(95,229)] = {27,0x45FFFE7}, + [I(96,229)] = {64,0}, + [I(97,229)] = {26,0x7FFFE7}, + [I(98,229)] = {27,0x47FFFE7}, + [I(99,229)] = {26,0x9FFFE7}, + [I(100,229)] = {27,0x49FFFE7}, + [I(101,229)] = {26,0xBFFFE7}, + [I(102,229)] = {27,0x4BFFFE7}, + [I(103,229)] = {27,0x4DFFFE7}, + [I(104,229)] = {27,0x4FFFFE7}, + [I(105,229)] = {26,0xDFFFE7}, + [I(106,229)] = {28,0xE9FFFE7}, + [I(107,229)] = {28,0xEBFFFE7}, + [I(108,229)] = {27,0x51FFFE7}, + [I(109,229)] = {27,0x53FFFE7}, + [I(110,229)] = {27,0x55FFFE7}, + [I(111,229)] = {26,0xFFFFE7}, + [I(112,229)] = {27,0x57FFFE7}, + [I(113,229)] = {28,0xEDFFFE7}, + [I(114,229)] = {27,0x59FFFE7}, + [I(115,229)] = {26,0x11FFFE7}, + [I(116,229)] = {26,0x13FFFE7}, + [I(117,229)] = {27,0x5BFFFE7}, + [I(118,229)] = {28,0xEFFFFE7}, + [I(119,229)] = {28,0xF1FFFE7}, + [I(120,229)] = {28,0xF3FFFE7}, + [I(121,229)] = {28,0xF5FFFE7}, + [I(122,229)] = {28,0xF7FFFE7}, + [I(123,229)] = {64,0}, + [I(124,229)] = {X32,0xFF9FFFE7}, + [I(125,229)] = {64,0}, + [I(126,229)] = {64,0}, + [I(127,229)] = {64,0}, + [I(128,229)] = {64,0}, + [I(129,229)] = {64,0}, + [I(130,229)] = {64,0}, + [I(131,229)] = {64,0}, + [I(132,229)] = {64,0}, + [I(133,229)] = {64,0}, + [I(134,229)] = {64,0}, + [I(135,229)] = {64,0}, + [I(136,229)] = {64,0}, + [I(137,229)] = {64,0}, + [I(138,229)] = {64,0}, + [I(139,229)] = {64,0}, + [I(140,229)] = {64,0}, + [I(141,229)] = {64,0}, + [I(142,229)] = {64,0}, + [I(143,229)] = {64,0}, + [I(144,229)] = {64,0}, + [I(145,229)] = {64,0}, + [I(146,229)] = {64,0}, + [I(147,229)] = {64,0}, + [I(148,229)] = {64,0}, + [I(149,229)] = {64,0}, + [I(150,229)] = {64,0}, + [I(151,229)] = {64,0}, + [I(152,229)] = {64,0}, + [I(153,229)] = {64,0}, + [I(154,229)] = {64,0}, + [I(155,229)] = {64,0}, + [I(156,229)] = {64,0}, + [I(157,229)] = {64,0}, + [I(158,229)] = {64,0}, + [I(159,229)] = {64,0}, + [I(160,229)] = {64,0}, + [I(161,229)] = {64,0}, + [I(162,229)] = {64,0}, + [I(163,229)] = {64,0}, + [I(164,229)] = {64,0}, + [I(165,229)] = {64,0}, + [I(166,229)] = {64,0}, + [I(167,229)] = {64,0}, + [I(168,229)] = {64,0}, + [I(169,229)] = {64,0}, + [I(170,229)] = {64,0}, + [I(171,229)] = {64,0}, + [I(172,229)] = {64,0}, + [I(173,229)] = {64,0}, + [I(174,229)] = {64,0}, + [I(175,229)] = {64,0}, + [I(176,229)] = {64,0}, + [I(177,229)] = {64,0}, + [I(178,229)] = {64,0}, + [I(179,229)] = {64,0}, + [I(180,229)] = {64,0}, + [I(181,229)] = {64,0}, + [I(182,229)] = {64,0}, + [I(183,229)] = {64,0}, + [I(184,229)] = {64,0}, + [I(185,229)] = {64,0}, + [I(186,229)] = {64,0}, + [I(187,229)] = {64,0}, + [I(188,229)] = {64,0}, + [I(189,229)] = {64,0}, + [I(190,229)] = {64,0}, + [I(191,229)] = {64,0}, + [I(192,229)] = {64,0}, + [I(193,229)] = {64,0}, + [I(194,229)] = {64,0}, + [I(195,229)] = {64,0}, + [I(196,229)] = {64,0}, + [I(197,229)] = {64,0}, + [I(198,229)] = {64,0}, + [I(199,229)] = {64,0}, + [I(200,229)] = {64,0}, + [I(201,229)] = {64,0}, + [I(202,229)] = {64,0}, + [I(203,229)] = {64,0}, + [I(204,229)] = {64,0}, + [I(205,229)] = {64,0}, + [I(206,229)] = {64,0}, + [I(207,229)] = {64,0}, + [I(208,229)] = {64,0}, + [I(209,229)] = {64,0}, + [I(210,229)] = {64,0}, + [I(211,229)] = {64,0}, + [I(212,229)] = {64,0}, + [I(213,229)] = {64,0}, + [I(214,229)] = {64,0}, + [I(215,229)] = {64,0}, + [I(216,229)] = {64,0}, + [I(217,229)] = {64,0}, + [I(218,229)] = {64,0}, + [I(219,229)] = {64,0}, + [I(220,229)] = {64,0}, + [I(221,229)] = {64,0}, + [I(222,229)] = {64,0}, + [I(223,229)] = {64,0}, + [I(224,229)] = {64,0}, + [I(225,229)] = {64,0}, + [I(226,229)] = {64,0}, + [I(227,229)] = {64,0}, + [I(228,229)] = {64,0}, + [I(229,229)] = {64,0}, + [I(230,229)] = {64,0}, + [I(231,229)] = {64,0}, + [I(232,229)] = {64,0}, + [I(233,229)] = {64,0}, + [I(234,229)] = {64,0}, + [I(235,229)] = {64,0}, + [I(236,229)] = {64,0}, + [I(237,229)] = {64,0}, + [I(238,229)] = {64,0}, + [I(239,229)] = {64,0}, + [I(240,229)] = {64,0}, + [I(241,229)] = {64,0}, + [I(242,229)] = {64,0}, + [I(243,229)] = {64,0}, + [I(244,229)] = {64,0}, + [I(245,229)] = {64,0}, + [I(246,229)] = {64,0}, + [I(247,229)] = {64,0}, + [I(248,229)] = {64,0}, + [I(249,229)] = {64,0}, + [I(250,229)] = {64,0}, + [I(251,229)] = {64,0}, + [I(252,229)] = {64,0}, + [I(253,229)] = {64,0}, + [I(254,229)] = {64,0}, + [I(255,229)] = {64,0}, + [I(0,230)] = {64,0}, + [I(1,230)] = {64,0}, + [I(2,230)] = {64,0}, + [I(3,230)] = {64,0}, + [I(4,230)] = {64,0}, + [I(5,230)] = {64,0}, + [I(6,230)] = {64,0}, + [I(7,230)] = {64,0}, + [I(8,230)] = {64,0}, + [I(9,230)] = {64,0}, + [I(10,230)] = {64,0}, + [I(11,230)] = {64,0}, + [I(12,230)] = {64,0}, + [I(13,230)] = {64,0}, + [I(14,230)] = {64,0}, + [I(15,230)] = {64,0}, + [I(16,230)] = {64,0}, + [I(17,230)] = {64,0}, + [I(18,230)] = {64,0}, + [I(19,230)] = {64,0}, + [I(20,230)] = {64,0}, + [I(21,230)] = {64,0}, + [I(22,230)] = {64,0}, + [I(23,230)] = {64,0}, + [I(24,230)] = {64,0}, + [I(25,230)] = {64,0}, + [I(26,230)] = {64,0}, + [I(27,230)] = {64,0}, + [I(28,230)] = {64,0}, + [I(29,230)] = {64,0}, + [I(30,230)] = {64,0}, + [I(31,230)] = {64,0}, + [I(32,230)] = {27,0x29FFFE8}, + [I(33,230)] = {31,0x7F1FFFE8}, + [I(34,230)] = {31,0x7F3FFFE8}, + [I(35,230)] = {64,0}, + [I(36,230)] = {64,0}, + [I(37,230)] = {27,0x2BFFFE8}, + [I(38,230)] = {29,0x1F1FFFE8}, + [I(39,230)] = {X32,0xFF5FFFE8}, + [I(40,230)] = {31,0x7F5FFFE8}, + [I(41,230)] = {31,0x7F7FFFE8}, + [I(42,230)] = {29,0x1F3FFFE8}, + [I(43,230)] = {X32,0xFF7FFFE8}, + [I(44,230)] = {29,0x1F5FFFE8}, + [I(45,230)] = {27,0x2DFFFE8}, + [I(46,230)] = {27,0x2FFFFE8}, + [I(47,230)] = {27,0x31FFFE8}, + [I(48,230)] = {26,0x1FFFE8}, + [I(49,230)] = {26,0x3FFFE8}, + [I(50,230)] = {26,0x5FFFE8}, + [I(51,230)] = {27,0x33FFFE8}, + [I(52,230)] = {27,0x35FFFE8}, + [I(53,230)] = {27,0x37FFFE8}, + [I(54,230)] = {27,0x39FFFE8}, + [I(55,230)] = {27,0x3BFFFE8}, + [I(56,230)] = {27,0x3DFFFE8}, + [I(57,230)] = {27,0x3FFFFE8}, + [I(58,230)] = {28,0xB9FFFE8}, + [I(59,230)] = {29,0x1F7FFFE8}, + [I(60,230)] = {64,0}, + [I(61,230)] = {27,0x41FFFE8}, + [I(62,230)] = {64,0}, + [I(63,230)] = {31,0x7F9FFFE8}, + [I(64,230)] = {64,0}, + [I(65,230)] = {27,0x43FFFE8}, + [I(66,230)] = {28,0xBBFFFE8}, + [I(67,230)] = {28,0xBDFFFE8}, + [I(68,230)] = {28,0xBFFFFE8}, + [I(69,230)] = {28,0xC1FFFE8}, + [I(70,230)] = {28,0xC3FFFE8}, + [I(71,230)] = {28,0xC5FFFE8}, + [I(72,230)] = {28,0xC7FFFE8}, + [I(73,230)] = {28,0xC9FFFE8}, + [I(74,230)] = {28,0xCBFFFE8}, + [I(75,230)] = {28,0xCDFFFE8}, + [I(76,230)] = {28,0xCFFFFE8}, + [I(77,230)] = {28,0xD1FFFE8}, + [I(78,230)] = {28,0xD3FFFE8}, + [I(79,230)] = {28,0xD5FFFE8}, + [I(80,230)] = {28,0xD7FFFE8}, + [I(81,230)] = {28,0xD9FFFE8}, + [I(82,230)] = {28,0xDBFFFE8}, + [I(83,230)] = {28,0xDDFFFE8}, + [I(84,230)] = {28,0xDFFFFE8}, + [I(85,230)] = {28,0xE1FFFE8}, + [I(86,230)] = {28,0xE3FFFE8}, + [I(87,230)] = {28,0xE5FFFE8}, + [I(88,230)] = {29,0x1F9FFFE8}, + [I(89,230)] = {28,0xE7FFFE8}, + [I(90,230)] = {29,0x1FBFFFE8}, + [I(91,230)] = {64,0}, + [I(92,230)] = {64,0}, + [I(93,230)] = {64,0}, + [I(94,230)] = {64,0}, + [I(95,230)] = {27,0x45FFFE8}, + [I(96,230)] = {64,0}, + [I(97,230)] = {26,0x7FFFE8}, + [I(98,230)] = {27,0x47FFFE8}, + [I(99,230)] = {26,0x9FFFE8}, + [I(100,230)] = {27,0x49FFFE8}, + [I(101,230)] = {26,0xBFFFE8}, + [I(102,230)] = {27,0x4BFFFE8}, + [I(103,230)] = {27,0x4DFFFE8}, + [I(104,230)] = {27,0x4FFFFE8}, + [I(105,230)] = {26,0xDFFFE8}, + [I(106,230)] = {28,0xE9FFFE8}, + [I(107,230)] = {28,0xEBFFFE8}, + [I(108,230)] = {27,0x51FFFE8}, + [I(109,230)] = {27,0x53FFFE8}, + [I(110,230)] = {27,0x55FFFE8}, + [I(111,230)] = {26,0xFFFFE8}, + [I(112,230)] = {27,0x57FFFE8}, + [I(113,230)] = {28,0xEDFFFE8}, + [I(114,230)] = {27,0x59FFFE8}, + [I(115,230)] = {26,0x11FFFE8}, + [I(116,230)] = {26,0x13FFFE8}, + [I(117,230)] = {27,0x5BFFFE8}, + [I(118,230)] = {28,0xEFFFFE8}, + [I(119,230)] = {28,0xF1FFFE8}, + [I(120,230)] = {28,0xF3FFFE8}, + [I(121,230)] = {28,0xF5FFFE8}, + [I(122,230)] = {28,0xF7FFFE8}, + [I(123,230)] = {64,0}, + [I(124,230)] = {X32,0xFF9FFFE8}, + [I(125,230)] = {64,0}, + [I(126,230)] = {64,0}, + [I(127,230)] = {64,0}, + [I(128,230)] = {64,0}, + [I(129,230)] = {64,0}, + [I(130,230)] = {64,0}, + [I(131,230)] = {64,0}, + [I(132,230)] = {64,0}, + [I(133,230)] = {64,0}, + [I(134,230)] = {64,0}, + [I(135,230)] = {64,0}, + [I(136,230)] = {64,0}, + [I(137,230)] = {64,0}, + [I(138,230)] = {64,0}, + [I(139,230)] = {64,0}, + [I(140,230)] = {64,0}, + [I(141,230)] = {64,0}, + [I(142,230)] = {64,0}, + [I(143,230)] = {64,0}, + [I(144,230)] = {64,0}, + [I(145,230)] = {64,0}, + [I(146,230)] = {64,0}, + [I(147,230)] = {64,0}, + [I(148,230)] = {64,0}, + [I(149,230)] = {64,0}, + [I(150,230)] = {64,0}, + [I(151,230)] = {64,0}, + [I(152,230)] = {64,0}, + [I(153,230)] = {64,0}, + [I(154,230)] = {64,0}, + [I(155,230)] = {64,0}, + [I(156,230)] = {64,0}, + [I(157,230)] = {64,0}, + [I(158,230)] = {64,0}, + [I(159,230)] = {64,0}, + [I(160,230)] = {64,0}, + [I(161,230)] = {64,0}, + [I(162,230)] = {64,0}, + [I(163,230)] = {64,0}, + [I(164,230)] = {64,0}, + [I(165,230)] = {64,0}, + [I(166,230)] = {64,0}, + [I(167,230)] = {64,0}, + [I(168,230)] = {64,0}, + [I(169,230)] = {64,0}, + [I(170,230)] = {64,0}, + [I(171,230)] = {64,0}, + [I(172,230)] = {64,0}, + [I(173,230)] = {64,0}, + [I(174,230)] = {64,0}, + [I(175,230)] = {64,0}, + [I(176,230)] = {64,0}, + [I(177,230)] = {64,0}, + [I(178,230)] = {64,0}, + [I(179,230)] = {64,0}, + [I(180,230)] = {64,0}, + [I(181,230)] = {64,0}, + [I(182,230)] = {64,0}, + [I(183,230)] = {64,0}, + [I(184,230)] = {64,0}, + [I(185,230)] = {64,0}, + [I(186,230)] = {64,0}, + [I(187,230)] = {64,0}, + [I(188,230)] = {64,0}, + [I(189,230)] = {64,0}, + [I(190,230)] = {64,0}, + [I(191,230)] = {64,0}, + [I(192,230)] = {64,0}, + [I(193,230)] = {64,0}, + [I(194,230)] = {64,0}, + [I(195,230)] = {64,0}, + [I(196,230)] = {64,0}, + [I(197,230)] = {64,0}, + [I(198,230)] = {64,0}, + [I(199,230)] = {64,0}, + [I(200,230)] = {64,0}, + [I(201,230)] = {64,0}, + [I(202,230)] = {64,0}, + [I(203,230)] = {64,0}, + [I(204,230)] = {64,0}, + [I(205,230)] = {64,0}, + [I(206,230)] = {64,0}, + [I(207,230)] = {64,0}, + [I(208,230)] = {64,0}, + [I(209,230)] = {64,0}, + [I(210,230)] = {64,0}, + [I(211,230)] = {64,0}, + [I(212,230)] = {64,0}, + [I(213,230)] = {64,0}, + [I(214,230)] = {64,0}, + [I(215,230)] = {64,0}, + [I(216,230)] = {64,0}, + [I(217,230)] = {64,0}, + [I(218,230)] = {64,0}, + [I(219,230)] = {64,0}, + [I(220,230)] = {64,0}, + [I(221,230)] = {64,0}, + [I(222,230)] = {64,0}, + [I(223,230)] = {64,0}, + [I(224,230)] = {64,0}, + [I(225,230)] = {64,0}, + [I(226,230)] = {64,0}, + [I(227,230)] = {64,0}, + [I(228,230)] = {64,0}, + [I(229,230)] = {64,0}, + [I(230,230)] = {64,0}, + [I(231,230)] = {64,0}, + [I(232,230)] = {64,0}, + [I(233,230)] = {64,0}, + [I(234,230)] = {64,0}, + [I(235,230)] = {64,0}, + [I(236,230)] = {64,0}, + [I(237,230)] = {64,0}, + [I(238,230)] = {64,0}, + [I(239,230)] = {64,0}, + [I(240,230)] = {64,0}, + [I(241,230)] = {64,0}, + [I(242,230)] = {64,0}, + [I(243,230)] = {64,0}, + [I(244,230)] = {64,0}, + [I(245,230)] = {64,0}, + [I(246,230)] = {64,0}, + [I(247,230)] = {64,0}, + [I(248,230)] = {64,0}, + [I(249,230)] = {64,0}, + [I(250,230)] = {64,0}, + [I(251,230)] = {64,0}, + [I(252,230)] = {64,0}, + [I(253,230)] = {64,0}, + [I(254,230)] = {64,0}, + [I(255,230)] = {64,0}, + [I(0,231)] = {64,0}, + [I(1,231)] = {64,0}, + [I(2,231)] = {64,0}, + [I(3,231)] = {64,0}, + [I(4,231)] = {64,0}, + [I(5,231)] = {64,0}, + [I(6,231)] = {64,0}, + [I(7,231)] = {64,0}, + [I(8,231)] = {64,0}, + [I(9,231)] = {64,0}, + [I(10,231)] = {64,0}, + [I(11,231)] = {64,0}, + [I(12,231)] = {64,0}, + [I(13,231)] = {64,0}, + [I(14,231)] = {64,0}, + [I(15,231)] = {64,0}, + [I(16,231)] = {64,0}, + [I(17,231)] = {64,0}, + [I(18,231)] = {64,0}, + [I(19,231)] = {64,0}, + [I(20,231)] = {64,0}, + [I(21,231)] = {64,0}, + [I(22,231)] = {64,0}, + [I(23,231)] = {64,0}, + [I(24,231)] = {64,0}, + [I(25,231)] = {64,0}, + [I(26,231)] = {64,0}, + [I(27,231)] = {64,0}, + [I(28,231)] = {64,0}, + [I(29,231)] = {64,0}, + [I(30,231)] = {64,0}, + [I(31,231)] = {64,0}, + [I(32,231)] = {29,0xA7FFFF3}, + [I(33,231)] = {64,0}, + [I(34,231)] = {64,0}, + [I(35,231)] = {64,0}, + [I(36,231)] = {64,0}, + [I(37,231)] = {29,0xAFFFFF3}, + [I(38,231)] = {31,0x7C7FFFF3}, + [I(39,231)] = {64,0}, + [I(40,231)] = {64,0}, + [I(41,231)] = {64,0}, + [I(42,231)] = {31,0x7CFFFFF3}, + [I(43,231)] = {64,0}, + [I(44,231)] = {31,0x7D7FFFF3}, + [I(45,231)] = {29,0xB7FFFF3}, + [I(46,231)] = {29,0xBFFFFF3}, + [I(47,231)] = {29,0xC7FFFF3}, + [I(48,231)] = {28,0x7FFFF3}, + [I(49,231)] = {28,0xFFFFF3}, + [I(50,231)] = {28,0x17FFFF3}, + [I(51,231)] = {29,0xCFFFFF3}, + [I(52,231)] = {29,0xD7FFFF3}, + [I(53,231)] = {29,0xDFFFFF3}, + [I(54,231)] = {29,0xE7FFFF3}, + [I(55,231)] = {29,0xEFFFFF3}, + [I(56,231)] = {29,0xF7FFFF3}, + [I(57,231)] = {29,0xFFFFFF3}, + [I(58,231)] = {30,0x2E7FFFF3}, + [I(59,231)] = {31,0x7DFFFFF3}, + [I(60,231)] = {64,0}, + [I(61,231)] = {29,0x107FFFF3}, + [I(62,231)] = {64,0}, + [I(63,231)] = {64,0}, + [I(64,231)] = {64,0}, + [I(65,231)] = {29,0x10FFFFF3}, + [I(66,231)] = {30,0x2EFFFFF3}, + [I(67,231)] = {30,0x2F7FFFF3}, + [I(68,231)] = {30,0x2FFFFFF3}, + [I(69,231)] = {30,0x307FFFF3}, + [I(70,231)] = {30,0x30FFFFF3}, + [I(71,231)] = {30,0x317FFFF3}, + [I(72,231)] = {30,0x31FFFFF3}, + [I(73,231)] = {30,0x327FFFF3}, + [I(74,231)] = {30,0x32FFFFF3}, + [I(75,231)] = {30,0x337FFFF3}, + [I(76,231)] = {30,0x33FFFFF3}, + [I(77,231)] = {30,0x347FFFF3}, + [I(78,231)] = {30,0x34FFFFF3}, + [I(79,231)] = {30,0x357FFFF3}, + [I(80,231)] = {30,0x35FFFFF3}, + [I(81,231)] = {30,0x367FFFF3}, + [I(82,231)] = {30,0x36FFFFF3}, + [I(83,231)] = {30,0x377FFFF3}, + [I(84,231)] = {30,0x37FFFFF3}, + [I(85,231)] = {30,0x387FFFF3}, + [I(86,231)] = {30,0x38FFFFF3}, + [I(87,231)] = {30,0x397FFFF3}, + [I(88,231)] = {31,0x7E7FFFF3}, + [I(89,231)] = {30,0x39FFFFF3}, + [I(90,231)] = {31,0x7EFFFFF3}, + [I(91,231)] = {64,0}, + [I(92,231)] = {64,0}, + [I(93,231)] = {64,0}, + [I(94,231)] = {64,0}, + [I(95,231)] = {29,0x117FFFF3}, + [I(96,231)] = {64,0}, + [I(97,231)] = {28,0x1FFFFF3}, + [I(98,231)] = {29,0x11FFFFF3}, + [I(99,231)] = {28,0x27FFFF3}, + [I(100,231)] = {29,0x127FFFF3}, + [I(101,231)] = {28,0x2FFFFF3}, + [I(102,231)] = {29,0x12FFFFF3}, + [I(103,231)] = {29,0x137FFFF3}, + [I(104,231)] = {29,0x13FFFFF3}, + [I(105,231)] = {28,0x37FFFF3}, + [I(106,231)] = {30,0x3A7FFFF3}, + [I(107,231)] = {30,0x3AFFFFF3}, + [I(108,231)] = {29,0x147FFFF3}, + [I(109,231)] = {29,0x14FFFFF3}, + [I(110,231)] = {29,0x157FFFF3}, + [I(111,231)] = {28,0x3FFFFF3}, + [I(112,231)] = {29,0x15FFFFF3}, + [I(113,231)] = {30,0x3B7FFFF3}, + [I(114,231)] = {29,0x167FFFF3}, + [I(115,231)] = {28,0x47FFFF3}, + [I(116,231)] = {28,0x4FFFFF3}, + [I(117,231)] = {29,0x16FFFFF3}, + [I(118,231)] = {30,0x3BFFFFF3}, + [I(119,231)] = {30,0x3C7FFFF3}, + [I(120,231)] = {30,0x3CFFFFF3}, + [I(121,231)] = {30,0x3D7FFFF3}, + [I(122,231)] = {30,0x3DFFFFF3}, + [I(123,231)] = {64,0}, + [I(124,231)] = {64,0}, + [I(125,231)] = {64,0}, + [I(126,231)] = {64,0}, + [I(127,231)] = {64,0}, + [I(128,231)] = {64,0}, + [I(129,231)] = {64,0}, + [I(130,231)] = {64,0}, + [I(131,231)] = {64,0}, + [I(132,231)] = {64,0}, + [I(133,231)] = {64,0}, + [I(134,231)] = {64,0}, + [I(135,231)] = {64,0}, + [I(136,231)] = {64,0}, + [I(137,231)] = {64,0}, + [I(138,231)] = {64,0}, + [I(139,231)] = {64,0}, + [I(140,231)] = {64,0}, + [I(141,231)] = {64,0}, + [I(142,231)] = {64,0}, + [I(143,231)] = {64,0}, + [I(144,231)] = {64,0}, + [I(145,231)] = {64,0}, + [I(146,231)] = {64,0}, + [I(147,231)] = {64,0}, + [I(148,231)] = {64,0}, + [I(149,231)] = {64,0}, + [I(150,231)] = {64,0}, + [I(151,231)] = {64,0}, + [I(152,231)] = {64,0}, + [I(153,231)] = {64,0}, + [I(154,231)] = {64,0}, + [I(155,231)] = {64,0}, + [I(156,231)] = {64,0}, + [I(157,231)] = {64,0}, + [I(158,231)] = {64,0}, + [I(159,231)] = {64,0}, + [I(160,231)] = {64,0}, + [I(161,231)] = {64,0}, + [I(162,231)] = {64,0}, + [I(163,231)] = {64,0}, + [I(164,231)] = {64,0}, + [I(165,231)] = {64,0}, + [I(166,231)] = {64,0}, + [I(167,231)] = {64,0}, + [I(168,231)] = {64,0}, + [I(169,231)] = {64,0}, + [I(170,231)] = {64,0}, + [I(171,231)] = {64,0}, + [I(172,231)] = {64,0}, + [I(173,231)] = {64,0}, + [I(174,231)] = {64,0}, + [I(175,231)] = {64,0}, + [I(176,231)] = {64,0}, + [I(177,231)] = {64,0}, + [I(178,231)] = {64,0}, + [I(179,231)] = {64,0}, + [I(180,231)] = {64,0}, + [I(181,231)] = {64,0}, + [I(182,231)] = {64,0}, + [I(183,231)] = {64,0}, + [I(184,231)] = {64,0}, + [I(185,231)] = {64,0}, + [I(186,231)] = {64,0}, + [I(187,231)] = {64,0}, + [I(188,231)] = {64,0}, + [I(189,231)] = {64,0}, + [I(190,231)] = {64,0}, + [I(191,231)] = {64,0}, + [I(192,231)] = {64,0}, + [I(193,231)] = {64,0}, + [I(194,231)] = {64,0}, + [I(195,231)] = {64,0}, + [I(196,231)] = {64,0}, + [I(197,231)] = {64,0}, + [I(198,231)] = {64,0}, + [I(199,231)] = {64,0}, + [I(200,231)] = {64,0}, + [I(201,231)] = {64,0}, + [I(202,231)] = {64,0}, + [I(203,231)] = {64,0}, + [I(204,231)] = {64,0}, + [I(205,231)] = {64,0}, + [I(206,231)] = {64,0}, + [I(207,231)] = {64,0}, + [I(208,231)] = {64,0}, + [I(209,231)] = {64,0}, + [I(210,231)] = {64,0}, + [I(211,231)] = {64,0}, + [I(212,231)] = {64,0}, + [I(213,231)] = {64,0}, + [I(214,231)] = {64,0}, + [I(215,231)] = {64,0}, + [I(216,231)] = {64,0}, + [I(217,231)] = {64,0}, + [I(218,231)] = {64,0}, + [I(219,231)] = {64,0}, + [I(220,231)] = {64,0}, + [I(221,231)] = {64,0}, + [I(222,231)] = {64,0}, + [I(223,231)] = {64,0}, + [I(224,231)] = {64,0}, + [I(225,231)] = {64,0}, + [I(226,231)] = {64,0}, + [I(227,231)] = {64,0}, + [I(228,231)] = {64,0}, + [I(229,231)] = {64,0}, + [I(230,231)] = {64,0}, + [I(231,231)] = {64,0}, + [I(232,231)] = {64,0}, + [I(233,231)] = {64,0}, + [I(234,231)] = {64,0}, + [I(235,231)] = {64,0}, + [I(236,231)] = {64,0}, + [I(237,231)] = {64,0}, + [I(238,231)] = {64,0}, + [I(239,231)] = {64,0}, + [I(240,231)] = {64,0}, + [I(241,231)] = {64,0}, + [I(242,231)] = {64,0}, + [I(243,231)] = {64,0}, + [I(244,231)] = {64,0}, + [I(245,231)] = {64,0}, + [I(246,231)] = {64,0}, + [I(247,231)] = {64,0}, + [I(248,231)] = {64,0}, + [I(249,231)] = {64,0}, + [I(250,231)] = {64,0}, + [I(251,231)] = {64,0}, + [I(252,231)] = {64,0}, + [I(253,231)] = {64,0}, + [I(254,231)] = {64,0}, + [I(255,231)] = {64,0}, + [I(0,232)] = {64,0}, + [I(1,232)] = {64,0}, + [I(2,232)] = {64,0}, + [I(3,232)] = {64,0}, + [I(4,232)] = {64,0}, + [I(5,232)] = {64,0}, + [I(6,232)] = {64,0}, + [I(7,232)] = {64,0}, + [I(8,232)] = {64,0}, + [I(9,232)] = {64,0}, + [I(10,232)] = {64,0}, + [I(11,232)] = {64,0}, + [I(12,232)] = {64,0}, + [I(13,232)] = {64,0}, + [I(14,232)] = {64,0}, + [I(15,232)] = {64,0}, + [I(16,232)] = {64,0}, + [I(17,232)] = {64,0}, + [I(18,232)] = {64,0}, + [I(19,232)] = {64,0}, + [I(20,232)] = {64,0}, + [I(21,232)] = {64,0}, + [I(22,232)] = {64,0}, + [I(23,232)] = {64,0}, + [I(24,232)] = {64,0}, + [I(25,232)] = {64,0}, + [I(26,232)] = {64,0}, + [I(27,232)] = {64,0}, + [I(28,232)] = {64,0}, + [I(29,232)] = {64,0}, + [I(30,232)] = {64,0}, + [I(31,232)] = {64,0}, + [I(32,232)] = {28,0x53FFFEA}, + [I(33,232)] = {X32,0xFE3FFFEA}, + [I(34,232)] = {X32,0xFE7FFFEA}, + [I(35,232)] = {64,0}, + [I(36,232)] = {64,0}, + [I(37,232)] = {28,0x57FFFEA}, + [I(38,232)] = {30,0x3E3FFFEA}, + [I(39,232)] = {64,0}, + [I(40,232)] = {X32,0xFEBFFFEA}, + [I(41,232)] = {X32,0xFEFFFFEA}, + [I(42,232)] = {30,0x3E7FFFEA}, + [I(43,232)] = {64,0}, + [I(44,232)] = {30,0x3EBFFFEA}, + [I(45,232)] = {28,0x5BFFFEA}, + [I(46,232)] = {28,0x5FFFFEA}, + [I(47,232)] = {28,0x63FFFEA}, + [I(48,232)] = {27,0x3FFFEA}, + [I(49,232)] = {27,0x7FFFEA}, + [I(50,232)] = {27,0xBFFFEA}, + [I(51,232)] = {28,0x67FFFEA}, + [I(52,232)] = {28,0x6BFFFEA}, + [I(53,232)] = {28,0x6FFFFEA}, + [I(54,232)] = {28,0x73FFFEA}, + [I(55,232)] = {28,0x77FFFEA}, + [I(56,232)] = {28,0x7BFFFEA}, + [I(57,232)] = {28,0x7FFFFEA}, + [I(58,232)] = {29,0x173FFFEA}, + [I(59,232)] = {30,0x3EFFFFEA}, + [I(60,232)] = {64,0}, + [I(61,232)] = {28,0x83FFFEA}, + [I(62,232)] = {64,0}, + [I(63,232)] = {X32,0xFF3FFFEA}, + [I(64,232)] = {64,0}, + [I(65,232)] = {28,0x87FFFEA}, + [I(66,232)] = {29,0x177FFFEA}, + [I(67,232)] = {29,0x17BFFFEA}, + [I(68,232)] = {29,0x17FFFFEA}, + [I(69,232)] = {29,0x183FFFEA}, + [I(70,232)] = {29,0x187FFFEA}, + [I(71,232)] = {29,0x18BFFFEA}, + [I(72,232)] = {29,0x18FFFFEA}, + [I(73,232)] = {29,0x193FFFEA}, + [I(74,232)] = {29,0x197FFFEA}, + [I(75,232)] = {29,0x19BFFFEA}, + [I(76,232)] = {29,0x19FFFFEA}, + [I(77,232)] = {29,0x1A3FFFEA}, + [I(78,232)] = {29,0x1A7FFFEA}, + [I(79,232)] = {29,0x1ABFFFEA}, + [I(80,232)] = {29,0x1AFFFFEA}, + [I(81,232)] = {29,0x1B3FFFEA}, + [I(82,232)] = {29,0x1B7FFFEA}, + [I(83,232)] = {29,0x1BBFFFEA}, + [I(84,232)] = {29,0x1BFFFFEA}, + [I(85,232)] = {29,0x1C3FFFEA}, + [I(86,232)] = {29,0x1C7FFFEA}, + [I(87,232)] = {29,0x1CBFFFEA}, + [I(88,232)] = {30,0x3F3FFFEA}, + [I(89,232)] = {29,0x1CFFFFEA}, + [I(90,232)] = {30,0x3F7FFFEA}, + [I(91,232)] = {64,0}, + [I(92,232)] = {64,0}, + [I(93,232)] = {64,0}, + [I(94,232)] = {64,0}, + [I(95,232)] = {28,0x8BFFFEA}, + [I(96,232)] = {64,0}, + [I(97,232)] = {27,0xFFFFEA}, + [I(98,232)] = {28,0x8FFFFEA}, + [I(99,232)] = {27,0x13FFFEA}, + [I(100,232)] = {28,0x93FFFEA}, + [I(101,232)] = {27,0x17FFFEA}, + [I(102,232)] = {28,0x97FFFEA}, + [I(103,232)] = {28,0x9BFFFEA}, + [I(104,232)] = {28,0x9FFFFEA}, + [I(105,232)] = {27,0x1BFFFEA}, + [I(106,232)] = {29,0x1D3FFFEA}, + [I(107,232)] = {29,0x1D7FFFEA}, + [I(108,232)] = {28,0xA3FFFEA}, + [I(109,232)] = {28,0xA7FFFEA}, + [I(110,232)] = {28,0xABFFFEA}, + [I(111,232)] = {27,0x1FFFFEA}, + [I(112,232)] = {28,0xAFFFFEA}, + [I(113,232)] = {29,0x1DBFFFEA}, + [I(114,232)] = {28,0xB3FFFEA}, + [I(115,232)] = {27,0x23FFFEA}, + [I(116,232)] = {27,0x27FFFEA}, + [I(117,232)] = {28,0xB7FFFEA}, + [I(118,232)] = {29,0x1DFFFFEA}, + [I(119,232)] = {29,0x1E3FFFEA}, + [I(120,232)] = {29,0x1E7FFFEA}, + [I(121,232)] = {29,0x1EBFFFEA}, + [I(122,232)] = {29,0x1EFFFFEA}, + [I(123,232)] = {64,0}, + [I(124,232)] = {64,0}, + [I(125,232)] = {64,0}, + [I(126,232)] = {64,0}, + [I(127,232)] = {64,0}, + [I(128,232)] = {64,0}, + [I(129,232)] = {64,0}, + [I(130,232)] = {64,0}, + [I(131,232)] = {64,0}, + [I(132,232)] = {64,0}, + [I(133,232)] = {64,0}, + [I(134,232)] = {64,0}, + [I(135,232)] = {64,0}, + [I(136,232)] = {64,0}, + [I(137,232)] = {64,0}, + [I(138,232)] = {64,0}, + [I(139,232)] = {64,0}, + [I(140,232)] = {64,0}, + [I(141,232)] = {64,0}, + [I(142,232)] = {64,0}, + [I(143,232)] = {64,0}, + [I(144,232)] = {64,0}, + [I(145,232)] = {64,0}, + [I(146,232)] = {64,0}, + [I(147,232)] = {64,0}, + [I(148,232)] = {64,0}, + [I(149,232)] = {64,0}, + [I(150,232)] = {64,0}, + [I(151,232)] = {64,0}, + [I(152,232)] = {64,0}, + [I(153,232)] = {64,0}, + [I(154,232)] = {64,0}, + [I(155,232)] = {64,0}, + [I(156,232)] = {64,0}, + [I(157,232)] = {64,0}, + [I(158,232)] = {64,0}, + [I(159,232)] = {64,0}, + [I(160,232)] = {64,0}, + [I(161,232)] = {64,0}, + [I(162,232)] = {64,0}, + [I(163,232)] = {64,0}, + [I(164,232)] = {64,0}, + [I(165,232)] = {64,0}, + [I(166,232)] = {64,0}, + [I(167,232)] = {64,0}, + [I(168,232)] = {64,0}, + [I(169,232)] = {64,0}, + [I(170,232)] = {64,0}, + [I(171,232)] = {64,0}, + [I(172,232)] = {64,0}, + [I(173,232)] = {64,0}, + [I(174,232)] = {64,0}, + [I(175,232)] = {64,0}, + [I(176,232)] = {64,0}, + [I(177,232)] = {64,0}, + [I(178,232)] = {64,0}, + [I(179,232)] = {64,0}, + [I(180,232)] = {64,0}, + [I(181,232)] = {64,0}, + [I(182,232)] = {64,0}, + [I(183,232)] = {64,0}, + [I(184,232)] = {64,0}, + [I(185,232)] = {64,0}, + [I(186,232)] = {64,0}, + [I(187,232)] = {64,0}, + [I(188,232)] = {64,0}, + [I(189,232)] = {64,0}, + [I(190,232)] = {64,0}, + [I(191,232)] = {64,0}, + [I(192,232)] = {64,0}, + [I(193,232)] = {64,0}, + [I(194,232)] = {64,0}, + [I(195,232)] = {64,0}, + [I(196,232)] = {64,0}, + [I(197,232)] = {64,0}, + [I(198,232)] = {64,0}, + [I(199,232)] = {64,0}, + [I(200,232)] = {64,0}, + [I(201,232)] = {64,0}, + [I(202,232)] = {64,0}, + [I(203,232)] = {64,0}, + [I(204,232)] = {64,0}, + [I(205,232)] = {64,0}, + [I(206,232)] = {64,0}, + [I(207,232)] = {64,0}, + [I(208,232)] = {64,0}, + [I(209,232)] = {64,0}, + [I(210,232)] = {64,0}, + [I(211,232)] = {64,0}, + [I(212,232)] = {64,0}, + [I(213,232)] = {64,0}, + [I(214,232)] = {64,0}, + [I(215,232)] = {64,0}, + [I(216,232)] = {64,0}, + [I(217,232)] = {64,0}, + [I(218,232)] = {64,0}, + [I(219,232)] = {64,0}, + [I(220,232)] = {64,0}, + [I(221,232)] = {64,0}, + [I(222,232)] = {64,0}, + [I(223,232)] = {64,0}, + [I(224,232)] = {64,0}, + [I(225,232)] = {64,0}, + [I(226,232)] = {64,0}, + [I(227,232)] = {64,0}, + [I(228,232)] = {64,0}, + [I(229,232)] = {64,0}, + [I(230,232)] = {64,0}, + [I(231,232)] = {64,0}, + [I(232,232)] = {64,0}, + [I(233,232)] = {64,0}, + [I(234,232)] = {64,0}, + [I(235,232)] = {64,0}, + [I(236,232)] = {64,0}, + [I(237,232)] = {64,0}, + [I(238,232)] = {64,0}, + [I(239,232)] = {64,0}, + [I(240,232)] = {64,0}, + [I(241,232)] = {64,0}, + [I(242,232)] = {64,0}, + [I(243,232)] = {64,0}, + [I(244,232)] = {64,0}, + [I(245,232)] = {64,0}, + [I(246,232)] = {64,0}, + [I(247,232)] = {64,0}, + [I(248,232)] = {64,0}, + [I(249,232)] = {64,0}, + [I(250,232)] = {64,0}, + [I(251,232)] = {64,0}, + [I(252,232)] = {64,0}, + [I(253,232)] = {64,0}, + [I(254,232)] = {64,0}, + [I(255,232)] = {64,0}, + [I(0,233)] = {64,0}, + [I(1,233)] = {64,0}, + [I(2,233)] = {64,0}, + [I(3,233)] = {64,0}, + [I(4,233)] = {64,0}, + [I(5,233)] = {64,0}, + [I(6,233)] = {64,0}, + [I(7,233)] = {64,0}, + [I(8,233)] = {64,0}, + [I(9,233)] = {64,0}, + [I(10,233)] = {64,0}, + [I(11,233)] = {64,0}, + [I(12,233)] = {64,0}, + [I(13,233)] = {64,0}, + [I(14,233)] = {64,0}, + [I(15,233)] = {64,0}, + [I(16,233)] = {64,0}, + [I(17,233)] = {64,0}, + [I(18,233)] = {64,0}, + [I(19,233)] = {64,0}, + [I(20,233)] = {64,0}, + [I(21,233)] = {64,0}, + [I(22,233)] = {64,0}, + [I(23,233)] = {64,0}, + [I(24,233)] = {64,0}, + [I(25,233)] = {64,0}, + [I(26,233)] = {64,0}, + [I(27,233)] = {64,0}, + [I(28,233)] = {64,0}, + [I(29,233)] = {64,0}, + [I(30,233)] = {64,0}, + [I(31,233)] = {64,0}, + [I(32,233)] = {28,0x53FFFEB}, + [I(33,233)] = {X32,0xFE3FFFEB}, + [I(34,233)] = {X32,0xFE7FFFEB}, + [I(35,233)] = {64,0}, + [I(36,233)] = {64,0}, + [I(37,233)] = {28,0x57FFFEB}, + [I(38,233)] = {30,0x3E3FFFEB}, + [I(39,233)] = {64,0}, + [I(40,233)] = {X32,0xFEBFFFEB}, + [I(41,233)] = {X32,0xFEFFFFEB}, + [I(42,233)] = {30,0x3E7FFFEB}, + [I(43,233)] = {64,0}, + [I(44,233)] = {30,0x3EBFFFEB}, + [I(45,233)] = {28,0x5BFFFEB}, + [I(46,233)] = {28,0x5FFFFEB}, + [I(47,233)] = {28,0x63FFFEB}, + [I(48,233)] = {27,0x3FFFEB}, + [I(49,233)] = {27,0x7FFFEB}, + [I(50,233)] = {27,0xBFFFEB}, + [I(51,233)] = {28,0x67FFFEB}, + [I(52,233)] = {28,0x6BFFFEB}, + [I(53,233)] = {28,0x6FFFFEB}, + [I(54,233)] = {28,0x73FFFEB}, + [I(55,233)] = {28,0x77FFFEB}, + [I(56,233)] = {28,0x7BFFFEB}, + [I(57,233)] = {28,0x7FFFFEB}, + [I(58,233)] = {29,0x173FFFEB}, + [I(59,233)] = {30,0x3EFFFFEB}, + [I(60,233)] = {64,0}, + [I(61,233)] = {28,0x83FFFEB}, + [I(62,233)] = {64,0}, + [I(63,233)] = {X32,0xFF3FFFEB}, + [I(64,233)] = {64,0}, + [I(65,233)] = {28,0x87FFFEB}, + [I(66,233)] = {29,0x177FFFEB}, + [I(67,233)] = {29,0x17BFFFEB}, + [I(68,233)] = {29,0x17FFFFEB}, + [I(69,233)] = {29,0x183FFFEB}, + [I(70,233)] = {29,0x187FFFEB}, + [I(71,233)] = {29,0x18BFFFEB}, + [I(72,233)] = {29,0x18FFFFEB}, + [I(73,233)] = {29,0x193FFFEB}, + [I(74,233)] = {29,0x197FFFEB}, + [I(75,233)] = {29,0x19BFFFEB}, + [I(76,233)] = {29,0x19FFFFEB}, + [I(77,233)] = {29,0x1A3FFFEB}, + [I(78,233)] = {29,0x1A7FFFEB}, + [I(79,233)] = {29,0x1ABFFFEB}, + [I(80,233)] = {29,0x1AFFFFEB}, + [I(81,233)] = {29,0x1B3FFFEB}, + [I(82,233)] = {29,0x1B7FFFEB}, + [I(83,233)] = {29,0x1BBFFFEB}, + [I(84,233)] = {29,0x1BFFFFEB}, + [I(85,233)] = {29,0x1C3FFFEB}, + [I(86,233)] = {29,0x1C7FFFEB}, + [I(87,233)] = {29,0x1CBFFFEB}, + [I(88,233)] = {30,0x3F3FFFEB}, + [I(89,233)] = {29,0x1CFFFFEB}, + [I(90,233)] = {30,0x3F7FFFEB}, + [I(91,233)] = {64,0}, + [I(92,233)] = {64,0}, + [I(93,233)] = {64,0}, + [I(94,233)] = {64,0}, + [I(95,233)] = {28,0x8BFFFEB}, + [I(96,233)] = {64,0}, + [I(97,233)] = {27,0xFFFFEB}, + [I(98,233)] = {28,0x8FFFFEB}, + [I(99,233)] = {27,0x13FFFEB}, + [I(100,233)] = {28,0x93FFFEB}, + [I(101,233)] = {27,0x17FFFEB}, + [I(102,233)] = {28,0x97FFFEB}, + [I(103,233)] = {28,0x9BFFFEB}, + [I(104,233)] = {28,0x9FFFFEB}, + [I(105,233)] = {27,0x1BFFFEB}, + [I(106,233)] = {29,0x1D3FFFEB}, + [I(107,233)] = {29,0x1D7FFFEB}, + [I(108,233)] = {28,0xA3FFFEB}, + [I(109,233)] = {28,0xA7FFFEB}, + [I(110,233)] = {28,0xABFFFEB}, + [I(111,233)] = {27,0x1FFFFEB}, + [I(112,233)] = {28,0xAFFFFEB}, + [I(113,233)] = {29,0x1DBFFFEB}, + [I(114,233)] = {28,0xB3FFFEB}, + [I(115,233)] = {27,0x23FFFEB}, + [I(116,233)] = {27,0x27FFFEB}, + [I(117,233)] = {28,0xB7FFFEB}, + [I(118,233)] = {29,0x1DFFFFEB}, + [I(119,233)] = {29,0x1E3FFFEB}, + [I(120,233)] = {29,0x1E7FFFEB}, + [I(121,233)] = {29,0x1EBFFFEB}, + [I(122,233)] = {29,0x1EFFFFEB}, + [I(123,233)] = {64,0}, + [I(124,233)] = {64,0}, + [I(125,233)] = {64,0}, + [I(126,233)] = {64,0}, + [I(127,233)] = {64,0}, + [I(128,233)] = {64,0}, + [I(129,233)] = {64,0}, + [I(130,233)] = {64,0}, + [I(131,233)] = {64,0}, + [I(132,233)] = {64,0}, + [I(133,233)] = {64,0}, + [I(134,233)] = {64,0}, + [I(135,233)] = {64,0}, + [I(136,233)] = {64,0}, + [I(137,233)] = {64,0}, + [I(138,233)] = {64,0}, + [I(139,233)] = {64,0}, + [I(140,233)] = {64,0}, + [I(141,233)] = {64,0}, + [I(142,233)] = {64,0}, + [I(143,233)] = {64,0}, + [I(144,233)] = {64,0}, + [I(145,233)] = {64,0}, + [I(146,233)] = {64,0}, + [I(147,233)] = {64,0}, + [I(148,233)] = {64,0}, + [I(149,233)] = {64,0}, + [I(150,233)] = {64,0}, + [I(151,233)] = {64,0}, + [I(152,233)] = {64,0}, + [I(153,233)] = {64,0}, + [I(154,233)] = {64,0}, + [I(155,233)] = {64,0}, + [I(156,233)] = {64,0}, + [I(157,233)] = {64,0}, + [I(158,233)] = {64,0}, + [I(159,233)] = {64,0}, + [I(160,233)] = {64,0}, + [I(161,233)] = {64,0}, + [I(162,233)] = {64,0}, + [I(163,233)] = {64,0}, + [I(164,233)] = {64,0}, + [I(165,233)] = {64,0}, + [I(166,233)] = {64,0}, + [I(167,233)] = {64,0}, + [I(168,233)] = {64,0}, + [I(169,233)] = {64,0}, + [I(170,233)] = {64,0}, + [I(171,233)] = {64,0}, + [I(172,233)] = {64,0}, + [I(173,233)] = {64,0}, + [I(174,233)] = {64,0}, + [I(175,233)] = {64,0}, + [I(176,233)] = {64,0}, + [I(177,233)] = {64,0}, + [I(178,233)] = {64,0}, + [I(179,233)] = {64,0}, + [I(180,233)] = {64,0}, + [I(181,233)] = {64,0}, + [I(182,233)] = {64,0}, + [I(183,233)] = {64,0}, + [I(184,233)] = {64,0}, + [I(185,233)] = {64,0}, + [I(186,233)] = {64,0}, + [I(187,233)] = {64,0}, + [I(188,233)] = {64,0}, + [I(189,233)] = {64,0}, + [I(190,233)] = {64,0}, + [I(191,233)] = {64,0}, + [I(192,233)] = {64,0}, + [I(193,233)] = {64,0}, + [I(194,233)] = {64,0}, + [I(195,233)] = {64,0}, + [I(196,233)] = {64,0}, + [I(197,233)] = {64,0}, + [I(198,233)] = {64,0}, + [I(199,233)] = {64,0}, + [I(200,233)] = {64,0}, + [I(201,233)] = {64,0}, + [I(202,233)] = {64,0}, + [I(203,233)] = {64,0}, + [I(204,233)] = {64,0}, + [I(205,233)] = {64,0}, + [I(206,233)] = {64,0}, + [I(207,233)] = {64,0}, + [I(208,233)] = {64,0}, + [I(209,233)] = {64,0}, + [I(210,233)] = {64,0}, + [I(211,233)] = {64,0}, + [I(212,233)] = {64,0}, + [I(213,233)] = {64,0}, + [I(214,233)] = {64,0}, + [I(215,233)] = {64,0}, + [I(216,233)] = {64,0}, + [I(217,233)] = {64,0}, + [I(218,233)] = {64,0}, + [I(219,233)] = {64,0}, + [I(220,233)] = {64,0}, + [I(221,233)] = {64,0}, + [I(222,233)] = {64,0}, + [I(223,233)] = {64,0}, + [I(224,233)] = {64,0}, + [I(225,233)] = {64,0}, + [I(226,233)] = {64,0}, + [I(227,233)] = {64,0}, + [I(228,233)] = {64,0}, + [I(229,233)] = {64,0}, + [I(230,233)] = {64,0}, + [I(231,233)] = {64,0}, + [I(232,233)] = {64,0}, + [I(233,233)] = {64,0}, + [I(234,233)] = {64,0}, + [I(235,233)] = {64,0}, + [I(236,233)] = {64,0}, + [I(237,233)] = {64,0}, + [I(238,233)] = {64,0}, + [I(239,233)] = {64,0}, + [I(240,233)] = {64,0}, + [I(241,233)] = {64,0}, + [I(242,233)] = {64,0}, + [I(243,233)] = {64,0}, + [I(244,233)] = {64,0}, + [I(245,233)] = {64,0}, + [I(246,233)] = {64,0}, + [I(247,233)] = {64,0}, + [I(248,233)] = {64,0}, + [I(249,233)] = {64,0}, + [I(250,233)] = {64,0}, + [I(251,233)] = {64,0}, + [I(252,233)] = {64,0}, + [I(253,233)] = {64,0}, + [I(254,233)] = {64,0}, + [I(255,233)] = {64,0}, + [I(0,234)] = {64,0}, + [I(1,234)] = {64,0}, + [I(2,234)] = {64,0}, + [I(3,234)] = {64,0}, + [I(4,234)] = {64,0}, + [I(5,234)] = {64,0}, + [I(6,234)] = {64,0}, + [I(7,234)] = {64,0}, + [I(8,234)] = {64,0}, + [I(9,234)] = {64,0}, + [I(10,234)] = {64,0}, + [I(11,234)] = {64,0}, + [I(12,234)] = {64,0}, + [I(13,234)] = {64,0}, + [I(14,234)] = {64,0}, + [I(15,234)] = {64,0}, + [I(16,234)] = {64,0}, + [I(17,234)] = {64,0}, + [I(18,234)] = {64,0}, + [I(19,234)] = {64,0}, + [I(20,234)] = {64,0}, + [I(21,234)] = {64,0}, + [I(22,234)] = {64,0}, + [I(23,234)] = {64,0}, + [I(24,234)] = {64,0}, + [I(25,234)] = {64,0}, + [I(26,234)] = {64,0}, + [I(27,234)] = {64,0}, + [I(28,234)] = {64,0}, + [I(29,234)] = {64,0}, + [I(30,234)] = {64,0}, + [I(31,234)] = {64,0}, + [I(32,234)] = {31,0x29FFFFEE}, + [I(33,234)] = {64,0}, + [I(34,234)] = {64,0}, + [I(35,234)] = {64,0}, + [I(36,234)] = {64,0}, + [I(37,234)] = {31,0x2BFFFFEE}, + [I(38,234)] = {64,0}, + [I(39,234)] = {64,0}, + [I(40,234)] = {64,0}, + [I(41,234)] = {64,0}, + [I(42,234)] = {64,0}, + [I(43,234)] = {64,0}, + [I(44,234)] = {64,0}, + [I(45,234)] = {31,0x2DFFFFEE}, + [I(46,234)] = {31,0x2FFFFFEE}, + [I(47,234)] = {31,0x31FFFFEE}, + [I(48,234)] = {30,0x1FFFFEE}, + [I(49,234)] = {30,0x3FFFFEE}, + [I(50,234)] = {30,0x5FFFFEE}, + [I(51,234)] = {31,0x33FFFFEE}, + [I(52,234)] = {31,0x35FFFFEE}, + [I(53,234)] = {31,0x37FFFFEE}, + [I(54,234)] = {31,0x39FFFFEE}, + [I(55,234)] = {31,0x3BFFFFEE}, + [I(56,234)] = {31,0x3DFFFFEE}, + [I(57,234)] = {31,0x3FFFFFEE}, + [I(58,234)] = {X32,0xB9FFFFEE}, + [I(59,234)] = {64,0}, + [I(60,234)] = {64,0}, + [I(61,234)] = {31,0x41FFFFEE}, + [I(62,234)] = {64,0}, + [I(63,234)] = {64,0}, + [I(64,234)] = {64,0}, + [I(65,234)] = {31,0x43FFFFEE}, + [I(66,234)] = {X32,0xBBFFFFEE}, + [I(67,234)] = {X32,0xBDFFFFEE}, + [I(68,234)] = {X32,0xBFFFFFEE}, + [I(69,234)] = {X32,0xC1FFFFEE}, + [I(70,234)] = {X32,0xC3FFFFEE}, + [I(71,234)] = {X32,0xC5FFFFEE}, + [I(72,234)] = {X32,0xC7FFFFEE}, + [I(73,234)] = {X32,0xC9FFFFEE}, + [I(74,234)] = {X32,0xCBFFFFEE}, + [I(75,234)] = {X32,0xCDFFFFEE}, + [I(76,234)] = {X32,0xCFFFFFEE}, + [I(77,234)] = {X32,0xD1FFFFEE}, + [I(78,234)] = {X32,0xD3FFFFEE}, + [I(79,234)] = {X32,0xD5FFFFEE}, + [I(80,234)] = {X32,0xD7FFFFEE}, + [I(81,234)] = {X32,0xD9FFFFEE}, + [I(82,234)] = {X32,0xDBFFFFEE}, + [I(83,234)] = {X32,0xDDFFFFEE}, + [I(84,234)] = {X32,0xDFFFFFEE}, + [I(85,234)] = {X32,0xE1FFFFEE}, + [I(86,234)] = {X32,0xE3FFFFEE}, + [I(87,234)] = {X32,0xE5FFFFEE}, + [I(88,234)] = {64,0}, + [I(89,234)] = {X32,0xE7FFFFEE}, + [I(90,234)] = {64,0}, + [I(91,234)] = {64,0}, + [I(92,234)] = {64,0}, + [I(93,234)] = {64,0}, + [I(94,234)] = {64,0}, + [I(95,234)] = {31,0x45FFFFEE}, + [I(96,234)] = {64,0}, + [I(97,234)] = {30,0x7FFFFEE}, + [I(98,234)] = {31,0x47FFFFEE}, + [I(99,234)] = {30,0x9FFFFEE}, + [I(100,234)] = {31,0x49FFFFEE}, + [I(101,234)] = {30,0xBFFFFEE}, + [I(102,234)] = {31,0x4BFFFFEE}, + [I(103,234)] = {31,0x4DFFFFEE}, + [I(104,234)] = {31,0x4FFFFFEE}, + [I(105,234)] = {30,0xDFFFFEE}, + [I(106,234)] = {X32,0xE9FFFFEE}, + [I(107,234)] = {X32,0xEBFFFFEE}, + [I(108,234)] = {31,0x51FFFFEE}, + [I(109,234)] = {31,0x53FFFFEE}, + [I(110,234)] = {31,0x55FFFFEE}, + [I(111,234)] = {30,0xFFFFFEE}, + [I(112,234)] = {31,0x57FFFFEE}, + [I(113,234)] = {X32,0xEDFFFFEE}, + [I(114,234)] = {31,0x59FFFFEE}, + [I(115,234)] = {30,0x11FFFFEE}, + [I(116,234)] = {30,0x13FFFFEE}, + [I(117,234)] = {31,0x5BFFFFEE}, + [I(118,234)] = {X32,0xEFFFFFEE}, + [I(119,234)] = {X32,0xF1FFFFEE}, + [I(120,234)] = {X32,0xF3FFFFEE}, + [I(121,234)] = {X32,0xF5FFFFEE}, + [I(122,234)] = {X32,0xF7FFFFEE}, + [I(123,234)] = {64,0}, + [I(124,234)] = {64,0}, + [I(125,234)] = {64,0}, + [I(126,234)] = {64,0}, + [I(127,234)] = {64,0}, + [I(128,234)] = {64,0}, + [I(129,234)] = {64,0}, + [I(130,234)] = {64,0}, + [I(131,234)] = {64,0}, + [I(132,234)] = {64,0}, + [I(133,234)] = {64,0}, + [I(134,234)] = {64,0}, + [I(135,234)] = {64,0}, + [I(136,234)] = {64,0}, + [I(137,234)] = {64,0}, + [I(138,234)] = {64,0}, + [I(139,234)] = {64,0}, + [I(140,234)] = {64,0}, + [I(141,234)] = {64,0}, + [I(142,234)] = {64,0}, + [I(143,234)] = {64,0}, + [I(144,234)] = {64,0}, + [I(145,234)] = {64,0}, + [I(146,234)] = {64,0}, + [I(147,234)] = {64,0}, + [I(148,234)] = {64,0}, + [I(149,234)] = {64,0}, + [I(150,234)] = {64,0}, + [I(151,234)] = {64,0}, + [I(152,234)] = {64,0}, + [I(153,234)] = {64,0}, + [I(154,234)] = {64,0}, + [I(155,234)] = {64,0}, + [I(156,234)] = {64,0}, + [I(157,234)] = {64,0}, + [I(158,234)] = {64,0}, + [I(159,234)] = {64,0}, + [I(160,234)] = {64,0}, + [I(161,234)] = {64,0}, + [I(162,234)] = {64,0}, + [I(163,234)] = {64,0}, + [I(164,234)] = {64,0}, + [I(165,234)] = {64,0}, + [I(166,234)] = {64,0}, + [I(167,234)] = {64,0}, + [I(168,234)] = {64,0}, + [I(169,234)] = {64,0}, + [I(170,234)] = {64,0}, + [I(171,234)] = {64,0}, + [I(172,234)] = {64,0}, + [I(173,234)] = {64,0}, + [I(174,234)] = {64,0}, + [I(175,234)] = {64,0}, + [I(176,234)] = {64,0}, + [I(177,234)] = {64,0}, + [I(178,234)] = {64,0}, + [I(179,234)] = {64,0}, + [I(180,234)] = {64,0}, + [I(181,234)] = {64,0}, + [I(182,234)] = {64,0}, + [I(183,234)] = {64,0}, + [I(184,234)] = {64,0}, + [I(185,234)] = {64,0}, + [I(186,234)] = {64,0}, + [I(187,234)] = {64,0}, + [I(188,234)] = {64,0}, + [I(189,234)] = {64,0}, + [I(190,234)] = {64,0}, + [I(191,234)] = {64,0}, + [I(192,234)] = {64,0}, + [I(193,234)] = {64,0}, + [I(194,234)] = {64,0}, + [I(195,234)] = {64,0}, + [I(196,234)] = {64,0}, + [I(197,234)] = {64,0}, + [I(198,234)] = {64,0}, + [I(199,234)] = {64,0}, + [I(200,234)] = {64,0}, + [I(201,234)] = {64,0}, + [I(202,234)] = {64,0}, + [I(203,234)] = {64,0}, + [I(204,234)] = {64,0}, + [I(205,234)] = {64,0}, + [I(206,234)] = {64,0}, + [I(207,234)] = {64,0}, + [I(208,234)] = {64,0}, + [I(209,234)] = {64,0}, + [I(210,234)] = {64,0}, + [I(211,234)] = {64,0}, + [I(212,234)] = {64,0}, + [I(213,234)] = {64,0}, + [I(214,234)] = {64,0}, + [I(215,234)] = {64,0}, + [I(216,234)] = {64,0}, + [I(217,234)] = {64,0}, + [I(218,234)] = {64,0}, + [I(219,234)] = {64,0}, + [I(220,234)] = {64,0}, + [I(221,234)] = {64,0}, + [I(222,234)] = {64,0}, + [I(223,234)] = {64,0}, + [I(224,234)] = {64,0}, + [I(225,234)] = {64,0}, + [I(226,234)] = {64,0}, + [I(227,234)] = {64,0}, + [I(228,234)] = {64,0}, + [I(229,234)] = {64,0}, + [I(230,234)] = {64,0}, + [I(231,234)] = {64,0}, + [I(232,234)] = {64,0}, + [I(233,234)] = {64,0}, + [I(234,234)] = {64,0}, + [I(235,234)] = {64,0}, + [I(236,234)] = {64,0}, + [I(237,234)] = {64,0}, + [I(238,234)] = {64,0}, + [I(239,234)] = {64,0}, + [I(240,234)] = {64,0}, + [I(241,234)] = {64,0}, + [I(242,234)] = {64,0}, + [I(243,234)] = {64,0}, + [I(244,234)] = {64,0}, + [I(245,234)] = {64,0}, + [I(246,234)] = {64,0}, + [I(247,234)] = {64,0}, + [I(248,234)] = {64,0}, + [I(249,234)] = {64,0}, + [I(250,234)] = {64,0}, + [I(251,234)] = {64,0}, + [I(252,234)] = {64,0}, + [I(253,234)] = {64,0}, + [I(254,234)] = {64,0}, + [I(255,234)] = {64,0}, + [I(0,235)] = {64,0}, + [I(1,235)] = {64,0}, + [I(2,235)] = {64,0}, + [I(3,235)] = {64,0}, + [I(4,235)] = {64,0}, + [I(5,235)] = {64,0}, + [I(6,235)] = {64,0}, + [I(7,235)] = {64,0}, + [I(8,235)] = {64,0}, + [I(9,235)] = {64,0}, + [I(10,235)] = {64,0}, + [I(11,235)] = {64,0}, + [I(12,235)] = {64,0}, + [I(13,235)] = {64,0}, + [I(14,235)] = {64,0}, + [I(15,235)] = {64,0}, + [I(16,235)] = {64,0}, + [I(17,235)] = {64,0}, + [I(18,235)] = {64,0}, + [I(19,235)] = {64,0}, + [I(20,235)] = {64,0}, + [I(21,235)] = {64,0}, + [I(22,235)] = {64,0}, + [I(23,235)] = {64,0}, + [I(24,235)] = {64,0}, + [I(25,235)] = {64,0}, + [I(26,235)] = {64,0}, + [I(27,235)] = {64,0}, + [I(28,235)] = {64,0}, + [I(29,235)] = {64,0}, + [I(30,235)] = {64,0}, + [I(31,235)] = {64,0}, + [I(32,235)] = {31,0x29FFFFEF}, + [I(33,235)] = {64,0}, + [I(34,235)] = {64,0}, + [I(35,235)] = {64,0}, + [I(36,235)] = {64,0}, + [I(37,235)] = {31,0x2BFFFFEF}, + [I(38,235)] = {64,0}, + [I(39,235)] = {64,0}, + [I(40,235)] = {64,0}, + [I(41,235)] = {64,0}, + [I(42,235)] = {64,0}, + [I(43,235)] = {64,0}, + [I(44,235)] = {64,0}, + [I(45,235)] = {31,0x2DFFFFEF}, + [I(46,235)] = {31,0x2FFFFFEF}, + [I(47,235)] = {31,0x31FFFFEF}, + [I(48,235)] = {30,0x1FFFFEF}, + [I(49,235)] = {30,0x3FFFFEF}, + [I(50,235)] = {30,0x5FFFFEF}, + [I(51,235)] = {31,0x33FFFFEF}, + [I(52,235)] = {31,0x35FFFFEF}, + [I(53,235)] = {31,0x37FFFFEF}, + [I(54,235)] = {31,0x39FFFFEF}, + [I(55,235)] = {31,0x3BFFFFEF}, + [I(56,235)] = {31,0x3DFFFFEF}, + [I(57,235)] = {31,0x3FFFFFEF}, + [I(58,235)] = {X32,0xB9FFFFEF}, + [I(59,235)] = {64,0}, + [I(60,235)] = {64,0}, + [I(61,235)] = {31,0x41FFFFEF}, + [I(62,235)] = {64,0}, + [I(63,235)] = {64,0}, + [I(64,235)] = {64,0}, + [I(65,235)] = {31,0x43FFFFEF}, + [I(66,235)] = {X32,0xBBFFFFEF}, + [I(67,235)] = {X32,0xBDFFFFEF}, + [I(68,235)] = {X32,0xBFFFFFEF}, + [I(69,235)] = {X32,0xC1FFFFEF}, + [I(70,235)] = {X32,0xC3FFFFEF}, + [I(71,235)] = {X32,0xC5FFFFEF}, + [I(72,235)] = {X32,0xC7FFFFEF}, + [I(73,235)] = {X32,0xC9FFFFEF}, + [I(74,235)] = {X32,0xCBFFFFEF}, + [I(75,235)] = {X32,0xCDFFFFEF}, + [I(76,235)] = {X32,0xCFFFFFEF}, + [I(77,235)] = {X32,0xD1FFFFEF}, + [I(78,235)] = {X32,0xD3FFFFEF}, + [I(79,235)] = {X32,0xD5FFFFEF}, + [I(80,235)] = {X32,0xD7FFFFEF}, + [I(81,235)] = {X32,0xD9FFFFEF}, + [I(82,235)] = {X32,0xDBFFFFEF}, + [I(83,235)] = {X32,0xDDFFFFEF}, + [I(84,235)] = {X32,0xDFFFFFEF}, + [I(85,235)] = {X32,0xE1FFFFEF}, + [I(86,235)] = {X32,0xE3FFFFEF}, + [I(87,235)] = {X32,0xE5FFFFEF}, + [I(88,235)] = {64,0}, + [I(89,235)] = {X32,0xE7FFFFEF}, + [I(90,235)] = {64,0}, + [I(91,235)] = {64,0}, + [I(92,235)] = {64,0}, + [I(93,235)] = {64,0}, + [I(94,235)] = {64,0}, + [I(95,235)] = {31,0x45FFFFEF}, + [I(96,235)] = {64,0}, + [I(97,235)] = {30,0x7FFFFEF}, + [I(98,235)] = {31,0x47FFFFEF}, + [I(99,235)] = {30,0x9FFFFEF}, + [I(100,235)] = {31,0x49FFFFEF}, + [I(101,235)] = {30,0xBFFFFEF}, + [I(102,235)] = {31,0x4BFFFFEF}, + [I(103,235)] = {31,0x4DFFFFEF}, + [I(104,235)] = {31,0x4FFFFFEF}, + [I(105,235)] = {30,0xDFFFFEF}, + [I(106,235)] = {X32,0xE9FFFFEF}, + [I(107,235)] = {X32,0xEBFFFFEF}, + [I(108,235)] = {31,0x51FFFFEF}, + [I(109,235)] = {31,0x53FFFFEF}, + [I(110,235)] = {31,0x55FFFFEF}, + [I(111,235)] = {30,0xFFFFFEF}, + [I(112,235)] = {31,0x57FFFFEF}, + [I(113,235)] = {X32,0xEDFFFFEF}, + [I(114,235)] = {31,0x59FFFFEF}, + [I(115,235)] = {30,0x11FFFFEF}, + [I(116,235)] = {30,0x13FFFFEF}, + [I(117,235)] = {31,0x5BFFFFEF}, + [I(118,235)] = {X32,0xEFFFFFEF}, + [I(119,235)] = {X32,0xF1FFFFEF}, + [I(120,235)] = {X32,0xF3FFFFEF}, + [I(121,235)] = {X32,0xF5FFFFEF}, + [I(122,235)] = {X32,0xF7FFFFEF}, + [I(123,235)] = {64,0}, + [I(124,235)] = {64,0}, + [I(125,235)] = {64,0}, + [I(126,235)] = {64,0}, + [I(127,235)] = {64,0}, + [I(128,235)] = {64,0}, + [I(129,235)] = {64,0}, + [I(130,235)] = {64,0}, + [I(131,235)] = {64,0}, + [I(132,235)] = {64,0}, + [I(133,235)] = {64,0}, + [I(134,235)] = {64,0}, + [I(135,235)] = {64,0}, + [I(136,235)] = {64,0}, + [I(137,235)] = {64,0}, + [I(138,235)] = {64,0}, + [I(139,235)] = {64,0}, + [I(140,235)] = {64,0}, + [I(141,235)] = {64,0}, + [I(142,235)] = {64,0}, + [I(143,235)] = {64,0}, + [I(144,235)] = {64,0}, + [I(145,235)] = {64,0}, + [I(146,235)] = {64,0}, + [I(147,235)] = {64,0}, + [I(148,235)] = {64,0}, + [I(149,235)] = {64,0}, + [I(150,235)] = {64,0}, + [I(151,235)] = {64,0}, + [I(152,235)] = {64,0}, + [I(153,235)] = {64,0}, + [I(154,235)] = {64,0}, + [I(155,235)] = {64,0}, + [I(156,235)] = {64,0}, + [I(157,235)] = {64,0}, + [I(158,235)] = {64,0}, + [I(159,235)] = {64,0}, + [I(160,235)] = {64,0}, + [I(161,235)] = {64,0}, + [I(162,235)] = {64,0}, + [I(163,235)] = {64,0}, + [I(164,235)] = {64,0}, + [I(165,235)] = {64,0}, + [I(166,235)] = {64,0}, + [I(167,235)] = {64,0}, + [I(168,235)] = {64,0}, + [I(169,235)] = {64,0}, + [I(170,235)] = {64,0}, + [I(171,235)] = {64,0}, + [I(172,235)] = {64,0}, + [I(173,235)] = {64,0}, + [I(174,235)] = {64,0}, + [I(175,235)] = {64,0}, + [I(176,235)] = {64,0}, + [I(177,235)] = {64,0}, + [I(178,235)] = {64,0}, + [I(179,235)] = {64,0}, + [I(180,235)] = {64,0}, + [I(181,235)] = {64,0}, + [I(182,235)] = {64,0}, + [I(183,235)] = {64,0}, + [I(184,235)] = {64,0}, + [I(185,235)] = {64,0}, + [I(186,235)] = {64,0}, + [I(187,235)] = {64,0}, + [I(188,235)] = {64,0}, + [I(189,235)] = {64,0}, + [I(190,235)] = {64,0}, + [I(191,235)] = {64,0}, + [I(192,235)] = {64,0}, + [I(193,235)] = {64,0}, + [I(194,235)] = {64,0}, + [I(195,235)] = {64,0}, + [I(196,235)] = {64,0}, + [I(197,235)] = {64,0}, + [I(198,235)] = {64,0}, + [I(199,235)] = {64,0}, + [I(200,235)] = {64,0}, + [I(201,235)] = {64,0}, + [I(202,235)] = {64,0}, + [I(203,235)] = {64,0}, + [I(204,235)] = {64,0}, + [I(205,235)] = {64,0}, + [I(206,235)] = {64,0}, + [I(207,235)] = {64,0}, + [I(208,235)] = {64,0}, + [I(209,235)] = {64,0}, + [I(210,235)] = {64,0}, + [I(211,235)] = {64,0}, + [I(212,235)] = {64,0}, + [I(213,235)] = {64,0}, + [I(214,235)] = {64,0}, + [I(215,235)] = {64,0}, + [I(216,235)] = {64,0}, + [I(217,235)] = {64,0}, + [I(218,235)] = {64,0}, + [I(219,235)] = {64,0}, + [I(220,235)] = {64,0}, + [I(221,235)] = {64,0}, + [I(222,235)] = {64,0}, + [I(223,235)] = {64,0}, + [I(224,235)] = {64,0}, + [I(225,235)] = {64,0}, + [I(226,235)] = {64,0}, + [I(227,235)] = {64,0}, + [I(228,235)] = {64,0}, + [I(229,235)] = {64,0}, + [I(230,235)] = {64,0}, + [I(231,235)] = {64,0}, + [I(232,235)] = {64,0}, + [I(233,235)] = {64,0}, + [I(234,235)] = {64,0}, + [I(235,235)] = {64,0}, + [I(236,235)] = {64,0}, + [I(237,235)] = {64,0}, + [I(238,235)] = {64,0}, + [I(239,235)] = {64,0}, + [I(240,235)] = {64,0}, + [I(241,235)] = {64,0}, + [I(242,235)] = {64,0}, + [I(243,235)] = {64,0}, + [I(244,235)] = {64,0}, + [I(245,235)] = {64,0}, + [I(246,235)] = {64,0}, + [I(247,235)] = {64,0}, + [I(248,235)] = {64,0}, + [I(249,235)] = {64,0}, + [I(250,235)] = {64,0}, + [I(251,235)] = {64,0}, + [I(252,235)] = {64,0}, + [I(253,235)] = {64,0}, + [I(254,235)] = {64,0}, + [I(255,235)] = {64,0}, + [I(0,236)] = {64,0}, + [I(1,236)] = {64,0}, + [I(2,236)] = {64,0}, + [I(3,236)] = {64,0}, + [I(4,236)] = {64,0}, + [I(5,236)] = {64,0}, + [I(6,236)] = {64,0}, + [I(7,236)] = {64,0}, + [I(8,236)] = {64,0}, + [I(9,236)] = {64,0}, + [I(10,236)] = {64,0}, + [I(11,236)] = {64,0}, + [I(12,236)] = {64,0}, + [I(13,236)] = {64,0}, + [I(14,236)] = {64,0}, + [I(15,236)] = {64,0}, + [I(16,236)] = {64,0}, + [I(17,236)] = {64,0}, + [I(18,236)] = {64,0}, + [I(19,236)] = {64,0}, + [I(20,236)] = {64,0}, + [I(21,236)] = {64,0}, + [I(22,236)] = {64,0}, + [I(23,236)] = {64,0}, + [I(24,236)] = {64,0}, + [I(25,236)] = {64,0}, + [I(26,236)] = {64,0}, + [I(27,236)] = {64,0}, + [I(28,236)] = {64,0}, + [I(29,236)] = {64,0}, + [I(30,236)] = {64,0}, + [I(31,236)] = {64,0}, + [I(32,236)] = {30,0x14FFFFF4}, + [I(33,236)] = {64,0}, + [I(34,236)] = {64,0}, + [I(35,236)] = {64,0}, + [I(36,236)] = {64,0}, + [I(37,236)] = {30,0x15FFFFF4}, + [I(38,236)] = {X32,0xF8FFFFF4}, + [I(39,236)] = {64,0}, + [I(40,236)] = {64,0}, + [I(41,236)] = {64,0}, + [I(42,236)] = {X32,0xF9FFFFF4}, + [I(43,236)] = {64,0}, + [I(44,236)] = {X32,0xFAFFFFF4}, + [I(45,236)] = {30,0x16FFFFF4}, + [I(46,236)] = {30,0x17FFFFF4}, + [I(47,236)] = {30,0x18FFFFF4}, + [I(48,236)] = {29,0xFFFFF4}, + [I(49,236)] = {29,0x1FFFFF4}, + [I(50,236)] = {29,0x2FFFFF4}, + [I(51,236)] = {30,0x19FFFFF4}, + [I(52,236)] = {30,0x1AFFFFF4}, + [I(53,236)] = {30,0x1BFFFFF4}, + [I(54,236)] = {30,0x1CFFFFF4}, + [I(55,236)] = {30,0x1DFFFFF4}, + [I(56,236)] = {30,0x1EFFFFF4}, + [I(57,236)] = {30,0x1FFFFFF4}, + [I(58,236)] = {31,0x5CFFFFF4}, + [I(59,236)] = {X32,0xFBFFFFF4}, + [I(60,236)] = {64,0}, + [I(61,236)] = {30,0x20FFFFF4}, + [I(62,236)] = {64,0}, + [I(63,236)] = {64,0}, + [I(64,236)] = {64,0}, + [I(65,236)] = {30,0x21FFFFF4}, + [I(66,236)] = {31,0x5DFFFFF4}, + [I(67,236)] = {31,0x5EFFFFF4}, + [I(68,236)] = {31,0x5FFFFFF4}, + [I(69,236)] = {31,0x60FFFFF4}, + [I(70,236)] = {31,0x61FFFFF4}, + [I(71,236)] = {31,0x62FFFFF4}, + [I(72,236)] = {31,0x63FFFFF4}, + [I(73,236)] = {31,0x64FFFFF4}, + [I(74,236)] = {31,0x65FFFFF4}, + [I(75,236)] = {31,0x66FFFFF4}, + [I(76,236)] = {31,0x67FFFFF4}, + [I(77,236)] = {31,0x68FFFFF4}, + [I(78,236)] = {31,0x69FFFFF4}, + [I(79,236)] = {31,0x6AFFFFF4}, + [I(80,236)] = {31,0x6BFFFFF4}, + [I(81,236)] = {31,0x6CFFFFF4}, + [I(82,236)] = {31,0x6DFFFFF4}, + [I(83,236)] = {31,0x6EFFFFF4}, + [I(84,236)] = {31,0x6FFFFFF4}, + [I(85,236)] = {31,0x70FFFFF4}, + [I(86,236)] = {31,0x71FFFFF4}, + [I(87,236)] = {31,0x72FFFFF4}, + [I(88,236)] = {X32,0xFCFFFFF4}, + [I(89,236)] = {31,0x73FFFFF4}, + [I(90,236)] = {X32,0xFDFFFFF4}, + [I(91,236)] = {64,0}, + [I(92,236)] = {64,0}, + [I(93,236)] = {64,0}, + [I(94,236)] = {64,0}, + [I(95,236)] = {30,0x22FFFFF4}, + [I(96,236)] = {64,0}, + [I(97,236)] = {29,0x3FFFFF4}, + [I(98,236)] = {30,0x23FFFFF4}, + [I(99,236)] = {29,0x4FFFFF4}, + [I(100,236)] = {30,0x24FFFFF4}, + [I(101,236)] = {29,0x5FFFFF4}, + [I(102,236)] = {30,0x25FFFFF4}, + [I(103,236)] = {30,0x26FFFFF4}, + [I(104,236)] = {30,0x27FFFFF4}, + [I(105,236)] = {29,0x6FFFFF4}, + [I(106,236)] = {31,0x74FFFFF4}, + [I(107,236)] = {31,0x75FFFFF4}, + [I(108,236)] = {30,0x28FFFFF4}, + [I(109,236)] = {30,0x29FFFFF4}, + [I(110,236)] = {30,0x2AFFFFF4}, + [I(111,236)] = {29,0x7FFFFF4}, + [I(112,236)] = {30,0x2BFFFFF4}, + [I(113,236)] = {31,0x76FFFFF4}, + [I(114,236)] = {30,0x2CFFFFF4}, + [I(115,236)] = {29,0x8FFFFF4}, + [I(116,236)] = {29,0x9FFFFF4}, + [I(117,236)] = {30,0x2DFFFFF4}, + [I(118,236)] = {31,0x77FFFFF4}, + [I(119,236)] = {31,0x78FFFFF4}, + [I(120,236)] = {31,0x79FFFFF4}, + [I(121,236)] = {31,0x7AFFFFF4}, + [I(122,236)] = {31,0x7BFFFFF4}, + [I(123,236)] = {64,0}, + [I(124,236)] = {64,0}, + [I(125,236)] = {64,0}, + [I(126,236)] = {64,0}, + [I(127,236)] = {64,0}, + [I(128,236)] = {64,0}, + [I(129,236)] = {64,0}, + [I(130,236)] = {64,0}, + [I(131,236)] = {64,0}, + [I(132,236)] = {64,0}, + [I(133,236)] = {64,0}, + [I(134,236)] = {64,0}, + [I(135,236)] = {64,0}, + [I(136,236)] = {64,0}, + [I(137,236)] = {64,0}, + [I(138,236)] = {64,0}, + [I(139,236)] = {64,0}, + [I(140,236)] = {64,0}, + [I(141,236)] = {64,0}, + [I(142,236)] = {64,0}, + [I(143,236)] = {64,0}, + [I(144,236)] = {64,0}, + [I(145,236)] = {64,0}, + [I(146,236)] = {64,0}, + [I(147,236)] = {64,0}, + [I(148,236)] = {64,0}, + [I(149,236)] = {64,0}, + [I(150,236)] = {64,0}, + [I(151,236)] = {64,0}, + [I(152,236)] = {64,0}, + [I(153,236)] = {64,0}, + [I(154,236)] = {64,0}, + [I(155,236)] = {64,0}, + [I(156,236)] = {64,0}, + [I(157,236)] = {64,0}, + [I(158,236)] = {64,0}, + [I(159,236)] = {64,0}, + [I(160,236)] = {64,0}, + [I(161,236)] = {64,0}, + [I(162,236)] = {64,0}, + [I(163,236)] = {64,0}, + [I(164,236)] = {64,0}, + [I(165,236)] = {64,0}, + [I(166,236)] = {64,0}, + [I(167,236)] = {64,0}, + [I(168,236)] = {64,0}, + [I(169,236)] = {64,0}, + [I(170,236)] = {64,0}, + [I(171,236)] = {64,0}, + [I(172,236)] = {64,0}, + [I(173,236)] = {64,0}, + [I(174,236)] = {64,0}, + [I(175,236)] = {64,0}, + [I(176,236)] = {64,0}, + [I(177,236)] = {64,0}, + [I(178,236)] = {64,0}, + [I(179,236)] = {64,0}, + [I(180,236)] = {64,0}, + [I(181,236)] = {64,0}, + [I(182,236)] = {64,0}, + [I(183,236)] = {64,0}, + [I(184,236)] = {64,0}, + [I(185,236)] = {64,0}, + [I(186,236)] = {64,0}, + [I(187,236)] = {64,0}, + [I(188,236)] = {64,0}, + [I(189,236)] = {64,0}, + [I(190,236)] = {64,0}, + [I(191,236)] = {64,0}, + [I(192,236)] = {64,0}, + [I(193,236)] = {64,0}, + [I(194,236)] = {64,0}, + [I(195,236)] = {64,0}, + [I(196,236)] = {64,0}, + [I(197,236)] = {64,0}, + [I(198,236)] = {64,0}, + [I(199,236)] = {64,0}, + [I(200,236)] = {64,0}, + [I(201,236)] = {64,0}, + [I(202,236)] = {64,0}, + [I(203,236)] = {64,0}, + [I(204,236)] = {64,0}, + [I(205,236)] = {64,0}, + [I(206,236)] = {64,0}, + [I(207,236)] = {64,0}, + [I(208,236)] = {64,0}, + [I(209,236)] = {64,0}, + [I(210,236)] = {64,0}, + [I(211,236)] = {64,0}, + [I(212,236)] = {64,0}, + [I(213,236)] = {64,0}, + [I(214,236)] = {64,0}, + [I(215,236)] = {64,0}, + [I(216,236)] = {64,0}, + [I(217,236)] = {64,0}, + [I(218,236)] = {64,0}, + [I(219,236)] = {64,0}, + [I(220,236)] = {64,0}, + [I(221,236)] = {64,0}, + [I(222,236)] = {64,0}, + [I(223,236)] = {64,0}, + [I(224,236)] = {64,0}, + [I(225,236)] = {64,0}, + [I(226,236)] = {64,0}, + [I(227,236)] = {64,0}, + [I(228,236)] = {64,0}, + [I(229,236)] = {64,0}, + [I(230,236)] = {64,0}, + [I(231,236)] = {64,0}, + [I(232,236)] = {64,0}, + [I(233,236)] = {64,0}, + [I(234,236)] = {64,0}, + [I(235,236)] = {64,0}, + [I(236,236)] = {64,0}, + [I(237,236)] = {64,0}, + [I(238,236)] = {64,0}, + [I(239,236)] = {64,0}, + [I(240,236)] = {64,0}, + [I(241,236)] = {64,0}, + [I(242,236)] = {64,0}, + [I(243,236)] = {64,0}, + [I(244,236)] = {64,0}, + [I(245,236)] = {64,0}, + [I(246,236)] = {64,0}, + [I(247,236)] = {64,0}, + [I(248,236)] = {64,0}, + [I(249,236)] = {64,0}, + [I(250,236)] = {64,0}, + [I(251,236)] = {64,0}, + [I(252,236)] = {64,0}, + [I(253,236)] = {64,0}, + [I(254,236)] = {64,0}, + [I(255,236)] = {64,0}, + [I(0,237)] = {64,0}, + [I(1,237)] = {64,0}, + [I(2,237)] = {64,0}, + [I(3,237)] = {64,0}, + [I(4,237)] = {64,0}, + [I(5,237)] = {64,0}, + [I(6,237)] = {64,0}, + [I(7,237)] = {64,0}, + [I(8,237)] = {64,0}, + [I(9,237)] = {64,0}, + [I(10,237)] = {64,0}, + [I(11,237)] = {64,0}, + [I(12,237)] = {64,0}, + [I(13,237)] = {64,0}, + [I(14,237)] = {64,0}, + [I(15,237)] = {64,0}, + [I(16,237)] = {64,0}, + [I(17,237)] = {64,0}, + [I(18,237)] = {64,0}, + [I(19,237)] = {64,0}, + [I(20,237)] = {64,0}, + [I(21,237)] = {64,0}, + [I(22,237)] = {64,0}, + [I(23,237)] = {64,0}, + [I(24,237)] = {64,0}, + [I(25,237)] = {64,0}, + [I(26,237)] = {64,0}, + [I(27,237)] = {64,0}, + [I(28,237)] = {64,0}, + [I(29,237)] = {64,0}, + [I(30,237)] = {64,0}, + [I(31,237)] = {64,0}, + [I(32,237)] = {30,0x14FFFFF5}, + [I(33,237)] = {64,0}, + [I(34,237)] = {64,0}, + [I(35,237)] = {64,0}, + [I(36,237)] = {64,0}, + [I(37,237)] = {30,0x15FFFFF5}, + [I(38,237)] = {X32,0xF8FFFFF5}, + [I(39,237)] = {64,0}, + [I(40,237)] = {64,0}, + [I(41,237)] = {64,0}, + [I(42,237)] = {X32,0xF9FFFFF5}, + [I(43,237)] = {64,0}, + [I(44,237)] = {X32,0xFAFFFFF5}, + [I(45,237)] = {30,0x16FFFFF5}, + [I(46,237)] = {30,0x17FFFFF5}, + [I(47,237)] = {30,0x18FFFFF5}, + [I(48,237)] = {29,0xFFFFF5}, + [I(49,237)] = {29,0x1FFFFF5}, + [I(50,237)] = {29,0x2FFFFF5}, + [I(51,237)] = {30,0x19FFFFF5}, + [I(52,237)] = {30,0x1AFFFFF5}, + [I(53,237)] = {30,0x1BFFFFF5}, + [I(54,237)] = {30,0x1CFFFFF5}, + [I(55,237)] = {30,0x1DFFFFF5}, + [I(56,237)] = {30,0x1EFFFFF5}, + [I(57,237)] = {30,0x1FFFFFF5}, + [I(58,237)] = {31,0x5CFFFFF5}, + [I(59,237)] = {X32,0xFBFFFFF5}, + [I(60,237)] = {64,0}, + [I(61,237)] = {30,0x20FFFFF5}, + [I(62,237)] = {64,0}, + [I(63,237)] = {64,0}, + [I(64,237)] = {64,0}, + [I(65,237)] = {30,0x21FFFFF5}, + [I(66,237)] = {31,0x5DFFFFF5}, + [I(67,237)] = {31,0x5EFFFFF5}, + [I(68,237)] = {31,0x5FFFFFF5}, + [I(69,237)] = {31,0x60FFFFF5}, + [I(70,237)] = {31,0x61FFFFF5}, + [I(71,237)] = {31,0x62FFFFF5}, + [I(72,237)] = {31,0x63FFFFF5}, + [I(73,237)] = {31,0x64FFFFF5}, + [I(74,237)] = {31,0x65FFFFF5}, + [I(75,237)] = {31,0x66FFFFF5}, + [I(76,237)] = {31,0x67FFFFF5}, + [I(77,237)] = {31,0x68FFFFF5}, + [I(78,237)] = {31,0x69FFFFF5}, + [I(79,237)] = {31,0x6AFFFFF5}, + [I(80,237)] = {31,0x6BFFFFF5}, + [I(81,237)] = {31,0x6CFFFFF5}, + [I(82,237)] = {31,0x6DFFFFF5}, + [I(83,237)] = {31,0x6EFFFFF5}, + [I(84,237)] = {31,0x6FFFFFF5}, + [I(85,237)] = {31,0x70FFFFF5}, + [I(86,237)] = {31,0x71FFFFF5}, + [I(87,237)] = {31,0x72FFFFF5}, + [I(88,237)] = {X32,0xFCFFFFF5}, + [I(89,237)] = {31,0x73FFFFF5}, + [I(90,237)] = {X32,0xFDFFFFF5}, + [I(91,237)] = {64,0}, + [I(92,237)] = {64,0}, + [I(93,237)] = {64,0}, + [I(94,237)] = {64,0}, + [I(95,237)] = {30,0x22FFFFF5}, + [I(96,237)] = {64,0}, + [I(97,237)] = {29,0x3FFFFF5}, + [I(98,237)] = {30,0x23FFFFF5}, + [I(99,237)] = {29,0x4FFFFF5}, + [I(100,237)] = {30,0x24FFFFF5}, + [I(101,237)] = {29,0x5FFFFF5}, + [I(102,237)] = {30,0x25FFFFF5}, + [I(103,237)] = {30,0x26FFFFF5}, + [I(104,237)] = {30,0x27FFFFF5}, + [I(105,237)] = {29,0x6FFFFF5}, + [I(106,237)] = {31,0x74FFFFF5}, + [I(107,237)] = {31,0x75FFFFF5}, + [I(108,237)] = {30,0x28FFFFF5}, + [I(109,237)] = {30,0x29FFFFF5}, + [I(110,237)] = {30,0x2AFFFFF5}, + [I(111,237)] = {29,0x7FFFFF5}, + [I(112,237)] = {30,0x2BFFFFF5}, + [I(113,237)] = {31,0x76FFFFF5}, + [I(114,237)] = {30,0x2CFFFFF5}, + [I(115,237)] = {29,0x8FFFFF5}, + [I(116,237)] = {29,0x9FFFFF5}, + [I(117,237)] = {30,0x2DFFFFF5}, + [I(118,237)] = {31,0x77FFFFF5}, + [I(119,237)] = {31,0x78FFFFF5}, + [I(120,237)] = {31,0x79FFFFF5}, + [I(121,237)] = {31,0x7AFFFFF5}, + [I(122,237)] = {31,0x7BFFFFF5}, + [I(123,237)] = {64,0}, + [I(124,237)] = {64,0}, + [I(125,237)] = {64,0}, + [I(126,237)] = {64,0}, + [I(127,237)] = {64,0}, + [I(128,237)] = {64,0}, + [I(129,237)] = {64,0}, + [I(130,237)] = {64,0}, + [I(131,237)] = {64,0}, + [I(132,237)] = {64,0}, + [I(133,237)] = {64,0}, + [I(134,237)] = {64,0}, + [I(135,237)] = {64,0}, + [I(136,237)] = {64,0}, + [I(137,237)] = {64,0}, + [I(138,237)] = {64,0}, + [I(139,237)] = {64,0}, + [I(140,237)] = {64,0}, + [I(141,237)] = {64,0}, + [I(142,237)] = {64,0}, + [I(143,237)] = {64,0}, + [I(144,237)] = {64,0}, + [I(145,237)] = {64,0}, + [I(146,237)] = {64,0}, + [I(147,237)] = {64,0}, + [I(148,237)] = {64,0}, + [I(149,237)] = {64,0}, + [I(150,237)] = {64,0}, + [I(151,237)] = {64,0}, + [I(152,237)] = {64,0}, + [I(153,237)] = {64,0}, + [I(154,237)] = {64,0}, + [I(155,237)] = {64,0}, + [I(156,237)] = {64,0}, + [I(157,237)] = {64,0}, + [I(158,237)] = {64,0}, + [I(159,237)] = {64,0}, + [I(160,237)] = {64,0}, + [I(161,237)] = {64,0}, + [I(162,237)] = {64,0}, + [I(163,237)] = {64,0}, + [I(164,237)] = {64,0}, + [I(165,237)] = {64,0}, + [I(166,237)] = {64,0}, + [I(167,237)] = {64,0}, + [I(168,237)] = {64,0}, + [I(169,237)] = {64,0}, + [I(170,237)] = {64,0}, + [I(171,237)] = {64,0}, + [I(172,237)] = {64,0}, + [I(173,237)] = {64,0}, + [I(174,237)] = {64,0}, + [I(175,237)] = {64,0}, + [I(176,237)] = {64,0}, + [I(177,237)] = {64,0}, + [I(178,237)] = {64,0}, + [I(179,237)] = {64,0}, + [I(180,237)] = {64,0}, + [I(181,237)] = {64,0}, + [I(182,237)] = {64,0}, + [I(183,237)] = {64,0}, + [I(184,237)] = {64,0}, + [I(185,237)] = {64,0}, + [I(186,237)] = {64,0}, + [I(187,237)] = {64,0}, + [I(188,237)] = {64,0}, + [I(189,237)] = {64,0}, + [I(190,237)] = {64,0}, + [I(191,237)] = {64,0}, + [I(192,237)] = {64,0}, + [I(193,237)] = {64,0}, + [I(194,237)] = {64,0}, + [I(195,237)] = {64,0}, + [I(196,237)] = {64,0}, + [I(197,237)] = {64,0}, + [I(198,237)] = {64,0}, + [I(199,237)] = {64,0}, + [I(200,237)] = {64,0}, + [I(201,237)] = {64,0}, + [I(202,237)] = {64,0}, + [I(203,237)] = {64,0}, + [I(204,237)] = {64,0}, + [I(205,237)] = {64,0}, + [I(206,237)] = {64,0}, + [I(207,237)] = {64,0}, + [I(208,237)] = {64,0}, + [I(209,237)] = {64,0}, + [I(210,237)] = {64,0}, + [I(211,237)] = {64,0}, + [I(212,237)] = {64,0}, + [I(213,237)] = {64,0}, + [I(214,237)] = {64,0}, + [I(215,237)] = {64,0}, + [I(216,237)] = {64,0}, + [I(217,237)] = {64,0}, + [I(218,237)] = {64,0}, + [I(219,237)] = {64,0}, + [I(220,237)] = {64,0}, + [I(221,237)] = {64,0}, + [I(222,237)] = {64,0}, + [I(223,237)] = {64,0}, + [I(224,237)] = {64,0}, + [I(225,237)] = {64,0}, + [I(226,237)] = {64,0}, + [I(227,237)] = {64,0}, + [I(228,237)] = {64,0}, + [I(229,237)] = {64,0}, + [I(230,237)] = {64,0}, + [I(231,237)] = {64,0}, + [I(232,237)] = {64,0}, + [I(233,237)] = {64,0}, + [I(234,237)] = {64,0}, + [I(235,237)] = {64,0}, + [I(236,237)] = {64,0}, + [I(237,237)] = {64,0}, + [I(238,237)] = {64,0}, + [I(239,237)] = {64,0}, + [I(240,237)] = {64,0}, + [I(241,237)] = {64,0}, + [I(242,237)] = {64,0}, + [I(243,237)] = {64,0}, + [I(244,237)] = {64,0}, + [I(245,237)] = {64,0}, + [I(246,237)] = {64,0}, + [I(247,237)] = {64,0}, + [I(248,237)] = {64,0}, + [I(249,237)] = {64,0}, + [I(250,237)] = {64,0}, + [I(251,237)] = {64,0}, + [I(252,237)] = {64,0}, + [I(253,237)] = {64,0}, + [I(254,237)] = {64,0}, + [I(255,237)] = {64,0}, + [I(0,238)] = {64,0}, + [I(1,238)] = {64,0}, + [I(2,238)] = {64,0}, + [I(3,238)] = {64,0}, + [I(4,238)] = {64,0}, + [I(5,238)] = {64,0}, + [I(6,238)] = {64,0}, + [I(7,238)] = {64,0}, + [I(8,238)] = {64,0}, + [I(9,238)] = {64,0}, + [I(10,238)] = {64,0}, + [I(11,238)] = {64,0}, + [I(12,238)] = {64,0}, + [I(13,238)] = {64,0}, + [I(14,238)] = {64,0}, + [I(15,238)] = {64,0}, + [I(16,238)] = {64,0}, + [I(17,238)] = {64,0}, + [I(18,238)] = {64,0}, + [I(19,238)] = {64,0}, + [I(20,238)] = {64,0}, + [I(21,238)] = {64,0}, + [I(22,238)] = {64,0}, + [I(23,238)] = {64,0}, + [I(24,238)] = {64,0}, + [I(25,238)] = {64,0}, + [I(26,238)] = {64,0}, + [I(27,238)] = {64,0}, + [I(28,238)] = {64,0}, + [I(29,238)] = {64,0}, + [I(30,238)] = {64,0}, + [I(31,238)] = {64,0}, + [I(32,238)] = {X32,0x53FFFFEA}, + [I(33,238)] = {64,0}, + [I(34,238)] = {64,0}, + [I(35,238)] = {64,0}, + [I(36,238)] = {64,0}, + [I(37,238)] = {X32,0x57FFFFEA}, + [I(38,238)] = {64,0}, + [I(39,238)] = {64,0}, + [I(40,238)] = {64,0}, + [I(41,238)] = {64,0}, + [I(42,238)] = {64,0}, + [I(43,238)] = {64,0}, + [I(44,238)] = {64,0}, + [I(45,238)] = {X32,0x5BFFFFEA}, + [I(46,238)] = {X32,0x5FFFFFEA}, + [I(47,238)] = {X32,0x63FFFFEA}, + [I(48,238)] = {31,0x3FFFFEA}, + [I(49,238)] = {31,0x7FFFFEA}, + [I(50,238)] = {31,0xBFFFFEA}, + [I(51,238)] = {X32,0x67FFFFEA}, + [I(52,238)] = {X32,0x6BFFFFEA}, + [I(53,238)] = {X32,0x6FFFFFEA}, + [I(54,238)] = {X32,0x73FFFFEA}, + [I(55,238)] = {X32,0x77FFFFEA}, + [I(56,238)] = {X32,0x7BFFFFEA}, + [I(57,238)] = {X32,0x7FFFFFEA}, + [I(58,238)] = {64,0}, + [I(59,238)] = {64,0}, + [I(60,238)] = {64,0}, + [I(61,238)] = {X32,0x83FFFFEA}, + [I(62,238)] = {64,0}, + [I(63,238)] = {64,0}, + [I(64,238)] = {64,0}, + [I(65,238)] = {X32,0x87FFFFEA}, + [I(66,238)] = {64,0}, + [I(67,238)] = {64,0}, + [I(68,238)] = {64,0}, + [I(69,238)] = {64,0}, + [I(70,238)] = {64,0}, + [I(71,238)] = {64,0}, + [I(72,238)] = {64,0}, + [I(73,238)] = {64,0}, + [I(74,238)] = {64,0}, + [I(75,238)] = {64,0}, + [I(76,238)] = {64,0}, + [I(77,238)] = {64,0}, + [I(78,238)] = {64,0}, + [I(79,238)] = {64,0}, + [I(80,238)] = {64,0}, + [I(81,238)] = {64,0}, + [I(82,238)] = {64,0}, + [I(83,238)] = {64,0}, + [I(84,238)] = {64,0}, + [I(85,238)] = {64,0}, + [I(86,238)] = {64,0}, + [I(87,238)] = {64,0}, + [I(88,238)] = {64,0}, + [I(89,238)] = {64,0}, + [I(90,238)] = {64,0}, + [I(91,238)] = {64,0}, + [I(92,238)] = {64,0}, + [I(93,238)] = {64,0}, + [I(94,238)] = {64,0}, + [I(95,238)] = {X32,0x8BFFFFEA}, + [I(96,238)] = {64,0}, + [I(97,238)] = {31,0xFFFFFEA}, + [I(98,238)] = {X32,0x8FFFFFEA}, + [I(99,238)] = {31,0x13FFFFEA}, + [I(100,238)] = {X32,0x93FFFFEA}, + [I(101,238)] = {31,0x17FFFFEA}, + [I(102,238)] = {X32,0x97FFFFEA}, + [I(103,238)] = {X32,0x9BFFFFEA}, + [I(104,238)] = {X32,0x9FFFFFEA}, + [I(105,238)] = {31,0x1BFFFFEA}, + [I(106,238)] = {64,0}, + [I(107,238)] = {64,0}, + [I(108,238)] = {X32,0xA3FFFFEA}, + [I(109,238)] = {X32,0xA7FFFFEA}, + [I(110,238)] = {X32,0xABFFFFEA}, + [I(111,238)] = {31,0x1FFFFFEA}, + [I(112,238)] = {X32,0xAFFFFFEA}, + [I(113,238)] = {64,0}, + [I(114,238)] = {X32,0xB3FFFFEA}, + [I(115,238)] = {31,0x23FFFFEA}, + [I(116,238)] = {31,0x27FFFFEA}, + [I(117,238)] = {X32,0xB7FFFFEA}, + [I(118,238)] = {64,0}, + [I(119,238)] = {64,0}, + [I(120,238)] = {64,0}, + [I(121,238)] = {64,0}, + [I(122,238)] = {64,0}, + [I(123,238)] = {64,0}, + [I(124,238)] = {64,0}, + [I(125,238)] = {64,0}, + [I(126,238)] = {64,0}, + [I(127,238)] = {64,0}, + [I(128,238)] = {64,0}, + [I(129,238)] = {64,0}, + [I(130,238)] = {64,0}, + [I(131,238)] = {64,0}, + [I(132,238)] = {64,0}, + [I(133,238)] = {64,0}, + [I(134,238)] = {64,0}, + [I(135,238)] = {64,0}, + [I(136,238)] = {64,0}, + [I(137,238)] = {64,0}, + [I(138,238)] = {64,0}, + [I(139,238)] = {64,0}, + [I(140,238)] = {64,0}, + [I(141,238)] = {64,0}, + [I(142,238)] = {64,0}, + [I(143,238)] = {64,0}, + [I(144,238)] = {64,0}, + [I(145,238)] = {64,0}, + [I(146,238)] = {64,0}, + [I(147,238)] = {64,0}, + [I(148,238)] = {64,0}, + [I(149,238)] = {64,0}, + [I(150,238)] = {64,0}, + [I(151,238)] = {64,0}, + [I(152,238)] = {64,0}, + [I(153,238)] = {64,0}, + [I(154,238)] = {64,0}, + [I(155,238)] = {64,0}, + [I(156,238)] = {64,0}, + [I(157,238)] = {64,0}, + [I(158,238)] = {64,0}, + [I(159,238)] = {64,0}, + [I(160,238)] = {64,0}, + [I(161,238)] = {64,0}, + [I(162,238)] = {64,0}, + [I(163,238)] = {64,0}, + [I(164,238)] = {64,0}, + [I(165,238)] = {64,0}, + [I(166,238)] = {64,0}, + [I(167,238)] = {64,0}, + [I(168,238)] = {64,0}, + [I(169,238)] = {64,0}, + [I(170,238)] = {64,0}, + [I(171,238)] = {64,0}, + [I(172,238)] = {64,0}, + [I(173,238)] = {64,0}, + [I(174,238)] = {64,0}, + [I(175,238)] = {64,0}, + [I(176,238)] = {64,0}, + [I(177,238)] = {64,0}, + [I(178,238)] = {64,0}, + [I(179,238)] = {64,0}, + [I(180,238)] = {64,0}, + [I(181,238)] = {64,0}, + [I(182,238)] = {64,0}, + [I(183,238)] = {64,0}, + [I(184,238)] = {64,0}, + [I(185,238)] = {64,0}, + [I(186,238)] = {64,0}, + [I(187,238)] = {64,0}, + [I(188,238)] = {64,0}, + [I(189,238)] = {64,0}, + [I(190,238)] = {64,0}, + [I(191,238)] = {64,0}, + [I(192,238)] = {64,0}, + [I(193,238)] = {64,0}, + [I(194,238)] = {64,0}, + [I(195,238)] = {64,0}, + [I(196,238)] = {64,0}, + [I(197,238)] = {64,0}, + [I(198,238)] = {64,0}, + [I(199,238)] = {64,0}, + [I(200,238)] = {64,0}, + [I(201,238)] = {64,0}, + [I(202,238)] = {64,0}, + [I(203,238)] = {64,0}, + [I(204,238)] = {64,0}, + [I(205,238)] = {64,0}, + [I(206,238)] = {64,0}, + [I(207,238)] = {64,0}, + [I(208,238)] = {64,0}, + [I(209,238)] = {64,0}, + [I(210,238)] = {64,0}, + [I(211,238)] = {64,0}, + [I(212,238)] = {64,0}, + [I(213,238)] = {64,0}, + [I(214,238)] = {64,0}, + [I(215,238)] = {64,0}, + [I(216,238)] = {64,0}, + [I(217,238)] = {64,0}, + [I(218,238)] = {64,0}, + [I(219,238)] = {64,0}, + [I(220,238)] = {64,0}, + [I(221,238)] = {64,0}, + [I(222,238)] = {64,0}, + [I(223,238)] = {64,0}, + [I(224,238)] = {64,0}, + [I(225,238)] = {64,0}, + [I(226,238)] = {64,0}, + [I(227,238)] = {64,0}, + [I(228,238)] = {64,0}, + [I(229,238)] = {64,0}, + [I(230,238)] = {64,0}, + [I(231,238)] = {64,0}, + [I(232,238)] = {64,0}, + [I(233,238)] = {64,0}, + [I(234,238)] = {64,0}, + [I(235,238)] = {64,0}, + [I(236,238)] = {64,0}, + [I(237,238)] = {64,0}, + [I(238,238)] = {64,0}, + [I(239,238)] = {64,0}, + [I(240,238)] = {64,0}, + [I(241,238)] = {64,0}, + [I(242,238)] = {64,0}, + [I(243,238)] = {64,0}, + [I(244,238)] = {64,0}, + [I(245,238)] = {64,0}, + [I(246,238)] = {64,0}, + [I(247,238)] = {64,0}, + [I(248,238)] = {64,0}, + [I(249,238)] = {64,0}, + [I(250,238)] = {64,0}, + [I(251,238)] = {64,0}, + [I(252,238)] = {64,0}, + [I(253,238)] = {64,0}, + [I(254,238)] = {64,0}, + [I(255,238)] = {64,0}, + [I(0,239)] = {64,0}, + [I(1,239)] = {64,0}, + [I(2,239)] = {64,0}, + [I(3,239)] = {64,0}, + [I(4,239)] = {64,0}, + [I(5,239)] = {64,0}, + [I(6,239)] = {64,0}, + [I(7,239)] = {64,0}, + [I(8,239)] = {64,0}, + [I(9,239)] = {64,0}, + [I(10,239)] = {64,0}, + [I(11,239)] = {64,0}, + [I(12,239)] = {64,0}, + [I(13,239)] = {64,0}, + [I(14,239)] = {64,0}, + [I(15,239)] = {64,0}, + [I(16,239)] = {64,0}, + [I(17,239)] = {64,0}, + [I(18,239)] = {64,0}, + [I(19,239)] = {64,0}, + [I(20,239)] = {64,0}, + [I(21,239)] = {64,0}, + [I(22,239)] = {64,0}, + [I(23,239)] = {64,0}, + [I(24,239)] = {64,0}, + [I(25,239)] = {64,0}, + [I(26,239)] = {64,0}, + [I(27,239)] = {64,0}, + [I(28,239)] = {64,0}, + [I(29,239)] = {64,0}, + [I(30,239)] = {64,0}, + [I(31,239)] = {64,0}, + [I(32,239)] = {29,0xA7FFFF4}, + [I(33,239)] = {64,0}, + [I(34,239)] = {64,0}, + [I(35,239)] = {64,0}, + [I(36,239)] = {64,0}, + [I(37,239)] = {29,0xAFFFFF4}, + [I(38,239)] = {31,0x7C7FFFF4}, + [I(39,239)] = {64,0}, + [I(40,239)] = {64,0}, + [I(41,239)] = {64,0}, + [I(42,239)] = {31,0x7CFFFFF4}, + [I(43,239)] = {64,0}, + [I(44,239)] = {31,0x7D7FFFF4}, + [I(45,239)] = {29,0xB7FFFF4}, + [I(46,239)] = {29,0xBFFFFF4}, + [I(47,239)] = {29,0xC7FFFF4}, + [I(48,239)] = {28,0x7FFFF4}, + [I(49,239)] = {28,0xFFFFF4}, + [I(50,239)] = {28,0x17FFFF4}, + [I(51,239)] = {29,0xCFFFFF4}, + [I(52,239)] = {29,0xD7FFFF4}, + [I(53,239)] = {29,0xDFFFFF4}, + [I(54,239)] = {29,0xE7FFFF4}, + [I(55,239)] = {29,0xEFFFFF4}, + [I(56,239)] = {29,0xF7FFFF4}, + [I(57,239)] = {29,0xFFFFFF4}, + [I(58,239)] = {30,0x2E7FFFF4}, + [I(59,239)] = {31,0x7DFFFFF4}, + [I(60,239)] = {64,0}, + [I(61,239)] = {29,0x107FFFF4}, + [I(62,239)] = {64,0}, + [I(63,239)] = {64,0}, + [I(64,239)] = {64,0}, + [I(65,239)] = {29,0x10FFFFF4}, + [I(66,239)] = {30,0x2EFFFFF4}, + [I(67,239)] = {30,0x2F7FFFF4}, + [I(68,239)] = {30,0x2FFFFFF4}, + [I(69,239)] = {30,0x307FFFF4}, + [I(70,239)] = {30,0x30FFFFF4}, + [I(71,239)] = {30,0x317FFFF4}, + [I(72,239)] = {30,0x31FFFFF4}, + [I(73,239)] = {30,0x327FFFF4}, + [I(74,239)] = {30,0x32FFFFF4}, + [I(75,239)] = {30,0x337FFFF4}, + [I(76,239)] = {30,0x33FFFFF4}, + [I(77,239)] = {30,0x347FFFF4}, + [I(78,239)] = {30,0x34FFFFF4}, + [I(79,239)] = {30,0x357FFFF4}, + [I(80,239)] = {30,0x35FFFFF4}, + [I(81,239)] = {30,0x367FFFF4}, + [I(82,239)] = {30,0x36FFFFF4}, + [I(83,239)] = {30,0x377FFFF4}, + [I(84,239)] = {30,0x37FFFFF4}, + [I(85,239)] = {30,0x387FFFF4}, + [I(86,239)] = {30,0x38FFFFF4}, + [I(87,239)] = {30,0x397FFFF4}, + [I(88,239)] = {31,0x7E7FFFF4}, + [I(89,239)] = {30,0x39FFFFF4}, + [I(90,239)] = {31,0x7EFFFFF4}, + [I(91,239)] = {64,0}, + [I(92,239)] = {64,0}, + [I(93,239)] = {64,0}, + [I(94,239)] = {64,0}, + [I(95,239)] = {29,0x117FFFF4}, + [I(96,239)] = {64,0}, + [I(97,239)] = {28,0x1FFFFF4}, + [I(98,239)] = {29,0x11FFFFF4}, + [I(99,239)] = {28,0x27FFFF4}, + [I(100,239)] = {29,0x127FFFF4}, + [I(101,239)] = {28,0x2FFFFF4}, + [I(102,239)] = {29,0x12FFFFF4}, + [I(103,239)] = {29,0x137FFFF4}, + [I(104,239)] = {29,0x13FFFFF4}, + [I(105,239)] = {28,0x37FFFF4}, + [I(106,239)] = {30,0x3A7FFFF4}, + [I(107,239)] = {30,0x3AFFFFF4}, + [I(108,239)] = {29,0x147FFFF4}, + [I(109,239)] = {29,0x14FFFFF4}, + [I(110,239)] = {29,0x157FFFF4}, + [I(111,239)] = {28,0x3FFFFF4}, + [I(112,239)] = {29,0x15FFFFF4}, + [I(113,239)] = {30,0x3B7FFFF4}, + [I(114,239)] = {29,0x167FFFF4}, + [I(115,239)] = {28,0x47FFFF4}, + [I(116,239)] = {28,0x4FFFFF4}, + [I(117,239)] = {29,0x16FFFFF4}, + [I(118,239)] = {30,0x3BFFFFF4}, + [I(119,239)] = {30,0x3C7FFFF4}, + [I(120,239)] = {30,0x3CFFFFF4}, + [I(121,239)] = {30,0x3D7FFFF4}, + [I(122,239)] = {30,0x3DFFFFF4}, + [I(123,239)] = {64,0}, + [I(124,239)] = {64,0}, + [I(125,239)] = {64,0}, + [I(126,239)] = {64,0}, + [I(127,239)] = {64,0}, + [I(128,239)] = {64,0}, + [I(129,239)] = {64,0}, + [I(130,239)] = {64,0}, + [I(131,239)] = {64,0}, + [I(132,239)] = {64,0}, + [I(133,239)] = {64,0}, + [I(134,239)] = {64,0}, + [I(135,239)] = {64,0}, + [I(136,239)] = {64,0}, + [I(137,239)] = {64,0}, + [I(138,239)] = {64,0}, + [I(139,239)] = {64,0}, + [I(140,239)] = {64,0}, + [I(141,239)] = {64,0}, + [I(142,239)] = {64,0}, + [I(143,239)] = {64,0}, + [I(144,239)] = {64,0}, + [I(145,239)] = {64,0}, + [I(146,239)] = {64,0}, + [I(147,239)] = {64,0}, + [I(148,239)] = {64,0}, + [I(149,239)] = {64,0}, + [I(150,239)] = {64,0}, + [I(151,239)] = {64,0}, + [I(152,239)] = {64,0}, + [I(153,239)] = {64,0}, + [I(154,239)] = {64,0}, + [I(155,239)] = {64,0}, + [I(156,239)] = {64,0}, + [I(157,239)] = {64,0}, + [I(158,239)] = {64,0}, + [I(159,239)] = {64,0}, + [I(160,239)] = {64,0}, + [I(161,239)] = {64,0}, + [I(162,239)] = {64,0}, + [I(163,239)] = {64,0}, + [I(164,239)] = {64,0}, + [I(165,239)] = {64,0}, + [I(166,239)] = {64,0}, + [I(167,239)] = {64,0}, + [I(168,239)] = {64,0}, + [I(169,239)] = {64,0}, + [I(170,239)] = {64,0}, + [I(171,239)] = {64,0}, + [I(172,239)] = {64,0}, + [I(173,239)] = {64,0}, + [I(174,239)] = {64,0}, + [I(175,239)] = {64,0}, + [I(176,239)] = {64,0}, + [I(177,239)] = {64,0}, + [I(178,239)] = {64,0}, + [I(179,239)] = {64,0}, + [I(180,239)] = {64,0}, + [I(181,239)] = {64,0}, + [I(182,239)] = {64,0}, + [I(183,239)] = {64,0}, + [I(184,239)] = {64,0}, + [I(185,239)] = {64,0}, + [I(186,239)] = {64,0}, + [I(187,239)] = {64,0}, + [I(188,239)] = {64,0}, + [I(189,239)] = {64,0}, + [I(190,239)] = {64,0}, + [I(191,239)] = {64,0}, + [I(192,239)] = {64,0}, + [I(193,239)] = {64,0}, + [I(194,239)] = {64,0}, + [I(195,239)] = {64,0}, + [I(196,239)] = {64,0}, + [I(197,239)] = {64,0}, + [I(198,239)] = {64,0}, + [I(199,239)] = {64,0}, + [I(200,239)] = {64,0}, + [I(201,239)] = {64,0}, + [I(202,239)] = {64,0}, + [I(203,239)] = {64,0}, + [I(204,239)] = {64,0}, + [I(205,239)] = {64,0}, + [I(206,239)] = {64,0}, + [I(207,239)] = {64,0}, + [I(208,239)] = {64,0}, + [I(209,239)] = {64,0}, + [I(210,239)] = {64,0}, + [I(211,239)] = {64,0}, + [I(212,239)] = {64,0}, + [I(213,239)] = {64,0}, + [I(214,239)] = {64,0}, + [I(215,239)] = {64,0}, + [I(216,239)] = {64,0}, + [I(217,239)] = {64,0}, + [I(218,239)] = {64,0}, + [I(219,239)] = {64,0}, + [I(220,239)] = {64,0}, + [I(221,239)] = {64,0}, + [I(222,239)] = {64,0}, + [I(223,239)] = {64,0}, + [I(224,239)] = {64,0}, + [I(225,239)] = {64,0}, + [I(226,239)] = {64,0}, + [I(227,239)] = {64,0}, + [I(228,239)] = {64,0}, + [I(229,239)] = {64,0}, + [I(230,239)] = {64,0}, + [I(231,239)] = {64,0}, + [I(232,239)] = {64,0}, + [I(233,239)] = {64,0}, + [I(234,239)] = {64,0}, + [I(235,239)] = {64,0}, + [I(236,239)] = {64,0}, + [I(237,239)] = {64,0}, + [I(238,239)] = {64,0}, + [I(239,239)] = {64,0}, + [I(240,239)] = {64,0}, + [I(241,239)] = {64,0}, + [I(242,239)] = {64,0}, + [I(243,239)] = {64,0}, + [I(244,239)] = {64,0}, + [I(245,239)] = {64,0}, + [I(246,239)] = {64,0}, + [I(247,239)] = {64,0}, + [I(248,239)] = {64,0}, + [I(249,239)] = {64,0}, + [I(250,239)] = {64,0}, + [I(251,239)] = {64,0}, + [I(252,239)] = {64,0}, + [I(253,239)] = {64,0}, + [I(254,239)] = {64,0}, + [I(255,239)] = {64,0}, + [I(0,240)] = {64,0}, + [I(1,240)] = {64,0}, + [I(2,240)] = {64,0}, + [I(3,240)] = {64,0}, + [I(4,240)] = {64,0}, + [I(5,240)] = {64,0}, + [I(6,240)] = {64,0}, + [I(7,240)] = {64,0}, + [I(8,240)] = {64,0}, + [I(9,240)] = {64,0}, + [I(10,240)] = {64,0}, + [I(11,240)] = {64,0}, + [I(12,240)] = {64,0}, + [I(13,240)] = {64,0}, + [I(14,240)] = {64,0}, + [I(15,240)] = {64,0}, + [I(16,240)] = {64,0}, + [I(17,240)] = {64,0}, + [I(18,240)] = {64,0}, + [I(19,240)] = {64,0}, + [I(20,240)] = {64,0}, + [I(21,240)] = {64,0}, + [I(22,240)] = {64,0}, + [I(23,240)] = {64,0}, + [I(24,240)] = {64,0}, + [I(25,240)] = {64,0}, + [I(26,240)] = {64,0}, + [I(27,240)] = {64,0}, + [I(28,240)] = {64,0}, + [I(29,240)] = {64,0}, + [I(30,240)] = {64,0}, + [I(31,240)] = {64,0}, + [I(32,240)] = {X32,0x53FFFFEB}, + [I(33,240)] = {64,0}, + [I(34,240)] = {64,0}, + [I(35,240)] = {64,0}, + [I(36,240)] = {64,0}, + [I(37,240)] = {X32,0x57FFFFEB}, + [I(38,240)] = {64,0}, + [I(39,240)] = {64,0}, + [I(40,240)] = {64,0}, + [I(41,240)] = {64,0}, + [I(42,240)] = {64,0}, + [I(43,240)] = {64,0}, + [I(44,240)] = {64,0}, + [I(45,240)] = {X32,0x5BFFFFEB}, + [I(46,240)] = {X32,0x5FFFFFEB}, + [I(47,240)] = {X32,0x63FFFFEB}, + [I(48,240)] = {31,0x3FFFFEB}, + [I(49,240)] = {31,0x7FFFFEB}, + [I(50,240)] = {31,0xBFFFFEB}, + [I(51,240)] = {X32,0x67FFFFEB}, + [I(52,240)] = {X32,0x6BFFFFEB}, + [I(53,240)] = {X32,0x6FFFFFEB}, + [I(54,240)] = {X32,0x73FFFFEB}, + [I(55,240)] = {X32,0x77FFFFEB}, + [I(56,240)] = {X32,0x7BFFFFEB}, + [I(57,240)] = {X32,0x7FFFFFEB}, + [I(58,240)] = {64,0}, + [I(59,240)] = {64,0}, + [I(60,240)] = {64,0}, + [I(61,240)] = {X32,0x83FFFFEB}, + [I(62,240)] = {64,0}, + [I(63,240)] = {64,0}, + [I(64,240)] = {64,0}, + [I(65,240)] = {X32,0x87FFFFEB}, + [I(66,240)] = {64,0}, + [I(67,240)] = {64,0}, + [I(68,240)] = {64,0}, + [I(69,240)] = {64,0}, + [I(70,240)] = {64,0}, + [I(71,240)] = {64,0}, + [I(72,240)] = {64,0}, + [I(73,240)] = {64,0}, + [I(74,240)] = {64,0}, + [I(75,240)] = {64,0}, + [I(76,240)] = {64,0}, + [I(77,240)] = {64,0}, + [I(78,240)] = {64,0}, + [I(79,240)] = {64,0}, + [I(80,240)] = {64,0}, + [I(81,240)] = {64,0}, + [I(82,240)] = {64,0}, + [I(83,240)] = {64,0}, + [I(84,240)] = {64,0}, + [I(85,240)] = {64,0}, + [I(86,240)] = {64,0}, + [I(87,240)] = {64,0}, + [I(88,240)] = {64,0}, + [I(89,240)] = {64,0}, + [I(90,240)] = {64,0}, + [I(91,240)] = {64,0}, + [I(92,240)] = {64,0}, + [I(93,240)] = {64,0}, + [I(94,240)] = {64,0}, + [I(95,240)] = {X32,0x8BFFFFEB}, + [I(96,240)] = {64,0}, + [I(97,240)] = {31,0xFFFFFEB}, + [I(98,240)] = {X32,0x8FFFFFEB}, + [I(99,240)] = {31,0x13FFFFEB}, + [I(100,240)] = {X32,0x93FFFFEB}, + [I(101,240)] = {31,0x17FFFFEB}, + [I(102,240)] = {X32,0x97FFFFEB}, + [I(103,240)] = {X32,0x9BFFFFEB}, + [I(104,240)] = {X32,0x9FFFFFEB}, + [I(105,240)] = {31,0x1BFFFFEB}, + [I(106,240)] = {64,0}, + [I(107,240)] = {64,0}, + [I(108,240)] = {X32,0xA3FFFFEB}, + [I(109,240)] = {X32,0xA7FFFFEB}, + [I(110,240)] = {X32,0xABFFFFEB}, + [I(111,240)] = {31,0x1FFFFFEB}, + [I(112,240)] = {X32,0xAFFFFFEB}, + [I(113,240)] = {64,0}, + [I(114,240)] = {X32,0xB3FFFFEB}, + [I(115,240)] = {31,0x23FFFFEB}, + [I(116,240)] = {31,0x27FFFFEB}, + [I(117,240)] = {X32,0xB7FFFFEB}, + [I(118,240)] = {64,0}, + [I(119,240)] = {64,0}, + [I(120,240)] = {64,0}, + [I(121,240)] = {64,0}, + [I(122,240)] = {64,0}, + [I(123,240)] = {64,0}, + [I(124,240)] = {64,0}, + [I(125,240)] = {64,0}, + [I(126,240)] = {64,0}, + [I(127,240)] = {64,0}, + [I(128,240)] = {64,0}, + [I(129,240)] = {64,0}, + [I(130,240)] = {64,0}, + [I(131,240)] = {64,0}, + [I(132,240)] = {64,0}, + [I(133,240)] = {64,0}, + [I(134,240)] = {64,0}, + [I(135,240)] = {64,0}, + [I(136,240)] = {64,0}, + [I(137,240)] = {64,0}, + [I(138,240)] = {64,0}, + [I(139,240)] = {64,0}, + [I(140,240)] = {64,0}, + [I(141,240)] = {64,0}, + [I(142,240)] = {64,0}, + [I(143,240)] = {64,0}, + [I(144,240)] = {64,0}, + [I(145,240)] = {64,0}, + [I(146,240)] = {64,0}, + [I(147,240)] = {64,0}, + [I(148,240)] = {64,0}, + [I(149,240)] = {64,0}, + [I(150,240)] = {64,0}, + [I(151,240)] = {64,0}, + [I(152,240)] = {64,0}, + [I(153,240)] = {64,0}, + [I(154,240)] = {64,0}, + [I(155,240)] = {64,0}, + [I(156,240)] = {64,0}, + [I(157,240)] = {64,0}, + [I(158,240)] = {64,0}, + [I(159,240)] = {64,0}, + [I(160,240)] = {64,0}, + [I(161,240)] = {64,0}, + [I(162,240)] = {64,0}, + [I(163,240)] = {64,0}, + [I(164,240)] = {64,0}, + [I(165,240)] = {64,0}, + [I(166,240)] = {64,0}, + [I(167,240)] = {64,0}, + [I(168,240)] = {64,0}, + [I(169,240)] = {64,0}, + [I(170,240)] = {64,0}, + [I(171,240)] = {64,0}, + [I(172,240)] = {64,0}, + [I(173,240)] = {64,0}, + [I(174,240)] = {64,0}, + [I(175,240)] = {64,0}, + [I(176,240)] = {64,0}, + [I(177,240)] = {64,0}, + [I(178,240)] = {64,0}, + [I(179,240)] = {64,0}, + [I(180,240)] = {64,0}, + [I(181,240)] = {64,0}, + [I(182,240)] = {64,0}, + [I(183,240)] = {64,0}, + [I(184,240)] = {64,0}, + [I(185,240)] = {64,0}, + [I(186,240)] = {64,0}, + [I(187,240)] = {64,0}, + [I(188,240)] = {64,0}, + [I(189,240)] = {64,0}, + [I(190,240)] = {64,0}, + [I(191,240)] = {64,0}, + [I(192,240)] = {64,0}, + [I(193,240)] = {64,0}, + [I(194,240)] = {64,0}, + [I(195,240)] = {64,0}, + [I(196,240)] = {64,0}, + [I(197,240)] = {64,0}, + [I(198,240)] = {64,0}, + [I(199,240)] = {64,0}, + [I(200,240)] = {64,0}, + [I(201,240)] = {64,0}, + [I(202,240)] = {64,0}, + [I(203,240)] = {64,0}, + [I(204,240)] = {64,0}, + [I(205,240)] = {64,0}, + [I(206,240)] = {64,0}, + [I(207,240)] = {64,0}, + [I(208,240)] = {64,0}, + [I(209,240)] = {64,0}, + [I(210,240)] = {64,0}, + [I(211,240)] = {64,0}, + [I(212,240)] = {64,0}, + [I(213,240)] = {64,0}, + [I(214,240)] = {64,0}, + [I(215,240)] = {64,0}, + [I(216,240)] = {64,0}, + [I(217,240)] = {64,0}, + [I(218,240)] = {64,0}, + [I(219,240)] = {64,0}, + [I(220,240)] = {64,0}, + [I(221,240)] = {64,0}, + [I(222,240)] = {64,0}, + [I(223,240)] = {64,0}, + [I(224,240)] = {64,0}, + [I(225,240)] = {64,0}, + [I(226,240)] = {64,0}, + [I(227,240)] = {64,0}, + [I(228,240)] = {64,0}, + [I(229,240)] = {64,0}, + [I(230,240)] = {64,0}, + [I(231,240)] = {64,0}, + [I(232,240)] = {64,0}, + [I(233,240)] = {64,0}, + [I(234,240)] = {64,0}, + [I(235,240)] = {64,0}, + [I(236,240)] = {64,0}, + [I(237,240)] = {64,0}, + [I(238,240)] = {64,0}, + [I(239,240)] = {64,0}, + [I(240,240)] = {64,0}, + [I(241,240)] = {64,0}, + [I(242,240)] = {64,0}, + [I(243,240)] = {64,0}, + [I(244,240)] = {64,0}, + [I(245,240)] = {64,0}, + [I(246,240)] = {64,0}, + [I(247,240)] = {64,0}, + [I(248,240)] = {64,0}, + [I(249,240)] = {64,0}, + [I(250,240)] = {64,0}, + [I(251,240)] = {64,0}, + [I(252,240)] = {64,0}, + [I(253,240)] = {64,0}, + [I(254,240)] = {64,0}, + [I(255,240)] = {64,0}, + [I(0,241)] = {64,0}, + [I(1,241)] = {64,0}, + [I(2,241)] = {64,0}, + [I(3,241)] = {64,0}, + [I(4,241)] = {64,0}, + [I(5,241)] = {64,0}, + [I(6,241)] = {64,0}, + [I(7,241)] = {64,0}, + [I(8,241)] = {64,0}, + [I(9,241)] = {64,0}, + [I(10,241)] = {64,0}, + [I(11,241)] = {64,0}, + [I(12,241)] = {64,0}, + [I(13,241)] = {64,0}, + [I(14,241)] = {64,0}, + [I(15,241)] = {64,0}, + [I(16,241)] = {64,0}, + [I(17,241)] = {64,0}, + [I(18,241)] = {64,0}, + [I(19,241)] = {64,0}, + [I(20,241)] = {64,0}, + [I(21,241)] = {64,0}, + [I(22,241)] = {64,0}, + [I(23,241)] = {64,0}, + [I(24,241)] = {64,0}, + [I(25,241)] = {64,0}, + [I(26,241)] = {64,0}, + [I(27,241)] = {64,0}, + [I(28,241)] = {64,0}, + [I(29,241)] = {64,0}, + [I(30,241)] = {64,0}, + [I(31,241)] = {64,0}, + [I(32,241)] = {64,0}, + [I(33,241)] = {64,0}, + [I(34,241)] = {64,0}, + [I(35,241)] = {64,0}, + [I(36,241)] = {64,0}, + [I(37,241)] = {64,0}, + [I(38,241)] = {64,0}, + [I(39,241)] = {64,0}, + [I(40,241)] = {64,0}, + [I(41,241)] = {64,0}, + [I(42,241)] = {64,0}, + [I(43,241)] = {64,0}, + [I(44,241)] = {64,0}, + [I(45,241)] = {64,0}, + [I(46,241)] = {64,0}, + [I(47,241)] = {64,0}, + [I(48,241)] = {X32,0x7FFFFE6}, + [I(49,241)] = {X32,0xFFFFFE6}, + [I(50,241)] = {X32,0x17FFFFE6}, + [I(51,241)] = {64,0}, + [I(52,241)] = {64,0}, + [I(53,241)] = {64,0}, + [I(54,241)] = {64,0}, + [I(55,241)] = {64,0}, + [I(56,241)] = {64,0}, + [I(57,241)] = {64,0}, + [I(58,241)] = {64,0}, + [I(59,241)] = {64,0}, + [I(60,241)] = {64,0}, + [I(61,241)] = {64,0}, + [I(62,241)] = {64,0}, + [I(63,241)] = {64,0}, + [I(64,241)] = {64,0}, + [I(65,241)] = {64,0}, + [I(66,241)] = {64,0}, + [I(67,241)] = {64,0}, + [I(68,241)] = {64,0}, + [I(69,241)] = {64,0}, + [I(70,241)] = {64,0}, + [I(71,241)] = {64,0}, + [I(72,241)] = {64,0}, + [I(73,241)] = {64,0}, + [I(74,241)] = {64,0}, + [I(75,241)] = {64,0}, + [I(76,241)] = {64,0}, + [I(77,241)] = {64,0}, + [I(78,241)] = {64,0}, + [I(79,241)] = {64,0}, + [I(80,241)] = {64,0}, + [I(81,241)] = {64,0}, + [I(82,241)] = {64,0}, + [I(83,241)] = {64,0}, + [I(84,241)] = {64,0}, + [I(85,241)] = {64,0}, + [I(86,241)] = {64,0}, + [I(87,241)] = {64,0}, + [I(88,241)] = {64,0}, + [I(89,241)] = {64,0}, + [I(90,241)] = {64,0}, + [I(91,241)] = {64,0}, + [I(92,241)] = {64,0}, + [I(93,241)] = {64,0}, + [I(94,241)] = {64,0}, + [I(95,241)] = {64,0}, + [I(96,241)] = {64,0}, + [I(97,241)] = {X32,0x1FFFFFE6}, + [I(98,241)] = {64,0}, + [I(99,241)] = {X32,0x27FFFFE6}, + [I(100,241)] = {64,0}, + [I(101,241)] = {X32,0x2FFFFFE6}, + [I(102,241)] = {64,0}, + [I(103,241)] = {64,0}, + [I(104,241)] = {64,0}, + [I(105,241)] = {X32,0x37FFFFE6}, + [I(106,241)] = {64,0}, + [I(107,241)] = {64,0}, + [I(108,241)] = {64,0}, + [I(109,241)] = {64,0}, + [I(110,241)] = {64,0}, + [I(111,241)] = {X32,0x3FFFFFE6}, + [I(112,241)] = {64,0}, + [I(113,241)] = {64,0}, + [I(114,241)] = {64,0}, + [I(115,241)] = {X32,0x47FFFFE6}, + [I(116,241)] = {X32,0x4FFFFFE6}, + [I(117,241)] = {64,0}, + [I(118,241)] = {64,0}, + [I(119,241)] = {64,0}, + [I(120,241)] = {64,0}, + [I(121,241)] = {64,0}, + [I(122,241)] = {64,0}, + [I(123,241)] = {64,0}, + [I(124,241)] = {64,0}, + [I(125,241)] = {64,0}, + [I(126,241)] = {64,0}, + [I(127,241)] = {64,0}, + [I(128,241)] = {64,0}, + [I(129,241)] = {64,0}, + [I(130,241)] = {64,0}, + [I(131,241)] = {64,0}, + [I(132,241)] = {64,0}, + [I(133,241)] = {64,0}, + [I(134,241)] = {64,0}, + [I(135,241)] = {64,0}, + [I(136,241)] = {64,0}, + [I(137,241)] = {64,0}, + [I(138,241)] = {64,0}, + [I(139,241)] = {64,0}, + [I(140,241)] = {64,0}, + [I(141,241)] = {64,0}, + [I(142,241)] = {64,0}, + [I(143,241)] = {64,0}, + [I(144,241)] = {64,0}, + [I(145,241)] = {64,0}, + [I(146,241)] = {64,0}, + [I(147,241)] = {64,0}, + [I(148,241)] = {64,0}, + [I(149,241)] = {64,0}, + [I(150,241)] = {64,0}, + [I(151,241)] = {64,0}, + [I(152,241)] = {64,0}, + [I(153,241)] = {64,0}, + [I(154,241)] = {64,0}, + [I(155,241)] = {64,0}, + [I(156,241)] = {64,0}, + [I(157,241)] = {64,0}, + [I(158,241)] = {64,0}, + [I(159,241)] = {64,0}, + [I(160,241)] = {64,0}, + [I(161,241)] = {64,0}, + [I(162,241)] = {64,0}, + [I(163,241)] = {64,0}, + [I(164,241)] = {64,0}, + [I(165,241)] = {64,0}, + [I(166,241)] = {64,0}, + [I(167,241)] = {64,0}, + [I(168,241)] = {64,0}, + [I(169,241)] = {64,0}, + [I(170,241)] = {64,0}, + [I(171,241)] = {64,0}, + [I(172,241)] = {64,0}, + [I(173,241)] = {64,0}, + [I(174,241)] = {64,0}, + [I(175,241)] = {64,0}, + [I(176,241)] = {64,0}, + [I(177,241)] = {64,0}, + [I(178,241)] = {64,0}, + [I(179,241)] = {64,0}, + [I(180,241)] = {64,0}, + [I(181,241)] = {64,0}, + [I(182,241)] = {64,0}, + [I(183,241)] = {64,0}, + [I(184,241)] = {64,0}, + [I(185,241)] = {64,0}, + [I(186,241)] = {64,0}, + [I(187,241)] = {64,0}, + [I(188,241)] = {64,0}, + [I(189,241)] = {64,0}, + [I(190,241)] = {64,0}, + [I(191,241)] = {64,0}, + [I(192,241)] = {64,0}, + [I(193,241)] = {64,0}, + [I(194,241)] = {64,0}, + [I(195,241)] = {64,0}, + [I(196,241)] = {64,0}, + [I(197,241)] = {64,0}, + [I(198,241)] = {64,0}, + [I(199,241)] = {64,0}, + [I(200,241)] = {64,0}, + [I(201,241)] = {64,0}, + [I(202,241)] = {64,0}, + [I(203,241)] = {64,0}, + [I(204,241)] = {64,0}, + [I(205,241)] = {64,0}, + [I(206,241)] = {64,0}, + [I(207,241)] = {64,0}, + [I(208,241)] = {64,0}, + [I(209,241)] = {64,0}, + [I(210,241)] = {64,0}, + [I(211,241)] = {64,0}, + [I(212,241)] = {64,0}, + [I(213,241)] = {64,0}, + [I(214,241)] = {64,0}, + [I(215,241)] = {64,0}, + [I(216,241)] = {64,0}, + [I(217,241)] = {64,0}, + [I(218,241)] = {64,0}, + [I(219,241)] = {64,0}, + [I(220,241)] = {64,0}, + [I(221,241)] = {64,0}, + [I(222,241)] = {64,0}, + [I(223,241)] = {64,0}, + [I(224,241)] = {64,0}, + [I(225,241)] = {64,0}, + [I(226,241)] = {64,0}, + [I(227,241)] = {64,0}, + [I(228,241)] = {64,0}, + [I(229,241)] = {64,0}, + [I(230,241)] = {64,0}, + [I(231,241)] = {64,0}, + [I(232,241)] = {64,0}, + [I(233,241)] = {64,0}, + [I(234,241)] = {64,0}, + [I(235,241)] = {64,0}, + [I(236,241)] = {64,0}, + [I(237,241)] = {64,0}, + [I(238,241)] = {64,0}, + [I(239,241)] = {64,0}, + [I(240,241)] = {64,0}, + [I(241,241)] = {64,0}, + [I(242,241)] = {64,0}, + [I(243,241)] = {64,0}, + [I(244,241)] = {64,0}, + [I(245,241)] = {64,0}, + [I(246,241)] = {64,0}, + [I(247,241)] = {64,0}, + [I(248,241)] = {64,0}, + [I(249,241)] = {64,0}, + [I(250,241)] = {64,0}, + [I(251,241)] = {64,0}, + [I(252,241)] = {64,0}, + [I(253,241)] = {64,0}, + [I(254,241)] = {64,0}, + [I(255,241)] = {64,0}, + [I(0,242)] = {64,0}, + [I(1,242)] = {64,0}, + [I(2,242)] = {64,0}, + [I(3,242)] = {64,0}, + [I(4,242)] = {64,0}, + [I(5,242)] = {64,0}, + [I(6,242)] = {64,0}, + [I(7,242)] = {64,0}, + [I(8,242)] = {64,0}, + [I(9,242)] = {64,0}, + [I(10,242)] = {64,0}, + [I(11,242)] = {64,0}, + [I(12,242)] = {64,0}, + [I(13,242)] = {64,0}, + [I(14,242)] = {64,0}, + [I(15,242)] = {64,0}, + [I(16,242)] = {64,0}, + [I(17,242)] = {64,0}, + [I(18,242)] = {64,0}, + [I(19,242)] = {64,0}, + [I(20,242)] = {64,0}, + [I(21,242)] = {64,0}, + [I(22,242)] = {64,0}, + [I(23,242)] = {64,0}, + [I(24,242)] = {64,0}, + [I(25,242)] = {64,0}, + [I(26,242)] = {64,0}, + [I(27,242)] = {64,0}, + [I(28,242)] = {64,0}, + [I(29,242)] = {64,0}, + [I(30,242)] = {64,0}, + [I(31,242)] = {64,0}, + [I(32,242)] = {X32,0x53FFFFEC}, + [I(33,242)] = {64,0}, + [I(34,242)] = {64,0}, + [I(35,242)] = {64,0}, + [I(36,242)] = {64,0}, + [I(37,242)] = {X32,0x57FFFFEC}, + [I(38,242)] = {64,0}, + [I(39,242)] = {64,0}, + [I(40,242)] = {64,0}, + [I(41,242)] = {64,0}, + [I(42,242)] = {64,0}, + [I(43,242)] = {64,0}, + [I(44,242)] = {64,0}, + [I(45,242)] = {X32,0x5BFFFFEC}, + [I(46,242)] = {X32,0x5FFFFFEC}, + [I(47,242)] = {X32,0x63FFFFEC}, + [I(48,242)] = {31,0x3FFFFEC}, + [I(49,242)] = {31,0x7FFFFEC}, + [I(50,242)] = {31,0xBFFFFEC}, + [I(51,242)] = {X32,0x67FFFFEC}, + [I(52,242)] = {X32,0x6BFFFFEC}, + [I(53,242)] = {X32,0x6FFFFFEC}, + [I(54,242)] = {X32,0x73FFFFEC}, + [I(55,242)] = {X32,0x77FFFFEC}, + [I(56,242)] = {X32,0x7BFFFFEC}, + [I(57,242)] = {X32,0x7FFFFFEC}, + [I(58,242)] = {64,0}, + [I(59,242)] = {64,0}, + [I(60,242)] = {64,0}, + [I(61,242)] = {X32,0x83FFFFEC}, + [I(62,242)] = {64,0}, + [I(63,242)] = {64,0}, + [I(64,242)] = {64,0}, + [I(65,242)] = {X32,0x87FFFFEC}, + [I(66,242)] = {64,0}, + [I(67,242)] = {64,0}, + [I(68,242)] = {64,0}, + [I(69,242)] = {64,0}, + [I(70,242)] = {64,0}, + [I(71,242)] = {64,0}, + [I(72,242)] = {64,0}, + [I(73,242)] = {64,0}, + [I(74,242)] = {64,0}, + [I(75,242)] = {64,0}, + [I(76,242)] = {64,0}, + [I(77,242)] = {64,0}, + [I(78,242)] = {64,0}, + [I(79,242)] = {64,0}, + [I(80,242)] = {64,0}, + [I(81,242)] = {64,0}, + [I(82,242)] = {64,0}, + [I(83,242)] = {64,0}, + [I(84,242)] = {64,0}, + [I(85,242)] = {64,0}, + [I(86,242)] = {64,0}, + [I(87,242)] = {64,0}, + [I(88,242)] = {64,0}, + [I(89,242)] = {64,0}, + [I(90,242)] = {64,0}, + [I(91,242)] = {64,0}, + [I(92,242)] = {64,0}, + [I(93,242)] = {64,0}, + [I(94,242)] = {64,0}, + [I(95,242)] = {X32,0x8BFFFFEC}, + [I(96,242)] = {64,0}, + [I(97,242)] = {31,0xFFFFFEC}, + [I(98,242)] = {X32,0x8FFFFFEC}, + [I(99,242)] = {31,0x13FFFFEC}, + [I(100,242)] = {X32,0x93FFFFEC}, + [I(101,242)] = {31,0x17FFFFEC}, + [I(102,242)] = {X32,0x97FFFFEC}, + [I(103,242)] = {X32,0x9BFFFFEC}, + [I(104,242)] = {X32,0x9FFFFFEC}, + [I(105,242)] = {31,0x1BFFFFEC}, + [I(106,242)] = {64,0}, + [I(107,242)] = {64,0}, + [I(108,242)] = {X32,0xA3FFFFEC}, + [I(109,242)] = {X32,0xA7FFFFEC}, + [I(110,242)] = {X32,0xABFFFFEC}, + [I(111,242)] = {31,0x1FFFFFEC}, + [I(112,242)] = {X32,0xAFFFFFEC}, + [I(113,242)] = {64,0}, + [I(114,242)] = {X32,0xB3FFFFEC}, + [I(115,242)] = {31,0x23FFFFEC}, + [I(116,242)] = {31,0x27FFFFEC}, + [I(117,242)] = {X32,0xB7FFFFEC}, + [I(118,242)] = {64,0}, + [I(119,242)] = {64,0}, + [I(120,242)] = {64,0}, + [I(121,242)] = {64,0}, + [I(122,242)] = {64,0}, + [I(123,242)] = {64,0}, + [I(124,242)] = {64,0}, + [I(125,242)] = {64,0}, + [I(126,242)] = {64,0}, + [I(127,242)] = {64,0}, + [I(128,242)] = {64,0}, + [I(129,242)] = {64,0}, + [I(130,242)] = {64,0}, + [I(131,242)] = {64,0}, + [I(132,242)] = {64,0}, + [I(133,242)] = {64,0}, + [I(134,242)] = {64,0}, + [I(135,242)] = {64,0}, + [I(136,242)] = {64,0}, + [I(137,242)] = {64,0}, + [I(138,242)] = {64,0}, + [I(139,242)] = {64,0}, + [I(140,242)] = {64,0}, + [I(141,242)] = {64,0}, + [I(142,242)] = {64,0}, + [I(143,242)] = {64,0}, + [I(144,242)] = {64,0}, + [I(145,242)] = {64,0}, + [I(146,242)] = {64,0}, + [I(147,242)] = {64,0}, + [I(148,242)] = {64,0}, + [I(149,242)] = {64,0}, + [I(150,242)] = {64,0}, + [I(151,242)] = {64,0}, + [I(152,242)] = {64,0}, + [I(153,242)] = {64,0}, + [I(154,242)] = {64,0}, + [I(155,242)] = {64,0}, + [I(156,242)] = {64,0}, + [I(157,242)] = {64,0}, + [I(158,242)] = {64,0}, + [I(159,242)] = {64,0}, + [I(160,242)] = {64,0}, + [I(161,242)] = {64,0}, + [I(162,242)] = {64,0}, + [I(163,242)] = {64,0}, + [I(164,242)] = {64,0}, + [I(165,242)] = {64,0}, + [I(166,242)] = {64,0}, + [I(167,242)] = {64,0}, + [I(168,242)] = {64,0}, + [I(169,242)] = {64,0}, + [I(170,242)] = {64,0}, + [I(171,242)] = {64,0}, + [I(172,242)] = {64,0}, + [I(173,242)] = {64,0}, + [I(174,242)] = {64,0}, + [I(175,242)] = {64,0}, + [I(176,242)] = {64,0}, + [I(177,242)] = {64,0}, + [I(178,242)] = {64,0}, + [I(179,242)] = {64,0}, + [I(180,242)] = {64,0}, + [I(181,242)] = {64,0}, + [I(182,242)] = {64,0}, + [I(183,242)] = {64,0}, + [I(184,242)] = {64,0}, + [I(185,242)] = {64,0}, + [I(186,242)] = {64,0}, + [I(187,242)] = {64,0}, + [I(188,242)] = {64,0}, + [I(189,242)] = {64,0}, + [I(190,242)] = {64,0}, + [I(191,242)] = {64,0}, + [I(192,242)] = {64,0}, + [I(193,242)] = {64,0}, + [I(194,242)] = {64,0}, + [I(195,242)] = {64,0}, + [I(196,242)] = {64,0}, + [I(197,242)] = {64,0}, + [I(198,242)] = {64,0}, + [I(199,242)] = {64,0}, + [I(200,242)] = {64,0}, + [I(201,242)] = {64,0}, + [I(202,242)] = {64,0}, + [I(203,242)] = {64,0}, + [I(204,242)] = {64,0}, + [I(205,242)] = {64,0}, + [I(206,242)] = {64,0}, + [I(207,242)] = {64,0}, + [I(208,242)] = {64,0}, + [I(209,242)] = {64,0}, + [I(210,242)] = {64,0}, + [I(211,242)] = {64,0}, + [I(212,242)] = {64,0}, + [I(213,242)] = {64,0}, + [I(214,242)] = {64,0}, + [I(215,242)] = {64,0}, + [I(216,242)] = {64,0}, + [I(217,242)] = {64,0}, + [I(218,242)] = {64,0}, + [I(219,242)] = {64,0}, + [I(220,242)] = {64,0}, + [I(221,242)] = {64,0}, + [I(222,242)] = {64,0}, + [I(223,242)] = {64,0}, + [I(224,242)] = {64,0}, + [I(225,242)] = {64,0}, + [I(226,242)] = {64,0}, + [I(227,242)] = {64,0}, + [I(228,242)] = {64,0}, + [I(229,242)] = {64,0}, + [I(230,242)] = {64,0}, + [I(231,242)] = {64,0}, + [I(232,242)] = {64,0}, + [I(233,242)] = {64,0}, + [I(234,242)] = {64,0}, + [I(235,242)] = {64,0}, + [I(236,242)] = {64,0}, + [I(237,242)] = {64,0}, + [I(238,242)] = {64,0}, + [I(239,242)] = {64,0}, + [I(240,242)] = {64,0}, + [I(241,242)] = {64,0}, + [I(242,242)] = {64,0}, + [I(243,242)] = {64,0}, + [I(244,242)] = {64,0}, + [I(245,242)] = {64,0}, + [I(246,242)] = {64,0}, + [I(247,242)] = {64,0}, + [I(248,242)] = {64,0}, + [I(249,242)] = {64,0}, + [I(250,242)] = {64,0}, + [I(251,242)] = {64,0}, + [I(252,242)] = {64,0}, + [I(253,242)] = {64,0}, + [I(254,242)] = {64,0}, + [I(255,242)] = {64,0}, + [I(0,243)] = {64,0}, + [I(1,243)] = {64,0}, + [I(2,243)] = {64,0}, + [I(3,243)] = {64,0}, + [I(4,243)] = {64,0}, + [I(5,243)] = {64,0}, + [I(6,243)] = {64,0}, + [I(7,243)] = {64,0}, + [I(8,243)] = {64,0}, + [I(9,243)] = {64,0}, + [I(10,243)] = {64,0}, + [I(11,243)] = {64,0}, + [I(12,243)] = {64,0}, + [I(13,243)] = {64,0}, + [I(14,243)] = {64,0}, + [I(15,243)] = {64,0}, + [I(16,243)] = {64,0}, + [I(17,243)] = {64,0}, + [I(18,243)] = {64,0}, + [I(19,243)] = {64,0}, + [I(20,243)] = {64,0}, + [I(21,243)] = {64,0}, + [I(22,243)] = {64,0}, + [I(23,243)] = {64,0}, + [I(24,243)] = {64,0}, + [I(25,243)] = {64,0}, + [I(26,243)] = {64,0}, + [I(27,243)] = {64,0}, + [I(28,243)] = {64,0}, + [I(29,243)] = {64,0}, + [I(30,243)] = {64,0}, + [I(31,243)] = {64,0}, + [I(32,243)] = {X32,0x53FFFFED}, + [I(33,243)] = {64,0}, + [I(34,243)] = {64,0}, + [I(35,243)] = {64,0}, + [I(36,243)] = {64,0}, + [I(37,243)] = {X32,0x57FFFFED}, + [I(38,243)] = {64,0}, + [I(39,243)] = {64,0}, + [I(40,243)] = {64,0}, + [I(41,243)] = {64,0}, + [I(42,243)] = {64,0}, + [I(43,243)] = {64,0}, + [I(44,243)] = {64,0}, + [I(45,243)] = {X32,0x5BFFFFED}, + [I(46,243)] = {X32,0x5FFFFFED}, + [I(47,243)] = {X32,0x63FFFFED}, + [I(48,243)] = {31,0x3FFFFED}, + [I(49,243)] = {31,0x7FFFFED}, + [I(50,243)] = {31,0xBFFFFED}, + [I(51,243)] = {X32,0x67FFFFED}, + [I(52,243)] = {X32,0x6BFFFFED}, + [I(53,243)] = {X32,0x6FFFFFED}, + [I(54,243)] = {X32,0x73FFFFED}, + [I(55,243)] = {X32,0x77FFFFED}, + [I(56,243)] = {X32,0x7BFFFFED}, + [I(57,243)] = {X32,0x7FFFFFED}, + [I(58,243)] = {64,0}, + [I(59,243)] = {64,0}, + [I(60,243)] = {64,0}, + [I(61,243)] = {X32,0x83FFFFED}, + [I(62,243)] = {64,0}, + [I(63,243)] = {64,0}, + [I(64,243)] = {64,0}, + [I(65,243)] = {X32,0x87FFFFED}, + [I(66,243)] = {64,0}, + [I(67,243)] = {64,0}, + [I(68,243)] = {64,0}, + [I(69,243)] = {64,0}, + [I(70,243)] = {64,0}, + [I(71,243)] = {64,0}, + [I(72,243)] = {64,0}, + [I(73,243)] = {64,0}, + [I(74,243)] = {64,0}, + [I(75,243)] = {64,0}, + [I(76,243)] = {64,0}, + [I(77,243)] = {64,0}, + [I(78,243)] = {64,0}, + [I(79,243)] = {64,0}, + [I(80,243)] = {64,0}, + [I(81,243)] = {64,0}, + [I(82,243)] = {64,0}, + [I(83,243)] = {64,0}, + [I(84,243)] = {64,0}, + [I(85,243)] = {64,0}, + [I(86,243)] = {64,0}, + [I(87,243)] = {64,0}, + [I(88,243)] = {64,0}, + [I(89,243)] = {64,0}, + [I(90,243)] = {64,0}, + [I(91,243)] = {64,0}, + [I(92,243)] = {64,0}, + [I(93,243)] = {64,0}, + [I(94,243)] = {64,0}, + [I(95,243)] = {X32,0x8BFFFFED}, + [I(96,243)] = {64,0}, + [I(97,243)] = {31,0xFFFFFED}, + [I(98,243)] = {X32,0x8FFFFFED}, + [I(99,243)] = {31,0x13FFFFED}, + [I(100,243)] = {X32,0x93FFFFED}, + [I(101,243)] = {31,0x17FFFFED}, + [I(102,243)] = {X32,0x97FFFFED}, + [I(103,243)] = {X32,0x9BFFFFED}, + [I(104,243)] = {X32,0x9FFFFFED}, + [I(105,243)] = {31,0x1BFFFFED}, + [I(106,243)] = {64,0}, + [I(107,243)] = {64,0}, + [I(108,243)] = {X32,0xA3FFFFED}, + [I(109,243)] = {X32,0xA7FFFFED}, + [I(110,243)] = {X32,0xABFFFFED}, + [I(111,243)] = {31,0x1FFFFFED}, + [I(112,243)] = {X32,0xAFFFFFED}, + [I(113,243)] = {64,0}, + [I(114,243)] = {X32,0xB3FFFFED}, + [I(115,243)] = {31,0x23FFFFED}, + [I(116,243)] = {31,0x27FFFFED}, + [I(117,243)] = {X32,0xB7FFFFED}, + [I(118,243)] = {64,0}, + [I(119,243)] = {64,0}, + [I(120,243)] = {64,0}, + [I(121,243)] = {64,0}, + [I(122,243)] = {64,0}, + [I(123,243)] = {64,0}, + [I(124,243)] = {64,0}, + [I(125,243)] = {64,0}, + [I(126,243)] = {64,0}, + [I(127,243)] = {64,0}, + [I(128,243)] = {64,0}, + [I(129,243)] = {64,0}, + [I(130,243)] = {64,0}, + [I(131,243)] = {64,0}, + [I(132,243)] = {64,0}, + [I(133,243)] = {64,0}, + [I(134,243)] = {64,0}, + [I(135,243)] = {64,0}, + [I(136,243)] = {64,0}, + [I(137,243)] = {64,0}, + [I(138,243)] = {64,0}, + [I(139,243)] = {64,0}, + [I(140,243)] = {64,0}, + [I(141,243)] = {64,0}, + [I(142,243)] = {64,0}, + [I(143,243)] = {64,0}, + [I(144,243)] = {64,0}, + [I(145,243)] = {64,0}, + [I(146,243)] = {64,0}, + [I(147,243)] = {64,0}, + [I(148,243)] = {64,0}, + [I(149,243)] = {64,0}, + [I(150,243)] = {64,0}, + [I(151,243)] = {64,0}, + [I(152,243)] = {64,0}, + [I(153,243)] = {64,0}, + [I(154,243)] = {64,0}, + [I(155,243)] = {64,0}, + [I(156,243)] = {64,0}, + [I(157,243)] = {64,0}, + [I(158,243)] = {64,0}, + [I(159,243)] = {64,0}, + [I(160,243)] = {64,0}, + [I(161,243)] = {64,0}, + [I(162,243)] = {64,0}, + [I(163,243)] = {64,0}, + [I(164,243)] = {64,0}, + [I(165,243)] = {64,0}, + [I(166,243)] = {64,0}, + [I(167,243)] = {64,0}, + [I(168,243)] = {64,0}, + [I(169,243)] = {64,0}, + [I(170,243)] = {64,0}, + [I(171,243)] = {64,0}, + [I(172,243)] = {64,0}, + [I(173,243)] = {64,0}, + [I(174,243)] = {64,0}, + [I(175,243)] = {64,0}, + [I(176,243)] = {64,0}, + [I(177,243)] = {64,0}, + [I(178,243)] = {64,0}, + [I(179,243)] = {64,0}, + [I(180,243)] = {64,0}, + [I(181,243)] = {64,0}, + [I(182,243)] = {64,0}, + [I(183,243)] = {64,0}, + [I(184,243)] = {64,0}, + [I(185,243)] = {64,0}, + [I(186,243)] = {64,0}, + [I(187,243)] = {64,0}, + [I(188,243)] = {64,0}, + [I(189,243)] = {64,0}, + [I(190,243)] = {64,0}, + [I(191,243)] = {64,0}, + [I(192,243)] = {64,0}, + [I(193,243)] = {64,0}, + [I(194,243)] = {64,0}, + [I(195,243)] = {64,0}, + [I(196,243)] = {64,0}, + [I(197,243)] = {64,0}, + [I(198,243)] = {64,0}, + [I(199,243)] = {64,0}, + [I(200,243)] = {64,0}, + [I(201,243)] = {64,0}, + [I(202,243)] = {64,0}, + [I(203,243)] = {64,0}, + [I(204,243)] = {64,0}, + [I(205,243)] = {64,0}, + [I(206,243)] = {64,0}, + [I(207,243)] = {64,0}, + [I(208,243)] = {64,0}, + [I(209,243)] = {64,0}, + [I(210,243)] = {64,0}, + [I(211,243)] = {64,0}, + [I(212,243)] = {64,0}, + [I(213,243)] = {64,0}, + [I(214,243)] = {64,0}, + [I(215,243)] = {64,0}, + [I(216,243)] = {64,0}, + [I(217,243)] = {64,0}, + [I(218,243)] = {64,0}, + [I(219,243)] = {64,0}, + [I(220,243)] = {64,0}, + [I(221,243)] = {64,0}, + [I(222,243)] = {64,0}, + [I(223,243)] = {64,0}, + [I(224,243)] = {64,0}, + [I(225,243)] = {64,0}, + [I(226,243)] = {64,0}, + [I(227,243)] = {64,0}, + [I(228,243)] = {64,0}, + [I(229,243)] = {64,0}, + [I(230,243)] = {64,0}, + [I(231,243)] = {64,0}, + [I(232,243)] = {64,0}, + [I(233,243)] = {64,0}, + [I(234,243)] = {64,0}, + [I(235,243)] = {64,0}, + [I(236,243)] = {64,0}, + [I(237,243)] = {64,0}, + [I(238,243)] = {64,0}, + [I(239,243)] = {64,0}, + [I(240,243)] = {64,0}, + [I(241,243)] = {64,0}, + [I(242,243)] = {64,0}, + [I(243,243)] = {64,0}, + [I(244,243)] = {64,0}, + [I(245,243)] = {64,0}, + [I(246,243)] = {64,0}, + [I(247,243)] = {64,0}, + [I(248,243)] = {64,0}, + [I(249,243)] = {64,0}, + [I(250,243)] = {64,0}, + [I(251,243)] = {64,0}, + [I(252,243)] = {64,0}, + [I(253,243)] = {64,0}, + [I(254,243)] = {64,0}, + [I(255,243)] = {64,0}, + [I(0,244)] = {64,0}, + [I(1,244)] = {64,0}, + [I(2,244)] = {64,0}, + [I(3,244)] = {64,0}, + [I(4,244)] = {64,0}, + [I(5,244)] = {64,0}, + [I(6,244)] = {64,0}, + [I(7,244)] = {64,0}, + [I(8,244)] = {64,0}, + [I(9,244)] = {64,0}, + [I(10,244)] = {64,0}, + [I(11,244)] = {64,0}, + [I(12,244)] = {64,0}, + [I(13,244)] = {64,0}, + [I(14,244)] = {64,0}, + [I(15,244)] = {64,0}, + [I(16,244)] = {64,0}, + [I(17,244)] = {64,0}, + [I(18,244)] = {64,0}, + [I(19,244)] = {64,0}, + [I(20,244)] = {64,0}, + [I(21,244)] = {64,0}, + [I(22,244)] = {64,0}, + [I(23,244)] = {64,0}, + [I(24,244)] = {64,0}, + [I(25,244)] = {64,0}, + [I(26,244)] = {64,0}, + [I(27,244)] = {64,0}, + [I(28,244)] = {64,0}, + [I(29,244)] = {64,0}, + [I(30,244)] = {64,0}, + [I(31,244)] = {64,0}, + [I(32,244)] = {64,0}, + [I(33,244)] = {64,0}, + [I(34,244)] = {64,0}, + [I(35,244)] = {64,0}, + [I(36,244)] = {64,0}, + [I(37,244)] = {64,0}, + [I(38,244)] = {64,0}, + [I(39,244)] = {64,0}, + [I(40,244)] = {64,0}, + [I(41,244)] = {64,0}, + [I(42,244)] = {64,0}, + [I(43,244)] = {64,0}, + [I(44,244)] = {64,0}, + [I(45,244)] = {64,0}, + [I(46,244)] = {64,0}, + [I(47,244)] = {64,0}, + [I(48,244)] = {X32,0x7FFFFE7}, + [I(49,244)] = {X32,0xFFFFFE7}, + [I(50,244)] = {X32,0x17FFFFE7}, + [I(51,244)] = {64,0}, + [I(52,244)] = {64,0}, + [I(53,244)] = {64,0}, + [I(54,244)] = {64,0}, + [I(55,244)] = {64,0}, + [I(56,244)] = {64,0}, + [I(57,244)] = {64,0}, + [I(58,244)] = {64,0}, + [I(59,244)] = {64,0}, + [I(60,244)] = {64,0}, + [I(61,244)] = {64,0}, + [I(62,244)] = {64,0}, + [I(63,244)] = {64,0}, + [I(64,244)] = {64,0}, + [I(65,244)] = {64,0}, + [I(66,244)] = {64,0}, + [I(67,244)] = {64,0}, + [I(68,244)] = {64,0}, + [I(69,244)] = {64,0}, + [I(70,244)] = {64,0}, + [I(71,244)] = {64,0}, + [I(72,244)] = {64,0}, + [I(73,244)] = {64,0}, + [I(74,244)] = {64,0}, + [I(75,244)] = {64,0}, + [I(76,244)] = {64,0}, + [I(77,244)] = {64,0}, + [I(78,244)] = {64,0}, + [I(79,244)] = {64,0}, + [I(80,244)] = {64,0}, + [I(81,244)] = {64,0}, + [I(82,244)] = {64,0}, + [I(83,244)] = {64,0}, + [I(84,244)] = {64,0}, + [I(85,244)] = {64,0}, + [I(86,244)] = {64,0}, + [I(87,244)] = {64,0}, + [I(88,244)] = {64,0}, + [I(89,244)] = {64,0}, + [I(90,244)] = {64,0}, + [I(91,244)] = {64,0}, + [I(92,244)] = {64,0}, + [I(93,244)] = {64,0}, + [I(94,244)] = {64,0}, + [I(95,244)] = {64,0}, + [I(96,244)] = {64,0}, + [I(97,244)] = {X32,0x1FFFFFE7}, + [I(98,244)] = {64,0}, + [I(99,244)] = {X32,0x27FFFFE7}, + [I(100,244)] = {64,0}, + [I(101,244)] = {X32,0x2FFFFFE7}, + [I(102,244)] = {64,0}, + [I(103,244)] = {64,0}, + [I(104,244)] = {64,0}, + [I(105,244)] = {X32,0x37FFFFE7}, + [I(106,244)] = {64,0}, + [I(107,244)] = {64,0}, + [I(108,244)] = {64,0}, + [I(109,244)] = {64,0}, + [I(110,244)] = {64,0}, + [I(111,244)] = {X32,0x3FFFFFE7}, + [I(112,244)] = {64,0}, + [I(113,244)] = {64,0}, + [I(114,244)] = {64,0}, + [I(115,244)] = {X32,0x47FFFFE7}, + [I(116,244)] = {X32,0x4FFFFFE7}, + [I(117,244)] = {64,0}, + [I(118,244)] = {64,0}, + [I(119,244)] = {64,0}, + [I(120,244)] = {64,0}, + [I(121,244)] = {64,0}, + [I(122,244)] = {64,0}, + [I(123,244)] = {64,0}, + [I(124,244)] = {64,0}, + [I(125,244)] = {64,0}, + [I(126,244)] = {64,0}, + [I(127,244)] = {64,0}, + [I(128,244)] = {64,0}, + [I(129,244)] = {64,0}, + [I(130,244)] = {64,0}, + [I(131,244)] = {64,0}, + [I(132,244)] = {64,0}, + [I(133,244)] = {64,0}, + [I(134,244)] = {64,0}, + [I(135,244)] = {64,0}, + [I(136,244)] = {64,0}, + [I(137,244)] = {64,0}, + [I(138,244)] = {64,0}, + [I(139,244)] = {64,0}, + [I(140,244)] = {64,0}, + [I(141,244)] = {64,0}, + [I(142,244)] = {64,0}, + [I(143,244)] = {64,0}, + [I(144,244)] = {64,0}, + [I(145,244)] = {64,0}, + [I(146,244)] = {64,0}, + [I(147,244)] = {64,0}, + [I(148,244)] = {64,0}, + [I(149,244)] = {64,0}, + [I(150,244)] = {64,0}, + [I(151,244)] = {64,0}, + [I(152,244)] = {64,0}, + [I(153,244)] = {64,0}, + [I(154,244)] = {64,0}, + [I(155,244)] = {64,0}, + [I(156,244)] = {64,0}, + [I(157,244)] = {64,0}, + [I(158,244)] = {64,0}, + [I(159,244)] = {64,0}, + [I(160,244)] = {64,0}, + [I(161,244)] = {64,0}, + [I(162,244)] = {64,0}, + [I(163,244)] = {64,0}, + [I(164,244)] = {64,0}, + [I(165,244)] = {64,0}, + [I(166,244)] = {64,0}, + [I(167,244)] = {64,0}, + [I(168,244)] = {64,0}, + [I(169,244)] = {64,0}, + [I(170,244)] = {64,0}, + [I(171,244)] = {64,0}, + [I(172,244)] = {64,0}, + [I(173,244)] = {64,0}, + [I(174,244)] = {64,0}, + [I(175,244)] = {64,0}, + [I(176,244)] = {64,0}, + [I(177,244)] = {64,0}, + [I(178,244)] = {64,0}, + [I(179,244)] = {64,0}, + [I(180,244)] = {64,0}, + [I(181,244)] = {64,0}, + [I(182,244)] = {64,0}, + [I(183,244)] = {64,0}, + [I(184,244)] = {64,0}, + [I(185,244)] = {64,0}, + [I(186,244)] = {64,0}, + [I(187,244)] = {64,0}, + [I(188,244)] = {64,0}, + [I(189,244)] = {64,0}, + [I(190,244)] = {64,0}, + [I(191,244)] = {64,0}, + [I(192,244)] = {64,0}, + [I(193,244)] = {64,0}, + [I(194,244)] = {64,0}, + [I(195,244)] = {64,0}, + [I(196,244)] = {64,0}, + [I(197,244)] = {64,0}, + [I(198,244)] = {64,0}, + [I(199,244)] = {64,0}, + [I(200,244)] = {64,0}, + [I(201,244)] = {64,0}, + [I(202,244)] = {64,0}, + [I(203,244)] = {64,0}, + [I(204,244)] = {64,0}, + [I(205,244)] = {64,0}, + [I(206,244)] = {64,0}, + [I(207,244)] = {64,0}, + [I(208,244)] = {64,0}, + [I(209,244)] = {64,0}, + [I(210,244)] = {64,0}, + [I(211,244)] = {64,0}, + [I(212,244)] = {64,0}, + [I(213,244)] = {64,0}, + [I(214,244)] = {64,0}, + [I(215,244)] = {64,0}, + [I(216,244)] = {64,0}, + [I(217,244)] = {64,0}, + [I(218,244)] = {64,0}, + [I(219,244)] = {64,0}, + [I(220,244)] = {64,0}, + [I(221,244)] = {64,0}, + [I(222,244)] = {64,0}, + [I(223,244)] = {64,0}, + [I(224,244)] = {64,0}, + [I(225,244)] = {64,0}, + [I(226,244)] = {64,0}, + [I(227,244)] = {64,0}, + [I(228,244)] = {64,0}, + [I(229,244)] = {64,0}, + [I(230,244)] = {64,0}, + [I(231,244)] = {64,0}, + [I(232,244)] = {64,0}, + [I(233,244)] = {64,0}, + [I(234,244)] = {64,0}, + [I(235,244)] = {64,0}, + [I(236,244)] = {64,0}, + [I(237,244)] = {64,0}, + [I(238,244)] = {64,0}, + [I(239,244)] = {64,0}, + [I(240,244)] = {64,0}, + [I(241,244)] = {64,0}, + [I(242,244)] = {64,0}, + [I(243,244)] = {64,0}, + [I(244,244)] = {64,0}, + [I(245,244)] = {64,0}, + [I(246,244)] = {64,0}, + [I(247,244)] = {64,0}, + [I(248,244)] = {64,0}, + [I(249,244)] = {64,0}, + [I(250,244)] = {64,0}, + [I(251,244)] = {64,0}, + [I(252,244)] = {64,0}, + [I(253,244)] = {64,0}, + [I(254,244)] = {64,0}, + [I(255,244)] = {64,0}, + [I(0,245)] = {64,0}, + [I(1,245)] = {64,0}, + [I(2,245)] = {64,0}, + [I(3,245)] = {64,0}, + [I(4,245)] = {64,0}, + [I(5,245)] = {64,0}, + [I(6,245)] = {64,0}, + [I(7,245)] = {64,0}, + [I(8,245)] = {64,0}, + [I(9,245)] = {64,0}, + [I(10,245)] = {64,0}, + [I(11,245)] = {64,0}, + [I(12,245)] = {64,0}, + [I(13,245)] = {64,0}, + [I(14,245)] = {64,0}, + [I(15,245)] = {64,0}, + [I(16,245)] = {64,0}, + [I(17,245)] = {64,0}, + [I(18,245)] = {64,0}, + [I(19,245)] = {64,0}, + [I(20,245)] = {64,0}, + [I(21,245)] = {64,0}, + [I(22,245)] = {64,0}, + [I(23,245)] = {64,0}, + [I(24,245)] = {64,0}, + [I(25,245)] = {64,0}, + [I(26,245)] = {64,0}, + [I(27,245)] = {64,0}, + [I(28,245)] = {64,0}, + [I(29,245)] = {64,0}, + [I(30,245)] = {64,0}, + [I(31,245)] = {64,0}, + [I(32,245)] = {64,0}, + [I(33,245)] = {64,0}, + [I(34,245)] = {64,0}, + [I(35,245)] = {64,0}, + [I(36,245)] = {64,0}, + [I(37,245)] = {64,0}, + [I(38,245)] = {64,0}, + [I(39,245)] = {64,0}, + [I(40,245)] = {64,0}, + [I(41,245)] = {64,0}, + [I(42,245)] = {64,0}, + [I(43,245)] = {64,0}, + [I(44,245)] = {64,0}, + [I(45,245)] = {64,0}, + [I(46,245)] = {64,0}, + [I(47,245)] = {64,0}, + [I(48,245)] = {X32,0x7FFFFE8}, + [I(49,245)] = {X32,0xFFFFFE8}, + [I(50,245)] = {X32,0x17FFFFE8}, + [I(51,245)] = {64,0}, + [I(52,245)] = {64,0}, + [I(53,245)] = {64,0}, + [I(54,245)] = {64,0}, + [I(55,245)] = {64,0}, + [I(56,245)] = {64,0}, + [I(57,245)] = {64,0}, + [I(58,245)] = {64,0}, + [I(59,245)] = {64,0}, + [I(60,245)] = {64,0}, + [I(61,245)] = {64,0}, + [I(62,245)] = {64,0}, + [I(63,245)] = {64,0}, + [I(64,245)] = {64,0}, + [I(65,245)] = {64,0}, + [I(66,245)] = {64,0}, + [I(67,245)] = {64,0}, + [I(68,245)] = {64,0}, + [I(69,245)] = {64,0}, + [I(70,245)] = {64,0}, + [I(71,245)] = {64,0}, + [I(72,245)] = {64,0}, + [I(73,245)] = {64,0}, + [I(74,245)] = {64,0}, + [I(75,245)] = {64,0}, + [I(76,245)] = {64,0}, + [I(77,245)] = {64,0}, + [I(78,245)] = {64,0}, + [I(79,245)] = {64,0}, + [I(80,245)] = {64,0}, + [I(81,245)] = {64,0}, + [I(82,245)] = {64,0}, + [I(83,245)] = {64,0}, + [I(84,245)] = {64,0}, + [I(85,245)] = {64,0}, + [I(86,245)] = {64,0}, + [I(87,245)] = {64,0}, + [I(88,245)] = {64,0}, + [I(89,245)] = {64,0}, + [I(90,245)] = {64,0}, + [I(91,245)] = {64,0}, + [I(92,245)] = {64,0}, + [I(93,245)] = {64,0}, + [I(94,245)] = {64,0}, + [I(95,245)] = {64,0}, + [I(96,245)] = {64,0}, + [I(97,245)] = {X32,0x1FFFFFE8}, + [I(98,245)] = {64,0}, + [I(99,245)] = {X32,0x27FFFFE8}, + [I(100,245)] = {64,0}, + [I(101,245)] = {X32,0x2FFFFFE8}, + [I(102,245)] = {64,0}, + [I(103,245)] = {64,0}, + [I(104,245)] = {64,0}, + [I(105,245)] = {X32,0x37FFFFE8}, + [I(106,245)] = {64,0}, + [I(107,245)] = {64,0}, + [I(108,245)] = {64,0}, + [I(109,245)] = {64,0}, + [I(110,245)] = {64,0}, + [I(111,245)] = {X32,0x3FFFFFE8}, + [I(112,245)] = {64,0}, + [I(113,245)] = {64,0}, + [I(114,245)] = {64,0}, + [I(115,245)] = {X32,0x47FFFFE8}, + [I(116,245)] = {X32,0x4FFFFFE8}, + [I(117,245)] = {64,0}, + [I(118,245)] = {64,0}, + [I(119,245)] = {64,0}, + [I(120,245)] = {64,0}, + [I(121,245)] = {64,0}, + [I(122,245)] = {64,0}, + [I(123,245)] = {64,0}, + [I(124,245)] = {64,0}, + [I(125,245)] = {64,0}, + [I(126,245)] = {64,0}, + [I(127,245)] = {64,0}, + [I(128,245)] = {64,0}, + [I(129,245)] = {64,0}, + [I(130,245)] = {64,0}, + [I(131,245)] = {64,0}, + [I(132,245)] = {64,0}, + [I(133,245)] = {64,0}, + [I(134,245)] = {64,0}, + [I(135,245)] = {64,0}, + [I(136,245)] = {64,0}, + [I(137,245)] = {64,0}, + [I(138,245)] = {64,0}, + [I(139,245)] = {64,0}, + [I(140,245)] = {64,0}, + [I(141,245)] = {64,0}, + [I(142,245)] = {64,0}, + [I(143,245)] = {64,0}, + [I(144,245)] = {64,0}, + [I(145,245)] = {64,0}, + [I(146,245)] = {64,0}, + [I(147,245)] = {64,0}, + [I(148,245)] = {64,0}, + [I(149,245)] = {64,0}, + [I(150,245)] = {64,0}, + [I(151,245)] = {64,0}, + [I(152,245)] = {64,0}, + [I(153,245)] = {64,0}, + [I(154,245)] = {64,0}, + [I(155,245)] = {64,0}, + [I(156,245)] = {64,0}, + [I(157,245)] = {64,0}, + [I(158,245)] = {64,0}, + [I(159,245)] = {64,0}, + [I(160,245)] = {64,0}, + [I(161,245)] = {64,0}, + [I(162,245)] = {64,0}, + [I(163,245)] = {64,0}, + [I(164,245)] = {64,0}, + [I(165,245)] = {64,0}, + [I(166,245)] = {64,0}, + [I(167,245)] = {64,0}, + [I(168,245)] = {64,0}, + [I(169,245)] = {64,0}, + [I(170,245)] = {64,0}, + [I(171,245)] = {64,0}, + [I(172,245)] = {64,0}, + [I(173,245)] = {64,0}, + [I(174,245)] = {64,0}, + [I(175,245)] = {64,0}, + [I(176,245)] = {64,0}, + [I(177,245)] = {64,0}, + [I(178,245)] = {64,0}, + [I(179,245)] = {64,0}, + [I(180,245)] = {64,0}, + [I(181,245)] = {64,0}, + [I(182,245)] = {64,0}, + [I(183,245)] = {64,0}, + [I(184,245)] = {64,0}, + [I(185,245)] = {64,0}, + [I(186,245)] = {64,0}, + [I(187,245)] = {64,0}, + [I(188,245)] = {64,0}, + [I(189,245)] = {64,0}, + [I(190,245)] = {64,0}, + [I(191,245)] = {64,0}, + [I(192,245)] = {64,0}, + [I(193,245)] = {64,0}, + [I(194,245)] = {64,0}, + [I(195,245)] = {64,0}, + [I(196,245)] = {64,0}, + [I(197,245)] = {64,0}, + [I(198,245)] = {64,0}, + [I(199,245)] = {64,0}, + [I(200,245)] = {64,0}, + [I(201,245)] = {64,0}, + [I(202,245)] = {64,0}, + [I(203,245)] = {64,0}, + [I(204,245)] = {64,0}, + [I(205,245)] = {64,0}, + [I(206,245)] = {64,0}, + [I(207,245)] = {64,0}, + [I(208,245)] = {64,0}, + [I(209,245)] = {64,0}, + [I(210,245)] = {64,0}, + [I(211,245)] = {64,0}, + [I(212,245)] = {64,0}, + [I(213,245)] = {64,0}, + [I(214,245)] = {64,0}, + [I(215,245)] = {64,0}, + [I(216,245)] = {64,0}, + [I(217,245)] = {64,0}, + [I(218,245)] = {64,0}, + [I(219,245)] = {64,0}, + [I(220,245)] = {64,0}, + [I(221,245)] = {64,0}, + [I(222,245)] = {64,0}, + [I(223,245)] = {64,0}, + [I(224,245)] = {64,0}, + [I(225,245)] = {64,0}, + [I(226,245)] = {64,0}, + [I(227,245)] = {64,0}, + [I(228,245)] = {64,0}, + [I(229,245)] = {64,0}, + [I(230,245)] = {64,0}, + [I(231,245)] = {64,0}, + [I(232,245)] = {64,0}, + [I(233,245)] = {64,0}, + [I(234,245)] = {64,0}, + [I(235,245)] = {64,0}, + [I(236,245)] = {64,0}, + [I(237,245)] = {64,0}, + [I(238,245)] = {64,0}, + [I(239,245)] = {64,0}, + [I(240,245)] = {64,0}, + [I(241,245)] = {64,0}, + [I(242,245)] = {64,0}, + [I(243,245)] = {64,0}, + [I(244,245)] = {64,0}, + [I(245,245)] = {64,0}, + [I(246,245)] = {64,0}, + [I(247,245)] = {64,0}, + [I(248,245)] = {64,0}, + [I(249,245)] = {64,0}, + [I(250,245)] = {64,0}, + [I(251,245)] = {64,0}, + [I(252,245)] = {64,0}, + [I(253,245)] = {64,0}, + [I(254,245)] = {64,0}, + [I(255,245)] = {64,0}, + [I(0,246)] = {64,0}, + [I(1,246)] = {64,0}, + [I(2,246)] = {64,0}, + [I(3,246)] = {64,0}, + [I(4,246)] = {64,0}, + [I(5,246)] = {64,0}, + [I(6,246)] = {64,0}, + [I(7,246)] = {64,0}, + [I(8,246)] = {64,0}, + [I(9,246)] = {64,0}, + [I(10,246)] = {64,0}, + [I(11,246)] = {64,0}, + [I(12,246)] = {64,0}, + [I(13,246)] = {64,0}, + [I(14,246)] = {64,0}, + [I(15,246)] = {64,0}, + [I(16,246)] = {64,0}, + [I(17,246)] = {64,0}, + [I(18,246)] = {64,0}, + [I(19,246)] = {64,0}, + [I(20,246)] = {64,0}, + [I(21,246)] = {64,0}, + [I(22,246)] = {64,0}, + [I(23,246)] = {64,0}, + [I(24,246)] = {64,0}, + [I(25,246)] = {64,0}, + [I(26,246)] = {64,0}, + [I(27,246)] = {64,0}, + [I(28,246)] = {64,0}, + [I(29,246)] = {64,0}, + [I(30,246)] = {64,0}, + [I(31,246)] = {64,0}, + [I(32,246)] = {64,0}, + [I(33,246)] = {64,0}, + [I(34,246)] = {64,0}, + [I(35,246)] = {64,0}, + [I(36,246)] = {64,0}, + [I(37,246)] = {64,0}, + [I(38,246)] = {64,0}, + [I(39,246)] = {64,0}, + [I(40,246)] = {64,0}, + [I(41,246)] = {64,0}, + [I(42,246)] = {64,0}, + [I(43,246)] = {64,0}, + [I(44,246)] = {64,0}, + [I(45,246)] = {64,0}, + [I(46,246)] = {64,0}, + [I(47,246)] = {64,0}, + [I(48,246)] = {X32,0x7FFFFE9}, + [I(49,246)] = {X32,0xFFFFFE9}, + [I(50,246)] = {X32,0x17FFFFE9}, + [I(51,246)] = {64,0}, + [I(52,246)] = {64,0}, + [I(53,246)] = {64,0}, + [I(54,246)] = {64,0}, + [I(55,246)] = {64,0}, + [I(56,246)] = {64,0}, + [I(57,246)] = {64,0}, + [I(58,246)] = {64,0}, + [I(59,246)] = {64,0}, + [I(60,246)] = {64,0}, + [I(61,246)] = {64,0}, + [I(62,246)] = {64,0}, + [I(63,246)] = {64,0}, + [I(64,246)] = {64,0}, + [I(65,246)] = {64,0}, + [I(66,246)] = {64,0}, + [I(67,246)] = {64,0}, + [I(68,246)] = {64,0}, + [I(69,246)] = {64,0}, + [I(70,246)] = {64,0}, + [I(71,246)] = {64,0}, + [I(72,246)] = {64,0}, + [I(73,246)] = {64,0}, + [I(74,246)] = {64,0}, + [I(75,246)] = {64,0}, + [I(76,246)] = {64,0}, + [I(77,246)] = {64,0}, + [I(78,246)] = {64,0}, + [I(79,246)] = {64,0}, + [I(80,246)] = {64,0}, + [I(81,246)] = {64,0}, + [I(82,246)] = {64,0}, + [I(83,246)] = {64,0}, + [I(84,246)] = {64,0}, + [I(85,246)] = {64,0}, + [I(86,246)] = {64,0}, + [I(87,246)] = {64,0}, + [I(88,246)] = {64,0}, + [I(89,246)] = {64,0}, + [I(90,246)] = {64,0}, + [I(91,246)] = {64,0}, + [I(92,246)] = {64,0}, + [I(93,246)] = {64,0}, + [I(94,246)] = {64,0}, + [I(95,246)] = {64,0}, + [I(96,246)] = {64,0}, + [I(97,246)] = {X32,0x1FFFFFE9}, + [I(98,246)] = {64,0}, + [I(99,246)] = {X32,0x27FFFFE9}, + [I(100,246)] = {64,0}, + [I(101,246)] = {X32,0x2FFFFFE9}, + [I(102,246)] = {64,0}, + [I(103,246)] = {64,0}, + [I(104,246)] = {64,0}, + [I(105,246)] = {X32,0x37FFFFE9}, + [I(106,246)] = {64,0}, + [I(107,246)] = {64,0}, + [I(108,246)] = {64,0}, + [I(109,246)] = {64,0}, + [I(110,246)] = {64,0}, + [I(111,246)] = {X32,0x3FFFFFE9}, + [I(112,246)] = {64,0}, + [I(113,246)] = {64,0}, + [I(114,246)] = {64,0}, + [I(115,246)] = {X32,0x47FFFFE9}, + [I(116,246)] = {X32,0x4FFFFFE9}, + [I(117,246)] = {64,0}, + [I(118,246)] = {64,0}, + [I(119,246)] = {64,0}, + [I(120,246)] = {64,0}, + [I(121,246)] = {64,0}, + [I(122,246)] = {64,0}, + [I(123,246)] = {64,0}, + [I(124,246)] = {64,0}, + [I(125,246)] = {64,0}, + [I(126,246)] = {64,0}, + [I(127,246)] = {64,0}, + [I(128,246)] = {64,0}, + [I(129,246)] = {64,0}, + [I(130,246)] = {64,0}, + [I(131,246)] = {64,0}, + [I(132,246)] = {64,0}, + [I(133,246)] = {64,0}, + [I(134,246)] = {64,0}, + [I(135,246)] = {64,0}, + [I(136,246)] = {64,0}, + [I(137,246)] = {64,0}, + [I(138,246)] = {64,0}, + [I(139,246)] = {64,0}, + [I(140,246)] = {64,0}, + [I(141,246)] = {64,0}, + [I(142,246)] = {64,0}, + [I(143,246)] = {64,0}, + [I(144,246)] = {64,0}, + [I(145,246)] = {64,0}, + [I(146,246)] = {64,0}, + [I(147,246)] = {64,0}, + [I(148,246)] = {64,0}, + [I(149,246)] = {64,0}, + [I(150,246)] = {64,0}, + [I(151,246)] = {64,0}, + [I(152,246)] = {64,0}, + [I(153,246)] = {64,0}, + [I(154,246)] = {64,0}, + [I(155,246)] = {64,0}, + [I(156,246)] = {64,0}, + [I(157,246)] = {64,0}, + [I(158,246)] = {64,0}, + [I(159,246)] = {64,0}, + [I(160,246)] = {64,0}, + [I(161,246)] = {64,0}, + [I(162,246)] = {64,0}, + [I(163,246)] = {64,0}, + [I(164,246)] = {64,0}, + [I(165,246)] = {64,0}, + [I(166,246)] = {64,0}, + [I(167,246)] = {64,0}, + [I(168,246)] = {64,0}, + [I(169,246)] = {64,0}, + [I(170,246)] = {64,0}, + [I(171,246)] = {64,0}, + [I(172,246)] = {64,0}, + [I(173,246)] = {64,0}, + [I(174,246)] = {64,0}, + [I(175,246)] = {64,0}, + [I(176,246)] = {64,0}, + [I(177,246)] = {64,0}, + [I(178,246)] = {64,0}, + [I(179,246)] = {64,0}, + [I(180,246)] = {64,0}, + [I(181,246)] = {64,0}, + [I(182,246)] = {64,0}, + [I(183,246)] = {64,0}, + [I(184,246)] = {64,0}, + [I(185,246)] = {64,0}, + [I(186,246)] = {64,0}, + [I(187,246)] = {64,0}, + [I(188,246)] = {64,0}, + [I(189,246)] = {64,0}, + [I(190,246)] = {64,0}, + [I(191,246)] = {64,0}, + [I(192,246)] = {64,0}, + [I(193,246)] = {64,0}, + [I(194,246)] = {64,0}, + [I(195,246)] = {64,0}, + [I(196,246)] = {64,0}, + [I(197,246)] = {64,0}, + [I(198,246)] = {64,0}, + [I(199,246)] = {64,0}, + [I(200,246)] = {64,0}, + [I(201,246)] = {64,0}, + [I(202,246)] = {64,0}, + [I(203,246)] = {64,0}, + [I(204,246)] = {64,0}, + [I(205,246)] = {64,0}, + [I(206,246)] = {64,0}, + [I(207,246)] = {64,0}, + [I(208,246)] = {64,0}, + [I(209,246)] = {64,0}, + [I(210,246)] = {64,0}, + [I(211,246)] = {64,0}, + [I(212,246)] = {64,0}, + [I(213,246)] = {64,0}, + [I(214,246)] = {64,0}, + [I(215,246)] = {64,0}, + [I(216,246)] = {64,0}, + [I(217,246)] = {64,0}, + [I(218,246)] = {64,0}, + [I(219,246)] = {64,0}, + [I(220,246)] = {64,0}, + [I(221,246)] = {64,0}, + [I(222,246)] = {64,0}, + [I(223,246)] = {64,0}, + [I(224,246)] = {64,0}, + [I(225,246)] = {64,0}, + [I(226,246)] = {64,0}, + [I(227,246)] = {64,0}, + [I(228,246)] = {64,0}, + [I(229,246)] = {64,0}, + [I(230,246)] = {64,0}, + [I(231,246)] = {64,0}, + [I(232,246)] = {64,0}, + [I(233,246)] = {64,0}, + [I(234,246)] = {64,0}, + [I(235,246)] = {64,0}, + [I(236,246)] = {64,0}, + [I(237,246)] = {64,0}, + [I(238,246)] = {64,0}, + [I(239,246)] = {64,0}, + [I(240,246)] = {64,0}, + [I(241,246)] = {64,0}, + [I(242,246)] = {64,0}, + [I(243,246)] = {64,0}, + [I(244,246)] = {64,0}, + [I(245,246)] = {64,0}, + [I(246,246)] = {64,0}, + [I(247,246)] = {64,0}, + [I(248,246)] = {64,0}, + [I(249,246)] = {64,0}, + [I(250,246)] = {64,0}, + [I(251,246)] = {64,0}, + [I(252,246)] = {64,0}, + [I(253,246)] = {64,0}, + [I(254,246)] = {64,0}, + [I(255,246)] = {64,0}, + [I(0,247)] = {64,0}, + [I(1,247)] = {64,0}, + [I(2,247)] = {64,0}, + [I(3,247)] = {64,0}, + [I(4,247)] = {64,0}, + [I(5,247)] = {64,0}, + [I(6,247)] = {64,0}, + [I(7,247)] = {64,0}, + [I(8,247)] = {64,0}, + [I(9,247)] = {64,0}, + [I(10,247)] = {64,0}, + [I(11,247)] = {64,0}, + [I(12,247)] = {64,0}, + [I(13,247)] = {64,0}, + [I(14,247)] = {64,0}, + [I(15,247)] = {64,0}, + [I(16,247)] = {64,0}, + [I(17,247)] = {64,0}, + [I(18,247)] = {64,0}, + [I(19,247)] = {64,0}, + [I(20,247)] = {64,0}, + [I(21,247)] = {64,0}, + [I(22,247)] = {64,0}, + [I(23,247)] = {64,0}, + [I(24,247)] = {64,0}, + [I(25,247)] = {64,0}, + [I(26,247)] = {64,0}, + [I(27,247)] = {64,0}, + [I(28,247)] = {64,0}, + [I(29,247)] = {64,0}, + [I(30,247)] = {64,0}, + [I(31,247)] = {64,0}, + [I(32,247)] = {64,0}, + [I(33,247)] = {64,0}, + [I(34,247)] = {64,0}, + [I(35,247)] = {64,0}, + [I(36,247)] = {64,0}, + [I(37,247)] = {64,0}, + [I(38,247)] = {64,0}, + [I(39,247)] = {64,0}, + [I(40,247)] = {64,0}, + [I(41,247)] = {64,0}, + [I(42,247)] = {64,0}, + [I(43,247)] = {64,0}, + [I(44,247)] = {64,0}, + [I(45,247)] = {64,0}, + [I(46,247)] = {64,0}, + [I(47,247)] = {64,0}, + [I(48,247)] = {X32,0x7FFFFEA}, + [I(49,247)] = {X32,0xFFFFFEA}, + [I(50,247)] = {X32,0x17FFFFEA}, + [I(51,247)] = {64,0}, + [I(52,247)] = {64,0}, + [I(53,247)] = {64,0}, + [I(54,247)] = {64,0}, + [I(55,247)] = {64,0}, + [I(56,247)] = {64,0}, + [I(57,247)] = {64,0}, + [I(58,247)] = {64,0}, + [I(59,247)] = {64,0}, + [I(60,247)] = {64,0}, + [I(61,247)] = {64,0}, + [I(62,247)] = {64,0}, + [I(63,247)] = {64,0}, + [I(64,247)] = {64,0}, + [I(65,247)] = {64,0}, + [I(66,247)] = {64,0}, + [I(67,247)] = {64,0}, + [I(68,247)] = {64,0}, + [I(69,247)] = {64,0}, + [I(70,247)] = {64,0}, + [I(71,247)] = {64,0}, + [I(72,247)] = {64,0}, + [I(73,247)] = {64,0}, + [I(74,247)] = {64,0}, + [I(75,247)] = {64,0}, + [I(76,247)] = {64,0}, + [I(77,247)] = {64,0}, + [I(78,247)] = {64,0}, + [I(79,247)] = {64,0}, + [I(80,247)] = {64,0}, + [I(81,247)] = {64,0}, + [I(82,247)] = {64,0}, + [I(83,247)] = {64,0}, + [I(84,247)] = {64,0}, + [I(85,247)] = {64,0}, + [I(86,247)] = {64,0}, + [I(87,247)] = {64,0}, + [I(88,247)] = {64,0}, + [I(89,247)] = {64,0}, + [I(90,247)] = {64,0}, + [I(91,247)] = {64,0}, + [I(92,247)] = {64,0}, + [I(93,247)] = {64,0}, + [I(94,247)] = {64,0}, + [I(95,247)] = {64,0}, + [I(96,247)] = {64,0}, + [I(97,247)] = {X32,0x1FFFFFEA}, + [I(98,247)] = {64,0}, + [I(99,247)] = {X32,0x27FFFFEA}, + [I(100,247)] = {64,0}, + [I(101,247)] = {X32,0x2FFFFFEA}, + [I(102,247)] = {64,0}, + [I(103,247)] = {64,0}, + [I(104,247)] = {64,0}, + [I(105,247)] = {X32,0x37FFFFEA}, + [I(106,247)] = {64,0}, + [I(107,247)] = {64,0}, + [I(108,247)] = {64,0}, + [I(109,247)] = {64,0}, + [I(110,247)] = {64,0}, + [I(111,247)] = {X32,0x3FFFFFEA}, + [I(112,247)] = {64,0}, + [I(113,247)] = {64,0}, + [I(114,247)] = {64,0}, + [I(115,247)] = {X32,0x47FFFFEA}, + [I(116,247)] = {X32,0x4FFFFFEA}, + [I(117,247)] = {64,0}, + [I(118,247)] = {64,0}, + [I(119,247)] = {64,0}, + [I(120,247)] = {64,0}, + [I(121,247)] = {64,0}, + [I(122,247)] = {64,0}, + [I(123,247)] = {64,0}, + [I(124,247)] = {64,0}, + [I(125,247)] = {64,0}, + [I(126,247)] = {64,0}, + [I(127,247)] = {64,0}, + [I(128,247)] = {64,0}, + [I(129,247)] = {64,0}, + [I(130,247)] = {64,0}, + [I(131,247)] = {64,0}, + [I(132,247)] = {64,0}, + [I(133,247)] = {64,0}, + [I(134,247)] = {64,0}, + [I(135,247)] = {64,0}, + [I(136,247)] = {64,0}, + [I(137,247)] = {64,0}, + [I(138,247)] = {64,0}, + [I(139,247)] = {64,0}, + [I(140,247)] = {64,0}, + [I(141,247)] = {64,0}, + [I(142,247)] = {64,0}, + [I(143,247)] = {64,0}, + [I(144,247)] = {64,0}, + [I(145,247)] = {64,0}, + [I(146,247)] = {64,0}, + [I(147,247)] = {64,0}, + [I(148,247)] = {64,0}, + [I(149,247)] = {64,0}, + [I(150,247)] = {64,0}, + [I(151,247)] = {64,0}, + [I(152,247)] = {64,0}, + [I(153,247)] = {64,0}, + [I(154,247)] = {64,0}, + [I(155,247)] = {64,0}, + [I(156,247)] = {64,0}, + [I(157,247)] = {64,0}, + [I(158,247)] = {64,0}, + [I(159,247)] = {64,0}, + [I(160,247)] = {64,0}, + [I(161,247)] = {64,0}, + [I(162,247)] = {64,0}, + [I(163,247)] = {64,0}, + [I(164,247)] = {64,0}, + [I(165,247)] = {64,0}, + [I(166,247)] = {64,0}, + [I(167,247)] = {64,0}, + [I(168,247)] = {64,0}, + [I(169,247)] = {64,0}, + [I(170,247)] = {64,0}, + [I(171,247)] = {64,0}, + [I(172,247)] = {64,0}, + [I(173,247)] = {64,0}, + [I(174,247)] = {64,0}, + [I(175,247)] = {64,0}, + [I(176,247)] = {64,0}, + [I(177,247)] = {64,0}, + [I(178,247)] = {64,0}, + [I(179,247)] = {64,0}, + [I(180,247)] = {64,0}, + [I(181,247)] = {64,0}, + [I(182,247)] = {64,0}, + [I(183,247)] = {64,0}, + [I(184,247)] = {64,0}, + [I(185,247)] = {64,0}, + [I(186,247)] = {64,0}, + [I(187,247)] = {64,0}, + [I(188,247)] = {64,0}, + [I(189,247)] = {64,0}, + [I(190,247)] = {64,0}, + [I(191,247)] = {64,0}, + [I(192,247)] = {64,0}, + [I(193,247)] = {64,0}, + [I(194,247)] = {64,0}, + [I(195,247)] = {64,0}, + [I(196,247)] = {64,0}, + [I(197,247)] = {64,0}, + [I(198,247)] = {64,0}, + [I(199,247)] = {64,0}, + [I(200,247)] = {64,0}, + [I(201,247)] = {64,0}, + [I(202,247)] = {64,0}, + [I(203,247)] = {64,0}, + [I(204,247)] = {64,0}, + [I(205,247)] = {64,0}, + [I(206,247)] = {64,0}, + [I(207,247)] = {64,0}, + [I(208,247)] = {64,0}, + [I(209,247)] = {64,0}, + [I(210,247)] = {64,0}, + [I(211,247)] = {64,0}, + [I(212,247)] = {64,0}, + [I(213,247)] = {64,0}, + [I(214,247)] = {64,0}, + [I(215,247)] = {64,0}, + [I(216,247)] = {64,0}, + [I(217,247)] = {64,0}, + [I(218,247)] = {64,0}, + [I(219,247)] = {64,0}, + [I(220,247)] = {64,0}, + [I(221,247)] = {64,0}, + [I(222,247)] = {64,0}, + [I(223,247)] = {64,0}, + [I(224,247)] = {64,0}, + [I(225,247)] = {64,0}, + [I(226,247)] = {64,0}, + [I(227,247)] = {64,0}, + [I(228,247)] = {64,0}, + [I(229,247)] = {64,0}, + [I(230,247)] = {64,0}, + [I(231,247)] = {64,0}, + [I(232,247)] = {64,0}, + [I(233,247)] = {64,0}, + [I(234,247)] = {64,0}, + [I(235,247)] = {64,0}, + [I(236,247)] = {64,0}, + [I(237,247)] = {64,0}, + [I(238,247)] = {64,0}, + [I(239,247)] = {64,0}, + [I(240,247)] = {64,0}, + [I(241,247)] = {64,0}, + [I(242,247)] = {64,0}, + [I(243,247)] = {64,0}, + [I(244,247)] = {64,0}, + [I(245,247)] = {64,0}, + [I(246,247)] = {64,0}, + [I(247,247)] = {64,0}, + [I(248,247)] = {64,0}, + [I(249,247)] = {64,0}, + [I(250,247)] = {64,0}, + [I(251,247)] = {64,0}, + [I(252,247)] = {64,0}, + [I(253,247)] = {64,0}, + [I(254,247)] = {64,0}, + [I(255,247)] = {64,0}, + [I(0,248)] = {64,0}, + [I(1,248)] = {64,0}, + [I(2,248)] = {64,0}, + [I(3,248)] = {64,0}, + [I(4,248)] = {64,0}, + [I(5,248)] = {64,0}, + [I(6,248)] = {64,0}, + [I(7,248)] = {64,0}, + [I(8,248)] = {64,0}, + [I(9,248)] = {64,0}, + [I(10,248)] = {64,0}, + [I(11,248)] = {64,0}, + [I(12,248)] = {64,0}, + [I(13,248)] = {64,0}, + [I(14,248)] = {64,0}, + [I(15,248)] = {64,0}, + [I(16,248)] = {64,0}, + [I(17,248)] = {64,0}, + [I(18,248)] = {64,0}, + [I(19,248)] = {64,0}, + [I(20,248)] = {64,0}, + [I(21,248)] = {64,0}, + [I(22,248)] = {64,0}, + [I(23,248)] = {64,0}, + [I(24,248)] = {64,0}, + [I(25,248)] = {64,0}, + [I(26,248)] = {64,0}, + [I(27,248)] = {64,0}, + [I(28,248)] = {64,0}, + [I(29,248)] = {64,0}, + [I(30,248)] = {64,0}, + [I(31,248)] = {64,0}, + [I(32,248)] = {64,0}, + [I(33,248)] = {64,0}, + [I(34,248)] = {64,0}, + [I(35,248)] = {64,0}, + [I(36,248)] = {64,0}, + [I(37,248)] = {64,0}, + [I(38,248)] = {64,0}, + [I(39,248)] = {64,0}, + [I(40,248)] = {64,0}, + [I(41,248)] = {64,0}, + [I(42,248)] = {64,0}, + [I(43,248)] = {64,0}, + [I(44,248)] = {64,0}, + [I(45,248)] = {64,0}, + [I(46,248)] = {64,0}, + [I(47,248)] = {64,0}, + [I(48,248)] = {X32,0x7FFFFEB}, + [I(49,248)] = {X32,0xFFFFFEB}, + [I(50,248)] = {X32,0x17FFFFEB}, + [I(51,248)] = {64,0}, + [I(52,248)] = {64,0}, + [I(53,248)] = {64,0}, + [I(54,248)] = {64,0}, + [I(55,248)] = {64,0}, + [I(56,248)] = {64,0}, + [I(57,248)] = {64,0}, + [I(58,248)] = {64,0}, + [I(59,248)] = {64,0}, + [I(60,248)] = {64,0}, + [I(61,248)] = {64,0}, + [I(62,248)] = {64,0}, + [I(63,248)] = {64,0}, + [I(64,248)] = {64,0}, + [I(65,248)] = {64,0}, + [I(66,248)] = {64,0}, + [I(67,248)] = {64,0}, + [I(68,248)] = {64,0}, + [I(69,248)] = {64,0}, + [I(70,248)] = {64,0}, + [I(71,248)] = {64,0}, + [I(72,248)] = {64,0}, + [I(73,248)] = {64,0}, + [I(74,248)] = {64,0}, + [I(75,248)] = {64,0}, + [I(76,248)] = {64,0}, + [I(77,248)] = {64,0}, + [I(78,248)] = {64,0}, + [I(79,248)] = {64,0}, + [I(80,248)] = {64,0}, + [I(81,248)] = {64,0}, + [I(82,248)] = {64,0}, + [I(83,248)] = {64,0}, + [I(84,248)] = {64,0}, + [I(85,248)] = {64,0}, + [I(86,248)] = {64,0}, + [I(87,248)] = {64,0}, + [I(88,248)] = {64,0}, + [I(89,248)] = {64,0}, + [I(90,248)] = {64,0}, + [I(91,248)] = {64,0}, + [I(92,248)] = {64,0}, + [I(93,248)] = {64,0}, + [I(94,248)] = {64,0}, + [I(95,248)] = {64,0}, + [I(96,248)] = {64,0}, + [I(97,248)] = {X32,0x1FFFFFEB}, + [I(98,248)] = {64,0}, + [I(99,248)] = {X32,0x27FFFFEB}, + [I(100,248)] = {64,0}, + [I(101,248)] = {X32,0x2FFFFFEB}, + [I(102,248)] = {64,0}, + [I(103,248)] = {64,0}, + [I(104,248)] = {64,0}, + [I(105,248)] = {X32,0x37FFFFEB}, + [I(106,248)] = {64,0}, + [I(107,248)] = {64,0}, + [I(108,248)] = {64,0}, + [I(109,248)] = {64,0}, + [I(110,248)] = {64,0}, + [I(111,248)] = {X32,0x3FFFFFEB}, + [I(112,248)] = {64,0}, + [I(113,248)] = {64,0}, + [I(114,248)] = {64,0}, + [I(115,248)] = {X32,0x47FFFFEB}, + [I(116,248)] = {X32,0x4FFFFFEB}, + [I(117,248)] = {64,0}, + [I(118,248)] = {64,0}, + [I(119,248)] = {64,0}, + [I(120,248)] = {64,0}, + [I(121,248)] = {64,0}, + [I(122,248)] = {64,0}, + [I(123,248)] = {64,0}, + [I(124,248)] = {64,0}, + [I(125,248)] = {64,0}, + [I(126,248)] = {64,0}, + [I(127,248)] = {64,0}, + [I(128,248)] = {64,0}, + [I(129,248)] = {64,0}, + [I(130,248)] = {64,0}, + [I(131,248)] = {64,0}, + [I(132,248)] = {64,0}, + [I(133,248)] = {64,0}, + [I(134,248)] = {64,0}, + [I(135,248)] = {64,0}, + [I(136,248)] = {64,0}, + [I(137,248)] = {64,0}, + [I(138,248)] = {64,0}, + [I(139,248)] = {64,0}, + [I(140,248)] = {64,0}, + [I(141,248)] = {64,0}, + [I(142,248)] = {64,0}, + [I(143,248)] = {64,0}, + [I(144,248)] = {64,0}, + [I(145,248)] = {64,0}, + [I(146,248)] = {64,0}, + [I(147,248)] = {64,0}, + [I(148,248)] = {64,0}, + [I(149,248)] = {64,0}, + [I(150,248)] = {64,0}, + [I(151,248)] = {64,0}, + [I(152,248)] = {64,0}, + [I(153,248)] = {64,0}, + [I(154,248)] = {64,0}, + [I(155,248)] = {64,0}, + [I(156,248)] = {64,0}, + [I(157,248)] = {64,0}, + [I(158,248)] = {64,0}, + [I(159,248)] = {64,0}, + [I(160,248)] = {64,0}, + [I(161,248)] = {64,0}, + [I(162,248)] = {64,0}, + [I(163,248)] = {64,0}, + [I(164,248)] = {64,0}, + [I(165,248)] = {64,0}, + [I(166,248)] = {64,0}, + [I(167,248)] = {64,0}, + [I(168,248)] = {64,0}, + [I(169,248)] = {64,0}, + [I(170,248)] = {64,0}, + [I(171,248)] = {64,0}, + [I(172,248)] = {64,0}, + [I(173,248)] = {64,0}, + [I(174,248)] = {64,0}, + [I(175,248)] = {64,0}, + [I(176,248)] = {64,0}, + [I(177,248)] = {64,0}, + [I(178,248)] = {64,0}, + [I(179,248)] = {64,0}, + [I(180,248)] = {64,0}, + [I(181,248)] = {64,0}, + [I(182,248)] = {64,0}, + [I(183,248)] = {64,0}, + [I(184,248)] = {64,0}, + [I(185,248)] = {64,0}, + [I(186,248)] = {64,0}, + [I(187,248)] = {64,0}, + [I(188,248)] = {64,0}, + [I(189,248)] = {64,0}, + [I(190,248)] = {64,0}, + [I(191,248)] = {64,0}, + [I(192,248)] = {64,0}, + [I(193,248)] = {64,0}, + [I(194,248)] = {64,0}, + [I(195,248)] = {64,0}, + [I(196,248)] = {64,0}, + [I(197,248)] = {64,0}, + [I(198,248)] = {64,0}, + [I(199,248)] = {64,0}, + [I(200,248)] = {64,0}, + [I(201,248)] = {64,0}, + [I(202,248)] = {64,0}, + [I(203,248)] = {64,0}, + [I(204,248)] = {64,0}, + [I(205,248)] = {64,0}, + [I(206,248)] = {64,0}, + [I(207,248)] = {64,0}, + [I(208,248)] = {64,0}, + [I(209,248)] = {64,0}, + [I(210,248)] = {64,0}, + [I(211,248)] = {64,0}, + [I(212,248)] = {64,0}, + [I(213,248)] = {64,0}, + [I(214,248)] = {64,0}, + [I(215,248)] = {64,0}, + [I(216,248)] = {64,0}, + [I(217,248)] = {64,0}, + [I(218,248)] = {64,0}, + [I(219,248)] = {64,0}, + [I(220,248)] = {64,0}, + [I(221,248)] = {64,0}, + [I(222,248)] = {64,0}, + [I(223,248)] = {64,0}, + [I(224,248)] = {64,0}, + [I(225,248)] = {64,0}, + [I(226,248)] = {64,0}, + [I(227,248)] = {64,0}, + [I(228,248)] = {64,0}, + [I(229,248)] = {64,0}, + [I(230,248)] = {64,0}, + [I(231,248)] = {64,0}, + [I(232,248)] = {64,0}, + [I(233,248)] = {64,0}, + [I(234,248)] = {64,0}, + [I(235,248)] = {64,0}, + [I(236,248)] = {64,0}, + [I(237,248)] = {64,0}, + [I(238,248)] = {64,0}, + [I(239,248)] = {64,0}, + [I(240,248)] = {64,0}, + [I(241,248)] = {64,0}, + [I(242,248)] = {64,0}, + [I(243,248)] = {64,0}, + [I(244,248)] = {64,0}, + [I(245,248)] = {64,0}, + [I(246,248)] = {64,0}, + [I(247,248)] = {64,0}, + [I(248,248)] = {64,0}, + [I(249,248)] = {64,0}, + [I(250,248)] = {64,0}, + [I(251,248)] = {64,0}, + [I(252,248)] = {64,0}, + [I(253,248)] = {64,0}, + [I(254,248)] = {64,0}, + [I(255,248)] = {64,0}, + [I(0,249)] = {64,0}, + [I(1,249)] = {64,0}, + [I(2,249)] = {64,0}, + [I(3,249)] = {64,0}, + [I(4,249)] = {64,0}, + [I(5,249)] = {64,0}, + [I(6,249)] = {64,0}, + [I(7,249)] = {64,0}, + [I(8,249)] = {64,0}, + [I(9,249)] = {64,0}, + [I(10,249)] = {64,0}, + [I(11,249)] = {64,0}, + [I(12,249)] = {64,0}, + [I(13,249)] = {64,0}, + [I(14,249)] = {64,0}, + [I(15,249)] = {64,0}, + [I(16,249)] = {64,0}, + [I(17,249)] = {64,0}, + [I(18,249)] = {64,0}, + [I(19,249)] = {64,0}, + [I(20,249)] = {64,0}, + [I(21,249)] = {64,0}, + [I(22,249)] = {64,0}, + [I(23,249)] = {64,0}, + [I(24,249)] = {64,0}, + [I(25,249)] = {64,0}, + [I(26,249)] = {64,0}, + [I(27,249)] = {64,0}, + [I(28,249)] = {64,0}, + [I(29,249)] = {64,0}, + [I(30,249)] = {64,0}, + [I(31,249)] = {64,0}, + [I(32,249)] = {64,0}, + [I(33,249)] = {64,0}, + [I(34,249)] = {64,0}, + [I(35,249)] = {64,0}, + [I(36,249)] = {64,0}, + [I(37,249)] = {64,0}, + [I(38,249)] = {64,0}, + [I(39,249)] = {64,0}, + [I(40,249)] = {64,0}, + [I(41,249)] = {64,0}, + [I(42,249)] = {64,0}, + [I(43,249)] = {64,0}, + [I(44,249)] = {64,0}, + [I(45,249)] = {64,0}, + [I(46,249)] = {64,0}, + [I(47,249)] = {64,0}, + [I(48,249)] = {64,0}, + [I(49,249)] = {64,0}, + [I(50,249)] = {64,0}, + [I(51,249)] = {64,0}, + [I(52,249)] = {64,0}, + [I(53,249)] = {64,0}, + [I(54,249)] = {64,0}, + [I(55,249)] = {64,0}, + [I(56,249)] = {64,0}, + [I(57,249)] = {64,0}, + [I(58,249)] = {64,0}, + [I(59,249)] = {64,0}, + [I(60,249)] = {64,0}, + [I(61,249)] = {64,0}, + [I(62,249)] = {64,0}, + [I(63,249)] = {64,0}, + [I(64,249)] = {64,0}, + [I(65,249)] = {64,0}, + [I(66,249)] = {64,0}, + [I(67,249)] = {64,0}, + [I(68,249)] = {64,0}, + [I(69,249)] = {64,0}, + [I(70,249)] = {64,0}, + [I(71,249)] = {64,0}, + [I(72,249)] = {64,0}, + [I(73,249)] = {64,0}, + [I(74,249)] = {64,0}, + [I(75,249)] = {64,0}, + [I(76,249)] = {64,0}, + [I(77,249)] = {64,0}, + [I(78,249)] = {64,0}, + [I(79,249)] = {64,0}, + [I(80,249)] = {64,0}, + [I(81,249)] = {64,0}, + [I(82,249)] = {64,0}, + [I(83,249)] = {64,0}, + [I(84,249)] = {64,0}, + [I(85,249)] = {64,0}, + [I(86,249)] = {64,0}, + [I(87,249)] = {64,0}, + [I(88,249)] = {64,0}, + [I(89,249)] = {64,0}, + [I(90,249)] = {64,0}, + [I(91,249)] = {64,0}, + [I(92,249)] = {64,0}, + [I(93,249)] = {64,0}, + [I(94,249)] = {64,0}, + [I(95,249)] = {64,0}, + [I(96,249)] = {64,0}, + [I(97,249)] = {64,0}, + [I(98,249)] = {64,0}, + [I(99,249)] = {64,0}, + [I(100,249)] = {64,0}, + [I(101,249)] = {64,0}, + [I(102,249)] = {64,0}, + [I(103,249)] = {64,0}, + [I(104,249)] = {64,0}, + [I(105,249)] = {64,0}, + [I(106,249)] = {64,0}, + [I(107,249)] = {64,0}, + [I(108,249)] = {64,0}, + [I(109,249)] = {64,0}, + [I(110,249)] = {64,0}, + [I(111,249)] = {64,0}, + [I(112,249)] = {64,0}, + [I(113,249)] = {64,0}, + [I(114,249)] = {64,0}, + [I(115,249)] = {64,0}, + [I(116,249)] = {64,0}, + [I(117,249)] = {64,0}, + [I(118,249)] = {64,0}, + [I(119,249)] = {64,0}, + [I(120,249)] = {64,0}, + [I(121,249)] = {64,0}, + [I(122,249)] = {64,0}, + [I(123,249)] = {64,0}, + [I(124,249)] = {64,0}, + [I(125,249)] = {64,0}, + [I(126,249)] = {64,0}, + [I(127,249)] = {64,0}, + [I(128,249)] = {64,0}, + [I(129,249)] = {64,0}, + [I(130,249)] = {64,0}, + [I(131,249)] = {64,0}, + [I(132,249)] = {64,0}, + [I(133,249)] = {64,0}, + [I(134,249)] = {64,0}, + [I(135,249)] = {64,0}, + [I(136,249)] = {64,0}, + [I(137,249)] = {64,0}, + [I(138,249)] = {64,0}, + [I(139,249)] = {64,0}, + [I(140,249)] = {64,0}, + [I(141,249)] = {64,0}, + [I(142,249)] = {64,0}, + [I(143,249)] = {64,0}, + [I(144,249)] = {64,0}, + [I(145,249)] = {64,0}, + [I(146,249)] = {64,0}, + [I(147,249)] = {64,0}, + [I(148,249)] = {64,0}, + [I(149,249)] = {64,0}, + [I(150,249)] = {64,0}, + [I(151,249)] = {64,0}, + [I(152,249)] = {64,0}, + [I(153,249)] = {64,0}, + [I(154,249)] = {64,0}, + [I(155,249)] = {64,0}, + [I(156,249)] = {64,0}, + [I(157,249)] = {64,0}, + [I(158,249)] = {64,0}, + [I(159,249)] = {64,0}, + [I(160,249)] = {64,0}, + [I(161,249)] = {64,0}, + [I(162,249)] = {64,0}, + [I(163,249)] = {64,0}, + [I(164,249)] = {64,0}, + [I(165,249)] = {64,0}, + [I(166,249)] = {64,0}, + [I(167,249)] = {64,0}, + [I(168,249)] = {64,0}, + [I(169,249)] = {64,0}, + [I(170,249)] = {64,0}, + [I(171,249)] = {64,0}, + [I(172,249)] = {64,0}, + [I(173,249)] = {64,0}, + [I(174,249)] = {64,0}, + [I(175,249)] = {64,0}, + [I(176,249)] = {64,0}, + [I(177,249)] = {64,0}, + [I(178,249)] = {64,0}, + [I(179,249)] = {64,0}, + [I(180,249)] = {64,0}, + [I(181,249)] = {64,0}, + [I(182,249)] = {64,0}, + [I(183,249)] = {64,0}, + [I(184,249)] = {64,0}, + [I(185,249)] = {64,0}, + [I(186,249)] = {64,0}, + [I(187,249)] = {64,0}, + [I(188,249)] = {64,0}, + [I(189,249)] = {64,0}, + [I(190,249)] = {64,0}, + [I(191,249)] = {64,0}, + [I(192,249)] = {64,0}, + [I(193,249)] = {64,0}, + [I(194,249)] = {64,0}, + [I(195,249)] = {64,0}, + [I(196,249)] = {64,0}, + [I(197,249)] = {64,0}, + [I(198,249)] = {64,0}, + [I(199,249)] = {64,0}, + [I(200,249)] = {64,0}, + [I(201,249)] = {64,0}, + [I(202,249)] = {64,0}, + [I(203,249)] = {64,0}, + [I(204,249)] = {64,0}, + [I(205,249)] = {64,0}, + [I(206,249)] = {64,0}, + [I(207,249)] = {64,0}, + [I(208,249)] = {64,0}, + [I(209,249)] = {64,0}, + [I(210,249)] = {64,0}, + [I(211,249)] = {64,0}, + [I(212,249)] = {64,0}, + [I(213,249)] = {64,0}, + [I(214,249)] = {64,0}, + [I(215,249)] = {64,0}, + [I(216,249)] = {64,0}, + [I(217,249)] = {64,0}, + [I(218,249)] = {64,0}, + [I(219,249)] = {64,0}, + [I(220,249)] = {64,0}, + [I(221,249)] = {64,0}, + [I(222,249)] = {64,0}, + [I(223,249)] = {64,0}, + [I(224,249)] = {64,0}, + [I(225,249)] = {64,0}, + [I(226,249)] = {64,0}, + [I(227,249)] = {64,0}, + [I(228,249)] = {64,0}, + [I(229,249)] = {64,0}, + [I(230,249)] = {64,0}, + [I(231,249)] = {64,0}, + [I(232,249)] = {64,0}, + [I(233,249)] = {64,0}, + [I(234,249)] = {64,0}, + [I(235,249)] = {64,0}, + [I(236,249)] = {64,0}, + [I(237,249)] = {64,0}, + [I(238,249)] = {64,0}, + [I(239,249)] = {64,0}, + [I(240,249)] = {64,0}, + [I(241,249)] = {64,0}, + [I(242,249)] = {64,0}, + [I(243,249)] = {64,0}, + [I(244,249)] = {64,0}, + [I(245,249)] = {64,0}, + [I(246,249)] = {64,0}, + [I(247,249)] = {64,0}, + [I(248,249)] = {64,0}, + [I(249,249)] = {64,0}, + [I(250,249)] = {64,0}, + [I(251,249)] = {64,0}, + [I(252,249)] = {64,0}, + [I(253,249)] = {64,0}, + [I(254,249)] = {64,0}, + [I(255,249)] = {64,0}, + [I(0,250)] = {64,0}, + [I(1,250)] = {64,0}, + [I(2,250)] = {64,0}, + [I(3,250)] = {64,0}, + [I(4,250)] = {64,0}, + [I(5,250)] = {64,0}, + [I(6,250)] = {64,0}, + [I(7,250)] = {64,0}, + [I(8,250)] = {64,0}, + [I(9,250)] = {64,0}, + [I(10,250)] = {64,0}, + [I(11,250)] = {64,0}, + [I(12,250)] = {64,0}, + [I(13,250)] = {64,0}, + [I(14,250)] = {64,0}, + [I(15,250)] = {64,0}, + [I(16,250)] = {64,0}, + [I(17,250)] = {64,0}, + [I(18,250)] = {64,0}, + [I(19,250)] = {64,0}, + [I(20,250)] = {64,0}, + [I(21,250)] = {64,0}, + [I(22,250)] = {64,0}, + [I(23,250)] = {64,0}, + [I(24,250)] = {64,0}, + [I(25,250)] = {64,0}, + [I(26,250)] = {64,0}, + [I(27,250)] = {64,0}, + [I(28,250)] = {64,0}, + [I(29,250)] = {64,0}, + [I(30,250)] = {64,0}, + [I(31,250)] = {64,0}, + [I(32,250)] = {64,0}, + [I(33,250)] = {64,0}, + [I(34,250)] = {64,0}, + [I(35,250)] = {64,0}, + [I(36,250)] = {64,0}, + [I(37,250)] = {64,0}, + [I(38,250)] = {64,0}, + [I(39,250)] = {64,0}, + [I(40,250)] = {64,0}, + [I(41,250)] = {64,0}, + [I(42,250)] = {64,0}, + [I(43,250)] = {64,0}, + [I(44,250)] = {64,0}, + [I(45,250)] = {64,0}, + [I(46,250)] = {64,0}, + [I(47,250)] = {64,0}, + [I(48,250)] = {X32,0x7FFFFEC}, + [I(49,250)] = {X32,0xFFFFFEC}, + [I(50,250)] = {X32,0x17FFFFEC}, + [I(51,250)] = {64,0}, + [I(52,250)] = {64,0}, + [I(53,250)] = {64,0}, + [I(54,250)] = {64,0}, + [I(55,250)] = {64,0}, + [I(56,250)] = {64,0}, + [I(57,250)] = {64,0}, + [I(58,250)] = {64,0}, + [I(59,250)] = {64,0}, + [I(60,250)] = {64,0}, + [I(61,250)] = {64,0}, + [I(62,250)] = {64,0}, + [I(63,250)] = {64,0}, + [I(64,250)] = {64,0}, + [I(65,250)] = {64,0}, + [I(66,250)] = {64,0}, + [I(67,250)] = {64,0}, + [I(68,250)] = {64,0}, + [I(69,250)] = {64,0}, + [I(70,250)] = {64,0}, + [I(71,250)] = {64,0}, + [I(72,250)] = {64,0}, + [I(73,250)] = {64,0}, + [I(74,250)] = {64,0}, + [I(75,250)] = {64,0}, + [I(76,250)] = {64,0}, + [I(77,250)] = {64,0}, + [I(78,250)] = {64,0}, + [I(79,250)] = {64,0}, + [I(80,250)] = {64,0}, + [I(81,250)] = {64,0}, + [I(82,250)] = {64,0}, + [I(83,250)] = {64,0}, + [I(84,250)] = {64,0}, + [I(85,250)] = {64,0}, + [I(86,250)] = {64,0}, + [I(87,250)] = {64,0}, + [I(88,250)] = {64,0}, + [I(89,250)] = {64,0}, + [I(90,250)] = {64,0}, + [I(91,250)] = {64,0}, + [I(92,250)] = {64,0}, + [I(93,250)] = {64,0}, + [I(94,250)] = {64,0}, + [I(95,250)] = {64,0}, + [I(96,250)] = {64,0}, + [I(97,250)] = {X32,0x1FFFFFEC}, + [I(98,250)] = {64,0}, + [I(99,250)] = {X32,0x27FFFFEC}, + [I(100,250)] = {64,0}, + [I(101,250)] = {X32,0x2FFFFFEC}, + [I(102,250)] = {64,0}, + [I(103,250)] = {64,0}, + [I(104,250)] = {64,0}, + [I(105,250)] = {X32,0x37FFFFEC}, + [I(106,250)] = {64,0}, + [I(107,250)] = {64,0}, + [I(108,250)] = {64,0}, + [I(109,250)] = {64,0}, + [I(110,250)] = {64,0}, + [I(111,250)] = {X32,0x3FFFFFEC}, + [I(112,250)] = {64,0}, + [I(113,250)] = {64,0}, + [I(114,250)] = {64,0}, + [I(115,250)] = {X32,0x47FFFFEC}, + [I(116,250)] = {X32,0x4FFFFFEC}, + [I(117,250)] = {64,0}, + [I(118,250)] = {64,0}, + [I(119,250)] = {64,0}, + [I(120,250)] = {64,0}, + [I(121,250)] = {64,0}, + [I(122,250)] = {64,0}, + [I(123,250)] = {64,0}, + [I(124,250)] = {64,0}, + [I(125,250)] = {64,0}, + [I(126,250)] = {64,0}, + [I(127,250)] = {64,0}, + [I(128,250)] = {64,0}, + [I(129,250)] = {64,0}, + [I(130,250)] = {64,0}, + [I(131,250)] = {64,0}, + [I(132,250)] = {64,0}, + [I(133,250)] = {64,0}, + [I(134,250)] = {64,0}, + [I(135,250)] = {64,0}, + [I(136,250)] = {64,0}, + [I(137,250)] = {64,0}, + [I(138,250)] = {64,0}, + [I(139,250)] = {64,0}, + [I(140,250)] = {64,0}, + [I(141,250)] = {64,0}, + [I(142,250)] = {64,0}, + [I(143,250)] = {64,0}, + [I(144,250)] = {64,0}, + [I(145,250)] = {64,0}, + [I(146,250)] = {64,0}, + [I(147,250)] = {64,0}, + [I(148,250)] = {64,0}, + [I(149,250)] = {64,0}, + [I(150,250)] = {64,0}, + [I(151,250)] = {64,0}, + [I(152,250)] = {64,0}, + [I(153,250)] = {64,0}, + [I(154,250)] = {64,0}, + [I(155,250)] = {64,0}, + [I(156,250)] = {64,0}, + [I(157,250)] = {64,0}, + [I(158,250)] = {64,0}, + [I(159,250)] = {64,0}, + [I(160,250)] = {64,0}, + [I(161,250)] = {64,0}, + [I(162,250)] = {64,0}, + [I(163,250)] = {64,0}, + [I(164,250)] = {64,0}, + [I(165,250)] = {64,0}, + [I(166,250)] = {64,0}, + [I(167,250)] = {64,0}, + [I(168,250)] = {64,0}, + [I(169,250)] = {64,0}, + [I(170,250)] = {64,0}, + [I(171,250)] = {64,0}, + [I(172,250)] = {64,0}, + [I(173,250)] = {64,0}, + [I(174,250)] = {64,0}, + [I(175,250)] = {64,0}, + [I(176,250)] = {64,0}, + [I(177,250)] = {64,0}, + [I(178,250)] = {64,0}, + [I(179,250)] = {64,0}, + [I(180,250)] = {64,0}, + [I(181,250)] = {64,0}, + [I(182,250)] = {64,0}, + [I(183,250)] = {64,0}, + [I(184,250)] = {64,0}, + [I(185,250)] = {64,0}, + [I(186,250)] = {64,0}, + [I(187,250)] = {64,0}, + [I(188,250)] = {64,0}, + [I(189,250)] = {64,0}, + [I(190,250)] = {64,0}, + [I(191,250)] = {64,0}, + [I(192,250)] = {64,0}, + [I(193,250)] = {64,0}, + [I(194,250)] = {64,0}, + [I(195,250)] = {64,0}, + [I(196,250)] = {64,0}, + [I(197,250)] = {64,0}, + [I(198,250)] = {64,0}, + [I(199,250)] = {64,0}, + [I(200,250)] = {64,0}, + [I(201,250)] = {64,0}, + [I(202,250)] = {64,0}, + [I(203,250)] = {64,0}, + [I(204,250)] = {64,0}, + [I(205,250)] = {64,0}, + [I(206,250)] = {64,0}, + [I(207,250)] = {64,0}, + [I(208,250)] = {64,0}, + [I(209,250)] = {64,0}, + [I(210,250)] = {64,0}, + [I(211,250)] = {64,0}, + [I(212,250)] = {64,0}, + [I(213,250)] = {64,0}, + [I(214,250)] = {64,0}, + [I(215,250)] = {64,0}, + [I(216,250)] = {64,0}, + [I(217,250)] = {64,0}, + [I(218,250)] = {64,0}, + [I(219,250)] = {64,0}, + [I(220,250)] = {64,0}, + [I(221,250)] = {64,0}, + [I(222,250)] = {64,0}, + [I(223,250)] = {64,0}, + [I(224,250)] = {64,0}, + [I(225,250)] = {64,0}, + [I(226,250)] = {64,0}, + [I(227,250)] = {64,0}, + [I(228,250)] = {64,0}, + [I(229,250)] = {64,0}, + [I(230,250)] = {64,0}, + [I(231,250)] = {64,0}, + [I(232,250)] = {64,0}, + [I(233,250)] = {64,0}, + [I(234,250)] = {64,0}, + [I(235,250)] = {64,0}, + [I(236,250)] = {64,0}, + [I(237,250)] = {64,0}, + [I(238,250)] = {64,0}, + [I(239,250)] = {64,0}, + [I(240,250)] = {64,0}, + [I(241,250)] = {64,0}, + [I(242,250)] = {64,0}, + [I(243,250)] = {64,0}, + [I(244,250)] = {64,0}, + [I(245,250)] = {64,0}, + [I(246,250)] = {64,0}, + [I(247,250)] = {64,0}, + [I(248,250)] = {64,0}, + [I(249,250)] = {64,0}, + [I(250,250)] = {64,0}, + [I(251,250)] = {64,0}, + [I(252,250)] = {64,0}, + [I(253,250)] = {64,0}, + [I(254,250)] = {64,0}, + [I(255,250)] = {64,0}, + [I(0,251)] = {64,0}, + [I(1,251)] = {64,0}, + [I(2,251)] = {64,0}, + [I(3,251)] = {64,0}, + [I(4,251)] = {64,0}, + [I(5,251)] = {64,0}, + [I(6,251)] = {64,0}, + [I(7,251)] = {64,0}, + [I(8,251)] = {64,0}, + [I(9,251)] = {64,0}, + [I(10,251)] = {64,0}, + [I(11,251)] = {64,0}, + [I(12,251)] = {64,0}, + [I(13,251)] = {64,0}, + [I(14,251)] = {64,0}, + [I(15,251)] = {64,0}, + [I(16,251)] = {64,0}, + [I(17,251)] = {64,0}, + [I(18,251)] = {64,0}, + [I(19,251)] = {64,0}, + [I(20,251)] = {64,0}, + [I(21,251)] = {64,0}, + [I(22,251)] = {64,0}, + [I(23,251)] = {64,0}, + [I(24,251)] = {64,0}, + [I(25,251)] = {64,0}, + [I(26,251)] = {64,0}, + [I(27,251)] = {64,0}, + [I(28,251)] = {64,0}, + [I(29,251)] = {64,0}, + [I(30,251)] = {64,0}, + [I(31,251)] = {64,0}, + [I(32,251)] = {64,0}, + [I(33,251)] = {64,0}, + [I(34,251)] = {64,0}, + [I(35,251)] = {64,0}, + [I(36,251)] = {64,0}, + [I(37,251)] = {64,0}, + [I(38,251)] = {64,0}, + [I(39,251)] = {64,0}, + [I(40,251)] = {64,0}, + [I(41,251)] = {64,0}, + [I(42,251)] = {64,0}, + [I(43,251)] = {64,0}, + [I(44,251)] = {64,0}, + [I(45,251)] = {64,0}, + [I(46,251)] = {64,0}, + [I(47,251)] = {64,0}, + [I(48,251)] = {X32,0x7FFFFED}, + [I(49,251)] = {X32,0xFFFFFED}, + [I(50,251)] = {X32,0x17FFFFED}, + [I(51,251)] = {64,0}, + [I(52,251)] = {64,0}, + [I(53,251)] = {64,0}, + [I(54,251)] = {64,0}, + [I(55,251)] = {64,0}, + [I(56,251)] = {64,0}, + [I(57,251)] = {64,0}, + [I(58,251)] = {64,0}, + [I(59,251)] = {64,0}, + [I(60,251)] = {64,0}, + [I(61,251)] = {64,0}, + [I(62,251)] = {64,0}, + [I(63,251)] = {64,0}, + [I(64,251)] = {64,0}, + [I(65,251)] = {64,0}, + [I(66,251)] = {64,0}, + [I(67,251)] = {64,0}, + [I(68,251)] = {64,0}, + [I(69,251)] = {64,0}, + [I(70,251)] = {64,0}, + [I(71,251)] = {64,0}, + [I(72,251)] = {64,0}, + [I(73,251)] = {64,0}, + [I(74,251)] = {64,0}, + [I(75,251)] = {64,0}, + [I(76,251)] = {64,0}, + [I(77,251)] = {64,0}, + [I(78,251)] = {64,0}, + [I(79,251)] = {64,0}, + [I(80,251)] = {64,0}, + [I(81,251)] = {64,0}, + [I(82,251)] = {64,0}, + [I(83,251)] = {64,0}, + [I(84,251)] = {64,0}, + [I(85,251)] = {64,0}, + [I(86,251)] = {64,0}, + [I(87,251)] = {64,0}, + [I(88,251)] = {64,0}, + [I(89,251)] = {64,0}, + [I(90,251)] = {64,0}, + [I(91,251)] = {64,0}, + [I(92,251)] = {64,0}, + [I(93,251)] = {64,0}, + [I(94,251)] = {64,0}, + [I(95,251)] = {64,0}, + [I(96,251)] = {64,0}, + [I(97,251)] = {X32,0x1FFFFFED}, + [I(98,251)] = {64,0}, + [I(99,251)] = {X32,0x27FFFFED}, + [I(100,251)] = {64,0}, + [I(101,251)] = {X32,0x2FFFFFED}, + [I(102,251)] = {64,0}, + [I(103,251)] = {64,0}, + [I(104,251)] = {64,0}, + [I(105,251)] = {X32,0x37FFFFED}, + [I(106,251)] = {64,0}, + [I(107,251)] = {64,0}, + [I(108,251)] = {64,0}, + [I(109,251)] = {64,0}, + [I(110,251)] = {64,0}, + [I(111,251)] = {X32,0x3FFFFFED}, + [I(112,251)] = {64,0}, + [I(113,251)] = {64,0}, + [I(114,251)] = {64,0}, + [I(115,251)] = {X32,0x47FFFFED}, + [I(116,251)] = {X32,0x4FFFFFED}, + [I(117,251)] = {64,0}, + [I(118,251)] = {64,0}, + [I(119,251)] = {64,0}, + [I(120,251)] = {64,0}, + [I(121,251)] = {64,0}, + [I(122,251)] = {64,0}, + [I(123,251)] = {64,0}, + [I(124,251)] = {64,0}, + [I(125,251)] = {64,0}, + [I(126,251)] = {64,0}, + [I(127,251)] = {64,0}, + [I(128,251)] = {64,0}, + [I(129,251)] = {64,0}, + [I(130,251)] = {64,0}, + [I(131,251)] = {64,0}, + [I(132,251)] = {64,0}, + [I(133,251)] = {64,0}, + [I(134,251)] = {64,0}, + [I(135,251)] = {64,0}, + [I(136,251)] = {64,0}, + [I(137,251)] = {64,0}, + [I(138,251)] = {64,0}, + [I(139,251)] = {64,0}, + [I(140,251)] = {64,0}, + [I(141,251)] = {64,0}, + [I(142,251)] = {64,0}, + [I(143,251)] = {64,0}, + [I(144,251)] = {64,0}, + [I(145,251)] = {64,0}, + [I(146,251)] = {64,0}, + [I(147,251)] = {64,0}, + [I(148,251)] = {64,0}, + [I(149,251)] = {64,0}, + [I(150,251)] = {64,0}, + [I(151,251)] = {64,0}, + [I(152,251)] = {64,0}, + [I(153,251)] = {64,0}, + [I(154,251)] = {64,0}, + [I(155,251)] = {64,0}, + [I(156,251)] = {64,0}, + [I(157,251)] = {64,0}, + [I(158,251)] = {64,0}, + [I(159,251)] = {64,0}, + [I(160,251)] = {64,0}, + [I(161,251)] = {64,0}, + [I(162,251)] = {64,0}, + [I(163,251)] = {64,0}, + [I(164,251)] = {64,0}, + [I(165,251)] = {64,0}, + [I(166,251)] = {64,0}, + [I(167,251)] = {64,0}, + [I(168,251)] = {64,0}, + [I(169,251)] = {64,0}, + [I(170,251)] = {64,0}, + [I(171,251)] = {64,0}, + [I(172,251)] = {64,0}, + [I(173,251)] = {64,0}, + [I(174,251)] = {64,0}, + [I(175,251)] = {64,0}, + [I(176,251)] = {64,0}, + [I(177,251)] = {64,0}, + [I(178,251)] = {64,0}, + [I(179,251)] = {64,0}, + [I(180,251)] = {64,0}, + [I(181,251)] = {64,0}, + [I(182,251)] = {64,0}, + [I(183,251)] = {64,0}, + [I(184,251)] = {64,0}, + [I(185,251)] = {64,0}, + [I(186,251)] = {64,0}, + [I(187,251)] = {64,0}, + [I(188,251)] = {64,0}, + [I(189,251)] = {64,0}, + [I(190,251)] = {64,0}, + [I(191,251)] = {64,0}, + [I(192,251)] = {64,0}, + [I(193,251)] = {64,0}, + [I(194,251)] = {64,0}, + [I(195,251)] = {64,0}, + [I(196,251)] = {64,0}, + [I(197,251)] = {64,0}, + [I(198,251)] = {64,0}, + [I(199,251)] = {64,0}, + [I(200,251)] = {64,0}, + [I(201,251)] = {64,0}, + [I(202,251)] = {64,0}, + [I(203,251)] = {64,0}, + [I(204,251)] = {64,0}, + [I(205,251)] = {64,0}, + [I(206,251)] = {64,0}, + [I(207,251)] = {64,0}, + [I(208,251)] = {64,0}, + [I(209,251)] = {64,0}, + [I(210,251)] = {64,0}, + [I(211,251)] = {64,0}, + [I(212,251)] = {64,0}, + [I(213,251)] = {64,0}, + [I(214,251)] = {64,0}, + [I(215,251)] = {64,0}, + [I(216,251)] = {64,0}, + [I(217,251)] = {64,0}, + [I(218,251)] = {64,0}, + [I(219,251)] = {64,0}, + [I(220,251)] = {64,0}, + [I(221,251)] = {64,0}, + [I(222,251)] = {64,0}, + [I(223,251)] = {64,0}, + [I(224,251)] = {64,0}, + [I(225,251)] = {64,0}, + [I(226,251)] = {64,0}, + [I(227,251)] = {64,0}, + [I(228,251)] = {64,0}, + [I(229,251)] = {64,0}, + [I(230,251)] = {64,0}, + [I(231,251)] = {64,0}, + [I(232,251)] = {64,0}, + [I(233,251)] = {64,0}, + [I(234,251)] = {64,0}, + [I(235,251)] = {64,0}, + [I(236,251)] = {64,0}, + [I(237,251)] = {64,0}, + [I(238,251)] = {64,0}, + [I(239,251)] = {64,0}, + [I(240,251)] = {64,0}, + [I(241,251)] = {64,0}, + [I(242,251)] = {64,0}, + [I(243,251)] = {64,0}, + [I(244,251)] = {64,0}, + [I(245,251)] = {64,0}, + [I(246,251)] = {64,0}, + [I(247,251)] = {64,0}, + [I(248,251)] = {64,0}, + [I(249,251)] = {64,0}, + [I(250,251)] = {64,0}, + [I(251,251)] = {64,0}, + [I(252,251)] = {64,0}, + [I(253,251)] = {64,0}, + [I(254,251)] = {64,0}, + [I(255,251)] = {64,0}, + [I(0,252)] = {64,0}, + [I(1,252)] = {64,0}, + [I(2,252)] = {64,0}, + [I(3,252)] = {64,0}, + [I(4,252)] = {64,0}, + [I(5,252)] = {64,0}, + [I(6,252)] = {64,0}, + [I(7,252)] = {64,0}, + [I(8,252)] = {64,0}, + [I(9,252)] = {64,0}, + [I(10,252)] = {64,0}, + [I(11,252)] = {64,0}, + [I(12,252)] = {64,0}, + [I(13,252)] = {64,0}, + [I(14,252)] = {64,0}, + [I(15,252)] = {64,0}, + [I(16,252)] = {64,0}, + [I(17,252)] = {64,0}, + [I(18,252)] = {64,0}, + [I(19,252)] = {64,0}, + [I(20,252)] = {64,0}, + [I(21,252)] = {64,0}, + [I(22,252)] = {64,0}, + [I(23,252)] = {64,0}, + [I(24,252)] = {64,0}, + [I(25,252)] = {64,0}, + [I(26,252)] = {64,0}, + [I(27,252)] = {64,0}, + [I(28,252)] = {64,0}, + [I(29,252)] = {64,0}, + [I(30,252)] = {64,0}, + [I(31,252)] = {64,0}, + [I(32,252)] = {64,0}, + [I(33,252)] = {64,0}, + [I(34,252)] = {64,0}, + [I(35,252)] = {64,0}, + [I(36,252)] = {64,0}, + [I(37,252)] = {64,0}, + [I(38,252)] = {64,0}, + [I(39,252)] = {64,0}, + [I(40,252)] = {64,0}, + [I(41,252)] = {64,0}, + [I(42,252)] = {64,0}, + [I(43,252)] = {64,0}, + [I(44,252)] = {64,0}, + [I(45,252)] = {64,0}, + [I(46,252)] = {64,0}, + [I(47,252)] = {64,0}, + [I(48,252)] = {X32,0x7FFFFEE}, + [I(49,252)] = {X32,0xFFFFFEE}, + [I(50,252)] = {X32,0x17FFFFEE}, + [I(51,252)] = {64,0}, + [I(52,252)] = {64,0}, + [I(53,252)] = {64,0}, + [I(54,252)] = {64,0}, + [I(55,252)] = {64,0}, + [I(56,252)] = {64,0}, + [I(57,252)] = {64,0}, + [I(58,252)] = {64,0}, + [I(59,252)] = {64,0}, + [I(60,252)] = {64,0}, + [I(61,252)] = {64,0}, + [I(62,252)] = {64,0}, + [I(63,252)] = {64,0}, + [I(64,252)] = {64,0}, + [I(65,252)] = {64,0}, + [I(66,252)] = {64,0}, + [I(67,252)] = {64,0}, + [I(68,252)] = {64,0}, + [I(69,252)] = {64,0}, + [I(70,252)] = {64,0}, + [I(71,252)] = {64,0}, + [I(72,252)] = {64,0}, + [I(73,252)] = {64,0}, + [I(74,252)] = {64,0}, + [I(75,252)] = {64,0}, + [I(76,252)] = {64,0}, + [I(77,252)] = {64,0}, + [I(78,252)] = {64,0}, + [I(79,252)] = {64,0}, + [I(80,252)] = {64,0}, + [I(81,252)] = {64,0}, + [I(82,252)] = {64,0}, + [I(83,252)] = {64,0}, + [I(84,252)] = {64,0}, + [I(85,252)] = {64,0}, + [I(86,252)] = {64,0}, + [I(87,252)] = {64,0}, + [I(88,252)] = {64,0}, + [I(89,252)] = {64,0}, + [I(90,252)] = {64,0}, + [I(91,252)] = {64,0}, + [I(92,252)] = {64,0}, + [I(93,252)] = {64,0}, + [I(94,252)] = {64,0}, + [I(95,252)] = {64,0}, + [I(96,252)] = {64,0}, + [I(97,252)] = {X32,0x1FFFFFEE}, + [I(98,252)] = {64,0}, + [I(99,252)] = {X32,0x27FFFFEE}, + [I(100,252)] = {64,0}, + [I(101,252)] = {X32,0x2FFFFFEE}, + [I(102,252)] = {64,0}, + [I(103,252)] = {64,0}, + [I(104,252)] = {64,0}, + [I(105,252)] = {X32,0x37FFFFEE}, + [I(106,252)] = {64,0}, + [I(107,252)] = {64,0}, + [I(108,252)] = {64,0}, + [I(109,252)] = {64,0}, + [I(110,252)] = {64,0}, + [I(111,252)] = {X32,0x3FFFFFEE}, + [I(112,252)] = {64,0}, + [I(113,252)] = {64,0}, + [I(114,252)] = {64,0}, + [I(115,252)] = {X32,0x47FFFFEE}, + [I(116,252)] = {X32,0x4FFFFFEE}, + [I(117,252)] = {64,0}, + [I(118,252)] = {64,0}, + [I(119,252)] = {64,0}, + [I(120,252)] = {64,0}, + [I(121,252)] = {64,0}, + [I(122,252)] = {64,0}, + [I(123,252)] = {64,0}, + [I(124,252)] = {64,0}, + [I(125,252)] = {64,0}, + [I(126,252)] = {64,0}, + [I(127,252)] = {64,0}, + [I(128,252)] = {64,0}, + [I(129,252)] = {64,0}, + [I(130,252)] = {64,0}, + [I(131,252)] = {64,0}, + [I(132,252)] = {64,0}, + [I(133,252)] = {64,0}, + [I(134,252)] = {64,0}, + [I(135,252)] = {64,0}, + [I(136,252)] = {64,0}, + [I(137,252)] = {64,0}, + [I(138,252)] = {64,0}, + [I(139,252)] = {64,0}, + [I(140,252)] = {64,0}, + [I(141,252)] = {64,0}, + [I(142,252)] = {64,0}, + [I(143,252)] = {64,0}, + [I(144,252)] = {64,0}, + [I(145,252)] = {64,0}, + [I(146,252)] = {64,0}, + [I(147,252)] = {64,0}, + [I(148,252)] = {64,0}, + [I(149,252)] = {64,0}, + [I(150,252)] = {64,0}, + [I(151,252)] = {64,0}, + [I(152,252)] = {64,0}, + [I(153,252)] = {64,0}, + [I(154,252)] = {64,0}, + [I(155,252)] = {64,0}, + [I(156,252)] = {64,0}, + [I(157,252)] = {64,0}, + [I(158,252)] = {64,0}, + [I(159,252)] = {64,0}, + [I(160,252)] = {64,0}, + [I(161,252)] = {64,0}, + [I(162,252)] = {64,0}, + [I(163,252)] = {64,0}, + [I(164,252)] = {64,0}, + [I(165,252)] = {64,0}, + [I(166,252)] = {64,0}, + [I(167,252)] = {64,0}, + [I(168,252)] = {64,0}, + [I(169,252)] = {64,0}, + [I(170,252)] = {64,0}, + [I(171,252)] = {64,0}, + [I(172,252)] = {64,0}, + [I(173,252)] = {64,0}, + [I(174,252)] = {64,0}, + [I(175,252)] = {64,0}, + [I(176,252)] = {64,0}, + [I(177,252)] = {64,0}, + [I(178,252)] = {64,0}, + [I(179,252)] = {64,0}, + [I(180,252)] = {64,0}, + [I(181,252)] = {64,0}, + [I(182,252)] = {64,0}, + [I(183,252)] = {64,0}, + [I(184,252)] = {64,0}, + [I(185,252)] = {64,0}, + [I(186,252)] = {64,0}, + [I(187,252)] = {64,0}, + [I(188,252)] = {64,0}, + [I(189,252)] = {64,0}, + [I(190,252)] = {64,0}, + [I(191,252)] = {64,0}, + [I(192,252)] = {64,0}, + [I(193,252)] = {64,0}, + [I(194,252)] = {64,0}, + [I(195,252)] = {64,0}, + [I(196,252)] = {64,0}, + [I(197,252)] = {64,0}, + [I(198,252)] = {64,0}, + [I(199,252)] = {64,0}, + [I(200,252)] = {64,0}, + [I(201,252)] = {64,0}, + [I(202,252)] = {64,0}, + [I(203,252)] = {64,0}, + [I(204,252)] = {64,0}, + [I(205,252)] = {64,0}, + [I(206,252)] = {64,0}, + [I(207,252)] = {64,0}, + [I(208,252)] = {64,0}, + [I(209,252)] = {64,0}, + [I(210,252)] = {64,0}, + [I(211,252)] = {64,0}, + [I(212,252)] = {64,0}, + [I(213,252)] = {64,0}, + [I(214,252)] = {64,0}, + [I(215,252)] = {64,0}, + [I(216,252)] = {64,0}, + [I(217,252)] = {64,0}, + [I(218,252)] = {64,0}, + [I(219,252)] = {64,0}, + [I(220,252)] = {64,0}, + [I(221,252)] = {64,0}, + [I(222,252)] = {64,0}, + [I(223,252)] = {64,0}, + [I(224,252)] = {64,0}, + [I(225,252)] = {64,0}, + [I(226,252)] = {64,0}, + [I(227,252)] = {64,0}, + [I(228,252)] = {64,0}, + [I(229,252)] = {64,0}, + [I(230,252)] = {64,0}, + [I(231,252)] = {64,0}, + [I(232,252)] = {64,0}, + [I(233,252)] = {64,0}, + [I(234,252)] = {64,0}, + [I(235,252)] = {64,0}, + [I(236,252)] = {64,0}, + [I(237,252)] = {64,0}, + [I(238,252)] = {64,0}, + [I(239,252)] = {64,0}, + [I(240,252)] = {64,0}, + [I(241,252)] = {64,0}, + [I(242,252)] = {64,0}, + [I(243,252)] = {64,0}, + [I(244,252)] = {64,0}, + [I(245,252)] = {64,0}, + [I(246,252)] = {64,0}, + [I(247,252)] = {64,0}, + [I(248,252)] = {64,0}, + [I(249,252)] = {64,0}, + [I(250,252)] = {64,0}, + [I(251,252)] = {64,0}, + [I(252,252)] = {64,0}, + [I(253,252)] = {64,0}, + [I(254,252)] = {64,0}, + [I(255,252)] = {64,0}, + [I(0,253)] = {64,0}, + [I(1,253)] = {64,0}, + [I(2,253)] = {64,0}, + [I(3,253)] = {64,0}, + [I(4,253)] = {64,0}, + [I(5,253)] = {64,0}, + [I(6,253)] = {64,0}, + [I(7,253)] = {64,0}, + [I(8,253)] = {64,0}, + [I(9,253)] = {64,0}, + [I(10,253)] = {64,0}, + [I(11,253)] = {64,0}, + [I(12,253)] = {64,0}, + [I(13,253)] = {64,0}, + [I(14,253)] = {64,0}, + [I(15,253)] = {64,0}, + [I(16,253)] = {64,0}, + [I(17,253)] = {64,0}, + [I(18,253)] = {64,0}, + [I(19,253)] = {64,0}, + [I(20,253)] = {64,0}, + [I(21,253)] = {64,0}, + [I(22,253)] = {64,0}, + [I(23,253)] = {64,0}, + [I(24,253)] = {64,0}, + [I(25,253)] = {64,0}, + [I(26,253)] = {64,0}, + [I(27,253)] = {64,0}, + [I(28,253)] = {64,0}, + [I(29,253)] = {64,0}, + [I(30,253)] = {64,0}, + [I(31,253)] = {64,0}, + [I(32,253)] = {64,0}, + [I(33,253)] = {64,0}, + [I(34,253)] = {64,0}, + [I(35,253)] = {64,0}, + [I(36,253)] = {64,0}, + [I(37,253)] = {64,0}, + [I(38,253)] = {64,0}, + [I(39,253)] = {64,0}, + [I(40,253)] = {64,0}, + [I(41,253)] = {64,0}, + [I(42,253)] = {64,0}, + [I(43,253)] = {64,0}, + [I(44,253)] = {64,0}, + [I(45,253)] = {64,0}, + [I(46,253)] = {64,0}, + [I(47,253)] = {64,0}, + [I(48,253)] = {X32,0x7FFFFEF}, + [I(49,253)] = {X32,0xFFFFFEF}, + [I(50,253)] = {X32,0x17FFFFEF}, + [I(51,253)] = {64,0}, + [I(52,253)] = {64,0}, + [I(53,253)] = {64,0}, + [I(54,253)] = {64,0}, + [I(55,253)] = {64,0}, + [I(56,253)] = {64,0}, + [I(57,253)] = {64,0}, + [I(58,253)] = {64,0}, + [I(59,253)] = {64,0}, + [I(60,253)] = {64,0}, + [I(61,253)] = {64,0}, + [I(62,253)] = {64,0}, + [I(63,253)] = {64,0}, + [I(64,253)] = {64,0}, + [I(65,253)] = {64,0}, + [I(66,253)] = {64,0}, + [I(67,253)] = {64,0}, + [I(68,253)] = {64,0}, + [I(69,253)] = {64,0}, + [I(70,253)] = {64,0}, + [I(71,253)] = {64,0}, + [I(72,253)] = {64,0}, + [I(73,253)] = {64,0}, + [I(74,253)] = {64,0}, + [I(75,253)] = {64,0}, + [I(76,253)] = {64,0}, + [I(77,253)] = {64,0}, + [I(78,253)] = {64,0}, + [I(79,253)] = {64,0}, + [I(80,253)] = {64,0}, + [I(81,253)] = {64,0}, + [I(82,253)] = {64,0}, + [I(83,253)] = {64,0}, + [I(84,253)] = {64,0}, + [I(85,253)] = {64,0}, + [I(86,253)] = {64,0}, + [I(87,253)] = {64,0}, + [I(88,253)] = {64,0}, + [I(89,253)] = {64,0}, + [I(90,253)] = {64,0}, + [I(91,253)] = {64,0}, + [I(92,253)] = {64,0}, + [I(93,253)] = {64,0}, + [I(94,253)] = {64,0}, + [I(95,253)] = {64,0}, + [I(96,253)] = {64,0}, + [I(97,253)] = {X32,0x1FFFFFEF}, + [I(98,253)] = {64,0}, + [I(99,253)] = {X32,0x27FFFFEF}, + [I(100,253)] = {64,0}, + [I(101,253)] = {X32,0x2FFFFFEF}, + [I(102,253)] = {64,0}, + [I(103,253)] = {64,0}, + [I(104,253)] = {64,0}, + [I(105,253)] = {X32,0x37FFFFEF}, + [I(106,253)] = {64,0}, + [I(107,253)] = {64,0}, + [I(108,253)] = {64,0}, + [I(109,253)] = {64,0}, + [I(110,253)] = {64,0}, + [I(111,253)] = {X32,0x3FFFFFEF}, + [I(112,253)] = {64,0}, + [I(113,253)] = {64,0}, + [I(114,253)] = {64,0}, + [I(115,253)] = {X32,0x47FFFFEF}, + [I(116,253)] = {X32,0x4FFFFFEF}, + [I(117,253)] = {64,0}, + [I(118,253)] = {64,0}, + [I(119,253)] = {64,0}, + [I(120,253)] = {64,0}, + [I(121,253)] = {64,0}, + [I(122,253)] = {64,0}, + [I(123,253)] = {64,0}, + [I(124,253)] = {64,0}, + [I(125,253)] = {64,0}, + [I(126,253)] = {64,0}, + [I(127,253)] = {64,0}, + [I(128,253)] = {64,0}, + [I(129,253)] = {64,0}, + [I(130,253)] = {64,0}, + [I(131,253)] = {64,0}, + [I(132,253)] = {64,0}, + [I(133,253)] = {64,0}, + [I(134,253)] = {64,0}, + [I(135,253)] = {64,0}, + [I(136,253)] = {64,0}, + [I(137,253)] = {64,0}, + [I(138,253)] = {64,0}, + [I(139,253)] = {64,0}, + [I(140,253)] = {64,0}, + [I(141,253)] = {64,0}, + [I(142,253)] = {64,0}, + [I(143,253)] = {64,0}, + [I(144,253)] = {64,0}, + [I(145,253)] = {64,0}, + [I(146,253)] = {64,0}, + [I(147,253)] = {64,0}, + [I(148,253)] = {64,0}, + [I(149,253)] = {64,0}, + [I(150,253)] = {64,0}, + [I(151,253)] = {64,0}, + [I(152,253)] = {64,0}, + [I(153,253)] = {64,0}, + [I(154,253)] = {64,0}, + [I(155,253)] = {64,0}, + [I(156,253)] = {64,0}, + [I(157,253)] = {64,0}, + [I(158,253)] = {64,0}, + [I(159,253)] = {64,0}, + [I(160,253)] = {64,0}, + [I(161,253)] = {64,0}, + [I(162,253)] = {64,0}, + [I(163,253)] = {64,0}, + [I(164,253)] = {64,0}, + [I(165,253)] = {64,0}, + [I(166,253)] = {64,0}, + [I(167,253)] = {64,0}, + [I(168,253)] = {64,0}, + [I(169,253)] = {64,0}, + [I(170,253)] = {64,0}, + [I(171,253)] = {64,0}, + [I(172,253)] = {64,0}, + [I(173,253)] = {64,0}, + [I(174,253)] = {64,0}, + [I(175,253)] = {64,0}, + [I(176,253)] = {64,0}, + [I(177,253)] = {64,0}, + [I(178,253)] = {64,0}, + [I(179,253)] = {64,0}, + [I(180,253)] = {64,0}, + [I(181,253)] = {64,0}, + [I(182,253)] = {64,0}, + [I(183,253)] = {64,0}, + [I(184,253)] = {64,0}, + [I(185,253)] = {64,0}, + [I(186,253)] = {64,0}, + [I(187,253)] = {64,0}, + [I(188,253)] = {64,0}, + [I(189,253)] = {64,0}, + [I(190,253)] = {64,0}, + [I(191,253)] = {64,0}, + [I(192,253)] = {64,0}, + [I(193,253)] = {64,0}, + [I(194,253)] = {64,0}, + [I(195,253)] = {64,0}, + [I(196,253)] = {64,0}, + [I(197,253)] = {64,0}, + [I(198,253)] = {64,0}, + [I(199,253)] = {64,0}, + [I(200,253)] = {64,0}, + [I(201,253)] = {64,0}, + [I(202,253)] = {64,0}, + [I(203,253)] = {64,0}, + [I(204,253)] = {64,0}, + [I(205,253)] = {64,0}, + [I(206,253)] = {64,0}, + [I(207,253)] = {64,0}, + [I(208,253)] = {64,0}, + [I(209,253)] = {64,0}, + [I(210,253)] = {64,0}, + [I(211,253)] = {64,0}, + [I(212,253)] = {64,0}, + [I(213,253)] = {64,0}, + [I(214,253)] = {64,0}, + [I(215,253)] = {64,0}, + [I(216,253)] = {64,0}, + [I(217,253)] = {64,0}, + [I(218,253)] = {64,0}, + [I(219,253)] = {64,0}, + [I(220,253)] = {64,0}, + [I(221,253)] = {64,0}, + [I(222,253)] = {64,0}, + [I(223,253)] = {64,0}, + [I(224,253)] = {64,0}, + [I(225,253)] = {64,0}, + [I(226,253)] = {64,0}, + [I(227,253)] = {64,0}, + [I(228,253)] = {64,0}, + [I(229,253)] = {64,0}, + [I(230,253)] = {64,0}, + [I(231,253)] = {64,0}, + [I(232,253)] = {64,0}, + [I(233,253)] = {64,0}, + [I(234,253)] = {64,0}, + [I(235,253)] = {64,0}, + [I(236,253)] = {64,0}, + [I(237,253)] = {64,0}, + [I(238,253)] = {64,0}, + [I(239,253)] = {64,0}, + [I(240,253)] = {64,0}, + [I(241,253)] = {64,0}, + [I(242,253)] = {64,0}, + [I(243,253)] = {64,0}, + [I(244,253)] = {64,0}, + [I(245,253)] = {64,0}, + [I(246,253)] = {64,0}, + [I(247,253)] = {64,0}, + [I(248,253)] = {64,0}, + [I(249,253)] = {64,0}, + [I(250,253)] = {64,0}, + [I(251,253)] = {64,0}, + [I(252,253)] = {64,0}, + [I(253,253)] = {64,0}, + [I(254,253)] = {64,0}, + [I(255,253)] = {64,0}, + [I(0,254)] = {64,0}, + [I(1,254)] = {64,0}, + [I(2,254)] = {64,0}, + [I(3,254)] = {64,0}, + [I(4,254)] = {64,0}, + [I(5,254)] = {64,0}, + [I(6,254)] = {64,0}, + [I(7,254)] = {64,0}, + [I(8,254)] = {64,0}, + [I(9,254)] = {64,0}, + [I(10,254)] = {64,0}, + [I(11,254)] = {64,0}, + [I(12,254)] = {64,0}, + [I(13,254)] = {64,0}, + [I(14,254)] = {64,0}, + [I(15,254)] = {64,0}, + [I(16,254)] = {64,0}, + [I(17,254)] = {64,0}, + [I(18,254)] = {64,0}, + [I(19,254)] = {64,0}, + [I(20,254)] = {64,0}, + [I(21,254)] = {64,0}, + [I(22,254)] = {64,0}, + [I(23,254)] = {64,0}, + [I(24,254)] = {64,0}, + [I(25,254)] = {64,0}, + [I(26,254)] = {64,0}, + [I(27,254)] = {64,0}, + [I(28,254)] = {64,0}, + [I(29,254)] = {64,0}, + [I(30,254)] = {64,0}, + [I(31,254)] = {64,0}, + [I(32,254)] = {64,0}, + [I(33,254)] = {64,0}, + [I(34,254)] = {64,0}, + [I(35,254)] = {64,0}, + [I(36,254)] = {64,0}, + [I(37,254)] = {64,0}, + [I(38,254)] = {64,0}, + [I(39,254)] = {64,0}, + [I(40,254)] = {64,0}, + [I(41,254)] = {64,0}, + [I(42,254)] = {64,0}, + [I(43,254)] = {64,0}, + [I(44,254)] = {64,0}, + [I(45,254)] = {64,0}, + [I(46,254)] = {64,0}, + [I(47,254)] = {64,0}, + [I(48,254)] = {X32,0x7FFFFF0}, + [I(49,254)] = {X32,0xFFFFFF0}, + [I(50,254)] = {X32,0x17FFFFF0}, + [I(51,254)] = {64,0}, + [I(52,254)] = {64,0}, + [I(53,254)] = {64,0}, + [I(54,254)] = {64,0}, + [I(55,254)] = {64,0}, + [I(56,254)] = {64,0}, + [I(57,254)] = {64,0}, + [I(58,254)] = {64,0}, + [I(59,254)] = {64,0}, + [I(60,254)] = {64,0}, + [I(61,254)] = {64,0}, + [I(62,254)] = {64,0}, + [I(63,254)] = {64,0}, + [I(64,254)] = {64,0}, + [I(65,254)] = {64,0}, + [I(66,254)] = {64,0}, + [I(67,254)] = {64,0}, + [I(68,254)] = {64,0}, + [I(69,254)] = {64,0}, + [I(70,254)] = {64,0}, + [I(71,254)] = {64,0}, + [I(72,254)] = {64,0}, + [I(73,254)] = {64,0}, + [I(74,254)] = {64,0}, + [I(75,254)] = {64,0}, + [I(76,254)] = {64,0}, + [I(77,254)] = {64,0}, + [I(78,254)] = {64,0}, + [I(79,254)] = {64,0}, + [I(80,254)] = {64,0}, + [I(81,254)] = {64,0}, + [I(82,254)] = {64,0}, + [I(83,254)] = {64,0}, + [I(84,254)] = {64,0}, + [I(85,254)] = {64,0}, + [I(86,254)] = {64,0}, + [I(87,254)] = {64,0}, + [I(88,254)] = {64,0}, + [I(89,254)] = {64,0}, + [I(90,254)] = {64,0}, + [I(91,254)] = {64,0}, + [I(92,254)] = {64,0}, + [I(93,254)] = {64,0}, + [I(94,254)] = {64,0}, + [I(95,254)] = {64,0}, + [I(96,254)] = {64,0}, + [I(97,254)] = {X32,0x1FFFFFF0}, + [I(98,254)] = {64,0}, + [I(99,254)] = {X32,0x27FFFFF0}, + [I(100,254)] = {64,0}, + [I(101,254)] = {X32,0x2FFFFFF0}, + [I(102,254)] = {64,0}, + [I(103,254)] = {64,0}, + [I(104,254)] = {64,0}, + [I(105,254)] = {X32,0x37FFFFF0}, + [I(106,254)] = {64,0}, + [I(107,254)] = {64,0}, + [I(108,254)] = {64,0}, + [I(109,254)] = {64,0}, + [I(110,254)] = {64,0}, + [I(111,254)] = {X32,0x3FFFFFF0}, + [I(112,254)] = {64,0}, + [I(113,254)] = {64,0}, + [I(114,254)] = {64,0}, + [I(115,254)] = {X32,0x47FFFFF0}, + [I(116,254)] = {X32,0x4FFFFFF0}, + [I(117,254)] = {64,0}, + [I(118,254)] = {64,0}, + [I(119,254)] = {64,0}, + [I(120,254)] = {64,0}, + [I(121,254)] = {64,0}, + [I(122,254)] = {64,0}, + [I(123,254)] = {64,0}, + [I(124,254)] = {64,0}, + [I(125,254)] = {64,0}, + [I(126,254)] = {64,0}, + [I(127,254)] = {64,0}, + [I(128,254)] = {64,0}, + [I(129,254)] = {64,0}, + [I(130,254)] = {64,0}, + [I(131,254)] = {64,0}, + [I(132,254)] = {64,0}, + [I(133,254)] = {64,0}, + [I(134,254)] = {64,0}, + [I(135,254)] = {64,0}, + [I(136,254)] = {64,0}, + [I(137,254)] = {64,0}, + [I(138,254)] = {64,0}, + [I(139,254)] = {64,0}, + [I(140,254)] = {64,0}, + [I(141,254)] = {64,0}, + [I(142,254)] = {64,0}, + [I(143,254)] = {64,0}, + [I(144,254)] = {64,0}, + [I(145,254)] = {64,0}, + [I(146,254)] = {64,0}, + [I(147,254)] = {64,0}, + [I(148,254)] = {64,0}, + [I(149,254)] = {64,0}, + [I(150,254)] = {64,0}, + [I(151,254)] = {64,0}, + [I(152,254)] = {64,0}, + [I(153,254)] = {64,0}, + [I(154,254)] = {64,0}, + [I(155,254)] = {64,0}, + [I(156,254)] = {64,0}, + [I(157,254)] = {64,0}, + [I(158,254)] = {64,0}, + [I(159,254)] = {64,0}, + [I(160,254)] = {64,0}, + [I(161,254)] = {64,0}, + [I(162,254)] = {64,0}, + [I(163,254)] = {64,0}, + [I(164,254)] = {64,0}, + [I(165,254)] = {64,0}, + [I(166,254)] = {64,0}, + [I(167,254)] = {64,0}, + [I(168,254)] = {64,0}, + [I(169,254)] = {64,0}, + [I(170,254)] = {64,0}, + [I(171,254)] = {64,0}, + [I(172,254)] = {64,0}, + [I(173,254)] = {64,0}, + [I(174,254)] = {64,0}, + [I(175,254)] = {64,0}, + [I(176,254)] = {64,0}, + [I(177,254)] = {64,0}, + [I(178,254)] = {64,0}, + [I(179,254)] = {64,0}, + [I(180,254)] = {64,0}, + [I(181,254)] = {64,0}, + [I(182,254)] = {64,0}, + [I(183,254)] = {64,0}, + [I(184,254)] = {64,0}, + [I(185,254)] = {64,0}, + [I(186,254)] = {64,0}, + [I(187,254)] = {64,0}, + [I(188,254)] = {64,0}, + [I(189,254)] = {64,0}, + [I(190,254)] = {64,0}, + [I(191,254)] = {64,0}, + [I(192,254)] = {64,0}, + [I(193,254)] = {64,0}, + [I(194,254)] = {64,0}, + [I(195,254)] = {64,0}, + [I(196,254)] = {64,0}, + [I(197,254)] = {64,0}, + [I(198,254)] = {64,0}, + [I(199,254)] = {64,0}, + [I(200,254)] = {64,0}, + [I(201,254)] = {64,0}, + [I(202,254)] = {64,0}, + [I(203,254)] = {64,0}, + [I(204,254)] = {64,0}, + [I(205,254)] = {64,0}, + [I(206,254)] = {64,0}, + [I(207,254)] = {64,0}, + [I(208,254)] = {64,0}, + [I(209,254)] = {64,0}, + [I(210,254)] = {64,0}, + [I(211,254)] = {64,0}, + [I(212,254)] = {64,0}, + [I(213,254)] = {64,0}, + [I(214,254)] = {64,0}, + [I(215,254)] = {64,0}, + [I(216,254)] = {64,0}, + [I(217,254)] = {64,0}, + [I(218,254)] = {64,0}, + [I(219,254)] = {64,0}, + [I(220,254)] = {64,0}, + [I(221,254)] = {64,0}, + [I(222,254)] = {64,0}, + [I(223,254)] = {64,0}, + [I(224,254)] = {64,0}, + [I(225,254)] = {64,0}, + [I(226,254)] = {64,0}, + [I(227,254)] = {64,0}, + [I(228,254)] = {64,0}, + [I(229,254)] = {64,0}, + [I(230,254)] = {64,0}, + [I(231,254)] = {64,0}, + [I(232,254)] = {64,0}, + [I(233,254)] = {64,0}, + [I(234,254)] = {64,0}, + [I(235,254)] = {64,0}, + [I(236,254)] = {64,0}, + [I(237,254)] = {64,0}, + [I(238,254)] = {64,0}, + [I(239,254)] = {64,0}, + [I(240,254)] = {64,0}, + [I(241,254)] = {64,0}, + [I(242,254)] = {64,0}, + [I(243,254)] = {64,0}, + [I(244,254)] = {64,0}, + [I(245,254)] = {64,0}, + [I(246,254)] = {64,0}, + [I(247,254)] = {64,0}, + [I(248,254)] = {64,0}, + [I(249,254)] = {64,0}, + [I(250,254)] = {64,0}, + [I(251,254)] = {64,0}, + [I(252,254)] = {64,0}, + [I(253,254)] = {64,0}, + [I(254,254)] = {64,0}, + [I(255,254)] = {64,0}, + [I(0,255)] = {64,0}, + [I(1,255)] = {64,0}, + [I(2,255)] = {64,0}, + [I(3,255)] = {64,0}, + [I(4,255)] = {64,0}, + [I(5,255)] = {64,0}, + [I(6,255)] = {64,0}, + [I(7,255)] = {64,0}, + [I(8,255)] = {64,0}, + [I(9,255)] = {64,0}, + [I(10,255)] = {64,0}, + [I(11,255)] = {64,0}, + [I(12,255)] = {64,0}, + [I(13,255)] = {64,0}, + [I(14,255)] = {64,0}, + [I(15,255)] = {64,0}, + [I(16,255)] = {64,0}, + [I(17,255)] = {64,0}, + [I(18,255)] = {64,0}, + [I(19,255)] = {64,0}, + [I(20,255)] = {64,0}, + [I(21,255)] = {64,0}, + [I(22,255)] = {64,0}, + [I(23,255)] = {64,0}, + [I(24,255)] = {64,0}, + [I(25,255)] = {64,0}, + [I(26,255)] = {64,0}, + [I(27,255)] = {64,0}, + [I(28,255)] = {64,0}, + [I(29,255)] = {64,0}, + [I(30,255)] = {64,0}, + [I(31,255)] = {64,0}, + [I(32,255)] = {X32,0x53FFFFEE}, + [I(33,255)] = {64,0}, + [I(34,255)] = {64,0}, + [I(35,255)] = {64,0}, + [I(36,255)] = {64,0}, + [I(37,255)] = {X32,0x57FFFFEE}, + [I(38,255)] = {64,0}, + [I(39,255)] = {64,0}, + [I(40,255)] = {64,0}, + [I(41,255)] = {64,0}, + [I(42,255)] = {64,0}, + [I(43,255)] = {64,0}, + [I(44,255)] = {64,0}, + [I(45,255)] = {X32,0x5BFFFFEE}, + [I(46,255)] = {X32,0x5FFFFFEE}, + [I(47,255)] = {X32,0x63FFFFEE}, + [I(48,255)] = {31,0x3FFFFEE}, + [I(49,255)] = {31,0x7FFFFEE}, + [I(50,255)] = {31,0xBFFFFEE}, + [I(51,255)] = {X32,0x67FFFFEE}, + [I(52,255)] = {X32,0x6BFFFFEE}, + [I(53,255)] = {X32,0x6FFFFFEE}, + [I(54,255)] = {X32,0x73FFFFEE}, + [I(55,255)] = {X32,0x77FFFFEE}, + [I(56,255)] = {X32,0x7BFFFFEE}, + [I(57,255)] = {X32,0x7FFFFFEE}, + [I(58,255)] = {64,0}, + [I(59,255)] = {64,0}, + [I(60,255)] = {64,0}, + [I(61,255)] = {X32,0x83FFFFEE}, + [I(62,255)] = {64,0}, + [I(63,255)] = {64,0}, + [I(64,255)] = {64,0}, + [I(65,255)] = {X32,0x87FFFFEE}, + [I(66,255)] = {64,0}, + [I(67,255)] = {64,0}, + [I(68,255)] = {64,0}, + [I(69,255)] = {64,0}, + [I(70,255)] = {64,0}, + [I(71,255)] = {64,0}, + [I(72,255)] = {64,0}, + [I(73,255)] = {64,0}, + [I(74,255)] = {64,0}, + [I(75,255)] = {64,0}, + [I(76,255)] = {64,0}, + [I(77,255)] = {64,0}, + [I(78,255)] = {64,0}, + [I(79,255)] = {64,0}, + [I(80,255)] = {64,0}, + [I(81,255)] = {64,0}, + [I(82,255)] = {64,0}, + [I(83,255)] = {64,0}, + [I(84,255)] = {64,0}, + [I(85,255)] = {64,0}, + [I(86,255)] = {64,0}, + [I(87,255)] = {64,0}, + [I(88,255)] = {64,0}, + [I(89,255)] = {64,0}, + [I(90,255)] = {64,0}, + [I(91,255)] = {64,0}, + [I(92,255)] = {64,0}, + [I(93,255)] = {64,0}, + [I(94,255)] = {64,0}, + [I(95,255)] = {X32,0x8BFFFFEE}, + [I(96,255)] = {64,0}, + [I(97,255)] = {31,0xFFFFFEE}, + [I(98,255)] = {X32,0x8FFFFFEE}, + [I(99,255)] = {31,0x13FFFFEE}, + [I(100,255)] = {X32,0x93FFFFEE}, + [I(101,255)] = {31,0x17FFFFEE}, + [I(102,255)] = {X32,0x97FFFFEE}, + [I(103,255)] = {X32,0x9BFFFFEE}, + [I(104,255)] = {X32,0x9FFFFFEE}, + [I(105,255)] = {31,0x1BFFFFEE}, + [I(106,255)] = {64,0}, + [I(107,255)] = {64,0}, + [I(108,255)] = {X32,0xA3FFFFEE}, + [I(109,255)] = {X32,0xA7FFFFEE}, + [I(110,255)] = {X32,0xABFFFFEE}, + [I(111,255)] = {31,0x1FFFFFEE}, + [I(112,255)] = {X32,0xAFFFFFEE}, + [I(113,255)] = {64,0}, + [I(114,255)] = {X32,0xB3FFFFEE}, + [I(115,255)] = {31,0x23FFFFEE}, + [I(116,255)] = {31,0x27FFFFEE}, + [I(117,255)] = {X32,0xB7FFFFEE}, + [I(118,255)] = {64,0}, + [I(119,255)] = {64,0}, + [I(120,255)] = {64,0}, + [I(121,255)] = {64,0}, + [I(122,255)] = {64,0}, + [I(123,255)] = {64,0}, + [I(124,255)] = {64,0}, + [I(125,255)] = {64,0}, + [I(126,255)] = {64,0}, + [I(127,255)] = {64,0}, + [I(128,255)] = {64,0}, + [I(129,255)] = {64,0}, + [I(130,255)] = {64,0}, + [I(131,255)] = {64,0}, + [I(132,255)] = {64,0}, + [I(133,255)] = {64,0}, + [I(134,255)] = {64,0}, + [I(135,255)] = {64,0}, + [I(136,255)] = {64,0}, + [I(137,255)] = {64,0}, + [I(138,255)] = {64,0}, + [I(139,255)] = {64,0}, + [I(140,255)] = {64,0}, + [I(141,255)] = {64,0}, + [I(142,255)] = {64,0}, + [I(143,255)] = {64,0}, + [I(144,255)] = {64,0}, + [I(145,255)] = {64,0}, + [I(146,255)] = {64,0}, + [I(147,255)] = {64,0}, + [I(148,255)] = {64,0}, + [I(149,255)] = {64,0}, + [I(150,255)] = {64,0}, + [I(151,255)] = {64,0}, + [I(152,255)] = {64,0}, + [I(153,255)] = {64,0}, + [I(154,255)] = {64,0}, + [I(155,255)] = {64,0}, + [I(156,255)] = {64,0}, + [I(157,255)] = {64,0}, + [I(158,255)] = {64,0}, + [I(159,255)] = {64,0}, + [I(160,255)] = {64,0}, + [I(161,255)] = {64,0}, + [I(162,255)] = {64,0}, + [I(163,255)] = {64,0}, + [I(164,255)] = {64,0}, + [I(165,255)] = {64,0}, + [I(166,255)] = {64,0}, + [I(167,255)] = {64,0}, + [I(168,255)] = {64,0}, + [I(169,255)] = {64,0}, + [I(170,255)] = {64,0}, + [I(171,255)] = {64,0}, + [I(172,255)] = {64,0}, + [I(173,255)] = {64,0}, + [I(174,255)] = {64,0}, + [I(175,255)] = {64,0}, + [I(176,255)] = {64,0}, + [I(177,255)] = {64,0}, + [I(178,255)] = {64,0}, + [I(179,255)] = {64,0}, + [I(180,255)] = {64,0}, + [I(181,255)] = {64,0}, + [I(182,255)] = {64,0}, + [I(183,255)] = {64,0}, + [I(184,255)] = {64,0}, + [I(185,255)] = {64,0}, + [I(186,255)] = {64,0}, + [I(187,255)] = {64,0}, + [I(188,255)] = {64,0}, + [I(189,255)] = {64,0}, + [I(190,255)] = {64,0}, + [I(191,255)] = {64,0}, + [I(192,255)] = {64,0}, + [I(193,255)] = {64,0}, + [I(194,255)] = {64,0}, + [I(195,255)] = {64,0}, + [I(196,255)] = {64,0}, + [I(197,255)] = {64,0}, + [I(198,255)] = {64,0}, + [I(199,255)] = {64,0}, + [I(200,255)] = {64,0}, + [I(201,255)] = {64,0}, + [I(202,255)] = {64,0}, + [I(203,255)] = {64,0}, + [I(204,255)] = {64,0}, + [I(205,255)] = {64,0}, + [I(206,255)] = {64,0}, + [I(207,255)] = {64,0}, + [I(208,255)] = {64,0}, + [I(209,255)] = {64,0}, + [I(210,255)] = {64,0}, + [I(211,255)] = {64,0}, + [I(212,255)] = {64,0}, + [I(213,255)] = {64,0}, + [I(214,255)] = {64,0}, + [I(215,255)] = {64,0}, + [I(216,255)] = {64,0}, + [I(217,255)] = {64,0}, + [I(218,255)] = {64,0}, + [I(219,255)] = {64,0}, + [I(220,255)] = {64,0}, + [I(221,255)] = {64,0}, + [I(222,255)] = {64,0}, + [I(223,255)] = {64,0}, + [I(224,255)] = {64,0}, + [I(225,255)] = {64,0}, + [I(226,255)] = {64,0}, + [I(227,255)] = {64,0}, + [I(228,255)] = {64,0}, + [I(229,255)] = {64,0}, + [I(230,255)] = {64,0}, + [I(231,255)] = {64,0}, + [I(232,255)] = {64,0}, + [I(233,255)] = {64,0}, + [I(234,255)] = {64,0}, + [I(235,255)] = {64,0}, + [I(236,255)] = {64,0}, + [I(237,255)] = {64,0}, + [I(238,255)] = {64,0}, + [I(239,255)] = {64,0}, + [I(240,255)] = {64,0}, + [I(241,255)] = {64,0}, + [I(242,255)] = {64,0}, + [I(243,255)] = {64,0}, + [I(244,255)] = {64,0}, + [I(245,255)] = {64,0}, + [I(246,255)] = {64,0}, + [I(247,255)] = {64,0}, + [I(248,255)] = {64,0}, + [I(249,255)] = {64,0}, + [I(250,255)] = {64,0}, + [I(251,255)] = {64,0}, + [I(252,255)] = {64,0}, + [I(253,255)] = {64,0}, + [I(254,255)] = {64,0}, + [I(255,255)] = {64,0}, +}; +#undef X32 +#undef I +#endif + + +struct decode_el +{ + uint8_t state; + uint8_t flags; + uint8_t sym; +}; + +static const struct decode_el decode_tables[256][16] = +{ + /* 0 */ + { + { 4, 0x00, 0 }, + { 5, 0x00, 0 }, + { 7, 0x00, 0 }, + { 8, 0x00, 0 }, + { 11, 0x00, 0 }, + { 12, 0x00, 0 }, + { 16, 0x00, 0 }, + { 19, 0x00, 0 }, + { 25, 0x00, 0 }, + { 28, 0x00, 0 }, + { 32, 0x00, 0 }, + { 35, 0x00, 0 }, + { 42, 0x00, 0 }, + { 49, 0x00, 0 }, + { 57, 0x00, 0 }, + { 64, 0x01, 0 }, + }, + /* 1 */ + { + { 0, 0x03, 48 }, + { 0, 0x03, 49 }, + { 0, 0x03, 50 }, + { 0, 0x03, 97 }, + { 0, 0x03, 99 }, + { 0, 0x03, 101 }, + { 0, 0x03, 105 }, + { 0, 0x03, 111 }, + { 0, 0x03, 115 }, + { 0, 0x03, 116 }, + { 13, 0x00, 0 }, + { 14, 0x00, 0 }, + { 17, 0x00, 0 }, + { 18, 0x00, 0 }, + { 20, 0x00, 0 }, + { 21, 0x00, 0 }, + }, + /* 2 */ + { + { 1, 0x02, 48 }, + { 22, 0x03, 48 }, + { 1, 0x02, 49 }, + { 22, 0x03, 49 }, + { 1, 0x02, 50 }, + { 22, 0x03, 50 }, + { 1, 0x02, 97 }, + { 22, 0x03, 97 }, + { 1, 0x02, 99 }, + { 22, 0x03, 99 }, + { 1, 0x02, 101 }, + { 22, 0x03, 101 }, + { 1, 0x02, 105 }, + { 22, 0x03, 105 }, + { 1, 0x02, 111 }, + { 22, 0x03, 111 }, + }, + /* 3 */ + { + { 2, 0x02, 48 }, + { 9, 0x02, 48 }, + { 23, 0x02, 48 }, + { 40, 0x03, 48 }, + { 2, 0x02, 49 }, + { 9, 0x02, 49 }, + { 23, 0x02, 49 }, + { 40, 0x03, 49 }, + { 2, 0x02, 50 }, + { 9, 0x02, 50 }, + { 23, 0x02, 50 }, + { 40, 0x03, 50 }, + { 2, 0x02, 97 }, + { 9, 0x02, 97 }, + { 23, 0x02, 97 }, + { 40, 0x03, 97 }, + }, + /* 4 */ + { + { 3, 0x02, 48 }, + { 6, 0x02, 48 }, + { 10, 0x02, 48 }, + { 15, 0x02, 48 }, + { 24, 0x02, 48 }, + { 31, 0x02, 48 }, + { 41, 0x02, 48 }, + { 56, 0x03, 48 }, + { 3, 0x02, 49 }, + { 6, 0x02, 49 }, + { 10, 0x02, 49 }, + { 15, 0x02, 49 }, + { 24, 0x02, 49 }, + { 31, 0x02, 49 }, + { 41, 0x02, 49 }, + { 56, 0x03, 49 }, + }, + /* 5 */ + { + { 3, 0x02, 50 }, + { 6, 0x02, 50 }, + { 10, 0x02, 50 }, + { 15, 0x02, 50 }, + { 24, 0x02, 50 }, + { 31, 0x02, 50 }, + { 41, 0x02, 50 }, + { 56, 0x03, 50 }, + { 3, 0x02, 97 }, + { 6, 0x02, 97 }, + { 10, 0x02, 97 }, + { 15, 0x02, 97 }, + { 24, 0x02, 97 }, + { 31, 0x02, 97 }, + { 41, 0x02, 97 }, + { 56, 0x03, 97 }, + }, + /* 6 */ + { + { 2, 0x02, 99 }, + { 9, 0x02, 99 }, + { 23, 0x02, 99 }, + { 40, 0x03, 99 }, + { 2, 0x02, 101 }, + { 9, 0x02, 101 }, + { 23, 0x02, 101 }, + { 40, 0x03, 101 }, + { 2, 0x02, 105 }, + { 9, 0x02, 105 }, + { 23, 0x02, 105 }, + { 40, 0x03, 105 }, + { 2, 0x02, 111 }, + { 9, 0x02, 111 }, + { 23, 0x02, 111 }, + { 40, 0x03, 111 }, + }, + /* 7 */ + { + { 3, 0x02, 99 }, + { 6, 0x02, 99 }, + { 10, 0x02, 99 }, + { 15, 0x02, 99 }, + { 24, 0x02, 99 }, + { 31, 0x02, 99 }, + { 41, 0x02, 99 }, + { 56, 0x03, 99 }, + { 3, 0x02, 101 }, + { 6, 0x02, 101 }, + { 10, 0x02, 101 }, + { 15, 0x02, 101 }, + { 24, 0x02, 101 }, + { 31, 0x02, 101 }, + { 41, 0x02, 101 }, + { 56, 0x03, 101 }, + }, + /* 8 */ + { + { 3, 0x02, 105 }, + { 6, 0x02, 105 }, + { 10, 0x02, 105 }, + { 15, 0x02, 105 }, + { 24, 0x02, 105 }, + { 31, 0x02, 105 }, + { 41, 0x02, 105 }, + { 56, 0x03, 105 }, + { 3, 0x02, 111 }, + { 6, 0x02, 111 }, + { 10, 0x02, 111 }, + { 15, 0x02, 111 }, + { 24, 0x02, 111 }, + { 31, 0x02, 111 }, + { 41, 0x02, 111 }, + { 56, 0x03, 111 }, + }, + /* 9 */ + { + { 1, 0x02, 115 }, + { 22, 0x03, 115 }, + { 1, 0x02, 116 }, + { 22, 0x03, 116 }, + { 0, 0x03, 32 }, + { 0, 0x03, 37 }, + { 0, 0x03, 45 }, + { 0, 0x03, 46 }, + { 0, 0x03, 47 }, + { 0, 0x03, 51 }, + { 0, 0x03, 52 }, + { 0, 0x03, 53 }, + { 0, 0x03, 54 }, + { 0, 0x03, 55 }, + { 0, 0x03, 56 }, + { 0, 0x03, 57 }, + }, + /* 10 */ + { + { 2, 0x02, 115 }, + { 9, 0x02, 115 }, + { 23, 0x02, 115 }, + { 40, 0x03, 115 }, + { 2, 0x02, 116 }, + { 9, 0x02, 116 }, + { 23, 0x02, 116 }, + { 40, 0x03, 116 }, + { 1, 0x02, 32 }, + { 22, 0x03, 32 }, + { 1, 0x02, 37 }, + { 22, 0x03, 37 }, + { 1, 0x02, 45 }, + { 22, 0x03, 45 }, + { 1, 0x02, 46 }, + { 22, 0x03, 46 }, + }, + /* 11 */ + { + { 3, 0x02, 115 }, + { 6, 0x02, 115 }, + { 10, 0x02, 115 }, + { 15, 0x02, 115 }, + { 24, 0x02, 115 }, + { 31, 0x02, 115 }, + { 41, 0x02, 115 }, + { 56, 0x03, 115 }, + { 3, 0x02, 116 }, + { 6, 0x02, 116 }, + { 10, 0x02, 116 }, + { 15, 0x02, 116 }, + { 24, 0x02, 116 }, + { 31, 0x02, 116 }, + { 41, 0x02, 116 }, + { 56, 0x03, 116 }, + }, + /* 12 */ + { + { 2, 0x02, 32 }, + { 9, 0x02, 32 }, + { 23, 0x02, 32 }, + { 40, 0x03, 32 }, + { 2, 0x02, 37 }, + { 9, 0x02, 37 }, + { 23, 0x02, 37 }, + { 40, 0x03, 37 }, + { 2, 0x02, 45 }, + { 9, 0x02, 45 }, + { 23, 0x02, 45 }, + { 40, 0x03, 45 }, + { 2, 0x02, 46 }, + { 9, 0x02, 46 }, + { 23, 0x02, 46 }, + { 40, 0x03, 46 }, + }, + /* 13 */ + { + { 3, 0x02, 32 }, + { 6, 0x02, 32 }, + { 10, 0x02, 32 }, + { 15, 0x02, 32 }, + { 24, 0x02, 32 }, + { 31, 0x02, 32 }, + { 41, 0x02, 32 }, + { 56, 0x03, 32 }, + { 3, 0x02, 37 }, + { 6, 0x02, 37 }, + { 10, 0x02, 37 }, + { 15, 0x02, 37 }, + { 24, 0x02, 37 }, + { 31, 0x02, 37 }, + { 41, 0x02, 37 }, + { 56, 0x03, 37 }, + }, + /* 14 */ + { + { 3, 0x02, 45 }, + { 6, 0x02, 45 }, + { 10, 0x02, 45 }, + { 15, 0x02, 45 }, + { 24, 0x02, 45 }, + { 31, 0x02, 45 }, + { 41, 0x02, 45 }, + { 56, 0x03, 45 }, + { 3, 0x02, 46 }, + { 6, 0x02, 46 }, + { 10, 0x02, 46 }, + { 15, 0x02, 46 }, + { 24, 0x02, 46 }, + { 31, 0x02, 46 }, + { 41, 0x02, 46 }, + { 56, 0x03, 46 }, + }, + /* 15 */ + { + { 1, 0x02, 47 }, + { 22, 0x03, 47 }, + { 1, 0x02, 51 }, + { 22, 0x03, 51 }, + { 1, 0x02, 52 }, + { 22, 0x03, 52 }, + { 1, 0x02, 53 }, + { 22, 0x03, 53 }, + { 1, 0x02, 54 }, + { 22, 0x03, 54 }, + { 1, 0x02, 55 }, + { 22, 0x03, 55 }, + { 1, 0x02, 56 }, + { 22, 0x03, 56 }, + { 1, 0x02, 57 }, + { 22, 0x03, 57 }, + }, + /* 16 */ + { + { 2, 0x02, 47 }, + { 9, 0x02, 47 }, + { 23, 0x02, 47 }, + { 40, 0x03, 47 }, + { 2, 0x02, 51 }, + { 9, 0x02, 51 }, + { 23, 0x02, 51 }, + { 40, 0x03, 51 }, + { 2, 0x02, 52 }, + { 9, 0x02, 52 }, + { 23, 0x02, 52 }, + { 40, 0x03, 52 }, + { 2, 0x02, 53 }, + { 9, 0x02, 53 }, + { 23, 0x02, 53 }, + { 40, 0x03, 53 }, + }, + /* 17 */ + { + { 3, 0x02, 47 }, + { 6, 0x02, 47 }, + { 10, 0x02, 47 }, + { 15, 0x02, 47 }, + { 24, 0x02, 47 }, + { 31, 0x02, 47 }, + { 41, 0x02, 47 }, + { 56, 0x03, 47 }, + { 3, 0x02, 51 }, + { 6, 0x02, 51 }, + { 10, 0x02, 51 }, + { 15, 0x02, 51 }, + { 24, 0x02, 51 }, + { 31, 0x02, 51 }, + { 41, 0x02, 51 }, + { 56, 0x03, 51 }, + }, + /* 18 */ + { + { 3, 0x02, 52 }, + { 6, 0x02, 52 }, + { 10, 0x02, 52 }, + { 15, 0x02, 52 }, + { 24, 0x02, 52 }, + { 31, 0x02, 52 }, + { 41, 0x02, 52 }, + { 56, 0x03, 52 }, + { 3, 0x02, 53 }, + { 6, 0x02, 53 }, + { 10, 0x02, 53 }, + { 15, 0x02, 53 }, + { 24, 0x02, 53 }, + { 31, 0x02, 53 }, + { 41, 0x02, 53 }, + { 56, 0x03, 53 }, + }, + /* 19 */ + { + { 2, 0x02, 54 }, + { 9, 0x02, 54 }, + { 23, 0x02, 54 }, + { 40, 0x03, 54 }, + { 2, 0x02, 55 }, + { 9, 0x02, 55 }, + { 23, 0x02, 55 }, + { 40, 0x03, 55 }, + { 2, 0x02, 56 }, + { 9, 0x02, 56 }, + { 23, 0x02, 56 }, + { 40, 0x03, 56 }, + { 2, 0x02, 57 }, + { 9, 0x02, 57 }, + { 23, 0x02, 57 }, + { 40, 0x03, 57 }, + }, + /* 20 */ + { + { 3, 0x02, 54 }, + { 6, 0x02, 54 }, + { 10, 0x02, 54 }, + { 15, 0x02, 54 }, + { 24, 0x02, 54 }, + { 31, 0x02, 54 }, + { 41, 0x02, 54 }, + { 56, 0x03, 54 }, + { 3, 0x02, 55 }, + { 6, 0x02, 55 }, + { 10, 0x02, 55 }, + { 15, 0x02, 55 }, + { 24, 0x02, 55 }, + { 31, 0x02, 55 }, + { 41, 0x02, 55 }, + { 56, 0x03, 55 }, + }, + /* 21 */ + { + { 3, 0x02, 56 }, + { 6, 0x02, 56 }, + { 10, 0x02, 56 }, + { 15, 0x02, 56 }, + { 24, 0x02, 56 }, + { 31, 0x02, 56 }, + { 41, 0x02, 56 }, + { 56, 0x03, 56 }, + { 3, 0x02, 57 }, + { 6, 0x02, 57 }, + { 10, 0x02, 57 }, + { 15, 0x02, 57 }, + { 24, 0x02, 57 }, + { 31, 0x02, 57 }, + { 41, 0x02, 57 }, + { 56, 0x03, 57 }, + }, + /* 22 */ + { + { 26, 0x00, 0 }, + { 27, 0x00, 0 }, + { 29, 0x00, 0 }, + { 30, 0x00, 0 }, + { 33, 0x00, 0 }, + { 34, 0x00, 0 }, + { 36, 0x00, 0 }, + { 37, 0x00, 0 }, + { 43, 0x00, 0 }, + { 46, 0x00, 0 }, + { 50, 0x00, 0 }, + { 53, 0x00, 0 }, + { 58, 0x00, 0 }, + { 61, 0x00, 0 }, + { 65, 0x00, 0 }, + { 68, 0x01, 0 }, + }, + /* 23 */ + { + { 0, 0x03, 61 }, + { 0, 0x03, 65 }, + { 0, 0x03, 95 }, + { 0, 0x03, 98 }, + { 0, 0x03, 100 }, + { 0, 0x03, 102 }, + { 0, 0x03, 103 }, + { 0, 0x03, 104 }, + { 0, 0x03, 108 }, + { 0, 0x03, 109 }, + { 0, 0x03, 110 }, + { 0, 0x03, 112 }, + { 0, 0x03, 114 }, + { 0, 0x03, 117 }, + { 38, 0x00, 0 }, + { 39, 0x00, 0 }, + }, + /* 24 */ + { + { 1, 0x02, 61 }, + { 22, 0x03, 61 }, + { 1, 0x02, 65 }, + { 22, 0x03, 65 }, + { 1, 0x02, 95 }, + { 22, 0x03, 95 }, + { 1, 0x02, 98 }, + { 22, 0x03, 98 }, + { 1, 0x02, 100 }, + { 22, 0x03, 100 }, + { 1, 0x02, 102 }, + { 22, 0x03, 102 }, + { 1, 0x02, 103 }, + { 22, 0x03, 103 }, + { 1, 0x02, 104 }, + { 22, 0x03, 104 }, + }, + /* 25 */ + { + { 2, 0x02, 61 }, + { 9, 0x02, 61 }, + { 23, 0x02, 61 }, + { 40, 0x03, 61 }, + { 2, 0x02, 65 }, + { 9, 0x02, 65 }, + { 23, 0x02, 65 }, + { 40, 0x03, 65 }, + { 2, 0x02, 95 }, + { 9, 0x02, 95 }, + { 23, 0x02, 95 }, + { 40, 0x03, 95 }, + { 2, 0x02, 98 }, + { 9, 0x02, 98 }, + { 23, 0x02, 98 }, + { 40, 0x03, 98 }, + }, + /* 26 */ + { + { 3, 0x02, 61 }, + { 6, 0x02, 61 }, + { 10, 0x02, 61 }, + { 15, 0x02, 61 }, + { 24, 0x02, 61 }, + { 31, 0x02, 61 }, + { 41, 0x02, 61 }, + { 56, 0x03, 61 }, + { 3, 0x02, 65 }, + { 6, 0x02, 65 }, + { 10, 0x02, 65 }, + { 15, 0x02, 65 }, + { 24, 0x02, 65 }, + { 31, 0x02, 65 }, + { 41, 0x02, 65 }, + { 56, 0x03, 65 }, + }, + /* 27 */ + { + { 3, 0x02, 95 }, + { 6, 0x02, 95 }, + { 10, 0x02, 95 }, + { 15, 0x02, 95 }, + { 24, 0x02, 95 }, + { 31, 0x02, 95 }, + { 41, 0x02, 95 }, + { 56, 0x03, 95 }, + { 3, 0x02, 98 }, + { 6, 0x02, 98 }, + { 10, 0x02, 98 }, + { 15, 0x02, 98 }, + { 24, 0x02, 98 }, + { 31, 0x02, 98 }, + { 41, 0x02, 98 }, + { 56, 0x03, 98 }, + }, + /* 28 */ + { + { 2, 0x02, 100 }, + { 9, 0x02, 100 }, + { 23, 0x02, 100 }, + { 40, 0x03, 100 }, + { 2, 0x02, 102 }, + { 9, 0x02, 102 }, + { 23, 0x02, 102 }, + { 40, 0x03, 102 }, + { 2, 0x02, 103 }, + { 9, 0x02, 103 }, + { 23, 0x02, 103 }, + { 40, 0x03, 103 }, + { 2, 0x02, 104 }, + { 9, 0x02, 104 }, + { 23, 0x02, 104 }, + { 40, 0x03, 104 }, + }, + /* 29 */ + { + { 3, 0x02, 100 }, + { 6, 0x02, 100 }, + { 10, 0x02, 100 }, + { 15, 0x02, 100 }, + { 24, 0x02, 100 }, + { 31, 0x02, 100 }, + { 41, 0x02, 100 }, + { 56, 0x03, 100 }, + { 3, 0x02, 102 }, + { 6, 0x02, 102 }, + { 10, 0x02, 102 }, + { 15, 0x02, 102 }, + { 24, 0x02, 102 }, + { 31, 0x02, 102 }, + { 41, 0x02, 102 }, + { 56, 0x03, 102 }, + }, + /* 30 */ + { + { 3, 0x02, 103 }, + { 6, 0x02, 103 }, + { 10, 0x02, 103 }, + { 15, 0x02, 103 }, + { 24, 0x02, 103 }, + { 31, 0x02, 103 }, + { 41, 0x02, 103 }, + { 56, 0x03, 103 }, + { 3, 0x02, 104 }, + { 6, 0x02, 104 }, + { 10, 0x02, 104 }, + { 15, 0x02, 104 }, + { 24, 0x02, 104 }, + { 31, 0x02, 104 }, + { 41, 0x02, 104 }, + { 56, 0x03, 104 }, + }, + /* 31 */ + { + { 1, 0x02, 108 }, + { 22, 0x03, 108 }, + { 1, 0x02, 109 }, + { 22, 0x03, 109 }, + { 1, 0x02, 110 }, + { 22, 0x03, 110 }, + { 1, 0x02, 112 }, + { 22, 0x03, 112 }, + { 1, 0x02, 114 }, + { 22, 0x03, 114 }, + { 1, 0x02, 117 }, + { 22, 0x03, 117 }, + { 0, 0x03, 58 }, + { 0, 0x03, 66 }, + { 0, 0x03, 67 }, + { 0, 0x03, 68 }, + }, + /* 32 */ + { + { 2, 0x02, 108 }, + { 9, 0x02, 108 }, + { 23, 0x02, 108 }, + { 40, 0x03, 108 }, + { 2, 0x02, 109 }, + { 9, 0x02, 109 }, + { 23, 0x02, 109 }, + { 40, 0x03, 109 }, + { 2, 0x02, 110 }, + { 9, 0x02, 110 }, + { 23, 0x02, 110 }, + { 40, 0x03, 110 }, + { 2, 0x02, 112 }, + { 9, 0x02, 112 }, + { 23, 0x02, 112 }, + { 40, 0x03, 112 }, + }, + /* 33 */ + { + { 3, 0x02, 108 }, + { 6, 0x02, 108 }, + { 10, 0x02, 108 }, + { 15, 0x02, 108 }, + { 24, 0x02, 108 }, + { 31, 0x02, 108 }, + { 41, 0x02, 108 }, + { 56, 0x03, 108 }, + { 3, 0x02, 109 }, + { 6, 0x02, 109 }, + { 10, 0x02, 109 }, + { 15, 0x02, 109 }, + { 24, 0x02, 109 }, + { 31, 0x02, 109 }, + { 41, 0x02, 109 }, + { 56, 0x03, 109 }, + }, + /* 34 */ + { + { 3, 0x02, 110 }, + { 6, 0x02, 110 }, + { 10, 0x02, 110 }, + { 15, 0x02, 110 }, + { 24, 0x02, 110 }, + { 31, 0x02, 110 }, + { 41, 0x02, 110 }, + { 56, 0x03, 110 }, + { 3, 0x02, 112 }, + { 6, 0x02, 112 }, + { 10, 0x02, 112 }, + { 15, 0x02, 112 }, + { 24, 0x02, 112 }, + { 31, 0x02, 112 }, + { 41, 0x02, 112 }, + { 56, 0x03, 112 }, + }, + /* 35 */ + { + { 2, 0x02, 114 }, + { 9, 0x02, 114 }, + { 23, 0x02, 114 }, + { 40, 0x03, 114 }, + { 2, 0x02, 117 }, + { 9, 0x02, 117 }, + { 23, 0x02, 117 }, + { 40, 0x03, 117 }, + { 1, 0x02, 58 }, + { 22, 0x03, 58 }, + { 1, 0x02, 66 }, + { 22, 0x03, 66 }, + { 1, 0x02, 67 }, + { 22, 0x03, 67 }, + { 1, 0x02, 68 }, + { 22, 0x03, 68 }, + }, + /* 36 */ + { + { 3, 0x02, 114 }, + { 6, 0x02, 114 }, + { 10, 0x02, 114 }, + { 15, 0x02, 114 }, + { 24, 0x02, 114 }, + { 31, 0x02, 114 }, + { 41, 0x02, 114 }, + { 56, 0x03, 114 }, + { 3, 0x02, 117 }, + { 6, 0x02, 117 }, + { 10, 0x02, 117 }, + { 15, 0x02, 117 }, + { 24, 0x02, 117 }, + { 31, 0x02, 117 }, + { 41, 0x02, 117 }, + { 56, 0x03, 117 }, + }, + /* 37 */ + { + { 2, 0x02, 58 }, + { 9, 0x02, 58 }, + { 23, 0x02, 58 }, + { 40, 0x03, 58 }, + { 2, 0x02, 66 }, + { 9, 0x02, 66 }, + { 23, 0x02, 66 }, + { 40, 0x03, 66 }, + { 2, 0x02, 67 }, + { 9, 0x02, 67 }, + { 23, 0x02, 67 }, + { 40, 0x03, 67 }, + { 2, 0x02, 68 }, + { 9, 0x02, 68 }, + { 23, 0x02, 68 }, + { 40, 0x03, 68 }, + }, + /* 38 */ + { + { 3, 0x02, 58 }, + { 6, 0x02, 58 }, + { 10, 0x02, 58 }, + { 15, 0x02, 58 }, + { 24, 0x02, 58 }, + { 31, 0x02, 58 }, + { 41, 0x02, 58 }, + { 56, 0x03, 58 }, + { 3, 0x02, 66 }, + { 6, 0x02, 66 }, + { 10, 0x02, 66 }, + { 15, 0x02, 66 }, + { 24, 0x02, 66 }, + { 31, 0x02, 66 }, + { 41, 0x02, 66 }, + { 56, 0x03, 66 }, + }, + /* 39 */ + { + { 3, 0x02, 67 }, + { 6, 0x02, 67 }, + { 10, 0x02, 67 }, + { 15, 0x02, 67 }, + { 24, 0x02, 67 }, + { 31, 0x02, 67 }, + { 41, 0x02, 67 }, + { 56, 0x03, 67 }, + { 3, 0x02, 68 }, + { 6, 0x02, 68 }, + { 10, 0x02, 68 }, + { 15, 0x02, 68 }, + { 24, 0x02, 68 }, + { 31, 0x02, 68 }, + { 41, 0x02, 68 }, + { 56, 0x03, 68 }, + }, + /* 40 */ + { + { 44, 0x00, 0 }, + { 45, 0x00, 0 }, + { 47, 0x00, 0 }, + { 48, 0x00, 0 }, + { 51, 0x00, 0 }, + { 52, 0x00, 0 }, + { 54, 0x00, 0 }, + { 55, 0x00, 0 }, + { 59, 0x00, 0 }, + { 60, 0x00, 0 }, + { 62, 0x00, 0 }, + { 63, 0x00, 0 }, + { 66, 0x00, 0 }, + { 67, 0x00, 0 }, + { 69, 0x00, 0 }, + { 72, 0x01, 0 }, + }, + /* 41 */ + { + { 0, 0x03, 69 }, + { 0, 0x03, 70 }, + { 0, 0x03, 71 }, + { 0, 0x03, 72 }, + { 0, 0x03, 73 }, + { 0, 0x03, 74 }, + { 0, 0x03, 75 }, + { 0, 0x03, 76 }, + { 0, 0x03, 77 }, + { 0, 0x03, 78 }, + { 0, 0x03, 79 }, + { 0, 0x03, 80 }, + { 0, 0x03, 81 }, + { 0, 0x03, 82 }, + { 0, 0x03, 83 }, + { 0, 0x03, 84 }, + }, + /* 42 */ + { + { 1, 0x02, 69 }, + { 22, 0x03, 69 }, + { 1, 0x02, 70 }, + { 22, 0x03, 70 }, + { 1, 0x02, 71 }, + { 22, 0x03, 71 }, + { 1, 0x02, 72 }, + { 22, 0x03, 72 }, + { 1, 0x02, 73 }, + { 22, 0x03, 73 }, + { 1, 0x02, 74 }, + { 22, 0x03, 74 }, + { 1, 0x02, 75 }, + { 22, 0x03, 75 }, + { 1, 0x02, 76 }, + { 22, 0x03, 76 }, + }, + /* 43 */ + { + { 2, 0x02, 69 }, + { 9, 0x02, 69 }, + { 23, 0x02, 69 }, + { 40, 0x03, 69 }, + { 2, 0x02, 70 }, + { 9, 0x02, 70 }, + { 23, 0x02, 70 }, + { 40, 0x03, 70 }, + { 2, 0x02, 71 }, + { 9, 0x02, 71 }, + { 23, 0x02, 71 }, + { 40, 0x03, 71 }, + { 2, 0x02, 72 }, + { 9, 0x02, 72 }, + { 23, 0x02, 72 }, + { 40, 0x03, 72 }, + }, + /* 44 */ + { + { 3, 0x02, 69 }, + { 6, 0x02, 69 }, + { 10, 0x02, 69 }, + { 15, 0x02, 69 }, + { 24, 0x02, 69 }, + { 31, 0x02, 69 }, + { 41, 0x02, 69 }, + { 56, 0x03, 69 }, + { 3, 0x02, 70 }, + { 6, 0x02, 70 }, + { 10, 0x02, 70 }, + { 15, 0x02, 70 }, + { 24, 0x02, 70 }, + { 31, 0x02, 70 }, + { 41, 0x02, 70 }, + { 56, 0x03, 70 }, + }, + /* 45 */ + { + { 3, 0x02, 71 }, + { 6, 0x02, 71 }, + { 10, 0x02, 71 }, + { 15, 0x02, 71 }, + { 24, 0x02, 71 }, + { 31, 0x02, 71 }, + { 41, 0x02, 71 }, + { 56, 0x03, 71 }, + { 3, 0x02, 72 }, + { 6, 0x02, 72 }, + { 10, 0x02, 72 }, + { 15, 0x02, 72 }, + { 24, 0x02, 72 }, + { 31, 0x02, 72 }, + { 41, 0x02, 72 }, + { 56, 0x03, 72 }, + }, + /* 46 */ + { + { 2, 0x02, 73 }, + { 9, 0x02, 73 }, + { 23, 0x02, 73 }, + { 40, 0x03, 73 }, + { 2, 0x02, 74 }, + { 9, 0x02, 74 }, + { 23, 0x02, 74 }, + { 40, 0x03, 74 }, + { 2, 0x02, 75 }, + { 9, 0x02, 75 }, + { 23, 0x02, 75 }, + { 40, 0x03, 75 }, + { 2, 0x02, 76 }, + { 9, 0x02, 76 }, + { 23, 0x02, 76 }, + { 40, 0x03, 76 }, + }, + /* 47 */ + { + { 3, 0x02, 73 }, + { 6, 0x02, 73 }, + { 10, 0x02, 73 }, + { 15, 0x02, 73 }, + { 24, 0x02, 73 }, + { 31, 0x02, 73 }, + { 41, 0x02, 73 }, + { 56, 0x03, 73 }, + { 3, 0x02, 74 }, + { 6, 0x02, 74 }, + { 10, 0x02, 74 }, + { 15, 0x02, 74 }, + { 24, 0x02, 74 }, + { 31, 0x02, 74 }, + { 41, 0x02, 74 }, + { 56, 0x03, 74 }, + }, + /* 48 */ + { + { 3, 0x02, 75 }, + { 6, 0x02, 75 }, + { 10, 0x02, 75 }, + { 15, 0x02, 75 }, + { 24, 0x02, 75 }, + { 31, 0x02, 75 }, + { 41, 0x02, 75 }, + { 56, 0x03, 75 }, + { 3, 0x02, 76 }, + { 6, 0x02, 76 }, + { 10, 0x02, 76 }, + { 15, 0x02, 76 }, + { 24, 0x02, 76 }, + { 31, 0x02, 76 }, + { 41, 0x02, 76 }, + { 56, 0x03, 76 }, + }, + /* 49 */ + { + { 1, 0x02, 77 }, + { 22, 0x03, 77 }, + { 1, 0x02, 78 }, + { 22, 0x03, 78 }, + { 1, 0x02, 79 }, + { 22, 0x03, 79 }, + { 1, 0x02, 80 }, + { 22, 0x03, 80 }, + { 1, 0x02, 81 }, + { 22, 0x03, 81 }, + { 1, 0x02, 82 }, + { 22, 0x03, 82 }, + { 1, 0x02, 83 }, + { 22, 0x03, 83 }, + { 1, 0x02, 84 }, + { 22, 0x03, 84 }, + }, + /* 50 */ + { + { 2, 0x02, 77 }, + { 9, 0x02, 77 }, + { 23, 0x02, 77 }, + { 40, 0x03, 77 }, + { 2, 0x02, 78 }, + { 9, 0x02, 78 }, + { 23, 0x02, 78 }, + { 40, 0x03, 78 }, + { 2, 0x02, 79 }, + { 9, 0x02, 79 }, + { 23, 0x02, 79 }, + { 40, 0x03, 79 }, + { 2, 0x02, 80 }, + { 9, 0x02, 80 }, + { 23, 0x02, 80 }, + { 40, 0x03, 80 }, + }, + /* 51 */ + { + { 3, 0x02, 77 }, + { 6, 0x02, 77 }, + { 10, 0x02, 77 }, + { 15, 0x02, 77 }, + { 24, 0x02, 77 }, + { 31, 0x02, 77 }, + { 41, 0x02, 77 }, + { 56, 0x03, 77 }, + { 3, 0x02, 78 }, + { 6, 0x02, 78 }, + { 10, 0x02, 78 }, + { 15, 0x02, 78 }, + { 24, 0x02, 78 }, + { 31, 0x02, 78 }, + { 41, 0x02, 78 }, + { 56, 0x03, 78 }, + }, + /* 52 */ + { + { 3, 0x02, 79 }, + { 6, 0x02, 79 }, + { 10, 0x02, 79 }, + { 15, 0x02, 79 }, + { 24, 0x02, 79 }, + { 31, 0x02, 79 }, + { 41, 0x02, 79 }, + { 56, 0x03, 79 }, + { 3, 0x02, 80 }, + { 6, 0x02, 80 }, + { 10, 0x02, 80 }, + { 15, 0x02, 80 }, + { 24, 0x02, 80 }, + { 31, 0x02, 80 }, + { 41, 0x02, 80 }, + { 56, 0x03, 80 }, + }, + /* 53 */ + { + { 2, 0x02, 81 }, + { 9, 0x02, 81 }, + { 23, 0x02, 81 }, + { 40, 0x03, 81 }, + { 2, 0x02, 82 }, + { 9, 0x02, 82 }, + { 23, 0x02, 82 }, + { 40, 0x03, 82 }, + { 2, 0x02, 83 }, + { 9, 0x02, 83 }, + { 23, 0x02, 83 }, + { 40, 0x03, 83 }, + { 2, 0x02, 84 }, + { 9, 0x02, 84 }, + { 23, 0x02, 84 }, + { 40, 0x03, 84 }, + }, + /* 54 */ + { + { 3, 0x02, 81 }, + { 6, 0x02, 81 }, + { 10, 0x02, 81 }, + { 15, 0x02, 81 }, + { 24, 0x02, 81 }, + { 31, 0x02, 81 }, + { 41, 0x02, 81 }, + { 56, 0x03, 81 }, + { 3, 0x02, 82 }, + { 6, 0x02, 82 }, + { 10, 0x02, 82 }, + { 15, 0x02, 82 }, + { 24, 0x02, 82 }, + { 31, 0x02, 82 }, + { 41, 0x02, 82 }, + { 56, 0x03, 82 }, + }, + /* 55 */ + { + { 3, 0x02, 83 }, + { 6, 0x02, 83 }, + { 10, 0x02, 83 }, + { 15, 0x02, 83 }, + { 24, 0x02, 83 }, + { 31, 0x02, 83 }, + { 41, 0x02, 83 }, + { 56, 0x03, 83 }, + { 3, 0x02, 84 }, + { 6, 0x02, 84 }, + { 10, 0x02, 84 }, + { 15, 0x02, 84 }, + { 24, 0x02, 84 }, + { 31, 0x02, 84 }, + { 41, 0x02, 84 }, + { 56, 0x03, 84 }, + }, + /* 56 */ + { + { 0, 0x03, 85 }, + { 0, 0x03, 86 }, + { 0, 0x03, 87 }, + { 0, 0x03, 89 }, + { 0, 0x03, 106 }, + { 0, 0x03, 107 }, + { 0, 0x03, 113 }, + { 0, 0x03, 118 }, + { 0, 0x03, 119 }, + { 0, 0x03, 120 }, + { 0, 0x03, 121 }, + { 0, 0x03, 122 }, + { 70, 0x00, 0 }, + { 71, 0x00, 0 }, + { 73, 0x00, 0 }, + { 74, 0x01, 0 }, + }, + /* 57 */ + { + { 1, 0x02, 85 }, + { 22, 0x03, 85 }, + { 1, 0x02, 86 }, + { 22, 0x03, 86 }, + { 1, 0x02, 87 }, + { 22, 0x03, 87 }, + { 1, 0x02, 89 }, + { 22, 0x03, 89 }, + { 1, 0x02, 106 }, + { 22, 0x03, 106 }, + { 1, 0x02, 107 }, + { 22, 0x03, 107 }, + { 1, 0x02, 113 }, + { 22, 0x03, 113 }, + { 1, 0x02, 118 }, + { 22, 0x03, 118 }, + }, + /* 58 */ + { + { 2, 0x02, 85 }, + { 9, 0x02, 85 }, + { 23, 0x02, 85 }, + { 40, 0x03, 85 }, + { 2, 0x02, 86 }, + { 9, 0x02, 86 }, + { 23, 0x02, 86 }, + { 40, 0x03, 86 }, + { 2, 0x02, 87 }, + { 9, 0x02, 87 }, + { 23, 0x02, 87 }, + { 40, 0x03, 87 }, + { 2, 0x02, 89 }, + { 9, 0x02, 89 }, + { 23, 0x02, 89 }, + { 40, 0x03, 89 }, + }, + /* 59 */ + { + { 3, 0x02, 85 }, + { 6, 0x02, 85 }, + { 10, 0x02, 85 }, + { 15, 0x02, 85 }, + { 24, 0x02, 85 }, + { 31, 0x02, 85 }, + { 41, 0x02, 85 }, + { 56, 0x03, 85 }, + { 3, 0x02, 86 }, + { 6, 0x02, 86 }, + { 10, 0x02, 86 }, + { 15, 0x02, 86 }, + { 24, 0x02, 86 }, + { 31, 0x02, 86 }, + { 41, 0x02, 86 }, + { 56, 0x03, 86 }, + }, + /* 60 */ + { + { 3, 0x02, 87 }, + { 6, 0x02, 87 }, + { 10, 0x02, 87 }, + { 15, 0x02, 87 }, + { 24, 0x02, 87 }, + { 31, 0x02, 87 }, + { 41, 0x02, 87 }, + { 56, 0x03, 87 }, + { 3, 0x02, 89 }, + { 6, 0x02, 89 }, + { 10, 0x02, 89 }, + { 15, 0x02, 89 }, + { 24, 0x02, 89 }, + { 31, 0x02, 89 }, + { 41, 0x02, 89 }, + { 56, 0x03, 89 }, + }, + /* 61 */ + { + { 2, 0x02, 106 }, + { 9, 0x02, 106 }, + { 23, 0x02, 106 }, + { 40, 0x03, 106 }, + { 2, 0x02, 107 }, + { 9, 0x02, 107 }, + { 23, 0x02, 107 }, + { 40, 0x03, 107 }, + { 2, 0x02, 113 }, + { 9, 0x02, 113 }, + { 23, 0x02, 113 }, + { 40, 0x03, 113 }, + { 2, 0x02, 118 }, + { 9, 0x02, 118 }, + { 23, 0x02, 118 }, + { 40, 0x03, 118 }, + }, + /* 62 */ + { + { 3, 0x02, 106 }, + { 6, 0x02, 106 }, + { 10, 0x02, 106 }, + { 15, 0x02, 106 }, + { 24, 0x02, 106 }, + { 31, 0x02, 106 }, + { 41, 0x02, 106 }, + { 56, 0x03, 106 }, + { 3, 0x02, 107 }, + { 6, 0x02, 107 }, + { 10, 0x02, 107 }, + { 15, 0x02, 107 }, + { 24, 0x02, 107 }, + { 31, 0x02, 107 }, + { 41, 0x02, 107 }, + { 56, 0x03, 107 }, + }, + /* 63 */ + { + { 3, 0x02, 113 }, + { 6, 0x02, 113 }, + { 10, 0x02, 113 }, + { 15, 0x02, 113 }, + { 24, 0x02, 113 }, + { 31, 0x02, 113 }, + { 41, 0x02, 113 }, + { 56, 0x03, 113 }, + { 3, 0x02, 118 }, + { 6, 0x02, 118 }, + { 10, 0x02, 118 }, + { 15, 0x02, 118 }, + { 24, 0x02, 118 }, + { 31, 0x02, 118 }, + { 41, 0x02, 118 }, + { 56, 0x03, 118 }, + }, + /* 64 */ + { + { 1, 0x02, 119 }, + { 22, 0x03, 119 }, + { 1, 0x02, 120 }, + { 22, 0x03, 120 }, + { 1, 0x02, 121 }, + { 22, 0x03, 121 }, + { 1, 0x02, 122 }, + { 22, 0x03, 122 }, + { 0, 0x03, 38 }, + { 0, 0x03, 42 }, + { 0, 0x03, 44 }, + { 0, 0x03, 59 }, + { 0, 0x03, 88 }, + { 0, 0x03, 90 }, + { 75, 0x00, 0 }, + { 78, 0x00, 0 }, + }, + /* 65 */ + { + { 2, 0x02, 119 }, + { 9, 0x02, 119 }, + { 23, 0x02, 119 }, + { 40, 0x03, 119 }, + { 2, 0x02, 120 }, + { 9, 0x02, 120 }, + { 23, 0x02, 120 }, + { 40, 0x03, 120 }, + { 2, 0x02, 121 }, + { 9, 0x02, 121 }, + { 23, 0x02, 121 }, + { 40, 0x03, 121 }, + { 2, 0x02, 122 }, + { 9, 0x02, 122 }, + { 23, 0x02, 122 }, + { 40, 0x03, 122 }, + }, + /* 66 */ + { + { 3, 0x02, 119 }, + { 6, 0x02, 119 }, + { 10, 0x02, 119 }, + { 15, 0x02, 119 }, + { 24, 0x02, 119 }, + { 31, 0x02, 119 }, + { 41, 0x02, 119 }, + { 56, 0x03, 119 }, + { 3, 0x02, 120 }, + { 6, 0x02, 120 }, + { 10, 0x02, 120 }, + { 15, 0x02, 120 }, + { 24, 0x02, 120 }, + { 31, 0x02, 120 }, + { 41, 0x02, 120 }, + { 56, 0x03, 120 }, + }, + /* 67 */ + { + { 3, 0x02, 121 }, + { 6, 0x02, 121 }, + { 10, 0x02, 121 }, + { 15, 0x02, 121 }, + { 24, 0x02, 121 }, + { 31, 0x02, 121 }, + { 41, 0x02, 121 }, + { 56, 0x03, 121 }, + { 3, 0x02, 122 }, + { 6, 0x02, 122 }, + { 10, 0x02, 122 }, + { 15, 0x02, 122 }, + { 24, 0x02, 122 }, + { 31, 0x02, 122 }, + { 41, 0x02, 122 }, + { 56, 0x03, 122 }, + }, + /* 68 */ + { + { 1, 0x02, 38 }, + { 22, 0x03, 38 }, + { 1, 0x02, 42 }, + { 22, 0x03, 42 }, + { 1, 0x02, 44 }, + { 22, 0x03, 44 }, + { 1, 0x02, 59 }, + { 22, 0x03, 59 }, + { 1, 0x02, 88 }, + { 22, 0x03, 88 }, + { 1, 0x02, 90 }, + { 22, 0x03, 90 }, + { 76, 0x00, 0 }, + { 77, 0x00, 0 }, + { 79, 0x00, 0 }, + { 81, 0x00, 0 }, + }, + /* 69 */ + { + { 2, 0x02, 38 }, + { 9, 0x02, 38 }, + { 23, 0x02, 38 }, + { 40, 0x03, 38 }, + { 2, 0x02, 42 }, + { 9, 0x02, 42 }, + { 23, 0x02, 42 }, + { 40, 0x03, 42 }, + { 2, 0x02, 44 }, + { 9, 0x02, 44 }, + { 23, 0x02, 44 }, + { 40, 0x03, 44 }, + { 2, 0x02, 59 }, + { 9, 0x02, 59 }, + { 23, 0x02, 59 }, + { 40, 0x03, 59 }, + }, + /* 70 */ + { + { 3, 0x02, 38 }, + { 6, 0x02, 38 }, + { 10, 0x02, 38 }, + { 15, 0x02, 38 }, + { 24, 0x02, 38 }, + { 31, 0x02, 38 }, + { 41, 0x02, 38 }, + { 56, 0x03, 38 }, + { 3, 0x02, 42 }, + { 6, 0x02, 42 }, + { 10, 0x02, 42 }, + { 15, 0x02, 42 }, + { 24, 0x02, 42 }, + { 31, 0x02, 42 }, + { 41, 0x02, 42 }, + { 56, 0x03, 42 }, + }, + /* 71 */ + { + { 3, 0x02, 44 }, + { 6, 0x02, 44 }, + { 10, 0x02, 44 }, + { 15, 0x02, 44 }, + { 24, 0x02, 44 }, + { 31, 0x02, 44 }, + { 41, 0x02, 44 }, + { 56, 0x03, 44 }, + { 3, 0x02, 59 }, + { 6, 0x02, 59 }, + { 10, 0x02, 59 }, + { 15, 0x02, 59 }, + { 24, 0x02, 59 }, + { 31, 0x02, 59 }, + { 41, 0x02, 59 }, + { 56, 0x03, 59 }, + }, + /* 72 */ + { + { 2, 0x02, 88 }, + { 9, 0x02, 88 }, + { 23, 0x02, 88 }, + { 40, 0x03, 88 }, + { 2, 0x02, 90 }, + { 9, 0x02, 90 }, + { 23, 0x02, 90 }, + { 40, 0x03, 90 }, + { 0, 0x03, 33 }, + { 0, 0x03, 34 }, + { 0, 0x03, 40 }, + { 0, 0x03, 41 }, + { 0, 0x03, 63 }, + { 80, 0x00, 0 }, + { 82, 0x00, 0 }, + { 84, 0x00, 0 }, + }, + /* 73 */ + { + { 3, 0x02, 88 }, + { 6, 0x02, 88 }, + { 10, 0x02, 88 }, + { 15, 0x02, 88 }, + { 24, 0x02, 88 }, + { 31, 0x02, 88 }, + { 41, 0x02, 88 }, + { 56, 0x03, 88 }, + { 3, 0x02, 90 }, + { 6, 0x02, 90 }, + { 10, 0x02, 90 }, + { 15, 0x02, 90 }, + { 24, 0x02, 90 }, + { 31, 0x02, 90 }, + { 41, 0x02, 90 }, + { 56, 0x03, 90 }, + }, + /* 74 */ + { + { 1, 0x02, 33 }, + { 22, 0x03, 33 }, + { 1, 0x02, 34 }, + { 22, 0x03, 34 }, + { 1, 0x02, 40 }, + { 22, 0x03, 40 }, + { 1, 0x02, 41 }, + { 22, 0x03, 41 }, + { 1, 0x02, 63 }, + { 22, 0x03, 63 }, + { 0, 0x03, 39 }, + { 0, 0x03, 43 }, + { 0, 0x03, 124 }, + { 83, 0x00, 0 }, + { 85, 0x00, 0 }, + { 88, 0x00, 0 }, + }, + /* 75 */ + { + { 2, 0x02, 33 }, + { 9, 0x02, 33 }, + { 23, 0x02, 33 }, + { 40, 0x03, 33 }, + { 2, 0x02, 34 }, + { 9, 0x02, 34 }, + { 23, 0x02, 34 }, + { 40, 0x03, 34 }, + { 2, 0x02, 40 }, + { 9, 0x02, 40 }, + { 23, 0x02, 40 }, + { 40, 0x03, 40 }, + { 2, 0x02, 41 }, + { 9, 0x02, 41 }, + { 23, 0x02, 41 }, + { 40, 0x03, 41 }, + }, + /* 76 */ + { + { 3, 0x02, 33 }, + { 6, 0x02, 33 }, + { 10, 0x02, 33 }, + { 15, 0x02, 33 }, + { 24, 0x02, 33 }, + { 31, 0x02, 33 }, + { 41, 0x02, 33 }, + { 56, 0x03, 33 }, + { 3, 0x02, 34 }, + { 6, 0x02, 34 }, + { 10, 0x02, 34 }, + { 15, 0x02, 34 }, + { 24, 0x02, 34 }, + { 31, 0x02, 34 }, + { 41, 0x02, 34 }, + { 56, 0x03, 34 }, + }, + /* 77 */ + { + { 3, 0x02, 40 }, + { 6, 0x02, 40 }, + { 10, 0x02, 40 }, + { 15, 0x02, 40 }, + { 24, 0x02, 40 }, + { 31, 0x02, 40 }, + { 41, 0x02, 40 }, + { 56, 0x03, 40 }, + { 3, 0x02, 41 }, + { 6, 0x02, 41 }, + { 10, 0x02, 41 }, + { 15, 0x02, 41 }, + { 24, 0x02, 41 }, + { 31, 0x02, 41 }, + { 41, 0x02, 41 }, + { 56, 0x03, 41 }, + }, + /* 78 */ + { + { 2, 0x02, 63 }, + { 9, 0x02, 63 }, + { 23, 0x02, 63 }, + { 40, 0x03, 63 }, + { 1, 0x02, 39 }, + { 22, 0x03, 39 }, + { 1, 0x02, 43 }, + { 22, 0x03, 43 }, + { 1, 0x02, 124 }, + { 22, 0x03, 124 }, + { 0, 0x03, 35 }, + { 0, 0x03, 62 }, + { 86, 0x00, 0 }, + { 87, 0x00, 0 }, + { 89, 0x00, 0 }, + { 90, 0x00, 0 }, + }, + /* 79 */ + { + { 3, 0x02, 63 }, + { 6, 0x02, 63 }, + { 10, 0x02, 63 }, + { 15, 0x02, 63 }, + { 24, 0x02, 63 }, + { 31, 0x02, 63 }, + { 41, 0x02, 63 }, + { 56, 0x03, 63 }, + { 2, 0x02, 39 }, + { 9, 0x02, 39 }, + { 23, 0x02, 39 }, + { 40, 0x03, 39 }, + { 2, 0x02, 43 }, + { 9, 0x02, 43 }, + { 23, 0x02, 43 }, + { 40, 0x03, 43 }, + }, + /* 80 */ + { + { 3, 0x02, 39 }, + { 6, 0x02, 39 }, + { 10, 0x02, 39 }, + { 15, 0x02, 39 }, + { 24, 0x02, 39 }, + { 31, 0x02, 39 }, + { 41, 0x02, 39 }, + { 56, 0x03, 39 }, + { 3, 0x02, 43 }, + { 6, 0x02, 43 }, + { 10, 0x02, 43 }, + { 15, 0x02, 43 }, + { 24, 0x02, 43 }, + { 31, 0x02, 43 }, + { 41, 0x02, 43 }, + { 56, 0x03, 43 }, + }, + /* 81 */ + { + { 2, 0x02, 124 }, + { 9, 0x02, 124 }, + { 23, 0x02, 124 }, + { 40, 0x03, 124 }, + { 1, 0x02, 35 }, + { 22, 0x03, 35 }, + { 1, 0x02, 62 }, + { 22, 0x03, 62 }, + { 0, 0x03, 0 }, + { 0, 0x03, 36 }, + { 0, 0x03, 64 }, + { 0, 0x03, 91 }, + { 0, 0x03, 93 }, + { 0, 0x03, 126 }, + { 91, 0x00, 0 }, + { 92, 0x00, 0 }, + }, + /* 82 */ + { + { 3, 0x02, 124 }, + { 6, 0x02, 124 }, + { 10, 0x02, 124 }, + { 15, 0x02, 124 }, + { 24, 0x02, 124 }, + { 31, 0x02, 124 }, + { 41, 0x02, 124 }, + { 56, 0x03, 124 }, + { 2, 0x02, 35 }, + { 9, 0x02, 35 }, + { 23, 0x02, 35 }, + { 40, 0x03, 35 }, + { 2, 0x02, 62 }, + { 9, 0x02, 62 }, + { 23, 0x02, 62 }, + { 40, 0x03, 62 }, + }, + /* 83 */ + { + { 3, 0x02, 35 }, + { 6, 0x02, 35 }, + { 10, 0x02, 35 }, + { 15, 0x02, 35 }, + { 24, 0x02, 35 }, + { 31, 0x02, 35 }, + { 41, 0x02, 35 }, + { 56, 0x03, 35 }, + { 3, 0x02, 62 }, + { 6, 0x02, 62 }, + { 10, 0x02, 62 }, + { 15, 0x02, 62 }, + { 24, 0x02, 62 }, + { 31, 0x02, 62 }, + { 41, 0x02, 62 }, + { 56, 0x03, 62 }, + }, + /* 84 */ + { + { 1, 0x02, 0 }, + { 22, 0x03, 0 }, + { 1, 0x02, 36 }, + { 22, 0x03, 36 }, + { 1, 0x02, 64 }, + { 22, 0x03, 64 }, + { 1, 0x02, 91 }, + { 22, 0x03, 91 }, + { 1, 0x02, 93 }, + { 22, 0x03, 93 }, + { 1, 0x02, 126 }, + { 22, 0x03, 126 }, + { 0, 0x03, 94 }, + { 0, 0x03, 125 }, + { 93, 0x00, 0 }, + { 94, 0x00, 0 }, + }, + /* 85 */ + { + { 2, 0x02, 0 }, + { 9, 0x02, 0 }, + { 23, 0x02, 0 }, + { 40, 0x03, 0 }, + { 2, 0x02, 36 }, + { 9, 0x02, 36 }, + { 23, 0x02, 36 }, + { 40, 0x03, 36 }, + { 2, 0x02, 64 }, + { 9, 0x02, 64 }, + { 23, 0x02, 64 }, + { 40, 0x03, 64 }, + { 2, 0x02, 91 }, + { 9, 0x02, 91 }, + { 23, 0x02, 91 }, + { 40, 0x03, 91 }, + }, + /* 86 */ + { + { 3, 0x02, 0 }, + { 6, 0x02, 0 }, + { 10, 0x02, 0 }, + { 15, 0x02, 0 }, + { 24, 0x02, 0 }, + { 31, 0x02, 0 }, + { 41, 0x02, 0 }, + { 56, 0x03, 0 }, + { 3, 0x02, 36 }, + { 6, 0x02, 36 }, + { 10, 0x02, 36 }, + { 15, 0x02, 36 }, + { 24, 0x02, 36 }, + { 31, 0x02, 36 }, + { 41, 0x02, 36 }, + { 56, 0x03, 36 }, + }, + /* 87 */ + { + { 3, 0x02, 64 }, + { 6, 0x02, 64 }, + { 10, 0x02, 64 }, + { 15, 0x02, 64 }, + { 24, 0x02, 64 }, + { 31, 0x02, 64 }, + { 41, 0x02, 64 }, + { 56, 0x03, 64 }, + { 3, 0x02, 91 }, + { 6, 0x02, 91 }, + { 10, 0x02, 91 }, + { 15, 0x02, 91 }, + { 24, 0x02, 91 }, + { 31, 0x02, 91 }, + { 41, 0x02, 91 }, + { 56, 0x03, 91 }, + }, + /* 88 */ + { + { 2, 0x02, 93 }, + { 9, 0x02, 93 }, + { 23, 0x02, 93 }, + { 40, 0x03, 93 }, + { 2, 0x02, 126 }, + { 9, 0x02, 126 }, + { 23, 0x02, 126 }, + { 40, 0x03, 126 }, + { 1, 0x02, 94 }, + { 22, 0x03, 94 }, + { 1, 0x02, 125 }, + { 22, 0x03, 125 }, + { 0, 0x03, 60 }, + { 0, 0x03, 96 }, + { 0, 0x03, 123 }, + { 95, 0x00, 0 }, + }, + /* 89 */ + { + { 3, 0x02, 93 }, + { 6, 0x02, 93 }, + { 10, 0x02, 93 }, + { 15, 0x02, 93 }, + { 24, 0x02, 93 }, + { 31, 0x02, 93 }, + { 41, 0x02, 93 }, + { 56, 0x03, 93 }, + { 3, 0x02, 126 }, + { 6, 0x02, 126 }, + { 10, 0x02, 126 }, + { 15, 0x02, 126 }, + { 24, 0x02, 126 }, + { 31, 0x02, 126 }, + { 41, 0x02, 126 }, + { 56, 0x03, 126 }, + }, + /* 90 */ + { + { 2, 0x02, 94 }, + { 9, 0x02, 94 }, + { 23, 0x02, 94 }, + { 40, 0x03, 94 }, + { 2, 0x02, 125 }, + { 9, 0x02, 125 }, + { 23, 0x02, 125 }, + { 40, 0x03, 125 }, + { 1, 0x02, 60 }, + { 22, 0x03, 60 }, + { 1, 0x02, 96 }, + { 22, 0x03, 96 }, + { 1, 0x02, 123 }, + { 22, 0x03, 123 }, + { 96, 0x00, 0 }, + { 110, 0x00, 0 }, + }, + /* 91 */ + { + { 3, 0x02, 94 }, + { 6, 0x02, 94 }, + { 10, 0x02, 94 }, + { 15, 0x02, 94 }, + { 24, 0x02, 94 }, + { 31, 0x02, 94 }, + { 41, 0x02, 94 }, + { 56, 0x03, 94 }, + { 3, 0x02, 125 }, + { 6, 0x02, 125 }, + { 10, 0x02, 125 }, + { 15, 0x02, 125 }, + { 24, 0x02, 125 }, + { 31, 0x02, 125 }, + { 41, 0x02, 125 }, + { 56, 0x03, 125 }, + }, + /* 92 */ + { + { 2, 0x02, 60 }, + { 9, 0x02, 60 }, + { 23, 0x02, 60 }, + { 40, 0x03, 60 }, + { 2, 0x02, 96 }, + { 9, 0x02, 96 }, + { 23, 0x02, 96 }, + { 40, 0x03, 96 }, + { 2, 0x02, 123 }, + { 9, 0x02, 123 }, + { 23, 0x02, 123 }, + { 40, 0x03, 123 }, + { 97, 0x00, 0 }, + { 101, 0x00, 0 }, + { 111, 0x00, 0 }, + { 133, 0x00, 0 }, + }, + /* 93 */ + { + { 3, 0x02, 60 }, + { 6, 0x02, 60 }, + { 10, 0x02, 60 }, + { 15, 0x02, 60 }, + { 24, 0x02, 60 }, + { 31, 0x02, 60 }, + { 41, 0x02, 60 }, + { 56, 0x03, 60 }, + { 3, 0x02, 96 }, + { 6, 0x02, 96 }, + { 10, 0x02, 96 }, + { 15, 0x02, 96 }, + { 24, 0x02, 96 }, + { 31, 0x02, 96 }, + { 41, 0x02, 96 }, + { 56, 0x03, 96 }, + }, + /* 94 */ + { + { 3, 0x02, 123 }, + { 6, 0x02, 123 }, + { 10, 0x02, 123 }, + { 15, 0x02, 123 }, + { 24, 0x02, 123 }, + { 31, 0x02, 123 }, + { 41, 0x02, 123 }, + { 56, 0x03, 123 }, + { 98, 0x00, 0 }, + { 99, 0x00, 0 }, + { 102, 0x00, 0 }, + { 105, 0x00, 0 }, + { 112, 0x00, 0 }, + { 119, 0x00, 0 }, + { 134, 0x00, 0 }, + { 153, 0x00, 0 }, + }, + /* 95 */ + { + { 0, 0x03, 92 }, + { 0, 0x03, 195 }, + { 0, 0x03, 208 }, + { 100, 0x00, 0 }, + { 103, 0x00, 0 }, + { 104, 0x00, 0 }, + { 106, 0x00, 0 }, + { 107, 0x00, 0 }, + { 113, 0x00, 0 }, + { 116, 0x00, 0 }, + { 120, 0x00, 0 }, + { 126, 0x00, 0 }, + { 135, 0x00, 0 }, + { 142, 0x00, 0 }, + { 154, 0x00, 0 }, + { 169, 0x00, 0 }, + }, + /* 96 */ + { + { 1, 0x02, 92 }, + { 22, 0x03, 92 }, + { 1, 0x02, 195 }, + { 22, 0x03, 195 }, + { 1, 0x02, 208 }, + { 22, 0x03, 208 }, + { 0, 0x03, 128 }, + { 0, 0x03, 130 }, + { 0, 0x03, 131 }, + { 0, 0x03, 162 }, + { 0, 0x03, 184 }, + { 0, 0x03, 194 }, + { 0, 0x03, 224 }, + { 0, 0x03, 226 }, + { 108, 0x00, 0 }, + { 109, 0x00, 0 }, + }, + /* 97 */ + { + { 2, 0x02, 92 }, + { 9, 0x02, 92 }, + { 23, 0x02, 92 }, + { 40, 0x03, 92 }, + { 2, 0x02, 195 }, + { 9, 0x02, 195 }, + { 23, 0x02, 195 }, + { 40, 0x03, 195 }, + { 2, 0x02, 208 }, + { 9, 0x02, 208 }, + { 23, 0x02, 208 }, + { 40, 0x03, 208 }, + { 1, 0x02, 128 }, + { 22, 0x03, 128 }, + { 1, 0x02, 130 }, + { 22, 0x03, 130 }, + }, + /* 98 */ + { + { 3, 0x02, 92 }, + { 6, 0x02, 92 }, + { 10, 0x02, 92 }, + { 15, 0x02, 92 }, + { 24, 0x02, 92 }, + { 31, 0x02, 92 }, + { 41, 0x02, 92 }, + { 56, 0x03, 92 }, + { 3, 0x02, 195 }, + { 6, 0x02, 195 }, + { 10, 0x02, 195 }, + { 15, 0x02, 195 }, + { 24, 0x02, 195 }, + { 31, 0x02, 195 }, + { 41, 0x02, 195 }, + { 56, 0x03, 195 }, + }, + /* 99 */ + { + { 3, 0x02, 208 }, + { 6, 0x02, 208 }, + { 10, 0x02, 208 }, + { 15, 0x02, 208 }, + { 24, 0x02, 208 }, + { 31, 0x02, 208 }, + { 41, 0x02, 208 }, + { 56, 0x03, 208 }, + { 2, 0x02, 128 }, + { 9, 0x02, 128 }, + { 23, 0x02, 128 }, + { 40, 0x03, 128 }, + { 2, 0x02, 130 }, + { 9, 0x02, 130 }, + { 23, 0x02, 130 }, + { 40, 0x03, 130 }, + }, + /* 100 */ + { + { 3, 0x02, 128 }, + { 6, 0x02, 128 }, + { 10, 0x02, 128 }, + { 15, 0x02, 128 }, + { 24, 0x02, 128 }, + { 31, 0x02, 128 }, + { 41, 0x02, 128 }, + { 56, 0x03, 128 }, + { 3, 0x02, 130 }, + { 6, 0x02, 130 }, + { 10, 0x02, 130 }, + { 15, 0x02, 130 }, + { 24, 0x02, 130 }, + { 31, 0x02, 130 }, + { 41, 0x02, 130 }, + { 56, 0x03, 130 }, + }, + /* 101 */ + { + { 1, 0x02, 131 }, + { 22, 0x03, 131 }, + { 1, 0x02, 162 }, + { 22, 0x03, 162 }, + { 1, 0x02, 184 }, + { 22, 0x03, 184 }, + { 1, 0x02, 194 }, + { 22, 0x03, 194 }, + { 1, 0x02, 224 }, + { 22, 0x03, 224 }, + { 1, 0x02, 226 }, + { 22, 0x03, 226 }, + { 0, 0x03, 153 }, + { 0, 0x03, 161 }, + { 0, 0x03, 167 }, + { 0, 0x03, 172 }, + }, + /* 102 */ + { + { 2, 0x02, 131 }, + { 9, 0x02, 131 }, + { 23, 0x02, 131 }, + { 40, 0x03, 131 }, + { 2, 0x02, 162 }, + { 9, 0x02, 162 }, + { 23, 0x02, 162 }, + { 40, 0x03, 162 }, + { 2, 0x02, 184 }, + { 9, 0x02, 184 }, + { 23, 0x02, 184 }, + { 40, 0x03, 184 }, + { 2, 0x02, 194 }, + { 9, 0x02, 194 }, + { 23, 0x02, 194 }, + { 40, 0x03, 194 }, + }, + /* 103 */ + { + { 3, 0x02, 131 }, + { 6, 0x02, 131 }, + { 10, 0x02, 131 }, + { 15, 0x02, 131 }, + { 24, 0x02, 131 }, + { 31, 0x02, 131 }, + { 41, 0x02, 131 }, + { 56, 0x03, 131 }, + { 3, 0x02, 162 }, + { 6, 0x02, 162 }, + { 10, 0x02, 162 }, + { 15, 0x02, 162 }, + { 24, 0x02, 162 }, + { 31, 0x02, 162 }, + { 41, 0x02, 162 }, + { 56, 0x03, 162 }, + }, + /* 104 */ + { + { 3, 0x02, 184 }, + { 6, 0x02, 184 }, + { 10, 0x02, 184 }, + { 15, 0x02, 184 }, + { 24, 0x02, 184 }, + { 31, 0x02, 184 }, + { 41, 0x02, 184 }, + { 56, 0x03, 184 }, + { 3, 0x02, 194 }, + { 6, 0x02, 194 }, + { 10, 0x02, 194 }, + { 15, 0x02, 194 }, + { 24, 0x02, 194 }, + { 31, 0x02, 194 }, + { 41, 0x02, 194 }, + { 56, 0x03, 194 }, + }, + /* 105 */ + { + { 2, 0x02, 224 }, + { 9, 0x02, 224 }, + { 23, 0x02, 224 }, + { 40, 0x03, 224 }, + { 2, 0x02, 226 }, + { 9, 0x02, 226 }, + { 23, 0x02, 226 }, + { 40, 0x03, 226 }, + { 1, 0x02, 153 }, + { 22, 0x03, 153 }, + { 1, 0x02, 161 }, + { 22, 0x03, 161 }, + { 1, 0x02, 167 }, + { 22, 0x03, 167 }, + { 1, 0x02, 172 }, + { 22, 0x03, 172 }, + }, + /* 106 */ + { + { 3, 0x02, 224 }, + { 6, 0x02, 224 }, + { 10, 0x02, 224 }, + { 15, 0x02, 224 }, + { 24, 0x02, 224 }, + { 31, 0x02, 224 }, + { 41, 0x02, 224 }, + { 56, 0x03, 224 }, + { 3, 0x02, 226 }, + { 6, 0x02, 226 }, + { 10, 0x02, 226 }, + { 15, 0x02, 226 }, + { 24, 0x02, 226 }, + { 31, 0x02, 226 }, + { 41, 0x02, 226 }, + { 56, 0x03, 226 }, + }, + /* 107 */ + { + { 2, 0x02, 153 }, + { 9, 0x02, 153 }, + { 23, 0x02, 153 }, + { 40, 0x03, 153 }, + { 2, 0x02, 161 }, + { 9, 0x02, 161 }, + { 23, 0x02, 161 }, + { 40, 0x03, 161 }, + { 2, 0x02, 167 }, + { 9, 0x02, 167 }, + { 23, 0x02, 167 }, + { 40, 0x03, 167 }, + { 2, 0x02, 172 }, + { 9, 0x02, 172 }, + { 23, 0x02, 172 }, + { 40, 0x03, 172 }, + }, + /* 108 */ + { + { 3, 0x02, 153 }, + { 6, 0x02, 153 }, + { 10, 0x02, 153 }, + { 15, 0x02, 153 }, + { 24, 0x02, 153 }, + { 31, 0x02, 153 }, + { 41, 0x02, 153 }, + { 56, 0x03, 153 }, + { 3, 0x02, 161 }, + { 6, 0x02, 161 }, + { 10, 0x02, 161 }, + { 15, 0x02, 161 }, + { 24, 0x02, 161 }, + { 31, 0x02, 161 }, + { 41, 0x02, 161 }, + { 56, 0x03, 161 }, + }, + /* 109 */ + { + { 3, 0x02, 167 }, + { 6, 0x02, 167 }, + { 10, 0x02, 167 }, + { 15, 0x02, 167 }, + { 24, 0x02, 167 }, + { 31, 0x02, 167 }, + { 41, 0x02, 167 }, + { 56, 0x03, 167 }, + { 3, 0x02, 172 }, + { 6, 0x02, 172 }, + { 10, 0x02, 172 }, + { 15, 0x02, 172 }, + { 24, 0x02, 172 }, + { 31, 0x02, 172 }, + { 41, 0x02, 172 }, + { 56, 0x03, 172 }, + }, + /* 110 */ + { + { 114, 0x00, 0 }, + { 115, 0x00, 0 }, + { 117, 0x00, 0 }, + { 118, 0x00, 0 }, + { 121, 0x00, 0 }, + { 123, 0x00, 0 }, + { 127, 0x00, 0 }, + { 130, 0x00, 0 }, + { 136, 0x00, 0 }, + { 139, 0x00, 0 }, + { 143, 0x00, 0 }, + { 146, 0x00, 0 }, + { 155, 0x00, 0 }, + { 162, 0x00, 0 }, + { 170, 0x00, 0 }, + { 180, 0x00, 0 }, + }, + /* 111 */ + { + { 0, 0x03, 176 }, + { 0, 0x03, 177 }, + { 0, 0x03, 179 }, + { 0, 0x03, 209 }, + { 0, 0x03, 216 }, + { 0, 0x03, 217 }, + { 0, 0x03, 227 }, + { 0, 0x03, 229 }, + { 0, 0x03, 230 }, + { 122, 0x00, 0 }, + { 124, 0x00, 0 }, + { 125, 0x00, 0 }, + { 128, 0x00, 0 }, + { 129, 0x00, 0 }, + { 131, 0x00, 0 }, + { 132, 0x00, 0 }, + }, + /* 112 */ + { + { 1, 0x02, 176 }, + { 22, 0x03, 176 }, + { 1, 0x02, 177 }, + { 22, 0x03, 177 }, + { 1, 0x02, 179 }, + { 22, 0x03, 179 }, + { 1, 0x02, 209 }, + { 22, 0x03, 209 }, + { 1, 0x02, 216 }, + { 22, 0x03, 216 }, + { 1, 0x02, 217 }, + { 22, 0x03, 217 }, + { 1, 0x02, 227 }, + { 22, 0x03, 227 }, + { 1, 0x02, 229 }, + { 22, 0x03, 229 }, + }, + /* 113 */ + { + { 2, 0x02, 176 }, + { 9, 0x02, 176 }, + { 23, 0x02, 176 }, + { 40, 0x03, 176 }, + { 2, 0x02, 177 }, + { 9, 0x02, 177 }, + { 23, 0x02, 177 }, + { 40, 0x03, 177 }, + { 2, 0x02, 179 }, + { 9, 0x02, 179 }, + { 23, 0x02, 179 }, + { 40, 0x03, 179 }, + { 2, 0x02, 209 }, + { 9, 0x02, 209 }, + { 23, 0x02, 209 }, + { 40, 0x03, 209 }, + }, + /* 114 */ + { + { 3, 0x02, 176 }, + { 6, 0x02, 176 }, + { 10, 0x02, 176 }, + { 15, 0x02, 176 }, + { 24, 0x02, 176 }, + { 31, 0x02, 176 }, + { 41, 0x02, 176 }, + { 56, 0x03, 176 }, + { 3, 0x02, 177 }, + { 6, 0x02, 177 }, + { 10, 0x02, 177 }, + { 15, 0x02, 177 }, + { 24, 0x02, 177 }, + { 31, 0x02, 177 }, + { 41, 0x02, 177 }, + { 56, 0x03, 177 }, + }, + /* 115 */ + { + { 3, 0x02, 179 }, + { 6, 0x02, 179 }, + { 10, 0x02, 179 }, + { 15, 0x02, 179 }, + { 24, 0x02, 179 }, + { 31, 0x02, 179 }, + { 41, 0x02, 179 }, + { 56, 0x03, 179 }, + { 3, 0x02, 209 }, + { 6, 0x02, 209 }, + { 10, 0x02, 209 }, + { 15, 0x02, 209 }, + { 24, 0x02, 209 }, + { 31, 0x02, 209 }, + { 41, 0x02, 209 }, + { 56, 0x03, 209 }, + }, + /* 116 */ + { + { 2, 0x02, 216 }, + { 9, 0x02, 216 }, + { 23, 0x02, 216 }, + { 40, 0x03, 216 }, + { 2, 0x02, 217 }, + { 9, 0x02, 217 }, + { 23, 0x02, 217 }, + { 40, 0x03, 217 }, + { 2, 0x02, 227 }, + { 9, 0x02, 227 }, + { 23, 0x02, 227 }, + { 40, 0x03, 227 }, + { 2, 0x02, 229 }, + { 9, 0x02, 229 }, + { 23, 0x02, 229 }, + { 40, 0x03, 229 }, + }, + /* 117 */ + { + { 3, 0x02, 216 }, + { 6, 0x02, 216 }, + { 10, 0x02, 216 }, + { 15, 0x02, 216 }, + { 24, 0x02, 216 }, + { 31, 0x02, 216 }, + { 41, 0x02, 216 }, + { 56, 0x03, 216 }, + { 3, 0x02, 217 }, + { 6, 0x02, 217 }, + { 10, 0x02, 217 }, + { 15, 0x02, 217 }, + { 24, 0x02, 217 }, + { 31, 0x02, 217 }, + { 41, 0x02, 217 }, + { 56, 0x03, 217 }, + }, + /* 118 */ + { + { 3, 0x02, 227 }, + { 6, 0x02, 227 }, + { 10, 0x02, 227 }, + { 15, 0x02, 227 }, + { 24, 0x02, 227 }, + { 31, 0x02, 227 }, + { 41, 0x02, 227 }, + { 56, 0x03, 227 }, + { 3, 0x02, 229 }, + { 6, 0x02, 229 }, + { 10, 0x02, 229 }, + { 15, 0x02, 229 }, + { 24, 0x02, 229 }, + { 31, 0x02, 229 }, + { 41, 0x02, 229 }, + { 56, 0x03, 229 }, + }, + /* 119 */ + { + { 1, 0x02, 230 }, + { 22, 0x03, 230 }, + { 0, 0x03, 129 }, + { 0, 0x03, 132 }, + { 0, 0x03, 133 }, + { 0, 0x03, 134 }, + { 0, 0x03, 136 }, + { 0, 0x03, 146 }, + { 0, 0x03, 154 }, + { 0, 0x03, 156 }, + { 0, 0x03, 160 }, + { 0, 0x03, 163 }, + { 0, 0x03, 164 }, + { 0, 0x03, 169 }, + { 0, 0x03, 170 }, + { 0, 0x03, 173 }, + }, + /* 120 */ + { + { 2, 0x02, 230 }, + { 9, 0x02, 230 }, + { 23, 0x02, 230 }, + { 40, 0x03, 230 }, + { 1, 0x02, 129 }, + { 22, 0x03, 129 }, + { 1, 0x02, 132 }, + { 22, 0x03, 132 }, + { 1, 0x02, 133 }, + { 22, 0x03, 133 }, + { 1, 0x02, 134 }, + { 22, 0x03, 134 }, + { 1, 0x02, 136 }, + { 22, 0x03, 136 }, + { 1, 0x02, 146 }, + { 22, 0x03, 146 }, + }, + /* 121 */ + { + { 3, 0x02, 230 }, + { 6, 0x02, 230 }, + { 10, 0x02, 230 }, + { 15, 0x02, 230 }, + { 24, 0x02, 230 }, + { 31, 0x02, 230 }, + { 41, 0x02, 230 }, + { 56, 0x03, 230 }, + { 2, 0x02, 129 }, + { 9, 0x02, 129 }, + { 23, 0x02, 129 }, + { 40, 0x03, 129 }, + { 2, 0x02, 132 }, + { 9, 0x02, 132 }, + { 23, 0x02, 132 }, + { 40, 0x03, 132 }, + }, + /* 122 */ + { + { 3, 0x02, 129 }, + { 6, 0x02, 129 }, + { 10, 0x02, 129 }, + { 15, 0x02, 129 }, + { 24, 0x02, 129 }, + { 31, 0x02, 129 }, + { 41, 0x02, 129 }, + { 56, 0x03, 129 }, + { 3, 0x02, 132 }, + { 6, 0x02, 132 }, + { 10, 0x02, 132 }, + { 15, 0x02, 132 }, + { 24, 0x02, 132 }, + { 31, 0x02, 132 }, + { 41, 0x02, 132 }, + { 56, 0x03, 132 }, + }, + /* 123 */ + { + { 2, 0x02, 133 }, + { 9, 0x02, 133 }, + { 23, 0x02, 133 }, + { 40, 0x03, 133 }, + { 2, 0x02, 134 }, + { 9, 0x02, 134 }, + { 23, 0x02, 134 }, + { 40, 0x03, 134 }, + { 2, 0x02, 136 }, + { 9, 0x02, 136 }, + { 23, 0x02, 136 }, + { 40, 0x03, 136 }, + { 2, 0x02, 146 }, + { 9, 0x02, 146 }, + { 23, 0x02, 146 }, + { 40, 0x03, 146 }, + }, + /* 124 */ + { + { 3, 0x02, 133 }, + { 6, 0x02, 133 }, + { 10, 0x02, 133 }, + { 15, 0x02, 133 }, + { 24, 0x02, 133 }, + { 31, 0x02, 133 }, + { 41, 0x02, 133 }, + { 56, 0x03, 133 }, + { 3, 0x02, 134 }, + { 6, 0x02, 134 }, + { 10, 0x02, 134 }, + { 15, 0x02, 134 }, + { 24, 0x02, 134 }, + { 31, 0x02, 134 }, + { 41, 0x02, 134 }, + { 56, 0x03, 134 }, + }, + /* 125 */ + { + { 3, 0x02, 136 }, + { 6, 0x02, 136 }, + { 10, 0x02, 136 }, + { 15, 0x02, 136 }, + { 24, 0x02, 136 }, + { 31, 0x02, 136 }, + { 41, 0x02, 136 }, + { 56, 0x03, 136 }, + { 3, 0x02, 146 }, + { 6, 0x02, 146 }, + { 10, 0x02, 146 }, + { 15, 0x02, 146 }, + { 24, 0x02, 146 }, + { 31, 0x02, 146 }, + { 41, 0x02, 146 }, + { 56, 0x03, 146 }, + }, + /* 126 */ + { + { 1, 0x02, 154 }, + { 22, 0x03, 154 }, + { 1, 0x02, 156 }, + { 22, 0x03, 156 }, + { 1, 0x02, 160 }, + { 22, 0x03, 160 }, + { 1, 0x02, 163 }, + { 22, 0x03, 163 }, + { 1, 0x02, 164 }, + { 22, 0x03, 164 }, + { 1, 0x02, 169 }, + { 22, 0x03, 169 }, + { 1, 0x02, 170 }, + { 22, 0x03, 170 }, + { 1, 0x02, 173 }, + { 22, 0x03, 173 }, + }, + /* 127 */ + { + { 2, 0x02, 154 }, + { 9, 0x02, 154 }, + { 23, 0x02, 154 }, + { 40, 0x03, 154 }, + { 2, 0x02, 156 }, + { 9, 0x02, 156 }, + { 23, 0x02, 156 }, + { 40, 0x03, 156 }, + { 2, 0x02, 160 }, + { 9, 0x02, 160 }, + { 23, 0x02, 160 }, + { 40, 0x03, 160 }, + { 2, 0x02, 163 }, + { 9, 0x02, 163 }, + { 23, 0x02, 163 }, + { 40, 0x03, 163 }, + }, + /* 128 */ + { + { 3, 0x02, 154 }, + { 6, 0x02, 154 }, + { 10, 0x02, 154 }, + { 15, 0x02, 154 }, + { 24, 0x02, 154 }, + { 31, 0x02, 154 }, + { 41, 0x02, 154 }, + { 56, 0x03, 154 }, + { 3, 0x02, 156 }, + { 6, 0x02, 156 }, + { 10, 0x02, 156 }, + { 15, 0x02, 156 }, + { 24, 0x02, 156 }, + { 31, 0x02, 156 }, + { 41, 0x02, 156 }, + { 56, 0x03, 156 }, + }, + /* 129 */ + { + { 3, 0x02, 160 }, + { 6, 0x02, 160 }, + { 10, 0x02, 160 }, + { 15, 0x02, 160 }, + { 24, 0x02, 160 }, + { 31, 0x02, 160 }, + { 41, 0x02, 160 }, + { 56, 0x03, 160 }, + { 3, 0x02, 163 }, + { 6, 0x02, 163 }, + { 10, 0x02, 163 }, + { 15, 0x02, 163 }, + { 24, 0x02, 163 }, + { 31, 0x02, 163 }, + { 41, 0x02, 163 }, + { 56, 0x03, 163 }, + }, + /* 130 */ + { + { 2, 0x02, 164 }, + { 9, 0x02, 164 }, + { 23, 0x02, 164 }, + { 40, 0x03, 164 }, + { 2, 0x02, 169 }, + { 9, 0x02, 169 }, + { 23, 0x02, 169 }, + { 40, 0x03, 169 }, + { 2, 0x02, 170 }, + { 9, 0x02, 170 }, + { 23, 0x02, 170 }, + { 40, 0x03, 170 }, + { 2, 0x02, 173 }, + { 9, 0x02, 173 }, + { 23, 0x02, 173 }, + { 40, 0x03, 173 }, + }, + /* 131 */ + { + { 3, 0x02, 164 }, + { 6, 0x02, 164 }, + { 10, 0x02, 164 }, + { 15, 0x02, 164 }, + { 24, 0x02, 164 }, + { 31, 0x02, 164 }, + { 41, 0x02, 164 }, + { 56, 0x03, 164 }, + { 3, 0x02, 169 }, + { 6, 0x02, 169 }, + { 10, 0x02, 169 }, + { 15, 0x02, 169 }, + { 24, 0x02, 169 }, + { 31, 0x02, 169 }, + { 41, 0x02, 169 }, + { 56, 0x03, 169 }, + }, + /* 132 */ + { + { 3, 0x02, 170 }, + { 6, 0x02, 170 }, + { 10, 0x02, 170 }, + { 15, 0x02, 170 }, + { 24, 0x02, 170 }, + { 31, 0x02, 170 }, + { 41, 0x02, 170 }, + { 56, 0x03, 170 }, + { 3, 0x02, 173 }, + { 6, 0x02, 173 }, + { 10, 0x02, 173 }, + { 15, 0x02, 173 }, + { 24, 0x02, 173 }, + { 31, 0x02, 173 }, + { 41, 0x02, 173 }, + { 56, 0x03, 173 }, + }, + /* 133 */ + { + { 137, 0x00, 0 }, + { 138, 0x00, 0 }, + { 140, 0x00, 0 }, + { 141, 0x00, 0 }, + { 144, 0x00, 0 }, + { 145, 0x00, 0 }, + { 147, 0x00, 0 }, + { 150, 0x00, 0 }, + { 156, 0x00, 0 }, + { 159, 0x00, 0 }, + { 163, 0x00, 0 }, + { 166, 0x00, 0 }, + { 171, 0x00, 0 }, + { 174, 0x00, 0 }, + { 181, 0x00, 0 }, + { 190, 0x00, 0 }, + }, + /* 134 */ + { + { 0, 0x03, 178 }, + { 0, 0x03, 181 }, + { 0, 0x03, 185 }, + { 0, 0x03, 186 }, + { 0, 0x03, 187 }, + { 0, 0x03, 189 }, + { 0, 0x03, 190 }, + { 0, 0x03, 196 }, + { 0, 0x03, 198 }, + { 0, 0x03, 228 }, + { 0, 0x03, 232 }, + { 0, 0x03, 233 }, + { 148, 0x00, 0 }, + { 149, 0x00, 0 }, + { 151, 0x00, 0 }, + { 152, 0x00, 0 }, + }, + /* 135 */ + { + { 1, 0x02, 178 }, + { 22, 0x03, 178 }, + { 1, 0x02, 181 }, + { 22, 0x03, 181 }, + { 1, 0x02, 185 }, + { 22, 0x03, 185 }, + { 1, 0x02, 186 }, + { 22, 0x03, 186 }, + { 1, 0x02, 187 }, + { 22, 0x03, 187 }, + { 1, 0x02, 189 }, + { 22, 0x03, 189 }, + { 1, 0x02, 190 }, + { 22, 0x03, 190 }, + { 1, 0x02, 196 }, + { 22, 0x03, 196 }, + }, + /* 136 */ + { + { 2, 0x02, 178 }, + { 9, 0x02, 178 }, + { 23, 0x02, 178 }, + { 40, 0x03, 178 }, + { 2, 0x02, 181 }, + { 9, 0x02, 181 }, + { 23, 0x02, 181 }, + { 40, 0x03, 181 }, + { 2, 0x02, 185 }, + { 9, 0x02, 185 }, + { 23, 0x02, 185 }, + { 40, 0x03, 185 }, + { 2, 0x02, 186 }, + { 9, 0x02, 186 }, + { 23, 0x02, 186 }, + { 40, 0x03, 186 }, + }, + /* 137 */ + { + { 3, 0x02, 178 }, + { 6, 0x02, 178 }, + { 10, 0x02, 178 }, + { 15, 0x02, 178 }, + { 24, 0x02, 178 }, + { 31, 0x02, 178 }, + { 41, 0x02, 178 }, + { 56, 0x03, 178 }, + { 3, 0x02, 181 }, + { 6, 0x02, 181 }, + { 10, 0x02, 181 }, + { 15, 0x02, 181 }, + { 24, 0x02, 181 }, + { 31, 0x02, 181 }, + { 41, 0x02, 181 }, + { 56, 0x03, 181 }, + }, + /* 138 */ + { + { 3, 0x02, 185 }, + { 6, 0x02, 185 }, + { 10, 0x02, 185 }, + { 15, 0x02, 185 }, + { 24, 0x02, 185 }, + { 31, 0x02, 185 }, + { 41, 0x02, 185 }, + { 56, 0x03, 185 }, + { 3, 0x02, 186 }, + { 6, 0x02, 186 }, + { 10, 0x02, 186 }, + { 15, 0x02, 186 }, + { 24, 0x02, 186 }, + { 31, 0x02, 186 }, + { 41, 0x02, 186 }, + { 56, 0x03, 186 }, + }, + /* 139 */ + { + { 2, 0x02, 187 }, + { 9, 0x02, 187 }, + { 23, 0x02, 187 }, + { 40, 0x03, 187 }, + { 2, 0x02, 189 }, + { 9, 0x02, 189 }, + { 23, 0x02, 189 }, + { 40, 0x03, 189 }, + { 2, 0x02, 190 }, + { 9, 0x02, 190 }, + { 23, 0x02, 190 }, + { 40, 0x03, 190 }, + { 2, 0x02, 196 }, + { 9, 0x02, 196 }, + { 23, 0x02, 196 }, + { 40, 0x03, 196 }, + }, + /* 140 */ + { + { 3, 0x02, 187 }, + { 6, 0x02, 187 }, + { 10, 0x02, 187 }, + { 15, 0x02, 187 }, + { 24, 0x02, 187 }, + { 31, 0x02, 187 }, + { 41, 0x02, 187 }, + { 56, 0x03, 187 }, + { 3, 0x02, 189 }, + { 6, 0x02, 189 }, + { 10, 0x02, 189 }, + { 15, 0x02, 189 }, + { 24, 0x02, 189 }, + { 31, 0x02, 189 }, + { 41, 0x02, 189 }, + { 56, 0x03, 189 }, + }, + /* 141 */ + { + { 3, 0x02, 190 }, + { 6, 0x02, 190 }, + { 10, 0x02, 190 }, + { 15, 0x02, 190 }, + { 24, 0x02, 190 }, + { 31, 0x02, 190 }, + { 41, 0x02, 190 }, + { 56, 0x03, 190 }, + { 3, 0x02, 196 }, + { 6, 0x02, 196 }, + { 10, 0x02, 196 }, + { 15, 0x02, 196 }, + { 24, 0x02, 196 }, + { 31, 0x02, 196 }, + { 41, 0x02, 196 }, + { 56, 0x03, 196 }, + }, + /* 142 */ + { + { 1, 0x02, 198 }, + { 22, 0x03, 198 }, + { 1, 0x02, 228 }, + { 22, 0x03, 228 }, + { 1, 0x02, 232 }, + { 22, 0x03, 232 }, + { 1, 0x02, 233 }, + { 22, 0x03, 233 }, + { 0, 0x03, 1 }, + { 0, 0x03, 135 }, + { 0, 0x03, 137 }, + { 0, 0x03, 138 }, + { 0, 0x03, 139 }, + { 0, 0x03, 140 }, + { 0, 0x03, 141 }, + { 0, 0x03, 143 }, + }, + /* 143 */ + { + { 2, 0x02, 198 }, + { 9, 0x02, 198 }, + { 23, 0x02, 198 }, + { 40, 0x03, 198 }, + { 2, 0x02, 228 }, + { 9, 0x02, 228 }, + { 23, 0x02, 228 }, + { 40, 0x03, 228 }, + { 2, 0x02, 232 }, + { 9, 0x02, 232 }, + { 23, 0x02, 232 }, + { 40, 0x03, 232 }, + { 2, 0x02, 233 }, + { 9, 0x02, 233 }, + { 23, 0x02, 233 }, + { 40, 0x03, 233 }, + }, + /* 144 */ + { + { 3, 0x02, 198 }, + { 6, 0x02, 198 }, + { 10, 0x02, 198 }, + { 15, 0x02, 198 }, + { 24, 0x02, 198 }, + { 31, 0x02, 198 }, + { 41, 0x02, 198 }, + { 56, 0x03, 198 }, + { 3, 0x02, 228 }, + { 6, 0x02, 228 }, + { 10, 0x02, 228 }, + { 15, 0x02, 228 }, + { 24, 0x02, 228 }, + { 31, 0x02, 228 }, + { 41, 0x02, 228 }, + { 56, 0x03, 228 }, + }, + /* 145 */ + { + { 3, 0x02, 232 }, + { 6, 0x02, 232 }, + { 10, 0x02, 232 }, + { 15, 0x02, 232 }, + { 24, 0x02, 232 }, + { 31, 0x02, 232 }, + { 41, 0x02, 232 }, + { 56, 0x03, 232 }, + { 3, 0x02, 233 }, + { 6, 0x02, 233 }, + { 10, 0x02, 233 }, + { 15, 0x02, 233 }, + { 24, 0x02, 233 }, + { 31, 0x02, 233 }, + { 41, 0x02, 233 }, + { 56, 0x03, 233 }, + }, + /* 146 */ + { + { 1, 0x02, 1 }, + { 22, 0x03, 1 }, + { 1, 0x02, 135 }, + { 22, 0x03, 135 }, + { 1, 0x02, 137 }, + { 22, 0x03, 137 }, + { 1, 0x02, 138 }, + { 22, 0x03, 138 }, + { 1, 0x02, 139 }, + { 22, 0x03, 139 }, + { 1, 0x02, 140 }, + { 22, 0x03, 140 }, + { 1, 0x02, 141 }, + { 22, 0x03, 141 }, + { 1, 0x02, 143 }, + { 22, 0x03, 143 }, + }, + /* 147 */ + { + { 2, 0x02, 1 }, + { 9, 0x02, 1 }, + { 23, 0x02, 1 }, + { 40, 0x03, 1 }, + { 2, 0x02, 135 }, + { 9, 0x02, 135 }, + { 23, 0x02, 135 }, + { 40, 0x03, 135 }, + { 2, 0x02, 137 }, + { 9, 0x02, 137 }, + { 23, 0x02, 137 }, + { 40, 0x03, 137 }, + { 2, 0x02, 138 }, + { 9, 0x02, 138 }, + { 23, 0x02, 138 }, + { 40, 0x03, 138 }, + }, + /* 148 */ + { + { 3, 0x02, 1 }, + { 6, 0x02, 1 }, + { 10, 0x02, 1 }, + { 15, 0x02, 1 }, + { 24, 0x02, 1 }, + { 31, 0x02, 1 }, + { 41, 0x02, 1 }, + { 56, 0x03, 1 }, + { 3, 0x02, 135 }, + { 6, 0x02, 135 }, + { 10, 0x02, 135 }, + { 15, 0x02, 135 }, + { 24, 0x02, 135 }, + { 31, 0x02, 135 }, + { 41, 0x02, 135 }, + { 56, 0x03, 135 }, + }, + /* 149 */ + { + { 3, 0x02, 137 }, + { 6, 0x02, 137 }, + { 10, 0x02, 137 }, + { 15, 0x02, 137 }, + { 24, 0x02, 137 }, + { 31, 0x02, 137 }, + { 41, 0x02, 137 }, + { 56, 0x03, 137 }, + { 3, 0x02, 138 }, + { 6, 0x02, 138 }, + { 10, 0x02, 138 }, + { 15, 0x02, 138 }, + { 24, 0x02, 138 }, + { 31, 0x02, 138 }, + { 41, 0x02, 138 }, + { 56, 0x03, 138 }, + }, + /* 150 */ + { + { 2, 0x02, 139 }, + { 9, 0x02, 139 }, + { 23, 0x02, 139 }, + { 40, 0x03, 139 }, + { 2, 0x02, 140 }, + { 9, 0x02, 140 }, + { 23, 0x02, 140 }, + { 40, 0x03, 140 }, + { 2, 0x02, 141 }, + { 9, 0x02, 141 }, + { 23, 0x02, 141 }, + { 40, 0x03, 141 }, + { 2, 0x02, 143 }, + { 9, 0x02, 143 }, + { 23, 0x02, 143 }, + { 40, 0x03, 143 }, + }, + /* 151 */ + { + { 3, 0x02, 139 }, + { 6, 0x02, 139 }, + { 10, 0x02, 139 }, + { 15, 0x02, 139 }, + { 24, 0x02, 139 }, + { 31, 0x02, 139 }, + { 41, 0x02, 139 }, + { 56, 0x03, 139 }, + { 3, 0x02, 140 }, + { 6, 0x02, 140 }, + { 10, 0x02, 140 }, + { 15, 0x02, 140 }, + { 24, 0x02, 140 }, + { 31, 0x02, 140 }, + { 41, 0x02, 140 }, + { 56, 0x03, 140 }, + }, + /* 152 */ + { + { 3, 0x02, 141 }, + { 6, 0x02, 141 }, + { 10, 0x02, 141 }, + { 15, 0x02, 141 }, + { 24, 0x02, 141 }, + { 31, 0x02, 141 }, + { 41, 0x02, 141 }, + { 56, 0x03, 141 }, + { 3, 0x02, 143 }, + { 6, 0x02, 143 }, + { 10, 0x02, 143 }, + { 15, 0x02, 143 }, + { 24, 0x02, 143 }, + { 31, 0x02, 143 }, + { 41, 0x02, 143 }, + { 56, 0x03, 143 }, + }, + /* 153 */ + { + { 157, 0x00, 0 }, + { 158, 0x00, 0 }, + { 160, 0x00, 0 }, + { 161, 0x00, 0 }, + { 164, 0x00, 0 }, + { 165, 0x00, 0 }, + { 167, 0x00, 0 }, + { 168, 0x00, 0 }, + { 172, 0x00, 0 }, + { 173, 0x00, 0 }, + { 175, 0x00, 0 }, + { 177, 0x00, 0 }, + { 182, 0x00, 0 }, + { 185, 0x00, 0 }, + { 191, 0x00, 0 }, + { 207, 0x00, 0 }, + }, + /* 154 */ + { + { 0, 0x03, 147 }, + { 0, 0x03, 149 }, + { 0, 0x03, 150 }, + { 0, 0x03, 151 }, + { 0, 0x03, 152 }, + { 0, 0x03, 155 }, + { 0, 0x03, 157 }, + { 0, 0x03, 158 }, + { 0, 0x03, 165 }, + { 0, 0x03, 166 }, + { 0, 0x03, 168 }, + { 0, 0x03, 174 }, + { 0, 0x03, 175 }, + { 0, 0x03, 180 }, + { 0, 0x03, 182 }, + { 0, 0x03, 183 }, + }, + /* 155 */ + { + { 1, 0x02, 147 }, + { 22, 0x03, 147 }, + { 1, 0x02, 149 }, + { 22, 0x03, 149 }, + { 1, 0x02, 150 }, + { 22, 0x03, 150 }, + { 1, 0x02, 151 }, + { 22, 0x03, 151 }, + { 1, 0x02, 152 }, + { 22, 0x03, 152 }, + { 1, 0x02, 155 }, + { 22, 0x03, 155 }, + { 1, 0x02, 157 }, + { 22, 0x03, 157 }, + { 1, 0x02, 158 }, + { 22, 0x03, 158 }, + }, + /* 156 */ + { + { 2, 0x02, 147 }, + { 9, 0x02, 147 }, + { 23, 0x02, 147 }, + { 40, 0x03, 147 }, + { 2, 0x02, 149 }, + { 9, 0x02, 149 }, + { 23, 0x02, 149 }, + { 40, 0x03, 149 }, + { 2, 0x02, 150 }, + { 9, 0x02, 150 }, + { 23, 0x02, 150 }, + { 40, 0x03, 150 }, + { 2, 0x02, 151 }, + { 9, 0x02, 151 }, + { 23, 0x02, 151 }, + { 40, 0x03, 151 }, + }, + /* 157 */ + { + { 3, 0x02, 147 }, + { 6, 0x02, 147 }, + { 10, 0x02, 147 }, + { 15, 0x02, 147 }, + { 24, 0x02, 147 }, + { 31, 0x02, 147 }, + { 41, 0x02, 147 }, + { 56, 0x03, 147 }, + { 3, 0x02, 149 }, + { 6, 0x02, 149 }, + { 10, 0x02, 149 }, + { 15, 0x02, 149 }, + { 24, 0x02, 149 }, + { 31, 0x02, 149 }, + { 41, 0x02, 149 }, + { 56, 0x03, 149 }, + }, + /* 158 */ + { + { 3, 0x02, 150 }, + { 6, 0x02, 150 }, + { 10, 0x02, 150 }, + { 15, 0x02, 150 }, + { 24, 0x02, 150 }, + { 31, 0x02, 150 }, + { 41, 0x02, 150 }, + { 56, 0x03, 150 }, + { 3, 0x02, 151 }, + { 6, 0x02, 151 }, + { 10, 0x02, 151 }, + { 15, 0x02, 151 }, + { 24, 0x02, 151 }, + { 31, 0x02, 151 }, + { 41, 0x02, 151 }, + { 56, 0x03, 151 }, + }, + /* 159 */ + { + { 2, 0x02, 152 }, + { 9, 0x02, 152 }, + { 23, 0x02, 152 }, + { 40, 0x03, 152 }, + { 2, 0x02, 155 }, + { 9, 0x02, 155 }, + { 23, 0x02, 155 }, + { 40, 0x03, 155 }, + { 2, 0x02, 157 }, + { 9, 0x02, 157 }, + { 23, 0x02, 157 }, + { 40, 0x03, 157 }, + { 2, 0x02, 158 }, + { 9, 0x02, 158 }, + { 23, 0x02, 158 }, + { 40, 0x03, 158 }, + }, + /* 160 */ + { + { 3, 0x02, 152 }, + { 6, 0x02, 152 }, + { 10, 0x02, 152 }, + { 15, 0x02, 152 }, + { 24, 0x02, 152 }, + { 31, 0x02, 152 }, + { 41, 0x02, 152 }, + { 56, 0x03, 152 }, + { 3, 0x02, 155 }, + { 6, 0x02, 155 }, + { 10, 0x02, 155 }, + { 15, 0x02, 155 }, + { 24, 0x02, 155 }, + { 31, 0x02, 155 }, + { 41, 0x02, 155 }, + { 56, 0x03, 155 }, + }, + /* 161 */ + { + { 3, 0x02, 157 }, + { 6, 0x02, 157 }, + { 10, 0x02, 157 }, + { 15, 0x02, 157 }, + { 24, 0x02, 157 }, + { 31, 0x02, 157 }, + { 41, 0x02, 157 }, + { 56, 0x03, 157 }, + { 3, 0x02, 158 }, + { 6, 0x02, 158 }, + { 10, 0x02, 158 }, + { 15, 0x02, 158 }, + { 24, 0x02, 158 }, + { 31, 0x02, 158 }, + { 41, 0x02, 158 }, + { 56, 0x03, 158 }, + }, + /* 162 */ + { + { 1, 0x02, 165 }, + { 22, 0x03, 165 }, + { 1, 0x02, 166 }, + { 22, 0x03, 166 }, + { 1, 0x02, 168 }, + { 22, 0x03, 168 }, + { 1, 0x02, 174 }, + { 22, 0x03, 174 }, + { 1, 0x02, 175 }, + { 22, 0x03, 175 }, + { 1, 0x02, 180 }, + { 22, 0x03, 180 }, + { 1, 0x02, 182 }, + { 22, 0x03, 182 }, + { 1, 0x02, 183 }, + { 22, 0x03, 183 }, + }, + /* 163 */ + { + { 2, 0x02, 165 }, + { 9, 0x02, 165 }, + { 23, 0x02, 165 }, + { 40, 0x03, 165 }, + { 2, 0x02, 166 }, + { 9, 0x02, 166 }, + { 23, 0x02, 166 }, + { 40, 0x03, 166 }, + { 2, 0x02, 168 }, + { 9, 0x02, 168 }, + { 23, 0x02, 168 }, + { 40, 0x03, 168 }, + { 2, 0x02, 174 }, + { 9, 0x02, 174 }, + { 23, 0x02, 174 }, + { 40, 0x03, 174 }, + }, + /* 164 */ + { + { 3, 0x02, 165 }, + { 6, 0x02, 165 }, + { 10, 0x02, 165 }, + { 15, 0x02, 165 }, + { 24, 0x02, 165 }, + { 31, 0x02, 165 }, + { 41, 0x02, 165 }, + { 56, 0x03, 165 }, + { 3, 0x02, 166 }, + { 6, 0x02, 166 }, + { 10, 0x02, 166 }, + { 15, 0x02, 166 }, + { 24, 0x02, 166 }, + { 31, 0x02, 166 }, + { 41, 0x02, 166 }, + { 56, 0x03, 166 }, + }, + /* 165 */ + { + { 3, 0x02, 168 }, + { 6, 0x02, 168 }, + { 10, 0x02, 168 }, + { 15, 0x02, 168 }, + { 24, 0x02, 168 }, + { 31, 0x02, 168 }, + { 41, 0x02, 168 }, + { 56, 0x03, 168 }, + { 3, 0x02, 174 }, + { 6, 0x02, 174 }, + { 10, 0x02, 174 }, + { 15, 0x02, 174 }, + { 24, 0x02, 174 }, + { 31, 0x02, 174 }, + { 41, 0x02, 174 }, + { 56, 0x03, 174 }, + }, + /* 166 */ + { + { 2, 0x02, 175 }, + { 9, 0x02, 175 }, + { 23, 0x02, 175 }, + { 40, 0x03, 175 }, + { 2, 0x02, 180 }, + { 9, 0x02, 180 }, + { 23, 0x02, 180 }, + { 40, 0x03, 180 }, + { 2, 0x02, 182 }, + { 9, 0x02, 182 }, + { 23, 0x02, 182 }, + { 40, 0x03, 182 }, + { 2, 0x02, 183 }, + { 9, 0x02, 183 }, + { 23, 0x02, 183 }, + { 40, 0x03, 183 }, + }, + /* 167 */ + { + { 3, 0x02, 175 }, + { 6, 0x02, 175 }, + { 10, 0x02, 175 }, + { 15, 0x02, 175 }, + { 24, 0x02, 175 }, + { 31, 0x02, 175 }, + { 41, 0x02, 175 }, + { 56, 0x03, 175 }, + { 3, 0x02, 180 }, + { 6, 0x02, 180 }, + { 10, 0x02, 180 }, + { 15, 0x02, 180 }, + { 24, 0x02, 180 }, + { 31, 0x02, 180 }, + { 41, 0x02, 180 }, + { 56, 0x03, 180 }, + }, + /* 168 */ + { + { 3, 0x02, 182 }, + { 6, 0x02, 182 }, + { 10, 0x02, 182 }, + { 15, 0x02, 182 }, + { 24, 0x02, 182 }, + { 31, 0x02, 182 }, + { 41, 0x02, 182 }, + { 56, 0x03, 182 }, + { 3, 0x02, 183 }, + { 6, 0x02, 183 }, + { 10, 0x02, 183 }, + { 15, 0x02, 183 }, + { 24, 0x02, 183 }, + { 31, 0x02, 183 }, + { 41, 0x02, 183 }, + { 56, 0x03, 183 }, + }, + /* 169 */ + { + { 0, 0x03, 188 }, + { 0, 0x03, 191 }, + { 0, 0x03, 197 }, + { 0, 0x03, 231 }, + { 0, 0x03, 239 }, + { 176, 0x00, 0 }, + { 178, 0x00, 0 }, + { 179, 0x00, 0 }, + { 183, 0x00, 0 }, + { 184, 0x00, 0 }, + { 186, 0x00, 0 }, + { 187, 0x00, 0 }, + { 192, 0x00, 0 }, + { 199, 0x00, 0 }, + { 208, 0x00, 0 }, + { 223, 0x00, 0 }, + }, + /* 170 */ + { + { 1, 0x02, 188 }, + { 22, 0x03, 188 }, + { 1, 0x02, 191 }, + { 22, 0x03, 191 }, + { 1, 0x02, 197 }, + { 22, 0x03, 197 }, + { 1, 0x02, 231 }, + { 22, 0x03, 231 }, + { 1, 0x02, 239 }, + { 22, 0x03, 239 }, + { 0, 0x03, 9 }, + { 0, 0x03, 142 }, + { 0, 0x03, 144 }, + { 0, 0x03, 145 }, + { 0, 0x03, 148 }, + { 0, 0x03, 159 }, + }, + /* 171 */ + { + { 2, 0x02, 188 }, + { 9, 0x02, 188 }, + { 23, 0x02, 188 }, + { 40, 0x03, 188 }, + { 2, 0x02, 191 }, + { 9, 0x02, 191 }, + { 23, 0x02, 191 }, + { 40, 0x03, 191 }, + { 2, 0x02, 197 }, + { 9, 0x02, 197 }, + { 23, 0x02, 197 }, + { 40, 0x03, 197 }, + { 2, 0x02, 231 }, + { 9, 0x02, 231 }, + { 23, 0x02, 231 }, + { 40, 0x03, 231 }, + }, + /* 172 */ + { + { 3, 0x02, 188 }, + { 6, 0x02, 188 }, + { 10, 0x02, 188 }, + { 15, 0x02, 188 }, + { 24, 0x02, 188 }, + { 31, 0x02, 188 }, + { 41, 0x02, 188 }, + { 56, 0x03, 188 }, + { 3, 0x02, 191 }, + { 6, 0x02, 191 }, + { 10, 0x02, 191 }, + { 15, 0x02, 191 }, + { 24, 0x02, 191 }, + { 31, 0x02, 191 }, + { 41, 0x02, 191 }, + { 56, 0x03, 191 }, + }, + /* 173 */ + { + { 3, 0x02, 197 }, + { 6, 0x02, 197 }, + { 10, 0x02, 197 }, + { 15, 0x02, 197 }, + { 24, 0x02, 197 }, + { 31, 0x02, 197 }, + { 41, 0x02, 197 }, + { 56, 0x03, 197 }, + { 3, 0x02, 231 }, + { 6, 0x02, 231 }, + { 10, 0x02, 231 }, + { 15, 0x02, 231 }, + { 24, 0x02, 231 }, + { 31, 0x02, 231 }, + { 41, 0x02, 231 }, + { 56, 0x03, 231 }, + }, + /* 174 */ + { + { 2, 0x02, 239 }, + { 9, 0x02, 239 }, + { 23, 0x02, 239 }, + { 40, 0x03, 239 }, + { 1, 0x02, 9 }, + { 22, 0x03, 9 }, + { 1, 0x02, 142 }, + { 22, 0x03, 142 }, + { 1, 0x02, 144 }, + { 22, 0x03, 144 }, + { 1, 0x02, 145 }, + { 22, 0x03, 145 }, + { 1, 0x02, 148 }, + { 22, 0x03, 148 }, + { 1, 0x02, 159 }, + { 22, 0x03, 159 }, + }, + /* 175 */ + { + { 3, 0x02, 239 }, + { 6, 0x02, 239 }, + { 10, 0x02, 239 }, + { 15, 0x02, 239 }, + { 24, 0x02, 239 }, + { 31, 0x02, 239 }, + { 41, 0x02, 239 }, + { 56, 0x03, 239 }, + { 2, 0x02, 9 }, + { 9, 0x02, 9 }, + { 23, 0x02, 9 }, + { 40, 0x03, 9 }, + { 2, 0x02, 142 }, + { 9, 0x02, 142 }, + { 23, 0x02, 142 }, + { 40, 0x03, 142 }, + }, + /* 176 */ + { + { 3, 0x02, 9 }, + { 6, 0x02, 9 }, + { 10, 0x02, 9 }, + { 15, 0x02, 9 }, + { 24, 0x02, 9 }, + { 31, 0x02, 9 }, + { 41, 0x02, 9 }, + { 56, 0x03, 9 }, + { 3, 0x02, 142 }, + { 6, 0x02, 142 }, + { 10, 0x02, 142 }, + { 15, 0x02, 142 }, + { 24, 0x02, 142 }, + { 31, 0x02, 142 }, + { 41, 0x02, 142 }, + { 56, 0x03, 142 }, + }, + /* 177 */ + { + { 2, 0x02, 144 }, + { 9, 0x02, 144 }, + { 23, 0x02, 144 }, + { 40, 0x03, 144 }, + { 2, 0x02, 145 }, + { 9, 0x02, 145 }, + { 23, 0x02, 145 }, + { 40, 0x03, 145 }, + { 2, 0x02, 148 }, + { 9, 0x02, 148 }, + { 23, 0x02, 148 }, + { 40, 0x03, 148 }, + { 2, 0x02, 159 }, + { 9, 0x02, 159 }, + { 23, 0x02, 159 }, + { 40, 0x03, 159 }, + }, + /* 178 */ + { + { 3, 0x02, 144 }, + { 6, 0x02, 144 }, + { 10, 0x02, 144 }, + { 15, 0x02, 144 }, + { 24, 0x02, 144 }, + { 31, 0x02, 144 }, + { 41, 0x02, 144 }, + { 56, 0x03, 144 }, + { 3, 0x02, 145 }, + { 6, 0x02, 145 }, + { 10, 0x02, 145 }, + { 15, 0x02, 145 }, + { 24, 0x02, 145 }, + { 31, 0x02, 145 }, + { 41, 0x02, 145 }, + { 56, 0x03, 145 }, + }, + /* 179 */ + { + { 3, 0x02, 148 }, + { 6, 0x02, 148 }, + { 10, 0x02, 148 }, + { 15, 0x02, 148 }, + { 24, 0x02, 148 }, + { 31, 0x02, 148 }, + { 41, 0x02, 148 }, + { 56, 0x03, 148 }, + { 3, 0x02, 159 }, + { 6, 0x02, 159 }, + { 10, 0x02, 159 }, + { 15, 0x02, 159 }, + { 24, 0x02, 159 }, + { 31, 0x02, 159 }, + { 41, 0x02, 159 }, + { 56, 0x03, 159 }, + }, + /* 180 */ + { + { 0, 0x03, 171 }, + { 0, 0x03, 206 }, + { 0, 0x03, 215 }, + { 0, 0x03, 225 }, + { 0, 0x03, 236 }, + { 0, 0x03, 237 }, + { 188, 0x00, 0 }, + { 189, 0x00, 0 }, + { 193, 0x00, 0 }, + { 196, 0x00, 0 }, + { 200, 0x00, 0 }, + { 203, 0x00, 0 }, + { 209, 0x00, 0 }, + { 216, 0x00, 0 }, + { 224, 0x00, 0 }, + { 238, 0x00, 0 }, + }, + /* 181 */ + { + { 1, 0x02, 171 }, + { 22, 0x03, 171 }, + { 1, 0x02, 206 }, + { 22, 0x03, 206 }, + { 1, 0x02, 215 }, + { 22, 0x03, 215 }, + { 1, 0x02, 225 }, + { 22, 0x03, 225 }, + { 1, 0x02, 236 }, + { 22, 0x03, 236 }, + { 1, 0x02, 237 }, + { 22, 0x03, 237 }, + { 0, 0x03, 199 }, + { 0, 0x03, 207 }, + { 0, 0x03, 234 }, + { 0, 0x03, 235 }, + }, + /* 182 */ + { + { 2, 0x02, 171 }, + { 9, 0x02, 171 }, + { 23, 0x02, 171 }, + { 40, 0x03, 171 }, + { 2, 0x02, 206 }, + { 9, 0x02, 206 }, + { 23, 0x02, 206 }, + { 40, 0x03, 206 }, + { 2, 0x02, 215 }, + { 9, 0x02, 215 }, + { 23, 0x02, 215 }, + { 40, 0x03, 215 }, + { 2, 0x02, 225 }, + { 9, 0x02, 225 }, + { 23, 0x02, 225 }, + { 40, 0x03, 225 }, + }, + /* 183 */ + { + { 3, 0x02, 171 }, + { 6, 0x02, 171 }, + { 10, 0x02, 171 }, + { 15, 0x02, 171 }, + { 24, 0x02, 171 }, + { 31, 0x02, 171 }, + { 41, 0x02, 171 }, + { 56, 0x03, 171 }, + { 3, 0x02, 206 }, + { 6, 0x02, 206 }, + { 10, 0x02, 206 }, + { 15, 0x02, 206 }, + { 24, 0x02, 206 }, + { 31, 0x02, 206 }, + { 41, 0x02, 206 }, + { 56, 0x03, 206 }, + }, + /* 184 */ + { + { 3, 0x02, 215 }, + { 6, 0x02, 215 }, + { 10, 0x02, 215 }, + { 15, 0x02, 215 }, + { 24, 0x02, 215 }, + { 31, 0x02, 215 }, + { 41, 0x02, 215 }, + { 56, 0x03, 215 }, + { 3, 0x02, 225 }, + { 6, 0x02, 225 }, + { 10, 0x02, 225 }, + { 15, 0x02, 225 }, + { 24, 0x02, 225 }, + { 31, 0x02, 225 }, + { 41, 0x02, 225 }, + { 56, 0x03, 225 }, + }, + /* 185 */ + { + { 2, 0x02, 236 }, + { 9, 0x02, 236 }, + { 23, 0x02, 236 }, + { 40, 0x03, 236 }, + { 2, 0x02, 237 }, + { 9, 0x02, 237 }, + { 23, 0x02, 237 }, + { 40, 0x03, 237 }, + { 1, 0x02, 199 }, + { 22, 0x03, 199 }, + { 1, 0x02, 207 }, + { 22, 0x03, 207 }, + { 1, 0x02, 234 }, + { 22, 0x03, 234 }, + { 1, 0x02, 235 }, + { 22, 0x03, 235 }, + }, + /* 186 */ + { + { 3, 0x02, 236 }, + { 6, 0x02, 236 }, + { 10, 0x02, 236 }, + { 15, 0x02, 236 }, + { 24, 0x02, 236 }, + { 31, 0x02, 236 }, + { 41, 0x02, 236 }, + { 56, 0x03, 236 }, + { 3, 0x02, 237 }, + { 6, 0x02, 237 }, + { 10, 0x02, 237 }, + { 15, 0x02, 237 }, + { 24, 0x02, 237 }, + { 31, 0x02, 237 }, + { 41, 0x02, 237 }, + { 56, 0x03, 237 }, + }, + /* 187 */ + { + { 2, 0x02, 199 }, + { 9, 0x02, 199 }, + { 23, 0x02, 199 }, + { 40, 0x03, 199 }, + { 2, 0x02, 207 }, + { 9, 0x02, 207 }, + { 23, 0x02, 207 }, + { 40, 0x03, 207 }, + { 2, 0x02, 234 }, + { 9, 0x02, 234 }, + { 23, 0x02, 234 }, + { 40, 0x03, 234 }, + { 2, 0x02, 235 }, + { 9, 0x02, 235 }, + { 23, 0x02, 235 }, + { 40, 0x03, 235 }, + }, + /* 188 */ + { + { 3, 0x02, 199 }, + { 6, 0x02, 199 }, + { 10, 0x02, 199 }, + { 15, 0x02, 199 }, + { 24, 0x02, 199 }, + { 31, 0x02, 199 }, + { 41, 0x02, 199 }, + { 56, 0x03, 199 }, + { 3, 0x02, 207 }, + { 6, 0x02, 207 }, + { 10, 0x02, 207 }, + { 15, 0x02, 207 }, + { 24, 0x02, 207 }, + { 31, 0x02, 207 }, + { 41, 0x02, 207 }, + { 56, 0x03, 207 }, + }, + /* 189 */ + { + { 3, 0x02, 234 }, + { 6, 0x02, 234 }, + { 10, 0x02, 234 }, + { 15, 0x02, 234 }, + { 24, 0x02, 234 }, + { 31, 0x02, 234 }, + { 41, 0x02, 234 }, + { 56, 0x03, 234 }, + { 3, 0x02, 235 }, + { 6, 0x02, 235 }, + { 10, 0x02, 235 }, + { 15, 0x02, 235 }, + { 24, 0x02, 235 }, + { 31, 0x02, 235 }, + { 41, 0x02, 235 }, + { 56, 0x03, 235 }, + }, + /* 190 */ + { + { 194, 0x00, 0 }, + { 195, 0x00, 0 }, + { 197, 0x00, 0 }, + { 198, 0x00, 0 }, + { 201, 0x00, 0 }, + { 202, 0x00, 0 }, + { 204, 0x00, 0 }, + { 205, 0x00, 0 }, + { 210, 0x00, 0 }, + { 213, 0x00, 0 }, + { 217, 0x00, 0 }, + { 220, 0x00, 0 }, + { 225, 0x00, 0 }, + { 231, 0x00, 0 }, + { 239, 0x00, 0 }, + { 246, 0x00, 0 }, + }, + /* 191 */ + { + { 0, 0x03, 192 }, + { 0, 0x03, 193 }, + { 0, 0x03, 200 }, + { 0, 0x03, 201 }, + { 0, 0x03, 202 }, + { 0, 0x03, 205 }, + { 0, 0x03, 210 }, + { 0, 0x03, 213 }, + { 0, 0x03, 218 }, + { 0, 0x03, 219 }, + { 0, 0x03, 238 }, + { 0, 0x03, 240 }, + { 0, 0x03, 242 }, + { 0, 0x03, 243 }, + { 0, 0x03, 255 }, + { 206, 0x00, 0 }, + }, + /* 192 */ + { + { 1, 0x02, 192 }, + { 22, 0x03, 192 }, + { 1, 0x02, 193 }, + { 22, 0x03, 193 }, + { 1, 0x02, 200 }, + { 22, 0x03, 200 }, + { 1, 0x02, 201 }, + { 22, 0x03, 201 }, + { 1, 0x02, 202 }, + { 22, 0x03, 202 }, + { 1, 0x02, 205 }, + { 22, 0x03, 205 }, + { 1, 0x02, 210 }, + { 22, 0x03, 210 }, + { 1, 0x02, 213 }, + { 22, 0x03, 213 }, + }, + /* 193 */ + { + { 2, 0x02, 192 }, + { 9, 0x02, 192 }, + { 23, 0x02, 192 }, + { 40, 0x03, 192 }, + { 2, 0x02, 193 }, + { 9, 0x02, 193 }, + { 23, 0x02, 193 }, + { 40, 0x03, 193 }, + { 2, 0x02, 200 }, + { 9, 0x02, 200 }, + { 23, 0x02, 200 }, + { 40, 0x03, 200 }, + { 2, 0x02, 201 }, + { 9, 0x02, 201 }, + { 23, 0x02, 201 }, + { 40, 0x03, 201 }, + }, + /* 194 */ + { + { 3, 0x02, 192 }, + { 6, 0x02, 192 }, + { 10, 0x02, 192 }, + { 15, 0x02, 192 }, + { 24, 0x02, 192 }, + { 31, 0x02, 192 }, + { 41, 0x02, 192 }, + { 56, 0x03, 192 }, + { 3, 0x02, 193 }, + { 6, 0x02, 193 }, + { 10, 0x02, 193 }, + { 15, 0x02, 193 }, + { 24, 0x02, 193 }, + { 31, 0x02, 193 }, + { 41, 0x02, 193 }, + { 56, 0x03, 193 }, + }, + /* 195 */ + { + { 3, 0x02, 200 }, + { 6, 0x02, 200 }, + { 10, 0x02, 200 }, + { 15, 0x02, 200 }, + { 24, 0x02, 200 }, + { 31, 0x02, 200 }, + { 41, 0x02, 200 }, + { 56, 0x03, 200 }, + { 3, 0x02, 201 }, + { 6, 0x02, 201 }, + { 10, 0x02, 201 }, + { 15, 0x02, 201 }, + { 24, 0x02, 201 }, + { 31, 0x02, 201 }, + { 41, 0x02, 201 }, + { 56, 0x03, 201 }, + }, + /* 196 */ + { + { 2, 0x02, 202 }, + { 9, 0x02, 202 }, + { 23, 0x02, 202 }, + { 40, 0x03, 202 }, + { 2, 0x02, 205 }, + { 9, 0x02, 205 }, + { 23, 0x02, 205 }, + { 40, 0x03, 205 }, + { 2, 0x02, 210 }, + { 9, 0x02, 210 }, + { 23, 0x02, 210 }, + { 40, 0x03, 210 }, + { 2, 0x02, 213 }, + { 9, 0x02, 213 }, + { 23, 0x02, 213 }, + { 40, 0x03, 213 }, + }, + /* 197 */ + { + { 3, 0x02, 202 }, + { 6, 0x02, 202 }, + { 10, 0x02, 202 }, + { 15, 0x02, 202 }, + { 24, 0x02, 202 }, + { 31, 0x02, 202 }, + { 41, 0x02, 202 }, + { 56, 0x03, 202 }, + { 3, 0x02, 205 }, + { 6, 0x02, 205 }, + { 10, 0x02, 205 }, + { 15, 0x02, 205 }, + { 24, 0x02, 205 }, + { 31, 0x02, 205 }, + { 41, 0x02, 205 }, + { 56, 0x03, 205 }, + }, + /* 198 */ + { + { 3, 0x02, 210 }, + { 6, 0x02, 210 }, + { 10, 0x02, 210 }, + { 15, 0x02, 210 }, + { 24, 0x02, 210 }, + { 31, 0x02, 210 }, + { 41, 0x02, 210 }, + { 56, 0x03, 210 }, + { 3, 0x02, 213 }, + { 6, 0x02, 213 }, + { 10, 0x02, 213 }, + { 15, 0x02, 213 }, + { 24, 0x02, 213 }, + { 31, 0x02, 213 }, + { 41, 0x02, 213 }, + { 56, 0x03, 213 }, + }, + /* 199 */ + { + { 1, 0x02, 218 }, + { 22, 0x03, 218 }, + { 1, 0x02, 219 }, + { 22, 0x03, 219 }, + { 1, 0x02, 238 }, + { 22, 0x03, 238 }, + { 1, 0x02, 240 }, + { 22, 0x03, 240 }, + { 1, 0x02, 242 }, + { 22, 0x03, 242 }, + { 1, 0x02, 243 }, + { 22, 0x03, 243 }, + { 1, 0x02, 255 }, + { 22, 0x03, 255 }, + { 0, 0x03, 203 }, + { 0, 0x03, 204 }, + }, + /* 200 */ + { + { 2, 0x02, 218 }, + { 9, 0x02, 218 }, + { 23, 0x02, 218 }, + { 40, 0x03, 218 }, + { 2, 0x02, 219 }, + { 9, 0x02, 219 }, + { 23, 0x02, 219 }, + { 40, 0x03, 219 }, + { 2, 0x02, 238 }, + { 9, 0x02, 238 }, + { 23, 0x02, 238 }, + { 40, 0x03, 238 }, + { 2, 0x02, 240 }, + { 9, 0x02, 240 }, + { 23, 0x02, 240 }, + { 40, 0x03, 240 }, + }, + /* 201 */ + { + { 3, 0x02, 218 }, + { 6, 0x02, 218 }, + { 10, 0x02, 218 }, + { 15, 0x02, 218 }, + { 24, 0x02, 218 }, + { 31, 0x02, 218 }, + { 41, 0x02, 218 }, + { 56, 0x03, 218 }, + { 3, 0x02, 219 }, + { 6, 0x02, 219 }, + { 10, 0x02, 219 }, + { 15, 0x02, 219 }, + { 24, 0x02, 219 }, + { 31, 0x02, 219 }, + { 41, 0x02, 219 }, + { 56, 0x03, 219 }, + }, + /* 202 */ + { + { 3, 0x02, 238 }, + { 6, 0x02, 238 }, + { 10, 0x02, 238 }, + { 15, 0x02, 238 }, + { 24, 0x02, 238 }, + { 31, 0x02, 238 }, + { 41, 0x02, 238 }, + { 56, 0x03, 238 }, + { 3, 0x02, 240 }, + { 6, 0x02, 240 }, + { 10, 0x02, 240 }, + { 15, 0x02, 240 }, + { 24, 0x02, 240 }, + { 31, 0x02, 240 }, + { 41, 0x02, 240 }, + { 56, 0x03, 240 }, + }, + /* 203 */ + { + { 2, 0x02, 242 }, + { 9, 0x02, 242 }, + { 23, 0x02, 242 }, + { 40, 0x03, 242 }, + { 2, 0x02, 243 }, + { 9, 0x02, 243 }, + { 23, 0x02, 243 }, + { 40, 0x03, 243 }, + { 2, 0x02, 255 }, + { 9, 0x02, 255 }, + { 23, 0x02, 255 }, + { 40, 0x03, 255 }, + { 1, 0x02, 203 }, + { 22, 0x03, 203 }, + { 1, 0x02, 204 }, + { 22, 0x03, 204 }, + }, + /* 204 */ + { + { 3, 0x02, 242 }, + { 6, 0x02, 242 }, + { 10, 0x02, 242 }, + { 15, 0x02, 242 }, + { 24, 0x02, 242 }, + { 31, 0x02, 242 }, + { 41, 0x02, 242 }, + { 56, 0x03, 242 }, + { 3, 0x02, 243 }, + { 6, 0x02, 243 }, + { 10, 0x02, 243 }, + { 15, 0x02, 243 }, + { 24, 0x02, 243 }, + { 31, 0x02, 243 }, + { 41, 0x02, 243 }, + { 56, 0x03, 243 }, + }, + /* 205 */ + { + { 3, 0x02, 255 }, + { 6, 0x02, 255 }, + { 10, 0x02, 255 }, + { 15, 0x02, 255 }, + { 24, 0x02, 255 }, + { 31, 0x02, 255 }, + { 41, 0x02, 255 }, + { 56, 0x03, 255 }, + { 2, 0x02, 203 }, + { 9, 0x02, 203 }, + { 23, 0x02, 203 }, + { 40, 0x03, 203 }, + { 2, 0x02, 204 }, + { 9, 0x02, 204 }, + { 23, 0x02, 204 }, + { 40, 0x03, 204 }, + }, + /* 206 */ + { + { 3, 0x02, 203 }, + { 6, 0x02, 203 }, + { 10, 0x02, 203 }, + { 15, 0x02, 203 }, + { 24, 0x02, 203 }, + { 31, 0x02, 203 }, + { 41, 0x02, 203 }, + { 56, 0x03, 203 }, + { 3, 0x02, 204 }, + { 6, 0x02, 204 }, + { 10, 0x02, 204 }, + { 15, 0x02, 204 }, + { 24, 0x02, 204 }, + { 31, 0x02, 204 }, + { 41, 0x02, 204 }, + { 56, 0x03, 204 }, + }, + /* 207 */ + { + { 211, 0x00, 0 }, + { 212, 0x00, 0 }, + { 214, 0x00, 0 }, + { 215, 0x00, 0 }, + { 218, 0x00, 0 }, + { 219, 0x00, 0 }, + { 221, 0x00, 0 }, + { 222, 0x00, 0 }, + { 226, 0x00, 0 }, + { 228, 0x00, 0 }, + { 232, 0x00, 0 }, + { 235, 0x00, 0 }, + { 240, 0x00, 0 }, + { 243, 0x00, 0 }, + { 247, 0x00, 0 }, + { 250, 0x00, 0 }, + }, + /* 208 */ + { + { 0, 0x03, 211 }, + { 0, 0x03, 212 }, + { 0, 0x03, 214 }, + { 0, 0x03, 221 }, + { 0, 0x03, 222 }, + { 0, 0x03, 223 }, + { 0, 0x03, 241 }, + { 0, 0x03, 244 }, + { 0, 0x03, 245 }, + { 0, 0x03, 246 }, + { 0, 0x03, 247 }, + { 0, 0x03, 248 }, + { 0, 0x03, 250 }, + { 0, 0x03, 251 }, + { 0, 0x03, 252 }, + { 0, 0x03, 253 }, + }, + /* 209 */ + { + { 1, 0x02, 211 }, + { 22, 0x03, 211 }, + { 1, 0x02, 212 }, + { 22, 0x03, 212 }, + { 1, 0x02, 214 }, + { 22, 0x03, 214 }, + { 1, 0x02, 221 }, + { 22, 0x03, 221 }, + { 1, 0x02, 222 }, + { 22, 0x03, 222 }, + { 1, 0x02, 223 }, + { 22, 0x03, 223 }, + { 1, 0x02, 241 }, + { 22, 0x03, 241 }, + { 1, 0x02, 244 }, + { 22, 0x03, 244 }, + }, + /* 210 */ + { + { 2, 0x02, 211 }, + { 9, 0x02, 211 }, + { 23, 0x02, 211 }, + { 40, 0x03, 211 }, + { 2, 0x02, 212 }, + { 9, 0x02, 212 }, + { 23, 0x02, 212 }, + { 40, 0x03, 212 }, + { 2, 0x02, 214 }, + { 9, 0x02, 214 }, + { 23, 0x02, 214 }, + { 40, 0x03, 214 }, + { 2, 0x02, 221 }, + { 9, 0x02, 221 }, + { 23, 0x02, 221 }, + { 40, 0x03, 221 }, + }, + /* 211 */ + { + { 3, 0x02, 211 }, + { 6, 0x02, 211 }, + { 10, 0x02, 211 }, + { 15, 0x02, 211 }, + { 24, 0x02, 211 }, + { 31, 0x02, 211 }, + { 41, 0x02, 211 }, + { 56, 0x03, 211 }, + { 3, 0x02, 212 }, + { 6, 0x02, 212 }, + { 10, 0x02, 212 }, + { 15, 0x02, 212 }, + { 24, 0x02, 212 }, + { 31, 0x02, 212 }, + { 41, 0x02, 212 }, + { 56, 0x03, 212 }, + }, + /* 212 */ + { + { 3, 0x02, 214 }, + { 6, 0x02, 214 }, + { 10, 0x02, 214 }, + { 15, 0x02, 214 }, + { 24, 0x02, 214 }, + { 31, 0x02, 214 }, + { 41, 0x02, 214 }, + { 56, 0x03, 214 }, + { 3, 0x02, 221 }, + { 6, 0x02, 221 }, + { 10, 0x02, 221 }, + { 15, 0x02, 221 }, + { 24, 0x02, 221 }, + { 31, 0x02, 221 }, + { 41, 0x02, 221 }, + { 56, 0x03, 221 }, + }, + /* 213 */ + { + { 2, 0x02, 222 }, + { 9, 0x02, 222 }, + { 23, 0x02, 222 }, + { 40, 0x03, 222 }, + { 2, 0x02, 223 }, + { 9, 0x02, 223 }, + { 23, 0x02, 223 }, + { 40, 0x03, 223 }, + { 2, 0x02, 241 }, + { 9, 0x02, 241 }, + { 23, 0x02, 241 }, + { 40, 0x03, 241 }, + { 2, 0x02, 244 }, + { 9, 0x02, 244 }, + { 23, 0x02, 244 }, + { 40, 0x03, 244 }, + }, + /* 214 */ + { + { 3, 0x02, 222 }, + { 6, 0x02, 222 }, + { 10, 0x02, 222 }, + { 15, 0x02, 222 }, + { 24, 0x02, 222 }, + { 31, 0x02, 222 }, + { 41, 0x02, 222 }, + { 56, 0x03, 222 }, + { 3, 0x02, 223 }, + { 6, 0x02, 223 }, + { 10, 0x02, 223 }, + { 15, 0x02, 223 }, + { 24, 0x02, 223 }, + { 31, 0x02, 223 }, + { 41, 0x02, 223 }, + { 56, 0x03, 223 }, + }, + /* 215 */ + { + { 3, 0x02, 241 }, + { 6, 0x02, 241 }, + { 10, 0x02, 241 }, + { 15, 0x02, 241 }, + { 24, 0x02, 241 }, + { 31, 0x02, 241 }, + { 41, 0x02, 241 }, + { 56, 0x03, 241 }, + { 3, 0x02, 244 }, + { 6, 0x02, 244 }, + { 10, 0x02, 244 }, + { 15, 0x02, 244 }, + { 24, 0x02, 244 }, + { 31, 0x02, 244 }, + { 41, 0x02, 244 }, + { 56, 0x03, 244 }, + }, + /* 216 */ + { + { 1, 0x02, 245 }, + { 22, 0x03, 245 }, + { 1, 0x02, 246 }, + { 22, 0x03, 246 }, + { 1, 0x02, 247 }, + { 22, 0x03, 247 }, + { 1, 0x02, 248 }, + { 22, 0x03, 248 }, + { 1, 0x02, 250 }, + { 22, 0x03, 250 }, + { 1, 0x02, 251 }, + { 22, 0x03, 251 }, + { 1, 0x02, 252 }, + { 22, 0x03, 252 }, + { 1, 0x02, 253 }, + { 22, 0x03, 253 }, + }, + /* 217 */ + { + { 2, 0x02, 245 }, + { 9, 0x02, 245 }, + { 23, 0x02, 245 }, + { 40, 0x03, 245 }, + { 2, 0x02, 246 }, + { 9, 0x02, 246 }, + { 23, 0x02, 246 }, + { 40, 0x03, 246 }, + { 2, 0x02, 247 }, + { 9, 0x02, 247 }, + { 23, 0x02, 247 }, + { 40, 0x03, 247 }, + { 2, 0x02, 248 }, + { 9, 0x02, 248 }, + { 23, 0x02, 248 }, + { 40, 0x03, 248 }, + }, + /* 218 */ + { + { 3, 0x02, 245 }, + { 6, 0x02, 245 }, + { 10, 0x02, 245 }, + { 15, 0x02, 245 }, + { 24, 0x02, 245 }, + { 31, 0x02, 245 }, + { 41, 0x02, 245 }, + { 56, 0x03, 245 }, + { 3, 0x02, 246 }, + { 6, 0x02, 246 }, + { 10, 0x02, 246 }, + { 15, 0x02, 246 }, + { 24, 0x02, 246 }, + { 31, 0x02, 246 }, + { 41, 0x02, 246 }, + { 56, 0x03, 246 }, + }, + /* 219 */ + { + { 3, 0x02, 247 }, + { 6, 0x02, 247 }, + { 10, 0x02, 247 }, + { 15, 0x02, 247 }, + { 24, 0x02, 247 }, + { 31, 0x02, 247 }, + { 41, 0x02, 247 }, + { 56, 0x03, 247 }, + { 3, 0x02, 248 }, + { 6, 0x02, 248 }, + { 10, 0x02, 248 }, + { 15, 0x02, 248 }, + { 24, 0x02, 248 }, + { 31, 0x02, 248 }, + { 41, 0x02, 248 }, + { 56, 0x03, 248 }, + }, + /* 220 */ + { + { 2, 0x02, 250 }, + { 9, 0x02, 250 }, + { 23, 0x02, 250 }, + { 40, 0x03, 250 }, + { 2, 0x02, 251 }, + { 9, 0x02, 251 }, + { 23, 0x02, 251 }, + { 40, 0x03, 251 }, + { 2, 0x02, 252 }, + { 9, 0x02, 252 }, + { 23, 0x02, 252 }, + { 40, 0x03, 252 }, + { 2, 0x02, 253 }, + { 9, 0x02, 253 }, + { 23, 0x02, 253 }, + { 40, 0x03, 253 }, + }, + /* 221 */ + { + { 3, 0x02, 250 }, + { 6, 0x02, 250 }, + { 10, 0x02, 250 }, + { 15, 0x02, 250 }, + { 24, 0x02, 250 }, + { 31, 0x02, 250 }, + { 41, 0x02, 250 }, + { 56, 0x03, 250 }, + { 3, 0x02, 251 }, + { 6, 0x02, 251 }, + { 10, 0x02, 251 }, + { 15, 0x02, 251 }, + { 24, 0x02, 251 }, + { 31, 0x02, 251 }, + { 41, 0x02, 251 }, + { 56, 0x03, 251 }, + }, + /* 222 */ + { + { 3, 0x02, 252 }, + { 6, 0x02, 252 }, + { 10, 0x02, 252 }, + { 15, 0x02, 252 }, + { 24, 0x02, 252 }, + { 31, 0x02, 252 }, + { 41, 0x02, 252 }, + { 56, 0x03, 252 }, + { 3, 0x02, 253 }, + { 6, 0x02, 253 }, + { 10, 0x02, 253 }, + { 15, 0x02, 253 }, + { 24, 0x02, 253 }, + { 31, 0x02, 253 }, + { 41, 0x02, 253 }, + { 56, 0x03, 253 }, + }, + /* 223 */ + { + { 0, 0x03, 254 }, + { 227, 0x00, 0 }, + { 229, 0x00, 0 }, + { 230, 0x00, 0 }, + { 233, 0x00, 0 }, + { 234, 0x00, 0 }, + { 236, 0x00, 0 }, + { 237, 0x00, 0 }, + { 241, 0x00, 0 }, + { 242, 0x00, 0 }, + { 244, 0x00, 0 }, + { 245, 0x00, 0 }, + { 248, 0x00, 0 }, + { 249, 0x00, 0 }, + { 251, 0x00, 0 }, + { 252, 0x00, 0 }, + }, + /* 224 */ + { + { 1, 0x02, 254 }, + { 22, 0x03, 254 }, + { 0, 0x03, 2 }, + { 0, 0x03, 3 }, + { 0, 0x03, 4 }, + { 0, 0x03, 5 }, + { 0, 0x03, 6 }, + { 0, 0x03, 7 }, + { 0, 0x03, 8 }, + { 0, 0x03, 11 }, + { 0, 0x03, 12 }, + { 0, 0x03, 14 }, + { 0, 0x03, 15 }, + { 0, 0x03, 16 }, + { 0, 0x03, 17 }, + { 0, 0x03, 18 }, + }, + /* 225 */ + { + { 2, 0x02, 254 }, + { 9, 0x02, 254 }, + { 23, 0x02, 254 }, + { 40, 0x03, 254 }, + { 1, 0x02, 2 }, + { 22, 0x03, 2 }, + { 1, 0x02, 3 }, + { 22, 0x03, 3 }, + { 1, 0x02, 4 }, + { 22, 0x03, 4 }, + { 1, 0x02, 5 }, + { 22, 0x03, 5 }, + { 1, 0x02, 6 }, + { 22, 0x03, 6 }, + { 1, 0x02, 7 }, + { 22, 0x03, 7 }, + }, + /* 226 */ + { + { 3, 0x02, 254 }, + { 6, 0x02, 254 }, + { 10, 0x02, 254 }, + { 15, 0x02, 254 }, + { 24, 0x02, 254 }, + { 31, 0x02, 254 }, + { 41, 0x02, 254 }, + { 56, 0x03, 254 }, + { 2, 0x02, 2 }, + { 9, 0x02, 2 }, + { 23, 0x02, 2 }, + { 40, 0x03, 2 }, + { 2, 0x02, 3 }, + { 9, 0x02, 3 }, + { 23, 0x02, 3 }, + { 40, 0x03, 3 }, + }, + /* 227 */ + { + { 3, 0x02, 2 }, + { 6, 0x02, 2 }, + { 10, 0x02, 2 }, + { 15, 0x02, 2 }, + { 24, 0x02, 2 }, + { 31, 0x02, 2 }, + { 41, 0x02, 2 }, + { 56, 0x03, 2 }, + { 3, 0x02, 3 }, + { 6, 0x02, 3 }, + { 10, 0x02, 3 }, + { 15, 0x02, 3 }, + { 24, 0x02, 3 }, + { 31, 0x02, 3 }, + { 41, 0x02, 3 }, + { 56, 0x03, 3 }, + }, + /* 228 */ + { + { 2, 0x02, 4 }, + { 9, 0x02, 4 }, + { 23, 0x02, 4 }, + { 40, 0x03, 4 }, + { 2, 0x02, 5 }, + { 9, 0x02, 5 }, + { 23, 0x02, 5 }, + { 40, 0x03, 5 }, + { 2, 0x02, 6 }, + { 9, 0x02, 6 }, + { 23, 0x02, 6 }, + { 40, 0x03, 6 }, + { 2, 0x02, 7 }, + { 9, 0x02, 7 }, + { 23, 0x02, 7 }, + { 40, 0x03, 7 }, + }, + /* 229 */ + { + { 3, 0x02, 4 }, + { 6, 0x02, 4 }, + { 10, 0x02, 4 }, + { 15, 0x02, 4 }, + { 24, 0x02, 4 }, + { 31, 0x02, 4 }, + { 41, 0x02, 4 }, + { 56, 0x03, 4 }, + { 3, 0x02, 5 }, + { 6, 0x02, 5 }, + { 10, 0x02, 5 }, + { 15, 0x02, 5 }, + { 24, 0x02, 5 }, + { 31, 0x02, 5 }, + { 41, 0x02, 5 }, + { 56, 0x03, 5 }, + }, + /* 230 */ + { + { 3, 0x02, 6 }, + { 6, 0x02, 6 }, + { 10, 0x02, 6 }, + { 15, 0x02, 6 }, + { 24, 0x02, 6 }, + { 31, 0x02, 6 }, + { 41, 0x02, 6 }, + { 56, 0x03, 6 }, + { 3, 0x02, 7 }, + { 6, 0x02, 7 }, + { 10, 0x02, 7 }, + { 15, 0x02, 7 }, + { 24, 0x02, 7 }, + { 31, 0x02, 7 }, + { 41, 0x02, 7 }, + { 56, 0x03, 7 }, + }, + /* 231 */ + { + { 1, 0x02, 8 }, + { 22, 0x03, 8 }, + { 1, 0x02, 11 }, + { 22, 0x03, 11 }, + { 1, 0x02, 12 }, + { 22, 0x03, 12 }, + { 1, 0x02, 14 }, + { 22, 0x03, 14 }, + { 1, 0x02, 15 }, + { 22, 0x03, 15 }, + { 1, 0x02, 16 }, + { 22, 0x03, 16 }, + { 1, 0x02, 17 }, + { 22, 0x03, 17 }, + { 1, 0x02, 18 }, + { 22, 0x03, 18 }, + }, + /* 232 */ + { + { 2, 0x02, 8 }, + { 9, 0x02, 8 }, + { 23, 0x02, 8 }, + { 40, 0x03, 8 }, + { 2, 0x02, 11 }, + { 9, 0x02, 11 }, + { 23, 0x02, 11 }, + { 40, 0x03, 11 }, + { 2, 0x02, 12 }, + { 9, 0x02, 12 }, + { 23, 0x02, 12 }, + { 40, 0x03, 12 }, + { 2, 0x02, 14 }, + { 9, 0x02, 14 }, + { 23, 0x02, 14 }, + { 40, 0x03, 14 }, + }, + /* 233 */ + { + { 3, 0x02, 8 }, + { 6, 0x02, 8 }, + { 10, 0x02, 8 }, + { 15, 0x02, 8 }, + { 24, 0x02, 8 }, + { 31, 0x02, 8 }, + { 41, 0x02, 8 }, + { 56, 0x03, 8 }, + { 3, 0x02, 11 }, + { 6, 0x02, 11 }, + { 10, 0x02, 11 }, + { 15, 0x02, 11 }, + { 24, 0x02, 11 }, + { 31, 0x02, 11 }, + { 41, 0x02, 11 }, + { 56, 0x03, 11 }, + }, + /* 234 */ + { + { 3, 0x02, 12 }, + { 6, 0x02, 12 }, + { 10, 0x02, 12 }, + { 15, 0x02, 12 }, + { 24, 0x02, 12 }, + { 31, 0x02, 12 }, + { 41, 0x02, 12 }, + { 56, 0x03, 12 }, + { 3, 0x02, 14 }, + { 6, 0x02, 14 }, + { 10, 0x02, 14 }, + { 15, 0x02, 14 }, + { 24, 0x02, 14 }, + { 31, 0x02, 14 }, + { 41, 0x02, 14 }, + { 56, 0x03, 14 }, + }, + /* 235 */ + { + { 2, 0x02, 15 }, + { 9, 0x02, 15 }, + { 23, 0x02, 15 }, + { 40, 0x03, 15 }, + { 2, 0x02, 16 }, + { 9, 0x02, 16 }, + { 23, 0x02, 16 }, + { 40, 0x03, 16 }, + { 2, 0x02, 17 }, + { 9, 0x02, 17 }, + { 23, 0x02, 17 }, + { 40, 0x03, 17 }, + { 2, 0x02, 18 }, + { 9, 0x02, 18 }, + { 23, 0x02, 18 }, + { 40, 0x03, 18 }, + }, + /* 236 */ + { + { 3, 0x02, 15 }, + { 6, 0x02, 15 }, + { 10, 0x02, 15 }, + { 15, 0x02, 15 }, + { 24, 0x02, 15 }, + { 31, 0x02, 15 }, + { 41, 0x02, 15 }, + { 56, 0x03, 15 }, + { 3, 0x02, 16 }, + { 6, 0x02, 16 }, + { 10, 0x02, 16 }, + { 15, 0x02, 16 }, + { 24, 0x02, 16 }, + { 31, 0x02, 16 }, + { 41, 0x02, 16 }, + { 56, 0x03, 16 }, + }, + /* 237 */ + { + { 3, 0x02, 17 }, + { 6, 0x02, 17 }, + { 10, 0x02, 17 }, + { 15, 0x02, 17 }, + { 24, 0x02, 17 }, + { 31, 0x02, 17 }, + { 41, 0x02, 17 }, + { 56, 0x03, 17 }, + { 3, 0x02, 18 }, + { 6, 0x02, 18 }, + { 10, 0x02, 18 }, + { 15, 0x02, 18 }, + { 24, 0x02, 18 }, + { 31, 0x02, 18 }, + { 41, 0x02, 18 }, + { 56, 0x03, 18 }, + }, + /* 238 */ + { + { 0, 0x03, 19 }, + { 0, 0x03, 20 }, + { 0, 0x03, 21 }, + { 0, 0x03, 23 }, + { 0, 0x03, 24 }, + { 0, 0x03, 25 }, + { 0, 0x03, 26 }, + { 0, 0x03, 27 }, + { 0, 0x03, 28 }, + { 0, 0x03, 29 }, + { 0, 0x03, 30 }, + { 0, 0x03, 31 }, + { 0, 0x03, 127 }, + { 0, 0x03, 220 }, + { 0, 0x03, 249 }, + { 253, 0x00, 0 }, + }, + /* 239 */ + { + { 1, 0x02, 19 }, + { 22, 0x03, 19 }, + { 1, 0x02, 20 }, + { 22, 0x03, 20 }, + { 1, 0x02, 21 }, + { 22, 0x03, 21 }, + { 1, 0x02, 23 }, + { 22, 0x03, 23 }, + { 1, 0x02, 24 }, + { 22, 0x03, 24 }, + { 1, 0x02, 25 }, + { 22, 0x03, 25 }, + { 1, 0x02, 26 }, + { 22, 0x03, 26 }, + { 1, 0x02, 27 }, + { 22, 0x03, 27 }, + }, + /* 240 */ + { + { 2, 0x02, 19 }, + { 9, 0x02, 19 }, + { 23, 0x02, 19 }, + { 40, 0x03, 19 }, + { 2, 0x02, 20 }, + { 9, 0x02, 20 }, + { 23, 0x02, 20 }, + { 40, 0x03, 20 }, + { 2, 0x02, 21 }, + { 9, 0x02, 21 }, + { 23, 0x02, 21 }, + { 40, 0x03, 21 }, + { 2, 0x02, 23 }, + { 9, 0x02, 23 }, + { 23, 0x02, 23 }, + { 40, 0x03, 23 }, + }, + /* 241 */ + { + { 3, 0x02, 19 }, + { 6, 0x02, 19 }, + { 10, 0x02, 19 }, + { 15, 0x02, 19 }, + { 24, 0x02, 19 }, + { 31, 0x02, 19 }, + { 41, 0x02, 19 }, + { 56, 0x03, 19 }, + { 3, 0x02, 20 }, + { 6, 0x02, 20 }, + { 10, 0x02, 20 }, + { 15, 0x02, 20 }, + { 24, 0x02, 20 }, + { 31, 0x02, 20 }, + { 41, 0x02, 20 }, + { 56, 0x03, 20 }, + }, + /* 242 */ + { + { 3, 0x02, 21 }, + { 6, 0x02, 21 }, + { 10, 0x02, 21 }, + { 15, 0x02, 21 }, + { 24, 0x02, 21 }, + { 31, 0x02, 21 }, + { 41, 0x02, 21 }, + { 56, 0x03, 21 }, + { 3, 0x02, 23 }, + { 6, 0x02, 23 }, + { 10, 0x02, 23 }, + { 15, 0x02, 23 }, + { 24, 0x02, 23 }, + { 31, 0x02, 23 }, + { 41, 0x02, 23 }, + { 56, 0x03, 23 }, + }, + /* 243 */ + { + { 2, 0x02, 24 }, + { 9, 0x02, 24 }, + { 23, 0x02, 24 }, + { 40, 0x03, 24 }, + { 2, 0x02, 25 }, + { 9, 0x02, 25 }, + { 23, 0x02, 25 }, + { 40, 0x03, 25 }, + { 2, 0x02, 26 }, + { 9, 0x02, 26 }, + { 23, 0x02, 26 }, + { 40, 0x03, 26 }, + { 2, 0x02, 27 }, + { 9, 0x02, 27 }, + { 23, 0x02, 27 }, + { 40, 0x03, 27 }, + }, + /* 244 */ + { + { 3, 0x02, 24 }, + { 6, 0x02, 24 }, + { 10, 0x02, 24 }, + { 15, 0x02, 24 }, + { 24, 0x02, 24 }, + { 31, 0x02, 24 }, + { 41, 0x02, 24 }, + { 56, 0x03, 24 }, + { 3, 0x02, 25 }, + { 6, 0x02, 25 }, + { 10, 0x02, 25 }, + { 15, 0x02, 25 }, + { 24, 0x02, 25 }, + { 31, 0x02, 25 }, + { 41, 0x02, 25 }, + { 56, 0x03, 25 }, + }, + /* 245 */ + { + { 3, 0x02, 26 }, + { 6, 0x02, 26 }, + { 10, 0x02, 26 }, + { 15, 0x02, 26 }, + { 24, 0x02, 26 }, + { 31, 0x02, 26 }, + { 41, 0x02, 26 }, + { 56, 0x03, 26 }, + { 3, 0x02, 27 }, + { 6, 0x02, 27 }, + { 10, 0x02, 27 }, + { 15, 0x02, 27 }, + { 24, 0x02, 27 }, + { 31, 0x02, 27 }, + { 41, 0x02, 27 }, + { 56, 0x03, 27 }, + }, + /* 246 */ + { + { 1, 0x02, 28 }, + { 22, 0x03, 28 }, + { 1, 0x02, 29 }, + { 22, 0x03, 29 }, + { 1, 0x02, 30 }, + { 22, 0x03, 30 }, + { 1, 0x02, 31 }, + { 22, 0x03, 31 }, + { 1, 0x02, 127 }, + { 22, 0x03, 127 }, + { 1, 0x02, 220 }, + { 22, 0x03, 220 }, + { 1, 0x02, 249 }, + { 22, 0x03, 249 }, + { 254, 0x00, 0 }, + { 255, 0x00, 0 }, + }, + /* 247 */ + { + { 2, 0x02, 28 }, + { 9, 0x02, 28 }, + { 23, 0x02, 28 }, + { 40, 0x03, 28 }, + { 2, 0x02, 29 }, + { 9, 0x02, 29 }, + { 23, 0x02, 29 }, + { 40, 0x03, 29 }, + { 2, 0x02, 30 }, + { 9, 0x02, 30 }, + { 23, 0x02, 30 }, + { 40, 0x03, 30 }, + { 2, 0x02, 31 }, + { 9, 0x02, 31 }, + { 23, 0x02, 31 }, + { 40, 0x03, 31 }, + }, + /* 248 */ + { + { 3, 0x02, 28 }, + { 6, 0x02, 28 }, + { 10, 0x02, 28 }, + { 15, 0x02, 28 }, + { 24, 0x02, 28 }, + { 31, 0x02, 28 }, + { 41, 0x02, 28 }, + { 56, 0x03, 28 }, + { 3, 0x02, 29 }, + { 6, 0x02, 29 }, + { 10, 0x02, 29 }, + { 15, 0x02, 29 }, + { 24, 0x02, 29 }, + { 31, 0x02, 29 }, + { 41, 0x02, 29 }, + { 56, 0x03, 29 }, + }, + /* 249 */ + { + { 3, 0x02, 30 }, + { 6, 0x02, 30 }, + { 10, 0x02, 30 }, + { 15, 0x02, 30 }, + { 24, 0x02, 30 }, + { 31, 0x02, 30 }, + { 41, 0x02, 30 }, + { 56, 0x03, 30 }, + { 3, 0x02, 31 }, + { 6, 0x02, 31 }, + { 10, 0x02, 31 }, + { 15, 0x02, 31 }, + { 24, 0x02, 31 }, + { 31, 0x02, 31 }, + { 41, 0x02, 31 }, + { 56, 0x03, 31 }, + }, + /* 250 */ + { + { 2, 0x02, 127 }, + { 9, 0x02, 127 }, + { 23, 0x02, 127 }, + { 40, 0x03, 127 }, + { 2, 0x02, 220 }, + { 9, 0x02, 220 }, + { 23, 0x02, 220 }, + { 40, 0x03, 220 }, + { 2, 0x02, 249 }, + { 9, 0x02, 249 }, + { 23, 0x02, 249 }, + { 40, 0x03, 249 }, + { 0, 0x03, 10 }, + { 0, 0x03, 13 }, + { 0, 0x03, 22 }, + { 0, 0x04, 0 }, + }, + /* 251 */ + { + { 3, 0x02, 127 }, + { 6, 0x02, 127 }, + { 10, 0x02, 127 }, + { 15, 0x02, 127 }, + { 24, 0x02, 127 }, + { 31, 0x02, 127 }, + { 41, 0x02, 127 }, + { 56, 0x03, 127 }, + { 3, 0x02, 220 }, + { 6, 0x02, 220 }, + { 10, 0x02, 220 }, + { 15, 0x02, 220 }, + { 24, 0x02, 220 }, + { 31, 0x02, 220 }, + { 41, 0x02, 220 }, + { 56, 0x03, 220 }, + }, + /* 252 */ + { + { 3, 0x02, 249 }, + { 6, 0x02, 249 }, + { 10, 0x02, 249 }, + { 15, 0x02, 249 }, + { 24, 0x02, 249 }, + { 31, 0x02, 249 }, + { 41, 0x02, 249 }, + { 56, 0x03, 249 }, + { 1, 0x02, 10 }, + { 22, 0x03, 10 }, + { 1, 0x02, 13 }, + { 22, 0x03, 13 }, + { 1, 0x02, 22 }, + { 22, 0x03, 22 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + }, + /* 253 */ + { + { 2, 0x02, 10 }, + { 9, 0x02, 10 }, + { 23, 0x02, 10 }, + { 40, 0x03, 10 }, + { 2, 0x02, 13 }, + { 9, 0x02, 13 }, + { 23, 0x02, 13 }, + { 40, 0x03, 13 }, + { 2, 0x02, 22 }, + { 9, 0x02, 22 }, + { 23, 0x02, 22 }, + { 40, 0x03, 22 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + }, + /* 254 */ + { + { 3, 0x02, 10 }, + { 6, 0x02, 10 }, + { 10, 0x02, 10 }, + { 15, 0x02, 10 }, + { 24, 0x02, 10 }, + { 31, 0x02, 10 }, + { 41, 0x02, 10 }, + { 56, 0x03, 10 }, + { 3, 0x02, 13 }, + { 6, 0x02, 13 }, + { 10, 0x02, 13 }, + { 15, 0x02, 13 }, + { 24, 0x02, 13 }, + { 31, 0x02, 13 }, + { 41, 0x02, 13 }, + { 56, 0x03, 13 }, + }, + /* 255 */ + { + { 3, 0x02, 22 }, + { 6, 0x02, 22 }, + { 10, 0x02, 22 }, + { 15, 0x02, 22 }, + { 24, 0x02, 22 }, + { 31, 0x02, 22 }, + { 41, 0x02, 22 }, + { 56, 0x03, 22 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + { 0, 0x04, 0 }, + }, +}; + + +#if LS_HPACK_USE_LARGE_TABLES +static const struct hdec { uint8_t lens; uint8_t out[3]; } hdecs[] = +{ +/* + ,------------- Number of bits consumed by the index + | ,------ Number of bytes in output; 0 means long or invalid code + | | ,--- Output, aligned to the left + V V V */ +/* 0 */ {(15<<2)|3,{48,48,48}}, +/* 1 */ {(15<<2)|3,{48,48,48}}, +/* 2 */ {(15<<2)|3,{48,48,49}}, +/* 3 */ {(15<<2)|3,{48,48,49}}, +/* 4 */ {(15<<2)|3,{48,48,50}}, +/* 5 */ {(15<<2)|3,{48,48,50}}, +/* 6 */ {(15<<2)|3,{48,48,97}}, +/* 7 */ {(15<<2)|3,{48,48,97}}, +/* 8 */ {(15<<2)|3,{48,48,99}}, +/* 9 */ {(15<<2)|3,{48,48,99}}, +/* 10 */ {(15<<2)|3,{48,48,101}}, +/* 11 */ {(15<<2)|3,{48,48,101}}, +/* 12 */ {(15<<2)|3,{48,48,105}}, +/* 13 */ {(15<<2)|3,{48,48,105}}, +/* 14 */ {(15<<2)|3,{48,48,111}}, +/* 15 */ {(15<<2)|3,{48,48,111}}, +/* 16 */ {(15<<2)|3,{48,48,115}}, +/* 17 */ {(15<<2)|3,{48,48,115}}, +/* 18 */ {(15<<2)|3,{48,48,116}}, +/* 19 */ {(15<<2)|3,{48,48,116}}, +/* 20 */ {(16<<2)|3,{48,48,32}}, +/* 21 */ {(16<<2)|3,{48,48,37}}, +/* 22 */ {(16<<2)|3,{48,48,45}}, +/* 23 */ {(16<<2)|3,{48,48,46}}, +/* 24 */ {(16<<2)|3,{48,48,47}}, +/* 25 */ {(16<<2)|3,{48,48,51}}, +/* 26 */ {(16<<2)|3,{48,48,52}}, +/* 27 */ {(16<<2)|3,{48,48,53}}, +/* 28 */ {(16<<2)|3,{48,48,54}}, +/* 29 */ {(16<<2)|3,{48,48,55}}, +/* 30 */ {(16<<2)|3,{48,48,56}}, +/* 31 */ {(16<<2)|3,{48,48,57}}, +/* 32 */ {(16<<2)|3,{48,48,61}}, +/* 33 */ {(16<<2)|3,{48,48,65}}, +/* 34 */ {(16<<2)|3,{48,48,95}}, +/* 35 */ {(16<<2)|3,{48,48,98}}, +/* 36 */ {(16<<2)|3,{48,48,100}}, +/* 37 */ {(16<<2)|3,{48,48,102}}, +/* 38 */ {(16<<2)|3,{48,48,103}}, +/* 39 */ {(16<<2)|3,{48,48,104}}, +/* 40 */ {(16<<2)|3,{48,48,108}}, +/* 41 */ {(16<<2)|3,{48,48,109}}, +/* 42 */ {(16<<2)|3,{48,48,110}}, +/* 43 */ {(16<<2)|3,{48,48,112}}, +/* 44 */ {(16<<2)|3,{48,48,114}}, +/* 45 */ {(16<<2)|3,{48,48,117}}, +/* 46 */ {(10<<2)|2,{48,48,0}}, +/* 47 */ {(10<<2)|2,{48,48,0}}, +/* 48 */ {(10<<2)|2,{48,48,0}}, +/* 49 */ {(10<<2)|2,{48,48,0}}, +/* 50 */ {(10<<2)|2,{48,48,0}}, +/* 51 */ {(10<<2)|2,{48,48,0}}, +/* 52 */ {(10<<2)|2,{48,48,0}}, +/* 53 */ {(10<<2)|2,{48,48,0}}, +/* 54 */ {(10<<2)|2,{48,48,0}}, +/* 55 */ {(10<<2)|2,{48,48,0}}, +/* 56 */ {(10<<2)|2,{48,48,0}}, +/* 57 */ {(10<<2)|2,{48,48,0}}, +/* 58 */ {(10<<2)|2,{48,48,0}}, +/* 59 */ {(10<<2)|2,{48,48,0}}, +/* 60 */ {(10<<2)|2,{48,48,0}}, +/* 61 */ {(10<<2)|2,{48,48,0}}, +/* 62 */ {(10<<2)|2,{48,48,0}}, +/* 63 */ {(10<<2)|2,{48,48,0}}, +/* 64 */ {(15<<2)|3,{48,49,48}}, +/* 65 */ {(15<<2)|3,{48,49,48}}, +/* 66 */ {(15<<2)|3,{48,49,49}}, +/* 67 */ {(15<<2)|3,{48,49,49}}, +/* 68 */ {(15<<2)|3,{48,49,50}}, +/* 69 */ {(15<<2)|3,{48,49,50}}, +/* 70 */ {(15<<2)|3,{48,49,97}}, +/* 71 */ {(15<<2)|3,{48,49,97}}, +/* 72 */ {(15<<2)|3,{48,49,99}}, +/* 73 */ {(15<<2)|3,{48,49,99}}, +/* 74 */ {(15<<2)|3,{48,49,101}}, +/* 75 */ {(15<<2)|3,{48,49,101}}, +/* 76 */ {(15<<2)|3,{48,49,105}}, +/* 77 */ {(15<<2)|3,{48,49,105}}, +/* 78 */ {(15<<2)|3,{48,49,111}}, +/* 79 */ {(15<<2)|3,{48,49,111}}, +/* 80 */ {(15<<2)|3,{48,49,115}}, +/* 81 */ {(15<<2)|3,{48,49,115}}, +/* 82 */ {(15<<2)|3,{48,49,116}}, +/* 83 */ {(15<<2)|3,{48,49,116}}, +/* 84 */ {(16<<2)|3,{48,49,32}}, +/* 85 */ {(16<<2)|3,{48,49,37}}, +/* 86 */ {(16<<2)|3,{48,49,45}}, +/* 87 */ {(16<<2)|3,{48,49,46}}, +/* 88 */ {(16<<2)|3,{48,49,47}}, +/* 89 */ {(16<<2)|3,{48,49,51}}, +/* 90 */ {(16<<2)|3,{48,49,52}}, +/* 91 */ {(16<<2)|3,{48,49,53}}, +/* 92 */ {(16<<2)|3,{48,49,54}}, +/* 93 */ {(16<<2)|3,{48,49,55}}, +/* 94 */ {(16<<2)|3,{48,49,56}}, +/* 95 */ {(16<<2)|3,{48,49,57}}, +/* 96 */ {(16<<2)|3,{48,49,61}}, +/* 97 */ {(16<<2)|3,{48,49,65}}, +/* 98 */ {(16<<2)|3,{48,49,95}}, +/* 99 */ {(16<<2)|3,{48,49,98}}, +/* 100 */ {(16<<2)|3,{48,49,100}}, +/* 101 */ {(16<<2)|3,{48,49,102}}, +/* 102 */ {(16<<2)|3,{48,49,103}}, +/* 103 */ {(16<<2)|3,{48,49,104}}, +/* 104 */ {(16<<2)|3,{48,49,108}}, +/* 105 */ {(16<<2)|3,{48,49,109}}, +/* 106 */ {(16<<2)|3,{48,49,110}}, +/* 107 */ {(16<<2)|3,{48,49,112}}, +/* 108 */ {(16<<2)|3,{48,49,114}}, +/* 109 */ {(16<<2)|3,{48,49,117}}, +/* 110 */ {(10<<2)|2,{48,49,0}}, +/* 111 */ {(10<<2)|2,{48,49,0}}, +/* 112 */ {(10<<2)|2,{48,49,0}}, +/* 113 */ {(10<<2)|2,{48,49,0}}, +/* 114 */ {(10<<2)|2,{48,49,0}}, +/* 115 */ {(10<<2)|2,{48,49,0}}, +/* 116 */ {(10<<2)|2,{48,49,0}}, +/* 117 */ {(10<<2)|2,{48,49,0}}, +/* 118 */ {(10<<2)|2,{48,49,0}}, +/* 119 */ {(10<<2)|2,{48,49,0}}, +/* 120 */ {(10<<2)|2,{48,49,0}}, +/* 121 */ {(10<<2)|2,{48,49,0}}, +/* 122 */ {(10<<2)|2,{48,49,0}}, +/* 123 */ {(10<<2)|2,{48,49,0}}, +/* 124 */ {(10<<2)|2,{48,49,0}}, +/* 125 */ {(10<<2)|2,{48,49,0}}, +/* 126 */ {(10<<2)|2,{48,49,0}}, +/* 127 */ {(10<<2)|2,{48,49,0}}, +/* 128 */ {(15<<2)|3,{48,50,48}}, +/* 129 */ {(15<<2)|3,{48,50,48}}, +/* 130 */ {(15<<2)|3,{48,50,49}}, +/* 131 */ {(15<<2)|3,{48,50,49}}, +/* 132 */ {(15<<2)|3,{48,50,50}}, +/* 133 */ {(15<<2)|3,{48,50,50}}, +/* 134 */ {(15<<2)|3,{48,50,97}}, +/* 135 */ {(15<<2)|3,{48,50,97}}, +/* 136 */ {(15<<2)|3,{48,50,99}}, +/* 137 */ {(15<<2)|3,{48,50,99}}, +/* 138 */ {(15<<2)|3,{48,50,101}}, +/* 139 */ {(15<<2)|3,{48,50,101}}, +/* 140 */ {(15<<2)|3,{48,50,105}}, +/* 141 */ {(15<<2)|3,{48,50,105}}, +/* 142 */ {(15<<2)|3,{48,50,111}}, +/* 143 */ {(15<<2)|3,{48,50,111}}, +/* 144 */ {(15<<2)|3,{48,50,115}}, +/* 145 */ {(15<<2)|3,{48,50,115}}, +/* 146 */ {(15<<2)|3,{48,50,116}}, +/* 147 */ {(15<<2)|3,{48,50,116}}, +/* 148 */ {(16<<2)|3,{48,50,32}}, +/* 149 */ {(16<<2)|3,{48,50,37}}, +/* 150 */ {(16<<2)|3,{48,50,45}}, +/* 151 */ {(16<<2)|3,{48,50,46}}, +/* 152 */ {(16<<2)|3,{48,50,47}}, +/* 153 */ {(16<<2)|3,{48,50,51}}, +/* 154 */ {(16<<2)|3,{48,50,52}}, +/* 155 */ {(16<<2)|3,{48,50,53}}, +/* 156 */ {(16<<2)|3,{48,50,54}}, +/* 157 */ {(16<<2)|3,{48,50,55}}, +/* 158 */ {(16<<2)|3,{48,50,56}}, +/* 159 */ {(16<<2)|3,{48,50,57}}, +/* 160 */ {(16<<2)|3,{48,50,61}}, +/* 161 */ {(16<<2)|3,{48,50,65}}, +/* 162 */ {(16<<2)|3,{48,50,95}}, +/* 163 */ {(16<<2)|3,{48,50,98}}, +/* 164 */ {(16<<2)|3,{48,50,100}}, +/* 165 */ {(16<<2)|3,{48,50,102}}, +/* 166 */ {(16<<2)|3,{48,50,103}}, +/* 167 */ {(16<<2)|3,{48,50,104}}, +/* 168 */ {(16<<2)|3,{48,50,108}}, +/* 169 */ {(16<<2)|3,{48,50,109}}, +/* 170 */ {(16<<2)|3,{48,50,110}}, +/* 171 */ {(16<<2)|3,{48,50,112}}, +/* 172 */ {(16<<2)|3,{48,50,114}}, +/* 173 */ {(16<<2)|3,{48,50,117}}, +/* 174 */ {(10<<2)|2,{48,50,0}}, +/* 175 */ {(10<<2)|2,{48,50,0}}, +/* 176 */ {(10<<2)|2,{48,50,0}}, +/* 177 */ {(10<<2)|2,{48,50,0}}, +/* 178 */ {(10<<2)|2,{48,50,0}}, +/* 179 */ {(10<<2)|2,{48,50,0}}, +/* 180 */ {(10<<2)|2,{48,50,0}}, +/* 181 */ {(10<<2)|2,{48,50,0}}, +/* 182 */ {(10<<2)|2,{48,50,0}}, +/* 183 */ {(10<<2)|2,{48,50,0}}, +/* 184 */ {(10<<2)|2,{48,50,0}}, +/* 185 */ {(10<<2)|2,{48,50,0}}, +/* 186 */ {(10<<2)|2,{48,50,0}}, +/* 187 */ {(10<<2)|2,{48,50,0}}, +/* 188 */ {(10<<2)|2,{48,50,0}}, +/* 189 */ {(10<<2)|2,{48,50,0}}, +/* 190 */ {(10<<2)|2,{48,50,0}}, +/* 191 */ {(10<<2)|2,{48,50,0}}, +/* 192 */ {(15<<2)|3,{48,97,48}}, +/* 193 */ {(15<<2)|3,{48,97,48}}, +/* 194 */ {(15<<2)|3,{48,97,49}}, +/* 195 */ {(15<<2)|3,{48,97,49}}, +/* 196 */ {(15<<2)|3,{48,97,50}}, +/* 197 */ {(15<<2)|3,{48,97,50}}, +/* 198 */ {(15<<2)|3,{48,97,97}}, +/* 199 */ {(15<<2)|3,{48,97,97}}, +/* 200 */ {(15<<2)|3,{48,97,99}}, +/* 201 */ {(15<<2)|3,{48,97,99}}, +/* 202 */ {(15<<2)|3,{48,97,101}}, +/* 203 */ {(15<<2)|3,{48,97,101}}, +/* 204 */ {(15<<2)|3,{48,97,105}}, +/* 205 */ {(15<<2)|3,{48,97,105}}, +/* 206 */ {(15<<2)|3,{48,97,111}}, +/* 207 */ {(15<<2)|3,{48,97,111}}, +/* 208 */ {(15<<2)|3,{48,97,115}}, +/* 209 */ {(15<<2)|3,{48,97,115}}, +/* 210 */ {(15<<2)|3,{48,97,116}}, +/* 211 */ {(15<<2)|3,{48,97,116}}, +/* 212 */ {(16<<2)|3,{48,97,32}}, +/* 213 */ {(16<<2)|3,{48,97,37}}, +/* 214 */ {(16<<2)|3,{48,97,45}}, +/* 215 */ {(16<<2)|3,{48,97,46}}, +/* 216 */ {(16<<2)|3,{48,97,47}}, +/* 217 */ {(16<<2)|3,{48,97,51}}, +/* 218 */ {(16<<2)|3,{48,97,52}}, +/* 219 */ {(16<<2)|3,{48,97,53}}, +/* 220 */ {(16<<2)|3,{48,97,54}}, +/* 221 */ {(16<<2)|3,{48,97,55}}, +/* 222 */ {(16<<2)|3,{48,97,56}}, +/* 223 */ {(16<<2)|3,{48,97,57}}, +/* 224 */ {(16<<2)|3,{48,97,61}}, +/* 225 */ {(16<<2)|3,{48,97,65}}, +/* 226 */ {(16<<2)|3,{48,97,95}}, +/* 227 */ {(16<<2)|3,{48,97,98}}, +/* 228 */ {(16<<2)|3,{48,97,100}}, +/* 229 */ {(16<<2)|3,{48,97,102}}, +/* 230 */ {(16<<2)|3,{48,97,103}}, +/* 231 */ {(16<<2)|3,{48,97,104}}, +/* 232 */ {(16<<2)|3,{48,97,108}}, +/* 233 */ {(16<<2)|3,{48,97,109}}, +/* 234 */ {(16<<2)|3,{48,97,110}}, +/* 235 */ {(16<<2)|3,{48,97,112}}, +/* 236 */ {(16<<2)|3,{48,97,114}}, +/* 237 */ {(16<<2)|3,{48,97,117}}, +/* 238 */ {(10<<2)|2,{48,97,0}}, +/* 239 */ {(10<<2)|2,{48,97,0}}, +/* 240 */ {(10<<2)|2,{48,97,0}}, +/* 241 */ {(10<<2)|2,{48,97,0}}, +/* 242 */ {(10<<2)|2,{48,97,0}}, +/* 243 */ {(10<<2)|2,{48,97,0}}, +/* 244 */ {(10<<2)|2,{48,97,0}}, +/* 245 */ {(10<<2)|2,{48,97,0}}, +/* 246 */ {(10<<2)|2,{48,97,0}}, +/* 247 */ {(10<<2)|2,{48,97,0}}, +/* 248 */ {(10<<2)|2,{48,97,0}}, +/* 249 */ {(10<<2)|2,{48,97,0}}, +/* 250 */ {(10<<2)|2,{48,97,0}}, +/* 251 */ {(10<<2)|2,{48,97,0}}, +/* 252 */ {(10<<2)|2,{48,97,0}}, +/* 253 */ {(10<<2)|2,{48,97,0}}, +/* 254 */ {(10<<2)|2,{48,97,0}}, +/* 255 */ {(10<<2)|2,{48,97,0}}, +/* 256 */ {(15<<2)|3,{48,99,48}}, +/* 257 */ {(15<<2)|3,{48,99,48}}, +/* 258 */ {(15<<2)|3,{48,99,49}}, +/* 259 */ {(15<<2)|3,{48,99,49}}, +/* 260 */ {(15<<2)|3,{48,99,50}}, +/* 261 */ {(15<<2)|3,{48,99,50}}, +/* 262 */ {(15<<2)|3,{48,99,97}}, +/* 263 */ {(15<<2)|3,{48,99,97}}, +/* 264 */ {(15<<2)|3,{48,99,99}}, +/* 265 */ {(15<<2)|3,{48,99,99}}, +/* 266 */ {(15<<2)|3,{48,99,101}}, +/* 267 */ {(15<<2)|3,{48,99,101}}, +/* 268 */ {(15<<2)|3,{48,99,105}}, +/* 269 */ {(15<<2)|3,{48,99,105}}, +/* 270 */ {(15<<2)|3,{48,99,111}}, +/* 271 */ {(15<<2)|3,{48,99,111}}, +/* 272 */ {(15<<2)|3,{48,99,115}}, +/* 273 */ {(15<<2)|3,{48,99,115}}, +/* 274 */ {(15<<2)|3,{48,99,116}}, +/* 275 */ {(15<<2)|3,{48,99,116}}, +/* 276 */ {(16<<2)|3,{48,99,32}}, +/* 277 */ {(16<<2)|3,{48,99,37}}, +/* 278 */ {(16<<2)|3,{48,99,45}}, +/* 279 */ {(16<<2)|3,{48,99,46}}, +/* 280 */ {(16<<2)|3,{48,99,47}}, +/* 281 */ {(16<<2)|3,{48,99,51}}, +/* 282 */ {(16<<2)|3,{48,99,52}}, +/* 283 */ {(16<<2)|3,{48,99,53}}, +/* 284 */ {(16<<2)|3,{48,99,54}}, +/* 285 */ {(16<<2)|3,{48,99,55}}, +/* 286 */ {(16<<2)|3,{48,99,56}}, +/* 287 */ {(16<<2)|3,{48,99,57}}, +/* 288 */ {(16<<2)|3,{48,99,61}}, +/* 289 */ {(16<<2)|3,{48,99,65}}, +/* 290 */ {(16<<2)|3,{48,99,95}}, +/* 291 */ {(16<<2)|3,{48,99,98}}, +/* 292 */ {(16<<2)|3,{48,99,100}}, +/* 293 */ {(16<<2)|3,{48,99,102}}, +/* 294 */ {(16<<2)|3,{48,99,103}}, +/* 295 */ {(16<<2)|3,{48,99,104}}, +/* 296 */ {(16<<2)|3,{48,99,108}}, +/* 297 */ {(16<<2)|3,{48,99,109}}, +/* 298 */ {(16<<2)|3,{48,99,110}}, +/* 299 */ {(16<<2)|3,{48,99,112}}, +/* 300 */ {(16<<2)|3,{48,99,114}}, +/* 301 */ {(16<<2)|3,{48,99,117}}, +/* 302 */ {(10<<2)|2,{48,99,0}}, +/* 303 */ {(10<<2)|2,{48,99,0}}, +/* 304 */ {(10<<2)|2,{48,99,0}}, +/* 305 */ {(10<<2)|2,{48,99,0}}, +/* 306 */ {(10<<2)|2,{48,99,0}}, +/* 307 */ {(10<<2)|2,{48,99,0}}, +/* 308 */ {(10<<2)|2,{48,99,0}}, +/* 309 */ {(10<<2)|2,{48,99,0}}, +/* 310 */ {(10<<2)|2,{48,99,0}}, +/* 311 */ {(10<<2)|2,{48,99,0}}, +/* 312 */ {(10<<2)|2,{48,99,0}}, +/* 313 */ {(10<<2)|2,{48,99,0}}, +/* 314 */ {(10<<2)|2,{48,99,0}}, +/* 315 */ {(10<<2)|2,{48,99,0}}, +/* 316 */ {(10<<2)|2,{48,99,0}}, +/* 317 */ {(10<<2)|2,{48,99,0}}, +/* 318 */ {(10<<2)|2,{48,99,0}}, +/* 319 */ {(10<<2)|2,{48,99,0}}, +/* 320 */ {(15<<2)|3,{48,101,48}}, +/* 321 */ {(15<<2)|3,{48,101,48}}, +/* 322 */ {(15<<2)|3,{48,101,49}}, +/* 323 */ {(15<<2)|3,{48,101,49}}, +/* 324 */ {(15<<2)|3,{48,101,50}}, +/* 325 */ {(15<<2)|3,{48,101,50}}, +/* 326 */ {(15<<2)|3,{48,101,97}}, +/* 327 */ {(15<<2)|3,{48,101,97}}, +/* 328 */ {(15<<2)|3,{48,101,99}}, +/* 329 */ {(15<<2)|3,{48,101,99}}, +/* 330 */ {(15<<2)|3,{48,101,101}}, +/* 331 */ {(15<<2)|3,{48,101,101}}, +/* 332 */ {(15<<2)|3,{48,101,105}}, +/* 333 */ {(15<<2)|3,{48,101,105}}, +/* 334 */ {(15<<2)|3,{48,101,111}}, +/* 335 */ {(15<<2)|3,{48,101,111}}, +/* 336 */ {(15<<2)|3,{48,101,115}}, +/* 337 */ {(15<<2)|3,{48,101,115}}, +/* 338 */ {(15<<2)|3,{48,101,116}}, +/* 339 */ {(15<<2)|3,{48,101,116}}, +/* 340 */ {(16<<2)|3,{48,101,32}}, +/* 341 */ {(16<<2)|3,{48,101,37}}, +/* 342 */ {(16<<2)|3,{48,101,45}}, +/* 343 */ {(16<<2)|3,{48,101,46}}, +/* 344 */ {(16<<2)|3,{48,101,47}}, +/* 345 */ {(16<<2)|3,{48,101,51}}, +/* 346 */ {(16<<2)|3,{48,101,52}}, +/* 347 */ {(16<<2)|3,{48,101,53}}, +/* 348 */ {(16<<2)|3,{48,101,54}}, +/* 349 */ {(16<<2)|3,{48,101,55}}, +/* 350 */ {(16<<2)|3,{48,101,56}}, +/* 351 */ {(16<<2)|3,{48,101,57}}, +/* 352 */ {(16<<2)|3,{48,101,61}}, +/* 353 */ {(16<<2)|3,{48,101,65}}, +/* 354 */ {(16<<2)|3,{48,101,95}}, +/* 355 */ {(16<<2)|3,{48,101,98}}, +/* 356 */ {(16<<2)|3,{48,101,100}}, +/* 357 */ {(16<<2)|3,{48,101,102}}, +/* 358 */ {(16<<2)|3,{48,101,103}}, +/* 359 */ {(16<<2)|3,{48,101,104}}, +/* 360 */ {(16<<2)|3,{48,101,108}}, +/* 361 */ {(16<<2)|3,{48,101,109}}, +/* 362 */ {(16<<2)|3,{48,101,110}}, +/* 363 */ {(16<<2)|3,{48,101,112}}, +/* 364 */ {(16<<2)|3,{48,101,114}}, +/* 365 */ {(16<<2)|3,{48,101,117}}, +/* 366 */ {(10<<2)|2,{48,101,0}}, +/* 367 */ {(10<<2)|2,{48,101,0}}, +/* 368 */ {(10<<2)|2,{48,101,0}}, +/* 369 */ {(10<<2)|2,{48,101,0}}, +/* 370 */ {(10<<2)|2,{48,101,0}}, +/* 371 */ {(10<<2)|2,{48,101,0}}, +/* 372 */ {(10<<2)|2,{48,101,0}}, +/* 373 */ {(10<<2)|2,{48,101,0}}, +/* 374 */ {(10<<2)|2,{48,101,0}}, +/* 375 */ {(10<<2)|2,{48,101,0}}, +/* 376 */ {(10<<2)|2,{48,101,0}}, +/* 377 */ {(10<<2)|2,{48,101,0}}, +/* 378 */ {(10<<2)|2,{48,101,0}}, +/* 379 */ {(10<<2)|2,{48,101,0}}, +/* 380 */ {(10<<2)|2,{48,101,0}}, +/* 381 */ {(10<<2)|2,{48,101,0}}, +/* 382 */ {(10<<2)|2,{48,101,0}}, +/* 383 */ {(10<<2)|2,{48,101,0}}, +/* 384 */ {(15<<2)|3,{48,105,48}}, +/* 385 */ {(15<<2)|3,{48,105,48}}, +/* 386 */ {(15<<2)|3,{48,105,49}}, +/* 387 */ {(15<<2)|3,{48,105,49}}, +/* 388 */ {(15<<2)|3,{48,105,50}}, +/* 389 */ {(15<<2)|3,{48,105,50}}, +/* 390 */ {(15<<2)|3,{48,105,97}}, +/* 391 */ {(15<<2)|3,{48,105,97}}, +/* 392 */ {(15<<2)|3,{48,105,99}}, +/* 393 */ {(15<<2)|3,{48,105,99}}, +/* 394 */ {(15<<2)|3,{48,105,101}}, +/* 395 */ {(15<<2)|3,{48,105,101}}, +/* 396 */ {(15<<2)|3,{48,105,105}}, +/* 397 */ {(15<<2)|3,{48,105,105}}, +/* 398 */ {(15<<2)|3,{48,105,111}}, +/* 399 */ {(15<<2)|3,{48,105,111}}, +/* 400 */ {(15<<2)|3,{48,105,115}}, +/* 401 */ {(15<<2)|3,{48,105,115}}, +/* 402 */ {(15<<2)|3,{48,105,116}}, +/* 403 */ {(15<<2)|3,{48,105,116}}, +/* 404 */ {(16<<2)|3,{48,105,32}}, +/* 405 */ {(16<<2)|3,{48,105,37}}, +/* 406 */ {(16<<2)|3,{48,105,45}}, +/* 407 */ {(16<<2)|3,{48,105,46}}, +/* 408 */ {(16<<2)|3,{48,105,47}}, +/* 409 */ {(16<<2)|3,{48,105,51}}, +/* 410 */ {(16<<2)|3,{48,105,52}}, +/* 411 */ {(16<<2)|3,{48,105,53}}, +/* 412 */ {(16<<2)|3,{48,105,54}}, +/* 413 */ {(16<<2)|3,{48,105,55}}, +/* 414 */ {(16<<2)|3,{48,105,56}}, +/* 415 */ {(16<<2)|3,{48,105,57}}, +/* 416 */ {(16<<2)|3,{48,105,61}}, +/* 417 */ {(16<<2)|3,{48,105,65}}, +/* 418 */ {(16<<2)|3,{48,105,95}}, +/* 419 */ {(16<<2)|3,{48,105,98}}, +/* 420 */ {(16<<2)|3,{48,105,100}}, +/* 421 */ {(16<<2)|3,{48,105,102}}, +/* 422 */ {(16<<2)|3,{48,105,103}}, +/* 423 */ {(16<<2)|3,{48,105,104}}, +/* 424 */ {(16<<2)|3,{48,105,108}}, +/* 425 */ {(16<<2)|3,{48,105,109}}, +/* 426 */ {(16<<2)|3,{48,105,110}}, +/* 427 */ {(16<<2)|3,{48,105,112}}, +/* 428 */ {(16<<2)|3,{48,105,114}}, +/* 429 */ {(16<<2)|3,{48,105,117}}, +/* 430 */ {(10<<2)|2,{48,105,0}}, +/* 431 */ {(10<<2)|2,{48,105,0}}, +/* 432 */ {(10<<2)|2,{48,105,0}}, +/* 433 */ {(10<<2)|2,{48,105,0}}, +/* 434 */ {(10<<2)|2,{48,105,0}}, +/* 435 */ {(10<<2)|2,{48,105,0}}, +/* 436 */ {(10<<2)|2,{48,105,0}}, +/* 437 */ {(10<<2)|2,{48,105,0}}, +/* 438 */ {(10<<2)|2,{48,105,0}}, +/* 439 */ {(10<<2)|2,{48,105,0}}, +/* 440 */ {(10<<2)|2,{48,105,0}}, +/* 441 */ {(10<<2)|2,{48,105,0}}, +/* 442 */ {(10<<2)|2,{48,105,0}}, +/* 443 */ {(10<<2)|2,{48,105,0}}, +/* 444 */ {(10<<2)|2,{48,105,0}}, +/* 445 */ {(10<<2)|2,{48,105,0}}, +/* 446 */ {(10<<2)|2,{48,105,0}}, +/* 447 */ {(10<<2)|2,{48,105,0}}, +/* 448 */ {(15<<2)|3,{48,111,48}}, +/* 449 */ {(15<<2)|3,{48,111,48}}, +/* 450 */ {(15<<2)|3,{48,111,49}}, +/* 451 */ {(15<<2)|3,{48,111,49}}, +/* 452 */ {(15<<2)|3,{48,111,50}}, +/* 453 */ {(15<<2)|3,{48,111,50}}, +/* 454 */ {(15<<2)|3,{48,111,97}}, +/* 455 */ {(15<<2)|3,{48,111,97}}, +/* 456 */ {(15<<2)|3,{48,111,99}}, +/* 457 */ {(15<<2)|3,{48,111,99}}, +/* 458 */ {(15<<2)|3,{48,111,101}}, +/* 459 */ {(15<<2)|3,{48,111,101}}, +/* 460 */ {(15<<2)|3,{48,111,105}}, +/* 461 */ {(15<<2)|3,{48,111,105}}, +/* 462 */ {(15<<2)|3,{48,111,111}}, +/* 463 */ {(15<<2)|3,{48,111,111}}, +/* 464 */ {(15<<2)|3,{48,111,115}}, +/* 465 */ {(15<<2)|3,{48,111,115}}, +/* 466 */ {(15<<2)|3,{48,111,116}}, +/* 467 */ {(15<<2)|3,{48,111,116}}, +/* 468 */ {(16<<2)|3,{48,111,32}}, +/* 469 */ {(16<<2)|3,{48,111,37}}, +/* 470 */ {(16<<2)|3,{48,111,45}}, +/* 471 */ {(16<<2)|3,{48,111,46}}, +/* 472 */ {(16<<2)|3,{48,111,47}}, +/* 473 */ {(16<<2)|3,{48,111,51}}, +/* 474 */ {(16<<2)|3,{48,111,52}}, +/* 475 */ {(16<<2)|3,{48,111,53}}, +/* 476 */ {(16<<2)|3,{48,111,54}}, +/* 477 */ {(16<<2)|3,{48,111,55}}, +/* 478 */ {(16<<2)|3,{48,111,56}}, +/* 479 */ {(16<<2)|3,{48,111,57}}, +/* 480 */ {(16<<2)|3,{48,111,61}}, +/* 481 */ {(16<<2)|3,{48,111,65}}, +/* 482 */ {(16<<2)|3,{48,111,95}}, +/* 483 */ {(16<<2)|3,{48,111,98}}, +/* 484 */ {(16<<2)|3,{48,111,100}}, +/* 485 */ {(16<<2)|3,{48,111,102}}, +/* 486 */ {(16<<2)|3,{48,111,103}}, +/* 487 */ {(16<<2)|3,{48,111,104}}, +/* 488 */ {(16<<2)|3,{48,111,108}}, +/* 489 */ {(16<<2)|3,{48,111,109}}, +/* 490 */ {(16<<2)|3,{48,111,110}}, +/* 491 */ {(16<<2)|3,{48,111,112}}, +/* 492 */ {(16<<2)|3,{48,111,114}}, +/* 493 */ {(16<<2)|3,{48,111,117}}, +/* 494 */ {(10<<2)|2,{48,111,0}}, +/* 495 */ {(10<<2)|2,{48,111,0}}, +/* 496 */ {(10<<2)|2,{48,111,0}}, +/* 497 */ {(10<<2)|2,{48,111,0}}, +/* 498 */ {(10<<2)|2,{48,111,0}}, +/* 499 */ {(10<<2)|2,{48,111,0}}, +/* 500 */ {(10<<2)|2,{48,111,0}}, +/* 501 */ {(10<<2)|2,{48,111,0}}, +/* 502 */ {(10<<2)|2,{48,111,0}}, +/* 503 */ {(10<<2)|2,{48,111,0}}, +/* 504 */ {(10<<2)|2,{48,111,0}}, +/* 505 */ {(10<<2)|2,{48,111,0}}, +/* 506 */ {(10<<2)|2,{48,111,0}}, +/* 507 */ {(10<<2)|2,{48,111,0}}, +/* 508 */ {(10<<2)|2,{48,111,0}}, +/* 509 */ {(10<<2)|2,{48,111,0}}, +/* 510 */ {(10<<2)|2,{48,111,0}}, +/* 511 */ {(10<<2)|2,{48,111,0}}, +/* 512 */ {(15<<2)|3,{48,115,48}}, +/* 513 */ {(15<<2)|3,{48,115,48}}, +/* 514 */ {(15<<2)|3,{48,115,49}}, +/* 515 */ {(15<<2)|3,{48,115,49}}, +/* 516 */ {(15<<2)|3,{48,115,50}}, +/* 517 */ {(15<<2)|3,{48,115,50}}, +/* 518 */ {(15<<2)|3,{48,115,97}}, +/* 519 */ {(15<<2)|3,{48,115,97}}, +/* 520 */ {(15<<2)|3,{48,115,99}}, +/* 521 */ {(15<<2)|3,{48,115,99}}, +/* 522 */ {(15<<2)|3,{48,115,101}}, +/* 523 */ {(15<<2)|3,{48,115,101}}, +/* 524 */ {(15<<2)|3,{48,115,105}}, +/* 525 */ {(15<<2)|3,{48,115,105}}, +/* 526 */ {(15<<2)|3,{48,115,111}}, +/* 527 */ {(15<<2)|3,{48,115,111}}, +/* 528 */ {(15<<2)|3,{48,115,115}}, +/* 529 */ {(15<<2)|3,{48,115,115}}, +/* 530 */ {(15<<2)|3,{48,115,116}}, +/* 531 */ {(15<<2)|3,{48,115,116}}, +/* 532 */ {(16<<2)|3,{48,115,32}}, +/* 533 */ {(16<<2)|3,{48,115,37}}, +/* 534 */ {(16<<2)|3,{48,115,45}}, +/* 535 */ {(16<<2)|3,{48,115,46}}, +/* 536 */ {(16<<2)|3,{48,115,47}}, +/* 537 */ {(16<<2)|3,{48,115,51}}, +/* 538 */ {(16<<2)|3,{48,115,52}}, +/* 539 */ {(16<<2)|3,{48,115,53}}, +/* 540 */ {(16<<2)|3,{48,115,54}}, +/* 541 */ {(16<<2)|3,{48,115,55}}, +/* 542 */ {(16<<2)|3,{48,115,56}}, +/* 543 */ {(16<<2)|3,{48,115,57}}, +/* 544 */ {(16<<2)|3,{48,115,61}}, +/* 545 */ {(16<<2)|3,{48,115,65}}, +/* 546 */ {(16<<2)|3,{48,115,95}}, +/* 547 */ {(16<<2)|3,{48,115,98}}, +/* 548 */ {(16<<2)|3,{48,115,100}}, +/* 549 */ {(16<<2)|3,{48,115,102}}, +/* 550 */ {(16<<2)|3,{48,115,103}}, +/* 551 */ {(16<<2)|3,{48,115,104}}, +/* 552 */ {(16<<2)|3,{48,115,108}}, +/* 553 */ {(16<<2)|3,{48,115,109}}, +/* 554 */ {(16<<2)|3,{48,115,110}}, +/* 555 */ {(16<<2)|3,{48,115,112}}, +/* 556 */ {(16<<2)|3,{48,115,114}}, +/* 557 */ {(16<<2)|3,{48,115,117}}, +/* 558 */ {(10<<2)|2,{48,115,0}}, +/* 559 */ {(10<<2)|2,{48,115,0}}, +/* 560 */ {(10<<2)|2,{48,115,0}}, +/* 561 */ {(10<<2)|2,{48,115,0}}, +/* 562 */ {(10<<2)|2,{48,115,0}}, +/* 563 */ {(10<<2)|2,{48,115,0}}, +/* 564 */ {(10<<2)|2,{48,115,0}}, +/* 565 */ {(10<<2)|2,{48,115,0}}, +/* 566 */ {(10<<2)|2,{48,115,0}}, +/* 567 */ {(10<<2)|2,{48,115,0}}, +/* 568 */ {(10<<2)|2,{48,115,0}}, +/* 569 */ {(10<<2)|2,{48,115,0}}, +/* 570 */ {(10<<2)|2,{48,115,0}}, +/* 571 */ {(10<<2)|2,{48,115,0}}, +/* 572 */ {(10<<2)|2,{48,115,0}}, +/* 573 */ {(10<<2)|2,{48,115,0}}, +/* 574 */ {(10<<2)|2,{48,115,0}}, +/* 575 */ {(10<<2)|2,{48,115,0}}, +/* 576 */ {(15<<2)|3,{48,116,48}}, +/* 577 */ {(15<<2)|3,{48,116,48}}, +/* 578 */ {(15<<2)|3,{48,116,49}}, +/* 579 */ {(15<<2)|3,{48,116,49}}, +/* 580 */ {(15<<2)|3,{48,116,50}}, +/* 581 */ {(15<<2)|3,{48,116,50}}, +/* 582 */ {(15<<2)|3,{48,116,97}}, +/* 583 */ {(15<<2)|3,{48,116,97}}, +/* 584 */ {(15<<2)|3,{48,116,99}}, +/* 585 */ {(15<<2)|3,{48,116,99}}, +/* 586 */ {(15<<2)|3,{48,116,101}}, +/* 587 */ {(15<<2)|3,{48,116,101}}, +/* 588 */ {(15<<2)|3,{48,116,105}}, +/* 589 */ {(15<<2)|3,{48,116,105}}, +/* 590 */ {(15<<2)|3,{48,116,111}}, +/* 591 */ {(15<<2)|3,{48,116,111}}, +/* 592 */ {(15<<2)|3,{48,116,115}}, +/* 593 */ {(15<<2)|3,{48,116,115}}, +/* 594 */ {(15<<2)|3,{48,116,116}}, +/* 595 */ {(15<<2)|3,{48,116,116}}, +/* 596 */ {(16<<2)|3,{48,116,32}}, +/* 597 */ {(16<<2)|3,{48,116,37}}, +/* 598 */ {(16<<2)|3,{48,116,45}}, +/* 599 */ {(16<<2)|3,{48,116,46}}, +/* 600 */ {(16<<2)|3,{48,116,47}}, +/* 601 */ {(16<<2)|3,{48,116,51}}, +/* 602 */ {(16<<2)|3,{48,116,52}}, +/* 603 */ {(16<<2)|3,{48,116,53}}, +/* 604 */ {(16<<2)|3,{48,116,54}}, +/* 605 */ {(16<<2)|3,{48,116,55}}, +/* 606 */ {(16<<2)|3,{48,116,56}}, +/* 607 */ {(16<<2)|3,{48,116,57}}, +/* 608 */ {(16<<2)|3,{48,116,61}}, +/* 609 */ {(16<<2)|3,{48,116,65}}, +/* 610 */ {(16<<2)|3,{48,116,95}}, +/* 611 */ {(16<<2)|3,{48,116,98}}, +/* 612 */ {(16<<2)|3,{48,116,100}}, +/* 613 */ {(16<<2)|3,{48,116,102}}, +/* 614 */ {(16<<2)|3,{48,116,103}}, +/* 615 */ {(16<<2)|3,{48,116,104}}, +/* 616 */ {(16<<2)|3,{48,116,108}}, +/* 617 */ {(16<<2)|3,{48,116,109}}, +/* 618 */ {(16<<2)|3,{48,116,110}}, +/* 619 */ {(16<<2)|3,{48,116,112}}, +/* 620 */ {(16<<2)|3,{48,116,114}}, +/* 621 */ {(16<<2)|3,{48,116,117}}, +/* 622 */ {(10<<2)|2,{48,116,0}}, +/* 623 */ {(10<<2)|2,{48,116,0}}, +/* 624 */ {(10<<2)|2,{48,116,0}}, +/* 625 */ {(10<<2)|2,{48,116,0}}, +/* 626 */ {(10<<2)|2,{48,116,0}}, +/* 627 */ {(10<<2)|2,{48,116,0}}, +/* 628 */ {(10<<2)|2,{48,116,0}}, +/* 629 */ {(10<<2)|2,{48,116,0}}, +/* 630 */ {(10<<2)|2,{48,116,0}}, +/* 631 */ {(10<<2)|2,{48,116,0}}, +/* 632 */ {(10<<2)|2,{48,116,0}}, +/* 633 */ {(10<<2)|2,{48,116,0}}, +/* 634 */ {(10<<2)|2,{48,116,0}}, +/* 635 */ {(10<<2)|2,{48,116,0}}, +/* 636 */ {(10<<2)|2,{48,116,0}}, +/* 637 */ {(10<<2)|2,{48,116,0}}, +/* 638 */ {(10<<2)|2,{48,116,0}}, +/* 639 */ {(10<<2)|2,{48,116,0}}, +/* 640 */ {(16<<2)|3,{48,32,48}}, +/* 641 */ {(16<<2)|3,{48,32,49}}, +/* 642 */ {(16<<2)|3,{48,32,50}}, +/* 643 */ {(16<<2)|3,{48,32,97}}, +/* 644 */ {(16<<2)|3,{48,32,99}}, +/* 645 */ {(16<<2)|3,{48,32,101}}, +/* 646 */ {(16<<2)|3,{48,32,105}}, +/* 647 */ {(16<<2)|3,{48,32,111}}, +/* 648 */ {(16<<2)|3,{48,32,115}}, +/* 649 */ {(16<<2)|3,{48,32,116}}, +/* 650 */ {(11<<2)|2,{48,32,0}}, +/* 651 */ {(11<<2)|2,{48,32,0}}, +/* 652 */ {(11<<2)|2,{48,32,0}}, +/* 653 */ {(11<<2)|2,{48,32,0}}, +/* 654 */ {(11<<2)|2,{48,32,0}}, +/* 655 */ {(11<<2)|2,{48,32,0}}, +/* 656 */ {(11<<2)|2,{48,32,0}}, +/* 657 */ {(11<<2)|2,{48,32,0}}, +/* 658 */ {(11<<2)|2,{48,32,0}}, +/* 659 */ {(11<<2)|2,{48,32,0}}, +/* 660 */ {(11<<2)|2,{48,32,0}}, +/* 661 */ {(11<<2)|2,{48,32,0}}, +/* 662 */ {(11<<2)|2,{48,32,0}}, +/* 663 */ {(11<<2)|2,{48,32,0}}, +/* 664 */ {(11<<2)|2,{48,32,0}}, +/* 665 */ {(11<<2)|2,{48,32,0}}, +/* 666 */ {(11<<2)|2,{48,32,0}}, +/* 667 */ {(11<<2)|2,{48,32,0}}, +/* 668 */ {(11<<2)|2,{48,32,0}}, +/* 669 */ {(11<<2)|2,{48,32,0}}, +/* 670 */ {(11<<2)|2,{48,32,0}}, +/* 671 */ {(11<<2)|2,{48,32,0}}, +/* 672 */ {(16<<2)|3,{48,37,48}}, +/* 673 */ {(16<<2)|3,{48,37,49}}, +/* 674 */ {(16<<2)|3,{48,37,50}}, +/* 675 */ {(16<<2)|3,{48,37,97}}, +/* 676 */ {(16<<2)|3,{48,37,99}}, +/* 677 */ {(16<<2)|3,{48,37,101}}, +/* 678 */ {(16<<2)|3,{48,37,105}}, +/* 679 */ {(16<<2)|3,{48,37,111}}, +/* 680 */ {(16<<2)|3,{48,37,115}}, +/* 681 */ {(16<<2)|3,{48,37,116}}, +/* 682 */ {(11<<2)|2,{48,37,0}}, +/* 683 */ {(11<<2)|2,{48,37,0}}, +/* 684 */ {(11<<2)|2,{48,37,0}}, +/* 685 */ {(11<<2)|2,{48,37,0}}, +/* 686 */ {(11<<2)|2,{48,37,0}}, +/* 687 */ {(11<<2)|2,{48,37,0}}, +/* 688 */ {(11<<2)|2,{48,37,0}}, +/* 689 */ {(11<<2)|2,{48,37,0}}, +/* 690 */ {(11<<2)|2,{48,37,0}}, +/* 691 */ {(11<<2)|2,{48,37,0}}, +/* 692 */ {(11<<2)|2,{48,37,0}}, +/* 693 */ {(11<<2)|2,{48,37,0}}, +/* 694 */ {(11<<2)|2,{48,37,0}}, +/* 695 */ {(11<<2)|2,{48,37,0}}, +/* 696 */ {(11<<2)|2,{48,37,0}}, +/* 697 */ {(11<<2)|2,{48,37,0}}, +/* 698 */ {(11<<2)|2,{48,37,0}}, +/* 699 */ {(11<<2)|2,{48,37,0}}, +/* 700 */ {(11<<2)|2,{48,37,0}}, +/* 701 */ {(11<<2)|2,{48,37,0}}, +/* 702 */ {(11<<2)|2,{48,37,0}}, +/* 703 */ {(11<<2)|2,{48,37,0}}, +/* 704 */ {(16<<2)|3,{48,45,48}}, +/* 705 */ {(16<<2)|3,{48,45,49}}, +/* 706 */ {(16<<2)|3,{48,45,50}}, +/* 707 */ {(16<<2)|3,{48,45,97}}, +/* 708 */ {(16<<2)|3,{48,45,99}}, +/* 709 */ {(16<<2)|3,{48,45,101}}, +/* 710 */ {(16<<2)|3,{48,45,105}}, +/* 711 */ {(16<<2)|3,{48,45,111}}, +/* 712 */ {(16<<2)|3,{48,45,115}}, +/* 713 */ {(16<<2)|3,{48,45,116}}, +/* 714 */ {(11<<2)|2,{48,45,0}}, +/* 715 */ {(11<<2)|2,{48,45,0}}, +/* 716 */ {(11<<2)|2,{48,45,0}}, +/* 717 */ {(11<<2)|2,{48,45,0}}, +/* 718 */ {(11<<2)|2,{48,45,0}}, +/* 719 */ {(11<<2)|2,{48,45,0}}, +/* 720 */ {(11<<2)|2,{48,45,0}}, +/* 721 */ {(11<<2)|2,{48,45,0}}, +/* 722 */ {(11<<2)|2,{48,45,0}}, +/* 723 */ {(11<<2)|2,{48,45,0}}, +/* 724 */ {(11<<2)|2,{48,45,0}}, +/* 725 */ {(11<<2)|2,{48,45,0}}, +/* 726 */ {(11<<2)|2,{48,45,0}}, +/* 727 */ {(11<<2)|2,{48,45,0}}, +/* 728 */ {(11<<2)|2,{48,45,0}}, +/* 729 */ {(11<<2)|2,{48,45,0}}, +/* 730 */ {(11<<2)|2,{48,45,0}}, +/* 731 */ {(11<<2)|2,{48,45,0}}, +/* 732 */ {(11<<2)|2,{48,45,0}}, +/* 733 */ {(11<<2)|2,{48,45,0}}, +/* 734 */ {(11<<2)|2,{48,45,0}}, +/* 735 */ {(11<<2)|2,{48,45,0}}, +/* 736 */ {(16<<2)|3,{48,46,48}}, +/* 737 */ {(16<<2)|3,{48,46,49}}, +/* 738 */ {(16<<2)|3,{48,46,50}}, +/* 739 */ {(16<<2)|3,{48,46,97}}, +/* 740 */ {(16<<2)|3,{48,46,99}}, +/* 741 */ {(16<<2)|3,{48,46,101}}, +/* 742 */ {(16<<2)|3,{48,46,105}}, +/* 743 */ {(16<<2)|3,{48,46,111}}, +/* 744 */ {(16<<2)|3,{48,46,115}}, +/* 745 */ {(16<<2)|3,{48,46,116}}, +/* 746 */ {(11<<2)|2,{48,46,0}}, +/* 747 */ {(11<<2)|2,{48,46,0}}, +/* 748 */ {(11<<2)|2,{48,46,0}}, +/* 749 */ {(11<<2)|2,{48,46,0}}, +/* 750 */ {(11<<2)|2,{48,46,0}}, +/* 751 */ {(11<<2)|2,{48,46,0}}, +/* 752 */ {(11<<2)|2,{48,46,0}}, +/* 753 */ {(11<<2)|2,{48,46,0}}, +/* 754 */ {(11<<2)|2,{48,46,0}}, +/* 755 */ {(11<<2)|2,{48,46,0}}, +/* 756 */ {(11<<2)|2,{48,46,0}}, +/* 757 */ {(11<<2)|2,{48,46,0}}, +/* 758 */ {(11<<2)|2,{48,46,0}}, +/* 759 */ {(11<<2)|2,{48,46,0}}, +/* 760 */ {(11<<2)|2,{48,46,0}}, +/* 761 */ {(11<<2)|2,{48,46,0}}, +/* 762 */ {(11<<2)|2,{48,46,0}}, +/* 763 */ {(11<<2)|2,{48,46,0}}, +/* 764 */ {(11<<2)|2,{48,46,0}}, +/* 765 */ {(11<<2)|2,{48,46,0}}, +/* 766 */ {(11<<2)|2,{48,46,0}}, +/* 767 */ {(11<<2)|2,{48,46,0}}, +/* 768 */ {(16<<2)|3,{48,47,48}}, +/* 769 */ {(16<<2)|3,{48,47,49}}, +/* 770 */ {(16<<2)|3,{48,47,50}}, +/* 771 */ {(16<<2)|3,{48,47,97}}, +/* 772 */ {(16<<2)|3,{48,47,99}}, +/* 773 */ {(16<<2)|3,{48,47,101}}, +/* 774 */ {(16<<2)|3,{48,47,105}}, +/* 775 */ {(16<<2)|3,{48,47,111}}, +/* 776 */ {(16<<2)|3,{48,47,115}}, +/* 777 */ {(16<<2)|3,{48,47,116}}, +/* 778 */ {(11<<2)|2,{48,47,0}}, +/* 779 */ {(11<<2)|2,{48,47,0}}, +/* 780 */ {(11<<2)|2,{48,47,0}}, +/* 781 */ {(11<<2)|2,{48,47,0}}, +/* 782 */ {(11<<2)|2,{48,47,0}}, +/* 783 */ {(11<<2)|2,{48,47,0}}, +/* 784 */ {(11<<2)|2,{48,47,0}}, +/* 785 */ {(11<<2)|2,{48,47,0}}, +/* 786 */ {(11<<2)|2,{48,47,0}}, +/* 787 */ {(11<<2)|2,{48,47,0}}, +/* 788 */ {(11<<2)|2,{48,47,0}}, +/* 789 */ {(11<<2)|2,{48,47,0}}, +/* 790 */ {(11<<2)|2,{48,47,0}}, +/* 791 */ {(11<<2)|2,{48,47,0}}, +/* 792 */ {(11<<2)|2,{48,47,0}}, +/* 793 */ {(11<<2)|2,{48,47,0}}, +/* 794 */ {(11<<2)|2,{48,47,0}}, +/* 795 */ {(11<<2)|2,{48,47,0}}, +/* 796 */ {(11<<2)|2,{48,47,0}}, +/* 797 */ {(11<<2)|2,{48,47,0}}, +/* 798 */ {(11<<2)|2,{48,47,0}}, +/* 799 */ {(11<<2)|2,{48,47,0}}, +/* 800 */ {(16<<2)|3,{48,51,48}}, +/* 801 */ {(16<<2)|3,{48,51,49}}, +/* 802 */ {(16<<2)|3,{48,51,50}}, +/* 803 */ {(16<<2)|3,{48,51,97}}, +/* 804 */ {(16<<2)|3,{48,51,99}}, +/* 805 */ {(16<<2)|3,{48,51,101}}, +/* 806 */ {(16<<2)|3,{48,51,105}}, +/* 807 */ {(16<<2)|3,{48,51,111}}, +/* 808 */ {(16<<2)|3,{48,51,115}}, +/* 809 */ {(16<<2)|3,{48,51,116}}, +/* 810 */ {(11<<2)|2,{48,51,0}}, +/* 811 */ {(11<<2)|2,{48,51,0}}, +/* 812 */ {(11<<2)|2,{48,51,0}}, +/* 813 */ {(11<<2)|2,{48,51,0}}, +/* 814 */ {(11<<2)|2,{48,51,0}}, +/* 815 */ {(11<<2)|2,{48,51,0}}, +/* 816 */ {(11<<2)|2,{48,51,0}}, +/* 817 */ {(11<<2)|2,{48,51,0}}, +/* 818 */ {(11<<2)|2,{48,51,0}}, +/* 819 */ {(11<<2)|2,{48,51,0}}, +/* 820 */ {(11<<2)|2,{48,51,0}}, +/* 821 */ {(11<<2)|2,{48,51,0}}, +/* 822 */ {(11<<2)|2,{48,51,0}}, +/* 823 */ {(11<<2)|2,{48,51,0}}, +/* 824 */ {(11<<2)|2,{48,51,0}}, +/* 825 */ {(11<<2)|2,{48,51,0}}, +/* 826 */ {(11<<2)|2,{48,51,0}}, +/* 827 */ {(11<<2)|2,{48,51,0}}, +/* 828 */ {(11<<2)|2,{48,51,0}}, +/* 829 */ {(11<<2)|2,{48,51,0}}, +/* 830 */ {(11<<2)|2,{48,51,0}}, +/* 831 */ {(11<<2)|2,{48,51,0}}, +/* 832 */ {(16<<2)|3,{48,52,48}}, +/* 833 */ {(16<<2)|3,{48,52,49}}, +/* 834 */ {(16<<2)|3,{48,52,50}}, +/* 835 */ {(16<<2)|3,{48,52,97}}, +/* 836 */ {(16<<2)|3,{48,52,99}}, +/* 837 */ {(16<<2)|3,{48,52,101}}, +/* 838 */ {(16<<2)|3,{48,52,105}}, +/* 839 */ {(16<<2)|3,{48,52,111}}, +/* 840 */ {(16<<2)|3,{48,52,115}}, +/* 841 */ {(16<<2)|3,{48,52,116}}, +/* 842 */ {(11<<2)|2,{48,52,0}}, +/* 843 */ {(11<<2)|2,{48,52,0}}, +/* 844 */ {(11<<2)|2,{48,52,0}}, +/* 845 */ {(11<<2)|2,{48,52,0}}, +/* 846 */ {(11<<2)|2,{48,52,0}}, +/* 847 */ {(11<<2)|2,{48,52,0}}, +/* 848 */ {(11<<2)|2,{48,52,0}}, +/* 849 */ {(11<<2)|2,{48,52,0}}, +/* 850 */ {(11<<2)|2,{48,52,0}}, +/* 851 */ {(11<<2)|2,{48,52,0}}, +/* 852 */ {(11<<2)|2,{48,52,0}}, +/* 853 */ {(11<<2)|2,{48,52,0}}, +/* 854 */ {(11<<2)|2,{48,52,0}}, +/* 855 */ {(11<<2)|2,{48,52,0}}, +/* 856 */ {(11<<2)|2,{48,52,0}}, +/* 857 */ {(11<<2)|2,{48,52,0}}, +/* 858 */ {(11<<2)|2,{48,52,0}}, +/* 859 */ {(11<<2)|2,{48,52,0}}, +/* 860 */ {(11<<2)|2,{48,52,0}}, +/* 861 */ {(11<<2)|2,{48,52,0}}, +/* 862 */ {(11<<2)|2,{48,52,0}}, +/* 863 */ {(11<<2)|2,{48,52,0}}, +/* 864 */ {(16<<2)|3,{48,53,48}}, +/* 865 */ {(16<<2)|3,{48,53,49}}, +/* 866 */ {(16<<2)|3,{48,53,50}}, +/* 867 */ {(16<<2)|3,{48,53,97}}, +/* 868 */ {(16<<2)|3,{48,53,99}}, +/* 869 */ {(16<<2)|3,{48,53,101}}, +/* 870 */ {(16<<2)|3,{48,53,105}}, +/* 871 */ {(16<<2)|3,{48,53,111}}, +/* 872 */ {(16<<2)|3,{48,53,115}}, +/* 873 */ {(16<<2)|3,{48,53,116}}, +/* 874 */ {(11<<2)|2,{48,53,0}}, +/* 875 */ {(11<<2)|2,{48,53,0}}, +/* 876 */ {(11<<2)|2,{48,53,0}}, +/* 877 */ {(11<<2)|2,{48,53,0}}, +/* 878 */ {(11<<2)|2,{48,53,0}}, +/* 879 */ {(11<<2)|2,{48,53,0}}, +/* 880 */ {(11<<2)|2,{48,53,0}}, +/* 881 */ {(11<<2)|2,{48,53,0}}, +/* 882 */ {(11<<2)|2,{48,53,0}}, +/* 883 */ {(11<<2)|2,{48,53,0}}, +/* 884 */ {(11<<2)|2,{48,53,0}}, +/* 885 */ {(11<<2)|2,{48,53,0}}, +/* 886 */ {(11<<2)|2,{48,53,0}}, +/* 887 */ {(11<<2)|2,{48,53,0}}, +/* 888 */ {(11<<2)|2,{48,53,0}}, +/* 889 */ {(11<<2)|2,{48,53,0}}, +/* 890 */ {(11<<2)|2,{48,53,0}}, +/* 891 */ {(11<<2)|2,{48,53,0}}, +/* 892 */ {(11<<2)|2,{48,53,0}}, +/* 893 */ {(11<<2)|2,{48,53,0}}, +/* 894 */ {(11<<2)|2,{48,53,0}}, +/* 895 */ {(11<<2)|2,{48,53,0}}, +/* 896 */ {(16<<2)|3,{48,54,48}}, +/* 897 */ {(16<<2)|3,{48,54,49}}, +/* 898 */ {(16<<2)|3,{48,54,50}}, +/* 899 */ {(16<<2)|3,{48,54,97}}, +/* 900 */ {(16<<2)|3,{48,54,99}}, +/* 901 */ {(16<<2)|3,{48,54,101}}, +/* 902 */ {(16<<2)|3,{48,54,105}}, +/* 903 */ {(16<<2)|3,{48,54,111}}, +/* 904 */ {(16<<2)|3,{48,54,115}}, +/* 905 */ {(16<<2)|3,{48,54,116}}, +/* 906 */ {(11<<2)|2,{48,54,0}}, +/* 907 */ {(11<<2)|2,{48,54,0}}, +/* 908 */ {(11<<2)|2,{48,54,0}}, +/* 909 */ {(11<<2)|2,{48,54,0}}, +/* 910 */ {(11<<2)|2,{48,54,0}}, +/* 911 */ {(11<<2)|2,{48,54,0}}, +/* 912 */ {(11<<2)|2,{48,54,0}}, +/* 913 */ {(11<<2)|2,{48,54,0}}, +/* 914 */ {(11<<2)|2,{48,54,0}}, +/* 915 */ {(11<<2)|2,{48,54,0}}, +/* 916 */ {(11<<2)|2,{48,54,0}}, +/* 917 */ {(11<<2)|2,{48,54,0}}, +/* 918 */ {(11<<2)|2,{48,54,0}}, +/* 919 */ {(11<<2)|2,{48,54,0}}, +/* 920 */ {(11<<2)|2,{48,54,0}}, +/* 921 */ {(11<<2)|2,{48,54,0}}, +/* 922 */ {(11<<2)|2,{48,54,0}}, +/* 923 */ {(11<<2)|2,{48,54,0}}, +/* 924 */ {(11<<2)|2,{48,54,0}}, +/* 925 */ {(11<<2)|2,{48,54,0}}, +/* 926 */ {(11<<2)|2,{48,54,0}}, +/* 927 */ {(11<<2)|2,{48,54,0}}, +/* 928 */ {(16<<2)|3,{48,55,48}}, +/* 929 */ {(16<<2)|3,{48,55,49}}, +/* 930 */ {(16<<2)|3,{48,55,50}}, +/* 931 */ {(16<<2)|3,{48,55,97}}, +/* 932 */ {(16<<2)|3,{48,55,99}}, +/* 933 */ {(16<<2)|3,{48,55,101}}, +/* 934 */ {(16<<2)|3,{48,55,105}}, +/* 935 */ {(16<<2)|3,{48,55,111}}, +/* 936 */ {(16<<2)|3,{48,55,115}}, +/* 937 */ {(16<<2)|3,{48,55,116}}, +/* 938 */ {(11<<2)|2,{48,55,0}}, +/* 939 */ {(11<<2)|2,{48,55,0}}, +/* 940 */ {(11<<2)|2,{48,55,0}}, +/* 941 */ {(11<<2)|2,{48,55,0}}, +/* 942 */ {(11<<2)|2,{48,55,0}}, +/* 943 */ {(11<<2)|2,{48,55,0}}, +/* 944 */ {(11<<2)|2,{48,55,0}}, +/* 945 */ {(11<<2)|2,{48,55,0}}, +/* 946 */ {(11<<2)|2,{48,55,0}}, +/* 947 */ {(11<<2)|2,{48,55,0}}, +/* 948 */ {(11<<2)|2,{48,55,0}}, +/* 949 */ {(11<<2)|2,{48,55,0}}, +/* 950 */ {(11<<2)|2,{48,55,0}}, +/* 951 */ {(11<<2)|2,{48,55,0}}, +/* 952 */ {(11<<2)|2,{48,55,0}}, +/* 953 */ {(11<<2)|2,{48,55,0}}, +/* 954 */ {(11<<2)|2,{48,55,0}}, +/* 955 */ {(11<<2)|2,{48,55,0}}, +/* 956 */ {(11<<2)|2,{48,55,0}}, +/* 957 */ {(11<<2)|2,{48,55,0}}, +/* 958 */ {(11<<2)|2,{48,55,0}}, +/* 959 */ {(11<<2)|2,{48,55,0}}, +/* 960 */ {(16<<2)|3,{48,56,48}}, +/* 961 */ {(16<<2)|3,{48,56,49}}, +/* 962 */ {(16<<2)|3,{48,56,50}}, +/* 963 */ {(16<<2)|3,{48,56,97}}, +/* 964 */ {(16<<2)|3,{48,56,99}}, +/* 965 */ {(16<<2)|3,{48,56,101}}, +/* 966 */ {(16<<2)|3,{48,56,105}}, +/* 967 */ {(16<<2)|3,{48,56,111}}, +/* 968 */ {(16<<2)|3,{48,56,115}}, +/* 969 */ {(16<<2)|3,{48,56,116}}, +/* 970 */ {(11<<2)|2,{48,56,0}}, +/* 971 */ {(11<<2)|2,{48,56,0}}, +/* 972 */ {(11<<2)|2,{48,56,0}}, +/* 973 */ {(11<<2)|2,{48,56,0}}, +/* 974 */ {(11<<2)|2,{48,56,0}}, +/* 975 */ {(11<<2)|2,{48,56,0}}, +/* 976 */ {(11<<2)|2,{48,56,0}}, +/* 977 */ {(11<<2)|2,{48,56,0}}, +/* 978 */ {(11<<2)|2,{48,56,0}}, +/* 979 */ {(11<<2)|2,{48,56,0}}, +/* 980 */ {(11<<2)|2,{48,56,0}}, +/* 981 */ {(11<<2)|2,{48,56,0}}, +/* 982 */ {(11<<2)|2,{48,56,0}}, +/* 983 */ {(11<<2)|2,{48,56,0}}, +/* 984 */ {(11<<2)|2,{48,56,0}}, +/* 985 */ {(11<<2)|2,{48,56,0}}, +/* 986 */ {(11<<2)|2,{48,56,0}}, +/* 987 */ {(11<<2)|2,{48,56,0}}, +/* 988 */ {(11<<2)|2,{48,56,0}}, +/* 989 */ {(11<<2)|2,{48,56,0}}, +/* 990 */ {(11<<2)|2,{48,56,0}}, +/* 991 */ {(11<<2)|2,{48,56,0}}, +/* 992 */ {(16<<2)|3,{48,57,48}}, +/* 993 */ {(16<<2)|3,{48,57,49}}, +/* 994 */ {(16<<2)|3,{48,57,50}}, +/* 995 */ {(16<<2)|3,{48,57,97}}, +/* 996 */ {(16<<2)|3,{48,57,99}}, +/* 997 */ {(16<<2)|3,{48,57,101}}, +/* 998 */ {(16<<2)|3,{48,57,105}}, +/* 999 */ {(16<<2)|3,{48,57,111}}, +/* 1000 */ {(16<<2)|3,{48,57,115}}, +/* 1001 */ {(16<<2)|3,{48,57,116}}, +/* 1002 */ {(11<<2)|2,{48,57,0}}, +/* 1003 */ {(11<<2)|2,{48,57,0}}, +/* 1004 */ {(11<<2)|2,{48,57,0}}, +/* 1005 */ {(11<<2)|2,{48,57,0}}, +/* 1006 */ {(11<<2)|2,{48,57,0}}, +/* 1007 */ {(11<<2)|2,{48,57,0}}, +/* 1008 */ {(11<<2)|2,{48,57,0}}, +/* 1009 */ {(11<<2)|2,{48,57,0}}, +/* 1010 */ {(11<<2)|2,{48,57,0}}, +/* 1011 */ {(11<<2)|2,{48,57,0}}, +/* 1012 */ {(11<<2)|2,{48,57,0}}, +/* 1013 */ {(11<<2)|2,{48,57,0}}, +/* 1014 */ {(11<<2)|2,{48,57,0}}, +/* 1015 */ {(11<<2)|2,{48,57,0}}, +/* 1016 */ {(11<<2)|2,{48,57,0}}, +/* 1017 */ {(11<<2)|2,{48,57,0}}, +/* 1018 */ {(11<<2)|2,{48,57,0}}, +/* 1019 */ {(11<<2)|2,{48,57,0}}, +/* 1020 */ {(11<<2)|2,{48,57,0}}, +/* 1021 */ {(11<<2)|2,{48,57,0}}, +/* 1022 */ {(11<<2)|2,{48,57,0}}, +/* 1023 */ {(11<<2)|2,{48,57,0}}, +/* 1024 */ {(16<<2)|3,{48,61,48}}, +/* 1025 */ {(16<<2)|3,{48,61,49}}, +/* 1026 */ {(16<<2)|3,{48,61,50}}, +/* 1027 */ {(16<<2)|3,{48,61,97}}, +/* 1028 */ {(16<<2)|3,{48,61,99}}, +/* 1029 */ {(16<<2)|3,{48,61,101}}, +/* 1030 */ {(16<<2)|3,{48,61,105}}, +/* 1031 */ {(16<<2)|3,{48,61,111}}, +/* 1032 */ {(16<<2)|3,{48,61,115}}, +/* 1033 */ {(16<<2)|3,{48,61,116}}, +/* 1034 */ {(11<<2)|2,{48,61,0}}, +/* 1035 */ {(11<<2)|2,{48,61,0}}, +/* 1036 */ {(11<<2)|2,{48,61,0}}, +/* 1037 */ {(11<<2)|2,{48,61,0}}, +/* 1038 */ {(11<<2)|2,{48,61,0}}, +/* 1039 */ {(11<<2)|2,{48,61,0}}, +/* 1040 */ {(11<<2)|2,{48,61,0}}, +/* 1041 */ {(11<<2)|2,{48,61,0}}, +/* 1042 */ {(11<<2)|2,{48,61,0}}, +/* 1043 */ {(11<<2)|2,{48,61,0}}, +/* 1044 */ {(11<<2)|2,{48,61,0}}, +/* 1045 */ {(11<<2)|2,{48,61,0}}, +/* 1046 */ {(11<<2)|2,{48,61,0}}, +/* 1047 */ {(11<<2)|2,{48,61,0}}, +/* 1048 */ {(11<<2)|2,{48,61,0}}, +/* 1049 */ {(11<<2)|2,{48,61,0}}, +/* 1050 */ {(11<<2)|2,{48,61,0}}, +/* 1051 */ {(11<<2)|2,{48,61,0}}, +/* 1052 */ {(11<<2)|2,{48,61,0}}, +/* 1053 */ {(11<<2)|2,{48,61,0}}, +/* 1054 */ {(11<<2)|2,{48,61,0}}, +/* 1055 */ {(11<<2)|2,{48,61,0}}, +/* 1056 */ {(16<<2)|3,{48,65,48}}, +/* 1057 */ {(16<<2)|3,{48,65,49}}, +/* 1058 */ {(16<<2)|3,{48,65,50}}, +/* 1059 */ {(16<<2)|3,{48,65,97}}, +/* 1060 */ {(16<<2)|3,{48,65,99}}, +/* 1061 */ {(16<<2)|3,{48,65,101}}, +/* 1062 */ {(16<<2)|3,{48,65,105}}, +/* 1063 */ {(16<<2)|3,{48,65,111}}, +/* 1064 */ {(16<<2)|3,{48,65,115}}, +/* 1065 */ {(16<<2)|3,{48,65,116}}, +/* 1066 */ {(11<<2)|2,{48,65,0}}, +/* 1067 */ {(11<<2)|2,{48,65,0}}, +/* 1068 */ {(11<<2)|2,{48,65,0}}, +/* 1069 */ {(11<<2)|2,{48,65,0}}, +/* 1070 */ {(11<<2)|2,{48,65,0}}, +/* 1071 */ {(11<<2)|2,{48,65,0}}, +/* 1072 */ {(11<<2)|2,{48,65,0}}, +/* 1073 */ {(11<<2)|2,{48,65,0}}, +/* 1074 */ {(11<<2)|2,{48,65,0}}, +/* 1075 */ {(11<<2)|2,{48,65,0}}, +/* 1076 */ {(11<<2)|2,{48,65,0}}, +/* 1077 */ {(11<<2)|2,{48,65,0}}, +/* 1078 */ {(11<<2)|2,{48,65,0}}, +/* 1079 */ {(11<<2)|2,{48,65,0}}, +/* 1080 */ {(11<<2)|2,{48,65,0}}, +/* 1081 */ {(11<<2)|2,{48,65,0}}, +/* 1082 */ {(11<<2)|2,{48,65,0}}, +/* 1083 */ {(11<<2)|2,{48,65,0}}, +/* 1084 */ {(11<<2)|2,{48,65,0}}, +/* 1085 */ {(11<<2)|2,{48,65,0}}, +/* 1086 */ {(11<<2)|2,{48,65,0}}, +/* 1087 */ {(11<<2)|2,{48,65,0}}, +/* 1088 */ {(16<<2)|3,{48,95,48}}, +/* 1089 */ {(16<<2)|3,{48,95,49}}, +/* 1090 */ {(16<<2)|3,{48,95,50}}, +/* 1091 */ {(16<<2)|3,{48,95,97}}, +/* 1092 */ {(16<<2)|3,{48,95,99}}, +/* 1093 */ {(16<<2)|3,{48,95,101}}, +/* 1094 */ {(16<<2)|3,{48,95,105}}, +/* 1095 */ {(16<<2)|3,{48,95,111}}, +/* 1096 */ {(16<<2)|3,{48,95,115}}, +/* 1097 */ {(16<<2)|3,{48,95,116}}, +/* 1098 */ {(11<<2)|2,{48,95,0}}, +/* 1099 */ {(11<<2)|2,{48,95,0}}, +/* 1100 */ {(11<<2)|2,{48,95,0}}, +/* 1101 */ {(11<<2)|2,{48,95,0}}, +/* 1102 */ {(11<<2)|2,{48,95,0}}, +/* 1103 */ {(11<<2)|2,{48,95,0}}, +/* 1104 */ {(11<<2)|2,{48,95,0}}, +/* 1105 */ {(11<<2)|2,{48,95,0}}, +/* 1106 */ {(11<<2)|2,{48,95,0}}, +/* 1107 */ {(11<<2)|2,{48,95,0}}, +/* 1108 */ {(11<<2)|2,{48,95,0}}, +/* 1109 */ {(11<<2)|2,{48,95,0}}, +/* 1110 */ {(11<<2)|2,{48,95,0}}, +/* 1111 */ {(11<<2)|2,{48,95,0}}, +/* 1112 */ {(11<<2)|2,{48,95,0}}, +/* 1113 */ {(11<<2)|2,{48,95,0}}, +/* 1114 */ {(11<<2)|2,{48,95,0}}, +/* 1115 */ {(11<<2)|2,{48,95,0}}, +/* 1116 */ {(11<<2)|2,{48,95,0}}, +/* 1117 */ {(11<<2)|2,{48,95,0}}, +/* 1118 */ {(11<<2)|2,{48,95,0}}, +/* 1119 */ {(11<<2)|2,{48,95,0}}, +/* 1120 */ {(16<<2)|3,{48,98,48}}, +/* 1121 */ {(16<<2)|3,{48,98,49}}, +/* 1122 */ {(16<<2)|3,{48,98,50}}, +/* 1123 */ {(16<<2)|3,{48,98,97}}, +/* 1124 */ {(16<<2)|3,{48,98,99}}, +/* 1125 */ {(16<<2)|3,{48,98,101}}, +/* 1126 */ {(16<<2)|3,{48,98,105}}, +/* 1127 */ {(16<<2)|3,{48,98,111}}, +/* 1128 */ {(16<<2)|3,{48,98,115}}, +/* 1129 */ {(16<<2)|3,{48,98,116}}, +/* 1130 */ {(11<<2)|2,{48,98,0}}, +/* 1131 */ {(11<<2)|2,{48,98,0}}, +/* 1132 */ {(11<<2)|2,{48,98,0}}, +/* 1133 */ {(11<<2)|2,{48,98,0}}, +/* 1134 */ {(11<<2)|2,{48,98,0}}, +/* 1135 */ {(11<<2)|2,{48,98,0}}, +/* 1136 */ {(11<<2)|2,{48,98,0}}, +/* 1137 */ {(11<<2)|2,{48,98,0}}, +/* 1138 */ {(11<<2)|2,{48,98,0}}, +/* 1139 */ {(11<<2)|2,{48,98,0}}, +/* 1140 */ {(11<<2)|2,{48,98,0}}, +/* 1141 */ {(11<<2)|2,{48,98,0}}, +/* 1142 */ {(11<<2)|2,{48,98,0}}, +/* 1143 */ {(11<<2)|2,{48,98,0}}, +/* 1144 */ {(11<<2)|2,{48,98,0}}, +/* 1145 */ {(11<<2)|2,{48,98,0}}, +/* 1146 */ {(11<<2)|2,{48,98,0}}, +/* 1147 */ {(11<<2)|2,{48,98,0}}, +/* 1148 */ {(11<<2)|2,{48,98,0}}, +/* 1149 */ {(11<<2)|2,{48,98,0}}, +/* 1150 */ {(11<<2)|2,{48,98,0}}, +/* 1151 */ {(11<<2)|2,{48,98,0}}, +/* 1152 */ {(16<<2)|3,{48,100,48}}, +/* 1153 */ {(16<<2)|3,{48,100,49}}, +/* 1154 */ {(16<<2)|3,{48,100,50}}, +/* 1155 */ {(16<<2)|3,{48,100,97}}, +/* 1156 */ {(16<<2)|3,{48,100,99}}, +/* 1157 */ {(16<<2)|3,{48,100,101}}, +/* 1158 */ {(16<<2)|3,{48,100,105}}, +/* 1159 */ {(16<<2)|3,{48,100,111}}, +/* 1160 */ {(16<<2)|3,{48,100,115}}, +/* 1161 */ {(16<<2)|3,{48,100,116}}, +/* 1162 */ {(11<<2)|2,{48,100,0}}, +/* 1163 */ {(11<<2)|2,{48,100,0}}, +/* 1164 */ {(11<<2)|2,{48,100,0}}, +/* 1165 */ {(11<<2)|2,{48,100,0}}, +/* 1166 */ {(11<<2)|2,{48,100,0}}, +/* 1167 */ {(11<<2)|2,{48,100,0}}, +/* 1168 */ {(11<<2)|2,{48,100,0}}, +/* 1169 */ {(11<<2)|2,{48,100,0}}, +/* 1170 */ {(11<<2)|2,{48,100,0}}, +/* 1171 */ {(11<<2)|2,{48,100,0}}, +/* 1172 */ {(11<<2)|2,{48,100,0}}, +/* 1173 */ {(11<<2)|2,{48,100,0}}, +/* 1174 */ {(11<<2)|2,{48,100,0}}, +/* 1175 */ {(11<<2)|2,{48,100,0}}, +/* 1176 */ {(11<<2)|2,{48,100,0}}, +/* 1177 */ {(11<<2)|2,{48,100,0}}, +/* 1178 */ {(11<<2)|2,{48,100,0}}, +/* 1179 */ {(11<<2)|2,{48,100,0}}, +/* 1180 */ {(11<<2)|2,{48,100,0}}, +/* 1181 */ {(11<<2)|2,{48,100,0}}, +/* 1182 */ {(11<<2)|2,{48,100,0}}, +/* 1183 */ {(11<<2)|2,{48,100,0}}, +/* 1184 */ {(16<<2)|3,{48,102,48}}, +/* 1185 */ {(16<<2)|3,{48,102,49}}, +/* 1186 */ {(16<<2)|3,{48,102,50}}, +/* 1187 */ {(16<<2)|3,{48,102,97}}, +/* 1188 */ {(16<<2)|3,{48,102,99}}, +/* 1189 */ {(16<<2)|3,{48,102,101}}, +/* 1190 */ {(16<<2)|3,{48,102,105}}, +/* 1191 */ {(16<<2)|3,{48,102,111}}, +/* 1192 */ {(16<<2)|3,{48,102,115}}, +/* 1193 */ {(16<<2)|3,{48,102,116}}, +/* 1194 */ {(11<<2)|2,{48,102,0}}, +/* 1195 */ {(11<<2)|2,{48,102,0}}, +/* 1196 */ {(11<<2)|2,{48,102,0}}, +/* 1197 */ {(11<<2)|2,{48,102,0}}, +/* 1198 */ {(11<<2)|2,{48,102,0}}, +/* 1199 */ {(11<<2)|2,{48,102,0}}, +/* 1200 */ {(11<<2)|2,{48,102,0}}, +/* 1201 */ {(11<<2)|2,{48,102,0}}, +/* 1202 */ {(11<<2)|2,{48,102,0}}, +/* 1203 */ {(11<<2)|2,{48,102,0}}, +/* 1204 */ {(11<<2)|2,{48,102,0}}, +/* 1205 */ {(11<<2)|2,{48,102,0}}, +/* 1206 */ {(11<<2)|2,{48,102,0}}, +/* 1207 */ {(11<<2)|2,{48,102,0}}, +/* 1208 */ {(11<<2)|2,{48,102,0}}, +/* 1209 */ {(11<<2)|2,{48,102,0}}, +/* 1210 */ {(11<<2)|2,{48,102,0}}, +/* 1211 */ {(11<<2)|2,{48,102,0}}, +/* 1212 */ {(11<<2)|2,{48,102,0}}, +/* 1213 */ {(11<<2)|2,{48,102,0}}, +/* 1214 */ {(11<<2)|2,{48,102,0}}, +/* 1215 */ {(11<<2)|2,{48,102,0}}, +/* 1216 */ {(16<<2)|3,{48,103,48}}, +/* 1217 */ {(16<<2)|3,{48,103,49}}, +/* 1218 */ {(16<<2)|3,{48,103,50}}, +/* 1219 */ {(16<<2)|3,{48,103,97}}, +/* 1220 */ {(16<<2)|3,{48,103,99}}, +/* 1221 */ {(16<<2)|3,{48,103,101}}, +/* 1222 */ {(16<<2)|3,{48,103,105}}, +/* 1223 */ {(16<<2)|3,{48,103,111}}, +/* 1224 */ {(16<<2)|3,{48,103,115}}, +/* 1225 */ {(16<<2)|3,{48,103,116}}, +/* 1226 */ {(11<<2)|2,{48,103,0}}, +/* 1227 */ {(11<<2)|2,{48,103,0}}, +/* 1228 */ {(11<<2)|2,{48,103,0}}, +/* 1229 */ {(11<<2)|2,{48,103,0}}, +/* 1230 */ {(11<<2)|2,{48,103,0}}, +/* 1231 */ {(11<<2)|2,{48,103,0}}, +/* 1232 */ {(11<<2)|2,{48,103,0}}, +/* 1233 */ {(11<<2)|2,{48,103,0}}, +/* 1234 */ {(11<<2)|2,{48,103,0}}, +/* 1235 */ {(11<<2)|2,{48,103,0}}, +/* 1236 */ {(11<<2)|2,{48,103,0}}, +/* 1237 */ {(11<<2)|2,{48,103,0}}, +/* 1238 */ {(11<<2)|2,{48,103,0}}, +/* 1239 */ {(11<<2)|2,{48,103,0}}, +/* 1240 */ {(11<<2)|2,{48,103,0}}, +/* 1241 */ {(11<<2)|2,{48,103,0}}, +/* 1242 */ {(11<<2)|2,{48,103,0}}, +/* 1243 */ {(11<<2)|2,{48,103,0}}, +/* 1244 */ {(11<<2)|2,{48,103,0}}, +/* 1245 */ {(11<<2)|2,{48,103,0}}, +/* 1246 */ {(11<<2)|2,{48,103,0}}, +/* 1247 */ {(11<<2)|2,{48,103,0}}, +/* 1248 */ {(16<<2)|3,{48,104,48}}, +/* 1249 */ {(16<<2)|3,{48,104,49}}, +/* 1250 */ {(16<<2)|3,{48,104,50}}, +/* 1251 */ {(16<<2)|3,{48,104,97}}, +/* 1252 */ {(16<<2)|3,{48,104,99}}, +/* 1253 */ {(16<<2)|3,{48,104,101}}, +/* 1254 */ {(16<<2)|3,{48,104,105}}, +/* 1255 */ {(16<<2)|3,{48,104,111}}, +/* 1256 */ {(16<<2)|3,{48,104,115}}, +/* 1257 */ {(16<<2)|3,{48,104,116}}, +/* 1258 */ {(11<<2)|2,{48,104,0}}, +/* 1259 */ {(11<<2)|2,{48,104,0}}, +/* 1260 */ {(11<<2)|2,{48,104,0}}, +/* 1261 */ {(11<<2)|2,{48,104,0}}, +/* 1262 */ {(11<<2)|2,{48,104,0}}, +/* 1263 */ {(11<<2)|2,{48,104,0}}, +/* 1264 */ {(11<<2)|2,{48,104,0}}, +/* 1265 */ {(11<<2)|2,{48,104,0}}, +/* 1266 */ {(11<<2)|2,{48,104,0}}, +/* 1267 */ {(11<<2)|2,{48,104,0}}, +/* 1268 */ {(11<<2)|2,{48,104,0}}, +/* 1269 */ {(11<<2)|2,{48,104,0}}, +/* 1270 */ {(11<<2)|2,{48,104,0}}, +/* 1271 */ {(11<<2)|2,{48,104,0}}, +/* 1272 */ {(11<<2)|2,{48,104,0}}, +/* 1273 */ {(11<<2)|2,{48,104,0}}, +/* 1274 */ {(11<<2)|2,{48,104,0}}, +/* 1275 */ {(11<<2)|2,{48,104,0}}, +/* 1276 */ {(11<<2)|2,{48,104,0}}, +/* 1277 */ {(11<<2)|2,{48,104,0}}, +/* 1278 */ {(11<<2)|2,{48,104,0}}, +/* 1279 */ {(11<<2)|2,{48,104,0}}, +/* 1280 */ {(16<<2)|3,{48,108,48}}, +/* 1281 */ {(16<<2)|3,{48,108,49}}, +/* 1282 */ {(16<<2)|3,{48,108,50}}, +/* 1283 */ {(16<<2)|3,{48,108,97}}, +/* 1284 */ {(16<<2)|3,{48,108,99}}, +/* 1285 */ {(16<<2)|3,{48,108,101}}, +/* 1286 */ {(16<<2)|3,{48,108,105}}, +/* 1287 */ {(16<<2)|3,{48,108,111}}, +/* 1288 */ {(16<<2)|3,{48,108,115}}, +/* 1289 */ {(16<<2)|3,{48,108,116}}, +/* 1290 */ {(11<<2)|2,{48,108,0}}, +/* 1291 */ {(11<<2)|2,{48,108,0}}, +/* 1292 */ {(11<<2)|2,{48,108,0}}, +/* 1293 */ {(11<<2)|2,{48,108,0}}, +/* 1294 */ {(11<<2)|2,{48,108,0}}, +/* 1295 */ {(11<<2)|2,{48,108,0}}, +/* 1296 */ {(11<<2)|2,{48,108,0}}, +/* 1297 */ {(11<<2)|2,{48,108,0}}, +/* 1298 */ {(11<<2)|2,{48,108,0}}, +/* 1299 */ {(11<<2)|2,{48,108,0}}, +/* 1300 */ {(11<<2)|2,{48,108,0}}, +/* 1301 */ {(11<<2)|2,{48,108,0}}, +/* 1302 */ {(11<<2)|2,{48,108,0}}, +/* 1303 */ {(11<<2)|2,{48,108,0}}, +/* 1304 */ {(11<<2)|2,{48,108,0}}, +/* 1305 */ {(11<<2)|2,{48,108,0}}, +/* 1306 */ {(11<<2)|2,{48,108,0}}, +/* 1307 */ {(11<<2)|2,{48,108,0}}, +/* 1308 */ {(11<<2)|2,{48,108,0}}, +/* 1309 */ {(11<<2)|2,{48,108,0}}, +/* 1310 */ {(11<<2)|2,{48,108,0}}, +/* 1311 */ {(11<<2)|2,{48,108,0}}, +/* 1312 */ {(16<<2)|3,{48,109,48}}, +/* 1313 */ {(16<<2)|3,{48,109,49}}, +/* 1314 */ {(16<<2)|3,{48,109,50}}, +/* 1315 */ {(16<<2)|3,{48,109,97}}, +/* 1316 */ {(16<<2)|3,{48,109,99}}, +/* 1317 */ {(16<<2)|3,{48,109,101}}, +/* 1318 */ {(16<<2)|3,{48,109,105}}, +/* 1319 */ {(16<<2)|3,{48,109,111}}, +/* 1320 */ {(16<<2)|3,{48,109,115}}, +/* 1321 */ {(16<<2)|3,{48,109,116}}, +/* 1322 */ {(11<<2)|2,{48,109,0}}, +/* 1323 */ {(11<<2)|2,{48,109,0}}, +/* 1324 */ {(11<<2)|2,{48,109,0}}, +/* 1325 */ {(11<<2)|2,{48,109,0}}, +/* 1326 */ {(11<<2)|2,{48,109,0}}, +/* 1327 */ {(11<<2)|2,{48,109,0}}, +/* 1328 */ {(11<<2)|2,{48,109,0}}, +/* 1329 */ {(11<<2)|2,{48,109,0}}, +/* 1330 */ {(11<<2)|2,{48,109,0}}, +/* 1331 */ {(11<<2)|2,{48,109,0}}, +/* 1332 */ {(11<<2)|2,{48,109,0}}, +/* 1333 */ {(11<<2)|2,{48,109,0}}, +/* 1334 */ {(11<<2)|2,{48,109,0}}, +/* 1335 */ {(11<<2)|2,{48,109,0}}, +/* 1336 */ {(11<<2)|2,{48,109,0}}, +/* 1337 */ {(11<<2)|2,{48,109,0}}, +/* 1338 */ {(11<<2)|2,{48,109,0}}, +/* 1339 */ {(11<<2)|2,{48,109,0}}, +/* 1340 */ {(11<<2)|2,{48,109,0}}, +/* 1341 */ {(11<<2)|2,{48,109,0}}, +/* 1342 */ {(11<<2)|2,{48,109,0}}, +/* 1343 */ {(11<<2)|2,{48,109,0}}, +/* 1344 */ {(16<<2)|3,{48,110,48}}, +/* 1345 */ {(16<<2)|3,{48,110,49}}, +/* 1346 */ {(16<<2)|3,{48,110,50}}, +/* 1347 */ {(16<<2)|3,{48,110,97}}, +/* 1348 */ {(16<<2)|3,{48,110,99}}, +/* 1349 */ {(16<<2)|3,{48,110,101}}, +/* 1350 */ {(16<<2)|3,{48,110,105}}, +/* 1351 */ {(16<<2)|3,{48,110,111}}, +/* 1352 */ {(16<<2)|3,{48,110,115}}, +/* 1353 */ {(16<<2)|3,{48,110,116}}, +/* 1354 */ {(11<<2)|2,{48,110,0}}, +/* 1355 */ {(11<<2)|2,{48,110,0}}, +/* 1356 */ {(11<<2)|2,{48,110,0}}, +/* 1357 */ {(11<<2)|2,{48,110,0}}, +/* 1358 */ {(11<<2)|2,{48,110,0}}, +/* 1359 */ {(11<<2)|2,{48,110,0}}, +/* 1360 */ {(11<<2)|2,{48,110,0}}, +/* 1361 */ {(11<<2)|2,{48,110,0}}, +/* 1362 */ {(11<<2)|2,{48,110,0}}, +/* 1363 */ {(11<<2)|2,{48,110,0}}, +/* 1364 */ {(11<<2)|2,{48,110,0}}, +/* 1365 */ {(11<<2)|2,{48,110,0}}, +/* 1366 */ {(11<<2)|2,{48,110,0}}, +/* 1367 */ {(11<<2)|2,{48,110,0}}, +/* 1368 */ {(11<<2)|2,{48,110,0}}, +/* 1369 */ {(11<<2)|2,{48,110,0}}, +/* 1370 */ {(11<<2)|2,{48,110,0}}, +/* 1371 */ {(11<<2)|2,{48,110,0}}, +/* 1372 */ {(11<<2)|2,{48,110,0}}, +/* 1373 */ {(11<<2)|2,{48,110,0}}, +/* 1374 */ {(11<<2)|2,{48,110,0}}, +/* 1375 */ {(11<<2)|2,{48,110,0}}, +/* 1376 */ {(16<<2)|3,{48,112,48}}, +/* 1377 */ {(16<<2)|3,{48,112,49}}, +/* 1378 */ {(16<<2)|3,{48,112,50}}, +/* 1379 */ {(16<<2)|3,{48,112,97}}, +/* 1380 */ {(16<<2)|3,{48,112,99}}, +/* 1381 */ {(16<<2)|3,{48,112,101}}, +/* 1382 */ {(16<<2)|3,{48,112,105}}, +/* 1383 */ {(16<<2)|3,{48,112,111}}, +/* 1384 */ {(16<<2)|3,{48,112,115}}, +/* 1385 */ {(16<<2)|3,{48,112,116}}, +/* 1386 */ {(11<<2)|2,{48,112,0}}, +/* 1387 */ {(11<<2)|2,{48,112,0}}, +/* 1388 */ {(11<<2)|2,{48,112,0}}, +/* 1389 */ {(11<<2)|2,{48,112,0}}, +/* 1390 */ {(11<<2)|2,{48,112,0}}, +/* 1391 */ {(11<<2)|2,{48,112,0}}, +/* 1392 */ {(11<<2)|2,{48,112,0}}, +/* 1393 */ {(11<<2)|2,{48,112,0}}, +/* 1394 */ {(11<<2)|2,{48,112,0}}, +/* 1395 */ {(11<<2)|2,{48,112,0}}, +/* 1396 */ {(11<<2)|2,{48,112,0}}, +/* 1397 */ {(11<<2)|2,{48,112,0}}, +/* 1398 */ {(11<<2)|2,{48,112,0}}, +/* 1399 */ {(11<<2)|2,{48,112,0}}, +/* 1400 */ {(11<<2)|2,{48,112,0}}, +/* 1401 */ {(11<<2)|2,{48,112,0}}, +/* 1402 */ {(11<<2)|2,{48,112,0}}, +/* 1403 */ {(11<<2)|2,{48,112,0}}, +/* 1404 */ {(11<<2)|2,{48,112,0}}, +/* 1405 */ {(11<<2)|2,{48,112,0}}, +/* 1406 */ {(11<<2)|2,{48,112,0}}, +/* 1407 */ {(11<<2)|2,{48,112,0}}, +/* 1408 */ {(16<<2)|3,{48,114,48}}, +/* 1409 */ {(16<<2)|3,{48,114,49}}, +/* 1410 */ {(16<<2)|3,{48,114,50}}, +/* 1411 */ {(16<<2)|3,{48,114,97}}, +/* 1412 */ {(16<<2)|3,{48,114,99}}, +/* 1413 */ {(16<<2)|3,{48,114,101}}, +/* 1414 */ {(16<<2)|3,{48,114,105}}, +/* 1415 */ {(16<<2)|3,{48,114,111}}, +/* 1416 */ {(16<<2)|3,{48,114,115}}, +/* 1417 */ {(16<<2)|3,{48,114,116}}, +/* 1418 */ {(11<<2)|2,{48,114,0}}, +/* 1419 */ {(11<<2)|2,{48,114,0}}, +/* 1420 */ {(11<<2)|2,{48,114,0}}, +/* 1421 */ {(11<<2)|2,{48,114,0}}, +/* 1422 */ {(11<<2)|2,{48,114,0}}, +/* 1423 */ {(11<<2)|2,{48,114,0}}, +/* 1424 */ {(11<<2)|2,{48,114,0}}, +/* 1425 */ {(11<<2)|2,{48,114,0}}, +/* 1426 */ {(11<<2)|2,{48,114,0}}, +/* 1427 */ {(11<<2)|2,{48,114,0}}, +/* 1428 */ {(11<<2)|2,{48,114,0}}, +/* 1429 */ {(11<<2)|2,{48,114,0}}, +/* 1430 */ {(11<<2)|2,{48,114,0}}, +/* 1431 */ {(11<<2)|2,{48,114,0}}, +/* 1432 */ {(11<<2)|2,{48,114,0}}, +/* 1433 */ {(11<<2)|2,{48,114,0}}, +/* 1434 */ {(11<<2)|2,{48,114,0}}, +/* 1435 */ {(11<<2)|2,{48,114,0}}, +/* 1436 */ {(11<<2)|2,{48,114,0}}, +/* 1437 */ {(11<<2)|2,{48,114,0}}, +/* 1438 */ {(11<<2)|2,{48,114,0}}, +/* 1439 */ {(11<<2)|2,{48,114,0}}, +/* 1440 */ {(16<<2)|3,{48,117,48}}, +/* 1441 */ {(16<<2)|3,{48,117,49}}, +/* 1442 */ {(16<<2)|3,{48,117,50}}, +/* 1443 */ {(16<<2)|3,{48,117,97}}, +/* 1444 */ {(16<<2)|3,{48,117,99}}, +/* 1445 */ {(16<<2)|3,{48,117,101}}, +/* 1446 */ {(16<<2)|3,{48,117,105}}, +/* 1447 */ {(16<<2)|3,{48,117,111}}, +/* 1448 */ {(16<<2)|3,{48,117,115}}, +/* 1449 */ {(16<<2)|3,{48,117,116}}, +/* 1450 */ {(11<<2)|2,{48,117,0}}, +/* 1451 */ {(11<<2)|2,{48,117,0}}, +/* 1452 */ {(11<<2)|2,{48,117,0}}, +/* 1453 */ {(11<<2)|2,{48,117,0}}, +/* 1454 */ {(11<<2)|2,{48,117,0}}, +/* 1455 */ {(11<<2)|2,{48,117,0}}, +/* 1456 */ {(11<<2)|2,{48,117,0}}, +/* 1457 */ {(11<<2)|2,{48,117,0}}, +/* 1458 */ {(11<<2)|2,{48,117,0}}, +/* 1459 */ {(11<<2)|2,{48,117,0}}, +/* 1460 */ {(11<<2)|2,{48,117,0}}, +/* 1461 */ {(11<<2)|2,{48,117,0}}, +/* 1462 */ {(11<<2)|2,{48,117,0}}, +/* 1463 */ {(11<<2)|2,{48,117,0}}, +/* 1464 */ {(11<<2)|2,{48,117,0}}, +/* 1465 */ {(11<<2)|2,{48,117,0}}, +/* 1466 */ {(11<<2)|2,{48,117,0}}, +/* 1467 */ {(11<<2)|2,{48,117,0}}, +/* 1468 */ {(11<<2)|2,{48,117,0}}, +/* 1469 */ {(11<<2)|2,{48,117,0}}, +/* 1470 */ {(11<<2)|2,{48,117,0}}, +/* 1471 */ {(11<<2)|2,{48,117,0}}, +/* 1472 */ {(12<<2)|2,{48,58,0}}, +/* 1473 */ {(12<<2)|2,{48,58,0}}, +/* 1474 */ {(12<<2)|2,{48,58,0}}, +/* 1475 */ {(12<<2)|2,{48,58,0}}, +/* 1476 */ {(12<<2)|2,{48,58,0}}, +/* 1477 */ {(12<<2)|2,{48,58,0}}, +/* 1478 */ {(12<<2)|2,{48,58,0}}, +/* 1479 */ {(12<<2)|2,{48,58,0}}, +/* 1480 */ {(12<<2)|2,{48,58,0}}, +/* 1481 */ {(12<<2)|2,{48,58,0}}, +/* 1482 */ {(12<<2)|2,{48,58,0}}, +/* 1483 */ {(12<<2)|2,{48,58,0}}, +/* 1484 */ {(12<<2)|2,{48,58,0}}, +/* 1485 */ {(12<<2)|2,{48,58,0}}, +/* 1486 */ {(12<<2)|2,{48,58,0}}, +/* 1487 */ {(12<<2)|2,{48,58,0}}, +/* 1488 */ {(12<<2)|2,{48,66,0}}, +/* 1489 */ {(12<<2)|2,{48,66,0}}, +/* 1490 */ {(12<<2)|2,{48,66,0}}, +/* 1491 */ {(12<<2)|2,{48,66,0}}, +/* 1492 */ {(12<<2)|2,{48,66,0}}, +/* 1493 */ {(12<<2)|2,{48,66,0}}, +/* 1494 */ {(12<<2)|2,{48,66,0}}, +/* 1495 */ {(12<<2)|2,{48,66,0}}, +/* 1496 */ {(12<<2)|2,{48,66,0}}, +/* 1497 */ {(12<<2)|2,{48,66,0}}, +/* 1498 */ {(12<<2)|2,{48,66,0}}, +/* 1499 */ {(12<<2)|2,{48,66,0}}, +/* 1500 */ {(12<<2)|2,{48,66,0}}, +/* 1501 */ {(12<<2)|2,{48,66,0}}, +/* 1502 */ {(12<<2)|2,{48,66,0}}, +/* 1503 */ {(12<<2)|2,{48,66,0}}, +/* 1504 */ {(12<<2)|2,{48,67,0}}, +/* 1505 */ {(12<<2)|2,{48,67,0}}, +/* 1506 */ {(12<<2)|2,{48,67,0}}, +/* 1507 */ {(12<<2)|2,{48,67,0}}, +/* 1508 */ {(12<<2)|2,{48,67,0}}, +/* 1509 */ {(12<<2)|2,{48,67,0}}, +/* 1510 */ {(12<<2)|2,{48,67,0}}, +/* 1511 */ {(12<<2)|2,{48,67,0}}, +/* 1512 */ {(12<<2)|2,{48,67,0}}, +/* 1513 */ {(12<<2)|2,{48,67,0}}, +/* 1514 */ {(12<<2)|2,{48,67,0}}, +/* 1515 */ {(12<<2)|2,{48,67,0}}, +/* 1516 */ {(12<<2)|2,{48,67,0}}, +/* 1517 */ {(12<<2)|2,{48,67,0}}, +/* 1518 */ {(12<<2)|2,{48,67,0}}, +/* 1519 */ {(12<<2)|2,{48,67,0}}, +/* 1520 */ {(12<<2)|2,{48,68,0}}, +/* 1521 */ {(12<<2)|2,{48,68,0}}, +/* 1522 */ {(12<<2)|2,{48,68,0}}, +/* 1523 */ {(12<<2)|2,{48,68,0}}, +/* 1524 */ {(12<<2)|2,{48,68,0}}, +/* 1525 */ {(12<<2)|2,{48,68,0}}, +/* 1526 */ {(12<<2)|2,{48,68,0}}, +/* 1527 */ {(12<<2)|2,{48,68,0}}, +/* 1528 */ {(12<<2)|2,{48,68,0}}, +/* 1529 */ {(12<<2)|2,{48,68,0}}, +/* 1530 */ {(12<<2)|2,{48,68,0}}, +/* 1531 */ {(12<<2)|2,{48,68,0}}, +/* 1532 */ {(12<<2)|2,{48,68,0}}, +/* 1533 */ {(12<<2)|2,{48,68,0}}, +/* 1534 */ {(12<<2)|2,{48,68,0}}, +/* 1535 */ {(12<<2)|2,{48,68,0}}, +/* 1536 */ {(12<<2)|2,{48,69,0}}, +/* 1537 */ {(12<<2)|2,{48,69,0}}, +/* 1538 */ {(12<<2)|2,{48,69,0}}, +/* 1539 */ {(12<<2)|2,{48,69,0}}, +/* 1540 */ {(12<<2)|2,{48,69,0}}, +/* 1541 */ {(12<<2)|2,{48,69,0}}, +/* 1542 */ {(12<<2)|2,{48,69,0}}, +/* 1543 */ {(12<<2)|2,{48,69,0}}, +/* 1544 */ {(12<<2)|2,{48,69,0}}, +/* 1545 */ {(12<<2)|2,{48,69,0}}, +/* 1546 */ {(12<<2)|2,{48,69,0}}, +/* 1547 */ {(12<<2)|2,{48,69,0}}, +/* 1548 */ {(12<<2)|2,{48,69,0}}, +/* 1549 */ {(12<<2)|2,{48,69,0}}, +/* 1550 */ {(12<<2)|2,{48,69,0}}, +/* 1551 */ {(12<<2)|2,{48,69,0}}, +/* 1552 */ {(12<<2)|2,{48,70,0}}, +/* 1553 */ {(12<<2)|2,{48,70,0}}, +/* 1554 */ {(12<<2)|2,{48,70,0}}, +/* 1555 */ {(12<<2)|2,{48,70,0}}, +/* 1556 */ {(12<<2)|2,{48,70,0}}, +/* 1557 */ {(12<<2)|2,{48,70,0}}, +/* 1558 */ {(12<<2)|2,{48,70,0}}, +/* 1559 */ {(12<<2)|2,{48,70,0}}, +/* 1560 */ {(12<<2)|2,{48,70,0}}, +/* 1561 */ {(12<<2)|2,{48,70,0}}, +/* 1562 */ {(12<<2)|2,{48,70,0}}, +/* 1563 */ {(12<<2)|2,{48,70,0}}, +/* 1564 */ {(12<<2)|2,{48,70,0}}, +/* 1565 */ {(12<<2)|2,{48,70,0}}, +/* 1566 */ {(12<<2)|2,{48,70,0}}, +/* 1567 */ {(12<<2)|2,{48,70,0}}, +/* 1568 */ {(12<<2)|2,{48,71,0}}, +/* 1569 */ {(12<<2)|2,{48,71,0}}, +/* 1570 */ {(12<<2)|2,{48,71,0}}, +/* 1571 */ {(12<<2)|2,{48,71,0}}, +/* 1572 */ {(12<<2)|2,{48,71,0}}, +/* 1573 */ {(12<<2)|2,{48,71,0}}, +/* 1574 */ {(12<<2)|2,{48,71,0}}, +/* 1575 */ {(12<<2)|2,{48,71,0}}, +/* 1576 */ {(12<<2)|2,{48,71,0}}, +/* 1577 */ {(12<<2)|2,{48,71,0}}, +/* 1578 */ {(12<<2)|2,{48,71,0}}, +/* 1579 */ {(12<<2)|2,{48,71,0}}, +/* 1580 */ {(12<<2)|2,{48,71,0}}, +/* 1581 */ {(12<<2)|2,{48,71,0}}, +/* 1582 */ {(12<<2)|2,{48,71,0}}, +/* 1583 */ {(12<<2)|2,{48,71,0}}, +/* 1584 */ {(12<<2)|2,{48,72,0}}, +/* 1585 */ {(12<<2)|2,{48,72,0}}, +/* 1586 */ {(12<<2)|2,{48,72,0}}, +/* 1587 */ {(12<<2)|2,{48,72,0}}, +/* 1588 */ {(12<<2)|2,{48,72,0}}, +/* 1589 */ {(12<<2)|2,{48,72,0}}, +/* 1590 */ {(12<<2)|2,{48,72,0}}, +/* 1591 */ {(12<<2)|2,{48,72,0}}, +/* 1592 */ {(12<<2)|2,{48,72,0}}, +/* 1593 */ {(12<<2)|2,{48,72,0}}, +/* 1594 */ {(12<<2)|2,{48,72,0}}, +/* 1595 */ {(12<<2)|2,{48,72,0}}, +/* 1596 */ {(12<<2)|2,{48,72,0}}, +/* 1597 */ {(12<<2)|2,{48,72,0}}, +/* 1598 */ {(12<<2)|2,{48,72,0}}, +/* 1599 */ {(12<<2)|2,{48,72,0}}, +/* 1600 */ {(12<<2)|2,{48,73,0}}, +/* 1601 */ {(12<<2)|2,{48,73,0}}, +/* 1602 */ {(12<<2)|2,{48,73,0}}, +/* 1603 */ {(12<<2)|2,{48,73,0}}, +/* 1604 */ {(12<<2)|2,{48,73,0}}, +/* 1605 */ {(12<<2)|2,{48,73,0}}, +/* 1606 */ {(12<<2)|2,{48,73,0}}, +/* 1607 */ {(12<<2)|2,{48,73,0}}, +/* 1608 */ {(12<<2)|2,{48,73,0}}, +/* 1609 */ {(12<<2)|2,{48,73,0}}, +/* 1610 */ {(12<<2)|2,{48,73,0}}, +/* 1611 */ {(12<<2)|2,{48,73,0}}, +/* 1612 */ {(12<<2)|2,{48,73,0}}, +/* 1613 */ {(12<<2)|2,{48,73,0}}, +/* 1614 */ {(12<<2)|2,{48,73,0}}, +/* 1615 */ {(12<<2)|2,{48,73,0}}, +/* 1616 */ {(12<<2)|2,{48,74,0}}, +/* 1617 */ {(12<<2)|2,{48,74,0}}, +/* 1618 */ {(12<<2)|2,{48,74,0}}, +/* 1619 */ {(12<<2)|2,{48,74,0}}, +/* 1620 */ {(12<<2)|2,{48,74,0}}, +/* 1621 */ {(12<<2)|2,{48,74,0}}, +/* 1622 */ {(12<<2)|2,{48,74,0}}, +/* 1623 */ {(12<<2)|2,{48,74,0}}, +/* 1624 */ {(12<<2)|2,{48,74,0}}, +/* 1625 */ {(12<<2)|2,{48,74,0}}, +/* 1626 */ {(12<<2)|2,{48,74,0}}, +/* 1627 */ {(12<<2)|2,{48,74,0}}, +/* 1628 */ {(12<<2)|2,{48,74,0}}, +/* 1629 */ {(12<<2)|2,{48,74,0}}, +/* 1630 */ {(12<<2)|2,{48,74,0}}, +/* 1631 */ {(12<<2)|2,{48,74,0}}, +/* 1632 */ {(12<<2)|2,{48,75,0}}, +/* 1633 */ {(12<<2)|2,{48,75,0}}, +/* 1634 */ {(12<<2)|2,{48,75,0}}, +/* 1635 */ {(12<<2)|2,{48,75,0}}, +/* 1636 */ {(12<<2)|2,{48,75,0}}, +/* 1637 */ {(12<<2)|2,{48,75,0}}, +/* 1638 */ {(12<<2)|2,{48,75,0}}, +/* 1639 */ {(12<<2)|2,{48,75,0}}, +/* 1640 */ {(12<<2)|2,{48,75,0}}, +/* 1641 */ {(12<<2)|2,{48,75,0}}, +/* 1642 */ {(12<<2)|2,{48,75,0}}, +/* 1643 */ {(12<<2)|2,{48,75,0}}, +/* 1644 */ {(12<<2)|2,{48,75,0}}, +/* 1645 */ {(12<<2)|2,{48,75,0}}, +/* 1646 */ {(12<<2)|2,{48,75,0}}, +/* 1647 */ {(12<<2)|2,{48,75,0}}, +/* 1648 */ {(12<<2)|2,{48,76,0}}, +/* 1649 */ {(12<<2)|2,{48,76,0}}, +/* 1650 */ {(12<<2)|2,{48,76,0}}, +/* 1651 */ {(12<<2)|2,{48,76,0}}, +/* 1652 */ {(12<<2)|2,{48,76,0}}, +/* 1653 */ {(12<<2)|2,{48,76,0}}, +/* 1654 */ {(12<<2)|2,{48,76,0}}, +/* 1655 */ {(12<<2)|2,{48,76,0}}, +/* 1656 */ {(12<<2)|2,{48,76,0}}, +/* 1657 */ {(12<<2)|2,{48,76,0}}, +/* 1658 */ {(12<<2)|2,{48,76,0}}, +/* 1659 */ {(12<<2)|2,{48,76,0}}, +/* 1660 */ {(12<<2)|2,{48,76,0}}, +/* 1661 */ {(12<<2)|2,{48,76,0}}, +/* 1662 */ {(12<<2)|2,{48,76,0}}, +/* 1663 */ {(12<<2)|2,{48,76,0}}, +/* 1664 */ {(12<<2)|2,{48,77,0}}, +/* 1665 */ {(12<<2)|2,{48,77,0}}, +/* 1666 */ {(12<<2)|2,{48,77,0}}, +/* 1667 */ {(12<<2)|2,{48,77,0}}, +/* 1668 */ {(12<<2)|2,{48,77,0}}, +/* 1669 */ {(12<<2)|2,{48,77,0}}, +/* 1670 */ {(12<<2)|2,{48,77,0}}, +/* 1671 */ {(12<<2)|2,{48,77,0}}, +/* 1672 */ {(12<<2)|2,{48,77,0}}, +/* 1673 */ {(12<<2)|2,{48,77,0}}, +/* 1674 */ {(12<<2)|2,{48,77,0}}, +/* 1675 */ {(12<<2)|2,{48,77,0}}, +/* 1676 */ {(12<<2)|2,{48,77,0}}, +/* 1677 */ {(12<<2)|2,{48,77,0}}, +/* 1678 */ {(12<<2)|2,{48,77,0}}, +/* 1679 */ {(12<<2)|2,{48,77,0}}, +/* 1680 */ {(12<<2)|2,{48,78,0}}, +/* 1681 */ {(12<<2)|2,{48,78,0}}, +/* 1682 */ {(12<<2)|2,{48,78,0}}, +/* 1683 */ {(12<<2)|2,{48,78,0}}, +/* 1684 */ {(12<<2)|2,{48,78,0}}, +/* 1685 */ {(12<<2)|2,{48,78,0}}, +/* 1686 */ {(12<<2)|2,{48,78,0}}, +/* 1687 */ {(12<<2)|2,{48,78,0}}, +/* 1688 */ {(12<<2)|2,{48,78,0}}, +/* 1689 */ {(12<<2)|2,{48,78,0}}, +/* 1690 */ {(12<<2)|2,{48,78,0}}, +/* 1691 */ {(12<<2)|2,{48,78,0}}, +/* 1692 */ {(12<<2)|2,{48,78,0}}, +/* 1693 */ {(12<<2)|2,{48,78,0}}, +/* 1694 */ {(12<<2)|2,{48,78,0}}, +/* 1695 */ {(12<<2)|2,{48,78,0}}, +/* 1696 */ {(12<<2)|2,{48,79,0}}, +/* 1697 */ {(12<<2)|2,{48,79,0}}, +/* 1698 */ {(12<<2)|2,{48,79,0}}, +/* 1699 */ {(12<<2)|2,{48,79,0}}, +/* 1700 */ {(12<<2)|2,{48,79,0}}, +/* 1701 */ {(12<<2)|2,{48,79,0}}, +/* 1702 */ {(12<<2)|2,{48,79,0}}, +/* 1703 */ {(12<<2)|2,{48,79,0}}, +/* 1704 */ {(12<<2)|2,{48,79,0}}, +/* 1705 */ {(12<<2)|2,{48,79,0}}, +/* 1706 */ {(12<<2)|2,{48,79,0}}, +/* 1707 */ {(12<<2)|2,{48,79,0}}, +/* 1708 */ {(12<<2)|2,{48,79,0}}, +/* 1709 */ {(12<<2)|2,{48,79,0}}, +/* 1710 */ {(12<<2)|2,{48,79,0}}, +/* 1711 */ {(12<<2)|2,{48,79,0}}, +/* 1712 */ {(12<<2)|2,{48,80,0}}, +/* 1713 */ {(12<<2)|2,{48,80,0}}, +/* 1714 */ {(12<<2)|2,{48,80,0}}, +/* 1715 */ {(12<<2)|2,{48,80,0}}, +/* 1716 */ {(12<<2)|2,{48,80,0}}, +/* 1717 */ {(12<<2)|2,{48,80,0}}, +/* 1718 */ {(12<<2)|2,{48,80,0}}, +/* 1719 */ {(12<<2)|2,{48,80,0}}, +/* 1720 */ {(12<<2)|2,{48,80,0}}, +/* 1721 */ {(12<<2)|2,{48,80,0}}, +/* 1722 */ {(12<<2)|2,{48,80,0}}, +/* 1723 */ {(12<<2)|2,{48,80,0}}, +/* 1724 */ {(12<<2)|2,{48,80,0}}, +/* 1725 */ {(12<<2)|2,{48,80,0}}, +/* 1726 */ {(12<<2)|2,{48,80,0}}, +/* 1727 */ {(12<<2)|2,{48,80,0}}, +/* 1728 */ {(12<<2)|2,{48,81,0}}, +/* 1729 */ {(12<<2)|2,{48,81,0}}, +/* 1730 */ {(12<<2)|2,{48,81,0}}, +/* 1731 */ {(12<<2)|2,{48,81,0}}, +/* 1732 */ {(12<<2)|2,{48,81,0}}, +/* 1733 */ {(12<<2)|2,{48,81,0}}, +/* 1734 */ {(12<<2)|2,{48,81,0}}, +/* 1735 */ {(12<<2)|2,{48,81,0}}, +/* 1736 */ {(12<<2)|2,{48,81,0}}, +/* 1737 */ {(12<<2)|2,{48,81,0}}, +/* 1738 */ {(12<<2)|2,{48,81,0}}, +/* 1739 */ {(12<<2)|2,{48,81,0}}, +/* 1740 */ {(12<<2)|2,{48,81,0}}, +/* 1741 */ {(12<<2)|2,{48,81,0}}, +/* 1742 */ {(12<<2)|2,{48,81,0}}, +/* 1743 */ {(12<<2)|2,{48,81,0}}, +/* 1744 */ {(12<<2)|2,{48,82,0}}, +/* 1745 */ {(12<<2)|2,{48,82,0}}, +/* 1746 */ {(12<<2)|2,{48,82,0}}, +/* 1747 */ {(12<<2)|2,{48,82,0}}, +/* 1748 */ {(12<<2)|2,{48,82,0}}, +/* 1749 */ {(12<<2)|2,{48,82,0}}, +/* 1750 */ {(12<<2)|2,{48,82,0}}, +/* 1751 */ {(12<<2)|2,{48,82,0}}, +/* 1752 */ {(12<<2)|2,{48,82,0}}, +/* 1753 */ {(12<<2)|2,{48,82,0}}, +/* 1754 */ {(12<<2)|2,{48,82,0}}, +/* 1755 */ {(12<<2)|2,{48,82,0}}, +/* 1756 */ {(12<<2)|2,{48,82,0}}, +/* 1757 */ {(12<<2)|2,{48,82,0}}, +/* 1758 */ {(12<<2)|2,{48,82,0}}, +/* 1759 */ {(12<<2)|2,{48,82,0}}, +/* 1760 */ {(12<<2)|2,{48,83,0}}, +/* 1761 */ {(12<<2)|2,{48,83,0}}, +/* 1762 */ {(12<<2)|2,{48,83,0}}, +/* 1763 */ {(12<<2)|2,{48,83,0}}, +/* 1764 */ {(12<<2)|2,{48,83,0}}, +/* 1765 */ {(12<<2)|2,{48,83,0}}, +/* 1766 */ {(12<<2)|2,{48,83,0}}, +/* 1767 */ {(12<<2)|2,{48,83,0}}, +/* 1768 */ {(12<<2)|2,{48,83,0}}, +/* 1769 */ {(12<<2)|2,{48,83,0}}, +/* 1770 */ {(12<<2)|2,{48,83,0}}, +/* 1771 */ {(12<<2)|2,{48,83,0}}, +/* 1772 */ {(12<<2)|2,{48,83,0}}, +/* 1773 */ {(12<<2)|2,{48,83,0}}, +/* 1774 */ {(12<<2)|2,{48,83,0}}, +/* 1775 */ {(12<<2)|2,{48,83,0}}, +/* 1776 */ {(12<<2)|2,{48,84,0}}, +/* 1777 */ {(12<<2)|2,{48,84,0}}, +/* 1778 */ {(12<<2)|2,{48,84,0}}, +/* 1779 */ {(12<<2)|2,{48,84,0}}, +/* 1780 */ {(12<<2)|2,{48,84,0}}, +/* 1781 */ {(12<<2)|2,{48,84,0}}, +/* 1782 */ {(12<<2)|2,{48,84,0}}, +/* 1783 */ {(12<<2)|2,{48,84,0}}, +/* 1784 */ {(12<<2)|2,{48,84,0}}, +/* 1785 */ {(12<<2)|2,{48,84,0}}, +/* 1786 */ {(12<<2)|2,{48,84,0}}, +/* 1787 */ {(12<<2)|2,{48,84,0}}, +/* 1788 */ {(12<<2)|2,{48,84,0}}, +/* 1789 */ {(12<<2)|2,{48,84,0}}, +/* 1790 */ {(12<<2)|2,{48,84,0}}, +/* 1791 */ {(12<<2)|2,{48,84,0}}, +/* 1792 */ {(12<<2)|2,{48,85,0}}, +/* 1793 */ {(12<<2)|2,{48,85,0}}, +/* 1794 */ {(12<<2)|2,{48,85,0}}, +/* 1795 */ {(12<<2)|2,{48,85,0}}, +/* 1796 */ {(12<<2)|2,{48,85,0}}, +/* 1797 */ {(12<<2)|2,{48,85,0}}, +/* 1798 */ {(12<<2)|2,{48,85,0}}, +/* 1799 */ {(12<<2)|2,{48,85,0}}, +/* 1800 */ {(12<<2)|2,{48,85,0}}, +/* 1801 */ {(12<<2)|2,{48,85,0}}, +/* 1802 */ {(12<<2)|2,{48,85,0}}, +/* 1803 */ {(12<<2)|2,{48,85,0}}, +/* 1804 */ {(12<<2)|2,{48,85,0}}, +/* 1805 */ {(12<<2)|2,{48,85,0}}, +/* 1806 */ {(12<<2)|2,{48,85,0}}, +/* 1807 */ {(12<<2)|2,{48,85,0}}, +/* 1808 */ {(12<<2)|2,{48,86,0}}, +/* 1809 */ {(12<<2)|2,{48,86,0}}, +/* 1810 */ {(12<<2)|2,{48,86,0}}, +/* 1811 */ {(12<<2)|2,{48,86,0}}, +/* 1812 */ {(12<<2)|2,{48,86,0}}, +/* 1813 */ {(12<<2)|2,{48,86,0}}, +/* 1814 */ {(12<<2)|2,{48,86,0}}, +/* 1815 */ {(12<<2)|2,{48,86,0}}, +/* 1816 */ {(12<<2)|2,{48,86,0}}, +/* 1817 */ {(12<<2)|2,{48,86,0}}, +/* 1818 */ {(12<<2)|2,{48,86,0}}, +/* 1819 */ {(12<<2)|2,{48,86,0}}, +/* 1820 */ {(12<<2)|2,{48,86,0}}, +/* 1821 */ {(12<<2)|2,{48,86,0}}, +/* 1822 */ {(12<<2)|2,{48,86,0}}, +/* 1823 */ {(12<<2)|2,{48,86,0}}, +/* 1824 */ {(12<<2)|2,{48,87,0}}, +/* 1825 */ {(12<<2)|2,{48,87,0}}, +/* 1826 */ {(12<<2)|2,{48,87,0}}, +/* 1827 */ {(12<<2)|2,{48,87,0}}, +/* 1828 */ {(12<<2)|2,{48,87,0}}, +/* 1829 */ {(12<<2)|2,{48,87,0}}, +/* 1830 */ {(12<<2)|2,{48,87,0}}, +/* 1831 */ {(12<<2)|2,{48,87,0}}, +/* 1832 */ {(12<<2)|2,{48,87,0}}, +/* 1833 */ {(12<<2)|2,{48,87,0}}, +/* 1834 */ {(12<<2)|2,{48,87,0}}, +/* 1835 */ {(12<<2)|2,{48,87,0}}, +/* 1836 */ {(12<<2)|2,{48,87,0}}, +/* 1837 */ {(12<<2)|2,{48,87,0}}, +/* 1838 */ {(12<<2)|2,{48,87,0}}, +/* 1839 */ {(12<<2)|2,{48,87,0}}, +/* 1840 */ {(12<<2)|2,{48,89,0}}, +/* 1841 */ {(12<<2)|2,{48,89,0}}, +/* 1842 */ {(12<<2)|2,{48,89,0}}, +/* 1843 */ {(12<<2)|2,{48,89,0}}, +/* 1844 */ {(12<<2)|2,{48,89,0}}, +/* 1845 */ {(12<<2)|2,{48,89,0}}, +/* 1846 */ {(12<<2)|2,{48,89,0}}, +/* 1847 */ {(12<<2)|2,{48,89,0}}, +/* 1848 */ {(12<<2)|2,{48,89,0}}, +/* 1849 */ {(12<<2)|2,{48,89,0}}, +/* 1850 */ {(12<<2)|2,{48,89,0}}, +/* 1851 */ {(12<<2)|2,{48,89,0}}, +/* 1852 */ {(12<<2)|2,{48,89,0}}, +/* 1853 */ {(12<<2)|2,{48,89,0}}, +/* 1854 */ {(12<<2)|2,{48,89,0}}, +/* 1855 */ {(12<<2)|2,{48,89,0}}, +/* 1856 */ {(12<<2)|2,{48,106,0}}, +/* 1857 */ {(12<<2)|2,{48,106,0}}, +/* 1858 */ {(12<<2)|2,{48,106,0}}, +/* 1859 */ {(12<<2)|2,{48,106,0}}, +/* 1860 */ {(12<<2)|2,{48,106,0}}, +/* 1861 */ {(12<<2)|2,{48,106,0}}, +/* 1862 */ {(12<<2)|2,{48,106,0}}, +/* 1863 */ {(12<<2)|2,{48,106,0}}, +/* 1864 */ {(12<<2)|2,{48,106,0}}, +/* 1865 */ {(12<<2)|2,{48,106,0}}, +/* 1866 */ {(12<<2)|2,{48,106,0}}, +/* 1867 */ {(12<<2)|2,{48,106,0}}, +/* 1868 */ {(12<<2)|2,{48,106,0}}, +/* 1869 */ {(12<<2)|2,{48,106,0}}, +/* 1870 */ {(12<<2)|2,{48,106,0}}, +/* 1871 */ {(12<<2)|2,{48,106,0}}, +/* 1872 */ {(12<<2)|2,{48,107,0}}, +/* 1873 */ {(12<<2)|2,{48,107,0}}, +/* 1874 */ {(12<<2)|2,{48,107,0}}, +/* 1875 */ {(12<<2)|2,{48,107,0}}, +/* 1876 */ {(12<<2)|2,{48,107,0}}, +/* 1877 */ {(12<<2)|2,{48,107,0}}, +/* 1878 */ {(12<<2)|2,{48,107,0}}, +/* 1879 */ {(12<<2)|2,{48,107,0}}, +/* 1880 */ {(12<<2)|2,{48,107,0}}, +/* 1881 */ {(12<<2)|2,{48,107,0}}, +/* 1882 */ {(12<<2)|2,{48,107,0}}, +/* 1883 */ {(12<<2)|2,{48,107,0}}, +/* 1884 */ {(12<<2)|2,{48,107,0}}, +/* 1885 */ {(12<<2)|2,{48,107,0}}, +/* 1886 */ {(12<<2)|2,{48,107,0}}, +/* 1887 */ {(12<<2)|2,{48,107,0}}, +/* 1888 */ {(12<<2)|2,{48,113,0}}, +/* 1889 */ {(12<<2)|2,{48,113,0}}, +/* 1890 */ {(12<<2)|2,{48,113,0}}, +/* 1891 */ {(12<<2)|2,{48,113,0}}, +/* 1892 */ {(12<<2)|2,{48,113,0}}, +/* 1893 */ {(12<<2)|2,{48,113,0}}, +/* 1894 */ {(12<<2)|2,{48,113,0}}, +/* 1895 */ {(12<<2)|2,{48,113,0}}, +/* 1896 */ {(12<<2)|2,{48,113,0}}, +/* 1897 */ {(12<<2)|2,{48,113,0}}, +/* 1898 */ {(12<<2)|2,{48,113,0}}, +/* 1899 */ {(12<<2)|2,{48,113,0}}, +/* 1900 */ {(12<<2)|2,{48,113,0}}, +/* 1901 */ {(12<<2)|2,{48,113,0}}, +/* 1902 */ {(12<<2)|2,{48,113,0}}, +/* 1903 */ {(12<<2)|2,{48,113,0}}, +/* 1904 */ {(12<<2)|2,{48,118,0}}, +/* 1905 */ {(12<<2)|2,{48,118,0}}, +/* 1906 */ {(12<<2)|2,{48,118,0}}, +/* 1907 */ {(12<<2)|2,{48,118,0}}, +/* 1908 */ {(12<<2)|2,{48,118,0}}, +/* 1909 */ {(12<<2)|2,{48,118,0}}, +/* 1910 */ {(12<<2)|2,{48,118,0}}, +/* 1911 */ {(12<<2)|2,{48,118,0}}, +/* 1912 */ {(12<<2)|2,{48,118,0}}, +/* 1913 */ {(12<<2)|2,{48,118,0}}, +/* 1914 */ {(12<<2)|2,{48,118,0}}, +/* 1915 */ {(12<<2)|2,{48,118,0}}, +/* 1916 */ {(12<<2)|2,{48,118,0}}, +/* 1917 */ {(12<<2)|2,{48,118,0}}, +/* 1918 */ {(12<<2)|2,{48,118,0}}, +/* 1919 */ {(12<<2)|2,{48,118,0}}, +/* 1920 */ {(12<<2)|2,{48,119,0}}, +/* 1921 */ {(12<<2)|2,{48,119,0}}, +/* 1922 */ {(12<<2)|2,{48,119,0}}, +/* 1923 */ {(12<<2)|2,{48,119,0}}, +/* 1924 */ {(12<<2)|2,{48,119,0}}, +/* 1925 */ {(12<<2)|2,{48,119,0}}, +/* 1926 */ {(12<<2)|2,{48,119,0}}, +/* 1927 */ {(12<<2)|2,{48,119,0}}, +/* 1928 */ {(12<<2)|2,{48,119,0}}, +/* 1929 */ {(12<<2)|2,{48,119,0}}, +/* 1930 */ {(12<<2)|2,{48,119,0}}, +/* 1931 */ {(12<<2)|2,{48,119,0}}, +/* 1932 */ {(12<<2)|2,{48,119,0}}, +/* 1933 */ {(12<<2)|2,{48,119,0}}, +/* 1934 */ {(12<<2)|2,{48,119,0}}, +/* 1935 */ {(12<<2)|2,{48,119,0}}, +/* 1936 */ {(12<<2)|2,{48,120,0}}, +/* 1937 */ {(12<<2)|2,{48,120,0}}, +/* 1938 */ {(12<<2)|2,{48,120,0}}, +/* 1939 */ {(12<<2)|2,{48,120,0}}, +/* 1940 */ {(12<<2)|2,{48,120,0}}, +/* 1941 */ {(12<<2)|2,{48,120,0}}, +/* 1942 */ {(12<<2)|2,{48,120,0}}, +/* 1943 */ {(12<<2)|2,{48,120,0}}, +/* 1944 */ {(12<<2)|2,{48,120,0}}, +/* 1945 */ {(12<<2)|2,{48,120,0}}, +/* 1946 */ {(12<<2)|2,{48,120,0}}, +/* 1947 */ {(12<<2)|2,{48,120,0}}, +/* 1948 */ {(12<<2)|2,{48,120,0}}, +/* 1949 */ {(12<<2)|2,{48,120,0}}, +/* 1950 */ {(12<<2)|2,{48,120,0}}, +/* 1951 */ {(12<<2)|2,{48,120,0}}, +/* 1952 */ {(12<<2)|2,{48,121,0}}, +/* 1953 */ {(12<<2)|2,{48,121,0}}, +/* 1954 */ {(12<<2)|2,{48,121,0}}, +/* 1955 */ {(12<<2)|2,{48,121,0}}, +/* 1956 */ {(12<<2)|2,{48,121,0}}, +/* 1957 */ {(12<<2)|2,{48,121,0}}, +/* 1958 */ {(12<<2)|2,{48,121,0}}, +/* 1959 */ {(12<<2)|2,{48,121,0}}, +/* 1960 */ {(12<<2)|2,{48,121,0}}, +/* 1961 */ {(12<<2)|2,{48,121,0}}, +/* 1962 */ {(12<<2)|2,{48,121,0}}, +/* 1963 */ {(12<<2)|2,{48,121,0}}, +/* 1964 */ {(12<<2)|2,{48,121,0}}, +/* 1965 */ {(12<<2)|2,{48,121,0}}, +/* 1966 */ {(12<<2)|2,{48,121,0}}, +/* 1967 */ {(12<<2)|2,{48,121,0}}, +/* 1968 */ {(12<<2)|2,{48,122,0}}, +/* 1969 */ {(12<<2)|2,{48,122,0}}, +/* 1970 */ {(12<<2)|2,{48,122,0}}, +/* 1971 */ {(12<<2)|2,{48,122,0}}, +/* 1972 */ {(12<<2)|2,{48,122,0}}, +/* 1973 */ {(12<<2)|2,{48,122,0}}, +/* 1974 */ {(12<<2)|2,{48,122,0}}, +/* 1975 */ {(12<<2)|2,{48,122,0}}, +/* 1976 */ {(12<<2)|2,{48,122,0}}, +/* 1977 */ {(12<<2)|2,{48,122,0}}, +/* 1978 */ {(12<<2)|2,{48,122,0}}, +/* 1979 */ {(12<<2)|2,{48,122,0}}, +/* 1980 */ {(12<<2)|2,{48,122,0}}, +/* 1981 */ {(12<<2)|2,{48,122,0}}, +/* 1982 */ {(12<<2)|2,{48,122,0}}, +/* 1983 */ {(12<<2)|2,{48,122,0}}, +/* 1984 */ {(13<<2)|2,{48,38,0}}, +/* 1985 */ {(13<<2)|2,{48,38,0}}, +/* 1986 */ {(13<<2)|2,{48,38,0}}, +/* 1987 */ {(13<<2)|2,{48,38,0}}, +/* 1988 */ {(13<<2)|2,{48,38,0}}, +/* 1989 */ {(13<<2)|2,{48,38,0}}, +/* 1990 */ {(13<<2)|2,{48,38,0}}, +/* 1991 */ {(13<<2)|2,{48,38,0}}, +/* 1992 */ {(13<<2)|2,{48,42,0}}, +/* 1993 */ {(13<<2)|2,{48,42,0}}, +/* 1994 */ {(13<<2)|2,{48,42,0}}, +/* 1995 */ {(13<<2)|2,{48,42,0}}, +/* 1996 */ {(13<<2)|2,{48,42,0}}, +/* 1997 */ {(13<<2)|2,{48,42,0}}, +/* 1998 */ {(13<<2)|2,{48,42,0}}, +/* 1999 */ {(13<<2)|2,{48,42,0}}, +/* 2000 */ {(13<<2)|2,{48,44,0}}, +/* 2001 */ {(13<<2)|2,{48,44,0}}, +/* 2002 */ {(13<<2)|2,{48,44,0}}, +/* 2003 */ {(13<<2)|2,{48,44,0}}, +/* 2004 */ {(13<<2)|2,{48,44,0}}, +/* 2005 */ {(13<<2)|2,{48,44,0}}, +/* 2006 */ {(13<<2)|2,{48,44,0}}, +/* 2007 */ {(13<<2)|2,{48,44,0}}, +/* 2008 */ {(13<<2)|2,{48,59,0}}, +/* 2009 */ {(13<<2)|2,{48,59,0}}, +/* 2010 */ {(13<<2)|2,{48,59,0}}, +/* 2011 */ {(13<<2)|2,{48,59,0}}, +/* 2012 */ {(13<<2)|2,{48,59,0}}, +/* 2013 */ {(13<<2)|2,{48,59,0}}, +/* 2014 */ {(13<<2)|2,{48,59,0}}, +/* 2015 */ {(13<<2)|2,{48,59,0}}, +/* 2016 */ {(13<<2)|2,{48,88,0}}, +/* 2017 */ {(13<<2)|2,{48,88,0}}, +/* 2018 */ {(13<<2)|2,{48,88,0}}, +/* 2019 */ {(13<<2)|2,{48,88,0}}, +/* 2020 */ {(13<<2)|2,{48,88,0}}, +/* 2021 */ {(13<<2)|2,{48,88,0}}, +/* 2022 */ {(13<<2)|2,{48,88,0}}, +/* 2023 */ {(13<<2)|2,{48,88,0}}, +/* 2024 */ {(13<<2)|2,{48,90,0}}, +/* 2025 */ {(13<<2)|2,{48,90,0}}, +/* 2026 */ {(13<<2)|2,{48,90,0}}, +/* 2027 */ {(13<<2)|2,{48,90,0}}, +/* 2028 */ {(13<<2)|2,{48,90,0}}, +/* 2029 */ {(13<<2)|2,{48,90,0}}, +/* 2030 */ {(13<<2)|2,{48,90,0}}, +/* 2031 */ {(13<<2)|2,{48,90,0}}, +/* 2032 */ {(15<<2)|2,{48,33,0}}, +/* 2033 */ {(15<<2)|2,{48,33,0}}, +/* 2034 */ {(15<<2)|2,{48,34,0}}, +/* 2035 */ {(15<<2)|2,{48,34,0}}, +/* 2036 */ {(15<<2)|2,{48,40,0}}, +/* 2037 */ {(15<<2)|2,{48,40,0}}, +/* 2038 */ {(15<<2)|2,{48,41,0}}, +/* 2039 */ {(15<<2)|2,{48,41,0}}, +/* 2040 */ {(15<<2)|2,{48,63,0}}, +/* 2041 */ {(15<<2)|2,{48,63,0}}, +/* 2042 */ {(16<<2)|2,{48,39,0}}, +/* 2043 */ {(16<<2)|2,{48,43,0}}, +/* 2044 */ {(16<<2)|2,{48,124,0}}, +/* 2045 */ {(5<<2)|1,{48,0,0}}, +/* 2046 */ {(5<<2)|1,{48,0,0}}, +/* 2047 */ {(5<<2)|1,{48,0,0}}, +/* 2048 */ {(15<<2)|3,{49,48,48}}, +/* 2049 */ {(15<<2)|3,{49,48,48}}, +/* 2050 */ {(15<<2)|3,{49,48,49}}, +/* 2051 */ {(15<<2)|3,{49,48,49}}, +/* 2052 */ {(15<<2)|3,{49,48,50}}, +/* 2053 */ {(15<<2)|3,{49,48,50}}, +/* 2054 */ {(15<<2)|3,{49,48,97}}, +/* 2055 */ {(15<<2)|3,{49,48,97}}, +/* 2056 */ {(15<<2)|3,{49,48,99}}, +/* 2057 */ {(15<<2)|3,{49,48,99}}, +/* 2058 */ {(15<<2)|3,{49,48,101}}, +/* 2059 */ {(15<<2)|3,{49,48,101}}, +/* 2060 */ {(15<<2)|3,{49,48,105}}, +/* 2061 */ {(15<<2)|3,{49,48,105}}, +/* 2062 */ {(15<<2)|3,{49,48,111}}, +/* 2063 */ {(15<<2)|3,{49,48,111}}, +/* 2064 */ {(15<<2)|3,{49,48,115}}, +/* 2065 */ {(15<<2)|3,{49,48,115}}, +/* 2066 */ {(15<<2)|3,{49,48,116}}, +/* 2067 */ {(15<<2)|3,{49,48,116}}, +/* 2068 */ {(16<<2)|3,{49,48,32}}, +/* 2069 */ {(16<<2)|3,{49,48,37}}, +/* 2070 */ {(16<<2)|3,{49,48,45}}, +/* 2071 */ {(16<<2)|3,{49,48,46}}, +/* 2072 */ {(16<<2)|3,{49,48,47}}, +/* 2073 */ {(16<<2)|3,{49,48,51}}, +/* 2074 */ {(16<<2)|3,{49,48,52}}, +/* 2075 */ {(16<<2)|3,{49,48,53}}, +/* 2076 */ {(16<<2)|3,{49,48,54}}, +/* 2077 */ {(16<<2)|3,{49,48,55}}, +/* 2078 */ {(16<<2)|3,{49,48,56}}, +/* 2079 */ {(16<<2)|3,{49,48,57}}, +/* 2080 */ {(16<<2)|3,{49,48,61}}, +/* 2081 */ {(16<<2)|3,{49,48,65}}, +/* 2082 */ {(16<<2)|3,{49,48,95}}, +/* 2083 */ {(16<<2)|3,{49,48,98}}, +/* 2084 */ {(16<<2)|3,{49,48,100}}, +/* 2085 */ {(16<<2)|3,{49,48,102}}, +/* 2086 */ {(16<<2)|3,{49,48,103}}, +/* 2087 */ {(16<<2)|3,{49,48,104}}, +/* 2088 */ {(16<<2)|3,{49,48,108}}, +/* 2089 */ {(16<<2)|3,{49,48,109}}, +/* 2090 */ {(16<<2)|3,{49,48,110}}, +/* 2091 */ {(16<<2)|3,{49,48,112}}, +/* 2092 */ {(16<<2)|3,{49,48,114}}, +/* 2093 */ {(16<<2)|3,{49,48,117}}, +/* 2094 */ {(10<<2)|2,{49,48,0}}, +/* 2095 */ {(10<<2)|2,{49,48,0}}, +/* 2096 */ {(10<<2)|2,{49,48,0}}, +/* 2097 */ {(10<<2)|2,{49,48,0}}, +/* 2098 */ {(10<<2)|2,{49,48,0}}, +/* 2099 */ {(10<<2)|2,{49,48,0}}, +/* 2100 */ {(10<<2)|2,{49,48,0}}, +/* 2101 */ {(10<<2)|2,{49,48,0}}, +/* 2102 */ {(10<<2)|2,{49,48,0}}, +/* 2103 */ {(10<<2)|2,{49,48,0}}, +/* 2104 */ {(10<<2)|2,{49,48,0}}, +/* 2105 */ {(10<<2)|2,{49,48,0}}, +/* 2106 */ {(10<<2)|2,{49,48,0}}, +/* 2107 */ {(10<<2)|2,{49,48,0}}, +/* 2108 */ {(10<<2)|2,{49,48,0}}, +/* 2109 */ {(10<<2)|2,{49,48,0}}, +/* 2110 */ {(10<<2)|2,{49,48,0}}, +/* 2111 */ {(10<<2)|2,{49,48,0}}, +/* 2112 */ {(15<<2)|3,{49,49,48}}, +/* 2113 */ {(15<<2)|3,{49,49,48}}, +/* 2114 */ {(15<<2)|3,{49,49,49}}, +/* 2115 */ {(15<<2)|3,{49,49,49}}, +/* 2116 */ {(15<<2)|3,{49,49,50}}, +/* 2117 */ {(15<<2)|3,{49,49,50}}, +/* 2118 */ {(15<<2)|3,{49,49,97}}, +/* 2119 */ {(15<<2)|3,{49,49,97}}, +/* 2120 */ {(15<<2)|3,{49,49,99}}, +/* 2121 */ {(15<<2)|3,{49,49,99}}, +/* 2122 */ {(15<<2)|3,{49,49,101}}, +/* 2123 */ {(15<<2)|3,{49,49,101}}, +/* 2124 */ {(15<<2)|3,{49,49,105}}, +/* 2125 */ {(15<<2)|3,{49,49,105}}, +/* 2126 */ {(15<<2)|3,{49,49,111}}, +/* 2127 */ {(15<<2)|3,{49,49,111}}, +/* 2128 */ {(15<<2)|3,{49,49,115}}, +/* 2129 */ {(15<<2)|3,{49,49,115}}, +/* 2130 */ {(15<<2)|3,{49,49,116}}, +/* 2131 */ {(15<<2)|3,{49,49,116}}, +/* 2132 */ {(16<<2)|3,{49,49,32}}, +/* 2133 */ {(16<<2)|3,{49,49,37}}, +/* 2134 */ {(16<<2)|3,{49,49,45}}, +/* 2135 */ {(16<<2)|3,{49,49,46}}, +/* 2136 */ {(16<<2)|3,{49,49,47}}, +/* 2137 */ {(16<<2)|3,{49,49,51}}, +/* 2138 */ {(16<<2)|3,{49,49,52}}, +/* 2139 */ {(16<<2)|3,{49,49,53}}, +/* 2140 */ {(16<<2)|3,{49,49,54}}, +/* 2141 */ {(16<<2)|3,{49,49,55}}, +/* 2142 */ {(16<<2)|3,{49,49,56}}, +/* 2143 */ {(16<<2)|3,{49,49,57}}, +/* 2144 */ {(16<<2)|3,{49,49,61}}, +/* 2145 */ {(16<<2)|3,{49,49,65}}, +/* 2146 */ {(16<<2)|3,{49,49,95}}, +/* 2147 */ {(16<<2)|3,{49,49,98}}, +/* 2148 */ {(16<<2)|3,{49,49,100}}, +/* 2149 */ {(16<<2)|3,{49,49,102}}, +/* 2150 */ {(16<<2)|3,{49,49,103}}, +/* 2151 */ {(16<<2)|3,{49,49,104}}, +/* 2152 */ {(16<<2)|3,{49,49,108}}, +/* 2153 */ {(16<<2)|3,{49,49,109}}, +/* 2154 */ {(16<<2)|3,{49,49,110}}, +/* 2155 */ {(16<<2)|3,{49,49,112}}, +/* 2156 */ {(16<<2)|3,{49,49,114}}, +/* 2157 */ {(16<<2)|3,{49,49,117}}, +/* 2158 */ {(10<<2)|2,{49,49,0}}, +/* 2159 */ {(10<<2)|2,{49,49,0}}, +/* 2160 */ {(10<<2)|2,{49,49,0}}, +/* 2161 */ {(10<<2)|2,{49,49,0}}, +/* 2162 */ {(10<<2)|2,{49,49,0}}, +/* 2163 */ {(10<<2)|2,{49,49,0}}, +/* 2164 */ {(10<<2)|2,{49,49,0}}, +/* 2165 */ {(10<<2)|2,{49,49,0}}, +/* 2166 */ {(10<<2)|2,{49,49,0}}, +/* 2167 */ {(10<<2)|2,{49,49,0}}, +/* 2168 */ {(10<<2)|2,{49,49,0}}, +/* 2169 */ {(10<<2)|2,{49,49,0}}, +/* 2170 */ {(10<<2)|2,{49,49,0}}, +/* 2171 */ {(10<<2)|2,{49,49,0}}, +/* 2172 */ {(10<<2)|2,{49,49,0}}, +/* 2173 */ {(10<<2)|2,{49,49,0}}, +/* 2174 */ {(10<<2)|2,{49,49,0}}, +/* 2175 */ {(10<<2)|2,{49,49,0}}, +/* 2176 */ {(15<<2)|3,{49,50,48}}, +/* 2177 */ {(15<<2)|3,{49,50,48}}, +/* 2178 */ {(15<<2)|3,{49,50,49}}, +/* 2179 */ {(15<<2)|3,{49,50,49}}, +/* 2180 */ {(15<<2)|3,{49,50,50}}, +/* 2181 */ {(15<<2)|3,{49,50,50}}, +/* 2182 */ {(15<<2)|3,{49,50,97}}, +/* 2183 */ {(15<<2)|3,{49,50,97}}, +/* 2184 */ {(15<<2)|3,{49,50,99}}, +/* 2185 */ {(15<<2)|3,{49,50,99}}, +/* 2186 */ {(15<<2)|3,{49,50,101}}, +/* 2187 */ {(15<<2)|3,{49,50,101}}, +/* 2188 */ {(15<<2)|3,{49,50,105}}, +/* 2189 */ {(15<<2)|3,{49,50,105}}, +/* 2190 */ {(15<<2)|3,{49,50,111}}, +/* 2191 */ {(15<<2)|3,{49,50,111}}, +/* 2192 */ {(15<<2)|3,{49,50,115}}, +/* 2193 */ {(15<<2)|3,{49,50,115}}, +/* 2194 */ {(15<<2)|3,{49,50,116}}, +/* 2195 */ {(15<<2)|3,{49,50,116}}, +/* 2196 */ {(16<<2)|3,{49,50,32}}, +/* 2197 */ {(16<<2)|3,{49,50,37}}, +/* 2198 */ {(16<<2)|3,{49,50,45}}, +/* 2199 */ {(16<<2)|3,{49,50,46}}, +/* 2200 */ {(16<<2)|3,{49,50,47}}, +/* 2201 */ {(16<<2)|3,{49,50,51}}, +/* 2202 */ {(16<<2)|3,{49,50,52}}, +/* 2203 */ {(16<<2)|3,{49,50,53}}, +/* 2204 */ {(16<<2)|3,{49,50,54}}, +/* 2205 */ {(16<<2)|3,{49,50,55}}, +/* 2206 */ {(16<<2)|3,{49,50,56}}, +/* 2207 */ {(16<<2)|3,{49,50,57}}, +/* 2208 */ {(16<<2)|3,{49,50,61}}, +/* 2209 */ {(16<<2)|3,{49,50,65}}, +/* 2210 */ {(16<<2)|3,{49,50,95}}, +/* 2211 */ {(16<<2)|3,{49,50,98}}, +/* 2212 */ {(16<<2)|3,{49,50,100}}, +/* 2213 */ {(16<<2)|3,{49,50,102}}, +/* 2214 */ {(16<<2)|3,{49,50,103}}, +/* 2215 */ {(16<<2)|3,{49,50,104}}, +/* 2216 */ {(16<<2)|3,{49,50,108}}, +/* 2217 */ {(16<<2)|3,{49,50,109}}, +/* 2218 */ {(16<<2)|3,{49,50,110}}, +/* 2219 */ {(16<<2)|3,{49,50,112}}, +/* 2220 */ {(16<<2)|3,{49,50,114}}, +/* 2221 */ {(16<<2)|3,{49,50,117}}, +/* 2222 */ {(10<<2)|2,{49,50,0}}, +/* 2223 */ {(10<<2)|2,{49,50,0}}, +/* 2224 */ {(10<<2)|2,{49,50,0}}, +/* 2225 */ {(10<<2)|2,{49,50,0}}, +/* 2226 */ {(10<<2)|2,{49,50,0}}, +/* 2227 */ {(10<<2)|2,{49,50,0}}, +/* 2228 */ {(10<<2)|2,{49,50,0}}, +/* 2229 */ {(10<<2)|2,{49,50,0}}, +/* 2230 */ {(10<<2)|2,{49,50,0}}, +/* 2231 */ {(10<<2)|2,{49,50,0}}, +/* 2232 */ {(10<<2)|2,{49,50,0}}, +/* 2233 */ {(10<<2)|2,{49,50,0}}, +/* 2234 */ {(10<<2)|2,{49,50,0}}, +/* 2235 */ {(10<<2)|2,{49,50,0}}, +/* 2236 */ {(10<<2)|2,{49,50,0}}, +/* 2237 */ {(10<<2)|2,{49,50,0}}, +/* 2238 */ {(10<<2)|2,{49,50,0}}, +/* 2239 */ {(10<<2)|2,{49,50,0}}, +/* 2240 */ {(15<<2)|3,{49,97,48}}, +/* 2241 */ {(15<<2)|3,{49,97,48}}, +/* 2242 */ {(15<<2)|3,{49,97,49}}, +/* 2243 */ {(15<<2)|3,{49,97,49}}, +/* 2244 */ {(15<<2)|3,{49,97,50}}, +/* 2245 */ {(15<<2)|3,{49,97,50}}, +/* 2246 */ {(15<<2)|3,{49,97,97}}, +/* 2247 */ {(15<<2)|3,{49,97,97}}, +/* 2248 */ {(15<<2)|3,{49,97,99}}, +/* 2249 */ {(15<<2)|3,{49,97,99}}, +/* 2250 */ {(15<<2)|3,{49,97,101}}, +/* 2251 */ {(15<<2)|3,{49,97,101}}, +/* 2252 */ {(15<<2)|3,{49,97,105}}, +/* 2253 */ {(15<<2)|3,{49,97,105}}, +/* 2254 */ {(15<<2)|3,{49,97,111}}, +/* 2255 */ {(15<<2)|3,{49,97,111}}, +/* 2256 */ {(15<<2)|3,{49,97,115}}, +/* 2257 */ {(15<<2)|3,{49,97,115}}, +/* 2258 */ {(15<<2)|3,{49,97,116}}, +/* 2259 */ {(15<<2)|3,{49,97,116}}, +/* 2260 */ {(16<<2)|3,{49,97,32}}, +/* 2261 */ {(16<<2)|3,{49,97,37}}, +/* 2262 */ {(16<<2)|3,{49,97,45}}, +/* 2263 */ {(16<<2)|3,{49,97,46}}, +/* 2264 */ {(16<<2)|3,{49,97,47}}, +/* 2265 */ {(16<<2)|3,{49,97,51}}, +/* 2266 */ {(16<<2)|3,{49,97,52}}, +/* 2267 */ {(16<<2)|3,{49,97,53}}, +/* 2268 */ {(16<<2)|3,{49,97,54}}, +/* 2269 */ {(16<<2)|3,{49,97,55}}, +/* 2270 */ {(16<<2)|3,{49,97,56}}, +/* 2271 */ {(16<<2)|3,{49,97,57}}, +/* 2272 */ {(16<<2)|3,{49,97,61}}, +/* 2273 */ {(16<<2)|3,{49,97,65}}, +/* 2274 */ {(16<<2)|3,{49,97,95}}, +/* 2275 */ {(16<<2)|3,{49,97,98}}, +/* 2276 */ {(16<<2)|3,{49,97,100}}, +/* 2277 */ {(16<<2)|3,{49,97,102}}, +/* 2278 */ {(16<<2)|3,{49,97,103}}, +/* 2279 */ {(16<<2)|3,{49,97,104}}, +/* 2280 */ {(16<<2)|3,{49,97,108}}, +/* 2281 */ {(16<<2)|3,{49,97,109}}, +/* 2282 */ {(16<<2)|3,{49,97,110}}, +/* 2283 */ {(16<<2)|3,{49,97,112}}, +/* 2284 */ {(16<<2)|3,{49,97,114}}, +/* 2285 */ {(16<<2)|3,{49,97,117}}, +/* 2286 */ {(10<<2)|2,{49,97,0}}, +/* 2287 */ {(10<<2)|2,{49,97,0}}, +/* 2288 */ {(10<<2)|2,{49,97,0}}, +/* 2289 */ {(10<<2)|2,{49,97,0}}, +/* 2290 */ {(10<<2)|2,{49,97,0}}, +/* 2291 */ {(10<<2)|2,{49,97,0}}, +/* 2292 */ {(10<<2)|2,{49,97,0}}, +/* 2293 */ {(10<<2)|2,{49,97,0}}, +/* 2294 */ {(10<<2)|2,{49,97,0}}, +/* 2295 */ {(10<<2)|2,{49,97,0}}, +/* 2296 */ {(10<<2)|2,{49,97,0}}, +/* 2297 */ {(10<<2)|2,{49,97,0}}, +/* 2298 */ {(10<<2)|2,{49,97,0}}, +/* 2299 */ {(10<<2)|2,{49,97,0}}, +/* 2300 */ {(10<<2)|2,{49,97,0}}, +/* 2301 */ {(10<<2)|2,{49,97,0}}, +/* 2302 */ {(10<<2)|2,{49,97,0}}, +/* 2303 */ {(10<<2)|2,{49,97,0}}, +/* 2304 */ {(15<<2)|3,{49,99,48}}, +/* 2305 */ {(15<<2)|3,{49,99,48}}, +/* 2306 */ {(15<<2)|3,{49,99,49}}, +/* 2307 */ {(15<<2)|3,{49,99,49}}, +/* 2308 */ {(15<<2)|3,{49,99,50}}, +/* 2309 */ {(15<<2)|3,{49,99,50}}, +/* 2310 */ {(15<<2)|3,{49,99,97}}, +/* 2311 */ {(15<<2)|3,{49,99,97}}, +/* 2312 */ {(15<<2)|3,{49,99,99}}, +/* 2313 */ {(15<<2)|3,{49,99,99}}, +/* 2314 */ {(15<<2)|3,{49,99,101}}, +/* 2315 */ {(15<<2)|3,{49,99,101}}, +/* 2316 */ {(15<<2)|3,{49,99,105}}, +/* 2317 */ {(15<<2)|3,{49,99,105}}, +/* 2318 */ {(15<<2)|3,{49,99,111}}, +/* 2319 */ {(15<<2)|3,{49,99,111}}, +/* 2320 */ {(15<<2)|3,{49,99,115}}, +/* 2321 */ {(15<<2)|3,{49,99,115}}, +/* 2322 */ {(15<<2)|3,{49,99,116}}, +/* 2323 */ {(15<<2)|3,{49,99,116}}, +/* 2324 */ {(16<<2)|3,{49,99,32}}, +/* 2325 */ {(16<<2)|3,{49,99,37}}, +/* 2326 */ {(16<<2)|3,{49,99,45}}, +/* 2327 */ {(16<<2)|3,{49,99,46}}, +/* 2328 */ {(16<<2)|3,{49,99,47}}, +/* 2329 */ {(16<<2)|3,{49,99,51}}, +/* 2330 */ {(16<<2)|3,{49,99,52}}, +/* 2331 */ {(16<<2)|3,{49,99,53}}, +/* 2332 */ {(16<<2)|3,{49,99,54}}, +/* 2333 */ {(16<<2)|3,{49,99,55}}, +/* 2334 */ {(16<<2)|3,{49,99,56}}, +/* 2335 */ {(16<<2)|3,{49,99,57}}, +/* 2336 */ {(16<<2)|3,{49,99,61}}, +/* 2337 */ {(16<<2)|3,{49,99,65}}, +/* 2338 */ {(16<<2)|3,{49,99,95}}, +/* 2339 */ {(16<<2)|3,{49,99,98}}, +/* 2340 */ {(16<<2)|3,{49,99,100}}, +/* 2341 */ {(16<<2)|3,{49,99,102}}, +/* 2342 */ {(16<<2)|3,{49,99,103}}, +/* 2343 */ {(16<<2)|3,{49,99,104}}, +/* 2344 */ {(16<<2)|3,{49,99,108}}, +/* 2345 */ {(16<<2)|3,{49,99,109}}, +/* 2346 */ {(16<<2)|3,{49,99,110}}, +/* 2347 */ {(16<<2)|3,{49,99,112}}, +/* 2348 */ {(16<<2)|3,{49,99,114}}, +/* 2349 */ {(16<<2)|3,{49,99,117}}, +/* 2350 */ {(10<<2)|2,{49,99,0}}, +/* 2351 */ {(10<<2)|2,{49,99,0}}, +/* 2352 */ {(10<<2)|2,{49,99,0}}, +/* 2353 */ {(10<<2)|2,{49,99,0}}, +/* 2354 */ {(10<<2)|2,{49,99,0}}, +/* 2355 */ {(10<<2)|2,{49,99,0}}, +/* 2356 */ {(10<<2)|2,{49,99,0}}, +/* 2357 */ {(10<<2)|2,{49,99,0}}, +/* 2358 */ {(10<<2)|2,{49,99,0}}, +/* 2359 */ {(10<<2)|2,{49,99,0}}, +/* 2360 */ {(10<<2)|2,{49,99,0}}, +/* 2361 */ {(10<<2)|2,{49,99,0}}, +/* 2362 */ {(10<<2)|2,{49,99,0}}, +/* 2363 */ {(10<<2)|2,{49,99,0}}, +/* 2364 */ {(10<<2)|2,{49,99,0}}, +/* 2365 */ {(10<<2)|2,{49,99,0}}, +/* 2366 */ {(10<<2)|2,{49,99,0}}, +/* 2367 */ {(10<<2)|2,{49,99,0}}, +/* 2368 */ {(15<<2)|3,{49,101,48}}, +/* 2369 */ {(15<<2)|3,{49,101,48}}, +/* 2370 */ {(15<<2)|3,{49,101,49}}, +/* 2371 */ {(15<<2)|3,{49,101,49}}, +/* 2372 */ {(15<<2)|3,{49,101,50}}, +/* 2373 */ {(15<<2)|3,{49,101,50}}, +/* 2374 */ {(15<<2)|3,{49,101,97}}, +/* 2375 */ {(15<<2)|3,{49,101,97}}, +/* 2376 */ {(15<<2)|3,{49,101,99}}, +/* 2377 */ {(15<<2)|3,{49,101,99}}, +/* 2378 */ {(15<<2)|3,{49,101,101}}, +/* 2379 */ {(15<<2)|3,{49,101,101}}, +/* 2380 */ {(15<<2)|3,{49,101,105}}, +/* 2381 */ {(15<<2)|3,{49,101,105}}, +/* 2382 */ {(15<<2)|3,{49,101,111}}, +/* 2383 */ {(15<<2)|3,{49,101,111}}, +/* 2384 */ {(15<<2)|3,{49,101,115}}, +/* 2385 */ {(15<<2)|3,{49,101,115}}, +/* 2386 */ {(15<<2)|3,{49,101,116}}, +/* 2387 */ {(15<<2)|3,{49,101,116}}, +/* 2388 */ {(16<<2)|3,{49,101,32}}, +/* 2389 */ {(16<<2)|3,{49,101,37}}, +/* 2390 */ {(16<<2)|3,{49,101,45}}, +/* 2391 */ {(16<<2)|3,{49,101,46}}, +/* 2392 */ {(16<<2)|3,{49,101,47}}, +/* 2393 */ {(16<<2)|3,{49,101,51}}, +/* 2394 */ {(16<<2)|3,{49,101,52}}, +/* 2395 */ {(16<<2)|3,{49,101,53}}, +/* 2396 */ {(16<<2)|3,{49,101,54}}, +/* 2397 */ {(16<<2)|3,{49,101,55}}, +/* 2398 */ {(16<<2)|3,{49,101,56}}, +/* 2399 */ {(16<<2)|3,{49,101,57}}, +/* 2400 */ {(16<<2)|3,{49,101,61}}, +/* 2401 */ {(16<<2)|3,{49,101,65}}, +/* 2402 */ {(16<<2)|3,{49,101,95}}, +/* 2403 */ {(16<<2)|3,{49,101,98}}, +/* 2404 */ {(16<<2)|3,{49,101,100}}, +/* 2405 */ {(16<<2)|3,{49,101,102}}, +/* 2406 */ {(16<<2)|3,{49,101,103}}, +/* 2407 */ {(16<<2)|3,{49,101,104}}, +/* 2408 */ {(16<<2)|3,{49,101,108}}, +/* 2409 */ {(16<<2)|3,{49,101,109}}, +/* 2410 */ {(16<<2)|3,{49,101,110}}, +/* 2411 */ {(16<<2)|3,{49,101,112}}, +/* 2412 */ {(16<<2)|3,{49,101,114}}, +/* 2413 */ {(16<<2)|3,{49,101,117}}, +/* 2414 */ {(10<<2)|2,{49,101,0}}, +/* 2415 */ {(10<<2)|2,{49,101,0}}, +/* 2416 */ {(10<<2)|2,{49,101,0}}, +/* 2417 */ {(10<<2)|2,{49,101,0}}, +/* 2418 */ {(10<<2)|2,{49,101,0}}, +/* 2419 */ {(10<<2)|2,{49,101,0}}, +/* 2420 */ {(10<<2)|2,{49,101,0}}, +/* 2421 */ {(10<<2)|2,{49,101,0}}, +/* 2422 */ {(10<<2)|2,{49,101,0}}, +/* 2423 */ {(10<<2)|2,{49,101,0}}, +/* 2424 */ {(10<<2)|2,{49,101,0}}, +/* 2425 */ {(10<<2)|2,{49,101,0}}, +/* 2426 */ {(10<<2)|2,{49,101,0}}, +/* 2427 */ {(10<<2)|2,{49,101,0}}, +/* 2428 */ {(10<<2)|2,{49,101,0}}, +/* 2429 */ {(10<<2)|2,{49,101,0}}, +/* 2430 */ {(10<<2)|2,{49,101,0}}, +/* 2431 */ {(10<<2)|2,{49,101,0}}, +/* 2432 */ {(15<<2)|3,{49,105,48}}, +/* 2433 */ {(15<<2)|3,{49,105,48}}, +/* 2434 */ {(15<<2)|3,{49,105,49}}, +/* 2435 */ {(15<<2)|3,{49,105,49}}, +/* 2436 */ {(15<<2)|3,{49,105,50}}, +/* 2437 */ {(15<<2)|3,{49,105,50}}, +/* 2438 */ {(15<<2)|3,{49,105,97}}, +/* 2439 */ {(15<<2)|3,{49,105,97}}, +/* 2440 */ {(15<<2)|3,{49,105,99}}, +/* 2441 */ {(15<<2)|3,{49,105,99}}, +/* 2442 */ {(15<<2)|3,{49,105,101}}, +/* 2443 */ {(15<<2)|3,{49,105,101}}, +/* 2444 */ {(15<<2)|3,{49,105,105}}, +/* 2445 */ {(15<<2)|3,{49,105,105}}, +/* 2446 */ {(15<<2)|3,{49,105,111}}, +/* 2447 */ {(15<<2)|3,{49,105,111}}, +/* 2448 */ {(15<<2)|3,{49,105,115}}, +/* 2449 */ {(15<<2)|3,{49,105,115}}, +/* 2450 */ {(15<<2)|3,{49,105,116}}, +/* 2451 */ {(15<<2)|3,{49,105,116}}, +/* 2452 */ {(16<<2)|3,{49,105,32}}, +/* 2453 */ {(16<<2)|3,{49,105,37}}, +/* 2454 */ {(16<<2)|3,{49,105,45}}, +/* 2455 */ {(16<<2)|3,{49,105,46}}, +/* 2456 */ {(16<<2)|3,{49,105,47}}, +/* 2457 */ {(16<<2)|3,{49,105,51}}, +/* 2458 */ {(16<<2)|3,{49,105,52}}, +/* 2459 */ {(16<<2)|3,{49,105,53}}, +/* 2460 */ {(16<<2)|3,{49,105,54}}, +/* 2461 */ {(16<<2)|3,{49,105,55}}, +/* 2462 */ {(16<<2)|3,{49,105,56}}, +/* 2463 */ {(16<<2)|3,{49,105,57}}, +/* 2464 */ {(16<<2)|3,{49,105,61}}, +/* 2465 */ {(16<<2)|3,{49,105,65}}, +/* 2466 */ {(16<<2)|3,{49,105,95}}, +/* 2467 */ {(16<<2)|3,{49,105,98}}, +/* 2468 */ {(16<<2)|3,{49,105,100}}, +/* 2469 */ {(16<<2)|3,{49,105,102}}, +/* 2470 */ {(16<<2)|3,{49,105,103}}, +/* 2471 */ {(16<<2)|3,{49,105,104}}, +/* 2472 */ {(16<<2)|3,{49,105,108}}, +/* 2473 */ {(16<<2)|3,{49,105,109}}, +/* 2474 */ {(16<<2)|3,{49,105,110}}, +/* 2475 */ {(16<<2)|3,{49,105,112}}, +/* 2476 */ {(16<<2)|3,{49,105,114}}, +/* 2477 */ {(16<<2)|3,{49,105,117}}, +/* 2478 */ {(10<<2)|2,{49,105,0}}, +/* 2479 */ {(10<<2)|2,{49,105,0}}, +/* 2480 */ {(10<<2)|2,{49,105,0}}, +/* 2481 */ {(10<<2)|2,{49,105,0}}, +/* 2482 */ {(10<<2)|2,{49,105,0}}, +/* 2483 */ {(10<<2)|2,{49,105,0}}, +/* 2484 */ {(10<<2)|2,{49,105,0}}, +/* 2485 */ {(10<<2)|2,{49,105,0}}, +/* 2486 */ {(10<<2)|2,{49,105,0}}, +/* 2487 */ {(10<<2)|2,{49,105,0}}, +/* 2488 */ {(10<<2)|2,{49,105,0}}, +/* 2489 */ {(10<<2)|2,{49,105,0}}, +/* 2490 */ {(10<<2)|2,{49,105,0}}, +/* 2491 */ {(10<<2)|2,{49,105,0}}, +/* 2492 */ {(10<<2)|2,{49,105,0}}, +/* 2493 */ {(10<<2)|2,{49,105,0}}, +/* 2494 */ {(10<<2)|2,{49,105,0}}, +/* 2495 */ {(10<<2)|2,{49,105,0}}, +/* 2496 */ {(15<<2)|3,{49,111,48}}, +/* 2497 */ {(15<<2)|3,{49,111,48}}, +/* 2498 */ {(15<<2)|3,{49,111,49}}, +/* 2499 */ {(15<<2)|3,{49,111,49}}, +/* 2500 */ {(15<<2)|3,{49,111,50}}, +/* 2501 */ {(15<<2)|3,{49,111,50}}, +/* 2502 */ {(15<<2)|3,{49,111,97}}, +/* 2503 */ {(15<<2)|3,{49,111,97}}, +/* 2504 */ {(15<<2)|3,{49,111,99}}, +/* 2505 */ {(15<<2)|3,{49,111,99}}, +/* 2506 */ {(15<<2)|3,{49,111,101}}, +/* 2507 */ {(15<<2)|3,{49,111,101}}, +/* 2508 */ {(15<<2)|3,{49,111,105}}, +/* 2509 */ {(15<<2)|3,{49,111,105}}, +/* 2510 */ {(15<<2)|3,{49,111,111}}, +/* 2511 */ {(15<<2)|3,{49,111,111}}, +/* 2512 */ {(15<<2)|3,{49,111,115}}, +/* 2513 */ {(15<<2)|3,{49,111,115}}, +/* 2514 */ {(15<<2)|3,{49,111,116}}, +/* 2515 */ {(15<<2)|3,{49,111,116}}, +/* 2516 */ {(16<<2)|3,{49,111,32}}, +/* 2517 */ {(16<<2)|3,{49,111,37}}, +/* 2518 */ {(16<<2)|3,{49,111,45}}, +/* 2519 */ {(16<<2)|3,{49,111,46}}, +/* 2520 */ {(16<<2)|3,{49,111,47}}, +/* 2521 */ {(16<<2)|3,{49,111,51}}, +/* 2522 */ {(16<<2)|3,{49,111,52}}, +/* 2523 */ {(16<<2)|3,{49,111,53}}, +/* 2524 */ {(16<<2)|3,{49,111,54}}, +/* 2525 */ {(16<<2)|3,{49,111,55}}, +/* 2526 */ {(16<<2)|3,{49,111,56}}, +/* 2527 */ {(16<<2)|3,{49,111,57}}, +/* 2528 */ {(16<<2)|3,{49,111,61}}, +/* 2529 */ {(16<<2)|3,{49,111,65}}, +/* 2530 */ {(16<<2)|3,{49,111,95}}, +/* 2531 */ {(16<<2)|3,{49,111,98}}, +/* 2532 */ {(16<<2)|3,{49,111,100}}, +/* 2533 */ {(16<<2)|3,{49,111,102}}, +/* 2534 */ {(16<<2)|3,{49,111,103}}, +/* 2535 */ {(16<<2)|3,{49,111,104}}, +/* 2536 */ {(16<<2)|3,{49,111,108}}, +/* 2537 */ {(16<<2)|3,{49,111,109}}, +/* 2538 */ {(16<<2)|3,{49,111,110}}, +/* 2539 */ {(16<<2)|3,{49,111,112}}, +/* 2540 */ {(16<<2)|3,{49,111,114}}, +/* 2541 */ {(16<<2)|3,{49,111,117}}, +/* 2542 */ {(10<<2)|2,{49,111,0}}, +/* 2543 */ {(10<<2)|2,{49,111,0}}, +/* 2544 */ {(10<<2)|2,{49,111,0}}, +/* 2545 */ {(10<<2)|2,{49,111,0}}, +/* 2546 */ {(10<<2)|2,{49,111,0}}, +/* 2547 */ {(10<<2)|2,{49,111,0}}, +/* 2548 */ {(10<<2)|2,{49,111,0}}, +/* 2549 */ {(10<<2)|2,{49,111,0}}, +/* 2550 */ {(10<<2)|2,{49,111,0}}, +/* 2551 */ {(10<<2)|2,{49,111,0}}, +/* 2552 */ {(10<<2)|2,{49,111,0}}, +/* 2553 */ {(10<<2)|2,{49,111,0}}, +/* 2554 */ {(10<<2)|2,{49,111,0}}, +/* 2555 */ {(10<<2)|2,{49,111,0}}, +/* 2556 */ {(10<<2)|2,{49,111,0}}, +/* 2557 */ {(10<<2)|2,{49,111,0}}, +/* 2558 */ {(10<<2)|2,{49,111,0}}, +/* 2559 */ {(10<<2)|2,{49,111,0}}, +/* 2560 */ {(15<<2)|3,{49,115,48}}, +/* 2561 */ {(15<<2)|3,{49,115,48}}, +/* 2562 */ {(15<<2)|3,{49,115,49}}, +/* 2563 */ {(15<<2)|3,{49,115,49}}, +/* 2564 */ {(15<<2)|3,{49,115,50}}, +/* 2565 */ {(15<<2)|3,{49,115,50}}, +/* 2566 */ {(15<<2)|3,{49,115,97}}, +/* 2567 */ {(15<<2)|3,{49,115,97}}, +/* 2568 */ {(15<<2)|3,{49,115,99}}, +/* 2569 */ {(15<<2)|3,{49,115,99}}, +/* 2570 */ {(15<<2)|3,{49,115,101}}, +/* 2571 */ {(15<<2)|3,{49,115,101}}, +/* 2572 */ {(15<<2)|3,{49,115,105}}, +/* 2573 */ {(15<<2)|3,{49,115,105}}, +/* 2574 */ {(15<<2)|3,{49,115,111}}, +/* 2575 */ {(15<<2)|3,{49,115,111}}, +/* 2576 */ {(15<<2)|3,{49,115,115}}, +/* 2577 */ {(15<<2)|3,{49,115,115}}, +/* 2578 */ {(15<<2)|3,{49,115,116}}, +/* 2579 */ {(15<<2)|3,{49,115,116}}, +/* 2580 */ {(16<<2)|3,{49,115,32}}, +/* 2581 */ {(16<<2)|3,{49,115,37}}, +/* 2582 */ {(16<<2)|3,{49,115,45}}, +/* 2583 */ {(16<<2)|3,{49,115,46}}, +/* 2584 */ {(16<<2)|3,{49,115,47}}, +/* 2585 */ {(16<<2)|3,{49,115,51}}, +/* 2586 */ {(16<<2)|3,{49,115,52}}, +/* 2587 */ {(16<<2)|3,{49,115,53}}, +/* 2588 */ {(16<<2)|3,{49,115,54}}, +/* 2589 */ {(16<<2)|3,{49,115,55}}, +/* 2590 */ {(16<<2)|3,{49,115,56}}, +/* 2591 */ {(16<<2)|3,{49,115,57}}, +/* 2592 */ {(16<<2)|3,{49,115,61}}, +/* 2593 */ {(16<<2)|3,{49,115,65}}, +/* 2594 */ {(16<<2)|3,{49,115,95}}, +/* 2595 */ {(16<<2)|3,{49,115,98}}, +/* 2596 */ {(16<<2)|3,{49,115,100}}, +/* 2597 */ {(16<<2)|3,{49,115,102}}, +/* 2598 */ {(16<<2)|3,{49,115,103}}, +/* 2599 */ {(16<<2)|3,{49,115,104}}, +/* 2600 */ {(16<<2)|3,{49,115,108}}, +/* 2601 */ {(16<<2)|3,{49,115,109}}, +/* 2602 */ {(16<<2)|3,{49,115,110}}, +/* 2603 */ {(16<<2)|3,{49,115,112}}, +/* 2604 */ {(16<<2)|3,{49,115,114}}, +/* 2605 */ {(16<<2)|3,{49,115,117}}, +/* 2606 */ {(10<<2)|2,{49,115,0}}, +/* 2607 */ {(10<<2)|2,{49,115,0}}, +/* 2608 */ {(10<<2)|2,{49,115,0}}, +/* 2609 */ {(10<<2)|2,{49,115,0}}, +/* 2610 */ {(10<<2)|2,{49,115,0}}, +/* 2611 */ {(10<<2)|2,{49,115,0}}, +/* 2612 */ {(10<<2)|2,{49,115,0}}, +/* 2613 */ {(10<<2)|2,{49,115,0}}, +/* 2614 */ {(10<<2)|2,{49,115,0}}, +/* 2615 */ {(10<<2)|2,{49,115,0}}, +/* 2616 */ {(10<<2)|2,{49,115,0}}, +/* 2617 */ {(10<<2)|2,{49,115,0}}, +/* 2618 */ {(10<<2)|2,{49,115,0}}, +/* 2619 */ {(10<<2)|2,{49,115,0}}, +/* 2620 */ {(10<<2)|2,{49,115,0}}, +/* 2621 */ {(10<<2)|2,{49,115,0}}, +/* 2622 */ {(10<<2)|2,{49,115,0}}, +/* 2623 */ {(10<<2)|2,{49,115,0}}, +/* 2624 */ {(15<<2)|3,{49,116,48}}, +/* 2625 */ {(15<<2)|3,{49,116,48}}, +/* 2626 */ {(15<<2)|3,{49,116,49}}, +/* 2627 */ {(15<<2)|3,{49,116,49}}, +/* 2628 */ {(15<<2)|3,{49,116,50}}, +/* 2629 */ {(15<<2)|3,{49,116,50}}, +/* 2630 */ {(15<<2)|3,{49,116,97}}, +/* 2631 */ {(15<<2)|3,{49,116,97}}, +/* 2632 */ {(15<<2)|3,{49,116,99}}, +/* 2633 */ {(15<<2)|3,{49,116,99}}, +/* 2634 */ {(15<<2)|3,{49,116,101}}, +/* 2635 */ {(15<<2)|3,{49,116,101}}, +/* 2636 */ {(15<<2)|3,{49,116,105}}, +/* 2637 */ {(15<<2)|3,{49,116,105}}, +/* 2638 */ {(15<<2)|3,{49,116,111}}, +/* 2639 */ {(15<<2)|3,{49,116,111}}, +/* 2640 */ {(15<<2)|3,{49,116,115}}, +/* 2641 */ {(15<<2)|3,{49,116,115}}, +/* 2642 */ {(15<<2)|3,{49,116,116}}, +/* 2643 */ {(15<<2)|3,{49,116,116}}, +/* 2644 */ {(16<<2)|3,{49,116,32}}, +/* 2645 */ {(16<<2)|3,{49,116,37}}, +/* 2646 */ {(16<<2)|3,{49,116,45}}, +/* 2647 */ {(16<<2)|3,{49,116,46}}, +/* 2648 */ {(16<<2)|3,{49,116,47}}, +/* 2649 */ {(16<<2)|3,{49,116,51}}, +/* 2650 */ {(16<<2)|3,{49,116,52}}, +/* 2651 */ {(16<<2)|3,{49,116,53}}, +/* 2652 */ {(16<<2)|3,{49,116,54}}, +/* 2653 */ {(16<<2)|3,{49,116,55}}, +/* 2654 */ {(16<<2)|3,{49,116,56}}, +/* 2655 */ {(16<<2)|3,{49,116,57}}, +/* 2656 */ {(16<<2)|3,{49,116,61}}, +/* 2657 */ {(16<<2)|3,{49,116,65}}, +/* 2658 */ {(16<<2)|3,{49,116,95}}, +/* 2659 */ {(16<<2)|3,{49,116,98}}, +/* 2660 */ {(16<<2)|3,{49,116,100}}, +/* 2661 */ {(16<<2)|3,{49,116,102}}, +/* 2662 */ {(16<<2)|3,{49,116,103}}, +/* 2663 */ {(16<<2)|3,{49,116,104}}, +/* 2664 */ {(16<<2)|3,{49,116,108}}, +/* 2665 */ {(16<<2)|3,{49,116,109}}, +/* 2666 */ {(16<<2)|3,{49,116,110}}, +/* 2667 */ {(16<<2)|3,{49,116,112}}, +/* 2668 */ {(16<<2)|3,{49,116,114}}, +/* 2669 */ {(16<<2)|3,{49,116,117}}, +/* 2670 */ {(10<<2)|2,{49,116,0}}, +/* 2671 */ {(10<<2)|2,{49,116,0}}, +/* 2672 */ {(10<<2)|2,{49,116,0}}, +/* 2673 */ {(10<<2)|2,{49,116,0}}, +/* 2674 */ {(10<<2)|2,{49,116,0}}, +/* 2675 */ {(10<<2)|2,{49,116,0}}, +/* 2676 */ {(10<<2)|2,{49,116,0}}, +/* 2677 */ {(10<<2)|2,{49,116,0}}, +/* 2678 */ {(10<<2)|2,{49,116,0}}, +/* 2679 */ {(10<<2)|2,{49,116,0}}, +/* 2680 */ {(10<<2)|2,{49,116,0}}, +/* 2681 */ {(10<<2)|2,{49,116,0}}, +/* 2682 */ {(10<<2)|2,{49,116,0}}, +/* 2683 */ {(10<<2)|2,{49,116,0}}, +/* 2684 */ {(10<<2)|2,{49,116,0}}, +/* 2685 */ {(10<<2)|2,{49,116,0}}, +/* 2686 */ {(10<<2)|2,{49,116,0}}, +/* 2687 */ {(10<<2)|2,{49,116,0}}, +/* 2688 */ {(16<<2)|3,{49,32,48}}, +/* 2689 */ {(16<<2)|3,{49,32,49}}, +/* 2690 */ {(16<<2)|3,{49,32,50}}, +/* 2691 */ {(16<<2)|3,{49,32,97}}, +/* 2692 */ {(16<<2)|3,{49,32,99}}, +/* 2693 */ {(16<<2)|3,{49,32,101}}, +/* 2694 */ {(16<<2)|3,{49,32,105}}, +/* 2695 */ {(16<<2)|3,{49,32,111}}, +/* 2696 */ {(16<<2)|3,{49,32,115}}, +/* 2697 */ {(16<<2)|3,{49,32,116}}, +/* 2698 */ {(11<<2)|2,{49,32,0}}, +/* 2699 */ {(11<<2)|2,{49,32,0}}, +/* 2700 */ {(11<<2)|2,{49,32,0}}, +/* 2701 */ {(11<<2)|2,{49,32,0}}, +/* 2702 */ {(11<<2)|2,{49,32,0}}, +/* 2703 */ {(11<<2)|2,{49,32,0}}, +/* 2704 */ {(11<<2)|2,{49,32,0}}, +/* 2705 */ {(11<<2)|2,{49,32,0}}, +/* 2706 */ {(11<<2)|2,{49,32,0}}, +/* 2707 */ {(11<<2)|2,{49,32,0}}, +/* 2708 */ {(11<<2)|2,{49,32,0}}, +/* 2709 */ {(11<<2)|2,{49,32,0}}, +/* 2710 */ {(11<<2)|2,{49,32,0}}, +/* 2711 */ {(11<<2)|2,{49,32,0}}, +/* 2712 */ {(11<<2)|2,{49,32,0}}, +/* 2713 */ {(11<<2)|2,{49,32,0}}, +/* 2714 */ {(11<<2)|2,{49,32,0}}, +/* 2715 */ {(11<<2)|2,{49,32,0}}, +/* 2716 */ {(11<<2)|2,{49,32,0}}, +/* 2717 */ {(11<<2)|2,{49,32,0}}, +/* 2718 */ {(11<<2)|2,{49,32,0}}, +/* 2719 */ {(11<<2)|2,{49,32,0}}, +/* 2720 */ {(16<<2)|3,{49,37,48}}, +/* 2721 */ {(16<<2)|3,{49,37,49}}, +/* 2722 */ {(16<<2)|3,{49,37,50}}, +/* 2723 */ {(16<<2)|3,{49,37,97}}, +/* 2724 */ {(16<<2)|3,{49,37,99}}, +/* 2725 */ {(16<<2)|3,{49,37,101}}, +/* 2726 */ {(16<<2)|3,{49,37,105}}, +/* 2727 */ {(16<<2)|3,{49,37,111}}, +/* 2728 */ {(16<<2)|3,{49,37,115}}, +/* 2729 */ {(16<<2)|3,{49,37,116}}, +/* 2730 */ {(11<<2)|2,{49,37,0}}, +/* 2731 */ {(11<<2)|2,{49,37,0}}, +/* 2732 */ {(11<<2)|2,{49,37,0}}, +/* 2733 */ {(11<<2)|2,{49,37,0}}, +/* 2734 */ {(11<<2)|2,{49,37,0}}, +/* 2735 */ {(11<<2)|2,{49,37,0}}, +/* 2736 */ {(11<<2)|2,{49,37,0}}, +/* 2737 */ {(11<<2)|2,{49,37,0}}, +/* 2738 */ {(11<<2)|2,{49,37,0}}, +/* 2739 */ {(11<<2)|2,{49,37,0}}, +/* 2740 */ {(11<<2)|2,{49,37,0}}, +/* 2741 */ {(11<<2)|2,{49,37,0}}, +/* 2742 */ {(11<<2)|2,{49,37,0}}, +/* 2743 */ {(11<<2)|2,{49,37,0}}, +/* 2744 */ {(11<<2)|2,{49,37,0}}, +/* 2745 */ {(11<<2)|2,{49,37,0}}, +/* 2746 */ {(11<<2)|2,{49,37,0}}, +/* 2747 */ {(11<<2)|2,{49,37,0}}, +/* 2748 */ {(11<<2)|2,{49,37,0}}, +/* 2749 */ {(11<<2)|2,{49,37,0}}, +/* 2750 */ {(11<<2)|2,{49,37,0}}, +/* 2751 */ {(11<<2)|2,{49,37,0}}, +/* 2752 */ {(16<<2)|3,{49,45,48}}, +/* 2753 */ {(16<<2)|3,{49,45,49}}, +/* 2754 */ {(16<<2)|3,{49,45,50}}, +/* 2755 */ {(16<<2)|3,{49,45,97}}, +/* 2756 */ {(16<<2)|3,{49,45,99}}, +/* 2757 */ {(16<<2)|3,{49,45,101}}, +/* 2758 */ {(16<<2)|3,{49,45,105}}, +/* 2759 */ {(16<<2)|3,{49,45,111}}, +/* 2760 */ {(16<<2)|3,{49,45,115}}, +/* 2761 */ {(16<<2)|3,{49,45,116}}, +/* 2762 */ {(11<<2)|2,{49,45,0}}, +/* 2763 */ {(11<<2)|2,{49,45,0}}, +/* 2764 */ {(11<<2)|2,{49,45,0}}, +/* 2765 */ {(11<<2)|2,{49,45,0}}, +/* 2766 */ {(11<<2)|2,{49,45,0}}, +/* 2767 */ {(11<<2)|2,{49,45,0}}, +/* 2768 */ {(11<<2)|2,{49,45,0}}, +/* 2769 */ {(11<<2)|2,{49,45,0}}, +/* 2770 */ {(11<<2)|2,{49,45,0}}, +/* 2771 */ {(11<<2)|2,{49,45,0}}, +/* 2772 */ {(11<<2)|2,{49,45,0}}, +/* 2773 */ {(11<<2)|2,{49,45,0}}, +/* 2774 */ {(11<<2)|2,{49,45,0}}, +/* 2775 */ {(11<<2)|2,{49,45,0}}, +/* 2776 */ {(11<<2)|2,{49,45,0}}, +/* 2777 */ {(11<<2)|2,{49,45,0}}, +/* 2778 */ {(11<<2)|2,{49,45,0}}, +/* 2779 */ {(11<<2)|2,{49,45,0}}, +/* 2780 */ {(11<<2)|2,{49,45,0}}, +/* 2781 */ {(11<<2)|2,{49,45,0}}, +/* 2782 */ {(11<<2)|2,{49,45,0}}, +/* 2783 */ {(11<<2)|2,{49,45,0}}, +/* 2784 */ {(16<<2)|3,{49,46,48}}, +/* 2785 */ {(16<<2)|3,{49,46,49}}, +/* 2786 */ {(16<<2)|3,{49,46,50}}, +/* 2787 */ {(16<<2)|3,{49,46,97}}, +/* 2788 */ {(16<<2)|3,{49,46,99}}, +/* 2789 */ {(16<<2)|3,{49,46,101}}, +/* 2790 */ {(16<<2)|3,{49,46,105}}, +/* 2791 */ {(16<<2)|3,{49,46,111}}, +/* 2792 */ {(16<<2)|3,{49,46,115}}, +/* 2793 */ {(16<<2)|3,{49,46,116}}, +/* 2794 */ {(11<<2)|2,{49,46,0}}, +/* 2795 */ {(11<<2)|2,{49,46,0}}, +/* 2796 */ {(11<<2)|2,{49,46,0}}, +/* 2797 */ {(11<<2)|2,{49,46,0}}, +/* 2798 */ {(11<<2)|2,{49,46,0}}, +/* 2799 */ {(11<<2)|2,{49,46,0}}, +/* 2800 */ {(11<<2)|2,{49,46,0}}, +/* 2801 */ {(11<<2)|2,{49,46,0}}, +/* 2802 */ {(11<<2)|2,{49,46,0}}, +/* 2803 */ {(11<<2)|2,{49,46,0}}, +/* 2804 */ {(11<<2)|2,{49,46,0}}, +/* 2805 */ {(11<<2)|2,{49,46,0}}, +/* 2806 */ {(11<<2)|2,{49,46,0}}, +/* 2807 */ {(11<<2)|2,{49,46,0}}, +/* 2808 */ {(11<<2)|2,{49,46,0}}, +/* 2809 */ {(11<<2)|2,{49,46,0}}, +/* 2810 */ {(11<<2)|2,{49,46,0}}, +/* 2811 */ {(11<<2)|2,{49,46,0}}, +/* 2812 */ {(11<<2)|2,{49,46,0}}, +/* 2813 */ {(11<<2)|2,{49,46,0}}, +/* 2814 */ {(11<<2)|2,{49,46,0}}, +/* 2815 */ {(11<<2)|2,{49,46,0}}, +/* 2816 */ {(16<<2)|3,{49,47,48}}, +/* 2817 */ {(16<<2)|3,{49,47,49}}, +/* 2818 */ {(16<<2)|3,{49,47,50}}, +/* 2819 */ {(16<<2)|3,{49,47,97}}, +/* 2820 */ {(16<<2)|3,{49,47,99}}, +/* 2821 */ {(16<<2)|3,{49,47,101}}, +/* 2822 */ {(16<<2)|3,{49,47,105}}, +/* 2823 */ {(16<<2)|3,{49,47,111}}, +/* 2824 */ {(16<<2)|3,{49,47,115}}, +/* 2825 */ {(16<<2)|3,{49,47,116}}, +/* 2826 */ {(11<<2)|2,{49,47,0}}, +/* 2827 */ {(11<<2)|2,{49,47,0}}, +/* 2828 */ {(11<<2)|2,{49,47,0}}, +/* 2829 */ {(11<<2)|2,{49,47,0}}, +/* 2830 */ {(11<<2)|2,{49,47,0}}, +/* 2831 */ {(11<<2)|2,{49,47,0}}, +/* 2832 */ {(11<<2)|2,{49,47,0}}, +/* 2833 */ {(11<<2)|2,{49,47,0}}, +/* 2834 */ {(11<<2)|2,{49,47,0}}, +/* 2835 */ {(11<<2)|2,{49,47,0}}, +/* 2836 */ {(11<<2)|2,{49,47,0}}, +/* 2837 */ {(11<<2)|2,{49,47,0}}, +/* 2838 */ {(11<<2)|2,{49,47,0}}, +/* 2839 */ {(11<<2)|2,{49,47,0}}, +/* 2840 */ {(11<<2)|2,{49,47,0}}, +/* 2841 */ {(11<<2)|2,{49,47,0}}, +/* 2842 */ {(11<<2)|2,{49,47,0}}, +/* 2843 */ {(11<<2)|2,{49,47,0}}, +/* 2844 */ {(11<<2)|2,{49,47,0}}, +/* 2845 */ {(11<<2)|2,{49,47,0}}, +/* 2846 */ {(11<<2)|2,{49,47,0}}, +/* 2847 */ {(11<<2)|2,{49,47,0}}, +/* 2848 */ {(16<<2)|3,{49,51,48}}, +/* 2849 */ {(16<<2)|3,{49,51,49}}, +/* 2850 */ {(16<<2)|3,{49,51,50}}, +/* 2851 */ {(16<<2)|3,{49,51,97}}, +/* 2852 */ {(16<<2)|3,{49,51,99}}, +/* 2853 */ {(16<<2)|3,{49,51,101}}, +/* 2854 */ {(16<<2)|3,{49,51,105}}, +/* 2855 */ {(16<<2)|3,{49,51,111}}, +/* 2856 */ {(16<<2)|3,{49,51,115}}, +/* 2857 */ {(16<<2)|3,{49,51,116}}, +/* 2858 */ {(11<<2)|2,{49,51,0}}, +/* 2859 */ {(11<<2)|2,{49,51,0}}, +/* 2860 */ {(11<<2)|2,{49,51,0}}, +/* 2861 */ {(11<<2)|2,{49,51,0}}, +/* 2862 */ {(11<<2)|2,{49,51,0}}, +/* 2863 */ {(11<<2)|2,{49,51,0}}, +/* 2864 */ {(11<<2)|2,{49,51,0}}, +/* 2865 */ {(11<<2)|2,{49,51,0}}, +/* 2866 */ {(11<<2)|2,{49,51,0}}, +/* 2867 */ {(11<<2)|2,{49,51,0}}, +/* 2868 */ {(11<<2)|2,{49,51,0}}, +/* 2869 */ {(11<<2)|2,{49,51,0}}, +/* 2870 */ {(11<<2)|2,{49,51,0}}, +/* 2871 */ {(11<<2)|2,{49,51,0}}, +/* 2872 */ {(11<<2)|2,{49,51,0}}, +/* 2873 */ {(11<<2)|2,{49,51,0}}, +/* 2874 */ {(11<<2)|2,{49,51,0}}, +/* 2875 */ {(11<<2)|2,{49,51,0}}, +/* 2876 */ {(11<<2)|2,{49,51,0}}, +/* 2877 */ {(11<<2)|2,{49,51,0}}, +/* 2878 */ {(11<<2)|2,{49,51,0}}, +/* 2879 */ {(11<<2)|2,{49,51,0}}, +/* 2880 */ {(16<<2)|3,{49,52,48}}, +/* 2881 */ {(16<<2)|3,{49,52,49}}, +/* 2882 */ {(16<<2)|3,{49,52,50}}, +/* 2883 */ {(16<<2)|3,{49,52,97}}, +/* 2884 */ {(16<<2)|3,{49,52,99}}, +/* 2885 */ {(16<<2)|3,{49,52,101}}, +/* 2886 */ {(16<<2)|3,{49,52,105}}, +/* 2887 */ {(16<<2)|3,{49,52,111}}, +/* 2888 */ {(16<<2)|3,{49,52,115}}, +/* 2889 */ {(16<<2)|3,{49,52,116}}, +/* 2890 */ {(11<<2)|2,{49,52,0}}, +/* 2891 */ {(11<<2)|2,{49,52,0}}, +/* 2892 */ {(11<<2)|2,{49,52,0}}, +/* 2893 */ {(11<<2)|2,{49,52,0}}, +/* 2894 */ {(11<<2)|2,{49,52,0}}, +/* 2895 */ {(11<<2)|2,{49,52,0}}, +/* 2896 */ {(11<<2)|2,{49,52,0}}, +/* 2897 */ {(11<<2)|2,{49,52,0}}, +/* 2898 */ {(11<<2)|2,{49,52,0}}, +/* 2899 */ {(11<<2)|2,{49,52,0}}, +/* 2900 */ {(11<<2)|2,{49,52,0}}, +/* 2901 */ {(11<<2)|2,{49,52,0}}, +/* 2902 */ {(11<<2)|2,{49,52,0}}, +/* 2903 */ {(11<<2)|2,{49,52,0}}, +/* 2904 */ {(11<<2)|2,{49,52,0}}, +/* 2905 */ {(11<<2)|2,{49,52,0}}, +/* 2906 */ {(11<<2)|2,{49,52,0}}, +/* 2907 */ {(11<<2)|2,{49,52,0}}, +/* 2908 */ {(11<<2)|2,{49,52,0}}, +/* 2909 */ {(11<<2)|2,{49,52,0}}, +/* 2910 */ {(11<<2)|2,{49,52,0}}, +/* 2911 */ {(11<<2)|2,{49,52,0}}, +/* 2912 */ {(16<<2)|3,{49,53,48}}, +/* 2913 */ {(16<<2)|3,{49,53,49}}, +/* 2914 */ {(16<<2)|3,{49,53,50}}, +/* 2915 */ {(16<<2)|3,{49,53,97}}, +/* 2916 */ {(16<<2)|3,{49,53,99}}, +/* 2917 */ {(16<<2)|3,{49,53,101}}, +/* 2918 */ {(16<<2)|3,{49,53,105}}, +/* 2919 */ {(16<<2)|3,{49,53,111}}, +/* 2920 */ {(16<<2)|3,{49,53,115}}, +/* 2921 */ {(16<<2)|3,{49,53,116}}, +/* 2922 */ {(11<<2)|2,{49,53,0}}, +/* 2923 */ {(11<<2)|2,{49,53,0}}, +/* 2924 */ {(11<<2)|2,{49,53,0}}, +/* 2925 */ {(11<<2)|2,{49,53,0}}, +/* 2926 */ {(11<<2)|2,{49,53,0}}, +/* 2927 */ {(11<<2)|2,{49,53,0}}, +/* 2928 */ {(11<<2)|2,{49,53,0}}, +/* 2929 */ {(11<<2)|2,{49,53,0}}, +/* 2930 */ {(11<<2)|2,{49,53,0}}, +/* 2931 */ {(11<<2)|2,{49,53,0}}, +/* 2932 */ {(11<<2)|2,{49,53,0}}, +/* 2933 */ {(11<<2)|2,{49,53,0}}, +/* 2934 */ {(11<<2)|2,{49,53,0}}, +/* 2935 */ {(11<<2)|2,{49,53,0}}, +/* 2936 */ {(11<<2)|2,{49,53,0}}, +/* 2937 */ {(11<<2)|2,{49,53,0}}, +/* 2938 */ {(11<<2)|2,{49,53,0}}, +/* 2939 */ {(11<<2)|2,{49,53,0}}, +/* 2940 */ {(11<<2)|2,{49,53,0}}, +/* 2941 */ {(11<<2)|2,{49,53,0}}, +/* 2942 */ {(11<<2)|2,{49,53,0}}, +/* 2943 */ {(11<<2)|2,{49,53,0}}, +/* 2944 */ {(16<<2)|3,{49,54,48}}, +/* 2945 */ {(16<<2)|3,{49,54,49}}, +/* 2946 */ {(16<<2)|3,{49,54,50}}, +/* 2947 */ {(16<<2)|3,{49,54,97}}, +/* 2948 */ {(16<<2)|3,{49,54,99}}, +/* 2949 */ {(16<<2)|3,{49,54,101}}, +/* 2950 */ {(16<<2)|3,{49,54,105}}, +/* 2951 */ {(16<<2)|3,{49,54,111}}, +/* 2952 */ {(16<<2)|3,{49,54,115}}, +/* 2953 */ {(16<<2)|3,{49,54,116}}, +/* 2954 */ {(11<<2)|2,{49,54,0}}, +/* 2955 */ {(11<<2)|2,{49,54,0}}, +/* 2956 */ {(11<<2)|2,{49,54,0}}, +/* 2957 */ {(11<<2)|2,{49,54,0}}, +/* 2958 */ {(11<<2)|2,{49,54,0}}, +/* 2959 */ {(11<<2)|2,{49,54,0}}, +/* 2960 */ {(11<<2)|2,{49,54,0}}, +/* 2961 */ {(11<<2)|2,{49,54,0}}, +/* 2962 */ {(11<<2)|2,{49,54,0}}, +/* 2963 */ {(11<<2)|2,{49,54,0}}, +/* 2964 */ {(11<<2)|2,{49,54,0}}, +/* 2965 */ {(11<<2)|2,{49,54,0}}, +/* 2966 */ {(11<<2)|2,{49,54,0}}, +/* 2967 */ {(11<<2)|2,{49,54,0}}, +/* 2968 */ {(11<<2)|2,{49,54,0}}, +/* 2969 */ {(11<<2)|2,{49,54,0}}, +/* 2970 */ {(11<<2)|2,{49,54,0}}, +/* 2971 */ {(11<<2)|2,{49,54,0}}, +/* 2972 */ {(11<<2)|2,{49,54,0}}, +/* 2973 */ {(11<<2)|2,{49,54,0}}, +/* 2974 */ {(11<<2)|2,{49,54,0}}, +/* 2975 */ {(11<<2)|2,{49,54,0}}, +/* 2976 */ {(16<<2)|3,{49,55,48}}, +/* 2977 */ {(16<<2)|3,{49,55,49}}, +/* 2978 */ {(16<<2)|3,{49,55,50}}, +/* 2979 */ {(16<<2)|3,{49,55,97}}, +/* 2980 */ {(16<<2)|3,{49,55,99}}, +/* 2981 */ {(16<<2)|3,{49,55,101}}, +/* 2982 */ {(16<<2)|3,{49,55,105}}, +/* 2983 */ {(16<<2)|3,{49,55,111}}, +/* 2984 */ {(16<<2)|3,{49,55,115}}, +/* 2985 */ {(16<<2)|3,{49,55,116}}, +/* 2986 */ {(11<<2)|2,{49,55,0}}, +/* 2987 */ {(11<<2)|2,{49,55,0}}, +/* 2988 */ {(11<<2)|2,{49,55,0}}, +/* 2989 */ {(11<<2)|2,{49,55,0}}, +/* 2990 */ {(11<<2)|2,{49,55,0}}, +/* 2991 */ {(11<<2)|2,{49,55,0}}, +/* 2992 */ {(11<<2)|2,{49,55,0}}, +/* 2993 */ {(11<<2)|2,{49,55,0}}, +/* 2994 */ {(11<<2)|2,{49,55,0}}, +/* 2995 */ {(11<<2)|2,{49,55,0}}, +/* 2996 */ {(11<<2)|2,{49,55,0}}, +/* 2997 */ {(11<<2)|2,{49,55,0}}, +/* 2998 */ {(11<<2)|2,{49,55,0}}, +/* 2999 */ {(11<<2)|2,{49,55,0}}, +/* 3000 */ {(11<<2)|2,{49,55,0}}, +/* 3001 */ {(11<<2)|2,{49,55,0}}, +/* 3002 */ {(11<<2)|2,{49,55,0}}, +/* 3003 */ {(11<<2)|2,{49,55,0}}, +/* 3004 */ {(11<<2)|2,{49,55,0}}, +/* 3005 */ {(11<<2)|2,{49,55,0}}, +/* 3006 */ {(11<<2)|2,{49,55,0}}, +/* 3007 */ {(11<<2)|2,{49,55,0}}, +/* 3008 */ {(16<<2)|3,{49,56,48}}, +/* 3009 */ {(16<<2)|3,{49,56,49}}, +/* 3010 */ {(16<<2)|3,{49,56,50}}, +/* 3011 */ {(16<<2)|3,{49,56,97}}, +/* 3012 */ {(16<<2)|3,{49,56,99}}, +/* 3013 */ {(16<<2)|3,{49,56,101}}, +/* 3014 */ {(16<<2)|3,{49,56,105}}, +/* 3015 */ {(16<<2)|3,{49,56,111}}, +/* 3016 */ {(16<<2)|3,{49,56,115}}, +/* 3017 */ {(16<<2)|3,{49,56,116}}, +/* 3018 */ {(11<<2)|2,{49,56,0}}, +/* 3019 */ {(11<<2)|2,{49,56,0}}, +/* 3020 */ {(11<<2)|2,{49,56,0}}, +/* 3021 */ {(11<<2)|2,{49,56,0}}, +/* 3022 */ {(11<<2)|2,{49,56,0}}, +/* 3023 */ {(11<<2)|2,{49,56,0}}, +/* 3024 */ {(11<<2)|2,{49,56,0}}, +/* 3025 */ {(11<<2)|2,{49,56,0}}, +/* 3026 */ {(11<<2)|2,{49,56,0}}, +/* 3027 */ {(11<<2)|2,{49,56,0}}, +/* 3028 */ {(11<<2)|2,{49,56,0}}, +/* 3029 */ {(11<<2)|2,{49,56,0}}, +/* 3030 */ {(11<<2)|2,{49,56,0}}, +/* 3031 */ {(11<<2)|2,{49,56,0}}, +/* 3032 */ {(11<<2)|2,{49,56,0}}, +/* 3033 */ {(11<<2)|2,{49,56,0}}, +/* 3034 */ {(11<<2)|2,{49,56,0}}, +/* 3035 */ {(11<<2)|2,{49,56,0}}, +/* 3036 */ {(11<<2)|2,{49,56,0}}, +/* 3037 */ {(11<<2)|2,{49,56,0}}, +/* 3038 */ {(11<<2)|2,{49,56,0}}, +/* 3039 */ {(11<<2)|2,{49,56,0}}, +/* 3040 */ {(16<<2)|3,{49,57,48}}, +/* 3041 */ {(16<<2)|3,{49,57,49}}, +/* 3042 */ {(16<<2)|3,{49,57,50}}, +/* 3043 */ {(16<<2)|3,{49,57,97}}, +/* 3044 */ {(16<<2)|3,{49,57,99}}, +/* 3045 */ {(16<<2)|3,{49,57,101}}, +/* 3046 */ {(16<<2)|3,{49,57,105}}, +/* 3047 */ {(16<<2)|3,{49,57,111}}, +/* 3048 */ {(16<<2)|3,{49,57,115}}, +/* 3049 */ {(16<<2)|3,{49,57,116}}, +/* 3050 */ {(11<<2)|2,{49,57,0}}, +/* 3051 */ {(11<<2)|2,{49,57,0}}, +/* 3052 */ {(11<<2)|2,{49,57,0}}, +/* 3053 */ {(11<<2)|2,{49,57,0}}, +/* 3054 */ {(11<<2)|2,{49,57,0}}, +/* 3055 */ {(11<<2)|2,{49,57,0}}, +/* 3056 */ {(11<<2)|2,{49,57,0}}, +/* 3057 */ {(11<<2)|2,{49,57,0}}, +/* 3058 */ {(11<<2)|2,{49,57,0}}, +/* 3059 */ {(11<<2)|2,{49,57,0}}, +/* 3060 */ {(11<<2)|2,{49,57,0}}, +/* 3061 */ {(11<<2)|2,{49,57,0}}, +/* 3062 */ {(11<<2)|2,{49,57,0}}, +/* 3063 */ {(11<<2)|2,{49,57,0}}, +/* 3064 */ {(11<<2)|2,{49,57,0}}, +/* 3065 */ {(11<<2)|2,{49,57,0}}, +/* 3066 */ {(11<<2)|2,{49,57,0}}, +/* 3067 */ {(11<<2)|2,{49,57,0}}, +/* 3068 */ {(11<<2)|2,{49,57,0}}, +/* 3069 */ {(11<<2)|2,{49,57,0}}, +/* 3070 */ {(11<<2)|2,{49,57,0}}, +/* 3071 */ {(11<<2)|2,{49,57,0}}, +/* 3072 */ {(16<<2)|3,{49,61,48}}, +/* 3073 */ {(16<<2)|3,{49,61,49}}, +/* 3074 */ {(16<<2)|3,{49,61,50}}, +/* 3075 */ {(16<<2)|3,{49,61,97}}, +/* 3076 */ {(16<<2)|3,{49,61,99}}, +/* 3077 */ {(16<<2)|3,{49,61,101}}, +/* 3078 */ {(16<<2)|3,{49,61,105}}, +/* 3079 */ {(16<<2)|3,{49,61,111}}, +/* 3080 */ {(16<<2)|3,{49,61,115}}, +/* 3081 */ {(16<<2)|3,{49,61,116}}, +/* 3082 */ {(11<<2)|2,{49,61,0}}, +/* 3083 */ {(11<<2)|2,{49,61,0}}, +/* 3084 */ {(11<<2)|2,{49,61,0}}, +/* 3085 */ {(11<<2)|2,{49,61,0}}, +/* 3086 */ {(11<<2)|2,{49,61,0}}, +/* 3087 */ {(11<<2)|2,{49,61,0}}, +/* 3088 */ {(11<<2)|2,{49,61,0}}, +/* 3089 */ {(11<<2)|2,{49,61,0}}, +/* 3090 */ {(11<<2)|2,{49,61,0}}, +/* 3091 */ {(11<<2)|2,{49,61,0}}, +/* 3092 */ {(11<<2)|2,{49,61,0}}, +/* 3093 */ {(11<<2)|2,{49,61,0}}, +/* 3094 */ {(11<<2)|2,{49,61,0}}, +/* 3095 */ {(11<<2)|2,{49,61,0}}, +/* 3096 */ {(11<<2)|2,{49,61,0}}, +/* 3097 */ {(11<<2)|2,{49,61,0}}, +/* 3098 */ {(11<<2)|2,{49,61,0}}, +/* 3099 */ {(11<<2)|2,{49,61,0}}, +/* 3100 */ {(11<<2)|2,{49,61,0}}, +/* 3101 */ {(11<<2)|2,{49,61,0}}, +/* 3102 */ {(11<<2)|2,{49,61,0}}, +/* 3103 */ {(11<<2)|2,{49,61,0}}, +/* 3104 */ {(16<<2)|3,{49,65,48}}, +/* 3105 */ {(16<<2)|3,{49,65,49}}, +/* 3106 */ {(16<<2)|3,{49,65,50}}, +/* 3107 */ {(16<<2)|3,{49,65,97}}, +/* 3108 */ {(16<<2)|3,{49,65,99}}, +/* 3109 */ {(16<<2)|3,{49,65,101}}, +/* 3110 */ {(16<<2)|3,{49,65,105}}, +/* 3111 */ {(16<<2)|3,{49,65,111}}, +/* 3112 */ {(16<<2)|3,{49,65,115}}, +/* 3113 */ {(16<<2)|3,{49,65,116}}, +/* 3114 */ {(11<<2)|2,{49,65,0}}, +/* 3115 */ {(11<<2)|2,{49,65,0}}, +/* 3116 */ {(11<<2)|2,{49,65,0}}, +/* 3117 */ {(11<<2)|2,{49,65,0}}, +/* 3118 */ {(11<<2)|2,{49,65,0}}, +/* 3119 */ {(11<<2)|2,{49,65,0}}, +/* 3120 */ {(11<<2)|2,{49,65,0}}, +/* 3121 */ {(11<<2)|2,{49,65,0}}, +/* 3122 */ {(11<<2)|2,{49,65,0}}, +/* 3123 */ {(11<<2)|2,{49,65,0}}, +/* 3124 */ {(11<<2)|2,{49,65,0}}, +/* 3125 */ {(11<<2)|2,{49,65,0}}, +/* 3126 */ {(11<<2)|2,{49,65,0}}, +/* 3127 */ {(11<<2)|2,{49,65,0}}, +/* 3128 */ {(11<<2)|2,{49,65,0}}, +/* 3129 */ {(11<<2)|2,{49,65,0}}, +/* 3130 */ {(11<<2)|2,{49,65,0}}, +/* 3131 */ {(11<<2)|2,{49,65,0}}, +/* 3132 */ {(11<<2)|2,{49,65,0}}, +/* 3133 */ {(11<<2)|2,{49,65,0}}, +/* 3134 */ {(11<<2)|2,{49,65,0}}, +/* 3135 */ {(11<<2)|2,{49,65,0}}, +/* 3136 */ {(16<<2)|3,{49,95,48}}, +/* 3137 */ {(16<<2)|3,{49,95,49}}, +/* 3138 */ {(16<<2)|3,{49,95,50}}, +/* 3139 */ {(16<<2)|3,{49,95,97}}, +/* 3140 */ {(16<<2)|3,{49,95,99}}, +/* 3141 */ {(16<<2)|3,{49,95,101}}, +/* 3142 */ {(16<<2)|3,{49,95,105}}, +/* 3143 */ {(16<<2)|3,{49,95,111}}, +/* 3144 */ {(16<<2)|3,{49,95,115}}, +/* 3145 */ {(16<<2)|3,{49,95,116}}, +/* 3146 */ {(11<<2)|2,{49,95,0}}, +/* 3147 */ {(11<<2)|2,{49,95,0}}, +/* 3148 */ {(11<<2)|2,{49,95,0}}, +/* 3149 */ {(11<<2)|2,{49,95,0}}, +/* 3150 */ {(11<<2)|2,{49,95,0}}, +/* 3151 */ {(11<<2)|2,{49,95,0}}, +/* 3152 */ {(11<<2)|2,{49,95,0}}, +/* 3153 */ {(11<<2)|2,{49,95,0}}, +/* 3154 */ {(11<<2)|2,{49,95,0}}, +/* 3155 */ {(11<<2)|2,{49,95,0}}, +/* 3156 */ {(11<<2)|2,{49,95,0}}, +/* 3157 */ {(11<<2)|2,{49,95,0}}, +/* 3158 */ {(11<<2)|2,{49,95,0}}, +/* 3159 */ {(11<<2)|2,{49,95,0}}, +/* 3160 */ {(11<<2)|2,{49,95,0}}, +/* 3161 */ {(11<<2)|2,{49,95,0}}, +/* 3162 */ {(11<<2)|2,{49,95,0}}, +/* 3163 */ {(11<<2)|2,{49,95,0}}, +/* 3164 */ {(11<<2)|2,{49,95,0}}, +/* 3165 */ {(11<<2)|2,{49,95,0}}, +/* 3166 */ {(11<<2)|2,{49,95,0}}, +/* 3167 */ {(11<<2)|2,{49,95,0}}, +/* 3168 */ {(16<<2)|3,{49,98,48}}, +/* 3169 */ {(16<<2)|3,{49,98,49}}, +/* 3170 */ {(16<<2)|3,{49,98,50}}, +/* 3171 */ {(16<<2)|3,{49,98,97}}, +/* 3172 */ {(16<<2)|3,{49,98,99}}, +/* 3173 */ {(16<<2)|3,{49,98,101}}, +/* 3174 */ {(16<<2)|3,{49,98,105}}, +/* 3175 */ {(16<<2)|3,{49,98,111}}, +/* 3176 */ {(16<<2)|3,{49,98,115}}, +/* 3177 */ {(16<<2)|3,{49,98,116}}, +/* 3178 */ {(11<<2)|2,{49,98,0}}, +/* 3179 */ {(11<<2)|2,{49,98,0}}, +/* 3180 */ {(11<<2)|2,{49,98,0}}, +/* 3181 */ {(11<<2)|2,{49,98,0}}, +/* 3182 */ {(11<<2)|2,{49,98,0}}, +/* 3183 */ {(11<<2)|2,{49,98,0}}, +/* 3184 */ {(11<<2)|2,{49,98,0}}, +/* 3185 */ {(11<<2)|2,{49,98,0}}, +/* 3186 */ {(11<<2)|2,{49,98,0}}, +/* 3187 */ {(11<<2)|2,{49,98,0}}, +/* 3188 */ {(11<<2)|2,{49,98,0}}, +/* 3189 */ {(11<<2)|2,{49,98,0}}, +/* 3190 */ {(11<<2)|2,{49,98,0}}, +/* 3191 */ {(11<<2)|2,{49,98,0}}, +/* 3192 */ {(11<<2)|2,{49,98,0}}, +/* 3193 */ {(11<<2)|2,{49,98,0}}, +/* 3194 */ {(11<<2)|2,{49,98,0}}, +/* 3195 */ {(11<<2)|2,{49,98,0}}, +/* 3196 */ {(11<<2)|2,{49,98,0}}, +/* 3197 */ {(11<<2)|2,{49,98,0}}, +/* 3198 */ {(11<<2)|2,{49,98,0}}, +/* 3199 */ {(11<<2)|2,{49,98,0}}, +/* 3200 */ {(16<<2)|3,{49,100,48}}, +/* 3201 */ {(16<<2)|3,{49,100,49}}, +/* 3202 */ {(16<<2)|3,{49,100,50}}, +/* 3203 */ {(16<<2)|3,{49,100,97}}, +/* 3204 */ {(16<<2)|3,{49,100,99}}, +/* 3205 */ {(16<<2)|3,{49,100,101}}, +/* 3206 */ {(16<<2)|3,{49,100,105}}, +/* 3207 */ {(16<<2)|3,{49,100,111}}, +/* 3208 */ {(16<<2)|3,{49,100,115}}, +/* 3209 */ {(16<<2)|3,{49,100,116}}, +/* 3210 */ {(11<<2)|2,{49,100,0}}, +/* 3211 */ {(11<<2)|2,{49,100,0}}, +/* 3212 */ {(11<<2)|2,{49,100,0}}, +/* 3213 */ {(11<<2)|2,{49,100,0}}, +/* 3214 */ {(11<<2)|2,{49,100,0}}, +/* 3215 */ {(11<<2)|2,{49,100,0}}, +/* 3216 */ {(11<<2)|2,{49,100,0}}, +/* 3217 */ {(11<<2)|2,{49,100,0}}, +/* 3218 */ {(11<<2)|2,{49,100,0}}, +/* 3219 */ {(11<<2)|2,{49,100,0}}, +/* 3220 */ {(11<<2)|2,{49,100,0}}, +/* 3221 */ {(11<<2)|2,{49,100,0}}, +/* 3222 */ {(11<<2)|2,{49,100,0}}, +/* 3223 */ {(11<<2)|2,{49,100,0}}, +/* 3224 */ {(11<<2)|2,{49,100,0}}, +/* 3225 */ {(11<<2)|2,{49,100,0}}, +/* 3226 */ {(11<<2)|2,{49,100,0}}, +/* 3227 */ {(11<<2)|2,{49,100,0}}, +/* 3228 */ {(11<<2)|2,{49,100,0}}, +/* 3229 */ {(11<<2)|2,{49,100,0}}, +/* 3230 */ {(11<<2)|2,{49,100,0}}, +/* 3231 */ {(11<<2)|2,{49,100,0}}, +/* 3232 */ {(16<<2)|3,{49,102,48}}, +/* 3233 */ {(16<<2)|3,{49,102,49}}, +/* 3234 */ {(16<<2)|3,{49,102,50}}, +/* 3235 */ {(16<<2)|3,{49,102,97}}, +/* 3236 */ {(16<<2)|3,{49,102,99}}, +/* 3237 */ {(16<<2)|3,{49,102,101}}, +/* 3238 */ {(16<<2)|3,{49,102,105}}, +/* 3239 */ {(16<<2)|3,{49,102,111}}, +/* 3240 */ {(16<<2)|3,{49,102,115}}, +/* 3241 */ {(16<<2)|3,{49,102,116}}, +/* 3242 */ {(11<<2)|2,{49,102,0}}, +/* 3243 */ {(11<<2)|2,{49,102,0}}, +/* 3244 */ {(11<<2)|2,{49,102,0}}, +/* 3245 */ {(11<<2)|2,{49,102,0}}, +/* 3246 */ {(11<<2)|2,{49,102,0}}, +/* 3247 */ {(11<<2)|2,{49,102,0}}, +/* 3248 */ {(11<<2)|2,{49,102,0}}, +/* 3249 */ {(11<<2)|2,{49,102,0}}, +/* 3250 */ {(11<<2)|2,{49,102,0}}, +/* 3251 */ {(11<<2)|2,{49,102,0}}, +/* 3252 */ {(11<<2)|2,{49,102,0}}, +/* 3253 */ {(11<<2)|2,{49,102,0}}, +/* 3254 */ {(11<<2)|2,{49,102,0}}, +/* 3255 */ {(11<<2)|2,{49,102,0}}, +/* 3256 */ {(11<<2)|2,{49,102,0}}, +/* 3257 */ {(11<<2)|2,{49,102,0}}, +/* 3258 */ {(11<<2)|2,{49,102,0}}, +/* 3259 */ {(11<<2)|2,{49,102,0}}, +/* 3260 */ {(11<<2)|2,{49,102,0}}, +/* 3261 */ {(11<<2)|2,{49,102,0}}, +/* 3262 */ {(11<<2)|2,{49,102,0}}, +/* 3263 */ {(11<<2)|2,{49,102,0}}, +/* 3264 */ {(16<<2)|3,{49,103,48}}, +/* 3265 */ {(16<<2)|3,{49,103,49}}, +/* 3266 */ {(16<<2)|3,{49,103,50}}, +/* 3267 */ {(16<<2)|3,{49,103,97}}, +/* 3268 */ {(16<<2)|3,{49,103,99}}, +/* 3269 */ {(16<<2)|3,{49,103,101}}, +/* 3270 */ {(16<<2)|3,{49,103,105}}, +/* 3271 */ {(16<<2)|3,{49,103,111}}, +/* 3272 */ {(16<<2)|3,{49,103,115}}, +/* 3273 */ {(16<<2)|3,{49,103,116}}, +/* 3274 */ {(11<<2)|2,{49,103,0}}, +/* 3275 */ {(11<<2)|2,{49,103,0}}, +/* 3276 */ {(11<<2)|2,{49,103,0}}, +/* 3277 */ {(11<<2)|2,{49,103,0}}, +/* 3278 */ {(11<<2)|2,{49,103,0}}, +/* 3279 */ {(11<<2)|2,{49,103,0}}, +/* 3280 */ {(11<<2)|2,{49,103,0}}, +/* 3281 */ {(11<<2)|2,{49,103,0}}, +/* 3282 */ {(11<<2)|2,{49,103,0}}, +/* 3283 */ {(11<<2)|2,{49,103,0}}, +/* 3284 */ {(11<<2)|2,{49,103,0}}, +/* 3285 */ {(11<<2)|2,{49,103,0}}, +/* 3286 */ {(11<<2)|2,{49,103,0}}, +/* 3287 */ {(11<<2)|2,{49,103,0}}, +/* 3288 */ {(11<<2)|2,{49,103,0}}, +/* 3289 */ {(11<<2)|2,{49,103,0}}, +/* 3290 */ {(11<<2)|2,{49,103,0}}, +/* 3291 */ {(11<<2)|2,{49,103,0}}, +/* 3292 */ {(11<<2)|2,{49,103,0}}, +/* 3293 */ {(11<<2)|2,{49,103,0}}, +/* 3294 */ {(11<<2)|2,{49,103,0}}, +/* 3295 */ {(11<<2)|2,{49,103,0}}, +/* 3296 */ {(16<<2)|3,{49,104,48}}, +/* 3297 */ {(16<<2)|3,{49,104,49}}, +/* 3298 */ {(16<<2)|3,{49,104,50}}, +/* 3299 */ {(16<<2)|3,{49,104,97}}, +/* 3300 */ {(16<<2)|3,{49,104,99}}, +/* 3301 */ {(16<<2)|3,{49,104,101}}, +/* 3302 */ {(16<<2)|3,{49,104,105}}, +/* 3303 */ {(16<<2)|3,{49,104,111}}, +/* 3304 */ {(16<<2)|3,{49,104,115}}, +/* 3305 */ {(16<<2)|3,{49,104,116}}, +/* 3306 */ {(11<<2)|2,{49,104,0}}, +/* 3307 */ {(11<<2)|2,{49,104,0}}, +/* 3308 */ {(11<<2)|2,{49,104,0}}, +/* 3309 */ {(11<<2)|2,{49,104,0}}, +/* 3310 */ {(11<<2)|2,{49,104,0}}, +/* 3311 */ {(11<<2)|2,{49,104,0}}, +/* 3312 */ {(11<<2)|2,{49,104,0}}, +/* 3313 */ {(11<<2)|2,{49,104,0}}, +/* 3314 */ {(11<<2)|2,{49,104,0}}, +/* 3315 */ {(11<<2)|2,{49,104,0}}, +/* 3316 */ {(11<<2)|2,{49,104,0}}, +/* 3317 */ {(11<<2)|2,{49,104,0}}, +/* 3318 */ {(11<<2)|2,{49,104,0}}, +/* 3319 */ {(11<<2)|2,{49,104,0}}, +/* 3320 */ {(11<<2)|2,{49,104,0}}, +/* 3321 */ {(11<<2)|2,{49,104,0}}, +/* 3322 */ {(11<<2)|2,{49,104,0}}, +/* 3323 */ {(11<<2)|2,{49,104,0}}, +/* 3324 */ {(11<<2)|2,{49,104,0}}, +/* 3325 */ {(11<<2)|2,{49,104,0}}, +/* 3326 */ {(11<<2)|2,{49,104,0}}, +/* 3327 */ {(11<<2)|2,{49,104,0}}, +/* 3328 */ {(16<<2)|3,{49,108,48}}, +/* 3329 */ {(16<<2)|3,{49,108,49}}, +/* 3330 */ {(16<<2)|3,{49,108,50}}, +/* 3331 */ {(16<<2)|3,{49,108,97}}, +/* 3332 */ {(16<<2)|3,{49,108,99}}, +/* 3333 */ {(16<<2)|3,{49,108,101}}, +/* 3334 */ {(16<<2)|3,{49,108,105}}, +/* 3335 */ {(16<<2)|3,{49,108,111}}, +/* 3336 */ {(16<<2)|3,{49,108,115}}, +/* 3337 */ {(16<<2)|3,{49,108,116}}, +/* 3338 */ {(11<<2)|2,{49,108,0}}, +/* 3339 */ {(11<<2)|2,{49,108,0}}, +/* 3340 */ {(11<<2)|2,{49,108,0}}, +/* 3341 */ {(11<<2)|2,{49,108,0}}, +/* 3342 */ {(11<<2)|2,{49,108,0}}, +/* 3343 */ {(11<<2)|2,{49,108,0}}, +/* 3344 */ {(11<<2)|2,{49,108,0}}, +/* 3345 */ {(11<<2)|2,{49,108,0}}, +/* 3346 */ {(11<<2)|2,{49,108,0}}, +/* 3347 */ {(11<<2)|2,{49,108,0}}, +/* 3348 */ {(11<<2)|2,{49,108,0}}, +/* 3349 */ {(11<<2)|2,{49,108,0}}, +/* 3350 */ {(11<<2)|2,{49,108,0}}, +/* 3351 */ {(11<<2)|2,{49,108,0}}, +/* 3352 */ {(11<<2)|2,{49,108,0}}, +/* 3353 */ {(11<<2)|2,{49,108,0}}, +/* 3354 */ {(11<<2)|2,{49,108,0}}, +/* 3355 */ {(11<<2)|2,{49,108,0}}, +/* 3356 */ {(11<<2)|2,{49,108,0}}, +/* 3357 */ {(11<<2)|2,{49,108,0}}, +/* 3358 */ {(11<<2)|2,{49,108,0}}, +/* 3359 */ {(11<<2)|2,{49,108,0}}, +/* 3360 */ {(16<<2)|3,{49,109,48}}, +/* 3361 */ {(16<<2)|3,{49,109,49}}, +/* 3362 */ {(16<<2)|3,{49,109,50}}, +/* 3363 */ {(16<<2)|3,{49,109,97}}, +/* 3364 */ {(16<<2)|3,{49,109,99}}, +/* 3365 */ {(16<<2)|3,{49,109,101}}, +/* 3366 */ {(16<<2)|3,{49,109,105}}, +/* 3367 */ {(16<<2)|3,{49,109,111}}, +/* 3368 */ {(16<<2)|3,{49,109,115}}, +/* 3369 */ {(16<<2)|3,{49,109,116}}, +/* 3370 */ {(11<<2)|2,{49,109,0}}, +/* 3371 */ {(11<<2)|2,{49,109,0}}, +/* 3372 */ {(11<<2)|2,{49,109,0}}, +/* 3373 */ {(11<<2)|2,{49,109,0}}, +/* 3374 */ {(11<<2)|2,{49,109,0}}, +/* 3375 */ {(11<<2)|2,{49,109,0}}, +/* 3376 */ {(11<<2)|2,{49,109,0}}, +/* 3377 */ {(11<<2)|2,{49,109,0}}, +/* 3378 */ {(11<<2)|2,{49,109,0}}, +/* 3379 */ {(11<<2)|2,{49,109,0}}, +/* 3380 */ {(11<<2)|2,{49,109,0}}, +/* 3381 */ {(11<<2)|2,{49,109,0}}, +/* 3382 */ {(11<<2)|2,{49,109,0}}, +/* 3383 */ {(11<<2)|2,{49,109,0}}, +/* 3384 */ {(11<<2)|2,{49,109,0}}, +/* 3385 */ {(11<<2)|2,{49,109,0}}, +/* 3386 */ {(11<<2)|2,{49,109,0}}, +/* 3387 */ {(11<<2)|2,{49,109,0}}, +/* 3388 */ {(11<<2)|2,{49,109,0}}, +/* 3389 */ {(11<<2)|2,{49,109,0}}, +/* 3390 */ {(11<<2)|2,{49,109,0}}, +/* 3391 */ {(11<<2)|2,{49,109,0}}, +/* 3392 */ {(16<<2)|3,{49,110,48}}, +/* 3393 */ {(16<<2)|3,{49,110,49}}, +/* 3394 */ {(16<<2)|3,{49,110,50}}, +/* 3395 */ {(16<<2)|3,{49,110,97}}, +/* 3396 */ {(16<<2)|3,{49,110,99}}, +/* 3397 */ {(16<<2)|3,{49,110,101}}, +/* 3398 */ {(16<<2)|3,{49,110,105}}, +/* 3399 */ {(16<<2)|3,{49,110,111}}, +/* 3400 */ {(16<<2)|3,{49,110,115}}, +/* 3401 */ {(16<<2)|3,{49,110,116}}, +/* 3402 */ {(11<<2)|2,{49,110,0}}, +/* 3403 */ {(11<<2)|2,{49,110,0}}, +/* 3404 */ {(11<<2)|2,{49,110,0}}, +/* 3405 */ {(11<<2)|2,{49,110,0}}, +/* 3406 */ {(11<<2)|2,{49,110,0}}, +/* 3407 */ {(11<<2)|2,{49,110,0}}, +/* 3408 */ {(11<<2)|2,{49,110,0}}, +/* 3409 */ {(11<<2)|2,{49,110,0}}, +/* 3410 */ {(11<<2)|2,{49,110,0}}, +/* 3411 */ {(11<<2)|2,{49,110,0}}, +/* 3412 */ {(11<<2)|2,{49,110,0}}, +/* 3413 */ {(11<<2)|2,{49,110,0}}, +/* 3414 */ {(11<<2)|2,{49,110,0}}, +/* 3415 */ {(11<<2)|2,{49,110,0}}, +/* 3416 */ {(11<<2)|2,{49,110,0}}, +/* 3417 */ {(11<<2)|2,{49,110,0}}, +/* 3418 */ {(11<<2)|2,{49,110,0}}, +/* 3419 */ {(11<<2)|2,{49,110,0}}, +/* 3420 */ {(11<<2)|2,{49,110,0}}, +/* 3421 */ {(11<<2)|2,{49,110,0}}, +/* 3422 */ {(11<<2)|2,{49,110,0}}, +/* 3423 */ {(11<<2)|2,{49,110,0}}, +/* 3424 */ {(16<<2)|3,{49,112,48}}, +/* 3425 */ {(16<<2)|3,{49,112,49}}, +/* 3426 */ {(16<<2)|3,{49,112,50}}, +/* 3427 */ {(16<<2)|3,{49,112,97}}, +/* 3428 */ {(16<<2)|3,{49,112,99}}, +/* 3429 */ {(16<<2)|3,{49,112,101}}, +/* 3430 */ {(16<<2)|3,{49,112,105}}, +/* 3431 */ {(16<<2)|3,{49,112,111}}, +/* 3432 */ {(16<<2)|3,{49,112,115}}, +/* 3433 */ {(16<<2)|3,{49,112,116}}, +/* 3434 */ {(11<<2)|2,{49,112,0}}, +/* 3435 */ {(11<<2)|2,{49,112,0}}, +/* 3436 */ {(11<<2)|2,{49,112,0}}, +/* 3437 */ {(11<<2)|2,{49,112,0}}, +/* 3438 */ {(11<<2)|2,{49,112,0}}, +/* 3439 */ {(11<<2)|2,{49,112,0}}, +/* 3440 */ {(11<<2)|2,{49,112,0}}, +/* 3441 */ {(11<<2)|2,{49,112,0}}, +/* 3442 */ {(11<<2)|2,{49,112,0}}, +/* 3443 */ {(11<<2)|2,{49,112,0}}, +/* 3444 */ {(11<<2)|2,{49,112,0}}, +/* 3445 */ {(11<<2)|2,{49,112,0}}, +/* 3446 */ {(11<<2)|2,{49,112,0}}, +/* 3447 */ {(11<<2)|2,{49,112,0}}, +/* 3448 */ {(11<<2)|2,{49,112,0}}, +/* 3449 */ {(11<<2)|2,{49,112,0}}, +/* 3450 */ {(11<<2)|2,{49,112,0}}, +/* 3451 */ {(11<<2)|2,{49,112,0}}, +/* 3452 */ {(11<<2)|2,{49,112,0}}, +/* 3453 */ {(11<<2)|2,{49,112,0}}, +/* 3454 */ {(11<<2)|2,{49,112,0}}, +/* 3455 */ {(11<<2)|2,{49,112,0}}, +/* 3456 */ {(16<<2)|3,{49,114,48}}, +/* 3457 */ {(16<<2)|3,{49,114,49}}, +/* 3458 */ {(16<<2)|3,{49,114,50}}, +/* 3459 */ {(16<<2)|3,{49,114,97}}, +/* 3460 */ {(16<<2)|3,{49,114,99}}, +/* 3461 */ {(16<<2)|3,{49,114,101}}, +/* 3462 */ {(16<<2)|3,{49,114,105}}, +/* 3463 */ {(16<<2)|3,{49,114,111}}, +/* 3464 */ {(16<<2)|3,{49,114,115}}, +/* 3465 */ {(16<<2)|3,{49,114,116}}, +/* 3466 */ {(11<<2)|2,{49,114,0}}, +/* 3467 */ {(11<<2)|2,{49,114,0}}, +/* 3468 */ {(11<<2)|2,{49,114,0}}, +/* 3469 */ {(11<<2)|2,{49,114,0}}, +/* 3470 */ {(11<<2)|2,{49,114,0}}, +/* 3471 */ {(11<<2)|2,{49,114,0}}, +/* 3472 */ {(11<<2)|2,{49,114,0}}, +/* 3473 */ {(11<<2)|2,{49,114,0}}, +/* 3474 */ {(11<<2)|2,{49,114,0}}, +/* 3475 */ {(11<<2)|2,{49,114,0}}, +/* 3476 */ {(11<<2)|2,{49,114,0}}, +/* 3477 */ {(11<<2)|2,{49,114,0}}, +/* 3478 */ {(11<<2)|2,{49,114,0}}, +/* 3479 */ {(11<<2)|2,{49,114,0}}, +/* 3480 */ {(11<<2)|2,{49,114,0}}, +/* 3481 */ {(11<<2)|2,{49,114,0}}, +/* 3482 */ {(11<<2)|2,{49,114,0}}, +/* 3483 */ {(11<<2)|2,{49,114,0}}, +/* 3484 */ {(11<<2)|2,{49,114,0}}, +/* 3485 */ {(11<<2)|2,{49,114,0}}, +/* 3486 */ {(11<<2)|2,{49,114,0}}, +/* 3487 */ {(11<<2)|2,{49,114,0}}, +/* 3488 */ {(16<<2)|3,{49,117,48}}, +/* 3489 */ {(16<<2)|3,{49,117,49}}, +/* 3490 */ {(16<<2)|3,{49,117,50}}, +/* 3491 */ {(16<<2)|3,{49,117,97}}, +/* 3492 */ {(16<<2)|3,{49,117,99}}, +/* 3493 */ {(16<<2)|3,{49,117,101}}, +/* 3494 */ {(16<<2)|3,{49,117,105}}, +/* 3495 */ {(16<<2)|3,{49,117,111}}, +/* 3496 */ {(16<<2)|3,{49,117,115}}, +/* 3497 */ {(16<<2)|3,{49,117,116}}, +/* 3498 */ {(11<<2)|2,{49,117,0}}, +/* 3499 */ {(11<<2)|2,{49,117,0}}, +/* 3500 */ {(11<<2)|2,{49,117,0}}, +/* 3501 */ {(11<<2)|2,{49,117,0}}, +/* 3502 */ {(11<<2)|2,{49,117,0}}, +/* 3503 */ {(11<<2)|2,{49,117,0}}, +/* 3504 */ {(11<<2)|2,{49,117,0}}, +/* 3505 */ {(11<<2)|2,{49,117,0}}, +/* 3506 */ {(11<<2)|2,{49,117,0}}, +/* 3507 */ {(11<<2)|2,{49,117,0}}, +/* 3508 */ {(11<<2)|2,{49,117,0}}, +/* 3509 */ {(11<<2)|2,{49,117,0}}, +/* 3510 */ {(11<<2)|2,{49,117,0}}, +/* 3511 */ {(11<<2)|2,{49,117,0}}, +/* 3512 */ {(11<<2)|2,{49,117,0}}, +/* 3513 */ {(11<<2)|2,{49,117,0}}, +/* 3514 */ {(11<<2)|2,{49,117,0}}, +/* 3515 */ {(11<<2)|2,{49,117,0}}, +/* 3516 */ {(11<<2)|2,{49,117,0}}, +/* 3517 */ {(11<<2)|2,{49,117,0}}, +/* 3518 */ {(11<<2)|2,{49,117,0}}, +/* 3519 */ {(11<<2)|2,{49,117,0}}, +/* 3520 */ {(12<<2)|2,{49,58,0}}, +/* 3521 */ {(12<<2)|2,{49,58,0}}, +/* 3522 */ {(12<<2)|2,{49,58,0}}, +/* 3523 */ {(12<<2)|2,{49,58,0}}, +/* 3524 */ {(12<<2)|2,{49,58,0}}, +/* 3525 */ {(12<<2)|2,{49,58,0}}, +/* 3526 */ {(12<<2)|2,{49,58,0}}, +/* 3527 */ {(12<<2)|2,{49,58,0}}, +/* 3528 */ {(12<<2)|2,{49,58,0}}, +/* 3529 */ {(12<<2)|2,{49,58,0}}, +/* 3530 */ {(12<<2)|2,{49,58,0}}, +/* 3531 */ {(12<<2)|2,{49,58,0}}, +/* 3532 */ {(12<<2)|2,{49,58,0}}, +/* 3533 */ {(12<<2)|2,{49,58,0}}, +/* 3534 */ {(12<<2)|2,{49,58,0}}, +/* 3535 */ {(12<<2)|2,{49,58,0}}, +/* 3536 */ {(12<<2)|2,{49,66,0}}, +/* 3537 */ {(12<<2)|2,{49,66,0}}, +/* 3538 */ {(12<<2)|2,{49,66,0}}, +/* 3539 */ {(12<<2)|2,{49,66,0}}, +/* 3540 */ {(12<<2)|2,{49,66,0}}, +/* 3541 */ {(12<<2)|2,{49,66,0}}, +/* 3542 */ {(12<<2)|2,{49,66,0}}, +/* 3543 */ {(12<<2)|2,{49,66,0}}, +/* 3544 */ {(12<<2)|2,{49,66,0}}, +/* 3545 */ {(12<<2)|2,{49,66,0}}, +/* 3546 */ {(12<<2)|2,{49,66,0}}, +/* 3547 */ {(12<<2)|2,{49,66,0}}, +/* 3548 */ {(12<<2)|2,{49,66,0}}, +/* 3549 */ {(12<<2)|2,{49,66,0}}, +/* 3550 */ {(12<<2)|2,{49,66,0}}, +/* 3551 */ {(12<<2)|2,{49,66,0}}, +/* 3552 */ {(12<<2)|2,{49,67,0}}, +/* 3553 */ {(12<<2)|2,{49,67,0}}, +/* 3554 */ {(12<<2)|2,{49,67,0}}, +/* 3555 */ {(12<<2)|2,{49,67,0}}, +/* 3556 */ {(12<<2)|2,{49,67,0}}, +/* 3557 */ {(12<<2)|2,{49,67,0}}, +/* 3558 */ {(12<<2)|2,{49,67,0}}, +/* 3559 */ {(12<<2)|2,{49,67,0}}, +/* 3560 */ {(12<<2)|2,{49,67,0}}, +/* 3561 */ {(12<<2)|2,{49,67,0}}, +/* 3562 */ {(12<<2)|2,{49,67,0}}, +/* 3563 */ {(12<<2)|2,{49,67,0}}, +/* 3564 */ {(12<<2)|2,{49,67,0}}, +/* 3565 */ {(12<<2)|2,{49,67,0}}, +/* 3566 */ {(12<<2)|2,{49,67,0}}, +/* 3567 */ {(12<<2)|2,{49,67,0}}, +/* 3568 */ {(12<<2)|2,{49,68,0}}, +/* 3569 */ {(12<<2)|2,{49,68,0}}, +/* 3570 */ {(12<<2)|2,{49,68,0}}, +/* 3571 */ {(12<<2)|2,{49,68,0}}, +/* 3572 */ {(12<<2)|2,{49,68,0}}, +/* 3573 */ {(12<<2)|2,{49,68,0}}, +/* 3574 */ {(12<<2)|2,{49,68,0}}, +/* 3575 */ {(12<<2)|2,{49,68,0}}, +/* 3576 */ {(12<<2)|2,{49,68,0}}, +/* 3577 */ {(12<<2)|2,{49,68,0}}, +/* 3578 */ {(12<<2)|2,{49,68,0}}, +/* 3579 */ {(12<<2)|2,{49,68,0}}, +/* 3580 */ {(12<<2)|2,{49,68,0}}, +/* 3581 */ {(12<<2)|2,{49,68,0}}, +/* 3582 */ {(12<<2)|2,{49,68,0}}, +/* 3583 */ {(12<<2)|2,{49,68,0}}, +/* 3584 */ {(12<<2)|2,{49,69,0}}, +/* 3585 */ {(12<<2)|2,{49,69,0}}, +/* 3586 */ {(12<<2)|2,{49,69,0}}, +/* 3587 */ {(12<<2)|2,{49,69,0}}, +/* 3588 */ {(12<<2)|2,{49,69,0}}, +/* 3589 */ {(12<<2)|2,{49,69,0}}, +/* 3590 */ {(12<<2)|2,{49,69,0}}, +/* 3591 */ {(12<<2)|2,{49,69,0}}, +/* 3592 */ {(12<<2)|2,{49,69,0}}, +/* 3593 */ {(12<<2)|2,{49,69,0}}, +/* 3594 */ {(12<<2)|2,{49,69,0}}, +/* 3595 */ {(12<<2)|2,{49,69,0}}, +/* 3596 */ {(12<<2)|2,{49,69,0}}, +/* 3597 */ {(12<<2)|2,{49,69,0}}, +/* 3598 */ {(12<<2)|2,{49,69,0}}, +/* 3599 */ {(12<<2)|2,{49,69,0}}, +/* 3600 */ {(12<<2)|2,{49,70,0}}, +/* 3601 */ {(12<<2)|2,{49,70,0}}, +/* 3602 */ {(12<<2)|2,{49,70,0}}, +/* 3603 */ {(12<<2)|2,{49,70,0}}, +/* 3604 */ {(12<<2)|2,{49,70,0}}, +/* 3605 */ {(12<<2)|2,{49,70,0}}, +/* 3606 */ {(12<<2)|2,{49,70,0}}, +/* 3607 */ {(12<<2)|2,{49,70,0}}, +/* 3608 */ {(12<<2)|2,{49,70,0}}, +/* 3609 */ {(12<<2)|2,{49,70,0}}, +/* 3610 */ {(12<<2)|2,{49,70,0}}, +/* 3611 */ {(12<<2)|2,{49,70,0}}, +/* 3612 */ {(12<<2)|2,{49,70,0}}, +/* 3613 */ {(12<<2)|2,{49,70,0}}, +/* 3614 */ {(12<<2)|2,{49,70,0}}, +/* 3615 */ {(12<<2)|2,{49,70,0}}, +/* 3616 */ {(12<<2)|2,{49,71,0}}, +/* 3617 */ {(12<<2)|2,{49,71,0}}, +/* 3618 */ {(12<<2)|2,{49,71,0}}, +/* 3619 */ {(12<<2)|2,{49,71,0}}, +/* 3620 */ {(12<<2)|2,{49,71,0}}, +/* 3621 */ {(12<<2)|2,{49,71,0}}, +/* 3622 */ {(12<<2)|2,{49,71,0}}, +/* 3623 */ {(12<<2)|2,{49,71,0}}, +/* 3624 */ {(12<<2)|2,{49,71,0}}, +/* 3625 */ {(12<<2)|2,{49,71,0}}, +/* 3626 */ {(12<<2)|2,{49,71,0}}, +/* 3627 */ {(12<<2)|2,{49,71,0}}, +/* 3628 */ {(12<<2)|2,{49,71,0}}, +/* 3629 */ {(12<<2)|2,{49,71,0}}, +/* 3630 */ {(12<<2)|2,{49,71,0}}, +/* 3631 */ {(12<<2)|2,{49,71,0}}, +/* 3632 */ {(12<<2)|2,{49,72,0}}, +/* 3633 */ {(12<<2)|2,{49,72,0}}, +/* 3634 */ {(12<<2)|2,{49,72,0}}, +/* 3635 */ {(12<<2)|2,{49,72,0}}, +/* 3636 */ {(12<<2)|2,{49,72,0}}, +/* 3637 */ {(12<<2)|2,{49,72,0}}, +/* 3638 */ {(12<<2)|2,{49,72,0}}, +/* 3639 */ {(12<<2)|2,{49,72,0}}, +/* 3640 */ {(12<<2)|2,{49,72,0}}, +/* 3641 */ {(12<<2)|2,{49,72,0}}, +/* 3642 */ {(12<<2)|2,{49,72,0}}, +/* 3643 */ {(12<<2)|2,{49,72,0}}, +/* 3644 */ {(12<<2)|2,{49,72,0}}, +/* 3645 */ {(12<<2)|2,{49,72,0}}, +/* 3646 */ {(12<<2)|2,{49,72,0}}, +/* 3647 */ {(12<<2)|2,{49,72,0}}, +/* 3648 */ {(12<<2)|2,{49,73,0}}, +/* 3649 */ {(12<<2)|2,{49,73,0}}, +/* 3650 */ {(12<<2)|2,{49,73,0}}, +/* 3651 */ {(12<<2)|2,{49,73,0}}, +/* 3652 */ {(12<<2)|2,{49,73,0}}, +/* 3653 */ {(12<<2)|2,{49,73,0}}, +/* 3654 */ {(12<<2)|2,{49,73,0}}, +/* 3655 */ {(12<<2)|2,{49,73,0}}, +/* 3656 */ {(12<<2)|2,{49,73,0}}, +/* 3657 */ {(12<<2)|2,{49,73,0}}, +/* 3658 */ {(12<<2)|2,{49,73,0}}, +/* 3659 */ {(12<<2)|2,{49,73,0}}, +/* 3660 */ {(12<<2)|2,{49,73,0}}, +/* 3661 */ {(12<<2)|2,{49,73,0}}, +/* 3662 */ {(12<<2)|2,{49,73,0}}, +/* 3663 */ {(12<<2)|2,{49,73,0}}, +/* 3664 */ {(12<<2)|2,{49,74,0}}, +/* 3665 */ {(12<<2)|2,{49,74,0}}, +/* 3666 */ {(12<<2)|2,{49,74,0}}, +/* 3667 */ {(12<<2)|2,{49,74,0}}, +/* 3668 */ {(12<<2)|2,{49,74,0}}, +/* 3669 */ {(12<<2)|2,{49,74,0}}, +/* 3670 */ {(12<<2)|2,{49,74,0}}, +/* 3671 */ {(12<<2)|2,{49,74,0}}, +/* 3672 */ {(12<<2)|2,{49,74,0}}, +/* 3673 */ {(12<<2)|2,{49,74,0}}, +/* 3674 */ {(12<<2)|2,{49,74,0}}, +/* 3675 */ {(12<<2)|2,{49,74,0}}, +/* 3676 */ {(12<<2)|2,{49,74,0}}, +/* 3677 */ {(12<<2)|2,{49,74,0}}, +/* 3678 */ {(12<<2)|2,{49,74,0}}, +/* 3679 */ {(12<<2)|2,{49,74,0}}, +/* 3680 */ {(12<<2)|2,{49,75,0}}, +/* 3681 */ {(12<<2)|2,{49,75,0}}, +/* 3682 */ {(12<<2)|2,{49,75,0}}, +/* 3683 */ {(12<<2)|2,{49,75,0}}, +/* 3684 */ {(12<<2)|2,{49,75,0}}, +/* 3685 */ {(12<<2)|2,{49,75,0}}, +/* 3686 */ {(12<<2)|2,{49,75,0}}, +/* 3687 */ {(12<<2)|2,{49,75,0}}, +/* 3688 */ {(12<<2)|2,{49,75,0}}, +/* 3689 */ {(12<<2)|2,{49,75,0}}, +/* 3690 */ {(12<<2)|2,{49,75,0}}, +/* 3691 */ {(12<<2)|2,{49,75,0}}, +/* 3692 */ {(12<<2)|2,{49,75,0}}, +/* 3693 */ {(12<<2)|2,{49,75,0}}, +/* 3694 */ {(12<<2)|2,{49,75,0}}, +/* 3695 */ {(12<<2)|2,{49,75,0}}, +/* 3696 */ {(12<<2)|2,{49,76,0}}, +/* 3697 */ {(12<<2)|2,{49,76,0}}, +/* 3698 */ {(12<<2)|2,{49,76,0}}, +/* 3699 */ {(12<<2)|2,{49,76,0}}, +/* 3700 */ {(12<<2)|2,{49,76,0}}, +/* 3701 */ {(12<<2)|2,{49,76,0}}, +/* 3702 */ {(12<<2)|2,{49,76,0}}, +/* 3703 */ {(12<<2)|2,{49,76,0}}, +/* 3704 */ {(12<<2)|2,{49,76,0}}, +/* 3705 */ {(12<<2)|2,{49,76,0}}, +/* 3706 */ {(12<<2)|2,{49,76,0}}, +/* 3707 */ {(12<<2)|2,{49,76,0}}, +/* 3708 */ {(12<<2)|2,{49,76,0}}, +/* 3709 */ {(12<<2)|2,{49,76,0}}, +/* 3710 */ {(12<<2)|2,{49,76,0}}, +/* 3711 */ {(12<<2)|2,{49,76,0}}, +/* 3712 */ {(12<<2)|2,{49,77,0}}, +/* 3713 */ {(12<<2)|2,{49,77,0}}, +/* 3714 */ {(12<<2)|2,{49,77,0}}, +/* 3715 */ {(12<<2)|2,{49,77,0}}, +/* 3716 */ {(12<<2)|2,{49,77,0}}, +/* 3717 */ {(12<<2)|2,{49,77,0}}, +/* 3718 */ {(12<<2)|2,{49,77,0}}, +/* 3719 */ {(12<<2)|2,{49,77,0}}, +/* 3720 */ {(12<<2)|2,{49,77,0}}, +/* 3721 */ {(12<<2)|2,{49,77,0}}, +/* 3722 */ {(12<<2)|2,{49,77,0}}, +/* 3723 */ {(12<<2)|2,{49,77,0}}, +/* 3724 */ {(12<<2)|2,{49,77,0}}, +/* 3725 */ {(12<<2)|2,{49,77,0}}, +/* 3726 */ {(12<<2)|2,{49,77,0}}, +/* 3727 */ {(12<<2)|2,{49,77,0}}, +/* 3728 */ {(12<<2)|2,{49,78,0}}, +/* 3729 */ {(12<<2)|2,{49,78,0}}, +/* 3730 */ {(12<<2)|2,{49,78,0}}, +/* 3731 */ {(12<<2)|2,{49,78,0}}, +/* 3732 */ {(12<<2)|2,{49,78,0}}, +/* 3733 */ {(12<<2)|2,{49,78,0}}, +/* 3734 */ {(12<<2)|2,{49,78,0}}, +/* 3735 */ {(12<<2)|2,{49,78,0}}, +/* 3736 */ {(12<<2)|2,{49,78,0}}, +/* 3737 */ {(12<<2)|2,{49,78,0}}, +/* 3738 */ {(12<<2)|2,{49,78,0}}, +/* 3739 */ {(12<<2)|2,{49,78,0}}, +/* 3740 */ {(12<<2)|2,{49,78,0}}, +/* 3741 */ {(12<<2)|2,{49,78,0}}, +/* 3742 */ {(12<<2)|2,{49,78,0}}, +/* 3743 */ {(12<<2)|2,{49,78,0}}, +/* 3744 */ {(12<<2)|2,{49,79,0}}, +/* 3745 */ {(12<<2)|2,{49,79,0}}, +/* 3746 */ {(12<<2)|2,{49,79,0}}, +/* 3747 */ {(12<<2)|2,{49,79,0}}, +/* 3748 */ {(12<<2)|2,{49,79,0}}, +/* 3749 */ {(12<<2)|2,{49,79,0}}, +/* 3750 */ {(12<<2)|2,{49,79,0}}, +/* 3751 */ {(12<<2)|2,{49,79,0}}, +/* 3752 */ {(12<<2)|2,{49,79,0}}, +/* 3753 */ {(12<<2)|2,{49,79,0}}, +/* 3754 */ {(12<<2)|2,{49,79,0}}, +/* 3755 */ {(12<<2)|2,{49,79,0}}, +/* 3756 */ {(12<<2)|2,{49,79,0}}, +/* 3757 */ {(12<<2)|2,{49,79,0}}, +/* 3758 */ {(12<<2)|2,{49,79,0}}, +/* 3759 */ {(12<<2)|2,{49,79,0}}, +/* 3760 */ {(12<<2)|2,{49,80,0}}, +/* 3761 */ {(12<<2)|2,{49,80,0}}, +/* 3762 */ {(12<<2)|2,{49,80,0}}, +/* 3763 */ {(12<<2)|2,{49,80,0}}, +/* 3764 */ {(12<<2)|2,{49,80,0}}, +/* 3765 */ {(12<<2)|2,{49,80,0}}, +/* 3766 */ {(12<<2)|2,{49,80,0}}, +/* 3767 */ {(12<<2)|2,{49,80,0}}, +/* 3768 */ {(12<<2)|2,{49,80,0}}, +/* 3769 */ {(12<<2)|2,{49,80,0}}, +/* 3770 */ {(12<<2)|2,{49,80,0}}, +/* 3771 */ {(12<<2)|2,{49,80,0}}, +/* 3772 */ {(12<<2)|2,{49,80,0}}, +/* 3773 */ {(12<<2)|2,{49,80,0}}, +/* 3774 */ {(12<<2)|2,{49,80,0}}, +/* 3775 */ {(12<<2)|2,{49,80,0}}, +/* 3776 */ {(12<<2)|2,{49,81,0}}, +/* 3777 */ {(12<<2)|2,{49,81,0}}, +/* 3778 */ {(12<<2)|2,{49,81,0}}, +/* 3779 */ {(12<<2)|2,{49,81,0}}, +/* 3780 */ {(12<<2)|2,{49,81,0}}, +/* 3781 */ {(12<<2)|2,{49,81,0}}, +/* 3782 */ {(12<<2)|2,{49,81,0}}, +/* 3783 */ {(12<<2)|2,{49,81,0}}, +/* 3784 */ {(12<<2)|2,{49,81,0}}, +/* 3785 */ {(12<<2)|2,{49,81,0}}, +/* 3786 */ {(12<<2)|2,{49,81,0}}, +/* 3787 */ {(12<<2)|2,{49,81,0}}, +/* 3788 */ {(12<<2)|2,{49,81,0}}, +/* 3789 */ {(12<<2)|2,{49,81,0}}, +/* 3790 */ {(12<<2)|2,{49,81,0}}, +/* 3791 */ {(12<<2)|2,{49,81,0}}, +/* 3792 */ {(12<<2)|2,{49,82,0}}, +/* 3793 */ {(12<<2)|2,{49,82,0}}, +/* 3794 */ {(12<<2)|2,{49,82,0}}, +/* 3795 */ {(12<<2)|2,{49,82,0}}, +/* 3796 */ {(12<<2)|2,{49,82,0}}, +/* 3797 */ {(12<<2)|2,{49,82,0}}, +/* 3798 */ {(12<<2)|2,{49,82,0}}, +/* 3799 */ {(12<<2)|2,{49,82,0}}, +/* 3800 */ {(12<<2)|2,{49,82,0}}, +/* 3801 */ {(12<<2)|2,{49,82,0}}, +/* 3802 */ {(12<<2)|2,{49,82,0}}, +/* 3803 */ {(12<<2)|2,{49,82,0}}, +/* 3804 */ {(12<<2)|2,{49,82,0}}, +/* 3805 */ {(12<<2)|2,{49,82,0}}, +/* 3806 */ {(12<<2)|2,{49,82,0}}, +/* 3807 */ {(12<<2)|2,{49,82,0}}, +/* 3808 */ {(12<<2)|2,{49,83,0}}, +/* 3809 */ {(12<<2)|2,{49,83,0}}, +/* 3810 */ {(12<<2)|2,{49,83,0}}, +/* 3811 */ {(12<<2)|2,{49,83,0}}, +/* 3812 */ {(12<<2)|2,{49,83,0}}, +/* 3813 */ {(12<<2)|2,{49,83,0}}, +/* 3814 */ {(12<<2)|2,{49,83,0}}, +/* 3815 */ {(12<<2)|2,{49,83,0}}, +/* 3816 */ {(12<<2)|2,{49,83,0}}, +/* 3817 */ {(12<<2)|2,{49,83,0}}, +/* 3818 */ {(12<<2)|2,{49,83,0}}, +/* 3819 */ {(12<<2)|2,{49,83,0}}, +/* 3820 */ {(12<<2)|2,{49,83,0}}, +/* 3821 */ {(12<<2)|2,{49,83,0}}, +/* 3822 */ {(12<<2)|2,{49,83,0}}, +/* 3823 */ {(12<<2)|2,{49,83,0}}, +/* 3824 */ {(12<<2)|2,{49,84,0}}, +/* 3825 */ {(12<<2)|2,{49,84,0}}, +/* 3826 */ {(12<<2)|2,{49,84,0}}, +/* 3827 */ {(12<<2)|2,{49,84,0}}, +/* 3828 */ {(12<<2)|2,{49,84,0}}, +/* 3829 */ {(12<<2)|2,{49,84,0}}, +/* 3830 */ {(12<<2)|2,{49,84,0}}, +/* 3831 */ {(12<<2)|2,{49,84,0}}, +/* 3832 */ {(12<<2)|2,{49,84,0}}, +/* 3833 */ {(12<<2)|2,{49,84,0}}, +/* 3834 */ {(12<<2)|2,{49,84,0}}, +/* 3835 */ {(12<<2)|2,{49,84,0}}, +/* 3836 */ {(12<<2)|2,{49,84,0}}, +/* 3837 */ {(12<<2)|2,{49,84,0}}, +/* 3838 */ {(12<<2)|2,{49,84,0}}, +/* 3839 */ {(12<<2)|2,{49,84,0}}, +/* 3840 */ {(12<<2)|2,{49,85,0}}, +/* 3841 */ {(12<<2)|2,{49,85,0}}, +/* 3842 */ {(12<<2)|2,{49,85,0}}, +/* 3843 */ {(12<<2)|2,{49,85,0}}, +/* 3844 */ {(12<<2)|2,{49,85,0}}, +/* 3845 */ {(12<<2)|2,{49,85,0}}, +/* 3846 */ {(12<<2)|2,{49,85,0}}, +/* 3847 */ {(12<<2)|2,{49,85,0}}, +/* 3848 */ {(12<<2)|2,{49,85,0}}, +/* 3849 */ {(12<<2)|2,{49,85,0}}, +/* 3850 */ {(12<<2)|2,{49,85,0}}, +/* 3851 */ {(12<<2)|2,{49,85,0}}, +/* 3852 */ {(12<<2)|2,{49,85,0}}, +/* 3853 */ {(12<<2)|2,{49,85,0}}, +/* 3854 */ {(12<<2)|2,{49,85,0}}, +/* 3855 */ {(12<<2)|2,{49,85,0}}, +/* 3856 */ {(12<<2)|2,{49,86,0}}, +/* 3857 */ {(12<<2)|2,{49,86,0}}, +/* 3858 */ {(12<<2)|2,{49,86,0}}, +/* 3859 */ {(12<<2)|2,{49,86,0}}, +/* 3860 */ {(12<<2)|2,{49,86,0}}, +/* 3861 */ {(12<<2)|2,{49,86,0}}, +/* 3862 */ {(12<<2)|2,{49,86,0}}, +/* 3863 */ {(12<<2)|2,{49,86,0}}, +/* 3864 */ {(12<<2)|2,{49,86,0}}, +/* 3865 */ {(12<<2)|2,{49,86,0}}, +/* 3866 */ {(12<<2)|2,{49,86,0}}, +/* 3867 */ {(12<<2)|2,{49,86,0}}, +/* 3868 */ {(12<<2)|2,{49,86,0}}, +/* 3869 */ {(12<<2)|2,{49,86,0}}, +/* 3870 */ {(12<<2)|2,{49,86,0}}, +/* 3871 */ {(12<<2)|2,{49,86,0}}, +/* 3872 */ {(12<<2)|2,{49,87,0}}, +/* 3873 */ {(12<<2)|2,{49,87,0}}, +/* 3874 */ {(12<<2)|2,{49,87,0}}, +/* 3875 */ {(12<<2)|2,{49,87,0}}, +/* 3876 */ {(12<<2)|2,{49,87,0}}, +/* 3877 */ {(12<<2)|2,{49,87,0}}, +/* 3878 */ {(12<<2)|2,{49,87,0}}, +/* 3879 */ {(12<<2)|2,{49,87,0}}, +/* 3880 */ {(12<<2)|2,{49,87,0}}, +/* 3881 */ {(12<<2)|2,{49,87,0}}, +/* 3882 */ {(12<<2)|2,{49,87,0}}, +/* 3883 */ {(12<<2)|2,{49,87,0}}, +/* 3884 */ {(12<<2)|2,{49,87,0}}, +/* 3885 */ {(12<<2)|2,{49,87,0}}, +/* 3886 */ {(12<<2)|2,{49,87,0}}, +/* 3887 */ {(12<<2)|2,{49,87,0}}, +/* 3888 */ {(12<<2)|2,{49,89,0}}, +/* 3889 */ {(12<<2)|2,{49,89,0}}, +/* 3890 */ {(12<<2)|2,{49,89,0}}, +/* 3891 */ {(12<<2)|2,{49,89,0}}, +/* 3892 */ {(12<<2)|2,{49,89,0}}, +/* 3893 */ {(12<<2)|2,{49,89,0}}, +/* 3894 */ {(12<<2)|2,{49,89,0}}, +/* 3895 */ {(12<<2)|2,{49,89,0}}, +/* 3896 */ {(12<<2)|2,{49,89,0}}, +/* 3897 */ {(12<<2)|2,{49,89,0}}, +/* 3898 */ {(12<<2)|2,{49,89,0}}, +/* 3899 */ {(12<<2)|2,{49,89,0}}, +/* 3900 */ {(12<<2)|2,{49,89,0}}, +/* 3901 */ {(12<<2)|2,{49,89,0}}, +/* 3902 */ {(12<<2)|2,{49,89,0}}, +/* 3903 */ {(12<<2)|2,{49,89,0}}, +/* 3904 */ {(12<<2)|2,{49,106,0}}, +/* 3905 */ {(12<<2)|2,{49,106,0}}, +/* 3906 */ {(12<<2)|2,{49,106,0}}, +/* 3907 */ {(12<<2)|2,{49,106,0}}, +/* 3908 */ {(12<<2)|2,{49,106,0}}, +/* 3909 */ {(12<<2)|2,{49,106,0}}, +/* 3910 */ {(12<<2)|2,{49,106,0}}, +/* 3911 */ {(12<<2)|2,{49,106,0}}, +/* 3912 */ {(12<<2)|2,{49,106,0}}, +/* 3913 */ {(12<<2)|2,{49,106,0}}, +/* 3914 */ {(12<<2)|2,{49,106,0}}, +/* 3915 */ {(12<<2)|2,{49,106,0}}, +/* 3916 */ {(12<<2)|2,{49,106,0}}, +/* 3917 */ {(12<<2)|2,{49,106,0}}, +/* 3918 */ {(12<<2)|2,{49,106,0}}, +/* 3919 */ {(12<<2)|2,{49,106,0}}, +/* 3920 */ {(12<<2)|2,{49,107,0}}, +/* 3921 */ {(12<<2)|2,{49,107,0}}, +/* 3922 */ {(12<<2)|2,{49,107,0}}, +/* 3923 */ {(12<<2)|2,{49,107,0}}, +/* 3924 */ {(12<<2)|2,{49,107,0}}, +/* 3925 */ {(12<<2)|2,{49,107,0}}, +/* 3926 */ {(12<<2)|2,{49,107,0}}, +/* 3927 */ {(12<<2)|2,{49,107,0}}, +/* 3928 */ {(12<<2)|2,{49,107,0}}, +/* 3929 */ {(12<<2)|2,{49,107,0}}, +/* 3930 */ {(12<<2)|2,{49,107,0}}, +/* 3931 */ {(12<<2)|2,{49,107,0}}, +/* 3932 */ {(12<<2)|2,{49,107,0}}, +/* 3933 */ {(12<<2)|2,{49,107,0}}, +/* 3934 */ {(12<<2)|2,{49,107,0}}, +/* 3935 */ {(12<<2)|2,{49,107,0}}, +/* 3936 */ {(12<<2)|2,{49,113,0}}, +/* 3937 */ {(12<<2)|2,{49,113,0}}, +/* 3938 */ {(12<<2)|2,{49,113,0}}, +/* 3939 */ {(12<<2)|2,{49,113,0}}, +/* 3940 */ {(12<<2)|2,{49,113,0}}, +/* 3941 */ {(12<<2)|2,{49,113,0}}, +/* 3942 */ {(12<<2)|2,{49,113,0}}, +/* 3943 */ {(12<<2)|2,{49,113,0}}, +/* 3944 */ {(12<<2)|2,{49,113,0}}, +/* 3945 */ {(12<<2)|2,{49,113,0}}, +/* 3946 */ {(12<<2)|2,{49,113,0}}, +/* 3947 */ {(12<<2)|2,{49,113,0}}, +/* 3948 */ {(12<<2)|2,{49,113,0}}, +/* 3949 */ {(12<<2)|2,{49,113,0}}, +/* 3950 */ {(12<<2)|2,{49,113,0}}, +/* 3951 */ {(12<<2)|2,{49,113,0}}, +/* 3952 */ {(12<<2)|2,{49,118,0}}, +/* 3953 */ {(12<<2)|2,{49,118,0}}, +/* 3954 */ {(12<<2)|2,{49,118,0}}, +/* 3955 */ {(12<<2)|2,{49,118,0}}, +/* 3956 */ {(12<<2)|2,{49,118,0}}, +/* 3957 */ {(12<<2)|2,{49,118,0}}, +/* 3958 */ {(12<<2)|2,{49,118,0}}, +/* 3959 */ {(12<<2)|2,{49,118,0}}, +/* 3960 */ {(12<<2)|2,{49,118,0}}, +/* 3961 */ {(12<<2)|2,{49,118,0}}, +/* 3962 */ {(12<<2)|2,{49,118,0}}, +/* 3963 */ {(12<<2)|2,{49,118,0}}, +/* 3964 */ {(12<<2)|2,{49,118,0}}, +/* 3965 */ {(12<<2)|2,{49,118,0}}, +/* 3966 */ {(12<<2)|2,{49,118,0}}, +/* 3967 */ {(12<<2)|2,{49,118,0}}, +/* 3968 */ {(12<<2)|2,{49,119,0}}, +/* 3969 */ {(12<<2)|2,{49,119,0}}, +/* 3970 */ {(12<<2)|2,{49,119,0}}, +/* 3971 */ {(12<<2)|2,{49,119,0}}, +/* 3972 */ {(12<<2)|2,{49,119,0}}, +/* 3973 */ {(12<<2)|2,{49,119,0}}, +/* 3974 */ {(12<<2)|2,{49,119,0}}, +/* 3975 */ {(12<<2)|2,{49,119,0}}, +/* 3976 */ {(12<<2)|2,{49,119,0}}, +/* 3977 */ {(12<<2)|2,{49,119,0}}, +/* 3978 */ {(12<<2)|2,{49,119,0}}, +/* 3979 */ {(12<<2)|2,{49,119,0}}, +/* 3980 */ {(12<<2)|2,{49,119,0}}, +/* 3981 */ {(12<<2)|2,{49,119,0}}, +/* 3982 */ {(12<<2)|2,{49,119,0}}, +/* 3983 */ {(12<<2)|2,{49,119,0}}, +/* 3984 */ {(12<<2)|2,{49,120,0}}, +/* 3985 */ {(12<<2)|2,{49,120,0}}, +/* 3986 */ {(12<<2)|2,{49,120,0}}, +/* 3987 */ {(12<<2)|2,{49,120,0}}, +/* 3988 */ {(12<<2)|2,{49,120,0}}, +/* 3989 */ {(12<<2)|2,{49,120,0}}, +/* 3990 */ {(12<<2)|2,{49,120,0}}, +/* 3991 */ {(12<<2)|2,{49,120,0}}, +/* 3992 */ {(12<<2)|2,{49,120,0}}, +/* 3993 */ {(12<<2)|2,{49,120,0}}, +/* 3994 */ {(12<<2)|2,{49,120,0}}, +/* 3995 */ {(12<<2)|2,{49,120,0}}, +/* 3996 */ {(12<<2)|2,{49,120,0}}, +/* 3997 */ {(12<<2)|2,{49,120,0}}, +/* 3998 */ {(12<<2)|2,{49,120,0}}, +/* 3999 */ {(12<<2)|2,{49,120,0}}, +/* 4000 */ {(12<<2)|2,{49,121,0}}, +/* 4001 */ {(12<<2)|2,{49,121,0}}, +/* 4002 */ {(12<<2)|2,{49,121,0}}, +/* 4003 */ {(12<<2)|2,{49,121,0}}, +/* 4004 */ {(12<<2)|2,{49,121,0}}, +/* 4005 */ {(12<<2)|2,{49,121,0}}, +/* 4006 */ {(12<<2)|2,{49,121,0}}, +/* 4007 */ {(12<<2)|2,{49,121,0}}, +/* 4008 */ {(12<<2)|2,{49,121,0}}, +/* 4009 */ {(12<<2)|2,{49,121,0}}, +/* 4010 */ {(12<<2)|2,{49,121,0}}, +/* 4011 */ {(12<<2)|2,{49,121,0}}, +/* 4012 */ {(12<<2)|2,{49,121,0}}, +/* 4013 */ {(12<<2)|2,{49,121,0}}, +/* 4014 */ {(12<<2)|2,{49,121,0}}, +/* 4015 */ {(12<<2)|2,{49,121,0}}, +/* 4016 */ {(12<<2)|2,{49,122,0}}, +/* 4017 */ {(12<<2)|2,{49,122,0}}, +/* 4018 */ {(12<<2)|2,{49,122,0}}, +/* 4019 */ {(12<<2)|2,{49,122,0}}, +/* 4020 */ {(12<<2)|2,{49,122,0}}, +/* 4021 */ {(12<<2)|2,{49,122,0}}, +/* 4022 */ {(12<<2)|2,{49,122,0}}, +/* 4023 */ {(12<<2)|2,{49,122,0}}, +/* 4024 */ {(12<<2)|2,{49,122,0}}, +/* 4025 */ {(12<<2)|2,{49,122,0}}, +/* 4026 */ {(12<<2)|2,{49,122,0}}, +/* 4027 */ {(12<<2)|2,{49,122,0}}, +/* 4028 */ {(12<<2)|2,{49,122,0}}, +/* 4029 */ {(12<<2)|2,{49,122,0}}, +/* 4030 */ {(12<<2)|2,{49,122,0}}, +/* 4031 */ {(12<<2)|2,{49,122,0}}, +/* 4032 */ {(13<<2)|2,{49,38,0}}, +/* 4033 */ {(13<<2)|2,{49,38,0}}, +/* 4034 */ {(13<<2)|2,{49,38,0}}, +/* 4035 */ {(13<<2)|2,{49,38,0}}, +/* 4036 */ {(13<<2)|2,{49,38,0}}, +/* 4037 */ {(13<<2)|2,{49,38,0}}, +/* 4038 */ {(13<<2)|2,{49,38,0}}, +/* 4039 */ {(13<<2)|2,{49,38,0}}, +/* 4040 */ {(13<<2)|2,{49,42,0}}, +/* 4041 */ {(13<<2)|2,{49,42,0}}, +/* 4042 */ {(13<<2)|2,{49,42,0}}, +/* 4043 */ {(13<<2)|2,{49,42,0}}, +/* 4044 */ {(13<<2)|2,{49,42,0}}, +/* 4045 */ {(13<<2)|2,{49,42,0}}, +/* 4046 */ {(13<<2)|2,{49,42,0}}, +/* 4047 */ {(13<<2)|2,{49,42,0}}, +/* 4048 */ {(13<<2)|2,{49,44,0}}, +/* 4049 */ {(13<<2)|2,{49,44,0}}, +/* 4050 */ {(13<<2)|2,{49,44,0}}, +/* 4051 */ {(13<<2)|2,{49,44,0}}, +/* 4052 */ {(13<<2)|2,{49,44,0}}, +/* 4053 */ {(13<<2)|2,{49,44,0}}, +/* 4054 */ {(13<<2)|2,{49,44,0}}, +/* 4055 */ {(13<<2)|2,{49,44,0}}, +/* 4056 */ {(13<<2)|2,{49,59,0}}, +/* 4057 */ {(13<<2)|2,{49,59,0}}, +/* 4058 */ {(13<<2)|2,{49,59,0}}, +/* 4059 */ {(13<<2)|2,{49,59,0}}, +/* 4060 */ {(13<<2)|2,{49,59,0}}, +/* 4061 */ {(13<<2)|2,{49,59,0}}, +/* 4062 */ {(13<<2)|2,{49,59,0}}, +/* 4063 */ {(13<<2)|2,{49,59,0}}, +/* 4064 */ {(13<<2)|2,{49,88,0}}, +/* 4065 */ {(13<<2)|2,{49,88,0}}, +/* 4066 */ {(13<<2)|2,{49,88,0}}, +/* 4067 */ {(13<<2)|2,{49,88,0}}, +/* 4068 */ {(13<<2)|2,{49,88,0}}, +/* 4069 */ {(13<<2)|2,{49,88,0}}, +/* 4070 */ {(13<<2)|2,{49,88,0}}, +/* 4071 */ {(13<<2)|2,{49,88,0}}, +/* 4072 */ {(13<<2)|2,{49,90,0}}, +/* 4073 */ {(13<<2)|2,{49,90,0}}, +/* 4074 */ {(13<<2)|2,{49,90,0}}, +/* 4075 */ {(13<<2)|2,{49,90,0}}, +/* 4076 */ {(13<<2)|2,{49,90,0}}, +/* 4077 */ {(13<<2)|2,{49,90,0}}, +/* 4078 */ {(13<<2)|2,{49,90,0}}, +/* 4079 */ {(13<<2)|2,{49,90,0}}, +/* 4080 */ {(15<<2)|2,{49,33,0}}, +/* 4081 */ {(15<<2)|2,{49,33,0}}, +/* 4082 */ {(15<<2)|2,{49,34,0}}, +/* 4083 */ {(15<<2)|2,{49,34,0}}, +/* 4084 */ {(15<<2)|2,{49,40,0}}, +/* 4085 */ {(15<<2)|2,{49,40,0}}, +/* 4086 */ {(15<<2)|2,{49,41,0}}, +/* 4087 */ {(15<<2)|2,{49,41,0}}, +/* 4088 */ {(15<<2)|2,{49,63,0}}, +/* 4089 */ {(15<<2)|2,{49,63,0}}, +/* 4090 */ {(16<<2)|2,{49,39,0}}, +/* 4091 */ {(16<<2)|2,{49,43,0}}, +/* 4092 */ {(16<<2)|2,{49,124,0}}, +/* 4093 */ {(5<<2)|1,{49,0,0}}, +/* 4094 */ {(5<<2)|1,{49,0,0}}, +/* 4095 */ {(5<<2)|1,{49,0,0}}, +/* 4096 */ {(15<<2)|3,{50,48,48}}, +/* 4097 */ {(15<<2)|3,{50,48,48}}, +/* 4098 */ {(15<<2)|3,{50,48,49}}, +/* 4099 */ {(15<<2)|3,{50,48,49}}, +/* 4100 */ {(15<<2)|3,{50,48,50}}, +/* 4101 */ {(15<<2)|3,{50,48,50}}, +/* 4102 */ {(15<<2)|3,{50,48,97}}, +/* 4103 */ {(15<<2)|3,{50,48,97}}, +/* 4104 */ {(15<<2)|3,{50,48,99}}, +/* 4105 */ {(15<<2)|3,{50,48,99}}, +/* 4106 */ {(15<<2)|3,{50,48,101}}, +/* 4107 */ {(15<<2)|3,{50,48,101}}, +/* 4108 */ {(15<<2)|3,{50,48,105}}, +/* 4109 */ {(15<<2)|3,{50,48,105}}, +/* 4110 */ {(15<<2)|3,{50,48,111}}, +/* 4111 */ {(15<<2)|3,{50,48,111}}, +/* 4112 */ {(15<<2)|3,{50,48,115}}, +/* 4113 */ {(15<<2)|3,{50,48,115}}, +/* 4114 */ {(15<<2)|3,{50,48,116}}, +/* 4115 */ {(15<<2)|3,{50,48,116}}, +/* 4116 */ {(16<<2)|3,{50,48,32}}, +/* 4117 */ {(16<<2)|3,{50,48,37}}, +/* 4118 */ {(16<<2)|3,{50,48,45}}, +/* 4119 */ {(16<<2)|3,{50,48,46}}, +/* 4120 */ {(16<<2)|3,{50,48,47}}, +/* 4121 */ {(16<<2)|3,{50,48,51}}, +/* 4122 */ {(16<<2)|3,{50,48,52}}, +/* 4123 */ {(16<<2)|3,{50,48,53}}, +/* 4124 */ {(16<<2)|3,{50,48,54}}, +/* 4125 */ {(16<<2)|3,{50,48,55}}, +/* 4126 */ {(16<<2)|3,{50,48,56}}, +/* 4127 */ {(16<<2)|3,{50,48,57}}, +/* 4128 */ {(16<<2)|3,{50,48,61}}, +/* 4129 */ {(16<<2)|3,{50,48,65}}, +/* 4130 */ {(16<<2)|3,{50,48,95}}, +/* 4131 */ {(16<<2)|3,{50,48,98}}, +/* 4132 */ {(16<<2)|3,{50,48,100}}, +/* 4133 */ {(16<<2)|3,{50,48,102}}, +/* 4134 */ {(16<<2)|3,{50,48,103}}, +/* 4135 */ {(16<<2)|3,{50,48,104}}, +/* 4136 */ {(16<<2)|3,{50,48,108}}, +/* 4137 */ {(16<<2)|3,{50,48,109}}, +/* 4138 */ {(16<<2)|3,{50,48,110}}, +/* 4139 */ {(16<<2)|3,{50,48,112}}, +/* 4140 */ {(16<<2)|3,{50,48,114}}, +/* 4141 */ {(16<<2)|3,{50,48,117}}, +/* 4142 */ {(10<<2)|2,{50,48,0}}, +/* 4143 */ {(10<<2)|2,{50,48,0}}, +/* 4144 */ {(10<<2)|2,{50,48,0}}, +/* 4145 */ {(10<<2)|2,{50,48,0}}, +/* 4146 */ {(10<<2)|2,{50,48,0}}, +/* 4147 */ {(10<<2)|2,{50,48,0}}, +/* 4148 */ {(10<<2)|2,{50,48,0}}, +/* 4149 */ {(10<<2)|2,{50,48,0}}, +/* 4150 */ {(10<<2)|2,{50,48,0}}, +/* 4151 */ {(10<<2)|2,{50,48,0}}, +/* 4152 */ {(10<<2)|2,{50,48,0}}, +/* 4153 */ {(10<<2)|2,{50,48,0}}, +/* 4154 */ {(10<<2)|2,{50,48,0}}, +/* 4155 */ {(10<<2)|2,{50,48,0}}, +/* 4156 */ {(10<<2)|2,{50,48,0}}, +/* 4157 */ {(10<<2)|2,{50,48,0}}, +/* 4158 */ {(10<<2)|2,{50,48,0}}, +/* 4159 */ {(10<<2)|2,{50,48,0}}, +/* 4160 */ {(15<<2)|3,{50,49,48}}, +/* 4161 */ {(15<<2)|3,{50,49,48}}, +/* 4162 */ {(15<<2)|3,{50,49,49}}, +/* 4163 */ {(15<<2)|3,{50,49,49}}, +/* 4164 */ {(15<<2)|3,{50,49,50}}, +/* 4165 */ {(15<<2)|3,{50,49,50}}, +/* 4166 */ {(15<<2)|3,{50,49,97}}, +/* 4167 */ {(15<<2)|3,{50,49,97}}, +/* 4168 */ {(15<<2)|3,{50,49,99}}, +/* 4169 */ {(15<<2)|3,{50,49,99}}, +/* 4170 */ {(15<<2)|3,{50,49,101}}, +/* 4171 */ {(15<<2)|3,{50,49,101}}, +/* 4172 */ {(15<<2)|3,{50,49,105}}, +/* 4173 */ {(15<<2)|3,{50,49,105}}, +/* 4174 */ {(15<<2)|3,{50,49,111}}, +/* 4175 */ {(15<<2)|3,{50,49,111}}, +/* 4176 */ {(15<<2)|3,{50,49,115}}, +/* 4177 */ {(15<<2)|3,{50,49,115}}, +/* 4178 */ {(15<<2)|3,{50,49,116}}, +/* 4179 */ {(15<<2)|3,{50,49,116}}, +/* 4180 */ {(16<<2)|3,{50,49,32}}, +/* 4181 */ {(16<<2)|3,{50,49,37}}, +/* 4182 */ {(16<<2)|3,{50,49,45}}, +/* 4183 */ {(16<<2)|3,{50,49,46}}, +/* 4184 */ {(16<<2)|3,{50,49,47}}, +/* 4185 */ {(16<<2)|3,{50,49,51}}, +/* 4186 */ {(16<<2)|3,{50,49,52}}, +/* 4187 */ {(16<<2)|3,{50,49,53}}, +/* 4188 */ {(16<<2)|3,{50,49,54}}, +/* 4189 */ {(16<<2)|3,{50,49,55}}, +/* 4190 */ {(16<<2)|3,{50,49,56}}, +/* 4191 */ {(16<<2)|3,{50,49,57}}, +/* 4192 */ {(16<<2)|3,{50,49,61}}, +/* 4193 */ {(16<<2)|3,{50,49,65}}, +/* 4194 */ {(16<<2)|3,{50,49,95}}, +/* 4195 */ {(16<<2)|3,{50,49,98}}, +/* 4196 */ {(16<<2)|3,{50,49,100}}, +/* 4197 */ {(16<<2)|3,{50,49,102}}, +/* 4198 */ {(16<<2)|3,{50,49,103}}, +/* 4199 */ {(16<<2)|3,{50,49,104}}, +/* 4200 */ {(16<<2)|3,{50,49,108}}, +/* 4201 */ {(16<<2)|3,{50,49,109}}, +/* 4202 */ {(16<<2)|3,{50,49,110}}, +/* 4203 */ {(16<<2)|3,{50,49,112}}, +/* 4204 */ {(16<<2)|3,{50,49,114}}, +/* 4205 */ {(16<<2)|3,{50,49,117}}, +/* 4206 */ {(10<<2)|2,{50,49,0}}, +/* 4207 */ {(10<<2)|2,{50,49,0}}, +/* 4208 */ {(10<<2)|2,{50,49,0}}, +/* 4209 */ {(10<<2)|2,{50,49,0}}, +/* 4210 */ {(10<<2)|2,{50,49,0}}, +/* 4211 */ {(10<<2)|2,{50,49,0}}, +/* 4212 */ {(10<<2)|2,{50,49,0}}, +/* 4213 */ {(10<<2)|2,{50,49,0}}, +/* 4214 */ {(10<<2)|2,{50,49,0}}, +/* 4215 */ {(10<<2)|2,{50,49,0}}, +/* 4216 */ {(10<<2)|2,{50,49,0}}, +/* 4217 */ {(10<<2)|2,{50,49,0}}, +/* 4218 */ {(10<<2)|2,{50,49,0}}, +/* 4219 */ {(10<<2)|2,{50,49,0}}, +/* 4220 */ {(10<<2)|2,{50,49,0}}, +/* 4221 */ {(10<<2)|2,{50,49,0}}, +/* 4222 */ {(10<<2)|2,{50,49,0}}, +/* 4223 */ {(10<<2)|2,{50,49,0}}, +/* 4224 */ {(15<<2)|3,{50,50,48}}, +/* 4225 */ {(15<<2)|3,{50,50,48}}, +/* 4226 */ {(15<<2)|3,{50,50,49}}, +/* 4227 */ {(15<<2)|3,{50,50,49}}, +/* 4228 */ {(15<<2)|3,{50,50,50}}, +/* 4229 */ {(15<<2)|3,{50,50,50}}, +/* 4230 */ {(15<<2)|3,{50,50,97}}, +/* 4231 */ {(15<<2)|3,{50,50,97}}, +/* 4232 */ {(15<<2)|3,{50,50,99}}, +/* 4233 */ {(15<<2)|3,{50,50,99}}, +/* 4234 */ {(15<<2)|3,{50,50,101}}, +/* 4235 */ {(15<<2)|3,{50,50,101}}, +/* 4236 */ {(15<<2)|3,{50,50,105}}, +/* 4237 */ {(15<<2)|3,{50,50,105}}, +/* 4238 */ {(15<<2)|3,{50,50,111}}, +/* 4239 */ {(15<<2)|3,{50,50,111}}, +/* 4240 */ {(15<<2)|3,{50,50,115}}, +/* 4241 */ {(15<<2)|3,{50,50,115}}, +/* 4242 */ {(15<<2)|3,{50,50,116}}, +/* 4243 */ {(15<<2)|3,{50,50,116}}, +/* 4244 */ {(16<<2)|3,{50,50,32}}, +/* 4245 */ {(16<<2)|3,{50,50,37}}, +/* 4246 */ {(16<<2)|3,{50,50,45}}, +/* 4247 */ {(16<<2)|3,{50,50,46}}, +/* 4248 */ {(16<<2)|3,{50,50,47}}, +/* 4249 */ {(16<<2)|3,{50,50,51}}, +/* 4250 */ {(16<<2)|3,{50,50,52}}, +/* 4251 */ {(16<<2)|3,{50,50,53}}, +/* 4252 */ {(16<<2)|3,{50,50,54}}, +/* 4253 */ {(16<<2)|3,{50,50,55}}, +/* 4254 */ {(16<<2)|3,{50,50,56}}, +/* 4255 */ {(16<<2)|3,{50,50,57}}, +/* 4256 */ {(16<<2)|3,{50,50,61}}, +/* 4257 */ {(16<<2)|3,{50,50,65}}, +/* 4258 */ {(16<<2)|3,{50,50,95}}, +/* 4259 */ {(16<<2)|3,{50,50,98}}, +/* 4260 */ {(16<<2)|3,{50,50,100}}, +/* 4261 */ {(16<<2)|3,{50,50,102}}, +/* 4262 */ {(16<<2)|3,{50,50,103}}, +/* 4263 */ {(16<<2)|3,{50,50,104}}, +/* 4264 */ {(16<<2)|3,{50,50,108}}, +/* 4265 */ {(16<<2)|3,{50,50,109}}, +/* 4266 */ {(16<<2)|3,{50,50,110}}, +/* 4267 */ {(16<<2)|3,{50,50,112}}, +/* 4268 */ {(16<<2)|3,{50,50,114}}, +/* 4269 */ {(16<<2)|3,{50,50,117}}, +/* 4270 */ {(10<<2)|2,{50,50,0}}, +/* 4271 */ {(10<<2)|2,{50,50,0}}, +/* 4272 */ {(10<<2)|2,{50,50,0}}, +/* 4273 */ {(10<<2)|2,{50,50,0}}, +/* 4274 */ {(10<<2)|2,{50,50,0}}, +/* 4275 */ {(10<<2)|2,{50,50,0}}, +/* 4276 */ {(10<<2)|2,{50,50,0}}, +/* 4277 */ {(10<<2)|2,{50,50,0}}, +/* 4278 */ {(10<<2)|2,{50,50,0}}, +/* 4279 */ {(10<<2)|2,{50,50,0}}, +/* 4280 */ {(10<<2)|2,{50,50,0}}, +/* 4281 */ {(10<<2)|2,{50,50,0}}, +/* 4282 */ {(10<<2)|2,{50,50,0}}, +/* 4283 */ {(10<<2)|2,{50,50,0}}, +/* 4284 */ {(10<<2)|2,{50,50,0}}, +/* 4285 */ {(10<<2)|2,{50,50,0}}, +/* 4286 */ {(10<<2)|2,{50,50,0}}, +/* 4287 */ {(10<<2)|2,{50,50,0}}, +/* 4288 */ {(15<<2)|3,{50,97,48}}, +/* 4289 */ {(15<<2)|3,{50,97,48}}, +/* 4290 */ {(15<<2)|3,{50,97,49}}, +/* 4291 */ {(15<<2)|3,{50,97,49}}, +/* 4292 */ {(15<<2)|3,{50,97,50}}, +/* 4293 */ {(15<<2)|3,{50,97,50}}, +/* 4294 */ {(15<<2)|3,{50,97,97}}, +/* 4295 */ {(15<<2)|3,{50,97,97}}, +/* 4296 */ {(15<<2)|3,{50,97,99}}, +/* 4297 */ {(15<<2)|3,{50,97,99}}, +/* 4298 */ {(15<<2)|3,{50,97,101}}, +/* 4299 */ {(15<<2)|3,{50,97,101}}, +/* 4300 */ {(15<<2)|3,{50,97,105}}, +/* 4301 */ {(15<<2)|3,{50,97,105}}, +/* 4302 */ {(15<<2)|3,{50,97,111}}, +/* 4303 */ {(15<<2)|3,{50,97,111}}, +/* 4304 */ {(15<<2)|3,{50,97,115}}, +/* 4305 */ {(15<<2)|3,{50,97,115}}, +/* 4306 */ {(15<<2)|3,{50,97,116}}, +/* 4307 */ {(15<<2)|3,{50,97,116}}, +/* 4308 */ {(16<<2)|3,{50,97,32}}, +/* 4309 */ {(16<<2)|3,{50,97,37}}, +/* 4310 */ {(16<<2)|3,{50,97,45}}, +/* 4311 */ {(16<<2)|3,{50,97,46}}, +/* 4312 */ {(16<<2)|3,{50,97,47}}, +/* 4313 */ {(16<<2)|3,{50,97,51}}, +/* 4314 */ {(16<<2)|3,{50,97,52}}, +/* 4315 */ {(16<<2)|3,{50,97,53}}, +/* 4316 */ {(16<<2)|3,{50,97,54}}, +/* 4317 */ {(16<<2)|3,{50,97,55}}, +/* 4318 */ {(16<<2)|3,{50,97,56}}, +/* 4319 */ {(16<<2)|3,{50,97,57}}, +/* 4320 */ {(16<<2)|3,{50,97,61}}, +/* 4321 */ {(16<<2)|3,{50,97,65}}, +/* 4322 */ {(16<<2)|3,{50,97,95}}, +/* 4323 */ {(16<<2)|3,{50,97,98}}, +/* 4324 */ {(16<<2)|3,{50,97,100}}, +/* 4325 */ {(16<<2)|3,{50,97,102}}, +/* 4326 */ {(16<<2)|3,{50,97,103}}, +/* 4327 */ {(16<<2)|3,{50,97,104}}, +/* 4328 */ {(16<<2)|3,{50,97,108}}, +/* 4329 */ {(16<<2)|3,{50,97,109}}, +/* 4330 */ {(16<<2)|3,{50,97,110}}, +/* 4331 */ {(16<<2)|3,{50,97,112}}, +/* 4332 */ {(16<<2)|3,{50,97,114}}, +/* 4333 */ {(16<<2)|3,{50,97,117}}, +/* 4334 */ {(10<<2)|2,{50,97,0}}, +/* 4335 */ {(10<<2)|2,{50,97,0}}, +/* 4336 */ {(10<<2)|2,{50,97,0}}, +/* 4337 */ {(10<<2)|2,{50,97,0}}, +/* 4338 */ {(10<<2)|2,{50,97,0}}, +/* 4339 */ {(10<<2)|2,{50,97,0}}, +/* 4340 */ {(10<<2)|2,{50,97,0}}, +/* 4341 */ {(10<<2)|2,{50,97,0}}, +/* 4342 */ {(10<<2)|2,{50,97,0}}, +/* 4343 */ {(10<<2)|2,{50,97,0}}, +/* 4344 */ {(10<<2)|2,{50,97,0}}, +/* 4345 */ {(10<<2)|2,{50,97,0}}, +/* 4346 */ {(10<<2)|2,{50,97,0}}, +/* 4347 */ {(10<<2)|2,{50,97,0}}, +/* 4348 */ {(10<<2)|2,{50,97,0}}, +/* 4349 */ {(10<<2)|2,{50,97,0}}, +/* 4350 */ {(10<<2)|2,{50,97,0}}, +/* 4351 */ {(10<<2)|2,{50,97,0}}, +/* 4352 */ {(15<<2)|3,{50,99,48}}, +/* 4353 */ {(15<<2)|3,{50,99,48}}, +/* 4354 */ {(15<<2)|3,{50,99,49}}, +/* 4355 */ {(15<<2)|3,{50,99,49}}, +/* 4356 */ {(15<<2)|3,{50,99,50}}, +/* 4357 */ {(15<<2)|3,{50,99,50}}, +/* 4358 */ {(15<<2)|3,{50,99,97}}, +/* 4359 */ {(15<<2)|3,{50,99,97}}, +/* 4360 */ {(15<<2)|3,{50,99,99}}, +/* 4361 */ {(15<<2)|3,{50,99,99}}, +/* 4362 */ {(15<<2)|3,{50,99,101}}, +/* 4363 */ {(15<<2)|3,{50,99,101}}, +/* 4364 */ {(15<<2)|3,{50,99,105}}, +/* 4365 */ {(15<<2)|3,{50,99,105}}, +/* 4366 */ {(15<<2)|3,{50,99,111}}, +/* 4367 */ {(15<<2)|3,{50,99,111}}, +/* 4368 */ {(15<<2)|3,{50,99,115}}, +/* 4369 */ {(15<<2)|3,{50,99,115}}, +/* 4370 */ {(15<<2)|3,{50,99,116}}, +/* 4371 */ {(15<<2)|3,{50,99,116}}, +/* 4372 */ {(16<<2)|3,{50,99,32}}, +/* 4373 */ {(16<<2)|3,{50,99,37}}, +/* 4374 */ {(16<<2)|3,{50,99,45}}, +/* 4375 */ {(16<<2)|3,{50,99,46}}, +/* 4376 */ {(16<<2)|3,{50,99,47}}, +/* 4377 */ {(16<<2)|3,{50,99,51}}, +/* 4378 */ {(16<<2)|3,{50,99,52}}, +/* 4379 */ {(16<<2)|3,{50,99,53}}, +/* 4380 */ {(16<<2)|3,{50,99,54}}, +/* 4381 */ {(16<<2)|3,{50,99,55}}, +/* 4382 */ {(16<<2)|3,{50,99,56}}, +/* 4383 */ {(16<<2)|3,{50,99,57}}, +/* 4384 */ {(16<<2)|3,{50,99,61}}, +/* 4385 */ {(16<<2)|3,{50,99,65}}, +/* 4386 */ {(16<<2)|3,{50,99,95}}, +/* 4387 */ {(16<<2)|3,{50,99,98}}, +/* 4388 */ {(16<<2)|3,{50,99,100}}, +/* 4389 */ {(16<<2)|3,{50,99,102}}, +/* 4390 */ {(16<<2)|3,{50,99,103}}, +/* 4391 */ {(16<<2)|3,{50,99,104}}, +/* 4392 */ {(16<<2)|3,{50,99,108}}, +/* 4393 */ {(16<<2)|3,{50,99,109}}, +/* 4394 */ {(16<<2)|3,{50,99,110}}, +/* 4395 */ {(16<<2)|3,{50,99,112}}, +/* 4396 */ {(16<<2)|3,{50,99,114}}, +/* 4397 */ {(16<<2)|3,{50,99,117}}, +/* 4398 */ {(10<<2)|2,{50,99,0}}, +/* 4399 */ {(10<<2)|2,{50,99,0}}, +/* 4400 */ {(10<<2)|2,{50,99,0}}, +/* 4401 */ {(10<<2)|2,{50,99,0}}, +/* 4402 */ {(10<<2)|2,{50,99,0}}, +/* 4403 */ {(10<<2)|2,{50,99,0}}, +/* 4404 */ {(10<<2)|2,{50,99,0}}, +/* 4405 */ {(10<<2)|2,{50,99,0}}, +/* 4406 */ {(10<<2)|2,{50,99,0}}, +/* 4407 */ {(10<<2)|2,{50,99,0}}, +/* 4408 */ {(10<<2)|2,{50,99,0}}, +/* 4409 */ {(10<<2)|2,{50,99,0}}, +/* 4410 */ {(10<<2)|2,{50,99,0}}, +/* 4411 */ {(10<<2)|2,{50,99,0}}, +/* 4412 */ {(10<<2)|2,{50,99,0}}, +/* 4413 */ {(10<<2)|2,{50,99,0}}, +/* 4414 */ {(10<<2)|2,{50,99,0}}, +/* 4415 */ {(10<<2)|2,{50,99,0}}, +/* 4416 */ {(15<<2)|3,{50,101,48}}, +/* 4417 */ {(15<<2)|3,{50,101,48}}, +/* 4418 */ {(15<<2)|3,{50,101,49}}, +/* 4419 */ {(15<<2)|3,{50,101,49}}, +/* 4420 */ {(15<<2)|3,{50,101,50}}, +/* 4421 */ {(15<<2)|3,{50,101,50}}, +/* 4422 */ {(15<<2)|3,{50,101,97}}, +/* 4423 */ {(15<<2)|3,{50,101,97}}, +/* 4424 */ {(15<<2)|3,{50,101,99}}, +/* 4425 */ {(15<<2)|3,{50,101,99}}, +/* 4426 */ {(15<<2)|3,{50,101,101}}, +/* 4427 */ {(15<<2)|3,{50,101,101}}, +/* 4428 */ {(15<<2)|3,{50,101,105}}, +/* 4429 */ {(15<<2)|3,{50,101,105}}, +/* 4430 */ {(15<<2)|3,{50,101,111}}, +/* 4431 */ {(15<<2)|3,{50,101,111}}, +/* 4432 */ {(15<<2)|3,{50,101,115}}, +/* 4433 */ {(15<<2)|3,{50,101,115}}, +/* 4434 */ {(15<<2)|3,{50,101,116}}, +/* 4435 */ {(15<<2)|3,{50,101,116}}, +/* 4436 */ {(16<<2)|3,{50,101,32}}, +/* 4437 */ {(16<<2)|3,{50,101,37}}, +/* 4438 */ {(16<<2)|3,{50,101,45}}, +/* 4439 */ {(16<<2)|3,{50,101,46}}, +/* 4440 */ {(16<<2)|3,{50,101,47}}, +/* 4441 */ {(16<<2)|3,{50,101,51}}, +/* 4442 */ {(16<<2)|3,{50,101,52}}, +/* 4443 */ {(16<<2)|3,{50,101,53}}, +/* 4444 */ {(16<<2)|3,{50,101,54}}, +/* 4445 */ {(16<<2)|3,{50,101,55}}, +/* 4446 */ {(16<<2)|3,{50,101,56}}, +/* 4447 */ {(16<<2)|3,{50,101,57}}, +/* 4448 */ {(16<<2)|3,{50,101,61}}, +/* 4449 */ {(16<<2)|3,{50,101,65}}, +/* 4450 */ {(16<<2)|3,{50,101,95}}, +/* 4451 */ {(16<<2)|3,{50,101,98}}, +/* 4452 */ {(16<<2)|3,{50,101,100}}, +/* 4453 */ {(16<<2)|3,{50,101,102}}, +/* 4454 */ {(16<<2)|3,{50,101,103}}, +/* 4455 */ {(16<<2)|3,{50,101,104}}, +/* 4456 */ {(16<<2)|3,{50,101,108}}, +/* 4457 */ {(16<<2)|3,{50,101,109}}, +/* 4458 */ {(16<<2)|3,{50,101,110}}, +/* 4459 */ {(16<<2)|3,{50,101,112}}, +/* 4460 */ {(16<<2)|3,{50,101,114}}, +/* 4461 */ {(16<<2)|3,{50,101,117}}, +/* 4462 */ {(10<<2)|2,{50,101,0}}, +/* 4463 */ {(10<<2)|2,{50,101,0}}, +/* 4464 */ {(10<<2)|2,{50,101,0}}, +/* 4465 */ {(10<<2)|2,{50,101,0}}, +/* 4466 */ {(10<<2)|2,{50,101,0}}, +/* 4467 */ {(10<<2)|2,{50,101,0}}, +/* 4468 */ {(10<<2)|2,{50,101,0}}, +/* 4469 */ {(10<<2)|2,{50,101,0}}, +/* 4470 */ {(10<<2)|2,{50,101,0}}, +/* 4471 */ {(10<<2)|2,{50,101,0}}, +/* 4472 */ {(10<<2)|2,{50,101,0}}, +/* 4473 */ {(10<<2)|2,{50,101,0}}, +/* 4474 */ {(10<<2)|2,{50,101,0}}, +/* 4475 */ {(10<<2)|2,{50,101,0}}, +/* 4476 */ {(10<<2)|2,{50,101,0}}, +/* 4477 */ {(10<<2)|2,{50,101,0}}, +/* 4478 */ {(10<<2)|2,{50,101,0}}, +/* 4479 */ {(10<<2)|2,{50,101,0}}, +/* 4480 */ {(15<<2)|3,{50,105,48}}, +/* 4481 */ {(15<<2)|3,{50,105,48}}, +/* 4482 */ {(15<<2)|3,{50,105,49}}, +/* 4483 */ {(15<<2)|3,{50,105,49}}, +/* 4484 */ {(15<<2)|3,{50,105,50}}, +/* 4485 */ {(15<<2)|3,{50,105,50}}, +/* 4486 */ {(15<<2)|3,{50,105,97}}, +/* 4487 */ {(15<<2)|3,{50,105,97}}, +/* 4488 */ {(15<<2)|3,{50,105,99}}, +/* 4489 */ {(15<<2)|3,{50,105,99}}, +/* 4490 */ {(15<<2)|3,{50,105,101}}, +/* 4491 */ {(15<<2)|3,{50,105,101}}, +/* 4492 */ {(15<<2)|3,{50,105,105}}, +/* 4493 */ {(15<<2)|3,{50,105,105}}, +/* 4494 */ {(15<<2)|3,{50,105,111}}, +/* 4495 */ {(15<<2)|3,{50,105,111}}, +/* 4496 */ {(15<<2)|3,{50,105,115}}, +/* 4497 */ {(15<<2)|3,{50,105,115}}, +/* 4498 */ {(15<<2)|3,{50,105,116}}, +/* 4499 */ {(15<<2)|3,{50,105,116}}, +/* 4500 */ {(16<<2)|3,{50,105,32}}, +/* 4501 */ {(16<<2)|3,{50,105,37}}, +/* 4502 */ {(16<<2)|3,{50,105,45}}, +/* 4503 */ {(16<<2)|3,{50,105,46}}, +/* 4504 */ {(16<<2)|3,{50,105,47}}, +/* 4505 */ {(16<<2)|3,{50,105,51}}, +/* 4506 */ {(16<<2)|3,{50,105,52}}, +/* 4507 */ {(16<<2)|3,{50,105,53}}, +/* 4508 */ {(16<<2)|3,{50,105,54}}, +/* 4509 */ {(16<<2)|3,{50,105,55}}, +/* 4510 */ {(16<<2)|3,{50,105,56}}, +/* 4511 */ {(16<<2)|3,{50,105,57}}, +/* 4512 */ {(16<<2)|3,{50,105,61}}, +/* 4513 */ {(16<<2)|3,{50,105,65}}, +/* 4514 */ {(16<<2)|3,{50,105,95}}, +/* 4515 */ {(16<<2)|3,{50,105,98}}, +/* 4516 */ {(16<<2)|3,{50,105,100}}, +/* 4517 */ {(16<<2)|3,{50,105,102}}, +/* 4518 */ {(16<<2)|3,{50,105,103}}, +/* 4519 */ {(16<<2)|3,{50,105,104}}, +/* 4520 */ {(16<<2)|3,{50,105,108}}, +/* 4521 */ {(16<<2)|3,{50,105,109}}, +/* 4522 */ {(16<<2)|3,{50,105,110}}, +/* 4523 */ {(16<<2)|3,{50,105,112}}, +/* 4524 */ {(16<<2)|3,{50,105,114}}, +/* 4525 */ {(16<<2)|3,{50,105,117}}, +/* 4526 */ {(10<<2)|2,{50,105,0}}, +/* 4527 */ {(10<<2)|2,{50,105,0}}, +/* 4528 */ {(10<<2)|2,{50,105,0}}, +/* 4529 */ {(10<<2)|2,{50,105,0}}, +/* 4530 */ {(10<<2)|2,{50,105,0}}, +/* 4531 */ {(10<<2)|2,{50,105,0}}, +/* 4532 */ {(10<<2)|2,{50,105,0}}, +/* 4533 */ {(10<<2)|2,{50,105,0}}, +/* 4534 */ {(10<<2)|2,{50,105,0}}, +/* 4535 */ {(10<<2)|2,{50,105,0}}, +/* 4536 */ {(10<<2)|2,{50,105,0}}, +/* 4537 */ {(10<<2)|2,{50,105,0}}, +/* 4538 */ {(10<<2)|2,{50,105,0}}, +/* 4539 */ {(10<<2)|2,{50,105,0}}, +/* 4540 */ {(10<<2)|2,{50,105,0}}, +/* 4541 */ {(10<<2)|2,{50,105,0}}, +/* 4542 */ {(10<<2)|2,{50,105,0}}, +/* 4543 */ {(10<<2)|2,{50,105,0}}, +/* 4544 */ {(15<<2)|3,{50,111,48}}, +/* 4545 */ {(15<<2)|3,{50,111,48}}, +/* 4546 */ {(15<<2)|3,{50,111,49}}, +/* 4547 */ {(15<<2)|3,{50,111,49}}, +/* 4548 */ {(15<<2)|3,{50,111,50}}, +/* 4549 */ {(15<<2)|3,{50,111,50}}, +/* 4550 */ {(15<<2)|3,{50,111,97}}, +/* 4551 */ {(15<<2)|3,{50,111,97}}, +/* 4552 */ {(15<<2)|3,{50,111,99}}, +/* 4553 */ {(15<<2)|3,{50,111,99}}, +/* 4554 */ {(15<<2)|3,{50,111,101}}, +/* 4555 */ {(15<<2)|3,{50,111,101}}, +/* 4556 */ {(15<<2)|3,{50,111,105}}, +/* 4557 */ {(15<<2)|3,{50,111,105}}, +/* 4558 */ {(15<<2)|3,{50,111,111}}, +/* 4559 */ {(15<<2)|3,{50,111,111}}, +/* 4560 */ {(15<<2)|3,{50,111,115}}, +/* 4561 */ {(15<<2)|3,{50,111,115}}, +/* 4562 */ {(15<<2)|3,{50,111,116}}, +/* 4563 */ {(15<<2)|3,{50,111,116}}, +/* 4564 */ {(16<<2)|3,{50,111,32}}, +/* 4565 */ {(16<<2)|3,{50,111,37}}, +/* 4566 */ {(16<<2)|3,{50,111,45}}, +/* 4567 */ {(16<<2)|3,{50,111,46}}, +/* 4568 */ {(16<<2)|3,{50,111,47}}, +/* 4569 */ {(16<<2)|3,{50,111,51}}, +/* 4570 */ {(16<<2)|3,{50,111,52}}, +/* 4571 */ {(16<<2)|3,{50,111,53}}, +/* 4572 */ {(16<<2)|3,{50,111,54}}, +/* 4573 */ {(16<<2)|3,{50,111,55}}, +/* 4574 */ {(16<<2)|3,{50,111,56}}, +/* 4575 */ {(16<<2)|3,{50,111,57}}, +/* 4576 */ {(16<<2)|3,{50,111,61}}, +/* 4577 */ {(16<<2)|3,{50,111,65}}, +/* 4578 */ {(16<<2)|3,{50,111,95}}, +/* 4579 */ {(16<<2)|3,{50,111,98}}, +/* 4580 */ {(16<<2)|3,{50,111,100}}, +/* 4581 */ {(16<<2)|3,{50,111,102}}, +/* 4582 */ {(16<<2)|3,{50,111,103}}, +/* 4583 */ {(16<<2)|3,{50,111,104}}, +/* 4584 */ {(16<<2)|3,{50,111,108}}, +/* 4585 */ {(16<<2)|3,{50,111,109}}, +/* 4586 */ {(16<<2)|3,{50,111,110}}, +/* 4587 */ {(16<<2)|3,{50,111,112}}, +/* 4588 */ {(16<<2)|3,{50,111,114}}, +/* 4589 */ {(16<<2)|3,{50,111,117}}, +/* 4590 */ {(10<<2)|2,{50,111,0}}, +/* 4591 */ {(10<<2)|2,{50,111,0}}, +/* 4592 */ {(10<<2)|2,{50,111,0}}, +/* 4593 */ {(10<<2)|2,{50,111,0}}, +/* 4594 */ {(10<<2)|2,{50,111,0}}, +/* 4595 */ {(10<<2)|2,{50,111,0}}, +/* 4596 */ {(10<<2)|2,{50,111,0}}, +/* 4597 */ {(10<<2)|2,{50,111,0}}, +/* 4598 */ {(10<<2)|2,{50,111,0}}, +/* 4599 */ {(10<<2)|2,{50,111,0}}, +/* 4600 */ {(10<<2)|2,{50,111,0}}, +/* 4601 */ {(10<<2)|2,{50,111,0}}, +/* 4602 */ {(10<<2)|2,{50,111,0}}, +/* 4603 */ {(10<<2)|2,{50,111,0}}, +/* 4604 */ {(10<<2)|2,{50,111,0}}, +/* 4605 */ {(10<<2)|2,{50,111,0}}, +/* 4606 */ {(10<<2)|2,{50,111,0}}, +/* 4607 */ {(10<<2)|2,{50,111,0}}, +/* 4608 */ {(15<<2)|3,{50,115,48}}, +/* 4609 */ {(15<<2)|3,{50,115,48}}, +/* 4610 */ {(15<<2)|3,{50,115,49}}, +/* 4611 */ {(15<<2)|3,{50,115,49}}, +/* 4612 */ {(15<<2)|3,{50,115,50}}, +/* 4613 */ {(15<<2)|3,{50,115,50}}, +/* 4614 */ {(15<<2)|3,{50,115,97}}, +/* 4615 */ {(15<<2)|3,{50,115,97}}, +/* 4616 */ {(15<<2)|3,{50,115,99}}, +/* 4617 */ {(15<<2)|3,{50,115,99}}, +/* 4618 */ {(15<<2)|3,{50,115,101}}, +/* 4619 */ {(15<<2)|3,{50,115,101}}, +/* 4620 */ {(15<<2)|3,{50,115,105}}, +/* 4621 */ {(15<<2)|3,{50,115,105}}, +/* 4622 */ {(15<<2)|3,{50,115,111}}, +/* 4623 */ {(15<<2)|3,{50,115,111}}, +/* 4624 */ {(15<<2)|3,{50,115,115}}, +/* 4625 */ {(15<<2)|3,{50,115,115}}, +/* 4626 */ {(15<<2)|3,{50,115,116}}, +/* 4627 */ {(15<<2)|3,{50,115,116}}, +/* 4628 */ {(16<<2)|3,{50,115,32}}, +/* 4629 */ {(16<<2)|3,{50,115,37}}, +/* 4630 */ {(16<<2)|3,{50,115,45}}, +/* 4631 */ {(16<<2)|3,{50,115,46}}, +/* 4632 */ {(16<<2)|3,{50,115,47}}, +/* 4633 */ {(16<<2)|3,{50,115,51}}, +/* 4634 */ {(16<<2)|3,{50,115,52}}, +/* 4635 */ {(16<<2)|3,{50,115,53}}, +/* 4636 */ {(16<<2)|3,{50,115,54}}, +/* 4637 */ {(16<<2)|3,{50,115,55}}, +/* 4638 */ {(16<<2)|3,{50,115,56}}, +/* 4639 */ {(16<<2)|3,{50,115,57}}, +/* 4640 */ {(16<<2)|3,{50,115,61}}, +/* 4641 */ {(16<<2)|3,{50,115,65}}, +/* 4642 */ {(16<<2)|3,{50,115,95}}, +/* 4643 */ {(16<<2)|3,{50,115,98}}, +/* 4644 */ {(16<<2)|3,{50,115,100}}, +/* 4645 */ {(16<<2)|3,{50,115,102}}, +/* 4646 */ {(16<<2)|3,{50,115,103}}, +/* 4647 */ {(16<<2)|3,{50,115,104}}, +/* 4648 */ {(16<<2)|3,{50,115,108}}, +/* 4649 */ {(16<<2)|3,{50,115,109}}, +/* 4650 */ {(16<<2)|3,{50,115,110}}, +/* 4651 */ {(16<<2)|3,{50,115,112}}, +/* 4652 */ {(16<<2)|3,{50,115,114}}, +/* 4653 */ {(16<<2)|3,{50,115,117}}, +/* 4654 */ {(10<<2)|2,{50,115,0}}, +/* 4655 */ {(10<<2)|2,{50,115,0}}, +/* 4656 */ {(10<<2)|2,{50,115,0}}, +/* 4657 */ {(10<<2)|2,{50,115,0}}, +/* 4658 */ {(10<<2)|2,{50,115,0}}, +/* 4659 */ {(10<<2)|2,{50,115,0}}, +/* 4660 */ {(10<<2)|2,{50,115,0}}, +/* 4661 */ {(10<<2)|2,{50,115,0}}, +/* 4662 */ {(10<<2)|2,{50,115,0}}, +/* 4663 */ {(10<<2)|2,{50,115,0}}, +/* 4664 */ {(10<<2)|2,{50,115,0}}, +/* 4665 */ {(10<<2)|2,{50,115,0}}, +/* 4666 */ {(10<<2)|2,{50,115,0}}, +/* 4667 */ {(10<<2)|2,{50,115,0}}, +/* 4668 */ {(10<<2)|2,{50,115,0}}, +/* 4669 */ {(10<<2)|2,{50,115,0}}, +/* 4670 */ {(10<<2)|2,{50,115,0}}, +/* 4671 */ {(10<<2)|2,{50,115,0}}, +/* 4672 */ {(15<<2)|3,{50,116,48}}, +/* 4673 */ {(15<<2)|3,{50,116,48}}, +/* 4674 */ {(15<<2)|3,{50,116,49}}, +/* 4675 */ {(15<<2)|3,{50,116,49}}, +/* 4676 */ {(15<<2)|3,{50,116,50}}, +/* 4677 */ {(15<<2)|3,{50,116,50}}, +/* 4678 */ {(15<<2)|3,{50,116,97}}, +/* 4679 */ {(15<<2)|3,{50,116,97}}, +/* 4680 */ {(15<<2)|3,{50,116,99}}, +/* 4681 */ {(15<<2)|3,{50,116,99}}, +/* 4682 */ {(15<<2)|3,{50,116,101}}, +/* 4683 */ {(15<<2)|3,{50,116,101}}, +/* 4684 */ {(15<<2)|3,{50,116,105}}, +/* 4685 */ {(15<<2)|3,{50,116,105}}, +/* 4686 */ {(15<<2)|3,{50,116,111}}, +/* 4687 */ {(15<<2)|3,{50,116,111}}, +/* 4688 */ {(15<<2)|3,{50,116,115}}, +/* 4689 */ {(15<<2)|3,{50,116,115}}, +/* 4690 */ {(15<<2)|3,{50,116,116}}, +/* 4691 */ {(15<<2)|3,{50,116,116}}, +/* 4692 */ {(16<<2)|3,{50,116,32}}, +/* 4693 */ {(16<<2)|3,{50,116,37}}, +/* 4694 */ {(16<<2)|3,{50,116,45}}, +/* 4695 */ {(16<<2)|3,{50,116,46}}, +/* 4696 */ {(16<<2)|3,{50,116,47}}, +/* 4697 */ {(16<<2)|3,{50,116,51}}, +/* 4698 */ {(16<<2)|3,{50,116,52}}, +/* 4699 */ {(16<<2)|3,{50,116,53}}, +/* 4700 */ {(16<<2)|3,{50,116,54}}, +/* 4701 */ {(16<<2)|3,{50,116,55}}, +/* 4702 */ {(16<<2)|3,{50,116,56}}, +/* 4703 */ {(16<<2)|3,{50,116,57}}, +/* 4704 */ {(16<<2)|3,{50,116,61}}, +/* 4705 */ {(16<<2)|3,{50,116,65}}, +/* 4706 */ {(16<<2)|3,{50,116,95}}, +/* 4707 */ {(16<<2)|3,{50,116,98}}, +/* 4708 */ {(16<<2)|3,{50,116,100}}, +/* 4709 */ {(16<<2)|3,{50,116,102}}, +/* 4710 */ {(16<<2)|3,{50,116,103}}, +/* 4711 */ {(16<<2)|3,{50,116,104}}, +/* 4712 */ {(16<<2)|3,{50,116,108}}, +/* 4713 */ {(16<<2)|3,{50,116,109}}, +/* 4714 */ {(16<<2)|3,{50,116,110}}, +/* 4715 */ {(16<<2)|3,{50,116,112}}, +/* 4716 */ {(16<<2)|3,{50,116,114}}, +/* 4717 */ {(16<<2)|3,{50,116,117}}, +/* 4718 */ {(10<<2)|2,{50,116,0}}, +/* 4719 */ {(10<<2)|2,{50,116,0}}, +/* 4720 */ {(10<<2)|2,{50,116,0}}, +/* 4721 */ {(10<<2)|2,{50,116,0}}, +/* 4722 */ {(10<<2)|2,{50,116,0}}, +/* 4723 */ {(10<<2)|2,{50,116,0}}, +/* 4724 */ {(10<<2)|2,{50,116,0}}, +/* 4725 */ {(10<<2)|2,{50,116,0}}, +/* 4726 */ {(10<<2)|2,{50,116,0}}, +/* 4727 */ {(10<<2)|2,{50,116,0}}, +/* 4728 */ {(10<<2)|2,{50,116,0}}, +/* 4729 */ {(10<<2)|2,{50,116,0}}, +/* 4730 */ {(10<<2)|2,{50,116,0}}, +/* 4731 */ {(10<<2)|2,{50,116,0}}, +/* 4732 */ {(10<<2)|2,{50,116,0}}, +/* 4733 */ {(10<<2)|2,{50,116,0}}, +/* 4734 */ {(10<<2)|2,{50,116,0}}, +/* 4735 */ {(10<<2)|2,{50,116,0}}, +/* 4736 */ {(16<<2)|3,{50,32,48}}, +/* 4737 */ {(16<<2)|3,{50,32,49}}, +/* 4738 */ {(16<<2)|3,{50,32,50}}, +/* 4739 */ {(16<<2)|3,{50,32,97}}, +/* 4740 */ {(16<<2)|3,{50,32,99}}, +/* 4741 */ {(16<<2)|3,{50,32,101}}, +/* 4742 */ {(16<<2)|3,{50,32,105}}, +/* 4743 */ {(16<<2)|3,{50,32,111}}, +/* 4744 */ {(16<<2)|3,{50,32,115}}, +/* 4745 */ {(16<<2)|3,{50,32,116}}, +/* 4746 */ {(11<<2)|2,{50,32,0}}, +/* 4747 */ {(11<<2)|2,{50,32,0}}, +/* 4748 */ {(11<<2)|2,{50,32,0}}, +/* 4749 */ {(11<<2)|2,{50,32,0}}, +/* 4750 */ {(11<<2)|2,{50,32,0}}, +/* 4751 */ {(11<<2)|2,{50,32,0}}, +/* 4752 */ {(11<<2)|2,{50,32,0}}, +/* 4753 */ {(11<<2)|2,{50,32,0}}, +/* 4754 */ {(11<<2)|2,{50,32,0}}, +/* 4755 */ {(11<<2)|2,{50,32,0}}, +/* 4756 */ {(11<<2)|2,{50,32,0}}, +/* 4757 */ {(11<<2)|2,{50,32,0}}, +/* 4758 */ {(11<<2)|2,{50,32,0}}, +/* 4759 */ {(11<<2)|2,{50,32,0}}, +/* 4760 */ {(11<<2)|2,{50,32,0}}, +/* 4761 */ {(11<<2)|2,{50,32,0}}, +/* 4762 */ {(11<<2)|2,{50,32,0}}, +/* 4763 */ {(11<<2)|2,{50,32,0}}, +/* 4764 */ {(11<<2)|2,{50,32,0}}, +/* 4765 */ {(11<<2)|2,{50,32,0}}, +/* 4766 */ {(11<<2)|2,{50,32,0}}, +/* 4767 */ {(11<<2)|2,{50,32,0}}, +/* 4768 */ {(16<<2)|3,{50,37,48}}, +/* 4769 */ {(16<<2)|3,{50,37,49}}, +/* 4770 */ {(16<<2)|3,{50,37,50}}, +/* 4771 */ {(16<<2)|3,{50,37,97}}, +/* 4772 */ {(16<<2)|3,{50,37,99}}, +/* 4773 */ {(16<<2)|3,{50,37,101}}, +/* 4774 */ {(16<<2)|3,{50,37,105}}, +/* 4775 */ {(16<<2)|3,{50,37,111}}, +/* 4776 */ {(16<<2)|3,{50,37,115}}, +/* 4777 */ {(16<<2)|3,{50,37,116}}, +/* 4778 */ {(11<<2)|2,{50,37,0}}, +/* 4779 */ {(11<<2)|2,{50,37,0}}, +/* 4780 */ {(11<<2)|2,{50,37,0}}, +/* 4781 */ {(11<<2)|2,{50,37,0}}, +/* 4782 */ {(11<<2)|2,{50,37,0}}, +/* 4783 */ {(11<<2)|2,{50,37,0}}, +/* 4784 */ {(11<<2)|2,{50,37,0}}, +/* 4785 */ {(11<<2)|2,{50,37,0}}, +/* 4786 */ {(11<<2)|2,{50,37,0}}, +/* 4787 */ {(11<<2)|2,{50,37,0}}, +/* 4788 */ {(11<<2)|2,{50,37,0}}, +/* 4789 */ {(11<<2)|2,{50,37,0}}, +/* 4790 */ {(11<<2)|2,{50,37,0}}, +/* 4791 */ {(11<<2)|2,{50,37,0}}, +/* 4792 */ {(11<<2)|2,{50,37,0}}, +/* 4793 */ {(11<<2)|2,{50,37,0}}, +/* 4794 */ {(11<<2)|2,{50,37,0}}, +/* 4795 */ {(11<<2)|2,{50,37,0}}, +/* 4796 */ {(11<<2)|2,{50,37,0}}, +/* 4797 */ {(11<<2)|2,{50,37,0}}, +/* 4798 */ {(11<<2)|2,{50,37,0}}, +/* 4799 */ {(11<<2)|2,{50,37,0}}, +/* 4800 */ {(16<<2)|3,{50,45,48}}, +/* 4801 */ {(16<<2)|3,{50,45,49}}, +/* 4802 */ {(16<<2)|3,{50,45,50}}, +/* 4803 */ {(16<<2)|3,{50,45,97}}, +/* 4804 */ {(16<<2)|3,{50,45,99}}, +/* 4805 */ {(16<<2)|3,{50,45,101}}, +/* 4806 */ {(16<<2)|3,{50,45,105}}, +/* 4807 */ {(16<<2)|3,{50,45,111}}, +/* 4808 */ {(16<<2)|3,{50,45,115}}, +/* 4809 */ {(16<<2)|3,{50,45,116}}, +/* 4810 */ {(11<<2)|2,{50,45,0}}, +/* 4811 */ {(11<<2)|2,{50,45,0}}, +/* 4812 */ {(11<<2)|2,{50,45,0}}, +/* 4813 */ {(11<<2)|2,{50,45,0}}, +/* 4814 */ {(11<<2)|2,{50,45,0}}, +/* 4815 */ {(11<<2)|2,{50,45,0}}, +/* 4816 */ {(11<<2)|2,{50,45,0}}, +/* 4817 */ {(11<<2)|2,{50,45,0}}, +/* 4818 */ {(11<<2)|2,{50,45,0}}, +/* 4819 */ {(11<<2)|2,{50,45,0}}, +/* 4820 */ {(11<<2)|2,{50,45,0}}, +/* 4821 */ {(11<<2)|2,{50,45,0}}, +/* 4822 */ {(11<<2)|2,{50,45,0}}, +/* 4823 */ {(11<<2)|2,{50,45,0}}, +/* 4824 */ {(11<<2)|2,{50,45,0}}, +/* 4825 */ {(11<<2)|2,{50,45,0}}, +/* 4826 */ {(11<<2)|2,{50,45,0}}, +/* 4827 */ {(11<<2)|2,{50,45,0}}, +/* 4828 */ {(11<<2)|2,{50,45,0}}, +/* 4829 */ {(11<<2)|2,{50,45,0}}, +/* 4830 */ {(11<<2)|2,{50,45,0}}, +/* 4831 */ {(11<<2)|2,{50,45,0}}, +/* 4832 */ {(16<<2)|3,{50,46,48}}, +/* 4833 */ {(16<<2)|3,{50,46,49}}, +/* 4834 */ {(16<<2)|3,{50,46,50}}, +/* 4835 */ {(16<<2)|3,{50,46,97}}, +/* 4836 */ {(16<<2)|3,{50,46,99}}, +/* 4837 */ {(16<<2)|3,{50,46,101}}, +/* 4838 */ {(16<<2)|3,{50,46,105}}, +/* 4839 */ {(16<<2)|3,{50,46,111}}, +/* 4840 */ {(16<<2)|3,{50,46,115}}, +/* 4841 */ {(16<<2)|3,{50,46,116}}, +/* 4842 */ {(11<<2)|2,{50,46,0}}, +/* 4843 */ {(11<<2)|2,{50,46,0}}, +/* 4844 */ {(11<<2)|2,{50,46,0}}, +/* 4845 */ {(11<<2)|2,{50,46,0}}, +/* 4846 */ {(11<<2)|2,{50,46,0}}, +/* 4847 */ {(11<<2)|2,{50,46,0}}, +/* 4848 */ {(11<<2)|2,{50,46,0}}, +/* 4849 */ {(11<<2)|2,{50,46,0}}, +/* 4850 */ {(11<<2)|2,{50,46,0}}, +/* 4851 */ {(11<<2)|2,{50,46,0}}, +/* 4852 */ {(11<<2)|2,{50,46,0}}, +/* 4853 */ {(11<<2)|2,{50,46,0}}, +/* 4854 */ {(11<<2)|2,{50,46,0}}, +/* 4855 */ {(11<<2)|2,{50,46,0}}, +/* 4856 */ {(11<<2)|2,{50,46,0}}, +/* 4857 */ {(11<<2)|2,{50,46,0}}, +/* 4858 */ {(11<<2)|2,{50,46,0}}, +/* 4859 */ {(11<<2)|2,{50,46,0}}, +/* 4860 */ {(11<<2)|2,{50,46,0}}, +/* 4861 */ {(11<<2)|2,{50,46,0}}, +/* 4862 */ {(11<<2)|2,{50,46,0}}, +/* 4863 */ {(11<<2)|2,{50,46,0}}, +/* 4864 */ {(16<<2)|3,{50,47,48}}, +/* 4865 */ {(16<<2)|3,{50,47,49}}, +/* 4866 */ {(16<<2)|3,{50,47,50}}, +/* 4867 */ {(16<<2)|3,{50,47,97}}, +/* 4868 */ {(16<<2)|3,{50,47,99}}, +/* 4869 */ {(16<<2)|3,{50,47,101}}, +/* 4870 */ {(16<<2)|3,{50,47,105}}, +/* 4871 */ {(16<<2)|3,{50,47,111}}, +/* 4872 */ {(16<<2)|3,{50,47,115}}, +/* 4873 */ {(16<<2)|3,{50,47,116}}, +/* 4874 */ {(11<<2)|2,{50,47,0}}, +/* 4875 */ {(11<<2)|2,{50,47,0}}, +/* 4876 */ {(11<<2)|2,{50,47,0}}, +/* 4877 */ {(11<<2)|2,{50,47,0}}, +/* 4878 */ {(11<<2)|2,{50,47,0}}, +/* 4879 */ {(11<<2)|2,{50,47,0}}, +/* 4880 */ {(11<<2)|2,{50,47,0}}, +/* 4881 */ {(11<<2)|2,{50,47,0}}, +/* 4882 */ {(11<<2)|2,{50,47,0}}, +/* 4883 */ {(11<<2)|2,{50,47,0}}, +/* 4884 */ {(11<<2)|2,{50,47,0}}, +/* 4885 */ {(11<<2)|2,{50,47,0}}, +/* 4886 */ {(11<<2)|2,{50,47,0}}, +/* 4887 */ {(11<<2)|2,{50,47,0}}, +/* 4888 */ {(11<<2)|2,{50,47,0}}, +/* 4889 */ {(11<<2)|2,{50,47,0}}, +/* 4890 */ {(11<<2)|2,{50,47,0}}, +/* 4891 */ {(11<<2)|2,{50,47,0}}, +/* 4892 */ {(11<<2)|2,{50,47,0}}, +/* 4893 */ {(11<<2)|2,{50,47,0}}, +/* 4894 */ {(11<<2)|2,{50,47,0}}, +/* 4895 */ {(11<<2)|2,{50,47,0}}, +/* 4896 */ {(16<<2)|3,{50,51,48}}, +/* 4897 */ {(16<<2)|3,{50,51,49}}, +/* 4898 */ {(16<<2)|3,{50,51,50}}, +/* 4899 */ {(16<<2)|3,{50,51,97}}, +/* 4900 */ {(16<<2)|3,{50,51,99}}, +/* 4901 */ {(16<<2)|3,{50,51,101}}, +/* 4902 */ {(16<<2)|3,{50,51,105}}, +/* 4903 */ {(16<<2)|3,{50,51,111}}, +/* 4904 */ {(16<<2)|3,{50,51,115}}, +/* 4905 */ {(16<<2)|3,{50,51,116}}, +/* 4906 */ {(11<<2)|2,{50,51,0}}, +/* 4907 */ {(11<<2)|2,{50,51,0}}, +/* 4908 */ {(11<<2)|2,{50,51,0}}, +/* 4909 */ {(11<<2)|2,{50,51,0}}, +/* 4910 */ {(11<<2)|2,{50,51,0}}, +/* 4911 */ {(11<<2)|2,{50,51,0}}, +/* 4912 */ {(11<<2)|2,{50,51,0}}, +/* 4913 */ {(11<<2)|2,{50,51,0}}, +/* 4914 */ {(11<<2)|2,{50,51,0}}, +/* 4915 */ {(11<<2)|2,{50,51,0}}, +/* 4916 */ {(11<<2)|2,{50,51,0}}, +/* 4917 */ {(11<<2)|2,{50,51,0}}, +/* 4918 */ {(11<<2)|2,{50,51,0}}, +/* 4919 */ {(11<<2)|2,{50,51,0}}, +/* 4920 */ {(11<<2)|2,{50,51,0}}, +/* 4921 */ {(11<<2)|2,{50,51,0}}, +/* 4922 */ {(11<<2)|2,{50,51,0}}, +/* 4923 */ {(11<<2)|2,{50,51,0}}, +/* 4924 */ {(11<<2)|2,{50,51,0}}, +/* 4925 */ {(11<<2)|2,{50,51,0}}, +/* 4926 */ {(11<<2)|2,{50,51,0}}, +/* 4927 */ {(11<<2)|2,{50,51,0}}, +/* 4928 */ {(16<<2)|3,{50,52,48}}, +/* 4929 */ {(16<<2)|3,{50,52,49}}, +/* 4930 */ {(16<<2)|3,{50,52,50}}, +/* 4931 */ {(16<<2)|3,{50,52,97}}, +/* 4932 */ {(16<<2)|3,{50,52,99}}, +/* 4933 */ {(16<<2)|3,{50,52,101}}, +/* 4934 */ {(16<<2)|3,{50,52,105}}, +/* 4935 */ {(16<<2)|3,{50,52,111}}, +/* 4936 */ {(16<<2)|3,{50,52,115}}, +/* 4937 */ {(16<<2)|3,{50,52,116}}, +/* 4938 */ {(11<<2)|2,{50,52,0}}, +/* 4939 */ {(11<<2)|2,{50,52,0}}, +/* 4940 */ {(11<<2)|2,{50,52,0}}, +/* 4941 */ {(11<<2)|2,{50,52,0}}, +/* 4942 */ {(11<<2)|2,{50,52,0}}, +/* 4943 */ {(11<<2)|2,{50,52,0}}, +/* 4944 */ {(11<<2)|2,{50,52,0}}, +/* 4945 */ {(11<<2)|2,{50,52,0}}, +/* 4946 */ {(11<<2)|2,{50,52,0}}, +/* 4947 */ {(11<<2)|2,{50,52,0}}, +/* 4948 */ {(11<<2)|2,{50,52,0}}, +/* 4949 */ {(11<<2)|2,{50,52,0}}, +/* 4950 */ {(11<<2)|2,{50,52,0}}, +/* 4951 */ {(11<<2)|2,{50,52,0}}, +/* 4952 */ {(11<<2)|2,{50,52,0}}, +/* 4953 */ {(11<<2)|2,{50,52,0}}, +/* 4954 */ {(11<<2)|2,{50,52,0}}, +/* 4955 */ {(11<<2)|2,{50,52,0}}, +/* 4956 */ {(11<<2)|2,{50,52,0}}, +/* 4957 */ {(11<<2)|2,{50,52,0}}, +/* 4958 */ {(11<<2)|2,{50,52,0}}, +/* 4959 */ {(11<<2)|2,{50,52,0}}, +/* 4960 */ {(16<<2)|3,{50,53,48}}, +/* 4961 */ {(16<<2)|3,{50,53,49}}, +/* 4962 */ {(16<<2)|3,{50,53,50}}, +/* 4963 */ {(16<<2)|3,{50,53,97}}, +/* 4964 */ {(16<<2)|3,{50,53,99}}, +/* 4965 */ {(16<<2)|3,{50,53,101}}, +/* 4966 */ {(16<<2)|3,{50,53,105}}, +/* 4967 */ {(16<<2)|3,{50,53,111}}, +/* 4968 */ {(16<<2)|3,{50,53,115}}, +/* 4969 */ {(16<<2)|3,{50,53,116}}, +/* 4970 */ {(11<<2)|2,{50,53,0}}, +/* 4971 */ {(11<<2)|2,{50,53,0}}, +/* 4972 */ {(11<<2)|2,{50,53,0}}, +/* 4973 */ {(11<<2)|2,{50,53,0}}, +/* 4974 */ {(11<<2)|2,{50,53,0}}, +/* 4975 */ {(11<<2)|2,{50,53,0}}, +/* 4976 */ {(11<<2)|2,{50,53,0}}, +/* 4977 */ {(11<<2)|2,{50,53,0}}, +/* 4978 */ {(11<<2)|2,{50,53,0}}, +/* 4979 */ {(11<<2)|2,{50,53,0}}, +/* 4980 */ {(11<<2)|2,{50,53,0}}, +/* 4981 */ {(11<<2)|2,{50,53,0}}, +/* 4982 */ {(11<<2)|2,{50,53,0}}, +/* 4983 */ {(11<<2)|2,{50,53,0}}, +/* 4984 */ {(11<<2)|2,{50,53,0}}, +/* 4985 */ {(11<<2)|2,{50,53,0}}, +/* 4986 */ {(11<<2)|2,{50,53,0}}, +/* 4987 */ {(11<<2)|2,{50,53,0}}, +/* 4988 */ {(11<<2)|2,{50,53,0}}, +/* 4989 */ {(11<<2)|2,{50,53,0}}, +/* 4990 */ {(11<<2)|2,{50,53,0}}, +/* 4991 */ {(11<<2)|2,{50,53,0}}, +/* 4992 */ {(16<<2)|3,{50,54,48}}, +/* 4993 */ {(16<<2)|3,{50,54,49}}, +/* 4994 */ {(16<<2)|3,{50,54,50}}, +/* 4995 */ {(16<<2)|3,{50,54,97}}, +/* 4996 */ {(16<<2)|3,{50,54,99}}, +/* 4997 */ {(16<<2)|3,{50,54,101}}, +/* 4998 */ {(16<<2)|3,{50,54,105}}, +/* 4999 */ {(16<<2)|3,{50,54,111}}, +/* 5000 */ {(16<<2)|3,{50,54,115}}, +/* 5001 */ {(16<<2)|3,{50,54,116}}, +/* 5002 */ {(11<<2)|2,{50,54,0}}, +/* 5003 */ {(11<<2)|2,{50,54,0}}, +/* 5004 */ {(11<<2)|2,{50,54,0}}, +/* 5005 */ {(11<<2)|2,{50,54,0}}, +/* 5006 */ {(11<<2)|2,{50,54,0}}, +/* 5007 */ {(11<<2)|2,{50,54,0}}, +/* 5008 */ {(11<<2)|2,{50,54,0}}, +/* 5009 */ {(11<<2)|2,{50,54,0}}, +/* 5010 */ {(11<<2)|2,{50,54,0}}, +/* 5011 */ {(11<<2)|2,{50,54,0}}, +/* 5012 */ {(11<<2)|2,{50,54,0}}, +/* 5013 */ {(11<<2)|2,{50,54,0}}, +/* 5014 */ {(11<<2)|2,{50,54,0}}, +/* 5015 */ {(11<<2)|2,{50,54,0}}, +/* 5016 */ {(11<<2)|2,{50,54,0}}, +/* 5017 */ {(11<<2)|2,{50,54,0}}, +/* 5018 */ {(11<<2)|2,{50,54,0}}, +/* 5019 */ {(11<<2)|2,{50,54,0}}, +/* 5020 */ {(11<<2)|2,{50,54,0}}, +/* 5021 */ {(11<<2)|2,{50,54,0}}, +/* 5022 */ {(11<<2)|2,{50,54,0}}, +/* 5023 */ {(11<<2)|2,{50,54,0}}, +/* 5024 */ {(16<<2)|3,{50,55,48}}, +/* 5025 */ {(16<<2)|3,{50,55,49}}, +/* 5026 */ {(16<<2)|3,{50,55,50}}, +/* 5027 */ {(16<<2)|3,{50,55,97}}, +/* 5028 */ {(16<<2)|3,{50,55,99}}, +/* 5029 */ {(16<<2)|3,{50,55,101}}, +/* 5030 */ {(16<<2)|3,{50,55,105}}, +/* 5031 */ {(16<<2)|3,{50,55,111}}, +/* 5032 */ {(16<<2)|3,{50,55,115}}, +/* 5033 */ {(16<<2)|3,{50,55,116}}, +/* 5034 */ {(11<<2)|2,{50,55,0}}, +/* 5035 */ {(11<<2)|2,{50,55,0}}, +/* 5036 */ {(11<<2)|2,{50,55,0}}, +/* 5037 */ {(11<<2)|2,{50,55,0}}, +/* 5038 */ {(11<<2)|2,{50,55,0}}, +/* 5039 */ {(11<<2)|2,{50,55,0}}, +/* 5040 */ {(11<<2)|2,{50,55,0}}, +/* 5041 */ {(11<<2)|2,{50,55,0}}, +/* 5042 */ {(11<<2)|2,{50,55,0}}, +/* 5043 */ {(11<<2)|2,{50,55,0}}, +/* 5044 */ {(11<<2)|2,{50,55,0}}, +/* 5045 */ {(11<<2)|2,{50,55,0}}, +/* 5046 */ {(11<<2)|2,{50,55,0}}, +/* 5047 */ {(11<<2)|2,{50,55,0}}, +/* 5048 */ {(11<<2)|2,{50,55,0}}, +/* 5049 */ {(11<<2)|2,{50,55,0}}, +/* 5050 */ {(11<<2)|2,{50,55,0}}, +/* 5051 */ {(11<<2)|2,{50,55,0}}, +/* 5052 */ {(11<<2)|2,{50,55,0}}, +/* 5053 */ {(11<<2)|2,{50,55,0}}, +/* 5054 */ {(11<<2)|2,{50,55,0}}, +/* 5055 */ {(11<<2)|2,{50,55,0}}, +/* 5056 */ {(16<<2)|3,{50,56,48}}, +/* 5057 */ {(16<<2)|3,{50,56,49}}, +/* 5058 */ {(16<<2)|3,{50,56,50}}, +/* 5059 */ {(16<<2)|3,{50,56,97}}, +/* 5060 */ {(16<<2)|3,{50,56,99}}, +/* 5061 */ {(16<<2)|3,{50,56,101}}, +/* 5062 */ {(16<<2)|3,{50,56,105}}, +/* 5063 */ {(16<<2)|3,{50,56,111}}, +/* 5064 */ {(16<<2)|3,{50,56,115}}, +/* 5065 */ {(16<<2)|3,{50,56,116}}, +/* 5066 */ {(11<<2)|2,{50,56,0}}, +/* 5067 */ {(11<<2)|2,{50,56,0}}, +/* 5068 */ {(11<<2)|2,{50,56,0}}, +/* 5069 */ {(11<<2)|2,{50,56,0}}, +/* 5070 */ {(11<<2)|2,{50,56,0}}, +/* 5071 */ {(11<<2)|2,{50,56,0}}, +/* 5072 */ {(11<<2)|2,{50,56,0}}, +/* 5073 */ {(11<<2)|2,{50,56,0}}, +/* 5074 */ {(11<<2)|2,{50,56,0}}, +/* 5075 */ {(11<<2)|2,{50,56,0}}, +/* 5076 */ {(11<<2)|2,{50,56,0}}, +/* 5077 */ {(11<<2)|2,{50,56,0}}, +/* 5078 */ {(11<<2)|2,{50,56,0}}, +/* 5079 */ {(11<<2)|2,{50,56,0}}, +/* 5080 */ {(11<<2)|2,{50,56,0}}, +/* 5081 */ {(11<<2)|2,{50,56,0}}, +/* 5082 */ {(11<<2)|2,{50,56,0}}, +/* 5083 */ {(11<<2)|2,{50,56,0}}, +/* 5084 */ {(11<<2)|2,{50,56,0}}, +/* 5085 */ {(11<<2)|2,{50,56,0}}, +/* 5086 */ {(11<<2)|2,{50,56,0}}, +/* 5087 */ {(11<<2)|2,{50,56,0}}, +/* 5088 */ {(16<<2)|3,{50,57,48}}, +/* 5089 */ {(16<<2)|3,{50,57,49}}, +/* 5090 */ {(16<<2)|3,{50,57,50}}, +/* 5091 */ {(16<<2)|3,{50,57,97}}, +/* 5092 */ {(16<<2)|3,{50,57,99}}, +/* 5093 */ {(16<<2)|3,{50,57,101}}, +/* 5094 */ {(16<<2)|3,{50,57,105}}, +/* 5095 */ {(16<<2)|3,{50,57,111}}, +/* 5096 */ {(16<<2)|3,{50,57,115}}, +/* 5097 */ {(16<<2)|3,{50,57,116}}, +/* 5098 */ {(11<<2)|2,{50,57,0}}, +/* 5099 */ {(11<<2)|2,{50,57,0}}, +/* 5100 */ {(11<<2)|2,{50,57,0}}, +/* 5101 */ {(11<<2)|2,{50,57,0}}, +/* 5102 */ {(11<<2)|2,{50,57,0}}, +/* 5103 */ {(11<<2)|2,{50,57,0}}, +/* 5104 */ {(11<<2)|2,{50,57,0}}, +/* 5105 */ {(11<<2)|2,{50,57,0}}, +/* 5106 */ {(11<<2)|2,{50,57,0}}, +/* 5107 */ {(11<<2)|2,{50,57,0}}, +/* 5108 */ {(11<<2)|2,{50,57,0}}, +/* 5109 */ {(11<<2)|2,{50,57,0}}, +/* 5110 */ {(11<<2)|2,{50,57,0}}, +/* 5111 */ {(11<<2)|2,{50,57,0}}, +/* 5112 */ {(11<<2)|2,{50,57,0}}, +/* 5113 */ {(11<<2)|2,{50,57,0}}, +/* 5114 */ {(11<<2)|2,{50,57,0}}, +/* 5115 */ {(11<<2)|2,{50,57,0}}, +/* 5116 */ {(11<<2)|2,{50,57,0}}, +/* 5117 */ {(11<<2)|2,{50,57,0}}, +/* 5118 */ {(11<<2)|2,{50,57,0}}, +/* 5119 */ {(11<<2)|2,{50,57,0}}, +/* 5120 */ {(16<<2)|3,{50,61,48}}, +/* 5121 */ {(16<<2)|3,{50,61,49}}, +/* 5122 */ {(16<<2)|3,{50,61,50}}, +/* 5123 */ {(16<<2)|3,{50,61,97}}, +/* 5124 */ {(16<<2)|3,{50,61,99}}, +/* 5125 */ {(16<<2)|3,{50,61,101}}, +/* 5126 */ {(16<<2)|3,{50,61,105}}, +/* 5127 */ {(16<<2)|3,{50,61,111}}, +/* 5128 */ {(16<<2)|3,{50,61,115}}, +/* 5129 */ {(16<<2)|3,{50,61,116}}, +/* 5130 */ {(11<<2)|2,{50,61,0}}, +/* 5131 */ {(11<<2)|2,{50,61,0}}, +/* 5132 */ {(11<<2)|2,{50,61,0}}, +/* 5133 */ {(11<<2)|2,{50,61,0}}, +/* 5134 */ {(11<<2)|2,{50,61,0}}, +/* 5135 */ {(11<<2)|2,{50,61,0}}, +/* 5136 */ {(11<<2)|2,{50,61,0}}, +/* 5137 */ {(11<<2)|2,{50,61,0}}, +/* 5138 */ {(11<<2)|2,{50,61,0}}, +/* 5139 */ {(11<<2)|2,{50,61,0}}, +/* 5140 */ {(11<<2)|2,{50,61,0}}, +/* 5141 */ {(11<<2)|2,{50,61,0}}, +/* 5142 */ {(11<<2)|2,{50,61,0}}, +/* 5143 */ {(11<<2)|2,{50,61,0}}, +/* 5144 */ {(11<<2)|2,{50,61,0}}, +/* 5145 */ {(11<<2)|2,{50,61,0}}, +/* 5146 */ {(11<<2)|2,{50,61,0}}, +/* 5147 */ {(11<<2)|2,{50,61,0}}, +/* 5148 */ {(11<<2)|2,{50,61,0}}, +/* 5149 */ {(11<<2)|2,{50,61,0}}, +/* 5150 */ {(11<<2)|2,{50,61,0}}, +/* 5151 */ {(11<<2)|2,{50,61,0}}, +/* 5152 */ {(16<<2)|3,{50,65,48}}, +/* 5153 */ {(16<<2)|3,{50,65,49}}, +/* 5154 */ {(16<<2)|3,{50,65,50}}, +/* 5155 */ {(16<<2)|3,{50,65,97}}, +/* 5156 */ {(16<<2)|3,{50,65,99}}, +/* 5157 */ {(16<<2)|3,{50,65,101}}, +/* 5158 */ {(16<<2)|3,{50,65,105}}, +/* 5159 */ {(16<<2)|3,{50,65,111}}, +/* 5160 */ {(16<<2)|3,{50,65,115}}, +/* 5161 */ {(16<<2)|3,{50,65,116}}, +/* 5162 */ {(11<<2)|2,{50,65,0}}, +/* 5163 */ {(11<<2)|2,{50,65,0}}, +/* 5164 */ {(11<<2)|2,{50,65,0}}, +/* 5165 */ {(11<<2)|2,{50,65,0}}, +/* 5166 */ {(11<<2)|2,{50,65,0}}, +/* 5167 */ {(11<<2)|2,{50,65,0}}, +/* 5168 */ {(11<<2)|2,{50,65,0}}, +/* 5169 */ {(11<<2)|2,{50,65,0}}, +/* 5170 */ {(11<<2)|2,{50,65,0}}, +/* 5171 */ {(11<<2)|2,{50,65,0}}, +/* 5172 */ {(11<<2)|2,{50,65,0}}, +/* 5173 */ {(11<<2)|2,{50,65,0}}, +/* 5174 */ {(11<<2)|2,{50,65,0}}, +/* 5175 */ {(11<<2)|2,{50,65,0}}, +/* 5176 */ {(11<<2)|2,{50,65,0}}, +/* 5177 */ {(11<<2)|2,{50,65,0}}, +/* 5178 */ {(11<<2)|2,{50,65,0}}, +/* 5179 */ {(11<<2)|2,{50,65,0}}, +/* 5180 */ {(11<<2)|2,{50,65,0}}, +/* 5181 */ {(11<<2)|2,{50,65,0}}, +/* 5182 */ {(11<<2)|2,{50,65,0}}, +/* 5183 */ {(11<<2)|2,{50,65,0}}, +/* 5184 */ {(16<<2)|3,{50,95,48}}, +/* 5185 */ {(16<<2)|3,{50,95,49}}, +/* 5186 */ {(16<<2)|3,{50,95,50}}, +/* 5187 */ {(16<<2)|3,{50,95,97}}, +/* 5188 */ {(16<<2)|3,{50,95,99}}, +/* 5189 */ {(16<<2)|3,{50,95,101}}, +/* 5190 */ {(16<<2)|3,{50,95,105}}, +/* 5191 */ {(16<<2)|3,{50,95,111}}, +/* 5192 */ {(16<<2)|3,{50,95,115}}, +/* 5193 */ {(16<<2)|3,{50,95,116}}, +/* 5194 */ {(11<<2)|2,{50,95,0}}, +/* 5195 */ {(11<<2)|2,{50,95,0}}, +/* 5196 */ {(11<<2)|2,{50,95,0}}, +/* 5197 */ {(11<<2)|2,{50,95,0}}, +/* 5198 */ {(11<<2)|2,{50,95,0}}, +/* 5199 */ {(11<<2)|2,{50,95,0}}, +/* 5200 */ {(11<<2)|2,{50,95,0}}, +/* 5201 */ {(11<<2)|2,{50,95,0}}, +/* 5202 */ {(11<<2)|2,{50,95,0}}, +/* 5203 */ {(11<<2)|2,{50,95,0}}, +/* 5204 */ {(11<<2)|2,{50,95,0}}, +/* 5205 */ {(11<<2)|2,{50,95,0}}, +/* 5206 */ {(11<<2)|2,{50,95,0}}, +/* 5207 */ {(11<<2)|2,{50,95,0}}, +/* 5208 */ {(11<<2)|2,{50,95,0}}, +/* 5209 */ {(11<<2)|2,{50,95,0}}, +/* 5210 */ {(11<<2)|2,{50,95,0}}, +/* 5211 */ {(11<<2)|2,{50,95,0}}, +/* 5212 */ {(11<<2)|2,{50,95,0}}, +/* 5213 */ {(11<<2)|2,{50,95,0}}, +/* 5214 */ {(11<<2)|2,{50,95,0}}, +/* 5215 */ {(11<<2)|2,{50,95,0}}, +/* 5216 */ {(16<<2)|3,{50,98,48}}, +/* 5217 */ {(16<<2)|3,{50,98,49}}, +/* 5218 */ {(16<<2)|3,{50,98,50}}, +/* 5219 */ {(16<<2)|3,{50,98,97}}, +/* 5220 */ {(16<<2)|3,{50,98,99}}, +/* 5221 */ {(16<<2)|3,{50,98,101}}, +/* 5222 */ {(16<<2)|3,{50,98,105}}, +/* 5223 */ {(16<<2)|3,{50,98,111}}, +/* 5224 */ {(16<<2)|3,{50,98,115}}, +/* 5225 */ {(16<<2)|3,{50,98,116}}, +/* 5226 */ {(11<<2)|2,{50,98,0}}, +/* 5227 */ {(11<<2)|2,{50,98,0}}, +/* 5228 */ {(11<<2)|2,{50,98,0}}, +/* 5229 */ {(11<<2)|2,{50,98,0}}, +/* 5230 */ {(11<<2)|2,{50,98,0}}, +/* 5231 */ {(11<<2)|2,{50,98,0}}, +/* 5232 */ {(11<<2)|2,{50,98,0}}, +/* 5233 */ {(11<<2)|2,{50,98,0}}, +/* 5234 */ {(11<<2)|2,{50,98,0}}, +/* 5235 */ {(11<<2)|2,{50,98,0}}, +/* 5236 */ {(11<<2)|2,{50,98,0}}, +/* 5237 */ {(11<<2)|2,{50,98,0}}, +/* 5238 */ {(11<<2)|2,{50,98,0}}, +/* 5239 */ {(11<<2)|2,{50,98,0}}, +/* 5240 */ {(11<<2)|2,{50,98,0}}, +/* 5241 */ {(11<<2)|2,{50,98,0}}, +/* 5242 */ {(11<<2)|2,{50,98,0}}, +/* 5243 */ {(11<<2)|2,{50,98,0}}, +/* 5244 */ {(11<<2)|2,{50,98,0}}, +/* 5245 */ {(11<<2)|2,{50,98,0}}, +/* 5246 */ {(11<<2)|2,{50,98,0}}, +/* 5247 */ {(11<<2)|2,{50,98,0}}, +/* 5248 */ {(16<<2)|3,{50,100,48}}, +/* 5249 */ {(16<<2)|3,{50,100,49}}, +/* 5250 */ {(16<<2)|3,{50,100,50}}, +/* 5251 */ {(16<<2)|3,{50,100,97}}, +/* 5252 */ {(16<<2)|3,{50,100,99}}, +/* 5253 */ {(16<<2)|3,{50,100,101}}, +/* 5254 */ {(16<<2)|3,{50,100,105}}, +/* 5255 */ {(16<<2)|3,{50,100,111}}, +/* 5256 */ {(16<<2)|3,{50,100,115}}, +/* 5257 */ {(16<<2)|3,{50,100,116}}, +/* 5258 */ {(11<<2)|2,{50,100,0}}, +/* 5259 */ {(11<<2)|2,{50,100,0}}, +/* 5260 */ {(11<<2)|2,{50,100,0}}, +/* 5261 */ {(11<<2)|2,{50,100,0}}, +/* 5262 */ {(11<<2)|2,{50,100,0}}, +/* 5263 */ {(11<<2)|2,{50,100,0}}, +/* 5264 */ {(11<<2)|2,{50,100,0}}, +/* 5265 */ {(11<<2)|2,{50,100,0}}, +/* 5266 */ {(11<<2)|2,{50,100,0}}, +/* 5267 */ {(11<<2)|2,{50,100,0}}, +/* 5268 */ {(11<<2)|2,{50,100,0}}, +/* 5269 */ {(11<<2)|2,{50,100,0}}, +/* 5270 */ {(11<<2)|2,{50,100,0}}, +/* 5271 */ {(11<<2)|2,{50,100,0}}, +/* 5272 */ {(11<<2)|2,{50,100,0}}, +/* 5273 */ {(11<<2)|2,{50,100,0}}, +/* 5274 */ {(11<<2)|2,{50,100,0}}, +/* 5275 */ {(11<<2)|2,{50,100,0}}, +/* 5276 */ {(11<<2)|2,{50,100,0}}, +/* 5277 */ {(11<<2)|2,{50,100,0}}, +/* 5278 */ {(11<<2)|2,{50,100,0}}, +/* 5279 */ {(11<<2)|2,{50,100,0}}, +/* 5280 */ {(16<<2)|3,{50,102,48}}, +/* 5281 */ {(16<<2)|3,{50,102,49}}, +/* 5282 */ {(16<<2)|3,{50,102,50}}, +/* 5283 */ {(16<<2)|3,{50,102,97}}, +/* 5284 */ {(16<<2)|3,{50,102,99}}, +/* 5285 */ {(16<<2)|3,{50,102,101}}, +/* 5286 */ {(16<<2)|3,{50,102,105}}, +/* 5287 */ {(16<<2)|3,{50,102,111}}, +/* 5288 */ {(16<<2)|3,{50,102,115}}, +/* 5289 */ {(16<<2)|3,{50,102,116}}, +/* 5290 */ {(11<<2)|2,{50,102,0}}, +/* 5291 */ {(11<<2)|2,{50,102,0}}, +/* 5292 */ {(11<<2)|2,{50,102,0}}, +/* 5293 */ {(11<<2)|2,{50,102,0}}, +/* 5294 */ {(11<<2)|2,{50,102,0}}, +/* 5295 */ {(11<<2)|2,{50,102,0}}, +/* 5296 */ {(11<<2)|2,{50,102,0}}, +/* 5297 */ {(11<<2)|2,{50,102,0}}, +/* 5298 */ {(11<<2)|2,{50,102,0}}, +/* 5299 */ {(11<<2)|2,{50,102,0}}, +/* 5300 */ {(11<<2)|2,{50,102,0}}, +/* 5301 */ {(11<<2)|2,{50,102,0}}, +/* 5302 */ {(11<<2)|2,{50,102,0}}, +/* 5303 */ {(11<<2)|2,{50,102,0}}, +/* 5304 */ {(11<<2)|2,{50,102,0}}, +/* 5305 */ {(11<<2)|2,{50,102,0}}, +/* 5306 */ {(11<<2)|2,{50,102,0}}, +/* 5307 */ {(11<<2)|2,{50,102,0}}, +/* 5308 */ {(11<<2)|2,{50,102,0}}, +/* 5309 */ {(11<<2)|2,{50,102,0}}, +/* 5310 */ {(11<<2)|2,{50,102,0}}, +/* 5311 */ {(11<<2)|2,{50,102,0}}, +/* 5312 */ {(16<<2)|3,{50,103,48}}, +/* 5313 */ {(16<<2)|3,{50,103,49}}, +/* 5314 */ {(16<<2)|3,{50,103,50}}, +/* 5315 */ {(16<<2)|3,{50,103,97}}, +/* 5316 */ {(16<<2)|3,{50,103,99}}, +/* 5317 */ {(16<<2)|3,{50,103,101}}, +/* 5318 */ {(16<<2)|3,{50,103,105}}, +/* 5319 */ {(16<<2)|3,{50,103,111}}, +/* 5320 */ {(16<<2)|3,{50,103,115}}, +/* 5321 */ {(16<<2)|3,{50,103,116}}, +/* 5322 */ {(11<<2)|2,{50,103,0}}, +/* 5323 */ {(11<<2)|2,{50,103,0}}, +/* 5324 */ {(11<<2)|2,{50,103,0}}, +/* 5325 */ {(11<<2)|2,{50,103,0}}, +/* 5326 */ {(11<<2)|2,{50,103,0}}, +/* 5327 */ {(11<<2)|2,{50,103,0}}, +/* 5328 */ {(11<<2)|2,{50,103,0}}, +/* 5329 */ {(11<<2)|2,{50,103,0}}, +/* 5330 */ {(11<<2)|2,{50,103,0}}, +/* 5331 */ {(11<<2)|2,{50,103,0}}, +/* 5332 */ {(11<<2)|2,{50,103,0}}, +/* 5333 */ {(11<<2)|2,{50,103,0}}, +/* 5334 */ {(11<<2)|2,{50,103,0}}, +/* 5335 */ {(11<<2)|2,{50,103,0}}, +/* 5336 */ {(11<<2)|2,{50,103,0}}, +/* 5337 */ {(11<<2)|2,{50,103,0}}, +/* 5338 */ {(11<<2)|2,{50,103,0}}, +/* 5339 */ {(11<<2)|2,{50,103,0}}, +/* 5340 */ {(11<<2)|2,{50,103,0}}, +/* 5341 */ {(11<<2)|2,{50,103,0}}, +/* 5342 */ {(11<<2)|2,{50,103,0}}, +/* 5343 */ {(11<<2)|2,{50,103,0}}, +/* 5344 */ {(16<<2)|3,{50,104,48}}, +/* 5345 */ {(16<<2)|3,{50,104,49}}, +/* 5346 */ {(16<<2)|3,{50,104,50}}, +/* 5347 */ {(16<<2)|3,{50,104,97}}, +/* 5348 */ {(16<<2)|3,{50,104,99}}, +/* 5349 */ {(16<<2)|3,{50,104,101}}, +/* 5350 */ {(16<<2)|3,{50,104,105}}, +/* 5351 */ {(16<<2)|3,{50,104,111}}, +/* 5352 */ {(16<<2)|3,{50,104,115}}, +/* 5353 */ {(16<<2)|3,{50,104,116}}, +/* 5354 */ {(11<<2)|2,{50,104,0}}, +/* 5355 */ {(11<<2)|2,{50,104,0}}, +/* 5356 */ {(11<<2)|2,{50,104,0}}, +/* 5357 */ {(11<<2)|2,{50,104,0}}, +/* 5358 */ {(11<<2)|2,{50,104,0}}, +/* 5359 */ {(11<<2)|2,{50,104,0}}, +/* 5360 */ {(11<<2)|2,{50,104,0}}, +/* 5361 */ {(11<<2)|2,{50,104,0}}, +/* 5362 */ {(11<<2)|2,{50,104,0}}, +/* 5363 */ {(11<<2)|2,{50,104,0}}, +/* 5364 */ {(11<<2)|2,{50,104,0}}, +/* 5365 */ {(11<<2)|2,{50,104,0}}, +/* 5366 */ {(11<<2)|2,{50,104,0}}, +/* 5367 */ {(11<<2)|2,{50,104,0}}, +/* 5368 */ {(11<<2)|2,{50,104,0}}, +/* 5369 */ {(11<<2)|2,{50,104,0}}, +/* 5370 */ {(11<<2)|2,{50,104,0}}, +/* 5371 */ {(11<<2)|2,{50,104,0}}, +/* 5372 */ {(11<<2)|2,{50,104,0}}, +/* 5373 */ {(11<<2)|2,{50,104,0}}, +/* 5374 */ {(11<<2)|2,{50,104,0}}, +/* 5375 */ {(11<<2)|2,{50,104,0}}, +/* 5376 */ {(16<<2)|3,{50,108,48}}, +/* 5377 */ {(16<<2)|3,{50,108,49}}, +/* 5378 */ {(16<<2)|3,{50,108,50}}, +/* 5379 */ {(16<<2)|3,{50,108,97}}, +/* 5380 */ {(16<<2)|3,{50,108,99}}, +/* 5381 */ {(16<<2)|3,{50,108,101}}, +/* 5382 */ {(16<<2)|3,{50,108,105}}, +/* 5383 */ {(16<<2)|3,{50,108,111}}, +/* 5384 */ {(16<<2)|3,{50,108,115}}, +/* 5385 */ {(16<<2)|3,{50,108,116}}, +/* 5386 */ {(11<<2)|2,{50,108,0}}, +/* 5387 */ {(11<<2)|2,{50,108,0}}, +/* 5388 */ {(11<<2)|2,{50,108,0}}, +/* 5389 */ {(11<<2)|2,{50,108,0}}, +/* 5390 */ {(11<<2)|2,{50,108,0}}, +/* 5391 */ {(11<<2)|2,{50,108,0}}, +/* 5392 */ {(11<<2)|2,{50,108,0}}, +/* 5393 */ {(11<<2)|2,{50,108,0}}, +/* 5394 */ {(11<<2)|2,{50,108,0}}, +/* 5395 */ {(11<<2)|2,{50,108,0}}, +/* 5396 */ {(11<<2)|2,{50,108,0}}, +/* 5397 */ {(11<<2)|2,{50,108,0}}, +/* 5398 */ {(11<<2)|2,{50,108,0}}, +/* 5399 */ {(11<<2)|2,{50,108,0}}, +/* 5400 */ {(11<<2)|2,{50,108,0}}, +/* 5401 */ {(11<<2)|2,{50,108,0}}, +/* 5402 */ {(11<<2)|2,{50,108,0}}, +/* 5403 */ {(11<<2)|2,{50,108,0}}, +/* 5404 */ {(11<<2)|2,{50,108,0}}, +/* 5405 */ {(11<<2)|2,{50,108,0}}, +/* 5406 */ {(11<<2)|2,{50,108,0}}, +/* 5407 */ {(11<<2)|2,{50,108,0}}, +/* 5408 */ {(16<<2)|3,{50,109,48}}, +/* 5409 */ {(16<<2)|3,{50,109,49}}, +/* 5410 */ {(16<<2)|3,{50,109,50}}, +/* 5411 */ {(16<<2)|3,{50,109,97}}, +/* 5412 */ {(16<<2)|3,{50,109,99}}, +/* 5413 */ {(16<<2)|3,{50,109,101}}, +/* 5414 */ {(16<<2)|3,{50,109,105}}, +/* 5415 */ {(16<<2)|3,{50,109,111}}, +/* 5416 */ {(16<<2)|3,{50,109,115}}, +/* 5417 */ {(16<<2)|3,{50,109,116}}, +/* 5418 */ {(11<<2)|2,{50,109,0}}, +/* 5419 */ {(11<<2)|2,{50,109,0}}, +/* 5420 */ {(11<<2)|2,{50,109,0}}, +/* 5421 */ {(11<<2)|2,{50,109,0}}, +/* 5422 */ {(11<<2)|2,{50,109,0}}, +/* 5423 */ {(11<<2)|2,{50,109,0}}, +/* 5424 */ {(11<<2)|2,{50,109,0}}, +/* 5425 */ {(11<<2)|2,{50,109,0}}, +/* 5426 */ {(11<<2)|2,{50,109,0}}, +/* 5427 */ {(11<<2)|2,{50,109,0}}, +/* 5428 */ {(11<<2)|2,{50,109,0}}, +/* 5429 */ {(11<<2)|2,{50,109,0}}, +/* 5430 */ {(11<<2)|2,{50,109,0}}, +/* 5431 */ {(11<<2)|2,{50,109,0}}, +/* 5432 */ {(11<<2)|2,{50,109,0}}, +/* 5433 */ {(11<<2)|2,{50,109,0}}, +/* 5434 */ {(11<<2)|2,{50,109,0}}, +/* 5435 */ {(11<<2)|2,{50,109,0}}, +/* 5436 */ {(11<<2)|2,{50,109,0}}, +/* 5437 */ {(11<<2)|2,{50,109,0}}, +/* 5438 */ {(11<<2)|2,{50,109,0}}, +/* 5439 */ {(11<<2)|2,{50,109,0}}, +/* 5440 */ {(16<<2)|3,{50,110,48}}, +/* 5441 */ {(16<<2)|3,{50,110,49}}, +/* 5442 */ {(16<<2)|3,{50,110,50}}, +/* 5443 */ {(16<<2)|3,{50,110,97}}, +/* 5444 */ {(16<<2)|3,{50,110,99}}, +/* 5445 */ {(16<<2)|3,{50,110,101}}, +/* 5446 */ {(16<<2)|3,{50,110,105}}, +/* 5447 */ {(16<<2)|3,{50,110,111}}, +/* 5448 */ {(16<<2)|3,{50,110,115}}, +/* 5449 */ {(16<<2)|3,{50,110,116}}, +/* 5450 */ {(11<<2)|2,{50,110,0}}, +/* 5451 */ {(11<<2)|2,{50,110,0}}, +/* 5452 */ {(11<<2)|2,{50,110,0}}, +/* 5453 */ {(11<<2)|2,{50,110,0}}, +/* 5454 */ {(11<<2)|2,{50,110,0}}, +/* 5455 */ {(11<<2)|2,{50,110,0}}, +/* 5456 */ {(11<<2)|2,{50,110,0}}, +/* 5457 */ {(11<<2)|2,{50,110,0}}, +/* 5458 */ {(11<<2)|2,{50,110,0}}, +/* 5459 */ {(11<<2)|2,{50,110,0}}, +/* 5460 */ {(11<<2)|2,{50,110,0}}, +/* 5461 */ {(11<<2)|2,{50,110,0}}, +/* 5462 */ {(11<<2)|2,{50,110,0}}, +/* 5463 */ {(11<<2)|2,{50,110,0}}, +/* 5464 */ {(11<<2)|2,{50,110,0}}, +/* 5465 */ {(11<<2)|2,{50,110,0}}, +/* 5466 */ {(11<<2)|2,{50,110,0}}, +/* 5467 */ {(11<<2)|2,{50,110,0}}, +/* 5468 */ {(11<<2)|2,{50,110,0}}, +/* 5469 */ {(11<<2)|2,{50,110,0}}, +/* 5470 */ {(11<<2)|2,{50,110,0}}, +/* 5471 */ {(11<<2)|2,{50,110,0}}, +/* 5472 */ {(16<<2)|3,{50,112,48}}, +/* 5473 */ {(16<<2)|3,{50,112,49}}, +/* 5474 */ {(16<<2)|3,{50,112,50}}, +/* 5475 */ {(16<<2)|3,{50,112,97}}, +/* 5476 */ {(16<<2)|3,{50,112,99}}, +/* 5477 */ {(16<<2)|3,{50,112,101}}, +/* 5478 */ {(16<<2)|3,{50,112,105}}, +/* 5479 */ {(16<<2)|3,{50,112,111}}, +/* 5480 */ {(16<<2)|3,{50,112,115}}, +/* 5481 */ {(16<<2)|3,{50,112,116}}, +/* 5482 */ {(11<<2)|2,{50,112,0}}, +/* 5483 */ {(11<<2)|2,{50,112,0}}, +/* 5484 */ {(11<<2)|2,{50,112,0}}, +/* 5485 */ {(11<<2)|2,{50,112,0}}, +/* 5486 */ {(11<<2)|2,{50,112,0}}, +/* 5487 */ {(11<<2)|2,{50,112,0}}, +/* 5488 */ {(11<<2)|2,{50,112,0}}, +/* 5489 */ {(11<<2)|2,{50,112,0}}, +/* 5490 */ {(11<<2)|2,{50,112,0}}, +/* 5491 */ {(11<<2)|2,{50,112,0}}, +/* 5492 */ {(11<<2)|2,{50,112,0}}, +/* 5493 */ {(11<<2)|2,{50,112,0}}, +/* 5494 */ {(11<<2)|2,{50,112,0}}, +/* 5495 */ {(11<<2)|2,{50,112,0}}, +/* 5496 */ {(11<<2)|2,{50,112,0}}, +/* 5497 */ {(11<<2)|2,{50,112,0}}, +/* 5498 */ {(11<<2)|2,{50,112,0}}, +/* 5499 */ {(11<<2)|2,{50,112,0}}, +/* 5500 */ {(11<<2)|2,{50,112,0}}, +/* 5501 */ {(11<<2)|2,{50,112,0}}, +/* 5502 */ {(11<<2)|2,{50,112,0}}, +/* 5503 */ {(11<<2)|2,{50,112,0}}, +/* 5504 */ {(16<<2)|3,{50,114,48}}, +/* 5505 */ {(16<<2)|3,{50,114,49}}, +/* 5506 */ {(16<<2)|3,{50,114,50}}, +/* 5507 */ {(16<<2)|3,{50,114,97}}, +/* 5508 */ {(16<<2)|3,{50,114,99}}, +/* 5509 */ {(16<<2)|3,{50,114,101}}, +/* 5510 */ {(16<<2)|3,{50,114,105}}, +/* 5511 */ {(16<<2)|3,{50,114,111}}, +/* 5512 */ {(16<<2)|3,{50,114,115}}, +/* 5513 */ {(16<<2)|3,{50,114,116}}, +/* 5514 */ {(11<<2)|2,{50,114,0}}, +/* 5515 */ {(11<<2)|2,{50,114,0}}, +/* 5516 */ {(11<<2)|2,{50,114,0}}, +/* 5517 */ {(11<<2)|2,{50,114,0}}, +/* 5518 */ {(11<<2)|2,{50,114,0}}, +/* 5519 */ {(11<<2)|2,{50,114,0}}, +/* 5520 */ {(11<<2)|2,{50,114,0}}, +/* 5521 */ {(11<<2)|2,{50,114,0}}, +/* 5522 */ {(11<<2)|2,{50,114,0}}, +/* 5523 */ {(11<<2)|2,{50,114,0}}, +/* 5524 */ {(11<<2)|2,{50,114,0}}, +/* 5525 */ {(11<<2)|2,{50,114,0}}, +/* 5526 */ {(11<<2)|2,{50,114,0}}, +/* 5527 */ {(11<<2)|2,{50,114,0}}, +/* 5528 */ {(11<<2)|2,{50,114,0}}, +/* 5529 */ {(11<<2)|2,{50,114,0}}, +/* 5530 */ {(11<<2)|2,{50,114,0}}, +/* 5531 */ {(11<<2)|2,{50,114,0}}, +/* 5532 */ {(11<<2)|2,{50,114,0}}, +/* 5533 */ {(11<<2)|2,{50,114,0}}, +/* 5534 */ {(11<<2)|2,{50,114,0}}, +/* 5535 */ {(11<<2)|2,{50,114,0}}, +/* 5536 */ {(16<<2)|3,{50,117,48}}, +/* 5537 */ {(16<<2)|3,{50,117,49}}, +/* 5538 */ {(16<<2)|3,{50,117,50}}, +/* 5539 */ {(16<<2)|3,{50,117,97}}, +/* 5540 */ {(16<<2)|3,{50,117,99}}, +/* 5541 */ {(16<<2)|3,{50,117,101}}, +/* 5542 */ {(16<<2)|3,{50,117,105}}, +/* 5543 */ {(16<<2)|3,{50,117,111}}, +/* 5544 */ {(16<<2)|3,{50,117,115}}, +/* 5545 */ {(16<<2)|3,{50,117,116}}, +/* 5546 */ {(11<<2)|2,{50,117,0}}, +/* 5547 */ {(11<<2)|2,{50,117,0}}, +/* 5548 */ {(11<<2)|2,{50,117,0}}, +/* 5549 */ {(11<<2)|2,{50,117,0}}, +/* 5550 */ {(11<<2)|2,{50,117,0}}, +/* 5551 */ {(11<<2)|2,{50,117,0}}, +/* 5552 */ {(11<<2)|2,{50,117,0}}, +/* 5553 */ {(11<<2)|2,{50,117,0}}, +/* 5554 */ {(11<<2)|2,{50,117,0}}, +/* 5555 */ {(11<<2)|2,{50,117,0}}, +/* 5556 */ {(11<<2)|2,{50,117,0}}, +/* 5557 */ {(11<<2)|2,{50,117,0}}, +/* 5558 */ {(11<<2)|2,{50,117,0}}, +/* 5559 */ {(11<<2)|2,{50,117,0}}, +/* 5560 */ {(11<<2)|2,{50,117,0}}, +/* 5561 */ {(11<<2)|2,{50,117,0}}, +/* 5562 */ {(11<<2)|2,{50,117,0}}, +/* 5563 */ {(11<<2)|2,{50,117,0}}, +/* 5564 */ {(11<<2)|2,{50,117,0}}, +/* 5565 */ {(11<<2)|2,{50,117,0}}, +/* 5566 */ {(11<<2)|2,{50,117,0}}, +/* 5567 */ {(11<<2)|2,{50,117,0}}, +/* 5568 */ {(12<<2)|2,{50,58,0}}, +/* 5569 */ {(12<<2)|2,{50,58,0}}, +/* 5570 */ {(12<<2)|2,{50,58,0}}, +/* 5571 */ {(12<<2)|2,{50,58,0}}, +/* 5572 */ {(12<<2)|2,{50,58,0}}, +/* 5573 */ {(12<<2)|2,{50,58,0}}, +/* 5574 */ {(12<<2)|2,{50,58,0}}, +/* 5575 */ {(12<<2)|2,{50,58,0}}, +/* 5576 */ {(12<<2)|2,{50,58,0}}, +/* 5577 */ {(12<<2)|2,{50,58,0}}, +/* 5578 */ {(12<<2)|2,{50,58,0}}, +/* 5579 */ {(12<<2)|2,{50,58,0}}, +/* 5580 */ {(12<<2)|2,{50,58,0}}, +/* 5581 */ {(12<<2)|2,{50,58,0}}, +/* 5582 */ {(12<<2)|2,{50,58,0}}, +/* 5583 */ {(12<<2)|2,{50,58,0}}, +/* 5584 */ {(12<<2)|2,{50,66,0}}, +/* 5585 */ {(12<<2)|2,{50,66,0}}, +/* 5586 */ {(12<<2)|2,{50,66,0}}, +/* 5587 */ {(12<<2)|2,{50,66,0}}, +/* 5588 */ {(12<<2)|2,{50,66,0}}, +/* 5589 */ {(12<<2)|2,{50,66,0}}, +/* 5590 */ {(12<<2)|2,{50,66,0}}, +/* 5591 */ {(12<<2)|2,{50,66,0}}, +/* 5592 */ {(12<<2)|2,{50,66,0}}, +/* 5593 */ {(12<<2)|2,{50,66,0}}, +/* 5594 */ {(12<<2)|2,{50,66,0}}, +/* 5595 */ {(12<<2)|2,{50,66,0}}, +/* 5596 */ {(12<<2)|2,{50,66,0}}, +/* 5597 */ {(12<<2)|2,{50,66,0}}, +/* 5598 */ {(12<<2)|2,{50,66,0}}, +/* 5599 */ {(12<<2)|2,{50,66,0}}, +/* 5600 */ {(12<<2)|2,{50,67,0}}, +/* 5601 */ {(12<<2)|2,{50,67,0}}, +/* 5602 */ {(12<<2)|2,{50,67,0}}, +/* 5603 */ {(12<<2)|2,{50,67,0}}, +/* 5604 */ {(12<<2)|2,{50,67,0}}, +/* 5605 */ {(12<<2)|2,{50,67,0}}, +/* 5606 */ {(12<<2)|2,{50,67,0}}, +/* 5607 */ {(12<<2)|2,{50,67,0}}, +/* 5608 */ {(12<<2)|2,{50,67,0}}, +/* 5609 */ {(12<<2)|2,{50,67,0}}, +/* 5610 */ {(12<<2)|2,{50,67,0}}, +/* 5611 */ {(12<<2)|2,{50,67,0}}, +/* 5612 */ {(12<<2)|2,{50,67,0}}, +/* 5613 */ {(12<<2)|2,{50,67,0}}, +/* 5614 */ {(12<<2)|2,{50,67,0}}, +/* 5615 */ {(12<<2)|2,{50,67,0}}, +/* 5616 */ {(12<<2)|2,{50,68,0}}, +/* 5617 */ {(12<<2)|2,{50,68,0}}, +/* 5618 */ {(12<<2)|2,{50,68,0}}, +/* 5619 */ {(12<<2)|2,{50,68,0}}, +/* 5620 */ {(12<<2)|2,{50,68,0}}, +/* 5621 */ {(12<<2)|2,{50,68,0}}, +/* 5622 */ {(12<<2)|2,{50,68,0}}, +/* 5623 */ {(12<<2)|2,{50,68,0}}, +/* 5624 */ {(12<<2)|2,{50,68,0}}, +/* 5625 */ {(12<<2)|2,{50,68,0}}, +/* 5626 */ {(12<<2)|2,{50,68,0}}, +/* 5627 */ {(12<<2)|2,{50,68,0}}, +/* 5628 */ {(12<<2)|2,{50,68,0}}, +/* 5629 */ {(12<<2)|2,{50,68,0}}, +/* 5630 */ {(12<<2)|2,{50,68,0}}, +/* 5631 */ {(12<<2)|2,{50,68,0}}, +/* 5632 */ {(12<<2)|2,{50,69,0}}, +/* 5633 */ {(12<<2)|2,{50,69,0}}, +/* 5634 */ {(12<<2)|2,{50,69,0}}, +/* 5635 */ {(12<<2)|2,{50,69,0}}, +/* 5636 */ {(12<<2)|2,{50,69,0}}, +/* 5637 */ {(12<<2)|2,{50,69,0}}, +/* 5638 */ {(12<<2)|2,{50,69,0}}, +/* 5639 */ {(12<<2)|2,{50,69,0}}, +/* 5640 */ {(12<<2)|2,{50,69,0}}, +/* 5641 */ {(12<<2)|2,{50,69,0}}, +/* 5642 */ {(12<<2)|2,{50,69,0}}, +/* 5643 */ {(12<<2)|2,{50,69,0}}, +/* 5644 */ {(12<<2)|2,{50,69,0}}, +/* 5645 */ {(12<<2)|2,{50,69,0}}, +/* 5646 */ {(12<<2)|2,{50,69,0}}, +/* 5647 */ {(12<<2)|2,{50,69,0}}, +/* 5648 */ {(12<<2)|2,{50,70,0}}, +/* 5649 */ {(12<<2)|2,{50,70,0}}, +/* 5650 */ {(12<<2)|2,{50,70,0}}, +/* 5651 */ {(12<<2)|2,{50,70,0}}, +/* 5652 */ {(12<<2)|2,{50,70,0}}, +/* 5653 */ {(12<<2)|2,{50,70,0}}, +/* 5654 */ {(12<<2)|2,{50,70,0}}, +/* 5655 */ {(12<<2)|2,{50,70,0}}, +/* 5656 */ {(12<<2)|2,{50,70,0}}, +/* 5657 */ {(12<<2)|2,{50,70,0}}, +/* 5658 */ {(12<<2)|2,{50,70,0}}, +/* 5659 */ {(12<<2)|2,{50,70,0}}, +/* 5660 */ {(12<<2)|2,{50,70,0}}, +/* 5661 */ {(12<<2)|2,{50,70,0}}, +/* 5662 */ {(12<<2)|2,{50,70,0}}, +/* 5663 */ {(12<<2)|2,{50,70,0}}, +/* 5664 */ {(12<<2)|2,{50,71,0}}, +/* 5665 */ {(12<<2)|2,{50,71,0}}, +/* 5666 */ {(12<<2)|2,{50,71,0}}, +/* 5667 */ {(12<<2)|2,{50,71,0}}, +/* 5668 */ {(12<<2)|2,{50,71,0}}, +/* 5669 */ {(12<<2)|2,{50,71,0}}, +/* 5670 */ {(12<<2)|2,{50,71,0}}, +/* 5671 */ {(12<<2)|2,{50,71,0}}, +/* 5672 */ {(12<<2)|2,{50,71,0}}, +/* 5673 */ {(12<<2)|2,{50,71,0}}, +/* 5674 */ {(12<<2)|2,{50,71,0}}, +/* 5675 */ {(12<<2)|2,{50,71,0}}, +/* 5676 */ {(12<<2)|2,{50,71,0}}, +/* 5677 */ {(12<<2)|2,{50,71,0}}, +/* 5678 */ {(12<<2)|2,{50,71,0}}, +/* 5679 */ {(12<<2)|2,{50,71,0}}, +/* 5680 */ {(12<<2)|2,{50,72,0}}, +/* 5681 */ {(12<<2)|2,{50,72,0}}, +/* 5682 */ {(12<<2)|2,{50,72,0}}, +/* 5683 */ {(12<<2)|2,{50,72,0}}, +/* 5684 */ {(12<<2)|2,{50,72,0}}, +/* 5685 */ {(12<<2)|2,{50,72,0}}, +/* 5686 */ {(12<<2)|2,{50,72,0}}, +/* 5687 */ {(12<<2)|2,{50,72,0}}, +/* 5688 */ {(12<<2)|2,{50,72,0}}, +/* 5689 */ {(12<<2)|2,{50,72,0}}, +/* 5690 */ {(12<<2)|2,{50,72,0}}, +/* 5691 */ {(12<<2)|2,{50,72,0}}, +/* 5692 */ {(12<<2)|2,{50,72,0}}, +/* 5693 */ {(12<<2)|2,{50,72,0}}, +/* 5694 */ {(12<<2)|2,{50,72,0}}, +/* 5695 */ {(12<<2)|2,{50,72,0}}, +/* 5696 */ {(12<<2)|2,{50,73,0}}, +/* 5697 */ {(12<<2)|2,{50,73,0}}, +/* 5698 */ {(12<<2)|2,{50,73,0}}, +/* 5699 */ {(12<<2)|2,{50,73,0}}, +/* 5700 */ {(12<<2)|2,{50,73,0}}, +/* 5701 */ {(12<<2)|2,{50,73,0}}, +/* 5702 */ {(12<<2)|2,{50,73,0}}, +/* 5703 */ {(12<<2)|2,{50,73,0}}, +/* 5704 */ {(12<<2)|2,{50,73,0}}, +/* 5705 */ {(12<<2)|2,{50,73,0}}, +/* 5706 */ {(12<<2)|2,{50,73,0}}, +/* 5707 */ {(12<<2)|2,{50,73,0}}, +/* 5708 */ {(12<<2)|2,{50,73,0}}, +/* 5709 */ {(12<<2)|2,{50,73,0}}, +/* 5710 */ {(12<<2)|2,{50,73,0}}, +/* 5711 */ {(12<<2)|2,{50,73,0}}, +/* 5712 */ {(12<<2)|2,{50,74,0}}, +/* 5713 */ {(12<<2)|2,{50,74,0}}, +/* 5714 */ {(12<<2)|2,{50,74,0}}, +/* 5715 */ {(12<<2)|2,{50,74,0}}, +/* 5716 */ {(12<<2)|2,{50,74,0}}, +/* 5717 */ {(12<<2)|2,{50,74,0}}, +/* 5718 */ {(12<<2)|2,{50,74,0}}, +/* 5719 */ {(12<<2)|2,{50,74,0}}, +/* 5720 */ {(12<<2)|2,{50,74,0}}, +/* 5721 */ {(12<<2)|2,{50,74,0}}, +/* 5722 */ {(12<<2)|2,{50,74,0}}, +/* 5723 */ {(12<<2)|2,{50,74,0}}, +/* 5724 */ {(12<<2)|2,{50,74,0}}, +/* 5725 */ {(12<<2)|2,{50,74,0}}, +/* 5726 */ {(12<<2)|2,{50,74,0}}, +/* 5727 */ {(12<<2)|2,{50,74,0}}, +/* 5728 */ {(12<<2)|2,{50,75,0}}, +/* 5729 */ {(12<<2)|2,{50,75,0}}, +/* 5730 */ {(12<<2)|2,{50,75,0}}, +/* 5731 */ {(12<<2)|2,{50,75,0}}, +/* 5732 */ {(12<<2)|2,{50,75,0}}, +/* 5733 */ {(12<<2)|2,{50,75,0}}, +/* 5734 */ {(12<<2)|2,{50,75,0}}, +/* 5735 */ {(12<<2)|2,{50,75,0}}, +/* 5736 */ {(12<<2)|2,{50,75,0}}, +/* 5737 */ {(12<<2)|2,{50,75,0}}, +/* 5738 */ {(12<<2)|2,{50,75,0}}, +/* 5739 */ {(12<<2)|2,{50,75,0}}, +/* 5740 */ {(12<<2)|2,{50,75,0}}, +/* 5741 */ {(12<<2)|2,{50,75,0}}, +/* 5742 */ {(12<<2)|2,{50,75,0}}, +/* 5743 */ {(12<<2)|2,{50,75,0}}, +/* 5744 */ {(12<<2)|2,{50,76,0}}, +/* 5745 */ {(12<<2)|2,{50,76,0}}, +/* 5746 */ {(12<<2)|2,{50,76,0}}, +/* 5747 */ {(12<<2)|2,{50,76,0}}, +/* 5748 */ {(12<<2)|2,{50,76,0}}, +/* 5749 */ {(12<<2)|2,{50,76,0}}, +/* 5750 */ {(12<<2)|2,{50,76,0}}, +/* 5751 */ {(12<<2)|2,{50,76,0}}, +/* 5752 */ {(12<<2)|2,{50,76,0}}, +/* 5753 */ {(12<<2)|2,{50,76,0}}, +/* 5754 */ {(12<<2)|2,{50,76,0}}, +/* 5755 */ {(12<<2)|2,{50,76,0}}, +/* 5756 */ {(12<<2)|2,{50,76,0}}, +/* 5757 */ {(12<<2)|2,{50,76,0}}, +/* 5758 */ {(12<<2)|2,{50,76,0}}, +/* 5759 */ {(12<<2)|2,{50,76,0}}, +/* 5760 */ {(12<<2)|2,{50,77,0}}, +/* 5761 */ {(12<<2)|2,{50,77,0}}, +/* 5762 */ {(12<<2)|2,{50,77,0}}, +/* 5763 */ {(12<<2)|2,{50,77,0}}, +/* 5764 */ {(12<<2)|2,{50,77,0}}, +/* 5765 */ {(12<<2)|2,{50,77,0}}, +/* 5766 */ {(12<<2)|2,{50,77,0}}, +/* 5767 */ {(12<<2)|2,{50,77,0}}, +/* 5768 */ {(12<<2)|2,{50,77,0}}, +/* 5769 */ {(12<<2)|2,{50,77,0}}, +/* 5770 */ {(12<<2)|2,{50,77,0}}, +/* 5771 */ {(12<<2)|2,{50,77,0}}, +/* 5772 */ {(12<<2)|2,{50,77,0}}, +/* 5773 */ {(12<<2)|2,{50,77,0}}, +/* 5774 */ {(12<<2)|2,{50,77,0}}, +/* 5775 */ {(12<<2)|2,{50,77,0}}, +/* 5776 */ {(12<<2)|2,{50,78,0}}, +/* 5777 */ {(12<<2)|2,{50,78,0}}, +/* 5778 */ {(12<<2)|2,{50,78,0}}, +/* 5779 */ {(12<<2)|2,{50,78,0}}, +/* 5780 */ {(12<<2)|2,{50,78,0}}, +/* 5781 */ {(12<<2)|2,{50,78,0}}, +/* 5782 */ {(12<<2)|2,{50,78,0}}, +/* 5783 */ {(12<<2)|2,{50,78,0}}, +/* 5784 */ {(12<<2)|2,{50,78,0}}, +/* 5785 */ {(12<<2)|2,{50,78,0}}, +/* 5786 */ {(12<<2)|2,{50,78,0}}, +/* 5787 */ {(12<<2)|2,{50,78,0}}, +/* 5788 */ {(12<<2)|2,{50,78,0}}, +/* 5789 */ {(12<<2)|2,{50,78,0}}, +/* 5790 */ {(12<<2)|2,{50,78,0}}, +/* 5791 */ {(12<<2)|2,{50,78,0}}, +/* 5792 */ {(12<<2)|2,{50,79,0}}, +/* 5793 */ {(12<<2)|2,{50,79,0}}, +/* 5794 */ {(12<<2)|2,{50,79,0}}, +/* 5795 */ {(12<<2)|2,{50,79,0}}, +/* 5796 */ {(12<<2)|2,{50,79,0}}, +/* 5797 */ {(12<<2)|2,{50,79,0}}, +/* 5798 */ {(12<<2)|2,{50,79,0}}, +/* 5799 */ {(12<<2)|2,{50,79,0}}, +/* 5800 */ {(12<<2)|2,{50,79,0}}, +/* 5801 */ {(12<<2)|2,{50,79,0}}, +/* 5802 */ {(12<<2)|2,{50,79,0}}, +/* 5803 */ {(12<<2)|2,{50,79,0}}, +/* 5804 */ {(12<<2)|2,{50,79,0}}, +/* 5805 */ {(12<<2)|2,{50,79,0}}, +/* 5806 */ {(12<<2)|2,{50,79,0}}, +/* 5807 */ {(12<<2)|2,{50,79,0}}, +/* 5808 */ {(12<<2)|2,{50,80,0}}, +/* 5809 */ {(12<<2)|2,{50,80,0}}, +/* 5810 */ {(12<<2)|2,{50,80,0}}, +/* 5811 */ {(12<<2)|2,{50,80,0}}, +/* 5812 */ {(12<<2)|2,{50,80,0}}, +/* 5813 */ {(12<<2)|2,{50,80,0}}, +/* 5814 */ {(12<<2)|2,{50,80,0}}, +/* 5815 */ {(12<<2)|2,{50,80,0}}, +/* 5816 */ {(12<<2)|2,{50,80,0}}, +/* 5817 */ {(12<<2)|2,{50,80,0}}, +/* 5818 */ {(12<<2)|2,{50,80,0}}, +/* 5819 */ {(12<<2)|2,{50,80,0}}, +/* 5820 */ {(12<<2)|2,{50,80,0}}, +/* 5821 */ {(12<<2)|2,{50,80,0}}, +/* 5822 */ {(12<<2)|2,{50,80,0}}, +/* 5823 */ {(12<<2)|2,{50,80,0}}, +/* 5824 */ {(12<<2)|2,{50,81,0}}, +/* 5825 */ {(12<<2)|2,{50,81,0}}, +/* 5826 */ {(12<<2)|2,{50,81,0}}, +/* 5827 */ {(12<<2)|2,{50,81,0}}, +/* 5828 */ {(12<<2)|2,{50,81,0}}, +/* 5829 */ {(12<<2)|2,{50,81,0}}, +/* 5830 */ {(12<<2)|2,{50,81,0}}, +/* 5831 */ {(12<<2)|2,{50,81,0}}, +/* 5832 */ {(12<<2)|2,{50,81,0}}, +/* 5833 */ {(12<<2)|2,{50,81,0}}, +/* 5834 */ {(12<<2)|2,{50,81,0}}, +/* 5835 */ {(12<<2)|2,{50,81,0}}, +/* 5836 */ {(12<<2)|2,{50,81,0}}, +/* 5837 */ {(12<<2)|2,{50,81,0}}, +/* 5838 */ {(12<<2)|2,{50,81,0}}, +/* 5839 */ {(12<<2)|2,{50,81,0}}, +/* 5840 */ {(12<<2)|2,{50,82,0}}, +/* 5841 */ {(12<<2)|2,{50,82,0}}, +/* 5842 */ {(12<<2)|2,{50,82,0}}, +/* 5843 */ {(12<<2)|2,{50,82,0}}, +/* 5844 */ {(12<<2)|2,{50,82,0}}, +/* 5845 */ {(12<<2)|2,{50,82,0}}, +/* 5846 */ {(12<<2)|2,{50,82,0}}, +/* 5847 */ {(12<<2)|2,{50,82,0}}, +/* 5848 */ {(12<<2)|2,{50,82,0}}, +/* 5849 */ {(12<<2)|2,{50,82,0}}, +/* 5850 */ {(12<<2)|2,{50,82,0}}, +/* 5851 */ {(12<<2)|2,{50,82,0}}, +/* 5852 */ {(12<<2)|2,{50,82,0}}, +/* 5853 */ {(12<<2)|2,{50,82,0}}, +/* 5854 */ {(12<<2)|2,{50,82,0}}, +/* 5855 */ {(12<<2)|2,{50,82,0}}, +/* 5856 */ {(12<<2)|2,{50,83,0}}, +/* 5857 */ {(12<<2)|2,{50,83,0}}, +/* 5858 */ {(12<<2)|2,{50,83,0}}, +/* 5859 */ {(12<<2)|2,{50,83,0}}, +/* 5860 */ {(12<<2)|2,{50,83,0}}, +/* 5861 */ {(12<<2)|2,{50,83,0}}, +/* 5862 */ {(12<<2)|2,{50,83,0}}, +/* 5863 */ {(12<<2)|2,{50,83,0}}, +/* 5864 */ {(12<<2)|2,{50,83,0}}, +/* 5865 */ {(12<<2)|2,{50,83,0}}, +/* 5866 */ {(12<<2)|2,{50,83,0}}, +/* 5867 */ {(12<<2)|2,{50,83,0}}, +/* 5868 */ {(12<<2)|2,{50,83,0}}, +/* 5869 */ {(12<<2)|2,{50,83,0}}, +/* 5870 */ {(12<<2)|2,{50,83,0}}, +/* 5871 */ {(12<<2)|2,{50,83,0}}, +/* 5872 */ {(12<<2)|2,{50,84,0}}, +/* 5873 */ {(12<<2)|2,{50,84,0}}, +/* 5874 */ {(12<<2)|2,{50,84,0}}, +/* 5875 */ {(12<<2)|2,{50,84,0}}, +/* 5876 */ {(12<<2)|2,{50,84,0}}, +/* 5877 */ {(12<<2)|2,{50,84,0}}, +/* 5878 */ {(12<<2)|2,{50,84,0}}, +/* 5879 */ {(12<<2)|2,{50,84,0}}, +/* 5880 */ {(12<<2)|2,{50,84,0}}, +/* 5881 */ {(12<<2)|2,{50,84,0}}, +/* 5882 */ {(12<<2)|2,{50,84,0}}, +/* 5883 */ {(12<<2)|2,{50,84,0}}, +/* 5884 */ {(12<<2)|2,{50,84,0}}, +/* 5885 */ {(12<<2)|2,{50,84,0}}, +/* 5886 */ {(12<<2)|2,{50,84,0}}, +/* 5887 */ {(12<<2)|2,{50,84,0}}, +/* 5888 */ {(12<<2)|2,{50,85,0}}, +/* 5889 */ {(12<<2)|2,{50,85,0}}, +/* 5890 */ {(12<<2)|2,{50,85,0}}, +/* 5891 */ {(12<<2)|2,{50,85,0}}, +/* 5892 */ {(12<<2)|2,{50,85,0}}, +/* 5893 */ {(12<<2)|2,{50,85,0}}, +/* 5894 */ {(12<<2)|2,{50,85,0}}, +/* 5895 */ {(12<<2)|2,{50,85,0}}, +/* 5896 */ {(12<<2)|2,{50,85,0}}, +/* 5897 */ {(12<<2)|2,{50,85,0}}, +/* 5898 */ {(12<<2)|2,{50,85,0}}, +/* 5899 */ {(12<<2)|2,{50,85,0}}, +/* 5900 */ {(12<<2)|2,{50,85,0}}, +/* 5901 */ {(12<<2)|2,{50,85,0}}, +/* 5902 */ {(12<<2)|2,{50,85,0}}, +/* 5903 */ {(12<<2)|2,{50,85,0}}, +/* 5904 */ {(12<<2)|2,{50,86,0}}, +/* 5905 */ {(12<<2)|2,{50,86,0}}, +/* 5906 */ {(12<<2)|2,{50,86,0}}, +/* 5907 */ {(12<<2)|2,{50,86,0}}, +/* 5908 */ {(12<<2)|2,{50,86,0}}, +/* 5909 */ {(12<<2)|2,{50,86,0}}, +/* 5910 */ {(12<<2)|2,{50,86,0}}, +/* 5911 */ {(12<<2)|2,{50,86,0}}, +/* 5912 */ {(12<<2)|2,{50,86,0}}, +/* 5913 */ {(12<<2)|2,{50,86,0}}, +/* 5914 */ {(12<<2)|2,{50,86,0}}, +/* 5915 */ {(12<<2)|2,{50,86,0}}, +/* 5916 */ {(12<<2)|2,{50,86,0}}, +/* 5917 */ {(12<<2)|2,{50,86,0}}, +/* 5918 */ {(12<<2)|2,{50,86,0}}, +/* 5919 */ {(12<<2)|2,{50,86,0}}, +/* 5920 */ {(12<<2)|2,{50,87,0}}, +/* 5921 */ {(12<<2)|2,{50,87,0}}, +/* 5922 */ {(12<<2)|2,{50,87,0}}, +/* 5923 */ {(12<<2)|2,{50,87,0}}, +/* 5924 */ {(12<<2)|2,{50,87,0}}, +/* 5925 */ {(12<<2)|2,{50,87,0}}, +/* 5926 */ {(12<<2)|2,{50,87,0}}, +/* 5927 */ {(12<<2)|2,{50,87,0}}, +/* 5928 */ {(12<<2)|2,{50,87,0}}, +/* 5929 */ {(12<<2)|2,{50,87,0}}, +/* 5930 */ {(12<<2)|2,{50,87,0}}, +/* 5931 */ {(12<<2)|2,{50,87,0}}, +/* 5932 */ {(12<<2)|2,{50,87,0}}, +/* 5933 */ {(12<<2)|2,{50,87,0}}, +/* 5934 */ {(12<<2)|2,{50,87,0}}, +/* 5935 */ {(12<<2)|2,{50,87,0}}, +/* 5936 */ {(12<<2)|2,{50,89,0}}, +/* 5937 */ {(12<<2)|2,{50,89,0}}, +/* 5938 */ {(12<<2)|2,{50,89,0}}, +/* 5939 */ {(12<<2)|2,{50,89,0}}, +/* 5940 */ {(12<<2)|2,{50,89,0}}, +/* 5941 */ {(12<<2)|2,{50,89,0}}, +/* 5942 */ {(12<<2)|2,{50,89,0}}, +/* 5943 */ {(12<<2)|2,{50,89,0}}, +/* 5944 */ {(12<<2)|2,{50,89,0}}, +/* 5945 */ {(12<<2)|2,{50,89,0}}, +/* 5946 */ {(12<<2)|2,{50,89,0}}, +/* 5947 */ {(12<<2)|2,{50,89,0}}, +/* 5948 */ {(12<<2)|2,{50,89,0}}, +/* 5949 */ {(12<<2)|2,{50,89,0}}, +/* 5950 */ {(12<<2)|2,{50,89,0}}, +/* 5951 */ {(12<<2)|2,{50,89,0}}, +/* 5952 */ {(12<<2)|2,{50,106,0}}, +/* 5953 */ {(12<<2)|2,{50,106,0}}, +/* 5954 */ {(12<<2)|2,{50,106,0}}, +/* 5955 */ {(12<<2)|2,{50,106,0}}, +/* 5956 */ {(12<<2)|2,{50,106,0}}, +/* 5957 */ {(12<<2)|2,{50,106,0}}, +/* 5958 */ {(12<<2)|2,{50,106,0}}, +/* 5959 */ {(12<<2)|2,{50,106,0}}, +/* 5960 */ {(12<<2)|2,{50,106,0}}, +/* 5961 */ {(12<<2)|2,{50,106,0}}, +/* 5962 */ {(12<<2)|2,{50,106,0}}, +/* 5963 */ {(12<<2)|2,{50,106,0}}, +/* 5964 */ {(12<<2)|2,{50,106,0}}, +/* 5965 */ {(12<<2)|2,{50,106,0}}, +/* 5966 */ {(12<<2)|2,{50,106,0}}, +/* 5967 */ {(12<<2)|2,{50,106,0}}, +/* 5968 */ {(12<<2)|2,{50,107,0}}, +/* 5969 */ {(12<<2)|2,{50,107,0}}, +/* 5970 */ {(12<<2)|2,{50,107,0}}, +/* 5971 */ {(12<<2)|2,{50,107,0}}, +/* 5972 */ {(12<<2)|2,{50,107,0}}, +/* 5973 */ {(12<<2)|2,{50,107,0}}, +/* 5974 */ {(12<<2)|2,{50,107,0}}, +/* 5975 */ {(12<<2)|2,{50,107,0}}, +/* 5976 */ {(12<<2)|2,{50,107,0}}, +/* 5977 */ {(12<<2)|2,{50,107,0}}, +/* 5978 */ {(12<<2)|2,{50,107,0}}, +/* 5979 */ {(12<<2)|2,{50,107,0}}, +/* 5980 */ {(12<<2)|2,{50,107,0}}, +/* 5981 */ {(12<<2)|2,{50,107,0}}, +/* 5982 */ {(12<<2)|2,{50,107,0}}, +/* 5983 */ {(12<<2)|2,{50,107,0}}, +/* 5984 */ {(12<<2)|2,{50,113,0}}, +/* 5985 */ {(12<<2)|2,{50,113,0}}, +/* 5986 */ {(12<<2)|2,{50,113,0}}, +/* 5987 */ {(12<<2)|2,{50,113,0}}, +/* 5988 */ {(12<<2)|2,{50,113,0}}, +/* 5989 */ {(12<<2)|2,{50,113,0}}, +/* 5990 */ {(12<<2)|2,{50,113,0}}, +/* 5991 */ {(12<<2)|2,{50,113,0}}, +/* 5992 */ {(12<<2)|2,{50,113,0}}, +/* 5993 */ {(12<<2)|2,{50,113,0}}, +/* 5994 */ {(12<<2)|2,{50,113,0}}, +/* 5995 */ {(12<<2)|2,{50,113,0}}, +/* 5996 */ {(12<<2)|2,{50,113,0}}, +/* 5997 */ {(12<<2)|2,{50,113,0}}, +/* 5998 */ {(12<<2)|2,{50,113,0}}, +/* 5999 */ {(12<<2)|2,{50,113,0}}, +/* 6000 */ {(12<<2)|2,{50,118,0}}, +/* 6001 */ {(12<<2)|2,{50,118,0}}, +/* 6002 */ {(12<<2)|2,{50,118,0}}, +/* 6003 */ {(12<<2)|2,{50,118,0}}, +/* 6004 */ {(12<<2)|2,{50,118,0}}, +/* 6005 */ {(12<<2)|2,{50,118,0}}, +/* 6006 */ {(12<<2)|2,{50,118,0}}, +/* 6007 */ {(12<<2)|2,{50,118,0}}, +/* 6008 */ {(12<<2)|2,{50,118,0}}, +/* 6009 */ {(12<<2)|2,{50,118,0}}, +/* 6010 */ {(12<<2)|2,{50,118,0}}, +/* 6011 */ {(12<<2)|2,{50,118,0}}, +/* 6012 */ {(12<<2)|2,{50,118,0}}, +/* 6013 */ {(12<<2)|2,{50,118,0}}, +/* 6014 */ {(12<<2)|2,{50,118,0}}, +/* 6015 */ {(12<<2)|2,{50,118,0}}, +/* 6016 */ {(12<<2)|2,{50,119,0}}, +/* 6017 */ {(12<<2)|2,{50,119,0}}, +/* 6018 */ {(12<<2)|2,{50,119,0}}, +/* 6019 */ {(12<<2)|2,{50,119,0}}, +/* 6020 */ {(12<<2)|2,{50,119,0}}, +/* 6021 */ {(12<<2)|2,{50,119,0}}, +/* 6022 */ {(12<<2)|2,{50,119,0}}, +/* 6023 */ {(12<<2)|2,{50,119,0}}, +/* 6024 */ {(12<<2)|2,{50,119,0}}, +/* 6025 */ {(12<<2)|2,{50,119,0}}, +/* 6026 */ {(12<<2)|2,{50,119,0}}, +/* 6027 */ {(12<<2)|2,{50,119,0}}, +/* 6028 */ {(12<<2)|2,{50,119,0}}, +/* 6029 */ {(12<<2)|2,{50,119,0}}, +/* 6030 */ {(12<<2)|2,{50,119,0}}, +/* 6031 */ {(12<<2)|2,{50,119,0}}, +/* 6032 */ {(12<<2)|2,{50,120,0}}, +/* 6033 */ {(12<<2)|2,{50,120,0}}, +/* 6034 */ {(12<<2)|2,{50,120,0}}, +/* 6035 */ {(12<<2)|2,{50,120,0}}, +/* 6036 */ {(12<<2)|2,{50,120,0}}, +/* 6037 */ {(12<<2)|2,{50,120,0}}, +/* 6038 */ {(12<<2)|2,{50,120,0}}, +/* 6039 */ {(12<<2)|2,{50,120,0}}, +/* 6040 */ {(12<<2)|2,{50,120,0}}, +/* 6041 */ {(12<<2)|2,{50,120,0}}, +/* 6042 */ {(12<<2)|2,{50,120,0}}, +/* 6043 */ {(12<<2)|2,{50,120,0}}, +/* 6044 */ {(12<<2)|2,{50,120,0}}, +/* 6045 */ {(12<<2)|2,{50,120,0}}, +/* 6046 */ {(12<<2)|2,{50,120,0}}, +/* 6047 */ {(12<<2)|2,{50,120,0}}, +/* 6048 */ {(12<<2)|2,{50,121,0}}, +/* 6049 */ {(12<<2)|2,{50,121,0}}, +/* 6050 */ {(12<<2)|2,{50,121,0}}, +/* 6051 */ {(12<<2)|2,{50,121,0}}, +/* 6052 */ {(12<<2)|2,{50,121,0}}, +/* 6053 */ {(12<<2)|2,{50,121,0}}, +/* 6054 */ {(12<<2)|2,{50,121,0}}, +/* 6055 */ {(12<<2)|2,{50,121,0}}, +/* 6056 */ {(12<<2)|2,{50,121,0}}, +/* 6057 */ {(12<<2)|2,{50,121,0}}, +/* 6058 */ {(12<<2)|2,{50,121,0}}, +/* 6059 */ {(12<<2)|2,{50,121,0}}, +/* 6060 */ {(12<<2)|2,{50,121,0}}, +/* 6061 */ {(12<<2)|2,{50,121,0}}, +/* 6062 */ {(12<<2)|2,{50,121,0}}, +/* 6063 */ {(12<<2)|2,{50,121,0}}, +/* 6064 */ {(12<<2)|2,{50,122,0}}, +/* 6065 */ {(12<<2)|2,{50,122,0}}, +/* 6066 */ {(12<<2)|2,{50,122,0}}, +/* 6067 */ {(12<<2)|2,{50,122,0}}, +/* 6068 */ {(12<<2)|2,{50,122,0}}, +/* 6069 */ {(12<<2)|2,{50,122,0}}, +/* 6070 */ {(12<<2)|2,{50,122,0}}, +/* 6071 */ {(12<<2)|2,{50,122,0}}, +/* 6072 */ {(12<<2)|2,{50,122,0}}, +/* 6073 */ {(12<<2)|2,{50,122,0}}, +/* 6074 */ {(12<<2)|2,{50,122,0}}, +/* 6075 */ {(12<<2)|2,{50,122,0}}, +/* 6076 */ {(12<<2)|2,{50,122,0}}, +/* 6077 */ {(12<<2)|2,{50,122,0}}, +/* 6078 */ {(12<<2)|2,{50,122,0}}, +/* 6079 */ {(12<<2)|2,{50,122,0}}, +/* 6080 */ {(13<<2)|2,{50,38,0}}, +/* 6081 */ {(13<<2)|2,{50,38,0}}, +/* 6082 */ {(13<<2)|2,{50,38,0}}, +/* 6083 */ {(13<<2)|2,{50,38,0}}, +/* 6084 */ {(13<<2)|2,{50,38,0}}, +/* 6085 */ {(13<<2)|2,{50,38,0}}, +/* 6086 */ {(13<<2)|2,{50,38,0}}, +/* 6087 */ {(13<<2)|2,{50,38,0}}, +/* 6088 */ {(13<<2)|2,{50,42,0}}, +/* 6089 */ {(13<<2)|2,{50,42,0}}, +/* 6090 */ {(13<<2)|2,{50,42,0}}, +/* 6091 */ {(13<<2)|2,{50,42,0}}, +/* 6092 */ {(13<<2)|2,{50,42,0}}, +/* 6093 */ {(13<<2)|2,{50,42,0}}, +/* 6094 */ {(13<<2)|2,{50,42,0}}, +/* 6095 */ {(13<<2)|2,{50,42,0}}, +/* 6096 */ {(13<<2)|2,{50,44,0}}, +/* 6097 */ {(13<<2)|2,{50,44,0}}, +/* 6098 */ {(13<<2)|2,{50,44,0}}, +/* 6099 */ {(13<<2)|2,{50,44,0}}, +/* 6100 */ {(13<<2)|2,{50,44,0}}, +/* 6101 */ {(13<<2)|2,{50,44,0}}, +/* 6102 */ {(13<<2)|2,{50,44,0}}, +/* 6103 */ {(13<<2)|2,{50,44,0}}, +/* 6104 */ {(13<<2)|2,{50,59,0}}, +/* 6105 */ {(13<<2)|2,{50,59,0}}, +/* 6106 */ {(13<<2)|2,{50,59,0}}, +/* 6107 */ {(13<<2)|2,{50,59,0}}, +/* 6108 */ {(13<<2)|2,{50,59,0}}, +/* 6109 */ {(13<<2)|2,{50,59,0}}, +/* 6110 */ {(13<<2)|2,{50,59,0}}, +/* 6111 */ {(13<<2)|2,{50,59,0}}, +/* 6112 */ {(13<<2)|2,{50,88,0}}, +/* 6113 */ {(13<<2)|2,{50,88,0}}, +/* 6114 */ {(13<<2)|2,{50,88,0}}, +/* 6115 */ {(13<<2)|2,{50,88,0}}, +/* 6116 */ {(13<<2)|2,{50,88,0}}, +/* 6117 */ {(13<<2)|2,{50,88,0}}, +/* 6118 */ {(13<<2)|2,{50,88,0}}, +/* 6119 */ {(13<<2)|2,{50,88,0}}, +/* 6120 */ {(13<<2)|2,{50,90,0}}, +/* 6121 */ {(13<<2)|2,{50,90,0}}, +/* 6122 */ {(13<<2)|2,{50,90,0}}, +/* 6123 */ {(13<<2)|2,{50,90,0}}, +/* 6124 */ {(13<<2)|2,{50,90,0}}, +/* 6125 */ {(13<<2)|2,{50,90,0}}, +/* 6126 */ {(13<<2)|2,{50,90,0}}, +/* 6127 */ {(13<<2)|2,{50,90,0}}, +/* 6128 */ {(15<<2)|2,{50,33,0}}, +/* 6129 */ {(15<<2)|2,{50,33,0}}, +/* 6130 */ {(15<<2)|2,{50,34,0}}, +/* 6131 */ {(15<<2)|2,{50,34,0}}, +/* 6132 */ {(15<<2)|2,{50,40,0}}, +/* 6133 */ {(15<<2)|2,{50,40,0}}, +/* 6134 */ {(15<<2)|2,{50,41,0}}, +/* 6135 */ {(15<<2)|2,{50,41,0}}, +/* 6136 */ {(15<<2)|2,{50,63,0}}, +/* 6137 */ {(15<<2)|2,{50,63,0}}, +/* 6138 */ {(16<<2)|2,{50,39,0}}, +/* 6139 */ {(16<<2)|2,{50,43,0}}, +/* 6140 */ {(16<<2)|2,{50,124,0}}, +/* 6141 */ {(5<<2)|1,{50,0,0}}, +/* 6142 */ {(5<<2)|1,{50,0,0}}, +/* 6143 */ {(5<<2)|1,{50,0,0}}, +/* 6144 */ {(15<<2)|3,{97,48,48}}, +/* 6145 */ {(15<<2)|3,{97,48,48}}, +/* 6146 */ {(15<<2)|3,{97,48,49}}, +/* 6147 */ {(15<<2)|3,{97,48,49}}, +/* 6148 */ {(15<<2)|3,{97,48,50}}, +/* 6149 */ {(15<<2)|3,{97,48,50}}, +/* 6150 */ {(15<<2)|3,{97,48,97}}, +/* 6151 */ {(15<<2)|3,{97,48,97}}, +/* 6152 */ {(15<<2)|3,{97,48,99}}, +/* 6153 */ {(15<<2)|3,{97,48,99}}, +/* 6154 */ {(15<<2)|3,{97,48,101}}, +/* 6155 */ {(15<<2)|3,{97,48,101}}, +/* 6156 */ {(15<<2)|3,{97,48,105}}, +/* 6157 */ {(15<<2)|3,{97,48,105}}, +/* 6158 */ {(15<<2)|3,{97,48,111}}, +/* 6159 */ {(15<<2)|3,{97,48,111}}, +/* 6160 */ {(15<<2)|3,{97,48,115}}, +/* 6161 */ {(15<<2)|3,{97,48,115}}, +/* 6162 */ {(15<<2)|3,{97,48,116}}, +/* 6163 */ {(15<<2)|3,{97,48,116}}, +/* 6164 */ {(16<<2)|3,{97,48,32}}, +/* 6165 */ {(16<<2)|3,{97,48,37}}, +/* 6166 */ {(16<<2)|3,{97,48,45}}, +/* 6167 */ {(16<<2)|3,{97,48,46}}, +/* 6168 */ {(16<<2)|3,{97,48,47}}, +/* 6169 */ {(16<<2)|3,{97,48,51}}, +/* 6170 */ {(16<<2)|3,{97,48,52}}, +/* 6171 */ {(16<<2)|3,{97,48,53}}, +/* 6172 */ {(16<<2)|3,{97,48,54}}, +/* 6173 */ {(16<<2)|3,{97,48,55}}, +/* 6174 */ {(16<<2)|3,{97,48,56}}, +/* 6175 */ {(16<<2)|3,{97,48,57}}, +/* 6176 */ {(16<<2)|3,{97,48,61}}, +/* 6177 */ {(16<<2)|3,{97,48,65}}, +/* 6178 */ {(16<<2)|3,{97,48,95}}, +/* 6179 */ {(16<<2)|3,{97,48,98}}, +/* 6180 */ {(16<<2)|3,{97,48,100}}, +/* 6181 */ {(16<<2)|3,{97,48,102}}, +/* 6182 */ {(16<<2)|3,{97,48,103}}, +/* 6183 */ {(16<<2)|3,{97,48,104}}, +/* 6184 */ {(16<<2)|3,{97,48,108}}, +/* 6185 */ {(16<<2)|3,{97,48,109}}, +/* 6186 */ {(16<<2)|3,{97,48,110}}, +/* 6187 */ {(16<<2)|3,{97,48,112}}, +/* 6188 */ {(16<<2)|3,{97,48,114}}, +/* 6189 */ {(16<<2)|3,{97,48,117}}, +/* 6190 */ {(10<<2)|2,{97,48,0}}, +/* 6191 */ {(10<<2)|2,{97,48,0}}, +/* 6192 */ {(10<<2)|2,{97,48,0}}, +/* 6193 */ {(10<<2)|2,{97,48,0}}, +/* 6194 */ {(10<<2)|2,{97,48,0}}, +/* 6195 */ {(10<<2)|2,{97,48,0}}, +/* 6196 */ {(10<<2)|2,{97,48,0}}, +/* 6197 */ {(10<<2)|2,{97,48,0}}, +/* 6198 */ {(10<<2)|2,{97,48,0}}, +/* 6199 */ {(10<<2)|2,{97,48,0}}, +/* 6200 */ {(10<<2)|2,{97,48,0}}, +/* 6201 */ {(10<<2)|2,{97,48,0}}, +/* 6202 */ {(10<<2)|2,{97,48,0}}, +/* 6203 */ {(10<<2)|2,{97,48,0}}, +/* 6204 */ {(10<<2)|2,{97,48,0}}, +/* 6205 */ {(10<<2)|2,{97,48,0}}, +/* 6206 */ {(10<<2)|2,{97,48,0}}, +/* 6207 */ {(10<<2)|2,{97,48,0}}, +/* 6208 */ {(15<<2)|3,{97,49,48}}, +/* 6209 */ {(15<<2)|3,{97,49,48}}, +/* 6210 */ {(15<<2)|3,{97,49,49}}, +/* 6211 */ {(15<<2)|3,{97,49,49}}, +/* 6212 */ {(15<<2)|3,{97,49,50}}, +/* 6213 */ {(15<<2)|3,{97,49,50}}, +/* 6214 */ {(15<<2)|3,{97,49,97}}, +/* 6215 */ {(15<<2)|3,{97,49,97}}, +/* 6216 */ {(15<<2)|3,{97,49,99}}, +/* 6217 */ {(15<<2)|3,{97,49,99}}, +/* 6218 */ {(15<<2)|3,{97,49,101}}, +/* 6219 */ {(15<<2)|3,{97,49,101}}, +/* 6220 */ {(15<<2)|3,{97,49,105}}, +/* 6221 */ {(15<<2)|3,{97,49,105}}, +/* 6222 */ {(15<<2)|3,{97,49,111}}, +/* 6223 */ {(15<<2)|3,{97,49,111}}, +/* 6224 */ {(15<<2)|3,{97,49,115}}, +/* 6225 */ {(15<<2)|3,{97,49,115}}, +/* 6226 */ {(15<<2)|3,{97,49,116}}, +/* 6227 */ {(15<<2)|3,{97,49,116}}, +/* 6228 */ {(16<<2)|3,{97,49,32}}, +/* 6229 */ {(16<<2)|3,{97,49,37}}, +/* 6230 */ {(16<<2)|3,{97,49,45}}, +/* 6231 */ {(16<<2)|3,{97,49,46}}, +/* 6232 */ {(16<<2)|3,{97,49,47}}, +/* 6233 */ {(16<<2)|3,{97,49,51}}, +/* 6234 */ {(16<<2)|3,{97,49,52}}, +/* 6235 */ {(16<<2)|3,{97,49,53}}, +/* 6236 */ {(16<<2)|3,{97,49,54}}, +/* 6237 */ {(16<<2)|3,{97,49,55}}, +/* 6238 */ {(16<<2)|3,{97,49,56}}, +/* 6239 */ {(16<<2)|3,{97,49,57}}, +/* 6240 */ {(16<<2)|3,{97,49,61}}, +/* 6241 */ {(16<<2)|3,{97,49,65}}, +/* 6242 */ {(16<<2)|3,{97,49,95}}, +/* 6243 */ {(16<<2)|3,{97,49,98}}, +/* 6244 */ {(16<<2)|3,{97,49,100}}, +/* 6245 */ {(16<<2)|3,{97,49,102}}, +/* 6246 */ {(16<<2)|3,{97,49,103}}, +/* 6247 */ {(16<<2)|3,{97,49,104}}, +/* 6248 */ {(16<<2)|3,{97,49,108}}, +/* 6249 */ {(16<<2)|3,{97,49,109}}, +/* 6250 */ {(16<<2)|3,{97,49,110}}, +/* 6251 */ {(16<<2)|3,{97,49,112}}, +/* 6252 */ {(16<<2)|3,{97,49,114}}, +/* 6253 */ {(16<<2)|3,{97,49,117}}, +/* 6254 */ {(10<<2)|2,{97,49,0}}, +/* 6255 */ {(10<<2)|2,{97,49,0}}, +/* 6256 */ {(10<<2)|2,{97,49,0}}, +/* 6257 */ {(10<<2)|2,{97,49,0}}, +/* 6258 */ {(10<<2)|2,{97,49,0}}, +/* 6259 */ {(10<<2)|2,{97,49,0}}, +/* 6260 */ {(10<<2)|2,{97,49,0}}, +/* 6261 */ {(10<<2)|2,{97,49,0}}, +/* 6262 */ {(10<<2)|2,{97,49,0}}, +/* 6263 */ {(10<<2)|2,{97,49,0}}, +/* 6264 */ {(10<<2)|2,{97,49,0}}, +/* 6265 */ {(10<<2)|2,{97,49,0}}, +/* 6266 */ {(10<<2)|2,{97,49,0}}, +/* 6267 */ {(10<<2)|2,{97,49,0}}, +/* 6268 */ {(10<<2)|2,{97,49,0}}, +/* 6269 */ {(10<<2)|2,{97,49,0}}, +/* 6270 */ {(10<<2)|2,{97,49,0}}, +/* 6271 */ {(10<<2)|2,{97,49,0}}, +/* 6272 */ {(15<<2)|3,{97,50,48}}, +/* 6273 */ {(15<<2)|3,{97,50,48}}, +/* 6274 */ {(15<<2)|3,{97,50,49}}, +/* 6275 */ {(15<<2)|3,{97,50,49}}, +/* 6276 */ {(15<<2)|3,{97,50,50}}, +/* 6277 */ {(15<<2)|3,{97,50,50}}, +/* 6278 */ {(15<<2)|3,{97,50,97}}, +/* 6279 */ {(15<<2)|3,{97,50,97}}, +/* 6280 */ {(15<<2)|3,{97,50,99}}, +/* 6281 */ {(15<<2)|3,{97,50,99}}, +/* 6282 */ {(15<<2)|3,{97,50,101}}, +/* 6283 */ {(15<<2)|3,{97,50,101}}, +/* 6284 */ {(15<<2)|3,{97,50,105}}, +/* 6285 */ {(15<<2)|3,{97,50,105}}, +/* 6286 */ {(15<<2)|3,{97,50,111}}, +/* 6287 */ {(15<<2)|3,{97,50,111}}, +/* 6288 */ {(15<<2)|3,{97,50,115}}, +/* 6289 */ {(15<<2)|3,{97,50,115}}, +/* 6290 */ {(15<<2)|3,{97,50,116}}, +/* 6291 */ {(15<<2)|3,{97,50,116}}, +/* 6292 */ {(16<<2)|3,{97,50,32}}, +/* 6293 */ {(16<<2)|3,{97,50,37}}, +/* 6294 */ {(16<<2)|3,{97,50,45}}, +/* 6295 */ {(16<<2)|3,{97,50,46}}, +/* 6296 */ {(16<<2)|3,{97,50,47}}, +/* 6297 */ {(16<<2)|3,{97,50,51}}, +/* 6298 */ {(16<<2)|3,{97,50,52}}, +/* 6299 */ {(16<<2)|3,{97,50,53}}, +/* 6300 */ {(16<<2)|3,{97,50,54}}, +/* 6301 */ {(16<<2)|3,{97,50,55}}, +/* 6302 */ {(16<<2)|3,{97,50,56}}, +/* 6303 */ {(16<<2)|3,{97,50,57}}, +/* 6304 */ {(16<<2)|3,{97,50,61}}, +/* 6305 */ {(16<<2)|3,{97,50,65}}, +/* 6306 */ {(16<<2)|3,{97,50,95}}, +/* 6307 */ {(16<<2)|3,{97,50,98}}, +/* 6308 */ {(16<<2)|3,{97,50,100}}, +/* 6309 */ {(16<<2)|3,{97,50,102}}, +/* 6310 */ {(16<<2)|3,{97,50,103}}, +/* 6311 */ {(16<<2)|3,{97,50,104}}, +/* 6312 */ {(16<<2)|3,{97,50,108}}, +/* 6313 */ {(16<<2)|3,{97,50,109}}, +/* 6314 */ {(16<<2)|3,{97,50,110}}, +/* 6315 */ {(16<<2)|3,{97,50,112}}, +/* 6316 */ {(16<<2)|3,{97,50,114}}, +/* 6317 */ {(16<<2)|3,{97,50,117}}, +/* 6318 */ {(10<<2)|2,{97,50,0}}, +/* 6319 */ {(10<<2)|2,{97,50,0}}, +/* 6320 */ {(10<<2)|2,{97,50,0}}, +/* 6321 */ {(10<<2)|2,{97,50,0}}, +/* 6322 */ {(10<<2)|2,{97,50,0}}, +/* 6323 */ {(10<<2)|2,{97,50,0}}, +/* 6324 */ {(10<<2)|2,{97,50,0}}, +/* 6325 */ {(10<<2)|2,{97,50,0}}, +/* 6326 */ {(10<<2)|2,{97,50,0}}, +/* 6327 */ {(10<<2)|2,{97,50,0}}, +/* 6328 */ {(10<<2)|2,{97,50,0}}, +/* 6329 */ {(10<<2)|2,{97,50,0}}, +/* 6330 */ {(10<<2)|2,{97,50,0}}, +/* 6331 */ {(10<<2)|2,{97,50,0}}, +/* 6332 */ {(10<<2)|2,{97,50,0}}, +/* 6333 */ {(10<<2)|2,{97,50,0}}, +/* 6334 */ {(10<<2)|2,{97,50,0}}, +/* 6335 */ {(10<<2)|2,{97,50,0}}, +/* 6336 */ {(15<<2)|3,{97,97,48}}, +/* 6337 */ {(15<<2)|3,{97,97,48}}, +/* 6338 */ {(15<<2)|3,{97,97,49}}, +/* 6339 */ {(15<<2)|3,{97,97,49}}, +/* 6340 */ {(15<<2)|3,{97,97,50}}, +/* 6341 */ {(15<<2)|3,{97,97,50}}, +/* 6342 */ {(15<<2)|3,{97,97,97}}, +/* 6343 */ {(15<<2)|3,{97,97,97}}, +/* 6344 */ {(15<<2)|3,{97,97,99}}, +/* 6345 */ {(15<<2)|3,{97,97,99}}, +/* 6346 */ {(15<<2)|3,{97,97,101}}, +/* 6347 */ {(15<<2)|3,{97,97,101}}, +/* 6348 */ {(15<<2)|3,{97,97,105}}, +/* 6349 */ {(15<<2)|3,{97,97,105}}, +/* 6350 */ {(15<<2)|3,{97,97,111}}, +/* 6351 */ {(15<<2)|3,{97,97,111}}, +/* 6352 */ {(15<<2)|3,{97,97,115}}, +/* 6353 */ {(15<<2)|3,{97,97,115}}, +/* 6354 */ {(15<<2)|3,{97,97,116}}, +/* 6355 */ {(15<<2)|3,{97,97,116}}, +/* 6356 */ {(16<<2)|3,{97,97,32}}, +/* 6357 */ {(16<<2)|3,{97,97,37}}, +/* 6358 */ {(16<<2)|3,{97,97,45}}, +/* 6359 */ {(16<<2)|3,{97,97,46}}, +/* 6360 */ {(16<<2)|3,{97,97,47}}, +/* 6361 */ {(16<<2)|3,{97,97,51}}, +/* 6362 */ {(16<<2)|3,{97,97,52}}, +/* 6363 */ {(16<<2)|3,{97,97,53}}, +/* 6364 */ {(16<<2)|3,{97,97,54}}, +/* 6365 */ {(16<<2)|3,{97,97,55}}, +/* 6366 */ {(16<<2)|3,{97,97,56}}, +/* 6367 */ {(16<<2)|3,{97,97,57}}, +/* 6368 */ {(16<<2)|3,{97,97,61}}, +/* 6369 */ {(16<<2)|3,{97,97,65}}, +/* 6370 */ {(16<<2)|3,{97,97,95}}, +/* 6371 */ {(16<<2)|3,{97,97,98}}, +/* 6372 */ {(16<<2)|3,{97,97,100}}, +/* 6373 */ {(16<<2)|3,{97,97,102}}, +/* 6374 */ {(16<<2)|3,{97,97,103}}, +/* 6375 */ {(16<<2)|3,{97,97,104}}, +/* 6376 */ {(16<<2)|3,{97,97,108}}, +/* 6377 */ {(16<<2)|3,{97,97,109}}, +/* 6378 */ {(16<<2)|3,{97,97,110}}, +/* 6379 */ {(16<<2)|3,{97,97,112}}, +/* 6380 */ {(16<<2)|3,{97,97,114}}, +/* 6381 */ {(16<<2)|3,{97,97,117}}, +/* 6382 */ {(10<<2)|2,{97,97,0}}, +/* 6383 */ {(10<<2)|2,{97,97,0}}, +/* 6384 */ {(10<<2)|2,{97,97,0}}, +/* 6385 */ {(10<<2)|2,{97,97,0}}, +/* 6386 */ {(10<<2)|2,{97,97,0}}, +/* 6387 */ {(10<<2)|2,{97,97,0}}, +/* 6388 */ {(10<<2)|2,{97,97,0}}, +/* 6389 */ {(10<<2)|2,{97,97,0}}, +/* 6390 */ {(10<<2)|2,{97,97,0}}, +/* 6391 */ {(10<<2)|2,{97,97,0}}, +/* 6392 */ {(10<<2)|2,{97,97,0}}, +/* 6393 */ {(10<<2)|2,{97,97,0}}, +/* 6394 */ {(10<<2)|2,{97,97,0}}, +/* 6395 */ {(10<<2)|2,{97,97,0}}, +/* 6396 */ {(10<<2)|2,{97,97,0}}, +/* 6397 */ {(10<<2)|2,{97,97,0}}, +/* 6398 */ {(10<<2)|2,{97,97,0}}, +/* 6399 */ {(10<<2)|2,{97,97,0}}, +/* 6400 */ {(15<<2)|3,{97,99,48}}, +/* 6401 */ {(15<<2)|3,{97,99,48}}, +/* 6402 */ {(15<<2)|3,{97,99,49}}, +/* 6403 */ {(15<<2)|3,{97,99,49}}, +/* 6404 */ {(15<<2)|3,{97,99,50}}, +/* 6405 */ {(15<<2)|3,{97,99,50}}, +/* 6406 */ {(15<<2)|3,{97,99,97}}, +/* 6407 */ {(15<<2)|3,{97,99,97}}, +/* 6408 */ {(15<<2)|3,{97,99,99}}, +/* 6409 */ {(15<<2)|3,{97,99,99}}, +/* 6410 */ {(15<<2)|3,{97,99,101}}, +/* 6411 */ {(15<<2)|3,{97,99,101}}, +/* 6412 */ {(15<<2)|3,{97,99,105}}, +/* 6413 */ {(15<<2)|3,{97,99,105}}, +/* 6414 */ {(15<<2)|3,{97,99,111}}, +/* 6415 */ {(15<<2)|3,{97,99,111}}, +/* 6416 */ {(15<<2)|3,{97,99,115}}, +/* 6417 */ {(15<<2)|3,{97,99,115}}, +/* 6418 */ {(15<<2)|3,{97,99,116}}, +/* 6419 */ {(15<<2)|3,{97,99,116}}, +/* 6420 */ {(16<<2)|3,{97,99,32}}, +/* 6421 */ {(16<<2)|3,{97,99,37}}, +/* 6422 */ {(16<<2)|3,{97,99,45}}, +/* 6423 */ {(16<<2)|3,{97,99,46}}, +/* 6424 */ {(16<<2)|3,{97,99,47}}, +/* 6425 */ {(16<<2)|3,{97,99,51}}, +/* 6426 */ {(16<<2)|3,{97,99,52}}, +/* 6427 */ {(16<<2)|3,{97,99,53}}, +/* 6428 */ {(16<<2)|3,{97,99,54}}, +/* 6429 */ {(16<<2)|3,{97,99,55}}, +/* 6430 */ {(16<<2)|3,{97,99,56}}, +/* 6431 */ {(16<<2)|3,{97,99,57}}, +/* 6432 */ {(16<<2)|3,{97,99,61}}, +/* 6433 */ {(16<<2)|3,{97,99,65}}, +/* 6434 */ {(16<<2)|3,{97,99,95}}, +/* 6435 */ {(16<<2)|3,{97,99,98}}, +/* 6436 */ {(16<<2)|3,{97,99,100}}, +/* 6437 */ {(16<<2)|3,{97,99,102}}, +/* 6438 */ {(16<<2)|3,{97,99,103}}, +/* 6439 */ {(16<<2)|3,{97,99,104}}, +/* 6440 */ {(16<<2)|3,{97,99,108}}, +/* 6441 */ {(16<<2)|3,{97,99,109}}, +/* 6442 */ {(16<<2)|3,{97,99,110}}, +/* 6443 */ {(16<<2)|3,{97,99,112}}, +/* 6444 */ {(16<<2)|3,{97,99,114}}, +/* 6445 */ {(16<<2)|3,{97,99,117}}, +/* 6446 */ {(10<<2)|2,{97,99,0}}, +/* 6447 */ {(10<<2)|2,{97,99,0}}, +/* 6448 */ {(10<<2)|2,{97,99,0}}, +/* 6449 */ {(10<<2)|2,{97,99,0}}, +/* 6450 */ {(10<<2)|2,{97,99,0}}, +/* 6451 */ {(10<<2)|2,{97,99,0}}, +/* 6452 */ {(10<<2)|2,{97,99,0}}, +/* 6453 */ {(10<<2)|2,{97,99,0}}, +/* 6454 */ {(10<<2)|2,{97,99,0}}, +/* 6455 */ {(10<<2)|2,{97,99,0}}, +/* 6456 */ {(10<<2)|2,{97,99,0}}, +/* 6457 */ {(10<<2)|2,{97,99,0}}, +/* 6458 */ {(10<<2)|2,{97,99,0}}, +/* 6459 */ {(10<<2)|2,{97,99,0}}, +/* 6460 */ {(10<<2)|2,{97,99,0}}, +/* 6461 */ {(10<<2)|2,{97,99,0}}, +/* 6462 */ {(10<<2)|2,{97,99,0}}, +/* 6463 */ {(10<<2)|2,{97,99,0}}, +/* 6464 */ {(15<<2)|3,{97,101,48}}, +/* 6465 */ {(15<<2)|3,{97,101,48}}, +/* 6466 */ {(15<<2)|3,{97,101,49}}, +/* 6467 */ {(15<<2)|3,{97,101,49}}, +/* 6468 */ {(15<<2)|3,{97,101,50}}, +/* 6469 */ {(15<<2)|3,{97,101,50}}, +/* 6470 */ {(15<<2)|3,{97,101,97}}, +/* 6471 */ {(15<<2)|3,{97,101,97}}, +/* 6472 */ {(15<<2)|3,{97,101,99}}, +/* 6473 */ {(15<<2)|3,{97,101,99}}, +/* 6474 */ {(15<<2)|3,{97,101,101}}, +/* 6475 */ {(15<<2)|3,{97,101,101}}, +/* 6476 */ {(15<<2)|3,{97,101,105}}, +/* 6477 */ {(15<<2)|3,{97,101,105}}, +/* 6478 */ {(15<<2)|3,{97,101,111}}, +/* 6479 */ {(15<<2)|3,{97,101,111}}, +/* 6480 */ {(15<<2)|3,{97,101,115}}, +/* 6481 */ {(15<<2)|3,{97,101,115}}, +/* 6482 */ {(15<<2)|3,{97,101,116}}, +/* 6483 */ {(15<<2)|3,{97,101,116}}, +/* 6484 */ {(16<<2)|3,{97,101,32}}, +/* 6485 */ {(16<<2)|3,{97,101,37}}, +/* 6486 */ {(16<<2)|3,{97,101,45}}, +/* 6487 */ {(16<<2)|3,{97,101,46}}, +/* 6488 */ {(16<<2)|3,{97,101,47}}, +/* 6489 */ {(16<<2)|3,{97,101,51}}, +/* 6490 */ {(16<<2)|3,{97,101,52}}, +/* 6491 */ {(16<<2)|3,{97,101,53}}, +/* 6492 */ {(16<<2)|3,{97,101,54}}, +/* 6493 */ {(16<<2)|3,{97,101,55}}, +/* 6494 */ {(16<<2)|3,{97,101,56}}, +/* 6495 */ {(16<<2)|3,{97,101,57}}, +/* 6496 */ {(16<<2)|3,{97,101,61}}, +/* 6497 */ {(16<<2)|3,{97,101,65}}, +/* 6498 */ {(16<<2)|3,{97,101,95}}, +/* 6499 */ {(16<<2)|3,{97,101,98}}, +/* 6500 */ {(16<<2)|3,{97,101,100}}, +/* 6501 */ {(16<<2)|3,{97,101,102}}, +/* 6502 */ {(16<<2)|3,{97,101,103}}, +/* 6503 */ {(16<<2)|3,{97,101,104}}, +/* 6504 */ {(16<<2)|3,{97,101,108}}, +/* 6505 */ {(16<<2)|3,{97,101,109}}, +/* 6506 */ {(16<<2)|3,{97,101,110}}, +/* 6507 */ {(16<<2)|3,{97,101,112}}, +/* 6508 */ {(16<<2)|3,{97,101,114}}, +/* 6509 */ {(16<<2)|3,{97,101,117}}, +/* 6510 */ {(10<<2)|2,{97,101,0}}, +/* 6511 */ {(10<<2)|2,{97,101,0}}, +/* 6512 */ {(10<<2)|2,{97,101,0}}, +/* 6513 */ {(10<<2)|2,{97,101,0}}, +/* 6514 */ {(10<<2)|2,{97,101,0}}, +/* 6515 */ {(10<<2)|2,{97,101,0}}, +/* 6516 */ {(10<<2)|2,{97,101,0}}, +/* 6517 */ {(10<<2)|2,{97,101,0}}, +/* 6518 */ {(10<<2)|2,{97,101,0}}, +/* 6519 */ {(10<<2)|2,{97,101,0}}, +/* 6520 */ {(10<<2)|2,{97,101,0}}, +/* 6521 */ {(10<<2)|2,{97,101,0}}, +/* 6522 */ {(10<<2)|2,{97,101,0}}, +/* 6523 */ {(10<<2)|2,{97,101,0}}, +/* 6524 */ {(10<<2)|2,{97,101,0}}, +/* 6525 */ {(10<<2)|2,{97,101,0}}, +/* 6526 */ {(10<<2)|2,{97,101,0}}, +/* 6527 */ {(10<<2)|2,{97,101,0}}, +/* 6528 */ {(15<<2)|3,{97,105,48}}, +/* 6529 */ {(15<<2)|3,{97,105,48}}, +/* 6530 */ {(15<<2)|3,{97,105,49}}, +/* 6531 */ {(15<<2)|3,{97,105,49}}, +/* 6532 */ {(15<<2)|3,{97,105,50}}, +/* 6533 */ {(15<<2)|3,{97,105,50}}, +/* 6534 */ {(15<<2)|3,{97,105,97}}, +/* 6535 */ {(15<<2)|3,{97,105,97}}, +/* 6536 */ {(15<<2)|3,{97,105,99}}, +/* 6537 */ {(15<<2)|3,{97,105,99}}, +/* 6538 */ {(15<<2)|3,{97,105,101}}, +/* 6539 */ {(15<<2)|3,{97,105,101}}, +/* 6540 */ {(15<<2)|3,{97,105,105}}, +/* 6541 */ {(15<<2)|3,{97,105,105}}, +/* 6542 */ {(15<<2)|3,{97,105,111}}, +/* 6543 */ {(15<<2)|3,{97,105,111}}, +/* 6544 */ {(15<<2)|3,{97,105,115}}, +/* 6545 */ {(15<<2)|3,{97,105,115}}, +/* 6546 */ {(15<<2)|3,{97,105,116}}, +/* 6547 */ {(15<<2)|3,{97,105,116}}, +/* 6548 */ {(16<<2)|3,{97,105,32}}, +/* 6549 */ {(16<<2)|3,{97,105,37}}, +/* 6550 */ {(16<<2)|3,{97,105,45}}, +/* 6551 */ {(16<<2)|3,{97,105,46}}, +/* 6552 */ {(16<<2)|3,{97,105,47}}, +/* 6553 */ {(16<<2)|3,{97,105,51}}, +/* 6554 */ {(16<<2)|3,{97,105,52}}, +/* 6555 */ {(16<<2)|3,{97,105,53}}, +/* 6556 */ {(16<<2)|3,{97,105,54}}, +/* 6557 */ {(16<<2)|3,{97,105,55}}, +/* 6558 */ {(16<<2)|3,{97,105,56}}, +/* 6559 */ {(16<<2)|3,{97,105,57}}, +/* 6560 */ {(16<<2)|3,{97,105,61}}, +/* 6561 */ {(16<<2)|3,{97,105,65}}, +/* 6562 */ {(16<<2)|3,{97,105,95}}, +/* 6563 */ {(16<<2)|3,{97,105,98}}, +/* 6564 */ {(16<<2)|3,{97,105,100}}, +/* 6565 */ {(16<<2)|3,{97,105,102}}, +/* 6566 */ {(16<<2)|3,{97,105,103}}, +/* 6567 */ {(16<<2)|3,{97,105,104}}, +/* 6568 */ {(16<<2)|3,{97,105,108}}, +/* 6569 */ {(16<<2)|3,{97,105,109}}, +/* 6570 */ {(16<<2)|3,{97,105,110}}, +/* 6571 */ {(16<<2)|3,{97,105,112}}, +/* 6572 */ {(16<<2)|3,{97,105,114}}, +/* 6573 */ {(16<<2)|3,{97,105,117}}, +/* 6574 */ {(10<<2)|2,{97,105,0}}, +/* 6575 */ {(10<<2)|2,{97,105,0}}, +/* 6576 */ {(10<<2)|2,{97,105,0}}, +/* 6577 */ {(10<<2)|2,{97,105,0}}, +/* 6578 */ {(10<<2)|2,{97,105,0}}, +/* 6579 */ {(10<<2)|2,{97,105,0}}, +/* 6580 */ {(10<<2)|2,{97,105,0}}, +/* 6581 */ {(10<<2)|2,{97,105,0}}, +/* 6582 */ {(10<<2)|2,{97,105,0}}, +/* 6583 */ {(10<<2)|2,{97,105,0}}, +/* 6584 */ {(10<<2)|2,{97,105,0}}, +/* 6585 */ {(10<<2)|2,{97,105,0}}, +/* 6586 */ {(10<<2)|2,{97,105,0}}, +/* 6587 */ {(10<<2)|2,{97,105,0}}, +/* 6588 */ {(10<<2)|2,{97,105,0}}, +/* 6589 */ {(10<<2)|2,{97,105,0}}, +/* 6590 */ {(10<<2)|2,{97,105,0}}, +/* 6591 */ {(10<<2)|2,{97,105,0}}, +/* 6592 */ {(15<<2)|3,{97,111,48}}, +/* 6593 */ {(15<<2)|3,{97,111,48}}, +/* 6594 */ {(15<<2)|3,{97,111,49}}, +/* 6595 */ {(15<<2)|3,{97,111,49}}, +/* 6596 */ {(15<<2)|3,{97,111,50}}, +/* 6597 */ {(15<<2)|3,{97,111,50}}, +/* 6598 */ {(15<<2)|3,{97,111,97}}, +/* 6599 */ {(15<<2)|3,{97,111,97}}, +/* 6600 */ {(15<<2)|3,{97,111,99}}, +/* 6601 */ {(15<<2)|3,{97,111,99}}, +/* 6602 */ {(15<<2)|3,{97,111,101}}, +/* 6603 */ {(15<<2)|3,{97,111,101}}, +/* 6604 */ {(15<<2)|3,{97,111,105}}, +/* 6605 */ {(15<<2)|3,{97,111,105}}, +/* 6606 */ {(15<<2)|3,{97,111,111}}, +/* 6607 */ {(15<<2)|3,{97,111,111}}, +/* 6608 */ {(15<<2)|3,{97,111,115}}, +/* 6609 */ {(15<<2)|3,{97,111,115}}, +/* 6610 */ {(15<<2)|3,{97,111,116}}, +/* 6611 */ {(15<<2)|3,{97,111,116}}, +/* 6612 */ {(16<<2)|3,{97,111,32}}, +/* 6613 */ {(16<<2)|3,{97,111,37}}, +/* 6614 */ {(16<<2)|3,{97,111,45}}, +/* 6615 */ {(16<<2)|3,{97,111,46}}, +/* 6616 */ {(16<<2)|3,{97,111,47}}, +/* 6617 */ {(16<<2)|3,{97,111,51}}, +/* 6618 */ {(16<<2)|3,{97,111,52}}, +/* 6619 */ {(16<<2)|3,{97,111,53}}, +/* 6620 */ {(16<<2)|3,{97,111,54}}, +/* 6621 */ {(16<<2)|3,{97,111,55}}, +/* 6622 */ {(16<<2)|3,{97,111,56}}, +/* 6623 */ {(16<<2)|3,{97,111,57}}, +/* 6624 */ {(16<<2)|3,{97,111,61}}, +/* 6625 */ {(16<<2)|3,{97,111,65}}, +/* 6626 */ {(16<<2)|3,{97,111,95}}, +/* 6627 */ {(16<<2)|3,{97,111,98}}, +/* 6628 */ {(16<<2)|3,{97,111,100}}, +/* 6629 */ {(16<<2)|3,{97,111,102}}, +/* 6630 */ {(16<<2)|3,{97,111,103}}, +/* 6631 */ {(16<<2)|3,{97,111,104}}, +/* 6632 */ {(16<<2)|3,{97,111,108}}, +/* 6633 */ {(16<<2)|3,{97,111,109}}, +/* 6634 */ {(16<<2)|3,{97,111,110}}, +/* 6635 */ {(16<<2)|3,{97,111,112}}, +/* 6636 */ {(16<<2)|3,{97,111,114}}, +/* 6637 */ {(16<<2)|3,{97,111,117}}, +/* 6638 */ {(10<<2)|2,{97,111,0}}, +/* 6639 */ {(10<<2)|2,{97,111,0}}, +/* 6640 */ {(10<<2)|2,{97,111,0}}, +/* 6641 */ {(10<<2)|2,{97,111,0}}, +/* 6642 */ {(10<<2)|2,{97,111,0}}, +/* 6643 */ {(10<<2)|2,{97,111,0}}, +/* 6644 */ {(10<<2)|2,{97,111,0}}, +/* 6645 */ {(10<<2)|2,{97,111,0}}, +/* 6646 */ {(10<<2)|2,{97,111,0}}, +/* 6647 */ {(10<<2)|2,{97,111,0}}, +/* 6648 */ {(10<<2)|2,{97,111,0}}, +/* 6649 */ {(10<<2)|2,{97,111,0}}, +/* 6650 */ {(10<<2)|2,{97,111,0}}, +/* 6651 */ {(10<<2)|2,{97,111,0}}, +/* 6652 */ {(10<<2)|2,{97,111,0}}, +/* 6653 */ {(10<<2)|2,{97,111,0}}, +/* 6654 */ {(10<<2)|2,{97,111,0}}, +/* 6655 */ {(10<<2)|2,{97,111,0}}, +/* 6656 */ {(15<<2)|3,{97,115,48}}, +/* 6657 */ {(15<<2)|3,{97,115,48}}, +/* 6658 */ {(15<<2)|3,{97,115,49}}, +/* 6659 */ {(15<<2)|3,{97,115,49}}, +/* 6660 */ {(15<<2)|3,{97,115,50}}, +/* 6661 */ {(15<<2)|3,{97,115,50}}, +/* 6662 */ {(15<<2)|3,{97,115,97}}, +/* 6663 */ {(15<<2)|3,{97,115,97}}, +/* 6664 */ {(15<<2)|3,{97,115,99}}, +/* 6665 */ {(15<<2)|3,{97,115,99}}, +/* 6666 */ {(15<<2)|3,{97,115,101}}, +/* 6667 */ {(15<<2)|3,{97,115,101}}, +/* 6668 */ {(15<<2)|3,{97,115,105}}, +/* 6669 */ {(15<<2)|3,{97,115,105}}, +/* 6670 */ {(15<<2)|3,{97,115,111}}, +/* 6671 */ {(15<<2)|3,{97,115,111}}, +/* 6672 */ {(15<<2)|3,{97,115,115}}, +/* 6673 */ {(15<<2)|3,{97,115,115}}, +/* 6674 */ {(15<<2)|3,{97,115,116}}, +/* 6675 */ {(15<<2)|3,{97,115,116}}, +/* 6676 */ {(16<<2)|3,{97,115,32}}, +/* 6677 */ {(16<<2)|3,{97,115,37}}, +/* 6678 */ {(16<<2)|3,{97,115,45}}, +/* 6679 */ {(16<<2)|3,{97,115,46}}, +/* 6680 */ {(16<<2)|3,{97,115,47}}, +/* 6681 */ {(16<<2)|3,{97,115,51}}, +/* 6682 */ {(16<<2)|3,{97,115,52}}, +/* 6683 */ {(16<<2)|3,{97,115,53}}, +/* 6684 */ {(16<<2)|3,{97,115,54}}, +/* 6685 */ {(16<<2)|3,{97,115,55}}, +/* 6686 */ {(16<<2)|3,{97,115,56}}, +/* 6687 */ {(16<<2)|3,{97,115,57}}, +/* 6688 */ {(16<<2)|3,{97,115,61}}, +/* 6689 */ {(16<<2)|3,{97,115,65}}, +/* 6690 */ {(16<<2)|3,{97,115,95}}, +/* 6691 */ {(16<<2)|3,{97,115,98}}, +/* 6692 */ {(16<<2)|3,{97,115,100}}, +/* 6693 */ {(16<<2)|3,{97,115,102}}, +/* 6694 */ {(16<<2)|3,{97,115,103}}, +/* 6695 */ {(16<<2)|3,{97,115,104}}, +/* 6696 */ {(16<<2)|3,{97,115,108}}, +/* 6697 */ {(16<<2)|3,{97,115,109}}, +/* 6698 */ {(16<<2)|3,{97,115,110}}, +/* 6699 */ {(16<<2)|3,{97,115,112}}, +/* 6700 */ {(16<<2)|3,{97,115,114}}, +/* 6701 */ {(16<<2)|3,{97,115,117}}, +/* 6702 */ {(10<<2)|2,{97,115,0}}, +/* 6703 */ {(10<<2)|2,{97,115,0}}, +/* 6704 */ {(10<<2)|2,{97,115,0}}, +/* 6705 */ {(10<<2)|2,{97,115,0}}, +/* 6706 */ {(10<<2)|2,{97,115,0}}, +/* 6707 */ {(10<<2)|2,{97,115,0}}, +/* 6708 */ {(10<<2)|2,{97,115,0}}, +/* 6709 */ {(10<<2)|2,{97,115,0}}, +/* 6710 */ {(10<<2)|2,{97,115,0}}, +/* 6711 */ {(10<<2)|2,{97,115,0}}, +/* 6712 */ {(10<<2)|2,{97,115,0}}, +/* 6713 */ {(10<<2)|2,{97,115,0}}, +/* 6714 */ {(10<<2)|2,{97,115,0}}, +/* 6715 */ {(10<<2)|2,{97,115,0}}, +/* 6716 */ {(10<<2)|2,{97,115,0}}, +/* 6717 */ {(10<<2)|2,{97,115,0}}, +/* 6718 */ {(10<<2)|2,{97,115,0}}, +/* 6719 */ {(10<<2)|2,{97,115,0}}, +/* 6720 */ {(15<<2)|3,{97,116,48}}, +/* 6721 */ {(15<<2)|3,{97,116,48}}, +/* 6722 */ {(15<<2)|3,{97,116,49}}, +/* 6723 */ {(15<<2)|3,{97,116,49}}, +/* 6724 */ {(15<<2)|3,{97,116,50}}, +/* 6725 */ {(15<<2)|3,{97,116,50}}, +/* 6726 */ {(15<<2)|3,{97,116,97}}, +/* 6727 */ {(15<<2)|3,{97,116,97}}, +/* 6728 */ {(15<<2)|3,{97,116,99}}, +/* 6729 */ {(15<<2)|3,{97,116,99}}, +/* 6730 */ {(15<<2)|3,{97,116,101}}, +/* 6731 */ {(15<<2)|3,{97,116,101}}, +/* 6732 */ {(15<<2)|3,{97,116,105}}, +/* 6733 */ {(15<<2)|3,{97,116,105}}, +/* 6734 */ {(15<<2)|3,{97,116,111}}, +/* 6735 */ {(15<<2)|3,{97,116,111}}, +/* 6736 */ {(15<<2)|3,{97,116,115}}, +/* 6737 */ {(15<<2)|3,{97,116,115}}, +/* 6738 */ {(15<<2)|3,{97,116,116}}, +/* 6739 */ {(15<<2)|3,{97,116,116}}, +/* 6740 */ {(16<<2)|3,{97,116,32}}, +/* 6741 */ {(16<<2)|3,{97,116,37}}, +/* 6742 */ {(16<<2)|3,{97,116,45}}, +/* 6743 */ {(16<<2)|3,{97,116,46}}, +/* 6744 */ {(16<<2)|3,{97,116,47}}, +/* 6745 */ {(16<<2)|3,{97,116,51}}, +/* 6746 */ {(16<<2)|3,{97,116,52}}, +/* 6747 */ {(16<<2)|3,{97,116,53}}, +/* 6748 */ {(16<<2)|3,{97,116,54}}, +/* 6749 */ {(16<<2)|3,{97,116,55}}, +/* 6750 */ {(16<<2)|3,{97,116,56}}, +/* 6751 */ {(16<<2)|3,{97,116,57}}, +/* 6752 */ {(16<<2)|3,{97,116,61}}, +/* 6753 */ {(16<<2)|3,{97,116,65}}, +/* 6754 */ {(16<<2)|3,{97,116,95}}, +/* 6755 */ {(16<<2)|3,{97,116,98}}, +/* 6756 */ {(16<<2)|3,{97,116,100}}, +/* 6757 */ {(16<<2)|3,{97,116,102}}, +/* 6758 */ {(16<<2)|3,{97,116,103}}, +/* 6759 */ {(16<<2)|3,{97,116,104}}, +/* 6760 */ {(16<<2)|3,{97,116,108}}, +/* 6761 */ {(16<<2)|3,{97,116,109}}, +/* 6762 */ {(16<<2)|3,{97,116,110}}, +/* 6763 */ {(16<<2)|3,{97,116,112}}, +/* 6764 */ {(16<<2)|3,{97,116,114}}, +/* 6765 */ {(16<<2)|3,{97,116,117}}, +/* 6766 */ {(10<<2)|2,{97,116,0}}, +/* 6767 */ {(10<<2)|2,{97,116,0}}, +/* 6768 */ {(10<<2)|2,{97,116,0}}, +/* 6769 */ {(10<<2)|2,{97,116,0}}, +/* 6770 */ {(10<<2)|2,{97,116,0}}, +/* 6771 */ {(10<<2)|2,{97,116,0}}, +/* 6772 */ {(10<<2)|2,{97,116,0}}, +/* 6773 */ {(10<<2)|2,{97,116,0}}, +/* 6774 */ {(10<<2)|2,{97,116,0}}, +/* 6775 */ {(10<<2)|2,{97,116,0}}, +/* 6776 */ {(10<<2)|2,{97,116,0}}, +/* 6777 */ {(10<<2)|2,{97,116,0}}, +/* 6778 */ {(10<<2)|2,{97,116,0}}, +/* 6779 */ {(10<<2)|2,{97,116,0}}, +/* 6780 */ {(10<<2)|2,{97,116,0}}, +/* 6781 */ {(10<<2)|2,{97,116,0}}, +/* 6782 */ {(10<<2)|2,{97,116,0}}, +/* 6783 */ {(10<<2)|2,{97,116,0}}, +/* 6784 */ {(16<<2)|3,{97,32,48}}, +/* 6785 */ {(16<<2)|3,{97,32,49}}, +/* 6786 */ {(16<<2)|3,{97,32,50}}, +/* 6787 */ {(16<<2)|3,{97,32,97}}, +/* 6788 */ {(16<<2)|3,{97,32,99}}, +/* 6789 */ {(16<<2)|3,{97,32,101}}, +/* 6790 */ {(16<<2)|3,{97,32,105}}, +/* 6791 */ {(16<<2)|3,{97,32,111}}, +/* 6792 */ {(16<<2)|3,{97,32,115}}, +/* 6793 */ {(16<<2)|3,{97,32,116}}, +/* 6794 */ {(11<<2)|2,{97,32,0}}, +/* 6795 */ {(11<<2)|2,{97,32,0}}, +/* 6796 */ {(11<<2)|2,{97,32,0}}, +/* 6797 */ {(11<<2)|2,{97,32,0}}, +/* 6798 */ {(11<<2)|2,{97,32,0}}, +/* 6799 */ {(11<<2)|2,{97,32,0}}, +/* 6800 */ {(11<<2)|2,{97,32,0}}, +/* 6801 */ {(11<<2)|2,{97,32,0}}, +/* 6802 */ {(11<<2)|2,{97,32,0}}, +/* 6803 */ {(11<<2)|2,{97,32,0}}, +/* 6804 */ {(11<<2)|2,{97,32,0}}, +/* 6805 */ {(11<<2)|2,{97,32,0}}, +/* 6806 */ {(11<<2)|2,{97,32,0}}, +/* 6807 */ {(11<<2)|2,{97,32,0}}, +/* 6808 */ {(11<<2)|2,{97,32,0}}, +/* 6809 */ {(11<<2)|2,{97,32,0}}, +/* 6810 */ {(11<<2)|2,{97,32,0}}, +/* 6811 */ {(11<<2)|2,{97,32,0}}, +/* 6812 */ {(11<<2)|2,{97,32,0}}, +/* 6813 */ {(11<<2)|2,{97,32,0}}, +/* 6814 */ {(11<<2)|2,{97,32,0}}, +/* 6815 */ {(11<<2)|2,{97,32,0}}, +/* 6816 */ {(16<<2)|3,{97,37,48}}, +/* 6817 */ {(16<<2)|3,{97,37,49}}, +/* 6818 */ {(16<<2)|3,{97,37,50}}, +/* 6819 */ {(16<<2)|3,{97,37,97}}, +/* 6820 */ {(16<<2)|3,{97,37,99}}, +/* 6821 */ {(16<<2)|3,{97,37,101}}, +/* 6822 */ {(16<<2)|3,{97,37,105}}, +/* 6823 */ {(16<<2)|3,{97,37,111}}, +/* 6824 */ {(16<<2)|3,{97,37,115}}, +/* 6825 */ {(16<<2)|3,{97,37,116}}, +/* 6826 */ {(11<<2)|2,{97,37,0}}, +/* 6827 */ {(11<<2)|2,{97,37,0}}, +/* 6828 */ {(11<<2)|2,{97,37,0}}, +/* 6829 */ {(11<<2)|2,{97,37,0}}, +/* 6830 */ {(11<<2)|2,{97,37,0}}, +/* 6831 */ {(11<<2)|2,{97,37,0}}, +/* 6832 */ {(11<<2)|2,{97,37,0}}, +/* 6833 */ {(11<<2)|2,{97,37,0}}, +/* 6834 */ {(11<<2)|2,{97,37,0}}, +/* 6835 */ {(11<<2)|2,{97,37,0}}, +/* 6836 */ {(11<<2)|2,{97,37,0}}, +/* 6837 */ {(11<<2)|2,{97,37,0}}, +/* 6838 */ {(11<<2)|2,{97,37,0}}, +/* 6839 */ {(11<<2)|2,{97,37,0}}, +/* 6840 */ {(11<<2)|2,{97,37,0}}, +/* 6841 */ {(11<<2)|2,{97,37,0}}, +/* 6842 */ {(11<<2)|2,{97,37,0}}, +/* 6843 */ {(11<<2)|2,{97,37,0}}, +/* 6844 */ {(11<<2)|2,{97,37,0}}, +/* 6845 */ {(11<<2)|2,{97,37,0}}, +/* 6846 */ {(11<<2)|2,{97,37,0}}, +/* 6847 */ {(11<<2)|2,{97,37,0}}, +/* 6848 */ {(16<<2)|3,{97,45,48}}, +/* 6849 */ {(16<<2)|3,{97,45,49}}, +/* 6850 */ {(16<<2)|3,{97,45,50}}, +/* 6851 */ {(16<<2)|3,{97,45,97}}, +/* 6852 */ {(16<<2)|3,{97,45,99}}, +/* 6853 */ {(16<<2)|3,{97,45,101}}, +/* 6854 */ {(16<<2)|3,{97,45,105}}, +/* 6855 */ {(16<<2)|3,{97,45,111}}, +/* 6856 */ {(16<<2)|3,{97,45,115}}, +/* 6857 */ {(16<<2)|3,{97,45,116}}, +/* 6858 */ {(11<<2)|2,{97,45,0}}, +/* 6859 */ {(11<<2)|2,{97,45,0}}, +/* 6860 */ {(11<<2)|2,{97,45,0}}, +/* 6861 */ {(11<<2)|2,{97,45,0}}, +/* 6862 */ {(11<<2)|2,{97,45,0}}, +/* 6863 */ {(11<<2)|2,{97,45,0}}, +/* 6864 */ {(11<<2)|2,{97,45,0}}, +/* 6865 */ {(11<<2)|2,{97,45,0}}, +/* 6866 */ {(11<<2)|2,{97,45,0}}, +/* 6867 */ {(11<<2)|2,{97,45,0}}, +/* 6868 */ {(11<<2)|2,{97,45,0}}, +/* 6869 */ {(11<<2)|2,{97,45,0}}, +/* 6870 */ {(11<<2)|2,{97,45,0}}, +/* 6871 */ {(11<<2)|2,{97,45,0}}, +/* 6872 */ {(11<<2)|2,{97,45,0}}, +/* 6873 */ {(11<<2)|2,{97,45,0}}, +/* 6874 */ {(11<<2)|2,{97,45,0}}, +/* 6875 */ {(11<<2)|2,{97,45,0}}, +/* 6876 */ {(11<<2)|2,{97,45,0}}, +/* 6877 */ {(11<<2)|2,{97,45,0}}, +/* 6878 */ {(11<<2)|2,{97,45,0}}, +/* 6879 */ {(11<<2)|2,{97,45,0}}, +/* 6880 */ {(16<<2)|3,{97,46,48}}, +/* 6881 */ {(16<<2)|3,{97,46,49}}, +/* 6882 */ {(16<<2)|3,{97,46,50}}, +/* 6883 */ {(16<<2)|3,{97,46,97}}, +/* 6884 */ {(16<<2)|3,{97,46,99}}, +/* 6885 */ {(16<<2)|3,{97,46,101}}, +/* 6886 */ {(16<<2)|3,{97,46,105}}, +/* 6887 */ {(16<<2)|3,{97,46,111}}, +/* 6888 */ {(16<<2)|3,{97,46,115}}, +/* 6889 */ {(16<<2)|3,{97,46,116}}, +/* 6890 */ {(11<<2)|2,{97,46,0}}, +/* 6891 */ {(11<<2)|2,{97,46,0}}, +/* 6892 */ {(11<<2)|2,{97,46,0}}, +/* 6893 */ {(11<<2)|2,{97,46,0}}, +/* 6894 */ {(11<<2)|2,{97,46,0}}, +/* 6895 */ {(11<<2)|2,{97,46,0}}, +/* 6896 */ {(11<<2)|2,{97,46,0}}, +/* 6897 */ {(11<<2)|2,{97,46,0}}, +/* 6898 */ {(11<<2)|2,{97,46,0}}, +/* 6899 */ {(11<<2)|2,{97,46,0}}, +/* 6900 */ {(11<<2)|2,{97,46,0}}, +/* 6901 */ {(11<<2)|2,{97,46,0}}, +/* 6902 */ {(11<<2)|2,{97,46,0}}, +/* 6903 */ {(11<<2)|2,{97,46,0}}, +/* 6904 */ {(11<<2)|2,{97,46,0}}, +/* 6905 */ {(11<<2)|2,{97,46,0}}, +/* 6906 */ {(11<<2)|2,{97,46,0}}, +/* 6907 */ {(11<<2)|2,{97,46,0}}, +/* 6908 */ {(11<<2)|2,{97,46,0}}, +/* 6909 */ {(11<<2)|2,{97,46,0}}, +/* 6910 */ {(11<<2)|2,{97,46,0}}, +/* 6911 */ {(11<<2)|2,{97,46,0}}, +/* 6912 */ {(16<<2)|3,{97,47,48}}, +/* 6913 */ {(16<<2)|3,{97,47,49}}, +/* 6914 */ {(16<<2)|3,{97,47,50}}, +/* 6915 */ {(16<<2)|3,{97,47,97}}, +/* 6916 */ {(16<<2)|3,{97,47,99}}, +/* 6917 */ {(16<<2)|3,{97,47,101}}, +/* 6918 */ {(16<<2)|3,{97,47,105}}, +/* 6919 */ {(16<<2)|3,{97,47,111}}, +/* 6920 */ {(16<<2)|3,{97,47,115}}, +/* 6921 */ {(16<<2)|3,{97,47,116}}, +/* 6922 */ {(11<<2)|2,{97,47,0}}, +/* 6923 */ {(11<<2)|2,{97,47,0}}, +/* 6924 */ {(11<<2)|2,{97,47,0}}, +/* 6925 */ {(11<<2)|2,{97,47,0}}, +/* 6926 */ {(11<<2)|2,{97,47,0}}, +/* 6927 */ {(11<<2)|2,{97,47,0}}, +/* 6928 */ {(11<<2)|2,{97,47,0}}, +/* 6929 */ {(11<<2)|2,{97,47,0}}, +/* 6930 */ {(11<<2)|2,{97,47,0}}, +/* 6931 */ {(11<<2)|2,{97,47,0}}, +/* 6932 */ {(11<<2)|2,{97,47,0}}, +/* 6933 */ {(11<<2)|2,{97,47,0}}, +/* 6934 */ {(11<<2)|2,{97,47,0}}, +/* 6935 */ {(11<<2)|2,{97,47,0}}, +/* 6936 */ {(11<<2)|2,{97,47,0}}, +/* 6937 */ {(11<<2)|2,{97,47,0}}, +/* 6938 */ {(11<<2)|2,{97,47,0}}, +/* 6939 */ {(11<<2)|2,{97,47,0}}, +/* 6940 */ {(11<<2)|2,{97,47,0}}, +/* 6941 */ {(11<<2)|2,{97,47,0}}, +/* 6942 */ {(11<<2)|2,{97,47,0}}, +/* 6943 */ {(11<<2)|2,{97,47,0}}, +/* 6944 */ {(16<<2)|3,{97,51,48}}, +/* 6945 */ {(16<<2)|3,{97,51,49}}, +/* 6946 */ {(16<<2)|3,{97,51,50}}, +/* 6947 */ {(16<<2)|3,{97,51,97}}, +/* 6948 */ {(16<<2)|3,{97,51,99}}, +/* 6949 */ {(16<<2)|3,{97,51,101}}, +/* 6950 */ {(16<<2)|3,{97,51,105}}, +/* 6951 */ {(16<<2)|3,{97,51,111}}, +/* 6952 */ {(16<<2)|3,{97,51,115}}, +/* 6953 */ {(16<<2)|3,{97,51,116}}, +/* 6954 */ {(11<<2)|2,{97,51,0}}, +/* 6955 */ {(11<<2)|2,{97,51,0}}, +/* 6956 */ {(11<<2)|2,{97,51,0}}, +/* 6957 */ {(11<<2)|2,{97,51,0}}, +/* 6958 */ {(11<<2)|2,{97,51,0}}, +/* 6959 */ {(11<<2)|2,{97,51,0}}, +/* 6960 */ {(11<<2)|2,{97,51,0}}, +/* 6961 */ {(11<<2)|2,{97,51,0}}, +/* 6962 */ {(11<<2)|2,{97,51,0}}, +/* 6963 */ {(11<<2)|2,{97,51,0}}, +/* 6964 */ {(11<<2)|2,{97,51,0}}, +/* 6965 */ {(11<<2)|2,{97,51,0}}, +/* 6966 */ {(11<<2)|2,{97,51,0}}, +/* 6967 */ {(11<<2)|2,{97,51,0}}, +/* 6968 */ {(11<<2)|2,{97,51,0}}, +/* 6969 */ {(11<<2)|2,{97,51,0}}, +/* 6970 */ {(11<<2)|2,{97,51,0}}, +/* 6971 */ {(11<<2)|2,{97,51,0}}, +/* 6972 */ {(11<<2)|2,{97,51,0}}, +/* 6973 */ {(11<<2)|2,{97,51,0}}, +/* 6974 */ {(11<<2)|2,{97,51,0}}, +/* 6975 */ {(11<<2)|2,{97,51,0}}, +/* 6976 */ {(16<<2)|3,{97,52,48}}, +/* 6977 */ {(16<<2)|3,{97,52,49}}, +/* 6978 */ {(16<<2)|3,{97,52,50}}, +/* 6979 */ {(16<<2)|3,{97,52,97}}, +/* 6980 */ {(16<<2)|3,{97,52,99}}, +/* 6981 */ {(16<<2)|3,{97,52,101}}, +/* 6982 */ {(16<<2)|3,{97,52,105}}, +/* 6983 */ {(16<<2)|3,{97,52,111}}, +/* 6984 */ {(16<<2)|3,{97,52,115}}, +/* 6985 */ {(16<<2)|3,{97,52,116}}, +/* 6986 */ {(11<<2)|2,{97,52,0}}, +/* 6987 */ {(11<<2)|2,{97,52,0}}, +/* 6988 */ {(11<<2)|2,{97,52,0}}, +/* 6989 */ {(11<<2)|2,{97,52,0}}, +/* 6990 */ {(11<<2)|2,{97,52,0}}, +/* 6991 */ {(11<<2)|2,{97,52,0}}, +/* 6992 */ {(11<<2)|2,{97,52,0}}, +/* 6993 */ {(11<<2)|2,{97,52,0}}, +/* 6994 */ {(11<<2)|2,{97,52,0}}, +/* 6995 */ {(11<<2)|2,{97,52,0}}, +/* 6996 */ {(11<<2)|2,{97,52,0}}, +/* 6997 */ {(11<<2)|2,{97,52,0}}, +/* 6998 */ {(11<<2)|2,{97,52,0}}, +/* 6999 */ {(11<<2)|2,{97,52,0}}, +/* 7000 */ {(11<<2)|2,{97,52,0}}, +/* 7001 */ {(11<<2)|2,{97,52,0}}, +/* 7002 */ {(11<<2)|2,{97,52,0}}, +/* 7003 */ {(11<<2)|2,{97,52,0}}, +/* 7004 */ {(11<<2)|2,{97,52,0}}, +/* 7005 */ {(11<<2)|2,{97,52,0}}, +/* 7006 */ {(11<<2)|2,{97,52,0}}, +/* 7007 */ {(11<<2)|2,{97,52,0}}, +/* 7008 */ {(16<<2)|3,{97,53,48}}, +/* 7009 */ {(16<<2)|3,{97,53,49}}, +/* 7010 */ {(16<<2)|3,{97,53,50}}, +/* 7011 */ {(16<<2)|3,{97,53,97}}, +/* 7012 */ {(16<<2)|3,{97,53,99}}, +/* 7013 */ {(16<<2)|3,{97,53,101}}, +/* 7014 */ {(16<<2)|3,{97,53,105}}, +/* 7015 */ {(16<<2)|3,{97,53,111}}, +/* 7016 */ {(16<<2)|3,{97,53,115}}, +/* 7017 */ {(16<<2)|3,{97,53,116}}, +/* 7018 */ {(11<<2)|2,{97,53,0}}, +/* 7019 */ {(11<<2)|2,{97,53,0}}, +/* 7020 */ {(11<<2)|2,{97,53,0}}, +/* 7021 */ {(11<<2)|2,{97,53,0}}, +/* 7022 */ {(11<<2)|2,{97,53,0}}, +/* 7023 */ {(11<<2)|2,{97,53,0}}, +/* 7024 */ {(11<<2)|2,{97,53,0}}, +/* 7025 */ {(11<<2)|2,{97,53,0}}, +/* 7026 */ {(11<<2)|2,{97,53,0}}, +/* 7027 */ {(11<<2)|2,{97,53,0}}, +/* 7028 */ {(11<<2)|2,{97,53,0}}, +/* 7029 */ {(11<<2)|2,{97,53,0}}, +/* 7030 */ {(11<<2)|2,{97,53,0}}, +/* 7031 */ {(11<<2)|2,{97,53,0}}, +/* 7032 */ {(11<<2)|2,{97,53,0}}, +/* 7033 */ {(11<<2)|2,{97,53,0}}, +/* 7034 */ {(11<<2)|2,{97,53,0}}, +/* 7035 */ {(11<<2)|2,{97,53,0}}, +/* 7036 */ {(11<<2)|2,{97,53,0}}, +/* 7037 */ {(11<<2)|2,{97,53,0}}, +/* 7038 */ {(11<<2)|2,{97,53,0}}, +/* 7039 */ {(11<<2)|2,{97,53,0}}, +/* 7040 */ {(16<<2)|3,{97,54,48}}, +/* 7041 */ {(16<<2)|3,{97,54,49}}, +/* 7042 */ {(16<<2)|3,{97,54,50}}, +/* 7043 */ {(16<<2)|3,{97,54,97}}, +/* 7044 */ {(16<<2)|3,{97,54,99}}, +/* 7045 */ {(16<<2)|3,{97,54,101}}, +/* 7046 */ {(16<<2)|3,{97,54,105}}, +/* 7047 */ {(16<<2)|3,{97,54,111}}, +/* 7048 */ {(16<<2)|3,{97,54,115}}, +/* 7049 */ {(16<<2)|3,{97,54,116}}, +/* 7050 */ {(11<<2)|2,{97,54,0}}, +/* 7051 */ {(11<<2)|2,{97,54,0}}, +/* 7052 */ {(11<<2)|2,{97,54,0}}, +/* 7053 */ {(11<<2)|2,{97,54,0}}, +/* 7054 */ {(11<<2)|2,{97,54,0}}, +/* 7055 */ {(11<<2)|2,{97,54,0}}, +/* 7056 */ {(11<<2)|2,{97,54,0}}, +/* 7057 */ {(11<<2)|2,{97,54,0}}, +/* 7058 */ {(11<<2)|2,{97,54,0}}, +/* 7059 */ {(11<<2)|2,{97,54,0}}, +/* 7060 */ {(11<<2)|2,{97,54,0}}, +/* 7061 */ {(11<<2)|2,{97,54,0}}, +/* 7062 */ {(11<<2)|2,{97,54,0}}, +/* 7063 */ {(11<<2)|2,{97,54,0}}, +/* 7064 */ {(11<<2)|2,{97,54,0}}, +/* 7065 */ {(11<<2)|2,{97,54,0}}, +/* 7066 */ {(11<<2)|2,{97,54,0}}, +/* 7067 */ {(11<<2)|2,{97,54,0}}, +/* 7068 */ {(11<<2)|2,{97,54,0}}, +/* 7069 */ {(11<<2)|2,{97,54,0}}, +/* 7070 */ {(11<<2)|2,{97,54,0}}, +/* 7071 */ {(11<<2)|2,{97,54,0}}, +/* 7072 */ {(16<<2)|3,{97,55,48}}, +/* 7073 */ {(16<<2)|3,{97,55,49}}, +/* 7074 */ {(16<<2)|3,{97,55,50}}, +/* 7075 */ {(16<<2)|3,{97,55,97}}, +/* 7076 */ {(16<<2)|3,{97,55,99}}, +/* 7077 */ {(16<<2)|3,{97,55,101}}, +/* 7078 */ {(16<<2)|3,{97,55,105}}, +/* 7079 */ {(16<<2)|3,{97,55,111}}, +/* 7080 */ {(16<<2)|3,{97,55,115}}, +/* 7081 */ {(16<<2)|3,{97,55,116}}, +/* 7082 */ {(11<<2)|2,{97,55,0}}, +/* 7083 */ {(11<<2)|2,{97,55,0}}, +/* 7084 */ {(11<<2)|2,{97,55,0}}, +/* 7085 */ {(11<<2)|2,{97,55,0}}, +/* 7086 */ {(11<<2)|2,{97,55,0}}, +/* 7087 */ {(11<<2)|2,{97,55,0}}, +/* 7088 */ {(11<<2)|2,{97,55,0}}, +/* 7089 */ {(11<<2)|2,{97,55,0}}, +/* 7090 */ {(11<<2)|2,{97,55,0}}, +/* 7091 */ {(11<<2)|2,{97,55,0}}, +/* 7092 */ {(11<<2)|2,{97,55,0}}, +/* 7093 */ {(11<<2)|2,{97,55,0}}, +/* 7094 */ {(11<<2)|2,{97,55,0}}, +/* 7095 */ {(11<<2)|2,{97,55,0}}, +/* 7096 */ {(11<<2)|2,{97,55,0}}, +/* 7097 */ {(11<<2)|2,{97,55,0}}, +/* 7098 */ {(11<<2)|2,{97,55,0}}, +/* 7099 */ {(11<<2)|2,{97,55,0}}, +/* 7100 */ {(11<<2)|2,{97,55,0}}, +/* 7101 */ {(11<<2)|2,{97,55,0}}, +/* 7102 */ {(11<<2)|2,{97,55,0}}, +/* 7103 */ {(11<<2)|2,{97,55,0}}, +/* 7104 */ {(16<<2)|3,{97,56,48}}, +/* 7105 */ {(16<<2)|3,{97,56,49}}, +/* 7106 */ {(16<<2)|3,{97,56,50}}, +/* 7107 */ {(16<<2)|3,{97,56,97}}, +/* 7108 */ {(16<<2)|3,{97,56,99}}, +/* 7109 */ {(16<<2)|3,{97,56,101}}, +/* 7110 */ {(16<<2)|3,{97,56,105}}, +/* 7111 */ {(16<<2)|3,{97,56,111}}, +/* 7112 */ {(16<<2)|3,{97,56,115}}, +/* 7113 */ {(16<<2)|3,{97,56,116}}, +/* 7114 */ {(11<<2)|2,{97,56,0}}, +/* 7115 */ {(11<<2)|2,{97,56,0}}, +/* 7116 */ {(11<<2)|2,{97,56,0}}, +/* 7117 */ {(11<<2)|2,{97,56,0}}, +/* 7118 */ {(11<<2)|2,{97,56,0}}, +/* 7119 */ {(11<<2)|2,{97,56,0}}, +/* 7120 */ {(11<<2)|2,{97,56,0}}, +/* 7121 */ {(11<<2)|2,{97,56,0}}, +/* 7122 */ {(11<<2)|2,{97,56,0}}, +/* 7123 */ {(11<<2)|2,{97,56,0}}, +/* 7124 */ {(11<<2)|2,{97,56,0}}, +/* 7125 */ {(11<<2)|2,{97,56,0}}, +/* 7126 */ {(11<<2)|2,{97,56,0}}, +/* 7127 */ {(11<<2)|2,{97,56,0}}, +/* 7128 */ {(11<<2)|2,{97,56,0}}, +/* 7129 */ {(11<<2)|2,{97,56,0}}, +/* 7130 */ {(11<<2)|2,{97,56,0}}, +/* 7131 */ {(11<<2)|2,{97,56,0}}, +/* 7132 */ {(11<<2)|2,{97,56,0}}, +/* 7133 */ {(11<<2)|2,{97,56,0}}, +/* 7134 */ {(11<<2)|2,{97,56,0}}, +/* 7135 */ {(11<<2)|2,{97,56,0}}, +/* 7136 */ {(16<<2)|3,{97,57,48}}, +/* 7137 */ {(16<<2)|3,{97,57,49}}, +/* 7138 */ {(16<<2)|3,{97,57,50}}, +/* 7139 */ {(16<<2)|3,{97,57,97}}, +/* 7140 */ {(16<<2)|3,{97,57,99}}, +/* 7141 */ {(16<<2)|3,{97,57,101}}, +/* 7142 */ {(16<<2)|3,{97,57,105}}, +/* 7143 */ {(16<<2)|3,{97,57,111}}, +/* 7144 */ {(16<<2)|3,{97,57,115}}, +/* 7145 */ {(16<<2)|3,{97,57,116}}, +/* 7146 */ {(11<<2)|2,{97,57,0}}, +/* 7147 */ {(11<<2)|2,{97,57,0}}, +/* 7148 */ {(11<<2)|2,{97,57,0}}, +/* 7149 */ {(11<<2)|2,{97,57,0}}, +/* 7150 */ {(11<<2)|2,{97,57,0}}, +/* 7151 */ {(11<<2)|2,{97,57,0}}, +/* 7152 */ {(11<<2)|2,{97,57,0}}, +/* 7153 */ {(11<<2)|2,{97,57,0}}, +/* 7154 */ {(11<<2)|2,{97,57,0}}, +/* 7155 */ {(11<<2)|2,{97,57,0}}, +/* 7156 */ {(11<<2)|2,{97,57,0}}, +/* 7157 */ {(11<<2)|2,{97,57,0}}, +/* 7158 */ {(11<<2)|2,{97,57,0}}, +/* 7159 */ {(11<<2)|2,{97,57,0}}, +/* 7160 */ {(11<<2)|2,{97,57,0}}, +/* 7161 */ {(11<<2)|2,{97,57,0}}, +/* 7162 */ {(11<<2)|2,{97,57,0}}, +/* 7163 */ {(11<<2)|2,{97,57,0}}, +/* 7164 */ {(11<<2)|2,{97,57,0}}, +/* 7165 */ {(11<<2)|2,{97,57,0}}, +/* 7166 */ {(11<<2)|2,{97,57,0}}, +/* 7167 */ {(11<<2)|2,{97,57,0}}, +/* 7168 */ {(16<<2)|3,{97,61,48}}, +/* 7169 */ {(16<<2)|3,{97,61,49}}, +/* 7170 */ {(16<<2)|3,{97,61,50}}, +/* 7171 */ {(16<<2)|3,{97,61,97}}, +/* 7172 */ {(16<<2)|3,{97,61,99}}, +/* 7173 */ {(16<<2)|3,{97,61,101}}, +/* 7174 */ {(16<<2)|3,{97,61,105}}, +/* 7175 */ {(16<<2)|3,{97,61,111}}, +/* 7176 */ {(16<<2)|3,{97,61,115}}, +/* 7177 */ {(16<<2)|3,{97,61,116}}, +/* 7178 */ {(11<<2)|2,{97,61,0}}, +/* 7179 */ {(11<<2)|2,{97,61,0}}, +/* 7180 */ {(11<<2)|2,{97,61,0}}, +/* 7181 */ {(11<<2)|2,{97,61,0}}, +/* 7182 */ {(11<<2)|2,{97,61,0}}, +/* 7183 */ {(11<<2)|2,{97,61,0}}, +/* 7184 */ {(11<<2)|2,{97,61,0}}, +/* 7185 */ {(11<<2)|2,{97,61,0}}, +/* 7186 */ {(11<<2)|2,{97,61,0}}, +/* 7187 */ {(11<<2)|2,{97,61,0}}, +/* 7188 */ {(11<<2)|2,{97,61,0}}, +/* 7189 */ {(11<<2)|2,{97,61,0}}, +/* 7190 */ {(11<<2)|2,{97,61,0}}, +/* 7191 */ {(11<<2)|2,{97,61,0}}, +/* 7192 */ {(11<<2)|2,{97,61,0}}, +/* 7193 */ {(11<<2)|2,{97,61,0}}, +/* 7194 */ {(11<<2)|2,{97,61,0}}, +/* 7195 */ {(11<<2)|2,{97,61,0}}, +/* 7196 */ {(11<<2)|2,{97,61,0}}, +/* 7197 */ {(11<<2)|2,{97,61,0}}, +/* 7198 */ {(11<<2)|2,{97,61,0}}, +/* 7199 */ {(11<<2)|2,{97,61,0}}, +/* 7200 */ {(16<<2)|3,{97,65,48}}, +/* 7201 */ {(16<<2)|3,{97,65,49}}, +/* 7202 */ {(16<<2)|3,{97,65,50}}, +/* 7203 */ {(16<<2)|3,{97,65,97}}, +/* 7204 */ {(16<<2)|3,{97,65,99}}, +/* 7205 */ {(16<<2)|3,{97,65,101}}, +/* 7206 */ {(16<<2)|3,{97,65,105}}, +/* 7207 */ {(16<<2)|3,{97,65,111}}, +/* 7208 */ {(16<<2)|3,{97,65,115}}, +/* 7209 */ {(16<<2)|3,{97,65,116}}, +/* 7210 */ {(11<<2)|2,{97,65,0}}, +/* 7211 */ {(11<<2)|2,{97,65,0}}, +/* 7212 */ {(11<<2)|2,{97,65,0}}, +/* 7213 */ {(11<<2)|2,{97,65,0}}, +/* 7214 */ {(11<<2)|2,{97,65,0}}, +/* 7215 */ {(11<<2)|2,{97,65,0}}, +/* 7216 */ {(11<<2)|2,{97,65,0}}, +/* 7217 */ {(11<<2)|2,{97,65,0}}, +/* 7218 */ {(11<<2)|2,{97,65,0}}, +/* 7219 */ {(11<<2)|2,{97,65,0}}, +/* 7220 */ {(11<<2)|2,{97,65,0}}, +/* 7221 */ {(11<<2)|2,{97,65,0}}, +/* 7222 */ {(11<<2)|2,{97,65,0}}, +/* 7223 */ {(11<<2)|2,{97,65,0}}, +/* 7224 */ {(11<<2)|2,{97,65,0}}, +/* 7225 */ {(11<<2)|2,{97,65,0}}, +/* 7226 */ {(11<<2)|2,{97,65,0}}, +/* 7227 */ {(11<<2)|2,{97,65,0}}, +/* 7228 */ {(11<<2)|2,{97,65,0}}, +/* 7229 */ {(11<<2)|2,{97,65,0}}, +/* 7230 */ {(11<<2)|2,{97,65,0}}, +/* 7231 */ {(11<<2)|2,{97,65,0}}, +/* 7232 */ {(16<<2)|3,{97,95,48}}, +/* 7233 */ {(16<<2)|3,{97,95,49}}, +/* 7234 */ {(16<<2)|3,{97,95,50}}, +/* 7235 */ {(16<<2)|3,{97,95,97}}, +/* 7236 */ {(16<<2)|3,{97,95,99}}, +/* 7237 */ {(16<<2)|3,{97,95,101}}, +/* 7238 */ {(16<<2)|3,{97,95,105}}, +/* 7239 */ {(16<<2)|3,{97,95,111}}, +/* 7240 */ {(16<<2)|3,{97,95,115}}, +/* 7241 */ {(16<<2)|3,{97,95,116}}, +/* 7242 */ {(11<<2)|2,{97,95,0}}, +/* 7243 */ {(11<<2)|2,{97,95,0}}, +/* 7244 */ {(11<<2)|2,{97,95,0}}, +/* 7245 */ {(11<<2)|2,{97,95,0}}, +/* 7246 */ {(11<<2)|2,{97,95,0}}, +/* 7247 */ {(11<<2)|2,{97,95,0}}, +/* 7248 */ {(11<<2)|2,{97,95,0}}, +/* 7249 */ {(11<<2)|2,{97,95,0}}, +/* 7250 */ {(11<<2)|2,{97,95,0}}, +/* 7251 */ {(11<<2)|2,{97,95,0}}, +/* 7252 */ {(11<<2)|2,{97,95,0}}, +/* 7253 */ {(11<<2)|2,{97,95,0}}, +/* 7254 */ {(11<<2)|2,{97,95,0}}, +/* 7255 */ {(11<<2)|2,{97,95,0}}, +/* 7256 */ {(11<<2)|2,{97,95,0}}, +/* 7257 */ {(11<<2)|2,{97,95,0}}, +/* 7258 */ {(11<<2)|2,{97,95,0}}, +/* 7259 */ {(11<<2)|2,{97,95,0}}, +/* 7260 */ {(11<<2)|2,{97,95,0}}, +/* 7261 */ {(11<<2)|2,{97,95,0}}, +/* 7262 */ {(11<<2)|2,{97,95,0}}, +/* 7263 */ {(11<<2)|2,{97,95,0}}, +/* 7264 */ {(16<<2)|3,{97,98,48}}, +/* 7265 */ {(16<<2)|3,{97,98,49}}, +/* 7266 */ {(16<<2)|3,{97,98,50}}, +/* 7267 */ {(16<<2)|3,{97,98,97}}, +/* 7268 */ {(16<<2)|3,{97,98,99}}, +/* 7269 */ {(16<<2)|3,{97,98,101}}, +/* 7270 */ {(16<<2)|3,{97,98,105}}, +/* 7271 */ {(16<<2)|3,{97,98,111}}, +/* 7272 */ {(16<<2)|3,{97,98,115}}, +/* 7273 */ {(16<<2)|3,{97,98,116}}, +/* 7274 */ {(11<<2)|2,{97,98,0}}, +/* 7275 */ {(11<<2)|2,{97,98,0}}, +/* 7276 */ {(11<<2)|2,{97,98,0}}, +/* 7277 */ {(11<<2)|2,{97,98,0}}, +/* 7278 */ {(11<<2)|2,{97,98,0}}, +/* 7279 */ {(11<<2)|2,{97,98,0}}, +/* 7280 */ {(11<<2)|2,{97,98,0}}, +/* 7281 */ {(11<<2)|2,{97,98,0}}, +/* 7282 */ {(11<<2)|2,{97,98,0}}, +/* 7283 */ {(11<<2)|2,{97,98,0}}, +/* 7284 */ {(11<<2)|2,{97,98,0}}, +/* 7285 */ {(11<<2)|2,{97,98,0}}, +/* 7286 */ {(11<<2)|2,{97,98,0}}, +/* 7287 */ {(11<<2)|2,{97,98,0}}, +/* 7288 */ {(11<<2)|2,{97,98,0}}, +/* 7289 */ {(11<<2)|2,{97,98,0}}, +/* 7290 */ {(11<<2)|2,{97,98,0}}, +/* 7291 */ {(11<<2)|2,{97,98,0}}, +/* 7292 */ {(11<<2)|2,{97,98,0}}, +/* 7293 */ {(11<<2)|2,{97,98,0}}, +/* 7294 */ {(11<<2)|2,{97,98,0}}, +/* 7295 */ {(11<<2)|2,{97,98,0}}, +/* 7296 */ {(16<<2)|3,{97,100,48}}, +/* 7297 */ {(16<<2)|3,{97,100,49}}, +/* 7298 */ {(16<<2)|3,{97,100,50}}, +/* 7299 */ {(16<<2)|3,{97,100,97}}, +/* 7300 */ {(16<<2)|3,{97,100,99}}, +/* 7301 */ {(16<<2)|3,{97,100,101}}, +/* 7302 */ {(16<<2)|3,{97,100,105}}, +/* 7303 */ {(16<<2)|3,{97,100,111}}, +/* 7304 */ {(16<<2)|3,{97,100,115}}, +/* 7305 */ {(16<<2)|3,{97,100,116}}, +/* 7306 */ {(11<<2)|2,{97,100,0}}, +/* 7307 */ {(11<<2)|2,{97,100,0}}, +/* 7308 */ {(11<<2)|2,{97,100,0}}, +/* 7309 */ {(11<<2)|2,{97,100,0}}, +/* 7310 */ {(11<<2)|2,{97,100,0}}, +/* 7311 */ {(11<<2)|2,{97,100,0}}, +/* 7312 */ {(11<<2)|2,{97,100,0}}, +/* 7313 */ {(11<<2)|2,{97,100,0}}, +/* 7314 */ {(11<<2)|2,{97,100,0}}, +/* 7315 */ {(11<<2)|2,{97,100,0}}, +/* 7316 */ {(11<<2)|2,{97,100,0}}, +/* 7317 */ {(11<<2)|2,{97,100,0}}, +/* 7318 */ {(11<<2)|2,{97,100,0}}, +/* 7319 */ {(11<<2)|2,{97,100,0}}, +/* 7320 */ {(11<<2)|2,{97,100,0}}, +/* 7321 */ {(11<<2)|2,{97,100,0}}, +/* 7322 */ {(11<<2)|2,{97,100,0}}, +/* 7323 */ {(11<<2)|2,{97,100,0}}, +/* 7324 */ {(11<<2)|2,{97,100,0}}, +/* 7325 */ {(11<<2)|2,{97,100,0}}, +/* 7326 */ {(11<<2)|2,{97,100,0}}, +/* 7327 */ {(11<<2)|2,{97,100,0}}, +/* 7328 */ {(16<<2)|3,{97,102,48}}, +/* 7329 */ {(16<<2)|3,{97,102,49}}, +/* 7330 */ {(16<<2)|3,{97,102,50}}, +/* 7331 */ {(16<<2)|3,{97,102,97}}, +/* 7332 */ {(16<<2)|3,{97,102,99}}, +/* 7333 */ {(16<<2)|3,{97,102,101}}, +/* 7334 */ {(16<<2)|3,{97,102,105}}, +/* 7335 */ {(16<<2)|3,{97,102,111}}, +/* 7336 */ {(16<<2)|3,{97,102,115}}, +/* 7337 */ {(16<<2)|3,{97,102,116}}, +/* 7338 */ {(11<<2)|2,{97,102,0}}, +/* 7339 */ {(11<<2)|2,{97,102,0}}, +/* 7340 */ {(11<<2)|2,{97,102,0}}, +/* 7341 */ {(11<<2)|2,{97,102,0}}, +/* 7342 */ {(11<<2)|2,{97,102,0}}, +/* 7343 */ {(11<<2)|2,{97,102,0}}, +/* 7344 */ {(11<<2)|2,{97,102,0}}, +/* 7345 */ {(11<<2)|2,{97,102,0}}, +/* 7346 */ {(11<<2)|2,{97,102,0}}, +/* 7347 */ {(11<<2)|2,{97,102,0}}, +/* 7348 */ {(11<<2)|2,{97,102,0}}, +/* 7349 */ {(11<<2)|2,{97,102,0}}, +/* 7350 */ {(11<<2)|2,{97,102,0}}, +/* 7351 */ {(11<<2)|2,{97,102,0}}, +/* 7352 */ {(11<<2)|2,{97,102,0}}, +/* 7353 */ {(11<<2)|2,{97,102,0}}, +/* 7354 */ {(11<<2)|2,{97,102,0}}, +/* 7355 */ {(11<<2)|2,{97,102,0}}, +/* 7356 */ {(11<<2)|2,{97,102,0}}, +/* 7357 */ {(11<<2)|2,{97,102,0}}, +/* 7358 */ {(11<<2)|2,{97,102,0}}, +/* 7359 */ {(11<<2)|2,{97,102,0}}, +/* 7360 */ {(16<<2)|3,{97,103,48}}, +/* 7361 */ {(16<<2)|3,{97,103,49}}, +/* 7362 */ {(16<<2)|3,{97,103,50}}, +/* 7363 */ {(16<<2)|3,{97,103,97}}, +/* 7364 */ {(16<<2)|3,{97,103,99}}, +/* 7365 */ {(16<<2)|3,{97,103,101}}, +/* 7366 */ {(16<<2)|3,{97,103,105}}, +/* 7367 */ {(16<<2)|3,{97,103,111}}, +/* 7368 */ {(16<<2)|3,{97,103,115}}, +/* 7369 */ {(16<<2)|3,{97,103,116}}, +/* 7370 */ {(11<<2)|2,{97,103,0}}, +/* 7371 */ {(11<<2)|2,{97,103,0}}, +/* 7372 */ {(11<<2)|2,{97,103,0}}, +/* 7373 */ {(11<<2)|2,{97,103,0}}, +/* 7374 */ {(11<<2)|2,{97,103,0}}, +/* 7375 */ {(11<<2)|2,{97,103,0}}, +/* 7376 */ {(11<<2)|2,{97,103,0}}, +/* 7377 */ {(11<<2)|2,{97,103,0}}, +/* 7378 */ {(11<<2)|2,{97,103,0}}, +/* 7379 */ {(11<<2)|2,{97,103,0}}, +/* 7380 */ {(11<<2)|2,{97,103,0}}, +/* 7381 */ {(11<<2)|2,{97,103,0}}, +/* 7382 */ {(11<<2)|2,{97,103,0}}, +/* 7383 */ {(11<<2)|2,{97,103,0}}, +/* 7384 */ {(11<<2)|2,{97,103,0}}, +/* 7385 */ {(11<<2)|2,{97,103,0}}, +/* 7386 */ {(11<<2)|2,{97,103,0}}, +/* 7387 */ {(11<<2)|2,{97,103,0}}, +/* 7388 */ {(11<<2)|2,{97,103,0}}, +/* 7389 */ {(11<<2)|2,{97,103,0}}, +/* 7390 */ {(11<<2)|2,{97,103,0}}, +/* 7391 */ {(11<<2)|2,{97,103,0}}, +/* 7392 */ {(16<<2)|3,{97,104,48}}, +/* 7393 */ {(16<<2)|3,{97,104,49}}, +/* 7394 */ {(16<<2)|3,{97,104,50}}, +/* 7395 */ {(16<<2)|3,{97,104,97}}, +/* 7396 */ {(16<<2)|3,{97,104,99}}, +/* 7397 */ {(16<<2)|3,{97,104,101}}, +/* 7398 */ {(16<<2)|3,{97,104,105}}, +/* 7399 */ {(16<<2)|3,{97,104,111}}, +/* 7400 */ {(16<<2)|3,{97,104,115}}, +/* 7401 */ {(16<<2)|3,{97,104,116}}, +/* 7402 */ {(11<<2)|2,{97,104,0}}, +/* 7403 */ {(11<<2)|2,{97,104,0}}, +/* 7404 */ {(11<<2)|2,{97,104,0}}, +/* 7405 */ {(11<<2)|2,{97,104,0}}, +/* 7406 */ {(11<<2)|2,{97,104,0}}, +/* 7407 */ {(11<<2)|2,{97,104,0}}, +/* 7408 */ {(11<<2)|2,{97,104,0}}, +/* 7409 */ {(11<<2)|2,{97,104,0}}, +/* 7410 */ {(11<<2)|2,{97,104,0}}, +/* 7411 */ {(11<<2)|2,{97,104,0}}, +/* 7412 */ {(11<<2)|2,{97,104,0}}, +/* 7413 */ {(11<<2)|2,{97,104,0}}, +/* 7414 */ {(11<<2)|2,{97,104,0}}, +/* 7415 */ {(11<<2)|2,{97,104,0}}, +/* 7416 */ {(11<<2)|2,{97,104,0}}, +/* 7417 */ {(11<<2)|2,{97,104,0}}, +/* 7418 */ {(11<<2)|2,{97,104,0}}, +/* 7419 */ {(11<<2)|2,{97,104,0}}, +/* 7420 */ {(11<<2)|2,{97,104,0}}, +/* 7421 */ {(11<<2)|2,{97,104,0}}, +/* 7422 */ {(11<<2)|2,{97,104,0}}, +/* 7423 */ {(11<<2)|2,{97,104,0}}, +/* 7424 */ {(16<<2)|3,{97,108,48}}, +/* 7425 */ {(16<<2)|3,{97,108,49}}, +/* 7426 */ {(16<<2)|3,{97,108,50}}, +/* 7427 */ {(16<<2)|3,{97,108,97}}, +/* 7428 */ {(16<<2)|3,{97,108,99}}, +/* 7429 */ {(16<<2)|3,{97,108,101}}, +/* 7430 */ {(16<<2)|3,{97,108,105}}, +/* 7431 */ {(16<<2)|3,{97,108,111}}, +/* 7432 */ {(16<<2)|3,{97,108,115}}, +/* 7433 */ {(16<<2)|3,{97,108,116}}, +/* 7434 */ {(11<<2)|2,{97,108,0}}, +/* 7435 */ {(11<<2)|2,{97,108,0}}, +/* 7436 */ {(11<<2)|2,{97,108,0}}, +/* 7437 */ {(11<<2)|2,{97,108,0}}, +/* 7438 */ {(11<<2)|2,{97,108,0}}, +/* 7439 */ {(11<<2)|2,{97,108,0}}, +/* 7440 */ {(11<<2)|2,{97,108,0}}, +/* 7441 */ {(11<<2)|2,{97,108,0}}, +/* 7442 */ {(11<<2)|2,{97,108,0}}, +/* 7443 */ {(11<<2)|2,{97,108,0}}, +/* 7444 */ {(11<<2)|2,{97,108,0}}, +/* 7445 */ {(11<<2)|2,{97,108,0}}, +/* 7446 */ {(11<<2)|2,{97,108,0}}, +/* 7447 */ {(11<<2)|2,{97,108,0}}, +/* 7448 */ {(11<<2)|2,{97,108,0}}, +/* 7449 */ {(11<<2)|2,{97,108,0}}, +/* 7450 */ {(11<<2)|2,{97,108,0}}, +/* 7451 */ {(11<<2)|2,{97,108,0}}, +/* 7452 */ {(11<<2)|2,{97,108,0}}, +/* 7453 */ {(11<<2)|2,{97,108,0}}, +/* 7454 */ {(11<<2)|2,{97,108,0}}, +/* 7455 */ {(11<<2)|2,{97,108,0}}, +/* 7456 */ {(16<<2)|3,{97,109,48}}, +/* 7457 */ {(16<<2)|3,{97,109,49}}, +/* 7458 */ {(16<<2)|3,{97,109,50}}, +/* 7459 */ {(16<<2)|3,{97,109,97}}, +/* 7460 */ {(16<<2)|3,{97,109,99}}, +/* 7461 */ {(16<<2)|3,{97,109,101}}, +/* 7462 */ {(16<<2)|3,{97,109,105}}, +/* 7463 */ {(16<<2)|3,{97,109,111}}, +/* 7464 */ {(16<<2)|3,{97,109,115}}, +/* 7465 */ {(16<<2)|3,{97,109,116}}, +/* 7466 */ {(11<<2)|2,{97,109,0}}, +/* 7467 */ {(11<<2)|2,{97,109,0}}, +/* 7468 */ {(11<<2)|2,{97,109,0}}, +/* 7469 */ {(11<<2)|2,{97,109,0}}, +/* 7470 */ {(11<<2)|2,{97,109,0}}, +/* 7471 */ {(11<<2)|2,{97,109,0}}, +/* 7472 */ {(11<<2)|2,{97,109,0}}, +/* 7473 */ {(11<<2)|2,{97,109,0}}, +/* 7474 */ {(11<<2)|2,{97,109,0}}, +/* 7475 */ {(11<<2)|2,{97,109,0}}, +/* 7476 */ {(11<<2)|2,{97,109,0}}, +/* 7477 */ {(11<<2)|2,{97,109,0}}, +/* 7478 */ {(11<<2)|2,{97,109,0}}, +/* 7479 */ {(11<<2)|2,{97,109,0}}, +/* 7480 */ {(11<<2)|2,{97,109,0}}, +/* 7481 */ {(11<<2)|2,{97,109,0}}, +/* 7482 */ {(11<<2)|2,{97,109,0}}, +/* 7483 */ {(11<<2)|2,{97,109,0}}, +/* 7484 */ {(11<<2)|2,{97,109,0}}, +/* 7485 */ {(11<<2)|2,{97,109,0}}, +/* 7486 */ {(11<<2)|2,{97,109,0}}, +/* 7487 */ {(11<<2)|2,{97,109,0}}, +/* 7488 */ {(16<<2)|3,{97,110,48}}, +/* 7489 */ {(16<<2)|3,{97,110,49}}, +/* 7490 */ {(16<<2)|3,{97,110,50}}, +/* 7491 */ {(16<<2)|3,{97,110,97}}, +/* 7492 */ {(16<<2)|3,{97,110,99}}, +/* 7493 */ {(16<<2)|3,{97,110,101}}, +/* 7494 */ {(16<<2)|3,{97,110,105}}, +/* 7495 */ {(16<<2)|3,{97,110,111}}, +/* 7496 */ {(16<<2)|3,{97,110,115}}, +/* 7497 */ {(16<<2)|3,{97,110,116}}, +/* 7498 */ {(11<<2)|2,{97,110,0}}, +/* 7499 */ {(11<<2)|2,{97,110,0}}, +/* 7500 */ {(11<<2)|2,{97,110,0}}, +/* 7501 */ {(11<<2)|2,{97,110,0}}, +/* 7502 */ {(11<<2)|2,{97,110,0}}, +/* 7503 */ {(11<<2)|2,{97,110,0}}, +/* 7504 */ {(11<<2)|2,{97,110,0}}, +/* 7505 */ {(11<<2)|2,{97,110,0}}, +/* 7506 */ {(11<<2)|2,{97,110,0}}, +/* 7507 */ {(11<<2)|2,{97,110,0}}, +/* 7508 */ {(11<<2)|2,{97,110,0}}, +/* 7509 */ {(11<<2)|2,{97,110,0}}, +/* 7510 */ {(11<<2)|2,{97,110,0}}, +/* 7511 */ {(11<<2)|2,{97,110,0}}, +/* 7512 */ {(11<<2)|2,{97,110,0}}, +/* 7513 */ {(11<<2)|2,{97,110,0}}, +/* 7514 */ {(11<<2)|2,{97,110,0}}, +/* 7515 */ {(11<<2)|2,{97,110,0}}, +/* 7516 */ {(11<<2)|2,{97,110,0}}, +/* 7517 */ {(11<<2)|2,{97,110,0}}, +/* 7518 */ {(11<<2)|2,{97,110,0}}, +/* 7519 */ {(11<<2)|2,{97,110,0}}, +/* 7520 */ {(16<<2)|3,{97,112,48}}, +/* 7521 */ {(16<<2)|3,{97,112,49}}, +/* 7522 */ {(16<<2)|3,{97,112,50}}, +/* 7523 */ {(16<<2)|3,{97,112,97}}, +/* 7524 */ {(16<<2)|3,{97,112,99}}, +/* 7525 */ {(16<<2)|3,{97,112,101}}, +/* 7526 */ {(16<<2)|3,{97,112,105}}, +/* 7527 */ {(16<<2)|3,{97,112,111}}, +/* 7528 */ {(16<<2)|3,{97,112,115}}, +/* 7529 */ {(16<<2)|3,{97,112,116}}, +/* 7530 */ {(11<<2)|2,{97,112,0}}, +/* 7531 */ {(11<<2)|2,{97,112,0}}, +/* 7532 */ {(11<<2)|2,{97,112,0}}, +/* 7533 */ {(11<<2)|2,{97,112,0}}, +/* 7534 */ {(11<<2)|2,{97,112,0}}, +/* 7535 */ {(11<<2)|2,{97,112,0}}, +/* 7536 */ {(11<<2)|2,{97,112,0}}, +/* 7537 */ {(11<<2)|2,{97,112,0}}, +/* 7538 */ {(11<<2)|2,{97,112,0}}, +/* 7539 */ {(11<<2)|2,{97,112,0}}, +/* 7540 */ {(11<<2)|2,{97,112,0}}, +/* 7541 */ {(11<<2)|2,{97,112,0}}, +/* 7542 */ {(11<<2)|2,{97,112,0}}, +/* 7543 */ {(11<<2)|2,{97,112,0}}, +/* 7544 */ {(11<<2)|2,{97,112,0}}, +/* 7545 */ {(11<<2)|2,{97,112,0}}, +/* 7546 */ {(11<<2)|2,{97,112,0}}, +/* 7547 */ {(11<<2)|2,{97,112,0}}, +/* 7548 */ {(11<<2)|2,{97,112,0}}, +/* 7549 */ {(11<<2)|2,{97,112,0}}, +/* 7550 */ {(11<<2)|2,{97,112,0}}, +/* 7551 */ {(11<<2)|2,{97,112,0}}, +/* 7552 */ {(16<<2)|3,{97,114,48}}, +/* 7553 */ {(16<<2)|3,{97,114,49}}, +/* 7554 */ {(16<<2)|3,{97,114,50}}, +/* 7555 */ {(16<<2)|3,{97,114,97}}, +/* 7556 */ {(16<<2)|3,{97,114,99}}, +/* 7557 */ {(16<<2)|3,{97,114,101}}, +/* 7558 */ {(16<<2)|3,{97,114,105}}, +/* 7559 */ {(16<<2)|3,{97,114,111}}, +/* 7560 */ {(16<<2)|3,{97,114,115}}, +/* 7561 */ {(16<<2)|3,{97,114,116}}, +/* 7562 */ {(11<<2)|2,{97,114,0}}, +/* 7563 */ {(11<<2)|2,{97,114,0}}, +/* 7564 */ {(11<<2)|2,{97,114,0}}, +/* 7565 */ {(11<<2)|2,{97,114,0}}, +/* 7566 */ {(11<<2)|2,{97,114,0}}, +/* 7567 */ {(11<<2)|2,{97,114,0}}, +/* 7568 */ {(11<<2)|2,{97,114,0}}, +/* 7569 */ {(11<<2)|2,{97,114,0}}, +/* 7570 */ {(11<<2)|2,{97,114,0}}, +/* 7571 */ {(11<<2)|2,{97,114,0}}, +/* 7572 */ {(11<<2)|2,{97,114,0}}, +/* 7573 */ {(11<<2)|2,{97,114,0}}, +/* 7574 */ {(11<<2)|2,{97,114,0}}, +/* 7575 */ {(11<<2)|2,{97,114,0}}, +/* 7576 */ {(11<<2)|2,{97,114,0}}, +/* 7577 */ {(11<<2)|2,{97,114,0}}, +/* 7578 */ {(11<<2)|2,{97,114,0}}, +/* 7579 */ {(11<<2)|2,{97,114,0}}, +/* 7580 */ {(11<<2)|2,{97,114,0}}, +/* 7581 */ {(11<<2)|2,{97,114,0}}, +/* 7582 */ {(11<<2)|2,{97,114,0}}, +/* 7583 */ {(11<<2)|2,{97,114,0}}, +/* 7584 */ {(16<<2)|3,{97,117,48}}, +/* 7585 */ {(16<<2)|3,{97,117,49}}, +/* 7586 */ {(16<<2)|3,{97,117,50}}, +/* 7587 */ {(16<<2)|3,{97,117,97}}, +/* 7588 */ {(16<<2)|3,{97,117,99}}, +/* 7589 */ {(16<<2)|3,{97,117,101}}, +/* 7590 */ {(16<<2)|3,{97,117,105}}, +/* 7591 */ {(16<<2)|3,{97,117,111}}, +/* 7592 */ {(16<<2)|3,{97,117,115}}, +/* 7593 */ {(16<<2)|3,{97,117,116}}, +/* 7594 */ {(11<<2)|2,{97,117,0}}, +/* 7595 */ {(11<<2)|2,{97,117,0}}, +/* 7596 */ {(11<<2)|2,{97,117,0}}, +/* 7597 */ {(11<<2)|2,{97,117,0}}, +/* 7598 */ {(11<<2)|2,{97,117,0}}, +/* 7599 */ {(11<<2)|2,{97,117,0}}, +/* 7600 */ {(11<<2)|2,{97,117,0}}, +/* 7601 */ {(11<<2)|2,{97,117,0}}, +/* 7602 */ {(11<<2)|2,{97,117,0}}, +/* 7603 */ {(11<<2)|2,{97,117,0}}, +/* 7604 */ {(11<<2)|2,{97,117,0}}, +/* 7605 */ {(11<<2)|2,{97,117,0}}, +/* 7606 */ {(11<<2)|2,{97,117,0}}, +/* 7607 */ {(11<<2)|2,{97,117,0}}, +/* 7608 */ {(11<<2)|2,{97,117,0}}, +/* 7609 */ {(11<<2)|2,{97,117,0}}, +/* 7610 */ {(11<<2)|2,{97,117,0}}, +/* 7611 */ {(11<<2)|2,{97,117,0}}, +/* 7612 */ {(11<<2)|2,{97,117,0}}, +/* 7613 */ {(11<<2)|2,{97,117,0}}, +/* 7614 */ {(11<<2)|2,{97,117,0}}, +/* 7615 */ {(11<<2)|2,{97,117,0}}, +/* 7616 */ {(12<<2)|2,{97,58,0}}, +/* 7617 */ {(12<<2)|2,{97,58,0}}, +/* 7618 */ {(12<<2)|2,{97,58,0}}, +/* 7619 */ {(12<<2)|2,{97,58,0}}, +/* 7620 */ {(12<<2)|2,{97,58,0}}, +/* 7621 */ {(12<<2)|2,{97,58,0}}, +/* 7622 */ {(12<<2)|2,{97,58,0}}, +/* 7623 */ {(12<<2)|2,{97,58,0}}, +/* 7624 */ {(12<<2)|2,{97,58,0}}, +/* 7625 */ {(12<<2)|2,{97,58,0}}, +/* 7626 */ {(12<<2)|2,{97,58,0}}, +/* 7627 */ {(12<<2)|2,{97,58,0}}, +/* 7628 */ {(12<<2)|2,{97,58,0}}, +/* 7629 */ {(12<<2)|2,{97,58,0}}, +/* 7630 */ {(12<<2)|2,{97,58,0}}, +/* 7631 */ {(12<<2)|2,{97,58,0}}, +/* 7632 */ {(12<<2)|2,{97,66,0}}, +/* 7633 */ {(12<<2)|2,{97,66,0}}, +/* 7634 */ {(12<<2)|2,{97,66,0}}, +/* 7635 */ {(12<<2)|2,{97,66,0}}, +/* 7636 */ {(12<<2)|2,{97,66,0}}, +/* 7637 */ {(12<<2)|2,{97,66,0}}, +/* 7638 */ {(12<<2)|2,{97,66,0}}, +/* 7639 */ {(12<<2)|2,{97,66,0}}, +/* 7640 */ {(12<<2)|2,{97,66,0}}, +/* 7641 */ {(12<<2)|2,{97,66,0}}, +/* 7642 */ {(12<<2)|2,{97,66,0}}, +/* 7643 */ {(12<<2)|2,{97,66,0}}, +/* 7644 */ {(12<<2)|2,{97,66,0}}, +/* 7645 */ {(12<<2)|2,{97,66,0}}, +/* 7646 */ {(12<<2)|2,{97,66,0}}, +/* 7647 */ {(12<<2)|2,{97,66,0}}, +/* 7648 */ {(12<<2)|2,{97,67,0}}, +/* 7649 */ {(12<<2)|2,{97,67,0}}, +/* 7650 */ {(12<<2)|2,{97,67,0}}, +/* 7651 */ {(12<<2)|2,{97,67,0}}, +/* 7652 */ {(12<<2)|2,{97,67,0}}, +/* 7653 */ {(12<<2)|2,{97,67,0}}, +/* 7654 */ {(12<<2)|2,{97,67,0}}, +/* 7655 */ {(12<<2)|2,{97,67,0}}, +/* 7656 */ {(12<<2)|2,{97,67,0}}, +/* 7657 */ {(12<<2)|2,{97,67,0}}, +/* 7658 */ {(12<<2)|2,{97,67,0}}, +/* 7659 */ {(12<<2)|2,{97,67,0}}, +/* 7660 */ {(12<<2)|2,{97,67,0}}, +/* 7661 */ {(12<<2)|2,{97,67,0}}, +/* 7662 */ {(12<<2)|2,{97,67,0}}, +/* 7663 */ {(12<<2)|2,{97,67,0}}, +/* 7664 */ {(12<<2)|2,{97,68,0}}, +/* 7665 */ {(12<<2)|2,{97,68,0}}, +/* 7666 */ {(12<<2)|2,{97,68,0}}, +/* 7667 */ {(12<<2)|2,{97,68,0}}, +/* 7668 */ {(12<<2)|2,{97,68,0}}, +/* 7669 */ {(12<<2)|2,{97,68,0}}, +/* 7670 */ {(12<<2)|2,{97,68,0}}, +/* 7671 */ {(12<<2)|2,{97,68,0}}, +/* 7672 */ {(12<<2)|2,{97,68,0}}, +/* 7673 */ {(12<<2)|2,{97,68,0}}, +/* 7674 */ {(12<<2)|2,{97,68,0}}, +/* 7675 */ {(12<<2)|2,{97,68,0}}, +/* 7676 */ {(12<<2)|2,{97,68,0}}, +/* 7677 */ {(12<<2)|2,{97,68,0}}, +/* 7678 */ {(12<<2)|2,{97,68,0}}, +/* 7679 */ {(12<<2)|2,{97,68,0}}, +/* 7680 */ {(12<<2)|2,{97,69,0}}, +/* 7681 */ {(12<<2)|2,{97,69,0}}, +/* 7682 */ {(12<<2)|2,{97,69,0}}, +/* 7683 */ {(12<<2)|2,{97,69,0}}, +/* 7684 */ {(12<<2)|2,{97,69,0}}, +/* 7685 */ {(12<<2)|2,{97,69,0}}, +/* 7686 */ {(12<<2)|2,{97,69,0}}, +/* 7687 */ {(12<<2)|2,{97,69,0}}, +/* 7688 */ {(12<<2)|2,{97,69,0}}, +/* 7689 */ {(12<<2)|2,{97,69,0}}, +/* 7690 */ {(12<<2)|2,{97,69,0}}, +/* 7691 */ {(12<<2)|2,{97,69,0}}, +/* 7692 */ {(12<<2)|2,{97,69,0}}, +/* 7693 */ {(12<<2)|2,{97,69,0}}, +/* 7694 */ {(12<<2)|2,{97,69,0}}, +/* 7695 */ {(12<<2)|2,{97,69,0}}, +/* 7696 */ {(12<<2)|2,{97,70,0}}, +/* 7697 */ {(12<<2)|2,{97,70,0}}, +/* 7698 */ {(12<<2)|2,{97,70,0}}, +/* 7699 */ {(12<<2)|2,{97,70,0}}, +/* 7700 */ {(12<<2)|2,{97,70,0}}, +/* 7701 */ {(12<<2)|2,{97,70,0}}, +/* 7702 */ {(12<<2)|2,{97,70,0}}, +/* 7703 */ {(12<<2)|2,{97,70,0}}, +/* 7704 */ {(12<<2)|2,{97,70,0}}, +/* 7705 */ {(12<<2)|2,{97,70,0}}, +/* 7706 */ {(12<<2)|2,{97,70,0}}, +/* 7707 */ {(12<<2)|2,{97,70,0}}, +/* 7708 */ {(12<<2)|2,{97,70,0}}, +/* 7709 */ {(12<<2)|2,{97,70,0}}, +/* 7710 */ {(12<<2)|2,{97,70,0}}, +/* 7711 */ {(12<<2)|2,{97,70,0}}, +/* 7712 */ {(12<<2)|2,{97,71,0}}, +/* 7713 */ {(12<<2)|2,{97,71,0}}, +/* 7714 */ {(12<<2)|2,{97,71,0}}, +/* 7715 */ {(12<<2)|2,{97,71,0}}, +/* 7716 */ {(12<<2)|2,{97,71,0}}, +/* 7717 */ {(12<<2)|2,{97,71,0}}, +/* 7718 */ {(12<<2)|2,{97,71,0}}, +/* 7719 */ {(12<<2)|2,{97,71,0}}, +/* 7720 */ {(12<<2)|2,{97,71,0}}, +/* 7721 */ {(12<<2)|2,{97,71,0}}, +/* 7722 */ {(12<<2)|2,{97,71,0}}, +/* 7723 */ {(12<<2)|2,{97,71,0}}, +/* 7724 */ {(12<<2)|2,{97,71,0}}, +/* 7725 */ {(12<<2)|2,{97,71,0}}, +/* 7726 */ {(12<<2)|2,{97,71,0}}, +/* 7727 */ {(12<<2)|2,{97,71,0}}, +/* 7728 */ {(12<<2)|2,{97,72,0}}, +/* 7729 */ {(12<<2)|2,{97,72,0}}, +/* 7730 */ {(12<<2)|2,{97,72,0}}, +/* 7731 */ {(12<<2)|2,{97,72,0}}, +/* 7732 */ {(12<<2)|2,{97,72,0}}, +/* 7733 */ {(12<<2)|2,{97,72,0}}, +/* 7734 */ {(12<<2)|2,{97,72,0}}, +/* 7735 */ {(12<<2)|2,{97,72,0}}, +/* 7736 */ {(12<<2)|2,{97,72,0}}, +/* 7737 */ {(12<<2)|2,{97,72,0}}, +/* 7738 */ {(12<<2)|2,{97,72,0}}, +/* 7739 */ {(12<<2)|2,{97,72,0}}, +/* 7740 */ {(12<<2)|2,{97,72,0}}, +/* 7741 */ {(12<<2)|2,{97,72,0}}, +/* 7742 */ {(12<<2)|2,{97,72,0}}, +/* 7743 */ {(12<<2)|2,{97,72,0}}, +/* 7744 */ {(12<<2)|2,{97,73,0}}, +/* 7745 */ {(12<<2)|2,{97,73,0}}, +/* 7746 */ {(12<<2)|2,{97,73,0}}, +/* 7747 */ {(12<<2)|2,{97,73,0}}, +/* 7748 */ {(12<<2)|2,{97,73,0}}, +/* 7749 */ {(12<<2)|2,{97,73,0}}, +/* 7750 */ {(12<<2)|2,{97,73,0}}, +/* 7751 */ {(12<<2)|2,{97,73,0}}, +/* 7752 */ {(12<<2)|2,{97,73,0}}, +/* 7753 */ {(12<<2)|2,{97,73,0}}, +/* 7754 */ {(12<<2)|2,{97,73,0}}, +/* 7755 */ {(12<<2)|2,{97,73,0}}, +/* 7756 */ {(12<<2)|2,{97,73,0}}, +/* 7757 */ {(12<<2)|2,{97,73,0}}, +/* 7758 */ {(12<<2)|2,{97,73,0}}, +/* 7759 */ {(12<<2)|2,{97,73,0}}, +/* 7760 */ {(12<<2)|2,{97,74,0}}, +/* 7761 */ {(12<<2)|2,{97,74,0}}, +/* 7762 */ {(12<<2)|2,{97,74,0}}, +/* 7763 */ {(12<<2)|2,{97,74,0}}, +/* 7764 */ {(12<<2)|2,{97,74,0}}, +/* 7765 */ {(12<<2)|2,{97,74,0}}, +/* 7766 */ {(12<<2)|2,{97,74,0}}, +/* 7767 */ {(12<<2)|2,{97,74,0}}, +/* 7768 */ {(12<<2)|2,{97,74,0}}, +/* 7769 */ {(12<<2)|2,{97,74,0}}, +/* 7770 */ {(12<<2)|2,{97,74,0}}, +/* 7771 */ {(12<<2)|2,{97,74,0}}, +/* 7772 */ {(12<<2)|2,{97,74,0}}, +/* 7773 */ {(12<<2)|2,{97,74,0}}, +/* 7774 */ {(12<<2)|2,{97,74,0}}, +/* 7775 */ {(12<<2)|2,{97,74,0}}, +/* 7776 */ {(12<<2)|2,{97,75,0}}, +/* 7777 */ {(12<<2)|2,{97,75,0}}, +/* 7778 */ {(12<<2)|2,{97,75,0}}, +/* 7779 */ {(12<<2)|2,{97,75,0}}, +/* 7780 */ {(12<<2)|2,{97,75,0}}, +/* 7781 */ {(12<<2)|2,{97,75,0}}, +/* 7782 */ {(12<<2)|2,{97,75,0}}, +/* 7783 */ {(12<<2)|2,{97,75,0}}, +/* 7784 */ {(12<<2)|2,{97,75,0}}, +/* 7785 */ {(12<<2)|2,{97,75,0}}, +/* 7786 */ {(12<<2)|2,{97,75,0}}, +/* 7787 */ {(12<<2)|2,{97,75,0}}, +/* 7788 */ {(12<<2)|2,{97,75,0}}, +/* 7789 */ {(12<<2)|2,{97,75,0}}, +/* 7790 */ {(12<<2)|2,{97,75,0}}, +/* 7791 */ {(12<<2)|2,{97,75,0}}, +/* 7792 */ {(12<<2)|2,{97,76,0}}, +/* 7793 */ {(12<<2)|2,{97,76,0}}, +/* 7794 */ {(12<<2)|2,{97,76,0}}, +/* 7795 */ {(12<<2)|2,{97,76,0}}, +/* 7796 */ {(12<<2)|2,{97,76,0}}, +/* 7797 */ {(12<<2)|2,{97,76,0}}, +/* 7798 */ {(12<<2)|2,{97,76,0}}, +/* 7799 */ {(12<<2)|2,{97,76,0}}, +/* 7800 */ {(12<<2)|2,{97,76,0}}, +/* 7801 */ {(12<<2)|2,{97,76,0}}, +/* 7802 */ {(12<<2)|2,{97,76,0}}, +/* 7803 */ {(12<<2)|2,{97,76,0}}, +/* 7804 */ {(12<<2)|2,{97,76,0}}, +/* 7805 */ {(12<<2)|2,{97,76,0}}, +/* 7806 */ {(12<<2)|2,{97,76,0}}, +/* 7807 */ {(12<<2)|2,{97,76,0}}, +/* 7808 */ {(12<<2)|2,{97,77,0}}, +/* 7809 */ {(12<<2)|2,{97,77,0}}, +/* 7810 */ {(12<<2)|2,{97,77,0}}, +/* 7811 */ {(12<<2)|2,{97,77,0}}, +/* 7812 */ {(12<<2)|2,{97,77,0}}, +/* 7813 */ {(12<<2)|2,{97,77,0}}, +/* 7814 */ {(12<<2)|2,{97,77,0}}, +/* 7815 */ {(12<<2)|2,{97,77,0}}, +/* 7816 */ {(12<<2)|2,{97,77,0}}, +/* 7817 */ {(12<<2)|2,{97,77,0}}, +/* 7818 */ {(12<<2)|2,{97,77,0}}, +/* 7819 */ {(12<<2)|2,{97,77,0}}, +/* 7820 */ {(12<<2)|2,{97,77,0}}, +/* 7821 */ {(12<<2)|2,{97,77,0}}, +/* 7822 */ {(12<<2)|2,{97,77,0}}, +/* 7823 */ {(12<<2)|2,{97,77,0}}, +/* 7824 */ {(12<<2)|2,{97,78,0}}, +/* 7825 */ {(12<<2)|2,{97,78,0}}, +/* 7826 */ {(12<<2)|2,{97,78,0}}, +/* 7827 */ {(12<<2)|2,{97,78,0}}, +/* 7828 */ {(12<<2)|2,{97,78,0}}, +/* 7829 */ {(12<<2)|2,{97,78,0}}, +/* 7830 */ {(12<<2)|2,{97,78,0}}, +/* 7831 */ {(12<<2)|2,{97,78,0}}, +/* 7832 */ {(12<<2)|2,{97,78,0}}, +/* 7833 */ {(12<<2)|2,{97,78,0}}, +/* 7834 */ {(12<<2)|2,{97,78,0}}, +/* 7835 */ {(12<<2)|2,{97,78,0}}, +/* 7836 */ {(12<<2)|2,{97,78,0}}, +/* 7837 */ {(12<<2)|2,{97,78,0}}, +/* 7838 */ {(12<<2)|2,{97,78,0}}, +/* 7839 */ {(12<<2)|2,{97,78,0}}, +/* 7840 */ {(12<<2)|2,{97,79,0}}, +/* 7841 */ {(12<<2)|2,{97,79,0}}, +/* 7842 */ {(12<<2)|2,{97,79,0}}, +/* 7843 */ {(12<<2)|2,{97,79,0}}, +/* 7844 */ {(12<<2)|2,{97,79,0}}, +/* 7845 */ {(12<<2)|2,{97,79,0}}, +/* 7846 */ {(12<<2)|2,{97,79,0}}, +/* 7847 */ {(12<<2)|2,{97,79,0}}, +/* 7848 */ {(12<<2)|2,{97,79,0}}, +/* 7849 */ {(12<<2)|2,{97,79,0}}, +/* 7850 */ {(12<<2)|2,{97,79,0}}, +/* 7851 */ {(12<<2)|2,{97,79,0}}, +/* 7852 */ {(12<<2)|2,{97,79,0}}, +/* 7853 */ {(12<<2)|2,{97,79,0}}, +/* 7854 */ {(12<<2)|2,{97,79,0}}, +/* 7855 */ {(12<<2)|2,{97,79,0}}, +/* 7856 */ {(12<<2)|2,{97,80,0}}, +/* 7857 */ {(12<<2)|2,{97,80,0}}, +/* 7858 */ {(12<<2)|2,{97,80,0}}, +/* 7859 */ {(12<<2)|2,{97,80,0}}, +/* 7860 */ {(12<<2)|2,{97,80,0}}, +/* 7861 */ {(12<<2)|2,{97,80,0}}, +/* 7862 */ {(12<<2)|2,{97,80,0}}, +/* 7863 */ {(12<<2)|2,{97,80,0}}, +/* 7864 */ {(12<<2)|2,{97,80,0}}, +/* 7865 */ {(12<<2)|2,{97,80,0}}, +/* 7866 */ {(12<<2)|2,{97,80,0}}, +/* 7867 */ {(12<<2)|2,{97,80,0}}, +/* 7868 */ {(12<<2)|2,{97,80,0}}, +/* 7869 */ {(12<<2)|2,{97,80,0}}, +/* 7870 */ {(12<<2)|2,{97,80,0}}, +/* 7871 */ {(12<<2)|2,{97,80,0}}, +/* 7872 */ {(12<<2)|2,{97,81,0}}, +/* 7873 */ {(12<<2)|2,{97,81,0}}, +/* 7874 */ {(12<<2)|2,{97,81,0}}, +/* 7875 */ {(12<<2)|2,{97,81,0}}, +/* 7876 */ {(12<<2)|2,{97,81,0}}, +/* 7877 */ {(12<<2)|2,{97,81,0}}, +/* 7878 */ {(12<<2)|2,{97,81,0}}, +/* 7879 */ {(12<<2)|2,{97,81,0}}, +/* 7880 */ {(12<<2)|2,{97,81,0}}, +/* 7881 */ {(12<<2)|2,{97,81,0}}, +/* 7882 */ {(12<<2)|2,{97,81,0}}, +/* 7883 */ {(12<<2)|2,{97,81,0}}, +/* 7884 */ {(12<<2)|2,{97,81,0}}, +/* 7885 */ {(12<<2)|2,{97,81,0}}, +/* 7886 */ {(12<<2)|2,{97,81,0}}, +/* 7887 */ {(12<<2)|2,{97,81,0}}, +/* 7888 */ {(12<<2)|2,{97,82,0}}, +/* 7889 */ {(12<<2)|2,{97,82,0}}, +/* 7890 */ {(12<<2)|2,{97,82,0}}, +/* 7891 */ {(12<<2)|2,{97,82,0}}, +/* 7892 */ {(12<<2)|2,{97,82,0}}, +/* 7893 */ {(12<<2)|2,{97,82,0}}, +/* 7894 */ {(12<<2)|2,{97,82,0}}, +/* 7895 */ {(12<<2)|2,{97,82,0}}, +/* 7896 */ {(12<<2)|2,{97,82,0}}, +/* 7897 */ {(12<<2)|2,{97,82,0}}, +/* 7898 */ {(12<<2)|2,{97,82,0}}, +/* 7899 */ {(12<<2)|2,{97,82,0}}, +/* 7900 */ {(12<<2)|2,{97,82,0}}, +/* 7901 */ {(12<<2)|2,{97,82,0}}, +/* 7902 */ {(12<<2)|2,{97,82,0}}, +/* 7903 */ {(12<<2)|2,{97,82,0}}, +/* 7904 */ {(12<<2)|2,{97,83,0}}, +/* 7905 */ {(12<<2)|2,{97,83,0}}, +/* 7906 */ {(12<<2)|2,{97,83,0}}, +/* 7907 */ {(12<<2)|2,{97,83,0}}, +/* 7908 */ {(12<<2)|2,{97,83,0}}, +/* 7909 */ {(12<<2)|2,{97,83,0}}, +/* 7910 */ {(12<<2)|2,{97,83,0}}, +/* 7911 */ {(12<<2)|2,{97,83,0}}, +/* 7912 */ {(12<<2)|2,{97,83,0}}, +/* 7913 */ {(12<<2)|2,{97,83,0}}, +/* 7914 */ {(12<<2)|2,{97,83,0}}, +/* 7915 */ {(12<<2)|2,{97,83,0}}, +/* 7916 */ {(12<<2)|2,{97,83,0}}, +/* 7917 */ {(12<<2)|2,{97,83,0}}, +/* 7918 */ {(12<<2)|2,{97,83,0}}, +/* 7919 */ {(12<<2)|2,{97,83,0}}, +/* 7920 */ {(12<<2)|2,{97,84,0}}, +/* 7921 */ {(12<<2)|2,{97,84,0}}, +/* 7922 */ {(12<<2)|2,{97,84,0}}, +/* 7923 */ {(12<<2)|2,{97,84,0}}, +/* 7924 */ {(12<<2)|2,{97,84,0}}, +/* 7925 */ {(12<<2)|2,{97,84,0}}, +/* 7926 */ {(12<<2)|2,{97,84,0}}, +/* 7927 */ {(12<<2)|2,{97,84,0}}, +/* 7928 */ {(12<<2)|2,{97,84,0}}, +/* 7929 */ {(12<<2)|2,{97,84,0}}, +/* 7930 */ {(12<<2)|2,{97,84,0}}, +/* 7931 */ {(12<<2)|2,{97,84,0}}, +/* 7932 */ {(12<<2)|2,{97,84,0}}, +/* 7933 */ {(12<<2)|2,{97,84,0}}, +/* 7934 */ {(12<<2)|2,{97,84,0}}, +/* 7935 */ {(12<<2)|2,{97,84,0}}, +/* 7936 */ {(12<<2)|2,{97,85,0}}, +/* 7937 */ {(12<<2)|2,{97,85,0}}, +/* 7938 */ {(12<<2)|2,{97,85,0}}, +/* 7939 */ {(12<<2)|2,{97,85,0}}, +/* 7940 */ {(12<<2)|2,{97,85,0}}, +/* 7941 */ {(12<<2)|2,{97,85,0}}, +/* 7942 */ {(12<<2)|2,{97,85,0}}, +/* 7943 */ {(12<<2)|2,{97,85,0}}, +/* 7944 */ {(12<<2)|2,{97,85,0}}, +/* 7945 */ {(12<<2)|2,{97,85,0}}, +/* 7946 */ {(12<<2)|2,{97,85,0}}, +/* 7947 */ {(12<<2)|2,{97,85,0}}, +/* 7948 */ {(12<<2)|2,{97,85,0}}, +/* 7949 */ {(12<<2)|2,{97,85,0}}, +/* 7950 */ {(12<<2)|2,{97,85,0}}, +/* 7951 */ {(12<<2)|2,{97,85,0}}, +/* 7952 */ {(12<<2)|2,{97,86,0}}, +/* 7953 */ {(12<<2)|2,{97,86,0}}, +/* 7954 */ {(12<<2)|2,{97,86,0}}, +/* 7955 */ {(12<<2)|2,{97,86,0}}, +/* 7956 */ {(12<<2)|2,{97,86,0}}, +/* 7957 */ {(12<<2)|2,{97,86,0}}, +/* 7958 */ {(12<<2)|2,{97,86,0}}, +/* 7959 */ {(12<<2)|2,{97,86,0}}, +/* 7960 */ {(12<<2)|2,{97,86,0}}, +/* 7961 */ {(12<<2)|2,{97,86,0}}, +/* 7962 */ {(12<<2)|2,{97,86,0}}, +/* 7963 */ {(12<<2)|2,{97,86,0}}, +/* 7964 */ {(12<<2)|2,{97,86,0}}, +/* 7965 */ {(12<<2)|2,{97,86,0}}, +/* 7966 */ {(12<<2)|2,{97,86,0}}, +/* 7967 */ {(12<<2)|2,{97,86,0}}, +/* 7968 */ {(12<<2)|2,{97,87,0}}, +/* 7969 */ {(12<<2)|2,{97,87,0}}, +/* 7970 */ {(12<<2)|2,{97,87,0}}, +/* 7971 */ {(12<<2)|2,{97,87,0}}, +/* 7972 */ {(12<<2)|2,{97,87,0}}, +/* 7973 */ {(12<<2)|2,{97,87,0}}, +/* 7974 */ {(12<<2)|2,{97,87,0}}, +/* 7975 */ {(12<<2)|2,{97,87,0}}, +/* 7976 */ {(12<<2)|2,{97,87,0}}, +/* 7977 */ {(12<<2)|2,{97,87,0}}, +/* 7978 */ {(12<<2)|2,{97,87,0}}, +/* 7979 */ {(12<<2)|2,{97,87,0}}, +/* 7980 */ {(12<<2)|2,{97,87,0}}, +/* 7981 */ {(12<<2)|2,{97,87,0}}, +/* 7982 */ {(12<<2)|2,{97,87,0}}, +/* 7983 */ {(12<<2)|2,{97,87,0}}, +/* 7984 */ {(12<<2)|2,{97,89,0}}, +/* 7985 */ {(12<<2)|2,{97,89,0}}, +/* 7986 */ {(12<<2)|2,{97,89,0}}, +/* 7987 */ {(12<<2)|2,{97,89,0}}, +/* 7988 */ {(12<<2)|2,{97,89,0}}, +/* 7989 */ {(12<<2)|2,{97,89,0}}, +/* 7990 */ {(12<<2)|2,{97,89,0}}, +/* 7991 */ {(12<<2)|2,{97,89,0}}, +/* 7992 */ {(12<<2)|2,{97,89,0}}, +/* 7993 */ {(12<<2)|2,{97,89,0}}, +/* 7994 */ {(12<<2)|2,{97,89,0}}, +/* 7995 */ {(12<<2)|2,{97,89,0}}, +/* 7996 */ {(12<<2)|2,{97,89,0}}, +/* 7997 */ {(12<<2)|2,{97,89,0}}, +/* 7998 */ {(12<<2)|2,{97,89,0}}, +/* 7999 */ {(12<<2)|2,{97,89,0}}, +/* 8000 */ {(12<<2)|2,{97,106,0}}, +/* 8001 */ {(12<<2)|2,{97,106,0}}, +/* 8002 */ {(12<<2)|2,{97,106,0}}, +/* 8003 */ {(12<<2)|2,{97,106,0}}, +/* 8004 */ {(12<<2)|2,{97,106,0}}, +/* 8005 */ {(12<<2)|2,{97,106,0}}, +/* 8006 */ {(12<<2)|2,{97,106,0}}, +/* 8007 */ {(12<<2)|2,{97,106,0}}, +/* 8008 */ {(12<<2)|2,{97,106,0}}, +/* 8009 */ {(12<<2)|2,{97,106,0}}, +/* 8010 */ {(12<<2)|2,{97,106,0}}, +/* 8011 */ {(12<<2)|2,{97,106,0}}, +/* 8012 */ {(12<<2)|2,{97,106,0}}, +/* 8013 */ {(12<<2)|2,{97,106,0}}, +/* 8014 */ {(12<<2)|2,{97,106,0}}, +/* 8015 */ {(12<<2)|2,{97,106,0}}, +/* 8016 */ {(12<<2)|2,{97,107,0}}, +/* 8017 */ {(12<<2)|2,{97,107,0}}, +/* 8018 */ {(12<<2)|2,{97,107,0}}, +/* 8019 */ {(12<<2)|2,{97,107,0}}, +/* 8020 */ {(12<<2)|2,{97,107,0}}, +/* 8021 */ {(12<<2)|2,{97,107,0}}, +/* 8022 */ {(12<<2)|2,{97,107,0}}, +/* 8023 */ {(12<<2)|2,{97,107,0}}, +/* 8024 */ {(12<<2)|2,{97,107,0}}, +/* 8025 */ {(12<<2)|2,{97,107,0}}, +/* 8026 */ {(12<<2)|2,{97,107,0}}, +/* 8027 */ {(12<<2)|2,{97,107,0}}, +/* 8028 */ {(12<<2)|2,{97,107,0}}, +/* 8029 */ {(12<<2)|2,{97,107,0}}, +/* 8030 */ {(12<<2)|2,{97,107,0}}, +/* 8031 */ {(12<<2)|2,{97,107,0}}, +/* 8032 */ {(12<<2)|2,{97,113,0}}, +/* 8033 */ {(12<<2)|2,{97,113,0}}, +/* 8034 */ {(12<<2)|2,{97,113,0}}, +/* 8035 */ {(12<<2)|2,{97,113,0}}, +/* 8036 */ {(12<<2)|2,{97,113,0}}, +/* 8037 */ {(12<<2)|2,{97,113,0}}, +/* 8038 */ {(12<<2)|2,{97,113,0}}, +/* 8039 */ {(12<<2)|2,{97,113,0}}, +/* 8040 */ {(12<<2)|2,{97,113,0}}, +/* 8041 */ {(12<<2)|2,{97,113,0}}, +/* 8042 */ {(12<<2)|2,{97,113,0}}, +/* 8043 */ {(12<<2)|2,{97,113,0}}, +/* 8044 */ {(12<<2)|2,{97,113,0}}, +/* 8045 */ {(12<<2)|2,{97,113,0}}, +/* 8046 */ {(12<<2)|2,{97,113,0}}, +/* 8047 */ {(12<<2)|2,{97,113,0}}, +/* 8048 */ {(12<<2)|2,{97,118,0}}, +/* 8049 */ {(12<<2)|2,{97,118,0}}, +/* 8050 */ {(12<<2)|2,{97,118,0}}, +/* 8051 */ {(12<<2)|2,{97,118,0}}, +/* 8052 */ {(12<<2)|2,{97,118,0}}, +/* 8053 */ {(12<<2)|2,{97,118,0}}, +/* 8054 */ {(12<<2)|2,{97,118,0}}, +/* 8055 */ {(12<<2)|2,{97,118,0}}, +/* 8056 */ {(12<<2)|2,{97,118,0}}, +/* 8057 */ {(12<<2)|2,{97,118,0}}, +/* 8058 */ {(12<<2)|2,{97,118,0}}, +/* 8059 */ {(12<<2)|2,{97,118,0}}, +/* 8060 */ {(12<<2)|2,{97,118,0}}, +/* 8061 */ {(12<<2)|2,{97,118,0}}, +/* 8062 */ {(12<<2)|2,{97,118,0}}, +/* 8063 */ {(12<<2)|2,{97,118,0}}, +/* 8064 */ {(12<<2)|2,{97,119,0}}, +/* 8065 */ {(12<<2)|2,{97,119,0}}, +/* 8066 */ {(12<<2)|2,{97,119,0}}, +/* 8067 */ {(12<<2)|2,{97,119,0}}, +/* 8068 */ {(12<<2)|2,{97,119,0}}, +/* 8069 */ {(12<<2)|2,{97,119,0}}, +/* 8070 */ {(12<<2)|2,{97,119,0}}, +/* 8071 */ {(12<<2)|2,{97,119,0}}, +/* 8072 */ {(12<<2)|2,{97,119,0}}, +/* 8073 */ {(12<<2)|2,{97,119,0}}, +/* 8074 */ {(12<<2)|2,{97,119,0}}, +/* 8075 */ {(12<<2)|2,{97,119,0}}, +/* 8076 */ {(12<<2)|2,{97,119,0}}, +/* 8077 */ {(12<<2)|2,{97,119,0}}, +/* 8078 */ {(12<<2)|2,{97,119,0}}, +/* 8079 */ {(12<<2)|2,{97,119,0}}, +/* 8080 */ {(12<<2)|2,{97,120,0}}, +/* 8081 */ {(12<<2)|2,{97,120,0}}, +/* 8082 */ {(12<<2)|2,{97,120,0}}, +/* 8083 */ {(12<<2)|2,{97,120,0}}, +/* 8084 */ {(12<<2)|2,{97,120,0}}, +/* 8085 */ {(12<<2)|2,{97,120,0}}, +/* 8086 */ {(12<<2)|2,{97,120,0}}, +/* 8087 */ {(12<<2)|2,{97,120,0}}, +/* 8088 */ {(12<<2)|2,{97,120,0}}, +/* 8089 */ {(12<<2)|2,{97,120,0}}, +/* 8090 */ {(12<<2)|2,{97,120,0}}, +/* 8091 */ {(12<<2)|2,{97,120,0}}, +/* 8092 */ {(12<<2)|2,{97,120,0}}, +/* 8093 */ {(12<<2)|2,{97,120,0}}, +/* 8094 */ {(12<<2)|2,{97,120,0}}, +/* 8095 */ {(12<<2)|2,{97,120,0}}, +/* 8096 */ {(12<<2)|2,{97,121,0}}, +/* 8097 */ {(12<<2)|2,{97,121,0}}, +/* 8098 */ {(12<<2)|2,{97,121,0}}, +/* 8099 */ {(12<<2)|2,{97,121,0}}, +/* 8100 */ {(12<<2)|2,{97,121,0}}, +/* 8101 */ {(12<<2)|2,{97,121,0}}, +/* 8102 */ {(12<<2)|2,{97,121,0}}, +/* 8103 */ {(12<<2)|2,{97,121,0}}, +/* 8104 */ {(12<<2)|2,{97,121,0}}, +/* 8105 */ {(12<<2)|2,{97,121,0}}, +/* 8106 */ {(12<<2)|2,{97,121,0}}, +/* 8107 */ {(12<<2)|2,{97,121,0}}, +/* 8108 */ {(12<<2)|2,{97,121,0}}, +/* 8109 */ {(12<<2)|2,{97,121,0}}, +/* 8110 */ {(12<<2)|2,{97,121,0}}, +/* 8111 */ {(12<<2)|2,{97,121,0}}, +/* 8112 */ {(12<<2)|2,{97,122,0}}, +/* 8113 */ {(12<<2)|2,{97,122,0}}, +/* 8114 */ {(12<<2)|2,{97,122,0}}, +/* 8115 */ {(12<<2)|2,{97,122,0}}, +/* 8116 */ {(12<<2)|2,{97,122,0}}, +/* 8117 */ {(12<<2)|2,{97,122,0}}, +/* 8118 */ {(12<<2)|2,{97,122,0}}, +/* 8119 */ {(12<<2)|2,{97,122,0}}, +/* 8120 */ {(12<<2)|2,{97,122,0}}, +/* 8121 */ {(12<<2)|2,{97,122,0}}, +/* 8122 */ {(12<<2)|2,{97,122,0}}, +/* 8123 */ {(12<<2)|2,{97,122,0}}, +/* 8124 */ {(12<<2)|2,{97,122,0}}, +/* 8125 */ {(12<<2)|2,{97,122,0}}, +/* 8126 */ {(12<<2)|2,{97,122,0}}, +/* 8127 */ {(12<<2)|2,{97,122,0}}, +/* 8128 */ {(13<<2)|2,{97,38,0}}, +/* 8129 */ {(13<<2)|2,{97,38,0}}, +/* 8130 */ {(13<<2)|2,{97,38,0}}, +/* 8131 */ {(13<<2)|2,{97,38,0}}, +/* 8132 */ {(13<<2)|2,{97,38,0}}, +/* 8133 */ {(13<<2)|2,{97,38,0}}, +/* 8134 */ {(13<<2)|2,{97,38,0}}, +/* 8135 */ {(13<<2)|2,{97,38,0}}, +/* 8136 */ {(13<<2)|2,{97,42,0}}, +/* 8137 */ {(13<<2)|2,{97,42,0}}, +/* 8138 */ {(13<<2)|2,{97,42,0}}, +/* 8139 */ {(13<<2)|2,{97,42,0}}, +/* 8140 */ {(13<<2)|2,{97,42,0}}, +/* 8141 */ {(13<<2)|2,{97,42,0}}, +/* 8142 */ {(13<<2)|2,{97,42,0}}, +/* 8143 */ {(13<<2)|2,{97,42,0}}, +/* 8144 */ {(13<<2)|2,{97,44,0}}, +/* 8145 */ {(13<<2)|2,{97,44,0}}, +/* 8146 */ {(13<<2)|2,{97,44,0}}, +/* 8147 */ {(13<<2)|2,{97,44,0}}, +/* 8148 */ {(13<<2)|2,{97,44,0}}, +/* 8149 */ {(13<<2)|2,{97,44,0}}, +/* 8150 */ {(13<<2)|2,{97,44,0}}, +/* 8151 */ {(13<<2)|2,{97,44,0}}, +/* 8152 */ {(13<<2)|2,{97,59,0}}, +/* 8153 */ {(13<<2)|2,{97,59,0}}, +/* 8154 */ {(13<<2)|2,{97,59,0}}, +/* 8155 */ {(13<<2)|2,{97,59,0}}, +/* 8156 */ {(13<<2)|2,{97,59,0}}, +/* 8157 */ {(13<<2)|2,{97,59,0}}, +/* 8158 */ {(13<<2)|2,{97,59,0}}, +/* 8159 */ {(13<<2)|2,{97,59,0}}, +/* 8160 */ {(13<<2)|2,{97,88,0}}, +/* 8161 */ {(13<<2)|2,{97,88,0}}, +/* 8162 */ {(13<<2)|2,{97,88,0}}, +/* 8163 */ {(13<<2)|2,{97,88,0}}, +/* 8164 */ {(13<<2)|2,{97,88,0}}, +/* 8165 */ {(13<<2)|2,{97,88,0}}, +/* 8166 */ {(13<<2)|2,{97,88,0}}, +/* 8167 */ {(13<<2)|2,{97,88,0}}, +/* 8168 */ {(13<<2)|2,{97,90,0}}, +/* 8169 */ {(13<<2)|2,{97,90,0}}, +/* 8170 */ {(13<<2)|2,{97,90,0}}, +/* 8171 */ {(13<<2)|2,{97,90,0}}, +/* 8172 */ {(13<<2)|2,{97,90,0}}, +/* 8173 */ {(13<<2)|2,{97,90,0}}, +/* 8174 */ {(13<<2)|2,{97,90,0}}, +/* 8175 */ {(13<<2)|2,{97,90,0}}, +/* 8176 */ {(15<<2)|2,{97,33,0}}, +/* 8177 */ {(15<<2)|2,{97,33,0}}, +/* 8178 */ {(15<<2)|2,{97,34,0}}, +/* 8179 */ {(15<<2)|2,{97,34,0}}, +/* 8180 */ {(15<<2)|2,{97,40,0}}, +/* 8181 */ {(15<<2)|2,{97,40,0}}, +/* 8182 */ {(15<<2)|2,{97,41,0}}, +/* 8183 */ {(15<<2)|2,{97,41,0}}, +/* 8184 */ {(15<<2)|2,{97,63,0}}, +/* 8185 */ {(15<<2)|2,{97,63,0}}, +/* 8186 */ {(16<<2)|2,{97,39,0}}, +/* 8187 */ {(16<<2)|2,{97,43,0}}, +/* 8188 */ {(16<<2)|2,{97,124,0}}, +/* 8189 */ {(5<<2)|1,{97,0,0}}, +/* 8190 */ {(5<<2)|1,{97,0,0}}, +/* 8191 */ {(5<<2)|1,{97,0,0}}, +/* 8192 */ {(15<<2)|3,{99,48,48}}, +/* 8193 */ {(15<<2)|3,{99,48,48}}, +/* 8194 */ {(15<<2)|3,{99,48,49}}, +/* 8195 */ {(15<<2)|3,{99,48,49}}, +/* 8196 */ {(15<<2)|3,{99,48,50}}, +/* 8197 */ {(15<<2)|3,{99,48,50}}, +/* 8198 */ {(15<<2)|3,{99,48,97}}, +/* 8199 */ {(15<<2)|3,{99,48,97}}, +/* 8200 */ {(15<<2)|3,{99,48,99}}, +/* 8201 */ {(15<<2)|3,{99,48,99}}, +/* 8202 */ {(15<<2)|3,{99,48,101}}, +/* 8203 */ {(15<<2)|3,{99,48,101}}, +/* 8204 */ {(15<<2)|3,{99,48,105}}, +/* 8205 */ {(15<<2)|3,{99,48,105}}, +/* 8206 */ {(15<<2)|3,{99,48,111}}, +/* 8207 */ {(15<<2)|3,{99,48,111}}, +/* 8208 */ {(15<<2)|3,{99,48,115}}, +/* 8209 */ {(15<<2)|3,{99,48,115}}, +/* 8210 */ {(15<<2)|3,{99,48,116}}, +/* 8211 */ {(15<<2)|3,{99,48,116}}, +/* 8212 */ {(16<<2)|3,{99,48,32}}, +/* 8213 */ {(16<<2)|3,{99,48,37}}, +/* 8214 */ {(16<<2)|3,{99,48,45}}, +/* 8215 */ {(16<<2)|3,{99,48,46}}, +/* 8216 */ {(16<<2)|3,{99,48,47}}, +/* 8217 */ {(16<<2)|3,{99,48,51}}, +/* 8218 */ {(16<<2)|3,{99,48,52}}, +/* 8219 */ {(16<<2)|3,{99,48,53}}, +/* 8220 */ {(16<<2)|3,{99,48,54}}, +/* 8221 */ {(16<<2)|3,{99,48,55}}, +/* 8222 */ {(16<<2)|3,{99,48,56}}, +/* 8223 */ {(16<<2)|3,{99,48,57}}, +/* 8224 */ {(16<<2)|3,{99,48,61}}, +/* 8225 */ {(16<<2)|3,{99,48,65}}, +/* 8226 */ {(16<<2)|3,{99,48,95}}, +/* 8227 */ {(16<<2)|3,{99,48,98}}, +/* 8228 */ {(16<<2)|3,{99,48,100}}, +/* 8229 */ {(16<<2)|3,{99,48,102}}, +/* 8230 */ {(16<<2)|3,{99,48,103}}, +/* 8231 */ {(16<<2)|3,{99,48,104}}, +/* 8232 */ {(16<<2)|3,{99,48,108}}, +/* 8233 */ {(16<<2)|3,{99,48,109}}, +/* 8234 */ {(16<<2)|3,{99,48,110}}, +/* 8235 */ {(16<<2)|3,{99,48,112}}, +/* 8236 */ {(16<<2)|3,{99,48,114}}, +/* 8237 */ {(16<<2)|3,{99,48,117}}, +/* 8238 */ {(10<<2)|2,{99,48,0}}, +/* 8239 */ {(10<<2)|2,{99,48,0}}, +/* 8240 */ {(10<<2)|2,{99,48,0}}, +/* 8241 */ {(10<<2)|2,{99,48,0}}, +/* 8242 */ {(10<<2)|2,{99,48,0}}, +/* 8243 */ {(10<<2)|2,{99,48,0}}, +/* 8244 */ {(10<<2)|2,{99,48,0}}, +/* 8245 */ {(10<<2)|2,{99,48,0}}, +/* 8246 */ {(10<<2)|2,{99,48,0}}, +/* 8247 */ {(10<<2)|2,{99,48,0}}, +/* 8248 */ {(10<<2)|2,{99,48,0}}, +/* 8249 */ {(10<<2)|2,{99,48,0}}, +/* 8250 */ {(10<<2)|2,{99,48,0}}, +/* 8251 */ {(10<<2)|2,{99,48,0}}, +/* 8252 */ {(10<<2)|2,{99,48,0}}, +/* 8253 */ {(10<<2)|2,{99,48,0}}, +/* 8254 */ {(10<<2)|2,{99,48,0}}, +/* 8255 */ {(10<<2)|2,{99,48,0}}, +/* 8256 */ {(15<<2)|3,{99,49,48}}, +/* 8257 */ {(15<<2)|3,{99,49,48}}, +/* 8258 */ {(15<<2)|3,{99,49,49}}, +/* 8259 */ {(15<<2)|3,{99,49,49}}, +/* 8260 */ {(15<<2)|3,{99,49,50}}, +/* 8261 */ {(15<<2)|3,{99,49,50}}, +/* 8262 */ {(15<<2)|3,{99,49,97}}, +/* 8263 */ {(15<<2)|3,{99,49,97}}, +/* 8264 */ {(15<<2)|3,{99,49,99}}, +/* 8265 */ {(15<<2)|3,{99,49,99}}, +/* 8266 */ {(15<<2)|3,{99,49,101}}, +/* 8267 */ {(15<<2)|3,{99,49,101}}, +/* 8268 */ {(15<<2)|3,{99,49,105}}, +/* 8269 */ {(15<<2)|3,{99,49,105}}, +/* 8270 */ {(15<<2)|3,{99,49,111}}, +/* 8271 */ {(15<<2)|3,{99,49,111}}, +/* 8272 */ {(15<<2)|3,{99,49,115}}, +/* 8273 */ {(15<<2)|3,{99,49,115}}, +/* 8274 */ {(15<<2)|3,{99,49,116}}, +/* 8275 */ {(15<<2)|3,{99,49,116}}, +/* 8276 */ {(16<<2)|3,{99,49,32}}, +/* 8277 */ {(16<<2)|3,{99,49,37}}, +/* 8278 */ {(16<<2)|3,{99,49,45}}, +/* 8279 */ {(16<<2)|3,{99,49,46}}, +/* 8280 */ {(16<<2)|3,{99,49,47}}, +/* 8281 */ {(16<<2)|3,{99,49,51}}, +/* 8282 */ {(16<<2)|3,{99,49,52}}, +/* 8283 */ {(16<<2)|3,{99,49,53}}, +/* 8284 */ {(16<<2)|3,{99,49,54}}, +/* 8285 */ {(16<<2)|3,{99,49,55}}, +/* 8286 */ {(16<<2)|3,{99,49,56}}, +/* 8287 */ {(16<<2)|3,{99,49,57}}, +/* 8288 */ {(16<<2)|3,{99,49,61}}, +/* 8289 */ {(16<<2)|3,{99,49,65}}, +/* 8290 */ {(16<<2)|3,{99,49,95}}, +/* 8291 */ {(16<<2)|3,{99,49,98}}, +/* 8292 */ {(16<<2)|3,{99,49,100}}, +/* 8293 */ {(16<<2)|3,{99,49,102}}, +/* 8294 */ {(16<<2)|3,{99,49,103}}, +/* 8295 */ {(16<<2)|3,{99,49,104}}, +/* 8296 */ {(16<<2)|3,{99,49,108}}, +/* 8297 */ {(16<<2)|3,{99,49,109}}, +/* 8298 */ {(16<<2)|3,{99,49,110}}, +/* 8299 */ {(16<<2)|3,{99,49,112}}, +/* 8300 */ {(16<<2)|3,{99,49,114}}, +/* 8301 */ {(16<<2)|3,{99,49,117}}, +/* 8302 */ {(10<<2)|2,{99,49,0}}, +/* 8303 */ {(10<<2)|2,{99,49,0}}, +/* 8304 */ {(10<<2)|2,{99,49,0}}, +/* 8305 */ {(10<<2)|2,{99,49,0}}, +/* 8306 */ {(10<<2)|2,{99,49,0}}, +/* 8307 */ {(10<<2)|2,{99,49,0}}, +/* 8308 */ {(10<<2)|2,{99,49,0}}, +/* 8309 */ {(10<<2)|2,{99,49,0}}, +/* 8310 */ {(10<<2)|2,{99,49,0}}, +/* 8311 */ {(10<<2)|2,{99,49,0}}, +/* 8312 */ {(10<<2)|2,{99,49,0}}, +/* 8313 */ {(10<<2)|2,{99,49,0}}, +/* 8314 */ {(10<<2)|2,{99,49,0}}, +/* 8315 */ {(10<<2)|2,{99,49,0}}, +/* 8316 */ {(10<<2)|2,{99,49,0}}, +/* 8317 */ {(10<<2)|2,{99,49,0}}, +/* 8318 */ {(10<<2)|2,{99,49,0}}, +/* 8319 */ {(10<<2)|2,{99,49,0}}, +/* 8320 */ {(15<<2)|3,{99,50,48}}, +/* 8321 */ {(15<<2)|3,{99,50,48}}, +/* 8322 */ {(15<<2)|3,{99,50,49}}, +/* 8323 */ {(15<<2)|3,{99,50,49}}, +/* 8324 */ {(15<<2)|3,{99,50,50}}, +/* 8325 */ {(15<<2)|3,{99,50,50}}, +/* 8326 */ {(15<<2)|3,{99,50,97}}, +/* 8327 */ {(15<<2)|3,{99,50,97}}, +/* 8328 */ {(15<<2)|3,{99,50,99}}, +/* 8329 */ {(15<<2)|3,{99,50,99}}, +/* 8330 */ {(15<<2)|3,{99,50,101}}, +/* 8331 */ {(15<<2)|3,{99,50,101}}, +/* 8332 */ {(15<<2)|3,{99,50,105}}, +/* 8333 */ {(15<<2)|3,{99,50,105}}, +/* 8334 */ {(15<<2)|3,{99,50,111}}, +/* 8335 */ {(15<<2)|3,{99,50,111}}, +/* 8336 */ {(15<<2)|3,{99,50,115}}, +/* 8337 */ {(15<<2)|3,{99,50,115}}, +/* 8338 */ {(15<<2)|3,{99,50,116}}, +/* 8339 */ {(15<<2)|3,{99,50,116}}, +/* 8340 */ {(16<<2)|3,{99,50,32}}, +/* 8341 */ {(16<<2)|3,{99,50,37}}, +/* 8342 */ {(16<<2)|3,{99,50,45}}, +/* 8343 */ {(16<<2)|3,{99,50,46}}, +/* 8344 */ {(16<<2)|3,{99,50,47}}, +/* 8345 */ {(16<<2)|3,{99,50,51}}, +/* 8346 */ {(16<<2)|3,{99,50,52}}, +/* 8347 */ {(16<<2)|3,{99,50,53}}, +/* 8348 */ {(16<<2)|3,{99,50,54}}, +/* 8349 */ {(16<<2)|3,{99,50,55}}, +/* 8350 */ {(16<<2)|3,{99,50,56}}, +/* 8351 */ {(16<<2)|3,{99,50,57}}, +/* 8352 */ {(16<<2)|3,{99,50,61}}, +/* 8353 */ {(16<<2)|3,{99,50,65}}, +/* 8354 */ {(16<<2)|3,{99,50,95}}, +/* 8355 */ {(16<<2)|3,{99,50,98}}, +/* 8356 */ {(16<<2)|3,{99,50,100}}, +/* 8357 */ {(16<<2)|3,{99,50,102}}, +/* 8358 */ {(16<<2)|3,{99,50,103}}, +/* 8359 */ {(16<<2)|3,{99,50,104}}, +/* 8360 */ {(16<<2)|3,{99,50,108}}, +/* 8361 */ {(16<<2)|3,{99,50,109}}, +/* 8362 */ {(16<<2)|3,{99,50,110}}, +/* 8363 */ {(16<<2)|3,{99,50,112}}, +/* 8364 */ {(16<<2)|3,{99,50,114}}, +/* 8365 */ {(16<<2)|3,{99,50,117}}, +/* 8366 */ {(10<<2)|2,{99,50,0}}, +/* 8367 */ {(10<<2)|2,{99,50,0}}, +/* 8368 */ {(10<<2)|2,{99,50,0}}, +/* 8369 */ {(10<<2)|2,{99,50,0}}, +/* 8370 */ {(10<<2)|2,{99,50,0}}, +/* 8371 */ {(10<<2)|2,{99,50,0}}, +/* 8372 */ {(10<<2)|2,{99,50,0}}, +/* 8373 */ {(10<<2)|2,{99,50,0}}, +/* 8374 */ {(10<<2)|2,{99,50,0}}, +/* 8375 */ {(10<<2)|2,{99,50,0}}, +/* 8376 */ {(10<<2)|2,{99,50,0}}, +/* 8377 */ {(10<<2)|2,{99,50,0}}, +/* 8378 */ {(10<<2)|2,{99,50,0}}, +/* 8379 */ {(10<<2)|2,{99,50,0}}, +/* 8380 */ {(10<<2)|2,{99,50,0}}, +/* 8381 */ {(10<<2)|2,{99,50,0}}, +/* 8382 */ {(10<<2)|2,{99,50,0}}, +/* 8383 */ {(10<<2)|2,{99,50,0}}, +/* 8384 */ {(15<<2)|3,{99,97,48}}, +/* 8385 */ {(15<<2)|3,{99,97,48}}, +/* 8386 */ {(15<<2)|3,{99,97,49}}, +/* 8387 */ {(15<<2)|3,{99,97,49}}, +/* 8388 */ {(15<<2)|3,{99,97,50}}, +/* 8389 */ {(15<<2)|3,{99,97,50}}, +/* 8390 */ {(15<<2)|3,{99,97,97}}, +/* 8391 */ {(15<<2)|3,{99,97,97}}, +/* 8392 */ {(15<<2)|3,{99,97,99}}, +/* 8393 */ {(15<<2)|3,{99,97,99}}, +/* 8394 */ {(15<<2)|3,{99,97,101}}, +/* 8395 */ {(15<<2)|3,{99,97,101}}, +/* 8396 */ {(15<<2)|3,{99,97,105}}, +/* 8397 */ {(15<<2)|3,{99,97,105}}, +/* 8398 */ {(15<<2)|3,{99,97,111}}, +/* 8399 */ {(15<<2)|3,{99,97,111}}, +/* 8400 */ {(15<<2)|3,{99,97,115}}, +/* 8401 */ {(15<<2)|3,{99,97,115}}, +/* 8402 */ {(15<<2)|3,{99,97,116}}, +/* 8403 */ {(15<<2)|3,{99,97,116}}, +/* 8404 */ {(16<<2)|3,{99,97,32}}, +/* 8405 */ {(16<<2)|3,{99,97,37}}, +/* 8406 */ {(16<<2)|3,{99,97,45}}, +/* 8407 */ {(16<<2)|3,{99,97,46}}, +/* 8408 */ {(16<<2)|3,{99,97,47}}, +/* 8409 */ {(16<<2)|3,{99,97,51}}, +/* 8410 */ {(16<<2)|3,{99,97,52}}, +/* 8411 */ {(16<<2)|3,{99,97,53}}, +/* 8412 */ {(16<<2)|3,{99,97,54}}, +/* 8413 */ {(16<<2)|3,{99,97,55}}, +/* 8414 */ {(16<<2)|3,{99,97,56}}, +/* 8415 */ {(16<<2)|3,{99,97,57}}, +/* 8416 */ {(16<<2)|3,{99,97,61}}, +/* 8417 */ {(16<<2)|3,{99,97,65}}, +/* 8418 */ {(16<<2)|3,{99,97,95}}, +/* 8419 */ {(16<<2)|3,{99,97,98}}, +/* 8420 */ {(16<<2)|3,{99,97,100}}, +/* 8421 */ {(16<<2)|3,{99,97,102}}, +/* 8422 */ {(16<<2)|3,{99,97,103}}, +/* 8423 */ {(16<<2)|3,{99,97,104}}, +/* 8424 */ {(16<<2)|3,{99,97,108}}, +/* 8425 */ {(16<<2)|3,{99,97,109}}, +/* 8426 */ {(16<<2)|3,{99,97,110}}, +/* 8427 */ {(16<<2)|3,{99,97,112}}, +/* 8428 */ {(16<<2)|3,{99,97,114}}, +/* 8429 */ {(16<<2)|3,{99,97,117}}, +/* 8430 */ {(10<<2)|2,{99,97,0}}, +/* 8431 */ {(10<<2)|2,{99,97,0}}, +/* 8432 */ {(10<<2)|2,{99,97,0}}, +/* 8433 */ {(10<<2)|2,{99,97,0}}, +/* 8434 */ {(10<<2)|2,{99,97,0}}, +/* 8435 */ {(10<<2)|2,{99,97,0}}, +/* 8436 */ {(10<<2)|2,{99,97,0}}, +/* 8437 */ {(10<<2)|2,{99,97,0}}, +/* 8438 */ {(10<<2)|2,{99,97,0}}, +/* 8439 */ {(10<<2)|2,{99,97,0}}, +/* 8440 */ {(10<<2)|2,{99,97,0}}, +/* 8441 */ {(10<<2)|2,{99,97,0}}, +/* 8442 */ {(10<<2)|2,{99,97,0}}, +/* 8443 */ {(10<<2)|2,{99,97,0}}, +/* 8444 */ {(10<<2)|2,{99,97,0}}, +/* 8445 */ {(10<<2)|2,{99,97,0}}, +/* 8446 */ {(10<<2)|2,{99,97,0}}, +/* 8447 */ {(10<<2)|2,{99,97,0}}, +/* 8448 */ {(15<<2)|3,{99,99,48}}, +/* 8449 */ {(15<<2)|3,{99,99,48}}, +/* 8450 */ {(15<<2)|3,{99,99,49}}, +/* 8451 */ {(15<<2)|3,{99,99,49}}, +/* 8452 */ {(15<<2)|3,{99,99,50}}, +/* 8453 */ {(15<<2)|3,{99,99,50}}, +/* 8454 */ {(15<<2)|3,{99,99,97}}, +/* 8455 */ {(15<<2)|3,{99,99,97}}, +/* 8456 */ {(15<<2)|3,{99,99,99}}, +/* 8457 */ {(15<<2)|3,{99,99,99}}, +/* 8458 */ {(15<<2)|3,{99,99,101}}, +/* 8459 */ {(15<<2)|3,{99,99,101}}, +/* 8460 */ {(15<<2)|3,{99,99,105}}, +/* 8461 */ {(15<<2)|3,{99,99,105}}, +/* 8462 */ {(15<<2)|3,{99,99,111}}, +/* 8463 */ {(15<<2)|3,{99,99,111}}, +/* 8464 */ {(15<<2)|3,{99,99,115}}, +/* 8465 */ {(15<<2)|3,{99,99,115}}, +/* 8466 */ {(15<<2)|3,{99,99,116}}, +/* 8467 */ {(15<<2)|3,{99,99,116}}, +/* 8468 */ {(16<<2)|3,{99,99,32}}, +/* 8469 */ {(16<<2)|3,{99,99,37}}, +/* 8470 */ {(16<<2)|3,{99,99,45}}, +/* 8471 */ {(16<<2)|3,{99,99,46}}, +/* 8472 */ {(16<<2)|3,{99,99,47}}, +/* 8473 */ {(16<<2)|3,{99,99,51}}, +/* 8474 */ {(16<<2)|3,{99,99,52}}, +/* 8475 */ {(16<<2)|3,{99,99,53}}, +/* 8476 */ {(16<<2)|3,{99,99,54}}, +/* 8477 */ {(16<<2)|3,{99,99,55}}, +/* 8478 */ {(16<<2)|3,{99,99,56}}, +/* 8479 */ {(16<<2)|3,{99,99,57}}, +/* 8480 */ {(16<<2)|3,{99,99,61}}, +/* 8481 */ {(16<<2)|3,{99,99,65}}, +/* 8482 */ {(16<<2)|3,{99,99,95}}, +/* 8483 */ {(16<<2)|3,{99,99,98}}, +/* 8484 */ {(16<<2)|3,{99,99,100}}, +/* 8485 */ {(16<<2)|3,{99,99,102}}, +/* 8486 */ {(16<<2)|3,{99,99,103}}, +/* 8487 */ {(16<<2)|3,{99,99,104}}, +/* 8488 */ {(16<<2)|3,{99,99,108}}, +/* 8489 */ {(16<<2)|3,{99,99,109}}, +/* 8490 */ {(16<<2)|3,{99,99,110}}, +/* 8491 */ {(16<<2)|3,{99,99,112}}, +/* 8492 */ {(16<<2)|3,{99,99,114}}, +/* 8493 */ {(16<<2)|3,{99,99,117}}, +/* 8494 */ {(10<<2)|2,{99,99,0}}, +/* 8495 */ {(10<<2)|2,{99,99,0}}, +/* 8496 */ {(10<<2)|2,{99,99,0}}, +/* 8497 */ {(10<<2)|2,{99,99,0}}, +/* 8498 */ {(10<<2)|2,{99,99,0}}, +/* 8499 */ {(10<<2)|2,{99,99,0}}, +/* 8500 */ {(10<<2)|2,{99,99,0}}, +/* 8501 */ {(10<<2)|2,{99,99,0}}, +/* 8502 */ {(10<<2)|2,{99,99,0}}, +/* 8503 */ {(10<<2)|2,{99,99,0}}, +/* 8504 */ {(10<<2)|2,{99,99,0}}, +/* 8505 */ {(10<<2)|2,{99,99,0}}, +/* 8506 */ {(10<<2)|2,{99,99,0}}, +/* 8507 */ {(10<<2)|2,{99,99,0}}, +/* 8508 */ {(10<<2)|2,{99,99,0}}, +/* 8509 */ {(10<<2)|2,{99,99,0}}, +/* 8510 */ {(10<<2)|2,{99,99,0}}, +/* 8511 */ {(10<<2)|2,{99,99,0}}, +/* 8512 */ {(15<<2)|3,{99,101,48}}, +/* 8513 */ {(15<<2)|3,{99,101,48}}, +/* 8514 */ {(15<<2)|3,{99,101,49}}, +/* 8515 */ {(15<<2)|3,{99,101,49}}, +/* 8516 */ {(15<<2)|3,{99,101,50}}, +/* 8517 */ {(15<<2)|3,{99,101,50}}, +/* 8518 */ {(15<<2)|3,{99,101,97}}, +/* 8519 */ {(15<<2)|3,{99,101,97}}, +/* 8520 */ {(15<<2)|3,{99,101,99}}, +/* 8521 */ {(15<<2)|3,{99,101,99}}, +/* 8522 */ {(15<<2)|3,{99,101,101}}, +/* 8523 */ {(15<<2)|3,{99,101,101}}, +/* 8524 */ {(15<<2)|3,{99,101,105}}, +/* 8525 */ {(15<<2)|3,{99,101,105}}, +/* 8526 */ {(15<<2)|3,{99,101,111}}, +/* 8527 */ {(15<<2)|3,{99,101,111}}, +/* 8528 */ {(15<<2)|3,{99,101,115}}, +/* 8529 */ {(15<<2)|3,{99,101,115}}, +/* 8530 */ {(15<<2)|3,{99,101,116}}, +/* 8531 */ {(15<<2)|3,{99,101,116}}, +/* 8532 */ {(16<<2)|3,{99,101,32}}, +/* 8533 */ {(16<<2)|3,{99,101,37}}, +/* 8534 */ {(16<<2)|3,{99,101,45}}, +/* 8535 */ {(16<<2)|3,{99,101,46}}, +/* 8536 */ {(16<<2)|3,{99,101,47}}, +/* 8537 */ {(16<<2)|3,{99,101,51}}, +/* 8538 */ {(16<<2)|3,{99,101,52}}, +/* 8539 */ {(16<<2)|3,{99,101,53}}, +/* 8540 */ {(16<<2)|3,{99,101,54}}, +/* 8541 */ {(16<<2)|3,{99,101,55}}, +/* 8542 */ {(16<<2)|3,{99,101,56}}, +/* 8543 */ {(16<<2)|3,{99,101,57}}, +/* 8544 */ {(16<<2)|3,{99,101,61}}, +/* 8545 */ {(16<<2)|3,{99,101,65}}, +/* 8546 */ {(16<<2)|3,{99,101,95}}, +/* 8547 */ {(16<<2)|3,{99,101,98}}, +/* 8548 */ {(16<<2)|3,{99,101,100}}, +/* 8549 */ {(16<<2)|3,{99,101,102}}, +/* 8550 */ {(16<<2)|3,{99,101,103}}, +/* 8551 */ {(16<<2)|3,{99,101,104}}, +/* 8552 */ {(16<<2)|3,{99,101,108}}, +/* 8553 */ {(16<<2)|3,{99,101,109}}, +/* 8554 */ {(16<<2)|3,{99,101,110}}, +/* 8555 */ {(16<<2)|3,{99,101,112}}, +/* 8556 */ {(16<<2)|3,{99,101,114}}, +/* 8557 */ {(16<<2)|3,{99,101,117}}, +/* 8558 */ {(10<<2)|2,{99,101,0}}, +/* 8559 */ {(10<<2)|2,{99,101,0}}, +/* 8560 */ {(10<<2)|2,{99,101,0}}, +/* 8561 */ {(10<<2)|2,{99,101,0}}, +/* 8562 */ {(10<<2)|2,{99,101,0}}, +/* 8563 */ {(10<<2)|2,{99,101,0}}, +/* 8564 */ {(10<<2)|2,{99,101,0}}, +/* 8565 */ {(10<<2)|2,{99,101,0}}, +/* 8566 */ {(10<<2)|2,{99,101,0}}, +/* 8567 */ {(10<<2)|2,{99,101,0}}, +/* 8568 */ {(10<<2)|2,{99,101,0}}, +/* 8569 */ {(10<<2)|2,{99,101,0}}, +/* 8570 */ {(10<<2)|2,{99,101,0}}, +/* 8571 */ {(10<<2)|2,{99,101,0}}, +/* 8572 */ {(10<<2)|2,{99,101,0}}, +/* 8573 */ {(10<<2)|2,{99,101,0}}, +/* 8574 */ {(10<<2)|2,{99,101,0}}, +/* 8575 */ {(10<<2)|2,{99,101,0}}, +/* 8576 */ {(15<<2)|3,{99,105,48}}, +/* 8577 */ {(15<<2)|3,{99,105,48}}, +/* 8578 */ {(15<<2)|3,{99,105,49}}, +/* 8579 */ {(15<<2)|3,{99,105,49}}, +/* 8580 */ {(15<<2)|3,{99,105,50}}, +/* 8581 */ {(15<<2)|3,{99,105,50}}, +/* 8582 */ {(15<<2)|3,{99,105,97}}, +/* 8583 */ {(15<<2)|3,{99,105,97}}, +/* 8584 */ {(15<<2)|3,{99,105,99}}, +/* 8585 */ {(15<<2)|3,{99,105,99}}, +/* 8586 */ {(15<<2)|3,{99,105,101}}, +/* 8587 */ {(15<<2)|3,{99,105,101}}, +/* 8588 */ {(15<<2)|3,{99,105,105}}, +/* 8589 */ {(15<<2)|3,{99,105,105}}, +/* 8590 */ {(15<<2)|3,{99,105,111}}, +/* 8591 */ {(15<<2)|3,{99,105,111}}, +/* 8592 */ {(15<<2)|3,{99,105,115}}, +/* 8593 */ {(15<<2)|3,{99,105,115}}, +/* 8594 */ {(15<<2)|3,{99,105,116}}, +/* 8595 */ {(15<<2)|3,{99,105,116}}, +/* 8596 */ {(16<<2)|3,{99,105,32}}, +/* 8597 */ {(16<<2)|3,{99,105,37}}, +/* 8598 */ {(16<<2)|3,{99,105,45}}, +/* 8599 */ {(16<<2)|3,{99,105,46}}, +/* 8600 */ {(16<<2)|3,{99,105,47}}, +/* 8601 */ {(16<<2)|3,{99,105,51}}, +/* 8602 */ {(16<<2)|3,{99,105,52}}, +/* 8603 */ {(16<<2)|3,{99,105,53}}, +/* 8604 */ {(16<<2)|3,{99,105,54}}, +/* 8605 */ {(16<<2)|3,{99,105,55}}, +/* 8606 */ {(16<<2)|3,{99,105,56}}, +/* 8607 */ {(16<<2)|3,{99,105,57}}, +/* 8608 */ {(16<<2)|3,{99,105,61}}, +/* 8609 */ {(16<<2)|3,{99,105,65}}, +/* 8610 */ {(16<<2)|3,{99,105,95}}, +/* 8611 */ {(16<<2)|3,{99,105,98}}, +/* 8612 */ {(16<<2)|3,{99,105,100}}, +/* 8613 */ {(16<<2)|3,{99,105,102}}, +/* 8614 */ {(16<<2)|3,{99,105,103}}, +/* 8615 */ {(16<<2)|3,{99,105,104}}, +/* 8616 */ {(16<<2)|3,{99,105,108}}, +/* 8617 */ {(16<<2)|3,{99,105,109}}, +/* 8618 */ {(16<<2)|3,{99,105,110}}, +/* 8619 */ {(16<<2)|3,{99,105,112}}, +/* 8620 */ {(16<<2)|3,{99,105,114}}, +/* 8621 */ {(16<<2)|3,{99,105,117}}, +/* 8622 */ {(10<<2)|2,{99,105,0}}, +/* 8623 */ {(10<<2)|2,{99,105,0}}, +/* 8624 */ {(10<<2)|2,{99,105,0}}, +/* 8625 */ {(10<<2)|2,{99,105,0}}, +/* 8626 */ {(10<<2)|2,{99,105,0}}, +/* 8627 */ {(10<<2)|2,{99,105,0}}, +/* 8628 */ {(10<<2)|2,{99,105,0}}, +/* 8629 */ {(10<<2)|2,{99,105,0}}, +/* 8630 */ {(10<<2)|2,{99,105,0}}, +/* 8631 */ {(10<<2)|2,{99,105,0}}, +/* 8632 */ {(10<<2)|2,{99,105,0}}, +/* 8633 */ {(10<<2)|2,{99,105,0}}, +/* 8634 */ {(10<<2)|2,{99,105,0}}, +/* 8635 */ {(10<<2)|2,{99,105,0}}, +/* 8636 */ {(10<<2)|2,{99,105,0}}, +/* 8637 */ {(10<<2)|2,{99,105,0}}, +/* 8638 */ {(10<<2)|2,{99,105,0}}, +/* 8639 */ {(10<<2)|2,{99,105,0}}, +/* 8640 */ {(15<<2)|3,{99,111,48}}, +/* 8641 */ {(15<<2)|3,{99,111,48}}, +/* 8642 */ {(15<<2)|3,{99,111,49}}, +/* 8643 */ {(15<<2)|3,{99,111,49}}, +/* 8644 */ {(15<<2)|3,{99,111,50}}, +/* 8645 */ {(15<<2)|3,{99,111,50}}, +/* 8646 */ {(15<<2)|3,{99,111,97}}, +/* 8647 */ {(15<<2)|3,{99,111,97}}, +/* 8648 */ {(15<<2)|3,{99,111,99}}, +/* 8649 */ {(15<<2)|3,{99,111,99}}, +/* 8650 */ {(15<<2)|3,{99,111,101}}, +/* 8651 */ {(15<<2)|3,{99,111,101}}, +/* 8652 */ {(15<<2)|3,{99,111,105}}, +/* 8653 */ {(15<<2)|3,{99,111,105}}, +/* 8654 */ {(15<<2)|3,{99,111,111}}, +/* 8655 */ {(15<<2)|3,{99,111,111}}, +/* 8656 */ {(15<<2)|3,{99,111,115}}, +/* 8657 */ {(15<<2)|3,{99,111,115}}, +/* 8658 */ {(15<<2)|3,{99,111,116}}, +/* 8659 */ {(15<<2)|3,{99,111,116}}, +/* 8660 */ {(16<<2)|3,{99,111,32}}, +/* 8661 */ {(16<<2)|3,{99,111,37}}, +/* 8662 */ {(16<<2)|3,{99,111,45}}, +/* 8663 */ {(16<<2)|3,{99,111,46}}, +/* 8664 */ {(16<<2)|3,{99,111,47}}, +/* 8665 */ {(16<<2)|3,{99,111,51}}, +/* 8666 */ {(16<<2)|3,{99,111,52}}, +/* 8667 */ {(16<<2)|3,{99,111,53}}, +/* 8668 */ {(16<<2)|3,{99,111,54}}, +/* 8669 */ {(16<<2)|3,{99,111,55}}, +/* 8670 */ {(16<<2)|3,{99,111,56}}, +/* 8671 */ {(16<<2)|3,{99,111,57}}, +/* 8672 */ {(16<<2)|3,{99,111,61}}, +/* 8673 */ {(16<<2)|3,{99,111,65}}, +/* 8674 */ {(16<<2)|3,{99,111,95}}, +/* 8675 */ {(16<<2)|3,{99,111,98}}, +/* 8676 */ {(16<<2)|3,{99,111,100}}, +/* 8677 */ {(16<<2)|3,{99,111,102}}, +/* 8678 */ {(16<<2)|3,{99,111,103}}, +/* 8679 */ {(16<<2)|3,{99,111,104}}, +/* 8680 */ {(16<<2)|3,{99,111,108}}, +/* 8681 */ {(16<<2)|3,{99,111,109}}, +/* 8682 */ {(16<<2)|3,{99,111,110}}, +/* 8683 */ {(16<<2)|3,{99,111,112}}, +/* 8684 */ {(16<<2)|3,{99,111,114}}, +/* 8685 */ {(16<<2)|3,{99,111,117}}, +/* 8686 */ {(10<<2)|2,{99,111,0}}, +/* 8687 */ {(10<<2)|2,{99,111,0}}, +/* 8688 */ {(10<<2)|2,{99,111,0}}, +/* 8689 */ {(10<<2)|2,{99,111,0}}, +/* 8690 */ {(10<<2)|2,{99,111,0}}, +/* 8691 */ {(10<<2)|2,{99,111,0}}, +/* 8692 */ {(10<<2)|2,{99,111,0}}, +/* 8693 */ {(10<<2)|2,{99,111,0}}, +/* 8694 */ {(10<<2)|2,{99,111,0}}, +/* 8695 */ {(10<<2)|2,{99,111,0}}, +/* 8696 */ {(10<<2)|2,{99,111,0}}, +/* 8697 */ {(10<<2)|2,{99,111,0}}, +/* 8698 */ {(10<<2)|2,{99,111,0}}, +/* 8699 */ {(10<<2)|2,{99,111,0}}, +/* 8700 */ {(10<<2)|2,{99,111,0}}, +/* 8701 */ {(10<<2)|2,{99,111,0}}, +/* 8702 */ {(10<<2)|2,{99,111,0}}, +/* 8703 */ {(10<<2)|2,{99,111,0}}, +/* 8704 */ {(15<<2)|3,{99,115,48}}, +/* 8705 */ {(15<<2)|3,{99,115,48}}, +/* 8706 */ {(15<<2)|3,{99,115,49}}, +/* 8707 */ {(15<<2)|3,{99,115,49}}, +/* 8708 */ {(15<<2)|3,{99,115,50}}, +/* 8709 */ {(15<<2)|3,{99,115,50}}, +/* 8710 */ {(15<<2)|3,{99,115,97}}, +/* 8711 */ {(15<<2)|3,{99,115,97}}, +/* 8712 */ {(15<<2)|3,{99,115,99}}, +/* 8713 */ {(15<<2)|3,{99,115,99}}, +/* 8714 */ {(15<<2)|3,{99,115,101}}, +/* 8715 */ {(15<<2)|3,{99,115,101}}, +/* 8716 */ {(15<<2)|3,{99,115,105}}, +/* 8717 */ {(15<<2)|3,{99,115,105}}, +/* 8718 */ {(15<<2)|3,{99,115,111}}, +/* 8719 */ {(15<<2)|3,{99,115,111}}, +/* 8720 */ {(15<<2)|3,{99,115,115}}, +/* 8721 */ {(15<<2)|3,{99,115,115}}, +/* 8722 */ {(15<<2)|3,{99,115,116}}, +/* 8723 */ {(15<<2)|3,{99,115,116}}, +/* 8724 */ {(16<<2)|3,{99,115,32}}, +/* 8725 */ {(16<<2)|3,{99,115,37}}, +/* 8726 */ {(16<<2)|3,{99,115,45}}, +/* 8727 */ {(16<<2)|3,{99,115,46}}, +/* 8728 */ {(16<<2)|3,{99,115,47}}, +/* 8729 */ {(16<<2)|3,{99,115,51}}, +/* 8730 */ {(16<<2)|3,{99,115,52}}, +/* 8731 */ {(16<<2)|3,{99,115,53}}, +/* 8732 */ {(16<<2)|3,{99,115,54}}, +/* 8733 */ {(16<<2)|3,{99,115,55}}, +/* 8734 */ {(16<<2)|3,{99,115,56}}, +/* 8735 */ {(16<<2)|3,{99,115,57}}, +/* 8736 */ {(16<<2)|3,{99,115,61}}, +/* 8737 */ {(16<<2)|3,{99,115,65}}, +/* 8738 */ {(16<<2)|3,{99,115,95}}, +/* 8739 */ {(16<<2)|3,{99,115,98}}, +/* 8740 */ {(16<<2)|3,{99,115,100}}, +/* 8741 */ {(16<<2)|3,{99,115,102}}, +/* 8742 */ {(16<<2)|3,{99,115,103}}, +/* 8743 */ {(16<<2)|3,{99,115,104}}, +/* 8744 */ {(16<<2)|3,{99,115,108}}, +/* 8745 */ {(16<<2)|3,{99,115,109}}, +/* 8746 */ {(16<<2)|3,{99,115,110}}, +/* 8747 */ {(16<<2)|3,{99,115,112}}, +/* 8748 */ {(16<<2)|3,{99,115,114}}, +/* 8749 */ {(16<<2)|3,{99,115,117}}, +/* 8750 */ {(10<<2)|2,{99,115,0}}, +/* 8751 */ {(10<<2)|2,{99,115,0}}, +/* 8752 */ {(10<<2)|2,{99,115,0}}, +/* 8753 */ {(10<<2)|2,{99,115,0}}, +/* 8754 */ {(10<<2)|2,{99,115,0}}, +/* 8755 */ {(10<<2)|2,{99,115,0}}, +/* 8756 */ {(10<<2)|2,{99,115,0}}, +/* 8757 */ {(10<<2)|2,{99,115,0}}, +/* 8758 */ {(10<<2)|2,{99,115,0}}, +/* 8759 */ {(10<<2)|2,{99,115,0}}, +/* 8760 */ {(10<<2)|2,{99,115,0}}, +/* 8761 */ {(10<<2)|2,{99,115,0}}, +/* 8762 */ {(10<<2)|2,{99,115,0}}, +/* 8763 */ {(10<<2)|2,{99,115,0}}, +/* 8764 */ {(10<<2)|2,{99,115,0}}, +/* 8765 */ {(10<<2)|2,{99,115,0}}, +/* 8766 */ {(10<<2)|2,{99,115,0}}, +/* 8767 */ {(10<<2)|2,{99,115,0}}, +/* 8768 */ {(15<<2)|3,{99,116,48}}, +/* 8769 */ {(15<<2)|3,{99,116,48}}, +/* 8770 */ {(15<<2)|3,{99,116,49}}, +/* 8771 */ {(15<<2)|3,{99,116,49}}, +/* 8772 */ {(15<<2)|3,{99,116,50}}, +/* 8773 */ {(15<<2)|3,{99,116,50}}, +/* 8774 */ {(15<<2)|3,{99,116,97}}, +/* 8775 */ {(15<<2)|3,{99,116,97}}, +/* 8776 */ {(15<<2)|3,{99,116,99}}, +/* 8777 */ {(15<<2)|3,{99,116,99}}, +/* 8778 */ {(15<<2)|3,{99,116,101}}, +/* 8779 */ {(15<<2)|3,{99,116,101}}, +/* 8780 */ {(15<<2)|3,{99,116,105}}, +/* 8781 */ {(15<<2)|3,{99,116,105}}, +/* 8782 */ {(15<<2)|3,{99,116,111}}, +/* 8783 */ {(15<<2)|3,{99,116,111}}, +/* 8784 */ {(15<<2)|3,{99,116,115}}, +/* 8785 */ {(15<<2)|3,{99,116,115}}, +/* 8786 */ {(15<<2)|3,{99,116,116}}, +/* 8787 */ {(15<<2)|3,{99,116,116}}, +/* 8788 */ {(16<<2)|3,{99,116,32}}, +/* 8789 */ {(16<<2)|3,{99,116,37}}, +/* 8790 */ {(16<<2)|3,{99,116,45}}, +/* 8791 */ {(16<<2)|3,{99,116,46}}, +/* 8792 */ {(16<<2)|3,{99,116,47}}, +/* 8793 */ {(16<<2)|3,{99,116,51}}, +/* 8794 */ {(16<<2)|3,{99,116,52}}, +/* 8795 */ {(16<<2)|3,{99,116,53}}, +/* 8796 */ {(16<<2)|3,{99,116,54}}, +/* 8797 */ {(16<<2)|3,{99,116,55}}, +/* 8798 */ {(16<<2)|3,{99,116,56}}, +/* 8799 */ {(16<<2)|3,{99,116,57}}, +/* 8800 */ {(16<<2)|3,{99,116,61}}, +/* 8801 */ {(16<<2)|3,{99,116,65}}, +/* 8802 */ {(16<<2)|3,{99,116,95}}, +/* 8803 */ {(16<<2)|3,{99,116,98}}, +/* 8804 */ {(16<<2)|3,{99,116,100}}, +/* 8805 */ {(16<<2)|3,{99,116,102}}, +/* 8806 */ {(16<<2)|3,{99,116,103}}, +/* 8807 */ {(16<<2)|3,{99,116,104}}, +/* 8808 */ {(16<<2)|3,{99,116,108}}, +/* 8809 */ {(16<<2)|3,{99,116,109}}, +/* 8810 */ {(16<<2)|3,{99,116,110}}, +/* 8811 */ {(16<<2)|3,{99,116,112}}, +/* 8812 */ {(16<<2)|3,{99,116,114}}, +/* 8813 */ {(16<<2)|3,{99,116,117}}, +/* 8814 */ {(10<<2)|2,{99,116,0}}, +/* 8815 */ {(10<<2)|2,{99,116,0}}, +/* 8816 */ {(10<<2)|2,{99,116,0}}, +/* 8817 */ {(10<<2)|2,{99,116,0}}, +/* 8818 */ {(10<<2)|2,{99,116,0}}, +/* 8819 */ {(10<<2)|2,{99,116,0}}, +/* 8820 */ {(10<<2)|2,{99,116,0}}, +/* 8821 */ {(10<<2)|2,{99,116,0}}, +/* 8822 */ {(10<<2)|2,{99,116,0}}, +/* 8823 */ {(10<<2)|2,{99,116,0}}, +/* 8824 */ {(10<<2)|2,{99,116,0}}, +/* 8825 */ {(10<<2)|2,{99,116,0}}, +/* 8826 */ {(10<<2)|2,{99,116,0}}, +/* 8827 */ {(10<<2)|2,{99,116,0}}, +/* 8828 */ {(10<<2)|2,{99,116,0}}, +/* 8829 */ {(10<<2)|2,{99,116,0}}, +/* 8830 */ {(10<<2)|2,{99,116,0}}, +/* 8831 */ {(10<<2)|2,{99,116,0}}, +/* 8832 */ {(16<<2)|3,{99,32,48}}, +/* 8833 */ {(16<<2)|3,{99,32,49}}, +/* 8834 */ {(16<<2)|3,{99,32,50}}, +/* 8835 */ {(16<<2)|3,{99,32,97}}, +/* 8836 */ {(16<<2)|3,{99,32,99}}, +/* 8837 */ {(16<<2)|3,{99,32,101}}, +/* 8838 */ {(16<<2)|3,{99,32,105}}, +/* 8839 */ {(16<<2)|3,{99,32,111}}, +/* 8840 */ {(16<<2)|3,{99,32,115}}, +/* 8841 */ {(16<<2)|3,{99,32,116}}, +/* 8842 */ {(11<<2)|2,{99,32,0}}, +/* 8843 */ {(11<<2)|2,{99,32,0}}, +/* 8844 */ {(11<<2)|2,{99,32,0}}, +/* 8845 */ {(11<<2)|2,{99,32,0}}, +/* 8846 */ {(11<<2)|2,{99,32,0}}, +/* 8847 */ {(11<<2)|2,{99,32,0}}, +/* 8848 */ {(11<<2)|2,{99,32,0}}, +/* 8849 */ {(11<<2)|2,{99,32,0}}, +/* 8850 */ {(11<<2)|2,{99,32,0}}, +/* 8851 */ {(11<<2)|2,{99,32,0}}, +/* 8852 */ {(11<<2)|2,{99,32,0}}, +/* 8853 */ {(11<<2)|2,{99,32,0}}, +/* 8854 */ {(11<<2)|2,{99,32,0}}, +/* 8855 */ {(11<<2)|2,{99,32,0}}, +/* 8856 */ {(11<<2)|2,{99,32,0}}, +/* 8857 */ {(11<<2)|2,{99,32,0}}, +/* 8858 */ {(11<<2)|2,{99,32,0}}, +/* 8859 */ {(11<<2)|2,{99,32,0}}, +/* 8860 */ {(11<<2)|2,{99,32,0}}, +/* 8861 */ {(11<<2)|2,{99,32,0}}, +/* 8862 */ {(11<<2)|2,{99,32,0}}, +/* 8863 */ {(11<<2)|2,{99,32,0}}, +/* 8864 */ {(16<<2)|3,{99,37,48}}, +/* 8865 */ {(16<<2)|3,{99,37,49}}, +/* 8866 */ {(16<<2)|3,{99,37,50}}, +/* 8867 */ {(16<<2)|3,{99,37,97}}, +/* 8868 */ {(16<<2)|3,{99,37,99}}, +/* 8869 */ {(16<<2)|3,{99,37,101}}, +/* 8870 */ {(16<<2)|3,{99,37,105}}, +/* 8871 */ {(16<<2)|3,{99,37,111}}, +/* 8872 */ {(16<<2)|3,{99,37,115}}, +/* 8873 */ {(16<<2)|3,{99,37,116}}, +/* 8874 */ {(11<<2)|2,{99,37,0}}, +/* 8875 */ {(11<<2)|2,{99,37,0}}, +/* 8876 */ {(11<<2)|2,{99,37,0}}, +/* 8877 */ {(11<<2)|2,{99,37,0}}, +/* 8878 */ {(11<<2)|2,{99,37,0}}, +/* 8879 */ {(11<<2)|2,{99,37,0}}, +/* 8880 */ {(11<<2)|2,{99,37,0}}, +/* 8881 */ {(11<<2)|2,{99,37,0}}, +/* 8882 */ {(11<<2)|2,{99,37,0}}, +/* 8883 */ {(11<<2)|2,{99,37,0}}, +/* 8884 */ {(11<<2)|2,{99,37,0}}, +/* 8885 */ {(11<<2)|2,{99,37,0}}, +/* 8886 */ {(11<<2)|2,{99,37,0}}, +/* 8887 */ {(11<<2)|2,{99,37,0}}, +/* 8888 */ {(11<<2)|2,{99,37,0}}, +/* 8889 */ {(11<<2)|2,{99,37,0}}, +/* 8890 */ {(11<<2)|2,{99,37,0}}, +/* 8891 */ {(11<<2)|2,{99,37,0}}, +/* 8892 */ {(11<<2)|2,{99,37,0}}, +/* 8893 */ {(11<<2)|2,{99,37,0}}, +/* 8894 */ {(11<<2)|2,{99,37,0}}, +/* 8895 */ {(11<<2)|2,{99,37,0}}, +/* 8896 */ {(16<<2)|3,{99,45,48}}, +/* 8897 */ {(16<<2)|3,{99,45,49}}, +/* 8898 */ {(16<<2)|3,{99,45,50}}, +/* 8899 */ {(16<<2)|3,{99,45,97}}, +/* 8900 */ {(16<<2)|3,{99,45,99}}, +/* 8901 */ {(16<<2)|3,{99,45,101}}, +/* 8902 */ {(16<<2)|3,{99,45,105}}, +/* 8903 */ {(16<<2)|3,{99,45,111}}, +/* 8904 */ {(16<<2)|3,{99,45,115}}, +/* 8905 */ {(16<<2)|3,{99,45,116}}, +/* 8906 */ {(11<<2)|2,{99,45,0}}, +/* 8907 */ {(11<<2)|2,{99,45,0}}, +/* 8908 */ {(11<<2)|2,{99,45,0}}, +/* 8909 */ {(11<<2)|2,{99,45,0}}, +/* 8910 */ {(11<<2)|2,{99,45,0}}, +/* 8911 */ {(11<<2)|2,{99,45,0}}, +/* 8912 */ {(11<<2)|2,{99,45,0}}, +/* 8913 */ {(11<<2)|2,{99,45,0}}, +/* 8914 */ {(11<<2)|2,{99,45,0}}, +/* 8915 */ {(11<<2)|2,{99,45,0}}, +/* 8916 */ {(11<<2)|2,{99,45,0}}, +/* 8917 */ {(11<<2)|2,{99,45,0}}, +/* 8918 */ {(11<<2)|2,{99,45,0}}, +/* 8919 */ {(11<<2)|2,{99,45,0}}, +/* 8920 */ {(11<<2)|2,{99,45,0}}, +/* 8921 */ {(11<<2)|2,{99,45,0}}, +/* 8922 */ {(11<<2)|2,{99,45,0}}, +/* 8923 */ {(11<<2)|2,{99,45,0}}, +/* 8924 */ {(11<<2)|2,{99,45,0}}, +/* 8925 */ {(11<<2)|2,{99,45,0}}, +/* 8926 */ {(11<<2)|2,{99,45,0}}, +/* 8927 */ {(11<<2)|2,{99,45,0}}, +/* 8928 */ {(16<<2)|3,{99,46,48}}, +/* 8929 */ {(16<<2)|3,{99,46,49}}, +/* 8930 */ {(16<<2)|3,{99,46,50}}, +/* 8931 */ {(16<<2)|3,{99,46,97}}, +/* 8932 */ {(16<<2)|3,{99,46,99}}, +/* 8933 */ {(16<<2)|3,{99,46,101}}, +/* 8934 */ {(16<<2)|3,{99,46,105}}, +/* 8935 */ {(16<<2)|3,{99,46,111}}, +/* 8936 */ {(16<<2)|3,{99,46,115}}, +/* 8937 */ {(16<<2)|3,{99,46,116}}, +/* 8938 */ {(11<<2)|2,{99,46,0}}, +/* 8939 */ {(11<<2)|2,{99,46,0}}, +/* 8940 */ {(11<<2)|2,{99,46,0}}, +/* 8941 */ {(11<<2)|2,{99,46,0}}, +/* 8942 */ {(11<<2)|2,{99,46,0}}, +/* 8943 */ {(11<<2)|2,{99,46,0}}, +/* 8944 */ {(11<<2)|2,{99,46,0}}, +/* 8945 */ {(11<<2)|2,{99,46,0}}, +/* 8946 */ {(11<<2)|2,{99,46,0}}, +/* 8947 */ {(11<<2)|2,{99,46,0}}, +/* 8948 */ {(11<<2)|2,{99,46,0}}, +/* 8949 */ {(11<<2)|2,{99,46,0}}, +/* 8950 */ {(11<<2)|2,{99,46,0}}, +/* 8951 */ {(11<<2)|2,{99,46,0}}, +/* 8952 */ {(11<<2)|2,{99,46,0}}, +/* 8953 */ {(11<<2)|2,{99,46,0}}, +/* 8954 */ {(11<<2)|2,{99,46,0}}, +/* 8955 */ {(11<<2)|2,{99,46,0}}, +/* 8956 */ {(11<<2)|2,{99,46,0}}, +/* 8957 */ {(11<<2)|2,{99,46,0}}, +/* 8958 */ {(11<<2)|2,{99,46,0}}, +/* 8959 */ {(11<<2)|2,{99,46,0}}, +/* 8960 */ {(16<<2)|3,{99,47,48}}, +/* 8961 */ {(16<<2)|3,{99,47,49}}, +/* 8962 */ {(16<<2)|3,{99,47,50}}, +/* 8963 */ {(16<<2)|3,{99,47,97}}, +/* 8964 */ {(16<<2)|3,{99,47,99}}, +/* 8965 */ {(16<<2)|3,{99,47,101}}, +/* 8966 */ {(16<<2)|3,{99,47,105}}, +/* 8967 */ {(16<<2)|3,{99,47,111}}, +/* 8968 */ {(16<<2)|3,{99,47,115}}, +/* 8969 */ {(16<<2)|3,{99,47,116}}, +/* 8970 */ {(11<<2)|2,{99,47,0}}, +/* 8971 */ {(11<<2)|2,{99,47,0}}, +/* 8972 */ {(11<<2)|2,{99,47,0}}, +/* 8973 */ {(11<<2)|2,{99,47,0}}, +/* 8974 */ {(11<<2)|2,{99,47,0}}, +/* 8975 */ {(11<<2)|2,{99,47,0}}, +/* 8976 */ {(11<<2)|2,{99,47,0}}, +/* 8977 */ {(11<<2)|2,{99,47,0}}, +/* 8978 */ {(11<<2)|2,{99,47,0}}, +/* 8979 */ {(11<<2)|2,{99,47,0}}, +/* 8980 */ {(11<<2)|2,{99,47,0}}, +/* 8981 */ {(11<<2)|2,{99,47,0}}, +/* 8982 */ {(11<<2)|2,{99,47,0}}, +/* 8983 */ {(11<<2)|2,{99,47,0}}, +/* 8984 */ {(11<<2)|2,{99,47,0}}, +/* 8985 */ {(11<<2)|2,{99,47,0}}, +/* 8986 */ {(11<<2)|2,{99,47,0}}, +/* 8987 */ {(11<<2)|2,{99,47,0}}, +/* 8988 */ {(11<<2)|2,{99,47,0}}, +/* 8989 */ {(11<<2)|2,{99,47,0}}, +/* 8990 */ {(11<<2)|2,{99,47,0}}, +/* 8991 */ {(11<<2)|2,{99,47,0}}, +/* 8992 */ {(16<<2)|3,{99,51,48}}, +/* 8993 */ {(16<<2)|3,{99,51,49}}, +/* 8994 */ {(16<<2)|3,{99,51,50}}, +/* 8995 */ {(16<<2)|3,{99,51,97}}, +/* 8996 */ {(16<<2)|3,{99,51,99}}, +/* 8997 */ {(16<<2)|3,{99,51,101}}, +/* 8998 */ {(16<<2)|3,{99,51,105}}, +/* 8999 */ {(16<<2)|3,{99,51,111}}, +/* 9000 */ {(16<<2)|3,{99,51,115}}, +/* 9001 */ {(16<<2)|3,{99,51,116}}, +/* 9002 */ {(11<<2)|2,{99,51,0}}, +/* 9003 */ {(11<<2)|2,{99,51,0}}, +/* 9004 */ {(11<<2)|2,{99,51,0}}, +/* 9005 */ {(11<<2)|2,{99,51,0}}, +/* 9006 */ {(11<<2)|2,{99,51,0}}, +/* 9007 */ {(11<<2)|2,{99,51,0}}, +/* 9008 */ {(11<<2)|2,{99,51,0}}, +/* 9009 */ {(11<<2)|2,{99,51,0}}, +/* 9010 */ {(11<<2)|2,{99,51,0}}, +/* 9011 */ {(11<<2)|2,{99,51,0}}, +/* 9012 */ {(11<<2)|2,{99,51,0}}, +/* 9013 */ {(11<<2)|2,{99,51,0}}, +/* 9014 */ {(11<<2)|2,{99,51,0}}, +/* 9015 */ {(11<<2)|2,{99,51,0}}, +/* 9016 */ {(11<<2)|2,{99,51,0}}, +/* 9017 */ {(11<<2)|2,{99,51,0}}, +/* 9018 */ {(11<<2)|2,{99,51,0}}, +/* 9019 */ {(11<<2)|2,{99,51,0}}, +/* 9020 */ {(11<<2)|2,{99,51,0}}, +/* 9021 */ {(11<<2)|2,{99,51,0}}, +/* 9022 */ {(11<<2)|2,{99,51,0}}, +/* 9023 */ {(11<<2)|2,{99,51,0}}, +/* 9024 */ {(16<<2)|3,{99,52,48}}, +/* 9025 */ {(16<<2)|3,{99,52,49}}, +/* 9026 */ {(16<<2)|3,{99,52,50}}, +/* 9027 */ {(16<<2)|3,{99,52,97}}, +/* 9028 */ {(16<<2)|3,{99,52,99}}, +/* 9029 */ {(16<<2)|3,{99,52,101}}, +/* 9030 */ {(16<<2)|3,{99,52,105}}, +/* 9031 */ {(16<<2)|3,{99,52,111}}, +/* 9032 */ {(16<<2)|3,{99,52,115}}, +/* 9033 */ {(16<<2)|3,{99,52,116}}, +/* 9034 */ {(11<<2)|2,{99,52,0}}, +/* 9035 */ {(11<<2)|2,{99,52,0}}, +/* 9036 */ {(11<<2)|2,{99,52,0}}, +/* 9037 */ {(11<<2)|2,{99,52,0}}, +/* 9038 */ {(11<<2)|2,{99,52,0}}, +/* 9039 */ {(11<<2)|2,{99,52,0}}, +/* 9040 */ {(11<<2)|2,{99,52,0}}, +/* 9041 */ {(11<<2)|2,{99,52,0}}, +/* 9042 */ {(11<<2)|2,{99,52,0}}, +/* 9043 */ {(11<<2)|2,{99,52,0}}, +/* 9044 */ {(11<<2)|2,{99,52,0}}, +/* 9045 */ {(11<<2)|2,{99,52,0}}, +/* 9046 */ {(11<<2)|2,{99,52,0}}, +/* 9047 */ {(11<<2)|2,{99,52,0}}, +/* 9048 */ {(11<<2)|2,{99,52,0}}, +/* 9049 */ {(11<<2)|2,{99,52,0}}, +/* 9050 */ {(11<<2)|2,{99,52,0}}, +/* 9051 */ {(11<<2)|2,{99,52,0}}, +/* 9052 */ {(11<<2)|2,{99,52,0}}, +/* 9053 */ {(11<<2)|2,{99,52,0}}, +/* 9054 */ {(11<<2)|2,{99,52,0}}, +/* 9055 */ {(11<<2)|2,{99,52,0}}, +/* 9056 */ {(16<<2)|3,{99,53,48}}, +/* 9057 */ {(16<<2)|3,{99,53,49}}, +/* 9058 */ {(16<<2)|3,{99,53,50}}, +/* 9059 */ {(16<<2)|3,{99,53,97}}, +/* 9060 */ {(16<<2)|3,{99,53,99}}, +/* 9061 */ {(16<<2)|3,{99,53,101}}, +/* 9062 */ {(16<<2)|3,{99,53,105}}, +/* 9063 */ {(16<<2)|3,{99,53,111}}, +/* 9064 */ {(16<<2)|3,{99,53,115}}, +/* 9065 */ {(16<<2)|3,{99,53,116}}, +/* 9066 */ {(11<<2)|2,{99,53,0}}, +/* 9067 */ {(11<<2)|2,{99,53,0}}, +/* 9068 */ {(11<<2)|2,{99,53,0}}, +/* 9069 */ {(11<<2)|2,{99,53,0}}, +/* 9070 */ {(11<<2)|2,{99,53,0}}, +/* 9071 */ {(11<<2)|2,{99,53,0}}, +/* 9072 */ {(11<<2)|2,{99,53,0}}, +/* 9073 */ {(11<<2)|2,{99,53,0}}, +/* 9074 */ {(11<<2)|2,{99,53,0}}, +/* 9075 */ {(11<<2)|2,{99,53,0}}, +/* 9076 */ {(11<<2)|2,{99,53,0}}, +/* 9077 */ {(11<<2)|2,{99,53,0}}, +/* 9078 */ {(11<<2)|2,{99,53,0}}, +/* 9079 */ {(11<<2)|2,{99,53,0}}, +/* 9080 */ {(11<<2)|2,{99,53,0}}, +/* 9081 */ {(11<<2)|2,{99,53,0}}, +/* 9082 */ {(11<<2)|2,{99,53,0}}, +/* 9083 */ {(11<<2)|2,{99,53,0}}, +/* 9084 */ {(11<<2)|2,{99,53,0}}, +/* 9085 */ {(11<<2)|2,{99,53,0}}, +/* 9086 */ {(11<<2)|2,{99,53,0}}, +/* 9087 */ {(11<<2)|2,{99,53,0}}, +/* 9088 */ {(16<<2)|3,{99,54,48}}, +/* 9089 */ {(16<<2)|3,{99,54,49}}, +/* 9090 */ {(16<<2)|3,{99,54,50}}, +/* 9091 */ {(16<<2)|3,{99,54,97}}, +/* 9092 */ {(16<<2)|3,{99,54,99}}, +/* 9093 */ {(16<<2)|3,{99,54,101}}, +/* 9094 */ {(16<<2)|3,{99,54,105}}, +/* 9095 */ {(16<<2)|3,{99,54,111}}, +/* 9096 */ {(16<<2)|3,{99,54,115}}, +/* 9097 */ {(16<<2)|3,{99,54,116}}, +/* 9098 */ {(11<<2)|2,{99,54,0}}, +/* 9099 */ {(11<<2)|2,{99,54,0}}, +/* 9100 */ {(11<<2)|2,{99,54,0}}, +/* 9101 */ {(11<<2)|2,{99,54,0}}, +/* 9102 */ {(11<<2)|2,{99,54,0}}, +/* 9103 */ {(11<<2)|2,{99,54,0}}, +/* 9104 */ {(11<<2)|2,{99,54,0}}, +/* 9105 */ {(11<<2)|2,{99,54,0}}, +/* 9106 */ {(11<<2)|2,{99,54,0}}, +/* 9107 */ {(11<<2)|2,{99,54,0}}, +/* 9108 */ {(11<<2)|2,{99,54,0}}, +/* 9109 */ {(11<<2)|2,{99,54,0}}, +/* 9110 */ {(11<<2)|2,{99,54,0}}, +/* 9111 */ {(11<<2)|2,{99,54,0}}, +/* 9112 */ {(11<<2)|2,{99,54,0}}, +/* 9113 */ {(11<<2)|2,{99,54,0}}, +/* 9114 */ {(11<<2)|2,{99,54,0}}, +/* 9115 */ {(11<<2)|2,{99,54,0}}, +/* 9116 */ {(11<<2)|2,{99,54,0}}, +/* 9117 */ {(11<<2)|2,{99,54,0}}, +/* 9118 */ {(11<<2)|2,{99,54,0}}, +/* 9119 */ {(11<<2)|2,{99,54,0}}, +/* 9120 */ {(16<<2)|3,{99,55,48}}, +/* 9121 */ {(16<<2)|3,{99,55,49}}, +/* 9122 */ {(16<<2)|3,{99,55,50}}, +/* 9123 */ {(16<<2)|3,{99,55,97}}, +/* 9124 */ {(16<<2)|3,{99,55,99}}, +/* 9125 */ {(16<<2)|3,{99,55,101}}, +/* 9126 */ {(16<<2)|3,{99,55,105}}, +/* 9127 */ {(16<<2)|3,{99,55,111}}, +/* 9128 */ {(16<<2)|3,{99,55,115}}, +/* 9129 */ {(16<<2)|3,{99,55,116}}, +/* 9130 */ {(11<<2)|2,{99,55,0}}, +/* 9131 */ {(11<<2)|2,{99,55,0}}, +/* 9132 */ {(11<<2)|2,{99,55,0}}, +/* 9133 */ {(11<<2)|2,{99,55,0}}, +/* 9134 */ {(11<<2)|2,{99,55,0}}, +/* 9135 */ {(11<<2)|2,{99,55,0}}, +/* 9136 */ {(11<<2)|2,{99,55,0}}, +/* 9137 */ {(11<<2)|2,{99,55,0}}, +/* 9138 */ {(11<<2)|2,{99,55,0}}, +/* 9139 */ {(11<<2)|2,{99,55,0}}, +/* 9140 */ {(11<<2)|2,{99,55,0}}, +/* 9141 */ {(11<<2)|2,{99,55,0}}, +/* 9142 */ {(11<<2)|2,{99,55,0}}, +/* 9143 */ {(11<<2)|2,{99,55,0}}, +/* 9144 */ {(11<<2)|2,{99,55,0}}, +/* 9145 */ {(11<<2)|2,{99,55,0}}, +/* 9146 */ {(11<<2)|2,{99,55,0}}, +/* 9147 */ {(11<<2)|2,{99,55,0}}, +/* 9148 */ {(11<<2)|2,{99,55,0}}, +/* 9149 */ {(11<<2)|2,{99,55,0}}, +/* 9150 */ {(11<<2)|2,{99,55,0}}, +/* 9151 */ {(11<<2)|2,{99,55,0}}, +/* 9152 */ {(16<<2)|3,{99,56,48}}, +/* 9153 */ {(16<<2)|3,{99,56,49}}, +/* 9154 */ {(16<<2)|3,{99,56,50}}, +/* 9155 */ {(16<<2)|3,{99,56,97}}, +/* 9156 */ {(16<<2)|3,{99,56,99}}, +/* 9157 */ {(16<<2)|3,{99,56,101}}, +/* 9158 */ {(16<<2)|3,{99,56,105}}, +/* 9159 */ {(16<<2)|3,{99,56,111}}, +/* 9160 */ {(16<<2)|3,{99,56,115}}, +/* 9161 */ {(16<<2)|3,{99,56,116}}, +/* 9162 */ {(11<<2)|2,{99,56,0}}, +/* 9163 */ {(11<<2)|2,{99,56,0}}, +/* 9164 */ {(11<<2)|2,{99,56,0}}, +/* 9165 */ {(11<<2)|2,{99,56,0}}, +/* 9166 */ {(11<<2)|2,{99,56,0}}, +/* 9167 */ {(11<<2)|2,{99,56,0}}, +/* 9168 */ {(11<<2)|2,{99,56,0}}, +/* 9169 */ {(11<<2)|2,{99,56,0}}, +/* 9170 */ {(11<<2)|2,{99,56,0}}, +/* 9171 */ {(11<<2)|2,{99,56,0}}, +/* 9172 */ {(11<<2)|2,{99,56,0}}, +/* 9173 */ {(11<<2)|2,{99,56,0}}, +/* 9174 */ {(11<<2)|2,{99,56,0}}, +/* 9175 */ {(11<<2)|2,{99,56,0}}, +/* 9176 */ {(11<<2)|2,{99,56,0}}, +/* 9177 */ {(11<<2)|2,{99,56,0}}, +/* 9178 */ {(11<<2)|2,{99,56,0}}, +/* 9179 */ {(11<<2)|2,{99,56,0}}, +/* 9180 */ {(11<<2)|2,{99,56,0}}, +/* 9181 */ {(11<<2)|2,{99,56,0}}, +/* 9182 */ {(11<<2)|2,{99,56,0}}, +/* 9183 */ {(11<<2)|2,{99,56,0}}, +/* 9184 */ {(16<<2)|3,{99,57,48}}, +/* 9185 */ {(16<<2)|3,{99,57,49}}, +/* 9186 */ {(16<<2)|3,{99,57,50}}, +/* 9187 */ {(16<<2)|3,{99,57,97}}, +/* 9188 */ {(16<<2)|3,{99,57,99}}, +/* 9189 */ {(16<<2)|3,{99,57,101}}, +/* 9190 */ {(16<<2)|3,{99,57,105}}, +/* 9191 */ {(16<<2)|3,{99,57,111}}, +/* 9192 */ {(16<<2)|3,{99,57,115}}, +/* 9193 */ {(16<<2)|3,{99,57,116}}, +/* 9194 */ {(11<<2)|2,{99,57,0}}, +/* 9195 */ {(11<<2)|2,{99,57,0}}, +/* 9196 */ {(11<<2)|2,{99,57,0}}, +/* 9197 */ {(11<<2)|2,{99,57,0}}, +/* 9198 */ {(11<<2)|2,{99,57,0}}, +/* 9199 */ {(11<<2)|2,{99,57,0}}, +/* 9200 */ {(11<<2)|2,{99,57,0}}, +/* 9201 */ {(11<<2)|2,{99,57,0}}, +/* 9202 */ {(11<<2)|2,{99,57,0}}, +/* 9203 */ {(11<<2)|2,{99,57,0}}, +/* 9204 */ {(11<<2)|2,{99,57,0}}, +/* 9205 */ {(11<<2)|2,{99,57,0}}, +/* 9206 */ {(11<<2)|2,{99,57,0}}, +/* 9207 */ {(11<<2)|2,{99,57,0}}, +/* 9208 */ {(11<<2)|2,{99,57,0}}, +/* 9209 */ {(11<<2)|2,{99,57,0}}, +/* 9210 */ {(11<<2)|2,{99,57,0}}, +/* 9211 */ {(11<<2)|2,{99,57,0}}, +/* 9212 */ {(11<<2)|2,{99,57,0}}, +/* 9213 */ {(11<<2)|2,{99,57,0}}, +/* 9214 */ {(11<<2)|2,{99,57,0}}, +/* 9215 */ {(11<<2)|2,{99,57,0}}, +/* 9216 */ {(16<<2)|3,{99,61,48}}, +/* 9217 */ {(16<<2)|3,{99,61,49}}, +/* 9218 */ {(16<<2)|3,{99,61,50}}, +/* 9219 */ {(16<<2)|3,{99,61,97}}, +/* 9220 */ {(16<<2)|3,{99,61,99}}, +/* 9221 */ {(16<<2)|3,{99,61,101}}, +/* 9222 */ {(16<<2)|3,{99,61,105}}, +/* 9223 */ {(16<<2)|3,{99,61,111}}, +/* 9224 */ {(16<<2)|3,{99,61,115}}, +/* 9225 */ {(16<<2)|3,{99,61,116}}, +/* 9226 */ {(11<<2)|2,{99,61,0}}, +/* 9227 */ {(11<<2)|2,{99,61,0}}, +/* 9228 */ {(11<<2)|2,{99,61,0}}, +/* 9229 */ {(11<<2)|2,{99,61,0}}, +/* 9230 */ {(11<<2)|2,{99,61,0}}, +/* 9231 */ {(11<<2)|2,{99,61,0}}, +/* 9232 */ {(11<<2)|2,{99,61,0}}, +/* 9233 */ {(11<<2)|2,{99,61,0}}, +/* 9234 */ {(11<<2)|2,{99,61,0}}, +/* 9235 */ {(11<<2)|2,{99,61,0}}, +/* 9236 */ {(11<<2)|2,{99,61,0}}, +/* 9237 */ {(11<<2)|2,{99,61,0}}, +/* 9238 */ {(11<<2)|2,{99,61,0}}, +/* 9239 */ {(11<<2)|2,{99,61,0}}, +/* 9240 */ {(11<<2)|2,{99,61,0}}, +/* 9241 */ {(11<<2)|2,{99,61,0}}, +/* 9242 */ {(11<<2)|2,{99,61,0}}, +/* 9243 */ {(11<<2)|2,{99,61,0}}, +/* 9244 */ {(11<<2)|2,{99,61,0}}, +/* 9245 */ {(11<<2)|2,{99,61,0}}, +/* 9246 */ {(11<<2)|2,{99,61,0}}, +/* 9247 */ {(11<<2)|2,{99,61,0}}, +/* 9248 */ {(16<<2)|3,{99,65,48}}, +/* 9249 */ {(16<<2)|3,{99,65,49}}, +/* 9250 */ {(16<<2)|3,{99,65,50}}, +/* 9251 */ {(16<<2)|3,{99,65,97}}, +/* 9252 */ {(16<<2)|3,{99,65,99}}, +/* 9253 */ {(16<<2)|3,{99,65,101}}, +/* 9254 */ {(16<<2)|3,{99,65,105}}, +/* 9255 */ {(16<<2)|3,{99,65,111}}, +/* 9256 */ {(16<<2)|3,{99,65,115}}, +/* 9257 */ {(16<<2)|3,{99,65,116}}, +/* 9258 */ {(11<<2)|2,{99,65,0}}, +/* 9259 */ {(11<<2)|2,{99,65,0}}, +/* 9260 */ {(11<<2)|2,{99,65,0}}, +/* 9261 */ {(11<<2)|2,{99,65,0}}, +/* 9262 */ {(11<<2)|2,{99,65,0}}, +/* 9263 */ {(11<<2)|2,{99,65,0}}, +/* 9264 */ {(11<<2)|2,{99,65,0}}, +/* 9265 */ {(11<<2)|2,{99,65,0}}, +/* 9266 */ {(11<<2)|2,{99,65,0}}, +/* 9267 */ {(11<<2)|2,{99,65,0}}, +/* 9268 */ {(11<<2)|2,{99,65,0}}, +/* 9269 */ {(11<<2)|2,{99,65,0}}, +/* 9270 */ {(11<<2)|2,{99,65,0}}, +/* 9271 */ {(11<<2)|2,{99,65,0}}, +/* 9272 */ {(11<<2)|2,{99,65,0}}, +/* 9273 */ {(11<<2)|2,{99,65,0}}, +/* 9274 */ {(11<<2)|2,{99,65,0}}, +/* 9275 */ {(11<<2)|2,{99,65,0}}, +/* 9276 */ {(11<<2)|2,{99,65,0}}, +/* 9277 */ {(11<<2)|2,{99,65,0}}, +/* 9278 */ {(11<<2)|2,{99,65,0}}, +/* 9279 */ {(11<<2)|2,{99,65,0}}, +/* 9280 */ {(16<<2)|3,{99,95,48}}, +/* 9281 */ {(16<<2)|3,{99,95,49}}, +/* 9282 */ {(16<<2)|3,{99,95,50}}, +/* 9283 */ {(16<<2)|3,{99,95,97}}, +/* 9284 */ {(16<<2)|3,{99,95,99}}, +/* 9285 */ {(16<<2)|3,{99,95,101}}, +/* 9286 */ {(16<<2)|3,{99,95,105}}, +/* 9287 */ {(16<<2)|3,{99,95,111}}, +/* 9288 */ {(16<<2)|3,{99,95,115}}, +/* 9289 */ {(16<<2)|3,{99,95,116}}, +/* 9290 */ {(11<<2)|2,{99,95,0}}, +/* 9291 */ {(11<<2)|2,{99,95,0}}, +/* 9292 */ {(11<<2)|2,{99,95,0}}, +/* 9293 */ {(11<<2)|2,{99,95,0}}, +/* 9294 */ {(11<<2)|2,{99,95,0}}, +/* 9295 */ {(11<<2)|2,{99,95,0}}, +/* 9296 */ {(11<<2)|2,{99,95,0}}, +/* 9297 */ {(11<<2)|2,{99,95,0}}, +/* 9298 */ {(11<<2)|2,{99,95,0}}, +/* 9299 */ {(11<<2)|2,{99,95,0}}, +/* 9300 */ {(11<<2)|2,{99,95,0}}, +/* 9301 */ {(11<<2)|2,{99,95,0}}, +/* 9302 */ {(11<<2)|2,{99,95,0}}, +/* 9303 */ {(11<<2)|2,{99,95,0}}, +/* 9304 */ {(11<<2)|2,{99,95,0}}, +/* 9305 */ {(11<<2)|2,{99,95,0}}, +/* 9306 */ {(11<<2)|2,{99,95,0}}, +/* 9307 */ {(11<<2)|2,{99,95,0}}, +/* 9308 */ {(11<<2)|2,{99,95,0}}, +/* 9309 */ {(11<<2)|2,{99,95,0}}, +/* 9310 */ {(11<<2)|2,{99,95,0}}, +/* 9311 */ {(11<<2)|2,{99,95,0}}, +/* 9312 */ {(16<<2)|3,{99,98,48}}, +/* 9313 */ {(16<<2)|3,{99,98,49}}, +/* 9314 */ {(16<<2)|3,{99,98,50}}, +/* 9315 */ {(16<<2)|3,{99,98,97}}, +/* 9316 */ {(16<<2)|3,{99,98,99}}, +/* 9317 */ {(16<<2)|3,{99,98,101}}, +/* 9318 */ {(16<<2)|3,{99,98,105}}, +/* 9319 */ {(16<<2)|3,{99,98,111}}, +/* 9320 */ {(16<<2)|3,{99,98,115}}, +/* 9321 */ {(16<<2)|3,{99,98,116}}, +/* 9322 */ {(11<<2)|2,{99,98,0}}, +/* 9323 */ {(11<<2)|2,{99,98,0}}, +/* 9324 */ {(11<<2)|2,{99,98,0}}, +/* 9325 */ {(11<<2)|2,{99,98,0}}, +/* 9326 */ {(11<<2)|2,{99,98,0}}, +/* 9327 */ {(11<<2)|2,{99,98,0}}, +/* 9328 */ {(11<<2)|2,{99,98,0}}, +/* 9329 */ {(11<<2)|2,{99,98,0}}, +/* 9330 */ {(11<<2)|2,{99,98,0}}, +/* 9331 */ {(11<<2)|2,{99,98,0}}, +/* 9332 */ {(11<<2)|2,{99,98,0}}, +/* 9333 */ {(11<<2)|2,{99,98,0}}, +/* 9334 */ {(11<<2)|2,{99,98,0}}, +/* 9335 */ {(11<<2)|2,{99,98,0}}, +/* 9336 */ {(11<<2)|2,{99,98,0}}, +/* 9337 */ {(11<<2)|2,{99,98,0}}, +/* 9338 */ {(11<<2)|2,{99,98,0}}, +/* 9339 */ {(11<<2)|2,{99,98,0}}, +/* 9340 */ {(11<<2)|2,{99,98,0}}, +/* 9341 */ {(11<<2)|2,{99,98,0}}, +/* 9342 */ {(11<<2)|2,{99,98,0}}, +/* 9343 */ {(11<<2)|2,{99,98,0}}, +/* 9344 */ {(16<<2)|3,{99,100,48}}, +/* 9345 */ {(16<<2)|3,{99,100,49}}, +/* 9346 */ {(16<<2)|3,{99,100,50}}, +/* 9347 */ {(16<<2)|3,{99,100,97}}, +/* 9348 */ {(16<<2)|3,{99,100,99}}, +/* 9349 */ {(16<<2)|3,{99,100,101}}, +/* 9350 */ {(16<<2)|3,{99,100,105}}, +/* 9351 */ {(16<<2)|3,{99,100,111}}, +/* 9352 */ {(16<<2)|3,{99,100,115}}, +/* 9353 */ {(16<<2)|3,{99,100,116}}, +/* 9354 */ {(11<<2)|2,{99,100,0}}, +/* 9355 */ {(11<<2)|2,{99,100,0}}, +/* 9356 */ {(11<<2)|2,{99,100,0}}, +/* 9357 */ {(11<<2)|2,{99,100,0}}, +/* 9358 */ {(11<<2)|2,{99,100,0}}, +/* 9359 */ {(11<<2)|2,{99,100,0}}, +/* 9360 */ {(11<<2)|2,{99,100,0}}, +/* 9361 */ {(11<<2)|2,{99,100,0}}, +/* 9362 */ {(11<<2)|2,{99,100,0}}, +/* 9363 */ {(11<<2)|2,{99,100,0}}, +/* 9364 */ {(11<<2)|2,{99,100,0}}, +/* 9365 */ {(11<<2)|2,{99,100,0}}, +/* 9366 */ {(11<<2)|2,{99,100,0}}, +/* 9367 */ {(11<<2)|2,{99,100,0}}, +/* 9368 */ {(11<<2)|2,{99,100,0}}, +/* 9369 */ {(11<<2)|2,{99,100,0}}, +/* 9370 */ {(11<<2)|2,{99,100,0}}, +/* 9371 */ {(11<<2)|2,{99,100,0}}, +/* 9372 */ {(11<<2)|2,{99,100,0}}, +/* 9373 */ {(11<<2)|2,{99,100,0}}, +/* 9374 */ {(11<<2)|2,{99,100,0}}, +/* 9375 */ {(11<<2)|2,{99,100,0}}, +/* 9376 */ {(16<<2)|3,{99,102,48}}, +/* 9377 */ {(16<<2)|3,{99,102,49}}, +/* 9378 */ {(16<<2)|3,{99,102,50}}, +/* 9379 */ {(16<<2)|3,{99,102,97}}, +/* 9380 */ {(16<<2)|3,{99,102,99}}, +/* 9381 */ {(16<<2)|3,{99,102,101}}, +/* 9382 */ {(16<<2)|3,{99,102,105}}, +/* 9383 */ {(16<<2)|3,{99,102,111}}, +/* 9384 */ {(16<<2)|3,{99,102,115}}, +/* 9385 */ {(16<<2)|3,{99,102,116}}, +/* 9386 */ {(11<<2)|2,{99,102,0}}, +/* 9387 */ {(11<<2)|2,{99,102,0}}, +/* 9388 */ {(11<<2)|2,{99,102,0}}, +/* 9389 */ {(11<<2)|2,{99,102,0}}, +/* 9390 */ {(11<<2)|2,{99,102,0}}, +/* 9391 */ {(11<<2)|2,{99,102,0}}, +/* 9392 */ {(11<<2)|2,{99,102,0}}, +/* 9393 */ {(11<<2)|2,{99,102,0}}, +/* 9394 */ {(11<<2)|2,{99,102,0}}, +/* 9395 */ {(11<<2)|2,{99,102,0}}, +/* 9396 */ {(11<<2)|2,{99,102,0}}, +/* 9397 */ {(11<<2)|2,{99,102,0}}, +/* 9398 */ {(11<<2)|2,{99,102,0}}, +/* 9399 */ {(11<<2)|2,{99,102,0}}, +/* 9400 */ {(11<<2)|2,{99,102,0}}, +/* 9401 */ {(11<<2)|2,{99,102,0}}, +/* 9402 */ {(11<<2)|2,{99,102,0}}, +/* 9403 */ {(11<<2)|2,{99,102,0}}, +/* 9404 */ {(11<<2)|2,{99,102,0}}, +/* 9405 */ {(11<<2)|2,{99,102,0}}, +/* 9406 */ {(11<<2)|2,{99,102,0}}, +/* 9407 */ {(11<<2)|2,{99,102,0}}, +/* 9408 */ {(16<<2)|3,{99,103,48}}, +/* 9409 */ {(16<<2)|3,{99,103,49}}, +/* 9410 */ {(16<<2)|3,{99,103,50}}, +/* 9411 */ {(16<<2)|3,{99,103,97}}, +/* 9412 */ {(16<<2)|3,{99,103,99}}, +/* 9413 */ {(16<<2)|3,{99,103,101}}, +/* 9414 */ {(16<<2)|3,{99,103,105}}, +/* 9415 */ {(16<<2)|3,{99,103,111}}, +/* 9416 */ {(16<<2)|3,{99,103,115}}, +/* 9417 */ {(16<<2)|3,{99,103,116}}, +/* 9418 */ {(11<<2)|2,{99,103,0}}, +/* 9419 */ {(11<<2)|2,{99,103,0}}, +/* 9420 */ {(11<<2)|2,{99,103,0}}, +/* 9421 */ {(11<<2)|2,{99,103,0}}, +/* 9422 */ {(11<<2)|2,{99,103,0}}, +/* 9423 */ {(11<<2)|2,{99,103,0}}, +/* 9424 */ {(11<<2)|2,{99,103,0}}, +/* 9425 */ {(11<<2)|2,{99,103,0}}, +/* 9426 */ {(11<<2)|2,{99,103,0}}, +/* 9427 */ {(11<<2)|2,{99,103,0}}, +/* 9428 */ {(11<<2)|2,{99,103,0}}, +/* 9429 */ {(11<<2)|2,{99,103,0}}, +/* 9430 */ {(11<<2)|2,{99,103,0}}, +/* 9431 */ {(11<<2)|2,{99,103,0}}, +/* 9432 */ {(11<<2)|2,{99,103,0}}, +/* 9433 */ {(11<<2)|2,{99,103,0}}, +/* 9434 */ {(11<<2)|2,{99,103,0}}, +/* 9435 */ {(11<<2)|2,{99,103,0}}, +/* 9436 */ {(11<<2)|2,{99,103,0}}, +/* 9437 */ {(11<<2)|2,{99,103,0}}, +/* 9438 */ {(11<<2)|2,{99,103,0}}, +/* 9439 */ {(11<<2)|2,{99,103,0}}, +/* 9440 */ {(16<<2)|3,{99,104,48}}, +/* 9441 */ {(16<<2)|3,{99,104,49}}, +/* 9442 */ {(16<<2)|3,{99,104,50}}, +/* 9443 */ {(16<<2)|3,{99,104,97}}, +/* 9444 */ {(16<<2)|3,{99,104,99}}, +/* 9445 */ {(16<<2)|3,{99,104,101}}, +/* 9446 */ {(16<<2)|3,{99,104,105}}, +/* 9447 */ {(16<<2)|3,{99,104,111}}, +/* 9448 */ {(16<<2)|3,{99,104,115}}, +/* 9449 */ {(16<<2)|3,{99,104,116}}, +/* 9450 */ {(11<<2)|2,{99,104,0}}, +/* 9451 */ {(11<<2)|2,{99,104,0}}, +/* 9452 */ {(11<<2)|2,{99,104,0}}, +/* 9453 */ {(11<<2)|2,{99,104,0}}, +/* 9454 */ {(11<<2)|2,{99,104,0}}, +/* 9455 */ {(11<<2)|2,{99,104,0}}, +/* 9456 */ {(11<<2)|2,{99,104,0}}, +/* 9457 */ {(11<<2)|2,{99,104,0}}, +/* 9458 */ {(11<<2)|2,{99,104,0}}, +/* 9459 */ {(11<<2)|2,{99,104,0}}, +/* 9460 */ {(11<<2)|2,{99,104,0}}, +/* 9461 */ {(11<<2)|2,{99,104,0}}, +/* 9462 */ {(11<<2)|2,{99,104,0}}, +/* 9463 */ {(11<<2)|2,{99,104,0}}, +/* 9464 */ {(11<<2)|2,{99,104,0}}, +/* 9465 */ {(11<<2)|2,{99,104,0}}, +/* 9466 */ {(11<<2)|2,{99,104,0}}, +/* 9467 */ {(11<<2)|2,{99,104,0}}, +/* 9468 */ {(11<<2)|2,{99,104,0}}, +/* 9469 */ {(11<<2)|2,{99,104,0}}, +/* 9470 */ {(11<<2)|2,{99,104,0}}, +/* 9471 */ {(11<<2)|2,{99,104,0}}, +/* 9472 */ {(16<<2)|3,{99,108,48}}, +/* 9473 */ {(16<<2)|3,{99,108,49}}, +/* 9474 */ {(16<<2)|3,{99,108,50}}, +/* 9475 */ {(16<<2)|3,{99,108,97}}, +/* 9476 */ {(16<<2)|3,{99,108,99}}, +/* 9477 */ {(16<<2)|3,{99,108,101}}, +/* 9478 */ {(16<<2)|3,{99,108,105}}, +/* 9479 */ {(16<<2)|3,{99,108,111}}, +/* 9480 */ {(16<<2)|3,{99,108,115}}, +/* 9481 */ {(16<<2)|3,{99,108,116}}, +/* 9482 */ {(11<<2)|2,{99,108,0}}, +/* 9483 */ {(11<<2)|2,{99,108,0}}, +/* 9484 */ {(11<<2)|2,{99,108,0}}, +/* 9485 */ {(11<<2)|2,{99,108,0}}, +/* 9486 */ {(11<<2)|2,{99,108,0}}, +/* 9487 */ {(11<<2)|2,{99,108,0}}, +/* 9488 */ {(11<<2)|2,{99,108,0}}, +/* 9489 */ {(11<<2)|2,{99,108,0}}, +/* 9490 */ {(11<<2)|2,{99,108,0}}, +/* 9491 */ {(11<<2)|2,{99,108,0}}, +/* 9492 */ {(11<<2)|2,{99,108,0}}, +/* 9493 */ {(11<<2)|2,{99,108,0}}, +/* 9494 */ {(11<<2)|2,{99,108,0}}, +/* 9495 */ {(11<<2)|2,{99,108,0}}, +/* 9496 */ {(11<<2)|2,{99,108,0}}, +/* 9497 */ {(11<<2)|2,{99,108,0}}, +/* 9498 */ {(11<<2)|2,{99,108,0}}, +/* 9499 */ {(11<<2)|2,{99,108,0}}, +/* 9500 */ {(11<<2)|2,{99,108,0}}, +/* 9501 */ {(11<<2)|2,{99,108,0}}, +/* 9502 */ {(11<<2)|2,{99,108,0}}, +/* 9503 */ {(11<<2)|2,{99,108,0}}, +/* 9504 */ {(16<<2)|3,{99,109,48}}, +/* 9505 */ {(16<<2)|3,{99,109,49}}, +/* 9506 */ {(16<<2)|3,{99,109,50}}, +/* 9507 */ {(16<<2)|3,{99,109,97}}, +/* 9508 */ {(16<<2)|3,{99,109,99}}, +/* 9509 */ {(16<<2)|3,{99,109,101}}, +/* 9510 */ {(16<<2)|3,{99,109,105}}, +/* 9511 */ {(16<<2)|3,{99,109,111}}, +/* 9512 */ {(16<<2)|3,{99,109,115}}, +/* 9513 */ {(16<<2)|3,{99,109,116}}, +/* 9514 */ {(11<<2)|2,{99,109,0}}, +/* 9515 */ {(11<<2)|2,{99,109,0}}, +/* 9516 */ {(11<<2)|2,{99,109,0}}, +/* 9517 */ {(11<<2)|2,{99,109,0}}, +/* 9518 */ {(11<<2)|2,{99,109,0}}, +/* 9519 */ {(11<<2)|2,{99,109,0}}, +/* 9520 */ {(11<<2)|2,{99,109,0}}, +/* 9521 */ {(11<<2)|2,{99,109,0}}, +/* 9522 */ {(11<<2)|2,{99,109,0}}, +/* 9523 */ {(11<<2)|2,{99,109,0}}, +/* 9524 */ {(11<<2)|2,{99,109,0}}, +/* 9525 */ {(11<<2)|2,{99,109,0}}, +/* 9526 */ {(11<<2)|2,{99,109,0}}, +/* 9527 */ {(11<<2)|2,{99,109,0}}, +/* 9528 */ {(11<<2)|2,{99,109,0}}, +/* 9529 */ {(11<<2)|2,{99,109,0}}, +/* 9530 */ {(11<<2)|2,{99,109,0}}, +/* 9531 */ {(11<<2)|2,{99,109,0}}, +/* 9532 */ {(11<<2)|2,{99,109,0}}, +/* 9533 */ {(11<<2)|2,{99,109,0}}, +/* 9534 */ {(11<<2)|2,{99,109,0}}, +/* 9535 */ {(11<<2)|2,{99,109,0}}, +/* 9536 */ {(16<<2)|3,{99,110,48}}, +/* 9537 */ {(16<<2)|3,{99,110,49}}, +/* 9538 */ {(16<<2)|3,{99,110,50}}, +/* 9539 */ {(16<<2)|3,{99,110,97}}, +/* 9540 */ {(16<<2)|3,{99,110,99}}, +/* 9541 */ {(16<<2)|3,{99,110,101}}, +/* 9542 */ {(16<<2)|3,{99,110,105}}, +/* 9543 */ {(16<<2)|3,{99,110,111}}, +/* 9544 */ {(16<<2)|3,{99,110,115}}, +/* 9545 */ {(16<<2)|3,{99,110,116}}, +/* 9546 */ {(11<<2)|2,{99,110,0}}, +/* 9547 */ {(11<<2)|2,{99,110,0}}, +/* 9548 */ {(11<<2)|2,{99,110,0}}, +/* 9549 */ {(11<<2)|2,{99,110,0}}, +/* 9550 */ {(11<<2)|2,{99,110,0}}, +/* 9551 */ {(11<<2)|2,{99,110,0}}, +/* 9552 */ {(11<<2)|2,{99,110,0}}, +/* 9553 */ {(11<<2)|2,{99,110,0}}, +/* 9554 */ {(11<<2)|2,{99,110,0}}, +/* 9555 */ {(11<<2)|2,{99,110,0}}, +/* 9556 */ {(11<<2)|2,{99,110,0}}, +/* 9557 */ {(11<<2)|2,{99,110,0}}, +/* 9558 */ {(11<<2)|2,{99,110,0}}, +/* 9559 */ {(11<<2)|2,{99,110,0}}, +/* 9560 */ {(11<<2)|2,{99,110,0}}, +/* 9561 */ {(11<<2)|2,{99,110,0}}, +/* 9562 */ {(11<<2)|2,{99,110,0}}, +/* 9563 */ {(11<<2)|2,{99,110,0}}, +/* 9564 */ {(11<<2)|2,{99,110,0}}, +/* 9565 */ {(11<<2)|2,{99,110,0}}, +/* 9566 */ {(11<<2)|2,{99,110,0}}, +/* 9567 */ {(11<<2)|2,{99,110,0}}, +/* 9568 */ {(16<<2)|3,{99,112,48}}, +/* 9569 */ {(16<<2)|3,{99,112,49}}, +/* 9570 */ {(16<<2)|3,{99,112,50}}, +/* 9571 */ {(16<<2)|3,{99,112,97}}, +/* 9572 */ {(16<<2)|3,{99,112,99}}, +/* 9573 */ {(16<<2)|3,{99,112,101}}, +/* 9574 */ {(16<<2)|3,{99,112,105}}, +/* 9575 */ {(16<<2)|3,{99,112,111}}, +/* 9576 */ {(16<<2)|3,{99,112,115}}, +/* 9577 */ {(16<<2)|3,{99,112,116}}, +/* 9578 */ {(11<<2)|2,{99,112,0}}, +/* 9579 */ {(11<<2)|2,{99,112,0}}, +/* 9580 */ {(11<<2)|2,{99,112,0}}, +/* 9581 */ {(11<<2)|2,{99,112,0}}, +/* 9582 */ {(11<<2)|2,{99,112,0}}, +/* 9583 */ {(11<<2)|2,{99,112,0}}, +/* 9584 */ {(11<<2)|2,{99,112,0}}, +/* 9585 */ {(11<<2)|2,{99,112,0}}, +/* 9586 */ {(11<<2)|2,{99,112,0}}, +/* 9587 */ {(11<<2)|2,{99,112,0}}, +/* 9588 */ {(11<<2)|2,{99,112,0}}, +/* 9589 */ {(11<<2)|2,{99,112,0}}, +/* 9590 */ {(11<<2)|2,{99,112,0}}, +/* 9591 */ {(11<<2)|2,{99,112,0}}, +/* 9592 */ {(11<<2)|2,{99,112,0}}, +/* 9593 */ {(11<<2)|2,{99,112,0}}, +/* 9594 */ {(11<<2)|2,{99,112,0}}, +/* 9595 */ {(11<<2)|2,{99,112,0}}, +/* 9596 */ {(11<<2)|2,{99,112,0}}, +/* 9597 */ {(11<<2)|2,{99,112,0}}, +/* 9598 */ {(11<<2)|2,{99,112,0}}, +/* 9599 */ {(11<<2)|2,{99,112,0}}, +/* 9600 */ {(16<<2)|3,{99,114,48}}, +/* 9601 */ {(16<<2)|3,{99,114,49}}, +/* 9602 */ {(16<<2)|3,{99,114,50}}, +/* 9603 */ {(16<<2)|3,{99,114,97}}, +/* 9604 */ {(16<<2)|3,{99,114,99}}, +/* 9605 */ {(16<<2)|3,{99,114,101}}, +/* 9606 */ {(16<<2)|3,{99,114,105}}, +/* 9607 */ {(16<<2)|3,{99,114,111}}, +/* 9608 */ {(16<<2)|3,{99,114,115}}, +/* 9609 */ {(16<<2)|3,{99,114,116}}, +/* 9610 */ {(11<<2)|2,{99,114,0}}, +/* 9611 */ {(11<<2)|2,{99,114,0}}, +/* 9612 */ {(11<<2)|2,{99,114,0}}, +/* 9613 */ {(11<<2)|2,{99,114,0}}, +/* 9614 */ {(11<<2)|2,{99,114,0}}, +/* 9615 */ {(11<<2)|2,{99,114,0}}, +/* 9616 */ {(11<<2)|2,{99,114,0}}, +/* 9617 */ {(11<<2)|2,{99,114,0}}, +/* 9618 */ {(11<<2)|2,{99,114,0}}, +/* 9619 */ {(11<<2)|2,{99,114,0}}, +/* 9620 */ {(11<<2)|2,{99,114,0}}, +/* 9621 */ {(11<<2)|2,{99,114,0}}, +/* 9622 */ {(11<<2)|2,{99,114,0}}, +/* 9623 */ {(11<<2)|2,{99,114,0}}, +/* 9624 */ {(11<<2)|2,{99,114,0}}, +/* 9625 */ {(11<<2)|2,{99,114,0}}, +/* 9626 */ {(11<<2)|2,{99,114,0}}, +/* 9627 */ {(11<<2)|2,{99,114,0}}, +/* 9628 */ {(11<<2)|2,{99,114,0}}, +/* 9629 */ {(11<<2)|2,{99,114,0}}, +/* 9630 */ {(11<<2)|2,{99,114,0}}, +/* 9631 */ {(11<<2)|2,{99,114,0}}, +/* 9632 */ {(16<<2)|3,{99,117,48}}, +/* 9633 */ {(16<<2)|3,{99,117,49}}, +/* 9634 */ {(16<<2)|3,{99,117,50}}, +/* 9635 */ {(16<<2)|3,{99,117,97}}, +/* 9636 */ {(16<<2)|3,{99,117,99}}, +/* 9637 */ {(16<<2)|3,{99,117,101}}, +/* 9638 */ {(16<<2)|3,{99,117,105}}, +/* 9639 */ {(16<<2)|3,{99,117,111}}, +/* 9640 */ {(16<<2)|3,{99,117,115}}, +/* 9641 */ {(16<<2)|3,{99,117,116}}, +/* 9642 */ {(11<<2)|2,{99,117,0}}, +/* 9643 */ {(11<<2)|2,{99,117,0}}, +/* 9644 */ {(11<<2)|2,{99,117,0}}, +/* 9645 */ {(11<<2)|2,{99,117,0}}, +/* 9646 */ {(11<<2)|2,{99,117,0}}, +/* 9647 */ {(11<<2)|2,{99,117,0}}, +/* 9648 */ {(11<<2)|2,{99,117,0}}, +/* 9649 */ {(11<<2)|2,{99,117,0}}, +/* 9650 */ {(11<<2)|2,{99,117,0}}, +/* 9651 */ {(11<<2)|2,{99,117,0}}, +/* 9652 */ {(11<<2)|2,{99,117,0}}, +/* 9653 */ {(11<<2)|2,{99,117,0}}, +/* 9654 */ {(11<<2)|2,{99,117,0}}, +/* 9655 */ {(11<<2)|2,{99,117,0}}, +/* 9656 */ {(11<<2)|2,{99,117,0}}, +/* 9657 */ {(11<<2)|2,{99,117,0}}, +/* 9658 */ {(11<<2)|2,{99,117,0}}, +/* 9659 */ {(11<<2)|2,{99,117,0}}, +/* 9660 */ {(11<<2)|2,{99,117,0}}, +/* 9661 */ {(11<<2)|2,{99,117,0}}, +/* 9662 */ {(11<<2)|2,{99,117,0}}, +/* 9663 */ {(11<<2)|2,{99,117,0}}, +/* 9664 */ {(12<<2)|2,{99,58,0}}, +/* 9665 */ {(12<<2)|2,{99,58,0}}, +/* 9666 */ {(12<<2)|2,{99,58,0}}, +/* 9667 */ {(12<<2)|2,{99,58,0}}, +/* 9668 */ {(12<<2)|2,{99,58,0}}, +/* 9669 */ {(12<<2)|2,{99,58,0}}, +/* 9670 */ {(12<<2)|2,{99,58,0}}, +/* 9671 */ {(12<<2)|2,{99,58,0}}, +/* 9672 */ {(12<<2)|2,{99,58,0}}, +/* 9673 */ {(12<<2)|2,{99,58,0}}, +/* 9674 */ {(12<<2)|2,{99,58,0}}, +/* 9675 */ {(12<<2)|2,{99,58,0}}, +/* 9676 */ {(12<<2)|2,{99,58,0}}, +/* 9677 */ {(12<<2)|2,{99,58,0}}, +/* 9678 */ {(12<<2)|2,{99,58,0}}, +/* 9679 */ {(12<<2)|2,{99,58,0}}, +/* 9680 */ {(12<<2)|2,{99,66,0}}, +/* 9681 */ {(12<<2)|2,{99,66,0}}, +/* 9682 */ {(12<<2)|2,{99,66,0}}, +/* 9683 */ {(12<<2)|2,{99,66,0}}, +/* 9684 */ {(12<<2)|2,{99,66,0}}, +/* 9685 */ {(12<<2)|2,{99,66,0}}, +/* 9686 */ {(12<<2)|2,{99,66,0}}, +/* 9687 */ {(12<<2)|2,{99,66,0}}, +/* 9688 */ {(12<<2)|2,{99,66,0}}, +/* 9689 */ {(12<<2)|2,{99,66,0}}, +/* 9690 */ {(12<<2)|2,{99,66,0}}, +/* 9691 */ {(12<<2)|2,{99,66,0}}, +/* 9692 */ {(12<<2)|2,{99,66,0}}, +/* 9693 */ {(12<<2)|2,{99,66,0}}, +/* 9694 */ {(12<<2)|2,{99,66,0}}, +/* 9695 */ {(12<<2)|2,{99,66,0}}, +/* 9696 */ {(12<<2)|2,{99,67,0}}, +/* 9697 */ {(12<<2)|2,{99,67,0}}, +/* 9698 */ {(12<<2)|2,{99,67,0}}, +/* 9699 */ {(12<<2)|2,{99,67,0}}, +/* 9700 */ {(12<<2)|2,{99,67,0}}, +/* 9701 */ {(12<<2)|2,{99,67,0}}, +/* 9702 */ {(12<<2)|2,{99,67,0}}, +/* 9703 */ {(12<<2)|2,{99,67,0}}, +/* 9704 */ {(12<<2)|2,{99,67,0}}, +/* 9705 */ {(12<<2)|2,{99,67,0}}, +/* 9706 */ {(12<<2)|2,{99,67,0}}, +/* 9707 */ {(12<<2)|2,{99,67,0}}, +/* 9708 */ {(12<<2)|2,{99,67,0}}, +/* 9709 */ {(12<<2)|2,{99,67,0}}, +/* 9710 */ {(12<<2)|2,{99,67,0}}, +/* 9711 */ {(12<<2)|2,{99,67,0}}, +/* 9712 */ {(12<<2)|2,{99,68,0}}, +/* 9713 */ {(12<<2)|2,{99,68,0}}, +/* 9714 */ {(12<<2)|2,{99,68,0}}, +/* 9715 */ {(12<<2)|2,{99,68,0}}, +/* 9716 */ {(12<<2)|2,{99,68,0}}, +/* 9717 */ {(12<<2)|2,{99,68,0}}, +/* 9718 */ {(12<<2)|2,{99,68,0}}, +/* 9719 */ {(12<<2)|2,{99,68,0}}, +/* 9720 */ {(12<<2)|2,{99,68,0}}, +/* 9721 */ {(12<<2)|2,{99,68,0}}, +/* 9722 */ {(12<<2)|2,{99,68,0}}, +/* 9723 */ {(12<<2)|2,{99,68,0}}, +/* 9724 */ {(12<<2)|2,{99,68,0}}, +/* 9725 */ {(12<<2)|2,{99,68,0}}, +/* 9726 */ {(12<<2)|2,{99,68,0}}, +/* 9727 */ {(12<<2)|2,{99,68,0}}, +/* 9728 */ {(12<<2)|2,{99,69,0}}, +/* 9729 */ {(12<<2)|2,{99,69,0}}, +/* 9730 */ {(12<<2)|2,{99,69,0}}, +/* 9731 */ {(12<<2)|2,{99,69,0}}, +/* 9732 */ {(12<<2)|2,{99,69,0}}, +/* 9733 */ {(12<<2)|2,{99,69,0}}, +/* 9734 */ {(12<<2)|2,{99,69,0}}, +/* 9735 */ {(12<<2)|2,{99,69,0}}, +/* 9736 */ {(12<<2)|2,{99,69,0}}, +/* 9737 */ {(12<<2)|2,{99,69,0}}, +/* 9738 */ {(12<<2)|2,{99,69,0}}, +/* 9739 */ {(12<<2)|2,{99,69,0}}, +/* 9740 */ {(12<<2)|2,{99,69,0}}, +/* 9741 */ {(12<<2)|2,{99,69,0}}, +/* 9742 */ {(12<<2)|2,{99,69,0}}, +/* 9743 */ {(12<<2)|2,{99,69,0}}, +/* 9744 */ {(12<<2)|2,{99,70,0}}, +/* 9745 */ {(12<<2)|2,{99,70,0}}, +/* 9746 */ {(12<<2)|2,{99,70,0}}, +/* 9747 */ {(12<<2)|2,{99,70,0}}, +/* 9748 */ {(12<<2)|2,{99,70,0}}, +/* 9749 */ {(12<<2)|2,{99,70,0}}, +/* 9750 */ {(12<<2)|2,{99,70,0}}, +/* 9751 */ {(12<<2)|2,{99,70,0}}, +/* 9752 */ {(12<<2)|2,{99,70,0}}, +/* 9753 */ {(12<<2)|2,{99,70,0}}, +/* 9754 */ {(12<<2)|2,{99,70,0}}, +/* 9755 */ {(12<<2)|2,{99,70,0}}, +/* 9756 */ {(12<<2)|2,{99,70,0}}, +/* 9757 */ {(12<<2)|2,{99,70,0}}, +/* 9758 */ {(12<<2)|2,{99,70,0}}, +/* 9759 */ {(12<<2)|2,{99,70,0}}, +/* 9760 */ {(12<<2)|2,{99,71,0}}, +/* 9761 */ {(12<<2)|2,{99,71,0}}, +/* 9762 */ {(12<<2)|2,{99,71,0}}, +/* 9763 */ {(12<<2)|2,{99,71,0}}, +/* 9764 */ {(12<<2)|2,{99,71,0}}, +/* 9765 */ {(12<<2)|2,{99,71,0}}, +/* 9766 */ {(12<<2)|2,{99,71,0}}, +/* 9767 */ {(12<<2)|2,{99,71,0}}, +/* 9768 */ {(12<<2)|2,{99,71,0}}, +/* 9769 */ {(12<<2)|2,{99,71,0}}, +/* 9770 */ {(12<<2)|2,{99,71,0}}, +/* 9771 */ {(12<<2)|2,{99,71,0}}, +/* 9772 */ {(12<<2)|2,{99,71,0}}, +/* 9773 */ {(12<<2)|2,{99,71,0}}, +/* 9774 */ {(12<<2)|2,{99,71,0}}, +/* 9775 */ {(12<<2)|2,{99,71,0}}, +/* 9776 */ {(12<<2)|2,{99,72,0}}, +/* 9777 */ {(12<<2)|2,{99,72,0}}, +/* 9778 */ {(12<<2)|2,{99,72,0}}, +/* 9779 */ {(12<<2)|2,{99,72,0}}, +/* 9780 */ {(12<<2)|2,{99,72,0}}, +/* 9781 */ {(12<<2)|2,{99,72,0}}, +/* 9782 */ {(12<<2)|2,{99,72,0}}, +/* 9783 */ {(12<<2)|2,{99,72,0}}, +/* 9784 */ {(12<<2)|2,{99,72,0}}, +/* 9785 */ {(12<<2)|2,{99,72,0}}, +/* 9786 */ {(12<<2)|2,{99,72,0}}, +/* 9787 */ {(12<<2)|2,{99,72,0}}, +/* 9788 */ {(12<<2)|2,{99,72,0}}, +/* 9789 */ {(12<<2)|2,{99,72,0}}, +/* 9790 */ {(12<<2)|2,{99,72,0}}, +/* 9791 */ {(12<<2)|2,{99,72,0}}, +/* 9792 */ {(12<<2)|2,{99,73,0}}, +/* 9793 */ {(12<<2)|2,{99,73,0}}, +/* 9794 */ {(12<<2)|2,{99,73,0}}, +/* 9795 */ {(12<<2)|2,{99,73,0}}, +/* 9796 */ {(12<<2)|2,{99,73,0}}, +/* 9797 */ {(12<<2)|2,{99,73,0}}, +/* 9798 */ {(12<<2)|2,{99,73,0}}, +/* 9799 */ {(12<<2)|2,{99,73,0}}, +/* 9800 */ {(12<<2)|2,{99,73,0}}, +/* 9801 */ {(12<<2)|2,{99,73,0}}, +/* 9802 */ {(12<<2)|2,{99,73,0}}, +/* 9803 */ {(12<<2)|2,{99,73,0}}, +/* 9804 */ {(12<<2)|2,{99,73,0}}, +/* 9805 */ {(12<<2)|2,{99,73,0}}, +/* 9806 */ {(12<<2)|2,{99,73,0}}, +/* 9807 */ {(12<<2)|2,{99,73,0}}, +/* 9808 */ {(12<<2)|2,{99,74,0}}, +/* 9809 */ {(12<<2)|2,{99,74,0}}, +/* 9810 */ {(12<<2)|2,{99,74,0}}, +/* 9811 */ {(12<<2)|2,{99,74,0}}, +/* 9812 */ {(12<<2)|2,{99,74,0}}, +/* 9813 */ {(12<<2)|2,{99,74,0}}, +/* 9814 */ {(12<<2)|2,{99,74,0}}, +/* 9815 */ {(12<<2)|2,{99,74,0}}, +/* 9816 */ {(12<<2)|2,{99,74,0}}, +/* 9817 */ {(12<<2)|2,{99,74,0}}, +/* 9818 */ {(12<<2)|2,{99,74,0}}, +/* 9819 */ {(12<<2)|2,{99,74,0}}, +/* 9820 */ {(12<<2)|2,{99,74,0}}, +/* 9821 */ {(12<<2)|2,{99,74,0}}, +/* 9822 */ {(12<<2)|2,{99,74,0}}, +/* 9823 */ {(12<<2)|2,{99,74,0}}, +/* 9824 */ {(12<<2)|2,{99,75,0}}, +/* 9825 */ {(12<<2)|2,{99,75,0}}, +/* 9826 */ {(12<<2)|2,{99,75,0}}, +/* 9827 */ {(12<<2)|2,{99,75,0}}, +/* 9828 */ {(12<<2)|2,{99,75,0}}, +/* 9829 */ {(12<<2)|2,{99,75,0}}, +/* 9830 */ {(12<<2)|2,{99,75,0}}, +/* 9831 */ {(12<<2)|2,{99,75,0}}, +/* 9832 */ {(12<<2)|2,{99,75,0}}, +/* 9833 */ {(12<<2)|2,{99,75,0}}, +/* 9834 */ {(12<<2)|2,{99,75,0}}, +/* 9835 */ {(12<<2)|2,{99,75,0}}, +/* 9836 */ {(12<<2)|2,{99,75,0}}, +/* 9837 */ {(12<<2)|2,{99,75,0}}, +/* 9838 */ {(12<<2)|2,{99,75,0}}, +/* 9839 */ {(12<<2)|2,{99,75,0}}, +/* 9840 */ {(12<<2)|2,{99,76,0}}, +/* 9841 */ {(12<<2)|2,{99,76,0}}, +/* 9842 */ {(12<<2)|2,{99,76,0}}, +/* 9843 */ {(12<<2)|2,{99,76,0}}, +/* 9844 */ {(12<<2)|2,{99,76,0}}, +/* 9845 */ {(12<<2)|2,{99,76,0}}, +/* 9846 */ {(12<<2)|2,{99,76,0}}, +/* 9847 */ {(12<<2)|2,{99,76,0}}, +/* 9848 */ {(12<<2)|2,{99,76,0}}, +/* 9849 */ {(12<<2)|2,{99,76,0}}, +/* 9850 */ {(12<<2)|2,{99,76,0}}, +/* 9851 */ {(12<<2)|2,{99,76,0}}, +/* 9852 */ {(12<<2)|2,{99,76,0}}, +/* 9853 */ {(12<<2)|2,{99,76,0}}, +/* 9854 */ {(12<<2)|2,{99,76,0}}, +/* 9855 */ {(12<<2)|2,{99,76,0}}, +/* 9856 */ {(12<<2)|2,{99,77,0}}, +/* 9857 */ {(12<<2)|2,{99,77,0}}, +/* 9858 */ {(12<<2)|2,{99,77,0}}, +/* 9859 */ {(12<<2)|2,{99,77,0}}, +/* 9860 */ {(12<<2)|2,{99,77,0}}, +/* 9861 */ {(12<<2)|2,{99,77,0}}, +/* 9862 */ {(12<<2)|2,{99,77,0}}, +/* 9863 */ {(12<<2)|2,{99,77,0}}, +/* 9864 */ {(12<<2)|2,{99,77,0}}, +/* 9865 */ {(12<<2)|2,{99,77,0}}, +/* 9866 */ {(12<<2)|2,{99,77,0}}, +/* 9867 */ {(12<<2)|2,{99,77,0}}, +/* 9868 */ {(12<<2)|2,{99,77,0}}, +/* 9869 */ {(12<<2)|2,{99,77,0}}, +/* 9870 */ {(12<<2)|2,{99,77,0}}, +/* 9871 */ {(12<<2)|2,{99,77,0}}, +/* 9872 */ {(12<<2)|2,{99,78,0}}, +/* 9873 */ {(12<<2)|2,{99,78,0}}, +/* 9874 */ {(12<<2)|2,{99,78,0}}, +/* 9875 */ {(12<<2)|2,{99,78,0}}, +/* 9876 */ {(12<<2)|2,{99,78,0}}, +/* 9877 */ {(12<<2)|2,{99,78,0}}, +/* 9878 */ {(12<<2)|2,{99,78,0}}, +/* 9879 */ {(12<<2)|2,{99,78,0}}, +/* 9880 */ {(12<<2)|2,{99,78,0}}, +/* 9881 */ {(12<<2)|2,{99,78,0}}, +/* 9882 */ {(12<<2)|2,{99,78,0}}, +/* 9883 */ {(12<<2)|2,{99,78,0}}, +/* 9884 */ {(12<<2)|2,{99,78,0}}, +/* 9885 */ {(12<<2)|2,{99,78,0}}, +/* 9886 */ {(12<<2)|2,{99,78,0}}, +/* 9887 */ {(12<<2)|2,{99,78,0}}, +/* 9888 */ {(12<<2)|2,{99,79,0}}, +/* 9889 */ {(12<<2)|2,{99,79,0}}, +/* 9890 */ {(12<<2)|2,{99,79,0}}, +/* 9891 */ {(12<<2)|2,{99,79,0}}, +/* 9892 */ {(12<<2)|2,{99,79,0}}, +/* 9893 */ {(12<<2)|2,{99,79,0}}, +/* 9894 */ {(12<<2)|2,{99,79,0}}, +/* 9895 */ {(12<<2)|2,{99,79,0}}, +/* 9896 */ {(12<<2)|2,{99,79,0}}, +/* 9897 */ {(12<<2)|2,{99,79,0}}, +/* 9898 */ {(12<<2)|2,{99,79,0}}, +/* 9899 */ {(12<<2)|2,{99,79,0}}, +/* 9900 */ {(12<<2)|2,{99,79,0}}, +/* 9901 */ {(12<<2)|2,{99,79,0}}, +/* 9902 */ {(12<<2)|2,{99,79,0}}, +/* 9903 */ {(12<<2)|2,{99,79,0}}, +/* 9904 */ {(12<<2)|2,{99,80,0}}, +/* 9905 */ {(12<<2)|2,{99,80,0}}, +/* 9906 */ {(12<<2)|2,{99,80,0}}, +/* 9907 */ {(12<<2)|2,{99,80,0}}, +/* 9908 */ {(12<<2)|2,{99,80,0}}, +/* 9909 */ {(12<<2)|2,{99,80,0}}, +/* 9910 */ {(12<<2)|2,{99,80,0}}, +/* 9911 */ {(12<<2)|2,{99,80,0}}, +/* 9912 */ {(12<<2)|2,{99,80,0}}, +/* 9913 */ {(12<<2)|2,{99,80,0}}, +/* 9914 */ {(12<<2)|2,{99,80,0}}, +/* 9915 */ {(12<<2)|2,{99,80,0}}, +/* 9916 */ {(12<<2)|2,{99,80,0}}, +/* 9917 */ {(12<<2)|2,{99,80,0}}, +/* 9918 */ {(12<<2)|2,{99,80,0}}, +/* 9919 */ {(12<<2)|2,{99,80,0}}, +/* 9920 */ {(12<<2)|2,{99,81,0}}, +/* 9921 */ {(12<<2)|2,{99,81,0}}, +/* 9922 */ {(12<<2)|2,{99,81,0}}, +/* 9923 */ {(12<<2)|2,{99,81,0}}, +/* 9924 */ {(12<<2)|2,{99,81,0}}, +/* 9925 */ {(12<<2)|2,{99,81,0}}, +/* 9926 */ {(12<<2)|2,{99,81,0}}, +/* 9927 */ {(12<<2)|2,{99,81,0}}, +/* 9928 */ {(12<<2)|2,{99,81,0}}, +/* 9929 */ {(12<<2)|2,{99,81,0}}, +/* 9930 */ {(12<<2)|2,{99,81,0}}, +/* 9931 */ {(12<<2)|2,{99,81,0}}, +/* 9932 */ {(12<<2)|2,{99,81,0}}, +/* 9933 */ {(12<<2)|2,{99,81,0}}, +/* 9934 */ {(12<<2)|2,{99,81,0}}, +/* 9935 */ {(12<<2)|2,{99,81,0}}, +/* 9936 */ {(12<<2)|2,{99,82,0}}, +/* 9937 */ {(12<<2)|2,{99,82,0}}, +/* 9938 */ {(12<<2)|2,{99,82,0}}, +/* 9939 */ {(12<<2)|2,{99,82,0}}, +/* 9940 */ {(12<<2)|2,{99,82,0}}, +/* 9941 */ {(12<<2)|2,{99,82,0}}, +/* 9942 */ {(12<<2)|2,{99,82,0}}, +/* 9943 */ {(12<<2)|2,{99,82,0}}, +/* 9944 */ {(12<<2)|2,{99,82,0}}, +/* 9945 */ {(12<<2)|2,{99,82,0}}, +/* 9946 */ {(12<<2)|2,{99,82,0}}, +/* 9947 */ {(12<<2)|2,{99,82,0}}, +/* 9948 */ {(12<<2)|2,{99,82,0}}, +/* 9949 */ {(12<<2)|2,{99,82,0}}, +/* 9950 */ {(12<<2)|2,{99,82,0}}, +/* 9951 */ {(12<<2)|2,{99,82,0}}, +/* 9952 */ {(12<<2)|2,{99,83,0}}, +/* 9953 */ {(12<<2)|2,{99,83,0}}, +/* 9954 */ {(12<<2)|2,{99,83,0}}, +/* 9955 */ {(12<<2)|2,{99,83,0}}, +/* 9956 */ {(12<<2)|2,{99,83,0}}, +/* 9957 */ {(12<<2)|2,{99,83,0}}, +/* 9958 */ {(12<<2)|2,{99,83,0}}, +/* 9959 */ {(12<<2)|2,{99,83,0}}, +/* 9960 */ {(12<<2)|2,{99,83,0}}, +/* 9961 */ {(12<<2)|2,{99,83,0}}, +/* 9962 */ {(12<<2)|2,{99,83,0}}, +/* 9963 */ {(12<<2)|2,{99,83,0}}, +/* 9964 */ {(12<<2)|2,{99,83,0}}, +/* 9965 */ {(12<<2)|2,{99,83,0}}, +/* 9966 */ {(12<<2)|2,{99,83,0}}, +/* 9967 */ {(12<<2)|2,{99,83,0}}, +/* 9968 */ {(12<<2)|2,{99,84,0}}, +/* 9969 */ {(12<<2)|2,{99,84,0}}, +/* 9970 */ {(12<<2)|2,{99,84,0}}, +/* 9971 */ {(12<<2)|2,{99,84,0}}, +/* 9972 */ {(12<<2)|2,{99,84,0}}, +/* 9973 */ {(12<<2)|2,{99,84,0}}, +/* 9974 */ {(12<<2)|2,{99,84,0}}, +/* 9975 */ {(12<<2)|2,{99,84,0}}, +/* 9976 */ {(12<<2)|2,{99,84,0}}, +/* 9977 */ {(12<<2)|2,{99,84,0}}, +/* 9978 */ {(12<<2)|2,{99,84,0}}, +/* 9979 */ {(12<<2)|2,{99,84,0}}, +/* 9980 */ {(12<<2)|2,{99,84,0}}, +/* 9981 */ {(12<<2)|2,{99,84,0}}, +/* 9982 */ {(12<<2)|2,{99,84,0}}, +/* 9983 */ {(12<<2)|2,{99,84,0}}, +/* 9984 */ {(12<<2)|2,{99,85,0}}, +/* 9985 */ {(12<<2)|2,{99,85,0}}, +/* 9986 */ {(12<<2)|2,{99,85,0}}, +/* 9987 */ {(12<<2)|2,{99,85,0}}, +/* 9988 */ {(12<<2)|2,{99,85,0}}, +/* 9989 */ {(12<<2)|2,{99,85,0}}, +/* 9990 */ {(12<<2)|2,{99,85,0}}, +/* 9991 */ {(12<<2)|2,{99,85,0}}, +/* 9992 */ {(12<<2)|2,{99,85,0}}, +/* 9993 */ {(12<<2)|2,{99,85,0}}, +/* 9994 */ {(12<<2)|2,{99,85,0}}, +/* 9995 */ {(12<<2)|2,{99,85,0}}, +/* 9996 */ {(12<<2)|2,{99,85,0}}, +/* 9997 */ {(12<<2)|2,{99,85,0}}, +/* 9998 */ {(12<<2)|2,{99,85,0}}, +/* 9999 */ {(12<<2)|2,{99,85,0}}, +/* 10000 */ {(12<<2)|2,{99,86,0}}, +/* 10001 */ {(12<<2)|2,{99,86,0}}, +/* 10002 */ {(12<<2)|2,{99,86,0}}, +/* 10003 */ {(12<<2)|2,{99,86,0}}, +/* 10004 */ {(12<<2)|2,{99,86,0}}, +/* 10005 */ {(12<<2)|2,{99,86,0}}, +/* 10006 */ {(12<<2)|2,{99,86,0}}, +/* 10007 */ {(12<<2)|2,{99,86,0}}, +/* 10008 */ {(12<<2)|2,{99,86,0}}, +/* 10009 */ {(12<<2)|2,{99,86,0}}, +/* 10010 */ {(12<<2)|2,{99,86,0}}, +/* 10011 */ {(12<<2)|2,{99,86,0}}, +/* 10012 */ {(12<<2)|2,{99,86,0}}, +/* 10013 */ {(12<<2)|2,{99,86,0}}, +/* 10014 */ {(12<<2)|2,{99,86,0}}, +/* 10015 */ {(12<<2)|2,{99,86,0}}, +/* 10016 */ {(12<<2)|2,{99,87,0}}, +/* 10017 */ {(12<<2)|2,{99,87,0}}, +/* 10018 */ {(12<<2)|2,{99,87,0}}, +/* 10019 */ {(12<<2)|2,{99,87,0}}, +/* 10020 */ {(12<<2)|2,{99,87,0}}, +/* 10021 */ {(12<<2)|2,{99,87,0}}, +/* 10022 */ {(12<<2)|2,{99,87,0}}, +/* 10023 */ {(12<<2)|2,{99,87,0}}, +/* 10024 */ {(12<<2)|2,{99,87,0}}, +/* 10025 */ {(12<<2)|2,{99,87,0}}, +/* 10026 */ {(12<<2)|2,{99,87,0}}, +/* 10027 */ {(12<<2)|2,{99,87,0}}, +/* 10028 */ {(12<<2)|2,{99,87,0}}, +/* 10029 */ {(12<<2)|2,{99,87,0}}, +/* 10030 */ {(12<<2)|2,{99,87,0}}, +/* 10031 */ {(12<<2)|2,{99,87,0}}, +/* 10032 */ {(12<<2)|2,{99,89,0}}, +/* 10033 */ {(12<<2)|2,{99,89,0}}, +/* 10034 */ {(12<<2)|2,{99,89,0}}, +/* 10035 */ {(12<<2)|2,{99,89,0}}, +/* 10036 */ {(12<<2)|2,{99,89,0}}, +/* 10037 */ {(12<<2)|2,{99,89,0}}, +/* 10038 */ {(12<<2)|2,{99,89,0}}, +/* 10039 */ {(12<<2)|2,{99,89,0}}, +/* 10040 */ {(12<<2)|2,{99,89,0}}, +/* 10041 */ {(12<<2)|2,{99,89,0}}, +/* 10042 */ {(12<<2)|2,{99,89,0}}, +/* 10043 */ {(12<<2)|2,{99,89,0}}, +/* 10044 */ {(12<<2)|2,{99,89,0}}, +/* 10045 */ {(12<<2)|2,{99,89,0}}, +/* 10046 */ {(12<<2)|2,{99,89,0}}, +/* 10047 */ {(12<<2)|2,{99,89,0}}, +/* 10048 */ {(12<<2)|2,{99,106,0}}, +/* 10049 */ {(12<<2)|2,{99,106,0}}, +/* 10050 */ {(12<<2)|2,{99,106,0}}, +/* 10051 */ {(12<<2)|2,{99,106,0}}, +/* 10052 */ {(12<<2)|2,{99,106,0}}, +/* 10053 */ {(12<<2)|2,{99,106,0}}, +/* 10054 */ {(12<<2)|2,{99,106,0}}, +/* 10055 */ {(12<<2)|2,{99,106,0}}, +/* 10056 */ {(12<<2)|2,{99,106,0}}, +/* 10057 */ {(12<<2)|2,{99,106,0}}, +/* 10058 */ {(12<<2)|2,{99,106,0}}, +/* 10059 */ {(12<<2)|2,{99,106,0}}, +/* 10060 */ {(12<<2)|2,{99,106,0}}, +/* 10061 */ {(12<<2)|2,{99,106,0}}, +/* 10062 */ {(12<<2)|2,{99,106,0}}, +/* 10063 */ {(12<<2)|2,{99,106,0}}, +/* 10064 */ {(12<<2)|2,{99,107,0}}, +/* 10065 */ {(12<<2)|2,{99,107,0}}, +/* 10066 */ {(12<<2)|2,{99,107,0}}, +/* 10067 */ {(12<<2)|2,{99,107,0}}, +/* 10068 */ {(12<<2)|2,{99,107,0}}, +/* 10069 */ {(12<<2)|2,{99,107,0}}, +/* 10070 */ {(12<<2)|2,{99,107,0}}, +/* 10071 */ {(12<<2)|2,{99,107,0}}, +/* 10072 */ {(12<<2)|2,{99,107,0}}, +/* 10073 */ {(12<<2)|2,{99,107,0}}, +/* 10074 */ {(12<<2)|2,{99,107,0}}, +/* 10075 */ {(12<<2)|2,{99,107,0}}, +/* 10076 */ {(12<<2)|2,{99,107,0}}, +/* 10077 */ {(12<<2)|2,{99,107,0}}, +/* 10078 */ {(12<<2)|2,{99,107,0}}, +/* 10079 */ {(12<<2)|2,{99,107,0}}, +/* 10080 */ {(12<<2)|2,{99,113,0}}, +/* 10081 */ {(12<<2)|2,{99,113,0}}, +/* 10082 */ {(12<<2)|2,{99,113,0}}, +/* 10083 */ {(12<<2)|2,{99,113,0}}, +/* 10084 */ {(12<<2)|2,{99,113,0}}, +/* 10085 */ {(12<<2)|2,{99,113,0}}, +/* 10086 */ {(12<<2)|2,{99,113,0}}, +/* 10087 */ {(12<<2)|2,{99,113,0}}, +/* 10088 */ {(12<<2)|2,{99,113,0}}, +/* 10089 */ {(12<<2)|2,{99,113,0}}, +/* 10090 */ {(12<<2)|2,{99,113,0}}, +/* 10091 */ {(12<<2)|2,{99,113,0}}, +/* 10092 */ {(12<<2)|2,{99,113,0}}, +/* 10093 */ {(12<<2)|2,{99,113,0}}, +/* 10094 */ {(12<<2)|2,{99,113,0}}, +/* 10095 */ {(12<<2)|2,{99,113,0}}, +/* 10096 */ {(12<<2)|2,{99,118,0}}, +/* 10097 */ {(12<<2)|2,{99,118,0}}, +/* 10098 */ {(12<<2)|2,{99,118,0}}, +/* 10099 */ {(12<<2)|2,{99,118,0}}, +/* 10100 */ {(12<<2)|2,{99,118,0}}, +/* 10101 */ {(12<<2)|2,{99,118,0}}, +/* 10102 */ {(12<<2)|2,{99,118,0}}, +/* 10103 */ {(12<<2)|2,{99,118,0}}, +/* 10104 */ {(12<<2)|2,{99,118,0}}, +/* 10105 */ {(12<<2)|2,{99,118,0}}, +/* 10106 */ {(12<<2)|2,{99,118,0}}, +/* 10107 */ {(12<<2)|2,{99,118,0}}, +/* 10108 */ {(12<<2)|2,{99,118,0}}, +/* 10109 */ {(12<<2)|2,{99,118,0}}, +/* 10110 */ {(12<<2)|2,{99,118,0}}, +/* 10111 */ {(12<<2)|2,{99,118,0}}, +/* 10112 */ {(12<<2)|2,{99,119,0}}, +/* 10113 */ {(12<<2)|2,{99,119,0}}, +/* 10114 */ {(12<<2)|2,{99,119,0}}, +/* 10115 */ {(12<<2)|2,{99,119,0}}, +/* 10116 */ {(12<<2)|2,{99,119,0}}, +/* 10117 */ {(12<<2)|2,{99,119,0}}, +/* 10118 */ {(12<<2)|2,{99,119,0}}, +/* 10119 */ {(12<<2)|2,{99,119,0}}, +/* 10120 */ {(12<<2)|2,{99,119,0}}, +/* 10121 */ {(12<<2)|2,{99,119,0}}, +/* 10122 */ {(12<<2)|2,{99,119,0}}, +/* 10123 */ {(12<<2)|2,{99,119,0}}, +/* 10124 */ {(12<<2)|2,{99,119,0}}, +/* 10125 */ {(12<<2)|2,{99,119,0}}, +/* 10126 */ {(12<<2)|2,{99,119,0}}, +/* 10127 */ {(12<<2)|2,{99,119,0}}, +/* 10128 */ {(12<<2)|2,{99,120,0}}, +/* 10129 */ {(12<<2)|2,{99,120,0}}, +/* 10130 */ {(12<<2)|2,{99,120,0}}, +/* 10131 */ {(12<<2)|2,{99,120,0}}, +/* 10132 */ {(12<<2)|2,{99,120,0}}, +/* 10133 */ {(12<<2)|2,{99,120,0}}, +/* 10134 */ {(12<<2)|2,{99,120,0}}, +/* 10135 */ {(12<<2)|2,{99,120,0}}, +/* 10136 */ {(12<<2)|2,{99,120,0}}, +/* 10137 */ {(12<<2)|2,{99,120,0}}, +/* 10138 */ {(12<<2)|2,{99,120,0}}, +/* 10139 */ {(12<<2)|2,{99,120,0}}, +/* 10140 */ {(12<<2)|2,{99,120,0}}, +/* 10141 */ {(12<<2)|2,{99,120,0}}, +/* 10142 */ {(12<<2)|2,{99,120,0}}, +/* 10143 */ {(12<<2)|2,{99,120,0}}, +/* 10144 */ {(12<<2)|2,{99,121,0}}, +/* 10145 */ {(12<<2)|2,{99,121,0}}, +/* 10146 */ {(12<<2)|2,{99,121,0}}, +/* 10147 */ {(12<<2)|2,{99,121,0}}, +/* 10148 */ {(12<<2)|2,{99,121,0}}, +/* 10149 */ {(12<<2)|2,{99,121,0}}, +/* 10150 */ {(12<<2)|2,{99,121,0}}, +/* 10151 */ {(12<<2)|2,{99,121,0}}, +/* 10152 */ {(12<<2)|2,{99,121,0}}, +/* 10153 */ {(12<<2)|2,{99,121,0}}, +/* 10154 */ {(12<<2)|2,{99,121,0}}, +/* 10155 */ {(12<<2)|2,{99,121,0}}, +/* 10156 */ {(12<<2)|2,{99,121,0}}, +/* 10157 */ {(12<<2)|2,{99,121,0}}, +/* 10158 */ {(12<<2)|2,{99,121,0}}, +/* 10159 */ {(12<<2)|2,{99,121,0}}, +/* 10160 */ {(12<<2)|2,{99,122,0}}, +/* 10161 */ {(12<<2)|2,{99,122,0}}, +/* 10162 */ {(12<<2)|2,{99,122,0}}, +/* 10163 */ {(12<<2)|2,{99,122,0}}, +/* 10164 */ {(12<<2)|2,{99,122,0}}, +/* 10165 */ {(12<<2)|2,{99,122,0}}, +/* 10166 */ {(12<<2)|2,{99,122,0}}, +/* 10167 */ {(12<<2)|2,{99,122,0}}, +/* 10168 */ {(12<<2)|2,{99,122,0}}, +/* 10169 */ {(12<<2)|2,{99,122,0}}, +/* 10170 */ {(12<<2)|2,{99,122,0}}, +/* 10171 */ {(12<<2)|2,{99,122,0}}, +/* 10172 */ {(12<<2)|2,{99,122,0}}, +/* 10173 */ {(12<<2)|2,{99,122,0}}, +/* 10174 */ {(12<<2)|2,{99,122,0}}, +/* 10175 */ {(12<<2)|2,{99,122,0}}, +/* 10176 */ {(13<<2)|2,{99,38,0}}, +/* 10177 */ {(13<<2)|2,{99,38,0}}, +/* 10178 */ {(13<<2)|2,{99,38,0}}, +/* 10179 */ {(13<<2)|2,{99,38,0}}, +/* 10180 */ {(13<<2)|2,{99,38,0}}, +/* 10181 */ {(13<<2)|2,{99,38,0}}, +/* 10182 */ {(13<<2)|2,{99,38,0}}, +/* 10183 */ {(13<<2)|2,{99,38,0}}, +/* 10184 */ {(13<<2)|2,{99,42,0}}, +/* 10185 */ {(13<<2)|2,{99,42,0}}, +/* 10186 */ {(13<<2)|2,{99,42,0}}, +/* 10187 */ {(13<<2)|2,{99,42,0}}, +/* 10188 */ {(13<<2)|2,{99,42,0}}, +/* 10189 */ {(13<<2)|2,{99,42,0}}, +/* 10190 */ {(13<<2)|2,{99,42,0}}, +/* 10191 */ {(13<<2)|2,{99,42,0}}, +/* 10192 */ {(13<<2)|2,{99,44,0}}, +/* 10193 */ {(13<<2)|2,{99,44,0}}, +/* 10194 */ {(13<<2)|2,{99,44,0}}, +/* 10195 */ {(13<<2)|2,{99,44,0}}, +/* 10196 */ {(13<<2)|2,{99,44,0}}, +/* 10197 */ {(13<<2)|2,{99,44,0}}, +/* 10198 */ {(13<<2)|2,{99,44,0}}, +/* 10199 */ {(13<<2)|2,{99,44,0}}, +/* 10200 */ {(13<<2)|2,{99,59,0}}, +/* 10201 */ {(13<<2)|2,{99,59,0}}, +/* 10202 */ {(13<<2)|2,{99,59,0}}, +/* 10203 */ {(13<<2)|2,{99,59,0}}, +/* 10204 */ {(13<<2)|2,{99,59,0}}, +/* 10205 */ {(13<<2)|2,{99,59,0}}, +/* 10206 */ {(13<<2)|2,{99,59,0}}, +/* 10207 */ {(13<<2)|2,{99,59,0}}, +/* 10208 */ {(13<<2)|2,{99,88,0}}, +/* 10209 */ {(13<<2)|2,{99,88,0}}, +/* 10210 */ {(13<<2)|2,{99,88,0}}, +/* 10211 */ {(13<<2)|2,{99,88,0}}, +/* 10212 */ {(13<<2)|2,{99,88,0}}, +/* 10213 */ {(13<<2)|2,{99,88,0}}, +/* 10214 */ {(13<<2)|2,{99,88,0}}, +/* 10215 */ {(13<<2)|2,{99,88,0}}, +/* 10216 */ {(13<<2)|2,{99,90,0}}, +/* 10217 */ {(13<<2)|2,{99,90,0}}, +/* 10218 */ {(13<<2)|2,{99,90,0}}, +/* 10219 */ {(13<<2)|2,{99,90,0}}, +/* 10220 */ {(13<<2)|2,{99,90,0}}, +/* 10221 */ {(13<<2)|2,{99,90,0}}, +/* 10222 */ {(13<<2)|2,{99,90,0}}, +/* 10223 */ {(13<<2)|2,{99,90,0}}, +/* 10224 */ {(15<<2)|2,{99,33,0}}, +/* 10225 */ {(15<<2)|2,{99,33,0}}, +/* 10226 */ {(15<<2)|2,{99,34,0}}, +/* 10227 */ {(15<<2)|2,{99,34,0}}, +/* 10228 */ {(15<<2)|2,{99,40,0}}, +/* 10229 */ {(15<<2)|2,{99,40,0}}, +/* 10230 */ {(15<<2)|2,{99,41,0}}, +/* 10231 */ {(15<<2)|2,{99,41,0}}, +/* 10232 */ {(15<<2)|2,{99,63,0}}, +/* 10233 */ {(15<<2)|2,{99,63,0}}, +/* 10234 */ {(16<<2)|2,{99,39,0}}, +/* 10235 */ {(16<<2)|2,{99,43,0}}, +/* 10236 */ {(16<<2)|2,{99,124,0}}, +/* 10237 */ {(5<<2)|1,{99,0,0}}, +/* 10238 */ {(5<<2)|1,{99,0,0}}, +/* 10239 */ {(5<<2)|1,{99,0,0}}, +/* 10240 */ {(15<<2)|3,{101,48,48}}, +/* 10241 */ {(15<<2)|3,{101,48,48}}, +/* 10242 */ {(15<<2)|3,{101,48,49}}, +/* 10243 */ {(15<<2)|3,{101,48,49}}, +/* 10244 */ {(15<<2)|3,{101,48,50}}, +/* 10245 */ {(15<<2)|3,{101,48,50}}, +/* 10246 */ {(15<<2)|3,{101,48,97}}, +/* 10247 */ {(15<<2)|3,{101,48,97}}, +/* 10248 */ {(15<<2)|3,{101,48,99}}, +/* 10249 */ {(15<<2)|3,{101,48,99}}, +/* 10250 */ {(15<<2)|3,{101,48,101}}, +/* 10251 */ {(15<<2)|3,{101,48,101}}, +/* 10252 */ {(15<<2)|3,{101,48,105}}, +/* 10253 */ {(15<<2)|3,{101,48,105}}, +/* 10254 */ {(15<<2)|3,{101,48,111}}, +/* 10255 */ {(15<<2)|3,{101,48,111}}, +/* 10256 */ {(15<<2)|3,{101,48,115}}, +/* 10257 */ {(15<<2)|3,{101,48,115}}, +/* 10258 */ {(15<<2)|3,{101,48,116}}, +/* 10259 */ {(15<<2)|3,{101,48,116}}, +/* 10260 */ {(16<<2)|3,{101,48,32}}, +/* 10261 */ {(16<<2)|3,{101,48,37}}, +/* 10262 */ {(16<<2)|3,{101,48,45}}, +/* 10263 */ {(16<<2)|3,{101,48,46}}, +/* 10264 */ {(16<<2)|3,{101,48,47}}, +/* 10265 */ {(16<<2)|3,{101,48,51}}, +/* 10266 */ {(16<<2)|3,{101,48,52}}, +/* 10267 */ {(16<<2)|3,{101,48,53}}, +/* 10268 */ {(16<<2)|3,{101,48,54}}, +/* 10269 */ {(16<<2)|3,{101,48,55}}, +/* 10270 */ {(16<<2)|3,{101,48,56}}, +/* 10271 */ {(16<<2)|3,{101,48,57}}, +/* 10272 */ {(16<<2)|3,{101,48,61}}, +/* 10273 */ {(16<<2)|3,{101,48,65}}, +/* 10274 */ {(16<<2)|3,{101,48,95}}, +/* 10275 */ {(16<<2)|3,{101,48,98}}, +/* 10276 */ {(16<<2)|3,{101,48,100}}, +/* 10277 */ {(16<<2)|3,{101,48,102}}, +/* 10278 */ {(16<<2)|3,{101,48,103}}, +/* 10279 */ {(16<<2)|3,{101,48,104}}, +/* 10280 */ {(16<<2)|3,{101,48,108}}, +/* 10281 */ {(16<<2)|3,{101,48,109}}, +/* 10282 */ {(16<<2)|3,{101,48,110}}, +/* 10283 */ {(16<<2)|3,{101,48,112}}, +/* 10284 */ {(16<<2)|3,{101,48,114}}, +/* 10285 */ {(16<<2)|3,{101,48,117}}, +/* 10286 */ {(10<<2)|2,{101,48,0}}, +/* 10287 */ {(10<<2)|2,{101,48,0}}, +/* 10288 */ {(10<<2)|2,{101,48,0}}, +/* 10289 */ {(10<<2)|2,{101,48,0}}, +/* 10290 */ {(10<<2)|2,{101,48,0}}, +/* 10291 */ {(10<<2)|2,{101,48,0}}, +/* 10292 */ {(10<<2)|2,{101,48,0}}, +/* 10293 */ {(10<<2)|2,{101,48,0}}, +/* 10294 */ {(10<<2)|2,{101,48,0}}, +/* 10295 */ {(10<<2)|2,{101,48,0}}, +/* 10296 */ {(10<<2)|2,{101,48,0}}, +/* 10297 */ {(10<<2)|2,{101,48,0}}, +/* 10298 */ {(10<<2)|2,{101,48,0}}, +/* 10299 */ {(10<<2)|2,{101,48,0}}, +/* 10300 */ {(10<<2)|2,{101,48,0}}, +/* 10301 */ {(10<<2)|2,{101,48,0}}, +/* 10302 */ {(10<<2)|2,{101,48,0}}, +/* 10303 */ {(10<<2)|2,{101,48,0}}, +/* 10304 */ {(15<<2)|3,{101,49,48}}, +/* 10305 */ {(15<<2)|3,{101,49,48}}, +/* 10306 */ {(15<<2)|3,{101,49,49}}, +/* 10307 */ {(15<<2)|3,{101,49,49}}, +/* 10308 */ {(15<<2)|3,{101,49,50}}, +/* 10309 */ {(15<<2)|3,{101,49,50}}, +/* 10310 */ {(15<<2)|3,{101,49,97}}, +/* 10311 */ {(15<<2)|3,{101,49,97}}, +/* 10312 */ {(15<<2)|3,{101,49,99}}, +/* 10313 */ {(15<<2)|3,{101,49,99}}, +/* 10314 */ {(15<<2)|3,{101,49,101}}, +/* 10315 */ {(15<<2)|3,{101,49,101}}, +/* 10316 */ {(15<<2)|3,{101,49,105}}, +/* 10317 */ {(15<<2)|3,{101,49,105}}, +/* 10318 */ {(15<<2)|3,{101,49,111}}, +/* 10319 */ {(15<<2)|3,{101,49,111}}, +/* 10320 */ {(15<<2)|3,{101,49,115}}, +/* 10321 */ {(15<<2)|3,{101,49,115}}, +/* 10322 */ {(15<<2)|3,{101,49,116}}, +/* 10323 */ {(15<<2)|3,{101,49,116}}, +/* 10324 */ {(16<<2)|3,{101,49,32}}, +/* 10325 */ {(16<<2)|3,{101,49,37}}, +/* 10326 */ {(16<<2)|3,{101,49,45}}, +/* 10327 */ {(16<<2)|3,{101,49,46}}, +/* 10328 */ {(16<<2)|3,{101,49,47}}, +/* 10329 */ {(16<<2)|3,{101,49,51}}, +/* 10330 */ {(16<<2)|3,{101,49,52}}, +/* 10331 */ {(16<<2)|3,{101,49,53}}, +/* 10332 */ {(16<<2)|3,{101,49,54}}, +/* 10333 */ {(16<<2)|3,{101,49,55}}, +/* 10334 */ {(16<<2)|3,{101,49,56}}, +/* 10335 */ {(16<<2)|3,{101,49,57}}, +/* 10336 */ {(16<<2)|3,{101,49,61}}, +/* 10337 */ {(16<<2)|3,{101,49,65}}, +/* 10338 */ {(16<<2)|3,{101,49,95}}, +/* 10339 */ {(16<<2)|3,{101,49,98}}, +/* 10340 */ {(16<<2)|3,{101,49,100}}, +/* 10341 */ {(16<<2)|3,{101,49,102}}, +/* 10342 */ {(16<<2)|3,{101,49,103}}, +/* 10343 */ {(16<<2)|3,{101,49,104}}, +/* 10344 */ {(16<<2)|3,{101,49,108}}, +/* 10345 */ {(16<<2)|3,{101,49,109}}, +/* 10346 */ {(16<<2)|3,{101,49,110}}, +/* 10347 */ {(16<<2)|3,{101,49,112}}, +/* 10348 */ {(16<<2)|3,{101,49,114}}, +/* 10349 */ {(16<<2)|3,{101,49,117}}, +/* 10350 */ {(10<<2)|2,{101,49,0}}, +/* 10351 */ {(10<<2)|2,{101,49,0}}, +/* 10352 */ {(10<<2)|2,{101,49,0}}, +/* 10353 */ {(10<<2)|2,{101,49,0}}, +/* 10354 */ {(10<<2)|2,{101,49,0}}, +/* 10355 */ {(10<<2)|2,{101,49,0}}, +/* 10356 */ {(10<<2)|2,{101,49,0}}, +/* 10357 */ {(10<<2)|2,{101,49,0}}, +/* 10358 */ {(10<<2)|2,{101,49,0}}, +/* 10359 */ {(10<<2)|2,{101,49,0}}, +/* 10360 */ {(10<<2)|2,{101,49,0}}, +/* 10361 */ {(10<<2)|2,{101,49,0}}, +/* 10362 */ {(10<<2)|2,{101,49,0}}, +/* 10363 */ {(10<<2)|2,{101,49,0}}, +/* 10364 */ {(10<<2)|2,{101,49,0}}, +/* 10365 */ {(10<<2)|2,{101,49,0}}, +/* 10366 */ {(10<<2)|2,{101,49,0}}, +/* 10367 */ {(10<<2)|2,{101,49,0}}, +/* 10368 */ {(15<<2)|3,{101,50,48}}, +/* 10369 */ {(15<<2)|3,{101,50,48}}, +/* 10370 */ {(15<<2)|3,{101,50,49}}, +/* 10371 */ {(15<<2)|3,{101,50,49}}, +/* 10372 */ {(15<<2)|3,{101,50,50}}, +/* 10373 */ {(15<<2)|3,{101,50,50}}, +/* 10374 */ {(15<<2)|3,{101,50,97}}, +/* 10375 */ {(15<<2)|3,{101,50,97}}, +/* 10376 */ {(15<<2)|3,{101,50,99}}, +/* 10377 */ {(15<<2)|3,{101,50,99}}, +/* 10378 */ {(15<<2)|3,{101,50,101}}, +/* 10379 */ {(15<<2)|3,{101,50,101}}, +/* 10380 */ {(15<<2)|3,{101,50,105}}, +/* 10381 */ {(15<<2)|3,{101,50,105}}, +/* 10382 */ {(15<<2)|3,{101,50,111}}, +/* 10383 */ {(15<<2)|3,{101,50,111}}, +/* 10384 */ {(15<<2)|3,{101,50,115}}, +/* 10385 */ {(15<<2)|3,{101,50,115}}, +/* 10386 */ {(15<<2)|3,{101,50,116}}, +/* 10387 */ {(15<<2)|3,{101,50,116}}, +/* 10388 */ {(16<<2)|3,{101,50,32}}, +/* 10389 */ {(16<<2)|3,{101,50,37}}, +/* 10390 */ {(16<<2)|3,{101,50,45}}, +/* 10391 */ {(16<<2)|3,{101,50,46}}, +/* 10392 */ {(16<<2)|3,{101,50,47}}, +/* 10393 */ {(16<<2)|3,{101,50,51}}, +/* 10394 */ {(16<<2)|3,{101,50,52}}, +/* 10395 */ {(16<<2)|3,{101,50,53}}, +/* 10396 */ {(16<<2)|3,{101,50,54}}, +/* 10397 */ {(16<<2)|3,{101,50,55}}, +/* 10398 */ {(16<<2)|3,{101,50,56}}, +/* 10399 */ {(16<<2)|3,{101,50,57}}, +/* 10400 */ {(16<<2)|3,{101,50,61}}, +/* 10401 */ {(16<<2)|3,{101,50,65}}, +/* 10402 */ {(16<<2)|3,{101,50,95}}, +/* 10403 */ {(16<<2)|3,{101,50,98}}, +/* 10404 */ {(16<<2)|3,{101,50,100}}, +/* 10405 */ {(16<<2)|3,{101,50,102}}, +/* 10406 */ {(16<<2)|3,{101,50,103}}, +/* 10407 */ {(16<<2)|3,{101,50,104}}, +/* 10408 */ {(16<<2)|3,{101,50,108}}, +/* 10409 */ {(16<<2)|3,{101,50,109}}, +/* 10410 */ {(16<<2)|3,{101,50,110}}, +/* 10411 */ {(16<<2)|3,{101,50,112}}, +/* 10412 */ {(16<<2)|3,{101,50,114}}, +/* 10413 */ {(16<<2)|3,{101,50,117}}, +/* 10414 */ {(10<<2)|2,{101,50,0}}, +/* 10415 */ {(10<<2)|2,{101,50,0}}, +/* 10416 */ {(10<<2)|2,{101,50,0}}, +/* 10417 */ {(10<<2)|2,{101,50,0}}, +/* 10418 */ {(10<<2)|2,{101,50,0}}, +/* 10419 */ {(10<<2)|2,{101,50,0}}, +/* 10420 */ {(10<<2)|2,{101,50,0}}, +/* 10421 */ {(10<<2)|2,{101,50,0}}, +/* 10422 */ {(10<<2)|2,{101,50,0}}, +/* 10423 */ {(10<<2)|2,{101,50,0}}, +/* 10424 */ {(10<<2)|2,{101,50,0}}, +/* 10425 */ {(10<<2)|2,{101,50,0}}, +/* 10426 */ {(10<<2)|2,{101,50,0}}, +/* 10427 */ {(10<<2)|2,{101,50,0}}, +/* 10428 */ {(10<<2)|2,{101,50,0}}, +/* 10429 */ {(10<<2)|2,{101,50,0}}, +/* 10430 */ {(10<<2)|2,{101,50,0}}, +/* 10431 */ {(10<<2)|2,{101,50,0}}, +/* 10432 */ {(15<<2)|3,{101,97,48}}, +/* 10433 */ {(15<<2)|3,{101,97,48}}, +/* 10434 */ {(15<<2)|3,{101,97,49}}, +/* 10435 */ {(15<<2)|3,{101,97,49}}, +/* 10436 */ {(15<<2)|3,{101,97,50}}, +/* 10437 */ {(15<<2)|3,{101,97,50}}, +/* 10438 */ {(15<<2)|3,{101,97,97}}, +/* 10439 */ {(15<<2)|3,{101,97,97}}, +/* 10440 */ {(15<<2)|3,{101,97,99}}, +/* 10441 */ {(15<<2)|3,{101,97,99}}, +/* 10442 */ {(15<<2)|3,{101,97,101}}, +/* 10443 */ {(15<<2)|3,{101,97,101}}, +/* 10444 */ {(15<<2)|3,{101,97,105}}, +/* 10445 */ {(15<<2)|3,{101,97,105}}, +/* 10446 */ {(15<<2)|3,{101,97,111}}, +/* 10447 */ {(15<<2)|3,{101,97,111}}, +/* 10448 */ {(15<<2)|3,{101,97,115}}, +/* 10449 */ {(15<<2)|3,{101,97,115}}, +/* 10450 */ {(15<<2)|3,{101,97,116}}, +/* 10451 */ {(15<<2)|3,{101,97,116}}, +/* 10452 */ {(16<<2)|3,{101,97,32}}, +/* 10453 */ {(16<<2)|3,{101,97,37}}, +/* 10454 */ {(16<<2)|3,{101,97,45}}, +/* 10455 */ {(16<<2)|3,{101,97,46}}, +/* 10456 */ {(16<<2)|3,{101,97,47}}, +/* 10457 */ {(16<<2)|3,{101,97,51}}, +/* 10458 */ {(16<<2)|3,{101,97,52}}, +/* 10459 */ {(16<<2)|3,{101,97,53}}, +/* 10460 */ {(16<<2)|3,{101,97,54}}, +/* 10461 */ {(16<<2)|3,{101,97,55}}, +/* 10462 */ {(16<<2)|3,{101,97,56}}, +/* 10463 */ {(16<<2)|3,{101,97,57}}, +/* 10464 */ {(16<<2)|3,{101,97,61}}, +/* 10465 */ {(16<<2)|3,{101,97,65}}, +/* 10466 */ {(16<<2)|3,{101,97,95}}, +/* 10467 */ {(16<<2)|3,{101,97,98}}, +/* 10468 */ {(16<<2)|3,{101,97,100}}, +/* 10469 */ {(16<<2)|3,{101,97,102}}, +/* 10470 */ {(16<<2)|3,{101,97,103}}, +/* 10471 */ {(16<<2)|3,{101,97,104}}, +/* 10472 */ {(16<<2)|3,{101,97,108}}, +/* 10473 */ {(16<<2)|3,{101,97,109}}, +/* 10474 */ {(16<<2)|3,{101,97,110}}, +/* 10475 */ {(16<<2)|3,{101,97,112}}, +/* 10476 */ {(16<<2)|3,{101,97,114}}, +/* 10477 */ {(16<<2)|3,{101,97,117}}, +/* 10478 */ {(10<<2)|2,{101,97,0}}, +/* 10479 */ {(10<<2)|2,{101,97,0}}, +/* 10480 */ {(10<<2)|2,{101,97,0}}, +/* 10481 */ {(10<<2)|2,{101,97,0}}, +/* 10482 */ {(10<<2)|2,{101,97,0}}, +/* 10483 */ {(10<<2)|2,{101,97,0}}, +/* 10484 */ {(10<<2)|2,{101,97,0}}, +/* 10485 */ {(10<<2)|2,{101,97,0}}, +/* 10486 */ {(10<<2)|2,{101,97,0}}, +/* 10487 */ {(10<<2)|2,{101,97,0}}, +/* 10488 */ {(10<<2)|2,{101,97,0}}, +/* 10489 */ {(10<<2)|2,{101,97,0}}, +/* 10490 */ {(10<<2)|2,{101,97,0}}, +/* 10491 */ {(10<<2)|2,{101,97,0}}, +/* 10492 */ {(10<<2)|2,{101,97,0}}, +/* 10493 */ {(10<<2)|2,{101,97,0}}, +/* 10494 */ {(10<<2)|2,{101,97,0}}, +/* 10495 */ {(10<<2)|2,{101,97,0}}, +/* 10496 */ {(15<<2)|3,{101,99,48}}, +/* 10497 */ {(15<<2)|3,{101,99,48}}, +/* 10498 */ {(15<<2)|3,{101,99,49}}, +/* 10499 */ {(15<<2)|3,{101,99,49}}, +/* 10500 */ {(15<<2)|3,{101,99,50}}, +/* 10501 */ {(15<<2)|3,{101,99,50}}, +/* 10502 */ {(15<<2)|3,{101,99,97}}, +/* 10503 */ {(15<<2)|3,{101,99,97}}, +/* 10504 */ {(15<<2)|3,{101,99,99}}, +/* 10505 */ {(15<<2)|3,{101,99,99}}, +/* 10506 */ {(15<<2)|3,{101,99,101}}, +/* 10507 */ {(15<<2)|3,{101,99,101}}, +/* 10508 */ {(15<<2)|3,{101,99,105}}, +/* 10509 */ {(15<<2)|3,{101,99,105}}, +/* 10510 */ {(15<<2)|3,{101,99,111}}, +/* 10511 */ {(15<<2)|3,{101,99,111}}, +/* 10512 */ {(15<<2)|3,{101,99,115}}, +/* 10513 */ {(15<<2)|3,{101,99,115}}, +/* 10514 */ {(15<<2)|3,{101,99,116}}, +/* 10515 */ {(15<<2)|3,{101,99,116}}, +/* 10516 */ {(16<<2)|3,{101,99,32}}, +/* 10517 */ {(16<<2)|3,{101,99,37}}, +/* 10518 */ {(16<<2)|3,{101,99,45}}, +/* 10519 */ {(16<<2)|3,{101,99,46}}, +/* 10520 */ {(16<<2)|3,{101,99,47}}, +/* 10521 */ {(16<<2)|3,{101,99,51}}, +/* 10522 */ {(16<<2)|3,{101,99,52}}, +/* 10523 */ {(16<<2)|3,{101,99,53}}, +/* 10524 */ {(16<<2)|3,{101,99,54}}, +/* 10525 */ {(16<<2)|3,{101,99,55}}, +/* 10526 */ {(16<<2)|3,{101,99,56}}, +/* 10527 */ {(16<<2)|3,{101,99,57}}, +/* 10528 */ {(16<<2)|3,{101,99,61}}, +/* 10529 */ {(16<<2)|3,{101,99,65}}, +/* 10530 */ {(16<<2)|3,{101,99,95}}, +/* 10531 */ {(16<<2)|3,{101,99,98}}, +/* 10532 */ {(16<<2)|3,{101,99,100}}, +/* 10533 */ {(16<<2)|3,{101,99,102}}, +/* 10534 */ {(16<<2)|3,{101,99,103}}, +/* 10535 */ {(16<<2)|3,{101,99,104}}, +/* 10536 */ {(16<<2)|3,{101,99,108}}, +/* 10537 */ {(16<<2)|3,{101,99,109}}, +/* 10538 */ {(16<<2)|3,{101,99,110}}, +/* 10539 */ {(16<<2)|3,{101,99,112}}, +/* 10540 */ {(16<<2)|3,{101,99,114}}, +/* 10541 */ {(16<<2)|3,{101,99,117}}, +/* 10542 */ {(10<<2)|2,{101,99,0}}, +/* 10543 */ {(10<<2)|2,{101,99,0}}, +/* 10544 */ {(10<<2)|2,{101,99,0}}, +/* 10545 */ {(10<<2)|2,{101,99,0}}, +/* 10546 */ {(10<<2)|2,{101,99,0}}, +/* 10547 */ {(10<<2)|2,{101,99,0}}, +/* 10548 */ {(10<<2)|2,{101,99,0}}, +/* 10549 */ {(10<<2)|2,{101,99,0}}, +/* 10550 */ {(10<<2)|2,{101,99,0}}, +/* 10551 */ {(10<<2)|2,{101,99,0}}, +/* 10552 */ {(10<<2)|2,{101,99,0}}, +/* 10553 */ {(10<<2)|2,{101,99,0}}, +/* 10554 */ {(10<<2)|2,{101,99,0}}, +/* 10555 */ {(10<<2)|2,{101,99,0}}, +/* 10556 */ {(10<<2)|2,{101,99,0}}, +/* 10557 */ {(10<<2)|2,{101,99,0}}, +/* 10558 */ {(10<<2)|2,{101,99,0}}, +/* 10559 */ {(10<<2)|2,{101,99,0}}, +/* 10560 */ {(15<<2)|3,{101,101,48}}, +/* 10561 */ {(15<<2)|3,{101,101,48}}, +/* 10562 */ {(15<<2)|3,{101,101,49}}, +/* 10563 */ {(15<<2)|3,{101,101,49}}, +/* 10564 */ {(15<<2)|3,{101,101,50}}, +/* 10565 */ {(15<<2)|3,{101,101,50}}, +/* 10566 */ {(15<<2)|3,{101,101,97}}, +/* 10567 */ {(15<<2)|3,{101,101,97}}, +/* 10568 */ {(15<<2)|3,{101,101,99}}, +/* 10569 */ {(15<<2)|3,{101,101,99}}, +/* 10570 */ {(15<<2)|3,{101,101,101}}, +/* 10571 */ {(15<<2)|3,{101,101,101}}, +/* 10572 */ {(15<<2)|3,{101,101,105}}, +/* 10573 */ {(15<<2)|3,{101,101,105}}, +/* 10574 */ {(15<<2)|3,{101,101,111}}, +/* 10575 */ {(15<<2)|3,{101,101,111}}, +/* 10576 */ {(15<<2)|3,{101,101,115}}, +/* 10577 */ {(15<<2)|3,{101,101,115}}, +/* 10578 */ {(15<<2)|3,{101,101,116}}, +/* 10579 */ {(15<<2)|3,{101,101,116}}, +/* 10580 */ {(16<<2)|3,{101,101,32}}, +/* 10581 */ {(16<<2)|3,{101,101,37}}, +/* 10582 */ {(16<<2)|3,{101,101,45}}, +/* 10583 */ {(16<<2)|3,{101,101,46}}, +/* 10584 */ {(16<<2)|3,{101,101,47}}, +/* 10585 */ {(16<<2)|3,{101,101,51}}, +/* 10586 */ {(16<<2)|3,{101,101,52}}, +/* 10587 */ {(16<<2)|3,{101,101,53}}, +/* 10588 */ {(16<<2)|3,{101,101,54}}, +/* 10589 */ {(16<<2)|3,{101,101,55}}, +/* 10590 */ {(16<<2)|3,{101,101,56}}, +/* 10591 */ {(16<<2)|3,{101,101,57}}, +/* 10592 */ {(16<<2)|3,{101,101,61}}, +/* 10593 */ {(16<<2)|3,{101,101,65}}, +/* 10594 */ {(16<<2)|3,{101,101,95}}, +/* 10595 */ {(16<<2)|3,{101,101,98}}, +/* 10596 */ {(16<<2)|3,{101,101,100}}, +/* 10597 */ {(16<<2)|3,{101,101,102}}, +/* 10598 */ {(16<<2)|3,{101,101,103}}, +/* 10599 */ {(16<<2)|3,{101,101,104}}, +/* 10600 */ {(16<<2)|3,{101,101,108}}, +/* 10601 */ {(16<<2)|3,{101,101,109}}, +/* 10602 */ {(16<<2)|3,{101,101,110}}, +/* 10603 */ {(16<<2)|3,{101,101,112}}, +/* 10604 */ {(16<<2)|3,{101,101,114}}, +/* 10605 */ {(16<<2)|3,{101,101,117}}, +/* 10606 */ {(10<<2)|2,{101,101,0}}, +/* 10607 */ {(10<<2)|2,{101,101,0}}, +/* 10608 */ {(10<<2)|2,{101,101,0}}, +/* 10609 */ {(10<<2)|2,{101,101,0}}, +/* 10610 */ {(10<<2)|2,{101,101,0}}, +/* 10611 */ {(10<<2)|2,{101,101,0}}, +/* 10612 */ {(10<<2)|2,{101,101,0}}, +/* 10613 */ {(10<<2)|2,{101,101,0}}, +/* 10614 */ {(10<<2)|2,{101,101,0}}, +/* 10615 */ {(10<<2)|2,{101,101,0}}, +/* 10616 */ {(10<<2)|2,{101,101,0}}, +/* 10617 */ {(10<<2)|2,{101,101,0}}, +/* 10618 */ {(10<<2)|2,{101,101,0}}, +/* 10619 */ {(10<<2)|2,{101,101,0}}, +/* 10620 */ {(10<<2)|2,{101,101,0}}, +/* 10621 */ {(10<<2)|2,{101,101,0}}, +/* 10622 */ {(10<<2)|2,{101,101,0}}, +/* 10623 */ {(10<<2)|2,{101,101,0}}, +/* 10624 */ {(15<<2)|3,{101,105,48}}, +/* 10625 */ {(15<<2)|3,{101,105,48}}, +/* 10626 */ {(15<<2)|3,{101,105,49}}, +/* 10627 */ {(15<<2)|3,{101,105,49}}, +/* 10628 */ {(15<<2)|3,{101,105,50}}, +/* 10629 */ {(15<<2)|3,{101,105,50}}, +/* 10630 */ {(15<<2)|3,{101,105,97}}, +/* 10631 */ {(15<<2)|3,{101,105,97}}, +/* 10632 */ {(15<<2)|3,{101,105,99}}, +/* 10633 */ {(15<<2)|3,{101,105,99}}, +/* 10634 */ {(15<<2)|3,{101,105,101}}, +/* 10635 */ {(15<<2)|3,{101,105,101}}, +/* 10636 */ {(15<<2)|3,{101,105,105}}, +/* 10637 */ {(15<<2)|3,{101,105,105}}, +/* 10638 */ {(15<<2)|3,{101,105,111}}, +/* 10639 */ {(15<<2)|3,{101,105,111}}, +/* 10640 */ {(15<<2)|3,{101,105,115}}, +/* 10641 */ {(15<<2)|3,{101,105,115}}, +/* 10642 */ {(15<<2)|3,{101,105,116}}, +/* 10643 */ {(15<<2)|3,{101,105,116}}, +/* 10644 */ {(16<<2)|3,{101,105,32}}, +/* 10645 */ {(16<<2)|3,{101,105,37}}, +/* 10646 */ {(16<<2)|3,{101,105,45}}, +/* 10647 */ {(16<<2)|3,{101,105,46}}, +/* 10648 */ {(16<<2)|3,{101,105,47}}, +/* 10649 */ {(16<<2)|3,{101,105,51}}, +/* 10650 */ {(16<<2)|3,{101,105,52}}, +/* 10651 */ {(16<<2)|3,{101,105,53}}, +/* 10652 */ {(16<<2)|3,{101,105,54}}, +/* 10653 */ {(16<<2)|3,{101,105,55}}, +/* 10654 */ {(16<<2)|3,{101,105,56}}, +/* 10655 */ {(16<<2)|3,{101,105,57}}, +/* 10656 */ {(16<<2)|3,{101,105,61}}, +/* 10657 */ {(16<<2)|3,{101,105,65}}, +/* 10658 */ {(16<<2)|3,{101,105,95}}, +/* 10659 */ {(16<<2)|3,{101,105,98}}, +/* 10660 */ {(16<<2)|3,{101,105,100}}, +/* 10661 */ {(16<<2)|3,{101,105,102}}, +/* 10662 */ {(16<<2)|3,{101,105,103}}, +/* 10663 */ {(16<<2)|3,{101,105,104}}, +/* 10664 */ {(16<<2)|3,{101,105,108}}, +/* 10665 */ {(16<<2)|3,{101,105,109}}, +/* 10666 */ {(16<<2)|3,{101,105,110}}, +/* 10667 */ {(16<<2)|3,{101,105,112}}, +/* 10668 */ {(16<<2)|3,{101,105,114}}, +/* 10669 */ {(16<<2)|3,{101,105,117}}, +/* 10670 */ {(10<<2)|2,{101,105,0}}, +/* 10671 */ {(10<<2)|2,{101,105,0}}, +/* 10672 */ {(10<<2)|2,{101,105,0}}, +/* 10673 */ {(10<<2)|2,{101,105,0}}, +/* 10674 */ {(10<<2)|2,{101,105,0}}, +/* 10675 */ {(10<<2)|2,{101,105,0}}, +/* 10676 */ {(10<<2)|2,{101,105,0}}, +/* 10677 */ {(10<<2)|2,{101,105,0}}, +/* 10678 */ {(10<<2)|2,{101,105,0}}, +/* 10679 */ {(10<<2)|2,{101,105,0}}, +/* 10680 */ {(10<<2)|2,{101,105,0}}, +/* 10681 */ {(10<<2)|2,{101,105,0}}, +/* 10682 */ {(10<<2)|2,{101,105,0}}, +/* 10683 */ {(10<<2)|2,{101,105,0}}, +/* 10684 */ {(10<<2)|2,{101,105,0}}, +/* 10685 */ {(10<<2)|2,{101,105,0}}, +/* 10686 */ {(10<<2)|2,{101,105,0}}, +/* 10687 */ {(10<<2)|2,{101,105,0}}, +/* 10688 */ {(15<<2)|3,{101,111,48}}, +/* 10689 */ {(15<<2)|3,{101,111,48}}, +/* 10690 */ {(15<<2)|3,{101,111,49}}, +/* 10691 */ {(15<<2)|3,{101,111,49}}, +/* 10692 */ {(15<<2)|3,{101,111,50}}, +/* 10693 */ {(15<<2)|3,{101,111,50}}, +/* 10694 */ {(15<<2)|3,{101,111,97}}, +/* 10695 */ {(15<<2)|3,{101,111,97}}, +/* 10696 */ {(15<<2)|3,{101,111,99}}, +/* 10697 */ {(15<<2)|3,{101,111,99}}, +/* 10698 */ {(15<<2)|3,{101,111,101}}, +/* 10699 */ {(15<<2)|3,{101,111,101}}, +/* 10700 */ {(15<<2)|3,{101,111,105}}, +/* 10701 */ {(15<<2)|3,{101,111,105}}, +/* 10702 */ {(15<<2)|3,{101,111,111}}, +/* 10703 */ {(15<<2)|3,{101,111,111}}, +/* 10704 */ {(15<<2)|3,{101,111,115}}, +/* 10705 */ {(15<<2)|3,{101,111,115}}, +/* 10706 */ {(15<<2)|3,{101,111,116}}, +/* 10707 */ {(15<<2)|3,{101,111,116}}, +/* 10708 */ {(16<<2)|3,{101,111,32}}, +/* 10709 */ {(16<<2)|3,{101,111,37}}, +/* 10710 */ {(16<<2)|3,{101,111,45}}, +/* 10711 */ {(16<<2)|3,{101,111,46}}, +/* 10712 */ {(16<<2)|3,{101,111,47}}, +/* 10713 */ {(16<<2)|3,{101,111,51}}, +/* 10714 */ {(16<<2)|3,{101,111,52}}, +/* 10715 */ {(16<<2)|3,{101,111,53}}, +/* 10716 */ {(16<<2)|3,{101,111,54}}, +/* 10717 */ {(16<<2)|3,{101,111,55}}, +/* 10718 */ {(16<<2)|3,{101,111,56}}, +/* 10719 */ {(16<<2)|3,{101,111,57}}, +/* 10720 */ {(16<<2)|3,{101,111,61}}, +/* 10721 */ {(16<<2)|3,{101,111,65}}, +/* 10722 */ {(16<<2)|3,{101,111,95}}, +/* 10723 */ {(16<<2)|3,{101,111,98}}, +/* 10724 */ {(16<<2)|3,{101,111,100}}, +/* 10725 */ {(16<<2)|3,{101,111,102}}, +/* 10726 */ {(16<<2)|3,{101,111,103}}, +/* 10727 */ {(16<<2)|3,{101,111,104}}, +/* 10728 */ {(16<<2)|3,{101,111,108}}, +/* 10729 */ {(16<<2)|3,{101,111,109}}, +/* 10730 */ {(16<<2)|3,{101,111,110}}, +/* 10731 */ {(16<<2)|3,{101,111,112}}, +/* 10732 */ {(16<<2)|3,{101,111,114}}, +/* 10733 */ {(16<<2)|3,{101,111,117}}, +/* 10734 */ {(10<<2)|2,{101,111,0}}, +/* 10735 */ {(10<<2)|2,{101,111,0}}, +/* 10736 */ {(10<<2)|2,{101,111,0}}, +/* 10737 */ {(10<<2)|2,{101,111,0}}, +/* 10738 */ {(10<<2)|2,{101,111,0}}, +/* 10739 */ {(10<<2)|2,{101,111,0}}, +/* 10740 */ {(10<<2)|2,{101,111,0}}, +/* 10741 */ {(10<<2)|2,{101,111,0}}, +/* 10742 */ {(10<<2)|2,{101,111,0}}, +/* 10743 */ {(10<<2)|2,{101,111,0}}, +/* 10744 */ {(10<<2)|2,{101,111,0}}, +/* 10745 */ {(10<<2)|2,{101,111,0}}, +/* 10746 */ {(10<<2)|2,{101,111,0}}, +/* 10747 */ {(10<<2)|2,{101,111,0}}, +/* 10748 */ {(10<<2)|2,{101,111,0}}, +/* 10749 */ {(10<<2)|2,{101,111,0}}, +/* 10750 */ {(10<<2)|2,{101,111,0}}, +/* 10751 */ {(10<<2)|2,{101,111,0}}, +/* 10752 */ {(15<<2)|3,{101,115,48}}, +/* 10753 */ {(15<<2)|3,{101,115,48}}, +/* 10754 */ {(15<<2)|3,{101,115,49}}, +/* 10755 */ {(15<<2)|3,{101,115,49}}, +/* 10756 */ {(15<<2)|3,{101,115,50}}, +/* 10757 */ {(15<<2)|3,{101,115,50}}, +/* 10758 */ {(15<<2)|3,{101,115,97}}, +/* 10759 */ {(15<<2)|3,{101,115,97}}, +/* 10760 */ {(15<<2)|3,{101,115,99}}, +/* 10761 */ {(15<<2)|3,{101,115,99}}, +/* 10762 */ {(15<<2)|3,{101,115,101}}, +/* 10763 */ {(15<<2)|3,{101,115,101}}, +/* 10764 */ {(15<<2)|3,{101,115,105}}, +/* 10765 */ {(15<<2)|3,{101,115,105}}, +/* 10766 */ {(15<<2)|3,{101,115,111}}, +/* 10767 */ {(15<<2)|3,{101,115,111}}, +/* 10768 */ {(15<<2)|3,{101,115,115}}, +/* 10769 */ {(15<<2)|3,{101,115,115}}, +/* 10770 */ {(15<<2)|3,{101,115,116}}, +/* 10771 */ {(15<<2)|3,{101,115,116}}, +/* 10772 */ {(16<<2)|3,{101,115,32}}, +/* 10773 */ {(16<<2)|3,{101,115,37}}, +/* 10774 */ {(16<<2)|3,{101,115,45}}, +/* 10775 */ {(16<<2)|3,{101,115,46}}, +/* 10776 */ {(16<<2)|3,{101,115,47}}, +/* 10777 */ {(16<<2)|3,{101,115,51}}, +/* 10778 */ {(16<<2)|3,{101,115,52}}, +/* 10779 */ {(16<<2)|3,{101,115,53}}, +/* 10780 */ {(16<<2)|3,{101,115,54}}, +/* 10781 */ {(16<<2)|3,{101,115,55}}, +/* 10782 */ {(16<<2)|3,{101,115,56}}, +/* 10783 */ {(16<<2)|3,{101,115,57}}, +/* 10784 */ {(16<<2)|3,{101,115,61}}, +/* 10785 */ {(16<<2)|3,{101,115,65}}, +/* 10786 */ {(16<<2)|3,{101,115,95}}, +/* 10787 */ {(16<<2)|3,{101,115,98}}, +/* 10788 */ {(16<<2)|3,{101,115,100}}, +/* 10789 */ {(16<<2)|3,{101,115,102}}, +/* 10790 */ {(16<<2)|3,{101,115,103}}, +/* 10791 */ {(16<<2)|3,{101,115,104}}, +/* 10792 */ {(16<<2)|3,{101,115,108}}, +/* 10793 */ {(16<<2)|3,{101,115,109}}, +/* 10794 */ {(16<<2)|3,{101,115,110}}, +/* 10795 */ {(16<<2)|3,{101,115,112}}, +/* 10796 */ {(16<<2)|3,{101,115,114}}, +/* 10797 */ {(16<<2)|3,{101,115,117}}, +/* 10798 */ {(10<<2)|2,{101,115,0}}, +/* 10799 */ {(10<<2)|2,{101,115,0}}, +/* 10800 */ {(10<<2)|2,{101,115,0}}, +/* 10801 */ {(10<<2)|2,{101,115,0}}, +/* 10802 */ {(10<<2)|2,{101,115,0}}, +/* 10803 */ {(10<<2)|2,{101,115,0}}, +/* 10804 */ {(10<<2)|2,{101,115,0}}, +/* 10805 */ {(10<<2)|2,{101,115,0}}, +/* 10806 */ {(10<<2)|2,{101,115,0}}, +/* 10807 */ {(10<<2)|2,{101,115,0}}, +/* 10808 */ {(10<<2)|2,{101,115,0}}, +/* 10809 */ {(10<<2)|2,{101,115,0}}, +/* 10810 */ {(10<<2)|2,{101,115,0}}, +/* 10811 */ {(10<<2)|2,{101,115,0}}, +/* 10812 */ {(10<<2)|2,{101,115,0}}, +/* 10813 */ {(10<<2)|2,{101,115,0}}, +/* 10814 */ {(10<<2)|2,{101,115,0}}, +/* 10815 */ {(10<<2)|2,{101,115,0}}, +/* 10816 */ {(15<<2)|3,{101,116,48}}, +/* 10817 */ {(15<<2)|3,{101,116,48}}, +/* 10818 */ {(15<<2)|3,{101,116,49}}, +/* 10819 */ {(15<<2)|3,{101,116,49}}, +/* 10820 */ {(15<<2)|3,{101,116,50}}, +/* 10821 */ {(15<<2)|3,{101,116,50}}, +/* 10822 */ {(15<<2)|3,{101,116,97}}, +/* 10823 */ {(15<<2)|3,{101,116,97}}, +/* 10824 */ {(15<<2)|3,{101,116,99}}, +/* 10825 */ {(15<<2)|3,{101,116,99}}, +/* 10826 */ {(15<<2)|3,{101,116,101}}, +/* 10827 */ {(15<<2)|3,{101,116,101}}, +/* 10828 */ {(15<<2)|3,{101,116,105}}, +/* 10829 */ {(15<<2)|3,{101,116,105}}, +/* 10830 */ {(15<<2)|3,{101,116,111}}, +/* 10831 */ {(15<<2)|3,{101,116,111}}, +/* 10832 */ {(15<<2)|3,{101,116,115}}, +/* 10833 */ {(15<<2)|3,{101,116,115}}, +/* 10834 */ {(15<<2)|3,{101,116,116}}, +/* 10835 */ {(15<<2)|3,{101,116,116}}, +/* 10836 */ {(16<<2)|3,{101,116,32}}, +/* 10837 */ {(16<<2)|3,{101,116,37}}, +/* 10838 */ {(16<<2)|3,{101,116,45}}, +/* 10839 */ {(16<<2)|3,{101,116,46}}, +/* 10840 */ {(16<<2)|3,{101,116,47}}, +/* 10841 */ {(16<<2)|3,{101,116,51}}, +/* 10842 */ {(16<<2)|3,{101,116,52}}, +/* 10843 */ {(16<<2)|3,{101,116,53}}, +/* 10844 */ {(16<<2)|3,{101,116,54}}, +/* 10845 */ {(16<<2)|3,{101,116,55}}, +/* 10846 */ {(16<<2)|3,{101,116,56}}, +/* 10847 */ {(16<<2)|3,{101,116,57}}, +/* 10848 */ {(16<<2)|3,{101,116,61}}, +/* 10849 */ {(16<<2)|3,{101,116,65}}, +/* 10850 */ {(16<<2)|3,{101,116,95}}, +/* 10851 */ {(16<<2)|3,{101,116,98}}, +/* 10852 */ {(16<<2)|3,{101,116,100}}, +/* 10853 */ {(16<<2)|3,{101,116,102}}, +/* 10854 */ {(16<<2)|3,{101,116,103}}, +/* 10855 */ {(16<<2)|3,{101,116,104}}, +/* 10856 */ {(16<<2)|3,{101,116,108}}, +/* 10857 */ {(16<<2)|3,{101,116,109}}, +/* 10858 */ {(16<<2)|3,{101,116,110}}, +/* 10859 */ {(16<<2)|3,{101,116,112}}, +/* 10860 */ {(16<<2)|3,{101,116,114}}, +/* 10861 */ {(16<<2)|3,{101,116,117}}, +/* 10862 */ {(10<<2)|2,{101,116,0}}, +/* 10863 */ {(10<<2)|2,{101,116,0}}, +/* 10864 */ {(10<<2)|2,{101,116,0}}, +/* 10865 */ {(10<<2)|2,{101,116,0}}, +/* 10866 */ {(10<<2)|2,{101,116,0}}, +/* 10867 */ {(10<<2)|2,{101,116,0}}, +/* 10868 */ {(10<<2)|2,{101,116,0}}, +/* 10869 */ {(10<<2)|2,{101,116,0}}, +/* 10870 */ {(10<<2)|2,{101,116,0}}, +/* 10871 */ {(10<<2)|2,{101,116,0}}, +/* 10872 */ {(10<<2)|2,{101,116,0}}, +/* 10873 */ {(10<<2)|2,{101,116,0}}, +/* 10874 */ {(10<<2)|2,{101,116,0}}, +/* 10875 */ {(10<<2)|2,{101,116,0}}, +/* 10876 */ {(10<<2)|2,{101,116,0}}, +/* 10877 */ {(10<<2)|2,{101,116,0}}, +/* 10878 */ {(10<<2)|2,{101,116,0}}, +/* 10879 */ {(10<<2)|2,{101,116,0}}, +/* 10880 */ {(16<<2)|3,{101,32,48}}, +/* 10881 */ {(16<<2)|3,{101,32,49}}, +/* 10882 */ {(16<<2)|3,{101,32,50}}, +/* 10883 */ {(16<<2)|3,{101,32,97}}, +/* 10884 */ {(16<<2)|3,{101,32,99}}, +/* 10885 */ {(16<<2)|3,{101,32,101}}, +/* 10886 */ {(16<<2)|3,{101,32,105}}, +/* 10887 */ {(16<<2)|3,{101,32,111}}, +/* 10888 */ {(16<<2)|3,{101,32,115}}, +/* 10889 */ {(16<<2)|3,{101,32,116}}, +/* 10890 */ {(11<<2)|2,{101,32,0}}, +/* 10891 */ {(11<<2)|2,{101,32,0}}, +/* 10892 */ {(11<<2)|2,{101,32,0}}, +/* 10893 */ {(11<<2)|2,{101,32,0}}, +/* 10894 */ {(11<<2)|2,{101,32,0}}, +/* 10895 */ {(11<<2)|2,{101,32,0}}, +/* 10896 */ {(11<<2)|2,{101,32,0}}, +/* 10897 */ {(11<<2)|2,{101,32,0}}, +/* 10898 */ {(11<<2)|2,{101,32,0}}, +/* 10899 */ {(11<<2)|2,{101,32,0}}, +/* 10900 */ {(11<<2)|2,{101,32,0}}, +/* 10901 */ {(11<<2)|2,{101,32,0}}, +/* 10902 */ {(11<<2)|2,{101,32,0}}, +/* 10903 */ {(11<<2)|2,{101,32,0}}, +/* 10904 */ {(11<<2)|2,{101,32,0}}, +/* 10905 */ {(11<<2)|2,{101,32,0}}, +/* 10906 */ {(11<<2)|2,{101,32,0}}, +/* 10907 */ {(11<<2)|2,{101,32,0}}, +/* 10908 */ {(11<<2)|2,{101,32,0}}, +/* 10909 */ {(11<<2)|2,{101,32,0}}, +/* 10910 */ {(11<<2)|2,{101,32,0}}, +/* 10911 */ {(11<<2)|2,{101,32,0}}, +/* 10912 */ {(16<<2)|3,{101,37,48}}, +/* 10913 */ {(16<<2)|3,{101,37,49}}, +/* 10914 */ {(16<<2)|3,{101,37,50}}, +/* 10915 */ {(16<<2)|3,{101,37,97}}, +/* 10916 */ {(16<<2)|3,{101,37,99}}, +/* 10917 */ {(16<<2)|3,{101,37,101}}, +/* 10918 */ {(16<<2)|3,{101,37,105}}, +/* 10919 */ {(16<<2)|3,{101,37,111}}, +/* 10920 */ {(16<<2)|3,{101,37,115}}, +/* 10921 */ {(16<<2)|3,{101,37,116}}, +/* 10922 */ {(11<<2)|2,{101,37,0}}, +/* 10923 */ {(11<<2)|2,{101,37,0}}, +/* 10924 */ {(11<<2)|2,{101,37,0}}, +/* 10925 */ {(11<<2)|2,{101,37,0}}, +/* 10926 */ {(11<<2)|2,{101,37,0}}, +/* 10927 */ {(11<<2)|2,{101,37,0}}, +/* 10928 */ {(11<<2)|2,{101,37,0}}, +/* 10929 */ {(11<<2)|2,{101,37,0}}, +/* 10930 */ {(11<<2)|2,{101,37,0}}, +/* 10931 */ {(11<<2)|2,{101,37,0}}, +/* 10932 */ {(11<<2)|2,{101,37,0}}, +/* 10933 */ {(11<<2)|2,{101,37,0}}, +/* 10934 */ {(11<<2)|2,{101,37,0}}, +/* 10935 */ {(11<<2)|2,{101,37,0}}, +/* 10936 */ {(11<<2)|2,{101,37,0}}, +/* 10937 */ {(11<<2)|2,{101,37,0}}, +/* 10938 */ {(11<<2)|2,{101,37,0}}, +/* 10939 */ {(11<<2)|2,{101,37,0}}, +/* 10940 */ {(11<<2)|2,{101,37,0}}, +/* 10941 */ {(11<<2)|2,{101,37,0}}, +/* 10942 */ {(11<<2)|2,{101,37,0}}, +/* 10943 */ {(11<<2)|2,{101,37,0}}, +/* 10944 */ {(16<<2)|3,{101,45,48}}, +/* 10945 */ {(16<<2)|3,{101,45,49}}, +/* 10946 */ {(16<<2)|3,{101,45,50}}, +/* 10947 */ {(16<<2)|3,{101,45,97}}, +/* 10948 */ {(16<<2)|3,{101,45,99}}, +/* 10949 */ {(16<<2)|3,{101,45,101}}, +/* 10950 */ {(16<<2)|3,{101,45,105}}, +/* 10951 */ {(16<<2)|3,{101,45,111}}, +/* 10952 */ {(16<<2)|3,{101,45,115}}, +/* 10953 */ {(16<<2)|3,{101,45,116}}, +/* 10954 */ {(11<<2)|2,{101,45,0}}, +/* 10955 */ {(11<<2)|2,{101,45,0}}, +/* 10956 */ {(11<<2)|2,{101,45,0}}, +/* 10957 */ {(11<<2)|2,{101,45,0}}, +/* 10958 */ {(11<<2)|2,{101,45,0}}, +/* 10959 */ {(11<<2)|2,{101,45,0}}, +/* 10960 */ {(11<<2)|2,{101,45,0}}, +/* 10961 */ {(11<<2)|2,{101,45,0}}, +/* 10962 */ {(11<<2)|2,{101,45,0}}, +/* 10963 */ {(11<<2)|2,{101,45,0}}, +/* 10964 */ {(11<<2)|2,{101,45,0}}, +/* 10965 */ {(11<<2)|2,{101,45,0}}, +/* 10966 */ {(11<<2)|2,{101,45,0}}, +/* 10967 */ {(11<<2)|2,{101,45,0}}, +/* 10968 */ {(11<<2)|2,{101,45,0}}, +/* 10969 */ {(11<<2)|2,{101,45,0}}, +/* 10970 */ {(11<<2)|2,{101,45,0}}, +/* 10971 */ {(11<<2)|2,{101,45,0}}, +/* 10972 */ {(11<<2)|2,{101,45,0}}, +/* 10973 */ {(11<<2)|2,{101,45,0}}, +/* 10974 */ {(11<<2)|2,{101,45,0}}, +/* 10975 */ {(11<<2)|2,{101,45,0}}, +/* 10976 */ {(16<<2)|3,{101,46,48}}, +/* 10977 */ {(16<<2)|3,{101,46,49}}, +/* 10978 */ {(16<<2)|3,{101,46,50}}, +/* 10979 */ {(16<<2)|3,{101,46,97}}, +/* 10980 */ {(16<<2)|3,{101,46,99}}, +/* 10981 */ {(16<<2)|3,{101,46,101}}, +/* 10982 */ {(16<<2)|3,{101,46,105}}, +/* 10983 */ {(16<<2)|3,{101,46,111}}, +/* 10984 */ {(16<<2)|3,{101,46,115}}, +/* 10985 */ {(16<<2)|3,{101,46,116}}, +/* 10986 */ {(11<<2)|2,{101,46,0}}, +/* 10987 */ {(11<<2)|2,{101,46,0}}, +/* 10988 */ {(11<<2)|2,{101,46,0}}, +/* 10989 */ {(11<<2)|2,{101,46,0}}, +/* 10990 */ {(11<<2)|2,{101,46,0}}, +/* 10991 */ {(11<<2)|2,{101,46,0}}, +/* 10992 */ {(11<<2)|2,{101,46,0}}, +/* 10993 */ {(11<<2)|2,{101,46,0}}, +/* 10994 */ {(11<<2)|2,{101,46,0}}, +/* 10995 */ {(11<<2)|2,{101,46,0}}, +/* 10996 */ {(11<<2)|2,{101,46,0}}, +/* 10997 */ {(11<<2)|2,{101,46,0}}, +/* 10998 */ {(11<<2)|2,{101,46,0}}, +/* 10999 */ {(11<<2)|2,{101,46,0}}, +/* 11000 */ {(11<<2)|2,{101,46,0}}, +/* 11001 */ {(11<<2)|2,{101,46,0}}, +/* 11002 */ {(11<<2)|2,{101,46,0}}, +/* 11003 */ {(11<<2)|2,{101,46,0}}, +/* 11004 */ {(11<<2)|2,{101,46,0}}, +/* 11005 */ {(11<<2)|2,{101,46,0}}, +/* 11006 */ {(11<<2)|2,{101,46,0}}, +/* 11007 */ {(11<<2)|2,{101,46,0}}, +/* 11008 */ {(16<<2)|3,{101,47,48}}, +/* 11009 */ {(16<<2)|3,{101,47,49}}, +/* 11010 */ {(16<<2)|3,{101,47,50}}, +/* 11011 */ {(16<<2)|3,{101,47,97}}, +/* 11012 */ {(16<<2)|3,{101,47,99}}, +/* 11013 */ {(16<<2)|3,{101,47,101}}, +/* 11014 */ {(16<<2)|3,{101,47,105}}, +/* 11015 */ {(16<<2)|3,{101,47,111}}, +/* 11016 */ {(16<<2)|3,{101,47,115}}, +/* 11017 */ {(16<<2)|3,{101,47,116}}, +/* 11018 */ {(11<<2)|2,{101,47,0}}, +/* 11019 */ {(11<<2)|2,{101,47,0}}, +/* 11020 */ {(11<<2)|2,{101,47,0}}, +/* 11021 */ {(11<<2)|2,{101,47,0}}, +/* 11022 */ {(11<<2)|2,{101,47,0}}, +/* 11023 */ {(11<<2)|2,{101,47,0}}, +/* 11024 */ {(11<<2)|2,{101,47,0}}, +/* 11025 */ {(11<<2)|2,{101,47,0}}, +/* 11026 */ {(11<<2)|2,{101,47,0}}, +/* 11027 */ {(11<<2)|2,{101,47,0}}, +/* 11028 */ {(11<<2)|2,{101,47,0}}, +/* 11029 */ {(11<<2)|2,{101,47,0}}, +/* 11030 */ {(11<<2)|2,{101,47,0}}, +/* 11031 */ {(11<<2)|2,{101,47,0}}, +/* 11032 */ {(11<<2)|2,{101,47,0}}, +/* 11033 */ {(11<<2)|2,{101,47,0}}, +/* 11034 */ {(11<<2)|2,{101,47,0}}, +/* 11035 */ {(11<<2)|2,{101,47,0}}, +/* 11036 */ {(11<<2)|2,{101,47,0}}, +/* 11037 */ {(11<<2)|2,{101,47,0}}, +/* 11038 */ {(11<<2)|2,{101,47,0}}, +/* 11039 */ {(11<<2)|2,{101,47,0}}, +/* 11040 */ {(16<<2)|3,{101,51,48}}, +/* 11041 */ {(16<<2)|3,{101,51,49}}, +/* 11042 */ {(16<<2)|3,{101,51,50}}, +/* 11043 */ {(16<<2)|3,{101,51,97}}, +/* 11044 */ {(16<<2)|3,{101,51,99}}, +/* 11045 */ {(16<<2)|3,{101,51,101}}, +/* 11046 */ {(16<<2)|3,{101,51,105}}, +/* 11047 */ {(16<<2)|3,{101,51,111}}, +/* 11048 */ {(16<<2)|3,{101,51,115}}, +/* 11049 */ {(16<<2)|3,{101,51,116}}, +/* 11050 */ {(11<<2)|2,{101,51,0}}, +/* 11051 */ {(11<<2)|2,{101,51,0}}, +/* 11052 */ {(11<<2)|2,{101,51,0}}, +/* 11053 */ {(11<<2)|2,{101,51,0}}, +/* 11054 */ {(11<<2)|2,{101,51,0}}, +/* 11055 */ {(11<<2)|2,{101,51,0}}, +/* 11056 */ {(11<<2)|2,{101,51,0}}, +/* 11057 */ {(11<<2)|2,{101,51,0}}, +/* 11058 */ {(11<<2)|2,{101,51,0}}, +/* 11059 */ {(11<<2)|2,{101,51,0}}, +/* 11060 */ {(11<<2)|2,{101,51,0}}, +/* 11061 */ {(11<<2)|2,{101,51,0}}, +/* 11062 */ {(11<<2)|2,{101,51,0}}, +/* 11063 */ {(11<<2)|2,{101,51,0}}, +/* 11064 */ {(11<<2)|2,{101,51,0}}, +/* 11065 */ {(11<<2)|2,{101,51,0}}, +/* 11066 */ {(11<<2)|2,{101,51,0}}, +/* 11067 */ {(11<<2)|2,{101,51,0}}, +/* 11068 */ {(11<<2)|2,{101,51,0}}, +/* 11069 */ {(11<<2)|2,{101,51,0}}, +/* 11070 */ {(11<<2)|2,{101,51,0}}, +/* 11071 */ {(11<<2)|2,{101,51,0}}, +/* 11072 */ {(16<<2)|3,{101,52,48}}, +/* 11073 */ {(16<<2)|3,{101,52,49}}, +/* 11074 */ {(16<<2)|3,{101,52,50}}, +/* 11075 */ {(16<<2)|3,{101,52,97}}, +/* 11076 */ {(16<<2)|3,{101,52,99}}, +/* 11077 */ {(16<<2)|3,{101,52,101}}, +/* 11078 */ {(16<<2)|3,{101,52,105}}, +/* 11079 */ {(16<<2)|3,{101,52,111}}, +/* 11080 */ {(16<<2)|3,{101,52,115}}, +/* 11081 */ {(16<<2)|3,{101,52,116}}, +/* 11082 */ {(11<<2)|2,{101,52,0}}, +/* 11083 */ {(11<<2)|2,{101,52,0}}, +/* 11084 */ {(11<<2)|2,{101,52,0}}, +/* 11085 */ {(11<<2)|2,{101,52,0}}, +/* 11086 */ {(11<<2)|2,{101,52,0}}, +/* 11087 */ {(11<<2)|2,{101,52,0}}, +/* 11088 */ {(11<<2)|2,{101,52,0}}, +/* 11089 */ {(11<<2)|2,{101,52,0}}, +/* 11090 */ {(11<<2)|2,{101,52,0}}, +/* 11091 */ {(11<<2)|2,{101,52,0}}, +/* 11092 */ {(11<<2)|2,{101,52,0}}, +/* 11093 */ {(11<<2)|2,{101,52,0}}, +/* 11094 */ {(11<<2)|2,{101,52,0}}, +/* 11095 */ {(11<<2)|2,{101,52,0}}, +/* 11096 */ {(11<<2)|2,{101,52,0}}, +/* 11097 */ {(11<<2)|2,{101,52,0}}, +/* 11098 */ {(11<<2)|2,{101,52,0}}, +/* 11099 */ {(11<<2)|2,{101,52,0}}, +/* 11100 */ {(11<<2)|2,{101,52,0}}, +/* 11101 */ {(11<<2)|2,{101,52,0}}, +/* 11102 */ {(11<<2)|2,{101,52,0}}, +/* 11103 */ {(11<<2)|2,{101,52,0}}, +/* 11104 */ {(16<<2)|3,{101,53,48}}, +/* 11105 */ {(16<<2)|3,{101,53,49}}, +/* 11106 */ {(16<<2)|3,{101,53,50}}, +/* 11107 */ {(16<<2)|3,{101,53,97}}, +/* 11108 */ {(16<<2)|3,{101,53,99}}, +/* 11109 */ {(16<<2)|3,{101,53,101}}, +/* 11110 */ {(16<<2)|3,{101,53,105}}, +/* 11111 */ {(16<<2)|3,{101,53,111}}, +/* 11112 */ {(16<<2)|3,{101,53,115}}, +/* 11113 */ {(16<<2)|3,{101,53,116}}, +/* 11114 */ {(11<<2)|2,{101,53,0}}, +/* 11115 */ {(11<<2)|2,{101,53,0}}, +/* 11116 */ {(11<<2)|2,{101,53,0}}, +/* 11117 */ {(11<<2)|2,{101,53,0}}, +/* 11118 */ {(11<<2)|2,{101,53,0}}, +/* 11119 */ {(11<<2)|2,{101,53,0}}, +/* 11120 */ {(11<<2)|2,{101,53,0}}, +/* 11121 */ {(11<<2)|2,{101,53,0}}, +/* 11122 */ {(11<<2)|2,{101,53,0}}, +/* 11123 */ {(11<<2)|2,{101,53,0}}, +/* 11124 */ {(11<<2)|2,{101,53,0}}, +/* 11125 */ {(11<<2)|2,{101,53,0}}, +/* 11126 */ {(11<<2)|2,{101,53,0}}, +/* 11127 */ {(11<<2)|2,{101,53,0}}, +/* 11128 */ {(11<<2)|2,{101,53,0}}, +/* 11129 */ {(11<<2)|2,{101,53,0}}, +/* 11130 */ {(11<<2)|2,{101,53,0}}, +/* 11131 */ {(11<<2)|2,{101,53,0}}, +/* 11132 */ {(11<<2)|2,{101,53,0}}, +/* 11133 */ {(11<<2)|2,{101,53,0}}, +/* 11134 */ {(11<<2)|2,{101,53,0}}, +/* 11135 */ {(11<<2)|2,{101,53,0}}, +/* 11136 */ {(16<<2)|3,{101,54,48}}, +/* 11137 */ {(16<<2)|3,{101,54,49}}, +/* 11138 */ {(16<<2)|3,{101,54,50}}, +/* 11139 */ {(16<<2)|3,{101,54,97}}, +/* 11140 */ {(16<<2)|3,{101,54,99}}, +/* 11141 */ {(16<<2)|3,{101,54,101}}, +/* 11142 */ {(16<<2)|3,{101,54,105}}, +/* 11143 */ {(16<<2)|3,{101,54,111}}, +/* 11144 */ {(16<<2)|3,{101,54,115}}, +/* 11145 */ {(16<<2)|3,{101,54,116}}, +/* 11146 */ {(11<<2)|2,{101,54,0}}, +/* 11147 */ {(11<<2)|2,{101,54,0}}, +/* 11148 */ {(11<<2)|2,{101,54,0}}, +/* 11149 */ {(11<<2)|2,{101,54,0}}, +/* 11150 */ {(11<<2)|2,{101,54,0}}, +/* 11151 */ {(11<<2)|2,{101,54,0}}, +/* 11152 */ {(11<<2)|2,{101,54,0}}, +/* 11153 */ {(11<<2)|2,{101,54,0}}, +/* 11154 */ {(11<<2)|2,{101,54,0}}, +/* 11155 */ {(11<<2)|2,{101,54,0}}, +/* 11156 */ {(11<<2)|2,{101,54,0}}, +/* 11157 */ {(11<<2)|2,{101,54,0}}, +/* 11158 */ {(11<<2)|2,{101,54,0}}, +/* 11159 */ {(11<<2)|2,{101,54,0}}, +/* 11160 */ {(11<<2)|2,{101,54,0}}, +/* 11161 */ {(11<<2)|2,{101,54,0}}, +/* 11162 */ {(11<<2)|2,{101,54,0}}, +/* 11163 */ {(11<<2)|2,{101,54,0}}, +/* 11164 */ {(11<<2)|2,{101,54,0}}, +/* 11165 */ {(11<<2)|2,{101,54,0}}, +/* 11166 */ {(11<<2)|2,{101,54,0}}, +/* 11167 */ {(11<<2)|2,{101,54,0}}, +/* 11168 */ {(16<<2)|3,{101,55,48}}, +/* 11169 */ {(16<<2)|3,{101,55,49}}, +/* 11170 */ {(16<<2)|3,{101,55,50}}, +/* 11171 */ {(16<<2)|3,{101,55,97}}, +/* 11172 */ {(16<<2)|3,{101,55,99}}, +/* 11173 */ {(16<<2)|3,{101,55,101}}, +/* 11174 */ {(16<<2)|3,{101,55,105}}, +/* 11175 */ {(16<<2)|3,{101,55,111}}, +/* 11176 */ {(16<<2)|3,{101,55,115}}, +/* 11177 */ {(16<<2)|3,{101,55,116}}, +/* 11178 */ {(11<<2)|2,{101,55,0}}, +/* 11179 */ {(11<<2)|2,{101,55,0}}, +/* 11180 */ {(11<<2)|2,{101,55,0}}, +/* 11181 */ {(11<<2)|2,{101,55,0}}, +/* 11182 */ {(11<<2)|2,{101,55,0}}, +/* 11183 */ {(11<<2)|2,{101,55,0}}, +/* 11184 */ {(11<<2)|2,{101,55,0}}, +/* 11185 */ {(11<<2)|2,{101,55,0}}, +/* 11186 */ {(11<<2)|2,{101,55,0}}, +/* 11187 */ {(11<<2)|2,{101,55,0}}, +/* 11188 */ {(11<<2)|2,{101,55,0}}, +/* 11189 */ {(11<<2)|2,{101,55,0}}, +/* 11190 */ {(11<<2)|2,{101,55,0}}, +/* 11191 */ {(11<<2)|2,{101,55,0}}, +/* 11192 */ {(11<<2)|2,{101,55,0}}, +/* 11193 */ {(11<<2)|2,{101,55,0}}, +/* 11194 */ {(11<<2)|2,{101,55,0}}, +/* 11195 */ {(11<<2)|2,{101,55,0}}, +/* 11196 */ {(11<<2)|2,{101,55,0}}, +/* 11197 */ {(11<<2)|2,{101,55,0}}, +/* 11198 */ {(11<<2)|2,{101,55,0}}, +/* 11199 */ {(11<<2)|2,{101,55,0}}, +/* 11200 */ {(16<<2)|3,{101,56,48}}, +/* 11201 */ {(16<<2)|3,{101,56,49}}, +/* 11202 */ {(16<<2)|3,{101,56,50}}, +/* 11203 */ {(16<<2)|3,{101,56,97}}, +/* 11204 */ {(16<<2)|3,{101,56,99}}, +/* 11205 */ {(16<<2)|3,{101,56,101}}, +/* 11206 */ {(16<<2)|3,{101,56,105}}, +/* 11207 */ {(16<<2)|3,{101,56,111}}, +/* 11208 */ {(16<<2)|3,{101,56,115}}, +/* 11209 */ {(16<<2)|3,{101,56,116}}, +/* 11210 */ {(11<<2)|2,{101,56,0}}, +/* 11211 */ {(11<<2)|2,{101,56,0}}, +/* 11212 */ {(11<<2)|2,{101,56,0}}, +/* 11213 */ {(11<<2)|2,{101,56,0}}, +/* 11214 */ {(11<<2)|2,{101,56,0}}, +/* 11215 */ {(11<<2)|2,{101,56,0}}, +/* 11216 */ {(11<<2)|2,{101,56,0}}, +/* 11217 */ {(11<<2)|2,{101,56,0}}, +/* 11218 */ {(11<<2)|2,{101,56,0}}, +/* 11219 */ {(11<<2)|2,{101,56,0}}, +/* 11220 */ {(11<<2)|2,{101,56,0}}, +/* 11221 */ {(11<<2)|2,{101,56,0}}, +/* 11222 */ {(11<<2)|2,{101,56,0}}, +/* 11223 */ {(11<<2)|2,{101,56,0}}, +/* 11224 */ {(11<<2)|2,{101,56,0}}, +/* 11225 */ {(11<<2)|2,{101,56,0}}, +/* 11226 */ {(11<<2)|2,{101,56,0}}, +/* 11227 */ {(11<<2)|2,{101,56,0}}, +/* 11228 */ {(11<<2)|2,{101,56,0}}, +/* 11229 */ {(11<<2)|2,{101,56,0}}, +/* 11230 */ {(11<<2)|2,{101,56,0}}, +/* 11231 */ {(11<<2)|2,{101,56,0}}, +/* 11232 */ {(16<<2)|3,{101,57,48}}, +/* 11233 */ {(16<<2)|3,{101,57,49}}, +/* 11234 */ {(16<<2)|3,{101,57,50}}, +/* 11235 */ {(16<<2)|3,{101,57,97}}, +/* 11236 */ {(16<<2)|3,{101,57,99}}, +/* 11237 */ {(16<<2)|3,{101,57,101}}, +/* 11238 */ {(16<<2)|3,{101,57,105}}, +/* 11239 */ {(16<<2)|3,{101,57,111}}, +/* 11240 */ {(16<<2)|3,{101,57,115}}, +/* 11241 */ {(16<<2)|3,{101,57,116}}, +/* 11242 */ {(11<<2)|2,{101,57,0}}, +/* 11243 */ {(11<<2)|2,{101,57,0}}, +/* 11244 */ {(11<<2)|2,{101,57,0}}, +/* 11245 */ {(11<<2)|2,{101,57,0}}, +/* 11246 */ {(11<<2)|2,{101,57,0}}, +/* 11247 */ {(11<<2)|2,{101,57,0}}, +/* 11248 */ {(11<<2)|2,{101,57,0}}, +/* 11249 */ {(11<<2)|2,{101,57,0}}, +/* 11250 */ {(11<<2)|2,{101,57,0}}, +/* 11251 */ {(11<<2)|2,{101,57,0}}, +/* 11252 */ {(11<<2)|2,{101,57,0}}, +/* 11253 */ {(11<<2)|2,{101,57,0}}, +/* 11254 */ {(11<<2)|2,{101,57,0}}, +/* 11255 */ {(11<<2)|2,{101,57,0}}, +/* 11256 */ {(11<<2)|2,{101,57,0}}, +/* 11257 */ {(11<<2)|2,{101,57,0}}, +/* 11258 */ {(11<<2)|2,{101,57,0}}, +/* 11259 */ {(11<<2)|2,{101,57,0}}, +/* 11260 */ {(11<<2)|2,{101,57,0}}, +/* 11261 */ {(11<<2)|2,{101,57,0}}, +/* 11262 */ {(11<<2)|2,{101,57,0}}, +/* 11263 */ {(11<<2)|2,{101,57,0}}, +/* 11264 */ {(16<<2)|3,{101,61,48}}, +/* 11265 */ {(16<<2)|3,{101,61,49}}, +/* 11266 */ {(16<<2)|3,{101,61,50}}, +/* 11267 */ {(16<<2)|3,{101,61,97}}, +/* 11268 */ {(16<<2)|3,{101,61,99}}, +/* 11269 */ {(16<<2)|3,{101,61,101}}, +/* 11270 */ {(16<<2)|3,{101,61,105}}, +/* 11271 */ {(16<<2)|3,{101,61,111}}, +/* 11272 */ {(16<<2)|3,{101,61,115}}, +/* 11273 */ {(16<<2)|3,{101,61,116}}, +/* 11274 */ {(11<<2)|2,{101,61,0}}, +/* 11275 */ {(11<<2)|2,{101,61,0}}, +/* 11276 */ {(11<<2)|2,{101,61,0}}, +/* 11277 */ {(11<<2)|2,{101,61,0}}, +/* 11278 */ {(11<<2)|2,{101,61,0}}, +/* 11279 */ {(11<<2)|2,{101,61,0}}, +/* 11280 */ {(11<<2)|2,{101,61,0}}, +/* 11281 */ {(11<<2)|2,{101,61,0}}, +/* 11282 */ {(11<<2)|2,{101,61,0}}, +/* 11283 */ {(11<<2)|2,{101,61,0}}, +/* 11284 */ {(11<<2)|2,{101,61,0}}, +/* 11285 */ {(11<<2)|2,{101,61,0}}, +/* 11286 */ {(11<<2)|2,{101,61,0}}, +/* 11287 */ {(11<<2)|2,{101,61,0}}, +/* 11288 */ {(11<<2)|2,{101,61,0}}, +/* 11289 */ {(11<<2)|2,{101,61,0}}, +/* 11290 */ {(11<<2)|2,{101,61,0}}, +/* 11291 */ {(11<<2)|2,{101,61,0}}, +/* 11292 */ {(11<<2)|2,{101,61,0}}, +/* 11293 */ {(11<<2)|2,{101,61,0}}, +/* 11294 */ {(11<<2)|2,{101,61,0}}, +/* 11295 */ {(11<<2)|2,{101,61,0}}, +/* 11296 */ {(16<<2)|3,{101,65,48}}, +/* 11297 */ {(16<<2)|3,{101,65,49}}, +/* 11298 */ {(16<<2)|3,{101,65,50}}, +/* 11299 */ {(16<<2)|3,{101,65,97}}, +/* 11300 */ {(16<<2)|3,{101,65,99}}, +/* 11301 */ {(16<<2)|3,{101,65,101}}, +/* 11302 */ {(16<<2)|3,{101,65,105}}, +/* 11303 */ {(16<<2)|3,{101,65,111}}, +/* 11304 */ {(16<<2)|3,{101,65,115}}, +/* 11305 */ {(16<<2)|3,{101,65,116}}, +/* 11306 */ {(11<<2)|2,{101,65,0}}, +/* 11307 */ {(11<<2)|2,{101,65,0}}, +/* 11308 */ {(11<<2)|2,{101,65,0}}, +/* 11309 */ {(11<<2)|2,{101,65,0}}, +/* 11310 */ {(11<<2)|2,{101,65,0}}, +/* 11311 */ {(11<<2)|2,{101,65,0}}, +/* 11312 */ {(11<<2)|2,{101,65,0}}, +/* 11313 */ {(11<<2)|2,{101,65,0}}, +/* 11314 */ {(11<<2)|2,{101,65,0}}, +/* 11315 */ {(11<<2)|2,{101,65,0}}, +/* 11316 */ {(11<<2)|2,{101,65,0}}, +/* 11317 */ {(11<<2)|2,{101,65,0}}, +/* 11318 */ {(11<<2)|2,{101,65,0}}, +/* 11319 */ {(11<<2)|2,{101,65,0}}, +/* 11320 */ {(11<<2)|2,{101,65,0}}, +/* 11321 */ {(11<<2)|2,{101,65,0}}, +/* 11322 */ {(11<<2)|2,{101,65,0}}, +/* 11323 */ {(11<<2)|2,{101,65,0}}, +/* 11324 */ {(11<<2)|2,{101,65,0}}, +/* 11325 */ {(11<<2)|2,{101,65,0}}, +/* 11326 */ {(11<<2)|2,{101,65,0}}, +/* 11327 */ {(11<<2)|2,{101,65,0}}, +/* 11328 */ {(16<<2)|3,{101,95,48}}, +/* 11329 */ {(16<<2)|3,{101,95,49}}, +/* 11330 */ {(16<<2)|3,{101,95,50}}, +/* 11331 */ {(16<<2)|3,{101,95,97}}, +/* 11332 */ {(16<<2)|3,{101,95,99}}, +/* 11333 */ {(16<<2)|3,{101,95,101}}, +/* 11334 */ {(16<<2)|3,{101,95,105}}, +/* 11335 */ {(16<<2)|3,{101,95,111}}, +/* 11336 */ {(16<<2)|3,{101,95,115}}, +/* 11337 */ {(16<<2)|3,{101,95,116}}, +/* 11338 */ {(11<<2)|2,{101,95,0}}, +/* 11339 */ {(11<<2)|2,{101,95,0}}, +/* 11340 */ {(11<<2)|2,{101,95,0}}, +/* 11341 */ {(11<<2)|2,{101,95,0}}, +/* 11342 */ {(11<<2)|2,{101,95,0}}, +/* 11343 */ {(11<<2)|2,{101,95,0}}, +/* 11344 */ {(11<<2)|2,{101,95,0}}, +/* 11345 */ {(11<<2)|2,{101,95,0}}, +/* 11346 */ {(11<<2)|2,{101,95,0}}, +/* 11347 */ {(11<<2)|2,{101,95,0}}, +/* 11348 */ {(11<<2)|2,{101,95,0}}, +/* 11349 */ {(11<<2)|2,{101,95,0}}, +/* 11350 */ {(11<<2)|2,{101,95,0}}, +/* 11351 */ {(11<<2)|2,{101,95,0}}, +/* 11352 */ {(11<<2)|2,{101,95,0}}, +/* 11353 */ {(11<<2)|2,{101,95,0}}, +/* 11354 */ {(11<<2)|2,{101,95,0}}, +/* 11355 */ {(11<<2)|2,{101,95,0}}, +/* 11356 */ {(11<<2)|2,{101,95,0}}, +/* 11357 */ {(11<<2)|2,{101,95,0}}, +/* 11358 */ {(11<<2)|2,{101,95,0}}, +/* 11359 */ {(11<<2)|2,{101,95,0}}, +/* 11360 */ {(16<<2)|3,{101,98,48}}, +/* 11361 */ {(16<<2)|3,{101,98,49}}, +/* 11362 */ {(16<<2)|3,{101,98,50}}, +/* 11363 */ {(16<<2)|3,{101,98,97}}, +/* 11364 */ {(16<<2)|3,{101,98,99}}, +/* 11365 */ {(16<<2)|3,{101,98,101}}, +/* 11366 */ {(16<<2)|3,{101,98,105}}, +/* 11367 */ {(16<<2)|3,{101,98,111}}, +/* 11368 */ {(16<<2)|3,{101,98,115}}, +/* 11369 */ {(16<<2)|3,{101,98,116}}, +/* 11370 */ {(11<<2)|2,{101,98,0}}, +/* 11371 */ {(11<<2)|2,{101,98,0}}, +/* 11372 */ {(11<<2)|2,{101,98,0}}, +/* 11373 */ {(11<<2)|2,{101,98,0}}, +/* 11374 */ {(11<<2)|2,{101,98,0}}, +/* 11375 */ {(11<<2)|2,{101,98,0}}, +/* 11376 */ {(11<<2)|2,{101,98,0}}, +/* 11377 */ {(11<<2)|2,{101,98,0}}, +/* 11378 */ {(11<<2)|2,{101,98,0}}, +/* 11379 */ {(11<<2)|2,{101,98,0}}, +/* 11380 */ {(11<<2)|2,{101,98,0}}, +/* 11381 */ {(11<<2)|2,{101,98,0}}, +/* 11382 */ {(11<<2)|2,{101,98,0}}, +/* 11383 */ {(11<<2)|2,{101,98,0}}, +/* 11384 */ {(11<<2)|2,{101,98,0}}, +/* 11385 */ {(11<<2)|2,{101,98,0}}, +/* 11386 */ {(11<<2)|2,{101,98,0}}, +/* 11387 */ {(11<<2)|2,{101,98,0}}, +/* 11388 */ {(11<<2)|2,{101,98,0}}, +/* 11389 */ {(11<<2)|2,{101,98,0}}, +/* 11390 */ {(11<<2)|2,{101,98,0}}, +/* 11391 */ {(11<<2)|2,{101,98,0}}, +/* 11392 */ {(16<<2)|3,{101,100,48}}, +/* 11393 */ {(16<<2)|3,{101,100,49}}, +/* 11394 */ {(16<<2)|3,{101,100,50}}, +/* 11395 */ {(16<<2)|3,{101,100,97}}, +/* 11396 */ {(16<<2)|3,{101,100,99}}, +/* 11397 */ {(16<<2)|3,{101,100,101}}, +/* 11398 */ {(16<<2)|3,{101,100,105}}, +/* 11399 */ {(16<<2)|3,{101,100,111}}, +/* 11400 */ {(16<<2)|3,{101,100,115}}, +/* 11401 */ {(16<<2)|3,{101,100,116}}, +/* 11402 */ {(11<<2)|2,{101,100,0}}, +/* 11403 */ {(11<<2)|2,{101,100,0}}, +/* 11404 */ {(11<<2)|2,{101,100,0}}, +/* 11405 */ {(11<<2)|2,{101,100,0}}, +/* 11406 */ {(11<<2)|2,{101,100,0}}, +/* 11407 */ {(11<<2)|2,{101,100,0}}, +/* 11408 */ {(11<<2)|2,{101,100,0}}, +/* 11409 */ {(11<<2)|2,{101,100,0}}, +/* 11410 */ {(11<<2)|2,{101,100,0}}, +/* 11411 */ {(11<<2)|2,{101,100,0}}, +/* 11412 */ {(11<<2)|2,{101,100,0}}, +/* 11413 */ {(11<<2)|2,{101,100,0}}, +/* 11414 */ {(11<<2)|2,{101,100,0}}, +/* 11415 */ {(11<<2)|2,{101,100,0}}, +/* 11416 */ {(11<<2)|2,{101,100,0}}, +/* 11417 */ {(11<<2)|2,{101,100,0}}, +/* 11418 */ {(11<<2)|2,{101,100,0}}, +/* 11419 */ {(11<<2)|2,{101,100,0}}, +/* 11420 */ {(11<<2)|2,{101,100,0}}, +/* 11421 */ {(11<<2)|2,{101,100,0}}, +/* 11422 */ {(11<<2)|2,{101,100,0}}, +/* 11423 */ {(11<<2)|2,{101,100,0}}, +/* 11424 */ {(16<<2)|3,{101,102,48}}, +/* 11425 */ {(16<<2)|3,{101,102,49}}, +/* 11426 */ {(16<<2)|3,{101,102,50}}, +/* 11427 */ {(16<<2)|3,{101,102,97}}, +/* 11428 */ {(16<<2)|3,{101,102,99}}, +/* 11429 */ {(16<<2)|3,{101,102,101}}, +/* 11430 */ {(16<<2)|3,{101,102,105}}, +/* 11431 */ {(16<<2)|3,{101,102,111}}, +/* 11432 */ {(16<<2)|3,{101,102,115}}, +/* 11433 */ {(16<<2)|3,{101,102,116}}, +/* 11434 */ {(11<<2)|2,{101,102,0}}, +/* 11435 */ {(11<<2)|2,{101,102,0}}, +/* 11436 */ {(11<<2)|2,{101,102,0}}, +/* 11437 */ {(11<<2)|2,{101,102,0}}, +/* 11438 */ {(11<<2)|2,{101,102,0}}, +/* 11439 */ {(11<<2)|2,{101,102,0}}, +/* 11440 */ {(11<<2)|2,{101,102,0}}, +/* 11441 */ {(11<<2)|2,{101,102,0}}, +/* 11442 */ {(11<<2)|2,{101,102,0}}, +/* 11443 */ {(11<<2)|2,{101,102,0}}, +/* 11444 */ {(11<<2)|2,{101,102,0}}, +/* 11445 */ {(11<<2)|2,{101,102,0}}, +/* 11446 */ {(11<<2)|2,{101,102,0}}, +/* 11447 */ {(11<<2)|2,{101,102,0}}, +/* 11448 */ {(11<<2)|2,{101,102,0}}, +/* 11449 */ {(11<<2)|2,{101,102,0}}, +/* 11450 */ {(11<<2)|2,{101,102,0}}, +/* 11451 */ {(11<<2)|2,{101,102,0}}, +/* 11452 */ {(11<<2)|2,{101,102,0}}, +/* 11453 */ {(11<<2)|2,{101,102,0}}, +/* 11454 */ {(11<<2)|2,{101,102,0}}, +/* 11455 */ {(11<<2)|2,{101,102,0}}, +/* 11456 */ {(16<<2)|3,{101,103,48}}, +/* 11457 */ {(16<<2)|3,{101,103,49}}, +/* 11458 */ {(16<<2)|3,{101,103,50}}, +/* 11459 */ {(16<<2)|3,{101,103,97}}, +/* 11460 */ {(16<<2)|3,{101,103,99}}, +/* 11461 */ {(16<<2)|3,{101,103,101}}, +/* 11462 */ {(16<<2)|3,{101,103,105}}, +/* 11463 */ {(16<<2)|3,{101,103,111}}, +/* 11464 */ {(16<<2)|3,{101,103,115}}, +/* 11465 */ {(16<<2)|3,{101,103,116}}, +/* 11466 */ {(11<<2)|2,{101,103,0}}, +/* 11467 */ {(11<<2)|2,{101,103,0}}, +/* 11468 */ {(11<<2)|2,{101,103,0}}, +/* 11469 */ {(11<<2)|2,{101,103,0}}, +/* 11470 */ {(11<<2)|2,{101,103,0}}, +/* 11471 */ {(11<<2)|2,{101,103,0}}, +/* 11472 */ {(11<<2)|2,{101,103,0}}, +/* 11473 */ {(11<<2)|2,{101,103,0}}, +/* 11474 */ {(11<<2)|2,{101,103,0}}, +/* 11475 */ {(11<<2)|2,{101,103,0}}, +/* 11476 */ {(11<<2)|2,{101,103,0}}, +/* 11477 */ {(11<<2)|2,{101,103,0}}, +/* 11478 */ {(11<<2)|2,{101,103,0}}, +/* 11479 */ {(11<<2)|2,{101,103,0}}, +/* 11480 */ {(11<<2)|2,{101,103,0}}, +/* 11481 */ {(11<<2)|2,{101,103,0}}, +/* 11482 */ {(11<<2)|2,{101,103,0}}, +/* 11483 */ {(11<<2)|2,{101,103,0}}, +/* 11484 */ {(11<<2)|2,{101,103,0}}, +/* 11485 */ {(11<<2)|2,{101,103,0}}, +/* 11486 */ {(11<<2)|2,{101,103,0}}, +/* 11487 */ {(11<<2)|2,{101,103,0}}, +/* 11488 */ {(16<<2)|3,{101,104,48}}, +/* 11489 */ {(16<<2)|3,{101,104,49}}, +/* 11490 */ {(16<<2)|3,{101,104,50}}, +/* 11491 */ {(16<<2)|3,{101,104,97}}, +/* 11492 */ {(16<<2)|3,{101,104,99}}, +/* 11493 */ {(16<<2)|3,{101,104,101}}, +/* 11494 */ {(16<<2)|3,{101,104,105}}, +/* 11495 */ {(16<<2)|3,{101,104,111}}, +/* 11496 */ {(16<<2)|3,{101,104,115}}, +/* 11497 */ {(16<<2)|3,{101,104,116}}, +/* 11498 */ {(11<<2)|2,{101,104,0}}, +/* 11499 */ {(11<<2)|2,{101,104,0}}, +/* 11500 */ {(11<<2)|2,{101,104,0}}, +/* 11501 */ {(11<<2)|2,{101,104,0}}, +/* 11502 */ {(11<<2)|2,{101,104,0}}, +/* 11503 */ {(11<<2)|2,{101,104,0}}, +/* 11504 */ {(11<<2)|2,{101,104,0}}, +/* 11505 */ {(11<<2)|2,{101,104,0}}, +/* 11506 */ {(11<<2)|2,{101,104,0}}, +/* 11507 */ {(11<<2)|2,{101,104,0}}, +/* 11508 */ {(11<<2)|2,{101,104,0}}, +/* 11509 */ {(11<<2)|2,{101,104,0}}, +/* 11510 */ {(11<<2)|2,{101,104,0}}, +/* 11511 */ {(11<<2)|2,{101,104,0}}, +/* 11512 */ {(11<<2)|2,{101,104,0}}, +/* 11513 */ {(11<<2)|2,{101,104,0}}, +/* 11514 */ {(11<<2)|2,{101,104,0}}, +/* 11515 */ {(11<<2)|2,{101,104,0}}, +/* 11516 */ {(11<<2)|2,{101,104,0}}, +/* 11517 */ {(11<<2)|2,{101,104,0}}, +/* 11518 */ {(11<<2)|2,{101,104,0}}, +/* 11519 */ {(11<<2)|2,{101,104,0}}, +/* 11520 */ {(16<<2)|3,{101,108,48}}, +/* 11521 */ {(16<<2)|3,{101,108,49}}, +/* 11522 */ {(16<<2)|3,{101,108,50}}, +/* 11523 */ {(16<<2)|3,{101,108,97}}, +/* 11524 */ {(16<<2)|3,{101,108,99}}, +/* 11525 */ {(16<<2)|3,{101,108,101}}, +/* 11526 */ {(16<<2)|3,{101,108,105}}, +/* 11527 */ {(16<<2)|3,{101,108,111}}, +/* 11528 */ {(16<<2)|3,{101,108,115}}, +/* 11529 */ {(16<<2)|3,{101,108,116}}, +/* 11530 */ {(11<<2)|2,{101,108,0}}, +/* 11531 */ {(11<<2)|2,{101,108,0}}, +/* 11532 */ {(11<<2)|2,{101,108,0}}, +/* 11533 */ {(11<<2)|2,{101,108,0}}, +/* 11534 */ {(11<<2)|2,{101,108,0}}, +/* 11535 */ {(11<<2)|2,{101,108,0}}, +/* 11536 */ {(11<<2)|2,{101,108,0}}, +/* 11537 */ {(11<<2)|2,{101,108,0}}, +/* 11538 */ {(11<<2)|2,{101,108,0}}, +/* 11539 */ {(11<<2)|2,{101,108,0}}, +/* 11540 */ {(11<<2)|2,{101,108,0}}, +/* 11541 */ {(11<<2)|2,{101,108,0}}, +/* 11542 */ {(11<<2)|2,{101,108,0}}, +/* 11543 */ {(11<<2)|2,{101,108,0}}, +/* 11544 */ {(11<<2)|2,{101,108,0}}, +/* 11545 */ {(11<<2)|2,{101,108,0}}, +/* 11546 */ {(11<<2)|2,{101,108,0}}, +/* 11547 */ {(11<<2)|2,{101,108,0}}, +/* 11548 */ {(11<<2)|2,{101,108,0}}, +/* 11549 */ {(11<<2)|2,{101,108,0}}, +/* 11550 */ {(11<<2)|2,{101,108,0}}, +/* 11551 */ {(11<<2)|2,{101,108,0}}, +/* 11552 */ {(16<<2)|3,{101,109,48}}, +/* 11553 */ {(16<<2)|3,{101,109,49}}, +/* 11554 */ {(16<<2)|3,{101,109,50}}, +/* 11555 */ {(16<<2)|3,{101,109,97}}, +/* 11556 */ {(16<<2)|3,{101,109,99}}, +/* 11557 */ {(16<<2)|3,{101,109,101}}, +/* 11558 */ {(16<<2)|3,{101,109,105}}, +/* 11559 */ {(16<<2)|3,{101,109,111}}, +/* 11560 */ {(16<<2)|3,{101,109,115}}, +/* 11561 */ {(16<<2)|3,{101,109,116}}, +/* 11562 */ {(11<<2)|2,{101,109,0}}, +/* 11563 */ {(11<<2)|2,{101,109,0}}, +/* 11564 */ {(11<<2)|2,{101,109,0}}, +/* 11565 */ {(11<<2)|2,{101,109,0}}, +/* 11566 */ {(11<<2)|2,{101,109,0}}, +/* 11567 */ {(11<<2)|2,{101,109,0}}, +/* 11568 */ {(11<<2)|2,{101,109,0}}, +/* 11569 */ {(11<<2)|2,{101,109,0}}, +/* 11570 */ {(11<<2)|2,{101,109,0}}, +/* 11571 */ {(11<<2)|2,{101,109,0}}, +/* 11572 */ {(11<<2)|2,{101,109,0}}, +/* 11573 */ {(11<<2)|2,{101,109,0}}, +/* 11574 */ {(11<<2)|2,{101,109,0}}, +/* 11575 */ {(11<<2)|2,{101,109,0}}, +/* 11576 */ {(11<<2)|2,{101,109,0}}, +/* 11577 */ {(11<<2)|2,{101,109,0}}, +/* 11578 */ {(11<<2)|2,{101,109,0}}, +/* 11579 */ {(11<<2)|2,{101,109,0}}, +/* 11580 */ {(11<<2)|2,{101,109,0}}, +/* 11581 */ {(11<<2)|2,{101,109,0}}, +/* 11582 */ {(11<<2)|2,{101,109,0}}, +/* 11583 */ {(11<<2)|2,{101,109,0}}, +/* 11584 */ {(16<<2)|3,{101,110,48}}, +/* 11585 */ {(16<<2)|3,{101,110,49}}, +/* 11586 */ {(16<<2)|3,{101,110,50}}, +/* 11587 */ {(16<<2)|3,{101,110,97}}, +/* 11588 */ {(16<<2)|3,{101,110,99}}, +/* 11589 */ {(16<<2)|3,{101,110,101}}, +/* 11590 */ {(16<<2)|3,{101,110,105}}, +/* 11591 */ {(16<<2)|3,{101,110,111}}, +/* 11592 */ {(16<<2)|3,{101,110,115}}, +/* 11593 */ {(16<<2)|3,{101,110,116}}, +/* 11594 */ {(11<<2)|2,{101,110,0}}, +/* 11595 */ {(11<<2)|2,{101,110,0}}, +/* 11596 */ {(11<<2)|2,{101,110,0}}, +/* 11597 */ {(11<<2)|2,{101,110,0}}, +/* 11598 */ {(11<<2)|2,{101,110,0}}, +/* 11599 */ {(11<<2)|2,{101,110,0}}, +/* 11600 */ {(11<<2)|2,{101,110,0}}, +/* 11601 */ {(11<<2)|2,{101,110,0}}, +/* 11602 */ {(11<<2)|2,{101,110,0}}, +/* 11603 */ {(11<<2)|2,{101,110,0}}, +/* 11604 */ {(11<<2)|2,{101,110,0}}, +/* 11605 */ {(11<<2)|2,{101,110,0}}, +/* 11606 */ {(11<<2)|2,{101,110,0}}, +/* 11607 */ {(11<<2)|2,{101,110,0}}, +/* 11608 */ {(11<<2)|2,{101,110,0}}, +/* 11609 */ {(11<<2)|2,{101,110,0}}, +/* 11610 */ {(11<<2)|2,{101,110,0}}, +/* 11611 */ {(11<<2)|2,{101,110,0}}, +/* 11612 */ {(11<<2)|2,{101,110,0}}, +/* 11613 */ {(11<<2)|2,{101,110,0}}, +/* 11614 */ {(11<<2)|2,{101,110,0}}, +/* 11615 */ {(11<<2)|2,{101,110,0}}, +/* 11616 */ {(16<<2)|3,{101,112,48}}, +/* 11617 */ {(16<<2)|3,{101,112,49}}, +/* 11618 */ {(16<<2)|3,{101,112,50}}, +/* 11619 */ {(16<<2)|3,{101,112,97}}, +/* 11620 */ {(16<<2)|3,{101,112,99}}, +/* 11621 */ {(16<<2)|3,{101,112,101}}, +/* 11622 */ {(16<<2)|3,{101,112,105}}, +/* 11623 */ {(16<<2)|3,{101,112,111}}, +/* 11624 */ {(16<<2)|3,{101,112,115}}, +/* 11625 */ {(16<<2)|3,{101,112,116}}, +/* 11626 */ {(11<<2)|2,{101,112,0}}, +/* 11627 */ {(11<<2)|2,{101,112,0}}, +/* 11628 */ {(11<<2)|2,{101,112,0}}, +/* 11629 */ {(11<<2)|2,{101,112,0}}, +/* 11630 */ {(11<<2)|2,{101,112,0}}, +/* 11631 */ {(11<<2)|2,{101,112,0}}, +/* 11632 */ {(11<<2)|2,{101,112,0}}, +/* 11633 */ {(11<<2)|2,{101,112,0}}, +/* 11634 */ {(11<<2)|2,{101,112,0}}, +/* 11635 */ {(11<<2)|2,{101,112,0}}, +/* 11636 */ {(11<<2)|2,{101,112,0}}, +/* 11637 */ {(11<<2)|2,{101,112,0}}, +/* 11638 */ {(11<<2)|2,{101,112,0}}, +/* 11639 */ {(11<<2)|2,{101,112,0}}, +/* 11640 */ {(11<<2)|2,{101,112,0}}, +/* 11641 */ {(11<<2)|2,{101,112,0}}, +/* 11642 */ {(11<<2)|2,{101,112,0}}, +/* 11643 */ {(11<<2)|2,{101,112,0}}, +/* 11644 */ {(11<<2)|2,{101,112,0}}, +/* 11645 */ {(11<<2)|2,{101,112,0}}, +/* 11646 */ {(11<<2)|2,{101,112,0}}, +/* 11647 */ {(11<<2)|2,{101,112,0}}, +/* 11648 */ {(16<<2)|3,{101,114,48}}, +/* 11649 */ {(16<<2)|3,{101,114,49}}, +/* 11650 */ {(16<<2)|3,{101,114,50}}, +/* 11651 */ {(16<<2)|3,{101,114,97}}, +/* 11652 */ {(16<<2)|3,{101,114,99}}, +/* 11653 */ {(16<<2)|3,{101,114,101}}, +/* 11654 */ {(16<<2)|3,{101,114,105}}, +/* 11655 */ {(16<<2)|3,{101,114,111}}, +/* 11656 */ {(16<<2)|3,{101,114,115}}, +/* 11657 */ {(16<<2)|3,{101,114,116}}, +/* 11658 */ {(11<<2)|2,{101,114,0}}, +/* 11659 */ {(11<<2)|2,{101,114,0}}, +/* 11660 */ {(11<<2)|2,{101,114,0}}, +/* 11661 */ {(11<<2)|2,{101,114,0}}, +/* 11662 */ {(11<<2)|2,{101,114,0}}, +/* 11663 */ {(11<<2)|2,{101,114,0}}, +/* 11664 */ {(11<<2)|2,{101,114,0}}, +/* 11665 */ {(11<<2)|2,{101,114,0}}, +/* 11666 */ {(11<<2)|2,{101,114,0}}, +/* 11667 */ {(11<<2)|2,{101,114,0}}, +/* 11668 */ {(11<<2)|2,{101,114,0}}, +/* 11669 */ {(11<<2)|2,{101,114,0}}, +/* 11670 */ {(11<<2)|2,{101,114,0}}, +/* 11671 */ {(11<<2)|2,{101,114,0}}, +/* 11672 */ {(11<<2)|2,{101,114,0}}, +/* 11673 */ {(11<<2)|2,{101,114,0}}, +/* 11674 */ {(11<<2)|2,{101,114,0}}, +/* 11675 */ {(11<<2)|2,{101,114,0}}, +/* 11676 */ {(11<<2)|2,{101,114,0}}, +/* 11677 */ {(11<<2)|2,{101,114,0}}, +/* 11678 */ {(11<<2)|2,{101,114,0}}, +/* 11679 */ {(11<<2)|2,{101,114,0}}, +/* 11680 */ {(16<<2)|3,{101,117,48}}, +/* 11681 */ {(16<<2)|3,{101,117,49}}, +/* 11682 */ {(16<<2)|3,{101,117,50}}, +/* 11683 */ {(16<<2)|3,{101,117,97}}, +/* 11684 */ {(16<<2)|3,{101,117,99}}, +/* 11685 */ {(16<<2)|3,{101,117,101}}, +/* 11686 */ {(16<<2)|3,{101,117,105}}, +/* 11687 */ {(16<<2)|3,{101,117,111}}, +/* 11688 */ {(16<<2)|3,{101,117,115}}, +/* 11689 */ {(16<<2)|3,{101,117,116}}, +/* 11690 */ {(11<<2)|2,{101,117,0}}, +/* 11691 */ {(11<<2)|2,{101,117,0}}, +/* 11692 */ {(11<<2)|2,{101,117,0}}, +/* 11693 */ {(11<<2)|2,{101,117,0}}, +/* 11694 */ {(11<<2)|2,{101,117,0}}, +/* 11695 */ {(11<<2)|2,{101,117,0}}, +/* 11696 */ {(11<<2)|2,{101,117,0}}, +/* 11697 */ {(11<<2)|2,{101,117,0}}, +/* 11698 */ {(11<<2)|2,{101,117,0}}, +/* 11699 */ {(11<<2)|2,{101,117,0}}, +/* 11700 */ {(11<<2)|2,{101,117,0}}, +/* 11701 */ {(11<<2)|2,{101,117,0}}, +/* 11702 */ {(11<<2)|2,{101,117,0}}, +/* 11703 */ {(11<<2)|2,{101,117,0}}, +/* 11704 */ {(11<<2)|2,{101,117,0}}, +/* 11705 */ {(11<<2)|2,{101,117,0}}, +/* 11706 */ {(11<<2)|2,{101,117,0}}, +/* 11707 */ {(11<<2)|2,{101,117,0}}, +/* 11708 */ {(11<<2)|2,{101,117,0}}, +/* 11709 */ {(11<<2)|2,{101,117,0}}, +/* 11710 */ {(11<<2)|2,{101,117,0}}, +/* 11711 */ {(11<<2)|2,{101,117,0}}, +/* 11712 */ {(12<<2)|2,{101,58,0}}, +/* 11713 */ {(12<<2)|2,{101,58,0}}, +/* 11714 */ {(12<<2)|2,{101,58,0}}, +/* 11715 */ {(12<<2)|2,{101,58,0}}, +/* 11716 */ {(12<<2)|2,{101,58,0}}, +/* 11717 */ {(12<<2)|2,{101,58,0}}, +/* 11718 */ {(12<<2)|2,{101,58,0}}, +/* 11719 */ {(12<<2)|2,{101,58,0}}, +/* 11720 */ {(12<<2)|2,{101,58,0}}, +/* 11721 */ {(12<<2)|2,{101,58,0}}, +/* 11722 */ {(12<<2)|2,{101,58,0}}, +/* 11723 */ {(12<<2)|2,{101,58,0}}, +/* 11724 */ {(12<<2)|2,{101,58,0}}, +/* 11725 */ {(12<<2)|2,{101,58,0}}, +/* 11726 */ {(12<<2)|2,{101,58,0}}, +/* 11727 */ {(12<<2)|2,{101,58,0}}, +/* 11728 */ {(12<<2)|2,{101,66,0}}, +/* 11729 */ {(12<<2)|2,{101,66,0}}, +/* 11730 */ {(12<<2)|2,{101,66,0}}, +/* 11731 */ {(12<<2)|2,{101,66,0}}, +/* 11732 */ {(12<<2)|2,{101,66,0}}, +/* 11733 */ {(12<<2)|2,{101,66,0}}, +/* 11734 */ {(12<<2)|2,{101,66,0}}, +/* 11735 */ {(12<<2)|2,{101,66,0}}, +/* 11736 */ {(12<<2)|2,{101,66,0}}, +/* 11737 */ {(12<<2)|2,{101,66,0}}, +/* 11738 */ {(12<<2)|2,{101,66,0}}, +/* 11739 */ {(12<<2)|2,{101,66,0}}, +/* 11740 */ {(12<<2)|2,{101,66,0}}, +/* 11741 */ {(12<<2)|2,{101,66,0}}, +/* 11742 */ {(12<<2)|2,{101,66,0}}, +/* 11743 */ {(12<<2)|2,{101,66,0}}, +/* 11744 */ {(12<<2)|2,{101,67,0}}, +/* 11745 */ {(12<<2)|2,{101,67,0}}, +/* 11746 */ {(12<<2)|2,{101,67,0}}, +/* 11747 */ {(12<<2)|2,{101,67,0}}, +/* 11748 */ {(12<<2)|2,{101,67,0}}, +/* 11749 */ {(12<<2)|2,{101,67,0}}, +/* 11750 */ {(12<<2)|2,{101,67,0}}, +/* 11751 */ {(12<<2)|2,{101,67,0}}, +/* 11752 */ {(12<<2)|2,{101,67,0}}, +/* 11753 */ {(12<<2)|2,{101,67,0}}, +/* 11754 */ {(12<<2)|2,{101,67,0}}, +/* 11755 */ {(12<<2)|2,{101,67,0}}, +/* 11756 */ {(12<<2)|2,{101,67,0}}, +/* 11757 */ {(12<<2)|2,{101,67,0}}, +/* 11758 */ {(12<<2)|2,{101,67,0}}, +/* 11759 */ {(12<<2)|2,{101,67,0}}, +/* 11760 */ {(12<<2)|2,{101,68,0}}, +/* 11761 */ {(12<<2)|2,{101,68,0}}, +/* 11762 */ {(12<<2)|2,{101,68,0}}, +/* 11763 */ {(12<<2)|2,{101,68,0}}, +/* 11764 */ {(12<<2)|2,{101,68,0}}, +/* 11765 */ {(12<<2)|2,{101,68,0}}, +/* 11766 */ {(12<<2)|2,{101,68,0}}, +/* 11767 */ {(12<<2)|2,{101,68,0}}, +/* 11768 */ {(12<<2)|2,{101,68,0}}, +/* 11769 */ {(12<<2)|2,{101,68,0}}, +/* 11770 */ {(12<<2)|2,{101,68,0}}, +/* 11771 */ {(12<<2)|2,{101,68,0}}, +/* 11772 */ {(12<<2)|2,{101,68,0}}, +/* 11773 */ {(12<<2)|2,{101,68,0}}, +/* 11774 */ {(12<<2)|2,{101,68,0}}, +/* 11775 */ {(12<<2)|2,{101,68,0}}, +/* 11776 */ {(12<<2)|2,{101,69,0}}, +/* 11777 */ {(12<<2)|2,{101,69,0}}, +/* 11778 */ {(12<<2)|2,{101,69,0}}, +/* 11779 */ {(12<<2)|2,{101,69,0}}, +/* 11780 */ {(12<<2)|2,{101,69,0}}, +/* 11781 */ {(12<<2)|2,{101,69,0}}, +/* 11782 */ {(12<<2)|2,{101,69,0}}, +/* 11783 */ {(12<<2)|2,{101,69,0}}, +/* 11784 */ {(12<<2)|2,{101,69,0}}, +/* 11785 */ {(12<<2)|2,{101,69,0}}, +/* 11786 */ {(12<<2)|2,{101,69,0}}, +/* 11787 */ {(12<<2)|2,{101,69,0}}, +/* 11788 */ {(12<<2)|2,{101,69,0}}, +/* 11789 */ {(12<<2)|2,{101,69,0}}, +/* 11790 */ {(12<<2)|2,{101,69,0}}, +/* 11791 */ {(12<<2)|2,{101,69,0}}, +/* 11792 */ {(12<<2)|2,{101,70,0}}, +/* 11793 */ {(12<<2)|2,{101,70,0}}, +/* 11794 */ {(12<<2)|2,{101,70,0}}, +/* 11795 */ {(12<<2)|2,{101,70,0}}, +/* 11796 */ {(12<<2)|2,{101,70,0}}, +/* 11797 */ {(12<<2)|2,{101,70,0}}, +/* 11798 */ {(12<<2)|2,{101,70,0}}, +/* 11799 */ {(12<<2)|2,{101,70,0}}, +/* 11800 */ {(12<<2)|2,{101,70,0}}, +/* 11801 */ {(12<<2)|2,{101,70,0}}, +/* 11802 */ {(12<<2)|2,{101,70,0}}, +/* 11803 */ {(12<<2)|2,{101,70,0}}, +/* 11804 */ {(12<<2)|2,{101,70,0}}, +/* 11805 */ {(12<<2)|2,{101,70,0}}, +/* 11806 */ {(12<<2)|2,{101,70,0}}, +/* 11807 */ {(12<<2)|2,{101,70,0}}, +/* 11808 */ {(12<<2)|2,{101,71,0}}, +/* 11809 */ {(12<<2)|2,{101,71,0}}, +/* 11810 */ {(12<<2)|2,{101,71,0}}, +/* 11811 */ {(12<<2)|2,{101,71,0}}, +/* 11812 */ {(12<<2)|2,{101,71,0}}, +/* 11813 */ {(12<<2)|2,{101,71,0}}, +/* 11814 */ {(12<<2)|2,{101,71,0}}, +/* 11815 */ {(12<<2)|2,{101,71,0}}, +/* 11816 */ {(12<<2)|2,{101,71,0}}, +/* 11817 */ {(12<<2)|2,{101,71,0}}, +/* 11818 */ {(12<<2)|2,{101,71,0}}, +/* 11819 */ {(12<<2)|2,{101,71,0}}, +/* 11820 */ {(12<<2)|2,{101,71,0}}, +/* 11821 */ {(12<<2)|2,{101,71,0}}, +/* 11822 */ {(12<<2)|2,{101,71,0}}, +/* 11823 */ {(12<<2)|2,{101,71,0}}, +/* 11824 */ {(12<<2)|2,{101,72,0}}, +/* 11825 */ {(12<<2)|2,{101,72,0}}, +/* 11826 */ {(12<<2)|2,{101,72,0}}, +/* 11827 */ {(12<<2)|2,{101,72,0}}, +/* 11828 */ {(12<<2)|2,{101,72,0}}, +/* 11829 */ {(12<<2)|2,{101,72,0}}, +/* 11830 */ {(12<<2)|2,{101,72,0}}, +/* 11831 */ {(12<<2)|2,{101,72,0}}, +/* 11832 */ {(12<<2)|2,{101,72,0}}, +/* 11833 */ {(12<<2)|2,{101,72,0}}, +/* 11834 */ {(12<<2)|2,{101,72,0}}, +/* 11835 */ {(12<<2)|2,{101,72,0}}, +/* 11836 */ {(12<<2)|2,{101,72,0}}, +/* 11837 */ {(12<<2)|2,{101,72,0}}, +/* 11838 */ {(12<<2)|2,{101,72,0}}, +/* 11839 */ {(12<<2)|2,{101,72,0}}, +/* 11840 */ {(12<<2)|2,{101,73,0}}, +/* 11841 */ {(12<<2)|2,{101,73,0}}, +/* 11842 */ {(12<<2)|2,{101,73,0}}, +/* 11843 */ {(12<<2)|2,{101,73,0}}, +/* 11844 */ {(12<<2)|2,{101,73,0}}, +/* 11845 */ {(12<<2)|2,{101,73,0}}, +/* 11846 */ {(12<<2)|2,{101,73,0}}, +/* 11847 */ {(12<<2)|2,{101,73,0}}, +/* 11848 */ {(12<<2)|2,{101,73,0}}, +/* 11849 */ {(12<<2)|2,{101,73,0}}, +/* 11850 */ {(12<<2)|2,{101,73,0}}, +/* 11851 */ {(12<<2)|2,{101,73,0}}, +/* 11852 */ {(12<<2)|2,{101,73,0}}, +/* 11853 */ {(12<<2)|2,{101,73,0}}, +/* 11854 */ {(12<<2)|2,{101,73,0}}, +/* 11855 */ {(12<<2)|2,{101,73,0}}, +/* 11856 */ {(12<<2)|2,{101,74,0}}, +/* 11857 */ {(12<<2)|2,{101,74,0}}, +/* 11858 */ {(12<<2)|2,{101,74,0}}, +/* 11859 */ {(12<<2)|2,{101,74,0}}, +/* 11860 */ {(12<<2)|2,{101,74,0}}, +/* 11861 */ {(12<<2)|2,{101,74,0}}, +/* 11862 */ {(12<<2)|2,{101,74,0}}, +/* 11863 */ {(12<<2)|2,{101,74,0}}, +/* 11864 */ {(12<<2)|2,{101,74,0}}, +/* 11865 */ {(12<<2)|2,{101,74,0}}, +/* 11866 */ {(12<<2)|2,{101,74,0}}, +/* 11867 */ {(12<<2)|2,{101,74,0}}, +/* 11868 */ {(12<<2)|2,{101,74,0}}, +/* 11869 */ {(12<<2)|2,{101,74,0}}, +/* 11870 */ {(12<<2)|2,{101,74,0}}, +/* 11871 */ {(12<<2)|2,{101,74,0}}, +/* 11872 */ {(12<<2)|2,{101,75,0}}, +/* 11873 */ {(12<<2)|2,{101,75,0}}, +/* 11874 */ {(12<<2)|2,{101,75,0}}, +/* 11875 */ {(12<<2)|2,{101,75,0}}, +/* 11876 */ {(12<<2)|2,{101,75,0}}, +/* 11877 */ {(12<<2)|2,{101,75,0}}, +/* 11878 */ {(12<<2)|2,{101,75,0}}, +/* 11879 */ {(12<<2)|2,{101,75,0}}, +/* 11880 */ {(12<<2)|2,{101,75,0}}, +/* 11881 */ {(12<<2)|2,{101,75,0}}, +/* 11882 */ {(12<<2)|2,{101,75,0}}, +/* 11883 */ {(12<<2)|2,{101,75,0}}, +/* 11884 */ {(12<<2)|2,{101,75,0}}, +/* 11885 */ {(12<<2)|2,{101,75,0}}, +/* 11886 */ {(12<<2)|2,{101,75,0}}, +/* 11887 */ {(12<<2)|2,{101,75,0}}, +/* 11888 */ {(12<<2)|2,{101,76,0}}, +/* 11889 */ {(12<<2)|2,{101,76,0}}, +/* 11890 */ {(12<<2)|2,{101,76,0}}, +/* 11891 */ {(12<<2)|2,{101,76,0}}, +/* 11892 */ {(12<<2)|2,{101,76,0}}, +/* 11893 */ {(12<<2)|2,{101,76,0}}, +/* 11894 */ {(12<<2)|2,{101,76,0}}, +/* 11895 */ {(12<<2)|2,{101,76,0}}, +/* 11896 */ {(12<<2)|2,{101,76,0}}, +/* 11897 */ {(12<<2)|2,{101,76,0}}, +/* 11898 */ {(12<<2)|2,{101,76,0}}, +/* 11899 */ {(12<<2)|2,{101,76,0}}, +/* 11900 */ {(12<<2)|2,{101,76,0}}, +/* 11901 */ {(12<<2)|2,{101,76,0}}, +/* 11902 */ {(12<<2)|2,{101,76,0}}, +/* 11903 */ {(12<<2)|2,{101,76,0}}, +/* 11904 */ {(12<<2)|2,{101,77,0}}, +/* 11905 */ {(12<<2)|2,{101,77,0}}, +/* 11906 */ {(12<<2)|2,{101,77,0}}, +/* 11907 */ {(12<<2)|2,{101,77,0}}, +/* 11908 */ {(12<<2)|2,{101,77,0}}, +/* 11909 */ {(12<<2)|2,{101,77,0}}, +/* 11910 */ {(12<<2)|2,{101,77,0}}, +/* 11911 */ {(12<<2)|2,{101,77,0}}, +/* 11912 */ {(12<<2)|2,{101,77,0}}, +/* 11913 */ {(12<<2)|2,{101,77,0}}, +/* 11914 */ {(12<<2)|2,{101,77,0}}, +/* 11915 */ {(12<<2)|2,{101,77,0}}, +/* 11916 */ {(12<<2)|2,{101,77,0}}, +/* 11917 */ {(12<<2)|2,{101,77,0}}, +/* 11918 */ {(12<<2)|2,{101,77,0}}, +/* 11919 */ {(12<<2)|2,{101,77,0}}, +/* 11920 */ {(12<<2)|2,{101,78,0}}, +/* 11921 */ {(12<<2)|2,{101,78,0}}, +/* 11922 */ {(12<<2)|2,{101,78,0}}, +/* 11923 */ {(12<<2)|2,{101,78,0}}, +/* 11924 */ {(12<<2)|2,{101,78,0}}, +/* 11925 */ {(12<<2)|2,{101,78,0}}, +/* 11926 */ {(12<<2)|2,{101,78,0}}, +/* 11927 */ {(12<<2)|2,{101,78,0}}, +/* 11928 */ {(12<<2)|2,{101,78,0}}, +/* 11929 */ {(12<<2)|2,{101,78,0}}, +/* 11930 */ {(12<<2)|2,{101,78,0}}, +/* 11931 */ {(12<<2)|2,{101,78,0}}, +/* 11932 */ {(12<<2)|2,{101,78,0}}, +/* 11933 */ {(12<<2)|2,{101,78,0}}, +/* 11934 */ {(12<<2)|2,{101,78,0}}, +/* 11935 */ {(12<<2)|2,{101,78,0}}, +/* 11936 */ {(12<<2)|2,{101,79,0}}, +/* 11937 */ {(12<<2)|2,{101,79,0}}, +/* 11938 */ {(12<<2)|2,{101,79,0}}, +/* 11939 */ {(12<<2)|2,{101,79,0}}, +/* 11940 */ {(12<<2)|2,{101,79,0}}, +/* 11941 */ {(12<<2)|2,{101,79,0}}, +/* 11942 */ {(12<<2)|2,{101,79,0}}, +/* 11943 */ {(12<<2)|2,{101,79,0}}, +/* 11944 */ {(12<<2)|2,{101,79,0}}, +/* 11945 */ {(12<<2)|2,{101,79,0}}, +/* 11946 */ {(12<<2)|2,{101,79,0}}, +/* 11947 */ {(12<<2)|2,{101,79,0}}, +/* 11948 */ {(12<<2)|2,{101,79,0}}, +/* 11949 */ {(12<<2)|2,{101,79,0}}, +/* 11950 */ {(12<<2)|2,{101,79,0}}, +/* 11951 */ {(12<<2)|2,{101,79,0}}, +/* 11952 */ {(12<<2)|2,{101,80,0}}, +/* 11953 */ {(12<<2)|2,{101,80,0}}, +/* 11954 */ {(12<<2)|2,{101,80,0}}, +/* 11955 */ {(12<<2)|2,{101,80,0}}, +/* 11956 */ {(12<<2)|2,{101,80,0}}, +/* 11957 */ {(12<<2)|2,{101,80,0}}, +/* 11958 */ {(12<<2)|2,{101,80,0}}, +/* 11959 */ {(12<<2)|2,{101,80,0}}, +/* 11960 */ {(12<<2)|2,{101,80,0}}, +/* 11961 */ {(12<<2)|2,{101,80,0}}, +/* 11962 */ {(12<<2)|2,{101,80,0}}, +/* 11963 */ {(12<<2)|2,{101,80,0}}, +/* 11964 */ {(12<<2)|2,{101,80,0}}, +/* 11965 */ {(12<<2)|2,{101,80,0}}, +/* 11966 */ {(12<<2)|2,{101,80,0}}, +/* 11967 */ {(12<<2)|2,{101,80,0}}, +/* 11968 */ {(12<<2)|2,{101,81,0}}, +/* 11969 */ {(12<<2)|2,{101,81,0}}, +/* 11970 */ {(12<<2)|2,{101,81,0}}, +/* 11971 */ {(12<<2)|2,{101,81,0}}, +/* 11972 */ {(12<<2)|2,{101,81,0}}, +/* 11973 */ {(12<<2)|2,{101,81,0}}, +/* 11974 */ {(12<<2)|2,{101,81,0}}, +/* 11975 */ {(12<<2)|2,{101,81,0}}, +/* 11976 */ {(12<<2)|2,{101,81,0}}, +/* 11977 */ {(12<<2)|2,{101,81,0}}, +/* 11978 */ {(12<<2)|2,{101,81,0}}, +/* 11979 */ {(12<<2)|2,{101,81,0}}, +/* 11980 */ {(12<<2)|2,{101,81,0}}, +/* 11981 */ {(12<<2)|2,{101,81,0}}, +/* 11982 */ {(12<<2)|2,{101,81,0}}, +/* 11983 */ {(12<<2)|2,{101,81,0}}, +/* 11984 */ {(12<<2)|2,{101,82,0}}, +/* 11985 */ {(12<<2)|2,{101,82,0}}, +/* 11986 */ {(12<<2)|2,{101,82,0}}, +/* 11987 */ {(12<<2)|2,{101,82,0}}, +/* 11988 */ {(12<<2)|2,{101,82,0}}, +/* 11989 */ {(12<<2)|2,{101,82,0}}, +/* 11990 */ {(12<<2)|2,{101,82,0}}, +/* 11991 */ {(12<<2)|2,{101,82,0}}, +/* 11992 */ {(12<<2)|2,{101,82,0}}, +/* 11993 */ {(12<<2)|2,{101,82,0}}, +/* 11994 */ {(12<<2)|2,{101,82,0}}, +/* 11995 */ {(12<<2)|2,{101,82,0}}, +/* 11996 */ {(12<<2)|2,{101,82,0}}, +/* 11997 */ {(12<<2)|2,{101,82,0}}, +/* 11998 */ {(12<<2)|2,{101,82,0}}, +/* 11999 */ {(12<<2)|2,{101,82,0}}, +/* 12000 */ {(12<<2)|2,{101,83,0}}, +/* 12001 */ {(12<<2)|2,{101,83,0}}, +/* 12002 */ {(12<<2)|2,{101,83,0}}, +/* 12003 */ {(12<<2)|2,{101,83,0}}, +/* 12004 */ {(12<<2)|2,{101,83,0}}, +/* 12005 */ {(12<<2)|2,{101,83,0}}, +/* 12006 */ {(12<<2)|2,{101,83,0}}, +/* 12007 */ {(12<<2)|2,{101,83,0}}, +/* 12008 */ {(12<<2)|2,{101,83,0}}, +/* 12009 */ {(12<<2)|2,{101,83,0}}, +/* 12010 */ {(12<<2)|2,{101,83,0}}, +/* 12011 */ {(12<<2)|2,{101,83,0}}, +/* 12012 */ {(12<<2)|2,{101,83,0}}, +/* 12013 */ {(12<<2)|2,{101,83,0}}, +/* 12014 */ {(12<<2)|2,{101,83,0}}, +/* 12015 */ {(12<<2)|2,{101,83,0}}, +/* 12016 */ {(12<<2)|2,{101,84,0}}, +/* 12017 */ {(12<<2)|2,{101,84,0}}, +/* 12018 */ {(12<<2)|2,{101,84,0}}, +/* 12019 */ {(12<<2)|2,{101,84,0}}, +/* 12020 */ {(12<<2)|2,{101,84,0}}, +/* 12021 */ {(12<<2)|2,{101,84,0}}, +/* 12022 */ {(12<<2)|2,{101,84,0}}, +/* 12023 */ {(12<<2)|2,{101,84,0}}, +/* 12024 */ {(12<<2)|2,{101,84,0}}, +/* 12025 */ {(12<<2)|2,{101,84,0}}, +/* 12026 */ {(12<<2)|2,{101,84,0}}, +/* 12027 */ {(12<<2)|2,{101,84,0}}, +/* 12028 */ {(12<<2)|2,{101,84,0}}, +/* 12029 */ {(12<<2)|2,{101,84,0}}, +/* 12030 */ {(12<<2)|2,{101,84,0}}, +/* 12031 */ {(12<<2)|2,{101,84,0}}, +/* 12032 */ {(12<<2)|2,{101,85,0}}, +/* 12033 */ {(12<<2)|2,{101,85,0}}, +/* 12034 */ {(12<<2)|2,{101,85,0}}, +/* 12035 */ {(12<<2)|2,{101,85,0}}, +/* 12036 */ {(12<<2)|2,{101,85,0}}, +/* 12037 */ {(12<<2)|2,{101,85,0}}, +/* 12038 */ {(12<<2)|2,{101,85,0}}, +/* 12039 */ {(12<<2)|2,{101,85,0}}, +/* 12040 */ {(12<<2)|2,{101,85,0}}, +/* 12041 */ {(12<<2)|2,{101,85,0}}, +/* 12042 */ {(12<<2)|2,{101,85,0}}, +/* 12043 */ {(12<<2)|2,{101,85,0}}, +/* 12044 */ {(12<<2)|2,{101,85,0}}, +/* 12045 */ {(12<<2)|2,{101,85,0}}, +/* 12046 */ {(12<<2)|2,{101,85,0}}, +/* 12047 */ {(12<<2)|2,{101,85,0}}, +/* 12048 */ {(12<<2)|2,{101,86,0}}, +/* 12049 */ {(12<<2)|2,{101,86,0}}, +/* 12050 */ {(12<<2)|2,{101,86,0}}, +/* 12051 */ {(12<<2)|2,{101,86,0}}, +/* 12052 */ {(12<<2)|2,{101,86,0}}, +/* 12053 */ {(12<<2)|2,{101,86,0}}, +/* 12054 */ {(12<<2)|2,{101,86,0}}, +/* 12055 */ {(12<<2)|2,{101,86,0}}, +/* 12056 */ {(12<<2)|2,{101,86,0}}, +/* 12057 */ {(12<<2)|2,{101,86,0}}, +/* 12058 */ {(12<<2)|2,{101,86,0}}, +/* 12059 */ {(12<<2)|2,{101,86,0}}, +/* 12060 */ {(12<<2)|2,{101,86,0}}, +/* 12061 */ {(12<<2)|2,{101,86,0}}, +/* 12062 */ {(12<<2)|2,{101,86,0}}, +/* 12063 */ {(12<<2)|2,{101,86,0}}, +/* 12064 */ {(12<<2)|2,{101,87,0}}, +/* 12065 */ {(12<<2)|2,{101,87,0}}, +/* 12066 */ {(12<<2)|2,{101,87,0}}, +/* 12067 */ {(12<<2)|2,{101,87,0}}, +/* 12068 */ {(12<<2)|2,{101,87,0}}, +/* 12069 */ {(12<<2)|2,{101,87,0}}, +/* 12070 */ {(12<<2)|2,{101,87,0}}, +/* 12071 */ {(12<<2)|2,{101,87,0}}, +/* 12072 */ {(12<<2)|2,{101,87,0}}, +/* 12073 */ {(12<<2)|2,{101,87,0}}, +/* 12074 */ {(12<<2)|2,{101,87,0}}, +/* 12075 */ {(12<<2)|2,{101,87,0}}, +/* 12076 */ {(12<<2)|2,{101,87,0}}, +/* 12077 */ {(12<<2)|2,{101,87,0}}, +/* 12078 */ {(12<<2)|2,{101,87,0}}, +/* 12079 */ {(12<<2)|2,{101,87,0}}, +/* 12080 */ {(12<<2)|2,{101,89,0}}, +/* 12081 */ {(12<<2)|2,{101,89,0}}, +/* 12082 */ {(12<<2)|2,{101,89,0}}, +/* 12083 */ {(12<<2)|2,{101,89,0}}, +/* 12084 */ {(12<<2)|2,{101,89,0}}, +/* 12085 */ {(12<<2)|2,{101,89,0}}, +/* 12086 */ {(12<<2)|2,{101,89,0}}, +/* 12087 */ {(12<<2)|2,{101,89,0}}, +/* 12088 */ {(12<<2)|2,{101,89,0}}, +/* 12089 */ {(12<<2)|2,{101,89,0}}, +/* 12090 */ {(12<<2)|2,{101,89,0}}, +/* 12091 */ {(12<<2)|2,{101,89,0}}, +/* 12092 */ {(12<<2)|2,{101,89,0}}, +/* 12093 */ {(12<<2)|2,{101,89,0}}, +/* 12094 */ {(12<<2)|2,{101,89,0}}, +/* 12095 */ {(12<<2)|2,{101,89,0}}, +/* 12096 */ {(12<<2)|2,{101,106,0}}, +/* 12097 */ {(12<<2)|2,{101,106,0}}, +/* 12098 */ {(12<<2)|2,{101,106,0}}, +/* 12099 */ {(12<<2)|2,{101,106,0}}, +/* 12100 */ {(12<<2)|2,{101,106,0}}, +/* 12101 */ {(12<<2)|2,{101,106,0}}, +/* 12102 */ {(12<<2)|2,{101,106,0}}, +/* 12103 */ {(12<<2)|2,{101,106,0}}, +/* 12104 */ {(12<<2)|2,{101,106,0}}, +/* 12105 */ {(12<<2)|2,{101,106,0}}, +/* 12106 */ {(12<<2)|2,{101,106,0}}, +/* 12107 */ {(12<<2)|2,{101,106,0}}, +/* 12108 */ {(12<<2)|2,{101,106,0}}, +/* 12109 */ {(12<<2)|2,{101,106,0}}, +/* 12110 */ {(12<<2)|2,{101,106,0}}, +/* 12111 */ {(12<<2)|2,{101,106,0}}, +/* 12112 */ {(12<<2)|2,{101,107,0}}, +/* 12113 */ {(12<<2)|2,{101,107,0}}, +/* 12114 */ {(12<<2)|2,{101,107,0}}, +/* 12115 */ {(12<<2)|2,{101,107,0}}, +/* 12116 */ {(12<<2)|2,{101,107,0}}, +/* 12117 */ {(12<<2)|2,{101,107,0}}, +/* 12118 */ {(12<<2)|2,{101,107,0}}, +/* 12119 */ {(12<<2)|2,{101,107,0}}, +/* 12120 */ {(12<<2)|2,{101,107,0}}, +/* 12121 */ {(12<<2)|2,{101,107,0}}, +/* 12122 */ {(12<<2)|2,{101,107,0}}, +/* 12123 */ {(12<<2)|2,{101,107,0}}, +/* 12124 */ {(12<<2)|2,{101,107,0}}, +/* 12125 */ {(12<<2)|2,{101,107,0}}, +/* 12126 */ {(12<<2)|2,{101,107,0}}, +/* 12127 */ {(12<<2)|2,{101,107,0}}, +/* 12128 */ {(12<<2)|2,{101,113,0}}, +/* 12129 */ {(12<<2)|2,{101,113,0}}, +/* 12130 */ {(12<<2)|2,{101,113,0}}, +/* 12131 */ {(12<<2)|2,{101,113,0}}, +/* 12132 */ {(12<<2)|2,{101,113,0}}, +/* 12133 */ {(12<<2)|2,{101,113,0}}, +/* 12134 */ {(12<<2)|2,{101,113,0}}, +/* 12135 */ {(12<<2)|2,{101,113,0}}, +/* 12136 */ {(12<<2)|2,{101,113,0}}, +/* 12137 */ {(12<<2)|2,{101,113,0}}, +/* 12138 */ {(12<<2)|2,{101,113,0}}, +/* 12139 */ {(12<<2)|2,{101,113,0}}, +/* 12140 */ {(12<<2)|2,{101,113,0}}, +/* 12141 */ {(12<<2)|2,{101,113,0}}, +/* 12142 */ {(12<<2)|2,{101,113,0}}, +/* 12143 */ {(12<<2)|2,{101,113,0}}, +/* 12144 */ {(12<<2)|2,{101,118,0}}, +/* 12145 */ {(12<<2)|2,{101,118,0}}, +/* 12146 */ {(12<<2)|2,{101,118,0}}, +/* 12147 */ {(12<<2)|2,{101,118,0}}, +/* 12148 */ {(12<<2)|2,{101,118,0}}, +/* 12149 */ {(12<<2)|2,{101,118,0}}, +/* 12150 */ {(12<<2)|2,{101,118,0}}, +/* 12151 */ {(12<<2)|2,{101,118,0}}, +/* 12152 */ {(12<<2)|2,{101,118,0}}, +/* 12153 */ {(12<<2)|2,{101,118,0}}, +/* 12154 */ {(12<<2)|2,{101,118,0}}, +/* 12155 */ {(12<<2)|2,{101,118,0}}, +/* 12156 */ {(12<<2)|2,{101,118,0}}, +/* 12157 */ {(12<<2)|2,{101,118,0}}, +/* 12158 */ {(12<<2)|2,{101,118,0}}, +/* 12159 */ {(12<<2)|2,{101,118,0}}, +/* 12160 */ {(12<<2)|2,{101,119,0}}, +/* 12161 */ {(12<<2)|2,{101,119,0}}, +/* 12162 */ {(12<<2)|2,{101,119,0}}, +/* 12163 */ {(12<<2)|2,{101,119,0}}, +/* 12164 */ {(12<<2)|2,{101,119,0}}, +/* 12165 */ {(12<<2)|2,{101,119,0}}, +/* 12166 */ {(12<<2)|2,{101,119,0}}, +/* 12167 */ {(12<<2)|2,{101,119,0}}, +/* 12168 */ {(12<<2)|2,{101,119,0}}, +/* 12169 */ {(12<<2)|2,{101,119,0}}, +/* 12170 */ {(12<<2)|2,{101,119,0}}, +/* 12171 */ {(12<<2)|2,{101,119,0}}, +/* 12172 */ {(12<<2)|2,{101,119,0}}, +/* 12173 */ {(12<<2)|2,{101,119,0}}, +/* 12174 */ {(12<<2)|2,{101,119,0}}, +/* 12175 */ {(12<<2)|2,{101,119,0}}, +/* 12176 */ {(12<<2)|2,{101,120,0}}, +/* 12177 */ {(12<<2)|2,{101,120,0}}, +/* 12178 */ {(12<<2)|2,{101,120,0}}, +/* 12179 */ {(12<<2)|2,{101,120,0}}, +/* 12180 */ {(12<<2)|2,{101,120,0}}, +/* 12181 */ {(12<<2)|2,{101,120,0}}, +/* 12182 */ {(12<<2)|2,{101,120,0}}, +/* 12183 */ {(12<<2)|2,{101,120,0}}, +/* 12184 */ {(12<<2)|2,{101,120,0}}, +/* 12185 */ {(12<<2)|2,{101,120,0}}, +/* 12186 */ {(12<<2)|2,{101,120,0}}, +/* 12187 */ {(12<<2)|2,{101,120,0}}, +/* 12188 */ {(12<<2)|2,{101,120,0}}, +/* 12189 */ {(12<<2)|2,{101,120,0}}, +/* 12190 */ {(12<<2)|2,{101,120,0}}, +/* 12191 */ {(12<<2)|2,{101,120,0}}, +/* 12192 */ {(12<<2)|2,{101,121,0}}, +/* 12193 */ {(12<<2)|2,{101,121,0}}, +/* 12194 */ {(12<<2)|2,{101,121,0}}, +/* 12195 */ {(12<<2)|2,{101,121,0}}, +/* 12196 */ {(12<<2)|2,{101,121,0}}, +/* 12197 */ {(12<<2)|2,{101,121,0}}, +/* 12198 */ {(12<<2)|2,{101,121,0}}, +/* 12199 */ {(12<<2)|2,{101,121,0}}, +/* 12200 */ {(12<<2)|2,{101,121,0}}, +/* 12201 */ {(12<<2)|2,{101,121,0}}, +/* 12202 */ {(12<<2)|2,{101,121,0}}, +/* 12203 */ {(12<<2)|2,{101,121,0}}, +/* 12204 */ {(12<<2)|2,{101,121,0}}, +/* 12205 */ {(12<<2)|2,{101,121,0}}, +/* 12206 */ {(12<<2)|2,{101,121,0}}, +/* 12207 */ {(12<<2)|2,{101,121,0}}, +/* 12208 */ {(12<<2)|2,{101,122,0}}, +/* 12209 */ {(12<<2)|2,{101,122,0}}, +/* 12210 */ {(12<<2)|2,{101,122,0}}, +/* 12211 */ {(12<<2)|2,{101,122,0}}, +/* 12212 */ {(12<<2)|2,{101,122,0}}, +/* 12213 */ {(12<<2)|2,{101,122,0}}, +/* 12214 */ {(12<<2)|2,{101,122,0}}, +/* 12215 */ {(12<<2)|2,{101,122,0}}, +/* 12216 */ {(12<<2)|2,{101,122,0}}, +/* 12217 */ {(12<<2)|2,{101,122,0}}, +/* 12218 */ {(12<<2)|2,{101,122,0}}, +/* 12219 */ {(12<<2)|2,{101,122,0}}, +/* 12220 */ {(12<<2)|2,{101,122,0}}, +/* 12221 */ {(12<<2)|2,{101,122,0}}, +/* 12222 */ {(12<<2)|2,{101,122,0}}, +/* 12223 */ {(12<<2)|2,{101,122,0}}, +/* 12224 */ {(13<<2)|2,{101,38,0}}, +/* 12225 */ {(13<<2)|2,{101,38,0}}, +/* 12226 */ {(13<<2)|2,{101,38,0}}, +/* 12227 */ {(13<<2)|2,{101,38,0}}, +/* 12228 */ {(13<<2)|2,{101,38,0}}, +/* 12229 */ {(13<<2)|2,{101,38,0}}, +/* 12230 */ {(13<<2)|2,{101,38,0}}, +/* 12231 */ {(13<<2)|2,{101,38,0}}, +/* 12232 */ {(13<<2)|2,{101,42,0}}, +/* 12233 */ {(13<<2)|2,{101,42,0}}, +/* 12234 */ {(13<<2)|2,{101,42,0}}, +/* 12235 */ {(13<<2)|2,{101,42,0}}, +/* 12236 */ {(13<<2)|2,{101,42,0}}, +/* 12237 */ {(13<<2)|2,{101,42,0}}, +/* 12238 */ {(13<<2)|2,{101,42,0}}, +/* 12239 */ {(13<<2)|2,{101,42,0}}, +/* 12240 */ {(13<<2)|2,{101,44,0}}, +/* 12241 */ {(13<<2)|2,{101,44,0}}, +/* 12242 */ {(13<<2)|2,{101,44,0}}, +/* 12243 */ {(13<<2)|2,{101,44,0}}, +/* 12244 */ {(13<<2)|2,{101,44,0}}, +/* 12245 */ {(13<<2)|2,{101,44,0}}, +/* 12246 */ {(13<<2)|2,{101,44,0}}, +/* 12247 */ {(13<<2)|2,{101,44,0}}, +/* 12248 */ {(13<<2)|2,{101,59,0}}, +/* 12249 */ {(13<<2)|2,{101,59,0}}, +/* 12250 */ {(13<<2)|2,{101,59,0}}, +/* 12251 */ {(13<<2)|2,{101,59,0}}, +/* 12252 */ {(13<<2)|2,{101,59,0}}, +/* 12253 */ {(13<<2)|2,{101,59,0}}, +/* 12254 */ {(13<<2)|2,{101,59,0}}, +/* 12255 */ {(13<<2)|2,{101,59,0}}, +/* 12256 */ {(13<<2)|2,{101,88,0}}, +/* 12257 */ {(13<<2)|2,{101,88,0}}, +/* 12258 */ {(13<<2)|2,{101,88,0}}, +/* 12259 */ {(13<<2)|2,{101,88,0}}, +/* 12260 */ {(13<<2)|2,{101,88,0}}, +/* 12261 */ {(13<<2)|2,{101,88,0}}, +/* 12262 */ {(13<<2)|2,{101,88,0}}, +/* 12263 */ {(13<<2)|2,{101,88,0}}, +/* 12264 */ {(13<<2)|2,{101,90,0}}, +/* 12265 */ {(13<<2)|2,{101,90,0}}, +/* 12266 */ {(13<<2)|2,{101,90,0}}, +/* 12267 */ {(13<<2)|2,{101,90,0}}, +/* 12268 */ {(13<<2)|2,{101,90,0}}, +/* 12269 */ {(13<<2)|2,{101,90,0}}, +/* 12270 */ {(13<<2)|2,{101,90,0}}, +/* 12271 */ {(13<<2)|2,{101,90,0}}, +/* 12272 */ {(15<<2)|2,{101,33,0}}, +/* 12273 */ {(15<<2)|2,{101,33,0}}, +/* 12274 */ {(15<<2)|2,{101,34,0}}, +/* 12275 */ {(15<<2)|2,{101,34,0}}, +/* 12276 */ {(15<<2)|2,{101,40,0}}, +/* 12277 */ {(15<<2)|2,{101,40,0}}, +/* 12278 */ {(15<<2)|2,{101,41,0}}, +/* 12279 */ {(15<<2)|2,{101,41,0}}, +/* 12280 */ {(15<<2)|2,{101,63,0}}, +/* 12281 */ {(15<<2)|2,{101,63,0}}, +/* 12282 */ {(16<<2)|2,{101,39,0}}, +/* 12283 */ {(16<<2)|2,{101,43,0}}, +/* 12284 */ {(16<<2)|2,{101,124,0}}, +/* 12285 */ {(5<<2)|1,{101,0,0}}, +/* 12286 */ {(5<<2)|1,{101,0,0}}, +/* 12287 */ {(5<<2)|1,{101,0,0}}, +/* 12288 */ {(15<<2)|3,{105,48,48}}, +/* 12289 */ {(15<<2)|3,{105,48,48}}, +/* 12290 */ {(15<<2)|3,{105,48,49}}, +/* 12291 */ {(15<<2)|3,{105,48,49}}, +/* 12292 */ {(15<<2)|3,{105,48,50}}, +/* 12293 */ {(15<<2)|3,{105,48,50}}, +/* 12294 */ {(15<<2)|3,{105,48,97}}, +/* 12295 */ {(15<<2)|3,{105,48,97}}, +/* 12296 */ {(15<<2)|3,{105,48,99}}, +/* 12297 */ {(15<<2)|3,{105,48,99}}, +/* 12298 */ {(15<<2)|3,{105,48,101}}, +/* 12299 */ {(15<<2)|3,{105,48,101}}, +/* 12300 */ {(15<<2)|3,{105,48,105}}, +/* 12301 */ {(15<<2)|3,{105,48,105}}, +/* 12302 */ {(15<<2)|3,{105,48,111}}, +/* 12303 */ {(15<<2)|3,{105,48,111}}, +/* 12304 */ {(15<<2)|3,{105,48,115}}, +/* 12305 */ {(15<<2)|3,{105,48,115}}, +/* 12306 */ {(15<<2)|3,{105,48,116}}, +/* 12307 */ {(15<<2)|3,{105,48,116}}, +/* 12308 */ {(16<<2)|3,{105,48,32}}, +/* 12309 */ {(16<<2)|3,{105,48,37}}, +/* 12310 */ {(16<<2)|3,{105,48,45}}, +/* 12311 */ {(16<<2)|3,{105,48,46}}, +/* 12312 */ {(16<<2)|3,{105,48,47}}, +/* 12313 */ {(16<<2)|3,{105,48,51}}, +/* 12314 */ {(16<<2)|3,{105,48,52}}, +/* 12315 */ {(16<<2)|3,{105,48,53}}, +/* 12316 */ {(16<<2)|3,{105,48,54}}, +/* 12317 */ {(16<<2)|3,{105,48,55}}, +/* 12318 */ {(16<<2)|3,{105,48,56}}, +/* 12319 */ {(16<<2)|3,{105,48,57}}, +/* 12320 */ {(16<<2)|3,{105,48,61}}, +/* 12321 */ {(16<<2)|3,{105,48,65}}, +/* 12322 */ {(16<<2)|3,{105,48,95}}, +/* 12323 */ {(16<<2)|3,{105,48,98}}, +/* 12324 */ {(16<<2)|3,{105,48,100}}, +/* 12325 */ {(16<<2)|3,{105,48,102}}, +/* 12326 */ {(16<<2)|3,{105,48,103}}, +/* 12327 */ {(16<<2)|3,{105,48,104}}, +/* 12328 */ {(16<<2)|3,{105,48,108}}, +/* 12329 */ {(16<<2)|3,{105,48,109}}, +/* 12330 */ {(16<<2)|3,{105,48,110}}, +/* 12331 */ {(16<<2)|3,{105,48,112}}, +/* 12332 */ {(16<<2)|3,{105,48,114}}, +/* 12333 */ {(16<<2)|3,{105,48,117}}, +/* 12334 */ {(10<<2)|2,{105,48,0}}, +/* 12335 */ {(10<<2)|2,{105,48,0}}, +/* 12336 */ {(10<<2)|2,{105,48,0}}, +/* 12337 */ {(10<<2)|2,{105,48,0}}, +/* 12338 */ {(10<<2)|2,{105,48,0}}, +/* 12339 */ {(10<<2)|2,{105,48,0}}, +/* 12340 */ {(10<<2)|2,{105,48,0}}, +/* 12341 */ {(10<<2)|2,{105,48,0}}, +/* 12342 */ {(10<<2)|2,{105,48,0}}, +/* 12343 */ {(10<<2)|2,{105,48,0}}, +/* 12344 */ {(10<<2)|2,{105,48,0}}, +/* 12345 */ {(10<<2)|2,{105,48,0}}, +/* 12346 */ {(10<<2)|2,{105,48,0}}, +/* 12347 */ {(10<<2)|2,{105,48,0}}, +/* 12348 */ {(10<<2)|2,{105,48,0}}, +/* 12349 */ {(10<<2)|2,{105,48,0}}, +/* 12350 */ {(10<<2)|2,{105,48,0}}, +/* 12351 */ {(10<<2)|2,{105,48,0}}, +/* 12352 */ {(15<<2)|3,{105,49,48}}, +/* 12353 */ {(15<<2)|3,{105,49,48}}, +/* 12354 */ {(15<<2)|3,{105,49,49}}, +/* 12355 */ {(15<<2)|3,{105,49,49}}, +/* 12356 */ {(15<<2)|3,{105,49,50}}, +/* 12357 */ {(15<<2)|3,{105,49,50}}, +/* 12358 */ {(15<<2)|3,{105,49,97}}, +/* 12359 */ {(15<<2)|3,{105,49,97}}, +/* 12360 */ {(15<<2)|3,{105,49,99}}, +/* 12361 */ {(15<<2)|3,{105,49,99}}, +/* 12362 */ {(15<<2)|3,{105,49,101}}, +/* 12363 */ {(15<<2)|3,{105,49,101}}, +/* 12364 */ {(15<<2)|3,{105,49,105}}, +/* 12365 */ {(15<<2)|3,{105,49,105}}, +/* 12366 */ {(15<<2)|3,{105,49,111}}, +/* 12367 */ {(15<<2)|3,{105,49,111}}, +/* 12368 */ {(15<<2)|3,{105,49,115}}, +/* 12369 */ {(15<<2)|3,{105,49,115}}, +/* 12370 */ {(15<<2)|3,{105,49,116}}, +/* 12371 */ {(15<<2)|3,{105,49,116}}, +/* 12372 */ {(16<<2)|3,{105,49,32}}, +/* 12373 */ {(16<<2)|3,{105,49,37}}, +/* 12374 */ {(16<<2)|3,{105,49,45}}, +/* 12375 */ {(16<<2)|3,{105,49,46}}, +/* 12376 */ {(16<<2)|3,{105,49,47}}, +/* 12377 */ {(16<<2)|3,{105,49,51}}, +/* 12378 */ {(16<<2)|3,{105,49,52}}, +/* 12379 */ {(16<<2)|3,{105,49,53}}, +/* 12380 */ {(16<<2)|3,{105,49,54}}, +/* 12381 */ {(16<<2)|3,{105,49,55}}, +/* 12382 */ {(16<<2)|3,{105,49,56}}, +/* 12383 */ {(16<<2)|3,{105,49,57}}, +/* 12384 */ {(16<<2)|3,{105,49,61}}, +/* 12385 */ {(16<<2)|3,{105,49,65}}, +/* 12386 */ {(16<<2)|3,{105,49,95}}, +/* 12387 */ {(16<<2)|3,{105,49,98}}, +/* 12388 */ {(16<<2)|3,{105,49,100}}, +/* 12389 */ {(16<<2)|3,{105,49,102}}, +/* 12390 */ {(16<<2)|3,{105,49,103}}, +/* 12391 */ {(16<<2)|3,{105,49,104}}, +/* 12392 */ {(16<<2)|3,{105,49,108}}, +/* 12393 */ {(16<<2)|3,{105,49,109}}, +/* 12394 */ {(16<<2)|3,{105,49,110}}, +/* 12395 */ {(16<<2)|3,{105,49,112}}, +/* 12396 */ {(16<<2)|3,{105,49,114}}, +/* 12397 */ {(16<<2)|3,{105,49,117}}, +/* 12398 */ {(10<<2)|2,{105,49,0}}, +/* 12399 */ {(10<<2)|2,{105,49,0}}, +/* 12400 */ {(10<<2)|2,{105,49,0}}, +/* 12401 */ {(10<<2)|2,{105,49,0}}, +/* 12402 */ {(10<<2)|2,{105,49,0}}, +/* 12403 */ {(10<<2)|2,{105,49,0}}, +/* 12404 */ {(10<<2)|2,{105,49,0}}, +/* 12405 */ {(10<<2)|2,{105,49,0}}, +/* 12406 */ {(10<<2)|2,{105,49,0}}, +/* 12407 */ {(10<<2)|2,{105,49,0}}, +/* 12408 */ {(10<<2)|2,{105,49,0}}, +/* 12409 */ {(10<<2)|2,{105,49,0}}, +/* 12410 */ {(10<<2)|2,{105,49,0}}, +/* 12411 */ {(10<<2)|2,{105,49,0}}, +/* 12412 */ {(10<<2)|2,{105,49,0}}, +/* 12413 */ {(10<<2)|2,{105,49,0}}, +/* 12414 */ {(10<<2)|2,{105,49,0}}, +/* 12415 */ {(10<<2)|2,{105,49,0}}, +/* 12416 */ {(15<<2)|3,{105,50,48}}, +/* 12417 */ {(15<<2)|3,{105,50,48}}, +/* 12418 */ {(15<<2)|3,{105,50,49}}, +/* 12419 */ {(15<<2)|3,{105,50,49}}, +/* 12420 */ {(15<<2)|3,{105,50,50}}, +/* 12421 */ {(15<<2)|3,{105,50,50}}, +/* 12422 */ {(15<<2)|3,{105,50,97}}, +/* 12423 */ {(15<<2)|3,{105,50,97}}, +/* 12424 */ {(15<<2)|3,{105,50,99}}, +/* 12425 */ {(15<<2)|3,{105,50,99}}, +/* 12426 */ {(15<<2)|3,{105,50,101}}, +/* 12427 */ {(15<<2)|3,{105,50,101}}, +/* 12428 */ {(15<<2)|3,{105,50,105}}, +/* 12429 */ {(15<<2)|3,{105,50,105}}, +/* 12430 */ {(15<<2)|3,{105,50,111}}, +/* 12431 */ {(15<<2)|3,{105,50,111}}, +/* 12432 */ {(15<<2)|3,{105,50,115}}, +/* 12433 */ {(15<<2)|3,{105,50,115}}, +/* 12434 */ {(15<<2)|3,{105,50,116}}, +/* 12435 */ {(15<<2)|3,{105,50,116}}, +/* 12436 */ {(16<<2)|3,{105,50,32}}, +/* 12437 */ {(16<<2)|3,{105,50,37}}, +/* 12438 */ {(16<<2)|3,{105,50,45}}, +/* 12439 */ {(16<<2)|3,{105,50,46}}, +/* 12440 */ {(16<<2)|3,{105,50,47}}, +/* 12441 */ {(16<<2)|3,{105,50,51}}, +/* 12442 */ {(16<<2)|3,{105,50,52}}, +/* 12443 */ {(16<<2)|3,{105,50,53}}, +/* 12444 */ {(16<<2)|3,{105,50,54}}, +/* 12445 */ {(16<<2)|3,{105,50,55}}, +/* 12446 */ {(16<<2)|3,{105,50,56}}, +/* 12447 */ {(16<<2)|3,{105,50,57}}, +/* 12448 */ {(16<<2)|3,{105,50,61}}, +/* 12449 */ {(16<<2)|3,{105,50,65}}, +/* 12450 */ {(16<<2)|3,{105,50,95}}, +/* 12451 */ {(16<<2)|3,{105,50,98}}, +/* 12452 */ {(16<<2)|3,{105,50,100}}, +/* 12453 */ {(16<<2)|3,{105,50,102}}, +/* 12454 */ {(16<<2)|3,{105,50,103}}, +/* 12455 */ {(16<<2)|3,{105,50,104}}, +/* 12456 */ {(16<<2)|3,{105,50,108}}, +/* 12457 */ {(16<<2)|3,{105,50,109}}, +/* 12458 */ {(16<<2)|3,{105,50,110}}, +/* 12459 */ {(16<<2)|3,{105,50,112}}, +/* 12460 */ {(16<<2)|3,{105,50,114}}, +/* 12461 */ {(16<<2)|3,{105,50,117}}, +/* 12462 */ {(10<<2)|2,{105,50,0}}, +/* 12463 */ {(10<<2)|2,{105,50,0}}, +/* 12464 */ {(10<<2)|2,{105,50,0}}, +/* 12465 */ {(10<<2)|2,{105,50,0}}, +/* 12466 */ {(10<<2)|2,{105,50,0}}, +/* 12467 */ {(10<<2)|2,{105,50,0}}, +/* 12468 */ {(10<<2)|2,{105,50,0}}, +/* 12469 */ {(10<<2)|2,{105,50,0}}, +/* 12470 */ {(10<<2)|2,{105,50,0}}, +/* 12471 */ {(10<<2)|2,{105,50,0}}, +/* 12472 */ {(10<<2)|2,{105,50,0}}, +/* 12473 */ {(10<<2)|2,{105,50,0}}, +/* 12474 */ {(10<<2)|2,{105,50,0}}, +/* 12475 */ {(10<<2)|2,{105,50,0}}, +/* 12476 */ {(10<<2)|2,{105,50,0}}, +/* 12477 */ {(10<<2)|2,{105,50,0}}, +/* 12478 */ {(10<<2)|2,{105,50,0}}, +/* 12479 */ {(10<<2)|2,{105,50,0}}, +/* 12480 */ {(15<<2)|3,{105,97,48}}, +/* 12481 */ {(15<<2)|3,{105,97,48}}, +/* 12482 */ {(15<<2)|3,{105,97,49}}, +/* 12483 */ {(15<<2)|3,{105,97,49}}, +/* 12484 */ {(15<<2)|3,{105,97,50}}, +/* 12485 */ {(15<<2)|3,{105,97,50}}, +/* 12486 */ {(15<<2)|3,{105,97,97}}, +/* 12487 */ {(15<<2)|3,{105,97,97}}, +/* 12488 */ {(15<<2)|3,{105,97,99}}, +/* 12489 */ {(15<<2)|3,{105,97,99}}, +/* 12490 */ {(15<<2)|3,{105,97,101}}, +/* 12491 */ {(15<<2)|3,{105,97,101}}, +/* 12492 */ {(15<<2)|3,{105,97,105}}, +/* 12493 */ {(15<<2)|3,{105,97,105}}, +/* 12494 */ {(15<<2)|3,{105,97,111}}, +/* 12495 */ {(15<<2)|3,{105,97,111}}, +/* 12496 */ {(15<<2)|3,{105,97,115}}, +/* 12497 */ {(15<<2)|3,{105,97,115}}, +/* 12498 */ {(15<<2)|3,{105,97,116}}, +/* 12499 */ {(15<<2)|3,{105,97,116}}, +/* 12500 */ {(16<<2)|3,{105,97,32}}, +/* 12501 */ {(16<<2)|3,{105,97,37}}, +/* 12502 */ {(16<<2)|3,{105,97,45}}, +/* 12503 */ {(16<<2)|3,{105,97,46}}, +/* 12504 */ {(16<<2)|3,{105,97,47}}, +/* 12505 */ {(16<<2)|3,{105,97,51}}, +/* 12506 */ {(16<<2)|3,{105,97,52}}, +/* 12507 */ {(16<<2)|3,{105,97,53}}, +/* 12508 */ {(16<<2)|3,{105,97,54}}, +/* 12509 */ {(16<<2)|3,{105,97,55}}, +/* 12510 */ {(16<<2)|3,{105,97,56}}, +/* 12511 */ {(16<<2)|3,{105,97,57}}, +/* 12512 */ {(16<<2)|3,{105,97,61}}, +/* 12513 */ {(16<<2)|3,{105,97,65}}, +/* 12514 */ {(16<<2)|3,{105,97,95}}, +/* 12515 */ {(16<<2)|3,{105,97,98}}, +/* 12516 */ {(16<<2)|3,{105,97,100}}, +/* 12517 */ {(16<<2)|3,{105,97,102}}, +/* 12518 */ {(16<<2)|3,{105,97,103}}, +/* 12519 */ {(16<<2)|3,{105,97,104}}, +/* 12520 */ {(16<<2)|3,{105,97,108}}, +/* 12521 */ {(16<<2)|3,{105,97,109}}, +/* 12522 */ {(16<<2)|3,{105,97,110}}, +/* 12523 */ {(16<<2)|3,{105,97,112}}, +/* 12524 */ {(16<<2)|3,{105,97,114}}, +/* 12525 */ {(16<<2)|3,{105,97,117}}, +/* 12526 */ {(10<<2)|2,{105,97,0}}, +/* 12527 */ {(10<<2)|2,{105,97,0}}, +/* 12528 */ {(10<<2)|2,{105,97,0}}, +/* 12529 */ {(10<<2)|2,{105,97,0}}, +/* 12530 */ {(10<<2)|2,{105,97,0}}, +/* 12531 */ {(10<<2)|2,{105,97,0}}, +/* 12532 */ {(10<<2)|2,{105,97,0}}, +/* 12533 */ {(10<<2)|2,{105,97,0}}, +/* 12534 */ {(10<<2)|2,{105,97,0}}, +/* 12535 */ {(10<<2)|2,{105,97,0}}, +/* 12536 */ {(10<<2)|2,{105,97,0}}, +/* 12537 */ {(10<<2)|2,{105,97,0}}, +/* 12538 */ {(10<<2)|2,{105,97,0}}, +/* 12539 */ {(10<<2)|2,{105,97,0}}, +/* 12540 */ {(10<<2)|2,{105,97,0}}, +/* 12541 */ {(10<<2)|2,{105,97,0}}, +/* 12542 */ {(10<<2)|2,{105,97,0}}, +/* 12543 */ {(10<<2)|2,{105,97,0}}, +/* 12544 */ {(15<<2)|3,{105,99,48}}, +/* 12545 */ {(15<<2)|3,{105,99,48}}, +/* 12546 */ {(15<<2)|3,{105,99,49}}, +/* 12547 */ {(15<<2)|3,{105,99,49}}, +/* 12548 */ {(15<<2)|3,{105,99,50}}, +/* 12549 */ {(15<<2)|3,{105,99,50}}, +/* 12550 */ {(15<<2)|3,{105,99,97}}, +/* 12551 */ {(15<<2)|3,{105,99,97}}, +/* 12552 */ {(15<<2)|3,{105,99,99}}, +/* 12553 */ {(15<<2)|3,{105,99,99}}, +/* 12554 */ {(15<<2)|3,{105,99,101}}, +/* 12555 */ {(15<<2)|3,{105,99,101}}, +/* 12556 */ {(15<<2)|3,{105,99,105}}, +/* 12557 */ {(15<<2)|3,{105,99,105}}, +/* 12558 */ {(15<<2)|3,{105,99,111}}, +/* 12559 */ {(15<<2)|3,{105,99,111}}, +/* 12560 */ {(15<<2)|3,{105,99,115}}, +/* 12561 */ {(15<<2)|3,{105,99,115}}, +/* 12562 */ {(15<<2)|3,{105,99,116}}, +/* 12563 */ {(15<<2)|3,{105,99,116}}, +/* 12564 */ {(16<<2)|3,{105,99,32}}, +/* 12565 */ {(16<<2)|3,{105,99,37}}, +/* 12566 */ {(16<<2)|3,{105,99,45}}, +/* 12567 */ {(16<<2)|3,{105,99,46}}, +/* 12568 */ {(16<<2)|3,{105,99,47}}, +/* 12569 */ {(16<<2)|3,{105,99,51}}, +/* 12570 */ {(16<<2)|3,{105,99,52}}, +/* 12571 */ {(16<<2)|3,{105,99,53}}, +/* 12572 */ {(16<<2)|3,{105,99,54}}, +/* 12573 */ {(16<<2)|3,{105,99,55}}, +/* 12574 */ {(16<<2)|3,{105,99,56}}, +/* 12575 */ {(16<<2)|3,{105,99,57}}, +/* 12576 */ {(16<<2)|3,{105,99,61}}, +/* 12577 */ {(16<<2)|3,{105,99,65}}, +/* 12578 */ {(16<<2)|3,{105,99,95}}, +/* 12579 */ {(16<<2)|3,{105,99,98}}, +/* 12580 */ {(16<<2)|3,{105,99,100}}, +/* 12581 */ {(16<<2)|3,{105,99,102}}, +/* 12582 */ {(16<<2)|3,{105,99,103}}, +/* 12583 */ {(16<<2)|3,{105,99,104}}, +/* 12584 */ {(16<<2)|3,{105,99,108}}, +/* 12585 */ {(16<<2)|3,{105,99,109}}, +/* 12586 */ {(16<<2)|3,{105,99,110}}, +/* 12587 */ {(16<<2)|3,{105,99,112}}, +/* 12588 */ {(16<<2)|3,{105,99,114}}, +/* 12589 */ {(16<<2)|3,{105,99,117}}, +/* 12590 */ {(10<<2)|2,{105,99,0}}, +/* 12591 */ {(10<<2)|2,{105,99,0}}, +/* 12592 */ {(10<<2)|2,{105,99,0}}, +/* 12593 */ {(10<<2)|2,{105,99,0}}, +/* 12594 */ {(10<<2)|2,{105,99,0}}, +/* 12595 */ {(10<<2)|2,{105,99,0}}, +/* 12596 */ {(10<<2)|2,{105,99,0}}, +/* 12597 */ {(10<<2)|2,{105,99,0}}, +/* 12598 */ {(10<<2)|2,{105,99,0}}, +/* 12599 */ {(10<<2)|2,{105,99,0}}, +/* 12600 */ {(10<<2)|2,{105,99,0}}, +/* 12601 */ {(10<<2)|2,{105,99,0}}, +/* 12602 */ {(10<<2)|2,{105,99,0}}, +/* 12603 */ {(10<<2)|2,{105,99,0}}, +/* 12604 */ {(10<<2)|2,{105,99,0}}, +/* 12605 */ {(10<<2)|2,{105,99,0}}, +/* 12606 */ {(10<<2)|2,{105,99,0}}, +/* 12607 */ {(10<<2)|2,{105,99,0}}, +/* 12608 */ {(15<<2)|3,{105,101,48}}, +/* 12609 */ {(15<<2)|3,{105,101,48}}, +/* 12610 */ {(15<<2)|3,{105,101,49}}, +/* 12611 */ {(15<<2)|3,{105,101,49}}, +/* 12612 */ {(15<<2)|3,{105,101,50}}, +/* 12613 */ {(15<<2)|3,{105,101,50}}, +/* 12614 */ {(15<<2)|3,{105,101,97}}, +/* 12615 */ {(15<<2)|3,{105,101,97}}, +/* 12616 */ {(15<<2)|3,{105,101,99}}, +/* 12617 */ {(15<<2)|3,{105,101,99}}, +/* 12618 */ {(15<<2)|3,{105,101,101}}, +/* 12619 */ {(15<<2)|3,{105,101,101}}, +/* 12620 */ {(15<<2)|3,{105,101,105}}, +/* 12621 */ {(15<<2)|3,{105,101,105}}, +/* 12622 */ {(15<<2)|3,{105,101,111}}, +/* 12623 */ {(15<<2)|3,{105,101,111}}, +/* 12624 */ {(15<<2)|3,{105,101,115}}, +/* 12625 */ {(15<<2)|3,{105,101,115}}, +/* 12626 */ {(15<<2)|3,{105,101,116}}, +/* 12627 */ {(15<<2)|3,{105,101,116}}, +/* 12628 */ {(16<<2)|3,{105,101,32}}, +/* 12629 */ {(16<<2)|3,{105,101,37}}, +/* 12630 */ {(16<<2)|3,{105,101,45}}, +/* 12631 */ {(16<<2)|3,{105,101,46}}, +/* 12632 */ {(16<<2)|3,{105,101,47}}, +/* 12633 */ {(16<<2)|3,{105,101,51}}, +/* 12634 */ {(16<<2)|3,{105,101,52}}, +/* 12635 */ {(16<<2)|3,{105,101,53}}, +/* 12636 */ {(16<<2)|3,{105,101,54}}, +/* 12637 */ {(16<<2)|3,{105,101,55}}, +/* 12638 */ {(16<<2)|3,{105,101,56}}, +/* 12639 */ {(16<<2)|3,{105,101,57}}, +/* 12640 */ {(16<<2)|3,{105,101,61}}, +/* 12641 */ {(16<<2)|3,{105,101,65}}, +/* 12642 */ {(16<<2)|3,{105,101,95}}, +/* 12643 */ {(16<<2)|3,{105,101,98}}, +/* 12644 */ {(16<<2)|3,{105,101,100}}, +/* 12645 */ {(16<<2)|3,{105,101,102}}, +/* 12646 */ {(16<<2)|3,{105,101,103}}, +/* 12647 */ {(16<<2)|3,{105,101,104}}, +/* 12648 */ {(16<<2)|3,{105,101,108}}, +/* 12649 */ {(16<<2)|3,{105,101,109}}, +/* 12650 */ {(16<<2)|3,{105,101,110}}, +/* 12651 */ {(16<<2)|3,{105,101,112}}, +/* 12652 */ {(16<<2)|3,{105,101,114}}, +/* 12653 */ {(16<<2)|3,{105,101,117}}, +/* 12654 */ {(10<<2)|2,{105,101,0}}, +/* 12655 */ {(10<<2)|2,{105,101,0}}, +/* 12656 */ {(10<<2)|2,{105,101,0}}, +/* 12657 */ {(10<<2)|2,{105,101,0}}, +/* 12658 */ {(10<<2)|2,{105,101,0}}, +/* 12659 */ {(10<<2)|2,{105,101,0}}, +/* 12660 */ {(10<<2)|2,{105,101,0}}, +/* 12661 */ {(10<<2)|2,{105,101,0}}, +/* 12662 */ {(10<<2)|2,{105,101,0}}, +/* 12663 */ {(10<<2)|2,{105,101,0}}, +/* 12664 */ {(10<<2)|2,{105,101,0}}, +/* 12665 */ {(10<<2)|2,{105,101,0}}, +/* 12666 */ {(10<<2)|2,{105,101,0}}, +/* 12667 */ {(10<<2)|2,{105,101,0}}, +/* 12668 */ {(10<<2)|2,{105,101,0}}, +/* 12669 */ {(10<<2)|2,{105,101,0}}, +/* 12670 */ {(10<<2)|2,{105,101,0}}, +/* 12671 */ {(10<<2)|2,{105,101,0}}, +/* 12672 */ {(15<<2)|3,{105,105,48}}, +/* 12673 */ {(15<<2)|3,{105,105,48}}, +/* 12674 */ {(15<<2)|3,{105,105,49}}, +/* 12675 */ {(15<<2)|3,{105,105,49}}, +/* 12676 */ {(15<<2)|3,{105,105,50}}, +/* 12677 */ {(15<<2)|3,{105,105,50}}, +/* 12678 */ {(15<<2)|3,{105,105,97}}, +/* 12679 */ {(15<<2)|3,{105,105,97}}, +/* 12680 */ {(15<<2)|3,{105,105,99}}, +/* 12681 */ {(15<<2)|3,{105,105,99}}, +/* 12682 */ {(15<<2)|3,{105,105,101}}, +/* 12683 */ {(15<<2)|3,{105,105,101}}, +/* 12684 */ {(15<<2)|3,{105,105,105}}, +/* 12685 */ {(15<<2)|3,{105,105,105}}, +/* 12686 */ {(15<<2)|3,{105,105,111}}, +/* 12687 */ {(15<<2)|3,{105,105,111}}, +/* 12688 */ {(15<<2)|3,{105,105,115}}, +/* 12689 */ {(15<<2)|3,{105,105,115}}, +/* 12690 */ {(15<<2)|3,{105,105,116}}, +/* 12691 */ {(15<<2)|3,{105,105,116}}, +/* 12692 */ {(16<<2)|3,{105,105,32}}, +/* 12693 */ {(16<<2)|3,{105,105,37}}, +/* 12694 */ {(16<<2)|3,{105,105,45}}, +/* 12695 */ {(16<<2)|3,{105,105,46}}, +/* 12696 */ {(16<<2)|3,{105,105,47}}, +/* 12697 */ {(16<<2)|3,{105,105,51}}, +/* 12698 */ {(16<<2)|3,{105,105,52}}, +/* 12699 */ {(16<<2)|3,{105,105,53}}, +/* 12700 */ {(16<<2)|3,{105,105,54}}, +/* 12701 */ {(16<<2)|3,{105,105,55}}, +/* 12702 */ {(16<<2)|3,{105,105,56}}, +/* 12703 */ {(16<<2)|3,{105,105,57}}, +/* 12704 */ {(16<<2)|3,{105,105,61}}, +/* 12705 */ {(16<<2)|3,{105,105,65}}, +/* 12706 */ {(16<<2)|3,{105,105,95}}, +/* 12707 */ {(16<<2)|3,{105,105,98}}, +/* 12708 */ {(16<<2)|3,{105,105,100}}, +/* 12709 */ {(16<<2)|3,{105,105,102}}, +/* 12710 */ {(16<<2)|3,{105,105,103}}, +/* 12711 */ {(16<<2)|3,{105,105,104}}, +/* 12712 */ {(16<<2)|3,{105,105,108}}, +/* 12713 */ {(16<<2)|3,{105,105,109}}, +/* 12714 */ {(16<<2)|3,{105,105,110}}, +/* 12715 */ {(16<<2)|3,{105,105,112}}, +/* 12716 */ {(16<<2)|3,{105,105,114}}, +/* 12717 */ {(16<<2)|3,{105,105,117}}, +/* 12718 */ {(10<<2)|2,{105,105,0}}, +/* 12719 */ {(10<<2)|2,{105,105,0}}, +/* 12720 */ {(10<<2)|2,{105,105,0}}, +/* 12721 */ {(10<<2)|2,{105,105,0}}, +/* 12722 */ {(10<<2)|2,{105,105,0}}, +/* 12723 */ {(10<<2)|2,{105,105,0}}, +/* 12724 */ {(10<<2)|2,{105,105,0}}, +/* 12725 */ {(10<<2)|2,{105,105,0}}, +/* 12726 */ {(10<<2)|2,{105,105,0}}, +/* 12727 */ {(10<<2)|2,{105,105,0}}, +/* 12728 */ {(10<<2)|2,{105,105,0}}, +/* 12729 */ {(10<<2)|2,{105,105,0}}, +/* 12730 */ {(10<<2)|2,{105,105,0}}, +/* 12731 */ {(10<<2)|2,{105,105,0}}, +/* 12732 */ {(10<<2)|2,{105,105,0}}, +/* 12733 */ {(10<<2)|2,{105,105,0}}, +/* 12734 */ {(10<<2)|2,{105,105,0}}, +/* 12735 */ {(10<<2)|2,{105,105,0}}, +/* 12736 */ {(15<<2)|3,{105,111,48}}, +/* 12737 */ {(15<<2)|3,{105,111,48}}, +/* 12738 */ {(15<<2)|3,{105,111,49}}, +/* 12739 */ {(15<<2)|3,{105,111,49}}, +/* 12740 */ {(15<<2)|3,{105,111,50}}, +/* 12741 */ {(15<<2)|3,{105,111,50}}, +/* 12742 */ {(15<<2)|3,{105,111,97}}, +/* 12743 */ {(15<<2)|3,{105,111,97}}, +/* 12744 */ {(15<<2)|3,{105,111,99}}, +/* 12745 */ {(15<<2)|3,{105,111,99}}, +/* 12746 */ {(15<<2)|3,{105,111,101}}, +/* 12747 */ {(15<<2)|3,{105,111,101}}, +/* 12748 */ {(15<<2)|3,{105,111,105}}, +/* 12749 */ {(15<<2)|3,{105,111,105}}, +/* 12750 */ {(15<<2)|3,{105,111,111}}, +/* 12751 */ {(15<<2)|3,{105,111,111}}, +/* 12752 */ {(15<<2)|3,{105,111,115}}, +/* 12753 */ {(15<<2)|3,{105,111,115}}, +/* 12754 */ {(15<<2)|3,{105,111,116}}, +/* 12755 */ {(15<<2)|3,{105,111,116}}, +/* 12756 */ {(16<<2)|3,{105,111,32}}, +/* 12757 */ {(16<<2)|3,{105,111,37}}, +/* 12758 */ {(16<<2)|3,{105,111,45}}, +/* 12759 */ {(16<<2)|3,{105,111,46}}, +/* 12760 */ {(16<<2)|3,{105,111,47}}, +/* 12761 */ {(16<<2)|3,{105,111,51}}, +/* 12762 */ {(16<<2)|3,{105,111,52}}, +/* 12763 */ {(16<<2)|3,{105,111,53}}, +/* 12764 */ {(16<<2)|3,{105,111,54}}, +/* 12765 */ {(16<<2)|3,{105,111,55}}, +/* 12766 */ {(16<<2)|3,{105,111,56}}, +/* 12767 */ {(16<<2)|3,{105,111,57}}, +/* 12768 */ {(16<<2)|3,{105,111,61}}, +/* 12769 */ {(16<<2)|3,{105,111,65}}, +/* 12770 */ {(16<<2)|3,{105,111,95}}, +/* 12771 */ {(16<<2)|3,{105,111,98}}, +/* 12772 */ {(16<<2)|3,{105,111,100}}, +/* 12773 */ {(16<<2)|3,{105,111,102}}, +/* 12774 */ {(16<<2)|3,{105,111,103}}, +/* 12775 */ {(16<<2)|3,{105,111,104}}, +/* 12776 */ {(16<<2)|3,{105,111,108}}, +/* 12777 */ {(16<<2)|3,{105,111,109}}, +/* 12778 */ {(16<<2)|3,{105,111,110}}, +/* 12779 */ {(16<<2)|3,{105,111,112}}, +/* 12780 */ {(16<<2)|3,{105,111,114}}, +/* 12781 */ {(16<<2)|3,{105,111,117}}, +/* 12782 */ {(10<<2)|2,{105,111,0}}, +/* 12783 */ {(10<<2)|2,{105,111,0}}, +/* 12784 */ {(10<<2)|2,{105,111,0}}, +/* 12785 */ {(10<<2)|2,{105,111,0}}, +/* 12786 */ {(10<<2)|2,{105,111,0}}, +/* 12787 */ {(10<<2)|2,{105,111,0}}, +/* 12788 */ {(10<<2)|2,{105,111,0}}, +/* 12789 */ {(10<<2)|2,{105,111,0}}, +/* 12790 */ {(10<<2)|2,{105,111,0}}, +/* 12791 */ {(10<<2)|2,{105,111,0}}, +/* 12792 */ {(10<<2)|2,{105,111,0}}, +/* 12793 */ {(10<<2)|2,{105,111,0}}, +/* 12794 */ {(10<<2)|2,{105,111,0}}, +/* 12795 */ {(10<<2)|2,{105,111,0}}, +/* 12796 */ {(10<<2)|2,{105,111,0}}, +/* 12797 */ {(10<<2)|2,{105,111,0}}, +/* 12798 */ {(10<<2)|2,{105,111,0}}, +/* 12799 */ {(10<<2)|2,{105,111,0}}, +/* 12800 */ {(15<<2)|3,{105,115,48}}, +/* 12801 */ {(15<<2)|3,{105,115,48}}, +/* 12802 */ {(15<<2)|3,{105,115,49}}, +/* 12803 */ {(15<<2)|3,{105,115,49}}, +/* 12804 */ {(15<<2)|3,{105,115,50}}, +/* 12805 */ {(15<<2)|3,{105,115,50}}, +/* 12806 */ {(15<<2)|3,{105,115,97}}, +/* 12807 */ {(15<<2)|3,{105,115,97}}, +/* 12808 */ {(15<<2)|3,{105,115,99}}, +/* 12809 */ {(15<<2)|3,{105,115,99}}, +/* 12810 */ {(15<<2)|3,{105,115,101}}, +/* 12811 */ {(15<<2)|3,{105,115,101}}, +/* 12812 */ {(15<<2)|3,{105,115,105}}, +/* 12813 */ {(15<<2)|3,{105,115,105}}, +/* 12814 */ {(15<<2)|3,{105,115,111}}, +/* 12815 */ {(15<<2)|3,{105,115,111}}, +/* 12816 */ {(15<<2)|3,{105,115,115}}, +/* 12817 */ {(15<<2)|3,{105,115,115}}, +/* 12818 */ {(15<<2)|3,{105,115,116}}, +/* 12819 */ {(15<<2)|3,{105,115,116}}, +/* 12820 */ {(16<<2)|3,{105,115,32}}, +/* 12821 */ {(16<<2)|3,{105,115,37}}, +/* 12822 */ {(16<<2)|3,{105,115,45}}, +/* 12823 */ {(16<<2)|3,{105,115,46}}, +/* 12824 */ {(16<<2)|3,{105,115,47}}, +/* 12825 */ {(16<<2)|3,{105,115,51}}, +/* 12826 */ {(16<<2)|3,{105,115,52}}, +/* 12827 */ {(16<<2)|3,{105,115,53}}, +/* 12828 */ {(16<<2)|3,{105,115,54}}, +/* 12829 */ {(16<<2)|3,{105,115,55}}, +/* 12830 */ {(16<<2)|3,{105,115,56}}, +/* 12831 */ {(16<<2)|3,{105,115,57}}, +/* 12832 */ {(16<<2)|3,{105,115,61}}, +/* 12833 */ {(16<<2)|3,{105,115,65}}, +/* 12834 */ {(16<<2)|3,{105,115,95}}, +/* 12835 */ {(16<<2)|3,{105,115,98}}, +/* 12836 */ {(16<<2)|3,{105,115,100}}, +/* 12837 */ {(16<<2)|3,{105,115,102}}, +/* 12838 */ {(16<<2)|3,{105,115,103}}, +/* 12839 */ {(16<<2)|3,{105,115,104}}, +/* 12840 */ {(16<<2)|3,{105,115,108}}, +/* 12841 */ {(16<<2)|3,{105,115,109}}, +/* 12842 */ {(16<<2)|3,{105,115,110}}, +/* 12843 */ {(16<<2)|3,{105,115,112}}, +/* 12844 */ {(16<<2)|3,{105,115,114}}, +/* 12845 */ {(16<<2)|3,{105,115,117}}, +/* 12846 */ {(10<<2)|2,{105,115,0}}, +/* 12847 */ {(10<<2)|2,{105,115,0}}, +/* 12848 */ {(10<<2)|2,{105,115,0}}, +/* 12849 */ {(10<<2)|2,{105,115,0}}, +/* 12850 */ {(10<<2)|2,{105,115,0}}, +/* 12851 */ {(10<<2)|2,{105,115,0}}, +/* 12852 */ {(10<<2)|2,{105,115,0}}, +/* 12853 */ {(10<<2)|2,{105,115,0}}, +/* 12854 */ {(10<<2)|2,{105,115,0}}, +/* 12855 */ {(10<<2)|2,{105,115,0}}, +/* 12856 */ {(10<<2)|2,{105,115,0}}, +/* 12857 */ {(10<<2)|2,{105,115,0}}, +/* 12858 */ {(10<<2)|2,{105,115,0}}, +/* 12859 */ {(10<<2)|2,{105,115,0}}, +/* 12860 */ {(10<<2)|2,{105,115,0}}, +/* 12861 */ {(10<<2)|2,{105,115,0}}, +/* 12862 */ {(10<<2)|2,{105,115,0}}, +/* 12863 */ {(10<<2)|2,{105,115,0}}, +/* 12864 */ {(15<<2)|3,{105,116,48}}, +/* 12865 */ {(15<<2)|3,{105,116,48}}, +/* 12866 */ {(15<<2)|3,{105,116,49}}, +/* 12867 */ {(15<<2)|3,{105,116,49}}, +/* 12868 */ {(15<<2)|3,{105,116,50}}, +/* 12869 */ {(15<<2)|3,{105,116,50}}, +/* 12870 */ {(15<<2)|3,{105,116,97}}, +/* 12871 */ {(15<<2)|3,{105,116,97}}, +/* 12872 */ {(15<<2)|3,{105,116,99}}, +/* 12873 */ {(15<<2)|3,{105,116,99}}, +/* 12874 */ {(15<<2)|3,{105,116,101}}, +/* 12875 */ {(15<<2)|3,{105,116,101}}, +/* 12876 */ {(15<<2)|3,{105,116,105}}, +/* 12877 */ {(15<<2)|3,{105,116,105}}, +/* 12878 */ {(15<<2)|3,{105,116,111}}, +/* 12879 */ {(15<<2)|3,{105,116,111}}, +/* 12880 */ {(15<<2)|3,{105,116,115}}, +/* 12881 */ {(15<<2)|3,{105,116,115}}, +/* 12882 */ {(15<<2)|3,{105,116,116}}, +/* 12883 */ {(15<<2)|3,{105,116,116}}, +/* 12884 */ {(16<<2)|3,{105,116,32}}, +/* 12885 */ {(16<<2)|3,{105,116,37}}, +/* 12886 */ {(16<<2)|3,{105,116,45}}, +/* 12887 */ {(16<<2)|3,{105,116,46}}, +/* 12888 */ {(16<<2)|3,{105,116,47}}, +/* 12889 */ {(16<<2)|3,{105,116,51}}, +/* 12890 */ {(16<<2)|3,{105,116,52}}, +/* 12891 */ {(16<<2)|3,{105,116,53}}, +/* 12892 */ {(16<<2)|3,{105,116,54}}, +/* 12893 */ {(16<<2)|3,{105,116,55}}, +/* 12894 */ {(16<<2)|3,{105,116,56}}, +/* 12895 */ {(16<<2)|3,{105,116,57}}, +/* 12896 */ {(16<<2)|3,{105,116,61}}, +/* 12897 */ {(16<<2)|3,{105,116,65}}, +/* 12898 */ {(16<<2)|3,{105,116,95}}, +/* 12899 */ {(16<<2)|3,{105,116,98}}, +/* 12900 */ {(16<<2)|3,{105,116,100}}, +/* 12901 */ {(16<<2)|3,{105,116,102}}, +/* 12902 */ {(16<<2)|3,{105,116,103}}, +/* 12903 */ {(16<<2)|3,{105,116,104}}, +/* 12904 */ {(16<<2)|3,{105,116,108}}, +/* 12905 */ {(16<<2)|3,{105,116,109}}, +/* 12906 */ {(16<<2)|3,{105,116,110}}, +/* 12907 */ {(16<<2)|3,{105,116,112}}, +/* 12908 */ {(16<<2)|3,{105,116,114}}, +/* 12909 */ {(16<<2)|3,{105,116,117}}, +/* 12910 */ {(10<<2)|2,{105,116,0}}, +/* 12911 */ {(10<<2)|2,{105,116,0}}, +/* 12912 */ {(10<<2)|2,{105,116,0}}, +/* 12913 */ {(10<<2)|2,{105,116,0}}, +/* 12914 */ {(10<<2)|2,{105,116,0}}, +/* 12915 */ {(10<<2)|2,{105,116,0}}, +/* 12916 */ {(10<<2)|2,{105,116,0}}, +/* 12917 */ {(10<<2)|2,{105,116,0}}, +/* 12918 */ {(10<<2)|2,{105,116,0}}, +/* 12919 */ {(10<<2)|2,{105,116,0}}, +/* 12920 */ {(10<<2)|2,{105,116,0}}, +/* 12921 */ {(10<<2)|2,{105,116,0}}, +/* 12922 */ {(10<<2)|2,{105,116,0}}, +/* 12923 */ {(10<<2)|2,{105,116,0}}, +/* 12924 */ {(10<<2)|2,{105,116,0}}, +/* 12925 */ {(10<<2)|2,{105,116,0}}, +/* 12926 */ {(10<<2)|2,{105,116,0}}, +/* 12927 */ {(10<<2)|2,{105,116,0}}, +/* 12928 */ {(16<<2)|3,{105,32,48}}, +/* 12929 */ {(16<<2)|3,{105,32,49}}, +/* 12930 */ {(16<<2)|3,{105,32,50}}, +/* 12931 */ {(16<<2)|3,{105,32,97}}, +/* 12932 */ {(16<<2)|3,{105,32,99}}, +/* 12933 */ {(16<<2)|3,{105,32,101}}, +/* 12934 */ {(16<<2)|3,{105,32,105}}, +/* 12935 */ {(16<<2)|3,{105,32,111}}, +/* 12936 */ {(16<<2)|3,{105,32,115}}, +/* 12937 */ {(16<<2)|3,{105,32,116}}, +/* 12938 */ {(11<<2)|2,{105,32,0}}, +/* 12939 */ {(11<<2)|2,{105,32,0}}, +/* 12940 */ {(11<<2)|2,{105,32,0}}, +/* 12941 */ {(11<<2)|2,{105,32,0}}, +/* 12942 */ {(11<<2)|2,{105,32,0}}, +/* 12943 */ {(11<<2)|2,{105,32,0}}, +/* 12944 */ {(11<<2)|2,{105,32,0}}, +/* 12945 */ {(11<<2)|2,{105,32,0}}, +/* 12946 */ {(11<<2)|2,{105,32,0}}, +/* 12947 */ {(11<<2)|2,{105,32,0}}, +/* 12948 */ {(11<<2)|2,{105,32,0}}, +/* 12949 */ {(11<<2)|2,{105,32,0}}, +/* 12950 */ {(11<<2)|2,{105,32,0}}, +/* 12951 */ {(11<<2)|2,{105,32,0}}, +/* 12952 */ {(11<<2)|2,{105,32,0}}, +/* 12953 */ {(11<<2)|2,{105,32,0}}, +/* 12954 */ {(11<<2)|2,{105,32,0}}, +/* 12955 */ {(11<<2)|2,{105,32,0}}, +/* 12956 */ {(11<<2)|2,{105,32,0}}, +/* 12957 */ {(11<<2)|2,{105,32,0}}, +/* 12958 */ {(11<<2)|2,{105,32,0}}, +/* 12959 */ {(11<<2)|2,{105,32,0}}, +/* 12960 */ {(16<<2)|3,{105,37,48}}, +/* 12961 */ {(16<<2)|3,{105,37,49}}, +/* 12962 */ {(16<<2)|3,{105,37,50}}, +/* 12963 */ {(16<<2)|3,{105,37,97}}, +/* 12964 */ {(16<<2)|3,{105,37,99}}, +/* 12965 */ {(16<<2)|3,{105,37,101}}, +/* 12966 */ {(16<<2)|3,{105,37,105}}, +/* 12967 */ {(16<<2)|3,{105,37,111}}, +/* 12968 */ {(16<<2)|3,{105,37,115}}, +/* 12969 */ {(16<<2)|3,{105,37,116}}, +/* 12970 */ {(11<<2)|2,{105,37,0}}, +/* 12971 */ {(11<<2)|2,{105,37,0}}, +/* 12972 */ {(11<<2)|2,{105,37,0}}, +/* 12973 */ {(11<<2)|2,{105,37,0}}, +/* 12974 */ {(11<<2)|2,{105,37,0}}, +/* 12975 */ {(11<<2)|2,{105,37,0}}, +/* 12976 */ {(11<<2)|2,{105,37,0}}, +/* 12977 */ {(11<<2)|2,{105,37,0}}, +/* 12978 */ {(11<<2)|2,{105,37,0}}, +/* 12979 */ {(11<<2)|2,{105,37,0}}, +/* 12980 */ {(11<<2)|2,{105,37,0}}, +/* 12981 */ {(11<<2)|2,{105,37,0}}, +/* 12982 */ {(11<<2)|2,{105,37,0}}, +/* 12983 */ {(11<<2)|2,{105,37,0}}, +/* 12984 */ {(11<<2)|2,{105,37,0}}, +/* 12985 */ {(11<<2)|2,{105,37,0}}, +/* 12986 */ {(11<<2)|2,{105,37,0}}, +/* 12987 */ {(11<<2)|2,{105,37,0}}, +/* 12988 */ {(11<<2)|2,{105,37,0}}, +/* 12989 */ {(11<<2)|2,{105,37,0}}, +/* 12990 */ {(11<<2)|2,{105,37,0}}, +/* 12991 */ {(11<<2)|2,{105,37,0}}, +/* 12992 */ {(16<<2)|3,{105,45,48}}, +/* 12993 */ {(16<<2)|3,{105,45,49}}, +/* 12994 */ {(16<<2)|3,{105,45,50}}, +/* 12995 */ {(16<<2)|3,{105,45,97}}, +/* 12996 */ {(16<<2)|3,{105,45,99}}, +/* 12997 */ {(16<<2)|3,{105,45,101}}, +/* 12998 */ {(16<<2)|3,{105,45,105}}, +/* 12999 */ {(16<<2)|3,{105,45,111}}, +/* 13000 */ {(16<<2)|3,{105,45,115}}, +/* 13001 */ {(16<<2)|3,{105,45,116}}, +/* 13002 */ {(11<<2)|2,{105,45,0}}, +/* 13003 */ {(11<<2)|2,{105,45,0}}, +/* 13004 */ {(11<<2)|2,{105,45,0}}, +/* 13005 */ {(11<<2)|2,{105,45,0}}, +/* 13006 */ {(11<<2)|2,{105,45,0}}, +/* 13007 */ {(11<<2)|2,{105,45,0}}, +/* 13008 */ {(11<<2)|2,{105,45,0}}, +/* 13009 */ {(11<<2)|2,{105,45,0}}, +/* 13010 */ {(11<<2)|2,{105,45,0}}, +/* 13011 */ {(11<<2)|2,{105,45,0}}, +/* 13012 */ {(11<<2)|2,{105,45,0}}, +/* 13013 */ {(11<<2)|2,{105,45,0}}, +/* 13014 */ {(11<<2)|2,{105,45,0}}, +/* 13015 */ {(11<<2)|2,{105,45,0}}, +/* 13016 */ {(11<<2)|2,{105,45,0}}, +/* 13017 */ {(11<<2)|2,{105,45,0}}, +/* 13018 */ {(11<<2)|2,{105,45,0}}, +/* 13019 */ {(11<<2)|2,{105,45,0}}, +/* 13020 */ {(11<<2)|2,{105,45,0}}, +/* 13021 */ {(11<<2)|2,{105,45,0}}, +/* 13022 */ {(11<<2)|2,{105,45,0}}, +/* 13023 */ {(11<<2)|2,{105,45,0}}, +/* 13024 */ {(16<<2)|3,{105,46,48}}, +/* 13025 */ {(16<<2)|3,{105,46,49}}, +/* 13026 */ {(16<<2)|3,{105,46,50}}, +/* 13027 */ {(16<<2)|3,{105,46,97}}, +/* 13028 */ {(16<<2)|3,{105,46,99}}, +/* 13029 */ {(16<<2)|3,{105,46,101}}, +/* 13030 */ {(16<<2)|3,{105,46,105}}, +/* 13031 */ {(16<<2)|3,{105,46,111}}, +/* 13032 */ {(16<<2)|3,{105,46,115}}, +/* 13033 */ {(16<<2)|3,{105,46,116}}, +/* 13034 */ {(11<<2)|2,{105,46,0}}, +/* 13035 */ {(11<<2)|2,{105,46,0}}, +/* 13036 */ {(11<<2)|2,{105,46,0}}, +/* 13037 */ {(11<<2)|2,{105,46,0}}, +/* 13038 */ {(11<<2)|2,{105,46,0}}, +/* 13039 */ {(11<<2)|2,{105,46,0}}, +/* 13040 */ {(11<<2)|2,{105,46,0}}, +/* 13041 */ {(11<<2)|2,{105,46,0}}, +/* 13042 */ {(11<<2)|2,{105,46,0}}, +/* 13043 */ {(11<<2)|2,{105,46,0}}, +/* 13044 */ {(11<<2)|2,{105,46,0}}, +/* 13045 */ {(11<<2)|2,{105,46,0}}, +/* 13046 */ {(11<<2)|2,{105,46,0}}, +/* 13047 */ {(11<<2)|2,{105,46,0}}, +/* 13048 */ {(11<<2)|2,{105,46,0}}, +/* 13049 */ {(11<<2)|2,{105,46,0}}, +/* 13050 */ {(11<<2)|2,{105,46,0}}, +/* 13051 */ {(11<<2)|2,{105,46,0}}, +/* 13052 */ {(11<<2)|2,{105,46,0}}, +/* 13053 */ {(11<<2)|2,{105,46,0}}, +/* 13054 */ {(11<<2)|2,{105,46,0}}, +/* 13055 */ {(11<<2)|2,{105,46,0}}, +/* 13056 */ {(16<<2)|3,{105,47,48}}, +/* 13057 */ {(16<<2)|3,{105,47,49}}, +/* 13058 */ {(16<<2)|3,{105,47,50}}, +/* 13059 */ {(16<<2)|3,{105,47,97}}, +/* 13060 */ {(16<<2)|3,{105,47,99}}, +/* 13061 */ {(16<<2)|3,{105,47,101}}, +/* 13062 */ {(16<<2)|3,{105,47,105}}, +/* 13063 */ {(16<<2)|3,{105,47,111}}, +/* 13064 */ {(16<<2)|3,{105,47,115}}, +/* 13065 */ {(16<<2)|3,{105,47,116}}, +/* 13066 */ {(11<<2)|2,{105,47,0}}, +/* 13067 */ {(11<<2)|2,{105,47,0}}, +/* 13068 */ {(11<<2)|2,{105,47,0}}, +/* 13069 */ {(11<<2)|2,{105,47,0}}, +/* 13070 */ {(11<<2)|2,{105,47,0}}, +/* 13071 */ {(11<<2)|2,{105,47,0}}, +/* 13072 */ {(11<<2)|2,{105,47,0}}, +/* 13073 */ {(11<<2)|2,{105,47,0}}, +/* 13074 */ {(11<<2)|2,{105,47,0}}, +/* 13075 */ {(11<<2)|2,{105,47,0}}, +/* 13076 */ {(11<<2)|2,{105,47,0}}, +/* 13077 */ {(11<<2)|2,{105,47,0}}, +/* 13078 */ {(11<<2)|2,{105,47,0}}, +/* 13079 */ {(11<<2)|2,{105,47,0}}, +/* 13080 */ {(11<<2)|2,{105,47,0}}, +/* 13081 */ {(11<<2)|2,{105,47,0}}, +/* 13082 */ {(11<<2)|2,{105,47,0}}, +/* 13083 */ {(11<<2)|2,{105,47,0}}, +/* 13084 */ {(11<<2)|2,{105,47,0}}, +/* 13085 */ {(11<<2)|2,{105,47,0}}, +/* 13086 */ {(11<<2)|2,{105,47,0}}, +/* 13087 */ {(11<<2)|2,{105,47,0}}, +/* 13088 */ {(16<<2)|3,{105,51,48}}, +/* 13089 */ {(16<<2)|3,{105,51,49}}, +/* 13090 */ {(16<<2)|3,{105,51,50}}, +/* 13091 */ {(16<<2)|3,{105,51,97}}, +/* 13092 */ {(16<<2)|3,{105,51,99}}, +/* 13093 */ {(16<<2)|3,{105,51,101}}, +/* 13094 */ {(16<<2)|3,{105,51,105}}, +/* 13095 */ {(16<<2)|3,{105,51,111}}, +/* 13096 */ {(16<<2)|3,{105,51,115}}, +/* 13097 */ {(16<<2)|3,{105,51,116}}, +/* 13098 */ {(11<<2)|2,{105,51,0}}, +/* 13099 */ {(11<<2)|2,{105,51,0}}, +/* 13100 */ {(11<<2)|2,{105,51,0}}, +/* 13101 */ {(11<<2)|2,{105,51,0}}, +/* 13102 */ {(11<<2)|2,{105,51,0}}, +/* 13103 */ {(11<<2)|2,{105,51,0}}, +/* 13104 */ {(11<<2)|2,{105,51,0}}, +/* 13105 */ {(11<<2)|2,{105,51,0}}, +/* 13106 */ {(11<<2)|2,{105,51,0}}, +/* 13107 */ {(11<<2)|2,{105,51,0}}, +/* 13108 */ {(11<<2)|2,{105,51,0}}, +/* 13109 */ {(11<<2)|2,{105,51,0}}, +/* 13110 */ {(11<<2)|2,{105,51,0}}, +/* 13111 */ {(11<<2)|2,{105,51,0}}, +/* 13112 */ {(11<<2)|2,{105,51,0}}, +/* 13113 */ {(11<<2)|2,{105,51,0}}, +/* 13114 */ {(11<<2)|2,{105,51,0}}, +/* 13115 */ {(11<<2)|2,{105,51,0}}, +/* 13116 */ {(11<<2)|2,{105,51,0}}, +/* 13117 */ {(11<<2)|2,{105,51,0}}, +/* 13118 */ {(11<<2)|2,{105,51,0}}, +/* 13119 */ {(11<<2)|2,{105,51,0}}, +/* 13120 */ {(16<<2)|3,{105,52,48}}, +/* 13121 */ {(16<<2)|3,{105,52,49}}, +/* 13122 */ {(16<<2)|3,{105,52,50}}, +/* 13123 */ {(16<<2)|3,{105,52,97}}, +/* 13124 */ {(16<<2)|3,{105,52,99}}, +/* 13125 */ {(16<<2)|3,{105,52,101}}, +/* 13126 */ {(16<<2)|3,{105,52,105}}, +/* 13127 */ {(16<<2)|3,{105,52,111}}, +/* 13128 */ {(16<<2)|3,{105,52,115}}, +/* 13129 */ {(16<<2)|3,{105,52,116}}, +/* 13130 */ {(11<<2)|2,{105,52,0}}, +/* 13131 */ {(11<<2)|2,{105,52,0}}, +/* 13132 */ {(11<<2)|2,{105,52,0}}, +/* 13133 */ {(11<<2)|2,{105,52,0}}, +/* 13134 */ {(11<<2)|2,{105,52,0}}, +/* 13135 */ {(11<<2)|2,{105,52,0}}, +/* 13136 */ {(11<<2)|2,{105,52,0}}, +/* 13137 */ {(11<<2)|2,{105,52,0}}, +/* 13138 */ {(11<<2)|2,{105,52,0}}, +/* 13139 */ {(11<<2)|2,{105,52,0}}, +/* 13140 */ {(11<<2)|2,{105,52,0}}, +/* 13141 */ {(11<<2)|2,{105,52,0}}, +/* 13142 */ {(11<<2)|2,{105,52,0}}, +/* 13143 */ {(11<<2)|2,{105,52,0}}, +/* 13144 */ {(11<<2)|2,{105,52,0}}, +/* 13145 */ {(11<<2)|2,{105,52,0}}, +/* 13146 */ {(11<<2)|2,{105,52,0}}, +/* 13147 */ {(11<<2)|2,{105,52,0}}, +/* 13148 */ {(11<<2)|2,{105,52,0}}, +/* 13149 */ {(11<<2)|2,{105,52,0}}, +/* 13150 */ {(11<<2)|2,{105,52,0}}, +/* 13151 */ {(11<<2)|2,{105,52,0}}, +/* 13152 */ {(16<<2)|3,{105,53,48}}, +/* 13153 */ {(16<<2)|3,{105,53,49}}, +/* 13154 */ {(16<<2)|3,{105,53,50}}, +/* 13155 */ {(16<<2)|3,{105,53,97}}, +/* 13156 */ {(16<<2)|3,{105,53,99}}, +/* 13157 */ {(16<<2)|3,{105,53,101}}, +/* 13158 */ {(16<<2)|3,{105,53,105}}, +/* 13159 */ {(16<<2)|3,{105,53,111}}, +/* 13160 */ {(16<<2)|3,{105,53,115}}, +/* 13161 */ {(16<<2)|3,{105,53,116}}, +/* 13162 */ {(11<<2)|2,{105,53,0}}, +/* 13163 */ {(11<<2)|2,{105,53,0}}, +/* 13164 */ {(11<<2)|2,{105,53,0}}, +/* 13165 */ {(11<<2)|2,{105,53,0}}, +/* 13166 */ {(11<<2)|2,{105,53,0}}, +/* 13167 */ {(11<<2)|2,{105,53,0}}, +/* 13168 */ {(11<<2)|2,{105,53,0}}, +/* 13169 */ {(11<<2)|2,{105,53,0}}, +/* 13170 */ {(11<<2)|2,{105,53,0}}, +/* 13171 */ {(11<<2)|2,{105,53,0}}, +/* 13172 */ {(11<<2)|2,{105,53,0}}, +/* 13173 */ {(11<<2)|2,{105,53,0}}, +/* 13174 */ {(11<<2)|2,{105,53,0}}, +/* 13175 */ {(11<<2)|2,{105,53,0}}, +/* 13176 */ {(11<<2)|2,{105,53,0}}, +/* 13177 */ {(11<<2)|2,{105,53,0}}, +/* 13178 */ {(11<<2)|2,{105,53,0}}, +/* 13179 */ {(11<<2)|2,{105,53,0}}, +/* 13180 */ {(11<<2)|2,{105,53,0}}, +/* 13181 */ {(11<<2)|2,{105,53,0}}, +/* 13182 */ {(11<<2)|2,{105,53,0}}, +/* 13183 */ {(11<<2)|2,{105,53,0}}, +/* 13184 */ {(16<<2)|3,{105,54,48}}, +/* 13185 */ {(16<<2)|3,{105,54,49}}, +/* 13186 */ {(16<<2)|3,{105,54,50}}, +/* 13187 */ {(16<<2)|3,{105,54,97}}, +/* 13188 */ {(16<<2)|3,{105,54,99}}, +/* 13189 */ {(16<<2)|3,{105,54,101}}, +/* 13190 */ {(16<<2)|3,{105,54,105}}, +/* 13191 */ {(16<<2)|3,{105,54,111}}, +/* 13192 */ {(16<<2)|3,{105,54,115}}, +/* 13193 */ {(16<<2)|3,{105,54,116}}, +/* 13194 */ {(11<<2)|2,{105,54,0}}, +/* 13195 */ {(11<<2)|2,{105,54,0}}, +/* 13196 */ {(11<<2)|2,{105,54,0}}, +/* 13197 */ {(11<<2)|2,{105,54,0}}, +/* 13198 */ {(11<<2)|2,{105,54,0}}, +/* 13199 */ {(11<<2)|2,{105,54,0}}, +/* 13200 */ {(11<<2)|2,{105,54,0}}, +/* 13201 */ {(11<<2)|2,{105,54,0}}, +/* 13202 */ {(11<<2)|2,{105,54,0}}, +/* 13203 */ {(11<<2)|2,{105,54,0}}, +/* 13204 */ {(11<<2)|2,{105,54,0}}, +/* 13205 */ {(11<<2)|2,{105,54,0}}, +/* 13206 */ {(11<<2)|2,{105,54,0}}, +/* 13207 */ {(11<<2)|2,{105,54,0}}, +/* 13208 */ {(11<<2)|2,{105,54,0}}, +/* 13209 */ {(11<<2)|2,{105,54,0}}, +/* 13210 */ {(11<<2)|2,{105,54,0}}, +/* 13211 */ {(11<<2)|2,{105,54,0}}, +/* 13212 */ {(11<<2)|2,{105,54,0}}, +/* 13213 */ {(11<<2)|2,{105,54,0}}, +/* 13214 */ {(11<<2)|2,{105,54,0}}, +/* 13215 */ {(11<<2)|2,{105,54,0}}, +/* 13216 */ {(16<<2)|3,{105,55,48}}, +/* 13217 */ {(16<<2)|3,{105,55,49}}, +/* 13218 */ {(16<<2)|3,{105,55,50}}, +/* 13219 */ {(16<<2)|3,{105,55,97}}, +/* 13220 */ {(16<<2)|3,{105,55,99}}, +/* 13221 */ {(16<<2)|3,{105,55,101}}, +/* 13222 */ {(16<<2)|3,{105,55,105}}, +/* 13223 */ {(16<<2)|3,{105,55,111}}, +/* 13224 */ {(16<<2)|3,{105,55,115}}, +/* 13225 */ {(16<<2)|3,{105,55,116}}, +/* 13226 */ {(11<<2)|2,{105,55,0}}, +/* 13227 */ {(11<<2)|2,{105,55,0}}, +/* 13228 */ {(11<<2)|2,{105,55,0}}, +/* 13229 */ {(11<<2)|2,{105,55,0}}, +/* 13230 */ {(11<<2)|2,{105,55,0}}, +/* 13231 */ {(11<<2)|2,{105,55,0}}, +/* 13232 */ {(11<<2)|2,{105,55,0}}, +/* 13233 */ {(11<<2)|2,{105,55,0}}, +/* 13234 */ {(11<<2)|2,{105,55,0}}, +/* 13235 */ {(11<<2)|2,{105,55,0}}, +/* 13236 */ {(11<<2)|2,{105,55,0}}, +/* 13237 */ {(11<<2)|2,{105,55,0}}, +/* 13238 */ {(11<<2)|2,{105,55,0}}, +/* 13239 */ {(11<<2)|2,{105,55,0}}, +/* 13240 */ {(11<<2)|2,{105,55,0}}, +/* 13241 */ {(11<<2)|2,{105,55,0}}, +/* 13242 */ {(11<<2)|2,{105,55,0}}, +/* 13243 */ {(11<<2)|2,{105,55,0}}, +/* 13244 */ {(11<<2)|2,{105,55,0}}, +/* 13245 */ {(11<<2)|2,{105,55,0}}, +/* 13246 */ {(11<<2)|2,{105,55,0}}, +/* 13247 */ {(11<<2)|2,{105,55,0}}, +/* 13248 */ {(16<<2)|3,{105,56,48}}, +/* 13249 */ {(16<<2)|3,{105,56,49}}, +/* 13250 */ {(16<<2)|3,{105,56,50}}, +/* 13251 */ {(16<<2)|3,{105,56,97}}, +/* 13252 */ {(16<<2)|3,{105,56,99}}, +/* 13253 */ {(16<<2)|3,{105,56,101}}, +/* 13254 */ {(16<<2)|3,{105,56,105}}, +/* 13255 */ {(16<<2)|3,{105,56,111}}, +/* 13256 */ {(16<<2)|3,{105,56,115}}, +/* 13257 */ {(16<<2)|3,{105,56,116}}, +/* 13258 */ {(11<<2)|2,{105,56,0}}, +/* 13259 */ {(11<<2)|2,{105,56,0}}, +/* 13260 */ {(11<<2)|2,{105,56,0}}, +/* 13261 */ {(11<<2)|2,{105,56,0}}, +/* 13262 */ {(11<<2)|2,{105,56,0}}, +/* 13263 */ {(11<<2)|2,{105,56,0}}, +/* 13264 */ {(11<<2)|2,{105,56,0}}, +/* 13265 */ {(11<<2)|2,{105,56,0}}, +/* 13266 */ {(11<<2)|2,{105,56,0}}, +/* 13267 */ {(11<<2)|2,{105,56,0}}, +/* 13268 */ {(11<<2)|2,{105,56,0}}, +/* 13269 */ {(11<<2)|2,{105,56,0}}, +/* 13270 */ {(11<<2)|2,{105,56,0}}, +/* 13271 */ {(11<<2)|2,{105,56,0}}, +/* 13272 */ {(11<<2)|2,{105,56,0}}, +/* 13273 */ {(11<<2)|2,{105,56,0}}, +/* 13274 */ {(11<<2)|2,{105,56,0}}, +/* 13275 */ {(11<<2)|2,{105,56,0}}, +/* 13276 */ {(11<<2)|2,{105,56,0}}, +/* 13277 */ {(11<<2)|2,{105,56,0}}, +/* 13278 */ {(11<<2)|2,{105,56,0}}, +/* 13279 */ {(11<<2)|2,{105,56,0}}, +/* 13280 */ {(16<<2)|3,{105,57,48}}, +/* 13281 */ {(16<<2)|3,{105,57,49}}, +/* 13282 */ {(16<<2)|3,{105,57,50}}, +/* 13283 */ {(16<<2)|3,{105,57,97}}, +/* 13284 */ {(16<<2)|3,{105,57,99}}, +/* 13285 */ {(16<<2)|3,{105,57,101}}, +/* 13286 */ {(16<<2)|3,{105,57,105}}, +/* 13287 */ {(16<<2)|3,{105,57,111}}, +/* 13288 */ {(16<<2)|3,{105,57,115}}, +/* 13289 */ {(16<<2)|3,{105,57,116}}, +/* 13290 */ {(11<<2)|2,{105,57,0}}, +/* 13291 */ {(11<<2)|2,{105,57,0}}, +/* 13292 */ {(11<<2)|2,{105,57,0}}, +/* 13293 */ {(11<<2)|2,{105,57,0}}, +/* 13294 */ {(11<<2)|2,{105,57,0}}, +/* 13295 */ {(11<<2)|2,{105,57,0}}, +/* 13296 */ {(11<<2)|2,{105,57,0}}, +/* 13297 */ {(11<<2)|2,{105,57,0}}, +/* 13298 */ {(11<<2)|2,{105,57,0}}, +/* 13299 */ {(11<<2)|2,{105,57,0}}, +/* 13300 */ {(11<<2)|2,{105,57,0}}, +/* 13301 */ {(11<<2)|2,{105,57,0}}, +/* 13302 */ {(11<<2)|2,{105,57,0}}, +/* 13303 */ {(11<<2)|2,{105,57,0}}, +/* 13304 */ {(11<<2)|2,{105,57,0}}, +/* 13305 */ {(11<<2)|2,{105,57,0}}, +/* 13306 */ {(11<<2)|2,{105,57,0}}, +/* 13307 */ {(11<<2)|2,{105,57,0}}, +/* 13308 */ {(11<<2)|2,{105,57,0}}, +/* 13309 */ {(11<<2)|2,{105,57,0}}, +/* 13310 */ {(11<<2)|2,{105,57,0}}, +/* 13311 */ {(11<<2)|2,{105,57,0}}, +/* 13312 */ {(16<<2)|3,{105,61,48}}, +/* 13313 */ {(16<<2)|3,{105,61,49}}, +/* 13314 */ {(16<<2)|3,{105,61,50}}, +/* 13315 */ {(16<<2)|3,{105,61,97}}, +/* 13316 */ {(16<<2)|3,{105,61,99}}, +/* 13317 */ {(16<<2)|3,{105,61,101}}, +/* 13318 */ {(16<<2)|3,{105,61,105}}, +/* 13319 */ {(16<<2)|3,{105,61,111}}, +/* 13320 */ {(16<<2)|3,{105,61,115}}, +/* 13321 */ {(16<<2)|3,{105,61,116}}, +/* 13322 */ {(11<<2)|2,{105,61,0}}, +/* 13323 */ {(11<<2)|2,{105,61,0}}, +/* 13324 */ {(11<<2)|2,{105,61,0}}, +/* 13325 */ {(11<<2)|2,{105,61,0}}, +/* 13326 */ {(11<<2)|2,{105,61,0}}, +/* 13327 */ {(11<<2)|2,{105,61,0}}, +/* 13328 */ {(11<<2)|2,{105,61,0}}, +/* 13329 */ {(11<<2)|2,{105,61,0}}, +/* 13330 */ {(11<<2)|2,{105,61,0}}, +/* 13331 */ {(11<<2)|2,{105,61,0}}, +/* 13332 */ {(11<<2)|2,{105,61,0}}, +/* 13333 */ {(11<<2)|2,{105,61,0}}, +/* 13334 */ {(11<<2)|2,{105,61,0}}, +/* 13335 */ {(11<<2)|2,{105,61,0}}, +/* 13336 */ {(11<<2)|2,{105,61,0}}, +/* 13337 */ {(11<<2)|2,{105,61,0}}, +/* 13338 */ {(11<<2)|2,{105,61,0}}, +/* 13339 */ {(11<<2)|2,{105,61,0}}, +/* 13340 */ {(11<<2)|2,{105,61,0}}, +/* 13341 */ {(11<<2)|2,{105,61,0}}, +/* 13342 */ {(11<<2)|2,{105,61,0}}, +/* 13343 */ {(11<<2)|2,{105,61,0}}, +/* 13344 */ {(16<<2)|3,{105,65,48}}, +/* 13345 */ {(16<<2)|3,{105,65,49}}, +/* 13346 */ {(16<<2)|3,{105,65,50}}, +/* 13347 */ {(16<<2)|3,{105,65,97}}, +/* 13348 */ {(16<<2)|3,{105,65,99}}, +/* 13349 */ {(16<<2)|3,{105,65,101}}, +/* 13350 */ {(16<<2)|3,{105,65,105}}, +/* 13351 */ {(16<<2)|3,{105,65,111}}, +/* 13352 */ {(16<<2)|3,{105,65,115}}, +/* 13353 */ {(16<<2)|3,{105,65,116}}, +/* 13354 */ {(11<<2)|2,{105,65,0}}, +/* 13355 */ {(11<<2)|2,{105,65,0}}, +/* 13356 */ {(11<<2)|2,{105,65,0}}, +/* 13357 */ {(11<<2)|2,{105,65,0}}, +/* 13358 */ {(11<<2)|2,{105,65,0}}, +/* 13359 */ {(11<<2)|2,{105,65,0}}, +/* 13360 */ {(11<<2)|2,{105,65,0}}, +/* 13361 */ {(11<<2)|2,{105,65,0}}, +/* 13362 */ {(11<<2)|2,{105,65,0}}, +/* 13363 */ {(11<<2)|2,{105,65,0}}, +/* 13364 */ {(11<<2)|2,{105,65,0}}, +/* 13365 */ {(11<<2)|2,{105,65,0}}, +/* 13366 */ {(11<<2)|2,{105,65,0}}, +/* 13367 */ {(11<<2)|2,{105,65,0}}, +/* 13368 */ {(11<<2)|2,{105,65,0}}, +/* 13369 */ {(11<<2)|2,{105,65,0}}, +/* 13370 */ {(11<<2)|2,{105,65,0}}, +/* 13371 */ {(11<<2)|2,{105,65,0}}, +/* 13372 */ {(11<<2)|2,{105,65,0}}, +/* 13373 */ {(11<<2)|2,{105,65,0}}, +/* 13374 */ {(11<<2)|2,{105,65,0}}, +/* 13375 */ {(11<<2)|2,{105,65,0}}, +/* 13376 */ {(16<<2)|3,{105,95,48}}, +/* 13377 */ {(16<<2)|3,{105,95,49}}, +/* 13378 */ {(16<<2)|3,{105,95,50}}, +/* 13379 */ {(16<<2)|3,{105,95,97}}, +/* 13380 */ {(16<<2)|3,{105,95,99}}, +/* 13381 */ {(16<<2)|3,{105,95,101}}, +/* 13382 */ {(16<<2)|3,{105,95,105}}, +/* 13383 */ {(16<<2)|3,{105,95,111}}, +/* 13384 */ {(16<<2)|3,{105,95,115}}, +/* 13385 */ {(16<<2)|3,{105,95,116}}, +/* 13386 */ {(11<<2)|2,{105,95,0}}, +/* 13387 */ {(11<<2)|2,{105,95,0}}, +/* 13388 */ {(11<<2)|2,{105,95,0}}, +/* 13389 */ {(11<<2)|2,{105,95,0}}, +/* 13390 */ {(11<<2)|2,{105,95,0}}, +/* 13391 */ {(11<<2)|2,{105,95,0}}, +/* 13392 */ {(11<<2)|2,{105,95,0}}, +/* 13393 */ {(11<<2)|2,{105,95,0}}, +/* 13394 */ {(11<<2)|2,{105,95,0}}, +/* 13395 */ {(11<<2)|2,{105,95,0}}, +/* 13396 */ {(11<<2)|2,{105,95,0}}, +/* 13397 */ {(11<<2)|2,{105,95,0}}, +/* 13398 */ {(11<<2)|2,{105,95,0}}, +/* 13399 */ {(11<<2)|2,{105,95,0}}, +/* 13400 */ {(11<<2)|2,{105,95,0}}, +/* 13401 */ {(11<<2)|2,{105,95,0}}, +/* 13402 */ {(11<<2)|2,{105,95,0}}, +/* 13403 */ {(11<<2)|2,{105,95,0}}, +/* 13404 */ {(11<<2)|2,{105,95,0}}, +/* 13405 */ {(11<<2)|2,{105,95,0}}, +/* 13406 */ {(11<<2)|2,{105,95,0}}, +/* 13407 */ {(11<<2)|2,{105,95,0}}, +/* 13408 */ {(16<<2)|3,{105,98,48}}, +/* 13409 */ {(16<<2)|3,{105,98,49}}, +/* 13410 */ {(16<<2)|3,{105,98,50}}, +/* 13411 */ {(16<<2)|3,{105,98,97}}, +/* 13412 */ {(16<<2)|3,{105,98,99}}, +/* 13413 */ {(16<<2)|3,{105,98,101}}, +/* 13414 */ {(16<<2)|3,{105,98,105}}, +/* 13415 */ {(16<<2)|3,{105,98,111}}, +/* 13416 */ {(16<<2)|3,{105,98,115}}, +/* 13417 */ {(16<<2)|3,{105,98,116}}, +/* 13418 */ {(11<<2)|2,{105,98,0}}, +/* 13419 */ {(11<<2)|2,{105,98,0}}, +/* 13420 */ {(11<<2)|2,{105,98,0}}, +/* 13421 */ {(11<<2)|2,{105,98,0}}, +/* 13422 */ {(11<<2)|2,{105,98,0}}, +/* 13423 */ {(11<<2)|2,{105,98,0}}, +/* 13424 */ {(11<<2)|2,{105,98,0}}, +/* 13425 */ {(11<<2)|2,{105,98,0}}, +/* 13426 */ {(11<<2)|2,{105,98,0}}, +/* 13427 */ {(11<<2)|2,{105,98,0}}, +/* 13428 */ {(11<<2)|2,{105,98,0}}, +/* 13429 */ {(11<<2)|2,{105,98,0}}, +/* 13430 */ {(11<<2)|2,{105,98,0}}, +/* 13431 */ {(11<<2)|2,{105,98,0}}, +/* 13432 */ {(11<<2)|2,{105,98,0}}, +/* 13433 */ {(11<<2)|2,{105,98,0}}, +/* 13434 */ {(11<<2)|2,{105,98,0}}, +/* 13435 */ {(11<<2)|2,{105,98,0}}, +/* 13436 */ {(11<<2)|2,{105,98,0}}, +/* 13437 */ {(11<<2)|2,{105,98,0}}, +/* 13438 */ {(11<<2)|2,{105,98,0}}, +/* 13439 */ {(11<<2)|2,{105,98,0}}, +/* 13440 */ {(16<<2)|3,{105,100,48}}, +/* 13441 */ {(16<<2)|3,{105,100,49}}, +/* 13442 */ {(16<<2)|3,{105,100,50}}, +/* 13443 */ {(16<<2)|3,{105,100,97}}, +/* 13444 */ {(16<<2)|3,{105,100,99}}, +/* 13445 */ {(16<<2)|3,{105,100,101}}, +/* 13446 */ {(16<<2)|3,{105,100,105}}, +/* 13447 */ {(16<<2)|3,{105,100,111}}, +/* 13448 */ {(16<<2)|3,{105,100,115}}, +/* 13449 */ {(16<<2)|3,{105,100,116}}, +/* 13450 */ {(11<<2)|2,{105,100,0}}, +/* 13451 */ {(11<<2)|2,{105,100,0}}, +/* 13452 */ {(11<<2)|2,{105,100,0}}, +/* 13453 */ {(11<<2)|2,{105,100,0}}, +/* 13454 */ {(11<<2)|2,{105,100,0}}, +/* 13455 */ {(11<<2)|2,{105,100,0}}, +/* 13456 */ {(11<<2)|2,{105,100,0}}, +/* 13457 */ {(11<<2)|2,{105,100,0}}, +/* 13458 */ {(11<<2)|2,{105,100,0}}, +/* 13459 */ {(11<<2)|2,{105,100,0}}, +/* 13460 */ {(11<<2)|2,{105,100,0}}, +/* 13461 */ {(11<<2)|2,{105,100,0}}, +/* 13462 */ {(11<<2)|2,{105,100,0}}, +/* 13463 */ {(11<<2)|2,{105,100,0}}, +/* 13464 */ {(11<<2)|2,{105,100,0}}, +/* 13465 */ {(11<<2)|2,{105,100,0}}, +/* 13466 */ {(11<<2)|2,{105,100,0}}, +/* 13467 */ {(11<<2)|2,{105,100,0}}, +/* 13468 */ {(11<<2)|2,{105,100,0}}, +/* 13469 */ {(11<<2)|2,{105,100,0}}, +/* 13470 */ {(11<<2)|2,{105,100,0}}, +/* 13471 */ {(11<<2)|2,{105,100,0}}, +/* 13472 */ {(16<<2)|3,{105,102,48}}, +/* 13473 */ {(16<<2)|3,{105,102,49}}, +/* 13474 */ {(16<<2)|3,{105,102,50}}, +/* 13475 */ {(16<<2)|3,{105,102,97}}, +/* 13476 */ {(16<<2)|3,{105,102,99}}, +/* 13477 */ {(16<<2)|3,{105,102,101}}, +/* 13478 */ {(16<<2)|3,{105,102,105}}, +/* 13479 */ {(16<<2)|3,{105,102,111}}, +/* 13480 */ {(16<<2)|3,{105,102,115}}, +/* 13481 */ {(16<<2)|3,{105,102,116}}, +/* 13482 */ {(11<<2)|2,{105,102,0}}, +/* 13483 */ {(11<<2)|2,{105,102,0}}, +/* 13484 */ {(11<<2)|2,{105,102,0}}, +/* 13485 */ {(11<<2)|2,{105,102,0}}, +/* 13486 */ {(11<<2)|2,{105,102,0}}, +/* 13487 */ {(11<<2)|2,{105,102,0}}, +/* 13488 */ {(11<<2)|2,{105,102,0}}, +/* 13489 */ {(11<<2)|2,{105,102,0}}, +/* 13490 */ {(11<<2)|2,{105,102,0}}, +/* 13491 */ {(11<<2)|2,{105,102,0}}, +/* 13492 */ {(11<<2)|2,{105,102,0}}, +/* 13493 */ {(11<<2)|2,{105,102,0}}, +/* 13494 */ {(11<<2)|2,{105,102,0}}, +/* 13495 */ {(11<<2)|2,{105,102,0}}, +/* 13496 */ {(11<<2)|2,{105,102,0}}, +/* 13497 */ {(11<<2)|2,{105,102,0}}, +/* 13498 */ {(11<<2)|2,{105,102,0}}, +/* 13499 */ {(11<<2)|2,{105,102,0}}, +/* 13500 */ {(11<<2)|2,{105,102,0}}, +/* 13501 */ {(11<<2)|2,{105,102,0}}, +/* 13502 */ {(11<<2)|2,{105,102,0}}, +/* 13503 */ {(11<<2)|2,{105,102,0}}, +/* 13504 */ {(16<<2)|3,{105,103,48}}, +/* 13505 */ {(16<<2)|3,{105,103,49}}, +/* 13506 */ {(16<<2)|3,{105,103,50}}, +/* 13507 */ {(16<<2)|3,{105,103,97}}, +/* 13508 */ {(16<<2)|3,{105,103,99}}, +/* 13509 */ {(16<<2)|3,{105,103,101}}, +/* 13510 */ {(16<<2)|3,{105,103,105}}, +/* 13511 */ {(16<<2)|3,{105,103,111}}, +/* 13512 */ {(16<<2)|3,{105,103,115}}, +/* 13513 */ {(16<<2)|3,{105,103,116}}, +/* 13514 */ {(11<<2)|2,{105,103,0}}, +/* 13515 */ {(11<<2)|2,{105,103,0}}, +/* 13516 */ {(11<<2)|2,{105,103,0}}, +/* 13517 */ {(11<<2)|2,{105,103,0}}, +/* 13518 */ {(11<<2)|2,{105,103,0}}, +/* 13519 */ {(11<<2)|2,{105,103,0}}, +/* 13520 */ {(11<<2)|2,{105,103,0}}, +/* 13521 */ {(11<<2)|2,{105,103,0}}, +/* 13522 */ {(11<<2)|2,{105,103,0}}, +/* 13523 */ {(11<<2)|2,{105,103,0}}, +/* 13524 */ {(11<<2)|2,{105,103,0}}, +/* 13525 */ {(11<<2)|2,{105,103,0}}, +/* 13526 */ {(11<<2)|2,{105,103,0}}, +/* 13527 */ {(11<<2)|2,{105,103,0}}, +/* 13528 */ {(11<<2)|2,{105,103,0}}, +/* 13529 */ {(11<<2)|2,{105,103,0}}, +/* 13530 */ {(11<<2)|2,{105,103,0}}, +/* 13531 */ {(11<<2)|2,{105,103,0}}, +/* 13532 */ {(11<<2)|2,{105,103,0}}, +/* 13533 */ {(11<<2)|2,{105,103,0}}, +/* 13534 */ {(11<<2)|2,{105,103,0}}, +/* 13535 */ {(11<<2)|2,{105,103,0}}, +/* 13536 */ {(16<<2)|3,{105,104,48}}, +/* 13537 */ {(16<<2)|3,{105,104,49}}, +/* 13538 */ {(16<<2)|3,{105,104,50}}, +/* 13539 */ {(16<<2)|3,{105,104,97}}, +/* 13540 */ {(16<<2)|3,{105,104,99}}, +/* 13541 */ {(16<<2)|3,{105,104,101}}, +/* 13542 */ {(16<<2)|3,{105,104,105}}, +/* 13543 */ {(16<<2)|3,{105,104,111}}, +/* 13544 */ {(16<<2)|3,{105,104,115}}, +/* 13545 */ {(16<<2)|3,{105,104,116}}, +/* 13546 */ {(11<<2)|2,{105,104,0}}, +/* 13547 */ {(11<<2)|2,{105,104,0}}, +/* 13548 */ {(11<<2)|2,{105,104,0}}, +/* 13549 */ {(11<<2)|2,{105,104,0}}, +/* 13550 */ {(11<<2)|2,{105,104,0}}, +/* 13551 */ {(11<<2)|2,{105,104,0}}, +/* 13552 */ {(11<<2)|2,{105,104,0}}, +/* 13553 */ {(11<<2)|2,{105,104,0}}, +/* 13554 */ {(11<<2)|2,{105,104,0}}, +/* 13555 */ {(11<<2)|2,{105,104,0}}, +/* 13556 */ {(11<<2)|2,{105,104,0}}, +/* 13557 */ {(11<<2)|2,{105,104,0}}, +/* 13558 */ {(11<<2)|2,{105,104,0}}, +/* 13559 */ {(11<<2)|2,{105,104,0}}, +/* 13560 */ {(11<<2)|2,{105,104,0}}, +/* 13561 */ {(11<<2)|2,{105,104,0}}, +/* 13562 */ {(11<<2)|2,{105,104,0}}, +/* 13563 */ {(11<<2)|2,{105,104,0}}, +/* 13564 */ {(11<<2)|2,{105,104,0}}, +/* 13565 */ {(11<<2)|2,{105,104,0}}, +/* 13566 */ {(11<<2)|2,{105,104,0}}, +/* 13567 */ {(11<<2)|2,{105,104,0}}, +/* 13568 */ {(16<<2)|3,{105,108,48}}, +/* 13569 */ {(16<<2)|3,{105,108,49}}, +/* 13570 */ {(16<<2)|3,{105,108,50}}, +/* 13571 */ {(16<<2)|3,{105,108,97}}, +/* 13572 */ {(16<<2)|3,{105,108,99}}, +/* 13573 */ {(16<<2)|3,{105,108,101}}, +/* 13574 */ {(16<<2)|3,{105,108,105}}, +/* 13575 */ {(16<<2)|3,{105,108,111}}, +/* 13576 */ {(16<<2)|3,{105,108,115}}, +/* 13577 */ {(16<<2)|3,{105,108,116}}, +/* 13578 */ {(11<<2)|2,{105,108,0}}, +/* 13579 */ {(11<<2)|2,{105,108,0}}, +/* 13580 */ {(11<<2)|2,{105,108,0}}, +/* 13581 */ {(11<<2)|2,{105,108,0}}, +/* 13582 */ {(11<<2)|2,{105,108,0}}, +/* 13583 */ {(11<<2)|2,{105,108,0}}, +/* 13584 */ {(11<<2)|2,{105,108,0}}, +/* 13585 */ {(11<<2)|2,{105,108,0}}, +/* 13586 */ {(11<<2)|2,{105,108,0}}, +/* 13587 */ {(11<<2)|2,{105,108,0}}, +/* 13588 */ {(11<<2)|2,{105,108,0}}, +/* 13589 */ {(11<<2)|2,{105,108,0}}, +/* 13590 */ {(11<<2)|2,{105,108,0}}, +/* 13591 */ {(11<<2)|2,{105,108,0}}, +/* 13592 */ {(11<<2)|2,{105,108,0}}, +/* 13593 */ {(11<<2)|2,{105,108,0}}, +/* 13594 */ {(11<<2)|2,{105,108,0}}, +/* 13595 */ {(11<<2)|2,{105,108,0}}, +/* 13596 */ {(11<<2)|2,{105,108,0}}, +/* 13597 */ {(11<<2)|2,{105,108,0}}, +/* 13598 */ {(11<<2)|2,{105,108,0}}, +/* 13599 */ {(11<<2)|2,{105,108,0}}, +/* 13600 */ {(16<<2)|3,{105,109,48}}, +/* 13601 */ {(16<<2)|3,{105,109,49}}, +/* 13602 */ {(16<<2)|3,{105,109,50}}, +/* 13603 */ {(16<<2)|3,{105,109,97}}, +/* 13604 */ {(16<<2)|3,{105,109,99}}, +/* 13605 */ {(16<<2)|3,{105,109,101}}, +/* 13606 */ {(16<<2)|3,{105,109,105}}, +/* 13607 */ {(16<<2)|3,{105,109,111}}, +/* 13608 */ {(16<<2)|3,{105,109,115}}, +/* 13609 */ {(16<<2)|3,{105,109,116}}, +/* 13610 */ {(11<<2)|2,{105,109,0}}, +/* 13611 */ {(11<<2)|2,{105,109,0}}, +/* 13612 */ {(11<<2)|2,{105,109,0}}, +/* 13613 */ {(11<<2)|2,{105,109,0}}, +/* 13614 */ {(11<<2)|2,{105,109,0}}, +/* 13615 */ {(11<<2)|2,{105,109,0}}, +/* 13616 */ {(11<<2)|2,{105,109,0}}, +/* 13617 */ {(11<<2)|2,{105,109,0}}, +/* 13618 */ {(11<<2)|2,{105,109,0}}, +/* 13619 */ {(11<<2)|2,{105,109,0}}, +/* 13620 */ {(11<<2)|2,{105,109,0}}, +/* 13621 */ {(11<<2)|2,{105,109,0}}, +/* 13622 */ {(11<<2)|2,{105,109,0}}, +/* 13623 */ {(11<<2)|2,{105,109,0}}, +/* 13624 */ {(11<<2)|2,{105,109,0}}, +/* 13625 */ {(11<<2)|2,{105,109,0}}, +/* 13626 */ {(11<<2)|2,{105,109,0}}, +/* 13627 */ {(11<<2)|2,{105,109,0}}, +/* 13628 */ {(11<<2)|2,{105,109,0}}, +/* 13629 */ {(11<<2)|2,{105,109,0}}, +/* 13630 */ {(11<<2)|2,{105,109,0}}, +/* 13631 */ {(11<<2)|2,{105,109,0}}, +/* 13632 */ {(16<<2)|3,{105,110,48}}, +/* 13633 */ {(16<<2)|3,{105,110,49}}, +/* 13634 */ {(16<<2)|3,{105,110,50}}, +/* 13635 */ {(16<<2)|3,{105,110,97}}, +/* 13636 */ {(16<<2)|3,{105,110,99}}, +/* 13637 */ {(16<<2)|3,{105,110,101}}, +/* 13638 */ {(16<<2)|3,{105,110,105}}, +/* 13639 */ {(16<<2)|3,{105,110,111}}, +/* 13640 */ {(16<<2)|3,{105,110,115}}, +/* 13641 */ {(16<<2)|3,{105,110,116}}, +/* 13642 */ {(11<<2)|2,{105,110,0}}, +/* 13643 */ {(11<<2)|2,{105,110,0}}, +/* 13644 */ {(11<<2)|2,{105,110,0}}, +/* 13645 */ {(11<<2)|2,{105,110,0}}, +/* 13646 */ {(11<<2)|2,{105,110,0}}, +/* 13647 */ {(11<<2)|2,{105,110,0}}, +/* 13648 */ {(11<<2)|2,{105,110,0}}, +/* 13649 */ {(11<<2)|2,{105,110,0}}, +/* 13650 */ {(11<<2)|2,{105,110,0}}, +/* 13651 */ {(11<<2)|2,{105,110,0}}, +/* 13652 */ {(11<<2)|2,{105,110,0}}, +/* 13653 */ {(11<<2)|2,{105,110,0}}, +/* 13654 */ {(11<<2)|2,{105,110,0}}, +/* 13655 */ {(11<<2)|2,{105,110,0}}, +/* 13656 */ {(11<<2)|2,{105,110,0}}, +/* 13657 */ {(11<<2)|2,{105,110,0}}, +/* 13658 */ {(11<<2)|2,{105,110,0}}, +/* 13659 */ {(11<<2)|2,{105,110,0}}, +/* 13660 */ {(11<<2)|2,{105,110,0}}, +/* 13661 */ {(11<<2)|2,{105,110,0}}, +/* 13662 */ {(11<<2)|2,{105,110,0}}, +/* 13663 */ {(11<<2)|2,{105,110,0}}, +/* 13664 */ {(16<<2)|3,{105,112,48}}, +/* 13665 */ {(16<<2)|3,{105,112,49}}, +/* 13666 */ {(16<<2)|3,{105,112,50}}, +/* 13667 */ {(16<<2)|3,{105,112,97}}, +/* 13668 */ {(16<<2)|3,{105,112,99}}, +/* 13669 */ {(16<<2)|3,{105,112,101}}, +/* 13670 */ {(16<<2)|3,{105,112,105}}, +/* 13671 */ {(16<<2)|3,{105,112,111}}, +/* 13672 */ {(16<<2)|3,{105,112,115}}, +/* 13673 */ {(16<<2)|3,{105,112,116}}, +/* 13674 */ {(11<<2)|2,{105,112,0}}, +/* 13675 */ {(11<<2)|2,{105,112,0}}, +/* 13676 */ {(11<<2)|2,{105,112,0}}, +/* 13677 */ {(11<<2)|2,{105,112,0}}, +/* 13678 */ {(11<<2)|2,{105,112,0}}, +/* 13679 */ {(11<<2)|2,{105,112,0}}, +/* 13680 */ {(11<<2)|2,{105,112,0}}, +/* 13681 */ {(11<<2)|2,{105,112,0}}, +/* 13682 */ {(11<<2)|2,{105,112,0}}, +/* 13683 */ {(11<<2)|2,{105,112,0}}, +/* 13684 */ {(11<<2)|2,{105,112,0}}, +/* 13685 */ {(11<<2)|2,{105,112,0}}, +/* 13686 */ {(11<<2)|2,{105,112,0}}, +/* 13687 */ {(11<<2)|2,{105,112,0}}, +/* 13688 */ {(11<<2)|2,{105,112,0}}, +/* 13689 */ {(11<<2)|2,{105,112,0}}, +/* 13690 */ {(11<<2)|2,{105,112,0}}, +/* 13691 */ {(11<<2)|2,{105,112,0}}, +/* 13692 */ {(11<<2)|2,{105,112,0}}, +/* 13693 */ {(11<<2)|2,{105,112,0}}, +/* 13694 */ {(11<<2)|2,{105,112,0}}, +/* 13695 */ {(11<<2)|2,{105,112,0}}, +/* 13696 */ {(16<<2)|3,{105,114,48}}, +/* 13697 */ {(16<<2)|3,{105,114,49}}, +/* 13698 */ {(16<<2)|3,{105,114,50}}, +/* 13699 */ {(16<<2)|3,{105,114,97}}, +/* 13700 */ {(16<<2)|3,{105,114,99}}, +/* 13701 */ {(16<<2)|3,{105,114,101}}, +/* 13702 */ {(16<<2)|3,{105,114,105}}, +/* 13703 */ {(16<<2)|3,{105,114,111}}, +/* 13704 */ {(16<<2)|3,{105,114,115}}, +/* 13705 */ {(16<<2)|3,{105,114,116}}, +/* 13706 */ {(11<<2)|2,{105,114,0}}, +/* 13707 */ {(11<<2)|2,{105,114,0}}, +/* 13708 */ {(11<<2)|2,{105,114,0}}, +/* 13709 */ {(11<<2)|2,{105,114,0}}, +/* 13710 */ {(11<<2)|2,{105,114,0}}, +/* 13711 */ {(11<<2)|2,{105,114,0}}, +/* 13712 */ {(11<<2)|2,{105,114,0}}, +/* 13713 */ {(11<<2)|2,{105,114,0}}, +/* 13714 */ {(11<<2)|2,{105,114,0}}, +/* 13715 */ {(11<<2)|2,{105,114,0}}, +/* 13716 */ {(11<<2)|2,{105,114,0}}, +/* 13717 */ {(11<<2)|2,{105,114,0}}, +/* 13718 */ {(11<<2)|2,{105,114,0}}, +/* 13719 */ {(11<<2)|2,{105,114,0}}, +/* 13720 */ {(11<<2)|2,{105,114,0}}, +/* 13721 */ {(11<<2)|2,{105,114,0}}, +/* 13722 */ {(11<<2)|2,{105,114,0}}, +/* 13723 */ {(11<<2)|2,{105,114,0}}, +/* 13724 */ {(11<<2)|2,{105,114,0}}, +/* 13725 */ {(11<<2)|2,{105,114,0}}, +/* 13726 */ {(11<<2)|2,{105,114,0}}, +/* 13727 */ {(11<<2)|2,{105,114,0}}, +/* 13728 */ {(16<<2)|3,{105,117,48}}, +/* 13729 */ {(16<<2)|3,{105,117,49}}, +/* 13730 */ {(16<<2)|3,{105,117,50}}, +/* 13731 */ {(16<<2)|3,{105,117,97}}, +/* 13732 */ {(16<<2)|3,{105,117,99}}, +/* 13733 */ {(16<<2)|3,{105,117,101}}, +/* 13734 */ {(16<<2)|3,{105,117,105}}, +/* 13735 */ {(16<<2)|3,{105,117,111}}, +/* 13736 */ {(16<<2)|3,{105,117,115}}, +/* 13737 */ {(16<<2)|3,{105,117,116}}, +/* 13738 */ {(11<<2)|2,{105,117,0}}, +/* 13739 */ {(11<<2)|2,{105,117,0}}, +/* 13740 */ {(11<<2)|2,{105,117,0}}, +/* 13741 */ {(11<<2)|2,{105,117,0}}, +/* 13742 */ {(11<<2)|2,{105,117,0}}, +/* 13743 */ {(11<<2)|2,{105,117,0}}, +/* 13744 */ {(11<<2)|2,{105,117,0}}, +/* 13745 */ {(11<<2)|2,{105,117,0}}, +/* 13746 */ {(11<<2)|2,{105,117,0}}, +/* 13747 */ {(11<<2)|2,{105,117,0}}, +/* 13748 */ {(11<<2)|2,{105,117,0}}, +/* 13749 */ {(11<<2)|2,{105,117,0}}, +/* 13750 */ {(11<<2)|2,{105,117,0}}, +/* 13751 */ {(11<<2)|2,{105,117,0}}, +/* 13752 */ {(11<<2)|2,{105,117,0}}, +/* 13753 */ {(11<<2)|2,{105,117,0}}, +/* 13754 */ {(11<<2)|2,{105,117,0}}, +/* 13755 */ {(11<<2)|2,{105,117,0}}, +/* 13756 */ {(11<<2)|2,{105,117,0}}, +/* 13757 */ {(11<<2)|2,{105,117,0}}, +/* 13758 */ {(11<<2)|2,{105,117,0}}, +/* 13759 */ {(11<<2)|2,{105,117,0}}, +/* 13760 */ {(12<<2)|2,{105,58,0}}, +/* 13761 */ {(12<<2)|2,{105,58,0}}, +/* 13762 */ {(12<<2)|2,{105,58,0}}, +/* 13763 */ {(12<<2)|2,{105,58,0}}, +/* 13764 */ {(12<<2)|2,{105,58,0}}, +/* 13765 */ {(12<<2)|2,{105,58,0}}, +/* 13766 */ {(12<<2)|2,{105,58,0}}, +/* 13767 */ {(12<<2)|2,{105,58,0}}, +/* 13768 */ {(12<<2)|2,{105,58,0}}, +/* 13769 */ {(12<<2)|2,{105,58,0}}, +/* 13770 */ {(12<<2)|2,{105,58,0}}, +/* 13771 */ {(12<<2)|2,{105,58,0}}, +/* 13772 */ {(12<<2)|2,{105,58,0}}, +/* 13773 */ {(12<<2)|2,{105,58,0}}, +/* 13774 */ {(12<<2)|2,{105,58,0}}, +/* 13775 */ {(12<<2)|2,{105,58,0}}, +/* 13776 */ {(12<<2)|2,{105,66,0}}, +/* 13777 */ {(12<<2)|2,{105,66,0}}, +/* 13778 */ {(12<<2)|2,{105,66,0}}, +/* 13779 */ {(12<<2)|2,{105,66,0}}, +/* 13780 */ {(12<<2)|2,{105,66,0}}, +/* 13781 */ {(12<<2)|2,{105,66,0}}, +/* 13782 */ {(12<<2)|2,{105,66,0}}, +/* 13783 */ {(12<<2)|2,{105,66,0}}, +/* 13784 */ {(12<<2)|2,{105,66,0}}, +/* 13785 */ {(12<<2)|2,{105,66,0}}, +/* 13786 */ {(12<<2)|2,{105,66,0}}, +/* 13787 */ {(12<<2)|2,{105,66,0}}, +/* 13788 */ {(12<<2)|2,{105,66,0}}, +/* 13789 */ {(12<<2)|2,{105,66,0}}, +/* 13790 */ {(12<<2)|2,{105,66,0}}, +/* 13791 */ {(12<<2)|2,{105,66,0}}, +/* 13792 */ {(12<<2)|2,{105,67,0}}, +/* 13793 */ {(12<<2)|2,{105,67,0}}, +/* 13794 */ {(12<<2)|2,{105,67,0}}, +/* 13795 */ {(12<<2)|2,{105,67,0}}, +/* 13796 */ {(12<<2)|2,{105,67,0}}, +/* 13797 */ {(12<<2)|2,{105,67,0}}, +/* 13798 */ {(12<<2)|2,{105,67,0}}, +/* 13799 */ {(12<<2)|2,{105,67,0}}, +/* 13800 */ {(12<<2)|2,{105,67,0}}, +/* 13801 */ {(12<<2)|2,{105,67,0}}, +/* 13802 */ {(12<<2)|2,{105,67,0}}, +/* 13803 */ {(12<<2)|2,{105,67,0}}, +/* 13804 */ {(12<<2)|2,{105,67,0}}, +/* 13805 */ {(12<<2)|2,{105,67,0}}, +/* 13806 */ {(12<<2)|2,{105,67,0}}, +/* 13807 */ {(12<<2)|2,{105,67,0}}, +/* 13808 */ {(12<<2)|2,{105,68,0}}, +/* 13809 */ {(12<<2)|2,{105,68,0}}, +/* 13810 */ {(12<<2)|2,{105,68,0}}, +/* 13811 */ {(12<<2)|2,{105,68,0}}, +/* 13812 */ {(12<<2)|2,{105,68,0}}, +/* 13813 */ {(12<<2)|2,{105,68,0}}, +/* 13814 */ {(12<<2)|2,{105,68,0}}, +/* 13815 */ {(12<<2)|2,{105,68,0}}, +/* 13816 */ {(12<<2)|2,{105,68,0}}, +/* 13817 */ {(12<<2)|2,{105,68,0}}, +/* 13818 */ {(12<<2)|2,{105,68,0}}, +/* 13819 */ {(12<<2)|2,{105,68,0}}, +/* 13820 */ {(12<<2)|2,{105,68,0}}, +/* 13821 */ {(12<<2)|2,{105,68,0}}, +/* 13822 */ {(12<<2)|2,{105,68,0}}, +/* 13823 */ {(12<<2)|2,{105,68,0}}, +/* 13824 */ {(12<<2)|2,{105,69,0}}, +/* 13825 */ {(12<<2)|2,{105,69,0}}, +/* 13826 */ {(12<<2)|2,{105,69,0}}, +/* 13827 */ {(12<<2)|2,{105,69,0}}, +/* 13828 */ {(12<<2)|2,{105,69,0}}, +/* 13829 */ {(12<<2)|2,{105,69,0}}, +/* 13830 */ {(12<<2)|2,{105,69,0}}, +/* 13831 */ {(12<<2)|2,{105,69,0}}, +/* 13832 */ {(12<<2)|2,{105,69,0}}, +/* 13833 */ {(12<<2)|2,{105,69,0}}, +/* 13834 */ {(12<<2)|2,{105,69,0}}, +/* 13835 */ {(12<<2)|2,{105,69,0}}, +/* 13836 */ {(12<<2)|2,{105,69,0}}, +/* 13837 */ {(12<<2)|2,{105,69,0}}, +/* 13838 */ {(12<<2)|2,{105,69,0}}, +/* 13839 */ {(12<<2)|2,{105,69,0}}, +/* 13840 */ {(12<<2)|2,{105,70,0}}, +/* 13841 */ {(12<<2)|2,{105,70,0}}, +/* 13842 */ {(12<<2)|2,{105,70,0}}, +/* 13843 */ {(12<<2)|2,{105,70,0}}, +/* 13844 */ {(12<<2)|2,{105,70,0}}, +/* 13845 */ {(12<<2)|2,{105,70,0}}, +/* 13846 */ {(12<<2)|2,{105,70,0}}, +/* 13847 */ {(12<<2)|2,{105,70,0}}, +/* 13848 */ {(12<<2)|2,{105,70,0}}, +/* 13849 */ {(12<<2)|2,{105,70,0}}, +/* 13850 */ {(12<<2)|2,{105,70,0}}, +/* 13851 */ {(12<<2)|2,{105,70,0}}, +/* 13852 */ {(12<<2)|2,{105,70,0}}, +/* 13853 */ {(12<<2)|2,{105,70,0}}, +/* 13854 */ {(12<<2)|2,{105,70,0}}, +/* 13855 */ {(12<<2)|2,{105,70,0}}, +/* 13856 */ {(12<<2)|2,{105,71,0}}, +/* 13857 */ {(12<<2)|2,{105,71,0}}, +/* 13858 */ {(12<<2)|2,{105,71,0}}, +/* 13859 */ {(12<<2)|2,{105,71,0}}, +/* 13860 */ {(12<<2)|2,{105,71,0}}, +/* 13861 */ {(12<<2)|2,{105,71,0}}, +/* 13862 */ {(12<<2)|2,{105,71,0}}, +/* 13863 */ {(12<<2)|2,{105,71,0}}, +/* 13864 */ {(12<<2)|2,{105,71,0}}, +/* 13865 */ {(12<<2)|2,{105,71,0}}, +/* 13866 */ {(12<<2)|2,{105,71,0}}, +/* 13867 */ {(12<<2)|2,{105,71,0}}, +/* 13868 */ {(12<<2)|2,{105,71,0}}, +/* 13869 */ {(12<<2)|2,{105,71,0}}, +/* 13870 */ {(12<<2)|2,{105,71,0}}, +/* 13871 */ {(12<<2)|2,{105,71,0}}, +/* 13872 */ {(12<<2)|2,{105,72,0}}, +/* 13873 */ {(12<<2)|2,{105,72,0}}, +/* 13874 */ {(12<<2)|2,{105,72,0}}, +/* 13875 */ {(12<<2)|2,{105,72,0}}, +/* 13876 */ {(12<<2)|2,{105,72,0}}, +/* 13877 */ {(12<<2)|2,{105,72,0}}, +/* 13878 */ {(12<<2)|2,{105,72,0}}, +/* 13879 */ {(12<<2)|2,{105,72,0}}, +/* 13880 */ {(12<<2)|2,{105,72,0}}, +/* 13881 */ {(12<<2)|2,{105,72,0}}, +/* 13882 */ {(12<<2)|2,{105,72,0}}, +/* 13883 */ {(12<<2)|2,{105,72,0}}, +/* 13884 */ {(12<<2)|2,{105,72,0}}, +/* 13885 */ {(12<<2)|2,{105,72,0}}, +/* 13886 */ {(12<<2)|2,{105,72,0}}, +/* 13887 */ {(12<<2)|2,{105,72,0}}, +/* 13888 */ {(12<<2)|2,{105,73,0}}, +/* 13889 */ {(12<<2)|2,{105,73,0}}, +/* 13890 */ {(12<<2)|2,{105,73,0}}, +/* 13891 */ {(12<<2)|2,{105,73,0}}, +/* 13892 */ {(12<<2)|2,{105,73,0}}, +/* 13893 */ {(12<<2)|2,{105,73,0}}, +/* 13894 */ {(12<<2)|2,{105,73,0}}, +/* 13895 */ {(12<<2)|2,{105,73,0}}, +/* 13896 */ {(12<<2)|2,{105,73,0}}, +/* 13897 */ {(12<<2)|2,{105,73,0}}, +/* 13898 */ {(12<<2)|2,{105,73,0}}, +/* 13899 */ {(12<<2)|2,{105,73,0}}, +/* 13900 */ {(12<<2)|2,{105,73,0}}, +/* 13901 */ {(12<<2)|2,{105,73,0}}, +/* 13902 */ {(12<<2)|2,{105,73,0}}, +/* 13903 */ {(12<<2)|2,{105,73,0}}, +/* 13904 */ {(12<<2)|2,{105,74,0}}, +/* 13905 */ {(12<<2)|2,{105,74,0}}, +/* 13906 */ {(12<<2)|2,{105,74,0}}, +/* 13907 */ {(12<<2)|2,{105,74,0}}, +/* 13908 */ {(12<<2)|2,{105,74,0}}, +/* 13909 */ {(12<<2)|2,{105,74,0}}, +/* 13910 */ {(12<<2)|2,{105,74,0}}, +/* 13911 */ {(12<<2)|2,{105,74,0}}, +/* 13912 */ {(12<<2)|2,{105,74,0}}, +/* 13913 */ {(12<<2)|2,{105,74,0}}, +/* 13914 */ {(12<<2)|2,{105,74,0}}, +/* 13915 */ {(12<<2)|2,{105,74,0}}, +/* 13916 */ {(12<<2)|2,{105,74,0}}, +/* 13917 */ {(12<<2)|2,{105,74,0}}, +/* 13918 */ {(12<<2)|2,{105,74,0}}, +/* 13919 */ {(12<<2)|2,{105,74,0}}, +/* 13920 */ {(12<<2)|2,{105,75,0}}, +/* 13921 */ {(12<<2)|2,{105,75,0}}, +/* 13922 */ {(12<<2)|2,{105,75,0}}, +/* 13923 */ {(12<<2)|2,{105,75,0}}, +/* 13924 */ {(12<<2)|2,{105,75,0}}, +/* 13925 */ {(12<<2)|2,{105,75,0}}, +/* 13926 */ {(12<<2)|2,{105,75,0}}, +/* 13927 */ {(12<<2)|2,{105,75,0}}, +/* 13928 */ {(12<<2)|2,{105,75,0}}, +/* 13929 */ {(12<<2)|2,{105,75,0}}, +/* 13930 */ {(12<<2)|2,{105,75,0}}, +/* 13931 */ {(12<<2)|2,{105,75,0}}, +/* 13932 */ {(12<<2)|2,{105,75,0}}, +/* 13933 */ {(12<<2)|2,{105,75,0}}, +/* 13934 */ {(12<<2)|2,{105,75,0}}, +/* 13935 */ {(12<<2)|2,{105,75,0}}, +/* 13936 */ {(12<<2)|2,{105,76,0}}, +/* 13937 */ {(12<<2)|2,{105,76,0}}, +/* 13938 */ {(12<<2)|2,{105,76,0}}, +/* 13939 */ {(12<<2)|2,{105,76,0}}, +/* 13940 */ {(12<<2)|2,{105,76,0}}, +/* 13941 */ {(12<<2)|2,{105,76,0}}, +/* 13942 */ {(12<<2)|2,{105,76,0}}, +/* 13943 */ {(12<<2)|2,{105,76,0}}, +/* 13944 */ {(12<<2)|2,{105,76,0}}, +/* 13945 */ {(12<<2)|2,{105,76,0}}, +/* 13946 */ {(12<<2)|2,{105,76,0}}, +/* 13947 */ {(12<<2)|2,{105,76,0}}, +/* 13948 */ {(12<<2)|2,{105,76,0}}, +/* 13949 */ {(12<<2)|2,{105,76,0}}, +/* 13950 */ {(12<<2)|2,{105,76,0}}, +/* 13951 */ {(12<<2)|2,{105,76,0}}, +/* 13952 */ {(12<<2)|2,{105,77,0}}, +/* 13953 */ {(12<<2)|2,{105,77,0}}, +/* 13954 */ {(12<<2)|2,{105,77,0}}, +/* 13955 */ {(12<<2)|2,{105,77,0}}, +/* 13956 */ {(12<<2)|2,{105,77,0}}, +/* 13957 */ {(12<<2)|2,{105,77,0}}, +/* 13958 */ {(12<<2)|2,{105,77,0}}, +/* 13959 */ {(12<<2)|2,{105,77,0}}, +/* 13960 */ {(12<<2)|2,{105,77,0}}, +/* 13961 */ {(12<<2)|2,{105,77,0}}, +/* 13962 */ {(12<<2)|2,{105,77,0}}, +/* 13963 */ {(12<<2)|2,{105,77,0}}, +/* 13964 */ {(12<<2)|2,{105,77,0}}, +/* 13965 */ {(12<<2)|2,{105,77,0}}, +/* 13966 */ {(12<<2)|2,{105,77,0}}, +/* 13967 */ {(12<<2)|2,{105,77,0}}, +/* 13968 */ {(12<<2)|2,{105,78,0}}, +/* 13969 */ {(12<<2)|2,{105,78,0}}, +/* 13970 */ {(12<<2)|2,{105,78,0}}, +/* 13971 */ {(12<<2)|2,{105,78,0}}, +/* 13972 */ {(12<<2)|2,{105,78,0}}, +/* 13973 */ {(12<<2)|2,{105,78,0}}, +/* 13974 */ {(12<<2)|2,{105,78,0}}, +/* 13975 */ {(12<<2)|2,{105,78,0}}, +/* 13976 */ {(12<<2)|2,{105,78,0}}, +/* 13977 */ {(12<<2)|2,{105,78,0}}, +/* 13978 */ {(12<<2)|2,{105,78,0}}, +/* 13979 */ {(12<<2)|2,{105,78,0}}, +/* 13980 */ {(12<<2)|2,{105,78,0}}, +/* 13981 */ {(12<<2)|2,{105,78,0}}, +/* 13982 */ {(12<<2)|2,{105,78,0}}, +/* 13983 */ {(12<<2)|2,{105,78,0}}, +/* 13984 */ {(12<<2)|2,{105,79,0}}, +/* 13985 */ {(12<<2)|2,{105,79,0}}, +/* 13986 */ {(12<<2)|2,{105,79,0}}, +/* 13987 */ {(12<<2)|2,{105,79,0}}, +/* 13988 */ {(12<<2)|2,{105,79,0}}, +/* 13989 */ {(12<<2)|2,{105,79,0}}, +/* 13990 */ {(12<<2)|2,{105,79,0}}, +/* 13991 */ {(12<<2)|2,{105,79,0}}, +/* 13992 */ {(12<<2)|2,{105,79,0}}, +/* 13993 */ {(12<<2)|2,{105,79,0}}, +/* 13994 */ {(12<<2)|2,{105,79,0}}, +/* 13995 */ {(12<<2)|2,{105,79,0}}, +/* 13996 */ {(12<<2)|2,{105,79,0}}, +/* 13997 */ {(12<<2)|2,{105,79,0}}, +/* 13998 */ {(12<<2)|2,{105,79,0}}, +/* 13999 */ {(12<<2)|2,{105,79,0}}, +/* 14000 */ {(12<<2)|2,{105,80,0}}, +/* 14001 */ {(12<<2)|2,{105,80,0}}, +/* 14002 */ {(12<<2)|2,{105,80,0}}, +/* 14003 */ {(12<<2)|2,{105,80,0}}, +/* 14004 */ {(12<<2)|2,{105,80,0}}, +/* 14005 */ {(12<<2)|2,{105,80,0}}, +/* 14006 */ {(12<<2)|2,{105,80,0}}, +/* 14007 */ {(12<<2)|2,{105,80,0}}, +/* 14008 */ {(12<<2)|2,{105,80,0}}, +/* 14009 */ {(12<<2)|2,{105,80,0}}, +/* 14010 */ {(12<<2)|2,{105,80,0}}, +/* 14011 */ {(12<<2)|2,{105,80,0}}, +/* 14012 */ {(12<<2)|2,{105,80,0}}, +/* 14013 */ {(12<<2)|2,{105,80,0}}, +/* 14014 */ {(12<<2)|2,{105,80,0}}, +/* 14015 */ {(12<<2)|2,{105,80,0}}, +/* 14016 */ {(12<<2)|2,{105,81,0}}, +/* 14017 */ {(12<<2)|2,{105,81,0}}, +/* 14018 */ {(12<<2)|2,{105,81,0}}, +/* 14019 */ {(12<<2)|2,{105,81,0}}, +/* 14020 */ {(12<<2)|2,{105,81,0}}, +/* 14021 */ {(12<<2)|2,{105,81,0}}, +/* 14022 */ {(12<<2)|2,{105,81,0}}, +/* 14023 */ {(12<<2)|2,{105,81,0}}, +/* 14024 */ {(12<<2)|2,{105,81,0}}, +/* 14025 */ {(12<<2)|2,{105,81,0}}, +/* 14026 */ {(12<<2)|2,{105,81,0}}, +/* 14027 */ {(12<<2)|2,{105,81,0}}, +/* 14028 */ {(12<<2)|2,{105,81,0}}, +/* 14029 */ {(12<<2)|2,{105,81,0}}, +/* 14030 */ {(12<<2)|2,{105,81,0}}, +/* 14031 */ {(12<<2)|2,{105,81,0}}, +/* 14032 */ {(12<<2)|2,{105,82,0}}, +/* 14033 */ {(12<<2)|2,{105,82,0}}, +/* 14034 */ {(12<<2)|2,{105,82,0}}, +/* 14035 */ {(12<<2)|2,{105,82,0}}, +/* 14036 */ {(12<<2)|2,{105,82,0}}, +/* 14037 */ {(12<<2)|2,{105,82,0}}, +/* 14038 */ {(12<<2)|2,{105,82,0}}, +/* 14039 */ {(12<<2)|2,{105,82,0}}, +/* 14040 */ {(12<<2)|2,{105,82,0}}, +/* 14041 */ {(12<<2)|2,{105,82,0}}, +/* 14042 */ {(12<<2)|2,{105,82,0}}, +/* 14043 */ {(12<<2)|2,{105,82,0}}, +/* 14044 */ {(12<<2)|2,{105,82,0}}, +/* 14045 */ {(12<<2)|2,{105,82,0}}, +/* 14046 */ {(12<<2)|2,{105,82,0}}, +/* 14047 */ {(12<<2)|2,{105,82,0}}, +/* 14048 */ {(12<<2)|2,{105,83,0}}, +/* 14049 */ {(12<<2)|2,{105,83,0}}, +/* 14050 */ {(12<<2)|2,{105,83,0}}, +/* 14051 */ {(12<<2)|2,{105,83,0}}, +/* 14052 */ {(12<<2)|2,{105,83,0}}, +/* 14053 */ {(12<<2)|2,{105,83,0}}, +/* 14054 */ {(12<<2)|2,{105,83,0}}, +/* 14055 */ {(12<<2)|2,{105,83,0}}, +/* 14056 */ {(12<<2)|2,{105,83,0}}, +/* 14057 */ {(12<<2)|2,{105,83,0}}, +/* 14058 */ {(12<<2)|2,{105,83,0}}, +/* 14059 */ {(12<<2)|2,{105,83,0}}, +/* 14060 */ {(12<<2)|2,{105,83,0}}, +/* 14061 */ {(12<<2)|2,{105,83,0}}, +/* 14062 */ {(12<<2)|2,{105,83,0}}, +/* 14063 */ {(12<<2)|2,{105,83,0}}, +/* 14064 */ {(12<<2)|2,{105,84,0}}, +/* 14065 */ {(12<<2)|2,{105,84,0}}, +/* 14066 */ {(12<<2)|2,{105,84,0}}, +/* 14067 */ {(12<<2)|2,{105,84,0}}, +/* 14068 */ {(12<<2)|2,{105,84,0}}, +/* 14069 */ {(12<<2)|2,{105,84,0}}, +/* 14070 */ {(12<<2)|2,{105,84,0}}, +/* 14071 */ {(12<<2)|2,{105,84,0}}, +/* 14072 */ {(12<<2)|2,{105,84,0}}, +/* 14073 */ {(12<<2)|2,{105,84,0}}, +/* 14074 */ {(12<<2)|2,{105,84,0}}, +/* 14075 */ {(12<<2)|2,{105,84,0}}, +/* 14076 */ {(12<<2)|2,{105,84,0}}, +/* 14077 */ {(12<<2)|2,{105,84,0}}, +/* 14078 */ {(12<<2)|2,{105,84,0}}, +/* 14079 */ {(12<<2)|2,{105,84,0}}, +/* 14080 */ {(12<<2)|2,{105,85,0}}, +/* 14081 */ {(12<<2)|2,{105,85,0}}, +/* 14082 */ {(12<<2)|2,{105,85,0}}, +/* 14083 */ {(12<<2)|2,{105,85,0}}, +/* 14084 */ {(12<<2)|2,{105,85,0}}, +/* 14085 */ {(12<<2)|2,{105,85,0}}, +/* 14086 */ {(12<<2)|2,{105,85,0}}, +/* 14087 */ {(12<<2)|2,{105,85,0}}, +/* 14088 */ {(12<<2)|2,{105,85,0}}, +/* 14089 */ {(12<<2)|2,{105,85,0}}, +/* 14090 */ {(12<<2)|2,{105,85,0}}, +/* 14091 */ {(12<<2)|2,{105,85,0}}, +/* 14092 */ {(12<<2)|2,{105,85,0}}, +/* 14093 */ {(12<<2)|2,{105,85,0}}, +/* 14094 */ {(12<<2)|2,{105,85,0}}, +/* 14095 */ {(12<<2)|2,{105,85,0}}, +/* 14096 */ {(12<<2)|2,{105,86,0}}, +/* 14097 */ {(12<<2)|2,{105,86,0}}, +/* 14098 */ {(12<<2)|2,{105,86,0}}, +/* 14099 */ {(12<<2)|2,{105,86,0}}, +/* 14100 */ {(12<<2)|2,{105,86,0}}, +/* 14101 */ {(12<<2)|2,{105,86,0}}, +/* 14102 */ {(12<<2)|2,{105,86,0}}, +/* 14103 */ {(12<<2)|2,{105,86,0}}, +/* 14104 */ {(12<<2)|2,{105,86,0}}, +/* 14105 */ {(12<<2)|2,{105,86,0}}, +/* 14106 */ {(12<<2)|2,{105,86,0}}, +/* 14107 */ {(12<<2)|2,{105,86,0}}, +/* 14108 */ {(12<<2)|2,{105,86,0}}, +/* 14109 */ {(12<<2)|2,{105,86,0}}, +/* 14110 */ {(12<<2)|2,{105,86,0}}, +/* 14111 */ {(12<<2)|2,{105,86,0}}, +/* 14112 */ {(12<<2)|2,{105,87,0}}, +/* 14113 */ {(12<<2)|2,{105,87,0}}, +/* 14114 */ {(12<<2)|2,{105,87,0}}, +/* 14115 */ {(12<<2)|2,{105,87,0}}, +/* 14116 */ {(12<<2)|2,{105,87,0}}, +/* 14117 */ {(12<<2)|2,{105,87,0}}, +/* 14118 */ {(12<<2)|2,{105,87,0}}, +/* 14119 */ {(12<<2)|2,{105,87,0}}, +/* 14120 */ {(12<<2)|2,{105,87,0}}, +/* 14121 */ {(12<<2)|2,{105,87,0}}, +/* 14122 */ {(12<<2)|2,{105,87,0}}, +/* 14123 */ {(12<<2)|2,{105,87,0}}, +/* 14124 */ {(12<<2)|2,{105,87,0}}, +/* 14125 */ {(12<<2)|2,{105,87,0}}, +/* 14126 */ {(12<<2)|2,{105,87,0}}, +/* 14127 */ {(12<<2)|2,{105,87,0}}, +/* 14128 */ {(12<<2)|2,{105,89,0}}, +/* 14129 */ {(12<<2)|2,{105,89,0}}, +/* 14130 */ {(12<<2)|2,{105,89,0}}, +/* 14131 */ {(12<<2)|2,{105,89,0}}, +/* 14132 */ {(12<<2)|2,{105,89,0}}, +/* 14133 */ {(12<<2)|2,{105,89,0}}, +/* 14134 */ {(12<<2)|2,{105,89,0}}, +/* 14135 */ {(12<<2)|2,{105,89,0}}, +/* 14136 */ {(12<<2)|2,{105,89,0}}, +/* 14137 */ {(12<<2)|2,{105,89,0}}, +/* 14138 */ {(12<<2)|2,{105,89,0}}, +/* 14139 */ {(12<<2)|2,{105,89,0}}, +/* 14140 */ {(12<<2)|2,{105,89,0}}, +/* 14141 */ {(12<<2)|2,{105,89,0}}, +/* 14142 */ {(12<<2)|2,{105,89,0}}, +/* 14143 */ {(12<<2)|2,{105,89,0}}, +/* 14144 */ {(12<<2)|2,{105,106,0}}, +/* 14145 */ {(12<<2)|2,{105,106,0}}, +/* 14146 */ {(12<<2)|2,{105,106,0}}, +/* 14147 */ {(12<<2)|2,{105,106,0}}, +/* 14148 */ {(12<<2)|2,{105,106,0}}, +/* 14149 */ {(12<<2)|2,{105,106,0}}, +/* 14150 */ {(12<<2)|2,{105,106,0}}, +/* 14151 */ {(12<<2)|2,{105,106,0}}, +/* 14152 */ {(12<<2)|2,{105,106,0}}, +/* 14153 */ {(12<<2)|2,{105,106,0}}, +/* 14154 */ {(12<<2)|2,{105,106,0}}, +/* 14155 */ {(12<<2)|2,{105,106,0}}, +/* 14156 */ {(12<<2)|2,{105,106,0}}, +/* 14157 */ {(12<<2)|2,{105,106,0}}, +/* 14158 */ {(12<<2)|2,{105,106,0}}, +/* 14159 */ {(12<<2)|2,{105,106,0}}, +/* 14160 */ {(12<<2)|2,{105,107,0}}, +/* 14161 */ {(12<<2)|2,{105,107,0}}, +/* 14162 */ {(12<<2)|2,{105,107,0}}, +/* 14163 */ {(12<<2)|2,{105,107,0}}, +/* 14164 */ {(12<<2)|2,{105,107,0}}, +/* 14165 */ {(12<<2)|2,{105,107,0}}, +/* 14166 */ {(12<<2)|2,{105,107,0}}, +/* 14167 */ {(12<<2)|2,{105,107,0}}, +/* 14168 */ {(12<<2)|2,{105,107,0}}, +/* 14169 */ {(12<<2)|2,{105,107,0}}, +/* 14170 */ {(12<<2)|2,{105,107,0}}, +/* 14171 */ {(12<<2)|2,{105,107,0}}, +/* 14172 */ {(12<<2)|2,{105,107,0}}, +/* 14173 */ {(12<<2)|2,{105,107,0}}, +/* 14174 */ {(12<<2)|2,{105,107,0}}, +/* 14175 */ {(12<<2)|2,{105,107,0}}, +/* 14176 */ {(12<<2)|2,{105,113,0}}, +/* 14177 */ {(12<<2)|2,{105,113,0}}, +/* 14178 */ {(12<<2)|2,{105,113,0}}, +/* 14179 */ {(12<<2)|2,{105,113,0}}, +/* 14180 */ {(12<<2)|2,{105,113,0}}, +/* 14181 */ {(12<<2)|2,{105,113,0}}, +/* 14182 */ {(12<<2)|2,{105,113,0}}, +/* 14183 */ {(12<<2)|2,{105,113,0}}, +/* 14184 */ {(12<<2)|2,{105,113,0}}, +/* 14185 */ {(12<<2)|2,{105,113,0}}, +/* 14186 */ {(12<<2)|2,{105,113,0}}, +/* 14187 */ {(12<<2)|2,{105,113,0}}, +/* 14188 */ {(12<<2)|2,{105,113,0}}, +/* 14189 */ {(12<<2)|2,{105,113,0}}, +/* 14190 */ {(12<<2)|2,{105,113,0}}, +/* 14191 */ {(12<<2)|2,{105,113,0}}, +/* 14192 */ {(12<<2)|2,{105,118,0}}, +/* 14193 */ {(12<<2)|2,{105,118,0}}, +/* 14194 */ {(12<<2)|2,{105,118,0}}, +/* 14195 */ {(12<<2)|2,{105,118,0}}, +/* 14196 */ {(12<<2)|2,{105,118,0}}, +/* 14197 */ {(12<<2)|2,{105,118,0}}, +/* 14198 */ {(12<<2)|2,{105,118,0}}, +/* 14199 */ {(12<<2)|2,{105,118,0}}, +/* 14200 */ {(12<<2)|2,{105,118,0}}, +/* 14201 */ {(12<<2)|2,{105,118,0}}, +/* 14202 */ {(12<<2)|2,{105,118,0}}, +/* 14203 */ {(12<<2)|2,{105,118,0}}, +/* 14204 */ {(12<<2)|2,{105,118,0}}, +/* 14205 */ {(12<<2)|2,{105,118,0}}, +/* 14206 */ {(12<<2)|2,{105,118,0}}, +/* 14207 */ {(12<<2)|2,{105,118,0}}, +/* 14208 */ {(12<<2)|2,{105,119,0}}, +/* 14209 */ {(12<<2)|2,{105,119,0}}, +/* 14210 */ {(12<<2)|2,{105,119,0}}, +/* 14211 */ {(12<<2)|2,{105,119,0}}, +/* 14212 */ {(12<<2)|2,{105,119,0}}, +/* 14213 */ {(12<<2)|2,{105,119,0}}, +/* 14214 */ {(12<<2)|2,{105,119,0}}, +/* 14215 */ {(12<<2)|2,{105,119,0}}, +/* 14216 */ {(12<<2)|2,{105,119,0}}, +/* 14217 */ {(12<<2)|2,{105,119,0}}, +/* 14218 */ {(12<<2)|2,{105,119,0}}, +/* 14219 */ {(12<<2)|2,{105,119,0}}, +/* 14220 */ {(12<<2)|2,{105,119,0}}, +/* 14221 */ {(12<<2)|2,{105,119,0}}, +/* 14222 */ {(12<<2)|2,{105,119,0}}, +/* 14223 */ {(12<<2)|2,{105,119,0}}, +/* 14224 */ {(12<<2)|2,{105,120,0}}, +/* 14225 */ {(12<<2)|2,{105,120,0}}, +/* 14226 */ {(12<<2)|2,{105,120,0}}, +/* 14227 */ {(12<<2)|2,{105,120,0}}, +/* 14228 */ {(12<<2)|2,{105,120,0}}, +/* 14229 */ {(12<<2)|2,{105,120,0}}, +/* 14230 */ {(12<<2)|2,{105,120,0}}, +/* 14231 */ {(12<<2)|2,{105,120,0}}, +/* 14232 */ {(12<<2)|2,{105,120,0}}, +/* 14233 */ {(12<<2)|2,{105,120,0}}, +/* 14234 */ {(12<<2)|2,{105,120,0}}, +/* 14235 */ {(12<<2)|2,{105,120,0}}, +/* 14236 */ {(12<<2)|2,{105,120,0}}, +/* 14237 */ {(12<<2)|2,{105,120,0}}, +/* 14238 */ {(12<<2)|2,{105,120,0}}, +/* 14239 */ {(12<<2)|2,{105,120,0}}, +/* 14240 */ {(12<<2)|2,{105,121,0}}, +/* 14241 */ {(12<<2)|2,{105,121,0}}, +/* 14242 */ {(12<<2)|2,{105,121,0}}, +/* 14243 */ {(12<<2)|2,{105,121,0}}, +/* 14244 */ {(12<<2)|2,{105,121,0}}, +/* 14245 */ {(12<<2)|2,{105,121,0}}, +/* 14246 */ {(12<<2)|2,{105,121,0}}, +/* 14247 */ {(12<<2)|2,{105,121,0}}, +/* 14248 */ {(12<<2)|2,{105,121,0}}, +/* 14249 */ {(12<<2)|2,{105,121,0}}, +/* 14250 */ {(12<<2)|2,{105,121,0}}, +/* 14251 */ {(12<<2)|2,{105,121,0}}, +/* 14252 */ {(12<<2)|2,{105,121,0}}, +/* 14253 */ {(12<<2)|2,{105,121,0}}, +/* 14254 */ {(12<<2)|2,{105,121,0}}, +/* 14255 */ {(12<<2)|2,{105,121,0}}, +/* 14256 */ {(12<<2)|2,{105,122,0}}, +/* 14257 */ {(12<<2)|2,{105,122,0}}, +/* 14258 */ {(12<<2)|2,{105,122,0}}, +/* 14259 */ {(12<<2)|2,{105,122,0}}, +/* 14260 */ {(12<<2)|2,{105,122,0}}, +/* 14261 */ {(12<<2)|2,{105,122,0}}, +/* 14262 */ {(12<<2)|2,{105,122,0}}, +/* 14263 */ {(12<<2)|2,{105,122,0}}, +/* 14264 */ {(12<<2)|2,{105,122,0}}, +/* 14265 */ {(12<<2)|2,{105,122,0}}, +/* 14266 */ {(12<<2)|2,{105,122,0}}, +/* 14267 */ {(12<<2)|2,{105,122,0}}, +/* 14268 */ {(12<<2)|2,{105,122,0}}, +/* 14269 */ {(12<<2)|2,{105,122,0}}, +/* 14270 */ {(12<<2)|2,{105,122,0}}, +/* 14271 */ {(12<<2)|2,{105,122,0}}, +/* 14272 */ {(13<<2)|2,{105,38,0}}, +/* 14273 */ {(13<<2)|2,{105,38,0}}, +/* 14274 */ {(13<<2)|2,{105,38,0}}, +/* 14275 */ {(13<<2)|2,{105,38,0}}, +/* 14276 */ {(13<<2)|2,{105,38,0}}, +/* 14277 */ {(13<<2)|2,{105,38,0}}, +/* 14278 */ {(13<<2)|2,{105,38,0}}, +/* 14279 */ {(13<<2)|2,{105,38,0}}, +/* 14280 */ {(13<<2)|2,{105,42,0}}, +/* 14281 */ {(13<<2)|2,{105,42,0}}, +/* 14282 */ {(13<<2)|2,{105,42,0}}, +/* 14283 */ {(13<<2)|2,{105,42,0}}, +/* 14284 */ {(13<<2)|2,{105,42,0}}, +/* 14285 */ {(13<<2)|2,{105,42,0}}, +/* 14286 */ {(13<<2)|2,{105,42,0}}, +/* 14287 */ {(13<<2)|2,{105,42,0}}, +/* 14288 */ {(13<<2)|2,{105,44,0}}, +/* 14289 */ {(13<<2)|2,{105,44,0}}, +/* 14290 */ {(13<<2)|2,{105,44,0}}, +/* 14291 */ {(13<<2)|2,{105,44,0}}, +/* 14292 */ {(13<<2)|2,{105,44,0}}, +/* 14293 */ {(13<<2)|2,{105,44,0}}, +/* 14294 */ {(13<<2)|2,{105,44,0}}, +/* 14295 */ {(13<<2)|2,{105,44,0}}, +/* 14296 */ {(13<<2)|2,{105,59,0}}, +/* 14297 */ {(13<<2)|2,{105,59,0}}, +/* 14298 */ {(13<<2)|2,{105,59,0}}, +/* 14299 */ {(13<<2)|2,{105,59,0}}, +/* 14300 */ {(13<<2)|2,{105,59,0}}, +/* 14301 */ {(13<<2)|2,{105,59,0}}, +/* 14302 */ {(13<<2)|2,{105,59,0}}, +/* 14303 */ {(13<<2)|2,{105,59,0}}, +/* 14304 */ {(13<<2)|2,{105,88,0}}, +/* 14305 */ {(13<<2)|2,{105,88,0}}, +/* 14306 */ {(13<<2)|2,{105,88,0}}, +/* 14307 */ {(13<<2)|2,{105,88,0}}, +/* 14308 */ {(13<<2)|2,{105,88,0}}, +/* 14309 */ {(13<<2)|2,{105,88,0}}, +/* 14310 */ {(13<<2)|2,{105,88,0}}, +/* 14311 */ {(13<<2)|2,{105,88,0}}, +/* 14312 */ {(13<<2)|2,{105,90,0}}, +/* 14313 */ {(13<<2)|2,{105,90,0}}, +/* 14314 */ {(13<<2)|2,{105,90,0}}, +/* 14315 */ {(13<<2)|2,{105,90,0}}, +/* 14316 */ {(13<<2)|2,{105,90,0}}, +/* 14317 */ {(13<<2)|2,{105,90,0}}, +/* 14318 */ {(13<<2)|2,{105,90,0}}, +/* 14319 */ {(13<<2)|2,{105,90,0}}, +/* 14320 */ {(15<<2)|2,{105,33,0}}, +/* 14321 */ {(15<<2)|2,{105,33,0}}, +/* 14322 */ {(15<<2)|2,{105,34,0}}, +/* 14323 */ {(15<<2)|2,{105,34,0}}, +/* 14324 */ {(15<<2)|2,{105,40,0}}, +/* 14325 */ {(15<<2)|2,{105,40,0}}, +/* 14326 */ {(15<<2)|2,{105,41,0}}, +/* 14327 */ {(15<<2)|2,{105,41,0}}, +/* 14328 */ {(15<<2)|2,{105,63,0}}, +/* 14329 */ {(15<<2)|2,{105,63,0}}, +/* 14330 */ {(16<<2)|2,{105,39,0}}, +/* 14331 */ {(16<<2)|2,{105,43,0}}, +/* 14332 */ {(16<<2)|2,{105,124,0}}, +/* 14333 */ {(5<<2)|1,{105,0,0}}, +/* 14334 */ {(5<<2)|1,{105,0,0}}, +/* 14335 */ {(5<<2)|1,{105,0,0}}, +/* 14336 */ {(15<<2)|3,{111,48,48}}, +/* 14337 */ {(15<<2)|3,{111,48,48}}, +/* 14338 */ {(15<<2)|3,{111,48,49}}, +/* 14339 */ {(15<<2)|3,{111,48,49}}, +/* 14340 */ {(15<<2)|3,{111,48,50}}, +/* 14341 */ {(15<<2)|3,{111,48,50}}, +/* 14342 */ {(15<<2)|3,{111,48,97}}, +/* 14343 */ {(15<<2)|3,{111,48,97}}, +/* 14344 */ {(15<<2)|3,{111,48,99}}, +/* 14345 */ {(15<<2)|3,{111,48,99}}, +/* 14346 */ {(15<<2)|3,{111,48,101}}, +/* 14347 */ {(15<<2)|3,{111,48,101}}, +/* 14348 */ {(15<<2)|3,{111,48,105}}, +/* 14349 */ {(15<<2)|3,{111,48,105}}, +/* 14350 */ {(15<<2)|3,{111,48,111}}, +/* 14351 */ {(15<<2)|3,{111,48,111}}, +/* 14352 */ {(15<<2)|3,{111,48,115}}, +/* 14353 */ {(15<<2)|3,{111,48,115}}, +/* 14354 */ {(15<<2)|3,{111,48,116}}, +/* 14355 */ {(15<<2)|3,{111,48,116}}, +/* 14356 */ {(16<<2)|3,{111,48,32}}, +/* 14357 */ {(16<<2)|3,{111,48,37}}, +/* 14358 */ {(16<<2)|3,{111,48,45}}, +/* 14359 */ {(16<<2)|3,{111,48,46}}, +/* 14360 */ {(16<<2)|3,{111,48,47}}, +/* 14361 */ {(16<<2)|3,{111,48,51}}, +/* 14362 */ {(16<<2)|3,{111,48,52}}, +/* 14363 */ {(16<<2)|3,{111,48,53}}, +/* 14364 */ {(16<<2)|3,{111,48,54}}, +/* 14365 */ {(16<<2)|3,{111,48,55}}, +/* 14366 */ {(16<<2)|3,{111,48,56}}, +/* 14367 */ {(16<<2)|3,{111,48,57}}, +/* 14368 */ {(16<<2)|3,{111,48,61}}, +/* 14369 */ {(16<<2)|3,{111,48,65}}, +/* 14370 */ {(16<<2)|3,{111,48,95}}, +/* 14371 */ {(16<<2)|3,{111,48,98}}, +/* 14372 */ {(16<<2)|3,{111,48,100}}, +/* 14373 */ {(16<<2)|3,{111,48,102}}, +/* 14374 */ {(16<<2)|3,{111,48,103}}, +/* 14375 */ {(16<<2)|3,{111,48,104}}, +/* 14376 */ {(16<<2)|3,{111,48,108}}, +/* 14377 */ {(16<<2)|3,{111,48,109}}, +/* 14378 */ {(16<<2)|3,{111,48,110}}, +/* 14379 */ {(16<<2)|3,{111,48,112}}, +/* 14380 */ {(16<<2)|3,{111,48,114}}, +/* 14381 */ {(16<<2)|3,{111,48,117}}, +/* 14382 */ {(10<<2)|2,{111,48,0}}, +/* 14383 */ {(10<<2)|2,{111,48,0}}, +/* 14384 */ {(10<<2)|2,{111,48,0}}, +/* 14385 */ {(10<<2)|2,{111,48,0}}, +/* 14386 */ {(10<<2)|2,{111,48,0}}, +/* 14387 */ {(10<<2)|2,{111,48,0}}, +/* 14388 */ {(10<<2)|2,{111,48,0}}, +/* 14389 */ {(10<<2)|2,{111,48,0}}, +/* 14390 */ {(10<<2)|2,{111,48,0}}, +/* 14391 */ {(10<<2)|2,{111,48,0}}, +/* 14392 */ {(10<<2)|2,{111,48,0}}, +/* 14393 */ {(10<<2)|2,{111,48,0}}, +/* 14394 */ {(10<<2)|2,{111,48,0}}, +/* 14395 */ {(10<<2)|2,{111,48,0}}, +/* 14396 */ {(10<<2)|2,{111,48,0}}, +/* 14397 */ {(10<<2)|2,{111,48,0}}, +/* 14398 */ {(10<<2)|2,{111,48,0}}, +/* 14399 */ {(10<<2)|2,{111,48,0}}, +/* 14400 */ {(15<<2)|3,{111,49,48}}, +/* 14401 */ {(15<<2)|3,{111,49,48}}, +/* 14402 */ {(15<<2)|3,{111,49,49}}, +/* 14403 */ {(15<<2)|3,{111,49,49}}, +/* 14404 */ {(15<<2)|3,{111,49,50}}, +/* 14405 */ {(15<<2)|3,{111,49,50}}, +/* 14406 */ {(15<<2)|3,{111,49,97}}, +/* 14407 */ {(15<<2)|3,{111,49,97}}, +/* 14408 */ {(15<<2)|3,{111,49,99}}, +/* 14409 */ {(15<<2)|3,{111,49,99}}, +/* 14410 */ {(15<<2)|3,{111,49,101}}, +/* 14411 */ {(15<<2)|3,{111,49,101}}, +/* 14412 */ {(15<<2)|3,{111,49,105}}, +/* 14413 */ {(15<<2)|3,{111,49,105}}, +/* 14414 */ {(15<<2)|3,{111,49,111}}, +/* 14415 */ {(15<<2)|3,{111,49,111}}, +/* 14416 */ {(15<<2)|3,{111,49,115}}, +/* 14417 */ {(15<<2)|3,{111,49,115}}, +/* 14418 */ {(15<<2)|3,{111,49,116}}, +/* 14419 */ {(15<<2)|3,{111,49,116}}, +/* 14420 */ {(16<<2)|3,{111,49,32}}, +/* 14421 */ {(16<<2)|3,{111,49,37}}, +/* 14422 */ {(16<<2)|3,{111,49,45}}, +/* 14423 */ {(16<<2)|3,{111,49,46}}, +/* 14424 */ {(16<<2)|3,{111,49,47}}, +/* 14425 */ {(16<<2)|3,{111,49,51}}, +/* 14426 */ {(16<<2)|3,{111,49,52}}, +/* 14427 */ {(16<<2)|3,{111,49,53}}, +/* 14428 */ {(16<<2)|3,{111,49,54}}, +/* 14429 */ {(16<<2)|3,{111,49,55}}, +/* 14430 */ {(16<<2)|3,{111,49,56}}, +/* 14431 */ {(16<<2)|3,{111,49,57}}, +/* 14432 */ {(16<<2)|3,{111,49,61}}, +/* 14433 */ {(16<<2)|3,{111,49,65}}, +/* 14434 */ {(16<<2)|3,{111,49,95}}, +/* 14435 */ {(16<<2)|3,{111,49,98}}, +/* 14436 */ {(16<<2)|3,{111,49,100}}, +/* 14437 */ {(16<<2)|3,{111,49,102}}, +/* 14438 */ {(16<<2)|3,{111,49,103}}, +/* 14439 */ {(16<<2)|3,{111,49,104}}, +/* 14440 */ {(16<<2)|3,{111,49,108}}, +/* 14441 */ {(16<<2)|3,{111,49,109}}, +/* 14442 */ {(16<<2)|3,{111,49,110}}, +/* 14443 */ {(16<<2)|3,{111,49,112}}, +/* 14444 */ {(16<<2)|3,{111,49,114}}, +/* 14445 */ {(16<<2)|3,{111,49,117}}, +/* 14446 */ {(10<<2)|2,{111,49,0}}, +/* 14447 */ {(10<<2)|2,{111,49,0}}, +/* 14448 */ {(10<<2)|2,{111,49,0}}, +/* 14449 */ {(10<<2)|2,{111,49,0}}, +/* 14450 */ {(10<<2)|2,{111,49,0}}, +/* 14451 */ {(10<<2)|2,{111,49,0}}, +/* 14452 */ {(10<<2)|2,{111,49,0}}, +/* 14453 */ {(10<<2)|2,{111,49,0}}, +/* 14454 */ {(10<<2)|2,{111,49,0}}, +/* 14455 */ {(10<<2)|2,{111,49,0}}, +/* 14456 */ {(10<<2)|2,{111,49,0}}, +/* 14457 */ {(10<<2)|2,{111,49,0}}, +/* 14458 */ {(10<<2)|2,{111,49,0}}, +/* 14459 */ {(10<<2)|2,{111,49,0}}, +/* 14460 */ {(10<<2)|2,{111,49,0}}, +/* 14461 */ {(10<<2)|2,{111,49,0}}, +/* 14462 */ {(10<<2)|2,{111,49,0}}, +/* 14463 */ {(10<<2)|2,{111,49,0}}, +/* 14464 */ {(15<<2)|3,{111,50,48}}, +/* 14465 */ {(15<<2)|3,{111,50,48}}, +/* 14466 */ {(15<<2)|3,{111,50,49}}, +/* 14467 */ {(15<<2)|3,{111,50,49}}, +/* 14468 */ {(15<<2)|3,{111,50,50}}, +/* 14469 */ {(15<<2)|3,{111,50,50}}, +/* 14470 */ {(15<<2)|3,{111,50,97}}, +/* 14471 */ {(15<<2)|3,{111,50,97}}, +/* 14472 */ {(15<<2)|3,{111,50,99}}, +/* 14473 */ {(15<<2)|3,{111,50,99}}, +/* 14474 */ {(15<<2)|3,{111,50,101}}, +/* 14475 */ {(15<<2)|3,{111,50,101}}, +/* 14476 */ {(15<<2)|3,{111,50,105}}, +/* 14477 */ {(15<<2)|3,{111,50,105}}, +/* 14478 */ {(15<<2)|3,{111,50,111}}, +/* 14479 */ {(15<<2)|3,{111,50,111}}, +/* 14480 */ {(15<<2)|3,{111,50,115}}, +/* 14481 */ {(15<<2)|3,{111,50,115}}, +/* 14482 */ {(15<<2)|3,{111,50,116}}, +/* 14483 */ {(15<<2)|3,{111,50,116}}, +/* 14484 */ {(16<<2)|3,{111,50,32}}, +/* 14485 */ {(16<<2)|3,{111,50,37}}, +/* 14486 */ {(16<<2)|3,{111,50,45}}, +/* 14487 */ {(16<<2)|3,{111,50,46}}, +/* 14488 */ {(16<<2)|3,{111,50,47}}, +/* 14489 */ {(16<<2)|3,{111,50,51}}, +/* 14490 */ {(16<<2)|3,{111,50,52}}, +/* 14491 */ {(16<<2)|3,{111,50,53}}, +/* 14492 */ {(16<<2)|3,{111,50,54}}, +/* 14493 */ {(16<<2)|3,{111,50,55}}, +/* 14494 */ {(16<<2)|3,{111,50,56}}, +/* 14495 */ {(16<<2)|3,{111,50,57}}, +/* 14496 */ {(16<<2)|3,{111,50,61}}, +/* 14497 */ {(16<<2)|3,{111,50,65}}, +/* 14498 */ {(16<<2)|3,{111,50,95}}, +/* 14499 */ {(16<<2)|3,{111,50,98}}, +/* 14500 */ {(16<<2)|3,{111,50,100}}, +/* 14501 */ {(16<<2)|3,{111,50,102}}, +/* 14502 */ {(16<<2)|3,{111,50,103}}, +/* 14503 */ {(16<<2)|3,{111,50,104}}, +/* 14504 */ {(16<<2)|3,{111,50,108}}, +/* 14505 */ {(16<<2)|3,{111,50,109}}, +/* 14506 */ {(16<<2)|3,{111,50,110}}, +/* 14507 */ {(16<<2)|3,{111,50,112}}, +/* 14508 */ {(16<<2)|3,{111,50,114}}, +/* 14509 */ {(16<<2)|3,{111,50,117}}, +/* 14510 */ {(10<<2)|2,{111,50,0}}, +/* 14511 */ {(10<<2)|2,{111,50,0}}, +/* 14512 */ {(10<<2)|2,{111,50,0}}, +/* 14513 */ {(10<<2)|2,{111,50,0}}, +/* 14514 */ {(10<<2)|2,{111,50,0}}, +/* 14515 */ {(10<<2)|2,{111,50,0}}, +/* 14516 */ {(10<<2)|2,{111,50,0}}, +/* 14517 */ {(10<<2)|2,{111,50,0}}, +/* 14518 */ {(10<<2)|2,{111,50,0}}, +/* 14519 */ {(10<<2)|2,{111,50,0}}, +/* 14520 */ {(10<<2)|2,{111,50,0}}, +/* 14521 */ {(10<<2)|2,{111,50,0}}, +/* 14522 */ {(10<<2)|2,{111,50,0}}, +/* 14523 */ {(10<<2)|2,{111,50,0}}, +/* 14524 */ {(10<<2)|2,{111,50,0}}, +/* 14525 */ {(10<<2)|2,{111,50,0}}, +/* 14526 */ {(10<<2)|2,{111,50,0}}, +/* 14527 */ {(10<<2)|2,{111,50,0}}, +/* 14528 */ {(15<<2)|3,{111,97,48}}, +/* 14529 */ {(15<<2)|3,{111,97,48}}, +/* 14530 */ {(15<<2)|3,{111,97,49}}, +/* 14531 */ {(15<<2)|3,{111,97,49}}, +/* 14532 */ {(15<<2)|3,{111,97,50}}, +/* 14533 */ {(15<<2)|3,{111,97,50}}, +/* 14534 */ {(15<<2)|3,{111,97,97}}, +/* 14535 */ {(15<<2)|3,{111,97,97}}, +/* 14536 */ {(15<<2)|3,{111,97,99}}, +/* 14537 */ {(15<<2)|3,{111,97,99}}, +/* 14538 */ {(15<<2)|3,{111,97,101}}, +/* 14539 */ {(15<<2)|3,{111,97,101}}, +/* 14540 */ {(15<<2)|3,{111,97,105}}, +/* 14541 */ {(15<<2)|3,{111,97,105}}, +/* 14542 */ {(15<<2)|3,{111,97,111}}, +/* 14543 */ {(15<<2)|3,{111,97,111}}, +/* 14544 */ {(15<<2)|3,{111,97,115}}, +/* 14545 */ {(15<<2)|3,{111,97,115}}, +/* 14546 */ {(15<<2)|3,{111,97,116}}, +/* 14547 */ {(15<<2)|3,{111,97,116}}, +/* 14548 */ {(16<<2)|3,{111,97,32}}, +/* 14549 */ {(16<<2)|3,{111,97,37}}, +/* 14550 */ {(16<<2)|3,{111,97,45}}, +/* 14551 */ {(16<<2)|3,{111,97,46}}, +/* 14552 */ {(16<<2)|3,{111,97,47}}, +/* 14553 */ {(16<<2)|3,{111,97,51}}, +/* 14554 */ {(16<<2)|3,{111,97,52}}, +/* 14555 */ {(16<<2)|3,{111,97,53}}, +/* 14556 */ {(16<<2)|3,{111,97,54}}, +/* 14557 */ {(16<<2)|3,{111,97,55}}, +/* 14558 */ {(16<<2)|3,{111,97,56}}, +/* 14559 */ {(16<<2)|3,{111,97,57}}, +/* 14560 */ {(16<<2)|3,{111,97,61}}, +/* 14561 */ {(16<<2)|3,{111,97,65}}, +/* 14562 */ {(16<<2)|3,{111,97,95}}, +/* 14563 */ {(16<<2)|3,{111,97,98}}, +/* 14564 */ {(16<<2)|3,{111,97,100}}, +/* 14565 */ {(16<<2)|3,{111,97,102}}, +/* 14566 */ {(16<<2)|3,{111,97,103}}, +/* 14567 */ {(16<<2)|3,{111,97,104}}, +/* 14568 */ {(16<<2)|3,{111,97,108}}, +/* 14569 */ {(16<<2)|3,{111,97,109}}, +/* 14570 */ {(16<<2)|3,{111,97,110}}, +/* 14571 */ {(16<<2)|3,{111,97,112}}, +/* 14572 */ {(16<<2)|3,{111,97,114}}, +/* 14573 */ {(16<<2)|3,{111,97,117}}, +/* 14574 */ {(10<<2)|2,{111,97,0}}, +/* 14575 */ {(10<<2)|2,{111,97,0}}, +/* 14576 */ {(10<<2)|2,{111,97,0}}, +/* 14577 */ {(10<<2)|2,{111,97,0}}, +/* 14578 */ {(10<<2)|2,{111,97,0}}, +/* 14579 */ {(10<<2)|2,{111,97,0}}, +/* 14580 */ {(10<<2)|2,{111,97,0}}, +/* 14581 */ {(10<<2)|2,{111,97,0}}, +/* 14582 */ {(10<<2)|2,{111,97,0}}, +/* 14583 */ {(10<<2)|2,{111,97,0}}, +/* 14584 */ {(10<<2)|2,{111,97,0}}, +/* 14585 */ {(10<<2)|2,{111,97,0}}, +/* 14586 */ {(10<<2)|2,{111,97,0}}, +/* 14587 */ {(10<<2)|2,{111,97,0}}, +/* 14588 */ {(10<<2)|2,{111,97,0}}, +/* 14589 */ {(10<<2)|2,{111,97,0}}, +/* 14590 */ {(10<<2)|2,{111,97,0}}, +/* 14591 */ {(10<<2)|2,{111,97,0}}, +/* 14592 */ {(15<<2)|3,{111,99,48}}, +/* 14593 */ {(15<<2)|3,{111,99,48}}, +/* 14594 */ {(15<<2)|3,{111,99,49}}, +/* 14595 */ {(15<<2)|3,{111,99,49}}, +/* 14596 */ {(15<<2)|3,{111,99,50}}, +/* 14597 */ {(15<<2)|3,{111,99,50}}, +/* 14598 */ {(15<<2)|3,{111,99,97}}, +/* 14599 */ {(15<<2)|3,{111,99,97}}, +/* 14600 */ {(15<<2)|3,{111,99,99}}, +/* 14601 */ {(15<<2)|3,{111,99,99}}, +/* 14602 */ {(15<<2)|3,{111,99,101}}, +/* 14603 */ {(15<<2)|3,{111,99,101}}, +/* 14604 */ {(15<<2)|3,{111,99,105}}, +/* 14605 */ {(15<<2)|3,{111,99,105}}, +/* 14606 */ {(15<<2)|3,{111,99,111}}, +/* 14607 */ {(15<<2)|3,{111,99,111}}, +/* 14608 */ {(15<<2)|3,{111,99,115}}, +/* 14609 */ {(15<<2)|3,{111,99,115}}, +/* 14610 */ {(15<<2)|3,{111,99,116}}, +/* 14611 */ {(15<<2)|3,{111,99,116}}, +/* 14612 */ {(16<<2)|3,{111,99,32}}, +/* 14613 */ {(16<<2)|3,{111,99,37}}, +/* 14614 */ {(16<<2)|3,{111,99,45}}, +/* 14615 */ {(16<<2)|3,{111,99,46}}, +/* 14616 */ {(16<<2)|3,{111,99,47}}, +/* 14617 */ {(16<<2)|3,{111,99,51}}, +/* 14618 */ {(16<<2)|3,{111,99,52}}, +/* 14619 */ {(16<<2)|3,{111,99,53}}, +/* 14620 */ {(16<<2)|3,{111,99,54}}, +/* 14621 */ {(16<<2)|3,{111,99,55}}, +/* 14622 */ {(16<<2)|3,{111,99,56}}, +/* 14623 */ {(16<<2)|3,{111,99,57}}, +/* 14624 */ {(16<<2)|3,{111,99,61}}, +/* 14625 */ {(16<<2)|3,{111,99,65}}, +/* 14626 */ {(16<<2)|3,{111,99,95}}, +/* 14627 */ {(16<<2)|3,{111,99,98}}, +/* 14628 */ {(16<<2)|3,{111,99,100}}, +/* 14629 */ {(16<<2)|3,{111,99,102}}, +/* 14630 */ {(16<<2)|3,{111,99,103}}, +/* 14631 */ {(16<<2)|3,{111,99,104}}, +/* 14632 */ {(16<<2)|3,{111,99,108}}, +/* 14633 */ {(16<<2)|3,{111,99,109}}, +/* 14634 */ {(16<<2)|3,{111,99,110}}, +/* 14635 */ {(16<<2)|3,{111,99,112}}, +/* 14636 */ {(16<<2)|3,{111,99,114}}, +/* 14637 */ {(16<<2)|3,{111,99,117}}, +/* 14638 */ {(10<<2)|2,{111,99,0}}, +/* 14639 */ {(10<<2)|2,{111,99,0}}, +/* 14640 */ {(10<<2)|2,{111,99,0}}, +/* 14641 */ {(10<<2)|2,{111,99,0}}, +/* 14642 */ {(10<<2)|2,{111,99,0}}, +/* 14643 */ {(10<<2)|2,{111,99,0}}, +/* 14644 */ {(10<<2)|2,{111,99,0}}, +/* 14645 */ {(10<<2)|2,{111,99,0}}, +/* 14646 */ {(10<<2)|2,{111,99,0}}, +/* 14647 */ {(10<<2)|2,{111,99,0}}, +/* 14648 */ {(10<<2)|2,{111,99,0}}, +/* 14649 */ {(10<<2)|2,{111,99,0}}, +/* 14650 */ {(10<<2)|2,{111,99,0}}, +/* 14651 */ {(10<<2)|2,{111,99,0}}, +/* 14652 */ {(10<<2)|2,{111,99,0}}, +/* 14653 */ {(10<<2)|2,{111,99,0}}, +/* 14654 */ {(10<<2)|2,{111,99,0}}, +/* 14655 */ {(10<<2)|2,{111,99,0}}, +/* 14656 */ {(15<<2)|3,{111,101,48}}, +/* 14657 */ {(15<<2)|3,{111,101,48}}, +/* 14658 */ {(15<<2)|3,{111,101,49}}, +/* 14659 */ {(15<<2)|3,{111,101,49}}, +/* 14660 */ {(15<<2)|3,{111,101,50}}, +/* 14661 */ {(15<<2)|3,{111,101,50}}, +/* 14662 */ {(15<<2)|3,{111,101,97}}, +/* 14663 */ {(15<<2)|3,{111,101,97}}, +/* 14664 */ {(15<<2)|3,{111,101,99}}, +/* 14665 */ {(15<<2)|3,{111,101,99}}, +/* 14666 */ {(15<<2)|3,{111,101,101}}, +/* 14667 */ {(15<<2)|3,{111,101,101}}, +/* 14668 */ {(15<<2)|3,{111,101,105}}, +/* 14669 */ {(15<<2)|3,{111,101,105}}, +/* 14670 */ {(15<<2)|3,{111,101,111}}, +/* 14671 */ {(15<<2)|3,{111,101,111}}, +/* 14672 */ {(15<<2)|3,{111,101,115}}, +/* 14673 */ {(15<<2)|3,{111,101,115}}, +/* 14674 */ {(15<<2)|3,{111,101,116}}, +/* 14675 */ {(15<<2)|3,{111,101,116}}, +/* 14676 */ {(16<<2)|3,{111,101,32}}, +/* 14677 */ {(16<<2)|3,{111,101,37}}, +/* 14678 */ {(16<<2)|3,{111,101,45}}, +/* 14679 */ {(16<<2)|3,{111,101,46}}, +/* 14680 */ {(16<<2)|3,{111,101,47}}, +/* 14681 */ {(16<<2)|3,{111,101,51}}, +/* 14682 */ {(16<<2)|3,{111,101,52}}, +/* 14683 */ {(16<<2)|3,{111,101,53}}, +/* 14684 */ {(16<<2)|3,{111,101,54}}, +/* 14685 */ {(16<<2)|3,{111,101,55}}, +/* 14686 */ {(16<<2)|3,{111,101,56}}, +/* 14687 */ {(16<<2)|3,{111,101,57}}, +/* 14688 */ {(16<<2)|3,{111,101,61}}, +/* 14689 */ {(16<<2)|3,{111,101,65}}, +/* 14690 */ {(16<<2)|3,{111,101,95}}, +/* 14691 */ {(16<<2)|3,{111,101,98}}, +/* 14692 */ {(16<<2)|3,{111,101,100}}, +/* 14693 */ {(16<<2)|3,{111,101,102}}, +/* 14694 */ {(16<<2)|3,{111,101,103}}, +/* 14695 */ {(16<<2)|3,{111,101,104}}, +/* 14696 */ {(16<<2)|3,{111,101,108}}, +/* 14697 */ {(16<<2)|3,{111,101,109}}, +/* 14698 */ {(16<<2)|3,{111,101,110}}, +/* 14699 */ {(16<<2)|3,{111,101,112}}, +/* 14700 */ {(16<<2)|3,{111,101,114}}, +/* 14701 */ {(16<<2)|3,{111,101,117}}, +/* 14702 */ {(10<<2)|2,{111,101,0}}, +/* 14703 */ {(10<<2)|2,{111,101,0}}, +/* 14704 */ {(10<<2)|2,{111,101,0}}, +/* 14705 */ {(10<<2)|2,{111,101,0}}, +/* 14706 */ {(10<<2)|2,{111,101,0}}, +/* 14707 */ {(10<<2)|2,{111,101,0}}, +/* 14708 */ {(10<<2)|2,{111,101,0}}, +/* 14709 */ {(10<<2)|2,{111,101,0}}, +/* 14710 */ {(10<<2)|2,{111,101,0}}, +/* 14711 */ {(10<<2)|2,{111,101,0}}, +/* 14712 */ {(10<<2)|2,{111,101,0}}, +/* 14713 */ {(10<<2)|2,{111,101,0}}, +/* 14714 */ {(10<<2)|2,{111,101,0}}, +/* 14715 */ {(10<<2)|2,{111,101,0}}, +/* 14716 */ {(10<<2)|2,{111,101,0}}, +/* 14717 */ {(10<<2)|2,{111,101,0}}, +/* 14718 */ {(10<<2)|2,{111,101,0}}, +/* 14719 */ {(10<<2)|2,{111,101,0}}, +/* 14720 */ {(15<<2)|3,{111,105,48}}, +/* 14721 */ {(15<<2)|3,{111,105,48}}, +/* 14722 */ {(15<<2)|3,{111,105,49}}, +/* 14723 */ {(15<<2)|3,{111,105,49}}, +/* 14724 */ {(15<<2)|3,{111,105,50}}, +/* 14725 */ {(15<<2)|3,{111,105,50}}, +/* 14726 */ {(15<<2)|3,{111,105,97}}, +/* 14727 */ {(15<<2)|3,{111,105,97}}, +/* 14728 */ {(15<<2)|3,{111,105,99}}, +/* 14729 */ {(15<<2)|3,{111,105,99}}, +/* 14730 */ {(15<<2)|3,{111,105,101}}, +/* 14731 */ {(15<<2)|3,{111,105,101}}, +/* 14732 */ {(15<<2)|3,{111,105,105}}, +/* 14733 */ {(15<<2)|3,{111,105,105}}, +/* 14734 */ {(15<<2)|3,{111,105,111}}, +/* 14735 */ {(15<<2)|3,{111,105,111}}, +/* 14736 */ {(15<<2)|3,{111,105,115}}, +/* 14737 */ {(15<<2)|3,{111,105,115}}, +/* 14738 */ {(15<<2)|3,{111,105,116}}, +/* 14739 */ {(15<<2)|3,{111,105,116}}, +/* 14740 */ {(16<<2)|3,{111,105,32}}, +/* 14741 */ {(16<<2)|3,{111,105,37}}, +/* 14742 */ {(16<<2)|3,{111,105,45}}, +/* 14743 */ {(16<<2)|3,{111,105,46}}, +/* 14744 */ {(16<<2)|3,{111,105,47}}, +/* 14745 */ {(16<<2)|3,{111,105,51}}, +/* 14746 */ {(16<<2)|3,{111,105,52}}, +/* 14747 */ {(16<<2)|3,{111,105,53}}, +/* 14748 */ {(16<<2)|3,{111,105,54}}, +/* 14749 */ {(16<<2)|3,{111,105,55}}, +/* 14750 */ {(16<<2)|3,{111,105,56}}, +/* 14751 */ {(16<<2)|3,{111,105,57}}, +/* 14752 */ {(16<<2)|3,{111,105,61}}, +/* 14753 */ {(16<<2)|3,{111,105,65}}, +/* 14754 */ {(16<<2)|3,{111,105,95}}, +/* 14755 */ {(16<<2)|3,{111,105,98}}, +/* 14756 */ {(16<<2)|3,{111,105,100}}, +/* 14757 */ {(16<<2)|3,{111,105,102}}, +/* 14758 */ {(16<<2)|3,{111,105,103}}, +/* 14759 */ {(16<<2)|3,{111,105,104}}, +/* 14760 */ {(16<<2)|3,{111,105,108}}, +/* 14761 */ {(16<<2)|3,{111,105,109}}, +/* 14762 */ {(16<<2)|3,{111,105,110}}, +/* 14763 */ {(16<<2)|3,{111,105,112}}, +/* 14764 */ {(16<<2)|3,{111,105,114}}, +/* 14765 */ {(16<<2)|3,{111,105,117}}, +/* 14766 */ {(10<<2)|2,{111,105,0}}, +/* 14767 */ {(10<<2)|2,{111,105,0}}, +/* 14768 */ {(10<<2)|2,{111,105,0}}, +/* 14769 */ {(10<<2)|2,{111,105,0}}, +/* 14770 */ {(10<<2)|2,{111,105,0}}, +/* 14771 */ {(10<<2)|2,{111,105,0}}, +/* 14772 */ {(10<<2)|2,{111,105,0}}, +/* 14773 */ {(10<<2)|2,{111,105,0}}, +/* 14774 */ {(10<<2)|2,{111,105,0}}, +/* 14775 */ {(10<<2)|2,{111,105,0}}, +/* 14776 */ {(10<<2)|2,{111,105,0}}, +/* 14777 */ {(10<<2)|2,{111,105,0}}, +/* 14778 */ {(10<<2)|2,{111,105,0}}, +/* 14779 */ {(10<<2)|2,{111,105,0}}, +/* 14780 */ {(10<<2)|2,{111,105,0}}, +/* 14781 */ {(10<<2)|2,{111,105,0}}, +/* 14782 */ {(10<<2)|2,{111,105,0}}, +/* 14783 */ {(10<<2)|2,{111,105,0}}, +/* 14784 */ {(15<<2)|3,{111,111,48}}, +/* 14785 */ {(15<<2)|3,{111,111,48}}, +/* 14786 */ {(15<<2)|3,{111,111,49}}, +/* 14787 */ {(15<<2)|3,{111,111,49}}, +/* 14788 */ {(15<<2)|3,{111,111,50}}, +/* 14789 */ {(15<<2)|3,{111,111,50}}, +/* 14790 */ {(15<<2)|3,{111,111,97}}, +/* 14791 */ {(15<<2)|3,{111,111,97}}, +/* 14792 */ {(15<<2)|3,{111,111,99}}, +/* 14793 */ {(15<<2)|3,{111,111,99}}, +/* 14794 */ {(15<<2)|3,{111,111,101}}, +/* 14795 */ {(15<<2)|3,{111,111,101}}, +/* 14796 */ {(15<<2)|3,{111,111,105}}, +/* 14797 */ {(15<<2)|3,{111,111,105}}, +/* 14798 */ {(15<<2)|3,{111,111,111}}, +/* 14799 */ {(15<<2)|3,{111,111,111}}, +/* 14800 */ {(15<<2)|3,{111,111,115}}, +/* 14801 */ {(15<<2)|3,{111,111,115}}, +/* 14802 */ {(15<<2)|3,{111,111,116}}, +/* 14803 */ {(15<<2)|3,{111,111,116}}, +/* 14804 */ {(16<<2)|3,{111,111,32}}, +/* 14805 */ {(16<<2)|3,{111,111,37}}, +/* 14806 */ {(16<<2)|3,{111,111,45}}, +/* 14807 */ {(16<<2)|3,{111,111,46}}, +/* 14808 */ {(16<<2)|3,{111,111,47}}, +/* 14809 */ {(16<<2)|3,{111,111,51}}, +/* 14810 */ {(16<<2)|3,{111,111,52}}, +/* 14811 */ {(16<<2)|3,{111,111,53}}, +/* 14812 */ {(16<<2)|3,{111,111,54}}, +/* 14813 */ {(16<<2)|3,{111,111,55}}, +/* 14814 */ {(16<<2)|3,{111,111,56}}, +/* 14815 */ {(16<<2)|3,{111,111,57}}, +/* 14816 */ {(16<<2)|3,{111,111,61}}, +/* 14817 */ {(16<<2)|3,{111,111,65}}, +/* 14818 */ {(16<<2)|3,{111,111,95}}, +/* 14819 */ {(16<<2)|3,{111,111,98}}, +/* 14820 */ {(16<<2)|3,{111,111,100}}, +/* 14821 */ {(16<<2)|3,{111,111,102}}, +/* 14822 */ {(16<<2)|3,{111,111,103}}, +/* 14823 */ {(16<<2)|3,{111,111,104}}, +/* 14824 */ {(16<<2)|3,{111,111,108}}, +/* 14825 */ {(16<<2)|3,{111,111,109}}, +/* 14826 */ {(16<<2)|3,{111,111,110}}, +/* 14827 */ {(16<<2)|3,{111,111,112}}, +/* 14828 */ {(16<<2)|3,{111,111,114}}, +/* 14829 */ {(16<<2)|3,{111,111,117}}, +/* 14830 */ {(10<<2)|2,{111,111,0}}, +/* 14831 */ {(10<<2)|2,{111,111,0}}, +/* 14832 */ {(10<<2)|2,{111,111,0}}, +/* 14833 */ {(10<<2)|2,{111,111,0}}, +/* 14834 */ {(10<<2)|2,{111,111,0}}, +/* 14835 */ {(10<<2)|2,{111,111,0}}, +/* 14836 */ {(10<<2)|2,{111,111,0}}, +/* 14837 */ {(10<<2)|2,{111,111,0}}, +/* 14838 */ {(10<<2)|2,{111,111,0}}, +/* 14839 */ {(10<<2)|2,{111,111,0}}, +/* 14840 */ {(10<<2)|2,{111,111,0}}, +/* 14841 */ {(10<<2)|2,{111,111,0}}, +/* 14842 */ {(10<<2)|2,{111,111,0}}, +/* 14843 */ {(10<<2)|2,{111,111,0}}, +/* 14844 */ {(10<<2)|2,{111,111,0}}, +/* 14845 */ {(10<<2)|2,{111,111,0}}, +/* 14846 */ {(10<<2)|2,{111,111,0}}, +/* 14847 */ {(10<<2)|2,{111,111,0}}, +/* 14848 */ {(15<<2)|3,{111,115,48}}, +/* 14849 */ {(15<<2)|3,{111,115,48}}, +/* 14850 */ {(15<<2)|3,{111,115,49}}, +/* 14851 */ {(15<<2)|3,{111,115,49}}, +/* 14852 */ {(15<<2)|3,{111,115,50}}, +/* 14853 */ {(15<<2)|3,{111,115,50}}, +/* 14854 */ {(15<<2)|3,{111,115,97}}, +/* 14855 */ {(15<<2)|3,{111,115,97}}, +/* 14856 */ {(15<<2)|3,{111,115,99}}, +/* 14857 */ {(15<<2)|3,{111,115,99}}, +/* 14858 */ {(15<<2)|3,{111,115,101}}, +/* 14859 */ {(15<<2)|3,{111,115,101}}, +/* 14860 */ {(15<<2)|3,{111,115,105}}, +/* 14861 */ {(15<<2)|3,{111,115,105}}, +/* 14862 */ {(15<<2)|3,{111,115,111}}, +/* 14863 */ {(15<<2)|3,{111,115,111}}, +/* 14864 */ {(15<<2)|3,{111,115,115}}, +/* 14865 */ {(15<<2)|3,{111,115,115}}, +/* 14866 */ {(15<<2)|3,{111,115,116}}, +/* 14867 */ {(15<<2)|3,{111,115,116}}, +/* 14868 */ {(16<<2)|3,{111,115,32}}, +/* 14869 */ {(16<<2)|3,{111,115,37}}, +/* 14870 */ {(16<<2)|3,{111,115,45}}, +/* 14871 */ {(16<<2)|3,{111,115,46}}, +/* 14872 */ {(16<<2)|3,{111,115,47}}, +/* 14873 */ {(16<<2)|3,{111,115,51}}, +/* 14874 */ {(16<<2)|3,{111,115,52}}, +/* 14875 */ {(16<<2)|3,{111,115,53}}, +/* 14876 */ {(16<<2)|3,{111,115,54}}, +/* 14877 */ {(16<<2)|3,{111,115,55}}, +/* 14878 */ {(16<<2)|3,{111,115,56}}, +/* 14879 */ {(16<<2)|3,{111,115,57}}, +/* 14880 */ {(16<<2)|3,{111,115,61}}, +/* 14881 */ {(16<<2)|3,{111,115,65}}, +/* 14882 */ {(16<<2)|3,{111,115,95}}, +/* 14883 */ {(16<<2)|3,{111,115,98}}, +/* 14884 */ {(16<<2)|3,{111,115,100}}, +/* 14885 */ {(16<<2)|3,{111,115,102}}, +/* 14886 */ {(16<<2)|3,{111,115,103}}, +/* 14887 */ {(16<<2)|3,{111,115,104}}, +/* 14888 */ {(16<<2)|3,{111,115,108}}, +/* 14889 */ {(16<<2)|3,{111,115,109}}, +/* 14890 */ {(16<<2)|3,{111,115,110}}, +/* 14891 */ {(16<<2)|3,{111,115,112}}, +/* 14892 */ {(16<<2)|3,{111,115,114}}, +/* 14893 */ {(16<<2)|3,{111,115,117}}, +/* 14894 */ {(10<<2)|2,{111,115,0}}, +/* 14895 */ {(10<<2)|2,{111,115,0}}, +/* 14896 */ {(10<<2)|2,{111,115,0}}, +/* 14897 */ {(10<<2)|2,{111,115,0}}, +/* 14898 */ {(10<<2)|2,{111,115,0}}, +/* 14899 */ {(10<<2)|2,{111,115,0}}, +/* 14900 */ {(10<<2)|2,{111,115,0}}, +/* 14901 */ {(10<<2)|2,{111,115,0}}, +/* 14902 */ {(10<<2)|2,{111,115,0}}, +/* 14903 */ {(10<<2)|2,{111,115,0}}, +/* 14904 */ {(10<<2)|2,{111,115,0}}, +/* 14905 */ {(10<<2)|2,{111,115,0}}, +/* 14906 */ {(10<<2)|2,{111,115,0}}, +/* 14907 */ {(10<<2)|2,{111,115,0}}, +/* 14908 */ {(10<<2)|2,{111,115,0}}, +/* 14909 */ {(10<<2)|2,{111,115,0}}, +/* 14910 */ {(10<<2)|2,{111,115,0}}, +/* 14911 */ {(10<<2)|2,{111,115,0}}, +/* 14912 */ {(15<<2)|3,{111,116,48}}, +/* 14913 */ {(15<<2)|3,{111,116,48}}, +/* 14914 */ {(15<<2)|3,{111,116,49}}, +/* 14915 */ {(15<<2)|3,{111,116,49}}, +/* 14916 */ {(15<<2)|3,{111,116,50}}, +/* 14917 */ {(15<<2)|3,{111,116,50}}, +/* 14918 */ {(15<<2)|3,{111,116,97}}, +/* 14919 */ {(15<<2)|3,{111,116,97}}, +/* 14920 */ {(15<<2)|3,{111,116,99}}, +/* 14921 */ {(15<<2)|3,{111,116,99}}, +/* 14922 */ {(15<<2)|3,{111,116,101}}, +/* 14923 */ {(15<<2)|3,{111,116,101}}, +/* 14924 */ {(15<<2)|3,{111,116,105}}, +/* 14925 */ {(15<<2)|3,{111,116,105}}, +/* 14926 */ {(15<<2)|3,{111,116,111}}, +/* 14927 */ {(15<<2)|3,{111,116,111}}, +/* 14928 */ {(15<<2)|3,{111,116,115}}, +/* 14929 */ {(15<<2)|3,{111,116,115}}, +/* 14930 */ {(15<<2)|3,{111,116,116}}, +/* 14931 */ {(15<<2)|3,{111,116,116}}, +/* 14932 */ {(16<<2)|3,{111,116,32}}, +/* 14933 */ {(16<<2)|3,{111,116,37}}, +/* 14934 */ {(16<<2)|3,{111,116,45}}, +/* 14935 */ {(16<<2)|3,{111,116,46}}, +/* 14936 */ {(16<<2)|3,{111,116,47}}, +/* 14937 */ {(16<<2)|3,{111,116,51}}, +/* 14938 */ {(16<<2)|3,{111,116,52}}, +/* 14939 */ {(16<<2)|3,{111,116,53}}, +/* 14940 */ {(16<<2)|3,{111,116,54}}, +/* 14941 */ {(16<<2)|3,{111,116,55}}, +/* 14942 */ {(16<<2)|3,{111,116,56}}, +/* 14943 */ {(16<<2)|3,{111,116,57}}, +/* 14944 */ {(16<<2)|3,{111,116,61}}, +/* 14945 */ {(16<<2)|3,{111,116,65}}, +/* 14946 */ {(16<<2)|3,{111,116,95}}, +/* 14947 */ {(16<<2)|3,{111,116,98}}, +/* 14948 */ {(16<<2)|3,{111,116,100}}, +/* 14949 */ {(16<<2)|3,{111,116,102}}, +/* 14950 */ {(16<<2)|3,{111,116,103}}, +/* 14951 */ {(16<<2)|3,{111,116,104}}, +/* 14952 */ {(16<<2)|3,{111,116,108}}, +/* 14953 */ {(16<<2)|3,{111,116,109}}, +/* 14954 */ {(16<<2)|3,{111,116,110}}, +/* 14955 */ {(16<<2)|3,{111,116,112}}, +/* 14956 */ {(16<<2)|3,{111,116,114}}, +/* 14957 */ {(16<<2)|3,{111,116,117}}, +/* 14958 */ {(10<<2)|2,{111,116,0}}, +/* 14959 */ {(10<<2)|2,{111,116,0}}, +/* 14960 */ {(10<<2)|2,{111,116,0}}, +/* 14961 */ {(10<<2)|2,{111,116,0}}, +/* 14962 */ {(10<<2)|2,{111,116,0}}, +/* 14963 */ {(10<<2)|2,{111,116,0}}, +/* 14964 */ {(10<<2)|2,{111,116,0}}, +/* 14965 */ {(10<<2)|2,{111,116,0}}, +/* 14966 */ {(10<<2)|2,{111,116,0}}, +/* 14967 */ {(10<<2)|2,{111,116,0}}, +/* 14968 */ {(10<<2)|2,{111,116,0}}, +/* 14969 */ {(10<<2)|2,{111,116,0}}, +/* 14970 */ {(10<<2)|2,{111,116,0}}, +/* 14971 */ {(10<<2)|2,{111,116,0}}, +/* 14972 */ {(10<<2)|2,{111,116,0}}, +/* 14973 */ {(10<<2)|2,{111,116,0}}, +/* 14974 */ {(10<<2)|2,{111,116,0}}, +/* 14975 */ {(10<<2)|2,{111,116,0}}, +/* 14976 */ {(16<<2)|3,{111,32,48}}, +/* 14977 */ {(16<<2)|3,{111,32,49}}, +/* 14978 */ {(16<<2)|3,{111,32,50}}, +/* 14979 */ {(16<<2)|3,{111,32,97}}, +/* 14980 */ {(16<<2)|3,{111,32,99}}, +/* 14981 */ {(16<<2)|3,{111,32,101}}, +/* 14982 */ {(16<<2)|3,{111,32,105}}, +/* 14983 */ {(16<<2)|3,{111,32,111}}, +/* 14984 */ {(16<<2)|3,{111,32,115}}, +/* 14985 */ {(16<<2)|3,{111,32,116}}, +/* 14986 */ {(11<<2)|2,{111,32,0}}, +/* 14987 */ {(11<<2)|2,{111,32,0}}, +/* 14988 */ {(11<<2)|2,{111,32,0}}, +/* 14989 */ {(11<<2)|2,{111,32,0}}, +/* 14990 */ {(11<<2)|2,{111,32,0}}, +/* 14991 */ {(11<<2)|2,{111,32,0}}, +/* 14992 */ {(11<<2)|2,{111,32,0}}, +/* 14993 */ {(11<<2)|2,{111,32,0}}, +/* 14994 */ {(11<<2)|2,{111,32,0}}, +/* 14995 */ {(11<<2)|2,{111,32,0}}, +/* 14996 */ {(11<<2)|2,{111,32,0}}, +/* 14997 */ {(11<<2)|2,{111,32,0}}, +/* 14998 */ {(11<<2)|2,{111,32,0}}, +/* 14999 */ {(11<<2)|2,{111,32,0}}, +/* 15000 */ {(11<<2)|2,{111,32,0}}, +/* 15001 */ {(11<<2)|2,{111,32,0}}, +/* 15002 */ {(11<<2)|2,{111,32,0}}, +/* 15003 */ {(11<<2)|2,{111,32,0}}, +/* 15004 */ {(11<<2)|2,{111,32,0}}, +/* 15005 */ {(11<<2)|2,{111,32,0}}, +/* 15006 */ {(11<<2)|2,{111,32,0}}, +/* 15007 */ {(11<<2)|2,{111,32,0}}, +/* 15008 */ {(16<<2)|3,{111,37,48}}, +/* 15009 */ {(16<<2)|3,{111,37,49}}, +/* 15010 */ {(16<<2)|3,{111,37,50}}, +/* 15011 */ {(16<<2)|3,{111,37,97}}, +/* 15012 */ {(16<<2)|3,{111,37,99}}, +/* 15013 */ {(16<<2)|3,{111,37,101}}, +/* 15014 */ {(16<<2)|3,{111,37,105}}, +/* 15015 */ {(16<<2)|3,{111,37,111}}, +/* 15016 */ {(16<<2)|3,{111,37,115}}, +/* 15017 */ {(16<<2)|3,{111,37,116}}, +/* 15018 */ {(11<<2)|2,{111,37,0}}, +/* 15019 */ {(11<<2)|2,{111,37,0}}, +/* 15020 */ {(11<<2)|2,{111,37,0}}, +/* 15021 */ {(11<<2)|2,{111,37,0}}, +/* 15022 */ {(11<<2)|2,{111,37,0}}, +/* 15023 */ {(11<<2)|2,{111,37,0}}, +/* 15024 */ {(11<<2)|2,{111,37,0}}, +/* 15025 */ {(11<<2)|2,{111,37,0}}, +/* 15026 */ {(11<<2)|2,{111,37,0}}, +/* 15027 */ {(11<<2)|2,{111,37,0}}, +/* 15028 */ {(11<<2)|2,{111,37,0}}, +/* 15029 */ {(11<<2)|2,{111,37,0}}, +/* 15030 */ {(11<<2)|2,{111,37,0}}, +/* 15031 */ {(11<<2)|2,{111,37,0}}, +/* 15032 */ {(11<<2)|2,{111,37,0}}, +/* 15033 */ {(11<<2)|2,{111,37,0}}, +/* 15034 */ {(11<<2)|2,{111,37,0}}, +/* 15035 */ {(11<<2)|2,{111,37,0}}, +/* 15036 */ {(11<<2)|2,{111,37,0}}, +/* 15037 */ {(11<<2)|2,{111,37,0}}, +/* 15038 */ {(11<<2)|2,{111,37,0}}, +/* 15039 */ {(11<<2)|2,{111,37,0}}, +/* 15040 */ {(16<<2)|3,{111,45,48}}, +/* 15041 */ {(16<<2)|3,{111,45,49}}, +/* 15042 */ {(16<<2)|3,{111,45,50}}, +/* 15043 */ {(16<<2)|3,{111,45,97}}, +/* 15044 */ {(16<<2)|3,{111,45,99}}, +/* 15045 */ {(16<<2)|3,{111,45,101}}, +/* 15046 */ {(16<<2)|3,{111,45,105}}, +/* 15047 */ {(16<<2)|3,{111,45,111}}, +/* 15048 */ {(16<<2)|3,{111,45,115}}, +/* 15049 */ {(16<<2)|3,{111,45,116}}, +/* 15050 */ {(11<<2)|2,{111,45,0}}, +/* 15051 */ {(11<<2)|2,{111,45,0}}, +/* 15052 */ {(11<<2)|2,{111,45,0}}, +/* 15053 */ {(11<<2)|2,{111,45,0}}, +/* 15054 */ {(11<<2)|2,{111,45,0}}, +/* 15055 */ {(11<<2)|2,{111,45,0}}, +/* 15056 */ {(11<<2)|2,{111,45,0}}, +/* 15057 */ {(11<<2)|2,{111,45,0}}, +/* 15058 */ {(11<<2)|2,{111,45,0}}, +/* 15059 */ {(11<<2)|2,{111,45,0}}, +/* 15060 */ {(11<<2)|2,{111,45,0}}, +/* 15061 */ {(11<<2)|2,{111,45,0}}, +/* 15062 */ {(11<<2)|2,{111,45,0}}, +/* 15063 */ {(11<<2)|2,{111,45,0}}, +/* 15064 */ {(11<<2)|2,{111,45,0}}, +/* 15065 */ {(11<<2)|2,{111,45,0}}, +/* 15066 */ {(11<<2)|2,{111,45,0}}, +/* 15067 */ {(11<<2)|2,{111,45,0}}, +/* 15068 */ {(11<<2)|2,{111,45,0}}, +/* 15069 */ {(11<<2)|2,{111,45,0}}, +/* 15070 */ {(11<<2)|2,{111,45,0}}, +/* 15071 */ {(11<<2)|2,{111,45,0}}, +/* 15072 */ {(16<<2)|3,{111,46,48}}, +/* 15073 */ {(16<<2)|3,{111,46,49}}, +/* 15074 */ {(16<<2)|3,{111,46,50}}, +/* 15075 */ {(16<<2)|3,{111,46,97}}, +/* 15076 */ {(16<<2)|3,{111,46,99}}, +/* 15077 */ {(16<<2)|3,{111,46,101}}, +/* 15078 */ {(16<<2)|3,{111,46,105}}, +/* 15079 */ {(16<<2)|3,{111,46,111}}, +/* 15080 */ {(16<<2)|3,{111,46,115}}, +/* 15081 */ {(16<<2)|3,{111,46,116}}, +/* 15082 */ {(11<<2)|2,{111,46,0}}, +/* 15083 */ {(11<<2)|2,{111,46,0}}, +/* 15084 */ {(11<<2)|2,{111,46,0}}, +/* 15085 */ {(11<<2)|2,{111,46,0}}, +/* 15086 */ {(11<<2)|2,{111,46,0}}, +/* 15087 */ {(11<<2)|2,{111,46,0}}, +/* 15088 */ {(11<<2)|2,{111,46,0}}, +/* 15089 */ {(11<<2)|2,{111,46,0}}, +/* 15090 */ {(11<<2)|2,{111,46,0}}, +/* 15091 */ {(11<<2)|2,{111,46,0}}, +/* 15092 */ {(11<<2)|2,{111,46,0}}, +/* 15093 */ {(11<<2)|2,{111,46,0}}, +/* 15094 */ {(11<<2)|2,{111,46,0}}, +/* 15095 */ {(11<<2)|2,{111,46,0}}, +/* 15096 */ {(11<<2)|2,{111,46,0}}, +/* 15097 */ {(11<<2)|2,{111,46,0}}, +/* 15098 */ {(11<<2)|2,{111,46,0}}, +/* 15099 */ {(11<<2)|2,{111,46,0}}, +/* 15100 */ {(11<<2)|2,{111,46,0}}, +/* 15101 */ {(11<<2)|2,{111,46,0}}, +/* 15102 */ {(11<<2)|2,{111,46,0}}, +/* 15103 */ {(11<<2)|2,{111,46,0}}, +/* 15104 */ {(16<<2)|3,{111,47,48}}, +/* 15105 */ {(16<<2)|3,{111,47,49}}, +/* 15106 */ {(16<<2)|3,{111,47,50}}, +/* 15107 */ {(16<<2)|3,{111,47,97}}, +/* 15108 */ {(16<<2)|3,{111,47,99}}, +/* 15109 */ {(16<<2)|3,{111,47,101}}, +/* 15110 */ {(16<<2)|3,{111,47,105}}, +/* 15111 */ {(16<<2)|3,{111,47,111}}, +/* 15112 */ {(16<<2)|3,{111,47,115}}, +/* 15113 */ {(16<<2)|3,{111,47,116}}, +/* 15114 */ {(11<<2)|2,{111,47,0}}, +/* 15115 */ {(11<<2)|2,{111,47,0}}, +/* 15116 */ {(11<<2)|2,{111,47,0}}, +/* 15117 */ {(11<<2)|2,{111,47,0}}, +/* 15118 */ {(11<<2)|2,{111,47,0}}, +/* 15119 */ {(11<<2)|2,{111,47,0}}, +/* 15120 */ {(11<<2)|2,{111,47,0}}, +/* 15121 */ {(11<<2)|2,{111,47,0}}, +/* 15122 */ {(11<<2)|2,{111,47,0}}, +/* 15123 */ {(11<<2)|2,{111,47,0}}, +/* 15124 */ {(11<<2)|2,{111,47,0}}, +/* 15125 */ {(11<<2)|2,{111,47,0}}, +/* 15126 */ {(11<<2)|2,{111,47,0}}, +/* 15127 */ {(11<<2)|2,{111,47,0}}, +/* 15128 */ {(11<<2)|2,{111,47,0}}, +/* 15129 */ {(11<<2)|2,{111,47,0}}, +/* 15130 */ {(11<<2)|2,{111,47,0}}, +/* 15131 */ {(11<<2)|2,{111,47,0}}, +/* 15132 */ {(11<<2)|2,{111,47,0}}, +/* 15133 */ {(11<<2)|2,{111,47,0}}, +/* 15134 */ {(11<<2)|2,{111,47,0}}, +/* 15135 */ {(11<<2)|2,{111,47,0}}, +/* 15136 */ {(16<<2)|3,{111,51,48}}, +/* 15137 */ {(16<<2)|3,{111,51,49}}, +/* 15138 */ {(16<<2)|3,{111,51,50}}, +/* 15139 */ {(16<<2)|3,{111,51,97}}, +/* 15140 */ {(16<<2)|3,{111,51,99}}, +/* 15141 */ {(16<<2)|3,{111,51,101}}, +/* 15142 */ {(16<<2)|3,{111,51,105}}, +/* 15143 */ {(16<<2)|3,{111,51,111}}, +/* 15144 */ {(16<<2)|3,{111,51,115}}, +/* 15145 */ {(16<<2)|3,{111,51,116}}, +/* 15146 */ {(11<<2)|2,{111,51,0}}, +/* 15147 */ {(11<<2)|2,{111,51,0}}, +/* 15148 */ {(11<<2)|2,{111,51,0}}, +/* 15149 */ {(11<<2)|2,{111,51,0}}, +/* 15150 */ {(11<<2)|2,{111,51,0}}, +/* 15151 */ {(11<<2)|2,{111,51,0}}, +/* 15152 */ {(11<<2)|2,{111,51,0}}, +/* 15153 */ {(11<<2)|2,{111,51,0}}, +/* 15154 */ {(11<<2)|2,{111,51,0}}, +/* 15155 */ {(11<<2)|2,{111,51,0}}, +/* 15156 */ {(11<<2)|2,{111,51,0}}, +/* 15157 */ {(11<<2)|2,{111,51,0}}, +/* 15158 */ {(11<<2)|2,{111,51,0}}, +/* 15159 */ {(11<<2)|2,{111,51,0}}, +/* 15160 */ {(11<<2)|2,{111,51,0}}, +/* 15161 */ {(11<<2)|2,{111,51,0}}, +/* 15162 */ {(11<<2)|2,{111,51,0}}, +/* 15163 */ {(11<<2)|2,{111,51,0}}, +/* 15164 */ {(11<<2)|2,{111,51,0}}, +/* 15165 */ {(11<<2)|2,{111,51,0}}, +/* 15166 */ {(11<<2)|2,{111,51,0}}, +/* 15167 */ {(11<<2)|2,{111,51,0}}, +/* 15168 */ {(16<<2)|3,{111,52,48}}, +/* 15169 */ {(16<<2)|3,{111,52,49}}, +/* 15170 */ {(16<<2)|3,{111,52,50}}, +/* 15171 */ {(16<<2)|3,{111,52,97}}, +/* 15172 */ {(16<<2)|3,{111,52,99}}, +/* 15173 */ {(16<<2)|3,{111,52,101}}, +/* 15174 */ {(16<<2)|3,{111,52,105}}, +/* 15175 */ {(16<<2)|3,{111,52,111}}, +/* 15176 */ {(16<<2)|3,{111,52,115}}, +/* 15177 */ {(16<<2)|3,{111,52,116}}, +/* 15178 */ {(11<<2)|2,{111,52,0}}, +/* 15179 */ {(11<<2)|2,{111,52,0}}, +/* 15180 */ {(11<<2)|2,{111,52,0}}, +/* 15181 */ {(11<<2)|2,{111,52,0}}, +/* 15182 */ {(11<<2)|2,{111,52,0}}, +/* 15183 */ {(11<<2)|2,{111,52,0}}, +/* 15184 */ {(11<<2)|2,{111,52,0}}, +/* 15185 */ {(11<<2)|2,{111,52,0}}, +/* 15186 */ {(11<<2)|2,{111,52,0}}, +/* 15187 */ {(11<<2)|2,{111,52,0}}, +/* 15188 */ {(11<<2)|2,{111,52,0}}, +/* 15189 */ {(11<<2)|2,{111,52,0}}, +/* 15190 */ {(11<<2)|2,{111,52,0}}, +/* 15191 */ {(11<<2)|2,{111,52,0}}, +/* 15192 */ {(11<<2)|2,{111,52,0}}, +/* 15193 */ {(11<<2)|2,{111,52,0}}, +/* 15194 */ {(11<<2)|2,{111,52,0}}, +/* 15195 */ {(11<<2)|2,{111,52,0}}, +/* 15196 */ {(11<<2)|2,{111,52,0}}, +/* 15197 */ {(11<<2)|2,{111,52,0}}, +/* 15198 */ {(11<<2)|2,{111,52,0}}, +/* 15199 */ {(11<<2)|2,{111,52,0}}, +/* 15200 */ {(16<<2)|3,{111,53,48}}, +/* 15201 */ {(16<<2)|3,{111,53,49}}, +/* 15202 */ {(16<<2)|3,{111,53,50}}, +/* 15203 */ {(16<<2)|3,{111,53,97}}, +/* 15204 */ {(16<<2)|3,{111,53,99}}, +/* 15205 */ {(16<<2)|3,{111,53,101}}, +/* 15206 */ {(16<<2)|3,{111,53,105}}, +/* 15207 */ {(16<<2)|3,{111,53,111}}, +/* 15208 */ {(16<<2)|3,{111,53,115}}, +/* 15209 */ {(16<<2)|3,{111,53,116}}, +/* 15210 */ {(11<<2)|2,{111,53,0}}, +/* 15211 */ {(11<<2)|2,{111,53,0}}, +/* 15212 */ {(11<<2)|2,{111,53,0}}, +/* 15213 */ {(11<<2)|2,{111,53,0}}, +/* 15214 */ {(11<<2)|2,{111,53,0}}, +/* 15215 */ {(11<<2)|2,{111,53,0}}, +/* 15216 */ {(11<<2)|2,{111,53,0}}, +/* 15217 */ {(11<<2)|2,{111,53,0}}, +/* 15218 */ {(11<<2)|2,{111,53,0}}, +/* 15219 */ {(11<<2)|2,{111,53,0}}, +/* 15220 */ {(11<<2)|2,{111,53,0}}, +/* 15221 */ {(11<<2)|2,{111,53,0}}, +/* 15222 */ {(11<<2)|2,{111,53,0}}, +/* 15223 */ {(11<<2)|2,{111,53,0}}, +/* 15224 */ {(11<<2)|2,{111,53,0}}, +/* 15225 */ {(11<<2)|2,{111,53,0}}, +/* 15226 */ {(11<<2)|2,{111,53,0}}, +/* 15227 */ {(11<<2)|2,{111,53,0}}, +/* 15228 */ {(11<<2)|2,{111,53,0}}, +/* 15229 */ {(11<<2)|2,{111,53,0}}, +/* 15230 */ {(11<<2)|2,{111,53,0}}, +/* 15231 */ {(11<<2)|2,{111,53,0}}, +/* 15232 */ {(16<<2)|3,{111,54,48}}, +/* 15233 */ {(16<<2)|3,{111,54,49}}, +/* 15234 */ {(16<<2)|3,{111,54,50}}, +/* 15235 */ {(16<<2)|3,{111,54,97}}, +/* 15236 */ {(16<<2)|3,{111,54,99}}, +/* 15237 */ {(16<<2)|3,{111,54,101}}, +/* 15238 */ {(16<<2)|3,{111,54,105}}, +/* 15239 */ {(16<<2)|3,{111,54,111}}, +/* 15240 */ {(16<<2)|3,{111,54,115}}, +/* 15241 */ {(16<<2)|3,{111,54,116}}, +/* 15242 */ {(11<<2)|2,{111,54,0}}, +/* 15243 */ {(11<<2)|2,{111,54,0}}, +/* 15244 */ {(11<<2)|2,{111,54,0}}, +/* 15245 */ {(11<<2)|2,{111,54,0}}, +/* 15246 */ {(11<<2)|2,{111,54,0}}, +/* 15247 */ {(11<<2)|2,{111,54,0}}, +/* 15248 */ {(11<<2)|2,{111,54,0}}, +/* 15249 */ {(11<<2)|2,{111,54,0}}, +/* 15250 */ {(11<<2)|2,{111,54,0}}, +/* 15251 */ {(11<<2)|2,{111,54,0}}, +/* 15252 */ {(11<<2)|2,{111,54,0}}, +/* 15253 */ {(11<<2)|2,{111,54,0}}, +/* 15254 */ {(11<<2)|2,{111,54,0}}, +/* 15255 */ {(11<<2)|2,{111,54,0}}, +/* 15256 */ {(11<<2)|2,{111,54,0}}, +/* 15257 */ {(11<<2)|2,{111,54,0}}, +/* 15258 */ {(11<<2)|2,{111,54,0}}, +/* 15259 */ {(11<<2)|2,{111,54,0}}, +/* 15260 */ {(11<<2)|2,{111,54,0}}, +/* 15261 */ {(11<<2)|2,{111,54,0}}, +/* 15262 */ {(11<<2)|2,{111,54,0}}, +/* 15263 */ {(11<<2)|2,{111,54,0}}, +/* 15264 */ {(16<<2)|3,{111,55,48}}, +/* 15265 */ {(16<<2)|3,{111,55,49}}, +/* 15266 */ {(16<<2)|3,{111,55,50}}, +/* 15267 */ {(16<<2)|3,{111,55,97}}, +/* 15268 */ {(16<<2)|3,{111,55,99}}, +/* 15269 */ {(16<<2)|3,{111,55,101}}, +/* 15270 */ {(16<<2)|3,{111,55,105}}, +/* 15271 */ {(16<<2)|3,{111,55,111}}, +/* 15272 */ {(16<<2)|3,{111,55,115}}, +/* 15273 */ {(16<<2)|3,{111,55,116}}, +/* 15274 */ {(11<<2)|2,{111,55,0}}, +/* 15275 */ {(11<<2)|2,{111,55,0}}, +/* 15276 */ {(11<<2)|2,{111,55,0}}, +/* 15277 */ {(11<<2)|2,{111,55,0}}, +/* 15278 */ {(11<<2)|2,{111,55,0}}, +/* 15279 */ {(11<<2)|2,{111,55,0}}, +/* 15280 */ {(11<<2)|2,{111,55,0}}, +/* 15281 */ {(11<<2)|2,{111,55,0}}, +/* 15282 */ {(11<<2)|2,{111,55,0}}, +/* 15283 */ {(11<<2)|2,{111,55,0}}, +/* 15284 */ {(11<<2)|2,{111,55,0}}, +/* 15285 */ {(11<<2)|2,{111,55,0}}, +/* 15286 */ {(11<<2)|2,{111,55,0}}, +/* 15287 */ {(11<<2)|2,{111,55,0}}, +/* 15288 */ {(11<<2)|2,{111,55,0}}, +/* 15289 */ {(11<<2)|2,{111,55,0}}, +/* 15290 */ {(11<<2)|2,{111,55,0}}, +/* 15291 */ {(11<<2)|2,{111,55,0}}, +/* 15292 */ {(11<<2)|2,{111,55,0}}, +/* 15293 */ {(11<<2)|2,{111,55,0}}, +/* 15294 */ {(11<<2)|2,{111,55,0}}, +/* 15295 */ {(11<<2)|2,{111,55,0}}, +/* 15296 */ {(16<<2)|3,{111,56,48}}, +/* 15297 */ {(16<<2)|3,{111,56,49}}, +/* 15298 */ {(16<<2)|3,{111,56,50}}, +/* 15299 */ {(16<<2)|3,{111,56,97}}, +/* 15300 */ {(16<<2)|3,{111,56,99}}, +/* 15301 */ {(16<<2)|3,{111,56,101}}, +/* 15302 */ {(16<<2)|3,{111,56,105}}, +/* 15303 */ {(16<<2)|3,{111,56,111}}, +/* 15304 */ {(16<<2)|3,{111,56,115}}, +/* 15305 */ {(16<<2)|3,{111,56,116}}, +/* 15306 */ {(11<<2)|2,{111,56,0}}, +/* 15307 */ {(11<<2)|2,{111,56,0}}, +/* 15308 */ {(11<<2)|2,{111,56,0}}, +/* 15309 */ {(11<<2)|2,{111,56,0}}, +/* 15310 */ {(11<<2)|2,{111,56,0}}, +/* 15311 */ {(11<<2)|2,{111,56,0}}, +/* 15312 */ {(11<<2)|2,{111,56,0}}, +/* 15313 */ {(11<<2)|2,{111,56,0}}, +/* 15314 */ {(11<<2)|2,{111,56,0}}, +/* 15315 */ {(11<<2)|2,{111,56,0}}, +/* 15316 */ {(11<<2)|2,{111,56,0}}, +/* 15317 */ {(11<<2)|2,{111,56,0}}, +/* 15318 */ {(11<<2)|2,{111,56,0}}, +/* 15319 */ {(11<<2)|2,{111,56,0}}, +/* 15320 */ {(11<<2)|2,{111,56,0}}, +/* 15321 */ {(11<<2)|2,{111,56,0}}, +/* 15322 */ {(11<<2)|2,{111,56,0}}, +/* 15323 */ {(11<<2)|2,{111,56,0}}, +/* 15324 */ {(11<<2)|2,{111,56,0}}, +/* 15325 */ {(11<<2)|2,{111,56,0}}, +/* 15326 */ {(11<<2)|2,{111,56,0}}, +/* 15327 */ {(11<<2)|2,{111,56,0}}, +/* 15328 */ {(16<<2)|3,{111,57,48}}, +/* 15329 */ {(16<<2)|3,{111,57,49}}, +/* 15330 */ {(16<<2)|3,{111,57,50}}, +/* 15331 */ {(16<<2)|3,{111,57,97}}, +/* 15332 */ {(16<<2)|3,{111,57,99}}, +/* 15333 */ {(16<<2)|3,{111,57,101}}, +/* 15334 */ {(16<<2)|3,{111,57,105}}, +/* 15335 */ {(16<<2)|3,{111,57,111}}, +/* 15336 */ {(16<<2)|3,{111,57,115}}, +/* 15337 */ {(16<<2)|3,{111,57,116}}, +/* 15338 */ {(11<<2)|2,{111,57,0}}, +/* 15339 */ {(11<<2)|2,{111,57,0}}, +/* 15340 */ {(11<<2)|2,{111,57,0}}, +/* 15341 */ {(11<<2)|2,{111,57,0}}, +/* 15342 */ {(11<<2)|2,{111,57,0}}, +/* 15343 */ {(11<<2)|2,{111,57,0}}, +/* 15344 */ {(11<<2)|2,{111,57,0}}, +/* 15345 */ {(11<<2)|2,{111,57,0}}, +/* 15346 */ {(11<<2)|2,{111,57,0}}, +/* 15347 */ {(11<<2)|2,{111,57,0}}, +/* 15348 */ {(11<<2)|2,{111,57,0}}, +/* 15349 */ {(11<<2)|2,{111,57,0}}, +/* 15350 */ {(11<<2)|2,{111,57,0}}, +/* 15351 */ {(11<<2)|2,{111,57,0}}, +/* 15352 */ {(11<<2)|2,{111,57,0}}, +/* 15353 */ {(11<<2)|2,{111,57,0}}, +/* 15354 */ {(11<<2)|2,{111,57,0}}, +/* 15355 */ {(11<<2)|2,{111,57,0}}, +/* 15356 */ {(11<<2)|2,{111,57,0}}, +/* 15357 */ {(11<<2)|2,{111,57,0}}, +/* 15358 */ {(11<<2)|2,{111,57,0}}, +/* 15359 */ {(11<<2)|2,{111,57,0}}, +/* 15360 */ {(16<<2)|3,{111,61,48}}, +/* 15361 */ {(16<<2)|3,{111,61,49}}, +/* 15362 */ {(16<<2)|3,{111,61,50}}, +/* 15363 */ {(16<<2)|3,{111,61,97}}, +/* 15364 */ {(16<<2)|3,{111,61,99}}, +/* 15365 */ {(16<<2)|3,{111,61,101}}, +/* 15366 */ {(16<<2)|3,{111,61,105}}, +/* 15367 */ {(16<<2)|3,{111,61,111}}, +/* 15368 */ {(16<<2)|3,{111,61,115}}, +/* 15369 */ {(16<<2)|3,{111,61,116}}, +/* 15370 */ {(11<<2)|2,{111,61,0}}, +/* 15371 */ {(11<<2)|2,{111,61,0}}, +/* 15372 */ {(11<<2)|2,{111,61,0}}, +/* 15373 */ {(11<<2)|2,{111,61,0}}, +/* 15374 */ {(11<<2)|2,{111,61,0}}, +/* 15375 */ {(11<<2)|2,{111,61,0}}, +/* 15376 */ {(11<<2)|2,{111,61,0}}, +/* 15377 */ {(11<<2)|2,{111,61,0}}, +/* 15378 */ {(11<<2)|2,{111,61,0}}, +/* 15379 */ {(11<<2)|2,{111,61,0}}, +/* 15380 */ {(11<<2)|2,{111,61,0}}, +/* 15381 */ {(11<<2)|2,{111,61,0}}, +/* 15382 */ {(11<<2)|2,{111,61,0}}, +/* 15383 */ {(11<<2)|2,{111,61,0}}, +/* 15384 */ {(11<<2)|2,{111,61,0}}, +/* 15385 */ {(11<<2)|2,{111,61,0}}, +/* 15386 */ {(11<<2)|2,{111,61,0}}, +/* 15387 */ {(11<<2)|2,{111,61,0}}, +/* 15388 */ {(11<<2)|2,{111,61,0}}, +/* 15389 */ {(11<<2)|2,{111,61,0}}, +/* 15390 */ {(11<<2)|2,{111,61,0}}, +/* 15391 */ {(11<<2)|2,{111,61,0}}, +/* 15392 */ {(16<<2)|3,{111,65,48}}, +/* 15393 */ {(16<<2)|3,{111,65,49}}, +/* 15394 */ {(16<<2)|3,{111,65,50}}, +/* 15395 */ {(16<<2)|3,{111,65,97}}, +/* 15396 */ {(16<<2)|3,{111,65,99}}, +/* 15397 */ {(16<<2)|3,{111,65,101}}, +/* 15398 */ {(16<<2)|3,{111,65,105}}, +/* 15399 */ {(16<<2)|3,{111,65,111}}, +/* 15400 */ {(16<<2)|3,{111,65,115}}, +/* 15401 */ {(16<<2)|3,{111,65,116}}, +/* 15402 */ {(11<<2)|2,{111,65,0}}, +/* 15403 */ {(11<<2)|2,{111,65,0}}, +/* 15404 */ {(11<<2)|2,{111,65,0}}, +/* 15405 */ {(11<<2)|2,{111,65,0}}, +/* 15406 */ {(11<<2)|2,{111,65,0}}, +/* 15407 */ {(11<<2)|2,{111,65,0}}, +/* 15408 */ {(11<<2)|2,{111,65,0}}, +/* 15409 */ {(11<<2)|2,{111,65,0}}, +/* 15410 */ {(11<<2)|2,{111,65,0}}, +/* 15411 */ {(11<<2)|2,{111,65,0}}, +/* 15412 */ {(11<<2)|2,{111,65,0}}, +/* 15413 */ {(11<<2)|2,{111,65,0}}, +/* 15414 */ {(11<<2)|2,{111,65,0}}, +/* 15415 */ {(11<<2)|2,{111,65,0}}, +/* 15416 */ {(11<<2)|2,{111,65,0}}, +/* 15417 */ {(11<<2)|2,{111,65,0}}, +/* 15418 */ {(11<<2)|2,{111,65,0}}, +/* 15419 */ {(11<<2)|2,{111,65,0}}, +/* 15420 */ {(11<<2)|2,{111,65,0}}, +/* 15421 */ {(11<<2)|2,{111,65,0}}, +/* 15422 */ {(11<<2)|2,{111,65,0}}, +/* 15423 */ {(11<<2)|2,{111,65,0}}, +/* 15424 */ {(16<<2)|3,{111,95,48}}, +/* 15425 */ {(16<<2)|3,{111,95,49}}, +/* 15426 */ {(16<<2)|3,{111,95,50}}, +/* 15427 */ {(16<<2)|3,{111,95,97}}, +/* 15428 */ {(16<<2)|3,{111,95,99}}, +/* 15429 */ {(16<<2)|3,{111,95,101}}, +/* 15430 */ {(16<<2)|3,{111,95,105}}, +/* 15431 */ {(16<<2)|3,{111,95,111}}, +/* 15432 */ {(16<<2)|3,{111,95,115}}, +/* 15433 */ {(16<<2)|3,{111,95,116}}, +/* 15434 */ {(11<<2)|2,{111,95,0}}, +/* 15435 */ {(11<<2)|2,{111,95,0}}, +/* 15436 */ {(11<<2)|2,{111,95,0}}, +/* 15437 */ {(11<<2)|2,{111,95,0}}, +/* 15438 */ {(11<<2)|2,{111,95,0}}, +/* 15439 */ {(11<<2)|2,{111,95,0}}, +/* 15440 */ {(11<<2)|2,{111,95,0}}, +/* 15441 */ {(11<<2)|2,{111,95,0}}, +/* 15442 */ {(11<<2)|2,{111,95,0}}, +/* 15443 */ {(11<<2)|2,{111,95,0}}, +/* 15444 */ {(11<<2)|2,{111,95,0}}, +/* 15445 */ {(11<<2)|2,{111,95,0}}, +/* 15446 */ {(11<<2)|2,{111,95,0}}, +/* 15447 */ {(11<<2)|2,{111,95,0}}, +/* 15448 */ {(11<<2)|2,{111,95,0}}, +/* 15449 */ {(11<<2)|2,{111,95,0}}, +/* 15450 */ {(11<<2)|2,{111,95,0}}, +/* 15451 */ {(11<<2)|2,{111,95,0}}, +/* 15452 */ {(11<<2)|2,{111,95,0}}, +/* 15453 */ {(11<<2)|2,{111,95,0}}, +/* 15454 */ {(11<<2)|2,{111,95,0}}, +/* 15455 */ {(11<<2)|2,{111,95,0}}, +/* 15456 */ {(16<<2)|3,{111,98,48}}, +/* 15457 */ {(16<<2)|3,{111,98,49}}, +/* 15458 */ {(16<<2)|3,{111,98,50}}, +/* 15459 */ {(16<<2)|3,{111,98,97}}, +/* 15460 */ {(16<<2)|3,{111,98,99}}, +/* 15461 */ {(16<<2)|3,{111,98,101}}, +/* 15462 */ {(16<<2)|3,{111,98,105}}, +/* 15463 */ {(16<<2)|3,{111,98,111}}, +/* 15464 */ {(16<<2)|3,{111,98,115}}, +/* 15465 */ {(16<<2)|3,{111,98,116}}, +/* 15466 */ {(11<<2)|2,{111,98,0}}, +/* 15467 */ {(11<<2)|2,{111,98,0}}, +/* 15468 */ {(11<<2)|2,{111,98,0}}, +/* 15469 */ {(11<<2)|2,{111,98,0}}, +/* 15470 */ {(11<<2)|2,{111,98,0}}, +/* 15471 */ {(11<<2)|2,{111,98,0}}, +/* 15472 */ {(11<<2)|2,{111,98,0}}, +/* 15473 */ {(11<<2)|2,{111,98,0}}, +/* 15474 */ {(11<<2)|2,{111,98,0}}, +/* 15475 */ {(11<<2)|2,{111,98,0}}, +/* 15476 */ {(11<<2)|2,{111,98,0}}, +/* 15477 */ {(11<<2)|2,{111,98,0}}, +/* 15478 */ {(11<<2)|2,{111,98,0}}, +/* 15479 */ {(11<<2)|2,{111,98,0}}, +/* 15480 */ {(11<<2)|2,{111,98,0}}, +/* 15481 */ {(11<<2)|2,{111,98,0}}, +/* 15482 */ {(11<<2)|2,{111,98,0}}, +/* 15483 */ {(11<<2)|2,{111,98,0}}, +/* 15484 */ {(11<<2)|2,{111,98,0}}, +/* 15485 */ {(11<<2)|2,{111,98,0}}, +/* 15486 */ {(11<<2)|2,{111,98,0}}, +/* 15487 */ {(11<<2)|2,{111,98,0}}, +/* 15488 */ {(16<<2)|3,{111,100,48}}, +/* 15489 */ {(16<<2)|3,{111,100,49}}, +/* 15490 */ {(16<<2)|3,{111,100,50}}, +/* 15491 */ {(16<<2)|3,{111,100,97}}, +/* 15492 */ {(16<<2)|3,{111,100,99}}, +/* 15493 */ {(16<<2)|3,{111,100,101}}, +/* 15494 */ {(16<<2)|3,{111,100,105}}, +/* 15495 */ {(16<<2)|3,{111,100,111}}, +/* 15496 */ {(16<<2)|3,{111,100,115}}, +/* 15497 */ {(16<<2)|3,{111,100,116}}, +/* 15498 */ {(11<<2)|2,{111,100,0}}, +/* 15499 */ {(11<<2)|2,{111,100,0}}, +/* 15500 */ {(11<<2)|2,{111,100,0}}, +/* 15501 */ {(11<<2)|2,{111,100,0}}, +/* 15502 */ {(11<<2)|2,{111,100,0}}, +/* 15503 */ {(11<<2)|2,{111,100,0}}, +/* 15504 */ {(11<<2)|2,{111,100,0}}, +/* 15505 */ {(11<<2)|2,{111,100,0}}, +/* 15506 */ {(11<<2)|2,{111,100,0}}, +/* 15507 */ {(11<<2)|2,{111,100,0}}, +/* 15508 */ {(11<<2)|2,{111,100,0}}, +/* 15509 */ {(11<<2)|2,{111,100,0}}, +/* 15510 */ {(11<<2)|2,{111,100,0}}, +/* 15511 */ {(11<<2)|2,{111,100,0}}, +/* 15512 */ {(11<<2)|2,{111,100,0}}, +/* 15513 */ {(11<<2)|2,{111,100,0}}, +/* 15514 */ {(11<<2)|2,{111,100,0}}, +/* 15515 */ {(11<<2)|2,{111,100,0}}, +/* 15516 */ {(11<<2)|2,{111,100,0}}, +/* 15517 */ {(11<<2)|2,{111,100,0}}, +/* 15518 */ {(11<<2)|2,{111,100,0}}, +/* 15519 */ {(11<<2)|2,{111,100,0}}, +/* 15520 */ {(16<<2)|3,{111,102,48}}, +/* 15521 */ {(16<<2)|3,{111,102,49}}, +/* 15522 */ {(16<<2)|3,{111,102,50}}, +/* 15523 */ {(16<<2)|3,{111,102,97}}, +/* 15524 */ {(16<<2)|3,{111,102,99}}, +/* 15525 */ {(16<<2)|3,{111,102,101}}, +/* 15526 */ {(16<<2)|3,{111,102,105}}, +/* 15527 */ {(16<<2)|3,{111,102,111}}, +/* 15528 */ {(16<<2)|3,{111,102,115}}, +/* 15529 */ {(16<<2)|3,{111,102,116}}, +/* 15530 */ {(11<<2)|2,{111,102,0}}, +/* 15531 */ {(11<<2)|2,{111,102,0}}, +/* 15532 */ {(11<<2)|2,{111,102,0}}, +/* 15533 */ {(11<<2)|2,{111,102,0}}, +/* 15534 */ {(11<<2)|2,{111,102,0}}, +/* 15535 */ {(11<<2)|2,{111,102,0}}, +/* 15536 */ {(11<<2)|2,{111,102,0}}, +/* 15537 */ {(11<<2)|2,{111,102,0}}, +/* 15538 */ {(11<<2)|2,{111,102,0}}, +/* 15539 */ {(11<<2)|2,{111,102,0}}, +/* 15540 */ {(11<<2)|2,{111,102,0}}, +/* 15541 */ {(11<<2)|2,{111,102,0}}, +/* 15542 */ {(11<<2)|2,{111,102,0}}, +/* 15543 */ {(11<<2)|2,{111,102,0}}, +/* 15544 */ {(11<<2)|2,{111,102,0}}, +/* 15545 */ {(11<<2)|2,{111,102,0}}, +/* 15546 */ {(11<<2)|2,{111,102,0}}, +/* 15547 */ {(11<<2)|2,{111,102,0}}, +/* 15548 */ {(11<<2)|2,{111,102,0}}, +/* 15549 */ {(11<<2)|2,{111,102,0}}, +/* 15550 */ {(11<<2)|2,{111,102,0}}, +/* 15551 */ {(11<<2)|2,{111,102,0}}, +/* 15552 */ {(16<<2)|3,{111,103,48}}, +/* 15553 */ {(16<<2)|3,{111,103,49}}, +/* 15554 */ {(16<<2)|3,{111,103,50}}, +/* 15555 */ {(16<<2)|3,{111,103,97}}, +/* 15556 */ {(16<<2)|3,{111,103,99}}, +/* 15557 */ {(16<<2)|3,{111,103,101}}, +/* 15558 */ {(16<<2)|3,{111,103,105}}, +/* 15559 */ {(16<<2)|3,{111,103,111}}, +/* 15560 */ {(16<<2)|3,{111,103,115}}, +/* 15561 */ {(16<<2)|3,{111,103,116}}, +/* 15562 */ {(11<<2)|2,{111,103,0}}, +/* 15563 */ {(11<<2)|2,{111,103,0}}, +/* 15564 */ {(11<<2)|2,{111,103,0}}, +/* 15565 */ {(11<<2)|2,{111,103,0}}, +/* 15566 */ {(11<<2)|2,{111,103,0}}, +/* 15567 */ {(11<<2)|2,{111,103,0}}, +/* 15568 */ {(11<<2)|2,{111,103,0}}, +/* 15569 */ {(11<<2)|2,{111,103,0}}, +/* 15570 */ {(11<<2)|2,{111,103,0}}, +/* 15571 */ {(11<<2)|2,{111,103,0}}, +/* 15572 */ {(11<<2)|2,{111,103,0}}, +/* 15573 */ {(11<<2)|2,{111,103,0}}, +/* 15574 */ {(11<<2)|2,{111,103,0}}, +/* 15575 */ {(11<<2)|2,{111,103,0}}, +/* 15576 */ {(11<<2)|2,{111,103,0}}, +/* 15577 */ {(11<<2)|2,{111,103,0}}, +/* 15578 */ {(11<<2)|2,{111,103,0}}, +/* 15579 */ {(11<<2)|2,{111,103,0}}, +/* 15580 */ {(11<<2)|2,{111,103,0}}, +/* 15581 */ {(11<<2)|2,{111,103,0}}, +/* 15582 */ {(11<<2)|2,{111,103,0}}, +/* 15583 */ {(11<<2)|2,{111,103,0}}, +/* 15584 */ {(16<<2)|3,{111,104,48}}, +/* 15585 */ {(16<<2)|3,{111,104,49}}, +/* 15586 */ {(16<<2)|3,{111,104,50}}, +/* 15587 */ {(16<<2)|3,{111,104,97}}, +/* 15588 */ {(16<<2)|3,{111,104,99}}, +/* 15589 */ {(16<<2)|3,{111,104,101}}, +/* 15590 */ {(16<<2)|3,{111,104,105}}, +/* 15591 */ {(16<<2)|3,{111,104,111}}, +/* 15592 */ {(16<<2)|3,{111,104,115}}, +/* 15593 */ {(16<<2)|3,{111,104,116}}, +/* 15594 */ {(11<<2)|2,{111,104,0}}, +/* 15595 */ {(11<<2)|2,{111,104,0}}, +/* 15596 */ {(11<<2)|2,{111,104,0}}, +/* 15597 */ {(11<<2)|2,{111,104,0}}, +/* 15598 */ {(11<<2)|2,{111,104,0}}, +/* 15599 */ {(11<<2)|2,{111,104,0}}, +/* 15600 */ {(11<<2)|2,{111,104,0}}, +/* 15601 */ {(11<<2)|2,{111,104,0}}, +/* 15602 */ {(11<<2)|2,{111,104,0}}, +/* 15603 */ {(11<<2)|2,{111,104,0}}, +/* 15604 */ {(11<<2)|2,{111,104,0}}, +/* 15605 */ {(11<<2)|2,{111,104,0}}, +/* 15606 */ {(11<<2)|2,{111,104,0}}, +/* 15607 */ {(11<<2)|2,{111,104,0}}, +/* 15608 */ {(11<<2)|2,{111,104,0}}, +/* 15609 */ {(11<<2)|2,{111,104,0}}, +/* 15610 */ {(11<<2)|2,{111,104,0}}, +/* 15611 */ {(11<<2)|2,{111,104,0}}, +/* 15612 */ {(11<<2)|2,{111,104,0}}, +/* 15613 */ {(11<<2)|2,{111,104,0}}, +/* 15614 */ {(11<<2)|2,{111,104,0}}, +/* 15615 */ {(11<<2)|2,{111,104,0}}, +/* 15616 */ {(16<<2)|3,{111,108,48}}, +/* 15617 */ {(16<<2)|3,{111,108,49}}, +/* 15618 */ {(16<<2)|3,{111,108,50}}, +/* 15619 */ {(16<<2)|3,{111,108,97}}, +/* 15620 */ {(16<<2)|3,{111,108,99}}, +/* 15621 */ {(16<<2)|3,{111,108,101}}, +/* 15622 */ {(16<<2)|3,{111,108,105}}, +/* 15623 */ {(16<<2)|3,{111,108,111}}, +/* 15624 */ {(16<<2)|3,{111,108,115}}, +/* 15625 */ {(16<<2)|3,{111,108,116}}, +/* 15626 */ {(11<<2)|2,{111,108,0}}, +/* 15627 */ {(11<<2)|2,{111,108,0}}, +/* 15628 */ {(11<<2)|2,{111,108,0}}, +/* 15629 */ {(11<<2)|2,{111,108,0}}, +/* 15630 */ {(11<<2)|2,{111,108,0}}, +/* 15631 */ {(11<<2)|2,{111,108,0}}, +/* 15632 */ {(11<<2)|2,{111,108,0}}, +/* 15633 */ {(11<<2)|2,{111,108,0}}, +/* 15634 */ {(11<<2)|2,{111,108,0}}, +/* 15635 */ {(11<<2)|2,{111,108,0}}, +/* 15636 */ {(11<<2)|2,{111,108,0}}, +/* 15637 */ {(11<<2)|2,{111,108,0}}, +/* 15638 */ {(11<<2)|2,{111,108,0}}, +/* 15639 */ {(11<<2)|2,{111,108,0}}, +/* 15640 */ {(11<<2)|2,{111,108,0}}, +/* 15641 */ {(11<<2)|2,{111,108,0}}, +/* 15642 */ {(11<<2)|2,{111,108,0}}, +/* 15643 */ {(11<<2)|2,{111,108,0}}, +/* 15644 */ {(11<<2)|2,{111,108,0}}, +/* 15645 */ {(11<<2)|2,{111,108,0}}, +/* 15646 */ {(11<<2)|2,{111,108,0}}, +/* 15647 */ {(11<<2)|2,{111,108,0}}, +/* 15648 */ {(16<<2)|3,{111,109,48}}, +/* 15649 */ {(16<<2)|3,{111,109,49}}, +/* 15650 */ {(16<<2)|3,{111,109,50}}, +/* 15651 */ {(16<<2)|3,{111,109,97}}, +/* 15652 */ {(16<<2)|3,{111,109,99}}, +/* 15653 */ {(16<<2)|3,{111,109,101}}, +/* 15654 */ {(16<<2)|3,{111,109,105}}, +/* 15655 */ {(16<<2)|3,{111,109,111}}, +/* 15656 */ {(16<<2)|3,{111,109,115}}, +/* 15657 */ {(16<<2)|3,{111,109,116}}, +/* 15658 */ {(11<<2)|2,{111,109,0}}, +/* 15659 */ {(11<<2)|2,{111,109,0}}, +/* 15660 */ {(11<<2)|2,{111,109,0}}, +/* 15661 */ {(11<<2)|2,{111,109,0}}, +/* 15662 */ {(11<<2)|2,{111,109,0}}, +/* 15663 */ {(11<<2)|2,{111,109,0}}, +/* 15664 */ {(11<<2)|2,{111,109,0}}, +/* 15665 */ {(11<<2)|2,{111,109,0}}, +/* 15666 */ {(11<<2)|2,{111,109,0}}, +/* 15667 */ {(11<<2)|2,{111,109,0}}, +/* 15668 */ {(11<<2)|2,{111,109,0}}, +/* 15669 */ {(11<<2)|2,{111,109,0}}, +/* 15670 */ {(11<<2)|2,{111,109,0}}, +/* 15671 */ {(11<<2)|2,{111,109,0}}, +/* 15672 */ {(11<<2)|2,{111,109,0}}, +/* 15673 */ {(11<<2)|2,{111,109,0}}, +/* 15674 */ {(11<<2)|2,{111,109,0}}, +/* 15675 */ {(11<<2)|2,{111,109,0}}, +/* 15676 */ {(11<<2)|2,{111,109,0}}, +/* 15677 */ {(11<<2)|2,{111,109,0}}, +/* 15678 */ {(11<<2)|2,{111,109,0}}, +/* 15679 */ {(11<<2)|2,{111,109,0}}, +/* 15680 */ {(16<<2)|3,{111,110,48}}, +/* 15681 */ {(16<<2)|3,{111,110,49}}, +/* 15682 */ {(16<<2)|3,{111,110,50}}, +/* 15683 */ {(16<<2)|3,{111,110,97}}, +/* 15684 */ {(16<<2)|3,{111,110,99}}, +/* 15685 */ {(16<<2)|3,{111,110,101}}, +/* 15686 */ {(16<<2)|3,{111,110,105}}, +/* 15687 */ {(16<<2)|3,{111,110,111}}, +/* 15688 */ {(16<<2)|3,{111,110,115}}, +/* 15689 */ {(16<<2)|3,{111,110,116}}, +/* 15690 */ {(11<<2)|2,{111,110,0}}, +/* 15691 */ {(11<<2)|2,{111,110,0}}, +/* 15692 */ {(11<<2)|2,{111,110,0}}, +/* 15693 */ {(11<<2)|2,{111,110,0}}, +/* 15694 */ {(11<<2)|2,{111,110,0}}, +/* 15695 */ {(11<<2)|2,{111,110,0}}, +/* 15696 */ {(11<<2)|2,{111,110,0}}, +/* 15697 */ {(11<<2)|2,{111,110,0}}, +/* 15698 */ {(11<<2)|2,{111,110,0}}, +/* 15699 */ {(11<<2)|2,{111,110,0}}, +/* 15700 */ {(11<<2)|2,{111,110,0}}, +/* 15701 */ {(11<<2)|2,{111,110,0}}, +/* 15702 */ {(11<<2)|2,{111,110,0}}, +/* 15703 */ {(11<<2)|2,{111,110,0}}, +/* 15704 */ {(11<<2)|2,{111,110,0}}, +/* 15705 */ {(11<<2)|2,{111,110,0}}, +/* 15706 */ {(11<<2)|2,{111,110,0}}, +/* 15707 */ {(11<<2)|2,{111,110,0}}, +/* 15708 */ {(11<<2)|2,{111,110,0}}, +/* 15709 */ {(11<<2)|2,{111,110,0}}, +/* 15710 */ {(11<<2)|2,{111,110,0}}, +/* 15711 */ {(11<<2)|2,{111,110,0}}, +/* 15712 */ {(16<<2)|3,{111,112,48}}, +/* 15713 */ {(16<<2)|3,{111,112,49}}, +/* 15714 */ {(16<<2)|3,{111,112,50}}, +/* 15715 */ {(16<<2)|3,{111,112,97}}, +/* 15716 */ {(16<<2)|3,{111,112,99}}, +/* 15717 */ {(16<<2)|3,{111,112,101}}, +/* 15718 */ {(16<<2)|3,{111,112,105}}, +/* 15719 */ {(16<<2)|3,{111,112,111}}, +/* 15720 */ {(16<<2)|3,{111,112,115}}, +/* 15721 */ {(16<<2)|3,{111,112,116}}, +/* 15722 */ {(11<<2)|2,{111,112,0}}, +/* 15723 */ {(11<<2)|2,{111,112,0}}, +/* 15724 */ {(11<<2)|2,{111,112,0}}, +/* 15725 */ {(11<<2)|2,{111,112,0}}, +/* 15726 */ {(11<<2)|2,{111,112,0}}, +/* 15727 */ {(11<<2)|2,{111,112,0}}, +/* 15728 */ {(11<<2)|2,{111,112,0}}, +/* 15729 */ {(11<<2)|2,{111,112,0}}, +/* 15730 */ {(11<<2)|2,{111,112,0}}, +/* 15731 */ {(11<<2)|2,{111,112,0}}, +/* 15732 */ {(11<<2)|2,{111,112,0}}, +/* 15733 */ {(11<<2)|2,{111,112,0}}, +/* 15734 */ {(11<<2)|2,{111,112,0}}, +/* 15735 */ {(11<<2)|2,{111,112,0}}, +/* 15736 */ {(11<<2)|2,{111,112,0}}, +/* 15737 */ {(11<<2)|2,{111,112,0}}, +/* 15738 */ {(11<<2)|2,{111,112,0}}, +/* 15739 */ {(11<<2)|2,{111,112,0}}, +/* 15740 */ {(11<<2)|2,{111,112,0}}, +/* 15741 */ {(11<<2)|2,{111,112,0}}, +/* 15742 */ {(11<<2)|2,{111,112,0}}, +/* 15743 */ {(11<<2)|2,{111,112,0}}, +/* 15744 */ {(16<<2)|3,{111,114,48}}, +/* 15745 */ {(16<<2)|3,{111,114,49}}, +/* 15746 */ {(16<<2)|3,{111,114,50}}, +/* 15747 */ {(16<<2)|3,{111,114,97}}, +/* 15748 */ {(16<<2)|3,{111,114,99}}, +/* 15749 */ {(16<<2)|3,{111,114,101}}, +/* 15750 */ {(16<<2)|3,{111,114,105}}, +/* 15751 */ {(16<<2)|3,{111,114,111}}, +/* 15752 */ {(16<<2)|3,{111,114,115}}, +/* 15753 */ {(16<<2)|3,{111,114,116}}, +/* 15754 */ {(11<<2)|2,{111,114,0}}, +/* 15755 */ {(11<<2)|2,{111,114,0}}, +/* 15756 */ {(11<<2)|2,{111,114,0}}, +/* 15757 */ {(11<<2)|2,{111,114,0}}, +/* 15758 */ {(11<<2)|2,{111,114,0}}, +/* 15759 */ {(11<<2)|2,{111,114,0}}, +/* 15760 */ {(11<<2)|2,{111,114,0}}, +/* 15761 */ {(11<<2)|2,{111,114,0}}, +/* 15762 */ {(11<<2)|2,{111,114,0}}, +/* 15763 */ {(11<<2)|2,{111,114,0}}, +/* 15764 */ {(11<<2)|2,{111,114,0}}, +/* 15765 */ {(11<<2)|2,{111,114,0}}, +/* 15766 */ {(11<<2)|2,{111,114,0}}, +/* 15767 */ {(11<<2)|2,{111,114,0}}, +/* 15768 */ {(11<<2)|2,{111,114,0}}, +/* 15769 */ {(11<<2)|2,{111,114,0}}, +/* 15770 */ {(11<<2)|2,{111,114,0}}, +/* 15771 */ {(11<<2)|2,{111,114,0}}, +/* 15772 */ {(11<<2)|2,{111,114,0}}, +/* 15773 */ {(11<<2)|2,{111,114,0}}, +/* 15774 */ {(11<<2)|2,{111,114,0}}, +/* 15775 */ {(11<<2)|2,{111,114,0}}, +/* 15776 */ {(16<<2)|3,{111,117,48}}, +/* 15777 */ {(16<<2)|3,{111,117,49}}, +/* 15778 */ {(16<<2)|3,{111,117,50}}, +/* 15779 */ {(16<<2)|3,{111,117,97}}, +/* 15780 */ {(16<<2)|3,{111,117,99}}, +/* 15781 */ {(16<<2)|3,{111,117,101}}, +/* 15782 */ {(16<<2)|3,{111,117,105}}, +/* 15783 */ {(16<<2)|3,{111,117,111}}, +/* 15784 */ {(16<<2)|3,{111,117,115}}, +/* 15785 */ {(16<<2)|3,{111,117,116}}, +/* 15786 */ {(11<<2)|2,{111,117,0}}, +/* 15787 */ {(11<<2)|2,{111,117,0}}, +/* 15788 */ {(11<<2)|2,{111,117,0}}, +/* 15789 */ {(11<<2)|2,{111,117,0}}, +/* 15790 */ {(11<<2)|2,{111,117,0}}, +/* 15791 */ {(11<<2)|2,{111,117,0}}, +/* 15792 */ {(11<<2)|2,{111,117,0}}, +/* 15793 */ {(11<<2)|2,{111,117,0}}, +/* 15794 */ {(11<<2)|2,{111,117,0}}, +/* 15795 */ {(11<<2)|2,{111,117,0}}, +/* 15796 */ {(11<<2)|2,{111,117,0}}, +/* 15797 */ {(11<<2)|2,{111,117,0}}, +/* 15798 */ {(11<<2)|2,{111,117,0}}, +/* 15799 */ {(11<<2)|2,{111,117,0}}, +/* 15800 */ {(11<<2)|2,{111,117,0}}, +/* 15801 */ {(11<<2)|2,{111,117,0}}, +/* 15802 */ {(11<<2)|2,{111,117,0}}, +/* 15803 */ {(11<<2)|2,{111,117,0}}, +/* 15804 */ {(11<<2)|2,{111,117,0}}, +/* 15805 */ {(11<<2)|2,{111,117,0}}, +/* 15806 */ {(11<<2)|2,{111,117,0}}, +/* 15807 */ {(11<<2)|2,{111,117,0}}, +/* 15808 */ {(12<<2)|2,{111,58,0}}, +/* 15809 */ {(12<<2)|2,{111,58,0}}, +/* 15810 */ {(12<<2)|2,{111,58,0}}, +/* 15811 */ {(12<<2)|2,{111,58,0}}, +/* 15812 */ {(12<<2)|2,{111,58,0}}, +/* 15813 */ {(12<<2)|2,{111,58,0}}, +/* 15814 */ {(12<<2)|2,{111,58,0}}, +/* 15815 */ {(12<<2)|2,{111,58,0}}, +/* 15816 */ {(12<<2)|2,{111,58,0}}, +/* 15817 */ {(12<<2)|2,{111,58,0}}, +/* 15818 */ {(12<<2)|2,{111,58,0}}, +/* 15819 */ {(12<<2)|2,{111,58,0}}, +/* 15820 */ {(12<<2)|2,{111,58,0}}, +/* 15821 */ {(12<<2)|2,{111,58,0}}, +/* 15822 */ {(12<<2)|2,{111,58,0}}, +/* 15823 */ {(12<<2)|2,{111,58,0}}, +/* 15824 */ {(12<<2)|2,{111,66,0}}, +/* 15825 */ {(12<<2)|2,{111,66,0}}, +/* 15826 */ {(12<<2)|2,{111,66,0}}, +/* 15827 */ {(12<<2)|2,{111,66,0}}, +/* 15828 */ {(12<<2)|2,{111,66,0}}, +/* 15829 */ {(12<<2)|2,{111,66,0}}, +/* 15830 */ {(12<<2)|2,{111,66,0}}, +/* 15831 */ {(12<<2)|2,{111,66,0}}, +/* 15832 */ {(12<<2)|2,{111,66,0}}, +/* 15833 */ {(12<<2)|2,{111,66,0}}, +/* 15834 */ {(12<<2)|2,{111,66,0}}, +/* 15835 */ {(12<<2)|2,{111,66,0}}, +/* 15836 */ {(12<<2)|2,{111,66,0}}, +/* 15837 */ {(12<<2)|2,{111,66,0}}, +/* 15838 */ {(12<<2)|2,{111,66,0}}, +/* 15839 */ {(12<<2)|2,{111,66,0}}, +/* 15840 */ {(12<<2)|2,{111,67,0}}, +/* 15841 */ {(12<<2)|2,{111,67,0}}, +/* 15842 */ {(12<<2)|2,{111,67,0}}, +/* 15843 */ {(12<<2)|2,{111,67,0}}, +/* 15844 */ {(12<<2)|2,{111,67,0}}, +/* 15845 */ {(12<<2)|2,{111,67,0}}, +/* 15846 */ {(12<<2)|2,{111,67,0}}, +/* 15847 */ {(12<<2)|2,{111,67,0}}, +/* 15848 */ {(12<<2)|2,{111,67,0}}, +/* 15849 */ {(12<<2)|2,{111,67,0}}, +/* 15850 */ {(12<<2)|2,{111,67,0}}, +/* 15851 */ {(12<<2)|2,{111,67,0}}, +/* 15852 */ {(12<<2)|2,{111,67,0}}, +/* 15853 */ {(12<<2)|2,{111,67,0}}, +/* 15854 */ {(12<<2)|2,{111,67,0}}, +/* 15855 */ {(12<<2)|2,{111,67,0}}, +/* 15856 */ {(12<<2)|2,{111,68,0}}, +/* 15857 */ {(12<<2)|2,{111,68,0}}, +/* 15858 */ {(12<<2)|2,{111,68,0}}, +/* 15859 */ {(12<<2)|2,{111,68,0}}, +/* 15860 */ {(12<<2)|2,{111,68,0}}, +/* 15861 */ {(12<<2)|2,{111,68,0}}, +/* 15862 */ {(12<<2)|2,{111,68,0}}, +/* 15863 */ {(12<<2)|2,{111,68,0}}, +/* 15864 */ {(12<<2)|2,{111,68,0}}, +/* 15865 */ {(12<<2)|2,{111,68,0}}, +/* 15866 */ {(12<<2)|2,{111,68,0}}, +/* 15867 */ {(12<<2)|2,{111,68,0}}, +/* 15868 */ {(12<<2)|2,{111,68,0}}, +/* 15869 */ {(12<<2)|2,{111,68,0}}, +/* 15870 */ {(12<<2)|2,{111,68,0}}, +/* 15871 */ {(12<<2)|2,{111,68,0}}, +/* 15872 */ {(12<<2)|2,{111,69,0}}, +/* 15873 */ {(12<<2)|2,{111,69,0}}, +/* 15874 */ {(12<<2)|2,{111,69,0}}, +/* 15875 */ {(12<<2)|2,{111,69,0}}, +/* 15876 */ {(12<<2)|2,{111,69,0}}, +/* 15877 */ {(12<<2)|2,{111,69,0}}, +/* 15878 */ {(12<<2)|2,{111,69,0}}, +/* 15879 */ {(12<<2)|2,{111,69,0}}, +/* 15880 */ {(12<<2)|2,{111,69,0}}, +/* 15881 */ {(12<<2)|2,{111,69,0}}, +/* 15882 */ {(12<<2)|2,{111,69,0}}, +/* 15883 */ {(12<<2)|2,{111,69,0}}, +/* 15884 */ {(12<<2)|2,{111,69,0}}, +/* 15885 */ {(12<<2)|2,{111,69,0}}, +/* 15886 */ {(12<<2)|2,{111,69,0}}, +/* 15887 */ {(12<<2)|2,{111,69,0}}, +/* 15888 */ {(12<<2)|2,{111,70,0}}, +/* 15889 */ {(12<<2)|2,{111,70,0}}, +/* 15890 */ {(12<<2)|2,{111,70,0}}, +/* 15891 */ {(12<<2)|2,{111,70,0}}, +/* 15892 */ {(12<<2)|2,{111,70,0}}, +/* 15893 */ {(12<<2)|2,{111,70,0}}, +/* 15894 */ {(12<<2)|2,{111,70,0}}, +/* 15895 */ {(12<<2)|2,{111,70,0}}, +/* 15896 */ {(12<<2)|2,{111,70,0}}, +/* 15897 */ {(12<<2)|2,{111,70,0}}, +/* 15898 */ {(12<<2)|2,{111,70,0}}, +/* 15899 */ {(12<<2)|2,{111,70,0}}, +/* 15900 */ {(12<<2)|2,{111,70,0}}, +/* 15901 */ {(12<<2)|2,{111,70,0}}, +/* 15902 */ {(12<<2)|2,{111,70,0}}, +/* 15903 */ {(12<<2)|2,{111,70,0}}, +/* 15904 */ {(12<<2)|2,{111,71,0}}, +/* 15905 */ {(12<<2)|2,{111,71,0}}, +/* 15906 */ {(12<<2)|2,{111,71,0}}, +/* 15907 */ {(12<<2)|2,{111,71,0}}, +/* 15908 */ {(12<<2)|2,{111,71,0}}, +/* 15909 */ {(12<<2)|2,{111,71,0}}, +/* 15910 */ {(12<<2)|2,{111,71,0}}, +/* 15911 */ {(12<<2)|2,{111,71,0}}, +/* 15912 */ {(12<<2)|2,{111,71,0}}, +/* 15913 */ {(12<<2)|2,{111,71,0}}, +/* 15914 */ {(12<<2)|2,{111,71,0}}, +/* 15915 */ {(12<<2)|2,{111,71,0}}, +/* 15916 */ {(12<<2)|2,{111,71,0}}, +/* 15917 */ {(12<<2)|2,{111,71,0}}, +/* 15918 */ {(12<<2)|2,{111,71,0}}, +/* 15919 */ {(12<<2)|2,{111,71,0}}, +/* 15920 */ {(12<<2)|2,{111,72,0}}, +/* 15921 */ {(12<<2)|2,{111,72,0}}, +/* 15922 */ {(12<<2)|2,{111,72,0}}, +/* 15923 */ {(12<<2)|2,{111,72,0}}, +/* 15924 */ {(12<<2)|2,{111,72,0}}, +/* 15925 */ {(12<<2)|2,{111,72,0}}, +/* 15926 */ {(12<<2)|2,{111,72,0}}, +/* 15927 */ {(12<<2)|2,{111,72,0}}, +/* 15928 */ {(12<<2)|2,{111,72,0}}, +/* 15929 */ {(12<<2)|2,{111,72,0}}, +/* 15930 */ {(12<<2)|2,{111,72,0}}, +/* 15931 */ {(12<<2)|2,{111,72,0}}, +/* 15932 */ {(12<<2)|2,{111,72,0}}, +/* 15933 */ {(12<<2)|2,{111,72,0}}, +/* 15934 */ {(12<<2)|2,{111,72,0}}, +/* 15935 */ {(12<<2)|2,{111,72,0}}, +/* 15936 */ {(12<<2)|2,{111,73,0}}, +/* 15937 */ {(12<<2)|2,{111,73,0}}, +/* 15938 */ {(12<<2)|2,{111,73,0}}, +/* 15939 */ {(12<<2)|2,{111,73,0}}, +/* 15940 */ {(12<<2)|2,{111,73,0}}, +/* 15941 */ {(12<<2)|2,{111,73,0}}, +/* 15942 */ {(12<<2)|2,{111,73,0}}, +/* 15943 */ {(12<<2)|2,{111,73,0}}, +/* 15944 */ {(12<<2)|2,{111,73,0}}, +/* 15945 */ {(12<<2)|2,{111,73,0}}, +/* 15946 */ {(12<<2)|2,{111,73,0}}, +/* 15947 */ {(12<<2)|2,{111,73,0}}, +/* 15948 */ {(12<<2)|2,{111,73,0}}, +/* 15949 */ {(12<<2)|2,{111,73,0}}, +/* 15950 */ {(12<<2)|2,{111,73,0}}, +/* 15951 */ {(12<<2)|2,{111,73,0}}, +/* 15952 */ {(12<<2)|2,{111,74,0}}, +/* 15953 */ {(12<<2)|2,{111,74,0}}, +/* 15954 */ {(12<<2)|2,{111,74,0}}, +/* 15955 */ {(12<<2)|2,{111,74,0}}, +/* 15956 */ {(12<<2)|2,{111,74,0}}, +/* 15957 */ {(12<<2)|2,{111,74,0}}, +/* 15958 */ {(12<<2)|2,{111,74,0}}, +/* 15959 */ {(12<<2)|2,{111,74,0}}, +/* 15960 */ {(12<<2)|2,{111,74,0}}, +/* 15961 */ {(12<<2)|2,{111,74,0}}, +/* 15962 */ {(12<<2)|2,{111,74,0}}, +/* 15963 */ {(12<<2)|2,{111,74,0}}, +/* 15964 */ {(12<<2)|2,{111,74,0}}, +/* 15965 */ {(12<<2)|2,{111,74,0}}, +/* 15966 */ {(12<<2)|2,{111,74,0}}, +/* 15967 */ {(12<<2)|2,{111,74,0}}, +/* 15968 */ {(12<<2)|2,{111,75,0}}, +/* 15969 */ {(12<<2)|2,{111,75,0}}, +/* 15970 */ {(12<<2)|2,{111,75,0}}, +/* 15971 */ {(12<<2)|2,{111,75,0}}, +/* 15972 */ {(12<<2)|2,{111,75,0}}, +/* 15973 */ {(12<<2)|2,{111,75,0}}, +/* 15974 */ {(12<<2)|2,{111,75,0}}, +/* 15975 */ {(12<<2)|2,{111,75,0}}, +/* 15976 */ {(12<<2)|2,{111,75,0}}, +/* 15977 */ {(12<<2)|2,{111,75,0}}, +/* 15978 */ {(12<<2)|2,{111,75,0}}, +/* 15979 */ {(12<<2)|2,{111,75,0}}, +/* 15980 */ {(12<<2)|2,{111,75,0}}, +/* 15981 */ {(12<<2)|2,{111,75,0}}, +/* 15982 */ {(12<<2)|2,{111,75,0}}, +/* 15983 */ {(12<<2)|2,{111,75,0}}, +/* 15984 */ {(12<<2)|2,{111,76,0}}, +/* 15985 */ {(12<<2)|2,{111,76,0}}, +/* 15986 */ {(12<<2)|2,{111,76,0}}, +/* 15987 */ {(12<<2)|2,{111,76,0}}, +/* 15988 */ {(12<<2)|2,{111,76,0}}, +/* 15989 */ {(12<<2)|2,{111,76,0}}, +/* 15990 */ {(12<<2)|2,{111,76,0}}, +/* 15991 */ {(12<<2)|2,{111,76,0}}, +/* 15992 */ {(12<<2)|2,{111,76,0}}, +/* 15993 */ {(12<<2)|2,{111,76,0}}, +/* 15994 */ {(12<<2)|2,{111,76,0}}, +/* 15995 */ {(12<<2)|2,{111,76,0}}, +/* 15996 */ {(12<<2)|2,{111,76,0}}, +/* 15997 */ {(12<<2)|2,{111,76,0}}, +/* 15998 */ {(12<<2)|2,{111,76,0}}, +/* 15999 */ {(12<<2)|2,{111,76,0}}, +/* 16000 */ {(12<<2)|2,{111,77,0}}, +/* 16001 */ {(12<<2)|2,{111,77,0}}, +/* 16002 */ {(12<<2)|2,{111,77,0}}, +/* 16003 */ {(12<<2)|2,{111,77,0}}, +/* 16004 */ {(12<<2)|2,{111,77,0}}, +/* 16005 */ {(12<<2)|2,{111,77,0}}, +/* 16006 */ {(12<<2)|2,{111,77,0}}, +/* 16007 */ {(12<<2)|2,{111,77,0}}, +/* 16008 */ {(12<<2)|2,{111,77,0}}, +/* 16009 */ {(12<<2)|2,{111,77,0}}, +/* 16010 */ {(12<<2)|2,{111,77,0}}, +/* 16011 */ {(12<<2)|2,{111,77,0}}, +/* 16012 */ {(12<<2)|2,{111,77,0}}, +/* 16013 */ {(12<<2)|2,{111,77,0}}, +/* 16014 */ {(12<<2)|2,{111,77,0}}, +/* 16015 */ {(12<<2)|2,{111,77,0}}, +/* 16016 */ {(12<<2)|2,{111,78,0}}, +/* 16017 */ {(12<<2)|2,{111,78,0}}, +/* 16018 */ {(12<<2)|2,{111,78,0}}, +/* 16019 */ {(12<<2)|2,{111,78,0}}, +/* 16020 */ {(12<<2)|2,{111,78,0}}, +/* 16021 */ {(12<<2)|2,{111,78,0}}, +/* 16022 */ {(12<<2)|2,{111,78,0}}, +/* 16023 */ {(12<<2)|2,{111,78,0}}, +/* 16024 */ {(12<<2)|2,{111,78,0}}, +/* 16025 */ {(12<<2)|2,{111,78,0}}, +/* 16026 */ {(12<<2)|2,{111,78,0}}, +/* 16027 */ {(12<<2)|2,{111,78,0}}, +/* 16028 */ {(12<<2)|2,{111,78,0}}, +/* 16029 */ {(12<<2)|2,{111,78,0}}, +/* 16030 */ {(12<<2)|2,{111,78,0}}, +/* 16031 */ {(12<<2)|2,{111,78,0}}, +/* 16032 */ {(12<<2)|2,{111,79,0}}, +/* 16033 */ {(12<<2)|2,{111,79,0}}, +/* 16034 */ {(12<<2)|2,{111,79,0}}, +/* 16035 */ {(12<<2)|2,{111,79,0}}, +/* 16036 */ {(12<<2)|2,{111,79,0}}, +/* 16037 */ {(12<<2)|2,{111,79,0}}, +/* 16038 */ {(12<<2)|2,{111,79,0}}, +/* 16039 */ {(12<<2)|2,{111,79,0}}, +/* 16040 */ {(12<<2)|2,{111,79,0}}, +/* 16041 */ {(12<<2)|2,{111,79,0}}, +/* 16042 */ {(12<<2)|2,{111,79,0}}, +/* 16043 */ {(12<<2)|2,{111,79,0}}, +/* 16044 */ {(12<<2)|2,{111,79,0}}, +/* 16045 */ {(12<<2)|2,{111,79,0}}, +/* 16046 */ {(12<<2)|2,{111,79,0}}, +/* 16047 */ {(12<<2)|2,{111,79,0}}, +/* 16048 */ {(12<<2)|2,{111,80,0}}, +/* 16049 */ {(12<<2)|2,{111,80,0}}, +/* 16050 */ {(12<<2)|2,{111,80,0}}, +/* 16051 */ {(12<<2)|2,{111,80,0}}, +/* 16052 */ {(12<<2)|2,{111,80,0}}, +/* 16053 */ {(12<<2)|2,{111,80,0}}, +/* 16054 */ {(12<<2)|2,{111,80,0}}, +/* 16055 */ {(12<<2)|2,{111,80,0}}, +/* 16056 */ {(12<<2)|2,{111,80,0}}, +/* 16057 */ {(12<<2)|2,{111,80,0}}, +/* 16058 */ {(12<<2)|2,{111,80,0}}, +/* 16059 */ {(12<<2)|2,{111,80,0}}, +/* 16060 */ {(12<<2)|2,{111,80,0}}, +/* 16061 */ {(12<<2)|2,{111,80,0}}, +/* 16062 */ {(12<<2)|2,{111,80,0}}, +/* 16063 */ {(12<<2)|2,{111,80,0}}, +/* 16064 */ {(12<<2)|2,{111,81,0}}, +/* 16065 */ {(12<<2)|2,{111,81,0}}, +/* 16066 */ {(12<<2)|2,{111,81,0}}, +/* 16067 */ {(12<<2)|2,{111,81,0}}, +/* 16068 */ {(12<<2)|2,{111,81,0}}, +/* 16069 */ {(12<<2)|2,{111,81,0}}, +/* 16070 */ {(12<<2)|2,{111,81,0}}, +/* 16071 */ {(12<<2)|2,{111,81,0}}, +/* 16072 */ {(12<<2)|2,{111,81,0}}, +/* 16073 */ {(12<<2)|2,{111,81,0}}, +/* 16074 */ {(12<<2)|2,{111,81,0}}, +/* 16075 */ {(12<<2)|2,{111,81,0}}, +/* 16076 */ {(12<<2)|2,{111,81,0}}, +/* 16077 */ {(12<<2)|2,{111,81,0}}, +/* 16078 */ {(12<<2)|2,{111,81,0}}, +/* 16079 */ {(12<<2)|2,{111,81,0}}, +/* 16080 */ {(12<<2)|2,{111,82,0}}, +/* 16081 */ {(12<<2)|2,{111,82,0}}, +/* 16082 */ {(12<<2)|2,{111,82,0}}, +/* 16083 */ {(12<<2)|2,{111,82,0}}, +/* 16084 */ {(12<<2)|2,{111,82,0}}, +/* 16085 */ {(12<<2)|2,{111,82,0}}, +/* 16086 */ {(12<<2)|2,{111,82,0}}, +/* 16087 */ {(12<<2)|2,{111,82,0}}, +/* 16088 */ {(12<<2)|2,{111,82,0}}, +/* 16089 */ {(12<<2)|2,{111,82,0}}, +/* 16090 */ {(12<<2)|2,{111,82,0}}, +/* 16091 */ {(12<<2)|2,{111,82,0}}, +/* 16092 */ {(12<<2)|2,{111,82,0}}, +/* 16093 */ {(12<<2)|2,{111,82,0}}, +/* 16094 */ {(12<<2)|2,{111,82,0}}, +/* 16095 */ {(12<<2)|2,{111,82,0}}, +/* 16096 */ {(12<<2)|2,{111,83,0}}, +/* 16097 */ {(12<<2)|2,{111,83,0}}, +/* 16098 */ {(12<<2)|2,{111,83,0}}, +/* 16099 */ {(12<<2)|2,{111,83,0}}, +/* 16100 */ {(12<<2)|2,{111,83,0}}, +/* 16101 */ {(12<<2)|2,{111,83,0}}, +/* 16102 */ {(12<<2)|2,{111,83,0}}, +/* 16103 */ {(12<<2)|2,{111,83,0}}, +/* 16104 */ {(12<<2)|2,{111,83,0}}, +/* 16105 */ {(12<<2)|2,{111,83,0}}, +/* 16106 */ {(12<<2)|2,{111,83,0}}, +/* 16107 */ {(12<<2)|2,{111,83,0}}, +/* 16108 */ {(12<<2)|2,{111,83,0}}, +/* 16109 */ {(12<<2)|2,{111,83,0}}, +/* 16110 */ {(12<<2)|2,{111,83,0}}, +/* 16111 */ {(12<<2)|2,{111,83,0}}, +/* 16112 */ {(12<<2)|2,{111,84,0}}, +/* 16113 */ {(12<<2)|2,{111,84,0}}, +/* 16114 */ {(12<<2)|2,{111,84,0}}, +/* 16115 */ {(12<<2)|2,{111,84,0}}, +/* 16116 */ {(12<<2)|2,{111,84,0}}, +/* 16117 */ {(12<<2)|2,{111,84,0}}, +/* 16118 */ {(12<<2)|2,{111,84,0}}, +/* 16119 */ {(12<<2)|2,{111,84,0}}, +/* 16120 */ {(12<<2)|2,{111,84,0}}, +/* 16121 */ {(12<<2)|2,{111,84,0}}, +/* 16122 */ {(12<<2)|2,{111,84,0}}, +/* 16123 */ {(12<<2)|2,{111,84,0}}, +/* 16124 */ {(12<<2)|2,{111,84,0}}, +/* 16125 */ {(12<<2)|2,{111,84,0}}, +/* 16126 */ {(12<<2)|2,{111,84,0}}, +/* 16127 */ {(12<<2)|2,{111,84,0}}, +/* 16128 */ {(12<<2)|2,{111,85,0}}, +/* 16129 */ {(12<<2)|2,{111,85,0}}, +/* 16130 */ {(12<<2)|2,{111,85,0}}, +/* 16131 */ {(12<<2)|2,{111,85,0}}, +/* 16132 */ {(12<<2)|2,{111,85,0}}, +/* 16133 */ {(12<<2)|2,{111,85,0}}, +/* 16134 */ {(12<<2)|2,{111,85,0}}, +/* 16135 */ {(12<<2)|2,{111,85,0}}, +/* 16136 */ {(12<<2)|2,{111,85,0}}, +/* 16137 */ {(12<<2)|2,{111,85,0}}, +/* 16138 */ {(12<<2)|2,{111,85,0}}, +/* 16139 */ {(12<<2)|2,{111,85,0}}, +/* 16140 */ {(12<<2)|2,{111,85,0}}, +/* 16141 */ {(12<<2)|2,{111,85,0}}, +/* 16142 */ {(12<<2)|2,{111,85,0}}, +/* 16143 */ {(12<<2)|2,{111,85,0}}, +/* 16144 */ {(12<<2)|2,{111,86,0}}, +/* 16145 */ {(12<<2)|2,{111,86,0}}, +/* 16146 */ {(12<<2)|2,{111,86,0}}, +/* 16147 */ {(12<<2)|2,{111,86,0}}, +/* 16148 */ {(12<<2)|2,{111,86,0}}, +/* 16149 */ {(12<<2)|2,{111,86,0}}, +/* 16150 */ {(12<<2)|2,{111,86,0}}, +/* 16151 */ {(12<<2)|2,{111,86,0}}, +/* 16152 */ {(12<<2)|2,{111,86,0}}, +/* 16153 */ {(12<<2)|2,{111,86,0}}, +/* 16154 */ {(12<<2)|2,{111,86,0}}, +/* 16155 */ {(12<<2)|2,{111,86,0}}, +/* 16156 */ {(12<<2)|2,{111,86,0}}, +/* 16157 */ {(12<<2)|2,{111,86,0}}, +/* 16158 */ {(12<<2)|2,{111,86,0}}, +/* 16159 */ {(12<<2)|2,{111,86,0}}, +/* 16160 */ {(12<<2)|2,{111,87,0}}, +/* 16161 */ {(12<<2)|2,{111,87,0}}, +/* 16162 */ {(12<<2)|2,{111,87,0}}, +/* 16163 */ {(12<<2)|2,{111,87,0}}, +/* 16164 */ {(12<<2)|2,{111,87,0}}, +/* 16165 */ {(12<<2)|2,{111,87,0}}, +/* 16166 */ {(12<<2)|2,{111,87,0}}, +/* 16167 */ {(12<<2)|2,{111,87,0}}, +/* 16168 */ {(12<<2)|2,{111,87,0}}, +/* 16169 */ {(12<<2)|2,{111,87,0}}, +/* 16170 */ {(12<<2)|2,{111,87,0}}, +/* 16171 */ {(12<<2)|2,{111,87,0}}, +/* 16172 */ {(12<<2)|2,{111,87,0}}, +/* 16173 */ {(12<<2)|2,{111,87,0}}, +/* 16174 */ {(12<<2)|2,{111,87,0}}, +/* 16175 */ {(12<<2)|2,{111,87,0}}, +/* 16176 */ {(12<<2)|2,{111,89,0}}, +/* 16177 */ {(12<<2)|2,{111,89,0}}, +/* 16178 */ {(12<<2)|2,{111,89,0}}, +/* 16179 */ {(12<<2)|2,{111,89,0}}, +/* 16180 */ {(12<<2)|2,{111,89,0}}, +/* 16181 */ {(12<<2)|2,{111,89,0}}, +/* 16182 */ {(12<<2)|2,{111,89,0}}, +/* 16183 */ {(12<<2)|2,{111,89,0}}, +/* 16184 */ {(12<<2)|2,{111,89,0}}, +/* 16185 */ {(12<<2)|2,{111,89,0}}, +/* 16186 */ {(12<<2)|2,{111,89,0}}, +/* 16187 */ {(12<<2)|2,{111,89,0}}, +/* 16188 */ {(12<<2)|2,{111,89,0}}, +/* 16189 */ {(12<<2)|2,{111,89,0}}, +/* 16190 */ {(12<<2)|2,{111,89,0}}, +/* 16191 */ {(12<<2)|2,{111,89,0}}, +/* 16192 */ {(12<<2)|2,{111,106,0}}, +/* 16193 */ {(12<<2)|2,{111,106,0}}, +/* 16194 */ {(12<<2)|2,{111,106,0}}, +/* 16195 */ {(12<<2)|2,{111,106,0}}, +/* 16196 */ {(12<<2)|2,{111,106,0}}, +/* 16197 */ {(12<<2)|2,{111,106,0}}, +/* 16198 */ {(12<<2)|2,{111,106,0}}, +/* 16199 */ {(12<<2)|2,{111,106,0}}, +/* 16200 */ {(12<<2)|2,{111,106,0}}, +/* 16201 */ {(12<<2)|2,{111,106,0}}, +/* 16202 */ {(12<<2)|2,{111,106,0}}, +/* 16203 */ {(12<<2)|2,{111,106,0}}, +/* 16204 */ {(12<<2)|2,{111,106,0}}, +/* 16205 */ {(12<<2)|2,{111,106,0}}, +/* 16206 */ {(12<<2)|2,{111,106,0}}, +/* 16207 */ {(12<<2)|2,{111,106,0}}, +/* 16208 */ {(12<<2)|2,{111,107,0}}, +/* 16209 */ {(12<<2)|2,{111,107,0}}, +/* 16210 */ {(12<<2)|2,{111,107,0}}, +/* 16211 */ {(12<<2)|2,{111,107,0}}, +/* 16212 */ {(12<<2)|2,{111,107,0}}, +/* 16213 */ {(12<<2)|2,{111,107,0}}, +/* 16214 */ {(12<<2)|2,{111,107,0}}, +/* 16215 */ {(12<<2)|2,{111,107,0}}, +/* 16216 */ {(12<<2)|2,{111,107,0}}, +/* 16217 */ {(12<<2)|2,{111,107,0}}, +/* 16218 */ {(12<<2)|2,{111,107,0}}, +/* 16219 */ {(12<<2)|2,{111,107,0}}, +/* 16220 */ {(12<<2)|2,{111,107,0}}, +/* 16221 */ {(12<<2)|2,{111,107,0}}, +/* 16222 */ {(12<<2)|2,{111,107,0}}, +/* 16223 */ {(12<<2)|2,{111,107,0}}, +/* 16224 */ {(12<<2)|2,{111,113,0}}, +/* 16225 */ {(12<<2)|2,{111,113,0}}, +/* 16226 */ {(12<<2)|2,{111,113,0}}, +/* 16227 */ {(12<<2)|2,{111,113,0}}, +/* 16228 */ {(12<<2)|2,{111,113,0}}, +/* 16229 */ {(12<<2)|2,{111,113,0}}, +/* 16230 */ {(12<<2)|2,{111,113,0}}, +/* 16231 */ {(12<<2)|2,{111,113,0}}, +/* 16232 */ {(12<<2)|2,{111,113,0}}, +/* 16233 */ {(12<<2)|2,{111,113,0}}, +/* 16234 */ {(12<<2)|2,{111,113,0}}, +/* 16235 */ {(12<<2)|2,{111,113,0}}, +/* 16236 */ {(12<<2)|2,{111,113,0}}, +/* 16237 */ {(12<<2)|2,{111,113,0}}, +/* 16238 */ {(12<<2)|2,{111,113,0}}, +/* 16239 */ {(12<<2)|2,{111,113,0}}, +/* 16240 */ {(12<<2)|2,{111,118,0}}, +/* 16241 */ {(12<<2)|2,{111,118,0}}, +/* 16242 */ {(12<<2)|2,{111,118,0}}, +/* 16243 */ {(12<<2)|2,{111,118,0}}, +/* 16244 */ {(12<<2)|2,{111,118,0}}, +/* 16245 */ {(12<<2)|2,{111,118,0}}, +/* 16246 */ {(12<<2)|2,{111,118,0}}, +/* 16247 */ {(12<<2)|2,{111,118,0}}, +/* 16248 */ {(12<<2)|2,{111,118,0}}, +/* 16249 */ {(12<<2)|2,{111,118,0}}, +/* 16250 */ {(12<<2)|2,{111,118,0}}, +/* 16251 */ {(12<<2)|2,{111,118,0}}, +/* 16252 */ {(12<<2)|2,{111,118,0}}, +/* 16253 */ {(12<<2)|2,{111,118,0}}, +/* 16254 */ {(12<<2)|2,{111,118,0}}, +/* 16255 */ {(12<<2)|2,{111,118,0}}, +/* 16256 */ {(12<<2)|2,{111,119,0}}, +/* 16257 */ {(12<<2)|2,{111,119,0}}, +/* 16258 */ {(12<<2)|2,{111,119,0}}, +/* 16259 */ {(12<<2)|2,{111,119,0}}, +/* 16260 */ {(12<<2)|2,{111,119,0}}, +/* 16261 */ {(12<<2)|2,{111,119,0}}, +/* 16262 */ {(12<<2)|2,{111,119,0}}, +/* 16263 */ {(12<<2)|2,{111,119,0}}, +/* 16264 */ {(12<<2)|2,{111,119,0}}, +/* 16265 */ {(12<<2)|2,{111,119,0}}, +/* 16266 */ {(12<<2)|2,{111,119,0}}, +/* 16267 */ {(12<<2)|2,{111,119,0}}, +/* 16268 */ {(12<<2)|2,{111,119,0}}, +/* 16269 */ {(12<<2)|2,{111,119,0}}, +/* 16270 */ {(12<<2)|2,{111,119,0}}, +/* 16271 */ {(12<<2)|2,{111,119,0}}, +/* 16272 */ {(12<<2)|2,{111,120,0}}, +/* 16273 */ {(12<<2)|2,{111,120,0}}, +/* 16274 */ {(12<<2)|2,{111,120,0}}, +/* 16275 */ {(12<<2)|2,{111,120,0}}, +/* 16276 */ {(12<<2)|2,{111,120,0}}, +/* 16277 */ {(12<<2)|2,{111,120,0}}, +/* 16278 */ {(12<<2)|2,{111,120,0}}, +/* 16279 */ {(12<<2)|2,{111,120,0}}, +/* 16280 */ {(12<<2)|2,{111,120,0}}, +/* 16281 */ {(12<<2)|2,{111,120,0}}, +/* 16282 */ {(12<<2)|2,{111,120,0}}, +/* 16283 */ {(12<<2)|2,{111,120,0}}, +/* 16284 */ {(12<<2)|2,{111,120,0}}, +/* 16285 */ {(12<<2)|2,{111,120,0}}, +/* 16286 */ {(12<<2)|2,{111,120,0}}, +/* 16287 */ {(12<<2)|2,{111,120,0}}, +/* 16288 */ {(12<<2)|2,{111,121,0}}, +/* 16289 */ {(12<<2)|2,{111,121,0}}, +/* 16290 */ {(12<<2)|2,{111,121,0}}, +/* 16291 */ {(12<<2)|2,{111,121,0}}, +/* 16292 */ {(12<<2)|2,{111,121,0}}, +/* 16293 */ {(12<<2)|2,{111,121,0}}, +/* 16294 */ {(12<<2)|2,{111,121,0}}, +/* 16295 */ {(12<<2)|2,{111,121,0}}, +/* 16296 */ {(12<<2)|2,{111,121,0}}, +/* 16297 */ {(12<<2)|2,{111,121,0}}, +/* 16298 */ {(12<<2)|2,{111,121,0}}, +/* 16299 */ {(12<<2)|2,{111,121,0}}, +/* 16300 */ {(12<<2)|2,{111,121,0}}, +/* 16301 */ {(12<<2)|2,{111,121,0}}, +/* 16302 */ {(12<<2)|2,{111,121,0}}, +/* 16303 */ {(12<<2)|2,{111,121,0}}, +/* 16304 */ {(12<<2)|2,{111,122,0}}, +/* 16305 */ {(12<<2)|2,{111,122,0}}, +/* 16306 */ {(12<<2)|2,{111,122,0}}, +/* 16307 */ {(12<<2)|2,{111,122,0}}, +/* 16308 */ {(12<<2)|2,{111,122,0}}, +/* 16309 */ {(12<<2)|2,{111,122,0}}, +/* 16310 */ {(12<<2)|2,{111,122,0}}, +/* 16311 */ {(12<<2)|2,{111,122,0}}, +/* 16312 */ {(12<<2)|2,{111,122,0}}, +/* 16313 */ {(12<<2)|2,{111,122,0}}, +/* 16314 */ {(12<<2)|2,{111,122,0}}, +/* 16315 */ {(12<<2)|2,{111,122,0}}, +/* 16316 */ {(12<<2)|2,{111,122,0}}, +/* 16317 */ {(12<<2)|2,{111,122,0}}, +/* 16318 */ {(12<<2)|2,{111,122,0}}, +/* 16319 */ {(12<<2)|2,{111,122,0}}, +/* 16320 */ {(13<<2)|2,{111,38,0}}, +/* 16321 */ {(13<<2)|2,{111,38,0}}, +/* 16322 */ {(13<<2)|2,{111,38,0}}, +/* 16323 */ {(13<<2)|2,{111,38,0}}, +/* 16324 */ {(13<<2)|2,{111,38,0}}, +/* 16325 */ {(13<<2)|2,{111,38,0}}, +/* 16326 */ {(13<<2)|2,{111,38,0}}, +/* 16327 */ {(13<<2)|2,{111,38,0}}, +/* 16328 */ {(13<<2)|2,{111,42,0}}, +/* 16329 */ {(13<<2)|2,{111,42,0}}, +/* 16330 */ {(13<<2)|2,{111,42,0}}, +/* 16331 */ {(13<<2)|2,{111,42,0}}, +/* 16332 */ {(13<<2)|2,{111,42,0}}, +/* 16333 */ {(13<<2)|2,{111,42,0}}, +/* 16334 */ {(13<<2)|2,{111,42,0}}, +/* 16335 */ {(13<<2)|2,{111,42,0}}, +/* 16336 */ {(13<<2)|2,{111,44,0}}, +/* 16337 */ {(13<<2)|2,{111,44,0}}, +/* 16338 */ {(13<<2)|2,{111,44,0}}, +/* 16339 */ {(13<<2)|2,{111,44,0}}, +/* 16340 */ {(13<<2)|2,{111,44,0}}, +/* 16341 */ {(13<<2)|2,{111,44,0}}, +/* 16342 */ {(13<<2)|2,{111,44,0}}, +/* 16343 */ {(13<<2)|2,{111,44,0}}, +/* 16344 */ {(13<<2)|2,{111,59,0}}, +/* 16345 */ {(13<<2)|2,{111,59,0}}, +/* 16346 */ {(13<<2)|2,{111,59,0}}, +/* 16347 */ {(13<<2)|2,{111,59,0}}, +/* 16348 */ {(13<<2)|2,{111,59,0}}, +/* 16349 */ {(13<<2)|2,{111,59,0}}, +/* 16350 */ {(13<<2)|2,{111,59,0}}, +/* 16351 */ {(13<<2)|2,{111,59,0}}, +/* 16352 */ {(13<<2)|2,{111,88,0}}, +/* 16353 */ {(13<<2)|2,{111,88,0}}, +/* 16354 */ {(13<<2)|2,{111,88,0}}, +/* 16355 */ {(13<<2)|2,{111,88,0}}, +/* 16356 */ {(13<<2)|2,{111,88,0}}, +/* 16357 */ {(13<<2)|2,{111,88,0}}, +/* 16358 */ {(13<<2)|2,{111,88,0}}, +/* 16359 */ {(13<<2)|2,{111,88,0}}, +/* 16360 */ {(13<<2)|2,{111,90,0}}, +/* 16361 */ {(13<<2)|2,{111,90,0}}, +/* 16362 */ {(13<<2)|2,{111,90,0}}, +/* 16363 */ {(13<<2)|2,{111,90,0}}, +/* 16364 */ {(13<<2)|2,{111,90,0}}, +/* 16365 */ {(13<<2)|2,{111,90,0}}, +/* 16366 */ {(13<<2)|2,{111,90,0}}, +/* 16367 */ {(13<<2)|2,{111,90,0}}, +/* 16368 */ {(15<<2)|2,{111,33,0}}, +/* 16369 */ {(15<<2)|2,{111,33,0}}, +/* 16370 */ {(15<<2)|2,{111,34,0}}, +/* 16371 */ {(15<<2)|2,{111,34,0}}, +/* 16372 */ {(15<<2)|2,{111,40,0}}, +/* 16373 */ {(15<<2)|2,{111,40,0}}, +/* 16374 */ {(15<<2)|2,{111,41,0}}, +/* 16375 */ {(15<<2)|2,{111,41,0}}, +/* 16376 */ {(15<<2)|2,{111,63,0}}, +/* 16377 */ {(15<<2)|2,{111,63,0}}, +/* 16378 */ {(16<<2)|2,{111,39,0}}, +/* 16379 */ {(16<<2)|2,{111,43,0}}, +/* 16380 */ {(16<<2)|2,{111,124,0}}, +/* 16381 */ {(5<<2)|1,{111,0,0}}, +/* 16382 */ {(5<<2)|1,{111,0,0}}, +/* 16383 */ {(5<<2)|1,{111,0,0}}, +/* 16384 */ {(15<<2)|3,{115,48,48}}, +/* 16385 */ {(15<<2)|3,{115,48,48}}, +/* 16386 */ {(15<<2)|3,{115,48,49}}, +/* 16387 */ {(15<<2)|3,{115,48,49}}, +/* 16388 */ {(15<<2)|3,{115,48,50}}, +/* 16389 */ {(15<<2)|3,{115,48,50}}, +/* 16390 */ {(15<<2)|3,{115,48,97}}, +/* 16391 */ {(15<<2)|3,{115,48,97}}, +/* 16392 */ {(15<<2)|3,{115,48,99}}, +/* 16393 */ {(15<<2)|3,{115,48,99}}, +/* 16394 */ {(15<<2)|3,{115,48,101}}, +/* 16395 */ {(15<<2)|3,{115,48,101}}, +/* 16396 */ {(15<<2)|3,{115,48,105}}, +/* 16397 */ {(15<<2)|3,{115,48,105}}, +/* 16398 */ {(15<<2)|3,{115,48,111}}, +/* 16399 */ {(15<<2)|3,{115,48,111}}, +/* 16400 */ {(15<<2)|3,{115,48,115}}, +/* 16401 */ {(15<<2)|3,{115,48,115}}, +/* 16402 */ {(15<<2)|3,{115,48,116}}, +/* 16403 */ {(15<<2)|3,{115,48,116}}, +/* 16404 */ {(16<<2)|3,{115,48,32}}, +/* 16405 */ {(16<<2)|3,{115,48,37}}, +/* 16406 */ {(16<<2)|3,{115,48,45}}, +/* 16407 */ {(16<<2)|3,{115,48,46}}, +/* 16408 */ {(16<<2)|3,{115,48,47}}, +/* 16409 */ {(16<<2)|3,{115,48,51}}, +/* 16410 */ {(16<<2)|3,{115,48,52}}, +/* 16411 */ {(16<<2)|3,{115,48,53}}, +/* 16412 */ {(16<<2)|3,{115,48,54}}, +/* 16413 */ {(16<<2)|3,{115,48,55}}, +/* 16414 */ {(16<<2)|3,{115,48,56}}, +/* 16415 */ {(16<<2)|3,{115,48,57}}, +/* 16416 */ {(16<<2)|3,{115,48,61}}, +/* 16417 */ {(16<<2)|3,{115,48,65}}, +/* 16418 */ {(16<<2)|3,{115,48,95}}, +/* 16419 */ {(16<<2)|3,{115,48,98}}, +/* 16420 */ {(16<<2)|3,{115,48,100}}, +/* 16421 */ {(16<<2)|3,{115,48,102}}, +/* 16422 */ {(16<<2)|3,{115,48,103}}, +/* 16423 */ {(16<<2)|3,{115,48,104}}, +/* 16424 */ {(16<<2)|3,{115,48,108}}, +/* 16425 */ {(16<<2)|3,{115,48,109}}, +/* 16426 */ {(16<<2)|3,{115,48,110}}, +/* 16427 */ {(16<<2)|3,{115,48,112}}, +/* 16428 */ {(16<<2)|3,{115,48,114}}, +/* 16429 */ {(16<<2)|3,{115,48,117}}, +/* 16430 */ {(10<<2)|2,{115,48,0}}, +/* 16431 */ {(10<<2)|2,{115,48,0}}, +/* 16432 */ {(10<<2)|2,{115,48,0}}, +/* 16433 */ {(10<<2)|2,{115,48,0}}, +/* 16434 */ {(10<<2)|2,{115,48,0}}, +/* 16435 */ {(10<<2)|2,{115,48,0}}, +/* 16436 */ {(10<<2)|2,{115,48,0}}, +/* 16437 */ {(10<<2)|2,{115,48,0}}, +/* 16438 */ {(10<<2)|2,{115,48,0}}, +/* 16439 */ {(10<<2)|2,{115,48,0}}, +/* 16440 */ {(10<<2)|2,{115,48,0}}, +/* 16441 */ {(10<<2)|2,{115,48,0}}, +/* 16442 */ {(10<<2)|2,{115,48,0}}, +/* 16443 */ {(10<<2)|2,{115,48,0}}, +/* 16444 */ {(10<<2)|2,{115,48,0}}, +/* 16445 */ {(10<<2)|2,{115,48,0}}, +/* 16446 */ {(10<<2)|2,{115,48,0}}, +/* 16447 */ {(10<<2)|2,{115,48,0}}, +/* 16448 */ {(15<<2)|3,{115,49,48}}, +/* 16449 */ {(15<<2)|3,{115,49,48}}, +/* 16450 */ {(15<<2)|3,{115,49,49}}, +/* 16451 */ {(15<<2)|3,{115,49,49}}, +/* 16452 */ {(15<<2)|3,{115,49,50}}, +/* 16453 */ {(15<<2)|3,{115,49,50}}, +/* 16454 */ {(15<<2)|3,{115,49,97}}, +/* 16455 */ {(15<<2)|3,{115,49,97}}, +/* 16456 */ {(15<<2)|3,{115,49,99}}, +/* 16457 */ {(15<<2)|3,{115,49,99}}, +/* 16458 */ {(15<<2)|3,{115,49,101}}, +/* 16459 */ {(15<<2)|3,{115,49,101}}, +/* 16460 */ {(15<<2)|3,{115,49,105}}, +/* 16461 */ {(15<<2)|3,{115,49,105}}, +/* 16462 */ {(15<<2)|3,{115,49,111}}, +/* 16463 */ {(15<<2)|3,{115,49,111}}, +/* 16464 */ {(15<<2)|3,{115,49,115}}, +/* 16465 */ {(15<<2)|3,{115,49,115}}, +/* 16466 */ {(15<<2)|3,{115,49,116}}, +/* 16467 */ {(15<<2)|3,{115,49,116}}, +/* 16468 */ {(16<<2)|3,{115,49,32}}, +/* 16469 */ {(16<<2)|3,{115,49,37}}, +/* 16470 */ {(16<<2)|3,{115,49,45}}, +/* 16471 */ {(16<<2)|3,{115,49,46}}, +/* 16472 */ {(16<<2)|3,{115,49,47}}, +/* 16473 */ {(16<<2)|3,{115,49,51}}, +/* 16474 */ {(16<<2)|3,{115,49,52}}, +/* 16475 */ {(16<<2)|3,{115,49,53}}, +/* 16476 */ {(16<<2)|3,{115,49,54}}, +/* 16477 */ {(16<<2)|3,{115,49,55}}, +/* 16478 */ {(16<<2)|3,{115,49,56}}, +/* 16479 */ {(16<<2)|3,{115,49,57}}, +/* 16480 */ {(16<<2)|3,{115,49,61}}, +/* 16481 */ {(16<<2)|3,{115,49,65}}, +/* 16482 */ {(16<<2)|3,{115,49,95}}, +/* 16483 */ {(16<<2)|3,{115,49,98}}, +/* 16484 */ {(16<<2)|3,{115,49,100}}, +/* 16485 */ {(16<<2)|3,{115,49,102}}, +/* 16486 */ {(16<<2)|3,{115,49,103}}, +/* 16487 */ {(16<<2)|3,{115,49,104}}, +/* 16488 */ {(16<<2)|3,{115,49,108}}, +/* 16489 */ {(16<<2)|3,{115,49,109}}, +/* 16490 */ {(16<<2)|3,{115,49,110}}, +/* 16491 */ {(16<<2)|3,{115,49,112}}, +/* 16492 */ {(16<<2)|3,{115,49,114}}, +/* 16493 */ {(16<<2)|3,{115,49,117}}, +/* 16494 */ {(10<<2)|2,{115,49,0}}, +/* 16495 */ {(10<<2)|2,{115,49,0}}, +/* 16496 */ {(10<<2)|2,{115,49,0}}, +/* 16497 */ {(10<<2)|2,{115,49,0}}, +/* 16498 */ {(10<<2)|2,{115,49,0}}, +/* 16499 */ {(10<<2)|2,{115,49,0}}, +/* 16500 */ {(10<<2)|2,{115,49,0}}, +/* 16501 */ {(10<<2)|2,{115,49,0}}, +/* 16502 */ {(10<<2)|2,{115,49,0}}, +/* 16503 */ {(10<<2)|2,{115,49,0}}, +/* 16504 */ {(10<<2)|2,{115,49,0}}, +/* 16505 */ {(10<<2)|2,{115,49,0}}, +/* 16506 */ {(10<<2)|2,{115,49,0}}, +/* 16507 */ {(10<<2)|2,{115,49,0}}, +/* 16508 */ {(10<<2)|2,{115,49,0}}, +/* 16509 */ {(10<<2)|2,{115,49,0}}, +/* 16510 */ {(10<<2)|2,{115,49,0}}, +/* 16511 */ {(10<<2)|2,{115,49,0}}, +/* 16512 */ {(15<<2)|3,{115,50,48}}, +/* 16513 */ {(15<<2)|3,{115,50,48}}, +/* 16514 */ {(15<<2)|3,{115,50,49}}, +/* 16515 */ {(15<<2)|3,{115,50,49}}, +/* 16516 */ {(15<<2)|3,{115,50,50}}, +/* 16517 */ {(15<<2)|3,{115,50,50}}, +/* 16518 */ {(15<<2)|3,{115,50,97}}, +/* 16519 */ {(15<<2)|3,{115,50,97}}, +/* 16520 */ {(15<<2)|3,{115,50,99}}, +/* 16521 */ {(15<<2)|3,{115,50,99}}, +/* 16522 */ {(15<<2)|3,{115,50,101}}, +/* 16523 */ {(15<<2)|3,{115,50,101}}, +/* 16524 */ {(15<<2)|3,{115,50,105}}, +/* 16525 */ {(15<<2)|3,{115,50,105}}, +/* 16526 */ {(15<<2)|3,{115,50,111}}, +/* 16527 */ {(15<<2)|3,{115,50,111}}, +/* 16528 */ {(15<<2)|3,{115,50,115}}, +/* 16529 */ {(15<<2)|3,{115,50,115}}, +/* 16530 */ {(15<<2)|3,{115,50,116}}, +/* 16531 */ {(15<<2)|3,{115,50,116}}, +/* 16532 */ {(16<<2)|3,{115,50,32}}, +/* 16533 */ {(16<<2)|3,{115,50,37}}, +/* 16534 */ {(16<<2)|3,{115,50,45}}, +/* 16535 */ {(16<<2)|3,{115,50,46}}, +/* 16536 */ {(16<<2)|3,{115,50,47}}, +/* 16537 */ {(16<<2)|3,{115,50,51}}, +/* 16538 */ {(16<<2)|3,{115,50,52}}, +/* 16539 */ {(16<<2)|3,{115,50,53}}, +/* 16540 */ {(16<<2)|3,{115,50,54}}, +/* 16541 */ {(16<<2)|3,{115,50,55}}, +/* 16542 */ {(16<<2)|3,{115,50,56}}, +/* 16543 */ {(16<<2)|3,{115,50,57}}, +/* 16544 */ {(16<<2)|3,{115,50,61}}, +/* 16545 */ {(16<<2)|3,{115,50,65}}, +/* 16546 */ {(16<<2)|3,{115,50,95}}, +/* 16547 */ {(16<<2)|3,{115,50,98}}, +/* 16548 */ {(16<<2)|3,{115,50,100}}, +/* 16549 */ {(16<<2)|3,{115,50,102}}, +/* 16550 */ {(16<<2)|3,{115,50,103}}, +/* 16551 */ {(16<<2)|3,{115,50,104}}, +/* 16552 */ {(16<<2)|3,{115,50,108}}, +/* 16553 */ {(16<<2)|3,{115,50,109}}, +/* 16554 */ {(16<<2)|3,{115,50,110}}, +/* 16555 */ {(16<<2)|3,{115,50,112}}, +/* 16556 */ {(16<<2)|3,{115,50,114}}, +/* 16557 */ {(16<<2)|3,{115,50,117}}, +/* 16558 */ {(10<<2)|2,{115,50,0}}, +/* 16559 */ {(10<<2)|2,{115,50,0}}, +/* 16560 */ {(10<<2)|2,{115,50,0}}, +/* 16561 */ {(10<<2)|2,{115,50,0}}, +/* 16562 */ {(10<<2)|2,{115,50,0}}, +/* 16563 */ {(10<<2)|2,{115,50,0}}, +/* 16564 */ {(10<<2)|2,{115,50,0}}, +/* 16565 */ {(10<<2)|2,{115,50,0}}, +/* 16566 */ {(10<<2)|2,{115,50,0}}, +/* 16567 */ {(10<<2)|2,{115,50,0}}, +/* 16568 */ {(10<<2)|2,{115,50,0}}, +/* 16569 */ {(10<<2)|2,{115,50,0}}, +/* 16570 */ {(10<<2)|2,{115,50,0}}, +/* 16571 */ {(10<<2)|2,{115,50,0}}, +/* 16572 */ {(10<<2)|2,{115,50,0}}, +/* 16573 */ {(10<<2)|2,{115,50,0}}, +/* 16574 */ {(10<<2)|2,{115,50,0}}, +/* 16575 */ {(10<<2)|2,{115,50,0}}, +/* 16576 */ {(15<<2)|3,{115,97,48}}, +/* 16577 */ {(15<<2)|3,{115,97,48}}, +/* 16578 */ {(15<<2)|3,{115,97,49}}, +/* 16579 */ {(15<<2)|3,{115,97,49}}, +/* 16580 */ {(15<<2)|3,{115,97,50}}, +/* 16581 */ {(15<<2)|3,{115,97,50}}, +/* 16582 */ {(15<<2)|3,{115,97,97}}, +/* 16583 */ {(15<<2)|3,{115,97,97}}, +/* 16584 */ {(15<<2)|3,{115,97,99}}, +/* 16585 */ {(15<<2)|3,{115,97,99}}, +/* 16586 */ {(15<<2)|3,{115,97,101}}, +/* 16587 */ {(15<<2)|3,{115,97,101}}, +/* 16588 */ {(15<<2)|3,{115,97,105}}, +/* 16589 */ {(15<<2)|3,{115,97,105}}, +/* 16590 */ {(15<<2)|3,{115,97,111}}, +/* 16591 */ {(15<<2)|3,{115,97,111}}, +/* 16592 */ {(15<<2)|3,{115,97,115}}, +/* 16593 */ {(15<<2)|3,{115,97,115}}, +/* 16594 */ {(15<<2)|3,{115,97,116}}, +/* 16595 */ {(15<<2)|3,{115,97,116}}, +/* 16596 */ {(16<<2)|3,{115,97,32}}, +/* 16597 */ {(16<<2)|3,{115,97,37}}, +/* 16598 */ {(16<<2)|3,{115,97,45}}, +/* 16599 */ {(16<<2)|3,{115,97,46}}, +/* 16600 */ {(16<<2)|3,{115,97,47}}, +/* 16601 */ {(16<<2)|3,{115,97,51}}, +/* 16602 */ {(16<<2)|3,{115,97,52}}, +/* 16603 */ {(16<<2)|3,{115,97,53}}, +/* 16604 */ {(16<<2)|3,{115,97,54}}, +/* 16605 */ {(16<<2)|3,{115,97,55}}, +/* 16606 */ {(16<<2)|3,{115,97,56}}, +/* 16607 */ {(16<<2)|3,{115,97,57}}, +/* 16608 */ {(16<<2)|3,{115,97,61}}, +/* 16609 */ {(16<<2)|3,{115,97,65}}, +/* 16610 */ {(16<<2)|3,{115,97,95}}, +/* 16611 */ {(16<<2)|3,{115,97,98}}, +/* 16612 */ {(16<<2)|3,{115,97,100}}, +/* 16613 */ {(16<<2)|3,{115,97,102}}, +/* 16614 */ {(16<<2)|3,{115,97,103}}, +/* 16615 */ {(16<<2)|3,{115,97,104}}, +/* 16616 */ {(16<<2)|3,{115,97,108}}, +/* 16617 */ {(16<<2)|3,{115,97,109}}, +/* 16618 */ {(16<<2)|3,{115,97,110}}, +/* 16619 */ {(16<<2)|3,{115,97,112}}, +/* 16620 */ {(16<<2)|3,{115,97,114}}, +/* 16621 */ {(16<<2)|3,{115,97,117}}, +/* 16622 */ {(10<<2)|2,{115,97,0}}, +/* 16623 */ {(10<<2)|2,{115,97,0}}, +/* 16624 */ {(10<<2)|2,{115,97,0}}, +/* 16625 */ {(10<<2)|2,{115,97,0}}, +/* 16626 */ {(10<<2)|2,{115,97,0}}, +/* 16627 */ {(10<<2)|2,{115,97,0}}, +/* 16628 */ {(10<<2)|2,{115,97,0}}, +/* 16629 */ {(10<<2)|2,{115,97,0}}, +/* 16630 */ {(10<<2)|2,{115,97,0}}, +/* 16631 */ {(10<<2)|2,{115,97,0}}, +/* 16632 */ {(10<<2)|2,{115,97,0}}, +/* 16633 */ {(10<<2)|2,{115,97,0}}, +/* 16634 */ {(10<<2)|2,{115,97,0}}, +/* 16635 */ {(10<<2)|2,{115,97,0}}, +/* 16636 */ {(10<<2)|2,{115,97,0}}, +/* 16637 */ {(10<<2)|2,{115,97,0}}, +/* 16638 */ {(10<<2)|2,{115,97,0}}, +/* 16639 */ {(10<<2)|2,{115,97,0}}, +/* 16640 */ {(15<<2)|3,{115,99,48}}, +/* 16641 */ {(15<<2)|3,{115,99,48}}, +/* 16642 */ {(15<<2)|3,{115,99,49}}, +/* 16643 */ {(15<<2)|3,{115,99,49}}, +/* 16644 */ {(15<<2)|3,{115,99,50}}, +/* 16645 */ {(15<<2)|3,{115,99,50}}, +/* 16646 */ {(15<<2)|3,{115,99,97}}, +/* 16647 */ {(15<<2)|3,{115,99,97}}, +/* 16648 */ {(15<<2)|3,{115,99,99}}, +/* 16649 */ {(15<<2)|3,{115,99,99}}, +/* 16650 */ {(15<<2)|3,{115,99,101}}, +/* 16651 */ {(15<<2)|3,{115,99,101}}, +/* 16652 */ {(15<<2)|3,{115,99,105}}, +/* 16653 */ {(15<<2)|3,{115,99,105}}, +/* 16654 */ {(15<<2)|3,{115,99,111}}, +/* 16655 */ {(15<<2)|3,{115,99,111}}, +/* 16656 */ {(15<<2)|3,{115,99,115}}, +/* 16657 */ {(15<<2)|3,{115,99,115}}, +/* 16658 */ {(15<<2)|3,{115,99,116}}, +/* 16659 */ {(15<<2)|3,{115,99,116}}, +/* 16660 */ {(16<<2)|3,{115,99,32}}, +/* 16661 */ {(16<<2)|3,{115,99,37}}, +/* 16662 */ {(16<<2)|3,{115,99,45}}, +/* 16663 */ {(16<<2)|3,{115,99,46}}, +/* 16664 */ {(16<<2)|3,{115,99,47}}, +/* 16665 */ {(16<<2)|3,{115,99,51}}, +/* 16666 */ {(16<<2)|3,{115,99,52}}, +/* 16667 */ {(16<<2)|3,{115,99,53}}, +/* 16668 */ {(16<<2)|3,{115,99,54}}, +/* 16669 */ {(16<<2)|3,{115,99,55}}, +/* 16670 */ {(16<<2)|3,{115,99,56}}, +/* 16671 */ {(16<<2)|3,{115,99,57}}, +/* 16672 */ {(16<<2)|3,{115,99,61}}, +/* 16673 */ {(16<<2)|3,{115,99,65}}, +/* 16674 */ {(16<<2)|3,{115,99,95}}, +/* 16675 */ {(16<<2)|3,{115,99,98}}, +/* 16676 */ {(16<<2)|3,{115,99,100}}, +/* 16677 */ {(16<<2)|3,{115,99,102}}, +/* 16678 */ {(16<<2)|3,{115,99,103}}, +/* 16679 */ {(16<<2)|3,{115,99,104}}, +/* 16680 */ {(16<<2)|3,{115,99,108}}, +/* 16681 */ {(16<<2)|3,{115,99,109}}, +/* 16682 */ {(16<<2)|3,{115,99,110}}, +/* 16683 */ {(16<<2)|3,{115,99,112}}, +/* 16684 */ {(16<<2)|3,{115,99,114}}, +/* 16685 */ {(16<<2)|3,{115,99,117}}, +/* 16686 */ {(10<<2)|2,{115,99,0}}, +/* 16687 */ {(10<<2)|2,{115,99,0}}, +/* 16688 */ {(10<<2)|2,{115,99,0}}, +/* 16689 */ {(10<<2)|2,{115,99,0}}, +/* 16690 */ {(10<<2)|2,{115,99,0}}, +/* 16691 */ {(10<<2)|2,{115,99,0}}, +/* 16692 */ {(10<<2)|2,{115,99,0}}, +/* 16693 */ {(10<<2)|2,{115,99,0}}, +/* 16694 */ {(10<<2)|2,{115,99,0}}, +/* 16695 */ {(10<<2)|2,{115,99,0}}, +/* 16696 */ {(10<<2)|2,{115,99,0}}, +/* 16697 */ {(10<<2)|2,{115,99,0}}, +/* 16698 */ {(10<<2)|2,{115,99,0}}, +/* 16699 */ {(10<<2)|2,{115,99,0}}, +/* 16700 */ {(10<<2)|2,{115,99,0}}, +/* 16701 */ {(10<<2)|2,{115,99,0}}, +/* 16702 */ {(10<<2)|2,{115,99,0}}, +/* 16703 */ {(10<<2)|2,{115,99,0}}, +/* 16704 */ {(15<<2)|3,{115,101,48}}, +/* 16705 */ {(15<<2)|3,{115,101,48}}, +/* 16706 */ {(15<<2)|3,{115,101,49}}, +/* 16707 */ {(15<<2)|3,{115,101,49}}, +/* 16708 */ {(15<<2)|3,{115,101,50}}, +/* 16709 */ {(15<<2)|3,{115,101,50}}, +/* 16710 */ {(15<<2)|3,{115,101,97}}, +/* 16711 */ {(15<<2)|3,{115,101,97}}, +/* 16712 */ {(15<<2)|3,{115,101,99}}, +/* 16713 */ {(15<<2)|3,{115,101,99}}, +/* 16714 */ {(15<<2)|3,{115,101,101}}, +/* 16715 */ {(15<<2)|3,{115,101,101}}, +/* 16716 */ {(15<<2)|3,{115,101,105}}, +/* 16717 */ {(15<<2)|3,{115,101,105}}, +/* 16718 */ {(15<<2)|3,{115,101,111}}, +/* 16719 */ {(15<<2)|3,{115,101,111}}, +/* 16720 */ {(15<<2)|3,{115,101,115}}, +/* 16721 */ {(15<<2)|3,{115,101,115}}, +/* 16722 */ {(15<<2)|3,{115,101,116}}, +/* 16723 */ {(15<<2)|3,{115,101,116}}, +/* 16724 */ {(16<<2)|3,{115,101,32}}, +/* 16725 */ {(16<<2)|3,{115,101,37}}, +/* 16726 */ {(16<<2)|3,{115,101,45}}, +/* 16727 */ {(16<<2)|3,{115,101,46}}, +/* 16728 */ {(16<<2)|3,{115,101,47}}, +/* 16729 */ {(16<<2)|3,{115,101,51}}, +/* 16730 */ {(16<<2)|3,{115,101,52}}, +/* 16731 */ {(16<<2)|3,{115,101,53}}, +/* 16732 */ {(16<<2)|3,{115,101,54}}, +/* 16733 */ {(16<<2)|3,{115,101,55}}, +/* 16734 */ {(16<<2)|3,{115,101,56}}, +/* 16735 */ {(16<<2)|3,{115,101,57}}, +/* 16736 */ {(16<<2)|3,{115,101,61}}, +/* 16737 */ {(16<<2)|3,{115,101,65}}, +/* 16738 */ {(16<<2)|3,{115,101,95}}, +/* 16739 */ {(16<<2)|3,{115,101,98}}, +/* 16740 */ {(16<<2)|3,{115,101,100}}, +/* 16741 */ {(16<<2)|3,{115,101,102}}, +/* 16742 */ {(16<<2)|3,{115,101,103}}, +/* 16743 */ {(16<<2)|3,{115,101,104}}, +/* 16744 */ {(16<<2)|3,{115,101,108}}, +/* 16745 */ {(16<<2)|3,{115,101,109}}, +/* 16746 */ {(16<<2)|3,{115,101,110}}, +/* 16747 */ {(16<<2)|3,{115,101,112}}, +/* 16748 */ {(16<<2)|3,{115,101,114}}, +/* 16749 */ {(16<<2)|3,{115,101,117}}, +/* 16750 */ {(10<<2)|2,{115,101,0}}, +/* 16751 */ {(10<<2)|2,{115,101,0}}, +/* 16752 */ {(10<<2)|2,{115,101,0}}, +/* 16753 */ {(10<<2)|2,{115,101,0}}, +/* 16754 */ {(10<<2)|2,{115,101,0}}, +/* 16755 */ {(10<<2)|2,{115,101,0}}, +/* 16756 */ {(10<<2)|2,{115,101,0}}, +/* 16757 */ {(10<<2)|2,{115,101,0}}, +/* 16758 */ {(10<<2)|2,{115,101,0}}, +/* 16759 */ {(10<<2)|2,{115,101,0}}, +/* 16760 */ {(10<<2)|2,{115,101,0}}, +/* 16761 */ {(10<<2)|2,{115,101,0}}, +/* 16762 */ {(10<<2)|2,{115,101,0}}, +/* 16763 */ {(10<<2)|2,{115,101,0}}, +/* 16764 */ {(10<<2)|2,{115,101,0}}, +/* 16765 */ {(10<<2)|2,{115,101,0}}, +/* 16766 */ {(10<<2)|2,{115,101,0}}, +/* 16767 */ {(10<<2)|2,{115,101,0}}, +/* 16768 */ {(15<<2)|3,{115,105,48}}, +/* 16769 */ {(15<<2)|3,{115,105,48}}, +/* 16770 */ {(15<<2)|3,{115,105,49}}, +/* 16771 */ {(15<<2)|3,{115,105,49}}, +/* 16772 */ {(15<<2)|3,{115,105,50}}, +/* 16773 */ {(15<<2)|3,{115,105,50}}, +/* 16774 */ {(15<<2)|3,{115,105,97}}, +/* 16775 */ {(15<<2)|3,{115,105,97}}, +/* 16776 */ {(15<<2)|3,{115,105,99}}, +/* 16777 */ {(15<<2)|3,{115,105,99}}, +/* 16778 */ {(15<<2)|3,{115,105,101}}, +/* 16779 */ {(15<<2)|3,{115,105,101}}, +/* 16780 */ {(15<<2)|3,{115,105,105}}, +/* 16781 */ {(15<<2)|3,{115,105,105}}, +/* 16782 */ {(15<<2)|3,{115,105,111}}, +/* 16783 */ {(15<<2)|3,{115,105,111}}, +/* 16784 */ {(15<<2)|3,{115,105,115}}, +/* 16785 */ {(15<<2)|3,{115,105,115}}, +/* 16786 */ {(15<<2)|3,{115,105,116}}, +/* 16787 */ {(15<<2)|3,{115,105,116}}, +/* 16788 */ {(16<<2)|3,{115,105,32}}, +/* 16789 */ {(16<<2)|3,{115,105,37}}, +/* 16790 */ {(16<<2)|3,{115,105,45}}, +/* 16791 */ {(16<<2)|3,{115,105,46}}, +/* 16792 */ {(16<<2)|3,{115,105,47}}, +/* 16793 */ {(16<<2)|3,{115,105,51}}, +/* 16794 */ {(16<<2)|3,{115,105,52}}, +/* 16795 */ {(16<<2)|3,{115,105,53}}, +/* 16796 */ {(16<<2)|3,{115,105,54}}, +/* 16797 */ {(16<<2)|3,{115,105,55}}, +/* 16798 */ {(16<<2)|3,{115,105,56}}, +/* 16799 */ {(16<<2)|3,{115,105,57}}, +/* 16800 */ {(16<<2)|3,{115,105,61}}, +/* 16801 */ {(16<<2)|3,{115,105,65}}, +/* 16802 */ {(16<<2)|3,{115,105,95}}, +/* 16803 */ {(16<<2)|3,{115,105,98}}, +/* 16804 */ {(16<<2)|3,{115,105,100}}, +/* 16805 */ {(16<<2)|3,{115,105,102}}, +/* 16806 */ {(16<<2)|3,{115,105,103}}, +/* 16807 */ {(16<<2)|3,{115,105,104}}, +/* 16808 */ {(16<<2)|3,{115,105,108}}, +/* 16809 */ {(16<<2)|3,{115,105,109}}, +/* 16810 */ {(16<<2)|3,{115,105,110}}, +/* 16811 */ {(16<<2)|3,{115,105,112}}, +/* 16812 */ {(16<<2)|3,{115,105,114}}, +/* 16813 */ {(16<<2)|3,{115,105,117}}, +/* 16814 */ {(10<<2)|2,{115,105,0}}, +/* 16815 */ {(10<<2)|2,{115,105,0}}, +/* 16816 */ {(10<<2)|2,{115,105,0}}, +/* 16817 */ {(10<<2)|2,{115,105,0}}, +/* 16818 */ {(10<<2)|2,{115,105,0}}, +/* 16819 */ {(10<<2)|2,{115,105,0}}, +/* 16820 */ {(10<<2)|2,{115,105,0}}, +/* 16821 */ {(10<<2)|2,{115,105,0}}, +/* 16822 */ {(10<<2)|2,{115,105,0}}, +/* 16823 */ {(10<<2)|2,{115,105,0}}, +/* 16824 */ {(10<<2)|2,{115,105,0}}, +/* 16825 */ {(10<<2)|2,{115,105,0}}, +/* 16826 */ {(10<<2)|2,{115,105,0}}, +/* 16827 */ {(10<<2)|2,{115,105,0}}, +/* 16828 */ {(10<<2)|2,{115,105,0}}, +/* 16829 */ {(10<<2)|2,{115,105,0}}, +/* 16830 */ {(10<<2)|2,{115,105,0}}, +/* 16831 */ {(10<<2)|2,{115,105,0}}, +/* 16832 */ {(15<<2)|3,{115,111,48}}, +/* 16833 */ {(15<<2)|3,{115,111,48}}, +/* 16834 */ {(15<<2)|3,{115,111,49}}, +/* 16835 */ {(15<<2)|3,{115,111,49}}, +/* 16836 */ {(15<<2)|3,{115,111,50}}, +/* 16837 */ {(15<<2)|3,{115,111,50}}, +/* 16838 */ {(15<<2)|3,{115,111,97}}, +/* 16839 */ {(15<<2)|3,{115,111,97}}, +/* 16840 */ {(15<<2)|3,{115,111,99}}, +/* 16841 */ {(15<<2)|3,{115,111,99}}, +/* 16842 */ {(15<<2)|3,{115,111,101}}, +/* 16843 */ {(15<<2)|3,{115,111,101}}, +/* 16844 */ {(15<<2)|3,{115,111,105}}, +/* 16845 */ {(15<<2)|3,{115,111,105}}, +/* 16846 */ {(15<<2)|3,{115,111,111}}, +/* 16847 */ {(15<<2)|3,{115,111,111}}, +/* 16848 */ {(15<<2)|3,{115,111,115}}, +/* 16849 */ {(15<<2)|3,{115,111,115}}, +/* 16850 */ {(15<<2)|3,{115,111,116}}, +/* 16851 */ {(15<<2)|3,{115,111,116}}, +/* 16852 */ {(16<<2)|3,{115,111,32}}, +/* 16853 */ {(16<<2)|3,{115,111,37}}, +/* 16854 */ {(16<<2)|3,{115,111,45}}, +/* 16855 */ {(16<<2)|3,{115,111,46}}, +/* 16856 */ {(16<<2)|3,{115,111,47}}, +/* 16857 */ {(16<<2)|3,{115,111,51}}, +/* 16858 */ {(16<<2)|3,{115,111,52}}, +/* 16859 */ {(16<<2)|3,{115,111,53}}, +/* 16860 */ {(16<<2)|3,{115,111,54}}, +/* 16861 */ {(16<<2)|3,{115,111,55}}, +/* 16862 */ {(16<<2)|3,{115,111,56}}, +/* 16863 */ {(16<<2)|3,{115,111,57}}, +/* 16864 */ {(16<<2)|3,{115,111,61}}, +/* 16865 */ {(16<<2)|3,{115,111,65}}, +/* 16866 */ {(16<<2)|3,{115,111,95}}, +/* 16867 */ {(16<<2)|3,{115,111,98}}, +/* 16868 */ {(16<<2)|3,{115,111,100}}, +/* 16869 */ {(16<<2)|3,{115,111,102}}, +/* 16870 */ {(16<<2)|3,{115,111,103}}, +/* 16871 */ {(16<<2)|3,{115,111,104}}, +/* 16872 */ {(16<<2)|3,{115,111,108}}, +/* 16873 */ {(16<<2)|3,{115,111,109}}, +/* 16874 */ {(16<<2)|3,{115,111,110}}, +/* 16875 */ {(16<<2)|3,{115,111,112}}, +/* 16876 */ {(16<<2)|3,{115,111,114}}, +/* 16877 */ {(16<<2)|3,{115,111,117}}, +/* 16878 */ {(10<<2)|2,{115,111,0}}, +/* 16879 */ {(10<<2)|2,{115,111,0}}, +/* 16880 */ {(10<<2)|2,{115,111,0}}, +/* 16881 */ {(10<<2)|2,{115,111,0}}, +/* 16882 */ {(10<<2)|2,{115,111,0}}, +/* 16883 */ {(10<<2)|2,{115,111,0}}, +/* 16884 */ {(10<<2)|2,{115,111,0}}, +/* 16885 */ {(10<<2)|2,{115,111,0}}, +/* 16886 */ {(10<<2)|2,{115,111,0}}, +/* 16887 */ {(10<<2)|2,{115,111,0}}, +/* 16888 */ {(10<<2)|2,{115,111,0}}, +/* 16889 */ {(10<<2)|2,{115,111,0}}, +/* 16890 */ {(10<<2)|2,{115,111,0}}, +/* 16891 */ {(10<<2)|2,{115,111,0}}, +/* 16892 */ {(10<<2)|2,{115,111,0}}, +/* 16893 */ {(10<<2)|2,{115,111,0}}, +/* 16894 */ {(10<<2)|2,{115,111,0}}, +/* 16895 */ {(10<<2)|2,{115,111,0}}, +/* 16896 */ {(15<<2)|3,{115,115,48}}, +/* 16897 */ {(15<<2)|3,{115,115,48}}, +/* 16898 */ {(15<<2)|3,{115,115,49}}, +/* 16899 */ {(15<<2)|3,{115,115,49}}, +/* 16900 */ {(15<<2)|3,{115,115,50}}, +/* 16901 */ {(15<<2)|3,{115,115,50}}, +/* 16902 */ {(15<<2)|3,{115,115,97}}, +/* 16903 */ {(15<<2)|3,{115,115,97}}, +/* 16904 */ {(15<<2)|3,{115,115,99}}, +/* 16905 */ {(15<<2)|3,{115,115,99}}, +/* 16906 */ {(15<<2)|3,{115,115,101}}, +/* 16907 */ {(15<<2)|3,{115,115,101}}, +/* 16908 */ {(15<<2)|3,{115,115,105}}, +/* 16909 */ {(15<<2)|3,{115,115,105}}, +/* 16910 */ {(15<<2)|3,{115,115,111}}, +/* 16911 */ {(15<<2)|3,{115,115,111}}, +/* 16912 */ {(15<<2)|3,{115,115,115}}, +/* 16913 */ {(15<<2)|3,{115,115,115}}, +/* 16914 */ {(15<<2)|3,{115,115,116}}, +/* 16915 */ {(15<<2)|3,{115,115,116}}, +/* 16916 */ {(16<<2)|3,{115,115,32}}, +/* 16917 */ {(16<<2)|3,{115,115,37}}, +/* 16918 */ {(16<<2)|3,{115,115,45}}, +/* 16919 */ {(16<<2)|3,{115,115,46}}, +/* 16920 */ {(16<<2)|3,{115,115,47}}, +/* 16921 */ {(16<<2)|3,{115,115,51}}, +/* 16922 */ {(16<<2)|3,{115,115,52}}, +/* 16923 */ {(16<<2)|3,{115,115,53}}, +/* 16924 */ {(16<<2)|3,{115,115,54}}, +/* 16925 */ {(16<<2)|3,{115,115,55}}, +/* 16926 */ {(16<<2)|3,{115,115,56}}, +/* 16927 */ {(16<<2)|3,{115,115,57}}, +/* 16928 */ {(16<<2)|3,{115,115,61}}, +/* 16929 */ {(16<<2)|3,{115,115,65}}, +/* 16930 */ {(16<<2)|3,{115,115,95}}, +/* 16931 */ {(16<<2)|3,{115,115,98}}, +/* 16932 */ {(16<<2)|3,{115,115,100}}, +/* 16933 */ {(16<<2)|3,{115,115,102}}, +/* 16934 */ {(16<<2)|3,{115,115,103}}, +/* 16935 */ {(16<<2)|3,{115,115,104}}, +/* 16936 */ {(16<<2)|3,{115,115,108}}, +/* 16937 */ {(16<<2)|3,{115,115,109}}, +/* 16938 */ {(16<<2)|3,{115,115,110}}, +/* 16939 */ {(16<<2)|3,{115,115,112}}, +/* 16940 */ {(16<<2)|3,{115,115,114}}, +/* 16941 */ {(16<<2)|3,{115,115,117}}, +/* 16942 */ {(10<<2)|2,{115,115,0}}, +/* 16943 */ {(10<<2)|2,{115,115,0}}, +/* 16944 */ {(10<<2)|2,{115,115,0}}, +/* 16945 */ {(10<<2)|2,{115,115,0}}, +/* 16946 */ {(10<<2)|2,{115,115,0}}, +/* 16947 */ {(10<<2)|2,{115,115,0}}, +/* 16948 */ {(10<<2)|2,{115,115,0}}, +/* 16949 */ {(10<<2)|2,{115,115,0}}, +/* 16950 */ {(10<<2)|2,{115,115,0}}, +/* 16951 */ {(10<<2)|2,{115,115,0}}, +/* 16952 */ {(10<<2)|2,{115,115,0}}, +/* 16953 */ {(10<<2)|2,{115,115,0}}, +/* 16954 */ {(10<<2)|2,{115,115,0}}, +/* 16955 */ {(10<<2)|2,{115,115,0}}, +/* 16956 */ {(10<<2)|2,{115,115,0}}, +/* 16957 */ {(10<<2)|2,{115,115,0}}, +/* 16958 */ {(10<<2)|2,{115,115,0}}, +/* 16959 */ {(10<<2)|2,{115,115,0}}, +/* 16960 */ {(15<<2)|3,{115,116,48}}, +/* 16961 */ {(15<<2)|3,{115,116,48}}, +/* 16962 */ {(15<<2)|3,{115,116,49}}, +/* 16963 */ {(15<<2)|3,{115,116,49}}, +/* 16964 */ {(15<<2)|3,{115,116,50}}, +/* 16965 */ {(15<<2)|3,{115,116,50}}, +/* 16966 */ {(15<<2)|3,{115,116,97}}, +/* 16967 */ {(15<<2)|3,{115,116,97}}, +/* 16968 */ {(15<<2)|3,{115,116,99}}, +/* 16969 */ {(15<<2)|3,{115,116,99}}, +/* 16970 */ {(15<<2)|3,{115,116,101}}, +/* 16971 */ {(15<<2)|3,{115,116,101}}, +/* 16972 */ {(15<<2)|3,{115,116,105}}, +/* 16973 */ {(15<<2)|3,{115,116,105}}, +/* 16974 */ {(15<<2)|3,{115,116,111}}, +/* 16975 */ {(15<<2)|3,{115,116,111}}, +/* 16976 */ {(15<<2)|3,{115,116,115}}, +/* 16977 */ {(15<<2)|3,{115,116,115}}, +/* 16978 */ {(15<<2)|3,{115,116,116}}, +/* 16979 */ {(15<<2)|3,{115,116,116}}, +/* 16980 */ {(16<<2)|3,{115,116,32}}, +/* 16981 */ {(16<<2)|3,{115,116,37}}, +/* 16982 */ {(16<<2)|3,{115,116,45}}, +/* 16983 */ {(16<<2)|3,{115,116,46}}, +/* 16984 */ {(16<<2)|3,{115,116,47}}, +/* 16985 */ {(16<<2)|3,{115,116,51}}, +/* 16986 */ {(16<<2)|3,{115,116,52}}, +/* 16987 */ {(16<<2)|3,{115,116,53}}, +/* 16988 */ {(16<<2)|3,{115,116,54}}, +/* 16989 */ {(16<<2)|3,{115,116,55}}, +/* 16990 */ {(16<<2)|3,{115,116,56}}, +/* 16991 */ {(16<<2)|3,{115,116,57}}, +/* 16992 */ {(16<<2)|3,{115,116,61}}, +/* 16993 */ {(16<<2)|3,{115,116,65}}, +/* 16994 */ {(16<<2)|3,{115,116,95}}, +/* 16995 */ {(16<<2)|3,{115,116,98}}, +/* 16996 */ {(16<<2)|3,{115,116,100}}, +/* 16997 */ {(16<<2)|3,{115,116,102}}, +/* 16998 */ {(16<<2)|3,{115,116,103}}, +/* 16999 */ {(16<<2)|3,{115,116,104}}, +/* 17000 */ {(16<<2)|3,{115,116,108}}, +/* 17001 */ {(16<<2)|3,{115,116,109}}, +/* 17002 */ {(16<<2)|3,{115,116,110}}, +/* 17003 */ {(16<<2)|3,{115,116,112}}, +/* 17004 */ {(16<<2)|3,{115,116,114}}, +/* 17005 */ {(16<<2)|3,{115,116,117}}, +/* 17006 */ {(10<<2)|2,{115,116,0}}, +/* 17007 */ {(10<<2)|2,{115,116,0}}, +/* 17008 */ {(10<<2)|2,{115,116,0}}, +/* 17009 */ {(10<<2)|2,{115,116,0}}, +/* 17010 */ {(10<<2)|2,{115,116,0}}, +/* 17011 */ {(10<<2)|2,{115,116,0}}, +/* 17012 */ {(10<<2)|2,{115,116,0}}, +/* 17013 */ {(10<<2)|2,{115,116,0}}, +/* 17014 */ {(10<<2)|2,{115,116,0}}, +/* 17015 */ {(10<<2)|2,{115,116,0}}, +/* 17016 */ {(10<<2)|2,{115,116,0}}, +/* 17017 */ {(10<<2)|2,{115,116,0}}, +/* 17018 */ {(10<<2)|2,{115,116,0}}, +/* 17019 */ {(10<<2)|2,{115,116,0}}, +/* 17020 */ {(10<<2)|2,{115,116,0}}, +/* 17021 */ {(10<<2)|2,{115,116,0}}, +/* 17022 */ {(10<<2)|2,{115,116,0}}, +/* 17023 */ {(10<<2)|2,{115,116,0}}, +/* 17024 */ {(16<<2)|3,{115,32,48}}, +/* 17025 */ {(16<<2)|3,{115,32,49}}, +/* 17026 */ {(16<<2)|3,{115,32,50}}, +/* 17027 */ {(16<<2)|3,{115,32,97}}, +/* 17028 */ {(16<<2)|3,{115,32,99}}, +/* 17029 */ {(16<<2)|3,{115,32,101}}, +/* 17030 */ {(16<<2)|3,{115,32,105}}, +/* 17031 */ {(16<<2)|3,{115,32,111}}, +/* 17032 */ {(16<<2)|3,{115,32,115}}, +/* 17033 */ {(16<<2)|3,{115,32,116}}, +/* 17034 */ {(11<<2)|2,{115,32,0}}, +/* 17035 */ {(11<<2)|2,{115,32,0}}, +/* 17036 */ {(11<<2)|2,{115,32,0}}, +/* 17037 */ {(11<<2)|2,{115,32,0}}, +/* 17038 */ {(11<<2)|2,{115,32,0}}, +/* 17039 */ {(11<<2)|2,{115,32,0}}, +/* 17040 */ {(11<<2)|2,{115,32,0}}, +/* 17041 */ {(11<<2)|2,{115,32,0}}, +/* 17042 */ {(11<<2)|2,{115,32,0}}, +/* 17043 */ {(11<<2)|2,{115,32,0}}, +/* 17044 */ {(11<<2)|2,{115,32,0}}, +/* 17045 */ {(11<<2)|2,{115,32,0}}, +/* 17046 */ {(11<<2)|2,{115,32,0}}, +/* 17047 */ {(11<<2)|2,{115,32,0}}, +/* 17048 */ {(11<<2)|2,{115,32,0}}, +/* 17049 */ {(11<<2)|2,{115,32,0}}, +/* 17050 */ {(11<<2)|2,{115,32,0}}, +/* 17051 */ {(11<<2)|2,{115,32,0}}, +/* 17052 */ {(11<<2)|2,{115,32,0}}, +/* 17053 */ {(11<<2)|2,{115,32,0}}, +/* 17054 */ {(11<<2)|2,{115,32,0}}, +/* 17055 */ {(11<<2)|2,{115,32,0}}, +/* 17056 */ {(16<<2)|3,{115,37,48}}, +/* 17057 */ {(16<<2)|3,{115,37,49}}, +/* 17058 */ {(16<<2)|3,{115,37,50}}, +/* 17059 */ {(16<<2)|3,{115,37,97}}, +/* 17060 */ {(16<<2)|3,{115,37,99}}, +/* 17061 */ {(16<<2)|3,{115,37,101}}, +/* 17062 */ {(16<<2)|3,{115,37,105}}, +/* 17063 */ {(16<<2)|3,{115,37,111}}, +/* 17064 */ {(16<<2)|3,{115,37,115}}, +/* 17065 */ {(16<<2)|3,{115,37,116}}, +/* 17066 */ {(11<<2)|2,{115,37,0}}, +/* 17067 */ {(11<<2)|2,{115,37,0}}, +/* 17068 */ {(11<<2)|2,{115,37,0}}, +/* 17069 */ {(11<<2)|2,{115,37,0}}, +/* 17070 */ {(11<<2)|2,{115,37,0}}, +/* 17071 */ {(11<<2)|2,{115,37,0}}, +/* 17072 */ {(11<<2)|2,{115,37,0}}, +/* 17073 */ {(11<<2)|2,{115,37,0}}, +/* 17074 */ {(11<<2)|2,{115,37,0}}, +/* 17075 */ {(11<<2)|2,{115,37,0}}, +/* 17076 */ {(11<<2)|2,{115,37,0}}, +/* 17077 */ {(11<<2)|2,{115,37,0}}, +/* 17078 */ {(11<<2)|2,{115,37,0}}, +/* 17079 */ {(11<<2)|2,{115,37,0}}, +/* 17080 */ {(11<<2)|2,{115,37,0}}, +/* 17081 */ {(11<<2)|2,{115,37,0}}, +/* 17082 */ {(11<<2)|2,{115,37,0}}, +/* 17083 */ {(11<<2)|2,{115,37,0}}, +/* 17084 */ {(11<<2)|2,{115,37,0}}, +/* 17085 */ {(11<<2)|2,{115,37,0}}, +/* 17086 */ {(11<<2)|2,{115,37,0}}, +/* 17087 */ {(11<<2)|2,{115,37,0}}, +/* 17088 */ {(16<<2)|3,{115,45,48}}, +/* 17089 */ {(16<<2)|3,{115,45,49}}, +/* 17090 */ {(16<<2)|3,{115,45,50}}, +/* 17091 */ {(16<<2)|3,{115,45,97}}, +/* 17092 */ {(16<<2)|3,{115,45,99}}, +/* 17093 */ {(16<<2)|3,{115,45,101}}, +/* 17094 */ {(16<<2)|3,{115,45,105}}, +/* 17095 */ {(16<<2)|3,{115,45,111}}, +/* 17096 */ {(16<<2)|3,{115,45,115}}, +/* 17097 */ {(16<<2)|3,{115,45,116}}, +/* 17098 */ {(11<<2)|2,{115,45,0}}, +/* 17099 */ {(11<<2)|2,{115,45,0}}, +/* 17100 */ {(11<<2)|2,{115,45,0}}, +/* 17101 */ {(11<<2)|2,{115,45,0}}, +/* 17102 */ {(11<<2)|2,{115,45,0}}, +/* 17103 */ {(11<<2)|2,{115,45,0}}, +/* 17104 */ {(11<<2)|2,{115,45,0}}, +/* 17105 */ {(11<<2)|2,{115,45,0}}, +/* 17106 */ {(11<<2)|2,{115,45,0}}, +/* 17107 */ {(11<<2)|2,{115,45,0}}, +/* 17108 */ {(11<<2)|2,{115,45,0}}, +/* 17109 */ {(11<<2)|2,{115,45,0}}, +/* 17110 */ {(11<<2)|2,{115,45,0}}, +/* 17111 */ {(11<<2)|2,{115,45,0}}, +/* 17112 */ {(11<<2)|2,{115,45,0}}, +/* 17113 */ {(11<<2)|2,{115,45,0}}, +/* 17114 */ {(11<<2)|2,{115,45,0}}, +/* 17115 */ {(11<<2)|2,{115,45,0}}, +/* 17116 */ {(11<<2)|2,{115,45,0}}, +/* 17117 */ {(11<<2)|2,{115,45,0}}, +/* 17118 */ {(11<<2)|2,{115,45,0}}, +/* 17119 */ {(11<<2)|2,{115,45,0}}, +/* 17120 */ {(16<<2)|3,{115,46,48}}, +/* 17121 */ {(16<<2)|3,{115,46,49}}, +/* 17122 */ {(16<<2)|3,{115,46,50}}, +/* 17123 */ {(16<<2)|3,{115,46,97}}, +/* 17124 */ {(16<<2)|3,{115,46,99}}, +/* 17125 */ {(16<<2)|3,{115,46,101}}, +/* 17126 */ {(16<<2)|3,{115,46,105}}, +/* 17127 */ {(16<<2)|3,{115,46,111}}, +/* 17128 */ {(16<<2)|3,{115,46,115}}, +/* 17129 */ {(16<<2)|3,{115,46,116}}, +/* 17130 */ {(11<<2)|2,{115,46,0}}, +/* 17131 */ {(11<<2)|2,{115,46,0}}, +/* 17132 */ {(11<<2)|2,{115,46,0}}, +/* 17133 */ {(11<<2)|2,{115,46,0}}, +/* 17134 */ {(11<<2)|2,{115,46,0}}, +/* 17135 */ {(11<<2)|2,{115,46,0}}, +/* 17136 */ {(11<<2)|2,{115,46,0}}, +/* 17137 */ {(11<<2)|2,{115,46,0}}, +/* 17138 */ {(11<<2)|2,{115,46,0}}, +/* 17139 */ {(11<<2)|2,{115,46,0}}, +/* 17140 */ {(11<<2)|2,{115,46,0}}, +/* 17141 */ {(11<<2)|2,{115,46,0}}, +/* 17142 */ {(11<<2)|2,{115,46,0}}, +/* 17143 */ {(11<<2)|2,{115,46,0}}, +/* 17144 */ {(11<<2)|2,{115,46,0}}, +/* 17145 */ {(11<<2)|2,{115,46,0}}, +/* 17146 */ {(11<<2)|2,{115,46,0}}, +/* 17147 */ {(11<<2)|2,{115,46,0}}, +/* 17148 */ {(11<<2)|2,{115,46,0}}, +/* 17149 */ {(11<<2)|2,{115,46,0}}, +/* 17150 */ {(11<<2)|2,{115,46,0}}, +/* 17151 */ {(11<<2)|2,{115,46,0}}, +/* 17152 */ {(16<<2)|3,{115,47,48}}, +/* 17153 */ {(16<<2)|3,{115,47,49}}, +/* 17154 */ {(16<<2)|3,{115,47,50}}, +/* 17155 */ {(16<<2)|3,{115,47,97}}, +/* 17156 */ {(16<<2)|3,{115,47,99}}, +/* 17157 */ {(16<<2)|3,{115,47,101}}, +/* 17158 */ {(16<<2)|3,{115,47,105}}, +/* 17159 */ {(16<<2)|3,{115,47,111}}, +/* 17160 */ {(16<<2)|3,{115,47,115}}, +/* 17161 */ {(16<<2)|3,{115,47,116}}, +/* 17162 */ {(11<<2)|2,{115,47,0}}, +/* 17163 */ {(11<<2)|2,{115,47,0}}, +/* 17164 */ {(11<<2)|2,{115,47,0}}, +/* 17165 */ {(11<<2)|2,{115,47,0}}, +/* 17166 */ {(11<<2)|2,{115,47,0}}, +/* 17167 */ {(11<<2)|2,{115,47,0}}, +/* 17168 */ {(11<<2)|2,{115,47,0}}, +/* 17169 */ {(11<<2)|2,{115,47,0}}, +/* 17170 */ {(11<<2)|2,{115,47,0}}, +/* 17171 */ {(11<<2)|2,{115,47,0}}, +/* 17172 */ {(11<<2)|2,{115,47,0}}, +/* 17173 */ {(11<<2)|2,{115,47,0}}, +/* 17174 */ {(11<<2)|2,{115,47,0}}, +/* 17175 */ {(11<<2)|2,{115,47,0}}, +/* 17176 */ {(11<<2)|2,{115,47,0}}, +/* 17177 */ {(11<<2)|2,{115,47,0}}, +/* 17178 */ {(11<<2)|2,{115,47,0}}, +/* 17179 */ {(11<<2)|2,{115,47,0}}, +/* 17180 */ {(11<<2)|2,{115,47,0}}, +/* 17181 */ {(11<<2)|2,{115,47,0}}, +/* 17182 */ {(11<<2)|2,{115,47,0}}, +/* 17183 */ {(11<<2)|2,{115,47,0}}, +/* 17184 */ {(16<<2)|3,{115,51,48}}, +/* 17185 */ {(16<<2)|3,{115,51,49}}, +/* 17186 */ {(16<<2)|3,{115,51,50}}, +/* 17187 */ {(16<<2)|3,{115,51,97}}, +/* 17188 */ {(16<<2)|3,{115,51,99}}, +/* 17189 */ {(16<<2)|3,{115,51,101}}, +/* 17190 */ {(16<<2)|3,{115,51,105}}, +/* 17191 */ {(16<<2)|3,{115,51,111}}, +/* 17192 */ {(16<<2)|3,{115,51,115}}, +/* 17193 */ {(16<<2)|3,{115,51,116}}, +/* 17194 */ {(11<<2)|2,{115,51,0}}, +/* 17195 */ {(11<<2)|2,{115,51,0}}, +/* 17196 */ {(11<<2)|2,{115,51,0}}, +/* 17197 */ {(11<<2)|2,{115,51,0}}, +/* 17198 */ {(11<<2)|2,{115,51,0}}, +/* 17199 */ {(11<<2)|2,{115,51,0}}, +/* 17200 */ {(11<<2)|2,{115,51,0}}, +/* 17201 */ {(11<<2)|2,{115,51,0}}, +/* 17202 */ {(11<<2)|2,{115,51,0}}, +/* 17203 */ {(11<<2)|2,{115,51,0}}, +/* 17204 */ {(11<<2)|2,{115,51,0}}, +/* 17205 */ {(11<<2)|2,{115,51,0}}, +/* 17206 */ {(11<<2)|2,{115,51,0}}, +/* 17207 */ {(11<<2)|2,{115,51,0}}, +/* 17208 */ {(11<<2)|2,{115,51,0}}, +/* 17209 */ {(11<<2)|2,{115,51,0}}, +/* 17210 */ {(11<<2)|2,{115,51,0}}, +/* 17211 */ {(11<<2)|2,{115,51,0}}, +/* 17212 */ {(11<<2)|2,{115,51,0}}, +/* 17213 */ {(11<<2)|2,{115,51,0}}, +/* 17214 */ {(11<<2)|2,{115,51,0}}, +/* 17215 */ {(11<<2)|2,{115,51,0}}, +/* 17216 */ {(16<<2)|3,{115,52,48}}, +/* 17217 */ {(16<<2)|3,{115,52,49}}, +/* 17218 */ {(16<<2)|3,{115,52,50}}, +/* 17219 */ {(16<<2)|3,{115,52,97}}, +/* 17220 */ {(16<<2)|3,{115,52,99}}, +/* 17221 */ {(16<<2)|3,{115,52,101}}, +/* 17222 */ {(16<<2)|3,{115,52,105}}, +/* 17223 */ {(16<<2)|3,{115,52,111}}, +/* 17224 */ {(16<<2)|3,{115,52,115}}, +/* 17225 */ {(16<<2)|3,{115,52,116}}, +/* 17226 */ {(11<<2)|2,{115,52,0}}, +/* 17227 */ {(11<<2)|2,{115,52,0}}, +/* 17228 */ {(11<<2)|2,{115,52,0}}, +/* 17229 */ {(11<<2)|2,{115,52,0}}, +/* 17230 */ {(11<<2)|2,{115,52,0}}, +/* 17231 */ {(11<<2)|2,{115,52,0}}, +/* 17232 */ {(11<<2)|2,{115,52,0}}, +/* 17233 */ {(11<<2)|2,{115,52,0}}, +/* 17234 */ {(11<<2)|2,{115,52,0}}, +/* 17235 */ {(11<<2)|2,{115,52,0}}, +/* 17236 */ {(11<<2)|2,{115,52,0}}, +/* 17237 */ {(11<<2)|2,{115,52,0}}, +/* 17238 */ {(11<<2)|2,{115,52,0}}, +/* 17239 */ {(11<<2)|2,{115,52,0}}, +/* 17240 */ {(11<<2)|2,{115,52,0}}, +/* 17241 */ {(11<<2)|2,{115,52,0}}, +/* 17242 */ {(11<<2)|2,{115,52,0}}, +/* 17243 */ {(11<<2)|2,{115,52,0}}, +/* 17244 */ {(11<<2)|2,{115,52,0}}, +/* 17245 */ {(11<<2)|2,{115,52,0}}, +/* 17246 */ {(11<<2)|2,{115,52,0}}, +/* 17247 */ {(11<<2)|2,{115,52,0}}, +/* 17248 */ {(16<<2)|3,{115,53,48}}, +/* 17249 */ {(16<<2)|3,{115,53,49}}, +/* 17250 */ {(16<<2)|3,{115,53,50}}, +/* 17251 */ {(16<<2)|3,{115,53,97}}, +/* 17252 */ {(16<<2)|3,{115,53,99}}, +/* 17253 */ {(16<<2)|3,{115,53,101}}, +/* 17254 */ {(16<<2)|3,{115,53,105}}, +/* 17255 */ {(16<<2)|3,{115,53,111}}, +/* 17256 */ {(16<<2)|3,{115,53,115}}, +/* 17257 */ {(16<<2)|3,{115,53,116}}, +/* 17258 */ {(11<<2)|2,{115,53,0}}, +/* 17259 */ {(11<<2)|2,{115,53,0}}, +/* 17260 */ {(11<<2)|2,{115,53,0}}, +/* 17261 */ {(11<<2)|2,{115,53,0}}, +/* 17262 */ {(11<<2)|2,{115,53,0}}, +/* 17263 */ {(11<<2)|2,{115,53,0}}, +/* 17264 */ {(11<<2)|2,{115,53,0}}, +/* 17265 */ {(11<<2)|2,{115,53,0}}, +/* 17266 */ {(11<<2)|2,{115,53,0}}, +/* 17267 */ {(11<<2)|2,{115,53,0}}, +/* 17268 */ {(11<<2)|2,{115,53,0}}, +/* 17269 */ {(11<<2)|2,{115,53,0}}, +/* 17270 */ {(11<<2)|2,{115,53,0}}, +/* 17271 */ {(11<<2)|2,{115,53,0}}, +/* 17272 */ {(11<<2)|2,{115,53,0}}, +/* 17273 */ {(11<<2)|2,{115,53,0}}, +/* 17274 */ {(11<<2)|2,{115,53,0}}, +/* 17275 */ {(11<<2)|2,{115,53,0}}, +/* 17276 */ {(11<<2)|2,{115,53,0}}, +/* 17277 */ {(11<<2)|2,{115,53,0}}, +/* 17278 */ {(11<<2)|2,{115,53,0}}, +/* 17279 */ {(11<<2)|2,{115,53,0}}, +/* 17280 */ {(16<<2)|3,{115,54,48}}, +/* 17281 */ {(16<<2)|3,{115,54,49}}, +/* 17282 */ {(16<<2)|3,{115,54,50}}, +/* 17283 */ {(16<<2)|3,{115,54,97}}, +/* 17284 */ {(16<<2)|3,{115,54,99}}, +/* 17285 */ {(16<<2)|3,{115,54,101}}, +/* 17286 */ {(16<<2)|3,{115,54,105}}, +/* 17287 */ {(16<<2)|3,{115,54,111}}, +/* 17288 */ {(16<<2)|3,{115,54,115}}, +/* 17289 */ {(16<<2)|3,{115,54,116}}, +/* 17290 */ {(11<<2)|2,{115,54,0}}, +/* 17291 */ {(11<<2)|2,{115,54,0}}, +/* 17292 */ {(11<<2)|2,{115,54,0}}, +/* 17293 */ {(11<<2)|2,{115,54,0}}, +/* 17294 */ {(11<<2)|2,{115,54,0}}, +/* 17295 */ {(11<<2)|2,{115,54,0}}, +/* 17296 */ {(11<<2)|2,{115,54,0}}, +/* 17297 */ {(11<<2)|2,{115,54,0}}, +/* 17298 */ {(11<<2)|2,{115,54,0}}, +/* 17299 */ {(11<<2)|2,{115,54,0}}, +/* 17300 */ {(11<<2)|2,{115,54,0}}, +/* 17301 */ {(11<<2)|2,{115,54,0}}, +/* 17302 */ {(11<<2)|2,{115,54,0}}, +/* 17303 */ {(11<<2)|2,{115,54,0}}, +/* 17304 */ {(11<<2)|2,{115,54,0}}, +/* 17305 */ {(11<<2)|2,{115,54,0}}, +/* 17306 */ {(11<<2)|2,{115,54,0}}, +/* 17307 */ {(11<<2)|2,{115,54,0}}, +/* 17308 */ {(11<<2)|2,{115,54,0}}, +/* 17309 */ {(11<<2)|2,{115,54,0}}, +/* 17310 */ {(11<<2)|2,{115,54,0}}, +/* 17311 */ {(11<<2)|2,{115,54,0}}, +/* 17312 */ {(16<<2)|3,{115,55,48}}, +/* 17313 */ {(16<<2)|3,{115,55,49}}, +/* 17314 */ {(16<<2)|3,{115,55,50}}, +/* 17315 */ {(16<<2)|3,{115,55,97}}, +/* 17316 */ {(16<<2)|3,{115,55,99}}, +/* 17317 */ {(16<<2)|3,{115,55,101}}, +/* 17318 */ {(16<<2)|3,{115,55,105}}, +/* 17319 */ {(16<<2)|3,{115,55,111}}, +/* 17320 */ {(16<<2)|3,{115,55,115}}, +/* 17321 */ {(16<<2)|3,{115,55,116}}, +/* 17322 */ {(11<<2)|2,{115,55,0}}, +/* 17323 */ {(11<<2)|2,{115,55,0}}, +/* 17324 */ {(11<<2)|2,{115,55,0}}, +/* 17325 */ {(11<<2)|2,{115,55,0}}, +/* 17326 */ {(11<<2)|2,{115,55,0}}, +/* 17327 */ {(11<<2)|2,{115,55,0}}, +/* 17328 */ {(11<<2)|2,{115,55,0}}, +/* 17329 */ {(11<<2)|2,{115,55,0}}, +/* 17330 */ {(11<<2)|2,{115,55,0}}, +/* 17331 */ {(11<<2)|2,{115,55,0}}, +/* 17332 */ {(11<<2)|2,{115,55,0}}, +/* 17333 */ {(11<<2)|2,{115,55,0}}, +/* 17334 */ {(11<<2)|2,{115,55,0}}, +/* 17335 */ {(11<<2)|2,{115,55,0}}, +/* 17336 */ {(11<<2)|2,{115,55,0}}, +/* 17337 */ {(11<<2)|2,{115,55,0}}, +/* 17338 */ {(11<<2)|2,{115,55,0}}, +/* 17339 */ {(11<<2)|2,{115,55,0}}, +/* 17340 */ {(11<<2)|2,{115,55,0}}, +/* 17341 */ {(11<<2)|2,{115,55,0}}, +/* 17342 */ {(11<<2)|2,{115,55,0}}, +/* 17343 */ {(11<<2)|2,{115,55,0}}, +/* 17344 */ {(16<<2)|3,{115,56,48}}, +/* 17345 */ {(16<<2)|3,{115,56,49}}, +/* 17346 */ {(16<<2)|3,{115,56,50}}, +/* 17347 */ {(16<<2)|3,{115,56,97}}, +/* 17348 */ {(16<<2)|3,{115,56,99}}, +/* 17349 */ {(16<<2)|3,{115,56,101}}, +/* 17350 */ {(16<<2)|3,{115,56,105}}, +/* 17351 */ {(16<<2)|3,{115,56,111}}, +/* 17352 */ {(16<<2)|3,{115,56,115}}, +/* 17353 */ {(16<<2)|3,{115,56,116}}, +/* 17354 */ {(11<<2)|2,{115,56,0}}, +/* 17355 */ {(11<<2)|2,{115,56,0}}, +/* 17356 */ {(11<<2)|2,{115,56,0}}, +/* 17357 */ {(11<<2)|2,{115,56,0}}, +/* 17358 */ {(11<<2)|2,{115,56,0}}, +/* 17359 */ {(11<<2)|2,{115,56,0}}, +/* 17360 */ {(11<<2)|2,{115,56,0}}, +/* 17361 */ {(11<<2)|2,{115,56,0}}, +/* 17362 */ {(11<<2)|2,{115,56,0}}, +/* 17363 */ {(11<<2)|2,{115,56,0}}, +/* 17364 */ {(11<<2)|2,{115,56,0}}, +/* 17365 */ {(11<<2)|2,{115,56,0}}, +/* 17366 */ {(11<<2)|2,{115,56,0}}, +/* 17367 */ {(11<<2)|2,{115,56,0}}, +/* 17368 */ {(11<<2)|2,{115,56,0}}, +/* 17369 */ {(11<<2)|2,{115,56,0}}, +/* 17370 */ {(11<<2)|2,{115,56,0}}, +/* 17371 */ {(11<<2)|2,{115,56,0}}, +/* 17372 */ {(11<<2)|2,{115,56,0}}, +/* 17373 */ {(11<<2)|2,{115,56,0}}, +/* 17374 */ {(11<<2)|2,{115,56,0}}, +/* 17375 */ {(11<<2)|2,{115,56,0}}, +/* 17376 */ {(16<<2)|3,{115,57,48}}, +/* 17377 */ {(16<<2)|3,{115,57,49}}, +/* 17378 */ {(16<<2)|3,{115,57,50}}, +/* 17379 */ {(16<<2)|3,{115,57,97}}, +/* 17380 */ {(16<<2)|3,{115,57,99}}, +/* 17381 */ {(16<<2)|3,{115,57,101}}, +/* 17382 */ {(16<<2)|3,{115,57,105}}, +/* 17383 */ {(16<<2)|3,{115,57,111}}, +/* 17384 */ {(16<<2)|3,{115,57,115}}, +/* 17385 */ {(16<<2)|3,{115,57,116}}, +/* 17386 */ {(11<<2)|2,{115,57,0}}, +/* 17387 */ {(11<<2)|2,{115,57,0}}, +/* 17388 */ {(11<<2)|2,{115,57,0}}, +/* 17389 */ {(11<<2)|2,{115,57,0}}, +/* 17390 */ {(11<<2)|2,{115,57,0}}, +/* 17391 */ {(11<<2)|2,{115,57,0}}, +/* 17392 */ {(11<<2)|2,{115,57,0}}, +/* 17393 */ {(11<<2)|2,{115,57,0}}, +/* 17394 */ {(11<<2)|2,{115,57,0}}, +/* 17395 */ {(11<<2)|2,{115,57,0}}, +/* 17396 */ {(11<<2)|2,{115,57,0}}, +/* 17397 */ {(11<<2)|2,{115,57,0}}, +/* 17398 */ {(11<<2)|2,{115,57,0}}, +/* 17399 */ {(11<<2)|2,{115,57,0}}, +/* 17400 */ {(11<<2)|2,{115,57,0}}, +/* 17401 */ {(11<<2)|2,{115,57,0}}, +/* 17402 */ {(11<<2)|2,{115,57,0}}, +/* 17403 */ {(11<<2)|2,{115,57,0}}, +/* 17404 */ {(11<<2)|2,{115,57,0}}, +/* 17405 */ {(11<<2)|2,{115,57,0}}, +/* 17406 */ {(11<<2)|2,{115,57,0}}, +/* 17407 */ {(11<<2)|2,{115,57,0}}, +/* 17408 */ {(16<<2)|3,{115,61,48}}, +/* 17409 */ {(16<<2)|3,{115,61,49}}, +/* 17410 */ {(16<<2)|3,{115,61,50}}, +/* 17411 */ {(16<<2)|3,{115,61,97}}, +/* 17412 */ {(16<<2)|3,{115,61,99}}, +/* 17413 */ {(16<<2)|3,{115,61,101}}, +/* 17414 */ {(16<<2)|3,{115,61,105}}, +/* 17415 */ {(16<<2)|3,{115,61,111}}, +/* 17416 */ {(16<<2)|3,{115,61,115}}, +/* 17417 */ {(16<<2)|3,{115,61,116}}, +/* 17418 */ {(11<<2)|2,{115,61,0}}, +/* 17419 */ {(11<<2)|2,{115,61,0}}, +/* 17420 */ {(11<<2)|2,{115,61,0}}, +/* 17421 */ {(11<<2)|2,{115,61,0}}, +/* 17422 */ {(11<<2)|2,{115,61,0}}, +/* 17423 */ {(11<<2)|2,{115,61,0}}, +/* 17424 */ {(11<<2)|2,{115,61,0}}, +/* 17425 */ {(11<<2)|2,{115,61,0}}, +/* 17426 */ {(11<<2)|2,{115,61,0}}, +/* 17427 */ {(11<<2)|2,{115,61,0}}, +/* 17428 */ {(11<<2)|2,{115,61,0}}, +/* 17429 */ {(11<<2)|2,{115,61,0}}, +/* 17430 */ {(11<<2)|2,{115,61,0}}, +/* 17431 */ {(11<<2)|2,{115,61,0}}, +/* 17432 */ {(11<<2)|2,{115,61,0}}, +/* 17433 */ {(11<<2)|2,{115,61,0}}, +/* 17434 */ {(11<<2)|2,{115,61,0}}, +/* 17435 */ {(11<<2)|2,{115,61,0}}, +/* 17436 */ {(11<<2)|2,{115,61,0}}, +/* 17437 */ {(11<<2)|2,{115,61,0}}, +/* 17438 */ {(11<<2)|2,{115,61,0}}, +/* 17439 */ {(11<<2)|2,{115,61,0}}, +/* 17440 */ {(16<<2)|3,{115,65,48}}, +/* 17441 */ {(16<<2)|3,{115,65,49}}, +/* 17442 */ {(16<<2)|3,{115,65,50}}, +/* 17443 */ {(16<<2)|3,{115,65,97}}, +/* 17444 */ {(16<<2)|3,{115,65,99}}, +/* 17445 */ {(16<<2)|3,{115,65,101}}, +/* 17446 */ {(16<<2)|3,{115,65,105}}, +/* 17447 */ {(16<<2)|3,{115,65,111}}, +/* 17448 */ {(16<<2)|3,{115,65,115}}, +/* 17449 */ {(16<<2)|3,{115,65,116}}, +/* 17450 */ {(11<<2)|2,{115,65,0}}, +/* 17451 */ {(11<<2)|2,{115,65,0}}, +/* 17452 */ {(11<<2)|2,{115,65,0}}, +/* 17453 */ {(11<<2)|2,{115,65,0}}, +/* 17454 */ {(11<<2)|2,{115,65,0}}, +/* 17455 */ {(11<<2)|2,{115,65,0}}, +/* 17456 */ {(11<<2)|2,{115,65,0}}, +/* 17457 */ {(11<<2)|2,{115,65,0}}, +/* 17458 */ {(11<<2)|2,{115,65,0}}, +/* 17459 */ {(11<<2)|2,{115,65,0}}, +/* 17460 */ {(11<<2)|2,{115,65,0}}, +/* 17461 */ {(11<<2)|2,{115,65,0}}, +/* 17462 */ {(11<<2)|2,{115,65,0}}, +/* 17463 */ {(11<<2)|2,{115,65,0}}, +/* 17464 */ {(11<<2)|2,{115,65,0}}, +/* 17465 */ {(11<<2)|2,{115,65,0}}, +/* 17466 */ {(11<<2)|2,{115,65,0}}, +/* 17467 */ {(11<<2)|2,{115,65,0}}, +/* 17468 */ {(11<<2)|2,{115,65,0}}, +/* 17469 */ {(11<<2)|2,{115,65,0}}, +/* 17470 */ {(11<<2)|2,{115,65,0}}, +/* 17471 */ {(11<<2)|2,{115,65,0}}, +/* 17472 */ {(16<<2)|3,{115,95,48}}, +/* 17473 */ {(16<<2)|3,{115,95,49}}, +/* 17474 */ {(16<<2)|3,{115,95,50}}, +/* 17475 */ {(16<<2)|3,{115,95,97}}, +/* 17476 */ {(16<<2)|3,{115,95,99}}, +/* 17477 */ {(16<<2)|3,{115,95,101}}, +/* 17478 */ {(16<<2)|3,{115,95,105}}, +/* 17479 */ {(16<<2)|3,{115,95,111}}, +/* 17480 */ {(16<<2)|3,{115,95,115}}, +/* 17481 */ {(16<<2)|3,{115,95,116}}, +/* 17482 */ {(11<<2)|2,{115,95,0}}, +/* 17483 */ {(11<<2)|2,{115,95,0}}, +/* 17484 */ {(11<<2)|2,{115,95,0}}, +/* 17485 */ {(11<<2)|2,{115,95,0}}, +/* 17486 */ {(11<<2)|2,{115,95,0}}, +/* 17487 */ {(11<<2)|2,{115,95,0}}, +/* 17488 */ {(11<<2)|2,{115,95,0}}, +/* 17489 */ {(11<<2)|2,{115,95,0}}, +/* 17490 */ {(11<<2)|2,{115,95,0}}, +/* 17491 */ {(11<<2)|2,{115,95,0}}, +/* 17492 */ {(11<<2)|2,{115,95,0}}, +/* 17493 */ {(11<<2)|2,{115,95,0}}, +/* 17494 */ {(11<<2)|2,{115,95,0}}, +/* 17495 */ {(11<<2)|2,{115,95,0}}, +/* 17496 */ {(11<<2)|2,{115,95,0}}, +/* 17497 */ {(11<<2)|2,{115,95,0}}, +/* 17498 */ {(11<<2)|2,{115,95,0}}, +/* 17499 */ {(11<<2)|2,{115,95,0}}, +/* 17500 */ {(11<<2)|2,{115,95,0}}, +/* 17501 */ {(11<<2)|2,{115,95,0}}, +/* 17502 */ {(11<<2)|2,{115,95,0}}, +/* 17503 */ {(11<<2)|2,{115,95,0}}, +/* 17504 */ {(16<<2)|3,{115,98,48}}, +/* 17505 */ {(16<<2)|3,{115,98,49}}, +/* 17506 */ {(16<<2)|3,{115,98,50}}, +/* 17507 */ {(16<<2)|3,{115,98,97}}, +/* 17508 */ {(16<<2)|3,{115,98,99}}, +/* 17509 */ {(16<<2)|3,{115,98,101}}, +/* 17510 */ {(16<<2)|3,{115,98,105}}, +/* 17511 */ {(16<<2)|3,{115,98,111}}, +/* 17512 */ {(16<<2)|3,{115,98,115}}, +/* 17513 */ {(16<<2)|3,{115,98,116}}, +/* 17514 */ {(11<<2)|2,{115,98,0}}, +/* 17515 */ {(11<<2)|2,{115,98,0}}, +/* 17516 */ {(11<<2)|2,{115,98,0}}, +/* 17517 */ {(11<<2)|2,{115,98,0}}, +/* 17518 */ {(11<<2)|2,{115,98,0}}, +/* 17519 */ {(11<<2)|2,{115,98,0}}, +/* 17520 */ {(11<<2)|2,{115,98,0}}, +/* 17521 */ {(11<<2)|2,{115,98,0}}, +/* 17522 */ {(11<<2)|2,{115,98,0}}, +/* 17523 */ {(11<<2)|2,{115,98,0}}, +/* 17524 */ {(11<<2)|2,{115,98,0}}, +/* 17525 */ {(11<<2)|2,{115,98,0}}, +/* 17526 */ {(11<<2)|2,{115,98,0}}, +/* 17527 */ {(11<<2)|2,{115,98,0}}, +/* 17528 */ {(11<<2)|2,{115,98,0}}, +/* 17529 */ {(11<<2)|2,{115,98,0}}, +/* 17530 */ {(11<<2)|2,{115,98,0}}, +/* 17531 */ {(11<<2)|2,{115,98,0}}, +/* 17532 */ {(11<<2)|2,{115,98,0}}, +/* 17533 */ {(11<<2)|2,{115,98,0}}, +/* 17534 */ {(11<<2)|2,{115,98,0}}, +/* 17535 */ {(11<<2)|2,{115,98,0}}, +/* 17536 */ {(16<<2)|3,{115,100,48}}, +/* 17537 */ {(16<<2)|3,{115,100,49}}, +/* 17538 */ {(16<<2)|3,{115,100,50}}, +/* 17539 */ {(16<<2)|3,{115,100,97}}, +/* 17540 */ {(16<<2)|3,{115,100,99}}, +/* 17541 */ {(16<<2)|3,{115,100,101}}, +/* 17542 */ {(16<<2)|3,{115,100,105}}, +/* 17543 */ {(16<<2)|3,{115,100,111}}, +/* 17544 */ {(16<<2)|3,{115,100,115}}, +/* 17545 */ {(16<<2)|3,{115,100,116}}, +/* 17546 */ {(11<<2)|2,{115,100,0}}, +/* 17547 */ {(11<<2)|2,{115,100,0}}, +/* 17548 */ {(11<<2)|2,{115,100,0}}, +/* 17549 */ {(11<<2)|2,{115,100,0}}, +/* 17550 */ {(11<<2)|2,{115,100,0}}, +/* 17551 */ {(11<<2)|2,{115,100,0}}, +/* 17552 */ {(11<<2)|2,{115,100,0}}, +/* 17553 */ {(11<<2)|2,{115,100,0}}, +/* 17554 */ {(11<<2)|2,{115,100,0}}, +/* 17555 */ {(11<<2)|2,{115,100,0}}, +/* 17556 */ {(11<<2)|2,{115,100,0}}, +/* 17557 */ {(11<<2)|2,{115,100,0}}, +/* 17558 */ {(11<<2)|2,{115,100,0}}, +/* 17559 */ {(11<<2)|2,{115,100,0}}, +/* 17560 */ {(11<<2)|2,{115,100,0}}, +/* 17561 */ {(11<<2)|2,{115,100,0}}, +/* 17562 */ {(11<<2)|2,{115,100,0}}, +/* 17563 */ {(11<<2)|2,{115,100,0}}, +/* 17564 */ {(11<<2)|2,{115,100,0}}, +/* 17565 */ {(11<<2)|2,{115,100,0}}, +/* 17566 */ {(11<<2)|2,{115,100,0}}, +/* 17567 */ {(11<<2)|2,{115,100,0}}, +/* 17568 */ {(16<<2)|3,{115,102,48}}, +/* 17569 */ {(16<<2)|3,{115,102,49}}, +/* 17570 */ {(16<<2)|3,{115,102,50}}, +/* 17571 */ {(16<<2)|3,{115,102,97}}, +/* 17572 */ {(16<<2)|3,{115,102,99}}, +/* 17573 */ {(16<<2)|3,{115,102,101}}, +/* 17574 */ {(16<<2)|3,{115,102,105}}, +/* 17575 */ {(16<<2)|3,{115,102,111}}, +/* 17576 */ {(16<<2)|3,{115,102,115}}, +/* 17577 */ {(16<<2)|3,{115,102,116}}, +/* 17578 */ {(11<<2)|2,{115,102,0}}, +/* 17579 */ {(11<<2)|2,{115,102,0}}, +/* 17580 */ {(11<<2)|2,{115,102,0}}, +/* 17581 */ {(11<<2)|2,{115,102,0}}, +/* 17582 */ {(11<<2)|2,{115,102,0}}, +/* 17583 */ {(11<<2)|2,{115,102,0}}, +/* 17584 */ {(11<<2)|2,{115,102,0}}, +/* 17585 */ {(11<<2)|2,{115,102,0}}, +/* 17586 */ {(11<<2)|2,{115,102,0}}, +/* 17587 */ {(11<<2)|2,{115,102,0}}, +/* 17588 */ {(11<<2)|2,{115,102,0}}, +/* 17589 */ {(11<<2)|2,{115,102,0}}, +/* 17590 */ {(11<<2)|2,{115,102,0}}, +/* 17591 */ {(11<<2)|2,{115,102,0}}, +/* 17592 */ {(11<<2)|2,{115,102,0}}, +/* 17593 */ {(11<<2)|2,{115,102,0}}, +/* 17594 */ {(11<<2)|2,{115,102,0}}, +/* 17595 */ {(11<<2)|2,{115,102,0}}, +/* 17596 */ {(11<<2)|2,{115,102,0}}, +/* 17597 */ {(11<<2)|2,{115,102,0}}, +/* 17598 */ {(11<<2)|2,{115,102,0}}, +/* 17599 */ {(11<<2)|2,{115,102,0}}, +/* 17600 */ {(16<<2)|3,{115,103,48}}, +/* 17601 */ {(16<<2)|3,{115,103,49}}, +/* 17602 */ {(16<<2)|3,{115,103,50}}, +/* 17603 */ {(16<<2)|3,{115,103,97}}, +/* 17604 */ {(16<<2)|3,{115,103,99}}, +/* 17605 */ {(16<<2)|3,{115,103,101}}, +/* 17606 */ {(16<<2)|3,{115,103,105}}, +/* 17607 */ {(16<<2)|3,{115,103,111}}, +/* 17608 */ {(16<<2)|3,{115,103,115}}, +/* 17609 */ {(16<<2)|3,{115,103,116}}, +/* 17610 */ {(11<<2)|2,{115,103,0}}, +/* 17611 */ {(11<<2)|2,{115,103,0}}, +/* 17612 */ {(11<<2)|2,{115,103,0}}, +/* 17613 */ {(11<<2)|2,{115,103,0}}, +/* 17614 */ {(11<<2)|2,{115,103,0}}, +/* 17615 */ {(11<<2)|2,{115,103,0}}, +/* 17616 */ {(11<<2)|2,{115,103,0}}, +/* 17617 */ {(11<<2)|2,{115,103,0}}, +/* 17618 */ {(11<<2)|2,{115,103,0}}, +/* 17619 */ {(11<<2)|2,{115,103,0}}, +/* 17620 */ {(11<<2)|2,{115,103,0}}, +/* 17621 */ {(11<<2)|2,{115,103,0}}, +/* 17622 */ {(11<<2)|2,{115,103,0}}, +/* 17623 */ {(11<<2)|2,{115,103,0}}, +/* 17624 */ {(11<<2)|2,{115,103,0}}, +/* 17625 */ {(11<<2)|2,{115,103,0}}, +/* 17626 */ {(11<<2)|2,{115,103,0}}, +/* 17627 */ {(11<<2)|2,{115,103,0}}, +/* 17628 */ {(11<<2)|2,{115,103,0}}, +/* 17629 */ {(11<<2)|2,{115,103,0}}, +/* 17630 */ {(11<<2)|2,{115,103,0}}, +/* 17631 */ {(11<<2)|2,{115,103,0}}, +/* 17632 */ {(16<<2)|3,{115,104,48}}, +/* 17633 */ {(16<<2)|3,{115,104,49}}, +/* 17634 */ {(16<<2)|3,{115,104,50}}, +/* 17635 */ {(16<<2)|3,{115,104,97}}, +/* 17636 */ {(16<<2)|3,{115,104,99}}, +/* 17637 */ {(16<<2)|3,{115,104,101}}, +/* 17638 */ {(16<<2)|3,{115,104,105}}, +/* 17639 */ {(16<<2)|3,{115,104,111}}, +/* 17640 */ {(16<<2)|3,{115,104,115}}, +/* 17641 */ {(16<<2)|3,{115,104,116}}, +/* 17642 */ {(11<<2)|2,{115,104,0}}, +/* 17643 */ {(11<<2)|2,{115,104,0}}, +/* 17644 */ {(11<<2)|2,{115,104,0}}, +/* 17645 */ {(11<<2)|2,{115,104,0}}, +/* 17646 */ {(11<<2)|2,{115,104,0}}, +/* 17647 */ {(11<<2)|2,{115,104,0}}, +/* 17648 */ {(11<<2)|2,{115,104,0}}, +/* 17649 */ {(11<<2)|2,{115,104,0}}, +/* 17650 */ {(11<<2)|2,{115,104,0}}, +/* 17651 */ {(11<<2)|2,{115,104,0}}, +/* 17652 */ {(11<<2)|2,{115,104,0}}, +/* 17653 */ {(11<<2)|2,{115,104,0}}, +/* 17654 */ {(11<<2)|2,{115,104,0}}, +/* 17655 */ {(11<<2)|2,{115,104,0}}, +/* 17656 */ {(11<<2)|2,{115,104,0}}, +/* 17657 */ {(11<<2)|2,{115,104,0}}, +/* 17658 */ {(11<<2)|2,{115,104,0}}, +/* 17659 */ {(11<<2)|2,{115,104,0}}, +/* 17660 */ {(11<<2)|2,{115,104,0}}, +/* 17661 */ {(11<<2)|2,{115,104,0}}, +/* 17662 */ {(11<<2)|2,{115,104,0}}, +/* 17663 */ {(11<<2)|2,{115,104,0}}, +/* 17664 */ {(16<<2)|3,{115,108,48}}, +/* 17665 */ {(16<<2)|3,{115,108,49}}, +/* 17666 */ {(16<<2)|3,{115,108,50}}, +/* 17667 */ {(16<<2)|3,{115,108,97}}, +/* 17668 */ {(16<<2)|3,{115,108,99}}, +/* 17669 */ {(16<<2)|3,{115,108,101}}, +/* 17670 */ {(16<<2)|3,{115,108,105}}, +/* 17671 */ {(16<<2)|3,{115,108,111}}, +/* 17672 */ {(16<<2)|3,{115,108,115}}, +/* 17673 */ {(16<<2)|3,{115,108,116}}, +/* 17674 */ {(11<<2)|2,{115,108,0}}, +/* 17675 */ {(11<<2)|2,{115,108,0}}, +/* 17676 */ {(11<<2)|2,{115,108,0}}, +/* 17677 */ {(11<<2)|2,{115,108,0}}, +/* 17678 */ {(11<<2)|2,{115,108,0}}, +/* 17679 */ {(11<<2)|2,{115,108,0}}, +/* 17680 */ {(11<<2)|2,{115,108,0}}, +/* 17681 */ {(11<<2)|2,{115,108,0}}, +/* 17682 */ {(11<<2)|2,{115,108,0}}, +/* 17683 */ {(11<<2)|2,{115,108,0}}, +/* 17684 */ {(11<<2)|2,{115,108,0}}, +/* 17685 */ {(11<<2)|2,{115,108,0}}, +/* 17686 */ {(11<<2)|2,{115,108,0}}, +/* 17687 */ {(11<<2)|2,{115,108,0}}, +/* 17688 */ {(11<<2)|2,{115,108,0}}, +/* 17689 */ {(11<<2)|2,{115,108,0}}, +/* 17690 */ {(11<<2)|2,{115,108,0}}, +/* 17691 */ {(11<<2)|2,{115,108,0}}, +/* 17692 */ {(11<<2)|2,{115,108,0}}, +/* 17693 */ {(11<<2)|2,{115,108,0}}, +/* 17694 */ {(11<<2)|2,{115,108,0}}, +/* 17695 */ {(11<<2)|2,{115,108,0}}, +/* 17696 */ {(16<<2)|3,{115,109,48}}, +/* 17697 */ {(16<<2)|3,{115,109,49}}, +/* 17698 */ {(16<<2)|3,{115,109,50}}, +/* 17699 */ {(16<<2)|3,{115,109,97}}, +/* 17700 */ {(16<<2)|3,{115,109,99}}, +/* 17701 */ {(16<<2)|3,{115,109,101}}, +/* 17702 */ {(16<<2)|3,{115,109,105}}, +/* 17703 */ {(16<<2)|3,{115,109,111}}, +/* 17704 */ {(16<<2)|3,{115,109,115}}, +/* 17705 */ {(16<<2)|3,{115,109,116}}, +/* 17706 */ {(11<<2)|2,{115,109,0}}, +/* 17707 */ {(11<<2)|2,{115,109,0}}, +/* 17708 */ {(11<<2)|2,{115,109,0}}, +/* 17709 */ {(11<<2)|2,{115,109,0}}, +/* 17710 */ {(11<<2)|2,{115,109,0}}, +/* 17711 */ {(11<<2)|2,{115,109,0}}, +/* 17712 */ {(11<<2)|2,{115,109,0}}, +/* 17713 */ {(11<<2)|2,{115,109,0}}, +/* 17714 */ {(11<<2)|2,{115,109,0}}, +/* 17715 */ {(11<<2)|2,{115,109,0}}, +/* 17716 */ {(11<<2)|2,{115,109,0}}, +/* 17717 */ {(11<<2)|2,{115,109,0}}, +/* 17718 */ {(11<<2)|2,{115,109,0}}, +/* 17719 */ {(11<<2)|2,{115,109,0}}, +/* 17720 */ {(11<<2)|2,{115,109,0}}, +/* 17721 */ {(11<<2)|2,{115,109,0}}, +/* 17722 */ {(11<<2)|2,{115,109,0}}, +/* 17723 */ {(11<<2)|2,{115,109,0}}, +/* 17724 */ {(11<<2)|2,{115,109,0}}, +/* 17725 */ {(11<<2)|2,{115,109,0}}, +/* 17726 */ {(11<<2)|2,{115,109,0}}, +/* 17727 */ {(11<<2)|2,{115,109,0}}, +/* 17728 */ {(16<<2)|3,{115,110,48}}, +/* 17729 */ {(16<<2)|3,{115,110,49}}, +/* 17730 */ {(16<<2)|3,{115,110,50}}, +/* 17731 */ {(16<<2)|3,{115,110,97}}, +/* 17732 */ {(16<<2)|3,{115,110,99}}, +/* 17733 */ {(16<<2)|3,{115,110,101}}, +/* 17734 */ {(16<<2)|3,{115,110,105}}, +/* 17735 */ {(16<<2)|3,{115,110,111}}, +/* 17736 */ {(16<<2)|3,{115,110,115}}, +/* 17737 */ {(16<<2)|3,{115,110,116}}, +/* 17738 */ {(11<<2)|2,{115,110,0}}, +/* 17739 */ {(11<<2)|2,{115,110,0}}, +/* 17740 */ {(11<<2)|2,{115,110,0}}, +/* 17741 */ {(11<<2)|2,{115,110,0}}, +/* 17742 */ {(11<<2)|2,{115,110,0}}, +/* 17743 */ {(11<<2)|2,{115,110,0}}, +/* 17744 */ {(11<<2)|2,{115,110,0}}, +/* 17745 */ {(11<<2)|2,{115,110,0}}, +/* 17746 */ {(11<<2)|2,{115,110,0}}, +/* 17747 */ {(11<<2)|2,{115,110,0}}, +/* 17748 */ {(11<<2)|2,{115,110,0}}, +/* 17749 */ {(11<<2)|2,{115,110,0}}, +/* 17750 */ {(11<<2)|2,{115,110,0}}, +/* 17751 */ {(11<<2)|2,{115,110,0}}, +/* 17752 */ {(11<<2)|2,{115,110,0}}, +/* 17753 */ {(11<<2)|2,{115,110,0}}, +/* 17754 */ {(11<<2)|2,{115,110,0}}, +/* 17755 */ {(11<<2)|2,{115,110,0}}, +/* 17756 */ {(11<<2)|2,{115,110,0}}, +/* 17757 */ {(11<<2)|2,{115,110,0}}, +/* 17758 */ {(11<<2)|2,{115,110,0}}, +/* 17759 */ {(11<<2)|2,{115,110,0}}, +/* 17760 */ {(16<<2)|3,{115,112,48}}, +/* 17761 */ {(16<<2)|3,{115,112,49}}, +/* 17762 */ {(16<<2)|3,{115,112,50}}, +/* 17763 */ {(16<<2)|3,{115,112,97}}, +/* 17764 */ {(16<<2)|3,{115,112,99}}, +/* 17765 */ {(16<<2)|3,{115,112,101}}, +/* 17766 */ {(16<<2)|3,{115,112,105}}, +/* 17767 */ {(16<<2)|3,{115,112,111}}, +/* 17768 */ {(16<<2)|3,{115,112,115}}, +/* 17769 */ {(16<<2)|3,{115,112,116}}, +/* 17770 */ {(11<<2)|2,{115,112,0}}, +/* 17771 */ {(11<<2)|2,{115,112,0}}, +/* 17772 */ {(11<<2)|2,{115,112,0}}, +/* 17773 */ {(11<<2)|2,{115,112,0}}, +/* 17774 */ {(11<<2)|2,{115,112,0}}, +/* 17775 */ {(11<<2)|2,{115,112,0}}, +/* 17776 */ {(11<<2)|2,{115,112,0}}, +/* 17777 */ {(11<<2)|2,{115,112,0}}, +/* 17778 */ {(11<<2)|2,{115,112,0}}, +/* 17779 */ {(11<<2)|2,{115,112,0}}, +/* 17780 */ {(11<<2)|2,{115,112,0}}, +/* 17781 */ {(11<<2)|2,{115,112,0}}, +/* 17782 */ {(11<<2)|2,{115,112,0}}, +/* 17783 */ {(11<<2)|2,{115,112,0}}, +/* 17784 */ {(11<<2)|2,{115,112,0}}, +/* 17785 */ {(11<<2)|2,{115,112,0}}, +/* 17786 */ {(11<<2)|2,{115,112,0}}, +/* 17787 */ {(11<<2)|2,{115,112,0}}, +/* 17788 */ {(11<<2)|2,{115,112,0}}, +/* 17789 */ {(11<<2)|2,{115,112,0}}, +/* 17790 */ {(11<<2)|2,{115,112,0}}, +/* 17791 */ {(11<<2)|2,{115,112,0}}, +/* 17792 */ {(16<<2)|3,{115,114,48}}, +/* 17793 */ {(16<<2)|3,{115,114,49}}, +/* 17794 */ {(16<<2)|3,{115,114,50}}, +/* 17795 */ {(16<<2)|3,{115,114,97}}, +/* 17796 */ {(16<<2)|3,{115,114,99}}, +/* 17797 */ {(16<<2)|3,{115,114,101}}, +/* 17798 */ {(16<<2)|3,{115,114,105}}, +/* 17799 */ {(16<<2)|3,{115,114,111}}, +/* 17800 */ {(16<<2)|3,{115,114,115}}, +/* 17801 */ {(16<<2)|3,{115,114,116}}, +/* 17802 */ {(11<<2)|2,{115,114,0}}, +/* 17803 */ {(11<<2)|2,{115,114,0}}, +/* 17804 */ {(11<<2)|2,{115,114,0}}, +/* 17805 */ {(11<<2)|2,{115,114,0}}, +/* 17806 */ {(11<<2)|2,{115,114,0}}, +/* 17807 */ {(11<<2)|2,{115,114,0}}, +/* 17808 */ {(11<<2)|2,{115,114,0}}, +/* 17809 */ {(11<<2)|2,{115,114,0}}, +/* 17810 */ {(11<<2)|2,{115,114,0}}, +/* 17811 */ {(11<<2)|2,{115,114,0}}, +/* 17812 */ {(11<<2)|2,{115,114,0}}, +/* 17813 */ {(11<<2)|2,{115,114,0}}, +/* 17814 */ {(11<<2)|2,{115,114,0}}, +/* 17815 */ {(11<<2)|2,{115,114,0}}, +/* 17816 */ {(11<<2)|2,{115,114,0}}, +/* 17817 */ {(11<<2)|2,{115,114,0}}, +/* 17818 */ {(11<<2)|2,{115,114,0}}, +/* 17819 */ {(11<<2)|2,{115,114,0}}, +/* 17820 */ {(11<<2)|2,{115,114,0}}, +/* 17821 */ {(11<<2)|2,{115,114,0}}, +/* 17822 */ {(11<<2)|2,{115,114,0}}, +/* 17823 */ {(11<<2)|2,{115,114,0}}, +/* 17824 */ {(16<<2)|3,{115,117,48}}, +/* 17825 */ {(16<<2)|3,{115,117,49}}, +/* 17826 */ {(16<<2)|3,{115,117,50}}, +/* 17827 */ {(16<<2)|3,{115,117,97}}, +/* 17828 */ {(16<<2)|3,{115,117,99}}, +/* 17829 */ {(16<<2)|3,{115,117,101}}, +/* 17830 */ {(16<<2)|3,{115,117,105}}, +/* 17831 */ {(16<<2)|3,{115,117,111}}, +/* 17832 */ {(16<<2)|3,{115,117,115}}, +/* 17833 */ {(16<<2)|3,{115,117,116}}, +/* 17834 */ {(11<<2)|2,{115,117,0}}, +/* 17835 */ {(11<<2)|2,{115,117,0}}, +/* 17836 */ {(11<<2)|2,{115,117,0}}, +/* 17837 */ {(11<<2)|2,{115,117,0}}, +/* 17838 */ {(11<<2)|2,{115,117,0}}, +/* 17839 */ {(11<<2)|2,{115,117,0}}, +/* 17840 */ {(11<<2)|2,{115,117,0}}, +/* 17841 */ {(11<<2)|2,{115,117,0}}, +/* 17842 */ {(11<<2)|2,{115,117,0}}, +/* 17843 */ {(11<<2)|2,{115,117,0}}, +/* 17844 */ {(11<<2)|2,{115,117,0}}, +/* 17845 */ {(11<<2)|2,{115,117,0}}, +/* 17846 */ {(11<<2)|2,{115,117,0}}, +/* 17847 */ {(11<<2)|2,{115,117,0}}, +/* 17848 */ {(11<<2)|2,{115,117,0}}, +/* 17849 */ {(11<<2)|2,{115,117,0}}, +/* 17850 */ {(11<<2)|2,{115,117,0}}, +/* 17851 */ {(11<<2)|2,{115,117,0}}, +/* 17852 */ {(11<<2)|2,{115,117,0}}, +/* 17853 */ {(11<<2)|2,{115,117,0}}, +/* 17854 */ {(11<<2)|2,{115,117,0}}, +/* 17855 */ {(11<<2)|2,{115,117,0}}, +/* 17856 */ {(12<<2)|2,{115,58,0}}, +/* 17857 */ {(12<<2)|2,{115,58,0}}, +/* 17858 */ {(12<<2)|2,{115,58,0}}, +/* 17859 */ {(12<<2)|2,{115,58,0}}, +/* 17860 */ {(12<<2)|2,{115,58,0}}, +/* 17861 */ {(12<<2)|2,{115,58,0}}, +/* 17862 */ {(12<<2)|2,{115,58,0}}, +/* 17863 */ {(12<<2)|2,{115,58,0}}, +/* 17864 */ {(12<<2)|2,{115,58,0}}, +/* 17865 */ {(12<<2)|2,{115,58,0}}, +/* 17866 */ {(12<<2)|2,{115,58,0}}, +/* 17867 */ {(12<<2)|2,{115,58,0}}, +/* 17868 */ {(12<<2)|2,{115,58,0}}, +/* 17869 */ {(12<<2)|2,{115,58,0}}, +/* 17870 */ {(12<<2)|2,{115,58,0}}, +/* 17871 */ {(12<<2)|2,{115,58,0}}, +/* 17872 */ {(12<<2)|2,{115,66,0}}, +/* 17873 */ {(12<<2)|2,{115,66,0}}, +/* 17874 */ {(12<<2)|2,{115,66,0}}, +/* 17875 */ {(12<<2)|2,{115,66,0}}, +/* 17876 */ {(12<<2)|2,{115,66,0}}, +/* 17877 */ {(12<<2)|2,{115,66,0}}, +/* 17878 */ {(12<<2)|2,{115,66,0}}, +/* 17879 */ {(12<<2)|2,{115,66,0}}, +/* 17880 */ {(12<<2)|2,{115,66,0}}, +/* 17881 */ {(12<<2)|2,{115,66,0}}, +/* 17882 */ {(12<<2)|2,{115,66,0}}, +/* 17883 */ {(12<<2)|2,{115,66,0}}, +/* 17884 */ {(12<<2)|2,{115,66,0}}, +/* 17885 */ {(12<<2)|2,{115,66,0}}, +/* 17886 */ {(12<<2)|2,{115,66,0}}, +/* 17887 */ {(12<<2)|2,{115,66,0}}, +/* 17888 */ {(12<<2)|2,{115,67,0}}, +/* 17889 */ {(12<<2)|2,{115,67,0}}, +/* 17890 */ {(12<<2)|2,{115,67,0}}, +/* 17891 */ {(12<<2)|2,{115,67,0}}, +/* 17892 */ {(12<<2)|2,{115,67,0}}, +/* 17893 */ {(12<<2)|2,{115,67,0}}, +/* 17894 */ {(12<<2)|2,{115,67,0}}, +/* 17895 */ {(12<<2)|2,{115,67,0}}, +/* 17896 */ {(12<<2)|2,{115,67,0}}, +/* 17897 */ {(12<<2)|2,{115,67,0}}, +/* 17898 */ {(12<<2)|2,{115,67,0}}, +/* 17899 */ {(12<<2)|2,{115,67,0}}, +/* 17900 */ {(12<<2)|2,{115,67,0}}, +/* 17901 */ {(12<<2)|2,{115,67,0}}, +/* 17902 */ {(12<<2)|2,{115,67,0}}, +/* 17903 */ {(12<<2)|2,{115,67,0}}, +/* 17904 */ {(12<<2)|2,{115,68,0}}, +/* 17905 */ {(12<<2)|2,{115,68,0}}, +/* 17906 */ {(12<<2)|2,{115,68,0}}, +/* 17907 */ {(12<<2)|2,{115,68,0}}, +/* 17908 */ {(12<<2)|2,{115,68,0}}, +/* 17909 */ {(12<<2)|2,{115,68,0}}, +/* 17910 */ {(12<<2)|2,{115,68,0}}, +/* 17911 */ {(12<<2)|2,{115,68,0}}, +/* 17912 */ {(12<<2)|2,{115,68,0}}, +/* 17913 */ {(12<<2)|2,{115,68,0}}, +/* 17914 */ {(12<<2)|2,{115,68,0}}, +/* 17915 */ {(12<<2)|2,{115,68,0}}, +/* 17916 */ {(12<<2)|2,{115,68,0}}, +/* 17917 */ {(12<<2)|2,{115,68,0}}, +/* 17918 */ {(12<<2)|2,{115,68,0}}, +/* 17919 */ {(12<<2)|2,{115,68,0}}, +/* 17920 */ {(12<<2)|2,{115,69,0}}, +/* 17921 */ {(12<<2)|2,{115,69,0}}, +/* 17922 */ {(12<<2)|2,{115,69,0}}, +/* 17923 */ {(12<<2)|2,{115,69,0}}, +/* 17924 */ {(12<<2)|2,{115,69,0}}, +/* 17925 */ {(12<<2)|2,{115,69,0}}, +/* 17926 */ {(12<<2)|2,{115,69,0}}, +/* 17927 */ {(12<<2)|2,{115,69,0}}, +/* 17928 */ {(12<<2)|2,{115,69,0}}, +/* 17929 */ {(12<<2)|2,{115,69,0}}, +/* 17930 */ {(12<<2)|2,{115,69,0}}, +/* 17931 */ {(12<<2)|2,{115,69,0}}, +/* 17932 */ {(12<<2)|2,{115,69,0}}, +/* 17933 */ {(12<<2)|2,{115,69,0}}, +/* 17934 */ {(12<<2)|2,{115,69,0}}, +/* 17935 */ {(12<<2)|2,{115,69,0}}, +/* 17936 */ {(12<<2)|2,{115,70,0}}, +/* 17937 */ {(12<<2)|2,{115,70,0}}, +/* 17938 */ {(12<<2)|2,{115,70,0}}, +/* 17939 */ {(12<<2)|2,{115,70,0}}, +/* 17940 */ {(12<<2)|2,{115,70,0}}, +/* 17941 */ {(12<<2)|2,{115,70,0}}, +/* 17942 */ {(12<<2)|2,{115,70,0}}, +/* 17943 */ {(12<<2)|2,{115,70,0}}, +/* 17944 */ {(12<<2)|2,{115,70,0}}, +/* 17945 */ {(12<<2)|2,{115,70,0}}, +/* 17946 */ {(12<<2)|2,{115,70,0}}, +/* 17947 */ {(12<<2)|2,{115,70,0}}, +/* 17948 */ {(12<<2)|2,{115,70,0}}, +/* 17949 */ {(12<<2)|2,{115,70,0}}, +/* 17950 */ {(12<<2)|2,{115,70,0}}, +/* 17951 */ {(12<<2)|2,{115,70,0}}, +/* 17952 */ {(12<<2)|2,{115,71,0}}, +/* 17953 */ {(12<<2)|2,{115,71,0}}, +/* 17954 */ {(12<<2)|2,{115,71,0}}, +/* 17955 */ {(12<<2)|2,{115,71,0}}, +/* 17956 */ {(12<<2)|2,{115,71,0}}, +/* 17957 */ {(12<<2)|2,{115,71,0}}, +/* 17958 */ {(12<<2)|2,{115,71,0}}, +/* 17959 */ {(12<<2)|2,{115,71,0}}, +/* 17960 */ {(12<<2)|2,{115,71,0}}, +/* 17961 */ {(12<<2)|2,{115,71,0}}, +/* 17962 */ {(12<<2)|2,{115,71,0}}, +/* 17963 */ {(12<<2)|2,{115,71,0}}, +/* 17964 */ {(12<<2)|2,{115,71,0}}, +/* 17965 */ {(12<<2)|2,{115,71,0}}, +/* 17966 */ {(12<<2)|2,{115,71,0}}, +/* 17967 */ {(12<<2)|2,{115,71,0}}, +/* 17968 */ {(12<<2)|2,{115,72,0}}, +/* 17969 */ {(12<<2)|2,{115,72,0}}, +/* 17970 */ {(12<<2)|2,{115,72,0}}, +/* 17971 */ {(12<<2)|2,{115,72,0}}, +/* 17972 */ {(12<<2)|2,{115,72,0}}, +/* 17973 */ {(12<<2)|2,{115,72,0}}, +/* 17974 */ {(12<<2)|2,{115,72,0}}, +/* 17975 */ {(12<<2)|2,{115,72,0}}, +/* 17976 */ {(12<<2)|2,{115,72,0}}, +/* 17977 */ {(12<<2)|2,{115,72,0}}, +/* 17978 */ {(12<<2)|2,{115,72,0}}, +/* 17979 */ {(12<<2)|2,{115,72,0}}, +/* 17980 */ {(12<<2)|2,{115,72,0}}, +/* 17981 */ {(12<<2)|2,{115,72,0}}, +/* 17982 */ {(12<<2)|2,{115,72,0}}, +/* 17983 */ {(12<<2)|2,{115,72,0}}, +/* 17984 */ {(12<<2)|2,{115,73,0}}, +/* 17985 */ {(12<<2)|2,{115,73,0}}, +/* 17986 */ {(12<<2)|2,{115,73,0}}, +/* 17987 */ {(12<<2)|2,{115,73,0}}, +/* 17988 */ {(12<<2)|2,{115,73,0}}, +/* 17989 */ {(12<<2)|2,{115,73,0}}, +/* 17990 */ {(12<<2)|2,{115,73,0}}, +/* 17991 */ {(12<<2)|2,{115,73,0}}, +/* 17992 */ {(12<<2)|2,{115,73,0}}, +/* 17993 */ {(12<<2)|2,{115,73,0}}, +/* 17994 */ {(12<<2)|2,{115,73,0}}, +/* 17995 */ {(12<<2)|2,{115,73,0}}, +/* 17996 */ {(12<<2)|2,{115,73,0}}, +/* 17997 */ {(12<<2)|2,{115,73,0}}, +/* 17998 */ {(12<<2)|2,{115,73,0}}, +/* 17999 */ {(12<<2)|2,{115,73,0}}, +/* 18000 */ {(12<<2)|2,{115,74,0}}, +/* 18001 */ {(12<<2)|2,{115,74,0}}, +/* 18002 */ {(12<<2)|2,{115,74,0}}, +/* 18003 */ {(12<<2)|2,{115,74,0}}, +/* 18004 */ {(12<<2)|2,{115,74,0}}, +/* 18005 */ {(12<<2)|2,{115,74,0}}, +/* 18006 */ {(12<<2)|2,{115,74,0}}, +/* 18007 */ {(12<<2)|2,{115,74,0}}, +/* 18008 */ {(12<<2)|2,{115,74,0}}, +/* 18009 */ {(12<<2)|2,{115,74,0}}, +/* 18010 */ {(12<<2)|2,{115,74,0}}, +/* 18011 */ {(12<<2)|2,{115,74,0}}, +/* 18012 */ {(12<<2)|2,{115,74,0}}, +/* 18013 */ {(12<<2)|2,{115,74,0}}, +/* 18014 */ {(12<<2)|2,{115,74,0}}, +/* 18015 */ {(12<<2)|2,{115,74,0}}, +/* 18016 */ {(12<<2)|2,{115,75,0}}, +/* 18017 */ {(12<<2)|2,{115,75,0}}, +/* 18018 */ {(12<<2)|2,{115,75,0}}, +/* 18019 */ {(12<<2)|2,{115,75,0}}, +/* 18020 */ {(12<<2)|2,{115,75,0}}, +/* 18021 */ {(12<<2)|2,{115,75,0}}, +/* 18022 */ {(12<<2)|2,{115,75,0}}, +/* 18023 */ {(12<<2)|2,{115,75,0}}, +/* 18024 */ {(12<<2)|2,{115,75,0}}, +/* 18025 */ {(12<<2)|2,{115,75,0}}, +/* 18026 */ {(12<<2)|2,{115,75,0}}, +/* 18027 */ {(12<<2)|2,{115,75,0}}, +/* 18028 */ {(12<<2)|2,{115,75,0}}, +/* 18029 */ {(12<<2)|2,{115,75,0}}, +/* 18030 */ {(12<<2)|2,{115,75,0}}, +/* 18031 */ {(12<<2)|2,{115,75,0}}, +/* 18032 */ {(12<<2)|2,{115,76,0}}, +/* 18033 */ {(12<<2)|2,{115,76,0}}, +/* 18034 */ {(12<<2)|2,{115,76,0}}, +/* 18035 */ {(12<<2)|2,{115,76,0}}, +/* 18036 */ {(12<<2)|2,{115,76,0}}, +/* 18037 */ {(12<<2)|2,{115,76,0}}, +/* 18038 */ {(12<<2)|2,{115,76,0}}, +/* 18039 */ {(12<<2)|2,{115,76,0}}, +/* 18040 */ {(12<<2)|2,{115,76,0}}, +/* 18041 */ {(12<<2)|2,{115,76,0}}, +/* 18042 */ {(12<<2)|2,{115,76,0}}, +/* 18043 */ {(12<<2)|2,{115,76,0}}, +/* 18044 */ {(12<<2)|2,{115,76,0}}, +/* 18045 */ {(12<<2)|2,{115,76,0}}, +/* 18046 */ {(12<<2)|2,{115,76,0}}, +/* 18047 */ {(12<<2)|2,{115,76,0}}, +/* 18048 */ {(12<<2)|2,{115,77,0}}, +/* 18049 */ {(12<<2)|2,{115,77,0}}, +/* 18050 */ {(12<<2)|2,{115,77,0}}, +/* 18051 */ {(12<<2)|2,{115,77,0}}, +/* 18052 */ {(12<<2)|2,{115,77,0}}, +/* 18053 */ {(12<<2)|2,{115,77,0}}, +/* 18054 */ {(12<<2)|2,{115,77,0}}, +/* 18055 */ {(12<<2)|2,{115,77,0}}, +/* 18056 */ {(12<<2)|2,{115,77,0}}, +/* 18057 */ {(12<<2)|2,{115,77,0}}, +/* 18058 */ {(12<<2)|2,{115,77,0}}, +/* 18059 */ {(12<<2)|2,{115,77,0}}, +/* 18060 */ {(12<<2)|2,{115,77,0}}, +/* 18061 */ {(12<<2)|2,{115,77,0}}, +/* 18062 */ {(12<<2)|2,{115,77,0}}, +/* 18063 */ {(12<<2)|2,{115,77,0}}, +/* 18064 */ {(12<<2)|2,{115,78,0}}, +/* 18065 */ {(12<<2)|2,{115,78,0}}, +/* 18066 */ {(12<<2)|2,{115,78,0}}, +/* 18067 */ {(12<<2)|2,{115,78,0}}, +/* 18068 */ {(12<<2)|2,{115,78,0}}, +/* 18069 */ {(12<<2)|2,{115,78,0}}, +/* 18070 */ {(12<<2)|2,{115,78,0}}, +/* 18071 */ {(12<<2)|2,{115,78,0}}, +/* 18072 */ {(12<<2)|2,{115,78,0}}, +/* 18073 */ {(12<<2)|2,{115,78,0}}, +/* 18074 */ {(12<<2)|2,{115,78,0}}, +/* 18075 */ {(12<<2)|2,{115,78,0}}, +/* 18076 */ {(12<<2)|2,{115,78,0}}, +/* 18077 */ {(12<<2)|2,{115,78,0}}, +/* 18078 */ {(12<<2)|2,{115,78,0}}, +/* 18079 */ {(12<<2)|2,{115,78,0}}, +/* 18080 */ {(12<<2)|2,{115,79,0}}, +/* 18081 */ {(12<<2)|2,{115,79,0}}, +/* 18082 */ {(12<<2)|2,{115,79,0}}, +/* 18083 */ {(12<<2)|2,{115,79,0}}, +/* 18084 */ {(12<<2)|2,{115,79,0}}, +/* 18085 */ {(12<<2)|2,{115,79,0}}, +/* 18086 */ {(12<<2)|2,{115,79,0}}, +/* 18087 */ {(12<<2)|2,{115,79,0}}, +/* 18088 */ {(12<<2)|2,{115,79,0}}, +/* 18089 */ {(12<<2)|2,{115,79,0}}, +/* 18090 */ {(12<<2)|2,{115,79,0}}, +/* 18091 */ {(12<<2)|2,{115,79,0}}, +/* 18092 */ {(12<<2)|2,{115,79,0}}, +/* 18093 */ {(12<<2)|2,{115,79,0}}, +/* 18094 */ {(12<<2)|2,{115,79,0}}, +/* 18095 */ {(12<<2)|2,{115,79,0}}, +/* 18096 */ {(12<<2)|2,{115,80,0}}, +/* 18097 */ {(12<<2)|2,{115,80,0}}, +/* 18098 */ {(12<<2)|2,{115,80,0}}, +/* 18099 */ {(12<<2)|2,{115,80,0}}, +/* 18100 */ {(12<<2)|2,{115,80,0}}, +/* 18101 */ {(12<<2)|2,{115,80,0}}, +/* 18102 */ {(12<<2)|2,{115,80,0}}, +/* 18103 */ {(12<<2)|2,{115,80,0}}, +/* 18104 */ {(12<<2)|2,{115,80,0}}, +/* 18105 */ {(12<<2)|2,{115,80,0}}, +/* 18106 */ {(12<<2)|2,{115,80,0}}, +/* 18107 */ {(12<<2)|2,{115,80,0}}, +/* 18108 */ {(12<<2)|2,{115,80,0}}, +/* 18109 */ {(12<<2)|2,{115,80,0}}, +/* 18110 */ {(12<<2)|2,{115,80,0}}, +/* 18111 */ {(12<<2)|2,{115,80,0}}, +/* 18112 */ {(12<<2)|2,{115,81,0}}, +/* 18113 */ {(12<<2)|2,{115,81,0}}, +/* 18114 */ {(12<<2)|2,{115,81,0}}, +/* 18115 */ {(12<<2)|2,{115,81,0}}, +/* 18116 */ {(12<<2)|2,{115,81,0}}, +/* 18117 */ {(12<<2)|2,{115,81,0}}, +/* 18118 */ {(12<<2)|2,{115,81,0}}, +/* 18119 */ {(12<<2)|2,{115,81,0}}, +/* 18120 */ {(12<<2)|2,{115,81,0}}, +/* 18121 */ {(12<<2)|2,{115,81,0}}, +/* 18122 */ {(12<<2)|2,{115,81,0}}, +/* 18123 */ {(12<<2)|2,{115,81,0}}, +/* 18124 */ {(12<<2)|2,{115,81,0}}, +/* 18125 */ {(12<<2)|2,{115,81,0}}, +/* 18126 */ {(12<<2)|2,{115,81,0}}, +/* 18127 */ {(12<<2)|2,{115,81,0}}, +/* 18128 */ {(12<<2)|2,{115,82,0}}, +/* 18129 */ {(12<<2)|2,{115,82,0}}, +/* 18130 */ {(12<<2)|2,{115,82,0}}, +/* 18131 */ {(12<<2)|2,{115,82,0}}, +/* 18132 */ {(12<<2)|2,{115,82,0}}, +/* 18133 */ {(12<<2)|2,{115,82,0}}, +/* 18134 */ {(12<<2)|2,{115,82,0}}, +/* 18135 */ {(12<<2)|2,{115,82,0}}, +/* 18136 */ {(12<<2)|2,{115,82,0}}, +/* 18137 */ {(12<<2)|2,{115,82,0}}, +/* 18138 */ {(12<<2)|2,{115,82,0}}, +/* 18139 */ {(12<<2)|2,{115,82,0}}, +/* 18140 */ {(12<<2)|2,{115,82,0}}, +/* 18141 */ {(12<<2)|2,{115,82,0}}, +/* 18142 */ {(12<<2)|2,{115,82,0}}, +/* 18143 */ {(12<<2)|2,{115,82,0}}, +/* 18144 */ {(12<<2)|2,{115,83,0}}, +/* 18145 */ {(12<<2)|2,{115,83,0}}, +/* 18146 */ {(12<<2)|2,{115,83,0}}, +/* 18147 */ {(12<<2)|2,{115,83,0}}, +/* 18148 */ {(12<<2)|2,{115,83,0}}, +/* 18149 */ {(12<<2)|2,{115,83,0}}, +/* 18150 */ {(12<<2)|2,{115,83,0}}, +/* 18151 */ {(12<<2)|2,{115,83,0}}, +/* 18152 */ {(12<<2)|2,{115,83,0}}, +/* 18153 */ {(12<<2)|2,{115,83,0}}, +/* 18154 */ {(12<<2)|2,{115,83,0}}, +/* 18155 */ {(12<<2)|2,{115,83,0}}, +/* 18156 */ {(12<<2)|2,{115,83,0}}, +/* 18157 */ {(12<<2)|2,{115,83,0}}, +/* 18158 */ {(12<<2)|2,{115,83,0}}, +/* 18159 */ {(12<<2)|2,{115,83,0}}, +/* 18160 */ {(12<<2)|2,{115,84,0}}, +/* 18161 */ {(12<<2)|2,{115,84,0}}, +/* 18162 */ {(12<<2)|2,{115,84,0}}, +/* 18163 */ {(12<<2)|2,{115,84,0}}, +/* 18164 */ {(12<<2)|2,{115,84,0}}, +/* 18165 */ {(12<<2)|2,{115,84,0}}, +/* 18166 */ {(12<<2)|2,{115,84,0}}, +/* 18167 */ {(12<<2)|2,{115,84,0}}, +/* 18168 */ {(12<<2)|2,{115,84,0}}, +/* 18169 */ {(12<<2)|2,{115,84,0}}, +/* 18170 */ {(12<<2)|2,{115,84,0}}, +/* 18171 */ {(12<<2)|2,{115,84,0}}, +/* 18172 */ {(12<<2)|2,{115,84,0}}, +/* 18173 */ {(12<<2)|2,{115,84,0}}, +/* 18174 */ {(12<<2)|2,{115,84,0}}, +/* 18175 */ {(12<<2)|2,{115,84,0}}, +/* 18176 */ {(12<<2)|2,{115,85,0}}, +/* 18177 */ {(12<<2)|2,{115,85,0}}, +/* 18178 */ {(12<<2)|2,{115,85,0}}, +/* 18179 */ {(12<<2)|2,{115,85,0}}, +/* 18180 */ {(12<<2)|2,{115,85,0}}, +/* 18181 */ {(12<<2)|2,{115,85,0}}, +/* 18182 */ {(12<<2)|2,{115,85,0}}, +/* 18183 */ {(12<<2)|2,{115,85,0}}, +/* 18184 */ {(12<<2)|2,{115,85,0}}, +/* 18185 */ {(12<<2)|2,{115,85,0}}, +/* 18186 */ {(12<<2)|2,{115,85,0}}, +/* 18187 */ {(12<<2)|2,{115,85,0}}, +/* 18188 */ {(12<<2)|2,{115,85,0}}, +/* 18189 */ {(12<<2)|2,{115,85,0}}, +/* 18190 */ {(12<<2)|2,{115,85,0}}, +/* 18191 */ {(12<<2)|2,{115,85,0}}, +/* 18192 */ {(12<<2)|2,{115,86,0}}, +/* 18193 */ {(12<<2)|2,{115,86,0}}, +/* 18194 */ {(12<<2)|2,{115,86,0}}, +/* 18195 */ {(12<<2)|2,{115,86,0}}, +/* 18196 */ {(12<<2)|2,{115,86,0}}, +/* 18197 */ {(12<<2)|2,{115,86,0}}, +/* 18198 */ {(12<<2)|2,{115,86,0}}, +/* 18199 */ {(12<<2)|2,{115,86,0}}, +/* 18200 */ {(12<<2)|2,{115,86,0}}, +/* 18201 */ {(12<<2)|2,{115,86,0}}, +/* 18202 */ {(12<<2)|2,{115,86,0}}, +/* 18203 */ {(12<<2)|2,{115,86,0}}, +/* 18204 */ {(12<<2)|2,{115,86,0}}, +/* 18205 */ {(12<<2)|2,{115,86,0}}, +/* 18206 */ {(12<<2)|2,{115,86,0}}, +/* 18207 */ {(12<<2)|2,{115,86,0}}, +/* 18208 */ {(12<<2)|2,{115,87,0}}, +/* 18209 */ {(12<<2)|2,{115,87,0}}, +/* 18210 */ {(12<<2)|2,{115,87,0}}, +/* 18211 */ {(12<<2)|2,{115,87,0}}, +/* 18212 */ {(12<<2)|2,{115,87,0}}, +/* 18213 */ {(12<<2)|2,{115,87,0}}, +/* 18214 */ {(12<<2)|2,{115,87,0}}, +/* 18215 */ {(12<<2)|2,{115,87,0}}, +/* 18216 */ {(12<<2)|2,{115,87,0}}, +/* 18217 */ {(12<<2)|2,{115,87,0}}, +/* 18218 */ {(12<<2)|2,{115,87,0}}, +/* 18219 */ {(12<<2)|2,{115,87,0}}, +/* 18220 */ {(12<<2)|2,{115,87,0}}, +/* 18221 */ {(12<<2)|2,{115,87,0}}, +/* 18222 */ {(12<<2)|2,{115,87,0}}, +/* 18223 */ {(12<<2)|2,{115,87,0}}, +/* 18224 */ {(12<<2)|2,{115,89,0}}, +/* 18225 */ {(12<<2)|2,{115,89,0}}, +/* 18226 */ {(12<<2)|2,{115,89,0}}, +/* 18227 */ {(12<<2)|2,{115,89,0}}, +/* 18228 */ {(12<<2)|2,{115,89,0}}, +/* 18229 */ {(12<<2)|2,{115,89,0}}, +/* 18230 */ {(12<<2)|2,{115,89,0}}, +/* 18231 */ {(12<<2)|2,{115,89,0}}, +/* 18232 */ {(12<<2)|2,{115,89,0}}, +/* 18233 */ {(12<<2)|2,{115,89,0}}, +/* 18234 */ {(12<<2)|2,{115,89,0}}, +/* 18235 */ {(12<<2)|2,{115,89,0}}, +/* 18236 */ {(12<<2)|2,{115,89,0}}, +/* 18237 */ {(12<<2)|2,{115,89,0}}, +/* 18238 */ {(12<<2)|2,{115,89,0}}, +/* 18239 */ {(12<<2)|2,{115,89,0}}, +/* 18240 */ {(12<<2)|2,{115,106,0}}, +/* 18241 */ {(12<<2)|2,{115,106,0}}, +/* 18242 */ {(12<<2)|2,{115,106,0}}, +/* 18243 */ {(12<<2)|2,{115,106,0}}, +/* 18244 */ {(12<<2)|2,{115,106,0}}, +/* 18245 */ {(12<<2)|2,{115,106,0}}, +/* 18246 */ {(12<<2)|2,{115,106,0}}, +/* 18247 */ {(12<<2)|2,{115,106,0}}, +/* 18248 */ {(12<<2)|2,{115,106,0}}, +/* 18249 */ {(12<<2)|2,{115,106,0}}, +/* 18250 */ {(12<<2)|2,{115,106,0}}, +/* 18251 */ {(12<<2)|2,{115,106,0}}, +/* 18252 */ {(12<<2)|2,{115,106,0}}, +/* 18253 */ {(12<<2)|2,{115,106,0}}, +/* 18254 */ {(12<<2)|2,{115,106,0}}, +/* 18255 */ {(12<<2)|2,{115,106,0}}, +/* 18256 */ {(12<<2)|2,{115,107,0}}, +/* 18257 */ {(12<<2)|2,{115,107,0}}, +/* 18258 */ {(12<<2)|2,{115,107,0}}, +/* 18259 */ {(12<<2)|2,{115,107,0}}, +/* 18260 */ {(12<<2)|2,{115,107,0}}, +/* 18261 */ {(12<<2)|2,{115,107,0}}, +/* 18262 */ {(12<<2)|2,{115,107,0}}, +/* 18263 */ {(12<<2)|2,{115,107,0}}, +/* 18264 */ {(12<<2)|2,{115,107,0}}, +/* 18265 */ {(12<<2)|2,{115,107,0}}, +/* 18266 */ {(12<<2)|2,{115,107,0}}, +/* 18267 */ {(12<<2)|2,{115,107,0}}, +/* 18268 */ {(12<<2)|2,{115,107,0}}, +/* 18269 */ {(12<<2)|2,{115,107,0}}, +/* 18270 */ {(12<<2)|2,{115,107,0}}, +/* 18271 */ {(12<<2)|2,{115,107,0}}, +/* 18272 */ {(12<<2)|2,{115,113,0}}, +/* 18273 */ {(12<<2)|2,{115,113,0}}, +/* 18274 */ {(12<<2)|2,{115,113,0}}, +/* 18275 */ {(12<<2)|2,{115,113,0}}, +/* 18276 */ {(12<<2)|2,{115,113,0}}, +/* 18277 */ {(12<<2)|2,{115,113,0}}, +/* 18278 */ {(12<<2)|2,{115,113,0}}, +/* 18279 */ {(12<<2)|2,{115,113,0}}, +/* 18280 */ {(12<<2)|2,{115,113,0}}, +/* 18281 */ {(12<<2)|2,{115,113,0}}, +/* 18282 */ {(12<<2)|2,{115,113,0}}, +/* 18283 */ {(12<<2)|2,{115,113,0}}, +/* 18284 */ {(12<<2)|2,{115,113,0}}, +/* 18285 */ {(12<<2)|2,{115,113,0}}, +/* 18286 */ {(12<<2)|2,{115,113,0}}, +/* 18287 */ {(12<<2)|2,{115,113,0}}, +/* 18288 */ {(12<<2)|2,{115,118,0}}, +/* 18289 */ {(12<<2)|2,{115,118,0}}, +/* 18290 */ {(12<<2)|2,{115,118,0}}, +/* 18291 */ {(12<<2)|2,{115,118,0}}, +/* 18292 */ {(12<<2)|2,{115,118,0}}, +/* 18293 */ {(12<<2)|2,{115,118,0}}, +/* 18294 */ {(12<<2)|2,{115,118,0}}, +/* 18295 */ {(12<<2)|2,{115,118,0}}, +/* 18296 */ {(12<<2)|2,{115,118,0}}, +/* 18297 */ {(12<<2)|2,{115,118,0}}, +/* 18298 */ {(12<<2)|2,{115,118,0}}, +/* 18299 */ {(12<<2)|2,{115,118,0}}, +/* 18300 */ {(12<<2)|2,{115,118,0}}, +/* 18301 */ {(12<<2)|2,{115,118,0}}, +/* 18302 */ {(12<<2)|2,{115,118,0}}, +/* 18303 */ {(12<<2)|2,{115,118,0}}, +/* 18304 */ {(12<<2)|2,{115,119,0}}, +/* 18305 */ {(12<<2)|2,{115,119,0}}, +/* 18306 */ {(12<<2)|2,{115,119,0}}, +/* 18307 */ {(12<<2)|2,{115,119,0}}, +/* 18308 */ {(12<<2)|2,{115,119,0}}, +/* 18309 */ {(12<<2)|2,{115,119,0}}, +/* 18310 */ {(12<<2)|2,{115,119,0}}, +/* 18311 */ {(12<<2)|2,{115,119,0}}, +/* 18312 */ {(12<<2)|2,{115,119,0}}, +/* 18313 */ {(12<<2)|2,{115,119,0}}, +/* 18314 */ {(12<<2)|2,{115,119,0}}, +/* 18315 */ {(12<<2)|2,{115,119,0}}, +/* 18316 */ {(12<<2)|2,{115,119,0}}, +/* 18317 */ {(12<<2)|2,{115,119,0}}, +/* 18318 */ {(12<<2)|2,{115,119,0}}, +/* 18319 */ {(12<<2)|2,{115,119,0}}, +/* 18320 */ {(12<<2)|2,{115,120,0}}, +/* 18321 */ {(12<<2)|2,{115,120,0}}, +/* 18322 */ {(12<<2)|2,{115,120,0}}, +/* 18323 */ {(12<<2)|2,{115,120,0}}, +/* 18324 */ {(12<<2)|2,{115,120,0}}, +/* 18325 */ {(12<<2)|2,{115,120,0}}, +/* 18326 */ {(12<<2)|2,{115,120,0}}, +/* 18327 */ {(12<<2)|2,{115,120,0}}, +/* 18328 */ {(12<<2)|2,{115,120,0}}, +/* 18329 */ {(12<<2)|2,{115,120,0}}, +/* 18330 */ {(12<<2)|2,{115,120,0}}, +/* 18331 */ {(12<<2)|2,{115,120,0}}, +/* 18332 */ {(12<<2)|2,{115,120,0}}, +/* 18333 */ {(12<<2)|2,{115,120,0}}, +/* 18334 */ {(12<<2)|2,{115,120,0}}, +/* 18335 */ {(12<<2)|2,{115,120,0}}, +/* 18336 */ {(12<<2)|2,{115,121,0}}, +/* 18337 */ {(12<<2)|2,{115,121,0}}, +/* 18338 */ {(12<<2)|2,{115,121,0}}, +/* 18339 */ {(12<<2)|2,{115,121,0}}, +/* 18340 */ {(12<<2)|2,{115,121,0}}, +/* 18341 */ {(12<<2)|2,{115,121,0}}, +/* 18342 */ {(12<<2)|2,{115,121,0}}, +/* 18343 */ {(12<<2)|2,{115,121,0}}, +/* 18344 */ {(12<<2)|2,{115,121,0}}, +/* 18345 */ {(12<<2)|2,{115,121,0}}, +/* 18346 */ {(12<<2)|2,{115,121,0}}, +/* 18347 */ {(12<<2)|2,{115,121,0}}, +/* 18348 */ {(12<<2)|2,{115,121,0}}, +/* 18349 */ {(12<<2)|2,{115,121,0}}, +/* 18350 */ {(12<<2)|2,{115,121,0}}, +/* 18351 */ {(12<<2)|2,{115,121,0}}, +/* 18352 */ {(12<<2)|2,{115,122,0}}, +/* 18353 */ {(12<<2)|2,{115,122,0}}, +/* 18354 */ {(12<<2)|2,{115,122,0}}, +/* 18355 */ {(12<<2)|2,{115,122,0}}, +/* 18356 */ {(12<<2)|2,{115,122,0}}, +/* 18357 */ {(12<<2)|2,{115,122,0}}, +/* 18358 */ {(12<<2)|2,{115,122,0}}, +/* 18359 */ {(12<<2)|2,{115,122,0}}, +/* 18360 */ {(12<<2)|2,{115,122,0}}, +/* 18361 */ {(12<<2)|2,{115,122,0}}, +/* 18362 */ {(12<<2)|2,{115,122,0}}, +/* 18363 */ {(12<<2)|2,{115,122,0}}, +/* 18364 */ {(12<<2)|2,{115,122,0}}, +/* 18365 */ {(12<<2)|2,{115,122,0}}, +/* 18366 */ {(12<<2)|2,{115,122,0}}, +/* 18367 */ {(12<<2)|2,{115,122,0}}, +/* 18368 */ {(13<<2)|2,{115,38,0}}, +/* 18369 */ {(13<<2)|2,{115,38,0}}, +/* 18370 */ {(13<<2)|2,{115,38,0}}, +/* 18371 */ {(13<<2)|2,{115,38,0}}, +/* 18372 */ {(13<<2)|2,{115,38,0}}, +/* 18373 */ {(13<<2)|2,{115,38,0}}, +/* 18374 */ {(13<<2)|2,{115,38,0}}, +/* 18375 */ {(13<<2)|2,{115,38,0}}, +/* 18376 */ {(13<<2)|2,{115,42,0}}, +/* 18377 */ {(13<<2)|2,{115,42,0}}, +/* 18378 */ {(13<<2)|2,{115,42,0}}, +/* 18379 */ {(13<<2)|2,{115,42,0}}, +/* 18380 */ {(13<<2)|2,{115,42,0}}, +/* 18381 */ {(13<<2)|2,{115,42,0}}, +/* 18382 */ {(13<<2)|2,{115,42,0}}, +/* 18383 */ {(13<<2)|2,{115,42,0}}, +/* 18384 */ {(13<<2)|2,{115,44,0}}, +/* 18385 */ {(13<<2)|2,{115,44,0}}, +/* 18386 */ {(13<<2)|2,{115,44,0}}, +/* 18387 */ {(13<<2)|2,{115,44,0}}, +/* 18388 */ {(13<<2)|2,{115,44,0}}, +/* 18389 */ {(13<<2)|2,{115,44,0}}, +/* 18390 */ {(13<<2)|2,{115,44,0}}, +/* 18391 */ {(13<<2)|2,{115,44,0}}, +/* 18392 */ {(13<<2)|2,{115,59,0}}, +/* 18393 */ {(13<<2)|2,{115,59,0}}, +/* 18394 */ {(13<<2)|2,{115,59,0}}, +/* 18395 */ {(13<<2)|2,{115,59,0}}, +/* 18396 */ {(13<<2)|2,{115,59,0}}, +/* 18397 */ {(13<<2)|2,{115,59,0}}, +/* 18398 */ {(13<<2)|2,{115,59,0}}, +/* 18399 */ {(13<<2)|2,{115,59,0}}, +/* 18400 */ {(13<<2)|2,{115,88,0}}, +/* 18401 */ {(13<<2)|2,{115,88,0}}, +/* 18402 */ {(13<<2)|2,{115,88,0}}, +/* 18403 */ {(13<<2)|2,{115,88,0}}, +/* 18404 */ {(13<<2)|2,{115,88,0}}, +/* 18405 */ {(13<<2)|2,{115,88,0}}, +/* 18406 */ {(13<<2)|2,{115,88,0}}, +/* 18407 */ {(13<<2)|2,{115,88,0}}, +/* 18408 */ {(13<<2)|2,{115,90,0}}, +/* 18409 */ {(13<<2)|2,{115,90,0}}, +/* 18410 */ {(13<<2)|2,{115,90,0}}, +/* 18411 */ {(13<<2)|2,{115,90,0}}, +/* 18412 */ {(13<<2)|2,{115,90,0}}, +/* 18413 */ {(13<<2)|2,{115,90,0}}, +/* 18414 */ {(13<<2)|2,{115,90,0}}, +/* 18415 */ {(13<<2)|2,{115,90,0}}, +/* 18416 */ {(15<<2)|2,{115,33,0}}, +/* 18417 */ {(15<<2)|2,{115,33,0}}, +/* 18418 */ {(15<<2)|2,{115,34,0}}, +/* 18419 */ {(15<<2)|2,{115,34,0}}, +/* 18420 */ {(15<<2)|2,{115,40,0}}, +/* 18421 */ {(15<<2)|2,{115,40,0}}, +/* 18422 */ {(15<<2)|2,{115,41,0}}, +/* 18423 */ {(15<<2)|2,{115,41,0}}, +/* 18424 */ {(15<<2)|2,{115,63,0}}, +/* 18425 */ {(15<<2)|2,{115,63,0}}, +/* 18426 */ {(16<<2)|2,{115,39,0}}, +/* 18427 */ {(16<<2)|2,{115,43,0}}, +/* 18428 */ {(16<<2)|2,{115,124,0}}, +/* 18429 */ {(5<<2)|1,{115,0,0}}, +/* 18430 */ {(5<<2)|1,{115,0,0}}, +/* 18431 */ {(5<<2)|1,{115,0,0}}, +/* 18432 */ {(15<<2)|3,{116,48,48}}, +/* 18433 */ {(15<<2)|3,{116,48,48}}, +/* 18434 */ {(15<<2)|3,{116,48,49}}, +/* 18435 */ {(15<<2)|3,{116,48,49}}, +/* 18436 */ {(15<<2)|3,{116,48,50}}, +/* 18437 */ {(15<<2)|3,{116,48,50}}, +/* 18438 */ {(15<<2)|3,{116,48,97}}, +/* 18439 */ {(15<<2)|3,{116,48,97}}, +/* 18440 */ {(15<<2)|3,{116,48,99}}, +/* 18441 */ {(15<<2)|3,{116,48,99}}, +/* 18442 */ {(15<<2)|3,{116,48,101}}, +/* 18443 */ {(15<<2)|3,{116,48,101}}, +/* 18444 */ {(15<<2)|3,{116,48,105}}, +/* 18445 */ {(15<<2)|3,{116,48,105}}, +/* 18446 */ {(15<<2)|3,{116,48,111}}, +/* 18447 */ {(15<<2)|3,{116,48,111}}, +/* 18448 */ {(15<<2)|3,{116,48,115}}, +/* 18449 */ {(15<<2)|3,{116,48,115}}, +/* 18450 */ {(15<<2)|3,{116,48,116}}, +/* 18451 */ {(15<<2)|3,{116,48,116}}, +/* 18452 */ {(16<<2)|3,{116,48,32}}, +/* 18453 */ {(16<<2)|3,{116,48,37}}, +/* 18454 */ {(16<<2)|3,{116,48,45}}, +/* 18455 */ {(16<<2)|3,{116,48,46}}, +/* 18456 */ {(16<<2)|3,{116,48,47}}, +/* 18457 */ {(16<<2)|3,{116,48,51}}, +/* 18458 */ {(16<<2)|3,{116,48,52}}, +/* 18459 */ {(16<<2)|3,{116,48,53}}, +/* 18460 */ {(16<<2)|3,{116,48,54}}, +/* 18461 */ {(16<<2)|3,{116,48,55}}, +/* 18462 */ {(16<<2)|3,{116,48,56}}, +/* 18463 */ {(16<<2)|3,{116,48,57}}, +/* 18464 */ {(16<<2)|3,{116,48,61}}, +/* 18465 */ {(16<<2)|3,{116,48,65}}, +/* 18466 */ {(16<<2)|3,{116,48,95}}, +/* 18467 */ {(16<<2)|3,{116,48,98}}, +/* 18468 */ {(16<<2)|3,{116,48,100}}, +/* 18469 */ {(16<<2)|3,{116,48,102}}, +/* 18470 */ {(16<<2)|3,{116,48,103}}, +/* 18471 */ {(16<<2)|3,{116,48,104}}, +/* 18472 */ {(16<<2)|3,{116,48,108}}, +/* 18473 */ {(16<<2)|3,{116,48,109}}, +/* 18474 */ {(16<<2)|3,{116,48,110}}, +/* 18475 */ {(16<<2)|3,{116,48,112}}, +/* 18476 */ {(16<<2)|3,{116,48,114}}, +/* 18477 */ {(16<<2)|3,{116,48,117}}, +/* 18478 */ {(10<<2)|2,{116,48,0}}, +/* 18479 */ {(10<<2)|2,{116,48,0}}, +/* 18480 */ {(10<<2)|2,{116,48,0}}, +/* 18481 */ {(10<<2)|2,{116,48,0}}, +/* 18482 */ {(10<<2)|2,{116,48,0}}, +/* 18483 */ {(10<<2)|2,{116,48,0}}, +/* 18484 */ {(10<<2)|2,{116,48,0}}, +/* 18485 */ {(10<<2)|2,{116,48,0}}, +/* 18486 */ {(10<<2)|2,{116,48,0}}, +/* 18487 */ {(10<<2)|2,{116,48,0}}, +/* 18488 */ {(10<<2)|2,{116,48,0}}, +/* 18489 */ {(10<<2)|2,{116,48,0}}, +/* 18490 */ {(10<<2)|2,{116,48,0}}, +/* 18491 */ {(10<<2)|2,{116,48,0}}, +/* 18492 */ {(10<<2)|2,{116,48,0}}, +/* 18493 */ {(10<<2)|2,{116,48,0}}, +/* 18494 */ {(10<<2)|2,{116,48,0}}, +/* 18495 */ {(10<<2)|2,{116,48,0}}, +/* 18496 */ {(15<<2)|3,{116,49,48}}, +/* 18497 */ {(15<<2)|3,{116,49,48}}, +/* 18498 */ {(15<<2)|3,{116,49,49}}, +/* 18499 */ {(15<<2)|3,{116,49,49}}, +/* 18500 */ {(15<<2)|3,{116,49,50}}, +/* 18501 */ {(15<<2)|3,{116,49,50}}, +/* 18502 */ {(15<<2)|3,{116,49,97}}, +/* 18503 */ {(15<<2)|3,{116,49,97}}, +/* 18504 */ {(15<<2)|3,{116,49,99}}, +/* 18505 */ {(15<<2)|3,{116,49,99}}, +/* 18506 */ {(15<<2)|3,{116,49,101}}, +/* 18507 */ {(15<<2)|3,{116,49,101}}, +/* 18508 */ {(15<<2)|3,{116,49,105}}, +/* 18509 */ {(15<<2)|3,{116,49,105}}, +/* 18510 */ {(15<<2)|3,{116,49,111}}, +/* 18511 */ {(15<<2)|3,{116,49,111}}, +/* 18512 */ {(15<<2)|3,{116,49,115}}, +/* 18513 */ {(15<<2)|3,{116,49,115}}, +/* 18514 */ {(15<<2)|3,{116,49,116}}, +/* 18515 */ {(15<<2)|3,{116,49,116}}, +/* 18516 */ {(16<<2)|3,{116,49,32}}, +/* 18517 */ {(16<<2)|3,{116,49,37}}, +/* 18518 */ {(16<<2)|3,{116,49,45}}, +/* 18519 */ {(16<<2)|3,{116,49,46}}, +/* 18520 */ {(16<<2)|3,{116,49,47}}, +/* 18521 */ {(16<<2)|3,{116,49,51}}, +/* 18522 */ {(16<<2)|3,{116,49,52}}, +/* 18523 */ {(16<<2)|3,{116,49,53}}, +/* 18524 */ {(16<<2)|3,{116,49,54}}, +/* 18525 */ {(16<<2)|3,{116,49,55}}, +/* 18526 */ {(16<<2)|3,{116,49,56}}, +/* 18527 */ {(16<<2)|3,{116,49,57}}, +/* 18528 */ {(16<<2)|3,{116,49,61}}, +/* 18529 */ {(16<<2)|3,{116,49,65}}, +/* 18530 */ {(16<<2)|3,{116,49,95}}, +/* 18531 */ {(16<<2)|3,{116,49,98}}, +/* 18532 */ {(16<<2)|3,{116,49,100}}, +/* 18533 */ {(16<<2)|3,{116,49,102}}, +/* 18534 */ {(16<<2)|3,{116,49,103}}, +/* 18535 */ {(16<<2)|3,{116,49,104}}, +/* 18536 */ {(16<<2)|3,{116,49,108}}, +/* 18537 */ {(16<<2)|3,{116,49,109}}, +/* 18538 */ {(16<<2)|3,{116,49,110}}, +/* 18539 */ {(16<<2)|3,{116,49,112}}, +/* 18540 */ {(16<<2)|3,{116,49,114}}, +/* 18541 */ {(16<<2)|3,{116,49,117}}, +/* 18542 */ {(10<<2)|2,{116,49,0}}, +/* 18543 */ {(10<<2)|2,{116,49,0}}, +/* 18544 */ {(10<<2)|2,{116,49,0}}, +/* 18545 */ {(10<<2)|2,{116,49,0}}, +/* 18546 */ {(10<<2)|2,{116,49,0}}, +/* 18547 */ {(10<<2)|2,{116,49,0}}, +/* 18548 */ {(10<<2)|2,{116,49,0}}, +/* 18549 */ {(10<<2)|2,{116,49,0}}, +/* 18550 */ {(10<<2)|2,{116,49,0}}, +/* 18551 */ {(10<<2)|2,{116,49,0}}, +/* 18552 */ {(10<<2)|2,{116,49,0}}, +/* 18553 */ {(10<<2)|2,{116,49,0}}, +/* 18554 */ {(10<<2)|2,{116,49,0}}, +/* 18555 */ {(10<<2)|2,{116,49,0}}, +/* 18556 */ {(10<<2)|2,{116,49,0}}, +/* 18557 */ {(10<<2)|2,{116,49,0}}, +/* 18558 */ {(10<<2)|2,{116,49,0}}, +/* 18559 */ {(10<<2)|2,{116,49,0}}, +/* 18560 */ {(15<<2)|3,{116,50,48}}, +/* 18561 */ {(15<<2)|3,{116,50,48}}, +/* 18562 */ {(15<<2)|3,{116,50,49}}, +/* 18563 */ {(15<<2)|3,{116,50,49}}, +/* 18564 */ {(15<<2)|3,{116,50,50}}, +/* 18565 */ {(15<<2)|3,{116,50,50}}, +/* 18566 */ {(15<<2)|3,{116,50,97}}, +/* 18567 */ {(15<<2)|3,{116,50,97}}, +/* 18568 */ {(15<<2)|3,{116,50,99}}, +/* 18569 */ {(15<<2)|3,{116,50,99}}, +/* 18570 */ {(15<<2)|3,{116,50,101}}, +/* 18571 */ {(15<<2)|3,{116,50,101}}, +/* 18572 */ {(15<<2)|3,{116,50,105}}, +/* 18573 */ {(15<<2)|3,{116,50,105}}, +/* 18574 */ {(15<<2)|3,{116,50,111}}, +/* 18575 */ {(15<<2)|3,{116,50,111}}, +/* 18576 */ {(15<<2)|3,{116,50,115}}, +/* 18577 */ {(15<<2)|3,{116,50,115}}, +/* 18578 */ {(15<<2)|3,{116,50,116}}, +/* 18579 */ {(15<<2)|3,{116,50,116}}, +/* 18580 */ {(16<<2)|3,{116,50,32}}, +/* 18581 */ {(16<<2)|3,{116,50,37}}, +/* 18582 */ {(16<<2)|3,{116,50,45}}, +/* 18583 */ {(16<<2)|3,{116,50,46}}, +/* 18584 */ {(16<<2)|3,{116,50,47}}, +/* 18585 */ {(16<<2)|3,{116,50,51}}, +/* 18586 */ {(16<<2)|3,{116,50,52}}, +/* 18587 */ {(16<<2)|3,{116,50,53}}, +/* 18588 */ {(16<<2)|3,{116,50,54}}, +/* 18589 */ {(16<<2)|3,{116,50,55}}, +/* 18590 */ {(16<<2)|3,{116,50,56}}, +/* 18591 */ {(16<<2)|3,{116,50,57}}, +/* 18592 */ {(16<<2)|3,{116,50,61}}, +/* 18593 */ {(16<<2)|3,{116,50,65}}, +/* 18594 */ {(16<<2)|3,{116,50,95}}, +/* 18595 */ {(16<<2)|3,{116,50,98}}, +/* 18596 */ {(16<<2)|3,{116,50,100}}, +/* 18597 */ {(16<<2)|3,{116,50,102}}, +/* 18598 */ {(16<<2)|3,{116,50,103}}, +/* 18599 */ {(16<<2)|3,{116,50,104}}, +/* 18600 */ {(16<<2)|3,{116,50,108}}, +/* 18601 */ {(16<<2)|3,{116,50,109}}, +/* 18602 */ {(16<<2)|3,{116,50,110}}, +/* 18603 */ {(16<<2)|3,{116,50,112}}, +/* 18604 */ {(16<<2)|3,{116,50,114}}, +/* 18605 */ {(16<<2)|3,{116,50,117}}, +/* 18606 */ {(10<<2)|2,{116,50,0}}, +/* 18607 */ {(10<<2)|2,{116,50,0}}, +/* 18608 */ {(10<<2)|2,{116,50,0}}, +/* 18609 */ {(10<<2)|2,{116,50,0}}, +/* 18610 */ {(10<<2)|2,{116,50,0}}, +/* 18611 */ {(10<<2)|2,{116,50,0}}, +/* 18612 */ {(10<<2)|2,{116,50,0}}, +/* 18613 */ {(10<<2)|2,{116,50,0}}, +/* 18614 */ {(10<<2)|2,{116,50,0}}, +/* 18615 */ {(10<<2)|2,{116,50,0}}, +/* 18616 */ {(10<<2)|2,{116,50,0}}, +/* 18617 */ {(10<<2)|2,{116,50,0}}, +/* 18618 */ {(10<<2)|2,{116,50,0}}, +/* 18619 */ {(10<<2)|2,{116,50,0}}, +/* 18620 */ {(10<<2)|2,{116,50,0}}, +/* 18621 */ {(10<<2)|2,{116,50,0}}, +/* 18622 */ {(10<<2)|2,{116,50,0}}, +/* 18623 */ {(10<<2)|2,{116,50,0}}, +/* 18624 */ {(15<<2)|3,{116,97,48}}, +/* 18625 */ {(15<<2)|3,{116,97,48}}, +/* 18626 */ {(15<<2)|3,{116,97,49}}, +/* 18627 */ {(15<<2)|3,{116,97,49}}, +/* 18628 */ {(15<<2)|3,{116,97,50}}, +/* 18629 */ {(15<<2)|3,{116,97,50}}, +/* 18630 */ {(15<<2)|3,{116,97,97}}, +/* 18631 */ {(15<<2)|3,{116,97,97}}, +/* 18632 */ {(15<<2)|3,{116,97,99}}, +/* 18633 */ {(15<<2)|3,{116,97,99}}, +/* 18634 */ {(15<<2)|3,{116,97,101}}, +/* 18635 */ {(15<<2)|3,{116,97,101}}, +/* 18636 */ {(15<<2)|3,{116,97,105}}, +/* 18637 */ {(15<<2)|3,{116,97,105}}, +/* 18638 */ {(15<<2)|3,{116,97,111}}, +/* 18639 */ {(15<<2)|3,{116,97,111}}, +/* 18640 */ {(15<<2)|3,{116,97,115}}, +/* 18641 */ {(15<<2)|3,{116,97,115}}, +/* 18642 */ {(15<<2)|3,{116,97,116}}, +/* 18643 */ {(15<<2)|3,{116,97,116}}, +/* 18644 */ {(16<<2)|3,{116,97,32}}, +/* 18645 */ {(16<<2)|3,{116,97,37}}, +/* 18646 */ {(16<<2)|3,{116,97,45}}, +/* 18647 */ {(16<<2)|3,{116,97,46}}, +/* 18648 */ {(16<<2)|3,{116,97,47}}, +/* 18649 */ {(16<<2)|3,{116,97,51}}, +/* 18650 */ {(16<<2)|3,{116,97,52}}, +/* 18651 */ {(16<<2)|3,{116,97,53}}, +/* 18652 */ {(16<<2)|3,{116,97,54}}, +/* 18653 */ {(16<<2)|3,{116,97,55}}, +/* 18654 */ {(16<<2)|3,{116,97,56}}, +/* 18655 */ {(16<<2)|3,{116,97,57}}, +/* 18656 */ {(16<<2)|3,{116,97,61}}, +/* 18657 */ {(16<<2)|3,{116,97,65}}, +/* 18658 */ {(16<<2)|3,{116,97,95}}, +/* 18659 */ {(16<<2)|3,{116,97,98}}, +/* 18660 */ {(16<<2)|3,{116,97,100}}, +/* 18661 */ {(16<<2)|3,{116,97,102}}, +/* 18662 */ {(16<<2)|3,{116,97,103}}, +/* 18663 */ {(16<<2)|3,{116,97,104}}, +/* 18664 */ {(16<<2)|3,{116,97,108}}, +/* 18665 */ {(16<<2)|3,{116,97,109}}, +/* 18666 */ {(16<<2)|3,{116,97,110}}, +/* 18667 */ {(16<<2)|3,{116,97,112}}, +/* 18668 */ {(16<<2)|3,{116,97,114}}, +/* 18669 */ {(16<<2)|3,{116,97,117}}, +/* 18670 */ {(10<<2)|2,{116,97,0}}, +/* 18671 */ {(10<<2)|2,{116,97,0}}, +/* 18672 */ {(10<<2)|2,{116,97,0}}, +/* 18673 */ {(10<<2)|2,{116,97,0}}, +/* 18674 */ {(10<<2)|2,{116,97,0}}, +/* 18675 */ {(10<<2)|2,{116,97,0}}, +/* 18676 */ {(10<<2)|2,{116,97,0}}, +/* 18677 */ {(10<<2)|2,{116,97,0}}, +/* 18678 */ {(10<<2)|2,{116,97,0}}, +/* 18679 */ {(10<<2)|2,{116,97,0}}, +/* 18680 */ {(10<<2)|2,{116,97,0}}, +/* 18681 */ {(10<<2)|2,{116,97,0}}, +/* 18682 */ {(10<<2)|2,{116,97,0}}, +/* 18683 */ {(10<<2)|2,{116,97,0}}, +/* 18684 */ {(10<<2)|2,{116,97,0}}, +/* 18685 */ {(10<<2)|2,{116,97,0}}, +/* 18686 */ {(10<<2)|2,{116,97,0}}, +/* 18687 */ {(10<<2)|2,{116,97,0}}, +/* 18688 */ {(15<<2)|3,{116,99,48}}, +/* 18689 */ {(15<<2)|3,{116,99,48}}, +/* 18690 */ {(15<<2)|3,{116,99,49}}, +/* 18691 */ {(15<<2)|3,{116,99,49}}, +/* 18692 */ {(15<<2)|3,{116,99,50}}, +/* 18693 */ {(15<<2)|3,{116,99,50}}, +/* 18694 */ {(15<<2)|3,{116,99,97}}, +/* 18695 */ {(15<<2)|3,{116,99,97}}, +/* 18696 */ {(15<<2)|3,{116,99,99}}, +/* 18697 */ {(15<<2)|3,{116,99,99}}, +/* 18698 */ {(15<<2)|3,{116,99,101}}, +/* 18699 */ {(15<<2)|3,{116,99,101}}, +/* 18700 */ {(15<<2)|3,{116,99,105}}, +/* 18701 */ {(15<<2)|3,{116,99,105}}, +/* 18702 */ {(15<<2)|3,{116,99,111}}, +/* 18703 */ {(15<<2)|3,{116,99,111}}, +/* 18704 */ {(15<<2)|3,{116,99,115}}, +/* 18705 */ {(15<<2)|3,{116,99,115}}, +/* 18706 */ {(15<<2)|3,{116,99,116}}, +/* 18707 */ {(15<<2)|3,{116,99,116}}, +/* 18708 */ {(16<<2)|3,{116,99,32}}, +/* 18709 */ {(16<<2)|3,{116,99,37}}, +/* 18710 */ {(16<<2)|3,{116,99,45}}, +/* 18711 */ {(16<<2)|3,{116,99,46}}, +/* 18712 */ {(16<<2)|3,{116,99,47}}, +/* 18713 */ {(16<<2)|3,{116,99,51}}, +/* 18714 */ {(16<<2)|3,{116,99,52}}, +/* 18715 */ {(16<<2)|3,{116,99,53}}, +/* 18716 */ {(16<<2)|3,{116,99,54}}, +/* 18717 */ {(16<<2)|3,{116,99,55}}, +/* 18718 */ {(16<<2)|3,{116,99,56}}, +/* 18719 */ {(16<<2)|3,{116,99,57}}, +/* 18720 */ {(16<<2)|3,{116,99,61}}, +/* 18721 */ {(16<<2)|3,{116,99,65}}, +/* 18722 */ {(16<<2)|3,{116,99,95}}, +/* 18723 */ {(16<<2)|3,{116,99,98}}, +/* 18724 */ {(16<<2)|3,{116,99,100}}, +/* 18725 */ {(16<<2)|3,{116,99,102}}, +/* 18726 */ {(16<<2)|3,{116,99,103}}, +/* 18727 */ {(16<<2)|3,{116,99,104}}, +/* 18728 */ {(16<<2)|3,{116,99,108}}, +/* 18729 */ {(16<<2)|3,{116,99,109}}, +/* 18730 */ {(16<<2)|3,{116,99,110}}, +/* 18731 */ {(16<<2)|3,{116,99,112}}, +/* 18732 */ {(16<<2)|3,{116,99,114}}, +/* 18733 */ {(16<<2)|3,{116,99,117}}, +/* 18734 */ {(10<<2)|2,{116,99,0}}, +/* 18735 */ {(10<<2)|2,{116,99,0}}, +/* 18736 */ {(10<<2)|2,{116,99,0}}, +/* 18737 */ {(10<<2)|2,{116,99,0}}, +/* 18738 */ {(10<<2)|2,{116,99,0}}, +/* 18739 */ {(10<<2)|2,{116,99,0}}, +/* 18740 */ {(10<<2)|2,{116,99,0}}, +/* 18741 */ {(10<<2)|2,{116,99,0}}, +/* 18742 */ {(10<<2)|2,{116,99,0}}, +/* 18743 */ {(10<<2)|2,{116,99,0}}, +/* 18744 */ {(10<<2)|2,{116,99,0}}, +/* 18745 */ {(10<<2)|2,{116,99,0}}, +/* 18746 */ {(10<<2)|2,{116,99,0}}, +/* 18747 */ {(10<<2)|2,{116,99,0}}, +/* 18748 */ {(10<<2)|2,{116,99,0}}, +/* 18749 */ {(10<<2)|2,{116,99,0}}, +/* 18750 */ {(10<<2)|2,{116,99,0}}, +/* 18751 */ {(10<<2)|2,{116,99,0}}, +/* 18752 */ {(15<<2)|3,{116,101,48}}, +/* 18753 */ {(15<<2)|3,{116,101,48}}, +/* 18754 */ {(15<<2)|3,{116,101,49}}, +/* 18755 */ {(15<<2)|3,{116,101,49}}, +/* 18756 */ {(15<<2)|3,{116,101,50}}, +/* 18757 */ {(15<<2)|3,{116,101,50}}, +/* 18758 */ {(15<<2)|3,{116,101,97}}, +/* 18759 */ {(15<<2)|3,{116,101,97}}, +/* 18760 */ {(15<<2)|3,{116,101,99}}, +/* 18761 */ {(15<<2)|3,{116,101,99}}, +/* 18762 */ {(15<<2)|3,{116,101,101}}, +/* 18763 */ {(15<<2)|3,{116,101,101}}, +/* 18764 */ {(15<<2)|3,{116,101,105}}, +/* 18765 */ {(15<<2)|3,{116,101,105}}, +/* 18766 */ {(15<<2)|3,{116,101,111}}, +/* 18767 */ {(15<<2)|3,{116,101,111}}, +/* 18768 */ {(15<<2)|3,{116,101,115}}, +/* 18769 */ {(15<<2)|3,{116,101,115}}, +/* 18770 */ {(15<<2)|3,{116,101,116}}, +/* 18771 */ {(15<<2)|3,{116,101,116}}, +/* 18772 */ {(16<<2)|3,{116,101,32}}, +/* 18773 */ {(16<<2)|3,{116,101,37}}, +/* 18774 */ {(16<<2)|3,{116,101,45}}, +/* 18775 */ {(16<<2)|3,{116,101,46}}, +/* 18776 */ {(16<<2)|3,{116,101,47}}, +/* 18777 */ {(16<<2)|3,{116,101,51}}, +/* 18778 */ {(16<<2)|3,{116,101,52}}, +/* 18779 */ {(16<<2)|3,{116,101,53}}, +/* 18780 */ {(16<<2)|3,{116,101,54}}, +/* 18781 */ {(16<<2)|3,{116,101,55}}, +/* 18782 */ {(16<<2)|3,{116,101,56}}, +/* 18783 */ {(16<<2)|3,{116,101,57}}, +/* 18784 */ {(16<<2)|3,{116,101,61}}, +/* 18785 */ {(16<<2)|3,{116,101,65}}, +/* 18786 */ {(16<<2)|3,{116,101,95}}, +/* 18787 */ {(16<<2)|3,{116,101,98}}, +/* 18788 */ {(16<<2)|3,{116,101,100}}, +/* 18789 */ {(16<<2)|3,{116,101,102}}, +/* 18790 */ {(16<<2)|3,{116,101,103}}, +/* 18791 */ {(16<<2)|3,{116,101,104}}, +/* 18792 */ {(16<<2)|3,{116,101,108}}, +/* 18793 */ {(16<<2)|3,{116,101,109}}, +/* 18794 */ {(16<<2)|3,{116,101,110}}, +/* 18795 */ {(16<<2)|3,{116,101,112}}, +/* 18796 */ {(16<<2)|3,{116,101,114}}, +/* 18797 */ {(16<<2)|3,{116,101,117}}, +/* 18798 */ {(10<<2)|2,{116,101,0}}, +/* 18799 */ {(10<<2)|2,{116,101,0}}, +/* 18800 */ {(10<<2)|2,{116,101,0}}, +/* 18801 */ {(10<<2)|2,{116,101,0}}, +/* 18802 */ {(10<<2)|2,{116,101,0}}, +/* 18803 */ {(10<<2)|2,{116,101,0}}, +/* 18804 */ {(10<<2)|2,{116,101,0}}, +/* 18805 */ {(10<<2)|2,{116,101,0}}, +/* 18806 */ {(10<<2)|2,{116,101,0}}, +/* 18807 */ {(10<<2)|2,{116,101,0}}, +/* 18808 */ {(10<<2)|2,{116,101,0}}, +/* 18809 */ {(10<<2)|2,{116,101,0}}, +/* 18810 */ {(10<<2)|2,{116,101,0}}, +/* 18811 */ {(10<<2)|2,{116,101,0}}, +/* 18812 */ {(10<<2)|2,{116,101,0}}, +/* 18813 */ {(10<<2)|2,{116,101,0}}, +/* 18814 */ {(10<<2)|2,{116,101,0}}, +/* 18815 */ {(10<<2)|2,{116,101,0}}, +/* 18816 */ {(15<<2)|3,{116,105,48}}, +/* 18817 */ {(15<<2)|3,{116,105,48}}, +/* 18818 */ {(15<<2)|3,{116,105,49}}, +/* 18819 */ {(15<<2)|3,{116,105,49}}, +/* 18820 */ {(15<<2)|3,{116,105,50}}, +/* 18821 */ {(15<<2)|3,{116,105,50}}, +/* 18822 */ {(15<<2)|3,{116,105,97}}, +/* 18823 */ {(15<<2)|3,{116,105,97}}, +/* 18824 */ {(15<<2)|3,{116,105,99}}, +/* 18825 */ {(15<<2)|3,{116,105,99}}, +/* 18826 */ {(15<<2)|3,{116,105,101}}, +/* 18827 */ {(15<<2)|3,{116,105,101}}, +/* 18828 */ {(15<<2)|3,{116,105,105}}, +/* 18829 */ {(15<<2)|3,{116,105,105}}, +/* 18830 */ {(15<<2)|3,{116,105,111}}, +/* 18831 */ {(15<<2)|3,{116,105,111}}, +/* 18832 */ {(15<<2)|3,{116,105,115}}, +/* 18833 */ {(15<<2)|3,{116,105,115}}, +/* 18834 */ {(15<<2)|3,{116,105,116}}, +/* 18835 */ {(15<<2)|3,{116,105,116}}, +/* 18836 */ {(16<<2)|3,{116,105,32}}, +/* 18837 */ {(16<<2)|3,{116,105,37}}, +/* 18838 */ {(16<<2)|3,{116,105,45}}, +/* 18839 */ {(16<<2)|3,{116,105,46}}, +/* 18840 */ {(16<<2)|3,{116,105,47}}, +/* 18841 */ {(16<<2)|3,{116,105,51}}, +/* 18842 */ {(16<<2)|3,{116,105,52}}, +/* 18843 */ {(16<<2)|3,{116,105,53}}, +/* 18844 */ {(16<<2)|3,{116,105,54}}, +/* 18845 */ {(16<<2)|3,{116,105,55}}, +/* 18846 */ {(16<<2)|3,{116,105,56}}, +/* 18847 */ {(16<<2)|3,{116,105,57}}, +/* 18848 */ {(16<<2)|3,{116,105,61}}, +/* 18849 */ {(16<<2)|3,{116,105,65}}, +/* 18850 */ {(16<<2)|3,{116,105,95}}, +/* 18851 */ {(16<<2)|3,{116,105,98}}, +/* 18852 */ {(16<<2)|3,{116,105,100}}, +/* 18853 */ {(16<<2)|3,{116,105,102}}, +/* 18854 */ {(16<<2)|3,{116,105,103}}, +/* 18855 */ {(16<<2)|3,{116,105,104}}, +/* 18856 */ {(16<<2)|3,{116,105,108}}, +/* 18857 */ {(16<<2)|3,{116,105,109}}, +/* 18858 */ {(16<<2)|3,{116,105,110}}, +/* 18859 */ {(16<<2)|3,{116,105,112}}, +/* 18860 */ {(16<<2)|3,{116,105,114}}, +/* 18861 */ {(16<<2)|3,{116,105,117}}, +/* 18862 */ {(10<<2)|2,{116,105,0}}, +/* 18863 */ {(10<<2)|2,{116,105,0}}, +/* 18864 */ {(10<<2)|2,{116,105,0}}, +/* 18865 */ {(10<<2)|2,{116,105,0}}, +/* 18866 */ {(10<<2)|2,{116,105,0}}, +/* 18867 */ {(10<<2)|2,{116,105,0}}, +/* 18868 */ {(10<<2)|2,{116,105,0}}, +/* 18869 */ {(10<<2)|2,{116,105,0}}, +/* 18870 */ {(10<<2)|2,{116,105,0}}, +/* 18871 */ {(10<<2)|2,{116,105,0}}, +/* 18872 */ {(10<<2)|2,{116,105,0}}, +/* 18873 */ {(10<<2)|2,{116,105,0}}, +/* 18874 */ {(10<<2)|2,{116,105,0}}, +/* 18875 */ {(10<<2)|2,{116,105,0}}, +/* 18876 */ {(10<<2)|2,{116,105,0}}, +/* 18877 */ {(10<<2)|2,{116,105,0}}, +/* 18878 */ {(10<<2)|2,{116,105,0}}, +/* 18879 */ {(10<<2)|2,{116,105,0}}, +/* 18880 */ {(15<<2)|3,{116,111,48}}, +/* 18881 */ {(15<<2)|3,{116,111,48}}, +/* 18882 */ {(15<<2)|3,{116,111,49}}, +/* 18883 */ {(15<<2)|3,{116,111,49}}, +/* 18884 */ {(15<<2)|3,{116,111,50}}, +/* 18885 */ {(15<<2)|3,{116,111,50}}, +/* 18886 */ {(15<<2)|3,{116,111,97}}, +/* 18887 */ {(15<<2)|3,{116,111,97}}, +/* 18888 */ {(15<<2)|3,{116,111,99}}, +/* 18889 */ {(15<<2)|3,{116,111,99}}, +/* 18890 */ {(15<<2)|3,{116,111,101}}, +/* 18891 */ {(15<<2)|3,{116,111,101}}, +/* 18892 */ {(15<<2)|3,{116,111,105}}, +/* 18893 */ {(15<<2)|3,{116,111,105}}, +/* 18894 */ {(15<<2)|3,{116,111,111}}, +/* 18895 */ {(15<<2)|3,{116,111,111}}, +/* 18896 */ {(15<<2)|3,{116,111,115}}, +/* 18897 */ {(15<<2)|3,{116,111,115}}, +/* 18898 */ {(15<<2)|3,{116,111,116}}, +/* 18899 */ {(15<<2)|3,{116,111,116}}, +/* 18900 */ {(16<<2)|3,{116,111,32}}, +/* 18901 */ {(16<<2)|3,{116,111,37}}, +/* 18902 */ {(16<<2)|3,{116,111,45}}, +/* 18903 */ {(16<<2)|3,{116,111,46}}, +/* 18904 */ {(16<<2)|3,{116,111,47}}, +/* 18905 */ {(16<<2)|3,{116,111,51}}, +/* 18906 */ {(16<<2)|3,{116,111,52}}, +/* 18907 */ {(16<<2)|3,{116,111,53}}, +/* 18908 */ {(16<<2)|3,{116,111,54}}, +/* 18909 */ {(16<<2)|3,{116,111,55}}, +/* 18910 */ {(16<<2)|3,{116,111,56}}, +/* 18911 */ {(16<<2)|3,{116,111,57}}, +/* 18912 */ {(16<<2)|3,{116,111,61}}, +/* 18913 */ {(16<<2)|3,{116,111,65}}, +/* 18914 */ {(16<<2)|3,{116,111,95}}, +/* 18915 */ {(16<<2)|3,{116,111,98}}, +/* 18916 */ {(16<<2)|3,{116,111,100}}, +/* 18917 */ {(16<<2)|3,{116,111,102}}, +/* 18918 */ {(16<<2)|3,{116,111,103}}, +/* 18919 */ {(16<<2)|3,{116,111,104}}, +/* 18920 */ {(16<<2)|3,{116,111,108}}, +/* 18921 */ {(16<<2)|3,{116,111,109}}, +/* 18922 */ {(16<<2)|3,{116,111,110}}, +/* 18923 */ {(16<<2)|3,{116,111,112}}, +/* 18924 */ {(16<<2)|3,{116,111,114}}, +/* 18925 */ {(16<<2)|3,{116,111,117}}, +/* 18926 */ {(10<<2)|2,{116,111,0}}, +/* 18927 */ {(10<<2)|2,{116,111,0}}, +/* 18928 */ {(10<<2)|2,{116,111,0}}, +/* 18929 */ {(10<<2)|2,{116,111,0}}, +/* 18930 */ {(10<<2)|2,{116,111,0}}, +/* 18931 */ {(10<<2)|2,{116,111,0}}, +/* 18932 */ {(10<<2)|2,{116,111,0}}, +/* 18933 */ {(10<<2)|2,{116,111,0}}, +/* 18934 */ {(10<<2)|2,{116,111,0}}, +/* 18935 */ {(10<<2)|2,{116,111,0}}, +/* 18936 */ {(10<<2)|2,{116,111,0}}, +/* 18937 */ {(10<<2)|2,{116,111,0}}, +/* 18938 */ {(10<<2)|2,{116,111,0}}, +/* 18939 */ {(10<<2)|2,{116,111,0}}, +/* 18940 */ {(10<<2)|2,{116,111,0}}, +/* 18941 */ {(10<<2)|2,{116,111,0}}, +/* 18942 */ {(10<<2)|2,{116,111,0}}, +/* 18943 */ {(10<<2)|2,{116,111,0}}, +/* 18944 */ {(15<<2)|3,{116,115,48}}, +/* 18945 */ {(15<<2)|3,{116,115,48}}, +/* 18946 */ {(15<<2)|3,{116,115,49}}, +/* 18947 */ {(15<<2)|3,{116,115,49}}, +/* 18948 */ {(15<<2)|3,{116,115,50}}, +/* 18949 */ {(15<<2)|3,{116,115,50}}, +/* 18950 */ {(15<<2)|3,{116,115,97}}, +/* 18951 */ {(15<<2)|3,{116,115,97}}, +/* 18952 */ {(15<<2)|3,{116,115,99}}, +/* 18953 */ {(15<<2)|3,{116,115,99}}, +/* 18954 */ {(15<<2)|3,{116,115,101}}, +/* 18955 */ {(15<<2)|3,{116,115,101}}, +/* 18956 */ {(15<<2)|3,{116,115,105}}, +/* 18957 */ {(15<<2)|3,{116,115,105}}, +/* 18958 */ {(15<<2)|3,{116,115,111}}, +/* 18959 */ {(15<<2)|3,{116,115,111}}, +/* 18960 */ {(15<<2)|3,{116,115,115}}, +/* 18961 */ {(15<<2)|3,{116,115,115}}, +/* 18962 */ {(15<<2)|3,{116,115,116}}, +/* 18963 */ {(15<<2)|3,{116,115,116}}, +/* 18964 */ {(16<<2)|3,{116,115,32}}, +/* 18965 */ {(16<<2)|3,{116,115,37}}, +/* 18966 */ {(16<<2)|3,{116,115,45}}, +/* 18967 */ {(16<<2)|3,{116,115,46}}, +/* 18968 */ {(16<<2)|3,{116,115,47}}, +/* 18969 */ {(16<<2)|3,{116,115,51}}, +/* 18970 */ {(16<<2)|3,{116,115,52}}, +/* 18971 */ {(16<<2)|3,{116,115,53}}, +/* 18972 */ {(16<<2)|3,{116,115,54}}, +/* 18973 */ {(16<<2)|3,{116,115,55}}, +/* 18974 */ {(16<<2)|3,{116,115,56}}, +/* 18975 */ {(16<<2)|3,{116,115,57}}, +/* 18976 */ {(16<<2)|3,{116,115,61}}, +/* 18977 */ {(16<<2)|3,{116,115,65}}, +/* 18978 */ {(16<<2)|3,{116,115,95}}, +/* 18979 */ {(16<<2)|3,{116,115,98}}, +/* 18980 */ {(16<<2)|3,{116,115,100}}, +/* 18981 */ {(16<<2)|3,{116,115,102}}, +/* 18982 */ {(16<<2)|3,{116,115,103}}, +/* 18983 */ {(16<<2)|3,{116,115,104}}, +/* 18984 */ {(16<<2)|3,{116,115,108}}, +/* 18985 */ {(16<<2)|3,{116,115,109}}, +/* 18986 */ {(16<<2)|3,{116,115,110}}, +/* 18987 */ {(16<<2)|3,{116,115,112}}, +/* 18988 */ {(16<<2)|3,{116,115,114}}, +/* 18989 */ {(16<<2)|3,{116,115,117}}, +/* 18990 */ {(10<<2)|2,{116,115,0}}, +/* 18991 */ {(10<<2)|2,{116,115,0}}, +/* 18992 */ {(10<<2)|2,{116,115,0}}, +/* 18993 */ {(10<<2)|2,{116,115,0}}, +/* 18994 */ {(10<<2)|2,{116,115,0}}, +/* 18995 */ {(10<<2)|2,{116,115,0}}, +/* 18996 */ {(10<<2)|2,{116,115,0}}, +/* 18997 */ {(10<<2)|2,{116,115,0}}, +/* 18998 */ {(10<<2)|2,{116,115,0}}, +/* 18999 */ {(10<<2)|2,{116,115,0}}, +/* 19000 */ {(10<<2)|2,{116,115,0}}, +/* 19001 */ {(10<<2)|2,{116,115,0}}, +/* 19002 */ {(10<<2)|2,{116,115,0}}, +/* 19003 */ {(10<<2)|2,{116,115,0}}, +/* 19004 */ {(10<<2)|2,{116,115,0}}, +/* 19005 */ {(10<<2)|2,{116,115,0}}, +/* 19006 */ {(10<<2)|2,{116,115,0}}, +/* 19007 */ {(10<<2)|2,{116,115,0}}, +/* 19008 */ {(15<<2)|3,{116,116,48}}, +/* 19009 */ {(15<<2)|3,{116,116,48}}, +/* 19010 */ {(15<<2)|3,{116,116,49}}, +/* 19011 */ {(15<<2)|3,{116,116,49}}, +/* 19012 */ {(15<<2)|3,{116,116,50}}, +/* 19013 */ {(15<<2)|3,{116,116,50}}, +/* 19014 */ {(15<<2)|3,{116,116,97}}, +/* 19015 */ {(15<<2)|3,{116,116,97}}, +/* 19016 */ {(15<<2)|3,{116,116,99}}, +/* 19017 */ {(15<<2)|3,{116,116,99}}, +/* 19018 */ {(15<<2)|3,{116,116,101}}, +/* 19019 */ {(15<<2)|3,{116,116,101}}, +/* 19020 */ {(15<<2)|3,{116,116,105}}, +/* 19021 */ {(15<<2)|3,{116,116,105}}, +/* 19022 */ {(15<<2)|3,{116,116,111}}, +/* 19023 */ {(15<<2)|3,{116,116,111}}, +/* 19024 */ {(15<<2)|3,{116,116,115}}, +/* 19025 */ {(15<<2)|3,{116,116,115}}, +/* 19026 */ {(15<<2)|3,{116,116,116}}, +/* 19027 */ {(15<<2)|3,{116,116,116}}, +/* 19028 */ {(16<<2)|3,{116,116,32}}, +/* 19029 */ {(16<<2)|3,{116,116,37}}, +/* 19030 */ {(16<<2)|3,{116,116,45}}, +/* 19031 */ {(16<<2)|3,{116,116,46}}, +/* 19032 */ {(16<<2)|3,{116,116,47}}, +/* 19033 */ {(16<<2)|3,{116,116,51}}, +/* 19034 */ {(16<<2)|3,{116,116,52}}, +/* 19035 */ {(16<<2)|3,{116,116,53}}, +/* 19036 */ {(16<<2)|3,{116,116,54}}, +/* 19037 */ {(16<<2)|3,{116,116,55}}, +/* 19038 */ {(16<<2)|3,{116,116,56}}, +/* 19039 */ {(16<<2)|3,{116,116,57}}, +/* 19040 */ {(16<<2)|3,{116,116,61}}, +/* 19041 */ {(16<<2)|3,{116,116,65}}, +/* 19042 */ {(16<<2)|3,{116,116,95}}, +/* 19043 */ {(16<<2)|3,{116,116,98}}, +/* 19044 */ {(16<<2)|3,{116,116,100}}, +/* 19045 */ {(16<<2)|3,{116,116,102}}, +/* 19046 */ {(16<<2)|3,{116,116,103}}, +/* 19047 */ {(16<<2)|3,{116,116,104}}, +/* 19048 */ {(16<<2)|3,{116,116,108}}, +/* 19049 */ {(16<<2)|3,{116,116,109}}, +/* 19050 */ {(16<<2)|3,{116,116,110}}, +/* 19051 */ {(16<<2)|3,{116,116,112}}, +/* 19052 */ {(16<<2)|3,{116,116,114}}, +/* 19053 */ {(16<<2)|3,{116,116,117}}, +/* 19054 */ {(10<<2)|2,{116,116,0}}, +/* 19055 */ {(10<<2)|2,{116,116,0}}, +/* 19056 */ {(10<<2)|2,{116,116,0}}, +/* 19057 */ {(10<<2)|2,{116,116,0}}, +/* 19058 */ {(10<<2)|2,{116,116,0}}, +/* 19059 */ {(10<<2)|2,{116,116,0}}, +/* 19060 */ {(10<<2)|2,{116,116,0}}, +/* 19061 */ {(10<<2)|2,{116,116,0}}, +/* 19062 */ {(10<<2)|2,{116,116,0}}, +/* 19063 */ {(10<<2)|2,{116,116,0}}, +/* 19064 */ {(10<<2)|2,{116,116,0}}, +/* 19065 */ {(10<<2)|2,{116,116,0}}, +/* 19066 */ {(10<<2)|2,{116,116,0}}, +/* 19067 */ {(10<<2)|2,{116,116,0}}, +/* 19068 */ {(10<<2)|2,{116,116,0}}, +/* 19069 */ {(10<<2)|2,{116,116,0}}, +/* 19070 */ {(10<<2)|2,{116,116,0}}, +/* 19071 */ {(10<<2)|2,{116,116,0}}, +/* 19072 */ {(16<<2)|3,{116,32,48}}, +/* 19073 */ {(16<<2)|3,{116,32,49}}, +/* 19074 */ {(16<<2)|3,{116,32,50}}, +/* 19075 */ {(16<<2)|3,{116,32,97}}, +/* 19076 */ {(16<<2)|3,{116,32,99}}, +/* 19077 */ {(16<<2)|3,{116,32,101}}, +/* 19078 */ {(16<<2)|3,{116,32,105}}, +/* 19079 */ {(16<<2)|3,{116,32,111}}, +/* 19080 */ {(16<<2)|3,{116,32,115}}, +/* 19081 */ {(16<<2)|3,{116,32,116}}, +/* 19082 */ {(11<<2)|2,{116,32,0}}, +/* 19083 */ {(11<<2)|2,{116,32,0}}, +/* 19084 */ {(11<<2)|2,{116,32,0}}, +/* 19085 */ {(11<<2)|2,{116,32,0}}, +/* 19086 */ {(11<<2)|2,{116,32,0}}, +/* 19087 */ {(11<<2)|2,{116,32,0}}, +/* 19088 */ {(11<<2)|2,{116,32,0}}, +/* 19089 */ {(11<<2)|2,{116,32,0}}, +/* 19090 */ {(11<<2)|2,{116,32,0}}, +/* 19091 */ {(11<<2)|2,{116,32,0}}, +/* 19092 */ {(11<<2)|2,{116,32,0}}, +/* 19093 */ {(11<<2)|2,{116,32,0}}, +/* 19094 */ {(11<<2)|2,{116,32,0}}, +/* 19095 */ {(11<<2)|2,{116,32,0}}, +/* 19096 */ {(11<<2)|2,{116,32,0}}, +/* 19097 */ {(11<<2)|2,{116,32,0}}, +/* 19098 */ {(11<<2)|2,{116,32,0}}, +/* 19099 */ {(11<<2)|2,{116,32,0}}, +/* 19100 */ {(11<<2)|2,{116,32,0}}, +/* 19101 */ {(11<<2)|2,{116,32,0}}, +/* 19102 */ {(11<<2)|2,{116,32,0}}, +/* 19103 */ {(11<<2)|2,{116,32,0}}, +/* 19104 */ {(16<<2)|3,{116,37,48}}, +/* 19105 */ {(16<<2)|3,{116,37,49}}, +/* 19106 */ {(16<<2)|3,{116,37,50}}, +/* 19107 */ {(16<<2)|3,{116,37,97}}, +/* 19108 */ {(16<<2)|3,{116,37,99}}, +/* 19109 */ {(16<<2)|3,{116,37,101}}, +/* 19110 */ {(16<<2)|3,{116,37,105}}, +/* 19111 */ {(16<<2)|3,{116,37,111}}, +/* 19112 */ {(16<<2)|3,{116,37,115}}, +/* 19113 */ {(16<<2)|3,{116,37,116}}, +/* 19114 */ {(11<<2)|2,{116,37,0}}, +/* 19115 */ {(11<<2)|2,{116,37,0}}, +/* 19116 */ {(11<<2)|2,{116,37,0}}, +/* 19117 */ {(11<<2)|2,{116,37,0}}, +/* 19118 */ {(11<<2)|2,{116,37,0}}, +/* 19119 */ {(11<<2)|2,{116,37,0}}, +/* 19120 */ {(11<<2)|2,{116,37,0}}, +/* 19121 */ {(11<<2)|2,{116,37,0}}, +/* 19122 */ {(11<<2)|2,{116,37,0}}, +/* 19123 */ {(11<<2)|2,{116,37,0}}, +/* 19124 */ {(11<<2)|2,{116,37,0}}, +/* 19125 */ {(11<<2)|2,{116,37,0}}, +/* 19126 */ {(11<<2)|2,{116,37,0}}, +/* 19127 */ {(11<<2)|2,{116,37,0}}, +/* 19128 */ {(11<<2)|2,{116,37,0}}, +/* 19129 */ {(11<<2)|2,{116,37,0}}, +/* 19130 */ {(11<<2)|2,{116,37,0}}, +/* 19131 */ {(11<<2)|2,{116,37,0}}, +/* 19132 */ {(11<<2)|2,{116,37,0}}, +/* 19133 */ {(11<<2)|2,{116,37,0}}, +/* 19134 */ {(11<<2)|2,{116,37,0}}, +/* 19135 */ {(11<<2)|2,{116,37,0}}, +/* 19136 */ {(16<<2)|3,{116,45,48}}, +/* 19137 */ {(16<<2)|3,{116,45,49}}, +/* 19138 */ {(16<<2)|3,{116,45,50}}, +/* 19139 */ {(16<<2)|3,{116,45,97}}, +/* 19140 */ {(16<<2)|3,{116,45,99}}, +/* 19141 */ {(16<<2)|3,{116,45,101}}, +/* 19142 */ {(16<<2)|3,{116,45,105}}, +/* 19143 */ {(16<<2)|3,{116,45,111}}, +/* 19144 */ {(16<<2)|3,{116,45,115}}, +/* 19145 */ {(16<<2)|3,{116,45,116}}, +/* 19146 */ {(11<<2)|2,{116,45,0}}, +/* 19147 */ {(11<<2)|2,{116,45,0}}, +/* 19148 */ {(11<<2)|2,{116,45,0}}, +/* 19149 */ {(11<<2)|2,{116,45,0}}, +/* 19150 */ {(11<<2)|2,{116,45,0}}, +/* 19151 */ {(11<<2)|2,{116,45,0}}, +/* 19152 */ {(11<<2)|2,{116,45,0}}, +/* 19153 */ {(11<<2)|2,{116,45,0}}, +/* 19154 */ {(11<<2)|2,{116,45,0}}, +/* 19155 */ {(11<<2)|2,{116,45,0}}, +/* 19156 */ {(11<<2)|2,{116,45,0}}, +/* 19157 */ {(11<<2)|2,{116,45,0}}, +/* 19158 */ {(11<<2)|2,{116,45,0}}, +/* 19159 */ {(11<<2)|2,{116,45,0}}, +/* 19160 */ {(11<<2)|2,{116,45,0}}, +/* 19161 */ {(11<<2)|2,{116,45,0}}, +/* 19162 */ {(11<<2)|2,{116,45,0}}, +/* 19163 */ {(11<<2)|2,{116,45,0}}, +/* 19164 */ {(11<<2)|2,{116,45,0}}, +/* 19165 */ {(11<<2)|2,{116,45,0}}, +/* 19166 */ {(11<<2)|2,{116,45,0}}, +/* 19167 */ {(11<<2)|2,{116,45,0}}, +/* 19168 */ {(16<<2)|3,{116,46,48}}, +/* 19169 */ {(16<<2)|3,{116,46,49}}, +/* 19170 */ {(16<<2)|3,{116,46,50}}, +/* 19171 */ {(16<<2)|3,{116,46,97}}, +/* 19172 */ {(16<<2)|3,{116,46,99}}, +/* 19173 */ {(16<<2)|3,{116,46,101}}, +/* 19174 */ {(16<<2)|3,{116,46,105}}, +/* 19175 */ {(16<<2)|3,{116,46,111}}, +/* 19176 */ {(16<<2)|3,{116,46,115}}, +/* 19177 */ {(16<<2)|3,{116,46,116}}, +/* 19178 */ {(11<<2)|2,{116,46,0}}, +/* 19179 */ {(11<<2)|2,{116,46,0}}, +/* 19180 */ {(11<<2)|2,{116,46,0}}, +/* 19181 */ {(11<<2)|2,{116,46,0}}, +/* 19182 */ {(11<<2)|2,{116,46,0}}, +/* 19183 */ {(11<<2)|2,{116,46,0}}, +/* 19184 */ {(11<<2)|2,{116,46,0}}, +/* 19185 */ {(11<<2)|2,{116,46,0}}, +/* 19186 */ {(11<<2)|2,{116,46,0}}, +/* 19187 */ {(11<<2)|2,{116,46,0}}, +/* 19188 */ {(11<<2)|2,{116,46,0}}, +/* 19189 */ {(11<<2)|2,{116,46,0}}, +/* 19190 */ {(11<<2)|2,{116,46,0}}, +/* 19191 */ {(11<<2)|2,{116,46,0}}, +/* 19192 */ {(11<<2)|2,{116,46,0}}, +/* 19193 */ {(11<<2)|2,{116,46,0}}, +/* 19194 */ {(11<<2)|2,{116,46,0}}, +/* 19195 */ {(11<<2)|2,{116,46,0}}, +/* 19196 */ {(11<<2)|2,{116,46,0}}, +/* 19197 */ {(11<<2)|2,{116,46,0}}, +/* 19198 */ {(11<<2)|2,{116,46,0}}, +/* 19199 */ {(11<<2)|2,{116,46,0}}, +/* 19200 */ {(16<<2)|3,{116,47,48}}, +/* 19201 */ {(16<<2)|3,{116,47,49}}, +/* 19202 */ {(16<<2)|3,{116,47,50}}, +/* 19203 */ {(16<<2)|3,{116,47,97}}, +/* 19204 */ {(16<<2)|3,{116,47,99}}, +/* 19205 */ {(16<<2)|3,{116,47,101}}, +/* 19206 */ {(16<<2)|3,{116,47,105}}, +/* 19207 */ {(16<<2)|3,{116,47,111}}, +/* 19208 */ {(16<<2)|3,{116,47,115}}, +/* 19209 */ {(16<<2)|3,{116,47,116}}, +/* 19210 */ {(11<<2)|2,{116,47,0}}, +/* 19211 */ {(11<<2)|2,{116,47,0}}, +/* 19212 */ {(11<<2)|2,{116,47,0}}, +/* 19213 */ {(11<<2)|2,{116,47,0}}, +/* 19214 */ {(11<<2)|2,{116,47,0}}, +/* 19215 */ {(11<<2)|2,{116,47,0}}, +/* 19216 */ {(11<<2)|2,{116,47,0}}, +/* 19217 */ {(11<<2)|2,{116,47,0}}, +/* 19218 */ {(11<<2)|2,{116,47,0}}, +/* 19219 */ {(11<<2)|2,{116,47,0}}, +/* 19220 */ {(11<<2)|2,{116,47,0}}, +/* 19221 */ {(11<<2)|2,{116,47,0}}, +/* 19222 */ {(11<<2)|2,{116,47,0}}, +/* 19223 */ {(11<<2)|2,{116,47,0}}, +/* 19224 */ {(11<<2)|2,{116,47,0}}, +/* 19225 */ {(11<<2)|2,{116,47,0}}, +/* 19226 */ {(11<<2)|2,{116,47,0}}, +/* 19227 */ {(11<<2)|2,{116,47,0}}, +/* 19228 */ {(11<<2)|2,{116,47,0}}, +/* 19229 */ {(11<<2)|2,{116,47,0}}, +/* 19230 */ {(11<<2)|2,{116,47,0}}, +/* 19231 */ {(11<<2)|2,{116,47,0}}, +/* 19232 */ {(16<<2)|3,{116,51,48}}, +/* 19233 */ {(16<<2)|3,{116,51,49}}, +/* 19234 */ {(16<<2)|3,{116,51,50}}, +/* 19235 */ {(16<<2)|3,{116,51,97}}, +/* 19236 */ {(16<<2)|3,{116,51,99}}, +/* 19237 */ {(16<<2)|3,{116,51,101}}, +/* 19238 */ {(16<<2)|3,{116,51,105}}, +/* 19239 */ {(16<<2)|3,{116,51,111}}, +/* 19240 */ {(16<<2)|3,{116,51,115}}, +/* 19241 */ {(16<<2)|3,{116,51,116}}, +/* 19242 */ {(11<<2)|2,{116,51,0}}, +/* 19243 */ {(11<<2)|2,{116,51,0}}, +/* 19244 */ {(11<<2)|2,{116,51,0}}, +/* 19245 */ {(11<<2)|2,{116,51,0}}, +/* 19246 */ {(11<<2)|2,{116,51,0}}, +/* 19247 */ {(11<<2)|2,{116,51,0}}, +/* 19248 */ {(11<<2)|2,{116,51,0}}, +/* 19249 */ {(11<<2)|2,{116,51,0}}, +/* 19250 */ {(11<<2)|2,{116,51,0}}, +/* 19251 */ {(11<<2)|2,{116,51,0}}, +/* 19252 */ {(11<<2)|2,{116,51,0}}, +/* 19253 */ {(11<<2)|2,{116,51,0}}, +/* 19254 */ {(11<<2)|2,{116,51,0}}, +/* 19255 */ {(11<<2)|2,{116,51,0}}, +/* 19256 */ {(11<<2)|2,{116,51,0}}, +/* 19257 */ {(11<<2)|2,{116,51,0}}, +/* 19258 */ {(11<<2)|2,{116,51,0}}, +/* 19259 */ {(11<<2)|2,{116,51,0}}, +/* 19260 */ {(11<<2)|2,{116,51,0}}, +/* 19261 */ {(11<<2)|2,{116,51,0}}, +/* 19262 */ {(11<<2)|2,{116,51,0}}, +/* 19263 */ {(11<<2)|2,{116,51,0}}, +/* 19264 */ {(16<<2)|3,{116,52,48}}, +/* 19265 */ {(16<<2)|3,{116,52,49}}, +/* 19266 */ {(16<<2)|3,{116,52,50}}, +/* 19267 */ {(16<<2)|3,{116,52,97}}, +/* 19268 */ {(16<<2)|3,{116,52,99}}, +/* 19269 */ {(16<<2)|3,{116,52,101}}, +/* 19270 */ {(16<<2)|3,{116,52,105}}, +/* 19271 */ {(16<<2)|3,{116,52,111}}, +/* 19272 */ {(16<<2)|3,{116,52,115}}, +/* 19273 */ {(16<<2)|3,{116,52,116}}, +/* 19274 */ {(11<<2)|2,{116,52,0}}, +/* 19275 */ {(11<<2)|2,{116,52,0}}, +/* 19276 */ {(11<<2)|2,{116,52,0}}, +/* 19277 */ {(11<<2)|2,{116,52,0}}, +/* 19278 */ {(11<<2)|2,{116,52,0}}, +/* 19279 */ {(11<<2)|2,{116,52,0}}, +/* 19280 */ {(11<<2)|2,{116,52,0}}, +/* 19281 */ {(11<<2)|2,{116,52,0}}, +/* 19282 */ {(11<<2)|2,{116,52,0}}, +/* 19283 */ {(11<<2)|2,{116,52,0}}, +/* 19284 */ {(11<<2)|2,{116,52,0}}, +/* 19285 */ {(11<<2)|2,{116,52,0}}, +/* 19286 */ {(11<<2)|2,{116,52,0}}, +/* 19287 */ {(11<<2)|2,{116,52,0}}, +/* 19288 */ {(11<<2)|2,{116,52,0}}, +/* 19289 */ {(11<<2)|2,{116,52,0}}, +/* 19290 */ {(11<<2)|2,{116,52,0}}, +/* 19291 */ {(11<<2)|2,{116,52,0}}, +/* 19292 */ {(11<<2)|2,{116,52,0}}, +/* 19293 */ {(11<<2)|2,{116,52,0}}, +/* 19294 */ {(11<<2)|2,{116,52,0}}, +/* 19295 */ {(11<<2)|2,{116,52,0}}, +/* 19296 */ {(16<<2)|3,{116,53,48}}, +/* 19297 */ {(16<<2)|3,{116,53,49}}, +/* 19298 */ {(16<<2)|3,{116,53,50}}, +/* 19299 */ {(16<<2)|3,{116,53,97}}, +/* 19300 */ {(16<<2)|3,{116,53,99}}, +/* 19301 */ {(16<<2)|3,{116,53,101}}, +/* 19302 */ {(16<<2)|3,{116,53,105}}, +/* 19303 */ {(16<<2)|3,{116,53,111}}, +/* 19304 */ {(16<<2)|3,{116,53,115}}, +/* 19305 */ {(16<<2)|3,{116,53,116}}, +/* 19306 */ {(11<<2)|2,{116,53,0}}, +/* 19307 */ {(11<<2)|2,{116,53,0}}, +/* 19308 */ {(11<<2)|2,{116,53,0}}, +/* 19309 */ {(11<<2)|2,{116,53,0}}, +/* 19310 */ {(11<<2)|2,{116,53,0}}, +/* 19311 */ {(11<<2)|2,{116,53,0}}, +/* 19312 */ {(11<<2)|2,{116,53,0}}, +/* 19313 */ {(11<<2)|2,{116,53,0}}, +/* 19314 */ {(11<<2)|2,{116,53,0}}, +/* 19315 */ {(11<<2)|2,{116,53,0}}, +/* 19316 */ {(11<<2)|2,{116,53,0}}, +/* 19317 */ {(11<<2)|2,{116,53,0}}, +/* 19318 */ {(11<<2)|2,{116,53,0}}, +/* 19319 */ {(11<<2)|2,{116,53,0}}, +/* 19320 */ {(11<<2)|2,{116,53,0}}, +/* 19321 */ {(11<<2)|2,{116,53,0}}, +/* 19322 */ {(11<<2)|2,{116,53,0}}, +/* 19323 */ {(11<<2)|2,{116,53,0}}, +/* 19324 */ {(11<<2)|2,{116,53,0}}, +/* 19325 */ {(11<<2)|2,{116,53,0}}, +/* 19326 */ {(11<<2)|2,{116,53,0}}, +/* 19327 */ {(11<<2)|2,{116,53,0}}, +/* 19328 */ {(16<<2)|3,{116,54,48}}, +/* 19329 */ {(16<<2)|3,{116,54,49}}, +/* 19330 */ {(16<<2)|3,{116,54,50}}, +/* 19331 */ {(16<<2)|3,{116,54,97}}, +/* 19332 */ {(16<<2)|3,{116,54,99}}, +/* 19333 */ {(16<<2)|3,{116,54,101}}, +/* 19334 */ {(16<<2)|3,{116,54,105}}, +/* 19335 */ {(16<<2)|3,{116,54,111}}, +/* 19336 */ {(16<<2)|3,{116,54,115}}, +/* 19337 */ {(16<<2)|3,{116,54,116}}, +/* 19338 */ {(11<<2)|2,{116,54,0}}, +/* 19339 */ {(11<<2)|2,{116,54,0}}, +/* 19340 */ {(11<<2)|2,{116,54,0}}, +/* 19341 */ {(11<<2)|2,{116,54,0}}, +/* 19342 */ {(11<<2)|2,{116,54,0}}, +/* 19343 */ {(11<<2)|2,{116,54,0}}, +/* 19344 */ {(11<<2)|2,{116,54,0}}, +/* 19345 */ {(11<<2)|2,{116,54,0}}, +/* 19346 */ {(11<<2)|2,{116,54,0}}, +/* 19347 */ {(11<<2)|2,{116,54,0}}, +/* 19348 */ {(11<<2)|2,{116,54,0}}, +/* 19349 */ {(11<<2)|2,{116,54,0}}, +/* 19350 */ {(11<<2)|2,{116,54,0}}, +/* 19351 */ {(11<<2)|2,{116,54,0}}, +/* 19352 */ {(11<<2)|2,{116,54,0}}, +/* 19353 */ {(11<<2)|2,{116,54,0}}, +/* 19354 */ {(11<<2)|2,{116,54,0}}, +/* 19355 */ {(11<<2)|2,{116,54,0}}, +/* 19356 */ {(11<<2)|2,{116,54,0}}, +/* 19357 */ {(11<<2)|2,{116,54,0}}, +/* 19358 */ {(11<<2)|2,{116,54,0}}, +/* 19359 */ {(11<<2)|2,{116,54,0}}, +/* 19360 */ {(16<<2)|3,{116,55,48}}, +/* 19361 */ {(16<<2)|3,{116,55,49}}, +/* 19362 */ {(16<<2)|3,{116,55,50}}, +/* 19363 */ {(16<<2)|3,{116,55,97}}, +/* 19364 */ {(16<<2)|3,{116,55,99}}, +/* 19365 */ {(16<<2)|3,{116,55,101}}, +/* 19366 */ {(16<<2)|3,{116,55,105}}, +/* 19367 */ {(16<<2)|3,{116,55,111}}, +/* 19368 */ {(16<<2)|3,{116,55,115}}, +/* 19369 */ {(16<<2)|3,{116,55,116}}, +/* 19370 */ {(11<<2)|2,{116,55,0}}, +/* 19371 */ {(11<<2)|2,{116,55,0}}, +/* 19372 */ {(11<<2)|2,{116,55,0}}, +/* 19373 */ {(11<<2)|2,{116,55,0}}, +/* 19374 */ {(11<<2)|2,{116,55,0}}, +/* 19375 */ {(11<<2)|2,{116,55,0}}, +/* 19376 */ {(11<<2)|2,{116,55,0}}, +/* 19377 */ {(11<<2)|2,{116,55,0}}, +/* 19378 */ {(11<<2)|2,{116,55,0}}, +/* 19379 */ {(11<<2)|2,{116,55,0}}, +/* 19380 */ {(11<<2)|2,{116,55,0}}, +/* 19381 */ {(11<<2)|2,{116,55,0}}, +/* 19382 */ {(11<<2)|2,{116,55,0}}, +/* 19383 */ {(11<<2)|2,{116,55,0}}, +/* 19384 */ {(11<<2)|2,{116,55,0}}, +/* 19385 */ {(11<<2)|2,{116,55,0}}, +/* 19386 */ {(11<<2)|2,{116,55,0}}, +/* 19387 */ {(11<<2)|2,{116,55,0}}, +/* 19388 */ {(11<<2)|2,{116,55,0}}, +/* 19389 */ {(11<<2)|2,{116,55,0}}, +/* 19390 */ {(11<<2)|2,{116,55,0}}, +/* 19391 */ {(11<<2)|2,{116,55,0}}, +/* 19392 */ {(16<<2)|3,{116,56,48}}, +/* 19393 */ {(16<<2)|3,{116,56,49}}, +/* 19394 */ {(16<<2)|3,{116,56,50}}, +/* 19395 */ {(16<<2)|3,{116,56,97}}, +/* 19396 */ {(16<<2)|3,{116,56,99}}, +/* 19397 */ {(16<<2)|3,{116,56,101}}, +/* 19398 */ {(16<<2)|3,{116,56,105}}, +/* 19399 */ {(16<<2)|3,{116,56,111}}, +/* 19400 */ {(16<<2)|3,{116,56,115}}, +/* 19401 */ {(16<<2)|3,{116,56,116}}, +/* 19402 */ {(11<<2)|2,{116,56,0}}, +/* 19403 */ {(11<<2)|2,{116,56,0}}, +/* 19404 */ {(11<<2)|2,{116,56,0}}, +/* 19405 */ {(11<<2)|2,{116,56,0}}, +/* 19406 */ {(11<<2)|2,{116,56,0}}, +/* 19407 */ {(11<<2)|2,{116,56,0}}, +/* 19408 */ {(11<<2)|2,{116,56,0}}, +/* 19409 */ {(11<<2)|2,{116,56,0}}, +/* 19410 */ {(11<<2)|2,{116,56,0}}, +/* 19411 */ {(11<<2)|2,{116,56,0}}, +/* 19412 */ {(11<<2)|2,{116,56,0}}, +/* 19413 */ {(11<<2)|2,{116,56,0}}, +/* 19414 */ {(11<<2)|2,{116,56,0}}, +/* 19415 */ {(11<<2)|2,{116,56,0}}, +/* 19416 */ {(11<<2)|2,{116,56,0}}, +/* 19417 */ {(11<<2)|2,{116,56,0}}, +/* 19418 */ {(11<<2)|2,{116,56,0}}, +/* 19419 */ {(11<<2)|2,{116,56,0}}, +/* 19420 */ {(11<<2)|2,{116,56,0}}, +/* 19421 */ {(11<<2)|2,{116,56,0}}, +/* 19422 */ {(11<<2)|2,{116,56,0}}, +/* 19423 */ {(11<<2)|2,{116,56,0}}, +/* 19424 */ {(16<<2)|3,{116,57,48}}, +/* 19425 */ {(16<<2)|3,{116,57,49}}, +/* 19426 */ {(16<<2)|3,{116,57,50}}, +/* 19427 */ {(16<<2)|3,{116,57,97}}, +/* 19428 */ {(16<<2)|3,{116,57,99}}, +/* 19429 */ {(16<<2)|3,{116,57,101}}, +/* 19430 */ {(16<<2)|3,{116,57,105}}, +/* 19431 */ {(16<<2)|3,{116,57,111}}, +/* 19432 */ {(16<<2)|3,{116,57,115}}, +/* 19433 */ {(16<<2)|3,{116,57,116}}, +/* 19434 */ {(11<<2)|2,{116,57,0}}, +/* 19435 */ {(11<<2)|2,{116,57,0}}, +/* 19436 */ {(11<<2)|2,{116,57,0}}, +/* 19437 */ {(11<<2)|2,{116,57,0}}, +/* 19438 */ {(11<<2)|2,{116,57,0}}, +/* 19439 */ {(11<<2)|2,{116,57,0}}, +/* 19440 */ {(11<<2)|2,{116,57,0}}, +/* 19441 */ {(11<<2)|2,{116,57,0}}, +/* 19442 */ {(11<<2)|2,{116,57,0}}, +/* 19443 */ {(11<<2)|2,{116,57,0}}, +/* 19444 */ {(11<<2)|2,{116,57,0}}, +/* 19445 */ {(11<<2)|2,{116,57,0}}, +/* 19446 */ {(11<<2)|2,{116,57,0}}, +/* 19447 */ {(11<<2)|2,{116,57,0}}, +/* 19448 */ {(11<<2)|2,{116,57,0}}, +/* 19449 */ {(11<<2)|2,{116,57,0}}, +/* 19450 */ {(11<<2)|2,{116,57,0}}, +/* 19451 */ {(11<<2)|2,{116,57,0}}, +/* 19452 */ {(11<<2)|2,{116,57,0}}, +/* 19453 */ {(11<<2)|2,{116,57,0}}, +/* 19454 */ {(11<<2)|2,{116,57,0}}, +/* 19455 */ {(11<<2)|2,{116,57,0}}, +/* 19456 */ {(16<<2)|3,{116,61,48}}, +/* 19457 */ {(16<<2)|3,{116,61,49}}, +/* 19458 */ {(16<<2)|3,{116,61,50}}, +/* 19459 */ {(16<<2)|3,{116,61,97}}, +/* 19460 */ {(16<<2)|3,{116,61,99}}, +/* 19461 */ {(16<<2)|3,{116,61,101}}, +/* 19462 */ {(16<<2)|3,{116,61,105}}, +/* 19463 */ {(16<<2)|3,{116,61,111}}, +/* 19464 */ {(16<<2)|3,{116,61,115}}, +/* 19465 */ {(16<<2)|3,{116,61,116}}, +/* 19466 */ {(11<<2)|2,{116,61,0}}, +/* 19467 */ {(11<<2)|2,{116,61,0}}, +/* 19468 */ {(11<<2)|2,{116,61,0}}, +/* 19469 */ {(11<<2)|2,{116,61,0}}, +/* 19470 */ {(11<<2)|2,{116,61,0}}, +/* 19471 */ {(11<<2)|2,{116,61,0}}, +/* 19472 */ {(11<<2)|2,{116,61,0}}, +/* 19473 */ {(11<<2)|2,{116,61,0}}, +/* 19474 */ {(11<<2)|2,{116,61,0}}, +/* 19475 */ {(11<<2)|2,{116,61,0}}, +/* 19476 */ {(11<<2)|2,{116,61,0}}, +/* 19477 */ {(11<<2)|2,{116,61,0}}, +/* 19478 */ {(11<<2)|2,{116,61,0}}, +/* 19479 */ {(11<<2)|2,{116,61,0}}, +/* 19480 */ {(11<<2)|2,{116,61,0}}, +/* 19481 */ {(11<<2)|2,{116,61,0}}, +/* 19482 */ {(11<<2)|2,{116,61,0}}, +/* 19483 */ {(11<<2)|2,{116,61,0}}, +/* 19484 */ {(11<<2)|2,{116,61,0}}, +/* 19485 */ {(11<<2)|2,{116,61,0}}, +/* 19486 */ {(11<<2)|2,{116,61,0}}, +/* 19487 */ {(11<<2)|2,{116,61,0}}, +/* 19488 */ {(16<<2)|3,{116,65,48}}, +/* 19489 */ {(16<<2)|3,{116,65,49}}, +/* 19490 */ {(16<<2)|3,{116,65,50}}, +/* 19491 */ {(16<<2)|3,{116,65,97}}, +/* 19492 */ {(16<<2)|3,{116,65,99}}, +/* 19493 */ {(16<<2)|3,{116,65,101}}, +/* 19494 */ {(16<<2)|3,{116,65,105}}, +/* 19495 */ {(16<<2)|3,{116,65,111}}, +/* 19496 */ {(16<<2)|3,{116,65,115}}, +/* 19497 */ {(16<<2)|3,{116,65,116}}, +/* 19498 */ {(11<<2)|2,{116,65,0}}, +/* 19499 */ {(11<<2)|2,{116,65,0}}, +/* 19500 */ {(11<<2)|2,{116,65,0}}, +/* 19501 */ {(11<<2)|2,{116,65,0}}, +/* 19502 */ {(11<<2)|2,{116,65,0}}, +/* 19503 */ {(11<<2)|2,{116,65,0}}, +/* 19504 */ {(11<<2)|2,{116,65,0}}, +/* 19505 */ {(11<<2)|2,{116,65,0}}, +/* 19506 */ {(11<<2)|2,{116,65,0}}, +/* 19507 */ {(11<<2)|2,{116,65,0}}, +/* 19508 */ {(11<<2)|2,{116,65,0}}, +/* 19509 */ {(11<<2)|2,{116,65,0}}, +/* 19510 */ {(11<<2)|2,{116,65,0}}, +/* 19511 */ {(11<<2)|2,{116,65,0}}, +/* 19512 */ {(11<<2)|2,{116,65,0}}, +/* 19513 */ {(11<<2)|2,{116,65,0}}, +/* 19514 */ {(11<<2)|2,{116,65,0}}, +/* 19515 */ {(11<<2)|2,{116,65,0}}, +/* 19516 */ {(11<<2)|2,{116,65,0}}, +/* 19517 */ {(11<<2)|2,{116,65,0}}, +/* 19518 */ {(11<<2)|2,{116,65,0}}, +/* 19519 */ {(11<<2)|2,{116,65,0}}, +/* 19520 */ {(16<<2)|3,{116,95,48}}, +/* 19521 */ {(16<<2)|3,{116,95,49}}, +/* 19522 */ {(16<<2)|3,{116,95,50}}, +/* 19523 */ {(16<<2)|3,{116,95,97}}, +/* 19524 */ {(16<<2)|3,{116,95,99}}, +/* 19525 */ {(16<<2)|3,{116,95,101}}, +/* 19526 */ {(16<<2)|3,{116,95,105}}, +/* 19527 */ {(16<<2)|3,{116,95,111}}, +/* 19528 */ {(16<<2)|3,{116,95,115}}, +/* 19529 */ {(16<<2)|3,{116,95,116}}, +/* 19530 */ {(11<<2)|2,{116,95,0}}, +/* 19531 */ {(11<<2)|2,{116,95,0}}, +/* 19532 */ {(11<<2)|2,{116,95,0}}, +/* 19533 */ {(11<<2)|2,{116,95,0}}, +/* 19534 */ {(11<<2)|2,{116,95,0}}, +/* 19535 */ {(11<<2)|2,{116,95,0}}, +/* 19536 */ {(11<<2)|2,{116,95,0}}, +/* 19537 */ {(11<<2)|2,{116,95,0}}, +/* 19538 */ {(11<<2)|2,{116,95,0}}, +/* 19539 */ {(11<<2)|2,{116,95,0}}, +/* 19540 */ {(11<<2)|2,{116,95,0}}, +/* 19541 */ {(11<<2)|2,{116,95,0}}, +/* 19542 */ {(11<<2)|2,{116,95,0}}, +/* 19543 */ {(11<<2)|2,{116,95,0}}, +/* 19544 */ {(11<<2)|2,{116,95,0}}, +/* 19545 */ {(11<<2)|2,{116,95,0}}, +/* 19546 */ {(11<<2)|2,{116,95,0}}, +/* 19547 */ {(11<<2)|2,{116,95,0}}, +/* 19548 */ {(11<<2)|2,{116,95,0}}, +/* 19549 */ {(11<<2)|2,{116,95,0}}, +/* 19550 */ {(11<<2)|2,{116,95,0}}, +/* 19551 */ {(11<<2)|2,{116,95,0}}, +/* 19552 */ {(16<<2)|3,{116,98,48}}, +/* 19553 */ {(16<<2)|3,{116,98,49}}, +/* 19554 */ {(16<<2)|3,{116,98,50}}, +/* 19555 */ {(16<<2)|3,{116,98,97}}, +/* 19556 */ {(16<<2)|3,{116,98,99}}, +/* 19557 */ {(16<<2)|3,{116,98,101}}, +/* 19558 */ {(16<<2)|3,{116,98,105}}, +/* 19559 */ {(16<<2)|3,{116,98,111}}, +/* 19560 */ {(16<<2)|3,{116,98,115}}, +/* 19561 */ {(16<<2)|3,{116,98,116}}, +/* 19562 */ {(11<<2)|2,{116,98,0}}, +/* 19563 */ {(11<<2)|2,{116,98,0}}, +/* 19564 */ {(11<<2)|2,{116,98,0}}, +/* 19565 */ {(11<<2)|2,{116,98,0}}, +/* 19566 */ {(11<<2)|2,{116,98,0}}, +/* 19567 */ {(11<<2)|2,{116,98,0}}, +/* 19568 */ {(11<<2)|2,{116,98,0}}, +/* 19569 */ {(11<<2)|2,{116,98,0}}, +/* 19570 */ {(11<<2)|2,{116,98,0}}, +/* 19571 */ {(11<<2)|2,{116,98,0}}, +/* 19572 */ {(11<<2)|2,{116,98,0}}, +/* 19573 */ {(11<<2)|2,{116,98,0}}, +/* 19574 */ {(11<<2)|2,{116,98,0}}, +/* 19575 */ {(11<<2)|2,{116,98,0}}, +/* 19576 */ {(11<<2)|2,{116,98,0}}, +/* 19577 */ {(11<<2)|2,{116,98,0}}, +/* 19578 */ {(11<<2)|2,{116,98,0}}, +/* 19579 */ {(11<<2)|2,{116,98,0}}, +/* 19580 */ {(11<<2)|2,{116,98,0}}, +/* 19581 */ {(11<<2)|2,{116,98,0}}, +/* 19582 */ {(11<<2)|2,{116,98,0}}, +/* 19583 */ {(11<<2)|2,{116,98,0}}, +/* 19584 */ {(16<<2)|3,{116,100,48}}, +/* 19585 */ {(16<<2)|3,{116,100,49}}, +/* 19586 */ {(16<<2)|3,{116,100,50}}, +/* 19587 */ {(16<<2)|3,{116,100,97}}, +/* 19588 */ {(16<<2)|3,{116,100,99}}, +/* 19589 */ {(16<<2)|3,{116,100,101}}, +/* 19590 */ {(16<<2)|3,{116,100,105}}, +/* 19591 */ {(16<<2)|3,{116,100,111}}, +/* 19592 */ {(16<<2)|3,{116,100,115}}, +/* 19593 */ {(16<<2)|3,{116,100,116}}, +/* 19594 */ {(11<<2)|2,{116,100,0}}, +/* 19595 */ {(11<<2)|2,{116,100,0}}, +/* 19596 */ {(11<<2)|2,{116,100,0}}, +/* 19597 */ {(11<<2)|2,{116,100,0}}, +/* 19598 */ {(11<<2)|2,{116,100,0}}, +/* 19599 */ {(11<<2)|2,{116,100,0}}, +/* 19600 */ {(11<<2)|2,{116,100,0}}, +/* 19601 */ {(11<<2)|2,{116,100,0}}, +/* 19602 */ {(11<<2)|2,{116,100,0}}, +/* 19603 */ {(11<<2)|2,{116,100,0}}, +/* 19604 */ {(11<<2)|2,{116,100,0}}, +/* 19605 */ {(11<<2)|2,{116,100,0}}, +/* 19606 */ {(11<<2)|2,{116,100,0}}, +/* 19607 */ {(11<<2)|2,{116,100,0}}, +/* 19608 */ {(11<<2)|2,{116,100,0}}, +/* 19609 */ {(11<<2)|2,{116,100,0}}, +/* 19610 */ {(11<<2)|2,{116,100,0}}, +/* 19611 */ {(11<<2)|2,{116,100,0}}, +/* 19612 */ {(11<<2)|2,{116,100,0}}, +/* 19613 */ {(11<<2)|2,{116,100,0}}, +/* 19614 */ {(11<<2)|2,{116,100,0}}, +/* 19615 */ {(11<<2)|2,{116,100,0}}, +/* 19616 */ {(16<<2)|3,{116,102,48}}, +/* 19617 */ {(16<<2)|3,{116,102,49}}, +/* 19618 */ {(16<<2)|3,{116,102,50}}, +/* 19619 */ {(16<<2)|3,{116,102,97}}, +/* 19620 */ {(16<<2)|3,{116,102,99}}, +/* 19621 */ {(16<<2)|3,{116,102,101}}, +/* 19622 */ {(16<<2)|3,{116,102,105}}, +/* 19623 */ {(16<<2)|3,{116,102,111}}, +/* 19624 */ {(16<<2)|3,{116,102,115}}, +/* 19625 */ {(16<<2)|3,{116,102,116}}, +/* 19626 */ {(11<<2)|2,{116,102,0}}, +/* 19627 */ {(11<<2)|2,{116,102,0}}, +/* 19628 */ {(11<<2)|2,{116,102,0}}, +/* 19629 */ {(11<<2)|2,{116,102,0}}, +/* 19630 */ {(11<<2)|2,{116,102,0}}, +/* 19631 */ {(11<<2)|2,{116,102,0}}, +/* 19632 */ {(11<<2)|2,{116,102,0}}, +/* 19633 */ {(11<<2)|2,{116,102,0}}, +/* 19634 */ {(11<<2)|2,{116,102,0}}, +/* 19635 */ {(11<<2)|2,{116,102,0}}, +/* 19636 */ {(11<<2)|2,{116,102,0}}, +/* 19637 */ {(11<<2)|2,{116,102,0}}, +/* 19638 */ {(11<<2)|2,{116,102,0}}, +/* 19639 */ {(11<<2)|2,{116,102,0}}, +/* 19640 */ {(11<<2)|2,{116,102,0}}, +/* 19641 */ {(11<<2)|2,{116,102,0}}, +/* 19642 */ {(11<<2)|2,{116,102,0}}, +/* 19643 */ {(11<<2)|2,{116,102,0}}, +/* 19644 */ {(11<<2)|2,{116,102,0}}, +/* 19645 */ {(11<<2)|2,{116,102,0}}, +/* 19646 */ {(11<<2)|2,{116,102,0}}, +/* 19647 */ {(11<<2)|2,{116,102,0}}, +/* 19648 */ {(16<<2)|3,{116,103,48}}, +/* 19649 */ {(16<<2)|3,{116,103,49}}, +/* 19650 */ {(16<<2)|3,{116,103,50}}, +/* 19651 */ {(16<<2)|3,{116,103,97}}, +/* 19652 */ {(16<<2)|3,{116,103,99}}, +/* 19653 */ {(16<<2)|3,{116,103,101}}, +/* 19654 */ {(16<<2)|3,{116,103,105}}, +/* 19655 */ {(16<<2)|3,{116,103,111}}, +/* 19656 */ {(16<<2)|3,{116,103,115}}, +/* 19657 */ {(16<<2)|3,{116,103,116}}, +/* 19658 */ {(11<<2)|2,{116,103,0}}, +/* 19659 */ {(11<<2)|2,{116,103,0}}, +/* 19660 */ {(11<<2)|2,{116,103,0}}, +/* 19661 */ {(11<<2)|2,{116,103,0}}, +/* 19662 */ {(11<<2)|2,{116,103,0}}, +/* 19663 */ {(11<<2)|2,{116,103,0}}, +/* 19664 */ {(11<<2)|2,{116,103,0}}, +/* 19665 */ {(11<<2)|2,{116,103,0}}, +/* 19666 */ {(11<<2)|2,{116,103,0}}, +/* 19667 */ {(11<<2)|2,{116,103,0}}, +/* 19668 */ {(11<<2)|2,{116,103,0}}, +/* 19669 */ {(11<<2)|2,{116,103,0}}, +/* 19670 */ {(11<<2)|2,{116,103,0}}, +/* 19671 */ {(11<<2)|2,{116,103,0}}, +/* 19672 */ {(11<<2)|2,{116,103,0}}, +/* 19673 */ {(11<<2)|2,{116,103,0}}, +/* 19674 */ {(11<<2)|2,{116,103,0}}, +/* 19675 */ {(11<<2)|2,{116,103,0}}, +/* 19676 */ {(11<<2)|2,{116,103,0}}, +/* 19677 */ {(11<<2)|2,{116,103,0}}, +/* 19678 */ {(11<<2)|2,{116,103,0}}, +/* 19679 */ {(11<<2)|2,{116,103,0}}, +/* 19680 */ {(16<<2)|3,{116,104,48}}, +/* 19681 */ {(16<<2)|3,{116,104,49}}, +/* 19682 */ {(16<<2)|3,{116,104,50}}, +/* 19683 */ {(16<<2)|3,{116,104,97}}, +/* 19684 */ {(16<<2)|3,{116,104,99}}, +/* 19685 */ {(16<<2)|3,{116,104,101}}, +/* 19686 */ {(16<<2)|3,{116,104,105}}, +/* 19687 */ {(16<<2)|3,{116,104,111}}, +/* 19688 */ {(16<<2)|3,{116,104,115}}, +/* 19689 */ {(16<<2)|3,{116,104,116}}, +/* 19690 */ {(11<<2)|2,{116,104,0}}, +/* 19691 */ {(11<<2)|2,{116,104,0}}, +/* 19692 */ {(11<<2)|2,{116,104,0}}, +/* 19693 */ {(11<<2)|2,{116,104,0}}, +/* 19694 */ {(11<<2)|2,{116,104,0}}, +/* 19695 */ {(11<<2)|2,{116,104,0}}, +/* 19696 */ {(11<<2)|2,{116,104,0}}, +/* 19697 */ {(11<<2)|2,{116,104,0}}, +/* 19698 */ {(11<<2)|2,{116,104,0}}, +/* 19699 */ {(11<<2)|2,{116,104,0}}, +/* 19700 */ {(11<<2)|2,{116,104,0}}, +/* 19701 */ {(11<<2)|2,{116,104,0}}, +/* 19702 */ {(11<<2)|2,{116,104,0}}, +/* 19703 */ {(11<<2)|2,{116,104,0}}, +/* 19704 */ {(11<<2)|2,{116,104,0}}, +/* 19705 */ {(11<<2)|2,{116,104,0}}, +/* 19706 */ {(11<<2)|2,{116,104,0}}, +/* 19707 */ {(11<<2)|2,{116,104,0}}, +/* 19708 */ {(11<<2)|2,{116,104,0}}, +/* 19709 */ {(11<<2)|2,{116,104,0}}, +/* 19710 */ {(11<<2)|2,{116,104,0}}, +/* 19711 */ {(11<<2)|2,{116,104,0}}, +/* 19712 */ {(16<<2)|3,{116,108,48}}, +/* 19713 */ {(16<<2)|3,{116,108,49}}, +/* 19714 */ {(16<<2)|3,{116,108,50}}, +/* 19715 */ {(16<<2)|3,{116,108,97}}, +/* 19716 */ {(16<<2)|3,{116,108,99}}, +/* 19717 */ {(16<<2)|3,{116,108,101}}, +/* 19718 */ {(16<<2)|3,{116,108,105}}, +/* 19719 */ {(16<<2)|3,{116,108,111}}, +/* 19720 */ {(16<<2)|3,{116,108,115}}, +/* 19721 */ {(16<<2)|3,{116,108,116}}, +/* 19722 */ {(11<<2)|2,{116,108,0}}, +/* 19723 */ {(11<<2)|2,{116,108,0}}, +/* 19724 */ {(11<<2)|2,{116,108,0}}, +/* 19725 */ {(11<<2)|2,{116,108,0}}, +/* 19726 */ {(11<<2)|2,{116,108,0}}, +/* 19727 */ {(11<<2)|2,{116,108,0}}, +/* 19728 */ {(11<<2)|2,{116,108,0}}, +/* 19729 */ {(11<<2)|2,{116,108,0}}, +/* 19730 */ {(11<<2)|2,{116,108,0}}, +/* 19731 */ {(11<<2)|2,{116,108,0}}, +/* 19732 */ {(11<<2)|2,{116,108,0}}, +/* 19733 */ {(11<<2)|2,{116,108,0}}, +/* 19734 */ {(11<<2)|2,{116,108,0}}, +/* 19735 */ {(11<<2)|2,{116,108,0}}, +/* 19736 */ {(11<<2)|2,{116,108,0}}, +/* 19737 */ {(11<<2)|2,{116,108,0}}, +/* 19738 */ {(11<<2)|2,{116,108,0}}, +/* 19739 */ {(11<<2)|2,{116,108,0}}, +/* 19740 */ {(11<<2)|2,{116,108,0}}, +/* 19741 */ {(11<<2)|2,{116,108,0}}, +/* 19742 */ {(11<<2)|2,{116,108,0}}, +/* 19743 */ {(11<<2)|2,{116,108,0}}, +/* 19744 */ {(16<<2)|3,{116,109,48}}, +/* 19745 */ {(16<<2)|3,{116,109,49}}, +/* 19746 */ {(16<<2)|3,{116,109,50}}, +/* 19747 */ {(16<<2)|3,{116,109,97}}, +/* 19748 */ {(16<<2)|3,{116,109,99}}, +/* 19749 */ {(16<<2)|3,{116,109,101}}, +/* 19750 */ {(16<<2)|3,{116,109,105}}, +/* 19751 */ {(16<<2)|3,{116,109,111}}, +/* 19752 */ {(16<<2)|3,{116,109,115}}, +/* 19753 */ {(16<<2)|3,{116,109,116}}, +/* 19754 */ {(11<<2)|2,{116,109,0}}, +/* 19755 */ {(11<<2)|2,{116,109,0}}, +/* 19756 */ {(11<<2)|2,{116,109,0}}, +/* 19757 */ {(11<<2)|2,{116,109,0}}, +/* 19758 */ {(11<<2)|2,{116,109,0}}, +/* 19759 */ {(11<<2)|2,{116,109,0}}, +/* 19760 */ {(11<<2)|2,{116,109,0}}, +/* 19761 */ {(11<<2)|2,{116,109,0}}, +/* 19762 */ {(11<<2)|2,{116,109,0}}, +/* 19763 */ {(11<<2)|2,{116,109,0}}, +/* 19764 */ {(11<<2)|2,{116,109,0}}, +/* 19765 */ {(11<<2)|2,{116,109,0}}, +/* 19766 */ {(11<<2)|2,{116,109,0}}, +/* 19767 */ {(11<<2)|2,{116,109,0}}, +/* 19768 */ {(11<<2)|2,{116,109,0}}, +/* 19769 */ {(11<<2)|2,{116,109,0}}, +/* 19770 */ {(11<<2)|2,{116,109,0}}, +/* 19771 */ {(11<<2)|2,{116,109,0}}, +/* 19772 */ {(11<<2)|2,{116,109,0}}, +/* 19773 */ {(11<<2)|2,{116,109,0}}, +/* 19774 */ {(11<<2)|2,{116,109,0}}, +/* 19775 */ {(11<<2)|2,{116,109,0}}, +/* 19776 */ {(16<<2)|3,{116,110,48}}, +/* 19777 */ {(16<<2)|3,{116,110,49}}, +/* 19778 */ {(16<<2)|3,{116,110,50}}, +/* 19779 */ {(16<<2)|3,{116,110,97}}, +/* 19780 */ {(16<<2)|3,{116,110,99}}, +/* 19781 */ {(16<<2)|3,{116,110,101}}, +/* 19782 */ {(16<<2)|3,{116,110,105}}, +/* 19783 */ {(16<<2)|3,{116,110,111}}, +/* 19784 */ {(16<<2)|3,{116,110,115}}, +/* 19785 */ {(16<<2)|3,{116,110,116}}, +/* 19786 */ {(11<<2)|2,{116,110,0}}, +/* 19787 */ {(11<<2)|2,{116,110,0}}, +/* 19788 */ {(11<<2)|2,{116,110,0}}, +/* 19789 */ {(11<<2)|2,{116,110,0}}, +/* 19790 */ {(11<<2)|2,{116,110,0}}, +/* 19791 */ {(11<<2)|2,{116,110,0}}, +/* 19792 */ {(11<<2)|2,{116,110,0}}, +/* 19793 */ {(11<<2)|2,{116,110,0}}, +/* 19794 */ {(11<<2)|2,{116,110,0}}, +/* 19795 */ {(11<<2)|2,{116,110,0}}, +/* 19796 */ {(11<<2)|2,{116,110,0}}, +/* 19797 */ {(11<<2)|2,{116,110,0}}, +/* 19798 */ {(11<<2)|2,{116,110,0}}, +/* 19799 */ {(11<<2)|2,{116,110,0}}, +/* 19800 */ {(11<<2)|2,{116,110,0}}, +/* 19801 */ {(11<<2)|2,{116,110,0}}, +/* 19802 */ {(11<<2)|2,{116,110,0}}, +/* 19803 */ {(11<<2)|2,{116,110,0}}, +/* 19804 */ {(11<<2)|2,{116,110,0}}, +/* 19805 */ {(11<<2)|2,{116,110,0}}, +/* 19806 */ {(11<<2)|2,{116,110,0}}, +/* 19807 */ {(11<<2)|2,{116,110,0}}, +/* 19808 */ {(16<<2)|3,{116,112,48}}, +/* 19809 */ {(16<<2)|3,{116,112,49}}, +/* 19810 */ {(16<<2)|3,{116,112,50}}, +/* 19811 */ {(16<<2)|3,{116,112,97}}, +/* 19812 */ {(16<<2)|3,{116,112,99}}, +/* 19813 */ {(16<<2)|3,{116,112,101}}, +/* 19814 */ {(16<<2)|3,{116,112,105}}, +/* 19815 */ {(16<<2)|3,{116,112,111}}, +/* 19816 */ {(16<<2)|3,{116,112,115}}, +/* 19817 */ {(16<<2)|3,{116,112,116}}, +/* 19818 */ {(11<<2)|2,{116,112,0}}, +/* 19819 */ {(11<<2)|2,{116,112,0}}, +/* 19820 */ {(11<<2)|2,{116,112,0}}, +/* 19821 */ {(11<<2)|2,{116,112,0}}, +/* 19822 */ {(11<<2)|2,{116,112,0}}, +/* 19823 */ {(11<<2)|2,{116,112,0}}, +/* 19824 */ {(11<<2)|2,{116,112,0}}, +/* 19825 */ {(11<<2)|2,{116,112,0}}, +/* 19826 */ {(11<<2)|2,{116,112,0}}, +/* 19827 */ {(11<<2)|2,{116,112,0}}, +/* 19828 */ {(11<<2)|2,{116,112,0}}, +/* 19829 */ {(11<<2)|2,{116,112,0}}, +/* 19830 */ {(11<<2)|2,{116,112,0}}, +/* 19831 */ {(11<<2)|2,{116,112,0}}, +/* 19832 */ {(11<<2)|2,{116,112,0}}, +/* 19833 */ {(11<<2)|2,{116,112,0}}, +/* 19834 */ {(11<<2)|2,{116,112,0}}, +/* 19835 */ {(11<<2)|2,{116,112,0}}, +/* 19836 */ {(11<<2)|2,{116,112,0}}, +/* 19837 */ {(11<<2)|2,{116,112,0}}, +/* 19838 */ {(11<<2)|2,{116,112,0}}, +/* 19839 */ {(11<<2)|2,{116,112,0}}, +/* 19840 */ {(16<<2)|3,{116,114,48}}, +/* 19841 */ {(16<<2)|3,{116,114,49}}, +/* 19842 */ {(16<<2)|3,{116,114,50}}, +/* 19843 */ {(16<<2)|3,{116,114,97}}, +/* 19844 */ {(16<<2)|3,{116,114,99}}, +/* 19845 */ {(16<<2)|3,{116,114,101}}, +/* 19846 */ {(16<<2)|3,{116,114,105}}, +/* 19847 */ {(16<<2)|3,{116,114,111}}, +/* 19848 */ {(16<<2)|3,{116,114,115}}, +/* 19849 */ {(16<<2)|3,{116,114,116}}, +/* 19850 */ {(11<<2)|2,{116,114,0}}, +/* 19851 */ {(11<<2)|2,{116,114,0}}, +/* 19852 */ {(11<<2)|2,{116,114,0}}, +/* 19853 */ {(11<<2)|2,{116,114,0}}, +/* 19854 */ {(11<<2)|2,{116,114,0}}, +/* 19855 */ {(11<<2)|2,{116,114,0}}, +/* 19856 */ {(11<<2)|2,{116,114,0}}, +/* 19857 */ {(11<<2)|2,{116,114,0}}, +/* 19858 */ {(11<<2)|2,{116,114,0}}, +/* 19859 */ {(11<<2)|2,{116,114,0}}, +/* 19860 */ {(11<<2)|2,{116,114,0}}, +/* 19861 */ {(11<<2)|2,{116,114,0}}, +/* 19862 */ {(11<<2)|2,{116,114,0}}, +/* 19863 */ {(11<<2)|2,{116,114,0}}, +/* 19864 */ {(11<<2)|2,{116,114,0}}, +/* 19865 */ {(11<<2)|2,{116,114,0}}, +/* 19866 */ {(11<<2)|2,{116,114,0}}, +/* 19867 */ {(11<<2)|2,{116,114,0}}, +/* 19868 */ {(11<<2)|2,{116,114,0}}, +/* 19869 */ {(11<<2)|2,{116,114,0}}, +/* 19870 */ {(11<<2)|2,{116,114,0}}, +/* 19871 */ {(11<<2)|2,{116,114,0}}, +/* 19872 */ {(16<<2)|3,{116,117,48}}, +/* 19873 */ {(16<<2)|3,{116,117,49}}, +/* 19874 */ {(16<<2)|3,{116,117,50}}, +/* 19875 */ {(16<<2)|3,{116,117,97}}, +/* 19876 */ {(16<<2)|3,{116,117,99}}, +/* 19877 */ {(16<<2)|3,{116,117,101}}, +/* 19878 */ {(16<<2)|3,{116,117,105}}, +/* 19879 */ {(16<<2)|3,{116,117,111}}, +/* 19880 */ {(16<<2)|3,{116,117,115}}, +/* 19881 */ {(16<<2)|3,{116,117,116}}, +/* 19882 */ {(11<<2)|2,{116,117,0}}, +/* 19883 */ {(11<<2)|2,{116,117,0}}, +/* 19884 */ {(11<<2)|2,{116,117,0}}, +/* 19885 */ {(11<<2)|2,{116,117,0}}, +/* 19886 */ {(11<<2)|2,{116,117,0}}, +/* 19887 */ {(11<<2)|2,{116,117,0}}, +/* 19888 */ {(11<<2)|2,{116,117,0}}, +/* 19889 */ {(11<<2)|2,{116,117,0}}, +/* 19890 */ {(11<<2)|2,{116,117,0}}, +/* 19891 */ {(11<<2)|2,{116,117,0}}, +/* 19892 */ {(11<<2)|2,{116,117,0}}, +/* 19893 */ {(11<<2)|2,{116,117,0}}, +/* 19894 */ {(11<<2)|2,{116,117,0}}, +/* 19895 */ {(11<<2)|2,{116,117,0}}, +/* 19896 */ {(11<<2)|2,{116,117,0}}, +/* 19897 */ {(11<<2)|2,{116,117,0}}, +/* 19898 */ {(11<<2)|2,{116,117,0}}, +/* 19899 */ {(11<<2)|2,{116,117,0}}, +/* 19900 */ {(11<<2)|2,{116,117,0}}, +/* 19901 */ {(11<<2)|2,{116,117,0}}, +/* 19902 */ {(11<<2)|2,{116,117,0}}, +/* 19903 */ {(11<<2)|2,{116,117,0}}, +/* 19904 */ {(12<<2)|2,{116,58,0}}, +/* 19905 */ {(12<<2)|2,{116,58,0}}, +/* 19906 */ {(12<<2)|2,{116,58,0}}, +/* 19907 */ {(12<<2)|2,{116,58,0}}, +/* 19908 */ {(12<<2)|2,{116,58,0}}, +/* 19909 */ {(12<<2)|2,{116,58,0}}, +/* 19910 */ {(12<<2)|2,{116,58,0}}, +/* 19911 */ {(12<<2)|2,{116,58,0}}, +/* 19912 */ {(12<<2)|2,{116,58,0}}, +/* 19913 */ {(12<<2)|2,{116,58,0}}, +/* 19914 */ {(12<<2)|2,{116,58,0}}, +/* 19915 */ {(12<<2)|2,{116,58,0}}, +/* 19916 */ {(12<<2)|2,{116,58,0}}, +/* 19917 */ {(12<<2)|2,{116,58,0}}, +/* 19918 */ {(12<<2)|2,{116,58,0}}, +/* 19919 */ {(12<<2)|2,{116,58,0}}, +/* 19920 */ {(12<<2)|2,{116,66,0}}, +/* 19921 */ {(12<<2)|2,{116,66,0}}, +/* 19922 */ {(12<<2)|2,{116,66,0}}, +/* 19923 */ {(12<<2)|2,{116,66,0}}, +/* 19924 */ {(12<<2)|2,{116,66,0}}, +/* 19925 */ {(12<<2)|2,{116,66,0}}, +/* 19926 */ {(12<<2)|2,{116,66,0}}, +/* 19927 */ {(12<<2)|2,{116,66,0}}, +/* 19928 */ {(12<<2)|2,{116,66,0}}, +/* 19929 */ {(12<<2)|2,{116,66,0}}, +/* 19930 */ {(12<<2)|2,{116,66,0}}, +/* 19931 */ {(12<<2)|2,{116,66,0}}, +/* 19932 */ {(12<<2)|2,{116,66,0}}, +/* 19933 */ {(12<<2)|2,{116,66,0}}, +/* 19934 */ {(12<<2)|2,{116,66,0}}, +/* 19935 */ {(12<<2)|2,{116,66,0}}, +/* 19936 */ {(12<<2)|2,{116,67,0}}, +/* 19937 */ {(12<<2)|2,{116,67,0}}, +/* 19938 */ {(12<<2)|2,{116,67,0}}, +/* 19939 */ {(12<<2)|2,{116,67,0}}, +/* 19940 */ {(12<<2)|2,{116,67,0}}, +/* 19941 */ {(12<<2)|2,{116,67,0}}, +/* 19942 */ {(12<<2)|2,{116,67,0}}, +/* 19943 */ {(12<<2)|2,{116,67,0}}, +/* 19944 */ {(12<<2)|2,{116,67,0}}, +/* 19945 */ {(12<<2)|2,{116,67,0}}, +/* 19946 */ {(12<<2)|2,{116,67,0}}, +/* 19947 */ {(12<<2)|2,{116,67,0}}, +/* 19948 */ {(12<<2)|2,{116,67,0}}, +/* 19949 */ {(12<<2)|2,{116,67,0}}, +/* 19950 */ {(12<<2)|2,{116,67,0}}, +/* 19951 */ {(12<<2)|2,{116,67,0}}, +/* 19952 */ {(12<<2)|2,{116,68,0}}, +/* 19953 */ {(12<<2)|2,{116,68,0}}, +/* 19954 */ {(12<<2)|2,{116,68,0}}, +/* 19955 */ {(12<<2)|2,{116,68,0}}, +/* 19956 */ {(12<<2)|2,{116,68,0}}, +/* 19957 */ {(12<<2)|2,{116,68,0}}, +/* 19958 */ {(12<<2)|2,{116,68,0}}, +/* 19959 */ {(12<<2)|2,{116,68,0}}, +/* 19960 */ {(12<<2)|2,{116,68,0}}, +/* 19961 */ {(12<<2)|2,{116,68,0}}, +/* 19962 */ {(12<<2)|2,{116,68,0}}, +/* 19963 */ {(12<<2)|2,{116,68,0}}, +/* 19964 */ {(12<<2)|2,{116,68,0}}, +/* 19965 */ {(12<<2)|2,{116,68,0}}, +/* 19966 */ {(12<<2)|2,{116,68,0}}, +/* 19967 */ {(12<<2)|2,{116,68,0}}, +/* 19968 */ {(12<<2)|2,{116,69,0}}, +/* 19969 */ {(12<<2)|2,{116,69,0}}, +/* 19970 */ {(12<<2)|2,{116,69,0}}, +/* 19971 */ {(12<<2)|2,{116,69,0}}, +/* 19972 */ {(12<<2)|2,{116,69,0}}, +/* 19973 */ {(12<<2)|2,{116,69,0}}, +/* 19974 */ {(12<<2)|2,{116,69,0}}, +/* 19975 */ {(12<<2)|2,{116,69,0}}, +/* 19976 */ {(12<<2)|2,{116,69,0}}, +/* 19977 */ {(12<<2)|2,{116,69,0}}, +/* 19978 */ {(12<<2)|2,{116,69,0}}, +/* 19979 */ {(12<<2)|2,{116,69,0}}, +/* 19980 */ {(12<<2)|2,{116,69,0}}, +/* 19981 */ {(12<<2)|2,{116,69,0}}, +/* 19982 */ {(12<<2)|2,{116,69,0}}, +/* 19983 */ {(12<<2)|2,{116,69,0}}, +/* 19984 */ {(12<<2)|2,{116,70,0}}, +/* 19985 */ {(12<<2)|2,{116,70,0}}, +/* 19986 */ {(12<<2)|2,{116,70,0}}, +/* 19987 */ {(12<<2)|2,{116,70,0}}, +/* 19988 */ {(12<<2)|2,{116,70,0}}, +/* 19989 */ {(12<<2)|2,{116,70,0}}, +/* 19990 */ {(12<<2)|2,{116,70,0}}, +/* 19991 */ {(12<<2)|2,{116,70,0}}, +/* 19992 */ {(12<<2)|2,{116,70,0}}, +/* 19993 */ {(12<<2)|2,{116,70,0}}, +/* 19994 */ {(12<<2)|2,{116,70,0}}, +/* 19995 */ {(12<<2)|2,{116,70,0}}, +/* 19996 */ {(12<<2)|2,{116,70,0}}, +/* 19997 */ {(12<<2)|2,{116,70,0}}, +/* 19998 */ {(12<<2)|2,{116,70,0}}, +/* 19999 */ {(12<<2)|2,{116,70,0}}, +/* 20000 */ {(12<<2)|2,{116,71,0}}, +/* 20001 */ {(12<<2)|2,{116,71,0}}, +/* 20002 */ {(12<<2)|2,{116,71,0}}, +/* 20003 */ {(12<<2)|2,{116,71,0}}, +/* 20004 */ {(12<<2)|2,{116,71,0}}, +/* 20005 */ {(12<<2)|2,{116,71,0}}, +/* 20006 */ {(12<<2)|2,{116,71,0}}, +/* 20007 */ {(12<<2)|2,{116,71,0}}, +/* 20008 */ {(12<<2)|2,{116,71,0}}, +/* 20009 */ {(12<<2)|2,{116,71,0}}, +/* 20010 */ {(12<<2)|2,{116,71,0}}, +/* 20011 */ {(12<<2)|2,{116,71,0}}, +/* 20012 */ {(12<<2)|2,{116,71,0}}, +/* 20013 */ {(12<<2)|2,{116,71,0}}, +/* 20014 */ {(12<<2)|2,{116,71,0}}, +/* 20015 */ {(12<<2)|2,{116,71,0}}, +/* 20016 */ {(12<<2)|2,{116,72,0}}, +/* 20017 */ {(12<<2)|2,{116,72,0}}, +/* 20018 */ {(12<<2)|2,{116,72,0}}, +/* 20019 */ {(12<<2)|2,{116,72,0}}, +/* 20020 */ {(12<<2)|2,{116,72,0}}, +/* 20021 */ {(12<<2)|2,{116,72,0}}, +/* 20022 */ {(12<<2)|2,{116,72,0}}, +/* 20023 */ {(12<<2)|2,{116,72,0}}, +/* 20024 */ {(12<<2)|2,{116,72,0}}, +/* 20025 */ {(12<<2)|2,{116,72,0}}, +/* 20026 */ {(12<<2)|2,{116,72,0}}, +/* 20027 */ {(12<<2)|2,{116,72,0}}, +/* 20028 */ {(12<<2)|2,{116,72,0}}, +/* 20029 */ {(12<<2)|2,{116,72,0}}, +/* 20030 */ {(12<<2)|2,{116,72,0}}, +/* 20031 */ {(12<<2)|2,{116,72,0}}, +/* 20032 */ {(12<<2)|2,{116,73,0}}, +/* 20033 */ {(12<<2)|2,{116,73,0}}, +/* 20034 */ {(12<<2)|2,{116,73,0}}, +/* 20035 */ {(12<<2)|2,{116,73,0}}, +/* 20036 */ {(12<<2)|2,{116,73,0}}, +/* 20037 */ {(12<<2)|2,{116,73,0}}, +/* 20038 */ {(12<<2)|2,{116,73,0}}, +/* 20039 */ {(12<<2)|2,{116,73,0}}, +/* 20040 */ {(12<<2)|2,{116,73,0}}, +/* 20041 */ {(12<<2)|2,{116,73,0}}, +/* 20042 */ {(12<<2)|2,{116,73,0}}, +/* 20043 */ {(12<<2)|2,{116,73,0}}, +/* 20044 */ {(12<<2)|2,{116,73,0}}, +/* 20045 */ {(12<<2)|2,{116,73,0}}, +/* 20046 */ {(12<<2)|2,{116,73,0}}, +/* 20047 */ {(12<<2)|2,{116,73,0}}, +/* 20048 */ {(12<<2)|2,{116,74,0}}, +/* 20049 */ {(12<<2)|2,{116,74,0}}, +/* 20050 */ {(12<<2)|2,{116,74,0}}, +/* 20051 */ {(12<<2)|2,{116,74,0}}, +/* 20052 */ {(12<<2)|2,{116,74,0}}, +/* 20053 */ {(12<<2)|2,{116,74,0}}, +/* 20054 */ {(12<<2)|2,{116,74,0}}, +/* 20055 */ {(12<<2)|2,{116,74,0}}, +/* 20056 */ {(12<<2)|2,{116,74,0}}, +/* 20057 */ {(12<<2)|2,{116,74,0}}, +/* 20058 */ {(12<<2)|2,{116,74,0}}, +/* 20059 */ {(12<<2)|2,{116,74,0}}, +/* 20060 */ {(12<<2)|2,{116,74,0}}, +/* 20061 */ {(12<<2)|2,{116,74,0}}, +/* 20062 */ {(12<<2)|2,{116,74,0}}, +/* 20063 */ {(12<<2)|2,{116,74,0}}, +/* 20064 */ {(12<<2)|2,{116,75,0}}, +/* 20065 */ {(12<<2)|2,{116,75,0}}, +/* 20066 */ {(12<<2)|2,{116,75,0}}, +/* 20067 */ {(12<<2)|2,{116,75,0}}, +/* 20068 */ {(12<<2)|2,{116,75,0}}, +/* 20069 */ {(12<<2)|2,{116,75,0}}, +/* 20070 */ {(12<<2)|2,{116,75,0}}, +/* 20071 */ {(12<<2)|2,{116,75,0}}, +/* 20072 */ {(12<<2)|2,{116,75,0}}, +/* 20073 */ {(12<<2)|2,{116,75,0}}, +/* 20074 */ {(12<<2)|2,{116,75,0}}, +/* 20075 */ {(12<<2)|2,{116,75,0}}, +/* 20076 */ {(12<<2)|2,{116,75,0}}, +/* 20077 */ {(12<<2)|2,{116,75,0}}, +/* 20078 */ {(12<<2)|2,{116,75,0}}, +/* 20079 */ {(12<<2)|2,{116,75,0}}, +/* 20080 */ {(12<<2)|2,{116,76,0}}, +/* 20081 */ {(12<<2)|2,{116,76,0}}, +/* 20082 */ {(12<<2)|2,{116,76,0}}, +/* 20083 */ {(12<<2)|2,{116,76,0}}, +/* 20084 */ {(12<<2)|2,{116,76,0}}, +/* 20085 */ {(12<<2)|2,{116,76,0}}, +/* 20086 */ {(12<<2)|2,{116,76,0}}, +/* 20087 */ {(12<<2)|2,{116,76,0}}, +/* 20088 */ {(12<<2)|2,{116,76,0}}, +/* 20089 */ {(12<<2)|2,{116,76,0}}, +/* 20090 */ {(12<<2)|2,{116,76,0}}, +/* 20091 */ {(12<<2)|2,{116,76,0}}, +/* 20092 */ {(12<<2)|2,{116,76,0}}, +/* 20093 */ {(12<<2)|2,{116,76,0}}, +/* 20094 */ {(12<<2)|2,{116,76,0}}, +/* 20095 */ {(12<<2)|2,{116,76,0}}, +/* 20096 */ {(12<<2)|2,{116,77,0}}, +/* 20097 */ {(12<<2)|2,{116,77,0}}, +/* 20098 */ {(12<<2)|2,{116,77,0}}, +/* 20099 */ {(12<<2)|2,{116,77,0}}, +/* 20100 */ {(12<<2)|2,{116,77,0}}, +/* 20101 */ {(12<<2)|2,{116,77,0}}, +/* 20102 */ {(12<<2)|2,{116,77,0}}, +/* 20103 */ {(12<<2)|2,{116,77,0}}, +/* 20104 */ {(12<<2)|2,{116,77,0}}, +/* 20105 */ {(12<<2)|2,{116,77,0}}, +/* 20106 */ {(12<<2)|2,{116,77,0}}, +/* 20107 */ {(12<<2)|2,{116,77,0}}, +/* 20108 */ {(12<<2)|2,{116,77,0}}, +/* 20109 */ {(12<<2)|2,{116,77,0}}, +/* 20110 */ {(12<<2)|2,{116,77,0}}, +/* 20111 */ {(12<<2)|2,{116,77,0}}, +/* 20112 */ {(12<<2)|2,{116,78,0}}, +/* 20113 */ {(12<<2)|2,{116,78,0}}, +/* 20114 */ {(12<<2)|2,{116,78,0}}, +/* 20115 */ {(12<<2)|2,{116,78,0}}, +/* 20116 */ {(12<<2)|2,{116,78,0}}, +/* 20117 */ {(12<<2)|2,{116,78,0}}, +/* 20118 */ {(12<<2)|2,{116,78,0}}, +/* 20119 */ {(12<<2)|2,{116,78,0}}, +/* 20120 */ {(12<<2)|2,{116,78,0}}, +/* 20121 */ {(12<<2)|2,{116,78,0}}, +/* 20122 */ {(12<<2)|2,{116,78,0}}, +/* 20123 */ {(12<<2)|2,{116,78,0}}, +/* 20124 */ {(12<<2)|2,{116,78,0}}, +/* 20125 */ {(12<<2)|2,{116,78,0}}, +/* 20126 */ {(12<<2)|2,{116,78,0}}, +/* 20127 */ {(12<<2)|2,{116,78,0}}, +/* 20128 */ {(12<<2)|2,{116,79,0}}, +/* 20129 */ {(12<<2)|2,{116,79,0}}, +/* 20130 */ {(12<<2)|2,{116,79,0}}, +/* 20131 */ {(12<<2)|2,{116,79,0}}, +/* 20132 */ {(12<<2)|2,{116,79,0}}, +/* 20133 */ {(12<<2)|2,{116,79,0}}, +/* 20134 */ {(12<<2)|2,{116,79,0}}, +/* 20135 */ {(12<<2)|2,{116,79,0}}, +/* 20136 */ {(12<<2)|2,{116,79,0}}, +/* 20137 */ {(12<<2)|2,{116,79,0}}, +/* 20138 */ {(12<<2)|2,{116,79,0}}, +/* 20139 */ {(12<<2)|2,{116,79,0}}, +/* 20140 */ {(12<<2)|2,{116,79,0}}, +/* 20141 */ {(12<<2)|2,{116,79,0}}, +/* 20142 */ {(12<<2)|2,{116,79,0}}, +/* 20143 */ {(12<<2)|2,{116,79,0}}, +/* 20144 */ {(12<<2)|2,{116,80,0}}, +/* 20145 */ {(12<<2)|2,{116,80,0}}, +/* 20146 */ {(12<<2)|2,{116,80,0}}, +/* 20147 */ {(12<<2)|2,{116,80,0}}, +/* 20148 */ {(12<<2)|2,{116,80,0}}, +/* 20149 */ {(12<<2)|2,{116,80,0}}, +/* 20150 */ {(12<<2)|2,{116,80,0}}, +/* 20151 */ {(12<<2)|2,{116,80,0}}, +/* 20152 */ {(12<<2)|2,{116,80,0}}, +/* 20153 */ {(12<<2)|2,{116,80,0}}, +/* 20154 */ {(12<<2)|2,{116,80,0}}, +/* 20155 */ {(12<<2)|2,{116,80,0}}, +/* 20156 */ {(12<<2)|2,{116,80,0}}, +/* 20157 */ {(12<<2)|2,{116,80,0}}, +/* 20158 */ {(12<<2)|2,{116,80,0}}, +/* 20159 */ {(12<<2)|2,{116,80,0}}, +/* 20160 */ {(12<<2)|2,{116,81,0}}, +/* 20161 */ {(12<<2)|2,{116,81,0}}, +/* 20162 */ {(12<<2)|2,{116,81,0}}, +/* 20163 */ {(12<<2)|2,{116,81,0}}, +/* 20164 */ {(12<<2)|2,{116,81,0}}, +/* 20165 */ {(12<<2)|2,{116,81,0}}, +/* 20166 */ {(12<<2)|2,{116,81,0}}, +/* 20167 */ {(12<<2)|2,{116,81,0}}, +/* 20168 */ {(12<<2)|2,{116,81,0}}, +/* 20169 */ {(12<<2)|2,{116,81,0}}, +/* 20170 */ {(12<<2)|2,{116,81,0}}, +/* 20171 */ {(12<<2)|2,{116,81,0}}, +/* 20172 */ {(12<<2)|2,{116,81,0}}, +/* 20173 */ {(12<<2)|2,{116,81,0}}, +/* 20174 */ {(12<<2)|2,{116,81,0}}, +/* 20175 */ {(12<<2)|2,{116,81,0}}, +/* 20176 */ {(12<<2)|2,{116,82,0}}, +/* 20177 */ {(12<<2)|2,{116,82,0}}, +/* 20178 */ {(12<<2)|2,{116,82,0}}, +/* 20179 */ {(12<<2)|2,{116,82,0}}, +/* 20180 */ {(12<<2)|2,{116,82,0}}, +/* 20181 */ {(12<<2)|2,{116,82,0}}, +/* 20182 */ {(12<<2)|2,{116,82,0}}, +/* 20183 */ {(12<<2)|2,{116,82,0}}, +/* 20184 */ {(12<<2)|2,{116,82,0}}, +/* 20185 */ {(12<<2)|2,{116,82,0}}, +/* 20186 */ {(12<<2)|2,{116,82,0}}, +/* 20187 */ {(12<<2)|2,{116,82,0}}, +/* 20188 */ {(12<<2)|2,{116,82,0}}, +/* 20189 */ {(12<<2)|2,{116,82,0}}, +/* 20190 */ {(12<<2)|2,{116,82,0}}, +/* 20191 */ {(12<<2)|2,{116,82,0}}, +/* 20192 */ {(12<<2)|2,{116,83,0}}, +/* 20193 */ {(12<<2)|2,{116,83,0}}, +/* 20194 */ {(12<<2)|2,{116,83,0}}, +/* 20195 */ {(12<<2)|2,{116,83,0}}, +/* 20196 */ {(12<<2)|2,{116,83,0}}, +/* 20197 */ {(12<<2)|2,{116,83,0}}, +/* 20198 */ {(12<<2)|2,{116,83,0}}, +/* 20199 */ {(12<<2)|2,{116,83,0}}, +/* 20200 */ {(12<<2)|2,{116,83,0}}, +/* 20201 */ {(12<<2)|2,{116,83,0}}, +/* 20202 */ {(12<<2)|2,{116,83,0}}, +/* 20203 */ {(12<<2)|2,{116,83,0}}, +/* 20204 */ {(12<<2)|2,{116,83,0}}, +/* 20205 */ {(12<<2)|2,{116,83,0}}, +/* 20206 */ {(12<<2)|2,{116,83,0}}, +/* 20207 */ {(12<<2)|2,{116,83,0}}, +/* 20208 */ {(12<<2)|2,{116,84,0}}, +/* 20209 */ {(12<<2)|2,{116,84,0}}, +/* 20210 */ {(12<<2)|2,{116,84,0}}, +/* 20211 */ {(12<<2)|2,{116,84,0}}, +/* 20212 */ {(12<<2)|2,{116,84,0}}, +/* 20213 */ {(12<<2)|2,{116,84,0}}, +/* 20214 */ {(12<<2)|2,{116,84,0}}, +/* 20215 */ {(12<<2)|2,{116,84,0}}, +/* 20216 */ {(12<<2)|2,{116,84,0}}, +/* 20217 */ {(12<<2)|2,{116,84,0}}, +/* 20218 */ {(12<<2)|2,{116,84,0}}, +/* 20219 */ {(12<<2)|2,{116,84,0}}, +/* 20220 */ {(12<<2)|2,{116,84,0}}, +/* 20221 */ {(12<<2)|2,{116,84,0}}, +/* 20222 */ {(12<<2)|2,{116,84,0}}, +/* 20223 */ {(12<<2)|2,{116,84,0}}, +/* 20224 */ {(12<<2)|2,{116,85,0}}, +/* 20225 */ {(12<<2)|2,{116,85,0}}, +/* 20226 */ {(12<<2)|2,{116,85,0}}, +/* 20227 */ {(12<<2)|2,{116,85,0}}, +/* 20228 */ {(12<<2)|2,{116,85,0}}, +/* 20229 */ {(12<<2)|2,{116,85,0}}, +/* 20230 */ {(12<<2)|2,{116,85,0}}, +/* 20231 */ {(12<<2)|2,{116,85,0}}, +/* 20232 */ {(12<<2)|2,{116,85,0}}, +/* 20233 */ {(12<<2)|2,{116,85,0}}, +/* 20234 */ {(12<<2)|2,{116,85,0}}, +/* 20235 */ {(12<<2)|2,{116,85,0}}, +/* 20236 */ {(12<<2)|2,{116,85,0}}, +/* 20237 */ {(12<<2)|2,{116,85,0}}, +/* 20238 */ {(12<<2)|2,{116,85,0}}, +/* 20239 */ {(12<<2)|2,{116,85,0}}, +/* 20240 */ {(12<<2)|2,{116,86,0}}, +/* 20241 */ {(12<<2)|2,{116,86,0}}, +/* 20242 */ {(12<<2)|2,{116,86,0}}, +/* 20243 */ {(12<<2)|2,{116,86,0}}, +/* 20244 */ {(12<<2)|2,{116,86,0}}, +/* 20245 */ {(12<<2)|2,{116,86,0}}, +/* 20246 */ {(12<<2)|2,{116,86,0}}, +/* 20247 */ {(12<<2)|2,{116,86,0}}, +/* 20248 */ {(12<<2)|2,{116,86,0}}, +/* 20249 */ {(12<<2)|2,{116,86,0}}, +/* 20250 */ {(12<<2)|2,{116,86,0}}, +/* 20251 */ {(12<<2)|2,{116,86,0}}, +/* 20252 */ {(12<<2)|2,{116,86,0}}, +/* 20253 */ {(12<<2)|2,{116,86,0}}, +/* 20254 */ {(12<<2)|2,{116,86,0}}, +/* 20255 */ {(12<<2)|2,{116,86,0}}, +/* 20256 */ {(12<<2)|2,{116,87,0}}, +/* 20257 */ {(12<<2)|2,{116,87,0}}, +/* 20258 */ {(12<<2)|2,{116,87,0}}, +/* 20259 */ {(12<<2)|2,{116,87,0}}, +/* 20260 */ {(12<<2)|2,{116,87,0}}, +/* 20261 */ {(12<<2)|2,{116,87,0}}, +/* 20262 */ {(12<<2)|2,{116,87,0}}, +/* 20263 */ {(12<<2)|2,{116,87,0}}, +/* 20264 */ {(12<<2)|2,{116,87,0}}, +/* 20265 */ {(12<<2)|2,{116,87,0}}, +/* 20266 */ {(12<<2)|2,{116,87,0}}, +/* 20267 */ {(12<<2)|2,{116,87,0}}, +/* 20268 */ {(12<<2)|2,{116,87,0}}, +/* 20269 */ {(12<<2)|2,{116,87,0}}, +/* 20270 */ {(12<<2)|2,{116,87,0}}, +/* 20271 */ {(12<<2)|2,{116,87,0}}, +/* 20272 */ {(12<<2)|2,{116,89,0}}, +/* 20273 */ {(12<<2)|2,{116,89,0}}, +/* 20274 */ {(12<<2)|2,{116,89,0}}, +/* 20275 */ {(12<<2)|2,{116,89,0}}, +/* 20276 */ {(12<<2)|2,{116,89,0}}, +/* 20277 */ {(12<<2)|2,{116,89,0}}, +/* 20278 */ {(12<<2)|2,{116,89,0}}, +/* 20279 */ {(12<<2)|2,{116,89,0}}, +/* 20280 */ {(12<<2)|2,{116,89,0}}, +/* 20281 */ {(12<<2)|2,{116,89,0}}, +/* 20282 */ {(12<<2)|2,{116,89,0}}, +/* 20283 */ {(12<<2)|2,{116,89,0}}, +/* 20284 */ {(12<<2)|2,{116,89,0}}, +/* 20285 */ {(12<<2)|2,{116,89,0}}, +/* 20286 */ {(12<<2)|2,{116,89,0}}, +/* 20287 */ {(12<<2)|2,{116,89,0}}, +/* 20288 */ {(12<<2)|2,{116,106,0}}, +/* 20289 */ {(12<<2)|2,{116,106,0}}, +/* 20290 */ {(12<<2)|2,{116,106,0}}, +/* 20291 */ {(12<<2)|2,{116,106,0}}, +/* 20292 */ {(12<<2)|2,{116,106,0}}, +/* 20293 */ {(12<<2)|2,{116,106,0}}, +/* 20294 */ {(12<<2)|2,{116,106,0}}, +/* 20295 */ {(12<<2)|2,{116,106,0}}, +/* 20296 */ {(12<<2)|2,{116,106,0}}, +/* 20297 */ {(12<<2)|2,{116,106,0}}, +/* 20298 */ {(12<<2)|2,{116,106,0}}, +/* 20299 */ {(12<<2)|2,{116,106,0}}, +/* 20300 */ {(12<<2)|2,{116,106,0}}, +/* 20301 */ {(12<<2)|2,{116,106,0}}, +/* 20302 */ {(12<<2)|2,{116,106,0}}, +/* 20303 */ {(12<<2)|2,{116,106,0}}, +/* 20304 */ {(12<<2)|2,{116,107,0}}, +/* 20305 */ {(12<<2)|2,{116,107,0}}, +/* 20306 */ {(12<<2)|2,{116,107,0}}, +/* 20307 */ {(12<<2)|2,{116,107,0}}, +/* 20308 */ {(12<<2)|2,{116,107,0}}, +/* 20309 */ {(12<<2)|2,{116,107,0}}, +/* 20310 */ {(12<<2)|2,{116,107,0}}, +/* 20311 */ {(12<<2)|2,{116,107,0}}, +/* 20312 */ {(12<<2)|2,{116,107,0}}, +/* 20313 */ {(12<<2)|2,{116,107,0}}, +/* 20314 */ {(12<<2)|2,{116,107,0}}, +/* 20315 */ {(12<<2)|2,{116,107,0}}, +/* 20316 */ {(12<<2)|2,{116,107,0}}, +/* 20317 */ {(12<<2)|2,{116,107,0}}, +/* 20318 */ {(12<<2)|2,{116,107,0}}, +/* 20319 */ {(12<<2)|2,{116,107,0}}, +/* 20320 */ {(12<<2)|2,{116,113,0}}, +/* 20321 */ {(12<<2)|2,{116,113,0}}, +/* 20322 */ {(12<<2)|2,{116,113,0}}, +/* 20323 */ {(12<<2)|2,{116,113,0}}, +/* 20324 */ {(12<<2)|2,{116,113,0}}, +/* 20325 */ {(12<<2)|2,{116,113,0}}, +/* 20326 */ {(12<<2)|2,{116,113,0}}, +/* 20327 */ {(12<<2)|2,{116,113,0}}, +/* 20328 */ {(12<<2)|2,{116,113,0}}, +/* 20329 */ {(12<<2)|2,{116,113,0}}, +/* 20330 */ {(12<<2)|2,{116,113,0}}, +/* 20331 */ {(12<<2)|2,{116,113,0}}, +/* 20332 */ {(12<<2)|2,{116,113,0}}, +/* 20333 */ {(12<<2)|2,{116,113,0}}, +/* 20334 */ {(12<<2)|2,{116,113,0}}, +/* 20335 */ {(12<<2)|2,{116,113,0}}, +/* 20336 */ {(12<<2)|2,{116,118,0}}, +/* 20337 */ {(12<<2)|2,{116,118,0}}, +/* 20338 */ {(12<<2)|2,{116,118,0}}, +/* 20339 */ {(12<<2)|2,{116,118,0}}, +/* 20340 */ {(12<<2)|2,{116,118,0}}, +/* 20341 */ {(12<<2)|2,{116,118,0}}, +/* 20342 */ {(12<<2)|2,{116,118,0}}, +/* 20343 */ {(12<<2)|2,{116,118,0}}, +/* 20344 */ {(12<<2)|2,{116,118,0}}, +/* 20345 */ {(12<<2)|2,{116,118,0}}, +/* 20346 */ {(12<<2)|2,{116,118,0}}, +/* 20347 */ {(12<<2)|2,{116,118,0}}, +/* 20348 */ {(12<<2)|2,{116,118,0}}, +/* 20349 */ {(12<<2)|2,{116,118,0}}, +/* 20350 */ {(12<<2)|2,{116,118,0}}, +/* 20351 */ {(12<<2)|2,{116,118,0}}, +/* 20352 */ {(12<<2)|2,{116,119,0}}, +/* 20353 */ {(12<<2)|2,{116,119,0}}, +/* 20354 */ {(12<<2)|2,{116,119,0}}, +/* 20355 */ {(12<<2)|2,{116,119,0}}, +/* 20356 */ {(12<<2)|2,{116,119,0}}, +/* 20357 */ {(12<<2)|2,{116,119,0}}, +/* 20358 */ {(12<<2)|2,{116,119,0}}, +/* 20359 */ {(12<<2)|2,{116,119,0}}, +/* 20360 */ {(12<<2)|2,{116,119,0}}, +/* 20361 */ {(12<<2)|2,{116,119,0}}, +/* 20362 */ {(12<<2)|2,{116,119,0}}, +/* 20363 */ {(12<<2)|2,{116,119,0}}, +/* 20364 */ {(12<<2)|2,{116,119,0}}, +/* 20365 */ {(12<<2)|2,{116,119,0}}, +/* 20366 */ {(12<<2)|2,{116,119,0}}, +/* 20367 */ {(12<<2)|2,{116,119,0}}, +/* 20368 */ {(12<<2)|2,{116,120,0}}, +/* 20369 */ {(12<<2)|2,{116,120,0}}, +/* 20370 */ {(12<<2)|2,{116,120,0}}, +/* 20371 */ {(12<<2)|2,{116,120,0}}, +/* 20372 */ {(12<<2)|2,{116,120,0}}, +/* 20373 */ {(12<<2)|2,{116,120,0}}, +/* 20374 */ {(12<<2)|2,{116,120,0}}, +/* 20375 */ {(12<<2)|2,{116,120,0}}, +/* 20376 */ {(12<<2)|2,{116,120,0}}, +/* 20377 */ {(12<<2)|2,{116,120,0}}, +/* 20378 */ {(12<<2)|2,{116,120,0}}, +/* 20379 */ {(12<<2)|2,{116,120,0}}, +/* 20380 */ {(12<<2)|2,{116,120,0}}, +/* 20381 */ {(12<<2)|2,{116,120,0}}, +/* 20382 */ {(12<<2)|2,{116,120,0}}, +/* 20383 */ {(12<<2)|2,{116,120,0}}, +/* 20384 */ {(12<<2)|2,{116,121,0}}, +/* 20385 */ {(12<<2)|2,{116,121,0}}, +/* 20386 */ {(12<<2)|2,{116,121,0}}, +/* 20387 */ {(12<<2)|2,{116,121,0}}, +/* 20388 */ {(12<<2)|2,{116,121,0}}, +/* 20389 */ {(12<<2)|2,{116,121,0}}, +/* 20390 */ {(12<<2)|2,{116,121,0}}, +/* 20391 */ {(12<<2)|2,{116,121,0}}, +/* 20392 */ {(12<<2)|2,{116,121,0}}, +/* 20393 */ {(12<<2)|2,{116,121,0}}, +/* 20394 */ {(12<<2)|2,{116,121,0}}, +/* 20395 */ {(12<<2)|2,{116,121,0}}, +/* 20396 */ {(12<<2)|2,{116,121,0}}, +/* 20397 */ {(12<<2)|2,{116,121,0}}, +/* 20398 */ {(12<<2)|2,{116,121,0}}, +/* 20399 */ {(12<<2)|2,{116,121,0}}, +/* 20400 */ {(12<<2)|2,{116,122,0}}, +/* 20401 */ {(12<<2)|2,{116,122,0}}, +/* 20402 */ {(12<<2)|2,{116,122,0}}, +/* 20403 */ {(12<<2)|2,{116,122,0}}, +/* 20404 */ {(12<<2)|2,{116,122,0}}, +/* 20405 */ {(12<<2)|2,{116,122,0}}, +/* 20406 */ {(12<<2)|2,{116,122,0}}, +/* 20407 */ {(12<<2)|2,{116,122,0}}, +/* 20408 */ {(12<<2)|2,{116,122,0}}, +/* 20409 */ {(12<<2)|2,{116,122,0}}, +/* 20410 */ {(12<<2)|2,{116,122,0}}, +/* 20411 */ {(12<<2)|2,{116,122,0}}, +/* 20412 */ {(12<<2)|2,{116,122,0}}, +/* 20413 */ {(12<<2)|2,{116,122,0}}, +/* 20414 */ {(12<<2)|2,{116,122,0}}, +/* 20415 */ {(12<<2)|2,{116,122,0}}, +/* 20416 */ {(13<<2)|2,{116,38,0}}, +/* 20417 */ {(13<<2)|2,{116,38,0}}, +/* 20418 */ {(13<<2)|2,{116,38,0}}, +/* 20419 */ {(13<<2)|2,{116,38,0}}, +/* 20420 */ {(13<<2)|2,{116,38,0}}, +/* 20421 */ {(13<<2)|2,{116,38,0}}, +/* 20422 */ {(13<<2)|2,{116,38,0}}, +/* 20423 */ {(13<<2)|2,{116,38,0}}, +/* 20424 */ {(13<<2)|2,{116,42,0}}, +/* 20425 */ {(13<<2)|2,{116,42,0}}, +/* 20426 */ {(13<<2)|2,{116,42,0}}, +/* 20427 */ {(13<<2)|2,{116,42,0}}, +/* 20428 */ {(13<<2)|2,{116,42,0}}, +/* 20429 */ {(13<<2)|2,{116,42,0}}, +/* 20430 */ {(13<<2)|2,{116,42,0}}, +/* 20431 */ {(13<<2)|2,{116,42,0}}, +/* 20432 */ {(13<<2)|2,{116,44,0}}, +/* 20433 */ {(13<<2)|2,{116,44,0}}, +/* 20434 */ {(13<<2)|2,{116,44,0}}, +/* 20435 */ {(13<<2)|2,{116,44,0}}, +/* 20436 */ {(13<<2)|2,{116,44,0}}, +/* 20437 */ {(13<<2)|2,{116,44,0}}, +/* 20438 */ {(13<<2)|2,{116,44,0}}, +/* 20439 */ {(13<<2)|2,{116,44,0}}, +/* 20440 */ {(13<<2)|2,{116,59,0}}, +/* 20441 */ {(13<<2)|2,{116,59,0}}, +/* 20442 */ {(13<<2)|2,{116,59,0}}, +/* 20443 */ {(13<<2)|2,{116,59,0}}, +/* 20444 */ {(13<<2)|2,{116,59,0}}, +/* 20445 */ {(13<<2)|2,{116,59,0}}, +/* 20446 */ {(13<<2)|2,{116,59,0}}, +/* 20447 */ {(13<<2)|2,{116,59,0}}, +/* 20448 */ {(13<<2)|2,{116,88,0}}, +/* 20449 */ {(13<<2)|2,{116,88,0}}, +/* 20450 */ {(13<<2)|2,{116,88,0}}, +/* 20451 */ {(13<<2)|2,{116,88,0}}, +/* 20452 */ {(13<<2)|2,{116,88,0}}, +/* 20453 */ {(13<<2)|2,{116,88,0}}, +/* 20454 */ {(13<<2)|2,{116,88,0}}, +/* 20455 */ {(13<<2)|2,{116,88,0}}, +/* 20456 */ {(13<<2)|2,{116,90,0}}, +/* 20457 */ {(13<<2)|2,{116,90,0}}, +/* 20458 */ {(13<<2)|2,{116,90,0}}, +/* 20459 */ {(13<<2)|2,{116,90,0}}, +/* 20460 */ {(13<<2)|2,{116,90,0}}, +/* 20461 */ {(13<<2)|2,{116,90,0}}, +/* 20462 */ {(13<<2)|2,{116,90,0}}, +/* 20463 */ {(13<<2)|2,{116,90,0}}, +/* 20464 */ {(15<<2)|2,{116,33,0}}, +/* 20465 */ {(15<<2)|2,{116,33,0}}, +/* 20466 */ {(15<<2)|2,{116,34,0}}, +/* 20467 */ {(15<<2)|2,{116,34,0}}, +/* 20468 */ {(15<<2)|2,{116,40,0}}, +/* 20469 */ {(15<<2)|2,{116,40,0}}, +/* 20470 */ {(15<<2)|2,{116,41,0}}, +/* 20471 */ {(15<<2)|2,{116,41,0}}, +/* 20472 */ {(15<<2)|2,{116,63,0}}, +/* 20473 */ {(15<<2)|2,{116,63,0}}, +/* 20474 */ {(16<<2)|2,{116,39,0}}, +/* 20475 */ {(16<<2)|2,{116,43,0}}, +/* 20476 */ {(16<<2)|2,{116,124,0}}, +/* 20477 */ {(5<<2)|1,{116,0,0}}, +/* 20478 */ {(5<<2)|1,{116,0,0}}, +/* 20479 */ {(5<<2)|1,{116,0,0}}, +/* 20480 */ {(16<<2)|3,{32,48,48}}, +/* 20481 */ {(16<<2)|3,{32,48,49}}, +/* 20482 */ {(16<<2)|3,{32,48,50}}, +/* 20483 */ {(16<<2)|3,{32,48,97}}, +/* 20484 */ {(16<<2)|3,{32,48,99}}, +/* 20485 */ {(16<<2)|3,{32,48,101}}, +/* 20486 */ {(16<<2)|3,{32,48,105}}, +/* 20487 */ {(16<<2)|3,{32,48,111}}, +/* 20488 */ {(16<<2)|3,{32,48,115}}, +/* 20489 */ {(16<<2)|3,{32,48,116}}, +/* 20490 */ {(11<<2)|2,{32,48,0}}, +/* 20491 */ {(11<<2)|2,{32,48,0}}, +/* 20492 */ {(11<<2)|2,{32,48,0}}, +/* 20493 */ {(11<<2)|2,{32,48,0}}, +/* 20494 */ {(11<<2)|2,{32,48,0}}, +/* 20495 */ {(11<<2)|2,{32,48,0}}, +/* 20496 */ {(11<<2)|2,{32,48,0}}, +/* 20497 */ {(11<<2)|2,{32,48,0}}, +/* 20498 */ {(11<<2)|2,{32,48,0}}, +/* 20499 */ {(11<<2)|2,{32,48,0}}, +/* 20500 */ {(11<<2)|2,{32,48,0}}, +/* 20501 */ {(11<<2)|2,{32,48,0}}, +/* 20502 */ {(11<<2)|2,{32,48,0}}, +/* 20503 */ {(11<<2)|2,{32,48,0}}, +/* 20504 */ {(11<<2)|2,{32,48,0}}, +/* 20505 */ {(11<<2)|2,{32,48,0}}, +/* 20506 */ {(11<<2)|2,{32,48,0}}, +/* 20507 */ {(11<<2)|2,{32,48,0}}, +/* 20508 */ {(11<<2)|2,{32,48,0}}, +/* 20509 */ {(11<<2)|2,{32,48,0}}, +/* 20510 */ {(11<<2)|2,{32,48,0}}, +/* 20511 */ {(11<<2)|2,{32,48,0}}, +/* 20512 */ {(16<<2)|3,{32,49,48}}, +/* 20513 */ {(16<<2)|3,{32,49,49}}, +/* 20514 */ {(16<<2)|3,{32,49,50}}, +/* 20515 */ {(16<<2)|3,{32,49,97}}, +/* 20516 */ {(16<<2)|3,{32,49,99}}, +/* 20517 */ {(16<<2)|3,{32,49,101}}, +/* 20518 */ {(16<<2)|3,{32,49,105}}, +/* 20519 */ {(16<<2)|3,{32,49,111}}, +/* 20520 */ {(16<<2)|3,{32,49,115}}, +/* 20521 */ {(16<<2)|3,{32,49,116}}, +/* 20522 */ {(11<<2)|2,{32,49,0}}, +/* 20523 */ {(11<<2)|2,{32,49,0}}, +/* 20524 */ {(11<<2)|2,{32,49,0}}, +/* 20525 */ {(11<<2)|2,{32,49,0}}, +/* 20526 */ {(11<<2)|2,{32,49,0}}, +/* 20527 */ {(11<<2)|2,{32,49,0}}, +/* 20528 */ {(11<<2)|2,{32,49,0}}, +/* 20529 */ {(11<<2)|2,{32,49,0}}, +/* 20530 */ {(11<<2)|2,{32,49,0}}, +/* 20531 */ {(11<<2)|2,{32,49,0}}, +/* 20532 */ {(11<<2)|2,{32,49,0}}, +/* 20533 */ {(11<<2)|2,{32,49,0}}, +/* 20534 */ {(11<<2)|2,{32,49,0}}, +/* 20535 */ {(11<<2)|2,{32,49,0}}, +/* 20536 */ {(11<<2)|2,{32,49,0}}, +/* 20537 */ {(11<<2)|2,{32,49,0}}, +/* 20538 */ {(11<<2)|2,{32,49,0}}, +/* 20539 */ {(11<<2)|2,{32,49,0}}, +/* 20540 */ {(11<<2)|2,{32,49,0}}, +/* 20541 */ {(11<<2)|2,{32,49,0}}, +/* 20542 */ {(11<<2)|2,{32,49,0}}, +/* 20543 */ {(11<<2)|2,{32,49,0}}, +/* 20544 */ {(16<<2)|3,{32,50,48}}, +/* 20545 */ {(16<<2)|3,{32,50,49}}, +/* 20546 */ {(16<<2)|3,{32,50,50}}, +/* 20547 */ {(16<<2)|3,{32,50,97}}, +/* 20548 */ {(16<<2)|3,{32,50,99}}, +/* 20549 */ {(16<<2)|3,{32,50,101}}, +/* 20550 */ {(16<<2)|3,{32,50,105}}, +/* 20551 */ {(16<<2)|3,{32,50,111}}, +/* 20552 */ {(16<<2)|3,{32,50,115}}, +/* 20553 */ {(16<<2)|3,{32,50,116}}, +/* 20554 */ {(11<<2)|2,{32,50,0}}, +/* 20555 */ {(11<<2)|2,{32,50,0}}, +/* 20556 */ {(11<<2)|2,{32,50,0}}, +/* 20557 */ {(11<<2)|2,{32,50,0}}, +/* 20558 */ {(11<<2)|2,{32,50,0}}, +/* 20559 */ {(11<<2)|2,{32,50,0}}, +/* 20560 */ {(11<<2)|2,{32,50,0}}, +/* 20561 */ {(11<<2)|2,{32,50,0}}, +/* 20562 */ {(11<<2)|2,{32,50,0}}, +/* 20563 */ {(11<<2)|2,{32,50,0}}, +/* 20564 */ {(11<<2)|2,{32,50,0}}, +/* 20565 */ {(11<<2)|2,{32,50,0}}, +/* 20566 */ {(11<<2)|2,{32,50,0}}, +/* 20567 */ {(11<<2)|2,{32,50,0}}, +/* 20568 */ {(11<<2)|2,{32,50,0}}, +/* 20569 */ {(11<<2)|2,{32,50,0}}, +/* 20570 */ {(11<<2)|2,{32,50,0}}, +/* 20571 */ {(11<<2)|2,{32,50,0}}, +/* 20572 */ {(11<<2)|2,{32,50,0}}, +/* 20573 */ {(11<<2)|2,{32,50,0}}, +/* 20574 */ {(11<<2)|2,{32,50,0}}, +/* 20575 */ {(11<<2)|2,{32,50,0}}, +/* 20576 */ {(16<<2)|3,{32,97,48}}, +/* 20577 */ {(16<<2)|3,{32,97,49}}, +/* 20578 */ {(16<<2)|3,{32,97,50}}, +/* 20579 */ {(16<<2)|3,{32,97,97}}, +/* 20580 */ {(16<<2)|3,{32,97,99}}, +/* 20581 */ {(16<<2)|3,{32,97,101}}, +/* 20582 */ {(16<<2)|3,{32,97,105}}, +/* 20583 */ {(16<<2)|3,{32,97,111}}, +/* 20584 */ {(16<<2)|3,{32,97,115}}, +/* 20585 */ {(16<<2)|3,{32,97,116}}, +/* 20586 */ {(11<<2)|2,{32,97,0}}, +/* 20587 */ {(11<<2)|2,{32,97,0}}, +/* 20588 */ {(11<<2)|2,{32,97,0}}, +/* 20589 */ {(11<<2)|2,{32,97,0}}, +/* 20590 */ {(11<<2)|2,{32,97,0}}, +/* 20591 */ {(11<<2)|2,{32,97,0}}, +/* 20592 */ {(11<<2)|2,{32,97,0}}, +/* 20593 */ {(11<<2)|2,{32,97,0}}, +/* 20594 */ {(11<<2)|2,{32,97,0}}, +/* 20595 */ {(11<<2)|2,{32,97,0}}, +/* 20596 */ {(11<<2)|2,{32,97,0}}, +/* 20597 */ {(11<<2)|2,{32,97,0}}, +/* 20598 */ {(11<<2)|2,{32,97,0}}, +/* 20599 */ {(11<<2)|2,{32,97,0}}, +/* 20600 */ {(11<<2)|2,{32,97,0}}, +/* 20601 */ {(11<<2)|2,{32,97,0}}, +/* 20602 */ {(11<<2)|2,{32,97,0}}, +/* 20603 */ {(11<<2)|2,{32,97,0}}, +/* 20604 */ {(11<<2)|2,{32,97,0}}, +/* 20605 */ {(11<<2)|2,{32,97,0}}, +/* 20606 */ {(11<<2)|2,{32,97,0}}, +/* 20607 */ {(11<<2)|2,{32,97,0}}, +/* 20608 */ {(16<<2)|3,{32,99,48}}, +/* 20609 */ {(16<<2)|3,{32,99,49}}, +/* 20610 */ {(16<<2)|3,{32,99,50}}, +/* 20611 */ {(16<<2)|3,{32,99,97}}, +/* 20612 */ {(16<<2)|3,{32,99,99}}, +/* 20613 */ {(16<<2)|3,{32,99,101}}, +/* 20614 */ {(16<<2)|3,{32,99,105}}, +/* 20615 */ {(16<<2)|3,{32,99,111}}, +/* 20616 */ {(16<<2)|3,{32,99,115}}, +/* 20617 */ {(16<<2)|3,{32,99,116}}, +/* 20618 */ {(11<<2)|2,{32,99,0}}, +/* 20619 */ {(11<<2)|2,{32,99,0}}, +/* 20620 */ {(11<<2)|2,{32,99,0}}, +/* 20621 */ {(11<<2)|2,{32,99,0}}, +/* 20622 */ {(11<<2)|2,{32,99,0}}, +/* 20623 */ {(11<<2)|2,{32,99,0}}, +/* 20624 */ {(11<<2)|2,{32,99,0}}, +/* 20625 */ {(11<<2)|2,{32,99,0}}, +/* 20626 */ {(11<<2)|2,{32,99,0}}, +/* 20627 */ {(11<<2)|2,{32,99,0}}, +/* 20628 */ {(11<<2)|2,{32,99,0}}, +/* 20629 */ {(11<<2)|2,{32,99,0}}, +/* 20630 */ {(11<<2)|2,{32,99,0}}, +/* 20631 */ {(11<<2)|2,{32,99,0}}, +/* 20632 */ {(11<<2)|2,{32,99,0}}, +/* 20633 */ {(11<<2)|2,{32,99,0}}, +/* 20634 */ {(11<<2)|2,{32,99,0}}, +/* 20635 */ {(11<<2)|2,{32,99,0}}, +/* 20636 */ {(11<<2)|2,{32,99,0}}, +/* 20637 */ {(11<<2)|2,{32,99,0}}, +/* 20638 */ {(11<<2)|2,{32,99,0}}, +/* 20639 */ {(11<<2)|2,{32,99,0}}, +/* 20640 */ {(16<<2)|3,{32,101,48}}, +/* 20641 */ {(16<<2)|3,{32,101,49}}, +/* 20642 */ {(16<<2)|3,{32,101,50}}, +/* 20643 */ {(16<<2)|3,{32,101,97}}, +/* 20644 */ {(16<<2)|3,{32,101,99}}, +/* 20645 */ {(16<<2)|3,{32,101,101}}, +/* 20646 */ {(16<<2)|3,{32,101,105}}, +/* 20647 */ {(16<<2)|3,{32,101,111}}, +/* 20648 */ {(16<<2)|3,{32,101,115}}, +/* 20649 */ {(16<<2)|3,{32,101,116}}, +/* 20650 */ {(11<<2)|2,{32,101,0}}, +/* 20651 */ {(11<<2)|2,{32,101,0}}, +/* 20652 */ {(11<<2)|2,{32,101,0}}, +/* 20653 */ {(11<<2)|2,{32,101,0}}, +/* 20654 */ {(11<<2)|2,{32,101,0}}, +/* 20655 */ {(11<<2)|2,{32,101,0}}, +/* 20656 */ {(11<<2)|2,{32,101,0}}, +/* 20657 */ {(11<<2)|2,{32,101,0}}, +/* 20658 */ {(11<<2)|2,{32,101,0}}, +/* 20659 */ {(11<<2)|2,{32,101,0}}, +/* 20660 */ {(11<<2)|2,{32,101,0}}, +/* 20661 */ {(11<<2)|2,{32,101,0}}, +/* 20662 */ {(11<<2)|2,{32,101,0}}, +/* 20663 */ {(11<<2)|2,{32,101,0}}, +/* 20664 */ {(11<<2)|2,{32,101,0}}, +/* 20665 */ {(11<<2)|2,{32,101,0}}, +/* 20666 */ {(11<<2)|2,{32,101,0}}, +/* 20667 */ {(11<<2)|2,{32,101,0}}, +/* 20668 */ {(11<<2)|2,{32,101,0}}, +/* 20669 */ {(11<<2)|2,{32,101,0}}, +/* 20670 */ {(11<<2)|2,{32,101,0}}, +/* 20671 */ {(11<<2)|2,{32,101,0}}, +/* 20672 */ {(16<<2)|3,{32,105,48}}, +/* 20673 */ {(16<<2)|3,{32,105,49}}, +/* 20674 */ {(16<<2)|3,{32,105,50}}, +/* 20675 */ {(16<<2)|3,{32,105,97}}, +/* 20676 */ {(16<<2)|3,{32,105,99}}, +/* 20677 */ {(16<<2)|3,{32,105,101}}, +/* 20678 */ {(16<<2)|3,{32,105,105}}, +/* 20679 */ {(16<<2)|3,{32,105,111}}, +/* 20680 */ {(16<<2)|3,{32,105,115}}, +/* 20681 */ {(16<<2)|3,{32,105,116}}, +/* 20682 */ {(11<<2)|2,{32,105,0}}, +/* 20683 */ {(11<<2)|2,{32,105,0}}, +/* 20684 */ {(11<<2)|2,{32,105,0}}, +/* 20685 */ {(11<<2)|2,{32,105,0}}, +/* 20686 */ {(11<<2)|2,{32,105,0}}, +/* 20687 */ {(11<<2)|2,{32,105,0}}, +/* 20688 */ {(11<<2)|2,{32,105,0}}, +/* 20689 */ {(11<<2)|2,{32,105,0}}, +/* 20690 */ {(11<<2)|2,{32,105,0}}, +/* 20691 */ {(11<<2)|2,{32,105,0}}, +/* 20692 */ {(11<<2)|2,{32,105,0}}, +/* 20693 */ {(11<<2)|2,{32,105,0}}, +/* 20694 */ {(11<<2)|2,{32,105,0}}, +/* 20695 */ {(11<<2)|2,{32,105,0}}, +/* 20696 */ {(11<<2)|2,{32,105,0}}, +/* 20697 */ {(11<<2)|2,{32,105,0}}, +/* 20698 */ {(11<<2)|2,{32,105,0}}, +/* 20699 */ {(11<<2)|2,{32,105,0}}, +/* 20700 */ {(11<<2)|2,{32,105,0}}, +/* 20701 */ {(11<<2)|2,{32,105,0}}, +/* 20702 */ {(11<<2)|2,{32,105,0}}, +/* 20703 */ {(11<<2)|2,{32,105,0}}, +/* 20704 */ {(16<<2)|3,{32,111,48}}, +/* 20705 */ {(16<<2)|3,{32,111,49}}, +/* 20706 */ {(16<<2)|3,{32,111,50}}, +/* 20707 */ {(16<<2)|3,{32,111,97}}, +/* 20708 */ {(16<<2)|3,{32,111,99}}, +/* 20709 */ {(16<<2)|3,{32,111,101}}, +/* 20710 */ {(16<<2)|3,{32,111,105}}, +/* 20711 */ {(16<<2)|3,{32,111,111}}, +/* 20712 */ {(16<<2)|3,{32,111,115}}, +/* 20713 */ {(16<<2)|3,{32,111,116}}, +/* 20714 */ {(11<<2)|2,{32,111,0}}, +/* 20715 */ {(11<<2)|2,{32,111,0}}, +/* 20716 */ {(11<<2)|2,{32,111,0}}, +/* 20717 */ {(11<<2)|2,{32,111,0}}, +/* 20718 */ {(11<<2)|2,{32,111,0}}, +/* 20719 */ {(11<<2)|2,{32,111,0}}, +/* 20720 */ {(11<<2)|2,{32,111,0}}, +/* 20721 */ {(11<<2)|2,{32,111,0}}, +/* 20722 */ {(11<<2)|2,{32,111,0}}, +/* 20723 */ {(11<<2)|2,{32,111,0}}, +/* 20724 */ {(11<<2)|2,{32,111,0}}, +/* 20725 */ {(11<<2)|2,{32,111,0}}, +/* 20726 */ {(11<<2)|2,{32,111,0}}, +/* 20727 */ {(11<<2)|2,{32,111,0}}, +/* 20728 */ {(11<<2)|2,{32,111,0}}, +/* 20729 */ {(11<<2)|2,{32,111,0}}, +/* 20730 */ {(11<<2)|2,{32,111,0}}, +/* 20731 */ {(11<<2)|2,{32,111,0}}, +/* 20732 */ {(11<<2)|2,{32,111,0}}, +/* 20733 */ {(11<<2)|2,{32,111,0}}, +/* 20734 */ {(11<<2)|2,{32,111,0}}, +/* 20735 */ {(11<<2)|2,{32,111,0}}, +/* 20736 */ {(16<<2)|3,{32,115,48}}, +/* 20737 */ {(16<<2)|3,{32,115,49}}, +/* 20738 */ {(16<<2)|3,{32,115,50}}, +/* 20739 */ {(16<<2)|3,{32,115,97}}, +/* 20740 */ {(16<<2)|3,{32,115,99}}, +/* 20741 */ {(16<<2)|3,{32,115,101}}, +/* 20742 */ {(16<<2)|3,{32,115,105}}, +/* 20743 */ {(16<<2)|3,{32,115,111}}, +/* 20744 */ {(16<<2)|3,{32,115,115}}, +/* 20745 */ {(16<<2)|3,{32,115,116}}, +/* 20746 */ {(11<<2)|2,{32,115,0}}, +/* 20747 */ {(11<<2)|2,{32,115,0}}, +/* 20748 */ {(11<<2)|2,{32,115,0}}, +/* 20749 */ {(11<<2)|2,{32,115,0}}, +/* 20750 */ {(11<<2)|2,{32,115,0}}, +/* 20751 */ {(11<<2)|2,{32,115,0}}, +/* 20752 */ {(11<<2)|2,{32,115,0}}, +/* 20753 */ {(11<<2)|2,{32,115,0}}, +/* 20754 */ {(11<<2)|2,{32,115,0}}, +/* 20755 */ {(11<<2)|2,{32,115,0}}, +/* 20756 */ {(11<<2)|2,{32,115,0}}, +/* 20757 */ {(11<<2)|2,{32,115,0}}, +/* 20758 */ {(11<<2)|2,{32,115,0}}, +/* 20759 */ {(11<<2)|2,{32,115,0}}, +/* 20760 */ {(11<<2)|2,{32,115,0}}, +/* 20761 */ {(11<<2)|2,{32,115,0}}, +/* 20762 */ {(11<<2)|2,{32,115,0}}, +/* 20763 */ {(11<<2)|2,{32,115,0}}, +/* 20764 */ {(11<<2)|2,{32,115,0}}, +/* 20765 */ {(11<<2)|2,{32,115,0}}, +/* 20766 */ {(11<<2)|2,{32,115,0}}, +/* 20767 */ {(11<<2)|2,{32,115,0}}, +/* 20768 */ {(16<<2)|3,{32,116,48}}, +/* 20769 */ {(16<<2)|3,{32,116,49}}, +/* 20770 */ {(16<<2)|3,{32,116,50}}, +/* 20771 */ {(16<<2)|3,{32,116,97}}, +/* 20772 */ {(16<<2)|3,{32,116,99}}, +/* 20773 */ {(16<<2)|3,{32,116,101}}, +/* 20774 */ {(16<<2)|3,{32,116,105}}, +/* 20775 */ {(16<<2)|3,{32,116,111}}, +/* 20776 */ {(16<<2)|3,{32,116,115}}, +/* 20777 */ {(16<<2)|3,{32,116,116}}, +/* 20778 */ {(11<<2)|2,{32,116,0}}, +/* 20779 */ {(11<<2)|2,{32,116,0}}, +/* 20780 */ {(11<<2)|2,{32,116,0}}, +/* 20781 */ {(11<<2)|2,{32,116,0}}, +/* 20782 */ {(11<<2)|2,{32,116,0}}, +/* 20783 */ {(11<<2)|2,{32,116,0}}, +/* 20784 */ {(11<<2)|2,{32,116,0}}, +/* 20785 */ {(11<<2)|2,{32,116,0}}, +/* 20786 */ {(11<<2)|2,{32,116,0}}, +/* 20787 */ {(11<<2)|2,{32,116,0}}, +/* 20788 */ {(11<<2)|2,{32,116,0}}, +/* 20789 */ {(11<<2)|2,{32,116,0}}, +/* 20790 */ {(11<<2)|2,{32,116,0}}, +/* 20791 */ {(11<<2)|2,{32,116,0}}, +/* 20792 */ {(11<<2)|2,{32,116,0}}, +/* 20793 */ {(11<<2)|2,{32,116,0}}, +/* 20794 */ {(11<<2)|2,{32,116,0}}, +/* 20795 */ {(11<<2)|2,{32,116,0}}, +/* 20796 */ {(11<<2)|2,{32,116,0}}, +/* 20797 */ {(11<<2)|2,{32,116,0}}, +/* 20798 */ {(11<<2)|2,{32,116,0}}, +/* 20799 */ {(11<<2)|2,{32,116,0}}, +/* 20800 */ {(12<<2)|2,{32,32,0}}, +/* 20801 */ {(12<<2)|2,{32,32,0}}, +/* 20802 */ {(12<<2)|2,{32,32,0}}, +/* 20803 */ {(12<<2)|2,{32,32,0}}, +/* 20804 */ {(12<<2)|2,{32,32,0}}, +/* 20805 */ {(12<<2)|2,{32,32,0}}, +/* 20806 */ {(12<<2)|2,{32,32,0}}, +/* 20807 */ {(12<<2)|2,{32,32,0}}, +/* 20808 */ {(12<<2)|2,{32,32,0}}, +/* 20809 */ {(12<<2)|2,{32,32,0}}, +/* 20810 */ {(12<<2)|2,{32,32,0}}, +/* 20811 */ {(12<<2)|2,{32,32,0}}, +/* 20812 */ {(12<<2)|2,{32,32,0}}, +/* 20813 */ {(12<<2)|2,{32,32,0}}, +/* 20814 */ {(12<<2)|2,{32,32,0}}, +/* 20815 */ {(12<<2)|2,{32,32,0}}, +/* 20816 */ {(12<<2)|2,{32,37,0}}, +/* 20817 */ {(12<<2)|2,{32,37,0}}, +/* 20818 */ {(12<<2)|2,{32,37,0}}, +/* 20819 */ {(12<<2)|2,{32,37,0}}, +/* 20820 */ {(12<<2)|2,{32,37,0}}, +/* 20821 */ {(12<<2)|2,{32,37,0}}, +/* 20822 */ {(12<<2)|2,{32,37,0}}, +/* 20823 */ {(12<<2)|2,{32,37,0}}, +/* 20824 */ {(12<<2)|2,{32,37,0}}, +/* 20825 */ {(12<<2)|2,{32,37,0}}, +/* 20826 */ {(12<<2)|2,{32,37,0}}, +/* 20827 */ {(12<<2)|2,{32,37,0}}, +/* 20828 */ {(12<<2)|2,{32,37,0}}, +/* 20829 */ {(12<<2)|2,{32,37,0}}, +/* 20830 */ {(12<<2)|2,{32,37,0}}, +/* 20831 */ {(12<<2)|2,{32,37,0}}, +/* 20832 */ {(12<<2)|2,{32,45,0}}, +/* 20833 */ {(12<<2)|2,{32,45,0}}, +/* 20834 */ {(12<<2)|2,{32,45,0}}, +/* 20835 */ {(12<<2)|2,{32,45,0}}, +/* 20836 */ {(12<<2)|2,{32,45,0}}, +/* 20837 */ {(12<<2)|2,{32,45,0}}, +/* 20838 */ {(12<<2)|2,{32,45,0}}, +/* 20839 */ {(12<<2)|2,{32,45,0}}, +/* 20840 */ {(12<<2)|2,{32,45,0}}, +/* 20841 */ {(12<<2)|2,{32,45,0}}, +/* 20842 */ {(12<<2)|2,{32,45,0}}, +/* 20843 */ {(12<<2)|2,{32,45,0}}, +/* 20844 */ {(12<<2)|2,{32,45,0}}, +/* 20845 */ {(12<<2)|2,{32,45,0}}, +/* 20846 */ {(12<<2)|2,{32,45,0}}, +/* 20847 */ {(12<<2)|2,{32,45,0}}, +/* 20848 */ {(12<<2)|2,{32,46,0}}, +/* 20849 */ {(12<<2)|2,{32,46,0}}, +/* 20850 */ {(12<<2)|2,{32,46,0}}, +/* 20851 */ {(12<<2)|2,{32,46,0}}, +/* 20852 */ {(12<<2)|2,{32,46,0}}, +/* 20853 */ {(12<<2)|2,{32,46,0}}, +/* 20854 */ {(12<<2)|2,{32,46,0}}, +/* 20855 */ {(12<<2)|2,{32,46,0}}, +/* 20856 */ {(12<<2)|2,{32,46,0}}, +/* 20857 */ {(12<<2)|2,{32,46,0}}, +/* 20858 */ {(12<<2)|2,{32,46,0}}, +/* 20859 */ {(12<<2)|2,{32,46,0}}, +/* 20860 */ {(12<<2)|2,{32,46,0}}, +/* 20861 */ {(12<<2)|2,{32,46,0}}, +/* 20862 */ {(12<<2)|2,{32,46,0}}, +/* 20863 */ {(12<<2)|2,{32,46,0}}, +/* 20864 */ {(12<<2)|2,{32,47,0}}, +/* 20865 */ {(12<<2)|2,{32,47,0}}, +/* 20866 */ {(12<<2)|2,{32,47,0}}, +/* 20867 */ {(12<<2)|2,{32,47,0}}, +/* 20868 */ {(12<<2)|2,{32,47,0}}, +/* 20869 */ {(12<<2)|2,{32,47,0}}, +/* 20870 */ {(12<<2)|2,{32,47,0}}, +/* 20871 */ {(12<<2)|2,{32,47,0}}, +/* 20872 */ {(12<<2)|2,{32,47,0}}, +/* 20873 */ {(12<<2)|2,{32,47,0}}, +/* 20874 */ {(12<<2)|2,{32,47,0}}, +/* 20875 */ {(12<<2)|2,{32,47,0}}, +/* 20876 */ {(12<<2)|2,{32,47,0}}, +/* 20877 */ {(12<<2)|2,{32,47,0}}, +/* 20878 */ {(12<<2)|2,{32,47,0}}, +/* 20879 */ {(12<<2)|2,{32,47,0}}, +/* 20880 */ {(12<<2)|2,{32,51,0}}, +/* 20881 */ {(12<<2)|2,{32,51,0}}, +/* 20882 */ {(12<<2)|2,{32,51,0}}, +/* 20883 */ {(12<<2)|2,{32,51,0}}, +/* 20884 */ {(12<<2)|2,{32,51,0}}, +/* 20885 */ {(12<<2)|2,{32,51,0}}, +/* 20886 */ {(12<<2)|2,{32,51,0}}, +/* 20887 */ {(12<<2)|2,{32,51,0}}, +/* 20888 */ {(12<<2)|2,{32,51,0}}, +/* 20889 */ {(12<<2)|2,{32,51,0}}, +/* 20890 */ {(12<<2)|2,{32,51,0}}, +/* 20891 */ {(12<<2)|2,{32,51,0}}, +/* 20892 */ {(12<<2)|2,{32,51,0}}, +/* 20893 */ {(12<<2)|2,{32,51,0}}, +/* 20894 */ {(12<<2)|2,{32,51,0}}, +/* 20895 */ {(12<<2)|2,{32,51,0}}, +/* 20896 */ {(12<<2)|2,{32,52,0}}, +/* 20897 */ {(12<<2)|2,{32,52,0}}, +/* 20898 */ {(12<<2)|2,{32,52,0}}, +/* 20899 */ {(12<<2)|2,{32,52,0}}, +/* 20900 */ {(12<<2)|2,{32,52,0}}, +/* 20901 */ {(12<<2)|2,{32,52,0}}, +/* 20902 */ {(12<<2)|2,{32,52,0}}, +/* 20903 */ {(12<<2)|2,{32,52,0}}, +/* 20904 */ {(12<<2)|2,{32,52,0}}, +/* 20905 */ {(12<<2)|2,{32,52,0}}, +/* 20906 */ {(12<<2)|2,{32,52,0}}, +/* 20907 */ {(12<<2)|2,{32,52,0}}, +/* 20908 */ {(12<<2)|2,{32,52,0}}, +/* 20909 */ {(12<<2)|2,{32,52,0}}, +/* 20910 */ {(12<<2)|2,{32,52,0}}, +/* 20911 */ {(12<<2)|2,{32,52,0}}, +/* 20912 */ {(12<<2)|2,{32,53,0}}, +/* 20913 */ {(12<<2)|2,{32,53,0}}, +/* 20914 */ {(12<<2)|2,{32,53,0}}, +/* 20915 */ {(12<<2)|2,{32,53,0}}, +/* 20916 */ {(12<<2)|2,{32,53,0}}, +/* 20917 */ {(12<<2)|2,{32,53,0}}, +/* 20918 */ {(12<<2)|2,{32,53,0}}, +/* 20919 */ {(12<<2)|2,{32,53,0}}, +/* 20920 */ {(12<<2)|2,{32,53,0}}, +/* 20921 */ {(12<<2)|2,{32,53,0}}, +/* 20922 */ {(12<<2)|2,{32,53,0}}, +/* 20923 */ {(12<<2)|2,{32,53,0}}, +/* 20924 */ {(12<<2)|2,{32,53,0}}, +/* 20925 */ {(12<<2)|2,{32,53,0}}, +/* 20926 */ {(12<<2)|2,{32,53,0}}, +/* 20927 */ {(12<<2)|2,{32,53,0}}, +/* 20928 */ {(12<<2)|2,{32,54,0}}, +/* 20929 */ {(12<<2)|2,{32,54,0}}, +/* 20930 */ {(12<<2)|2,{32,54,0}}, +/* 20931 */ {(12<<2)|2,{32,54,0}}, +/* 20932 */ {(12<<2)|2,{32,54,0}}, +/* 20933 */ {(12<<2)|2,{32,54,0}}, +/* 20934 */ {(12<<2)|2,{32,54,0}}, +/* 20935 */ {(12<<2)|2,{32,54,0}}, +/* 20936 */ {(12<<2)|2,{32,54,0}}, +/* 20937 */ {(12<<2)|2,{32,54,0}}, +/* 20938 */ {(12<<2)|2,{32,54,0}}, +/* 20939 */ {(12<<2)|2,{32,54,0}}, +/* 20940 */ {(12<<2)|2,{32,54,0}}, +/* 20941 */ {(12<<2)|2,{32,54,0}}, +/* 20942 */ {(12<<2)|2,{32,54,0}}, +/* 20943 */ {(12<<2)|2,{32,54,0}}, +/* 20944 */ {(12<<2)|2,{32,55,0}}, +/* 20945 */ {(12<<2)|2,{32,55,0}}, +/* 20946 */ {(12<<2)|2,{32,55,0}}, +/* 20947 */ {(12<<2)|2,{32,55,0}}, +/* 20948 */ {(12<<2)|2,{32,55,0}}, +/* 20949 */ {(12<<2)|2,{32,55,0}}, +/* 20950 */ {(12<<2)|2,{32,55,0}}, +/* 20951 */ {(12<<2)|2,{32,55,0}}, +/* 20952 */ {(12<<2)|2,{32,55,0}}, +/* 20953 */ {(12<<2)|2,{32,55,0}}, +/* 20954 */ {(12<<2)|2,{32,55,0}}, +/* 20955 */ {(12<<2)|2,{32,55,0}}, +/* 20956 */ {(12<<2)|2,{32,55,0}}, +/* 20957 */ {(12<<2)|2,{32,55,0}}, +/* 20958 */ {(12<<2)|2,{32,55,0}}, +/* 20959 */ {(12<<2)|2,{32,55,0}}, +/* 20960 */ {(12<<2)|2,{32,56,0}}, +/* 20961 */ {(12<<2)|2,{32,56,0}}, +/* 20962 */ {(12<<2)|2,{32,56,0}}, +/* 20963 */ {(12<<2)|2,{32,56,0}}, +/* 20964 */ {(12<<2)|2,{32,56,0}}, +/* 20965 */ {(12<<2)|2,{32,56,0}}, +/* 20966 */ {(12<<2)|2,{32,56,0}}, +/* 20967 */ {(12<<2)|2,{32,56,0}}, +/* 20968 */ {(12<<2)|2,{32,56,0}}, +/* 20969 */ {(12<<2)|2,{32,56,0}}, +/* 20970 */ {(12<<2)|2,{32,56,0}}, +/* 20971 */ {(12<<2)|2,{32,56,0}}, +/* 20972 */ {(12<<2)|2,{32,56,0}}, +/* 20973 */ {(12<<2)|2,{32,56,0}}, +/* 20974 */ {(12<<2)|2,{32,56,0}}, +/* 20975 */ {(12<<2)|2,{32,56,0}}, +/* 20976 */ {(12<<2)|2,{32,57,0}}, +/* 20977 */ {(12<<2)|2,{32,57,0}}, +/* 20978 */ {(12<<2)|2,{32,57,0}}, +/* 20979 */ {(12<<2)|2,{32,57,0}}, +/* 20980 */ {(12<<2)|2,{32,57,0}}, +/* 20981 */ {(12<<2)|2,{32,57,0}}, +/* 20982 */ {(12<<2)|2,{32,57,0}}, +/* 20983 */ {(12<<2)|2,{32,57,0}}, +/* 20984 */ {(12<<2)|2,{32,57,0}}, +/* 20985 */ {(12<<2)|2,{32,57,0}}, +/* 20986 */ {(12<<2)|2,{32,57,0}}, +/* 20987 */ {(12<<2)|2,{32,57,0}}, +/* 20988 */ {(12<<2)|2,{32,57,0}}, +/* 20989 */ {(12<<2)|2,{32,57,0}}, +/* 20990 */ {(12<<2)|2,{32,57,0}}, +/* 20991 */ {(12<<2)|2,{32,57,0}}, +/* 20992 */ {(12<<2)|2,{32,61,0}}, +/* 20993 */ {(12<<2)|2,{32,61,0}}, +/* 20994 */ {(12<<2)|2,{32,61,0}}, +/* 20995 */ {(12<<2)|2,{32,61,0}}, +/* 20996 */ {(12<<2)|2,{32,61,0}}, +/* 20997 */ {(12<<2)|2,{32,61,0}}, +/* 20998 */ {(12<<2)|2,{32,61,0}}, +/* 20999 */ {(12<<2)|2,{32,61,0}}, +/* 21000 */ {(12<<2)|2,{32,61,0}}, +/* 21001 */ {(12<<2)|2,{32,61,0}}, +/* 21002 */ {(12<<2)|2,{32,61,0}}, +/* 21003 */ {(12<<2)|2,{32,61,0}}, +/* 21004 */ {(12<<2)|2,{32,61,0}}, +/* 21005 */ {(12<<2)|2,{32,61,0}}, +/* 21006 */ {(12<<2)|2,{32,61,0}}, +/* 21007 */ {(12<<2)|2,{32,61,0}}, +/* 21008 */ {(12<<2)|2,{32,65,0}}, +/* 21009 */ {(12<<2)|2,{32,65,0}}, +/* 21010 */ {(12<<2)|2,{32,65,0}}, +/* 21011 */ {(12<<2)|2,{32,65,0}}, +/* 21012 */ {(12<<2)|2,{32,65,0}}, +/* 21013 */ {(12<<2)|2,{32,65,0}}, +/* 21014 */ {(12<<2)|2,{32,65,0}}, +/* 21015 */ {(12<<2)|2,{32,65,0}}, +/* 21016 */ {(12<<2)|2,{32,65,0}}, +/* 21017 */ {(12<<2)|2,{32,65,0}}, +/* 21018 */ {(12<<2)|2,{32,65,0}}, +/* 21019 */ {(12<<2)|2,{32,65,0}}, +/* 21020 */ {(12<<2)|2,{32,65,0}}, +/* 21021 */ {(12<<2)|2,{32,65,0}}, +/* 21022 */ {(12<<2)|2,{32,65,0}}, +/* 21023 */ {(12<<2)|2,{32,65,0}}, +/* 21024 */ {(12<<2)|2,{32,95,0}}, +/* 21025 */ {(12<<2)|2,{32,95,0}}, +/* 21026 */ {(12<<2)|2,{32,95,0}}, +/* 21027 */ {(12<<2)|2,{32,95,0}}, +/* 21028 */ {(12<<2)|2,{32,95,0}}, +/* 21029 */ {(12<<2)|2,{32,95,0}}, +/* 21030 */ {(12<<2)|2,{32,95,0}}, +/* 21031 */ {(12<<2)|2,{32,95,0}}, +/* 21032 */ {(12<<2)|2,{32,95,0}}, +/* 21033 */ {(12<<2)|2,{32,95,0}}, +/* 21034 */ {(12<<2)|2,{32,95,0}}, +/* 21035 */ {(12<<2)|2,{32,95,0}}, +/* 21036 */ {(12<<2)|2,{32,95,0}}, +/* 21037 */ {(12<<2)|2,{32,95,0}}, +/* 21038 */ {(12<<2)|2,{32,95,0}}, +/* 21039 */ {(12<<2)|2,{32,95,0}}, +/* 21040 */ {(12<<2)|2,{32,98,0}}, +/* 21041 */ {(12<<2)|2,{32,98,0}}, +/* 21042 */ {(12<<2)|2,{32,98,0}}, +/* 21043 */ {(12<<2)|2,{32,98,0}}, +/* 21044 */ {(12<<2)|2,{32,98,0}}, +/* 21045 */ {(12<<2)|2,{32,98,0}}, +/* 21046 */ {(12<<2)|2,{32,98,0}}, +/* 21047 */ {(12<<2)|2,{32,98,0}}, +/* 21048 */ {(12<<2)|2,{32,98,0}}, +/* 21049 */ {(12<<2)|2,{32,98,0}}, +/* 21050 */ {(12<<2)|2,{32,98,0}}, +/* 21051 */ {(12<<2)|2,{32,98,0}}, +/* 21052 */ {(12<<2)|2,{32,98,0}}, +/* 21053 */ {(12<<2)|2,{32,98,0}}, +/* 21054 */ {(12<<2)|2,{32,98,0}}, +/* 21055 */ {(12<<2)|2,{32,98,0}}, +/* 21056 */ {(12<<2)|2,{32,100,0}}, +/* 21057 */ {(12<<2)|2,{32,100,0}}, +/* 21058 */ {(12<<2)|2,{32,100,0}}, +/* 21059 */ {(12<<2)|2,{32,100,0}}, +/* 21060 */ {(12<<2)|2,{32,100,0}}, +/* 21061 */ {(12<<2)|2,{32,100,0}}, +/* 21062 */ {(12<<2)|2,{32,100,0}}, +/* 21063 */ {(12<<2)|2,{32,100,0}}, +/* 21064 */ {(12<<2)|2,{32,100,0}}, +/* 21065 */ {(12<<2)|2,{32,100,0}}, +/* 21066 */ {(12<<2)|2,{32,100,0}}, +/* 21067 */ {(12<<2)|2,{32,100,0}}, +/* 21068 */ {(12<<2)|2,{32,100,0}}, +/* 21069 */ {(12<<2)|2,{32,100,0}}, +/* 21070 */ {(12<<2)|2,{32,100,0}}, +/* 21071 */ {(12<<2)|2,{32,100,0}}, +/* 21072 */ {(12<<2)|2,{32,102,0}}, +/* 21073 */ {(12<<2)|2,{32,102,0}}, +/* 21074 */ {(12<<2)|2,{32,102,0}}, +/* 21075 */ {(12<<2)|2,{32,102,0}}, +/* 21076 */ {(12<<2)|2,{32,102,0}}, +/* 21077 */ {(12<<2)|2,{32,102,0}}, +/* 21078 */ {(12<<2)|2,{32,102,0}}, +/* 21079 */ {(12<<2)|2,{32,102,0}}, +/* 21080 */ {(12<<2)|2,{32,102,0}}, +/* 21081 */ {(12<<2)|2,{32,102,0}}, +/* 21082 */ {(12<<2)|2,{32,102,0}}, +/* 21083 */ {(12<<2)|2,{32,102,0}}, +/* 21084 */ {(12<<2)|2,{32,102,0}}, +/* 21085 */ {(12<<2)|2,{32,102,0}}, +/* 21086 */ {(12<<2)|2,{32,102,0}}, +/* 21087 */ {(12<<2)|2,{32,102,0}}, +/* 21088 */ {(12<<2)|2,{32,103,0}}, +/* 21089 */ {(12<<2)|2,{32,103,0}}, +/* 21090 */ {(12<<2)|2,{32,103,0}}, +/* 21091 */ {(12<<2)|2,{32,103,0}}, +/* 21092 */ {(12<<2)|2,{32,103,0}}, +/* 21093 */ {(12<<2)|2,{32,103,0}}, +/* 21094 */ {(12<<2)|2,{32,103,0}}, +/* 21095 */ {(12<<2)|2,{32,103,0}}, +/* 21096 */ {(12<<2)|2,{32,103,0}}, +/* 21097 */ {(12<<2)|2,{32,103,0}}, +/* 21098 */ {(12<<2)|2,{32,103,0}}, +/* 21099 */ {(12<<2)|2,{32,103,0}}, +/* 21100 */ {(12<<2)|2,{32,103,0}}, +/* 21101 */ {(12<<2)|2,{32,103,0}}, +/* 21102 */ {(12<<2)|2,{32,103,0}}, +/* 21103 */ {(12<<2)|2,{32,103,0}}, +/* 21104 */ {(12<<2)|2,{32,104,0}}, +/* 21105 */ {(12<<2)|2,{32,104,0}}, +/* 21106 */ {(12<<2)|2,{32,104,0}}, +/* 21107 */ {(12<<2)|2,{32,104,0}}, +/* 21108 */ {(12<<2)|2,{32,104,0}}, +/* 21109 */ {(12<<2)|2,{32,104,0}}, +/* 21110 */ {(12<<2)|2,{32,104,0}}, +/* 21111 */ {(12<<2)|2,{32,104,0}}, +/* 21112 */ {(12<<2)|2,{32,104,0}}, +/* 21113 */ {(12<<2)|2,{32,104,0}}, +/* 21114 */ {(12<<2)|2,{32,104,0}}, +/* 21115 */ {(12<<2)|2,{32,104,0}}, +/* 21116 */ {(12<<2)|2,{32,104,0}}, +/* 21117 */ {(12<<2)|2,{32,104,0}}, +/* 21118 */ {(12<<2)|2,{32,104,0}}, +/* 21119 */ {(12<<2)|2,{32,104,0}}, +/* 21120 */ {(12<<2)|2,{32,108,0}}, +/* 21121 */ {(12<<2)|2,{32,108,0}}, +/* 21122 */ {(12<<2)|2,{32,108,0}}, +/* 21123 */ {(12<<2)|2,{32,108,0}}, +/* 21124 */ {(12<<2)|2,{32,108,0}}, +/* 21125 */ {(12<<2)|2,{32,108,0}}, +/* 21126 */ {(12<<2)|2,{32,108,0}}, +/* 21127 */ {(12<<2)|2,{32,108,0}}, +/* 21128 */ {(12<<2)|2,{32,108,0}}, +/* 21129 */ {(12<<2)|2,{32,108,0}}, +/* 21130 */ {(12<<2)|2,{32,108,0}}, +/* 21131 */ {(12<<2)|2,{32,108,0}}, +/* 21132 */ {(12<<2)|2,{32,108,0}}, +/* 21133 */ {(12<<2)|2,{32,108,0}}, +/* 21134 */ {(12<<2)|2,{32,108,0}}, +/* 21135 */ {(12<<2)|2,{32,108,0}}, +/* 21136 */ {(12<<2)|2,{32,109,0}}, +/* 21137 */ {(12<<2)|2,{32,109,0}}, +/* 21138 */ {(12<<2)|2,{32,109,0}}, +/* 21139 */ {(12<<2)|2,{32,109,0}}, +/* 21140 */ {(12<<2)|2,{32,109,0}}, +/* 21141 */ {(12<<2)|2,{32,109,0}}, +/* 21142 */ {(12<<2)|2,{32,109,0}}, +/* 21143 */ {(12<<2)|2,{32,109,0}}, +/* 21144 */ {(12<<2)|2,{32,109,0}}, +/* 21145 */ {(12<<2)|2,{32,109,0}}, +/* 21146 */ {(12<<2)|2,{32,109,0}}, +/* 21147 */ {(12<<2)|2,{32,109,0}}, +/* 21148 */ {(12<<2)|2,{32,109,0}}, +/* 21149 */ {(12<<2)|2,{32,109,0}}, +/* 21150 */ {(12<<2)|2,{32,109,0}}, +/* 21151 */ {(12<<2)|2,{32,109,0}}, +/* 21152 */ {(12<<2)|2,{32,110,0}}, +/* 21153 */ {(12<<2)|2,{32,110,0}}, +/* 21154 */ {(12<<2)|2,{32,110,0}}, +/* 21155 */ {(12<<2)|2,{32,110,0}}, +/* 21156 */ {(12<<2)|2,{32,110,0}}, +/* 21157 */ {(12<<2)|2,{32,110,0}}, +/* 21158 */ {(12<<2)|2,{32,110,0}}, +/* 21159 */ {(12<<2)|2,{32,110,0}}, +/* 21160 */ {(12<<2)|2,{32,110,0}}, +/* 21161 */ {(12<<2)|2,{32,110,0}}, +/* 21162 */ {(12<<2)|2,{32,110,0}}, +/* 21163 */ {(12<<2)|2,{32,110,0}}, +/* 21164 */ {(12<<2)|2,{32,110,0}}, +/* 21165 */ {(12<<2)|2,{32,110,0}}, +/* 21166 */ {(12<<2)|2,{32,110,0}}, +/* 21167 */ {(12<<2)|2,{32,110,0}}, +/* 21168 */ {(12<<2)|2,{32,112,0}}, +/* 21169 */ {(12<<2)|2,{32,112,0}}, +/* 21170 */ {(12<<2)|2,{32,112,0}}, +/* 21171 */ {(12<<2)|2,{32,112,0}}, +/* 21172 */ {(12<<2)|2,{32,112,0}}, +/* 21173 */ {(12<<2)|2,{32,112,0}}, +/* 21174 */ {(12<<2)|2,{32,112,0}}, +/* 21175 */ {(12<<2)|2,{32,112,0}}, +/* 21176 */ {(12<<2)|2,{32,112,0}}, +/* 21177 */ {(12<<2)|2,{32,112,0}}, +/* 21178 */ {(12<<2)|2,{32,112,0}}, +/* 21179 */ {(12<<2)|2,{32,112,0}}, +/* 21180 */ {(12<<2)|2,{32,112,0}}, +/* 21181 */ {(12<<2)|2,{32,112,0}}, +/* 21182 */ {(12<<2)|2,{32,112,0}}, +/* 21183 */ {(12<<2)|2,{32,112,0}}, +/* 21184 */ {(12<<2)|2,{32,114,0}}, +/* 21185 */ {(12<<2)|2,{32,114,0}}, +/* 21186 */ {(12<<2)|2,{32,114,0}}, +/* 21187 */ {(12<<2)|2,{32,114,0}}, +/* 21188 */ {(12<<2)|2,{32,114,0}}, +/* 21189 */ {(12<<2)|2,{32,114,0}}, +/* 21190 */ {(12<<2)|2,{32,114,0}}, +/* 21191 */ {(12<<2)|2,{32,114,0}}, +/* 21192 */ {(12<<2)|2,{32,114,0}}, +/* 21193 */ {(12<<2)|2,{32,114,0}}, +/* 21194 */ {(12<<2)|2,{32,114,0}}, +/* 21195 */ {(12<<2)|2,{32,114,0}}, +/* 21196 */ {(12<<2)|2,{32,114,0}}, +/* 21197 */ {(12<<2)|2,{32,114,0}}, +/* 21198 */ {(12<<2)|2,{32,114,0}}, +/* 21199 */ {(12<<2)|2,{32,114,0}}, +/* 21200 */ {(12<<2)|2,{32,117,0}}, +/* 21201 */ {(12<<2)|2,{32,117,0}}, +/* 21202 */ {(12<<2)|2,{32,117,0}}, +/* 21203 */ {(12<<2)|2,{32,117,0}}, +/* 21204 */ {(12<<2)|2,{32,117,0}}, +/* 21205 */ {(12<<2)|2,{32,117,0}}, +/* 21206 */ {(12<<2)|2,{32,117,0}}, +/* 21207 */ {(12<<2)|2,{32,117,0}}, +/* 21208 */ {(12<<2)|2,{32,117,0}}, +/* 21209 */ {(12<<2)|2,{32,117,0}}, +/* 21210 */ {(12<<2)|2,{32,117,0}}, +/* 21211 */ {(12<<2)|2,{32,117,0}}, +/* 21212 */ {(12<<2)|2,{32,117,0}}, +/* 21213 */ {(12<<2)|2,{32,117,0}}, +/* 21214 */ {(12<<2)|2,{32,117,0}}, +/* 21215 */ {(12<<2)|2,{32,117,0}}, +/* 21216 */ {(13<<2)|2,{32,58,0}}, +/* 21217 */ {(13<<2)|2,{32,58,0}}, +/* 21218 */ {(13<<2)|2,{32,58,0}}, +/* 21219 */ {(13<<2)|2,{32,58,0}}, +/* 21220 */ {(13<<2)|2,{32,58,0}}, +/* 21221 */ {(13<<2)|2,{32,58,0}}, +/* 21222 */ {(13<<2)|2,{32,58,0}}, +/* 21223 */ {(13<<2)|2,{32,58,0}}, +/* 21224 */ {(13<<2)|2,{32,66,0}}, +/* 21225 */ {(13<<2)|2,{32,66,0}}, +/* 21226 */ {(13<<2)|2,{32,66,0}}, +/* 21227 */ {(13<<2)|2,{32,66,0}}, +/* 21228 */ {(13<<2)|2,{32,66,0}}, +/* 21229 */ {(13<<2)|2,{32,66,0}}, +/* 21230 */ {(13<<2)|2,{32,66,0}}, +/* 21231 */ {(13<<2)|2,{32,66,0}}, +/* 21232 */ {(13<<2)|2,{32,67,0}}, +/* 21233 */ {(13<<2)|2,{32,67,0}}, +/* 21234 */ {(13<<2)|2,{32,67,0}}, +/* 21235 */ {(13<<2)|2,{32,67,0}}, +/* 21236 */ {(13<<2)|2,{32,67,0}}, +/* 21237 */ {(13<<2)|2,{32,67,0}}, +/* 21238 */ {(13<<2)|2,{32,67,0}}, +/* 21239 */ {(13<<2)|2,{32,67,0}}, +/* 21240 */ {(13<<2)|2,{32,68,0}}, +/* 21241 */ {(13<<2)|2,{32,68,0}}, +/* 21242 */ {(13<<2)|2,{32,68,0}}, +/* 21243 */ {(13<<2)|2,{32,68,0}}, +/* 21244 */ {(13<<2)|2,{32,68,0}}, +/* 21245 */ {(13<<2)|2,{32,68,0}}, +/* 21246 */ {(13<<2)|2,{32,68,0}}, +/* 21247 */ {(13<<2)|2,{32,68,0}}, +/* 21248 */ {(13<<2)|2,{32,69,0}}, +/* 21249 */ {(13<<2)|2,{32,69,0}}, +/* 21250 */ {(13<<2)|2,{32,69,0}}, +/* 21251 */ {(13<<2)|2,{32,69,0}}, +/* 21252 */ {(13<<2)|2,{32,69,0}}, +/* 21253 */ {(13<<2)|2,{32,69,0}}, +/* 21254 */ {(13<<2)|2,{32,69,0}}, +/* 21255 */ {(13<<2)|2,{32,69,0}}, +/* 21256 */ {(13<<2)|2,{32,70,0}}, +/* 21257 */ {(13<<2)|2,{32,70,0}}, +/* 21258 */ {(13<<2)|2,{32,70,0}}, +/* 21259 */ {(13<<2)|2,{32,70,0}}, +/* 21260 */ {(13<<2)|2,{32,70,0}}, +/* 21261 */ {(13<<2)|2,{32,70,0}}, +/* 21262 */ {(13<<2)|2,{32,70,0}}, +/* 21263 */ {(13<<2)|2,{32,70,0}}, +/* 21264 */ {(13<<2)|2,{32,71,0}}, +/* 21265 */ {(13<<2)|2,{32,71,0}}, +/* 21266 */ {(13<<2)|2,{32,71,0}}, +/* 21267 */ {(13<<2)|2,{32,71,0}}, +/* 21268 */ {(13<<2)|2,{32,71,0}}, +/* 21269 */ {(13<<2)|2,{32,71,0}}, +/* 21270 */ {(13<<2)|2,{32,71,0}}, +/* 21271 */ {(13<<2)|2,{32,71,0}}, +/* 21272 */ {(13<<2)|2,{32,72,0}}, +/* 21273 */ {(13<<2)|2,{32,72,0}}, +/* 21274 */ {(13<<2)|2,{32,72,0}}, +/* 21275 */ {(13<<2)|2,{32,72,0}}, +/* 21276 */ {(13<<2)|2,{32,72,0}}, +/* 21277 */ {(13<<2)|2,{32,72,0}}, +/* 21278 */ {(13<<2)|2,{32,72,0}}, +/* 21279 */ {(13<<2)|2,{32,72,0}}, +/* 21280 */ {(13<<2)|2,{32,73,0}}, +/* 21281 */ {(13<<2)|2,{32,73,0}}, +/* 21282 */ {(13<<2)|2,{32,73,0}}, +/* 21283 */ {(13<<2)|2,{32,73,0}}, +/* 21284 */ {(13<<2)|2,{32,73,0}}, +/* 21285 */ {(13<<2)|2,{32,73,0}}, +/* 21286 */ {(13<<2)|2,{32,73,0}}, +/* 21287 */ {(13<<2)|2,{32,73,0}}, +/* 21288 */ {(13<<2)|2,{32,74,0}}, +/* 21289 */ {(13<<2)|2,{32,74,0}}, +/* 21290 */ {(13<<2)|2,{32,74,0}}, +/* 21291 */ {(13<<2)|2,{32,74,0}}, +/* 21292 */ {(13<<2)|2,{32,74,0}}, +/* 21293 */ {(13<<2)|2,{32,74,0}}, +/* 21294 */ {(13<<2)|2,{32,74,0}}, +/* 21295 */ {(13<<2)|2,{32,74,0}}, +/* 21296 */ {(13<<2)|2,{32,75,0}}, +/* 21297 */ {(13<<2)|2,{32,75,0}}, +/* 21298 */ {(13<<2)|2,{32,75,0}}, +/* 21299 */ {(13<<2)|2,{32,75,0}}, +/* 21300 */ {(13<<2)|2,{32,75,0}}, +/* 21301 */ {(13<<2)|2,{32,75,0}}, +/* 21302 */ {(13<<2)|2,{32,75,0}}, +/* 21303 */ {(13<<2)|2,{32,75,0}}, +/* 21304 */ {(13<<2)|2,{32,76,0}}, +/* 21305 */ {(13<<2)|2,{32,76,0}}, +/* 21306 */ {(13<<2)|2,{32,76,0}}, +/* 21307 */ {(13<<2)|2,{32,76,0}}, +/* 21308 */ {(13<<2)|2,{32,76,0}}, +/* 21309 */ {(13<<2)|2,{32,76,0}}, +/* 21310 */ {(13<<2)|2,{32,76,0}}, +/* 21311 */ {(13<<2)|2,{32,76,0}}, +/* 21312 */ {(13<<2)|2,{32,77,0}}, +/* 21313 */ {(13<<2)|2,{32,77,0}}, +/* 21314 */ {(13<<2)|2,{32,77,0}}, +/* 21315 */ {(13<<2)|2,{32,77,0}}, +/* 21316 */ {(13<<2)|2,{32,77,0}}, +/* 21317 */ {(13<<2)|2,{32,77,0}}, +/* 21318 */ {(13<<2)|2,{32,77,0}}, +/* 21319 */ {(13<<2)|2,{32,77,0}}, +/* 21320 */ {(13<<2)|2,{32,78,0}}, +/* 21321 */ {(13<<2)|2,{32,78,0}}, +/* 21322 */ {(13<<2)|2,{32,78,0}}, +/* 21323 */ {(13<<2)|2,{32,78,0}}, +/* 21324 */ {(13<<2)|2,{32,78,0}}, +/* 21325 */ {(13<<2)|2,{32,78,0}}, +/* 21326 */ {(13<<2)|2,{32,78,0}}, +/* 21327 */ {(13<<2)|2,{32,78,0}}, +/* 21328 */ {(13<<2)|2,{32,79,0}}, +/* 21329 */ {(13<<2)|2,{32,79,0}}, +/* 21330 */ {(13<<2)|2,{32,79,0}}, +/* 21331 */ {(13<<2)|2,{32,79,0}}, +/* 21332 */ {(13<<2)|2,{32,79,0}}, +/* 21333 */ {(13<<2)|2,{32,79,0}}, +/* 21334 */ {(13<<2)|2,{32,79,0}}, +/* 21335 */ {(13<<2)|2,{32,79,0}}, +/* 21336 */ {(13<<2)|2,{32,80,0}}, +/* 21337 */ {(13<<2)|2,{32,80,0}}, +/* 21338 */ {(13<<2)|2,{32,80,0}}, +/* 21339 */ {(13<<2)|2,{32,80,0}}, +/* 21340 */ {(13<<2)|2,{32,80,0}}, +/* 21341 */ {(13<<2)|2,{32,80,0}}, +/* 21342 */ {(13<<2)|2,{32,80,0}}, +/* 21343 */ {(13<<2)|2,{32,80,0}}, +/* 21344 */ {(13<<2)|2,{32,81,0}}, +/* 21345 */ {(13<<2)|2,{32,81,0}}, +/* 21346 */ {(13<<2)|2,{32,81,0}}, +/* 21347 */ {(13<<2)|2,{32,81,0}}, +/* 21348 */ {(13<<2)|2,{32,81,0}}, +/* 21349 */ {(13<<2)|2,{32,81,0}}, +/* 21350 */ {(13<<2)|2,{32,81,0}}, +/* 21351 */ {(13<<2)|2,{32,81,0}}, +/* 21352 */ {(13<<2)|2,{32,82,0}}, +/* 21353 */ {(13<<2)|2,{32,82,0}}, +/* 21354 */ {(13<<2)|2,{32,82,0}}, +/* 21355 */ {(13<<2)|2,{32,82,0}}, +/* 21356 */ {(13<<2)|2,{32,82,0}}, +/* 21357 */ {(13<<2)|2,{32,82,0}}, +/* 21358 */ {(13<<2)|2,{32,82,0}}, +/* 21359 */ {(13<<2)|2,{32,82,0}}, +/* 21360 */ {(13<<2)|2,{32,83,0}}, +/* 21361 */ {(13<<2)|2,{32,83,0}}, +/* 21362 */ {(13<<2)|2,{32,83,0}}, +/* 21363 */ {(13<<2)|2,{32,83,0}}, +/* 21364 */ {(13<<2)|2,{32,83,0}}, +/* 21365 */ {(13<<2)|2,{32,83,0}}, +/* 21366 */ {(13<<2)|2,{32,83,0}}, +/* 21367 */ {(13<<2)|2,{32,83,0}}, +/* 21368 */ {(13<<2)|2,{32,84,0}}, +/* 21369 */ {(13<<2)|2,{32,84,0}}, +/* 21370 */ {(13<<2)|2,{32,84,0}}, +/* 21371 */ {(13<<2)|2,{32,84,0}}, +/* 21372 */ {(13<<2)|2,{32,84,0}}, +/* 21373 */ {(13<<2)|2,{32,84,0}}, +/* 21374 */ {(13<<2)|2,{32,84,0}}, +/* 21375 */ {(13<<2)|2,{32,84,0}}, +/* 21376 */ {(13<<2)|2,{32,85,0}}, +/* 21377 */ {(13<<2)|2,{32,85,0}}, +/* 21378 */ {(13<<2)|2,{32,85,0}}, +/* 21379 */ {(13<<2)|2,{32,85,0}}, +/* 21380 */ {(13<<2)|2,{32,85,0}}, +/* 21381 */ {(13<<2)|2,{32,85,0}}, +/* 21382 */ {(13<<2)|2,{32,85,0}}, +/* 21383 */ {(13<<2)|2,{32,85,0}}, +/* 21384 */ {(13<<2)|2,{32,86,0}}, +/* 21385 */ {(13<<2)|2,{32,86,0}}, +/* 21386 */ {(13<<2)|2,{32,86,0}}, +/* 21387 */ {(13<<2)|2,{32,86,0}}, +/* 21388 */ {(13<<2)|2,{32,86,0}}, +/* 21389 */ {(13<<2)|2,{32,86,0}}, +/* 21390 */ {(13<<2)|2,{32,86,0}}, +/* 21391 */ {(13<<2)|2,{32,86,0}}, +/* 21392 */ {(13<<2)|2,{32,87,0}}, +/* 21393 */ {(13<<2)|2,{32,87,0}}, +/* 21394 */ {(13<<2)|2,{32,87,0}}, +/* 21395 */ {(13<<2)|2,{32,87,0}}, +/* 21396 */ {(13<<2)|2,{32,87,0}}, +/* 21397 */ {(13<<2)|2,{32,87,0}}, +/* 21398 */ {(13<<2)|2,{32,87,0}}, +/* 21399 */ {(13<<2)|2,{32,87,0}}, +/* 21400 */ {(13<<2)|2,{32,89,0}}, +/* 21401 */ {(13<<2)|2,{32,89,0}}, +/* 21402 */ {(13<<2)|2,{32,89,0}}, +/* 21403 */ {(13<<2)|2,{32,89,0}}, +/* 21404 */ {(13<<2)|2,{32,89,0}}, +/* 21405 */ {(13<<2)|2,{32,89,0}}, +/* 21406 */ {(13<<2)|2,{32,89,0}}, +/* 21407 */ {(13<<2)|2,{32,89,0}}, +/* 21408 */ {(13<<2)|2,{32,106,0}}, +/* 21409 */ {(13<<2)|2,{32,106,0}}, +/* 21410 */ {(13<<2)|2,{32,106,0}}, +/* 21411 */ {(13<<2)|2,{32,106,0}}, +/* 21412 */ {(13<<2)|2,{32,106,0}}, +/* 21413 */ {(13<<2)|2,{32,106,0}}, +/* 21414 */ {(13<<2)|2,{32,106,0}}, +/* 21415 */ {(13<<2)|2,{32,106,0}}, +/* 21416 */ {(13<<2)|2,{32,107,0}}, +/* 21417 */ {(13<<2)|2,{32,107,0}}, +/* 21418 */ {(13<<2)|2,{32,107,0}}, +/* 21419 */ {(13<<2)|2,{32,107,0}}, +/* 21420 */ {(13<<2)|2,{32,107,0}}, +/* 21421 */ {(13<<2)|2,{32,107,0}}, +/* 21422 */ {(13<<2)|2,{32,107,0}}, +/* 21423 */ {(13<<2)|2,{32,107,0}}, +/* 21424 */ {(13<<2)|2,{32,113,0}}, +/* 21425 */ {(13<<2)|2,{32,113,0}}, +/* 21426 */ {(13<<2)|2,{32,113,0}}, +/* 21427 */ {(13<<2)|2,{32,113,0}}, +/* 21428 */ {(13<<2)|2,{32,113,0}}, +/* 21429 */ {(13<<2)|2,{32,113,0}}, +/* 21430 */ {(13<<2)|2,{32,113,0}}, +/* 21431 */ {(13<<2)|2,{32,113,0}}, +/* 21432 */ {(13<<2)|2,{32,118,0}}, +/* 21433 */ {(13<<2)|2,{32,118,0}}, +/* 21434 */ {(13<<2)|2,{32,118,0}}, +/* 21435 */ {(13<<2)|2,{32,118,0}}, +/* 21436 */ {(13<<2)|2,{32,118,0}}, +/* 21437 */ {(13<<2)|2,{32,118,0}}, +/* 21438 */ {(13<<2)|2,{32,118,0}}, +/* 21439 */ {(13<<2)|2,{32,118,0}}, +/* 21440 */ {(13<<2)|2,{32,119,0}}, +/* 21441 */ {(13<<2)|2,{32,119,0}}, +/* 21442 */ {(13<<2)|2,{32,119,0}}, +/* 21443 */ {(13<<2)|2,{32,119,0}}, +/* 21444 */ {(13<<2)|2,{32,119,0}}, +/* 21445 */ {(13<<2)|2,{32,119,0}}, +/* 21446 */ {(13<<2)|2,{32,119,0}}, +/* 21447 */ {(13<<2)|2,{32,119,0}}, +/* 21448 */ {(13<<2)|2,{32,120,0}}, +/* 21449 */ {(13<<2)|2,{32,120,0}}, +/* 21450 */ {(13<<2)|2,{32,120,0}}, +/* 21451 */ {(13<<2)|2,{32,120,0}}, +/* 21452 */ {(13<<2)|2,{32,120,0}}, +/* 21453 */ {(13<<2)|2,{32,120,0}}, +/* 21454 */ {(13<<2)|2,{32,120,0}}, +/* 21455 */ {(13<<2)|2,{32,120,0}}, +/* 21456 */ {(13<<2)|2,{32,121,0}}, +/* 21457 */ {(13<<2)|2,{32,121,0}}, +/* 21458 */ {(13<<2)|2,{32,121,0}}, +/* 21459 */ {(13<<2)|2,{32,121,0}}, +/* 21460 */ {(13<<2)|2,{32,121,0}}, +/* 21461 */ {(13<<2)|2,{32,121,0}}, +/* 21462 */ {(13<<2)|2,{32,121,0}}, +/* 21463 */ {(13<<2)|2,{32,121,0}}, +/* 21464 */ {(13<<2)|2,{32,122,0}}, +/* 21465 */ {(13<<2)|2,{32,122,0}}, +/* 21466 */ {(13<<2)|2,{32,122,0}}, +/* 21467 */ {(13<<2)|2,{32,122,0}}, +/* 21468 */ {(13<<2)|2,{32,122,0}}, +/* 21469 */ {(13<<2)|2,{32,122,0}}, +/* 21470 */ {(13<<2)|2,{32,122,0}}, +/* 21471 */ {(13<<2)|2,{32,122,0}}, +/* 21472 */ {(14<<2)|2,{32,38,0}}, +/* 21473 */ {(14<<2)|2,{32,38,0}}, +/* 21474 */ {(14<<2)|2,{32,38,0}}, +/* 21475 */ {(14<<2)|2,{32,38,0}}, +/* 21476 */ {(14<<2)|2,{32,42,0}}, +/* 21477 */ {(14<<2)|2,{32,42,0}}, +/* 21478 */ {(14<<2)|2,{32,42,0}}, +/* 21479 */ {(14<<2)|2,{32,42,0}}, +/* 21480 */ {(14<<2)|2,{32,44,0}}, +/* 21481 */ {(14<<2)|2,{32,44,0}}, +/* 21482 */ {(14<<2)|2,{32,44,0}}, +/* 21483 */ {(14<<2)|2,{32,44,0}}, +/* 21484 */ {(14<<2)|2,{32,59,0}}, +/* 21485 */ {(14<<2)|2,{32,59,0}}, +/* 21486 */ {(14<<2)|2,{32,59,0}}, +/* 21487 */ {(14<<2)|2,{32,59,0}}, +/* 21488 */ {(14<<2)|2,{32,88,0}}, +/* 21489 */ {(14<<2)|2,{32,88,0}}, +/* 21490 */ {(14<<2)|2,{32,88,0}}, +/* 21491 */ {(14<<2)|2,{32,88,0}}, +/* 21492 */ {(14<<2)|2,{32,90,0}}, +/* 21493 */ {(14<<2)|2,{32,90,0}}, +/* 21494 */ {(14<<2)|2,{32,90,0}}, +/* 21495 */ {(14<<2)|2,{32,90,0}}, +/* 21496 */ {(16<<2)|2,{32,33,0}}, +/* 21497 */ {(16<<2)|2,{32,34,0}}, +/* 21498 */ {(16<<2)|2,{32,40,0}}, +/* 21499 */ {(16<<2)|2,{32,41,0}}, +/* 21500 */ {(16<<2)|2,{32,63,0}}, +/* 21501 */ {(6<<2)|1,{32,0,0}}, +/* 21502 */ {(6<<2)|1,{32,0,0}}, +/* 21503 */ {(6<<2)|1,{32,0,0}}, +/* 21504 */ {(16<<2)|3,{37,48,48}}, +/* 21505 */ {(16<<2)|3,{37,48,49}}, +/* 21506 */ {(16<<2)|3,{37,48,50}}, +/* 21507 */ {(16<<2)|3,{37,48,97}}, +/* 21508 */ {(16<<2)|3,{37,48,99}}, +/* 21509 */ {(16<<2)|3,{37,48,101}}, +/* 21510 */ {(16<<2)|3,{37,48,105}}, +/* 21511 */ {(16<<2)|3,{37,48,111}}, +/* 21512 */ {(16<<2)|3,{37,48,115}}, +/* 21513 */ {(16<<2)|3,{37,48,116}}, +/* 21514 */ {(11<<2)|2,{37,48,0}}, +/* 21515 */ {(11<<2)|2,{37,48,0}}, +/* 21516 */ {(11<<2)|2,{37,48,0}}, +/* 21517 */ {(11<<2)|2,{37,48,0}}, +/* 21518 */ {(11<<2)|2,{37,48,0}}, +/* 21519 */ {(11<<2)|2,{37,48,0}}, +/* 21520 */ {(11<<2)|2,{37,48,0}}, +/* 21521 */ {(11<<2)|2,{37,48,0}}, +/* 21522 */ {(11<<2)|2,{37,48,0}}, +/* 21523 */ {(11<<2)|2,{37,48,0}}, +/* 21524 */ {(11<<2)|2,{37,48,0}}, +/* 21525 */ {(11<<2)|2,{37,48,0}}, +/* 21526 */ {(11<<2)|2,{37,48,0}}, +/* 21527 */ {(11<<2)|2,{37,48,0}}, +/* 21528 */ {(11<<2)|2,{37,48,0}}, +/* 21529 */ {(11<<2)|2,{37,48,0}}, +/* 21530 */ {(11<<2)|2,{37,48,0}}, +/* 21531 */ {(11<<2)|2,{37,48,0}}, +/* 21532 */ {(11<<2)|2,{37,48,0}}, +/* 21533 */ {(11<<2)|2,{37,48,0}}, +/* 21534 */ {(11<<2)|2,{37,48,0}}, +/* 21535 */ {(11<<2)|2,{37,48,0}}, +/* 21536 */ {(16<<2)|3,{37,49,48}}, +/* 21537 */ {(16<<2)|3,{37,49,49}}, +/* 21538 */ {(16<<2)|3,{37,49,50}}, +/* 21539 */ {(16<<2)|3,{37,49,97}}, +/* 21540 */ {(16<<2)|3,{37,49,99}}, +/* 21541 */ {(16<<2)|3,{37,49,101}}, +/* 21542 */ {(16<<2)|3,{37,49,105}}, +/* 21543 */ {(16<<2)|3,{37,49,111}}, +/* 21544 */ {(16<<2)|3,{37,49,115}}, +/* 21545 */ {(16<<2)|3,{37,49,116}}, +/* 21546 */ {(11<<2)|2,{37,49,0}}, +/* 21547 */ {(11<<2)|2,{37,49,0}}, +/* 21548 */ {(11<<2)|2,{37,49,0}}, +/* 21549 */ {(11<<2)|2,{37,49,0}}, +/* 21550 */ {(11<<2)|2,{37,49,0}}, +/* 21551 */ {(11<<2)|2,{37,49,0}}, +/* 21552 */ {(11<<2)|2,{37,49,0}}, +/* 21553 */ {(11<<2)|2,{37,49,0}}, +/* 21554 */ {(11<<2)|2,{37,49,0}}, +/* 21555 */ {(11<<2)|2,{37,49,0}}, +/* 21556 */ {(11<<2)|2,{37,49,0}}, +/* 21557 */ {(11<<2)|2,{37,49,0}}, +/* 21558 */ {(11<<2)|2,{37,49,0}}, +/* 21559 */ {(11<<2)|2,{37,49,0}}, +/* 21560 */ {(11<<2)|2,{37,49,0}}, +/* 21561 */ {(11<<2)|2,{37,49,0}}, +/* 21562 */ {(11<<2)|2,{37,49,0}}, +/* 21563 */ {(11<<2)|2,{37,49,0}}, +/* 21564 */ {(11<<2)|2,{37,49,0}}, +/* 21565 */ {(11<<2)|2,{37,49,0}}, +/* 21566 */ {(11<<2)|2,{37,49,0}}, +/* 21567 */ {(11<<2)|2,{37,49,0}}, +/* 21568 */ {(16<<2)|3,{37,50,48}}, +/* 21569 */ {(16<<2)|3,{37,50,49}}, +/* 21570 */ {(16<<2)|3,{37,50,50}}, +/* 21571 */ {(16<<2)|3,{37,50,97}}, +/* 21572 */ {(16<<2)|3,{37,50,99}}, +/* 21573 */ {(16<<2)|3,{37,50,101}}, +/* 21574 */ {(16<<2)|3,{37,50,105}}, +/* 21575 */ {(16<<2)|3,{37,50,111}}, +/* 21576 */ {(16<<2)|3,{37,50,115}}, +/* 21577 */ {(16<<2)|3,{37,50,116}}, +/* 21578 */ {(11<<2)|2,{37,50,0}}, +/* 21579 */ {(11<<2)|2,{37,50,0}}, +/* 21580 */ {(11<<2)|2,{37,50,0}}, +/* 21581 */ {(11<<2)|2,{37,50,0}}, +/* 21582 */ {(11<<2)|2,{37,50,0}}, +/* 21583 */ {(11<<2)|2,{37,50,0}}, +/* 21584 */ {(11<<2)|2,{37,50,0}}, +/* 21585 */ {(11<<2)|2,{37,50,0}}, +/* 21586 */ {(11<<2)|2,{37,50,0}}, +/* 21587 */ {(11<<2)|2,{37,50,0}}, +/* 21588 */ {(11<<2)|2,{37,50,0}}, +/* 21589 */ {(11<<2)|2,{37,50,0}}, +/* 21590 */ {(11<<2)|2,{37,50,0}}, +/* 21591 */ {(11<<2)|2,{37,50,0}}, +/* 21592 */ {(11<<2)|2,{37,50,0}}, +/* 21593 */ {(11<<2)|2,{37,50,0}}, +/* 21594 */ {(11<<2)|2,{37,50,0}}, +/* 21595 */ {(11<<2)|2,{37,50,0}}, +/* 21596 */ {(11<<2)|2,{37,50,0}}, +/* 21597 */ {(11<<2)|2,{37,50,0}}, +/* 21598 */ {(11<<2)|2,{37,50,0}}, +/* 21599 */ {(11<<2)|2,{37,50,0}}, +/* 21600 */ {(16<<2)|3,{37,97,48}}, +/* 21601 */ {(16<<2)|3,{37,97,49}}, +/* 21602 */ {(16<<2)|3,{37,97,50}}, +/* 21603 */ {(16<<2)|3,{37,97,97}}, +/* 21604 */ {(16<<2)|3,{37,97,99}}, +/* 21605 */ {(16<<2)|3,{37,97,101}}, +/* 21606 */ {(16<<2)|3,{37,97,105}}, +/* 21607 */ {(16<<2)|3,{37,97,111}}, +/* 21608 */ {(16<<2)|3,{37,97,115}}, +/* 21609 */ {(16<<2)|3,{37,97,116}}, +/* 21610 */ {(11<<2)|2,{37,97,0}}, +/* 21611 */ {(11<<2)|2,{37,97,0}}, +/* 21612 */ {(11<<2)|2,{37,97,0}}, +/* 21613 */ {(11<<2)|2,{37,97,0}}, +/* 21614 */ {(11<<2)|2,{37,97,0}}, +/* 21615 */ {(11<<2)|2,{37,97,0}}, +/* 21616 */ {(11<<2)|2,{37,97,0}}, +/* 21617 */ {(11<<2)|2,{37,97,0}}, +/* 21618 */ {(11<<2)|2,{37,97,0}}, +/* 21619 */ {(11<<2)|2,{37,97,0}}, +/* 21620 */ {(11<<2)|2,{37,97,0}}, +/* 21621 */ {(11<<2)|2,{37,97,0}}, +/* 21622 */ {(11<<2)|2,{37,97,0}}, +/* 21623 */ {(11<<2)|2,{37,97,0}}, +/* 21624 */ {(11<<2)|2,{37,97,0}}, +/* 21625 */ {(11<<2)|2,{37,97,0}}, +/* 21626 */ {(11<<2)|2,{37,97,0}}, +/* 21627 */ {(11<<2)|2,{37,97,0}}, +/* 21628 */ {(11<<2)|2,{37,97,0}}, +/* 21629 */ {(11<<2)|2,{37,97,0}}, +/* 21630 */ {(11<<2)|2,{37,97,0}}, +/* 21631 */ {(11<<2)|2,{37,97,0}}, +/* 21632 */ {(16<<2)|3,{37,99,48}}, +/* 21633 */ {(16<<2)|3,{37,99,49}}, +/* 21634 */ {(16<<2)|3,{37,99,50}}, +/* 21635 */ {(16<<2)|3,{37,99,97}}, +/* 21636 */ {(16<<2)|3,{37,99,99}}, +/* 21637 */ {(16<<2)|3,{37,99,101}}, +/* 21638 */ {(16<<2)|3,{37,99,105}}, +/* 21639 */ {(16<<2)|3,{37,99,111}}, +/* 21640 */ {(16<<2)|3,{37,99,115}}, +/* 21641 */ {(16<<2)|3,{37,99,116}}, +/* 21642 */ {(11<<2)|2,{37,99,0}}, +/* 21643 */ {(11<<2)|2,{37,99,0}}, +/* 21644 */ {(11<<2)|2,{37,99,0}}, +/* 21645 */ {(11<<2)|2,{37,99,0}}, +/* 21646 */ {(11<<2)|2,{37,99,0}}, +/* 21647 */ {(11<<2)|2,{37,99,0}}, +/* 21648 */ {(11<<2)|2,{37,99,0}}, +/* 21649 */ {(11<<2)|2,{37,99,0}}, +/* 21650 */ {(11<<2)|2,{37,99,0}}, +/* 21651 */ {(11<<2)|2,{37,99,0}}, +/* 21652 */ {(11<<2)|2,{37,99,0}}, +/* 21653 */ {(11<<2)|2,{37,99,0}}, +/* 21654 */ {(11<<2)|2,{37,99,0}}, +/* 21655 */ {(11<<2)|2,{37,99,0}}, +/* 21656 */ {(11<<2)|2,{37,99,0}}, +/* 21657 */ {(11<<2)|2,{37,99,0}}, +/* 21658 */ {(11<<2)|2,{37,99,0}}, +/* 21659 */ {(11<<2)|2,{37,99,0}}, +/* 21660 */ {(11<<2)|2,{37,99,0}}, +/* 21661 */ {(11<<2)|2,{37,99,0}}, +/* 21662 */ {(11<<2)|2,{37,99,0}}, +/* 21663 */ {(11<<2)|2,{37,99,0}}, +/* 21664 */ {(16<<2)|3,{37,101,48}}, +/* 21665 */ {(16<<2)|3,{37,101,49}}, +/* 21666 */ {(16<<2)|3,{37,101,50}}, +/* 21667 */ {(16<<2)|3,{37,101,97}}, +/* 21668 */ {(16<<2)|3,{37,101,99}}, +/* 21669 */ {(16<<2)|3,{37,101,101}}, +/* 21670 */ {(16<<2)|3,{37,101,105}}, +/* 21671 */ {(16<<2)|3,{37,101,111}}, +/* 21672 */ {(16<<2)|3,{37,101,115}}, +/* 21673 */ {(16<<2)|3,{37,101,116}}, +/* 21674 */ {(11<<2)|2,{37,101,0}}, +/* 21675 */ {(11<<2)|2,{37,101,0}}, +/* 21676 */ {(11<<2)|2,{37,101,0}}, +/* 21677 */ {(11<<2)|2,{37,101,0}}, +/* 21678 */ {(11<<2)|2,{37,101,0}}, +/* 21679 */ {(11<<2)|2,{37,101,0}}, +/* 21680 */ {(11<<2)|2,{37,101,0}}, +/* 21681 */ {(11<<2)|2,{37,101,0}}, +/* 21682 */ {(11<<2)|2,{37,101,0}}, +/* 21683 */ {(11<<2)|2,{37,101,0}}, +/* 21684 */ {(11<<2)|2,{37,101,0}}, +/* 21685 */ {(11<<2)|2,{37,101,0}}, +/* 21686 */ {(11<<2)|2,{37,101,0}}, +/* 21687 */ {(11<<2)|2,{37,101,0}}, +/* 21688 */ {(11<<2)|2,{37,101,0}}, +/* 21689 */ {(11<<2)|2,{37,101,0}}, +/* 21690 */ {(11<<2)|2,{37,101,0}}, +/* 21691 */ {(11<<2)|2,{37,101,0}}, +/* 21692 */ {(11<<2)|2,{37,101,0}}, +/* 21693 */ {(11<<2)|2,{37,101,0}}, +/* 21694 */ {(11<<2)|2,{37,101,0}}, +/* 21695 */ {(11<<2)|2,{37,101,0}}, +/* 21696 */ {(16<<2)|3,{37,105,48}}, +/* 21697 */ {(16<<2)|3,{37,105,49}}, +/* 21698 */ {(16<<2)|3,{37,105,50}}, +/* 21699 */ {(16<<2)|3,{37,105,97}}, +/* 21700 */ {(16<<2)|3,{37,105,99}}, +/* 21701 */ {(16<<2)|3,{37,105,101}}, +/* 21702 */ {(16<<2)|3,{37,105,105}}, +/* 21703 */ {(16<<2)|3,{37,105,111}}, +/* 21704 */ {(16<<2)|3,{37,105,115}}, +/* 21705 */ {(16<<2)|3,{37,105,116}}, +/* 21706 */ {(11<<2)|2,{37,105,0}}, +/* 21707 */ {(11<<2)|2,{37,105,0}}, +/* 21708 */ {(11<<2)|2,{37,105,0}}, +/* 21709 */ {(11<<2)|2,{37,105,0}}, +/* 21710 */ {(11<<2)|2,{37,105,0}}, +/* 21711 */ {(11<<2)|2,{37,105,0}}, +/* 21712 */ {(11<<2)|2,{37,105,0}}, +/* 21713 */ {(11<<2)|2,{37,105,0}}, +/* 21714 */ {(11<<2)|2,{37,105,0}}, +/* 21715 */ {(11<<2)|2,{37,105,0}}, +/* 21716 */ {(11<<2)|2,{37,105,0}}, +/* 21717 */ {(11<<2)|2,{37,105,0}}, +/* 21718 */ {(11<<2)|2,{37,105,0}}, +/* 21719 */ {(11<<2)|2,{37,105,0}}, +/* 21720 */ {(11<<2)|2,{37,105,0}}, +/* 21721 */ {(11<<2)|2,{37,105,0}}, +/* 21722 */ {(11<<2)|2,{37,105,0}}, +/* 21723 */ {(11<<2)|2,{37,105,0}}, +/* 21724 */ {(11<<2)|2,{37,105,0}}, +/* 21725 */ {(11<<2)|2,{37,105,0}}, +/* 21726 */ {(11<<2)|2,{37,105,0}}, +/* 21727 */ {(11<<2)|2,{37,105,0}}, +/* 21728 */ {(16<<2)|3,{37,111,48}}, +/* 21729 */ {(16<<2)|3,{37,111,49}}, +/* 21730 */ {(16<<2)|3,{37,111,50}}, +/* 21731 */ {(16<<2)|3,{37,111,97}}, +/* 21732 */ {(16<<2)|3,{37,111,99}}, +/* 21733 */ {(16<<2)|3,{37,111,101}}, +/* 21734 */ {(16<<2)|3,{37,111,105}}, +/* 21735 */ {(16<<2)|3,{37,111,111}}, +/* 21736 */ {(16<<2)|3,{37,111,115}}, +/* 21737 */ {(16<<2)|3,{37,111,116}}, +/* 21738 */ {(11<<2)|2,{37,111,0}}, +/* 21739 */ {(11<<2)|2,{37,111,0}}, +/* 21740 */ {(11<<2)|2,{37,111,0}}, +/* 21741 */ {(11<<2)|2,{37,111,0}}, +/* 21742 */ {(11<<2)|2,{37,111,0}}, +/* 21743 */ {(11<<2)|2,{37,111,0}}, +/* 21744 */ {(11<<2)|2,{37,111,0}}, +/* 21745 */ {(11<<2)|2,{37,111,0}}, +/* 21746 */ {(11<<2)|2,{37,111,0}}, +/* 21747 */ {(11<<2)|2,{37,111,0}}, +/* 21748 */ {(11<<2)|2,{37,111,0}}, +/* 21749 */ {(11<<2)|2,{37,111,0}}, +/* 21750 */ {(11<<2)|2,{37,111,0}}, +/* 21751 */ {(11<<2)|2,{37,111,0}}, +/* 21752 */ {(11<<2)|2,{37,111,0}}, +/* 21753 */ {(11<<2)|2,{37,111,0}}, +/* 21754 */ {(11<<2)|2,{37,111,0}}, +/* 21755 */ {(11<<2)|2,{37,111,0}}, +/* 21756 */ {(11<<2)|2,{37,111,0}}, +/* 21757 */ {(11<<2)|2,{37,111,0}}, +/* 21758 */ {(11<<2)|2,{37,111,0}}, +/* 21759 */ {(11<<2)|2,{37,111,0}}, +/* 21760 */ {(16<<2)|3,{37,115,48}}, +/* 21761 */ {(16<<2)|3,{37,115,49}}, +/* 21762 */ {(16<<2)|3,{37,115,50}}, +/* 21763 */ {(16<<2)|3,{37,115,97}}, +/* 21764 */ {(16<<2)|3,{37,115,99}}, +/* 21765 */ {(16<<2)|3,{37,115,101}}, +/* 21766 */ {(16<<2)|3,{37,115,105}}, +/* 21767 */ {(16<<2)|3,{37,115,111}}, +/* 21768 */ {(16<<2)|3,{37,115,115}}, +/* 21769 */ {(16<<2)|3,{37,115,116}}, +/* 21770 */ {(11<<2)|2,{37,115,0}}, +/* 21771 */ {(11<<2)|2,{37,115,0}}, +/* 21772 */ {(11<<2)|2,{37,115,0}}, +/* 21773 */ {(11<<2)|2,{37,115,0}}, +/* 21774 */ {(11<<2)|2,{37,115,0}}, +/* 21775 */ {(11<<2)|2,{37,115,0}}, +/* 21776 */ {(11<<2)|2,{37,115,0}}, +/* 21777 */ {(11<<2)|2,{37,115,0}}, +/* 21778 */ {(11<<2)|2,{37,115,0}}, +/* 21779 */ {(11<<2)|2,{37,115,0}}, +/* 21780 */ {(11<<2)|2,{37,115,0}}, +/* 21781 */ {(11<<2)|2,{37,115,0}}, +/* 21782 */ {(11<<2)|2,{37,115,0}}, +/* 21783 */ {(11<<2)|2,{37,115,0}}, +/* 21784 */ {(11<<2)|2,{37,115,0}}, +/* 21785 */ {(11<<2)|2,{37,115,0}}, +/* 21786 */ {(11<<2)|2,{37,115,0}}, +/* 21787 */ {(11<<2)|2,{37,115,0}}, +/* 21788 */ {(11<<2)|2,{37,115,0}}, +/* 21789 */ {(11<<2)|2,{37,115,0}}, +/* 21790 */ {(11<<2)|2,{37,115,0}}, +/* 21791 */ {(11<<2)|2,{37,115,0}}, +/* 21792 */ {(16<<2)|3,{37,116,48}}, +/* 21793 */ {(16<<2)|3,{37,116,49}}, +/* 21794 */ {(16<<2)|3,{37,116,50}}, +/* 21795 */ {(16<<2)|3,{37,116,97}}, +/* 21796 */ {(16<<2)|3,{37,116,99}}, +/* 21797 */ {(16<<2)|3,{37,116,101}}, +/* 21798 */ {(16<<2)|3,{37,116,105}}, +/* 21799 */ {(16<<2)|3,{37,116,111}}, +/* 21800 */ {(16<<2)|3,{37,116,115}}, +/* 21801 */ {(16<<2)|3,{37,116,116}}, +/* 21802 */ {(11<<2)|2,{37,116,0}}, +/* 21803 */ {(11<<2)|2,{37,116,0}}, +/* 21804 */ {(11<<2)|2,{37,116,0}}, +/* 21805 */ {(11<<2)|2,{37,116,0}}, +/* 21806 */ {(11<<2)|2,{37,116,0}}, +/* 21807 */ {(11<<2)|2,{37,116,0}}, +/* 21808 */ {(11<<2)|2,{37,116,0}}, +/* 21809 */ {(11<<2)|2,{37,116,0}}, +/* 21810 */ {(11<<2)|2,{37,116,0}}, +/* 21811 */ {(11<<2)|2,{37,116,0}}, +/* 21812 */ {(11<<2)|2,{37,116,0}}, +/* 21813 */ {(11<<2)|2,{37,116,0}}, +/* 21814 */ {(11<<2)|2,{37,116,0}}, +/* 21815 */ {(11<<2)|2,{37,116,0}}, +/* 21816 */ {(11<<2)|2,{37,116,0}}, +/* 21817 */ {(11<<2)|2,{37,116,0}}, +/* 21818 */ {(11<<2)|2,{37,116,0}}, +/* 21819 */ {(11<<2)|2,{37,116,0}}, +/* 21820 */ {(11<<2)|2,{37,116,0}}, +/* 21821 */ {(11<<2)|2,{37,116,0}}, +/* 21822 */ {(11<<2)|2,{37,116,0}}, +/* 21823 */ {(11<<2)|2,{37,116,0}}, +/* 21824 */ {(12<<2)|2,{37,32,0}}, +/* 21825 */ {(12<<2)|2,{37,32,0}}, +/* 21826 */ {(12<<2)|2,{37,32,0}}, +/* 21827 */ {(12<<2)|2,{37,32,0}}, +/* 21828 */ {(12<<2)|2,{37,32,0}}, +/* 21829 */ {(12<<2)|2,{37,32,0}}, +/* 21830 */ {(12<<2)|2,{37,32,0}}, +/* 21831 */ {(12<<2)|2,{37,32,0}}, +/* 21832 */ {(12<<2)|2,{37,32,0}}, +/* 21833 */ {(12<<2)|2,{37,32,0}}, +/* 21834 */ {(12<<2)|2,{37,32,0}}, +/* 21835 */ {(12<<2)|2,{37,32,0}}, +/* 21836 */ {(12<<2)|2,{37,32,0}}, +/* 21837 */ {(12<<2)|2,{37,32,0}}, +/* 21838 */ {(12<<2)|2,{37,32,0}}, +/* 21839 */ {(12<<2)|2,{37,32,0}}, +/* 21840 */ {(12<<2)|2,{37,37,0}}, +/* 21841 */ {(12<<2)|2,{37,37,0}}, +/* 21842 */ {(12<<2)|2,{37,37,0}}, +/* 21843 */ {(12<<2)|2,{37,37,0}}, +/* 21844 */ {(12<<2)|2,{37,37,0}}, +/* 21845 */ {(12<<2)|2,{37,37,0}}, +/* 21846 */ {(12<<2)|2,{37,37,0}}, +/* 21847 */ {(12<<2)|2,{37,37,0}}, +/* 21848 */ {(12<<2)|2,{37,37,0}}, +/* 21849 */ {(12<<2)|2,{37,37,0}}, +/* 21850 */ {(12<<2)|2,{37,37,0}}, +/* 21851 */ {(12<<2)|2,{37,37,0}}, +/* 21852 */ {(12<<2)|2,{37,37,0}}, +/* 21853 */ {(12<<2)|2,{37,37,0}}, +/* 21854 */ {(12<<2)|2,{37,37,0}}, +/* 21855 */ {(12<<2)|2,{37,37,0}}, +/* 21856 */ {(12<<2)|2,{37,45,0}}, +/* 21857 */ {(12<<2)|2,{37,45,0}}, +/* 21858 */ {(12<<2)|2,{37,45,0}}, +/* 21859 */ {(12<<2)|2,{37,45,0}}, +/* 21860 */ {(12<<2)|2,{37,45,0}}, +/* 21861 */ {(12<<2)|2,{37,45,0}}, +/* 21862 */ {(12<<2)|2,{37,45,0}}, +/* 21863 */ {(12<<2)|2,{37,45,0}}, +/* 21864 */ {(12<<2)|2,{37,45,0}}, +/* 21865 */ {(12<<2)|2,{37,45,0}}, +/* 21866 */ {(12<<2)|2,{37,45,0}}, +/* 21867 */ {(12<<2)|2,{37,45,0}}, +/* 21868 */ {(12<<2)|2,{37,45,0}}, +/* 21869 */ {(12<<2)|2,{37,45,0}}, +/* 21870 */ {(12<<2)|2,{37,45,0}}, +/* 21871 */ {(12<<2)|2,{37,45,0}}, +/* 21872 */ {(12<<2)|2,{37,46,0}}, +/* 21873 */ {(12<<2)|2,{37,46,0}}, +/* 21874 */ {(12<<2)|2,{37,46,0}}, +/* 21875 */ {(12<<2)|2,{37,46,0}}, +/* 21876 */ {(12<<2)|2,{37,46,0}}, +/* 21877 */ {(12<<2)|2,{37,46,0}}, +/* 21878 */ {(12<<2)|2,{37,46,0}}, +/* 21879 */ {(12<<2)|2,{37,46,0}}, +/* 21880 */ {(12<<2)|2,{37,46,0}}, +/* 21881 */ {(12<<2)|2,{37,46,0}}, +/* 21882 */ {(12<<2)|2,{37,46,0}}, +/* 21883 */ {(12<<2)|2,{37,46,0}}, +/* 21884 */ {(12<<2)|2,{37,46,0}}, +/* 21885 */ {(12<<2)|2,{37,46,0}}, +/* 21886 */ {(12<<2)|2,{37,46,0}}, +/* 21887 */ {(12<<2)|2,{37,46,0}}, +/* 21888 */ {(12<<2)|2,{37,47,0}}, +/* 21889 */ {(12<<2)|2,{37,47,0}}, +/* 21890 */ {(12<<2)|2,{37,47,0}}, +/* 21891 */ {(12<<2)|2,{37,47,0}}, +/* 21892 */ {(12<<2)|2,{37,47,0}}, +/* 21893 */ {(12<<2)|2,{37,47,0}}, +/* 21894 */ {(12<<2)|2,{37,47,0}}, +/* 21895 */ {(12<<2)|2,{37,47,0}}, +/* 21896 */ {(12<<2)|2,{37,47,0}}, +/* 21897 */ {(12<<2)|2,{37,47,0}}, +/* 21898 */ {(12<<2)|2,{37,47,0}}, +/* 21899 */ {(12<<2)|2,{37,47,0}}, +/* 21900 */ {(12<<2)|2,{37,47,0}}, +/* 21901 */ {(12<<2)|2,{37,47,0}}, +/* 21902 */ {(12<<2)|2,{37,47,0}}, +/* 21903 */ {(12<<2)|2,{37,47,0}}, +/* 21904 */ {(12<<2)|2,{37,51,0}}, +/* 21905 */ {(12<<2)|2,{37,51,0}}, +/* 21906 */ {(12<<2)|2,{37,51,0}}, +/* 21907 */ {(12<<2)|2,{37,51,0}}, +/* 21908 */ {(12<<2)|2,{37,51,0}}, +/* 21909 */ {(12<<2)|2,{37,51,0}}, +/* 21910 */ {(12<<2)|2,{37,51,0}}, +/* 21911 */ {(12<<2)|2,{37,51,0}}, +/* 21912 */ {(12<<2)|2,{37,51,0}}, +/* 21913 */ {(12<<2)|2,{37,51,0}}, +/* 21914 */ {(12<<2)|2,{37,51,0}}, +/* 21915 */ {(12<<2)|2,{37,51,0}}, +/* 21916 */ {(12<<2)|2,{37,51,0}}, +/* 21917 */ {(12<<2)|2,{37,51,0}}, +/* 21918 */ {(12<<2)|2,{37,51,0}}, +/* 21919 */ {(12<<2)|2,{37,51,0}}, +/* 21920 */ {(12<<2)|2,{37,52,0}}, +/* 21921 */ {(12<<2)|2,{37,52,0}}, +/* 21922 */ {(12<<2)|2,{37,52,0}}, +/* 21923 */ {(12<<2)|2,{37,52,0}}, +/* 21924 */ {(12<<2)|2,{37,52,0}}, +/* 21925 */ {(12<<2)|2,{37,52,0}}, +/* 21926 */ {(12<<2)|2,{37,52,0}}, +/* 21927 */ {(12<<2)|2,{37,52,0}}, +/* 21928 */ {(12<<2)|2,{37,52,0}}, +/* 21929 */ {(12<<2)|2,{37,52,0}}, +/* 21930 */ {(12<<2)|2,{37,52,0}}, +/* 21931 */ {(12<<2)|2,{37,52,0}}, +/* 21932 */ {(12<<2)|2,{37,52,0}}, +/* 21933 */ {(12<<2)|2,{37,52,0}}, +/* 21934 */ {(12<<2)|2,{37,52,0}}, +/* 21935 */ {(12<<2)|2,{37,52,0}}, +/* 21936 */ {(12<<2)|2,{37,53,0}}, +/* 21937 */ {(12<<2)|2,{37,53,0}}, +/* 21938 */ {(12<<2)|2,{37,53,0}}, +/* 21939 */ {(12<<2)|2,{37,53,0}}, +/* 21940 */ {(12<<2)|2,{37,53,0}}, +/* 21941 */ {(12<<2)|2,{37,53,0}}, +/* 21942 */ {(12<<2)|2,{37,53,0}}, +/* 21943 */ {(12<<2)|2,{37,53,0}}, +/* 21944 */ {(12<<2)|2,{37,53,0}}, +/* 21945 */ {(12<<2)|2,{37,53,0}}, +/* 21946 */ {(12<<2)|2,{37,53,0}}, +/* 21947 */ {(12<<2)|2,{37,53,0}}, +/* 21948 */ {(12<<2)|2,{37,53,0}}, +/* 21949 */ {(12<<2)|2,{37,53,0}}, +/* 21950 */ {(12<<2)|2,{37,53,0}}, +/* 21951 */ {(12<<2)|2,{37,53,0}}, +/* 21952 */ {(12<<2)|2,{37,54,0}}, +/* 21953 */ {(12<<2)|2,{37,54,0}}, +/* 21954 */ {(12<<2)|2,{37,54,0}}, +/* 21955 */ {(12<<2)|2,{37,54,0}}, +/* 21956 */ {(12<<2)|2,{37,54,0}}, +/* 21957 */ {(12<<2)|2,{37,54,0}}, +/* 21958 */ {(12<<2)|2,{37,54,0}}, +/* 21959 */ {(12<<2)|2,{37,54,0}}, +/* 21960 */ {(12<<2)|2,{37,54,0}}, +/* 21961 */ {(12<<2)|2,{37,54,0}}, +/* 21962 */ {(12<<2)|2,{37,54,0}}, +/* 21963 */ {(12<<2)|2,{37,54,0}}, +/* 21964 */ {(12<<2)|2,{37,54,0}}, +/* 21965 */ {(12<<2)|2,{37,54,0}}, +/* 21966 */ {(12<<2)|2,{37,54,0}}, +/* 21967 */ {(12<<2)|2,{37,54,0}}, +/* 21968 */ {(12<<2)|2,{37,55,0}}, +/* 21969 */ {(12<<2)|2,{37,55,0}}, +/* 21970 */ {(12<<2)|2,{37,55,0}}, +/* 21971 */ {(12<<2)|2,{37,55,0}}, +/* 21972 */ {(12<<2)|2,{37,55,0}}, +/* 21973 */ {(12<<2)|2,{37,55,0}}, +/* 21974 */ {(12<<2)|2,{37,55,0}}, +/* 21975 */ {(12<<2)|2,{37,55,0}}, +/* 21976 */ {(12<<2)|2,{37,55,0}}, +/* 21977 */ {(12<<2)|2,{37,55,0}}, +/* 21978 */ {(12<<2)|2,{37,55,0}}, +/* 21979 */ {(12<<2)|2,{37,55,0}}, +/* 21980 */ {(12<<2)|2,{37,55,0}}, +/* 21981 */ {(12<<2)|2,{37,55,0}}, +/* 21982 */ {(12<<2)|2,{37,55,0}}, +/* 21983 */ {(12<<2)|2,{37,55,0}}, +/* 21984 */ {(12<<2)|2,{37,56,0}}, +/* 21985 */ {(12<<2)|2,{37,56,0}}, +/* 21986 */ {(12<<2)|2,{37,56,0}}, +/* 21987 */ {(12<<2)|2,{37,56,0}}, +/* 21988 */ {(12<<2)|2,{37,56,0}}, +/* 21989 */ {(12<<2)|2,{37,56,0}}, +/* 21990 */ {(12<<2)|2,{37,56,0}}, +/* 21991 */ {(12<<2)|2,{37,56,0}}, +/* 21992 */ {(12<<2)|2,{37,56,0}}, +/* 21993 */ {(12<<2)|2,{37,56,0}}, +/* 21994 */ {(12<<2)|2,{37,56,0}}, +/* 21995 */ {(12<<2)|2,{37,56,0}}, +/* 21996 */ {(12<<2)|2,{37,56,0}}, +/* 21997 */ {(12<<2)|2,{37,56,0}}, +/* 21998 */ {(12<<2)|2,{37,56,0}}, +/* 21999 */ {(12<<2)|2,{37,56,0}}, +/* 22000 */ {(12<<2)|2,{37,57,0}}, +/* 22001 */ {(12<<2)|2,{37,57,0}}, +/* 22002 */ {(12<<2)|2,{37,57,0}}, +/* 22003 */ {(12<<2)|2,{37,57,0}}, +/* 22004 */ {(12<<2)|2,{37,57,0}}, +/* 22005 */ {(12<<2)|2,{37,57,0}}, +/* 22006 */ {(12<<2)|2,{37,57,0}}, +/* 22007 */ {(12<<2)|2,{37,57,0}}, +/* 22008 */ {(12<<2)|2,{37,57,0}}, +/* 22009 */ {(12<<2)|2,{37,57,0}}, +/* 22010 */ {(12<<2)|2,{37,57,0}}, +/* 22011 */ {(12<<2)|2,{37,57,0}}, +/* 22012 */ {(12<<2)|2,{37,57,0}}, +/* 22013 */ {(12<<2)|2,{37,57,0}}, +/* 22014 */ {(12<<2)|2,{37,57,0}}, +/* 22015 */ {(12<<2)|2,{37,57,0}}, +/* 22016 */ {(12<<2)|2,{37,61,0}}, +/* 22017 */ {(12<<2)|2,{37,61,0}}, +/* 22018 */ {(12<<2)|2,{37,61,0}}, +/* 22019 */ {(12<<2)|2,{37,61,0}}, +/* 22020 */ {(12<<2)|2,{37,61,0}}, +/* 22021 */ {(12<<2)|2,{37,61,0}}, +/* 22022 */ {(12<<2)|2,{37,61,0}}, +/* 22023 */ {(12<<2)|2,{37,61,0}}, +/* 22024 */ {(12<<2)|2,{37,61,0}}, +/* 22025 */ {(12<<2)|2,{37,61,0}}, +/* 22026 */ {(12<<2)|2,{37,61,0}}, +/* 22027 */ {(12<<2)|2,{37,61,0}}, +/* 22028 */ {(12<<2)|2,{37,61,0}}, +/* 22029 */ {(12<<2)|2,{37,61,0}}, +/* 22030 */ {(12<<2)|2,{37,61,0}}, +/* 22031 */ {(12<<2)|2,{37,61,0}}, +/* 22032 */ {(12<<2)|2,{37,65,0}}, +/* 22033 */ {(12<<2)|2,{37,65,0}}, +/* 22034 */ {(12<<2)|2,{37,65,0}}, +/* 22035 */ {(12<<2)|2,{37,65,0}}, +/* 22036 */ {(12<<2)|2,{37,65,0}}, +/* 22037 */ {(12<<2)|2,{37,65,0}}, +/* 22038 */ {(12<<2)|2,{37,65,0}}, +/* 22039 */ {(12<<2)|2,{37,65,0}}, +/* 22040 */ {(12<<2)|2,{37,65,0}}, +/* 22041 */ {(12<<2)|2,{37,65,0}}, +/* 22042 */ {(12<<2)|2,{37,65,0}}, +/* 22043 */ {(12<<2)|2,{37,65,0}}, +/* 22044 */ {(12<<2)|2,{37,65,0}}, +/* 22045 */ {(12<<2)|2,{37,65,0}}, +/* 22046 */ {(12<<2)|2,{37,65,0}}, +/* 22047 */ {(12<<2)|2,{37,65,0}}, +/* 22048 */ {(12<<2)|2,{37,95,0}}, +/* 22049 */ {(12<<2)|2,{37,95,0}}, +/* 22050 */ {(12<<2)|2,{37,95,0}}, +/* 22051 */ {(12<<2)|2,{37,95,0}}, +/* 22052 */ {(12<<2)|2,{37,95,0}}, +/* 22053 */ {(12<<2)|2,{37,95,0}}, +/* 22054 */ {(12<<2)|2,{37,95,0}}, +/* 22055 */ {(12<<2)|2,{37,95,0}}, +/* 22056 */ {(12<<2)|2,{37,95,0}}, +/* 22057 */ {(12<<2)|2,{37,95,0}}, +/* 22058 */ {(12<<2)|2,{37,95,0}}, +/* 22059 */ {(12<<2)|2,{37,95,0}}, +/* 22060 */ {(12<<2)|2,{37,95,0}}, +/* 22061 */ {(12<<2)|2,{37,95,0}}, +/* 22062 */ {(12<<2)|2,{37,95,0}}, +/* 22063 */ {(12<<2)|2,{37,95,0}}, +/* 22064 */ {(12<<2)|2,{37,98,0}}, +/* 22065 */ {(12<<2)|2,{37,98,0}}, +/* 22066 */ {(12<<2)|2,{37,98,0}}, +/* 22067 */ {(12<<2)|2,{37,98,0}}, +/* 22068 */ {(12<<2)|2,{37,98,0}}, +/* 22069 */ {(12<<2)|2,{37,98,0}}, +/* 22070 */ {(12<<2)|2,{37,98,0}}, +/* 22071 */ {(12<<2)|2,{37,98,0}}, +/* 22072 */ {(12<<2)|2,{37,98,0}}, +/* 22073 */ {(12<<2)|2,{37,98,0}}, +/* 22074 */ {(12<<2)|2,{37,98,0}}, +/* 22075 */ {(12<<2)|2,{37,98,0}}, +/* 22076 */ {(12<<2)|2,{37,98,0}}, +/* 22077 */ {(12<<2)|2,{37,98,0}}, +/* 22078 */ {(12<<2)|2,{37,98,0}}, +/* 22079 */ {(12<<2)|2,{37,98,0}}, +/* 22080 */ {(12<<2)|2,{37,100,0}}, +/* 22081 */ {(12<<2)|2,{37,100,0}}, +/* 22082 */ {(12<<2)|2,{37,100,0}}, +/* 22083 */ {(12<<2)|2,{37,100,0}}, +/* 22084 */ {(12<<2)|2,{37,100,0}}, +/* 22085 */ {(12<<2)|2,{37,100,0}}, +/* 22086 */ {(12<<2)|2,{37,100,0}}, +/* 22087 */ {(12<<2)|2,{37,100,0}}, +/* 22088 */ {(12<<2)|2,{37,100,0}}, +/* 22089 */ {(12<<2)|2,{37,100,0}}, +/* 22090 */ {(12<<2)|2,{37,100,0}}, +/* 22091 */ {(12<<2)|2,{37,100,0}}, +/* 22092 */ {(12<<2)|2,{37,100,0}}, +/* 22093 */ {(12<<2)|2,{37,100,0}}, +/* 22094 */ {(12<<2)|2,{37,100,0}}, +/* 22095 */ {(12<<2)|2,{37,100,0}}, +/* 22096 */ {(12<<2)|2,{37,102,0}}, +/* 22097 */ {(12<<2)|2,{37,102,0}}, +/* 22098 */ {(12<<2)|2,{37,102,0}}, +/* 22099 */ {(12<<2)|2,{37,102,0}}, +/* 22100 */ {(12<<2)|2,{37,102,0}}, +/* 22101 */ {(12<<2)|2,{37,102,0}}, +/* 22102 */ {(12<<2)|2,{37,102,0}}, +/* 22103 */ {(12<<2)|2,{37,102,0}}, +/* 22104 */ {(12<<2)|2,{37,102,0}}, +/* 22105 */ {(12<<2)|2,{37,102,0}}, +/* 22106 */ {(12<<2)|2,{37,102,0}}, +/* 22107 */ {(12<<2)|2,{37,102,0}}, +/* 22108 */ {(12<<2)|2,{37,102,0}}, +/* 22109 */ {(12<<2)|2,{37,102,0}}, +/* 22110 */ {(12<<2)|2,{37,102,0}}, +/* 22111 */ {(12<<2)|2,{37,102,0}}, +/* 22112 */ {(12<<2)|2,{37,103,0}}, +/* 22113 */ {(12<<2)|2,{37,103,0}}, +/* 22114 */ {(12<<2)|2,{37,103,0}}, +/* 22115 */ {(12<<2)|2,{37,103,0}}, +/* 22116 */ {(12<<2)|2,{37,103,0}}, +/* 22117 */ {(12<<2)|2,{37,103,0}}, +/* 22118 */ {(12<<2)|2,{37,103,0}}, +/* 22119 */ {(12<<2)|2,{37,103,0}}, +/* 22120 */ {(12<<2)|2,{37,103,0}}, +/* 22121 */ {(12<<2)|2,{37,103,0}}, +/* 22122 */ {(12<<2)|2,{37,103,0}}, +/* 22123 */ {(12<<2)|2,{37,103,0}}, +/* 22124 */ {(12<<2)|2,{37,103,0}}, +/* 22125 */ {(12<<2)|2,{37,103,0}}, +/* 22126 */ {(12<<2)|2,{37,103,0}}, +/* 22127 */ {(12<<2)|2,{37,103,0}}, +/* 22128 */ {(12<<2)|2,{37,104,0}}, +/* 22129 */ {(12<<2)|2,{37,104,0}}, +/* 22130 */ {(12<<2)|2,{37,104,0}}, +/* 22131 */ {(12<<2)|2,{37,104,0}}, +/* 22132 */ {(12<<2)|2,{37,104,0}}, +/* 22133 */ {(12<<2)|2,{37,104,0}}, +/* 22134 */ {(12<<2)|2,{37,104,0}}, +/* 22135 */ {(12<<2)|2,{37,104,0}}, +/* 22136 */ {(12<<2)|2,{37,104,0}}, +/* 22137 */ {(12<<2)|2,{37,104,0}}, +/* 22138 */ {(12<<2)|2,{37,104,0}}, +/* 22139 */ {(12<<2)|2,{37,104,0}}, +/* 22140 */ {(12<<2)|2,{37,104,0}}, +/* 22141 */ {(12<<2)|2,{37,104,0}}, +/* 22142 */ {(12<<2)|2,{37,104,0}}, +/* 22143 */ {(12<<2)|2,{37,104,0}}, +/* 22144 */ {(12<<2)|2,{37,108,0}}, +/* 22145 */ {(12<<2)|2,{37,108,0}}, +/* 22146 */ {(12<<2)|2,{37,108,0}}, +/* 22147 */ {(12<<2)|2,{37,108,0}}, +/* 22148 */ {(12<<2)|2,{37,108,0}}, +/* 22149 */ {(12<<2)|2,{37,108,0}}, +/* 22150 */ {(12<<2)|2,{37,108,0}}, +/* 22151 */ {(12<<2)|2,{37,108,0}}, +/* 22152 */ {(12<<2)|2,{37,108,0}}, +/* 22153 */ {(12<<2)|2,{37,108,0}}, +/* 22154 */ {(12<<2)|2,{37,108,0}}, +/* 22155 */ {(12<<2)|2,{37,108,0}}, +/* 22156 */ {(12<<2)|2,{37,108,0}}, +/* 22157 */ {(12<<2)|2,{37,108,0}}, +/* 22158 */ {(12<<2)|2,{37,108,0}}, +/* 22159 */ {(12<<2)|2,{37,108,0}}, +/* 22160 */ {(12<<2)|2,{37,109,0}}, +/* 22161 */ {(12<<2)|2,{37,109,0}}, +/* 22162 */ {(12<<2)|2,{37,109,0}}, +/* 22163 */ {(12<<2)|2,{37,109,0}}, +/* 22164 */ {(12<<2)|2,{37,109,0}}, +/* 22165 */ {(12<<2)|2,{37,109,0}}, +/* 22166 */ {(12<<2)|2,{37,109,0}}, +/* 22167 */ {(12<<2)|2,{37,109,0}}, +/* 22168 */ {(12<<2)|2,{37,109,0}}, +/* 22169 */ {(12<<2)|2,{37,109,0}}, +/* 22170 */ {(12<<2)|2,{37,109,0}}, +/* 22171 */ {(12<<2)|2,{37,109,0}}, +/* 22172 */ {(12<<2)|2,{37,109,0}}, +/* 22173 */ {(12<<2)|2,{37,109,0}}, +/* 22174 */ {(12<<2)|2,{37,109,0}}, +/* 22175 */ {(12<<2)|2,{37,109,0}}, +/* 22176 */ {(12<<2)|2,{37,110,0}}, +/* 22177 */ {(12<<2)|2,{37,110,0}}, +/* 22178 */ {(12<<2)|2,{37,110,0}}, +/* 22179 */ {(12<<2)|2,{37,110,0}}, +/* 22180 */ {(12<<2)|2,{37,110,0}}, +/* 22181 */ {(12<<2)|2,{37,110,0}}, +/* 22182 */ {(12<<2)|2,{37,110,0}}, +/* 22183 */ {(12<<2)|2,{37,110,0}}, +/* 22184 */ {(12<<2)|2,{37,110,0}}, +/* 22185 */ {(12<<2)|2,{37,110,0}}, +/* 22186 */ {(12<<2)|2,{37,110,0}}, +/* 22187 */ {(12<<2)|2,{37,110,0}}, +/* 22188 */ {(12<<2)|2,{37,110,0}}, +/* 22189 */ {(12<<2)|2,{37,110,0}}, +/* 22190 */ {(12<<2)|2,{37,110,0}}, +/* 22191 */ {(12<<2)|2,{37,110,0}}, +/* 22192 */ {(12<<2)|2,{37,112,0}}, +/* 22193 */ {(12<<2)|2,{37,112,0}}, +/* 22194 */ {(12<<2)|2,{37,112,0}}, +/* 22195 */ {(12<<2)|2,{37,112,0}}, +/* 22196 */ {(12<<2)|2,{37,112,0}}, +/* 22197 */ {(12<<2)|2,{37,112,0}}, +/* 22198 */ {(12<<2)|2,{37,112,0}}, +/* 22199 */ {(12<<2)|2,{37,112,0}}, +/* 22200 */ {(12<<2)|2,{37,112,0}}, +/* 22201 */ {(12<<2)|2,{37,112,0}}, +/* 22202 */ {(12<<2)|2,{37,112,0}}, +/* 22203 */ {(12<<2)|2,{37,112,0}}, +/* 22204 */ {(12<<2)|2,{37,112,0}}, +/* 22205 */ {(12<<2)|2,{37,112,0}}, +/* 22206 */ {(12<<2)|2,{37,112,0}}, +/* 22207 */ {(12<<2)|2,{37,112,0}}, +/* 22208 */ {(12<<2)|2,{37,114,0}}, +/* 22209 */ {(12<<2)|2,{37,114,0}}, +/* 22210 */ {(12<<2)|2,{37,114,0}}, +/* 22211 */ {(12<<2)|2,{37,114,0}}, +/* 22212 */ {(12<<2)|2,{37,114,0}}, +/* 22213 */ {(12<<2)|2,{37,114,0}}, +/* 22214 */ {(12<<2)|2,{37,114,0}}, +/* 22215 */ {(12<<2)|2,{37,114,0}}, +/* 22216 */ {(12<<2)|2,{37,114,0}}, +/* 22217 */ {(12<<2)|2,{37,114,0}}, +/* 22218 */ {(12<<2)|2,{37,114,0}}, +/* 22219 */ {(12<<2)|2,{37,114,0}}, +/* 22220 */ {(12<<2)|2,{37,114,0}}, +/* 22221 */ {(12<<2)|2,{37,114,0}}, +/* 22222 */ {(12<<2)|2,{37,114,0}}, +/* 22223 */ {(12<<2)|2,{37,114,0}}, +/* 22224 */ {(12<<2)|2,{37,117,0}}, +/* 22225 */ {(12<<2)|2,{37,117,0}}, +/* 22226 */ {(12<<2)|2,{37,117,0}}, +/* 22227 */ {(12<<2)|2,{37,117,0}}, +/* 22228 */ {(12<<2)|2,{37,117,0}}, +/* 22229 */ {(12<<2)|2,{37,117,0}}, +/* 22230 */ {(12<<2)|2,{37,117,0}}, +/* 22231 */ {(12<<2)|2,{37,117,0}}, +/* 22232 */ {(12<<2)|2,{37,117,0}}, +/* 22233 */ {(12<<2)|2,{37,117,0}}, +/* 22234 */ {(12<<2)|2,{37,117,0}}, +/* 22235 */ {(12<<2)|2,{37,117,0}}, +/* 22236 */ {(12<<2)|2,{37,117,0}}, +/* 22237 */ {(12<<2)|2,{37,117,0}}, +/* 22238 */ {(12<<2)|2,{37,117,0}}, +/* 22239 */ {(12<<2)|2,{37,117,0}}, +/* 22240 */ {(13<<2)|2,{37,58,0}}, +/* 22241 */ {(13<<2)|2,{37,58,0}}, +/* 22242 */ {(13<<2)|2,{37,58,0}}, +/* 22243 */ {(13<<2)|2,{37,58,0}}, +/* 22244 */ {(13<<2)|2,{37,58,0}}, +/* 22245 */ {(13<<2)|2,{37,58,0}}, +/* 22246 */ {(13<<2)|2,{37,58,0}}, +/* 22247 */ {(13<<2)|2,{37,58,0}}, +/* 22248 */ {(13<<2)|2,{37,66,0}}, +/* 22249 */ {(13<<2)|2,{37,66,0}}, +/* 22250 */ {(13<<2)|2,{37,66,0}}, +/* 22251 */ {(13<<2)|2,{37,66,0}}, +/* 22252 */ {(13<<2)|2,{37,66,0}}, +/* 22253 */ {(13<<2)|2,{37,66,0}}, +/* 22254 */ {(13<<2)|2,{37,66,0}}, +/* 22255 */ {(13<<2)|2,{37,66,0}}, +/* 22256 */ {(13<<2)|2,{37,67,0}}, +/* 22257 */ {(13<<2)|2,{37,67,0}}, +/* 22258 */ {(13<<2)|2,{37,67,0}}, +/* 22259 */ {(13<<2)|2,{37,67,0}}, +/* 22260 */ {(13<<2)|2,{37,67,0}}, +/* 22261 */ {(13<<2)|2,{37,67,0}}, +/* 22262 */ {(13<<2)|2,{37,67,0}}, +/* 22263 */ {(13<<2)|2,{37,67,0}}, +/* 22264 */ {(13<<2)|2,{37,68,0}}, +/* 22265 */ {(13<<2)|2,{37,68,0}}, +/* 22266 */ {(13<<2)|2,{37,68,0}}, +/* 22267 */ {(13<<2)|2,{37,68,0}}, +/* 22268 */ {(13<<2)|2,{37,68,0}}, +/* 22269 */ {(13<<2)|2,{37,68,0}}, +/* 22270 */ {(13<<2)|2,{37,68,0}}, +/* 22271 */ {(13<<2)|2,{37,68,0}}, +/* 22272 */ {(13<<2)|2,{37,69,0}}, +/* 22273 */ {(13<<2)|2,{37,69,0}}, +/* 22274 */ {(13<<2)|2,{37,69,0}}, +/* 22275 */ {(13<<2)|2,{37,69,0}}, +/* 22276 */ {(13<<2)|2,{37,69,0}}, +/* 22277 */ {(13<<2)|2,{37,69,0}}, +/* 22278 */ {(13<<2)|2,{37,69,0}}, +/* 22279 */ {(13<<2)|2,{37,69,0}}, +/* 22280 */ {(13<<2)|2,{37,70,0}}, +/* 22281 */ {(13<<2)|2,{37,70,0}}, +/* 22282 */ {(13<<2)|2,{37,70,0}}, +/* 22283 */ {(13<<2)|2,{37,70,0}}, +/* 22284 */ {(13<<2)|2,{37,70,0}}, +/* 22285 */ {(13<<2)|2,{37,70,0}}, +/* 22286 */ {(13<<2)|2,{37,70,0}}, +/* 22287 */ {(13<<2)|2,{37,70,0}}, +/* 22288 */ {(13<<2)|2,{37,71,0}}, +/* 22289 */ {(13<<2)|2,{37,71,0}}, +/* 22290 */ {(13<<2)|2,{37,71,0}}, +/* 22291 */ {(13<<2)|2,{37,71,0}}, +/* 22292 */ {(13<<2)|2,{37,71,0}}, +/* 22293 */ {(13<<2)|2,{37,71,0}}, +/* 22294 */ {(13<<2)|2,{37,71,0}}, +/* 22295 */ {(13<<2)|2,{37,71,0}}, +/* 22296 */ {(13<<2)|2,{37,72,0}}, +/* 22297 */ {(13<<2)|2,{37,72,0}}, +/* 22298 */ {(13<<2)|2,{37,72,0}}, +/* 22299 */ {(13<<2)|2,{37,72,0}}, +/* 22300 */ {(13<<2)|2,{37,72,0}}, +/* 22301 */ {(13<<2)|2,{37,72,0}}, +/* 22302 */ {(13<<2)|2,{37,72,0}}, +/* 22303 */ {(13<<2)|2,{37,72,0}}, +/* 22304 */ {(13<<2)|2,{37,73,0}}, +/* 22305 */ {(13<<2)|2,{37,73,0}}, +/* 22306 */ {(13<<2)|2,{37,73,0}}, +/* 22307 */ {(13<<2)|2,{37,73,0}}, +/* 22308 */ {(13<<2)|2,{37,73,0}}, +/* 22309 */ {(13<<2)|2,{37,73,0}}, +/* 22310 */ {(13<<2)|2,{37,73,0}}, +/* 22311 */ {(13<<2)|2,{37,73,0}}, +/* 22312 */ {(13<<2)|2,{37,74,0}}, +/* 22313 */ {(13<<2)|2,{37,74,0}}, +/* 22314 */ {(13<<2)|2,{37,74,0}}, +/* 22315 */ {(13<<2)|2,{37,74,0}}, +/* 22316 */ {(13<<2)|2,{37,74,0}}, +/* 22317 */ {(13<<2)|2,{37,74,0}}, +/* 22318 */ {(13<<2)|2,{37,74,0}}, +/* 22319 */ {(13<<2)|2,{37,74,0}}, +/* 22320 */ {(13<<2)|2,{37,75,0}}, +/* 22321 */ {(13<<2)|2,{37,75,0}}, +/* 22322 */ {(13<<2)|2,{37,75,0}}, +/* 22323 */ {(13<<2)|2,{37,75,0}}, +/* 22324 */ {(13<<2)|2,{37,75,0}}, +/* 22325 */ {(13<<2)|2,{37,75,0}}, +/* 22326 */ {(13<<2)|2,{37,75,0}}, +/* 22327 */ {(13<<2)|2,{37,75,0}}, +/* 22328 */ {(13<<2)|2,{37,76,0}}, +/* 22329 */ {(13<<2)|2,{37,76,0}}, +/* 22330 */ {(13<<2)|2,{37,76,0}}, +/* 22331 */ {(13<<2)|2,{37,76,0}}, +/* 22332 */ {(13<<2)|2,{37,76,0}}, +/* 22333 */ {(13<<2)|2,{37,76,0}}, +/* 22334 */ {(13<<2)|2,{37,76,0}}, +/* 22335 */ {(13<<2)|2,{37,76,0}}, +/* 22336 */ {(13<<2)|2,{37,77,0}}, +/* 22337 */ {(13<<2)|2,{37,77,0}}, +/* 22338 */ {(13<<2)|2,{37,77,0}}, +/* 22339 */ {(13<<2)|2,{37,77,0}}, +/* 22340 */ {(13<<2)|2,{37,77,0}}, +/* 22341 */ {(13<<2)|2,{37,77,0}}, +/* 22342 */ {(13<<2)|2,{37,77,0}}, +/* 22343 */ {(13<<2)|2,{37,77,0}}, +/* 22344 */ {(13<<2)|2,{37,78,0}}, +/* 22345 */ {(13<<2)|2,{37,78,0}}, +/* 22346 */ {(13<<2)|2,{37,78,0}}, +/* 22347 */ {(13<<2)|2,{37,78,0}}, +/* 22348 */ {(13<<2)|2,{37,78,0}}, +/* 22349 */ {(13<<2)|2,{37,78,0}}, +/* 22350 */ {(13<<2)|2,{37,78,0}}, +/* 22351 */ {(13<<2)|2,{37,78,0}}, +/* 22352 */ {(13<<2)|2,{37,79,0}}, +/* 22353 */ {(13<<2)|2,{37,79,0}}, +/* 22354 */ {(13<<2)|2,{37,79,0}}, +/* 22355 */ {(13<<2)|2,{37,79,0}}, +/* 22356 */ {(13<<2)|2,{37,79,0}}, +/* 22357 */ {(13<<2)|2,{37,79,0}}, +/* 22358 */ {(13<<2)|2,{37,79,0}}, +/* 22359 */ {(13<<2)|2,{37,79,0}}, +/* 22360 */ {(13<<2)|2,{37,80,0}}, +/* 22361 */ {(13<<2)|2,{37,80,0}}, +/* 22362 */ {(13<<2)|2,{37,80,0}}, +/* 22363 */ {(13<<2)|2,{37,80,0}}, +/* 22364 */ {(13<<2)|2,{37,80,0}}, +/* 22365 */ {(13<<2)|2,{37,80,0}}, +/* 22366 */ {(13<<2)|2,{37,80,0}}, +/* 22367 */ {(13<<2)|2,{37,80,0}}, +/* 22368 */ {(13<<2)|2,{37,81,0}}, +/* 22369 */ {(13<<2)|2,{37,81,0}}, +/* 22370 */ {(13<<2)|2,{37,81,0}}, +/* 22371 */ {(13<<2)|2,{37,81,0}}, +/* 22372 */ {(13<<2)|2,{37,81,0}}, +/* 22373 */ {(13<<2)|2,{37,81,0}}, +/* 22374 */ {(13<<2)|2,{37,81,0}}, +/* 22375 */ {(13<<2)|2,{37,81,0}}, +/* 22376 */ {(13<<2)|2,{37,82,0}}, +/* 22377 */ {(13<<2)|2,{37,82,0}}, +/* 22378 */ {(13<<2)|2,{37,82,0}}, +/* 22379 */ {(13<<2)|2,{37,82,0}}, +/* 22380 */ {(13<<2)|2,{37,82,0}}, +/* 22381 */ {(13<<2)|2,{37,82,0}}, +/* 22382 */ {(13<<2)|2,{37,82,0}}, +/* 22383 */ {(13<<2)|2,{37,82,0}}, +/* 22384 */ {(13<<2)|2,{37,83,0}}, +/* 22385 */ {(13<<2)|2,{37,83,0}}, +/* 22386 */ {(13<<2)|2,{37,83,0}}, +/* 22387 */ {(13<<2)|2,{37,83,0}}, +/* 22388 */ {(13<<2)|2,{37,83,0}}, +/* 22389 */ {(13<<2)|2,{37,83,0}}, +/* 22390 */ {(13<<2)|2,{37,83,0}}, +/* 22391 */ {(13<<2)|2,{37,83,0}}, +/* 22392 */ {(13<<2)|2,{37,84,0}}, +/* 22393 */ {(13<<2)|2,{37,84,0}}, +/* 22394 */ {(13<<2)|2,{37,84,0}}, +/* 22395 */ {(13<<2)|2,{37,84,0}}, +/* 22396 */ {(13<<2)|2,{37,84,0}}, +/* 22397 */ {(13<<2)|2,{37,84,0}}, +/* 22398 */ {(13<<2)|2,{37,84,0}}, +/* 22399 */ {(13<<2)|2,{37,84,0}}, +/* 22400 */ {(13<<2)|2,{37,85,0}}, +/* 22401 */ {(13<<2)|2,{37,85,0}}, +/* 22402 */ {(13<<2)|2,{37,85,0}}, +/* 22403 */ {(13<<2)|2,{37,85,0}}, +/* 22404 */ {(13<<2)|2,{37,85,0}}, +/* 22405 */ {(13<<2)|2,{37,85,0}}, +/* 22406 */ {(13<<2)|2,{37,85,0}}, +/* 22407 */ {(13<<2)|2,{37,85,0}}, +/* 22408 */ {(13<<2)|2,{37,86,0}}, +/* 22409 */ {(13<<2)|2,{37,86,0}}, +/* 22410 */ {(13<<2)|2,{37,86,0}}, +/* 22411 */ {(13<<2)|2,{37,86,0}}, +/* 22412 */ {(13<<2)|2,{37,86,0}}, +/* 22413 */ {(13<<2)|2,{37,86,0}}, +/* 22414 */ {(13<<2)|2,{37,86,0}}, +/* 22415 */ {(13<<2)|2,{37,86,0}}, +/* 22416 */ {(13<<2)|2,{37,87,0}}, +/* 22417 */ {(13<<2)|2,{37,87,0}}, +/* 22418 */ {(13<<2)|2,{37,87,0}}, +/* 22419 */ {(13<<2)|2,{37,87,0}}, +/* 22420 */ {(13<<2)|2,{37,87,0}}, +/* 22421 */ {(13<<2)|2,{37,87,0}}, +/* 22422 */ {(13<<2)|2,{37,87,0}}, +/* 22423 */ {(13<<2)|2,{37,87,0}}, +/* 22424 */ {(13<<2)|2,{37,89,0}}, +/* 22425 */ {(13<<2)|2,{37,89,0}}, +/* 22426 */ {(13<<2)|2,{37,89,0}}, +/* 22427 */ {(13<<2)|2,{37,89,0}}, +/* 22428 */ {(13<<2)|2,{37,89,0}}, +/* 22429 */ {(13<<2)|2,{37,89,0}}, +/* 22430 */ {(13<<2)|2,{37,89,0}}, +/* 22431 */ {(13<<2)|2,{37,89,0}}, +/* 22432 */ {(13<<2)|2,{37,106,0}}, +/* 22433 */ {(13<<2)|2,{37,106,0}}, +/* 22434 */ {(13<<2)|2,{37,106,0}}, +/* 22435 */ {(13<<2)|2,{37,106,0}}, +/* 22436 */ {(13<<2)|2,{37,106,0}}, +/* 22437 */ {(13<<2)|2,{37,106,0}}, +/* 22438 */ {(13<<2)|2,{37,106,0}}, +/* 22439 */ {(13<<2)|2,{37,106,0}}, +/* 22440 */ {(13<<2)|2,{37,107,0}}, +/* 22441 */ {(13<<2)|2,{37,107,0}}, +/* 22442 */ {(13<<2)|2,{37,107,0}}, +/* 22443 */ {(13<<2)|2,{37,107,0}}, +/* 22444 */ {(13<<2)|2,{37,107,0}}, +/* 22445 */ {(13<<2)|2,{37,107,0}}, +/* 22446 */ {(13<<2)|2,{37,107,0}}, +/* 22447 */ {(13<<2)|2,{37,107,0}}, +/* 22448 */ {(13<<2)|2,{37,113,0}}, +/* 22449 */ {(13<<2)|2,{37,113,0}}, +/* 22450 */ {(13<<2)|2,{37,113,0}}, +/* 22451 */ {(13<<2)|2,{37,113,0}}, +/* 22452 */ {(13<<2)|2,{37,113,0}}, +/* 22453 */ {(13<<2)|2,{37,113,0}}, +/* 22454 */ {(13<<2)|2,{37,113,0}}, +/* 22455 */ {(13<<2)|2,{37,113,0}}, +/* 22456 */ {(13<<2)|2,{37,118,0}}, +/* 22457 */ {(13<<2)|2,{37,118,0}}, +/* 22458 */ {(13<<2)|2,{37,118,0}}, +/* 22459 */ {(13<<2)|2,{37,118,0}}, +/* 22460 */ {(13<<2)|2,{37,118,0}}, +/* 22461 */ {(13<<2)|2,{37,118,0}}, +/* 22462 */ {(13<<2)|2,{37,118,0}}, +/* 22463 */ {(13<<2)|2,{37,118,0}}, +/* 22464 */ {(13<<2)|2,{37,119,0}}, +/* 22465 */ {(13<<2)|2,{37,119,0}}, +/* 22466 */ {(13<<2)|2,{37,119,0}}, +/* 22467 */ {(13<<2)|2,{37,119,0}}, +/* 22468 */ {(13<<2)|2,{37,119,0}}, +/* 22469 */ {(13<<2)|2,{37,119,0}}, +/* 22470 */ {(13<<2)|2,{37,119,0}}, +/* 22471 */ {(13<<2)|2,{37,119,0}}, +/* 22472 */ {(13<<2)|2,{37,120,0}}, +/* 22473 */ {(13<<2)|2,{37,120,0}}, +/* 22474 */ {(13<<2)|2,{37,120,0}}, +/* 22475 */ {(13<<2)|2,{37,120,0}}, +/* 22476 */ {(13<<2)|2,{37,120,0}}, +/* 22477 */ {(13<<2)|2,{37,120,0}}, +/* 22478 */ {(13<<2)|2,{37,120,0}}, +/* 22479 */ {(13<<2)|2,{37,120,0}}, +/* 22480 */ {(13<<2)|2,{37,121,0}}, +/* 22481 */ {(13<<2)|2,{37,121,0}}, +/* 22482 */ {(13<<2)|2,{37,121,0}}, +/* 22483 */ {(13<<2)|2,{37,121,0}}, +/* 22484 */ {(13<<2)|2,{37,121,0}}, +/* 22485 */ {(13<<2)|2,{37,121,0}}, +/* 22486 */ {(13<<2)|2,{37,121,0}}, +/* 22487 */ {(13<<2)|2,{37,121,0}}, +/* 22488 */ {(13<<2)|2,{37,122,0}}, +/* 22489 */ {(13<<2)|2,{37,122,0}}, +/* 22490 */ {(13<<2)|2,{37,122,0}}, +/* 22491 */ {(13<<2)|2,{37,122,0}}, +/* 22492 */ {(13<<2)|2,{37,122,0}}, +/* 22493 */ {(13<<2)|2,{37,122,0}}, +/* 22494 */ {(13<<2)|2,{37,122,0}}, +/* 22495 */ {(13<<2)|2,{37,122,0}}, +/* 22496 */ {(14<<2)|2,{37,38,0}}, +/* 22497 */ {(14<<2)|2,{37,38,0}}, +/* 22498 */ {(14<<2)|2,{37,38,0}}, +/* 22499 */ {(14<<2)|2,{37,38,0}}, +/* 22500 */ {(14<<2)|2,{37,42,0}}, +/* 22501 */ {(14<<2)|2,{37,42,0}}, +/* 22502 */ {(14<<2)|2,{37,42,0}}, +/* 22503 */ {(14<<2)|2,{37,42,0}}, +/* 22504 */ {(14<<2)|2,{37,44,0}}, +/* 22505 */ {(14<<2)|2,{37,44,0}}, +/* 22506 */ {(14<<2)|2,{37,44,0}}, +/* 22507 */ {(14<<2)|2,{37,44,0}}, +/* 22508 */ {(14<<2)|2,{37,59,0}}, +/* 22509 */ {(14<<2)|2,{37,59,0}}, +/* 22510 */ {(14<<2)|2,{37,59,0}}, +/* 22511 */ {(14<<2)|2,{37,59,0}}, +/* 22512 */ {(14<<2)|2,{37,88,0}}, +/* 22513 */ {(14<<2)|2,{37,88,0}}, +/* 22514 */ {(14<<2)|2,{37,88,0}}, +/* 22515 */ {(14<<2)|2,{37,88,0}}, +/* 22516 */ {(14<<2)|2,{37,90,0}}, +/* 22517 */ {(14<<2)|2,{37,90,0}}, +/* 22518 */ {(14<<2)|2,{37,90,0}}, +/* 22519 */ {(14<<2)|2,{37,90,0}}, +/* 22520 */ {(16<<2)|2,{37,33,0}}, +/* 22521 */ {(16<<2)|2,{37,34,0}}, +/* 22522 */ {(16<<2)|2,{37,40,0}}, +/* 22523 */ {(16<<2)|2,{37,41,0}}, +/* 22524 */ {(16<<2)|2,{37,63,0}}, +/* 22525 */ {(6<<2)|1,{37,0,0}}, +/* 22526 */ {(6<<2)|1,{37,0,0}}, +/* 22527 */ {(6<<2)|1,{37,0,0}}, +/* 22528 */ {(16<<2)|3,{45,48,48}}, +/* 22529 */ {(16<<2)|3,{45,48,49}}, +/* 22530 */ {(16<<2)|3,{45,48,50}}, +/* 22531 */ {(16<<2)|3,{45,48,97}}, +/* 22532 */ {(16<<2)|3,{45,48,99}}, +/* 22533 */ {(16<<2)|3,{45,48,101}}, +/* 22534 */ {(16<<2)|3,{45,48,105}}, +/* 22535 */ {(16<<2)|3,{45,48,111}}, +/* 22536 */ {(16<<2)|3,{45,48,115}}, +/* 22537 */ {(16<<2)|3,{45,48,116}}, +/* 22538 */ {(11<<2)|2,{45,48,0}}, +/* 22539 */ {(11<<2)|2,{45,48,0}}, +/* 22540 */ {(11<<2)|2,{45,48,0}}, +/* 22541 */ {(11<<2)|2,{45,48,0}}, +/* 22542 */ {(11<<2)|2,{45,48,0}}, +/* 22543 */ {(11<<2)|2,{45,48,0}}, +/* 22544 */ {(11<<2)|2,{45,48,0}}, +/* 22545 */ {(11<<2)|2,{45,48,0}}, +/* 22546 */ {(11<<2)|2,{45,48,0}}, +/* 22547 */ {(11<<2)|2,{45,48,0}}, +/* 22548 */ {(11<<2)|2,{45,48,0}}, +/* 22549 */ {(11<<2)|2,{45,48,0}}, +/* 22550 */ {(11<<2)|2,{45,48,0}}, +/* 22551 */ {(11<<2)|2,{45,48,0}}, +/* 22552 */ {(11<<2)|2,{45,48,0}}, +/* 22553 */ {(11<<2)|2,{45,48,0}}, +/* 22554 */ {(11<<2)|2,{45,48,0}}, +/* 22555 */ {(11<<2)|2,{45,48,0}}, +/* 22556 */ {(11<<2)|2,{45,48,0}}, +/* 22557 */ {(11<<2)|2,{45,48,0}}, +/* 22558 */ {(11<<2)|2,{45,48,0}}, +/* 22559 */ {(11<<2)|2,{45,48,0}}, +/* 22560 */ {(16<<2)|3,{45,49,48}}, +/* 22561 */ {(16<<2)|3,{45,49,49}}, +/* 22562 */ {(16<<2)|3,{45,49,50}}, +/* 22563 */ {(16<<2)|3,{45,49,97}}, +/* 22564 */ {(16<<2)|3,{45,49,99}}, +/* 22565 */ {(16<<2)|3,{45,49,101}}, +/* 22566 */ {(16<<2)|3,{45,49,105}}, +/* 22567 */ {(16<<2)|3,{45,49,111}}, +/* 22568 */ {(16<<2)|3,{45,49,115}}, +/* 22569 */ {(16<<2)|3,{45,49,116}}, +/* 22570 */ {(11<<2)|2,{45,49,0}}, +/* 22571 */ {(11<<2)|2,{45,49,0}}, +/* 22572 */ {(11<<2)|2,{45,49,0}}, +/* 22573 */ {(11<<2)|2,{45,49,0}}, +/* 22574 */ {(11<<2)|2,{45,49,0}}, +/* 22575 */ {(11<<2)|2,{45,49,0}}, +/* 22576 */ {(11<<2)|2,{45,49,0}}, +/* 22577 */ {(11<<2)|2,{45,49,0}}, +/* 22578 */ {(11<<2)|2,{45,49,0}}, +/* 22579 */ {(11<<2)|2,{45,49,0}}, +/* 22580 */ {(11<<2)|2,{45,49,0}}, +/* 22581 */ {(11<<2)|2,{45,49,0}}, +/* 22582 */ {(11<<2)|2,{45,49,0}}, +/* 22583 */ {(11<<2)|2,{45,49,0}}, +/* 22584 */ {(11<<2)|2,{45,49,0}}, +/* 22585 */ {(11<<2)|2,{45,49,0}}, +/* 22586 */ {(11<<2)|2,{45,49,0}}, +/* 22587 */ {(11<<2)|2,{45,49,0}}, +/* 22588 */ {(11<<2)|2,{45,49,0}}, +/* 22589 */ {(11<<2)|2,{45,49,0}}, +/* 22590 */ {(11<<2)|2,{45,49,0}}, +/* 22591 */ {(11<<2)|2,{45,49,0}}, +/* 22592 */ {(16<<2)|3,{45,50,48}}, +/* 22593 */ {(16<<2)|3,{45,50,49}}, +/* 22594 */ {(16<<2)|3,{45,50,50}}, +/* 22595 */ {(16<<2)|3,{45,50,97}}, +/* 22596 */ {(16<<2)|3,{45,50,99}}, +/* 22597 */ {(16<<2)|3,{45,50,101}}, +/* 22598 */ {(16<<2)|3,{45,50,105}}, +/* 22599 */ {(16<<2)|3,{45,50,111}}, +/* 22600 */ {(16<<2)|3,{45,50,115}}, +/* 22601 */ {(16<<2)|3,{45,50,116}}, +/* 22602 */ {(11<<2)|2,{45,50,0}}, +/* 22603 */ {(11<<2)|2,{45,50,0}}, +/* 22604 */ {(11<<2)|2,{45,50,0}}, +/* 22605 */ {(11<<2)|2,{45,50,0}}, +/* 22606 */ {(11<<2)|2,{45,50,0}}, +/* 22607 */ {(11<<2)|2,{45,50,0}}, +/* 22608 */ {(11<<2)|2,{45,50,0}}, +/* 22609 */ {(11<<2)|2,{45,50,0}}, +/* 22610 */ {(11<<2)|2,{45,50,0}}, +/* 22611 */ {(11<<2)|2,{45,50,0}}, +/* 22612 */ {(11<<2)|2,{45,50,0}}, +/* 22613 */ {(11<<2)|2,{45,50,0}}, +/* 22614 */ {(11<<2)|2,{45,50,0}}, +/* 22615 */ {(11<<2)|2,{45,50,0}}, +/* 22616 */ {(11<<2)|2,{45,50,0}}, +/* 22617 */ {(11<<2)|2,{45,50,0}}, +/* 22618 */ {(11<<2)|2,{45,50,0}}, +/* 22619 */ {(11<<2)|2,{45,50,0}}, +/* 22620 */ {(11<<2)|2,{45,50,0}}, +/* 22621 */ {(11<<2)|2,{45,50,0}}, +/* 22622 */ {(11<<2)|2,{45,50,0}}, +/* 22623 */ {(11<<2)|2,{45,50,0}}, +/* 22624 */ {(16<<2)|3,{45,97,48}}, +/* 22625 */ {(16<<2)|3,{45,97,49}}, +/* 22626 */ {(16<<2)|3,{45,97,50}}, +/* 22627 */ {(16<<2)|3,{45,97,97}}, +/* 22628 */ {(16<<2)|3,{45,97,99}}, +/* 22629 */ {(16<<2)|3,{45,97,101}}, +/* 22630 */ {(16<<2)|3,{45,97,105}}, +/* 22631 */ {(16<<2)|3,{45,97,111}}, +/* 22632 */ {(16<<2)|3,{45,97,115}}, +/* 22633 */ {(16<<2)|3,{45,97,116}}, +/* 22634 */ {(11<<2)|2,{45,97,0}}, +/* 22635 */ {(11<<2)|2,{45,97,0}}, +/* 22636 */ {(11<<2)|2,{45,97,0}}, +/* 22637 */ {(11<<2)|2,{45,97,0}}, +/* 22638 */ {(11<<2)|2,{45,97,0}}, +/* 22639 */ {(11<<2)|2,{45,97,0}}, +/* 22640 */ {(11<<2)|2,{45,97,0}}, +/* 22641 */ {(11<<2)|2,{45,97,0}}, +/* 22642 */ {(11<<2)|2,{45,97,0}}, +/* 22643 */ {(11<<2)|2,{45,97,0}}, +/* 22644 */ {(11<<2)|2,{45,97,0}}, +/* 22645 */ {(11<<2)|2,{45,97,0}}, +/* 22646 */ {(11<<2)|2,{45,97,0}}, +/* 22647 */ {(11<<2)|2,{45,97,0}}, +/* 22648 */ {(11<<2)|2,{45,97,0}}, +/* 22649 */ {(11<<2)|2,{45,97,0}}, +/* 22650 */ {(11<<2)|2,{45,97,0}}, +/* 22651 */ {(11<<2)|2,{45,97,0}}, +/* 22652 */ {(11<<2)|2,{45,97,0}}, +/* 22653 */ {(11<<2)|2,{45,97,0}}, +/* 22654 */ {(11<<2)|2,{45,97,0}}, +/* 22655 */ {(11<<2)|2,{45,97,0}}, +/* 22656 */ {(16<<2)|3,{45,99,48}}, +/* 22657 */ {(16<<2)|3,{45,99,49}}, +/* 22658 */ {(16<<2)|3,{45,99,50}}, +/* 22659 */ {(16<<2)|3,{45,99,97}}, +/* 22660 */ {(16<<2)|3,{45,99,99}}, +/* 22661 */ {(16<<2)|3,{45,99,101}}, +/* 22662 */ {(16<<2)|3,{45,99,105}}, +/* 22663 */ {(16<<2)|3,{45,99,111}}, +/* 22664 */ {(16<<2)|3,{45,99,115}}, +/* 22665 */ {(16<<2)|3,{45,99,116}}, +/* 22666 */ {(11<<2)|2,{45,99,0}}, +/* 22667 */ {(11<<2)|2,{45,99,0}}, +/* 22668 */ {(11<<2)|2,{45,99,0}}, +/* 22669 */ {(11<<2)|2,{45,99,0}}, +/* 22670 */ {(11<<2)|2,{45,99,0}}, +/* 22671 */ {(11<<2)|2,{45,99,0}}, +/* 22672 */ {(11<<2)|2,{45,99,0}}, +/* 22673 */ {(11<<2)|2,{45,99,0}}, +/* 22674 */ {(11<<2)|2,{45,99,0}}, +/* 22675 */ {(11<<2)|2,{45,99,0}}, +/* 22676 */ {(11<<2)|2,{45,99,0}}, +/* 22677 */ {(11<<2)|2,{45,99,0}}, +/* 22678 */ {(11<<2)|2,{45,99,0}}, +/* 22679 */ {(11<<2)|2,{45,99,0}}, +/* 22680 */ {(11<<2)|2,{45,99,0}}, +/* 22681 */ {(11<<2)|2,{45,99,0}}, +/* 22682 */ {(11<<2)|2,{45,99,0}}, +/* 22683 */ {(11<<2)|2,{45,99,0}}, +/* 22684 */ {(11<<2)|2,{45,99,0}}, +/* 22685 */ {(11<<2)|2,{45,99,0}}, +/* 22686 */ {(11<<2)|2,{45,99,0}}, +/* 22687 */ {(11<<2)|2,{45,99,0}}, +/* 22688 */ {(16<<2)|3,{45,101,48}}, +/* 22689 */ {(16<<2)|3,{45,101,49}}, +/* 22690 */ {(16<<2)|3,{45,101,50}}, +/* 22691 */ {(16<<2)|3,{45,101,97}}, +/* 22692 */ {(16<<2)|3,{45,101,99}}, +/* 22693 */ {(16<<2)|3,{45,101,101}}, +/* 22694 */ {(16<<2)|3,{45,101,105}}, +/* 22695 */ {(16<<2)|3,{45,101,111}}, +/* 22696 */ {(16<<2)|3,{45,101,115}}, +/* 22697 */ {(16<<2)|3,{45,101,116}}, +/* 22698 */ {(11<<2)|2,{45,101,0}}, +/* 22699 */ {(11<<2)|2,{45,101,0}}, +/* 22700 */ {(11<<2)|2,{45,101,0}}, +/* 22701 */ {(11<<2)|2,{45,101,0}}, +/* 22702 */ {(11<<2)|2,{45,101,0}}, +/* 22703 */ {(11<<2)|2,{45,101,0}}, +/* 22704 */ {(11<<2)|2,{45,101,0}}, +/* 22705 */ {(11<<2)|2,{45,101,0}}, +/* 22706 */ {(11<<2)|2,{45,101,0}}, +/* 22707 */ {(11<<2)|2,{45,101,0}}, +/* 22708 */ {(11<<2)|2,{45,101,0}}, +/* 22709 */ {(11<<2)|2,{45,101,0}}, +/* 22710 */ {(11<<2)|2,{45,101,0}}, +/* 22711 */ {(11<<2)|2,{45,101,0}}, +/* 22712 */ {(11<<2)|2,{45,101,0}}, +/* 22713 */ {(11<<2)|2,{45,101,0}}, +/* 22714 */ {(11<<2)|2,{45,101,0}}, +/* 22715 */ {(11<<2)|2,{45,101,0}}, +/* 22716 */ {(11<<2)|2,{45,101,0}}, +/* 22717 */ {(11<<2)|2,{45,101,0}}, +/* 22718 */ {(11<<2)|2,{45,101,0}}, +/* 22719 */ {(11<<2)|2,{45,101,0}}, +/* 22720 */ {(16<<2)|3,{45,105,48}}, +/* 22721 */ {(16<<2)|3,{45,105,49}}, +/* 22722 */ {(16<<2)|3,{45,105,50}}, +/* 22723 */ {(16<<2)|3,{45,105,97}}, +/* 22724 */ {(16<<2)|3,{45,105,99}}, +/* 22725 */ {(16<<2)|3,{45,105,101}}, +/* 22726 */ {(16<<2)|3,{45,105,105}}, +/* 22727 */ {(16<<2)|3,{45,105,111}}, +/* 22728 */ {(16<<2)|3,{45,105,115}}, +/* 22729 */ {(16<<2)|3,{45,105,116}}, +/* 22730 */ {(11<<2)|2,{45,105,0}}, +/* 22731 */ {(11<<2)|2,{45,105,0}}, +/* 22732 */ {(11<<2)|2,{45,105,0}}, +/* 22733 */ {(11<<2)|2,{45,105,0}}, +/* 22734 */ {(11<<2)|2,{45,105,0}}, +/* 22735 */ {(11<<2)|2,{45,105,0}}, +/* 22736 */ {(11<<2)|2,{45,105,0}}, +/* 22737 */ {(11<<2)|2,{45,105,0}}, +/* 22738 */ {(11<<2)|2,{45,105,0}}, +/* 22739 */ {(11<<2)|2,{45,105,0}}, +/* 22740 */ {(11<<2)|2,{45,105,0}}, +/* 22741 */ {(11<<2)|2,{45,105,0}}, +/* 22742 */ {(11<<2)|2,{45,105,0}}, +/* 22743 */ {(11<<2)|2,{45,105,0}}, +/* 22744 */ {(11<<2)|2,{45,105,0}}, +/* 22745 */ {(11<<2)|2,{45,105,0}}, +/* 22746 */ {(11<<2)|2,{45,105,0}}, +/* 22747 */ {(11<<2)|2,{45,105,0}}, +/* 22748 */ {(11<<2)|2,{45,105,0}}, +/* 22749 */ {(11<<2)|2,{45,105,0}}, +/* 22750 */ {(11<<2)|2,{45,105,0}}, +/* 22751 */ {(11<<2)|2,{45,105,0}}, +/* 22752 */ {(16<<2)|3,{45,111,48}}, +/* 22753 */ {(16<<2)|3,{45,111,49}}, +/* 22754 */ {(16<<2)|3,{45,111,50}}, +/* 22755 */ {(16<<2)|3,{45,111,97}}, +/* 22756 */ {(16<<2)|3,{45,111,99}}, +/* 22757 */ {(16<<2)|3,{45,111,101}}, +/* 22758 */ {(16<<2)|3,{45,111,105}}, +/* 22759 */ {(16<<2)|3,{45,111,111}}, +/* 22760 */ {(16<<2)|3,{45,111,115}}, +/* 22761 */ {(16<<2)|3,{45,111,116}}, +/* 22762 */ {(11<<2)|2,{45,111,0}}, +/* 22763 */ {(11<<2)|2,{45,111,0}}, +/* 22764 */ {(11<<2)|2,{45,111,0}}, +/* 22765 */ {(11<<2)|2,{45,111,0}}, +/* 22766 */ {(11<<2)|2,{45,111,0}}, +/* 22767 */ {(11<<2)|2,{45,111,0}}, +/* 22768 */ {(11<<2)|2,{45,111,0}}, +/* 22769 */ {(11<<2)|2,{45,111,0}}, +/* 22770 */ {(11<<2)|2,{45,111,0}}, +/* 22771 */ {(11<<2)|2,{45,111,0}}, +/* 22772 */ {(11<<2)|2,{45,111,0}}, +/* 22773 */ {(11<<2)|2,{45,111,0}}, +/* 22774 */ {(11<<2)|2,{45,111,0}}, +/* 22775 */ {(11<<2)|2,{45,111,0}}, +/* 22776 */ {(11<<2)|2,{45,111,0}}, +/* 22777 */ {(11<<2)|2,{45,111,0}}, +/* 22778 */ {(11<<2)|2,{45,111,0}}, +/* 22779 */ {(11<<2)|2,{45,111,0}}, +/* 22780 */ {(11<<2)|2,{45,111,0}}, +/* 22781 */ {(11<<2)|2,{45,111,0}}, +/* 22782 */ {(11<<2)|2,{45,111,0}}, +/* 22783 */ {(11<<2)|2,{45,111,0}}, +/* 22784 */ {(16<<2)|3,{45,115,48}}, +/* 22785 */ {(16<<2)|3,{45,115,49}}, +/* 22786 */ {(16<<2)|3,{45,115,50}}, +/* 22787 */ {(16<<2)|3,{45,115,97}}, +/* 22788 */ {(16<<2)|3,{45,115,99}}, +/* 22789 */ {(16<<2)|3,{45,115,101}}, +/* 22790 */ {(16<<2)|3,{45,115,105}}, +/* 22791 */ {(16<<2)|3,{45,115,111}}, +/* 22792 */ {(16<<2)|3,{45,115,115}}, +/* 22793 */ {(16<<2)|3,{45,115,116}}, +/* 22794 */ {(11<<2)|2,{45,115,0}}, +/* 22795 */ {(11<<2)|2,{45,115,0}}, +/* 22796 */ {(11<<2)|2,{45,115,0}}, +/* 22797 */ {(11<<2)|2,{45,115,0}}, +/* 22798 */ {(11<<2)|2,{45,115,0}}, +/* 22799 */ {(11<<2)|2,{45,115,0}}, +/* 22800 */ {(11<<2)|2,{45,115,0}}, +/* 22801 */ {(11<<2)|2,{45,115,0}}, +/* 22802 */ {(11<<2)|2,{45,115,0}}, +/* 22803 */ {(11<<2)|2,{45,115,0}}, +/* 22804 */ {(11<<2)|2,{45,115,0}}, +/* 22805 */ {(11<<2)|2,{45,115,0}}, +/* 22806 */ {(11<<2)|2,{45,115,0}}, +/* 22807 */ {(11<<2)|2,{45,115,0}}, +/* 22808 */ {(11<<2)|2,{45,115,0}}, +/* 22809 */ {(11<<2)|2,{45,115,0}}, +/* 22810 */ {(11<<2)|2,{45,115,0}}, +/* 22811 */ {(11<<2)|2,{45,115,0}}, +/* 22812 */ {(11<<2)|2,{45,115,0}}, +/* 22813 */ {(11<<2)|2,{45,115,0}}, +/* 22814 */ {(11<<2)|2,{45,115,0}}, +/* 22815 */ {(11<<2)|2,{45,115,0}}, +/* 22816 */ {(16<<2)|3,{45,116,48}}, +/* 22817 */ {(16<<2)|3,{45,116,49}}, +/* 22818 */ {(16<<2)|3,{45,116,50}}, +/* 22819 */ {(16<<2)|3,{45,116,97}}, +/* 22820 */ {(16<<2)|3,{45,116,99}}, +/* 22821 */ {(16<<2)|3,{45,116,101}}, +/* 22822 */ {(16<<2)|3,{45,116,105}}, +/* 22823 */ {(16<<2)|3,{45,116,111}}, +/* 22824 */ {(16<<2)|3,{45,116,115}}, +/* 22825 */ {(16<<2)|3,{45,116,116}}, +/* 22826 */ {(11<<2)|2,{45,116,0}}, +/* 22827 */ {(11<<2)|2,{45,116,0}}, +/* 22828 */ {(11<<2)|2,{45,116,0}}, +/* 22829 */ {(11<<2)|2,{45,116,0}}, +/* 22830 */ {(11<<2)|2,{45,116,0}}, +/* 22831 */ {(11<<2)|2,{45,116,0}}, +/* 22832 */ {(11<<2)|2,{45,116,0}}, +/* 22833 */ {(11<<2)|2,{45,116,0}}, +/* 22834 */ {(11<<2)|2,{45,116,0}}, +/* 22835 */ {(11<<2)|2,{45,116,0}}, +/* 22836 */ {(11<<2)|2,{45,116,0}}, +/* 22837 */ {(11<<2)|2,{45,116,0}}, +/* 22838 */ {(11<<2)|2,{45,116,0}}, +/* 22839 */ {(11<<2)|2,{45,116,0}}, +/* 22840 */ {(11<<2)|2,{45,116,0}}, +/* 22841 */ {(11<<2)|2,{45,116,0}}, +/* 22842 */ {(11<<2)|2,{45,116,0}}, +/* 22843 */ {(11<<2)|2,{45,116,0}}, +/* 22844 */ {(11<<2)|2,{45,116,0}}, +/* 22845 */ {(11<<2)|2,{45,116,0}}, +/* 22846 */ {(11<<2)|2,{45,116,0}}, +/* 22847 */ {(11<<2)|2,{45,116,0}}, +/* 22848 */ {(12<<2)|2,{45,32,0}}, +/* 22849 */ {(12<<2)|2,{45,32,0}}, +/* 22850 */ {(12<<2)|2,{45,32,0}}, +/* 22851 */ {(12<<2)|2,{45,32,0}}, +/* 22852 */ {(12<<2)|2,{45,32,0}}, +/* 22853 */ {(12<<2)|2,{45,32,0}}, +/* 22854 */ {(12<<2)|2,{45,32,0}}, +/* 22855 */ {(12<<2)|2,{45,32,0}}, +/* 22856 */ {(12<<2)|2,{45,32,0}}, +/* 22857 */ {(12<<2)|2,{45,32,0}}, +/* 22858 */ {(12<<2)|2,{45,32,0}}, +/* 22859 */ {(12<<2)|2,{45,32,0}}, +/* 22860 */ {(12<<2)|2,{45,32,0}}, +/* 22861 */ {(12<<2)|2,{45,32,0}}, +/* 22862 */ {(12<<2)|2,{45,32,0}}, +/* 22863 */ {(12<<2)|2,{45,32,0}}, +/* 22864 */ {(12<<2)|2,{45,37,0}}, +/* 22865 */ {(12<<2)|2,{45,37,0}}, +/* 22866 */ {(12<<2)|2,{45,37,0}}, +/* 22867 */ {(12<<2)|2,{45,37,0}}, +/* 22868 */ {(12<<2)|2,{45,37,0}}, +/* 22869 */ {(12<<2)|2,{45,37,0}}, +/* 22870 */ {(12<<2)|2,{45,37,0}}, +/* 22871 */ {(12<<2)|2,{45,37,0}}, +/* 22872 */ {(12<<2)|2,{45,37,0}}, +/* 22873 */ {(12<<2)|2,{45,37,0}}, +/* 22874 */ {(12<<2)|2,{45,37,0}}, +/* 22875 */ {(12<<2)|2,{45,37,0}}, +/* 22876 */ {(12<<2)|2,{45,37,0}}, +/* 22877 */ {(12<<2)|2,{45,37,0}}, +/* 22878 */ {(12<<2)|2,{45,37,0}}, +/* 22879 */ {(12<<2)|2,{45,37,0}}, +/* 22880 */ {(12<<2)|2,{45,45,0}}, +/* 22881 */ {(12<<2)|2,{45,45,0}}, +/* 22882 */ {(12<<2)|2,{45,45,0}}, +/* 22883 */ {(12<<2)|2,{45,45,0}}, +/* 22884 */ {(12<<2)|2,{45,45,0}}, +/* 22885 */ {(12<<2)|2,{45,45,0}}, +/* 22886 */ {(12<<2)|2,{45,45,0}}, +/* 22887 */ {(12<<2)|2,{45,45,0}}, +/* 22888 */ {(12<<2)|2,{45,45,0}}, +/* 22889 */ {(12<<2)|2,{45,45,0}}, +/* 22890 */ {(12<<2)|2,{45,45,0}}, +/* 22891 */ {(12<<2)|2,{45,45,0}}, +/* 22892 */ {(12<<2)|2,{45,45,0}}, +/* 22893 */ {(12<<2)|2,{45,45,0}}, +/* 22894 */ {(12<<2)|2,{45,45,0}}, +/* 22895 */ {(12<<2)|2,{45,45,0}}, +/* 22896 */ {(12<<2)|2,{45,46,0}}, +/* 22897 */ {(12<<2)|2,{45,46,0}}, +/* 22898 */ {(12<<2)|2,{45,46,0}}, +/* 22899 */ {(12<<2)|2,{45,46,0}}, +/* 22900 */ {(12<<2)|2,{45,46,0}}, +/* 22901 */ {(12<<2)|2,{45,46,0}}, +/* 22902 */ {(12<<2)|2,{45,46,0}}, +/* 22903 */ {(12<<2)|2,{45,46,0}}, +/* 22904 */ {(12<<2)|2,{45,46,0}}, +/* 22905 */ {(12<<2)|2,{45,46,0}}, +/* 22906 */ {(12<<2)|2,{45,46,0}}, +/* 22907 */ {(12<<2)|2,{45,46,0}}, +/* 22908 */ {(12<<2)|2,{45,46,0}}, +/* 22909 */ {(12<<2)|2,{45,46,0}}, +/* 22910 */ {(12<<2)|2,{45,46,0}}, +/* 22911 */ {(12<<2)|2,{45,46,0}}, +/* 22912 */ {(12<<2)|2,{45,47,0}}, +/* 22913 */ {(12<<2)|2,{45,47,0}}, +/* 22914 */ {(12<<2)|2,{45,47,0}}, +/* 22915 */ {(12<<2)|2,{45,47,0}}, +/* 22916 */ {(12<<2)|2,{45,47,0}}, +/* 22917 */ {(12<<2)|2,{45,47,0}}, +/* 22918 */ {(12<<2)|2,{45,47,0}}, +/* 22919 */ {(12<<2)|2,{45,47,0}}, +/* 22920 */ {(12<<2)|2,{45,47,0}}, +/* 22921 */ {(12<<2)|2,{45,47,0}}, +/* 22922 */ {(12<<2)|2,{45,47,0}}, +/* 22923 */ {(12<<2)|2,{45,47,0}}, +/* 22924 */ {(12<<2)|2,{45,47,0}}, +/* 22925 */ {(12<<2)|2,{45,47,0}}, +/* 22926 */ {(12<<2)|2,{45,47,0}}, +/* 22927 */ {(12<<2)|2,{45,47,0}}, +/* 22928 */ {(12<<2)|2,{45,51,0}}, +/* 22929 */ {(12<<2)|2,{45,51,0}}, +/* 22930 */ {(12<<2)|2,{45,51,0}}, +/* 22931 */ {(12<<2)|2,{45,51,0}}, +/* 22932 */ {(12<<2)|2,{45,51,0}}, +/* 22933 */ {(12<<2)|2,{45,51,0}}, +/* 22934 */ {(12<<2)|2,{45,51,0}}, +/* 22935 */ {(12<<2)|2,{45,51,0}}, +/* 22936 */ {(12<<2)|2,{45,51,0}}, +/* 22937 */ {(12<<2)|2,{45,51,0}}, +/* 22938 */ {(12<<2)|2,{45,51,0}}, +/* 22939 */ {(12<<2)|2,{45,51,0}}, +/* 22940 */ {(12<<2)|2,{45,51,0}}, +/* 22941 */ {(12<<2)|2,{45,51,0}}, +/* 22942 */ {(12<<2)|2,{45,51,0}}, +/* 22943 */ {(12<<2)|2,{45,51,0}}, +/* 22944 */ {(12<<2)|2,{45,52,0}}, +/* 22945 */ {(12<<2)|2,{45,52,0}}, +/* 22946 */ {(12<<2)|2,{45,52,0}}, +/* 22947 */ {(12<<2)|2,{45,52,0}}, +/* 22948 */ {(12<<2)|2,{45,52,0}}, +/* 22949 */ {(12<<2)|2,{45,52,0}}, +/* 22950 */ {(12<<2)|2,{45,52,0}}, +/* 22951 */ {(12<<2)|2,{45,52,0}}, +/* 22952 */ {(12<<2)|2,{45,52,0}}, +/* 22953 */ {(12<<2)|2,{45,52,0}}, +/* 22954 */ {(12<<2)|2,{45,52,0}}, +/* 22955 */ {(12<<2)|2,{45,52,0}}, +/* 22956 */ {(12<<2)|2,{45,52,0}}, +/* 22957 */ {(12<<2)|2,{45,52,0}}, +/* 22958 */ {(12<<2)|2,{45,52,0}}, +/* 22959 */ {(12<<2)|2,{45,52,0}}, +/* 22960 */ {(12<<2)|2,{45,53,0}}, +/* 22961 */ {(12<<2)|2,{45,53,0}}, +/* 22962 */ {(12<<2)|2,{45,53,0}}, +/* 22963 */ {(12<<2)|2,{45,53,0}}, +/* 22964 */ {(12<<2)|2,{45,53,0}}, +/* 22965 */ {(12<<2)|2,{45,53,0}}, +/* 22966 */ {(12<<2)|2,{45,53,0}}, +/* 22967 */ {(12<<2)|2,{45,53,0}}, +/* 22968 */ {(12<<2)|2,{45,53,0}}, +/* 22969 */ {(12<<2)|2,{45,53,0}}, +/* 22970 */ {(12<<2)|2,{45,53,0}}, +/* 22971 */ {(12<<2)|2,{45,53,0}}, +/* 22972 */ {(12<<2)|2,{45,53,0}}, +/* 22973 */ {(12<<2)|2,{45,53,0}}, +/* 22974 */ {(12<<2)|2,{45,53,0}}, +/* 22975 */ {(12<<2)|2,{45,53,0}}, +/* 22976 */ {(12<<2)|2,{45,54,0}}, +/* 22977 */ {(12<<2)|2,{45,54,0}}, +/* 22978 */ {(12<<2)|2,{45,54,0}}, +/* 22979 */ {(12<<2)|2,{45,54,0}}, +/* 22980 */ {(12<<2)|2,{45,54,0}}, +/* 22981 */ {(12<<2)|2,{45,54,0}}, +/* 22982 */ {(12<<2)|2,{45,54,0}}, +/* 22983 */ {(12<<2)|2,{45,54,0}}, +/* 22984 */ {(12<<2)|2,{45,54,0}}, +/* 22985 */ {(12<<2)|2,{45,54,0}}, +/* 22986 */ {(12<<2)|2,{45,54,0}}, +/* 22987 */ {(12<<2)|2,{45,54,0}}, +/* 22988 */ {(12<<2)|2,{45,54,0}}, +/* 22989 */ {(12<<2)|2,{45,54,0}}, +/* 22990 */ {(12<<2)|2,{45,54,0}}, +/* 22991 */ {(12<<2)|2,{45,54,0}}, +/* 22992 */ {(12<<2)|2,{45,55,0}}, +/* 22993 */ {(12<<2)|2,{45,55,0}}, +/* 22994 */ {(12<<2)|2,{45,55,0}}, +/* 22995 */ {(12<<2)|2,{45,55,0}}, +/* 22996 */ {(12<<2)|2,{45,55,0}}, +/* 22997 */ {(12<<2)|2,{45,55,0}}, +/* 22998 */ {(12<<2)|2,{45,55,0}}, +/* 22999 */ {(12<<2)|2,{45,55,0}}, +/* 23000 */ {(12<<2)|2,{45,55,0}}, +/* 23001 */ {(12<<2)|2,{45,55,0}}, +/* 23002 */ {(12<<2)|2,{45,55,0}}, +/* 23003 */ {(12<<2)|2,{45,55,0}}, +/* 23004 */ {(12<<2)|2,{45,55,0}}, +/* 23005 */ {(12<<2)|2,{45,55,0}}, +/* 23006 */ {(12<<2)|2,{45,55,0}}, +/* 23007 */ {(12<<2)|2,{45,55,0}}, +/* 23008 */ {(12<<2)|2,{45,56,0}}, +/* 23009 */ {(12<<2)|2,{45,56,0}}, +/* 23010 */ {(12<<2)|2,{45,56,0}}, +/* 23011 */ {(12<<2)|2,{45,56,0}}, +/* 23012 */ {(12<<2)|2,{45,56,0}}, +/* 23013 */ {(12<<2)|2,{45,56,0}}, +/* 23014 */ {(12<<2)|2,{45,56,0}}, +/* 23015 */ {(12<<2)|2,{45,56,0}}, +/* 23016 */ {(12<<2)|2,{45,56,0}}, +/* 23017 */ {(12<<2)|2,{45,56,0}}, +/* 23018 */ {(12<<2)|2,{45,56,0}}, +/* 23019 */ {(12<<2)|2,{45,56,0}}, +/* 23020 */ {(12<<2)|2,{45,56,0}}, +/* 23021 */ {(12<<2)|2,{45,56,0}}, +/* 23022 */ {(12<<2)|2,{45,56,0}}, +/* 23023 */ {(12<<2)|2,{45,56,0}}, +/* 23024 */ {(12<<2)|2,{45,57,0}}, +/* 23025 */ {(12<<2)|2,{45,57,0}}, +/* 23026 */ {(12<<2)|2,{45,57,0}}, +/* 23027 */ {(12<<2)|2,{45,57,0}}, +/* 23028 */ {(12<<2)|2,{45,57,0}}, +/* 23029 */ {(12<<2)|2,{45,57,0}}, +/* 23030 */ {(12<<2)|2,{45,57,0}}, +/* 23031 */ {(12<<2)|2,{45,57,0}}, +/* 23032 */ {(12<<2)|2,{45,57,0}}, +/* 23033 */ {(12<<2)|2,{45,57,0}}, +/* 23034 */ {(12<<2)|2,{45,57,0}}, +/* 23035 */ {(12<<2)|2,{45,57,0}}, +/* 23036 */ {(12<<2)|2,{45,57,0}}, +/* 23037 */ {(12<<2)|2,{45,57,0}}, +/* 23038 */ {(12<<2)|2,{45,57,0}}, +/* 23039 */ {(12<<2)|2,{45,57,0}}, +/* 23040 */ {(12<<2)|2,{45,61,0}}, +/* 23041 */ {(12<<2)|2,{45,61,0}}, +/* 23042 */ {(12<<2)|2,{45,61,0}}, +/* 23043 */ {(12<<2)|2,{45,61,0}}, +/* 23044 */ {(12<<2)|2,{45,61,0}}, +/* 23045 */ {(12<<2)|2,{45,61,0}}, +/* 23046 */ {(12<<2)|2,{45,61,0}}, +/* 23047 */ {(12<<2)|2,{45,61,0}}, +/* 23048 */ {(12<<2)|2,{45,61,0}}, +/* 23049 */ {(12<<2)|2,{45,61,0}}, +/* 23050 */ {(12<<2)|2,{45,61,0}}, +/* 23051 */ {(12<<2)|2,{45,61,0}}, +/* 23052 */ {(12<<2)|2,{45,61,0}}, +/* 23053 */ {(12<<2)|2,{45,61,0}}, +/* 23054 */ {(12<<2)|2,{45,61,0}}, +/* 23055 */ {(12<<2)|2,{45,61,0}}, +/* 23056 */ {(12<<2)|2,{45,65,0}}, +/* 23057 */ {(12<<2)|2,{45,65,0}}, +/* 23058 */ {(12<<2)|2,{45,65,0}}, +/* 23059 */ {(12<<2)|2,{45,65,0}}, +/* 23060 */ {(12<<2)|2,{45,65,0}}, +/* 23061 */ {(12<<2)|2,{45,65,0}}, +/* 23062 */ {(12<<2)|2,{45,65,0}}, +/* 23063 */ {(12<<2)|2,{45,65,0}}, +/* 23064 */ {(12<<2)|2,{45,65,0}}, +/* 23065 */ {(12<<2)|2,{45,65,0}}, +/* 23066 */ {(12<<2)|2,{45,65,0}}, +/* 23067 */ {(12<<2)|2,{45,65,0}}, +/* 23068 */ {(12<<2)|2,{45,65,0}}, +/* 23069 */ {(12<<2)|2,{45,65,0}}, +/* 23070 */ {(12<<2)|2,{45,65,0}}, +/* 23071 */ {(12<<2)|2,{45,65,0}}, +/* 23072 */ {(12<<2)|2,{45,95,0}}, +/* 23073 */ {(12<<2)|2,{45,95,0}}, +/* 23074 */ {(12<<2)|2,{45,95,0}}, +/* 23075 */ {(12<<2)|2,{45,95,0}}, +/* 23076 */ {(12<<2)|2,{45,95,0}}, +/* 23077 */ {(12<<2)|2,{45,95,0}}, +/* 23078 */ {(12<<2)|2,{45,95,0}}, +/* 23079 */ {(12<<2)|2,{45,95,0}}, +/* 23080 */ {(12<<2)|2,{45,95,0}}, +/* 23081 */ {(12<<2)|2,{45,95,0}}, +/* 23082 */ {(12<<2)|2,{45,95,0}}, +/* 23083 */ {(12<<2)|2,{45,95,0}}, +/* 23084 */ {(12<<2)|2,{45,95,0}}, +/* 23085 */ {(12<<2)|2,{45,95,0}}, +/* 23086 */ {(12<<2)|2,{45,95,0}}, +/* 23087 */ {(12<<2)|2,{45,95,0}}, +/* 23088 */ {(12<<2)|2,{45,98,0}}, +/* 23089 */ {(12<<2)|2,{45,98,0}}, +/* 23090 */ {(12<<2)|2,{45,98,0}}, +/* 23091 */ {(12<<2)|2,{45,98,0}}, +/* 23092 */ {(12<<2)|2,{45,98,0}}, +/* 23093 */ {(12<<2)|2,{45,98,0}}, +/* 23094 */ {(12<<2)|2,{45,98,0}}, +/* 23095 */ {(12<<2)|2,{45,98,0}}, +/* 23096 */ {(12<<2)|2,{45,98,0}}, +/* 23097 */ {(12<<2)|2,{45,98,0}}, +/* 23098 */ {(12<<2)|2,{45,98,0}}, +/* 23099 */ {(12<<2)|2,{45,98,0}}, +/* 23100 */ {(12<<2)|2,{45,98,0}}, +/* 23101 */ {(12<<2)|2,{45,98,0}}, +/* 23102 */ {(12<<2)|2,{45,98,0}}, +/* 23103 */ {(12<<2)|2,{45,98,0}}, +/* 23104 */ {(12<<2)|2,{45,100,0}}, +/* 23105 */ {(12<<2)|2,{45,100,0}}, +/* 23106 */ {(12<<2)|2,{45,100,0}}, +/* 23107 */ {(12<<2)|2,{45,100,0}}, +/* 23108 */ {(12<<2)|2,{45,100,0}}, +/* 23109 */ {(12<<2)|2,{45,100,0}}, +/* 23110 */ {(12<<2)|2,{45,100,0}}, +/* 23111 */ {(12<<2)|2,{45,100,0}}, +/* 23112 */ {(12<<2)|2,{45,100,0}}, +/* 23113 */ {(12<<2)|2,{45,100,0}}, +/* 23114 */ {(12<<2)|2,{45,100,0}}, +/* 23115 */ {(12<<2)|2,{45,100,0}}, +/* 23116 */ {(12<<2)|2,{45,100,0}}, +/* 23117 */ {(12<<2)|2,{45,100,0}}, +/* 23118 */ {(12<<2)|2,{45,100,0}}, +/* 23119 */ {(12<<2)|2,{45,100,0}}, +/* 23120 */ {(12<<2)|2,{45,102,0}}, +/* 23121 */ {(12<<2)|2,{45,102,0}}, +/* 23122 */ {(12<<2)|2,{45,102,0}}, +/* 23123 */ {(12<<2)|2,{45,102,0}}, +/* 23124 */ {(12<<2)|2,{45,102,0}}, +/* 23125 */ {(12<<2)|2,{45,102,0}}, +/* 23126 */ {(12<<2)|2,{45,102,0}}, +/* 23127 */ {(12<<2)|2,{45,102,0}}, +/* 23128 */ {(12<<2)|2,{45,102,0}}, +/* 23129 */ {(12<<2)|2,{45,102,0}}, +/* 23130 */ {(12<<2)|2,{45,102,0}}, +/* 23131 */ {(12<<2)|2,{45,102,0}}, +/* 23132 */ {(12<<2)|2,{45,102,0}}, +/* 23133 */ {(12<<2)|2,{45,102,0}}, +/* 23134 */ {(12<<2)|2,{45,102,0}}, +/* 23135 */ {(12<<2)|2,{45,102,0}}, +/* 23136 */ {(12<<2)|2,{45,103,0}}, +/* 23137 */ {(12<<2)|2,{45,103,0}}, +/* 23138 */ {(12<<2)|2,{45,103,0}}, +/* 23139 */ {(12<<2)|2,{45,103,0}}, +/* 23140 */ {(12<<2)|2,{45,103,0}}, +/* 23141 */ {(12<<2)|2,{45,103,0}}, +/* 23142 */ {(12<<2)|2,{45,103,0}}, +/* 23143 */ {(12<<2)|2,{45,103,0}}, +/* 23144 */ {(12<<2)|2,{45,103,0}}, +/* 23145 */ {(12<<2)|2,{45,103,0}}, +/* 23146 */ {(12<<2)|2,{45,103,0}}, +/* 23147 */ {(12<<2)|2,{45,103,0}}, +/* 23148 */ {(12<<2)|2,{45,103,0}}, +/* 23149 */ {(12<<2)|2,{45,103,0}}, +/* 23150 */ {(12<<2)|2,{45,103,0}}, +/* 23151 */ {(12<<2)|2,{45,103,0}}, +/* 23152 */ {(12<<2)|2,{45,104,0}}, +/* 23153 */ {(12<<2)|2,{45,104,0}}, +/* 23154 */ {(12<<2)|2,{45,104,0}}, +/* 23155 */ {(12<<2)|2,{45,104,0}}, +/* 23156 */ {(12<<2)|2,{45,104,0}}, +/* 23157 */ {(12<<2)|2,{45,104,0}}, +/* 23158 */ {(12<<2)|2,{45,104,0}}, +/* 23159 */ {(12<<2)|2,{45,104,0}}, +/* 23160 */ {(12<<2)|2,{45,104,0}}, +/* 23161 */ {(12<<2)|2,{45,104,0}}, +/* 23162 */ {(12<<2)|2,{45,104,0}}, +/* 23163 */ {(12<<2)|2,{45,104,0}}, +/* 23164 */ {(12<<2)|2,{45,104,0}}, +/* 23165 */ {(12<<2)|2,{45,104,0}}, +/* 23166 */ {(12<<2)|2,{45,104,0}}, +/* 23167 */ {(12<<2)|2,{45,104,0}}, +/* 23168 */ {(12<<2)|2,{45,108,0}}, +/* 23169 */ {(12<<2)|2,{45,108,0}}, +/* 23170 */ {(12<<2)|2,{45,108,0}}, +/* 23171 */ {(12<<2)|2,{45,108,0}}, +/* 23172 */ {(12<<2)|2,{45,108,0}}, +/* 23173 */ {(12<<2)|2,{45,108,0}}, +/* 23174 */ {(12<<2)|2,{45,108,0}}, +/* 23175 */ {(12<<2)|2,{45,108,0}}, +/* 23176 */ {(12<<2)|2,{45,108,0}}, +/* 23177 */ {(12<<2)|2,{45,108,0}}, +/* 23178 */ {(12<<2)|2,{45,108,0}}, +/* 23179 */ {(12<<2)|2,{45,108,0}}, +/* 23180 */ {(12<<2)|2,{45,108,0}}, +/* 23181 */ {(12<<2)|2,{45,108,0}}, +/* 23182 */ {(12<<2)|2,{45,108,0}}, +/* 23183 */ {(12<<2)|2,{45,108,0}}, +/* 23184 */ {(12<<2)|2,{45,109,0}}, +/* 23185 */ {(12<<2)|2,{45,109,0}}, +/* 23186 */ {(12<<2)|2,{45,109,0}}, +/* 23187 */ {(12<<2)|2,{45,109,0}}, +/* 23188 */ {(12<<2)|2,{45,109,0}}, +/* 23189 */ {(12<<2)|2,{45,109,0}}, +/* 23190 */ {(12<<2)|2,{45,109,0}}, +/* 23191 */ {(12<<2)|2,{45,109,0}}, +/* 23192 */ {(12<<2)|2,{45,109,0}}, +/* 23193 */ {(12<<2)|2,{45,109,0}}, +/* 23194 */ {(12<<2)|2,{45,109,0}}, +/* 23195 */ {(12<<2)|2,{45,109,0}}, +/* 23196 */ {(12<<2)|2,{45,109,0}}, +/* 23197 */ {(12<<2)|2,{45,109,0}}, +/* 23198 */ {(12<<2)|2,{45,109,0}}, +/* 23199 */ {(12<<2)|2,{45,109,0}}, +/* 23200 */ {(12<<2)|2,{45,110,0}}, +/* 23201 */ {(12<<2)|2,{45,110,0}}, +/* 23202 */ {(12<<2)|2,{45,110,0}}, +/* 23203 */ {(12<<2)|2,{45,110,0}}, +/* 23204 */ {(12<<2)|2,{45,110,0}}, +/* 23205 */ {(12<<2)|2,{45,110,0}}, +/* 23206 */ {(12<<2)|2,{45,110,0}}, +/* 23207 */ {(12<<2)|2,{45,110,0}}, +/* 23208 */ {(12<<2)|2,{45,110,0}}, +/* 23209 */ {(12<<2)|2,{45,110,0}}, +/* 23210 */ {(12<<2)|2,{45,110,0}}, +/* 23211 */ {(12<<2)|2,{45,110,0}}, +/* 23212 */ {(12<<2)|2,{45,110,0}}, +/* 23213 */ {(12<<2)|2,{45,110,0}}, +/* 23214 */ {(12<<2)|2,{45,110,0}}, +/* 23215 */ {(12<<2)|2,{45,110,0}}, +/* 23216 */ {(12<<2)|2,{45,112,0}}, +/* 23217 */ {(12<<2)|2,{45,112,0}}, +/* 23218 */ {(12<<2)|2,{45,112,0}}, +/* 23219 */ {(12<<2)|2,{45,112,0}}, +/* 23220 */ {(12<<2)|2,{45,112,0}}, +/* 23221 */ {(12<<2)|2,{45,112,0}}, +/* 23222 */ {(12<<2)|2,{45,112,0}}, +/* 23223 */ {(12<<2)|2,{45,112,0}}, +/* 23224 */ {(12<<2)|2,{45,112,0}}, +/* 23225 */ {(12<<2)|2,{45,112,0}}, +/* 23226 */ {(12<<2)|2,{45,112,0}}, +/* 23227 */ {(12<<2)|2,{45,112,0}}, +/* 23228 */ {(12<<2)|2,{45,112,0}}, +/* 23229 */ {(12<<2)|2,{45,112,0}}, +/* 23230 */ {(12<<2)|2,{45,112,0}}, +/* 23231 */ {(12<<2)|2,{45,112,0}}, +/* 23232 */ {(12<<2)|2,{45,114,0}}, +/* 23233 */ {(12<<2)|2,{45,114,0}}, +/* 23234 */ {(12<<2)|2,{45,114,0}}, +/* 23235 */ {(12<<2)|2,{45,114,0}}, +/* 23236 */ {(12<<2)|2,{45,114,0}}, +/* 23237 */ {(12<<2)|2,{45,114,0}}, +/* 23238 */ {(12<<2)|2,{45,114,0}}, +/* 23239 */ {(12<<2)|2,{45,114,0}}, +/* 23240 */ {(12<<2)|2,{45,114,0}}, +/* 23241 */ {(12<<2)|2,{45,114,0}}, +/* 23242 */ {(12<<2)|2,{45,114,0}}, +/* 23243 */ {(12<<2)|2,{45,114,0}}, +/* 23244 */ {(12<<2)|2,{45,114,0}}, +/* 23245 */ {(12<<2)|2,{45,114,0}}, +/* 23246 */ {(12<<2)|2,{45,114,0}}, +/* 23247 */ {(12<<2)|2,{45,114,0}}, +/* 23248 */ {(12<<2)|2,{45,117,0}}, +/* 23249 */ {(12<<2)|2,{45,117,0}}, +/* 23250 */ {(12<<2)|2,{45,117,0}}, +/* 23251 */ {(12<<2)|2,{45,117,0}}, +/* 23252 */ {(12<<2)|2,{45,117,0}}, +/* 23253 */ {(12<<2)|2,{45,117,0}}, +/* 23254 */ {(12<<2)|2,{45,117,0}}, +/* 23255 */ {(12<<2)|2,{45,117,0}}, +/* 23256 */ {(12<<2)|2,{45,117,0}}, +/* 23257 */ {(12<<2)|2,{45,117,0}}, +/* 23258 */ {(12<<2)|2,{45,117,0}}, +/* 23259 */ {(12<<2)|2,{45,117,0}}, +/* 23260 */ {(12<<2)|2,{45,117,0}}, +/* 23261 */ {(12<<2)|2,{45,117,0}}, +/* 23262 */ {(12<<2)|2,{45,117,0}}, +/* 23263 */ {(12<<2)|2,{45,117,0}}, +/* 23264 */ {(13<<2)|2,{45,58,0}}, +/* 23265 */ {(13<<2)|2,{45,58,0}}, +/* 23266 */ {(13<<2)|2,{45,58,0}}, +/* 23267 */ {(13<<2)|2,{45,58,0}}, +/* 23268 */ {(13<<2)|2,{45,58,0}}, +/* 23269 */ {(13<<2)|2,{45,58,0}}, +/* 23270 */ {(13<<2)|2,{45,58,0}}, +/* 23271 */ {(13<<2)|2,{45,58,0}}, +/* 23272 */ {(13<<2)|2,{45,66,0}}, +/* 23273 */ {(13<<2)|2,{45,66,0}}, +/* 23274 */ {(13<<2)|2,{45,66,0}}, +/* 23275 */ {(13<<2)|2,{45,66,0}}, +/* 23276 */ {(13<<2)|2,{45,66,0}}, +/* 23277 */ {(13<<2)|2,{45,66,0}}, +/* 23278 */ {(13<<2)|2,{45,66,0}}, +/* 23279 */ {(13<<2)|2,{45,66,0}}, +/* 23280 */ {(13<<2)|2,{45,67,0}}, +/* 23281 */ {(13<<2)|2,{45,67,0}}, +/* 23282 */ {(13<<2)|2,{45,67,0}}, +/* 23283 */ {(13<<2)|2,{45,67,0}}, +/* 23284 */ {(13<<2)|2,{45,67,0}}, +/* 23285 */ {(13<<2)|2,{45,67,0}}, +/* 23286 */ {(13<<2)|2,{45,67,0}}, +/* 23287 */ {(13<<2)|2,{45,67,0}}, +/* 23288 */ {(13<<2)|2,{45,68,0}}, +/* 23289 */ {(13<<2)|2,{45,68,0}}, +/* 23290 */ {(13<<2)|2,{45,68,0}}, +/* 23291 */ {(13<<2)|2,{45,68,0}}, +/* 23292 */ {(13<<2)|2,{45,68,0}}, +/* 23293 */ {(13<<2)|2,{45,68,0}}, +/* 23294 */ {(13<<2)|2,{45,68,0}}, +/* 23295 */ {(13<<2)|2,{45,68,0}}, +/* 23296 */ {(13<<2)|2,{45,69,0}}, +/* 23297 */ {(13<<2)|2,{45,69,0}}, +/* 23298 */ {(13<<2)|2,{45,69,0}}, +/* 23299 */ {(13<<2)|2,{45,69,0}}, +/* 23300 */ {(13<<2)|2,{45,69,0}}, +/* 23301 */ {(13<<2)|2,{45,69,0}}, +/* 23302 */ {(13<<2)|2,{45,69,0}}, +/* 23303 */ {(13<<2)|2,{45,69,0}}, +/* 23304 */ {(13<<2)|2,{45,70,0}}, +/* 23305 */ {(13<<2)|2,{45,70,0}}, +/* 23306 */ {(13<<2)|2,{45,70,0}}, +/* 23307 */ {(13<<2)|2,{45,70,0}}, +/* 23308 */ {(13<<2)|2,{45,70,0}}, +/* 23309 */ {(13<<2)|2,{45,70,0}}, +/* 23310 */ {(13<<2)|2,{45,70,0}}, +/* 23311 */ {(13<<2)|2,{45,70,0}}, +/* 23312 */ {(13<<2)|2,{45,71,0}}, +/* 23313 */ {(13<<2)|2,{45,71,0}}, +/* 23314 */ {(13<<2)|2,{45,71,0}}, +/* 23315 */ {(13<<2)|2,{45,71,0}}, +/* 23316 */ {(13<<2)|2,{45,71,0}}, +/* 23317 */ {(13<<2)|2,{45,71,0}}, +/* 23318 */ {(13<<2)|2,{45,71,0}}, +/* 23319 */ {(13<<2)|2,{45,71,0}}, +/* 23320 */ {(13<<2)|2,{45,72,0}}, +/* 23321 */ {(13<<2)|2,{45,72,0}}, +/* 23322 */ {(13<<2)|2,{45,72,0}}, +/* 23323 */ {(13<<2)|2,{45,72,0}}, +/* 23324 */ {(13<<2)|2,{45,72,0}}, +/* 23325 */ {(13<<2)|2,{45,72,0}}, +/* 23326 */ {(13<<2)|2,{45,72,0}}, +/* 23327 */ {(13<<2)|2,{45,72,0}}, +/* 23328 */ {(13<<2)|2,{45,73,0}}, +/* 23329 */ {(13<<2)|2,{45,73,0}}, +/* 23330 */ {(13<<2)|2,{45,73,0}}, +/* 23331 */ {(13<<2)|2,{45,73,0}}, +/* 23332 */ {(13<<2)|2,{45,73,0}}, +/* 23333 */ {(13<<2)|2,{45,73,0}}, +/* 23334 */ {(13<<2)|2,{45,73,0}}, +/* 23335 */ {(13<<2)|2,{45,73,0}}, +/* 23336 */ {(13<<2)|2,{45,74,0}}, +/* 23337 */ {(13<<2)|2,{45,74,0}}, +/* 23338 */ {(13<<2)|2,{45,74,0}}, +/* 23339 */ {(13<<2)|2,{45,74,0}}, +/* 23340 */ {(13<<2)|2,{45,74,0}}, +/* 23341 */ {(13<<2)|2,{45,74,0}}, +/* 23342 */ {(13<<2)|2,{45,74,0}}, +/* 23343 */ {(13<<2)|2,{45,74,0}}, +/* 23344 */ {(13<<2)|2,{45,75,0}}, +/* 23345 */ {(13<<2)|2,{45,75,0}}, +/* 23346 */ {(13<<2)|2,{45,75,0}}, +/* 23347 */ {(13<<2)|2,{45,75,0}}, +/* 23348 */ {(13<<2)|2,{45,75,0}}, +/* 23349 */ {(13<<2)|2,{45,75,0}}, +/* 23350 */ {(13<<2)|2,{45,75,0}}, +/* 23351 */ {(13<<2)|2,{45,75,0}}, +/* 23352 */ {(13<<2)|2,{45,76,0}}, +/* 23353 */ {(13<<2)|2,{45,76,0}}, +/* 23354 */ {(13<<2)|2,{45,76,0}}, +/* 23355 */ {(13<<2)|2,{45,76,0}}, +/* 23356 */ {(13<<2)|2,{45,76,0}}, +/* 23357 */ {(13<<2)|2,{45,76,0}}, +/* 23358 */ {(13<<2)|2,{45,76,0}}, +/* 23359 */ {(13<<2)|2,{45,76,0}}, +/* 23360 */ {(13<<2)|2,{45,77,0}}, +/* 23361 */ {(13<<2)|2,{45,77,0}}, +/* 23362 */ {(13<<2)|2,{45,77,0}}, +/* 23363 */ {(13<<2)|2,{45,77,0}}, +/* 23364 */ {(13<<2)|2,{45,77,0}}, +/* 23365 */ {(13<<2)|2,{45,77,0}}, +/* 23366 */ {(13<<2)|2,{45,77,0}}, +/* 23367 */ {(13<<2)|2,{45,77,0}}, +/* 23368 */ {(13<<2)|2,{45,78,0}}, +/* 23369 */ {(13<<2)|2,{45,78,0}}, +/* 23370 */ {(13<<2)|2,{45,78,0}}, +/* 23371 */ {(13<<2)|2,{45,78,0}}, +/* 23372 */ {(13<<2)|2,{45,78,0}}, +/* 23373 */ {(13<<2)|2,{45,78,0}}, +/* 23374 */ {(13<<2)|2,{45,78,0}}, +/* 23375 */ {(13<<2)|2,{45,78,0}}, +/* 23376 */ {(13<<2)|2,{45,79,0}}, +/* 23377 */ {(13<<2)|2,{45,79,0}}, +/* 23378 */ {(13<<2)|2,{45,79,0}}, +/* 23379 */ {(13<<2)|2,{45,79,0}}, +/* 23380 */ {(13<<2)|2,{45,79,0}}, +/* 23381 */ {(13<<2)|2,{45,79,0}}, +/* 23382 */ {(13<<2)|2,{45,79,0}}, +/* 23383 */ {(13<<2)|2,{45,79,0}}, +/* 23384 */ {(13<<2)|2,{45,80,0}}, +/* 23385 */ {(13<<2)|2,{45,80,0}}, +/* 23386 */ {(13<<2)|2,{45,80,0}}, +/* 23387 */ {(13<<2)|2,{45,80,0}}, +/* 23388 */ {(13<<2)|2,{45,80,0}}, +/* 23389 */ {(13<<2)|2,{45,80,0}}, +/* 23390 */ {(13<<2)|2,{45,80,0}}, +/* 23391 */ {(13<<2)|2,{45,80,0}}, +/* 23392 */ {(13<<2)|2,{45,81,0}}, +/* 23393 */ {(13<<2)|2,{45,81,0}}, +/* 23394 */ {(13<<2)|2,{45,81,0}}, +/* 23395 */ {(13<<2)|2,{45,81,0}}, +/* 23396 */ {(13<<2)|2,{45,81,0}}, +/* 23397 */ {(13<<2)|2,{45,81,0}}, +/* 23398 */ {(13<<2)|2,{45,81,0}}, +/* 23399 */ {(13<<2)|2,{45,81,0}}, +/* 23400 */ {(13<<2)|2,{45,82,0}}, +/* 23401 */ {(13<<2)|2,{45,82,0}}, +/* 23402 */ {(13<<2)|2,{45,82,0}}, +/* 23403 */ {(13<<2)|2,{45,82,0}}, +/* 23404 */ {(13<<2)|2,{45,82,0}}, +/* 23405 */ {(13<<2)|2,{45,82,0}}, +/* 23406 */ {(13<<2)|2,{45,82,0}}, +/* 23407 */ {(13<<2)|2,{45,82,0}}, +/* 23408 */ {(13<<2)|2,{45,83,0}}, +/* 23409 */ {(13<<2)|2,{45,83,0}}, +/* 23410 */ {(13<<2)|2,{45,83,0}}, +/* 23411 */ {(13<<2)|2,{45,83,0}}, +/* 23412 */ {(13<<2)|2,{45,83,0}}, +/* 23413 */ {(13<<2)|2,{45,83,0}}, +/* 23414 */ {(13<<2)|2,{45,83,0}}, +/* 23415 */ {(13<<2)|2,{45,83,0}}, +/* 23416 */ {(13<<2)|2,{45,84,0}}, +/* 23417 */ {(13<<2)|2,{45,84,0}}, +/* 23418 */ {(13<<2)|2,{45,84,0}}, +/* 23419 */ {(13<<2)|2,{45,84,0}}, +/* 23420 */ {(13<<2)|2,{45,84,0}}, +/* 23421 */ {(13<<2)|2,{45,84,0}}, +/* 23422 */ {(13<<2)|2,{45,84,0}}, +/* 23423 */ {(13<<2)|2,{45,84,0}}, +/* 23424 */ {(13<<2)|2,{45,85,0}}, +/* 23425 */ {(13<<2)|2,{45,85,0}}, +/* 23426 */ {(13<<2)|2,{45,85,0}}, +/* 23427 */ {(13<<2)|2,{45,85,0}}, +/* 23428 */ {(13<<2)|2,{45,85,0}}, +/* 23429 */ {(13<<2)|2,{45,85,0}}, +/* 23430 */ {(13<<2)|2,{45,85,0}}, +/* 23431 */ {(13<<2)|2,{45,85,0}}, +/* 23432 */ {(13<<2)|2,{45,86,0}}, +/* 23433 */ {(13<<2)|2,{45,86,0}}, +/* 23434 */ {(13<<2)|2,{45,86,0}}, +/* 23435 */ {(13<<2)|2,{45,86,0}}, +/* 23436 */ {(13<<2)|2,{45,86,0}}, +/* 23437 */ {(13<<2)|2,{45,86,0}}, +/* 23438 */ {(13<<2)|2,{45,86,0}}, +/* 23439 */ {(13<<2)|2,{45,86,0}}, +/* 23440 */ {(13<<2)|2,{45,87,0}}, +/* 23441 */ {(13<<2)|2,{45,87,0}}, +/* 23442 */ {(13<<2)|2,{45,87,0}}, +/* 23443 */ {(13<<2)|2,{45,87,0}}, +/* 23444 */ {(13<<2)|2,{45,87,0}}, +/* 23445 */ {(13<<2)|2,{45,87,0}}, +/* 23446 */ {(13<<2)|2,{45,87,0}}, +/* 23447 */ {(13<<2)|2,{45,87,0}}, +/* 23448 */ {(13<<2)|2,{45,89,0}}, +/* 23449 */ {(13<<2)|2,{45,89,0}}, +/* 23450 */ {(13<<2)|2,{45,89,0}}, +/* 23451 */ {(13<<2)|2,{45,89,0}}, +/* 23452 */ {(13<<2)|2,{45,89,0}}, +/* 23453 */ {(13<<2)|2,{45,89,0}}, +/* 23454 */ {(13<<2)|2,{45,89,0}}, +/* 23455 */ {(13<<2)|2,{45,89,0}}, +/* 23456 */ {(13<<2)|2,{45,106,0}}, +/* 23457 */ {(13<<2)|2,{45,106,0}}, +/* 23458 */ {(13<<2)|2,{45,106,0}}, +/* 23459 */ {(13<<2)|2,{45,106,0}}, +/* 23460 */ {(13<<2)|2,{45,106,0}}, +/* 23461 */ {(13<<2)|2,{45,106,0}}, +/* 23462 */ {(13<<2)|2,{45,106,0}}, +/* 23463 */ {(13<<2)|2,{45,106,0}}, +/* 23464 */ {(13<<2)|2,{45,107,0}}, +/* 23465 */ {(13<<2)|2,{45,107,0}}, +/* 23466 */ {(13<<2)|2,{45,107,0}}, +/* 23467 */ {(13<<2)|2,{45,107,0}}, +/* 23468 */ {(13<<2)|2,{45,107,0}}, +/* 23469 */ {(13<<2)|2,{45,107,0}}, +/* 23470 */ {(13<<2)|2,{45,107,0}}, +/* 23471 */ {(13<<2)|2,{45,107,0}}, +/* 23472 */ {(13<<2)|2,{45,113,0}}, +/* 23473 */ {(13<<2)|2,{45,113,0}}, +/* 23474 */ {(13<<2)|2,{45,113,0}}, +/* 23475 */ {(13<<2)|2,{45,113,0}}, +/* 23476 */ {(13<<2)|2,{45,113,0}}, +/* 23477 */ {(13<<2)|2,{45,113,0}}, +/* 23478 */ {(13<<2)|2,{45,113,0}}, +/* 23479 */ {(13<<2)|2,{45,113,0}}, +/* 23480 */ {(13<<2)|2,{45,118,0}}, +/* 23481 */ {(13<<2)|2,{45,118,0}}, +/* 23482 */ {(13<<2)|2,{45,118,0}}, +/* 23483 */ {(13<<2)|2,{45,118,0}}, +/* 23484 */ {(13<<2)|2,{45,118,0}}, +/* 23485 */ {(13<<2)|2,{45,118,0}}, +/* 23486 */ {(13<<2)|2,{45,118,0}}, +/* 23487 */ {(13<<2)|2,{45,118,0}}, +/* 23488 */ {(13<<2)|2,{45,119,0}}, +/* 23489 */ {(13<<2)|2,{45,119,0}}, +/* 23490 */ {(13<<2)|2,{45,119,0}}, +/* 23491 */ {(13<<2)|2,{45,119,0}}, +/* 23492 */ {(13<<2)|2,{45,119,0}}, +/* 23493 */ {(13<<2)|2,{45,119,0}}, +/* 23494 */ {(13<<2)|2,{45,119,0}}, +/* 23495 */ {(13<<2)|2,{45,119,0}}, +/* 23496 */ {(13<<2)|2,{45,120,0}}, +/* 23497 */ {(13<<2)|2,{45,120,0}}, +/* 23498 */ {(13<<2)|2,{45,120,0}}, +/* 23499 */ {(13<<2)|2,{45,120,0}}, +/* 23500 */ {(13<<2)|2,{45,120,0}}, +/* 23501 */ {(13<<2)|2,{45,120,0}}, +/* 23502 */ {(13<<2)|2,{45,120,0}}, +/* 23503 */ {(13<<2)|2,{45,120,0}}, +/* 23504 */ {(13<<2)|2,{45,121,0}}, +/* 23505 */ {(13<<2)|2,{45,121,0}}, +/* 23506 */ {(13<<2)|2,{45,121,0}}, +/* 23507 */ {(13<<2)|2,{45,121,0}}, +/* 23508 */ {(13<<2)|2,{45,121,0}}, +/* 23509 */ {(13<<2)|2,{45,121,0}}, +/* 23510 */ {(13<<2)|2,{45,121,0}}, +/* 23511 */ {(13<<2)|2,{45,121,0}}, +/* 23512 */ {(13<<2)|2,{45,122,0}}, +/* 23513 */ {(13<<2)|2,{45,122,0}}, +/* 23514 */ {(13<<2)|2,{45,122,0}}, +/* 23515 */ {(13<<2)|2,{45,122,0}}, +/* 23516 */ {(13<<2)|2,{45,122,0}}, +/* 23517 */ {(13<<2)|2,{45,122,0}}, +/* 23518 */ {(13<<2)|2,{45,122,0}}, +/* 23519 */ {(13<<2)|2,{45,122,0}}, +/* 23520 */ {(14<<2)|2,{45,38,0}}, +/* 23521 */ {(14<<2)|2,{45,38,0}}, +/* 23522 */ {(14<<2)|2,{45,38,0}}, +/* 23523 */ {(14<<2)|2,{45,38,0}}, +/* 23524 */ {(14<<2)|2,{45,42,0}}, +/* 23525 */ {(14<<2)|2,{45,42,0}}, +/* 23526 */ {(14<<2)|2,{45,42,0}}, +/* 23527 */ {(14<<2)|2,{45,42,0}}, +/* 23528 */ {(14<<2)|2,{45,44,0}}, +/* 23529 */ {(14<<2)|2,{45,44,0}}, +/* 23530 */ {(14<<2)|2,{45,44,0}}, +/* 23531 */ {(14<<2)|2,{45,44,0}}, +/* 23532 */ {(14<<2)|2,{45,59,0}}, +/* 23533 */ {(14<<2)|2,{45,59,0}}, +/* 23534 */ {(14<<2)|2,{45,59,0}}, +/* 23535 */ {(14<<2)|2,{45,59,0}}, +/* 23536 */ {(14<<2)|2,{45,88,0}}, +/* 23537 */ {(14<<2)|2,{45,88,0}}, +/* 23538 */ {(14<<2)|2,{45,88,0}}, +/* 23539 */ {(14<<2)|2,{45,88,0}}, +/* 23540 */ {(14<<2)|2,{45,90,0}}, +/* 23541 */ {(14<<2)|2,{45,90,0}}, +/* 23542 */ {(14<<2)|2,{45,90,0}}, +/* 23543 */ {(14<<2)|2,{45,90,0}}, +/* 23544 */ {(16<<2)|2,{45,33,0}}, +/* 23545 */ {(16<<2)|2,{45,34,0}}, +/* 23546 */ {(16<<2)|2,{45,40,0}}, +/* 23547 */ {(16<<2)|2,{45,41,0}}, +/* 23548 */ {(16<<2)|2,{45,63,0}}, +/* 23549 */ {(6<<2)|1,{45,0,0}}, +/* 23550 */ {(6<<2)|1,{45,0,0}}, +/* 23551 */ {(6<<2)|1,{45,0,0}}, +/* 23552 */ {(16<<2)|3,{46,48,48}}, +/* 23553 */ {(16<<2)|3,{46,48,49}}, +/* 23554 */ {(16<<2)|3,{46,48,50}}, +/* 23555 */ {(16<<2)|3,{46,48,97}}, +/* 23556 */ {(16<<2)|3,{46,48,99}}, +/* 23557 */ {(16<<2)|3,{46,48,101}}, +/* 23558 */ {(16<<2)|3,{46,48,105}}, +/* 23559 */ {(16<<2)|3,{46,48,111}}, +/* 23560 */ {(16<<2)|3,{46,48,115}}, +/* 23561 */ {(16<<2)|3,{46,48,116}}, +/* 23562 */ {(11<<2)|2,{46,48,0}}, +/* 23563 */ {(11<<2)|2,{46,48,0}}, +/* 23564 */ {(11<<2)|2,{46,48,0}}, +/* 23565 */ {(11<<2)|2,{46,48,0}}, +/* 23566 */ {(11<<2)|2,{46,48,0}}, +/* 23567 */ {(11<<2)|2,{46,48,0}}, +/* 23568 */ {(11<<2)|2,{46,48,0}}, +/* 23569 */ {(11<<2)|2,{46,48,0}}, +/* 23570 */ {(11<<2)|2,{46,48,0}}, +/* 23571 */ {(11<<2)|2,{46,48,0}}, +/* 23572 */ {(11<<2)|2,{46,48,0}}, +/* 23573 */ {(11<<2)|2,{46,48,0}}, +/* 23574 */ {(11<<2)|2,{46,48,0}}, +/* 23575 */ {(11<<2)|2,{46,48,0}}, +/* 23576 */ {(11<<2)|2,{46,48,0}}, +/* 23577 */ {(11<<2)|2,{46,48,0}}, +/* 23578 */ {(11<<2)|2,{46,48,0}}, +/* 23579 */ {(11<<2)|2,{46,48,0}}, +/* 23580 */ {(11<<2)|2,{46,48,0}}, +/* 23581 */ {(11<<2)|2,{46,48,0}}, +/* 23582 */ {(11<<2)|2,{46,48,0}}, +/* 23583 */ {(11<<2)|2,{46,48,0}}, +/* 23584 */ {(16<<2)|3,{46,49,48}}, +/* 23585 */ {(16<<2)|3,{46,49,49}}, +/* 23586 */ {(16<<2)|3,{46,49,50}}, +/* 23587 */ {(16<<2)|3,{46,49,97}}, +/* 23588 */ {(16<<2)|3,{46,49,99}}, +/* 23589 */ {(16<<2)|3,{46,49,101}}, +/* 23590 */ {(16<<2)|3,{46,49,105}}, +/* 23591 */ {(16<<2)|3,{46,49,111}}, +/* 23592 */ {(16<<2)|3,{46,49,115}}, +/* 23593 */ {(16<<2)|3,{46,49,116}}, +/* 23594 */ {(11<<2)|2,{46,49,0}}, +/* 23595 */ {(11<<2)|2,{46,49,0}}, +/* 23596 */ {(11<<2)|2,{46,49,0}}, +/* 23597 */ {(11<<2)|2,{46,49,0}}, +/* 23598 */ {(11<<2)|2,{46,49,0}}, +/* 23599 */ {(11<<2)|2,{46,49,0}}, +/* 23600 */ {(11<<2)|2,{46,49,0}}, +/* 23601 */ {(11<<2)|2,{46,49,0}}, +/* 23602 */ {(11<<2)|2,{46,49,0}}, +/* 23603 */ {(11<<2)|2,{46,49,0}}, +/* 23604 */ {(11<<2)|2,{46,49,0}}, +/* 23605 */ {(11<<2)|2,{46,49,0}}, +/* 23606 */ {(11<<2)|2,{46,49,0}}, +/* 23607 */ {(11<<2)|2,{46,49,0}}, +/* 23608 */ {(11<<2)|2,{46,49,0}}, +/* 23609 */ {(11<<2)|2,{46,49,0}}, +/* 23610 */ {(11<<2)|2,{46,49,0}}, +/* 23611 */ {(11<<2)|2,{46,49,0}}, +/* 23612 */ {(11<<2)|2,{46,49,0}}, +/* 23613 */ {(11<<2)|2,{46,49,0}}, +/* 23614 */ {(11<<2)|2,{46,49,0}}, +/* 23615 */ {(11<<2)|2,{46,49,0}}, +/* 23616 */ {(16<<2)|3,{46,50,48}}, +/* 23617 */ {(16<<2)|3,{46,50,49}}, +/* 23618 */ {(16<<2)|3,{46,50,50}}, +/* 23619 */ {(16<<2)|3,{46,50,97}}, +/* 23620 */ {(16<<2)|3,{46,50,99}}, +/* 23621 */ {(16<<2)|3,{46,50,101}}, +/* 23622 */ {(16<<2)|3,{46,50,105}}, +/* 23623 */ {(16<<2)|3,{46,50,111}}, +/* 23624 */ {(16<<2)|3,{46,50,115}}, +/* 23625 */ {(16<<2)|3,{46,50,116}}, +/* 23626 */ {(11<<2)|2,{46,50,0}}, +/* 23627 */ {(11<<2)|2,{46,50,0}}, +/* 23628 */ {(11<<2)|2,{46,50,0}}, +/* 23629 */ {(11<<2)|2,{46,50,0}}, +/* 23630 */ {(11<<2)|2,{46,50,0}}, +/* 23631 */ {(11<<2)|2,{46,50,0}}, +/* 23632 */ {(11<<2)|2,{46,50,0}}, +/* 23633 */ {(11<<2)|2,{46,50,0}}, +/* 23634 */ {(11<<2)|2,{46,50,0}}, +/* 23635 */ {(11<<2)|2,{46,50,0}}, +/* 23636 */ {(11<<2)|2,{46,50,0}}, +/* 23637 */ {(11<<2)|2,{46,50,0}}, +/* 23638 */ {(11<<2)|2,{46,50,0}}, +/* 23639 */ {(11<<2)|2,{46,50,0}}, +/* 23640 */ {(11<<2)|2,{46,50,0}}, +/* 23641 */ {(11<<2)|2,{46,50,0}}, +/* 23642 */ {(11<<2)|2,{46,50,0}}, +/* 23643 */ {(11<<2)|2,{46,50,0}}, +/* 23644 */ {(11<<2)|2,{46,50,0}}, +/* 23645 */ {(11<<2)|2,{46,50,0}}, +/* 23646 */ {(11<<2)|2,{46,50,0}}, +/* 23647 */ {(11<<2)|2,{46,50,0}}, +/* 23648 */ {(16<<2)|3,{46,97,48}}, +/* 23649 */ {(16<<2)|3,{46,97,49}}, +/* 23650 */ {(16<<2)|3,{46,97,50}}, +/* 23651 */ {(16<<2)|3,{46,97,97}}, +/* 23652 */ {(16<<2)|3,{46,97,99}}, +/* 23653 */ {(16<<2)|3,{46,97,101}}, +/* 23654 */ {(16<<2)|3,{46,97,105}}, +/* 23655 */ {(16<<2)|3,{46,97,111}}, +/* 23656 */ {(16<<2)|3,{46,97,115}}, +/* 23657 */ {(16<<2)|3,{46,97,116}}, +/* 23658 */ {(11<<2)|2,{46,97,0}}, +/* 23659 */ {(11<<2)|2,{46,97,0}}, +/* 23660 */ {(11<<2)|2,{46,97,0}}, +/* 23661 */ {(11<<2)|2,{46,97,0}}, +/* 23662 */ {(11<<2)|2,{46,97,0}}, +/* 23663 */ {(11<<2)|2,{46,97,0}}, +/* 23664 */ {(11<<2)|2,{46,97,0}}, +/* 23665 */ {(11<<2)|2,{46,97,0}}, +/* 23666 */ {(11<<2)|2,{46,97,0}}, +/* 23667 */ {(11<<2)|2,{46,97,0}}, +/* 23668 */ {(11<<2)|2,{46,97,0}}, +/* 23669 */ {(11<<2)|2,{46,97,0}}, +/* 23670 */ {(11<<2)|2,{46,97,0}}, +/* 23671 */ {(11<<2)|2,{46,97,0}}, +/* 23672 */ {(11<<2)|2,{46,97,0}}, +/* 23673 */ {(11<<2)|2,{46,97,0}}, +/* 23674 */ {(11<<2)|2,{46,97,0}}, +/* 23675 */ {(11<<2)|2,{46,97,0}}, +/* 23676 */ {(11<<2)|2,{46,97,0}}, +/* 23677 */ {(11<<2)|2,{46,97,0}}, +/* 23678 */ {(11<<2)|2,{46,97,0}}, +/* 23679 */ {(11<<2)|2,{46,97,0}}, +/* 23680 */ {(16<<2)|3,{46,99,48}}, +/* 23681 */ {(16<<2)|3,{46,99,49}}, +/* 23682 */ {(16<<2)|3,{46,99,50}}, +/* 23683 */ {(16<<2)|3,{46,99,97}}, +/* 23684 */ {(16<<2)|3,{46,99,99}}, +/* 23685 */ {(16<<2)|3,{46,99,101}}, +/* 23686 */ {(16<<2)|3,{46,99,105}}, +/* 23687 */ {(16<<2)|3,{46,99,111}}, +/* 23688 */ {(16<<2)|3,{46,99,115}}, +/* 23689 */ {(16<<2)|3,{46,99,116}}, +/* 23690 */ {(11<<2)|2,{46,99,0}}, +/* 23691 */ {(11<<2)|2,{46,99,0}}, +/* 23692 */ {(11<<2)|2,{46,99,0}}, +/* 23693 */ {(11<<2)|2,{46,99,0}}, +/* 23694 */ {(11<<2)|2,{46,99,0}}, +/* 23695 */ {(11<<2)|2,{46,99,0}}, +/* 23696 */ {(11<<2)|2,{46,99,0}}, +/* 23697 */ {(11<<2)|2,{46,99,0}}, +/* 23698 */ {(11<<2)|2,{46,99,0}}, +/* 23699 */ {(11<<2)|2,{46,99,0}}, +/* 23700 */ {(11<<2)|2,{46,99,0}}, +/* 23701 */ {(11<<2)|2,{46,99,0}}, +/* 23702 */ {(11<<2)|2,{46,99,0}}, +/* 23703 */ {(11<<2)|2,{46,99,0}}, +/* 23704 */ {(11<<2)|2,{46,99,0}}, +/* 23705 */ {(11<<2)|2,{46,99,0}}, +/* 23706 */ {(11<<2)|2,{46,99,0}}, +/* 23707 */ {(11<<2)|2,{46,99,0}}, +/* 23708 */ {(11<<2)|2,{46,99,0}}, +/* 23709 */ {(11<<2)|2,{46,99,0}}, +/* 23710 */ {(11<<2)|2,{46,99,0}}, +/* 23711 */ {(11<<2)|2,{46,99,0}}, +/* 23712 */ {(16<<2)|3,{46,101,48}}, +/* 23713 */ {(16<<2)|3,{46,101,49}}, +/* 23714 */ {(16<<2)|3,{46,101,50}}, +/* 23715 */ {(16<<2)|3,{46,101,97}}, +/* 23716 */ {(16<<2)|3,{46,101,99}}, +/* 23717 */ {(16<<2)|3,{46,101,101}}, +/* 23718 */ {(16<<2)|3,{46,101,105}}, +/* 23719 */ {(16<<2)|3,{46,101,111}}, +/* 23720 */ {(16<<2)|3,{46,101,115}}, +/* 23721 */ {(16<<2)|3,{46,101,116}}, +/* 23722 */ {(11<<2)|2,{46,101,0}}, +/* 23723 */ {(11<<2)|2,{46,101,0}}, +/* 23724 */ {(11<<2)|2,{46,101,0}}, +/* 23725 */ {(11<<2)|2,{46,101,0}}, +/* 23726 */ {(11<<2)|2,{46,101,0}}, +/* 23727 */ {(11<<2)|2,{46,101,0}}, +/* 23728 */ {(11<<2)|2,{46,101,0}}, +/* 23729 */ {(11<<2)|2,{46,101,0}}, +/* 23730 */ {(11<<2)|2,{46,101,0}}, +/* 23731 */ {(11<<2)|2,{46,101,0}}, +/* 23732 */ {(11<<2)|2,{46,101,0}}, +/* 23733 */ {(11<<2)|2,{46,101,0}}, +/* 23734 */ {(11<<2)|2,{46,101,0}}, +/* 23735 */ {(11<<2)|2,{46,101,0}}, +/* 23736 */ {(11<<2)|2,{46,101,0}}, +/* 23737 */ {(11<<2)|2,{46,101,0}}, +/* 23738 */ {(11<<2)|2,{46,101,0}}, +/* 23739 */ {(11<<2)|2,{46,101,0}}, +/* 23740 */ {(11<<2)|2,{46,101,0}}, +/* 23741 */ {(11<<2)|2,{46,101,0}}, +/* 23742 */ {(11<<2)|2,{46,101,0}}, +/* 23743 */ {(11<<2)|2,{46,101,0}}, +/* 23744 */ {(16<<2)|3,{46,105,48}}, +/* 23745 */ {(16<<2)|3,{46,105,49}}, +/* 23746 */ {(16<<2)|3,{46,105,50}}, +/* 23747 */ {(16<<2)|3,{46,105,97}}, +/* 23748 */ {(16<<2)|3,{46,105,99}}, +/* 23749 */ {(16<<2)|3,{46,105,101}}, +/* 23750 */ {(16<<2)|3,{46,105,105}}, +/* 23751 */ {(16<<2)|3,{46,105,111}}, +/* 23752 */ {(16<<2)|3,{46,105,115}}, +/* 23753 */ {(16<<2)|3,{46,105,116}}, +/* 23754 */ {(11<<2)|2,{46,105,0}}, +/* 23755 */ {(11<<2)|2,{46,105,0}}, +/* 23756 */ {(11<<2)|2,{46,105,0}}, +/* 23757 */ {(11<<2)|2,{46,105,0}}, +/* 23758 */ {(11<<2)|2,{46,105,0}}, +/* 23759 */ {(11<<2)|2,{46,105,0}}, +/* 23760 */ {(11<<2)|2,{46,105,0}}, +/* 23761 */ {(11<<2)|2,{46,105,0}}, +/* 23762 */ {(11<<2)|2,{46,105,0}}, +/* 23763 */ {(11<<2)|2,{46,105,0}}, +/* 23764 */ {(11<<2)|2,{46,105,0}}, +/* 23765 */ {(11<<2)|2,{46,105,0}}, +/* 23766 */ {(11<<2)|2,{46,105,0}}, +/* 23767 */ {(11<<2)|2,{46,105,0}}, +/* 23768 */ {(11<<2)|2,{46,105,0}}, +/* 23769 */ {(11<<2)|2,{46,105,0}}, +/* 23770 */ {(11<<2)|2,{46,105,0}}, +/* 23771 */ {(11<<2)|2,{46,105,0}}, +/* 23772 */ {(11<<2)|2,{46,105,0}}, +/* 23773 */ {(11<<2)|2,{46,105,0}}, +/* 23774 */ {(11<<2)|2,{46,105,0}}, +/* 23775 */ {(11<<2)|2,{46,105,0}}, +/* 23776 */ {(16<<2)|3,{46,111,48}}, +/* 23777 */ {(16<<2)|3,{46,111,49}}, +/* 23778 */ {(16<<2)|3,{46,111,50}}, +/* 23779 */ {(16<<2)|3,{46,111,97}}, +/* 23780 */ {(16<<2)|3,{46,111,99}}, +/* 23781 */ {(16<<2)|3,{46,111,101}}, +/* 23782 */ {(16<<2)|3,{46,111,105}}, +/* 23783 */ {(16<<2)|3,{46,111,111}}, +/* 23784 */ {(16<<2)|3,{46,111,115}}, +/* 23785 */ {(16<<2)|3,{46,111,116}}, +/* 23786 */ {(11<<2)|2,{46,111,0}}, +/* 23787 */ {(11<<2)|2,{46,111,0}}, +/* 23788 */ {(11<<2)|2,{46,111,0}}, +/* 23789 */ {(11<<2)|2,{46,111,0}}, +/* 23790 */ {(11<<2)|2,{46,111,0}}, +/* 23791 */ {(11<<2)|2,{46,111,0}}, +/* 23792 */ {(11<<2)|2,{46,111,0}}, +/* 23793 */ {(11<<2)|2,{46,111,0}}, +/* 23794 */ {(11<<2)|2,{46,111,0}}, +/* 23795 */ {(11<<2)|2,{46,111,0}}, +/* 23796 */ {(11<<2)|2,{46,111,0}}, +/* 23797 */ {(11<<2)|2,{46,111,0}}, +/* 23798 */ {(11<<2)|2,{46,111,0}}, +/* 23799 */ {(11<<2)|2,{46,111,0}}, +/* 23800 */ {(11<<2)|2,{46,111,0}}, +/* 23801 */ {(11<<2)|2,{46,111,0}}, +/* 23802 */ {(11<<2)|2,{46,111,0}}, +/* 23803 */ {(11<<2)|2,{46,111,0}}, +/* 23804 */ {(11<<2)|2,{46,111,0}}, +/* 23805 */ {(11<<2)|2,{46,111,0}}, +/* 23806 */ {(11<<2)|2,{46,111,0}}, +/* 23807 */ {(11<<2)|2,{46,111,0}}, +/* 23808 */ {(16<<2)|3,{46,115,48}}, +/* 23809 */ {(16<<2)|3,{46,115,49}}, +/* 23810 */ {(16<<2)|3,{46,115,50}}, +/* 23811 */ {(16<<2)|3,{46,115,97}}, +/* 23812 */ {(16<<2)|3,{46,115,99}}, +/* 23813 */ {(16<<2)|3,{46,115,101}}, +/* 23814 */ {(16<<2)|3,{46,115,105}}, +/* 23815 */ {(16<<2)|3,{46,115,111}}, +/* 23816 */ {(16<<2)|3,{46,115,115}}, +/* 23817 */ {(16<<2)|3,{46,115,116}}, +/* 23818 */ {(11<<2)|2,{46,115,0}}, +/* 23819 */ {(11<<2)|2,{46,115,0}}, +/* 23820 */ {(11<<2)|2,{46,115,0}}, +/* 23821 */ {(11<<2)|2,{46,115,0}}, +/* 23822 */ {(11<<2)|2,{46,115,0}}, +/* 23823 */ {(11<<2)|2,{46,115,0}}, +/* 23824 */ {(11<<2)|2,{46,115,0}}, +/* 23825 */ {(11<<2)|2,{46,115,0}}, +/* 23826 */ {(11<<2)|2,{46,115,0}}, +/* 23827 */ {(11<<2)|2,{46,115,0}}, +/* 23828 */ {(11<<2)|2,{46,115,0}}, +/* 23829 */ {(11<<2)|2,{46,115,0}}, +/* 23830 */ {(11<<2)|2,{46,115,0}}, +/* 23831 */ {(11<<2)|2,{46,115,0}}, +/* 23832 */ {(11<<2)|2,{46,115,0}}, +/* 23833 */ {(11<<2)|2,{46,115,0}}, +/* 23834 */ {(11<<2)|2,{46,115,0}}, +/* 23835 */ {(11<<2)|2,{46,115,0}}, +/* 23836 */ {(11<<2)|2,{46,115,0}}, +/* 23837 */ {(11<<2)|2,{46,115,0}}, +/* 23838 */ {(11<<2)|2,{46,115,0}}, +/* 23839 */ {(11<<2)|2,{46,115,0}}, +/* 23840 */ {(16<<2)|3,{46,116,48}}, +/* 23841 */ {(16<<2)|3,{46,116,49}}, +/* 23842 */ {(16<<2)|3,{46,116,50}}, +/* 23843 */ {(16<<2)|3,{46,116,97}}, +/* 23844 */ {(16<<2)|3,{46,116,99}}, +/* 23845 */ {(16<<2)|3,{46,116,101}}, +/* 23846 */ {(16<<2)|3,{46,116,105}}, +/* 23847 */ {(16<<2)|3,{46,116,111}}, +/* 23848 */ {(16<<2)|3,{46,116,115}}, +/* 23849 */ {(16<<2)|3,{46,116,116}}, +/* 23850 */ {(11<<2)|2,{46,116,0}}, +/* 23851 */ {(11<<2)|2,{46,116,0}}, +/* 23852 */ {(11<<2)|2,{46,116,0}}, +/* 23853 */ {(11<<2)|2,{46,116,0}}, +/* 23854 */ {(11<<2)|2,{46,116,0}}, +/* 23855 */ {(11<<2)|2,{46,116,0}}, +/* 23856 */ {(11<<2)|2,{46,116,0}}, +/* 23857 */ {(11<<2)|2,{46,116,0}}, +/* 23858 */ {(11<<2)|2,{46,116,0}}, +/* 23859 */ {(11<<2)|2,{46,116,0}}, +/* 23860 */ {(11<<2)|2,{46,116,0}}, +/* 23861 */ {(11<<2)|2,{46,116,0}}, +/* 23862 */ {(11<<2)|2,{46,116,0}}, +/* 23863 */ {(11<<2)|2,{46,116,0}}, +/* 23864 */ {(11<<2)|2,{46,116,0}}, +/* 23865 */ {(11<<2)|2,{46,116,0}}, +/* 23866 */ {(11<<2)|2,{46,116,0}}, +/* 23867 */ {(11<<2)|2,{46,116,0}}, +/* 23868 */ {(11<<2)|2,{46,116,0}}, +/* 23869 */ {(11<<2)|2,{46,116,0}}, +/* 23870 */ {(11<<2)|2,{46,116,0}}, +/* 23871 */ {(11<<2)|2,{46,116,0}}, +/* 23872 */ {(12<<2)|2,{46,32,0}}, +/* 23873 */ {(12<<2)|2,{46,32,0}}, +/* 23874 */ {(12<<2)|2,{46,32,0}}, +/* 23875 */ {(12<<2)|2,{46,32,0}}, +/* 23876 */ {(12<<2)|2,{46,32,0}}, +/* 23877 */ {(12<<2)|2,{46,32,0}}, +/* 23878 */ {(12<<2)|2,{46,32,0}}, +/* 23879 */ {(12<<2)|2,{46,32,0}}, +/* 23880 */ {(12<<2)|2,{46,32,0}}, +/* 23881 */ {(12<<2)|2,{46,32,0}}, +/* 23882 */ {(12<<2)|2,{46,32,0}}, +/* 23883 */ {(12<<2)|2,{46,32,0}}, +/* 23884 */ {(12<<2)|2,{46,32,0}}, +/* 23885 */ {(12<<2)|2,{46,32,0}}, +/* 23886 */ {(12<<2)|2,{46,32,0}}, +/* 23887 */ {(12<<2)|2,{46,32,0}}, +/* 23888 */ {(12<<2)|2,{46,37,0}}, +/* 23889 */ {(12<<2)|2,{46,37,0}}, +/* 23890 */ {(12<<2)|2,{46,37,0}}, +/* 23891 */ {(12<<2)|2,{46,37,0}}, +/* 23892 */ {(12<<2)|2,{46,37,0}}, +/* 23893 */ {(12<<2)|2,{46,37,0}}, +/* 23894 */ {(12<<2)|2,{46,37,0}}, +/* 23895 */ {(12<<2)|2,{46,37,0}}, +/* 23896 */ {(12<<2)|2,{46,37,0}}, +/* 23897 */ {(12<<2)|2,{46,37,0}}, +/* 23898 */ {(12<<2)|2,{46,37,0}}, +/* 23899 */ {(12<<2)|2,{46,37,0}}, +/* 23900 */ {(12<<2)|2,{46,37,0}}, +/* 23901 */ {(12<<2)|2,{46,37,0}}, +/* 23902 */ {(12<<2)|2,{46,37,0}}, +/* 23903 */ {(12<<2)|2,{46,37,0}}, +/* 23904 */ {(12<<2)|2,{46,45,0}}, +/* 23905 */ {(12<<2)|2,{46,45,0}}, +/* 23906 */ {(12<<2)|2,{46,45,0}}, +/* 23907 */ {(12<<2)|2,{46,45,0}}, +/* 23908 */ {(12<<2)|2,{46,45,0}}, +/* 23909 */ {(12<<2)|2,{46,45,0}}, +/* 23910 */ {(12<<2)|2,{46,45,0}}, +/* 23911 */ {(12<<2)|2,{46,45,0}}, +/* 23912 */ {(12<<2)|2,{46,45,0}}, +/* 23913 */ {(12<<2)|2,{46,45,0}}, +/* 23914 */ {(12<<2)|2,{46,45,0}}, +/* 23915 */ {(12<<2)|2,{46,45,0}}, +/* 23916 */ {(12<<2)|2,{46,45,0}}, +/* 23917 */ {(12<<2)|2,{46,45,0}}, +/* 23918 */ {(12<<2)|2,{46,45,0}}, +/* 23919 */ {(12<<2)|2,{46,45,0}}, +/* 23920 */ {(12<<2)|2,{46,46,0}}, +/* 23921 */ {(12<<2)|2,{46,46,0}}, +/* 23922 */ {(12<<2)|2,{46,46,0}}, +/* 23923 */ {(12<<2)|2,{46,46,0}}, +/* 23924 */ {(12<<2)|2,{46,46,0}}, +/* 23925 */ {(12<<2)|2,{46,46,0}}, +/* 23926 */ {(12<<2)|2,{46,46,0}}, +/* 23927 */ {(12<<2)|2,{46,46,0}}, +/* 23928 */ {(12<<2)|2,{46,46,0}}, +/* 23929 */ {(12<<2)|2,{46,46,0}}, +/* 23930 */ {(12<<2)|2,{46,46,0}}, +/* 23931 */ {(12<<2)|2,{46,46,0}}, +/* 23932 */ {(12<<2)|2,{46,46,0}}, +/* 23933 */ {(12<<2)|2,{46,46,0}}, +/* 23934 */ {(12<<2)|2,{46,46,0}}, +/* 23935 */ {(12<<2)|2,{46,46,0}}, +/* 23936 */ {(12<<2)|2,{46,47,0}}, +/* 23937 */ {(12<<2)|2,{46,47,0}}, +/* 23938 */ {(12<<2)|2,{46,47,0}}, +/* 23939 */ {(12<<2)|2,{46,47,0}}, +/* 23940 */ {(12<<2)|2,{46,47,0}}, +/* 23941 */ {(12<<2)|2,{46,47,0}}, +/* 23942 */ {(12<<2)|2,{46,47,0}}, +/* 23943 */ {(12<<2)|2,{46,47,0}}, +/* 23944 */ {(12<<2)|2,{46,47,0}}, +/* 23945 */ {(12<<2)|2,{46,47,0}}, +/* 23946 */ {(12<<2)|2,{46,47,0}}, +/* 23947 */ {(12<<2)|2,{46,47,0}}, +/* 23948 */ {(12<<2)|2,{46,47,0}}, +/* 23949 */ {(12<<2)|2,{46,47,0}}, +/* 23950 */ {(12<<2)|2,{46,47,0}}, +/* 23951 */ {(12<<2)|2,{46,47,0}}, +/* 23952 */ {(12<<2)|2,{46,51,0}}, +/* 23953 */ {(12<<2)|2,{46,51,0}}, +/* 23954 */ {(12<<2)|2,{46,51,0}}, +/* 23955 */ {(12<<2)|2,{46,51,0}}, +/* 23956 */ {(12<<2)|2,{46,51,0}}, +/* 23957 */ {(12<<2)|2,{46,51,0}}, +/* 23958 */ {(12<<2)|2,{46,51,0}}, +/* 23959 */ {(12<<2)|2,{46,51,0}}, +/* 23960 */ {(12<<2)|2,{46,51,0}}, +/* 23961 */ {(12<<2)|2,{46,51,0}}, +/* 23962 */ {(12<<2)|2,{46,51,0}}, +/* 23963 */ {(12<<2)|2,{46,51,0}}, +/* 23964 */ {(12<<2)|2,{46,51,0}}, +/* 23965 */ {(12<<2)|2,{46,51,0}}, +/* 23966 */ {(12<<2)|2,{46,51,0}}, +/* 23967 */ {(12<<2)|2,{46,51,0}}, +/* 23968 */ {(12<<2)|2,{46,52,0}}, +/* 23969 */ {(12<<2)|2,{46,52,0}}, +/* 23970 */ {(12<<2)|2,{46,52,0}}, +/* 23971 */ {(12<<2)|2,{46,52,0}}, +/* 23972 */ {(12<<2)|2,{46,52,0}}, +/* 23973 */ {(12<<2)|2,{46,52,0}}, +/* 23974 */ {(12<<2)|2,{46,52,0}}, +/* 23975 */ {(12<<2)|2,{46,52,0}}, +/* 23976 */ {(12<<2)|2,{46,52,0}}, +/* 23977 */ {(12<<2)|2,{46,52,0}}, +/* 23978 */ {(12<<2)|2,{46,52,0}}, +/* 23979 */ {(12<<2)|2,{46,52,0}}, +/* 23980 */ {(12<<2)|2,{46,52,0}}, +/* 23981 */ {(12<<2)|2,{46,52,0}}, +/* 23982 */ {(12<<2)|2,{46,52,0}}, +/* 23983 */ {(12<<2)|2,{46,52,0}}, +/* 23984 */ {(12<<2)|2,{46,53,0}}, +/* 23985 */ {(12<<2)|2,{46,53,0}}, +/* 23986 */ {(12<<2)|2,{46,53,0}}, +/* 23987 */ {(12<<2)|2,{46,53,0}}, +/* 23988 */ {(12<<2)|2,{46,53,0}}, +/* 23989 */ {(12<<2)|2,{46,53,0}}, +/* 23990 */ {(12<<2)|2,{46,53,0}}, +/* 23991 */ {(12<<2)|2,{46,53,0}}, +/* 23992 */ {(12<<2)|2,{46,53,0}}, +/* 23993 */ {(12<<2)|2,{46,53,0}}, +/* 23994 */ {(12<<2)|2,{46,53,0}}, +/* 23995 */ {(12<<2)|2,{46,53,0}}, +/* 23996 */ {(12<<2)|2,{46,53,0}}, +/* 23997 */ {(12<<2)|2,{46,53,0}}, +/* 23998 */ {(12<<2)|2,{46,53,0}}, +/* 23999 */ {(12<<2)|2,{46,53,0}}, +/* 24000 */ {(12<<2)|2,{46,54,0}}, +/* 24001 */ {(12<<2)|2,{46,54,0}}, +/* 24002 */ {(12<<2)|2,{46,54,0}}, +/* 24003 */ {(12<<2)|2,{46,54,0}}, +/* 24004 */ {(12<<2)|2,{46,54,0}}, +/* 24005 */ {(12<<2)|2,{46,54,0}}, +/* 24006 */ {(12<<2)|2,{46,54,0}}, +/* 24007 */ {(12<<2)|2,{46,54,0}}, +/* 24008 */ {(12<<2)|2,{46,54,0}}, +/* 24009 */ {(12<<2)|2,{46,54,0}}, +/* 24010 */ {(12<<2)|2,{46,54,0}}, +/* 24011 */ {(12<<2)|2,{46,54,0}}, +/* 24012 */ {(12<<2)|2,{46,54,0}}, +/* 24013 */ {(12<<2)|2,{46,54,0}}, +/* 24014 */ {(12<<2)|2,{46,54,0}}, +/* 24015 */ {(12<<2)|2,{46,54,0}}, +/* 24016 */ {(12<<2)|2,{46,55,0}}, +/* 24017 */ {(12<<2)|2,{46,55,0}}, +/* 24018 */ {(12<<2)|2,{46,55,0}}, +/* 24019 */ {(12<<2)|2,{46,55,0}}, +/* 24020 */ {(12<<2)|2,{46,55,0}}, +/* 24021 */ {(12<<2)|2,{46,55,0}}, +/* 24022 */ {(12<<2)|2,{46,55,0}}, +/* 24023 */ {(12<<2)|2,{46,55,0}}, +/* 24024 */ {(12<<2)|2,{46,55,0}}, +/* 24025 */ {(12<<2)|2,{46,55,0}}, +/* 24026 */ {(12<<2)|2,{46,55,0}}, +/* 24027 */ {(12<<2)|2,{46,55,0}}, +/* 24028 */ {(12<<2)|2,{46,55,0}}, +/* 24029 */ {(12<<2)|2,{46,55,0}}, +/* 24030 */ {(12<<2)|2,{46,55,0}}, +/* 24031 */ {(12<<2)|2,{46,55,0}}, +/* 24032 */ {(12<<2)|2,{46,56,0}}, +/* 24033 */ {(12<<2)|2,{46,56,0}}, +/* 24034 */ {(12<<2)|2,{46,56,0}}, +/* 24035 */ {(12<<2)|2,{46,56,0}}, +/* 24036 */ {(12<<2)|2,{46,56,0}}, +/* 24037 */ {(12<<2)|2,{46,56,0}}, +/* 24038 */ {(12<<2)|2,{46,56,0}}, +/* 24039 */ {(12<<2)|2,{46,56,0}}, +/* 24040 */ {(12<<2)|2,{46,56,0}}, +/* 24041 */ {(12<<2)|2,{46,56,0}}, +/* 24042 */ {(12<<2)|2,{46,56,0}}, +/* 24043 */ {(12<<2)|2,{46,56,0}}, +/* 24044 */ {(12<<2)|2,{46,56,0}}, +/* 24045 */ {(12<<2)|2,{46,56,0}}, +/* 24046 */ {(12<<2)|2,{46,56,0}}, +/* 24047 */ {(12<<2)|2,{46,56,0}}, +/* 24048 */ {(12<<2)|2,{46,57,0}}, +/* 24049 */ {(12<<2)|2,{46,57,0}}, +/* 24050 */ {(12<<2)|2,{46,57,0}}, +/* 24051 */ {(12<<2)|2,{46,57,0}}, +/* 24052 */ {(12<<2)|2,{46,57,0}}, +/* 24053 */ {(12<<2)|2,{46,57,0}}, +/* 24054 */ {(12<<2)|2,{46,57,0}}, +/* 24055 */ {(12<<2)|2,{46,57,0}}, +/* 24056 */ {(12<<2)|2,{46,57,0}}, +/* 24057 */ {(12<<2)|2,{46,57,0}}, +/* 24058 */ {(12<<2)|2,{46,57,0}}, +/* 24059 */ {(12<<2)|2,{46,57,0}}, +/* 24060 */ {(12<<2)|2,{46,57,0}}, +/* 24061 */ {(12<<2)|2,{46,57,0}}, +/* 24062 */ {(12<<2)|2,{46,57,0}}, +/* 24063 */ {(12<<2)|2,{46,57,0}}, +/* 24064 */ {(12<<2)|2,{46,61,0}}, +/* 24065 */ {(12<<2)|2,{46,61,0}}, +/* 24066 */ {(12<<2)|2,{46,61,0}}, +/* 24067 */ {(12<<2)|2,{46,61,0}}, +/* 24068 */ {(12<<2)|2,{46,61,0}}, +/* 24069 */ {(12<<2)|2,{46,61,0}}, +/* 24070 */ {(12<<2)|2,{46,61,0}}, +/* 24071 */ {(12<<2)|2,{46,61,0}}, +/* 24072 */ {(12<<2)|2,{46,61,0}}, +/* 24073 */ {(12<<2)|2,{46,61,0}}, +/* 24074 */ {(12<<2)|2,{46,61,0}}, +/* 24075 */ {(12<<2)|2,{46,61,0}}, +/* 24076 */ {(12<<2)|2,{46,61,0}}, +/* 24077 */ {(12<<2)|2,{46,61,0}}, +/* 24078 */ {(12<<2)|2,{46,61,0}}, +/* 24079 */ {(12<<2)|2,{46,61,0}}, +/* 24080 */ {(12<<2)|2,{46,65,0}}, +/* 24081 */ {(12<<2)|2,{46,65,0}}, +/* 24082 */ {(12<<2)|2,{46,65,0}}, +/* 24083 */ {(12<<2)|2,{46,65,0}}, +/* 24084 */ {(12<<2)|2,{46,65,0}}, +/* 24085 */ {(12<<2)|2,{46,65,0}}, +/* 24086 */ {(12<<2)|2,{46,65,0}}, +/* 24087 */ {(12<<2)|2,{46,65,0}}, +/* 24088 */ {(12<<2)|2,{46,65,0}}, +/* 24089 */ {(12<<2)|2,{46,65,0}}, +/* 24090 */ {(12<<2)|2,{46,65,0}}, +/* 24091 */ {(12<<2)|2,{46,65,0}}, +/* 24092 */ {(12<<2)|2,{46,65,0}}, +/* 24093 */ {(12<<2)|2,{46,65,0}}, +/* 24094 */ {(12<<2)|2,{46,65,0}}, +/* 24095 */ {(12<<2)|2,{46,65,0}}, +/* 24096 */ {(12<<2)|2,{46,95,0}}, +/* 24097 */ {(12<<2)|2,{46,95,0}}, +/* 24098 */ {(12<<2)|2,{46,95,0}}, +/* 24099 */ {(12<<2)|2,{46,95,0}}, +/* 24100 */ {(12<<2)|2,{46,95,0}}, +/* 24101 */ {(12<<2)|2,{46,95,0}}, +/* 24102 */ {(12<<2)|2,{46,95,0}}, +/* 24103 */ {(12<<2)|2,{46,95,0}}, +/* 24104 */ {(12<<2)|2,{46,95,0}}, +/* 24105 */ {(12<<2)|2,{46,95,0}}, +/* 24106 */ {(12<<2)|2,{46,95,0}}, +/* 24107 */ {(12<<2)|2,{46,95,0}}, +/* 24108 */ {(12<<2)|2,{46,95,0}}, +/* 24109 */ {(12<<2)|2,{46,95,0}}, +/* 24110 */ {(12<<2)|2,{46,95,0}}, +/* 24111 */ {(12<<2)|2,{46,95,0}}, +/* 24112 */ {(12<<2)|2,{46,98,0}}, +/* 24113 */ {(12<<2)|2,{46,98,0}}, +/* 24114 */ {(12<<2)|2,{46,98,0}}, +/* 24115 */ {(12<<2)|2,{46,98,0}}, +/* 24116 */ {(12<<2)|2,{46,98,0}}, +/* 24117 */ {(12<<2)|2,{46,98,0}}, +/* 24118 */ {(12<<2)|2,{46,98,0}}, +/* 24119 */ {(12<<2)|2,{46,98,0}}, +/* 24120 */ {(12<<2)|2,{46,98,0}}, +/* 24121 */ {(12<<2)|2,{46,98,0}}, +/* 24122 */ {(12<<2)|2,{46,98,0}}, +/* 24123 */ {(12<<2)|2,{46,98,0}}, +/* 24124 */ {(12<<2)|2,{46,98,0}}, +/* 24125 */ {(12<<2)|2,{46,98,0}}, +/* 24126 */ {(12<<2)|2,{46,98,0}}, +/* 24127 */ {(12<<2)|2,{46,98,0}}, +/* 24128 */ {(12<<2)|2,{46,100,0}}, +/* 24129 */ {(12<<2)|2,{46,100,0}}, +/* 24130 */ {(12<<2)|2,{46,100,0}}, +/* 24131 */ {(12<<2)|2,{46,100,0}}, +/* 24132 */ {(12<<2)|2,{46,100,0}}, +/* 24133 */ {(12<<2)|2,{46,100,0}}, +/* 24134 */ {(12<<2)|2,{46,100,0}}, +/* 24135 */ {(12<<2)|2,{46,100,0}}, +/* 24136 */ {(12<<2)|2,{46,100,0}}, +/* 24137 */ {(12<<2)|2,{46,100,0}}, +/* 24138 */ {(12<<2)|2,{46,100,0}}, +/* 24139 */ {(12<<2)|2,{46,100,0}}, +/* 24140 */ {(12<<2)|2,{46,100,0}}, +/* 24141 */ {(12<<2)|2,{46,100,0}}, +/* 24142 */ {(12<<2)|2,{46,100,0}}, +/* 24143 */ {(12<<2)|2,{46,100,0}}, +/* 24144 */ {(12<<2)|2,{46,102,0}}, +/* 24145 */ {(12<<2)|2,{46,102,0}}, +/* 24146 */ {(12<<2)|2,{46,102,0}}, +/* 24147 */ {(12<<2)|2,{46,102,0}}, +/* 24148 */ {(12<<2)|2,{46,102,0}}, +/* 24149 */ {(12<<2)|2,{46,102,0}}, +/* 24150 */ {(12<<2)|2,{46,102,0}}, +/* 24151 */ {(12<<2)|2,{46,102,0}}, +/* 24152 */ {(12<<2)|2,{46,102,0}}, +/* 24153 */ {(12<<2)|2,{46,102,0}}, +/* 24154 */ {(12<<2)|2,{46,102,0}}, +/* 24155 */ {(12<<2)|2,{46,102,0}}, +/* 24156 */ {(12<<2)|2,{46,102,0}}, +/* 24157 */ {(12<<2)|2,{46,102,0}}, +/* 24158 */ {(12<<2)|2,{46,102,0}}, +/* 24159 */ {(12<<2)|2,{46,102,0}}, +/* 24160 */ {(12<<2)|2,{46,103,0}}, +/* 24161 */ {(12<<2)|2,{46,103,0}}, +/* 24162 */ {(12<<2)|2,{46,103,0}}, +/* 24163 */ {(12<<2)|2,{46,103,0}}, +/* 24164 */ {(12<<2)|2,{46,103,0}}, +/* 24165 */ {(12<<2)|2,{46,103,0}}, +/* 24166 */ {(12<<2)|2,{46,103,0}}, +/* 24167 */ {(12<<2)|2,{46,103,0}}, +/* 24168 */ {(12<<2)|2,{46,103,0}}, +/* 24169 */ {(12<<2)|2,{46,103,0}}, +/* 24170 */ {(12<<2)|2,{46,103,0}}, +/* 24171 */ {(12<<2)|2,{46,103,0}}, +/* 24172 */ {(12<<2)|2,{46,103,0}}, +/* 24173 */ {(12<<2)|2,{46,103,0}}, +/* 24174 */ {(12<<2)|2,{46,103,0}}, +/* 24175 */ {(12<<2)|2,{46,103,0}}, +/* 24176 */ {(12<<2)|2,{46,104,0}}, +/* 24177 */ {(12<<2)|2,{46,104,0}}, +/* 24178 */ {(12<<2)|2,{46,104,0}}, +/* 24179 */ {(12<<2)|2,{46,104,0}}, +/* 24180 */ {(12<<2)|2,{46,104,0}}, +/* 24181 */ {(12<<2)|2,{46,104,0}}, +/* 24182 */ {(12<<2)|2,{46,104,0}}, +/* 24183 */ {(12<<2)|2,{46,104,0}}, +/* 24184 */ {(12<<2)|2,{46,104,0}}, +/* 24185 */ {(12<<2)|2,{46,104,0}}, +/* 24186 */ {(12<<2)|2,{46,104,0}}, +/* 24187 */ {(12<<2)|2,{46,104,0}}, +/* 24188 */ {(12<<2)|2,{46,104,0}}, +/* 24189 */ {(12<<2)|2,{46,104,0}}, +/* 24190 */ {(12<<2)|2,{46,104,0}}, +/* 24191 */ {(12<<2)|2,{46,104,0}}, +/* 24192 */ {(12<<2)|2,{46,108,0}}, +/* 24193 */ {(12<<2)|2,{46,108,0}}, +/* 24194 */ {(12<<2)|2,{46,108,0}}, +/* 24195 */ {(12<<2)|2,{46,108,0}}, +/* 24196 */ {(12<<2)|2,{46,108,0}}, +/* 24197 */ {(12<<2)|2,{46,108,0}}, +/* 24198 */ {(12<<2)|2,{46,108,0}}, +/* 24199 */ {(12<<2)|2,{46,108,0}}, +/* 24200 */ {(12<<2)|2,{46,108,0}}, +/* 24201 */ {(12<<2)|2,{46,108,0}}, +/* 24202 */ {(12<<2)|2,{46,108,0}}, +/* 24203 */ {(12<<2)|2,{46,108,0}}, +/* 24204 */ {(12<<2)|2,{46,108,0}}, +/* 24205 */ {(12<<2)|2,{46,108,0}}, +/* 24206 */ {(12<<2)|2,{46,108,0}}, +/* 24207 */ {(12<<2)|2,{46,108,0}}, +/* 24208 */ {(12<<2)|2,{46,109,0}}, +/* 24209 */ {(12<<2)|2,{46,109,0}}, +/* 24210 */ {(12<<2)|2,{46,109,0}}, +/* 24211 */ {(12<<2)|2,{46,109,0}}, +/* 24212 */ {(12<<2)|2,{46,109,0}}, +/* 24213 */ {(12<<2)|2,{46,109,0}}, +/* 24214 */ {(12<<2)|2,{46,109,0}}, +/* 24215 */ {(12<<2)|2,{46,109,0}}, +/* 24216 */ {(12<<2)|2,{46,109,0}}, +/* 24217 */ {(12<<2)|2,{46,109,0}}, +/* 24218 */ {(12<<2)|2,{46,109,0}}, +/* 24219 */ {(12<<2)|2,{46,109,0}}, +/* 24220 */ {(12<<2)|2,{46,109,0}}, +/* 24221 */ {(12<<2)|2,{46,109,0}}, +/* 24222 */ {(12<<2)|2,{46,109,0}}, +/* 24223 */ {(12<<2)|2,{46,109,0}}, +/* 24224 */ {(12<<2)|2,{46,110,0}}, +/* 24225 */ {(12<<2)|2,{46,110,0}}, +/* 24226 */ {(12<<2)|2,{46,110,0}}, +/* 24227 */ {(12<<2)|2,{46,110,0}}, +/* 24228 */ {(12<<2)|2,{46,110,0}}, +/* 24229 */ {(12<<2)|2,{46,110,0}}, +/* 24230 */ {(12<<2)|2,{46,110,0}}, +/* 24231 */ {(12<<2)|2,{46,110,0}}, +/* 24232 */ {(12<<2)|2,{46,110,0}}, +/* 24233 */ {(12<<2)|2,{46,110,0}}, +/* 24234 */ {(12<<2)|2,{46,110,0}}, +/* 24235 */ {(12<<2)|2,{46,110,0}}, +/* 24236 */ {(12<<2)|2,{46,110,0}}, +/* 24237 */ {(12<<2)|2,{46,110,0}}, +/* 24238 */ {(12<<2)|2,{46,110,0}}, +/* 24239 */ {(12<<2)|2,{46,110,0}}, +/* 24240 */ {(12<<2)|2,{46,112,0}}, +/* 24241 */ {(12<<2)|2,{46,112,0}}, +/* 24242 */ {(12<<2)|2,{46,112,0}}, +/* 24243 */ {(12<<2)|2,{46,112,0}}, +/* 24244 */ {(12<<2)|2,{46,112,0}}, +/* 24245 */ {(12<<2)|2,{46,112,0}}, +/* 24246 */ {(12<<2)|2,{46,112,0}}, +/* 24247 */ {(12<<2)|2,{46,112,0}}, +/* 24248 */ {(12<<2)|2,{46,112,0}}, +/* 24249 */ {(12<<2)|2,{46,112,0}}, +/* 24250 */ {(12<<2)|2,{46,112,0}}, +/* 24251 */ {(12<<2)|2,{46,112,0}}, +/* 24252 */ {(12<<2)|2,{46,112,0}}, +/* 24253 */ {(12<<2)|2,{46,112,0}}, +/* 24254 */ {(12<<2)|2,{46,112,0}}, +/* 24255 */ {(12<<2)|2,{46,112,0}}, +/* 24256 */ {(12<<2)|2,{46,114,0}}, +/* 24257 */ {(12<<2)|2,{46,114,0}}, +/* 24258 */ {(12<<2)|2,{46,114,0}}, +/* 24259 */ {(12<<2)|2,{46,114,0}}, +/* 24260 */ {(12<<2)|2,{46,114,0}}, +/* 24261 */ {(12<<2)|2,{46,114,0}}, +/* 24262 */ {(12<<2)|2,{46,114,0}}, +/* 24263 */ {(12<<2)|2,{46,114,0}}, +/* 24264 */ {(12<<2)|2,{46,114,0}}, +/* 24265 */ {(12<<2)|2,{46,114,0}}, +/* 24266 */ {(12<<2)|2,{46,114,0}}, +/* 24267 */ {(12<<2)|2,{46,114,0}}, +/* 24268 */ {(12<<2)|2,{46,114,0}}, +/* 24269 */ {(12<<2)|2,{46,114,0}}, +/* 24270 */ {(12<<2)|2,{46,114,0}}, +/* 24271 */ {(12<<2)|2,{46,114,0}}, +/* 24272 */ {(12<<2)|2,{46,117,0}}, +/* 24273 */ {(12<<2)|2,{46,117,0}}, +/* 24274 */ {(12<<2)|2,{46,117,0}}, +/* 24275 */ {(12<<2)|2,{46,117,0}}, +/* 24276 */ {(12<<2)|2,{46,117,0}}, +/* 24277 */ {(12<<2)|2,{46,117,0}}, +/* 24278 */ {(12<<2)|2,{46,117,0}}, +/* 24279 */ {(12<<2)|2,{46,117,0}}, +/* 24280 */ {(12<<2)|2,{46,117,0}}, +/* 24281 */ {(12<<2)|2,{46,117,0}}, +/* 24282 */ {(12<<2)|2,{46,117,0}}, +/* 24283 */ {(12<<2)|2,{46,117,0}}, +/* 24284 */ {(12<<2)|2,{46,117,0}}, +/* 24285 */ {(12<<2)|2,{46,117,0}}, +/* 24286 */ {(12<<2)|2,{46,117,0}}, +/* 24287 */ {(12<<2)|2,{46,117,0}}, +/* 24288 */ {(13<<2)|2,{46,58,0}}, +/* 24289 */ {(13<<2)|2,{46,58,0}}, +/* 24290 */ {(13<<2)|2,{46,58,0}}, +/* 24291 */ {(13<<2)|2,{46,58,0}}, +/* 24292 */ {(13<<2)|2,{46,58,0}}, +/* 24293 */ {(13<<2)|2,{46,58,0}}, +/* 24294 */ {(13<<2)|2,{46,58,0}}, +/* 24295 */ {(13<<2)|2,{46,58,0}}, +/* 24296 */ {(13<<2)|2,{46,66,0}}, +/* 24297 */ {(13<<2)|2,{46,66,0}}, +/* 24298 */ {(13<<2)|2,{46,66,0}}, +/* 24299 */ {(13<<2)|2,{46,66,0}}, +/* 24300 */ {(13<<2)|2,{46,66,0}}, +/* 24301 */ {(13<<2)|2,{46,66,0}}, +/* 24302 */ {(13<<2)|2,{46,66,0}}, +/* 24303 */ {(13<<2)|2,{46,66,0}}, +/* 24304 */ {(13<<2)|2,{46,67,0}}, +/* 24305 */ {(13<<2)|2,{46,67,0}}, +/* 24306 */ {(13<<2)|2,{46,67,0}}, +/* 24307 */ {(13<<2)|2,{46,67,0}}, +/* 24308 */ {(13<<2)|2,{46,67,0}}, +/* 24309 */ {(13<<2)|2,{46,67,0}}, +/* 24310 */ {(13<<2)|2,{46,67,0}}, +/* 24311 */ {(13<<2)|2,{46,67,0}}, +/* 24312 */ {(13<<2)|2,{46,68,0}}, +/* 24313 */ {(13<<2)|2,{46,68,0}}, +/* 24314 */ {(13<<2)|2,{46,68,0}}, +/* 24315 */ {(13<<2)|2,{46,68,0}}, +/* 24316 */ {(13<<2)|2,{46,68,0}}, +/* 24317 */ {(13<<2)|2,{46,68,0}}, +/* 24318 */ {(13<<2)|2,{46,68,0}}, +/* 24319 */ {(13<<2)|2,{46,68,0}}, +/* 24320 */ {(13<<2)|2,{46,69,0}}, +/* 24321 */ {(13<<2)|2,{46,69,0}}, +/* 24322 */ {(13<<2)|2,{46,69,0}}, +/* 24323 */ {(13<<2)|2,{46,69,0}}, +/* 24324 */ {(13<<2)|2,{46,69,0}}, +/* 24325 */ {(13<<2)|2,{46,69,0}}, +/* 24326 */ {(13<<2)|2,{46,69,0}}, +/* 24327 */ {(13<<2)|2,{46,69,0}}, +/* 24328 */ {(13<<2)|2,{46,70,0}}, +/* 24329 */ {(13<<2)|2,{46,70,0}}, +/* 24330 */ {(13<<2)|2,{46,70,0}}, +/* 24331 */ {(13<<2)|2,{46,70,0}}, +/* 24332 */ {(13<<2)|2,{46,70,0}}, +/* 24333 */ {(13<<2)|2,{46,70,0}}, +/* 24334 */ {(13<<2)|2,{46,70,0}}, +/* 24335 */ {(13<<2)|2,{46,70,0}}, +/* 24336 */ {(13<<2)|2,{46,71,0}}, +/* 24337 */ {(13<<2)|2,{46,71,0}}, +/* 24338 */ {(13<<2)|2,{46,71,0}}, +/* 24339 */ {(13<<2)|2,{46,71,0}}, +/* 24340 */ {(13<<2)|2,{46,71,0}}, +/* 24341 */ {(13<<2)|2,{46,71,0}}, +/* 24342 */ {(13<<2)|2,{46,71,0}}, +/* 24343 */ {(13<<2)|2,{46,71,0}}, +/* 24344 */ {(13<<2)|2,{46,72,0}}, +/* 24345 */ {(13<<2)|2,{46,72,0}}, +/* 24346 */ {(13<<2)|2,{46,72,0}}, +/* 24347 */ {(13<<2)|2,{46,72,0}}, +/* 24348 */ {(13<<2)|2,{46,72,0}}, +/* 24349 */ {(13<<2)|2,{46,72,0}}, +/* 24350 */ {(13<<2)|2,{46,72,0}}, +/* 24351 */ {(13<<2)|2,{46,72,0}}, +/* 24352 */ {(13<<2)|2,{46,73,0}}, +/* 24353 */ {(13<<2)|2,{46,73,0}}, +/* 24354 */ {(13<<2)|2,{46,73,0}}, +/* 24355 */ {(13<<2)|2,{46,73,0}}, +/* 24356 */ {(13<<2)|2,{46,73,0}}, +/* 24357 */ {(13<<2)|2,{46,73,0}}, +/* 24358 */ {(13<<2)|2,{46,73,0}}, +/* 24359 */ {(13<<2)|2,{46,73,0}}, +/* 24360 */ {(13<<2)|2,{46,74,0}}, +/* 24361 */ {(13<<2)|2,{46,74,0}}, +/* 24362 */ {(13<<2)|2,{46,74,0}}, +/* 24363 */ {(13<<2)|2,{46,74,0}}, +/* 24364 */ {(13<<2)|2,{46,74,0}}, +/* 24365 */ {(13<<2)|2,{46,74,0}}, +/* 24366 */ {(13<<2)|2,{46,74,0}}, +/* 24367 */ {(13<<2)|2,{46,74,0}}, +/* 24368 */ {(13<<2)|2,{46,75,0}}, +/* 24369 */ {(13<<2)|2,{46,75,0}}, +/* 24370 */ {(13<<2)|2,{46,75,0}}, +/* 24371 */ {(13<<2)|2,{46,75,0}}, +/* 24372 */ {(13<<2)|2,{46,75,0}}, +/* 24373 */ {(13<<2)|2,{46,75,0}}, +/* 24374 */ {(13<<2)|2,{46,75,0}}, +/* 24375 */ {(13<<2)|2,{46,75,0}}, +/* 24376 */ {(13<<2)|2,{46,76,0}}, +/* 24377 */ {(13<<2)|2,{46,76,0}}, +/* 24378 */ {(13<<2)|2,{46,76,0}}, +/* 24379 */ {(13<<2)|2,{46,76,0}}, +/* 24380 */ {(13<<2)|2,{46,76,0}}, +/* 24381 */ {(13<<2)|2,{46,76,0}}, +/* 24382 */ {(13<<2)|2,{46,76,0}}, +/* 24383 */ {(13<<2)|2,{46,76,0}}, +/* 24384 */ {(13<<2)|2,{46,77,0}}, +/* 24385 */ {(13<<2)|2,{46,77,0}}, +/* 24386 */ {(13<<2)|2,{46,77,0}}, +/* 24387 */ {(13<<2)|2,{46,77,0}}, +/* 24388 */ {(13<<2)|2,{46,77,0}}, +/* 24389 */ {(13<<2)|2,{46,77,0}}, +/* 24390 */ {(13<<2)|2,{46,77,0}}, +/* 24391 */ {(13<<2)|2,{46,77,0}}, +/* 24392 */ {(13<<2)|2,{46,78,0}}, +/* 24393 */ {(13<<2)|2,{46,78,0}}, +/* 24394 */ {(13<<2)|2,{46,78,0}}, +/* 24395 */ {(13<<2)|2,{46,78,0}}, +/* 24396 */ {(13<<2)|2,{46,78,0}}, +/* 24397 */ {(13<<2)|2,{46,78,0}}, +/* 24398 */ {(13<<2)|2,{46,78,0}}, +/* 24399 */ {(13<<2)|2,{46,78,0}}, +/* 24400 */ {(13<<2)|2,{46,79,0}}, +/* 24401 */ {(13<<2)|2,{46,79,0}}, +/* 24402 */ {(13<<2)|2,{46,79,0}}, +/* 24403 */ {(13<<2)|2,{46,79,0}}, +/* 24404 */ {(13<<2)|2,{46,79,0}}, +/* 24405 */ {(13<<2)|2,{46,79,0}}, +/* 24406 */ {(13<<2)|2,{46,79,0}}, +/* 24407 */ {(13<<2)|2,{46,79,0}}, +/* 24408 */ {(13<<2)|2,{46,80,0}}, +/* 24409 */ {(13<<2)|2,{46,80,0}}, +/* 24410 */ {(13<<2)|2,{46,80,0}}, +/* 24411 */ {(13<<2)|2,{46,80,0}}, +/* 24412 */ {(13<<2)|2,{46,80,0}}, +/* 24413 */ {(13<<2)|2,{46,80,0}}, +/* 24414 */ {(13<<2)|2,{46,80,0}}, +/* 24415 */ {(13<<2)|2,{46,80,0}}, +/* 24416 */ {(13<<2)|2,{46,81,0}}, +/* 24417 */ {(13<<2)|2,{46,81,0}}, +/* 24418 */ {(13<<2)|2,{46,81,0}}, +/* 24419 */ {(13<<2)|2,{46,81,0}}, +/* 24420 */ {(13<<2)|2,{46,81,0}}, +/* 24421 */ {(13<<2)|2,{46,81,0}}, +/* 24422 */ {(13<<2)|2,{46,81,0}}, +/* 24423 */ {(13<<2)|2,{46,81,0}}, +/* 24424 */ {(13<<2)|2,{46,82,0}}, +/* 24425 */ {(13<<2)|2,{46,82,0}}, +/* 24426 */ {(13<<2)|2,{46,82,0}}, +/* 24427 */ {(13<<2)|2,{46,82,0}}, +/* 24428 */ {(13<<2)|2,{46,82,0}}, +/* 24429 */ {(13<<2)|2,{46,82,0}}, +/* 24430 */ {(13<<2)|2,{46,82,0}}, +/* 24431 */ {(13<<2)|2,{46,82,0}}, +/* 24432 */ {(13<<2)|2,{46,83,0}}, +/* 24433 */ {(13<<2)|2,{46,83,0}}, +/* 24434 */ {(13<<2)|2,{46,83,0}}, +/* 24435 */ {(13<<2)|2,{46,83,0}}, +/* 24436 */ {(13<<2)|2,{46,83,0}}, +/* 24437 */ {(13<<2)|2,{46,83,0}}, +/* 24438 */ {(13<<2)|2,{46,83,0}}, +/* 24439 */ {(13<<2)|2,{46,83,0}}, +/* 24440 */ {(13<<2)|2,{46,84,0}}, +/* 24441 */ {(13<<2)|2,{46,84,0}}, +/* 24442 */ {(13<<2)|2,{46,84,0}}, +/* 24443 */ {(13<<2)|2,{46,84,0}}, +/* 24444 */ {(13<<2)|2,{46,84,0}}, +/* 24445 */ {(13<<2)|2,{46,84,0}}, +/* 24446 */ {(13<<2)|2,{46,84,0}}, +/* 24447 */ {(13<<2)|2,{46,84,0}}, +/* 24448 */ {(13<<2)|2,{46,85,0}}, +/* 24449 */ {(13<<2)|2,{46,85,0}}, +/* 24450 */ {(13<<2)|2,{46,85,0}}, +/* 24451 */ {(13<<2)|2,{46,85,0}}, +/* 24452 */ {(13<<2)|2,{46,85,0}}, +/* 24453 */ {(13<<2)|2,{46,85,0}}, +/* 24454 */ {(13<<2)|2,{46,85,0}}, +/* 24455 */ {(13<<2)|2,{46,85,0}}, +/* 24456 */ {(13<<2)|2,{46,86,0}}, +/* 24457 */ {(13<<2)|2,{46,86,0}}, +/* 24458 */ {(13<<2)|2,{46,86,0}}, +/* 24459 */ {(13<<2)|2,{46,86,0}}, +/* 24460 */ {(13<<2)|2,{46,86,0}}, +/* 24461 */ {(13<<2)|2,{46,86,0}}, +/* 24462 */ {(13<<2)|2,{46,86,0}}, +/* 24463 */ {(13<<2)|2,{46,86,0}}, +/* 24464 */ {(13<<2)|2,{46,87,0}}, +/* 24465 */ {(13<<2)|2,{46,87,0}}, +/* 24466 */ {(13<<2)|2,{46,87,0}}, +/* 24467 */ {(13<<2)|2,{46,87,0}}, +/* 24468 */ {(13<<2)|2,{46,87,0}}, +/* 24469 */ {(13<<2)|2,{46,87,0}}, +/* 24470 */ {(13<<2)|2,{46,87,0}}, +/* 24471 */ {(13<<2)|2,{46,87,0}}, +/* 24472 */ {(13<<2)|2,{46,89,0}}, +/* 24473 */ {(13<<2)|2,{46,89,0}}, +/* 24474 */ {(13<<2)|2,{46,89,0}}, +/* 24475 */ {(13<<2)|2,{46,89,0}}, +/* 24476 */ {(13<<2)|2,{46,89,0}}, +/* 24477 */ {(13<<2)|2,{46,89,0}}, +/* 24478 */ {(13<<2)|2,{46,89,0}}, +/* 24479 */ {(13<<2)|2,{46,89,0}}, +/* 24480 */ {(13<<2)|2,{46,106,0}}, +/* 24481 */ {(13<<2)|2,{46,106,0}}, +/* 24482 */ {(13<<2)|2,{46,106,0}}, +/* 24483 */ {(13<<2)|2,{46,106,0}}, +/* 24484 */ {(13<<2)|2,{46,106,0}}, +/* 24485 */ {(13<<2)|2,{46,106,0}}, +/* 24486 */ {(13<<2)|2,{46,106,0}}, +/* 24487 */ {(13<<2)|2,{46,106,0}}, +/* 24488 */ {(13<<2)|2,{46,107,0}}, +/* 24489 */ {(13<<2)|2,{46,107,0}}, +/* 24490 */ {(13<<2)|2,{46,107,0}}, +/* 24491 */ {(13<<2)|2,{46,107,0}}, +/* 24492 */ {(13<<2)|2,{46,107,0}}, +/* 24493 */ {(13<<2)|2,{46,107,0}}, +/* 24494 */ {(13<<2)|2,{46,107,0}}, +/* 24495 */ {(13<<2)|2,{46,107,0}}, +/* 24496 */ {(13<<2)|2,{46,113,0}}, +/* 24497 */ {(13<<2)|2,{46,113,0}}, +/* 24498 */ {(13<<2)|2,{46,113,0}}, +/* 24499 */ {(13<<2)|2,{46,113,0}}, +/* 24500 */ {(13<<2)|2,{46,113,0}}, +/* 24501 */ {(13<<2)|2,{46,113,0}}, +/* 24502 */ {(13<<2)|2,{46,113,0}}, +/* 24503 */ {(13<<2)|2,{46,113,0}}, +/* 24504 */ {(13<<2)|2,{46,118,0}}, +/* 24505 */ {(13<<2)|2,{46,118,0}}, +/* 24506 */ {(13<<2)|2,{46,118,0}}, +/* 24507 */ {(13<<2)|2,{46,118,0}}, +/* 24508 */ {(13<<2)|2,{46,118,0}}, +/* 24509 */ {(13<<2)|2,{46,118,0}}, +/* 24510 */ {(13<<2)|2,{46,118,0}}, +/* 24511 */ {(13<<2)|2,{46,118,0}}, +/* 24512 */ {(13<<2)|2,{46,119,0}}, +/* 24513 */ {(13<<2)|2,{46,119,0}}, +/* 24514 */ {(13<<2)|2,{46,119,0}}, +/* 24515 */ {(13<<2)|2,{46,119,0}}, +/* 24516 */ {(13<<2)|2,{46,119,0}}, +/* 24517 */ {(13<<2)|2,{46,119,0}}, +/* 24518 */ {(13<<2)|2,{46,119,0}}, +/* 24519 */ {(13<<2)|2,{46,119,0}}, +/* 24520 */ {(13<<2)|2,{46,120,0}}, +/* 24521 */ {(13<<2)|2,{46,120,0}}, +/* 24522 */ {(13<<2)|2,{46,120,0}}, +/* 24523 */ {(13<<2)|2,{46,120,0}}, +/* 24524 */ {(13<<2)|2,{46,120,0}}, +/* 24525 */ {(13<<2)|2,{46,120,0}}, +/* 24526 */ {(13<<2)|2,{46,120,0}}, +/* 24527 */ {(13<<2)|2,{46,120,0}}, +/* 24528 */ {(13<<2)|2,{46,121,0}}, +/* 24529 */ {(13<<2)|2,{46,121,0}}, +/* 24530 */ {(13<<2)|2,{46,121,0}}, +/* 24531 */ {(13<<2)|2,{46,121,0}}, +/* 24532 */ {(13<<2)|2,{46,121,0}}, +/* 24533 */ {(13<<2)|2,{46,121,0}}, +/* 24534 */ {(13<<2)|2,{46,121,0}}, +/* 24535 */ {(13<<2)|2,{46,121,0}}, +/* 24536 */ {(13<<2)|2,{46,122,0}}, +/* 24537 */ {(13<<2)|2,{46,122,0}}, +/* 24538 */ {(13<<2)|2,{46,122,0}}, +/* 24539 */ {(13<<2)|2,{46,122,0}}, +/* 24540 */ {(13<<2)|2,{46,122,0}}, +/* 24541 */ {(13<<2)|2,{46,122,0}}, +/* 24542 */ {(13<<2)|2,{46,122,0}}, +/* 24543 */ {(13<<2)|2,{46,122,0}}, +/* 24544 */ {(14<<2)|2,{46,38,0}}, +/* 24545 */ {(14<<2)|2,{46,38,0}}, +/* 24546 */ {(14<<2)|2,{46,38,0}}, +/* 24547 */ {(14<<2)|2,{46,38,0}}, +/* 24548 */ {(14<<2)|2,{46,42,0}}, +/* 24549 */ {(14<<2)|2,{46,42,0}}, +/* 24550 */ {(14<<2)|2,{46,42,0}}, +/* 24551 */ {(14<<2)|2,{46,42,0}}, +/* 24552 */ {(14<<2)|2,{46,44,0}}, +/* 24553 */ {(14<<2)|2,{46,44,0}}, +/* 24554 */ {(14<<2)|2,{46,44,0}}, +/* 24555 */ {(14<<2)|2,{46,44,0}}, +/* 24556 */ {(14<<2)|2,{46,59,0}}, +/* 24557 */ {(14<<2)|2,{46,59,0}}, +/* 24558 */ {(14<<2)|2,{46,59,0}}, +/* 24559 */ {(14<<2)|2,{46,59,0}}, +/* 24560 */ {(14<<2)|2,{46,88,0}}, +/* 24561 */ {(14<<2)|2,{46,88,0}}, +/* 24562 */ {(14<<2)|2,{46,88,0}}, +/* 24563 */ {(14<<2)|2,{46,88,0}}, +/* 24564 */ {(14<<2)|2,{46,90,0}}, +/* 24565 */ {(14<<2)|2,{46,90,0}}, +/* 24566 */ {(14<<2)|2,{46,90,0}}, +/* 24567 */ {(14<<2)|2,{46,90,0}}, +/* 24568 */ {(16<<2)|2,{46,33,0}}, +/* 24569 */ {(16<<2)|2,{46,34,0}}, +/* 24570 */ {(16<<2)|2,{46,40,0}}, +/* 24571 */ {(16<<2)|2,{46,41,0}}, +/* 24572 */ {(16<<2)|2,{46,63,0}}, +/* 24573 */ {(6<<2)|1,{46,0,0}}, +/* 24574 */ {(6<<2)|1,{46,0,0}}, +/* 24575 */ {(6<<2)|1,{46,0,0}}, +/* 24576 */ {(16<<2)|3,{47,48,48}}, +/* 24577 */ {(16<<2)|3,{47,48,49}}, +/* 24578 */ {(16<<2)|3,{47,48,50}}, +/* 24579 */ {(16<<2)|3,{47,48,97}}, +/* 24580 */ {(16<<2)|3,{47,48,99}}, +/* 24581 */ {(16<<2)|3,{47,48,101}}, +/* 24582 */ {(16<<2)|3,{47,48,105}}, +/* 24583 */ {(16<<2)|3,{47,48,111}}, +/* 24584 */ {(16<<2)|3,{47,48,115}}, +/* 24585 */ {(16<<2)|3,{47,48,116}}, +/* 24586 */ {(11<<2)|2,{47,48,0}}, +/* 24587 */ {(11<<2)|2,{47,48,0}}, +/* 24588 */ {(11<<2)|2,{47,48,0}}, +/* 24589 */ {(11<<2)|2,{47,48,0}}, +/* 24590 */ {(11<<2)|2,{47,48,0}}, +/* 24591 */ {(11<<2)|2,{47,48,0}}, +/* 24592 */ {(11<<2)|2,{47,48,0}}, +/* 24593 */ {(11<<2)|2,{47,48,0}}, +/* 24594 */ {(11<<2)|2,{47,48,0}}, +/* 24595 */ {(11<<2)|2,{47,48,0}}, +/* 24596 */ {(11<<2)|2,{47,48,0}}, +/* 24597 */ {(11<<2)|2,{47,48,0}}, +/* 24598 */ {(11<<2)|2,{47,48,0}}, +/* 24599 */ {(11<<2)|2,{47,48,0}}, +/* 24600 */ {(11<<2)|2,{47,48,0}}, +/* 24601 */ {(11<<2)|2,{47,48,0}}, +/* 24602 */ {(11<<2)|2,{47,48,0}}, +/* 24603 */ {(11<<2)|2,{47,48,0}}, +/* 24604 */ {(11<<2)|2,{47,48,0}}, +/* 24605 */ {(11<<2)|2,{47,48,0}}, +/* 24606 */ {(11<<2)|2,{47,48,0}}, +/* 24607 */ {(11<<2)|2,{47,48,0}}, +/* 24608 */ {(16<<2)|3,{47,49,48}}, +/* 24609 */ {(16<<2)|3,{47,49,49}}, +/* 24610 */ {(16<<2)|3,{47,49,50}}, +/* 24611 */ {(16<<2)|3,{47,49,97}}, +/* 24612 */ {(16<<2)|3,{47,49,99}}, +/* 24613 */ {(16<<2)|3,{47,49,101}}, +/* 24614 */ {(16<<2)|3,{47,49,105}}, +/* 24615 */ {(16<<2)|3,{47,49,111}}, +/* 24616 */ {(16<<2)|3,{47,49,115}}, +/* 24617 */ {(16<<2)|3,{47,49,116}}, +/* 24618 */ {(11<<2)|2,{47,49,0}}, +/* 24619 */ {(11<<2)|2,{47,49,0}}, +/* 24620 */ {(11<<2)|2,{47,49,0}}, +/* 24621 */ {(11<<2)|2,{47,49,0}}, +/* 24622 */ {(11<<2)|2,{47,49,0}}, +/* 24623 */ {(11<<2)|2,{47,49,0}}, +/* 24624 */ {(11<<2)|2,{47,49,0}}, +/* 24625 */ {(11<<2)|2,{47,49,0}}, +/* 24626 */ {(11<<2)|2,{47,49,0}}, +/* 24627 */ {(11<<2)|2,{47,49,0}}, +/* 24628 */ {(11<<2)|2,{47,49,0}}, +/* 24629 */ {(11<<2)|2,{47,49,0}}, +/* 24630 */ {(11<<2)|2,{47,49,0}}, +/* 24631 */ {(11<<2)|2,{47,49,0}}, +/* 24632 */ {(11<<2)|2,{47,49,0}}, +/* 24633 */ {(11<<2)|2,{47,49,0}}, +/* 24634 */ {(11<<2)|2,{47,49,0}}, +/* 24635 */ {(11<<2)|2,{47,49,0}}, +/* 24636 */ {(11<<2)|2,{47,49,0}}, +/* 24637 */ {(11<<2)|2,{47,49,0}}, +/* 24638 */ {(11<<2)|2,{47,49,0}}, +/* 24639 */ {(11<<2)|2,{47,49,0}}, +/* 24640 */ {(16<<2)|3,{47,50,48}}, +/* 24641 */ {(16<<2)|3,{47,50,49}}, +/* 24642 */ {(16<<2)|3,{47,50,50}}, +/* 24643 */ {(16<<2)|3,{47,50,97}}, +/* 24644 */ {(16<<2)|3,{47,50,99}}, +/* 24645 */ {(16<<2)|3,{47,50,101}}, +/* 24646 */ {(16<<2)|3,{47,50,105}}, +/* 24647 */ {(16<<2)|3,{47,50,111}}, +/* 24648 */ {(16<<2)|3,{47,50,115}}, +/* 24649 */ {(16<<2)|3,{47,50,116}}, +/* 24650 */ {(11<<2)|2,{47,50,0}}, +/* 24651 */ {(11<<2)|2,{47,50,0}}, +/* 24652 */ {(11<<2)|2,{47,50,0}}, +/* 24653 */ {(11<<2)|2,{47,50,0}}, +/* 24654 */ {(11<<2)|2,{47,50,0}}, +/* 24655 */ {(11<<2)|2,{47,50,0}}, +/* 24656 */ {(11<<2)|2,{47,50,0}}, +/* 24657 */ {(11<<2)|2,{47,50,0}}, +/* 24658 */ {(11<<2)|2,{47,50,0}}, +/* 24659 */ {(11<<2)|2,{47,50,0}}, +/* 24660 */ {(11<<2)|2,{47,50,0}}, +/* 24661 */ {(11<<2)|2,{47,50,0}}, +/* 24662 */ {(11<<2)|2,{47,50,0}}, +/* 24663 */ {(11<<2)|2,{47,50,0}}, +/* 24664 */ {(11<<2)|2,{47,50,0}}, +/* 24665 */ {(11<<2)|2,{47,50,0}}, +/* 24666 */ {(11<<2)|2,{47,50,0}}, +/* 24667 */ {(11<<2)|2,{47,50,0}}, +/* 24668 */ {(11<<2)|2,{47,50,0}}, +/* 24669 */ {(11<<2)|2,{47,50,0}}, +/* 24670 */ {(11<<2)|2,{47,50,0}}, +/* 24671 */ {(11<<2)|2,{47,50,0}}, +/* 24672 */ {(16<<2)|3,{47,97,48}}, +/* 24673 */ {(16<<2)|3,{47,97,49}}, +/* 24674 */ {(16<<2)|3,{47,97,50}}, +/* 24675 */ {(16<<2)|3,{47,97,97}}, +/* 24676 */ {(16<<2)|3,{47,97,99}}, +/* 24677 */ {(16<<2)|3,{47,97,101}}, +/* 24678 */ {(16<<2)|3,{47,97,105}}, +/* 24679 */ {(16<<2)|3,{47,97,111}}, +/* 24680 */ {(16<<2)|3,{47,97,115}}, +/* 24681 */ {(16<<2)|3,{47,97,116}}, +/* 24682 */ {(11<<2)|2,{47,97,0}}, +/* 24683 */ {(11<<2)|2,{47,97,0}}, +/* 24684 */ {(11<<2)|2,{47,97,0}}, +/* 24685 */ {(11<<2)|2,{47,97,0}}, +/* 24686 */ {(11<<2)|2,{47,97,0}}, +/* 24687 */ {(11<<2)|2,{47,97,0}}, +/* 24688 */ {(11<<2)|2,{47,97,0}}, +/* 24689 */ {(11<<2)|2,{47,97,0}}, +/* 24690 */ {(11<<2)|2,{47,97,0}}, +/* 24691 */ {(11<<2)|2,{47,97,0}}, +/* 24692 */ {(11<<2)|2,{47,97,0}}, +/* 24693 */ {(11<<2)|2,{47,97,0}}, +/* 24694 */ {(11<<2)|2,{47,97,0}}, +/* 24695 */ {(11<<2)|2,{47,97,0}}, +/* 24696 */ {(11<<2)|2,{47,97,0}}, +/* 24697 */ {(11<<2)|2,{47,97,0}}, +/* 24698 */ {(11<<2)|2,{47,97,0}}, +/* 24699 */ {(11<<2)|2,{47,97,0}}, +/* 24700 */ {(11<<2)|2,{47,97,0}}, +/* 24701 */ {(11<<2)|2,{47,97,0}}, +/* 24702 */ {(11<<2)|2,{47,97,0}}, +/* 24703 */ {(11<<2)|2,{47,97,0}}, +/* 24704 */ {(16<<2)|3,{47,99,48}}, +/* 24705 */ {(16<<2)|3,{47,99,49}}, +/* 24706 */ {(16<<2)|3,{47,99,50}}, +/* 24707 */ {(16<<2)|3,{47,99,97}}, +/* 24708 */ {(16<<2)|3,{47,99,99}}, +/* 24709 */ {(16<<2)|3,{47,99,101}}, +/* 24710 */ {(16<<2)|3,{47,99,105}}, +/* 24711 */ {(16<<2)|3,{47,99,111}}, +/* 24712 */ {(16<<2)|3,{47,99,115}}, +/* 24713 */ {(16<<2)|3,{47,99,116}}, +/* 24714 */ {(11<<2)|2,{47,99,0}}, +/* 24715 */ {(11<<2)|2,{47,99,0}}, +/* 24716 */ {(11<<2)|2,{47,99,0}}, +/* 24717 */ {(11<<2)|2,{47,99,0}}, +/* 24718 */ {(11<<2)|2,{47,99,0}}, +/* 24719 */ {(11<<2)|2,{47,99,0}}, +/* 24720 */ {(11<<2)|2,{47,99,0}}, +/* 24721 */ {(11<<2)|2,{47,99,0}}, +/* 24722 */ {(11<<2)|2,{47,99,0}}, +/* 24723 */ {(11<<2)|2,{47,99,0}}, +/* 24724 */ {(11<<2)|2,{47,99,0}}, +/* 24725 */ {(11<<2)|2,{47,99,0}}, +/* 24726 */ {(11<<2)|2,{47,99,0}}, +/* 24727 */ {(11<<2)|2,{47,99,0}}, +/* 24728 */ {(11<<2)|2,{47,99,0}}, +/* 24729 */ {(11<<2)|2,{47,99,0}}, +/* 24730 */ {(11<<2)|2,{47,99,0}}, +/* 24731 */ {(11<<2)|2,{47,99,0}}, +/* 24732 */ {(11<<2)|2,{47,99,0}}, +/* 24733 */ {(11<<2)|2,{47,99,0}}, +/* 24734 */ {(11<<2)|2,{47,99,0}}, +/* 24735 */ {(11<<2)|2,{47,99,0}}, +/* 24736 */ {(16<<2)|3,{47,101,48}}, +/* 24737 */ {(16<<2)|3,{47,101,49}}, +/* 24738 */ {(16<<2)|3,{47,101,50}}, +/* 24739 */ {(16<<2)|3,{47,101,97}}, +/* 24740 */ {(16<<2)|3,{47,101,99}}, +/* 24741 */ {(16<<2)|3,{47,101,101}}, +/* 24742 */ {(16<<2)|3,{47,101,105}}, +/* 24743 */ {(16<<2)|3,{47,101,111}}, +/* 24744 */ {(16<<2)|3,{47,101,115}}, +/* 24745 */ {(16<<2)|3,{47,101,116}}, +/* 24746 */ {(11<<2)|2,{47,101,0}}, +/* 24747 */ {(11<<2)|2,{47,101,0}}, +/* 24748 */ {(11<<2)|2,{47,101,0}}, +/* 24749 */ {(11<<2)|2,{47,101,0}}, +/* 24750 */ {(11<<2)|2,{47,101,0}}, +/* 24751 */ {(11<<2)|2,{47,101,0}}, +/* 24752 */ {(11<<2)|2,{47,101,0}}, +/* 24753 */ {(11<<2)|2,{47,101,0}}, +/* 24754 */ {(11<<2)|2,{47,101,0}}, +/* 24755 */ {(11<<2)|2,{47,101,0}}, +/* 24756 */ {(11<<2)|2,{47,101,0}}, +/* 24757 */ {(11<<2)|2,{47,101,0}}, +/* 24758 */ {(11<<2)|2,{47,101,0}}, +/* 24759 */ {(11<<2)|2,{47,101,0}}, +/* 24760 */ {(11<<2)|2,{47,101,0}}, +/* 24761 */ {(11<<2)|2,{47,101,0}}, +/* 24762 */ {(11<<2)|2,{47,101,0}}, +/* 24763 */ {(11<<2)|2,{47,101,0}}, +/* 24764 */ {(11<<2)|2,{47,101,0}}, +/* 24765 */ {(11<<2)|2,{47,101,0}}, +/* 24766 */ {(11<<2)|2,{47,101,0}}, +/* 24767 */ {(11<<2)|2,{47,101,0}}, +/* 24768 */ {(16<<2)|3,{47,105,48}}, +/* 24769 */ {(16<<2)|3,{47,105,49}}, +/* 24770 */ {(16<<2)|3,{47,105,50}}, +/* 24771 */ {(16<<2)|3,{47,105,97}}, +/* 24772 */ {(16<<2)|3,{47,105,99}}, +/* 24773 */ {(16<<2)|3,{47,105,101}}, +/* 24774 */ {(16<<2)|3,{47,105,105}}, +/* 24775 */ {(16<<2)|3,{47,105,111}}, +/* 24776 */ {(16<<2)|3,{47,105,115}}, +/* 24777 */ {(16<<2)|3,{47,105,116}}, +/* 24778 */ {(11<<2)|2,{47,105,0}}, +/* 24779 */ {(11<<2)|2,{47,105,0}}, +/* 24780 */ {(11<<2)|2,{47,105,0}}, +/* 24781 */ {(11<<2)|2,{47,105,0}}, +/* 24782 */ {(11<<2)|2,{47,105,0}}, +/* 24783 */ {(11<<2)|2,{47,105,0}}, +/* 24784 */ {(11<<2)|2,{47,105,0}}, +/* 24785 */ {(11<<2)|2,{47,105,0}}, +/* 24786 */ {(11<<2)|2,{47,105,0}}, +/* 24787 */ {(11<<2)|2,{47,105,0}}, +/* 24788 */ {(11<<2)|2,{47,105,0}}, +/* 24789 */ {(11<<2)|2,{47,105,0}}, +/* 24790 */ {(11<<2)|2,{47,105,0}}, +/* 24791 */ {(11<<2)|2,{47,105,0}}, +/* 24792 */ {(11<<2)|2,{47,105,0}}, +/* 24793 */ {(11<<2)|2,{47,105,0}}, +/* 24794 */ {(11<<2)|2,{47,105,0}}, +/* 24795 */ {(11<<2)|2,{47,105,0}}, +/* 24796 */ {(11<<2)|2,{47,105,0}}, +/* 24797 */ {(11<<2)|2,{47,105,0}}, +/* 24798 */ {(11<<2)|2,{47,105,0}}, +/* 24799 */ {(11<<2)|2,{47,105,0}}, +/* 24800 */ {(16<<2)|3,{47,111,48}}, +/* 24801 */ {(16<<2)|3,{47,111,49}}, +/* 24802 */ {(16<<2)|3,{47,111,50}}, +/* 24803 */ {(16<<2)|3,{47,111,97}}, +/* 24804 */ {(16<<2)|3,{47,111,99}}, +/* 24805 */ {(16<<2)|3,{47,111,101}}, +/* 24806 */ {(16<<2)|3,{47,111,105}}, +/* 24807 */ {(16<<2)|3,{47,111,111}}, +/* 24808 */ {(16<<2)|3,{47,111,115}}, +/* 24809 */ {(16<<2)|3,{47,111,116}}, +/* 24810 */ {(11<<2)|2,{47,111,0}}, +/* 24811 */ {(11<<2)|2,{47,111,0}}, +/* 24812 */ {(11<<2)|2,{47,111,0}}, +/* 24813 */ {(11<<2)|2,{47,111,0}}, +/* 24814 */ {(11<<2)|2,{47,111,0}}, +/* 24815 */ {(11<<2)|2,{47,111,0}}, +/* 24816 */ {(11<<2)|2,{47,111,0}}, +/* 24817 */ {(11<<2)|2,{47,111,0}}, +/* 24818 */ {(11<<2)|2,{47,111,0}}, +/* 24819 */ {(11<<2)|2,{47,111,0}}, +/* 24820 */ {(11<<2)|2,{47,111,0}}, +/* 24821 */ {(11<<2)|2,{47,111,0}}, +/* 24822 */ {(11<<2)|2,{47,111,0}}, +/* 24823 */ {(11<<2)|2,{47,111,0}}, +/* 24824 */ {(11<<2)|2,{47,111,0}}, +/* 24825 */ {(11<<2)|2,{47,111,0}}, +/* 24826 */ {(11<<2)|2,{47,111,0}}, +/* 24827 */ {(11<<2)|2,{47,111,0}}, +/* 24828 */ {(11<<2)|2,{47,111,0}}, +/* 24829 */ {(11<<2)|2,{47,111,0}}, +/* 24830 */ {(11<<2)|2,{47,111,0}}, +/* 24831 */ {(11<<2)|2,{47,111,0}}, +/* 24832 */ {(16<<2)|3,{47,115,48}}, +/* 24833 */ {(16<<2)|3,{47,115,49}}, +/* 24834 */ {(16<<2)|3,{47,115,50}}, +/* 24835 */ {(16<<2)|3,{47,115,97}}, +/* 24836 */ {(16<<2)|3,{47,115,99}}, +/* 24837 */ {(16<<2)|3,{47,115,101}}, +/* 24838 */ {(16<<2)|3,{47,115,105}}, +/* 24839 */ {(16<<2)|3,{47,115,111}}, +/* 24840 */ {(16<<2)|3,{47,115,115}}, +/* 24841 */ {(16<<2)|3,{47,115,116}}, +/* 24842 */ {(11<<2)|2,{47,115,0}}, +/* 24843 */ {(11<<2)|2,{47,115,0}}, +/* 24844 */ {(11<<2)|2,{47,115,0}}, +/* 24845 */ {(11<<2)|2,{47,115,0}}, +/* 24846 */ {(11<<2)|2,{47,115,0}}, +/* 24847 */ {(11<<2)|2,{47,115,0}}, +/* 24848 */ {(11<<2)|2,{47,115,0}}, +/* 24849 */ {(11<<2)|2,{47,115,0}}, +/* 24850 */ {(11<<2)|2,{47,115,0}}, +/* 24851 */ {(11<<2)|2,{47,115,0}}, +/* 24852 */ {(11<<2)|2,{47,115,0}}, +/* 24853 */ {(11<<2)|2,{47,115,0}}, +/* 24854 */ {(11<<2)|2,{47,115,0}}, +/* 24855 */ {(11<<2)|2,{47,115,0}}, +/* 24856 */ {(11<<2)|2,{47,115,0}}, +/* 24857 */ {(11<<2)|2,{47,115,0}}, +/* 24858 */ {(11<<2)|2,{47,115,0}}, +/* 24859 */ {(11<<2)|2,{47,115,0}}, +/* 24860 */ {(11<<2)|2,{47,115,0}}, +/* 24861 */ {(11<<2)|2,{47,115,0}}, +/* 24862 */ {(11<<2)|2,{47,115,0}}, +/* 24863 */ {(11<<2)|2,{47,115,0}}, +/* 24864 */ {(16<<2)|3,{47,116,48}}, +/* 24865 */ {(16<<2)|3,{47,116,49}}, +/* 24866 */ {(16<<2)|3,{47,116,50}}, +/* 24867 */ {(16<<2)|3,{47,116,97}}, +/* 24868 */ {(16<<2)|3,{47,116,99}}, +/* 24869 */ {(16<<2)|3,{47,116,101}}, +/* 24870 */ {(16<<2)|3,{47,116,105}}, +/* 24871 */ {(16<<2)|3,{47,116,111}}, +/* 24872 */ {(16<<2)|3,{47,116,115}}, +/* 24873 */ {(16<<2)|3,{47,116,116}}, +/* 24874 */ {(11<<2)|2,{47,116,0}}, +/* 24875 */ {(11<<2)|2,{47,116,0}}, +/* 24876 */ {(11<<2)|2,{47,116,0}}, +/* 24877 */ {(11<<2)|2,{47,116,0}}, +/* 24878 */ {(11<<2)|2,{47,116,0}}, +/* 24879 */ {(11<<2)|2,{47,116,0}}, +/* 24880 */ {(11<<2)|2,{47,116,0}}, +/* 24881 */ {(11<<2)|2,{47,116,0}}, +/* 24882 */ {(11<<2)|2,{47,116,0}}, +/* 24883 */ {(11<<2)|2,{47,116,0}}, +/* 24884 */ {(11<<2)|2,{47,116,0}}, +/* 24885 */ {(11<<2)|2,{47,116,0}}, +/* 24886 */ {(11<<2)|2,{47,116,0}}, +/* 24887 */ {(11<<2)|2,{47,116,0}}, +/* 24888 */ {(11<<2)|2,{47,116,0}}, +/* 24889 */ {(11<<2)|2,{47,116,0}}, +/* 24890 */ {(11<<2)|2,{47,116,0}}, +/* 24891 */ {(11<<2)|2,{47,116,0}}, +/* 24892 */ {(11<<2)|2,{47,116,0}}, +/* 24893 */ {(11<<2)|2,{47,116,0}}, +/* 24894 */ {(11<<2)|2,{47,116,0}}, +/* 24895 */ {(11<<2)|2,{47,116,0}}, +/* 24896 */ {(12<<2)|2,{47,32,0}}, +/* 24897 */ {(12<<2)|2,{47,32,0}}, +/* 24898 */ {(12<<2)|2,{47,32,0}}, +/* 24899 */ {(12<<2)|2,{47,32,0}}, +/* 24900 */ {(12<<2)|2,{47,32,0}}, +/* 24901 */ {(12<<2)|2,{47,32,0}}, +/* 24902 */ {(12<<2)|2,{47,32,0}}, +/* 24903 */ {(12<<2)|2,{47,32,0}}, +/* 24904 */ {(12<<2)|2,{47,32,0}}, +/* 24905 */ {(12<<2)|2,{47,32,0}}, +/* 24906 */ {(12<<2)|2,{47,32,0}}, +/* 24907 */ {(12<<2)|2,{47,32,0}}, +/* 24908 */ {(12<<2)|2,{47,32,0}}, +/* 24909 */ {(12<<2)|2,{47,32,0}}, +/* 24910 */ {(12<<2)|2,{47,32,0}}, +/* 24911 */ {(12<<2)|2,{47,32,0}}, +/* 24912 */ {(12<<2)|2,{47,37,0}}, +/* 24913 */ {(12<<2)|2,{47,37,0}}, +/* 24914 */ {(12<<2)|2,{47,37,0}}, +/* 24915 */ {(12<<2)|2,{47,37,0}}, +/* 24916 */ {(12<<2)|2,{47,37,0}}, +/* 24917 */ {(12<<2)|2,{47,37,0}}, +/* 24918 */ {(12<<2)|2,{47,37,0}}, +/* 24919 */ {(12<<2)|2,{47,37,0}}, +/* 24920 */ {(12<<2)|2,{47,37,0}}, +/* 24921 */ {(12<<2)|2,{47,37,0}}, +/* 24922 */ {(12<<2)|2,{47,37,0}}, +/* 24923 */ {(12<<2)|2,{47,37,0}}, +/* 24924 */ {(12<<2)|2,{47,37,0}}, +/* 24925 */ {(12<<2)|2,{47,37,0}}, +/* 24926 */ {(12<<2)|2,{47,37,0}}, +/* 24927 */ {(12<<2)|2,{47,37,0}}, +/* 24928 */ {(12<<2)|2,{47,45,0}}, +/* 24929 */ {(12<<2)|2,{47,45,0}}, +/* 24930 */ {(12<<2)|2,{47,45,0}}, +/* 24931 */ {(12<<2)|2,{47,45,0}}, +/* 24932 */ {(12<<2)|2,{47,45,0}}, +/* 24933 */ {(12<<2)|2,{47,45,0}}, +/* 24934 */ {(12<<2)|2,{47,45,0}}, +/* 24935 */ {(12<<2)|2,{47,45,0}}, +/* 24936 */ {(12<<2)|2,{47,45,0}}, +/* 24937 */ {(12<<2)|2,{47,45,0}}, +/* 24938 */ {(12<<2)|2,{47,45,0}}, +/* 24939 */ {(12<<2)|2,{47,45,0}}, +/* 24940 */ {(12<<2)|2,{47,45,0}}, +/* 24941 */ {(12<<2)|2,{47,45,0}}, +/* 24942 */ {(12<<2)|2,{47,45,0}}, +/* 24943 */ {(12<<2)|2,{47,45,0}}, +/* 24944 */ {(12<<2)|2,{47,46,0}}, +/* 24945 */ {(12<<2)|2,{47,46,0}}, +/* 24946 */ {(12<<2)|2,{47,46,0}}, +/* 24947 */ {(12<<2)|2,{47,46,0}}, +/* 24948 */ {(12<<2)|2,{47,46,0}}, +/* 24949 */ {(12<<2)|2,{47,46,0}}, +/* 24950 */ {(12<<2)|2,{47,46,0}}, +/* 24951 */ {(12<<2)|2,{47,46,0}}, +/* 24952 */ {(12<<2)|2,{47,46,0}}, +/* 24953 */ {(12<<2)|2,{47,46,0}}, +/* 24954 */ {(12<<2)|2,{47,46,0}}, +/* 24955 */ {(12<<2)|2,{47,46,0}}, +/* 24956 */ {(12<<2)|2,{47,46,0}}, +/* 24957 */ {(12<<2)|2,{47,46,0}}, +/* 24958 */ {(12<<2)|2,{47,46,0}}, +/* 24959 */ {(12<<2)|2,{47,46,0}}, +/* 24960 */ {(12<<2)|2,{47,47,0}}, +/* 24961 */ {(12<<2)|2,{47,47,0}}, +/* 24962 */ {(12<<2)|2,{47,47,0}}, +/* 24963 */ {(12<<2)|2,{47,47,0}}, +/* 24964 */ {(12<<2)|2,{47,47,0}}, +/* 24965 */ {(12<<2)|2,{47,47,0}}, +/* 24966 */ {(12<<2)|2,{47,47,0}}, +/* 24967 */ {(12<<2)|2,{47,47,0}}, +/* 24968 */ {(12<<2)|2,{47,47,0}}, +/* 24969 */ {(12<<2)|2,{47,47,0}}, +/* 24970 */ {(12<<2)|2,{47,47,0}}, +/* 24971 */ {(12<<2)|2,{47,47,0}}, +/* 24972 */ {(12<<2)|2,{47,47,0}}, +/* 24973 */ {(12<<2)|2,{47,47,0}}, +/* 24974 */ {(12<<2)|2,{47,47,0}}, +/* 24975 */ {(12<<2)|2,{47,47,0}}, +/* 24976 */ {(12<<2)|2,{47,51,0}}, +/* 24977 */ {(12<<2)|2,{47,51,0}}, +/* 24978 */ {(12<<2)|2,{47,51,0}}, +/* 24979 */ {(12<<2)|2,{47,51,0}}, +/* 24980 */ {(12<<2)|2,{47,51,0}}, +/* 24981 */ {(12<<2)|2,{47,51,0}}, +/* 24982 */ {(12<<2)|2,{47,51,0}}, +/* 24983 */ {(12<<2)|2,{47,51,0}}, +/* 24984 */ {(12<<2)|2,{47,51,0}}, +/* 24985 */ {(12<<2)|2,{47,51,0}}, +/* 24986 */ {(12<<2)|2,{47,51,0}}, +/* 24987 */ {(12<<2)|2,{47,51,0}}, +/* 24988 */ {(12<<2)|2,{47,51,0}}, +/* 24989 */ {(12<<2)|2,{47,51,0}}, +/* 24990 */ {(12<<2)|2,{47,51,0}}, +/* 24991 */ {(12<<2)|2,{47,51,0}}, +/* 24992 */ {(12<<2)|2,{47,52,0}}, +/* 24993 */ {(12<<2)|2,{47,52,0}}, +/* 24994 */ {(12<<2)|2,{47,52,0}}, +/* 24995 */ {(12<<2)|2,{47,52,0}}, +/* 24996 */ {(12<<2)|2,{47,52,0}}, +/* 24997 */ {(12<<2)|2,{47,52,0}}, +/* 24998 */ {(12<<2)|2,{47,52,0}}, +/* 24999 */ {(12<<2)|2,{47,52,0}}, +/* 25000 */ {(12<<2)|2,{47,52,0}}, +/* 25001 */ {(12<<2)|2,{47,52,0}}, +/* 25002 */ {(12<<2)|2,{47,52,0}}, +/* 25003 */ {(12<<2)|2,{47,52,0}}, +/* 25004 */ {(12<<2)|2,{47,52,0}}, +/* 25005 */ {(12<<2)|2,{47,52,0}}, +/* 25006 */ {(12<<2)|2,{47,52,0}}, +/* 25007 */ {(12<<2)|2,{47,52,0}}, +/* 25008 */ {(12<<2)|2,{47,53,0}}, +/* 25009 */ {(12<<2)|2,{47,53,0}}, +/* 25010 */ {(12<<2)|2,{47,53,0}}, +/* 25011 */ {(12<<2)|2,{47,53,0}}, +/* 25012 */ {(12<<2)|2,{47,53,0}}, +/* 25013 */ {(12<<2)|2,{47,53,0}}, +/* 25014 */ {(12<<2)|2,{47,53,0}}, +/* 25015 */ {(12<<2)|2,{47,53,0}}, +/* 25016 */ {(12<<2)|2,{47,53,0}}, +/* 25017 */ {(12<<2)|2,{47,53,0}}, +/* 25018 */ {(12<<2)|2,{47,53,0}}, +/* 25019 */ {(12<<2)|2,{47,53,0}}, +/* 25020 */ {(12<<2)|2,{47,53,0}}, +/* 25021 */ {(12<<2)|2,{47,53,0}}, +/* 25022 */ {(12<<2)|2,{47,53,0}}, +/* 25023 */ {(12<<2)|2,{47,53,0}}, +/* 25024 */ {(12<<2)|2,{47,54,0}}, +/* 25025 */ {(12<<2)|2,{47,54,0}}, +/* 25026 */ {(12<<2)|2,{47,54,0}}, +/* 25027 */ {(12<<2)|2,{47,54,0}}, +/* 25028 */ {(12<<2)|2,{47,54,0}}, +/* 25029 */ {(12<<2)|2,{47,54,0}}, +/* 25030 */ {(12<<2)|2,{47,54,0}}, +/* 25031 */ {(12<<2)|2,{47,54,0}}, +/* 25032 */ {(12<<2)|2,{47,54,0}}, +/* 25033 */ {(12<<2)|2,{47,54,0}}, +/* 25034 */ {(12<<2)|2,{47,54,0}}, +/* 25035 */ {(12<<2)|2,{47,54,0}}, +/* 25036 */ {(12<<2)|2,{47,54,0}}, +/* 25037 */ {(12<<2)|2,{47,54,0}}, +/* 25038 */ {(12<<2)|2,{47,54,0}}, +/* 25039 */ {(12<<2)|2,{47,54,0}}, +/* 25040 */ {(12<<2)|2,{47,55,0}}, +/* 25041 */ {(12<<2)|2,{47,55,0}}, +/* 25042 */ {(12<<2)|2,{47,55,0}}, +/* 25043 */ {(12<<2)|2,{47,55,0}}, +/* 25044 */ {(12<<2)|2,{47,55,0}}, +/* 25045 */ {(12<<2)|2,{47,55,0}}, +/* 25046 */ {(12<<2)|2,{47,55,0}}, +/* 25047 */ {(12<<2)|2,{47,55,0}}, +/* 25048 */ {(12<<2)|2,{47,55,0}}, +/* 25049 */ {(12<<2)|2,{47,55,0}}, +/* 25050 */ {(12<<2)|2,{47,55,0}}, +/* 25051 */ {(12<<2)|2,{47,55,0}}, +/* 25052 */ {(12<<2)|2,{47,55,0}}, +/* 25053 */ {(12<<2)|2,{47,55,0}}, +/* 25054 */ {(12<<2)|2,{47,55,0}}, +/* 25055 */ {(12<<2)|2,{47,55,0}}, +/* 25056 */ {(12<<2)|2,{47,56,0}}, +/* 25057 */ {(12<<2)|2,{47,56,0}}, +/* 25058 */ {(12<<2)|2,{47,56,0}}, +/* 25059 */ {(12<<2)|2,{47,56,0}}, +/* 25060 */ {(12<<2)|2,{47,56,0}}, +/* 25061 */ {(12<<2)|2,{47,56,0}}, +/* 25062 */ {(12<<2)|2,{47,56,0}}, +/* 25063 */ {(12<<2)|2,{47,56,0}}, +/* 25064 */ {(12<<2)|2,{47,56,0}}, +/* 25065 */ {(12<<2)|2,{47,56,0}}, +/* 25066 */ {(12<<2)|2,{47,56,0}}, +/* 25067 */ {(12<<2)|2,{47,56,0}}, +/* 25068 */ {(12<<2)|2,{47,56,0}}, +/* 25069 */ {(12<<2)|2,{47,56,0}}, +/* 25070 */ {(12<<2)|2,{47,56,0}}, +/* 25071 */ {(12<<2)|2,{47,56,0}}, +/* 25072 */ {(12<<2)|2,{47,57,0}}, +/* 25073 */ {(12<<2)|2,{47,57,0}}, +/* 25074 */ {(12<<2)|2,{47,57,0}}, +/* 25075 */ {(12<<2)|2,{47,57,0}}, +/* 25076 */ {(12<<2)|2,{47,57,0}}, +/* 25077 */ {(12<<2)|2,{47,57,0}}, +/* 25078 */ {(12<<2)|2,{47,57,0}}, +/* 25079 */ {(12<<2)|2,{47,57,0}}, +/* 25080 */ {(12<<2)|2,{47,57,0}}, +/* 25081 */ {(12<<2)|2,{47,57,0}}, +/* 25082 */ {(12<<2)|2,{47,57,0}}, +/* 25083 */ {(12<<2)|2,{47,57,0}}, +/* 25084 */ {(12<<2)|2,{47,57,0}}, +/* 25085 */ {(12<<2)|2,{47,57,0}}, +/* 25086 */ {(12<<2)|2,{47,57,0}}, +/* 25087 */ {(12<<2)|2,{47,57,0}}, +/* 25088 */ {(12<<2)|2,{47,61,0}}, +/* 25089 */ {(12<<2)|2,{47,61,0}}, +/* 25090 */ {(12<<2)|2,{47,61,0}}, +/* 25091 */ {(12<<2)|2,{47,61,0}}, +/* 25092 */ {(12<<2)|2,{47,61,0}}, +/* 25093 */ {(12<<2)|2,{47,61,0}}, +/* 25094 */ {(12<<2)|2,{47,61,0}}, +/* 25095 */ {(12<<2)|2,{47,61,0}}, +/* 25096 */ {(12<<2)|2,{47,61,0}}, +/* 25097 */ {(12<<2)|2,{47,61,0}}, +/* 25098 */ {(12<<2)|2,{47,61,0}}, +/* 25099 */ {(12<<2)|2,{47,61,0}}, +/* 25100 */ {(12<<2)|2,{47,61,0}}, +/* 25101 */ {(12<<2)|2,{47,61,0}}, +/* 25102 */ {(12<<2)|2,{47,61,0}}, +/* 25103 */ {(12<<2)|2,{47,61,0}}, +/* 25104 */ {(12<<2)|2,{47,65,0}}, +/* 25105 */ {(12<<2)|2,{47,65,0}}, +/* 25106 */ {(12<<2)|2,{47,65,0}}, +/* 25107 */ {(12<<2)|2,{47,65,0}}, +/* 25108 */ {(12<<2)|2,{47,65,0}}, +/* 25109 */ {(12<<2)|2,{47,65,0}}, +/* 25110 */ {(12<<2)|2,{47,65,0}}, +/* 25111 */ {(12<<2)|2,{47,65,0}}, +/* 25112 */ {(12<<2)|2,{47,65,0}}, +/* 25113 */ {(12<<2)|2,{47,65,0}}, +/* 25114 */ {(12<<2)|2,{47,65,0}}, +/* 25115 */ {(12<<2)|2,{47,65,0}}, +/* 25116 */ {(12<<2)|2,{47,65,0}}, +/* 25117 */ {(12<<2)|2,{47,65,0}}, +/* 25118 */ {(12<<2)|2,{47,65,0}}, +/* 25119 */ {(12<<2)|2,{47,65,0}}, +/* 25120 */ {(12<<2)|2,{47,95,0}}, +/* 25121 */ {(12<<2)|2,{47,95,0}}, +/* 25122 */ {(12<<2)|2,{47,95,0}}, +/* 25123 */ {(12<<2)|2,{47,95,0}}, +/* 25124 */ {(12<<2)|2,{47,95,0}}, +/* 25125 */ {(12<<2)|2,{47,95,0}}, +/* 25126 */ {(12<<2)|2,{47,95,0}}, +/* 25127 */ {(12<<2)|2,{47,95,0}}, +/* 25128 */ {(12<<2)|2,{47,95,0}}, +/* 25129 */ {(12<<2)|2,{47,95,0}}, +/* 25130 */ {(12<<2)|2,{47,95,0}}, +/* 25131 */ {(12<<2)|2,{47,95,0}}, +/* 25132 */ {(12<<2)|2,{47,95,0}}, +/* 25133 */ {(12<<2)|2,{47,95,0}}, +/* 25134 */ {(12<<2)|2,{47,95,0}}, +/* 25135 */ {(12<<2)|2,{47,95,0}}, +/* 25136 */ {(12<<2)|2,{47,98,0}}, +/* 25137 */ {(12<<2)|2,{47,98,0}}, +/* 25138 */ {(12<<2)|2,{47,98,0}}, +/* 25139 */ {(12<<2)|2,{47,98,0}}, +/* 25140 */ {(12<<2)|2,{47,98,0}}, +/* 25141 */ {(12<<2)|2,{47,98,0}}, +/* 25142 */ {(12<<2)|2,{47,98,0}}, +/* 25143 */ {(12<<2)|2,{47,98,0}}, +/* 25144 */ {(12<<2)|2,{47,98,0}}, +/* 25145 */ {(12<<2)|2,{47,98,0}}, +/* 25146 */ {(12<<2)|2,{47,98,0}}, +/* 25147 */ {(12<<2)|2,{47,98,0}}, +/* 25148 */ {(12<<2)|2,{47,98,0}}, +/* 25149 */ {(12<<2)|2,{47,98,0}}, +/* 25150 */ {(12<<2)|2,{47,98,0}}, +/* 25151 */ {(12<<2)|2,{47,98,0}}, +/* 25152 */ {(12<<2)|2,{47,100,0}}, +/* 25153 */ {(12<<2)|2,{47,100,0}}, +/* 25154 */ {(12<<2)|2,{47,100,0}}, +/* 25155 */ {(12<<2)|2,{47,100,0}}, +/* 25156 */ {(12<<2)|2,{47,100,0}}, +/* 25157 */ {(12<<2)|2,{47,100,0}}, +/* 25158 */ {(12<<2)|2,{47,100,0}}, +/* 25159 */ {(12<<2)|2,{47,100,0}}, +/* 25160 */ {(12<<2)|2,{47,100,0}}, +/* 25161 */ {(12<<2)|2,{47,100,0}}, +/* 25162 */ {(12<<2)|2,{47,100,0}}, +/* 25163 */ {(12<<2)|2,{47,100,0}}, +/* 25164 */ {(12<<2)|2,{47,100,0}}, +/* 25165 */ {(12<<2)|2,{47,100,0}}, +/* 25166 */ {(12<<2)|2,{47,100,0}}, +/* 25167 */ {(12<<2)|2,{47,100,0}}, +/* 25168 */ {(12<<2)|2,{47,102,0}}, +/* 25169 */ {(12<<2)|2,{47,102,0}}, +/* 25170 */ {(12<<2)|2,{47,102,0}}, +/* 25171 */ {(12<<2)|2,{47,102,0}}, +/* 25172 */ {(12<<2)|2,{47,102,0}}, +/* 25173 */ {(12<<2)|2,{47,102,0}}, +/* 25174 */ {(12<<2)|2,{47,102,0}}, +/* 25175 */ {(12<<2)|2,{47,102,0}}, +/* 25176 */ {(12<<2)|2,{47,102,0}}, +/* 25177 */ {(12<<2)|2,{47,102,0}}, +/* 25178 */ {(12<<2)|2,{47,102,0}}, +/* 25179 */ {(12<<2)|2,{47,102,0}}, +/* 25180 */ {(12<<2)|2,{47,102,0}}, +/* 25181 */ {(12<<2)|2,{47,102,0}}, +/* 25182 */ {(12<<2)|2,{47,102,0}}, +/* 25183 */ {(12<<2)|2,{47,102,0}}, +/* 25184 */ {(12<<2)|2,{47,103,0}}, +/* 25185 */ {(12<<2)|2,{47,103,0}}, +/* 25186 */ {(12<<2)|2,{47,103,0}}, +/* 25187 */ {(12<<2)|2,{47,103,0}}, +/* 25188 */ {(12<<2)|2,{47,103,0}}, +/* 25189 */ {(12<<2)|2,{47,103,0}}, +/* 25190 */ {(12<<2)|2,{47,103,0}}, +/* 25191 */ {(12<<2)|2,{47,103,0}}, +/* 25192 */ {(12<<2)|2,{47,103,0}}, +/* 25193 */ {(12<<2)|2,{47,103,0}}, +/* 25194 */ {(12<<2)|2,{47,103,0}}, +/* 25195 */ {(12<<2)|2,{47,103,0}}, +/* 25196 */ {(12<<2)|2,{47,103,0}}, +/* 25197 */ {(12<<2)|2,{47,103,0}}, +/* 25198 */ {(12<<2)|2,{47,103,0}}, +/* 25199 */ {(12<<2)|2,{47,103,0}}, +/* 25200 */ {(12<<2)|2,{47,104,0}}, +/* 25201 */ {(12<<2)|2,{47,104,0}}, +/* 25202 */ {(12<<2)|2,{47,104,0}}, +/* 25203 */ {(12<<2)|2,{47,104,0}}, +/* 25204 */ {(12<<2)|2,{47,104,0}}, +/* 25205 */ {(12<<2)|2,{47,104,0}}, +/* 25206 */ {(12<<2)|2,{47,104,0}}, +/* 25207 */ {(12<<2)|2,{47,104,0}}, +/* 25208 */ {(12<<2)|2,{47,104,0}}, +/* 25209 */ {(12<<2)|2,{47,104,0}}, +/* 25210 */ {(12<<2)|2,{47,104,0}}, +/* 25211 */ {(12<<2)|2,{47,104,0}}, +/* 25212 */ {(12<<2)|2,{47,104,0}}, +/* 25213 */ {(12<<2)|2,{47,104,0}}, +/* 25214 */ {(12<<2)|2,{47,104,0}}, +/* 25215 */ {(12<<2)|2,{47,104,0}}, +/* 25216 */ {(12<<2)|2,{47,108,0}}, +/* 25217 */ {(12<<2)|2,{47,108,0}}, +/* 25218 */ {(12<<2)|2,{47,108,0}}, +/* 25219 */ {(12<<2)|2,{47,108,0}}, +/* 25220 */ {(12<<2)|2,{47,108,0}}, +/* 25221 */ {(12<<2)|2,{47,108,0}}, +/* 25222 */ {(12<<2)|2,{47,108,0}}, +/* 25223 */ {(12<<2)|2,{47,108,0}}, +/* 25224 */ {(12<<2)|2,{47,108,0}}, +/* 25225 */ {(12<<2)|2,{47,108,0}}, +/* 25226 */ {(12<<2)|2,{47,108,0}}, +/* 25227 */ {(12<<2)|2,{47,108,0}}, +/* 25228 */ {(12<<2)|2,{47,108,0}}, +/* 25229 */ {(12<<2)|2,{47,108,0}}, +/* 25230 */ {(12<<2)|2,{47,108,0}}, +/* 25231 */ {(12<<2)|2,{47,108,0}}, +/* 25232 */ {(12<<2)|2,{47,109,0}}, +/* 25233 */ {(12<<2)|2,{47,109,0}}, +/* 25234 */ {(12<<2)|2,{47,109,0}}, +/* 25235 */ {(12<<2)|2,{47,109,0}}, +/* 25236 */ {(12<<2)|2,{47,109,0}}, +/* 25237 */ {(12<<2)|2,{47,109,0}}, +/* 25238 */ {(12<<2)|2,{47,109,0}}, +/* 25239 */ {(12<<2)|2,{47,109,0}}, +/* 25240 */ {(12<<2)|2,{47,109,0}}, +/* 25241 */ {(12<<2)|2,{47,109,0}}, +/* 25242 */ {(12<<2)|2,{47,109,0}}, +/* 25243 */ {(12<<2)|2,{47,109,0}}, +/* 25244 */ {(12<<2)|2,{47,109,0}}, +/* 25245 */ {(12<<2)|2,{47,109,0}}, +/* 25246 */ {(12<<2)|2,{47,109,0}}, +/* 25247 */ {(12<<2)|2,{47,109,0}}, +/* 25248 */ {(12<<2)|2,{47,110,0}}, +/* 25249 */ {(12<<2)|2,{47,110,0}}, +/* 25250 */ {(12<<2)|2,{47,110,0}}, +/* 25251 */ {(12<<2)|2,{47,110,0}}, +/* 25252 */ {(12<<2)|2,{47,110,0}}, +/* 25253 */ {(12<<2)|2,{47,110,0}}, +/* 25254 */ {(12<<2)|2,{47,110,0}}, +/* 25255 */ {(12<<2)|2,{47,110,0}}, +/* 25256 */ {(12<<2)|2,{47,110,0}}, +/* 25257 */ {(12<<2)|2,{47,110,0}}, +/* 25258 */ {(12<<2)|2,{47,110,0}}, +/* 25259 */ {(12<<2)|2,{47,110,0}}, +/* 25260 */ {(12<<2)|2,{47,110,0}}, +/* 25261 */ {(12<<2)|2,{47,110,0}}, +/* 25262 */ {(12<<2)|2,{47,110,0}}, +/* 25263 */ {(12<<2)|2,{47,110,0}}, +/* 25264 */ {(12<<2)|2,{47,112,0}}, +/* 25265 */ {(12<<2)|2,{47,112,0}}, +/* 25266 */ {(12<<2)|2,{47,112,0}}, +/* 25267 */ {(12<<2)|2,{47,112,0}}, +/* 25268 */ {(12<<2)|2,{47,112,0}}, +/* 25269 */ {(12<<2)|2,{47,112,0}}, +/* 25270 */ {(12<<2)|2,{47,112,0}}, +/* 25271 */ {(12<<2)|2,{47,112,0}}, +/* 25272 */ {(12<<2)|2,{47,112,0}}, +/* 25273 */ {(12<<2)|2,{47,112,0}}, +/* 25274 */ {(12<<2)|2,{47,112,0}}, +/* 25275 */ {(12<<2)|2,{47,112,0}}, +/* 25276 */ {(12<<2)|2,{47,112,0}}, +/* 25277 */ {(12<<2)|2,{47,112,0}}, +/* 25278 */ {(12<<2)|2,{47,112,0}}, +/* 25279 */ {(12<<2)|2,{47,112,0}}, +/* 25280 */ {(12<<2)|2,{47,114,0}}, +/* 25281 */ {(12<<2)|2,{47,114,0}}, +/* 25282 */ {(12<<2)|2,{47,114,0}}, +/* 25283 */ {(12<<2)|2,{47,114,0}}, +/* 25284 */ {(12<<2)|2,{47,114,0}}, +/* 25285 */ {(12<<2)|2,{47,114,0}}, +/* 25286 */ {(12<<2)|2,{47,114,0}}, +/* 25287 */ {(12<<2)|2,{47,114,0}}, +/* 25288 */ {(12<<2)|2,{47,114,0}}, +/* 25289 */ {(12<<2)|2,{47,114,0}}, +/* 25290 */ {(12<<2)|2,{47,114,0}}, +/* 25291 */ {(12<<2)|2,{47,114,0}}, +/* 25292 */ {(12<<2)|2,{47,114,0}}, +/* 25293 */ {(12<<2)|2,{47,114,0}}, +/* 25294 */ {(12<<2)|2,{47,114,0}}, +/* 25295 */ {(12<<2)|2,{47,114,0}}, +/* 25296 */ {(12<<2)|2,{47,117,0}}, +/* 25297 */ {(12<<2)|2,{47,117,0}}, +/* 25298 */ {(12<<2)|2,{47,117,0}}, +/* 25299 */ {(12<<2)|2,{47,117,0}}, +/* 25300 */ {(12<<2)|2,{47,117,0}}, +/* 25301 */ {(12<<2)|2,{47,117,0}}, +/* 25302 */ {(12<<2)|2,{47,117,0}}, +/* 25303 */ {(12<<2)|2,{47,117,0}}, +/* 25304 */ {(12<<2)|2,{47,117,0}}, +/* 25305 */ {(12<<2)|2,{47,117,0}}, +/* 25306 */ {(12<<2)|2,{47,117,0}}, +/* 25307 */ {(12<<2)|2,{47,117,0}}, +/* 25308 */ {(12<<2)|2,{47,117,0}}, +/* 25309 */ {(12<<2)|2,{47,117,0}}, +/* 25310 */ {(12<<2)|2,{47,117,0}}, +/* 25311 */ {(12<<2)|2,{47,117,0}}, +/* 25312 */ {(13<<2)|2,{47,58,0}}, +/* 25313 */ {(13<<2)|2,{47,58,0}}, +/* 25314 */ {(13<<2)|2,{47,58,0}}, +/* 25315 */ {(13<<2)|2,{47,58,0}}, +/* 25316 */ {(13<<2)|2,{47,58,0}}, +/* 25317 */ {(13<<2)|2,{47,58,0}}, +/* 25318 */ {(13<<2)|2,{47,58,0}}, +/* 25319 */ {(13<<2)|2,{47,58,0}}, +/* 25320 */ {(13<<2)|2,{47,66,0}}, +/* 25321 */ {(13<<2)|2,{47,66,0}}, +/* 25322 */ {(13<<2)|2,{47,66,0}}, +/* 25323 */ {(13<<2)|2,{47,66,0}}, +/* 25324 */ {(13<<2)|2,{47,66,0}}, +/* 25325 */ {(13<<2)|2,{47,66,0}}, +/* 25326 */ {(13<<2)|2,{47,66,0}}, +/* 25327 */ {(13<<2)|2,{47,66,0}}, +/* 25328 */ {(13<<2)|2,{47,67,0}}, +/* 25329 */ {(13<<2)|2,{47,67,0}}, +/* 25330 */ {(13<<2)|2,{47,67,0}}, +/* 25331 */ {(13<<2)|2,{47,67,0}}, +/* 25332 */ {(13<<2)|2,{47,67,0}}, +/* 25333 */ {(13<<2)|2,{47,67,0}}, +/* 25334 */ {(13<<2)|2,{47,67,0}}, +/* 25335 */ {(13<<2)|2,{47,67,0}}, +/* 25336 */ {(13<<2)|2,{47,68,0}}, +/* 25337 */ {(13<<2)|2,{47,68,0}}, +/* 25338 */ {(13<<2)|2,{47,68,0}}, +/* 25339 */ {(13<<2)|2,{47,68,0}}, +/* 25340 */ {(13<<2)|2,{47,68,0}}, +/* 25341 */ {(13<<2)|2,{47,68,0}}, +/* 25342 */ {(13<<2)|2,{47,68,0}}, +/* 25343 */ {(13<<2)|2,{47,68,0}}, +/* 25344 */ {(13<<2)|2,{47,69,0}}, +/* 25345 */ {(13<<2)|2,{47,69,0}}, +/* 25346 */ {(13<<2)|2,{47,69,0}}, +/* 25347 */ {(13<<2)|2,{47,69,0}}, +/* 25348 */ {(13<<2)|2,{47,69,0}}, +/* 25349 */ {(13<<2)|2,{47,69,0}}, +/* 25350 */ {(13<<2)|2,{47,69,0}}, +/* 25351 */ {(13<<2)|2,{47,69,0}}, +/* 25352 */ {(13<<2)|2,{47,70,0}}, +/* 25353 */ {(13<<2)|2,{47,70,0}}, +/* 25354 */ {(13<<2)|2,{47,70,0}}, +/* 25355 */ {(13<<2)|2,{47,70,0}}, +/* 25356 */ {(13<<2)|2,{47,70,0}}, +/* 25357 */ {(13<<2)|2,{47,70,0}}, +/* 25358 */ {(13<<2)|2,{47,70,0}}, +/* 25359 */ {(13<<2)|2,{47,70,0}}, +/* 25360 */ {(13<<2)|2,{47,71,0}}, +/* 25361 */ {(13<<2)|2,{47,71,0}}, +/* 25362 */ {(13<<2)|2,{47,71,0}}, +/* 25363 */ {(13<<2)|2,{47,71,0}}, +/* 25364 */ {(13<<2)|2,{47,71,0}}, +/* 25365 */ {(13<<2)|2,{47,71,0}}, +/* 25366 */ {(13<<2)|2,{47,71,0}}, +/* 25367 */ {(13<<2)|2,{47,71,0}}, +/* 25368 */ {(13<<2)|2,{47,72,0}}, +/* 25369 */ {(13<<2)|2,{47,72,0}}, +/* 25370 */ {(13<<2)|2,{47,72,0}}, +/* 25371 */ {(13<<2)|2,{47,72,0}}, +/* 25372 */ {(13<<2)|2,{47,72,0}}, +/* 25373 */ {(13<<2)|2,{47,72,0}}, +/* 25374 */ {(13<<2)|2,{47,72,0}}, +/* 25375 */ {(13<<2)|2,{47,72,0}}, +/* 25376 */ {(13<<2)|2,{47,73,0}}, +/* 25377 */ {(13<<2)|2,{47,73,0}}, +/* 25378 */ {(13<<2)|2,{47,73,0}}, +/* 25379 */ {(13<<2)|2,{47,73,0}}, +/* 25380 */ {(13<<2)|2,{47,73,0}}, +/* 25381 */ {(13<<2)|2,{47,73,0}}, +/* 25382 */ {(13<<2)|2,{47,73,0}}, +/* 25383 */ {(13<<2)|2,{47,73,0}}, +/* 25384 */ {(13<<2)|2,{47,74,0}}, +/* 25385 */ {(13<<2)|2,{47,74,0}}, +/* 25386 */ {(13<<2)|2,{47,74,0}}, +/* 25387 */ {(13<<2)|2,{47,74,0}}, +/* 25388 */ {(13<<2)|2,{47,74,0}}, +/* 25389 */ {(13<<2)|2,{47,74,0}}, +/* 25390 */ {(13<<2)|2,{47,74,0}}, +/* 25391 */ {(13<<2)|2,{47,74,0}}, +/* 25392 */ {(13<<2)|2,{47,75,0}}, +/* 25393 */ {(13<<2)|2,{47,75,0}}, +/* 25394 */ {(13<<2)|2,{47,75,0}}, +/* 25395 */ {(13<<2)|2,{47,75,0}}, +/* 25396 */ {(13<<2)|2,{47,75,0}}, +/* 25397 */ {(13<<2)|2,{47,75,0}}, +/* 25398 */ {(13<<2)|2,{47,75,0}}, +/* 25399 */ {(13<<2)|2,{47,75,0}}, +/* 25400 */ {(13<<2)|2,{47,76,0}}, +/* 25401 */ {(13<<2)|2,{47,76,0}}, +/* 25402 */ {(13<<2)|2,{47,76,0}}, +/* 25403 */ {(13<<2)|2,{47,76,0}}, +/* 25404 */ {(13<<2)|2,{47,76,0}}, +/* 25405 */ {(13<<2)|2,{47,76,0}}, +/* 25406 */ {(13<<2)|2,{47,76,0}}, +/* 25407 */ {(13<<2)|2,{47,76,0}}, +/* 25408 */ {(13<<2)|2,{47,77,0}}, +/* 25409 */ {(13<<2)|2,{47,77,0}}, +/* 25410 */ {(13<<2)|2,{47,77,0}}, +/* 25411 */ {(13<<2)|2,{47,77,0}}, +/* 25412 */ {(13<<2)|2,{47,77,0}}, +/* 25413 */ {(13<<2)|2,{47,77,0}}, +/* 25414 */ {(13<<2)|2,{47,77,0}}, +/* 25415 */ {(13<<2)|2,{47,77,0}}, +/* 25416 */ {(13<<2)|2,{47,78,0}}, +/* 25417 */ {(13<<2)|2,{47,78,0}}, +/* 25418 */ {(13<<2)|2,{47,78,0}}, +/* 25419 */ {(13<<2)|2,{47,78,0}}, +/* 25420 */ {(13<<2)|2,{47,78,0}}, +/* 25421 */ {(13<<2)|2,{47,78,0}}, +/* 25422 */ {(13<<2)|2,{47,78,0}}, +/* 25423 */ {(13<<2)|2,{47,78,0}}, +/* 25424 */ {(13<<2)|2,{47,79,0}}, +/* 25425 */ {(13<<2)|2,{47,79,0}}, +/* 25426 */ {(13<<2)|2,{47,79,0}}, +/* 25427 */ {(13<<2)|2,{47,79,0}}, +/* 25428 */ {(13<<2)|2,{47,79,0}}, +/* 25429 */ {(13<<2)|2,{47,79,0}}, +/* 25430 */ {(13<<2)|2,{47,79,0}}, +/* 25431 */ {(13<<2)|2,{47,79,0}}, +/* 25432 */ {(13<<2)|2,{47,80,0}}, +/* 25433 */ {(13<<2)|2,{47,80,0}}, +/* 25434 */ {(13<<2)|2,{47,80,0}}, +/* 25435 */ {(13<<2)|2,{47,80,0}}, +/* 25436 */ {(13<<2)|2,{47,80,0}}, +/* 25437 */ {(13<<2)|2,{47,80,0}}, +/* 25438 */ {(13<<2)|2,{47,80,0}}, +/* 25439 */ {(13<<2)|2,{47,80,0}}, +/* 25440 */ {(13<<2)|2,{47,81,0}}, +/* 25441 */ {(13<<2)|2,{47,81,0}}, +/* 25442 */ {(13<<2)|2,{47,81,0}}, +/* 25443 */ {(13<<2)|2,{47,81,0}}, +/* 25444 */ {(13<<2)|2,{47,81,0}}, +/* 25445 */ {(13<<2)|2,{47,81,0}}, +/* 25446 */ {(13<<2)|2,{47,81,0}}, +/* 25447 */ {(13<<2)|2,{47,81,0}}, +/* 25448 */ {(13<<2)|2,{47,82,0}}, +/* 25449 */ {(13<<2)|2,{47,82,0}}, +/* 25450 */ {(13<<2)|2,{47,82,0}}, +/* 25451 */ {(13<<2)|2,{47,82,0}}, +/* 25452 */ {(13<<2)|2,{47,82,0}}, +/* 25453 */ {(13<<2)|2,{47,82,0}}, +/* 25454 */ {(13<<2)|2,{47,82,0}}, +/* 25455 */ {(13<<2)|2,{47,82,0}}, +/* 25456 */ {(13<<2)|2,{47,83,0}}, +/* 25457 */ {(13<<2)|2,{47,83,0}}, +/* 25458 */ {(13<<2)|2,{47,83,0}}, +/* 25459 */ {(13<<2)|2,{47,83,0}}, +/* 25460 */ {(13<<2)|2,{47,83,0}}, +/* 25461 */ {(13<<2)|2,{47,83,0}}, +/* 25462 */ {(13<<2)|2,{47,83,0}}, +/* 25463 */ {(13<<2)|2,{47,83,0}}, +/* 25464 */ {(13<<2)|2,{47,84,0}}, +/* 25465 */ {(13<<2)|2,{47,84,0}}, +/* 25466 */ {(13<<2)|2,{47,84,0}}, +/* 25467 */ {(13<<2)|2,{47,84,0}}, +/* 25468 */ {(13<<2)|2,{47,84,0}}, +/* 25469 */ {(13<<2)|2,{47,84,0}}, +/* 25470 */ {(13<<2)|2,{47,84,0}}, +/* 25471 */ {(13<<2)|2,{47,84,0}}, +/* 25472 */ {(13<<2)|2,{47,85,0}}, +/* 25473 */ {(13<<2)|2,{47,85,0}}, +/* 25474 */ {(13<<2)|2,{47,85,0}}, +/* 25475 */ {(13<<2)|2,{47,85,0}}, +/* 25476 */ {(13<<2)|2,{47,85,0}}, +/* 25477 */ {(13<<2)|2,{47,85,0}}, +/* 25478 */ {(13<<2)|2,{47,85,0}}, +/* 25479 */ {(13<<2)|2,{47,85,0}}, +/* 25480 */ {(13<<2)|2,{47,86,0}}, +/* 25481 */ {(13<<2)|2,{47,86,0}}, +/* 25482 */ {(13<<2)|2,{47,86,0}}, +/* 25483 */ {(13<<2)|2,{47,86,0}}, +/* 25484 */ {(13<<2)|2,{47,86,0}}, +/* 25485 */ {(13<<2)|2,{47,86,0}}, +/* 25486 */ {(13<<2)|2,{47,86,0}}, +/* 25487 */ {(13<<2)|2,{47,86,0}}, +/* 25488 */ {(13<<2)|2,{47,87,0}}, +/* 25489 */ {(13<<2)|2,{47,87,0}}, +/* 25490 */ {(13<<2)|2,{47,87,0}}, +/* 25491 */ {(13<<2)|2,{47,87,0}}, +/* 25492 */ {(13<<2)|2,{47,87,0}}, +/* 25493 */ {(13<<2)|2,{47,87,0}}, +/* 25494 */ {(13<<2)|2,{47,87,0}}, +/* 25495 */ {(13<<2)|2,{47,87,0}}, +/* 25496 */ {(13<<2)|2,{47,89,0}}, +/* 25497 */ {(13<<2)|2,{47,89,0}}, +/* 25498 */ {(13<<2)|2,{47,89,0}}, +/* 25499 */ {(13<<2)|2,{47,89,0}}, +/* 25500 */ {(13<<2)|2,{47,89,0}}, +/* 25501 */ {(13<<2)|2,{47,89,0}}, +/* 25502 */ {(13<<2)|2,{47,89,0}}, +/* 25503 */ {(13<<2)|2,{47,89,0}}, +/* 25504 */ {(13<<2)|2,{47,106,0}}, +/* 25505 */ {(13<<2)|2,{47,106,0}}, +/* 25506 */ {(13<<2)|2,{47,106,0}}, +/* 25507 */ {(13<<2)|2,{47,106,0}}, +/* 25508 */ {(13<<2)|2,{47,106,0}}, +/* 25509 */ {(13<<2)|2,{47,106,0}}, +/* 25510 */ {(13<<2)|2,{47,106,0}}, +/* 25511 */ {(13<<2)|2,{47,106,0}}, +/* 25512 */ {(13<<2)|2,{47,107,0}}, +/* 25513 */ {(13<<2)|2,{47,107,0}}, +/* 25514 */ {(13<<2)|2,{47,107,0}}, +/* 25515 */ {(13<<2)|2,{47,107,0}}, +/* 25516 */ {(13<<2)|2,{47,107,0}}, +/* 25517 */ {(13<<2)|2,{47,107,0}}, +/* 25518 */ {(13<<2)|2,{47,107,0}}, +/* 25519 */ {(13<<2)|2,{47,107,0}}, +/* 25520 */ {(13<<2)|2,{47,113,0}}, +/* 25521 */ {(13<<2)|2,{47,113,0}}, +/* 25522 */ {(13<<2)|2,{47,113,0}}, +/* 25523 */ {(13<<2)|2,{47,113,0}}, +/* 25524 */ {(13<<2)|2,{47,113,0}}, +/* 25525 */ {(13<<2)|2,{47,113,0}}, +/* 25526 */ {(13<<2)|2,{47,113,0}}, +/* 25527 */ {(13<<2)|2,{47,113,0}}, +/* 25528 */ {(13<<2)|2,{47,118,0}}, +/* 25529 */ {(13<<2)|2,{47,118,0}}, +/* 25530 */ {(13<<2)|2,{47,118,0}}, +/* 25531 */ {(13<<2)|2,{47,118,0}}, +/* 25532 */ {(13<<2)|2,{47,118,0}}, +/* 25533 */ {(13<<2)|2,{47,118,0}}, +/* 25534 */ {(13<<2)|2,{47,118,0}}, +/* 25535 */ {(13<<2)|2,{47,118,0}}, +/* 25536 */ {(13<<2)|2,{47,119,0}}, +/* 25537 */ {(13<<2)|2,{47,119,0}}, +/* 25538 */ {(13<<2)|2,{47,119,0}}, +/* 25539 */ {(13<<2)|2,{47,119,0}}, +/* 25540 */ {(13<<2)|2,{47,119,0}}, +/* 25541 */ {(13<<2)|2,{47,119,0}}, +/* 25542 */ {(13<<2)|2,{47,119,0}}, +/* 25543 */ {(13<<2)|2,{47,119,0}}, +/* 25544 */ {(13<<2)|2,{47,120,0}}, +/* 25545 */ {(13<<2)|2,{47,120,0}}, +/* 25546 */ {(13<<2)|2,{47,120,0}}, +/* 25547 */ {(13<<2)|2,{47,120,0}}, +/* 25548 */ {(13<<2)|2,{47,120,0}}, +/* 25549 */ {(13<<2)|2,{47,120,0}}, +/* 25550 */ {(13<<2)|2,{47,120,0}}, +/* 25551 */ {(13<<2)|2,{47,120,0}}, +/* 25552 */ {(13<<2)|2,{47,121,0}}, +/* 25553 */ {(13<<2)|2,{47,121,0}}, +/* 25554 */ {(13<<2)|2,{47,121,0}}, +/* 25555 */ {(13<<2)|2,{47,121,0}}, +/* 25556 */ {(13<<2)|2,{47,121,0}}, +/* 25557 */ {(13<<2)|2,{47,121,0}}, +/* 25558 */ {(13<<2)|2,{47,121,0}}, +/* 25559 */ {(13<<2)|2,{47,121,0}}, +/* 25560 */ {(13<<2)|2,{47,122,0}}, +/* 25561 */ {(13<<2)|2,{47,122,0}}, +/* 25562 */ {(13<<2)|2,{47,122,0}}, +/* 25563 */ {(13<<2)|2,{47,122,0}}, +/* 25564 */ {(13<<2)|2,{47,122,0}}, +/* 25565 */ {(13<<2)|2,{47,122,0}}, +/* 25566 */ {(13<<2)|2,{47,122,0}}, +/* 25567 */ {(13<<2)|2,{47,122,0}}, +/* 25568 */ {(14<<2)|2,{47,38,0}}, +/* 25569 */ {(14<<2)|2,{47,38,0}}, +/* 25570 */ {(14<<2)|2,{47,38,0}}, +/* 25571 */ {(14<<2)|2,{47,38,0}}, +/* 25572 */ {(14<<2)|2,{47,42,0}}, +/* 25573 */ {(14<<2)|2,{47,42,0}}, +/* 25574 */ {(14<<2)|2,{47,42,0}}, +/* 25575 */ {(14<<2)|2,{47,42,0}}, +/* 25576 */ {(14<<2)|2,{47,44,0}}, +/* 25577 */ {(14<<2)|2,{47,44,0}}, +/* 25578 */ {(14<<2)|2,{47,44,0}}, +/* 25579 */ {(14<<2)|2,{47,44,0}}, +/* 25580 */ {(14<<2)|2,{47,59,0}}, +/* 25581 */ {(14<<2)|2,{47,59,0}}, +/* 25582 */ {(14<<2)|2,{47,59,0}}, +/* 25583 */ {(14<<2)|2,{47,59,0}}, +/* 25584 */ {(14<<2)|2,{47,88,0}}, +/* 25585 */ {(14<<2)|2,{47,88,0}}, +/* 25586 */ {(14<<2)|2,{47,88,0}}, +/* 25587 */ {(14<<2)|2,{47,88,0}}, +/* 25588 */ {(14<<2)|2,{47,90,0}}, +/* 25589 */ {(14<<2)|2,{47,90,0}}, +/* 25590 */ {(14<<2)|2,{47,90,0}}, +/* 25591 */ {(14<<2)|2,{47,90,0}}, +/* 25592 */ {(16<<2)|2,{47,33,0}}, +/* 25593 */ {(16<<2)|2,{47,34,0}}, +/* 25594 */ {(16<<2)|2,{47,40,0}}, +/* 25595 */ {(16<<2)|2,{47,41,0}}, +/* 25596 */ {(16<<2)|2,{47,63,0}}, +/* 25597 */ {(6<<2)|1,{47,0,0}}, +/* 25598 */ {(6<<2)|1,{47,0,0}}, +/* 25599 */ {(6<<2)|1,{47,0,0}}, +/* 25600 */ {(16<<2)|3,{51,48,48}}, +/* 25601 */ {(16<<2)|3,{51,48,49}}, +/* 25602 */ {(16<<2)|3,{51,48,50}}, +/* 25603 */ {(16<<2)|3,{51,48,97}}, +/* 25604 */ {(16<<2)|3,{51,48,99}}, +/* 25605 */ {(16<<2)|3,{51,48,101}}, +/* 25606 */ {(16<<2)|3,{51,48,105}}, +/* 25607 */ {(16<<2)|3,{51,48,111}}, +/* 25608 */ {(16<<2)|3,{51,48,115}}, +/* 25609 */ {(16<<2)|3,{51,48,116}}, +/* 25610 */ {(11<<2)|2,{51,48,0}}, +/* 25611 */ {(11<<2)|2,{51,48,0}}, +/* 25612 */ {(11<<2)|2,{51,48,0}}, +/* 25613 */ {(11<<2)|2,{51,48,0}}, +/* 25614 */ {(11<<2)|2,{51,48,0}}, +/* 25615 */ {(11<<2)|2,{51,48,0}}, +/* 25616 */ {(11<<2)|2,{51,48,0}}, +/* 25617 */ {(11<<2)|2,{51,48,0}}, +/* 25618 */ {(11<<2)|2,{51,48,0}}, +/* 25619 */ {(11<<2)|2,{51,48,0}}, +/* 25620 */ {(11<<2)|2,{51,48,0}}, +/* 25621 */ {(11<<2)|2,{51,48,0}}, +/* 25622 */ {(11<<2)|2,{51,48,0}}, +/* 25623 */ {(11<<2)|2,{51,48,0}}, +/* 25624 */ {(11<<2)|2,{51,48,0}}, +/* 25625 */ {(11<<2)|2,{51,48,0}}, +/* 25626 */ {(11<<2)|2,{51,48,0}}, +/* 25627 */ {(11<<2)|2,{51,48,0}}, +/* 25628 */ {(11<<2)|2,{51,48,0}}, +/* 25629 */ {(11<<2)|2,{51,48,0}}, +/* 25630 */ {(11<<2)|2,{51,48,0}}, +/* 25631 */ {(11<<2)|2,{51,48,0}}, +/* 25632 */ {(16<<2)|3,{51,49,48}}, +/* 25633 */ {(16<<2)|3,{51,49,49}}, +/* 25634 */ {(16<<2)|3,{51,49,50}}, +/* 25635 */ {(16<<2)|3,{51,49,97}}, +/* 25636 */ {(16<<2)|3,{51,49,99}}, +/* 25637 */ {(16<<2)|3,{51,49,101}}, +/* 25638 */ {(16<<2)|3,{51,49,105}}, +/* 25639 */ {(16<<2)|3,{51,49,111}}, +/* 25640 */ {(16<<2)|3,{51,49,115}}, +/* 25641 */ {(16<<2)|3,{51,49,116}}, +/* 25642 */ {(11<<2)|2,{51,49,0}}, +/* 25643 */ {(11<<2)|2,{51,49,0}}, +/* 25644 */ {(11<<2)|2,{51,49,0}}, +/* 25645 */ {(11<<2)|2,{51,49,0}}, +/* 25646 */ {(11<<2)|2,{51,49,0}}, +/* 25647 */ {(11<<2)|2,{51,49,0}}, +/* 25648 */ {(11<<2)|2,{51,49,0}}, +/* 25649 */ {(11<<2)|2,{51,49,0}}, +/* 25650 */ {(11<<2)|2,{51,49,0}}, +/* 25651 */ {(11<<2)|2,{51,49,0}}, +/* 25652 */ {(11<<2)|2,{51,49,0}}, +/* 25653 */ {(11<<2)|2,{51,49,0}}, +/* 25654 */ {(11<<2)|2,{51,49,0}}, +/* 25655 */ {(11<<2)|2,{51,49,0}}, +/* 25656 */ {(11<<2)|2,{51,49,0}}, +/* 25657 */ {(11<<2)|2,{51,49,0}}, +/* 25658 */ {(11<<2)|2,{51,49,0}}, +/* 25659 */ {(11<<2)|2,{51,49,0}}, +/* 25660 */ {(11<<2)|2,{51,49,0}}, +/* 25661 */ {(11<<2)|2,{51,49,0}}, +/* 25662 */ {(11<<2)|2,{51,49,0}}, +/* 25663 */ {(11<<2)|2,{51,49,0}}, +/* 25664 */ {(16<<2)|3,{51,50,48}}, +/* 25665 */ {(16<<2)|3,{51,50,49}}, +/* 25666 */ {(16<<2)|3,{51,50,50}}, +/* 25667 */ {(16<<2)|3,{51,50,97}}, +/* 25668 */ {(16<<2)|3,{51,50,99}}, +/* 25669 */ {(16<<2)|3,{51,50,101}}, +/* 25670 */ {(16<<2)|3,{51,50,105}}, +/* 25671 */ {(16<<2)|3,{51,50,111}}, +/* 25672 */ {(16<<2)|3,{51,50,115}}, +/* 25673 */ {(16<<2)|3,{51,50,116}}, +/* 25674 */ {(11<<2)|2,{51,50,0}}, +/* 25675 */ {(11<<2)|2,{51,50,0}}, +/* 25676 */ {(11<<2)|2,{51,50,0}}, +/* 25677 */ {(11<<2)|2,{51,50,0}}, +/* 25678 */ {(11<<2)|2,{51,50,0}}, +/* 25679 */ {(11<<2)|2,{51,50,0}}, +/* 25680 */ {(11<<2)|2,{51,50,0}}, +/* 25681 */ {(11<<2)|2,{51,50,0}}, +/* 25682 */ {(11<<2)|2,{51,50,0}}, +/* 25683 */ {(11<<2)|2,{51,50,0}}, +/* 25684 */ {(11<<2)|2,{51,50,0}}, +/* 25685 */ {(11<<2)|2,{51,50,0}}, +/* 25686 */ {(11<<2)|2,{51,50,0}}, +/* 25687 */ {(11<<2)|2,{51,50,0}}, +/* 25688 */ {(11<<2)|2,{51,50,0}}, +/* 25689 */ {(11<<2)|2,{51,50,0}}, +/* 25690 */ {(11<<2)|2,{51,50,0}}, +/* 25691 */ {(11<<2)|2,{51,50,0}}, +/* 25692 */ {(11<<2)|2,{51,50,0}}, +/* 25693 */ {(11<<2)|2,{51,50,0}}, +/* 25694 */ {(11<<2)|2,{51,50,0}}, +/* 25695 */ {(11<<2)|2,{51,50,0}}, +/* 25696 */ {(16<<2)|3,{51,97,48}}, +/* 25697 */ {(16<<2)|3,{51,97,49}}, +/* 25698 */ {(16<<2)|3,{51,97,50}}, +/* 25699 */ {(16<<2)|3,{51,97,97}}, +/* 25700 */ {(16<<2)|3,{51,97,99}}, +/* 25701 */ {(16<<2)|3,{51,97,101}}, +/* 25702 */ {(16<<2)|3,{51,97,105}}, +/* 25703 */ {(16<<2)|3,{51,97,111}}, +/* 25704 */ {(16<<2)|3,{51,97,115}}, +/* 25705 */ {(16<<2)|3,{51,97,116}}, +/* 25706 */ {(11<<2)|2,{51,97,0}}, +/* 25707 */ {(11<<2)|2,{51,97,0}}, +/* 25708 */ {(11<<2)|2,{51,97,0}}, +/* 25709 */ {(11<<2)|2,{51,97,0}}, +/* 25710 */ {(11<<2)|2,{51,97,0}}, +/* 25711 */ {(11<<2)|2,{51,97,0}}, +/* 25712 */ {(11<<2)|2,{51,97,0}}, +/* 25713 */ {(11<<2)|2,{51,97,0}}, +/* 25714 */ {(11<<2)|2,{51,97,0}}, +/* 25715 */ {(11<<2)|2,{51,97,0}}, +/* 25716 */ {(11<<2)|2,{51,97,0}}, +/* 25717 */ {(11<<2)|2,{51,97,0}}, +/* 25718 */ {(11<<2)|2,{51,97,0}}, +/* 25719 */ {(11<<2)|2,{51,97,0}}, +/* 25720 */ {(11<<2)|2,{51,97,0}}, +/* 25721 */ {(11<<2)|2,{51,97,0}}, +/* 25722 */ {(11<<2)|2,{51,97,0}}, +/* 25723 */ {(11<<2)|2,{51,97,0}}, +/* 25724 */ {(11<<2)|2,{51,97,0}}, +/* 25725 */ {(11<<2)|2,{51,97,0}}, +/* 25726 */ {(11<<2)|2,{51,97,0}}, +/* 25727 */ {(11<<2)|2,{51,97,0}}, +/* 25728 */ {(16<<2)|3,{51,99,48}}, +/* 25729 */ {(16<<2)|3,{51,99,49}}, +/* 25730 */ {(16<<2)|3,{51,99,50}}, +/* 25731 */ {(16<<2)|3,{51,99,97}}, +/* 25732 */ {(16<<2)|3,{51,99,99}}, +/* 25733 */ {(16<<2)|3,{51,99,101}}, +/* 25734 */ {(16<<2)|3,{51,99,105}}, +/* 25735 */ {(16<<2)|3,{51,99,111}}, +/* 25736 */ {(16<<2)|3,{51,99,115}}, +/* 25737 */ {(16<<2)|3,{51,99,116}}, +/* 25738 */ {(11<<2)|2,{51,99,0}}, +/* 25739 */ {(11<<2)|2,{51,99,0}}, +/* 25740 */ {(11<<2)|2,{51,99,0}}, +/* 25741 */ {(11<<2)|2,{51,99,0}}, +/* 25742 */ {(11<<2)|2,{51,99,0}}, +/* 25743 */ {(11<<2)|2,{51,99,0}}, +/* 25744 */ {(11<<2)|2,{51,99,0}}, +/* 25745 */ {(11<<2)|2,{51,99,0}}, +/* 25746 */ {(11<<2)|2,{51,99,0}}, +/* 25747 */ {(11<<2)|2,{51,99,0}}, +/* 25748 */ {(11<<2)|2,{51,99,0}}, +/* 25749 */ {(11<<2)|2,{51,99,0}}, +/* 25750 */ {(11<<2)|2,{51,99,0}}, +/* 25751 */ {(11<<2)|2,{51,99,0}}, +/* 25752 */ {(11<<2)|2,{51,99,0}}, +/* 25753 */ {(11<<2)|2,{51,99,0}}, +/* 25754 */ {(11<<2)|2,{51,99,0}}, +/* 25755 */ {(11<<2)|2,{51,99,0}}, +/* 25756 */ {(11<<2)|2,{51,99,0}}, +/* 25757 */ {(11<<2)|2,{51,99,0}}, +/* 25758 */ {(11<<2)|2,{51,99,0}}, +/* 25759 */ {(11<<2)|2,{51,99,0}}, +/* 25760 */ {(16<<2)|3,{51,101,48}}, +/* 25761 */ {(16<<2)|3,{51,101,49}}, +/* 25762 */ {(16<<2)|3,{51,101,50}}, +/* 25763 */ {(16<<2)|3,{51,101,97}}, +/* 25764 */ {(16<<2)|3,{51,101,99}}, +/* 25765 */ {(16<<2)|3,{51,101,101}}, +/* 25766 */ {(16<<2)|3,{51,101,105}}, +/* 25767 */ {(16<<2)|3,{51,101,111}}, +/* 25768 */ {(16<<2)|3,{51,101,115}}, +/* 25769 */ {(16<<2)|3,{51,101,116}}, +/* 25770 */ {(11<<2)|2,{51,101,0}}, +/* 25771 */ {(11<<2)|2,{51,101,0}}, +/* 25772 */ {(11<<2)|2,{51,101,0}}, +/* 25773 */ {(11<<2)|2,{51,101,0}}, +/* 25774 */ {(11<<2)|2,{51,101,0}}, +/* 25775 */ {(11<<2)|2,{51,101,0}}, +/* 25776 */ {(11<<2)|2,{51,101,0}}, +/* 25777 */ {(11<<2)|2,{51,101,0}}, +/* 25778 */ {(11<<2)|2,{51,101,0}}, +/* 25779 */ {(11<<2)|2,{51,101,0}}, +/* 25780 */ {(11<<2)|2,{51,101,0}}, +/* 25781 */ {(11<<2)|2,{51,101,0}}, +/* 25782 */ {(11<<2)|2,{51,101,0}}, +/* 25783 */ {(11<<2)|2,{51,101,0}}, +/* 25784 */ {(11<<2)|2,{51,101,0}}, +/* 25785 */ {(11<<2)|2,{51,101,0}}, +/* 25786 */ {(11<<2)|2,{51,101,0}}, +/* 25787 */ {(11<<2)|2,{51,101,0}}, +/* 25788 */ {(11<<2)|2,{51,101,0}}, +/* 25789 */ {(11<<2)|2,{51,101,0}}, +/* 25790 */ {(11<<2)|2,{51,101,0}}, +/* 25791 */ {(11<<2)|2,{51,101,0}}, +/* 25792 */ {(16<<2)|3,{51,105,48}}, +/* 25793 */ {(16<<2)|3,{51,105,49}}, +/* 25794 */ {(16<<2)|3,{51,105,50}}, +/* 25795 */ {(16<<2)|3,{51,105,97}}, +/* 25796 */ {(16<<2)|3,{51,105,99}}, +/* 25797 */ {(16<<2)|3,{51,105,101}}, +/* 25798 */ {(16<<2)|3,{51,105,105}}, +/* 25799 */ {(16<<2)|3,{51,105,111}}, +/* 25800 */ {(16<<2)|3,{51,105,115}}, +/* 25801 */ {(16<<2)|3,{51,105,116}}, +/* 25802 */ {(11<<2)|2,{51,105,0}}, +/* 25803 */ {(11<<2)|2,{51,105,0}}, +/* 25804 */ {(11<<2)|2,{51,105,0}}, +/* 25805 */ {(11<<2)|2,{51,105,0}}, +/* 25806 */ {(11<<2)|2,{51,105,0}}, +/* 25807 */ {(11<<2)|2,{51,105,0}}, +/* 25808 */ {(11<<2)|2,{51,105,0}}, +/* 25809 */ {(11<<2)|2,{51,105,0}}, +/* 25810 */ {(11<<2)|2,{51,105,0}}, +/* 25811 */ {(11<<2)|2,{51,105,0}}, +/* 25812 */ {(11<<2)|2,{51,105,0}}, +/* 25813 */ {(11<<2)|2,{51,105,0}}, +/* 25814 */ {(11<<2)|2,{51,105,0}}, +/* 25815 */ {(11<<2)|2,{51,105,0}}, +/* 25816 */ {(11<<2)|2,{51,105,0}}, +/* 25817 */ {(11<<2)|2,{51,105,0}}, +/* 25818 */ {(11<<2)|2,{51,105,0}}, +/* 25819 */ {(11<<2)|2,{51,105,0}}, +/* 25820 */ {(11<<2)|2,{51,105,0}}, +/* 25821 */ {(11<<2)|2,{51,105,0}}, +/* 25822 */ {(11<<2)|2,{51,105,0}}, +/* 25823 */ {(11<<2)|2,{51,105,0}}, +/* 25824 */ {(16<<2)|3,{51,111,48}}, +/* 25825 */ {(16<<2)|3,{51,111,49}}, +/* 25826 */ {(16<<2)|3,{51,111,50}}, +/* 25827 */ {(16<<2)|3,{51,111,97}}, +/* 25828 */ {(16<<2)|3,{51,111,99}}, +/* 25829 */ {(16<<2)|3,{51,111,101}}, +/* 25830 */ {(16<<2)|3,{51,111,105}}, +/* 25831 */ {(16<<2)|3,{51,111,111}}, +/* 25832 */ {(16<<2)|3,{51,111,115}}, +/* 25833 */ {(16<<2)|3,{51,111,116}}, +/* 25834 */ {(11<<2)|2,{51,111,0}}, +/* 25835 */ {(11<<2)|2,{51,111,0}}, +/* 25836 */ {(11<<2)|2,{51,111,0}}, +/* 25837 */ {(11<<2)|2,{51,111,0}}, +/* 25838 */ {(11<<2)|2,{51,111,0}}, +/* 25839 */ {(11<<2)|2,{51,111,0}}, +/* 25840 */ {(11<<2)|2,{51,111,0}}, +/* 25841 */ {(11<<2)|2,{51,111,0}}, +/* 25842 */ {(11<<2)|2,{51,111,0}}, +/* 25843 */ {(11<<2)|2,{51,111,0}}, +/* 25844 */ {(11<<2)|2,{51,111,0}}, +/* 25845 */ {(11<<2)|2,{51,111,0}}, +/* 25846 */ {(11<<2)|2,{51,111,0}}, +/* 25847 */ {(11<<2)|2,{51,111,0}}, +/* 25848 */ {(11<<2)|2,{51,111,0}}, +/* 25849 */ {(11<<2)|2,{51,111,0}}, +/* 25850 */ {(11<<2)|2,{51,111,0}}, +/* 25851 */ {(11<<2)|2,{51,111,0}}, +/* 25852 */ {(11<<2)|2,{51,111,0}}, +/* 25853 */ {(11<<2)|2,{51,111,0}}, +/* 25854 */ {(11<<2)|2,{51,111,0}}, +/* 25855 */ {(11<<2)|2,{51,111,0}}, +/* 25856 */ {(16<<2)|3,{51,115,48}}, +/* 25857 */ {(16<<2)|3,{51,115,49}}, +/* 25858 */ {(16<<2)|3,{51,115,50}}, +/* 25859 */ {(16<<2)|3,{51,115,97}}, +/* 25860 */ {(16<<2)|3,{51,115,99}}, +/* 25861 */ {(16<<2)|3,{51,115,101}}, +/* 25862 */ {(16<<2)|3,{51,115,105}}, +/* 25863 */ {(16<<2)|3,{51,115,111}}, +/* 25864 */ {(16<<2)|3,{51,115,115}}, +/* 25865 */ {(16<<2)|3,{51,115,116}}, +/* 25866 */ {(11<<2)|2,{51,115,0}}, +/* 25867 */ {(11<<2)|2,{51,115,0}}, +/* 25868 */ {(11<<2)|2,{51,115,0}}, +/* 25869 */ {(11<<2)|2,{51,115,0}}, +/* 25870 */ {(11<<2)|2,{51,115,0}}, +/* 25871 */ {(11<<2)|2,{51,115,0}}, +/* 25872 */ {(11<<2)|2,{51,115,0}}, +/* 25873 */ {(11<<2)|2,{51,115,0}}, +/* 25874 */ {(11<<2)|2,{51,115,0}}, +/* 25875 */ {(11<<2)|2,{51,115,0}}, +/* 25876 */ {(11<<2)|2,{51,115,0}}, +/* 25877 */ {(11<<2)|2,{51,115,0}}, +/* 25878 */ {(11<<2)|2,{51,115,0}}, +/* 25879 */ {(11<<2)|2,{51,115,0}}, +/* 25880 */ {(11<<2)|2,{51,115,0}}, +/* 25881 */ {(11<<2)|2,{51,115,0}}, +/* 25882 */ {(11<<2)|2,{51,115,0}}, +/* 25883 */ {(11<<2)|2,{51,115,0}}, +/* 25884 */ {(11<<2)|2,{51,115,0}}, +/* 25885 */ {(11<<2)|2,{51,115,0}}, +/* 25886 */ {(11<<2)|2,{51,115,0}}, +/* 25887 */ {(11<<2)|2,{51,115,0}}, +/* 25888 */ {(16<<2)|3,{51,116,48}}, +/* 25889 */ {(16<<2)|3,{51,116,49}}, +/* 25890 */ {(16<<2)|3,{51,116,50}}, +/* 25891 */ {(16<<2)|3,{51,116,97}}, +/* 25892 */ {(16<<2)|3,{51,116,99}}, +/* 25893 */ {(16<<2)|3,{51,116,101}}, +/* 25894 */ {(16<<2)|3,{51,116,105}}, +/* 25895 */ {(16<<2)|3,{51,116,111}}, +/* 25896 */ {(16<<2)|3,{51,116,115}}, +/* 25897 */ {(16<<2)|3,{51,116,116}}, +/* 25898 */ {(11<<2)|2,{51,116,0}}, +/* 25899 */ {(11<<2)|2,{51,116,0}}, +/* 25900 */ {(11<<2)|2,{51,116,0}}, +/* 25901 */ {(11<<2)|2,{51,116,0}}, +/* 25902 */ {(11<<2)|2,{51,116,0}}, +/* 25903 */ {(11<<2)|2,{51,116,0}}, +/* 25904 */ {(11<<2)|2,{51,116,0}}, +/* 25905 */ {(11<<2)|2,{51,116,0}}, +/* 25906 */ {(11<<2)|2,{51,116,0}}, +/* 25907 */ {(11<<2)|2,{51,116,0}}, +/* 25908 */ {(11<<2)|2,{51,116,0}}, +/* 25909 */ {(11<<2)|2,{51,116,0}}, +/* 25910 */ {(11<<2)|2,{51,116,0}}, +/* 25911 */ {(11<<2)|2,{51,116,0}}, +/* 25912 */ {(11<<2)|2,{51,116,0}}, +/* 25913 */ {(11<<2)|2,{51,116,0}}, +/* 25914 */ {(11<<2)|2,{51,116,0}}, +/* 25915 */ {(11<<2)|2,{51,116,0}}, +/* 25916 */ {(11<<2)|2,{51,116,0}}, +/* 25917 */ {(11<<2)|2,{51,116,0}}, +/* 25918 */ {(11<<2)|2,{51,116,0}}, +/* 25919 */ {(11<<2)|2,{51,116,0}}, +/* 25920 */ {(12<<2)|2,{51,32,0}}, +/* 25921 */ {(12<<2)|2,{51,32,0}}, +/* 25922 */ {(12<<2)|2,{51,32,0}}, +/* 25923 */ {(12<<2)|2,{51,32,0}}, +/* 25924 */ {(12<<2)|2,{51,32,0}}, +/* 25925 */ {(12<<2)|2,{51,32,0}}, +/* 25926 */ {(12<<2)|2,{51,32,0}}, +/* 25927 */ {(12<<2)|2,{51,32,0}}, +/* 25928 */ {(12<<2)|2,{51,32,0}}, +/* 25929 */ {(12<<2)|2,{51,32,0}}, +/* 25930 */ {(12<<2)|2,{51,32,0}}, +/* 25931 */ {(12<<2)|2,{51,32,0}}, +/* 25932 */ {(12<<2)|2,{51,32,0}}, +/* 25933 */ {(12<<2)|2,{51,32,0}}, +/* 25934 */ {(12<<2)|2,{51,32,0}}, +/* 25935 */ {(12<<2)|2,{51,32,0}}, +/* 25936 */ {(12<<2)|2,{51,37,0}}, +/* 25937 */ {(12<<2)|2,{51,37,0}}, +/* 25938 */ {(12<<2)|2,{51,37,0}}, +/* 25939 */ {(12<<2)|2,{51,37,0}}, +/* 25940 */ {(12<<2)|2,{51,37,0}}, +/* 25941 */ {(12<<2)|2,{51,37,0}}, +/* 25942 */ {(12<<2)|2,{51,37,0}}, +/* 25943 */ {(12<<2)|2,{51,37,0}}, +/* 25944 */ {(12<<2)|2,{51,37,0}}, +/* 25945 */ {(12<<2)|2,{51,37,0}}, +/* 25946 */ {(12<<2)|2,{51,37,0}}, +/* 25947 */ {(12<<2)|2,{51,37,0}}, +/* 25948 */ {(12<<2)|2,{51,37,0}}, +/* 25949 */ {(12<<2)|2,{51,37,0}}, +/* 25950 */ {(12<<2)|2,{51,37,0}}, +/* 25951 */ {(12<<2)|2,{51,37,0}}, +/* 25952 */ {(12<<2)|2,{51,45,0}}, +/* 25953 */ {(12<<2)|2,{51,45,0}}, +/* 25954 */ {(12<<2)|2,{51,45,0}}, +/* 25955 */ {(12<<2)|2,{51,45,0}}, +/* 25956 */ {(12<<2)|2,{51,45,0}}, +/* 25957 */ {(12<<2)|2,{51,45,0}}, +/* 25958 */ {(12<<2)|2,{51,45,0}}, +/* 25959 */ {(12<<2)|2,{51,45,0}}, +/* 25960 */ {(12<<2)|2,{51,45,0}}, +/* 25961 */ {(12<<2)|2,{51,45,0}}, +/* 25962 */ {(12<<2)|2,{51,45,0}}, +/* 25963 */ {(12<<2)|2,{51,45,0}}, +/* 25964 */ {(12<<2)|2,{51,45,0}}, +/* 25965 */ {(12<<2)|2,{51,45,0}}, +/* 25966 */ {(12<<2)|2,{51,45,0}}, +/* 25967 */ {(12<<2)|2,{51,45,0}}, +/* 25968 */ {(12<<2)|2,{51,46,0}}, +/* 25969 */ {(12<<2)|2,{51,46,0}}, +/* 25970 */ {(12<<2)|2,{51,46,0}}, +/* 25971 */ {(12<<2)|2,{51,46,0}}, +/* 25972 */ {(12<<2)|2,{51,46,0}}, +/* 25973 */ {(12<<2)|2,{51,46,0}}, +/* 25974 */ {(12<<2)|2,{51,46,0}}, +/* 25975 */ {(12<<2)|2,{51,46,0}}, +/* 25976 */ {(12<<2)|2,{51,46,0}}, +/* 25977 */ {(12<<2)|2,{51,46,0}}, +/* 25978 */ {(12<<2)|2,{51,46,0}}, +/* 25979 */ {(12<<2)|2,{51,46,0}}, +/* 25980 */ {(12<<2)|2,{51,46,0}}, +/* 25981 */ {(12<<2)|2,{51,46,0}}, +/* 25982 */ {(12<<2)|2,{51,46,0}}, +/* 25983 */ {(12<<2)|2,{51,46,0}}, +/* 25984 */ {(12<<2)|2,{51,47,0}}, +/* 25985 */ {(12<<2)|2,{51,47,0}}, +/* 25986 */ {(12<<2)|2,{51,47,0}}, +/* 25987 */ {(12<<2)|2,{51,47,0}}, +/* 25988 */ {(12<<2)|2,{51,47,0}}, +/* 25989 */ {(12<<2)|2,{51,47,0}}, +/* 25990 */ {(12<<2)|2,{51,47,0}}, +/* 25991 */ {(12<<2)|2,{51,47,0}}, +/* 25992 */ {(12<<2)|2,{51,47,0}}, +/* 25993 */ {(12<<2)|2,{51,47,0}}, +/* 25994 */ {(12<<2)|2,{51,47,0}}, +/* 25995 */ {(12<<2)|2,{51,47,0}}, +/* 25996 */ {(12<<2)|2,{51,47,0}}, +/* 25997 */ {(12<<2)|2,{51,47,0}}, +/* 25998 */ {(12<<2)|2,{51,47,0}}, +/* 25999 */ {(12<<2)|2,{51,47,0}}, +/* 26000 */ {(12<<2)|2,{51,51,0}}, +/* 26001 */ {(12<<2)|2,{51,51,0}}, +/* 26002 */ {(12<<2)|2,{51,51,0}}, +/* 26003 */ {(12<<2)|2,{51,51,0}}, +/* 26004 */ {(12<<2)|2,{51,51,0}}, +/* 26005 */ {(12<<2)|2,{51,51,0}}, +/* 26006 */ {(12<<2)|2,{51,51,0}}, +/* 26007 */ {(12<<2)|2,{51,51,0}}, +/* 26008 */ {(12<<2)|2,{51,51,0}}, +/* 26009 */ {(12<<2)|2,{51,51,0}}, +/* 26010 */ {(12<<2)|2,{51,51,0}}, +/* 26011 */ {(12<<2)|2,{51,51,0}}, +/* 26012 */ {(12<<2)|2,{51,51,0}}, +/* 26013 */ {(12<<2)|2,{51,51,0}}, +/* 26014 */ {(12<<2)|2,{51,51,0}}, +/* 26015 */ {(12<<2)|2,{51,51,0}}, +/* 26016 */ {(12<<2)|2,{51,52,0}}, +/* 26017 */ {(12<<2)|2,{51,52,0}}, +/* 26018 */ {(12<<2)|2,{51,52,0}}, +/* 26019 */ {(12<<2)|2,{51,52,0}}, +/* 26020 */ {(12<<2)|2,{51,52,0}}, +/* 26021 */ {(12<<2)|2,{51,52,0}}, +/* 26022 */ {(12<<2)|2,{51,52,0}}, +/* 26023 */ {(12<<2)|2,{51,52,0}}, +/* 26024 */ {(12<<2)|2,{51,52,0}}, +/* 26025 */ {(12<<2)|2,{51,52,0}}, +/* 26026 */ {(12<<2)|2,{51,52,0}}, +/* 26027 */ {(12<<2)|2,{51,52,0}}, +/* 26028 */ {(12<<2)|2,{51,52,0}}, +/* 26029 */ {(12<<2)|2,{51,52,0}}, +/* 26030 */ {(12<<2)|2,{51,52,0}}, +/* 26031 */ {(12<<2)|2,{51,52,0}}, +/* 26032 */ {(12<<2)|2,{51,53,0}}, +/* 26033 */ {(12<<2)|2,{51,53,0}}, +/* 26034 */ {(12<<2)|2,{51,53,0}}, +/* 26035 */ {(12<<2)|2,{51,53,0}}, +/* 26036 */ {(12<<2)|2,{51,53,0}}, +/* 26037 */ {(12<<2)|2,{51,53,0}}, +/* 26038 */ {(12<<2)|2,{51,53,0}}, +/* 26039 */ {(12<<2)|2,{51,53,0}}, +/* 26040 */ {(12<<2)|2,{51,53,0}}, +/* 26041 */ {(12<<2)|2,{51,53,0}}, +/* 26042 */ {(12<<2)|2,{51,53,0}}, +/* 26043 */ {(12<<2)|2,{51,53,0}}, +/* 26044 */ {(12<<2)|2,{51,53,0}}, +/* 26045 */ {(12<<2)|2,{51,53,0}}, +/* 26046 */ {(12<<2)|2,{51,53,0}}, +/* 26047 */ {(12<<2)|2,{51,53,0}}, +/* 26048 */ {(12<<2)|2,{51,54,0}}, +/* 26049 */ {(12<<2)|2,{51,54,0}}, +/* 26050 */ {(12<<2)|2,{51,54,0}}, +/* 26051 */ {(12<<2)|2,{51,54,0}}, +/* 26052 */ {(12<<2)|2,{51,54,0}}, +/* 26053 */ {(12<<2)|2,{51,54,0}}, +/* 26054 */ {(12<<2)|2,{51,54,0}}, +/* 26055 */ {(12<<2)|2,{51,54,0}}, +/* 26056 */ {(12<<2)|2,{51,54,0}}, +/* 26057 */ {(12<<2)|2,{51,54,0}}, +/* 26058 */ {(12<<2)|2,{51,54,0}}, +/* 26059 */ {(12<<2)|2,{51,54,0}}, +/* 26060 */ {(12<<2)|2,{51,54,0}}, +/* 26061 */ {(12<<2)|2,{51,54,0}}, +/* 26062 */ {(12<<2)|2,{51,54,0}}, +/* 26063 */ {(12<<2)|2,{51,54,0}}, +/* 26064 */ {(12<<2)|2,{51,55,0}}, +/* 26065 */ {(12<<2)|2,{51,55,0}}, +/* 26066 */ {(12<<2)|2,{51,55,0}}, +/* 26067 */ {(12<<2)|2,{51,55,0}}, +/* 26068 */ {(12<<2)|2,{51,55,0}}, +/* 26069 */ {(12<<2)|2,{51,55,0}}, +/* 26070 */ {(12<<2)|2,{51,55,0}}, +/* 26071 */ {(12<<2)|2,{51,55,0}}, +/* 26072 */ {(12<<2)|2,{51,55,0}}, +/* 26073 */ {(12<<2)|2,{51,55,0}}, +/* 26074 */ {(12<<2)|2,{51,55,0}}, +/* 26075 */ {(12<<2)|2,{51,55,0}}, +/* 26076 */ {(12<<2)|2,{51,55,0}}, +/* 26077 */ {(12<<2)|2,{51,55,0}}, +/* 26078 */ {(12<<2)|2,{51,55,0}}, +/* 26079 */ {(12<<2)|2,{51,55,0}}, +/* 26080 */ {(12<<2)|2,{51,56,0}}, +/* 26081 */ {(12<<2)|2,{51,56,0}}, +/* 26082 */ {(12<<2)|2,{51,56,0}}, +/* 26083 */ {(12<<2)|2,{51,56,0}}, +/* 26084 */ {(12<<2)|2,{51,56,0}}, +/* 26085 */ {(12<<2)|2,{51,56,0}}, +/* 26086 */ {(12<<2)|2,{51,56,0}}, +/* 26087 */ {(12<<2)|2,{51,56,0}}, +/* 26088 */ {(12<<2)|2,{51,56,0}}, +/* 26089 */ {(12<<2)|2,{51,56,0}}, +/* 26090 */ {(12<<2)|2,{51,56,0}}, +/* 26091 */ {(12<<2)|2,{51,56,0}}, +/* 26092 */ {(12<<2)|2,{51,56,0}}, +/* 26093 */ {(12<<2)|2,{51,56,0}}, +/* 26094 */ {(12<<2)|2,{51,56,0}}, +/* 26095 */ {(12<<2)|2,{51,56,0}}, +/* 26096 */ {(12<<2)|2,{51,57,0}}, +/* 26097 */ {(12<<2)|2,{51,57,0}}, +/* 26098 */ {(12<<2)|2,{51,57,0}}, +/* 26099 */ {(12<<2)|2,{51,57,0}}, +/* 26100 */ {(12<<2)|2,{51,57,0}}, +/* 26101 */ {(12<<2)|2,{51,57,0}}, +/* 26102 */ {(12<<2)|2,{51,57,0}}, +/* 26103 */ {(12<<2)|2,{51,57,0}}, +/* 26104 */ {(12<<2)|2,{51,57,0}}, +/* 26105 */ {(12<<2)|2,{51,57,0}}, +/* 26106 */ {(12<<2)|2,{51,57,0}}, +/* 26107 */ {(12<<2)|2,{51,57,0}}, +/* 26108 */ {(12<<2)|2,{51,57,0}}, +/* 26109 */ {(12<<2)|2,{51,57,0}}, +/* 26110 */ {(12<<2)|2,{51,57,0}}, +/* 26111 */ {(12<<2)|2,{51,57,0}}, +/* 26112 */ {(12<<2)|2,{51,61,0}}, +/* 26113 */ {(12<<2)|2,{51,61,0}}, +/* 26114 */ {(12<<2)|2,{51,61,0}}, +/* 26115 */ {(12<<2)|2,{51,61,0}}, +/* 26116 */ {(12<<2)|2,{51,61,0}}, +/* 26117 */ {(12<<2)|2,{51,61,0}}, +/* 26118 */ {(12<<2)|2,{51,61,0}}, +/* 26119 */ {(12<<2)|2,{51,61,0}}, +/* 26120 */ {(12<<2)|2,{51,61,0}}, +/* 26121 */ {(12<<2)|2,{51,61,0}}, +/* 26122 */ {(12<<2)|2,{51,61,0}}, +/* 26123 */ {(12<<2)|2,{51,61,0}}, +/* 26124 */ {(12<<2)|2,{51,61,0}}, +/* 26125 */ {(12<<2)|2,{51,61,0}}, +/* 26126 */ {(12<<2)|2,{51,61,0}}, +/* 26127 */ {(12<<2)|2,{51,61,0}}, +/* 26128 */ {(12<<2)|2,{51,65,0}}, +/* 26129 */ {(12<<2)|2,{51,65,0}}, +/* 26130 */ {(12<<2)|2,{51,65,0}}, +/* 26131 */ {(12<<2)|2,{51,65,0}}, +/* 26132 */ {(12<<2)|2,{51,65,0}}, +/* 26133 */ {(12<<2)|2,{51,65,0}}, +/* 26134 */ {(12<<2)|2,{51,65,0}}, +/* 26135 */ {(12<<2)|2,{51,65,0}}, +/* 26136 */ {(12<<2)|2,{51,65,0}}, +/* 26137 */ {(12<<2)|2,{51,65,0}}, +/* 26138 */ {(12<<2)|2,{51,65,0}}, +/* 26139 */ {(12<<2)|2,{51,65,0}}, +/* 26140 */ {(12<<2)|2,{51,65,0}}, +/* 26141 */ {(12<<2)|2,{51,65,0}}, +/* 26142 */ {(12<<2)|2,{51,65,0}}, +/* 26143 */ {(12<<2)|2,{51,65,0}}, +/* 26144 */ {(12<<2)|2,{51,95,0}}, +/* 26145 */ {(12<<2)|2,{51,95,0}}, +/* 26146 */ {(12<<2)|2,{51,95,0}}, +/* 26147 */ {(12<<2)|2,{51,95,0}}, +/* 26148 */ {(12<<2)|2,{51,95,0}}, +/* 26149 */ {(12<<2)|2,{51,95,0}}, +/* 26150 */ {(12<<2)|2,{51,95,0}}, +/* 26151 */ {(12<<2)|2,{51,95,0}}, +/* 26152 */ {(12<<2)|2,{51,95,0}}, +/* 26153 */ {(12<<2)|2,{51,95,0}}, +/* 26154 */ {(12<<2)|2,{51,95,0}}, +/* 26155 */ {(12<<2)|2,{51,95,0}}, +/* 26156 */ {(12<<2)|2,{51,95,0}}, +/* 26157 */ {(12<<2)|2,{51,95,0}}, +/* 26158 */ {(12<<2)|2,{51,95,0}}, +/* 26159 */ {(12<<2)|2,{51,95,0}}, +/* 26160 */ {(12<<2)|2,{51,98,0}}, +/* 26161 */ {(12<<2)|2,{51,98,0}}, +/* 26162 */ {(12<<2)|2,{51,98,0}}, +/* 26163 */ {(12<<2)|2,{51,98,0}}, +/* 26164 */ {(12<<2)|2,{51,98,0}}, +/* 26165 */ {(12<<2)|2,{51,98,0}}, +/* 26166 */ {(12<<2)|2,{51,98,0}}, +/* 26167 */ {(12<<2)|2,{51,98,0}}, +/* 26168 */ {(12<<2)|2,{51,98,0}}, +/* 26169 */ {(12<<2)|2,{51,98,0}}, +/* 26170 */ {(12<<2)|2,{51,98,0}}, +/* 26171 */ {(12<<2)|2,{51,98,0}}, +/* 26172 */ {(12<<2)|2,{51,98,0}}, +/* 26173 */ {(12<<2)|2,{51,98,0}}, +/* 26174 */ {(12<<2)|2,{51,98,0}}, +/* 26175 */ {(12<<2)|2,{51,98,0}}, +/* 26176 */ {(12<<2)|2,{51,100,0}}, +/* 26177 */ {(12<<2)|2,{51,100,0}}, +/* 26178 */ {(12<<2)|2,{51,100,0}}, +/* 26179 */ {(12<<2)|2,{51,100,0}}, +/* 26180 */ {(12<<2)|2,{51,100,0}}, +/* 26181 */ {(12<<2)|2,{51,100,0}}, +/* 26182 */ {(12<<2)|2,{51,100,0}}, +/* 26183 */ {(12<<2)|2,{51,100,0}}, +/* 26184 */ {(12<<2)|2,{51,100,0}}, +/* 26185 */ {(12<<2)|2,{51,100,0}}, +/* 26186 */ {(12<<2)|2,{51,100,0}}, +/* 26187 */ {(12<<2)|2,{51,100,0}}, +/* 26188 */ {(12<<2)|2,{51,100,0}}, +/* 26189 */ {(12<<2)|2,{51,100,0}}, +/* 26190 */ {(12<<2)|2,{51,100,0}}, +/* 26191 */ {(12<<2)|2,{51,100,0}}, +/* 26192 */ {(12<<2)|2,{51,102,0}}, +/* 26193 */ {(12<<2)|2,{51,102,0}}, +/* 26194 */ {(12<<2)|2,{51,102,0}}, +/* 26195 */ {(12<<2)|2,{51,102,0}}, +/* 26196 */ {(12<<2)|2,{51,102,0}}, +/* 26197 */ {(12<<2)|2,{51,102,0}}, +/* 26198 */ {(12<<2)|2,{51,102,0}}, +/* 26199 */ {(12<<2)|2,{51,102,0}}, +/* 26200 */ {(12<<2)|2,{51,102,0}}, +/* 26201 */ {(12<<2)|2,{51,102,0}}, +/* 26202 */ {(12<<2)|2,{51,102,0}}, +/* 26203 */ {(12<<2)|2,{51,102,0}}, +/* 26204 */ {(12<<2)|2,{51,102,0}}, +/* 26205 */ {(12<<2)|2,{51,102,0}}, +/* 26206 */ {(12<<2)|2,{51,102,0}}, +/* 26207 */ {(12<<2)|2,{51,102,0}}, +/* 26208 */ {(12<<2)|2,{51,103,0}}, +/* 26209 */ {(12<<2)|2,{51,103,0}}, +/* 26210 */ {(12<<2)|2,{51,103,0}}, +/* 26211 */ {(12<<2)|2,{51,103,0}}, +/* 26212 */ {(12<<2)|2,{51,103,0}}, +/* 26213 */ {(12<<2)|2,{51,103,0}}, +/* 26214 */ {(12<<2)|2,{51,103,0}}, +/* 26215 */ {(12<<2)|2,{51,103,0}}, +/* 26216 */ {(12<<2)|2,{51,103,0}}, +/* 26217 */ {(12<<2)|2,{51,103,0}}, +/* 26218 */ {(12<<2)|2,{51,103,0}}, +/* 26219 */ {(12<<2)|2,{51,103,0}}, +/* 26220 */ {(12<<2)|2,{51,103,0}}, +/* 26221 */ {(12<<2)|2,{51,103,0}}, +/* 26222 */ {(12<<2)|2,{51,103,0}}, +/* 26223 */ {(12<<2)|2,{51,103,0}}, +/* 26224 */ {(12<<2)|2,{51,104,0}}, +/* 26225 */ {(12<<2)|2,{51,104,0}}, +/* 26226 */ {(12<<2)|2,{51,104,0}}, +/* 26227 */ {(12<<2)|2,{51,104,0}}, +/* 26228 */ {(12<<2)|2,{51,104,0}}, +/* 26229 */ {(12<<2)|2,{51,104,0}}, +/* 26230 */ {(12<<2)|2,{51,104,0}}, +/* 26231 */ {(12<<2)|2,{51,104,0}}, +/* 26232 */ {(12<<2)|2,{51,104,0}}, +/* 26233 */ {(12<<2)|2,{51,104,0}}, +/* 26234 */ {(12<<2)|2,{51,104,0}}, +/* 26235 */ {(12<<2)|2,{51,104,0}}, +/* 26236 */ {(12<<2)|2,{51,104,0}}, +/* 26237 */ {(12<<2)|2,{51,104,0}}, +/* 26238 */ {(12<<2)|2,{51,104,0}}, +/* 26239 */ {(12<<2)|2,{51,104,0}}, +/* 26240 */ {(12<<2)|2,{51,108,0}}, +/* 26241 */ {(12<<2)|2,{51,108,0}}, +/* 26242 */ {(12<<2)|2,{51,108,0}}, +/* 26243 */ {(12<<2)|2,{51,108,0}}, +/* 26244 */ {(12<<2)|2,{51,108,0}}, +/* 26245 */ {(12<<2)|2,{51,108,0}}, +/* 26246 */ {(12<<2)|2,{51,108,0}}, +/* 26247 */ {(12<<2)|2,{51,108,0}}, +/* 26248 */ {(12<<2)|2,{51,108,0}}, +/* 26249 */ {(12<<2)|2,{51,108,0}}, +/* 26250 */ {(12<<2)|2,{51,108,0}}, +/* 26251 */ {(12<<2)|2,{51,108,0}}, +/* 26252 */ {(12<<2)|2,{51,108,0}}, +/* 26253 */ {(12<<2)|2,{51,108,0}}, +/* 26254 */ {(12<<2)|2,{51,108,0}}, +/* 26255 */ {(12<<2)|2,{51,108,0}}, +/* 26256 */ {(12<<2)|2,{51,109,0}}, +/* 26257 */ {(12<<2)|2,{51,109,0}}, +/* 26258 */ {(12<<2)|2,{51,109,0}}, +/* 26259 */ {(12<<2)|2,{51,109,0}}, +/* 26260 */ {(12<<2)|2,{51,109,0}}, +/* 26261 */ {(12<<2)|2,{51,109,0}}, +/* 26262 */ {(12<<2)|2,{51,109,0}}, +/* 26263 */ {(12<<2)|2,{51,109,0}}, +/* 26264 */ {(12<<2)|2,{51,109,0}}, +/* 26265 */ {(12<<2)|2,{51,109,0}}, +/* 26266 */ {(12<<2)|2,{51,109,0}}, +/* 26267 */ {(12<<2)|2,{51,109,0}}, +/* 26268 */ {(12<<2)|2,{51,109,0}}, +/* 26269 */ {(12<<2)|2,{51,109,0}}, +/* 26270 */ {(12<<2)|2,{51,109,0}}, +/* 26271 */ {(12<<2)|2,{51,109,0}}, +/* 26272 */ {(12<<2)|2,{51,110,0}}, +/* 26273 */ {(12<<2)|2,{51,110,0}}, +/* 26274 */ {(12<<2)|2,{51,110,0}}, +/* 26275 */ {(12<<2)|2,{51,110,0}}, +/* 26276 */ {(12<<2)|2,{51,110,0}}, +/* 26277 */ {(12<<2)|2,{51,110,0}}, +/* 26278 */ {(12<<2)|2,{51,110,0}}, +/* 26279 */ {(12<<2)|2,{51,110,0}}, +/* 26280 */ {(12<<2)|2,{51,110,0}}, +/* 26281 */ {(12<<2)|2,{51,110,0}}, +/* 26282 */ {(12<<2)|2,{51,110,0}}, +/* 26283 */ {(12<<2)|2,{51,110,0}}, +/* 26284 */ {(12<<2)|2,{51,110,0}}, +/* 26285 */ {(12<<2)|2,{51,110,0}}, +/* 26286 */ {(12<<2)|2,{51,110,0}}, +/* 26287 */ {(12<<2)|2,{51,110,0}}, +/* 26288 */ {(12<<2)|2,{51,112,0}}, +/* 26289 */ {(12<<2)|2,{51,112,0}}, +/* 26290 */ {(12<<2)|2,{51,112,0}}, +/* 26291 */ {(12<<2)|2,{51,112,0}}, +/* 26292 */ {(12<<2)|2,{51,112,0}}, +/* 26293 */ {(12<<2)|2,{51,112,0}}, +/* 26294 */ {(12<<2)|2,{51,112,0}}, +/* 26295 */ {(12<<2)|2,{51,112,0}}, +/* 26296 */ {(12<<2)|2,{51,112,0}}, +/* 26297 */ {(12<<2)|2,{51,112,0}}, +/* 26298 */ {(12<<2)|2,{51,112,0}}, +/* 26299 */ {(12<<2)|2,{51,112,0}}, +/* 26300 */ {(12<<2)|2,{51,112,0}}, +/* 26301 */ {(12<<2)|2,{51,112,0}}, +/* 26302 */ {(12<<2)|2,{51,112,0}}, +/* 26303 */ {(12<<2)|2,{51,112,0}}, +/* 26304 */ {(12<<2)|2,{51,114,0}}, +/* 26305 */ {(12<<2)|2,{51,114,0}}, +/* 26306 */ {(12<<2)|2,{51,114,0}}, +/* 26307 */ {(12<<2)|2,{51,114,0}}, +/* 26308 */ {(12<<2)|2,{51,114,0}}, +/* 26309 */ {(12<<2)|2,{51,114,0}}, +/* 26310 */ {(12<<2)|2,{51,114,0}}, +/* 26311 */ {(12<<2)|2,{51,114,0}}, +/* 26312 */ {(12<<2)|2,{51,114,0}}, +/* 26313 */ {(12<<2)|2,{51,114,0}}, +/* 26314 */ {(12<<2)|2,{51,114,0}}, +/* 26315 */ {(12<<2)|2,{51,114,0}}, +/* 26316 */ {(12<<2)|2,{51,114,0}}, +/* 26317 */ {(12<<2)|2,{51,114,0}}, +/* 26318 */ {(12<<2)|2,{51,114,0}}, +/* 26319 */ {(12<<2)|2,{51,114,0}}, +/* 26320 */ {(12<<2)|2,{51,117,0}}, +/* 26321 */ {(12<<2)|2,{51,117,0}}, +/* 26322 */ {(12<<2)|2,{51,117,0}}, +/* 26323 */ {(12<<2)|2,{51,117,0}}, +/* 26324 */ {(12<<2)|2,{51,117,0}}, +/* 26325 */ {(12<<2)|2,{51,117,0}}, +/* 26326 */ {(12<<2)|2,{51,117,0}}, +/* 26327 */ {(12<<2)|2,{51,117,0}}, +/* 26328 */ {(12<<2)|2,{51,117,0}}, +/* 26329 */ {(12<<2)|2,{51,117,0}}, +/* 26330 */ {(12<<2)|2,{51,117,0}}, +/* 26331 */ {(12<<2)|2,{51,117,0}}, +/* 26332 */ {(12<<2)|2,{51,117,0}}, +/* 26333 */ {(12<<2)|2,{51,117,0}}, +/* 26334 */ {(12<<2)|2,{51,117,0}}, +/* 26335 */ {(12<<2)|2,{51,117,0}}, +/* 26336 */ {(13<<2)|2,{51,58,0}}, +/* 26337 */ {(13<<2)|2,{51,58,0}}, +/* 26338 */ {(13<<2)|2,{51,58,0}}, +/* 26339 */ {(13<<2)|2,{51,58,0}}, +/* 26340 */ {(13<<2)|2,{51,58,0}}, +/* 26341 */ {(13<<2)|2,{51,58,0}}, +/* 26342 */ {(13<<2)|2,{51,58,0}}, +/* 26343 */ {(13<<2)|2,{51,58,0}}, +/* 26344 */ {(13<<2)|2,{51,66,0}}, +/* 26345 */ {(13<<2)|2,{51,66,0}}, +/* 26346 */ {(13<<2)|2,{51,66,0}}, +/* 26347 */ {(13<<2)|2,{51,66,0}}, +/* 26348 */ {(13<<2)|2,{51,66,0}}, +/* 26349 */ {(13<<2)|2,{51,66,0}}, +/* 26350 */ {(13<<2)|2,{51,66,0}}, +/* 26351 */ {(13<<2)|2,{51,66,0}}, +/* 26352 */ {(13<<2)|2,{51,67,0}}, +/* 26353 */ {(13<<2)|2,{51,67,0}}, +/* 26354 */ {(13<<2)|2,{51,67,0}}, +/* 26355 */ {(13<<2)|2,{51,67,0}}, +/* 26356 */ {(13<<2)|2,{51,67,0}}, +/* 26357 */ {(13<<2)|2,{51,67,0}}, +/* 26358 */ {(13<<2)|2,{51,67,0}}, +/* 26359 */ {(13<<2)|2,{51,67,0}}, +/* 26360 */ {(13<<2)|2,{51,68,0}}, +/* 26361 */ {(13<<2)|2,{51,68,0}}, +/* 26362 */ {(13<<2)|2,{51,68,0}}, +/* 26363 */ {(13<<2)|2,{51,68,0}}, +/* 26364 */ {(13<<2)|2,{51,68,0}}, +/* 26365 */ {(13<<2)|2,{51,68,0}}, +/* 26366 */ {(13<<2)|2,{51,68,0}}, +/* 26367 */ {(13<<2)|2,{51,68,0}}, +/* 26368 */ {(13<<2)|2,{51,69,0}}, +/* 26369 */ {(13<<2)|2,{51,69,0}}, +/* 26370 */ {(13<<2)|2,{51,69,0}}, +/* 26371 */ {(13<<2)|2,{51,69,0}}, +/* 26372 */ {(13<<2)|2,{51,69,0}}, +/* 26373 */ {(13<<2)|2,{51,69,0}}, +/* 26374 */ {(13<<2)|2,{51,69,0}}, +/* 26375 */ {(13<<2)|2,{51,69,0}}, +/* 26376 */ {(13<<2)|2,{51,70,0}}, +/* 26377 */ {(13<<2)|2,{51,70,0}}, +/* 26378 */ {(13<<2)|2,{51,70,0}}, +/* 26379 */ {(13<<2)|2,{51,70,0}}, +/* 26380 */ {(13<<2)|2,{51,70,0}}, +/* 26381 */ {(13<<2)|2,{51,70,0}}, +/* 26382 */ {(13<<2)|2,{51,70,0}}, +/* 26383 */ {(13<<2)|2,{51,70,0}}, +/* 26384 */ {(13<<2)|2,{51,71,0}}, +/* 26385 */ {(13<<2)|2,{51,71,0}}, +/* 26386 */ {(13<<2)|2,{51,71,0}}, +/* 26387 */ {(13<<2)|2,{51,71,0}}, +/* 26388 */ {(13<<2)|2,{51,71,0}}, +/* 26389 */ {(13<<2)|2,{51,71,0}}, +/* 26390 */ {(13<<2)|2,{51,71,0}}, +/* 26391 */ {(13<<2)|2,{51,71,0}}, +/* 26392 */ {(13<<2)|2,{51,72,0}}, +/* 26393 */ {(13<<2)|2,{51,72,0}}, +/* 26394 */ {(13<<2)|2,{51,72,0}}, +/* 26395 */ {(13<<2)|2,{51,72,0}}, +/* 26396 */ {(13<<2)|2,{51,72,0}}, +/* 26397 */ {(13<<2)|2,{51,72,0}}, +/* 26398 */ {(13<<2)|2,{51,72,0}}, +/* 26399 */ {(13<<2)|2,{51,72,0}}, +/* 26400 */ {(13<<2)|2,{51,73,0}}, +/* 26401 */ {(13<<2)|2,{51,73,0}}, +/* 26402 */ {(13<<2)|2,{51,73,0}}, +/* 26403 */ {(13<<2)|2,{51,73,0}}, +/* 26404 */ {(13<<2)|2,{51,73,0}}, +/* 26405 */ {(13<<2)|2,{51,73,0}}, +/* 26406 */ {(13<<2)|2,{51,73,0}}, +/* 26407 */ {(13<<2)|2,{51,73,0}}, +/* 26408 */ {(13<<2)|2,{51,74,0}}, +/* 26409 */ {(13<<2)|2,{51,74,0}}, +/* 26410 */ {(13<<2)|2,{51,74,0}}, +/* 26411 */ {(13<<2)|2,{51,74,0}}, +/* 26412 */ {(13<<2)|2,{51,74,0}}, +/* 26413 */ {(13<<2)|2,{51,74,0}}, +/* 26414 */ {(13<<2)|2,{51,74,0}}, +/* 26415 */ {(13<<2)|2,{51,74,0}}, +/* 26416 */ {(13<<2)|2,{51,75,0}}, +/* 26417 */ {(13<<2)|2,{51,75,0}}, +/* 26418 */ {(13<<2)|2,{51,75,0}}, +/* 26419 */ {(13<<2)|2,{51,75,0}}, +/* 26420 */ {(13<<2)|2,{51,75,0}}, +/* 26421 */ {(13<<2)|2,{51,75,0}}, +/* 26422 */ {(13<<2)|2,{51,75,0}}, +/* 26423 */ {(13<<2)|2,{51,75,0}}, +/* 26424 */ {(13<<2)|2,{51,76,0}}, +/* 26425 */ {(13<<2)|2,{51,76,0}}, +/* 26426 */ {(13<<2)|2,{51,76,0}}, +/* 26427 */ {(13<<2)|2,{51,76,0}}, +/* 26428 */ {(13<<2)|2,{51,76,0}}, +/* 26429 */ {(13<<2)|2,{51,76,0}}, +/* 26430 */ {(13<<2)|2,{51,76,0}}, +/* 26431 */ {(13<<2)|2,{51,76,0}}, +/* 26432 */ {(13<<2)|2,{51,77,0}}, +/* 26433 */ {(13<<2)|2,{51,77,0}}, +/* 26434 */ {(13<<2)|2,{51,77,0}}, +/* 26435 */ {(13<<2)|2,{51,77,0}}, +/* 26436 */ {(13<<2)|2,{51,77,0}}, +/* 26437 */ {(13<<2)|2,{51,77,0}}, +/* 26438 */ {(13<<2)|2,{51,77,0}}, +/* 26439 */ {(13<<2)|2,{51,77,0}}, +/* 26440 */ {(13<<2)|2,{51,78,0}}, +/* 26441 */ {(13<<2)|2,{51,78,0}}, +/* 26442 */ {(13<<2)|2,{51,78,0}}, +/* 26443 */ {(13<<2)|2,{51,78,0}}, +/* 26444 */ {(13<<2)|2,{51,78,0}}, +/* 26445 */ {(13<<2)|2,{51,78,0}}, +/* 26446 */ {(13<<2)|2,{51,78,0}}, +/* 26447 */ {(13<<2)|2,{51,78,0}}, +/* 26448 */ {(13<<2)|2,{51,79,0}}, +/* 26449 */ {(13<<2)|2,{51,79,0}}, +/* 26450 */ {(13<<2)|2,{51,79,0}}, +/* 26451 */ {(13<<2)|2,{51,79,0}}, +/* 26452 */ {(13<<2)|2,{51,79,0}}, +/* 26453 */ {(13<<2)|2,{51,79,0}}, +/* 26454 */ {(13<<2)|2,{51,79,0}}, +/* 26455 */ {(13<<2)|2,{51,79,0}}, +/* 26456 */ {(13<<2)|2,{51,80,0}}, +/* 26457 */ {(13<<2)|2,{51,80,0}}, +/* 26458 */ {(13<<2)|2,{51,80,0}}, +/* 26459 */ {(13<<2)|2,{51,80,0}}, +/* 26460 */ {(13<<2)|2,{51,80,0}}, +/* 26461 */ {(13<<2)|2,{51,80,0}}, +/* 26462 */ {(13<<2)|2,{51,80,0}}, +/* 26463 */ {(13<<2)|2,{51,80,0}}, +/* 26464 */ {(13<<2)|2,{51,81,0}}, +/* 26465 */ {(13<<2)|2,{51,81,0}}, +/* 26466 */ {(13<<2)|2,{51,81,0}}, +/* 26467 */ {(13<<2)|2,{51,81,0}}, +/* 26468 */ {(13<<2)|2,{51,81,0}}, +/* 26469 */ {(13<<2)|2,{51,81,0}}, +/* 26470 */ {(13<<2)|2,{51,81,0}}, +/* 26471 */ {(13<<2)|2,{51,81,0}}, +/* 26472 */ {(13<<2)|2,{51,82,0}}, +/* 26473 */ {(13<<2)|2,{51,82,0}}, +/* 26474 */ {(13<<2)|2,{51,82,0}}, +/* 26475 */ {(13<<2)|2,{51,82,0}}, +/* 26476 */ {(13<<2)|2,{51,82,0}}, +/* 26477 */ {(13<<2)|2,{51,82,0}}, +/* 26478 */ {(13<<2)|2,{51,82,0}}, +/* 26479 */ {(13<<2)|2,{51,82,0}}, +/* 26480 */ {(13<<2)|2,{51,83,0}}, +/* 26481 */ {(13<<2)|2,{51,83,0}}, +/* 26482 */ {(13<<2)|2,{51,83,0}}, +/* 26483 */ {(13<<2)|2,{51,83,0}}, +/* 26484 */ {(13<<2)|2,{51,83,0}}, +/* 26485 */ {(13<<2)|2,{51,83,0}}, +/* 26486 */ {(13<<2)|2,{51,83,0}}, +/* 26487 */ {(13<<2)|2,{51,83,0}}, +/* 26488 */ {(13<<2)|2,{51,84,0}}, +/* 26489 */ {(13<<2)|2,{51,84,0}}, +/* 26490 */ {(13<<2)|2,{51,84,0}}, +/* 26491 */ {(13<<2)|2,{51,84,0}}, +/* 26492 */ {(13<<2)|2,{51,84,0}}, +/* 26493 */ {(13<<2)|2,{51,84,0}}, +/* 26494 */ {(13<<2)|2,{51,84,0}}, +/* 26495 */ {(13<<2)|2,{51,84,0}}, +/* 26496 */ {(13<<2)|2,{51,85,0}}, +/* 26497 */ {(13<<2)|2,{51,85,0}}, +/* 26498 */ {(13<<2)|2,{51,85,0}}, +/* 26499 */ {(13<<2)|2,{51,85,0}}, +/* 26500 */ {(13<<2)|2,{51,85,0}}, +/* 26501 */ {(13<<2)|2,{51,85,0}}, +/* 26502 */ {(13<<2)|2,{51,85,0}}, +/* 26503 */ {(13<<2)|2,{51,85,0}}, +/* 26504 */ {(13<<2)|2,{51,86,0}}, +/* 26505 */ {(13<<2)|2,{51,86,0}}, +/* 26506 */ {(13<<2)|2,{51,86,0}}, +/* 26507 */ {(13<<2)|2,{51,86,0}}, +/* 26508 */ {(13<<2)|2,{51,86,0}}, +/* 26509 */ {(13<<2)|2,{51,86,0}}, +/* 26510 */ {(13<<2)|2,{51,86,0}}, +/* 26511 */ {(13<<2)|2,{51,86,0}}, +/* 26512 */ {(13<<2)|2,{51,87,0}}, +/* 26513 */ {(13<<2)|2,{51,87,0}}, +/* 26514 */ {(13<<2)|2,{51,87,0}}, +/* 26515 */ {(13<<2)|2,{51,87,0}}, +/* 26516 */ {(13<<2)|2,{51,87,0}}, +/* 26517 */ {(13<<2)|2,{51,87,0}}, +/* 26518 */ {(13<<2)|2,{51,87,0}}, +/* 26519 */ {(13<<2)|2,{51,87,0}}, +/* 26520 */ {(13<<2)|2,{51,89,0}}, +/* 26521 */ {(13<<2)|2,{51,89,0}}, +/* 26522 */ {(13<<2)|2,{51,89,0}}, +/* 26523 */ {(13<<2)|2,{51,89,0}}, +/* 26524 */ {(13<<2)|2,{51,89,0}}, +/* 26525 */ {(13<<2)|2,{51,89,0}}, +/* 26526 */ {(13<<2)|2,{51,89,0}}, +/* 26527 */ {(13<<2)|2,{51,89,0}}, +/* 26528 */ {(13<<2)|2,{51,106,0}}, +/* 26529 */ {(13<<2)|2,{51,106,0}}, +/* 26530 */ {(13<<2)|2,{51,106,0}}, +/* 26531 */ {(13<<2)|2,{51,106,0}}, +/* 26532 */ {(13<<2)|2,{51,106,0}}, +/* 26533 */ {(13<<2)|2,{51,106,0}}, +/* 26534 */ {(13<<2)|2,{51,106,0}}, +/* 26535 */ {(13<<2)|2,{51,106,0}}, +/* 26536 */ {(13<<2)|2,{51,107,0}}, +/* 26537 */ {(13<<2)|2,{51,107,0}}, +/* 26538 */ {(13<<2)|2,{51,107,0}}, +/* 26539 */ {(13<<2)|2,{51,107,0}}, +/* 26540 */ {(13<<2)|2,{51,107,0}}, +/* 26541 */ {(13<<2)|2,{51,107,0}}, +/* 26542 */ {(13<<2)|2,{51,107,0}}, +/* 26543 */ {(13<<2)|2,{51,107,0}}, +/* 26544 */ {(13<<2)|2,{51,113,0}}, +/* 26545 */ {(13<<2)|2,{51,113,0}}, +/* 26546 */ {(13<<2)|2,{51,113,0}}, +/* 26547 */ {(13<<2)|2,{51,113,0}}, +/* 26548 */ {(13<<2)|2,{51,113,0}}, +/* 26549 */ {(13<<2)|2,{51,113,0}}, +/* 26550 */ {(13<<2)|2,{51,113,0}}, +/* 26551 */ {(13<<2)|2,{51,113,0}}, +/* 26552 */ {(13<<2)|2,{51,118,0}}, +/* 26553 */ {(13<<2)|2,{51,118,0}}, +/* 26554 */ {(13<<2)|2,{51,118,0}}, +/* 26555 */ {(13<<2)|2,{51,118,0}}, +/* 26556 */ {(13<<2)|2,{51,118,0}}, +/* 26557 */ {(13<<2)|2,{51,118,0}}, +/* 26558 */ {(13<<2)|2,{51,118,0}}, +/* 26559 */ {(13<<2)|2,{51,118,0}}, +/* 26560 */ {(13<<2)|2,{51,119,0}}, +/* 26561 */ {(13<<2)|2,{51,119,0}}, +/* 26562 */ {(13<<2)|2,{51,119,0}}, +/* 26563 */ {(13<<2)|2,{51,119,0}}, +/* 26564 */ {(13<<2)|2,{51,119,0}}, +/* 26565 */ {(13<<2)|2,{51,119,0}}, +/* 26566 */ {(13<<2)|2,{51,119,0}}, +/* 26567 */ {(13<<2)|2,{51,119,0}}, +/* 26568 */ {(13<<2)|2,{51,120,0}}, +/* 26569 */ {(13<<2)|2,{51,120,0}}, +/* 26570 */ {(13<<2)|2,{51,120,0}}, +/* 26571 */ {(13<<2)|2,{51,120,0}}, +/* 26572 */ {(13<<2)|2,{51,120,0}}, +/* 26573 */ {(13<<2)|2,{51,120,0}}, +/* 26574 */ {(13<<2)|2,{51,120,0}}, +/* 26575 */ {(13<<2)|2,{51,120,0}}, +/* 26576 */ {(13<<2)|2,{51,121,0}}, +/* 26577 */ {(13<<2)|2,{51,121,0}}, +/* 26578 */ {(13<<2)|2,{51,121,0}}, +/* 26579 */ {(13<<2)|2,{51,121,0}}, +/* 26580 */ {(13<<2)|2,{51,121,0}}, +/* 26581 */ {(13<<2)|2,{51,121,0}}, +/* 26582 */ {(13<<2)|2,{51,121,0}}, +/* 26583 */ {(13<<2)|2,{51,121,0}}, +/* 26584 */ {(13<<2)|2,{51,122,0}}, +/* 26585 */ {(13<<2)|2,{51,122,0}}, +/* 26586 */ {(13<<2)|2,{51,122,0}}, +/* 26587 */ {(13<<2)|2,{51,122,0}}, +/* 26588 */ {(13<<2)|2,{51,122,0}}, +/* 26589 */ {(13<<2)|2,{51,122,0}}, +/* 26590 */ {(13<<2)|2,{51,122,0}}, +/* 26591 */ {(13<<2)|2,{51,122,0}}, +/* 26592 */ {(14<<2)|2,{51,38,0}}, +/* 26593 */ {(14<<2)|2,{51,38,0}}, +/* 26594 */ {(14<<2)|2,{51,38,0}}, +/* 26595 */ {(14<<2)|2,{51,38,0}}, +/* 26596 */ {(14<<2)|2,{51,42,0}}, +/* 26597 */ {(14<<2)|2,{51,42,0}}, +/* 26598 */ {(14<<2)|2,{51,42,0}}, +/* 26599 */ {(14<<2)|2,{51,42,0}}, +/* 26600 */ {(14<<2)|2,{51,44,0}}, +/* 26601 */ {(14<<2)|2,{51,44,0}}, +/* 26602 */ {(14<<2)|2,{51,44,0}}, +/* 26603 */ {(14<<2)|2,{51,44,0}}, +/* 26604 */ {(14<<2)|2,{51,59,0}}, +/* 26605 */ {(14<<2)|2,{51,59,0}}, +/* 26606 */ {(14<<2)|2,{51,59,0}}, +/* 26607 */ {(14<<2)|2,{51,59,0}}, +/* 26608 */ {(14<<2)|2,{51,88,0}}, +/* 26609 */ {(14<<2)|2,{51,88,0}}, +/* 26610 */ {(14<<2)|2,{51,88,0}}, +/* 26611 */ {(14<<2)|2,{51,88,0}}, +/* 26612 */ {(14<<2)|2,{51,90,0}}, +/* 26613 */ {(14<<2)|2,{51,90,0}}, +/* 26614 */ {(14<<2)|2,{51,90,0}}, +/* 26615 */ {(14<<2)|2,{51,90,0}}, +/* 26616 */ {(16<<2)|2,{51,33,0}}, +/* 26617 */ {(16<<2)|2,{51,34,0}}, +/* 26618 */ {(16<<2)|2,{51,40,0}}, +/* 26619 */ {(16<<2)|2,{51,41,0}}, +/* 26620 */ {(16<<2)|2,{51,63,0}}, +/* 26621 */ {(6<<2)|1,{51,0,0}}, +/* 26622 */ {(6<<2)|1,{51,0,0}}, +/* 26623 */ {(6<<2)|1,{51,0,0}}, +/* 26624 */ {(16<<2)|3,{52,48,48}}, +/* 26625 */ {(16<<2)|3,{52,48,49}}, +/* 26626 */ {(16<<2)|3,{52,48,50}}, +/* 26627 */ {(16<<2)|3,{52,48,97}}, +/* 26628 */ {(16<<2)|3,{52,48,99}}, +/* 26629 */ {(16<<2)|3,{52,48,101}}, +/* 26630 */ {(16<<2)|3,{52,48,105}}, +/* 26631 */ {(16<<2)|3,{52,48,111}}, +/* 26632 */ {(16<<2)|3,{52,48,115}}, +/* 26633 */ {(16<<2)|3,{52,48,116}}, +/* 26634 */ {(11<<2)|2,{52,48,0}}, +/* 26635 */ {(11<<2)|2,{52,48,0}}, +/* 26636 */ {(11<<2)|2,{52,48,0}}, +/* 26637 */ {(11<<2)|2,{52,48,0}}, +/* 26638 */ {(11<<2)|2,{52,48,0}}, +/* 26639 */ {(11<<2)|2,{52,48,0}}, +/* 26640 */ {(11<<2)|2,{52,48,0}}, +/* 26641 */ {(11<<2)|2,{52,48,0}}, +/* 26642 */ {(11<<2)|2,{52,48,0}}, +/* 26643 */ {(11<<2)|2,{52,48,0}}, +/* 26644 */ {(11<<2)|2,{52,48,0}}, +/* 26645 */ {(11<<2)|2,{52,48,0}}, +/* 26646 */ {(11<<2)|2,{52,48,0}}, +/* 26647 */ {(11<<2)|2,{52,48,0}}, +/* 26648 */ {(11<<2)|2,{52,48,0}}, +/* 26649 */ {(11<<2)|2,{52,48,0}}, +/* 26650 */ {(11<<2)|2,{52,48,0}}, +/* 26651 */ {(11<<2)|2,{52,48,0}}, +/* 26652 */ {(11<<2)|2,{52,48,0}}, +/* 26653 */ {(11<<2)|2,{52,48,0}}, +/* 26654 */ {(11<<2)|2,{52,48,0}}, +/* 26655 */ {(11<<2)|2,{52,48,0}}, +/* 26656 */ {(16<<2)|3,{52,49,48}}, +/* 26657 */ {(16<<2)|3,{52,49,49}}, +/* 26658 */ {(16<<2)|3,{52,49,50}}, +/* 26659 */ {(16<<2)|3,{52,49,97}}, +/* 26660 */ {(16<<2)|3,{52,49,99}}, +/* 26661 */ {(16<<2)|3,{52,49,101}}, +/* 26662 */ {(16<<2)|3,{52,49,105}}, +/* 26663 */ {(16<<2)|3,{52,49,111}}, +/* 26664 */ {(16<<2)|3,{52,49,115}}, +/* 26665 */ {(16<<2)|3,{52,49,116}}, +/* 26666 */ {(11<<2)|2,{52,49,0}}, +/* 26667 */ {(11<<2)|2,{52,49,0}}, +/* 26668 */ {(11<<2)|2,{52,49,0}}, +/* 26669 */ {(11<<2)|2,{52,49,0}}, +/* 26670 */ {(11<<2)|2,{52,49,0}}, +/* 26671 */ {(11<<2)|2,{52,49,0}}, +/* 26672 */ {(11<<2)|2,{52,49,0}}, +/* 26673 */ {(11<<2)|2,{52,49,0}}, +/* 26674 */ {(11<<2)|2,{52,49,0}}, +/* 26675 */ {(11<<2)|2,{52,49,0}}, +/* 26676 */ {(11<<2)|2,{52,49,0}}, +/* 26677 */ {(11<<2)|2,{52,49,0}}, +/* 26678 */ {(11<<2)|2,{52,49,0}}, +/* 26679 */ {(11<<2)|2,{52,49,0}}, +/* 26680 */ {(11<<2)|2,{52,49,0}}, +/* 26681 */ {(11<<2)|2,{52,49,0}}, +/* 26682 */ {(11<<2)|2,{52,49,0}}, +/* 26683 */ {(11<<2)|2,{52,49,0}}, +/* 26684 */ {(11<<2)|2,{52,49,0}}, +/* 26685 */ {(11<<2)|2,{52,49,0}}, +/* 26686 */ {(11<<2)|2,{52,49,0}}, +/* 26687 */ {(11<<2)|2,{52,49,0}}, +/* 26688 */ {(16<<2)|3,{52,50,48}}, +/* 26689 */ {(16<<2)|3,{52,50,49}}, +/* 26690 */ {(16<<2)|3,{52,50,50}}, +/* 26691 */ {(16<<2)|3,{52,50,97}}, +/* 26692 */ {(16<<2)|3,{52,50,99}}, +/* 26693 */ {(16<<2)|3,{52,50,101}}, +/* 26694 */ {(16<<2)|3,{52,50,105}}, +/* 26695 */ {(16<<2)|3,{52,50,111}}, +/* 26696 */ {(16<<2)|3,{52,50,115}}, +/* 26697 */ {(16<<2)|3,{52,50,116}}, +/* 26698 */ {(11<<2)|2,{52,50,0}}, +/* 26699 */ {(11<<2)|2,{52,50,0}}, +/* 26700 */ {(11<<2)|2,{52,50,0}}, +/* 26701 */ {(11<<2)|2,{52,50,0}}, +/* 26702 */ {(11<<2)|2,{52,50,0}}, +/* 26703 */ {(11<<2)|2,{52,50,0}}, +/* 26704 */ {(11<<2)|2,{52,50,0}}, +/* 26705 */ {(11<<2)|2,{52,50,0}}, +/* 26706 */ {(11<<2)|2,{52,50,0}}, +/* 26707 */ {(11<<2)|2,{52,50,0}}, +/* 26708 */ {(11<<2)|2,{52,50,0}}, +/* 26709 */ {(11<<2)|2,{52,50,0}}, +/* 26710 */ {(11<<2)|2,{52,50,0}}, +/* 26711 */ {(11<<2)|2,{52,50,0}}, +/* 26712 */ {(11<<2)|2,{52,50,0}}, +/* 26713 */ {(11<<2)|2,{52,50,0}}, +/* 26714 */ {(11<<2)|2,{52,50,0}}, +/* 26715 */ {(11<<2)|2,{52,50,0}}, +/* 26716 */ {(11<<2)|2,{52,50,0}}, +/* 26717 */ {(11<<2)|2,{52,50,0}}, +/* 26718 */ {(11<<2)|2,{52,50,0}}, +/* 26719 */ {(11<<2)|2,{52,50,0}}, +/* 26720 */ {(16<<2)|3,{52,97,48}}, +/* 26721 */ {(16<<2)|3,{52,97,49}}, +/* 26722 */ {(16<<2)|3,{52,97,50}}, +/* 26723 */ {(16<<2)|3,{52,97,97}}, +/* 26724 */ {(16<<2)|3,{52,97,99}}, +/* 26725 */ {(16<<2)|3,{52,97,101}}, +/* 26726 */ {(16<<2)|3,{52,97,105}}, +/* 26727 */ {(16<<2)|3,{52,97,111}}, +/* 26728 */ {(16<<2)|3,{52,97,115}}, +/* 26729 */ {(16<<2)|3,{52,97,116}}, +/* 26730 */ {(11<<2)|2,{52,97,0}}, +/* 26731 */ {(11<<2)|2,{52,97,0}}, +/* 26732 */ {(11<<2)|2,{52,97,0}}, +/* 26733 */ {(11<<2)|2,{52,97,0}}, +/* 26734 */ {(11<<2)|2,{52,97,0}}, +/* 26735 */ {(11<<2)|2,{52,97,0}}, +/* 26736 */ {(11<<2)|2,{52,97,0}}, +/* 26737 */ {(11<<2)|2,{52,97,0}}, +/* 26738 */ {(11<<2)|2,{52,97,0}}, +/* 26739 */ {(11<<2)|2,{52,97,0}}, +/* 26740 */ {(11<<2)|2,{52,97,0}}, +/* 26741 */ {(11<<2)|2,{52,97,0}}, +/* 26742 */ {(11<<2)|2,{52,97,0}}, +/* 26743 */ {(11<<2)|2,{52,97,0}}, +/* 26744 */ {(11<<2)|2,{52,97,0}}, +/* 26745 */ {(11<<2)|2,{52,97,0}}, +/* 26746 */ {(11<<2)|2,{52,97,0}}, +/* 26747 */ {(11<<2)|2,{52,97,0}}, +/* 26748 */ {(11<<2)|2,{52,97,0}}, +/* 26749 */ {(11<<2)|2,{52,97,0}}, +/* 26750 */ {(11<<2)|2,{52,97,0}}, +/* 26751 */ {(11<<2)|2,{52,97,0}}, +/* 26752 */ {(16<<2)|3,{52,99,48}}, +/* 26753 */ {(16<<2)|3,{52,99,49}}, +/* 26754 */ {(16<<2)|3,{52,99,50}}, +/* 26755 */ {(16<<2)|3,{52,99,97}}, +/* 26756 */ {(16<<2)|3,{52,99,99}}, +/* 26757 */ {(16<<2)|3,{52,99,101}}, +/* 26758 */ {(16<<2)|3,{52,99,105}}, +/* 26759 */ {(16<<2)|3,{52,99,111}}, +/* 26760 */ {(16<<2)|3,{52,99,115}}, +/* 26761 */ {(16<<2)|3,{52,99,116}}, +/* 26762 */ {(11<<2)|2,{52,99,0}}, +/* 26763 */ {(11<<2)|2,{52,99,0}}, +/* 26764 */ {(11<<2)|2,{52,99,0}}, +/* 26765 */ {(11<<2)|2,{52,99,0}}, +/* 26766 */ {(11<<2)|2,{52,99,0}}, +/* 26767 */ {(11<<2)|2,{52,99,0}}, +/* 26768 */ {(11<<2)|2,{52,99,0}}, +/* 26769 */ {(11<<2)|2,{52,99,0}}, +/* 26770 */ {(11<<2)|2,{52,99,0}}, +/* 26771 */ {(11<<2)|2,{52,99,0}}, +/* 26772 */ {(11<<2)|2,{52,99,0}}, +/* 26773 */ {(11<<2)|2,{52,99,0}}, +/* 26774 */ {(11<<2)|2,{52,99,0}}, +/* 26775 */ {(11<<2)|2,{52,99,0}}, +/* 26776 */ {(11<<2)|2,{52,99,0}}, +/* 26777 */ {(11<<2)|2,{52,99,0}}, +/* 26778 */ {(11<<2)|2,{52,99,0}}, +/* 26779 */ {(11<<2)|2,{52,99,0}}, +/* 26780 */ {(11<<2)|2,{52,99,0}}, +/* 26781 */ {(11<<2)|2,{52,99,0}}, +/* 26782 */ {(11<<2)|2,{52,99,0}}, +/* 26783 */ {(11<<2)|2,{52,99,0}}, +/* 26784 */ {(16<<2)|3,{52,101,48}}, +/* 26785 */ {(16<<2)|3,{52,101,49}}, +/* 26786 */ {(16<<2)|3,{52,101,50}}, +/* 26787 */ {(16<<2)|3,{52,101,97}}, +/* 26788 */ {(16<<2)|3,{52,101,99}}, +/* 26789 */ {(16<<2)|3,{52,101,101}}, +/* 26790 */ {(16<<2)|3,{52,101,105}}, +/* 26791 */ {(16<<2)|3,{52,101,111}}, +/* 26792 */ {(16<<2)|3,{52,101,115}}, +/* 26793 */ {(16<<2)|3,{52,101,116}}, +/* 26794 */ {(11<<2)|2,{52,101,0}}, +/* 26795 */ {(11<<2)|2,{52,101,0}}, +/* 26796 */ {(11<<2)|2,{52,101,0}}, +/* 26797 */ {(11<<2)|2,{52,101,0}}, +/* 26798 */ {(11<<2)|2,{52,101,0}}, +/* 26799 */ {(11<<2)|2,{52,101,0}}, +/* 26800 */ {(11<<2)|2,{52,101,0}}, +/* 26801 */ {(11<<2)|2,{52,101,0}}, +/* 26802 */ {(11<<2)|2,{52,101,0}}, +/* 26803 */ {(11<<2)|2,{52,101,0}}, +/* 26804 */ {(11<<2)|2,{52,101,0}}, +/* 26805 */ {(11<<2)|2,{52,101,0}}, +/* 26806 */ {(11<<2)|2,{52,101,0}}, +/* 26807 */ {(11<<2)|2,{52,101,0}}, +/* 26808 */ {(11<<2)|2,{52,101,0}}, +/* 26809 */ {(11<<2)|2,{52,101,0}}, +/* 26810 */ {(11<<2)|2,{52,101,0}}, +/* 26811 */ {(11<<2)|2,{52,101,0}}, +/* 26812 */ {(11<<2)|2,{52,101,0}}, +/* 26813 */ {(11<<2)|2,{52,101,0}}, +/* 26814 */ {(11<<2)|2,{52,101,0}}, +/* 26815 */ {(11<<2)|2,{52,101,0}}, +/* 26816 */ {(16<<2)|3,{52,105,48}}, +/* 26817 */ {(16<<2)|3,{52,105,49}}, +/* 26818 */ {(16<<2)|3,{52,105,50}}, +/* 26819 */ {(16<<2)|3,{52,105,97}}, +/* 26820 */ {(16<<2)|3,{52,105,99}}, +/* 26821 */ {(16<<2)|3,{52,105,101}}, +/* 26822 */ {(16<<2)|3,{52,105,105}}, +/* 26823 */ {(16<<2)|3,{52,105,111}}, +/* 26824 */ {(16<<2)|3,{52,105,115}}, +/* 26825 */ {(16<<2)|3,{52,105,116}}, +/* 26826 */ {(11<<2)|2,{52,105,0}}, +/* 26827 */ {(11<<2)|2,{52,105,0}}, +/* 26828 */ {(11<<2)|2,{52,105,0}}, +/* 26829 */ {(11<<2)|2,{52,105,0}}, +/* 26830 */ {(11<<2)|2,{52,105,0}}, +/* 26831 */ {(11<<2)|2,{52,105,0}}, +/* 26832 */ {(11<<2)|2,{52,105,0}}, +/* 26833 */ {(11<<2)|2,{52,105,0}}, +/* 26834 */ {(11<<2)|2,{52,105,0}}, +/* 26835 */ {(11<<2)|2,{52,105,0}}, +/* 26836 */ {(11<<2)|2,{52,105,0}}, +/* 26837 */ {(11<<2)|2,{52,105,0}}, +/* 26838 */ {(11<<2)|2,{52,105,0}}, +/* 26839 */ {(11<<2)|2,{52,105,0}}, +/* 26840 */ {(11<<2)|2,{52,105,0}}, +/* 26841 */ {(11<<2)|2,{52,105,0}}, +/* 26842 */ {(11<<2)|2,{52,105,0}}, +/* 26843 */ {(11<<2)|2,{52,105,0}}, +/* 26844 */ {(11<<2)|2,{52,105,0}}, +/* 26845 */ {(11<<2)|2,{52,105,0}}, +/* 26846 */ {(11<<2)|2,{52,105,0}}, +/* 26847 */ {(11<<2)|2,{52,105,0}}, +/* 26848 */ {(16<<2)|3,{52,111,48}}, +/* 26849 */ {(16<<2)|3,{52,111,49}}, +/* 26850 */ {(16<<2)|3,{52,111,50}}, +/* 26851 */ {(16<<2)|3,{52,111,97}}, +/* 26852 */ {(16<<2)|3,{52,111,99}}, +/* 26853 */ {(16<<2)|3,{52,111,101}}, +/* 26854 */ {(16<<2)|3,{52,111,105}}, +/* 26855 */ {(16<<2)|3,{52,111,111}}, +/* 26856 */ {(16<<2)|3,{52,111,115}}, +/* 26857 */ {(16<<2)|3,{52,111,116}}, +/* 26858 */ {(11<<2)|2,{52,111,0}}, +/* 26859 */ {(11<<2)|2,{52,111,0}}, +/* 26860 */ {(11<<2)|2,{52,111,0}}, +/* 26861 */ {(11<<2)|2,{52,111,0}}, +/* 26862 */ {(11<<2)|2,{52,111,0}}, +/* 26863 */ {(11<<2)|2,{52,111,0}}, +/* 26864 */ {(11<<2)|2,{52,111,0}}, +/* 26865 */ {(11<<2)|2,{52,111,0}}, +/* 26866 */ {(11<<2)|2,{52,111,0}}, +/* 26867 */ {(11<<2)|2,{52,111,0}}, +/* 26868 */ {(11<<2)|2,{52,111,0}}, +/* 26869 */ {(11<<2)|2,{52,111,0}}, +/* 26870 */ {(11<<2)|2,{52,111,0}}, +/* 26871 */ {(11<<2)|2,{52,111,0}}, +/* 26872 */ {(11<<2)|2,{52,111,0}}, +/* 26873 */ {(11<<2)|2,{52,111,0}}, +/* 26874 */ {(11<<2)|2,{52,111,0}}, +/* 26875 */ {(11<<2)|2,{52,111,0}}, +/* 26876 */ {(11<<2)|2,{52,111,0}}, +/* 26877 */ {(11<<2)|2,{52,111,0}}, +/* 26878 */ {(11<<2)|2,{52,111,0}}, +/* 26879 */ {(11<<2)|2,{52,111,0}}, +/* 26880 */ {(16<<2)|3,{52,115,48}}, +/* 26881 */ {(16<<2)|3,{52,115,49}}, +/* 26882 */ {(16<<2)|3,{52,115,50}}, +/* 26883 */ {(16<<2)|3,{52,115,97}}, +/* 26884 */ {(16<<2)|3,{52,115,99}}, +/* 26885 */ {(16<<2)|3,{52,115,101}}, +/* 26886 */ {(16<<2)|3,{52,115,105}}, +/* 26887 */ {(16<<2)|3,{52,115,111}}, +/* 26888 */ {(16<<2)|3,{52,115,115}}, +/* 26889 */ {(16<<2)|3,{52,115,116}}, +/* 26890 */ {(11<<2)|2,{52,115,0}}, +/* 26891 */ {(11<<2)|2,{52,115,0}}, +/* 26892 */ {(11<<2)|2,{52,115,0}}, +/* 26893 */ {(11<<2)|2,{52,115,0}}, +/* 26894 */ {(11<<2)|2,{52,115,0}}, +/* 26895 */ {(11<<2)|2,{52,115,0}}, +/* 26896 */ {(11<<2)|2,{52,115,0}}, +/* 26897 */ {(11<<2)|2,{52,115,0}}, +/* 26898 */ {(11<<2)|2,{52,115,0}}, +/* 26899 */ {(11<<2)|2,{52,115,0}}, +/* 26900 */ {(11<<2)|2,{52,115,0}}, +/* 26901 */ {(11<<2)|2,{52,115,0}}, +/* 26902 */ {(11<<2)|2,{52,115,0}}, +/* 26903 */ {(11<<2)|2,{52,115,0}}, +/* 26904 */ {(11<<2)|2,{52,115,0}}, +/* 26905 */ {(11<<2)|2,{52,115,0}}, +/* 26906 */ {(11<<2)|2,{52,115,0}}, +/* 26907 */ {(11<<2)|2,{52,115,0}}, +/* 26908 */ {(11<<2)|2,{52,115,0}}, +/* 26909 */ {(11<<2)|2,{52,115,0}}, +/* 26910 */ {(11<<2)|2,{52,115,0}}, +/* 26911 */ {(11<<2)|2,{52,115,0}}, +/* 26912 */ {(16<<2)|3,{52,116,48}}, +/* 26913 */ {(16<<2)|3,{52,116,49}}, +/* 26914 */ {(16<<2)|3,{52,116,50}}, +/* 26915 */ {(16<<2)|3,{52,116,97}}, +/* 26916 */ {(16<<2)|3,{52,116,99}}, +/* 26917 */ {(16<<2)|3,{52,116,101}}, +/* 26918 */ {(16<<2)|3,{52,116,105}}, +/* 26919 */ {(16<<2)|3,{52,116,111}}, +/* 26920 */ {(16<<2)|3,{52,116,115}}, +/* 26921 */ {(16<<2)|3,{52,116,116}}, +/* 26922 */ {(11<<2)|2,{52,116,0}}, +/* 26923 */ {(11<<2)|2,{52,116,0}}, +/* 26924 */ {(11<<2)|2,{52,116,0}}, +/* 26925 */ {(11<<2)|2,{52,116,0}}, +/* 26926 */ {(11<<2)|2,{52,116,0}}, +/* 26927 */ {(11<<2)|2,{52,116,0}}, +/* 26928 */ {(11<<2)|2,{52,116,0}}, +/* 26929 */ {(11<<2)|2,{52,116,0}}, +/* 26930 */ {(11<<2)|2,{52,116,0}}, +/* 26931 */ {(11<<2)|2,{52,116,0}}, +/* 26932 */ {(11<<2)|2,{52,116,0}}, +/* 26933 */ {(11<<2)|2,{52,116,0}}, +/* 26934 */ {(11<<2)|2,{52,116,0}}, +/* 26935 */ {(11<<2)|2,{52,116,0}}, +/* 26936 */ {(11<<2)|2,{52,116,0}}, +/* 26937 */ {(11<<2)|2,{52,116,0}}, +/* 26938 */ {(11<<2)|2,{52,116,0}}, +/* 26939 */ {(11<<2)|2,{52,116,0}}, +/* 26940 */ {(11<<2)|2,{52,116,0}}, +/* 26941 */ {(11<<2)|2,{52,116,0}}, +/* 26942 */ {(11<<2)|2,{52,116,0}}, +/* 26943 */ {(11<<2)|2,{52,116,0}}, +/* 26944 */ {(12<<2)|2,{52,32,0}}, +/* 26945 */ {(12<<2)|2,{52,32,0}}, +/* 26946 */ {(12<<2)|2,{52,32,0}}, +/* 26947 */ {(12<<2)|2,{52,32,0}}, +/* 26948 */ {(12<<2)|2,{52,32,0}}, +/* 26949 */ {(12<<2)|2,{52,32,0}}, +/* 26950 */ {(12<<2)|2,{52,32,0}}, +/* 26951 */ {(12<<2)|2,{52,32,0}}, +/* 26952 */ {(12<<2)|2,{52,32,0}}, +/* 26953 */ {(12<<2)|2,{52,32,0}}, +/* 26954 */ {(12<<2)|2,{52,32,0}}, +/* 26955 */ {(12<<2)|2,{52,32,0}}, +/* 26956 */ {(12<<2)|2,{52,32,0}}, +/* 26957 */ {(12<<2)|2,{52,32,0}}, +/* 26958 */ {(12<<2)|2,{52,32,0}}, +/* 26959 */ {(12<<2)|2,{52,32,0}}, +/* 26960 */ {(12<<2)|2,{52,37,0}}, +/* 26961 */ {(12<<2)|2,{52,37,0}}, +/* 26962 */ {(12<<2)|2,{52,37,0}}, +/* 26963 */ {(12<<2)|2,{52,37,0}}, +/* 26964 */ {(12<<2)|2,{52,37,0}}, +/* 26965 */ {(12<<2)|2,{52,37,0}}, +/* 26966 */ {(12<<2)|2,{52,37,0}}, +/* 26967 */ {(12<<2)|2,{52,37,0}}, +/* 26968 */ {(12<<2)|2,{52,37,0}}, +/* 26969 */ {(12<<2)|2,{52,37,0}}, +/* 26970 */ {(12<<2)|2,{52,37,0}}, +/* 26971 */ {(12<<2)|2,{52,37,0}}, +/* 26972 */ {(12<<2)|2,{52,37,0}}, +/* 26973 */ {(12<<2)|2,{52,37,0}}, +/* 26974 */ {(12<<2)|2,{52,37,0}}, +/* 26975 */ {(12<<2)|2,{52,37,0}}, +/* 26976 */ {(12<<2)|2,{52,45,0}}, +/* 26977 */ {(12<<2)|2,{52,45,0}}, +/* 26978 */ {(12<<2)|2,{52,45,0}}, +/* 26979 */ {(12<<2)|2,{52,45,0}}, +/* 26980 */ {(12<<2)|2,{52,45,0}}, +/* 26981 */ {(12<<2)|2,{52,45,0}}, +/* 26982 */ {(12<<2)|2,{52,45,0}}, +/* 26983 */ {(12<<2)|2,{52,45,0}}, +/* 26984 */ {(12<<2)|2,{52,45,0}}, +/* 26985 */ {(12<<2)|2,{52,45,0}}, +/* 26986 */ {(12<<2)|2,{52,45,0}}, +/* 26987 */ {(12<<2)|2,{52,45,0}}, +/* 26988 */ {(12<<2)|2,{52,45,0}}, +/* 26989 */ {(12<<2)|2,{52,45,0}}, +/* 26990 */ {(12<<2)|2,{52,45,0}}, +/* 26991 */ {(12<<2)|2,{52,45,0}}, +/* 26992 */ {(12<<2)|2,{52,46,0}}, +/* 26993 */ {(12<<2)|2,{52,46,0}}, +/* 26994 */ {(12<<2)|2,{52,46,0}}, +/* 26995 */ {(12<<2)|2,{52,46,0}}, +/* 26996 */ {(12<<2)|2,{52,46,0}}, +/* 26997 */ {(12<<2)|2,{52,46,0}}, +/* 26998 */ {(12<<2)|2,{52,46,0}}, +/* 26999 */ {(12<<2)|2,{52,46,0}}, +/* 27000 */ {(12<<2)|2,{52,46,0}}, +/* 27001 */ {(12<<2)|2,{52,46,0}}, +/* 27002 */ {(12<<2)|2,{52,46,0}}, +/* 27003 */ {(12<<2)|2,{52,46,0}}, +/* 27004 */ {(12<<2)|2,{52,46,0}}, +/* 27005 */ {(12<<2)|2,{52,46,0}}, +/* 27006 */ {(12<<2)|2,{52,46,0}}, +/* 27007 */ {(12<<2)|2,{52,46,0}}, +/* 27008 */ {(12<<2)|2,{52,47,0}}, +/* 27009 */ {(12<<2)|2,{52,47,0}}, +/* 27010 */ {(12<<2)|2,{52,47,0}}, +/* 27011 */ {(12<<2)|2,{52,47,0}}, +/* 27012 */ {(12<<2)|2,{52,47,0}}, +/* 27013 */ {(12<<2)|2,{52,47,0}}, +/* 27014 */ {(12<<2)|2,{52,47,0}}, +/* 27015 */ {(12<<2)|2,{52,47,0}}, +/* 27016 */ {(12<<2)|2,{52,47,0}}, +/* 27017 */ {(12<<2)|2,{52,47,0}}, +/* 27018 */ {(12<<2)|2,{52,47,0}}, +/* 27019 */ {(12<<2)|2,{52,47,0}}, +/* 27020 */ {(12<<2)|2,{52,47,0}}, +/* 27021 */ {(12<<2)|2,{52,47,0}}, +/* 27022 */ {(12<<2)|2,{52,47,0}}, +/* 27023 */ {(12<<2)|2,{52,47,0}}, +/* 27024 */ {(12<<2)|2,{52,51,0}}, +/* 27025 */ {(12<<2)|2,{52,51,0}}, +/* 27026 */ {(12<<2)|2,{52,51,0}}, +/* 27027 */ {(12<<2)|2,{52,51,0}}, +/* 27028 */ {(12<<2)|2,{52,51,0}}, +/* 27029 */ {(12<<2)|2,{52,51,0}}, +/* 27030 */ {(12<<2)|2,{52,51,0}}, +/* 27031 */ {(12<<2)|2,{52,51,0}}, +/* 27032 */ {(12<<2)|2,{52,51,0}}, +/* 27033 */ {(12<<2)|2,{52,51,0}}, +/* 27034 */ {(12<<2)|2,{52,51,0}}, +/* 27035 */ {(12<<2)|2,{52,51,0}}, +/* 27036 */ {(12<<2)|2,{52,51,0}}, +/* 27037 */ {(12<<2)|2,{52,51,0}}, +/* 27038 */ {(12<<2)|2,{52,51,0}}, +/* 27039 */ {(12<<2)|2,{52,51,0}}, +/* 27040 */ {(12<<2)|2,{52,52,0}}, +/* 27041 */ {(12<<2)|2,{52,52,0}}, +/* 27042 */ {(12<<2)|2,{52,52,0}}, +/* 27043 */ {(12<<2)|2,{52,52,0}}, +/* 27044 */ {(12<<2)|2,{52,52,0}}, +/* 27045 */ {(12<<2)|2,{52,52,0}}, +/* 27046 */ {(12<<2)|2,{52,52,0}}, +/* 27047 */ {(12<<2)|2,{52,52,0}}, +/* 27048 */ {(12<<2)|2,{52,52,0}}, +/* 27049 */ {(12<<2)|2,{52,52,0}}, +/* 27050 */ {(12<<2)|2,{52,52,0}}, +/* 27051 */ {(12<<2)|2,{52,52,0}}, +/* 27052 */ {(12<<2)|2,{52,52,0}}, +/* 27053 */ {(12<<2)|2,{52,52,0}}, +/* 27054 */ {(12<<2)|2,{52,52,0}}, +/* 27055 */ {(12<<2)|2,{52,52,0}}, +/* 27056 */ {(12<<2)|2,{52,53,0}}, +/* 27057 */ {(12<<2)|2,{52,53,0}}, +/* 27058 */ {(12<<2)|2,{52,53,0}}, +/* 27059 */ {(12<<2)|2,{52,53,0}}, +/* 27060 */ {(12<<2)|2,{52,53,0}}, +/* 27061 */ {(12<<2)|2,{52,53,0}}, +/* 27062 */ {(12<<2)|2,{52,53,0}}, +/* 27063 */ {(12<<2)|2,{52,53,0}}, +/* 27064 */ {(12<<2)|2,{52,53,0}}, +/* 27065 */ {(12<<2)|2,{52,53,0}}, +/* 27066 */ {(12<<2)|2,{52,53,0}}, +/* 27067 */ {(12<<2)|2,{52,53,0}}, +/* 27068 */ {(12<<2)|2,{52,53,0}}, +/* 27069 */ {(12<<2)|2,{52,53,0}}, +/* 27070 */ {(12<<2)|2,{52,53,0}}, +/* 27071 */ {(12<<2)|2,{52,53,0}}, +/* 27072 */ {(12<<2)|2,{52,54,0}}, +/* 27073 */ {(12<<2)|2,{52,54,0}}, +/* 27074 */ {(12<<2)|2,{52,54,0}}, +/* 27075 */ {(12<<2)|2,{52,54,0}}, +/* 27076 */ {(12<<2)|2,{52,54,0}}, +/* 27077 */ {(12<<2)|2,{52,54,0}}, +/* 27078 */ {(12<<2)|2,{52,54,0}}, +/* 27079 */ {(12<<2)|2,{52,54,0}}, +/* 27080 */ {(12<<2)|2,{52,54,0}}, +/* 27081 */ {(12<<2)|2,{52,54,0}}, +/* 27082 */ {(12<<2)|2,{52,54,0}}, +/* 27083 */ {(12<<2)|2,{52,54,0}}, +/* 27084 */ {(12<<2)|2,{52,54,0}}, +/* 27085 */ {(12<<2)|2,{52,54,0}}, +/* 27086 */ {(12<<2)|2,{52,54,0}}, +/* 27087 */ {(12<<2)|2,{52,54,0}}, +/* 27088 */ {(12<<2)|2,{52,55,0}}, +/* 27089 */ {(12<<2)|2,{52,55,0}}, +/* 27090 */ {(12<<2)|2,{52,55,0}}, +/* 27091 */ {(12<<2)|2,{52,55,0}}, +/* 27092 */ {(12<<2)|2,{52,55,0}}, +/* 27093 */ {(12<<2)|2,{52,55,0}}, +/* 27094 */ {(12<<2)|2,{52,55,0}}, +/* 27095 */ {(12<<2)|2,{52,55,0}}, +/* 27096 */ {(12<<2)|2,{52,55,0}}, +/* 27097 */ {(12<<2)|2,{52,55,0}}, +/* 27098 */ {(12<<2)|2,{52,55,0}}, +/* 27099 */ {(12<<2)|2,{52,55,0}}, +/* 27100 */ {(12<<2)|2,{52,55,0}}, +/* 27101 */ {(12<<2)|2,{52,55,0}}, +/* 27102 */ {(12<<2)|2,{52,55,0}}, +/* 27103 */ {(12<<2)|2,{52,55,0}}, +/* 27104 */ {(12<<2)|2,{52,56,0}}, +/* 27105 */ {(12<<2)|2,{52,56,0}}, +/* 27106 */ {(12<<2)|2,{52,56,0}}, +/* 27107 */ {(12<<2)|2,{52,56,0}}, +/* 27108 */ {(12<<2)|2,{52,56,0}}, +/* 27109 */ {(12<<2)|2,{52,56,0}}, +/* 27110 */ {(12<<2)|2,{52,56,0}}, +/* 27111 */ {(12<<2)|2,{52,56,0}}, +/* 27112 */ {(12<<2)|2,{52,56,0}}, +/* 27113 */ {(12<<2)|2,{52,56,0}}, +/* 27114 */ {(12<<2)|2,{52,56,0}}, +/* 27115 */ {(12<<2)|2,{52,56,0}}, +/* 27116 */ {(12<<2)|2,{52,56,0}}, +/* 27117 */ {(12<<2)|2,{52,56,0}}, +/* 27118 */ {(12<<2)|2,{52,56,0}}, +/* 27119 */ {(12<<2)|2,{52,56,0}}, +/* 27120 */ {(12<<2)|2,{52,57,0}}, +/* 27121 */ {(12<<2)|2,{52,57,0}}, +/* 27122 */ {(12<<2)|2,{52,57,0}}, +/* 27123 */ {(12<<2)|2,{52,57,0}}, +/* 27124 */ {(12<<2)|2,{52,57,0}}, +/* 27125 */ {(12<<2)|2,{52,57,0}}, +/* 27126 */ {(12<<2)|2,{52,57,0}}, +/* 27127 */ {(12<<2)|2,{52,57,0}}, +/* 27128 */ {(12<<2)|2,{52,57,0}}, +/* 27129 */ {(12<<2)|2,{52,57,0}}, +/* 27130 */ {(12<<2)|2,{52,57,0}}, +/* 27131 */ {(12<<2)|2,{52,57,0}}, +/* 27132 */ {(12<<2)|2,{52,57,0}}, +/* 27133 */ {(12<<2)|2,{52,57,0}}, +/* 27134 */ {(12<<2)|2,{52,57,0}}, +/* 27135 */ {(12<<2)|2,{52,57,0}}, +/* 27136 */ {(12<<2)|2,{52,61,0}}, +/* 27137 */ {(12<<2)|2,{52,61,0}}, +/* 27138 */ {(12<<2)|2,{52,61,0}}, +/* 27139 */ {(12<<2)|2,{52,61,0}}, +/* 27140 */ {(12<<2)|2,{52,61,0}}, +/* 27141 */ {(12<<2)|2,{52,61,0}}, +/* 27142 */ {(12<<2)|2,{52,61,0}}, +/* 27143 */ {(12<<2)|2,{52,61,0}}, +/* 27144 */ {(12<<2)|2,{52,61,0}}, +/* 27145 */ {(12<<2)|2,{52,61,0}}, +/* 27146 */ {(12<<2)|2,{52,61,0}}, +/* 27147 */ {(12<<2)|2,{52,61,0}}, +/* 27148 */ {(12<<2)|2,{52,61,0}}, +/* 27149 */ {(12<<2)|2,{52,61,0}}, +/* 27150 */ {(12<<2)|2,{52,61,0}}, +/* 27151 */ {(12<<2)|2,{52,61,0}}, +/* 27152 */ {(12<<2)|2,{52,65,0}}, +/* 27153 */ {(12<<2)|2,{52,65,0}}, +/* 27154 */ {(12<<2)|2,{52,65,0}}, +/* 27155 */ {(12<<2)|2,{52,65,0}}, +/* 27156 */ {(12<<2)|2,{52,65,0}}, +/* 27157 */ {(12<<2)|2,{52,65,0}}, +/* 27158 */ {(12<<2)|2,{52,65,0}}, +/* 27159 */ {(12<<2)|2,{52,65,0}}, +/* 27160 */ {(12<<2)|2,{52,65,0}}, +/* 27161 */ {(12<<2)|2,{52,65,0}}, +/* 27162 */ {(12<<2)|2,{52,65,0}}, +/* 27163 */ {(12<<2)|2,{52,65,0}}, +/* 27164 */ {(12<<2)|2,{52,65,0}}, +/* 27165 */ {(12<<2)|2,{52,65,0}}, +/* 27166 */ {(12<<2)|2,{52,65,0}}, +/* 27167 */ {(12<<2)|2,{52,65,0}}, +/* 27168 */ {(12<<2)|2,{52,95,0}}, +/* 27169 */ {(12<<2)|2,{52,95,0}}, +/* 27170 */ {(12<<2)|2,{52,95,0}}, +/* 27171 */ {(12<<2)|2,{52,95,0}}, +/* 27172 */ {(12<<2)|2,{52,95,0}}, +/* 27173 */ {(12<<2)|2,{52,95,0}}, +/* 27174 */ {(12<<2)|2,{52,95,0}}, +/* 27175 */ {(12<<2)|2,{52,95,0}}, +/* 27176 */ {(12<<2)|2,{52,95,0}}, +/* 27177 */ {(12<<2)|2,{52,95,0}}, +/* 27178 */ {(12<<2)|2,{52,95,0}}, +/* 27179 */ {(12<<2)|2,{52,95,0}}, +/* 27180 */ {(12<<2)|2,{52,95,0}}, +/* 27181 */ {(12<<2)|2,{52,95,0}}, +/* 27182 */ {(12<<2)|2,{52,95,0}}, +/* 27183 */ {(12<<2)|2,{52,95,0}}, +/* 27184 */ {(12<<2)|2,{52,98,0}}, +/* 27185 */ {(12<<2)|2,{52,98,0}}, +/* 27186 */ {(12<<2)|2,{52,98,0}}, +/* 27187 */ {(12<<2)|2,{52,98,0}}, +/* 27188 */ {(12<<2)|2,{52,98,0}}, +/* 27189 */ {(12<<2)|2,{52,98,0}}, +/* 27190 */ {(12<<2)|2,{52,98,0}}, +/* 27191 */ {(12<<2)|2,{52,98,0}}, +/* 27192 */ {(12<<2)|2,{52,98,0}}, +/* 27193 */ {(12<<2)|2,{52,98,0}}, +/* 27194 */ {(12<<2)|2,{52,98,0}}, +/* 27195 */ {(12<<2)|2,{52,98,0}}, +/* 27196 */ {(12<<2)|2,{52,98,0}}, +/* 27197 */ {(12<<2)|2,{52,98,0}}, +/* 27198 */ {(12<<2)|2,{52,98,0}}, +/* 27199 */ {(12<<2)|2,{52,98,0}}, +/* 27200 */ {(12<<2)|2,{52,100,0}}, +/* 27201 */ {(12<<2)|2,{52,100,0}}, +/* 27202 */ {(12<<2)|2,{52,100,0}}, +/* 27203 */ {(12<<2)|2,{52,100,0}}, +/* 27204 */ {(12<<2)|2,{52,100,0}}, +/* 27205 */ {(12<<2)|2,{52,100,0}}, +/* 27206 */ {(12<<2)|2,{52,100,0}}, +/* 27207 */ {(12<<2)|2,{52,100,0}}, +/* 27208 */ {(12<<2)|2,{52,100,0}}, +/* 27209 */ {(12<<2)|2,{52,100,0}}, +/* 27210 */ {(12<<2)|2,{52,100,0}}, +/* 27211 */ {(12<<2)|2,{52,100,0}}, +/* 27212 */ {(12<<2)|2,{52,100,0}}, +/* 27213 */ {(12<<2)|2,{52,100,0}}, +/* 27214 */ {(12<<2)|2,{52,100,0}}, +/* 27215 */ {(12<<2)|2,{52,100,0}}, +/* 27216 */ {(12<<2)|2,{52,102,0}}, +/* 27217 */ {(12<<2)|2,{52,102,0}}, +/* 27218 */ {(12<<2)|2,{52,102,0}}, +/* 27219 */ {(12<<2)|2,{52,102,0}}, +/* 27220 */ {(12<<2)|2,{52,102,0}}, +/* 27221 */ {(12<<2)|2,{52,102,0}}, +/* 27222 */ {(12<<2)|2,{52,102,0}}, +/* 27223 */ {(12<<2)|2,{52,102,0}}, +/* 27224 */ {(12<<2)|2,{52,102,0}}, +/* 27225 */ {(12<<2)|2,{52,102,0}}, +/* 27226 */ {(12<<2)|2,{52,102,0}}, +/* 27227 */ {(12<<2)|2,{52,102,0}}, +/* 27228 */ {(12<<2)|2,{52,102,0}}, +/* 27229 */ {(12<<2)|2,{52,102,0}}, +/* 27230 */ {(12<<2)|2,{52,102,0}}, +/* 27231 */ {(12<<2)|2,{52,102,0}}, +/* 27232 */ {(12<<2)|2,{52,103,0}}, +/* 27233 */ {(12<<2)|2,{52,103,0}}, +/* 27234 */ {(12<<2)|2,{52,103,0}}, +/* 27235 */ {(12<<2)|2,{52,103,0}}, +/* 27236 */ {(12<<2)|2,{52,103,0}}, +/* 27237 */ {(12<<2)|2,{52,103,0}}, +/* 27238 */ {(12<<2)|2,{52,103,0}}, +/* 27239 */ {(12<<2)|2,{52,103,0}}, +/* 27240 */ {(12<<2)|2,{52,103,0}}, +/* 27241 */ {(12<<2)|2,{52,103,0}}, +/* 27242 */ {(12<<2)|2,{52,103,0}}, +/* 27243 */ {(12<<2)|2,{52,103,0}}, +/* 27244 */ {(12<<2)|2,{52,103,0}}, +/* 27245 */ {(12<<2)|2,{52,103,0}}, +/* 27246 */ {(12<<2)|2,{52,103,0}}, +/* 27247 */ {(12<<2)|2,{52,103,0}}, +/* 27248 */ {(12<<2)|2,{52,104,0}}, +/* 27249 */ {(12<<2)|2,{52,104,0}}, +/* 27250 */ {(12<<2)|2,{52,104,0}}, +/* 27251 */ {(12<<2)|2,{52,104,0}}, +/* 27252 */ {(12<<2)|2,{52,104,0}}, +/* 27253 */ {(12<<2)|2,{52,104,0}}, +/* 27254 */ {(12<<2)|2,{52,104,0}}, +/* 27255 */ {(12<<2)|2,{52,104,0}}, +/* 27256 */ {(12<<2)|2,{52,104,0}}, +/* 27257 */ {(12<<2)|2,{52,104,0}}, +/* 27258 */ {(12<<2)|2,{52,104,0}}, +/* 27259 */ {(12<<2)|2,{52,104,0}}, +/* 27260 */ {(12<<2)|2,{52,104,0}}, +/* 27261 */ {(12<<2)|2,{52,104,0}}, +/* 27262 */ {(12<<2)|2,{52,104,0}}, +/* 27263 */ {(12<<2)|2,{52,104,0}}, +/* 27264 */ {(12<<2)|2,{52,108,0}}, +/* 27265 */ {(12<<2)|2,{52,108,0}}, +/* 27266 */ {(12<<2)|2,{52,108,0}}, +/* 27267 */ {(12<<2)|2,{52,108,0}}, +/* 27268 */ {(12<<2)|2,{52,108,0}}, +/* 27269 */ {(12<<2)|2,{52,108,0}}, +/* 27270 */ {(12<<2)|2,{52,108,0}}, +/* 27271 */ {(12<<2)|2,{52,108,0}}, +/* 27272 */ {(12<<2)|2,{52,108,0}}, +/* 27273 */ {(12<<2)|2,{52,108,0}}, +/* 27274 */ {(12<<2)|2,{52,108,0}}, +/* 27275 */ {(12<<2)|2,{52,108,0}}, +/* 27276 */ {(12<<2)|2,{52,108,0}}, +/* 27277 */ {(12<<2)|2,{52,108,0}}, +/* 27278 */ {(12<<2)|2,{52,108,0}}, +/* 27279 */ {(12<<2)|2,{52,108,0}}, +/* 27280 */ {(12<<2)|2,{52,109,0}}, +/* 27281 */ {(12<<2)|2,{52,109,0}}, +/* 27282 */ {(12<<2)|2,{52,109,0}}, +/* 27283 */ {(12<<2)|2,{52,109,0}}, +/* 27284 */ {(12<<2)|2,{52,109,0}}, +/* 27285 */ {(12<<2)|2,{52,109,0}}, +/* 27286 */ {(12<<2)|2,{52,109,0}}, +/* 27287 */ {(12<<2)|2,{52,109,0}}, +/* 27288 */ {(12<<2)|2,{52,109,0}}, +/* 27289 */ {(12<<2)|2,{52,109,0}}, +/* 27290 */ {(12<<2)|2,{52,109,0}}, +/* 27291 */ {(12<<2)|2,{52,109,0}}, +/* 27292 */ {(12<<2)|2,{52,109,0}}, +/* 27293 */ {(12<<2)|2,{52,109,0}}, +/* 27294 */ {(12<<2)|2,{52,109,0}}, +/* 27295 */ {(12<<2)|2,{52,109,0}}, +/* 27296 */ {(12<<2)|2,{52,110,0}}, +/* 27297 */ {(12<<2)|2,{52,110,0}}, +/* 27298 */ {(12<<2)|2,{52,110,0}}, +/* 27299 */ {(12<<2)|2,{52,110,0}}, +/* 27300 */ {(12<<2)|2,{52,110,0}}, +/* 27301 */ {(12<<2)|2,{52,110,0}}, +/* 27302 */ {(12<<2)|2,{52,110,0}}, +/* 27303 */ {(12<<2)|2,{52,110,0}}, +/* 27304 */ {(12<<2)|2,{52,110,0}}, +/* 27305 */ {(12<<2)|2,{52,110,0}}, +/* 27306 */ {(12<<2)|2,{52,110,0}}, +/* 27307 */ {(12<<2)|2,{52,110,0}}, +/* 27308 */ {(12<<2)|2,{52,110,0}}, +/* 27309 */ {(12<<2)|2,{52,110,0}}, +/* 27310 */ {(12<<2)|2,{52,110,0}}, +/* 27311 */ {(12<<2)|2,{52,110,0}}, +/* 27312 */ {(12<<2)|2,{52,112,0}}, +/* 27313 */ {(12<<2)|2,{52,112,0}}, +/* 27314 */ {(12<<2)|2,{52,112,0}}, +/* 27315 */ {(12<<2)|2,{52,112,0}}, +/* 27316 */ {(12<<2)|2,{52,112,0}}, +/* 27317 */ {(12<<2)|2,{52,112,0}}, +/* 27318 */ {(12<<2)|2,{52,112,0}}, +/* 27319 */ {(12<<2)|2,{52,112,0}}, +/* 27320 */ {(12<<2)|2,{52,112,0}}, +/* 27321 */ {(12<<2)|2,{52,112,0}}, +/* 27322 */ {(12<<2)|2,{52,112,0}}, +/* 27323 */ {(12<<2)|2,{52,112,0}}, +/* 27324 */ {(12<<2)|2,{52,112,0}}, +/* 27325 */ {(12<<2)|2,{52,112,0}}, +/* 27326 */ {(12<<2)|2,{52,112,0}}, +/* 27327 */ {(12<<2)|2,{52,112,0}}, +/* 27328 */ {(12<<2)|2,{52,114,0}}, +/* 27329 */ {(12<<2)|2,{52,114,0}}, +/* 27330 */ {(12<<2)|2,{52,114,0}}, +/* 27331 */ {(12<<2)|2,{52,114,0}}, +/* 27332 */ {(12<<2)|2,{52,114,0}}, +/* 27333 */ {(12<<2)|2,{52,114,0}}, +/* 27334 */ {(12<<2)|2,{52,114,0}}, +/* 27335 */ {(12<<2)|2,{52,114,0}}, +/* 27336 */ {(12<<2)|2,{52,114,0}}, +/* 27337 */ {(12<<2)|2,{52,114,0}}, +/* 27338 */ {(12<<2)|2,{52,114,0}}, +/* 27339 */ {(12<<2)|2,{52,114,0}}, +/* 27340 */ {(12<<2)|2,{52,114,0}}, +/* 27341 */ {(12<<2)|2,{52,114,0}}, +/* 27342 */ {(12<<2)|2,{52,114,0}}, +/* 27343 */ {(12<<2)|2,{52,114,0}}, +/* 27344 */ {(12<<2)|2,{52,117,0}}, +/* 27345 */ {(12<<2)|2,{52,117,0}}, +/* 27346 */ {(12<<2)|2,{52,117,0}}, +/* 27347 */ {(12<<2)|2,{52,117,0}}, +/* 27348 */ {(12<<2)|2,{52,117,0}}, +/* 27349 */ {(12<<2)|2,{52,117,0}}, +/* 27350 */ {(12<<2)|2,{52,117,0}}, +/* 27351 */ {(12<<2)|2,{52,117,0}}, +/* 27352 */ {(12<<2)|2,{52,117,0}}, +/* 27353 */ {(12<<2)|2,{52,117,0}}, +/* 27354 */ {(12<<2)|2,{52,117,0}}, +/* 27355 */ {(12<<2)|2,{52,117,0}}, +/* 27356 */ {(12<<2)|2,{52,117,0}}, +/* 27357 */ {(12<<2)|2,{52,117,0}}, +/* 27358 */ {(12<<2)|2,{52,117,0}}, +/* 27359 */ {(12<<2)|2,{52,117,0}}, +/* 27360 */ {(13<<2)|2,{52,58,0}}, +/* 27361 */ {(13<<2)|2,{52,58,0}}, +/* 27362 */ {(13<<2)|2,{52,58,0}}, +/* 27363 */ {(13<<2)|2,{52,58,0}}, +/* 27364 */ {(13<<2)|2,{52,58,0}}, +/* 27365 */ {(13<<2)|2,{52,58,0}}, +/* 27366 */ {(13<<2)|2,{52,58,0}}, +/* 27367 */ {(13<<2)|2,{52,58,0}}, +/* 27368 */ {(13<<2)|2,{52,66,0}}, +/* 27369 */ {(13<<2)|2,{52,66,0}}, +/* 27370 */ {(13<<2)|2,{52,66,0}}, +/* 27371 */ {(13<<2)|2,{52,66,0}}, +/* 27372 */ {(13<<2)|2,{52,66,0}}, +/* 27373 */ {(13<<2)|2,{52,66,0}}, +/* 27374 */ {(13<<2)|2,{52,66,0}}, +/* 27375 */ {(13<<2)|2,{52,66,0}}, +/* 27376 */ {(13<<2)|2,{52,67,0}}, +/* 27377 */ {(13<<2)|2,{52,67,0}}, +/* 27378 */ {(13<<2)|2,{52,67,0}}, +/* 27379 */ {(13<<2)|2,{52,67,0}}, +/* 27380 */ {(13<<2)|2,{52,67,0}}, +/* 27381 */ {(13<<2)|2,{52,67,0}}, +/* 27382 */ {(13<<2)|2,{52,67,0}}, +/* 27383 */ {(13<<2)|2,{52,67,0}}, +/* 27384 */ {(13<<2)|2,{52,68,0}}, +/* 27385 */ {(13<<2)|2,{52,68,0}}, +/* 27386 */ {(13<<2)|2,{52,68,0}}, +/* 27387 */ {(13<<2)|2,{52,68,0}}, +/* 27388 */ {(13<<2)|2,{52,68,0}}, +/* 27389 */ {(13<<2)|2,{52,68,0}}, +/* 27390 */ {(13<<2)|2,{52,68,0}}, +/* 27391 */ {(13<<2)|2,{52,68,0}}, +/* 27392 */ {(13<<2)|2,{52,69,0}}, +/* 27393 */ {(13<<2)|2,{52,69,0}}, +/* 27394 */ {(13<<2)|2,{52,69,0}}, +/* 27395 */ {(13<<2)|2,{52,69,0}}, +/* 27396 */ {(13<<2)|2,{52,69,0}}, +/* 27397 */ {(13<<2)|2,{52,69,0}}, +/* 27398 */ {(13<<2)|2,{52,69,0}}, +/* 27399 */ {(13<<2)|2,{52,69,0}}, +/* 27400 */ {(13<<2)|2,{52,70,0}}, +/* 27401 */ {(13<<2)|2,{52,70,0}}, +/* 27402 */ {(13<<2)|2,{52,70,0}}, +/* 27403 */ {(13<<2)|2,{52,70,0}}, +/* 27404 */ {(13<<2)|2,{52,70,0}}, +/* 27405 */ {(13<<2)|2,{52,70,0}}, +/* 27406 */ {(13<<2)|2,{52,70,0}}, +/* 27407 */ {(13<<2)|2,{52,70,0}}, +/* 27408 */ {(13<<2)|2,{52,71,0}}, +/* 27409 */ {(13<<2)|2,{52,71,0}}, +/* 27410 */ {(13<<2)|2,{52,71,0}}, +/* 27411 */ {(13<<2)|2,{52,71,0}}, +/* 27412 */ {(13<<2)|2,{52,71,0}}, +/* 27413 */ {(13<<2)|2,{52,71,0}}, +/* 27414 */ {(13<<2)|2,{52,71,0}}, +/* 27415 */ {(13<<2)|2,{52,71,0}}, +/* 27416 */ {(13<<2)|2,{52,72,0}}, +/* 27417 */ {(13<<2)|2,{52,72,0}}, +/* 27418 */ {(13<<2)|2,{52,72,0}}, +/* 27419 */ {(13<<2)|2,{52,72,0}}, +/* 27420 */ {(13<<2)|2,{52,72,0}}, +/* 27421 */ {(13<<2)|2,{52,72,0}}, +/* 27422 */ {(13<<2)|2,{52,72,0}}, +/* 27423 */ {(13<<2)|2,{52,72,0}}, +/* 27424 */ {(13<<2)|2,{52,73,0}}, +/* 27425 */ {(13<<2)|2,{52,73,0}}, +/* 27426 */ {(13<<2)|2,{52,73,0}}, +/* 27427 */ {(13<<2)|2,{52,73,0}}, +/* 27428 */ {(13<<2)|2,{52,73,0}}, +/* 27429 */ {(13<<2)|2,{52,73,0}}, +/* 27430 */ {(13<<2)|2,{52,73,0}}, +/* 27431 */ {(13<<2)|2,{52,73,0}}, +/* 27432 */ {(13<<2)|2,{52,74,0}}, +/* 27433 */ {(13<<2)|2,{52,74,0}}, +/* 27434 */ {(13<<2)|2,{52,74,0}}, +/* 27435 */ {(13<<2)|2,{52,74,0}}, +/* 27436 */ {(13<<2)|2,{52,74,0}}, +/* 27437 */ {(13<<2)|2,{52,74,0}}, +/* 27438 */ {(13<<2)|2,{52,74,0}}, +/* 27439 */ {(13<<2)|2,{52,74,0}}, +/* 27440 */ {(13<<2)|2,{52,75,0}}, +/* 27441 */ {(13<<2)|2,{52,75,0}}, +/* 27442 */ {(13<<2)|2,{52,75,0}}, +/* 27443 */ {(13<<2)|2,{52,75,0}}, +/* 27444 */ {(13<<2)|2,{52,75,0}}, +/* 27445 */ {(13<<2)|2,{52,75,0}}, +/* 27446 */ {(13<<2)|2,{52,75,0}}, +/* 27447 */ {(13<<2)|2,{52,75,0}}, +/* 27448 */ {(13<<2)|2,{52,76,0}}, +/* 27449 */ {(13<<2)|2,{52,76,0}}, +/* 27450 */ {(13<<2)|2,{52,76,0}}, +/* 27451 */ {(13<<2)|2,{52,76,0}}, +/* 27452 */ {(13<<2)|2,{52,76,0}}, +/* 27453 */ {(13<<2)|2,{52,76,0}}, +/* 27454 */ {(13<<2)|2,{52,76,0}}, +/* 27455 */ {(13<<2)|2,{52,76,0}}, +/* 27456 */ {(13<<2)|2,{52,77,0}}, +/* 27457 */ {(13<<2)|2,{52,77,0}}, +/* 27458 */ {(13<<2)|2,{52,77,0}}, +/* 27459 */ {(13<<2)|2,{52,77,0}}, +/* 27460 */ {(13<<2)|2,{52,77,0}}, +/* 27461 */ {(13<<2)|2,{52,77,0}}, +/* 27462 */ {(13<<2)|2,{52,77,0}}, +/* 27463 */ {(13<<2)|2,{52,77,0}}, +/* 27464 */ {(13<<2)|2,{52,78,0}}, +/* 27465 */ {(13<<2)|2,{52,78,0}}, +/* 27466 */ {(13<<2)|2,{52,78,0}}, +/* 27467 */ {(13<<2)|2,{52,78,0}}, +/* 27468 */ {(13<<2)|2,{52,78,0}}, +/* 27469 */ {(13<<2)|2,{52,78,0}}, +/* 27470 */ {(13<<2)|2,{52,78,0}}, +/* 27471 */ {(13<<2)|2,{52,78,0}}, +/* 27472 */ {(13<<2)|2,{52,79,0}}, +/* 27473 */ {(13<<2)|2,{52,79,0}}, +/* 27474 */ {(13<<2)|2,{52,79,0}}, +/* 27475 */ {(13<<2)|2,{52,79,0}}, +/* 27476 */ {(13<<2)|2,{52,79,0}}, +/* 27477 */ {(13<<2)|2,{52,79,0}}, +/* 27478 */ {(13<<2)|2,{52,79,0}}, +/* 27479 */ {(13<<2)|2,{52,79,0}}, +/* 27480 */ {(13<<2)|2,{52,80,0}}, +/* 27481 */ {(13<<2)|2,{52,80,0}}, +/* 27482 */ {(13<<2)|2,{52,80,0}}, +/* 27483 */ {(13<<2)|2,{52,80,0}}, +/* 27484 */ {(13<<2)|2,{52,80,0}}, +/* 27485 */ {(13<<2)|2,{52,80,0}}, +/* 27486 */ {(13<<2)|2,{52,80,0}}, +/* 27487 */ {(13<<2)|2,{52,80,0}}, +/* 27488 */ {(13<<2)|2,{52,81,0}}, +/* 27489 */ {(13<<2)|2,{52,81,0}}, +/* 27490 */ {(13<<2)|2,{52,81,0}}, +/* 27491 */ {(13<<2)|2,{52,81,0}}, +/* 27492 */ {(13<<2)|2,{52,81,0}}, +/* 27493 */ {(13<<2)|2,{52,81,0}}, +/* 27494 */ {(13<<2)|2,{52,81,0}}, +/* 27495 */ {(13<<2)|2,{52,81,0}}, +/* 27496 */ {(13<<2)|2,{52,82,0}}, +/* 27497 */ {(13<<2)|2,{52,82,0}}, +/* 27498 */ {(13<<2)|2,{52,82,0}}, +/* 27499 */ {(13<<2)|2,{52,82,0}}, +/* 27500 */ {(13<<2)|2,{52,82,0}}, +/* 27501 */ {(13<<2)|2,{52,82,0}}, +/* 27502 */ {(13<<2)|2,{52,82,0}}, +/* 27503 */ {(13<<2)|2,{52,82,0}}, +/* 27504 */ {(13<<2)|2,{52,83,0}}, +/* 27505 */ {(13<<2)|2,{52,83,0}}, +/* 27506 */ {(13<<2)|2,{52,83,0}}, +/* 27507 */ {(13<<2)|2,{52,83,0}}, +/* 27508 */ {(13<<2)|2,{52,83,0}}, +/* 27509 */ {(13<<2)|2,{52,83,0}}, +/* 27510 */ {(13<<2)|2,{52,83,0}}, +/* 27511 */ {(13<<2)|2,{52,83,0}}, +/* 27512 */ {(13<<2)|2,{52,84,0}}, +/* 27513 */ {(13<<2)|2,{52,84,0}}, +/* 27514 */ {(13<<2)|2,{52,84,0}}, +/* 27515 */ {(13<<2)|2,{52,84,0}}, +/* 27516 */ {(13<<2)|2,{52,84,0}}, +/* 27517 */ {(13<<2)|2,{52,84,0}}, +/* 27518 */ {(13<<2)|2,{52,84,0}}, +/* 27519 */ {(13<<2)|2,{52,84,0}}, +/* 27520 */ {(13<<2)|2,{52,85,0}}, +/* 27521 */ {(13<<2)|2,{52,85,0}}, +/* 27522 */ {(13<<2)|2,{52,85,0}}, +/* 27523 */ {(13<<2)|2,{52,85,0}}, +/* 27524 */ {(13<<2)|2,{52,85,0}}, +/* 27525 */ {(13<<2)|2,{52,85,0}}, +/* 27526 */ {(13<<2)|2,{52,85,0}}, +/* 27527 */ {(13<<2)|2,{52,85,0}}, +/* 27528 */ {(13<<2)|2,{52,86,0}}, +/* 27529 */ {(13<<2)|2,{52,86,0}}, +/* 27530 */ {(13<<2)|2,{52,86,0}}, +/* 27531 */ {(13<<2)|2,{52,86,0}}, +/* 27532 */ {(13<<2)|2,{52,86,0}}, +/* 27533 */ {(13<<2)|2,{52,86,0}}, +/* 27534 */ {(13<<2)|2,{52,86,0}}, +/* 27535 */ {(13<<2)|2,{52,86,0}}, +/* 27536 */ {(13<<2)|2,{52,87,0}}, +/* 27537 */ {(13<<2)|2,{52,87,0}}, +/* 27538 */ {(13<<2)|2,{52,87,0}}, +/* 27539 */ {(13<<2)|2,{52,87,0}}, +/* 27540 */ {(13<<2)|2,{52,87,0}}, +/* 27541 */ {(13<<2)|2,{52,87,0}}, +/* 27542 */ {(13<<2)|2,{52,87,0}}, +/* 27543 */ {(13<<2)|2,{52,87,0}}, +/* 27544 */ {(13<<2)|2,{52,89,0}}, +/* 27545 */ {(13<<2)|2,{52,89,0}}, +/* 27546 */ {(13<<2)|2,{52,89,0}}, +/* 27547 */ {(13<<2)|2,{52,89,0}}, +/* 27548 */ {(13<<2)|2,{52,89,0}}, +/* 27549 */ {(13<<2)|2,{52,89,0}}, +/* 27550 */ {(13<<2)|2,{52,89,0}}, +/* 27551 */ {(13<<2)|2,{52,89,0}}, +/* 27552 */ {(13<<2)|2,{52,106,0}}, +/* 27553 */ {(13<<2)|2,{52,106,0}}, +/* 27554 */ {(13<<2)|2,{52,106,0}}, +/* 27555 */ {(13<<2)|2,{52,106,0}}, +/* 27556 */ {(13<<2)|2,{52,106,0}}, +/* 27557 */ {(13<<2)|2,{52,106,0}}, +/* 27558 */ {(13<<2)|2,{52,106,0}}, +/* 27559 */ {(13<<2)|2,{52,106,0}}, +/* 27560 */ {(13<<2)|2,{52,107,0}}, +/* 27561 */ {(13<<2)|2,{52,107,0}}, +/* 27562 */ {(13<<2)|2,{52,107,0}}, +/* 27563 */ {(13<<2)|2,{52,107,0}}, +/* 27564 */ {(13<<2)|2,{52,107,0}}, +/* 27565 */ {(13<<2)|2,{52,107,0}}, +/* 27566 */ {(13<<2)|2,{52,107,0}}, +/* 27567 */ {(13<<2)|2,{52,107,0}}, +/* 27568 */ {(13<<2)|2,{52,113,0}}, +/* 27569 */ {(13<<2)|2,{52,113,0}}, +/* 27570 */ {(13<<2)|2,{52,113,0}}, +/* 27571 */ {(13<<2)|2,{52,113,0}}, +/* 27572 */ {(13<<2)|2,{52,113,0}}, +/* 27573 */ {(13<<2)|2,{52,113,0}}, +/* 27574 */ {(13<<2)|2,{52,113,0}}, +/* 27575 */ {(13<<2)|2,{52,113,0}}, +/* 27576 */ {(13<<2)|2,{52,118,0}}, +/* 27577 */ {(13<<2)|2,{52,118,0}}, +/* 27578 */ {(13<<2)|2,{52,118,0}}, +/* 27579 */ {(13<<2)|2,{52,118,0}}, +/* 27580 */ {(13<<2)|2,{52,118,0}}, +/* 27581 */ {(13<<2)|2,{52,118,0}}, +/* 27582 */ {(13<<2)|2,{52,118,0}}, +/* 27583 */ {(13<<2)|2,{52,118,0}}, +/* 27584 */ {(13<<2)|2,{52,119,0}}, +/* 27585 */ {(13<<2)|2,{52,119,0}}, +/* 27586 */ {(13<<2)|2,{52,119,0}}, +/* 27587 */ {(13<<2)|2,{52,119,0}}, +/* 27588 */ {(13<<2)|2,{52,119,0}}, +/* 27589 */ {(13<<2)|2,{52,119,0}}, +/* 27590 */ {(13<<2)|2,{52,119,0}}, +/* 27591 */ {(13<<2)|2,{52,119,0}}, +/* 27592 */ {(13<<2)|2,{52,120,0}}, +/* 27593 */ {(13<<2)|2,{52,120,0}}, +/* 27594 */ {(13<<2)|2,{52,120,0}}, +/* 27595 */ {(13<<2)|2,{52,120,0}}, +/* 27596 */ {(13<<2)|2,{52,120,0}}, +/* 27597 */ {(13<<2)|2,{52,120,0}}, +/* 27598 */ {(13<<2)|2,{52,120,0}}, +/* 27599 */ {(13<<2)|2,{52,120,0}}, +/* 27600 */ {(13<<2)|2,{52,121,0}}, +/* 27601 */ {(13<<2)|2,{52,121,0}}, +/* 27602 */ {(13<<2)|2,{52,121,0}}, +/* 27603 */ {(13<<2)|2,{52,121,0}}, +/* 27604 */ {(13<<2)|2,{52,121,0}}, +/* 27605 */ {(13<<2)|2,{52,121,0}}, +/* 27606 */ {(13<<2)|2,{52,121,0}}, +/* 27607 */ {(13<<2)|2,{52,121,0}}, +/* 27608 */ {(13<<2)|2,{52,122,0}}, +/* 27609 */ {(13<<2)|2,{52,122,0}}, +/* 27610 */ {(13<<2)|2,{52,122,0}}, +/* 27611 */ {(13<<2)|2,{52,122,0}}, +/* 27612 */ {(13<<2)|2,{52,122,0}}, +/* 27613 */ {(13<<2)|2,{52,122,0}}, +/* 27614 */ {(13<<2)|2,{52,122,0}}, +/* 27615 */ {(13<<2)|2,{52,122,0}}, +/* 27616 */ {(14<<2)|2,{52,38,0}}, +/* 27617 */ {(14<<2)|2,{52,38,0}}, +/* 27618 */ {(14<<2)|2,{52,38,0}}, +/* 27619 */ {(14<<2)|2,{52,38,0}}, +/* 27620 */ {(14<<2)|2,{52,42,0}}, +/* 27621 */ {(14<<2)|2,{52,42,0}}, +/* 27622 */ {(14<<2)|2,{52,42,0}}, +/* 27623 */ {(14<<2)|2,{52,42,0}}, +/* 27624 */ {(14<<2)|2,{52,44,0}}, +/* 27625 */ {(14<<2)|2,{52,44,0}}, +/* 27626 */ {(14<<2)|2,{52,44,0}}, +/* 27627 */ {(14<<2)|2,{52,44,0}}, +/* 27628 */ {(14<<2)|2,{52,59,0}}, +/* 27629 */ {(14<<2)|2,{52,59,0}}, +/* 27630 */ {(14<<2)|2,{52,59,0}}, +/* 27631 */ {(14<<2)|2,{52,59,0}}, +/* 27632 */ {(14<<2)|2,{52,88,0}}, +/* 27633 */ {(14<<2)|2,{52,88,0}}, +/* 27634 */ {(14<<2)|2,{52,88,0}}, +/* 27635 */ {(14<<2)|2,{52,88,0}}, +/* 27636 */ {(14<<2)|2,{52,90,0}}, +/* 27637 */ {(14<<2)|2,{52,90,0}}, +/* 27638 */ {(14<<2)|2,{52,90,0}}, +/* 27639 */ {(14<<2)|2,{52,90,0}}, +/* 27640 */ {(16<<2)|2,{52,33,0}}, +/* 27641 */ {(16<<2)|2,{52,34,0}}, +/* 27642 */ {(16<<2)|2,{52,40,0}}, +/* 27643 */ {(16<<2)|2,{52,41,0}}, +/* 27644 */ {(16<<2)|2,{52,63,0}}, +/* 27645 */ {(6<<2)|1,{52,0,0}}, +/* 27646 */ {(6<<2)|1,{52,0,0}}, +/* 27647 */ {(6<<2)|1,{52,0,0}}, +/* 27648 */ {(16<<2)|3,{53,48,48}}, +/* 27649 */ {(16<<2)|3,{53,48,49}}, +/* 27650 */ {(16<<2)|3,{53,48,50}}, +/* 27651 */ {(16<<2)|3,{53,48,97}}, +/* 27652 */ {(16<<2)|3,{53,48,99}}, +/* 27653 */ {(16<<2)|3,{53,48,101}}, +/* 27654 */ {(16<<2)|3,{53,48,105}}, +/* 27655 */ {(16<<2)|3,{53,48,111}}, +/* 27656 */ {(16<<2)|3,{53,48,115}}, +/* 27657 */ {(16<<2)|3,{53,48,116}}, +/* 27658 */ {(11<<2)|2,{53,48,0}}, +/* 27659 */ {(11<<2)|2,{53,48,0}}, +/* 27660 */ {(11<<2)|2,{53,48,0}}, +/* 27661 */ {(11<<2)|2,{53,48,0}}, +/* 27662 */ {(11<<2)|2,{53,48,0}}, +/* 27663 */ {(11<<2)|2,{53,48,0}}, +/* 27664 */ {(11<<2)|2,{53,48,0}}, +/* 27665 */ {(11<<2)|2,{53,48,0}}, +/* 27666 */ {(11<<2)|2,{53,48,0}}, +/* 27667 */ {(11<<2)|2,{53,48,0}}, +/* 27668 */ {(11<<2)|2,{53,48,0}}, +/* 27669 */ {(11<<2)|2,{53,48,0}}, +/* 27670 */ {(11<<2)|2,{53,48,0}}, +/* 27671 */ {(11<<2)|2,{53,48,0}}, +/* 27672 */ {(11<<2)|2,{53,48,0}}, +/* 27673 */ {(11<<2)|2,{53,48,0}}, +/* 27674 */ {(11<<2)|2,{53,48,0}}, +/* 27675 */ {(11<<2)|2,{53,48,0}}, +/* 27676 */ {(11<<2)|2,{53,48,0}}, +/* 27677 */ {(11<<2)|2,{53,48,0}}, +/* 27678 */ {(11<<2)|2,{53,48,0}}, +/* 27679 */ {(11<<2)|2,{53,48,0}}, +/* 27680 */ {(16<<2)|3,{53,49,48}}, +/* 27681 */ {(16<<2)|3,{53,49,49}}, +/* 27682 */ {(16<<2)|3,{53,49,50}}, +/* 27683 */ {(16<<2)|3,{53,49,97}}, +/* 27684 */ {(16<<2)|3,{53,49,99}}, +/* 27685 */ {(16<<2)|3,{53,49,101}}, +/* 27686 */ {(16<<2)|3,{53,49,105}}, +/* 27687 */ {(16<<2)|3,{53,49,111}}, +/* 27688 */ {(16<<2)|3,{53,49,115}}, +/* 27689 */ {(16<<2)|3,{53,49,116}}, +/* 27690 */ {(11<<2)|2,{53,49,0}}, +/* 27691 */ {(11<<2)|2,{53,49,0}}, +/* 27692 */ {(11<<2)|2,{53,49,0}}, +/* 27693 */ {(11<<2)|2,{53,49,0}}, +/* 27694 */ {(11<<2)|2,{53,49,0}}, +/* 27695 */ {(11<<2)|2,{53,49,0}}, +/* 27696 */ {(11<<2)|2,{53,49,0}}, +/* 27697 */ {(11<<2)|2,{53,49,0}}, +/* 27698 */ {(11<<2)|2,{53,49,0}}, +/* 27699 */ {(11<<2)|2,{53,49,0}}, +/* 27700 */ {(11<<2)|2,{53,49,0}}, +/* 27701 */ {(11<<2)|2,{53,49,0}}, +/* 27702 */ {(11<<2)|2,{53,49,0}}, +/* 27703 */ {(11<<2)|2,{53,49,0}}, +/* 27704 */ {(11<<2)|2,{53,49,0}}, +/* 27705 */ {(11<<2)|2,{53,49,0}}, +/* 27706 */ {(11<<2)|2,{53,49,0}}, +/* 27707 */ {(11<<2)|2,{53,49,0}}, +/* 27708 */ {(11<<2)|2,{53,49,0}}, +/* 27709 */ {(11<<2)|2,{53,49,0}}, +/* 27710 */ {(11<<2)|2,{53,49,0}}, +/* 27711 */ {(11<<2)|2,{53,49,0}}, +/* 27712 */ {(16<<2)|3,{53,50,48}}, +/* 27713 */ {(16<<2)|3,{53,50,49}}, +/* 27714 */ {(16<<2)|3,{53,50,50}}, +/* 27715 */ {(16<<2)|3,{53,50,97}}, +/* 27716 */ {(16<<2)|3,{53,50,99}}, +/* 27717 */ {(16<<2)|3,{53,50,101}}, +/* 27718 */ {(16<<2)|3,{53,50,105}}, +/* 27719 */ {(16<<2)|3,{53,50,111}}, +/* 27720 */ {(16<<2)|3,{53,50,115}}, +/* 27721 */ {(16<<2)|3,{53,50,116}}, +/* 27722 */ {(11<<2)|2,{53,50,0}}, +/* 27723 */ {(11<<2)|2,{53,50,0}}, +/* 27724 */ {(11<<2)|2,{53,50,0}}, +/* 27725 */ {(11<<2)|2,{53,50,0}}, +/* 27726 */ {(11<<2)|2,{53,50,0}}, +/* 27727 */ {(11<<2)|2,{53,50,0}}, +/* 27728 */ {(11<<2)|2,{53,50,0}}, +/* 27729 */ {(11<<2)|2,{53,50,0}}, +/* 27730 */ {(11<<2)|2,{53,50,0}}, +/* 27731 */ {(11<<2)|2,{53,50,0}}, +/* 27732 */ {(11<<2)|2,{53,50,0}}, +/* 27733 */ {(11<<2)|2,{53,50,0}}, +/* 27734 */ {(11<<2)|2,{53,50,0}}, +/* 27735 */ {(11<<2)|2,{53,50,0}}, +/* 27736 */ {(11<<2)|2,{53,50,0}}, +/* 27737 */ {(11<<2)|2,{53,50,0}}, +/* 27738 */ {(11<<2)|2,{53,50,0}}, +/* 27739 */ {(11<<2)|2,{53,50,0}}, +/* 27740 */ {(11<<2)|2,{53,50,0}}, +/* 27741 */ {(11<<2)|2,{53,50,0}}, +/* 27742 */ {(11<<2)|2,{53,50,0}}, +/* 27743 */ {(11<<2)|2,{53,50,0}}, +/* 27744 */ {(16<<2)|3,{53,97,48}}, +/* 27745 */ {(16<<2)|3,{53,97,49}}, +/* 27746 */ {(16<<2)|3,{53,97,50}}, +/* 27747 */ {(16<<2)|3,{53,97,97}}, +/* 27748 */ {(16<<2)|3,{53,97,99}}, +/* 27749 */ {(16<<2)|3,{53,97,101}}, +/* 27750 */ {(16<<2)|3,{53,97,105}}, +/* 27751 */ {(16<<2)|3,{53,97,111}}, +/* 27752 */ {(16<<2)|3,{53,97,115}}, +/* 27753 */ {(16<<2)|3,{53,97,116}}, +/* 27754 */ {(11<<2)|2,{53,97,0}}, +/* 27755 */ {(11<<2)|2,{53,97,0}}, +/* 27756 */ {(11<<2)|2,{53,97,0}}, +/* 27757 */ {(11<<2)|2,{53,97,0}}, +/* 27758 */ {(11<<2)|2,{53,97,0}}, +/* 27759 */ {(11<<2)|2,{53,97,0}}, +/* 27760 */ {(11<<2)|2,{53,97,0}}, +/* 27761 */ {(11<<2)|2,{53,97,0}}, +/* 27762 */ {(11<<2)|2,{53,97,0}}, +/* 27763 */ {(11<<2)|2,{53,97,0}}, +/* 27764 */ {(11<<2)|2,{53,97,0}}, +/* 27765 */ {(11<<2)|2,{53,97,0}}, +/* 27766 */ {(11<<2)|2,{53,97,0}}, +/* 27767 */ {(11<<2)|2,{53,97,0}}, +/* 27768 */ {(11<<2)|2,{53,97,0}}, +/* 27769 */ {(11<<2)|2,{53,97,0}}, +/* 27770 */ {(11<<2)|2,{53,97,0}}, +/* 27771 */ {(11<<2)|2,{53,97,0}}, +/* 27772 */ {(11<<2)|2,{53,97,0}}, +/* 27773 */ {(11<<2)|2,{53,97,0}}, +/* 27774 */ {(11<<2)|2,{53,97,0}}, +/* 27775 */ {(11<<2)|2,{53,97,0}}, +/* 27776 */ {(16<<2)|3,{53,99,48}}, +/* 27777 */ {(16<<2)|3,{53,99,49}}, +/* 27778 */ {(16<<2)|3,{53,99,50}}, +/* 27779 */ {(16<<2)|3,{53,99,97}}, +/* 27780 */ {(16<<2)|3,{53,99,99}}, +/* 27781 */ {(16<<2)|3,{53,99,101}}, +/* 27782 */ {(16<<2)|3,{53,99,105}}, +/* 27783 */ {(16<<2)|3,{53,99,111}}, +/* 27784 */ {(16<<2)|3,{53,99,115}}, +/* 27785 */ {(16<<2)|3,{53,99,116}}, +/* 27786 */ {(11<<2)|2,{53,99,0}}, +/* 27787 */ {(11<<2)|2,{53,99,0}}, +/* 27788 */ {(11<<2)|2,{53,99,0}}, +/* 27789 */ {(11<<2)|2,{53,99,0}}, +/* 27790 */ {(11<<2)|2,{53,99,0}}, +/* 27791 */ {(11<<2)|2,{53,99,0}}, +/* 27792 */ {(11<<2)|2,{53,99,0}}, +/* 27793 */ {(11<<2)|2,{53,99,0}}, +/* 27794 */ {(11<<2)|2,{53,99,0}}, +/* 27795 */ {(11<<2)|2,{53,99,0}}, +/* 27796 */ {(11<<2)|2,{53,99,0}}, +/* 27797 */ {(11<<2)|2,{53,99,0}}, +/* 27798 */ {(11<<2)|2,{53,99,0}}, +/* 27799 */ {(11<<2)|2,{53,99,0}}, +/* 27800 */ {(11<<2)|2,{53,99,0}}, +/* 27801 */ {(11<<2)|2,{53,99,0}}, +/* 27802 */ {(11<<2)|2,{53,99,0}}, +/* 27803 */ {(11<<2)|2,{53,99,0}}, +/* 27804 */ {(11<<2)|2,{53,99,0}}, +/* 27805 */ {(11<<2)|2,{53,99,0}}, +/* 27806 */ {(11<<2)|2,{53,99,0}}, +/* 27807 */ {(11<<2)|2,{53,99,0}}, +/* 27808 */ {(16<<2)|3,{53,101,48}}, +/* 27809 */ {(16<<2)|3,{53,101,49}}, +/* 27810 */ {(16<<2)|3,{53,101,50}}, +/* 27811 */ {(16<<2)|3,{53,101,97}}, +/* 27812 */ {(16<<2)|3,{53,101,99}}, +/* 27813 */ {(16<<2)|3,{53,101,101}}, +/* 27814 */ {(16<<2)|3,{53,101,105}}, +/* 27815 */ {(16<<2)|3,{53,101,111}}, +/* 27816 */ {(16<<2)|3,{53,101,115}}, +/* 27817 */ {(16<<2)|3,{53,101,116}}, +/* 27818 */ {(11<<2)|2,{53,101,0}}, +/* 27819 */ {(11<<2)|2,{53,101,0}}, +/* 27820 */ {(11<<2)|2,{53,101,0}}, +/* 27821 */ {(11<<2)|2,{53,101,0}}, +/* 27822 */ {(11<<2)|2,{53,101,0}}, +/* 27823 */ {(11<<2)|2,{53,101,0}}, +/* 27824 */ {(11<<2)|2,{53,101,0}}, +/* 27825 */ {(11<<2)|2,{53,101,0}}, +/* 27826 */ {(11<<2)|2,{53,101,0}}, +/* 27827 */ {(11<<2)|2,{53,101,0}}, +/* 27828 */ {(11<<2)|2,{53,101,0}}, +/* 27829 */ {(11<<2)|2,{53,101,0}}, +/* 27830 */ {(11<<2)|2,{53,101,0}}, +/* 27831 */ {(11<<2)|2,{53,101,0}}, +/* 27832 */ {(11<<2)|2,{53,101,0}}, +/* 27833 */ {(11<<2)|2,{53,101,0}}, +/* 27834 */ {(11<<2)|2,{53,101,0}}, +/* 27835 */ {(11<<2)|2,{53,101,0}}, +/* 27836 */ {(11<<2)|2,{53,101,0}}, +/* 27837 */ {(11<<2)|2,{53,101,0}}, +/* 27838 */ {(11<<2)|2,{53,101,0}}, +/* 27839 */ {(11<<2)|2,{53,101,0}}, +/* 27840 */ {(16<<2)|3,{53,105,48}}, +/* 27841 */ {(16<<2)|3,{53,105,49}}, +/* 27842 */ {(16<<2)|3,{53,105,50}}, +/* 27843 */ {(16<<2)|3,{53,105,97}}, +/* 27844 */ {(16<<2)|3,{53,105,99}}, +/* 27845 */ {(16<<2)|3,{53,105,101}}, +/* 27846 */ {(16<<2)|3,{53,105,105}}, +/* 27847 */ {(16<<2)|3,{53,105,111}}, +/* 27848 */ {(16<<2)|3,{53,105,115}}, +/* 27849 */ {(16<<2)|3,{53,105,116}}, +/* 27850 */ {(11<<2)|2,{53,105,0}}, +/* 27851 */ {(11<<2)|2,{53,105,0}}, +/* 27852 */ {(11<<2)|2,{53,105,0}}, +/* 27853 */ {(11<<2)|2,{53,105,0}}, +/* 27854 */ {(11<<2)|2,{53,105,0}}, +/* 27855 */ {(11<<2)|2,{53,105,0}}, +/* 27856 */ {(11<<2)|2,{53,105,0}}, +/* 27857 */ {(11<<2)|2,{53,105,0}}, +/* 27858 */ {(11<<2)|2,{53,105,0}}, +/* 27859 */ {(11<<2)|2,{53,105,0}}, +/* 27860 */ {(11<<2)|2,{53,105,0}}, +/* 27861 */ {(11<<2)|2,{53,105,0}}, +/* 27862 */ {(11<<2)|2,{53,105,0}}, +/* 27863 */ {(11<<2)|2,{53,105,0}}, +/* 27864 */ {(11<<2)|2,{53,105,0}}, +/* 27865 */ {(11<<2)|2,{53,105,0}}, +/* 27866 */ {(11<<2)|2,{53,105,0}}, +/* 27867 */ {(11<<2)|2,{53,105,0}}, +/* 27868 */ {(11<<2)|2,{53,105,0}}, +/* 27869 */ {(11<<2)|2,{53,105,0}}, +/* 27870 */ {(11<<2)|2,{53,105,0}}, +/* 27871 */ {(11<<2)|2,{53,105,0}}, +/* 27872 */ {(16<<2)|3,{53,111,48}}, +/* 27873 */ {(16<<2)|3,{53,111,49}}, +/* 27874 */ {(16<<2)|3,{53,111,50}}, +/* 27875 */ {(16<<2)|3,{53,111,97}}, +/* 27876 */ {(16<<2)|3,{53,111,99}}, +/* 27877 */ {(16<<2)|3,{53,111,101}}, +/* 27878 */ {(16<<2)|3,{53,111,105}}, +/* 27879 */ {(16<<2)|3,{53,111,111}}, +/* 27880 */ {(16<<2)|3,{53,111,115}}, +/* 27881 */ {(16<<2)|3,{53,111,116}}, +/* 27882 */ {(11<<2)|2,{53,111,0}}, +/* 27883 */ {(11<<2)|2,{53,111,0}}, +/* 27884 */ {(11<<2)|2,{53,111,0}}, +/* 27885 */ {(11<<2)|2,{53,111,0}}, +/* 27886 */ {(11<<2)|2,{53,111,0}}, +/* 27887 */ {(11<<2)|2,{53,111,0}}, +/* 27888 */ {(11<<2)|2,{53,111,0}}, +/* 27889 */ {(11<<2)|2,{53,111,0}}, +/* 27890 */ {(11<<2)|2,{53,111,0}}, +/* 27891 */ {(11<<2)|2,{53,111,0}}, +/* 27892 */ {(11<<2)|2,{53,111,0}}, +/* 27893 */ {(11<<2)|2,{53,111,0}}, +/* 27894 */ {(11<<2)|2,{53,111,0}}, +/* 27895 */ {(11<<2)|2,{53,111,0}}, +/* 27896 */ {(11<<2)|2,{53,111,0}}, +/* 27897 */ {(11<<2)|2,{53,111,0}}, +/* 27898 */ {(11<<2)|2,{53,111,0}}, +/* 27899 */ {(11<<2)|2,{53,111,0}}, +/* 27900 */ {(11<<2)|2,{53,111,0}}, +/* 27901 */ {(11<<2)|2,{53,111,0}}, +/* 27902 */ {(11<<2)|2,{53,111,0}}, +/* 27903 */ {(11<<2)|2,{53,111,0}}, +/* 27904 */ {(16<<2)|3,{53,115,48}}, +/* 27905 */ {(16<<2)|3,{53,115,49}}, +/* 27906 */ {(16<<2)|3,{53,115,50}}, +/* 27907 */ {(16<<2)|3,{53,115,97}}, +/* 27908 */ {(16<<2)|3,{53,115,99}}, +/* 27909 */ {(16<<2)|3,{53,115,101}}, +/* 27910 */ {(16<<2)|3,{53,115,105}}, +/* 27911 */ {(16<<2)|3,{53,115,111}}, +/* 27912 */ {(16<<2)|3,{53,115,115}}, +/* 27913 */ {(16<<2)|3,{53,115,116}}, +/* 27914 */ {(11<<2)|2,{53,115,0}}, +/* 27915 */ {(11<<2)|2,{53,115,0}}, +/* 27916 */ {(11<<2)|2,{53,115,0}}, +/* 27917 */ {(11<<2)|2,{53,115,0}}, +/* 27918 */ {(11<<2)|2,{53,115,0}}, +/* 27919 */ {(11<<2)|2,{53,115,0}}, +/* 27920 */ {(11<<2)|2,{53,115,0}}, +/* 27921 */ {(11<<2)|2,{53,115,0}}, +/* 27922 */ {(11<<2)|2,{53,115,0}}, +/* 27923 */ {(11<<2)|2,{53,115,0}}, +/* 27924 */ {(11<<2)|2,{53,115,0}}, +/* 27925 */ {(11<<2)|2,{53,115,0}}, +/* 27926 */ {(11<<2)|2,{53,115,0}}, +/* 27927 */ {(11<<2)|2,{53,115,0}}, +/* 27928 */ {(11<<2)|2,{53,115,0}}, +/* 27929 */ {(11<<2)|2,{53,115,0}}, +/* 27930 */ {(11<<2)|2,{53,115,0}}, +/* 27931 */ {(11<<2)|2,{53,115,0}}, +/* 27932 */ {(11<<2)|2,{53,115,0}}, +/* 27933 */ {(11<<2)|2,{53,115,0}}, +/* 27934 */ {(11<<2)|2,{53,115,0}}, +/* 27935 */ {(11<<2)|2,{53,115,0}}, +/* 27936 */ {(16<<2)|3,{53,116,48}}, +/* 27937 */ {(16<<2)|3,{53,116,49}}, +/* 27938 */ {(16<<2)|3,{53,116,50}}, +/* 27939 */ {(16<<2)|3,{53,116,97}}, +/* 27940 */ {(16<<2)|3,{53,116,99}}, +/* 27941 */ {(16<<2)|3,{53,116,101}}, +/* 27942 */ {(16<<2)|3,{53,116,105}}, +/* 27943 */ {(16<<2)|3,{53,116,111}}, +/* 27944 */ {(16<<2)|3,{53,116,115}}, +/* 27945 */ {(16<<2)|3,{53,116,116}}, +/* 27946 */ {(11<<2)|2,{53,116,0}}, +/* 27947 */ {(11<<2)|2,{53,116,0}}, +/* 27948 */ {(11<<2)|2,{53,116,0}}, +/* 27949 */ {(11<<2)|2,{53,116,0}}, +/* 27950 */ {(11<<2)|2,{53,116,0}}, +/* 27951 */ {(11<<2)|2,{53,116,0}}, +/* 27952 */ {(11<<2)|2,{53,116,0}}, +/* 27953 */ {(11<<2)|2,{53,116,0}}, +/* 27954 */ {(11<<2)|2,{53,116,0}}, +/* 27955 */ {(11<<2)|2,{53,116,0}}, +/* 27956 */ {(11<<2)|2,{53,116,0}}, +/* 27957 */ {(11<<2)|2,{53,116,0}}, +/* 27958 */ {(11<<2)|2,{53,116,0}}, +/* 27959 */ {(11<<2)|2,{53,116,0}}, +/* 27960 */ {(11<<2)|2,{53,116,0}}, +/* 27961 */ {(11<<2)|2,{53,116,0}}, +/* 27962 */ {(11<<2)|2,{53,116,0}}, +/* 27963 */ {(11<<2)|2,{53,116,0}}, +/* 27964 */ {(11<<2)|2,{53,116,0}}, +/* 27965 */ {(11<<2)|2,{53,116,0}}, +/* 27966 */ {(11<<2)|2,{53,116,0}}, +/* 27967 */ {(11<<2)|2,{53,116,0}}, +/* 27968 */ {(12<<2)|2,{53,32,0}}, +/* 27969 */ {(12<<2)|2,{53,32,0}}, +/* 27970 */ {(12<<2)|2,{53,32,0}}, +/* 27971 */ {(12<<2)|2,{53,32,0}}, +/* 27972 */ {(12<<2)|2,{53,32,0}}, +/* 27973 */ {(12<<2)|2,{53,32,0}}, +/* 27974 */ {(12<<2)|2,{53,32,0}}, +/* 27975 */ {(12<<2)|2,{53,32,0}}, +/* 27976 */ {(12<<2)|2,{53,32,0}}, +/* 27977 */ {(12<<2)|2,{53,32,0}}, +/* 27978 */ {(12<<2)|2,{53,32,0}}, +/* 27979 */ {(12<<2)|2,{53,32,0}}, +/* 27980 */ {(12<<2)|2,{53,32,0}}, +/* 27981 */ {(12<<2)|2,{53,32,0}}, +/* 27982 */ {(12<<2)|2,{53,32,0}}, +/* 27983 */ {(12<<2)|2,{53,32,0}}, +/* 27984 */ {(12<<2)|2,{53,37,0}}, +/* 27985 */ {(12<<2)|2,{53,37,0}}, +/* 27986 */ {(12<<2)|2,{53,37,0}}, +/* 27987 */ {(12<<2)|2,{53,37,0}}, +/* 27988 */ {(12<<2)|2,{53,37,0}}, +/* 27989 */ {(12<<2)|2,{53,37,0}}, +/* 27990 */ {(12<<2)|2,{53,37,0}}, +/* 27991 */ {(12<<2)|2,{53,37,0}}, +/* 27992 */ {(12<<2)|2,{53,37,0}}, +/* 27993 */ {(12<<2)|2,{53,37,0}}, +/* 27994 */ {(12<<2)|2,{53,37,0}}, +/* 27995 */ {(12<<2)|2,{53,37,0}}, +/* 27996 */ {(12<<2)|2,{53,37,0}}, +/* 27997 */ {(12<<2)|2,{53,37,0}}, +/* 27998 */ {(12<<2)|2,{53,37,0}}, +/* 27999 */ {(12<<2)|2,{53,37,0}}, +/* 28000 */ {(12<<2)|2,{53,45,0}}, +/* 28001 */ {(12<<2)|2,{53,45,0}}, +/* 28002 */ {(12<<2)|2,{53,45,0}}, +/* 28003 */ {(12<<2)|2,{53,45,0}}, +/* 28004 */ {(12<<2)|2,{53,45,0}}, +/* 28005 */ {(12<<2)|2,{53,45,0}}, +/* 28006 */ {(12<<2)|2,{53,45,0}}, +/* 28007 */ {(12<<2)|2,{53,45,0}}, +/* 28008 */ {(12<<2)|2,{53,45,0}}, +/* 28009 */ {(12<<2)|2,{53,45,0}}, +/* 28010 */ {(12<<2)|2,{53,45,0}}, +/* 28011 */ {(12<<2)|2,{53,45,0}}, +/* 28012 */ {(12<<2)|2,{53,45,0}}, +/* 28013 */ {(12<<2)|2,{53,45,0}}, +/* 28014 */ {(12<<2)|2,{53,45,0}}, +/* 28015 */ {(12<<2)|2,{53,45,0}}, +/* 28016 */ {(12<<2)|2,{53,46,0}}, +/* 28017 */ {(12<<2)|2,{53,46,0}}, +/* 28018 */ {(12<<2)|2,{53,46,0}}, +/* 28019 */ {(12<<2)|2,{53,46,0}}, +/* 28020 */ {(12<<2)|2,{53,46,0}}, +/* 28021 */ {(12<<2)|2,{53,46,0}}, +/* 28022 */ {(12<<2)|2,{53,46,0}}, +/* 28023 */ {(12<<2)|2,{53,46,0}}, +/* 28024 */ {(12<<2)|2,{53,46,0}}, +/* 28025 */ {(12<<2)|2,{53,46,0}}, +/* 28026 */ {(12<<2)|2,{53,46,0}}, +/* 28027 */ {(12<<2)|2,{53,46,0}}, +/* 28028 */ {(12<<2)|2,{53,46,0}}, +/* 28029 */ {(12<<2)|2,{53,46,0}}, +/* 28030 */ {(12<<2)|2,{53,46,0}}, +/* 28031 */ {(12<<2)|2,{53,46,0}}, +/* 28032 */ {(12<<2)|2,{53,47,0}}, +/* 28033 */ {(12<<2)|2,{53,47,0}}, +/* 28034 */ {(12<<2)|2,{53,47,0}}, +/* 28035 */ {(12<<2)|2,{53,47,0}}, +/* 28036 */ {(12<<2)|2,{53,47,0}}, +/* 28037 */ {(12<<2)|2,{53,47,0}}, +/* 28038 */ {(12<<2)|2,{53,47,0}}, +/* 28039 */ {(12<<2)|2,{53,47,0}}, +/* 28040 */ {(12<<2)|2,{53,47,0}}, +/* 28041 */ {(12<<2)|2,{53,47,0}}, +/* 28042 */ {(12<<2)|2,{53,47,0}}, +/* 28043 */ {(12<<2)|2,{53,47,0}}, +/* 28044 */ {(12<<2)|2,{53,47,0}}, +/* 28045 */ {(12<<2)|2,{53,47,0}}, +/* 28046 */ {(12<<2)|2,{53,47,0}}, +/* 28047 */ {(12<<2)|2,{53,47,0}}, +/* 28048 */ {(12<<2)|2,{53,51,0}}, +/* 28049 */ {(12<<2)|2,{53,51,0}}, +/* 28050 */ {(12<<2)|2,{53,51,0}}, +/* 28051 */ {(12<<2)|2,{53,51,0}}, +/* 28052 */ {(12<<2)|2,{53,51,0}}, +/* 28053 */ {(12<<2)|2,{53,51,0}}, +/* 28054 */ {(12<<2)|2,{53,51,0}}, +/* 28055 */ {(12<<2)|2,{53,51,0}}, +/* 28056 */ {(12<<2)|2,{53,51,0}}, +/* 28057 */ {(12<<2)|2,{53,51,0}}, +/* 28058 */ {(12<<2)|2,{53,51,0}}, +/* 28059 */ {(12<<2)|2,{53,51,0}}, +/* 28060 */ {(12<<2)|2,{53,51,0}}, +/* 28061 */ {(12<<2)|2,{53,51,0}}, +/* 28062 */ {(12<<2)|2,{53,51,0}}, +/* 28063 */ {(12<<2)|2,{53,51,0}}, +/* 28064 */ {(12<<2)|2,{53,52,0}}, +/* 28065 */ {(12<<2)|2,{53,52,0}}, +/* 28066 */ {(12<<2)|2,{53,52,0}}, +/* 28067 */ {(12<<2)|2,{53,52,0}}, +/* 28068 */ {(12<<2)|2,{53,52,0}}, +/* 28069 */ {(12<<2)|2,{53,52,0}}, +/* 28070 */ {(12<<2)|2,{53,52,0}}, +/* 28071 */ {(12<<2)|2,{53,52,0}}, +/* 28072 */ {(12<<2)|2,{53,52,0}}, +/* 28073 */ {(12<<2)|2,{53,52,0}}, +/* 28074 */ {(12<<2)|2,{53,52,0}}, +/* 28075 */ {(12<<2)|2,{53,52,0}}, +/* 28076 */ {(12<<2)|2,{53,52,0}}, +/* 28077 */ {(12<<2)|2,{53,52,0}}, +/* 28078 */ {(12<<2)|2,{53,52,0}}, +/* 28079 */ {(12<<2)|2,{53,52,0}}, +/* 28080 */ {(12<<2)|2,{53,53,0}}, +/* 28081 */ {(12<<2)|2,{53,53,0}}, +/* 28082 */ {(12<<2)|2,{53,53,0}}, +/* 28083 */ {(12<<2)|2,{53,53,0}}, +/* 28084 */ {(12<<2)|2,{53,53,0}}, +/* 28085 */ {(12<<2)|2,{53,53,0}}, +/* 28086 */ {(12<<2)|2,{53,53,0}}, +/* 28087 */ {(12<<2)|2,{53,53,0}}, +/* 28088 */ {(12<<2)|2,{53,53,0}}, +/* 28089 */ {(12<<2)|2,{53,53,0}}, +/* 28090 */ {(12<<2)|2,{53,53,0}}, +/* 28091 */ {(12<<2)|2,{53,53,0}}, +/* 28092 */ {(12<<2)|2,{53,53,0}}, +/* 28093 */ {(12<<2)|2,{53,53,0}}, +/* 28094 */ {(12<<2)|2,{53,53,0}}, +/* 28095 */ {(12<<2)|2,{53,53,0}}, +/* 28096 */ {(12<<2)|2,{53,54,0}}, +/* 28097 */ {(12<<2)|2,{53,54,0}}, +/* 28098 */ {(12<<2)|2,{53,54,0}}, +/* 28099 */ {(12<<2)|2,{53,54,0}}, +/* 28100 */ {(12<<2)|2,{53,54,0}}, +/* 28101 */ {(12<<2)|2,{53,54,0}}, +/* 28102 */ {(12<<2)|2,{53,54,0}}, +/* 28103 */ {(12<<2)|2,{53,54,0}}, +/* 28104 */ {(12<<2)|2,{53,54,0}}, +/* 28105 */ {(12<<2)|2,{53,54,0}}, +/* 28106 */ {(12<<2)|2,{53,54,0}}, +/* 28107 */ {(12<<2)|2,{53,54,0}}, +/* 28108 */ {(12<<2)|2,{53,54,0}}, +/* 28109 */ {(12<<2)|2,{53,54,0}}, +/* 28110 */ {(12<<2)|2,{53,54,0}}, +/* 28111 */ {(12<<2)|2,{53,54,0}}, +/* 28112 */ {(12<<2)|2,{53,55,0}}, +/* 28113 */ {(12<<2)|2,{53,55,0}}, +/* 28114 */ {(12<<2)|2,{53,55,0}}, +/* 28115 */ {(12<<2)|2,{53,55,0}}, +/* 28116 */ {(12<<2)|2,{53,55,0}}, +/* 28117 */ {(12<<2)|2,{53,55,0}}, +/* 28118 */ {(12<<2)|2,{53,55,0}}, +/* 28119 */ {(12<<2)|2,{53,55,0}}, +/* 28120 */ {(12<<2)|2,{53,55,0}}, +/* 28121 */ {(12<<2)|2,{53,55,0}}, +/* 28122 */ {(12<<2)|2,{53,55,0}}, +/* 28123 */ {(12<<2)|2,{53,55,0}}, +/* 28124 */ {(12<<2)|2,{53,55,0}}, +/* 28125 */ {(12<<2)|2,{53,55,0}}, +/* 28126 */ {(12<<2)|2,{53,55,0}}, +/* 28127 */ {(12<<2)|2,{53,55,0}}, +/* 28128 */ {(12<<2)|2,{53,56,0}}, +/* 28129 */ {(12<<2)|2,{53,56,0}}, +/* 28130 */ {(12<<2)|2,{53,56,0}}, +/* 28131 */ {(12<<2)|2,{53,56,0}}, +/* 28132 */ {(12<<2)|2,{53,56,0}}, +/* 28133 */ {(12<<2)|2,{53,56,0}}, +/* 28134 */ {(12<<2)|2,{53,56,0}}, +/* 28135 */ {(12<<2)|2,{53,56,0}}, +/* 28136 */ {(12<<2)|2,{53,56,0}}, +/* 28137 */ {(12<<2)|2,{53,56,0}}, +/* 28138 */ {(12<<2)|2,{53,56,0}}, +/* 28139 */ {(12<<2)|2,{53,56,0}}, +/* 28140 */ {(12<<2)|2,{53,56,0}}, +/* 28141 */ {(12<<2)|2,{53,56,0}}, +/* 28142 */ {(12<<2)|2,{53,56,0}}, +/* 28143 */ {(12<<2)|2,{53,56,0}}, +/* 28144 */ {(12<<2)|2,{53,57,0}}, +/* 28145 */ {(12<<2)|2,{53,57,0}}, +/* 28146 */ {(12<<2)|2,{53,57,0}}, +/* 28147 */ {(12<<2)|2,{53,57,0}}, +/* 28148 */ {(12<<2)|2,{53,57,0}}, +/* 28149 */ {(12<<2)|2,{53,57,0}}, +/* 28150 */ {(12<<2)|2,{53,57,0}}, +/* 28151 */ {(12<<2)|2,{53,57,0}}, +/* 28152 */ {(12<<2)|2,{53,57,0}}, +/* 28153 */ {(12<<2)|2,{53,57,0}}, +/* 28154 */ {(12<<2)|2,{53,57,0}}, +/* 28155 */ {(12<<2)|2,{53,57,0}}, +/* 28156 */ {(12<<2)|2,{53,57,0}}, +/* 28157 */ {(12<<2)|2,{53,57,0}}, +/* 28158 */ {(12<<2)|2,{53,57,0}}, +/* 28159 */ {(12<<2)|2,{53,57,0}}, +/* 28160 */ {(12<<2)|2,{53,61,0}}, +/* 28161 */ {(12<<2)|2,{53,61,0}}, +/* 28162 */ {(12<<2)|2,{53,61,0}}, +/* 28163 */ {(12<<2)|2,{53,61,0}}, +/* 28164 */ {(12<<2)|2,{53,61,0}}, +/* 28165 */ {(12<<2)|2,{53,61,0}}, +/* 28166 */ {(12<<2)|2,{53,61,0}}, +/* 28167 */ {(12<<2)|2,{53,61,0}}, +/* 28168 */ {(12<<2)|2,{53,61,0}}, +/* 28169 */ {(12<<2)|2,{53,61,0}}, +/* 28170 */ {(12<<2)|2,{53,61,0}}, +/* 28171 */ {(12<<2)|2,{53,61,0}}, +/* 28172 */ {(12<<2)|2,{53,61,0}}, +/* 28173 */ {(12<<2)|2,{53,61,0}}, +/* 28174 */ {(12<<2)|2,{53,61,0}}, +/* 28175 */ {(12<<2)|2,{53,61,0}}, +/* 28176 */ {(12<<2)|2,{53,65,0}}, +/* 28177 */ {(12<<2)|2,{53,65,0}}, +/* 28178 */ {(12<<2)|2,{53,65,0}}, +/* 28179 */ {(12<<2)|2,{53,65,0}}, +/* 28180 */ {(12<<2)|2,{53,65,0}}, +/* 28181 */ {(12<<2)|2,{53,65,0}}, +/* 28182 */ {(12<<2)|2,{53,65,0}}, +/* 28183 */ {(12<<2)|2,{53,65,0}}, +/* 28184 */ {(12<<2)|2,{53,65,0}}, +/* 28185 */ {(12<<2)|2,{53,65,0}}, +/* 28186 */ {(12<<2)|2,{53,65,0}}, +/* 28187 */ {(12<<2)|2,{53,65,0}}, +/* 28188 */ {(12<<2)|2,{53,65,0}}, +/* 28189 */ {(12<<2)|2,{53,65,0}}, +/* 28190 */ {(12<<2)|2,{53,65,0}}, +/* 28191 */ {(12<<2)|2,{53,65,0}}, +/* 28192 */ {(12<<2)|2,{53,95,0}}, +/* 28193 */ {(12<<2)|2,{53,95,0}}, +/* 28194 */ {(12<<2)|2,{53,95,0}}, +/* 28195 */ {(12<<2)|2,{53,95,0}}, +/* 28196 */ {(12<<2)|2,{53,95,0}}, +/* 28197 */ {(12<<2)|2,{53,95,0}}, +/* 28198 */ {(12<<2)|2,{53,95,0}}, +/* 28199 */ {(12<<2)|2,{53,95,0}}, +/* 28200 */ {(12<<2)|2,{53,95,0}}, +/* 28201 */ {(12<<2)|2,{53,95,0}}, +/* 28202 */ {(12<<2)|2,{53,95,0}}, +/* 28203 */ {(12<<2)|2,{53,95,0}}, +/* 28204 */ {(12<<2)|2,{53,95,0}}, +/* 28205 */ {(12<<2)|2,{53,95,0}}, +/* 28206 */ {(12<<2)|2,{53,95,0}}, +/* 28207 */ {(12<<2)|2,{53,95,0}}, +/* 28208 */ {(12<<2)|2,{53,98,0}}, +/* 28209 */ {(12<<2)|2,{53,98,0}}, +/* 28210 */ {(12<<2)|2,{53,98,0}}, +/* 28211 */ {(12<<2)|2,{53,98,0}}, +/* 28212 */ {(12<<2)|2,{53,98,0}}, +/* 28213 */ {(12<<2)|2,{53,98,0}}, +/* 28214 */ {(12<<2)|2,{53,98,0}}, +/* 28215 */ {(12<<2)|2,{53,98,0}}, +/* 28216 */ {(12<<2)|2,{53,98,0}}, +/* 28217 */ {(12<<2)|2,{53,98,0}}, +/* 28218 */ {(12<<2)|2,{53,98,0}}, +/* 28219 */ {(12<<2)|2,{53,98,0}}, +/* 28220 */ {(12<<2)|2,{53,98,0}}, +/* 28221 */ {(12<<2)|2,{53,98,0}}, +/* 28222 */ {(12<<2)|2,{53,98,0}}, +/* 28223 */ {(12<<2)|2,{53,98,0}}, +/* 28224 */ {(12<<2)|2,{53,100,0}}, +/* 28225 */ {(12<<2)|2,{53,100,0}}, +/* 28226 */ {(12<<2)|2,{53,100,0}}, +/* 28227 */ {(12<<2)|2,{53,100,0}}, +/* 28228 */ {(12<<2)|2,{53,100,0}}, +/* 28229 */ {(12<<2)|2,{53,100,0}}, +/* 28230 */ {(12<<2)|2,{53,100,0}}, +/* 28231 */ {(12<<2)|2,{53,100,0}}, +/* 28232 */ {(12<<2)|2,{53,100,0}}, +/* 28233 */ {(12<<2)|2,{53,100,0}}, +/* 28234 */ {(12<<2)|2,{53,100,0}}, +/* 28235 */ {(12<<2)|2,{53,100,0}}, +/* 28236 */ {(12<<2)|2,{53,100,0}}, +/* 28237 */ {(12<<2)|2,{53,100,0}}, +/* 28238 */ {(12<<2)|2,{53,100,0}}, +/* 28239 */ {(12<<2)|2,{53,100,0}}, +/* 28240 */ {(12<<2)|2,{53,102,0}}, +/* 28241 */ {(12<<2)|2,{53,102,0}}, +/* 28242 */ {(12<<2)|2,{53,102,0}}, +/* 28243 */ {(12<<2)|2,{53,102,0}}, +/* 28244 */ {(12<<2)|2,{53,102,0}}, +/* 28245 */ {(12<<2)|2,{53,102,0}}, +/* 28246 */ {(12<<2)|2,{53,102,0}}, +/* 28247 */ {(12<<2)|2,{53,102,0}}, +/* 28248 */ {(12<<2)|2,{53,102,0}}, +/* 28249 */ {(12<<2)|2,{53,102,0}}, +/* 28250 */ {(12<<2)|2,{53,102,0}}, +/* 28251 */ {(12<<2)|2,{53,102,0}}, +/* 28252 */ {(12<<2)|2,{53,102,0}}, +/* 28253 */ {(12<<2)|2,{53,102,0}}, +/* 28254 */ {(12<<2)|2,{53,102,0}}, +/* 28255 */ {(12<<2)|2,{53,102,0}}, +/* 28256 */ {(12<<2)|2,{53,103,0}}, +/* 28257 */ {(12<<2)|2,{53,103,0}}, +/* 28258 */ {(12<<2)|2,{53,103,0}}, +/* 28259 */ {(12<<2)|2,{53,103,0}}, +/* 28260 */ {(12<<2)|2,{53,103,0}}, +/* 28261 */ {(12<<2)|2,{53,103,0}}, +/* 28262 */ {(12<<2)|2,{53,103,0}}, +/* 28263 */ {(12<<2)|2,{53,103,0}}, +/* 28264 */ {(12<<2)|2,{53,103,0}}, +/* 28265 */ {(12<<2)|2,{53,103,0}}, +/* 28266 */ {(12<<2)|2,{53,103,0}}, +/* 28267 */ {(12<<2)|2,{53,103,0}}, +/* 28268 */ {(12<<2)|2,{53,103,0}}, +/* 28269 */ {(12<<2)|2,{53,103,0}}, +/* 28270 */ {(12<<2)|2,{53,103,0}}, +/* 28271 */ {(12<<2)|2,{53,103,0}}, +/* 28272 */ {(12<<2)|2,{53,104,0}}, +/* 28273 */ {(12<<2)|2,{53,104,0}}, +/* 28274 */ {(12<<2)|2,{53,104,0}}, +/* 28275 */ {(12<<2)|2,{53,104,0}}, +/* 28276 */ {(12<<2)|2,{53,104,0}}, +/* 28277 */ {(12<<2)|2,{53,104,0}}, +/* 28278 */ {(12<<2)|2,{53,104,0}}, +/* 28279 */ {(12<<2)|2,{53,104,0}}, +/* 28280 */ {(12<<2)|2,{53,104,0}}, +/* 28281 */ {(12<<2)|2,{53,104,0}}, +/* 28282 */ {(12<<2)|2,{53,104,0}}, +/* 28283 */ {(12<<2)|2,{53,104,0}}, +/* 28284 */ {(12<<2)|2,{53,104,0}}, +/* 28285 */ {(12<<2)|2,{53,104,0}}, +/* 28286 */ {(12<<2)|2,{53,104,0}}, +/* 28287 */ {(12<<2)|2,{53,104,0}}, +/* 28288 */ {(12<<2)|2,{53,108,0}}, +/* 28289 */ {(12<<2)|2,{53,108,0}}, +/* 28290 */ {(12<<2)|2,{53,108,0}}, +/* 28291 */ {(12<<2)|2,{53,108,0}}, +/* 28292 */ {(12<<2)|2,{53,108,0}}, +/* 28293 */ {(12<<2)|2,{53,108,0}}, +/* 28294 */ {(12<<2)|2,{53,108,0}}, +/* 28295 */ {(12<<2)|2,{53,108,0}}, +/* 28296 */ {(12<<2)|2,{53,108,0}}, +/* 28297 */ {(12<<2)|2,{53,108,0}}, +/* 28298 */ {(12<<2)|2,{53,108,0}}, +/* 28299 */ {(12<<2)|2,{53,108,0}}, +/* 28300 */ {(12<<2)|2,{53,108,0}}, +/* 28301 */ {(12<<2)|2,{53,108,0}}, +/* 28302 */ {(12<<2)|2,{53,108,0}}, +/* 28303 */ {(12<<2)|2,{53,108,0}}, +/* 28304 */ {(12<<2)|2,{53,109,0}}, +/* 28305 */ {(12<<2)|2,{53,109,0}}, +/* 28306 */ {(12<<2)|2,{53,109,0}}, +/* 28307 */ {(12<<2)|2,{53,109,0}}, +/* 28308 */ {(12<<2)|2,{53,109,0}}, +/* 28309 */ {(12<<2)|2,{53,109,0}}, +/* 28310 */ {(12<<2)|2,{53,109,0}}, +/* 28311 */ {(12<<2)|2,{53,109,0}}, +/* 28312 */ {(12<<2)|2,{53,109,0}}, +/* 28313 */ {(12<<2)|2,{53,109,0}}, +/* 28314 */ {(12<<2)|2,{53,109,0}}, +/* 28315 */ {(12<<2)|2,{53,109,0}}, +/* 28316 */ {(12<<2)|2,{53,109,0}}, +/* 28317 */ {(12<<2)|2,{53,109,0}}, +/* 28318 */ {(12<<2)|2,{53,109,0}}, +/* 28319 */ {(12<<2)|2,{53,109,0}}, +/* 28320 */ {(12<<2)|2,{53,110,0}}, +/* 28321 */ {(12<<2)|2,{53,110,0}}, +/* 28322 */ {(12<<2)|2,{53,110,0}}, +/* 28323 */ {(12<<2)|2,{53,110,0}}, +/* 28324 */ {(12<<2)|2,{53,110,0}}, +/* 28325 */ {(12<<2)|2,{53,110,0}}, +/* 28326 */ {(12<<2)|2,{53,110,0}}, +/* 28327 */ {(12<<2)|2,{53,110,0}}, +/* 28328 */ {(12<<2)|2,{53,110,0}}, +/* 28329 */ {(12<<2)|2,{53,110,0}}, +/* 28330 */ {(12<<2)|2,{53,110,0}}, +/* 28331 */ {(12<<2)|2,{53,110,0}}, +/* 28332 */ {(12<<2)|2,{53,110,0}}, +/* 28333 */ {(12<<2)|2,{53,110,0}}, +/* 28334 */ {(12<<2)|2,{53,110,0}}, +/* 28335 */ {(12<<2)|2,{53,110,0}}, +/* 28336 */ {(12<<2)|2,{53,112,0}}, +/* 28337 */ {(12<<2)|2,{53,112,0}}, +/* 28338 */ {(12<<2)|2,{53,112,0}}, +/* 28339 */ {(12<<2)|2,{53,112,0}}, +/* 28340 */ {(12<<2)|2,{53,112,0}}, +/* 28341 */ {(12<<2)|2,{53,112,0}}, +/* 28342 */ {(12<<2)|2,{53,112,0}}, +/* 28343 */ {(12<<2)|2,{53,112,0}}, +/* 28344 */ {(12<<2)|2,{53,112,0}}, +/* 28345 */ {(12<<2)|2,{53,112,0}}, +/* 28346 */ {(12<<2)|2,{53,112,0}}, +/* 28347 */ {(12<<2)|2,{53,112,0}}, +/* 28348 */ {(12<<2)|2,{53,112,0}}, +/* 28349 */ {(12<<2)|2,{53,112,0}}, +/* 28350 */ {(12<<2)|2,{53,112,0}}, +/* 28351 */ {(12<<2)|2,{53,112,0}}, +/* 28352 */ {(12<<2)|2,{53,114,0}}, +/* 28353 */ {(12<<2)|2,{53,114,0}}, +/* 28354 */ {(12<<2)|2,{53,114,0}}, +/* 28355 */ {(12<<2)|2,{53,114,0}}, +/* 28356 */ {(12<<2)|2,{53,114,0}}, +/* 28357 */ {(12<<2)|2,{53,114,0}}, +/* 28358 */ {(12<<2)|2,{53,114,0}}, +/* 28359 */ {(12<<2)|2,{53,114,0}}, +/* 28360 */ {(12<<2)|2,{53,114,0}}, +/* 28361 */ {(12<<2)|2,{53,114,0}}, +/* 28362 */ {(12<<2)|2,{53,114,0}}, +/* 28363 */ {(12<<2)|2,{53,114,0}}, +/* 28364 */ {(12<<2)|2,{53,114,0}}, +/* 28365 */ {(12<<2)|2,{53,114,0}}, +/* 28366 */ {(12<<2)|2,{53,114,0}}, +/* 28367 */ {(12<<2)|2,{53,114,0}}, +/* 28368 */ {(12<<2)|2,{53,117,0}}, +/* 28369 */ {(12<<2)|2,{53,117,0}}, +/* 28370 */ {(12<<2)|2,{53,117,0}}, +/* 28371 */ {(12<<2)|2,{53,117,0}}, +/* 28372 */ {(12<<2)|2,{53,117,0}}, +/* 28373 */ {(12<<2)|2,{53,117,0}}, +/* 28374 */ {(12<<2)|2,{53,117,0}}, +/* 28375 */ {(12<<2)|2,{53,117,0}}, +/* 28376 */ {(12<<2)|2,{53,117,0}}, +/* 28377 */ {(12<<2)|2,{53,117,0}}, +/* 28378 */ {(12<<2)|2,{53,117,0}}, +/* 28379 */ {(12<<2)|2,{53,117,0}}, +/* 28380 */ {(12<<2)|2,{53,117,0}}, +/* 28381 */ {(12<<2)|2,{53,117,0}}, +/* 28382 */ {(12<<2)|2,{53,117,0}}, +/* 28383 */ {(12<<2)|2,{53,117,0}}, +/* 28384 */ {(13<<2)|2,{53,58,0}}, +/* 28385 */ {(13<<2)|2,{53,58,0}}, +/* 28386 */ {(13<<2)|2,{53,58,0}}, +/* 28387 */ {(13<<2)|2,{53,58,0}}, +/* 28388 */ {(13<<2)|2,{53,58,0}}, +/* 28389 */ {(13<<2)|2,{53,58,0}}, +/* 28390 */ {(13<<2)|2,{53,58,0}}, +/* 28391 */ {(13<<2)|2,{53,58,0}}, +/* 28392 */ {(13<<2)|2,{53,66,0}}, +/* 28393 */ {(13<<2)|2,{53,66,0}}, +/* 28394 */ {(13<<2)|2,{53,66,0}}, +/* 28395 */ {(13<<2)|2,{53,66,0}}, +/* 28396 */ {(13<<2)|2,{53,66,0}}, +/* 28397 */ {(13<<2)|2,{53,66,0}}, +/* 28398 */ {(13<<2)|2,{53,66,0}}, +/* 28399 */ {(13<<2)|2,{53,66,0}}, +/* 28400 */ {(13<<2)|2,{53,67,0}}, +/* 28401 */ {(13<<2)|2,{53,67,0}}, +/* 28402 */ {(13<<2)|2,{53,67,0}}, +/* 28403 */ {(13<<2)|2,{53,67,0}}, +/* 28404 */ {(13<<2)|2,{53,67,0}}, +/* 28405 */ {(13<<2)|2,{53,67,0}}, +/* 28406 */ {(13<<2)|2,{53,67,0}}, +/* 28407 */ {(13<<2)|2,{53,67,0}}, +/* 28408 */ {(13<<2)|2,{53,68,0}}, +/* 28409 */ {(13<<2)|2,{53,68,0}}, +/* 28410 */ {(13<<2)|2,{53,68,0}}, +/* 28411 */ {(13<<2)|2,{53,68,0}}, +/* 28412 */ {(13<<2)|2,{53,68,0}}, +/* 28413 */ {(13<<2)|2,{53,68,0}}, +/* 28414 */ {(13<<2)|2,{53,68,0}}, +/* 28415 */ {(13<<2)|2,{53,68,0}}, +/* 28416 */ {(13<<2)|2,{53,69,0}}, +/* 28417 */ {(13<<2)|2,{53,69,0}}, +/* 28418 */ {(13<<2)|2,{53,69,0}}, +/* 28419 */ {(13<<2)|2,{53,69,0}}, +/* 28420 */ {(13<<2)|2,{53,69,0}}, +/* 28421 */ {(13<<2)|2,{53,69,0}}, +/* 28422 */ {(13<<2)|2,{53,69,0}}, +/* 28423 */ {(13<<2)|2,{53,69,0}}, +/* 28424 */ {(13<<2)|2,{53,70,0}}, +/* 28425 */ {(13<<2)|2,{53,70,0}}, +/* 28426 */ {(13<<2)|2,{53,70,0}}, +/* 28427 */ {(13<<2)|2,{53,70,0}}, +/* 28428 */ {(13<<2)|2,{53,70,0}}, +/* 28429 */ {(13<<2)|2,{53,70,0}}, +/* 28430 */ {(13<<2)|2,{53,70,0}}, +/* 28431 */ {(13<<2)|2,{53,70,0}}, +/* 28432 */ {(13<<2)|2,{53,71,0}}, +/* 28433 */ {(13<<2)|2,{53,71,0}}, +/* 28434 */ {(13<<2)|2,{53,71,0}}, +/* 28435 */ {(13<<2)|2,{53,71,0}}, +/* 28436 */ {(13<<2)|2,{53,71,0}}, +/* 28437 */ {(13<<2)|2,{53,71,0}}, +/* 28438 */ {(13<<2)|2,{53,71,0}}, +/* 28439 */ {(13<<2)|2,{53,71,0}}, +/* 28440 */ {(13<<2)|2,{53,72,0}}, +/* 28441 */ {(13<<2)|2,{53,72,0}}, +/* 28442 */ {(13<<2)|2,{53,72,0}}, +/* 28443 */ {(13<<2)|2,{53,72,0}}, +/* 28444 */ {(13<<2)|2,{53,72,0}}, +/* 28445 */ {(13<<2)|2,{53,72,0}}, +/* 28446 */ {(13<<2)|2,{53,72,0}}, +/* 28447 */ {(13<<2)|2,{53,72,0}}, +/* 28448 */ {(13<<2)|2,{53,73,0}}, +/* 28449 */ {(13<<2)|2,{53,73,0}}, +/* 28450 */ {(13<<2)|2,{53,73,0}}, +/* 28451 */ {(13<<2)|2,{53,73,0}}, +/* 28452 */ {(13<<2)|2,{53,73,0}}, +/* 28453 */ {(13<<2)|2,{53,73,0}}, +/* 28454 */ {(13<<2)|2,{53,73,0}}, +/* 28455 */ {(13<<2)|2,{53,73,0}}, +/* 28456 */ {(13<<2)|2,{53,74,0}}, +/* 28457 */ {(13<<2)|2,{53,74,0}}, +/* 28458 */ {(13<<2)|2,{53,74,0}}, +/* 28459 */ {(13<<2)|2,{53,74,0}}, +/* 28460 */ {(13<<2)|2,{53,74,0}}, +/* 28461 */ {(13<<2)|2,{53,74,0}}, +/* 28462 */ {(13<<2)|2,{53,74,0}}, +/* 28463 */ {(13<<2)|2,{53,74,0}}, +/* 28464 */ {(13<<2)|2,{53,75,0}}, +/* 28465 */ {(13<<2)|2,{53,75,0}}, +/* 28466 */ {(13<<2)|2,{53,75,0}}, +/* 28467 */ {(13<<2)|2,{53,75,0}}, +/* 28468 */ {(13<<2)|2,{53,75,0}}, +/* 28469 */ {(13<<2)|2,{53,75,0}}, +/* 28470 */ {(13<<2)|2,{53,75,0}}, +/* 28471 */ {(13<<2)|2,{53,75,0}}, +/* 28472 */ {(13<<2)|2,{53,76,0}}, +/* 28473 */ {(13<<2)|2,{53,76,0}}, +/* 28474 */ {(13<<2)|2,{53,76,0}}, +/* 28475 */ {(13<<2)|2,{53,76,0}}, +/* 28476 */ {(13<<2)|2,{53,76,0}}, +/* 28477 */ {(13<<2)|2,{53,76,0}}, +/* 28478 */ {(13<<2)|2,{53,76,0}}, +/* 28479 */ {(13<<2)|2,{53,76,0}}, +/* 28480 */ {(13<<2)|2,{53,77,0}}, +/* 28481 */ {(13<<2)|2,{53,77,0}}, +/* 28482 */ {(13<<2)|2,{53,77,0}}, +/* 28483 */ {(13<<2)|2,{53,77,0}}, +/* 28484 */ {(13<<2)|2,{53,77,0}}, +/* 28485 */ {(13<<2)|2,{53,77,0}}, +/* 28486 */ {(13<<2)|2,{53,77,0}}, +/* 28487 */ {(13<<2)|2,{53,77,0}}, +/* 28488 */ {(13<<2)|2,{53,78,0}}, +/* 28489 */ {(13<<2)|2,{53,78,0}}, +/* 28490 */ {(13<<2)|2,{53,78,0}}, +/* 28491 */ {(13<<2)|2,{53,78,0}}, +/* 28492 */ {(13<<2)|2,{53,78,0}}, +/* 28493 */ {(13<<2)|2,{53,78,0}}, +/* 28494 */ {(13<<2)|2,{53,78,0}}, +/* 28495 */ {(13<<2)|2,{53,78,0}}, +/* 28496 */ {(13<<2)|2,{53,79,0}}, +/* 28497 */ {(13<<2)|2,{53,79,0}}, +/* 28498 */ {(13<<2)|2,{53,79,0}}, +/* 28499 */ {(13<<2)|2,{53,79,0}}, +/* 28500 */ {(13<<2)|2,{53,79,0}}, +/* 28501 */ {(13<<2)|2,{53,79,0}}, +/* 28502 */ {(13<<2)|2,{53,79,0}}, +/* 28503 */ {(13<<2)|2,{53,79,0}}, +/* 28504 */ {(13<<2)|2,{53,80,0}}, +/* 28505 */ {(13<<2)|2,{53,80,0}}, +/* 28506 */ {(13<<2)|2,{53,80,0}}, +/* 28507 */ {(13<<2)|2,{53,80,0}}, +/* 28508 */ {(13<<2)|2,{53,80,0}}, +/* 28509 */ {(13<<2)|2,{53,80,0}}, +/* 28510 */ {(13<<2)|2,{53,80,0}}, +/* 28511 */ {(13<<2)|2,{53,80,0}}, +/* 28512 */ {(13<<2)|2,{53,81,0}}, +/* 28513 */ {(13<<2)|2,{53,81,0}}, +/* 28514 */ {(13<<2)|2,{53,81,0}}, +/* 28515 */ {(13<<2)|2,{53,81,0}}, +/* 28516 */ {(13<<2)|2,{53,81,0}}, +/* 28517 */ {(13<<2)|2,{53,81,0}}, +/* 28518 */ {(13<<2)|2,{53,81,0}}, +/* 28519 */ {(13<<2)|2,{53,81,0}}, +/* 28520 */ {(13<<2)|2,{53,82,0}}, +/* 28521 */ {(13<<2)|2,{53,82,0}}, +/* 28522 */ {(13<<2)|2,{53,82,0}}, +/* 28523 */ {(13<<2)|2,{53,82,0}}, +/* 28524 */ {(13<<2)|2,{53,82,0}}, +/* 28525 */ {(13<<2)|2,{53,82,0}}, +/* 28526 */ {(13<<2)|2,{53,82,0}}, +/* 28527 */ {(13<<2)|2,{53,82,0}}, +/* 28528 */ {(13<<2)|2,{53,83,0}}, +/* 28529 */ {(13<<2)|2,{53,83,0}}, +/* 28530 */ {(13<<2)|2,{53,83,0}}, +/* 28531 */ {(13<<2)|2,{53,83,0}}, +/* 28532 */ {(13<<2)|2,{53,83,0}}, +/* 28533 */ {(13<<2)|2,{53,83,0}}, +/* 28534 */ {(13<<2)|2,{53,83,0}}, +/* 28535 */ {(13<<2)|2,{53,83,0}}, +/* 28536 */ {(13<<2)|2,{53,84,0}}, +/* 28537 */ {(13<<2)|2,{53,84,0}}, +/* 28538 */ {(13<<2)|2,{53,84,0}}, +/* 28539 */ {(13<<2)|2,{53,84,0}}, +/* 28540 */ {(13<<2)|2,{53,84,0}}, +/* 28541 */ {(13<<2)|2,{53,84,0}}, +/* 28542 */ {(13<<2)|2,{53,84,0}}, +/* 28543 */ {(13<<2)|2,{53,84,0}}, +/* 28544 */ {(13<<2)|2,{53,85,0}}, +/* 28545 */ {(13<<2)|2,{53,85,0}}, +/* 28546 */ {(13<<2)|2,{53,85,0}}, +/* 28547 */ {(13<<2)|2,{53,85,0}}, +/* 28548 */ {(13<<2)|2,{53,85,0}}, +/* 28549 */ {(13<<2)|2,{53,85,0}}, +/* 28550 */ {(13<<2)|2,{53,85,0}}, +/* 28551 */ {(13<<2)|2,{53,85,0}}, +/* 28552 */ {(13<<2)|2,{53,86,0}}, +/* 28553 */ {(13<<2)|2,{53,86,0}}, +/* 28554 */ {(13<<2)|2,{53,86,0}}, +/* 28555 */ {(13<<2)|2,{53,86,0}}, +/* 28556 */ {(13<<2)|2,{53,86,0}}, +/* 28557 */ {(13<<2)|2,{53,86,0}}, +/* 28558 */ {(13<<2)|2,{53,86,0}}, +/* 28559 */ {(13<<2)|2,{53,86,0}}, +/* 28560 */ {(13<<2)|2,{53,87,0}}, +/* 28561 */ {(13<<2)|2,{53,87,0}}, +/* 28562 */ {(13<<2)|2,{53,87,0}}, +/* 28563 */ {(13<<2)|2,{53,87,0}}, +/* 28564 */ {(13<<2)|2,{53,87,0}}, +/* 28565 */ {(13<<2)|2,{53,87,0}}, +/* 28566 */ {(13<<2)|2,{53,87,0}}, +/* 28567 */ {(13<<2)|2,{53,87,0}}, +/* 28568 */ {(13<<2)|2,{53,89,0}}, +/* 28569 */ {(13<<2)|2,{53,89,0}}, +/* 28570 */ {(13<<2)|2,{53,89,0}}, +/* 28571 */ {(13<<2)|2,{53,89,0}}, +/* 28572 */ {(13<<2)|2,{53,89,0}}, +/* 28573 */ {(13<<2)|2,{53,89,0}}, +/* 28574 */ {(13<<2)|2,{53,89,0}}, +/* 28575 */ {(13<<2)|2,{53,89,0}}, +/* 28576 */ {(13<<2)|2,{53,106,0}}, +/* 28577 */ {(13<<2)|2,{53,106,0}}, +/* 28578 */ {(13<<2)|2,{53,106,0}}, +/* 28579 */ {(13<<2)|2,{53,106,0}}, +/* 28580 */ {(13<<2)|2,{53,106,0}}, +/* 28581 */ {(13<<2)|2,{53,106,0}}, +/* 28582 */ {(13<<2)|2,{53,106,0}}, +/* 28583 */ {(13<<2)|2,{53,106,0}}, +/* 28584 */ {(13<<2)|2,{53,107,0}}, +/* 28585 */ {(13<<2)|2,{53,107,0}}, +/* 28586 */ {(13<<2)|2,{53,107,0}}, +/* 28587 */ {(13<<2)|2,{53,107,0}}, +/* 28588 */ {(13<<2)|2,{53,107,0}}, +/* 28589 */ {(13<<2)|2,{53,107,0}}, +/* 28590 */ {(13<<2)|2,{53,107,0}}, +/* 28591 */ {(13<<2)|2,{53,107,0}}, +/* 28592 */ {(13<<2)|2,{53,113,0}}, +/* 28593 */ {(13<<2)|2,{53,113,0}}, +/* 28594 */ {(13<<2)|2,{53,113,0}}, +/* 28595 */ {(13<<2)|2,{53,113,0}}, +/* 28596 */ {(13<<2)|2,{53,113,0}}, +/* 28597 */ {(13<<2)|2,{53,113,0}}, +/* 28598 */ {(13<<2)|2,{53,113,0}}, +/* 28599 */ {(13<<2)|2,{53,113,0}}, +/* 28600 */ {(13<<2)|2,{53,118,0}}, +/* 28601 */ {(13<<2)|2,{53,118,0}}, +/* 28602 */ {(13<<2)|2,{53,118,0}}, +/* 28603 */ {(13<<2)|2,{53,118,0}}, +/* 28604 */ {(13<<2)|2,{53,118,0}}, +/* 28605 */ {(13<<2)|2,{53,118,0}}, +/* 28606 */ {(13<<2)|2,{53,118,0}}, +/* 28607 */ {(13<<2)|2,{53,118,0}}, +/* 28608 */ {(13<<2)|2,{53,119,0}}, +/* 28609 */ {(13<<2)|2,{53,119,0}}, +/* 28610 */ {(13<<2)|2,{53,119,0}}, +/* 28611 */ {(13<<2)|2,{53,119,0}}, +/* 28612 */ {(13<<2)|2,{53,119,0}}, +/* 28613 */ {(13<<2)|2,{53,119,0}}, +/* 28614 */ {(13<<2)|2,{53,119,0}}, +/* 28615 */ {(13<<2)|2,{53,119,0}}, +/* 28616 */ {(13<<2)|2,{53,120,0}}, +/* 28617 */ {(13<<2)|2,{53,120,0}}, +/* 28618 */ {(13<<2)|2,{53,120,0}}, +/* 28619 */ {(13<<2)|2,{53,120,0}}, +/* 28620 */ {(13<<2)|2,{53,120,0}}, +/* 28621 */ {(13<<2)|2,{53,120,0}}, +/* 28622 */ {(13<<2)|2,{53,120,0}}, +/* 28623 */ {(13<<2)|2,{53,120,0}}, +/* 28624 */ {(13<<2)|2,{53,121,0}}, +/* 28625 */ {(13<<2)|2,{53,121,0}}, +/* 28626 */ {(13<<2)|2,{53,121,0}}, +/* 28627 */ {(13<<2)|2,{53,121,0}}, +/* 28628 */ {(13<<2)|2,{53,121,0}}, +/* 28629 */ {(13<<2)|2,{53,121,0}}, +/* 28630 */ {(13<<2)|2,{53,121,0}}, +/* 28631 */ {(13<<2)|2,{53,121,0}}, +/* 28632 */ {(13<<2)|2,{53,122,0}}, +/* 28633 */ {(13<<2)|2,{53,122,0}}, +/* 28634 */ {(13<<2)|2,{53,122,0}}, +/* 28635 */ {(13<<2)|2,{53,122,0}}, +/* 28636 */ {(13<<2)|2,{53,122,0}}, +/* 28637 */ {(13<<2)|2,{53,122,0}}, +/* 28638 */ {(13<<2)|2,{53,122,0}}, +/* 28639 */ {(13<<2)|2,{53,122,0}}, +/* 28640 */ {(14<<2)|2,{53,38,0}}, +/* 28641 */ {(14<<2)|2,{53,38,0}}, +/* 28642 */ {(14<<2)|2,{53,38,0}}, +/* 28643 */ {(14<<2)|2,{53,38,0}}, +/* 28644 */ {(14<<2)|2,{53,42,0}}, +/* 28645 */ {(14<<2)|2,{53,42,0}}, +/* 28646 */ {(14<<2)|2,{53,42,0}}, +/* 28647 */ {(14<<2)|2,{53,42,0}}, +/* 28648 */ {(14<<2)|2,{53,44,0}}, +/* 28649 */ {(14<<2)|2,{53,44,0}}, +/* 28650 */ {(14<<2)|2,{53,44,0}}, +/* 28651 */ {(14<<2)|2,{53,44,0}}, +/* 28652 */ {(14<<2)|2,{53,59,0}}, +/* 28653 */ {(14<<2)|2,{53,59,0}}, +/* 28654 */ {(14<<2)|2,{53,59,0}}, +/* 28655 */ {(14<<2)|2,{53,59,0}}, +/* 28656 */ {(14<<2)|2,{53,88,0}}, +/* 28657 */ {(14<<2)|2,{53,88,0}}, +/* 28658 */ {(14<<2)|2,{53,88,0}}, +/* 28659 */ {(14<<2)|2,{53,88,0}}, +/* 28660 */ {(14<<2)|2,{53,90,0}}, +/* 28661 */ {(14<<2)|2,{53,90,0}}, +/* 28662 */ {(14<<2)|2,{53,90,0}}, +/* 28663 */ {(14<<2)|2,{53,90,0}}, +/* 28664 */ {(16<<2)|2,{53,33,0}}, +/* 28665 */ {(16<<2)|2,{53,34,0}}, +/* 28666 */ {(16<<2)|2,{53,40,0}}, +/* 28667 */ {(16<<2)|2,{53,41,0}}, +/* 28668 */ {(16<<2)|2,{53,63,0}}, +/* 28669 */ {(6<<2)|1,{53,0,0}}, +/* 28670 */ {(6<<2)|1,{53,0,0}}, +/* 28671 */ {(6<<2)|1,{53,0,0}}, +/* 28672 */ {(16<<2)|3,{54,48,48}}, +/* 28673 */ {(16<<2)|3,{54,48,49}}, +/* 28674 */ {(16<<2)|3,{54,48,50}}, +/* 28675 */ {(16<<2)|3,{54,48,97}}, +/* 28676 */ {(16<<2)|3,{54,48,99}}, +/* 28677 */ {(16<<2)|3,{54,48,101}}, +/* 28678 */ {(16<<2)|3,{54,48,105}}, +/* 28679 */ {(16<<2)|3,{54,48,111}}, +/* 28680 */ {(16<<2)|3,{54,48,115}}, +/* 28681 */ {(16<<2)|3,{54,48,116}}, +/* 28682 */ {(11<<2)|2,{54,48,0}}, +/* 28683 */ {(11<<2)|2,{54,48,0}}, +/* 28684 */ {(11<<2)|2,{54,48,0}}, +/* 28685 */ {(11<<2)|2,{54,48,0}}, +/* 28686 */ {(11<<2)|2,{54,48,0}}, +/* 28687 */ {(11<<2)|2,{54,48,0}}, +/* 28688 */ {(11<<2)|2,{54,48,0}}, +/* 28689 */ {(11<<2)|2,{54,48,0}}, +/* 28690 */ {(11<<2)|2,{54,48,0}}, +/* 28691 */ {(11<<2)|2,{54,48,0}}, +/* 28692 */ {(11<<2)|2,{54,48,0}}, +/* 28693 */ {(11<<2)|2,{54,48,0}}, +/* 28694 */ {(11<<2)|2,{54,48,0}}, +/* 28695 */ {(11<<2)|2,{54,48,0}}, +/* 28696 */ {(11<<2)|2,{54,48,0}}, +/* 28697 */ {(11<<2)|2,{54,48,0}}, +/* 28698 */ {(11<<2)|2,{54,48,0}}, +/* 28699 */ {(11<<2)|2,{54,48,0}}, +/* 28700 */ {(11<<2)|2,{54,48,0}}, +/* 28701 */ {(11<<2)|2,{54,48,0}}, +/* 28702 */ {(11<<2)|2,{54,48,0}}, +/* 28703 */ {(11<<2)|2,{54,48,0}}, +/* 28704 */ {(16<<2)|3,{54,49,48}}, +/* 28705 */ {(16<<2)|3,{54,49,49}}, +/* 28706 */ {(16<<2)|3,{54,49,50}}, +/* 28707 */ {(16<<2)|3,{54,49,97}}, +/* 28708 */ {(16<<2)|3,{54,49,99}}, +/* 28709 */ {(16<<2)|3,{54,49,101}}, +/* 28710 */ {(16<<2)|3,{54,49,105}}, +/* 28711 */ {(16<<2)|3,{54,49,111}}, +/* 28712 */ {(16<<2)|3,{54,49,115}}, +/* 28713 */ {(16<<2)|3,{54,49,116}}, +/* 28714 */ {(11<<2)|2,{54,49,0}}, +/* 28715 */ {(11<<2)|2,{54,49,0}}, +/* 28716 */ {(11<<2)|2,{54,49,0}}, +/* 28717 */ {(11<<2)|2,{54,49,0}}, +/* 28718 */ {(11<<2)|2,{54,49,0}}, +/* 28719 */ {(11<<2)|2,{54,49,0}}, +/* 28720 */ {(11<<2)|2,{54,49,0}}, +/* 28721 */ {(11<<2)|2,{54,49,0}}, +/* 28722 */ {(11<<2)|2,{54,49,0}}, +/* 28723 */ {(11<<2)|2,{54,49,0}}, +/* 28724 */ {(11<<2)|2,{54,49,0}}, +/* 28725 */ {(11<<2)|2,{54,49,0}}, +/* 28726 */ {(11<<2)|2,{54,49,0}}, +/* 28727 */ {(11<<2)|2,{54,49,0}}, +/* 28728 */ {(11<<2)|2,{54,49,0}}, +/* 28729 */ {(11<<2)|2,{54,49,0}}, +/* 28730 */ {(11<<2)|2,{54,49,0}}, +/* 28731 */ {(11<<2)|2,{54,49,0}}, +/* 28732 */ {(11<<2)|2,{54,49,0}}, +/* 28733 */ {(11<<2)|2,{54,49,0}}, +/* 28734 */ {(11<<2)|2,{54,49,0}}, +/* 28735 */ {(11<<2)|2,{54,49,0}}, +/* 28736 */ {(16<<2)|3,{54,50,48}}, +/* 28737 */ {(16<<2)|3,{54,50,49}}, +/* 28738 */ {(16<<2)|3,{54,50,50}}, +/* 28739 */ {(16<<2)|3,{54,50,97}}, +/* 28740 */ {(16<<2)|3,{54,50,99}}, +/* 28741 */ {(16<<2)|3,{54,50,101}}, +/* 28742 */ {(16<<2)|3,{54,50,105}}, +/* 28743 */ {(16<<2)|3,{54,50,111}}, +/* 28744 */ {(16<<2)|3,{54,50,115}}, +/* 28745 */ {(16<<2)|3,{54,50,116}}, +/* 28746 */ {(11<<2)|2,{54,50,0}}, +/* 28747 */ {(11<<2)|2,{54,50,0}}, +/* 28748 */ {(11<<2)|2,{54,50,0}}, +/* 28749 */ {(11<<2)|2,{54,50,0}}, +/* 28750 */ {(11<<2)|2,{54,50,0}}, +/* 28751 */ {(11<<2)|2,{54,50,0}}, +/* 28752 */ {(11<<2)|2,{54,50,0}}, +/* 28753 */ {(11<<2)|2,{54,50,0}}, +/* 28754 */ {(11<<2)|2,{54,50,0}}, +/* 28755 */ {(11<<2)|2,{54,50,0}}, +/* 28756 */ {(11<<2)|2,{54,50,0}}, +/* 28757 */ {(11<<2)|2,{54,50,0}}, +/* 28758 */ {(11<<2)|2,{54,50,0}}, +/* 28759 */ {(11<<2)|2,{54,50,0}}, +/* 28760 */ {(11<<2)|2,{54,50,0}}, +/* 28761 */ {(11<<2)|2,{54,50,0}}, +/* 28762 */ {(11<<2)|2,{54,50,0}}, +/* 28763 */ {(11<<2)|2,{54,50,0}}, +/* 28764 */ {(11<<2)|2,{54,50,0}}, +/* 28765 */ {(11<<2)|2,{54,50,0}}, +/* 28766 */ {(11<<2)|2,{54,50,0}}, +/* 28767 */ {(11<<2)|2,{54,50,0}}, +/* 28768 */ {(16<<2)|3,{54,97,48}}, +/* 28769 */ {(16<<2)|3,{54,97,49}}, +/* 28770 */ {(16<<2)|3,{54,97,50}}, +/* 28771 */ {(16<<2)|3,{54,97,97}}, +/* 28772 */ {(16<<2)|3,{54,97,99}}, +/* 28773 */ {(16<<2)|3,{54,97,101}}, +/* 28774 */ {(16<<2)|3,{54,97,105}}, +/* 28775 */ {(16<<2)|3,{54,97,111}}, +/* 28776 */ {(16<<2)|3,{54,97,115}}, +/* 28777 */ {(16<<2)|3,{54,97,116}}, +/* 28778 */ {(11<<2)|2,{54,97,0}}, +/* 28779 */ {(11<<2)|2,{54,97,0}}, +/* 28780 */ {(11<<2)|2,{54,97,0}}, +/* 28781 */ {(11<<2)|2,{54,97,0}}, +/* 28782 */ {(11<<2)|2,{54,97,0}}, +/* 28783 */ {(11<<2)|2,{54,97,0}}, +/* 28784 */ {(11<<2)|2,{54,97,0}}, +/* 28785 */ {(11<<2)|2,{54,97,0}}, +/* 28786 */ {(11<<2)|2,{54,97,0}}, +/* 28787 */ {(11<<2)|2,{54,97,0}}, +/* 28788 */ {(11<<2)|2,{54,97,0}}, +/* 28789 */ {(11<<2)|2,{54,97,0}}, +/* 28790 */ {(11<<2)|2,{54,97,0}}, +/* 28791 */ {(11<<2)|2,{54,97,0}}, +/* 28792 */ {(11<<2)|2,{54,97,0}}, +/* 28793 */ {(11<<2)|2,{54,97,0}}, +/* 28794 */ {(11<<2)|2,{54,97,0}}, +/* 28795 */ {(11<<2)|2,{54,97,0}}, +/* 28796 */ {(11<<2)|2,{54,97,0}}, +/* 28797 */ {(11<<2)|2,{54,97,0}}, +/* 28798 */ {(11<<2)|2,{54,97,0}}, +/* 28799 */ {(11<<2)|2,{54,97,0}}, +/* 28800 */ {(16<<2)|3,{54,99,48}}, +/* 28801 */ {(16<<2)|3,{54,99,49}}, +/* 28802 */ {(16<<2)|3,{54,99,50}}, +/* 28803 */ {(16<<2)|3,{54,99,97}}, +/* 28804 */ {(16<<2)|3,{54,99,99}}, +/* 28805 */ {(16<<2)|3,{54,99,101}}, +/* 28806 */ {(16<<2)|3,{54,99,105}}, +/* 28807 */ {(16<<2)|3,{54,99,111}}, +/* 28808 */ {(16<<2)|3,{54,99,115}}, +/* 28809 */ {(16<<2)|3,{54,99,116}}, +/* 28810 */ {(11<<2)|2,{54,99,0}}, +/* 28811 */ {(11<<2)|2,{54,99,0}}, +/* 28812 */ {(11<<2)|2,{54,99,0}}, +/* 28813 */ {(11<<2)|2,{54,99,0}}, +/* 28814 */ {(11<<2)|2,{54,99,0}}, +/* 28815 */ {(11<<2)|2,{54,99,0}}, +/* 28816 */ {(11<<2)|2,{54,99,0}}, +/* 28817 */ {(11<<2)|2,{54,99,0}}, +/* 28818 */ {(11<<2)|2,{54,99,0}}, +/* 28819 */ {(11<<2)|2,{54,99,0}}, +/* 28820 */ {(11<<2)|2,{54,99,0}}, +/* 28821 */ {(11<<2)|2,{54,99,0}}, +/* 28822 */ {(11<<2)|2,{54,99,0}}, +/* 28823 */ {(11<<2)|2,{54,99,0}}, +/* 28824 */ {(11<<2)|2,{54,99,0}}, +/* 28825 */ {(11<<2)|2,{54,99,0}}, +/* 28826 */ {(11<<2)|2,{54,99,0}}, +/* 28827 */ {(11<<2)|2,{54,99,0}}, +/* 28828 */ {(11<<2)|2,{54,99,0}}, +/* 28829 */ {(11<<2)|2,{54,99,0}}, +/* 28830 */ {(11<<2)|2,{54,99,0}}, +/* 28831 */ {(11<<2)|2,{54,99,0}}, +/* 28832 */ {(16<<2)|3,{54,101,48}}, +/* 28833 */ {(16<<2)|3,{54,101,49}}, +/* 28834 */ {(16<<2)|3,{54,101,50}}, +/* 28835 */ {(16<<2)|3,{54,101,97}}, +/* 28836 */ {(16<<2)|3,{54,101,99}}, +/* 28837 */ {(16<<2)|3,{54,101,101}}, +/* 28838 */ {(16<<2)|3,{54,101,105}}, +/* 28839 */ {(16<<2)|3,{54,101,111}}, +/* 28840 */ {(16<<2)|3,{54,101,115}}, +/* 28841 */ {(16<<2)|3,{54,101,116}}, +/* 28842 */ {(11<<2)|2,{54,101,0}}, +/* 28843 */ {(11<<2)|2,{54,101,0}}, +/* 28844 */ {(11<<2)|2,{54,101,0}}, +/* 28845 */ {(11<<2)|2,{54,101,0}}, +/* 28846 */ {(11<<2)|2,{54,101,0}}, +/* 28847 */ {(11<<2)|2,{54,101,0}}, +/* 28848 */ {(11<<2)|2,{54,101,0}}, +/* 28849 */ {(11<<2)|2,{54,101,0}}, +/* 28850 */ {(11<<2)|2,{54,101,0}}, +/* 28851 */ {(11<<2)|2,{54,101,0}}, +/* 28852 */ {(11<<2)|2,{54,101,0}}, +/* 28853 */ {(11<<2)|2,{54,101,0}}, +/* 28854 */ {(11<<2)|2,{54,101,0}}, +/* 28855 */ {(11<<2)|2,{54,101,0}}, +/* 28856 */ {(11<<2)|2,{54,101,0}}, +/* 28857 */ {(11<<2)|2,{54,101,0}}, +/* 28858 */ {(11<<2)|2,{54,101,0}}, +/* 28859 */ {(11<<2)|2,{54,101,0}}, +/* 28860 */ {(11<<2)|2,{54,101,0}}, +/* 28861 */ {(11<<2)|2,{54,101,0}}, +/* 28862 */ {(11<<2)|2,{54,101,0}}, +/* 28863 */ {(11<<2)|2,{54,101,0}}, +/* 28864 */ {(16<<2)|3,{54,105,48}}, +/* 28865 */ {(16<<2)|3,{54,105,49}}, +/* 28866 */ {(16<<2)|3,{54,105,50}}, +/* 28867 */ {(16<<2)|3,{54,105,97}}, +/* 28868 */ {(16<<2)|3,{54,105,99}}, +/* 28869 */ {(16<<2)|3,{54,105,101}}, +/* 28870 */ {(16<<2)|3,{54,105,105}}, +/* 28871 */ {(16<<2)|3,{54,105,111}}, +/* 28872 */ {(16<<2)|3,{54,105,115}}, +/* 28873 */ {(16<<2)|3,{54,105,116}}, +/* 28874 */ {(11<<2)|2,{54,105,0}}, +/* 28875 */ {(11<<2)|2,{54,105,0}}, +/* 28876 */ {(11<<2)|2,{54,105,0}}, +/* 28877 */ {(11<<2)|2,{54,105,0}}, +/* 28878 */ {(11<<2)|2,{54,105,0}}, +/* 28879 */ {(11<<2)|2,{54,105,0}}, +/* 28880 */ {(11<<2)|2,{54,105,0}}, +/* 28881 */ {(11<<2)|2,{54,105,0}}, +/* 28882 */ {(11<<2)|2,{54,105,0}}, +/* 28883 */ {(11<<2)|2,{54,105,0}}, +/* 28884 */ {(11<<2)|2,{54,105,0}}, +/* 28885 */ {(11<<2)|2,{54,105,0}}, +/* 28886 */ {(11<<2)|2,{54,105,0}}, +/* 28887 */ {(11<<2)|2,{54,105,0}}, +/* 28888 */ {(11<<2)|2,{54,105,0}}, +/* 28889 */ {(11<<2)|2,{54,105,0}}, +/* 28890 */ {(11<<2)|2,{54,105,0}}, +/* 28891 */ {(11<<2)|2,{54,105,0}}, +/* 28892 */ {(11<<2)|2,{54,105,0}}, +/* 28893 */ {(11<<2)|2,{54,105,0}}, +/* 28894 */ {(11<<2)|2,{54,105,0}}, +/* 28895 */ {(11<<2)|2,{54,105,0}}, +/* 28896 */ {(16<<2)|3,{54,111,48}}, +/* 28897 */ {(16<<2)|3,{54,111,49}}, +/* 28898 */ {(16<<2)|3,{54,111,50}}, +/* 28899 */ {(16<<2)|3,{54,111,97}}, +/* 28900 */ {(16<<2)|3,{54,111,99}}, +/* 28901 */ {(16<<2)|3,{54,111,101}}, +/* 28902 */ {(16<<2)|3,{54,111,105}}, +/* 28903 */ {(16<<2)|3,{54,111,111}}, +/* 28904 */ {(16<<2)|3,{54,111,115}}, +/* 28905 */ {(16<<2)|3,{54,111,116}}, +/* 28906 */ {(11<<2)|2,{54,111,0}}, +/* 28907 */ {(11<<2)|2,{54,111,0}}, +/* 28908 */ {(11<<2)|2,{54,111,0}}, +/* 28909 */ {(11<<2)|2,{54,111,0}}, +/* 28910 */ {(11<<2)|2,{54,111,0}}, +/* 28911 */ {(11<<2)|2,{54,111,0}}, +/* 28912 */ {(11<<2)|2,{54,111,0}}, +/* 28913 */ {(11<<2)|2,{54,111,0}}, +/* 28914 */ {(11<<2)|2,{54,111,0}}, +/* 28915 */ {(11<<2)|2,{54,111,0}}, +/* 28916 */ {(11<<2)|2,{54,111,0}}, +/* 28917 */ {(11<<2)|2,{54,111,0}}, +/* 28918 */ {(11<<2)|2,{54,111,0}}, +/* 28919 */ {(11<<2)|2,{54,111,0}}, +/* 28920 */ {(11<<2)|2,{54,111,0}}, +/* 28921 */ {(11<<2)|2,{54,111,0}}, +/* 28922 */ {(11<<2)|2,{54,111,0}}, +/* 28923 */ {(11<<2)|2,{54,111,0}}, +/* 28924 */ {(11<<2)|2,{54,111,0}}, +/* 28925 */ {(11<<2)|2,{54,111,0}}, +/* 28926 */ {(11<<2)|2,{54,111,0}}, +/* 28927 */ {(11<<2)|2,{54,111,0}}, +/* 28928 */ {(16<<2)|3,{54,115,48}}, +/* 28929 */ {(16<<2)|3,{54,115,49}}, +/* 28930 */ {(16<<2)|3,{54,115,50}}, +/* 28931 */ {(16<<2)|3,{54,115,97}}, +/* 28932 */ {(16<<2)|3,{54,115,99}}, +/* 28933 */ {(16<<2)|3,{54,115,101}}, +/* 28934 */ {(16<<2)|3,{54,115,105}}, +/* 28935 */ {(16<<2)|3,{54,115,111}}, +/* 28936 */ {(16<<2)|3,{54,115,115}}, +/* 28937 */ {(16<<2)|3,{54,115,116}}, +/* 28938 */ {(11<<2)|2,{54,115,0}}, +/* 28939 */ {(11<<2)|2,{54,115,0}}, +/* 28940 */ {(11<<2)|2,{54,115,0}}, +/* 28941 */ {(11<<2)|2,{54,115,0}}, +/* 28942 */ {(11<<2)|2,{54,115,0}}, +/* 28943 */ {(11<<2)|2,{54,115,0}}, +/* 28944 */ {(11<<2)|2,{54,115,0}}, +/* 28945 */ {(11<<2)|2,{54,115,0}}, +/* 28946 */ {(11<<2)|2,{54,115,0}}, +/* 28947 */ {(11<<2)|2,{54,115,0}}, +/* 28948 */ {(11<<2)|2,{54,115,0}}, +/* 28949 */ {(11<<2)|2,{54,115,0}}, +/* 28950 */ {(11<<2)|2,{54,115,0}}, +/* 28951 */ {(11<<2)|2,{54,115,0}}, +/* 28952 */ {(11<<2)|2,{54,115,0}}, +/* 28953 */ {(11<<2)|2,{54,115,0}}, +/* 28954 */ {(11<<2)|2,{54,115,0}}, +/* 28955 */ {(11<<2)|2,{54,115,0}}, +/* 28956 */ {(11<<2)|2,{54,115,0}}, +/* 28957 */ {(11<<2)|2,{54,115,0}}, +/* 28958 */ {(11<<2)|2,{54,115,0}}, +/* 28959 */ {(11<<2)|2,{54,115,0}}, +/* 28960 */ {(16<<2)|3,{54,116,48}}, +/* 28961 */ {(16<<2)|3,{54,116,49}}, +/* 28962 */ {(16<<2)|3,{54,116,50}}, +/* 28963 */ {(16<<2)|3,{54,116,97}}, +/* 28964 */ {(16<<2)|3,{54,116,99}}, +/* 28965 */ {(16<<2)|3,{54,116,101}}, +/* 28966 */ {(16<<2)|3,{54,116,105}}, +/* 28967 */ {(16<<2)|3,{54,116,111}}, +/* 28968 */ {(16<<2)|3,{54,116,115}}, +/* 28969 */ {(16<<2)|3,{54,116,116}}, +/* 28970 */ {(11<<2)|2,{54,116,0}}, +/* 28971 */ {(11<<2)|2,{54,116,0}}, +/* 28972 */ {(11<<2)|2,{54,116,0}}, +/* 28973 */ {(11<<2)|2,{54,116,0}}, +/* 28974 */ {(11<<2)|2,{54,116,0}}, +/* 28975 */ {(11<<2)|2,{54,116,0}}, +/* 28976 */ {(11<<2)|2,{54,116,0}}, +/* 28977 */ {(11<<2)|2,{54,116,0}}, +/* 28978 */ {(11<<2)|2,{54,116,0}}, +/* 28979 */ {(11<<2)|2,{54,116,0}}, +/* 28980 */ {(11<<2)|2,{54,116,0}}, +/* 28981 */ {(11<<2)|2,{54,116,0}}, +/* 28982 */ {(11<<2)|2,{54,116,0}}, +/* 28983 */ {(11<<2)|2,{54,116,0}}, +/* 28984 */ {(11<<2)|2,{54,116,0}}, +/* 28985 */ {(11<<2)|2,{54,116,0}}, +/* 28986 */ {(11<<2)|2,{54,116,0}}, +/* 28987 */ {(11<<2)|2,{54,116,0}}, +/* 28988 */ {(11<<2)|2,{54,116,0}}, +/* 28989 */ {(11<<2)|2,{54,116,0}}, +/* 28990 */ {(11<<2)|2,{54,116,0}}, +/* 28991 */ {(11<<2)|2,{54,116,0}}, +/* 28992 */ {(12<<2)|2,{54,32,0}}, +/* 28993 */ {(12<<2)|2,{54,32,0}}, +/* 28994 */ {(12<<2)|2,{54,32,0}}, +/* 28995 */ {(12<<2)|2,{54,32,0}}, +/* 28996 */ {(12<<2)|2,{54,32,0}}, +/* 28997 */ {(12<<2)|2,{54,32,0}}, +/* 28998 */ {(12<<2)|2,{54,32,0}}, +/* 28999 */ {(12<<2)|2,{54,32,0}}, +/* 29000 */ {(12<<2)|2,{54,32,0}}, +/* 29001 */ {(12<<2)|2,{54,32,0}}, +/* 29002 */ {(12<<2)|2,{54,32,0}}, +/* 29003 */ {(12<<2)|2,{54,32,0}}, +/* 29004 */ {(12<<2)|2,{54,32,0}}, +/* 29005 */ {(12<<2)|2,{54,32,0}}, +/* 29006 */ {(12<<2)|2,{54,32,0}}, +/* 29007 */ {(12<<2)|2,{54,32,0}}, +/* 29008 */ {(12<<2)|2,{54,37,0}}, +/* 29009 */ {(12<<2)|2,{54,37,0}}, +/* 29010 */ {(12<<2)|2,{54,37,0}}, +/* 29011 */ {(12<<2)|2,{54,37,0}}, +/* 29012 */ {(12<<2)|2,{54,37,0}}, +/* 29013 */ {(12<<2)|2,{54,37,0}}, +/* 29014 */ {(12<<2)|2,{54,37,0}}, +/* 29015 */ {(12<<2)|2,{54,37,0}}, +/* 29016 */ {(12<<2)|2,{54,37,0}}, +/* 29017 */ {(12<<2)|2,{54,37,0}}, +/* 29018 */ {(12<<2)|2,{54,37,0}}, +/* 29019 */ {(12<<2)|2,{54,37,0}}, +/* 29020 */ {(12<<2)|2,{54,37,0}}, +/* 29021 */ {(12<<2)|2,{54,37,0}}, +/* 29022 */ {(12<<2)|2,{54,37,0}}, +/* 29023 */ {(12<<2)|2,{54,37,0}}, +/* 29024 */ {(12<<2)|2,{54,45,0}}, +/* 29025 */ {(12<<2)|2,{54,45,0}}, +/* 29026 */ {(12<<2)|2,{54,45,0}}, +/* 29027 */ {(12<<2)|2,{54,45,0}}, +/* 29028 */ {(12<<2)|2,{54,45,0}}, +/* 29029 */ {(12<<2)|2,{54,45,0}}, +/* 29030 */ {(12<<2)|2,{54,45,0}}, +/* 29031 */ {(12<<2)|2,{54,45,0}}, +/* 29032 */ {(12<<2)|2,{54,45,0}}, +/* 29033 */ {(12<<2)|2,{54,45,0}}, +/* 29034 */ {(12<<2)|2,{54,45,0}}, +/* 29035 */ {(12<<2)|2,{54,45,0}}, +/* 29036 */ {(12<<2)|2,{54,45,0}}, +/* 29037 */ {(12<<2)|2,{54,45,0}}, +/* 29038 */ {(12<<2)|2,{54,45,0}}, +/* 29039 */ {(12<<2)|2,{54,45,0}}, +/* 29040 */ {(12<<2)|2,{54,46,0}}, +/* 29041 */ {(12<<2)|2,{54,46,0}}, +/* 29042 */ {(12<<2)|2,{54,46,0}}, +/* 29043 */ {(12<<2)|2,{54,46,0}}, +/* 29044 */ {(12<<2)|2,{54,46,0}}, +/* 29045 */ {(12<<2)|2,{54,46,0}}, +/* 29046 */ {(12<<2)|2,{54,46,0}}, +/* 29047 */ {(12<<2)|2,{54,46,0}}, +/* 29048 */ {(12<<2)|2,{54,46,0}}, +/* 29049 */ {(12<<2)|2,{54,46,0}}, +/* 29050 */ {(12<<2)|2,{54,46,0}}, +/* 29051 */ {(12<<2)|2,{54,46,0}}, +/* 29052 */ {(12<<2)|2,{54,46,0}}, +/* 29053 */ {(12<<2)|2,{54,46,0}}, +/* 29054 */ {(12<<2)|2,{54,46,0}}, +/* 29055 */ {(12<<2)|2,{54,46,0}}, +/* 29056 */ {(12<<2)|2,{54,47,0}}, +/* 29057 */ {(12<<2)|2,{54,47,0}}, +/* 29058 */ {(12<<2)|2,{54,47,0}}, +/* 29059 */ {(12<<2)|2,{54,47,0}}, +/* 29060 */ {(12<<2)|2,{54,47,0}}, +/* 29061 */ {(12<<2)|2,{54,47,0}}, +/* 29062 */ {(12<<2)|2,{54,47,0}}, +/* 29063 */ {(12<<2)|2,{54,47,0}}, +/* 29064 */ {(12<<2)|2,{54,47,0}}, +/* 29065 */ {(12<<2)|2,{54,47,0}}, +/* 29066 */ {(12<<2)|2,{54,47,0}}, +/* 29067 */ {(12<<2)|2,{54,47,0}}, +/* 29068 */ {(12<<2)|2,{54,47,0}}, +/* 29069 */ {(12<<2)|2,{54,47,0}}, +/* 29070 */ {(12<<2)|2,{54,47,0}}, +/* 29071 */ {(12<<2)|2,{54,47,0}}, +/* 29072 */ {(12<<2)|2,{54,51,0}}, +/* 29073 */ {(12<<2)|2,{54,51,0}}, +/* 29074 */ {(12<<2)|2,{54,51,0}}, +/* 29075 */ {(12<<2)|2,{54,51,0}}, +/* 29076 */ {(12<<2)|2,{54,51,0}}, +/* 29077 */ {(12<<2)|2,{54,51,0}}, +/* 29078 */ {(12<<2)|2,{54,51,0}}, +/* 29079 */ {(12<<2)|2,{54,51,0}}, +/* 29080 */ {(12<<2)|2,{54,51,0}}, +/* 29081 */ {(12<<2)|2,{54,51,0}}, +/* 29082 */ {(12<<2)|2,{54,51,0}}, +/* 29083 */ {(12<<2)|2,{54,51,0}}, +/* 29084 */ {(12<<2)|2,{54,51,0}}, +/* 29085 */ {(12<<2)|2,{54,51,0}}, +/* 29086 */ {(12<<2)|2,{54,51,0}}, +/* 29087 */ {(12<<2)|2,{54,51,0}}, +/* 29088 */ {(12<<2)|2,{54,52,0}}, +/* 29089 */ {(12<<2)|2,{54,52,0}}, +/* 29090 */ {(12<<2)|2,{54,52,0}}, +/* 29091 */ {(12<<2)|2,{54,52,0}}, +/* 29092 */ {(12<<2)|2,{54,52,0}}, +/* 29093 */ {(12<<2)|2,{54,52,0}}, +/* 29094 */ {(12<<2)|2,{54,52,0}}, +/* 29095 */ {(12<<2)|2,{54,52,0}}, +/* 29096 */ {(12<<2)|2,{54,52,0}}, +/* 29097 */ {(12<<2)|2,{54,52,0}}, +/* 29098 */ {(12<<2)|2,{54,52,0}}, +/* 29099 */ {(12<<2)|2,{54,52,0}}, +/* 29100 */ {(12<<2)|2,{54,52,0}}, +/* 29101 */ {(12<<2)|2,{54,52,0}}, +/* 29102 */ {(12<<2)|2,{54,52,0}}, +/* 29103 */ {(12<<2)|2,{54,52,0}}, +/* 29104 */ {(12<<2)|2,{54,53,0}}, +/* 29105 */ {(12<<2)|2,{54,53,0}}, +/* 29106 */ {(12<<2)|2,{54,53,0}}, +/* 29107 */ {(12<<2)|2,{54,53,0}}, +/* 29108 */ {(12<<2)|2,{54,53,0}}, +/* 29109 */ {(12<<2)|2,{54,53,0}}, +/* 29110 */ {(12<<2)|2,{54,53,0}}, +/* 29111 */ {(12<<2)|2,{54,53,0}}, +/* 29112 */ {(12<<2)|2,{54,53,0}}, +/* 29113 */ {(12<<2)|2,{54,53,0}}, +/* 29114 */ {(12<<2)|2,{54,53,0}}, +/* 29115 */ {(12<<2)|2,{54,53,0}}, +/* 29116 */ {(12<<2)|2,{54,53,0}}, +/* 29117 */ {(12<<2)|2,{54,53,0}}, +/* 29118 */ {(12<<2)|2,{54,53,0}}, +/* 29119 */ {(12<<2)|2,{54,53,0}}, +/* 29120 */ {(12<<2)|2,{54,54,0}}, +/* 29121 */ {(12<<2)|2,{54,54,0}}, +/* 29122 */ {(12<<2)|2,{54,54,0}}, +/* 29123 */ {(12<<2)|2,{54,54,0}}, +/* 29124 */ {(12<<2)|2,{54,54,0}}, +/* 29125 */ {(12<<2)|2,{54,54,0}}, +/* 29126 */ {(12<<2)|2,{54,54,0}}, +/* 29127 */ {(12<<2)|2,{54,54,0}}, +/* 29128 */ {(12<<2)|2,{54,54,0}}, +/* 29129 */ {(12<<2)|2,{54,54,0}}, +/* 29130 */ {(12<<2)|2,{54,54,0}}, +/* 29131 */ {(12<<2)|2,{54,54,0}}, +/* 29132 */ {(12<<2)|2,{54,54,0}}, +/* 29133 */ {(12<<2)|2,{54,54,0}}, +/* 29134 */ {(12<<2)|2,{54,54,0}}, +/* 29135 */ {(12<<2)|2,{54,54,0}}, +/* 29136 */ {(12<<2)|2,{54,55,0}}, +/* 29137 */ {(12<<2)|2,{54,55,0}}, +/* 29138 */ {(12<<2)|2,{54,55,0}}, +/* 29139 */ {(12<<2)|2,{54,55,0}}, +/* 29140 */ {(12<<2)|2,{54,55,0}}, +/* 29141 */ {(12<<2)|2,{54,55,0}}, +/* 29142 */ {(12<<2)|2,{54,55,0}}, +/* 29143 */ {(12<<2)|2,{54,55,0}}, +/* 29144 */ {(12<<2)|2,{54,55,0}}, +/* 29145 */ {(12<<2)|2,{54,55,0}}, +/* 29146 */ {(12<<2)|2,{54,55,0}}, +/* 29147 */ {(12<<2)|2,{54,55,0}}, +/* 29148 */ {(12<<2)|2,{54,55,0}}, +/* 29149 */ {(12<<2)|2,{54,55,0}}, +/* 29150 */ {(12<<2)|2,{54,55,0}}, +/* 29151 */ {(12<<2)|2,{54,55,0}}, +/* 29152 */ {(12<<2)|2,{54,56,0}}, +/* 29153 */ {(12<<2)|2,{54,56,0}}, +/* 29154 */ {(12<<2)|2,{54,56,0}}, +/* 29155 */ {(12<<2)|2,{54,56,0}}, +/* 29156 */ {(12<<2)|2,{54,56,0}}, +/* 29157 */ {(12<<2)|2,{54,56,0}}, +/* 29158 */ {(12<<2)|2,{54,56,0}}, +/* 29159 */ {(12<<2)|2,{54,56,0}}, +/* 29160 */ {(12<<2)|2,{54,56,0}}, +/* 29161 */ {(12<<2)|2,{54,56,0}}, +/* 29162 */ {(12<<2)|2,{54,56,0}}, +/* 29163 */ {(12<<2)|2,{54,56,0}}, +/* 29164 */ {(12<<2)|2,{54,56,0}}, +/* 29165 */ {(12<<2)|2,{54,56,0}}, +/* 29166 */ {(12<<2)|2,{54,56,0}}, +/* 29167 */ {(12<<2)|2,{54,56,0}}, +/* 29168 */ {(12<<2)|2,{54,57,0}}, +/* 29169 */ {(12<<2)|2,{54,57,0}}, +/* 29170 */ {(12<<2)|2,{54,57,0}}, +/* 29171 */ {(12<<2)|2,{54,57,0}}, +/* 29172 */ {(12<<2)|2,{54,57,0}}, +/* 29173 */ {(12<<2)|2,{54,57,0}}, +/* 29174 */ {(12<<2)|2,{54,57,0}}, +/* 29175 */ {(12<<2)|2,{54,57,0}}, +/* 29176 */ {(12<<2)|2,{54,57,0}}, +/* 29177 */ {(12<<2)|2,{54,57,0}}, +/* 29178 */ {(12<<2)|2,{54,57,0}}, +/* 29179 */ {(12<<2)|2,{54,57,0}}, +/* 29180 */ {(12<<2)|2,{54,57,0}}, +/* 29181 */ {(12<<2)|2,{54,57,0}}, +/* 29182 */ {(12<<2)|2,{54,57,0}}, +/* 29183 */ {(12<<2)|2,{54,57,0}}, +/* 29184 */ {(12<<2)|2,{54,61,0}}, +/* 29185 */ {(12<<2)|2,{54,61,0}}, +/* 29186 */ {(12<<2)|2,{54,61,0}}, +/* 29187 */ {(12<<2)|2,{54,61,0}}, +/* 29188 */ {(12<<2)|2,{54,61,0}}, +/* 29189 */ {(12<<2)|2,{54,61,0}}, +/* 29190 */ {(12<<2)|2,{54,61,0}}, +/* 29191 */ {(12<<2)|2,{54,61,0}}, +/* 29192 */ {(12<<2)|2,{54,61,0}}, +/* 29193 */ {(12<<2)|2,{54,61,0}}, +/* 29194 */ {(12<<2)|2,{54,61,0}}, +/* 29195 */ {(12<<2)|2,{54,61,0}}, +/* 29196 */ {(12<<2)|2,{54,61,0}}, +/* 29197 */ {(12<<2)|2,{54,61,0}}, +/* 29198 */ {(12<<2)|2,{54,61,0}}, +/* 29199 */ {(12<<2)|2,{54,61,0}}, +/* 29200 */ {(12<<2)|2,{54,65,0}}, +/* 29201 */ {(12<<2)|2,{54,65,0}}, +/* 29202 */ {(12<<2)|2,{54,65,0}}, +/* 29203 */ {(12<<2)|2,{54,65,0}}, +/* 29204 */ {(12<<2)|2,{54,65,0}}, +/* 29205 */ {(12<<2)|2,{54,65,0}}, +/* 29206 */ {(12<<2)|2,{54,65,0}}, +/* 29207 */ {(12<<2)|2,{54,65,0}}, +/* 29208 */ {(12<<2)|2,{54,65,0}}, +/* 29209 */ {(12<<2)|2,{54,65,0}}, +/* 29210 */ {(12<<2)|2,{54,65,0}}, +/* 29211 */ {(12<<2)|2,{54,65,0}}, +/* 29212 */ {(12<<2)|2,{54,65,0}}, +/* 29213 */ {(12<<2)|2,{54,65,0}}, +/* 29214 */ {(12<<2)|2,{54,65,0}}, +/* 29215 */ {(12<<2)|2,{54,65,0}}, +/* 29216 */ {(12<<2)|2,{54,95,0}}, +/* 29217 */ {(12<<2)|2,{54,95,0}}, +/* 29218 */ {(12<<2)|2,{54,95,0}}, +/* 29219 */ {(12<<2)|2,{54,95,0}}, +/* 29220 */ {(12<<2)|2,{54,95,0}}, +/* 29221 */ {(12<<2)|2,{54,95,0}}, +/* 29222 */ {(12<<2)|2,{54,95,0}}, +/* 29223 */ {(12<<2)|2,{54,95,0}}, +/* 29224 */ {(12<<2)|2,{54,95,0}}, +/* 29225 */ {(12<<2)|2,{54,95,0}}, +/* 29226 */ {(12<<2)|2,{54,95,0}}, +/* 29227 */ {(12<<2)|2,{54,95,0}}, +/* 29228 */ {(12<<2)|2,{54,95,0}}, +/* 29229 */ {(12<<2)|2,{54,95,0}}, +/* 29230 */ {(12<<2)|2,{54,95,0}}, +/* 29231 */ {(12<<2)|2,{54,95,0}}, +/* 29232 */ {(12<<2)|2,{54,98,0}}, +/* 29233 */ {(12<<2)|2,{54,98,0}}, +/* 29234 */ {(12<<2)|2,{54,98,0}}, +/* 29235 */ {(12<<2)|2,{54,98,0}}, +/* 29236 */ {(12<<2)|2,{54,98,0}}, +/* 29237 */ {(12<<2)|2,{54,98,0}}, +/* 29238 */ {(12<<2)|2,{54,98,0}}, +/* 29239 */ {(12<<2)|2,{54,98,0}}, +/* 29240 */ {(12<<2)|2,{54,98,0}}, +/* 29241 */ {(12<<2)|2,{54,98,0}}, +/* 29242 */ {(12<<2)|2,{54,98,0}}, +/* 29243 */ {(12<<2)|2,{54,98,0}}, +/* 29244 */ {(12<<2)|2,{54,98,0}}, +/* 29245 */ {(12<<2)|2,{54,98,0}}, +/* 29246 */ {(12<<2)|2,{54,98,0}}, +/* 29247 */ {(12<<2)|2,{54,98,0}}, +/* 29248 */ {(12<<2)|2,{54,100,0}}, +/* 29249 */ {(12<<2)|2,{54,100,0}}, +/* 29250 */ {(12<<2)|2,{54,100,0}}, +/* 29251 */ {(12<<2)|2,{54,100,0}}, +/* 29252 */ {(12<<2)|2,{54,100,0}}, +/* 29253 */ {(12<<2)|2,{54,100,0}}, +/* 29254 */ {(12<<2)|2,{54,100,0}}, +/* 29255 */ {(12<<2)|2,{54,100,0}}, +/* 29256 */ {(12<<2)|2,{54,100,0}}, +/* 29257 */ {(12<<2)|2,{54,100,0}}, +/* 29258 */ {(12<<2)|2,{54,100,0}}, +/* 29259 */ {(12<<2)|2,{54,100,0}}, +/* 29260 */ {(12<<2)|2,{54,100,0}}, +/* 29261 */ {(12<<2)|2,{54,100,0}}, +/* 29262 */ {(12<<2)|2,{54,100,0}}, +/* 29263 */ {(12<<2)|2,{54,100,0}}, +/* 29264 */ {(12<<2)|2,{54,102,0}}, +/* 29265 */ {(12<<2)|2,{54,102,0}}, +/* 29266 */ {(12<<2)|2,{54,102,0}}, +/* 29267 */ {(12<<2)|2,{54,102,0}}, +/* 29268 */ {(12<<2)|2,{54,102,0}}, +/* 29269 */ {(12<<2)|2,{54,102,0}}, +/* 29270 */ {(12<<2)|2,{54,102,0}}, +/* 29271 */ {(12<<2)|2,{54,102,0}}, +/* 29272 */ {(12<<2)|2,{54,102,0}}, +/* 29273 */ {(12<<2)|2,{54,102,0}}, +/* 29274 */ {(12<<2)|2,{54,102,0}}, +/* 29275 */ {(12<<2)|2,{54,102,0}}, +/* 29276 */ {(12<<2)|2,{54,102,0}}, +/* 29277 */ {(12<<2)|2,{54,102,0}}, +/* 29278 */ {(12<<2)|2,{54,102,0}}, +/* 29279 */ {(12<<2)|2,{54,102,0}}, +/* 29280 */ {(12<<2)|2,{54,103,0}}, +/* 29281 */ {(12<<2)|2,{54,103,0}}, +/* 29282 */ {(12<<2)|2,{54,103,0}}, +/* 29283 */ {(12<<2)|2,{54,103,0}}, +/* 29284 */ {(12<<2)|2,{54,103,0}}, +/* 29285 */ {(12<<2)|2,{54,103,0}}, +/* 29286 */ {(12<<2)|2,{54,103,0}}, +/* 29287 */ {(12<<2)|2,{54,103,0}}, +/* 29288 */ {(12<<2)|2,{54,103,0}}, +/* 29289 */ {(12<<2)|2,{54,103,0}}, +/* 29290 */ {(12<<2)|2,{54,103,0}}, +/* 29291 */ {(12<<2)|2,{54,103,0}}, +/* 29292 */ {(12<<2)|2,{54,103,0}}, +/* 29293 */ {(12<<2)|2,{54,103,0}}, +/* 29294 */ {(12<<2)|2,{54,103,0}}, +/* 29295 */ {(12<<2)|2,{54,103,0}}, +/* 29296 */ {(12<<2)|2,{54,104,0}}, +/* 29297 */ {(12<<2)|2,{54,104,0}}, +/* 29298 */ {(12<<2)|2,{54,104,0}}, +/* 29299 */ {(12<<2)|2,{54,104,0}}, +/* 29300 */ {(12<<2)|2,{54,104,0}}, +/* 29301 */ {(12<<2)|2,{54,104,0}}, +/* 29302 */ {(12<<2)|2,{54,104,0}}, +/* 29303 */ {(12<<2)|2,{54,104,0}}, +/* 29304 */ {(12<<2)|2,{54,104,0}}, +/* 29305 */ {(12<<2)|2,{54,104,0}}, +/* 29306 */ {(12<<2)|2,{54,104,0}}, +/* 29307 */ {(12<<2)|2,{54,104,0}}, +/* 29308 */ {(12<<2)|2,{54,104,0}}, +/* 29309 */ {(12<<2)|2,{54,104,0}}, +/* 29310 */ {(12<<2)|2,{54,104,0}}, +/* 29311 */ {(12<<2)|2,{54,104,0}}, +/* 29312 */ {(12<<2)|2,{54,108,0}}, +/* 29313 */ {(12<<2)|2,{54,108,0}}, +/* 29314 */ {(12<<2)|2,{54,108,0}}, +/* 29315 */ {(12<<2)|2,{54,108,0}}, +/* 29316 */ {(12<<2)|2,{54,108,0}}, +/* 29317 */ {(12<<2)|2,{54,108,0}}, +/* 29318 */ {(12<<2)|2,{54,108,0}}, +/* 29319 */ {(12<<2)|2,{54,108,0}}, +/* 29320 */ {(12<<2)|2,{54,108,0}}, +/* 29321 */ {(12<<2)|2,{54,108,0}}, +/* 29322 */ {(12<<2)|2,{54,108,0}}, +/* 29323 */ {(12<<2)|2,{54,108,0}}, +/* 29324 */ {(12<<2)|2,{54,108,0}}, +/* 29325 */ {(12<<2)|2,{54,108,0}}, +/* 29326 */ {(12<<2)|2,{54,108,0}}, +/* 29327 */ {(12<<2)|2,{54,108,0}}, +/* 29328 */ {(12<<2)|2,{54,109,0}}, +/* 29329 */ {(12<<2)|2,{54,109,0}}, +/* 29330 */ {(12<<2)|2,{54,109,0}}, +/* 29331 */ {(12<<2)|2,{54,109,0}}, +/* 29332 */ {(12<<2)|2,{54,109,0}}, +/* 29333 */ {(12<<2)|2,{54,109,0}}, +/* 29334 */ {(12<<2)|2,{54,109,0}}, +/* 29335 */ {(12<<2)|2,{54,109,0}}, +/* 29336 */ {(12<<2)|2,{54,109,0}}, +/* 29337 */ {(12<<2)|2,{54,109,0}}, +/* 29338 */ {(12<<2)|2,{54,109,0}}, +/* 29339 */ {(12<<2)|2,{54,109,0}}, +/* 29340 */ {(12<<2)|2,{54,109,0}}, +/* 29341 */ {(12<<2)|2,{54,109,0}}, +/* 29342 */ {(12<<2)|2,{54,109,0}}, +/* 29343 */ {(12<<2)|2,{54,109,0}}, +/* 29344 */ {(12<<2)|2,{54,110,0}}, +/* 29345 */ {(12<<2)|2,{54,110,0}}, +/* 29346 */ {(12<<2)|2,{54,110,0}}, +/* 29347 */ {(12<<2)|2,{54,110,0}}, +/* 29348 */ {(12<<2)|2,{54,110,0}}, +/* 29349 */ {(12<<2)|2,{54,110,0}}, +/* 29350 */ {(12<<2)|2,{54,110,0}}, +/* 29351 */ {(12<<2)|2,{54,110,0}}, +/* 29352 */ {(12<<2)|2,{54,110,0}}, +/* 29353 */ {(12<<2)|2,{54,110,0}}, +/* 29354 */ {(12<<2)|2,{54,110,0}}, +/* 29355 */ {(12<<2)|2,{54,110,0}}, +/* 29356 */ {(12<<2)|2,{54,110,0}}, +/* 29357 */ {(12<<2)|2,{54,110,0}}, +/* 29358 */ {(12<<2)|2,{54,110,0}}, +/* 29359 */ {(12<<2)|2,{54,110,0}}, +/* 29360 */ {(12<<2)|2,{54,112,0}}, +/* 29361 */ {(12<<2)|2,{54,112,0}}, +/* 29362 */ {(12<<2)|2,{54,112,0}}, +/* 29363 */ {(12<<2)|2,{54,112,0}}, +/* 29364 */ {(12<<2)|2,{54,112,0}}, +/* 29365 */ {(12<<2)|2,{54,112,0}}, +/* 29366 */ {(12<<2)|2,{54,112,0}}, +/* 29367 */ {(12<<2)|2,{54,112,0}}, +/* 29368 */ {(12<<2)|2,{54,112,0}}, +/* 29369 */ {(12<<2)|2,{54,112,0}}, +/* 29370 */ {(12<<2)|2,{54,112,0}}, +/* 29371 */ {(12<<2)|2,{54,112,0}}, +/* 29372 */ {(12<<2)|2,{54,112,0}}, +/* 29373 */ {(12<<2)|2,{54,112,0}}, +/* 29374 */ {(12<<2)|2,{54,112,0}}, +/* 29375 */ {(12<<2)|2,{54,112,0}}, +/* 29376 */ {(12<<2)|2,{54,114,0}}, +/* 29377 */ {(12<<2)|2,{54,114,0}}, +/* 29378 */ {(12<<2)|2,{54,114,0}}, +/* 29379 */ {(12<<2)|2,{54,114,0}}, +/* 29380 */ {(12<<2)|2,{54,114,0}}, +/* 29381 */ {(12<<2)|2,{54,114,0}}, +/* 29382 */ {(12<<2)|2,{54,114,0}}, +/* 29383 */ {(12<<2)|2,{54,114,0}}, +/* 29384 */ {(12<<2)|2,{54,114,0}}, +/* 29385 */ {(12<<2)|2,{54,114,0}}, +/* 29386 */ {(12<<2)|2,{54,114,0}}, +/* 29387 */ {(12<<2)|2,{54,114,0}}, +/* 29388 */ {(12<<2)|2,{54,114,0}}, +/* 29389 */ {(12<<2)|2,{54,114,0}}, +/* 29390 */ {(12<<2)|2,{54,114,0}}, +/* 29391 */ {(12<<2)|2,{54,114,0}}, +/* 29392 */ {(12<<2)|2,{54,117,0}}, +/* 29393 */ {(12<<2)|2,{54,117,0}}, +/* 29394 */ {(12<<2)|2,{54,117,0}}, +/* 29395 */ {(12<<2)|2,{54,117,0}}, +/* 29396 */ {(12<<2)|2,{54,117,0}}, +/* 29397 */ {(12<<2)|2,{54,117,0}}, +/* 29398 */ {(12<<2)|2,{54,117,0}}, +/* 29399 */ {(12<<2)|2,{54,117,0}}, +/* 29400 */ {(12<<2)|2,{54,117,0}}, +/* 29401 */ {(12<<2)|2,{54,117,0}}, +/* 29402 */ {(12<<2)|2,{54,117,0}}, +/* 29403 */ {(12<<2)|2,{54,117,0}}, +/* 29404 */ {(12<<2)|2,{54,117,0}}, +/* 29405 */ {(12<<2)|2,{54,117,0}}, +/* 29406 */ {(12<<2)|2,{54,117,0}}, +/* 29407 */ {(12<<2)|2,{54,117,0}}, +/* 29408 */ {(13<<2)|2,{54,58,0}}, +/* 29409 */ {(13<<2)|2,{54,58,0}}, +/* 29410 */ {(13<<2)|2,{54,58,0}}, +/* 29411 */ {(13<<2)|2,{54,58,0}}, +/* 29412 */ {(13<<2)|2,{54,58,0}}, +/* 29413 */ {(13<<2)|2,{54,58,0}}, +/* 29414 */ {(13<<2)|2,{54,58,0}}, +/* 29415 */ {(13<<2)|2,{54,58,0}}, +/* 29416 */ {(13<<2)|2,{54,66,0}}, +/* 29417 */ {(13<<2)|2,{54,66,0}}, +/* 29418 */ {(13<<2)|2,{54,66,0}}, +/* 29419 */ {(13<<2)|2,{54,66,0}}, +/* 29420 */ {(13<<2)|2,{54,66,0}}, +/* 29421 */ {(13<<2)|2,{54,66,0}}, +/* 29422 */ {(13<<2)|2,{54,66,0}}, +/* 29423 */ {(13<<2)|2,{54,66,0}}, +/* 29424 */ {(13<<2)|2,{54,67,0}}, +/* 29425 */ {(13<<2)|2,{54,67,0}}, +/* 29426 */ {(13<<2)|2,{54,67,0}}, +/* 29427 */ {(13<<2)|2,{54,67,0}}, +/* 29428 */ {(13<<2)|2,{54,67,0}}, +/* 29429 */ {(13<<2)|2,{54,67,0}}, +/* 29430 */ {(13<<2)|2,{54,67,0}}, +/* 29431 */ {(13<<2)|2,{54,67,0}}, +/* 29432 */ {(13<<2)|2,{54,68,0}}, +/* 29433 */ {(13<<2)|2,{54,68,0}}, +/* 29434 */ {(13<<2)|2,{54,68,0}}, +/* 29435 */ {(13<<2)|2,{54,68,0}}, +/* 29436 */ {(13<<2)|2,{54,68,0}}, +/* 29437 */ {(13<<2)|2,{54,68,0}}, +/* 29438 */ {(13<<2)|2,{54,68,0}}, +/* 29439 */ {(13<<2)|2,{54,68,0}}, +/* 29440 */ {(13<<2)|2,{54,69,0}}, +/* 29441 */ {(13<<2)|2,{54,69,0}}, +/* 29442 */ {(13<<2)|2,{54,69,0}}, +/* 29443 */ {(13<<2)|2,{54,69,0}}, +/* 29444 */ {(13<<2)|2,{54,69,0}}, +/* 29445 */ {(13<<2)|2,{54,69,0}}, +/* 29446 */ {(13<<2)|2,{54,69,0}}, +/* 29447 */ {(13<<2)|2,{54,69,0}}, +/* 29448 */ {(13<<2)|2,{54,70,0}}, +/* 29449 */ {(13<<2)|2,{54,70,0}}, +/* 29450 */ {(13<<2)|2,{54,70,0}}, +/* 29451 */ {(13<<2)|2,{54,70,0}}, +/* 29452 */ {(13<<2)|2,{54,70,0}}, +/* 29453 */ {(13<<2)|2,{54,70,0}}, +/* 29454 */ {(13<<2)|2,{54,70,0}}, +/* 29455 */ {(13<<2)|2,{54,70,0}}, +/* 29456 */ {(13<<2)|2,{54,71,0}}, +/* 29457 */ {(13<<2)|2,{54,71,0}}, +/* 29458 */ {(13<<2)|2,{54,71,0}}, +/* 29459 */ {(13<<2)|2,{54,71,0}}, +/* 29460 */ {(13<<2)|2,{54,71,0}}, +/* 29461 */ {(13<<2)|2,{54,71,0}}, +/* 29462 */ {(13<<2)|2,{54,71,0}}, +/* 29463 */ {(13<<2)|2,{54,71,0}}, +/* 29464 */ {(13<<2)|2,{54,72,0}}, +/* 29465 */ {(13<<2)|2,{54,72,0}}, +/* 29466 */ {(13<<2)|2,{54,72,0}}, +/* 29467 */ {(13<<2)|2,{54,72,0}}, +/* 29468 */ {(13<<2)|2,{54,72,0}}, +/* 29469 */ {(13<<2)|2,{54,72,0}}, +/* 29470 */ {(13<<2)|2,{54,72,0}}, +/* 29471 */ {(13<<2)|2,{54,72,0}}, +/* 29472 */ {(13<<2)|2,{54,73,0}}, +/* 29473 */ {(13<<2)|2,{54,73,0}}, +/* 29474 */ {(13<<2)|2,{54,73,0}}, +/* 29475 */ {(13<<2)|2,{54,73,0}}, +/* 29476 */ {(13<<2)|2,{54,73,0}}, +/* 29477 */ {(13<<2)|2,{54,73,0}}, +/* 29478 */ {(13<<2)|2,{54,73,0}}, +/* 29479 */ {(13<<2)|2,{54,73,0}}, +/* 29480 */ {(13<<2)|2,{54,74,0}}, +/* 29481 */ {(13<<2)|2,{54,74,0}}, +/* 29482 */ {(13<<2)|2,{54,74,0}}, +/* 29483 */ {(13<<2)|2,{54,74,0}}, +/* 29484 */ {(13<<2)|2,{54,74,0}}, +/* 29485 */ {(13<<2)|2,{54,74,0}}, +/* 29486 */ {(13<<2)|2,{54,74,0}}, +/* 29487 */ {(13<<2)|2,{54,74,0}}, +/* 29488 */ {(13<<2)|2,{54,75,0}}, +/* 29489 */ {(13<<2)|2,{54,75,0}}, +/* 29490 */ {(13<<2)|2,{54,75,0}}, +/* 29491 */ {(13<<2)|2,{54,75,0}}, +/* 29492 */ {(13<<2)|2,{54,75,0}}, +/* 29493 */ {(13<<2)|2,{54,75,0}}, +/* 29494 */ {(13<<2)|2,{54,75,0}}, +/* 29495 */ {(13<<2)|2,{54,75,0}}, +/* 29496 */ {(13<<2)|2,{54,76,0}}, +/* 29497 */ {(13<<2)|2,{54,76,0}}, +/* 29498 */ {(13<<2)|2,{54,76,0}}, +/* 29499 */ {(13<<2)|2,{54,76,0}}, +/* 29500 */ {(13<<2)|2,{54,76,0}}, +/* 29501 */ {(13<<2)|2,{54,76,0}}, +/* 29502 */ {(13<<2)|2,{54,76,0}}, +/* 29503 */ {(13<<2)|2,{54,76,0}}, +/* 29504 */ {(13<<2)|2,{54,77,0}}, +/* 29505 */ {(13<<2)|2,{54,77,0}}, +/* 29506 */ {(13<<2)|2,{54,77,0}}, +/* 29507 */ {(13<<2)|2,{54,77,0}}, +/* 29508 */ {(13<<2)|2,{54,77,0}}, +/* 29509 */ {(13<<2)|2,{54,77,0}}, +/* 29510 */ {(13<<2)|2,{54,77,0}}, +/* 29511 */ {(13<<2)|2,{54,77,0}}, +/* 29512 */ {(13<<2)|2,{54,78,0}}, +/* 29513 */ {(13<<2)|2,{54,78,0}}, +/* 29514 */ {(13<<2)|2,{54,78,0}}, +/* 29515 */ {(13<<2)|2,{54,78,0}}, +/* 29516 */ {(13<<2)|2,{54,78,0}}, +/* 29517 */ {(13<<2)|2,{54,78,0}}, +/* 29518 */ {(13<<2)|2,{54,78,0}}, +/* 29519 */ {(13<<2)|2,{54,78,0}}, +/* 29520 */ {(13<<2)|2,{54,79,0}}, +/* 29521 */ {(13<<2)|2,{54,79,0}}, +/* 29522 */ {(13<<2)|2,{54,79,0}}, +/* 29523 */ {(13<<2)|2,{54,79,0}}, +/* 29524 */ {(13<<2)|2,{54,79,0}}, +/* 29525 */ {(13<<2)|2,{54,79,0}}, +/* 29526 */ {(13<<2)|2,{54,79,0}}, +/* 29527 */ {(13<<2)|2,{54,79,0}}, +/* 29528 */ {(13<<2)|2,{54,80,0}}, +/* 29529 */ {(13<<2)|2,{54,80,0}}, +/* 29530 */ {(13<<2)|2,{54,80,0}}, +/* 29531 */ {(13<<2)|2,{54,80,0}}, +/* 29532 */ {(13<<2)|2,{54,80,0}}, +/* 29533 */ {(13<<2)|2,{54,80,0}}, +/* 29534 */ {(13<<2)|2,{54,80,0}}, +/* 29535 */ {(13<<2)|2,{54,80,0}}, +/* 29536 */ {(13<<2)|2,{54,81,0}}, +/* 29537 */ {(13<<2)|2,{54,81,0}}, +/* 29538 */ {(13<<2)|2,{54,81,0}}, +/* 29539 */ {(13<<2)|2,{54,81,0}}, +/* 29540 */ {(13<<2)|2,{54,81,0}}, +/* 29541 */ {(13<<2)|2,{54,81,0}}, +/* 29542 */ {(13<<2)|2,{54,81,0}}, +/* 29543 */ {(13<<2)|2,{54,81,0}}, +/* 29544 */ {(13<<2)|2,{54,82,0}}, +/* 29545 */ {(13<<2)|2,{54,82,0}}, +/* 29546 */ {(13<<2)|2,{54,82,0}}, +/* 29547 */ {(13<<2)|2,{54,82,0}}, +/* 29548 */ {(13<<2)|2,{54,82,0}}, +/* 29549 */ {(13<<2)|2,{54,82,0}}, +/* 29550 */ {(13<<2)|2,{54,82,0}}, +/* 29551 */ {(13<<2)|2,{54,82,0}}, +/* 29552 */ {(13<<2)|2,{54,83,0}}, +/* 29553 */ {(13<<2)|2,{54,83,0}}, +/* 29554 */ {(13<<2)|2,{54,83,0}}, +/* 29555 */ {(13<<2)|2,{54,83,0}}, +/* 29556 */ {(13<<2)|2,{54,83,0}}, +/* 29557 */ {(13<<2)|2,{54,83,0}}, +/* 29558 */ {(13<<2)|2,{54,83,0}}, +/* 29559 */ {(13<<2)|2,{54,83,0}}, +/* 29560 */ {(13<<2)|2,{54,84,0}}, +/* 29561 */ {(13<<2)|2,{54,84,0}}, +/* 29562 */ {(13<<2)|2,{54,84,0}}, +/* 29563 */ {(13<<2)|2,{54,84,0}}, +/* 29564 */ {(13<<2)|2,{54,84,0}}, +/* 29565 */ {(13<<2)|2,{54,84,0}}, +/* 29566 */ {(13<<2)|2,{54,84,0}}, +/* 29567 */ {(13<<2)|2,{54,84,0}}, +/* 29568 */ {(13<<2)|2,{54,85,0}}, +/* 29569 */ {(13<<2)|2,{54,85,0}}, +/* 29570 */ {(13<<2)|2,{54,85,0}}, +/* 29571 */ {(13<<2)|2,{54,85,0}}, +/* 29572 */ {(13<<2)|2,{54,85,0}}, +/* 29573 */ {(13<<2)|2,{54,85,0}}, +/* 29574 */ {(13<<2)|2,{54,85,0}}, +/* 29575 */ {(13<<2)|2,{54,85,0}}, +/* 29576 */ {(13<<2)|2,{54,86,0}}, +/* 29577 */ {(13<<2)|2,{54,86,0}}, +/* 29578 */ {(13<<2)|2,{54,86,0}}, +/* 29579 */ {(13<<2)|2,{54,86,0}}, +/* 29580 */ {(13<<2)|2,{54,86,0}}, +/* 29581 */ {(13<<2)|2,{54,86,0}}, +/* 29582 */ {(13<<2)|2,{54,86,0}}, +/* 29583 */ {(13<<2)|2,{54,86,0}}, +/* 29584 */ {(13<<2)|2,{54,87,0}}, +/* 29585 */ {(13<<2)|2,{54,87,0}}, +/* 29586 */ {(13<<2)|2,{54,87,0}}, +/* 29587 */ {(13<<2)|2,{54,87,0}}, +/* 29588 */ {(13<<2)|2,{54,87,0}}, +/* 29589 */ {(13<<2)|2,{54,87,0}}, +/* 29590 */ {(13<<2)|2,{54,87,0}}, +/* 29591 */ {(13<<2)|2,{54,87,0}}, +/* 29592 */ {(13<<2)|2,{54,89,0}}, +/* 29593 */ {(13<<2)|2,{54,89,0}}, +/* 29594 */ {(13<<2)|2,{54,89,0}}, +/* 29595 */ {(13<<2)|2,{54,89,0}}, +/* 29596 */ {(13<<2)|2,{54,89,0}}, +/* 29597 */ {(13<<2)|2,{54,89,0}}, +/* 29598 */ {(13<<2)|2,{54,89,0}}, +/* 29599 */ {(13<<2)|2,{54,89,0}}, +/* 29600 */ {(13<<2)|2,{54,106,0}}, +/* 29601 */ {(13<<2)|2,{54,106,0}}, +/* 29602 */ {(13<<2)|2,{54,106,0}}, +/* 29603 */ {(13<<2)|2,{54,106,0}}, +/* 29604 */ {(13<<2)|2,{54,106,0}}, +/* 29605 */ {(13<<2)|2,{54,106,0}}, +/* 29606 */ {(13<<2)|2,{54,106,0}}, +/* 29607 */ {(13<<2)|2,{54,106,0}}, +/* 29608 */ {(13<<2)|2,{54,107,0}}, +/* 29609 */ {(13<<2)|2,{54,107,0}}, +/* 29610 */ {(13<<2)|2,{54,107,0}}, +/* 29611 */ {(13<<2)|2,{54,107,0}}, +/* 29612 */ {(13<<2)|2,{54,107,0}}, +/* 29613 */ {(13<<2)|2,{54,107,0}}, +/* 29614 */ {(13<<2)|2,{54,107,0}}, +/* 29615 */ {(13<<2)|2,{54,107,0}}, +/* 29616 */ {(13<<2)|2,{54,113,0}}, +/* 29617 */ {(13<<2)|2,{54,113,0}}, +/* 29618 */ {(13<<2)|2,{54,113,0}}, +/* 29619 */ {(13<<2)|2,{54,113,0}}, +/* 29620 */ {(13<<2)|2,{54,113,0}}, +/* 29621 */ {(13<<2)|2,{54,113,0}}, +/* 29622 */ {(13<<2)|2,{54,113,0}}, +/* 29623 */ {(13<<2)|2,{54,113,0}}, +/* 29624 */ {(13<<2)|2,{54,118,0}}, +/* 29625 */ {(13<<2)|2,{54,118,0}}, +/* 29626 */ {(13<<2)|2,{54,118,0}}, +/* 29627 */ {(13<<2)|2,{54,118,0}}, +/* 29628 */ {(13<<2)|2,{54,118,0}}, +/* 29629 */ {(13<<2)|2,{54,118,0}}, +/* 29630 */ {(13<<2)|2,{54,118,0}}, +/* 29631 */ {(13<<2)|2,{54,118,0}}, +/* 29632 */ {(13<<2)|2,{54,119,0}}, +/* 29633 */ {(13<<2)|2,{54,119,0}}, +/* 29634 */ {(13<<2)|2,{54,119,0}}, +/* 29635 */ {(13<<2)|2,{54,119,0}}, +/* 29636 */ {(13<<2)|2,{54,119,0}}, +/* 29637 */ {(13<<2)|2,{54,119,0}}, +/* 29638 */ {(13<<2)|2,{54,119,0}}, +/* 29639 */ {(13<<2)|2,{54,119,0}}, +/* 29640 */ {(13<<2)|2,{54,120,0}}, +/* 29641 */ {(13<<2)|2,{54,120,0}}, +/* 29642 */ {(13<<2)|2,{54,120,0}}, +/* 29643 */ {(13<<2)|2,{54,120,0}}, +/* 29644 */ {(13<<2)|2,{54,120,0}}, +/* 29645 */ {(13<<2)|2,{54,120,0}}, +/* 29646 */ {(13<<2)|2,{54,120,0}}, +/* 29647 */ {(13<<2)|2,{54,120,0}}, +/* 29648 */ {(13<<2)|2,{54,121,0}}, +/* 29649 */ {(13<<2)|2,{54,121,0}}, +/* 29650 */ {(13<<2)|2,{54,121,0}}, +/* 29651 */ {(13<<2)|2,{54,121,0}}, +/* 29652 */ {(13<<2)|2,{54,121,0}}, +/* 29653 */ {(13<<2)|2,{54,121,0}}, +/* 29654 */ {(13<<2)|2,{54,121,0}}, +/* 29655 */ {(13<<2)|2,{54,121,0}}, +/* 29656 */ {(13<<2)|2,{54,122,0}}, +/* 29657 */ {(13<<2)|2,{54,122,0}}, +/* 29658 */ {(13<<2)|2,{54,122,0}}, +/* 29659 */ {(13<<2)|2,{54,122,0}}, +/* 29660 */ {(13<<2)|2,{54,122,0}}, +/* 29661 */ {(13<<2)|2,{54,122,0}}, +/* 29662 */ {(13<<2)|2,{54,122,0}}, +/* 29663 */ {(13<<2)|2,{54,122,0}}, +/* 29664 */ {(14<<2)|2,{54,38,0}}, +/* 29665 */ {(14<<2)|2,{54,38,0}}, +/* 29666 */ {(14<<2)|2,{54,38,0}}, +/* 29667 */ {(14<<2)|2,{54,38,0}}, +/* 29668 */ {(14<<2)|2,{54,42,0}}, +/* 29669 */ {(14<<2)|2,{54,42,0}}, +/* 29670 */ {(14<<2)|2,{54,42,0}}, +/* 29671 */ {(14<<2)|2,{54,42,0}}, +/* 29672 */ {(14<<2)|2,{54,44,0}}, +/* 29673 */ {(14<<2)|2,{54,44,0}}, +/* 29674 */ {(14<<2)|2,{54,44,0}}, +/* 29675 */ {(14<<2)|2,{54,44,0}}, +/* 29676 */ {(14<<2)|2,{54,59,0}}, +/* 29677 */ {(14<<2)|2,{54,59,0}}, +/* 29678 */ {(14<<2)|2,{54,59,0}}, +/* 29679 */ {(14<<2)|2,{54,59,0}}, +/* 29680 */ {(14<<2)|2,{54,88,0}}, +/* 29681 */ {(14<<2)|2,{54,88,0}}, +/* 29682 */ {(14<<2)|2,{54,88,0}}, +/* 29683 */ {(14<<2)|2,{54,88,0}}, +/* 29684 */ {(14<<2)|2,{54,90,0}}, +/* 29685 */ {(14<<2)|2,{54,90,0}}, +/* 29686 */ {(14<<2)|2,{54,90,0}}, +/* 29687 */ {(14<<2)|2,{54,90,0}}, +/* 29688 */ {(16<<2)|2,{54,33,0}}, +/* 29689 */ {(16<<2)|2,{54,34,0}}, +/* 29690 */ {(16<<2)|2,{54,40,0}}, +/* 29691 */ {(16<<2)|2,{54,41,0}}, +/* 29692 */ {(16<<2)|2,{54,63,0}}, +/* 29693 */ {(6<<2)|1,{54,0,0}}, +/* 29694 */ {(6<<2)|1,{54,0,0}}, +/* 29695 */ {(6<<2)|1,{54,0,0}}, +/* 29696 */ {(16<<2)|3,{55,48,48}}, +/* 29697 */ {(16<<2)|3,{55,48,49}}, +/* 29698 */ {(16<<2)|3,{55,48,50}}, +/* 29699 */ {(16<<2)|3,{55,48,97}}, +/* 29700 */ {(16<<2)|3,{55,48,99}}, +/* 29701 */ {(16<<2)|3,{55,48,101}}, +/* 29702 */ {(16<<2)|3,{55,48,105}}, +/* 29703 */ {(16<<2)|3,{55,48,111}}, +/* 29704 */ {(16<<2)|3,{55,48,115}}, +/* 29705 */ {(16<<2)|3,{55,48,116}}, +/* 29706 */ {(11<<2)|2,{55,48,0}}, +/* 29707 */ {(11<<2)|2,{55,48,0}}, +/* 29708 */ {(11<<2)|2,{55,48,0}}, +/* 29709 */ {(11<<2)|2,{55,48,0}}, +/* 29710 */ {(11<<2)|2,{55,48,0}}, +/* 29711 */ {(11<<2)|2,{55,48,0}}, +/* 29712 */ {(11<<2)|2,{55,48,0}}, +/* 29713 */ {(11<<2)|2,{55,48,0}}, +/* 29714 */ {(11<<2)|2,{55,48,0}}, +/* 29715 */ {(11<<2)|2,{55,48,0}}, +/* 29716 */ {(11<<2)|2,{55,48,0}}, +/* 29717 */ {(11<<2)|2,{55,48,0}}, +/* 29718 */ {(11<<2)|2,{55,48,0}}, +/* 29719 */ {(11<<2)|2,{55,48,0}}, +/* 29720 */ {(11<<2)|2,{55,48,0}}, +/* 29721 */ {(11<<2)|2,{55,48,0}}, +/* 29722 */ {(11<<2)|2,{55,48,0}}, +/* 29723 */ {(11<<2)|2,{55,48,0}}, +/* 29724 */ {(11<<2)|2,{55,48,0}}, +/* 29725 */ {(11<<2)|2,{55,48,0}}, +/* 29726 */ {(11<<2)|2,{55,48,0}}, +/* 29727 */ {(11<<2)|2,{55,48,0}}, +/* 29728 */ {(16<<2)|3,{55,49,48}}, +/* 29729 */ {(16<<2)|3,{55,49,49}}, +/* 29730 */ {(16<<2)|3,{55,49,50}}, +/* 29731 */ {(16<<2)|3,{55,49,97}}, +/* 29732 */ {(16<<2)|3,{55,49,99}}, +/* 29733 */ {(16<<2)|3,{55,49,101}}, +/* 29734 */ {(16<<2)|3,{55,49,105}}, +/* 29735 */ {(16<<2)|3,{55,49,111}}, +/* 29736 */ {(16<<2)|3,{55,49,115}}, +/* 29737 */ {(16<<2)|3,{55,49,116}}, +/* 29738 */ {(11<<2)|2,{55,49,0}}, +/* 29739 */ {(11<<2)|2,{55,49,0}}, +/* 29740 */ {(11<<2)|2,{55,49,0}}, +/* 29741 */ {(11<<2)|2,{55,49,0}}, +/* 29742 */ {(11<<2)|2,{55,49,0}}, +/* 29743 */ {(11<<2)|2,{55,49,0}}, +/* 29744 */ {(11<<2)|2,{55,49,0}}, +/* 29745 */ {(11<<2)|2,{55,49,0}}, +/* 29746 */ {(11<<2)|2,{55,49,0}}, +/* 29747 */ {(11<<2)|2,{55,49,0}}, +/* 29748 */ {(11<<2)|2,{55,49,0}}, +/* 29749 */ {(11<<2)|2,{55,49,0}}, +/* 29750 */ {(11<<2)|2,{55,49,0}}, +/* 29751 */ {(11<<2)|2,{55,49,0}}, +/* 29752 */ {(11<<2)|2,{55,49,0}}, +/* 29753 */ {(11<<2)|2,{55,49,0}}, +/* 29754 */ {(11<<2)|2,{55,49,0}}, +/* 29755 */ {(11<<2)|2,{55,49,0}}, +/* 29756 */ {(11<<2)|2,{55,49,0}}, +/* 29757 */ {(11<<2)|2,{55,49,0}}, +/* 29758 */ {(11<<2)|2,{55,49,0}}, +/* 29759 */ {(11<<2)|2,{55,49,0}}, +/* 29760 */ {(16<<2)|3,{55,50,48}}, +/* 29761 */ {(16<<2)|3,{55,50,49}}, +/* 29762 */ {(16<<2)|3,{55,50,50}}, +/* 29763 */ {(16<<2)|3,{55,50,97}}, +/* 29764 */ {(16<<2)|3,{55,50,99}}, +/* 29765 */ {(16<<2)|3,{55,50,101}}, +/* 29766 */ {(16<<2)|3,{55,50,105}}, +/* 29767 */ {(16<<2)|3,{55,50,111}}, +/* 29768 */ {(16<<2)|3,{55,50,115}}, +/* 29769 */ {(16<<2)|3,{55,50,116}}, +/* 29770 */ {(11<<2)|2,{55,50,0}}, +/* 29771 */ {(11<<2)|2,{55,50,0}}, +/* 29772 */ {(11<<2)|2,{55,50,0}}, +/* 29773 */ {(11<<2)|2,{55,50,0}}, +/* 29774 */ {(11<<2)|2,{55,50,0}}, +/* 29775 */ {(11<<2)|2,{55,50,0}}, +/* 29776 */ {(11<<2)|2,{55,50,0}}, +/* 29777 */ {(11<<2)|2,{55,50,0}}, +/* 29778 */ {(11<<2)|2,{55,50,0}}, +/* 29779 */ {(11<<2)|2,{55,50,0}}, +/* 29780 */ {(11<<2)|2,{55,50,0}}, +/* 29781 */ {(11<<2)|2,{55,50,0}}, +/* 29782 */ {(11<<2)|2,{55,50,0}}, +/* 29783 */ {(11<<2)|2,{55,50,0}}, +/* 29784 */ {(11<<2)|2,{55,50,0}}, +/* 29785 */ {(11<<2)|2,{55,50,0}}, +/* 29786 */ {(11<<2)|2,{55,50,0}}, +/* 29787 */ {(11<<2)|2,{55,50,0}}, +/* 29788 */ {(11<<2)|2,{55,50,0}}, +/* 29789 */ {(11<<2)|2,{55,50,0}}, +/* 29790 */ {(11<<2)|2,{55,50,0}}, +/* 29791 */ {(11<<2)|2,{55,50,0}}, +/* 29792 */ {(16<<2)|3,{55,97,48}}, +/* 29793 */ {(16<<2)|3,{55,97,49}}, +/* 29794 */ {(16<<2)|3,{55,97,50}}, +/* 29795 */ {(16<<2)|3,{55,97,97}}, +/* 29796 */ {(16<<2)|3,{55,97,99}}, +/* 29797 */ {(16<<2)|3,{55,97,101}}, +/* 29798 */ {(16<<2)|3,{55,97,105}}, +/* 29799 */ {(16<<2)|3,{55,97,111}}, +/* 29800 */ {(16<<2)|3,{55,97,115}}, +/* 29801 */ {(16<<2)|3,{55,97,116}}, +/* 29802 */ {(11<<2)|2,{55,97,0}}, +/* 29803 */ {(11<<2)|2,{55,97,0}}, +/* 29804 */ {(11<<2)|2,{55,97,0}}, +/* 29805 */ {(11<<2)|2,{55,97,0}}, +/* 29806 */ {(11<<2)|2,{55,97,0}}, +/* 29807 */ {(11<<2)|2,{55,97,0}}, +/* 29808 */ {(11<<2)|2,{55,97,0}}, +/* 29809 */ {(11<<2)|2,{55,97,0}}, +/* 29810 */ {(11<<2)|2,{55,97,0}}, +/* 29811 */ {(11<<2)|2,{55,97,0}}, +/* 29812 */ {(11<<2)|2,{55,97,0}}, +/* 29813 */ {(11<<2)|2,{55,97,0}}, +/* 29814 */ {(11<<2)|2,{55,97,0}}, +/* 29815 */ {(11<<2)|2,{55,97,0}}, +/* 29816 */ {(11<<2)|2,{55,97,0}}, +/* 29817 */ {(11<<2)|2,{55,97,0}}, +/* 29818 */ {(11<<2)|2,{55,97,0}}, +/* 29819 */ {(11<<2)|2,{55,97,0}}, +/* 29820 */ {(11<<2)|2,{55,97,0}}, +/* 29821 */ {(11<<2)|2,{55,97,0}}, +/* 29822 */ {(11<<2)|2,{55,97,0}}, +/* 29823 */ {(11<<2)|2,{55,97,0}}, +/* 29824 */ {(16<<2)|3,{55,99,48}}, +/* 29825 */ {(16<<2)|3,{55,99,49}}, +/* 29826 */ {(16<<2)|3,{55,99,50}}, +/* 29827 */ {(16<<2)|3,{55,99,97}}, +/* 29828 */ {(16<<2)|3,{55,99,99}}, +/* 29829 */ {(16<<2)|3,{55,99,101}}, +/* 29830 */ {(16<<2)|3,{55,99,105}}, +/* 29831 */ {(16<<2)|3,{55,99,111}}, +/* 29832 */ {(16<<2)|3,{55,99,115}}, +/* 29833 */ {(16<<2)|3,{55,99,116}}, +/* 29834 */ {(11<<2)|2,{55,99,0}}, +/* 29835 */ {(11<<2)|2,{55,99,0}}, +/* 29836 */ {(11<<2)|2,{55,99,0}}, +/* 29837 */ {(11<<2)|2,{55,99,0}}, +/* 29838 */ {(11<<2)|2,{55,99,0}}, +/* 29839 */ {(11<<2)|2,{55,99,0}}, +/* 29840 */ {(11<<2)|2,{55,99,0}}, +/* 29841 */ {(11<<2)|2,{55,99,0}}, +/* 29842 */ {(11<<2)|2,{55,99,0}}, +/* 29843 */ {(11<<2)|2,{55,99,0}}, +/* 29844 */ {(11<<2)|2,{55,99,0}}, +/* 29845 */ {(11<<2)|2,{55,99,0}}, +/* 29846 */ {(11<<2)|2,{55,99,0}}, +/* 29847 */ {(11<<2)|2,{55,99,0}}, +/* 29848 */ {(11<<2)|2,{55,99,0}}, +/* 29849 */ {(11<<2)|2,{55,99,0}}, +/* 29850 */ {(11<<2)|2,{55,99,0}}, +/* 29851 */ {(11<<2)|2,{55,99,0}}, +/* 29852 */ {(11<<2)|2,{55,99,0}}, +/* 29853 */ {(11<<2)|2,{55,99,0}}, +/* 29854 */ {(11<<2)|2,{55,99,0}}, +/* 29855 */ {(11<<2)|2,{55,99,0}}, +/* 29856 */ {(16<<2)|3,{55,101,48}}, +/* 29857 */ {(16<<2)|3,{55,101,49}}, +/* 29858 */ {(16<<2)|3,{55,101,50}}, +/* 29859 */ {(16<<2)|3,{55,101,97}}, +/* 29860 */ {(16<<2)|3,{55,101,99}}, +/* 29861 */ {(16<<2)|3,{55,101,101}}, +/* 29862 */ {(16<<2)|3,{55,101,105}}, +/* 29863 */ {(16<<2)|3,{55,101,111}}, +/* 29864 */ {(16<<2)|3,{55,101,115}}, +/* 29865 */ {(16<<2)|3,{55,101,116}}, +/* 29866 */ {(11<<2)|2,{55,101,0}}, +/* 29867 */ {(11<<2)|2,{55,101,0}}, +/* 29868 */ {(11<<2)|2,{55,101,0}}, +/* 29869 */ {(11<<2)|2,{55,101,0}}, +/* 29870 */ {(11<<2)|2,{55,101,0}}, +/* 29871 */ {(11<<2)|2,{55,101,0}}, +/* 29872 */ {(11<<2)|2,{55,101,0}}, +/* 29873 */ {(11<<2)|2,{55,101,0}}, +/* 29874 */ {(11<<2)|2,{55,101,0}}, +/* 29875 */ {(11<<2)|2,{55,101,0}}, +/* 29876 */ {(11<<2)|2,{55,101,0}}, +/* 29877 */ {(11<<2)|2,{55,101,0}}, +/* 29878 */ {(11<<2)|2,{55,101,0}}, +/* 29879 */ {(11<<2)|2,{55,101,0}}, +/* 29880 */ {(11<<2)|2,{55,101,0}}, +/* 29881 */ {(11<<2)|2,{55,101,0}}, +/* 29882 */ {(11<<2)|2,{55,101,0}}, +/* 29883 */ {(11<<2)|2,{55,101,0}}, +/* 29884 */ {(11<<2)|2,{55,101,0}}, +/* 29885 */ {(11<<2)|2,{55,101,0}}, +/* 29886 */ {(11<<2)|2,{55,101,0}}, +/* 29887 */ {(11<<2)|2,{55,101,0}}, +/* 29888 */ {(16<<2)|3,{55,105,48}}, +/* 29889 */ {(16<<2)|3,{55,105,49}}, +/* 29890 */ {(16<<2)|3,{55,105,50}}, +/* 29891 */ {(16<<2)|3,{55,105,97}}, +/* 29892 */ {(16<<2)|3,{55,105,99}}, +/* 29893 */ {(16<<2)|3,{55,105,101}}, +/* 29894 */ {(16<<2)|3,{55,105,105}}, +/* 29895 */ {(16<<2)|3,{55,105,111}}, +/* 29896 */ {(16<<2)|3,{55,105,115}}, +/* 29897 */ {(16<<2)|3,{55,105,116}}, +/* 29898 */ {(11<<2)|2,{55,105,0}}, +/* 29899 */ {(11<<2)|2,{55,105,0}}, +/* 29900 */ {(11<<2)|2,{55,105,0}}, +/* 29901 */ {(11<<2)|2,{55,105,0}}, +/* 29902 */ {(11<<2)|2,{55,105,0}}, +/* 29903 */ {(11<<2)|2,{55,105,0}}, +/* 29904 */ {(11<<2)|2,{55,105,0}}, +/* 29905 */ {(11<<2)|2,{55,105,0}}, +/* 29906 */ {(11<<2)|2,{55,105,0}}, +/* 29907 */ {(11<<2)|2,{55,105,0}}, +/* 29908 */ {(11<<2)|2,{55,105,0}}, +/* 29909 */ {(11<<2)|2,{55,105,0}}, +/* 29910 */ {(11<<2)|2,{55,105,0}}, +/* 29911 */ {(11<<2)|2,{55,105,0}}, +/* 29912 */ {(11<<2)|2,{55,105,0}}, +/* 29913 */ {(11<<2)|2,{55,105,0}}, +/* 29914 */ {(11<<2)|2,{55,105,0}}, +/* 29915 */ {(11<<2)|2,{55,105,0}}, +/* 29916 */ {(11<<2)|2,{55,105,0}}, +/* 29917 */ {(11<<2)|2,{55,105,0}}, +/* 29918 */ {(11<<2)|2,{55,105,0}}, +/* 29919 */ {(11<<2)|2,{55,105,0}}, +/* 29920 */ {(16<<2)|3,{55,111,48}}, +/* 29921 */ {(16<<2)|3,{55,111,49}}, +/* 29922 */ {(16<<2)|3,{55,111,50}}, +/* 29923 */ {(16<<2)|3,{55,111,97}}, +/* 29924 */ {(16<<2)|3,{55,111,99}}, +/* 29925 */ {(16<<2)|3,{55,111,101}}, +/* 29926 */ {(16<<2)|3,{55,111,105}}, +/* 29927 */ {(16<<2)|3,{55,111,111}}, +/* 29928 */ {(16<<2)|3,{55,111,115}}, +/* 29929 */ {(16<<2)|3,{55,111,116}}, +/* 29930 */ {(11<<2)|2,{55,111,0}}, +/* 29931 */ {(11<<2)|2,{55,111,0}}, +/* 29932 */ {(11<<2)|2,{55,111,0}}, +/* 29933 */ {(11<<2)|2,{55,111,0}}, +/* 29934 */ {(11<<2)|2,{55,111,0}}, +/* 29935 */ {(11<<2)|2,{55,111,0}}, +/* 29936 */ {(11<<2)|2,{55,111,0}}, +/* 29937 */ {(11<<2)|2,{55,111,0}}, +/* 29938 */ {(11<<2)|2,{55,111,0}}, +/* 29939 */ {(11<<2)|2,{55,111,0}}, +/* 29940 */ {(11<<2)|2,{55,111,0}}, +/* 29941 */ {(11<<2)|2,{55,111,0}}, +/* 29942 */ {(11<<2)|2,{55,111,0}}, +/* 29943 */ {(11<<2)|2,{55,111,0}}, +/* 29944 */ {(11<<2)|2,{55,111,0}}, +/* 29945 */ {(11<<2)|2,{55,111,0}}, +/* 29946 */ {(11<<2)|2,{55,111,0}}, +/* 29947 */ {(11<<2)|2,{55,111,0}}, +/* 29948 */ {(11<<2)|2,{55,111,0}}, +/* 29949 */ {(11<<2)|2,{55,111,0}}, +/* 29950 */ {(11<<2)|2,{55,111,0}}, +/* 29951 */ {(11<<2)|2,{55,111,0}}, +/* 29952 */ {(16<<2)|3,{55,115,48}}, +/* 29953 */ {(16<<2)|3,{55,115,49}}, +/* 29954 */ {(16<<2)|3,{55,115,50}}, +/* 29955 */ {(16<<2)|3,{55,115,97}}, +/* 29956 */ {(16<<2)|3,{55,115,99}}, +/* 29957 */ {(16<<2)|3,{55,115,101}}, +/* 29958 */ {(16<<2)|3,{55,115,105}}, +/* 29959 */ {(16<<2)|3,{55,115,111}}, +/* 29960 */ {(16<<2)|3,{55,115,115}}, +/* 29961 */ {(16<<2)|3,{55,115,116}}, +/* 29962 */ {(11<<2)|2,{55,115,0}}, +/* 29963 */ {(11<<2)|2,{55,115,0}}, +/* 29964 */ {(11<<2)|2,{55,115,0}}, +/* 29965 */ {(11<<2)|2,{55,115,0}}, +/* 29966 */ {(11<<2)|2,{55,115,0}}, +/* 29967 */ {(11<<2)|2,{55,115,0}}, +/* 29968 */ {(11<<2)|2,{55,115,0}}, +/* 29969 */ {(11<<2)|2,{55,115,0}}, +/* 29970 */ {(11<<2)|2,{55,115,0}}, +/* 29971 */ {(11<<2)|2,{55,115,0}}, +/* 29972 */ {(11<<2)|2,{55,115,0}}, +/* 29973 */ {(11<<2)|2,{55,115,0}}, +/* 29974 */ {(11<<2)|2,{55,115,0}}, +/* 29975 */ {(11<<2)|2,{55,115,0}}, +/* 29976 */ {(11<<2)|2,{55,115,0}}, +/* 29977 */ {(11<<2)|2,{55,115,0}}, +/* 29978 */ {(11<<2)|2,{55,115,0}}, +/* 29979 */ {(11<<2)|2,{55,115,0}}, +/* 29980 */ {(11<<2)|2,{55,115,0}}, +/* 29981 */ {(11<<2)|2,{55,115,0}}, +/* 29982 */ {(11<<2)|2,{55,115,0}}, +/* 29983 */ {(11<<2)|2,{55,115,0}}, +/* 29984 */ {(16<<2)|3,{55,116,48}}, +/* 29985 */ {(16<<2)|3,{55,116,49}}, +/* 29986 */ {(16<<2)|3,{55,116,50}}, +/* 29987 */ {(16<<2)|3,{55,116,97}}, +/* 29988 */ {(16<<2)|3,{55,116,99}}, +/* 29989 */ {(16<<2)|3,{55,116,101}}, +/* 29990 */ {(16<<2)|3,{55,116,105}}, +/* 29991 */ {(16<<2)|3,{55,116,111}}, +/* 29992 */ {(16<<2)|3,{55,116,115}}, +/* 29993 */ {(16<<2)|3,{55,116,116}}, +/* 29994 */ {(11<<2)|2,{55,116,0}}, +/* 29995 */ {(11<<2)|2,{55,116,0}}, +/* 29996 */ {(11<<2)|2,{55,116,0}}, +/* 29997 */ {(11<<2)|2,{55,116,0}}, +/* 29998 */ {(11<<2)|2,{55,116,0}}, +/* 29999 */ {(11<<2)|2,{55,116,0}}, +/* 30000 */ {(11<<2)|2,{55,116,0}}, +/* 30001 */ {(11<<2)|2,{55,116,0}}, +/* 30002 */ {(11<<2)|2,{55,116,0}}, +/* 30003 */ {(11<<2)|2,{55,116,0}}, +/* 30004 */ {(11<<2)|2,{55,116,0}}, +/* 30005 */ {(11<<2)|2,{55,116,0}}, +/* 30006 */ {(11<<2)|2,{55,116,0}}, +/* 30007 */ {(11<<2)|2,{55,116,0}}, +/* 30008 */ {(11<<2)|2,{55,116,0}}, +/* 30009 */ {(11<<2)|2,{55,116,0}}, +/* 30010 */ {(11<<2)|2,{55,116,0}}, +/* 30011 */ {(11<<2)|2,{55,116,0}}, +/* 30012 */ {(11<<2)|2,{55,116,0}}, +/* 30013 */ {(11<<2)|2,{55,116,0}}, +/* 30014 */ {(11<<2)|2,{55,116,0}}, +/* 30015 */ {(11<<2)|2,{55,116,0}}, +/* 30016 */ {(12<<2)|2,{55,32,0}}, +/* 30017 */ {(12<<2)|2,{55,32,0}}, +/* 30018 */ {(12<<2)|2,{55,32,0}}, +/* 30019 */ {(12<<2)|2,{55,32,0}}, +/* 30020 */ {(12<<2)|2,{55,32,0}}, +/* 30021 */ {(12<<2)|2,{55,32,0}}, +/* 30022 */ {(12<<2)|2,{55,32,0}}, +/* 30023 */ {(12<<2)|2,{55,32,0}}, +/* 30024 */ {(12<<2)|2,{55,32,0}}, +/* 30025 */ {(12<<2)|2,{55,32,0}}, +/* 30026 */ {(12<<2)|2,{55,32,0}}, +/* 30027 */ {(12<<2)|2,{55,32,0}}, +/* 30028 */ {(12<<2)|2,{55,32,0}}, +/* 30029 */ {(12<<2)|2,{55,32,0}}, +/* 30030 */ {(12<<2)|2,{55,32,0}}, +/* 30031 */ {(12<<2)|2,{55,32,0}}, +/* 30032 */ {(12<<2)|2,{55,37,0}}, +/* 30033 */ {(12<<2)|2,{55,37,0}}, +/* 30034 */ {(12<<2)|2,{55,37,0}}, +/* 30035 */ {(12<<2)|2,{55,37,0}}, +/* 30036 */ {(12<<2)|2,{55,37,0}}, +/* 30037 */ {(12<<2)|2,{55,37,0}}, +/* 30038 */ {(12<<2)|2,{55,37,0}}, +/* 30039 */ {(12<<2)|2,{55,37,0}}, +/* 30040 */ {(12<<2)|2,{55,37,0}}, +/* 30041 */ {(12<<2)|2,{55,37,0}}, +/* 30042 */ {(12<<2)|2,{55,37,0}}, +/* 30043 */ {(12<<2)|2,{55,37,0}}, +/* 30044 */ {(12<<2)|2,{55,37,0}}, +/* 30045 */ {(12<<2)|2,{55,37,0}}, +/* 30046 */ {(12<<2)|2,{55,37,0}}, +/* 30047 */ {(12<<2)|2,{55,37,0}}, +/* 30048 */ {(12<<2)|2,{55,45,0}}, +/* 30049 */ {(12<<2)|2,{55,45,0}}, +/* 30050 */ {(12<<2)|2,{55,45,0}}, +/* 30051 */ {(12<<2)|2,{55,45,0}}, +/* 30052 */ {(12<<2)|2,{55,45,0}}, +/* 30053 */ {(12<<2)|2,{55,45,0}}, +/* 30054 */ {(12<<2)|2,{55,45,0}}, +/* 30055 */ {(12<<2)|2,{55,45,0}}, +/* 30056 */ {(12<<2)|2,{55,45,0}}, +/* 30057 */ {(12<<2)|2,{55,45,0}}, +/* 30058 */ {(12<<2)|2,{55,45,0}}, +/* 30059 */ {(12<<2)|2,{55,45,0}}, +/* 30060 */ {(12<<2)|2,{55,45,0}}, +/* 30061 */ {(12<<2)|2,{55,45,0}}, +/* 30062 */ {(12<<2)|2,{55,45,0}}, +/* 30063 */ {(12<<2)|2,{55,45,0}}, +/* 30064 */ {(12<<2)|2,{55,46,0}}, +/* 30065 */ {(12<<2)|2,{55,46,0}}, +/* 30066 */ {(12<<2)|2,{55,46,0}}, +/* 30067 */ {(12<<2)|2,{55,46,0}}, +/* 30068 */ {(12<<2)|2,{55,46,0}}, +/* 30069 */ {(12<<2)|2,{55,46,0}}, +/* 30070 */ {(12<<2)|2,{55,46,0}}, +/* 30071 */ {(12<<2)|2,{55,46,0}}, +/* 30072 */ {(12<<2)|2,{55,46,0}}, +/* 30073 */ {(12<<2)|2,{55,46,0}}, +/* 30074 */ {(12<<2)|2,{55,46,0}}, +/* 30075 */ {(12<<2)|2,{55,46,0}}, +/* 30076 */ {(12<<2)|2,{55,46,0}}, +/* 30077 */ {(12<<2)|2,{55,46,0}}, +/* 30078 */ {(12<<2)|2,{55,46,0}}, +/* 30079 */ {(12<<2)|2,{55,46,0}}, +/* 30080 */ {(12<<2)|2,{55,47,0}}, +/* 30081 */ {(12<<2)|2,{55,47,0}}, +/* 30082 */ {(12<<2)|2,{55,47,0}}, +/* 30083 */ {(12<<2)|2,{55,47,0}}, +/* 30084 */ {(12<<2)|2,{55,47,0}}, +/* 30085 */ {(12<<2)|2,{55,47,0}}, +/* 30086 */ {(12<<2)|2,{55,47,0}}, +/* 30087 */ {(12<<2)|2,{55,47,0}}, +/* 30088 */ {(12<<2)|2,{55,47,0}}, +/* 30089 */ {(12<<2)|2,{55,47,0}}, +/* 30090 */ {(12<<2)|2,{55,47,0}}, +/* 30091 */ {(12<<2)|2,{55,47,0}}, +/* 30092 */ {(12<<2)|2,{55,47,0}}, +/* 30093 */ {(12<<2)|2,{55,47,0}}, +/* 30094 */ {(12<<2)|2,{55,47,0}}, +/* 30095 */ {(12<<2)|2,{55,47,0}}, +/* 30096 */ {(12<<2)|2,{55,51,0}}, +/* 30097 */ {(12<<2)|2,{55,51,0}}, +/* 30098 */ {(12<<2)|2,{55,51,0}}, +/* 30099 */ {(12<<2)|2,{55,51,0}}, +/* 30100 */ {(12<<2)|2,{55,51,0}}, +/* 30101 */ {(12<<2)|2,{55,51,0}}, +/* 30102 */ {(12<<2)|2,{55,51,0}}, +/* 30103 */ {(12<<2)|2,{55,51,0}}, +/* 30104 */ {(12<<2)|2,{55,51,0}}, +/* 30105 */ {(12<<2)|2,{55,51,0}}, +/* 30106 */ {(12<<2)|2,{55,51,0}}, +/* 30107 */ {(12<<2)|2,{55,51,0}}, +/* 30108 */ {(12<<2)|2,{55,51,0}}, +/* 30109 */ {(12<<2)|2,{55,51,0}}, +/* 30110 */ {(12<<2)|2,{55,51,0}}, +/* 30111 */ {(12<<2)|2,{55,51,0}}, +/* 30112 */ {(12<<2)|2,{55,52,0}}, +/* 30113 */ {(12<<2)|2,{55,52,0}}, +/* 30114 */ {(12<<2)|2,{55,52,0}}, +/* 30115 */ {(12<<2)|2,{55,52,0}}, +/* 30116 */ {(12<<2)|2,{55,52,0}}, +/* 30117 */ {(12<<2)|2,{55,52,0}}, +/* 30118 */ {(12<<2)|2,{55,52,0}}, +/* 30119 */ {(12<<2)|2,{55,52,0}}, +/* 30120 */ {(12<<2)|2,{55,52,0}}, +/* 30121 */ {(12<<2)|2,{55,52,0}}, +/* 30122 */ {(12<<2)|2,{55,52,0}}, +/* 30123 */ {(12<<2)|2,{55,52,0}}, +/* 30124 */ {(12<<2)|2,{55,52,0}}, +/* 30125 */ {(12<<2)|2,{55,52,0}}, +/* 30126 */ {(12<<2)|2,{55,52,0}}, +/* 30127 */ {(12<<2)|2,{55,52,0}}, +/* 30128 */ {(12<<2)|2,{55,53,0}}, +/* 30129 */ {(12<<2)|2,{55,53,0}}, +/* 30130 */ {(12<<2)|2,{55,53,0}}, +/* 30131 */ {(12<<2)|2,{55,53,0}}, +/* 30132 */ {(12<<2)|2,{55,53,0}}, +/* 30133 */ {(12<<2)|2,{55,53,0}}, +/* 30134 */ {(12<<2)|2,{55,53,0}}, +/* 30135 */ {(12<<2)|2,{55,53,0}}, +/* 30136 */ {(12<<2)|2,{55,53,0}}, +/* 30137 */ {(12<<2)|2,{55,53,0}}, +/* 30138 */ {(12<<2)|2,{55,53,0}}, +/* 30139 */ {(12<<2)|2,{55,53,0}}, +/* 30140 */ {(12<<2)|2,{55,53,0}}, +/* 30141 */ {(12<<2)|2,{55,53,0}}, +/* 30142 */ {(12<<2)|2,{55,53,0}}, +/* 30143 */ {(12<<2)|2,{55,53,0}}, +/* 30144 */ {(12<<2)|2,{55,54,0}}, +/* 30145 */ {(12<<2)|2,{55,54,0}}, +/* 30146 */ {(12<<2)|2,{55,54,0}}, +/* 30147 */ {(12<<2)|2,{55,54,0}}, +/* 30148 */ {(12<<2)|2,{55,54,0}}, +/* 30149 */ {(12<<2)|2,{55,54,0}}, +/* 30150 */ {(12<<2)|2,{55,54,0}}, +/* 30151 */ {(12<<2)|2,{55,54,0}}, +/* 30152 */ {(12<<2)|2,{55,54,0}}, +/* 30153 */ {(12<<2)|2,{55,54,0}}, +/* 30154 */ {(12<<2)|2,{55,54,0}}, +/* 30155 */ {(12<<2)|2,{55,54,0}}, +/* 30156 */ {(12<<2)|2,{55,54,0}}, +/* 30157 */ {(12<<2)|2,{55,54,0}}, +/* 30158 */ {(12<<2)|2,{55,54,0}}, +/* 30159 */ {(12<<2)|2,{55,54,0}}, +/* 30160 */ {(12<<2)|2,{55,55,0}}, +/* 30161 */ {(12<<2)|2,{55,55,0}}, +/* 30162 */ {(12<<2)|2,{55,55,0}}, +/* 30163 */ {(12<<2)|2,{55,55,0}}, +/* 30164 */ {(12<<2)|2,{55,55,0}}, +/* 30165 */ {(12<<2)|2,{55,55,0}}, +/* 30166 */ {(12<<2)|2,{55,55,0}}, +/* 30167 */ {(12<<2)|2,{55,55,0}}, +/* 30168 */ {(12<<2)|2,{55,55,0}}, +/* 30169 */ {(12<<2)|2,{55,55,0}}, +/* 30170 */ {(12<<2)|2,{55,55,0}}, +/* 30171 */ {(12<<2)|2,{55,55,0}}, +/* 30172 */ {(12<<2)|2,{55,55,0}}, +/* 30173 */ {(12<<2)|2,{55,55,0}}, +/* 30174 */ {(12<<2)|2,{55,55,0}}, +/* 30175 */ {(12<<2)|2,{55,55,0}}, +/* 30176 */ {(12<<2)|2,{55,56,0}}, +/* 30177 */ {(12<<2)|2,{55,56,0}}, +/* 30178 */ {(12<<2)|2,{55,56,0}}, +/* 30179 */ {(12<<2)|2,{55,56,0}}, +/* 30180 */ {(12<<2)|2,{55,56,0}}, +/* 30181 */ {(12<<2)|2,{55,56,0}}, +/* 30182 */ {(12<<2)|2,{55,56,0}}, +/* 30183 */ {(12<<2)|2,{55,56,0}}, +/* 30184 */ {(12<<2)|2,{55,56,0}}, +/* 30185 */ {(12<<2)|2,{55,56,0}}, +/* 30186 */ {(12<<2)|2,{55,56,0}}, +/* 30187 */ {(12<<2)|2,{55,56,0}}, +/* 30188 */ {(12<<2)|2,{55,56,0}}, +/* 30189 */ {(12<<2)|2,{55,56,0}}, +/* 30190 */ {(12<<2)|2,{55,56,0}}, +/* 30191 */ {(12<<2)|2,{55,56,0}}, +/* 30192 */ {(12<<2)|2,{55,57,0}}, +/* 30193 */ {(12<<2)|2,{55,57,0}}, +/* 30194 */ {(12<<2)|2,{55,57,0}}, +/* 30195 */ {(12<<2)|2,{55,57,0}}, +/* 30196 */ {(12<<2)|2,{55,57,0}}, +/* 30197 */ {(12<<2)|2,{55,57,0}}, +/* 30198 */ {(12<<2)|2,{55,57,0}}, +/* 30199 */ {(12<<2)|2,{55,57,0}}, +/* 30200 */ {(12<<2)|2,{55,57,0}}, +/* 30201 */ {(12<<2)|2,{55,57,0}}, +/* 30202 */ {(12<<2)|2,{55,57,0}}, +/* 30203 */ {(12<<2)|2,{55,57,0}}, +/* 30204 */ {(12<<2)|2,{55,57,0}}, +/* 30205 */ {(12<<2)|2,{55,57,0}}, +/* 30206 */ {(12<<2)|2,{55,57,0}}, +/* 30207 */ {(12<<2)|2,{55,57,0}}, +/* 30208 */ {(12<<2)|2,{55,61,0}}, +/* 30209 */ {(12<<2)|2,{55,61,0}}, +/* 30210 */ {(12<<2)|2,{55,61,0}}, +/* 30211 */ {(12<<2)|2,{55,61,0}}, +/* 30212 */ {(12<<2)|2,{55,61,0}}, +/* 30213 */ {(12<<2)|2,{55,61,0}}, +/* 30214 */ {(12<<2)|2,{55,61,0}}, +/* 30215 */ {(12<<2)|2,{55,61,0}}, +/* 30216 */ {(12<<2)|2,{55,61,0}}, +/* 30217 */ {(12<<2)|2,{55,61,0}}, +/* 30218 */ {(12<<2)|2,{55,61,0}}, +/* 30219 */ {(12<<2)|2,{55,61,0}}, +/* 30220 */ {(12<<2)|2,{55,61,0}}, +/* 30221 */ {(12<<2)|2,{55,61,0}}, +/* 30222 */ {(12<<2)|2,{55,61,0}}, +/* 30223 */ {(12<<2)|2,{55,61,0}}, +/* 30224 */ {(12<<2)|2,{55,65,0}}, +/* 30225 */ {(12<<2)|2,{55,65,0}}, +/* 30226 */ {(12<<2)|2,{55,65,0}}, +/* 30227 */ {(12<<2)|2,{55,65,0}}, +/* 30228 */ {(12<<2)|2,{55,65,0}}, +/* 30229 */ {(12<<2)|2,{55,65,0}}, +/* 30230 */ {(12<<2)|2,{55,65,0}}, +/* 30231 */ {(12<<2)|2,{55,65,0}}, +/* 30232 */ {(12<<2)|2,{55,65,0}}, +/* 30233 */ {(12<<2)|2,{55,65,0}}, +/* 30234 */ {(12<<2)|2,{55,65,0}}, +/* 30235 */ {(12<<2)|2,{55,65,0}}, +/* 30236 */ {(12<<2)|2,{55,65,0}}, +/* 30237 */ {(12<<2)|2,{55,65,0}}, +/* 30238 */ {(12<<2)|2,{55,65,0}}, +/* 30239 */ {(12<<2)|2,{55,65,0}}, +/* 30240 */ {(12<<2)|2,{55,95,0}}, +/* 30241 */ {(12<<2)|2,{55,95,0}}, +/* 30242 */ {(12<<2)|2,{55,95,0}}, +/* 30243 */ {(12<<2)|2,{55,95,0}}, +/* 30244 */ {(12<<2)|2,{55,95,0}}, +/* 30245 */ {(12<<2)|2,{55,95,0}}, +/* 30246 */ {(12<<2)|2,{55,95,0}}, +/* 30247 */ {(12<<2)|2,{55,95,0}}, +/* 30248 */ {(12<<2)|2,{55,95,0}}, +/* 30249 */ {(12<<2)|2,{55,95,0}}, +/* 30250 */ {(12<<2)|2,{55,95,0}}, +/* 30251 */ {(12<<2)|2,{55,95,0}}, +/* 30252 */ {(12<<2)|2,{55,95,0}}, +/* 30253 */ {(12<<2)|2,{55,95,0}}, +/* 30254 */ {(12<<2)|2,{55,95,0}}, +/* 30255 */ {(12<<2)|2,{55,95,0}}, +/* 30256 */ {(12<<2)|2,{55,98,0}}, +/* 30257 */ {(12<<2)|2,{55,98,0}}, +/* 30258 */ {(12<<2)|2,{55,98,0}}, +/* 30259 */ {(12<<2)|2,{55,98,0}}, +/* 30260 */ {(12<<2)|2,{55,98,0}}, +/* 30261 */ {(12<<2)|2,{55,98,0}}, +/* 30262 */ {(12<<2)|2,{55,98,0}}, +/* 30263 */ {(12<<2)|2,{55,98,0}}, +/* 30264 */ {(12<<2)|2,{55,98,0}}, +/* 30265 */ {(12<<2)|2,{55,98,0}}, +/* 30266 */ {(12<<2)|2,{55,98,0}}, +/* 30267 */ {(12<<2)|2,{55,98,0}}, +/* 30268 */ {(12<<2)|2,{55,98,0}}, +/* 30269 */ {(12<<2)|2,{55,98,0}}, +/* 30270 */ {(12<<2)|2,{55,98,0}}, +/* 30271 */ {(12<<2)|2,{55,98,0}}, +/* 30272 */ {(12<<2)|2,{55,100,0}}, +/* 30273 */ {(12<<2)|2,{55,100,0}}, +/* 30274 */ {(12<<2)|2,{55,100,0}}, +/* 30275 */ {(12<<2)|2,{55,100,0}}, +/* 30276 */ {(12<<2)|2,{55,100,0}}, +/* 30277 */ {(12<<2)|2,{55,100,0}}, +/* 30278 */ {(12<<2)|2,{55,100,0}}, +/* 30279 */ {(12<<2)|2,{55,100,0}}, +/* 30280 */ {(12<<2)|2,{55,100,0}}, +/* 30281 */ {(12<<2)|2,{55,100,0}}, +/* 30282 */ {(12<<2)|2,{55,100,0}}, +/* 30283 */ {(12<<2)|2,{55,100,0}}, +/* 30284 */ {(12<<2)|2,{55,100,0}}, +/* 30285 */ {(12<<2)|2,{55,100,0}}, +/* 30286 */ {(12<<2)|2,{55,100,0}}, +/* 30287 */ {(12<<2)|2,{55,100,0}}, +/* 30288 */ {(12<<2)|2,{55,102,0}}, +/* 30289 */ {(12<<2)|2,{55,102,0}}, +/* 30290 */ {(12<<2)|2,{55,102,0}}, +/* 30291 */ {(12<<2)|2,{55,102,0}}, +/* 30292 */ {(12<<2)|2,{55,102,0}}, +/* 30293 */ {(12<<2)|2,{55,102,0}}, +/* 30294 */ {(12<<2)|2,{55,102,0}}, +/* 30295 */ {(12<<2)|2,{55,102,0}}, +/* 30296 */ {(12<<2)|2,{55,102,0}}, +/* 30297 */ {(12<<2)|2,{55,102,0}}, +/* 30298 */ {(12<<2)|2,{55,102,0}}, +/* 30299 */ {(12<<2)|2,{55,102,0}}, +/* 30300 */ {(12<<2)|2,{55,102,0}}, +/* 30301 */ {(12<<2)|2,{55,102,0}}, +/* 30302 */ {(12<<2)|2,{55,102,0}}, +/* 30303 */ {(12<<2)|2,{55,102,0}}, +/* 30304 */ {(12<<2)|2,{55,103,0}}, +/* 30305 */ {(12<<2)|2,{55,103,0}}, +/* 30306 */ {(12<<2)|2,{55,103,0}}, +/* 30307 */ {(12<<2)|2,{55,103,0}}, +/* 30308 */ {(12<<2)|2,{55,103,0}}, +/* 30309 */ {(12<<2)|2,{55,103,0}}, +/* 30310 */ {(12<<2)|2,{55,103,0}}, +/* 30311 */ {(12<<2)|2,{55,103,0}}, +/* 30312 */ {(12<<2)|2,{55,103,0}}, +/* 30313 */ {(12<<2)|2,{55,103,0}}, +/* 30314 */ {(12<<2)|2,{55,103,0}}, +/* 30315 */ {(12<<2)|2,{55,103,0}}, +/* 30316 */ {(12<<2)|2,{55,103,0}}, +/* 30317 */ {(12<<2)|2,{55,103,0}}, +/* 30318 */ {(12<<2)|2,{55,103,0}}, +/* 30319 */ {(12<<2)|2,{55,103,0}}, +/* 30320 */ {(12<<2)|2,{55,104,0}}, +/* 30321 */ {(12<<2)|2,{55,104,0}}, +/* 30322 */ {(12<<2)|2,{55,104,0}}, +/* 30323 */ {(12<<2)|2,{55,104,0}}, +/* 30324 */ {(12<<2)|2,{55,104,0}}, +/* 30325 */ {(12<<2)|2,{55,104,0}}, +/* 30326 */ {(12<<2)|2,{55,104,0}}, +/* 30327 */ {(12<<2)|2,{55,104,0}}, +/* 30328 */ {(12<<2)|2,{55,104,0}}, +/* 30329 */ {(12<<2)|2,{55,104,0}}, +/* 30330 */ {(12<<2)|2,{55,104,0}}, +/* 30331 */ {(12<<2)|2,{55,104,0}}, +/* 30332 */ {(12<<2)|2,{55,104,0}}, +/* 30333 */ {(12<<2)|2,{55,104,0}}, +/* 30334 */ {(12<<2)|2,{55,104,0}}, +/* 30335 */ {(12<<2)|2,{55,104,0}}, +/* 30336 */ {(12<<2)|2,{55,108,0}}, +/* 30337 */ {(12<<2)|2,{55,108,0}}, +/* 30338 */ {(12<<2)|2,{55,108,0}}, +/* 30339 */ {(12<<2)|2,{55,108,0}}, +/* 30340 */ {(12<<2)|2,{55,108,0}}, +/* 30341 */ {(12<<2)|2,{55,108,0}}, +/* 30342 */ {(12<<2)|2,{55,108,0}}, +/* 30343 */ {(12<<2)|2,{55,108,0}}, +/* 30344 */ {(12<<2)|2,{55,108,0}}, +/* 30345 */ {(12<<2)|2,{55,108,0}}, +/* 30346 */ {(12<<2)|2,{55,108,0}}, +/* 30347 */ {(12<<2)|2,{55,108,0}}, +/* 30348 */ {(12<<2)|2,{55,108,0}}, +/* 30349 */ {(12<<2)|2,{55,108,0}}, +/* 30350 */ {(12<<2)|2,{55,108,0}}, +/* 30351 */ {(12<<2)|2,{55,108,0}}, +/* 30352 */ {(12<<2)|2,{55,109,0}}, +/* 30353 */ {(12<<2)|2,{55,109,0}}, +/* 30354 */ {(12<<2)|2,{55,109,0}}, +/* 30355 */ {(12<<2)|2,{55,109,0}}, +/* 30356 */ {(12<<2)|2,{55,109,0}}, +/* 30357 */ {(12<<2)|2,{55,109,0}}, +/* 30358 */ {(12<<2)|2,{55,109,0}}, +/* 30359 */ {(12<<2)|2,{55,109,0}}, +/* 30360 */ {(12<<2)|2,{55,109,0}}, +/* 30361 */ {(12<<2)|2,{55,109,0}}, +/* 30362 */ {(12<<2)|2,{55,109,0}}, +/* 30363 */ {(12<<2)|2,{55,109,0}}, +/* 30364 */ {(12<<2)|2,{55,109,0}}, +/* 30365 */ {(12<<2)|2,{55,109,0}}, +/* 30366 */ {(12<<2)|2,{55,109,0}}, +/* 30367 */ {(12<<2)|2,{55,109,0}}, +/* 30368 */ {(12<<2)|2,{55,110,0}}, +/* 30369 */ {(12<<2)|2,{55,110,0}}, +/* 30370 */ {(12<<2)|2,{55,110,0}}, +/* 30371 */ {(12<<2)|2,{55,110,0}}, +/* 30372 */ {(12<<2)|2,{55,110,0}}, +/* 30373 */ {(12<<2)|2,{55,110,0}}, +/* 30374 */ {(12<<2)|2,{55,110,0}}, +/* 30375 */ {(12<<2)|2,{55,110,0}}, +/* 30376 */ {(12<<2)|2,{55,110,0}}, +/* 30377 */ {(12<<2)|2,{55,110,0}}, +/* 30378 */ {(12<<2)|2,{55,110,0}}, +/* 30379 */ {(12<<2)|2,{55,110,0}}, +/* 30380 */ {(12<<2)|2,{55,110,0}}, +/* 30381 */ {(12<<2)|2,{55,110,0}}, +/* 30382 */ {(12<<2)|2,{55,110,0}}, +/* 30383 */ {(12<<2)|2,{55,110,0}}, +/* 30384 */ {(12<<2)|2,{55,112,0}}, +/* 30385 */ {(12<<2)|2,{55,112,0}}, +/* 30386 */ {(12<<2)|2,{55,112,0}}, +/* 30387 */ {(12<<2)|2,{55,112,0}}, +/* 30388 */ {(12<<2)|2,{55,112,0}}, +/* 30389 */ {(12<<2)|2,{55,112,0}}, +/* 30390 */ {(12<<2)|2,{55,112,0}}, +/* 30391 */ {(12<<2)|2,{55,112,0}}, +/* 30392 */ {(12<<2)|2,{55,112,0}}, +/* 30393 */ {(12<<2)|2,{55,112,0}}, +/* 30394 */ {(12<<2)|2,{55,112,0}}, +/* 30395 */ {(12<<2)|2,{55,112,0}}, +/* 30396 */ {(12<<2)|2,{55,112,0}}, +/* 30397 */ {(12<<2)|2,{55,112,0}}, +/* 30398 */ {(12<<2)|2,{55,112,0}}, +/* 30399 */ {(12<<2)|2,{55,112,0}}, +/* 30400 */ {(12<<2)|2,{55,114,0}}, +/* 30401 */ {(12<<2)|2,{55,114,0}}, +/* 30402 */ {(12<<2)|2,{55,114,0}}, +/* 30403 */ {(12<<2)|2,{55,114,0}}, +/* 30404 */ {(12<<2)|2,{55,114,0}}, +/* 30405 */ {(12<<2)|2,{55,114,0}}, +/* 30406 */ {(12<<2)|2,{55,114,0}}, +/* 30407 */ {(12<<2)|2,{55,114,0}}, +/* 30408 */ {(12<<2)|2,{55,114,0}}, +/* 30409 */ {(12<<2)|2,{55,114,0}}, +/* 30410 */ {(12<<2)|2,{55,114,0}}, +/* 30411 */ {(12<<2)|2,{55,114,0}}, +/* 30412 */ {(12<<2)|2,{55,114,0}}, +/* 30413 */ {(12<<2)|2,{55,114,0}}, +/* 30414 */ {(12<<2)|2,{55,114,0}}, +/* 30415 */ {(12<<2)|2,{55,114,0}}, +/* 30416 */ {(12<<2)|2,{55,117,0}}, +/* 30417 */ {(12<<2)|2,{55,117,0}}, +/* 30418 */ {(12<<2)|2,{55,117,0}}, +/* 30419 */ {(12<<2)|2,{55,117,0}}, +/* 30420 */ {(12<<2)|2,{55,117,0}}, +/* 30421 */ {(12<<2)|2,{55,117,0}}, +/* 30422 */ {(12<<2)|2,{55,117,0}}, +/* 30423 */ {(12<<2)|2,{55,117,0}}, +/* 30424 */ {(12<<2)|2,{55,117,0}}, +/* 30425 */ {(12<<2)|2,{55,117,0}}, +/* 30426 */ {(12<<2)|2,{55,117,0}}, +/* 30427 */ {(12<<2)|2,{55,117,0}}, +/* 30428 */ {(12<<2)|2,{55,117,0}}, +/* 30429 */ {(12<<2)|2,{55,117,0}}, +/* 30430 */ {(12<<2)|2,{55,117,0}}, +/* 30431 */ {(12<<2)|2,{55,117,0}}, +/* 30432 */ {(13<<2)|2,{55,58,0}}, +/* 30433 */ {(13<<2)|2,{55,58,0}}, +/* 30434 */ {(13<<2)|2,{55,58,0}}, +/* 30435 */ {(13<<2)|2,{55,58,0}}, +/* 30436 */ {(13<<2)|2,{55,58,0}}, +/* 30437 */ {(13<<2)|2,{55,58,0}}, +/* 30438 */ {(13<<2)|2,{55,58,0}}, +/* 30439 */ {(13<<2)|2,{55,58,0}}, +/* 30440 */ {(13<<2)|2,{55,66,0}}, +/* 30441 */ {(13<<2)|2,{55,66,0}}, +/* 30442 */ {(13<<2)|2,{55,66,0}}, +/* 30443 */ {(13<<2)|2,{55,66,0}}, +/* 30444 */ {(13<<2)|2,{55,66,0}}, +/* 30445 */ {(13<<2)|2,{55,66,0}}, +/* 30446 */ {(13<<2)|2,{55,66,0}}, +/* 30447 */ {(13<<2)|2,{55,66,0}}, +/* 30448 */ {(13<<2)|2,{55,67,0}}, +/* 30449 */ {(13<<2)|2,{55,67,0}}, +/* 30450 */ {(13<<2)|2,{55,67,0}}, +/* 30451 */ {(13<<2)|2,{55,67,0}}, +/* 30452 */ {(13<<2)|2,{55,67,0}}, +/* 30453 */ {(13<<2)|2,{55,67,0}}, +/* 30454 */ {(13<<2)|2,{55,67,0}}, +/* 30455 */ {(13<<2)|2,{55,67,0}}, +/* 30456 */ {(13<<2)|2,{55,68,0}}, +/* 30457 */ {(13<<2)|2,{55,68,0}}, +/* 30458 */ {(13<<2)|2,{55,68,0}}, +/* 30459 */ {(13<<2)|2,{55,68,0}}, +/* 30460 */ {(13<<2)|2,{55,68,0}}, +/* 30461 */ {(13<<2)|2,{55,68,0}}, +/* 30462 */ {(13<<2)|2,{55,68,0}}, +/* 30463 */ {(13<<2)|2,{55,68,0}}, +/* 30464 */ {(13<<2)|2,{55,69,0}}, +/* 30465 */ {(13<<2)|2,{55,69,0}}, +/* 30466 */ {(13<<2)|2,{55,69,0}}, +/* 30467 */ {(13<<2)|2,{55,69,0}}, +/* 30468 */ {(13<<2)|2,{55,69,0}}, +/* 30469 */ {(13<<2)|2,{55,69,0}}, +/* 30470 */ {(13<<2)|2,{55,69,0}}, +/* 30471 */ {(13<<2)|2,{55,69,0}}, +/* 30472 */ {(13<<2)|2,{55,70,0}}, +/* 30473 */ {(13<<2)|2,{55,70,0}}, +/* 30474 */ {(13<<2)|2,{55,70,0}}, +/* 30475 */ {(13<<2)|2,{55,70,0}}, +/* 30476 */ {(13<<2)|2,{55,70,0}}, +/* 30477 */ {(13<<2)|2,{55,70,0}}, +/* 30478 */ {(13<<2)|2,{55,70,0}}, +/* 30479 */ {(13<<2)|2,{55,70,0}}, +/* 30480 */ {(13<<2)|2,{55,71,0}}, +/* 30481 */ {(13<<2)|2,{55,71,0}}, +/* 30482 */ {(13<<2)|2,{55,71,0}}, +/* 30483 */ {(13<<2)|2,{55,71,0}}, +/* 30484 */ {(13<<2)|2,{55,71,0}}, +/* 30485 */ {(13<<2)|2,{55,71,0}}, +/* 30486 */ {(13<<2)|2,{55,71,0}}, +/* 30487 */ {(13<<2)|2,{55,71,0}}, +/* 30488 */ {(13<<2)|2,{55,72,0}}, +/* 30489 */ {(13<<2)|2,{55,72,0}}, +/* 30490 */ {(13<<2)|2,{55,72,0}}, +/* 30491 */ {(13<<2)|2,{55,72,0}}, +/* 30492 */ {(13<<2)|2,{55,72,0}}, +/* 30493 */ {(13<<2)|2,{55,72,0}}, +/* 30494 */ {(13<<2)|2,{55,72,0}}, +/* 30495 */ {(13<<2)|2,{55,72,0}}, +/* 30496 */ {(13<<2)|2,{55,73,0}}, +/* 30497 */ {(13<<2)|2,{55,73,0}}, +/* 30498 */ {(13<<2)|2,{55,73,0}}, +/* 30499 */ {(13<<2)|2,{55,73,0}}, +/* 30500 */ {(13<<2)|2,{55,73,0}}, +/* 30501 */ {(13<<2)|2,{55,73,0}}, +/* 30502 */ {(13<<2)|2,{55,73,0}}, +/* 30503 */ {(13<<2)|2,{55,73,0}}, +/* 30504 */ {(13<<2)|2,{55,74,0}}, +/* 30505 */ {(13<<2)|2,{55,74,0}}, +/* 30506 */ {(13<<2)|2,{55,74,0}}, +/* 30507 */ {(13<<2)|2,{55,74,0}}, +/* 30508 */ {(13<<2)|2,{55,74,0}}, +/* 30509 */ {(13<<2)|2,{55,74,0}}, +/* 30510 */ {(13<<2)|2,{55,74,0}}, +/* 30511 */ {(13<<2)|2,{55,74,0}}, +/* 30512 */ {(13<<2)|2,{55,75,0}}, +/* 30513 */ {(13<<2)|2,{55,75,0}}, +/* 30514 */ {(13<<2)|2,{55,75,0}}, +/* 30515 */ {(13<<2)|2,{55,75,0}}, +/* 30516 */ {(13<<2)|2,{55,75,0}}, +/* 30517 */ {(13<<2)|2,{55,75,0}}, +/* 30518 */ {(13<<2)|2,{55,75,0}}, +/* 30519 */ {(13<<2)|2,{55,75,0}}, +/* 30520 */ {(13<<2)|2,{55,76,0}}, +/* 30521 */ {(13<<2)|2,{55,76,0}}, +/* 30522 */ {(13<<2)|2,{55,76,0}}, +/* 30523 */ {(13<<2)|2,{55,76,0}}, +/* 30524 */ {(13<<2)|2,{55,76,0}}, +/* 30525 */ {(13<<2)|2,{55,76,0}}, +/* 30526 */ {(13<<2)|2,{55,76,0}}, +/* 30527 */ {(13<<2)|2,{55,76,0}}, +/* 30528 */ {(13<<2)|2,{55,77,0}}, +/* 30529 */ {(13<<2)|2,{55,77,0}}, +/* 30530 */ {(13<<2)|2,{55,77,0}}, +/* 30531 */ {(13<<2)|2,{55,77,0}}, +/* 30532 */ {(13<<2)|2,{55,77,0}}, +/* 30533 */ {(13<<2)|2,{55,77,0}}, +/* 30534 */ {(13<<2)|2,{55,77,0}}, +/* 30535 */ {(13<<2)|2,{55,77,0}}, +/* 30536 */ {(13<<2)|2,{55,78,0}}, +/* 30537 */ {(13<<2)|2,{55,78,0}}, +/* 30538 */ {(13<<2)|2,{55,78,0}}, +/* 30539 */ {(13<<2)|2,{55,78,0}}, +/* 30540 */ {(13<<2)|2,{55,78,0}}, +/* 30541 */ {(13<<2)|2,{55,78,0}}, +/* 30542 */ {(13<<2)|2,{55,78,0}}, +/* 30543 */ {(13<<2)|2,{55,78,0}}, +/* 30544 */ {(13<<2)|2,{55,79,0}}, +/* 30545 */ {(13<<2)|2,{55,79,0}}, +/* 30546 */ {(13<<2)|2,{55,79,0}}, +/* 30547 */ {(13<<2)|2,{55,79,0}}, +/* 30548 */ {(13<<2)|2,{55,79,0}}, +/* 30549 */ {(13<<2)|2,{55,79,0}}, +/* 30550 */ {(13<<2)|2,{55,79,0}}, +/* 30551 */ {(13<<2)|2,{55,79,0}}, +/* 30552 */ {(13<<2)|2,{55,80,0}}, +/* 30553 */ {(13<<2)|2,{55,80,0}}, +/* 30554 */ {(13<<2)|2,{55,80,0}}, +/* 30555 */ {(13<<2)|2,{55,80,0}}, +/* 30556 */ {(13<<2)|2,{55,80,0}}, +/* 30557 */ {(13<<2)|2,{55,80,0}}, +/* 30558 */ {(13<<2)|2,{55,80,0}}, +/* 30559 */ {(13<<2)|2,{55,80,0}}, +/* 30560 */ {(13<<2)|2,{55,81,0}}, +/* 30561 */ {(13<<2)|2,{55,81,0}}, +/* 30562 */ {(13<<2)|2,{55,81,0}}, +/* 30563 */ {(13<<2)|2,{55,81,0}}, +/* 30564 */ {(13<<2)|2,{55,81,0}}, +/* 30565 */ {(13<<2)|2,{55,81,0}}, +/* 30566 */ {(13<<2)|2,{55,81,0}}, +/* 30567 */ {(13<<2)|2,{55,81,0}}, +/* 30568 */ {(13<<2)|2,{55,82,0}}, +/* 30569 */ {(13<<2)|2,{55,82,0}}, +/* 30570 */ {(13<<2)|2,{55,82,0}}, +/* 30571 */ {(13<<2)|2,{55,82,0}}, +/* 30572 */ {(13<<2)|2,{55,82,0}}, +/* 30573 */ {(13<<2)|2,{55,82,0}}, +/* 30574 */ {(13<<2)|2,{55,82,0}}, +/* 30575 */ {(13<<2)|2,{55,82,0}}, +/* 30576 */ {(13<<2)|2,{55,83,0}}, +/* 30577 */ {(13<<2)|2,{55,83,0}}, +/* 30578 */ {(13<<2)|2,{55,83,0}}, +/* 30579 */ {(13<<2)|2,{55,83,0}}, +/* 30580 */ {(13<<2)|2,{55,83,0}}, +/* 30581 */ {(13<<2)|2,{55,83,0}}, +/* 30582 */ {(13<<2)|2,{55,83,0}}, +/* 30583 */ {(13<<2)|2,{55,83,0}}, +/* 30584 */ {(13<<2)|2,{55,84,0}}, +/* 30585 */ {(13<<2)|2,{55,84,0}}, +/* 30586 */ {(13<<2)|2,{55,84,0}}, +/* 30587 */ {(13<<2)|2,{55,84,0}}, +/* 30588 */ {(13<<2)|2,{55,84,0}}, +/* 30589 */ {(13<<2)|2,{55,84,0}}, +/* 30590 */ {(13<<2)|2,{55,84,0}}, +/* 30591 */ {(13<<2)|2,{55,84,0}}, +/* 30592 */ {(13<<2)|2,{55,85,0}}, +/* 30593 */ {(13<<2)|2,{55,85,0}}, +/* 30594 */ {(13<<2)|2,{55,85,0}}, +/* 30595 */ {(13<<2)|2,{55,85,0}}, +/* 30596 */ {(13<<2)|2,{55,85,0}}, +/* 30597 */ {(13<<2)|2,{55,85,0}}, +/* 30598 */ {(13<<2)|2,{55,85,0}}, +/* 30599 */ {(13<<2)|2,{55,85,0}}, +/* 30600 */ {(13<<2)|2,{55,86,0}}, +/* 30601 */ {(13<<2)|2,{55,86,0}}, +/* 30602 */ {(13<<2)|2,{55,86,0}}, +/* 30603 */ {(13<<2)|2,{55,86,0}}, +/* 30604 */ {(13<<2)|2,{55,86,0}}, +/* 30605 */ {(13<<2)|2,{55,86,0}}, +/* 30606 */ {(13<<2)|2,{55,86,0}}, +/* 30607 */ {(13<<2)|2,{55,86,0}}, +/* 30608 */ {(13<<2)|2,{55,87,0}}, +/* 30609 */ {(13<<2)|2,{55,87,0}}, +/* 30610 */ {(13<<2)|2,{55,87,0}}, +/* 30611 */ {(13<<2)|2,{55,87,0}}, +/* 30612 */ {(13<<2)|2,{55,87,0}}, +/* 30613 */ {(13<<2)|2,{55,87,0}}, +/* 30614 */ {(13<<2)|2,{55,87,0}}, +/* 30615 */ {(13<<2)|2,{55,87,0}}, +/* 30616 */ {(13<<2)|2,{55,89,0}}, +/* 30617 */ {(13<<2)|2,{55,89,0}}, +/* 30618 */ {(13<<2)|2,{55,89,0}}, +/* 30619 */ {(13<<2)|2,{55,89,0}}, +/* 30620 */ {(13<<2)|2,{55,89,0}}, +/* 30621 */ {(13<<2)|2,{55,89,0}}, +/* 30622 */ {(13<<2)|2,{55,89,0}}, +/* 30623 */ {(13<<2)|2,{55,89,0}}, +/* 30624 */ {(13<<2)|2,{55,106,0}}, +/* 30625 */ {(13<<2)|2,{55,106,0}}, +/* 30626 */ {(13<<2)|2,{55,106,0}}, +/* 30627 */ {(13<<2)|2,{55,106,0}}, +/* 30628 */ {(13<<2)|2,{55,106,0}}, +/* 30629 */ {(13<<2)|2,{55,106,0}}, +/* 30630 */ {(13<<2)|2,{55,106,0}}, +/* 30631 */ {(13<<2)|2,{55,106,0}}, +/* 30632 */ {(13<<2)|2,{55,107,0}}, +/* 30633 */ {(13<<2)|2,{55,107,0}}, +/* 30634 */ {(13<<2)|2,{55,107,0}}, +/* 30635 */ {(13<<2)|2,{55,107,0}}, +/* 30636 */ {(13<<2)|2,{55,107,0}}, +/* 30637 */ {(13<<2)|2,{55,107,0}}, +/* 30638 */ {(13<<2)|2,{55,107,0}}, +/* 30639 */ {(13<<2)|2,{55,107,0}}, +/* 30640 */ {(13<<2)|2,{55,113,0}}, +/* 30641 */ {(13<<2)|2,{55,113,0}}, +/* 30642 */ {(13<<2)|2,{55,113,0}}, +/* 30643 */ {(13<<2)|2,{55,113,0}}, +/* 30644 */ {(13<<2)|2,{55,113,0}}, +/* 30645 */ {(13<<2)|2,{55,113,0}}, +/* 30646 */ {(13<<2)|2,{55,113,0}}, +/* 30647 */ {(13<<2)|2,{55,113,0}}, +/* 30648 */ {(13<<2)|2,{55,118,0}}, +/* 30649 */ {(13<<2)|2,{55,118,0}}, +/* 30650 */ {(13<<2)|2,{55,118,0}}, +/* 30651 */ {(13<<2)|2,{55,118,0}}, +/* 30652 */ {(13<<2)|2,{55,118,0}}, +/* 30653 */ {(13<<2)|2,{55,118,0}}, +/* 30654 */ {(13<<2)|2,{55,118,0}}, +/* 30655 */ {(13<<2)|2,{55,118,0}}, +/* 30656 */ {(13<<2)|2,{55,119,0}}, +/* 30657 */ {(13<<2)|2,{55,119,0}}, +/* 30658 */ {(13<<2)|2,{55,119,0}}, +/* 30659 */ {(13<<2)|2,{55,119,0}}, +/* 30660 */ {(13<<2)|2,{55,119,0}}, +/* 30661 */ {(13<<2)|2,{55,119,0}}, +/* 30662 */ {(13<<2)|2,{55,119,0}}, +/* 30663 */ {(13<<2)|2,{55,119,0}}, +/* 30664 */ {(13<<2)|2,{55,120,0}}, +/* 30665 */ {(13<<2)|2,{55,120,0}}, +/* 30666 */ {(13<<2)|2,{55,120,0}}, +/* 30667 */ {(13<<2)|2,{55,120,0}}, +/* 30668 */ {(13<<2)|2,{55,120,0}}, +/* 30669 */ {(13<<2)|2,{55,120,0}}, +/* 30670 */ {(13<<2)|2,{55,120,0}}, +/* 30671 */ {(13<<2)|2,{55,120,0}}, +/* 30672 */ {(13<<2)|2,{55,121,0}}, +/* 30673 */ {(13<<2)|2,{55,121,0}}, +/* 30674 */ {(13<<2)|2,{55,121,0}}, +/* 30675 */ {(13<<2)|2,{55,121,0}}, +/* 30676 */ {(13<<2)|2,{55,121,0}}, +/* 30677 */ {(13<<2)|2,{55,121,0}}, +/* 30678 */ {(13<<2)|2,{55,121,0}}, +/* 30679 */ {(13<<2)|2,{55,121,0}}, +/* 30680 */ {(13<<2)|2,{55,122,0}}, +/* 30681 */ {(13<<2)|2,{55,122,0}}, +/* 30682 */ {(13<<2)|2,{55,122,0}}, +/* 30683 */ {(13<<2)|2,{55,122,0}}, +/* 30684 */ {(13<<2)|2,{55,122,0}}, +/* 30685 */ {(13<<2)|2,{55,122,0}}, +/* 30686 */ {(13<<2)|2,{55,122,0}}, +/* 30687 */ {(13<<2)|2,{55,122,0}}, +/* 30688 */ {(14<<2)|2,{55,38,0}}, +/* 30689 */ {(14<<2)|2,{55,38,0}}, +/* 30690 */ {(14<<2)|2,{55,38,0}}, +/* 30691 */ {(14<<2)|2,{55,38,0}}, +/* 30692 */ {(14<<2)|2,{55,42,0}}, +/* 30693 */ {(14<<2)|2,{55,42,0}}, +/* 30694 */ {(14<<2)|2,{55,42,0}}, +/* 30695 */ {(14<<2)|2,{55,42,0}}, +/* 30696 */ {(14<<2)|2,{55,44,0}}, +/* 30697 */ {(14<<2)|2,{55,44,0}}, +/* 30698 */ {(14<<2)|2,{55,44,0}}, +/* 30699 */ {(14<<2)|2,{55,44,0}}, +/* 30700 */ {(14<<2)|2,{55,59,0}}, +/* 30701 */ {(14<<2)|2,{55,59,0}}, +/* 30702 */ {(14<<2)|2,{55,59,0}}, +/* 30703 */ {(14<<2)|2,{55,59,0}}, +/* 30704 */ {(14<<2)|2,{55,88,0}}, +/* 30705 */ {(14<<2)|2,{55,88,0}}, +/* 30706 */ {(14<<2)|2,{55,88,0}}, +/* 30707 */ {(14<<2)|2,{55,88,0}}, +/* 30708 */ {(14<<2)|2,{55,90,0}}, +/* 30709 */ {(14<<2)|2,{55,90,0}}, +/* 30710 */ {(14<<2)|2,{55,90,0}}, +/* 30711 */ {(14<<2)|2,{55,90,0}}, +/* 30712 */ {(16<<2)|2,{55,33,0}}, +/* 30713 */ {(16<<2)|2,{55,34,0}}, +/* 30714 */ {(16<<2)|2,{55,40,0}}, +/* 30715 */ {(16<<2)|2,{55,41,0}}, +/* 30716 */ {(16<<2)|2,{55,63,0}}, +/* 30717 */ {(6<<2)|1,{55,0,0}}, +/* 30718 */ {(6<<2)|1,{55,0,0}}, +/* 30719 */ {(6<<2)|1,{55,0,0}}, +/* 30720 */ {(16<<2)|3,{56,48,48}}, +/* 30721 */ {(16<<2)|3,{56,48,49}}, +/* 30722 */ {(16<<2)|3,{56,48,50}}, +/* 30723 */ {(16<<2)|3,{56,48,97}}, +/* 30724 */ {(16<<2)|3,{56,48,99}}, +/* 30725 */ {(16<<2)|3,{56,48,101}}, +/* 30726 */ {(16<<2)|3,{56,48,105}}, +/* 30727 */ {(16<<2)|3,{56,48,111}}, +/* 30728 */ {(16<<2)|3,{56,48,115}}, +/* 30729 */ {(16<<2)|3,{56,48,116}}, +/* 30730 */ {(11<<2)|2,{56,48,0}}, +/* 30731 */ {(11<<2)|2,{56,48,0}}, +/* 30732 */ {(11<<2)|2,{56,48,0}}, +/* 30733 */ {(11<<2)|2,{56,48,0}}, +/* 30734 */ {(11<<2)|2,{56,48,0}}, +/* 30735 */ {(11<<2)|2,{56,48,0}}, +/* 30736 */ {(11<<2)|2,{56,48,0}}, +/* 30737 */ {(11<<2)|2,{56,48,0}}, +/* 30738 */ {(11<<2)|2,{56,48,0}}, +/* 30739 */ {(11<<2)|2,{56,48,0}}, +/* 30740 */ {(11<<2)|2,{56,48,0}}, +/* 30741 */ {(11<<2)|2,{56,48,0}}, +/* 30742 */ {(11<<2)|2,{56,48,0}}, +/* 30743 */ {(11<<2)|2,{56,48,0}}, +/* 30744 */ {(11<<2)|2,{56,48,0}}, +/* 30745 */ {(11<<2)|2,{56,48,0}}, +/* 30746 */ {(11<<2)|2,{56,48,0}}, +/* 30747 */ {(11<<2)|2,{56,48,0}}, +/* 30748 */ {(11<<2)|2,{56,48,0}}, +/* 30749 */ {(11<<2)|2,{56,48,0}}, +/* 30750 */ {(11<<2)|2,{56,48,0}}, +/* 30751 */ {(11<<2)|2,{56,48,0}}, +/* 30752 */ {(16<<2)|3,{56,49,48}}, +/* 30753 */ {(16<<2)|3,{56,49,49}}, +/* 30754 */ {(16<<2)|3,{56,49,50}}, +/* 30755 */ {(16<<2)|3,{56,49,97}}, +/* 30756 */ {(16<<2)|3,{56,49,99}}, +/* 30757 */ {(16<<2)|3,{56,49,101}}, +/* 30758 */ {(16<<2)|3,{56,49,105}}, +/* 30759 */ {(16<<2)|3,{56,49,111}}, +/* 30760 */ {(16<<2)|3,{56,49,115}}, +/* 30761 */ {(16<<2)|3,{56,49,116}}, +/* 30762 */ {(11<<2)|2,{56,49,0}}, +/* 30763 */ {(11<<2)|2,{56,49,0}}, +/* 30764 */ {(11<<2)|2,{56,49,0}}, +/* 30765 */ {(11<<2)|2,{56,49,0}}, +/* 30766 */ {(11<<2)|2,{56,49,0}}, +/* 30767 */ {(11<<2)|2,{56,49,0}}, +/* 30768 */ {(11<<2)|2,{56,49,0}}, +/* 30769 */ {(11<<2)|2,{56,49,0}}, +/* 30770 */ {(11<<2)|2,{56,49,0}}, +/* 30771 */ {(11<<2)|2,{56,49,0}}, +/* 30772 */ {(11<<2)|2,{56,49,0}}, +/* 30773 */ {(11<<2)|2,{56,49,0}}, +/* 30774 */ {(11<<2)|2,{56,49,0}}, +/* 30775 */ {(11<<2)|2,{56,49,0}}, +/* 30776 */ {(11<<2)|2,{56,49,0}}, +/* 30777 */ {(11<<2)|2,{56,49,0}}, +/* 30778 */ {(11<<2)|2,{56,49,0}}, +/* 30779 */ {(11<<2)|2,{56,49,0}}, +/* 30780 */ {(11<<2)|2,{56,49,0}}, +/* 30781 */ {(11<<2)|2,{56,49,0}}, +/* 30782 */ {(11<<2)|2,{56,49,0}}, +/* 30783 */ {(11<<2)|2,{56,49,0}}, +/* 30784 */ {(16<<2)|3,{56,50,48}}, +/* 30785 */ {(16<<2)|3,{56,50,49}}, +/* 30786 */ {(16<<2)|3,{56,50,50}}, +/* 30787 */ {(16<<2)|3,{56,50,97}}, +/* 30788 */ {(16<<2)|3,{56,50,99}}, +/* 30789 */ {(16<<2)|3,{56,50,101}}, +/* 30790 */ {(16<<2)|3,{56,50,105}}, +/* 30791 */ {(16<<2)|3,{56,50,111}}, +/* 30792 */ {(16<<2)|3,{56,50,115}}, +/* 30793 */ {(16<<2)|3,{56,50,116}}, +/* 30794 */ {(11<<2)|2,{56,50,0}}, +/* 30795 */ {(11<<2)|2,{56,50,0}}, +/* 30796 */ {(11<<2)|2,{56,50,0}}, +/* 30797 */ {(11<<2)|2,{56,50,0}}, +/* 30798 */ {(11<<2)|2,{56,50,0}}, +/* 30799 */ {(11<<2)|2,{56,50,0}}, +/* 30800 */ {(11<<2)|2,{56,50,0}}, +/* 30801 */ {(11<<2)|2,{56,50,0}}, +/* 30802 */ {(11<<2)|2,{56,50,0}}, +/* 30803 */ {(11<<2)|2,{56,50,0}}, +/* 30804 */ {(11<<2)|2,{56,50,0}}, +/* 30805 */ {(11<<2)|2,{56,50,0}}, +/* 30806 */ {(11<<2)|2,{56,50,0}}, +/* 30807 */ {(11<<2)|2,{56,50,0}}, +/* 30808 */ {(11<<2)|2,{56,50,0}}, +/* 30809 */ {(11<<2)|2,{56,50,0}}, +/* 30810 */ {(11<<2)|2,{56,50,0}}, +/* 30811 */ {(11<<2)|2,{56,50,0}}, +/* 30812 */ {(11<<2)|2,{56,50,0}}, +/* 30813 */ {(11<<2)|2,{56,50,0}}, +/* 30814 */ {(11<<2)|2,{56,50,0}}, +/* 30815 */ {(11<<2)|2,{56,50,0}}, +/* 30816 */ {(16<<2)|3,{56,97,48}}, +/* 30817 */ {(16<<2)|3,{56,97,49}}, +/* 30818 */ {(16<<2)|3,{56,97,50}}, +/* 30819 */ {(16<<2)|3,{56,97,97}}, +/* 30820 */ {(16<<2)|3,{56,97,99}}, +/* 30821 */ {(16<<2)|3,{56,97,101}}, +/* 30822 */ {(16<<2)|3,{56,97,105}}, +/* 30823 */ {(16<<2)|3,{56,97,111}}, +/* 30824 */ {(16<<2)|3,{56,97,115}}, +/* 30825 */ {(16<<2)|3,{56,97,116}}, +/* 30826 */ {(11<<2)|2,{56,97,0}}, +/* 30827 */ {(11<<2)|2,{56,97,0}}, +/* 30828 */ {(11<<2)|2,{56,97,0}}, +/* 30829 */ {(11<<2)|2,{56,97,0}}, +/* 30830 */ {(11<<2)|2,{56,97,0}}, +/* 30831 */ {(11<<2)|2,{56,97,0}}, +/* 30832 */ {(11<<2)|2,{56,97,0}}, +/* 30833 */ {(11<<2)|2,{56,97,0}}, +/* 30834 */ {(11<<2)|2,{56,97,0}}, +/* 30835 */ {(11<<2)|2,{56,97,0}}, +/* 30836 */ {(11<<2)|2,{56,97,0}}, +/* 30837 */ {(11<<2)|2,{56,97,0}}, +/* 30838 */ {(11<<2)|2,{56,97,0}}, +/* 30839 */ {(11<<2)|2,{56,97,0}}, +/* 30840 */ {(11<<2)|2,{56,97,0}}, +/* 30841 */ {(11<<2)|2,{56,97,0}}, +/* 30842 */ {(11<<2)|2,{56,97,0}}, +/* 30843 */ {(11<<2)|2,{56,97,0}}, +/* 30844 */ {(11<<2)|2,{56,97,0}}, +/* 30845 */ {(11<<2)|2,{56,97,0}}, +/* 30846 */ {(11<<2)|2,{56,97,0}}, +/* 30847 */ {(11<<2)|2,{56,97,0}}, +/* 30848 */ {(16<<2)|3,{56,99,48}}, +/* 30849 */ {(16<<2)|3,{56,99,49}}, +/* 30850 */ {(16<<2)|3,{56,99,50}}, +/* 30851 */ {(16<<2)|3,{56,99,97}}, +/* 30852 */ {(16<<2)|3,{56,99,99}}, +/* 30853 */ {(16<<2)|3,{56,99,101}}, +/* 30854 */ {(16<<2)|3,{56,99,105}}, +/* 30855 */ {(16<<2)|3,{56,99,111}}, +/* 30856 */ {(16<<2)|3,{56,99,115}}, +/* 30857 */ {(16<<2)|3,{56,99,116}}, +/* 30858 */ {(11<<2)|2,{56,99,0}}, +/* 30859 */ {(11<<2)|2,{56,99,0}}, +/* 30860 */ {(11<<2)|2,{56,99,0}}, +/* 30861 */ {(11<<2)|2,{56,99,0}}, +/* 30862 */ {(11<<2)|2,{56,99,0}}, +/* 30863 */ {(11<<2)|2,{56,99,0}}, +/* 30864 */ {(11<<2)|2,{56,99,0}}, +/* 30865 */ {(11<<2)|2,{56,99,0}}, +/* 30866 */ {(11<<2)|2,{56,99,0}}, +/* 30867 */ {(11<<2)|2,{56,99,0}}, +/* 30868 */ {(11<<2)|2,{56,99,0}}, +/* 30869 */ {(11<<2)|2,{56,99,0}}, +/* 30870 */ {(11<<2)|2,{56,99,0}}, +/* 30871 */ {(11<<2)|2,{56,99,0}}, +/* 30872 */ {(11<<2)|2,{56,99,0}}, +/* 30873 */ {(11<<2)|2,{56,99,0}}, +/* 30874 */ {(11<<2)|2,{56,99,0}}, +/* 30875 */ {(11<<2)|2,{56,99,0}}, +/* 30876 */ {(11<<2)|2,{56,99,0}}, +/* 30877 */ {(11<<2)|2,{56,99,0}}, +/* 30878 */ {(11<<2)|2,{56,99,0}}, +/* 30879 */ {(11<<2)|2,{56,99,0}}, +/* 30880 */ {(16<<2)|3,{56,101,48}}, +/* 30881 */ {(16<<2)|3,{56,101,49}}, +/* 30882 */ {(16<<2)|3,{56,101,50}}, +/* 30883 */ {(16<<2)|3,{56,101,97}}, +/* 30884 */ {(16<<2)|3,{56,101,99}}, +/* 30885 */ {(16<<2)|3,{56,101,101}}, +/* 30886 */ {(16<<2)|3,{56,101,105}}, +/* 30887 */ {(16<<2)|3,{56,101,111}}, +/* 30888 */ {(16<<2)|3,{56,101,115}}, +/* 30889 */ {(16<<2)|3,{56,101,116}}, +/* 30890 */ {(11<<2)|2,{56,101,0}}, +/* 30891 */ {(11<<2)|2,{56,101,0}}, +/* 30892 */ {(11<<2)|2,{56,101,0}}, +/* 30893 */ {(11<<2)|2,{56,101,0}}, +/* 30894 */ {(11<<2)|2,{56,101,0}}, +/* 30895 */ {(11<<2)|2,{56,101,0}}, +/* 30896 */ {(11<<2)|2,{56,101,0}}, +/* 30897 */ {(11<<2)|2,{56,101,0}}, +/* 30898 */ {(11<<2)|2,{56,101,0}}, +/* 30899 */ {(11<<2)|2,{56,101,0}}, +/* 30900 */ {(11<<2)|2,{56,101,0}}, +/* 30901 */ {(11<<2)|2,{56,101,0}}, +/* 30902 */ {(11<<2)|2,{56,101,0}}, +/* 30903 */ {(11<<2)|2,{56,101,0}}, +/* 30904 */ {(11<<2)|2,{56,101,0}}, +/* 30905 */ {(11<<2)|2,{56,101,0}}, +/* 30906 */ {(11<<2)|2,{56,101,0}}, +/* 30907 */ {(11<<2)|2,{56,101,0}}, +/* 30908 */ {(11<<2)|2,{56,101,0}}, +/* 30909 */ {(11<<2)|2,{56,101,0}}, +/* 30910 */ {(11<<2)|2,{56,101,0}}, +/* 30911 */ {(11<<2)|2,{56,101,0}}, +/* 30912 */ {(16<<2)|3,{56,105,48}}, +/* 30913 */ {(16<<2)|3,{56,105,49}}, +/* 30914 */ {(16<<2)|3,{56,105,50}}, +/* 30915 */ {(16<<2)|3,{56,105,97}}, +/* 30916 */ {(16<<2)|3,{56,105,99}}, +/* 30917 */ {(16<<2)|3,{56,105,101}}, +/* 30918 */ {(16<<2)|3,{56,105,105}}, +/* 30919 */ {(16<<2)|3,{56,105,111}}, +/* 30920 */ {(16<<2)|3,{56,105,115}}, +/* 30921 */ {(16<<2)|3,{56,105,116}}, +/* 30922 */ {(11<<2)|2,{56,105,0}}, +/* 30923 */ {(11<<2)|2,{56,105,0}}, +/* 30924 */ {(11<<2)|2,{56,105,0}}, +/* 30925 */ {(11<<2)|2,{56,105,0}}, +/* 30926 */ {(11<<2)|2,{56,105,0}}, +/* 30927 */ {(11<<2)|2,{56,105,0}}, +/* 30928 */ {(11<<2)|2,{56,105,0}}, +/* 30929 */ {(11<<2)|2,{56,105,0}}, +/* 30930 */ {(11<<2)|2,{56,105,0}}, +/* 30931 */ {(11<<2)|2,{56,105,0}}, +/* 30932 */ {(11<<2)|2,{56,105,0}}, +/* 30933 */ {(11<<2)|2,{56,105,0}}, +/* 30934 */ {(11<<2)|2,{56,105,0}}, +/* 30935 */ {(11<<2)|2,{56,105,0}}, +/* 30936 */ {(11<<2)|2,{56,105,0}}, +/* 30937 */ {(11<<2)|2,{56,105,0}}, +/* 30938 */ {(11<<2)|2,{56,105,0}}, +/* 30939 */ {(11<<2)|2,{56,105,0}}, +/* 30940 */ {(11<<2)|2,{56,105,0}}, +/* 30941 */ {(11<<2)|2,{56,105,0}}, +/* 30942 */ {(11<<2)|2,{56,105,0}}, +/* 30943 */ {(11<<2)|2,{56,105,0}}, +/* 30944 */ {(16<<2)|3,{56,111,48}}, +/* 30945 */ {(16<<2)|3,{56,111,49}}, +/* 30946 */ {(16<<2)|3,{56,111,50}}, +/* 30947 */ {(16<<2)|3,{56,111,97}}, +/* 30948 */ {(16<<2)|3,{56,111,99}}, +/* 30949 */ {(16<<2)|3,{56,111,101}}, +/* 30950 */ {(16<<2)|3,{56,111,105}}, +/* 30951 */ {(16<<2)|3,{56,111,111}}, +/* 30952 */ {(16<<2)|3,{56,111,115}}, +/* 30953 */ {(16<<2)|3,{56,111,116}}, +/* 30954 */ {(11<<2)|2,{56,111,0}}, +/* 30955 */ {(11<<2)|2,{56,111,0}}, +/* 30956 */ {(11<<2)|2,{56,111,0}}, +/* 30957 */ {(11<<2)|2,{56,111,0}}, +/* 30958 */ {(11<<2)|2,{56,111,0}}, +/* 30959 */ {(11<<2)|2,{56,111,0}}, +/* 30960 */ {(11<<2)|2,{56,111,0}}, +/* 30961 */ {(11<<2)|2,{56,111,0}}, +/* 30962 */ {(11<<2)|2,{56,111,0}}, +/* 30963 */ {(11<<2)|2,{56,111,0}}, +/* 30964 */ {(11<<2)|2,{56,111,0}}, +/* 30965 */ {(11<<2)|2,{56,111,0}}, +/* 30966 */ {(11<<2)|2,{56,111,0}}, +/* 30967 */ {(11<<2)|2,{56,111,0}}, +/* 30968 */ {(11<<2)|2,{56,111,0}}, +/* 30969 */ {(11<<2)|2,{56,111,0}}, +/* 30970 */ {(11<<2)|2,{56,111,0}}, +/* 30971 */ {(11<<2)|2,{56,111,0}}, +/* 30972 */ {(11<<2)|2,{56,111,0}}, +/* 30973 */ {(11<<2)|2,{56,111,0}}, +/* 30974 */ {(11<<2)|2,{56,111,0}}, +/* 30975 */ {(11<<2)|2,{56,111,0}}, +/* 30976 */ {(16<<2)|3,{56,115,48}}, +/* 30977 */ {(16<<2)|3,{56,115,49}}, +/* 30978 */ {(16<<2)|3,{56,115,50}}, +/* 30979 */ {(16<<2)|3,{56,115,97}}, +/* 30980 */ {(16<<2)|3,{56,115,99}}, +/* 30981 */ {(16<<2)|3,{56,115,101}}, +/* 30982 */ {(16<<2)|3,{56,115,105}}, +/* 30983 */ {(16<<2)|3,{56,115,111}}, +/* 30984 */ {(16<<2)|3,{56,115,115}}, +/* 30985 */ {(16<<2)|3,{56,115,116}}, +/* 30986 */ {(11<<2)|2,{56,115,0}}, +/* 30987 */ {(11<<2)|2,{56,115,0}}, +/* 30988 */ {(11<<2)|2,{56,115,0}}, +/* 30989 */ {(11<<2)|2,{56,115,0}}, +/* 30990 */ {(11<<2)|2,{56,115,0}}, +/* 30991 */ {(11<<2)|2,{56,115,0}}, +/* 30992 */ {(11<<2)|2,{56,115,0}}, +/* 30993 */ {(11<<2)|2,{56,115,0}}, +/* 30994 */ {(11<<2)|2,{56,115,0}}, +/* 30995 */ {(11<<2)|2,{56,115,0}}, +/* 30996 */ {(11<<2)|2,{56,115,0}}, +/* 30997 */ {(11<<2)|2,{56,115,0}}, +/* 30998 */ {(11<<2)|2,{56,115,0}}, +/* 30999 */ {(11<<2)|2,{56,115,0}}, +/* 31000 */ {(11<<2)|2,{56,115,0}}, +/* 31001 */ {(11<<2)|2,{56,115,0}}, +/* 31002 */ {(11<<2)|2,{56,115,0}}, +/* 31003 */ {(11<<2)|2,{56,115,0}}, +/* 31004 */ {(11<<2)|2,{56,115,0}}, +/* 31005 */ {(11<<2)|2,{56,115,0}}, +/* 31006 */ {(11<<2)|2,{56,115,0}}, +/* 31007 */ {(11<<2)|2,{56,115,0}}, +/* 31008 */ {(16<<2)|3,{56,116,48}}, +/* 31009 */ {(16<<2)|3,{56,116,49}}, +/* 31010 */ {(16<<2)|3,{56,116,50}}, +/* 31011 */ {(16<<2)|3,{56,116,97}}, +/* 31012 */ {(16<<2)|3,{56,116,99}}, +/* 31013 */ {(16<<2)|3,{56,116,101}}, +/* 31014 */ {(16<<2)|3,{56,116,105}}, +/* 31015 */ {(16<<2)|3,{56,116,111}}, +/* 31016 */ {(16<<2)|3,{56,116,115}}, +/* 31017 */ {(16<<2)|3,{56,116,116}}, +/* 31018 */ {(11<<2)|2,{56,116,0}}, +/* 31019 */ {(11<<2)|2,{56,116,0}}, +/* 31020 */ {(11<<2)|2,{56,116,0}}, +/* 31021 */ {(11<<2)|2,{56,116,0}}, +/* 31022 */ {(11<<2)|2,{56,116,0}}, +/* 31023 */ {(11<<2)|2,{56,116,0}}, +/* 31024 */ {(11<<2)|2,{56,116,0}}, +/* 31025 */ {(11<<2)|2,{56,116,0}}, +/* 31026 */ {(11<<2)|2,{56,116,0}}, +/* 31027 */ {(11<<2)|2,{56,116,0}}, +/* 31028 */ {(11<<2)|2,{56,116,0}}, +/* 31029 */ {(11<<2)|2,{56,116,0}}, +/* 31030 */ {(11<<2)|2,{56,116,0}}, +/* 31031 */ {(11<<2)|2,{56,116,0}}, +/* 31032 */ {(11<<2)|2,{56,116,0}}, +/* 31033 */ {(11<<2)|2,{56,116,0}}, +/* 31034 */ {(11<<2)|2,{56,116,0}}, +/* 31035 */ {(11<<2)|2,{56,116,0}}, +/* 31036 */ {(11<<2)|2,{56,116,0}}, +/* 31037 */ {(11<<2)|2,{56,116,0}}, +/* 31038 */ {(11<<2)|2,{56,116,0}}, +/* 31039 */ {(11<<2)|2,{56,116,0}}, +/* 31040 */ {(12<<2)|2,{56,32,0}}, +/* 31041 */ {(12<<2)|2,{56,32,0}}, +/* 31042 */ {(12<<2)|2,{56,32,0}}, +/* 31043 */ {(12<<2)|2,{56,32,0}}, +/* 31044 */ {(12<<2)|2,{56,32,0}}, +/* 31045 */ {(12<<2)|2,{56,32,0}}, +/* 31046 */ {(12<<2)|2,{56,32,0}}, +/* 31047 */ {(12<<2)|2,{56,32,0}}, +/* 31048 */ {(12<<2)|2,{56,32,0}}, +/* 31049 */ {(12<<2)|2,{56,32,0}}, +/* 31050 */ {(12<<2)|2,{56,32,0}}, +/* 31051 */ {(12<<2)|2,{56,32,0}}, +/* 31052 */ {(12<<2)|2,{56,32,0}}, +/* 31053 */ {(12<<2)|2,{56,32,0}}, +/* 31054 */ {(12<<2)|2,{56,32,0}}, +/* 31055 */ {(12<<2)|2,{56,32,0}}, +/* 31056 */ {(12<<2)|2,{56,37,0}}, +/* 31057 */ {(12<<2)|2,{56,37,0}}, +/* 31058 */ {(12<<2)|2,{56,37,0}}, +/* 31059 */ {(12<<2)|2,{56,37,0}}, +/* 31060 */ {(12<<2)|2,{56,37,0}}, +/* 31061 */ {(12<<2)|2,{56,37,0}}, +/* 31062 */ {(12<<2)|2,{56,37,0}}, +/* 31063 */ {(12<<2)|2,{56,37,0}}, +/* 31064 */ {(12<<2)|2,{56,37,0}}, +/* 31065 */ {(12<<2)|2,{56,37,0}}, +/* 31066 */ {(12<<2)|2,{56,37,0}}, +/* 31067 */ {(12<<2)|2,{56,37,0}}, +/* 31068 */ {(12<<2)|2,{56,37,0}}, +/* 31069 */ {(12<<2)|2,{56,37,0}}, +/* 31070 */ {(12<<2)|2,{56,37,0}}, +/* 31071 */ {(12<<2)|2,{56,37,0}}, +/* 31072 */ {(12<<2)|2,{56,45,0}}, +/* 31073 */ {(12<<2)|2,{56,45,0}}, +/* 31074 */ {(12<<2)|2,{56,45,0}}, +/* 31075 */ {(12<<2)|2,{56,45,0}}, +/* 31076 */ {(12<<2)|2,{56,45,0}}, +/* 31077 */ {(12<<2)|2,{56,45,0}}, +/* 31078 */ {(12<<2)|2,{56,45,0}}, +/* 31079 */ {(12<<2)|2,{56,45,0}}, +/* 31080 */ {(12<<2)|2,{56,45,0}}, +/* 31081 */ {(12<<2)|2,{56,45,0}}, +/* 31082 */ {(12<<2)|2,{56,45,0}}, +/* 31083 */ {(12<<2)|2,{56,45,0}}, +/* 31084 */ {(12<<2)|2,{56,45,0}}, +/* 31085 */ {(12<<2)|2,{56,45,0}}, +/* 31086 */ {(12<<2)|2,{56,45,0}}, +/* 31087 */ {(12<<2)|2,{56,45,0}}, +/* 31088 */ {(12<<2)|2,{56,46,0}}, +/* 31089 */ {(12<<2)|2,{56,46,0}}, +/* 31090 */ {(12<<2)|2,{56,46,0}}, +/* 31091 */ {(12<<2)|2,{56,46,0}}, +/* 31092 */ {(12<<2)|2,{56,46,0}}, +/* 31093 */ {(12<<2)|2,{56,46,0}}, +/* 31094 */ {(12<<2)|2,{56,46,0}}, +/* 31095 */ {(12<<2)|2,{56,46,0}}, +/* 31096 */ {(12<<2)|2,{56,46,0}}, +/* 31097 */ {(12<<2)|2,{56,46,0}}, +/* 31098 */ {(12<<2)|2,{56,46,0}}, +/* 31099 */ {(12<<2)|2,{56,46,0}}, +/* 31100 */ {(12<<2)|2,{56,46,0}}, +/* 31101 */ {(12<<2)|2,{56,46,0}}, +/* 31102 */ {(12<<2)|2,{56,46,0}}, +/* 31103 */ {(12<<2)|2,{56,46,0}}, +/* 31104 */ {(12<<2)|2,{56,47,0}}, +/* 31105 */ {(12<<2)|2,{56,47,0}}, +/* 31106 */ {(12<<2)|2,{56,47,0}}, +/* 31107 */ {(12<<2)|2,{56,47,0}}, +/* 31108 */ {(12<<2)|2,{56,47,0}}, +/* 31109 */ {(12<<2)|2,{56,47,0}}, +/* 31110 */ {(12<<2)|2,{56,47,0}}, +/* 31111 */ {(12<<2)|2,{56,47,0}}, +/* 31112 */ {(12<<2)|2,{56,47,0}}, +/* 31113 */ {(12<<2)|2,{56,47,0}}, +/* 31114 */ {(12<<2)|2,{56,47,0}}, +/* 31115 */ {(12<<2)|2,{56,47,0}}, +/* 31116 */ {(12<<2)|2,{56,47,0}}, +/* 31117 */ {(12<<2)|2,{56,47,0}}, +/* 31118 */ {(12<<2)|2,{56,47,0}}, +/* 31119 */ {(12<<2)|2,{56,47,0}}, +/* 31120 */ {(12<<2)|2,{56,51,0}}, +/* 31121 */ {(12<<2)|2,{56,51,0}}, +/* 31122 */ {(12<<2)|2,{56,51,0}}, +/* 31123 */ {(12<<2)|2,{56,51,0}}, +/* 31124 */ {(12<<2)|2,{56,51,0}}, +/* 31125 */ {(12<<2)|2,{56,51,0}}, +/* 31126 */ {(12<<2)|2,{56,51,0}}, +/* 31127 */ {(12<<2)|2,{56,51,0}}, +/* 31128 */ {(12<<2)|2,{56,51,0}}, +/* 31129 */ {(12<<2)|2,{56,51,0}}, +/* 31130 */ {(12<<2)|2,{56,51,0}}, +/* 31131 */ {(12<<2)|2,{56,51,0}}, +/* 31132 */ {(12<<2)|2,{56,51,0}}, +/* 31133 */ {(12<<2)|2,{56,51,0}}, +/* 31134 */ {(12<<2)|2,{56,51,0}}, +/* 31135 */ {(12<<2)|2,{56,51,0}}, +/* 31136 */ {(12<<2)|2,{56,52,0}}, +/* 31137 */ {(12<<2)|2,{56,52,0}}, +/* 31138 */ {(12<<2)|2,{56,52,0}}, +/* 31139 */ {(12<<2)|2,{56,52,0}}, +/* 31140 */ {(12<<2)|2,{56,52,0}}, +/* 31141 */ {(12<<2)|2,{56,52,0}}, +/* 31142 */ {(12<<2)|2,{56,52,0}}, +/* 31143 */ {(12<<2)|2,{56,52,0}}, +/* 31144 */ {(12<<2)|2,{56,52,0}}, +/* 31145 */ {(12<<2)|2,{56,52,0}}, +/* 31146 */ {(12<<2)|2,{56,52,0}}, +/* 31147 */ {(12<<2)|2,{56,52,0}}, +/* 31148 */ {(12<<2)|2,{56,52,0}}, +/* 31149 */ {(12<<2)|2,{56,52,0}}, +/* 31150 */ {(12<<2)|2,{56,52,0}}, +/* 31151 */ {(12<<2)|2,{56,52,0}}, +/* 31152 */ {(12<<2)|2,{56,53,0}}, +/* 31153 */ {(12<<2)|2,{56,53,0}}, +/* 31154 */ {(12<<2)|2,{56,53,0}}, +/* 31155 */ {(12<<2)|2,{56,53,0}}, +/* 31156 */ {(12<<2)|2,{56,53,0}}, +/* 31157 */ {(12<<2)|2,{56,53,0}}, +/* 31158 */ {(12<<2)|2,{56,53,0}}, +/* 31159 */ {(12<<2)|2,{56,53,0}}, +/* 31160 */ {(12<<2)|2,{56,53,0}}, +/* 31161 */ {(12<<2)|2,{56,53,0}}, +/* 31162 */ {(12<<2)|2,{56,53,0}}, +/* 31163 */ {(12<<2)|2,{56,53,0}}, +/* 31164 */ {(12<<2)|2,{56,53,0}}, +/* 31165 */ {(12<<2)|2,{56,53,0}}, +/* 31166 */ {(12<<2)|2,{56,53,0}}, +/* 31167 */ {(12<<2)|2,{56,53,0}}, +/* 31168 */ {(12<<2)|2,{56,54,0}}, +/* 31169 */ {(12<<2)|2,{56,54,0}}, +/* 31170 */ {(12<<2)|2,{56,54,0}}, +/* 31171 */ {(12<<2)|2,{56,54,0}}, +/* 31172 */ {(12<<2)|2,{56,54,0}}, +/* 31173 */ {(12<<2)|2,{56,54,0}}, +/* 31174 */ {(12<<2)|2,{56,54,0}}, +/* 31175 */ {(12<<2)|2,{56,54,0}}, +/* 31176 */ {(12<<2)|2,{56,54,0}}, +/* 31177 */ {(12<<2)|2,{56,54,0}}, +/* 31178 */ {(12<<2)|2,{56,54,0}}, +/* 31179 */ {(12<<2)|2,{56,54,0}}, +/* 31180 */ {(12<<2)|2,{56,54,0}}, +/* 31181 */ {(12<<2)|2,{56,54,0}}, +/* 31182 */ {(12<<2)|2,{56,54,0}}, +/* 31183 */ {(12<<2)|2,{56,54,0}}, +/* 31184 */ {(12<<2)|2,{56,55,0}}, +/* 31185 */ {(12<<2)|2,{56,55,0}}, +/* 31186 */ {(12<<2)|2,{56,55,0}}, +/* 31187 */ {(12<<2)|2,{56,55,0}}, +/* 31188 */ {(12<<2)|2,{56,55,0}}, +/* 31189 */ {(12<<2)|2,{56,55,0}}, +/* 31190 */ {(12<<2)|2,{56,55,0}}, +/* 31191 */ {(12<<2)|2,{56,55,0}}, +/* 31192 */ {(12<<2)|2,{56,55,0}}, +/* 31193 */ {(12<<2)|2,{56,55,0}}, +/* 31194 */ {(12<<2)|2,{56,55,0}}, +/* 31195 */ {(12<<2)|2,{56,55,0}}, +/* 31196 */ {(12<<2)|2,{56,55,0}}, +/* 31197 */ {(12<<2)|2,{56,55,0}}, +/* 31198 */ {(12<<2)|2,{56,55,0}}, +/* 31199 */ {(12<<2)|2,{56,55,0}}, +/* 31200 */ {(12<<2)|2,{56,56,0}}, +/* 31201 */ {(12<<2)|2,{56,56,0}}, +/* 31202 */ {(12<<2)|2,{56,56,0}}, +/* 31203 */ {(12<<2)|2,{56,56,0}}, +/* 31204 */ {(12<<2)|2,{56,56,0}}, +/* 31205 */ {(12<<2)|2,{56,56,0}}, +/* 31206 */ {(12<<2)|2,{56,56,0}}, +/* 31207 */ {(12<<2)|2,{56,56,0}}, +/* 31208 */ {(12<<2)|2,{56,56,0}}, +/* 31209 */ {(12<<2)|2,{56,56,0}}, +/* 31210 */ {(12<<2)|2,{56,56,0}}, +/* 31211 */ {(12<<2)|2,{56,56,0}}, +/* 31212 */ {(12<<2)|2,{56,56,0}}, +/* 31213 */ {(12<<2)|2,{56,56,0}}, +/* 31214 */ {(12<<2)|2,{56,56,0}}, +/* 31215 */ {(12<<2)|2,{56,56,0}}, +/* 31216 */ {(12<<2)|2,{56,57,0}}, +/* 31217 */ {(12<<2)|2,{56,57,0}}, +/* 31218 */ {(12<<2)|2,{56,57,0}}, +/* 31219 */ {(12<<2)|2,{56,57,0}}, +/* 31220 */ {(12<<2)|2,{56,57,0}}, +/* 31221 */ {(12<<2)|2,{56,57,0}}, +/* 31222 */ {(12<<2)|2,{56,57,0}}, +/* 31223 */ {(12<<2)|2,{56,57,0}}, +/* 31224 */ {(12<<2)|2,{56,57,0}}, +/* 31225 */ {(12<<2)|2,{56,57,0}}, +/* 31226 */ {(12<<2)|2,{56,57,0}}, +/* 31227 */ {(12<<2)|2,{56,57,0}}, +/* 31228 */ {(12<<2)|2,{56,57,0}}, +/* 31229 */ {(12<<2)|2,{56,57,0}}, +/* 31230 */ {(12<<2)|2,{56,57,0}}, +/* 31231 */ {(12<<2)|2,{56,57,0}}, +/* 31232 */ {(12<<2)|2,{56,61,0}}, +/* 31233 */ {(12<<2)|2,{56,61,0}}, +/* 31234 */ {(12<<2)|2,{56,61,0}}, +/* 31235 */ {(12<<2)|2,{56,61,0}}, +/* 31236 */ {(12<<2)|2,{56,61,0}}, +/* 31237 */ {(12<<2)|2,{56,61,0}}, +/* 31238 */ {(12<<2)|2,{56,61,0}}, +/* 31239 */ {(12<<2)|2,{56,61,0}}, +/* 31240 */ {(12<<2)|2,{56,61,0}}, +/* 31241 */ {(12<<2)|2,{56,61,0}}, +/* 31242 */ {(12<<2)|2,{56,61,0}}, +/* 31243 */ {(12<<2)|2,{56,61,0}}, +/* 31244 */ {(12<<2)|2,{56,61,0}}, +/* 31245 */ {(12<<2)|2,{56,61,0}}, +/* 31246 */ {(12<<2)|2,{56,61,0}}, +/* 31247 */ {(12<<2)|2,{56,61,0}}, +/* 31248 */ {(12<<2)|2,{56,65,0}}, +/* 31249 */ {(12<<2)|2,{56,65,0}}, +/* 31250 */ {(12<<2)|2,{56,65,0}}, +/* 31251 */ {(12<<2)|2,{56,65,0}}, +/* 31252 */ {(12<<2)|2,{56,65,0}}, +/* 31253 */ {(12<<2)|2,{56,65,0}}, +/* 31254 */ {(12<<2)|2,{56,65,0}}, +/* 31255 */ {(12<<2)|2,{56,65,0}}, +/* 31256 */ {(12<<2)|2,{56,65,0}}, +/* 31257 */ {(12<<2)|2,{56,65,0}}, +/* 31258 */ {(12<<2)|2,{56,65,0}}, +/* 31259 */ {(12<<2)|2,{56,65,0}}, +/* 31260 */ {(12<<2)|2,{56,65,0}}, +/* 31261 */ {(12<<2)|2,{56,65,0}}, +/* 31262 */ {(12<<2)|2,{56,65,0}}, +/* 31263 */ {(12<<2)|2,{56,65,0}}, +/* 31264 */ {(12<<2)|2,{56,95,0}}, +/* 31265 */ {(12<<2)|2,{56,95,0}}, +/* 31266 */ {(12<<2)|2,{56,95,0}}, +/* 31267 */ {(12<<2)|2,{56,95,0}}, +/* 31268 */ {(12<<2)|2,{56,95,0}}, +/* 31269 */ {(12<<2)|2,{56,95,0}}, +/* 31270 */ {(12<<2)|2,{56,95,0}}, +/* 31271 */ {(12<<2)|2,{56,95,0}}, +/* 31272 */ {(12<<2)|2,{56,95,0}}, +/* 31273 */ {(12<<2)|2,{56,95,0}}, +/* 31274 */ {(12<<2)|2,{56,95,0}}, +/* 31275 */ {(12<<2)|2,{56,95,0}}, +/* 31276 */ {(12<<2)|2,{56,95,0}}, +/* 31277 */ {(12<<2)|2,{56,95,0}}, +/* 31278 */ {(12<<2)|2,{56,95,0}}, +/* 31279 */ {(12<<2)|2,{56,95,0}}, +/* 31280 */ {(12<<2)|2,{56,98,0}}, +/* 31281 */ {(12<<2)|2,{56,98,0}}, +/* 31282 */ {(12<<2)|2,{56,98,0}}, +/* 31283 */ {(12<<2)|2,{56,98,0}}, +/* 31284 */ {(12<<2)|2,{56,98,0}}, +/* 31285 */ {(12<<2)|2,{56,98,0}}, +/* 31286 */ {(12<<2)|2,{56,98,0}}, +/* 31287 */ {(12<<2)|2,{56,98,0}}, +/* 31288 */ {(12<<2)|2,{56,98,0}}, +/* 31289 */ {(12<<2)|2,{56,98,0}}, +/* 31290 */ {(12<<2)|2,{56,98,0}}, +/* 31291 */ {(12<<2)|2,{56,98,0}}, +/* 31292 */ {(12<<2)|2,{56,98,0}}, +/* 31293 */ {(12<<2)|2,{56,98,0}}, +/* 31294 */ {(12<<2)|2,{56,98,0}}, +/* 31295 */ {(12<<2)|2,{56,98,0}}, +/* 31296 */ {(12<<2)|2,{56,100,0}}, +/* 31297 */ {(12<<2)|2,{56,100,0}}, +/* 31298 */ {(12<<2)|2,{56,100,0}}, +/* 31299 */ {(12<<2)|2,{56,100,0}}, +/* 31300 */ {(12<<2)|2,{56,100,0}}, +/* 31301 */ {(12<<2)|2,{56,100,0}}, +/* 31302 */ {(12<<2)|2,{56,100,0}}, +/* 31303 */ {(12<<2)|2,{56,100,0}}, +/* 31304 */ {(12<<2)|2,{56,100,0}}, +/* 31305 */ {(12<<2)|2,{56,100,0}}, +/* 31306 */ {(12<<2)|2,{56,100,0}}, +/* 31307 */ {(12<<2)|2,{56,100,0}}, +/* 31308 */ {(12<<2)|2,{56,100,0}}, +/* 31309 */ {(12<<2)|2,{56,100,0}}, +/* 31310 */ {(12<<2)|2,{56,100,0}}, +/* 31311 */ {(12<<2)|2,{56,100,0}}, +/* 31312 */ {(12<<2)|2,{56,102,0}}, +/* 31313 */ {(12<<2)|2,{56,102,0}}, +/* 31314 */ {(12<<2)|2,{56,102,0}}, +/* 31315 */ {(12<<2)|2,{56,102,0}}, +/* 31316 */ {(12<<2)|2,{56,102,0}}, +/* 31317 */ {(12<<2)|2,{56,102,0}}, +/* 31318 */ {(12<<2)|2,{56,102,0}}, +/* 31319 */ {(12<<2)|2,{56,102,0}}, +/* 31320 */ {(12<<2)|2,{56,102,0}}, +/* 31321 */ {(12<<2)|2,{56,102,0}}, +/* 31322 */ {(12<<2)|2,{56,102,0}}, +/* 31323 */ {(12<<2)|2,{56,102,0}}, +/* 31324 */ {(12<<2)|2,{56,102,0}}, +/* 31325 */ {(12<<2)|2,{56,102,0}}, +/* 31326 */ {(12<<2)|2,{56,102,0}}, +/* 31327 */ {(12<<2)|2,{56,102,0}}, +/* 31328 */ {(12<<2)|2,{56,103,0}}, +/* 31329 */ {(12<<2)|2,{56,103,0}}, +/* 31330 */ {(12<<2)|2,{56,103,0}}, +/* 31331 */ {(12<<2)|2,{56,103,0}}, +/* 31332 */ {(12<<2)|2,{56,103,0}}, +/* 31333 */ {(12<<2)|2,{56,103,0}}, +/* 31334 */ {(12<<2)|2,{56,103,0}}, +/* 31335 */ {(12<<2)|2,{56,103,0}}, +/* 31336 */ {(12<<2)|2,{56,103,0}}, +/* 31337 */ {(12<<2)|2,{56,103,0}}, +/* 31338 */ {(12<<2)|2,{56,103,0}}, +/* 31339 */ {(12<<2)|2,{56,103,0}}, +/* 31340 */ {(12<<2)|2,{56,103,0}}, +/* 31341 */ {(12<<2)|2,{56,103,0}}, +/* 31342 */ {(12<<2)|2,{56,103,0}}, +/* 31343 */ {(12<<2)|2,{56,103,0}}, +/* 31344 */ {(12<<2)|2,{56,104,0}}, +/* 31345 */ {(12<<2)|2,{56,104,0}}, +/* 31346 */ {(12<<2)|2,{56,104,0}}, +/* 31347 */ {(12<<2)|2,{56,104,0}}, +/* 31348 */ {(12<<2)|2,{56,104,0}}, +/* 31349 */ {(12<<2)|2,{56,104,0}}, +/* 31350 */ {(12<<2)|2,{56,104,0}}, +/* 31351 */ {(12<<2)|2,{56,104,0}}, +/* 31352 */ {(12<<2)|2,{56,104,0}}, +/* 31353 */ {(12<<2)|2,{56,104,0}}, +/* 31354 */ {(12<<2)|2,{56,104,0}}, +/* 31355 */ {(12<<2)|2,{56,104,0}}, +/* 31356 */ {(12<<2)|2,{56,104,0}}, +/* 31357 */ {(12<<2)|2,{56,104,0}}, +/* 31358 */ {(12<<2)|2,{56,104,0}}, +/* 31359 */ {(12<<2)|2,{56,104,0}}, +/* 31360 */ {(12<<2)|2,{56,108,0}}, +/* 31361 */ {(12<<2)|2,{56,108,0}}, +/* 31362 */ {(12<<2)|2,{56,108,0}}, +/* 31363 */ {(12<<2)|2,{56,108,0}}, +/* 31364 */ {(12<<2)|2,{56,108,0}}, +/* 31365 */ {(12<<2)|2,{56,108,0}}, +/* 31366 */ {(12<<2)|2,{56,108,0}}, +/* 31367 */ {(12<<2)|2,{56,108,0}}, +/* 31368 */ {(12<<2)|2,{56,108,0}}, +/* 31369 */ {(12<<2)|2,{56,108,0}}, +/* 31370 */ {(12<<2)|2,{56,108,0}}, +/* 31371 */ {(12<<2)|2,{56,108,0}}, +/* 31372 */ {(12<<2)|2,{56,108,0}}, +/* 31373 */ {(12<<2)|2,{56,108,0}}, +/* 31374 */ {(12<<2)|2,{56,108,0}}, +/* 31375 */ {(12<<2)|2,{56,108,0}}, +/* 31376 */ {(12<<2)|2,{56,109,0}}, +/* 31377 */ {(12<<2)|2,{56,109,0}}, +/* 31378 */ {(12<<2)|2,{56,109,0}}, +/* 31379 */ {(12<<2)|2,{56,109,0}}, +/* 31380 */ {(12<<2)|2,{56,109,0}}, +/* 31381 */ {(12<<2)|2,{56,109,0}}, +/* 31382 */ {(12<<2)|2,{56,109,0}}, +/* 31383 */ {(12<<2)|2,{56,109,0}}, +/* 31384 */ {(12<<2)|2,{56,109,0}}, +/* 31385 */ {(12<<2)|2,{56,109,0}}, +/* 31386 */ {(12<<2)|2,{56,109,0}}, +/* 31387 */ {(12<<2)|2,{56,109,0}}, +/* 31388 */ {(12<<2)|2,{56,109,0}}, +/* 31389 */ {(12<<2)|2,{56,109,0}}, +/* 31390 */ {(12<<2)|2,{56,109,0}}, +/* 31391 */ {(12<<2)|2,{56,109,0}}, +/* 31392 */ {(12<<2)|2,{56,110,0}}, +/* 31393 */ {(12<<2)|2,{56,110,0}}, +/* 31394 */ {(12<<2)|2,{56,110,0}}, +/* 31395 */ {(12<<2)|2,{56,110,0}}, +/* 31396 */ {(12<<2)|2,{56,110,0}}, +/* 31397 */ {(12<<2)|2,{56,110,0}}, +/* 31398 */ {(12<<2)|2,{56,110,0}}, +/* 31399 */ {(12<<2)|2,{56,110,0}}, +/* 31400 */ {(12<<2)|2,{56,110,0}}, +/* 31401 */ {(12<<2)|2,{56,110,0}}, +/* 31402 */ {(12<<2)|2,{56,110,0}}, +/* 31403 */ {(12<<2)|2,{56,110,0}}, +/* 31404 */ {(12<<2)|2,{56,110,0}}, +/* 31405 */ {(12<<2)|2,{56,110,0}}, +/* 31406 */ {(12<<2)|2,{56,110,0}}, +/* 31407 */ {(12<<2)|2,{56,110,0}}, +/* 31408 */ {(12<<2)|2,{56,112,0}}, +/* 31409 */ {(12<<2)|2,{56,112,0}}, +/* 31410 */ {(12<<2)|2,{56,112,0}}, +/* 31411 */ {(12<<2)|2,{56,112,0}}, +/* 31412 */ {(12<<2)|2,{56,112,0}}, +/* 31413 */ {(12<<2)|2,{56,112,0}}, +/* 31414 */ {(12<<2)|2,{56,112,0}}, +/* 31415 */ {(12<<2)|2,{56,112,0}}, +/* 31416 */ {(12<<2)|2,{56,112,0}}, +/* 31417 */ {(12<<2)|2,{56,112,0}}, +/* 31418 */ {(12<<2)|2,{56,112,0}}, +/* 31419 */ {(12<<2)|2,{56,112,0}}, +/* 31420 */ {(12<<2)|2,{56,112,0}}, +/* 31421 */ {(12<<2)|2,{56,112,0}}, +/* 31422 */ {(12<<2)|2,{56,112,0}}, +/* 31423 */ {(12<<2)|2,{56,112,0}}, +/* 31424 */ {(12<<2)|2,{56,114,0}}, +/* 31425 */ {(12<<2)|2,{56,114,0}}, +/* 31426 */ {(12<<2)|2,{56,114,0}}, +/* 31427 */ {(12<<2)|2,{56,114,0}}, +/* 31428 */ {(12<<2)|2,{56,114,0}}, +/* 31429 */ {(12<<2)|2,{56,114,0}}, +/* 31430 */ {(12<<2)|2,{56,114,0}}, +/* 31431 */ {(12<<2)|2,{56,114,0}}, +/* 31432 */ {(12<<2)|2,{56,114,0}}, +/* 31433 */ {(12<<2)|2,{56,114,0}}, +/* 31434 */ {(12<<2)|2,{56,114,0}}, +/* 31435 */ {(12<<2)|2,{56,114,0}}, +/* 31436 */ {(12<<2)|2,{56,114,0}}, +/* 31437 */ {(12<<2)|2,{56,114,0}}, +/* 31438 */ {(12<<2)|2,{56,114,0}}, +/* 31439 */ {(12<<2)|2,{56,114,0}}, +/* 31440 */ {(12<<2)|2,{56,117,0}}, +/* 31441 */ {(12<<2)|2,{56,117,0}}, +/* 31442 */ {(12<<2)|2,{56,117,0}}, +/* 31443 */ {(12<<2)|2,{56,117,0}}, +/* 31444 */ {(12<<2)|2,{56,117,0}}, +/* 31445 */ {(12<<2)|2,{56,117,0}}, +/* 31446 */ {(12<<2)|2,{56,117,0}}, +/* 31447 */ {(12<<2)|2,{56,117,0}}, +/* 31448 */ {(12<<2)|2,{56,117,0}}, +/* 31449 */ {(12<<2)|2,{56,117,0}}, +/* 31450 */ {(12<<2)|2,{56,117,0}}, +/* 31451 */ {(12<<2)|2,{56,117,0}}, +/* 31452 */ {(12<<2)|2,{56,117,0}}, +/* 31453 */ {(12<<2)|2,{56,117,0}}, +/* 31454 */ {(12<<2)|2,{56,117,0}}, +/* 31455 */ {(12<<2)|2,{56,117,0}}, +/* 31456 */ {(13<<2)|2,{56,58,0}}, +/* 31457 */ {(13<<2)|2,{56,58,0}}, +/* 31458 */ {(13<<2)|2,{56,58,0}}, +/* 31459 */ {(13<<2)|2,{56,58,0}}, +/* 31460 */ {(13<<2)|2,{56,58,0}}, +/* 31461 */ {(13<<2)|2,{56,58,0}}, +/* 31462 */ {(13<<2)|2,{56,58,0}}, +/* 31463 */ {(13<<2)|2,{56,58,0}}, +/* 31464 */ {(13<<2)|2,{56,66,0}}, +/* 31465 */ {(13<<2)|2,{56,66,0}}, +/* 31466 */ {(13<<2)|2,{56,66,0}}, +/* 31467 */ {(13<<2)|2,{56,66,0}}, +/* 31468 */ {(13<<2)|2,{56,66,0}}, +/* 31469 */ {(13<<2)|2,{56,66,0}}, +/* 31470 */ {(13<<2)|2,{56,66,0}}, +/* 31471 */ {(13<<2)|2,{56,66,0}}, +/* 31472 */ {(13<<2)|2,{56,67,0}}, +/* 31473 */ {(13<<2)|2,{56,67,0}}, +/* 31474 */ {(13<<2)|2,{56,67,0}}, +/* 31475 */ {(13<<2)|2,{56,67,0}}, +/* 31476 */ {(13<<2)|2,{56,67,0}}, +/* 31477 */ {(13<<2)|2,{56,67,0}}, +/* 31478 */ {(13<<2)|2,{56,67,0}}, +/* 31479 */ {(13<<2)|2,{56,67,0}}, +/* 31480 */ {(13<<2)|2,{56,68,0}}, +/* 31481 */ {(13<<2)|2,{56,68,0}}, +/* 31482 */ {(13<<2)|2,{56,68,0}}, +/* 31483 */ {(13<<2)|2,{56,68,0}}, +/* 31484 */ {(13<<2)|2,{56,68,0}}, +/* 31485 */ {(13<<2)|2,{56,68,0}}, +/* 31486 */ {(13<<2)|2,{56,68,0}}, +/* 31487 */ {(13<<2)|2,{56,68,0}}, +/* 31488 */ {(13<<2)|2,{56,69,0}}, +/* 31489 */ {(13<<2)|2,{56,69,0}}, +/* 31490 */ {(13<<2)|2,{56,69,0}}, +/* 31491 */ {(13<<2)|2,{56,69,0}}, +/* 31492 */ {(13<<2)|2,{56,69,0}}, +/* 31493 */ {(13<<2)|2,{56,69,0}}, +/* 31494 */ {(13<<2)|2,{56,69,0}}, +/* 31495 */ {(13<<2)|2,{56,69,0}}, +/* 31496 */ {(13<<2)|2,{56,70,0}}, +/* 31497 */ {(13<<2)|2,{56,70,0}}, +/* 31498 */ {(13<<2)|2,{56,70,0}}, +/* 31499 */ {(13<<2)|2,{56,70,0}}, +/* 31500 */ {(13<<2)|2,{56,70,0}}, +/* 31501 */ {(13<<2)|2,{56,70,0}}, +/* 31502 */ {(13<<2)|2,{56,70,0}}, +/* 31503 */ {(13<<2)|2,{56,70,0}}, +/* 31504 */ {(13<<2)|2,{56,71,0}}, +/* 31505 */ {(13<<2)|2,{56,71,0}}, +/* 31506 */ {(13<<2)|2,{56,71,0}}, +/* 31507 */ {(13<<2)|2,{56,71,0}}, +/* 31508 */ {(13<<2)|2,{56,71,0}}, +/* 31509 */ {(13<<2)|2,{56,71,0}}, +/* 31510 */ {(13<<2)|2,{56,71,0}}, +/* 31511 */ {(13<<2)|2,{56,71,0}}, +/* 31512 */ {(13<<2)|2,{56,72,0}}, +/* 31513 */ {(13<<2)|2,{56,72,0}}, +/* 31514 */ {(13<<2)|2,{56,72,0}}, +/* 31515 */ {(13<<2)|2,{56,72,0}}, +/* 31516 */ {(13<<2)|2,{56,72,0}}, +/* 31517 */ {(13<<2)|2,{56,72,0}}, +/* 31518 */ {(13<<2)|2,{56,72,0}}, +/* 31519 */ {(13<<2)|2,{56,72,0}}, +/* 31520 */ {(13<<2)|2,{56,73,0}}, +/* 31521 */ {(13<<2)|2,{56,73,0}}, +/* 31522 */ {(13<<2)|2,{56,73,0}}, +/* 31523 */ {(13<<2)|2,{56,73,0}}, +/* 31524 */ {(13<<2)|2,{56,73,0}}, +/* 31525 */ {(13<<2)|2,{56,73,0}}, +/* 31526 */ {(13<<2)|2,{56,73,0}}, +/* 31527 */ {(13<<2)|2,{56,73,0}}, +/* 31528 */ {(13<<2)|2,{56,74,0}}, +/* 31529 */ {(13<<2)|2,{56,74,0}}, +/* 31530 */ {(13<<2)|2,{56,74,0}}, +/* 31531 */ {(13<<2)|2,{56,74,0}}, +/* 31532 */ {(13<<2)|2,{56,74,0}}, +/* 31533 */ {(13<<2)|2,{56,74,0}}, +/* 31534 */ {(13<<2)|2,{56,74,0}}, +/* 31535 */ {(13<<2)|2,{56,74,0}}, +/* 31536 */ {(13<<2)|2,{56,75,0}}, +/* 31537 */ {(13<<2)|2,{56,75,0}}, +/* 31538 */ {(13<<2)|2,{56,75,0}}, +/* 31539 */ {(13<<2)|2,{56,75,0}}, +/* 31540 */ {(13<<2)|2,{56,75,0}}, +/* 31541 */ {(13<<2)|2,{56,75,0}}, +/* 31542 */ {(13<<2)|2,{56,75,0}}, +/* 31543 */ {(13<<2)|2,{56,75,0}}, +/* 31544 */ {(13<<2)|2,{56,76,0}}, +/* 31545 */ {(13<<2)|2,{56,76,0}}, +/* 31546 */ {(13<<2)|2,{56,76,0}}, +/* 31547 */ {(13<<2)|2,{56,76,0}}, +/* 31548 */ {(13<<2)|2,{56,76,0}}, +/* 31549 */ {(13<<2)|2,{56,76,0}}, +/* 31550 */ {(13<<2)|2,{56,76,0}}, +/* 31551 */ {(13<<2)|2,{56,76,0}}, +/* 31552 */ {(13<<2)|2,{56,77,0}}, +/* 31553 */ {(13<<2)|2,{56,77,0}}, +/* 31554 */ {(13<<2)|2,{56,77,0}}, +/* 31555 */ {(13<<2)|2,{56,77,0}}, +/* 31556 */ {(13<<2)|2,{56,77,0}}, +/* 31557 */ {(13<<2)|2,{56,77,0}}, +/* 31558 */ {(13<<2)|2,{56,77,0}}, +/* 31559 */ {(13<<2)|2,{56,77,0}}, +/* 31560 */ {(13<<2)|2,{56,78,0}}, +/* 31561 */ {(13<<2)|2,{56,78,0}}, +/* 31562 */ {(13<<2)|2,{56,78,0}}, +/* 31563 */ {(13<<2)|2,{56,78,0}}, +/* 31564 */ {(13<<2)|2,{56,78,0}}, +/* 31565 */ {(13<<2)|2,{56,78,0}}, +/* 31566 */ {(13<<2)|2,{56,78,0}}, +/* 31567 */ {(13<<2)|2,{56,78,0}}, +/* 31568 */ {(13<<2)|2,{56,79,0}}, +/* 31569 */ {(13<<2)|2,{56,79,0}}, +/* 31570 */ {(13<<2)|2,{56,79,0}}, +/* 31571 */ {(13<<2)|2,{56,79,0}}, +/* 31572 */ {(13<<2)|2,{56,79,0}}, +/* 31573 */ {(13<<2)|2,{56,79,0}}, +/* 31574 */ {(13<<2)|2,{56,79,0}}, +/* 31575 */ {(13<<2)|2,{56,79,0}}, +/* 31576 */ {(13<<2)|2,{56,80,0}}, +/* 31577 */ {(13<<2)|2,{56,80,0}}, +/* 31578 */ {(13<<2)|2,{56,80,0}}, +/* 31579 */ {(13<<2)|2,{56,80,0}}, +/* 31580 */ {(13<<2)|2,{56,80,0}}, +/* 31581 */ {(13<<2)|2,{56,80,0}}, +/* 31582 */ {(13<<2)|2,{56,80,0}}, +/* 31583 */ {(13<<2)|2,{56,80,0}}, +/* 31584 */ {(13<<2)|2,{56,81,0}}, +/* 31585 */ {(13<<2)|2,{56,81,0}}, +/* 31586 */ {(13<<2)|2,{56,81,0}}, +/* 31587 */ {(13<<2)|2,{56,81,0}}, +/* 31588 */ {(13<<2)|2,{56,81,0}}, +/* 31589 */ {(13<<2)|2,{56,81,0}}, +/* 31590 */ {(13<<2)|2,{56,81,0}}, +/* 31591 */ {(13<<2)|2,{56,81,0}}, +/* 31592 */ {(13<<2)|2,{56,82,0}}, +/* 31593 */ {(13<<2)|2,{56,82,0}}, +/* 31594 */ {(13<<2)|2,{56,82,0}}, +/* 31595 */ {(13<<2)|2,{56,82,0}}, +/* 31596 */ {(13<<2)|2,{56,82,0}}, +/* 31597 */ {(13<<2)|2,{56,82,0}}, +/* 31598 */ {(13<<2)|2,{56,82,0}}, +/* 31599 */ {(13<<2)|2,{56,82,0}}, +/* 31600 */ {(13<<2)|2,{56,83,0}}, +/* 31601 */ {(13<<2)|2,{56,83,0}}, +/* 31602 */ {(13<<2)|2,{56,83,0}}, +/* 31603 */ {(13<<2)|2,{56,83,0}}, +/* 31604 */ {(13<<2)|2,{56,83,0}}, +/* 31605 */ {(13<<2)|2,{56,83,0}}, +/* 31606 */ {(13<<2)|2,{56,83,0}}, +/* 31607 */ {(13<<2)|2,{56,83,0}}, +/* 31608 */ {(13<<2)|2,{56,84,0}}, +/* 31609 */ {(13<<2)|2,{56,84,0}}, +/* 31610 */ {(13<<2)|2,{56,84,0}}, +/* 31611 */ {(13<<2)|2,{56,84,0}}, +/* 31612 */ {(13<<2)|2,{56,84,0}}, +/* 31613 */ {(13<<2)|2,{56,84,0}}, +/* 31614 */ {(13<<2)|2,{56,84,0}}, +/* 31615 */ {(13<<2)|2,{56,84,0}}, +/* 31616 */ {(13<<2)|2,{56,85,0}}, +/* 31617 */ {(13<<2)|2,{56,85,0}}, +/* 31618 */ {(13<<2)|2,{56,85,0}}, +/* 31619 */ {(13<<2)|2,{56,85,0}}, +/* 31620 */ {(13<<2)|2,{56,85,0}}, +/* 31621 */ {(13<<2)|2,{56,85,0}}, +/* 31622 */ {(13<<2)|2,{56,85,0}}, +/* 31623 */ {(13<<2)|2,{56,85,0}}, +/* 31624 */ {(13<<2)|2,{56,86,0}}, +/* 31625 */ {(13<<2)|2,{56,86,0}}, +/* 31626 */ {(13<<2)|2,{56,86,0}}, +/* 31627 */ {(13<<2)|2,{56,86,0}}, +/* 31628 */ {(13<<2)|2,{56,86,0}}, +/* 31629 */ {(13<<2)|2,{56,86,0}}, +/* 31630 */ {(13<<2)|2,{56,86,0}}, +/* 31631 */ {(13<<2)|2,{56,86,0}}, +/* 31632 */ {(13<<2)|2,{56,87,0}}, +/* 31633 */ {(13<<2)|2,{56,87,0}}, +/* 31634 */ {(13<<2)|2,{56,87,0}}, +/* 31635 */ {(13<<2)|2,{56,87,0}}, +/* 31636 */ {(13<<2)|2,{56,87,0}}, +/* 31637 */ {(13<<2)|2,{56,87,0}}, +/* 31638 */ {(13<<2)|2,{56,87,0}}, +/* 31639 */ {(13<<2)|2,{56,87,0}}, +/* 31640 */ {(13<<2)|2,{56,89,0}}, +/* 31641 */ {(13<<2)|2,{56,89,0}}, +/* 31642 */ {(13<<2)|2,{56,89,0}}, +/* 31643 */ {(13<<2)|2,{56,89,0}}, +/* 31644 */ {(13<<2)|2,{56,89,0}}, +/* 31645 */ {(13<<2)|2,{56,89,0}}, +/* 31646 */ {(13<<2)|2,{56,89,0}}, +/* 31647 */ {(13<<2)|2,{56,89,0}}, +/* 31648 */ {(13<<2)|2,{56,106,0}}, +/* 31649 */ {(13<<2)|2,{56,106,0}}, +/* 31650 */ {(13<<2)|2,{56,106,0}}, +/* 31651 */ {(13<<2)|2,{56,106,0}}, +/* 31652 */ {(13<<2)|2,{56,106,0}}, +/* 31653 */ {(13<<2)|2,{56,106,0}}, +/* 31654 */ {(13<<2)|2,{56,106,0}}, +/* 31655 */ {(13<<2)|2,{56,106,0}}, +/* 31656 */ {(13<<2)|2,{56,107,0}}, +/* 31657 */ {(13<<2)|2,{56,107,0}}, +/* 31658 */ {(13<<2)|2,{56,107,0}}, +/* 31659 */ {(13<<2)|2,{56,107,0}}, +/* 31660 */ {(13<<2)|2,{56,107,0}}, +/* 31661 */ {(13<<2)|2,{56,107,0}}, +/* 31662 */ {(13<<2)|2,{56,107,0}}, +/* 31663 */ {(13<<2)|2,{56,107,0}}, +/* 31664 */ {(13<<2)|2,{56,113,0}}, +/* 31665 */ {(13<<2)|2,{56,113,0}}, +/* 31666 */ {(13<<2)|2,{56,113,0}}, +/* 31667 */ {(13<<2)|2,{56,113,0}}, +/* 31668 */ {(13<<2)|2,{56,113,0}}, +/* 31669 */ {(13<<2)|2,{56,113,0}}, +/* 31670 */ {(13<<2)|2,{56,113,0}}, +/* 31671 */ {(13<<2)|2,{56,113,0}}, +/* 31672 */ {(13<<2)|2,{56,118,0}}, +/* 31673 */ {(13<<2)|2,{56,118,0}}, +/* 31674 */ {(13<<2)|2,{56,118,0}}, +/* 31675 */ {(13<<2)|2,{56,118,0}}, +/* 31676 */ {(13<<2)|2,{56,118,0}}, +/* 31677 */ {(13<<2)|2,{56,118,0}}, +/* 31678 */ {(13<<2)|2,{56,118,0}}, +/* 31679 */ {(13<<2)|2,{56,118,0}}, +/* 31680 */ {(13<<2)|2,{56,119,0}}, +/* 31681 */ {(13<<2)|2,{56,119,0}}, +/* 31682 */ {(13<<2)|2,{56,119,0}}, +/* 31683 */ {(13<<2)|2,{56,119,0}}, +/* 31684 */ {(13<<2)|2,{56,119,0}}, +/* 31685 */ {(13<<2)|2,{56,119,0}}, +/* 31686 */ {(13<<2)|2,{56,119,0}}, +/* 31687 */ {(13<<2)|2,{56,119,0}}, +/* 31688 */ {(13<<2)|2,{56,120,0}}, +/* 31689 */ {(13<<2)|2,{56,120,0}}, +/* 31690 */ {(13<<2)|2,{56,120,0}}, +/* 31691 */ {(13<<2)|2,{56,120,0}}, +/* 31692 */ {(13<<2)|2,{56,120,0}}, +/* 31693 */ {(13<<2)|2,{56,120,0}}, +/* 31694 */ {(13<<2)|2,{56,120,0}}, +/* 31695 */ {(13<<2)|2,{56,120,0}}, +/* 31696 */ {(13<<2)|2,{56,121,0}}, +/* 31697 */ {(13<<2)|2,{56,121,0}}, +/* 31698 */ {(13<<2)|2,{56,121,0}}, +/* 31699 */ {(13<<2)|2,{56,121,0}}, +/* 31700 */ {(13<<2)|2,{56,121,0}}, +/* 31701 */ {(13<<2)|2,{56,121,0}}, +/* 31702 */ {(13<<2)|2,{56,121,0}}, +/* 31703 */ {(13<<2)|2,{56,121,0}}, +/* 31704 */ {(13<<2)|2,{56,122,0}}, +/* 31705 */ {(13<<2)|2,{56,122,0}}, +/* 31706 */ {(13<<2)|2,{56,122,0}}, +/* 31707 */ {(13<<2)|2,{56,122,0}}, +/* 31708 */ {(13<<2)|2,{56,122,0}}, +/* 31709 */ {(13<<2)|2,{56,122,0}}, +/* 31710 */ {(13<<2)|2,{56,122,0}}, +/* 31711 */ {(13<<2)|2,{56,122,0}}, +/* 31712 */ {(14<<2)|2,{56,38,0}}, +/* 31713 */ {(14<<2)|2,{56,38,0}}, +/* 31714 */ {(14<<2)|2,{56,38,0}}, +/* 31715 */ {(14<<2)|2,{56,38,0}}, +/* 31716 */ {(14<<2)|2,{56,42,0}}, +/* 31717 */ {(14<<2)|2,{56,42,0}}, +/* 31718 */ {(14<<2)|2,{56,42,0}}, +/* 31719 */ {(14<<2)|2,{56,42,0}}, +/* 31720 */ {(14<<2)|2,{56,44,0}}, +/* 31721 */ {(14<<2)|2,{56,44,0}}, +/* 31722 */ {(14<<2)|2,{56,44,0}}, +/* 31723 */ {(14<<2)|2,{56,44,0}}, +/* 31724 */ {(14<<2)|2,{56,59,0}}, +/* 31725 */ {(14<<2)|2,{56,59,0}}, +/* 31726 */ {(14<<2)|2,{56,59,0}}, +/* 31727 */ {(14<<2)|2,{56,59,0}}, +/* 31728 */ {(14<<2)|2,{56,88,0}}, +/* 31729 */ {(14<<2)|2,{56,88,0}}, +/* 31730 */ {(14<<2)|2,{56,88,0}}, +/* 31731 */ {(14<<2)|2,{56,88,0}}, +/* 31732 */ {(14<<2)|2,{56,90,0}}, +/* 31733 */ {(14<<2)|2,{56,90,0}}, +/* 31734 */ {(14<<2)|2,{56,90,0}}, +/* 31735 */ {(14<<2)|2,{56,90,0}}, +/* 31736 */ {(16<<2)|2,{56,33,0}}, +/* 31737 */ {(16<<2)|2,{56,34,0}}, +/* 31738 */ {(16<<2)|2,{56,40,0}}, +/* 31739 */ {(16<<2)|2,{56,41,0}}, +/* 31740 */ {(16<<2)|2,{56,63,0}}, +/* 31741 */ {(6<<2)|1,{56,0,0}}, +/* 31742 */ {(6<<2)|1,{56,0,0}}, +/* 31743 */ {(6<<2)|1,{56,0,0}}, +/* 31744 */ {(16<<2)|3,{57,48,48}}, +/* 31745 */ {(16<<2)|3,{57,48,49}}, +/* 31746 */ {(16<<2)|3,{57,48,50}}, +/* 31747 */ {(16<<2)|3,{57,48,97}}, +/* 31748 */ {(16<<2)|3,{57,48,99}}, +/* 31749 */ {(16<<2)|3,{57,48,101}}, +/* 31750 */ {(16<<2)|3,{57,48,105}}, +/* 31751 */ {(16<<2)|3,{57,48,111}}, +/* 31752 */ {(16<<2)|3,{57,48,115}}, +/* 31753 */ {(16<<2)|3,{57,48,116}}, +/* 31754 */ {(11<<2)|2,{57,48,0}}, +/* 31755 */ {(11<<2)|2,{57,48,0}}, +/* 31756 */ {(11<<2)|2,{57,48,0}}, +/* 31757 */ {(11<<2)|2,{57,48,0}}, +/* 31758 */ {(11<<2)|2,{57,48,0}}, +/* 31759 */ {(11<<2)|2,{57,48,0}}, +/* 31760 */ {(11<<2)|2,{57,48,0}}, +/* 31761 */ {(11<<2)|2,{57,48,0}}, +/* 31762 */ {(11<<2)|2,{57,48,0}}, +/* 31763 */ {(11<<2)|2,{57,48,0}}, +/* 31764 */ {(11<<2)|2,{57,48,0}}, +/* 31765 */ {(11<<2)|2,{57,48,0}}, +/* 31766 */ {(11<<2)|2,{57,48,0}}, +/* 31767 */ {(11<<2)|2,{57,48,0}}, +/* 31768 */ {(11<<2)|2,{57,48,0}}, +/* 31769 */ {(11<<2)|2,{57,48,0}}, +/* 31770 */ {(11<<2)|2,{57,48,0}}, +/* 31771 */ {(11<<2)|2,{57,48,0}}, +/* 31772 */ {(11<<2)|2,{57,48,0}}, +/* 31773 */ {(11<<2)|2,{57,48,0}}, +/* 31774 */ {(11<<2)|2,{57,48,0}}, +/* 31775 */ {(11<<2)|2,{57,48,0}}, +/* 31776 */ {(16<<2)|3,{57,49,48}}, +/* 31777 */ {(16<<2)|3,{57,49,49}}, +/* 31778 */ {(16<<2)|3,{57,49,50}}, +/* 31779 */ {(16<<2)|3,{57,49,97}}, +/* 31780 */ {(16<<2)|3,{57,49,99}}, +/* 31781 */ {(16<<2)|3,{57,49,101}}, +/* 31782 */ {(16<<2)|3,{57,49,105}}, +/* 31783 */ {(16<<2)|3,{57,49,111}}, +/* 31784 */ {(16<<2)|3,{57,49,115}}, +/* 31785 */ {(16<<2)|3,{57,49,116}}, +/* 31786 */ {(11<<2)|2,{57,49,0}}, +/* 31787 */ {(11<<2)|2,{57,49,0}}, +/* 31788 */ {(11<<2)|2,{57,49,0}}, +/* 31789 */ {(11<<2)|2,{57,49,0}}, +/* 31790 */ {(11<<2)|2,{57,49,0}}, +/* 31791 */ {(11<<2)|2,{57,49,0}}, +/* 31792 */ {(11<<2)|2,{57,49,0}}, +/* 31793 */ {(11<<2)|2,{57,49,0}}, +/* 31794 */ {(11<<2)|2,{57,49,0}}, +/* 31795 */ {(11<<2)|2,{57,49,0}}, +/* 31796 */ {(11<<2)|2,{57,49,0}}, +/* 31797 */ {(11<<2)|2,{57,49,0}}, +/* 31798 */ {(11<<2)|2,{57,49,0}}, +/* 31799 */ {(11<<2)|2,{57,49,0}}, +/* 31800 */ {(11<<2)|2,{57,49,0}}, +/* 31801 */ {(11<<2)|2,{57,49,0}}, +/* 31802 */ {(11<<2)|2,{57,49,0}}, +/* 31803 */ {(11<<2)|2,{57,49,0}}, +/* 31804 */ {(11<<2)|2,{57,49,0}}, +/* 31805 */ {(11<<2)|2,{57,49,0}}, +/* 31806 */ {(11<<2)|2,{57,49,0}}, +/* 31807 */ {(11<<2)|2,{57,49,0}}, +/* 31808 */ {(16<<2)|3,{57,50,48}}, +/* 31809 */ {(16<<2)|3,{57,50,49}}, +/* 31810 */ {(16<<2)|3,{57,50,50}}, +/* 31811 */ {(16<<2)|3,{57,50,97}}, +/* 31812 */ {(16<<2)|3,{57,50,99}}, +/* 31813 */ {(16<<2)|3,{57,50,101}}, +/* 31814 */ {(16<<2)|3,{57,50,105}}, +/* 31815 */ {(16<<2)|3,{57,50,111}}, +/* 31816 */ {(16<<2)|3,{57,50,115}}, +/* 31817 */ {(16<<2)|3,{57,50,116}}, +/* 31818 */ {(11<<2)|2,{57,50,0}}, +/* 31819 */ {(11<<2)|2,{57,50,0}}, +/* 31820 */ {(11<<2)|2,{57,50,0}}, +/* 31821 */ {(11<<2)|2,{57,50,0}}, +/* 31822 */ {(11<<2)|2,{57,50,0}}, +/* 31823 */ {(11<<2)|2,{57,50,0}}, +/* 31824 */ {(11<<2)|2,{57,50,0}}, +/* 31825 */ {(11<<2)|2,{57,50,0}}, +/* 31826 */ {(11<<2)|2,{57,50,0}}, +/* 31827 */ {(11<<2)|2,{57,50,0}}, +/* 31828 */ {(11<<2)|2,{57,50,0}}, +/* 31829 */ {(11<<2)|2,{57,50,0}}, +/* 31830 */ {(11<<2)|2,{57,50,0}}, +/* 31831 */ {(11<<2)|2,{57,50,0}}, +/* 31832 */ {(11<<2)|2,{57,50,0}}, +/* 31833 */ {(11<<2)|2,{57,50,0}}, +/* 31834 */ {(11<<2)|2,{57,50,0}}, +/* 31835 */ {(11<<2)|2,{57,50,0}}, +/* 31836 */ {(11<<2)|2,{57,50,0}}, +/* 31837 */ {(11<<2)|2,{57,50,0}}, +/* 31838 */ {(11<<2)|2,{57,50,0}}, +/* 31839 */ {(11<<2)|2,{57,50,0}}, +/* 31840 */ {(16<<2)|3,{57,97,48}}, +/* 31841 */ {(16<<2)|3,{57,97,49}}, +/* 31842 */ {(16<<2)|3,{57,97,50}}, +/* 31843 */ {(16<<2)|3,{57,97,97}}, +/* 31844 */ {(16<<2)|3,{57,97,99}}, +/* 31845 */ {(16<<2)|3,{57,97,101}}, +/* 31846 */ {(16<<2)|3,{57,97,105}}, +/* 31847 */ {(16<<2)|3,{57,97,111}}, +/* 31848 */ {(16<<2)|3,{57,97,115}}, +/* 31849 */ {(16<<2)|3,{57,97,116}}, +/* 31850 */ {(11<<2)|2,{57,97,0}}, +/* 31851 */ {(11<<2)|2,{57,97,0}}, +/* 31852 */ {(11<<2)|2,{57,97,0}}, +/* 31853 */ {(11<<2)|2,{57,97,0}}, +/* 31854 */ {(11<<2)|2,{57,97,0}}, +/* 31855 */ {(11<<2)|2,{57,97,0}}, +/* 31856 */ {(11<<2)|2,{57,97,0}}, +/* 31857 */ {(11<<2)|2,{57,97,0}}, +/* 31858 */ {(11<<2)|2,{57,97,0}}, +/* 31859 */ {(11<<2)|2,{57,97,0}}, +/* 31860 */ {(11<<2)|2,{57,97,0}}, +/* 31861 */ {(11<<2)|2,{57,97,0}}, +/* 31862 */ {(11<<2)|2,{57,97,0}}, +/* 31863 */ {(11<<2)|2,{57,97,0}}, +/* 31864 */ {(11<<2)|2,{57,97,0}}, +/* 31865 */ {(11<<2)|2,{57,97,0}}, +/* 31866 */ {(11<<2)|2,{57,97,0}}, +/* 31867 */ {(11<<2)|2,{57,97,0}}, +/* 31868 */ {(11<<2)|2,{57,97,0}}, +/* 31869 */ {(11<<2)|2,{57,97,0}}, +/* 31870 */ {(11<<2)|2,{57,97,0}}, +/* 31871 */ {(11<<2)|2,{57,97,0}}, +/* 31872 */ {(16<<2)|3,{57,99,48}}, +/* 31873 */ {(16<<2)|3,{57,99,49}}, +/* 31874 */ {(16<<2)|3,{57,99,50}}, +/* 31875 */ {(16<<2)|3,{57,99,97}}, +/* 31876 */ {(16<<2)|3,{57,99,99}}, +/* 31877 */ {(16<<2)|3,{57,99,101}}, +/* 31878 */ {(16<<2)|3,{57,99,105}}, +/* 31879 */ {(16<<2)|3,{57,99,111}}, +/* 31880 */ {(16<<2)|3,{57,99,115}}, +/* 31881 */ {(16<<2)|3,{57,99,116}}, +/* 31882 */ {(11<<2)|2,{57,99,0}}, +/* 31883 */ {(11<<2)|2,{57,99,0}}, +/* 31884 */ {(11<<2)|2,{57,99,0}}, +/* 31885 */ {(11<<2)|2,{57,99,0}}, +/* 31886 */ {(11<<2)|2,{57,99,0}}, +/* 31887 */ {(11<<2)|2,{57,99,0}}, +/* 31888 */ {(11<<2)|2,{57,99,0}}, +/* 31889 */ {(11<<2)|2,{57,99,0}}, +/* 31890 */ {(11<<2)|2,{57,99,0}}, +/* 31891 */ {(11<<2)|2,{57,99,0}}, +/* 31892 */ {(11<<2)|2,{57,99,0}}, +/* 31893 */ {(11<<2)|2,{57,99,0}}, +/* 31894 */ {(11<<2)|2,{57,99,0}}, +/* 31895 */ {(11<<2)|2,{57,99,0}}, +/* 31896 */ {(11<<2)|2,{57,99,0}}, +/* 31897 */ {(11<<2)|2,{57,99,0}}, +/* 31898 */ {(11<<2)|2,{57,99,0}}, +/* 31899 */ {(11<<2)|2,{57,99,0}}, +/* 31900 */ {(11<<2)|2,{57,99,0}}, +/* 31901 */ {(11<<2)|2,{57,99,0}}, +/* 31902 */ {(11<<2)|2,{57,99,0}}, +/* 31903 */ {(11<<2)|2,{57,99,0}}, +/* 31904 */ {(16<<2)|3,{57,101,48}}, +/* 31905 */ {(16<<2)|3,{57,101,49}}, +/* 31906 */ {(16<<2)|3,{57,101,50}}, +/* 31907 */ {(16<<2)|3,{57,101,97}}, +/* 31908 */ {(16<<2)|3,{57,101,99}}, +/* 31909 */ {(16<<2)|3,{57,101,101}}, +/* 31910 */ {(16<<2)|3,{57,101,105}}, +/* 31911 */ {(16<<2)|3,{57,101,111}}, +/* 31912 */ {(16<<2)|3,{57,101,115}}, +/* 31913 */ {(16<<2)|3,{57,101,116}}, +/* 31914 */ {(11<<2)|2,{57,101,0}}, +/* 31915 */ {(11<<2)|2,{57,101,0}}, +/* 31916 */ {(11<<2)|2,{57,101,0}}, +/* 31917 */ {(11<<2)|2,{57,101,0}}, +/* 31918 */ {(11<<2)|2,{57,101,0}}, +/* 31919 */ {(11<<2)|2,{57,101,0}}, +/* 31920 */ {(11<<2)|2,{57,101,0}}, +/* 31921 */ {(11<<2)|2,{57,101,0}}, +/* 31922 */ {(11<<2)|2,{57,101,0}}, +/* 31923 */ {(11<<2)|2,{57,101,0}}, +/* 31924 */ {(11<<2)|2,{57,101,0}}, +/* 31925 */ {(11<<2)|2,{57,101,0}}, +/* 31926 */ {(11<<2)|2,{57,101,0}}, +/* 31927 */ {(11<<2)|2,{57,101,0}}, +/* 31928 */ {(11<<2)|2,{57,101,0}}, +/* 31929 */ {(11<<2)|2,{57,101,0}}, +/* 31930 */ {(11<<2)|2,{57,101,0}}, +/* 31931 */ {(11<<2)|2,{57,101,0}}, +/* 31932 */ {(11<<2)|2,{57,101,0}}, +/* 31933 */ {(11<<2)|2,{57,101,0}}, +/* 31934 */ {(11<<2)|2,{57,101,0}}, +/* 31935 */ {(11<<2)|2,{57,101,0}}, +/* 31936 */ {(16<<2)|3,{57,105,48}}, +/* 31937 */ {(16<<2)|3,{57,105,49}}, +/* 31938 */ {(16<<2)|3,{57,105,50}}, +/* 31939 */ {(16<<2)|3,{57,105,97}}, +/* 31940 */ {(16<<2)|3,{57,105,99}}, +/* 31941 */ {(16<<2)|3,{57,105,101}}, +/* 31942 */ {(16<<2)|3,{57,105,105}}, +/* 31943 */ {(16<<2)|3,{57,105,111}}, +/* 31944 */ {(16<<2)|3,{57,105,115}}, +/* 31945 */ {(16<<2)|3,{57,105,116}}, +/* 31946 */ {(11<<2)|2,{57,105,0}}, +/* 31947 */ {(11<<2)|2,{57,105,0}}, +/* 31948 */ {(11<<2)|2,{57,105,0}}, +/* 31949 */ {(11<<2)|2,{57,105,0}}, +/* 31950 */ {(11<<2)|2,{57,105,0}}, +/* 31951 */ {(11<<2)|2,{57,105,0}}, +/* 31952 */ {(11<<2)|2,{57,105,0}}, +/* 31953 */ {(11<<2)|2,{57,105,0}}, +/* 31954 */ {(11<<2)|2,{57,105,0}}, +/* 31955 */ {(11<<2)|2,{57,105,0}}, +/* 31956 */ {(11<<2)|2,{57,105,0}}, +/* 31957 */ {(11<<2)|2,{57,105,0}}, +/* 31958 */ {(11<<2)|2,{57,105,0}}, +/* 31959 */ {(11<<2)|2,{57,105,0}}, +/* 31960 */ {(11<<2)|2,{57,105,0}}, +/* 31961 */ {(11<<2)|2,{57,105,0}}, +/* 31962 */ {(11<<2)|2,{57,105,0}}, +/* 31963 */ {(11<<2)|2,{57,105,0}}, +/* 31964 */ {(11<<2)|2,{57,105,0}}, +/* 31965 */ {(11<<2)|2,{57,105,0}}, +/* 31966 */ {(11<<2)|2,{57,105,0}}, +/* 31967 */ {(11<<2)|2,{57,105,0}}, +/* 31968 */ {(16<<2)|3,{57,111,48}}, +/* 31969 */ {(16<<2)|3,{57,111,49}}, +/* 31970 */ {(16<<2)|3,{57,111,50}}, +/* 31971 */ {(16<<2)|3,{57,111,97}}, +/* 31972 */ {(16<<2)|3,{57,111,99}}, +/* 31973 */ {(16<<2)|3,{57,111,101}}, +/* 31974 */ {(16<<2)|3,{57,111,105}}, +/* 31975 */ {(16<<2)|3,{57,111,111}}, +/* 31976 */ {(16<<2)|3,{57,111,115}}, +/* 31977 */ {(16<<2)|3,{57,111,116}}, +/* 31978 */ {(11<<2)|2,{57,111,0}}, +/* 31979 */ {(11<<2)|2,{57,111,0}}, +/* 31980 */ {(11<<2)|2,{57,111,0}}, +/* 31981 */ {(11<<2)|2,{57,111,0}}, +/* 31982 */ {(11<<2)|2,{57,111,0}}, +/* 31983 */ {(11<<2)|2,{57,111,0}}, +/* 31984 */ {(11<<2)|2,{57,111,0}}, +/* 31985 */ {(11<<2)|2,{57,111,0}}, +/* 31986 */ {(11<<2)|2,{57,111,0}}, +/* 31987 */ {(11<<2)|2,{57,111,0}}, +/* 31988 */ {(11<<2)|2,{57,111,0}}, +/* 31989 */ {(11<<2)|2,{57,111,0}}, +/* 31990 */ {(11<<2)|2,{57,111,0}}, +/* 31991 */ {(11<<2)|2,{57,111,0}}, +/* 31992 */ {(11<<2)|2,{57,111,0}}, +/* 31993 */ {(11<<2)|2,{57,111,0}}, +/* 31994 */ {(11<<2)|2,{57,111,0}}, +/* 31995 */ {(11<<2)|2,{57,111,0}}, +/* 31996 */ {(11<<2)|2,{57,111,0}}, +/* 31997 */ {(11<<2)|2,{57,111,0}}, +/* 31998 */ {(11<<2)|2,{57,111,0}}, +/* 31999 */ {(11<<2)|2,{57,111,0}}, +/* 32000 */ {(16<<2)|3,{57,115,48}}, +/* 32001 */ {(16<<2)|3,{57,115,49}}, +/* 32002 */ {(16<<2)|3,{57,115,50}}, +/* 32003 */ {(16<<2)|3,{57,115,97}}, +/* 32004 */ {(16<<2)|3,{57,115,99}}, +/* 32005 */ {(16<<2)|3,{57,115,101}}, +/* 32006 */ {(16<<2)|3,{57,115,105}}, +/* 32007 */ {(16<<2)|3,{57,115,111}}, +/* 32008 */ {(16<<2)|3,{57,115,115}}, +/* 32009 */ {(16<<2)|3,{57,115,116}}, +/* 32010 */ {(11<<2)|2,{57,115,0}}, +/* 32011 */ {(11<<2)|2,{57,115,0}}, +/* 32012 */ {(11<<2)|2,{57,115,0}}, +/* 32013 */ {(11<<2)|2,{57,115,0}}, +/* 32014 */ {(11<<2)|2,{57,115,0}}, +/* 32015 */ {(11<<2)|2,{57,115,0}}, +/* 32016 */ {(11<<2)|2,{57,115,0}}, +/* 32017 */ {(11<<2)|2,{57,115,0}}, +/* 32018 */ {(11<<2)|2,{57,115,0}}, +/* 32019 */ {(11<<2)|2,{57,115,0}}, +/* 32020 */ {(11<<2)|2,{57,115,0}}, +/* 32021 */ {(11<<2)|2,{57,115,0}}, +/* 32022 */ {(11<<2)|2,{57,115,0}}, +/* 32023 */ {(11<<2)|2,{57,115,0}}, +/* 32024 */ {(11<<2)|2,{57,115,0}}, +/* 32025 */ {(11<<2)|2,{57,115,0}}, +/* 32026 */ {(11<<2)|2,{57,115,0}}, +/* 32027 */ {(11<<2)|2,{57,115,0}}, +/* 32028 */ {(11<<2)|2,{57,115,0}}, +/* 32029 */ {(11<<2)|2,{57,115,0}}, +/* 32030 */ {(11<<2)|2,{57,115,0}}, +/* 32031 */ {(11<<2)|2,{57,115,0}}, +/* 32032 */ {(16<<2)|3,{57,116,48}}, +/* 32033 */ {(16<<2)|3,{57,116,49}}, +/* 32034 */ {(16<<2)|3,{57,116,50}}, +/* 32035 */ {(16<<2)|3,{57,116,97}}, +/* 32036 */ {(16<<2)|3,{57,116,99}}, +/* 32037 */ {(16<<2)|3,{57,116,101}}, +/* 32038 */ {(16<<2)|3,{57,116,105}}, +/* 32039 */ {(16<<2)|3,{57,116,111}}, +/* 32040 */ {(16<<2)|3,{57,116,115}}, +/* 32041 */ {(16<<2)|3,{57,116,116}}, +/* 32042 */ {(11<<2)|2,{57,116,0}}, +/* 32043 */ {(11<<2)|2,{57,116,0}}, +/* 32044 */ {(11<<2)|2,{57,116,0}}, +/* 32045 */ {(11<<2)|2,{57,116,0}}, +/* 32046 */ {(11<<2)|2,{57,116,0}}, +/* 32047 */ {(11<<2)|2,{57,116,0}}, +/* 32048 */ {(11<<2)|2,{57,116,0}}, +/* 32049 */ {(11<<2)|2,{57,116,0}}, +/* 32050 */ {(11<<2)|2,{57,116,0}}, +/* 32051 */ {(11<<2)|2,{57,116,0}}, +/* 32052 */ {(11<<2)|2,{57,116,0}}, +/* 32053 */ {(11<<2)|2,{57,116,0}}, +/* 32054 */ {(11<<2)|2,{57,116,0}}, +/* 32055 */ {(11<<2)|2,{57,116,0}}, +/* 32056 */ {(11<<2)|2,{57,116,0}}, +/* 32057 */ {(11<<2)|2,{57,116,0}}, +/* 32058 */ {(11<<2)|2,{57,116,0}}, +/* 32059 */ {(11<<2)|2,{57,116,0}}, +/* 32060 */ {(11<<2)|2,{57,116,0}}, +/* 32061 */ {(11<<2)|2,{57,116,0}}, +/* 32062 */ {(11<<2)|2,{57,116,0}}, +/* 32063 */ {(11<<2)|2,{57,116,0}}, +/* 32064 */ {(12<<2)|2,{57,32,0}}, +/* 32065 */ {(12<<2)|2,{57,32,0}}, +/* 32066 */ {(12<<2)|2,{57,32,0}}, +/* 32067 */ {(12<<2)|2,{57,32,0}}, +/* 32068 */ {(12<<2)|2,{57,32,0}}, +/* 32069 */ {(12<<2)|2,{57,32,0}}, +/* 32070 */ {(12<<2)|2,{57,32,0}}, +/* 32071 */ {(12<<2)|2,{57,32,0}}, +/* 32072 */ {(12<<2)|2,{57,32,0}}, +/* 32073 */ {(12<<2)|2,{57,32,0}}, +/* 32074 */ {(12<<2)|2,{57,32,0}}, +/* 32075 */ {(12<<2)|2,{57,32,0}}, +/* 32076 */ {(12<<2)|2,{57,32,0}}, +/* 32077 */ {(12<<2)|2,{57,32,0}}, +/* 32078 */ {(12<<2)|2,{57,32,0}}, +/* 32079 */ {(12<<2)|2,{57,32,0}}, +/* 32080 */ {(12<<2)|2,{57,37,0}}, +/* 32081 */ {(12<<2)|2,{57,37,0}}, +/* 32082 */ {(12<<2)|2,{57,37,0}}, +/* 32083 */ {(12<<2)|2,{57,37,0}}, +/* 32084 */ {(12<<2)|2,{57,37,0}}, +/* 32085 */ {(12<<2)|2,{57,37,0}}, +/* 32086 */ {(12<<2)|2,{57,37,0}}, +/* 32087 */ {(12<<2)|2,{57,37,0}}, +/* 32088 */ {(12<<2)|2,{57,37,0}}, +/* 32089 */ {(12<<2)|2,{57,37,0}}, +/* 32090 */ {(12<<2)|2,{57,37,0}}, +/* 32091 */ {(12<<2)|2,{57,37,0}}, +/* 32092 */ {(12<<2)|2,{57,37,0}}, +/* 32093 */ {(12<<2)|2,{57,37,0}}, +/* 32094 */ {(12<<2)|2,{57,37,0}}, +/* 32095 */ {(12<<2)|2,{57,37,0}}, +/* 32096 */ {(12<<2)|2,{57,45,0}}, +/* 32097 */ {(12<<2)|2,{57,45,0}}, +/* 32098 */ {(12<<2)|2,{57,45,0}}, +/* 32099 */ {(12<<2)|2,{57,45,0}}, +/* 32100 */ {(12<<2)|2,{57,45,0}}, +/* 32101 */ {(12<<2)|2,{57,45,0}}, +/* 32102 */ {(12<<2)|2,{57,45,0}}, +/* 32103 */ {(12<<2)|2,{57,45,0}}, +/* 32104 */ {(12<<2)|2,{57,45,0}}, +/* 32105 */ {(12<<2)|2,{57,45,0}}, +/* 32106 */ {(12<<2)|2,{57,45,0}}, +/* 32107 */ {(12<<2)|2,{57,45,0}}, +/* 32108 */ {(12<<2)|2,{57,45,0}}, +/* 32109 */ {(12<<2)|2,{57,45,0}}, +/* 32110 */ {(12<<2)|2,{57,45,0}}, +/* 32111 */ {(12<<2)|2,{57,45,0}}, +/* 32112 */ {(12<<2)|2,{57,46,0}}, +/* 32113 */ {(12<<2)|2,{57,46,0}}, +/* 32114 */ {(12<<2)|2,{57,46,0}}, +/* 32115 */ {(12<<2)|2,{57,46,0}}, +/* 32116 */ {(12<<2)|2,{57,46,0}}, +/* 32117 */ {(12<<2)|2,{57,46,0}}, +/* 32118 */ {(12<<2)|2,{57,46,0}}, +/* 32119 */ {(12<<2)|2,{57,46,0}}, +/* 32120 */ {(12<<2)|2,{57,46,0}}, +/* 32121 */ {(12<<2)|2,{57,46,0}}, +/* 32122 */ {(12<<2)|2,{57,46,0}}, +/* 32123 */ {(12<<2)|2,{57,46,0}}, +/* 32124 */ {(12<<2)|2,{57,46,0}}, +/* 32125 */ {(12<<2)|2,{57,46,0}}, +/* 32126 */ {(12<<2)|2,{57,46,0}}, +/* 32127 */ {(12<<2)|2,{57,46,0}}, +/* 32128 */ {(12<<2)|2,{57,47,0}}, +/* 32129 */ {(12<<2)|2,{57,47,0}}, +/* 32130 */ {(12<<2)|2,{57,47,0}}, +/* 32131 */ {(12<<2)|2,{57,47,0}}, +/* 32132 */ {(12<<2)|2,{57,47,0}}, +/* 32133 */ {(12<<2)|2,{57,47,0}}, +/* 32134 */ {(12<<2)|2,{57,47,0}}, +/* 32135 */ {(12<<2)|2,{57,47,0}}, +/* 32136 */ {(12<<2)|2,{57,47,0}}, +/* 32137 */ {(12<<2)|2,{57,47,0}}, +/* 32138 */ {(12<<2)|2,{57,47,0}}, +/* 32139 */ {(12<<2)|2,{57,47,0}}, +/* 32140 */ {(12<<2)|2,{57,47,0}}, +/* 32141 */ {(12<<2)|2,{57,47,0}}, +/* 32142 */ {(12<<2)|2,{57,47,0}}, +/* 32143 */ {(12<<2)|2,{57,47,0}}, +/* 32144 */ {(12<<2)|2,{57,51,0}}, +/* 32145 */ {(12<<2)|2,{57,51,0}}, +/* 32146 */ {(12<<2)|2,{57,51,0}}, +/* 32147 */ {(12<<2)|2,{57,51,0}}, +/* 32148 */ {(12<<2)|2,{57,51,0}}, +/* 32149 */ {(12<<2)|2,{57,51,0}}, +/* 32150 */ {(12<<2)|2,{57,51,0}}, +/* 32151 */ {(12<<2)|2,{57,51,0}}, +/* 32152 */ {(12<<2)|2,{57,51,0}}, +/* 32153 */ {(12<<2)|2,{57,51,0}}, +/* 32154 */ {(12<<2)|2,{57,51,0}}, +/* 32155 */ {(12<<2)|2,{57,51,0}}, +/* 32156 */ {(12<<2)|2,{57,51,0}}, +/* 32157 */ {(12<<2)|2,{57,51,0}}, +/* 32158 */ {(12<<2)|2,{57,51,0}}, +/* 32159 */ {(12<<2)|2,{57,51,0}}, +/* 32160 */ {(12<<2)|2,{57,52,0}}, +/* 32161 */ {(12<<2)|2,{57,52,0}}, +/* 32162 */ {(12<<2)|2,{57,52,0}}, +/* 32163 */ {(12<<2)|2,{57,52,0}}, +/* 32164 */ {(12<<2)|2,{57,52,0}}, +/* 32165 */ {(12<<2)|2,{57,52,0}}, +/* 32166 */ {(12<<2)|2,{57,52,0}}, +/* 32167 */ {(12<<2)|2,{57,52,0}}, +/* 32168 */ {(12<<2)|2,{57,52,0}}, +/* 32169 */ {(12<<2)|2,{57,52,0}}, +/* 32170 */ {(12<<2)|2,{57,52,0}}, +/* 32171 */ {(12<<2)|2,{57,52,0}}, +/* 32172 */ {(12<<2)|2,{57,52,0}}, +/* 32173 */ {(12<<2)|2,{57,52,0}}, +/* 32174 */ {(12<<2)|2,{57,52,0}}, +/* 32175 */ {(12<<2)|2,{57,52,0}}, +/* 32176 */ {(12<<2)|2,{57,53,0}}, +/* 32177 */ {(12<<2)|2,{57,53,0}}, +/* 32178 */ {(12<<2)|2,{57,53,0}}, +/* 32179 */ {(12<<2)|2,{57,53,0}}, +/* 32180 */ {(12<<2)|2,{57,53,0}}, +/* 32181 */ {(12<<2)|2,{57,53,0}}, +/* 32182 */ {(12<<2)|2,{57,53,0}}, +/* 32183 */ {(12<<2)|2,{57,53,0}}, +/* 32184 */ {(12<<2)|2,{57,53,0}}, +/* 32185 */ {(12<<2)|2,{57,53,0}}, +/* 32186 */ {(12<<2)|2,{57,53,0}}, +/* 32187 */ {(12<<2)|2,{57,53,0}}, +/* 32188 */ {(12<<2)|2,{57,53,0}}, +/* 32189 */ {(12<<2)|2,{57,53,0}}, +/* 32190 */ {(12<<2)|2,{57,53,0}}, +/* 32191 */ {(12<<2)|2,{57,53,0}}, +/* 32192 */ {(12<<2)|2,{57,54,0}}, +/* 32193 */ {(12<<2)|2,{57,54,0}}, +/* 32194 */ {(12<<2)|2,{57,54,0}}, +/* 32195 */ {(12<<2)|2,{57,54,0}}, +/* 32196 */ {(12<<2)|2,{57,54,0}}, +/* 32197 */ {(12<<2)|2,{57,54,0}}, +/* 32198 */ {(12<<2)|2,{57,54,0}}, +/* 32199 */ {(12<<2)|2,{57,54,0}}, +/* 32200 */ {(12<<2)|2,{57,54,0}}, +/* 32201 */ {(12<<2)|2,{57,54,0}}, +/* 32202 */ {(12<<2)|2,{57,54,0}}, +/* 32203 */ {(12<<2)|2,{57,54,0}}, +/* 32204 */ {(12<<2)|2,{57,54,0}}, +/* 32205 */ {(12<<2)|2,{57,54,0}}, +/* 32206 */ {(12<<2)|2,{57,54,0}}, +/* 32207 */ {(12<<2)|2,{57,54,0}}, +/* 32208 */ {(12<<2)|2,{57,55,0}}, +/* 32209 */ {(12<<2)|2,{57,55,0}}, +/* 32210 */ {(12<<2)|2,{57,55,0}}, +/* 32211 */ {(12<<2)|2,{57,55,0}}, +/* 32212 */ {(12<<2)|2,{57,55,0}}, +/* 32213 */ {(12<<2)|2,{57,55,0}}, +/* 32214 */ {(12<<2)|2,{57,55,0}}, +/* 32215 */ {(12<<2)|2,{57,55,0}}, +/* 32216 */ {(12<<2)|2,{57,55,0}}, +/* 32217 */ {(12<<2)|2,{57,55,0}}, +/* 32218 */ {(12<<2)|2,{57,55,0}}, +/* 32219 */ {(12<<2)|2,{57,55,0}}, +/* 32220 */ {(12<<2)|2,{57,55,0}}, +/* 32221 */ {(12<<2)|2,{57,55,0}}, +/* 32222 */ {(12<<2)|2,{57,55,0}}, +/* 32223 */ {(12<<2)|2,{57,55,0}}, +/* 32224 */ {(12<<2)|2,{57,56,0}}, +/* 32225 */ {(12<<2)|2,{57,56,0}}, +/* 32226 */ {(12<<2)|2,{57,56,0}}, +/* 32227 */ {(12<<2)|2,{57,56,0}}, +/* 32228 */ {(12<<2)|2,{57,56,0}}, +/* 32229 */ {(12<<2)|2,{57,56,0}}, +/* 32230 */ {(12<<2)|2,{57,56,0}}, +/* 32231 */ {(12<<2)|2,{57,56,0}}, +/* 32232 */ {(12<<2)|2,{57,56,0}}, +/* 32233 */ {(12<<2)|2,{57,56,0}}, +/* 32234 */ {(12<<2)|2,{57,56,0}}, +/* 32235 */ {(12<<2)|2,{57,56,0}}, +/* 32236 */ {(12<<2)|2,{57,56,0}}, +/* 32237 */ {(12<<2)|2,{57,56,0}}, +/* 32238 */ {(12<<2)|2,{57,56,0}}, +/* 32239 */ {(12<<2)|2,{57,56,0}}, +/* 32240 */ {(12<<2)|2,{57,57,0}}, +/* 32241 */ {(12<<2)|2,{57,57,0}}, +/* 32242 */ {(12<<2)|2,{57,57,0}}, +/* 32243 */ {(12<<2)|2,{57,57,0}}, +/* 32244 */ {(12<<2)|2,{57,57,0}}, +/* 32245 */ {(12<<2)|2,{57,57,0}}, +/* 32246 */ {(12<<2)|2,{57,57,0}}, +/* 32247 */ {(12<<2)|2,{57,57,0}}, +/* 32248 */ {(12<<2)|2,{57,57,0}}, +/* 32249 */ {(12<<2)|2,{57,57,0}}, +/* 32250 */ {(12<<2)|2,{57,57,0}}, +/* 32251 */ {(12<<2)|2,{57,57,0}}, +/* 32252 */ {(12<<2)|2,{57,57,0}}, +/* 32253 */ {(12<<2)|2,{57,57,0}}, +/* 32254 */ {(12<<2)|2,{57,57,0}}, +/* 32255 */ {(12<<2)|2,{57,57,0}}, +/* 32256 */ {(12<<2)|2,{57,61,0}}, +/* 32257 */ {(12<<2)|2,{57,61,0}}, +/* 32258 */ {(12<<2)|2,{57,61,0}}, +/* 32259 */ {(12<<2)|2,{57,61,0}}, +/* 32260 */ {(12<<2)|2,{57,61,0}}, +/* 32261 */ {(12<<2)|2,{57,61,0}}, +/* 32262 */ {(12<<2)|2,{57,61,0}}, +/* 32263 */ {(12<<2)|2,{57,61,0}}, +/* 32264 */ {(12<<2)|2,{57,61,0}}, +/* 32265 */ {(12<<2)|2,{57,61,0}}, +/* 32266 */ {(12<<2)|2,{57,61,0}}, +/* 32267 */ {(12<<2)|2,{57,61,0}}, +/* 32268 */ {(12<<2)|2,{57,61,0}}, +/* 32269 */ {(12<<2)|2,{57,61,0}}, +/* 32270 */ {(12<<2)|2,{57,61,0}}, +/* 32271 */ {(12<<2)|2,{57,61,0}}, +/* 32272 */ {(12<<2)|2,{57,65,0}}, +/* 32273 */ {(12<<2)|2,{57,65,0}}, +/* 32274 */ {(12<<2)|2,{57,65,0}}, +/* 32275 */ {(12<<2)|2,{57,65,0}}, +/* 32276 */ {(12<<2)|2,{57,65,0}}, +/* 32277 */ {(12<<2)|2,{57,65,0}}, +/* 32278 */ {(12<<2)|2,{57,65,0}}, +/* 32279 */ {(12<<2)|2,{57,65,0}}, +/* 32280 */ {(12<<2)|2,{57,65,0}}, +/* 32281 */ {(12<<2)|2,{57,65,0}}, +/* 32282 */ {(12<<2)|2,{57,65,0}}, +/* 32283 */ {(12<<2)|2,{57,65,0}}, +/* 32284 */ {(12<<2)|2,{57,65,0}}, +/* 32285 */ {(12<<2)|2,{57,65,0}}, +/* 32286 */ {(12<<2)|2,{57,65,0}}, +/* 32287 */ {(12<<2)|2,{57,65,0}}, +/* 32288 */ {(12<<2)|2,{57,95,0}}, +/* 32289 */ {(12<<2)|2,{57,95,0}}, +/* 32290 */ {(12<<2)|2,{57,95,0}}, +/* 32291 */ {(12<<2)|2,{57,95,0}}, +/* 32292 */ {(12<<2)|2,{57,95,0}}, +/* 32293 */ {(12<<2)|2,{57,95,0}}, +/* 32294 */ {(12<<2)|2,{57,95,0}}, +/* 32295 */ {(12<<2)|2,{57,95,0}}, +/* 32296 */ {(12<<2)|2,{57,95,0}}, +/* 32297 */ {(12<<2)|2,{57,95,0}}, +/* 32298 */ {(12<<2)|2,{57,95,0}}, +/* 32299 */ {(12<<2)|2,{57,95,0}}, +/* 32300 */ {(12<<2)|2,{57,95,0}}, +/* 32301 */ {(12<<2)|2,{57,95,0}}, +/* 32302 */ {(12<<2)|2,{57,95,0}}, +/* 32303 */ {(12<<2)|2,{57,95,0}}, +/* 32304 */ {(12<<2)|2,{57,98,0}}, +/* 32305 */ {(12<<2)|2,{57,98,0}}, +/* 32306 */ {(12<<2)|2,{57,98,0}}, +/* 32307 */ {(12<<2)|2,{57,98,0}}, +/* 32308 */ {(12<<2)|2,{57,98,0}}, +/* 32309 */ {(12<<2)|2,{57,98,0}}, +/* 32310 */ {(12<<2)|2,{57,98,0}}, +/* 32311 */ {(12<<2)|2,{57,98,0}}, +/* 32312 */ {(12<<2)|2,{57,98,0}}, +/* 32313 */ {(12<<2)|2,{57,98,0}}, +/* 32314 */ {(12<<2)|2,{57,98,0}}, +/* 32315 */ {(12<<2)|2,{57,98,0}}, +/* 32316 */ {(12<<2)|2,{57,98,0}}, +/* 32317 */ {(12<<2)|2,{57,98,0}}, +/* 32318 */ {(12<<2)|2,{57,98,0}}, +/* 32319 */ {(12<<2)|2,{57,98,0}}, +/* 32320 */ {(12<<2)|2,{57,100,0}}, +/* 32321 */ {(12<<2)|2,{57,100,0}}, +/* 32322 */ {(12<<2)|2,{57,100,0}}, +/* 32323 */ {(12<<2)|2,{57,100,0}}, +/* 32324 */ {(12<<2)|2,{57,100,0}}, +/* 32325 */ {(12<<2)|2,{57,100,0}}, +/* 32326 */ {(12<<2)|2,{57,100,0}}, +/* 32327 */ {(12<<2)|2,{57,100,0}}, +/* 32328 */ {(12<<2)|2,{57,100,0}}, +/* 32329 */ {(12<<2)|2,{57,100,0}}, +/* 32330 */ {(12<<2)|2,{57,100,0}}, +/* 32331 */ {(12<<2)|2,{57,100,0}}, +/* 32332 */ {(12<<2)|2,{57,100,0}}, +/* 32333 */ {(12<<2)|2,{57,100,0}}, +/* 32334 */ {(12<<2)|2,{57,100,0}}, +/* 32335 */ {(12<<2)|2,{57,100,0}}, +/* 32336 */ {(12<<2)|2,{57,102,0}}, +/* 32337 */ {(12<<2)|2,{57,102,0}}, +/* 32338 */ {(12<<2)|2,{57,102,0}}, +/* 32339 */ {(12<<2)|2,{57,102,0}}, +/* 32340 */ {(12<<2)|2,{57,102,0}}, +/* 32341 */ {(12<<2)|2,{57,102,0}}, +/* 32342 */ {(12<<2)|2,{57,102,0}}, +/* 32343 */ {(12<<2)|2,{57,102,0}}, +/* 32344 */ {(12<<2)|2,{57,102,0}}, +/* 32345 */ {(12<<2)|2,{57,102,0}}, +/* 32346 */ {(12<<2)|2,{57,102,0}}, +/* 32347 */ {(12<<2)|2,{57,102,0}}, +/* 32348 */ {(12<<2)|2,{57,102,0}}, +/* 32349 */ {(12<<2)|2,{57,102,0}}, +/* 32350 */ {(12<<2)|2,{57,102,0}}, +/* 32351 */ {(12<<2)|2,{57,102,0}}, +/* 32352 */ {(12<<2)|2,{57,103,0}}, +/* 32353 */ {(12<<2)|2,{57,103,0}}, +/* 32354 */ {(12<<2)|2,{57,103,0}}, +/* 32355 */ {(12<<2)|2,{57,103,0}}, +/* 32356 */ {(12<<2)|2,{57,103,0}}, +/* 32357 */ {(12<<2)|2,{57,103,0}}, +/* 32358 */ {(12<<2)|2,{57,103,0}}, +/* 32359 */ {(12<<2)|2,{57,103,0}}, +/* 32360 */ {(12<<2)|2,{57,103,0}}, +/* 32361 */ {(12<<2)|2,{57,103,0}}, +/* 32362 */ {(12<<2)|2,{57,103,0}}, +/* 32363 */ {(12<<2)|2,{57,103,0}}, +/* 32364 */ {(12<<2)|2,{57,103,0}}, +/* 32365 */ {(12<<2)|2,{57,103,0}}, +/* 32366 */ {(12<<2)|2,{57,103,0}}, +/* 32367 */ {(12<<2)|2,{57,103,0}}, +/* 32368 */ {(12<<2)|2,{57,104,0}}, +/* 32369 */ {(12<<2)|2,{57,104,0}}, +/* 32370 */ {(12<<2)|2,{57,104,0}}, +/* 32371 */ {(12<<2)|2,{57,104,0}}, +/* 32372 */ {(12<<2)|2,{57,104,0}}, +/* 32373 */ {(12<<2)|2,{57,104,0}}, +/* 32374 */ {(12<<2)|2,{57,104,0}}, +/* 32375 */ {(12<<2)|2,{57,104,0}}, +/* 32376 */ {(12<<2)|2,{57,104,0}}, +/* 32377 */ {(12<<2)|2,{57,104,0}}, +/* 32378 */ {(12<<2)|2,{57,104,0}}, +/* 32379 */ {(12<<2)|2,{57,104,0}}, +/* 32380 */ {(12<<2)|2,{57,104,0}}, +/* 32381 */ {(12<<2)|2,{57,104,0}}, +/* 32382 */ {(12<<2)|2,{57,104,0}}, +/* 32383 */ {(12<<2)|2,{57,104,0}}, +/* 32384 */ {(12<<2)|2,{57,108,0}}, +/* 32385 */ {(12<<2)|2,{57,108,0}}, +/* 32386 */ {(12<<2)|2,{57,108,0}}, +/* 32387 */ {(12<<2)|2,{57,108,0}}, +/* 32388 */ {(12<<2)|2,{57,108,0}}, +/* 32389 */ {(12<<2)|2,{57,108,0}}, +/* 32390 */ {(12<<2)|2,{57,108,0}}, +/* 32391 */ {(12<<2)|2,{57,108,0}}, +/* 32392 */ {(12<<2)|2,{57,108,0}}, +/* 32393 */ {(12<<2)|2,{57,108,0}}, +/* 32394 */ {(12<<2)|2,{57,108,0}}, +/* 32395 */ {(12<<2)|2,{57,108,0}}, +/* 32396 */ {(12<<2)|2,{57,108,0}}, +/* 32397 */ {(12<<2)|2,{57,108,0}}, +/* 32398 */ {(12<<2)|2,{57,108,0}}, +/* 32399 */ {(12<<2)|2,{57,108,0}}, +/* 32400 */ {(12<<2)|2,{57,109,0}}, +/* 32401 */ {(12<<2)|2,{57,109,0}}, +/* 32402 */ {(12<<2)|2,{57,109,0}}, +/* 32403 */ {(12<<2)|2,{57,109,0}}, +/* 32404 */ {(12<<2)|2,{57,109,0}}, +/* 32405 */ {(12<<2)|2,{57,109,0}}, +/* 32406 */ {(12<<2)|2,{57,109,0}}, +/* 32407 */ {(12<<2)|2,{57,109,0}}, +/* 32408 */ {(12<<2)|2,{57,109,0}}, +/* 32409 */ {(12<<2)|2,{57,109,0}}, +/* 32410 */ {(12<<2)|2,{57,109,0}}, +/* 32411 */ {(12<<2)|2,{57,109,0}}, +/* 32412 */ {(12<<2)|2,{57,109,0}}, +/* 32413 */ {(12<<2)|2,{57,109,0}}, +/* 32414 */ {(12<<2)|2,{57,109,0}}, +/* 32415 */ {(12<<2)|2,{57,109,0}}, +/* 32416 */ {(12<<2)|2,{57,110,0}}, +/* 32417 */ {(12<<2)|2,{57,110,0}}, +/* 32418 */ {(12<<2)|2,{57,110,0}}, +/* 32419 */ {(12<<2)|2,{57,110,0}}, +/* 32420 */ {(12<<2)|2,{57,110,0}}, +/* 32421 */ {(12<<2)|2,{57,110,0}}, +/* 32422 */ {(12<<2)|2,{57,110,0}}, +/* 32423 */ {(12<<2)|2,{57,110,0}}, +/* 32424 */ {(12<<2)|2,{57,110,0}}, +/* 32425 */ {(12<<2)|2,{57,110,0}}, +/* 32426 */ {(12<<2)|2,{57,110,0}}, +/* 32427 */ {(12<<2)|2,{57,110,0}}, +/* 32428 */ {(12<<2)|2,{57,110,0}}, +/* 32429 */ {(12<<2)|2,{57,110,0}}, +/* 32430 */ {(12<<2)|2,{57,110,0}}, +/* 32431 */ {(12<<2)|2,{57,110,0}}, +/* 32432 */ {(12<<2)|2,{57,112,0}}, +/* 32433 */ {(12<<2)|2,{57,112,0}}, +/* 32434 */ {(12<<2)|2,{57,112,0}}, +/* 32435 */ {(12<<2)|2,{57,112,0}}, +/* 32436 */ {(12<<2)|2,{57,112,0}}, +/* 32437 */ {(12<<2)|2,{57,112,0}}, +/* 32438 */ {(12<<2)|2,{57,112,0}}, +/* 32439 */ {(12<<2)|2,{57,112,0}}, +/* 32440 */ {(12<<2)|2,{57,112,0}}, +/* 32441 */ {(12<<2)|2,{57,112,0}}, +/* 32442 */ {(12<<2)|2,{57,112,0}}, +/* 32443 */ {(12<<2)|2,{57,112,0}}, +/* 32444 */ {(12<<2)|2,{57,112,0}}, +/* 32445 */ {(12<<2)|2,{57,112,0}}, +/* 32446 */ {(12<<2)|2,{57,112,0}}, +/* 32447 */ {(12<<2)|2,{57,112,0}}, +/* 32448 */ {(12<<2)|2,{57,114,0}}, +/* 32449 */ {(12<<2)|2,{57,114,0}}, +/* 32450 */ {(12<<2)|2,{57,114,0}}, +/* 32451 */ {(12<<2)|2,{57,114,0}}, +/* 32452 */ {(12<<2)|2,{57,114,0}}, +/* 32453 */ {(12<<2)|2,{57,114,0}}, +/* 32454 */ {(12<<2)|2,{57,114,0}}, +/* 32455 */ {(12<<2)|2,{57,114,0}}, +/* 32456 */ {(12<<2)|2,{57,114,0}}, +/* 32457 */ {(12<<2)|2,{57,114,0}}, +/* 32458 */ {(12<<2)|2,{57,114,0}}, +/* 32459 */ {(12<<2)|2,{57,114,0}}, +/* 32460 */ {(12<<2)|2,{57,114,0}}, +/* 32461 */ {(12<<2)|2,{57,114,0}}, +/* 32462 */ {(12<<2)|2,{57,114,0}}, +/* 32463 */ {(12<<2)|2,{57,114,0}}, +/* 32464 */ {(12<<2)|2,{57,117,0}}, +/* 32465 */ {(12<<2)|2,{57,117,0}}, +/* 32466 */ {(12<<2)|2,{57,117,0}}, +/* 32467 */ {(12<<2)|2,{57,117,0}}, +/* 32468 */ {(12<<2)|2,{57,117,0}}, +/* 32469 */ {(12<<2)|2,{57,117,0}}, +/* 32470 */ {(12<<2)|2,{57,117,0}}, +/* 32471 */ {(12<<2)|2,{57,117,0}}, +/* 32472 */ {(12<<2)|2,{57,117,0}}, +/* 32473 */ {(12<<2)|2,{57,117,0}}, +/* 32474 */ {(12<<2)|2,{57,117,0}}, +/* 32475 */ {(12<<2)|2,{57,117,0}}, +/* 32476 */ {(12<<2)|2,{57,117,0}}, +/* 32477 */ {(12<<2)|2,{57,117,0}}, +/* 32478 */ {(12<<2)|2,{57,117,0}}, +/* 32479 */ {(12<<2)|2,{57,117,0}}, +/* 32480 */ {(13<<2)|2,{57,58,0}}, +/* 32481 */ {(13<<2)|2,{57,58,0}}, +/* 32482 */ {(13<<2)|2,{57,58,0}}, +/* 32483 */ {(13<<2)|2,{57,58,0}}, +/* 32484 */ {(13<<2)|2,{57,58,0}}, +/* 32485 */ {(13<<2)|2,{57,58,0}}, +/* 32486 */ {(13<<2)|2,{57,58,0}}, +/* 32487 */ {(13<<2)|2,{57,58,0}}, +/* 32488 */ {(13<<2)|2,{57,66,0}}, +/* 32489 */ {(13<<2)|2,{57,66,0}}, +/* 32490 */ {(13<<2)|2,{57,66,0}}, +/* 32491 */ {(13<<2)|2,{57,66,0}}, +/* 32492 */ {(13<<2)|2,{57,66,0}}, +/* 32493 */ {(13<<2)|2,{57,66,0}}, +/* 32494 */ {(13<<2)|2,{57,66,0}}, +/* 32495 */ {(13<<2)|2,{57,66,0}}, +/* 32496 */ {(13<<2)|2,{57,67,0}}, +/* 32497 */ {(13<<2)|2,{57,67,0}}, +/* 32498 */ {(13<<2)|2,{57,67,0}}, +/* 32499 */ {(13<<2)|2,{57,67,0}}, +/* 32500 */ {(13<<2)|2,{57,67,0}}, +/* 32501 */ {(13<<2)|2,{57,67,0}}, +/* 32502 */ {(13<<2)|2,{57,67,0}}, +/* 32503 */ {(13<<2)|2,{57,67,0}}, +/* 32504 */ {(13<<2)|2,{57,68,0}}, +/* 32505 */ {(13<<2)|2,{57,68,0}}, +/* 32506 */ {(13<<2)|2,{57,68,0}}, +/* 32507 */ {(13<<2)|2,{57,68,0}}, +/* 32508 */ {(13<<2)|2,{57,68,0}}, +/* 32509 */ {(13<<2)|2,{57,68,0}}, +/* 32510 */ {(13<<2)|2,{57,68,0}}, +/* 32511 */ {(13<<2)|2,{57,68,0}}, +/* 32512 */ {(13<<2)|2,{57,69,0}}, +/* 32513 */ {(13<<2)|2,{57,69,0}}, +/* 32514 */ {(13<<2)|2,{57,69,0}}, +/* 32515 */ {(13<<2)|2,{57,69,0}}, +/* 32516 */ {(13<<2)|2,{57,69,0}}, +/* 32517 */ {(13<<2)|2,{57,69,0}}, +/* 32518 */ {(13<<2)|2,{57,69,0}}, +/* 32519 */ {(13<<2)|2,{57,69,0}}, +/* 32520 */ {(13<<2)|2,{57,70,0}}, +/* 32521 */ {(13<<2)|2,{57,70,0}}, +/* 32522 */ {(13<<2)|2,{57,70,0}}, +/* 32523 */ {(13<<2)|2,{57,70,0}}, +/* 32524 */ {(13<<2)|2,{57,70,0}}, +/* 32525 */ {(13<<2)|2,{57,70,0}}, +/* 32526 */ {(13<<2)|2,{57,70,0}}, +/* 32527 */ {(13<<2)|2,{57,70,0}}, +/* 32528 */ {(13<<2)|2,{57,71,0}}, +/* 32529 */ {(13<<2)|2,{57,71,0}}, +/* 32530 */ {(13<<2)|2,{57,71,0}}, +/* 32531 */ {(13<<2)|2,{57,71,0}}, +/* 32532 */ {(13<<2)|2,{57,71,0}}, +/* 32533 */ {(13<<2)|2,{57,71,0}}, +/* 32534 */ {(13<<2)|2,{57,71,0}}, +/* 32535 */ {(13<<2)|2,{57,71,0}}, +/* 32536 */ {(13<<2)|2,{57,72,0}}, +/* 32537 */ {(13<<2)|2,{57,72,0}}, +/* 32538 */ {(13<<2)|2,{57,72,0}}, +/* 32539 */ {(13<<2)|2,{57,72,0}}, +/* 32540 */ {(13<<2)|2,{57,72,0}}, +/* 32541 */ {(13<<2)|2,{57,72,0}}, +/* 32542 */ {(13<<2)|2,{57,72,0}}, +/* 32543 */ {(13<<2)|2,{57,72,0}}, +/* 32544 */ {(13<<2)|2,{57,73,0}}, +/* 32545 */ {(13<<2)|2,{57,73,0}}, +/* 32546 */ {(13<<2)|2,{57,73,0}}, +/* 32547 */ {(13<<2)|2,{57,73,0}}, +/* 32548 */ {(13<<2)|2,{57,73,0}}, +/* 32549 */ {(13<<2)|2,{57,73,0}}, +/* 32550 */ {(13<<2)|2,{57,73,0}}, +/* 32551 */ {(13<<2)|2,{57,73,0}}, +/* 32552 */ {(13<<2)|2,{57,74,0}}, +/* 32553 */ {(13<<2)|2,{57,74,0}}, +/* 32554 */ {(13<<2)|2,{57,74,0}}, +/* 32555 */ {(13<<2)|2,{57,74,0}}, +/* 32556 */ {(13<<2)|2,{57,74,0}}, +/* 32557 */ {(13<<2)|2,{57,74,0}}, +/* 32558 */ {(13<<2)|2,{57,74,0}}, +/* 32559 */ {(13<<2)|2,{57,74,0}}, +/* 32560 */ {(13<<2)|2,{57,75,0}}, +/* 32561 */ {(13<<2)|2,{57,75,0}}, +/* 32562 */ {(13<<2)|2,{57,75,0}}, +/* 32563 */ {(13<<2)|2,{57,75,0}}, +/* 32564 */ {(13<<2)|2,{57,75,0}}, +/* 32565 */ {(13<<2)|2,{57,75,0}}, +/* 32566 */ {(13<<2)|2,{57,75,0}}, +/* 32567 */ {(13<<2)|2,{57,75,0}}, +/* 32568 */ {(13<<2)|2,{57,76,0}}, +/* 32569 */ {(13<<2)|2,{57,76,0}}, +/* 32570 */ {(13<<2)|2,{57,76,0}}, +/* 32571 */ {(13<<2)|2,{57,76,0}}, +/* 32572 */ {(13<<2)|2,{57,76,0}}, +/* 32573 */ {(13<<2)|2,{57,76,0}}, +/* 32574 */ {(13<<2)|2,{57,76,0}}, +/* 32575 */ {(13<<2)|2,{57,76,0}}, +/* 32576 */ {(13<<2)|2,{57,77,0}}, +/* 32577 */ {(13<<2)|2,{57,77,0}}, +/* 32578 */ {(13<<2)|2,{57,77,0}}, +/* 32579 */ {(13<<2)|2,{57,77,0}}, +/* 32580 */ {(13<<2)|2,{57,77,0}}, +/* 32581 */ {(13<<2)|2,{57,77,0}}, +/* 32582 */ {(13<<2)|2,{57,77,0}}, +/* 32583 */ {(13<<2)|2,{57,77,0}}, +/* 32584 */ {(13<<2)|2,{57,78,0}}, +/* 32585 */ {(13<<2)|2,{57,78,0}}, +/* 32586 */ {(13<<2)|2,{57,78,0}}, +/* 32587 */ {(13<<2)|2,{57,78,0}}, +/* 32588 */ {(13<<2)|2,{57,78,0}}, +/* 32589 */ {(13<<2)|2,{57,78,0}}, +/* 32590 */ {(13<<2)|2,{57,78,0}}, +/* 32591 */ {(13<<2)|2,{57,78,0}}, +/* 32592 */ {(13<<2)|2,{57,79,0}}, +/* 32593 */ {(13<<2)|2,{57,79,0}}, +/* 32594 */ {(13<<2)|2,{57,79,0}}, +/* 32595 */ {(13<<2)|2,{57,79,0}}, +/* 32596 */ {(13<<2)|2,{57,79,0}}, +/* 32597 */ {(13<<2)|2,{57,79,0}}, +/* 32598 */ {(13<<2)|2,{57,79,0}}, +/* 32599 */ {(13<<2)|2,{57,79,0}}, +/* 32600 */ {(13<<2)|2,{57,80,0}}, +/* 32601 */ {(13<<2)|2,{57,80,0}}, +/* 32602 */ {(13<<2)|2,{57,80,0}}, +/* 32603 */ {(13<<2)|2,{57,80,0}}, +/* 32604 */ {(13<<2)|2,{57,80,0}}, +/* 32605 */ {(13<<2)|2,{57,80,0}}, +/* 32606 */ {(13<<2)|2,{57,80,0}}, +/* 32607 */ {(13<<2)|2,{57,80,0}}, +/* 32608 */ {(13<<2)|2,{57,81,0}}, +/* 32609 */ {(13<<2)|2,{57,81,0}}, +/* 32610 */ {(13<<2)|2,{57,81,0}}, +/* 32611 */ {(13<<2)|2,{57,81,0}}, +/* 32612 */ {(13<<2)|2,{57,81,0}}, +/* 32613 */ {(13<<2)|2,{57,81,0}}, +/* 32614 */ {(13<<2)|2,{57,81,0}}, +/* 32615 */ {(13<<2)|2,{57,81,0}}, +/* 32616 */ {(13<<2)|2,{57,82,0}}, +/* 32617 */ {(13<<2)|2,{57,82,0}}, +/* 32618 */ {(13<<2)|2,{57,82,0}}, +/* 32619 */ {(13<<2)|2,{57,82,0}}, +/* 32620 */ {(13<<2)|2,{57,82,0}}, +/* 32621 */ {(13<<2)|2,{57,82,0}}, +/* 32622 */ {(13<<2)|2,{57,82,0}}, +/* 32623 */ {(13<<2)|2,{57,82,0}}, +/* 32624 */ {(13<<2)|2,{57,83,0}}, +/* 32625 */ {(13<<2)|2,{57,83,0}}, +/* 32626 */ {(13<<2)|2,{57,83,0}}, +/* 32627 */ {(13<<2)|2,{57,83,0}}, +/* 32628 */ {(13<<2)|2,{57,83,0}}, +/* 32629 */ {(13<<2)|2,{57,83,0}}, +/* 32630 */ {(13<<2)|2,{57,83,0}}, +/* 32631 */ {(13<<2)|2,{57,83,0}}, +/* 32632 */ {(13<<2)|2,{57,84,0}}, +/* 32633 */ {(13<<2)|2,{57,84,0}}, +/* 32634 */ {(13<<2)|2,{57,84,0}}, +/* 32635 */ {(13<<2)|2,{57,84,0}}, +/* 32636 */ {(13<<2)|2,{57,84,0}}, +/* 32637 */ {(13<<2)|2,{57,84,0}}, +/* 32638 */ {(13<<2)|2,{57,84,0}}, +/* 32639 */ {(13<<2)|2,{57,84,0}}, +/* 32640 */ {(13<<2)|2,{57,85,0}}, +/* 32641 */ {(13<<2)|2,{57,85,0}}, +/* 32642 */ {(13<<2)|2,{57,85,0}}, +/* 32643 */ {(13<<2)|2,{57,85,0}}, +/* 32644 */ {(13<<2)|2,{57,85,0}}, +/* 32645 */ {(13<<2)|2,{57,85,0}}, +/* 32646 */ {(13<<2)|2,{57,85,0}}, +/* 32647 */ {(13<<2)|2,{57,85,0}}, +/* 32648 */ {(13<<2)|2,{57,86,0}}, +/* 32649 */ {(13<<2)|2,{57,86,0}}, +/* 32650 */ {(13<<2)|2,{57,86,0}}, +/* 32651 */ {(13<<2)|2,{57,86,0}}, +/* 32652 */ {(13<<2)|2,{57,86,0}}, +/* 32653 */ {(13<<2)|2,{57,86,0}}, +/* 32654 */ {(13<<2)|2,{57,86,0}}, +/* 32655 */ {(13<<2)|2,{57,86,0}}, +/* 32656 */ {(13<<2)|2,{57,87,0}}, +/* 32657 */ {(13<<2)|2,{57,87,0}}, +/* 32658 */ {(13<<2)|2,{57,87,0}}, +/* 32659 */ {(13<<2)|2,{57,87,0}}, +/* 32660 */ {(13<<2)|2,{57,87,0}}, +/* 32661 */ {(13<<2)|2,{57,87,0}}, +/* 32662 */ {(13<<2)|2,{57,87,0}}, +/* 32663 */ {(13<<2)|2,{57,87,0}}, +/* 32664 */ {(13<<2)|2,{57,89,0}}, +/* 32665 */ {(13<<2)|2,{57,89,0}}, +/* 32666 */ {(13<<2)|2,{57,89,0}}, +/* 32667 */ {(13<<2)|2,{57,89,0}}, +/* 32668 */ {(13<<2)|2,{57,89,0}}, +/* 32669 */ {(13<<2)|2,{57,89,0}}, +/* 32670 */ {(13<<2)|2,{57,89,0}}, +/* 32671 */ {(13<<2)|2,{57,89,0}}, +/* 32672 */ {(13<<2)|2,{57,106,0}}, +/* 32673 */ {(13<<2)|2,{57,106,0}}, +/* 32674 */ {(13<<2)|2,{57,106,0}}, +/* 32675 */ {(13<<2)|2,{57,106,0}}, +/* 32676 */ {(13<<2)|2,{57,106,0}}, +/* 32677 */ {(13<<2)|2,{57,106,0}}, +/* 32678 */ {(13<<2)|2,{57,106,0}}, +/* 32679 */ {(13<<2)|2,{57,106,0}}, +/* 32680 */ {(13<<2)|2,{57,107,0}}, +/* 32681 */ {(13<<2)|2,{57,107,0}}, +/* 32682 */ {(13<<2)|2,{57,107,0}}, +/* 32683 */ {(13<<2)|2,{57,107,0}}, +/* 32684 */ {(13<<2)|2,{57,107,0}}, +/* 32685 */ {(13<<2)|2,{57,107,0}}, +/* 32686 */ {(13<<2)|2,{57,107,0}}, +/* 32687 */ {(13<<2)|2,{57,107,0}}, +/* 32688 */ {(13<<2)|2,{57,113,0}}, +/* 32689 */ {(13<<2)|2,{57,113,0}}, +/* 32690 */ {(13<<2)|2,{57,113,0}}, +/* 32691 */ {(13<<2)|2,{57,113,0}}, +/* 32692 */ {(13<<2)|2,{57,113,0}}, +/* 32693 */ {(13<<2)|2,{57,113,0}}, +/* 32694 */ {(13<<2)|2,{57,113,0}}, +/* 32695 */ {(13<<2)|2,{57,113,0}}, +/* 32696 */ {(13<<2)|2,{57,118,0}}, +/* 32697 */ {(13<<2)|2,{57,118,0}}, +/* 32698 */ {(13<<2)|2,{57,118,0}}, +/* 32699 */ {(13<<2)|2,{57,118,0}}, +/* 32700 */ {(13<<2)|2,{57,118,0}}, +/* 32701 */ {(13<<2)|2,{57,118,0}}, +/* 32702 */ {(13<<2)|2,{57,118,0}}, +/* 32703 */ {(13<<2)|2,{57,118,0}}, +/* 32704 */ {(13<<2)|2,{57,119,0}}, +/* 32705 */ {(13<<2)|2,{57,119,0}}, +/* 32706 */ {(13<<2)|2,{57,119,0}}, +/* 32707 */ {(13<<2)|2,{57,119,0}}, +/* 32708 */ {(13<<2)|2,{57,119,0}}, +/* 32709 */ {(13<<2)|2,{57,119,0}}, +/* 32710 */ {(13<<2)|2,{57,119,0}}, +/* 32711 */ {(13<<2)|2,{57,119,0}}, +/* 32712 */ {(13<<2)|2,{57,120,0}}, +/* 32713 */ {(13<<2)|2,{57,120,0}}, +/* 32714 */ {(13<<2)|2,{57,120,0}}, +/* 32715 */ {(13<<2)|2,{57,120,0}}, +/* 32716 */ {(13<<2)|2,{57,120,0}}, +/* 32717 */ {(13<<2)|2,{57,120,0}}, +/* 32718 */ {(13<<2)|2,{57,120,0}}, +/* 32719 */ {(13<<2)|2,{57,120,0}}, +/* 32720 */ {(13<<2)|2,{57,121,0}}, +/* 32721 */ {(13<<2)|2,{57,121,0}}, +/* 32722 */ {(13<<2)|2,{57,121,0}}, +/* 32723 */ {(13<<2)|2,{57,121,0}}, +/* 32724 */ {(13<<2)|2,{57,121,0}}, +/* 32725 */ {(13<<2)|2,{57,121,0}}, +/* 32726 */ {(13<<2)|2,{57,121,0}}, +/* 32727 */ {(13<<2)|2,{57,121,0}}, +/* 32728 */ {(13<<2)|2,{57,122,0}}, +/* 32729 */ {(13<<2)|2,{57,122,0}}, +/* 32730 */ {(13<<2)|2,{57,122,0}}, +/* 32731 */ {(13<<2)|2,{57,122,0}}, +/* 32732 */ {(13<<2)|2,{57,122,0}}, +/* 32733 */ {(13<<2)|2,{57,122,0}}, +/* 32734 */ {(13<<2)|2,{57,122,0}}, +/* 32735 */ {(13<<2)|2,{57,122,0}}, +/* 32736 */ {(14<<2)|2,{57,38,0}}, +/* 32737 */ {(14<<2)|2,{57,38,0}}, +/* 32738 */ {(14<<2)|2,{57,38,0}}, +/* 32739 */ {(14<<2)|2,{57,38,0}}, +/* 32740 */ {(14<<2)|2,{57,42,0}}, +/* 32741 */ {(14<<2)|2,{57,42,0}}, +/* 32742 */ {(14<<2)|2,{57,42,0}}, +/* 32743 */ {(14<<2)|2,{57,42,0}}, +/* 32744 */ {(14<<2)|2,{57,44,0}}, +/* 32745 */ {(14<<2)|2,{57,44,0}}, +/* 32746 */ {(14<<2)|2,{57,44,0}}, +/* 32747 */ {(14<<2)|2,{57,44,0}}, +/* 32748 */ {(14<<2)|2,{57,59,0}}, +/* 32749 */ {(14<<2)|2,{57,59,0}}, +/* 32750 */ {(14<<2)|2,{57,59,0}}, +/* 32751 */ {(14<<2)|2,{57,59,0}}, +/* 32752 */ {(14<<2)|2,{57,88,0}}, +/* 32753 */ {(14<<2)|2,{57,88,0}}, +/* 32754 */ {(14<<2)|2,{57,88,0}}, +/* 32755 */ {(14<<2)|2,{57,88,0}}, +/* 32756 */ {(14<<2)|2,{57,90,0}}, +/* 32757 */ {(14<<2)|2,{57,90,0}}, +/* 32758 */ {(14<<2)|2,{57,90,0}}, +/* 32759 */ {(14<<2)|2,{57,90,0}}, +/* 32760 */ {(16<<2)|2,{57,33,0}}, +/* 32761 */ {(16<<2)|2,{57,34,0}}, +/* 32762 */ {(16<<2)|2,{57,40,0}}, +/* 32763 */ {(16<<2)|2,{57,41,0}}, +/* 32764 */ {(16<<2)|2,{57,63,0}}, +/* 32765 */ {(6<<2)|1,{57,0,0}}, +/* 32766 */ {(6<<2)|1,{57,0,0}}, +/* 32767 */ {(6<<2)|1,{57,0,0}}, +/* 32768 */ {(16<<2)|3,{61,48,48}}, +/* 32769 */ {(16<<2)|3,{61,48,49}}, +/* 32770 */ {(16<<2)|3,{61,48,50}}, +/* 32771 */ {(16<<2)|3,{61,48,97}}, +/* 32772 */ {(16<<2)|3,{61,48,99}}, +/* 32773 */ {(16<<2)|3,{61,48,101}}, +/* 32774 */ {(16<<2)|3,{61,48,105}}, +/* 32775 */ {(16<<2)|3,{61,48,111}}, +/* 32776 */ {(16<<2)|3,{61,48,115}}, +/* 32777 */ {(16<<2)|3,{61,48,116}}, +/* 32778 */ {(11<<2)|2,{61,48,0}}, +/* 32779 */ {(11<<2)|2,{61,48,0}}, +/* 32780 */ {(11<<2)|2,{61,48,0}}, +/* 32781 */ {(11<<2)|2,{61,48,0}}, +/* 32782 */ {(11<<2)|2,{61,48,0}}, +/* 32783 */ {(11<<2)|2,{61,48,0}}, +/* 32784 */ {(11<<2)|2,{61,48,0}}, +/* 32785 */ {(11<<2)|2,{61,48,0}}, +/* 32786 */ {(11<<2)|2,{61,48,0}}, +/* 32787 */ {(11<<2)|2,{61,48,0}}, +/* 32788 */ {(11<<2)|2,{61,48,0}}, +/* 32789 */ {(11<<2)|2,{61,48,0}}, +/* 32790 */ {(11<<2)|2,{61,48,0}}, +/* 32791 */ {(11<<2)|2,{61,48,0}}, +/* 32792 */ {(11<<2)|2,{61,48,0}}, +/* 32793 */ {(11<<2)|2,{61,48,0}}, +/* 32794 */ {(11<<2)|2,{61,48,0}}, +/* 32795 */ {(11<<2)|2,{61,48,0}}, +/* 32796 */ {(11<<2)|2,{61,48,0}}, +/* 32797 */ {(11<<2)|2,{61,48,0}}, +/* 32798 */ {(11<<2)|2,{61,48,0}}, +/* 32799 */ {(11<<2)|2,{61,48,0}}, +/* 32800 */ {(16<<2)|3,{61,49,48}}, +/* 32801 */ {(16<<2)|3,{61,49,49}}, +/* 32802 */ {(16<<2)|3,{61,49,50}}, +/* 32803 */ {(16<<2)|3,{61,49,97}}, +/* 32804 */ {(16<<2)|3,{61,49,99}}, +/* 32805 */ {(16<<2)|3,{61,49,101}}, +/* 32806 */ {(16<<2)|3,{61,49,105}}, +/* 32807 */ {(16<<2)|3,{61,49,111}}, +/* 32808 */ {(16<<2)|3,{61,49,115}}, +/* 32809 */ {(16<<2)|3,{61,49,116}}, +/* 32810 */ {(11<<2)|2,{61,49,0}}, +/* 32811 */ {(11<<2)|2,{61,49,0}}, +/* 32812 */ {(11<<2)|2,{61,49,0}}, +/* 32813 */ {(11<<2)|2,{61,49,0}}, +/* 32814 */ {(11<<2)|2,{61,49,0}}, +/* 32815 */ {(11<<2)|2,{61,49,0}}, +/* 32816 */ {(11<<2)|2,{61,49,0}}, +/* 32817 */ {(11<<2)|2,{61,49,0}}, +/* 32818 */ {(11<<2)|2,{61,49,0}}, +/* 32819 */ {(11<<2)|2,{61,49,0}}, +/* 32820 */ {(11<<2)|2,{61,49,0}}, +/* 32821 */ {(11<<2)|2,{61,49,0}}, +/* 32822 */ {(11<<2)|2,{61,49,0}}, +/* 32823 */ {(11<<2)|2,{61,49,0}}, +/* 32824 */ {(11<<2)|2,{61,49,0}}, +/* 32825 */ {(11<<2)|2,{61,49,0}}, +/* 32826 */ {(11<<2)|2,{61,49,0}}, +/* 32827 */ {(11<<2)|2,{61,49,0}}, +/* 32828 */ {(11<<2)|2,{61,49,0}}, +/* 32829 */ {(11<<2)|2,{61,49,0}}, +/* 32830 */ {(11<<2)|2,{61,49,0}}, +/* 32831 */ {(11<<2)|2,{61,49,0}}, +/* 32832 */ {(16<<2)|3,{61,50,48}}, +/* 32833 */ {(16<<2)|3,{61,50,49}}, +/* 32834 */ {(16<<2)|3,{61,50,50}}, +/* 32835 */ {(16<<2)|3,{61,50,97}}, +/* 32836 */ {(16<<2)|3,{61,50,99}}, +/* 32837 */ {(16<<2)|3,{61,50,101}}, +/* 32838 */ {(16<<2)|3,{61,50,105}}, +/* 32839 */ {(16<<2)|3,{61,50,111}}, +/* 32840 */ {(16<<2)|3,{61,50,115}}, +/* 32841 */ {(16<<2)|3,{61,50,116}}, +/* 32842 */ {(11<<2)|2,{61,50,0}}, +/* 32843 */ {(11<<2)|2,{61,50,0}}, +/* 32844 */ {(11<<2)|2,{61,50,0}}, +/* 32845 */ {(11<<2)|2,{61,50,0}}, +/* 32846 */ {(11<<2)|2,{61,50,0}}, +/* 32847 */ {(11<<2)|2,{61,50,0}}, +/* 32848 */ {(11<<2)|2,{61,50,0}}, +/* 32849 */ {(11<<2)|2,{61,50,0}}, +/* 32850 */ {(11<<2)|2,{61,50,0}}, +/* 32851 */ {(11<<2)|2,{61,50,0}}, +/* 32852 */ {(11<<2)|2,{61,50,0}}, +/* 32853 */ {(11<<2)|2,{61,50,0}}, +/* 32854 */ {(11<<2)|2,{61,50,0}}, +/* 32855 */ {(11<<2)|2,{61,50,0}}, +/* 32856 */ {(11<<2)|2,{61,50,0}}, +/* 32857 */ {(11<<2)|2,{61,50,0}}, +/* 32858 */ {(11<<2)|2,{61,50,0}}, +/* 32859 */ {(11<<2)|2,{61,50,0}}, +/* 32860 */ {(11<<2)|2,{61,50,0}}, +/* 32861 */ {(11<<2)|2,{61,50,0}}, +/* 32862 */ {(11<<2)|2,{61,50,0}}, +/* 32863 */ {(11<<2)|2,{61,50,0}}, +/* 32864 */ {(16<<2)|3,{61,97,48}}, +/* 32865 */ {(16<<2)|3,{61,97,49}}, +/* 32866 */ {(16<<2)|3,{61,97,50}}, +/* 32867 */ {(16<<2)|3,{61,97,97}}, +/* 32868 */ {(16<<2)|3,{61,97,99}}, +/* 32869 */ {(16<<2)|3,{61,97,101}}, +/* 32870 */ {(16<<2)|3,{61,97,105}}, +/* 32871 */ {(16<<2)|3,{61,97,111}}, +/* 32872 */ {(16<<2)|3,{61,97,115}}, +/* 32873 */ {(16<<2)|3,{61,97,116}}, +/* 32874 */ {(11<<2)|2,{61,97,0}}, +/* 32875 */ {(11<<2)|2,{61,97,0}}, +/* 32876 */ {(11<<2)|2,{61,97,0}}, +/* 32877 */ {(11<<2)|2,{61,97,0}}, +/* 32878 */ {(11<<2)|2,{61,97,0}}, +/* 32879 */ {(11<<2)|2,{61,97,0}}, +/* 32880 */ {(11<<2)|2,{61,97,0}}, +/* 32881 */ {(11<<2)|2,{61,97,0}}, +/* 32882 */ {(11<<2)|2,{61,97,0}}, +/* 32883 */ {(11<<2)|2,{61,97,0}}, +/* 32884 */ {(11<<2)|2,{61,97,0}}, +/* 32885 */ {(11<<2)|2,{61,97,0}}, +/* 32886 */ {(11<<2)|2,{61,97,0}}, +/* 32887 */ {(11<<2)|2,{61,97,0}}, +/* 32888 */ {(11<<2)|2,{61,97,0}}, +/* 32889 */ {(11<<2)|2,{61,97,0}}, +/* 32890 */ {(11<<2)|2,{61,97,0}}, +/* 32891 */ {(11<<2)|2,{61,97,0}}, +/* 32892 */ {(11<<2)|2,{61,97,0}}, +/* 32893 */ {(11<<2)|2,{61,97,0}}, +/* 32894 */ {(11<<2)|2,{61,97,0}}, +/* 32895 */ {(11<<2)|2,{61,97,0}}, +/* 32896 */ {(16<<2)|3,{61,99,48}}, +/* 32897 */ {(16<<2)|3,{61,99,49}}, +/* 32898 */ {(16<<2)|3,{61,99,50}}, +/* 32899 */ {(16<<2)|3,{61,99,97}}, +/* 32900 */ {(16<<2)|3,{61,99,99}}, +/* 32901 */ {(16<<2)|3,{61,99,101}}, +/* 32902 */ {(16<<2)|3,{61,99,105}}, +/* 32903 */ {(16<<2)|3,{61,99,111}}, +/* 32904 */ {(16<<2)|3,{61,99,115}}, +/* 32905 */ {(16<<2)|3,{61,99,116}}, +/* 32906 */ {(11<<2)|2,{61,99,0}}, +/* 32907 */ {(11<<2)|2,{61,99,0}}, +/* 32908 */ {(11<<2)|2,{61,99,0}}, +/* 32909 */ {(11<<2)|2,{61,99,0}}, +/* 32910 */ {(11<<2)|2,{61,99,0}}, +/* 32911 */ {(11<<2)|2,{61,99,0}}, +/* 32912 */ {(11<<2)|2,{61,99,0}}, +/* 32913 */ {(11<<2)|2,{61,99,0}}, +/* 32914 */ {(11<<2)|2,{61,99,0}}, +/* 32915 */ {(11<<2)|2,{61,99,0}}, +/* 32916 */ {(11<<2)|2,{61,99,0}}, +/* 32917 */ {(11<<2)|2,{61,99,0}}, +/* 32918 */ {(11<<2)|2,{61,99,0}}, +/* 32919 */ {(11<<2)|2,{61,99,0}}, +/* 32920 */ {(11<<2)|2,{61,99,0}}, +/* 32921 */ {(11<<2)|2,{61,99,0}}, +/* 32922 */ {(11<<2)|2,{61,99,0}}, +/* 32923 */ {(11<<2)|2,{61,99,0}}, +/* 32924 */ {(11<<2)|2,{61,99,0}}, +/* 32925 */ {(11<<2)|2,{61,99,0}}, +/* 32926 */ {(11<<2)|2,{61,99,0}}, +/* 32927 */ {(11<<2)|2,{61,99,0}}, +/* 32928 */ {(16<<2)|3,{61,101,48}}, +/* 32929 */ {(16<<2)|3,{61,101,49}}, +/* 32930 */ {(16<<2)|3,{61,101,50}}, +/* 32931 */ {(16<<2)|3,{61,101,97}}, +/* 32932 */ {(16<<2)|3,{61,101,99}}, +/* 32933 */ {(16<<2)|3,{61,101,101}}, +/* 32934 */ {(16<<2)|3,{61,101,105}}, +/* 32935 */ {(16<<2)|3,{61,101,111}}, +/* 32936 */ {(16<<2)|3,{61,101,115}}, +/* 32937 */ {(16<<2)|3,{61,101,116}}, +/* 32938 */ {(11<<2)|2,{61,101,0}}, +/* 32939 */ {(11<<2)|2,{61,101,0}}, +/* 32940 */ {(11<<2)|2,{61,101,0}}, +/* 32941 */ {(11<<2)|2,{61,101,0}}, +/* 32942 */ {(11<<2)|2,{61,101,0}}, +/* 32943 */ {(11<<2)|2,{61,101,0}}, +/* 32944 */ {(11<<2)|2,{61,101,0}}, +/* 32945 */ {(11<<2)|2,{61,101,0}}, +/* 32946 */ {(11<<2)|2,{61,101,0}}, +/* 32947 */ {(11<<2)|2,{61,101,0}}, +/* 32948 */ {(11<<2)|2,{61,101,0}}, +/* 32949 */ {(11<<2)|2,{61,101,0}}, +/* 32950 */ {(11<<2)|2,{61,101,0}}, +/* 32951 */ {(11<<2)|2,{61,101,0}}, +/* 32952 */ {(11<<2)|2,{61,101,0}}, +/* 32953 */ {(11<<2)|2,{61,101,0}}, +/* 32954 */ {(11<<2)|2,{61,101,0}}, +/* 32955 */ {(11<<2)|2,{61,101,0}}, +/* 32956 */ {(11<<2)|2,{61,101,0}}, +/* 32957 */ {(11<<2)|2,{61,101,0}}, +/* 32958 */ {(11<<2)|2,{61,101,0}}, +/* 32959 */ {(11<<2)|2,{61,101,0}}, +/* 32960 */ {(16<<2)|3,{61,105,48}}, +/* 32961 */ {(16<<2)|3,{61,105,49}}, +/* 32962 */ {(16<<2)|3,{61,105,50}}, +/* 32963 */ {(16<<2)|3,{61,105,97}}, +/* 32964 */ {(16<<2)|3,{61,105,99}}, +/* 32965 */ {(16<<2)|3,{61,105,101}}, +/* 32966 */ {(16<<2)|3,{61,105,105}}, +/* 32967 */ {(16<<2)|3,{61,105,111}}, +/* 32968 */ {(16<<2)|3,{61,105,115}}, +/* 32969 */ {(16<<2)|3,{61,105,116}}, +/* 32970 */ {(11<<2)|2,{61,105,0}}, +/* 32971 */ {(11<<2)|2,{61,105,0}}, +/* 32972 */ {(11<<2)|2,{61,105,0}}, +/* 32973 */ {(11<<2)|2,{61,105,0}}, +/* 32974 */ {(11<<2)|2,{61,105,0}}, +/* 32975 */ {(11<<2)|2,{61,105,0}}, +/* 32976 */ {(11<<2)|2,{61,105,0}}, +/* 32977 */ {(11<<2)|2,{61,105,0}}, +/* 32978 */ {(11<<2)|2,{61,105,0}}, +/* 32979 */ {(11<<2)|2,{61,105,0}}, +/* 32980 */ {(11<<2)|2,{61,105,0}}, +/* 32981 */ {(11<<2)|2,{61,105,0}}, +/* 32982 */ {(11<<2)|2,{61,105,0}}, +/* 32983 */ {(11<<2)|2,{61,105,0}}, +/* 32984 */ {(11<<2)|2,{61,105,0}}, +/* 32985 */ {(11<<2)|2,{61,105,0}}, +/* 32986 */ {(11<<2)|2,{61,105,0}}, +/* 32987 */ {(11<<2)|2,{61,105,0}}, +/* 32988 */ {(11<<2)|2,{61,105,0}}, +/* 32989 */ {(11<<2)|2,{61,105,0}}, +/* 32990 */ {(11<<2)|2,{61,105,0}}, +/* 32991 */ {(11<<2)|2,{61,105,0}}, +/* 32992 */ {(16<<2)|3,{61,111,48}}, +/* 32993 */ {(16<<2)|3,{61,111,49}}, +/* 32994 */ {(16<<2)|3,{61,111,50}}, +/* 32995 */ {(16<<2)|3,{61,111,97}}, +/* 32996 */ {(16<<2)|3,{61,111,99}}, +/* 32997 */ {(16<<2)|3,{61,111,101}}, +/* 32998 */ {(16<<2)|3,{61,111,105}}, +/* 32999 */ {(16<<2)|3,{61,111,111}}, +/* 33000 */ {(16<<2)|3,{61,111,115}}, +/* 33001 */ {(16<<2)|3,{61,111,116}}, +/* 33002 */ {(11<<2)|2,{61,111,0}}, +/* 33003 */ {(11<<2)|2,{61,111,0}}, +/* 33004 */ {(11<<2)|2,{61,111,0}}, +/* 33005 */ {(11<<2)|2,{61,111,0}}, +/* 33006 */ {(11<<2)|2,{61,111,0}}, +/* 33007 */ {(11<<2)|2,{61,111,0}}, +/* 33008 */ {(11<<2)|2,{61,111,0}}, +/* 33009 */ {(11<<2)|2,{61,111,0}}, +/* 33010 */ {(11<<2)|2,{61,111,0}}, +/* 33011 */ {(11<<2)|2,{61,111,0}}, +/* 33012 */ {(11<<2)|2,{61,111,0}}, +/* 33013 */ {(11<<2)|2,{61,111,0}}, +/* 33014 */ {(11<<2)|2,{61,111,0}}, +/* 33015 */ {(11<<2)|2,{61,111,0}}, +/* 33016 */ {(11<<2)|2,{61,111,0}}, +/* 33017 */ {(11<<2)|2,{61,111,0}}, +/* 33018 */ {(11<<2)|2,{61,111,0}}, +/* 33019 */ {(11<<2)|2,{61,111,0}}, +/* 33020 */ {(11<<2)|2,{61,111,0}}, +/* 33021 */ {(11<<2)|2,{61,111,0}}, +/* 33022 */ {(11<<2)|2,{61,111,0}}, +/* 33023 */ {(11<<2)|2,{61,111,0}}, +/* 33024 */ {(16<<2)|3,{61,115,48}}, +/* 33025 */ {(16<<2)|3,{61,115,49}}, +/* 33026 */ {(16<<2)|3,{61,115,50}}, +/* 33027 */ {(16<<2)|3,{61,115,97}}, +/* 33028 */ {(16<<2)|3,{61,115,99}}, +/* 33029 */ {(16<<2)|3,{61,115,101}}, +/* 33030 */ {(16<<2)|3,{61,115,105}}, +/* 33031 */ {(16<<2)|3,{61,115,111}}, +/* 33032 */ {(16<<2)|3,{61,115,115}}, +/* 33033 */ {(16<<2)|3,{61,115,116}}, +/* 33034 */ {(11<<2)|2,{61,115,0}}, +/* 33035 */ {(11<<2)|2,{61,115,0}}, +/* 33036 */ {(11<<2)|2,{61,115,0}}, +/* 33037 */ {(11<<2)|2,{61,115,0}}, +/* 33038 */ {(11<<2)|2,{61,115,0}}, +/* 33039 */ {(11<<2)|2,{61,115,0}}, +/* 33040 */ {(11<<2)|2,{61,115,0}}, +/* 33041 */ {(11<<2)|2,{61,115,0}}, +/* 33042 */ {(11<<2)|2,{61,115,0}}, +/* 33043 */ {(11<<2)|2,{61,115,0}}, +/* 33044 */ {(11<<2)|2,{61,115,0}}, +/* 33045 */ {(11<<2)|2,{61,115,0}}, +/* 33046 */ {(11<<2)|2,{61,115,0}}, +/* 33047 */ {(11<<2)|2,{61,115,0}}, +/* 33048 */ {(11<<2)|2,{61,115,0}}, +/* 33049 */ {(11<<2)|2,{61,115,0}}, +/* 33050 */ {(11<<2)|2,{61,115,0}}, +/* 33051 */ {(11<<2)|2,{61,115,0}}, +/* 33052 */ {(11<<2)|2,{61,115,0}}, +/* 33053 */ {(11<<2)|2,{61,115,0}}, +/* 33054 */ {(11<<2)|2,{61,115,0}}, +/* 33055 */ {(11<<2)|2,{61,115,0}}, +/* 33056 */ {(16<<2)|3,{61,116,48}}, +/* 33057 */ {(16<<2)|3,{61,116,49}}, +/* 33058 */ {(16<<2)|3,{61,116,50}}, +/* 33059 */ {(16<<2)|3,{61,116,97}}, +/* 33060 */ {(16<<2)|3,{61,116,99}}, +/* 33061 */ {(16<<2)|3,{61,116,101}}, +/* 33062 */ {(16<<2)|3,{61,116,105}}, +/* 33063 */ {(16<<2)|3,{61,116,111}}, +/* 33064 */ {(16<<2)|3,{61,116,115}}, +/* 33065 */ {(16<<2)|3,{61,116,116}}, +/* 33066 */ {(11<<2)|2,{61,116,0}}, +/* 33067 */ {(11<<2)|2,{61,116,0}}, +/* 33068 */ {(11<<2)|2,{61,116,0}}, +/* 33069 */ {(11<<2)|2,{61,116,0}}, +/* 33070 */ {(11<<2)|2,{61,116,0}}, +/* 33071 */ {(11<<2)|2,{61,116,0}}, +/* 33072 */ {(11<<2)|2,{61,116,0}}, +/* 33073 */ {(11<<2)|2,{61,116,0}}, +/* 33074 */ {(11<<2)|2,{61,116,0}}, +/* 33075 */ {(11<<2)|2,{61,116,0}}, +/* 33076 */ {(11<<2)|2,{61,116,0}}, +/* 33077 */ {(11<<2)|2,{61,116,0}}, +/* 33078 */ {(11<<2)|2,{61,116,0}}, +/* 33079 */ {(11<<2)|2,{61,116,0}}, +/* 33080 */ {(11<<2)|2,{61,116,0}}, +/* 33081 */ {(11<<2)|2,{61,116,0}}, +/* 33082 */ {(11<<2)|2,{61,116,0}}, +/* 33083 */ {(11<<2)|2,{61,116,0}}, +/* 33084 */ {(11<<2)|2,{61,116,0}}, +/* 33085 */ {(11<<2)|2,{61,116,0}}, +/* 33086 */ {(11<<2)|2,{61,116,0}}, +/* 33087 */ {(11<<2)|2,{61,116,0}}, +/* 33088 */ {(12<<2)|2,{61,32,0}}, +/* 33089 */ {(12<<2)|2,{61,32,0}}, +/* 33090 */ {(12<<2)|2,{61,32,0}}, +/* 33091 */ {(12<<2)|2,{61,32,0}}, +/* 33092 */ {(12<<2)|2,{61,32,0}}, +/* 33093 */ {(12<<2)|2,{61,32,0}}, +/* 33094 */ {(12<<2)|2,{61,32,0}}, +/* 33095 */ {(12<<2)|2,{61,32,0}}, +/* 33096 */ {(12<<2)|2,{61,32,0}}, +/* 33097 */ {(12<<2)|2,{61,32,0}}, +/* 33098 */ {(12<<2)|2,{61,32,0}}, +/* 33099 */ {(12<<2)|2,{61,32,0}}, +/* 33100 */ {(12<<2)|2,{61,32,0}}, +/* 33101 */ {(12<<2)|2,{61,32,0}}, +/* 33102 */ {(12<<2)|2,{61,32,0}}, +/* 33103 */ {(12<<2)|2,{61,32,0}}, +/* 33104 */ {(12<<2)|2,{61,37,0}}, +/* 33105 */ {(12<<2)|2,{61,37,0}}, +/* 33106 */ {(12<<2)|2,{61,37,0}}, +/* 33107 */ {(12<<2)|2,{61,37,0}}, +/* 33108 */ {(12<<2)|2,{61,37,0}}, +/* 33109 */ {(12<<2)|2,{61,37,0}}, +/* 33110 */ {(12<<2)|2,{61,37,0}}, +/* 33111 */ {(12<<2)|2,{61,37,0}}, +/* 33112 */ {(12<<2)|2,{61,37,0}}, +/* 33113 */ {(12<<2)|2,{61,37,0}}, +/* 33114 */ {(12<<2)|2,{61,37,0}}, +/* 33115 */ {(12<<2)|2,{61,37,0}}, +/* 33116 */ {(12<<2)|2,{61,37,0}}, +/* 33117 */ {(12<<2)|2,{61,37,0}}, +/* 33118 */ {(12<<2)|2,{61,37,0}}, +/* 33119 */ {(12<<2)|2,{61,37,0}}, +/* 33120 */ {(12<<2)|2,{61,45,0}}, +/* 33121 */ {(12<<2)|2,{61,45,0}}, +/* 33122 */ {(12<<2)|2,{61,45,0}}, +/* 33123 */ {(12<<2)|2,{61,45,0}}, +/* 33124 */ {(12<<2)|2,{61,45,0}}, +/* 33125 */ {(12<<2)|2,{61,45,0}}, +/* 33126 */ {(12<<2)|2,{61,45,0}}, +/* 33127 */ {(12<<2)|2,{61,45,0}}, +/* 33128 */ {(12<<2)|2,{61,45,0}}, +/* 33129 */ {(12<<2)|2,{61,45,0}}, +/* 33130 */ {(12<<2)|2,{61,45,0}}, +/* 33131 */ {(12<<2)|2,{61,45,0}}, +/* 33132 */ {(12<<2)|2,{61,45,0}}, +/* 33133 */ {(12<<2)|2,{61,45,0}}, +/* 33134 */ {(12<<2)|2,{61,45,0}}, +/* 33135 */ {(12<<2)|2,{61,45,0}}, +/* 33136 */ {(12<<2)|2,{61,46,0}}, +/* 33137 */ {(12<<2)|2,{61,46,0}}, +/* 33138 */ {(12<<2)|2,{61,46,0}}, +/* 33139 */ {(12<<2)|2,{61,46,0}}, +/* 33140 */ {(12<<2)|2,{61,46,0}}, +/* 33141 */ {(12<<2)|2,{61,46,0}}, +/* 33142 */ {(12<<2)|2,{61,46,0}}, +/* 33143 */ {(12<<2)|2,{61,46,0}}, +/* 33144 */ {(12<<2)|2,{61,46,0}}, +/* 33145 */ {(12<<2)|2,{61,46,0}}, +/* 33146 */ {(12<<2)|2,{61,46,0}}, +/* 33147 */ {(12<<2)|2,{61,46,0}}, +/* 33148 */ {(12<<2)|2,{61,46,0}}, +/* 33149 */ {(12<<2)|2,{61,46,0}}, +/* 33150 */ {(12<<2)|2,{61,46,0}}, +/* 33151 */ {(12<<2)|2,{61,46,0}}, +/* 33152 */ {(12<<2)|2,{61,47,0}}, +/* 33153 */ {(12<<2)|2,{61,47,0}}, +/* 33154 */ {(12<<2)|2,{61,47,0}}, +/* 33155 */ {(12<<2)|2,{61,47,0}}, +/* 33156 */ {(12<<2)|2,{61,47,0}}, +/* 33157 */ {(12<<2)|2,{61,47,0}}, +/* 33158 */ {(12<<2)|2,{61,47,0}}, +/* 33159 */ {(12<<2)|2,{61,47,0}}, +/* 33160 */ {(12<<2)|2,{61,47,0}}, +/* 33161 */ {(12<<2)|2,{61,47,0}}, +/* 33162 */ {(12<<2)|2,{61,47,0}}, +/* 33163 */ {(12<<2)|2,{61,47,0}}, +/* 33164 */ {(12<<2)|2,{61,47,0}}, +/* 33165 */ {(12<<2)|2,{61,47,0}}, +/* 33166 */ {(12<<2)|2,{61,47,0}}, +/* 33167 */ {(12<<2)|2,{61,47,0}}, +/* 33168 */ {(12<<2)|2,{61,51,0}}, +/* 33169 */ {(12<<2)|2,{61,51,0}}, +/* 33170 */ {(12<<2)|2,{61,51,0}}, +/* 33171 */ {(12<<2)|2,{61,51,0}}, +/* 33172 */ {(12<<2)|2,{61,51,0}}, +/* 33173 */ {(12<<2)|2,{61,51,0}}, +/* 33174 */ {(12<<2)|2,{61,51,0}}, +/* 33175 */ {(12<<2)|2,{61,51,0}}, +/* 33176 */ {(12<<2)|2,{61,51,0}}, +/* 33177 */ {(12<<2)|2,{61,51,0}}, +/* 33178 */ {(12<<2)|2,{61,51,0}}, +/* 33179 */ {(12<<2)|2,{61,51,0}}, +/* 33180 */ {(12<<2)|2,{61,51,0}}, +/* 33181 */ {(12<<2)|2,{61,51,0}}, +/* 33182 */ {(12<<2)|2,{61,51,0}}, +/* 33183 */ {(12<<2)|2,{61,51,0}}, +/* 33184 */ {(12<<2)|2,{61,52,0}}, +/* 33185 */ {(12<<2)|2,{61,52,0}}, +/* 33186 */ {(12<<2)|2,{61,52,0}}, +/* 33187 */ {(12<<2)|2,{61,52,0}}, +/* 33188 */ {(12<<2)|2,{61,52,0}}, +/* 33189 */ {(12<<2)|2,{61,52,0}}, +/* 33190 */ {(12<<2)|2,{61,52,0}}, +/* 33191 */ {(12<<2)|2,{61,52,0}}, +/* 33192 */ {(12<<2)|2,{61,52,0}}, +/* 33193 */ {(12<<2)|2,{61,52,0}}, +/* 33194 */ {(12<<2)|2,{61,52,0}}, +/* 33195 */ {(12<<2)|2,{61,52,0}}, +/* 33196 */ {(12<<2)|2,{61,52,0}}, +/* 33197 */ {(12<<2)|2,{61,52,0}}, +/* 33198 */ {(12<<2)|2,{61,52,0}}, +/* 33199 */ {(12<<2)|2,{61,52,0}}, +/* 33200 */ {(12<<2)|2,{61,53,0}}, +/* 33201 */ {(12<<2)|2,{61,53,0}}, +/* 33202 */ {(12<<2)|2,{61,53,0}}, +/* 33203 */ {(12<<2)|2,{61,53,0}}, +/* 33204 */ {(12<<2)|2,{61,53,0}}, +/* 33205 */ {(12<<2)|2,{61,53,0}}, +/* 33206 */ {(12<<2)|2,{61,53,0}}, +/* 33207 */ {(12<<2)|2,{61,53,0}}, +/* 33208 */ {(12<<2)|2,{61,53,0}}, +/* 33209 */ {(12<<2)|2,{61,53,0}}, +/* 33210 */ {(12<<2)|2,{61,53,0}}, +/* 33211 */ {(12<<2)|2,{61,53,0}}, +/* 33212 */ {(12<<2)|2,{61,53,0}}, +/* 33213 */ {(12<<2)|2,{61,53,0}}, +/* 33214 */ {(12<<2)|2,{61,53,0}}, +/* 33215 */ {(12<<2)|2,{61,53,0}}, +/* 33216 */ {(12<<2)|2,{61,54,0}}, +/* 33217 */ {(12<<2)|2,{61,54,0}}, +/* 33218 */ {(12<<2)|2,{61,54,0}}, +/* 33219 */ {(12<<2)|2,{61,54,0}}, +/* 33220 */ {(12<<2)|2,{61,54,0}}, +/* 33221 */ {(12<<2)|2,{61,54,0}}, +/* 33222 */ {(12<<2)|2,{61,54,0}}, +/* 33223 */ {(12<<2)|2,{61,54,0}}, +/* 33224 */ {(12<<2)|2,{61,54,0}}, +/* 33225 */ {(12<<2)|2,{61,54,0}}, +/* 33226 */ {(12<<2)|2,{61,54,0}}, +/* 33227 */ {(12<<2)|2,{61,54,0}}, +/* 33228 */ {(12<<2)|2,{61,54,0}}, +/* 33229 */ {(12<<2)|2,{61,54,0}}, +/* 33230 */ {(12<<2)|2,{61,54,0}}, +/* 33231 */ {(12<<2)|2,{61,54,0}}, +/* 33232 */ {(12<<2)|2,{61,55,0}}, +/* 33233 */ {(12<<2)|2,{61,55,0}}, +/* 33234 */ {(12<<2)|2,{61,55,0}}, +/* 33235 */ {(12<<2)|2,{61,55,0}}, +/* 33236 */ {(12<<2)|2,{61,55,0}}, +/* 33237 */ {(12<<2)|2,{61,55,0}}, +/* 33238 */ {(12<<2)|2,{61,55,0}}, +/* 33239 */ {(12<<2)|2,{61,55,0}}, +/* 33240 */ {(12<<2)|2,{61,55,0}}, +/* 33241 */ {(12<<2)|2,{61,55,0}}, +/* 33242 */ {(12<<2)|2,{61,55,0}}, +/* 33243 */ {(12<<2)|2,{61,55,0}}, +/* 33244 */ {(12<<2)|2,{61,55,0}}, +/* 33245 */ {(12<<2)|2,{61,55,0}}, +/* 33246 */ {(12<<2)|2,{61,55,0}}, +/* 33247 */ {(12<<2)|2,{61,55,0}}, +/* 33248 */ {(12<<2)|2,{61,56,0}}, +/* 33249 */ {(12<<2)|2,{61,56,0}}, +/* 33250 */ {(12<<2)|2,{61,56,0}}, +/* 33251 */ {(12<<2)|2,{61,56,0}}, +/* 33252 */ {(12<<2)|2,{61,56,0}}, +/* 33253 */ {(12<<2)|2,{61,56,0}}, +/* 33254 */ {(12<<2)|2,{61,56,0}}, +/* 33255 */ {(12<<2)|2,{61,56,0}}, +/* 33256 */ {(12<<2)|2,{61,56,0}}, +/* 33257 */ {(12<<2)|2,{61,56,0}}, +/* 33258 */ {(12<<2)|2,{61,56,0}}, +/* 33259 */ {(12<<2)|2,{61,56,0}}, +/* 33260 */ {(12<<2)|2,{61,56,0}}, +/* 33261 */ {(12<<2)|2,{61,56,0}}, +/* 33262 */ {(12<<2)|2,{61,56,0}}, +/* 33263 */ {(12<<2)|2,{61,56,0}}, +/* 33264 */ {(12<<2)|2,{61,57,0}}, +/* 33265 */ {(12<<2)|2,{61,57,0}}, +/* 33266 */ {(12<<2)|2,{61,57,0}}, +/* 33267 */ {(12<<2)|2,{61,57,0}}, +/* 33268 */ {(12<<2)|2,{61,57,0}}, +/* 33269 */ {(12<<2)|2,{61,57,0}}, +/* 33270 */ {(12<<2)|2,{61,57,0}}, +/* 33271 */ {(12<<2)|2,{61,57,0}}, +/* 33272 */ {(12<<2)|2,{61,57,0}}, +/* 33273 */ {(12<<2)|2,{61,57,0}}, +/* 33274 */ {(12<<2)|2,{61,57,0}}, +/* 33275 */ {(12<<2)|2,{61,57,0}}, +/* 33276 */ {(12<<2)|2,{61,57,0}}, +/* 33277 */ {(12<<2)|2,{61,57,0}}, +/* 33278 */ {(12<<2)|2,{61,57,0}}, +/* 33279 */ {(12<<2)|2,{61,57,0}}, +/* 33280 */ {(12<<2)|2,{61,61,0}}, +/* 33281 */ {(12<<2)|2,{61,61,0}}, +/* 33282 */ {(12<<2)|2,{61,61,0}}, +/* 33283 */ {(12<<2)|2,{61,61,0}}, +/* 33284 */ {(12<<2)|2,{61,61,0}}, +/* 33285 */ {(12<<2)|2,{61,61,0}}, +/* 33286 */ {(12<<2)|2,{61,61,0}}, +/* 33287 */ {(12<<2)|2,{61,61,0}}, +/* 33288 */ {(12<<2)|2,{61,61,0}}, +/* 33289 */ {(12<<2)|2,{61,61,0}}, +/* 33290 */ {(12<<2)|2,{61,61,0}}, +/* 33291 */ {(12<<2)|2,{61,61,0}}, +/* 33292 */ {(12<<2)|2,{61,61,0}}, +/* 33293 */ {(12<<2)|2,{61,61,0}}, +/* 33294 */ {(12<<2)|2,{61,61,0}}, +/* 33295 */ {(12<<2)|2,{61,61,0}}, +/* 33296 */ {(12<<2)|2,{61,65,0}}, +/* 33297 */ {(12<<2)|2,{61,65,0}}, +/* 33298 */ {(12<<2)|2,{61,65,0}}, +/* 33299 */ {(12<<2)|2,{61,65,0}}, +/* 33300 */ {(12<<2)|2,{61,65,0}}, +/* 33301 */ {(12<<2)|2,{61,65,0}}, +/* 33302 */ {(12<<2)|2,{61,65,0}}, +/* 33303 */ {(12<<2)|2,{61,65,0}}, +/* 33304 */ {(12<<2)|2,{61,65,0}}, +/* 33305 */ {(12<<2)|2,{61,65,0}}, +/* 33306 */ {(12<<2)|2,{61,65,0}}, +/* 33307 */ {(12<<2)|2,{61,65,0}}, +/* 33308 */ {(12<<2)|2,{61,65,0}}, +/* 33309 */ {(12<<2)|2,{61,65,0}}, +/* 33310 */ {(12<<2)|2,{61,65,0}}, +/* 33311 */ {(12<<2)|2,{61,65,0}}, +/* 33312 */ {(12<<2)|2,{61,95,0}}, +/* 33313 */ {(12<<2)|2,{61,95,0}}, +/* 33314 */ {(12<<2)|2,{61,95,0}}, +/* 33315 */ {(12<<2)|2,{61,95,0}}, +/* 33316 */ {(12<<2)|2,{61,95,0}}, +/* 33317 */ {(12<<2)|2,{61,95,0}}, +/* 33318 */ {(12<<2)|2,{61,95,0}}, +/* 33319 */ {(12<<2)|2,{61,95,0}}, +/* 33320 */ {(12<<2)|2,{61,95,0}}, +/* 33321 */ {(12<<2)|2,{61,95,0}}, +/* 33322 */ {(12<<2)|2,{61,95,0}}, +/* 33323 */ {(12<<2)|2,{61,95,0}}, +/* 33324 */ {(12<<2)|2,{61,95,0}}, +/* 33325 */ {(12<<2)|2,{61,95,0}}, +/* 33326 */ {(12<<2)|2,{61,95,0}}, +/* 33327 */ {(12<<2)|2,{61,95,0}}, +/* 33328 */ {(12<<2)|2,{61,98,0}}, +/* 33329 */ {(12<<2)|2,{61,98,0}}, +/* 33330 */ {(12<<2)|2,{61,98,0}}, +/* 33331 */ {(12<<2)|2,{61,98,0}}, +/* 33332 */ {(12<<2)|2,{61,98,0}}, +/* 33333 */ {(12<<2)|2,{61,98,0}}, +/* 33334 */ {(12<<2)|2,{61,98,0}}, +/* 33335 */ {(12<<2)|2,{61,98,0}}, +/* 33336 */ {(12<<2)|2,{61,98,0}}, +/* 33337 */ {(12<<2)|2,{61,98,0}}, +/* 33338 */ {(12<<2)|2,{61,98,0}}, +/* 33339 */ {(12<<2)|2,{61,98,0}}, +/* 33340 */ {(12<<2)|2,{61,98,0}}, +/* 33341 */ {(12<<2)|2,{61,98,0}}, +/* 33342 */ {(12<<2)|2,{61,98,0}}, +/* 33343 */ {(12<<2)|2,{61,98,0}}, +/* 33344 */ {(12<<2)|2,{61,100,0}}, +/* 33345 */ {(12<<2)|2,{61,100,0}}, +/* 33346 */ {(12<<2)|2,{61,100,0}}, +/* 33347 */ {(12<<2)|2,{61,100,0}}, +/* 33348 */ {(12<<2)|2,{61,100,0}}, +/* 33349 */ {(12<<2)|2,{61,100,0}}, +/* 33350 */ {(12<<2)|2,{61,100,0}}, +/* 33351 */ {(12<<2)|2,{61,100,0}}, +/* 33352 */ {(12<<2)|2,{61,100,0}}, +/* 33353 */ {(12<<2)|2,{61,100,0}}, +/* 33354 */ {(12<<2)|2,{61,100,0}}, +/* 33355 */ {(12<<2)|2,{61,100,0}}, +/* 33356 */ {(12<<2)|2,{61,100,0}}, +/* 33357 */ {(12<<2)|2,{61,100,0}}, +/* 33358 */ {(12<<2)|2,{61,100,0}}, +/* 33359 */ {(12<<2)|2,{61,100,0}}, +/* 33360 */ {(12<<2)|2,{61,102,0}}, +/* 33361 */ {(12<<2)|2,{61,102,0}}, +/* 33362 */ {(12<<2)|2,{61,102,0}}, +/* 33363 */ {(12<<2)|2,{61,102,0}}, +/* 33364 */ {(12<<2)|2,{61,102,0}}, +/* 33365 */ {(12<<2)|2,{61,102,0}}, +/* 33366 */ {(12<<2)|2,{61,102,0}}, +/* 33367 */ {(12<<2)|2,{61,102,0}}, +/* 33368 */ {(12<<2)|2,{61,102,0}}, +/* 33369 */ {(12<<2)|2,{61,102,0}}, +/* 33370 */ {(12<<2)|2,{61,102,0}}, +/* 33371 */ {(12<<2)|2,{61,102,0}}, +/* 33372 */ {(12<<2)|2,{61,102,0}}, +/* 33373 */ {(12<<2)|2,{61,102,0}}, +/* 33374 */ {(12<<2)|2,{61,102,0}}, +/* 33375 */ {(12<<2)|2,{61,102,0}}, +/* 33376 */ {(12<<2)|2,{61,103,0}}, +/* 33377 */ {(12<<2)|2,{61,103,0}}, +/* 33378 */ {(12<<2)|2,{61,103,0}}, +/* 33379 */ {(12<<2)|2,{61,103,0}}, +/* 33380 */ {(12<<2)|2,{61,103,0}}, +/* 33381 */ {(12<<2)|2,{61,103,0}}, +/* 33382 */ {(12<<2)|2,{61,103,0}}, +/* 33383 */ {(12<<2)|2,{61,103,0}}, +/* 33384 */ {(12<<2)|2,{61,103,0}}, +/* 33385 */ {(12<<2)|2,{61,103,0}}, +/* 33386 */ {(12<<2)|2,{61,103,0}}, +/* 33387 */ {(12<<2)|2,{61,103,0}}, +/* 33388 */ {(12<<2)|2,{61,103,0}}, +/* 33389 */ {(12<<2)|2,{61,103,0}}, +/* 33390 */ {(12<<2)|2,{61,103,0}}, +/* 33391 */ {(12<<2)|2,{61,103,0}}, +/* 33392 */ {(12<<2)|2,{61,104,0}}, +/* 33393 */ {(12<<2)|2,{61,104,0}}, +/* 33394 */ {(12<<2)|2,{61,104,0}}, +/* 33395 */ {(12<<2)|2,{61,104,0}}, +/* 33396 */ {(12<<2)|2,{61,104,0}}, +/* 33397 */ {(12<<2)|2,{61,104,0}}, +/* 33398 */ {(12<<2)|2,{61,104,0}}, +/* 33399 */ {(12<<2)|2,{61,104,0}}, +/* 33400 */ {(12<<2)|2,{61,104,0}}, +/* 33401 */ {(12<<2)|2,{61,104,0}}, +/* 33402 */ {(12<<2)|2,{61,104,0}}, +/* 33403 */ {(12<<2)|2,{61,104,0}}, +/* 33404 */ {(12<<2)|2,{61,104,0}}, +/* 33405 */ {(12<<2)|2,{61,104,0}}, +/* 33406 */ {(12<<2)|2,{61,104,0}}, +/* 33407 */ {(12<<2)|2,{61,104,0}}, +/* 33408 */ {(12<<2)|2,{61,108,0}}, +/* 33409 */ {(12<<2)|2,{61,108,0}}, +/* 33410 */ {(12<<2)|2,{61,108,0}}, +/* 33411 */ {(12<<2)|2,{61,108,0}}, +/* 33412 */ {(12<<2)|2,{61,108,0}}, +/* 33413 */ {(12<<2)|2,{61,108,0}}, +/* 33414 */ {(12<<2)|2,{61,108,0}}, +/* 33415 */ {(12<<2)|2,{61,108,0}}, +/* 33416 */ {(12<<2)|2,{61,108,0}}, +/* 33417 */ {(12<<2)|2,{61,108,0}}, +/* 33418 */ {(12<<2)|2,{61,108,0}}, +/* 33419 */ {(12<<2)|2,{61,108,0}}, +/* 33420 */ {(12<<2)|2,{61,108,0}}, +/* 33421 */ {(12<<2)|2,{61,108,0}}, +/* 33422 */ {(12<<2)|2,{61,108,0}}, +/* 33423 */ {(12<<2)|2,{61,108,0}}, +/* 33424 */ {(12<<2)|2,{61,109,0}}, +/* 33425 */ {(12<<2)|2,{61,109,0}}, +/* 33426 */ {(12<<2)|2,{61,109,0}}, +/* 33427 */ {(12<<2)|2,{61,109,0}}, +/* 33428 */ {(12<<2)|2,{61,109,0}}, +/* 33429 */ {(12<<2)|2,{61,109,0}}, +/* 33430 */ {(12<<2)|2,{61,109,0}}, +/* 33431 */ {(12<<2)|2,{61,109,0}}, +/* 33432 */ {(12<<2)|2,{61,109,0}}, +/* 33433 */ {(12<<2)|2,{61,109,0}}, +/* 33434 */ {(12<<2)|2,{61,109,0}}, +/* 33435 */ {(12<<2)|2,{61,109,0}}, +/* 33436 */ {(12<<2)|2,{61,109,0}}, +/* 33437 */ {(12<<2)|2,{61,109,0}}, +/* 33438 */ {(12<<2)|2,{61,109,0}}, +/* 33439 */ {(12<<2)|2,{61,109,0}}, +/* 33440 */ {(12<<2)|2,{61,110,0}}, +/* 33441 */ {(12<<2)|2,{61,110,0}}, +/* 33442 */ {(12<<2)|2,{61,110,0}}, +/* 33443 */ {(12<<2)|2,{61,110,0}}, +/* 33444 */ {(12<<2)|2,{61,110,0}}, +/* 33445 */ {(12<<2)|2,{61,110,0}}, +/* 33446 */ {(12<<2)|2,{61,110,0}}, +/* 33447 */ {(12<<2)|2,{61,110,0}}, +/* 33448 */ {(12<<2)|2,{61,110,0}}, +/* 33449 */ {(12<<2)|2,{61,110,0}}, +/* 33450 */ {(12<<2)|2,{61,110,0}}, +/* 33451 */ {(12<<2)|2,{61,110,0}}, +/* 33452 */ {(12<<2)|2,{61,110,0}}, +/* 33453 */ {(12<<2)|2,{61,110,0}}, +/* 33454 */ {(12<<2)|2,{61,110,0}}, +/* 33455 */ {(12<<2)|2,{61,110,0}}, +/* 33456 */ {(12<<2)|2,{61,112,0}}, +/* 33457 */ {(12<<2)|2,{61,112,0}}, +/* 33458 */ {(12<<2)|2,{61,112,0}}, +/* 33459 */ {(12<<2)|2,{61,112,0}}, +/* 33460 */ {(12<<2)|2,{61,112,0}}, +/* 33461 */ {(12<<2)|2,{61,112,0}}, +/* 33462 */ {(12<<2)|2,{61,112,0}}, +/* 33463 */ {(12<<2)|2,{61,112,0}}, +/* 33464 */ {(12<<2)|2,{61,112,0}}, +/* 33465 */ {(12<<2)|2,{61,112,0}}, +/* 33466 */ {(12<<2)|2,{61,112,0}}, +/* 33467 */ {(12<<2)|2,{61,112,0}}, +/* 33468 */ {(12<<2)|2,{61,112,0}}, +/* 33469 */ {(12<<2)|2,{61,112,0}}, +/* 33470 */ {(12<<2)|2,{61,112,0}}, +/* 33471 */ {(12<<2)|2,{61,112,0}}, +/* 33472 */ {(12<<2)|2,{61,114,0}}, +/* 33473 */ {(12<<2)|2,{61,114,0}}, +/* 33474 */ {(12<<2)|2,{61,114,0}}, +/* 33475 */ {(12<<2)|2,{61,114,0}}, +/* 33476 */ {(12<<2)|2,{61,114,0}}, +/* 33477 */ {(12<<2)|2,{61,114,0}}, +/* 33478 */ {(12<<2)|2,{61,114,0}}, +/* 33479 */ {(12<<2)|2,{61,114,0}}, +/* 33480 */ {(12<<2)|2,{61,114,0}}, +/* 33481 */ {(12<<2)|2,{61,114,0}}, +/* 33482 */ {(12<<2)|2,{61,114,0}}, +/* 33483 */ {(12<<2)|2,{61,114,0}}, +/* 33484 */ {(12<<2)|2,{61,114,0}}, +/* 33485 */ {(12<<2)|2,{61,114,0}}, +/* 33486 */ {(12<<2)|2,{61,114,0}}, +/* 33487 */ {(12<<2)|2,{61,114,0}}, +/* 33488 */ {(12<<2)|2,{61,117,0}}, +/* 33489 */ {(12<<2)|2,{61,117,0}}, +/* 33490 */ {(12<<2)|2,{61,117,0}}, +/* 33491 */ {(12<<2)|2,{61,117,0}}, +/* 33492 */ {(12<<2)|2,{61,117,0}}, +/* 33493 */ {(12<<2)|2,{61,117,0}}, +/* 33494 */ {(12<<2)|2,{61,117,0}}, +/* 33495 */ {(12<<2)|2,{61,117,0}}, +/* 33496 */ {(12<<2)|2,{61,117,0}}, +/* 33497 */ {(12<<2)|2,{61,117,0}}, +/* 33498 */ {(12<<2)|2,{61,117,0}}, +/* 33499 */ {(12<<2)|2,{61,117,0}}, +/* 33500 */ {(12<<2)|2,{61,117,0}}, +/* 33501 */ {(12<<2)|2,{61,117,0}}, +/* 33502 */ {(12<<2)|2,{61,117,0}}, +/* 33503 */ {(12<<2)|2,{61,117,0}}, +/* 33504 */ {(13<<2)|2,{61,58,0}}, +/* 33505 */ {(13<<2)|2,{61,58,0}}, +/* 33506 */ {(13<<2)|2,{61,58,0}}, +/* 33507 */ {(13<<2)|2,{61,58,0}}, +/* 33508 */ {(13<<2)|2,{61,58,0}}, +/* 33509 */ {(13<<2)|2,{61,58,0}}, +/* 33510 */ {(13<<2)|2,{61,58,0}}, +/* 33511 */ {(13<<2)|2,{61,58,0}}, +/* 33512 */ {(13<<2)|2,{61,66,0}}, +/* 33513 */ {(13<<2)|2,{61,66,0}}, +/* 33514 */ {(13<<2)|2,{61,66,0}}, +/* 33515 */ {(13<<2)|2,{61,66,0}}, +/* 33516 */ {(13<<2)|2,{61,66,0}}, +/* 33517 */ {(13<<2)|2,{61,66,0}}, +/* 33518 */ {(13<<2)|2,{61,66,0}}, +/* 33519 */ {(13<<2)|2,{61,66,0}}, +/* 33520 */ {(13<<2)|2,{61,67,0}}, +/* 33521 */ {(13<<2)|2,{61,67,0}}, +/* 33522 */ {(13<<2)|2,{61,67,0}}, +/* 33523 */ {(13<<2)|2,{61,67,0}}, +/* 33524 */ {(13<<2)|2,{61,67,0}}, +/* 33525 */ {(13<<2)|2,{61,67,0}}, +/* 33526 */ {(13<<2)|2,{61,67,0}}, +/* 33527 */ {(13<<2)|2,{61,67,0}}, +/* 33528 */ {(13<<2)|2,{61,68,0}}, +/* 33529 */ {(13<<2)|2,{61,68,0}}, +/* 33530 */ {(13<<2)|2,{61,68,0}}, +/* 33531 */ {(13<<2)|2,{61,68,0}}, +/* 33532 */ {(13<<2)|2,{61,68,0}}, +/* 33533 */ {(13<<2)|2,{61,68,0}}, +/* 33534 */ {(13<<2)|2,{61,68,0}}, +/* 33535 */ {(13<<2)|2,{61,68,0}}, +/* 33536 */ {(13<<2)|2,{61,69,0}}, +/* 33537 */ {(13<<2)|2,{61,69,0}}, +/* 33538 */ {(13<<2)|2,{61,69,0}}, +/* 33539 */ {(13<<2)|2,{61,69,0}}, +/* 33540 */ {(13<<2)|2,{61,69,0}}, +/* 33541 */ {(13<<2)|2,{61,69,0}}, +/* 33542 */ {(13<<2)|2,{61,69,0}}, +/* 33543 */ {(13<<2)|2,{61,69,0}}, +/* 33544 */ {(13<<2)|2,{61,70,0}}, +/* 33545 */ {(13<<2)|2,{61,70,0}}, +/* 33546 */ {(13<<2)|2,{61,70,0}}, +/* 33547 */ {(13<<2)|2,{61,70,0}}, +/* 33548 */ {(13<<2)|2,{61,70,0}}, +/* 33549 */ {(13<<2)|2,{61,70,0}}, +/* 33550 */ {(13<<2)|2,{61,70,0}}, +/* 33551 */ {(13<<2)|2,{61,70,0}}, +/* 33552 */ {(13<<2)|2,{61,71,0}}, +/* 33553 */ {(13<<2)|2,{61,71,0}}, +/* 33554 */ {(13<<2)|2,{61,71,0}}, +/* 33555 */ {(13<<2)|2,{61,71,0}}, +/* 33556 */ {(13<<2)|2,{61,71,0}}, +/* 33557 */ {(13<<2)|2,{61,71,0}}, +/* 33558 */ {(13<<2)|2,{61,71,0}}, +/* 33559 */ {(13<<2)|2,{61,71,0}}, +/* 33560 */ {(13<<2)|2,{61,72,0}}, +/* 33561 */ {(13<<2)|2,{61,72,0}}, +/* 33562 */ {(13<<2)|2,{61,72,0}}, +/* 33563 */ {(13<<2)|2,{61,72,0}}, +/* 33564 */ {(13<<2)|2,{61,72,0}}, +/* 33565 */ {(13<<2)|2,{61,72,0}}, +/* 33566 */ {(13<<2)|2,{61,72,0}}, +/* 33567 */ {(13<<2)|2,{61,72,0}}, +/* 33568 */ {(13<<2)|2,{61,73,0}}, +/* 33569 */ {(13<<2)|2,{61,73,0}}, +/* 33570 */ {(13<<2)|2,{61,73,0}}, +/* 33571 */ {(13<<2)|2,{61,73,0}}, +/* 33572 */ {(13<<2)|2,{61,73,0}}, +/* 33573 */ {(13<<2)|2,{61,73,0}}, +/* 33574 */ {(13<<2)|2,{61,73,0}}, +/* 33575 */ {(13<<2)|2,{61,73,0}}, +/* 33576 */ {(13<<2)|2,{61,74,0}}, +/* 33577 */ {(13<<2)|2,{61,74,0}}, +/* 33578 */ {(13<<2)|2,{61,74,0}}, +/* 33579 */ {(13<<2)|2,{61,74,0}}, +/* 33580 */ {(13<<2)|2,{61,74,0}}, +/* 33581 */ {(13<<2)|2,{61,74,0}}, +/* 33582 */ {(13<<2)|2,{61,74,0}}, +/* 33583 */ {(13<<2)|2,{61,74,0}}, +/* 33584 */ {(13<<2)|2,{61,75,0}}, +/* 33585 */ {(13<<2)|2,{61,75,0}}, +/* 33586 */ {(13<<2)|2,{61,75,0}}, +/* 33587 */ {(13<<2)|2,{61,75,0}}, +/* 33588 */ {(13<<2)|2,{61,75,0}}, +/* 33589 */ {(13<<2)|2,{61,75,0}}, +/* 33590 */ {(13<<2)|2,{61,75,0}}, +/* 33591 */ {(13<<2)|2,{61,75,0}}, +/* 33592 */ {(13<<2)|2,{61,76,0}}, +/* 33593 */ {(13<<2)|2,{61,76,0}}, +/* 33594 */ {(13<<2)|2,{61,76,0}}, +/* 33595 */ {(13<<2)|2,{61,76,0}}, +/* 33596 */ {(13<<2)|2,{61,76,0}}, +/* 33597 */ {(13<<2)|2,{61,76,0}}, +/* 33598 */ {(13<<2)|2,{61,76,0}}, +/* 33599 */ {(13<<2)|2,{61,76,0}}, +/* 33600 */ {(13<<2)|2,{61,77,0}}, +/* 33601 */ {(13<<2)|2,{61,77,0}}, +/* 33602 */ {(13<<2)|2,{61,77,0}}, +/* 33603 */ {(13<<2)|2,{61,77,0}}, +/* 33604 */ {(13<<2)|2,{61,77,0}}, +/* 33605 */ {(13<<2)|2,{61,77,0}}, +/* 33606 */ {(13<<2)|2,{61,77,0}}, +/* 33607 */ {(13<<2)|2,{61,77,0}}, +/* 33608 */ {(13<<2)|2,{61,78,0}}, +/* 33609 */ {(13<<2)|2,{61,78,0}}, +/* 33610 */ {(13<<2)|2,{61,78,0}}, +/* 33611 */ {(13<<2)|2,{61,78,0}}, +/* 33612 */ {(13<<2)|2,{61,78,0}}, +/* 33613 */ {(13<<2)|2,{61,78,0}}, +/* 33614 */ {(13<<2)|2,{61,78,0}}, +/* 33615 */ {(13<<2)|2,{61,78,0}}, +/* 33616 */ {(13<<2)|2,{61,79,0}}, +/* 33617 */ {(13<<2)|2,{61,79,0}}, +/* 33618 */ {(13<<2)|2,{61,79,0}}, +/* 33619 */ {(13<<2)|2,{61,79,0}}, +/* 33620 */ {(13<<2)|2,{61,79,0}}, +/* 33621 */ {(13<<2)|2,{61,79,0}}, +/* 33622 */ {(13<<2)|2,{61,79,0}}, +/* 33623 */ {(13<<2)|2,{61,79,0}}, +/* 33624 */ {(13<<2)|2,{61,80,0}}, +/* 33625 */ {(13<<2)|2,{61,80,0}}, +/* 33626 */ {(13<<2)|2,{61,80,0}}, +/* 33627 */ {(13<<2)|2,{61,80,0}}, +/* 33628 */ {(13<<2)|2,{61,80,0}}, +/* 33629 */ {(13<<2)|2,{61,80,0}}, +/* 33630 */ {(13<<2)|2,{61,80,0}}, +/* 33631 */ {(13<<2)|2,{61,80,0}}, +/* 33632 */ {(13<<2)|2,{61,81,0}}, +/* 33633 */ {(13<<2)|2,{61,81,0}}, +/* 33634 */ {(13<<2)|2,{61,81,0}}, +/* 33635 */ {(13<<2)|2,{61,81,0}}, +/* 33636 */ {(13<<2)|2,{61,81,0}}, +/* 33637 */ {(13<<2)|2,{61,81,0}}, +/* 33638 */ {(13<<2)|2,{61,81,0}}, +/* 33639 */ {(13<<2)|2,{61,81,0}}, +/* 33640 */ {(13<<2)|2,{61,82,0}}, +/* 33641 */ {(13<<2)|2,{61,82,0}}, +/* 33642 */ {(13<<2)|2,{61,82,0}}, +/* 33643 */ {(13<<2)|2,{61,82,0}}, +/* 33644 */ {(13<<2)|2,{61,82,0}}, +/* 33645 */ {(13<<2)|2,{61,82,0}}, +/* 33646 */ {(13<<2)|2,{61,82,0}}, +/* 33647 */ {(13<<2)|2,{61,82,0}}, +/* 33648 */ {(13<<2)|2,{61,83,0}}, +/* 33649 */ {(13<<2)|2,{61,83,0}}, +/* 33650 */ {(13<<2)|2,{61,83,0}}, +/* 33651 */ {(13<<2)|2,{61,83,0}}, +/* 33652 */ {(13<<2)|2,{61,83,0}}, +/* 33653 */ {(13<<2)|2,{61,83,0}}, +/* 33654 */ {(13<<2)|2,{61,83,0}}, +/* 33655 */ {(13<<2)|2,{61,83,0}}, +/* 33656 */ {(13<<2)|2,{61,84,0}}, +/* 33657 */ {(13<<2)|2,{61,84,0}}, +/* 33658 */ {(13<<2)|2,{61,84,0}}, +/* 33659 */ {(13<<2)|2,{61,84,0}}, +/* 33660 */ {(13<<2)|2,{61,84,0}}, +/* 33661 */ {(13<<2)|2,{61,84,0}}, +/* 33662 */ {(13<<2)|2,{61,84,0}}, +/* 33663 */ {(13<<2)|2,{61,84,0}}, +/* 33664 */ {(13<<2)|2,{61,85,0}}, +/* 33665 */ {(13<<2)|2,{61,85,0}}, +/* 33666 */ {(13<<2)|2,{61,85,0}}, +/* 33667 */ {(13<<2)|2,{61,85,0}}, +/* 33668 */ {(13<<2)|2,{61,85,0}}, +/* 33669 */ {(13<<2)|2,{61,85,0}}, +/* 33670 */ {(13<<2)|2,{61,85,0}}, +/* 33671 */ {(13<<2)|2,{61,85,0}}, +/* 33672 */ {(13<<2)|2,{61,86,0}}, +/* 33673 */ {(13<<2)|2,{61,86,0}}, +/* 33674 */ {(13<<2)|2,{61,86,0}}, +/* 33675 */ {(13<<2)|2,{61,86,0}}, +/* 33676 */ {(13<<2)|2,{61,86,0}}, +/* 33677 */ {(13<<2)|2,{61,86,0}}, +/* 33678 */ {(13<<2)|2,{61,86,0}}, +/* 33679 */ {(13<<2)|2,{61,86,0}}, +/* 33680 */ {(13<<2)|2,{61,87,0}}, +/* 33681 */ {(13<<2)|2,{61,87,0}}, +/* 33682 */ {(13<<2)|2,{61,87,0}}, +/* 33683 */ {(13<<2)|2,{61,87,0}}, +/* 33684 */ {(13<<2)|2,{61,87,0}}, +/* 33685 */ {(13<<2)|2,{61,87,0}}, +/* 33686 */ {(13<<2)|2,{61,87,0}}, +/* 33687 */ {(13<<2)|2,{61,87,0}}, +/* 33688 */ {(13<<2)|2,{61,89,0}}, +/* 33689 */ {(13<<2)|2,{61,89,0}}, +/* 33690 */ {(13<<2)|2,{61,89,0}}, +/* 33691 */ {(13<<2)|2,{61,89,0}}, +/* 33692 */ {(13<<2)|2,{61,89,0}}, +/* 33693 */ {(13<<2)|2,{61,89,0}}, +/* 33694 */ {(13<<2)|2,{61,89,0}}, +/* 33695 */ {(13<<2)|2,{61,89,0}}, +/* 33696 */ {(13<<2)|2,{61,106,0}}, +/* 33697 */ {(13<<2)|2,{61,106,0}}, +/* 33698 */ {(13<<2)|2,{61,106,0}}, +/* 33699 */ {(13<<2)|2,{61,106,0}}, +/* 33700 */ {(13<<2)|2,{61,106,0}}, +/* 33701 */ {(13<<2)|2,{61,106,0}}, +/* 33702 */ {(13<<2)|2,{61,106,0}}, +/* 33703 */ {(13<<2)|2,{61,106,0}}, +/* 33704 */ {(13<<2)|2,{61,107,0}}, +/* 33705 */ {(13<<2)|2,{61,107,0}}, +/* 33706 */ {(13<<2)|2,{61,107,0}}, +/* 33707 */ {(13<<2)|2,{61,107,0}}, +/* 33708 */ {(13<<2)|2,{61,107,0}}, +/* 33709 */ {(13<<2)|2,{61,107,0}}, +/* 33710 */ {(13<<2)|2,{61,107,0}}, +/* 33711 */ {(13<<2)|2,{61,107,0}}, +/* 33712 */ {(13<<2)|2,{61,113,0}}, +/* 33713 */ {(13<<2)|2,{61,113,0}}, +/* 33714 */ {(13<<2)|2,{61,113,0}}, +/* 33715 */ {(13<<2)|2,{61,113,0}}, +/* 33716 */ {(13<<2)|2,{61,113,0}}, +/* 33717 */ {(13<<2)|2,{61,113,0}}, +/* 33718 */ {(13<<2)|2,{61,113,0}}, +/* 33719 */ {(13<<2)|2,{61,113,0}}, +/* 33720 */ {(13<<2)|2,{61,118,0}}, +/* 33721 */ {(13<<2)|2,{61,118,0}}, +/* 33722 */ {(13<<2)|2,{61,118,0}}, +/* 33723 */ {(13<<2)|2,{61,118,0}}, +/* 33724 */ {(13<<2)|2,{61,118,0}}, +/* 33725 */ {(13<<2)|2,{61,118,0}}, +/* 33726 */ {(13<<2)|2,{61,118,0}}, +/* 33727 */ {(13<<2)|2,{61,118,0}}, +/* 33728 */ {(13<<2)|2,{61,119,0}}, +/* 33729 */ {(13<<2)|2,{61,119,0}}, +/* 33730 */ {(13<<2)|2,{61,119,0}}, +/* 33731 */ {(13<<2)|2,{61,119,0}}, +/* 33732 */ {(13<<2)|2,{61,119,0}}, +/* 33733 */ {(13<<2)|2,{61,119,0}}, +/* 33734 */ {(13<<2)|2,{61,119,0}}, +/* 33735 */ {(13<<2)|2,{61,119,0}}, +/* 33736 */ {(13<<2)|2,{61,120,0}}, +/* 33737 */ {(13<<2)|2,{61,120,0}}, +/* 33738 */ {(13<<2)|2,{61,120,0}}, +/* 33739 */ {(13<<2)|2,{61,120,0}}, +/* 33740 */ {(13<<2)|2,{61,120,0}}, +/* 33741 */ {(13<<2)|2,{61,120,0}}, +/* 33742 */ {(13<<2)|2,{61,120,0}}, +/* 33743 */ {(13<<2)|2,{61,120,0}}, +/* 33744 */ {(13<<2)|2,{61,121,0}}, +/* 33745 */ {(13<<2)|2,{61,121,0}}, +/* 33746 */ {(13<<2)|2,{61,121,0}}, +/* 33747 */ {(13<<2)|2,{61,121,0}}, +/* 33748 */ {(13<<2)|2,{61,121,0}}, +/* 33749 */ {(13<<2)|2,{61,121,0}}, +/* 33750 */ {(13<<2)|2,{61,121,0}}, +/* 33751 */ {(13<<2)|2,{61,121,0}}, +/* 33752 */ {(13<<2)|2,{61,122,0}}, +/* 33753 */ {(13<<2)|2,{61,122,0}}, +/* 33754 */ {(13<<2)|2,{61,122,0}}, +/* 33755 */ {(13<<2)|2,{61,122,0}}, +/* 33756 */ {(13<<2)|2,{61,122,0}}, +/* 33757 */ {(13<<2)|2,{61,122,0}}, +/* 33758 */ {(13<<2)|2,{61,122,0}}, +/* 33759 */ {(13<<2)|2,{61,122,0}}, +/* 33760 */ {(14<<2)|2,{61,38,0}}, +/* 33761 */ {(14<<2)|2,{61,38,0}}, +/* 33762 */ {(14<<2)|2,{61,38,0}}, +/* 33763 */ {(14<<2)|2,{61,38,0}}, +/* 33764 */ {(14<<2)|2,{61,42,0}}, +/* 33765 */ {(14<<2)|2,{61,42,0}}, +/* 33766 */ {(14<<2)|2,{61,42,0}}, +/* 33767 */ {(14<<2)|2,{61,42,0}}, +/* 33768 */ {(14<<2)|2,{61,44,0}}, +/* 33769 */ {(14<<2)|2,{61,44,0}}, +/* 33770 */ {(14<<2)|2,{61,44,0}}, +/* 33771 */ {(14<<2)|2,{61,44,0}}, +/* 33772 */ {(14<<2)|2,{61,59,0}}, +/* 33773 */ {(14<<2)|2,{61,59,0}}, +/* 33774 */ {(14<<2)|2,{61,59,0}}, +/* 33775 */ {(14<<2)|2,{61,59,0}}, +/* 33776 */ {(14<<2)|2,{61,88,0}}, +/* 33777 */ {(14<<2)|2,{61,88,0}}, +/* 33778 */ {(14<<2)|2,{61,88,0}}, +/* 33779 */ {(14<<2)|2,{61,88,0}}, +/* 33780 */ {(14<<2)|2,{61,90,0}}, +/* 33781 */ {(14<<2)|2,{61,90,0}}, +/* 33782 */ {(14<<2)|2,{61,90,0}}, +/* 33783 */ {(14<<2)|2,{61,90,0}}, +/* 33784 */ {(16<<2)|2,{61,33,0}}, +/* 33785 */ {(16<<2)|2,{61,34,0}}, +/* 33786 */ {(16<<2)|2,{61,40,0}}, +/* 33787 */ {(16<<2)|2,{61,41,0}}, +/* 33788 */ {(16<<2)|2,{61,63,0}}, +/* 33789 */ {(6<<2)|1,{61,0,0}}, +/* 33790 */ {(6<<2)|1,{61,0,0}}, +/* 33791 */ {(6<<2)|1,{61,0,0}}, +/* 33792 */ {(16<<2)|3,{65,48,48}}, +/* 33793 */ {(16<<2)|3,{65,48,49}}, +/* 33794 */ {(16<<2)|3,{65,48,50}}, +/* 33795 */ {(16<<2)|3,{65,48,97}}, +/* 33796 */ {(16<<2)|3,{65,48,99}}, +/* 33797 */ {(16<<2)|3,{65,48,101}}, +/* 33798 */ {(16<<2)|3,{65,48,105}}, +/* 33799 */ {(16<<2)|3,{65,48,111}}, +/* 33800 */ {(16<<2)|3,{65,48,115}}, +/* 33801 */ {(16<<2)|3,{65,48,116}}, +/* 33802 */ {(11<<2)|2,{65,48,0}}, +/* 33803 */ {(11<<2)|2,{65,48,0}}, +/* 33804 */ {(11<<2)|2,{65,48,0}}, +/* 33805 */ {(11<<2)|2,{65,48,0}}, +/* 33806 */ {(11<<2)|2,{65,48,0}}, +/* 33807 */ {(11<<2)|2,{65,48,0}}, +/* 33808 */ {(11<<2)|2,{65,48,0}}, +/* 33809 */ {(11<<2)|2,{65,48,0}}, +/* 33810 */ {(11<<2)|2,{65,48,0}}, +/* 33811 */ {(11<<2)|2,{65,48,0}}, +/* 33812 */ {(11<<2)|2,{65,48,0}}, +/* 33813 */ {(11<<2)|2,{65,48,0}}, +/* 33814 */ {(11<<2)|2,{65,48,0}}, +/* 33815 */ {(11<<2)|2,{65,48,0}}, +/* 33816 */ {(11<<2)|2,{65,48,0}}, +/* 33817 */ {(11<<2)|2,{65,48,0}}, +/* 33818 */ {(11<<2)|2,{65,48,0}}, +/* 33819 */ {(11<<2)|2,{65,48,0}}, +/* 33820 */ {(11<<2)|2,{65,48,0}}, +/* 33821 */ {(11<<2)|2,{65,48,0}}, +/* 33822 */ {(11<<2)|2,{65,48,0}}, +/* 33823 */ {(11<<2)|2,{65,48,0}}, +/* 33824 */ {(16<<2)|3,{65,49,48}}, +/* 33825 */ {(16<<2)|3,{65,49,49}}, +/* 33826 */ {(16<<2)|3,{65,49,50}}, +/* 33827 */ {(16<<2)|3,{65,49,97}}, +/* 33828 */ {(16<<2)|3,{65,49,99}}, +/* 33829 */ {(16<<2)|3,{65,49,101}}, +/* 33830 */ {(16<<2)|3,{65,49,105}}, +/* 33831 */ {(16<<2)|3,{65,49,111}}, +/* 33832 */ {(16<<2)|3,{65,49,115}}, +/* 33833 */ {(16<<2)|3,{65,49,116}}, +/* 33834 */ {(11<<2)|2,{65,49,0}}, +/* 33835 */ {(11<<2)|2,{65,49,0}}, +/* 33836 */ {(11<<2)|2,{65,49,0}}, +/* 33837 */ {(11<<2)|2,{65,49,0}}, +/* 33838 */ {(11<<2)|2,{65,49,0}}, +/* 33839 */ {(11<<2)|2,{65,49,0}}, +/* 33840 */ {(11<<2)|2,{65,49,0}}, +/* 33841 */ {(11<<2)|2,{65,49,0}}, +/* 33842 */ {(11<<2)|2,{65,49,0}}, +/* 33843 */ {(11<<2)|2,{65,49,0}}, +/* 33844 */ {(11<<2)|2,{65,49,0}}, +/* 33845 */ {(11<<2)|2,{65,49,0}}, +/* 33846 */ {(11<<2)|2,{65,49,0}}, +/* 33847 */ {(11<<2)|2,{65,49,0}}, +/* 33848 */ {(11<<2)|2,{65,49,0}}, +/* 33849 */ {(11<<2)|2,{65,49,0}}, +/* 33850 */ {(11<<2)|2,{65,49,0}}, +/* 33851 */ {(11<<2)|2,{65,49,0}}, +/* 33852 */ {(11<<2)|2,{65,49,0}}, +/* 33853 */ {(11<<2)|2,{65,49,0}}, +/* 33854 */ {(11<<2)|2,{65,49,0}}, +/* 33855 */ {(11<<2)|2,{65,49,0}}, +/* 33856 */ {(16<<2)|3,{65,50,48}}, +/* 33857 */ {(16<<2)|3,{65,50,49}}, +/* 33858 */ {(16<<2)|3,{65,50,50}}, +/* 33859 */ {(16<<2)|3,{65,50,97}}, +/* 33860 */ {(16<<2)|3,{65,50,99}}, +/* 33861 */ {(16<<2)|3,{65,50,101}}, +/* 33862 */ {(16<<2)|3,{65,50,105}}, +/* 33863 */ {(16<<2)|3,{65,50,111}}, +/* 33864 */ {(16<<2)|3,{65,50,115}}, +/* 33865 */ {(16<<2)|3,{65,50,116}}, +/* 33866 */ {(11<<2)|2,{65,50,0}}, +/* 33867 */ {(11<<2)|2,{65,50,0}}, +/* 33868 */ {(11<<2)|2,{65,50,0}}, +/* 33869 */ {(11<<2)|2,{65,50,0}}, +/* 33870 */ {(11<<2)|2,{65,50,0}}, +/* 33871 */ {(11<<2)|2,{65,50,0}}, +/* 33872 */ {(11<<2)|2,{65,50,0}}, +/* 33873 */ {(11<<2)|2,{65,50,0}}, +/* 33874 */ {(11<<2)|2,{65,50,0}}, +/* 33875 */ {(11<<2)|2,{65,50,0}}, +/* 33876 */ {(11<<2)|2,{65,50,0}}, +/* 33877 */ {(11<<2)|2,{65,50,0}}, +/* 33878 */ {(11<<2)|2,{65,50,0}}, +/* 33879 */ {(11<<2)|2,{65,50,0}}, +/* 33880 */ {(11<<2)|2,{65,50,0}}, +/* 33881 */ {(11<<2)|2,{65,50,0}}, +/* 33882 */ {(11<<2)|2,{65,50,0}}, +/* 33883 */ {(11<<2)|2,{65,50,0}}, +/* 33884 */ {(11<<2)|2,{65,50,0}}, +/* 33885 */ {(11<<2)|2,{65,50,0}}, +/* 33886 */ {(11<<2)|2,{65,50,0}}, +/* 33887 */ {(11<<2)|2,{65,50,0}}, +/* 33888 */ {(16<<2)|3,{65,97,48}}, +/* 33889 */ {(16<<2)|3,{65,97,49}}, +/* 33890 */ {(16<<2)|3,{65,97,50}}, +/* 33891 */ {(16<<2)|3,{65,97,97}}, +/* 33892 */ {(16<<2)|3,{65,97,99}}, +/* 33893 */ {(16<<2)|3,{65,97,101}}, +/* 33894 */ {(16<<2)|3,{65,97,105}}, +/* 33895 */ {(16<<2)|3,{65,97,111}}, +/* 33896 */ {(16<<2)|3,{65,97,115}}, +/* 33897 */ {(16<<2)|3,{65,97,116}}, +/* 33898 */ {(11<<2)|2,{65,97,0}}, +/* 33899 */ {(11<<2)|2,{65,97,0}}, +/* 33900 */ {(11<<2)|2,{65,97,0}}, +/* 33901 */ {(11<<2)|2,{65,97,0}}, +/* 33902 */ {(11<<2)|2,{65,97,0}}, +/* 33903 */ {(11<<2)|2,{65,97,0}}, +/* 33904 */ {(11<<2)|2,{65,97,0}}, +/* 33905 */ {(11<<2)|2,{65,97,0}}, +/* 33906 */ {(11<<2)|2,{65,97,0}}, +/* 33907 */ {(11<<2)|2,{65,97,0}}, +/* 33908 */ {(11<<2)|2,{65,97,0}}, +/* 33909 */ {(11<<2)|2,{65,97,0}}, +/* 33910 */ {(11<<2)|2,{65,97,0}}, +/* 33911 */ {(11<<2)|2,{65,97,0}}, +/* 33912 */ {(11<<2)|2,{65,97,0}}, +/* 33913 */ {(11<<2)|2,{65,97,0}}, +/* 33914 */ {(11<<2)|2,{65,97,0}}, +/* 33915 */ {(11<<2)|2,{65,97,0}}, +/* 33916 */ {(11<<2)|2,{65,97,0}}, +/* 33917 */ {(11<<2)|2,{65,97,0}}, +/* 33918 */ {(11<<2)|2,{65,97,0}}, +/* 33919 */ {(11<<2)|2,{65,97,0}}, +/* 33920 */ {(16<<2)|3,{65,99,48}}, +/* 33921 */ {(16<<2)|3,{65,99,49}}, +/* 33922 */ {(16<<2)|3,{65,99,50}}, +/* 33923 */ {(16<<2)|3,{65,99,97}}, +/* 33924 */ {(16<<2)|3,{65,99,99}}, +/* 33925 */ {(16<<2)|3,{65,99,101}}, +/* 33926 */ {(16<<2)|3,{65,99,105}}, +/* 33927 */ {(16<<2)|3,{65,99,111}}, +/* 33928 */ {(16<<2)|3,{65,99,115}}, +/* 33929 */ {(16<<2)|3,{65,99,116}}, +/* 33930 */ {(11<<2)|2,{65,99,0}}, +/* 33931 */ {(11<<2)|2,{65,99,0}}, +/* 33932 */ {(11<<2)|2,{65,99,0}}, +/* 33933 */ {(11<<2)|2,{65,99,0}}, +/* 33934 */ {(11<<2)|2,{65,99,0}}, +/* 33935 */ {(11<<2)|2,{65,99,0}}, +/* 33936 */ {(11<<2)|2,{65,99,0}}, +/* 33937 */ {(11<<2)|2,{65,99,0}}, +/* 33938 */ {(11<<2)|2,{65,99,0}}, +/* 33939 */ {(11<<2)|2,{65,99,0}}, +/* 33940 */ {(11<<2)|2,{65,99,0}}, +/* 33941 */ {(11<<2)|2,{65,99,0}}, +/* 33942 */ {(11<<2)|2,{65,99,0}}, +/* 33943 */ {(11<<2)|2,{65,99,0}}, +/* 33944 */ {(11<<2)|2,{65,99,0}}, +/* 33945 */ {(11<<2)|2,{65,99,0}}, +/* 33946 */ {(11<<2)|2,{65,99,0}}, +/* 33947 */ {(11<<2)|2,{65,99,0}}, +/* 33948 */ {(11<<2)|2,{65,99,0}}, +/* 33949 */ {(11<<2)|2,{65,99,0}}, +/* 33950 */ {(11<<2)|2,{65,99,0}}, +/* 33951 */ {(11<<2)|2,{65,99,0}}, +/* 33952 */ {(16<<2)|3,{65,101,48}}, +/* 33953 */ {(16<<2)|3,{65,101,49}}, +/* 33954 */ {(16<<2)|3,{65,101,50}}, +/* 33955 */ {(16<<2)|3,{65,101,97}}, +/* 33956 */ {(16<<2)|3,{65,101,99}}, +/* 33957 */ {(16<<2)|3,{65,101,101}}, +/* 33958 */ {(16<<2)|3,{65,101,105}}, +/* 33959 */ {(16<<2)|3,{65,101,111}}, +/* 33960 */ {(16<<2)|3,{65,101,115}}, +/* 33961 */ {(16<<2)|3,{65,101,116}}, +/* 33962 */ {(11<<2)|2,{65,101,0}}, +/* 33963 */ {(11<<2)|2,{65,101,0}}, +/* 33964 */ {(11<<2)|2,{65,101,0}}, +/* 33965 */ {(11<<2)|2,{65,101,0}}, +/* 33966 */ {(11<<2)|2,{65,101,0}}, +/* 33967 */ {(11<<2)|2,{65,101,0}}, +/* 33968 */ {(11<<2)|2,{65,101,0}}, +/* 33969 */ {(11<<2)|2,{65,101,0}}, +/* 33970 */ {(11<<2)|2,{65,101,0}}, +/* 33971 */ {(11<<2)|2,{65,101,0}}, +/* 33972 */ {(11<<2)|2,{65,101,0}}, +/* 33973 */ {(11<<2)|2,{65,101,0}}, +/* 33974 */ {(11<<2)|2,{65,101,0}}, +/* 33975 */ {(11<<2)|2,{65,101,0}}, +/* 33976 */ {(11<<2)|2,{65,101,0}}, +/* 33977 */ {(11<<2)|2,{65,101,0}}, +/* 33978 */ {(11<<2)|2,{65,101,0}}, +/* 33979 */ {(11<<2)|2,{65,101,0}}, +/* 33980 */ {(11<<2)|2,{65,101,0}}, +/* 33981 */ {(11<<2)|2,{65,101,0}}, +/* 33982 */ {(11<<2)|2,{65,101,0}}, +/* 33983 */ {(11<<2)|2,{65,101,0}}, +/* 33984 */ {(16<<2)|3,{65,105,48}}, +/* 33985 */ {(16<<2)|3,{65,105,49}}, +/* 33986 */ {(16<<2)|3,{65,105,50}}, +/* 33987 */ {(16<<2)|3,{65,105,97}}, +/* 33988 */ {(16<<2)|3,{65,105,99}}, +/* 33989 */ {(16<<2)|3,{65,105,101}}, +/* 33990 */ {(16<<2)|3,{65,105,105}}, +/* 33991 */ {(16<<2)|3,{65,105,111}}, +/* 33992 */ {(16<<2)|3,{65,105,115}}, +/* 33993 */ {(16<<2)|3,{65,105,116}}, +/* 33994 */ {(11<<2)|2,{65,105,0}}, +/* 33995 */ {(11<<2)|2,{65,105,0}}, +/* 33996 */ {(11<<2)|2,{65,105,0}}, +/* 33997 */ {(11<<2)|2,{65,105,0}}, +/* 33998 */ {(11<<2)|2,{65,105,0}}, +/* 33999 */ {(11<<2)|2,{65,105,0}}, +/* 34000 */ {(11<<2)|2,{65,105,0}}, +/* 34001 */ {(11<<2)|2,{65,105,0}}, +/* 34002 */ {(11<<2)|2,{65,105,0}}, +/* 34003 */ {(11<<2)|2,{65,105,0}}, +/* 34004 */ {(11<<2)|2,{65,105,0}}, +/* 34005 */ {(11<<2)|2,{65,105,0}}, +/* 34006 */ {(11<<2)|2,{65,105,0}}, +/* 34007 */ {(11<<2)|2,{65,105,0}}, +/* 34008 */ {(11<<2)|2,{65,105,0}}, +/* 34009 */ {(11<<2)|2,{65,105,0}}, +/* 34010 */ {(11<<2)|2,{65,105,0}}, +/* 34011 */ {(11<<2)|2,{65,105,0}}, +/* 34012 */ {(11<<2)|2,{65,105,0}}, +/* 34013 */ {(11<<2)|2,{65,105,0}}, +/* 34014 */ {(11<<2)|2,{65,105,0}}, +/* 34015 */ {(11<<2)|2,{65,105,0}}, +/* 34016 */ {(16<<2)|3,{65,111,48}}, +/* 34017 */ {(16<<2)|3,{65,111,49}}, +/* 34018 */ {(16<<2)|3,{65,111,50}}, +/* 34019 */ {(16<<2)|3,{65,111,97}}, +/* 34020 */ {(16<<2)|3,{65,111,99}}, +/* 34021 */ {(16<<2)|3,{65,111,101}}, +/* 34022 */ {(16<<2)|3,{65,111,105}}, +/* 34023 */ {(16<<2)|3,{65,111,111}}, +/* 34024 */ {(16<<2)|3,{65,111,115}}, +/* 34025 */ {(16<<2)|3,{65,111,116}}, +/* 34026 */ {(11<<2)|2,{65,111,0}}, +/* 34027 */ {(11<<2)|2,{65,111,0}}, +/* 34028 */ {(11<<2)|2,{65,111,0}}, +/* 34029 */ {(11<<2)|2,{65,111,0}}, +/* 34030 */ {(11<<2)|2,{65,111,0}}, +/* 34031 */ {(11<<2)|2,{65,111,0}}, +/* 34032 */ {(11<<2)|2,{65,111,0}}, +/* 34033 */ {(11<<2)|2,{65,111,0}}, +/* 34034 */ {(11<<2)|2,{65,111,0}}, +/* 34035 */ {(11<<2)|2,{65,111,0}}, +/* 34036 */ {(11<<2)|2,{65,111,0}}, +/* 34037 */ {(11<<2)|2,{65,111,0}}, +/* 34038 */ {(11<<2)|2,{65,111,0}}, +/* 34039 */ {(11<<2)|2,{65,111,0}}, +/* 34040 */ {(11<<2)|2,{65,111,0}}, +/* 34041 */ {(11<<2)|2,{65,111,0}}, +/* 34042 */ {(11<<2)|2,{65,111,0}}, +/* 34043 */ {(11<<2)|2,{65,111,0}}, +/* 34044 */ {(11<<2)|2,{65,111,0}}, +/* 34045 */ {(11<<2)|2,{65,111,0}}, +/* 34046 */ {(11<<2)|2,{65,111,0}}, +/* 34047 */ {(11<<2)|2,{65,111,0}}, +/* 34048 */ {(16<<2)|3,{65,115,48}}, +/* 34049 */ {(16<<2)|3,{65,115,49}}, +/* 34050 */ {(16<<2)|3,{65,115,50}}, +/* 34051 */ {(16<<2)|3,{65,115,97}}, +/* 34052 */ {(16<<2)|3,{65,115,99}}, +/* 34053 */ {(16<<2)|3,{65,115,101}}, +/* 34054 */ {(16<<2)|3,{65,115,105}}, +/* 34055 */ {(16<<2)|3,{65,115,111}}, +/* 34056 */ {(16<<2)|3,{65,115,115}}, +/* 34057 */ {(16<<2)|3,{65,115,116}}, +/* 34058 */ {(11<<2)|2,{65,115,0}}, +/* 34059 */ {(11<<2)|2,{65,115,0}}, +/* 34060 */ {(11<<2)|2,{65,115,0}}, +/* 34061 */ {(11<<2)|2,{65,115,0}}, +/* 34062 */ {(11<<2)|2,{65,115,0}}, +/* 34063 */ {(11<<2)|2,{65,115,0}}, +/* 34064 */ {(11<<2)|2,{65,115,0}}, +/* 34065 */ {(11<<2)|2,{65,115,0}}, +/* 34066 */ {(11<<2)|2,{65,115,0}}, +/* 34067 */ {(11<<2)|2,{65,115,0}}, +/* 34068 */ {(11<<2)|2,{65,115,0}}, +/* 34069 */ {(11<<2)|2,{65,115,0}}, +/* 34070 */ {(11<<2)|2,{65,115,0}}, +/* 34071 */ {(11<<2)|2,{65,115,0}}, +/* 34072 */ {(11<<2)|2,{65,115,0}}, +/* 34073 */ {(11<<2)|2,{65,115,0}}, +/* 34074 */ {(11<<2)|2,{65,115,0}}, +/* 34075 */ {(11<<2)|2,{65,115,0}}, +/* 34076 */ {(11<<2)|2,{65,115,0}}, +/* 34077 */ {(11<<2)|2,{65,115,0}}, +/* 34078 */ {(11<<2)|2,{65,115,0}}, +/* 34079 */ {(11<<2)|2,{65,115,0}}, +/* 34080 */ {(16<<2)|3,{65,116,48}}, +/* 34081 */ {(16<<2)|3,{65,116,49}}, +/* 34082 */ {(16<<2)|3,{65,116,50}}, +/* 34083 */ {(16<<2)|3,{65,116,97}}, +/* 34084 */ {(16<<2)|3,{65,116,99}}, +/* 34085 */ {(16<<2)|3,{65,116,101}}, +/* 34086 */ {(16<<2)|3,{65,116,105}}, +/* 34087 */ {(16<<2)|3,{65,116,111}}, +/* 34088 */ {(16<<2)|3,{65,116,115}}, +/* 34089 */ {(16<<2)|3,{65,116,116}}, +/* 34090 */ {(11<<2)|2,{65,116,0}}, +/* 34091 */ {(11<<2)|2,{65,116,0}}, +/* 34092 */ {(11<<2)|2,{65,116,0}}, +/* 34093 */ {(11<<2)|2,{65,116,0}}, +/* 34094 */ {(11<<2)|2,{65,116,0}}, +/* 34095 */ {(11<<2)|2,{65,116,0}}, +/* 34096 */ {(11<<2)|2,{65,116,0}}, +/* 34097 */ {(11<<2)|2,{65,116,0}}, +/* 34098 */ {(11<<2)|2,{65,116,0}}, +/* 34099 */ {(11<<2)|2,{65,116,0}}, +/* 34100 */ {(11<<2)|2,{65,116,0}}, +/* 34101 */ {(11<<2)|2,{65,116,0}}, +/* 34102 */ {(11<<2)|2,{65,116,0}}, +/* 34103 */ {(11<<2)|2,{65,116,0}}, +/* 34104 */ {(11<<2)|2,{65,116,0}}, +/* 34105 */ {(11<<2)|2,{65,116,0}}, +/* 34106 */ {(11<<2)|2,{65,116,0}}, +/* 34107 */ {(11<<2)|2,{65,116,0}}, +/* 34108 */ {(11<<2)|2,{65,116,0}}, +/* 34109 */ {(11<<2)|2,{65,116,0}}, +/* 34110 */ {(11<<2)|2,{65,116,0}}, +/* 34111 */ {(11<<2)|2,{65,116,0}}, +/* 34112 */ {(12<<2)|2,{65,32,0}}, +/* 34113 */ {(12<<2)|2,{65,32,0}}, +/* 34114 */ {(12<<2)|2,{65,32,0}}, +/* 34115 */ {(12<<2)|2,{65,32,0}}, +/* 34116 */ {(12<<2)|2,{65,32,0}}, +/* 34117 */ {(12<<2)|2,{65,32,0}}, +/* 34118 */ {(12<<2)|2,{65,32,0}}, +/* 34119 */ {(12<<2)|2,{65,32,0}}, +/* 34120 */ {(12<<2)|2,{65,32,0}}, +/* 34121 */ {(12<<2)|2,{65,32,0}}, +/* 34122 */ {(12<<2)|2,{65,32,0}}, +/* 34123 */ {(12<<2)|2,{65,32,0}}, +/* 34124 */ {(12<<2)|2,{65,32,0}}, +/* 34125 */ {(12<<2)|2,{65,32,0}}, +/* 34126 */ {(12<<2)|2,{65,32,0}}, +/* 34127 */ {(12<<2)|2,{65,32,0}}, +/* 34128 */ {(12<<2)|2,{65,37,0}}, +/* 34129 */ {(12<<2)|2,{65,37,0}}, +/* 34130 */ {(12<<2)|2,{65,37,0}}, +/* 34131 */ {(12<<2)|2,{65,37,0}}, +/* 34132 */ {(12<<2)|2,{65,37,0}}, +/* 34133 */ {(12<<2)|2,{65,37,0}}, +/* 34134 */ {(12<<2)|2,{65,37,0}}, +/* 34135 */ {(12<<2)|2,{65,37,0}}, +/* 34136 */ {(12<<2)|2,{65,37,0}}, +/* 34137 */ {(12<<2)|2,{65,37,0}}, +/* 34138 */ {(12<<2)|2,{65,37,0}}, +/* 34139 */ {(12<<2)|2,{65,37,0}}, +/* 34140 */ {(12<<2)|2,{65,37,0}}, +/* 34141 */ {(12<<2)|2,{65,37,0}}, +/* 34142 */ {(12<<2)|2,{65,37,0}}, +/* 34143 */ {(12<<2)|2,{65,37,0}}, +/* 34144 */ {(12<<2)|2,{65,45,0}}, +/* 34145 */ {(12<<2)|2,{65,45,0}}, +/* 34146 */ {(12<<2)|2,{65,45,0}}, +/* 34147 */ {(12<<2)|2,{65,45,0}}, +/* 34148 */ {(12<<2)|2,{65,45,0}}, +/* 34149 */ {(12<<2)|2,{65,45,0}}, +/* 34150 */ {(12<<2)|2,{65,45,0}}, +/* 34151 */ {(12<<2)|2,{65,45,0}}, +/* 34152 */ {(12<<2)|2,{65,45,0}}, +/* 34153 */ {(12<<2)|2,{65,45,0}}, +/* 34154 */ {(12<<2)|2,{65,45,0}}, +/* 34155 */ {(12<<2)|2,{65,45,0}}, +/* 34156 */ {(12<<2)|2,{65,45,0}}, +/* 34157 */ {(12<<2)|2,{65,45,0}}, +/* 34158 */ {(12<<2)|2,{65,45,0}}, +/* 34159 */ {(12<<2)|2,{65,45,0}}, +/* 34160 */ {(12<<2)|2,{65,46,0}}, +/* 34161 */ {(12<<2)|2,{65,46,0}}, +/* 34162 */ {(12<<2)|2,{65,46,0}}, +/* 34163 */ {(12<<2)|2,{65,46,0}}, +/* 34164 */ {(12<<2)|2,{65,46,0}}, +/* 34165 */ {(12<<2)|2,{65,46,0}}, +/* 34166 */ {(12<<2)|2,{65,46,0}}, +/* 34167 */ {(12<<2)|2,{65,46,0}}, +/* 34168 */ {(12<<2)|2,{65,46,0}}, +/* 34169 */ {(12<<2)|2,{65,46,0}}, +/* 34170 */ {(12<<2)|2,{65,46,0}}, +/* 34171 */ {(12<<2)|2,{65,46,0}}, +/* 34172 */ {(12<<2)|2,{65,46,0}}, +/* 34173 */ {(12<<2)|2,{65,46,0}}, +/* 34174 */ {(12<<2)|2,{65,46,0}}, +/* 34175 */ {(12<<2)|2,{65,46,0}}, +/* 34176 */ {(12<<2)|2,{65,47,0}}, +/* 34177 */ {(12<<2)|2,{65,47,0}}, +/* 34178 */ {(12<<2)|2,{65,47,0}}, +/* 34179 */ {(12<<2)|2,{65,47,0}}, +/* 34180 */ {(12<<2)|2,{65,47,0}}, +/* 34181 */ {(12<<2)|2,{65,47,0}}, +/* 34182 */ {(12<<2)|2,{65,47,0}}, +/* 34183 */ {(12<<2)|2,{65,47,0}}, +/* 34184 */ {(12<<2)|2,{65,47,0}}, +/* 34185 */ {(12<<2)|2,{65,47,0}}, +/* 34186 */ {(12<<2)|2,{65,47,0}}, +/* 34187 */ {(12<<2)|2,{65,47,0}}, +/* 34188 */ {(12<<2)|2,{65,47,0}}, +/* 34189 */ {(12<<2)|2,{65,47,0}}, +/* 34190 */ {(12<<2)|2,{65,47,0}}, +/* 34191 */ {(12<<2)|2,{65,47,0}}, +/* 34192 */ {(12<<2)|2,{65,51,0}}, +/* 34193 */ {(12<<2)|2,{65,51,0}}, +/* 34194 */ {(12<<2)|2,{65,51,0}}, +/* 34195 */ {(12<<2)|2,{65,51,0}}, +/* 34196 */ {(12<<2)|2,{65,51,0}}, +/* 34197 */ {(12<<2)|2,{65,51,0}}, +/* 34198 */ {(12<<2)|2,{65,51,0}}, +/* 34199 */ {(12<<2)|2,{65,51,0}}, +/* 34200 */ {(12<<2)|2,{65,51,0}}, +/* 34201 */ {(12<<2)|2,{65,51,0}}, +/* 34202 */ {(12<<2)|2,{65,51,0}}, +/* 34203 */ {(12<<2)|2,{65,51,0}}, +/* 34204 */ {(12<<2)|2,{65,51,0}}, +/* 34205 */ {(12<<2)|2,{65,51,0}}, +/* 34206 */ {(12<<2)|2,{65,51,0}}, +/* 34207 */ {(12<<2)|2,{65,51,0}}, +/* 34208 */ {(12<<2)|2,{65,52,0}}, +/* 34209 */ {(12<<2)|2,{65,52,0}}, +/* 34210 */ {(12<<2)|2,{65,52,0}}, +/* 34211 */ {(12<<2)|2,{65,52,0}}, +/* 34212 */ {(12<<2)|2,{65,52,0}}, +/* 34213 */ {(12<<2)|2,{65,52,0}}, +/* 34214 */ {(12<<2)|2,{65,52,0}}, +/* 34215 */ {(12<<2)|2,{65,52,0}}, +/* 34216 */ {(12<<2)|2,{65,52,0}}, +/* 34217 */ {(12<<2)|2,{65,52,0}}, +/* 34218 */ {(12<<2)|2,{65,52,0}}, +/* 34219 */ {(12<<2)|2,{65,52,0}}, +/* 34220 */ {(12<<2)|2,{65,52,0}}, +/* 34221 */ {(12<<2)|2,{65,52,0}}, +/* 34222 */ {(12<<2)|2,{65,52,0}}, +/* 34223 */ {(12<<2)|2,{65,52,0}}, +/* 34224 */ {(12<<2)|2,{65,53,0}}, +/* 34225 */ {(12<<2)|2,{65,53,0}}, +/* 34226 */ {(12<<2)|2,{65,53,0}}, +/* 34227 */ {(12<<2)|2,{65,53,0}}, +/* 34228 */ {(12<<2)|2,{65,53,0}}, +/* 34229 */ {(12<<2)|2,{65,53,0}}, +/* 34230 */ {(12<<2)|2,{65,53,0}}, +/* 34231 */ {(12<<2)|2,{65,53,0}}, +/* 34232 */ {(12<<2)|2,{65,53,0}}, +/* 34233 */ {(12<<2)|2,{65,53,0}}, +/* 34234 */ {(12<<2)|2,{65,53,0}}, +/* 34235 */ {(12<<2)|2,{65,53,0}}, +/* 34236 */ {(12<<2)|2,{65,53,0}}, +/* 34237 */ {(12<<2)|2,{65,53,0}}, +/* 34238 */ {(12<<2)|2,{65,53,0}}, +/* 34239 */ {(12<<2)|2,{65,53,0}}, +/* 34240 */ {(12<<2)|2,{65,54,0}}, +/* 34241 */ {(12<<2)|2,{65,54,0}}, +/* 34242 */ {(12<<2)|2,{65,54,0}}, +/* 34243 */ {(12<<2)|2,{65,54,0}}, +/* 34244 */ {(12<<2)|2,{65,54,0}}, +/* 34245 */ {(12<<2)|2,{65,54,0}}, +/* 34246 */ {(12<<2)|2,{65,54,0}}, +/* 34247 */ {(12<<2)|2,{65,54,0}}, +/* 34248 */ {(12<<2)|2,{65,54,0}}, +/* 34249 */ {(12<<2)|2,{65,54,0}}, +/* 34250 */ {(12<<2)|2,{65,54,0}}, +/* 34251 */ {(12<<2)|2,{65,54,0}}, +/* 34252 */ {(12<<2)|2,{65,54,0}}, +/* 34253 */ {(12<<2)|2,{65,54,0}}, +/* 34254 */ {(12<<2)|2,{65,54,0}}, +/* 34255 */ {(12<<2)|2,{65,54,0}}, +/* 34256 */ {(12<<2)|2,{65,55,0}}, +/* 34257 */ {(12<<2)|2,{65,55,0}}, +/* 34258 */ {(12<<2)|2,{65,55,0}}, +/* 34259 */ {(12<<2)|2,{65,55,0}}, +/* 34260 */ {(12<<2)|2,{65,55,0}}, +/* 34261 */ {(12<<2)|2,{65,55,0}}, +/* 34262 */ {(12<<2)|2,{65,55,0}}, +/* 34263 */ {(12<<2)|2,{65,55,0}}, +/* 34264 */ {(12<<2)|2,{65,55,0}}, +/* 34265 */ {(12<<2)|2,{65,55,0}}, +/* 34266 */ {(12<<2)|2,{65,55,0}}, +/* 34267 */ {(12<<2)|2,{65,55,0}}, +/* 34268 */ {(12<<2)|2,{65,55,0}}, +/* 34269 */ {(12<<2)|2,{65,55,0}}, +/* 34270 */ {(12<<2)|2,{65,55,0}}, +/* 34271 */ {(12<<2)|2,{65,55,0}}, +/* 34272 */ {(12<<2)|2,{65,56,0}}, +/* 34273 */ {(12<<2)|2,{65,56,0}}, +/* 34274 */ {(12<<2)|2,{65,56,0}}, +/* 34275 */ {(12<<2)|2,{65,56,0}}, +/* 34276 */ {(12<<2)|2,{65,56,0}}, +/* 34277 */ {(12<<2)|2,{65,56,0}}, +/* 34278 */ {(12<<2)|2,{65,56,0}}, +/* 34279 */ {(12<<2)|2,{65,56,0}}, +/* 34280 */ {(12<<2)|2,{65,56,0}}, +/* 34281 */ {(12<<2)|2,{65,56,0}}, +/* 34282 */ {(12<<2)|2,{65,56,0}}, +/* 34283 */ {(12<<2)|2,{65,56,0}}, +/* 34284 */ {(12<<2)|2,{65,56,0}}, +/* 34285 */ {(12<<2)|2,{65,56,0}}, +/* 34286 */ {(12<<2)|2,{65,56,0}}, +/* 34287 */ {(12<<2)|2,{65,56,0}}, +/* 34288 */ {(12<<2)|2,{65,57,0}}, +/* 34289 */ {(12<<2)|2,{65,57,0}}, +/* 34290 */ {(12<<2)|2,{65,57,0}}, +/* 34291 */ {(12<<2)|2,{65,57,0}}, +/* 34292 */ {(12<<2)|2,{65,57,0}}, +/* 34293 */ {(12<<2)|2,{65,57,0}}, +/* 34294 */ {(12<<2)|2,{65,57,0}}, +/* 34295 */ {(12<<2)|2,{65,57,0}}, +/* 34296 */ {(12<<2)|2,{65,57,0}}, +/* 34297 */ {(12<<2)|2,{65,57,0}}, +/* 34298 */ {(12<<2)|2,{65,57,0}}, +/* 34299 */ {(12<<2)|2,{65,57,0}}, +/* 34300 */ {(12<<2)|2,{65,57,0}}, +/* 34301 */ {(12<<2)|2,{65,57,0}}, +/* 34302 */ {(12<<2)|2,{65,57,0}}, +/* 34303 */ {(12<<2)|2,{65,57,0}}, +/* 34304 */ {(12<<2)|2,{65,61,0}}, +/* 34305 */ {(12<<2)|2,{65,61,0}}, +/* 34306 */ {(12<<2)|2,{65,61,0}}, +/* 34307 */ {(12<<2)|2,{65,61,0}}, +/* 34308 */ {(12<<2)|2,{65,61,0}}, +/* 34309 */ {(12<<2)|2,{65,61,0}}, +/* 34310 */ {(12<<2)|2,{65,61,0}}, +/* 34311 */ {(12<<2)|2,{65,61,0}}, +/* 34312 */ {(12<<2)|2,{65,61,0}}, +/* 34313 */ {(12<<2)|2,{65,61,0}}, +/* 34314 */ {(12<<2)|2,{65,61,0}}, +/* 34315 */ {(12<<2)|2,{65,61,0}}, +/* 34316 */ {(12<<2)|2,{65,61,0}}, +/* 34317 */ {(12<<2)|2,{65,61,0}}, +/* 34318 */ {(12<<2)|2,{65,61,0}}, +/* 34319 */ {(12<<2)|2,{65,61,0}}, +/* 34320 */ {(12<<2)|2,{65,65,0}}, +/* 34321 */ {(12<<2)|2,{65,65,0}}, +/* 34322 */ {(12<<2)|2,{65,65,0}}, +/* 34323 */ {(12<<2)|2,{65,65,0}}, +/* 34324 */ {(12<<2)|2,{65,65,0}}, +/* 34325 */ {(12<<2)|2,{65,65,0}}, +/* 34326 */ {(12<<2)|2,{65,65,0}}, +/* 34327 */ {(12<<2)|2,{65,65,0}}, +/* 34328 */ {(12<<2)|2,{65,65,0}}, +/* 34329 */ {(12<<2)|2,{65,65,0}}, +/* 34330 */ {(12<<2)|2,{65,65,0}}, +/* 34331 */ {(12<<2)|2,{65,65,0}}, +/* 34332 */ {(12<<2)|2,{65,65,0}}, +/* 34333 */ {(12<<2)|2,{65,65,0}}, +/* 34334 */ {(12<<2)|2,{65,65,0}}, +/* 34335 */ {(12<<2)|2,{65,65,0}}, +/* 34336 */ {(12<<2)|2,{65,95,0}}, +/* 34337 */ {(12<<2)|2,{65,95,0}}, +/* 34338 */ {(12<<2)|2,{65,95,0}}, +/* 34339 */ {(12<<2)|2,{65,95,0}}, +/* 34340 */ {(12<<2)|2,{65,95,0}}, +/* 34341 */ {(12<<2)|2,{65,95,0}}, +/* 34342 */ {(12<<2)|2,{65,95,0}}, +/* 34343 */ {(12<<2)|2,{65,95,0}}, +/* 34344 */ {(12<<2)|2,{65,95,0}}, +/* 34345 */ {(12<<2)|2,{65,95,0}}, +/* 34346 */ {(12<<2)|2,{65,95,0}}, +/* 34347 */ {(12<<2)|2,{65,95,0}}, +/* 34348 */ {(12<<2)|2,{65,95,0}}, +/* 34349 */ {(12<<2)|2,{65,95,0}}, +/* 34350 */ {(12<<2)|2,{65,95,0}}, +/* 34351 */ {(12<<2)|2,{65,95,0}}, +/* 34352 */ {(12<<2)|2,{65,98,0}}, +/* 34353 */ {(12<<2)|2,{65,98,0}}, +/* 34354 */ {(12<<2)|2,{65,98,0}}, +/* 34355 */ {(12<<2)|2,{65,98,0}}, +/* 34356 */ {(12<<2)|2,{65,98,0}}, +/* 34357 */ {(12<<2)|2,{65,98,0}}, +/* 34358 */ {(12<<2)|2,{65,98,0}}, +/* 34359 */ {(12<<2)|2,{65,98,0}}, +/* 34360 */ {(12<<2)|2,{65,98,0}}, +/* 34361 */ {(12<<2)|2,{65,98,0}}, +/* 34362 */ {(12<<2)|2,{65,98,0}}, +/* 34363 */ {(12<<2)|2,{65,98,0}}, +/* 34364 */ {(12<<2)|2,{65,98,0}}, +/* 34365 */ {(12<<2)|2,{65,98,0}}, +/* 34366 */ {(12<<2)|2,{65,98,0}}, +/* 34367 */ {(12<<2)|2,{65,98,0}}, +/* 34368 */ {(12<<2)|2,{65,100,0}}, +/* 34369 */ {(12<<2)|2,{65,100,0}}, +/* 34370 */ {(12<<2)|2,{65,100,0}}, +/* 34371 */ {(12<<2)|2,{65,100,0}}, +/* 34372 */ {(12<<2)|2,{65,100,0}}, +/* 34373 */ {(12<<2)|2,{65,100,0}}, +/* 34374 */ {(12<<2)|2,{65,100,0}}, +/* 34375 */ {(12<<2)|2,{65,100,0}}, +/* 34376 */ {(12<<2)|2,{65,100,0}}, +/* 34377 */ {(12<<2)|2,{65,100,0}}, +/* 34378 */ {(12<<2)|2,{65,100,0}}, +/* 34379 */ {(12<<2)|2,{65,100,0}}, +/* 34380 */ {(12<<2)|2,{65,100,0}}, +/* 34381 */ {(12<<2)|2,{65,100,0}}, +/* 34382 */ {(12<<2)|2,{65,100,0}}, +/* 34383 */ {(12<<2)|2,{65,100,0}}, +/* 34384 */ {(12<<2)|2,{65,102,0}}, +/* 34385 */ {(12<<2)|2,{65,102,0}}, +/* 34386 */ {(12<<2)|2,{65,102,0}}, +/* 34387 */ {(12<<2)|2,{65,102,0}}, +/* 34388 */ {(12<<2)|2,{65,102,0}}, +/* 34389 */ {(12<<2)|2,{65,102,0}}, +/* 34390 */ {(12<<2)|2,{65,102,0}}, +/* 34391 */ {(12<<2)|2,{65,102,0}}, +/* 34392 */ {(12<<2)|2,{65,102,0}}, +/* 34393 */ {(12<<2)|2,{65,102,0}}, +/* 34394 */ {(12<<2)|2,{65,102,0}}, +/* 34395 */ {(12<<2)|2,{65,102,0}}, +/* 34396 */ {(12<<2)|2,{65,102,0}}, +/* 34397 */ {(12<<2)|2,{65,102,0}}, +/* 34398 */ {(12<<2)|2,{65,102,0}}, +/* 34399 */ {(12<<2)|2,{65,102,0}}, +/* 34400 */ {(12<<2)|2,{65,103,0}}, +/* 34401 */ {(12<<2)|2,{65,103,0}}, +/* 34402 */ {(12<<2)|2,{65,103,0}}, +/* 34403 */ {(12<<2)|2,{65,103,0}}, +/* 34404 */ {(12<<2)|2,{65,103,0}}, +/* 34405 */ {(12<<2)|2,{65,103,0}}, +/* 34406 */ {(12<<2)|2,{65,103,0}}, +/* 34407 */ {(12<<2)|2,{65,103,0}}, +/* 34408 */ {(12<<2)|2,{65,103,0}}, +/* 34409 */ {(12<<2)|2,{65,103,0}}, +/* 34410 */ {(12<<2)|2,{65,103,0}}, +/* 34411 */ {(12<<2)|2,{65,103,0}}, +/* 34412 */ {(12<<2)|2,{65,103,0}}, +/* 34413 */ {(12<<2)|2,{65,103,0}}, +/* 34414 */ {(12<<2)|2,{65,103,0}}, +/* 34415 */ {(12<<2)|2,{65,103,0}}, +/* 34416 */ {(12<<2)|2,{65,104,0}}, +/* 34417 */ {(12<<2)|2,{65,104,0}}, +/* 34418 */ {(12<<2)|2,{65,104,0}}, +/* 34419 */ {(12<<2)|2,{65,104,0}}, +/* 34420 */ {(12<<2)|2,{65,104,0}}, +/* 34421 */ {(12<<2)|2,{65,104,0}}, +/* 34422 */ {(12<<2)|2,{65,104,0}}, +/* 34423 */ {(12<<2)|2,{65,104,0}}, +/* 34424 */ {(12<<2)|2,{65,104,0}}, +/* 34425 */ {(12<<2)|2,{65,104,0}}, +/* 34426 */ {(12<<2)|2,{65,104,0}}, +/* 34427 */ {(12<<2)|2,{65,104,0}}, +/* 34428 */ {(12<<2)|2,{65,104,0}}, +/* 34429 */ {(12<<2)|2,{65,104,0}}, +/* 34430 */ {(12<<2)|2,{65,104,0}}, +/* 34431 */ {(12<<2)|2,{65,104,0}}, +/* 34432 */ {(12<<2)|2,{65,108,0}}, +/* 34433 */ {(12<<2)|2,{65,108,0}}, +/* 34434 */ {(12<<2)|2,{65,108,0}}, +/* 34435 */ {(12<<2)|2,{65,108,0}}, +/* 34436 */ {(12<<2)|2,{65,108,0}}, +/* 34437 */ {(12<<2)|2,{65,108,0}}, +/* 34438 */ {(12<<2)|2,{65,108,0}}, +/* 34439 */ {(12<<2)|2,{65,108,0}}, +/* 34440 */ {(12<<2)|2,{65,108,0}}, +/* 34441 */ {(12<<2)|2,{65,108,0}}, +/* 34442 */ {(12<<2)|2,{65,108,0}}, +/* 34443 */ {(12<<2)|2,{65,108,0}}, +/* 34444 */ {(12<<2)|2,{65,108,0}}, +/* 34445 */ {(12<<2)|2,{65,108,0}}, +/* 34446 */ {(12<<2)|2,{65,108,0}}, +/* 34447 */ {(12<<2)|2,{65,108,0}}, +/* 34448 */ {(12<<2)|2,{65,109,0}}, +/* 34449 */ {(12<<2)|2,{65,109,0}}, +/* 34450 */ {(12<<2)|2,{65,109,0}}, +/* 34451 */ {(12<<2)|2,{65,109,0}}, +/* 34452 */ {(12<<2)|2,{65,109,0}}, +/* 34453 */ {(12<<2)|2,{65,109,0}}, +/* 34454 */ {(12<<2)|2,{65,109,0}}, +/* 34455 */ {(12<<2)|2,{65,109,0}}, +/* 34456 */ {(12<<2)|2,{65,109,0}}, +/* 34457 */ {(12<<2)|2,{65,109,0}}, +/* 34458 */ {(12<<2)|2,{65,109,0}}, +/* 34459 */ {(12<<2)|2,{65,109,0}}, +/* 34460 */ {(12<<2)|2,{65,109,0}}, +/* 34461 */ {(12<<2)|2,{65,109,0}}, +/* 34462 */ {(12<<2)|2,{65,109,0}}, +/* 34463 */ {(12<<2)|2,{65,109,0}}, +/* 34464 */ {(12<<2)|2,{65,110,0}}, +/* 34465 */ {(12<<2)|2,{65,110,0}}, +/* 34466 */ {(12<<2)|2,{65,110,0}}, +/* 34467 */ {(12<<2)|2,{65,110,0}}, +/* 34468 */ {(12<<2)|2,{65,110,0}}, +/* 34469 */ {(12<<2)|2,{65,110,0}}, +/* 34470 */ {(12<<2)|2,{65,110,0}}, +/* 34471 */ {(12<<2)|2,{65,110,0}}, +/* 34472 */ {(12<<2)|2,{65,110,0}}, +/* 34473 */ {(12<<2)|2,{65,110,0}}, +/* 34474 */ {(12<<2)|2,{65,110,0}}, +/* 34475 */ {(12<<2)|2,{65,110,0}}, +/* 34476 */ {(12<<2)|2,{65,110,0}}, +/* 34477 */ {(12<<2)|2,{65,110,0}}, +/* 34478 */ {(12<<2)|2,{65,110,0}}, +/* 34479 */ {(12<<2)|2,{65,110,0}}, +/* 34480 */ {(12<<2)|2,{65,112,0}}, +/* 34481 */ {(12<<2)|2,{65,112,0}}, +/* 34482 */ {(12<<2)|2,{65,112,0}}, +/* 34483 */ {(12<<2)|2,{65,112,0}}, +/* 34484 */ {(12<<2)|2,{65,112,0}}, +/* 34485 */ {(12<<2)|2,{65,112,0}}, +/* 34486 */ {(12<<2)|2,{65,112,0}}, +/* 34487 */ {(12<<2)|2,{65,112,0}}, +/* 34488 */ {(12<<2)|2,{65,112,0}}, +/* 34489 */ {(12<<2)|2,{65,112,0}}, +/* 34490 */ {(12<<2)|2,{65,112,0}}, +/* 34491 */ {(12<<2)|2,{65,112,0}}, +/* 34492 */ {(12<<2)|2,{65,112,0}}, +/* 34493 */ {(12<<2)|2,{65,112,0}}, +/* 34494 */ {(12<<2)|2,{65,112,0}}, +/* 34495 */ {(12<<2)|2,{65,112,0}}, +/* 34496 */ {(12<<2)|2,{65,114,0}}, +/* 34497 */ {(12<<2)|2,{65,114,0}}, +/* 34498 */ {(12<<2)|2,{65,114,0}}, +/* 34499 */ {(12<<2)|2,{65,114,0}}, +/* 34500 */ {(12<<2)|2,{65,114,0}}, +/* 34501 */ {(12<<2)|2,{65,114,0}}, +/* 34502 */ {(12<<2)|2,{65,114,0}}, +/* 34503 */ {(12<<2)|2,{65,114,0}}, +/* 34504 */ {(12<<2)|2,{65,114,0}}, +/* 34505 */ {(12<<2)|2,{65,114,0}}, +/* 34506 */ {(12<<2)|2,{65,114,0}}, +/* 34507 */ {(12<<2)|2,{65,114,0}}, +/* 34508 */ {(12<<2)|2,{65,114,0}}, +/* 34509 */ {(12<<2)|2,{65,114,0}}, +/* 34510 */ {(12<<2)|2,{65,114,0}}, +/* 34511 */ {(12<<2)|2,{65,114,0}}, +/* 34512 */ {(12<<2)|2,{65,117,0}}, +/* 34513 */ {(12<<2)|2,{65,117,0}}, +/* 34514 */ {(12<<2)|2,{65,117,0}}, +/* 34515 */ {(12<<2)|2,{65,117,0}}, +/* 34516 */ {(12<<2)|2,{65,117,0}}, +/* 34517 */ {(12<<2)|2,{65,117,0}}, +/* 34518 */ {(12<<2)|2,{65,117,0}}, +/* 34519 */ {(12<<2)|2,{65,117,0}}, +/* 34520 */ {(12<<2)|2,{65,117,0}}, +/* 34521 */ {(12<<2)|2,{65,117,0}}, +/* 34522 */ {(12<<2)|2,{65,117,0}}, +/* 34523 */ {(12<<2)|2,{65,117,0}}, +/* 34524 */ {(12<<2)|2,{65,117,0}}, +/* 34525 */ {(12<<2)|2,{65,117,0}}, +/* 34526 */ {(12<<2)|2,{65,117,0}}, +/* 34527 */ {(12<<2)|2,{65,117,0}}, +/* 34528 */ {(13<<2)|2,{65,58,0}}, +/* 34529 */ {(13<<2)|2,{65,58,0}}, +/* 34530 */ {(13<<2)|2,{65,58,0}}, +/* 34531 */ {(13<<2)|2,{65,58,0}}, +/* 34532 */ {(13<<2)|2,{65,58,0}}, +/* 34533 */ {(13<<2)|2,{65,58,0}}, +/* 34534 */ {(13<<2)|2,{65,58,0}}, +/* 34535 */ {(13<<2)|2,{65,58,0}}, +/* 34536 */ {(13<<2)|2,{65,66,0}}, +/* 34537 */ {(13<<2)|2,{65,66,0}}, +/* 34538 */ {(13<<2)|2,{65,66,0}}, +/* 34539 */ {(13<<2)|2,{65,66,0}}, +/* 34540 */ {(13<<2)|2,{65,66,0}}, +/* 34541 */ {(13<<2)|2,{65,66,0}}, +/* 34542 */ {(13<<2)|2,{65,66,0}}, +/* 34543 */ {(13<<2)|2,{65,66,0}}, +/* 34544 */ {(13<<2)|2,{65,67,0}}, +/* 34545 */ {(13<<2)|2,{65,67,0}}, +/* 34546 */ {(13<<2)|2,{65,67,0}}, +/* 34547 */ {(13<<2)|2,{65,67,0}}, +/* 34548 */ {(13<<2)|2,{65,67,0}}, +/* 34549 */ {(13<<2)|2,{65,67,0}}, +/* 34550 */ {(13<<2)|2,{65,67,0}}, +/* 34551 */ {(13<<2)|2,{65,67,0}}, +/* 34552 */ {(13<<2)|2,{65,68,0}}, +/* 34553 */ {(13<<2)|2,{65,68,0}}, +/* 34554 */ {(13<<2)|2,{65,68,0}}, +/* 34555 */ {(13<<2)|2,{65,68,0}}, +/* 34556 */ {(13<<2)|2,{65,68,0}}, +/* 34557 */ {(13<<2)|2,{65,68,0}}, +/* 34558 */ {(13<<2)|2,{65,68,0}}, +/* 34559 */ {(13<<2)|2,{65,68,0}}, +/* 34560 */ {(13<<2)|2,{65,69,0}}, +/* 34561 */ {(13<<2)|2,{65,69,0}}, +/* 34562 */ {(13<<2)|2,{65,69,0}}, +/* 34563 */ {(13<<2)|2,{65,69,0}}, +/* 34564 */ {(13<<2)|2,{65,69,0}}, +/* 34565 */ {(13<<2)|2,{65,69,0}}, +/* 34566 */ {(13<<2)|2,{65,69,0}}, +/* 34567 */ {(13<<2)|2,{65,69,0}}, +/* 34568 */ {(13<<2)|2,{65,70,0}}, +/* 34569 */ {(13<<2)|2,{65,70,0}}, +/* 34570 */ {(13<<2)|2,{65,70,0}}, +/* 34571 */ {(13<<2)|2,{65,70,0}}, +/* 34572 */ {(13<<2)|2,{65,70,0}}, +/* 34573 */ {(13<<2)|2,{65,70,0}}, +/* 34574 */ {(13<<2)|2,{65,70,0}}, +/* 34575 */ {(13<<2)|2,{65,70,0}}, +/* 34576 */ {(13<<2)|2,{65,71,0}}, +/* 34577 */ {(13<<2)|2,{65,71,0}}, +/* 34578 */ {(13<<2)|2,{65,71,0}}, +/* 34579 */ {(13<<2)|2,{65,71,0}}, +/* 34580 */ {(13<<2)|2,{65,71,0}}, +/* 34581 */ {(13<<2)|2,{65,71,0}}, +/* 34582 */ {(13<<2)|2,{65,71,0}}, +/* 34583 */ {(13<<2)|2,{65,71,0}}, +/* 34584 */ {(13<<2)|2,{65,72,0}}, +/* 34585 */ {(13<<2)|2,{65,72,0}}, +/* 34586 */ {(13<<2)|2,{65,72,0}}, +/* 34587 */ {(13<<2)|2,{65,72,0}}, +/* 34588 */ {(13<<2)|2,{65,72,0}}, +/* 34589 */ {(13<<2)|2,{65,72,0}}, +/* 34590 */ {(13<<2)|2,{65,72,0}}, +/* 34591 */ {(13<<2)|2,{65,72,0}}, +/* 34592 */ {(13<<2)|2,{65,73,0}}, +/* 34593 */ {(13<<2)|2,{65,73,0}}, +/* 34594 */ {(13<<2)|2,{65,73,0}}, +/* 34595 */ {(13<<2)|2,{65,73,0}}, +/* 34596 */ {(13<<2)|2,{65,73,0}}, +/* 34597 */ {(13<<2)|2,{65,73,0}}, +/* 34598 */ {(13<<2)|2,{65,73,0}}, +/* 34599 */ {(13<<2)|2,{65,73,0}}, +/* 34600 */ {(13<<2)|2,{65,74,0}}, +/* 34601 */ {(13<<2)|2,{65,74,0}}, +/* 34602 */ {(13<<2)|2,{65,74,0}}, +/* 34603 */ {(13<<2)|2,{65,74,0}}, +/* 34604 */ {(13<<2)|2,{65,74,0}}, +/* 34605 */ {(13<<2)|2,{65,74,0}}, +/* 34606 */ {(13<<2)|2,{65,74,0}}, +/* 34607 */ {(13<<2)|2,{65,74,0}}, +/* 34608 */ {(13<<2)|2,{65,75,0}}, +/* 34609 */ {(13<<2)|2,{65,75,0}}, +/* 34610 */ {(13<<2)|2,{65,75,0}}, +/* 34611 */ {(13<<2)|2,{65,75,0}}, +/* 34612 */ {(13<<2)|2,{65,75,0}}, +/* 34613 */ {(13<<2)|2,{65,75,0}}, +/* 34614 */ {(13<<2)|2,{65,75,0}}, +/* 34615 */ {(13<<2)|2,{65,75,0}}, +/* 34616 */ {(13<<2)|2,{65,76,0}}, +/* 34617 */ {(13<<2)|2,{65,76,0}}, +/* 34618 */ {(13<<2)|2,{65,76,0}}, +/* 34619 */ {(13<<2)|2,{65,76,0}}, +/* 34620 */ {(13<<2)|2,{65,76,0}}, +/* 34621 */ {(13<<2)|2,{65,76,0}}, +/* 34622 */ {(13<<2)|2,{65,76,0}}, +/* 34623 */ {(13<<2)|2,{65,76,0}}, +/* 34624 */ {(13<<2)|2,{65,77,0}}, +/* 34625 */ {(13<<2)|2,{65,77,0}}, +/* 34626 */ {(13<<2)|2,{65,77,0}}, +/* 34627 */ {(13<<2)|2,{65,77,0}}, +/* 34628 */ {(13<<2)|2,{65,77,0}}, +/* 34629 */ {(13<<2)|2,{65,77,0}}, +/* 34630 */ {(13<<2)|2,{65,77,0}}, +/* 34631 */ {(13<<2)|2,{65,77,0}}, +/* 34632 */ {(13<<2)|2,{65,78,0}}, +/* 34633 */ {(13<<2)|2,{65,78,0}}, +/* 34634 */ {(13<<2)|2,{65,78,0}}, +/* 34635 */ {(13<<2)|2,{65,78,0}}, +/* 34636 */ {(13<<2)|2,{65,78,0}}, +/* 34637 */ {(13<<2)|2,{65,78,0}}, +/* 34638 */ {(13<<2)|2,{65,78,0}}, +/* 34639 */ {(13<<2)|2,{65,78,0}}, +/* 34640 */ {(13<<2)|2,{65,79,0}}, +/* 34641 */ {(13<<2)|2,{65,79,0}}, +/* 34642 */ {(13<<2)|2,{65,79,0}}, +/* 34643 */ {(13<<2)|2,{65,79,0}}, +/* 34644 */ {(13<<2)|2,{65,79,0}}, +/* 34645 */ {(13<<2)|2,{65,79,0}}, +/* 34646 */ {(13<<2)|2,{65,79,0}}, +/* 34647 */ {(13<<2)|2,{65,79,0}}, +/* 34648 */ {(13<<2)|2,{65,80,0}}, +/* 34649 */ {(13<<2)|2,{65,80,0}}, +/* 34650 */ {(13<<2)|2,{65,80,0}}, +/* 34651 */ {(13<<2)|2,{65,80,0}}, +/* 34652 */ {(13<<2)|2,{65,80,0}}, +/* 34653 */ {(13<<2)|2,{65,80,0}}, +/* 34654 */ {(13<<2)|2,{65,80,0}}, +/* 34655 */ {(13<<2)|2,{65,80,0}}, +/* 34656 */ {(13<<2)|2,{65,81,0}}, +/* 34657 */ {(13<<2)|2,{65,81,0}}, +/* 34658 */ {(13<<2)|2,{65,81,0}}, +/* 34659 */ {(13<<2)|2,{65,81,0}}, +/* 34660 */ {(13<<2)|2,{65,81,0}}, +/* 34661 */ {(13<<2)|2,{65,81,0}}, +/* 34662 */ {(13<<2)|2,{65,81,0}}, +/* 34663 */ {(13<<2)|2,{65,81,0}}, +/* 34664 */ {(13<<2)|2,{65,82,0}}, +/* 34665 */ {(13<<2)|2,{65,82,0}}, +/* 34666 */ {(13<<2)|2,{65,82,0}}, +/* 34667 */ {(13<<2)|2,{65,82,0}}, +/* 34668 */ {(13<<2)|2,{65,82,0}}, +/* 34669 */ {(13<<2)|2,{65,82,0}}, +/* 34670 */ {(13<<2)|2,{65,82,0}}, +/* 34671 */ {(13<<2)|2,{65,82,0}}, +/* 34672 */ {(13<<2)|2,{65,83,0}}, +/* 34673 */ {(13<<2)|2,{65,83,0}}, +/* 34674 */ {(13<<2)|2,{65,83,0}}, +/* 34675 */ {(13<<2)|2,{65,83,0}}, +/* 34676 */ {(13<<2)|2,{65,83,0}}, +/* 34677 */ {(13<<2)|2,{65,83,0}}, +/* 34678 */ {(13<<2)|2,{65,83,0}}, +/* 34679 */ {(13<<2)|2,{65,83,0}}, +/* 34680 */ {(13<<2)|2,{65,84,0}}, +/* 34681 */ {(13<<2)|2,{65,84,0}}, +/* 34682 */ {(13<<2)|2,{65,84,0}}, +/* 34683 */ {(13<<2)|2,{65,84,0}}, +/* 34684 */ {(13<<2)|2,{65,84,0}}, +/* 34685 */ {(13<<2)|2,{65,84,0}}, +/* 34686 */ {(13<<2)|2,{65,84,0}}, +/* 34687 */ {(13<<2)|2,{65,84,0}}, +/* 34688 */ {(13<<2)|2,{65,85,0}}, +/* 34689 */ {(13<<2)|2,{65,85,0}}, +/* 34690 */ {(13<<2)|2,{65,85,0}}, +/* 34691 */ {(13<<2)|2,{65,85,0}}, +/* 34692 */ {(13<<2)|2,{65,85,0}}, +/* 34693 */ {(13<<2)|2,{65,85,0}}, +/* 34694 */ {(13<<2)|2,{65,85,0}}, +/* 34695 */ {(13<<2)|2,{65,85,0}}, +/* 34696 */ {(13<<2)|2,{65,86,0}}, +/* 34697 */ {(13<<2)|2,{65,86,0}}, +/* 34698 */ {(13<<2)|2,{65,86,0}}, +/* 34699 */ {(13<<2)|2,{65,86,0}}, +/* 34700 */ {(13<<2)|2,{65,86,0}}, +/* 34701 */ {(13<<2)|2,{65,86,0}}, +/* 34702 */ {(13<<2)|2,{65,86,0}}, +/* 34703 */ {(13<<2)|2,{65,86,0}}, +/* 34704 */ {(13<<2)|2,{65,87,0}}, +/* 34705 */ {(13<<2)|2,{65,87,0}}, +/* 34706 */ {(13<<2)|2,{65,87,0}}, +/* 34707 */ {(13<<2)|2,{65,87,0}}, +/* 34708 */ {(13<<2)|2,{65,87,0}}, +/* 34709 */ {(13<<2)|2,{65,87,0}}, +/* 34710 */ {(13<<2)|2,{65,87,0}}, +/* 34711 */ {(13<<2)|2,{65,87,0}}, +/* 34712 */ {(13<<2)|2,{65,89,0}}, +/* 34713 */ {(13<<2)|2,{65,89,0}}, +/* 34714 */ {(13<<2)|2,{65,89,0}}, +/* 34715 */ {(13<<2)|2,{65,89,0}}, +/* 34716 */ {(13<<2)|2,{65,89,0}}, +/* 34717 */ {(13<<2)|2,{65,89,0}}, +/* 34718 */ {(13<<2)|2,{65,89,0}}, +/* 34719 */ {(13<<2)|2,{65,89,0}}, +/* 34720 */ {(13<<2)|2,{65,106,0}}, +/* 34721 */ {(13<<2)|2,{65,106,0}}, +/* 34722 */ {(13<<2)|2,{65,106,0}}, +/* 34723 */ {(13<<2)|2,{65,106,0}}, +/* 34724 */ {(13<<2)|2,{65,106,0}}, +/* 34725 */ {(13<<2)|2,{65,106,0}}, +/* 34726 */ {(13<<2)|2,{65,106,0}}, +/* 34727 */ {(13<<2)|2,{65,106,0}}, +/* 34728 */ {(13<<2)|2,{65,107,0}}, +/* 34729 */ {(13<<2)|2,{65,107,0}}, +/* 34730 */ {(13<<2)|2,{65,107,0}}, +/* 34731 */ {(13<<2)|2,{65,107,0}}, +/* 34732 */ {(13<<2)|2,{65,107,0}}, +/* 34733 */ {(13<<2)|2,{65,107,0}}, +/* 34734 */ {(13<<2)|2,{65,107,0}}, +/* 34735 */ {(13<<2)|2,{65,107,0}}, +/* 34736 */ {(13<<2)|2,{65,113,0}}, +/* 34737 */ {(13<<2)|2,{65,113,0}}, +/* 34738 */ {(13<<2)|2,{65,113,0}}, +/* 34739 */ {(13<<2)|2,{65,113,0}}, +/* 34740 */ {(13<<2)|2,{65,113,0}}, +/* 34741 */ {(13<<2)|2,{65,113,0}}, +/* 34742 */ {(13<<2)|2,{65,113,0}}, +/* 34743 */ {(13<<2)|2,{65,113,0}}, +/* 34744 */ {(13<<2)|2,{65,118,0}}, +/* 34745 */ {(13<<2)|2,{65,118,0}}, +/* 34746 */ {(13<<2)|2,{65,118,0}}, +/* 34747 */ {(13<<2)|2,{65,118,0}}, +/* 34748 */ {(13<<2)|2,{65,118,0}}, +/* 34749 */ {(13<<2)|2,{65,118,0}}, +/* 34750 */ {(13<<2)|2,{65,118,0}}, +/* 34751 */ {(13<<2)|2,{65,118,0}}, +/* 34752 */ {(13<<2)|2,{65,119,0}}, +/* 34753 */ {(13<<2)|2,{65,119,0}}, +/* 34754 */ {(13<<2)|2,{65,119,0}}, +/* 34755 */ {(13<<2)|2,{65,119,0}}, +/* 34756 */ {(13<<2)|2,{65,119,0}}, +/* 34757 */ {(13<<2)|2,{65,119,0}}, +/* 34758 */ {(13<<2)|2,{65,119,0}}, +/* 34759 */ {(13<<2)|2,{65,119,0}}, +/* 34760 */ {(13<<2)|2,{65,120,0}}, +/* 34761 */ {(13<<2)|2,{65,120,0}}, +/* 34762 */ {(13<<2)|2,{65,120,0}}, +/* 34763 */ {(13<<2)|2,{65,120,0}}, +/* 34764 */ {(13<<2)|2,{65,120,0}}, +/* 34765 */ {(13<<2)|2,{65,120,0}}, +/* 34766 */ {(13<<2)|2,{65,120,0}}, +/* 34767 */ {(13<<2)|2,{65,120,0}}, +/* 34768 */ {(13<<2)|2,{65,121,0}}, +/* 34769 */ {(13<<2)|2,{65,121,0}}, +/* 34770 */ {(13<<2)|2,{65,121,0}}, +/* 34771 */ {(13<<2)|2,{65,121,0}}, +/* 34772 */ {(13<<2)|2,{65,121,0}}, +/* 34773 */ {(13<<2)|2,{65,121,0}}, +/* 34774 */ {(13<<2)|2,{65,121,0}}, +/* 34775 */ {(13<<2)|2,{65,121,0}}, +/* 34776 */ {(13<<2)|2,{65,122,0}}, +/* 34777 */ {(13<<2)|2,{65,122,0}}, +/* 34778 */ {(13<<2)|2,{65,122,0}}, +/* 34779 */ {(13<<2)|2,{65,122,0}}, +/* 34780 */ {(13<<2)|2,{65,122,0}}, +/* 34781 */ {(13<<2)|2,{65,122,0}}, +/* 34782 */ {(13<<2)|2,{65,122,0}}, +/* 34783 */ {(13<<2)|2,{65,122,0}}, +/* 34784 */ {(14<<2)|2,{65,38,0}}, +/* 34785 */ {(14<<2)|2,{65,38,0}}, +/* 34786 */ {(14<<2)|2,{65,38,0}}, +/* 34787 */ {(14<<2)|2,{65,38,0}}, +/* 34788 */ {(14<<2)|2,{65,42,0}}, +/* 34789 */ {(14<<2)|2,{65,42,0}}, +/* 34790 */ {(14<<2)|2,{65,42,0}}, +/* 34791 */ {(14<<2)|2,{65,42,0}}, +/* 34792 */ {(14<<2)|2,{65,44,0}}, +/* 34793 */ {(14<<2)|2,{65,44,0}}, +/* 34794 */ {(14<<2)|2,{65,44,0}}, +/* 34795 */ {(14<<2)|2,{65,44,0}}, +/* 34796 */ {(14<<2)|2,{65,59,0}}, +/* 34797 */ {(14<<2)|2,{65,59,0}}, +/* 34798 */ {(14<<2)|2,{65,59,0}}, +/* 34799 */ {(14<<2)|2,{65,59,0}}, +/* 34800 */ {(14<<2)|2,{65,88,0}}, +/* 34801 */ {(14<<2)|2,{65,88,0}}, +/* 34802 */ {(14<<2)|2,{65,88,0}}, +/* 34803 */ {(14<<2)|2,{65,88,0}}, +/* 34804 */ {(14<<2)|2,{65,90,0}}, +/* 34805 */ {(14<<2)|2,{65,90,0}}, +/* 34806 */ {(14<<2)|2,{65,90,0}}, +/* 34807 */ {(14<<2)|2,{65,90,0}}, +/* 34808 */ {(16<<2)|2,{65,33,0}}, +/* 34809 */ {(16<<2)|2,{65,34,0}}, +/* 34810 */ {(16<<2)|2,{65,40,0}}, +/* 34811 */ {(16<<2)|2,{65,41,0}}, +/* 34812 */ {(16<<2)|2,{65,63,0}}, +/* 34813 */ {(6<<2)|1,{65,0,0}}, +/* 34814 */ {(6<<2)|1,{65,0,0}}, +/* 34815 */ {(6<<2)|1,{65,0,0}}, +/* 34816 */ {(16<<2)|3,{95,48,48}}, +/* 34817 */ {(16<<2)|3,{95,48,49}}, +/* 34818 */ {(16<<2)|3,{95,48,50}}, +/* 34819 */ {(16<<2)|3,{95,48,97}}, +/* 34820 */ {(16<<2)|3,{95,48,99}}, +/* 34821 */ {(16<<2)|3,{95,48,101}}, +/* 34822 */ {(16<<2)|3,{95,48,105}}, +/* 34823 */ {(16<<2)|3,{95,48,111}}, +/* 34824 */ {(16<<2)|3,{95,48,115}}, +/* 34825 */ {(16<<2)|3,{95,48,116}}, +/* 34826 */ {(11<<2)|2,{95,48,0}}, +/* 34827 */ {(11<<2)|2,{95,48,0}}, +/* 34828 */ {(11<<2)|2,{95,48,0}}, +/* 34829 */ {(11<<2)|2,{95,48,0}}, +/* 34830 */ {(11<<2)|2,{95,48,0}}, +/* 34831 */ {(11<<2)|2,{95,48,0}}, +/* 34832 */ {(11<<2)|2,{95,48,0}}, +/* 34833 */ {(11<<2)|2,{95,48,0}}, +/* 34834 */ {(11<<2)|2,{95,48,0}}, +/* 34835 */ {(11<<2)|2,{95,48,0}}, +/* 34836 */ {(11<<2)|2,{95,48,0}}, +/* 34837 */ {(11<<2)|2,{95,48,0}}, +/* 34838 */ {(11<<2)|2,{95,48,0}}, +/* 34839 */ {(11<<2)|2,{95,48,0}}, +/* 34840 */ {(11<<2)|2,{95,48,0}}, +/* 34841 */ {(11<<2)|2,{95,48,0}}, +/* 34842 */ {(11<<2)|2,{95,48,0}}, +/* 34843 */ {(11<<2)|2,{95,48,0}}, +/* 34844 */ {(11<<2)|2,{95,48,0}}, +/* 34845 */ {(11<<2)|2,{95,48,0}}, +/* 34846 */ {(11<<2)|2,{95,48,0}}, +/* 34847 */ {(11<<2)|2,{95,48,0}}, +/* 34848 */ {(16<<2)|3,{95,49,48}}, +/* 34849 */ {(16<<2)|3,{95,49,49}}, +/* 34850 */ {(16<<2)|3,{95,49,50}}, +/* 34851 */ {(16<<2)|3,{95,49,97}}, +/* 34852 */ {(16<<2)|3,{95,49,99}}, +/* 34853 */ {(16<<2)|3,{95,49,101}}, +/* 34854 */ {(16<<2)|3,{95,49,105}}, +/* 34855 */ {(16<<2)|3,{95,49,111}}, +/* 34856 */ {(16<<2)|3,{95,49,115}}, +/* 34857 */ {(16<<2)|3,{95,49,116}}, +/* 34858 */ {(11<<2)|2,{95,49,0}}, +/* 34859 */ {(11<<2)|2,{95,49,0}}, +/* 34860 */ {(11<<2)|2,{95,49,0}}, +/* 34861 */ {(11<<2)|2,{95,49,0}}, +/* 34862 */ {(11<<2)|2,{95,49,0}}, +/* 34863 */ {(11<<2)|2,{95,49,0}}, +/* 34864 */ {(11<<2)|2,{95,49,0}}, +/* 34865 */ {(11<<2)|2,{95,49,0}}, +/* 34866 */ {(11<<2)|2,{95,49,0}}, +/* 34867 */ {(11<<2)|2,{95,49,0}}, +/* 34868 */ {(11<<2)|2,{95,49,0}}, +/* 34869 */ {(11<<2)|2,{95,49,0}}, +/* 34870 */ {(11<<2)|2,{95,49,0}}, +/* 34871 */ {(11<<2)|2,{95,49,0}}, +/* 34872 */ {(11<<2)|2,{95,49,0}}, +/* 34873 */ {(11<<2)|2,{95,49,0}}, +/* 34874 */ {(11<<2)|2,{95,49,0}}, +/* 34875 */ {(11<<2)|2,{95,49,0}}, +/* 34876 */ {(11<<2)|2,{95,49,0}}, +/* 34877 */ {(11<<2)|2,{95,49,0}}, +/* 34878 */ {(11<<2)|2,{95,49,0}}, +/* 34879 */ {(11<<2)|2,{95,49,0}}, +/* 34880 */ {(16<<2)|3,{95,50,48}}, +/* 34881 */ {(16<<2)|3,{95,50,49}}, +/* 34882 */ {(16<<2)|3,{95,50,50}}, +/* 34883 */ {(16<<2)|3,{95,50,97}}, +/* 34884 */ {(16<<2)|3,{95,50,99}}, +/* 34885 */ {(16<<2)|3,{95,50,101}}, +/* 34886 */ {(16<<2)|3,{95,50,105}}, +/* 34887 */ {(16<<2)|3,{95,50,111}}, +/* 34888 */ {(16<<2)|3,{95,50,115}}, +/* 34889 */ {(16<<2)|3,{95,50,116}}, +/* 34890 */ {(11<<2)|2,{95,50,0}}, +/* 34891 */ {(11<<2)|2,{95,50,0}}, +/* 34892 */ {(11<<2)|2,{95,50,0}}, +/* 34893 */ {(11<<2)|2,{95,50,0}}, +/* 34894 */ {(11<<2)|2,{95,50,0}}, +/* 34895 */ {(11<<2)|2,{95,50,0}}, +/* 34896 */ {(11<<2)|2,{95,50,0}}, +/* 34897 */ {(11<<2)|2,{95,50,0}}, +/* 34898 */ {(11<<2)|2,{95,50,0}}, +/* 34899 */ {(11<<2)|2,{95,50,0}}, +/* 34900 */ {(11<<2)|2,{95,50,0}}, +/* 34901 */ {(11<<2)|2,{95,50,0}}, +/* 34902 */ {(11<<2)|2,{95,50,0}}, +/* 34903 */ {(11<<2)|2,{95,50,0}}, +/* 34904 */ {(11<<2)|2,{95,50,0}}, +/* 34905 */ {(11<<2)|2,{95,50,0}}, +/* 34906 */ {(11<<2)|2,{95,50,0}}, +/* 34907 */ {(11<<2)|2,{95,50,0}}, +/* 34908 */ {(11<<2)|2,{95,50,0}}, +/* 34909 */ {(11<<2)|2,{95,50,0}}, +/* 34910 */ {(11<<2)|2,{95,50,0}}, +/* 34911 */ {(11<<2)|2,{95,50,0}}, +/* 34912 */ {(16<<2)|3,{95,97,48}}, +/* 34913 */ {(16<<2)|3,{95,97,49}}, +/* 34914 */ {(16<<2)|3,{95,97,50}}, +/* 34915 */ {(16<<2)|3,{95,97,97}}, +/* 34916 */ {(16<<2)|3,{95,97,99}}, +/* 34917 */ {(16<<2)|3,{95,97,101}}, +/* 34918 */ {(16<<2)|3,{95,97,105}}, +/* 34919 */ {(16<<2)|3,{95,97,111}}, +/* 34920 */ {(16<<2)|3,{95,97,115}}, +/* 34921 */ {(16<<2)|3,{95,97,116}}, +/* 34922 */ {(11<<2)|2,{95,97,0}}, +/* 34923 */ {(11<<2)|2,{95,97,0}}, +/* 34924 */ {(11<<2)|2,{95,97,0}}, +/* 34925 */ {(11<<2)|2,{95,97,0}}, +/* 34926 */ {(11<<2)|2,{95,97,0}}, +/* 34927 */ {(11<<2)|2,{95,97,0}}, +/* 34928 */ {(11<<2)|2,{95,97,0}}, +/* 34929 */ {(11<<2)|2,{95,97,0}}, +/* 34930 */ {(11<<2)|2,{95,97,0}}, +/* 34931 */ {(11<<2)|2,{95,97,0}}, +/* 34932 */ {(11<<2)|2,{95,97,0}}, +/* 34933 */ {(11<<2)|2,{95,97,0}}, +/* 34934 */ {(11<<2)|2,{95,97,0}}, +/* 34935 */ {(11<<2)|2,{95,97,0}}, +/* 34936 */ {(11<<2)|2,{95,97,0}}, +/* 34937 */ {(11<<2)|2,{95,97,0}}, +/* 34938 */ {(11<<2)|2,{95,97,0}}, +/* 34939 */ {(11<<2)|2,{95,97,0}}, +/* 34940 */ {(11<<2)|2,{95,97,0}}, +/* 34941 */ {(11<<2)|2,{95,97,0}}, +/* 34942 */ {(11<<2)|2,{95,97,0}}, +/* 34943 */ {(11<<2)|2,{95,97,0}}, +/* 34944 */ {(16<<2)|3,{95,99,48}}, +/* 34945 */ {(16<<2)|3,{95,99,49}}, +/* 34946 */ {(16<<2)|3,{95,99,50}}, +/* 34947 */ {(16<<2)|3,{95,99,97}}, +/* 34948 */ {(16<<2)|3,{95,99,99}}, +/* 34949 */ {(16<<2)|3,{95,99,101}}, +/* 34950 */ {(16<<2)|3,{95,99,105}}, +/* 34951 */ {(16<<2)|3,{95,99,111}}, +/* 34952 */ {(16<<2)|3,{95,99,115}}, +/* 34953 */ {(16<<2)|3,{95,99,116}}, +/* 34954 */ {(11<<2)|2,{95,99,0}}, +/* 34955 */ {(11<<2)|2,{95,99,0}}, +/* 34956 */ {(11<<2)|2,{95,99,0}}, +/* 34957 */ {(11<<2)|2,{95,99,0}}, +/* 34958 */ {(11<<2)|2,{95,99,0}}, +/* 34959 */ {(11<<2)|2,{95,99,0}}, +/* 34960 */ {(11<<2)|2,{95,99,0}}, +/* 34961 */ {(11<<2)|2,{95,99,0}}, +/* 34962 */ {(11<<2)|2,{95,99,0}}, +/* 34963 */ {(11<<2)|2,{95,99,0}}, +/* 34964 */ {(11<<2)|2,{95,99,0}}, +/* 34965 */ {(11<<2)|2,{95,99,0}}, +/* 34966 */ {(11<<2)|2,{95,99,0}}, +/* 34967 */ {(11<<2)|2,{95,99,0}}, +/* 34968 */ {(11<<2)|2,{95,99,0}}, +/* 34969 */ {(11<<2)|2,{95,99,0}}, +/* 34970 */ {(11<<2)|2,{95,99,0}}, +/* 34971 */ {(11<<2)|2,{95,99,0}}, +/* 34972 */ {(11<<2)|2,{95,99,0}}, +/* 34973 */ {(11<<2)|2,{95,99,0}}, +/* 34974 */ {(11<<2)|2,{95,99,0}}, +/* 34975 */ {(11<<2)|2,{95,99,0}}, +/* 34976 */ {(16<<2)|3,{95,101,48}}, +/* 34977 */ {(16<<2)|3,{95,101,49}}, +/* 34978 */ {(16<<2)|3,{95,101,50}}, +/* 34979 */ {(16<<2)|3,{95,101,97}}, +/* 34980 */ {(16<<2)|3,{95,101,99}}, +/* 34981 */ {(16<<2)|3,{95,101,101}}, +/* 34982 */ {(16<<2)|3,{95,101,105}}, +/* 34983 */ {(16<<2)|3,{95,101,111}}, +/* 34984 */ {(16<<2)|3,{95,101,115}}, +/* 34985 */ {(16<<2)|3,{95,101,116}}, +/* 34986 */ {(11<<2)|2,{95,101,0}}, +/* 34987 */ {(11<<2)|2,{95,101,0}}, +/* 34988 */ {(11<<2)|2,{95,101,0}}, +/* 34989 */ {(11<<2)|2,{95,101,0}}, +/* 34990 */ {(11<<2)|2,{95,101,0}}, +/* 34991 */ {(11<<2)|2,{95,101,0}}, +/* 34992 */ {(11<<2)|2,{95,101,0}}, +/* 34993 */ {(11<<2)|2,{95,101,0}}, +/* 34994 */ {(11<<2)|2,{95,101,0}}, +/* 34995 */ {(11<<2)|2,{95,101,0}}, +/* 34996 */ {(11<<2)|2,{95,101,0}}, +/* 34997 */ {(11<<2)|2,{95,101,0}}, +/* 34998 */ {(11<<2)|2,{95,101,0}}, +/* 34999 */ {(11<<2)|2,{95,101,0}}, +/* 35000 */ {(11<<2)|2,{95,101,0}}, +/* 35001 */ {(11<<2)|2,{95,101,0}}, +/* 35002 */ {(11<<2)|2,{95,101,0}}, +/* 35003 */ {(11<<2)|2,{95,101,0}}, +/* 35004 */ {(11<<2)|2,{95,101,0}}, +/* 35005 */ {(11<<2)|2,{95,101,0}}, +/* 35006 */ {(11<<2)|2,{95,101,0}}, +/* 35007 */ {(11<<2)|2,{95,101,0}}, +/* 35008 */ {(16<<2)|3,{95,105,48}}, +/* 35009 */ {(16<<2)|3,{95,105,49}}, +/* 35010 */ {(16<<2)|3,{95,105,50}}, +/* 35011 */ {(16<<2)|3,{95,105,97}}, +/* 35012 */ {(16<<2)|3,{95,105,99}}, +/* 35013 */ {(16<<2)|3,{95,105,101}}, +/* 35014 */ {(16<<2)|3,{95,105,105}}, +/* 35015 */ {(16<<2)|3,{95,105,111}}, +/* 35016 */ {(16<<2)|3,{95,105,115}}, +/* 35017 */ {(16<<2)|3,{95,105,116}}, +/* 35018 */ {(11<<2)|2,{95,105,0}}, +/* 35019 */ {(11<<2)|2,{95,105,0}}, +/* 35020 */ {(11<<2)|2,{95,105,0}}, +/* 35021 */ {(11<<2)|2,{95,105,0}}, +/* 35022 */ {(11<<2)|2,{95,105,0}}, +/* 35023 */ {(11<<2)|2,{95,105,0}}, +/* 35024 */ {(11<<2)|2,{95,105,0}}, +/* 35025 */ {(11<<2)|2,{95,105,0}}, +/* 35026 */ {(11<<2)|2,{95,105,0}}, +/* 35027 */ {(11<<2)|2,{95,105,0}}, +/* 35028 */ {(11<<2)|2,{95,105,0}}, +/* 35029 */ {(11<<2)|2,{95,105,0}}, +/* 35030 */ {(11<<2)|2,{95,105,0}}, +/* 35031 */ {(11<<2)|2,{95,105,0}}, +/* 35032 */ {(11<<2)|2,{95,105,0}}, +/* 35033 */ {(11<<2)|2,{95,105,0}}, +/* 35034 */ {(11<<2)|2,{95,105,0}}, +/* 35035 */ {(11<<2)|2,{95,105,0}}, +/* 35036 */ {(11<<2)|2,{95,105,0}}, +/* 35037 */ {(11<<2)|2,{95,105,0}}, +/* 35038 */ {(11<<2)|2,{95,105,0}}, +/* 35039 */ {(11<<2)|2,{95,105,0}}, +/* 35040 */ {(16<<2)|3,{95,111,48}}, +/* 35041 */ {(16<<2)|3,{95,111,49}}, +/* 35042 */ {(16<<2)|3,{95,111,50}}, +/* 35043 */ {(16<<2)|3,{95,111,97}}, +/* 35044 */ {(16<<2)|3,{95,111,99}}, +/* 35045 */ {(16<<2)|3,{95,111,101}}, +/* 35046 */ {(16<<2)|3,{95,111,105}}, +/* 35047 */ {(16<<2)|3,{95,111,111}}, +/* 35048 */ {(16<<2)|3,{95,111,115}}, +/* 35049 */ {(16<<2)|3,{95,111,116}}, +/* 35050 */ {(11<<2)|2,{95,111,0}}, +/* 35051 */ {(11<<2)|2,{95,111,0}}, +/* 35052 */ {(11<<2)|2,{95,111,0}}, +/* 35053 */ {(11<<2)|2,{95,111,0}}, +/* 35054 */ {(11<<2)|2,{95,111,0}}, +/* 35055 */ {(11<<2)|2,{95,111,0}}, +/* 35056 */ {(11<<2)|2,{95,111,0}}, +/* 35057 */ {(11<<2)|2,{95,111,0}}, +/* 35058 */ {(11<<2)|2,{95,111,0}}, +/* 35059 */ {(11<<2)|2,{95,111,0}}, +/* 35060 */ {(11<<2)|2,{95,111,0}}, +/* 35061 */ {(11<<2)|2,{95,111,0}}, +/* 35062 */ {(11<<2)|2,{95,111,0}}, +/* 35063 */ {(11<<2)|2,{95,111,0}}, +/* 35064 */ {(11<<2)|2,{95,111,0}}, +/* 35065 */ {(11<<2)|2,{95,111,0}}, +/* 35066 */ {(11<<2)|2,{95,111,0}}, +/* 35067 */ {(11<<2)|2,{95,111,0}}, +/* 35068 */ {(11<<2)|2,{95,111,0}}, +/* 35069 */ {(11<<2)|2,{95,111,0}}, +/* 35070 */ {(11<<2)|2,{95,111,0}}, +/* 35071 */ {(11<<2)|2,{95,111,0}}, +/* 35072 */ {(16<<2)|3,{95,115,48}}, +/* 35073 */ {(16<<2)|3,{95,115,49}}, +/* 35074 */ {(16<<2)|3,{95,115,50}}, +/* 35075 */ {(16<<2)|3,{95,115,97}}, +/* 35076 */ {(16<<2)|3,{95,115,99}}, +/* 35077 */ {(16<<2)|3,{95,115,101}}, +/* 35078 */ {(16<<2)|3,{95,115,105}}, +/* 35079 */ {(16<<2)|3,{95,115,111}}, +/* 35080 */ {(16<<2)|3,{95,115,115}}, +/* 35081 */ {(16<<2)|3,{95,115,116}}, +/* 35082 */ {(11<<2)|2,{95,115,0}}, +/* 35083 */ {(11<<2)|2,{95,115,0}}, +/* 35084 */ {(11<<2)|2,{95,115,0}}, +/* 35085 */ {(11<<2)|2,{95,115,0}}, +/* 35086 */ {(11<<2)|2,{95,115,0}}, +/* 35087 */ {(11<<2)|2,{95,115,0}}, +/* 35088 */ {(11<<2)|2,{95,115,0}}, +/* 35089 */ {(11<<2)|2,{95,115,0}}, +/* 35090 */ {(11<<2)|2,{95,115,0}}, +/* 35091 */ {(11<<2)|2,{95,115,0}}, +/* 35092 */ {(11<<2)|2,{95,115,0}}, +/* 35093 */ {(11<<2)|2,{95,115,0}}, +/* 35094 */ {(11<<2)|2,{95,115,0}}, +/* 35095 */ {(11<<2)|2,{95,115,0}}, +/* 35096 */ {(11<<2)|2,{95,115,0}}, +/* 35097 */ {(11<<2)|2,{95,115,0}}, +/* 35098 */ {(11<<2)|2,{95,115,0}}, +/* 35099 */ {(11<<2)|2,{95,115,0}}, +/* 35100 */ {(11<<2)|2,{95,115,0}}, +/* 35101 */ {(11<<2)|2,{95,115,0}}, +/* 35102 */ {(11<<2)|2,{95,115,0}}, +/* 35103 */ {(11<<2)|2,{95,115,0}}, +/* 35104 */ {(16<<2)|3,{95,116,48}}, +/* 35105 */ {(16<<2)|3,{95,116,49}}, +/* 35106 */ {(16<<2)|3,{95,116,50}}, +/* 35107 */ {(16<<2)|3,{95,116,97}}, +/* 35108 */ {(16<<2)|3,{95,116,99}}, +/* 35109 */ {(16<<2)|3,{95,116,101}}, +/* 35110 */ {(16<<2)|3,{95,116,105}}, +/* 35111 */ {(16<<2)|3,{95,116,111}}, +/* 35112 */ {(16<<2)|3,{95,116,115}}, +/* 35113 */ {(16<<2)|3,{95,116,116}}, +/* 35114 */ {(11<<2)|2,{95,116,0}}, +/* 35115 */ {(11<<2)|2,{95,116,0}}, +/* 35116 */ {(11<<2)|2,{95,116,0}}, +/* 35117 */ {(11<<2)|2,{95,116,0}}, +/* 35118 */ {(11<<2)|2,{95,116,0}}, +/* 35119 */ {(11<<2)|2,{95,116,0}}, +/* 35120 */ {(11<<2)|2,{95,116,0}}, +/* 35121 */ {(11<<2)|2,{95,116,0}}, +/* 35122 */ {(11<<2)|2,{95,116,0}}, +/* 35123 */ {(11<<2)|2,{95,116,0}}, +/* 35124 */ {(11<<2)|2,{95,116,0}}, +/* 35125 */ {(11<<2)|2,{95,116,0}}, +/* 35126 */ {(11<<2)|2,{95,116,0}}, +/* 35127 */ {(11<<2)|2,{95,116,0}}, +/* 35128 */ {(11<<2)|2,{95,116,0}}, +/* 35129 */ {(11<<2)|2,{95,116,0}}, +/* 35130 */ {(11<<2)|2,{95,116,0}}, +/* 35131 */ {(11<<2)|2,{95,116,0}}, +/* 35132 */ {(11<<2)|2,{95,116,0}}, +/* 35133 */ {(11<<2)|2,{95,116,0}}, +/* 35134 */ {(11<<2)|2,{95,116,0}}, +/* 35135 */ {(11<<2)|2,{95,116,0}}, +/* 35136 */ {(12<<2)|2,{95,32,0}}, +/* 35137 */ {(12<<2)|2,{95,32,0}}, +/* 35138 */ {(12<<2)|2,{95,32,0}}, +/* 35139 */ {(12<<2)|2,{95,32,0}}, +/* 35140 */ {(12<<2)|2,{95,32,0}}, +/* 35141 */ {(12<<2)|2,{95,32,0}}, +/* 35142 */ {(12<<2)|2,{95,32,0}}, +/* 35143 */ {(12<<2)|2,{95,32,0}}, +/* 35144 */ {(12<<2)|2,{95,32,0}}, +/* 35145 */ {(12<<2)|2,{95,32,0}}, +/* 35146 */ {(12<<2)|2,{95,32,0}}, +/* 35147 */ {(12<<2)|2,{95,32,0}}, +/* 35148 */ {(12<<2)|2,{95,32,0}}, +/* 35149 */ {(12<<2)|2,{95,32,0}}, +/* 35150 */ {(12<<2)|2,{95,32,0}}, +/* 35151 */ {(12<<2)|2,{95,32,0}}, +/* 35152 */ {(12<<2)|2,{95,37,0}}, +/* 35153 */ {(12<<2)|2,{95,37,0}}, +/* 35154 */ {(12<<2)|2,{95,37,0}}, +/* 35155 */ {(12<<2)|2,{95,37,0}}, +/* 35156 */ {(12<<2)|2,{95,37,0}}, +/* 35157 */ {(12<<2)|2,{95,37,0}}, +/* 35158 */ {(12<<2)|2,{95,37,0}}, +/* 35159 */ {(12<<2)|2,{95,37,0}}, +/* 35160 */ {(12<<2)|2,{95,37,0}}, +/* 35161 */ {(12<<2)|2,{95,37,0}}, +/* 35162 */ {(12<<2)|2,{95,37,0}}, +/* 35163 */ {(12<<2)|2,{95,37,0}}, +/* 35164 */ {(12<<2)|2,{95,37,0}}, +/* 35165 */ {(12<<2)|2,{95,37,0}}, +/* 35166 */ {(12<<2)|2,{95,37,0}}, +/* 35167 */ {(12<<2)|2,{95,37,0}}, +/* 35168 */ {(12<<2)|2,{95,45,0}}, +/* 35169 */ {(12<<2)|2,{95,45,0}}, +/* 35170 */ {(12<<2)|2,{95,45,0}}, +/* 35171 */ {(12<<2)|2,{95,45,0}}, +/* 35172 */ {(12<<2)|2,{95,45,0}}, +/* 35173 */ {(12<<2)|2,{95,45,0}}, +/* 35174 */ {(12<<2)|2,{95,45,0}}, +/* 35175 */ {(12<<2)|2,{95,45,0}}, +/* 35176 */ {(12<<2)|2,{95,45,0}}, +/* 35177 */ {(12<<2)|2,{95,45,0}}, +/* 35178 */ {(12<<2)|2,{95,45,0}}, +/* 35179 */ {(12<<2)|2,{95,45,0}}, +/* 35180 */ {(12<<2)|2,{95,45,0}}, +/* 35181 */ {(12<<2)|2,{95,45,0}}, +/* 35182 */ {(12<<2)|2,{95,45,0}}, +/* 35183 */ {(12<<2)|2,{95,45,0}}, +/* 35184 */ {(12<<2)|2,{95,46,0}}, +/* 35185 */ {(12<<2)|2,{95,46,0}}, +/* 35186 */ {(12<<2)|2,{95,46,0}}, +/* 35187 */ {(12<<2)|2,{95,46,0}}, +/* 35188 */ {(12<<2)|2,{95,46,0}}, +/* 35189 */ {(12<<2)|2,{95,46,0}}, +/* 35190 */ {(12<<2)|2,{95,46,0}}, +/* 35191 */ {(12<<2)|2,{95,46,0}}, +/* 35192 */ {(12<<2)|2,{95,46,0}}, +/* 35193 */ {(12<<2)|2,{95,46,0}}, +/* 35194 */ {(12<<2)|2,{95,46,0}}, +/* 35195 */ {(12<<2)|2,{95,46,0}}, +/* 35196 */ {(12<<2)|2,{95,46,0}}, +/* 35197 */ {(12<<2)|2,{95,46,0}}, +/* 35198 */ {(12<<2)|2,{95,46,0}}, +/* 35199 */ {(12<<2)|2,{95,46,0}}, +/* 35200 */ {(12<<2)|2,{95,47,0}}, +/* 35201 */ {(12<<2)|2,{95,47,0}}, +/* 35202 */ {(12<<2)|2,{95,47,0}}, +/* 35203 */ {(12<<2)|2,{95,47,0}}, +/* 35204 */ {(12<<2)|2,{95,47,0}}, +/* 35205 */ {(12<<2)|2,{95,47,0}}, +/* 35206 */ {(12<<2)|2,{95,47,0}}, +/* 35207 */ {(12<<2)|2,{95,47,0}}, +/* 35208 */ {(12<<2)|2,{95,47,0}}, +/* 35209 */ {(12<<2)|2,{95,47,0}}, +/* 35210 */ {(12<<2)|2,{95,47,0}}, +/* 35211 */ {(12<<2)|2,{95,47,0}}, +/* 35212 */ {(12<<2)|2,{95,47,0}}, +/* 35213 */ {(12<<2)|2,{95,47,0}}, +/* 35214 */ {(12<<2)|2,{95,47,0}}, +/* 35215 */ {(12<<2)|2,{95,47,0}}, +/* 35216 */ {(12<<2)|2,{95,51,0}}, +/* 35217 */ {(12<<2)|2,{95,51,0}}, +/* 35218 */ {(12<<2)|2,{95,51,0}}, +/* 35219 */ {(12<<2)|2,{95,51,0}}, +/* 35220 */ {(12<<2)|2,{95,51,0}}, +/* 35221 */ {(12<<2)|2,{95,51,0}}, +/* 35222 */ {(12<<2)|2,{95,51,0}}, +/* 35223 */ {(12<<2)|2,{95,51,0}}, +/* 35224 */ {(12<<2)|2,{95,51,0}}, +/* 35225 */ {(12<<2)|2,{95,51,0}}, +/* 35226 */ {(12<<2)|2,{95,51,0}}, +/* 35227 */ {(12<<2)|2,{95,51,0}}, +/* 35228 */ {(12<<2)|2,{95,51,0}}, +/* 35229 */ {(12<<2)|2,{95,51,0}}, +/* 35230 */ {(12<<2)|2,{95,51,0}}, +/* 35231 */ {(12<<2)|2,{95,51,0}}, +/* 35232 */ {(12<<2)|2,{95,52,0}}, +/* 35233 */ {(12<<2)|2,{95,52,0}}, +/* 35234 */ {(12<<2)|2,{95,52,0}}, +/* 35235 */ {(12<<2)|2,{95,52,0}}, +/* 35236 */ {(12<<2)|2,{95,52,0}}, +/* 35237 */ {(12<<2)|2,{95,52,0}}, +/* 35238 */ {(12<<2)|2,{95,52,0}}, +/* 35239 */ {(12<<2)|2,{95,52,0}}, +/* 35240 */ {(12<<2)|2,{95,52,0}}, +/* 35241 */ {(12<<2)|2,{95,52,0}}, +/* 35242 */ {(12<<2)|2,{95,52,0}}, +/* 35243 */ {(12<<2)|2,{95,52,0}}, +/* 35244 */ {(12<<2)|2,{95,52,0}}, +/* 35245 */ {(12<<2)|2,{95,52,0}}, +/* 35246 */ {(12<<2)|2,{95,52,0}}, +/* 35247 */ {(12<<2)|2,{95,52,0}}, +/* 35248 */ {(12<<2)|2,{95,53,0}}, +/* 35249 */ {(12<<2)|2,{95,53,0}}, +/* 35250 */ {(12<<2)|2,{95,53,0}}, +/* 35251 */ {(12<<2)|2,{95,53,0}}, +/* 35252 */ {(12<<2)|2,{95,53,0}}, +/* 35253 */ {(12<<2)|2,{95,53,0}}, +/* 35254 */ {(12<<2)|2,{95,53,0}}, +/* 35255 */ {(12<<2)|2,{95,53,0}}, +/* 35256 */ {(12<<2)|2,{95,53,0}}, +/* 35257 */ {(12<<2)|2,{95,53,0}}, +/* 35258 */ {(12<<2)|2,{95,53,0}}, +/* 35259 */ {(12<<2)|2,{95,53,0}}, +/* 35260 */ {(12<<2)|2,{95,53,0}}, +/* 35261 */ {(12<<2)|2,{95,53,0}}, +/* 35262 */ {(12<<2)|2,{95,53,0}}, +/* 35263 */ {(12<<2)|2,{95,53,0}}, +/* 35264 */ {(12<<2)|2,{95,54,0}}, +/* 35265 */ {(12<<2)|2,{95,54,0}}, +/* 35266 */ {(12<<2)|2,{95,54,0}}, +/* 35267 */ {(12<<2)|2,{95,54,0}}, +/* 35268 */ {(12<<2)|2,{95,54,0}}, +/* 35269 */ {(12<<2)|2,{95,54,0}}, +/* 35270 */ {(12<<2)|2,{95,54,0}}, +/* 35271 */ {(12<<2)|2,{95,54,0}}, +/* 35272 */ {(12<<2)|2,{95,54,0}}, +/* 35273 */ {(12<<2)|2,{95,54,0}}, +/* 35274 */ {(12<<2)|2,{95,54,0}}, +/* 35275 */ {(12<<2)|2,{95,54,0}}, +/* 35276 */ {(12<<2)|2,{95,54,0}}, +/* 35277 */ {(12<<2)|2,{95,54,0}}, +/* 35278 */ {(12<<2)|2,{95,54,0}}, +/* 35279 */ {(12<<2)|2,{95,54,0}}, +/* 35280 */ {(12<<2)|2,{95,55,0}}, +/* 35281 */ {(12<<2)|2,{95,55,0}}, +/* 35282 */ {(12<<2)|2,{95,55,0}}, +/* 35283 */ {(12<<2)|2,{95,55,0}}, +/* 35284 */ {(12<<2)|2,{95,55,0}}, +/* 35285 */ {(12<<2)|2,{95,55,0}}, +/* 35286 */ {(12<<2)|2,{95,55,0}}, +/* 35287 */ {(12<<2)|2,{95,55,0}}, +/* 35288 */ {(12<<2)|2,{95,55,0}}, +/* 35289 */ {(12<<2)|2,{95,55,0}}, +/* 35290 */ {(12<<2)|2,{95,55,0}}, +/* 35291 */ {(12<<2)|2,{95,55,0}}, +/* 35292 */ {(12<<2)|2,{95,55,0}}, +/* 35293 */ {(12<<2)|2,{95,55,0}}, +/* 35294 */ {(12<<2)|2,{95,55,0}}, +/* 35295 */ {(12<<2)|2,{95,55,0}}, +/* 35296 */ {(12<<2)|2,{95,56,0}}, +/* 35297 */ {(12<<2)|2,{95,56,0}}, +/* 35298 */ {(12<<2)|2,{95,56,0}}, +/* 35299 */ {(12<<2)|2,{95,56,0}}, +/* 35300 */ {(12<<2)|2,{95,56,0}}, +/* 35301 */ {(12<<2)|2,{95,56,0}}, +/* 35302 */ {(12<<2)|2,{95,56,0}}, +/* 35303 */ {(12<<2)|2,{95,56,0}}, +/* 35304 */ {(12<<2)|2,{95,56,0}}, +/* 35305 */ {(12<<2)|2,{95,56,0}}, +/* 35306 */ {(12<<2)|2,{95,56,0}}, +/* 35307 */ {(12<<2)|2,{95,56,0}}, +/* 35308 */ {(12<<2)|2,{95,56,0}}, +/* 35309 */ {(12<<2)|2,{95,56,0}}, +/* 35310 */ {(12<<2)|2,{95,56,0}}, +/* 35311 */ {(12<<2)|2,{95,56,0}}, +/* 35312 */ {(12<<2)|2,{95,57,0}}, +/* 35313 */ {(12<<2)|2,{95,57,0}}, +/* 35314 */ {(12<<2)|2,{95,57,0}}, +/* 35315 */ {(12<<2)|2,{95,57,0}}, +/* 35316 */ {(12<<2)|2,{95,57,0}}, +/* 35317 */ {(12<<2)|2,{95,57,0}}, +/* 35318 */ {(12<<2)|2,{95,57,0}}, +/* 35319 */ {(12<<2)|2,{95,57,0}}, +/* 35320 */ {(12<<2)|2,{95,57,0}}, +/* 35321 */ {(12<<2)|2,{95,57,0}}, +/* 35322 */ {(12<<2)|2,{95,57,0}}, +/* 35323 */ {(12<<2)|2,{95,57,0}}, +/* 35324 */ {(12<<2)|2,{95,57,0}}, +/* 35325 */ {(12<<2)|2,{95,57,0}}, +/* 35326 */ {(12<<2)|2,{95,57,0}}, +/* 35327 */ {(12<<2)|2,{95,57,0}}, +/* 35328 */ {(12<<2)|2,{95,61,0}}, +/* 35329 */ {(12<<2)|2,{95,61,0}}, +/* 35330 */ {(12<<2)|2,{95,61,0}}, +/* 35331 */ {(12<<2)|2,{95,61,0}}, +/* 35332 */ {(12<<2)|2,{95,61,0}}, +/* 35333 */ {(12<<2)|2,{95,61,0}}, +/* 35334 */ {(12<<2)|2,{95,61,0}}, +/* 35335 */ {(12<<2)|2,{95,61,0}}, +/* 35336 */ {(12<<2)|2,{95,61,0}}, +/* 35337 */ {(12<<2)|2,{95,61,0}}, +/* 35338 */ {(12<<2)|2,{95,61,0}}, +/* 35339 */ {(12<<2)|2,{95,61,0}}, +/* 35340 */ {(12<<2)|2,{95,61,0}}, +/* 35341 */ {(12<<2)|2,{95,61,0}}, +/* 35342 */ {(12<<2)|2,{95,61,0}}, +/* 35343 */ {(12<<2)|2,{95,61,0}}, +/* 35344 */ {(12<<2)|2,{95,65,0}}, +/* 35345 */ {(12<<2)|2,{95,65,0}}, +/* 35346 */ {(12<<2)|2,{95,65,0}}, +/* 35347 */ {(12<<2)|2,{95,65,0}}, +/* 35348 */ {(12<<2)|2,{95,65,0}}, +/* 35349 */ {(12<<2)|2,{95,65,0}}, +/* 35350 */ {(12<<2)|2,{95,65,0}}, +/* 35351 */ {(12<<2)|2,{95,65,0}}, +/* 35352 */ {(12<<2)|2,{95,65,0}}, +/* 35353 */ {(12<<2)|2,{95,65,0}}, +/* 35354 */ {(12<<2)|2,{95,65,0}}, +/* 35355 */ {(12<<2)|2,{95,65,0}}, +/* 35356 */ {(12<<2)|2,{95,65,0}}, +/* 35357 */ {(12<<2)|2,{95,65,0}}, +/* 35358 */ {(12<<2)|2,{95,65,0}}, +/* 35359 */ {(12<<2)|2,{95,65,0}}, +/* 35360 */ {(12<<2)|2,{95,95,0}}, +/* 35361 */ {(12<<2)|2,{95,95,0}}, +/* 35362 */ {(12<<2)|2,{95,95,0}}, +/* 35363 */ {(12<<2)|2,{95,95,0}}, +/* 35364 */ {(12<<2)|2,{95,95,0}}, +/* 35365 */ {(12<<2)|2,{95,95,0}}, +/* 35366 */ {(12<<2)|2,{95,95,0}}, +/* 35367 */ {(12<<2)|2,{95,95,0}}, +/* 35368 */ {(12<<2)|2,{95,95,0}}, +/* 35369 */ {(12<<2)|2,{95,95,0}}, +/* 35370 */ {(12<<2)|2,{95,95,0}}, +/* 35371 */ {(12<<2)|2,{95,95,0}}, +/* 35372 */ {(12<<2)|2,{95,95,0}}, +/* 35373 */ {(12<<2)|2,{95,95,0}}, +/* 35374 */ {(12<<2)|2,{95,95,0}}, +/* 35375 */ {(12<<2)|2,{95,95,0}}, +/* 35376 */ {(12<<2)|2,{95,98,0}}, +/* 35377 */ {(12<<2)|2,{95,98,0}}, +/* 35378 */ {(12<<2)|2,{95,98,0}}, +/* 35379 */ {(12<<2)|2,{95,98,0}}, +/* 35380 */ {(12<<2)|2,{95,98,0}}, +/* 35381 */ {(12<<2)|2,{95,98,0}}, +/* 35382 */ {(12<<2)|2,{95,98,0}}, +/* 35383 */ {(12<<2)|2,{95,98,0}}, +/* 35384 */ {(12<<2)|2,{95,98,0}}, +/* 35385 */ {(12<<2)|2,{95,98,0}}, +/* 35386 */ {(12<<2)|2,{95,98,0}}, +/* 35387 */ {(12<<2)|2,{95,98,0}}, +/* 35388 */ {(12<<2)|2,{95,98,0}}, +/* 35389 */ {(12<<2)|2,{95,98,0}}, +/* 35390 */ {(12<<2)|2,{95,98,0}}, +/* 35391 */ {(12<<2)|2,{95,98,0}}, +/* 35392 */ {(12<<2)|2,{95,100,0}}, +/* 35393 */ {(12<<2)|2,{95,100,0}}, +/* 35394 */ {(12<<2)|2,{95,100,0}}, +/* 35395 */ {(12<<2)|2,{95,100,0}}, +/* 35396 */ {(12<<2)|2,{95,100,0}}, +/* 35397 */ {(12<<2)|2,{95,100,0}}, +/* 35398 */ {(12<<2)|2,{95,100,0}}, +/* 35399 */ {(12<<2)|2,{95,100,0}}, +/* 35400 */ {(12<<2)|2,{95,100,0}}, +/* 35401 */ {(12<<2)|2,{95,100,0}}, +/* 35402 */ {(12<<2)|2,{95,100,0}}, +/* 35403 */ {(12<<2)|2,{95,100,0}}, +/* 35404 */ {(12<<2)|2,{95,100,0}}, +/* 35405 */ {(12<<2)|2,{95,100,0}}, +/* 35406 */ {(12<<2)|2,{95,100,0}}, +/* 35407 */ {(12<<2)|2,{95,100,0}}, +/* 35408 */ {(12<<2)|2,{95,102,0}}, +/* 35409 */ {(12<<2)|2,{95,102,0}}, +/* 35410 */ {(12<<2)|2,{95,102,0}}, +/* 35411 */ {(12<<2)|2,{95,102,0}}, +/* 35412 */ {(12<<2)|2,{95,102,0}}, +/* 35413 */ {(12<<2)|2,{95,102,0}}, +/* 35414 */ {(12<<2)|2,{95,102,0}}, +/* 35415 */ {(12<<2)|2,{95,102,0}}, +/* 35416 */ {(12<<2)|2,{95,102,0}}, +/* 35417 */ {(12<<2)|2,{95,102,0}}, +/* 35418 */ {(12<<2)|2,{95,102,0}}, +/* 35419 */ {(12<<2)|2,{95,102,0}}, +/* 35420 */ {(12<<2)|2,{95,102,0}}, +/* 35421 */ {(12<<2)|2,{95,102,0}}, +/* 35422 */ {(12<<2)|2,{95,102,0}}, +/* 35423 */ {(12<<2)|2,{95,102,0}}, +/* 35424 */ {(12<<2)|2,{95,103,0}}, +/* 35425 */ {(12<<2)|2,{95,103,0}}, +/* 35426 */ {(12<<2)|2,{95,103,0}}, +/* 35427 */ {(12<<2)|2,{95,103,0}}, +/* 35428 */ {(12<<2)|2,{95,103,0}}, +/* 35429 */ {(12<<2)|2,{95,103,0}}, +/* 35430 */ {(12<<2)|2,{95,103,0}}, +/* 35431 */ {(12<<2)|2,{95,103,0}}, +/* 35432 */ {(12<<2)|2,{95,103,0}}, +/* 35433 */ {(12<<2)|2,{95,103,0}}, +/* 35434 */ {(12<<2)|2,{95,103,0}}, +/* 35435 */ {(12<<2)|2,{95,103,0}}, +/* 35436 */ {(12<<2)|2,{95,103,0}}, +/* 35437 */ {(12<<2)|2,{95,103,0}}, +/* 35438 */ {(12<<2)|2,{95,103,0}}, +/* 35439 */ {(12<<2)|2,{95,103,0}}, +/* 35440 */ {(12<<2)|2,{95,104,0}}, +/* 35441 */ {(12<<2)|2,{95,104,0}}, +/* 35442 */ {(12<<2)|2,{95,104,0}}, +/* 35443 */ {(12<<2)|2,{95,104,0}}, +/* 35444 */ {(12<<2)|2,{95,104,0}}, +/* 35445 */ {(12<<2)|2,{95,104,0}}, +/* 35446 */ {(12<<2)|2,{95,104,0}}, +/* 35447 */ {(12<<2)|2,{95,104,0}}, +/* 35448 */ {(12<<2)|2,{95,104,0}}, +/* 35449 */ {(12<<2)|2,{95,104,0}}, +/* 35450 */ {(12<<2)|2,{95,104,0}}, +/* 35451 */ {(12<<2)|2,{95,104,0}}, +/* 35452 */ {(12<<2)|2,{95,104,0}}, +/* 35453 */ {(12<<2)|2,{95,104,0}}, +/* 35454 */ {(12<<2)|2,{95,104,0}}, +/* 35455 */ {(12<<2)|2,{95,104,0}}, +/* 35456 */ {(12<<2)|2,{95,108,0}}, +/* 35457 */ {(12<<2)|2,{95,108,0}}, +/* 35458 */ {(12<<2)|2,{95,108,0}}, +/* 35459 */ {(12<<2)|2,{95,108,0}}, +/* 35460 */ {(12<<2)|2,{95,108,0}}, +/* 35461 */ {(12<<2)|2,{95,108,0}}, +/* 35462 */ {(12<<2)|2,{95,108,0}}, +/* 35463 */ {(12<<2)|2,{95,108,0}}, +/* 35464 */ {(12<<2)|2,{95,108,0}}, +/* 35465 */ {(12<<2)|2,{95,108,0}}, +/* 35466 */ {(12<<2)|2,{95,108,0}}, +/* 35467 */ {(12<<2)|2,{95,108,0}}, +/* 35468 */ {(12<<2)|2,{95,108,0}}, +/* 35469 */ {(12<<2)|2,{95,108,0}}, +/* 35470 */ {(12<<2)|2,{95,108,0}}, +/* 35471 */ {(12<<2)|2,{95,108,0}}, +/* 35472 */ {(12<<2)|2,{95,109,0}}, +/* 35473 */ {(12<<2)|2,{95,109,0}}, +/* 35474 */ {(12<<2)|2,{95,109,0}}, +/* 35475 */ {(12<<2)|2,{95,109,0}}, +/* 35476 */ {(12<<2)|2,{95,109,0}}, +/* 35477 */ {(12<<2)|2,{95,109,0}}, +/* 35478 */ {(12<<2)|2,{95,109,0}}, +/* 35479 */ {(12<<2)|2,{95,109,0}}, +/* 35480 */ {(12<<2)|2,{95,109,0}}, +/* 35481 */ {(12<<2)|2,{95,109,0}}, +/* 35482 */ {(12<<2)|2,{95,109,0}}, +/* 35483 */ {(12<<2)|2,{95,109,0}}, +/* 35484 */ {(12<<2)|2,{95,109,0}}, +/* 35485 */ {(12<<2)|2,{95,109,0}}, +/* 35486 */ {(12<<2)|2,{95,109,0}}, +/* 35487 */ {(12<<2)|2,{95,109,0}}, +/* 35488 */ {(12<<2)|2,{95,110,0}}, +/* 35489 */ {(12<<2)|2,{95,110,0}}, +/* 35490 */ {(12<<2)|2,{95,110,0}}, +/* 35491 */ {(12<<2)|2,{95,110,0}}, +/* 35492 */ {(12<<2)|2,{95,110,0}}, +/* 35493 */ {(12<<2)|2,{95,110,0}}, +/* 35494 */ {(12<<2)|2,{95,110,0}}, +/* 35495 */ {(12<<2)|2,{95,110,0}}, +/* 35496 */ {(12<<2)|2,{95,110,0}}, +/* 35497 */ {(12<<2)|2,{95,110,0}}, +/* 35498 */ {(12<<2)|2,{95,110,0}}, +/* 35499 */ {(12<<2)|2,{95,110,0}}, +/* 35500 */ {(12<<2)|2,{95,110,0}}, +/* 35501 */ {(12<<2)|2,{95,110,0}}, +/* 35502 */ {(12<<2)|2,{95,110,0}}, +/* 35503 */ {(12<<2)|2,{95,110,0}}, +/* 35504 */ {(12<<2)|2,{95,112,0}}, +/* 35505 */ {(12<<2)|2,{95,112,0}}, +/* 35506 */ {(12<<2)|2,{95,112,0}}, +/* 35507 */ {(12<<2)|2,{95,112,0}}, +/* 35508 */ {(12<<2)|2,{95,112,0}}, +/* 35509 */ {(12<<2)|2,{95,112,0}}, +/* 35510 */ {(12<<2)|2,{95,112,0}}, +/* 35511 */ {(12<<2)|2,{95,112,0}}, +/* 35512 */ {(12<<2)|2,{95,112,0}}, +/* 35513 */ {(12<<2)|2,{95,112,0}}, +/* 35514 */ {(12<<2)|2,{95,112,0}}, +/* 35515 */ {(12<<2)|2,{95,112,0}}, +/* 35516 */ {(12<<2)|2,{95,112,0}}, +/* 35517 */ {(12<<2)|2,{95,112,0}}, +/* 35518 */ {(12<<2)|2,{95,112,0}}, +/* 35519 */ {(12<<2)|2,{95,112,0}}, +/* 35520 */ {(12<<2)|2,{95,114,0}}, +/* 35521 */ {(12<<2)|2,{95,114,0}}, +/* 35522 */ {(12<<2)|2,{95,114,0}}, +/* 35523 */ {(12<<2)|2,{95,114,0}}, +/* 35524 */ {(12<<2)|2,{95,114,0}}, +/* 35525 */ {(12<<2)|2,{95,114,0}}, +/* 35526 */ {(12<<2)|2,{95,114,0}}, +/* 35527 */ {(12<<2)|2,{95,114,0}}, +/* 35528 */ {(12<<2)|2,{95,114,0}}, +/* 35529 */ {(12<<2)|2,{95,114,0}}, +/* 35530 */ {(12<<2)|2,{95,114,0}}, +/* 35531 */ {(12<<2)|2,{95,114,0}}, +/* 35532 */ {(12<<2)|2,{95,114,0}}, +/* 35533 */ {(12<<2)|2,{95,114,0}}, +/* 35534 */ {(12<<2)|2,{95,114,0}}, +/* 35535 */ {(12<<2)|2,{95,114,0}}, +/* 35536 */ {(12<<2)|2,{95,117,0}}, +/* 35537 */ {(12<<2)|2,{95,117,0}}, +/* 35538 */ {(12<<2)|2,{95,117,0}}, +/* 35539 */ {(12<<2)|2,{95,117,0}}, +/* 35540 */ {(12<<2)|2,{95,117,0}}, +/* 35541 */ {(12<<2)|2,{95,117,0}}, +/* 35542 */ {(12<<2)|2,{95,117,0}}, +/* 35543 */ {(12<<2)|2,{95,117,0}}, +/* 35544 */ {(12<<2)|2,{95,117,0}}, +/* 35545 */ {(12<<2)|2,{95,117,0}}, +/* 35546 */ {(12<<2)|2,{95,117,0}}, +/* 35547 */ {(12<<2)|2,{95,117,0}}, +/* 35548 */ {(12<<2)|2,{95,117,0}}, +/* 35549 */ {(12<<2)|2,{95,117,0}}, +/* 35550 */ {(12<<2)|2,{95,117,0}}, +/* 35551 */ {(12<<2)|2,{95,117,0}}, +/* 35552 */ {(13<<2)|2,{95,58,0}}, +/* 35553 */ {(13<<2)|2,{95,58,0}}, +/* 35554 */ {(13<<2)|2,{95,58,0}}, +/* 35555 */ {(13<<2)|2,{95,58,0}}, +/* 35556 */ {(13<<2)|2,{95,58,0}}, +/* 35557 */ {(13<<2)|2,{95,58,0}}, +/* 35558 */ {(13<<2)|2,{95,58,0}}, +/* 35559 */ {(13<<2)|2,{95,58,0}}, +/* 35560 */ {(13<<2)|2,{95,66,0}}, +/* 35561 */ {(13<<2)|2,{95,66,0}}, +/* 35562 */ {(13<<2)|2,{95,66,0}}, +/* 35563 */ {(13<<2)|2,{95,66,0}}, +/* 35564 */ {(13<<2)|2,{95,66,0}}, +/* 35565 */ {(13<<2)|2,{95,66,0}}, +/* 35566 */ {(13<<2)|2,{95,66,0}}, +/* 35567 */ {(13<<2)|2,{95,66,0}}, +/* 35568 */ {(13<<2)|2,{95,67,0}}, +/* 35569 */ {(13<<2)|2,{95,67,0}}, +/* 35570 */ {(13<<2)|2,{95,67,0}}, +/* 35571 */ {(13<<2)|2,{95,67,0}}, +/* 35572 */ {(13<<2)|2,{95,67,0}}, +/* 35573 */ {(13<<2)|2,{95,67,0}}, +/* 35574 */ {(13<<2)|2,{95,67,0}}, +/* 35575 */ {(13<<2)|2,{95,67,0}}, +/* 35576 */ {(13<<2)|2,{95,68,0}}, +/* 35577 */ {(13<<2)|2,{95,68,0}}, +/* 35578 */ {(13<<2)|2,{95,68,0}}, +/* 35579 */ {(13<<2)|2,{95,68,0}}, +/* 35580 */ {(13<<2)|2,{95,68,0}}, +/* 35581 */ {(13<<2)|2,{95,68,0}}, +/* 35582 */ {(13<<2)|2,{95,68,0}}, +/* 35583 */ {(13<<2)|2,{95,68,0}}, +/* 35584 */ {(13<<2)|2,{95,69,0}}, +/* 35585 */ {(13<<2)|2,{95,69,0}}, +/* 35586 */ {(13<<2)|2,{95,69,0}}, +/* 35587 */ {(13<<2)|2,{95,69,0}}, +/* 35588 */ {(13<<2)|2,{95,69,0}}, +/* 35589 */ {(13<<2)|2,{95,69,0}}, +/* 35590 */ {(13<<2)|2,{95,69,0}}, +/* 35591 */ {(13<<2)|2,{95,69,0}}, +/* 35592 */ {(13<<2)|2,{95,70,0}}, +/* 35593 */ {(13<<2)|2,{95,70,0}}, +/* 35594 */ {(13<<2)|2,{95,70,0}}, +/* 35595 */ {(13<<2)|2,{95,70,0}}, +/* 35596 */ {(13<<2)|2,{95,70,0}}, +/* 35597 */ {(13<<2)|2,{95,70,0}}, +/* 35598 */ {(13<<2)|2,{95,70,0}}, +/* 35599 */ {(13<<2)|2,{95,70,0}}, +/* 35600 */ {(13<<2)|2,{95,71,0}}, +/* 35601 */ {(13<<2)|2,{95,71,0}}, +/* 35602 */ {(13<<2)|2,{95,71,0}}, +/* 35603 */ {(13<<2)|2,{95,71,0}}, +/* 35604 */ {(13<<2)|2,{95,71,0}}, +/* 35605 */ {(13<<2)|2,{95,71,0}}, +/* 35606 */ {(13<<2)|2,{95,71,0}}, +/* 35607 */ {(13<<2)|2,{95,71,0}}, +/* 35608 */ {(13<<2)|2,{95,72,0}}, +/* 35609 */ {(13<<2)|2,{95,72,0}}, +/* 35610 */ {(13<<2)|2,{95,72,0}}, +/* 35611 */ {(13<<2)|2,{95,72,0}}, +/* 35612 */ {(13<<2)|2,{95,72,0}}, +/* 35613 */ {(13<<2)|2,{95,72,0}}, +/* 35614 */ {(13<<2)|2,{95,72,0}}, +/* 35615 */ {(13<<2)|2,{95,72,0}}, +/* 35616 */ {(13<<2)|2,{95,73,0}}, +/* 35617 */ {(13<<2)|2,{95,73,0}}, +/* 35618 */ {(13<<2)|2,{95,73,0}}, +/* 35619 */ {(13<<2)|2,{95,73,0}}, +/* 35620 */ {(13<<2)|2,{95,73,0}}, +/* 35621 */ {(13<<2)|2,{95,73,0}}, +/* 35622 */ {(13<<2)|2,{95,73,0}}, +/* 35623 */ {(13<<2)|2,{95,73,0}}, +/* 35624 */ {(13<<2)|2,{95,74,0}}, +/* 35625 */ {(13<<2)|2,{95,74,0}}, +/* 35626 */ {(13<<2)|2,{95,74,0}}, +/* 35627 */ {(13<<2)|2,{95,74,0}}, +/* 35628 */ {(13<<2)|2,{95,74,0}}, +/* 35629 */ {(13<<2)|2,{95,74,0}}, +/* 35630 */ {(13<<2)|2,{95,74,0}}, +/* 35631 */ {(13<<2)|2,{95,74,0}}, +/* 35632 */ {(13<<2)|2,{95,75,0}}, +/* 35633 */ {(13<<2)|2,{95,75,0}}, +/* 35634 */ {(13<<2)|2,{95,75,0}}, +/* 35635 */ {(13<<2)|2,{95,75,0}}, +/* 35636 */ {(13<<2)|2,{95,75,0}}, +/* 35637 */ {(13<<2)|2,{95,75,0}}, +/* 35638 */ {(13<<2)|2,{95,75,0}}, +/* 35639 */ {(13<<2)|2,{95,75,0}}, +/* 35640 */ {(13<<2)|2,{95,76,0}}, +/* 35641 */ {(13<<2)|2,{95,76,0}}, +/* 35642 */ {(13<<2)|2,{95,76,0}}, +/* 35643 */ {(13<<2)|2,{95,76,0}}, +/* 35644 */ {(13<<2)|2,{95,76,0}}, +/* 35645 */ {(13<<2)|2,{95,76,0}}, +/* 35646 */ {(13<<2)|2,{95,76,0}}, +/* 35647 */ {(13<<2)|2,{95,76,0}}, +/* 35648 */ {(13<<2)|2,{95,77,0}}, +/* 35649 */ {(13<<2)|2,{95,77,0}}, +/* 35650 */ {(13<<2)|2,{95,77,0}}, +/* 35651 */ {(13<<2)|2,{95,77,0}}, +/* 35652 */ {(13<<2)|2,{95,77,0}}, +/* 35653 */ {(13<<2)|2,{95,77,0}}, +/* 35654 */ {(13<<2)|2,{95,77,0}}, +/* 35655 */ {(13<<2)|2,{95,77,0}}, +/* 35656 */ {(13<<2)|2,{95,78,0}}, +/* 35657 */ {(13<<2)|2,{95,78,0}}, +/* 35658 */ {(13<<2)|2,{95,78,0}}, +/* 35659 */ {(13<<2)|2,{95,78,0}}, +/* 35660 */ {(13<<2)|2,{95,78,0}}, +/* 35661 */ {(13<<2)|2,{95,78,0}}, +/* 35662 */ {(13<<2)|2,{95,78,0}}, +/* 35663 */ {(13<<2)|2,{95,78,0}}, +/* 35664 */ {(13<<2)|2,{95,79,0}}, +/* 35665 */ {(13<<2)|2,{95,79,0}}, +/* 35666 */ {(13<<2)|2,{95,79,0}}, +/* 35667 */ {(13<<2)|2,{95,79,0}}, +/* 35668 */ {(13<<2)|2,{95,79,0}}, +/* 35669 */ {(13<<2)|2,{95,79,0}}, +/* 35670 */ {(13<<2)|2,{95,79,0}}, +/* 35671 */ {(13<<2)|2,{95,79,0}}, +/* 35672 */ {(13<<2)|2,{95,80,0}}, +/* 35673 */ {(13<<2)|2,{95,80,0}}, +/* 35674 */ {(13<<2)|2,{95,80,0}}, +/* 35675 */ {(13<<2)|2,{95,80,0}}, +/* 35676 */ {(13<<2)|2,{95,80,0}}, +/* 35677 */ {(13<<2)|2,{95,80,0}}, +/* 35678 */ {(13<<2)|2,{95,80,0}}, +/* 35679 */ {(13<<2)|2,{95,80,0}}, +/* 35680 */ {(13<<2)|2,{95,81,0}}, +/* 35681 */ {(13<<2)|2,{95,81,0}}, +/* 35682 */ {(13<<2)|2,{95,81,0}}, +/* 35683 */ {(13<<2)|2,{95,81,0}}, +/* 35684 */ {(13<<2)|2,{95,81,0}}, +/* 35685 */ {(13<<2)|2,{95,81,0}}, +/* 35686 */ {(13<<2)|2,{95,81,0}}, +/* 35687 */ {(13<<2)|2,{95,81,0}}, +/* 35688 */ {(13<<2)|2,{95,82,0}}, +/* 35689 */ {(13<<2)|2,{95,82,0}}, +/* 35690 */ {(13<<2)|2,{95,82,0}}, +/* 35691 */ {(13<<2)|2,{95,82,0}}, +/* 35692 */ {(13<<2)|2,{95,82,0}}, +/* 35693 */ {(13<<2)|2,{95,82,0}}, +/* 35694 */ {(13<<2)|2,{95,82,0}}, +/* 35695 */ {(13<<2)|2,{95,82,0}}, +/* 35696 */ {(13<<2)|2,{95,83,0}}, +/* 35697 */ {(13<<2)|2,{95,83,0}}, +/* 35698 */ {(13<<2)|2,{95,83,0}}, +/* 35699 */ {(13<<2)|2,{95,83,0}}, +/* 35700 */ {(13<<2)|2,{95,83,0}}, +/* 35701 */ {(13<<2)|2,{95,83,0}}, +/* 35702 */ {(13<<2)|2,{95,83,0}}, +/* 35703 */ {(13<<2)|2,{95,83,0}}, +/* 35704 */ {(13<<2)|2,{95,84,0}}, +/* 35705 */ {(13<<2)|2,{95,84,0}}, +/* 35706 */ {(13<<2)|2,{95,84,0}}, +/* 35707 */ {(13<<2)|2,{95,84,0}}, +/* 35708 */ {(13<<2)|2,{95,84,0}}, +/* 35709 */ {(13<<2)|2,{95,84,0}}, +/* 35710 */ {(13<<2)|2,{95,84,0}}, +/* 35711 */ {(13<<2)|2,{95,84,0}}, +/* 35712 */ {(13<<2)|2,{95,85,0}}, +/* 35713 */ {(13<<2)|2,{95,85,0}}, +/* 35714 */ {(13<<2)|2,{95,85,0}}, +/* 35715 */ {(13<<2)|2,{95,85,0}}, +/* 35716 */ {(13<<2)|2,{95,85,0}}, +/* 35717 */ {(13<<2)|2,{95,85,0}}, +/* 35718 */ {(13<<2)|2,{95,85,0}}, +/* 35719 */ {(13<<2)|2,{95,85,0}}, +/* 35720 */ {(13<<2)|2,{95,86,0}}, +/* 35721 */ {(13<<2)|2,{95,86,0}}, +/* 35722 */ {(13<<2)|2,{95,86,0}}, +/* 35723 */ {(13<<2)|2,{95,86,0}}, +/* 35724 */ {(13<<2)|2,{95,86,0}}, +/* 35725 */ {(13<<2)|2,{95,86,0}}, +/* 35726 */ {(13<<2)|2,{95,86,0}}, +/* 35727 */ {(13<<2)|2,{95,86,0}}, +/* 35728 */ {(13<<2)|2,{95,87,0}}, +/* 35729 */ {(13<<2)|2,{95,87,0}}, +/* 35730 */ {(13<<2)|2,{95,87,0}}, +/* 35731 */ {(13<<2)|2,{95,87,0}}, +/* 35732 */ {(13<<2)|2,{95,87,0}}, +/* 35733 */ {(13<<2)|2,{95,87,0}}, +/* 35734 */ {(13<<2)|2,{95,87,0}}, +/* 35735 */ {(13<<2)|2,{95,87,0}}, +/* 35736 */ {(13<<2)|2,{95,89,0}}, +/* 35737 */ {(13<<2)|2,{95,89,0}}, +/* 35738 */ {(13<<2)|2,{95,89,0}}, +/* 35739 */ {(13<<2)|2,{95,89,0}}, +/* 35740 */ {(13<<2)|2,{95,89,0}}, +/* 35741 */ {(13<<2)|2,{95,89,0}}, +/* 35742 */ {(13<<2)|2,{95,89,0}}, +/* 35743 */ {(13<<2)|2,{95,89,0}}, +/* 35744 */ {(13<<2)|2,{95,106,0}}, +/* 35745 */ {(13<<2)|2,{95,106,0}}, +/* 35746 */ {(13<<2)|2,{95,106,0}}, +/* 35747 */ {(13<<2)|2,{95,106,0}}, +/* 35748 */ {(13<<2)|2,{95,106,0}}, +/* 35749 */ {(13<<2)|2,{95,106,0}}, +/* 35750 */ {(13<<2)|2,{95,106,0}}, +/* 35751 */ {(13<<2)|2,{95,106,0}}, +/* 35752 */ {(13<<2)|2,{95,107,0}}, +/* 35753 */ {(13<<2)|2,{95,107,0}}, +/* 35754 */ {(13<<2)|2,{95,107,0}}, +/* 35755 */ {(13<<2)|2,{95,107,0}}, +/* 35756 */ {(13<<2)|2,{95,107,0}}, +/* 35757 */ {(13<<2)|2,{95,107,0}}, +/* 35758 */ {(13<<2)|2,{95,107,0}}, +/* 35759 */ {(13<<2)|2,{95,107,0}}, +/* 35760 */ {(13<<2)|2,{95,113,0}}, +/* 35761 */ {(13<<2)|2,{95,113,0}}, +/* 35762 */ {(13<<2)|2,{95,113,0}}, +/* 35763 */ {(13<<2)|2,{95,113,0}}, +/* 35764 */ {(13<<2)|2,{95,113,0}}, +/* 35765 */ {(13<<2)|2,{95,113,0}}, +/* 35766 */ {(13<<2)|2,{95,113,0}}, +/* 35767 */ {(13<<2)|2,{95,113,0}}, +/* 35768 */ {(13<<2)|2,{95,118,0}}, +/* 35769 */ {(13<<2)|2,{95,118,0}}, +/* 35770 */ {(13<<2)|2,{95,118,0}}, +/* 35771 */ {(13<<2)|2,{95,118,0}}, +/* 35772 */ {(13<<2)|2,{95,118,0}}, +/* 35773 */ {(13<<2)|2,{95,118,0}}, +/* 35774 */ {(13<<2)|2,{95,118,0}}, +/* 35775 */ {(13<<2)|2,{95,118,0}}, +/* 35776 */ {(13<<2)|2,{95,119,0}}, +/* 35777 */ {(13<<2)|2,{95,119,0}}, +/* 35778 */ {(13<<2)|2,{95,119,0}}, +/* 35779 */ {(13<<2)|2,{95,119,0}}, +/* 35780 */ {(13<<2)|2,{95,119,0}}, +/* 35781 */ {(13<<2)|2,{95,119,0}}, +/* 35782 */ {(13<<2)|2,{95,119,0}}, +/* 35783 */ {(13<<2)|2,{95,119,0}}, +/* 35784 */ {(13<<2)|2,{95,120,0}}, +/* 35785 */ {(13<<2)|2,{95,120,0}}, +/* 35786 */ {(13<<2)|2,{95,120,0}}, +/* 35787 */ {(13<<2)|2,{95,120,0}}, +/* 35788 */ {(13<<2)|2,{95,120,0}}, +/* 35789 */ {(13<<2)|2,{95,120,0}}, +/* 35790 */ {(13<<2)|2,{95,120,0}}, +/* 35791 */ {(13<<2)|2,{95,120,0}}, +/* 35792 */ {(13<<2)|2,{95,121,0}}, +/* 35793 */ {(13<<2)|2,{95,121,0}}, +/* 35794 */ {(13<<2)|2,{95,121,0}}, +/* 35795 */ {(13<<2)|2,{95,121,0}}, +/* 35796 */ {(13<<2)|2,{95,121,0}}, +/* 35797 */ {(13<<2)|2,{95,121,0}}, +/* 35798 */ {(13<<2)|2,{95,121,0}}, +/* 35799 */ {(13<<2)|2,{95,121,0}}, +/* 35800 */ {(13<<2)|2,{95,122,0}}, +/* 35801 */ {(13<<2)|2,{95,122,0}}, +/* 35802 */ {(13<<2)|2,{95,122,0}}, +/* 35803 */ {(13<<2)|2,{95,122,0}}, +/* 35804 */ {(13<<2)|2,{95,122,0}}, +/* 35805 */ {(13<<2)|2,{95,122,0}}, +/* 35806 */ {(13<<2)|2,{95,122,0}}, +/* 35807 */ {(13<<2)|2,{95,122,0}}, +/* 35808 */ {(14<<2)|2,{95,38,0}}, +/* 35809 */ {(14<<2)|2,{95,38,0}}, +/* 35810 */ {(14<<2)|2,{95,38,0}}, +/* 35811 */ {(14<<2)|2,{95,38,0}}, +/* 35812 */ {(14<<2)|2,{95,42,0}}, +/* 35813 */ {(14<<2)|2,{95,42,0}}, +/* 35814 */ {(14<<2)|2,{95,42,0}}, +/* 35815 */ {(14<<2)|2,{95,42,0}}, +/* 35816 */ {(14<<2)|2,{95,44,0}}, +/* 35817 */ {(14<<2)|2,{95,44,0}}, +/* 35818 */ {(14<<2)|2,{95,44,0}}, +/* 35819 */ {(14<<2)|2,{95,44,0}}, +/* 35820 */ {(14<<2)|2,{95,59,0}}, +/* 35821 */ {(14<<2)|2,{95,59,0}}, +/* 35822 */ {(14<<2)|2,{95,59,0}}, +/* 35823 */ {(14<<2)|2,{95,59,0}}, +/* 35824 */ {(14<<2)|2,{95,88,0}}, +/* 35825 */ {(14<<2)|2,{95,88,0}}, +/* 35826 */ {(14<<2)|2,{95,88,0}}, +/* 35827 */ {(14<<2)|2,{95,88,0}}, +/* 35828 */ {(14<<2)|2,{95,90,0}}, +/* 35829 */ {(14<<2)|2,{95,90,0}}, +/* 35830 */ {(14<<2)|2,{95,90,0}}, +/* 35831 */ {(14<<2)|2,{95,90,0}}, +/* 35832 */ {(16<<2)|2,{95,33,0}}, +/* 35833 */ {(16<<2)|2,{95,34,0}}, +/* 35834 */ {(16<<2)|2,{95,40,0}}, +/* 35835 */ {(16<<2)|2,{95,41,0}}, +/* 35836 */ {(16<<2)|2,{95,63,0}}, +/* 35837 */ {(6<<2)|1,{95,0,0}}, +/* 35838 */ {(6<<2)|1,{95,0,0}}, +/* 35839 */ {(6<<2)|1,{95,0,0}}, +/* 35840 */ {(16<<2)|3,{98,48,48}}, +/* 35841 */ {(16<<2)|3,{98,48,49}}, +/* 35842 */ {(16<<2)|3,{98,48,50}}, +/* 35843 */ {(16<<2)|3,{98,48,97}}, +/* 35844 */ {(16<<2)|3,{98,48,99}}, +/* 35845 */ {(16<<2)|3,{98,48,101}}, +/* 35846 */ {(16<<2)|3,{98,48,105}}, +/* 35847 */ {(16<<2)|3,{98,48,111}}, +/* 35848 */ {(16<<2)|3,{98,48,115}}, +/* 35849 */ {(16<<2)|3,{98,48,116}}, +/* 35850 */ {(11<<2)|2,{98,48,0}}, +/* 35851 */ {(11<<2)|2,{98,48,0}}, +/* 35852 */ {(11<<2)|2,{98,48,0}}, +/* 35853 */ {(11<<2)|2,{98,48,0}}, +/* 35854 */ {(11<<2)|2,{98,48,0}}, +/* 35855 */ {(11<<2)|2,{98,48,0}}, +/* 35856 */ {(11<<2)|2,{98,48,0}}, +/* 35857 */ {(11<<2)|2,{98,48,0}}, +/* 35858 */ {(11<<2)|2,{98,48,0}}, +/* 35859 */ {(11<<2)|2,{98,48,0}}, +/* 35860 */ {(11<<2)|2,{98,48,0}}, +/* 35861 */ {(11<<2)|2,{98,48,0}}, +/* 35862 */ {(11<<2)|2,{98,48,0}}, +/* 35863 */ {(11<<2)|2,{98,48,0}}, +/* 35864 */ {(11<<2)|2,{98,48,0}}, +/* 35865 */ {(11<<2)|2,{98,48,0}}, +/* 35866 */ {(11<<2)|2,{98,48,0}}, +/* 35867 */ {(11<<2)|2,{98,48,0}}, +/* 35868 */ {(11<<2)|2,{98,48,0}}, +/* 35869 */ {(11<<2)|2,{98,48,0}}, +/* 35870 */ {(11<<2)|2,{98,48,0}}, +/* 35871 */ {(11<<2)|2,{98,48,0}}, +/* 35872 */ {(16<<2)|3,{98,49,48}}, +/* 35873 */ {(16<<2)|3,{98,49,49}}, +/* 35874 */ {(16<<2)|3,{98,49,50}}, +/* 35875 */ {(16<<2)|3,{98,49,97}}, +/* 35876 */ {(16<<2)|3,{98,49,99}}, +/* 35877 */ {(16<<2)|3,{98,49,101}}, +/* 35878 */ {(16<<2)|3,{98,49,105}}, +/* 35879 */ {(16<<2)|3,{98,49,111}}, +/* 35880 */ {(16<<2)|3,{98,49,115}}, +/* 35881 */ {(16<<2)|3,{98,49,116}}, +/* 35882 */ {(11<<2)|2,{98,49,0}}, +/* 35883 */ {(11<<2)|2,{98,49,0}}, +/* 35884 */ {(11<<2)|2,{98,49,0}}, +/* 35885 */ {(11<<2)|2,{98,49,0}}, +/* 35886 */ {(11<<2)|2,{98,49,0}}, +/* 35887 */ {(11<<2)|2,{98,49,0}}, +/* 35888 */ {(11<<2)|2,{98,49,0}}, +/* 35889 */ {(11<<2)|2,{98,49,0}}, +/* 35890 */ {(11<<2)|2,{98,49,0}}, +/* 35891 */ {(11<<2)|2,{98,49,0}}, +/* 35892 */ {(11<<2)|2,{98,49,0}}, +/* 35893 */ {(11<<2)|2,{98,49,0}}, +/* 35894 */ {(11<<2)|2,{98,49,0}}, +/* 35895 */ {(11<<2)|2,{98,49,0}}, +/* 35896 */ {(11<<2)|2,{98,49,0}}, +/* 35897 */ {(11<<2)|2,{98,49,0}}, +/* 35898 */ {(11<<2)|2,{98,49,0}}, +/* 35899 */ {(11<<2)|2,{98,49,0}}, +/* 35900 */ {(11<<2)|2,{98,49,0}}, +/* 35901 */ {(11<<2)|2,{98,49,0}}, +/* 35902 */ {(11<<2)|2,{98,49,0}}, +/* 35903 */ {(11<<2)|2,{98,49,0}}, +/* 35904 */ {(16<<2)|3,{98,50,48}}, +/* 35905 */ {(16<<2)|3,{98,50,49}}, +/* 35906 */ {(16<<2)|3,{98,50,50}}, +/* 35907 */ {(16<<2)|3,{98,50,97}}, +/* 35908 */ {(16<<2)|3,{98,50,99}}, +/* 35909 */ {(16<<2)|3,{98,50,101}}, +/* 35910 */ {(16<<2)|3,{98,50,105}}, +/* 35911 */ {(16<<2)|3,{98,50,111}}, +/* 35912 */ {(16<<2)|3,{98,50,115}}, +/* 35913 */ {(16<<2)|3,{98,50,116}}, +/* 35914 */ {(11<<2)|2,{98,50,0}}, +/* 35915 */ {(11<<2)|2,{98,50,0}}, +/* 35916 */ {(11<<2)|2,{98,50,0}}, +/* 35917 */ {(11<<2)|2,{98,50,0}}, +/* 35918 */ {(11<<2)|2,{98,50,0}}, +/* 35919 */ {(11<<2)|2,{98,50,0}}, +/* 35920 */ {(11<<2)|2,{98,50,0}}, +/* 35921 */ {(11<<2)|2,{98,50,0}}, +/* 35922 */ {(11<<2)|2,{98,50,0}}, +/* 35923 */ {(11<<2)|2,{98,50,0}}, +/* 35924 */ {(11<<2)|2,{98,50,0}}, +/* 35925 */ {(11<<2)|2,{98,50,0}}, +/* 35926 */ {(11<<2)|2,{98,50,0}}, +/* 35927 */ {(11<<2)|2,{98,50,0}}, +/* 35928 */ {(11<<2)|2,{98,50,0}}, +/* 35929 */ {(11<<2)|2,{98,50,0}}, +/* 35930 */ {(11<<2)|2,{98,50,0}}, +/* 35931 */ {(11<<2)|2,{98,50,0}}, +/* 35932 */ {(11<<2)|2,{98,50,0}}, +/* 35933 */ {(11<<2)|2,{98,50,0}}, +/* 35934 */ {(11<<2)|2,{98,50,0}}, +/* 35935 */ {(11<<2)|2,{98,50,0}}, +/* 35936 */ {(16<<2)|3,{98,97,48}}, +/* 35937 */ {(16<<2)|3,{98,97,49}}, +/* 35938 */ {(16<<2)|3,{98,97,50}}, +/* 35939 */ {(16<<2)|3,{98,97,97}}, +/* 35940 */ {(16<<2)|3,{98,97,99}}, +/* 35941 */ {(16<<2)|3,{98,97,101}}, +/* 35942 */ {(16<<2)|3,{98,97,105}}, +/* 35943 */ {(16<<2)|3,{98,97,111}}, +/* 35944 */ {(16<<2)|3,{98,97,115}}, +/* 35945 */ {(16<<2)|3,{98,97,116}}, +/* 35946 */ {(11<<2)|2,{98,97,0}}, +/* 35947 */ {(11<<2)|2,{98,97,0}}, +/* 35948 */ {(11<<2)|2,{98,97,0}}, +/* 35949 */ {(11<<2)|2,{98,97,0}}, +/* 35950 */ {(11<<2)|2,{98,97,0}}, +/* 35951 */ {(11<<2)|2,{98,97,0}}, +/* 35952 */ {(11<<2)|2,{98,97,0}}, +/* 35953 */ {(11<<2)|2,{98,97,0}}, +/* 35954 */ {(11<<2)|2,{98,97,0}}, +/* 35955 */ {(11<<2)|2,{98,97,0}}, +/* 35956 */ {(11<<2)|2,{98,97,0}}, +/* 35957 */ {(11<<2)|2,{98,97,0}}, +/* 35958 */ {(11<<2)|2,{98,97,0}}, +/* 35959 */ {(11<<2)|2,{98,97,0}}, +/* 35960 */ {(11<<2)|2,{98,97,0}}, +/* 35961 */ {(11<<2)|2,{98,97,0}}, +/* 35962 */ {(11<<2)|2,{98,97,0}}, +/* 35963 */ {(11<<2)|2,{98,97,0}}, +/* 35964 */ {(11<<2)|2,{98,97,0}}, +/* 35965 */ {(11<<2)|2,{98,97,0}}, +/* 35966 */ {(11<<2)|2,{98,97,0}}, +/* 35967 */ {(11<<2)|2,{98,97,0}}, +/* 35968 */ {(16<<2)|3,{98,99,48}}, +/* 35969 */ {(16<<2)|3,{98,99,49}}, +/* 35970 */ {(16<<2)|3,{98,99,50}}, +/* 35971 */ {(16<<2)|3,{98,99,97}}, +/* 35972 */ {(16<<2)|3,{98,99,99}}, +/* 35973 */ {(16<<2)|3,{98,99,101}}, +/* 35974 */ {(16<<2)|3,{98,99,105}}, +/* 35975 */ {(16<<2)|3,{98,99,111}}, +/* 35976 */ {(16<<2)|3,{98,99,115}}, +/* 35977 */ {(16<<2)|3,{98,99,116}}, +/* 35978 */ {(11<<2)|2,{98,99,0}}, +/* 35979 */ {(11<<2)|2,{98,99,0}}, +/* 35980 */ {(11<<2)|2,{98,99,0}}, +/* 35981 */ {(11<<2)|2,{98,99,0}}, +/* 35982 */ {(11<<2)|2,{98,99,0}}, +/* 35983 */ {(11<<2)|2,{98,99,0}}, +/* 35984 */ {(11<<2)|2,{98,99,0}}, +/* 35985 */ {(11<<2)|2,{98,99,0}}, +/* 35986 */ {(11<<2)|2,{98,99,0}}, +/* 35987 */ {(11<<2)|2,{98,99,0}}, +/* 35988 */ {(11<<2)|2,{98,99,0}}, +/* 35989 */ {(11<<2)|2,{98,99,0}}, +/* 35990 */ {(11<<2)|2,{98,99,0}}, +/* 35991 */ {(11<<2)|2,{98,99,0}}, +/* 35992 */ {(11<<2)|2,{98,99,0}}, +/* 35993 */ {(11<<2)|2,{98,99,0}}, +/* 35994 */ {(11<<2)|2,{98,99,0}}, +/* 35995 */ {(11<<2)|2,{98,99,0}}, +/* 35996 */ {(11<<2)|2,{98,99,0}}, +/* 35997 */ {(11<<2)|2,{98,99,0}}, +/* 35998 */ {(11<<2)|2,{98,99,0}}, +/* 35999 */ {(11<<2)|2,{98,99,0}}, +/* 36000 */ {(16<<2)|3,{98,101,48}}, +/* 36001 */ {(16<<2)|3,{98,101,49}}, +/* 36002 */ {(16<<2)|3,{98,101,50}}, +/* 36003 */ {(16<<2)|3,{98,101,97}}, +/* 36004 */ {(16<<2)|3,{98,101,99}}, +/* 36005 */ {(16<<2)|3,{98,101,101}}, +/* 36006 */ {(16<<2)|3,{98,101,105}}, +/* 36007 */ {(16<<2)|3,{98,101,111}}, +/* 36008 */ {(16<<2)|3,{98,101,115}}, +/* 36009 */ {(16<<2)|3,{98,101,116}}, +/* 36010 */ {(11<<2)|2,{98,101,0}}, +/* 36011 */ {(11<<2)|2,{98,101,0}}, +/* 36012 */ {(11<<2)|2,{98,101,0}}, +/* 36013 */ {(11<<2)|2,{98,101,0}}, +/* 36014 */ {(11<<2)|2,{98,101,0}}, +/* 36015 */ {(11<<2)|2,{98,101,0}}, +/* 36016 */ {(11<<2)|2,{98,101,0}}, +/* 36017 */ {(11<<2)|2,{98,101,0}}, +/* 36018 */ {(11<<2)|2,{98,101,0}}, +/* 36019 */ {(11<<2)|2,{98,101,0}}, +/* 36020 */ {(11<<2)|2,{98,101,0}}, +/* 36021 */ {(11<<2)|2,{98,101,0}}, +/* 36022 */ {(11<<2)|2,{98,101,0}}, +/* 36023 */ {(11<<2)|2,{98,101,0}}, +/* 36024 */ {(11<<2)|2,{98,101,0}}, +/* 36025 */ {(11<<2)|2,{98,101,0}}, +/* 36026 */ {(11<<2)|2,{98,101,0}}, +/* 36027 */ {(11<<2)|2,{98,101,0}}, +/* 36028 */ {(11<<2)|2,{98,101,0}}, +/* 36029 */ {(11<<2)|2,{98,101,0}}, +/* 36030 */ {(11<<2)|2,{98,101,0}}, +/* 36031 */ {(11<<2)|2,{98,101,0}}, +/* 36032 */ {(16<<2)|3,{98,105,48}}, +/* 36033 */ {(16<<2)|3,{98,105,49}}, +/* 36034 */ {(16<<2)|3,{98,105,50}}, +/* 36035 */ {(16<<2)|3,{98,105,97}}, +/* 36036 */ {(16<<2)|3,{98,105,99}}, +/* 36037 */ {(16<<2)|3,{98,105,101}}, +/* 36038 */ {(16<<2)|3,{98,105,105}}, +/* 36039 */ {(16<<2)|3,{98,105,111}}, +/* 36040 */ {(16<<2)|3,{98,105,115}}, +/* 36041 */ {(16<<2)|3,{98,105,116}}, +/* 36042 */ {(11<<2)|2,{98,105,0}}, +/* 36043 */ {(11<<2)|2,{98,105,0}}, +/* 36044 */ {(11<<2)|2,{98,105,0}}, +/* 36045 */ {(11<<2)|2,{98,105,0}}, +/* 36046 */ {(11<<2)|2,{98,105,0}}, +/* 36047 */ {(11<<2)|2,{98,105,0}}, +/* 36048 */ {(11<<2)|2,{98,105,0}}, +/* 36049 */ {(11<<2)|2,{98,105,0}}, +/* 36050 */ {(11<<2)|2,{98,105,0}}, +/* 36051 */ {(11<<2)|2,{98,105,0}}, +/* 36052 */ {(11<<2)|2,{98,105,0}}, +/* 36053 */ {(11<<2)|2,{98,105,0}}, +/* 36054 */ {(11<<2)|2,{98,105,0}}, +/* 36055 */ {(11<<2)|2,{98,105,0}}, +/* 36056 */ {(11<<2)|2,{98,105,0}}, +/* 36057 */ {(11<<2)|2,{98,105,0}}, +/* 36058 */ {(11<<2)|2,{98,105,0}}, +/* 36059 */ {(11<<2)|2,{98,105,0}}, +/* 36060 */ {(11<<2)|2,{98,105,0}}, +/* 36061 */ {(11<<2)|2,{98,105,0}}, +/* 36062 */ {(11<<2)|2,{98,105,0}}, +/* 36063 */ {(11<<2)|2,{98,105,0}}, +/* 36064 */ {(16<<2)|3,{98,111,48}}, +/* 36065 */ {(16<<2)|3,{98,111,49}}, +/* 36066 */ {(16<<2)|3,{98,111,50}}, +/* 36067 */ {(16<<2)|3,{98,111,97}}, +/* 36068 */ {(16<<2)|3,{98,111,99}}, +/* 36069 */ {(16<<2)|3,{98,111,101}}, +/* 36070 */ {(16<<2)|3,{98,111,105}}, +/* 36071 */ {(16<<2)|3,{98,111,111}}, +/* 36072 */ {(16<<2)|3,{98,111,115}}, +/* 36073 */ {(16<<2)|3,{98,111,116}}, +/* 36074 */ {(11<<2)|2,{98,111,0}}, +/* 36075 */ {(11<<2)|2,{98,111,0}}, +/* 36076 */ {(11<<2)|2,{98,111,0}}, +/* 36077 */ {(11<<2)|2,{98,111,0}}, +/* 36078 */ {(11<<2)|2,{98,111,0}}, +/* 36079 */ {(11<<2)|2,{98,111,0}}, +/* 36080 */ {(11<<2)|2,{98,111,0}}, +/* 36081 */ {(11<<2)|2,{98,111,0}}, +/* 36082 */ {(11<<2)|2,{98,111,0}}, +/* 36083 */ {(11<<2)|2,{98,111,0}}, +/* 36084 */ {(11<<2)|2,{98,111,0}}, +/* 36085 */ {(11<<2)|2,{98,111,0}}, +/* 36086 */ {(11<<2)|2,{98,111,0}}, +/* 36087 */ {(11<<2)|2,{98,111,0}}, +/* 36088 */ {(11<<2)|2,{98,111,0}}, +/* 36089 */ {(11<<2)|2,{98,111,0}}, +/* 36090 */ {(11<<2)|2,{98,111,0}}, +/* 36091 */ {(11<<2)|2,{98,111,0}}, +/* 36092 */ {(11<<2)|2,{98,111,0}}, +/* 36093 */ {(11<<2)|2,{98,111,0}}, +/* 36094 */ {(11<<2)|2,{98,111,0}}, +/* 36095 */ {(11<<2)|2,{98,111,0}}, +/* 36096 */ {(16<<2)|3,{98,115,48}}, +/* 36097 */ {(16<<2)|3,{98,115,49}}, +/* 36098 */ {(16<<2)|3,{98,115,50}}, +/* 36099 */ {(16<<2)|3,{98,115,97}}, +/* 36100 */ {(16<<2)|3,{98,115,99}}, +/* 36101 */ {(16<<2)|3,{98,115,101}}, +/* 36102 */ {(16<<2)|3,{98,115,105}}, +/* 36103 */ {(16<<2)|3,{98,115,111}}, +/* 36104 */ {(16<<2)|3,{98,115,115}}, +/* 36105 */ {(16<<2)|3,{98,115,116}}, +/* 36106 */ {(11<<2)|2,{98,115,0}}, +/* 36107 */ {(11<<2)|2,{98,115,0}}, +/* 36108 */ {(11<<2)|2,{98,115,0}}, +/* 36109 */ {(11<<2)|2,{98,115,0}}, +/* 36110 */ {(11<<2)|2,{98,115,0}}, +/* 36111 */ {(11<<2)|2,{98,115,0}}, +/* 36112 */ {(11<<2)|2,{98,115,0}}, +/* 36113 */ {(11<<2)|2,{98,115,0}}, +/* 36114 */ {(11<<2)|2,{98,115,0}}, +/* 36115 */ {(11<<2)|2,{98,115,0}}, +/* 36116 */ {(11<<2)|2,{98,115,0}}, +/* 36117 */ {(11<<2)|2,{98,115,0}}, +/* 36118 */ {(11<<2)|2,{98,115,0}}, +/* 36119 */ {(11<<2)|2,{98,115,0}}, +/* 36120 */ {(11<<2)|2,{98,115,0}}, +/* 36121 */ {(11<<2)|2,{98,115,0}}, +/* 36122 */ {(11<<2)|2,{98,115,0}}, +/* 36123 */ {(11<<2)|2,{98,115,0}}, +/* 36124 */ {(11<<2)|2,{98,115,0}}, +/* 36125 */ {(11<<2)|2,{98,115,0}}, +/* 36126 */ {(11<<2)|2,{98,115,0}}, +/* 36127 */ {(11<<2)|2,{98,115,0}}, +/* 36128 */ {(16<<2)|3,{98,116,48}}, +/* 36129 */ {(16<<2)|3,{98,116,49}}, +/* 36130 */ {(16<<2)|3,{98,116,50}}, +/* 36131 */ {(16<<2)|3,{98,116,97}}, +/* 36132 */ {(16<<2)|3,{98,116,99}}, +/* 36133 */ {(16<<2)|3,{98,116,101}}, +/* 36134 */ {(16<<2)|3,{98,116,105}}, +/* 36135 */ {(16<<2)|3,{98,116,111}}, +/* 36136 */ {(16<<2)|3,{98,116,115}}, +/* 36137 */ {(16<<2)|3,{98,116,116}}, +/* 36138 */ {(11<<2)|2,{98,116,0}}, +/* 36139 */ {(11<<2)|2,{98,116,0}}, +/* 36140 */ {(11<<2)|2,{98,116,0}}, +/* 36141 */ {(11<<2)|2,{98,116,0}}, +/* 36142 */ {(11<<2)|2,{98,116,0}}, +/* 36143 */ {(11<<2)|2,{98,116,0}}, +/* 36144 */ {(11<<2)|2,{98,116,0}}, +/* 36145 */ {(11<<2)|2,{98,116,0}}, +/* 36146 */ {(11<<2)|2,{98,116,0}}, +/* 36147 */ {(11<<2)|2,{98,116,0}}, +/* 36148 */ {(11<<2)|2,{98,116,0}}, +/* 36149 */ {(11<<2)|2,{98,116,0}}, +/* 36150 */ {(11<<2)|2,{98,116,0}}, +/* 36151 */ {(11<<2)|2,{98,116,0}}, +/* 36152 */ {(11<<2)|2,{98,116,0}}, +/* 36153 */ {(11<<2)|2,{98,116,0}}, +/* 36154 */ {(11<<2)|2,{98,116,0}}, +/* 36155 */ {(11<<2)|2,{98,116,0}}, +/* 36156 */ {(11<<2)|2,{98,116,0}}, +/* 36157 */ {(11<<2)|2,{98,116,0}}, +/* 36158 */ {(11<<2)|2,{98,116,0}}, +/* 36159 */ {(11<<2)|2,{98,116,0}}, +/* 36160 */ {(12<<2)|2,{98,32,0}}, +/* 36161 */ {(12<<2)|2,{98,32,0}}, +/* 36162 */ {(12<<2)|2,{98,32,0}}, +/* 36163 */ {(12<<2)|2,{98,32,0}}, +/* 36164 */ {(12<<2)|2,{98,32,0}}, +/* 36165 */ {(12<<2)|2,{98,32,0}}, +/* 36166 */ {(12<<2)|2,{98,32,0}}, +/* 36167 */ {(12<<2)|2,{98,32,0}}, +/* 36168 */ {(12<<2)|2,{98,32,0}}, +/* 36169 */ {(12<<2)|2,{98,32,0}}, +/* 36170 */ {(12<<2)|2,{98,32,0}}, +/* 36171 */ {(12<<2)|2,{98,32,0}}, +/* 36172 */ {(12<<2)|2,{98,32,0}}, +/* 36173 */ {(12<<2)|2,{98,32,0}}, +/* 36174 */ {(12<<2)|2,{98,32,0}}, +/* 36175 */ {(12<<2)|2,{98,32,0}}, +/* 36176 */ {(12<<2)|2,{98,37,0}}, +/* 36177 */ {(12<<2)|2,{98,37,0}}, +/* 36178 */ {(12<<2)|2,{98,37,0}}, +/* 36179 */ {(12<<2)|2,{98,37,0}}, +/* 36180 */ {(12<<2)|2,{98,37,0}}, +/* 36181 */ {(12<<2)|2,{98,37,0}}, +/* 36182 */ {(12<<2)|2,{98,37,0}}, +/* 36183 */ {(12<<2)|2,{98,37,0}}, +/* 36184 */ {(12<<2)|2,{98,37,0}}, +/* 36185 */ {(12<<2)|2,{98,37,0}}, +/* 36186 */ {(12<<2)|2,{98,37,0}}, +/* 36187 */ {(12<<2)|2,{98,37,0}}, +/* 36188 */ {(12<<2)|2,{98,37,0}}, +/* 36189 */ {(12<<2)|2,{98,37,0}}, +/* 36190 */ {(12<<2)|2,{98,37,0}}, +/* 36191 */ {(12<<2)|2,{98,37,0}}, +/* 36192 */ {(12<<2)|2,{98,45,0}}, +/* 36193 */ {(12<<2)|2,{98,45,0}}, +/* 36194 */ {(12<<2)|2,{98,45,0}}, +/* 36195 */ {(12<<2)|2,{98,45,0}}, +/* 36196 */ {(12<<2)|2,{98,45,0}}, +/* 36197 */ {(12<<2)|2,{98,45,0}}, +/* 36198 */ {(12<<2)|2,{98,45,0}}, +/* 36199 */ {(12<<2)|2,{98,45,0}}, +/* 36200 */ {(12<<2)|2,{98,45,0}}, +/* 36201 */ {(12<<2)|2,{98,45,0}}, +/* 36202 */ {(12<<2)|2,{98,45,0}}, +/* 36203 */ {(12<<2)|2,{98,45,0}}, +/* 36204 */ {(12<<2)|2,{98,45,0}}, +/* 36205 */ {(12<<2)|2,{98,45,0}}, +/* 36206 */ {(12<<2)|2,{98,45,0}}, +/* 36207 */ {(12<<2)|2,{98,45,0}}, +/* 36208 */ {(12<<2)|2,{98,46,0}}, +/* 36209 */ {(12<<2)|2,{98,46,0}}, +/* 36210 */ {(12<<2)|2,{98,46,0}}, +/* 36211 */ {(12<<2)|2,{98,46,0}}, +/* 36212 */ {(12<<2)|2,{98,46,0}}, +/* 36213 */ {(12<<2)|2,{98,46,0}}, +/* 36214 */ {(12<<2)|2,{98,46,0}}, +/* 36215 */ {(12<<2)|2,{98,46,0}}, +/* 36216 */ {(12<<2)|2,{98,46,0}}, +/* 36217 */ {(12<<2)|2,{98,46,0}}, +/* 36218 */ {(12<<2)|2,{98,46,0}}, +/* 36219 */ {(12<<2)|2,{98,46,0}}, +/* 36220 */ {(12<<2)|2,{98,46,0}}, +/* 36221 */ {(12<<2)|2,{98,46,0}}, +/* 36222 */ {(12<<2)|2,{98,46,0}}, +/* 36223 */ {(12<<2)|2,{98,46,0}}, +/* 36224 */ {(12<<2)|2,{98,47,0}}, +/* 36225 */ {(12<<2)|2,{98,47,0}}, +/* 36226 */ {(12<<2)|2,{98,47,0}}, +/* 36227 */ {(12<<2)|2,{98,47,0}}, +/* 36228 */ {(12<<2)|2,{98,47,0}}, +/* 36229 */ {(12<<2)|2,{98,47,0}}, +/* 36230 */ {(12<<2)|2,{98,47,0}}, +/* 36231 */ {(12<<2)|2,{98,47,0}}, +/* 36232 */ {(12<<2)|2,{98,47,0}}, +/* 36233 */ {(12<<2)|2,{98,47,0}}, +/* 36234 */ {(12<<2)|2,{98,47,0}}, +/* 36235 */ {(12<<2)|2,{98,47,0}}, +/* 36236 */ {(12<<2)|2,{98,47,0}}, +/* 36237 */ {(12<<2)|2,{98,47,0}}, +/* 36238 */ {(12<<2)|2,{98,47,0}}, +/* 36239 */ {(12<<2)|2,{98,47,0}}, +/* 36240 */ {(12<<2)|2,{98,51,0}}, +/* 36241 */ {(12<<2)|2,{98,51,0}}, +/* 36242 */ {(12<<2)|2,{98,51,0}}, +/* 36243 */ {(12<<2)|2,{98,51,0}}, +/* 36244 */ {(12<<2)|2,{98,51,0}}, +/* 36245 */ {(12<<2)|2,{98,51,0}}, +/* 36246 */ {(12<<2)|2,{98,51,0}}, +/* 36247 */ {(12<<2)|2,{98,51,0}}, +/* 36248 */ {(12<<2)|2,{98,51,0}}, +/* 36249 */ {(12<<2)|2,{98,51,0}}, +/* 36250 */ {(12<<2)|2,{98,51,0}}, +/* 36251 */ {(12<<2)|2,{98,51,0}}, +/* 36252 */ {(12<<2)|2,{98,51,0}}, +/* 36253 */ {(12<<2)|2,{98,51,0}}, +/* 36254 */ {(12<<2)|2,{98,51,0}}, +/* 36255 */ {(12<<2)|2,{98,51,0}}, +/* 36256 */ {(12<<2)|2,{98,52,0}}, +/* 36257 */ {(12<<2)|2,{98,52,0}}, +/* 36258 */ {(12<<2)|2,{98,52,0}}, +/* 36259 */ {(12<<2)|2,{98,52,0}}, +/* 36260 */ {(12<<2)|2,{98,52,0}}, +/* 36261 */ {(12<<2)|2,{98,52,0}}, +/* 36262 */ {(12<<2)|2,{98,52,0}}, +/* 36263 */ {(12<<2)|2,{98,52,0}}, +/* 36264 */ {(12<<2)|2,{98,52,0}}, +/* 36265 */ {(12<<2)|2,{98,52,0}}, +/* 36266 */ {(12<<2)|2,{98,52,0}}, +/* 36267 */ {(12<<2)|2,{98,52,0}}, +/* 36268 */ {(12<<2)|2,{98,52,0}}, +/* 36269 */ {(12<<2)|2,{98,52,0}}, +/* 36270 */ {(12<<2)|2,{98,52,0}}, +/* 36271 */ {(12<<2)|2,{98,52,0}}, +/* 36272 */ {(12<<2)|2,{98,53,0}}, +/* 36273 */ {(12<<2)|2,{98,53,0}}, +/* 36274 */ {(12<<2)|2,{98,53,0}}, +/* 36275 */ {(12<<2)|2,{98,53,0}}, +/* 36276 */ {(12<<2)|2,{98,53,0}}, +/* 36277 */ {(12<<2)|2,{98,53,0}}, +/* 36278 */ {(12<<2)|2,{98,53,0}}, +/* 36279 */ {(12<<2)|2,{98,53,0}}, +/* 36280 */ {(12<<2)|2,{98,53,0}}, +/* 36281 */ {(12<<2)|2,{98,53,0}}, +/* 36282 */ {(12<<2)|2,{98,53,0}}, +/* 36283 */ {(12<<2)|2,{98,53,0}}, +/* 36284 */ {(12<<2)|2,{98,53,0}}, +/* 36285 */ {(12<<2)|2,{98,53,0}}, +/* 36286 */ {(12<<2)|2,{98,53,0}}, +/* 36287 */ {(12<<2)|2,{98,53,0}}, +/* 36288 */ {(12<<2)|2,{98,54,0}}, +/* 36289 */ {(12<<2)|2,{98,54,0}}, +/* 36290 */ {(12<<2)|2,{98,54,0}}, +/* 36291 */ {(12<<2)|2,{98,54,0}}, +/* 36292 */ {(12<<2)|2,{98,54,0}}, +/* 36293 */ {(12<<2)|2,{98,54,0}}, +/* 36294 */ {(12<<2)|2,{98,54,0}}, +/* 36295 */ {(12<<2)|2,{98,54,0}}, +/* 36296 */ {(12<<2)|2,{98,54,0}}, +/* 36297 */ {(12<<2)|2,{98,54,0}}, +/* 36298 */ {(12<<2)|2,{98,54,0}}, +/* 36299 */ {(12<<2)|2,{98,54,0}}, +/* 36300 */ {(12<<2)|2,{98,54,0}}, +/* 36301 */ {(12<<2)|2,{98,54,0}}, +/* 36302 */ {(12<<2)|2,{98,54,0}}, +/* 36303 */ {(12<<2)|2,{98,54,0}}, +/* 36304 */ {(12<<2)|2,{98,55,0}}, +/* 36305 */ {(12<<2)|2,{98,55,0}}, +/* 36306 */ {(12<<2)|2,{98,55,0}}, +/* 36307 */ {(12<<2)|2,{98,55,0}}, +/* 36308 */ {(12<<2)|2,{98,55,0}}, +/* 36309 */ {(12<<2)|2,{98,55,0}}, +/* 36310 */ {(12<<2)|2,{98,55,0}}, +/* 36311 */ {(12<<2)|2,{98,55,0}}, +/* 36312 */ {(12<<2)|2,{98,55,0}}, +/* 36313 */ {(12<<2)|2,{98,55,0}}, +/* 36314 */ {(12<<2)|2,{98,55,0}}, +/* 36315 */ {(12<<2)|2,{98,55,0}}, +/* 36316 */ {(12<<2)|2,{98,55,0}}, +/* 36317 */ {(12<<2)|2,{98,55,0}}, +/* 36318 */ {(12<<2)|2,{98,55,0}}, +/* 36319 */ {(12<<2)|2,{98,55,0}}, +/* 36320 */ {(12<<2)|2,{98,56,0}}, +/* 36321 */ {(12<<2)|2,{98,56,0}}, +/* 36322 */ {(12<<2)|2,{98,56,0}}, +/* 36323 */ {(12<<2)|2,{98,56,0}}, +/* 36324 */ {(12<<2)|2,{98,56,0}}, +/* 36325 */ {(12<<2)|2,{98,56,0}}, +/* 36326 */ {(12<<2)|2,{98,56,0}}, +/* 36327 */ {(12<<2)|2,{98,56,0}}, +/* 36328 */ {(12<<2)|2,{98,56,0}}, +/* 36329 */ {(12<<2)|2,{98,56,0}}, +/* 36330 */ {(12<<2)|2,{98,56,0}}, +/* 36331 */ {(12<<2)|2,{98,56,0}}, +/* 36332 */ {(12<<2)|2,{98,56,0}}, +/* 36333 */ {(12<<2)|2,{98,56,0}}, +/* 36334 */ {(12<<2)|2,{98,56,0}}, +/* 36335 */ {(12<<2)|2,{98,56,0}}, +/* 36336 */ {(12<<2)|2,{98,57,0}}, +/* 36337 */ {(12<<2)|2,{98,57,0}}, +/* 36338 */ {(12<<2)|2,{98,57,0}}, +/* 36339 */ {(12<<2)|2,{98,57,0}}, +/* 36340 */ {(12<<2)|2,{98,57,0}}, +/* 36341 */ {(12<<2)|2,{98,57,0}}, +/* 36342 */ {(12<<2)|2,{98,57,0}}, +/* 36343 */ {(12<<2)|2,{98,57,0}}, +/* 36344 */ {(12<<2)|2,{98,57,0}}, +/* 36345 */ {(12<<2)|2,{98,57,0}}, +/* 36346 */ {(12<<2)|2,{98,57,0}}, +/* 36347 */ {(12<<2)|2,{98,57,0}}, +/* 36348 */ {(12<<2)|2,{98,57,0}}, +/* 36349 */ {(12<<2)|2,{98,57,0}}, +/* 36350 */ {(12<<2)|2,{98,57,0}}, +/* 36351 */ {(12<<2)|2,{98,57,0}}, +/* 36352 */ {(12<<2)|2,{98,61,0}}, +/* 36353 */ {(12<<2)|2,{98,61,0}}, +/* 36354 */ {(12<<2)|2,{98,61,0}}, +/* 36355 */ {(12<<2)|2,{98,61,0}}, +/* 36356 */ {(12<<2)|2,{98,61,0}}, +/* 36357 */ {(12<<2)|2,{98,61,0}}, +/* 36358 */ {(12<<2)|2,{98,61,0}}, +/* 36359 */ {(12<<2)|2,{98,61,0}}, +/* 36360 */ {(12<<2)|2,{98,61,0}}, +/* 36361 */ {(12<<2)|2,{98,61,0}}, +/* 36362 */ {(12<<2)|2,{98,61,0}}, +/* 36363 */ {(12<<2)|2,{98,61,0}}, +/* 36364 */ {(12<<2)|2,{98,61,0}}, +/* 36365 */ {(12<<2)|2,{98,61,0}}, +/* 36366 */ {(12<<2)|2,{98,61,0}}, +/* 36367 */ {(12<<2)|2,{98,61,0}}, +/* 36368 */ {(12<<2)|2,{98,65,0}}, +/* 36369 */ {(12<<2)|2,{98,65,0}}, +/* 36370 */ {(12<<2)|2,{98,65,0}}, +/* 36371 */ {(12<<2)|2,{98,65,0}}, +/* 36372 */ {(12<<2)|2,{98,65,0}}, +/* 36373 */ {(12<<2)|2,{98,65,0}}, +/* 36374 */ {(12<<2)|2,{98,65,0}}, +/* 36375 */ {(12<<2)|2,{98,65,0}}, +/* 36376 */ {(12<<2)|2,{98,65,0}}, +/* 36377 */ {(12<<2)|2,{98,65,0}}, +/* 36378 */ {(12<<2)|2,{98,65,0}}, +/* 36379 */ {(12<<2)|2,{98,65,0}}, +/* 36380 */ {(12<<2)|2,{98,65,0}}, +/* 36381 */ {(12<<2)|2,{98,65,0}}, +/* 36382 */ {(12<<2)|2,{98,65,0}}, +/* 36383 */ {(12<<2)|2,{98,65,0}}, +/* 36384 */ {(12<<2)|2,{98,95,0}}, +/* 36385 */ {(12<<2)|2,{98,95,0}}, +/* 36386 */ {(12<<2)|2,{98,95,0}}, +/* 36387 */ {(12<<2)|2,{98,95,0}}, +/* 36388 */ {(12<<2)|2,{98,95,0}}, +/* 36389 */ {(12<<2)|2,{98,95,0}}, +/* 36390 */ {(12<<2)|2,{98,95,0}}, +/* 36391 */ {(12<<2)|2,{98,95,0}}, +/* 36392 */ {(12<<2)|2,{98,95,0}}, +/* 36393 */ {(12<<2)|2,{98,95,0}}, +/* 36394 */ {(12<<2)|2,{98,95,0}}, +/* 36395 */ {(12<<2)|2,{98,95,0}}, +/* 36396 */ {(12<<2)|2,{98,95,0}}, +/* 36397 */ {(12<<2)|2,{98,95,0}}, +/* 36398 */ {(12<<2)|2,{98,95,0}}, +/* 36399 */ {(12<<2)|2,{98,95,0}}, +/* 36400 */ {(12<<2)|2,{98,98,0}}, +/* 36401 */ {(12<<2)|2,{98,98,0}}, +/* 36402 */ {(12<<2)|2,{98,98,0}}, +/* 36403 */ {(12<<2)|2,{98,98,0}}, +/* 36404 */ {(12<<2)|2,{98,98,0}}, +/* 36405 */ {(12<<2)|2,{98,98,0}}, +/* 36406 */ {(12<<2)|2,{98,98,0}}, +/* 36407 */ {(12<<2)|2,{98,98,0}}, +/* 36408 */ {(12<<2)|2,{98,98,0}}, +/* 36409 */ {(12<<2)|2,{98,98,0}}, +/* 36410 */ {(12<<2)|2,{98,98,0}}, +/* 36411 */ {(12<<2)|2,{98,98,0}}, +/* 36412 */ {(12<<2)|2,{98,98,0}}, +/* 36413 */ {(12<<2)|2,{98,98,0}}, +/* 36414 */ {(12<<2)|2,{98,98,0}}, +/* 36415 */ {(12<<2)|2,{98,98,0}}, +/* 36416 */ {(12<<2)|2,{98,100,0}}, +/* 36417 */ {(12<<2)|2,{98,100,0}}, +/* 36418 */ {(12<<2)|2,{98,100,0}}, +/* 36419 */ {(12<<2)|2,{98,100,0}}, +/* 36420 */ {(12<<2)|2,{98,100,0}}, +/* 36421 */ {(12<<2)|2,{98,100,0}}, +/* 36422 */ {(12<<2)|2,{98,100,0}}, +/* 36423 */ {(12<<2)|2,{98,100,0}}, +/* 36424 */ {(12<<2)|2,{98,100,0}}, +/* 36425 */ {(12<<2)|2,{98,100,0}}, +/* 36426 */ {(12<<2)|2,{98,100,0}}, +/* 36427 */ {(12<<2)|2,{98,100,0}}, +/* 36428 */ {(12<<2)|2,{98,100,0}}, +/* 36429 */ {(12<<2)|2,{98,100,0}}, +/* 36430 */ {(12<<2)|2,{98,100,0}}, +/* 36431 */ {(12<<2)|2,{98,100,0}}, +/* 36432 */ {(12<<2)|2,{98,102,0}}, +/* 36433 */ {(12<<2)|2,{98,102,0}}, +/* 36434 */ {(12<<2)|2,{98,102,0}}, +/* 36435 */ {(12<<2)|2,{98,102,0}}, +/* 36436 */ {(12<<2)|2,{98,102,0}}, +/* 36437 */ {(12<<2)|2,{98,102,0}}, +/* 36438 */ {(12<<2)|2,{98,102,0}}, +/* 36439 */ {(12<<2)|2,{98,102,0}}, +/* 36440 */ {(12<<2)|2,{98,102,0}}, +/* 36441 */ {(12<<2)|2,{98,102,0}}, +/* 36442 */ {(12<<2)|2,{98,102,0}}, +/* 36443 */ {(12<<2)|2,{98,102,0}}, +/* 36444 */ {(12<<2)|2,{98,102,0}}, +/* 36445 */ {(12<<2)|2,{98,102,0}}, +/* 36446 */ {(12<<2)|2,{98,102,0}}, +/* 36447 */ {(12<<2)|2,{98,102,0}}, +/* 36448 */ {(12<<2)|2,{98,103,0}}, +/* 36449 */ {(12<<2)|2,{98,103,0}}, +/* 36450 */ {(12<<2)|2,{98,103,0}}, +/* 36451 */ {(12<<2)|2,{98,103,0}}, +/* 36452 */ {(12<<2)|2,{98,103,0}}, +/* 36453 */ {(12<<2)|2,{98,103,0}}, +/* 36454 */ {(12<<2)|2,{98,103,0}}, +/* 36455 */ {(12<<2)|2,{98,103,0}}, +/* 36456 */ {(12<<2)|2,{98,103,0}}, +/* 36457 */ {(12<<2)|2,{98,103,0}}, +/* 36458 */ {(12<<2)|2,{98,103,0}}, +/* 36459 */ {(12<<2)|2,{98,103,0}}, +/* 36460 */ {(12<<2)|2,{98,103,0}}, +/* 36461 */ {(12<<2)|2,{98,103,0}}, +/* 36462 */ {(12<<2)|2,{98,103,0}}, +/* 36463 */ {(12<<2)|2,{98,103,0}}, +/* 36464 */ {(12<<2)|2,{98,104,0}}, +/* 36465 */ {(12<<2)|2,{98,104,0}}, +/* 36466 */ {(12<<2)|2,{98,104,0}}, +/* 36467 */ {(12<<2)|2,{98,104,0}}, +/* 36468 */ {(12<<2)|2,{98,104,0}}, +/* 36469 */ {(12<<2)|2,{98,104,0}}, +/* 36470 */ {(12<<2)|2,{98,104,0}}, +/* 36471 */ {(12<<2)|2,{98,104,0}}, +/* 36472 */ {(12<<2)|2,{98,104,0}}, +/* 36473 */ {(12<<2)|2,{98,104,0}}, +/* 36474 */ {(12<<2)|2,{98,104,0}}, +/* 36475 */ {(12<<2)|2,{98,104,0}}, +/* 36476 */ {(12<<2)|2,{98,104,0}}, +/* 36477 */ {(12<<2)|2,{98,104,0}}, +/* 36478 */ {(12<<2)|2,{98,104,0}}, +/* 36479 */ {(12<<2)|2,{98,104,0}}, +/* 36480 */ {(12<<2)|2,{98,108,0}}, +/* 36481 */ {(12<<2)|2,{98,108,0}}, +/* 36482 */ {(12<<2)|2,{98,108,0}}, +/* 36483 */ {(12<<2)|2,{98,108,0}}, +/* 36484 */ {(12<<2)|2,{98,108,0}}, +/* 36485 */ {(12<<2)|2,{98,108,0}}, +/* 36486 */ {(12<<2)|2,{98,108,0}}, +/* 36487 */ {(12<<2)|2,{98,108,0}}, +/* 36488 */ {(12<<2)|2,{98,108,0}}, +/* 36489 */ {(12<<2)|2,{98,108,0}}, +/* 36490 */ {(12<<2)|2,{98,108,0}}, +/* 36491 */ {(12<<2)|2,{98,108,0}}, +/* 36492 */ {(12<<2)|2,{98,108,0}}, +/* 36493 */ {(12<<2)|2,{98,108,0}}, +/* 36494 */ {(12<<2)|2,{98,108,0}}, +/* 36495 */ {(12<<2)|2,{98,108,0}}, +/* 36496 */ {(12<<2)|2,{98,109,0}}, +/* 36497 */ {(12<<2)|2,{98,109,0}}, +/* 36498 */ {(12<<2)|2,{98,109,0}}, +/* 36499 */ {(12<<2)|2,{98,109,0}}, +/* 36500 */ {(12<<2)|2,{98,109,0}}, +/* 36501 */ {(12<<2)|2,{98,109,0}}, +/* 36502 */ {(12<<2)|2,{98,109,0}}, +/* 36503 */ {(12<<2)|2,{98,109,0}}, +/* 36504 */ {(12<<2)|2,{98,109,0}}, +/* 36505 */ {(12<<2)|2,{98,109,0}}, +/* 36506 */ {(12<<2)|2,{98,109,0}}, +/* 36507 */ {(12<<2)|2,{98,109,0}}, +/* 36508 */ {(12<<2)|2,{98,109,0}}, +/* 36509 */ {(12<<2)|2,{98,109,0}}, +/* 36510 */ {(12<<2)|2,{98,109,0}}, +/* 36511 */ {(12<<2)|2,{98,109,0}}, +/* 36512 */ {(12<<2)|2,{98,110,0}}, +/* 36513 */ {(12<<2)|2,{98,110,0}}, +/* 36514 */ {(12<<2)|2,{98,110,0}}, +/* 36515 */ {(12<<2)|2,{98,110,0}}, +/* 36516 */ {(12<<2)|2,{98,110,0}}, +/* 36517 */ {(12<<2)|2,{98,110,0}}, +/* 36518 */ {(12<<2)|2,{98,110,0}}, +/* 36519 */ {(12<<2)|2,{98,110,0}}, +/* 36520 */ {(12<<2)|2,{98,110,0}}, +/* 36521 */ {(12<<2)|2,{98,110,0}}, +/* 36522 */ {(12<<2)|2,{98,110,0}}, +/* 36523 */ {(12<<2)|2,{98,110,0}}, +/* 36524 */ {(12<<2)|2,{98,110,0}}, +/* 36525 */ {(12<<2)|2,{98,110,0}}, +/* 36526 */ {(12<<2)|2,{98,110,0}}, +/* 36527 */ {(12<<2)|2,{98,110,0}}, +/* 36528 */ {(12<<2)|2,{98,112,0}}, +/* 36529 */ {(12<<2)|2,{98,112,0}}, +/* 36530 */ {(12<<2)|2,{98,112,0}}, +/* 36531 */ {(12<<2)|2,{98,112,0}}, +/* 36532 */ {(12<<2)|2,{98,112,0}}, +/* 36533 */ {(12<<2)|2,{98,112,0}}, +/* 36534 */ {(12<<2)|2,{98,112,0}}, +/* 36535 */ {(12<<2)|2,{98,112,0}}, +/* 36536 */ {(12<<2)|2,{98,112,0}}, +/* 36537 */ {(12<<2)|2,{98,112,0}}, +/* 36538 */ {(12<<2)|2,{98,112,0}}, +/* 36539 */ {(12<<2)|2,{98,112,0}}, +/* 36540 */ {(12<<2)|2,{98,112,0}}, +/* 36541 */ {(12<<2)|2,{98,112,0}}, +/* 36542 */ {(12<<2)|2,{98,112,0}}, +/* 36543 */ {(12<<2)|2,{98,112,0}}, +/* 36544 */ {(12<<2)|2,{98,114,0}}, +/* 36545 */ {(12<<2)|2,{98,114,0}}, +/* 36546 */ {(12<<2)|2,{98,114,0}}, +/* 36547 */ {(12<<2)|2,{98,114,0}}, +/* 36548 */ {(12<<2)|2,{98,114,0}}, +/* 36549 */ {(12<<2)|2,{98,114,0}}, +/* 36550 */ {(12<<2)|2,{98,114,0}}, +/* 36551 */ {(12<<2)|2,{98,114,0}}, +/* 36552 */ {(12<<2)|2,{98,114,0}}, +/* 36553 */ {(12<<2)|2,{98,114,0}}, +/* 36554 */ {(12<<2)|2,{98,114,0}}, +/* 36555 */ {(12<<2)|2,{98,114,0}}, +/* 36556 */ {(12<<2)|2,{98,114,0}}, +/* 36557 */ {(12<<2)|2,{98,114,0}}, +/* 36558 */ {(12<<2)|2,{98,114,0}}, +/* 36559 */ {(12<<2)|2,{98,114,0}}, +/* 36560 */ {(12<<2)|2,{98,117,0}}, +/* 36561 */ {(12<<2)|2,{98,117,0}}, +/* 36562 */ {(12<<2)|2,{98,117,0}}, +/* 36563 */ {(12<<2)|2,{98,117,0}}, +/* 36564 */ {(12<<2)|2,{98,117,0}}, +/* 36565 */ {(12<<2)|2,{98,117,0}}, +/* 36566 */ {(12<<2)|2,{98,117,0}}, +/* 36567 */ {(12<<2)|2,{98,117,0}}, +/* 36568 */ {(12<<2)|2,{98,117,0}}, +/* 36569 */ {(12<<2)|2,{98,117,0}}, +/* 36570 */ {(12<<2)|2,{98,117,0}}, +/* 36571 */ {(12<<2)|2,{98,117,0}}, +/* 36572 */ {(12<<2)|2,{98,117,0}}, +/* 36573 */ {(12<<2)|2,{98,117,0}}, +/* 36574 */ {(12<<2)|2,{98,117,0}}, +/* 36575 */ {(12<<2)|2,{98,117,0}}, +/* 36576 */ {(13<<2)|2,{98,58,0}}, +/* 36577 */ {(13<<2)|2,{98,58,0}}, +/* 36578 */ {(13<<2)|2,{98,58,0}}, +/* 36579 */ {(13<<2)|2,{98,58,0}}, +/* 36580 */ {(13<<2)|2,{98,58,0}}, +/* 36581 */ {(13<<2)|2,{98,58,0}}, +/* 36582 */ {(13<<2)|2,{98,58,0}}, +/* 36583 */ {(13<<2)|2,{98,58,0}}, +/* 36584 */ {(13<<2)|2,{98,66,0}}, +/* 36585 */ {(13<<2)|2,{98,66,0}}, +/* 36586 */ {(13<<2)|2,{98,66,0}}, +/* 36587 */ {(13<<2)|2,{98,66,0}}, +/* 36588 */ {(13<<2)|2,{98,66,0}}, +/* 36589 */ {(13<<2)|2,{98,66,0}}, +/* 36590 */ {(13<<2)|2,{98,66,0}}, +/* 36591 */ {(13<<2)|2,{98,66,0}}, +/* 36592 */ {(13<<2)|2,{98,67,0}}, +/* 36593 */ {(13<<2)|2,{98,67,0}}, +/* 36594 */ {(13<<2)|2,{98,67,0}}, +/* 36595 */ {(13<<2)|2,{98,67,0}}, +/* 36596 */ {(13<<2)|2,{98,67,0}}, +/* 36597 */ {(13<<2)|2,{98,67,0}}, +/* 36598 */ {(13<<2)|2,{98,67,0}}, +/* 36599 */ {(13<<2)|2,{98,67,0}}, +/* 36600 */ {(13<<2)|2,{98,68,0}}, +/* 36601 */ {(13<<2)|2,{98,68,0}}, +/* 36602 */ {(13<<2)|2,{98,68,0}}, +/* 36603 */ {(13<<2)|2,{98,68,0}}, +/* 36604 */ {(13<<2)|2,{98,68,0}}, +/* 36605 */ {(13<<2)|2,{98,68,0}}, +/* 36606 */ {(13<<2)|2,{98,68,0}}, +/* 36607 */ {(13<<2)|2,{98,68,0}}, +/* 36608 */ {(13<<2)|2,{98,69,0}}, +/* 36609 */ {(13<<2)|2,{98,69,0}}, +/* 36610 */ {(13<<2)|2,{98,69,0}}, +/* 36611 */ {(13<<2)|2,{98,69,0}}, +/* 36612 */ {(13<<2)|2,{98,69,0}}, +/* 36613 */ {(13<<2)|2,{98,69,0}}, +/* 36614 */ {(13<<2)|2,{98,69,0}}, +/* 36615 */ {(13<<2)|2,{98,69,0}}, +/* 36616 */ {(13<<2)|2,{98,70,0}}, +/* 36617 */ {(13<<2)|2,{98,70,0}}, +/* 36618 */ {(13<<2)|2,{98,70,0}}, +/* 36619 */ {(13<<2)|2,{98,70,0}}, +/* 36620 */ {(13<<2)|2,{98,70,0}}, +/* 36621 */ {(13<<2)|2,{98,70,0}}, +/* 36622 */ {(13<<2)|2,{98,70,0}}, +/* 36623 */ {(13<<2)|2,{98,70,0}}, +/* 36624 */ {(13<<2)|2,{98,71,0}}, +/* 36625 */ {(13<<2)|2,{98,71,0}}, +/* 36626 */ {(13<<2)|2,{98,71,0}}, +/* 36627 */ {(13<<2)|2,{98,71,0}}, +/* 36628 */ {(13<<2)|2,{98,71,0}}, +/* 36629 */ {(13<<2)|2,{98,71,0}}, +/* 36630 */ {(13<<2)|2,{98,71,0}}, +/* 36631 */ {(13<<2)|2,{98,71,0}}, +/* 36632 */ {(13<<2)|2,{98,72,0}}, +/* 36633 */ {(13<<2)|2,{98,72,0}}, +/* 36634 */ {(13<<2)|2,{98,72,0}}, +/* 36635 */ {(13<<2)|2,{98,72,0}}, +/* 36636 */ {(13<<2)|2,{98,72,0}}, +/* 36637 */ {(13<<2)|2,{98,72,0}}, +/* 36638 */ {(13<<2)|2,{98,72,0}}, +/* 36639 */ {(13<<2)|2,{98,72,0}}, +/* 36640 */ {(13<<2)|2,{98,73,0}}, +/* 36641 */ {(13<<2)|2,{98,73,0}}, +/* 36642 */ {(13<<2)|2,{98,73,0}}, +/* 36643 */ {(13<<2)|2,{98,73,0}}, +/* 36644 */ {(13<<2)|2,{98,73,0}}, +/* 36645 */ {(13<<2)|2,{98,73,0}}, +/* 36646 */ {(13<<2)|2,{98,73,0}}, +/* 36647 */ {(13<<2)|2,{98,73,0}}, +/* 36648 */ {(13<<2)|2,{98,74,0}}, +/* 36649 */ {(13<<2)|2,{98,74,0}}, +/* 36650 */ {(13<<2)|2,{98,74,0}}, +/* 36651 */ {(13<<2)|2,{98,74,0}}, +/* 36652 */ {(13<<2)|2,{98,74,0}}, +/* 36653 */ {(13<<2)|2,{98,74,0}}, +/* 36654 */ {(13<<2)|2,{98,74,0}}, +/* 36655 */ {(13<<2)|2,{98,74,0}}, +/* 36656 */ {(13<<2)|2,{98,75,0}}, +/* 36657 */ {(13<<2)|2,{98,75,0}}, +/* 36658 */ {(13<<2)|2,{98,75,0}}, +/* 36659 */ {(13<<2)|2,{98,75,0}}, +/* 36660 */ {(13<<2)|2,{98,75,0}}, +/* 36661 */ {(13<<2)|2,{98,75,0}}, +/* 36662 */ {(13<<2)|2,{98,75,0}}, +/* 36663 */ {(13<<2)|2,{98,75,0}}, +/* 36664 */ {(13<<2)|2,{98,76,0}}, +/* 36665 */ {(13<<2)|2,{98,76,0}}, +/* 36666 */ {(13<<2)|2,{98,76,0}}, +/* 36667 */ {(13<<2)|2,{98,76,0}}, +/* 36668 */ {(13<<2)|2,{98,76,0}}, +/* 36669 */ {(13<<2)|2,{98,76,0}}, +/* 36670 */ {(13<<2)|2,{98,76,0}}, +/* 36671 */ {(13<<2)|2,{98,76,0}}, +/* 36672 */ {(13<<2)|2,{98,77,0}}, +/* 36673 */ {(13<<2)|2,{98,77,0}}, +/* 36674 */ {(13<<2)|2,{98,77,0}}, +/* 36675 */ {(13<<2)|2,{98,77,0}}, +/* 36676 */ {(13<<2)|2,{98,77,0}}, +/* 36677 */ {(13<<2)|2,{98,77,0}}, +/* 36678 */ {(13<<2)|2,{98,77,0}}, +/* 36679 */ {(13<<2)|2,{98,77,0}}, +/* 36680 */ {(13<<2)|2,{98,78,0}}, +/* 36681 */ {(13<<2)|2,{98,78,0}}, +/* 36682 */ {(13<<2)|2,{98,78,0}}, +/* 36683 */ {(13<<2)|2,{98,78,0}}, +/* 36684 */ {(13<<2)|2,{98,78,0}}, +/* 36685 */ {(13<<2)|2,{98,78,0}}, +/* 36686 */ {(13<<2)|2,{98,78,0}}, +/* 36687 */ {(13<<2)|2,{98,78,0}}, +/* 36688 */ {(13<<2)|2,{98,79,0}}, +/* 36689 */ {(13<<2)|2,{98,79,0}}, +/* 36690 */ {(13<<2)|2,{98,79,0}}, +/* 36691 */ {(13<<2)|2,{98,79,0}}, +/* 36692 */ {(13<<2)|2,{98,79,0}}, +/* 36693 */ {(13<<2)|2,{98,79,0}}, +/* 36694 */ {(13<<2)|2,{98,79,0}}, +/* 36695 */ {(13<<2)|2,{98,79,0}}, +/* 36696 */ {(13<<2)|2,{98,80,0}}, +/* 36697 */ {(13<<2)|2,{98,80,0}}, +/* 36698 */ {(13<<2)|2,{98,80,0}}, +/* 36699 */ {(13<<2)|2,{98,80,0}}, +/* 36700 */ {(13<<2)|2,{98,80,0}}, +/* 36701 */ {(13<<2)|2,{98,80,0}}, +/* 36702 */ {(13<<2)|2,{98,80,0}}, +/* 36703 */ {(13<<2)|2,{98,80,0}}, +/* 36704 */ {(13<<2)|2,{98,81,0}}, +/* 36705 */ {(13<<2)|2,{98,81,0}}, +/* 36706 */ {(13<<2)|2,{98,81,0}}, +/* 36707 */ {(13<<2)|2,{98,81,0}}, +/* 36708 */ {(13<<2)|2,{98,81,0}}, +/* 36709 */ {(13<<2)|2,{98,81,0}}, +/* 36710 */ {(13<<2)|2,{98,81,0}}, +/* 36711 */ {(13<<2)|2,{98,81,0}}, +/* 36712 */ {(13<<2)|2,{98,82,0}}, +/* 36713 */ {(13<<2)|2,{98,82,0}}, +/* 36714 */ {(13<<2)|2,{98,82,0}}, +/* 36715 */ {(13<<2)|2,{98,82,0}}, +/* 36716 */ {(13<<2)|2,{98,82,0}}, +/* 36717 */ {(13<<2)|2,{98,82,0}}, +/* 36718 */ {(13<<2)|2,{98,82,0}}, +/* 36719 */ {(13<<2)|2,{98,82,0}}, +/* 36720 */ {(13<<2)|2,{98,83,0}}, +/* 36721 */ {(13<<2)|2,{98,83,0}}, +/* 36722 */ {(13<<2)|2,{98,83,0}}, +/* 36723 */ {(13<<2)|2,{98,83,0}}, +/* 36724 */ {(13<<2)|2,{98,83,0}}, +/* 36725 */ {(13<<2)|2,{98,83,0}}, +/* 36726 */ {(13<<2)|2,{98,83,0}}, +/* 36727 */ {(13<<2)|2,{98,83,0}}, +/* 36728 */ {(13<<2)|2,{98,84,0}}, +/* 36729 */ {(13<<2)|2,{98,84,0}}, +/* 36730 */ {(13<<2)|2,{98,84,0}}, +/* 36731 */ {(13<<2)|2,{98,84,0}}, +/* 36732 */ {(13<<2)|2,{98,84,0}}, +/* 36733 */ {(13<<2)|2,{98,84,0}}, +/* 36734 */ {(13<<2)|2,{98,84,0}}, +/* 36735 */ {(13<<2)|2,{98,84,0}}, +/* 36736 */ {(13<<2)|2,{98,85,0}}, +/* 36737 */ {(13<<2)|2,{98,85,0}}, +/* 36738 */ {(13<<2)|2,{98,85,0}}, +/* 36739 */ {(13<<2)|2,{98,85,0}}, +/* 36740 */ {(13<<2)|2,{98,85,0}}, +/* 36741 */ {(13<<2)|2,{98,85,0}}, +/* 36742 */ {(13<<2)|2,{98,85,0}}, +/* 36743 */ {(13<<2)|2,{98,85,0}}, +/* 36744 */ {(13<<2)|2,{98,86,0}}, +/* 36745 */ {(13<<2)|2,{98,86,0}}, +/* 36746 */ {(13<<2)|2,{98,86,0}}, +/* 36747 */ {(13<<2)|2,{98,86,0}}, +/* 36748 */ {(13<<2)|2,{98,86,0}}, +/* 36749 */ {(13<<2)|2,{98,86,0}}, +/* 36750 */ {(13<<2)|2,{98,86,0}}, +/* 36751 */ {(13<<2)|2,{98,86,0}}, +/* 36752 */ {(13<<2)|2,{98,87,0}}, +/* 36753 */ {(13<<2)|2,{98,87,0}}, +/* 36754 */ {(13<<2)|2,{98,87,0}}, +/* 36755 */ {(13<<2)|2,{98,87,0}}, +/* 36756 */ {(13<<2)|2,{98,87,0}}, +/* 36757 */ {(13<<2)|2,{98,87,0}}, +/* 36758 */ {(13<<2)|2,{98,87,0}}, +/* 36759 */ {(13<<2)|2,{98,87,0}}, +/* 36760 */ {(13<<2)|2,{98,89,0}}, +/* 36761 */ {(13<<2)|2,{98,89,0}}, +/* 36762 */ {(13<<2)|2,{98,89,0}}, +/* 36763 */ {(13<<2)|2,{98,89,0}}, +/* 36764 */ {(13<<2)|2,{98,89,0}}, +/* 36765 */ {(13<<2)|2,{98,89,0}}, +/* 36766 */ {(13<<2)|2,{98,89,0}}, +/* 36767 */ {(13<<2)|2,{98,89,0}}, +/* 36768 */ {(13<<2)|2,{98,106,0}}, +/* 36769 */ {(13<<2)|2,{98,106,0}}, +/* 36770 */ {(13<<2)|2,{98,106,0}}, +/* 36771 */ {(13<<2)|2,{98,106,0}}, +/* 36772 */ {(13<<2)|2,{98,106,0}}, +/* 36773 */ {(13<<2)|2,{98,106,0}}, +/* 36774 */ {(13<<2)|2,{98,106,0}}, +/* 36775 */ {(13<<2)|2,{98,106,0}}, +/* 36776 */ {(13<<2)|2,{98,107,0}}, +/* 36777 */ {(13<<2)|2,{98,107,0}}, +/* 36778 */ {(13<<2)|2,{98,107,0}}, +/* 36779 */ {(13<<2)|2,{98,107,0}}, +/* 36780 */ {(13<<2)|2,{98,107,0}}, +/* 36781 */ {(13<<2)|2,{98,107,0}}, +/* 36782 */ {(13<<2)|2,{98,107,0}}, +/* 36783 */ {(13<<2)|2,{98,107,0}}, +/* 36784 */ {(13<<2)|2,{98,113,0}}, +/* 36785 */ {(13<<2)|2,{98,113,0}}, +/* 36786 */ {(13<<2)|2,{98,113,0}}, +/* 36787 */ {(13<<2)|2,{98,113,0}}, +/* 36788 */ {(13<<2)|2,{98,113,0}}, +/* 36789 */ {(13<<2)|2,{98,113,0}}, +/* 36790 */ {(13<<2)|2,{98,113,0}}, +/* 36791 */ {(13<<2)|2,{98,113,0}}, +/* 36792 */ {(13<<2)|2,{98,118,0}}, +/* 36793 */ {(13<<2)|2,{98,118,0}}, +/* 36794 */ {(13<<2)|2,{98,118,0}}, +/* 36795 */ {(13<<2)|2,{98,118,0}}, +/* 36796 */ {(13<<2)|2,{98,118,0}}, +/* 36797 */ {(13<<2)|2,{98,118,0}}, +/* 36798 */ {(13<<2)|2,{98,118,0}}, +/* 36799 */ {(13<<2)|2,{98,118,0}}, +/* 36800 */ {(13<<2)|2,{98,119,0}}, +/* 36801 */ {(13<<2)|2,{98,119,0}}, +/* 36802 */ {(13<<2)|2,{98,119,0}}, +/* 36803 */ {(13<<2)|2,{98,119,0}}, +/* 36804 */ {(13<<2)|2,{98,119,0}}, +/* 36805 */ {(13<<2)|2,{98,119,0}}, +/* 36806 */ {(13<<2)|2,{98,119,0}}, +/* 36807 */ {(13<<2)|2,{98,119,0}}, +/* 36808 */ {(13<<2)|2,{98,120,0}}, +/* 36809 */ {(13<<2)|2,{98,120,0}}, +/* 36810 */ {(13<<2)|2,{98,120,0}}, +/* 36811 */ {(13<<2)|2,{98,120,0}}, +/* 36812 */ {(13<<2)|2,{98,120,0}}, +/* 36813 */ {(13<<2)|2,{98,120,0}}, +/* 36814 */ {(13<<2)|2,{98,120,0}}, +/* 36815 */ {(13<<2)|2,{98,120,0}}, +/* 36816 */ {(13<<2)|2,{98,121,0}}, +/* 36817 */ {(13<<2)|2,{98,121,0}}, +/* 36818 */ {(13<<2)|2,{98,121,0}}, +/* 36819 */ {(13<<2)|2,{98,121,0}}, +/* 36820 */ {(13<<2)|2,{98,121,0}}, +/* 36821 */ {(13<<2)|2,{98,121,0}}, +/* 36822 */ {(13<<2)|2,{98,121,0}}, +/* 36823 */ {(13<<2)|2,{98,121,0}}, +/* 36824 */ {(13<<2)|2,{98,122,0}}, +/* 36825 */ {(13<<2)|2,{98,122,0}}, +/* 36826 */ {(13<<2)|2,{98,122,0}}, +/* 36827 */ {(13<<2)|2,{98,122,0}}, +/* 36828 */ {(13<<2)|2,{98,122,0}}, +/* 36829 */ {(13<<2)|2,{98,122,0}}, +/* 36830 */ {(13<<2)|2,{98,122,0}}, +/* 36831 */ {(13<<2)|2,{98,122,0}}, +/* 36832 */ {(14<<2)|2,{98,38,0}}, +/* 36833 */ {(14<<2)|2,{98,38,0}}, +/* 36834 */ {(14<<2)|2,{98,38,0}}, +/* 36835 */ {(14<<2)|2,{98,38,0}}, +/* 36836 */ {(14<<2)|2,{98,42,0}}, +/* 36837 */ {(14<<2)|2,{98,42,0}}, +/* 36838 */ {(14<<2)|2,{98,42,0}}, +/* 36839 */ {(14<<2)|2,{98,42,0}}, +/* 36840 */ {(14<<2)|2,{98,44,0}}, +/* 36841 */ {(14<<2)|2,{98,44,0}}, +/* 36842 */ {(14<<2)|2,{98,44,0}}, +/* 36843 */ {(14<<2)|2,{98,44,0}}, +/* 36844 */ {(14<<2)|2,{98,59,0}}, +/* 36845 */ {(14<<2)|2,{98,59,0}}, +/* 36846 */ {(14<<2)|2,{98,59,0}}, +/* 36847 */ {(14<<2)|2,{98,59,0}}, +/* 36848 */ {(14<<2)|2,{98,88,0}}, +/* 36849 */ {(14<<2)|2,{98,88,0}}, +/* 36850 */ {(14<<2)|2,{98,88,0}}, +/* 36851 */ {(14<<2)|2,{98,88,0}}, +/* 36852 */ {(14<<2)|2,{98,90,0}}, +/* 36853 */ {(14<<2)|2,{98,90,0}}, +/* 36854 */ {(14<<2)|2,{98,90,0}}, +/* 36855 */ {(14<<2)|2,{98,90,0}}, +/* 36856 */ {(16<<2)|2,{98,33,0}}, +/* 36857 */ {(16<<2)|2,{98,34,0}}, +/* 36858 */ {(16<<2)|2,{98,40,0}}, +/* 36859 */ {(16<<2)|2,{98,41,0}}, +/* 36860 */ {(16<<2)|2,{98,63,0}}, +/* 36861 */ {(6<<2)|1,{98,0,0}}, +/* 36862 */ {(6<<2)|1,{98,0,0}}, +/* 36863 */ {(6<<2)|1,{98,0,0}}, +/* 36864 */ {(16<<2)|3,{100,48,48}}, +/* 36865 */ {(16<<2)|3,{100,48,49}}, +/* 36866 */ {(16<<2)|3,{100,48,50}}, +/* 36867 */ {(16<<2)|3,{100,48,97}}, +/* 36868 */ {(16<<2)|3,{100,48,99}}, +/* 36869 */ {(16<<2)|3,{100,48,101}}, +/* 36870 */ {(16<<2)|3,{100,48,105}}, +/* 36871 */ {(16<<2)|3,{100,48,111}}, +/* 36872 */ {(16<<2)|3,{100,48,115}}, +/* 36873 */ {(16<<2)|3,{100,48,116}}, +/* 36874 */ {(11<<2)|2,{100,48,0}}, +/* 36875 */ {(11<<2)|2,{100,48,0}}, +/* 36876 */ {(11<<2)|2,{100,48,0}}, +/* 36877 */ {(11<<2)|2,{100,48,0}}, +/* 36878 */ {(11<<2)|2,{100,48,0}}, +/* 36879 */ {(11<<2)|2,{100,48,0}}, +/* 36880 */ {(11<<2)|2,{100,48,0}}, +/* 36881 */ {(11<<2)|2,{100,48,0}}, +/* 36882 */ {(11<<2)|2,{100,48,0}}, +/* 36883 */ {(11<<2)|2,{100,48,0}}, +/* 36884 */ {(11<<2)|2,{100,48,0}}, +/* 36885 */ {(11<<2)|2,{100,48,0}}, +/* 36886 */ {(11<<2)|2,{100,48,0}}, +/* 36887 */ {(11<<2)|2,{100,48,0}}, +/* 36888 */ {(11<<2)|2,{100,48,0}}, +/* 36889 */ {(11<<2)|2,{100,48,0}}, +/* 36890 */ {(11<<2)|2,{100,48,0}}, +/* 36891 */ {(11<<2)|2,{100,48,0}}, +/* 36892 */ {(11<<2)|2,{100,48,0}}, +/* 36893 */ {(11<<2)|2,{100,48,0}}, +/* 36894 */ {(11<<2)|2,{100,48,0}}, +/* 36895 */ {(11<<2)|2,{100,48,0}}, +/* 36896 */ {(16<<2)|3,{100,49,48}}, +/* 36897 */ {(16<<2)|3,{100,49,49}}, +/* 36898 */ {(16<<2)|3,{100,49,50}}, +/* 36899 */ {(16<<2)|3,{100,49,97}}, +/* 36900 */ {(16<<2)|3,{100,49,99}}, +/* 36901 */ {(16<<2)|3,{100,49,101}}, +/* 36902 */ {(16<<2)|3,{100,49,105}}, +/* 36903 */ {(16<<2)|3,{100,49,111}}, +/* 36904 */ {(16<<2)|3,{100,49,115}}, +/* 36905 */ {(16<<2)|3,{100,49,116}}, +/* 36906 */ {(11<<2)|2,{100,49,0}}, +/* 36907 */ {(11<<2)|2,{100,49,0}}, +/* 36908 */ {(11<<2)|2,{100,49,0}}, +/* 36909 */ {(11<<2)|2,{100,49,0}}, +/* 36910 */ {(11<<2)|2,{100,49,0}}, +/* 36911 */ {(11<<2)|2,{100,49,0}}, +/* 36912 */ {(11<<2)|2,{100,49,0}}, +/* 36913 */ {(11<<2)|2,{100,49,0}}, +/* 36914 */ {(11<<2)|2,{100,49,0}}, +/* 36915 */ {(11<<2)|2,{100,49,0}}, +/* 36916 */ {(11<<2)|2,{100,49,0}}, +/* 36917 */ {(11<<2)|2,{100,49,0}}, +/* 36918 */ {(11<<2)|2,{100,49,0}}, +/* 36919 */ {(11<<2)|2,{100,49,0}}, +/* 36920 */ {(11<<2)|2,{100,49,0}}, +/* 36921 */ {(11<<2)|2,{100,49,0}}, +/* 36922 */ {(11<<2)|2,{100,49,0}}, +/* 36923 */ {(11<<2)|2,{100,49,0}}, +/* 36924 */ {(11<<2)|2,{100,49,0}}, +/* 36925 */ {(11<<2)|2,{100,49,0}}, +/* 36926 */ {(11<<2)|2,{100,49,0}}, +/* 36927 */ {(11<<2)|2,{100,49,0}}, +/* 36928 */ {(16<<2)|3,{100,50,48}}, +/* 36929 */ {(16<<2)|3,{100,50,49}}, +/* 36930 */ {(16<<2)|3,{100,50,50}}, +/* 36931 */ {(16<<2)|3,{100,50,97}}, +/* 36932 */ {(16<<2)|3,{100,50,99}}, +/* 36933 */ {(16<<2)|3,{100,50,101}}, +/* 36934 */ {(16<<2)|3,{100,50,105}}, +/* 36935 */ {(16<<2)|3,{100,50,111}}, +/* 36936 */ {(16<<2)|3,{100,50,115}}, +/* 36937 */ {(16<<2)|3,{100,50,116}}, +/* 36938 */ {(11<<2)|2,{100,50,0}}, +/* 36939 */ {(11<<2)|2,{100,50,0}}, +/* 36940 */ {(11<<2)|2,{100,50,0}}, +/* 36941 */ {(11<<2)|2,{100,50,0}}, +/* 36942 */ {(11<<2)|2,{100,50,0}}, +/* 36943 */ {(11<<2)|2,{100,50,0}}, +/* 36944 */ {(11<<2)|2,{100,50,0}}, +/* 36945 */ {(11<<2)|2,{100,50,0}}, +/* 36946 */ {(11<<2)|2,{100,50,0}}, +/* 36947 */ {(11<<2)|2,{100,50,0}}, +/* 36948 */ {(11<<2)|2,{100,50,0}}, +/* 36949 */ {(11<<2)|2,{100,50,0}}, +/* 36950 */ {(11<<2)|2,{100,50,0}}, +/* 36951 */ {(11<<2)|2,{100,50,0}}, +/* 36952 */ {(11<<2)|2,{100,50,0}}, +/* 36953 */ {(11<<2)|2,{100,50,0}}, +/* 36954 */ {(11<<2)|2,{100,50,0}}, +/* 36955 */ {(11<<2)|2,{100,50,0}}, +/* 36956 */ {(11<<2)|2,{100,50,0}}, +/* 36957 */ {(11<<2)|2,{100,50,0}}, +/* 36958 */ {(11<<2)|2,{100,50,0}}, +/* 36959 */ {(11<<2)|2,{100,50,0}}, +/* 36960 */ {(16<<2)|3,{100,97,48}}, +/* 36961 */ {(16<<2)|3,{100,97,49}}, +/* 36962 */ {(16<<2)|3,{100,97,50}}, +/* 36963 */ {(16<<2)|3,{100,97,97}}, +/* 36964 */ {(16<<2)|3,{100,97,99}}, +/* 36965 */ {(16<<2)|3,{100,97,101}}, +/* 36966 */ {(16<<2)|3,{100,97,105}}, +/* 36967 */ {(16<<2)|3,{100,97,111}}, +/* 36968 */ {(16<<2)|3,{100,97,115}}, +/* 36969 */ {(16<<2)|3,{100,97,116}}, +/* 36970 */ {(11<<2)|2,{100,97,0}}, +/* 36971 */ {(11<<2)|2,{100,97,0}}, +/* 36972 */ {(11<<2)|2,{100,97,0}}, +/* 36973 */ {(11<<2)|2,{100,97,0}}, +/* 36974 */ {(11<<2)|2,{100,97,0}}, +/* 36975 */ {(11<<2)|2,{100,97,0}}, +/* 36976 */ {(11<<2)|2,{100,97,0}}, +/* 36977 */ {(11<<2)|2,{100,97,0}}, +/* 36978 */ {(11<<2)|2,{100,97,0}}, +/* 36979 */ {(11<<2)|2,{100,97,0}}, +/* 36980 */ {(11<<2)|2,{100,97,0}}, +/* 36981 */ {(11<<2)|2,{100,97,0}}, +/* 36982 */ {(11<<2)|2,{100,97,0}}, +/* 36983 */ {(11<<2)|2,{100,97,0}}, +/* 36984 */ {(11<<2)|2,{100,97,0}}, +/* 36985 */ {(11<<2)|2,{100,97,0}}, +/* 36986 */ {(11<<2)|2,{100,97,0}}, +/* 36987 */ {(11<<2)|2,{100,97,0}}, +/* 36988 */ {(11<<2)|2,{100,97,0}}, +/* 36989 */ {(11<<2)|2,{100,97,0}}, +/* 36990 */ {(11<<2)|2,{100,97,0}}, +/* 36991 */ {(11<<2)|2,{100,97,0}}, +/* 36992 */ {(16<<2)|3,{100,99,48}}, +/* 36993 */ {(16<<2)|3,{100,99,49}}, +/* 36994 */ {(16<<2)|3,{100,99,50}}, +/* 36995 */ {(16<<2)|3,{100,99,97}}, +/* 36996 */ {(16<<2)|3,{100,99,99}}, +/* 36997 */ {(16<<2)|3,{100,99,101}}, +/* 36998 */ {(16<<2)|3,{100,99,105}}, +/* 36999 */ {(16<<2)|3,{100,99,111}}, +/* 37000 */ {(16<<2)|3,{100,99,115}}, +/* 37001 */ {(16<<2)|3,{100,99,116}}, +/* 37002 */ {(11<<2)|2,{100,99,0}}, +/* 37003 */ {(11<<2)|2,{100,99,0}}, +/* 37004 */ {(11<<2)|2,{100,99,0}}, +/* 37005 */ {(11<<2)|2,{100,99,0}}, +/* 37006 */ {(11<<2)|2,{100,99,0}}, +/* 37007 */ {(11<<2)|2,{100,99,0}}, +/* 37008 */ {(11<<2)|2,{100,99,0}}, +/* 37009 */ {(11<<2)|2,{100,99,0}}, +/* 37010 */ {(11<<2)|2,{100,99,0}}, +/* 37011 */ {(11<<2)|2,{100,99,0}}, +/* 37012 */ {(11<<2)|2,{100,99,0}}, +/* 37013 */ {(11<<2)|2,{100,99,0}}, +/* 37014 */ {(11<<2)|2,{100,99,0}}, +/* 37015 */ {(11<<2)|2,{100,99,0}}, +/* 37016 */ {(11<<2)|2,{100,99,0}}, +/* 37017 */ {(11<<2)|2,{100,99,0}}, +/* 37018 */ {(11<<2)|2,{100,99,0}}, +/* 37019 */ {(11<<2)|2,{100,99,0}}, +/* 37020 */ {(11<<2)|2,{100,99,0}}, +/* 37021 */ {(11<<2)|2,{100,99,0}}, +/* 37022 */ {(11<<2)|2,{100,99,0}}, +/* 37023 */ {(11<<2)|2,{100,99,0}}, +/* 37024 */ {(16<<2)|3,{100,101,48}}, +/* 37025 */ {(16<<2)|3,{100,101,49}}, +/* 37026 */ {(16<<2)|3,{100,101,50}}, +/* 37027 */ {(16<<2)|3,{100,101,97}}, +/* 37028 */ {(16<<2)|3,{100,101,99}}, +/* 37029 */ {(16<<2)|3,{100,101,101}}, +/* 37030 */ {(16<<2)|3,{100,101,105}}, +/* 37031 */ {(16<<2)|3,{100,101,111}}, +/* 37032 */ {(16<<2)|3,{100,101,115}}, +/* 37033 */ {(16<<2)|3,{100,101,116}}, +/* 37034 */ {(11<<2)|2,{100,101,0}}, +/* 37035 */ {(11<<2)|2,{100,101,0}}, +/* 37036 */ {(11<<2)|2,{100,101,0}}, +/* 37037 */ {(11<<2)|2,{100,101,0}}, +/* 37038 */ {(11<<2)|2,{100,101,0}}, +/* 37039 */ {(11<<2)|2,{100,101,0}}, +/* 37040 */ {(11<<2)|2,{100,101,0}}, +/* 37041 */ {(11<<2)|2,{100,101,0}}, +/* 37042 */ {(11<<2)|2,{100,101,0}}, +/* 37043 */ {(11<<2)|2,{100,101,0}}, +/* 37044 */ {(11<<2)|2,{100,101,0}}, +/* 37045 */ {(11<<2)|2,{100,101,0}}, +/* 37046 */ {(11<<2)|2,{100,101,0}}, +/* 37047 */ {(11<<2)|2,{100,101,0}}, +/* 37048 */ {(11<<2)|2,{100,101,0}}, +/* 37049 */ {(11<<2)|2,{100,101,0}}, +/* 37050 */ {(11<<2)|2,{100,101,0}}, +/* 37051 */ {(11<<2)|2,{100,101,0}}, +/* 37052 */ {(11<<2)|2,{100,101,0}}, +/* 37053 */ {(11<<2)|2,{100,101,0}}, +/* 37054 */ {(11<<2)|2,{100,101,0}}, +/* 37055 */ {(11<<2)|2,{100,101,0}}, +/* 37056 */ {(16<<2)|3,{100,105,48}}, +/* 37057 */ {(16<<2)|3,{100,105,49}}, +/* 37058 */ {(16<<2)|3,{100,105,50}}, +/* 37059 */ {(16<<2)|3,{100,105,97}}, +/* 37060 */ {(16<<2)|3,{100,105,99}}, +/* 37061 */ {(16<<2)|3,{100,105,101}}, +/* 37062 */ {(16<<2)|3,{100,105,105}}, +/* 37063 */ {(16<<2)|3,{100,105,111}}, +/* 37064 */ {(16<<2)|3,{100,105,115}}, +/* 37065 */ {(16<<2)|3,{100,105,116}}, +/* 37066 */ {(11<<2)|2,{100,105,0}}, +/* 37067 */ {(11<<2)|2,{100,105,0}}, +/* 37068 */ {(11<<2)|2,{100,105,0}}, +/* 37069 */ {(11<<2)|2,{100,105,0}}, +/* 37070 */ {(11<<2)|2,{100,105,0}}, +/* 37071 */ {(11<<2)|2,{100,105,0}}, +/* 37072 */ {(11<<2)|2,{100,105,0}}, +/* 37073 */ {(11<<2)|2,{100,105,0}}, +/* 37074 */ {(11<<2)|2,{100,105,0}}, +/* 37075 */ {(11<<2)|2,{100,105,0}}, +/* 37076 */ {(11<<2)|2,{100,105,0}}, +/* 37077 */ {(11<<2)|2,{100,105,0}}, +/* 37078 */ {(11<<2)|2,{100,105,0}}, +/* 37079 */ {(11<<2)|2,{100,105,0}}, +/* 37080 */ {(11<<2)|2,{100,105,0}}, +/* 37081 */ {(11<<2)|2,{100,105,0}}, +/* 37082 */ {(11<<2)|2,{100,105,0}}, +/* 37083 */ {(11<<2)|2,{100,105,0}}, +/* 37084 */ {(11<<2)|2,{100,105,0}}, +/* 37085 */ {(11<<2)|2,{100,105,0}}, +/* 37086 */ {(11<<2)|2,{100,105,0}}, +/* 37087 */ {(11<<2)|2,{100,105,0}}, +/* 37088 */ {(16<<2)|3,{100,111,48}}, +/* 37089 */ {(16<<2)|3,{100,111,49}}, +/* 37090 */ {(16<<2)|3,{100,111,50}}, +/* 37091 */ {(16<<2)|3,{100,111,97}}, +/* 37092 */ {(16<<2)|3,{100,111,99}}, +/* 37093 */ {(16<<2)|3,{100,111,101}}, +/* 37094 */ {(16<<2)|3,{100,111,105}}, +/* 37095 */ {(16<<2)|3,{100,111,111}}, +/* 37096 */ {(16<<2)|3,{100,111,115}}, +/* 37097 */ {(16<<2)|3,{100,111,116}}, +/* 37098 */ {(11<<2)|2,{100,111,0}}, +/* 37099 */ {(11<<2)|2,{100,111,0}}, +/* 37100 */ {(11<<2)|2,{100,111,0}}, +/* 37101 */ {(11<<2)|2,{100,111,0}}, +/* 37102 */ {(11<<2)|2,{100,111,0}}, +/* 37103 */ {(11<<2)|2,{100,111,0}}, +/* 37104 */ {(11<<2)|2,{100,111,0}}, +/* 37105 */ {(11<<2)|2,{100,111,0}}, +/* 37106 */ {(11<<2)|2,{100,111,0}}, +/* 37107 */ {(11<<2)|2,{100,111,0}}, +/* 37108 */ {(11<<2)|2,{100,111,0}}, +/* 37109 */ {(11<<2)|2,{100,111,0}}, +/* 37110 */ {(11<<2)|2,{100,111,0}}, +/* 37111 */ {(11<<2)|2,{100,111,0}}, +/* 37112 */ {(11<<2)|2,{100,111,0}}, +/* 37113 */ {(11<<2)|2,{100,111,0}}, +/* 37114 */ {(11<<2)|2,{100,111,0}}, +/* 37115 */ {(11<<2)|2,{100,111,0}}, +/* 37116 */ {(11<<2)|2,{100,111,0}}, +/* 37117 */ {(11<<2)|2,{100,111,0}}, +/* 37118 */ {(11<<2)|2,{100,111,0}}, +/* 37119 */ {(11<<2)|2,{100,111,0}}, +/* 37120 */ {(16<<2)|3,{100,115,48}}, +/* 37121 */ {(16<<2)|3,{100,115,49}}, +/* 37122 */ {(16<<2)|3,{100,115,50}}, +/* 37123 */ {(16<<2)|3,{100,115,97}}, +/* 37124 */ {(16<<2)|3,{100,115,99}}, +/* 37125 */ {(16<<2)|3,{100,115,101}}, +/* 37126 */ {(16<<2)|3,{100,115,105}}, +/* 37127 */ {(16<<2)|3,{100,115,111}}, +/* 37128 */ {(16<<2)|3,{100,115,115}}, +/* 37129 */ {(16<<2)|3,{100,115,116}}, +/* 37130 */ {(11<<2)|2,{100,115,0}}, +/* 37131 */ {(11<<2)|2,{100,115,0}}, +/* 37132 */ {(11<<2)|2,{100,115,0}}, +/* 37133 */ {(11<<2)|2,{100,115,0}}, +/* 37134 */ {(11<<2)|2,{100,115,0}}, +/* 37135 */ {(11<<2)|2,{100,115,0}}, +/* 37136 */ {(11<<2)|2,{100,115,0}}, +/* 37137 */ {(11<<2)|2,{100,115,0}}, +/* 37138 */ {(11<<2)|2,{100,115,0}}, +/* 37139 */ {(11<<2)|2,{100,115,0}}, +/* 37140 */ {(11<<2)|2,{100,115,0}}, +/* 37141 */ {(11<<2)|2,{100,115,0}}, +/* 37142 */ {(11<<2)|2,{100,115,0}}, +/* 37143 */ {(11<<2)|2,{100,115,0}}, +/* 37144 */ {(11<<2)|2,{100,115,0}}, +/* 37145 */ {(11<<2)|2,{100,115,0}}, +/* 37146 */ {(11<<2)|2,{100,115,0}}, +/* 37147 */ {(11<<2)|2,{100,115,0}}, +/* 37148 */ {(11<<2)|2,{100,115,0}}, +/* 37149 */ {(11<<2)|2,{100,115,0}}, +/* 37150 */ {(11<<2)|2,{100,115,0}}, +/* 37151 */ {(11<<2)|2,{100,115,0}}, +/* 37152 */ {(16<<2)|3,{100,116,48}}, +/* 37153 */ {(16<<2)|3,{100,116,49}}, +/* 37154 */ {(16<<2)|3,{100,116,50}}, +/* 37155 */ {(16<<2)|3,{100,116,97}}, +/* 37156 */ {(16<<2)|3,{100,116,99}}, +/* 37157 */ {(16<<2)|3,{100,116,101}}, +/* 37158 */ {(16<<2)|3,{100,116,105}}, +/* 37159 */ {(16<<2)|3,{100,116,111}}, +/* 37160 */ {(16<<2)|3,{100,116,115}}, +/* 37161 */ {(16<<2)|3,{100,116,116}}, +/* 37162 */ {(11<<2)|2,{100,116,0}}, +/* 37163 */ {(11<<2)|2,{100,116,0}}, +/* 37164 */ {(11<<2)|2,{100,116,0}}, +/* 37165 */ {(11<<2)|2,{100,116,0}}, +/* 37166 */ {(11<<2)|2,{100,116,0}}, +/* 37167 */ {(11<<2)|2,{100,116,0}}, +/* 37168 */ {(11<<2)|2,{100,116,0}}, +/* 37169 */ {(11<<2)|2,{100,116,0}}, +/* 37170 */ {(11<<2)|2,{100,116,0}}, +/* 37171 */ {(11<<2)|2,{100,116,0}}, +/* 37172 */ {(11<<2)|2,{100,116,0}}, +/* 37173 */ {(11<<2)|2,{100,116,0}}, +/* 37174 */ {(11<<2)|2,{100,116,0}}, +/* 37175 */ {(11<<2)|2,{100,116,0}}, +/* 37176 */ {(11<<2)|2,{100,116,0}}, +/* 37177 */ {(11<<2)|2,{100,116,0}}, +/* 37178 */ {(11<<2)|2,{100,116,0}}, +/* 37179 */ {(11<<2)|2,{100,116,0}}, +/* 37180 */ {(11<<2)|2,{100,116,0}}, +/* 37181 */ {(11<<2)|2,{100,116,0}}, +/* 37182 */ {(11<<2)|2,{100,116,0}}, +/* 37183 */ {(11<<2)|2,{100,116,0}}, +/* 37184 */ {(12<<2)|2,{100,32,0}}, +/* 37185 */ {(12<<2)|2,{100,32,0}}, +/* 37186 */ {(12<<2)|2,{100,32,0}}, +/* 37187 */ {(12<<2)|2,{100,32,0}}, +/* 37188 */ {(12<<2)|2,{100,32,0}}, +/* 37189 */ {(12<<2)|2,{100,32,0}}, +/* 37190 */ {(12<<2)|2,{100,32,0}}, +/* 37191 */ {(12<<2)|2,{100,32,0}}, +/* 37192 */ {(12<<2)|2,{100,32,0}}, +/* 37193 */ {(12<<2)|2,{100,32,0}}, +/* 37194 */ {(12<<2)|2,{100,32,0}}, +/* 37195 */ {(12<<2)|2,{100,32,0}}, +/* 37196 */ {(12<<2)|2,{100,32,0}}, +/* 37197 */ {(12<<2)|2,{100,32,0}}, +/* 37198 */ {(12<<2)|2,{100,32,0}}, +/* 37199 */ {(12<<2)|2,{100,32,0}}, +/* 37200 */ {(12<<2)|2,{100,37,0}}, +/* 37201 */ {(12<<2)|2,{100,37,0}}, +/* 37202 */ {(12<<2)|2,{100,37,0}}, +/* 37203 */ {(12<<2)|2,{100,37,0}}, +/* 37204 */ {(12<<2)|2,{100,37,0}}, +/* 37205 */ {(12<<2)|2,{100,37,0}}, +/* 37206 */ {(12<<2)|2,{100,37,0}}, +/* 37207 */ {(12<<2)|2,{100,37,0}}, +/* 37208 */ {(12<<2)|2,{100,37,0}}, +/* 37209 */ {(12<<2)|2,{100,37,0}}, +/* 37210 */ {(12<<2)|2,{100,37,0}}, +/* 37211 */ {(12<<2)|2,{100,37,0}}, +/* 37212 */ {(12<<2)|2,{100,37,0}}, +/* 37213 */ {(12<<2)|2,{100,37,0}}, +/* 37214 */ {(12<<2)|2,{100,37,0}}, +/* 37215 */ {(12<<2)|2,{100,37,0}}, +/* 37216 */ {(12<<2)|2,{100,45,0}}, +/* 37217 */ {(12<<2)|2,{100,45,0}}, +/* 37218 */ {(12<<2)|2,{100,45,0}}, +/* 37219 */ {(12<<2)|2,{100,45,0}}, +/* 37220 */ {(12<<2)|2,{100,45,0}}, +/* 37221 */ {(12<<2)|2,{100,45,0}}, +/* 37222 */ {(12<<2)|2,{100,45,0}}, +/* 37223 */ {(12<<2)|2,{100,45,0}}, +/* 37224 */ {(12<<2)|2,{100,45,0}}, +/* 37225 */ {(12<<2)|2,{100,45,0}}, +/* 37226 */ {(12<<2)|2,{100,45,0}}, +/* 37227 */ {(12<<2)|2,{100,45,0}}, +/* 37228 */ {(12<<2)|2,{100,45,0}}, +/* 37229 */ {(12<<2)|2,{100,45,0}}, +/* 37230 */ {(12<<2)|2,{100,45,0}}, +/* 37231 */ {(12<<2)|2,{100,45,0}}, +/* 37232 */ {(12<<2)|2,{100,46,0}}, +/* 37233 */ {(12<<2)|2,{100,46,0}}, +/* 37234 */ {(12<<2)|2,{100,46,0}}, +/* 37235 */ {(12<<2)|2,{100,46,0}}, +/* 37236 */ {(12<<2)|2,{100,46,0}}, +/* 37237 */ {(12<<2)|2,{100,46,0}}, +/* 37238 */ {(12<<2)|2,{100,46,0}}, +/* 37239 */ {(12<<2)|2,{100,46,0}}, +/* 37240 */ {(12<<2)|2,{100,46,0}}, +/* 37241 */ {(12<<2)|2,{100,46,0}}, +/* 37242 */ {(12<<2)|2,{100,46,0}}, +/* 37243 */ {(12<<2)|2,{100,46,0}}, +/* 37244 */ {(12<<2)|2,{100,46,0}}, +/* 37245 */ {(12<<2)|2,{100,46,0}}, +/* 37246 */ {(12<<2)|2,{100,46,0}}, +/* 37247 */ {(12<<2)|2,{100,46,0}}, +/* 37248 */ {(12<<2)|2,{100,47,0}}, +/* 37249 */ {(12<<2)|2,{100,47,0}}, +/* 37250 */ {(12<<2)|2,{100,47,0}}, +/* 37251 */ {(12<<2)|2,{100,47,0}}, +/* 37252 */ {(12<<2)|2,{100,47,0}}, +/* 37253 */ {(12<<2)|2,{100,47,0}}, +/* 37254 */ {(12<<2)|2,{100,47,0}}, +/* 37255 */ {(12<<2)|2,{100,47,0}}, +/* 37256 */ {(12<<2)|2,{100,47,0}}, +/* 37257 */ {(12<<2)|2,{100,47,0}}, +/* 37258 */ {(12<<2)|2,{100,47,0}}, +/* 37259 */ {(12<<2)|2,{100,47,0}}, +/* 37260 */ {(12<<2)|2,{100,47,0}}, +/* 37261 */ {(12<<2)|2,{100,47,0}}, +/* 37262 */ {(12<<2)|2,{100,47,0}}, +/* 37263 */ {(12<<2)|2,{100,47,0}}, +/* 37264 */ {(12<<2)|2,{100,51,0}}, +/* 37265 */ {(12<<2)|2,{100,51,0}}, +/* 37266 */ {(12<<2)|2,{100,51,0}}, +/* 37267 */ {(12<<2)|2,{100,51,0}}, +/* 37268 */ {(12<<2)|2,{100,51,0}}, +/* 37269 */ {(12<<2)|2,{100,51,0}}, +/* 37270 */ {(12<<2)|2,{100,51,0}}, +/* 37271 */ {(12<<2)|2,{100,51,0}}, +/* 37272 */ {(12<<2)|2,{100,51,0}}, +/* 37273 */ {(12<<2)|2,{100,51,0}}, +/* 37274 */ {(12<<2)|2,{100,51,0}}, +/* 37275 */ {(12<<2)|2,{100,51,0}}, +/* 37276 */ {(12<<2)|2,{100,51,0}}, +/* 37277 */ {(12<<2)|2,{100,51,0}}, +/* 37278 */ {(12<<2)|2,{100,51,0}}, +/* 37279 */ {(12<<2)|2,{100,51,0}}, +/* 37280 */ {(12<<2)|2,{100,52,0}}, +/* 37281 */ {(12<<2)|2,{100,52,0}}, +/* 37282 */ {(12<<2)|2,{100,52,0}}, +/* 37283 */ {(12<<2)|2,{100,52,0}}, +/* 37284 */ {(12<<2)|2,{100,52,0}}, +/* 37285 */ {(12<<2)|2,{100,52,0}}, +/* 37286 */ {(12<<2)|2,{100,52,0}}, +/* 37287 */ {(12<<2)|2,{100,52,0}}, +/* 37288 */ {(12<<2)|2,{100,52,0}}, +/* 37289 */ {(12<<2)|2,{100,52,0}}, +/* 37290 */ {(12<<2)|2,{100,52,0}}, +/* 37291 */ {(12<<2)|2,{100,52,0}}, +/* 37292 */ {(12<<2)|2,{100,52,0}}, +/* 37293 */ {(12<<2)|2,{100,52,0}}, +/* 37294 */ {(12<<2)|2,{100,52,0}}, +/* 37295 */ {(12<<2)|2,{100,52,0}}, +/* 37296 */ {(12<<2)|2,{100,53,0}}, +/* 37297 */ {(12<<2)|2,{100,53,0}}, +/* 37298 */ {(12<<2)|2,{100,53,0}}, +/* 37299 */ {(12<<2)|2,{100,53,0}}, +/* 37300 */ {(12<<2)|2,{100,53,0}}, +/* 37301 */ {(12<<2)|2,{100,53,0}}, +/* 37302 */ {(12<<2)|2,{100,53,0}}, +/* 37303 */ {(12<<2)|2,{100,53,0}}, +/* 37304 */ {(12<<2)|2,{100,53,0}}, +/* 37305 */ {(12<<2)|2,{100,53,0}}, +/* 37306 */ {(12<<2)|2,{100,53,0}}, +/* 37307 */ {(12<<2)|2,{100,53,0}}, +/* 37308 */ {(12<<2)|2,{100,53,0}}, +/* 37309 */ {(12<<2)|2,{100,53,0}}, +/* 37310 */ {(12<<2)|2,{100,53,0}}, +/* 37311 */ {(12<<2)|2,{100,53,0}}, +/* 37312 */ {(12<<2)|2,{100,54,0}}, +/* 37313 */ {(12<<2)|2,{100,54,0}}, +/* 37314 */ {(12<<2)|2,{100,54,0}}, +/* 37315 */ {(12<<2)|2,{100,54,0}}, +/* 37316 */ {(12<<2)|2,{100,54,0}}, +/* 37317 */ {(12<<2)|2,{100,54,0}}, +/* 37318 */ {(12<<2)|2,{100,54,0}}, +/* 37319 */ {(12<<2)|2,{100,54,0}}, +/* 37320 */ {(12<<2)|2,{100,54,0}}, +/* 37321 */ {(12<<2)|2,{100,54,0}}, +/* 37322 */ {(12<<2)|2,{100,54,0}}, +/* 37323 */ {(12<<2)|2,{100,54,0}}, +/* 37324 */ {(12<<2)|2,{100,54,0}}, +/* 37325 */ {(12<<2)|2,{100,54,0}}, +/* 37326 */ {(12<<2)|2,{100,54,0}}, +/* 37327 */ {(12<<2)|2,{100,54,0}}, +/* 37328 */ {(12<<2)|2,{100,55,0}}, +/* 37329 */ {(12<<2)|2,{100,55,0}}, +/* 37330 */ {(12<<2)|2,{100,55,0}}, +/* 37331 */ {(12<<2)|2,{100,55,0}}, +/* 37332 */ {(12<<2)|2,{100,55,0}}, +/* 37333 */ {(12<<2)|2,{100,55,0}}, +/* 37334 */ {(12<<2)|2,{100,55,0}}, +/* 37335 */ {(12<<2)|2,{100,55,0}}, +/* 37336 */ {(12<<2)|2,{100,55,0}}, +/* 37337 */ {(12<<2)|2,{100,55,0}}, +/* 37338 */ {(12<<2)|2,{100,55,0}}, +/* 37339 */ {(12<<2)|2,{100,55,0}}, +/* 37340 */ {(12<<2)|2,{100,55,0}}, +/* 37341 */ {(12<<2)|2,{100,55,0}}, +/* 37342 */ {(12<<2)|2,{100,55,0}}, +/* 37343 */ {(12<<2)|2,{100,55,0}}, +/* 37344 */ {(12<<2)|2,{100,56,0}}, +/* 37345 */ {(12<<2)|2,{100,56,0}}, +/* 37346 */ {(12<<2)|2,{100,56,0}}, +/* 37347 */ {(12<<2)|2,{100,56,0}}, +/* 37348 */ {(12<<2)|2,{100,56,0}}, +/* 37349 */ {(12<<2)|2,{100,56,0}}, +/* 37350 */ {(12<<2)|2,{100,56,0}}, +/* 37351 */ {(12<<2)|2,{100,56,0}}, +/* 37352 */ {(12<<2)|2,{100,56,0}}, +/* 37353 */ {(12<<2)|2,{100,56,0}}, +/* 37354 */ {(12<<2)|2,{100,56,0}}, +/* 37355 */ {(12<<2)|2,{100,56,0}}, +/* 37356 */ {(12<<2)|2,{100,56,0}}, +/* 37357 */ {(12<<2)|2,{100,56,0}}, +/* 37358 */ {(12<<2)|2,{100,56,0}}, +/* 37359 */ {(12<<2)|2,{100,56,0}}, +/* 37360 */ {(12<<2)|2,{100,57,0}}, +/* 37361 */ {(12<<2)|2,{100,57,0}}, +/* 37362 */ {(12<<2)|2,{100,57,0}}, +/* 37363 */ {(12<<2)|2,{100,57,0}}, +/* 37364 */ {(12<<2)|2,{100,57,0}}, +/* 37365 */ {(12<<2)|2,{100,57,0}}, +/* 37366 */ {(12<<2)|2,{100,57,0}}, +/* 37367 */ {(12<<2)|2,{100,57,0}}, +/* 37368 */ {(12<<2)|2,{100,57,0}}, +/* 37369 */ {(12<<2)|2,{100,57,0}}, +/* 37370 */ {(12<<2)|2,{100,57,0}}, +/* 37371 */ {(12<<2)|2,{100,57,0}}, +/* 37372 */ {(12<<2)|2,{100,57,0}}, +/* 37373 */ {(12<<2)|2,{100,57,0}}, +/* 37374 */ {(12<<2)|2,{100,57,0}}, +/* 37375 */ {(12<<2)|2,{100,57,0}}, +/* 37376 */ {(12<<2)|2,{100,61,0}}, +/* 37377 */ {(12<<2)|2,{100,61,0}}, +/* 37378 */ {(12<<2)|2,{100,61,0}}, +/* 37379 */ {(12<<2)|2,{100,61,0}}, +/* 37380 */ {(12<<2)|2,{100,61,0}}, +/* 37381 */ {(12<<2)|2,{100,61,0}}, +/* 37382 */ {(12<<2)|2,{100,61,0}}, +/* 37383 */ {(12<<2)|2,{100,61,0}}, +/* 37384 */ {(12<<2)|2,{100,61,0}}, +/* 37385 */ {(12<<2)|2,{100,61,0}}, +/* 37386 */ {(12<<2)|2,{100,61,0}}, +/* 37387 */ {(12<<2)|2,{100,61,0}}, +/* 37388 */ {(12<<2)|2,{100,61,0}}, +/* 37389 */ {(12<<2)|2,{100,61,0}}, +/* 37390 */ {(12<<2)|2,{100,61,0}}, +/* 37391 */ {(12<<2)|2,{100,61,0}}, +/* 37392 */ {(12<<2)|2,{100,65,0}}, +/* 37393 */ {(12<<2)|2,{100,65,0}}, +/* 37394 */ {(12<<2)|2,{100,65,0}}, +/* 37395 */ {(12<<2)|2,{100,65,0}}, +/* 37396 */ {(12<<2)|2,{100,65,0}}, +/* 37397 */ {(12<<2)|2,{100,65,0}}, +/* 37398 */ {(12<<2)|2,{100,65,0}}, +/* 37399 */ {(12<<2)|2,{100,65,0}}, +/* 37400 */ {(12<<2)|2,{100,65,0}}, +/* 37401 */ {(12<<2)|2,{100,65,0}}, +/* 37402 */ {(12<<2)|2,{100,65,0}}, +/* 37403 */ {(12<<2)|2,{100,65,0}}, +/* 37404 */ {(12<<2)|2,{100,65,0}}, +/* 37405 */ {(12<<2)|2,{100,65,0}}, +/* 37406 */ {(12<<2)|2,{100,65,0}}, +/* 37407 */ {(12<<2)|2,{100,65,0}}, +/* 37408 */ {(12<<2)|2,{100,95,0}}, +/* 37409 */ {(12<<2)|2,{100,95,0}}, +/* 37410 */ {(12<<2)|2,{100,95,0}}, +/* 37411 */ {(12<<2)|2,{100,95,0}}, +/* 37412 */ {(12<<2)|2,{100,95,0}}, +/* 37413 */ {(12<<2)|2,{100,95,0}}, +/* 37414 */ {(12<<2)|2,{100,95,0}}, +/* 37415 */ {(12<<2)|2,{100,95,0}}, +/* 37416 */ {(12<<2)|2,{100,95,0}}, +/* 37417 */ {(12<<2)|2,{100,95,0}}, +/* 37418 */ {(12<<2)|2,{100,95,0}}, +/* 37419 */ {(12<<2)|2,{100,95,0}}, +/* 37420 */ {(12<<2)|2,{100,95,0}}, +/* 37421 */ {(12<<2)|2,{100,95,0}}, +/* 37422 */ {(12<<2)|2,{100,95,0}}, +/* 37423 */ {(12<<2)|2,{100,95,0}}, +/* 37424 */ {(12<<2)|2,{100,98,0}}, +/* 37425 */ {(12<<2)|2,{100,98,0}}, +/* 37426 */ {(12<<2)|2,{100,98,0}}, +/* 37427 */ {(12<<2)|2,{100,98,0}}, +/* 37428 */ {(12<<2)|2,{100,98,0}}, +/* 37429 */ {(12<<2)|2,{100,98,0}}, +/* 37430 */ {(12<<2)|2,{100,98,0}}, +/* 37431 */ {(12<<2)|2,{100,98,0}}, +/* 37432 */ {(12<<2)|2,{100,98,0}}, +/* 37433 */ {(12<<2)|2,{100,98,0}}, +/* 37434 */ {(12<<2)|2,{100,98,0}}, +/* 37435 */ {(12<<2)|2,{100,98,0}}, +/* 37436 */ {(12<<2)|2,{100,98,0}}, +/* 37437 */ {(12<<2)|2,{100,98,0}}, +/* 37438 */ {(12<<2)|2,{100,98,0}}, +/* 37439 */ {(12<<2)|2,{100,98,0}}, +/* 37440 */ {(12<<2)|2,{100,100,0}}, +/* 37441 */ {(12<<2)|2,{100,100,0}}, +/* 37442 */ {(12<<2)|2,{100,100,0}}, +/* 37443 */ {(12<<2)|2,{100,100,0}}, +/* 37444 */ {(12<<2)|2,{100,100,0}}, +/* 37445 */ {(12<<2)|2,{100,100,0}}, +/* 37446 */ {(12<<2)|2,{100,100,0}}, +/* 37447 */ {(12<<2)|2,{100,100,0}}, +/* 37448 */ {(12<<2)|2,{100,100,0}}, +/* 37449 */ {(12<<2)|2,{100,100,0}}, +/* 37450 */ {(12<<2)|2,{100,100,0}}, +/* 37451 */ {(12<<2)|2,{100,100,0}}, +/* 37452 */ {(12<<2)|2,{100,100,0}}, +/* 37453 */ {(12<<2)|2,{100,100,0}}, +/* 37454 */ {(12<<2)|2,{100,100,0}}, +/* 37455 */ {(12<<2)|2,{100,100,0}}, +/* 37456 */ {(12<<2)|2,{100,102,0}}, +/* 37457 */ {(12<<2)|2,{100,102,0}}, +/* 37458 */ {(12<<2)|2,{100,102,0}}, +/* 37459 */ {(12<<2)|2,{100,102,0}}, +/* 37460 */ {(12<<2)|2,{100,102,0}}, +/* 37461 */ {(12<<2)|2,{100,102,0}}, +/* 37462 */ {(12<<2)|2,{100,102,0}}, +/* 37463 */ {(12<<2)|2,{100,102,0}}, +/* 37464 */ {(12<<2)|2,{100,102,0}}, +/* 37465 */ {(12<<2)|2,{100,102,0}}, +/* 37466 */ {(12<<2)|2,{100,102,0}}, +/* 37467 */ {(12<<2)|2,{100,102,0}}, +/* 37468 */ {(12<<2)|2,{100,102,0}}, +/* 37469 */ {(12<<2)|2,{100,102,0}}, +/* 37470 */ {(12<<2)|2,{100,102,0}}, +/* 37471 */ {(12<<2)|2,{100,102,0}}, +/* 37472 */ {(12<<2)|2,{100,103,0}}, +/* 37473 */ {(12<<2)|2,{100,103,0}}, +/* 37474 */ {(12<<2)|2,{100,103,0}}, +/* 37475 */ {(12<<2)|2,{100,103,0}}, +/* 37476 */ {(12<<2)|2,{100,103,0}}, +/* 37477 */ {(12<<2)|2,{100,103,0}}, +/* 37478 */ {(12<<2)|2,{100,103,0}}, +/* 37479 */ {(12<<2)|2,{100,103,0}}, +/* 37480 */ {(12<<2)|2,{100,103,0}}, +/* 37481 */ {(12<<2)|2,{100,103,0}}, +/* 37482 */ {(12<<2)|2,{100,103,0}}, +/* 37483 */ {(12<<2)|2,{100,103,0}}, +/* 37484 */ {(12<<2)|2,{100,103,0}}, +/* 37485 */ {(12<<2)|2,{100,103,0}}, +/* 37486 */ {(12<<2)|2,{100,103,0}}, +/* 37487 */ {(12<<2)|2,{100,103,0}}, +/* 37488 */ {(12<<2)|2,{100,104,0}}, +/* 37489 */ {(12<<2)|2,{100,104,0}}, +/* 37490 */ {(12<<2)|2,{100,104,0}}, +/* 37491 */ {(12<<2)|2,{100,104,0}}, +/* 37492 */ {(12<<2)|2,{100,104,0}}, +/* 37493 */ {(12<<2)|2,{100,104,0}}, +/* 37494 */ {(12<<2)|2,{100,104,0}}, +/* 37495 */ {(12<<2)|2,{100,104,0}}, +/* 37496 */ {(12<<2)|2,{100,104,0}}, +/* 37497 */ {(12<<2)|2,{100,104,0}}, +/* 37498 */ {(12<<2)|2,{100,104,0}}, +/* 37499 */ {(12<<2)|2,{100,104,0}}, +/* 37500 */ {(12<<2)|2,{100,104,0}}, +/* 37501 */ {(12<<2)|2,{100,104,0}}, +/* 37502 */ {(12<<2)|2,{100,104,0}}, +/* 37503 */ {(12<<2)|2,{100,104,0}}, +/* 37504 */ {(12<<2)|2,{100,108,0}}, +/* 37505 */ {(12<<2)|2,{100,108,0}}, +/* 37506 */ {(12<<2)|2,{100,108,0}}, +/* 37507 */ {(12<<2)|2,{100,108,0}}, +/* 37508 */ {(12<<2)|2,{100,108,0}}, +/* 37509 */ {(12<<2)|2,{100,108,0}}, +/* 37510 */ {(12<<2)|2,{100,108,0}}, +/* 37511 */ {(12<<2)|2,{100,108,0}}, +/* 37512 */ {(12<<2)|2,{100,108,0}}, +/* 37513 */ {(12<<2)|2,{100,108,0}}, +/* 37514 */ {(12<<2)|2,{100,108,0}}, +/* 37515 */ {(12<<2)|2,{100,108,0}}, +/* 37516 */ {(12<<2)|2,{100,108,0}}, +/* 37517 */ {(12<<2)|2,{100,108,0}}, +/* 37518 */ {(12<<2)|2,{100,108,0}}, +/* 37519 */ {(12<<2)|2,{100,108,0}}, +/* 37520 */ {(12<<2)|2,{100,109,0}}, +/* 37521 */ {(12<<2)|2,{100,109,0}}, +/* 37522 */ {(12<<2)|2,{100,109,0}}, +/* 37523 */ {(12<<2)|2,{100,109,0}}, +/* 37524 */ {(12<<2)|2,{100,109,0}}, +/* 37525 */ {(12<<2)|2,{100,109,0}}, +/* 37526 */ {(12<<2)|2,{100,109,0}}, +/* 37527 */ {(12<<2)|2,{100,109,0}}, +/* 37528 */ {(12<<2)|2,{100,109,0}}, +/* 37529 */ {(12<<2)|2,{100,109,0}}, +/* 37530 */ {(12<<2)|2,{100,109,0}}, +/* 37531 */ {(12<<2)|2,{100,109,0}}, +/* 37532 */ {(12<<2)|2,{100,109,0}}, +/* 37533 */ {(12<<2)|2,{100,109,0}}, +/* 37534 */ {(12<<2)|2,{100,109,0}}, +/* 37535 */ {(12<<2)|2,{100,109,0}}, +/* 37536 */ {(12<<2)|2,{100,110,0}}, +/* 37537 */ {(12<<2)|2,{100,110,0}}, +/* 37538 */ {(12<<2)|2,{100,110,0}}, +/* 37539 */ {(12<<2)|2,{100,110,0}}, +/* 37540 */ {(12<<2)|2,{100,110,0}}, +/* 37541 */ {(12<<2)|2,{100,110,0}}, +/* 37542 */ {(12<<2)|2,{100,110,0}}, +/* 37543 */ {(12<<2)|2,{100,110,0}}, +/* 37544 */ {(12<<2)|2,{100,110,0}}, +/* 37545 */ {(12<<2)|2,{100,110,0}}, +/* 37546 */ {(12<<2)|2,{100,110,0}}, +/* 37547 */ {(12<<2)|2,{100,110,0}}, +/* 37548 */ {(12<<2)|2,{100,110,0}}, +/* 37549 */ {(12<<2)|2,{100,110,0}}, +/* 37550 */ {(12<<2)|2,{100,110,0}}, +/* 37551 */ {(12<<2)|2,{100,110,0}}, +/* 37552 */ {(12<<2)|2,{100,112,0}}, +/* 37553 */ {(12<<2)|2,{100,112,0}}, +/* 37554 */ {(12<<2)|2,{100,112,0}}, +/* 37555 */ {(12<<2)|2,{100,112,0}}, +/* 37556 */ {(12<<2)|2,{100,112,0}}, +/* 37557 */ {(12<<2)|2,{100,112,0}}, +/* 37558 */ {(12<<2)|2,{100,112,0}}, +/* 37559 */ {(12<<2)|2,{100,112,0}}, +/* 37560 */ {(12<<2)|2,{100,112,0}}, +/* 37561 */ {(12<<2)|2,{100,112,0}}, +/* 37562 */ {(12<<2)|2,{100,112,0}}, +/* 37563 */ {(12<<2)|2,{100,112,0}}, +/* 37564 */ {(12<<2)|2,{100,112,0}}, +/* 37565 */ {(12<<2)|2,{100,112,0}}, +/* 37566 */ {(12<<2)|2,{100,112,0}}, +/* 37567 */ {(12<<2)|2,{100,112,0}}, +/* 37568 */ {(12<<2)|2,{100,114,0}}, +/* 37569 */ {(12<<2)|2,{100,114,0}}, +/* 37570 */ {(12<<2)|2,{100,114,0}}, +/* 37571 */ {(12<<2)|2,{100,114,0}}, +/* 37572 */ {(12<<2)|2,{100,114,0}}, +/* 37573 */ {(12<<2)|2,{100,114,0}}, +/* 37574 */ {(12<<2)|2,{100,114,0}}, +/* 37575 */ {(12<<2)|2,{100,114,0}}, +/* 37576 */ {(12<<2)|2,{100,114,0}}, +/* 37577 */ {(12<<2)|2,{100,114,0}}, +/* 37578 */ {(12<<2)|2,{100,114,0}}, +/* 37579 */ {(12<<2)|2,{100,114,0}}, +/* 37580 */ {(12<<2)|2,{100,114,0}}, +/* 37581 */ {(12<<2)|2,{100,114,0}}, +/* 37582 */ {(12<<2)|2,{100,114,0}}, +/* 37583 */ {(12<<2)|2,{100,114,0}}, +/* 37584 */ {(12<<2)|2,{100,117,0}}, +/* 37585 */ {(12<<2)|2,{100,117,0}}, +/* 37586 */ {(12<<2)|2,{100,117,0}}, +/* 37587 */ {(12<<2)|2,{100,117,0}}, +/* 37588 */ {(12<<2)|2,{100,117,0}}, +/* 37589 */ {(12<<2)|2,{100,117,0}}, +/* 37590 */ {(12<<2)|2,{100,117,0}}, +/* 37591 */ {(12<<2)|2,{100,117,0}}, +/* 37592 */ {(12<<2)|2,{100,117,0}}, +/* 37593 */ {(12<<2)|2,{100,117,0}}, +/* 37594 */ {(12<<2)|2,{100,117,0}}, +/* 37595 */ {(12<<2)|2,{100,117,0}}, +/* 37596 */ {(12<<2)|2,{100,117,0}}, +/* 37597 */ {(12<<2)|2,{100,117,0}}, +/* 37598 */ {(12<<2)|2,{100,117,0}}, +/* 37599 */ {(12<<2)|2,{100,117,0}}, +/* 37600 */ {(13<<2)|2,{100,58,0}}, +/* 37601 */ {(13<<2)|2,{100,58,0}}, +/* 37602 */ {(13<<2)|2,{100,58,0}}, +/* 37603 */ {(13<<2)|2,{100,58,0}}, +/* 37604 */ {(13<<2)|2,{100,58,0}}, +/* 37605 */ {(13<<2)|2,{100,58,0}}, +/* 37606 */ {(13<<2)|2,{100,58,0}}, +/* 37607 */ {(13<<2)|2,{100,58,0}}, +/* 37608 */ {(13<<2)|2,{100,66,0}}, +/* 37609 */ {(13<<2)|2,{100,66,0}}, +/* 37610 */ {(13<<2)|2,{100,66,0}}, +/* 37611 */ {(13<<2)|2,{100,66,0}}, +/* 37612 */ {(13<<2)|2,{100,66,0}}, +/* 37613 */ {(13<<2)|2,{100,66,0}}, +/* 37614 */ {(13<<2)|2,{100,66,0}}, +/* 37615 */ {(13<<2)|2,{100,66,0}}, +/* 37616 */ {(13<<2)|2,{100,67,0}}, +/* 37617 */ {(13<<2)|2,{100,67,0}}, +/* 37618 */ {(13<<2)|2,{100,67,0}}, +/* 37619 */ {(13<<2)|2,{100,67,0}}, +/* 37620 */ {(13<<2)|2,{100,67,0}}, +/* 37621 */ {(13<<2)|2,{100,67,0}}, +/* 37622 */ {(13<<2)|2,{100,67,0}}, +/* 37623 */ {(13<<2)|2,{100,67,0}}, +/* 37624 */ {(13<<2)|2,{100,68,0}}, +/* 37625 */ {(13<<2)|2,{100,68,0}}, +/* 37626 */ {(13<<2)|2,{100,68,0}}, +/* 37627 */ {(13<<2)|2,{100,68,0}}, +/* 37628 */ {(13<<2)|2,{100,68,0}}, +/* 37629 */ {(13<<2)|2,{100,68,0}}, +/* 37630 */ {(13<<2)|2,{100,68,0}}, +/* 37631 */ {(13<<2)|2,{100,68,0}}, +/* 37632 */ {(13<<2)|2,{100,69,0}}, +/* 37633 */ {(13<<2)|2,{100,69,0}}, +/* 37634 */ {(13<<2)|2,{100,69,0}}, +/* 37635 */ {(13<<2)|2,{100,69,0}}, +/* 37636 */ {(13<<2)|2,{100,69,0}}, +/* 37637 */ {(13<<2)|2,{100,69,0}}, +/* 37638 */ {(13<<2)|2,{100,69,0}}, +/* 37639 */ {(13<<2)|2,{100,69,0}}, +/* 37640 */ {(13<<2)|2,{100,70,0}}, +/* 37641 */ {(13<<2)|2,{100,70,0}}, +/* 37642 */ {(13<<2)|2,{100,70,0}}, +/* 37643 */ {(13<<2)|2,{100,70,0}}, +/* 37644 */ {(13<<2)|2,{100,70,0}}, +/* 37645 */ {(13<<2)|2,{100,70,0}}, +/* 37646 */ {(13<<2)|2,{100,70,0}}, +/* 37647 */ {(13<<2)|2,{100,70,0}}, +/* 37648 */ {(13<<2)|2,{100,71,0}}, +/* 37649 */ {(13<<2)|2,{100,71,0}}, +/* 37650 */ {(13<<2)|2,{100,71,0}}, +/* 37651 */ {(13<<2)|2,{100,71,0}}, +/* 37652 */ {(13<<2)|2,{100,71,0}}, +/* 37653 */ {(13<<2)|2,{100,71,0}}, +/* 37654 */ {(13<<2)|2,{100,71,0}}, +/* 37655 */ {(13<<2)|2,{100,71,0}}, +/* 37656 */ {(13<<2)|2,{100,72,0}}, +/* 37657 */ {(13<<2)|2,{100,72,0}}, +/* 37658 */ {(13<<2)|2,{100,72,0}}, +/* 37659 */ {(13<<2)|2,{100,72,0}}, +/* 37660 */ {(13<<2)|2,{100,72,0}}, +/* 37661 */ {(13<<2)|2,{100,72,0}}, +/* 37662 */ {(13<<2)|2,{100,72,0}}, +/* 37663 */ {(13<<2)|2,{100,72,0}}, +/* 37664 */ {(13<<2)|2,{100,73,0}}, +/* 37665 */ {(13<<2)|2,{100,73,0}}, +/* 37666 */ {(13<<2)|2,{100,73,0}}, +/* 37667 */ {(13<<2)|2,{100,73,0}}, +/* 37668 */ {(13<<2)|2,{100,73,0}}, +/* 37669 */ {(13<<2)|2,{100,73,0}}, +/* 37670 */ {(13<<2)|2,{100,73,0}}, +/* 37671 */ {(13<<2)|2,{100,73,0}}, +/* 37672 */ {(13<<2)|2,{100,74,0}}, +/* 37673 */ {(13<<2)|2,{100,74,0}}, +/* 37674 */ {(13<<2)|2,{100,74,0}}, +/* 37675 */ {(13<<2)|2,{100,74,0}}, +/* 37676 */ {(13<<2)|2,{100,74,0}}, +/* 37677 */ {(13<<2)|2,{100,74,0}}, +/* 37678 */ {(13<<2)|2,{100,74,0}}, +/* 37679 */ {(13<<2)|2,{100,74,0}}, +/* 37680 */ {(13<<2)|2,{100,75,0}}, +/* 37681 */ {(13<<2)|2,{100,75,0}}, +/* 37682 */ {(13<<2)|2,{100,75,0}}, +/* 37683 */ {(13<<2)|2,{100,75,0}}, +/* 37684 */ {(13<<2)|2,{100,75,0}}, +/* 37685 */ {(13<<2)|2,{100,75,0}}, +/* 37686 */ {(13<<2)|2,{100,75,0}}, +/* 37687 */ {(13<<2)|2,{100,75,0}}, +/* 37688 */ {(13<<2)|2,{100,76,0}}, +/* 37689 */ {(13<<2)|2,{100,76,0}}, +/* 37690 */ {(13<<2)|2,{100,76,0}}, +/* 37691 */ {(13<<2)|2,{100,76,0}}, +/* 37692 */ {(13<<2)|2,{100,76,0}}, +/* 37693 */ {(13<<2)|2,{100,76,0}}, +/* 37694 */ {(13<<2)|2,{100,76,0}}, +/* 37695 */ {(13<<2)|2,{100,76,0}}, +/* 37696 */ {(13<<2)|2,{100,77,0}}, +/* 37697 */ {(13<<2)|2,{100,77,0}}, +/* 37698 */ {(13<<2)|2,{100,77,0}}, +/* 37699 */ {(13<<2)|2,{100,77,0}}, +/* 37700 */ {(13<<2)|2,{100,77,0}}, +/* 37701 */ {(13<<2)|2,{100,77,0}}, +/* 37702 */ {(13<<2)|2,{100,77,0}}, +/* 37703 */ {(13<<2)|2,{100,77,0}}, +/* 37704 */ {(13<<2)|2,{100,78,0}}, +/* 37705 */ {(13<<2)|2,{100,78,0}}, +/* 37706 */ {(13<<2)|2,{100,78,0}}, +/* 37707 */ {(13<<2)|2,{100,78,0}}, +/* 37708 */ {(13<<2)|2,{100,78,0}}, +/* 37709 */ {(13<<2)|2,{100,78,0}}, +/* 37710 */ {(13<<2)|2,{100,78,0}}, +/* 37711 */ {(13<<2)|2,{100,78,0}}, +/* 37712 */ {(13<<2)|2,{100,79,0}}, +/* 37713 */ {(13<<2)|2,{100,79,0}}, +/* 37714 */ {(13<<2)|2,{100,79,0}}, +/* 37715 */ {(13<<2)|2,{100,79,0}}, +/* 37716 */ {(13<<2)|2,{100,79,0}}, +/* 37717 */ {(13<<2)|2,{100,79,0}}, +/* 37718 */ {(13<<2)|2,{100,79,0}}, +/* 37719 */ {(13<<2)|2,{100,79,0}}, +/* 37720 */ {(13<<2)|2,{100,80,0}}, +/* 37721 */ {(13<<2)|2,{100,80,0}}, +/* 37722 */ {(13<<2)|2,{100,80,0}}, +/* 37723 */ {(13<<2)|2,{100,80,0}}, +/* 37724 */ {(13<<2)|2,{100,80,0}}, +/* 37725 */ {(13<<2)|2,{100,80,0}}, +/* 37726 */ {(13<<2)|2,{100,80,0}}, +/* 37727 */ {(13<<2)|2,{100,80,0}}, +/* 37728 */ {(13<<2)|2,{100,81,0}}, +/* 37729 */ {(13<<2)|2,{100,81,0}}, +/* 37730 */ {(13<<2)|2,{100,81,0}}, +/* 37731 */ {(13<<2)|2,{100,81,0}}, +/* 37732 */ {(13<<2)|2,{100,81,0}}, +/* 37733 */ {(13<<2)|2,{100,81,0}}, +/* 37734 */ {(13<<2)|2,{100,81,0}}, +/* 37735 */ {(13<<2)|2,{100,81,0}}, +/* 37736 */ {(13<<2)|2,{100,82,0}}, +/* 37737 */ {(13<<2)|2,{100,82,0}}, +/* 37738 */ {(13<<2)|2,{100,82,0}}, +/* 37739 */ {(13<<2)|2,{100,82,0}}, +/* 37740 */ {(13<<2)|2,{100,82,0}}, +/* 37741 */ {(13<<2)|2,{100,82,0}}, +/* 37742 */ {(13<<2)|2,{100,82,0}}, +/* 37743 */ {(13<<2)|2,{100,82,0}}, +/* 37744 */ {(13<<2)|2,{100,83,0}}, +/* 37745 */ {(13<<2)|2,{100,83,0}}, +/* 37746 */ {(13<<2)|2,{100,83,0}}, +/* 37747 */ {(13<<2)|2,{100,83,0}}, +/* 37748 */ {(13<<2)|2,{100,83,0}}, +/* 37749 */ {(13<<2)|2,{100,83,0}}, +/* 37750 */ {(13<<2)|2,{100,83,0}}, +/* 37751 */ {(13<<2)|2,{100,83,0}}, +/* 37752 */ {(13<<2)|2,{100,84,0}}, +/* 37753 */ {(13<<2)|2,{100,84,0}}, +/* 37754 */ {(13<<2)|2,{100,84,0}}, +/* 37755 */ {(13<<2)|2,{100,84,0}}, +/* 37756 */ {(13<<2)|2,{100,84,0}}, +/* 37757 */ {(13<<2)|2,{100,84,0}}, +/* 37758 */ {(13<<2)|2,{100,84,0}}, +/* 37759 */ {(13<<2)|2,{100,84,0}}, +/* 37760 */ {(13<<2)|2,{100,85,0}}, +/* 37761 */ {(13<<2)|2,{100,85,0}}, +/* 37762 */ {(13<<2)|2,{100,85,0}}, +/* 37763 */ {(13<<2)|2,{100,85,0}}, +/* 37764 */ {(13<<2)|2,{100,85,0}}, +/* 37765 */ {(13<<2)|2,{100,85,0}}, +/* 37766 */ {(13<<2)|2,{100,85,0}}, +/* 37767 */ {(13<<2)|2,{100,85,0}}, +/* 37768 */ {(13<<2)|2,{100,86,0}}, +/* 37769 */ {(13<<2)|2,{100,86,0}}, +/* 37770 */ {(13<<2)|2,{100,86,0}}, +/* 37771 */ {(13<<2)|2,{100,86,0}}, +/* 37772 */ {(13<<2)|2,{100,86,0}}, +/* 37773 */ {(13<<2)|2,{100,86,0}}, +/* 37774 */ {(13<<2)|2,{100,86,0}}, +/* 37775 */ {(13<<2)|2,{100,86,0}}, +/* 37776 */ {(13<<2)|2,{100,87,0}}, +/* 37777 */ {(13<<2)|2,{100,87,0}}, +/* 37778 */ {(13<<2)|2,{100,87,0}}, +/* 37779 */ {(13<<2)|2,{100,87,0}}, +/* 37780 */ {(13<<2)|2,{100,87,0}}, +/* 37781 */ {(13<<2)|2,{100,87,0}}, +/* 37782 */ {(13<<2)|2,{100,87,0}}, +/* 37783 */ {(13<<2)|2,{100,87,0}}, +/* 37784 */ {(13<<2)|2,{100,89,0}}, +/* 37785 */ {(13<<2)|2,{100,89,0}}, +/* 37786 */ {(13<<2)|2,{100,89,0}}, +/* 37787 */ {(13<<2)|2,{100,89,0}}, +/* 37788 */ {(13<<2)|2,{100,89,0}}, +/* 37789 */ {(13<<2)|2,{100,89,0}}, +/* 37790 */ {(13<<2)|2,{100,89,0}}, +/* 37791 */ {(13<<2)|2,{100,89,0}}, +/* 37792 */ {(13<<2)|2,{100,106,0}}, +/* 37793 */ {(13<<2)|2,{100,106,0}}, +/* 37794 */ {(13<<2)|2,{100,106,0}}, +/* 37795 */ {(13<<2)|2,{100,106,0}}, +/* 37796 */ {(13<<2)|2,{100,106,0}}, +/* 37797 */ {(13<<2)|2,{100,106,0}}, +/* 37798 */ {(13<<2)|2,{100,106,0}}, +/* 37799 */ {(13<<2)|2,{100,106,0}}, +/* 37800 */ {(13<<2)|2,{100,107,0}}, +/* 37801 */ {(13<<2)|2,{100,107,0}}, +/* 37802 */ {(13<<2)|2,{100,107,0}}, +/* 37803 */ {(13<<2)|2,{100,107,0}}, +/* 37804 */ {(13<<2)|2,{100,107,0}}, +/* 37805 */ {(13<<2)|2,{100,107,0}}, +/* 37806 */ {(13<<2)|2,{100,107,0}}, +/* 37807 */ {(13<<2)|2,{100,107,0}}, +/* 37808 */ {(13<<2)|2,{100,113,0}}, +/* 37809 */ {(13<<2)|2,{100,113,0}}, +/* 37810 */ {(13<<2)|2,{100,113,0}}, +/* 37811 */ {(13<<2)|2,{100,113,0}}, +/* 37812 */ {(13<<2)|2,{100,113,0}}, +/* 37813 */ {(13<<2)|2,{100,113,0}}, +/* 37814 */ {(13<<2)|2,{100,113,0}}, +/* 37815 */ {(13<<2)|2,{100,113,0}}, +/* 37816 */ {(13<<2)|2,{100,118,0}}, +/* 37817 */ {(13<<2)|2,{100,118,0}}, +/* 37818 */ {(13<<2)|2,{100,118,0}}, +/* 37819 */ {(13<<2)|2,{100,118,0}}, +/* 37820 */ {(13<<2)|2,{100,118,0}}, +/* 37821 */ {(13<<2)|2,{100,118,0}}, +/* 37822 */ {(13<<2)|2,{100,118,0}}, +/* 37823 */ {(13<<2)|2,{100,118,0}}, +/* 37824 */ {(13<<2)|2,{100,119,0}}, +/* 37825 */ {(13<<2)|2,{100,119,0}}, +/* 37826 */ {(13<<2)|2,{100,119,0}}, +/* 37827 */ {(13<<2)|2,{100,119,0}}, +/* 37828 */ {(13<<2)|2,{100,119,0}}, +/* 37829 */ {(13<<2)|2,{100,119,0}}, +/* 37830 */ {(13<<2)|2,{100,119,0}}, +/* 37831 */ {(13<<2)|2,{100,119,0}}, +/* 37832 */ {(13<<2)|2,{100,120,0}}, +/* 37833 */ {(13<<2)|2,{100,120,0}}, +/* 37834 */ {(13<<2)|2,{100,120,0}}, +/* 37835 */ {(13<<2)|2,{100,120,0}}, +/* 37836 */ {(13<<2)|2,{100,120,0}}, +/* 37837 */ {(13<<2)|2,{100,120,0}}, +/* 37838 */ {(13<<2)|2,{100,120,0}}, +/* 37839 */ {(13<<2)|2,{100,120,0}}, +/* 37840 */ {(13<<2)|2,{100,121,0}}, +/* 37841 */ {(13<<2)|2,{100,121,0}}, +/* 37842 */ {(13<<2)|2,{100,121,0}}, +/* 37843 */ {(13<<2)|2,{100,121,0}}, +/* 37844 */ {(13<<2)|2,{100,121,0}}, +/* 37845 */ {(13<<2)|2,{100,121,0}}, +/* 37846 */ {(13<<2)|2,{100,121,0}}, +/* 37847 */ {(13<<2)|2,{100,121,0}}, +/* 37848 */ {(13<<2)|2,{100,122,0}}, +/* 37849 */ {(13<<2)|2,{100,122,0}}, +/* 37850 */ {(13<<2)|2,{100,122,0}}, +/* 37851 */ {(13<<2)|2,{100,122,0}}, +/* 37852 */ {(13<<2)|2,{100,122,0}}, +/* 37853 */ {(13<<2)|2,{100,122,0}}, +/* 37854 */ {(13<<2)|2,{100,122,0}}, +/* 37855 */ {(13<<2)|2,{100,122,0}}, +/* 37856 */ {(14<<2)|2,{100,38,0}}, +/* 37857 */ {(14<<2)|2,{100,38,0}}, +/* 37858 */ {(14<<2)|2,{100,38,0}}, +/* 37859 */ {(14<<2)|2,{100,38,0}}, +/* 37860 */ {(14<<2)|2,{100,42,0}}, +/* 37861 */ {(14<<2)|2,{100,42,0}}, +/* 37862 */ {(14<<2)|2,{100,42,0}}, +/* 37863 */ {(14<<2)|2,{100,42,0}}, +/* 37864 */ {(14<<2)|2,{100,44,0}}, +/* 37865 */ {(14<<2)|2,{100,44,0}}, +/* 37866 */ {(14<<2)|2,{100,44,0}}, +/* 37867 */ {(14<<2)|2,{100,44,0}}, +/* 37868 */ {(14<<2)|2,{100,59,0}}, +/* 37869 */ {(14<<2)|2,{100,59,0}}, +/* 37870 */ {(14<<2)|2,{100,59,0}}, +/* 37871 */ {(14<<2)|2,{100,59,0}}, +/* 37872 */ {(14<<2)|2,{100,88,0}}, +/* 37873 */ {(14<<2)|2,{100,88,0}}, +/* 37874 */ {(14<<2)|2,{100,88,0}}, +/* 37875 */ {(14<<2)|2,{100,88,0}}, +/* 37876 */ {(14<<2)|2,{100,90,0}}, +/* 37877 */ {(14<<2)|2,{100,90,0}}, +/* 37878 */ {(14<<2)|2,{100,90,0}}, +/* 37879 */ {(14<<2)|2,{100,90,0}}, +/* 37880 */ {(16<<2)|2,{100,33,0}}, +/* 37881 */ {(16<<2)|2,{100,34,0}}, +/* 37882 */ {(16<<2)|2,{100,40,0}}, +/* 37883 */ {(16<<2)|2,{100,41,0}}, +/* 37884 */ {(16<<2)|2,{100,63,0}}, +/* 37885 */ {(6<<2)|1,{100,0,0}}, +/* 37886 */ {(6<<2)|1,{100,0,0}}, +/* 37887 */ {(6<<2)|1,{100,0,0}}, +/* 37888 */ {(16<<2)|3,{102,48,48}}, +/* 37889 */ {(16<<2)|3,{102,48,49}}, +/* 37890 */ {(16<<2)|3,{102,48,50}}, +/* 37891 */ {(16<<2)|3,{102,48,97}}, +/* 37892 */ {(16<<2)|3,{102,48,99}}, +/* 37893 */ {(16<<2)|3,{102,48,101}}, +/* 37894 */ {(16<<2)|3,{102,48,105}}, +/* 37895 */ {(16<<2)|3,{102,48,111}}, +/* 37896 */ {(16<<2)|3,{102,48,115}}, +/* 37897 */ {(16<<2)|3,{102,48,116}}, +/* 37898 */ {(11<<2)|2,{102,48,0}}, +/* 37899 */ {(11<<2)|2,{102,48,0}}, +/* 37900 */ {(11<<2)|2,{102,48,0}}, +/* 37901 */ {(11<<2)|2,{102,48,0}}, +/* 37902 */ {(11<<2)|2,{102,48,0}}, +/* 37903 */ {(11<<2)|2,{102,48,0}}, +/* 37904 */ {(11<<2)|2,{102,48,0}}, +/* 37905 */ {(11<<2)|2,{102,48,0}}, +/* 37906 */ {(11<<2)|2,{102,48,0}}, +/* 37907 */ {(11<<2)|2,{102,48,0}}, +/* 37908 */ {(11<<2)|2,{102,48,0}}, +/* 37909 */ {(11<<2)|2,{102,48,0}}, +/* 37910 */ {(11<<2)|2,{102,48,0}}, +/* 37911 */ {(11<<2)|2,{102,48,0}}, +/* 37912 */ {(11<<2)|2,{102,48,0}}, +/* 37913 */ {(11<<2)|2,{102,48,0}}, +/* 37914 */ {(11<<2)|2,{102,48,0}}, +/* 37915 */ {(11<<2)|2,{102,48,0}}, +/* 37916 */ {(11<<2)|2,{102,48,0}}, +/* 37917 */ {(11<<2)|2,{102,48,0}}, +/* 37918 */ {(11<<2)|2,{102,48,0}}, +/* 37919 */ {(11<<2)|2,{102,48,0}}, +/* 37920 */ {(16<<2)|3,{102,49,48}}, +/* 37921 */ {(16<<2)|3,{102,49,49}}, +/* 37922 */ {(16<<2)|3,{102,49,50}}, +/* 37923 */ {(16<<2)|3,{102,49,97}}, +/* 37924 */ {(16<<2)|3,{102,49,99}}, +/* 37925 */ {(16<<2)|3,{102,49,101}}, +/* 37926 */ {(16<<2)|3,{102,49,105}}, +/* 37927 */ {(16<<2)|3,{102,49,111}}, +/* 37928 */ {(16<<2)|3,{102,49,115}}, +/* 37929 */ {(16<<2)|3,{102,49,116}}, +/* 37930 */ {(11<<2)|2,{102,49,0}}, +/* 37931 */ {(11<<2)|2,{102,49,0}}, +/* 37932 */ {(11<<2)|2,{102,49,0}}, +/* 37933 */ {(11<<2)|2,{102,49,0}}, +/* 37934 */ {(11<<2)|2,{102,49,0}}, +/* 37935 */ {(11<<2)|2,{102,49,0}}, +/* 37936 */ {(11<<2)|2,{102,49,0}}, +/* 37937 */ {(11<<2)|2,{102,49,0}}, +/* 37938 */ {(11<<2)|2,{102,49,0}}, +/* 37939 */ {(11<<2)|2,{102,49,0}}, +/* 37940 */ {(11<<2)|2,{102,49,0}}, +/* 37941 */ {(11<<2)|2,{102,49,0}}, +/* 37942 */ {(11<<2)|2,{102,49,0}}, +/* 37943 */ {(11<<2)|2,{102,49,0}}, +/* 37944 */ {(11<<2)|2,{102,49,0}}, +/* 37945 */ {(11<<2)|2,{102,49,0}}, +/* 37946 */ {(11<<2)|2,{102,49,0}}, +/* 37947 */ {(11<<2)|2,{102,49,0}}, +/* 37948 */ {(11<<2)|2,{102,49,0}}, +/* 37949 */ {(11<<2)|2,{102,49,0}}, +/* 37950 */ {(11<<2)|2,{102,49,0}}, +/* 37951 */ {(11<<2)|2,{102,49,0}}, +/* 37952 */ {(16<<2)|3,{102,50,48}}, +/* 37953 */ {(16<<2)|3,{102,50,49}}, +/* 37954 */ {(16<<2)|3,{102,50,50}}, +/* 37955 */ {(16<<2)|3,{102,50,97}}, +/* 37956 */ {(16<<2)|3,{102,50,99}}, +/* 37957 */ {(16<<2)|3,{102,50,101}}, +/* 37958 */ {(16<<2)|3,{102,50,105}}, +/* 37959 */ {(16<<2)|3,{102,50,111}}, +/* 37960 */ {(16<<2)|3,{102,50,115}}, +/* 37961 */ {(16<<2)|3,{102,50,116}}, +/* 37962 */ {(11<<2)|2,{102,50,0}}, +/* 37963 */ {(11<<2)|2,{102,50,0}}, +/* 37964 */ {(11<<2)|2,{102,50,0}}, +/* 37965 */ {(11<<2)|2,{102,50,0}}, +/* 37966 */ {(11<<2)|2,{102,50,0}}, +/* 37967 */ {(11<<2)|2,{102,50,0}}, +/* 37968 */ {(11<<2)|2,{102,50,0}}, +/* 37969 */ {(11<<2)|2,{102,50,0}}, +/* 37970 */ {(11<<2)|2,{102,50,0}}, +/* 37971 */ {(11<<2)|2,{102,50,0}}, +/* 37972 */ {(11<<2)|2,{102,50,0}}, +/* 37973 */ {(11<<2)|2,{102,50,0}}, +/* 37974 */ {(11<<2)|2,{102,50,0}}, +/* 37975 */ {(11<<2)|2,{102,50,0}}, +/* 37976 */ {(11<<2)|2,{102,50,0}}, +/* 37977 */ {(11<<2)|2,{102,50,0}}, +/* 37978 */ {(11<<2)|2,{102,50,0}}, +/* 37979 */ {(11<<2)|2,{102,50,0}}, +/* 37980 */ {(11<<2)|2,{102,50,0}}, +/* 37981 */ {(11<<2)|2,{102,50,0}}, +/* 37982 */ {(11<<2)|2,{102,50,0}}, +/* 37983 */ {(11<<2)|2,{102,50,0}}, +/* 37984 */ {(16<<2)|3,{102,97,48}}, +/* 37985 */ {(16<<2)|3,{102,97,49}}, +/* 37986 */ {(16<<2)|3,{102,97,50}}, +/* 37987 */ {(16<<2)|3,{102,97,97}}, +/* 37988 */ {(16<<2)|3,{102,97,99}}, +/* 37989 */ {(16<<2)|3,{102,97,101}}, +/* 37990 */ {(16<<2)|3,{102,97,105}}, +/* 37991 */ {(16<<2)|3,{102,97,111}}, +/* 37992 */ {(16<<2)|3,{102,97,115}}, +/* 37993 */ {(16<<2)|3,{102,97,116}}, +/* 37994 */ {(11<<2)|2,{102,97,0}}, +/* 37995 */ {(11<<2)|2,{102,97,0}}, +/* 37996 */ {(11<<2)|2,{102,97,0}}, +/* 37997 */ {(11<<2)|2,{102,97,0}}, +/* 37998 */ {(11<<2)|2,{102,97,0}}, +/* 37999 */ {(11<<2)|2,{102,97,0}}, +/* 38000 */ {(11<<2)|2,{102,97,0}}, +/* 38001 */ {(11<<2)|2,{102,97,0}}, +/* 38002 */ {(11<<2)|2,{102,97,0}}, +/* 38003 */ {(11<<2)|2,{102,97,0}}, +/* 38004 */ {(11<<2)|2,{102,97,0}}, +/* 38005 */ {(11<<2)|2,{102,97,0}}, +/* 38006 */ {(11<<2)|2,{102,97,0}}, +/* 38007 */ {(11<<2)|2,{102,97,0}}, +/* 38008 */ {(11<<2)|2,{102,97,0}}, +/* 38009 */ {(11<<2)|2,{102,97,0}}, +/* 38010 */ {(11<<2)|2,{102,97,0}}, +/* 38011 */ {(11<<2)|2,{102,97,0}}, +/* 38012 */ {(11<<2)|2,{102,97,0}}, +/* 38013 */ {(11<<2)|2,{102,97,0}}, +/* 38014 */ {(11<<2)|2,{102,97,0}}, +/* 38015 */ {(11<<2)|2,{102,97,0}}, +/* 38016 */ {(16<<2)|3,{102,99,48}}, +/* 38017 */ {(16<<2)|3,{102,99,49}}, +/* 38018 */ {(16<<2)|3,{102,99,50}}, +/* 38019 */ {(16<<2)|3,{102,99,97}}, +/* 38020 */ {(16<<2)|3,{102,99,99}}, +/* 38021 */ {(16<<2)|3,{102,99,101}}, +/* 38022 */ {(16<<2)|3,{102,99,105}}, +/* 38023 */ {(16<<2)|3,{102,99,111}}, +/* 38024 */ {(16<<2)|3,{102,99,115}}, +/* 38025 */ {(16<<2)|3,{102,99,116}}, +/* 38026 */ {(11<<2)|2,{102,99,0}}, +/* 38027 */ {(11<<2)|2,{102,99,0}}, +/* 38028 */ {(11<<2)|2,{102,99,0}}, +/* 38029 */ {(11<<2)|2,{102,99,0}}, +/* 38030 */ {(11<<2)|2,{102,99,0}}, +/* 38031 */ {(11<<2)|2,{102,99,0}}, +/* 38032 */ {(11<<2)|2,{102,99,0}}, +/* 38033 */ {(11<<2)|2,{102,99,0}}, +/* 38034 */ {(11<<2)|2,{102,99,0}}, +/* 38035 */ {(11<<2)|2,{102,99,0}}, +/* 38036 */ {(11<<2)|2,{102,99,0}}, +/* 38037 */ {(11<<2)|2,{102,99,0}}, +/* 38038 */ {(11<<2)|2,{102,99,0}}, +/* 38039 */ {(11<<2)|2,{102,99,0}}, +/* 38040 */ {(11<<2)|2,{102,99,0}}, +/* 38041 */ {(11<<2)|2,{102,99,0}}, +/* 38042 */ {(11<<2)|2,{102,99,0}}, +/* 38043 */ {(11<<2)|2,{102,99,0}}, +/* 38044 */ {(11<<2)|2,{102,99,0}}, +/* 38045 */ {(11<<2)|2,{102,99,0}}, +/* 38046 */ {(11<<2)|2,{102,99,0}}, +/* 38047 */ {(11<<2)|2,{102,99,0}}, +/* 38048 */ {(16<<2)|3,{102,101,48}}, +/* 38049 */ {(16<<2)|3,{102,101,49}}, +/* 38050 */ {(16<<2)|3,{102,101,50}}, +/* 38051 */ {(16<<2)|3,{102,101,97}}, +/* 38052 */ {(16<<2)|3,{102,101,99}}, +/* 38053 */ {(16<<2)|3,{102,101,101}}, +/* 38054 */ {(16<<2)|3,{102,101,105}}, +/* 38055 */ {(16<<2)|3,{102,101,111}}, +/* 38056 */ {(16<<2)|3,{102,101,115}}, +/* 38057 */ {(16<<2)|3,{102,101,116}}, +/* 38058 */ {(11<<2)|2,{102,101,0}}, +/* 38059 */ {(11<<2)|2,{102,101,0}}, +/* 38060 */ {(11<<2)|2,{102,101,0}}, +/* 38061 */ {(11<<2)|2,{102,101,0}}, +/* 38062 */ {(11<<2)|2,{102,101,0}}, +/* 38063 */ {(11<<2)|2,{102,101,0}}, +/* 38064 */ {(11<<2)|2,{102,101,0}}, +/* 38065 */ {(11<<2)|2,{102,101,0}}, +/* 38066 */ {(11<<2)|2,{102,101,0}}, +/* 38067 */ {(11<<2)|2,{102,101,0}}, +/* 38068 */ {(11<<2)|2,{102,101,0}}, +/* 38069 */ {(11<<2)|2,{102,101,0}}, +/* 38070 */ {(11<<2)|2,{102,101,0}}, +/* 38071 */ {(11<<2)|2,{102,101,0}}, +/* 38072 */ {(11<<2)|2,{102,101,0}}, +/* 38073 */ {(11<<2)|2,{102,101,0}}, +/* 38074 */ {(11<<2)|2,{102,101,0}}, +/* 38075 */ {(11<<2)|2,{102,101,0}}, +/* 38076 */ {(11<<2)|2,{102,101,0}}, +/* 38077 */ {(11<<2)|2,{102,101,0}}, +/* 38078 */ {(11<<2)|2,{102,101,0}}, +/* 38079 */ {(11<<2)|2,{102,101,0}}, +/* 38080 */ {(16<<2)|3,{102,105,48}}, +/* 38081 */ {(16<<2)|3,{102,105,49}}, +/* 38082 */ {(16<<2)|3,{102,105,50}}, +/* 38083 */ {(16<<2)|3,{102,105,97}}, +/* 38084 */ {(16<<2)|3,{102,105,99}}, +/* 38085 */ {(16<<2)|3,{102,105,101}}, +/* 38086 */ {(16<<2)|3,{102,105,105}}, +/* 38087 */ {(16<<2)|3,{102,105,111}}, +/* 38088 */ {(16<<2)|3,{102,105,115}}, +/* 38089 */ {(16<<2)|3,{102,105,116}}, +/* 38090 */ {(11<<2)|2,{102,105,0}}, +/* 38091 */ {(11<<2)|2,{102,105,0}}, +/* 38092 */ {(11<<2)|2,{102,105,0}}, +/* 38093 */ {(11<<2)|2,{102,105,0}}, +/* 38094 */ {(11<<2)|2,{102,105,0}}, +/* 38095 */ {(11<<2)|2,{102,105,0}}, +/* 38096 */ {(11<<2)|2,{102,105,0}}, +/* 38097 */ {(11<<2)|2,{102,105,0}}, +/* 38098 */ {(11<<2)|2,{102,105,0}}, +/* 38099 */ {(11<<2)|2,{102,105,0}}, +/* 38100 */ {(11<<2)|2,{102,105,0}}, +/* 38101 */ {(11<<2)|2,{102,105,0}}, +/* 38102 */ {(11<<2)|2,{102,105,0}}, +/* 38103 */ {(11<<2)|2,{102,105,0}}, +/* 38104 */ {(11<<2)|2,{102,105,0}}, +/* 38105 */ {(11<<2)|2,{102,105,0}}, +/* 38106 */ {(11<<2)|2,{102,105,0}}, +/* 38107 */ {(11<<2)|2,{102,105,0}}, +/* 38108 */ {(11<<2)|2,{102,105,0}}, +/* 38109 */ {(11<<2)|2,{102,105,0}}, +/* 38110 */ {(11<<2)|2,{102,105,0}}, +/* 38111 */ {(11<<2)|2,{102,105,0}}, +/* 38112 */ {(16<<2)|3,{102,111,48}}, +/* 38113 */ {(16<<2)|3,{102,111,49}}, +/* 38114 */ {(16<<2)|3,{102,111,50}}, +/* 38115 */ {(16<<2)|3,{102,111,97}}, +/* 38116 */ {(16<<2)|3,{102,111,99}}, +/* 38117 */ {(16<<2)|3,{102,111,101}}, +/* 38118 */ {(16<<2)|3,{102,111,105}}, +/* 38119 */ {(16<<2)|3,{102,111,111}}, +/* 38120 */ {(16<<2)|3,{102,111,115}}, +/* 38121 */ {(16<<2)|3,{102,111,116}}, +/* 38122 */ {(11<<2)|2,{102,111,0}}, +/* 38123 */ {(11<<2)|2,{102,111,0}}, +/* 38124 */ {(11<<2)|2,{102,111,0}}, +/* 38125 */ {(11<<2)|2,{102,111,0}}, +/* 38126 */ {(11<<2)|2,{102,111,0}}, +/* 38127 */ {(11<<2)|2,{102,111,0}}, +/* 38128 */ {(11<<2)|2,{102,111,0}}, +/* 38129 */ {(11<<2)|2,{102,111,0}}, +/* 38130 */ {(11<<2)|2,{102,111,0}}, +/* 38131 */ {(11<<2)|2,{102,111,0}}, +/* 38132 */ {(11<<2)|2,{102,111,0}}, +/* 38133 */ {(11<<2)|2,{102,111,0}}, +/* 38134 */ {(11<<2)|2,{102,111,0}}, +/* 38135 */ {(11<<2)|2,{102,111,0}}, +/* 38136 */ {(11<<2)|2,{102,111,0}}, +/* 38137 */ {(11<<2)|2,{102,111,0}}, +/* 38138 */ {(11<<2)|2,{102,111,0}}, +/* 38139 */ {(11<<2)|2,{102,111,0}}, +/* 38140 */ {(11<<2)|2,{102,111,0}}, +/* 38141 */ {(11<<2)|2,{102,111,0}}, +/* 38142 */ {(11<<2)|2,{102,111,0}}, +/* 38143 */ {(11<<2)|2,{102,111,0}}, +/* 38144 */ {(16<<2)|3,{102,115,48}}, +/* 38145 */ {(16<<2)|3,{102,115,49}}, +/* 38146 */ {(16<<2)|3,{102,115,50}}, +/* 38147 */ {(16<<2)|3,{102,115,97}}, +/* 38148 */ {(16<<2)|3,{102,115,99}}, +/* 38149 */ {(16<<2)|3,{102,115,101}}, +/* 38150 */ {(16<<2)|3,{102,115,105}}, +/* 38151 */ {(16<<2)|3,{102,115,111}}, +/* 38152 */ {(16<<2)|3,{102,115,115}}, +/* 38153 */ {(16<<2)|3,{102,115,116}}, +/* 38154 */ {(11<<2)|2,{102,115,0}}, +/* 38155 */ {(11<<2)|2,{102,115,0}}, +/* 38156 */ {(11<<2)|2,{102,115,0}}, +/* 38157 */ {(11<<2)|2,{102,115,0}}, +/* 38158 */ {(11<<2)|2,{102,115,0}}, +/* 38159 */ {(11<<2)|2,{102,115,0}}, +/* 38160 */ {(11<<2)|2,{102,115,0}}, +/* 38161 */ {(11<<2)|2,{102,115,0}}, +/* 38162 */ {(11<<2)|2,{102,115,0}}, +/* 38163 */ {(11<<2)|2,{102,115,0}}, +/* 38164 */ {(11<<2)|2,{102,115,0}}, +/* 38165 */ {(11<<2)|2,{102,115,0}}, +/* 38166 */ {(11<<2)|2,{102,115,0}}, +/* 38167 */ {(11<<2)|2,{102,115,0}}, +/* 38168 */ {(11<<2)|2,{102,115,0}}, +/* 38169 */ {(11<<2)|2,{102,115,0}}, +/* 38170 */ {(11<<2)|2,{102,115,0}}, +/* 38171 */ {(11<<2)|2,{102,115,0}}, +/* 38172 */ {(11<<2)|2,{102,115,0}}, +/* 38173 */ {(11<<2)|2,{102,115,0}}, +/* 38174 */ {(11<<2)|2,{102,115,0}}, +/* 38175 */ {(11<<2)|2,{102,115,0}}, +/* 38176 */ {(16<<2)|3,{102,116,48}}, +/* 38177 */ {(16<<2)|3,{102,116,49}}, +/* 38178 */ {(16<<2)|3,{102,116,50}}, +/* 38179 */ {(16<<2)|3,{102,116,97}}, +/* 38180 */ {(16<<2)|3,{102,116,99}}, +/* 38181 */ {(16<<2)|3,{102,116,101}}, +/* 38182 */ {(16<<2)|3,{102,116,105}}, +/* 38183 */ {(16<<2)|3,{102,116,111}}, +/* 38184 */ {(16<<2)|3,{102,116,115}}, +/* 38185 */ {(16<<2)|3,{102,116,116}}, +/* 38186 */ {(11<<2)|2,{102,116,0}}, +/* 38187 */ {(11<<2)|2,{102,116,0}}, +/* 38188 */ {(11<<2)|2,{102,116,0}}, +/* 38189 */ {(11<<2)|2,{102,116,0}}, +/* 38190 */ {(11<<2)|2,{102,116,0}}, +/* 38191 */ {(11<<2)|2,{102,116,0}}, +/* 38192 */ {(11<<2)|2,{102,116,0}}, +/* 38193 */ {(11<<2)|2,{102,116,0}}, +/* 38194 */ {(11<<2)|2,{102,116,0}}, +/* 38195 */ {(11<<2)|2,{102,116,0}}, +/* 38196 */ {(11<<2)|2,{102,116,0}}, +/* 38197 */ {(11<<2)|2,{102,116,0}}, +/* 38198 */ {(11<<2)|2,{102,116,0}}, +/* 38199 */ {(11<<2)|2,{102,116,0}}, +/* 38200 */ {(11<<2)|2,{102,116,0}}, +/* 38201 */ {(11<<2)|2,{102,116,0}}, +/* 38202 */ {(11<<2)|2,{102,116,0}}, +/* 38203 */ {(11<<2)|2,{102,116,0}}, +/* 38204 */ {(11<<2)|2,{102,116,0}}, +/* 38205 */ {(11<<2)|2,{102,116,0}}, +/* 38206 */ {(11<<2)|2,{102,116,0}}, +/* 38207 */ {(11<<2)|2,{102,116,0}}, +/* 38208 */ {(12<<2)|2,{102,32,0}}, +/* 38209 */ {(12<<2)|2,{102,32,0}}, +/* 38210 */ {(12<<2)|2,{102,32,0}}, +/* 38211 */ {(12<<2)|2,{102,32,0}}, +/* 38212 */ {(12<<2)|2,{102,32,0}}, +/* 38213 */ {(12<<2)|2,{102,32,0}}, +/* 38214 */ {(12<<2)|2,{102,32,0}}, +/* 38215 */ {(12<<2)|2,{102,32,0}}, +/* 38216 */ {(12<<2)|2,{102,32,0}}, +/* 38217 */ {(12<<2)|2,{102,32,0}}, +/* 38218 */ {(12<<2)|2,{102,32,0}}, +/* 38219 */ {(12<<2)|2,{102,32,0}}, +/* 38220 */ {(12<<2)|2,{102,32,0}}, +/* 38221 */ {(12<<2)|2,{102,32,0}}, +/* 38222 */ {(12<<2)|2,{102,32,0}}, +/* 38223 */ {(12<<2)|2,{102,32,0}}, +/* 38224 */ {(12<<2)|2,{102,37,0}}, +/* 38225 */ {(12<<2)|2,{102,37,0}}, +/* 38226 */ {(12<<2)|2,{102,37,0}}, +/* 38227 */ {(12<<2)|2,{102,37,0}}, +/* 38228 */ {(12<<2)|2,{102,37,0}}, +/* 38229 */ {(12<<2)|2,{102,37,0}}, +/* 38230 */ {(12<<2)|2,{102,37,0}}, +/* 38231 */ {(12<<2)|2,{102,37,0}}, +/* 38232 */ {(12<<2)|2,{102,37,0}}, +/* 38233 */ {(12<<2)|2,{102,37,0}}, +/* 38234 */ {(12<<2)|2,{102,37,0}}, +/* 38235 */ {(12<<2)|2,{102,37,0}}, +/* 38236 */ {(12<<2)|2,{102,37,0}}, +/* 38237 */ {(12<<2)|2,{102,37,0}}, +/* 38238 */ {(12<<2)|2,{102,37,0}}, +/* 38239 */ {(12<<2)|2,{102,37,0}}, +/* 38240 */ {(12<<2)|2,{102,45,0}}, +/* 38241 */ {(12<<2)|2,{102,45,0}}, +/* 38242 */ {(12<<2)|2,{102,45,0}}, +/* 38243 */ {(12<<2)|2,{102,45,0}}, +/* 38244 */ {(12<<2)|2,{102,45,0}}, +/* 38245 */ {(12<<2)|2,{102,45,0}}, +/* 38246 */ {(12<<2)|2,{102,45,0}}, +/* 38247 */ {(12<<2)|2,{102,45,0}}, +/* 38248 */ {(12<<2)|2,{102,45,0}}, +/* 38249 */ {(12<<2)|2,{102,45,0}}, +/* 38250 */ {(12<<2)|2,{102,45,0}}, +/* 38251 */ {(12<<2)|2,{102,45,0}}, +/* 38252 */ {(12<<2)|2,{102,45,0}}, +/* 38253 */ {(12<<2)|2,{102,45,0}}, +/* 38254 */ {(12<<2)|2,{102,45,0}}, +/* 38255 */ {(12<<2)|2,{102,45,0}}, +/* 38256 */ {(12<<2)|2,{102,46,0}}, +/* 38257 */ {(12<<2)|2,{102,46,0}}, +/* 38258 */ {(12<<2)|2,{102,46,0}}, +/* 38259 */ {(12<<2)|2,{102,46,0}}, +/* 38260 */ {(12<<2)|2,{102,46,0}}, +/* 38261 */ {(12<<2)|2,{102,46,0}}, +/* 38262 */ {(12<<2)|2,{102,46,0}}, +/* 38263 */ {(12<<2)|2,{102,46,0}}, +/* 38264 */ {(12<<2)|2,{102,46,0}}, +/* 38265 */ {(12<<2)|2,{102,46,0}}, +/* 38266 */ {(12<<2)|2,{102,46,0}}, +/* 38267 */ {(12<<2)|2,{102,46,0}}, +/* 38268 */ {(12<<2)|2,{102,46,0}}, +/* 38269 */ {(12<<2)|2,{102,46,0}}, +/* 38270 */ {(12<<2)|2,{102,46,0}}, +/* 38271 */ {(12<<2)|2,{102,46,0}}, +/* 38272 */ {(12<<2)|2,{102,47,0}}, +/* 38273 */ {(12<<2)|2,{102,47,0}}, +/* 38274 */ {(12<<2)|2,{102,47,0}}, +/* 38275 */ {(12<<2)|2,{102,47,0}}, +/* 38276 */ {(12<<2)|2,{102,47,0}}, +/* 38277 */ {(12<<2)|2,{102,47,0}}, +/* 38278 */ {(12<<2)|2,{102,47,0}}, +/* 38279 */ {(12<<2)|2,{102,47,0}}, +/* 38280 */ {(12<<2)|2,{102,47,0}}, +/* 38281 */ {(12<<2)|2,{102,47,0}}, +/* 38282 */ {(12<<2)|2,{102,47,0}}, +/* 38283 */ {(12<<2)|2,{102,47,0}}, +/* 38284 */ {(12<<2)|2,{102,47,0}}, +/* 38285 */ {(12<<2)|2,{102,47,0}}, +/* 38286 */ {(12<<2)|2,{102,47,0}}, +/* 38287 */ {(12<<2)|2,{102,47,0}}, +/* 38288 */ {(12<<2)|2,{102,51,0}}, +/* 38289 */ {(12<<2)|2,{102,51,0}}, +/* 38290 */ {(12<<2)|2,{102,51,0}}, +/* 38291 */ {(12<<2)|2,{102,51,0}}, +/* 38292 */ {(12<<2)|2,{102,51,0}}, +/* 38293 */ {(12<<2)|2,{102,51,0}}, +/* 38294 */ {(12<<2)|2,{102,51,0}}, +/* 38295 */ {(12<<2)|2,{102,51,0}}, +/* 38296 */ {(12<<2)|2,{102,51,0}}, +/* 38297 */ {(12<<2)|2,{102,51,0}}, +/* 38298 */ {(12<<2)|2,{102,51,0}}, +/* 38299 */ {(12<<2)|2,{102,51,0}}, +/* 38300 */ {(12<<2)|2,{102,51,0}}, +/* 38301 */ {(12<<2)|2,{102,51,0}}, +/* 38302 */ {(12<<2)|2,{102,51,0}}, +/* 38303 */ {(12<<2)|2,{102,51,0}}, +/* 38304 */ {(12<<2)|2,{102,52,0}}, +/* 38305 */ {(12<<2)|2,{102,52,0}}, +/* 38306 */ {(12<<2)|2,{102,52,0}}, +/* 38307 */ {(12<<2)|2,{102,52,0}}, +/* 38308 */ {(12<<2)|2,{102,52,0}}, +/* 38309 */ {(12<<2)|2,{102,52,0}}, +/* 38310 */ {(12<<2)|2,{102,52,0}}, +/* 38311 */ {(12<<2)|2,{102,52,0}}, +/* 38312 */ {(12<<2)|2,{102,52,0}}, +/* 38313 */ {(12<<2)|2,{102,52,0}}, +/* 38314 */ {(12<<2)|2,{102,52,0}}, +/* 38315 */ {(12<<2)|2,{102,52,0}}, +/* 38316 */ {(12<<2)|2,{102,52,0}}, +/* 38317 */ {(12<<2)|2,{102,52,0}}, +/* 38318 */ {(12<<2)|2,{102,52,0}}, +/* 38319 */ {(12<<2)|2,{102,52,0}}, +/* 38320 */ {(12<<2)|2,{102,53,0}}, +/* 38321 */ {(12<<2)|2,{102,53,0}}, +/* 38322 */ {(12<<2)|2,{102,53,0}}, +/* 38323 */ {(12<<2)|2,{102,53,0}}, +/* 38324 */ {(12<<2)|2,{102,53,0}}, +/* 38325 */ {(12<<2)|2,{102,53,0}}, +/* 38326 */ {(12<<2)|2,{102,53,0}}, +/* 38327 */ {(12<<2)|2,{102,53,0}}, +/* 38328 */ {(12<<2)|2,{102,53,0}}, +/* 38329 */ {(12<<2)|2,{102,53,0}}, +/* 38330 */ {(12<<2)|2,{102,53,0}}, +/* 38331 */ {(12<<2)|2,{102,53,0}}, +/* 38332 */ {(12<<2)|2,{102,53,0}}, +/* 38333 */ {(12<<2)|2,{102,53,0}}, +/* 38334 */ {(12<<2)|2,{102,53,0}}, +/* 38335 */ {(12<<2)|2,{102,53,0}}, +/* 38336 */ {(12<<2)|2,{102,54,0}}, +/* 38337 */ {(12<<2)|2,{102,54,0}}, +/* 38338 */ {(12<<2)|2,{102,54,0}}, +/* 38339 */ {(12<<2)|2,{102,54,0}}, +/* 38340 */ {(12<<2)|2,{102,54,0}}, +/* 38341 */ {(12<<2)|2,{102,54,0}}, +/* 38342 */ {(12<<2)|2,{102,54,0}}, +/* 38343 */ {(12<<2)|2,{102,54,0}}, +/* 38344 */ {(12<<2)|2,{102,54,0}}, +/* 38345 */ {(12<<2)|2,{102,54,0}}, +/* 38346 */ {(12<<2)|2,{102,54,0}}, +/* 38347 */ {(12<<2)|2,{102,54,0}}, +/* 38348 */ {(12<<2)|2,{102,54,0}}, +/* 38349 */ {(12<<2)|2,{102,54,0}}, +/* 38350 */ {(12<<2)|2,{102,54,0}}, +/* 38351 */ {(12<<2)|2,{102,54,0}}, +/* 38352 */ {(12<<2)|2,{102,55,0}}, +/* 38353 */ {(12<<2)|2,{102,55,0}}, +/* 38354 */ {(12<<2)|2,{102,55,0}}, +/* 38355 */ {(12<<2)|2,{102,55,0}}, +/* 38356 */ {(12<<2)|2,{102,55,0}}, +/* 38357 */ {(12<<2)|2,{102,55,0}}, +/* 38358 */ {(12<<2)|2,{102,55,0}}, +/* 38359 */ {(12<<2)|2,{102,55,0}}, +/* 38360 */ {(12<<2)|2,{102,55,0}}, +/* 38361 */ {(12<<2)|2,{102,55,0}}, +/* 38362 */ {(12<<2)|2,{102,55,0}}, +/* 38363 */ {(12<<2)|2,{102,55,0}}, +/* 38364 */ {(12<<2)|2,{102,55,0}}, +/* 38365 */ {(12<<2)|2,{102,55,0}}, +/* 38366 */ {(12<<2)|2,{102,55,0}}, +/* 38367 */ {(12<<2)|2,{102,55,0}}, +/* 38368 */ {(12<<2)|2,{102,56,0}}, +/* 38369 */ {(12<<2)|2,{102,56,0}}, +/* 38370 */ {(12<<2)|2,{102,56,0}}, +/* 38371 */ {(12<<2)|2,{102,56,0}}, +/* 38372 */ {(12<<2)|2,{102,56,0}}, +/* 38373 */ {(12<<2)|2,{102,56,0}}, +/* 38374 */ {(12<<2)|2,{102,56,0}}, +/* 38375 */ {(12<<2)|2,{102,56,0}}, +/* 38376 */ {(12<<2)|2,{102,56,0}}, +/* 38377 */ {(12<<2)|2,{102,56,0}}, +/* 38378 */ {(12<<2)|2,{102,56,0}}, +/* 38379 */ {(12<<2)|2,{102,56,0}}, +/* 38380 */ {(12<<2)|2,{102,56,0}}, +/* 38381 */ {(12<<2)|2,{102,56,0}}, +/* 38382 */ {(12<<2)|2,{102,56,0}}, +/* 38383 */ {(12<<2)|2,{102,56,0}}, +/* 38384 */ {(12<<2)|2,{102,57,0}}, +/* 38385 */ {(12<<2)|2,{102,57,0}}, +/* 38386 */ {(12<<2)|2,{102,57,0}}, +/* 38387 */ {(12<<2)|2,{102,57,0}}, +/* 38388 */ {(12<<2)|2,{102,57,0}}, +/* 38389 */ {(12<<2)|2,{102,57,0}}, +/* 38390 */ {(12<<2)|2,{102,57,0}}, +/* 38391 */ {(12<<2)|2,{102,57,0}}, +/* 38392 */ {(12<<2)|2,{102,57,0}}, +/* 38393 */ {(12<<2)|2,{102,57,0}}, +/* 38394 */ {(12<<2)|2,{102,57,0}}, +/* 38395 */ {(12<<2)|2,{102,57,0}}, +/* 38396 */ {(12<<2)|2,{102,57,0}}, +/* 38397 */ {(12<<2)|2,{102,57,0}}, +/* 38398 */ {(12<<2)|2,{102,57,0}}, +/* 38399 */ {(12<<2)|2,{102,57,0}}, +/* 38400 */ {(12<<2)|2,{102,61,0}}, +/* 38401 */ {(12<<2)|2,{102,61,0}}, +/* 38402 */ {(12<<2)|2,{102,61,0}}, +/* 38403 */ {(12<<2)|2,{102,61,0}}, +/* 38404 */ {(12<<2)|2,{102,61,0}}, +/* 38405 */ {(12<<2)|2,{102,61,0}}, +/* 38406 */ {(12<<2)|2,{102,61,0}}, +/* 38407 */ {(12<<2)|2,{102,61,0}}, +/* 38408 */ {(12<<2)|2,{102,61,0}}, +/* 38409 */ {(12<<2)|2,{102,61,0}}, +/* 38410 */ {(12<<2)|2,{102,61,0}}, +/* 38411 */ {(12<<2)|2,{102,61,0}}, +/* 38412 */ {(12<<2)|2,{102,61,0}}, +/* 38413 */ {(12<<2)|2,{102,61,0}}, +/* 38414 */ {(12<<2)|2,{102,61,0}}, +/* 38415 */ {(12<<2)|2,{102,61,0}}, +/* 38416 */ {(12<<2)|2,{102,65,0}}, +/* 38417 */ {(12<<2)|2,{102,65,0}}, +/* 38418 */ {(12<<2)|2,{102,65,0}}, +/* 38419 */ {(12<<2)|2,{102,65,0}}, +/* 38420 */ {(12<<2)|2,{102,65,0}}, +/* 38421 */ {(12<<2)|2,{102,65,0}}, +/* 38422 */ {(12<<2)|2,{102,65,0}}, +/* 38423 */ {(12<<2)|2,{102,65,0}}, +/* 38424 */ {(12<<2)|2,{102,65,0}}, +/* 38425 */ {(12<<2)|2,{102,65,0}}, +/* 38426 */ {(12<<2)|2,{102,65,0}}, +/* 38427 */ {(12<<2)|2,{102,65,0}}, +/* 38428 */ {(12<<2)|2,{102,65,0}}, +/* 38429 */ {(12<<2)|2,{102,65,0}}, +/* 38430 */ {(12<<2)|2,{102,65,0}}, +/* 38431 */ {(12<<2)|2,{102,65,0}}, +/* 38432 */ {(12<<2)|2,{102,95,0}}, +/* 38433 */ {(12<<2)|2,{102,95,0}}, +/* 38434 */ {(12<<2)|2,{102,95,0}}, +/* 38435 */ {(12<<2)|2,{102,95,0}}, +/* 38436 */ {(12<<2)|2,{102,95,0}}, +/* 38437 */ {(12<<2)|2,{102,95,0}}, +/* 38438 */ {(12<<2)|2,{102,95,0}}, +/* 38439 */ {(12<<2)|2,{102,95,0}}, +/* 38440 */ {(12<<2)|2,{102,95,0}}, +/* 38441 */ {(12<<2)|2,{102,95,0}}, +/* 38442 */ {(12<<2)|2,{102,95,0}}, +/* 38443 */ {(12<<2)|2,{102,95,0}}, +/* 38444 */ {(12<<2)|2,{102,95,0}}, +/* 38445 */ {(12<<2)|2,{102,95,0}}, +/* 38446 */ {(12<<2)|2,{102,95,0}}, +/* 38447 */ {(12<<2)|2,{102,95,0}}, +/* 38448 */ {(12<<2)|2,{102,98,0}}, +/* 38449 */ {(12<<2)|2,{102,98,0}}, +/* 38450 */ {(12<<2)|2,{102,98,0}}, +/* 38451 */ {(12<<2)|2,{102,98,0}}, +/* 38452 */ {(12<<2)|2,{102,98,0}}, +/* 38453 */ {(12<<2)|2,{102,98,0}}, +/* 38454 */ {(12<<2)|2,{102,98,0}}, +/* 38455 */ {(12<<2)|2,{102,98,0}}, +/* 38456 */ {(12<<2)|2,{102,98,0}}, +/* 38457 */ {(12<<2)|2,{102,98,0}}, +/* 38458 */ {(12<<2)|2,{102,98,0}}, +/* 38459 */ {(12<<2)|2,{102,98,0}}, +/* 38460 */ {(12<<2)|2,{102,98,0}}, +/* 38461 */ {(12<<2)|2,{102,98,0}}, +/* 38462 */ {(12<<2)|2,{102,98,0}}, +/* 38463 */ {(12<<2)|2,{102,98,0}}, +/* 38464 */ {(12<<2)|2,{102,100,0}}, +/* 38465 */ {(12<<2)|2,{102,100,0}}, +/* 38466 */ {(12<<2)|2,{102,100,0}}, +/* 38467 */ {(12<<2)|2,{102,100,0}}, +/* 38468 */ {(12<<2)|2,{102,100,0}}, +/* 38469 */ {(12<<2)|2,{102,100,0}}, +/* 38470 */ {(12<<2)|2,{102,100,0}}, +/* 38471 */ {(12<<2)|2,{102,100,0}}, +/* 38472 */ {(12<<2)|2,{102,100,0}}, +/* 38473 */ {(12<<2)|2,{102,100,0}}, +/* 38474 */ {(12<<2)|2,{102,100,0}}, +/* 38475 */ {(12<<2)|2,{102,100,0}}, +/* 38476 */ {(12<<2)|2,{102,100,0}}, +/* 38477 */ {(12<<2)|2,{102,100,0}}, +/* 38478 */ {(12<<2)|2,{102,100,0}}, +/* 38479 */ {(12<<2)|2,{102,100,0}}, +/* 38480 */ {(12<<2)|2,{102,102,0}}, +/* 38481 */ {(12<<2)|2,{102,102,0}}, +/* 38482 */ {(12<<2)|2,{102,102,0}}, +/* 38483 */ {(12<<2)|2,{102,102,0}}, +/* 38484 */ {(12<<2)|2,{102,102,0}}, +/* 38485 */ {(12<<2)|2,{102,102,0}}, +/* 38486 */ {(12<<2)|2,{102,102,0}}, +/* 38487 */ {(12<<2)|2,{102,102,0}}, +/* 38488 */ {(12<<2)|2,{102,102,0}}, +/* 38489 */ {(12<<2)|2,{102,102,0}}, +/* 38490 */ {(12<<2)|2,{102,102,0}}, +/* 38491 */ {(12<<2)|2,{102,102,0}}, +/* 38492 */ {(12<<2)|2,{102,102,0}}, +/* 38493 */ {(12<<2)|2,{102,102,0}}, +/* 38494 */ {(12<<2)|2,{102,102,0}}, +/* 38495 */ {(12<<2)|2,{102,102,0}}, +/* 38496 */ {(12<<2)|2,{102,103,0}}, +/* 38497 */ {(12<<2)|2,{102,103,0}}, +/* 38498 */ {(12<<2)|2,{102,103,0}}, +/* 38499 */ {(12<<2)|2,{102,103,0}}, +/* 38500 */ {(12<<2)|2,{102,103,0}}, +/* 38501 */ {(12<<2)|2,{102,103,0}}, +/* 38502 */ {(12<<2)|2,{102,103,0}}, +/* 38503 */ {(12<<2)|2,{102,103,0}}, +/* 38504 */ {(12<<2)|2,{102,103,0}}, +/* 38505 */ {(12<<2)|2,{102,103,0}}, +/* 38506 */ {(12<<2)|2,{102,103,0}}, +/* 38507 */ {(12<<2)|2,{102,103,0}}, +/* 38508 */ {(12<<2)|2,{102,103,0}}, +/* 38509 */ {(12<<2)|2,{102,103,0}}, +/* 38510 */ {(12<<2)|2,{102,103,0}}, +/* 38511 */ {(12<<2)|2,{102,103,0}}, +/* 38512 */ {(12<<2)|2,{102,104,0}}, +/* 38513 */ {(12<<2)|2,{102,104,0}}, +/* 38514 */ {(12<<2)|2,{102,104,0}}, +/* 38515 */ {(12<<2)|2,{102,104,0}}, +/* 38516 */ {(12<<2)|2,{102,104,0}}, +/* 38517 */ {(12<<2)|2,{102,104,0}}, +/* 38518 */ {(12<<2)|2,{102,104,0}}, +/* 38519 */ {(12<<2)|2,{102,104,0}}, +/* 38520 */ {(12<<2)|2,{102,104,0}}, +/* 38521 */ {(12<<2)|2,{102,104,0}}, +/* 38522 */ {(12<<2)|2,{102,104,0}}, +/* 38523 */ {(12<<2)|2,{102,104,0}}, +/* 38524 */ {(12<<2)|2,{102,104,0}}, +/* 38525 */ {(12<<2)|2,{102,104,0}}, +/* 38526 */ {(12<<2)|2,{102,104,0}}, +/* 38527 */ {(12<<2)|2,{102,104,0}}, +/* 38528 */ {(12<<2)|2,{102,108,0}}, +/* 38529 */ {(12<<2)|2,{102,108,0}}, +/* 38530 */ {(12<<2)|2,{102,108,0}}, +/* 38531 */ {(12<<2)|2,{102,108,0}}, +/* 38532 */ {(12<<2)|2,{102,108,0}}, +/* 38533 */ {(12<<2)|2,{102,108,0}}, +/* 38534 */ {(12<<2)|2,{102,108,0}}, +/* 38535 */ {(12<<2)|2,{102,108,0}}, +/* 38536 */ {(12<<2)|2,{102,108,0}}, +/* 38537 */ {(12<<2)|2,{102,108,0}}, +/* 38538 */ {(12<<2)|2,{102,108,0}}, +/* 38539 */ {(12<<2)|2,{102,108,0}}, +/* 38540 */ {(12<<2)|2,{102,108,0}}, +/* 38541 */ {(12<<2)|2,{102,108,0}}, +/* 38542 */ {(12<<2)|2,{102,108,0}}, +/* 38543 */ {(12<<2)|2,{102,108,0}}, +/* 38544 */ {(12<<2)|2,{102,109,0}}, +/* 38545 */ {(12<<2)|2,{102,109,0}}, +/* 38546 */ {(12<<2)|2,{102,109,0}}, +/* 38547 */ {(12<<2)|2,{102,109,0}}, +/* 38548 */ {(12<<2)|2,{102,109,0}}, +/* 38549 */ {(12<<2)|2,{102,109,0}}, +/* 38550 */ {(12<<2)|2,{102,109,0}}, +/* 38551 */ {(12<<2)|2,{102,109,0}}, +/* 38552 */ {(12<<2)|2,{102,109,0}}, +/* 38553 */ {(12<<2)|2,{102,109,0}}, +/* 38554 */ {(12<<2)|2,{102,109,0}}, +/* 38555 */ {(12<<2)|2,{102,109,0}}, +/* 38556 */ {(12<<2)|2,{102,109,0}}, +/* 38557 */ {(12<<2)|2,{102,109,0}}, +/* 38558 */ {(12<<2)|2,{102,109,0}}, +/* 38559 */ {(12<<2)|2,{102,109,0}}, +/* 38560 */ {(12<<2)|2,{102,110,0}}, +/* 38561 */ {(12<<2)|2,{102,110,0}}, +/* 38562 */ {(12<<2)|2,{102,110,0}}, +/* 38563 */ {(12<<2)|2,{102,110,0}}, +/* 38564 */ {(12<<2)|2,{102,110,0}}, +/* 38565 */ {(12<<2)|2,{102,110,0}}, +/* 38566 */ {(12<<2)|2,{102,110,0}}, +/* 38567 */ {(12<<2)|2,{102,110,0}}, +/* 38568 */ {(12<<2)|2,{102,110,0}}, +/* 38569 */ {(12<<2)|2,{102,110,0}}, +/* 38570 */ {(12<<2)|2,{102,110,0}}, +/* 38571 */ {(12<<2)|2,{102,110,0}}, +/* 38572 */ {(12<<2)|2,{102,110,0}}, +/* 38573 */ {(12<<2)|2,{102,110,0}}, +/* 38574 */ {(12<<2)|2,{102,110,0}}, +/* 38575 */ {(12<<2)|2,{102,110,0}}, +/* 38576 */ {(12<<2)|2,{102,112,0}}, +/* 38577 */ {(12<<2)|2,{102,112,0}}, +/* 38578 */ {(12<<2)|2,{102,112,0}}, +/* 38579 */ {(12<<2)|2,{102,112,0}}, +/* 38580 */ {(12<<2)|2,{102,112,0}}, +/* 38581 */ {(12<<2)|2,{102,112,0}}, +/* 38582 */ {(12<<2)|2,{102,112,0}}, +/* 38583 */ {(12<<2)|2,{102,112,0}}, +/* 38584 */ {(12<<2)|2,{102,112,0}}, +/* 38585 */ {(12<<2)|2,{102,112,0}}, +/* 38586 */ {(12<<2)|2,{102,112,0}}, +/* 38587 */ {(12<<2)|2,{102,112,0}}, +/* 38588 */ {(12<<2)|2,{102,112,0}}, +/* 38589 */ {(12<<2)|2,{102,112,0}}, +/* 38590 */ {(12<<2)|2,{102,112,0}}, +/* 38591 */ {(12<<2)|2,{102,112,0}}, +/* 38592 */ {(12<<2)|2,{102,114,0}}, +/* 38593 */ {(12<<2)|2,{102,114,0}}, +/* 38594 */ {(12<<2)|2,{102,114,0}}, +/* 38595 */ {(12<<2)|2,{102,114,0}}, +/* 38596 */ {(12<<2)|2,{102,114,0}}, +/* 38597 */ {(12<<2)|2,{102,114,0}}, +/* 38598 */ {(12<<2)|2,{102,114,0}}, +/* 38599 */ {(12<<2)|2,{102,114,0}}, +/* 38600 */ {(12<<2)|2,{102,114,0}}, +/* 38601 */ {(12<<2)|2,{102,114,0}}, +/* 38602 */ {(12<<2)|2,{102,114,0}}, +/* 38603 */ {(12<<2)|2,{102,114,0}}, +/* 38604 */ {(12<<2)|2,{102,114,0}}, +/* 38605 */ {(12<<2)|2,{102,114,0}}, +/* 38606 */ {(12<<2)|2,{102,114,0}}, +/* 38607 */ {(12<<2)|2,{102,114,0}}, +/* 38608 */ {(12<<2)|2,{102,117,0}}, +/* 38609 */ {(12<<2)|2,{102,117,0}}, +/* 38610 */ {(12<<2)|2,{102,117,0}}, +/* 38611 */ {(12<<2)|2,{102,117,0}}, +/* 38612 */ {(12<<2)|2,{102,117,0}}, +/* 38613 */ {(12<<2)|2,{102,117,0}}, +/* 38614 */ {(12<<2)|2,{102,117,0}}, +/* 38615 */ {(12<<2)|2,{102,117,0}}, +/* 38616 */ {(12<<2)|2,{102,117,0}}, +/* 38617 */ {(12<<2)|2,{102,117,0}}, +/* 38618 */ {(12<<2)|2,{102,117,0}}, +/* 38619 */ {(12<<2)|2,{102,117,0}}, +/* 38620 */ {(12<<2)|2,{102,117,0}}, +/* 38621 */ {(12<<2)|2,{102,117,0}}, +/* 38622 */ {(12<<2)|2,{102,117,0}}, +/* 38623 */ {(12<<2)|2,{102,117,0}}, +/* 38624 */ {(13<<2)|2,{102,58,0}}, +/* 38625 */ {(13<<2)|2,{102,58,0}}, +/* 38626 */ {(13<<2)|2,{102,58,0}}, +/* 38627 */ {(13<<2)|2,{102,58,0}}, +/* 38628 */ {(13<<2)|2,{102,58,0}}, +/* 38629 */ {(13<<2)|2,{102,58,0}}, +/* 38630 */ {(13<<2)|2,{102,58,0}}, +/* 38631 */ {(13<<2)|2,{102,58,0}}, +/* 38632 */ {(13<<2)|2,{102,66,0}}, +/* 38633 */ {(13<<2)|2,{102,66,0}}, +/* 38634 */ {(13<<2)|2,{102,66,0}}, +/* 38635 */ {(13<<2)|2,{102,66,0}}, +/* 38636 */ {(13<<2)|2,{102,66,0}}, +/* 38637 */ {(13<<2)|2,{102,66,0}}, +/* 38638 */ {(13<<2)|2,{102,66,0}}, +/* 38639 */ {(13<<2)|2,{102,66,0}}, +/* 38640 */ {(13<<2)|2,{102,67,0}}, +/* 38641 */ {(13<<2)|2,{102,67,0}}, +/* 38642 */ {(13<<2)|2,{102,67,0}}, +/* 38643 */ {(13<<2)|2,{102,67,0}}, +/* 38644 */ {(13<<2)|2,{102,67,0}}, +/* 38645 */ {(13<<2)|2,{102,67,0}}, +/* 38646 */ {(13<<2)|2,{102,67,0}}, +/* 38647 */ {(13<<2)|2,{102,67,0}}, +/* 38648 */ {(13<<2)|2,{102,68,0}}, +/* 38649 */ {(13<<2)|2,{102,68,0}}, +/* 38650 */ {(13<<2)|2,{102,68,0}}, +/* 38651 */ {(13<<2)|2,{102,68,0}}, +/* 38652 */ {(13<<2)|2,{102,68,0}}, +/* 38653 */ {(13<<2)|2,{102,68,0}}, +/* 38654 */ {(13<<2)|2,{102,68,0}}, +/* 38655 */ {(13<<2)|2,{102,68,0}}, +/* 38656 */ {(13<<2)|2,{102,69,0}}, +/* 38657 */ {(13<<2)|2,{102,69,0}}, +/* 38658 */ {(13<<2)|2,{102,69,0}}, +/* 38659 */ {(13<<2)|2,{102,69,0}}, +/* 38660 */ {(13<<2)|2,{102,69,0}}, +/* 38661 */ {(13<<2)|2,{102,69,0}}, +/* 38662 */ {(13<<2)|2,{102,69,0}}, +/* 38663 */ {(13<<2)|2,{102,69,0}}, +/* 38664 */ {(13<<2)|2,{102,70,0}}, +/* 38665 */ {(13<<2)|2,{102,70,0}}, +/* 38666 */ {(13<<2)|2,{102,70,0}}, +/* 38667 */ {(13<<2)|2,{102,70,0}}, +/* 38668 */ {(13<<2)|2,{102,70,0}}, +/* 38669 */ {(13<<2)|2,{102,70,0}}, +/* 38670 */ {(13<<2)|2,{102,70,0}}, +/* 38671 */ {(13<<2)|2,{102,70,0}}, +/* 38672 */ {(13<<2)|2,{102,71,0}}, +/* 38673 */ {(13<<2)|2,{102,71,0}}, +/* 38674 */ {(13<<2)|2,{102,71,0}}, +/* 38675 */ {(13<<2)|2,{102,71,0}}, +/* 38676 */ {(13<<2)|2,{102,71,0}}, +/* 38677 */ {(13<<2)|2,{102,71,0}}, +/* 38678 */ {(13<<2)|2,{102,71,0}}, +/* 38679 */ {(13<<2)|2,{102,71,0}}, +/* 38680 */ {(13<<2)|2,{102,72,0}}, +/* 38681 */ {(13<<2)|2,{102,72,0}}, +/* 38682 */ {(13<<2)|2,{102,72,0}}, +/* 38683 */ {(13<<2)|2,{102,72,0}}, +/* 38684 */ {(13<<2)|2,{102,72,0}}, +/* 38685 */ {(13<<2)|2,{102,72,0}}, +/* 38686 */ {(13<<2)|2,{102,72,0}}, +/* 38687 */ {(13<<2)|2,{102,72,0}}, +/* 38688 */ {(13<<2)|2,{102,73,0}}, +/* 38689 */ {(13<<2)|2,{102,73,0}}, +/* 38690 */ {(13<<2)|2,{102,73,0}}, +/* 38691 */ {(13<<2)|2,{102,73,0}}, +/* 38692 */ {(13<<2)|2,{102,73,0}}, +/* 38693 */ {(13<<2)|2,{102,73,0}}, +/* 38694 */ {(13<<2)|2,{102,73,0}}, +/* 38695 */ {(13<<2)|2,{102,73,0}}, +/* 38696 */ {(13<<2)|2,{102,74,0}}, +/* 38697 */ {(13<<2)|2,{102,74,0}}, +/* 38698 */ {(13<<2)|2,{102,74,0}}, +/* 38699 */ {(13<<2)|2,{102,74,0}}, +/* 38700 */ {(13<<2)|2,{102,74,0}}, +/* 38701 */ {(13<<2)|2,{102,74,0}}, +/* 38702 */ {(13<<2)|2,{102,74,0}}, +/* 38703 */ {(13<<2)|2,{102,74,0}}, +/* 38704 */ {(13<<2)|2,{102,75,0}}, +/* 38705 */ {(13<<2)|2,{102,75,0}}, +/* 38706 */ {(13<<2)|2,{102,75,0}}, +/* 38707 */ {(13<<2)|2,{102,75,0}}, +/* 38708 */ {(13<<2)|2,{102,75,0}}, +/* 38709 */ {(13<<2)|2,{102,75,0}}, +/* 38710 */ {(13<<2)|2,{102,75,0}}, +/* 38711 */ {(13<<2)|2,{102,75,0}}, +/* 38712 */ {(13<<2)|2,{102,76,0}}, +/* 38713 */ {(13<<2)|2,{102,76,0}}, +/* 38714 */ {(13<<2)|2,{102,76,0}}, +/* 38715 */ {(13<<2)|2,{102,76,0}}, +/* 38716 */ {(13<<2)|2,{102,76,0}}, +/* 38717 */ {(13<<2)|2,{102,76,0}}, +/* 38718 */ {(13<<2)|2,{102,76,0}}, +/* 38719 */ {(13<<2)|2,{102,76,0}}, +/* 38720 */ {(13<<2)|2,{102,77,0}}, +/* 38721 */ {(13<<2)|2,{102,77,0}}, +/* 38722 */ {(13<<2)|2,{102,77,0}}, +/* 38723 */ {(13<<2)|2,{102,77,0}}, +/* 38724 */ {(13<<2)|2,{102,77,0}}, +/* 38725 */ {(13<<2)|2,{102,77,0}}, +/* 38726 */ {(13<<2)|2,{102,77,0}}, +/* 38727 */ {(13<<2)|2,{102,77,0}}, +/* 38728 */ {(13<<2)|2,{102,78,0}}, +/* 38729 */ {(13<<2)|2,{102,78,0}}, +/* 38730 */ {(13<<2)|2,{102,78,0}}, +/* 38731 */ {(13<<2)|2,{102,78,0}}, +/* 38732 */ {(13<<2)|2,{102,78,0}}, +/* 38733 */ {(13<<2)|2,{102,78,0}}, +/* 38734 */ {(13<<2)|2,{102,78,0}}, +/* 38735 */ {(13<<2)|2,{102,78,0}}, +/* 38736 */ {(13<<2)|2,{102,79,0}}, +/* 38737 */ {(13<<2)|2,{102,79,0}}, +/* 38738 */ {(13<<2)|2,{102,79,0}}, +/* 38739 */ {(13<<2)|2,{102,79,0}}, +/* 38740 */ {(13<<2)|2,{102,79,0}}, +/* 38741 */ {(13<<2)|2,{102,79,0}}, +/* 38742 */ {(13<<2)|2,{102,79,0}}, +/* 38743 */ {(13<<2)|2,{102,79,0}}, +/* 38744 */ {(13<<2)|2,{102,80,0}}, +/* 38745 */ {(13<<2)|2,{102,80,0}}, +/* 38746 */ {(13<<2)|2,{102,80,0}}, +/* 38747 */ {(13<<2)|2,{102,80,0}}, +/* 38748 */ {(13<<2)|2,{102,80,0}}, +/* 38749 */ {(13<<2)|2,{102,80,0}}, +/* 38750 */ {(13<<2)|2,{102,80,0}}, +/* 38751 */ {(13<<2)|2,{102,80,0}}, +/* 38752 */ {(13<<2)|2,{102,81,0}}, +/* 38753 */ {(13<<2)|2,{102,81,0}}, +/* 38754 */ {(13<<2)|2,{102,81,0}}, +/* 38755 */ {(13<<2)|2,{102,81,0}}, +/* 38756 */ {(13<<2)|2,{102,81,0}}, +/* 38757 */ {(13<<2)|2,{102,81,0}}, +/* 38758 */ {(13<<2)|2,{102,81,0}}, +/* 38759 */ {(13<<2)|2,{102,81,0}}, +/* 38760 */ {(13<<2)|2,{102,82,0}}, +/* 38761 */ {(13<<2)|2,{102,82,0}}, +/* 38762 */ {(13<<2)|2,{102,82,0}}, +/* 38763 */ {(13<<2)|2,{102,82,0}}, +/* 38764 */ {(13<<2)|2,{102,82,0}}, +/* 38765 */ {(13<<2)|2,{102,82,0}}, +/* 38766 */ {(13<<2)|2,{102,82,0}}, +/* 38767 */ {(13<<2)|2,{102,82,0}}, +/* 38768 */ {(13<<2)|2,{102,83,0}}, +/* 38769 */ {(13<<2)|2,{102,83,0}}, +/* 38770 */ {(13<<2)|2,{102,83,0}}, +/* 38771 */ {(13<<2)|2,{102,83,0}}, +/* 38772 */ {(13<<2)|2,{102,83,0}}, +/* 38773 */ {(13<<2)|2,{102,83,0}}, +/* 38774 */ {(13<<2)|2,{102,83,0}}, +/* 38775 */ {(13<<2)|2,{102,83,0}}, +/* 38776 */ {(13<<2)|2,{102,84,0}}, +/* 38777 */ {(13<<2)|2,{102,84,0}}, +/* 38778 */ {(13<<2)|2,{102,84,0}}, +/* 38779 */ {(13<<2)|2,{102,84,0}}, +/* 38780 */ {(13<<2)|2,{102,84,0}}, +/* 38781 */ {(13<<2)|2,{102,84,0}}, +/* 38782 */ {(13<<2)|2,{102,84,0}}, +/* 38783 */ {(13<<2)|2,{102,84,0}}, +/* 38784 */ {(13<<2)|2,{102,85,0}}, +/* 38785 */ {(13<<2)|2,{102,85,0}}, +/* 38786 */ {(13<<2)|2,{102,85,0}}, +/* 38787 */ {(13<<2)|2,{102,85,0}}, +/* 38788 */ {(13<<2)|2,{102,85,0}}, +/* 38789 */ {(13<<2)|2,{102,85,0}}, +/* 38790 */ {(13<<2)|2,{102,85,0}}, +/* 38791 */ {(13<<2)|2,{102,85,0}}, +/* 38792 */ {(13<<2)|2,{102,86,0}}, +/* 38793 */ {(13<<2)|2,{102,86,0}}, +/* 38794 */ {(13<<2)|2,{102,86,0}}, +/* 38795 */ {(13<<2)|2,{102,86,0}}, +/* 38796 */ {(13<<2)|2,{102,86,0}}, +/* 38797 */ {(13<<2)|2,{102,86,0}}, +/* 38798 */ {(13<<2)|2,{102,86,0}}, +/* 38799 */ {(13<<2)|2,{102,86,0}}, +/* 38800 */ {(13<<2)|2,{102,87,0}}, +/* 38801 */ {(13<<2)|2,{102,87,0}}, +/* 38802 */ {(13<<2)|2,{102,87,0}}, +/* 38803 */ {(13<<2)|2,{102,87,0}}, +/* 38804 */ {(13<<2)|2,{102,87,0}}, +/* 38805 */ {(13<<2)|2,{102,87,0}}, +/* 38806 */ {(13<<2)|2,{102,87,0}}, +/* 38807 */ {(13<<2)|2,{102,87,0}}, +/* 38808 */ {(13<<2)|2,{102,89,0}}, +/* 38809 */ {(13<<2)|2,{102,89,0}}, +/* 38810 */ {(13<<2)|2,{102,89,0}}, +/* 38811 */ {(13<<2)|2,{102,89,0}}, +/* 38812 */ {(13<<2)|2,{102,89,0}}, +/* 38813 */ {(13<<2)|2,{102,89,0}}, +/* 38814 */ {(13<<2)|2,{102,89,0}}, +/* 38815 */ {(13<<2)|2,{102,89,0}}, +/* 38816 */ {(13<<2)|2,{102,106,0}}, +/* 38817 */ {(13<<2)|2,{102,106,0}}, +/* 38818 */ {(13<<2)|2,{102,106,0}}, +/* 38819 */ {(13<<2)|2,{102,106,0}}, +/* 38820 */ {(13<<2)|2,{102,106,0}}, +/* 38821 */ {(13<<2)|2,{102,106,0}}, +/* 38822 */ {(13<<2)|2,{102,106,0}}, +/* 38823 */ {(13<<2)|2,{102,106,0}}, +/* 38824 */ {(13<<2)|2,{102,107,0}}, +/* 38825 */ {(13<<2)|2,{102,107,0}}, +/* 38826 */ {(13<<2)|2,{102,107,0}}, +/* 38827 */ {(13<<2)|2,{102,107,0}}, +/* 38828 */ {(13<<2)|2,{102,107,0}}, +/* 38829 */ {(13<<2)|2,{102,107,0}}, +/* 38830 */ {(13<<2)|2,{102,107,0}}, +/* 38831 */ {(13<<2)|2,{102,107,0}}, +/* 38832 */ {(13<<2)|2,{102,113,0}}, +/* 38833 */ {(13<<2)|2,{102,113,0}}, +/* 38834 */ {(13<<2)|2,{102,113,0}}, +/* 38835 */ {(13<<2)|2,{102,113,0}}, +/* 38836 */ {(13<<2)|2,{102,113,0}}, +/* 38837 */ {(13<<2)|2,{102,113,0}}, +/* 38838 */ {(13<<2)|2,{102,113,0}}, +/* 38839 */ {(13<<2)|2,{102,113,0}}, +/* 38840 */ {(13<<2)|2,{102,118,0}}, +/* 38841 */ {(13<<2)|2,{102,118,0}}, +/* 38842 */ {(13<<2)|2,{102,118,0}}, +/* 38843 */ {(13<<2)|2,{102,118,0}}, +/* 38844 */ {(13<<2)|2,{102,118,0}}, +/* 38845 */ {(13<<2)|2,{102,118,0}}, +/* 38846 */ {(13<<2)|2,{102,118,0}}, +/* 38847 */ {(13<<2)|2,{102,118,0}}, +/* 38848 */ {(13<<2)|2,{102,119,0}}, +/* 38849 */ {(13<<2)|2,{102,119,0}}, +/* 38850 */ {(13<<2)|2,{102,119,0}}, +/* 38851 */ {(13<<2)|2,{102,119,0}}, +/* 38852 */ {(13<<2)|2,{102,119,0}}, +/* 38853 */ {(13<<2)|2,{102,119,0}}, +/* 38854 */ {(13<<2)|2,{102,119,0}}, +/* 38855 */ {(13<<2)|2,{102,119,0}}, +/* 38856 */ {(13<<2)|2,{102,120,0}}, +/* 38857 */ {(13<<2)|2,{102,120,0}}, +/* 38858 */ {(13<<2)|2,{102,120,0}}, +/* 38859 */ {(13<<2)|2,{102,120,0}}, +/* 38860 */ {(13<<2)|2,{102,120,0}}, +/* 38861 */ {(13<<2)|2,{102,120,0}}, +/* 38862 */ {(13<<2)|2,{102,120,0}}, +/* 38863 */ {(13<<2)|2,{102,120,0}}, +/* 38864 */ {(13<<2)|2,{102,121,0}}, +/* 38865 */ {(13<<2)|2,{102,121,0}}, +/* 38866 */ {(13<<2)|2,{102,121,0}}, +/* 38867 */ {(13<<2)|2,{102,121,0}}, +/* 38868 */ {(13<<2)|2,{102,121,0}}, +/* 38869 */ {(13<<2)|2,{102,121,0}}, +/* 38870 */ {(13<<2)|2,{102,121,0}}, +/* 38871 */ {(13<<2)|2,{102,121,0}}, +/* 38872 */ {(13<<2)|2,{102,122,0}}, +/* 38873 */ {(13<<2)|2,{102,122,0}}, +/* 38874 */ {(13<<2)|2,{102,122,0}}, +/* 38875 */ {(13<<2)|2,{102,122,0}}, +/* 38876 */ {(13<<2)|2,{102,122,0}}, +/* 38877 */ {(13<<2)|2,{102,122,0}}, +/* 38878 */ {(13<<2)|2,{102,122,0}}, +/* 38879 */ {(13<<2)|2,{102,122,0}}, +/* 38880 */ {(14<<2)|2,{102,38,0}}, +/* 38881 */ {(14<<2)|2,{102,38,0}}, +/* 38882 */ {(14<<2)|2,{102,38,0}}, +/* 38883 */ {(14<<2)|2,{102,38,0}}, +/* 38884 */ {(14<<2)|2,{102,42,0}}, +/* 38885 */ {(14<<2)|2,{102,42,0}}, +/* 38886 */ {(14<<2)|2,{102,42,0}}, +/* 38887 */ {(14<<2)|2,{102,42,0}}, +/* 38888 */ {(14<<2)|2,{102,44,0}}, +/* 38889 */ {(14<<2)|2,{102,44,0}}, +/* 38890 */ {(14<<2)|2,{102,44,0}}, +/* 38891 */ {(14<<2)|2,{102,44,0}}, +/* 38892 */ {(14<<2)|2,{102,59,0}}, +/* 38893 */ {(14<<2)|2,{102,59,0}}, +/* 38894 */ {(14<<2)|2,{102,59,0}}, +/* 38895 */ {(14<<2)|2,{102,59,0}}, +/* 38896 */ {(14<<2)|2,{102,88,0}}, +/* 38897 */ {(14<<2)|2,{102,88,0}}, +/* 38898 */ {(14<<2)|2,{102,88,0}}, +/* 38899 */ {(14<<2)|2,{102,88,0}}, +/* 38900 */ {(14<<2)|2,{102,90,0}}, +/* 38901 */ {(14<<2)|2,{102,90,0}}, +/* 38902 */ {(14<<2)|2,{102,90,0}}, +/* 38903 */ {(14<<2)|2,{102,90,0}}, +/* 38904 */ {(16<<2)|2,{102,33,0}}, +/* 38905 */ {(16<<2)|2,{102,34,0}}, +/* 38906 */ {(16<<2)|2,{102,40,0}}, +/* 38907 */ {(16<<2)|2,{102,41,0}}, +/* 38908 */ {(16<<2)|2,{102,63,0}}, +/* 38909 */ {(6<<2)|1,{102,0,0}}, +/* 38910 */ {(6<<2)|1,{102,0,0}}, +/* 38911 */ {(6<<2)|1,{102,0,0}}, +/* 38912 */ {(16<<2)|3,{103,48,48}}, +/* 38913 */ {(16<<2)|3,{103,48,49}}, +/* 38914 */ {(16<<2)|3,{103,48,50}}, +/* 38915 */ {(16<<2)|3,{103,48,97}}, +/* 38916 */ {(16<<2)|3,{103,48,99}}, +/* 38917 */ {(16<<2)|3,{103,48,101}}, +/* 38918 */ {(16<<2)|3,{103,48,105}}, +/* 38919 */ {(16<<2)|3,{103,48,111}}, +/* 38920 */ {(16<<2)|3,{103,48,115}}, +/* 38921 */ {(16<<2)|3,{103,48,116}}, +/* 38922 */ {(11<<2)|2,{103,48,0}}, +/* 38923 */ {(11<<2)|2,{103,48,0}}, +/* 38924 */ {(11<<2)|2,{103,48,0}}, +/* 38925 */ {(11<<2)|2,{103,48,0}}, +/* 38926 */ {(11<<2)|2,{103,48,0}}, +/* 38927 */ {(11<<2)|2,{103,48,0}}, +/* 38928 */ {(11<<2)|2,{103,48,0}}, +/* 38929 */ {(11<<2)|2,{103,48,0}}, +/* 38930 */ {(11<<2)|2,{103,48,0}}, +/* 38931 */ {(11<<2)|2,{103,48,0}}, +/* 38932 */ {(11<<2)|2,{103,48,0}}, +/* 38933 */ {(11<<2)|2,{103,48,0}}, +/* 38934 */ {(11<<2)|2,{103,48,0}}, +/* 38935 */ {(11<<2)|2,{103,48,0}}, +/* 38936 */ {(11<<2)|2,{103,48,0}}, +/* 38937 */ {(11<<2)|2,{103,48,0}}, +/* 38938 */ {(11<<2)|2,{103,48,0}}, +/* 38939 */ {(11<<2)|2,{103,48,0}}, +/* 38940 */ {(11<<2)|2,{103,48,0}}, +/* 38941 */ {(11<<2)|2,{103,48,0}}, +/* 38942 */ {(11<<2)|2,{103,48,0}}, +/* 38943 */ {(11<<2)|2,{103,48,0}}, +/* 38944 */ {(16<<2)|3,{103,49,48}}, +/* 38945 */ {(16<<2)|3,{103,49,49}}, +/* 38946 */ {(16<<2)|3,{103,49,50}}, +/* 38947 */ {(16<<2)|3,{103,49,97}}, +/* 38948 */ {(16<<2)|3,{103,49,99}}, +/* 38949 */ {(16<<2)|3,{103,49,101}}, +/* 38950 */ {(16<<2)|3,{103,49,105}}, +/* 38951 */ {(16<<2)|3,{103,49,111}}, +/* 38952 */ {(16<<2)|3,{103,49,115}}, +/* 38953 */ {(16<<2)|3,{103,49,116}}, +/* 38954 */ {(11<<2)|2,{103,49,0}}, +/* 38955 */ {(11<<2)|2,{103,49,0}}, +/* 38956 */ {(11<<2)|2,{103,49,0}}, +/* 38957 */ {(11<<2)|2,{103,49,0}}, +/* 38958 */ {(11<<2)|2,{103,49,0}}, +/* 38959 */ {(11<<2)|2,{103,49,0}}, +/* 38960 */ {(11<<2)|2,{103,49,0}}, +/* 38961 */ {(11<<2)|2,{103,49,0}}, +/* 38962 */ {(11<<2)|2,{103,49,0}}, +/* 38963 */ {(11<<2)|2,{103,49,0}}, +/* 38964 */ {(11<<2)|2,{103,49,0}}, +/* 38965 */ {(11<<2)|2,{103,49,0}}, +/* 38966 */ {(11<<2)|2,{103,49,0}}, +/* 38967 */ {(11<<2)|2,{103,49,0}}, +/* 38968 */ {(11<<2)|2,{103,49,0}}, +/* 38969 */ {(11<<2)|2,{103,49,0}}, +/* 38970 */ {(11<<2)|2,{103,49,0}}, +/* 38971 */ {(11<<2)|2,{103,49,0}}, +/* 38972 */ {(11<<2)|2,{103,49,0}}, +/* 38973 */ {(11<<2)|2,{103,49,0}}, +/* 38974 */ {(11<<2)|2,{103,49,0}}, +/* 38975 */ {(11<<2)|2,{103,49,0}}, +/* 38976 */ {(16<<2)|3,{103,50,48}}, +/* 38977 */ {(16<<2)|3,{103,50,49}}, +/* 38978 */ {(16<<2)|3,{103,50,50}}, +/* 38979 */ {(16<<2)|3,{103,50,97}}, +/* 38980 */ {(16<<2)|3,{103,50,99}}, +/* 38981 */ {(16<<2)|3,{103,50,101}}, +/* 38982 */ {(16<<2)|3,{103,50,105}}, +/* 38983 */ {(16<<2)|3,{103,50,111}}, +/* 38984 */ {(16<<2)|3,{103,50,115}}, +/* 38985 */ {(16<<2)|3,{103,50,116}}, +/* 38986 */ {(11<<2)|2,{103,50,0}}, +/* 38987 */ {(11<<2)|2,{103,50,0}}, +/* 38988 */ {(11<<2)|2,{103,50,0}}, +/* 38989 */ {(11<<2)|2,{103,50,0}}, +/* 38990 */ {(11<<2)|2,{103,50,0}}, +/* 38991 */ {(11<<2)|2,{103,50,0}}, +/* 38992 */ {(11<<2)|2,{103,50,0}}, +/* 38993 */ {(11<<2)|2,{103,50,0}}, +/* 38994 */ {(11<<2)|2,{103,50,0}}, +/* 38995 */ {(11<<2)|2,{103,50,0}}, +/* 38996 */ {(11<<2)|2,{103,50,0}}, +/* 38997 */ {(11<<2)|2,{103,50,0}}, +/* 38998 */ {(11<<2)|2,{103,50,0}}, +/* 38999 */ {(11<<2)|2,{103,50,0}}, +/* 39000 */ {(11<<2)|2,{103,50,0}}, +/* 39001 */ {(11<<2)|2,{103,50,0}}, +/* 39002 */ {(11<<2)|2,{103,50,0}}, +/* 39003 */ {(11<<2)|2,{103,50,0}}, +/* 39004 */ {(11<<2)|2,{103,50,0}}, +/* 39005 */ {(11<<2)|2,{103,50,0}}, +/* 39006 */ {(11<<2)|2,{103,50,0}}, +/* 39007 */ {(11<<2)|2,{103,50,0}}, +/* 39008 */ {(16<<2)|3,{103,97,48}}, +/* 39009 */ {(16<<2)|3,{103,97,49}}, +/* 39010 */ {(16<<2)|3,{103,97,50}}, +/* 39011 */ {(16<<2)|3,{103,97,97}}, +/* 39012 */ {(16<<2)|3,{103,97,99}}, +/* 39013 */ {(16<<2)|3,{103,97,101}}, +/* 39014 */ {(16<<2)|3,{103,97,105}}, +/* 39015 */ {(16<<2)|3,{103,97,111}}, +/* 39016 */ {(16<<2)|3,{103,97,115}}, +/* 39017 */ {(16<<2)|3,{103,97,116}}, +/* 39018 */ {(11<<2)|2,{103,97,0}}, +/* 39019 */ {(11<<2)|2,{103,97,0}}, +/* 39020 */ {(11<<2)|2,{103,97,0}}, +/* 39021 */ {(11<<2)|2,{103,97,0}}, +/* 39022 */ {(11<<2)|2,{103,97,0}}, +/* 39023 */ {(11<<2)|2,{103,97,0}}, +/* 39024 */ {(11<<2)|2,{103,97,0}}, +/* 39025 */ {(11<<2)|2,{103,97,0}}, +/* 39026 */ {(11<<2)|2,{103,97,0}}, +/* 39027 */ {(11<<2)|2,{103,97,0}}, +/* 39028 */ {(11<<2)|2,{103,97,0}}, +/* 39029 */ {(11<<2)|2,{103,97,0}}, +/* 39030 */ {(11<<2)|2,{103,97,0}}, +/* 39031 */ {(11<<2)|2,{103,97,0}}, +/* 39032 */ {(11<<2)|2,{103,97,0}}, +/* 39033 */ {(11<<2)|2,{103,97,0}}, +/* 39034 */ {(11<<2)|2,{103,97,0}}, +/* 39035 */ {(11<<2)|2,{103,97,0}}, +/* 39036 */ {(11<<2)|2,{103,97,0}}, +/* 39037 */ {(11<<2)|2,{103,97,0}}, +/* 39038 */ {(11<<2)|2,{103,97,0}}, +/* 39039 */ {(11<<2)|2,{103,97,0}}, +/* 39040 */ {(16<<2)|3,{103,99,48}}, +/* 39041 */ {(16<<2)|3,{103,99,49}}, +/* 39042 */ {(16<<2)|3,{103,99,50}}, +/* 39043 */ {(16<<2)|3,{103,99,97}}, +/* 39044 */ {(16<<2)|3,{103,99,99}}, +/* 39045 */ {(16<<2)|3,{103,99,101}}, +/* 39046 */ {(16<<2)|3,{103,99,105}}, +/* 39047 */ {(16<<2)|3,{103,99,111}}, +/* 39048 */ {(16<<2)|3,{103,99,115}}, +/* 39049 */ {(16<<2)|3,{103,99,116}}, +/* 39050 */ {(11<<2)|2,{103,99,0}}, +/* 39051 */ {(11<<2)|2,{103,99,0}}, +/* 39052 */ {(11<<2)|2,{103,99,0}}, +/* 39053 */ {(11<<2)|2,{103,99,0}}, +/* 39054 */ {(11<<2)|2,{103,99,0}}, +/* 39055 */ {(11<<2)|2,{103,99,0}}, +/* 39056 */ {(11<<2)|2,{103,99,0}}, +/* 39057 */ {(11<<2)|2,{103,99,0}}, +/* 39058 */ {(11<<2)|2,{103,99,0}}, +/* 39059 */ {(11<<2)|2,{103,99,0}}, +/* 39060 */ {(11<<2)|2,{103,99,0}}, +/* 39061 */ {(11<<2)|2,{103,99,0}}, +/* 39062 */ {(11<<2)|2,{103,99,0}}, +/* 39063 */ {(11<<2)|2,{103,99,0}}, +/* 39064 */ {(11<<2)|2,{103,99,0}}, +/* 39065 */ {(11<<2)|2,{103,99,0}}, +/* 39066 */ {(11<<2)|2,{103,99,0}}, +/* 39067 */ {(11<<2)|2,{103,99,0}}, +/* 39068 */ {(11<<2)|2,{103,99,0}}, +/* 39069 */ {(11<<2)|2,{103,99,0}}, +/* 39070 */ {(11<<2)|2,{103,99,0}}, +/* 39071 */ {(11<<2)|2,{103,99,0}}, +/* 39072 */ {(16<<2)|3,{103,101,48}}, +/* 39073 */ {(16<<2)|3,{103,101,49}}, +/* 39074 */ {(16<<2)|3,{103,101,50}}, +/* 39075 */ {(16<<2)|3,{103,101,97}}, +/* 39076 */ {(16<<2)|3,{103,101,99}}, +/* 39077 */ {(16<<2)|3,{103,101,101}}, +/* 39078 */ {(16<<2)|3,{103,101,105}}, +/* 39079 */ {(16<<2)|3,{103,101,111}}, +/* 39080 */ {(16<<2)|3,{103,101,115}}, +/* 39081 */ {(16<<2)|3,{103,101,116}}, +/* 39082 */ {(11<<2)|2,{103,101,0}}, +/* 39083 */ {(11<<2)|2,{103,101,0}}, +/* 39084 */ {(11<<2)|2,{103,101,0}}, +/* 39085 */ {(11<<2)|2,{103,101,0}}, +/* 39086 */ {(11<<2)|2,{103,101,0}}, +/* 39087 */ {(11<<2)|2,{103,101,0}}, +/* 39088 */ {(11<<2)|2,{103,101,0}}, +/* 39089 */ {(11<<2)|2,{103,101,0}}, +/* 39090 */ {(11<<2)|2,{103,101,0}}, +/* 39091 */ {(11<<2)|2,{103,101,0}}, +/* 39092 */ {(11<<2)|2,{103,101,0}}, +/* 39093 */ {(11<<2)|2,{103,101,0}}, +/* 39094 */ {(11<<2)|2,{103,101,0}}, +/* 39095 */ {(11<<2)|2,{103,101,0}}, +/* 39096 */ {(11<<2)|2,{103,101,0}}, +/* 39097 */ {(11<<2)|2,{103,101,0}}, +/* 39098 */ {(11<<2)|2,{103,101,0}}, +/* 39099 */ {(11<<2)|2,{103,101,0}}, +/* 39100 */ {(11<<2)|2,{103,101,0}}, +/* 39101 */ {(11<<2)|2,{103,101,0}}, +/* 39102 */ {(11<<2)|2,{103,101,0}}, +/* 39103 */ {(11<<2)|2,{103,101,0}}, +/* 39104 */ {(16<<2)|3,{103,105,48}}, +/* 39105 */ {(16<<2)|3,{103,105,49}}, +/* 39106 */ {(16<<2)|3,{103,105,50}}, +/* 39107 */ {(16<<2)|3,{103,105,97}}, +/* 39108 */ {(16<<2)|3,{103,105,99}}, +/* 39109 */ {(16<<2)|3,{103,105,101}}, +/* 39110 */ {(16<<2)|3,{103,105,105}}, +/* 39111 */ {(16<<2)|3,{103,105,111}}, +/* 39112 */ {(16<<2)|3,{103,105,115}}, +/* 39113 */ {(16<<2)|3,{103,105,116}}, +/* 39114 */ {(11<<2)|2,{103,105,0}}, +/* 39115 */ {(11<<2)|2,{103,105,0}}, +/* 39116 */ {(11<<2)|2,{103,105,0}}, +/* 39117 */ {(11<<2)|2,{103,105,0}}, +/* 39118 */ {(11<<2)|2,{103,105,0}}, +/* 39119 */ {(11<<2)|2,{103,105,0}}, +/* 39120 */ {(11<<2)|2,{103,105,0}}, +/* 39121 */ {(11<<2)|2,{103,105,0}}, +/* 39122 */ {(11<<2)|2,{103,105,0}}, +/* 39123 */ {(11<<2)|2,{103,105,0}}, +/* 39124 */ {(11<<2)|2,{103,105,0}}, +/* 39125 */ {(11<<2)|2,{103,105,0}}, +/* 39126 */ {(11<<2)|2,{103,105,0}}, +/* 39127 */ {(11<<2)|2,{103,105,0}}, +/* 39128 */ {(11<<2)|2,{103,105,0}}, +/* 39129 */ {(11<<2)|2,{103,105,0}}, +/* 39130 */ {(11<<2)|2,{103,105,0}}, +/* 39131 */ {(11<<2)|2,{103,105,0}}, +/* 39132 */ {(11<<2)|2,{103,105,0}}, +/* 39133 */ {(11<<2)|2,{103,105,0}}, +/* 39134 */ {(11<<2)|2,{103,105,0}}, +/* 39135 */ {(11<<2)|2,{103,105,0}}, +/* 39136 */ {(16<<2)|3,{103,111,48}}, +/* 39137 */ {(16<<2)|3,{103,111,49}}, +/* 39138 */ {(16<<2)|3,{103,111,50}}, +/* 39139 */ {(16<<2)|3,{103,111,97}}, +/* 39140 */ {(16<<2)|3,{103,111,99}}, +/* 39141 */ {(16<<2)|3,{103,111,101}}, +/* 39142 */ {(16<<2)|3,{103,111,105}}, +/* 39143 */ {(16<<2)|3,{103,111,111}}, +/* 39144 */ {(16<<2)|3,{103,111,115}}, +/* 39145 */ {(16<<2)|3,{103,111,116}}, +/* 39146 */ {(11<<2)|2,{103,111,0}}, +/* 39147 */ {(11<<2)|2,{103,111,0}}, +/* 39148 */ {(11<<2)|2,{103,111,0}}, +/* 39149 */ {(11<<2)|2,{103,111,0}}, +/* 39150 */ {(11<<2)|2,{103,111,0}}, +/* 39151 */ {(11<<2)|2,{103,111,0}}, +/* 39152 */ {(11<<2)|2,{103,111,0}}, +/* 39153 */ {(11<<2)|2,{103,111,0}}, +/* 39154 */ {(11<<2)|2,{103,111,0}}, +/* 39155 */ {(11<<2)|2,{103,111,0}}, +/* 39156 */ {(11<<2)|2,{103,111,0}}, +/* 39157 */ {(11<<2)|2,{103,111,0}}, +/* 39158 */ {(11<<2)|2,{103,111,0}}, +/* 39159 */ {(11<<2)|2,{103,111,0}}, +/* 39160 */ {(11<<2)|2,{103,111,0}}, +/* 39161 */ {(11<<2)|2,{103,111,0}}, +/* 39162 */ {(11<<2)|2,{103,111,0}}, +/* 39163 */ {(11<<2)|2,{103,111,0}}, +/* 39164 */ {(11<<2)|2,{103,111,0}}, +/* 39165 */ {(11<<2)|2,{103,111,0}}, +/* 39166 */ {(11<<2)|2,{103,111,0}}, +/* 39167 */ {(11<<2)|2,{103,111,0}}, +/* 39168 */ {(16<<2)|3,{103,115,48}}, +/* 39169 */ {(16<<2)|3,{103,115,49}}, +/* 39170 */ {(16<<2)|3,{103,115,50}}, +/* 39171 */ {(16<<2)|3,{103,115,97}}, +/* 39172 */ {(16<<2)|3,{103,115,99}}, +/* 39173 */ {(16<<2)|3,{103,115,101}}, +/* 39174 */ {(16<<2)|3,{103,115,105}}, +/* 39175 */ {(16<<2)|3,{103,115,111}}, +/* 39176 */ {(16<<2)|3,{103,115,115}}, +/* 39177 */ {(16<<2)|3,{103,115,116}}, +/* 39178 */ {(11<<2)|2,{103,115,0}}, +/* 39179 */ {(11<<2)|2,{103,115,0}}, +/* 39180 */ {(11<<2)|2,{103,115,0}}, +/* 39181 */ {(11<<2)|2,{103,115,0}}, +/* 39182 */ {(11<<2)|2,{103,115,0}}, +/* 39183 */ {(11<<2)|2,{103,115,0}}, +/* 39184 */ {(11<<2)|2,{103,115,0}}, +/* 39185 */ {(11<<2)|2,{103,115,0}}, +/* 39186 */ {(11<<2)|2,{103,115,0}}, +/* 39187 */ {(11<<2)|2,{103,115,0}}, +/* 39188 */ {(11<<2)|2,{103,115,0}}, +/* 39189 */ {(11<<2)|2,{103,115,0}}, +/* 39190 */ {(11<<2)|2,{103,115,0}}, +/* 39191 */ {(11<<2)|2,{103,115,0}}, +/* 39192 */ {(11<<2)|2,{103,115,0}}, +/* 39193 */ {(11<<2)|2,{103,115,0}}, +/* 39194 */ {(11<<2)|2,{103,115,0}}, +/* 39195 */ {(11<<2)|2,{103,115,0}}, +/* 39196 */ {(11<<2)|2,{103,115,0}}, +/* 39197 */ {(11<<2)|2,{103,115,0}}, +/* 39198 */ {(11<<2)|2,{103,115,0}}, +/* 39199 */ {(11<<2)|2,{103,115,0}}, +/* 39200 */ {(16<<2)|3,{103,116,48}}, +/* 39201 */ {(16<<2)|3,{103,116,49}}, +/* 39202 */ {(16<<2)|3,{103,116,50}}, +/* 39203 */ {(16<<2)|3,{103,116,97}}, +/* 39204 */ {(16<<2)|3,{103,116,99}}, +/* 39205 */ {(16<<2)|3,{103,116,101}}, +/* 39206 */ {(16<<2)|3,{103,116,105}}, +/* 39207 */ {(16<<2)|3,{103,116,111}}, +/* 39208 */ {(16<<2)|3,{103,116,115}}, +/* 39209 */ {(16<<2)|3,{103,116,116}}, +/* 39210 */ {(11<<2)|2,{103,116,0}}, +/* 39211 */ {(11<<2)|2,{103,116,0}}, +/* 39212 */ {(11<<2)|2,{103,116,0}}, +/* 39213 */ {(11<<2)|2,{103,116,0}}, +/* 39214 */ {(11<<2)|2,{103,116,0}}, +/* 39215 */ {(11<<2)|2,{103,116,0}}, +/* 39216 */ {(11<<2)|2,{103,116,0}}, +/* 39217 */ {(11<<2)|2,{103,116,0}}, +/* 39218 */ {(11<<2)|2,{103,116,0}}, +/* 39219 */ {(11<<2)|2,{103,116,0}}, +/* 39220 */ {(11<<2)|2,{103,116,0}}, +/* 39221 */ {(11<<2)|2,{103,116,0}}, +/* 39222 */ {(11<<2)|2,{103,116,0}}, +/* 39223 */ {(11<<2)|2,{103,116,0}}, +/* 39224 */ {(11<<2)|2,{103,116,0}}, +/* 39225 */ {(11<<2)|2,{103,116,0}}, +/* 39226 */ {(11<<2)|2,{103,116,0}}, +/* 39227 */ {(11<<2)|2,{103,116,0}}, +/* 39228 */ {(11<<2)|2,{103,116,0}}, +/* 39229 */ {(11<<2)|2,{103,116,0}}, +/* 39230 */ {(11<<2)|2,{103,116,0}}, +/* 39231 */ {(11<<2)|2,{103,116,0}}, +/* 39232 */ {(12<<2)|2,{103,32,0}}, +/* 39233 */ {(12<<2)|2,{103,32,0}}, +/* 39234 */ {(12<<2)|2,{103,32,0}}, +/* 39235 */ {(12<<2)|2,{103,32,0}}, +/* 39236 */ {(12<<2)|2,{103,32,0}}, +/* 39237 */ {(12<<2)|2,{103,32,0}}, +/* 39238 */ {(12<<2)|2,{103,32,0}}, +/* 39239 */ {(12<<2)|2,{103,32,0}}, +/* 39240 */ {(12<<2)|2,{103,32,0}}, +/* 39241 */ {(12<<2)|2,{103,32,0}}, +/* 39242 */ {(12<<2)|2,{103,32,0}}, +/* 39243 */ {(12<<2)|2,{103,32,0}}, +/* 39244 */ {(12<<2)|2,{103,32,0}}, +/* 39245 */ {(12<<2)|2,{103,32,0}}, +/* 39246 */ {(12<<2)|2,{103,32,0}}, +/* 39247 */ {(12<<2)|2,{103,32,0}}, +/* 39248 */ {(12<<2)|2,{103,37,0}}, +/* 39249 */ {(12<<2)|2,{103,37,0}}, +/* 39250 */ {(12<<2)|2,{103,37,0}}, +/* 39251 */ {(12<<2)|2,{103,37,0}}, +/* 39252 */ {(12<<2)|2,{103,37,0}}, +/* 39253 */ {(12<<2)|2,{103,37,0}}, +/* 39254 */ {(12<<2)|2,{103,37,0}}, +/* 39255 */ {(12<<2)|2,{103,37,0}}, +/* 39256 */ {(12<<2)|2,{103,37,0}}, +/* 39257 */ {(12<<2)|2,{103,37,0}}, +/* 39258 */ {(12<<2)|2,{103,37,0}}, +/* 39259 */ {(12<<2)|2,{103,37,0}}, +/* 39260 */ {(12<<2)|2,{103,37,0}}, +/* 39261 */ {(12<<2)|2,{103,37,0}}, +/* 39262 */ {(12<<2)|2,{103,37,0}}, +/* 39263 */ {(12<<2)|2,{103,37,0}}, +/* 39264 */ {(12<<2)|2,{103,45,0}}, +/* 39265 */ {(12<<2)|2,{103,45,0}}, +/* 39266 */ {(12<<2)|2,{103,45,0}}, +/* 39267 */ {(12<<2)|2,{103,45,0}}, +/* 39268 */ {(12<<2)|2,{103,45,0}}, +/* 39269 */ {(12<<2)|2,{103,45,0}}, +/* 39270 */ {(12<<2)|2,{103,45,0}}, +/* 39271 */ {(12<<2)|2,{103,45,0}}, +/* 39272 */ {(12<<2)|2,{103,45,0}}, +/* 39273 */ {(12<<2)|2,{103,45,0}}, +/* 39274 */ {(12<<2)|2,{103,45,0}}, +/* 39275 */ {(12<<2)|2,{103,45,0}}, +/* 39276 */ {(12<<2)|2,{103,45,0}}, +/* 39277 */ {(12<<2)|2,{103,45,0}}, +/* 39278 */ {(12<<2)|2,{103,45,0}}, +/* 39279 */ {(12<<2)|2,{103,45,0}}, +/* 39280 */ {(12<<2)|2,{103,46,0}}, +/* 39281 */ {(12<<2)|2,{103,46,0}}, +/* 39282 */ {(12<<2)|2,{103,46,0}}, +/* 39283 */ {(12<<2)|2,{103,46,0}}, +/* 39284 */ {(12<<2)|2,{103,46,0}}, +/* 39285 */ {(12<<2)|2,{103,46,0}}, +/* 39286 */ {(12<<2)|2,{103,46,0}}, +/* 39287 */ {(12<<2)|2,{103,46,0}}, +/* 39288 */ {(12<<2)|2,{103,46,0}}, +/* 39289 */ {(12<<2)|2,{103,46,0}}, +/* 39290 */ {(12<<2)|2,{103,46,0}}, +/* 39291 */ {(12<<2)|2,{103,46,0}}, +/* 39292 */ {(12<<2)|2,{103,46,0}}, +/* 39293 */ {(12<<2)|2,{103,46,0}}, +/* 39294 */ {(12<<2)|2,{103,46,0}}, +/* 39295 */ {(12<<2)|2,{103,46,0}}, +/* 39296 */ {(12<<2)|2,{103,47,0}}, +/* 39297 */ {(12<<2)|2,{103,47,0}}, +/* 39298 */ {(12<<2)|2,{103,47,0}}, +/* 39299 */ {(12<<2)|2,{103,47,0}}, +/* 39300 */ {(12<<2)|2,{103,47,0}}, +/* 39301 */ {(12<<2)|2,{103,47,0}}, +/* 39302 */ {(12<<2)|2,{103,47,0}}, +/* 39303 */ {(12<<2)|2,{103,47,0}}, +/* 39304 */ {(12<<2)|2,{103,47,0}}, +/* 39305 */ {(12<<2)|2,{103,47,0}}, +/* 39306 */ {(12<<2)|2,{103,47,0}}, +/* 39307 */ {(12<<2)|2,{103,47,0}}, +/* 39308 */ {(12<<2)|2,{103,47,0}}, +/* 39309 */ {(12<<2)|2,{103,47,0}}, +/* 39310 */ {(12<<2)|2,{103,47,0}}, +/* 39311 */ {(12<<2)|2,{103,47,0}}, +/* 39312 */ {(12<<2)|2,{103,51,0}}, +/* 39313 */ {(12<<2)|2,{103,51,0}}, +/* 39314 */ {(12<<2)|2,{103,51,0}}, +/* 39315 */ {(12<<2)|2,{103,51,0}}, +/* 39316 */ {(12<<2)|2,{103,51,0}}, +/* 39317 */ {(12<<2)|2,{103,51,0}}, +/* 39318 */ {(12<<2)|2,{103,51,0}}, +/* 39319 */ {(12<<2)|2,{103,51,0}}, +/* 39320 */ {(12<<2)|2,{103,51,0}}, +/* 39321 */ {(12<<2)|2,{103,51,0}}, +/* 39322 */ {(12<<2)|2,{103,51,0}}, +/* 39323 */ {(12<<2)|2,{103,51,0}}, +/* 39324 */ {(12<<2)|2,{103,51,0}}, +/* 39325 */ {(12<<2)|2,{103,51,0}}, +/* 39326 */ {(12<<2)|2,{103,51,0}}, +/* 39327 */ {(12<<2)|2,{103,51,0}}, +/* 39328 */ {(12<<2)|2,{103,52,0}}, +/* 39329 */ {(12<<2)|2,{103,52,0}}, +/* 39330 */ {(12<<2)|2,{103,52,0}}, +/* 39331 */ {(12<<2)|2,{103,52,0}}, +/* 39332 */ {(12<<2)|2,{103,52,0}}, +/* 39333 */ {(12<<2)|2,{103,52,0}}, +/* 39334 */ {(12<<2)|2,{103,52,0}}, +/* 39335 */ {(12<<2)|2,{103,52,0}}, +/* 39336 */ {(12<<2)|2,{103,52,0}}, +/* 39337 */ {(12<<2)|2,{103,52,0}}, +/* 39338 */ {(12<<2)|2,{103,52,0}}, +/* 39339 */ {(12<<2)|2,{103,52,0}}, +/* 39340 */ {(12<<2)|2,{103,52,0}}, +/* 39341 */ {(12<<2)|2,{103,52,0}}, +/* 39342 */ {(12<<2)|2,{103,52,0}}, +/* 39343 */ {(12<<2)|2,{103,52,0}}, +/* 39344 */ {(12<<2)|2,{103,53,0}}, +/* 39345 */ {(12<<2)|2,{103,53,0}}, +/* 39346 */ {(12<<2)|2,{103,53,0}}, +/* 39347 */ {(12<<2)|2,{103,53,0}}, +/* 39348 */ {(12<<2)|2,{103,53,0}}, +/* 39349 */ {(12<<2)|2,{103,53,0}}, +/* 39350 */ {(12<<2)|2,{103,53,0}}, +/* 39351 */ {(12<<2)|2,{103,53,0}}, +/* 39352 */ {(12<<2)|2,{103,53,0}}, +/* 39353 */ {(12<<2)|2,{103,53,0}}, +/* 39354 */ {(12<<2)|2,{103,53,0}}, +/* 39355 */ {(12<<2)|2,{103,53,0}}, +/* 39356 */ {(12<<2)|2,{103,53,0}}, +/* 39357 */ {(12<<2)|2,{103,53,0}}, +/* 39358 */ {(12<<2)|2,{103,53,0}}, +/* 39359 */ {(12<<2)|2,{103,53,0}}, +/* 39360 */ {(12<<2)|2,{103,54,0}}, +/* 39361 */ {(12<<2)|2,{103,54,0}}, +/* 39362 */ {(12<<2)|2,{103,54,0}}, +/* 39363 */ {(12<<2)|2,{103,54,0}}, +/* 39364 */ {(12<<2)|2,{103,54,0}}, +/* 39365 */ {(12<<2)|2,{103,54,0}}, +/* 39366 */ {(12<<2)|2,{103,54,0}}, +/* 39367 */ {(12<<2)|2,{103,54,0}}, +/* 39368 */ {(12<<2)|2,{103,54,0}}, +/* 39369 */ {(12<<2)|2,{103,54,0}}, +/* 39370 */ {(12<<2)|2,{103,54,0}}, +/* 39371 */ {(12<<2)|2,{103,54,0}}, +/* 39372 */ {(12<<2)|2,{103,54,0}}, +/* 39373 */ {(12<<2)|2,{103,54,0}}, +/* 39374 */ {(12<<2)|2,{103,54,0}}, +/* 39375 */ {(12<<2)|2,{103,54,0}}, +/* 39376 */ {(12<<2)|2,{103,55,0}}, +/* 39377 */ {(12<<2)|2,{103,55,0}}, +/* 39378 */ {(12<<2)|2,{103,55,0}}, +/* 39379 */ {(12<<2)|2,{103,55,0}}, +/* 39380 */ {(12<<2)|2,{103,55,0}}, +/* 39381 */ {(12<<2)|2,{103,55,0}}, +/* 39382 */ {(12<<2)|2,{103,55,0}}, +/* 39383 */ {(12<<2)|2,{103,55,0}}, +/* 39384 */ {(12<<2)|2,{103,55,0}}, +/* 39385 */ {(12<<2)|2,{103,55,0}}, +/* 39386 */ {(12<<2)|2,{103,55,0}}, +/* 39387 */ {(12<<2)|2,{103,55,0}}, +/* 39388 */ {(12<<2)|2,{103,55,0}}, +/* 39389 */ {(12<<2)|2,{103,55,0}}, +/* 39390 */ {(12<<2)|2,{103,55,0}}, +/* 39391 */ {(12<<2)|2,{103,55,0}}, +/* 39392 */ {(12<<2)|2,{103,56,0}}, +/* 39393 */ {(12<<2)|2,{103,56,0}}, +/* 39394 */ {(12<<2)|2,{103,56,0}}, +/* 39395 */ {(12<<2)|2,{103,56,0}}, +/* 39396 */ {(12<<2)|2,{103,56,0}}, +/* 39397 */ {(12<<2)|2,{103,56,0}}, +/* 39398 */ {(12<<2)|2,{103,56,0}}, +/* 39399 */ {(12<<2)|2,{103,56,0}}, +/* 39400 */ {(12<<2)|2,{103,56,0}}, +/* 39401 */ {(12<<2)|2,{103,56,0}}, +/* 39402 */ {(12<<2)|2,{103,56,0}}, +/* 39403 */ {(12<<2)|2,{103,56,0}}, +/* 39404 */ {(12<<2)|2,{103,56,0}}, +/* 39405 */ {(12<<2)|2,{103,56,0}}, +/* 39406 */ {(12<<2)|2,{103,56,0}}, +/* 39407 */ {(12<<2)|2,{103,56,0}}, +/* 39408 */ {(12<<2)|2,{103,57,0}}, +/* 39409 */ {(12<<2)|2,{103,57,0}}, +/* 39410 */ {(12<<2)|2,{103,57,0}}, +/* 39411 */ {(12<<2)|2,{103,57,0}}, +/* 39412 */ {(12<<2)|2,{103,57,0}}, +/* 39413 */ {(12<<2)|2,{103,57,0}}, +/* 39414 */ {(12<<2)|2,{103,57,0}}, +/* 39415 */ {(12<<2)|2,{103,57,0}}, +/* 39416 */ {(12<<2)|2,{103,57,0}}, +/* 39417 */ {(12<<2)|2,{103,57,0}}, +/* 39418 */ {(12<<2)|2,{103,57,0}}, +/* 39419 */ {(12<<2)|2,{103,57,0}}, +/* 39420 */ {(12<<2)|2,{103,57,0}}, +/* 39421 */ {(12<<2)|2,{103,57,0}}, +/* 39422 */ {(12<<2)|2,{103,57,0}}, +/* 39423 */ {(12<<2)|2,{103,57,0}}, +/* 39424 */ {(12<<2)|2,{103,61,0}}, +/* 39425 */ {(12<<2)|2,{103,61,0}}, +/* 39426 */ {(12<<2)|2,{103,61,0}}, +/* 39427 */ {(12<<2)|2,{103,61,0}}, +/* 39428 */ {(12<<2)|2,{103,61,0}}, +/* 39429 */ {(12<<2)|2,{103,61,0}}, +/* 39430 */ {(12<<2)|2,{103,61,0}}, +/* 39431 */ {(12<<2)|2,{103,61,0}}, +/* 39432 */ {(12<<2)|2,{103,61,0}}, +/* 39433 */ {(12<<2)|2,{103,61,0}}, +/* 39434 */ {(12<<2)|2,{103,61,0}}, +/* 39435 */ {(12<<2)|2,{103,61,0}}, +/* 39436 */ {(12<<2)|2,{103,61,0}}, +/* 39437 */ {(12<<2)|2,{103,61,0}}, +/* 39438 */ {(12<<2)|2,{103,61,0}}, +/* 39439 */ {(12<<2)|2,{103,61,0}}, +/* 39440 */ {(12<<2)|2,{103,65,0}}, +/* 39441 */ {(12<<2)|2,{103,65,0}}, +/* 39442 */ {(12<<2)|2,{103,65,0}}, +/* 39443 */ {(12<<2)|2,{103,65,0}}, +/* 39444 */ {(12<<2)|2,{103,65,0}}, +/* 39445 */ {(12<<2)|2,{103,65,0}}, +/* 39446 */ {(12<<2)|2,{103,65,0}}, +/* 39447 */ {(12<<2)|2,{103,65,0}}, +/* 39448 */ {(12<<2)|2,{103,65,0}}, +/* 39449 */ {(12<<2)|2,{103,65,0}}, +/* 39450 */ {(12<<2)|2,{103,65,0}}, +/* 39451 */ {(12<<2)|2,{103,65,0}}, +/* 39452 */ {(12<<2)|2,{103,65,0}}, +/* 39453 */ {(12<<2)|2,{103,65,0}}, +/* 39454 */ {(12<<2)|2,{103,65,0}}, +/* 39455 */ {(12<<2)|2,{103,65,0}}, +/* 39456 */ {(12<<2)|2,{103,95,0}}, +/* 39457 */ {(12<<2)|2,{103,95,0}}, +/* 39458 */ {(12<<2)|2,{103,95,0}}, +/* 39459 */ {(12<<2)|2,{103,95,0}}, +/* 39460 */ {(12<<2)|2,{103,95,0}}, +/* 39461 */ {(12<<2)|2,{103,95,0}}, +/* 39462 */ {(12<<2)|2,{103,95,0}}, +/* 39463 */ {(12<<2)|2,{103,95,0}}, +/* 39464 */ {(12<<2)|2,{103,95,0}}, +/* 39465 */ {(12<<2)|2,{103,95,0}}, +/* 39466 */ {(12<<2)|2,{103,95,0}}, +/* 39467 */ {(12<<2)|2,{103,95,0}}, +/* 39468 */ {(12<<2)|2,{103,95,0}}, +/* 39469 */ {(12<<2)|2,{103,95,0}}, +/* 39470 */ {(12<<2)|2,{103,95,0}}, +/* 39471 */ {(12<<2)|2,{103,95,0}}, +/* 39472 */ {(12<<2)|2,{103,98,0}}, +/* 39473 */ {(12<<2)|2,{103,98,0}}, +/* 39474 */ {(12<<2)|2,{103,98,0}}, +/* 39475 */ {(12<<2)|2,{103,98,0}}, +/* 39476 */ {(12<<2)|2,{103,98,0}}, +/* 39477 */ {(12<<2)|2,{103,98,0}}, +/* 39478 */ {(12<<2)|2,{103,98,0}}, +/* 39479 */ {(12<<2)|2,{103,98,0}}, +/* 39480 */ {(12<<2)|2,{103,98,0}}, +/* 39481 */ {(12<<2)|2,{103,98,0}}, +/* 39482 */ {(12<<2)|2,{103,98,0}}, +/* 39483 */ {(12<<2)|2,{103,98,0}}, +/* 39484 */ {(12<<2)|2,{103,98,0}}, +/* 39485 */ {(12<<2)|2,{103,98,0}}, +/* 39486 */ {(12<<2)|2,{103,98,0}}, +/* 39487 */ {(12<<2)|2,{103,98,0}}, +/* 39488 */ {(12<<2)|2,{103,100,0}}, +/* 39489 */ {(12<<2)|2,{103,100,0}}, +/* 39490 */ {(12<<2)|2,{103,100,0}}, +/* 39491 */ {(12<<2)|2,{103,100,0}}, +/* 39492 */ {(12<<2)|2,{103,100,0}}, +/* 39493 */ {(12<<2)|2,{103,100,0}}, +/* 39494 */ {(12<<2)|2,{103,100,0}}, +/* 39495 */ {(12<<2)|2,{103,100,0}}, +/* 39496 */ {(12<<2)|2,{103,100,0}}, +/* 39497 */ {(12<<2)|2,{103,100,0}}, +/* 39498 */ {(12<<2)|2,{103,100,0}}, +/* 39499 */ {(12<<2)|2,{103,100,0}}, +/* 39500 */ {(12<<2)|2,{103,100,0}}, +/* 39501 */ {(12<<2)|2,{103,100,0}}, +/* 39502 */ {(12<<2)|2,{103,100,0}}, +/* 39503 */ {(12<<2)|2,{103,100,0}}, +/* 39504 */ {(12<<2)|2,{103,102,0}}, +/* 39505 */ {(12<<2)|2,{103,102,0}}, +/* 39506 */ {(12<<2)|2,{103,102,0}}, +/* 39507 */ {(12<<2)|2,{103,102,0}}, +/* 39508 */ {(12<<2)|2,{103,102,0}}, +/* 39509 */ {(12<<2)|2,{103,102,0}}, +/* 39510 */ {(12<<2)|2,{103,102,0}}, +/* 39511 */ {(12<<2)|2,{103,102,0}}, +/* 39512 */ {(12<<2)|2,{103,102,0}}, +/* 39513 */ {(12<<2)|2,{103,102,0}}, +/* 39514 */ {(12<<2)|2,{103,102,0}}, +/* 39515 */ {(12<<2)|2,{103,102,0}}, +/* 39516 */ {(12<<2)|2,{103,102,0}}, +/* 39517 */ {(12<<2)|2,{103,102,0}}, +/* 39518 */ {(12<<2)|2,{103,102,0}}, +/* 39519 */ {(12<<2)|2,{103,102,0}}, +/* 39520 */ {(12<<2)|2,{103,103,0}}, +/* 39521 */ {(12<<2)|2,{103,103,0}}, +/* 39522 */ {(12<<2)|2,{103,103,0}}, +/* 39523 */ {(12<<2)|2,{103,103,0}}, +/* 39524 */ {(12<<2)|2,{103,103,0}}, +/* 39525 */ {(12<<2)|2,{103,103,0}}, +/* 39526 */ {(12<<2)|2,{103,103,0}}, +/* 39527 */ {(12<<2)|2,{103,103,0}}, +/* 39528 */ {(12<<2)|2,{103,103,0}}, +/* 39529 */ {(12<<2)|2,{103,103,0}}, +/* 39530 */ {(12<<2)|2,{103,103,0}}, +/* 39531 */ {(12<<2)|2,{103,103,0}}, +/* 39532 */ {(12<<2)|2,{103,103,0}}, +/* 39533 */ {(12<<2)|2,{103,103,0}}, +/* 39534 */ {(12<<2)|2,{103,103,0}}, +/* 39535 */ {(12<<2)|2,{103,103,0}}, +/* 39536 */ {(12<<2)|2,{103,104,0}}, +/* 39537 */ {(12<<2)|2,{103,104,0}}, +/* 39538 */ {(12<<2)|2,{103,104,0}}, +/* 39539 */ {(12<<2)|2,{103,104,0}}, +/* 39540 */ {(12<<2)|2,{103,104,0}}, +/* 39541 */ {(12<<2)|2,{103,104,0}}, +/* 39542 */ {(12<<2)|2,{103,104,0}}, +/* 39543 */ {(12<<2)|2,{103,104,0}}, +/* 39544 */ {(12<<2)|2,{103,104,0}}, +/* 39545 */ {(12<<2)|2,{103,104,0}}, +/* 39546 */ {(12<<2)|2,{103,104,0}}, +/* 39547 */ {(12<<2)|2,{103,104,0}}, +/* 39548 */ {(12<<2)|2,{103,104,0}}, +/* 39549 */ {(12<<2)|2,{103,104,0}}, +/* 39550 */ {(12<<2)|2,{103,104,0}}, +/* 39551 */ {(12<<2)|2,{103,104,0}}, +/* 39552 */ {(12<<2)|2,{103,108,0}}, +/* 39553 */ {(12<<2)|2,{103,108,0}}, +/* 39554 */ {(12<<2)|2,{103,108,0}}, +/* 39555 */ {(12<<2)|2,{103,108,0}}, +/* 39556 */ {(12<<2)|2,{103,108,0}}, +/* 39557 */ {(12<<2)|2,{103,108,0}}, +/* 39558 */ {(12<<2)|2,{103,108,0}}, +/* 39559 */ {(12<<2)|2,{103,108,0}}, +/* 39560 */ {(12<<2)|2,{103,108,0}}, +/* 39561 */ {(12<<2)|2,{103,108,0}}, +/* 39562 */ {(12<<2)|2,{103,108,0}}, +/* 39563 */ {(12<<2)|2,{103,108,0}}, +/* 39564 */ {(12<<2)|2,{103,108,0}}, +/* 39565 */ {(12<<2)|2,{103,108,0}}, +/* 39566 */ {(12<<2)|2,{103,108,0}}, +/* 39567 */ {(12<<2)|2,{103,108,0}}, +/* 39568 */ {(12<<2)|2,{103,109,0}}, +/* 39569 */ {(12<<2)|2,{103,109,0}}, +/* 39570 */ {(12<<2)|2,{103,109,0}}, +/* 39571 */ {(12<<2)|2,{103,109,0}}, +/* 39572 */ {(12<<2)|2,{103,109,0}}, +/* 39573 */ {(12<<2)|2,{103,109,0}}, +/* 39574 */ {(12<<2)|2,{103,109,0}}, +/* 39575 */ {(12<<2)|2,{103,109,0}}, +/* 39576 */ {(12<<2)|2,{103,109,0}}, +/* 39577 */ {(12<<2)|2,{103,109,0}}, +/* 39578 */ {(12<<2)|2,{103,109,0}}, +/* 39579 */ {(12<<2)|2,{103,109,0}}, +/* 39580 */ {(12<<2)|2,{103,109,0}}, +/* 39581 */ {(12<<2)|2,{103,109,0}}, +/* 39582 */ {(12<<2)|2,{103,109,0}}, +/* 39583 */ {(12<<2)|2,{103,109,0}}, +/* 39584 */ {(12<<2)|2,{103,110,0}}, +/* 39585 */ {(12<<2)|2,{103,110,0}}, +/* 39586 */ {(12<<2)|2,{103,110,0}}, +/* 39587 */ {(12<<2)|2,{103,110,0}}, +/* 39588 */ {(12<<2)|2,{103,110,0}}, +/* 39589 */ {(12<<2)|2,{103,110,0}}, +/* 39590 */ {(12<<2)|2,{103,110,0}}, +/* 39591 */ {(12<<2)|2,{103,110,0}}, +/* 39592 */ {(12<<2)|2,{103,110,0}}, +/* 39593 */ {(12<<2)|2,{103,110,0}}, +/* 39594 */ {(12<<2)|2,{103,110,0}}, +/* 39595 */ {(12<<2)|2,{103,110,0}}, +/* 39596 */ {(12<<2)|2,{103,110,0}}, +/* 39597 */ {(12<<2)|2,{103,110,0}}, +/* 39598 */ {(12<<2)|2,{103,110,0}}, +/* 39599 */ {(12<<2)|2,{103,110,0}}, +/* 39600 */ {(12<<2)|2,{103,112,0}}, +/* 39601 */ {(12<<2)|2,{103,112,0}}, +/* 39602 */ {(12<<2)|2,{103,112,0}}, +/* 39603 */ {(12<<2)|2,{103,112,0}}, +/* 39604 */ {(12<<2)|2,{103,112,0}}, +/* 39605 */ {(12<<2)|2,{103,112,0}}, +/* 39606 */ {(12<<2)|2,{103,112,0}}, +/* 39607 */ {(12<<2)|2,{103,112,0}}, +/* 39608 */ {(12<<2)|2,{103,112,0}}, +/* 39609 */ {(12<<2)|2,{103,112,0}}, +/* 39610 */ {(12<<2)|2,{103,112,0}}, +/* 39611 */ {(12<<2)|2,{103,112,0}}, +/* 39612 */ {(12<<2)|2,{103,112,0}}, +/* 39613 */ {(12<<2)|2,{103,112,0}}, +/* 39614 */ {(12<<2)|2,{103,112,0}}, +/* 39615 */ {(12<<2)|2,{103,112,0}}, +/* 39616 */ {(12<<2)|2,{103,114,0}}, +/* 39617 */ {(12<<2)|2,{103,114,0}}, +/* 39618 */ {(12<<2)|2,{103,114,0}}, +/* 39619 */ {(12<<2)|2,{103,114,0}}, +/* 39620 */ {(12<<2)|2,{103,114,0}}, +/* 39621 */ {(12<<2)|2,{103,114,0}}, +/* 39622 */ {(12<<2)|2,{103,114,0}}, +/* 39623 */ {(12<<2)|2,{103,114,0}}, +/* 39624 */ {(12<<2)|2,{103,114,0}}, +/* 39625 */ {(12<<2)|2,{103,114,0}}, +/* 39626 */ {(12<<2)|2,{103,114,0}}, +/* 39627 */ {(12<<2)|2,{103,114,0}}, +/* 39628 */ {(12<<2)|2,{103,114,0}}, +/* 39629 */ {(12<<2)|2,{103,114,0}}, +/* 39630 */ {(12<<2)|2,{103,114,0}}, +/* 39631 */ {(12<<2)|2,{103,114,0}}, +/* 39632 */ {(12<<2)|2,{103,117,0}}, +/* 39633 */ {(12<<2)|2,{103,117,0}}, +/* 39634 */ {(12<<2)|2,{103,117,0}}, +/* 39635 */ {(12<<2)|2,{103,117,0}}, +/* 39636 */ {(12<<2)|2,{103,117,0}}, +/* 39637 */ {(12<<2)|2,{103,117,0}}, +/* 39638 */ {(12<<2)|2,{103,117,0}}, +/* 39639 */ {(12<<2)|2,{103,117,0}}, +/* 39640 */ {(12<<2)|2,{103,117,0}}, +/* 39641 */ {(12<<2)|2,{103,117,0}}, +/* 39642 */ {(12<<2)|2,{103,117,0}}, +/* 39643 */ {(12<<2)|2,{103,117,0}}, +/* 39644 */ {(12<<2)|2,{103,117,0}}, +/* 39645 */ {(12<<2)|2,{103,117,0}}, +/* 39646 */ {(12<<2)|2,{103,117,0}}, +/* 39647 */ {(12<<2)|2,{103,117,0}}, +/* 39648 */ {(13<<2)|2,{103,58,0}}, +/* 39649 */ {(13<<2)|2,{103,58,0}}, +/* 39650 */ {(13<<2)|2,{103,58,0}}, +/* 39651 */ {(13<<2)|2,{103,58,0}}, +/* 39652 */ {(13<<2)|2,{103,58,0}}, +/* 39653 */ {(13<<2)|2,{103,58,0}}, +/* 39654 */ {(13<<2)|2,{103,58,0}}, +/* 39655 */ {(13<<2)|2,{103,58,0}}, +/* 39656 */ {(13<<2)|2,{103,66,0}}, +/* 39657 */ {(13<<2)|2,{103,66,0}}, +/* 39658 */ {(13<<2)|2,{103,66,0}}, +/* 39659 */ {(13<<2)|2,{103,66,0}}, +/* 39660 */ {(13<<2)|2,{103,66,0}}, +/* 39661 */ {(13<<2)|2,{103,66,0}}, +/* 39662 */ {(13<<2)|2,{103,66,0}}, +/* 39663 */ {(13<<2)|2,{103,66,0}}, +/* 39664 */ {(13<<2)|2,{103,67,0}}, +/* 39665 */ {(13<<2)|2,{103,67,0}}, +/* 39666 */ {(13<<2)|2,{103,67,0}}, +/* 39667 */ {(13<<2)|2,{103,67,0}}, +/* 39668 */ {(13<<2)|2,{103,67,0}}, +/* 39669 */ {(13<<2)|2,{103,67,0}}, +/* 39670 */ {(13<<2)|2,{103,67,0}}, +/* 39671 */ {(13<<2)|2,{103,67,0}}, +/* 39672 */ {(13<<2)|2,{103,68,0}}, +/* 39673 */ {(13<<2)|2,{103,68,0}}, +/* 39674 */ {(13<<2)|2,{103,68,0}}, +/* 39675 */ {(13<<2)|2,{103,68,0}}, +/* 39676 */ {(13<<2)|2,{103,68,0}}, +/* 39677 */ {(13<<2)|2,{103,68,0}}, +/* 39678 */ {(13<<2)|2,{103,68,0}}, +/* 39679 */ {(13<<2)|2,{103,68,0}}, +/* 39680 */ {(13<<2)|2,{103,69,0}}, +/* 39681 */ {(13<<2)|2,{103,69,0}}, +/* 39682 */ {(13<<2)|2,{103,69,0}}, +/* 39683 */ {(13<<2)|2,{103,69,0}}, +/* 39684 */ {(13<<2)|2,{103,69,0}}, +/* 39685 */ {(13<<2)|2,{103,69,0}}, +/* 39686 */ {(13<<2)|2,{103,69,0}}, +/* 39687 */ {(13<<2)|2,{103,69,0}}, +/* 39688 */ {(13<<2)|2,{103,70,0}}, +/* 39689 */ {(13<<2)|2,{103,70,0}}, +/* 39690 */ {(13<<2)|2,{103,70,0}}, +/* 39691 */ {(13<<2)|2,{103,70,0}}, +/* 39692 */ {(13<<2)|2,{103,70,0}}, +/* 39693 */ {(13<<2)|2,{103,70,0}}, +/* 39694 */ {(13<<2)|2,{103,70,0}}, +/* 39695 */ {(13<<2)|2,{103,70,0}}, +/* 39696 */ {(13<<2)|2,{103,71,0}}, +/* 39697 */ {(13<<2)|2,{103,71,0}}, +/* 39698 */ {(13<<2)|2,{103,71,0}}, +/* 39699 */ {(13<<2)|2,{103,71,0}}, +/* 39700 */ {(13<<2)|2,{103,71,0}}, +/* 39701 */ {(13<<2)|2,{103,71,0}}, +/* 39702 */ {(13<<2)|2,{103,71,0}}, +/* 39703 */ {(13<<2)|2,{103,71,0}}, +/* 39704 */ {(13<<2)|2,{103,72,0}}, +/* 39705 */ {(13<<2)|2,{103,72,0}}, +/* 39706 */ {(13<<2)|2,{103,72,0}}, +/* 39707 */ {(13<<2)|2,{103,72,0}}, +/* 39708 */ {(13<<2)|2,{103,72,0}}, +/* 39709 */ {(13<<2)|2,{103,72,0}}, +/* 39710 */ {(13<<2)|2,{103,72,0}}, +/* 39711 */ {(13<<2)|2,{103,72,0}}, +/* 39712 */ {(13<<2)|2,{103,73,0}}, +/* 39713 */ {(13<<2)|2,{103,73,0}}, +/* 39714 */ {(13<<2)|2,{103,73,0}}, +/* 39715 */ {(13<<2)|2,{103,73,0}}, +/* 39716 */ {(13<<2)|2,{103,73,0}}, +/* 39717 */ {(13<<2)|2,{103,73,0}}, +/* 39718 */ {(13<<2)|2,{103,73,0}}, +/* 39719 */ {(13<<2)|2,{103,73,0}}, +/* 39720 */ {(13<<2)|2,{103,74,0}}, +/* 39721 */ {(13<<2)|2,{103,74,0}}, +/* 39722 */ {(13<<2)|2,{103,74,0}}, +/* 39723 */ {(13<<2)|2,{103,74,0}}, +/* 39724 */ {(13<<2)|2,{103,74,0}}, +/* 39725 */ {(13<<2)|2,{103,74,0}}, +/* 39726 */ {(13<<2)|2,{103,74,0}}, +/* 39727 */ {(13<<2)|2,{103,74,0}}, +/* 39728 */ {(13<<2)|2,{103,75,0}}, +/* 39729 */ {(13<<2)|2,{103,75,0}}, +/* 39730 */ {(13<<2)|2,{103,75,0}}, +/* 39731 */ {(13<<2)|2,{103,75,0}}, +/* 39732 */ {(13<<2)|2,{103,75,0}}, +/* 39733 */ {(13<<2)|2,{103,75,0}}, +/* 39734 */ {(13<<2)|2,{103,75,0}}, +/* 39735 */ {(13<<2)|2,{103,75,0}}, +/* 39736 */ {(13<<2)|2,{103,76,0}}, +/* 39737 */ {(13<<2)|2,{103,76,0}}, +/* 39738 */ {(13<<2)|2,{103,76,0}}, +/* 39739 */ {(13<<2)|2,{103,76,0}}, +/* 39740 */ {(13<<2)|2,{103,76,0}}, +/* 39741 */ {(13<<2)|2,{103,76,0}}, +/* 39742 */ {(13<<2)|2,{103,76,0}}, +/* 39743 */ {(13<<2)|2,{103,76,0}}, +/* 39744 */ {(13<<2)|2,{103,77,0}}, +/* 39745 */ {(13<<2)|2,{103,77,0}}, +/* 39746 */ {(13<<2)|2,{103,77,0}}, +/* 39747 */ {(13<<2)|2,{103,77,0}}, +/* 39748 */ {(13<<2)|2,{103,77,0}}, +/* 39749 */ {(13<<2)|2,{103,77,0}}, +/* 39750 */ {(13<<2)|2,{103,77,0}}, +/* 39751 */ {(13<<2)|2,{103,77,0}}, +/* 39752 */ {(13<<2)|2,{103,78,0}}, +/* 39753 */ {(13<<2)|2,{103,78,0}}, +/* 39754 */ {(13<<2)|2,{103,78,0}}, +/* 39755 */ {(13<<2)|2,{103,78,0}}, +/* 39756 */ {(13<<2)|2,{103,78,0}}, +/* 39757 */ {(13<<2)|2,{103,78,0}}, +/* 39758 */ {(13<<2)|2,{103,78,0}}, +/* 39759 */ {(13<<2)|2,{103,78,0}}, +/* 39760 */ {(13<<2)|2,{103,79,0}}, +/* 39761 */ {(13<<2)|2,{103,79,0}}, +/* 39762 */ {(13<<2)|2,{103,79,0}}, +/* 39763 */ {(13<<2)|2,{103,79,0}}, +/* 39764 */ {(13<<2)|2,{103,79,0}}, +/* 39765 */ {(13<<2)|2,{103,79,0}}, +/* 39766 */ {(13<<2)|2,{103,79,0}}, +/* 39767 */ {(13<<2)|2,{103,79,0}}, +/* 39768 */ {(13<<2)|2,{103,80,0}}, +/* 39769 */ {(13<<2)|2,{103,80,0}}, +/* 39770 */ {(13<<2)|2,{103,80,0}}, +/* 39771 */ {(13<<2)|2,{103,80,0}}, +/* 39772 */ {(13<<2)|2,{103,80,0}}, +/* 39773 */ {(13<<2)|2,{103,80,0}}, +/* 39774 */ {(13<<2)|2,{103,80,0}}, +/* 39775 */ {(13<<2)|2,{103,80,0}}, +/* 39776 */ {(13<<2)|2,{103,81,0}}, +/* 39777 */ {(13<<2)|2,{103,81,0}}, +/* 39778 */ {(13<<2)|2,{103,81,0}}, +/* 39779 */ {(13<<2)|2,{103,81,0}}, +/* 39780 */ {(13<<2)|2,{103,81,0}}, +/* 39781 */ {(13<<2)|2,{103,81,0}}, +/* 39782 */ {(13<<2)|2,{103,81,0}}, +/* 39783 */ {(13<<2)|2,{103,81,0}}, +/* 39784 */ {(13<<2)|2,{103,82,0}}, +/* 39785 */ {(13<<2)|2,{103,82,0}}, +/* 39786 */ {(13<<2)|2,{103,82,0}}, +/* 39787 */ {(13<<2)|2,{103,82,0}}, +/* 39788 */ {(13<<2)|2,{103,82,0}}, +/* 39789 */ {(13<<2)|2,{103,82,0}}, +/* 39790 */ {(13<<2)|2,{103,82,0}}, +/* 39791 */ {(13<<2)|2,{103,82,0}}, +/* 39792 */ {(13<<2)|2,{103,83,0}}, +/* 39793 */ {(13<<2)|2,{103,83,0}}, +/* 39794 */ {(13<<2)|2,{103,83,0}}, +/* 39795 */ {(13<<2)|2,{103,83,0}}, +/* 39796 */ {(13<<2)|2,{103,83,0}}, +/* 39797 */ {(13<<2)|2,{103,83,0}}, +/* 39798 */ {(13<<2)|2,{103,83,0}}, +/* 39799 */ {(13<<2)|2,{103,83,0}}, +/* 39800 */ {(13<<2)|2,{103,84,0}}, +/* 39801 */ {(13<<2)|2,{103,84,0}}, +/* 39802 */ {(13<<2)|2,{103,84,0}}, +/* 39803 */ {(13<<2)|2,{103,84,0}}, +/* 39804 */ {(13<<2)|2,{103,84,0}}, +/* 39805 */ {(13<<2)|2,{103,84,0}}, +/* 39806 */ {(13<<2)|2,{103,84,0}}, +/* 39807 */ {(13<<2)|2,{103,84,0}}, +/* 39808 */ {(13<<2)|2,{103,85,0}}, +/* 39809 */ {(13<<2)|2,{103,85,0}}, +/* 39810 */ {(13<<2)|2,{103,85,0}}, +/* 39811 */ {(13<<2)|2,{103,85,0}}, +/* 39812 */ {(13<<2)|2,{103,85,0}}, +/* 39813 */ {(13<<2)|2,{103,85,0}}, +/* 39814 */ {(13<<2)|2,{103,85,0}}, +/* 39815 */ {(13<<2)|2,{103,85,0}}, +/* 39816 */ {(13<<2)|2,{103,86,0}}, +/* 39817 */ {(13<<2)|2,{103,86,0}}, +/* 39818 */ {(13<<2)|2,{103,86,0}}, +/* 39819 */ {(13<<2)|2,{103,86,0}}, +/* 39820 */ {(13<<2)|2,{103,86,0}}, +/* 39821 */ {(13<<2)|2,{103,86,0}}, +/* 39822 */ {(13<<2)|2,{103,86,0}}, +/* 39823 */ {(13<<2)|2,{103,86,0}}, +/* 39824 */ {(13<<2)|2,{103,87,0}}, +/* 39825 */ {(13<<2)|2,{103,87,0}}, +/* 39826 */ {(13<<2)|2,{103,87,0}}, +/* 39827 */ {(13<<2)|2,{103,87,0}}, +/* 39828 */ {(13<<2)|2,{103,87,0}}, +/* 39829 */ {(13<<2)|2,{103,87,0}}, +/* 39830 */ {(13<<2)|2,{103,87,0}}, +/* 39831 */ {(13<<2)|2,{103,87,0}}, +/* 39832 */ {(13<<2)|2,{103,89,0}}, +/* 39833 */ {(13<<2)|2,{103,89,0}}, +/* 39834 */ {(13<<2)|2,{103,89,0}}, +/* 39835 */ {(13<<2)|2,{103,89,0}}, +/* 39836 */ {(13<<2)|2,{103,89,0}}, +/* 39837 */ {(13<<2)|2,{103,89,0}}, +/* 39838 */ {(13<<2)|2,{103,89,0}}, +/* 39839 */ {(13<<2)|2,{103,89,0}}, +/* 39840 */ {(13<<2)|2,{103,106,0}}, +/* 39841 */ {(13<<2)|2,{103,106,0}}, +/* 39842 */ {(13<<2)|2,{103,106,0}}, +/* 39843 */ {(13<<2)|2,{103,106,0}}, +/* 39844 */ {(13<<2)|2,{103,106,0}}, +/* 39845 */ {(13<<2)|2,{103,106,0}}, +/* 39846 */ {(13<<2)|2,{103,106,0}}, +/* 39847 */ {(13<<2)|2,{103,106,0}}, +/* 39848 */ {(13<<2)|2,{103,107,0}}, +/* 39849 */ {(13<<2)|2,{103,107,0}}, +/* 39850 */ {(13<<2)|2,{103,107,0}}, +/* 39851 */ {(13<<2)|2,{103,107,0}}, +/* 39852 */ {(13<<2)|2,{103,107,0}}, +/* 39853 */ {(13<<2)|2,{103,107,0}}, +/* 39854 */ {(13<<2)|2,{103,107,0}}, +/* 39855 */ {(13<<2)|2,{103,107,0}}, +/* 39856 */ {(13<<2)|2,{103,113,0}}, +/* 39857 */ {(13<<2)|2,{103,113,0}}, +/* 39858 */ {(13<<2)|2,{103,113,0}}, +/* 39859 */ {(13<<2)|2,{103,113,0}}, +/* 39860 */ {(13<<2)|2,{103,113,0}}, +/* 39861 */ {(13<<2)|2,{103,113,0}}, +/* 39862 */ {(13<<2)|2,{103,113,0}}, +/* 39863 */ {(13<<2)|2,{103,113,0}}, +/* 39864 */ {(13<<2)|2,{103,118,0}}, +/* 39865 */ {(13<<2)|2,{103,118,0}}, +/* 39866 */ {(13<<2)|2,{103,118,0}}, +/* 39867 */ {(13<<2)|2,{103,118,0}}, +/* 39868 */ {(13<<2)|2,{103,118,0}}, +/* 39869 */ {(13<<2)|2,{103,118,0}}, +/* 39870 */ {(13<<2)|2,{103,118,0}}, +/* 39871 */ {(13<<2)|2,{103,118,0}}, +/* 39872 */ {(13<<2)|2,{103,119,0}}, +/* 39873 */ {(13<<2)|2,{103,119,0}}, +/* 39874 */ {(13<<2)|2,{103,119,0}}, +/* 39875 */ {(13<<2)|2,{103,119,0}}, +/* 39876 */ {(13<<2)|2,{103,119,0}}, +/* 39877 */ {(13<<2)|2,{103,119,0}}, +/* 39878 */ {(13<<2)|2,{103,119,0}}, +/* 39879 */ {(13<<2)|2,{103,119,0}}, +/* 39880 */ {(13<<2)|2,{103,120,0}}, +/* 39881 */ {(13<<2)|2,{103,120,0}}, +/* 39882 */ {(13<<2)|2,{103,120,0}}, +/* 39883 */ {(13<<2)|2,{103,120,0}}, +/* 39884 */ {(13<<2)|2,{103,120,0}}, +/* 39885 */ {(13<<2)|2,{103,120,0}}, +/* 39886 */ {(13<<2)|2,{103,120,0}}, +/* 39887 */ {(13<<2)|2,{103,120,0}}, +/* 39888 */ {(13<<2)|2,{103,121,0}}, +/* 39889 */ {(13<<2)|2,{103,121,0}}, +/* 39890 */ {(13<<2)|2,{103,121,0}}, +/* 39891 */ {(13<<2)|2,{103,121,0}}, +/* 39892 */ {(13<<2)|2,{103,121,0}}, +/* 39893 */ {(13<<2)|2,{103,121,0}}, +/* 39894 */ {(13<<2)|2,{103,121,0}}, +/* 39895 */ {(13<<2)|2,{103,121,0}}, +/* 39896 */ {(13<<2)|2,{103,122,0}}, +/* 39897 */ {(13<<2)|2,{103,122,0}}, +/* 39898 */ {(13<<2)|2,{103,122,0}}, +/* 39899 */ {(13<<2)|2,{103,122,0}}, +/* 39900 */ {(13<<2)|2,{103,122,0}}, +/* 39901 */ {(13<<2)|2,{103,122,0}}, +/* 39902 */ {(13<<2)|2,{103,122,0}}, +/* 39903 */ {(13<<2)|2,{103,122,0}}, +/* 39904 */ {(14<<2)|2,{103,38,0}}, +/* 39905 */ {(14<<2)|2,{103,38,0}}, +/* 39906 */ {(14<<2)|2,{103,38,0}}, +/* 39907 */ {(14<<2)|2,{103,38,0}}, +/* 39908 */ {(14<<2)|2,{103,42,0}}, +/* 39909 */ {(14<<2)|2,{103,42,0}}, +/* 39910 */ {(14<<2)|2,{103,42,0}}, +/* 39911 */ {(14<<2)|2,{103,42,0}}, +/* 39912 */ {(14<<2)|2,{103,44,0}}, +/* 39913 */ {(14<<2)|2,{103,44,0}}, +/* 39914 */ {(14<<2)|2,{103,44,0}}, +/* 39915 */ {(14<<2)|2,{103,44,0}}, +/* 39916 */ {(14<<2)|2,{103,59,0}}, +/* 39917 */ {(14<<2)|2,{103,59,0}}, +/* 39918 */ {(14<<2)|2,{103,59,0}}, +/* 39919 */ {(14<<2)|2,{103,59,0}}, +/* 39920 */ {(14<<2)|2,{103,88,0}}, +/* 39921 */ {(14<<2)|2,{103,88,0}}, +/* 39922 */ {(14<<2)|2,{103,88,0}}, +/* 39923 */ {(14<<2)|2,{103,88,0}}, +/* 39924 */ {(14<<2)|2,{103,90,0}}, +/* 39925 */ {(14<<2)|2,{103,90,0}}, +/* 39926 */ {(14<<2)|2,{103,90,0}}, +/* 39927 */ {(14<<2)|2,{103,90,0}}, +/* 39928 */ {(16<<2)|2,{103,33,0}}, +/* 39929 */ {(16<<2)|2,{103,34,0}}, +/* 39930 */ {(16<<2)|2,{103,40,0}}, +/* 39931 */ {(16<<2)|2,{103,41,0}}, +/* 39932 */ {(16<<2)|2,{103,63,0}}, +/* 39933 */ {(6<<2)|1,{103,0,0}}, +/* 39934 */ {(6<<2)|1,{103,0,0}}, +/* 39935 */ {(6<<2)|1,{103,0,0}}, +/* 39936 */ {(16<<2)|3,{104,48,48}}, +/* 39937 */ {(16<<2)|3,{104,48,49}}, +/* 39938 */ {(16<<2)|3,{104,48,50}}, +/* 39939 */ {(16<<2)|3,{104,48,97}}, +/* 39940 */ {(16<<2)|3,{104,48,99}}, +/* 39941 */ {(16<<2)|3,{104,48,101}}, +/* 39942 */ {(16<<2)|3,{104,48,105}}, +/* 39943 */ {(16<<2)|3,{104,48,111}}, +/* 39944 */ {(16<<2)|3,{104,48,115}}, +/* 39945 */ {(16<<2)|3,{104,48,116}}, +/* 39946 */ {(11<<2)|2,{104,48,0}}, +/* 39947 */ {(11<<2)|2,{104,48,0}}, +/* 39948 */ {(11<<2)|2,{104,48,0}}, +/* 39949 */ {(11<<2)|2,{104,48,0}}, +/* 39950 */ {(11<<2)|2,{104,48,0}}, +/* 39951 */ {(11<<2)|2,{104,48,0}}, +/* 39952 */ {(11<<2)|2,{104,48,0}}, +/* 39953 */ {(11<<2)|2,{104,48,0}}, +/* 39954 */ {(11<<2)|2,{104,48,0}}, +/* 39955 */ {(11<<2)|2,{104,48,0}}, +/* 39956 */ {(11<<2)|2,{104,48,0}}, +/* 39957 */ {(11<<2)|2,{104,48,0}}, +/* 39958 */ {(11<<2)|2,{104,48,0}}, +/* 39959 */ {(11<<2)|2,{104,48,0}}, +/* 39960 */ {(11<<2)|2,{104,48,0}}, +/* 39961 */ {(11<<2)|2,{104,48,0}}, +/* 39962 */ {(11<<2)|2,{104,48,0}}, +/* 39963 */ {(11<<2)|2,{104,48,0}}, +/* 39964 */ {(11<<2)|2,{104,48,0}}, +/* 39965 */ {(11<<2)|2,{104,48,0}}, +/* 39966 */ {(11<<2)|2,{104,48,0}}, +/* 39967 */ {(11<<2)|2,{104,48,0}}, +/* 39968 */ {(16<<2)|3,{104,49,48}}, +/* 39969 */ {(16<<2)|3,{104,49,49}}, +/* 39970 */ {(16<<2)|3,{104,49,50}}, +/* 39971 */ {(16<<2)|3,{104,49,97}}, +/* 39972 */ {(16<<2)|3,{104,49,99}}, +/* 39973 */ {(16<<2)|3,{104,49,101}}, +/* 39974 */ {(16<<2)|3,{104,49,105}}, +/* 39975 */ {(16<<2)|3,{104,49,111}}, +/* 39976 */ {(16<<2)|3,{104,49,115}}, +/* 39977 */ {(16<<2)|3,{104,49,116}}, +/* 39978 */ {(11<<2)|2,{104,49,0}}, +/* 39979 */ {(11<<2)|2,{104,49,0}}, +/* 39980 */ {(11<<2)|2,{104,49,0}}, +/* 39981 */ {(11<<2)|2,{104,49,0}}, +/* 39982 */ {(11<<2)|2,{104,49,0}}, +/* 39983 */ {(11<<2)|2,{104,49,0}}, +/* 39984 */ {(11<<2)|2,{104,49,0}}, +/* 39985 */ {(11<<2)|2,{104,49,0}}, +/* 39986 */ {(11<<2)|2,{104,49,0}}, +/* 39987 */ {(11<<2)|2,{104,49,0}}, +/* 39988 */ {(11<<2)|2,{104,49,0}}, +/* 39989 */ {(11<<2)|2,{104,49,0}}, +/* 39990 */ {(11<<2)|2,{104,49,0}}, +/* 39991 */ {(11<<2)|2,{104,49,0}}, +/* 39992 */ {(11<<2)|2,{104,49,0}}, +/* 39993 */ {(11<<2)|2,{104,49,0}}, +/* 39994 */ {(11<<2)|2,{104,49,0}}, +/* 39995 */ {(11<<2)|2,{104,49,0}}, +/* 39996 */ {(11<<2)|2,{104,49,0}}, +/* 39997 */ {(11<<2)|2,{104,49,0}}, +/* 39998 */ {(11<<2)|2,{104,49,0}}, +/* 39999 */ {(11<<2)|2,{104,49,0}}, +/* 40000 */ {(16<<2)|3,{104,50,48}}, +/* 40001 */ {(16<<2)|3,{104,50,49}}, +/* 40002 */ {(16<<2)|3,{104,50,50}}, +/* 40003 */ {(16<<2)|3,{104,50,97}}, +/* 40004 */ {(16<<2)|3,{104,50,99}}, +/* 40005 */ {(16<<2)|3,{104,50,101}}, +/* 40006 */ {(16<<2)|3,{104,50,105}}, +/* 40007 */ {(16<<2)|3,{104,50,111}}, +/* 40008 */ {(16<<2)|3,{104,50,115}}, +/* 40009 */ {(16<<2)|3,{104,50,116}}, +/* 40010 */ {(11<<2)|2,{104,50,0}}, +/* 40011 */ {(11<<2)|2,{104,50,0}}, +/* 40012 */ {(11<<2)|2,{104,50,0}}, +/* 40013 */ {(11<<2)|2,{104,50,0}}, +/* 40014 */ {(11<<2)|2,{104,50,0}}, +/* 40015 */ {(11<<2)|2,{104,50,0}}, +/* 40016 */ {(11<<2)|2,{104,50,0}}, +/* 40017 */ {(11<<2)|2,{104,50,0}}, +/* 40018 */ {(11<<2)|2,{104,50,0}}, +/* 40019 */ {(11<<2)|2,{104,50,0}}, +/* 40020 */ {(11<<2)|2,{104,50,0}}, +/* 40021 */ {(11<<2)|2,{104,50,0}}, +/* 40022 */ {(11<<2)|2,{104,50,0}}, +/* 40023 */ {(11<<2)|2,{104,50,0}}, +/* 40024 */ {(11<<2)|2,{104,50,0}}, +/* 40025 */ {(11<<2)|2,{104,50,0}}, +/* 40026 */ {(11<<2)|2,{104,50,0}}, +/* 40027 */ {(11<<2)|2,{104,50,0}}, +/* 40028 */ {(11<<2)|2,{104,50,0}}, +/* 40029 */ {(11<<2)|2,{104,50,0}}, +/* 40030 */ {(11<<2)|2,{104,50,0}}, +/* 40031 */ {(11<<2)|2,{104,50,0}}, +/* 40032 */ {(16<<2)|3,{104,97,48}}, +/* 40033 */ {(16<<2)|3,{104,97,49}}, +/* 40034 */ {(16<<2)|3,{104,97,50}}, +/* 40035 */ {(16<<2)|3,{104,97,97}}, +/* 40036 */ {(16<<2)|3,{104,97,99}}, +/* 40037 */ {(16<<2)|3,{104,97,101}}, +/* 40038 */ {(16<<2)|3,{104,97,105}}, +/* 40039 */ {(16<<2)|3,{104,97,111}}, +/* 40040 */ {(16<<2)|3,{104,97,115}}, +/* 40041 */ {(16<<2)|3,{104,97,116}}, +/* 40042 */ {(11<<2)|2,{104,97,0}}, +/* 40043 */ {(11<<2)|2,{104,97,0}}, +/* 40044 */ {(11<<2)|2,{104,97,0}}, +/* 40045 */ {(11<<2)|2,{104,97,0}}, +/* 40046 */ {(11<<2)|2,{104,97,0}}, +/* 40047 */ {(11<<2)|2,{104,97,0}}, +/* 40048 */ {(11<<2)|2,{104,97,0}}, +/* 40049 */ {(11<<2)|2,{104,97,0}}, +/* 40050 */ {(11<<2)|2,{104,97,0}}, +/* 40051 */ {(11<<2)|2,{104,97,0}}, +/* 40052 */ {(11<<2)|2,{104,97,0}}, +/* 40053 */ {(11<<2)|2,{104,97,0}}, +/* 40054 */ {(11<<2)|2,{104,97,0}}, +/* 40055 */ {(11<<2)|2,{104,97,0}}, +/* 40056 */ {(11<<2)|2,{104,97,0}}, +/* 40057 */ {(11<<2)|2,{104,97,0}}, +/* 40058 */ {(11<<2)|2,{104,97,0}}, +/* 40059 */ {(11<<2)|2,{104,97,0}}, +/* 40060 */ {(11<<2)|2,{104,97,0}}, +/* 40061 */ {(11<<2)|2,{104,97,0}}, +/* 40062 */ {(11<<2)|2,{104,97,0}}, +/* 40063 */ {(11<<2)|2,{104,97,0}}, +/* 40064 */ {(16<<2)|3,{104,99,48}}, +/* 40065 */ {(16<<2)|3,{104,99,49}}, +/* 40066 */ {(16<<2)|3,{104,99,50}}, +/* 40067 */ {(16<<2)|3,{104,99,97}}, +/* 40068 */ {(16<<2)|3,{104,99,99}}, +/* 40069 */ {(16<<2)|3,{104,99,101}}, +/* 40070 */ {(16<<2)|3,{104,99,105}}, +/* 40071 */ {(16<<2)|3,{104,99,111}}, +/* 40072 */ {(16<<2)|3,{104,99,115}}, +/* 40073 */ {(16<<2)|3,{104,99,116}}, +/* 40074 */ {(11<<2)|2,{104,99,0}}, +/* 40075 */ {(11<<2)|2,{104,99,0}}, +/* 40076 */ {(11<<2)|2,{104,99,0}}, +/* 40077 */ {(11<<2)|2,{104,99,0}}, +/* 40078 */ {(11<<2)|2,{104,99,0}}, +/* 40079 */ {(11<<2)|2,{104,99,0}}, +/* 40080 */ {(11<<2)|2,{104,99,0}}, +/* 40081 */ {(11<<2)|2,{104,99,0}}, +/* 40082 */ {(11<<2)|2,{104,99,0}}, +/* 40083 */ {(11<<2)|2,{104,99,0}}, +/* 40084 */ {(11<<2)|2,{104,99,0}}, +/* 40085 */ {(11<<2)|2,{104,99,0}}, +/* 40086 */ {(11<<2)|2,{104,99,0}}, +/* 40087 */ {(11<<2)|2,{104,99,0}}, +/* 40088 */ {(11<<2)|2,{104,99,0}}, +/* 40089 */ {(11<<2)|2,{104,99,0}}, +/* 40090 */ {(11<<2)|2,{104,99,0}}, +/* 40091 */ {(11<<2)|2,{104,99,0}}, +/* 40092 */ {(11<<2)|2,{104,99,0}}, +/* 40093 */ {(11<<2)|2,{104,99,0}}, +/* 40094 */ {(11<<2)|2,{104,99,0}}, +/* 40095 */ {(11<<2)|2,{104,99,0}}, +/* 40096 */ {(16<<2)|3,{104,101,48}}, +/* 40097 */ {(16<<2)|3,{104,101,49}}, +/* 40098 */ {(16<<2)|3,{104,101,50}}, +/* 40099 */ {(16<<2)|3,{104,101,97}}, +/* 40100 */ {(16<<2)|3,{104,101,99}}, +/* 40101 */ {(16<<2)|3,{104,101,101}}, +/* 40102 */ {(16<<2)|3,{104,101,105}}, +/* 40103 */ {(16<<2)|3,{104,101,111}}, +/* 40104 */ {(16<<2)|3,{104,101,115}}, +/* 40105 */ {(16<<2)|3,{104,101,116}}, +/* 40106 */ {(11<<2)|2,{104,101,0}}, +/* 40107 */ {(11<<2)|2,{104,101,0}}, +/* 40108 */ {(11<<2)|2,{104,101,0}}, +/* 40109 */ {(11<<2)|2,{104,101,0}}, +/* 40110 */ {(11<<2)|2,{104,101,0}}, +/* 40111 */ {(11<<2)|2,{104,101,0}}, +/* 40112 */ {(11<<2)|2,{104,101,0}}, +/* 40113 */ {(11<<2)|2,{104,101,0}}, +/* 40114 */ {(11<<2)|2,{104,101,0}}, +/* 40115 */ {(11<<2)|2,{104,101,0}}, +/* 40116 */ {(11<<2)|2,{104,101,0}}, +/* 40117 */ {(11<<2)|2,{104,101,0}}, +/* 40118 */ {(11<<2)|2,{104,101,0}}, +/* 40119 */ {(11<<2)|2,{104,101,0}}, +/* 40120 */ {(11<<2)|2,{104,101,0}}, +/* 40121 */ {(11<<2)|2,{104,101,0}}, +/* 40122 */ {(11<<2)|2,{104,101,0}}, +/* 40123 */ {(11<<2)|2,{104,101,0}}, +/* 40124 */ {(11<<2)|2,{104,101,0}}, +/* 40125 */ {(11<<2)|2,{104,101,0}}, +/* 40126 */ {(11<<2)|2,{104,101,0}}, +/* 40127 */ {(11<<2)|2,{104,101,0}}, +/* 40128 */ {(16<<2)|3,{104,105,48}}, +/* 40129 */ {(16<<2)|3,{104,105,49}}, +/* 40130 */ {(16<<2)|3,{104,105,50}}, +/* 40131 */ {(16<<2)|3,{104,105,97}}, +/* 40132 */ {(16<<2)|3,{104,105,99}}, +/* 40133 */ {(16<<2)|3,{104,105,101}}, +/* 40134 */ {(16<<2)|3,{104,105,105}}, +/* 40135 */ {(16<<2)|3,{104,105,111}}, +/* 40136 */ {(16<<2)|3,{104,105,115}}, +/* 40137 */ {(16<<2)|3,{104,105,116}}, +/* 40138 */ {(11<<2)|2,{104,105,0}}, +/* 40139 */ {(11<<2)|2,{104,105,0}}, +/* 40140 */ {(11<<2)|2,{104,105,0}}, +/* 40141 */ {(11<<2)|2,{104,105,0}}, +/* 40142 */ {(11<<2)|2,{104,105,0}}, +/* 40143 */ {(11<<2)|2,{104,105,0}}, +/* 40144 */ {(11<<2)|2,{104,105,0}}, +/* 40145 */ {(11<<2)|2,{104,105,0}}, +/* 40146 */ {(11<<2)|2,{104,105,0}}, +/* 40147 */ {(11<<2)|2,{104,105,0}}, +/* 40148 */ {(11<<2)|2,{104,105,0}}, +/* 40149 */ {(11<<2)|2,{104,105,0}}, +/* 40150 */ {(11<<2)|2,{104,105,0}}, +/* 40151 */ {(11<<2)|2,{104,105,0}}, +/* 40152 */ {(11<<2)|2,{104,105,0}}, +/* 40153 */ {(11<<2)|2,{104,105,0}}, +/* 40154 */ {(11<<2)|2,{104,105,0}}, +/* 40155 */ {(11<<2)|2,{104,105,0}}, +/* 40156 */ {(11<<2)|2,{104,105,0}}, +/* 40157 */ {(11<<2)|2,{104,105,0}}, +/* 40158 */ {(11<<2)|2,{104,105,0}}, +/* 40159 */ {(11<<2)|2,{104,105,0}}, +/* 40160 */ {(16<<2)|3,{104,111,48}}, +/* 40161 */ {(16<<2)|3,{104,111,49}}, +/* 40162 */ {(16<<2)|3,{104,111,50}}, +/* 40163 */ {(16<<2)|3,{104,111,97}}, +/* 40164 */ {(16<<2)|3,{104,111,99}}, +/* 40165 */ {(16<<2)|3,{104,111,101}}, +/* 40166 */ {(16<<2)|3,{104,111,105}}, +/* 40167 */ {(16<<2)|3,{104,111,111}}, +/* 40168 */ {(16<<2)|3,{104,111,115}}, +/* 40169 */ {(16<<2)|3,{104,111,116}}, +/* 40170 */ {(11<<2)|2,{104,111,0}}, +/* 40171 */ {(11<<2)|2,{104,111,0}}, +/* 40172 */ {(11<<2)|2,{104,111,0}}, +/* 40173 */ {(11<<2)|2,{104,111,0}}, +/* 40174 */ {(11<<2)|2,{104,111,0}}, +/* 40175 */ {(11<<2)|2,{104,111,0}}, +/* 40176 */ {(11<<2)|2,{104,111,0}}, +/* 40177 */ {(11<<2)|2,{104,111,0}}, +/* 40178 */ {(11<<2)|2,{104,111,0}}, +/* 40179 */ {(11<<2)|2,{104,111,0}}, +/* 40180 */ {(11<<2)|2,{104,111,0}}, +/* 40181 */ {(11<<2)|2,{104,111,0}}, +/* 40182 */ {(11<<2)|2,{104,111,0}}, +/* 40183 */ {(11<<2)|2,{104,111,0}}, +/* 40184 */ {(11<<2)|2,{104,111,0}}, +/* 40185 */ {(11<<2)|2,{104,111,0}}, +/* 40186 */ {(11<<2)|2,{104,111,0}}, +/* 40187 */ {(11<<2)|2,{104,111,0}}, +/* 40188 */ {(11<<2)|2,{104,111,0}}, +/* 40189 */ {(11<<2)|2,{104,111,0}}, +/* 40190 */ {(11<<2)|2,{104,111,0}}, +/* 40191 */ {(11<<2)|2,{104,111,0}}, +/* 40192 */ {(16<<2)|3,{104,115,48}}, +/* 40193 */ {(16<<2)|3,{104,115,49}}, +/* 40194 */ {(16<<2)|3,{104,115,50}}, +/* 40195 */ {(16<<2)|3,{104,115,97}}, +/* 40196 */ {(16<<2)|3,{104,115,99}}, +/* 40197 */ {(16<<2)|3,{104,115,101}}, +/* 40198 */ {(16<<2)|3,{104,115,105}}, +/* 40199 */ {(16<<2)|3,{104,115,111}}, +/* 40200 */ {(16<<2)|3,{104,115,115}}, +/* 40201 */ {(16<<2)|3,{104,115,116}}, +/* 40202 */ {(11<<2)|2,{104,115,0}}, +/* 40203 */ {(11<<2)|2,{104,115,0}}, +/* 40204 */ {(11<<2)|2,{104,115,0}}, +/* 40205 */ {(11<<2)|2,{104,115,0}}, +/* 40206 */ {(11<<2)|2,{104,115,0}}, +/* 40207 */ {(11<<2)|2,{104,115,0}}, +/* 40208 */ {(11<<2)|2,{104,115,0}}, +/* 40209 */ {(11<<2)|2,{104,115,0}}, +/* 40210 */ {(11<<2)|2,{104,115,0}}, +/* 40211 */ {(11<<2)|2,{104,115,0}}, +/* 40212 */ {(11<<2)|2,{104,115,0}}, +/* 40213 */ {(11<<2)|2,{104,115,0}}, +/* 40214 */ {(11<<2)|2,{104,115,0}}, +/* 40215 */ {(11<<2)|2,{104,115,0}}, +/* 40216 */ {(11<<2)|2,{104,115,0}}, +/* 40217 */ {(11<<2)|2,{104,115,0}}, +/* 40218 */ {(11<<2)|2,{104,115,0}}, +/* 40219 */ {(11<<2)|2,{104,115,0}}, +/* 40220 */ {(11<<2)|2,{104,115,0}}, +/* 40221 */ {(11<<2)|2,{104,115,0}}, +/* 40222 */ {(11<<2)|2,{104,115,0}}, +/* 40223 */ {(11<<2)|2,{104,115,0}}, +/* 40224 */ {(16<<2)|3,{104,116,48}}, +/* 40225 */ {(16<<2)|3,{104,116,49}}, +/* 40226 */ {(16<<2)|3,{104,116,50}}, +/* 40227 */ {(16<<2)|3,{104,116,97}}, +/* 40228 */ {(16<<2)|3,{104,116,99}}, +/* 40229 */ {(16<<2)|3,{104,116,101}}, +/* 40230 */ {(16<<2)|3,{104,116,105}}, +/* 40231 */ {(16<<2)|3,{104,116,111}}, +/* 40232 */ {(16<<2)|3,{104,116,115}}, +/* 40233 */ {(16<<2)|3,{104,116,116}}, +/* 40234 */ {(11<<2)|2,{104,116,0}}, +/* 40235 */ {(11<<2)|2,{104,116,0}}, +/* 40236 */ {(11<<2)|2,{104,116,0}}, +/* 40237 */ {(11<<2)|2,{104,116,0}}, +/* 40238 */ {(11<<2)|2,{104,116,0}}, +/* 40239 */ {(11<<2)|2,{104,116,0}}, +/* 40240 */ {(11<<2)|2,{104,116,0}}, +/* 40241 */ {(11<<2)|2,{104,116,0}}, +/* 40242 */ {(11<<2)|2,{104,116,0}}, +/* 40243 */ {(11<<2)|2,{104,116,0}}, +/* 40244 */ {(11<<2)|2,{104,116,0}}, +/* 40245 */ {(11<<2)|2,{104,116,0}}, +/* 40246 */ {(11<<2)|2,{104,116,0}}, +/* 40247 */ {(11<<2)|2,{104,116,0}}, +/* 40248 */ {(11<<2)|2,{104,116,0}}, +/* 40249 */ {(11<<2)|2,{104,116,0}}, +/* 40250 */ {(11<<2)|2,{104,116,0}}, +/* 40251 */ {(11<<2)|2,{104,116,0}}, +/* 40252 */ {(11<<2)|2,{104,116,0}}, +/* 40253 */ {(11<<2)|2,{104,116,0}}, +/* 40254 */ {(11<<2)|2,{104,116,0}}, +/* 40255 */ {(11<<2)|2,{104,116,0}}, +/* 40256 */ {(12<<2)|2,{104,32,0}}, +/* 40257 */ {(12<<2)|2,{104,32,0}}, +/* 40258 */ {(12<<2)|2,{104,32,0}}, +/* 40259 */ {(12<<2)|2,{104,32,0}}, +/* 40260 */ {(12<<2)|2,{104,32,0}}, +/* 40261 */ {(12<<2)|2,{104,32,0}}, +/* 40262 */ {(12<<2)|2,{104,32,0}}, +/* 40263 */ {(12<<2)|2,{104,32,0}}, +/* 40264 */ {(12<<2)|2,{104,32,0}}, +/* 40265 */ {(12<<2)|2,{104,32,0}}, +/* 40266 */ {(12<<2)|2,{104,32,0}}, +/* 40267 */ {(12<<2)|2,{104,32,0}}, +/* 40268 */ {(12<<2)|2,{104,32,0}}, +/* 40269 */ {(12<<2)|2,{104,32,0}}, +/* 40270 */ {(12<<2)|2,{104,32,0}}, +/* 40271 */ {(12<<2)|2,{104,32,0}}, +/* 40272 */ {(12<<2)|2,{104,37,0}}, +/* 40273 */ {(12<<2)|2,{104,37,0}}, +/* 40274 */ {(12<<2)|2,{104,37,0}}, +/* 40275 */ {(12<<2)|2,{104,37,0}}, +/* 40276 */ {(12<<2)|2,{104,37,0}}, +/* 40277 */ {(12<<2)|2,{104,37,0}}, +/* 40278 */ {(12<<2)|2,{104,37,0}}, +/* 40279 */ {(12<<2)|2,{104,37,0}}, +/* 40280 */ {(12<<2)|2,{104,37,0}}, +/* 40281 */ {(12<<2)|2,{104,37,0}}, +/* 40282 */ {(12<<2)|2,{104,37,0}}, +/* 40283 */ {(12<<2)|2,{104,37,0}}, +/* 40284 */ {(12<<2)|2,{104,37,0}}, +/* 40285 */ {(12<<2)|2,{104,37,0}}, +/* 40286 */ {(12<<2)|2,{104,37,0}}, +/* 40287 */ {(12<<2)|2,{104,37,0}}, +/* 40288 */ {(12<<2)|2,{104,45,0}}, +/* 40289 */ {(12<<2)|2,{104,45,0}}, +/* 40290 */ {(12<<2)|2,{104,45,0}}, +/* 40291 */ {(12<<2)|2,{104,45,0}}, +/* 40292 */ {(12<<2)|2,{104,45,0}}, +/* 40293 */ {(12<<2)|2,{104,45,0}}, +/* 40294 */ {(12<<2)|2,{104,45,0}}, +/* 40295 */ {(12<<2)|2,{104,45,0}}, +/* 40296 */ {(12<<2)|2,{104,45,0}}, +/* 40297 */ {(12<<2)|2,{104,45,0}}, +/* 40298 */ {(12<<2)|2,{104,45,0}}, +/* 40299 */ {(12<<2)|2,{104,45,0}}, +/* 40300 */ {(12<<2)|2,{104,45,0}}, +/* 40301 */ {(12<<2)|2,{104,45,0}}, +/* 40302 */ {(12<<2)|2,{104,45,0}}, +/* 40303 */ {(12<<2)|2,{104,45,0}}, +/* 40304 */ {(12<<2)|2,{104,46,0}}, +/* 40305 */ {(12<<2)|2,{104,46,0}}, +/* 40306 */ {(12<<2)|2,{104,46,0}}, +/* 40307 */ {(12<<2)|2,{104,46,0}}, +/* 40308 */ {(12<<2)|2,{104,46,0}}, +/* 40309 */ {(12<<2)|2,{104,46,0}}, +/* 40310 */ {(12<<2)|2,{104,46,0}}, +/* 40311 */ {(12<<2)|2,{104,46,0}}, +/* 40312 */ {(12<<2)|2,{104,46,0}}, +/* 40313 */ {(12<<2)|2,{104,46,0}}, +/* 40314 */ {(12<<2)|2,{104,46,0}}, +/* 40315 */ {(12<<2)|2,{104,46,0}}, +/* 40316 */ {(12<<2)|2,{104,46,0}}, +/* 40317 */ {(12<<2)|2,{104,46,0}}, +/* 40318 */ {(12<<2)|2,{104,46,0}}, +/* 40319 */ {(12<<2)|2,{104,46,0}}, +/* 40320 */ {(12<<2)|2,{104,47,0}}, +/* 40321 */ {(12<<2)|2,{104,47,0}}, +/* 40322 */ {(12<<2)|2,{104,47,0}}, +/* 40323 */ {(12<<2)|2,{104,47,0}}, +/* 40324 */ {(12<<2)|2,{104,47,0}}, +/* 40325 */ {(12<<2)|2,{104,47,0}}, +/* 40326 */ {(12<<2)|2,{104,47,0}}, +/* 40327 */ {(12<<2)|2,{104,47,0}}, +/* 40328 */ {(12<<2)|2,{104,47,0}}, +/* 40329 */ {(12<<2)|2,{104,47,0}}, +/* 40330 */ {(12<<2)|2,{104,47,0}}, +/* 40331 */ {(12<<2)|2,{104,47,0}}, +/* 40332 */ {(12<<2)|2,{104,47,0}}, +/* 40333 */ {(12<<2)|2,{104,47,0}}, +/* 40334 */ {(12<<2)|2,{104,47,0}}, +/* 40335 */ {(12<<2)|2,{104,47,0}}, +/* 40336 */ {(12<<2)|2,{104,51,0}}, +/* 40337 */ {(12<<2)|2,{104,51,0}}, +/* 40338 */ {(12<<2)|2,{104,51,0}}, +/* 40339 */ {(12<<2)|2,{104,51,0}}, +/* 40340 */ {(12<<2)|2,{104,51,0}}, +/* 40341 */ {(12<<2)|2,{104,51,0}}, +/* 40342 */ {(12<<2)|2,{104,51,0}}, +/* 40343 */ {(12<<2)|2,{104,51,0}}, +/* 40344 */ {(12<<2)|2,{104,51,0}}, +/* 40345 */ {(12<<2)|2,{104,51,0}}, +/* 40346 */ {(12<<2)|2,{104,51,0}}, +/* 40347 */ {(12<<2)|2,{104,51,0}}, +/* 40348 */ {(12<<2)|2,{104,51,0}}, +/* 40349 */ {(12<<2)|2,{104,51,0}}, +/* 40350 */ {(12<<2)|2,{104,51,0}}, +/* 40351 */ {(12<<2)|2,{104,51,0}}, +/* 40352 */ {(12<<2)|2,{104,52,0}}, +/* 40353 */ {(12<<2)|2,{104,52,0}}, +/* 40354 */ {(12<<2)|2,{104,52,0}}, +/* 40355 */ {(12<<2)|2,{104,52,0}}, +/* 40356 */ {(12<<2)|2,{104,52,0}}, +/* 40357 */ {(12<<2)|2,{104,52,0}}, +/* 40358 */ {(12<<2)|2,{104,52,0}}, +/* 40359 */ {(12<<2)|2,{104,52,0}}, +/* 40360 */ {(12<<2)|2,{104,52,0}}, +/* 40361 */ {(12<<2)|2,{104,52,0}}, +/* 40362 */ {(12<<2)|2,{104,52,0}}, +/* 40363 */ {(12<<2)|2,{104,52,0}}, +/* 40364 */ {(12<<2)|2,{104,52,0}}, +/* 40365 */ {(12<<2)|2,{104,52,0}}, +/* 40366 */ {(12<<2)|2,{104,52,0}}, +/* 40367 */ {(12<<2)|2,{104,52,0}}, +/* 40368 */ {(12<<2)|2,{104,53,0}}, +/* 40369 */ {(12<<2)|2,{104,53,0}}, +/* 40370 */ {(12<<2)|2,{104,53,0}}, +/* 40371 */ {(12<<2)|2,{104,53,0}}, +/* 40372 */ {(12<<2)|2,{104,53,0}}, +/* 40373 */ {(12<<2)|2,{104,53,0}}, +/* 40374 */ {(12<<2)|2,{104,53,0}}, +/* 40375 */ {(12<<2)|2,{104,53,0}}, +/* 40376 */ {(12<<2)|2,{104,53,0}}, +/* 40377 */ {(12<<2)|2,{104,53,0}}, +/* 40378 */ {(12<<2)|2,{104,53,0}}, +/* 40379 */ {(12<<2)|2,{104,53,0}}, +/* 40380 */ {(12<<2)|2,{104,53,0}}, +/* 40381 */ {(12<<2)|2,{104,53,0}}, +/* 40382 */ {(12<<2)|2,{104,53,0}}, +/* 40383 */ {(12<<2)|2,{104,53,0}}, +/* 40384 */ {(12<<2)|2,{104,54,0}}, +/* 40385 */ {(12<<2)|2,{104,54,0}}, +/* 40386 */ {(12<<2)|2,{104,54,0}}, +/* 40387 */ {(12<<2)|2,{104,54,0}}, +/* 40388 */ {(12<<2)|2,{104,54,0}}, +/* 40389 */ {(12<<2)|2,{104,54,0}}, +/* 40390 */ {(12<<2)|2,{104,54,0}}, +/* 40391 */ {(12<<2)|2,{104,54,0}}, +/* 40392 */ {(12<<2)|2,{104,54,0}}, +/* 40393 */ {(12<<2)|2,{104,54,0}}, +/* 40394 */ {(12<<2)|2,{104,54,0}}, +/* 40395 */ {(12<<2)|2,{104,54,0}}, +/* 40396 */ {(12<<2)|2,{104,54,0}}, +/* 40397 */ {(12<<2)|2,{104,54,0}}, +/* 40398 */ {(12<<2)|2,{104,54,0}}, +/* 40399 */ {(12<<2)|2,{104,54,0}}, +/* 40400 */ {(12<<2)|2,{104,55,0}}, +/* 40401 */ {(12<<2)|2,{104,55,0}}, +/* 40402 */ {(12<<2)|2,{104,55,0}}, +/* 40403 */ {(12<<2)|2,{104,55,0}}, +/* 40404 */ {(12<<2)|2,{104,55,0}}, +/* 40405 */ {(12<<2)|2,{104,55,0}}, +/* 40406 */ {(12<<2)|2,{104,55,0}}, +/* 40407 */ {(12<<2)|2,{104,55,0}}, +/* 40408 */ {(12<<2)|2,{104,55,0}}, +/* 40409 */ {(12<<2)|2,{104,55,0}}, +/* 40410 */ {(12<<2)|2,{104,55,0}}, +/* 40411 */ {(12<<2)|2,{104,55,0}}, +/* 40412 */ {(12<<2)|2,{104,55,0}}, +/* 40413 */ {(12<<2)|2,{104,55,0}}, +/* 40414 */ {(12<<2)|2,{104,55,0}}, +/* 40415 */ {(12<<2)|2,{104,55,0}}, +/* 40416 */ {(12<<2)|2,{104,56,0}}, +/* 40417 */ {(12<<2)|2,{104,56,0}}, +/* 40418 */ {(12<<2)|2,{104,56,0}}, +/* 40419 */ {(12<<2)|2,{104,56,0}}, +/* 40420 */ {(12<<2)|2,{104,56,0}}, +/* 40421 */ {(12<<2)|2,{104,56,0}}, +/* 40422 */ {(12<<2)|2,{104,56,0}}, +/* 40423 */ {(12<<2)|2,{104,56,0}}, +/* 40424 */ {(12<<2)|2,{104,56,0}}, +/* 40425 */ {(12<<2)|2,{104,56,0}}, +/* 40426 */ {(12<<2)|2,{104,56,0}}, +/* 40427 */ {(12<<2)|2,{104,56,0}}, +/* 40428 */ {(12<<2)|2,{104,56,0}}, +/* 40429 */ {(12<<2)|2,{104,56,0}}, +/* 40430 */ {(12<<2)|2,{104,56,0}}, +/* 40431 */ {(12<<2)|2,{104,56,0}}, +/* 40432 */ {(12<<2)|2,{104,57,0}}, +/* 40433 */ {(12<<2)|2,{104,57,0}}, +/* 40434 */ {(12<<2)|2,{104,57,0}}, +/* 40435 */ {(12<<2)|2,{104,57,0}}, +/* 40436 */ {(12<<2)|2,{104,57,0}}, +/* 40437 */ {(12<<2)|2,{104,57,0}}, +/* 40438 */ {(12<<2)|2,{104,57,0}}, +/* 40439 */ {(12<<2)|2,{104,57,0}}, +/* 40440 */ {(12<<2)|2,{104,57,0}}, +/* 40441 */ {(12<<2)|2,{104,57,0}}, +/* 40442 */ {(12<<2)|2,{104,57,0}}, +/* 40443 */ {(12<<2)|2,{104,57,0}}, +/* 40444 */ {(12<<2)|2,{104,57,0}}, +/* 40445 */ {(12<<2)|2,{104,57,0}}, +/* 40446 */ {(12<<2)|2,{104,57,0}}, +/* 40447 */ {(12<<2)|2,{104,57,0}}, +/* 40448 */ {(12<<2)|2,{104,61,0}}, +/* 40449 */ {(12<<2)|2,{104,61,0}}, +/* 40450 */ {(12<<2)|2,{104,61,0}}, +/* 40451 */ {(12<<2)|2,{104,61,0}}, +/* 40452 */ {(12<<2)|2,{104,61,0}}, +/* 40453 */ {(12<<2)|2,{104,61,0}}, +/* 40454 */ {(12<<2)|2,{104,61,0}}, +/* 40455 */ {(12<<2)|2,{104,61,0}}, +/* 40456 */ {(12<<2)|2,{104,61,0}}, +/* 40457 */ {(12<<2)|2,{104,61,0}}, +/* 40458 */ {(12<<2)|2,{104,61,0}}, +/* 40459 */ {(12<<2)|2,{104,61,0}}, +/* 40460 */ {(12<<2)|2,{104,61,0}}, +/* 40461 */ {(12<<2)|2,{104,61,0}}, +/* 40462 */ {(12<<2)|2,{104,61,0}}, +/* 40463 */ {(12<<2)|2,{104,61,0}}, +/* 40464 */ {(12<<2)|2,{104,65,0}}, +/* 40465 */ {(12<<2)|2,{104,65,0}}, +/* 40466 */ {(12<<2)|2,{104,65,0}}, +/* 40467 */ {(12<<2)|2,{104,65,0}}, +/* 40468 */ {(12<<2)|2,{104,65,0}}, +/* 40469 */ {(12<<2)|2,{104,65,0}}, +/* 40470 */ {(12<<2)|2,{104,65,0}}, +/* 40471 */ {(12<<2)|2,{104,65,0}}, +/* 40472 */ {(12<<2)|2,{104,65,0}}, +/* 40473 */ {(12<<2)|2,{104,65,0}}, +/* 40474 */ {(12<<2)|2,{104,65,0}}, +/* 40475 */ {(12<<2)|2,{104,65,0}}, +/* 40476 */ {(12<<2)|2,{104,65,0}}, +/* 40477 */ {(12<<2)|2,{104,65,0}}, +/* 40478 */ {(12<<2)|2,{104,65,0}}, +/* 40479 */ {(12<<2)|2,{104,65,0}}, +/* 40480 */ {(12<<2)|2,{104,95,0}}, +/* 40481 */ {(12<<2)|2,{104,95,0}}, +/* 40482 */ {(12<<2)|2,{104,95,0}}, +/* 40483 */ {(12<<2)|2,{104,95,0}}, +/* 40484 */ {(12<<2)|2,{104,95,0}}, +/* 40485 */ {(12<<2)|2,{104,95,0}}, +/* 40486 */ {(12<<2)|2,{104,95,0}}, +/* 40487 */ {(12<<2)|2,{104,95,0}}, +/* 40488 */ {(12<<2)|2,{104,95,0}}, +/* 40489 */ {(12<<2)|2,{104,95,0}}, +/* 40490 */ {(12<<2)|2,{104,95,0}}, +/* 40491 */ {(12<<2)|2,{104,95,0}}, +/* 40492 */ {(12<<2)|2,{104,95,0}}, +/* 40493 */ {(12<<2)|2,{104,95,0}}, +/* 40494 */ {(12<<2)|2,{104,95,0}}, +/* 40495 */ {(12<<2)|2,{104,95,0}}, +/* 40496 */ {(12<<2)|2,{104,98,0}}, +/* 40497 */ {(12<<2)|2,{104,98,0}}, +/* 40498 */ {(12<<2)|2,{104,98,0}}, +/* 40499 */ {(12<<2)|2,{104,98,0}}, +/* 40500 */ {(12<<2)|2,{104,98,0}}, +/* 40501 */ {(12<<2)|2,{104,98,0}}, +/* 40502 */ {(12<<2)|2,{104,98,0}}, +/* 40503 */ {(12<<2)|2,{104,98,0}}, +/* 40504 */ {(12<<2)|2,{104,98,0}}, +/* 40505 */ {(12<<2)|2,{104,98,0}}, +/* 40506 */ {(12<<2)|2,{104,98,0}}, +/* 40507 */ {(12<<2)|2,{104,98,0}}, +/* 40508 */ {(12<<2)|2,{104,98,0}}, +/* 40509 */ {(12<<2)|2,{104,98,0}}, +/* 40510 */ {(12<<2)|2,{104,98,0}}, +/* 40511 */ {(12<<2)|2,{104,98,0}}, +/* 40512 */ {(12<<2)|2,{104,100,0}}, +/* 40513 */ {(12<<2)|2,{104,100,0}}, +/* 40514 */ {(12<<2)|2,{104,100,0}}, +/* 40515 */ {(12<<2)|2,{104,100,0}}, +/* 40516 */ {(12<<2)|2,{104,100,0}}, +/* 40517 */ {(12<<2)|2,{104,100,0}}, +/* 40518 */ {(12<<2)|2,{104,100,0}}, +/* 40519 */ {(12<<2)|2,{104,100,0}}, +/* 40520 */ {(12<<2)|2,{104,100,0}}, +/* 40521 */ {(12<<2)|2,{104,100,0}}, +/* 40522 */ {(12<<2)|2,{104,100,0}}, +/* 40523 */ {(12<<2)|2,{104,100,0}}, +/* 40524 */ {(12<<2)|2,{104,100,0}}, +/* 40525 */ {(12<<2)|2,{104,100,0}}, +/* 40526 */ {(12<<2)|2,{104,100,0}}, +/* 40527 */ {(12<<2)|2,{104,100,0}}, +/* 40528 */ {(12<<2)|2,{104,102,0}}, +/* 40529 */ {(12<<2)|2,{104,102,0}}, +/* 40530 */ {(12<<2)|2,{104,102,0}}, +/* 40531 */ {(12<<2)|2,{104,102,0}}, +/* 40532 */ {(12<<2)|2,{104,102,0}}, +/* 40533 */ {(12<<2)|2,{104,102,0}}, +/* 40534 */ {(12<<2)|2,{104,102,0}}, +/* 40535 */ {(12<<2)|2,{104,102,0}}, +/* 40536 */ {(12<<2)|2,{104,102,0}}, +/* 40537 */ {(12<<2)|2,{104,102,0}}, +/* 40538 */ {(12<<2)|2,{104,102,0}}, +/* 40539 */ {(12<<2)|2,{104,102,0}}, +/* 40540 */ {(12<<2)|2,{104,102,0}}, +/* 40541 */ {(12<<2)|2,{104,102,0}}, +/* 40542 */ {(12<<2)|2,{104,102,0}}, +/* 40543 */ {(12<<2)|2,{104,102,0}}, +/* 40544 */ {(12<<2)|2,{104,103,0}}, +/* 40545 */ {(12<<2)|2,{104,103,0}}, +/* 40546 */ {(12<<2)|2,{104,103,0}}, +/* 40547 */ {(12<<2)|2,{104,103,0}}, +/* 40548 */ {(12<<2)|2,{104,103,0}}, +/* 40549 */ {(12<<2)|2,{104,103,0}}, +/* 40550 */ {(12<<2)|2,{104,103,0}}, +/* 40551 */ {(12<<2)|2,{104,103,0}}, +/* 40552 */ {(12<<2)|2,{104,103,0}}, +/* 40553 */ {(12<<2)|2,{104,103,0}}, +/* 40554 */ {(12<<2)|2,{104,103,0}}, +/* 40555 */ {(12<<2)|2,{104,103,0}}, +/* 40556 */ {(12<<2)|2,{104,103,0}}, +/* 40557 */ {(12<<2)|2,{104,103,0}}, +/* 40558 */ {(12<<2)|2,{104,103,0}}, +/* 40559 */ {(12<<2)|2,{104,103,0}}, +/* 40560 */ {(12<<2)|2,{104,104,0}}, +/* 40561 */ {(12<<2)|2,{104,104,0}}, +/* 40562 */ {(12<<2)|2,{104,104,0}}, +/* 40563 */ {(12<<2)|2,{104,104,0}}, +/* 40564 */ {(12<<2)|2,{104,104,0}}, +/* 40565 */ {(12<<2)|2,{104,104,0}}, +/* 40566 */ {(12<<2)|2,{104,104,0}}, +/* 40567 */ {(12<<2)|2,{104,104,0}}, +/* 40568 */ {(12<<2)|2,{104,104,0}}, +/* 40569 */ {(12<<2)|2,{104,104,0}}, +/* 40570 */ {(12<<2)|2,{104,104,0}}, +/* 40571 */ {(12<<2)|2,{104,104,0}}, +/* 40572 */ {(12<<2)|2,{104,104,0}}, +/* 40573 */ {(12<<2)|2,{104,104,0}}, +/* 40574 */ {(12<<2)|2,{104,104,0}}, +/* 40575 */ {(12<<2)|2,{104,104,0}}, +/* 40576 */ {(12<<2)|2,{104,108,0}}, +/* 40577 */ {(12<<2)|2,{104,108,0}}, +/* 40578 */ {(12<<2)|2,{104,108,0}}, +/* 40579 */ {(12<<2)|2,{104,108,0}}, +/* 40580 */ {(12<<2)|2,{104,108,0}}, +/* 40581 */ {(12<<2)|2,{104,108,0}}, +/* 40582 */ {(12<<2)|2,{104,108,0}}, +/* 40583 */ {(12<<2)|2,{104,108,0}}, +/* 40584 */ {(12<<2)|2,{104,108,0}}, +/* 40585 */ {(12<<2)|2,{104,108,0}}, +/* 40586 */ {(12<<2)|2,{104,108,0}}, +/* 40587 */ {(12<<2)|2,{104,108,0}}, +/* 40588 */ {(12<<2)|2,{104,108,0}}, +/* 40589 */ {(12<<2)|2,{104,108,0}}, +/* 40590 */ {(12<<2)|2,{104,108,0}}, +/* 40591 */ {(12<<2)|2,{104,108,0}}, +/* 40592 */ {(12<<2)|2,{104,109,0}}, +/* 40593 */ {(12<<2)|2,{104,109,0}}, +/* 40594 */ {(12<<2)|2,{104,109,0}}, +/* 40595 */ {(12<<2)|2,{104,109,0}}, +/* 40596 */ {(12<<2)|2,{104,109,0}}, +/* 40597 */ {(12<<2)|2,{104,109,0}}, +/* 40598 */ {(12<<2)|2,{104,109,0}}, +/* 40599 */ {(12<<2)|2,{104,109,0}}, +/* 40600 */ {(12<<2)|2,{104,109,0}}, +/* 40601 */ {(12<<2)|2,{104,109,0}}, +/* 40602 */ {(12<<2)|2,{104,109,0}}, +/* 40603 */ {(12<<2)|2,{104,109,0}}, +/* 40604 */ {(12<<2)|2,{104,109,0}}, +/* 40605 */ {(12<<2)|2,{104,109,0}}, +/* 40606 */ {(12<<2)|2,{104,109,0}}, +/* 40607 */ {(12<<2)|2,{104,109,0}}, +/* 40608 */ {(12<<2)|2,{104,110,0}}, +/* 40609 */ {(12<<2)|2,{104,110,0}}, +/* 40610 */ {(12<<2)|2,{104,110,0}}, +/* 40611 */ {(12<<2)|2,{104,110,0}}, +/* 40612 */ {(12<<2)|2,{104,110,0}}, +/* 40613 */ {(12<<2)|2,{104,110,0}}, +/* 40614 */ {(12<<2)|2,{104,110,0}}, +/* 40615 */ {(12<<2)|2,{104,110,0}}, +/* 40616 */ {(12<<2)|2,{104,110,0}}, +/* 40617 */ {(12<<2)|2,{104,110,0}}, +/* 40618 */ {(12<<2)|2,{104,110,0}}, +/* 40619 */ {(12<<2)|2,{104,110,0}}, +/* 40620 */ {(12<<2)|2,{104,110,0}}, +/* 40621 */ {(12<<2)|2,{104,110,0}}, +/* 40622 */ {(12<<2)|2,{104,110,0}}, +/* 40623 */ {(12<<2)|2,{104,110,0}}, +/* 40624 */ {(12<<2)|2,{104,112,0}}, +/* 40625 */ {(12<<2)|2,{104,112,0}}, +/* 40626 */ {(12<<2)|2,{104,112,0}}, +/* 40627 */ {(12<<2)|2,{104,112,0}}, +/* 40628 */ {(12<<2)|2,{104,112,0}}, +/* 40629 */ {(12<<2)|2,{104,112,0}}, +/* 40630 */ {(12<<2)|2,{104,112,0}}, +/* 40631 */ {(12<<2)|2,{104,112,0}}, +/* 40632 */ {(12<<2)|2,{104,112,0}}, +/* 40633 */ {(12<<2)|2,{104,112,0}}, +/* 40634 */ {(12<<2)|2,{104,112,0}}, +/* 40635 */ {(12<<2)|2,{104,112,0}}, +/* 40636 */ {(12<<2)|2,{104,112,0}}, +/* 40637 */ {(12<<2)|2,{104,112,0}}, +/* 40638 */ {(12<<2)|2,{104,112,0}}, +/* 40639 */ {(12<<2)|2,{104,112,0}}, +/* 40640 */ {(12<<2)|2,{104,114,0}}, +/* 40641 */ {(12<<2)|2,{104,114,0}}, +/* 40642 */ {(12<<2)|2,{104,114,0}}, +/* 40643 */ {(12<<2)|2,{104,114,0}}, +/* 40644 */ {(12<<2)|2,{104,114,0}}, +/* 40645 */ {(12<<2)|2,{104,114,0}}, +/* 40646 */ {(12<<2)|2,{104,114,0}}, +/* 40647 */ {(12<<2)|2,{104,114,0}}, +/* 40648 */ {(12<<2)|2,{104,114,0}}, +/* 40649 */ {(12<<2)|2,{104,114,0}}, +/* 40650 */ {(12<<2)|2,{104,114,0}}, +/* 40651 */ {(12<<2)|2,{104,114,0}}, +/* 40652 */ {(12<<2)|2,{104,114,0}}, +/* 40653 */ {(12<<2)|2,{104,114,0}}, +/* 40654 */ {(12<<2)|2,{104,114,0}}, +/* 40655 */ {(12<<2)|2,{104,114,0}}, +/* 40656 */ {(12<<2)|2,{104,117,0}}, +/* 40657 */ {(12<<2)|2,{104,117,0}}, +/* 40658 */ {(12<<2)|2,{104,117,0}}, +/* 40659 */ {(12<<2)|2,{104,117,0}}, +/* 40660 */ {(12<<2)|2,{104,117,0}}, +/* 40661 */ {(12<<2)|2,{104,117,0}}, +/* 40662 */ {(12<<2)|2,{104,117,0}}, +/* 40663 */ {(12<<2)|2,{104,117,0}}, +/* 40664 */ {(12<<2)|2,{104,117,0}}, +/* 40665 */ {(12<<2)|2,{104,117,0}}, +/* 40666 */ {(12<<2)|2,{104,117,0}}, +/* 40667 */ {(12<<2)|2,{104,117,0}}, +/* 40668 */ {(12<<2)|2,{104,117,0}}, +/* 40669 */ {(12<<2)|2,{104,117,0}}, +/* 40670 */ {(12<<2)|2,{104,117,0}}, +/* 40671 */ {(12<<2)|2,{104,117,0}}, +/* 40672 */ {(13<<2)|2,{104,58,0}}, +/* 40673 */ {(13<<2)|2,{104,58,0}}, +/* 40674 */ {(13<<2)|2,{104,58,0}}, +/* 40675 */ {(13<<2)|2,{104,58,0}}, +/* 40676 */ {(13<<2)|2,{104,58,0}}, +/* 40677 */ {(13<<2)|2,{104,58,0}}, +/* 40678 */ {(13<<2)|2,{104,58,0}}, +/* 40679 */ {(13<<2)|2,{104,58,0}}, +/* 40680 */ {(13<<2)|2,{104,66,0}}, +/* 40681 */ {(13<<2)|2,{104,66,0}}, +/* 40682 */ {(13<<2)|2,{104,66,0}}, +/* 40683 */ {(13<<2)|2,{104,66,0}}, +/* 40684 */ {(13<<2)|2,{104,66,0}}, +/* 40685 */ {(13<<2)|2,{104,66,0}}, +/* 40686 */ {(13<<2)|2,{104,66,0}}, +/* 40687 */ {(13<<2)|2,{104,66,0}}, +/* 40688 */ {(13<<2)|2,{104,67,0}}, +/* 40689 */ {(13<<2)|2,{104,67,0}}, +/* 40690 */ {(13<<2)|2,{104,67,0}}, +/* 40691 */ {(13<<2)|2,{104,67,0}}, +/* 40692 */ {(13<<2)|2,{104,67,0}}, +/* 40693 */ {(13<<2)|2,{104,67,0}}, +/* 40694 */ {(13<<2)|2,{104,67,0}}, +/* 40695 */ {(13<<2)|2,{104,67,0}}, +/* 40696 */ {(13<<2)|2,{104,68,0}}, +/* 40697 */ {(13<<2)|2,{104,68,0}}, +/* 40698 */ {(13<<2)|2,{104,68,0}}, +/* 40699 */ {(13<<2)|2,{104,68,0}}, +/* 40700 */ {(13<<2)|2,{104,68,0}}, +/* 40701 */ {(13<<2)|2,{104,68,0}}, +/* 40702 */ {(13<<2)|2,{104,68,0}}, +/* 40703 */ {(13<<2)|2,{104,68,0}}, +/* 40704 */ {(13<<2)|2,{104,69,0}}, +/* 40705 */ {(13<<2)|2,{104,69,0}}, +/* 40706 */ {(13<<2)|2,{104,69,0}}, +/* 40707 */ {(13<<2)|2,{104,69,0}}, +/* 40708 */ {(13<<2)|2,{104,69,0}}, +/* 40709 */ {(13<<2)|2,{104,69,0}}, +/* 40710 */ {(13<<2)|2,{104,69,0}}, +/* 40711 */ {(13<<2)|2,{104,69,0}}, +/* 40712 */ {(13<<2)|2,{104,70,0}}, +/* 40713 */ {(13<<2)|2,{104,70,0}}, +/* 40714 */ {(13<<2)|2,{104,70,0}}, +/* 40715 */ {(13<<2)|2,{104,70,0}}, +/* 40716 */ {(13<<2)|2,{104,70,0}}, +/* 40717 */ {(13<<2)|2,{104,70,0}}, +/* 40718 */ {(13<<2)|2,{104,70,0}}, +/* 40719 */ {(13<<2)|2,{104,70,0}}, +/* 40720 */ {(13<<2)|2,{104,71,0}}, +/* 40721 */ {(13<<2)|2,{104,71,0}}, +/* 40722 */ {(13<<2)|2,{104,71,0}}, +/* 40723 */ {(13<<2)|2,{104,71,0}}, +/* 40724 */ {(13<<2)|2,{104,71,0}}, +/* 40725 */ {(13<<2)|2,{104,71,0}}, +/* 40726 */ {(13<<2)|2,{104,71,0}}, +/* 40727 */ {(13<<2)|2,{104,71,0}}, +/* 40728 */ {(13<<2)|2,{104,72,0}}, +/* 40729 */ {(13<<2)|2,{104,72,0}}, +/* 40730 */ {(13<<2)|2,{104,72,0}}, +/* 40731 */ {(13<<2)|2,{104,72,0}}, +/* 40732 */ {(13<<2)|2,{104,72,0}}, +/* 40733 */ {(13<<2)|2,{104,72,0}}, +/* 40734 */ {(13<<2)|2,{104,72,0}}, +/* 40735 */ {(13<<2)|2,{104,72,0}}, +/* 40736 */ {(13<<2)|2,{104,73,0}}, +/* 40737 */ {(13<<2)|2,{104,73,0}}, +/* 40738 */ {(13<<2)|2,{104,73,0}}, +/* 40739 */ {(13<<2)|2,{104,73,0}}, +/* 40740 */ {(13<<2)|2,{104,73,0}}, +/* 40741 */ {(13<<2)|2,{104,73,0}}, +/* 40742 */ {(13<<2)|2,{104,73,0}}, +/* 40743 */ {(13<<2)|2,{104,73,0}}, +/* 40744 */ {(13<<2)|2,{104,74,0}}, +/* 40745 */ {(13<<2)|2,{104,74,0}}, +/* 40746 */ {(13<<2)|2,{104,74,0}}, +/* 40747 */ {(13<<2)|2,{104,74,0}}, +/* 40748 */ {(13<<2)|2,{104,74,0}}, +/* 40749 */ {(13<<2)|2,{104,74,0}}, +/* 40750 */ {(13<<2)|2,{104,74,0}}, +/* 40751 */ {(13<<2)|2,{104,74,0}}, +/* 40752 */ {(13<<2)|2,{104,75,0}}, +/* 40753 */ {(13<<2)|2,{104,75,0}}, +/* 40754 */ {(13<<2)|2,{104,75,0}}, +/* 40755 */ {(13<<2)|2,{104,75,0}}, +/* 40756 */ {(13<<2)|2,{104,75,0}}, +/* 40757 */ {(13<<2)|2,{104,75,0}}, +/* 40758 */ {(13<<2)|2,{104,75,0}}, +/* 40759 */ {(13<<2)|2,{104,75,0}}, +/* 40760 */ {(13<<2)|2,{104,76,0}}, +/* 40761 */ {(13<<2)|2,{104,76,0}}, +/* 40762 */ {(13<<2)|2,{104,76,0}}, +/* 40763 */ {(13<<2)|2,{104,76,0}}, +/* 40764 */ {(13<<2)|2,{104,76,0}}, +/* 40765 */ {(13<<2)|2,{104,76,0}}, +/* 40766 */ {(13<<2)|2,{104,76,0}}, +/* 40767 */ {(13<<2)|2,{104,76,0}}, +/* 40768 */ {(13<<2)|2,{104,77,0}}, +/* 40769 */ {(13<<2)|2,{104,77,0}}, +/* 40770 */ {(13<<2)|2,{104,77,0}}, +/* 40771 */ {(13<<2)|2,{104,77,0}}, +/* 40772 */ {(13<<2)|2,{104,77,0}}, +/* 40773 */ {(13<<2)|2,{104,77,0}}, +/* 40774 */ {(13<<2)|2,{104,77,0}}, +/* 40775 */ {(13<<2)|2,{104,77,0}}, +/* 40776 */ {(13<<2)|2,{104,78,0}}, +/* 40777 */ {(13<<2)|2,{104,78,0}}, +/* 40778 */ {(13<<2)|2,{104,78,0}}, +/* 40779 */ {(13<<2)|2,{104,78,0}}, +/* 40780 */ {(13<<2)|2,{104,78,0}}, +/* 40781 */ {(13<<2)|2,{104,78,0}}, +/* 40782 */ {(13<<2)|2,{104,78,0}}, +/* 40783 */ {(13<<2)|2,{104,78,0}}, +/* 40784 */ {(13<<2)|2,{104,79,0}}, +/* 40785 */ {(13<<2)|2,{104,79,0}}, +/* 40786 */ {(13<<2)|2,{104,79,0}}, +/* 40787 */ {(13<<2)|2,{104,79,0}}, +/* 40788 */ {(13<<2)|2,{104,79,0}}, +/* 40789 */ {(13<<2)|2,{104,79,0}}, +/* 40790 */ {(13<<2)|2,{104,79,0}}, +/* 40791 */ {(13<<2)|2,{104,79,0}}, +/* 40792 */ {(13<<2)|2,{104,80,0}}, +/* 40793 */ {(13<<2)|2,{104,80,0}}, +/* 40794 */ {(13<<2)|2,{104,80,0}}, +/* 40795 */ {(13<<2)|2,{104,80,0}}, +/* 40796 */ {(13<<2)|2,{104,80,0}}, +/* 40797 */ {(13<<2)|2,{104,80,0}}, +/* 40798 */ {(13<<2)|2,{104,80,0}}, +/* 40799 */ {(13<<2)|2,{104,80,0}}, +/* 40800 */ {(13<<2)|2,{104,81,0}}, +/* 40801 */ {(13<<2)|2,{104,81,0}}, +/* 40802 */ {(13<<2)|2,{104,81,0}}, +/* 40803 */ {(13<<2)|2,{104,81,0}}, +/* 40804 */ {(13<<2)|2,{104,81,0}}, +/* 40805 */ {(13<<2)|2,{104,81,0}}, +/* 40806 */ {(13<<2)|2,{104,81,0}}, +/* 40807 */ {(13<<2)|2,{104,81,0}}, +/* 40808 */ {(13<<2)|2,{104,82,0}}, +/* 40809 */ {(13<<2)|2,{104,82,0}}, +/* 40810 */ {(13<<2)|2,{104,82,0}}, +/* 40811 */ {(13<<2)|2,{104,82,0}}, +/* 40812 */ {(13<<2)|2,{104,82,0}}, +/* 40813 */ {(13<<2)|2,{104,82,0}}, +/* 40814 */ {(13<<2)|2,{104,82,0}}, +/* 40815 */ {(13<<2)|2,{104,82,0}}, +/* 40816 */ {(13<<2)|2,{104,83,0}}, +/* 40817 */ {(13<<2)|2,{104,83,0}}, +/* 40818 */ {(13<<2)|2,{104,83,0}}, +/* 40819 */ {(13<<2)|2,{104,83,0}}, +/* 40820 */ {(13<<2)|2,{104,83,0}}, +/* 40821 */ {(13<<2)|2,{104,83,0}}, +/* 40822 */ {(13<<2)|2,{104,83,0}}, +/* 40823 */ {(13<<2)|2,{104,83,0}}, +/* 40824 */ {(13<<2)|2,{104,84,0}}, +/* 40825 */ {(13<<2)|2,{104,84,0}}, +/* 40826 */ {(13<<2)|2,{104,84,0}}, +/* 40827 */ {(13<<2)|2,{104,84,0}}, +/* 40828 */ {(13<<2)|2,{104,84,0}}, +/* 40829 */ {(13<<2)|2,{104,84,0}}, +/* 40830 */ {(13<<2)|2,{104,84,0}}, +/* 40831 */ {(13<<2)|2,{104,84,0}}, +/* 40832 */ {(13<<2)|2,{104,85,0}}, +/* 40833 */ {(13<<2)|2,{104,85,0}}, +/* 40834 */ {(13<<2)|2,{104,85,0}}, +/* 40835 */ {(13<<2)|2,{104,85,0}}, +/* 40836 */ {(13<<2)|2,{104,85,0}}, +/* 40837 */ {(13<<2)|2,{104,85,0}}, +/* 40838 */ {(13<<2)|2,{104,85,0}}, +/* 40839 */ {(13<<2)|2,{104,85,0}}, +/* 40840 */ {(13<<2)|2,{104,86,0}}, +/* 40841 */ {(13<<2)|2,{104,86,0}}, +/* 40842 */ {(13<<2)|2,{104,86,0}}, +/* 40843 */ {(13<<2)|2,{104,86,0}}, +/* 40844 */ {(13<<2)|2,{104,86,0}}, +/* 40845 */ {(13<<2)|2,{104,86,0}}, +/* 40846 */ {(13<<2)|2,{104,86,0}}, +/* 40847 */ {(13<<2)|2,{104,86,0}}, +/* 40848 */ {(13<<2)|2,{104,87,0}}, +/* 40849 */ {(13<<2)|2,{104,87,0}}, +/* 40850 */ {(13<<2)|2,{104,87,0}}, +/* 40851 */ {(13<<2)|2,{104,87,0}}, +/* 40852 */ {(13<<2)|2,{104,87,0}}, +/* 40853 */ {(13<<2)|2,{104,87,0}}, +/* 40854 */ {(13<<2)|2,{104,87,0}}, +/* 40855 */ {(13<<2)|2,{104,87,0}}, +/* 40856 */ {(13<<2)|2,{104,89,0}}, +/* 40857 */ {(13<<2)|2,{104,89,0}}, +/* 40858 */ {(13<<2)|2,{104,89,0}}, +/* 40859 */ {(13<<2)|2,{104,89,0}}, +/* 40860 */ {(13<<2)|2,{104,89,0}}, +/* 40861 */ {(13<<2)|2,{104,89,0}}, +/* 40862 */ {(13<<2)|2,{104,89,0}}, +/* 40863 */ {(13<<2)|2,{104,89,0}}, +/* 40864 */ {(13<<2)|2,{104,106,0}}, +/* 40865 */ {(13<<2)|2,{104,106,0}}, +/* 40866 */ {(13<<2)|2,{104,106,0}}, +/* 40867 */ {(13<<2)|2,{104,106,0}}, +/* 40868 */ {(13<<2)|2,{104,106,0}}, +/* 40869 */ {(13<<2)|2,{104,106,0}}, +/* 40870 */ {(13<<2)|2,{104,106,0}}, +/* 40871 */ {(13<<2)|2,{104,106,0}}, +/* 40872 */ {(13<<2)|2,{104,107,0}}, +/* 40873 */ {(13<<2)|2,{104,107,0}}, +/* 40874 */ {(13<<2)|2,{104,107,0}}, +/* 40875 */ {(13<<2)|2,{104,107,0}}, +/* 40876 */ {(13<<2)|2,{104,107,0}}, +/* 40877 */ {(13<<2)|2,{104,107,0}}, +/* 40878 */ {(13<<2)|2,{104,107,0}}, +/* 40879 */ {(13<<2)|2,{104,107,0}}, +/* 40880 */ {(13<<2)|2,{104,113,0}}, +/* 40881 */ {(13<<2)|2,{104,113,0}}, +/* 40882 */ {(13<<2)|2,{104,113,0}}, +/* 40883 */ {(13<<2)|2,{104,113,0}}, +/* 40884 */ {(13<<2)|2,{104,113,0}}, +/* 40885 */ {(13<<2)|2,{104,113,0}}, +/* 40886 */ {(13<<2)|2,{104,113,0}}, +/* 40887 */ {(13<<2)|2,{104,113,0}}, +/* 40888 */ {(13<<2)|2,{104,118,0}}, +/* 40889 */ {(13<<2)|2,{104,118,0}}, +/* 40890 */ {(13<<2)|2,{104,118,0}}, +/* 40891 */ {(13<<2)|2,{104,118,0}}, +/* 40892 */ {(13<<2)|2,{104,118,0}}, +/* 40893 */ {(13<<2)|2,{104,118,0}}, +/* 40894 */ {(13<<2)|2,{104,118,0}}, +/* 40895 */ {(13<<2)|2,{104,118,0}}, +/* 40896 */ {(13<<2)|2,{104,119,0}}, +/* 40897 */ {(13<<2)|2,{104,119,0}}, +/* 40898 */ {(13<<2)|2,{104,119,0}}, +/* 40899 */ {(13<<2)|2,{104,119,0}}, +/* 40900 */ {(13<<2)|2,{104,119,0}}, +/* 40901 */ {(13<<2)|2,{104,119,0}}, +/* 40902 */ {(13<<2)|2,{104,119,0}}, +/* 40903 */ {(13<<2)|2,{104,119,0}}, +/* 40904 */ {(13<<2)|2,{104,120,0}}, +/* 40905 */ {(13<<2)|2,{104,120,0}}, +/* 40906 */ {(13<<2)|2,{104,120,0}}, +/* 40907 */ {(13<<2)|2,{104,120,0}}, +/* 40908 */ {(13<<2)|2,{104,120,0}}, +/* 40909 */ {(13<<2)|2,{104,120,0}}, +/* 40910 */ {(13<<2)|2,{104,120,0}}, +/* 40911 */ {(13<<2)|2,{104,120,0}}, +/* 40912 */ {(13<<2)|2,{104,121,0}}, +/* 40913 */ {(13<<2)|2,{104,121,0}}, +/* 40914 */ {(13<<2)|2,{104,121,0}}, +/* 40915 */ {(13<<2)|2,{104,121,0}}, +/* 40916 */ {(13<<2)|2,{104,121,0}}, +/* 40917 */ {(13<<2)|2,{104,121,0}}, +/* 40918 */ {(13<<2)|2,{104,121,0}}, +/* 40919 */ {(13<<2)|2,{104,121,0}}, +/* 40920 */ {(13<<2)|2,{104,122,0}}, +/* 40921 */ {(13<<2)|2,{104,122,0}}, +/* 40922 */ {(13<<2)|2,{104,122,0}}, +/* 40923 */ {(13<<2)|2,{104,122,0}}, +/* 40924 */ {(13<<2)|2,{104,122,0}}, +/* 40925 */ {(13<<2)|2,{104,122,0}}, +/* 40926 */ {(13<<2)|2,{104,122,0}}, +/* 40927 */ {(13<<2)|2,{104,122,0}}, +/* 40928 */ {(14<<2)|2,{104,38,0}}, +/* 40929 */ {(14<<2)|2,{104,38,0}}, +/* 40930 */ {(14<<2)|2,{104,38,0}}, +/* 40931 */ {(14<<2)|2,{104,38,0}}, +/* 40932 */ {(14<<2)|2,{104,42,0}}, +/* 40933 */ {(14<<2)|2,{104,42,0}}, +/* 40934 */ {(14<<2)|2,{104,42,0}}, +/* 40935 */ {(14<<2)|2,{104,42,0}}, +/* 40936 */ {(14<<2)|2,{104,44,0}}, +/* 40937 */ {(14<<2)|2,{104,44,0}}, +/* 40938 */ {(14<<2)|2,{104,44,0}}, +/* 40939 */ {(14<<2)|2,{104,44,0}}, +/* 40940 */ {(14<<2)|2,{104,59,0}}, +/* 40941 */ {(14<<2)|2,{104,59,0}}, +/* 40942 */ {(14<<2)|2,{104,59,0}}, +/* 40943 */ {(14<<2)|2,{104,59,0}}, +/* 40944 */ {(14<<2)|2,{104,88,0}}, +/* 40945 */ {(14<<2)|2,{104,88,0}}, +/* 40946 */ {(14<<2)|2,{104,88,0}}, +/* 40947 */ {(14<<2)|2,{104,88,0}}, +/* 40948 */ {(14<<2)|2,{104,90,0}}, +/* 40949 */ {(14<<2)|2,{104,90,0}}, +/* 40950 */ {(14<<2)|2,{104,90,0}}, +/* 40951 */ {(14<<2)|2,{104,90,0}}, +/* 40952 */ {(16<<2)|2,{104,33,0}}, +/* 40953 */ {(16<<2)|2,{104,34,0}}, +/* 40954 */ {(16<<2)|2,{104,40,0}}, +/* 40955 */ {(16<<2)|2,{104,41,0}}, +/* 40956 */ {(16<<2)|2,{104,63,0}}, +/* 40957 */ {(6<<2)|1,{104,0,0}}, +/* 40958 */ {(6<<2)|1,{104,0,0}}, +/* 40959 */ {(6<<2)|1,{104,0,0}}, +/* 40960 */ {(16<<2)|3,{108,48,48}}, +/* 40961 */ {(16<<2)|3,{108,48,49}}, +/* 40962 */ {(16<<2)|3,{108,48,50}}, +/* 40963 */ {(16<<2)|3,{108,48,97}}, +/* 40964 */ {(16<<2)|3,{108,48,99}}, +/* 40965 */ {(16<<2)|3,{108,48,101}}, +/* 40966 */ {(16<<2)|3,{108,48,105}}, +/* 40967 */ {(16<<2)|3,{108,48,111}}, +/* 40968 */ {(16<<2)|3,{108,48,115}}, +/* 40969 */ {(16<<2)|3,{108,48,116}}, +/* 40970 */ {(11<<2)|2,{108,48,0}}, +/* 40971 */ {(11<<2)|2,{108,48,0}}, +/* 40972 */ {(11<<2)|2,{108,48,0}}, +/* 40973 */ {(11<<2)|2,{108,48,0}}, +/* 40974 */ {(11<<2)|2,{108,48,0}}, +/* 40975 */ {(11<<2)|2,{108,48,0}}, +/* 40976 */ {(11<<2)|2,{108,48,0}}, +/* 40977 */ {(11<<2)|2,{108,48,0}}, +/* 40978 */ {(11<<2)|2,{108,48,0}}, +/* 40979 */ {(11<<2)|2,{108,48,0}}, +/* 40980 */ {(11<<2)|2,{108,48,0}}, +/* 40981 */ {(11<<2)|2,{108,48,0}}, +/* 40982 */ {(11<<2)|2,{108,48,0}}, +/* 40983 */ {(11<<2)|2,{108,48,0}}, +/* 40984 */ {(11<<2)|2,{108,48,0}}, +/* 40985 */ {(11<<2)|2,{108,48,0}}, +/* 40986 */ {(11<<2)|2,{108,48,0}}, +/* 40987 */ {(11<<2)|2,{108,48,0}}, +/* 40988 */ {(11<<2)|2,{108,48,0}}, +/* 40989 */ {(11<<2)|2,{108,48,0}}, +/* 40990 */ {(11<<2)|2,{108,48,0}}, +/* 40991 */ {(11<<2)|2,{108,48,0}}, +/* 40992 */ {(16<<2)|3,{108,49,48}}, +/* 40993 */ {(16<<2)|3,{108,49,49}}, +/* 40994 */ {(16<<2)|3,{108,49,50}}, +/* 40995 */ {(16<<2)|3,{108,49,97}}, +/* 40996 */ {(16<<2)|3,{108,49,99}}, +/* 40997 */ {(16<<2)|3,{108,49,101}}, +/* 40998 */ {(16<<2)|3,{108,49,105}}, +/* 40999 */ {(16<<2)|3,{108,49,111}}, +/* 41000 */ {(16<<2)|3,{108,49,115}}, +/* 41001 */ {(16<<2)|3,{108,49,116}}, +/* 41002 */ {(11<<2)|2,{108,49,0}}, +/* 41003 */ {(11<<2)|2,{108,49,0}}, +/* 41004 */ {(11<<2)|2,{108,49,0}}, +/* 41005 */ {(11<<2)|2,{108,49,0}}, +/* 41006 */ {(11<<2)|2,{108,49,0}}, +/* 41007 */ {(11<<2)|2,{108,49,0}}, +/* 41008 */ {(11<<2)|2,{108,49,0}}, +/* 41009 */ {(11<<2)|2,{108,49,0}}, +/* 41010 */ {(11<<2)|2,{108,49,0}}, +/* 41011 */ {(11<<2)|2,{108,49,0}}, +/* 41012 */ {(11<<2)|2,{108,49,0}}, +/* 41013 */ {(11<<2)|2,{108,49,0}}, +/* 41014 */ {(11<<2)|2,{108,49,0}}, +/* 41015 */ {(11<<2)|2,{108,49,0}}, +/* 41016 */ {(11<<2)|2,{108,49,0}}, +/* 41017 */ {(11<<2)|2,{108,49,0}}, +/* 41018 */ {(11<<2)|2,{108,49,0}}, +/* 41019 */ {(11<<2)|2,{108,49,0}}, +/* 41020 */ {(11<<2)|2,{108,49,0}}, +/* 41021 */ {(11<<2)|2,{108,49,0}}, +/* 41022 */ {(11<<2)|2,{108,49,0}}, +/* 41023 */ {(11<<2)|2,{108,49,0}}, +/* 41024 */ {(16<<2)|3,{108,50,48}}, +/* 41025 */ {(16<<2)|3,{108,50,49}}, +/* 41026 */ {(16<<2)|3,{108,50,50}}, +/* 41027 */ {(16<<2)|3,{108,50,97}}, +/* 41028 */ {(16<<2)|3,{108,50,99}}, +/* 41029 */ {(16<<2)|3,{108,50,101}}, +/* 41030 */ {(16<<2)|3,{108,50,105}}, +/* 41031 */ {(16<<2)|3,{108,50,111}}, +/* 41032 */ {(16<<2)|3,{108,50,115}}, +/* 41033 */ {(16<<2)|3,{108,50,116}}, +/* 41034 */ {(11<<2)|2,{108,50,0}}, +/* 41035 */ {(11<<2)|2,{108,50,0}}, +/* 41036 */ {(11<<2)|2,{108,50,0}}, +/* 41037 */ {(11<<2)|2,{108,50,0}}, +/* 41038 */ {(11<<2)|2,{108,50,0}}, +/* 41039 */ {(11<<2)|2,{108,50,0}}, +/* 41040 */ {(11<<2)|2,{108,50,0}}, +/* 41041 */ {(11<<2)|2,{108,50,0}}, +/* 41042 */ {(11<<2)|2,{108,50,0}}, +/* 41043 */ {(11<<2)|2,{108,50,0}}, +/* 41044 */ {(11<<2)|2,{108,50,0}}, +/* 41045 */ {(11<<2)|2,{108,50,0}}, +/* 41046 */ {(11<<2)|2,{108,50,0}}, +/* 41047 */ {(11<<2)|2,{108,50,0}}, +/* 41048 */ {(11<<2)|2,{108,50,0}}, +/* 41049 */ {(11<<2)|2,{108,50,0}}, +/* 41050 */ {(11<<2)|2,{108,50,0}}, +/* 41051 */ {(11<<2)|2,{108,50,0}}, +/* 41052 */ {(11<<2)|2,{108,50,0}}, +/* 41053 */ {(11<<2)|2,{108,50,0}}, +/* 41054 */ {(11<<2)|2,{108,50,0}}, +/* 41055 */ {(11<<2)|2,{108,50,0}}, +/* 41056 */ {(16<<2)|3,{108,97,48}}, +/* 41057 */ {(16<<2)|3,{108,97,49}}, +/* 41058 */ {(16<<2)|3,{108,97,50}}, +/* 41059 */ {(16<<2)|3,{108,97,97}}, +/* 41060 */ {(16<<2)|3,{108,97,99}}, +/* 41061 */ {(16<<2)|3,{108,97,101}}, +/* 41062 */ {(16<<2)|3,{108,97,105}}, +/* 41063 */ {(16<<2)|3,{108,97,111}}, +/* 41064 */ {(16<<2)|3,{108,97,115}}, +/* 41065 */ {(16<<2)|3,{108,97,116}}, +/* 41066 */ {(11<<2)|2,{108,97,0}}, +/* 41067 */ {(11<<2)|2,{108,97,0}}, +/* 41068 */ {(11<<2)|2,{108,97,0}}, +/* 41069 */ {(11<<2)|2,{108,97,0}}, +/* 41070 */ {(11<<2)|2,{108,97,0}}, +/* 41071 */ {(11<<2)|2,{108,97,0}}, +/* 41072 */ {(11<<2)|2,{108,97,0}}, +/* 41073 */ {(11<<2)|2,{108,97,0}}, +/* 41074 */ {(11<<2)|2,{108,97,0}}, +/* 41075 */ {(11<<2)|2,{108,97,0}}, +/* 41076 */ {(11<<2)|2,{108,97,0}}, +/* 41077 */ {(11<<2)|2,{108,97,0}}, +/* 41078 */ {(11<<2)|2,{108,97,0}}, +/* 41079 */ {(11<<2)|2,{108,97,0}}, +/* 41080 */ {(11<<2)|2,{108,97,0}}, +/* 41081 */ {(11<<2)|2,{108,97,0}}, +/* 41082 */ {(11<<2)|2,{108,97,0}}, +/* 41083 */ {(11<<2)|2,{108,97,0}}, +/* 41084 */ {(11<<2)|2,{108,97,0}}, +/* 41085 */ {(11<<2)|2,{108,97,0}}, +/* 41086 */ {(11<<2)|2,{108,97,0}}, +/* 41087 */ {(11<<2)|2,{108,97,0}}, +/* 41088 */ {(16<<2)|3,{108,99,48}}, +/* 41089 */ {(16<<2)|3,{108,99,49}}, +/* 41090 */ {(16<<2)|3,{108,99,50}}, +/* 41091 */ {(16<<2)|3,{108,99,97}}, +/* 41092 */ {(16<<2)|3,{108,99,99}}, +/* 41093 */ {(16<<2)|3,{108,99,101}}, +/* 41094 */ {(16<<2)|3,{108,99,105}}, +/* 41095 */ {(16<<2)|3,{108,99,111}}, +/* 41096 */ {(16<<2)|3,{108,99,115}}, +/* 41097 */ {(16<<2)|3,{108,99,116}}, +/* 41098 */ {(11<<2)|2,{108,99,0}}, +/* 41099 */ {(11<<2)|2,{108,99,0}}, +/* 41100 */ {(11<<2)|2,{108,99,0}}, +/* 41101 */ {(11<<2)|2,{108,99,0}}, +/* 41102 */ {(11<<2)|2,{108,99,0}}, +/* 41103 */ {(11<<2)|2,{108,99,0}}, +/* 41104 */ {(11<<2)|2,{108,99,0}}, +/* 41105 */ {(11<<2)|2,{108,99,0}}, +/* 41106 */ {(11<<2)|2,{108,99,0}}, +/* 41107 */ {(11<<2)|2,{108,99,0}}, +/* 41108 */ {(11<<2)|2,{108,99,0}}, +/* 41109 */ {(11<<2)|2,{108,99,0}}, +/* 41110 */ {(11<<2)|2,{108,99,0}}, +/* 41111 */ {(11<<2)|2,{108,99,0}}, +/* 41112 */ {(11<<2)|2,{108,99,0}}, +/* 41113 */ {(11<<2)|2,{108,99,0}}, +/* 41114 */ {(11<<2)|2,{108,99,0}}, +/* 41115 */ {(11<<2)|2,{108,99,0}}, +/* 41116 */ {(11<<2)|2,{108,99,0}}, +/* 41117 */ {(11<<2)|2,{108,99,0}}, +/* 41118 */ {(11<<2)|2,{108,99,0}}, +/* 41119 */ {(11<<2)|2,{108,99,0}}, +/* 41120 */ {(16<<2)|3,{108,101,48}}, +/* 41121 */ {(16<<2)|3,{108,101,49}}, +/* 41122 */ {(16<<2)|3,{108,101,50}}, +/* 41123 */ {(16<<2)|3,{108,101,97}}, +/* 41124 */ {(16<<2)|3,{108,101,99}}, +/* 41125 */ {(16<<2)|3,{108,101,101}}, +/* 41126 */ {(16<<2)|3,{108,101,105}}, +/* 41127 */ {(16<<2)|3,{108,101,111}}, +/* 41128 */ {(16<<2)|3,{108,101,115}}, +/* 41129 */ {(16<<2)|3,{108,101,116}}, +/* 41130 */ {(11<<2)|2,{108,101,0}}, +/* 41131 */ {(11<<2)|2,{108,101,0}}, +/* 41132 */ {(11<<2)|2,{108,101,0}}, +/* 41133 */ {(11<<2)|2,{108,101,0}}, +/* 41134 */ {(11<<2)|2,{108,101,0}}, +/* 41135 */ {(11<<2)|2,{108,101,0}}, +/* 41136 */ {(11<<2)|2,{108,101,0}}, +/* 41137 */ {(11<<2)|2,{108,101,0}}, +/* 41138 */ {(11<<2)|2,{108,101,0}}, +/* 41139 */ {(11<<2)|2,{108,101,0}}, +/* 41140 */ {(11<<2)|2,{108,101,0}}, +/* 41141 */ {(11<<2)|2,{108,101,0}}, +/* 41142 */ {(11<<2)|2,{108,101,0}}, +/* 41143 */ {(11<<2)|2,{108,101,0}}, +/* 41144 */ {(11<<2)|2,{108,101,0}}, +/* 41145 */ {(11<<2)|2,{108,101,0}}, +/* 41146 */ {(11<<2)|2,{108,101,0}}, +/* 41147 */ {(11<<2)|2,{108,101,0}}, +/* 41148 */ {(11<<2)|2,{108,101,0}}, +/* 41149 */ {(11<<2)|2,{108,101,0}}, +/* 41150 */ {(11<<2)|2,{108,101,0}}, +/* 41151 */ {(11<<2)|2,{108,101,0}}, +/* 41152 */ {(16<<2)|3,{108,105,48}}, +/* 41153 */ {(16<<2)|3,{108,105,49}}, +/* 41154 */ {(16<<2)|3,{108,105,50}}, +/* 41155 */ {(16<<2)|3,{108,105,97}}, +/* 41156 */ {(16<<2)|3,{108,105,99}}, +/* 41157 */ {(16<<2)|3,{108,105,101}}, +/* 41158 */ {(16<<2)|3,{108,105,105}}, +/* 41159 */ {(16<<2)|3,{108,105,111}}, +/* 41160 */ {(16<<2)|3,{108,105,115}}, +/* 41161 */ {(16<<2)|3,{108,105,116}}, +/* 41162 */ {(11<<2)|2,{108,105,0}}, +/* 41163 */ {(11<<2)|2,{108,105,0}}, +/* 41164 */ {(11<<2)|2,{108,105,0}}, +/* 41165 */ {(11<<2)|2,{108,105,0}}, +/* 41166 */ {(11<<2)|2,{108,105,0}}, +/* 41167 */ {(11<<2)|2,{108,105,0}}, +/* 41168 */ {(11<<2)|2,{108,105,0}}, +/* 41169 */ {(11<<2)|2,{108,105,0}}, +/* 41170 */ {(11<<2)|2,{108,105,0}}, +/* 41171 */ {(11<<2)|2,{108,105,0}}, +/* 41172 */ {(11<<2)|2,{108,105,0}}, +/* 41173 */ {(11<<2)|2,{108,105,0}}, +/* 41174 */ {(11<<2)|2,{108,105,0}}, +/* 41175 */ {(11<<2)|2,{108,105,0}}, +/* 41176 */ {(11<<2)|2,{108,105,0}}, +/* 41177 */ {(11<<2)|2,{108,105,0}}, +/* 41178 */ {(11<<2)|2,{108,105,0}}, +/* 41179 */ {(11<<2)|2,{108,105,0}}, +/* 41180 */ {(11<<2)|2,{108,105,0}}, +/* 41181 */ {(11<<2)|2,{108,105,0}}, +/* 41182 */ {(11<<2)|2,{108,105,0}}, +/* 41183 */ {(11<<2)|2,{108,105,0}}, +/* 41184 */ {(16<<2)|3,{108,111,48}}, +/* 41185 */ {(16<<2)|3,{108,111,49}}, +/* 41186 */ {(16<<2)|3,{108,111,50}}, +/* 41187 */ {(16<<2)|3,{108,111,97}}, +/* 41188 */ {(16<<2)|3,{108,111,99}}, +/* 41189 */ {(16<<2)|3,{108,111,101}}, +/* 41190 */ {(16<<2)|3,{108,111,105}}, +/* 41191 */ {(16<<2)|3,{108,111,111}}, +/* 41192 */ {(16<<2)|3,{108,111,115}}, +/* 41193 */ {(16<<2)|3,{108,111,116}}, +/* 41194 */ {(11<<2)|2,{108,111,0}}, +/* 41195 */ {(11<<2)|2,{108,111,0}}, +/* 41196 */ {(11<<2)|2,{108,111,0}}, +/* 41197 */ {(11<<2)|2,{108,111,0}}, +/* 41198 */ {(11<<2)|2,{108,111,0}}, +/* 41199 */ {(11<<2)|2,{108,111,0}}, +/* 41200 */ {(11<<2)|2,{108,111,0}}, +/* 41201 */ {(11<<2)|2,{108,111,0}}, +/* 41202 */ {(11<<2)|2,{108,111,0}}, +/* 41203 */ {(11<<2)|2,{108,111,0}}, +/* 41204 */ {(11<<2)|2,{108,111,0}}, +/* 41205 */ {(11<<2)|2,{108,111,0}}, +/* 41206 */ {(11<<2)|2,{108,111,0}}, +/* 41207 */ {(11<<2)|2,{108,111,0}}, +/* 41208 */ {(11<<2)|2,{108,111,0}}, +/* 41209 */ {(11<<2)|2,{108,111,0}}, +/* 41210 */ {(11<<2)|2,{108,111,0}}, +/* 41211 */ {(11<<2)|2,{108,111,0}}, +/* 41212 */ {(11<<2)|2,{108,111,0}}, +/* 41213 */ {(11<<2)|2,{108,111,0}}, +/* 41214 */ {(11<<2)|2,{108,111,0}}, +/* 41215 */ {(11<<2)|2,{108,111,0}}, +/* 41216 */ {(16<<2)|3,{108,115,48}}, +/* 41217 */ {(16<<2)|3,{108,115,49}}, +/* 41218 */ {(16<<2)|3,{108,115,50}}, +/* 41219 */ {(16<<2)|3,{108,115,97}}, +/* 41220 */ {(16<<2)|3,{108,115,99}}, +/* 41221 */ {(16<<2)|3,{108,115,101}}, +/* 41222 */ {(16<<2)|3,{108,115,105}}, +/* 41223 */ {(16<<2)|3,{108,115,111}}, +/* 41224 */ {(16<<2)|3,{108,115,115}}, +/* 41225 */ {(16<<2)|3,{108,115,116}}, +/* 41226 */ {(11<<2)|2,{108,115,0}}, +/* 41227 */ {(11<<2)|2,{108,115,0}}, +/* 41228 */ {(11<<2)|2,{108,115,0}}, +/* 41229 */ {(11<<2)|2,{108,115,0}}, +/* 41230 */ {(11<<2)|2,{108,115,0}}, +/* 41231 */ {(11<<2)|2,{108,115,0}}, +/* 41232 */ {(11<<2)|2,{108,115,0}}, +/* 41233 */ {(11<<2)|2,{108,115,0}}, +/* 41234 */ {(11<<2)|2,{108,115,0}}, +/* 41235 */ {(11<<2)|2,{108,115,0}}, +/* 41236 */ {(11<<2)|2,{108,115,0}}, +/* 41237 */ {(11<<2)|2,{108,115,0}}, +/* 41238 */ {(11<<2)|2,{108,115,0}}, +/* 41239 */ {(11<<2)|2,{108,115,0}}, +/* 41240 */ {(11<<2)|2,{108,115,0}}, +/* 41241 */ {(11<<2)|2,{108,115,0}}, +/* 41242 */ {(11<<2)|2,{108,115,0}}, +/* 41243 */ {(11<<2)|2,{108,115,0}}, +/* 41244 */ {(11<<2)|2,{108,115,0}}, +/* 41245 */ {(11<<2)|2,{108,115,0}}, +/* 41246 */ {(11<<2)|2,{108,115,0}}, +/* 41247 */ {(11<<2)|2,{108,115,0}}, +/* 41248 */ {(16<<2)|3,{108,116,48}}, +/* 41249 */ {(16<<2)|3,{108,116,49}}, +/* 41250 */ {(16<<2)|3,{108,116,50}}, +/* 41251 */ {(16<<2)|3,{108,116,97}}, +/* 41252 */ {(16<<2)|3,{108,116,99}}, +/* 41253 */ {(16<<2)|3,{108,116,101}}, +/* 41254 */ {(16<<2)|3,{108,116,105}}, +/* 41255 */ {(16<<2)|3,{108,116,111}}, +/* 41256 */ {(16<<2)|3,{108,116,115}}, +/* 41257 */ {(16<<2)|3,{108,116,116}}, +/* 41258 */ {(11<<2)|2,{108,116,0}}, +/* 41259 */ {(11<<2)|2,{108,116,0}}, +/* 41260 */ {(11<<2)|2,{108,116,0}}, +/* 41261 */ {(11<<2)|2,{108,116,0}}, +/* 41262 */ {(11<<2)|2,{108,116,0}}, +/* 41263 */ {(11<<2)|2,{108,116,0}}, +/* 41264 */ {(11<<2)|2,{108,116,0}}, +/* 41265 */ {(11<<2)|2,{108,116,0}}, +/* 41266 */ {(11<<2)|2,{108,116,0}}, +/* 41267 */ {(11<<2)|2,{108,116,0}}, +/* 41268 */ {(11<<2)|2,{108,116,0}}, +/* 41269 */ {(11<<2)|2,{108,116,0}}, +/* 41270 */ {(11<<2)|2,{108,116,0}}, +/* 41271 */ {(11<<2)|2,{108,116,0}}, +/* 41272 */ {(11<<2)|2,{108,116,0}}, +/* 41273 */ {(11<<2)|2,{108,116,0}}, +/* 41274 */ {(11<<2)|2,{108,116,0}}, +/* 41275 */ {(11<<2)|2,{108,116,0}}, +/* 41276 */ {(11<<2)|2,{108,116,0}}, +/* 41277 */ {(11<<2)|2,{108,116,0}}, +/* 41278 */ {(11<<2)|2,{108,116,0}}, +/* 41279 */ {(11<<2)|2,{108,116,0}}, +/* 41280 */ {(12<<2)|2,{108,32,0}}, +/* 41281 */ {(12<<2)|2,{108,32,0}}, +/* 41282 */ {(12<<2)|2,{108,32,0}}, +/* 41283 */ {(12<<2)|2,{108,32,0}}, +/* 41284 */ {(12<<2)|2,{108,32,0}}, +/* 41285 */ {(12<<2)|2,{108,32,0}}, +/* 41286 */ {(12<<2)|2,{108,32,0}}, +/* 41287 */ {(12<<2)|2,{108,32,0}}, +/* 41288 */ {(12<<2)|2,{108,32,0}}, +/* 41289 */ {(12<<2)|2,{108,32,0}}, +/* 41290 */ {(12<<2)|2,{108,32,0}}, +/* 41291 */ {(12<<2)|2,{108,32,0}}, +/* 41292 */ {(12<<2)|2,{108,32,0}}, +/* 41293 */ {(12<<2)|2,{108,32,0}}, +/* 41294 */ {(12<<2)|2,{108,32,0}}, +/* 41295 */ {(12<<2)|2,{108,32,0}}, +/* 41296 */ {(12<<2)|2,{108,37,0}}, +/* 41297 */ {(12<<2)|2,{108,37,0}}, +/* 41298 */ {(12<<2)|2,{108,37,0}}, +/* 41299 */ {(12<<2)|2,{108,37,0}}, +/* 41300 */ {(12<<2)|2,{108,37,0}}, +/* 41301 */ {(12<<2)|2,{108,37,0}}, +/* 41302 */ {(12<<2)|2,{108,37,0}}, +/* 41303 */ {(12<<2)|2,{108,37,0}}, +/* 41304 */ {(12<<2)|2,{108,37,0}}, +/* 41305 */ {(12<<2)|2,{108,37,0}}, +/* 41306 */ {(12<<2)|2,{108,37,0}}, +/* 41307 */ {(12<<2)|2,{108,37,0}}, +/* 41308 */ {(12<<2)|2,{108,37,0}}, +/* 41309 */ {(12<<2)|2,{108,37,0}}, +/* 41310 */ {(12<<2)|2,{108,37,0}}, +/* 41311 */ {(12<<2)|2,{108,37,0}}, +/* 41312 */ {(12<<2)|2,{108,45,0}}, +/* 41313 */ {(12<<2)|2,{108,45,0}}, +/* 41314 */ {(12<<2)|2,{108,45,0}}, +/* 41315 */ {(12<<2)|2,{108,45,0}}, +/* 41316 */ {(12<<2)|2,{108,45,0}}, +/* 41317 */ {(12<<2)|2,{108,45,0}}, +/* 41318 */ {(12<<2)|2,{108,45,0}}, +/* 41319 */ {(12<<2)|2,{108,45,0}}, +/* 41320 */ {(12<<2)|2,{108,45,0}}, +/* 41321 */ {(12<<2)|2,{108,45,0}}, +/* 41322 */ {(12<<2)|2,{108,45,0}}, +/* 41323 */ {(12<<2)|2,{108,45,0}}, +/* 41324 */ {(12<<2)|2,{108,45,0}}, +/* 41325 */ {(12<<2)|2,{108,45,0}}, +/* 41326 */ {(12<<2)|2,{108,45,0}}, +/* 41327 */ {(12<<2)|2,{108,45,0}}, +/* 41328 */ {(12<<2)|2,{108,46,0}}, +/* 41329 */ {(12<<2)|2,{108,46,0}}, +/* 41330 */ {(12<<2)|2,{108,46,0}}, +/* 41331 */ {(12<<2)|2,{108,46,0}}, +/* 41332 */ {(12<<2)|2,{108,46,0}}, +/* 41333 */ {(12<<2)|2,{108,46,0}}, +/* 41334 */ {(12<<2)|2,{108,46,0}}, +/* 41335 */ {(12<<2)|2,{108,46,0}}, +/* 41336 */ {(12<<2)|2,{108,46,0}}, +/* 41337 */ {(12<<2)|2,{108,46,0}}, +/* 41338 */ {(12<<2)|2,{108,46,0}}, +/* 41339 */ {(12<<2)|2,{108,46,0}}, +/* 41340 */ {(12<<2)|2,{108,46,0}}, +/* 41341 */ {(12<<2)|2,{108,46,0}}, +/* 41342 */ {(12<<2)|2,{108,46,0}}, +/* 41343 */ {(12<<2)|2,{108,46,0}}, +/* 41344 */ {(12<<2)|2,{108,47,0}}, +/* 41345 */ {(12<<2)|2,{108,47,0}}, +/* 41346 */ {(12<<2)|2,{108,47,0}}, +/* 41347 */ {(12<<2)|2,{108,47,0}}, +/* 41348 */ {(12<<2)|2,{108,47,0}}, +/* 41349 */ {(12<<2)|2,{108,47,0}}, +/* 41350 */ {(12<<2)|2,{108,47,0}}, +/* 41351 */ {(12<<2)|2,{108,47,0}}, +/* 41352 */ {(12<<2)|2,{108,47,0}}, +/* 41353 */ {(12<<2)|2,{108,47,0}}, +/* 41354 */ {(12<<2)|2,{108,47,0}}, +/* 41355 */ {(12<<2)|2,{108,47,0}}, +/* 41356 */ {(12<<2)|2,{108,47,0}}, +/* 41357 */ {(12<<2)|2,{108,47,0}}, +/* 41358 */ {(12<<2)|2,{108,47,0}}, +/* 41359 */ {(12<<2)|2,{108,47,0}}, +/* 41360 */ {(12<<2)|2,{108,51,0}}, +/* 41361 */ {(12<<2)|2,{108,51,0}}, +/* 41362 */ {(12<<2)|2,{108,51,0}}, +/* 41363 */ {(12<<2)|2,{108,51,0}}, +/* 41364 */ {(12<<2)|2,{108,51,0}}, +/* 41365 */ {(12<<2)|2,{108,51,0}}, +/* 41366 */ {(12<<2)|2,{108,51,0}}, +/* 41367 */ {(12<<2)|2,{108,51,0}}, +/* 41368 */ {(12<<2)|2,{108,51,0}}, +/* 41369 */ {(12<<2)|2,{108,51,0}}, +/* 41370 */ {(12<<2)|2,{108,51,0}}, +/* 41371 */ {(12<<2)|2,{108,51,0}}, +/* 41372 */ {(12<<2)|2,{108,51,0}}, +/* 41373 */ {(12<<2)|2,{108,51,0}}, +/* 41374 */ {(12<<2)|2,{108,51,0}}, +/* 41375 */ {(12<<2)|2,{108,51,0}}, +/* 41376 */ {(12<<2)|2,{108,52,0}}, +/* 41377 */ {(12<<2)|2,{108,52,0}}, +/* 41378 */ {(12<<2)|2,{108,52,0}}, +/* 41379 */ {(12<<2)|2,{108,52,0}}, +/* 41380 */ {(12<<2)|2,{108,52,0}}, +/* 41381 */ {(12<<2)|2,{108,52,0}}, +/* 41382 */ {(12<<2)|2,{108,52,0}}, +/* 41383 */ {(12<<2)|2,{108,52,0}}, +/* 41384 */ {(12<<2)|2,{108,52,0}}, +/* 41385 */ {(12<<2)|2,{108,52,0}}, +/* 41386 */ {(12<<2)|2,{108,52,0}}, +/* 41387 */ {(12<<2)|2,{108,52,0}}, +/* 41388 */ {(12<<2)|2,{108,52,0}}, +/* 41389 */ {(12<<2)|2,{108,52,0}}, +/* 41390 */ {(12<<2)|2,{108,52,0}}, +/* 41391 */ {(12<<2)|2,{108,52,0}}, +/* 41392 */ {(12<<2)|2,{108,53,0}}, +/* 41393 */ {(12<<2)|2,{108,53,0}}, +/* 41394 */ {(12<<2)|2,{108,53,0}}, +/* 41395 */ {(12<<2)|2,{108,53,0}}, +/* 41396 */ {(12<<2)|2,{108,53,0}}, +/* 41397 */ {(12<<2)|2,{108,53,0}}, +/* 41398 */ {(12<<2)|2,{108,53,0}}, +/* 41399 */ {(12<<2)|2,{108,53,0}}, +/* 41400 */ {(12<<2)|2,{108,53,0}}, +/* 41401 */ {(12<<2)|2,{108,53,0}}, +/* 41402 */ {(12<<2)|2,{108,53,0}}, +/* 41403 */ {(12<<2)|2,{108,53,0}}, +/* 41404 */ {(12<<2)|2,{108,53,0}}, +/* 41405 */ {(12<<2)|2,{108,53,0}}, +/* 41406 */ {(12<<2)|2,{108,53,0}}, +/* 41407 */ {(12<<2)|2,{108,53,0}}, +/* 41408 */ {(12<<2)|2,{108,54,0}}, +/* 41409 */ {(12<<2)|2,{108,54,0}}, +/* 41410 */ {(12<<2)|2,{108,54,0}}, +/* 41411 */ {(12<<2)|2,{108,54,0}}, +/* 41412 */ {(12<<2)|2,{108,54,0}}, +/* 41413 */ {(12<<2)|2,{108,54,0}}, +/* 41414 */ {(12<<2)|2,{108,54,0}}, +/* 41415 */ {(12<<2)|2,{108,54,0}}, +/* 41416 */ {(12<<2)|2,{108,54,0}}, +/* 41417 */ {(12<<2)|2,{108,54,0}}, +/* 41418 */ {(12<<2)|2,{108,54,0}}, +/* 41419 */ {(12<<2)|2,{108,54,0}}, +/* 41420 */ {(12<<2)|2,{108,54,0}}, +/* 41421 */ {(12<<2)|2,{108,54,0}}, +/* 41422 */ {(12<<2)|2,{108,54,0}}, +/* 41423 */ {(12<<2)|2,{108,54,0}}, +/* 41424 */ {(12<<2)|2,{108,55,0}}, +/* 41425 */ {(12<<2)|2,{108,55,0}}, +/* 41426 */ {(12<<2)|2,{108,55,0}}, +/* 41427 */ {(12<<2)|2,{108,55,0}}, +/* 41428 */ {(12<<2)|2,{108,55,0}}, +/* 41429 */ {(12<<2)|2,{108,55,0}}, +/* 41430 */ {(12<<2)|2,{108,55,0}}, +/* 41431 */ {(12<<2)|2,{108,55,0}}, +/* 41432 */ {(12<<2)|2,{108,55,0}}, +/* 41433 */ {(12<<2)|2,{108,55,0}}, +/* 41434 */ {(12<<2)|2,{108,55,0}}, +/* 41435 */ {(12<<2)|2,{108,55,0}}, +/* 41436 */ {(12<<2)|2,{108,55,0}}, +/* 41437 */ {(12<<2)|2,{108,55,0}}, +/* 41438 */ {(12<<2)|2,{108,55,0}}, +/* 41439 */ {(12<<2)|2,{108,55,0}}, +/* 41440 */ {(12<<2)|2,{108,56,0}}, +/* 41441 */ {(12<<2)|2,{108,56,0}}, +/* 41442 */ {(12<<2)|2,{108,56,0}}, +/* 41443 */ {(12<<2)|2,{108,56,0}}, +/* 41444 */ {(12<<2)|2,{108,56,0}}, +/* 41445 */ {(12<<2)|2,{108,56,0}}, +/* 41446 */ {(12<<2)|2,{108,56,0}}, +/* 41447 */ {(12<<2)|2,{108,56,0}}, +/* 41448 */ {(12<<2)|2,{108,56,0}}, +/* 41449 */ {(12<<2)|2,{108,56,0}}, +/* 41450 */ {(12<<2)|2,{108,56,0}}, +/* 41451 */ {(12<<2)|2,{108,56,0}}, +/* 41452 */ {(12<<2)|2,{108,56,0}}, +/* 41453 */ {(12<<2)|2,{108,56,0}}, +/* 41454 */ {(12<<2)|2,{108,56,0}}, +/* 41455 */ {(12<<2)|2,{108,56,0}}, +/* 41456 */ {(12<<2)|2,{108,57,0}}, +/* 41457 */ {(12<<2)|2,{108,57,0}}, +/* 41458 */ {(12<<2)|2,{108,57,0}}, +/* 41459 */ {(12<<2)|2,{108,57,0}}, +/* 41460 */ {(12<<2)|2,{108,57,0}}, +/* 41461 */ {(12<<2)|2,{108,57,0}}, +/* 41462 */ {(12<<2)|2,{108,57,0}}, +/* 41463 */ {(12<<2)|2,{108,57,0}}, +/* 41464 */ {(12<<2)|2,{108,57,0}}, +/* 41465 */ {(12<<2)|2,{108,57,0}}, +/* 41466 */ {(12<<2)|2,{108,57,0}}, +/* 41467 */ {(12<<2)|2,{108,57,0}}, +/* 41468 */ {(12<<2)|2,{108,57,0}}, +/* 41469 */ {(12<<2)|2,{108,57,0}}, +/* 41470 */ {(12<<2)|2,{108,57,0}}, +/* 41471 */ {(12<<2)|2,{108,57,0}}, +/* 41472 */ {(12<<2)|2,{108,61,0}}, +/* 41473 */ {(12<<2)|2,{108,61,0}}, +/* 41474 */ {(12<<2)|2,{108,61,0}}, +/* 41475 */ {(12<<2)|2,{108,61,0}}, +/* 41476 */ {(12<<2)|2,{108,61,0}}, +/* 41477 */ {(12<<2)|2,{108,61,0}}, +/* 41478 */ {(12<<2)|2,{108,61,0}}, +/* 41479 */ {(12<<2)|2,{108,61,0}}, +/* 41480 */ {(12<<2)|2,{108,61,0}}, +/* 41481 */ {(12<<2)|2,{108,61,0}}, +/* 41482 */ {(12<<2)|2,{108,61,0}}, +/* 41483 */ {(12<<2)|2,{108,61,0}}, +/* 41484 */ {(12<<2)|2,{108,61,0}}, +/* 41485 */ {(12<<2)|2,{108,61,0}}, +/* 41486 */ {(12<<2)|2,{108,61,0}}, +/* 41487 */ {(12<<2)|2,{108,61,0}}, +/* 41488 */ {(12<<2)|2,{108,65,0}}, +/* 41489 */ {(12<<2)|2,{108,65,0}}, +/* 41490 */ {(12<<2)|2,{108,65,0}}, +/* 41491 */ {(12<<2)|2,{108,65,0}}, +/* 41492 */ {(12<<2)|2,{108,65,0}}, +/* 41493 */ {(12<<2)|2,{108,65,0}}, +/* 41494 */ {(12<<2)|2,{108,65,0}}, +/* 41495 */ {(12<<2)|2,{108,65,0}}, +/* 41496 */ {(12<<2)|2,{108,65,0}}, +/* 41497 */ {(12<<2)|2,{108,65,0}}, +/* 41498 */ {(12<<2)|2,{108,65,0}}, +/* 41499 */ {(12<<2)|2,{108,65,0}}, +/* 41500 */ {(12<<2)|2,{108,65,0}}, +/* 41501 */ {(12<<2)|2,{108,65,0}}, +/* 41502 */ {(12<<2)|2,{108,65,0}}, +/* 41503 */ {(12<<2)|2,{108,65,0}}, +/* 41504 */ {(12<<2)|2,{108,95,0}}, +/* 41505 */ {(12<<2)|2,{108,95,0}}, +/* 41506 */ {(12<<2)|2,{108,95,0}}, +/* 41507 */ {(12<<2)|2,{108,95,0}}, +/* 41508 */ {(12<<2)|2,{108,95,0}}, +/* 41509 */ {(12<<2)|2,{108,95,0}}, +/* 41510 */ {(12<<2)|2,{108,95,0}}, +/* 41511 */ {(12<<2)|2,{108,95,0}}, +/* 41512 */ {(12<<2)|2,{108,95,0}}, +/* 41513 */ {(12<<2)|2,{108,95,0}}, +/* 41514 */ {(12<<2)|2,{108,95,0}}, +/* 41515 */ {(12<<2)|2,{108,95,0}}, +/* 41516 */ {(12<<2)|2,{108,95,0}}, +/* 41517 */ {(12<<2)|2,{108,95,0}}, +/* 41518 */ {(12<<2)|2,{108,95,0}}, +/* 41519 */ {(12<<2)|2,{108,95,0}}, +/* 41520 */ {(12<<2)|2,{108,98,0}}, +/* 41521 */ {(12<<2)|2,{108,98,0}}, +/* 41522 */ {(12<<2)|2,{108,98,0}}, +/* 41523 */ {(12<<2)|2,{108,98,0}}, +/* 41524 */ {(12<<2)|2,{108,98,0}}, +/* 41525 */ {(12<<2)|2,{108,98,0}}, +/* 41526 */ {(12<<2)|2,{108,98,0}}, +/* 41527 */ {(12<<2)|2,{108,98,0}}, +/* 41528 */ {(12<<2)|2,{108,98,0}}, +/* 41529 */ {(12<<2)|2,{108,98,0}}, +/* 41530 */ {(12<<2)|2,{108,98,0}}, +/* 41531 */ {(12<<2)|2,{108,98,0}}, +/* 41532 */ {(12<<2)|2,{108,98,0}}, +/* 41533 */ {(12<<2)|2,{108,98,0}}, +/* 41534 */ {(12<<2)|2,{108,98,0}}, +/* 41535 */ {(12<<2)|2,{108,98,0}}, +/* 41536 */ {(12<<2)|2,{108,100,0}}, +/* 41537 */ {(12<<2)|2,{108,100,0}}, +/* 41538 */ {(12<<2)|2,{108,100,0}}, +/* 41539 */ {(12<<2)|2,{108,100,0}}, +/* 41540 */ {(12<<2)|2,{108,100,0}}, +/* 41541 */ {(12<<2)|2,{108,100,0}}, +/* 41542 */ {(12<<2)|2,{108,100,0}}, +/* 41543 */ {(12<<2)|2,{108,100,0}}, +/* 41544 */ {(12<<2)|2,{108,100,0}}, +/* 41545 */ {(12<<2)|2,{108,100,0}}, +/* 41546 */ {(12<<2)|2,{108,100,0}}, +/* 41547 */ {(12<<2)|2,{108,100,0}}, +/* 41548 */ {(12<<2)|2,{108,100,0}}, +/* 41549 */ {(12<<2)|2,{108,100,0}}, +/* 41550 */ {(12<<2)|2,{108,100,0}}, +/* 41551 */ {(12<<2)|2,{108,100,0}}, +/* 41552 */ {(12<<2)|2,{108,102,0}}, +/* 41553 */ {(12<<2)|2,{108,102,0}}, +/* 41554 */ {(12<<2)|2,{108,102,0}}, +/* 41555 */ {(12<<2)|2,{108,102,0}}, +/* 41556 */ {(12<<2)|2,{108,102,0}}, +/* 41557 */ {(12<<2)|2,{108,102,0}}, +/* 41558 */ {(12<<2)|2,{108,102,0}}, +/* 41559 */ {(12<<2)|2,{108,102,0}}, +/* 41560 */ {(12<<2)|2,{108,102,0}}, +/* 41561 */ {(12<<2)|2,{108,102,0}}, +/* 41562 */ {(12<<2)|2,{108,102,0}}, +/* 41563 */ {(12<<2)|2,{108,102,0}}, +/* 41564 */ {(12<<2)|2,{108,102,0}}, +/* 41565 */ {(12<<2)|2,{108,102,0}}, +/* 41566 */ {(12<<2)|2,{108,102,0}}, +/* 41567 */ {(12<<2)|2,{108,102,0}}, +/* 41568 */ {(12<<2)|2,{108,103,0}}, +/* 41569 */ {(12<<2)|2,{108,103,0}}, +/* 41570 */ {(12<<2)|2,{108,103,0}}, +/* 41571 */ {(12<<2)|2,{108,103,0}}, +/* 41572 */ {(12<<2)|2,{108,103,0}}, +/* 41573 */ {(12<<2)|2,{108,103,0}}, +/* 41574 */ {(12<<2)|2,{108,103,0}}, +/* 41575 */ {(12<<2)|2,{108,103,0}}, +/* 41576 */ {(12<<2)|2,{108,103,0}}, +/* 41577 */ {(12<<2)|2,{108,103,0}}, +/* 41578 */ {(12<<2)|2,{108,103,0}}, +/* 41579 */ {(12<<2)|2,{108,103,0}}, +/* 41580 */ {(12<<2)|2,{108,103,0}}, +/* 41581 */ {(12<<2)|2,{108,103,0}}, +/* 41582 */ {(12<<2)|2,{108,103,0}}, +/* 41583 */ {(12<<2)|2,{108,103,0}}, +/* 41584 */ {(12<<2)|2,{108,104,0}}, +/* 41585 */ {(12<<2)|2,{108,104,0}}, +/* 41586 */ {(12<<2)|2,{108,104,0}}, +/* 41587 */ {(12<<2)|2,{108,104,0}}, +/* 41588 */ {(12<<2)|2,{108,104,0}}, +/* 41589 */ {(12<<2)|2,{108,104,0}}, +/* 41590 */ {(12<<2)|2,{108,104,0}}, +/* 41591 */ {(12<<2)|2,{108,104,0}}, +/* 41592 */ {(12<<2)|2,{108,104,0}}, +/* 41593 */ {(12<<2)|2,{108,104,0}}, +/* 41594 */ {(12<<2)|2,{108,104,0}}, +/* 41595 */ {(12<<2)|2,{108,104,0}}, +/* 41596 */ {(12<<2)|2,{108,104,0}}, +/* 41597 */ {(12<<2)|2,{108,104,0}}, +/* 41598 */ {(12<<2)|2,{108,104,0}}, +/* 41599 */ {(12<<2)|2,{108,104,0}}, +/* 41600 */ {(12<<2)|2,{108,108,0}}, +/* 41601 */ {(12<<2)|2,{108,108,0}}, +/* 41602 */ {(12<<2)|2,{108,108,0}}, +/* 41603 */ {(12<<2)|2,{108,108,0}}, +/* 41604 */ {(12<<2)|2,{108,108,0}}, +/* 41605 */ {(12<<2)|2,{108,108,0}}, +/* 41606 */ {(12<<2)|2,{108,108,0}}, +/* 41607 */ {(12<<2)|2,{108,108,0}}, +/* 41608 */ {(12<<2)|2,{108,108,0}}, +/* 41609 */ {(12<<2)|2,{108,108,0}}, +/* 41610 */ {(12<<2)|2,{108,108,0}}, +/* 41611 */ {(12<<2)|2,{108,108,0}}, +/* 41612 */ {(12<<2)|2,{108,108,0}}, +/* 41613 */ {(12<<2)|2,{108,108,0}}, +/* 41614 */ {(12<<2)|2,{108,108,0}}, +/* 41615 */ {(12<<2)|2,{108,108,0}}, +/* 41616 */ {(12<<2)|2,{108,109,0}}, +/* 41617 */ {(12<<2)|2,{108,109,0}}, +/* 41618 */ {(12<<2)|2,{108,109,0}}, +/* 41619 */ {(12<<2)|2,{108,109,0}}, +/* 41620 */ {(12<<2)|2,{108,109,0}}, +/* 41621 */ {(12<<2)|2,{108,109,0}}, +/* 41622 */ {(12<<2)|2,{108,109,0}}, +/* 41623 */ {(12<<2)|2,{108,109,0}}, +/* 41624 */ {(12<<2)|2,{108,109,0}}, +/* 41625 */ {(12<<2)|2,{108,109,0}}, +/* 41626 */ {(12<<2)|2,{108,109,0}}, +/* 41627 */ {(12<<2)|2,{108,109,0}}, +/* 41628 */ {(12<<2)|2,{108,109,0}}, +/* 41629 */ {(12<<2)|2,{108,109,0}}, +/* 41630 */ {(12<<2)|2,{108,109,0}}, +/* 41631 */ {(12<<2)|2,{108,109,0}}, +/* 41632 */ {(12<<2)|2,{108,110,0}}, +/* 41633 */ {(12<<2)|2,{108,110,0}}, +/* 41634 */ {(12<<2)|2,{108,110,0}}, +/* 41635 */ {(12<<2)|2,{108,110,0}}, +/* 41636 */ {(12<<2)|2,{108,110,0}}, +/* 41637 */ {(12<<2)|2,{108,110,0}}, +/* 41638 */ {(12<<2)|2,{108,110,0}}, +/* 41639 */ {(12<<2)|2,{108,110,0}}, +/* 41640 */ {(12<<2)|2,{108,110,0}}, +/* 41641 */ {(12<<2)|2,{108,110,0}}, +/* 41642 */ {(12<<2)|2,{108,110,0}}, +/* 41643 */ {(12<<2)|2,{108,110,0}}, +/* 41644 */ {(12<<2)|2,{108,110,0}}, +/* 41645 */ {(12<<2)|2,{108,110,0}}, +/* 41646 */ {(12<<2)|2,{108,110,0}}, +/* 41647 */ {(12<<2)|2,{108,110,0}}, +/* 41648 */ {(12<<2)|2,{108,112,0}}, +/* 41649 */ {(12<<2)|2,{108,112,0}}, +/* 41650 */ {(12<<2)|2,{108,112,0}}, +/* 41651 */ {(12<<2)|2,{108,112,0}}, +/* 41652 */ {(12<<2)|2,{108,112,0}}, +/* 41653 */ {(12<<2)|2,{108,112,0}}, +/* 41654 */ {(12<<2)|2,{108,112,0}}, +/* 41655 */ {(12<<2)|2,{108,112,0}}, +/* 41656 */ {(12<<2)|2,{108,112,0}}, +/* 41657 */ {(12<<2)|2,{108,112,0}}, +/* 41658 */ {(12<<2)|2,{108,112,0}}, +/* 41659 */ {(12<<2)|2,{108,112,0}}, +/* 41660 */ {(12<<2)|2,{108,112,0}}, +/* 41661 */ {(12<<2)|2,{108,112,0}}, +/* 41662 */ {(12<<2)|2,{108,112,0}}, +/* 41663 */ {(12<<2)|2,{108,112,0}}, +/* 41664 */ {(12<<2)|2,{108,114,0}}, +/* 41665 */ {(12<<2)|2,{108,114,0}}, +/* 41666 */ {(12<<2)|2,{108,114,0}}, +/* 41667 */ {(12<<2)|2,{108,114,0}}, +/* 41668 */ {(12<<2)|2,{108,114,0}}, +/* 41669 */ {(12<<2)|2,{108,114,0}}, +/* 41670 */ {(12<<2)|2,{108,114,0}}, +/* 41671 */ {(12<<2)|2,{108,114,0}}, +/* 41672 */ {(12<<2)|2,{108,114,0}}, +/* 41673 */ {(12<<2)|2,{108,114,0}}, +/* 41674 */ {(12<<2)|2,{108,114,0}}, +/* 41675 */ {(12<<2)|2,{108,114,0}}, +/* 41676 */ {(12<<2)|2,{108,114,0}}, +/* 41677 */ {(12<<2)|2,{108,114,0}}, +/* 41678 */ {(12<<2)|2,{108,114,0}}, +/* 41679 */ {(12<<2)|2,{108,114,0}}, +/* 41680 */ {(12<<2)|2,{108,117,0}}, +/* 41681 */ {(12<<2)|2,{108,117,0}}, +/* 41682 */ {(12<<2)|2,{108,117,0}}, +/* 41683 */ {(12<<2)|2,{108,117,0}}, +/* 41684 */ {(12<<2)|2,{108,117,0}}, +/* 41685 */ {(12<<2)|2,{108,117,0}}, +/* 41686 */ {(12<<2)|2,{108,117,0}}, +/* 41687 */ {(12<<2)|2,{108,117,0}}, +/* 41688 */ {(12<<2)|2,{108,117,0}}, +/* 41689 */ {(12<<2)|2,{108,117,0}}, +/* 41690 */ {(12<<2)|2,{108,117,0}}, +/* 41691 */ {(12<<2)|2,{108,117,0}}, +/* 41692 */ {(12<<2)|2,{108,117,0}}, +/* 41693 */ {(12<<2)|2,{108,117,0}}, +/* 41694 */ {(12<<2)|2,{108,117,0}}, +/* 41695 */ {(12<<2)|2,{108,117,0}}, +/* 41696 */ {(13<<2)|2,{108,58,0}}, +/* 41697 */ {(13<<2)|2,{108,58,0}}, +/* 41698 */ {(13<<2)|2,{108,58,0}}, +/* 41699 */ {(13<<2)|2,{108,58,0}}, +/* 41700 */ {(13<<2)|2,{108,58,0}}, +/* 41701 */ {(13<<2)|2,{108,58,0}}, +/* 41702 */ {(13<<2)|2,{108,58,0}}, +/* 41703 */ {(13<<2)|2,{108,58,0}}, +/* 41704 */ {(13<<2)|2,{108,66,0}}, +/* 41705 */ {(13<<2)|2,{108,66,0}}, +/* 41706 */ {(13<<2)|2,{108,66,0}}, +/* 41707 */ {(13<<2)|2,{108,66,0}}, +/* 41708 */ {(13<<2)|2,{108,66,0}}, +/* 41709 */ {(13<<2)|2,{108,66,0}}, +/* 41710 */ {(13<<2)|2,{108,66,0}}, +/* 41711 */ {(13<<2)|2,{108,66,0}}, +/* 41712 */ {(13<<2)|2,{108,67,0}}, +/* 41713 */ {(13<<2)|2,{108,67,0}}, +/* 41714 */ {(13<<2)|2,{108,67,0}}, +/* 41715 */ {(13<<2)|2,{108,67,0}}, +/* 41716 */ {(13<<2)|2,{108,67,0}}, +/* 41717 */ {(13<<2)|2,{108,67,0}}, +/* 41718 */ {(13<<2)|2,{108,67,0}}, +/* 41719 */ {(13<<2)|2,{108,67,0}}, +/* 41720 */ {(13<<2)|2,{108,68,0}}, +/* 41721 */ {(13<<2)|2,{108,68,0}}, +/* 41722 */ {(13<<2)|2,{108,68,0}}, +/* 41723 */ {(13<<2)|2,{108,68,0}}, +/* 41724 */ {(13<<2)|2,{108,68,0}}, +/* 41725 */ {(13<<2)|2,{108,68,0}}, +/* 41726 */ {(13<<2)|2,{108,68,0}}, +/* 41727 */ {(13<<2)|2,{108,68,0}}, +/* 41728 */ {(13<<2)|2,{108,69,0}}, +/* 41729 */ {(13<<2)|2,{108,69,0}}, +/* 41730 */ {(13<<2)|2,{108,69,0}}, +/* 41731 */ {(13<<2)|2,{108,69,0}}, +/* 41732 */ {(13<<2)|2,{108,69,0}}, +/* 41733 */ {(13<<2)|2,{108,69,0}}, +/* 41734 */ {(13<<2)|2,{108,69,0}}, +/* 41735 */ {(13<<2)|2,{108,69,0}}, +/* 41736 */ {(13<<2)|2,{108,70,0}}, +/* 41737 */ {(13<<2)|2,{108,70,0}}, +/* 41738 */ {(13<<2)|2,{108,70,0}}, +/* 41739 */ {(13<<2)|2,{108,70,0}}, +/* 41740 */ {(13<<2)|2,{108,70,0}}, +/* 41741 */ {(13<<2)|2,{108,70,0}}, +/* 41742 */ {(13<<2)|2,{108,70,0}}, +/* 41743 */ {(13<<2)|2,{108,70,0}}, +/* 41744 */ {(13<<2)|2,{108,71,0}}, +/* 41745 */ {(13<<2)|2,{108,71,0}}, +/* 41746 */ {(13<<2)|2,{108,71,0}}, +/* 41747 */ {(13<<2)|2,{108,71,0}}, +/* 41748 */ {(13<<2)|2,{108,71,0}}, +/* 41749 */ {(13<<2)|2,{108,71,0}}, +/* 41750 */ {(13<<2)|2,{108,71,0}}, +/* 41751 */ {(13<<2)|2,{108,71,0}}, +/* 41752 */ {(13<<2)|2,{108,72,0}}, +/* 41753 */ {(13<<2)|2,{108,72,0}}, +/* 41754 */ {(13<<2)|2,{108,72,0}}, +/* 41755 */ {(13<<2)|2,{108,72,0}}, +/* 41756 */ {(13<<2)|2,{108,72,0}}, +/* 41757 */ {(13<<2)|2,{108,72,0}}, +/* 41758 */ {(13<<2)|2,{108,72,0}}, +/* 41759 */ {(13<<2)|2,{108,72,0}}, +/* 41760 */ {(13<<2)|2,{108,73,0}}, +/* 41761 */ {(13<<2)|2,{108,73,0}}, +/* 41762 */ {(13<<2)|2,{108,73,0}}, +/* 41763 */ {(13<<2)|2,{108,73,0}}, +/* 41764 */ {(13<<2)|2,{108,73,0}}, +/* 41765 */ {(13<<2)|2,{108,73,0}}, +/* 41766 */ {(13<<2)|2,{108,73,0}}, +/* 41767 */ {(13<<2)|2,{108,73,0}}, +/* 41768 */ {(13<<2)|2,{108,74,0}}, +/* 41769 */ {(13<<2)|2,{108,74,0}}, +/* 41770 */ {(13<<2)|2,{108,74,0}}, +/* 41771 */ {(13<<2)|2,{108,74,0}}, +/* 41772 */ {(13<<2)|2,{108,74,0}}, +/* 41773 */ {(13<<2)|2,{108,74,0}}, +/* 41774 */ {(13<<2)|2,{108,74,0}}, +/* 41775 */ {(13<<2)|2,{108,74,0}}, +/* 41776 */ {(13<<2)|2,{108,75,0}}, +/* 41777 */ {(13<<2)|2,{108,75,0}}, +/* 41778 */ {(13<<2)|2,{108,75,0}}, +/* 41779 */ {(13<<2)|2,{108,75,0}}, +/* 41780 */ {(13<<2)|2,{108,75,0}}, +/* 41781 */ {(13<<2)|2,{108,75,0}}, +/* 41782 */ {(13<<2)|2,{108,75,0}}, +/* 41783 */ {(13<<2)|2,{108,75,0}}, +/* 41784 */ {(13<<2)|2,{108,76,0}}, +/* 41785 */ {(13<<2)|2,{108,76,0}}, +/* 41786 */ {(13<<2)|2,{108,76,0}}, +/* 41787 */ {(13<<2)|2,{108,76,0}}, +/* 41788 */ {(13<<2)|2,{108,76,0}}, +/* 41789 */ {(13<<2)|2,{108,76,0}}, +/* 41790 */ {(13<<2)|2,{108,76,0}}, +/* 41791 */ {(13<<2)|2,{108,76,0}}, +/* 41792 */ {(13<<2)|2,{108,77,0}}, +/* 41793 */ {(13<<2)|2,{108,77,0}}, +/* 41794 */ {(13<<2)|2,{108,77,0}}, +/* 41795 */ {(13<<2)|2,{108,77,0}}, +/* 41796 */ {(13<<2)|2,{108,77,0}}, +/* 41797 */ {(13<<2)|2,{108,77,0}}, +/* 41798 */ {(13<<2)|2,{108,77,0}}, +/* 41799 */ {(13<<2)|2,{108,77,0}}, +/* 41800 */ {(13<<2)|2,{108,78,0}}, +/* 41801 */ {(13<<2)|2,{108,78,0}}, +/* 41802 */ {(13<<2)|2,{108,78,0}}, +/* 41803 */ {(13<<2)|2,{108,78,0}}, +/* 41804 */ {(13<<2)|2,{108,78,0}}, +/* 41805 */ {(13<<2)|2,{108,78,0}}, +/* 41806 */ {(13<<2)|2,{108,78,0}}, +/* 41807 */ {(13<<2)|2,{108,78,0}}, +/* 41808 */ {(13<<2)|2,{108,79,0}}, +/* 41809 */ {(13<<2)|2,{108,79,0}}, +/* 41810 */ {(13<<2)|2,{108,79,0}}, +/* 41811 */ {(13<<2)|2,{108,79,0}}, +/* 41812 */ {(13<<2)|2,{108,79,0}}, +/* 41813 */ {(13<<2)|2,{108,79,0}}, +/* 41814 */ {(13<<2)|2,{108,79,0}}, +/* 41815 */ {(13<<2)|2,{108,79,0}}, +/* 41816 */ {(13<<2)|2,{108,80,0}}, +/* 41817 */ {(13<<2)|2,{108,80,0}}, +/* 41818 */ {(13<<2)|2,{108,80,0}}, +/* 41819 */ {(13<<2)|2,{108,80,0}}, +/* 41820 */ {(13<<2)|2,{108,80,0}}, +/* 41821 */ {(13<<2)|2,{108,80,0}}, +/* 41822 */ {(13<<2)|2,{108,80,0}}, +/* 41823 */ {(13<<2)|2,{108,80,0}}, +/* 41824 */ {(13<<2)|2,{108,81,0}}, +/* 41825 */ {(13<<2)|2,{108,81,0}}, +/* 41826 */ {(13<<2)|2,{108,81,0}}, +/* 41827 */ {(13<<2)|2,{108,81,0}}, +/* 41828 */ {(13<<2)|2,{108,81,0}}, +/* 41829 */ {(13<<2)|2,{108,81,0}}, +/* 41830 */ {(13<<2)|2,{108,81,0}}, +/* 41831 */ {(13<<2)|2,{108,81,0}}, +/* 41832 */ {(13<<2)|2,{108,82,0}}, +/* 41833 */ {(13<<2)|2,{108,82,0}}, +/* 41834 */ {(13<<2)|2,{108,82,0}}, +/* 41835 */ {(13<<2)|2,{108,82,0}}, +/* 41836 */ {(13<<2)|2,{108,82,0}}, +/* 41837 */ {(13<<2)|2,{108,82,0}}, +/* 41838 */ {(13<<2)|2,{108,82,0}}, +/* 41839 */ {(13<<2)|2,{108,82,0}}, +/* 41840 */ {(13<<2)|2,{108,83,0}}, +/* 41841 */ {(13<<2)|2,{108,83,0}}, +/* 41842 */ {(13<<2)|2,{108,83,0}}, +/* 41843 */ {(13<<2)|2,{108,83,0}}, +/* 41844 */ {(13<<2)|2,{108,83,0}}, +/* 41845 */ {(13<<2)|2,{108,83,0}}, +/* 41846 */ {(13<<2)|2,{108,83,0}}, +/* 41847 */ {(13<<2)|2,{108,83,0}}, +/* 41848 */ {(13<<2)|2,{108,84,0}}, +/* 41849 */ {(13<<2)|2,{108,84,0}}, +/* 41850 */ {(13<<2)|2,{108,84,0}}, +/* 41851 */ {(13<<2)|2,{108,84,0}}, +/* 41852 */ {(13<<2)|2,{108,84,0}}, +/* 41853 */ {(13<<2)|2,{108,84,0}}, +/* 41854 */ {(13<<2)|2,{108,84,0}}, +/* 41855 */ {(13<<2)|2,{108,84,0}}, +/* 41856 */ {(13<<2)|2,{108,85,0}}, +/* 41857 */ {(13<<2)|2,{108,85,0}}, +/* 41858 */ {(13<<2)|2,{108,85,0}}, +/* 41859 */ {(13<<2)|2,{108,85,0}}, +/* 41860 */ {(13<<2)|2,{108,85,0}}, +/* 41861 */ {(13<<2)|2,{108,85,0}}, +/* 41862 */ {(13<<2)|2,{108,85,0}}, +/* 41863 */ {(13<<2)|2,{108,85,0}}, +/* 41864 */ {(13<<2)|2,{108,86,0}}, +/* 41865 */ {(13<<2)|2,{108,86,0}}, +/* 41866 */ {(13<<2)|2,{108,86,0}}, +/* 41867 */ {(13<<2)|2,{108,86,0}}, +/* 41868 */ {(13<<2)|2,{108,86,0}}, +/* 41869 */ {(13<<2)|2,{108,86,0}}, +/* 41870 */ {(13<<2)|2,{108,86,0}}, +/* 41871 */ {(13<<2)|2,{108,86,0}}, +/* 41872 */ {(13<<2)|2,{108,87,0}}, +/* 41873 */ {(13<<2)|2,{108,87,0}}, +/* 41874 */ {(13<<2)|2,{108,87,0}}, +/* 41875 */ {(13<<2)|2,{108,87,0}}, +/* 41876 */ {(13<<2)|2,{108,87,0}}, +/* 41877 */ {(13<<2)|2,{108,87,0}}, +/* 41878 */ {(13<<2)|2,{108,87,0}}, +/* 41879 */ {(13<<2)|2,{108,87,0}}, +/* 41880 */ {(13<<2)|2,{108,89,0}}, +/* 41881 */ {(13<<2)|2,{108,89,0}}, +/* 41882 */ {(13<<2)|2,{108,89,0}}, +/* 41883 */ {(13<<2)|2,{108,89,0}}, +/* 41884 */ {(13<<2)|2,{108,89,0}}, +/* 41885 */ {(13<<2)|2,{108,89,0}}, +/* 41886 */ {(13<<2)|2,{108,89,0}}, +/* 41887 */ {(13<<2)|2,{108,89,0}}, +/* 41888 */ {(13<<2)|2,{108,106,0}}, +/* 41889 */ {(13<<2)|2,{108,106,0}}, +/* 41890 */ {(13<<2)|2,{108,106,0}}, +/* 41891 */ {(13<<2)|2,{108,106,0}}, +/* 41892 */ {(13<<2)|2,{108,106,0}}, +/* 41893 */ {(13<<2)|2,{108,106,0}}, +/* 41894 */ {(13<<2)|2,{108,106,0}}, +/* 41895 */ {(13<<2)|2,{108,106,0}}, +/* 41896 */ {(13<<2)|2,{108,107,0}}, +/* 41897 */ {(13<<2)|2,{108,107,0}}, +/* 41898 */ {(13<<2)|2,{108,107,0}}, +/* 41899 */ {(13<<2)|2,{108,107,0}}, +/* 41900 */ {(13<<2)|2,{108,107,0}}, +/* 41901 */ {(13<<2)|2,{108,107,0}}, +/* 41902 */ {(13<<2)|2,{108,107,0}}, +/* 41903 */ {(13<<2)|2,{108,107,0}}, +/* 41904 */ {(13<<2)|2,{108,113,0}}, +/* 41905 */ {(13<<2)|2,{108,113,0}}, +/* 41906 */ {(13<<2)|2,{108,113,0}}, +/* 41907 */ {(13<<2)|2,{108,113,0}}, +/* 41908 */ {(13<<2)|2,{108,113,0}}, +/* 41909 */ {(13<<2)|2,{108,113,0}}, +/* 41910 */ {(13<<2)|2,{108,113,0}}, +/* 41911 */ {(13<<2)|2,{108,113,0}}, +/* 41912 */ {(13<<2)|2,{108,118,0}}, +/* 41913 */ {(13<<2)|2,{108,118,0}}, +/* 41914 */ {(13<<2)|2,{108,118,0}}, +/* 41915 */ {(13<<2)|2,{108,118,0}}, +/* 41916 */ {(13<<2)|2,{108,118,0}}, +/* 41917 */ {(13<<2)|2,{108,118,0}}, +/* 41918 */ {(13<<2)|2,{108,118,0}}, +/* 41919 */ {(13<<2)|2,{108,118,0}}, +/* 41920 */ {(13<<2)|2,{108,119,0}}, +/* 41921 */ {(13<<2)|2,{108,119,0}}, +/* 41922 */ {(13<<2)|2,{108,119,0}}, +/* 41923 */ {(13<<2)|2,{108,119,0}}, +/* 41924 */ {(13<<2)|2,{108,119,0}}, +/* 41925 */ {(13<<2)|2,{108,119,0}}, +/* 41926 */ {(13<<2)|2,{108,119,0}}, +/* 41927 */ {(13<<2)|2,{108,119,0}}, +/* 41928 */ {(13<<2)|2,{108,120,0}}, +/* 41929 */ {(13<<2)|2,{108,120,0}}, +/* 41930 */ {(13<<2)|2,{108,120,0}}, +/* 41931 */ {(13<<2)|2,{108,120,0}}, +/* 41932 */ {(13<<2)|2,{108,120,0}}, +/* 41933 */ {(13<<2)|2,{108,120,0}}, +/* 41934 */ {(13<<2)|2,{108,120,0}}, +/* 41935 */ {(13<<2)|2,{108,120,0}}, +/* 41936 */ {(13<<2)|2,{108,121,0}}, +/* 41937 */ {(13<<2)|2,{108,121,0}}, +/* 41938 */ {(13<<2)|2,{108,121,0}}, +/* 41939 */ {(13<<2)|2,{108,121,0}}, +/* 41940 */ {(13<<2)|2,{108,121,0}}, +/* 41941 */ {(13<<2)|2,{108,121,0}}, +/* 41942 */ {(13<<2)|2,{108,121,0}}, +/* 41943 */ {(13<<2)|2,{108,121,0}}, +/* 41944 */ {(13<<2)|2,{108,122,0}}, +/* 41945 */ {(13<<2)|2,{108,122,0}}, +/* 41946 */ {(13<<2)|2,{108,122,0}}, +/* 41947 */ {(13<<2)|2,{108,122,0}}, +/* 41948 */ {(13<<2)|2,{108,122,0}}, +/* 41949 */ {(13<<2)|2,{108,122,0}}, +/* 41950 */ {(13<<2)|2,{108,122,0}}, +/* 41951 */ {(13<<2)|2,{108,122,0}}, +/* 41952 */ {(14<<2)|2,{108,38,0}}, +/* 41953 */ {(14<<2)|2,{108,38,0}}, +/* 41954 */ {(14<<2)|2,{108,38,0}}, +/* 41955 */ {(14<<2)|2,{108,38,0}}, +/* 41956 */ {(14<<2)|2,{108,42,0}}, +/* 41957 */ {(14<<2)|2,{108,42,0}}, +/* 41958 */ {(14<<2)|2,{108,42,0}}, +/* 41959 */ {(14<<2)|2,{108,42,0}}, +/* 41960 */ {(14<<2)|2,{108,44,0}}, +/* 41961 */ {(14<<2)|2,{108,44,0}}, +/* 41962 */ {(14<<2)|2,{108,44,0}}, +/* 41963 */ {(14<<2)|2,{108,44,0}}, +/* 41964 */ {(14<<2)|2,{108,59,0}}, +/* 41965 */ {(14<<2)|2,{108,59,0}}, +/* 41966 */ {(14<<2)|2,{108,59,0}}, +/* 41967 */ {(14<<2)|2,{108,59,0}}, +/* 41968 */ {(14<<2)|2,{108,88,0}}, +/* 41969 */ {(14<<2)|2,{108,88,0}}, +/* 41970 */ {(14<<2)|2,{108,88,0}}, +/* 41971 */ {(14<<2)|2,{108,88,0}}, +/* 41972 */ {(14<<2)|2,{108,90,0}}, +/* 41973 */ {(14<<2)|2,{108,90,0}}, +/* 41974 */ {(14<<2)|2,{108,90,0}}, +/* 41975 */ {(14<<2)|2,{108,90,0}}, +/* 41976 */ {(16<<2)|2,{108,33,0}}, +/* 41977 */ {(16<<2)|2,{108,34,0}}, +/* 41978 */ {(16<<2)|2,{108,40,0}}, +/* 41979 */ {(16<<2)|2,{108,41,0}}, +/* 41980 */ {(16<<2)|2,{108,63,0}}, +/* 41981 */ {(6<<2)|1,{108,0,0}}, +/* 41982 */ {(6<<2)|1,{108,0,0}}, +/* 41983 */ {(6<<2)|1,{108,0,0}}, +/* 41984 */ {(16<<2)|3,{109,48,48}}, +/* 41985 */ {(16<<2)|3,{109,48,49}}, +/* 41986 */ {(16<<2)|3,{109,48,50}}, +/* 41987 */ {(16<<2)|3,{109,48,97}}, +/* 41988 */ {(16<<2)|3,{109,48,99}}, +/* 41989 */ {(16<<2)|3,{109,48,101}}, +/* 41990 */ {(16<<2)|3,{109,48,105}}, +/* 41991 */ {(16<<2)|3,{109,48,111}}, +/* 41992 */ {(16<<2)|3,{109,48,115}}, +/* 41993 */ {(16<<2)|3,{109,48,116}}, +/* 41994 */ {(11<<2)|2,{109,48,0}}, +/* 41995 */ {(11<<2)|2,{109,48,0}}, +/* 41996 */ {(11<<2)|2,{109,48,0}}, +/* 41997 */ {(11<<2)|2,{109,48,0}}, +/* 41998 */ {(11<<2)|2,{109,48,0}}, +/* 41999 */ {(11<<2)|2,{109,48,0}}, +/* 42000 */ {(11<<2)|2,{109,48,0}}, +/* 42001 */ {(11<<2)|2,{109,48,0}}, +/* 42002 */ {(11<<2)|2,{109,48,0}}, +/* 42003 */ {(11<<2)|2,{109,48,0}}, +/* 42004 */ {(11<<2)|2,{109,48,0}}, +/* 42005 */ {(11<<2)|2,{109,48,0}}, +/* 42006 */ {(11<<2)|2,{109,48,0}}, +/* 42007 */ {(11<<2)|2,{109,48,0}}, +/* 42008 */ {(11<<2)|2,{109,48,0}}, +/* 42009 */ {(11<<2)|2,{109,48,0}}, +/* 42010 */ {(11<<2)|2,{109,48,0}}, +/* 42011 */ {(11<<2)|2,{109,48,0}}, +/* 42012 */ {(11<<2)|2,{109,48,0}}, +/* 42013 */ {(11<<2)|2,{109,48,0}}, +/* 42014 */ {(11<<2)|2,{109,48,0}}, +/* 42015 */ {(11<<2)|2,{109,48,0}}, +/* 42016 */ {(16<<2)|3,{109,49,48}}, +/* 42017 */ {(16<<2)|3,{109,49,49}}, +/* 42018 */ {(16<<2)|3,{109,49,50}}, +/* 42019 */ {(16<<2)|3,{109,49,97}}, +/* 42020 */ {(16<<2)|3,{109,49,99}}, +/* 42021 */ {(16<<2)|3,{109,49,101}}, +/* 42022 */ {(16<<2)|3,{109,49,105}}, +/* 42023 */ {(16<<2)|3,{109,49,111}}, +/* 42024 */ {(16<<2)|3,{109,49,115}}, +/* 42025 */ {(16<<2)|3,{109,49,116}}, +/* 42026 */ {(11<<2)|2,{109,49,0}}, +/* 42027 */ {(11<<2)|2,{109,49,0}}, +/* 42028 */ {(11<<2)|2,{109,49,0}}, +/* 42029 */ {(11<<2)|2,{109,49,0}}, +/* 42030 */ {(11<<2)|2,{109,49,0}}, +/* 42031 */ {(11<<2)|2,{109,49,0}}, +/* 42032 */ {(11<<2)|2,{109,49,0}}, +/* 42033 */ {(11<<2)|2,{109,49,0}}, +/* 42034 */ {(11<<2)|2,{109,49,0}}, +/* 42035 */ {(11<<2)|2,{109,49,0}}, +/* 42036 */ {(11<<2)|2,{109,49,0}}, +/* 42037 */ {(11<<2)|2,{109,49,0}}, +/* 42038 */ {(11<<2)|2,{109,49,0}}, +/* 42039 */ {(11<<2)|2,{109,49,0}}, +/* 42040 */ {(11<<2)|2,{109,49,0}}, +/* 42041 */ {(11<<2)|2,{109,49,0}}, +/* 42042 */ {(11<<2)|2,{109,49,0}}, +/* 42043 */ {(11<<2)|2,{109,49,0}}, +/* 42044 */ {(11<<2)|2,{109,49,0}}, +/* 42045 */ {(11<<2)|2,{109,49,0}}, +/* 42046 */ {(11<<2)|2,{109,49,0}}, +/* 42047 */ {(11<<2)|2,{109,49,0}}, +/* 42048 */ {(16<<2)|3,{109,50,48}}, +/* 42049 */ {(16<<2)|3,{109,50,49}}, +/* 42050 */ {(16<<2)|3,{109,50,50}}, +/* 42051 */ {(16<<2)|3,{109,50,97}}, +/* 42052 */ {(16<<2)|3,{109,50,99}}, +/* 42053 */ {(16<<2)|3,{109,50,101}}, +/* 42054 */ {(16<<2)|3,{109,50,105}}, +/* 42055 */ {(16<<2)|3,{109,50,111}}, +/* 42056 */ {(16<<2)|3,{109,50,115}}, +/* 42057 */ {(16<<2)|3,{109,50,116}}, +/* 42058 */ {(11<<2)|2,{109,50,0}}, +/* 42059 */ {(11<<2)|2,{109,50,0}}, +/* 42060 */ {(11<<2)|2,{109,50,0}}, +/* 42061 */ {(11<<2)|2,{109,50,0}}, +/* 42062 */ {(11<<2)|2,{109,50,0}}, +/* 42063 */ {(11<<2)|2,{109,50,0}}, +/* 42064 */ {(11<<2)|2,{109,50,0}}, +/* 42065 */ {(11<<2)|2,{109,50,0}}, +/* 42066 */ {(11<<2)|2,{109,50,0}}, +/* 42067 */ {(11<<2)|2,{109,50,0}}, +/* 42068 */ {(11<<2)|2,{109,50,0}}, +/* 42069 */ {(11<<2)|2,{109,50,0}}, +/* 42070 */ {(11<<2)|2,{109,50,0}}, +/* 42071 */ {(11<<2)|2,{109,50,0}}, +/* 42072 */ {(11<<2)|2,{109,50,0}}, +/* 42073 */ {(11<<2)|2,{109,50,0}}, +/* 42074 */ {(11<<2)|2,{109,50,0}}, +/* 42075 */ {(11<<2)|2,{109,50,0}}, +/* 42076 */ {(11<<2)|2,{109,50,0}}, +/* 42077 */ {(11<<2)|2,{109,50,0}}, +/* 42078 */ {(11<<2)|2,{109,50,0}}, +/* 42079 */ {(11<<2)|2,{109,50,0}}, +/* 42080 */ {(16<<2)|3,{109,97,48}}, +/* 42081 */ {(16<<2)|3,{109,97,49}}, +/* 42082 */ {(16<<2)|3,{109,97,50}}, +/* 42083 */ {(16<<2)|3,{109,97,97}}, +/* 42084 */ {(16<<2)|3,{109,97,99}}, +/* 42085 */ {(16<<2)|3,{109,97,101}}, +/* 42086 */ {(16<<2)|3,{109,97,105}}, +/* 42087 */ {(16<<2)|3,{109,97,111}}, +/* 42088 */ {(16<<2)|3,{109,97,115}}, +/* 42089 */ {(16<<2)|3,{109,97,116}}, +/* 42090 */ {(11<<2)|2,{109,97,0}}, +/* 42091 */ {(11<<2)|2,{109,97,0}}, +/* 42092 */ {(11<<2)|2,{109,97,0}}, +/* 42093 */ {(11<<2)|2,{109,97,0}}, +/* 42094 */ {(11<<2)|2,{109,97,0}}, +/* 42095 */ {(11<<2)|2,{109,97,0}}, +/* 42096 */ {(11<<2)|2,{109,97,0}}, +/* 42097 */ {(11<<2)|2,{109,97,0}}, +/* 42098 */ {(11<<2)|2,{109,97,0}}, +/* 42099 */ {(11<<2)|2,{109,97,0}}, +/* 42100 */ {(11<<2)|2,{109,97,0}}, +/* 42101 */ {(11<<2)|2,{109,97,0}}, +/* 42102 */ {(11<<2)|2,{109,97,0}}, +/* 42103 */ {(11<<2)|2,{109,97,0}}, +/* 42104 */ {(11<<2)|2,{109,97,0}}, +/* 42105 */ {(11<<2)|2,{109,97,0}}, +/* 42106 */ {(11<<2)|2,{109,97,0}}, +/* 42107 */ {(11<<2)|2,{109,97,0}}, +/* 42108 */ {(11<<2)|2,{109,97,0}}, +/* 42109 */ {(11<<2)|2,{109,97,0}}, +/* 42110 */ {(11<<2)|2,{109,97,0}}, +/* 42111 */ {(11<<2)|2,{109,97,0}}, +/* 42112 */ {(16<<2)|3,{109,99,48}}, +/* 42113 */ {(16<<2)|3,{109,99,49}}, +/* 42114 */ {(16<<2)|3,{109,99,50}}, +/* 42115 */ {(16<<2)|3,{109,99,97}}, +/* 42116 */ {(16<<2)|3,{109,99,99}}, +/* 42117 */ {(16<<2)|3,{109,99,101}}, +/* 42118 */ {(16<<2)|3,{109,99,105}}, +/* 42119 */ {(16<<2)|3,{109,99,111}}, +/* 42120 */ {(16<<2)|3,{109,99,115}}, +/* 42121 */ {(16<<2)|3,{109,99,116}}, +/* 42122 */ {(11<<2)|2,{109,99,0}}, +/* 42123 */ {(11<<2)|2,{109,99,0}}, +/* 42124 */ {(11<<2)|2,{109,99,0}}, +/* 42125 */ {(11<<2)|2,{109,99,0}}, +/* 42126 */ {(11<<2)|2,{109,99,0}}, +/* 42127 */ {(11<<2)|2,{109,99,0}}, +/* 42128 */ {(11<<2)|2,{109,99,0}}, +/* 42129 */ {(11<<2)|2,{109,99,0}}, +/* 42130 */ {(11<<2)|2,{109,99,0}}, +/* 42131 */ {(11<<2)|2,{109,99,0}}, +/* 42132 */ {(11<<2)|2,{109,99,0}}, +/* 42133 */ {(11<<2)|2,{109,99,0}}, +/* 42134 */ {(11<<2)|2,{109,99,0}}, +/* 42135 */ {(11<<2)|2,{109,99,0}}, +/* 42136 */ {(11<<2)|2,{109,99,0}}, +/* 42137 */ {(11<<2)|2,{109,99,0}}, +/* 42138 */ {(11<<2)|2,{109,99,0}}, +/* 42139 */ {(11<<2)|2,{109,99,0}}, +/* 42140 */ {(11<<2)|2,{109,99,0}}, +/* 42141 */ {(11<<2)|2,{109,99,0}}, +/* 42142 */ {(11<<2)|2,{109,99,0}}, +/* 42143 */ {(11<<2)|2,{109,99,0}}, +/* 42144 */ {(16<<2)|3,{109,101,48}}, +/* 42145 */ {(16<<2)|3,{109,101,49}}, +/* 42146 */ {(16<<2)|3,{109,101,50}}, +/* 42147 */ {(16<<2)|3,{109,101,97}}, +/* 42148 */ {(16<<2)|3,{109,101,99}}, +/* 42149 */ {(16<<2)|3,{109,101,101}}, +/* 42150 */ {(16<<2)|3,{109,101,105}}, +/* 42151 */ {(16<<2)|3,{109,101,111}}, +/* 42152 */ {(16<<2)|3,{109,101,115}}, +/* 42153 */ {(16<<2)|3,{109,101,116}}, +/* 42154 */ {(11<<2)|2,{109,101,0}}, +/* 42155 */ {(11<<2)|2,{109,101,0}}, +/* 42156 */ {(11<<2)|2,{109,101,0}}, +/* 42157 */ {(11<<2)|2,{109,101,0}}, +/* 42158 */ {(11<<2)|2,{109,101,0}}, +/* 42159 */ {(11<<2)|2,{109,101,0}}, +/* 42160 */ {(11<<2)|2,{109,101,0}}, +/* 42161 */ {(11<<2)|2,{109,101,0}}, +/* 42162 */ {(11<<2)|2,{109,101,0}}, +/* 42163 */ {(11<<2)|2,{109,101,0}}, +/* 42164 */ {(11<<2)|2,{109,101,0}}, +/* 42165 */ {(11<<2)|2,{109,101,0}}, +/* 42166 */ {(11<<2)|2,{109,101,0}}, +/* 42167 */ {(11<<2)|2,{109,101,0}}, +/* 42168 */ {(11<<2)|2,{109,101,0}}, +/* 42169 */ {(11<<2)|2,{109,101,0}}, +/* 42170 */ {(11<<2)|2,{109,101,0}}, +/* 42171 */ {(11<<2)|2,{109,101,0}}, +/* 42172 */ {(11<<2)|2,{109,101,0}}, +/* 42173 */ {(11<<2)|2,{109,101,0}}, +/* 42174 */ {(11<<2)|2,{109,101,0}}, +/* 42175 */ {(11<<2)|2,{109,101,0}}, +/* 42176 */ {(16<<2)|3,{109,105,48}}, +/* 42177 */ {(16<<2)|3,{109,105,49}}, +/* 42178 */ {(16<<2)|3,{109,105,50}}, +/* 42179 */ {(16<<2)|3,{109,105,97}}, +/* 42180 */ {(16<<2)|3,{109,105,99}}, +/* 42181 */ {(16<<2)|3,{109,105,101}}, +/* 42182 */ {(16<<2)|3,{109,105,105}}, +/* 42183 */ {(16<<2)|3,{109,105,111}}, +/* 42184 */ {(16<<2)|3,{109,105,115}}, +/* 42185 */ {(16<<2)|3,{109,105,116}}, +/* 42186 */ {(11<<2)|2,{109,105,0}}, +/* 42187 */ {(11<<2)|2,{109,105,0}}, +/* 42188 */ {(11<<2)|2,{109,105,0}}, +/* 42189 */ {(11<<2)|2,{109,105,0}}, +/* 42190 */ {(11<<2)|2,{109,105,0}}, +/* 42191 */ {(11<<2)|2,{109,105,0}}, +/* 42192 */ {(11<<2)|2,{109,105,0}}, +/* 42193 */ {(11<<2)|2,{109,105,0}}, +/* 42194 */ {(11<<2)|2,{109,105,0}}, +/* 42195 */ {(11<<2)|2,{109,105,0}}, +/* 42196 */ {(11<<2)|2,{109,105,0}}, +/* 42197 */ {(11<<2)|2,{109,105,0}}, +/* 42198 */ {(11<<2)|2,{109,105,0}}, +/* 42199 */ {(11<<2)|2,{109,105,0}}, +/* 42200 */ {(11<<2)|2,{109,105,0}}, +/* 42201 */ {(11<<2)|2,{109,105,0}}, +/* 42202 */ {(11<<2)|2,{109,105,0}}, +/* 42203 */ {(11<<2)|2,{109,105,0}}, +/* 42204 */ {(11<<2)|2,{109,105,0}}, +/* 42205 */ {(11<<2)|2,{109,105,0}}, +/* 42206 */ {(11<<2)|2,{109,105,0}}, +/* 42207 */ {(11<<2)|2,{109,105,0}}, +/* 42208 */ {(16<<2)|3,{109,111,48}}, +/* 42209 */ {(16<<2)|3,{109,111,49}}, +/* 42210 */ {(16<<2)|3,{109,111,50}}, +/* 42211 */ {(16<<2)|3,{109,111,97}}, +/* 42212 */ {(16<<2)|3,{109,111,99}}, +/* 42213 */ {(16<<2)|3,{109,111,101}}, +/* 42214 */ {(16<<2)|3,{109,111,105}}, +/* 42215 */ {(16<<2)|3,{109,111,111}}, +/* 42216 */ {(16<<2)|3,{109,111,115}}, +/* 42217 */ {(16<<2)|3,{109,111,116}}, +/* 42218 */ {(11<<2)|2,{109,111,0}}, +/* 42219 */ {(11<<2)|2,{109,111,0}}, +/* 42220 */ {(11<<2)|2,{109,111,0}}, +/* 42221 */ {(11<<2)|2,{109,111,0}}, +/* 42222 */ {(11<<2)|2,{109,111,0}}, +/* 42223 */ {(11<<2)|2,{109,111,0}}, +/* 42224 */ {(11<<2)|2,{109,111,0}}, +/* 42225 */ {(11<<2)|2,{109,111,0}}, +/* 42226 */ {(11<<2)|2,{109,111,0}}, +/* 42227 */ {(11<<2)|2,{109,111,0}}, +/* 42228 */ {(11<<2)|2,{109,111,0}}, +/* 42229 */ {(11<<2)|2,{109,111,0}}, +/* 42230 */ {(11<<2)|2,{109,111,0}}, +/* 42231 */ {(11<<2)|2,{109,111,0}}, +/* 42232 */ {(11<<2)|2,{109,111,0}}, +/* 42233 */ {(11<<2)|2,{109,111,0}}, +/* 42234 */ {(11<<2)|2,{109,111,0}}, +/* 42235 */ {(11<<2)|2,{109,111,0}}, +/* 42236 */ {(11<<2)|2,{109,111,0}}, +/* 42237 */ {(11<<2)|2,{109,111,0}}, +/* 42238 */ {(11<<2)|2,{109,111,0}}, +/* 42239 */ {(11<<2)|2,{109,111,0}}, +/* 42240 */ {(16<<2)|3,{109,115,48}}, +/* 42241 */ {(16<<2)|3,{109,115,49}}, +/* 42242 */ {(16<<2)|3,{109,115,50}}, +/* 42243 */ {(16<<2)|3,{109,115,97}}, +/* 42244 */ {(16<<2)|3,{109,115,99}}, +/* 42245 */ {(16<<2)|3,{109,115,101}}, +/* 42246 */ {(16<<2)|3,{109,115,105}}, +/* 42247 */ {(16<<2)|3,{109,115,111}}, +/* 42248 */ {(16<<2)|3,{109,115,115}}, +/* 42249 */ {(16<<2)|3,{109,115,116}}, +/* 42250 */ {(11<<2)|2,{109,115,0}}, +/* 42251 */ {(11<<2)|2,{109,115,0}}, +/* 42252 */ {(11<<2)|2,{109,115,0}}, +/* 42253 */ {(11<<2)|2,{109,115,0}}, +/* 42254 */ {(11<<2)|2,{109,115,0}}, +/* 42255 */ {(11<<2)|2,{109,115,0}}, +/* 42256 */ {(11<<2)|2,{109,115,0}}, +/* 42257 */ {(11<<2)|2,{109,115,0}}, +/* 42258 */ {(11<<2)|2,{109,115,0}}, +/* 42259 */ {(11<<2)|2,{109,115,0}}, +/* 42260 */ {(11<<2)|2,{109,115,0}}, +/* 42261 */ {(11<<2)|2,{109,115,0}}, +/* 42262 */ {(11<<2)|2,{109,115,0}}, +/* 42263 */ {(11<<2)|2,{109,115,0}}, +/* 42264 */ {(11<<2)|2,{109,115,0}}, +/* 42265 */ {(11<<2)|2,{109,115,0}}, +/* 42266 */ {(11<<2)|2,{109,115,0}}, +/* 42267 */ {(11<<2)|2,{109,115,0}}, +/* 42268 */ {(11<<2)|2,{109,115,0}}, +/* 42269 */ {(11<<2)|2,{109,115,0}}, +/* 42270 */ {(11<<2)|2,{109,115,0}}, +/* 42271 */ {(11<<2)|2,{109,115,0}}, +/* 42272 */ {(16<<2)|3,{109,116,48}}, +/* 42273 */ {(16<<2)|3,{109,116,49}}, +/* 42274 */ {(16<<2)|3,{109,116,50}}, +/* 42275 */ {(16<<2)|3,{109,116,97}}, +/* 42276 */ {(16<<2)|3,{109,116,99}}, +/* 42277 */ {(16<<2)|3,{109,116,101}}, +/* 42278 */ {(16<<2)|3,{109,116,105}}, +/* 42279 */ {(16<<2)|3,{109,116,111}}, +/* 42280 */ {(16<<2)|3,{109,116,115}}, +/* 42281 */ {(16<<2)|3,{109,116,116}}, +/* 42282 */ {(11<<2)|2,{109,116,0}}, +/* 42283 */ {(11<<2)|2,{109,116,0}}, +/* 42284 */ {(11<<2)|2,{109,116,0}}, +/* 42285 */ {(11<<2)|2,{109,116,0}}, +/* 42286 */ {(11<<2)|2,{109,116,0}}, +/* 42287 */ {(11<<2)|2,{109,116,0}}, +/* 42288 */ {(11<<2)|2,{109,116,0}}, +/* 42289 */ {(11<<2)|2,{109,116,0}}, +/* 42290 */ {(11<<2)|2,{109,116,0}}, +/* 42291 */ {(11<<2)|2,{109,116,0}}, +/* 42292 */ {(11<<2)|2,{109,116,0}}, +/* 42293 */ {(11<<2)|2,{109,116,0}}, +/* 42294 */ {(11<<2)|2,{109,116,0}}, +/* 42295 */ {(11<<2)|2,{109,116,0}}, +/* 42296 */ {(11<<2)|2,{109,116,0}}, +/* 42297 */ {(11<<2)|2,{109,116,0}}, +/* 42298 */ {(11<<2)|2,{109,116,0}}, +/* 42299 */ {(11<<2)|2,{109,116,0}}, +/* 42300 */ {(11<<2)|2,{109,116,0}}, +/* 42301 */ {(11<<2)|2,{109,116,0}}, +/* 42302 */ {(11<<2)|2,{109,116,0}}, +/* 42303 */ {(11<<2)|2,{109,116,0}}, +/* 42304 */ {(12<<2)|2,{109,32,0}}, +/* 42305 */ {(12<<2)|2,{109,32,0}}, +/* 42306 */ {(12<<2)|2,{109,32,0}}, +/* 42307 */ {(12<<2)|2,{109,32,0}}, +/* 42308 */ {(12<<2)|2,{109,32,0}}, +/* 42309 */ {(12<<2)|2,{109,32,0}}, +/* 42310 */ {(12<<2)|2,{109,32,0}}, +/* 42311 */ {(12<<2)|2,{109,32,0}}, +/* 42312 */ {(12<<2)|2,{109,32,0}}, +/* 42313 */ {(12<<2)|2,{109,32,0}}, +/* 42314 */ {(12<<2)|2,{109,32,0}}, +/* 42315 */ {(12<<2)|2,{109,32,0}}, +/* 42316 */ {(12<<2)|2,{109,32,0}}, +/* 42317 */ {(12<<2)|2,{109,32,0}}, +/* 42318 */ {(12<<2)|2,{109,32,0}}, +/* 42319 */ {(12<<2)|2,{109,32,0}}, +/* 42320 */ {(12<<2)|2,{109,37,0}}, +/* 42321 */ {(12<<2)|2,{109,37,0}}, +/* 42322 */ {(12<<2)|2,{109,37,0}}, +/* 42323 */ {(12<<2)|2,{109,37,0}}, +/* 42324 */ {(12<<2)|2,{109,37,0}}, +/* 42325 */ {(12<<2)|2,{109,37,0}}, +/* 42326 */ {(12<<2)|2,{109,37,0}}, +/* 42327 */ {(12<<2)|2,{109,37,0}}, +/* 42328 */ {(12<<2)|2,{109,37,0}}, +/* 42329 */ {(12<<2)|2,{109,37,0}}, +/* 42330 */ {(12<<2)|2,{109,37,0}}, +/* 42331 */ {(12<<2)|2,{109,37,0}}, +/* 42332 */ {(12<<2)|2,{109,37,0}}, +/* 42333 */ {(12<<2)|2,{109,37,0}}, +/* 42334 */ {(12<<2)|2,{109,37,0}}, +/* 42335 */ {(12<<2)|2,{109,37,0}}, +/* 42336 */ {(12<<2)|2,{109,45,0}}, +/* 42337 */ {(12<<2)|2,{109,45,0}}, +/* 42338 */ {(12<<2)|2,{109,45,0}}, +/* 42339 */ {(12<<2)|2,{109,45,0}}, +/* 42340 */ {(12<<2)|2,{109,45,0}}, +/* 42341 */ {(12<<2)|2,{109,45,0}}, +/* 42342 */ {(12<<2)|2,{109,45,0}}, +/* 42343 */ {(12<<2)|2,{109,45,0}}, +/* 42344 */ {(12<<2)|2,{109,45,0}}, +/* 42345 */ {(12<<2)|2,{109,45,0}}, +/* 42346 */ {(12<<2)|2,{109,45,0}}, +/* 42347 */ {(12<<2)|2,{109,45,0}}, +/* 42348 */ {(12<<2)|2,{109,45,0}}, +/* 42349 */ {(12<<2)|2,{109,45,0}}, +/* 42350 */ {(12<<2)|2,{109,45,0}}, +/* 42351 */ {(12<<2)|2,{109,45,0}}, +/* 42352 */ {(12<<2)|2,{109,46,0}}, +/* 42353 */ {(12<<2)|2,{109,46,0}}, +/* 42354 */ {(12<<2)|2,{109,46,0}}, +/* 42355 */ {(12<<2)|2,{109,46,0}}, +/* 42356 */ {(12<<2)|2,{109,46,0}}, +/* 42357 */ {(12<<2)|2,{109,46,0}}, +/* 42358 */ {(12<<2)|2,{109,46,0}}, +/* 42359 */ {(12<<2)|2,{109,46,0}}, +/* 42360 */ {(12<<2)|2,{109,46,0}}, +/* 42361 */ {(12<<2)|2,{109,46,0}}, +/* 42362 */ {(12<<2)|2,{109,46,0}}, +/* 42363 */ {(12<<2)|2,{109,46,0}}, +/* 42364 */ {(12<<2)|2,{109,46,0}}, +/* 42365 */ {(12<<2)|2,{109,46,0}}, +/* 42366 */ {(12<<2)|2,{109,46,0}}, +/* 42367 */ {(12<<2)|2,{109,46,0}}, +/* 42368 */ {(12<<2)|2,{109,47,0}}, +/* 42369 */ {(12<<2)|2,{109,47,0}}, +/* 42370 */ {(12<<2)|2,{109,47,0}}, +/* 42371 */ {(12<<2)|2,{109,47,0}}, +/* 42372 */ {(12<<2)|2,{109,47,0}}, +/* 42373 */ {(12<<2)|2,{109,47,0}}, +/* 42374 */ {(12<<2)|2,{109,47,0}}, +/* 42375 */ {(12<<2)|2,{109,47,0}}, +/* 42376 */ {(12<<2)|2,{109,47,0}}, +/* 42377 */ {(12<<2)|2,{109,47,0}}, +/* 42378 */ {(12<<2)|2,{109,47,0}}, +/* 42379 */ {(12<<2)|2,{109,47,0}}, +/* 42380 */ {(12<<2)|2,{109,47,0}}, +/* 42381 */ {(12<<2)|2,{109,47,0}}, +/* 42382 */ {(12<<2)|2,{109,47,0}}, +/* 42383 */ {(12<<2)|2,{109,47,0}}, +/* 42384 */ {(12<<2)|2,{109,51,0}}, +/* 42385 */ {(12<<2)|2,{109,51,0}}, +/* 42386 */ {(12<<2)|2,{109,51,0}}, +/* 42387 */ {(12<<2)|2,{109,51,0}}, +/* 42388 */ {(12<<2)|2,{109,51,0}}, +/* 42389 */ {(12<<2)|2,{109,51,0}}, +/* 42390 */ {(12<<2)|2,{109,51,0}}, +/* 42391 */ {(12<<2)|2,{109,51,0}}, +/* 42392 */ {(12<<2)|2,{109,51,0}}, +/* 42393 */ {(12<<2)|2,{109,51,0}}, +/* 42394 */ {(12<<2)|2,{109,51,0}}, +/* 42395 */ {(12<<2)|2,{109,51,0}}, +/* 42396 */ {(12<<2)|2,{109,51,0}}, +/* 42397 */ {(12<<2)|2,{109,51,0}}, +/* 42398 */ {(12<<2)|2,{109,51,0}}, +/* 42399 */ {(12<<2)|2,{109,51,0}}, +/* 42400 */ {(12<<2)|2,{109,52,0}}, +/* 42401 */ {(12<<2)|2,{109,52,0}}, +/* 42402 */ {(12<<2)|2,{109,52,0}}, +/* 42403 */ {(12<<2)|2,{109,52,0}}, +/* 42404 */ {(12<<2)|2,{109,52,0}}, +/* 42405 */ {(12<<2)|2,{109,52,0}}, +/* 42406 */ {(12<<2)|2,{109,52,0}}, +/* 42407 */ {(12<<2)|2,{109,52,0}}, +/* 42408 */ {(12<<2)|2,{109,52,0}}, +/* 42409 */ {(12<<2)|2,{109,52,0}}, +/* 42410 */ {(12<<2)|2,{109,52,0}}, +/* 42411 */ {(12<<2)|2,{109,52,0}}, +/* 42412 */ {(12<<2)|2,{109,52,0}}, +/* 42413 */ {(12<<2)|2,{109,52,0}}, +/* 42414 */ {(12<<2)|2,{109,52,0}}, +/* 42415 */ {(12<<2)|2,{109,52,0}}, +/* 42416 */ {(12<<2)|2,{109,53,0}}, +/* 42417 */ {(12<<2)|2,{109,53,0}}, +/* 42418 */ {(12<<2)|2,{109,53,0}}, +/* 42419 */ {(12<<2)|2,{109,53,0}}, +/* 42420 */ {(12<<2)|2,{109,53,0}}, +/* 42421 */ {(12<<2)|2,{109,53,0}}, +/* 42422 */ {(12<<2)|2,{109,53,0}}, +/* 42423 */ {(12<<2)|2,{109,53,0}}, +/* 42424 */ {(12<<2)|2,{109,53,0}}, +/* 42425 */ {(12<<2)|2,{109,53,0}}, +/* 42426 */ {(12<<2)|2,{109,53,0}}, +/* 42427 */ {(12<<2)|2,{109,53,0}}, +/* 42428 */ {(12<<2)|2,{109,53,0}}, +/* 42429 */ {(12<<2)|2,{109,53,0}}, +/* 42430 */ {(12<<2)|2,{109,53,0}}, +/* 42431 */ {(12<<2)|2,{109,53,0}}, +/* 42432 */ {(12<<2)|2,{109,54,0}}, +/* 42433 */ {(12<<2)|2,{109,54,0}}, +/* 42434 */ {(12<<2)|2,{109,54,0}}, +/* 42435 */ {(12<<2)|2,{109,54,0}}, +/* 42436 */ {(12<<2)|2,{109,54,0}}, +/* 42437 */ {(12<<2)|2,{109,54,0}}, +/* 42438 */ {(12<<2)|2,{109,54,0}}, +/* 42439 */ {(12<<2)|2,{109,54,0}}, +/* 42440 */ {(12<<2)|2,{109,54,0}}, +/* 42441 */ {(12<<2)|2,{109,54,0}}, +/* 42442 */ {(12<<2)|2,{109,54,0}}, +/* 42443 */ {(12<<2)|2,{109,54,0}}, +/* 42444 */ {(12<<2)|2,{109,54,0}}, +/* 42445 */ {(12<<2)|2,{109,54,0}}, +/* 42446 */ {(12<<2)|2,{109,54,0}}, +/* 42447 */ {(12<<2)|2,{109,54,0}}, +/* 42448 */ {(12<<2)|2,{109,55,0}}, +/* 42449 */ {(12<<2)|2,{109,55,0}}, +/* 42450 */ {(12<<2)|2,{109,55,0}}, +/* 42451 */ {(12<<2)|2,{109,55,0}}, +/* 42452 */ {(12<<2)|2,{109,55,0}}, +/* 42453 */ {(12<<2)|2,{109,55,0}}, +/* 42454 */ {(12<<2)|2,{109,55,0}}, +/* 42455 */ {(12<<2)|2,{109,55,0}}, +/* 42456 */ {(12<<2)|2,{109,55,0}}, +/* 42457 */ {(12<<2)|2,{109,55,0}}, +/* 42458 */ {(12<<2)|2,{109,55,0}}, +/* 42459 */ {(12<<2)|2,{109,55,0}}, +/* 42460 */ {(12<<2)|2,{109,55,0}}, +/* 42461 */ {(12<<2)|2,{109,55,0}}, +/* 42462 */ {(12<<2)|2,{109,55,0}}, +/* 42463 */ {(12<<2)|2,{109,55,0}}, +/* 42464 */ {(12<<2)|2,{109,56,0}}, +/* 42465 */ {(12<<2)|2,{109,56,0}}, +/* 42466 */ {(12<<2)|2,{109,56,0}}, +/* 42467 */ {(12<<2)|2,{109,56,0}}, +/* 42468 */ {(12<<2)|2,{109,56,0}}, +/* 42469 */ {(12<<2)|2,{109,56,0}}, +/* 42470 */ {(12<<2)|2,{109,56,0}}, +/* 42471 */ {(12<<2)|2,{109,56,0}}, +/* 42472 */ {(12<<2)|2,{109,56,0}}, +/* 42473 */ {(12<<2)|2,{109,56,0}}, +/* 42474 */ {(12<<2)|2,{109,56,0}}, +/* 42475 */ {(12<<2)|2,{109,56,0}}, +/* 42476 */ {(12<<2)|2,{109,56,0}}, +/* 42477 */ {(12<<2)|2,{109,56,0}}, +/* 42478 */ {(12<<2)|2,{109,56,0}}, +/* 42479 */ {(12<<2)|2,{109,56,0}}, +/* 42480 */ {(12<<2)|2,{109,57,0}}, +/* 42481 */ {(12<<2)|2,{109,57,0}}, +/* 42482 */ {(12<<2)|2,{109,57,0}}, +/* 42483 */ {(12<<2)|2,{109,57,0}}, +/* 42484 */ {(12<<2)|2,{109,57,0}}, +/* 42485 */ {(12<<2)|2,{109,57,0}}, +/* 42486 */ {(12<<2)|2,{109,57,0}}, +/* 42487 */ {(12<<2)|2,{109,57,0}}, +/* 42488 */ {(12<<2)|2,{109,57,0}}, +/* 42489 */ {(12<<2)|2,{109,57,0}}, +/* 42490 */ {(12<<2)|2,{109,57,0}}, +/* 42491 */ {(12<<2)|2,{109,57,0}}, +/* 42492 */ {(12<<2)|2,{109,57,0}}, +/* 42493 */ {(12<<2)|2,{109,57,0}}, +/* 42494 */ {(12<<2)|2,{109,57,0}}, +/* 42495 */ {(12<<2)|2,{109,57,0}}, +/* 42496 */ {(12<<2)|2,{109,61,0}}, +/* 42497 */ {(12<<2)|2,{109,61,0}}, +/* 42498 */ {(12<<2)|2,{109,61,0}}, +/* 42499 */ {(12<<2)|2,{109,61,0}}, +/* 42500 */ {(12<<2)|2,{109,61,0}}, +/* 42501 */ {(12<<2)|2,{109,61,0}}, +/* 42502 */ {(12<<2)|2,{109,61,0}}, +/* 42503 */ {(12<<2)|2,{109,61,0}}, +/* 42504 */ {(12<<2)|2,{109,61,0}}, +/* 42505 */ {(12<<2)|2,{109,61,0}}, +/* 42506 */ {(12<<2)|2,{109,61,0}}, +/* 42507 */ {(12<<2)|2,{109,61,0}}, +/* 42508 */ {(12<<2)|2,{109,61,0}}, +/* 42509 */ {(12<<2)|2,{109,61,0}}, +/* 42510 */ {(12<<2)|2,{109,61,0}}, +/* 42511 */ {(12<<2)|2,{109,61,0}}, +/* 42512 */ {(12<<2)|2,{109,65,0}}, +/* 42513 */ {(12<<2)|2,{109,65,0}}, +/* 42514 */ {(12<<2)|2,{109,65,0}}, +/* 42515 */ {(12<<2)|2,{109,65,0}}, +/* 42516 */ {(12<<2)|2,{109,65,0}}, +/* 42517 */ {(12<<2)|2,{109,65,0}}, +/* 42518 */ {(12<<2)|2,{109,65,0}}, +/* 42519 */ {(12<<2)|2,{109,65,0}}, +/* 42520 */ {(12<<2)|2,{109,65,0}}, +/* 42521 */ {(12<<2)|2,{109,65,0}}, +/* 42522 */ {(12<<2)|2,{109,65,0}}, +/* 42523 */ {(12<<2)|2,{109,65,0}}, +/* 42524 */ {(12<<2)|2,{109,65,0}}, +/* 42525 */ {(12<<2)|2,{109,65,0}}, +/* 42526 */ {(12<<2)|2,{109,65,0}}, +/* 42527 */ {(12<<2)|2,{109,65,0}}, +/* 42528 */ {(12<<2)|2,{109,95,0}}, +/* 42529 */ {(12<<2)|2,{109,95,0}}, +/* 42530 */ {(12<<2)|2,{109,95,0}}, +/* 42531 */ {(12<<2)|2,{109,95,0}}, +/* 42532 */ {(12<<2)|2,{109,95,0}}, +/* 42533 */ {(12<<2)|2,{109,95,0}}, +/* 42534 */ {(12<<2)|2,{109,95,0}}, +/* 42535 */ {(12<<2)|2,{109,95,0}}, +/* 42536 */ {(12<<2)|2,{109,95,0}}, +/* 42537 */ {(12<<2)|2,{109,95,0}}, +/* 42538 */ {(12<<2)|2,{109,95,0}}, +/* 42539 */ {(12<<2)|2,{109,95,0}}, +/* 42540 */ {(12<<2)|2,{109,95,0}}, +/* 42541 */ {(12<<2)|2,{109,95,0}}, +/* 42542 */ {(12<<2)|2,{109,95,0}}, +/* 42543 */ {(12<<2)|2,{109,95,0}}, +/* 42544 */ {(12<<2)|2,{109,98,0}}, +/* 42545 */ {(12<<2)|2,{109,98,0}}, +/* 42546 */ {(12<<2)|2,{109,98,0}}, +/* 42547 */ {(12<<2)|2,{109,98,0}}, +/* 42548 */ {(12<<2)|2,{109,98,0}}, +/* 42549 */ {(12<<2)|2,{109,98,0}}, +/* 42550 */ {(12<<2)|2,{109,98,0}}, +/* 42551 */ {(12<<2)|2,{109,98,0}}, +/* 42552 */ {(12<<2)|2,{109,98,0}}, +/* 42553 */ {(12<<2)|2,{109,98,0}}, +/* 42554 */ {(12<<2)|2,{109,98,0}}, +/* 42555 */ {(12<<2)|2,{109,98,0}}, +/* 42556 */ {(12<<2)|2,{109,98,0}}, +/* 42557 */ {(12<<2)|2,{109,98,0}}, +/* 42558 */ {(12<<2)|2,{109,98,0}}, +/* 42559 */ {(12<<2)|2,{109,98,0}}, +/* 42560 */ {(12<<2)|2,{109,100,0}}, +/* 42561 */ {(12<<2)|2,{109,100,0}}, +/* 42562 */ {(12<<2)|2,{109,100,0}}, +/* 42563 */ {(12<<2)|2,{109,100,0}}, +/* 42564 */ {(12<<2)|2,{109,100,0}}, +/* 42565 */ {(12<<2)|2,{109,100,0}}, +/* 42566 */ {(12<<2)|2,{109,100,0}}, +/* 42567 */ {(12<<2)|2,{109,100,0}}, +/* 42568 */ {(12<<2)|2,{109,100,0}}, +/* 42569 */ {(12<<2)|2,{109,100,0}}, +/* 42570 */ {(12<<2)|2,{109,100,0}}, +/* 42571 */ {(12<<2)|2,{109,100,0}}, +/* 42572 */ {(12<<2)|2,{109,100,0}}, +/* 42573 */ {(12<<2)|2,{109,100,0}}, +/* 42574 */ {(12<<2)|2,{109,100,0}}, +/* 42575 */ {(12<<2)|2,{109,100,0}}, +/* 42576 */ {(12<<2)|2,{109,102,0}}, +/* 42577 */ {(12<<2)|2,{109,102,0}}, +/* 42578 */ {(12<<2)|2,{109,102,0}}, +/* 42579 */ {(12<<2)|2,{109,102,0}}, +/* 42580 */ {(12<<2)|2,{109,102,0}}, +/* 42581 */ {(12<<2)|2,{109,102,0}}, +/* 42582 */ {(12<<2)|2,{109,102,0}}, +/* 42583 */ {(12<<2)|2,{109,102,0}}, +/* 42584 */ {(12<<2)|2,{109,102,0}}, +/* 42585 */ {(12<<2)|2,{109,102,0}}, +/* 42586 */ {(12<<2)|2,{109,102,0}}, +/* 42587 */ {(12<<2)|2,{109,102,0}}, +/* 42588 */ {(12<<2)|2,{109,102,0}}, +/* 42589 */ {(12<<2)|2,{109,102,0}}, +/* 42590 */ {(12<<2)|2,{109,102,0}}, +/* 42591 */ {(12<<2)|2,{109,102,0}}, +/* 42592 */ {(12<<2)|2,{109,103,0}}, +/* 42593 */ {(12<<2)|2,{109,103,0}}, +/* 42594 */ {(12<<2)|2,{109,103,0}}, +/* 42595 */ {(12<<2)|2,{109,103,0}}, +/* 42596 */ {(12<<2)|2,{109,103,0}}, +/* 42597 */ {(12<<2)|2,{109,103,0}}, +/* 42598 */ {(12<<2)|2,{109,103,0}}, +/* 42599 */ {(12<<2)|2,{109,103,0}}, +/* 42600 */ {(12<<2)|2,{109,103,0}}, +/* 42601 */ {(12<<2)|2,{109,103,0}}, +/* 42602 */ {(12<<2)|2,{109,103,0}}, +/* 42603 */ {(12<<2)|2,{109,103,0}}, +/* 42604 */ {(12<<2)|2,{109,103,0}}, +/* 42605 */ {(12<<2)|2,{109,103,0}}, +/* 42606 */ {(12<<2)|2,{109,103,0}}, +/* 42607 */ {(12<<2)|2,{109,103,0}}, +/* 42608 */ {(12<<2)|2,{109,104,0}}, +/* 42609 */ {(12<<2)|2,{109,104,0}}, +/* 42610 */ {(12<<2)|2,{109,104,0}}, +/* 42611 */ {(12<<2)|2,{109,104,0}}, +/* 42612 */ {(12<<2)|2,{109,104,0}}, +/* 42613 */ {(12<<2)|2,{109,104,0}}, +/* 42614 */ {(12<<2)|2,{109,104,0}}, +/* 42615 */ {(12<<2)|2,{109,104,0}}, +/* 42616 */ {(12<<2)|2,{109,104,0}}, +/* 42617 */ {(12<<2)|2,{109,104,0}}, +/* 42618 */ {(12<<2)|2,{109,104,0}}, +/* 42619 */ {(12<<2)|2,{109,104,0}}, +/* 42620 */ {(12<<2)|2,{109,104,0}}, +/* 42621 */ {(12<<2)|2,{109,104,0}}, +/* 42622 */ {(12<<2)|2,{109,104,0}}, +/* 42623 */ {(12<<2)|2,{109,104,0}}, +/* 42624 */ {(12<<2)|2,{109,108,0}}, +/* 42625 */ {(12<<2)|2,{109,108,0}}, +/* 42626 */ {(12<<2)|2,{109,108,0}}, +/* 42627 */ {(12<<2)|2,{109,108,0}}, +/* 42628 */ {(12<<2)|2,{109,108,0}}, +/* 42629 */ {(12<<2)|2,{109,108,0}}, +/* 42630 */ {(12<<2)|2,{109,108,0}}, +/* 42631 */ {(12<<2)|2,{109,108,0}}, +/* 42632 */ {(12<<2)|2,{109,108,0}}, +/* 42633 */ {(12<<2)|2,{109,108,0}}, +/* 42634 */ {(12<<2)|2,{109,108,0}}, +/* 42635 */ {(12<<2)|2,{109,108,0}}, +/* 42636 */ {(12<<2)|2,{109,108,0}}, +/* 42637 */ {(12<<2)|2,{109,108,0}}, +/* 42638 */ {(12<<2)|2,{109,108,0}}, +/* 42639 */ {(12<<2)|2,{109,108,0}}, +/* 42640 */ {(12<<2)|2,{109,109,0}}, +/* 42641 */ {(12<<2)|2,{109,109,0}}, +/* 42642 */ {(12<<2)|2,{109,109,0}}, +/* 42643 */ {(12<<2)|2,{109,109,0}}, +/* 42644 */ {(12<<2)|2,{109,109,0}}, +/* 42645 */ {(12<<2)|2,{109,109,0}}, +/* 42646 */ {(12<<2)|2,{109,109,0}}, +/* 42647 */ {(12<<2)|2,{109,109,0}}, +/* 42648 */ {(12<<2)|2,{109,109,0}}, +/* 42649 */ {(12<<2)|2,{109,109,0}}, +/* 42650 */ {(12<<2)|2,{109,109,0}}, +/* 42651 */ {(12<<2)|2,{109,109,0}}, +/* 42652 */ {(12<<2)|2,{109,109,0}}, +/* 42653 */ {(12<<2)|2,{109,109,0}}, +/* 42654 */ {(12<<2)|2,{109,109,0}}, +/* 42655 */ {(12<<2)|2,{109,109,0}}, +/* 42656 */ {(12<<2)|2,{109,110,0}}, +/* 42657 */ {(12<<2)|2,{109,110,0}}, +/* 42658 */ {(12<<2)|2,{109,110,0}}, +/* 42659 */ {(12<<2)|2,{109,110,0}}, +/* 42660 */ {(12<<2)|2,{109,110,0}}, +/* 42661 */ {(12<<2)|2,{109,110,0}}, +/* 42662 */ {(12<<2)|2,{109,110,0}}, +/* 42663 */ {(12<<2)|2,{109,110,0}}, +/* 42664 */ {(12<<2)|2,{109,110,0}}, +/* 42665 */ {(12<<2)|2,{109,110,0}}, +/* 42666 */ {(12<<2)|2,{109,110,0}}, +/* 42667 */ {(12<<2)|2,{109,110,0}}, +/* 42668 */ {(12<<2)|2,{109,110,0}}, +/* 42669 */ {(12<<2)|2,{109,110,0}}, +/* 42670 */ {(12<<2)|2,{109,110,0}}, +/* 42671 */ {(12<<2)|2,{109,110,0}}, +/* 42672 */ {(12<<2)|2,{109,112,0}}, +/* 42673 */ {(12<<2)|2,{109,112,0}}, +/* 42674 */ {(12<<2)|2,{109,112,0}}, +/* 42675 */ {(12<<2)|2,{109,112,0}}, +/* 42676 */ {(12<<2)|2,{109,112,0}}, +/* 42677 */ {(12<<2)|2,{109,112,0}}, +/* 42678 */ {(12<<2)|2,{109,112,0}}, +/* 42679 */ {(12<<2)|2,{109,112,0}}, +/* 42680 */ {(12<<2)|2,{109,112,0}}, +/* 42681 */ {(12<<2)|2,{109,112,0}}, +/* 42682 */ {(12<<2)|2,{109,112,0}}, +/* 42683 */ {(12<<2)|2,{109,112,0}}, +/* 42684 */ {(12<<2)|2,{109,112,0}}, +/* 42685 */ {(12<<2)|2,{109,112,0}}, +/* 42686 */ {(12<<2)|2,{109,112,0}}, +/* 42687 */ {(12<<2)|2,{109,112,0}}, +/* 42688 */ {(12<<2)|2,{109,114,0}}, +/* 42689 */ {(12<<2)|2,{109,114,0}}, +/* 42690 */ {(12<<2)|2,{109,114,0}}, +/* 42691 */ {(12<<2)|2,{109,114,0}}, +/* 42692 */ {(12<<2)|2,{109,114,0}}, +/* 42693 */ {(12<<2)|2,{109,114,0}}, +/* 42694 */ {(12<<2)|2,{109,114,0}}, +/* 42695 */ {(12<<2)|2,{109,114,0}}, +/* 42696 */ {(12<<2)|2,{109,114,0}}, +/* 42697 */ {(12<<2)|2,{109,114,0}}, +/* 42698 */ {(12<<2)|2,{109,114,0}}, +/* 42699 */ {(12<<2)|2,{109,114,0}}, +/* 42700 */ {(12<<2)|2,{109,114,0}}, +/* 42701 */ {(12<<2)|2,{109,114,0}}, +/* 42702 */ {(12<<2)|2,{109,114,0}}, +/* 42703 */ {(12<<2)|2,{109,114,0}}, +/* 42704 */ {(12<<2)|2,{109,117,0}}, +/* 42705 */ {(12<<2)|2,{109,117,0}}, +/* 42706 */ {(12<<2)|2,{109,117,0}}, +/* 42707 */ {(12<<2)|2,{109,117,0}}, +/* 42708 */ {(12<<2)|2,{109,117,0}}, +/* 42709 */ {(12<<2)|2,{109,117,0}}, +/* 42710 */ {(12<<2)|2,{109,117,0}}, +/* 42711 */ {(12<<2)|2,{109,117,0}}, +/* 42712 */ {(12<<2)|2,{109,117,0}}, +/* 42713 */ {(12<<2)|2,{109,117,0}}, +/* 42714 */ {(12<<2)|2,{109,117,0}}, +/* 42715 */ {(12<<2)|2,{109,117,0}}, +/* 42716 */ {(12<<2)|2,{109,117,0}}, +/* 42717 */ {(12<<2)|2,{109,117,0}}, +/* 42718 */ {(12<<2)|2,{109,117,0}}, +/* 42719 */ {(12<<2)|2,{109,117,0}}, +/* 42720 */ {(13<<2)|2,{109,58,0}}, +/* 42721 */ {(13<<2)|2,{109,58,0}}, +/* 42722 */ {(13<<2)|2,{109,58,0}}, +/* 42723 */ {(13<<2)|2,{109,58,0}}, +/* 42724 */ {(13<<2)|2,{109,58,0}}, +/* 42725 */ {(13<<2)|2,{109,58,0}}, +/* 42726 */ {(13<<2)|2,{109,58,0}}, +/* 42727 */ {(13<<2)|2,{109,58,0}}, +/* 42728 */ {(13<<2)|2,{109,66,0}}, +/* 42729 */ {(13<<2)|2,{109,66,0}}, +/* 42730 */ {(13<<2)|2,{109,66,0}}, +/* 42731 */ {(13<<2)|2,{109,66,0}}, +/* 42732 */ {(13<<2)|2,{109,66,0}}, +/* 42733 */ {(13<<2)|2,{109,66,0}}, +/* 42734 */ {(13<<2)|2,{109,66,0}}, +/* 42735 */ {(13<<2)|2,{109,66,0}}, +/* 42736 */ {(13<<2)|2,{109,67,0}}, +/* 42737 */ {(13<<2)|2,{109,67,0}}, +/* 42738 */ {(13<<2)|2,{109,67,0}}, +/* 42739 */ {(13<<2)|2,{109,67,0}}, +/* 42740 */ {(13<<2)|2,{109,67,0}}, +/* 42741 */ {(13<<2)|2,{109,67,0}}, +/* 42742 */ {(13<<2)|2,{109,67,0}}, +/* 42743 */ {(13<<2)|2,{109,67,0}}, +/* 42744 */ {(13<<2)|2,{109,68,0}}, +/* 42745 */ {(13<<2)|2,{109,68,0}}, +/* 42746 */ {(13<<2)|2,{109,68,0}}, +/* 42747 */ {(13<<2)|2,{109,68,0}}, +/* 42748 */ {(13<<2)|2,{109,68,0}}, +/* 42749 */ {(13<<2)|2,{109,68,0}}, +/* 42750 */ {(13<<2)|2,{109,68,0}}, +/* 42751 */ {(13<<2)|2,{109,68,0}}, +/* 42752 */ {(13<<2)|2,{109,69,0}}, +/* 42753 */ {(13<<2)|2,{109,69,0}}, +/* 42754 */ {(13<<2)|2,{109,69,0}}, +/* 42755 */ {(13<<2)|2,{109,69,0}}, +/* 42756 */ {(13<<2)|2,{109,69,0}}, +/* 42757 */ {(13<<2)|2,{109,69,0}}, +/* 42758 */ {(13<<2)|2,{109,69,0}}, +/* 42759 */ {(13<<2)|2,{109,69,0}}, +/* 42760 */ {(13<<2)|2,{109,70,0}}, +/* 42761 */ {(13<<2)|2,{109,70,0}}, +/* 42762 */ {(13<<2)|2,{109,70,0}}, +/* 42763 */ {(13<<2)|2,{109,70,0}}, +/* 42764 */ {(13<<2)|2,{109,70,0}}, +/* 42765 */ {(13<<2)|2,{109,70,0}}, +/* 42766 */ {(13<<2)|2,{109,70,0}}, +/* 42767 */ {(13<<2)|2,{109,70,0}}, +/* 42768 */ {(13<<2)|2,{109,71,0}}, +/* 42769 */ {(13<<2)|2,{109,71,0}}, +/* 42770 */ {(13<<2)|2,{109,71,0}}, +/* 42771 */ {(13<<2)|2,{109,71,0}}, +/* 42772 */ {(13<<2)|2,{109,71,0}}, +/* 42773 */ {(13<<2)|2,{109,71,0}}, +/* 42774 */ {(13<<2)|2,{109,71,0}}, +/* 42775 */ {(13<<2)|2,{109,71,0}}, +/* 42776 */ {(13<<2)|2,{109,72,0}}, +/* 42777 */ {(13<<2)|2,{109,72,0}}, +/* 42778 */ {(13<<2)|2,{109,72,0}}, +/* 42779 */ {(13<<2)|2,{109,72,0}}, +/* 42780 */ {(13<<2)|2,{109,72,0}}, +/* 42781 */ {(13<<2)|2,{109,72,0}}, +/* 42782 */ {(13<<2)|2,{109,72,0}}, +/* 42783 */ {(13<<2)|2,{109,72,0}}, +/* 42784 */ {(13<<2)|2,{109,73,0}}, +/* 42785 */ {(13<<2)|2,{109,73,0}}, +/* 42786 */ {(13<<2)|2,{109,73,0}}, +/* 42787 */ {(13<<2)|2,{109,73,0}}, +/* 42788 */ {(13<<2)|2,{109,73,0}}, +/* 42789 */ {(13<<2)|2,{109,73,0}}, +/* 42790 */ {(13<<2)|2,{109,73,0}}, +/* 42791 */ {(13<<2)|2,{109,73,0}}, +/* 42792 */ {(13<<2)|2,{109,74,0}}, +/* 42793 */ {(13<<2)|2,{109,74,0}}, +/* 42794 */ {(13<<2)|2,{109,74,0}}, +/* 42795 */ {(13<<2)|2,{109,74,0}}, +/* 42796 */ {(13<<2)|2,{109,74,0}}, +/* 42797 */ {(13<<2)|2,{109,74,0}}, +/* 42798 */ {(13<<2)|2,{109,74,0}}, +/* 42799 */ {(13<<2)|2,{109,74,0}}, +/* 42800 */ {(13<<2)|2,{109,75,0}}, +/* 42801 */ {(13<<2)|2,{109,75,0}}, +/* 42802 */ {(13<<2)|2,{109,75,0}}, +/* 42803 */ {(13<<2)|2,{109,75,0}}, +/* 42804 */ {(13<<2)|2,{109,75,0}}, +/* 42805 */ {(13<<2)|2,{109,75,0}}, +/* 42806 */ {(13<<2)|2,{109,75,0}}, +/* 42807 */ {(13<<2)|2,{109,75,0}}, +/* 42808 */ {(13<<2)|2,{109,76,0}}, +/* 42809 */ {(13<<2)|2,{109,76,0}}, +/* 42810 */ {(13<<2)|2,{109,76,0}}, +/* 42811 */ {(13<<2)|2,{109,76,0}}, +/* 42812 */ {(13<<2)|2,{109,76,0}}, +/* 42813 */ {(13<<2)|2,{109,76,0}}, +/* 42814 */ {(13<<2)|2,{109,76,0}}, +/* 42815 */ {(13<<2)|2,{109,76,0}}, +/* 42816 */ {(13<<2)|2,{109,77,0}}, +/* 42817 */ {(13<<2)|2,{109,77,0}}, +/* 42818 */ {(13<<2)|2,{109,77,0}}, +/* 42819 */ {(13<<2)|2,{109,77,0}}, +/* 42820 */ {(13<<2)|2,{109,77,0}}, +/* 42821 */ {(13<<2)|2,{109,77,0}}, +/* 42822 */ {(13<<2)|2,{109,77,0}}, +/* 42823 */ {(13<<2)|2,{109,77,0}}, +/* 42824 */ {(13<<2)|2,{109,78,0}}, +/* 42825 */ {(13<<2)|2,{109,78,0}}, +/* 42826 */ {(13<<2)|2,{109,78,0}}, +/* 42827 */ {(13<<2)|2,{109,78,0}}, +/* 42828 */ {(13<<2)|2,{109,78,0}}, +/* 42829 */ {(13<<2)|2,{109,78,0}}, +/* 42830 */ {(13<<2)|2,{109,78,0}}, +/* 42831 */ {(13<<2)|2,{109,78,0}}, +/* 42832 */ {(13<<2)|2,{109,79,0}}, +/* 42833 */ {(13<<2)|2,{109,79,0}}, +/* 42834 */ {(13<<2)|2,{109,79,0}}, +/* 42835 */ {(13<<2)|2,{109,79,0}}, +/* 42836 */ {(13<<2)|2,{109,79,0}}, +/* 42837 */ {(13<<2)|2,{109,79,0}}, +/* 42838 */ {(13<<2)|2,{109,79,0}}, +/* 42839 */ {(13<<2)|2,{109,79,0}}, +/* 42840 */ {(13<<2)|2,{109,80,0}}, +/* 42841 */ {(13<<2)|2,{109,80,0}}, +/* 42842 */ {(13<<2)|2,{109,80,0}}, +/* 42843 */ {(13<<2)|2,{109,80,0}}, +/* 42844 */ {(13<<2)|2,{109,80,0}}, +/* 42845 */ {(13<<2)|2,{109,80,0}}, +/* 42846 */ {(13<<2)|2,{109,80,0}}, +/* 42847 */ {(13<<2)|2,{109,80,0}}, +/* 42848 */ {(13<<2)|2,{109,81,0}}, +/* 42849 */ {(13<<2)|2,{109,81,0}}, +/* 42850 */ {(13<<2)|2,{109,81,0}}, +/* 42851 */ {(13<<2)|2,{109,81,0}}, +/* 42852 */ {(13<<2)|2,{109,81,0}}, +/* 42853 */ {(13<<2)|2,{109,81,0}}, +/* 42854 */ {(13<<2)|2,{109,81,0}}, +/* 42855 */ {(13<<2)|2,{109,81,0}}, +/* 42856 */ {(13<<2)|2,{109,82,0}}, +/* 42857 */ {(13<<2)|2,{109,82,0}}, +/* 42858 */ {(13<<2)|2,{109,82,0}}, +/* 42859 */ {(13<<2)|2,{109,82,0}}, +/* 42860 */ {(13<<2)|2,{109,82,0}}, +/* 42861 */ {(13<<2)|2,{109,82,0}}, +/* 42862 */ {(13<<2)|2,{109,82,0}}, +/* 42863 */ {(13<<2)|2,{109,82,0}}, +/* 42864 */ {(13<<2)|2,{109,83,0}}, +/* 42865 */ {(13<<2)|2,{109,83,0}}, +/* 42866 */ {(13<<2)|2,{109,83,0}}, +/* 42867 */ {(13<<2)|2,{109,83,0}}, +/* 42868 */ {(13<<2)|2,{109,83,0}}, +/* 42869 */ {(13<<2)|2,{109,83,0}}, +/* 42870 */ {(13<<2)|2,{109,83,0}}, +/* 42871 */ {(13<<2)|2,{109,83,0}}, +/* 42872 */ {(13<<2)|2,{109,84,0}}, +/* 42873 */ {(13<<2)|2,{109,84,0}}, +/* 42874 */ {(13<<2)|2,{109,84,0}}, +/* 42875 */ {(13<<2)|2,{109,84,0}}, +/* 42876 */ {(13<<2)|2,{109,84,0}}, +/* 42877 */ {(13<<2)|2,{109,84,0}}, +/* 42878 */ {(13<<2)|2,{109,84,0}}, +/* 42879 */ {(13<<2)|2,{109,84,0}}, +/* 42880 */ {(13<<2)|2,{109,85,0}}, +/* 42881 */ {(13<<2)|2,{109,85,0}}, +/* 42882 */ {(13<<2)|2,{109,85,0}}, +/* 42883 */ {(13<<2)|2,{109,85,0}}, +/* 42884 */ {(13<<2)|2,{109,85,0}}, +/* 42885 */ {(13<<2)|2,{109,85,0}}, +/* 42886 */ {(13<<2)|2,{109,85,0}}, +/* 42887 */ {(13<<2)|2,{109,85,0}}, +/* 42888 */ {(13<<2)|2,{109,86,0}}, +/* 42889 */ {(13<<2)|2,{109,86,0}}, +/* 42890 */ {(13<<2)|2,{109,86,0}}, +/* 42891 */ {(13<<2)|2,{109,86,0}}, +/* 42892 */ {(13<<2)|2,{109,86,0}}, +/* 42893 */ {(13<<2)|2,{109,86,0}}, +/* 42894 */ {(13<<2)|2,{109,86,0}}, +/* 42895 */ {(13<<2)|2,{109,86,0}}, +/* 42896 */ {(13<<2)|2,{109,87,0}}, +/* 42897 */ {(13<<2)|2,{109,87,0}}, +/* 42898 */ {(13<<2)|2,{109,87,0}}, +/* 42899 */ {(13<<2)|2,{109,87,0}}, +/* 42900 */ {(13<<2)|2,{109,87,0}}, +/* 42901 */ {(13<<2)|2,{109,87,0}}, +/* 42902 */ {(13<<2)|2,{109,87,0}}, +/* 42903 */ {(13<<2)|2,{109,87,0}}, +/* 42904 */ {(13<<2)|2,{109,89,0}}, +/* 42905 */ {(13<<2)|2,{109,89,0}}, +/* 42906 */ {(13<<2)|2,{109,89,0}}, +/* 42907 */ {(13<<2)|2,{109,89,0}}, +/* 42908 */ {(13<<2)|2,{109,89,0}}, +/* 42909 */ {(13<<2)|2,{109,89,0}}, +/* 42910 */ {(13<<2)|2,{109,89,0}}, +/* 42911 */ {(13<<2)|2,{109,89,0}}, +/* 42912 */ {(13<<2)|2,{109,106,0}}, +/* 42913 */ {(13<<2)|2,{109,106,0}}, +/* 42914 */ {(13<<2)|2,{109,106,0}}, +/* 42915 */ {(13<<2)|2,{109,106,0}}, +/* 42916 */ {(13<<2)|2,{109,106,0}}, +/* 42917 */ {(13<<2)|2,{109,106,0}}, +/* 42918 */ {(13<<2)|2,{109,106,0}}, +/* 42919 */ {(13<<2)|2,{109,106,0}}, +/* 42920 */ {(13<<2)|2,{109,107,0}}, +/* 42921 */ {(13<<2)|2,{109,107,0}}, +/* 42922 */ {(13<<2)|2,{109,107,0}}, +/* 42923 */ {(13<<2)|2,{109,107,0}}, +/* 42924 */ {(13<<2)|2,{109,107,0}}, +/* 42925 */ {(13<<2)|2,{109,107,0}}, +/* 42926 */ {(13<<2)|2,{109,107,0}}, +/* 42927 */ {(13<<2)|2,{109,107,0}}, +/* 42928 */ {(13<<2)|2,{109,113,0}}, +/* 42929 */ {(13<<2)|2,{109,113,0}}, +/* 42930 */ {(13<<2)|2,{109,113,0}}, +/* 42931 */ {(13<<2)|2,{109,113,0}}, +/* 42932 */ {(13<<2)|2,{109,113,0}}, +/* 42933 */ {(13<<2)|2,{109,113,0}}, +/* 42934 */ {(13<<2)|2,{109,113,0}}, +/* 42935 */ {(13<<2)|2,{109,113,0}}, +/* 42936 */ {(13<<2)|2,{109,118,0}}, +/* 42937 */ {(13<<2)|2,{109,118,0}}, +/* 42938 */ {(13<<2)|2,{109,118,0}}, +/* 42939 */ {(13<<2)|2,{109,118,0}}, +/* 42940 */ {(13<<2)|2,{109,118,0}}, +/* 42941 */ {(13<<2)|2,{109,118,0}}, +/* 42942 */ {(13<<2)|2,{109,118,0}}, +/* 42943 */ {(13<<2)|2,{109,118,0}}, +/* 42944 */ {(13<<2)|2,{109,119,0}}, +/* 42945 */ {(13<<2)|2,{109,119,0}}, +/* 42946 */ {(13<<2)|2,{109,119,0}}, +/* 42947 */ {(13<<2)|2,{109,119,0}}, +/* 42948 */ {(13<<2)|2,{109,119,0}}, +/* 42949 */ {(13<<2)|2,{109,119,0}}, +/* 42950 */ {(13<<2)|2,{109,119,0}}, +/* 42951 */ {(13<<2)|2,{109,119,0}}, +/* 42952 */ {(13<<2)|2,{109,120,0}}, +/* 42953 */ {(13<<2)|2,{109,120,0}}, +/* 42954 */ {(13<<2)|2,{109,120,0}}, +/* 42955 */ {(13<<2)|2,{109,120,0}}, +/* 42956 */ {(13<<2)|2,{109,120,0}}, +/* 42957 */ {(13<<2)|2,{109,120,0}}, +/* 42958 */ {(13<<2)|2,{109,120,0}}, +/* 42959 */ {(13<<2)|2,{109,120,0}}, +/* 42960 */ {(13<<2)|2,{109,121,0}}, +/* 42961 */ {(13<<2)|2,{109,121,0}}, +/* 42962 */ {(13<<2)|2,{109,121,0}}, +/* 42963 */ {(13<<2)|2,{109,121,0}}, +/* 42964 */ {(13<<2)|2,{109,121,0}}, +/* 42965 */ {(13<<2)|2,{109,121,0}}, +/* 42966 */ {(13<<2)|2,{109,121,0}}, +/* 42967 */ {(13<<2)|2,{109,121,0}}, +/* 42968 */ {(13<<2)|2,{109,122,0}}, +/* 42969 */ {(13<<2)|2,{109,122,0}}, +/* 42970 */ {(13<<2)|2,{109,122,0}}, +/* 42971 */ {(13<<2)|2,{109,122,0}}, +/* 42972 */ {(13<<2)|2,{109,122,0}}, +/* 42973 */ {(13<<2)|2,{109,122,0}}, +/* 42974 */ {(13<<2)|2,{109,122,0}}, +/* 42975 */ {(13<<2)|2,{109,122,0}}, +/* 42976 */ {(14<<2)|2,{109,38,0}}, +/* 42977 */ {(14<<2)|2,{109,38,0}}, +/* 42978 */ {(14<<2)|2,{109,38,0}}, +/* 42979 */ {(14<<2)|2,{109,38,0}}, +/* 42980 */ {(14<<2)|2,{109,42,0}}, +/* 42981 */ {(14<<2)|2,{109,42,0}}, +/* 42982 */ {(14<<2)|2,{109,42,0}}, +/* 42983 */ {(14<<2)|2,{109,42,0}}, +/* 42984 */ {(14<<2)|2,{109,44,0}}, +/* 42985 */ {(14<<2)|2,{109,44,0}}, +/* 42986 */ {(14<<2)|2,{109,44,0}}, +/* 42987 */ {(14<<2)|2,{109,44,0}}, +/* 42988 */ {(14<<2)|2,{109,59,0}}, +/* 42989 */ {(14<<2)|2,{109,59,0}}, +/* 42990 */ {(14<<2)|2,{109,59,0}}, +/* 42991 */ {(14<<2)|2,{109,59,0}}, +/* 42992 */ {(14<<2)|2,{109,88,0}}, +/* 42993 */ {(14<<2)|2,{109,88,0}}, +/* 42994 */ {(14<<2)|2,{109,88,0}}, +/* 42995 */ {(14<<2)|2,{109,88,0}}, +/* 42996 */ {(14<<2)|2,{109,90,0}}, +/* 42997 */ {(14<<2)|2,{109,90,0}}, +/* 42998 */ {(14<<2)|2,{109,90,0}}, +/* 42999 */ {(14<<2)|2,{109,90,0}}, +/* 43000 */ {(16<<2)|2,{109,33,0}}, +/* 43001 */ {(16<<2)|2,{109,34,0}}, +/* 43002 */ {(16<<2)|2,{109,40,0}}, +/* 43003 */ {(16<<2)|2,{109,41,0}}, +/* 43004 */ {(16<<2)|2,{109,63,0}}, +/* 43005 */ {(6<<2)|1,{109,0,0}}, +/* 43006 */ {(6<<2)|1,{109,0,0}}, +/* 43007 */ {(6<<2)|1,{109,0,0}}, +/* 43008 */ {(16<<2)|3,{110,48,48}}, +/* 43009 */ {(16<<2)|3,{110,48,49}}, +/* 43010 */ {(16<<2)|3,{110,48,50}}, +/* 43011 */ {(16<<2)|3,{110,48,97}}, +/* 43012 */ {(16<<2)|3,{110,48,99}}, +/* 43013 */ {(16<<2)|3,{110,48,101}}, +/* 43014 */ {(16<<2)|3,{110,48,105}}, +/* 43015 */ {(16<<2)|3,{110,48,111}}, +/* 43016 */ {(16<<2)|3,{110,48,115}}, +/* 43017 */ {(16<<2)|3,{110,48,116}}, +/* 43018 */ {(11<<2)|2,{110,48,0}}, +/* 43019 */ {(11<<2)|2,{110,48,0}}, +/* 43020 */ {(11<<2)|2,{110,48,0}}, +/* 43021 */ {(11<<2)|2,{110,48,0}}, +/* 43022 */ {(11<<2)|2,{110,48,0}}, +/* 43023 */ {(11<<2)|2,{110,48,0}}, +/* 43024 */ {(11<<2)|2,{110,48,0}}, +/* 43025 */ {(11<<2)|2,{110,48,0}}, +/* 43026 */ {(11<<2)|2,{110,48,0}}, +/* 43027 */ {(11<<2)|2,{110,48,0}}, +/* 43028 */ {(11<<2)|2,{110,48,0}}, +/* 43029 */ {(11<<2)|2,{110,48,0}}, +/* 43030 */ {(11<<2)|2,{110,48,0}}, +/* 43031 */ {(11<<2)|2,{110,48,0}}, +/* 43032 */ {(11<<2)|2,{110,48,0}}, +/* 43033 */ {(11<<2)|2,{110,48,0}}, +/* 43034 */ {(11<<2)|2,{110,48,0}}, +/* 43035 */ {(11<<2)|2,{110,48,0}}, +/* 43036 */ {(11<<2)|2,{110,48,0}}, +/* 43037 */ {(11<<2)|2,{110,48,0}}, +/* 43038 */ {(11<<2)|2,{110,48,0}}, +/* 43039 */ {(11<<2)|2,{110,48,0}}, +/* 43040 */ {(16<<2)|3,{110,49,48}}, +/* 43041 */ {(16<<2)|3,{110,49,49}}, +/* 43042 */ {(16<<2)|3,{110,49,50}}, +/* 43043 */ {(16<<2)|3,{110,49,97}}, +/* 43044 */ {(16<<2)|3,{110,49,99}}, +/* 43045 */ {(16<<2)|3,{110,49,101}}, +/* 43046 */ {(16<<2)|3,{110,49,105}}, +/* 43047 */ {(16<<2)|3,{110,49,111}}, +/* 43048 */ {(16<<2)|3,{110,49,115}}, +/* 43049 */ {(16<<2)|3,{110,49,116}}, +/* 43050 */ {(11<<2)|2,{110,49,0}}, +/* 43051 */ {(11<<2)|2,{110,49,0}}, +/* 43052 */ {(11<<2)|2,{110,49,0}}, +/* 43053 */ {(11<<2)|2,{110,49,0}}, +/* 43054 */ {(11<<2)|2,{110,49,0}}, +/* 43055 */ {(11<<2)|2,{110,49,0}}, +/* 43056 */ {(11<<2)|2,{110,49,0}}, +/* 43057 */ {(11<<2)|2,{110,49,0}}, +/* 43058 */ {(11<<2)|2,{110,49,0}}, +/* 43059 */ {(11<<2)|2,{110,49,0}}, +/* 43060 */ {(11<<2)|2,{110,49,0}}, +/* 43061 */ {(11<<2)|2,{110,49,0}}, +/* 43062 */ {(11<<2)|2,{110,49,0}}, +/* 43063 */ {(11<<2)|2,{110,49,0}}, +/* 43064 */ {(11<<2)|2,{110,49,0}}, +/* 43065 */ {(11<<2)|2,{110,49,0}}, +/* 43066 */ {(11<<2)|2,{110,49,0}}, +/* 43067 */ {(11<<2)|2,{110,49,0}}, +/* 43068 */ {(11<<2)|2,{110,49,0}}, +/* 43069 */ {(11<<2)|2,{110,49,0}}, +/* 43070 */ {(11<<2)|2,{110,49,0}}, +/* 43071 */ {(11<<2)|2,{110,49,0}}, +/* 43072 */ {(16<<2)|3,{110,50,48}}, +/* 43073 */ {(16<<2)|3,{110,50,49}}, +/* 43074 */ {(16<<2)|3,{110,50,50}}, +/* 43075 */ {(16<<2)|3,{110,50,97}}, +/* 43076 */ {(16<<2)|3,{110,50,99}}, +/* 43077 */ {(16<<2)|3,{110,50,101}}, +/* 43078 */ {(16<<2)|3,{110,50,105}}, +/* 43079 */ {(16<<2)|3,{110,50,111}}, +/* 43080 */ {(16<<2)|3,{110,50,115}}, +/* 43081 */ {(16<<2)|3,{110,50,116}}, +/* 43082 */ {(11<<2)|2,{110,50,0}}, +/* 43083 */ {(11<<2)|2,{110,50,0}}, +/* 43084 */ {(11<<2)|2,{110,50,0}}, +/* 43085 */ {(11<<2)|2,{110,50,0}}, +/* 43086 */ {(11<<2)|2,{110,50,0}}, +/* 43087 */ {(11<<2)|2,{110,50,0}}, +/* 43088 */ {(11<<2)|2,{110,50,0}}, +/* 43089 */ {(11<<2)|2,{110,50,0}}, +/* 43090 */ {(11<<2)|2,{110,50,0}}, +/* 43091 */ {(11<<2)|2,{110,50,0}}, +/* 43092 */ {(11<<2)|2,{110,50,0}}, +/* 43093 */ {(11<<2)|2,{110,50,0}}, +/* 43094 */ {(11<<2)|2,{110,50,0}}, +/* 43095 */ {(11<<2)|2,{110,50,0}}, +/* 43096 */ {(11<<2)|2,{110,50,0}}, +/* 43097 */ {(11<<2)|2,{110,50,0}}, +/* 43098 */ {(11<<2)|2,{110,50,0}}, +/* 43099 */ {(11<<2)|2,{110,50,0}}, +/* 43100 */ {(11<<2)|2,{110,50,0}}, +/* 43101 */ {(11<<2)|2,{110,50,0}}, +/* 43102 */ {(11<<2)|2,{110,50,0}}, +/* 43103 */ {(11<<2)|2,{110,50,0}}, +/* 43104 */ {(16<<2)|3,{110,97,48}}, +/* 43105 */ {(16<<2)|3,{110,97,49}}, +/* 43106 */ {(16<<2)|3,{110,97,50}}, +/* 43107 */ {(16<<2)|3,{110,97,97}}, +/* 43108 */ {(16<<2)|3,{110,97,99}}, +/* 43109 */ {(16<<2)|3,{110,97,101}}, +/* 43110 */ {(16<<2)|3,{110,97,105}}, +/* 43111 */ {(16<<2)|3,{110,97,111}}, +/* 43112 */ {(16<<2)|3,{110,97,115}}, +/* 43113 */ {(16<<2)|3,{110,97,116}}, +/* 43114 */ {(11<<2)|2,{110,97,0}}, +/* 43115 */ {(11<<2)|2,{110,97,0}}, +/* 43116 */ {(11<<2)|2,{110,97,0}}, +/* 43117 */ {(11<<2)|2,{110,97,0}}, +/* 43118 */ {(11<<2)|2,{110,97,0}}, +/* 43119 */ {(11<<2)|2,{110,97,0}}, +/* 43120 */ {(11<<2)|2,{110,97,0}}, +/* 43121 */ {(11<<2)|2,{110,97,0}}, +/* 43122 */ {(11<<2)|2,{110,97,0}}, +/* 43123 */ {(11<<2)|2,{110,97,0}}, +/* 43124 */ {(11<<2)|2,{110,97,0}}, +/* 43125 */ {(11<<2)|2,{110,97,0}}, +/* 43126 */ {(11<<2)|2,{110,97,0}}, +/* 43127 */ {(11<<2)|2,{110,97,0}}, +/* 43128 */ {(11<<2)|2,{110,97,0}}, +/* 43129 */ {(11<<2)|2,{110,97,0}}, +/* 43130 */ {(11<<2)|2,{110,97,0}}, +/* 43131 */ {(11<<2)|2,{110,97,0}}, +/* 43132 */ {(11<<2)|2,{110,97,0}}, +/* 43133 */ {(11<<2)|2,{110,97,0}}, +/* 43134 */ {(11<<2)|2,{110,97,0}}, +/* 43135 */ {(11<<2)|2,{110,97,0}}, +/* 43136 */ {(16<<2)|3,{110,99,48}}, +/* 43137 */ {(16<<2)|3,{110,99,49}}, +/* 43138 */ {(16<<2)|3,{110,99,50}}, +/* 43139 */ {(16<<2)|3,{110,99,97}}, +/* 43140 */ {(16<<2)|3,{110,99,99}}, +/* 43141 */ {(16<<2)|3,{110,99,101}}, +/* 43142 */ {(16<<2)|3,{110,99,105}}, +/* 43143 */ {(16<<2)|3,{110,99,111}}, +/* 43144 */ {(16<<2)|3,{110,99,115}}, +/* 43145 */ {(16<<2)|3,{110,99,116}}, +/* 43146 */ {(11<<2)|2,{110,99,0}}, +/* 43147 */ {(11<<2)|2,{110,99,0}}, +/* 43148 */ {(11<<2)|2,{110,99,0}}, +/* 43149 */ {(11<<2)|2,{110,99,0}}, +/* 43150 */ {(11<<2)|2,{110,99,0}}, +/* 43151 */ {(11<<2)|2,{110,99,0}}, +/* 43152 */ {(11<<2)|2,{110,99,0}}, +/* 43153 */ {(11<<2)|2,{110,99,0}}, +/* 43154 */ {(11<<2)|2,{110,99,0}}, +/* 43155 */ {(11<<2)|2,{110,99,0}}, +/* 43156 */ {(11<<2)|2,{110,99,0}}, +/* 43157 */ {(11<<2)|2,{110,99,0}}, +/* 43158 */ {(11<<2)|2,{110,99,0}}, +/* 43159 */ {(11<<2)|2,{110,99,0}}, +/* 43160 */ {(11<<2)|2,{110,99,0}}, +/* 43161 */ {(11<<2)|2,{110,99,0}}, +/* 43162 */ {(11<<2)|2,{110,99,0}}, +/* 43163 */ {(11<<2)|2,{110,99,0}}, +/* 43164 */ {(11<<2)|2,{110,99,0}}, +/* 43165 */ {(11<<2)|2,{110,99,0}}, +/* 43166 */ {(11<<2)|2,{110,99,0}}, +/* 43167 */ {(11<<2)|2,{110,99,0}}, +/* 43168 */ {(16<<2)|3,{110,101,48}}, +/* 43169 */ {(16<<2)|3,{110,101,49}}, +/* 43170 */ {(16<<2)|3,{110,101,50}}, +/* 43171 */ {(16<<2)|3,{110,101,97}}, +/* 43172 */ {(16<<2)|3,{110,101,99}}, +/* 43173 */ {(16<<2)|3,{110,101,101}}, +/* 43174 */ {(16<<2)|3,{110,101,105}}, +/* 43175 */ {(16<<2)|3,{110,101,111}}, +/* 43176 */ {(16<<2)|3,{110,101,115}}, +/* 43177 */ {(16<<2)|3,{110,101,116}}, +/* 43178 */ {(11<<2)|2,{110,101,0}}, +/* 43179 */ {(11<<2)|2,{110,101,0}}, +/* 43180 */ {(11<<2)|2,{110,101,0}}, +/* 43181 */ {(11<<2)|2,{110,101,0}}, +/* 43182 */ {(11<<2)|2,{110,101,0}}, +/* 43183 */ {(11<<2)|2,{110,101,0}}, +/* 43184 */ {(11<<2)|2,{110,101,0}}, +/* 43185 */ {(11<<2)|2,{110,101,0}}, +/* 43186 */ {(11<<2)|2,{110,101,0}}, +/* 43187 */ {(11<<2)|2,{110,101,0}}, +/* 43188 */ {(11<<2)|2,{110,101,0}}, +/* 43189 */ {(11<<2)|2,{110,101,0}}, +/* 43190 */ {(11<<2)|2,{110,101,0}}, +/* 43191 */ {(11<<2)|2,{110,101,0}}, +/* 43192 */ {(11<<2)|2,{110,101,0}}, +/* 43193 */ {(11<<2)|2,{110,101,0}}, +/* 43194 */ {(11<<2)|2,{110,101,0}}, +/* 43195 */ {(11<<2)|2,{110,101,0}}, +/* 43196 */ {(11<<2)|2,{110,101,0}}, +/* 43197 */ {(11<<2)|2,{110,101,0}}, +/* 43198 */ {(11<<2)|2,{110,101,0}}, +/* 43199 */ {(11<<2)|2,{110,101,0}}, +/* 43200 */ {(16<<2)|3,{110,105,48}}, +/* 43201 */ {(16<<2)|3,{110,105,49}}, +/* 43202 */ {(16<<2)|3,{110,105,50}}, +/* 43203 */ {(16<<2)|3,{110,105,97}}, +/* 43204 */ {(16<<2)|3,{110,105,99}}, +/* 43205 */ {(16<<2)|3,{110,105,101}}, +/* 43206 */ {(16<<2)|3,{110,105,105}}, +/* 43207 */ {(16<<2)|3,{110,105,111}}, +/* 43208 */ {(16<<2)|3,{110,105,115}}, +/* 43209 */ {(16<<2)|3,{110,105,116}}, +/* 43210 */ {(11<<2)|2,{110,105,0}}, +/* 43211 */ {(11<<2)|2,{110,105,0}}, +/* 43212 */ {(11<<2)|2,{110,105,0}}, +/* 43213 */ {(11<<2)|2,{110,105,0}}, +/* 43214 */ {(11<<2)|2,{110,105,0}}, +/* 43215 */ {(11<<2)|2,{110,105,0}}, +/* 43216 */ {(11<<2)|2,{110,105,0}}, +/* 43217 */ {(11<<2)|2,{110,105,0}}, +/* 43218 */ {(11<<2)|2,{110,105,0}}, +/* 43219 */ {(11<<2)|2,{110,105,0}}, +/* 43220 */ {(11<<2)|2,{110,105,0}}, +/* 43221 */ {(11<<2)|2,{110,105,0}}, +/* 43222 */ {(11<<2)|2,{110,105,0}}, +/* 43223 */ {(11<<2)|2,{110,105,0}}, +/* 43224 */ {(11<<2)|2,{110,105,0}}, +/* 43225 */ {(11<<2)|2,{110,105,0}}, +/* 43226 */ {(11<<2)|2,{110,105,0}}, +/* 43227 */ {(11<<2)|2,{110,105,0}}, +/* 43228 */ {(11<<2)|2,{110,105,0}}, +/* 43229 */ {(11<<2)|2,{110,105,0}}, +/* 43230 */ {(11<<2)|2,{110,105,0}}, +/* 43231 */ {(11<<2)|2,{110,105,0}}, +/* 43232 */ {(16<<2)|3,{110,111,48}}, +/* 43233 */ {(16<<2)|3,{110,111,49}}, +/* 43234 */ {(16<<2)|3,{110,111,50}}, +/* 43235 */ {(16<<2)|3,{110,111,97}}, +/* 43236 */ {(16<<2)|3,{110,111,99}}, +/* 43237 */ {(16<<2)|3,{110,111,101}}, +/* 43238 */ {(16<<2)|3,{110,111,105}}, +/* 43239 */ {(16<<2)|3,{110,111,111}}, +/* 43240 */ {(16<<2)|3,{110,111,115}}, +/* 43241 */ {(16<<2)|3,{110,111,116}}, +/* 43242 */ {(11<<2)|2,{110,111,0}}, +/* 43243 */ {(11<<2)|2,{110,111,0}}, +/* 43244 */ {(11<<2)|2,{110,111,0}}, +/* 43245 */ {(11<<2)|2,{110,111,0}}, +/* 43246 */ {(11<<2)|2,{110,111,0}}, +/* 43247 */ {(11<<2)|2,{110,111,0}}, +/* 43248 */ {(11<<2)|2,{110,111,0}}, +/* 43249 */ {(11<<2)|2,{110,111,0}}, +/* 43250 */ {(11<<2)|2,{110,111,0}}, +/* 43251 */ {(11<<2)|2,{110,111,0}}, +/* 43252 */ {(11<<2)|2,{110,111,0}}, +/* 43253 */ {(11<<2)|2,{110,111,0}}, +/* 43254 */ {(11<<2)|2,{110,111,0}}, +/* 43255 */ {(11<<2)|2,{110,111,0}}, +/* 43256 */ {(11<<2)|2,{110,111,0}}, +/* 43257 */ {(11<<2)|2,{110,111,0}}, +/* 43258 */ {(11<<2)|2,{110,111,0}}, +/* 43259 */ {(11<<2)|2,{110,111,0}}, +/* 43260 */ {(11<<2)|2,{110,111,0}}, +/* 43261 */ {(11<<2)|2,{110,111,0}}, +/* 43262 */ {(11<<2)|2,{110,111,0}}, +/* 43263 */ {(11<<2)|2,{110,111,0}}, +/* 43264 */ {(16<<2)|3,{110,115,48}}, +/* 43265 */ {(16<<2)|3,{110,115,49}}, +/* 43266 */ {(16<<2)|3,{110,115,50}}, +/* 43267 */ {(16<<2)|3,{110,115,97}}, +/* 43268 */ {(16<<2)|3,{110,115,99}}, +/* 43269 */ {(16<<2)|3,{110,115,101}}, +/* 43270 */ {(16<<2)|3,{110,115,105}}, +/* 43271 */ {(16<<2)|3,{110,115,111}}, +/* 43272 */ {(16<<2)|3,{110,115,115}}, +/* 43273 */ {(16<<2)|3,{110,115,116}}, +/* 43274 */ {(11<<2)|2,{110,115,0}}, +/* 43275 */ {(11<<2)|2,{110,115,0}}, +/* 43276 */ {(11<<2)|2,{110,115,0}}, +/* 43277 */ {(11<<2)|2,{110,115,0}}, +/* 43278 */ {(11<<2)|2,{110,115,0}}, +/* 43279 */ {(11<<2)|2,{110,115,0}}, +/* 43280 */ {(11<<2)|2,{110,115,0}}, +/* 43281 */ {(11<<2)|2,{110,115,0}}, +/* 43282 */ {(11<<2)|2,{110,115,0}}, +/* 43283 */ {(11<<2)|2,{110,115,0}}, +/* 43284 */ {(11<<2)|2,{110,115,0}}, +/* 43285 */ {(11<<2)|2,{110,115,0}}, +/* 43286 */ {(11<<2)|2,{110,115,0}}, +/* 43287 */ {(11<<2)|2,{110,115,0}}, +/* 43288 */ {(11<<2)|2,{110,115,0}}, +/* 43289 */ {(11<<2)|2,{110,115,0}}, +/* 43290 */ {(11<<2)|2,{110,115,0}}, +/* 43291 */ {(11<<2)|2,{110,115,0}}, +/* 43292 */ {(11<<2)|2,{110,115,0}}, +/* 43293 */ {(11<<2)|2,{110,115,0}}, +/* 43294 */ {(11<<2)|2,{110,115,0}}, +/* 43295 */ {(11<<2)|2,{110,115,0}}, +/* 43296 */ {(16<<2)|3,{110,116,48}}, +/* 43297 */ {(16<<2)|3,{110,116,49}}, +/* 43298 */ {(16<<2)|3,{110,116,50}}, +/* 43299 */ {(16<<2)|3,{110,116,97}}, +/* 43300 */ {(16<<2)|3,{110,116,99}}, +/* 43301 */ {(16<<2)|3,{110,116,101}}, +/* 43302 */ {(16<<2)|3,{110,116,105}}, +/* 43303 */ {(16<<2)|3,{110,116,111}}, +/* 43304 */ {(16<<2)|3,{110,116,115}}, +/* 43305 */ {(16<<2)|3,{110,116,116}}, +/* 43306 */ {(11<<2)|2,{110,116,0}}, +/* 43307 */ {(11<<2)|2,{110,116,0}}, +/* 43308 */ {(11<<2)|2,{110,116,0}}, +/* 43309 */ {(11<<2)|2,{110,116,0}}, +/* 43310 */ {(11<<2)|2,{110,116,0}}, +/* 43311 */ {(11<<2)|2,{110,116,0}}, +/* 43312 */ {(11<<2)|2,{110,116,0}}, +/* 43313 */ {(11<<2)|2,{110,116,0}}, +/* 43314 */ {(11<<2)|2,{110,116,0}}, +/* 43315 */ {(11<<2)|2,{110,116,0}}, +/* 43316 */ {(11<<2)|2,{110,116,0}}, +/* 43317 */ {(11<<2)|2,{110,116,0}}, +/* 43318 */ {(11<<2)|2,{110,116,0}}, +/* 43319 */ {(11<<2)|2,{110,116,0}}, +/* 43320 */ {(11<<2)|2,{110,116,0}}, +/* 43321 */ {(11<<2)|2,{110,116,0}}, +/* 43322 */ {(11<<2)|2,{110,116,0}}, +/* 43323 */ {(11<<2)|2,{110,116,0}}, +/* 43324 */ {(11<<2)|2,{110,116,0}}, +/* 43325 */ {(11<<2)|2,{110,116,0}}, +/* 43326 */ {(11<<2)|2,{110,116,0}}, +/* 43327 */ {(11<<2)|2,{110,116,0}}, +/* 43328 */ {(12<<2)|2,{110,32,0}}, +/* 43329 */ {(12<<2)|2,{110,32,0}}, +/* 43330 */ {(12<<2)|2,{110,32,0}}, +/* 43331 */ {(12<<2)|2,{110,32,0}}, +/* 43332 */ {(12<<2)|2,{110,32,0}}, +/* 43333 */ {(12<<2)|2,{110,32,0}}, +/* 43334 */ {(12<<2)|2,{110,32,0}}, +/* 43335 */ {(12<<2)|2,{110,32,0}}, +/* 43336 */ {(12<<2)|2,{110,32,0}}, +/* 43337 */ {(12<<2)|2,{110,32,0}}, +/* 43338 */ {(12<<2)|2,{110,32,0}}, +/* 43339 */ {(12<<2)|2,{110,32,0}}, +/* 43340 */ {(12<<2)|2,{110,32,0}}, +/* 43341 */ {(12<<2)|2,{110,32,0}}, +/* 43342 */ {(12<<2)|2,{110,32,0}}, +/* 43343 */ {(12<<2)|2,{110,32,0}}, +/* 43344 */ {(12<<2)|2,{110,37,0}}, +/* 43345 */ {(12<<2)|2,{110,37,0}}, +/* 43346 */ {(12<<2)|2,{110,37,0}}, +/* 43347 */ {(12<<2)|2,{110,37,0}}, +/* 43348 */ {(12<<2)|2,{110,37,0}}, +/* 43349 */ {(12<<2)|2,{110,37,0}}, +/* 43350 */ {(12<<2)|2,{110,37,0}}, +/* 43351 */ {(12<<2)|2,{110,37,0}}, +/* 43352 */ {(12<<2)|2,{110,37,0}}, +/* 43353 */ {(12<<2)|2,{110,37,0}}, +/* 43354 */ {(12<<2)|2,{110,37,0}}, +/* 43355 */ {(12<<2)|2,{110,37,0}}, +/* 43356 */ {(12<<2)|2,{110,37,0}}, +/* 43357 */ {(12<<2)|2,{110,37,0}}, +/* 43358 */ {(12<<2)|2,{110,37,0}}, +/* 43359 */ {(12<<2)|2,{110,37,0}}, +/* 43360 */ {(12<<2)|2,{110,45,0}}, +/* 43361 */ {(12<<2)|2,{110,45,0}}, +/* 43362 */ {(12<<2)|2,{110,45,0}}, +/* 43363 */ {(12<<2)|2,{110,45,0}}, +/* 43364 */ {(12<<2)|2,{110,45,0}}, +/* 43365 */ {(12<<2)|2,{110,45,0}}, +/* 43366 */ {(12<<2)|2,{110,45,0}}, +/* 43367 */ {(12<<2)|2,{110,45,0}}, +/* 43368 */ {(12<<2)|2,{110,45,0}}, +/* 43369 */ {(12<<2)|2,{110,45,0}}, +/* 43370 */ {(12<<2)|2,{110,45,0}}, +/* 43371 */ {(12<<2)|2,{110,45,0}}, +/* 43372 */ {(12<<2)|2,{110,45,0}}, +/* 43373 */ {(12<<2)|2,{110,45,0}}, +/* 43374 */ {(12<<2)|2,{110,45,0}}, +/* 43375 */ {(12<<2)|2,{110,45,0}}, +/* 43376 */ {(12<<2)|2,{110,46,0}}, +/* 43377 */ {(12<<2)|2,{110,46,0}}, +/* 43378 */ {(12<<2)|2,{110,46,0}}, +/* 43379 */ {(12<<2)|2,{110,46,0}}, +/* 43380 */ {(12<<2)|2,{110,46,0}}, +/* 43381 */ {(12<<2)|2,{110,46,0}}, +/* 43382 */ {(12<<2)|2,{110,46,0}}, +/* 43383 */ {(12<<2)|2,{110,46,0}}, +/* 43384 */ {(12<<2)|2,{110,46,0}}, +/* 43385 */ {(12<<2)|2,{110,46,0}}, +/* 43386 */ {(12<<2)|2,{110,46,0}}, +/* 43387 */ {(12<<2)|2,{110,46,0}}, +/* 43388 */ {(12<<2)|2,{110,46,0}}, +/* 43389 */ {(12<<2)|2,{110,46,0}}, +/* 43390 */ {(12<<2)|2,{110,46,0}}, +/* 43391 */ {(12<<2)|2,{110,46,0}}, +/* 43392 */ {(12<<2)|2,{110,47,0}}, +/* 43393 */ {(12<<2)|2,{110,47,0}}, +/* 43394 */ {(12<<2)|2,{110,47,0}}, +/* 43395 */ {(12<<2)|2,{110,47,0}}, +/* 43396 */ {(12<<2)|2,{110,47,0}}, +/* 43397 */ {(12<<2)|2,{110,47,0}}, +/* 43398 */ {(12<<2)|2,{110,47,0}}, +/* 43399 */ {(12<<2)|2,{110,47,0}}, +/* 43400 */ {(12<<2)|2,{110,47,0}}, +/* 43401 */ {(12<<2)|2,{110,47,0}}, +/* 43402 */ {(12<<2)|2,{110,47,0}}, +/* 43403 */ {(12<<2)|2,{110,47,0}}, +/* 43404 */ {(12<<2)|2,{110,47,0}}, +/* 43405 */ {(12<<2)|2,{110,47,0}}, +/* 43406 */ {(12<<2)|2,{110,47,0}}, +/* 43407 */ {(12<<2)|2,{110,47,0}}, +/* 43408 */ {(12<<2)|2,{110,51,0}}, +/* 43409 */ {(12<<2)|2,{110,51,0}}, +/* 43410 */ {(12<<2)|2,{110,51,0}}, +/* 43411 */ {(12<<2)|2,{110,51,0}}, +/* 43412 */ {(12<<2)|2,{110,51,0}}, +/* 43413 */ {(12<<2)|2,{110,51,0}}, +/* 43414 */ {(12<<2)|2,{110,51,0}}, +/* 43415 */ {(12<<2)|2,{110,51,0}}, +/* 43416 */ {(12<<2)|2,{110,51,0}}, +/* 43417 */ {(12<<2)|2,{110,51,0}}, +/* 43418 */ {(12<<2)|2,{110,51,0}}, +/* 43419 */ {(12<<2)|2,{110,51,0}}, +/* 43420 */ {(12<<2)|2,{110,51,0}}, +/* 43421 */ {(12<<2)|2,{110,51,0}}, +/* 43422 */ {(12<<2)|2,{110,51,0}}, +/* 43423 */ {(12<<2)|2,{110,51,0}}, +/* 43424 */ {(12<<2)|2,{110,52,0}}, +/* 43425 */ {(12<<2)|2,{110,52,0}}, +/* 43426 */ {(12<<2)|2,{110,52,0}}, +/* 43427 */ {(12<<2)|2,{110,52,0}}, +/* 43428 */ {(12<<2)|2,{110,52,0}}, +/* 43429 */ {(12<<2)|2,{110,52,0}}, +/* 43430 */ {(12<<2)|2,{110,52,0}}, +/* 43431 */ {(12<<2)|2,{110,52,0}}, +/* 43432 */ {(12<<2)|2,{110,52,0}}, +/* 43433 */ {(12<<2)|2,{110,52,0}}, +/* 43434 */ {(12<<2)|2,{110,52,0}}, +/* 43435 */ {(12<<2)|2,{110,52,0}}, +/* 43436 */ {(12<<2)|2,{110,52,0}}, +/* 43437 */ {(12<<2)|2,{110,52,0}}, +/* 43438 */ {(12<<2)|2,{110,52,0}}, +/* 43439 */ {(12<<2)|2,{110,52,0}}, +/* 43440 */ {(12<<2)|2,{110,53,0}}, +/* 43441 */ {(12<<2)|2,{110,53,0}}, +/* 43442 */ {(12<<2)|2,{110,53,0}}, +/* 43443 */ {(12<<2)|2,{110,53,0}}, +/* 43444 */ {(12<<2)|2,{110,53,0}}, +/* 43445 */ {(12<<2)|2,{110,53,0}}, +/* 43446 */ {(12<<2)|2,{110,53,0}}, +/* 43447 */ {(12<<2)|2,{110,53,0}}, +/* 43448 */ {(12<<2)|2,{110,53,0}}, +/* 43449 */ {(12<<2)|2,{110,53,0}}, +/* 43450 */ {(12<<2)|2,{110,53,0}}, +/* 43451 */ {(12<<2)|2,{110,53,0}}, +/* 43452 */ {(12<<2)|2,{110,53,0}}, +/* 43453 */ {(12<<2)|2,{110,53,0}}, +/* 43454 */ {(12<<2)|2,{110,53,0}}, +/* 43455 */ {(12<<2)|2,{110,53,0}}, +/* 43456 */ {(12<<2)|2,{110,54,0}}, +/* 43457 */ {(12<<2)|2,{110,54,0}}, +/* 43458 */ {(12<<2)|2,{110,54,0}}, +/* 43459 */ {(12<<2)|2,{110,54,0}}, +/* 43460 */ {(12<<2)|2,{110,54,0}}, +/* 43461 */ {(12<<2)|2,{110,54,0}}, +/* 43462 */ {(12<<2)|2,{110,54,0}}, +/* 43463 */ {(12<<2)|2,{110,54,0}}, +/* 43464 */ {(12<<2)|2,{110,54,0}}, +/* 43465 */ {(12<<2)|2,{110,54,0}}, +/* 43466 */ {(12<<2)|2,{110,54,0}}, +/* 43467 */ {(12<<2)|2,{110,54,0}}, +/* 43468 */ {(12<<2)|2,{110,54,0}}, +/* 43469 */ {(12<<2)|2,{110,54,0}}, +/* 43470 */ {(12<<2)|2,{110,54,0}}, +/* 43471 */ {(12<<2)|2,{110,54,0}}, +/* 43472 */ {(12<<2)|2,{110,55,0}}, +/* 43473 */ {(12<<2)|2,{110,55,0}}, +/* 43474 */ {(12<<2)|2,{110,55,0}}, +/* 43475 */ {(12<<2)|2,{110,55,0}}, +/* 43476 */ {(12<<2)|2,{110,55,0}}, +/* 43477 */ {(12<<2)|2,{110,55,0}}, +/* 43478 */ {(12<<2)|2,{110,55,0}}, +/* 43479 */ {(12<<2)|2,{110,55,0}}, +/* 43480 */ {(12<<2)|2,{110,55,0}}, +/* 43481 */ {(12<<2)|2,{110,55,0}}, +/* 43482 */ {(12<<2)|2,{110,55,0}}, +/* 43483 */ {(12<<2)|2,{110,55,0}}, +/* 43484 */ {(12<<2)|2,{110,55,0}}, +/* 43485 */ {(12<<2)|2,{110,55,0}}, +/* 43486 */ {(12<<2)|2,{110,55,0}}, +/* 43487 */ {(12<<2)|2,{110,55,0}}, +/* 43488 */ {(12<<2)|2,{110,56,0}}, +/* 43489 */ {(12<<2)|2,{110,56,0}}, +/* 43490 */ {(12<<2)|2,{110,56,0}}, +/* 43491 */ {(12<<2)|2,{110,56,0}}, +/* 43492 */ {(12<<2)|2,{110,56,0}}, +/* 43493 */ {(12<<2)|2,{110,56,0}}, +/* 43494 */ {(12<<2)|2,{110,56,0}}, +/* 43495 */ {(12<<2)|2,{110,56,0}}, +/* 43496 */ {(12<<2)|2,{110,56,0}}, +/* 43497 */ {(12<<2)|2,{110,56,0}}, +/* 43498 */ {(12<<2)|2,{110,56,0}}, +/* 43499 */ {(12<<2)|2,{110,56,0}}, +/* 43500 */ {(12<<2)|2,{110,56,0}}, +/* 43501 */ {(12<<2)|2,{110,56,0}}, +/* 43502 */ {(12<<2)|2,{110,56,0}}, +/* 43503 */ {(12<<2)|2,{110,56,0}}, +/* 43504 */ {(12<<2)|2,{110,57,0}}, +/* 43505 */ {(12<<2)|2,{110,57,0}}, +/* 43506 */ {(12<<2)|2,{110,57,0}}, +/* 43507 */ {(12<<2)|2,{110,57,0}}, +/* 43508 */ {(12<<2)|2,{110,57,0}}, +/* 43509 */ {(12<<2)|2,{110,57,0}}, +/* 43510 */ {(12<<2)|2,{110,57,0}}, +/* 43511 */ {(12<<2)|2,{110,57,0}}, +/* 43512 */ {(12<<2)|2,{110,57,0}}, +/* 43513 */ {(12<<2)|2,{110,57,0}}, +/* 43514 */ {(12<<2)|2,{110,57,0}}, +/* 43515 */ {(12<<2)|2,{110,57,0}}, +/* 43516 */ {(12<<2)|2,{110,57,0}}, +/* 43517 */ {(12<<2)|2,{110,57,0}}, +/* 43518 */ {(12<<2)|2,{110,57,0}}, +/* 43519 */ {(12<<2)|2,{110,57,0}}, +/* 43520 */ {(12<<2)|2,{110,61,0}}, +/* 43521 */ {(12<<2)|2,{110,61,0}}, +/* 43522 */ {(12<<2)|2,{110,61,0}}, +/* 43523 */ {(12<<2)|2,{110,61,0}}, +/* 43524 */ {(12<<2)|2,{110,61,0}}, +/* 43525 */ {(12<<2)|2,{110,61,0}}, +/* 43526 */ {(12<<2)|2,{110,61,0}}, +/* 43527 */ {(12<<2)|2,{110,61,0}}, +/* 43528 */ {(12<<2)|2,{110,61,0}}, +/* 43529 */ {(12<<2)|2,{110,61,0}}, +/* 43530 */ {(12<<2)|2,{110,61,0}}, +/* 43531 */ {(12<<2)|2,{110,61,0}}, +/* 43532 */ {(12<<2)|2,{110,61,0}}, +/* 43533 */ {(12<<2)|2,{110,61,0}}, +/* 43534 */ {(12<<2)|2,{110,61,0}}, +/* 43535 */ {(12<<2)|2,{110,61,0}}, +/* 43536 */ {(12<<2)|2,{110,65,0}}, +/* 43537 */ {(12<<2)|2,{110,65,0}}, +/* 43538 */ {(12<<2)|2,{110,65,0}}, +/* 43539 */ {(12<<2)|2,{110,65,0}}, +/* 43540 */ {(12<<2)|2,{110,65,0}}, +/* 43541 */ {(12<<2)|2,{110,65,0}}, +/* 43542 */ {(12<<2)|2,{110,65,0}}, +/* 43543 */ {(12<<2)|2,{110,65,0}}, +/* 43544 */ {(12<<2)|2,{110,65,0}}, +/* 43545 */ {(12<<2)|2,{110,65,0}}, +/* 43546 */ {(12<<2)|2,{110,65,0}}, +/* 43547 */ {(12<<2)|2,{110,65,0}}, +/* 43548 */ {(12<<2)|2,{110,65,0}}, +/* 43549 */ {(12<<2)|2,{110,65,0}}, +/* 43550 */ {(12<<2)|2,{110,65,0}}, +/* 43551 */ {(12<<2)|2,{110,65,0}}, +/* 43552 */ {(12<<2)|2,{110,95,0}}, +/* 43553 */ {(12<<2)|2,{110,95,0}}, +/* 43554 */ {(12<<2)|2,{110,95,0}}, +/* 43555 */ {(12<<2)|2,{110,95,0}}, +/* 43556 */ {(12<<2)|2,{110,95,0}}, +/* 43557 */ {(12<<2)|2,{110,95,0}}, +/* 43558 */ {(12<<2)|2,{110,95,0}}, +/* 43559 */ {(12<<2)|2,{110,95,0}}, +/* 43560 */ {(12<<2)|2,{110,95,0}}, +/* 43561 */ {(12<<2)|2,{110,95,0}}, +/* 43562 */ {(12<<2)|2,{110,95,0}}, +/* 43563 */ {(12<<2)|2,{110,95,0}}, +/* 43564 */ {(12<<2)|2,{110,95,0}}, +/* 43565 */ {(12<<2)|2,{110,95,0}}, +/* 43566 */ {(12<<2)|2,{110,95,0}}, +/* 43567 */ {(12<<2)|2,{110,95,0}}, +/* 43568 */ {(12<<2)|2,{110,98,0}}, +/* 43569 */ {(12<<2)|2,{110,98,0}}, +/* 43570 */ {(12<<2)|2,{110,98,0}}, +/* 43571 */ {(12<<2)|2,{110,98,0}}, +/* 43572 */ {(12<<2)|2,{110,98,0}}, +/* 43573 */ {(12<<2)|2,{110,98,0}}, +/* 43574 */ {(12<<2)|2,{110,98,0}}, +/* 43575 */ {(12<<2)|2,{110,98,0}}, +/* 43576 */ {(12<<2)|2,{110,98,0}}, +/* 43577 */ {(12<<2)|2,{110,98,0}}, +/* 43578 */ {(12<<2)|2,{110,98,0}}, +/* 43579 */ {(12<<2)|2,{110,98,0}}, +/* 43580 */ {(12<<2)|2,{110,98,0}}, +/* 43581 */ {(12<<2)|2,{110,98,0}}, +/* 43582 */ {(12<<2)|2,{110,98,0}}, +/* 43583 */ {(12<<2)|2,{110,98,0}}, +/* 43584 */ {(12<<2)|2,{110,100,0}}, +/* 43585 */ {(12<<2)|2,{110,100,0}}, +/* 43586 */ {(12<<2)|2,{110,100,0}}, +/* 43587 */ {(12<<2)|2,{110,100,0}}, +/* 43588 */ {(12<<2)|2,{110,100,0}}, +/* 43589 */ {(12<<2)|2,{110,100,0}}, +/* 43590 */ {(12<<2)|2,{110,100,0}}, +/* 43591 */ {(12<<2)|2,{110,100,0}}, +/* 43592 */ {(12<<2)|2,{110,100,0}}, +/* 43593 */ {(12<<2)|2,{110,100,0}}, +/* 43594 */ {(12<<2)|2,{110,100,0}}, +/* 43595 */ {(12<<2)|2,{110,100,0}}, +/* 43596 */ {(12<<2)|2,{110,100,0}}, +/* 43597 */ {(12<<2)|2,{110,100,0}}, +/* 43598 */ {(12<<2)|2,{110,100,0}}, +/* 43599 */ {(12<<2)|2,{110,100,0}}, +/* 43600 */ {(12<<2)|2,{110,102,0}}, +/* 43601 */ {(12<<2)|2,{110,102,0}}, +/* 43602 */ {(12<<2)|2,{110,102,0}}, +/* 43603 */ {(12<<2)|2,{110,102,0}}, +/* 43604 */ {(12<<2)|2,{110,102,0}}, +/* 43605 */ {(12<<2)|2,{110,102,0}}, +/* 43606 */ {(12<<2)|2,{110,102,0}}, +/* 43607 */ {(12<<2)|2,{110,102,0}}, +/* 43608 */ {(12<<2)|2,{110,102,0}}, +/* 43609 */ {(12<<2)|2,{110,102,0}}, +/* 43610 */ {(12<<2)|2,{110,102,0}}, +/* 43611 */ {(12<<2)|2,{110,102,0}}, +/* 43612 */ {(12<<2)|2,{110,102,0}}, +/* 43613 */ {(12<<2)|2,{110,102,0}}, +/* 43614 */ {(12<<2)|2,{110,102,0}}, +/* 43615 */ {(12<<2)|2,{110,102,0}}, +/* 43616 */ {(12<<2)|2,{110,103,0}}, +/* 43617 */ {(12<<2)|2,{110,103,0}}, +/* 43618 */ {(12<<2)|2,{110,103,0}}, +/* 43619 */ {(12<<2)|2,{110,103,0}}, +/* 43620 */ {(12<<2)|2,{110,103,0}}, +/* 43621 */ {(12<<2)|2,{110,103,0}}, +/* 43622 */ {(12<<2)|2,{110,103,0}}, +/* 43623 */ {(12<<2)|2,{110,103,0}}, +/* 43624 */ {(12<<2)|2,{110,103,0}}, +/* 43625 */ {(12<<2)|2,{110,103,0}}, +/* 43626 */ {(12<<2)|2,{110,103,0}}, +/* 43627 */ {(12<<2)|2,{110,103,0}}, +/* 43628 */ {(12<<2)|2,{110,103,0}}, +/* 43629 */ {(12<<2)|2,{110,103,0}}, +/* 43630 */ {(12<<2)|2,{110,103,0}}, +/* 43631 */ {(12<<2)|2,{110,103,0}}, +/* 43632 */ {(12<<2)|2,{110,104,0}}, +/* 43633 */ {(12<<2)|2,{110,104,0}}, +/* 43634 */ {(12<<2)|2,{110,104,0}}, +/* 43635 */ {(12<<2)|2,{110,104,0}}, +/* 43636 */ {(12<<2)|2,{110,104,0}}, +/* 43637 */ {(12<<2)|2,{110,104,0}}, +/* 43638 */ {(12<<2)|2,{110,104,0}}, +/* 43639 */ {(12<<2)|2,{110,104,0}}, +/* 43640 */ {(12<<2)|2,{110,104,0}}, +/* 43641 */ {(12<<2)|2,{110,104,0}}, +/* 43642 */ {(12<<2)|2,{110,104,0}}, +/* 43643 */ {(12<<2)|2,{110,104,0}}, +/* 43644 */ {(12<<2)|2,{110,104,0}}, +/* 43645 */ {(12<<2)|2,{110,104,0}}, +/* 43646 */ {(12<<2)|2,{110,104,0}}, +/* 43647 */ {(12<<2)|2,{110,104,0}}, +/* 43648 */ {(12<<2)|2,{110,108,0}}, +/* 43649 */ {(12<<2)|2,{110,108,0}}, +/* 43650 */ {(12<<2)|2,{110,108,0}}, +/* 43651 */ {(12<<2)|2,{110,108,0}}, +/* 43652 */ {(12<<2)|2,{110,108,0}}, +/* 43653 */ {(12<<2)|2,{110,108,0}}, +/* 43654 */ {(12<<2)|2,{110,108,0}}, +/* 43655 */ {(12<<2)|2,{110,108,0}}, +/* 43656 */ {(12<<2)|2,{110,108,0}}, +/* 43657 */ {(12<<2)|2,{110,108,0}}, +/* 43658 */ {(12<<2)|2,{110,108,0}}, +/* 43659 */ {(12<<2)|2,{110,108,0}}, +/* 43660 */ {(12<<2)|2,{110,108,0}}, +/* 43661 */ {(12<<2)|2,{110,108,0}}, +/* 43662 */ {(12<<2)|2,{110,108,0}}, +/* 43663 */ {(12<<2)|2,{110,108,0}}, +/* 43664 */ {(12<<2)|2,{110,109,0}}, +/* 43665 */ {(12<<2)|2,{110,109,0}}, +/* 43666 */ {(12<<2)|2,{110,109,0}}, +/* 43667 */ {(12<<2)|2,{110,109,0}}, +/* 43668 */ {(12<<2)|2,{110,109,0}}, +/* 43669 */ {(12<<2)|2,{110,109,0}}, +/* 43670 */ {(12<<2)|2,{110,109,0}}, +/* 43671 */ {(12<<2)|2,{110,109,0}}, +/* 43672 */ {(12<<2)|2,{110,109,0}}, +/* 43673 */ {(12<<2)|2,{110,109,0}}, +/* 43674 */ {(12<<2)|2,{110,109,0}}, +/* 43675 */ {(12<<2)|2,{110,109,0}}, +/* 43676 */ {(12<<2)|2,{110,109,0}}, +/* 43677 */ {(12<<2)|2,{110,109,0}}, +/* 43678 */ {(12<<2)|2,{110,109,0}}, +/* 43679 */ {(12<<2)|2,{110,109,0}}, +/* 43680 */ {(12<<2)|2,{110,110,0}}, +/* 43681 */ {(12<<2)|2,{110,110,0}}, +/* 43682 */ {(12<<2)|2,{110,110,0}}, +/* 43683 */ {(12<<2)|2,{110,110,0}}, +/* 43684 */ {(12<<2)|2,{110,110,0}}, +/* 43685 */ {(12<<2)|2,{110,110,0}}, +/* 43686 */ {(12<<2)|2,{110,110,0}}, +/* 43687 */ {(12<<2)|2,{110,110,0}}, +/* 43688 */ {(12<<2)|2,{110,110,0}}, +/* 43689 */ {(12<<2)|2,{110,110,0}}, +/* 43690 */ {(12<<2)|2,{110,110,0}}, +/* 43691 */ {(12<<2)|2,{110,110,0}}, +/* 43692 */ {(12<<2)|2,{110,110,0}}, +/* 43693 */ {(12<<2)|2,{110,110,0}}, +/* 43694 */ {(12<<2)|2,{110,110,0}}, +/* 43695 */ {(12<<2)|2,{110,110,0}}, +/* 43696 */ {(12<<2)|2,{110,112,0}}, +/* 43697 */ {(12<<2)|2,{110,112,0}}, +/* 43698 */ {(12<<2)|2,{110,112,0}}, +/* 43699 */ {(12<<2)|2,{110,112,0}}, +/* 43700 */ {(12<<2)|2,{110,112,0}}, +/* 43701 */ {(12<<2)|2,{110,112,0}}, +/* 43702 */ {(12<<2)|2,{110,112,0}}, +/* 43703 */ {(12<<2)|2,{110,112,0}}, +/* 43704 */ {(12<<2)|2,{110,112,0}}, +/* 43705 */ {(12<<2)|2,{110,112,0}}, +/* 43706 */ {(12<<2)|2,{110,112,0}}, +/* 43707 */ {(12<<2)|2,{110,112,0}}, +/* 43708 */ {(12<<2)|2,{110,112,0}}, +/* 43709 */ {(12<<2)|2,{110,112,0}}, +/* 43710 */ {(12<<2)|2,{110,112,0}}, +/* 43711 */ {(12<<2)|2,{110,112,0}}, +/* 43712 */ {(12<<2)|2,{110,114,0}}, +/* 43713 */ {(12<<2)|2,{110,114,0}}, +/* 43714 */ {(12<<2)|2,{110,114,0}}, +/* 43715 */ {(12<<2)|2,{110,114,0}}, +/* 43716 */ {(12<<2)|2,{110,114,0}}, +/* 43717 */ {(12<<2)|2,{110,114,0}}, +/* 43718 */ {(12<<2)|2,{110,114,0}}, +/* 43719 */ {(12<<2)|2,{110,114,0}}, +/* 43720 */ {(12<<2)|2,{110,114,0}}, +/* 43721 */ {(12<<2)|2,{110,114,0}}, +/* 43722 */ {(12<<2)|2,{110,114,0}}, +/* 43723 */ {(12<<2)|2,{110,114,0}}, +/* 43724 */ {(12<<2)|2,{110,114,0}}, +/* 43725 */ {(12<<2)|2,{110,114,0}}, +/* 43726 */ {(12<<2)|2,{110,114,0}}, +/* 43727 */ {(12<<2)|2,{110,114,0}}, +/* 43728 */ {(12<<2)|2,{110,117,0}}, +/* 43729 */ {(12<<2)|2,{110,117,0}}, +/* 43730 */ {(12<<2)|2,{110,117,0}}, +/* 43731 */ {(12<<2)|2,{110,117,0}}, +/* 43732 */ {(12<<2)|2,{110,117,0}}, +/* 43733 */ {(12<<2)|2,{110,117,0}}, +/* 43734 */ {(12<<2)|2,{110,117,0}}, +/* 43735 */ {(12<<2)|2,{110,117,0}}, +/* 43736 */ {(12<<2)|2,{110,117,0}}, +/* 43737 */ {(12<<2)|2,{110,117,0}}, +/* 43738 */ {(12<<2)|2,{110,117,0}}, +/* 43739 */ {(12<<2)|2,{110,117,0}}, +/* 43740 */ {(12<<2)|2,{110,117,0}}, +/* 43741 */ {(12<<2)|2,{110,117,0}}, +/* 43742 */ {(12<<2)|2,{110,117,0}}, +/* 43743 */ {(12<<2)|2,{110,117,0}}, +/* 43744 */ {(13<<2)|2,{110,58,0}}, +/* 43745 */ {(13<<2)|2,{110,58,0}}, +/* 43746 */ {(13<<2)|2,{110,58,0}}, +/* 43747 */ {(13<<2)|2,{110,58,0}}, +/* 43748 */ {(13<<2)|2,{110,58,0}}, +/* 43749 */ {(13<<2)|2,{110,58,0}}, +/* 43750 */ {(13<<2)|2,{110,58,0}}, +/* 43751 */ {(13<<2)|2,{110,58,0}}, +/* 43752 */ {(13<<2)|2,{110,66,0}}, +/* 43753 */ {(13<<2)|2,{110,66,0}}, +/* 43754 */ {(13<<2)|2,{110,66,0}}, +/* 43755 */ {(13<<2)|2,{110,66,0}}, +/* 43756 */ {(13<<2)|2,{110,66,0}}, +/* 43757 */ {(13<<2)|2,{110,66,0}}, +/* 43758 */ {(13<<2)|2,{110,66,0}}, +/* 43759 */ {(13<<2)|2,{110,66,0}}, +/* 43760 */ {(13<<2)|2,{110,67,0}}, +/* 43761 */ {(13<<2)|2,{110,67,0}}, +/* 43762 */ {(13<<2)|2,{110,67,0}}, +/* 43763 */ {(13<<2)|2,{110,67,0}}, +/* 43764 */ {(13<<2)|2,{110,67,0}}, +/* 43765 */ {(13<<2)|2,{110,67,0}}, +/* 43766 */ {(13<<2)|2,{110,67,0}}, +/* 43767 */ {(13<<2)|2,{110,67,0}}, +/* 43768 */ {(13<<2)|2,{110,68,0}}, +/* 43769 */ {(13<<2)|2,{110,68,0}}, +/* 43770 */ {(13<<2)|2,{110,68,0}}, +/* 43771 */ {(13<<2)|2,{110,68,0}}, +/* 43772 */ {(13<<2)|2,{110,68,0}}, +/* 43773 */ {(13<<2)|2,{110,68,0}}, +/* 43774 */ {(13<<2)|2,{110,68,0}}, +/* 43775 */ {(13<<2)|2,{110,68,0}}, +/* 43776 */ {(13<<2)|2,{110,69,0}}, +/* 43777 */ {(13<<2)|2,{110,69,0}}, +/* 43778 */ {(13<<2)|2,{110,69,0}}, +/* 43779 */ {(13<<2)|2,{110,69,0}}, +/* 43780 */ {(13<<2)|2,{110,69,0}}, +/* 43781 */ {(13<<2)|2,{110,69,0}}, +/* 43782 */ {(13<<2)|2,{110,69,0}}, +/* 43783 */ {(13<<2)|2,{110,69,0}}, +/* 43784 */ {(13<<2)|2,{110,70,0}}, +/* 43785 */ {(13<<2)|2,{110,70,0}}, +/* 43786 */ {(13<<2)|2,{110,70,0}}, +/* 43787 */ {(13<<2)|2,{110,70,0}}, +/* 43788 */ {(13<<2)|2,{110,70,0}}, +/* 43789 */ {(13<<2)|2,{110,70,0}}, +/* 43790 */ {(13<<2)|2,{110,70,0}}, +/* 43791 */ {(13<<2)|2,{110,70,0}}, +/* 43792 */ {(13<<2)|2,{110,71,0}}, +/* 43793 */ {(13<<2)|2,{110,71,0}}, +/* 43794 */ {(13<<2)|2,{110,71,0}}, +/* 43795 */ {(13<<2)|2,{110,71,0}}, +/* 43796 */ {(13<<2)|2,{110,71,0}}, +/* 43797 */ {(13<<2)|2,{110,71,0}}, +/* 43798 */ {(13<<2)|2,{110,71,0}}, +/* 43799 */ {(13<<2)|2,{110,71,0}}, +/* 43800 */ {(13<<2)|2,{110,72,0}}, +/* 43801 */ {(13<<2)|2,{110,72,0}}, +/* 43802 */ {(13<<2)|2,{110,72,0}}, +/* 43803 */ {(13<<2)|2,{110,72,0}}, +/* 43804 */ {(13<<2)|2,{110,72,0}}, +/* 43805 */ {(13<<2)|2,{110,72,0}}, +/* 43806 */ {(13<<2)|2,{110,72,0}}, +/* 43807 */ {(13<<2)|2,{110,72,0}}, +/* 43808 */ {(13<<2)|2,{110,73,0}}, +/* 43809 */ {(13<<2)|2,{110,73,0}}, +/* 43810 */ {(13<<2)|2,{110,73,0}}, +/* 43811 */ {(13<<2)|2,{110,73,0}}, +/* 43812 */ {(13<<2)|2,{110,73,0}}, +/* 43813 */ {(13<<2)|2,{110,73,0}}, +/* 43814 */ {(13<<2)|2,{110,73,0}}, +/* 43815 */ {(13<<2)|2,{110,73,0}}, +/* 43816 */ {(13<<2)|2,{110,74,0}}, +/* 43817 */ {(13<<2)|2,{110,74,0}}, +/* 43818 */ {(13<<2)|2,{110,74,0}}, +/* 43819 */ {(13<<2)|2,{110,74,0}}, +/* 43820 */ {(13<<2)|2,{110,74,0}}, +/* 43821 */ {(13<<2)|2,{110,74,0}}, +/* 43822 */ {(13<<2)|2,{110,74,0}}, +/* 43823 */ {(13<<2)|2,{110,74,0}}, +/* 43824 */ {(13<<2)|2,{110,75,0}}, +/* 43825 */ {(13<<2)|2,{110,75,0}}, +/* 43826 */ {(13<<2)|2,{110,75,0}}, +/* 43827 */ {(13<<2)|2,{110,75,0}}, +/* 43828 */ {(13<<2)|2,{110,75,0}}, +/* 43829 */ {(13<<2)|2,{110,75,0}}, +/* 43830 */ {(13<<2)|2,{110,75,0}}, +/* 43831 */ {(13<<2)|2,{110,75,0}}, +/* 43832 */ {(13<<2)|2,{110,76,0}}, +/* 43833 */ {(13<<2)|2,{110,76,0}}, +/* 43834 */ {(13<<2)|2,{110,76,0}}, +/* 43835 */ {(13<<2)|2,{110,76,0}}, +/* 43836 */ {(13<<2)|2,{110,76,0}}, +/* 43837 */ {(13<<2)|2,{110,76,0}}, +/* 43838 */ {(13<<2)|2,{110,76,0}}, +/* 43839 */ {(13<<2)|2,{110,76,0}}, +/* 43840 */ {(13<<2)|2,{110,77,0}}, +/* 43841 */ {(13<<2)|2,{110,77,0}}, +/* 43842 */ {(13<<2)|2,{110,77,0}}, +/* 43843 */ {(13<<2)|2,{110,77,0}}, +/* 43844 */ {(13<<2)|2,{110,77,0}}, +/* 43845 */ {(13<<2)|2,{110,77,0}}, +/* 43846 */ {(13<<2)|2,{110,77,0}}, +/* 43847 */ {(13<<2)|2,{110,77,0}}, +/* 43848 */ {(13<<2)|2,{110,78,0}}, +/* 43849 */ {(13<<2)|2,{110,78,0}}, +/* 43850 */ {(13<<2)|2,{110,78,0}}, +/* 43851 */ {(13<<2)|2,{110,78,0}}, +/* 43852 */ {(13<<2)|2,{110,78,0}}, +/* 43853 */ {(13<<2)|2,{110,78,0}}, +/* 43854 */ {(13<<2)|2,{110,78,0}}, +/* 43855 */ {(13<<2)|2,{110,78,0}}, +/* 43856 */ {(13<<2)|2,{110,79,0}}, +/* 43857 */ {(13<<2)|2,{110,79,0}}, +/* 43858 */ {(13<<2)|2,{110,79,0}}, +/* 43859 */ {(13<<2)|2,{110,79,0}}, +/* 43860 */ {(13<<2)|2,{110,79,0}}, +/* 43861 */ {(13<<2)|2,{110,79,0}}, +/* 43862 */ {(13<<2)|2,{110,79,0}}, +/* 43863 */ {(13<<2)|2,{110,79,0}}, +/* 43864 */ {(13<<2)|2,{110,80,0}}, +/* 43865 */ {(13<<2)|2,{110,80,0}}, +/* 43866 */ {(13<<2)|2,{110,80,0}}, +/* 43867 */ {(13<<2)|2,{110,80,0}}, +/* 43868 */ {(13<<2)|2,{110,80,0}}, +/* 43869 */ {(13<<2)|2,{110,80,0}}, +/* 43870 */ {(13<<2)|2,{110,80,0}}, +/* 43871 */ {(13<<2)|2,{110,80,0}}, +/* 43872 */ {(13<<2)|2,{110,81,0}}, +/* 43873 */ {(13<<2)|2,{110,81,0}}, +/* 43874 */ {(13<<2)|2,{110,81,0}}, +/* 43875 */ {(13<<2)|2,{110,81,0}}, +/* 43876 */ {(13<<2)|2,{110,81,0}}, +/* 43877 */ {(13<<2)|2,{110,81,0}}, +/* 43878 */ {(13<<2)|2,{110,81,0}}, +/* 43879 */ {(13<<2)|2,{110,81,0}}, +/* 43880 */ {(13<<2)|2,{110,82,0}}, +/* 43881 */ {(13<<2)|2,{110,82,0}}, +/* 43882 */ {(13<<2)|2,{110,82,0}}, +/* 43883 */ {(13<<2)|2,{110,82,0}}, +/* 43884 */ {(13<<2)|2,{110,82,0}}, +/* 43885 */ {(13<<2)|2,{110,82,0}}, +/* 43886 */ {(13<<2)|2,{110,82,0}}, +/* 43887 */ {(13<<2)|2,{110,82,0}}, +/* 43888 */ {(13<<2)|2,{110,83,0}}, +/* 43889 */ {(13<<2)|2,{110,83,0}}, +/* 43890 */ {(13<<2)|2,{110,83,0}}, +/* 43891 */ {(13<<2)|2,{110,83,0}}, +/* 43892 */ {(13<<2)|2,{110,83,0}}, +/* 43893 */ {(13<<2)|2,{110,83,0}}, +/* 43894 */ {(13<<2)|2,{110,83,0}}, +/* 43895 */ {(13<<2)|2,{110,83,0}}, +/* 43896 */ {(13<<2)|2,{110,84,0}}, +/* 43897 */ {(13<<2)|2,{110,84,0}}, +/* 43898 */ {(13<<2)|2,{110,84,0}}, +/* 43899 */ {(13<<2)|2,{110,84,0}}, +/* 43900 */ {(13<<2)|2,{110,84,0}}, +/* 43901 */ {(13<<2)|2,{110,84,0}}, +/* 43902 */ {(13<<2)|2,{110,84,0}}, +/* 43903 */ {(13<<2)|2,{110,84,0}}, +/* 43904 */ {(13<<2)|2,{110,85,0}}, +/* 43905 */ {(13<<2)|2,{110,85,0}}, +/* 43906 */ {(13<<2)|2,{110,85,0}}, +/* 43907 */ {(13<<2)|2,{110,85,0}}, +/* 43908 */ {(13<<2)|2,{110,85,0}}, +/* 43909 */ {(13<<2)|2,{110,85,0}}, +/* 43910 */ {(13<<2)|2,{110,85,0}}, +/* 43911 */ {(13<<2)|2,{110,85,0}}, +/* 43912 */ {(13<<2)|2,{110,86,0}}, +/* 43913 */ {(13<<2)|2,{110,86,0}}, +/* 43914 */ {(13<<2)|2,{110,86,0}}, +/* 43915 */ {(13<<2)|2,{110,86,0}}, +/* 43916 */ {(13<<2)|2,{110,86,0}}, +/* 43917 */ {(13<<2)|2,{110,86,0}}, +/* 43918 */ {(13<<2)|2,{110,86,0}}, +/* 43919 */ {(13<<2)|2,{110,86,0}}, +/* 43920 */ {(13<<2)|2,{110,87,0}}, +/* 43921 */ {(13<<2)|2,{110,87,0}}, +/* 43922 */ {(13<<2)|2,{110,87,0}}, +/* 43923 */ {(13<<2)|2,{110,87,0}}, +/* 43924 */ {(13<<2)|2,{110,87,0}}, +/* 43925 */ {(13<<2)|2,{110,87,0}}, +/* 43926 */ {(13<<2)|2,{110,87,0}}, +/* 43927 */ {(13<<2)|2,{110,87,0}}, +/* 43928 */ {(13<<2)|2,{110,89,0}}, +/* 43929 */ {(13<<2)|2,{110,89,0}}, +/* 43930 */ {(13<<2)|2,{110,89,0}}, +/* 43931 */ {(13<<2)|2,{110,89,0}}, +/* 43932 */ {(13<<2)|2,{110,89,0}}, +/* 43933 */ {(13<<2)|2,{110,89,0}}, +/* 43934 */ {(13<<2)|2,{110,89,0}}, +/* 43935 */ {(13<<2)|2,{110,89,0}}, +/* 43936 */ {(13<<2)|2,{110,106,0}}, +/* 43937 */ {(13<<2)|2,{110,106,0}}, +/* 43938 */ {(13<<2)|2,{110,106,0}}, +/* 43939 */ {(13<<2)|2,{110,106,0}}, +/* 43940 */ {(13<<2)|2,{110,106,0}}, +/* 43941 */ {(13<<2)|2,{110,106,0}}, +/* 43942 */ {(13<<2)|2,{110,106,0}}, +/* 43943 */ {(13<<2)|2,{110,106,0}}, +/* 43944 */ {(13<<2)|2,{110,107,0}}, +/* 43945 */ {(13<<2)|2,{110,107,0}}, +/* 43946 */ {(13<<2)|2,{110,107,0}}, +/* 43947 */ {(13<<2)|2,{110,107,0}}, +/* 43948 */ {(13<<2)|2,{110,107,0}}, +/* 43949 */ {(13<<2)|2,{110,107,0}}, +/* 43950 */ {(13<<2)|2,{110,107,0}}, +/* 43951 */ {(13<<2)|2,{110,107,0}}, +/* 43952 */ {(13<<2)|2,{110,113,0}}, +/* 43953 */ {(13<<2)|2,{110,113,0}}, +/* 43954 */ {(13<<2)|2,{110,113,0}}, +/* 43955 */ {(13<<2)|2,{110,113,0}}, +/* 43956 */ {(13<<2)|2,{110,113,0}}, +/* 43957 */ {(13<<2)|2,{110,113,0}}, +/* 43958 */ {(13<<2)|2,{110,113,0}}, +/* 43959 */ {(13<<2)|2,{110,113,0}}, +/* 43960 */ {(13<<2)|2,{110,118,0}}, +/* 43961 */ {(13<<2)|2,{110,118,0}}, +/* 43962 */ {(13<<2)|2,{110,118,0}}, +/* 43963 */ {(13<<2)|2,{110,118,0}}, +/* 43964 */ {(13<<2)|2,{110,118,0}}, +/* 43965 */ {(13<<2)|2,{110,118,0}}, +/* 43966 */ {(13<<2)|2,{110,118,0}}, +/* 43967 */ {(13<<2)|2,{110,118,0}}, +/* 43968 */ {(13<<2)|2,{110,119,0}}, +/* 43969 */ {(13<<2)|2,{110,119,0}}, +/* 43970 */ {(13<<2)|2,{110,119,0}}, +/* 43971 */ {(13<<2)|2,{110,119,0}}, +/* 43972 */ {(13<<2)|2,{110,119,0}}, +/* 43973 */ {(13<<2)|2,{110,119,0}}, +/* 43974 */ {(13<<2)|2,{110,119,0}}, +/* 43975 */ {(13<<2)|2,{110,119,0}}, +/* 43976 */ {(13<<2)|2,{110,120,0}}, +/* 43977 */ {(13<<2)|2,{110,120,0}}, +/* 43978 */ {(13<<2)|2,{110,120,0}}, +/* 43979 */ {(13<<2)|2,{110,120,0}}, +/* 43980 */ {(13<<2)|2,{110,120,0}}, +/* 43981 */ {(13<<2)|2,{110,120,0}}, +/* 43982 */ {(13<<2)|2,{110,120,0}}, +/* 43983 */ {(13<<2)|2,{110,120,0}}, +/* 43984 */ {(13<<2)|2,{110,121,0}}, +/* 43985 */ {(13<<2)|2,{110,121,0}}, +/* 43986 */ {(13<<2)|2,{110,121,0}}, +/* 43987 */ {(13<<2)|2,{110,121,0}}, +/* 43988 */ {(13<<2)|2,{110,121,0}}, +/* 43989 */ {(13<<2)|2,{110,121,0}}, +/* 43990 */ {(13<<2)|2,{110,121,0}}, +/* 43991 */ {(13<<2)|2,{110,121,0}}, +/* 43992 */ {(13<<2)|2,{110,122,0}}, +/* 43993 */ {(13<<2)|2,{110,122,0}}, +/* 43994 */ {(13<<2)|2,{110,122,0}}, +/* 43995 */ {(13<<2)|2,{110,122,0}}, +/* 43996 */ {(13<<2)|2,{110,122,0}}, +/* 43997 */ {(13<<2)|2,{110,122,0}}, +/* 43998 */ {(13<<2)|2,{110,122,0}}, +/* 43999 */ {(13<<2)|2,{110,122,0}}, +/* 44000 */ {(14<<2)|2,{110,38,0}}, +/* 44001 */ {(14<<2)|2,{110,38,0}}, +/* 44002 */ {(14<<2)|2,{110,38,0}}, +/* 44003 */ {(14<<2)|2,{110,38,0}}, +/* 44004 */ {(14<<2)|2,{110,42,0}}, +/* 44005 */ {(14<<2)|2,{110,42,0}}, +/* 44006 */ {(14<<2)|2,{110,42,0}}, +/* 44007 */ {(14<<2)|2,{110,42,0}}, +/* 44008 */ {(14<<2)|2,{110,44,0}}, +/* 44009 */ {(14<<2)|2,{110,44,0}}, +/* 44010 */ {(14<<2)|2,{110,44,0}}, +/* 44011 */ {(14<<2)|2,{110,44,0}}, +/* 44012 */ {(14<<2)|2,{110,59,0}}, +/* 44013 */ {(14<<2)|2,{110,59,0}}, +/* 44014 */ {(14<<2)|2,{110,59,0}}, +/* 44015 */ {(14<<2)|2,{110,59,0}}, +/* 44016 */ {(14<<2)|2,{110,88,0}}, +/* 44017 */ {(14<<2)|2,{110,88,0}}, +/* 44018 */ {(14<<2)|2,{110,88,0}}, +/* 44019 */ {(14<<2)|2,{110,88,0}}, +/* 44020 */ {(14<<2)|2,{110,90,0}}, +/* 44021 */ {(14<<2)|2,{110,90,0}}, +/* 44022 */ {(14<<2)|2,{110,90,0}}, +/* 44023 */ {(14<<2)|2,{110,90,0}}, +/* 44024 */ {(16<<2)|2,{110,33,0}}, +/* 44025 */ {(16<<2)|2,{110,34,0}}, +/* 44026 */ {(16<<2)|2,{110,40,0}}, +/* 44027 */ {(16<<2)|2,{110,41,0}}, +/* 44028 */ {(16<<2)|2,{110,63,0}}, +/* 44029 */ {(6<<2)|1,{110,0,0}}, +/* 44030 */ {(6<<2)|1,{110,0,0}}, +/* 44031 */ {(6<<2)|1,{110,0,0}}, +/* 44032 */ {(16<<2)|3,{112,48,48}}, +/* 44033 */ {(16<<2)|3,{112,48,49}}, +/* 44034 */ {(16<<2)|3,{112,48,50}}, +/* 44035 */ {(16<<2)|3,{112,48,97}}, +/* 44036 */ {(16<<2)|3,{112,48,99}}, +/* 44037 */ {(16<<2)|3,{112,48,101}}, +/* 44038 */ {(16<<2)|3,{112,48,105}}, +/* 44039 */ {(16<<2)|3,{112,48,111}}, +/* 44040 */ {(16<<2)|3,{112,48,115}}, +/* 44041 */ {(16<<2)|3,{112,48,116}}, +/* 44042 */ {(11<<2)|2,{112,48,0}}, +/* 44043 */ {(11<<2)|2,{112,48,0}}, +/* 44044 */ {(11<<2)|2,{112,48,0}}, +/* 44045 */ {(11<<2)|2,{112,48,0}}, +/* 44046 */ {(11<<2)|2,{112,48,0}}, +/* 44047 */ {(11<<2)|2,{112,48,0}}, +/* 44048 */ {(11<<2)|2,{112,48,0}}, +/* 44049 */ {(11<<2)|2,{112,48,0}}, +/* 44050 */ {(11<<2)|2,{112,48,0}}, +/* 44051 */ {(11<<2)|2,{112,48,0}}, +/* 44052 */ {(11<<2)|2,{112,48,0}}, +/* 44053 */ {(11<<2)|2,{112,48,0}}, +/* 44054 */ {(11<<2)|2,{112,48,0}}, +/* 44055 */ {(11<<2)|2,{112,48,0}}, +/* 44056 */ {(11<<2)|2,{112,48,0}}, +/* 44057 */ {(11<<2)|2,{112,48,0}}, +/* 44058 */ {(11<<2)|2,{112,48,0}}, +/* 44059 */ {(11<<2)|2,{112,48,0}}, +/* 44060 */ {(11<<2)|2,{112,48,0}}, +/* 44061 */ {(11<<2)|2,{112,48,0}}, +/* 44062 */ {(11<<2)|2,{112,48,0}}, +/* 44063 */ {(11<<2)|2,{112,48,0}}, +/* 44064 */ {(16<<2)|3,{112,49,48}}, +/* 44065 */ {(16<<2)|3,{112,49,49}}, +/* 44066 */ {(16<<2)|3,{112,49,50}}, +/* 44067 */ {(16<<2)|3,{112,49,97}}, +/* 44068 */ {(16<<2)|3,{112,49,99}}, +/* 44069 */ {(16<<2)|3,{112,49,101}}, +/* 44070 */ {(16<<2)|3,{112,49,105}}, +/* 44071 */ {(16<<2)|3,{112,49,111}}, +/* 44072 */ {(16<<2)|3,{112,49,115}}, +/* 44073 */ {(16<<2)|3,{112,49,116}}, +/* 44074 */ {(11<<2)|2,{112,49,0}}, +/* 44075 */ {(11<<2)|2,{112,49,0}}, +/* 44076 */ {(11<<2)|2,{112,49,0}}, +/* 44077 */ {(11<<2)|2,{112,49,0}}, +/* 44078 */ {(11<<2)|2,{112,49,0}}, +/* 44079 */ {(11<<2)|2,{112,49,0}}, +/* 44080 */ {(11<<2)|2,{112,49,0}}, +/* 44081 */ {(11<<2)|2,{112,49,0}}, +/* 44082 */ {(11<<2)|2,{112,49,0}}, +/* 44083 */ {(11<<2)|2,{112,49,0}}, +/* 44084 */ {(11<<2)|2,{112,49,0}}, +/* 44085 */ {(11<<2)|2,{112,49,0}}, +/* 44086 */ {(11<<2)|2,{112,49,0}}, +/* 44087 */ {(11<<2)|2,{112,49,0}}, +/* 44088 */ {(11<<2)|2,{112,49,0}}, +/* 44089 */ {(11<<2)|2,{112,49,0}}, +/* 44090 */ {(11<<2)|2,{112,49,0}}, +/* 44091 */ {(11<<2)|2,{112,49,0}}, +/* 44092 */ {(11<<2)|2,{112,49,0}}, +/* 44093 */ {(11<<2)|2,{112,49,0}}, +/* 44094 */ {(11<<2)|2,{112,49,0}}, +/* 44095 */ {(11<<2)|2,{112,49,0}}, +/* 44096 */ {(16<<2)|3,{112,50,48}}, +/* 44097 */ {(16<<2)|3,{112,50,49}}, +/* 44098 */ {(16<<2)|3,{112,50,50}}, +/* 44099 */ {(16<<2)|3,{112,50,97}}, +/* 44100 */ {(16<<2)|3,{112,50,99}}, +/* 44101 */ {(16<<2)|3,{112,50,101}}, +/* 44102 */ {(16<<2)|3,{112,50,105}}, +/* 44103 */ {(16<<2)|3,{112,50,111}}, +/* 44104 */ {(16<<2)|3,{112,50,115}}, +/* 44105 */ {(16<<2)|3,{112,50,116}}, +/* 44106 */ {(11<<2)|2,{112,50,0}}, +/* 44107 */ {(11<<2)|2,{112,50,0}}, +/* 44108 */ {(11<<2)|2,{112,50,0}}, +/* 44109 */ {(11<<2)|2,{112,50,0}}, +/* 44110 */ {(11<<2)|2,{112,50,0}}, +/* 44111 */ {(11<<2)|2,{112,50,0}}, +/* 44112 */ {(11<<2)|2,{112,50,0}}, +/* 44113 */ {(11<<2)|2,{112,50,0}}, +/* 44114 */ {(11<<2)|2,{112,50,0}}, +/* 44115 */ {(11<<2)|2,{112,50,0}}, +/* 44116 */ {(11<<2)|2,{112,50,0}}, +/* 44117 */ {(11<<2)|2,{112,50,0}}, +/* 44118 */ {(11<<2)|2,{112,50,0}}, +/* 44119 */ {(11<<2)|2,{112,50,0}}, +/* 44120 */ {(11<<2)|2,{112,50,0}}, +/* 44121 */ {(11<<2)|2,{112,50,0}}, +/* 44122 */ {(11<<2)|2,{112,50,0}}, +/* 44123 */ {(11<<2)|2,{112,50,0}}, +/* 44124 */ {(11<<2)|2,{112,50,0}}, +/* 44125 */ {(11<<2)|2,{112,50,0}}, +/* 44126 */ {(11<<2)|2,{112,50,0}}, +/* 44127 */ {(11<<2)|2,{112,50,0}}, +/* 44128 */ {(16<<2)|3,{112,97,48}}, +/* 44129 */ {(16<<2)|3,{112,97,49}}, +/* 44130 */ {(16<<2)|3,{112,97,50}}, +/* 44131 */ {(16<<2)|3,{112,97,97}}, +/* 44132 */ {(16<<2)|3,{112,97,99}}, +/* 44133 */ {(16<<2)|3,{112,97,101}}, +/* 44134 */ {(16<<2)|3,{112,97,105}}, +/* 44135 */ {(16<<2)|3,{112,97,111}}, +/* 44136 */ {(16<<2)|3,{112,97,115}}, +/* 44137 */ {(16<<2)|3,{112,97,116}}, +/* 44138 */ {(11<<2)|2,{112,97,0}}, +/* 44139 */ {(11<<2)|2,{112,97,0}}, +/* 44140 */ {(11<<2)|2,{112,97,0}}, +/* 44141 */ {(11<<2)|2,{112,97,0}}, +/* 44142 */ {(11<<2)|2,{112,97,0}}, +/* 44143 */ {(11<<2)|2,{112,97,0}}, +/* 44144 */ {(11<<2)|2,{112,97,0}}, +/* 44145 */ {(11<<2)|2,{112,97,0}}, +/* 44146 */ {(11<<2)|2,{112,97,0}}, +/* 44147 */ {(11<<2)|2,{112,97,0}}, +/* 44148 */ {(11<<2)|2,{112,97,0}}, +/* 44149 */ {(11<<2)|2,{112,97,0}}, +/* 44150 */ {(11<<2)|2,{112,97,0}}, +/* 44151 */ {(11<<2)|2,{112,97,0}}, +/* 44152 */ {(11<<2)|2,{112,97,0}}, +/* 44153 */ {(11<<2)|2,{112,97,0}}, +/* 44154 */ {(11<<2)|2,{112,97,0}}, +/* 44155 */ {(11<<2)|2,{112,97,0}}, +/* 44156 */ {(11<<2)|2,{112,97,0}}, +/* 44157 */ {(11<<2)|2,{112,97,0}}, +/* 44158 */ {(11<<2)|2,{112,97,0}}, +/* 44159 */ {(11<<2)|2,{112,97,0}}, +/* 44160 */ {(16<<2)|3,{112,99,48}}, +/* 44161 */ {(16<<2)|3,{112,99,49}}, +/* 44162 */ {(16<<2)|3,{112,99,50}}, +/* 44163 */ {(16<<2)|3,{112,99,97}}, +/* 44164 */ {(16<<2)|3,{112,99,99}}, +/* 44165 */ {(16<<2)|3,{112,99,101}}, +/* 44166 */ {(16<<2)|3,{112,99,105}}, +/* 44167 */ {(16<<2)|3,{112,99,111}}, +/* 44168 */ {(16<<2)|3,{112,99,115}}, +/* 44169 */ {(16<<2)|3,{112,99,116}}, +/* 44170 */ {(11<<2)|2,{112,99,0}}, +/* 44171 */ {(11<<2)|2,{112,99,0}}, +/* 44172 */ {(11<<2)|2,{112,99,0}}, +/* 44173 */ {(11<<2)|2,{112,99,0}}, +/* 44174 */ {(11<<2)|2,{112,99,0}}, +/* 44175 */ {(11<<2)|2,{112,99,0}}, +/* 44176 */ {(11<<2)|2,{112,99,0}}, +/* 44177 */ {(11<<2)|2,{112,99,0}}, +/* 44178 */ {(11<<2)|2,{112,99,0}}, +/* 44179 */ {(11<<2)|2,{112,99,0}}, +/* 44180 */ {(11<<2)|2,{112,99,0}}, +/* 44181 */ {(11<<2)|2,{112,99,0}}, +/* 44182 */ {(11<<2)|2,{112,99,0}}, +/* 44183 */ {(11<<2)|2,{112,99,0}}, +/* 44184 */ {(11<<2)|2,{112,99,0}}, +/* 44185 */ {(11<<2)|2,{112,99,0}}, +/* 44186 */ {(11<<2)|2,{112,99,0}}, +/* 44187 */ {(11<<2)|2,{112,99,0}}, +/* 44188 */ {(11<<2)|2,{112,99,0}}, +/* 44189 */ {(11<<2)|2,{112,99,0}}, +/* 44190 */ {(11<<2)|2,{112,99,0}}, +/* 44191 */ {(11<<2)|2,{112,99,0}}, +/* 44192 */ {(16<<2)|3,{112,101,48}}, +/* 44193 */ {(16<<2)|3,{112,101,49}}, +/* 44194 */ {(16<<2)|3,{112,101,50}}, +/* 44195 */ {(16<<2)|3,{112,101,97}}, +/* 44196 */ {(16<<2)|3,{112,101,99}}, +/* 44197 */ {(16<<2)|3,{112,101,101}}, +/* 44198 */ {(16<<2)|3,{112,101,105}}, +/* 44199 */ {(16<<2)|3,{112,101,111}}, +/* 44200 */ {(16<<2)|3,{112,101,115}}, +/* 44201 */ {(16<<2)|3,{112,101,116}}, +/* 44202 */ {(11<<2)|2,{112,101,0}}, +/* 44203 */ {(11<<2)|2,{112,101,0}}, +/* 44204 */ {(11<<2)|2,{112,101,0}}, +/* 44205 */ {(11<<2)|2,{112,101,0}}, +/* 44206 */ {(11<<2)|2,{112,101,0}}, +/* 44207 */ {(11<<2)|2,{112,101,0}}, +/* 44208 */ {(11<<2)|2,{112,101,0}}, +/* 44209 */ {(11<<2)|2,{112,101,0}}, +/* 44210 */ {(11<<2)|2,{112,101,0}}, +/* 44211 */ {(11<<2)|2,{112,101,0}}, +/* 44212 */ {(11<<2)|2,{112,101,0}}, +/* 44213 */ {(11<<2)|2,{112,101,0}}, +/* 44214 */ {(11<<2)|2,{112,101,0}}, +/* 44215 */ {(11<<2)|2,{112,101,0}}, +/* 44216 */ {(11<<2)|2,{112,101,0}}, +/* 44217 */ {(11<<2)|2,{112,101,0}}, +/* 44218 */ {(11<<2)|2,{112,101,0}}, +/* 44219 */ {(11<<2)|2,{112,101,0}}, +/* 44220 */ {(11<<2)|2,{112,101,0}}, +/* 44221 */ {(11<<2)|2,{112,101,0}}, +/* 44222 */ {(11<<2)|2,{112,101,0}}, +/* 44223 */ {(11<<2)|2,{112,101,0}}, +/* 44224 */ {(16<<2)|3,{112,105,48}}, +/* 44225 */ {(16<<2)|3,{112,105,49}}, +/* 44226 */ {(16<<2)|3,{112,105,50}}, +/* 44227 */ {(16<<2)|3,{112,105,97}}, +/* 44228 */ {(16<<2)|3,{112,105,99}}, +/* 44229 */ {(16<<2)|3,{112,105,101}}, +/* 44230 */ {(16<<2)|3,{112,105,105}}, +/* 44231 */ {(16<<2)|3,{112,105,111}}, +/* 44232 */ {(16<<2)|3,{112,105,115}}, +/* 44233 */ {(16<<2)|3,{112,105,116}}, +/* 44234 */ {(11<<2)|2,{112,105,0}}, +/* 44235 */ {(11<<2)|2,{112,105,0}}, +/* 44236 */ {(11<<2)|2,{112,105,0}}, +/* 44237 */ {(11<<2)|2,{112,105,0}}, +/* 44238 */ {(11<<2)|2,{112,105,0}}, +/* 44239 */ {(11<<2)|2,{112,105,0}}, +/* 44240 */ {(11<<2)|2,{112,105,0}}, +/* 44241 */ {(11<<2)|2,{112,105,0}}, +/* 44242 */ {(11<<2)|2,{112,105,0}}, +/* 44243 */ {(11<<2)|2,{112,105,0}}, +/* 44244 */ {(11<<2)|2,{112,105,0}}, +/* 44245 */ {(11<<2)|2,{112,105,0}}, +/* 44246 */ {(11<<2)|2,{112,105,0}}, +/* 44247 */ {(11<<2)|2,{112,105,0}}, +/* 44248 */ {(11<<2)|2,{112,105,0}}, +/* 44249 */ {(11<<2)|2,{112,105,0}}, +/* 44250 */ {(11<<2)|2,{112,105,0}}, +/* 44251 */ {(11<<2)|2,{112,105,0}}, +/* 44252 */ {(11<<2)|2,{112,105,0}}, +/* 44253 */ {(11<<2)|2,{112,105,0}}, +/* 44254 */ {(11<<2)|2,{112,105,0}}, +/* 44255 */ {(11<<2)|2,{112,105,0}}, +/* 44256 */ {(16<<2)|3,{112,111,48}}, +/* 44257 */ {(16<<2)|3,{112,111,49}}, +/* 44258 */ {(16<<2)|3,{112,111,50}}, +/* 44259 */ {(16<<2)|3,{112,111,97}}, +/* 44260 */ {(16<<2)|3,{112,111,99}}, +/* 44261 */ {(16<<2)|3,{112,111,101}}, +/* 44262 */ {(16<<2)|3,{112,111,105}}, +/* 44263 */ {(16<<2)|3,{112,111,111}}, +/* 44264 */ {(16<<2)|3,{112,111,115}}, +/* 44265 */ {(16<<2)|3,{112,111,116}}, +/* 44266 */ {(11<<2)|2,{112,111,0}}, +/* 44267 */ {(11<<2)|2,{112,111,0}}, +/* 44268 */ {(11<<2)|2,{112,111,0}}, +/* 44269 */ {(11<<2)|2,{112,111,0}}, +/* 44270 */ {(11<<2)|2,{112,111,0}}, +/* 44271 */ {(11<<2)|2,{112,111,0}}, +/* 44272 */ {(11<<2)|2,{112,111,0}}, +/* 44273 */ {(11<<2)|2,{112,111,0}}, +/* 44274 */ {(11<<2)|2,{112,111,0}}, +/* 44275 */ {(11<<2)|2,{112,111,0}}, +/* 44276 */ {(11<<2)|2,{112,111,0}}, +/* 44277 */ {(11<<2)|2,{112,111,0}}, +/* 44278 */ {(11<<2)|2,{112,111,0}}, +/* 44279 */ {(11<<2)|2,{112,111,0}}, +/* 44280 */ {(11<<2)|2,{112,111,0}}, +/* 44281 */ {(11<<2)|2,{112,111,0}}, +/* 44282 */ {(11<<2)|2,{112,111,0}}, +/* 44283 */ {(11<<2)|2,{112,111,0}}, +/* 44284 */ {(11<<2)|2,{112,111,0}}, +/* 44285 */ {(11<<2)|2,{112,111,0}}, +/* 44286 */ {(11<<2)|2,{112,111,0}}, +/* 44287 */ {(11<<2)|2,{112,111,0}}, +/* 44288 */ {(16<<2)|3,{112,115,48}}, +/* 44289 */ {(16<<2)|3,{112,115,49}}, +/* 44290 */ {(16<<2)|3,{112,115,50}}, +/* 44291 */ {(16<<2)|3,{112,115,97}}, +/* 44292 */ {(16<<2)|3,{112,115,99}}, +/* 44293 */ {(16<<2)|3,{112,115,101}}, +/* 44294 */ {(16<<2)|3,{112,115,105}}, +/* 44295 */ {(16<<2)|3,{112,115,111}}, +/* 44296 */ {(16<<2)|3,{112,115,115}}, +/* 44297 */ {(16<<2)|3,{112,115,116}}, +/* 44298 */ {(11<<2)|2,{112,115,0}}, +/* 44299 */ {(11<<2)|2,{112,115,0}}, +/* 44300 */ {(11<<2)|2,{112,115,0}}, +/* 44301 */ {(11<<2)|2,{112,115,0}}, +/* 44302 */ {(11<<2)|2,{112,115,0}}, +/* 44303 */ {(11<<2)|2,{112,115,0}}, +/* 44304 */ {(11<<2)|2,{112,115,0}}, +/* 44305 */ {(11<<2)|2,{112,115,0}}, +/* 44306 */ {(11<<2)|2,{112,115,0}}, +/* 44307 */ {(11<<2)|2,{112,115,0}}, +/* 44308 */ {(11<<2)|2,{112,115,0}}, +/* 44309 */ {(11<<2)|2,{112,115,0}}, +/* 44310 */ {(11<<2)|2,{112,115,0}}, +/* 44311 */ {(11<<2)|2,{112,115,0}}, +/* 44312 */ {(11<<2)|2,{112,115,0}}, +/* 44313 */ {(11<<2)|2,{112,115,0}}, +/* 44314 */ {(11<<2)|2,{112,115,0}}, +/* 44315 */ {(11<<2)|2,{112,115,0}}, +/* 44316 */ {(11<<2)|2,{112,115,0}}, +/* 44317 */ {(11<<2)|2,{112,115,0}}, +/* 44318 */ {(11<<2)|2,{112,115,0}}, +/* 44319 */ {(11<<2)|2,{112,115,0}}, +/* 44320 */ {(16<<2)|3,{112,116,48}}, +/* 44321 */ {(16<<2)|3,{112,116,49}}, +/* 44322 */ {(16<<2)|3,{112,116,50}}, +/* 44323 */ {(16<<2)|3,{112,116,97}}, +/* 44324 */ {(16<<2)|3,{112,116,99}}, +/* 44325 */ {(16<<2)|3,{112,116,101}}, +/* 44326 */ {(16<<2)|3,{112,116,105}}, +/* 44327 */ {(16<<2)|3,{112,116,111}}, +/* 44328 */ {(16<<2)|3,{112,116,115}}, +/* 44329 */ {(16<<2)|3,{112,116,116}}, +/* 44330 */ {(11<<2)|2,{112,116,0}}, +/* 44331 */ {(11<<2)|2,{112,116,0}}, +/* 44332 */ {(11<<2)|2,{112,116,0}}, +/* 44333 */ {(11<<2)|2,{112,116,0}}, +/* 44334 */ {(11<<2)|2,{112,116,0}}, +/* 44335 */ {(11<<2)|2,{112,116,0}}, +/* 44336 */ {(11<<2)|2,{112,116,0}}, +/* 44337 */ {(11<<2)|2,{112,116,0}}, +/* 44338 */ {(11<<2)|2,{112,116,0}}, +/* 44339 */ {(11<<2)|2,{112,116,0}}, +/* 44340 */ {(11<<2)|2,{112,116,0}}, +/* 44341 */ {(11<<2)|2,{112,116,0}}, +/* 44342 */ {(11<<2)|2,{112,116,0}}, +/* 44343 */ {(11<<2)|2,{112,116,0}}, +/* 44344 */ {(11<<2)|2,{112,116,0}}, +/* 44345 */ {(11<<2)|2,{112,116,0}}, +/* 44346 */ {(11<<2)|2,{112,116,0}}, +/* 44347 */ {(11<<2)|2,{112,116,0}}, +/* 44348 */ {(11<<2)|2,{112,116,0}}, +/* 44349 */ {(11<<2)|2,{112,116,0}}, +/* 44350 */ {(11<<2)|2,{112,116,0}}, +/* 44351 */ {(11<<2)|2,{112,116,0}}, +/* 44352 */ {(12<<2)|2,{112,32,0}}, +/* 44353 */ {(12<<2)|2,{112,32,0}}, +/* 44354 */ {(12<<2)|2,{112,32,0}}, +/* 44355 */ {(12<<2)|2,{112,32,0}}, +/* 44356 */ {(12<<2)|2,{112,32,0}}, +/* 44357 */ {(12<<2)|2,{112,32,0}}, +/* 44358 */ {(12<<2)|2,{112,32,0}}, +/* 44359 */ {(12<<2)|2,{112,32,0}}, +/* 44360 */ {(12<<2)|2,{112,32,0}}, +/* 44361 */ {(12<<2)|2,{112,32,0}}, +/* 44362 */ {(12<<2)|2,{112,32,0}}, +/* 44363 */ {(12<<2)|2,{112,32,0}}, +/* 44364 */ {(12<<2)|2,{112,32,0}}, +/* 44365 */ {(12<<2)|2,{112,32,0}}, +/* 44366 */ {(12<<2)|2,{112,32,0}}, +/* 44367 */ {(12<<2)|2,{112,32,0}}, +/* 44368 */ {(12<<2)|2,{112,37,0}}, +/* 44369 */ {(12<<2)|2,{112,37,0}}, +/* 44370 */ {(12<<2)|2,{112,37,0}}, +/* 44371 */ {(12<<2)|2,{112,37,0}}, +/* 44372 */ {(12<<2)|2,{112,37,0}}, +/* 44373 */ {(12<<2)|2,{112,37,0}}, +/* 44374 */ {(12<<2)|2,{112,37,0}}, +/* 44375 */ {(12<<2)|2,{112,37,0}}, +/* 44376 */ {(12<<2)|2,{112,37,0}}, +/* 44377 */ {(12<<2)|2,{112,37,0}}, +/* 44378 */ {(12<<2)|2,{112,37,0}}, +/* 44379 */ {(12<<2)|2,{112,37,0}}, +/* 44380 */ {(12<<2)|2,{112,37,0}}, +/* 44381 */ {(12<<2)|2,{112,37,0}}, +/* 44382 */ {(12<<2)|2,{112,37,0}}, +/* 44383 */ {(12<<2)|2,{112,37,0}}, +/* 44384 */ {(12<<2)|2,{112,45,0}}, +/* 44385 */ {(12<<2)|2,{112,45,0}}, +/* 44386 */ {(12<<2)|2,{112,45,0}}, +/* 44387 */ {(12<<2)|2,{112,45,0}}, +/* 44388 */ {(12<<2)|2,{112,45,0}}, +/* 44389 */ {(12<<2)|2,{112,45,0}}, +/* 44390 */ {(12<<2)|2,{112,45,0}}, +/* 44391 */ {(12<<2)|2,{112,45,0}}, +/* 44392 */ {(12<<2)|2,{112,45,0}}, +/* 44393 */ {(12<<2)|2,{112,45,0}}, +/* 44394 */ {(12<<2)|2,{112,45,0}}, +/* 44395 */ {(12<<2)|2,{112,45,0}}, +/* 44396 */ {(12<<2)|2,{112,45,0}}, +/* 44397 */ {(12<<2)|2,{112,45,0}}, +/* 44398 */ {(12<<2)|2,{112,45,0}}, +/* 44399 */ {(12<<2)|2,{112,45,0}}, +/* 44400 */ {(12<<2)|2,{112,46,0}}, +/* 44401 */ {(12<<2)|2,{112,46,0}}, +/* 44402 */ {(12<<2)|2,{112,46,0}}, +/* 44403 */ {(12<<2)|2,{112,46,0}}, +/* 44404 */ {(12<<2)|2,{112,46,0}}, +/* 44405 */ {(12<<2)|2,{112,46,0}}, +/* 44406 */ {(12<<2)|2,{112,46,0}}, +/* 44407 */ {(12<<2)|2,{112,46,0}}, +/* 44408 */ {(12<<2)|2,{112,46,0}}, +/* 44409 */ {(12<<2)|2,{112,46,0}}, +/* 44410 */ {(12<<2)|2,{112,46,0}}, +/* 44411 */ {(12<<2)|2,{112,46,0}}, +/* 44412 */ {(12<<2)|2,{112,46,0}}, +/* 44413 */ {(12<<2)|2,{112,46,0}}, +/* 44414 */ {(12<<2)|2,{112,46,0}}, +/* 44415 */ {(12<<2)|2,{112,46,0}}, +/* 44416 */ {(12<<2)|2,{112,47,0}}, +/* 44417 */ {(12<<2)|2,{112,47,0}}, +/* 44418 */ {(12<<2)|2,{112,47,0}}, +/* 44419 */ {(12<<2)|2,{112,47,0}}, +/* 44420 */ {(12<<2)|2,{112,47,0}}, +/* 44421 */ {(12<<2)|2,{112,47,0}}, +/* 44422 */ {(12<<2)|2,{112,47,0}}, +/* 44423 */ {(12<<2)|2,{112,47,0}}, +/* 44424 */ {(12<<2)|2,{112,47,0}}, +/* 44425 */ {(12<<2)|2,{112,47,0}}, +/* 44426 */ {(12<<2)|2,{112,47,0}}, +/* 44427 */ {(12<<2)|2,{112,47,0}}, +/* 44428 */ {(12<<2)|2,{112,47,0}}, +/* 44429 */ {(12<<2)|2,{112,47,0}}, +/* 44430 */ {(12<<2)|2,{112,47,0}}, +/* 44431 */ {(12<<2)|2,{112,47,0}}, +/* 44432 */ {(12<<2)|2,{112,51,0}}, +/* 44433 */ {(12<<2)|2,{112,51,0}}, +/* 44434 */ {(12<<2)|2,{112,51,0}}, +/* 44435 */ {(12<<2)|2,{112,51,0}}, +/* 44436 */ {(12<<2)|2,{112,51,0}}, +/* 44437 */ {(12<<2)|2,{112,51,0}}, +/* 44438 */ {(12<<2)|2,{112,51,0}}, +/* 44439 */ {(12<<2)|2,{112,51,0}}, +/* 44440 */ {(12<<2)|2,{112,51,0}}, +/* 44441 */ {(12<<2)|2,{112,51,0}}, +/* 44442 */ {(12<<2)|2,{112,51,0}}, +/* 44443 */ {(12<<2)|2,{112,51,0}}, +/* 44444 */ {(12<<2)|2,{112,51,0}}, +/* 44445 */ {(12<<2)|2,{112,51,0}}, +/* 44446 */ {(12<<2)|2,{112,51,0}}, +/* 44447 */ {(12<<2)|2,{112,51,0}}, +/* 44448 */ {(12<<2)|2,{112,52,0}}, +/* 44449 */ {(12<<2)|2,{112,52,0}}, +/* 44450 */ {(12<<2)|2,{112,52,0}}, +/* 44451 */ {(12<<2)|2,{112,52,0}}, +/* 44452 */ {(12<<2)|2,{112,52,0}}, +/* 44453 */ {(12<<2)|2,{112,52,0}}, +/* 44454 */ {(12<<2)|2,{112,52,0}}, +/* 44455 */ {(12<<2)|2,{112,52,0}}, +/* 44456 */ {(12<<2)|2,{112,52,0}}, +/* 44457 */ {(12<<2)|2,{112,52,0}}, +/* 44458 */ {(12<<2)|2,{112,52,0}}, +/* 44459 */ {(12<<2)|2,{112,52,0}}, +/* 44460 */ {(12<<2)|2,{112,52,0}}, +/* 44461 */ {(12<<2)|2,{112,52,0}}, +/* 44462 */ {(12<<2)|2,{112,52,0}}, +/* 44463 */ {(12<<2)|2,{112,52,0}}, +/* 44464 */ {(12<<2)|2,{112,53,0}}, +/* 44465 */ {(12<<2)|2,{112,53,0}}, +/* 44466 */ {(12<<2)|2,{112,53,0}}, +/* 44467 */ {(12<<2)|2,{112,53,0}}, +/* 44468 */ {(12<<2)|2,{112,53,0}}, +/* 44469 */ {(12<<2)|2,{112,53,0}}, +/* 44470 */ {(12<<2)|2,{112,53,0}}, +/* 44471 */ {(12<<2)|2,{112,53,0}}, +/* 44472 */ {(12<<2)|2,{112,53,0}}, +/* 44473 */ {(12<<2)|2,{112,53,0}}, +/* 44474 */ {(12<<2)|2,{112,53,0}}, +/* 44475 */ {(12<<2)|2,{112,53,0}}, +/* 44476 */ {(12<<2)|2,{112,53,0}}, +/* 44477 */ {(12<<2)|2,{112,53,0}}, +/* 44478 */ {(12<<2)|2,{112,53,0}}, +/* 44479 */ {(12<<2)|2,{112,53,0}}, +/* 44480 */ {(12<<2)|2,{112,54,0}}, +/* 44481 */ {(12<<2)|2,{112,54,0}}, +/* 44482 */ {(12<<2)|2,{112,54,0}}, +/* 44483 */ {(12<<2)|2,{112,54,0}}, +/* 44484 */ {(12<<2)|2,{112,54,0}}, +/* 44485 */ {(12<<2)|2,{112,54,0}}, +/* 44486 */ {(12<<2)|2,{112,54,0}}, +/* 44487 */ {(12<<2)|2,{112,54,0}}, +/* 44488 */ {(12<<2)|2,{112,54,0}}, +/* 44489 */ {(12<<2)|2,{112,54,0}}, +/* 44490 */ {(12<<2)|2,{112,54,0}}, +/* 44491 */ {(12<<2)|2,{112,54,0}}, +/* 44492 */ {(12<<2)|2,{112,54,0}}, +/* 44493 */ {(12<<2)|2,{112,54,0}}, +/* 44494 */ {(12<<2)|2,{112,54,0}}, +/* 44495 */ {(12<<2)|2,{112,54,0}}, +/* 44496 */ {(12<<2)|2,{112,55,0}}, +/* 44497 */ {(12<<2)|2,{112,55,0}}, +/* 44498 */ {(12<<2)|2,{112,55,0}}, +/* 44499 */ {(12<<2)|2,{112,55,0}}, +/* 44500 */ {(12<<2)|2,{112,55,0}}, +/* 44501 */ {(12<<2)|2,{112,55,0}}, +/* 44502 */ {(12<<2)|2,{112,55,0}}, +/* 44503 */ {(12<<2)|2,{112,55,0}}, +/* 44504 */ {(12<<2)|2,{112,55,0}}, +/* 44505 */ {(12<<2)|2,{112,55,0}}, +/* 44506 */ {(12<<2)|2,{112,55,0}}, +/* 44507 */ {(12<<2)|2,{112,55,0}}, +/* 44508 */ {(12<<2)|2,{112,55,0}}, +/* 44509 */ {(12<<2)|2,{112,55,0}}, +/* 44510 */ {(12<<2)|2,{112,55,0}}, +/* 44511 */ {(12<<2)|2,{112,55,0}}, +/* 44512 */ {(12<<2)|2,{112,56,0}}, +/* 44513 */ {(12<<2)|2,{112,56,0}}, +/* 44514 */ {(12<<2)|2,{112,56,0}}, +/* 44515 */ {(12<<2)|2,{112,56,0}}, +/* 44516 */ {(12<<2)|2,{112,56,0}}, +/* 44517 */ {(12<<2)|2,{112,56,0}}, +/* 44518 */ {(12<<2)|2,{112,56,0}}, +/* 44519 */ {(12<<2)|2,{112,56,0}}, +/* 44520 */ {(12<<2)|2,{112,56,0}}, +/* 44521 */ {(12<<2)|2,{112,56,0}}, +/* 44522 */ {(12<<2)|2,{112,56,0}}, +/* 44523 */ {(12<<2)|2,{112,56,0}}, +/* 44524 */ {(12<<2)|2,{112,56,0}}, +/* 44525 */ {(12<<2)|2,{112,56,0}}, +/* 44526 */ {(12<<2)|2,{112,56,0}}, +/* 44527 */ {(12<<2)|2,{112,56,0}}, +/* 44528 */ {(12<<2)|2,{112,57,0}}, +/* 44529 */ {(12<<2)|2,{112,57,0}}, +/* 44530 */ {(12<<2)|2,{112,57,0}}, +/* 44531 */ {(12<<2)|2,{112,57,0}}, +/* 44532 */ {(12<<2)|2,{112,57,0}}, +/* 44533 */ {(12<<2)|2,{112,57,0}}, +/* 44534 */ {(12<<2)|2,{112,57,0}}, +/* 44535 */ {(12<<2)|2,{112,57,0}}, +/* 44536 */ {(12<<2)|2,{112,57,0}}, +/* 44537 */ {(12<<2)|2,{112,57,0}}, +/* 44538 */ {(12<<2)|2,{112,57,0}}, +/* 44539 */ {(12<<2)|2,{112,57,0}}, +/* 44540 */ {(12<<2)|2,{112,57,0}}, +/* 44541 */ {(12<<2)|2,{112,57,0}}, +/* 44542 */ {(12<<2)|2,{112,57,0}}, +/* 44543 */ {(12<<2)|2,{112,57,0}}, +/* 44544 */ {(12<<2)|2,{112,61,0}}, +/* 44545 */ {(12<<2)|2,{112,61,0}}, +/* 44546 */ {(12<<2)|2,{112,61,0}}, +/* 44547 */ {(12<<2)|2,{112,61,0}}, +/* 44548 */ {(12<<2)|2,{112,61,0}}, +/* 44549 */ {(12<<2)|2,{112,61,0}}, +/* 44550 */ {(12<<2)|2,{112,61,0}}, +/* 44551 */ {(12<<2)|2,{112,61,0}}, +/* 44552 */ {(12<<2)|2,{112,61,0}}, +/* 44553 */ {(12<<2)|2,{112,61,0}}, +/* 44554 */ {(12<<2)|2,{112,61,0}}, +/* 44555 */ {(12<<2)|2,{112,61,0}}, +/* 44556 */ {(12<<2)|2,{112,61,0}}, +/* 44557 */ {(12<<2)|2,{112,61,0}}, +/* 44558 */ {(12<<2)|2,{112,61,0}}, +/* 44559 */ {(12<<2)|2,{112,61,0}}, +/* 44560 */ {(12<<2)|2,{112,65,0}}, +/* 44561 */ {(12<<2)|2,{112,65,0}}, +/* 44562 */ {(12<<2)|2,{112,65,0}}, +/* 44563 */ {(12<<2)|2,{112,65,0}}, +/* 44564 */ {(12<<2)|2,{112,65,0}}, +/* 44565 */ {(12<<2)|2,{112,65,0}}, +/* 44566 */ {(12<<2)|2,{112,65,0}}, +/* 44567 */ {(12<<2)|2,{112,65,0}}, +/* 44568 */ {(12<<2)|2,{112,65,0}}, +/* 44569 */ {(12<<2)|2,{112,65,0}}, +/* 44570 */ {(12<<2)|2,{112,65,0}}, +/* 44571 */ {(12<<2)|2,{112,65,0}}, +/* 44572 */ {(12<<2)|2,{112,65,0}}, +/* 44573 */ {(12<<2)|2,{112,65,0}}, +/* 44574 */ {(12<<2)|2,{112,65,0}}, +/* 44575 */ {(12<<2)|2,{112,65,0}}, +/* 44576 */ {(12<<2)|2,{112,95,0}}, +/* 44577 */ {(12<<2)|2,{112,95,0}}, +/* 44578 */ {(12<<2)|2,{112,95,0}}, +/* 44579 */ {(12<<2)|2,{112,95,0}}, +/* 44580 */ {(12<<2)|2,{112,95,0}}, +/* 44581 */ {(12<<2)|2,{112,95,0}}, +/* 44582 */ {(12<<2)|2,{112,95,0}}, +/* 44583 */ {(12<<2)|2,{112,95,0}}, +/* 44584 */ {(12<<2)|2,{112,95,0}}, +/* 44585 */ {(12<<2)|2,{112,95,0}}, +/* 44586 */ {(12<<2)|2,{112,95,0}}, +/* 44587 */ {(12<<2)|2,{112,95,0}}, +/* 44588 */ {(12<<2)|2,{112,95,0}}, +/* 44589 */ {(12<<2)|2,{112,95,0}}, +/* 44590 */ {(12<<2)|2,{112,95,0}}, +/* 44591 */ {(12<<2)|2,{112,95,0}}, +/* 44592 */ {(12<<2)|2,{112,98,0}}, +/* 44593 */ {(12<<2)|2,{112,98,0}}, +/* 44594 */ {(12<<2)|2,{112,98,0}}, +/* 44595 */ {(12<<2)|2,{112,98,0}}, +/* 44596 */ {(12<<2)|2,{112,98,0}}, +/* 44597 */ {(12<<2)|2,{112,98,0}}, +/* 44598 */ {(12<<2)|2,{112,98,0}}, +/* 44599 */ {(12<<2)|2,{112,98,0}}, +/* 44600 */ {(12<<2)|2,{112,98,0}}, +/* 44601 */ {(12<<2)|2,{112,98,0}}, +/* 44602 */ {(12<<2)|2,{112,98,0}}, +/* 44603 */ {(12<<2)|2,{112,98,0}}, +/* 44604 */ {(12<<2)|2,{112,98,0}}, +/* 44605 */ {(12<<2)|2,{112,98,0}}, +/* 44606 */ {(12<<2)|2,{112,98,0}}, +/* 44607 */ {(12<<2)|2,{112,98,0}}, +/* 44608 */ {(12<<2)|2,{112,100,0}}, +/* 44609 */ {(12<<2)|2,{112,100,0}}, +/* 44610 */ {(12<<2)|2,{112,100,0}}, +/* 44611 */ {(12<<2)|2,{112,100,0}}, +/* 44612 */ {(12<<2)|2,{112,100,0}}, +/* 44613 */ {(12<<2)|2,{112,100,0}}, +/* 44614 */ {(12<<2)|2,{112,100,0}}, +/* 44615 */ {(12<<2)|2,{112,100,0}}, +/* 44616 */ {(12<<2)|2,{112,100,0}}, +/* 44617 */ {(12<<2)|2,{112,100,0}}, +/* 44618 */ {(12<<2)|2,{112,100,0}}, +/* 44619 */ {(12<<2)|2,{112,100,0}}, +/* 44620 */ {(12<<2)|2,{112,100,0}}, +/* 44621 */ {(12<<2)|2,{112,100,0}}, +/* 44622 */ {(12<<2)|2,{112,100,0}}, +/* 44623 */ {(12<<2)|2,{112,100,0}}, +/* 44624 */ {(12<<2)|2,{112,102,0}}, +/* 44625 */ {(12<<2)|2,{112,102,0}}, +/* 44626 */ {(12<<2)|2,{112,102,0}}, +/* 44627 */ {(12<<2)|2,{112,102,0}}, +/* 44628 */ {(12<<2)|2,{112,102,0}}, +/* 44629 */ {(12<<2)|2,{112,102,0}}, +/* 44630 */ {(12<<2)|2,{112,102,0}}, +/* 44631 */ {(12<<2)|2,{112,102,0}}, +/* 44632 */ {(12<<2)|2,{112,102,0}}, +/* 44633 */ {(12<<2)|2,{112,102,0}}, +/* 44634 */ {(12<<2)|2,{112,102,0}}, +/* 44635 */ {(12<<2)|2,{112,102,0}}, +/* 44636 */ {(12<<2)|2,{112,102,0}}, +/* 44637 */ {(12<<2)|2,{112,102,0}}, +/* 44638 */ {(12<<2)|2,{112,102,0}}, +/* 44639 */ {(12<<2)|2,{112,102,0}}, +/* 44640 */ {(12<<2)|2,{112,103,0}}, +/* 44641 */ {(12<<2)|2,{112,103,0}}, +/* 44642 */ {(12<<2)|2,{112,103,0}}, +/* 44643 */ {(12<<2)|2,{112,103,0}}, +/* 44644 */ {(12<<2)|2,{112,103,0}}, +/* 44645 */ {(12<<2)|2,{112,103,0}}, +/* 44646 */ {(12<<2)|2,{112,103,0}}, +/* 44647 */ {(12<<2)|2,{112,103,0}}, +/* 44648 */ {(12<<2)|2,{112,103,0}}, +/* 44649 */ {(12<<2)|2,{112,103,0}}, +/* 44650 */ {(12<<2)|2,{112,103,0}}, +/* 44651 */ {(12<<2)|2,{112,103,0}}, +/* 44652 */ {(12<<2)|2,{112,103,0}}, +/* 44653 */ {(12<<2)|2,{112,103,0}}, +/* 44654 */ {(12<<2)|2,{112,103,0}}, +/* 44655 */ {(12<<2)|2,{112,103,0}}, +/* 44656 */ {(12<<2)|2,{112,104,0}}, +/* 44657 */ {(12<<2)|2,{112,104,0}}, +/* 44658 */ {(12<<2)|2,{112,104,0}}, +/* 44659 */ {(12<<2)|2,{112,104,0}}, +/* 44660 */ {(12<<2)|2,{112,104,0}}, +/* 44661 */ {(12<<2)|2,{112,104,0}}, +/* 44662 */ {(12<<2)|2,{112,104,0}}, +/* 44663 */ {(12<<2)|2,{112,104,0}}, +/* 44664 */ {(12<<2)|2,{112,104,0}}, +/* 44665 */ {(12<<2)|2,{112,104,0}}, +/* 44666 */ {(12<<2)|2,{112,104,0}}, +/* 44667 */ {(12<<2)|2,{112,104,0}}, +/* 44668 */ {(12<<2)|2,{112,104,0}}, +/* 44669 */ {(12<<2)|2,{112,104,0}}, +/* 44670 */ {(12<<2)|2,{112,104,0}}, +/* 44671 */ {(12<<2)|2,{112,104,0}}, +/* 44672 */ {(12<<2)|2,{112,108,0}}, +/* 44673 */ {(12<<2)|2,{112,108,0}}, +/* 44674 */ {(12<<2)|2,{112,108,0}}, +/* 44675 */ {(12<<2)|2,{112,108,0}}, +/* 44676 */ {(12<<2)|2,{112,108,0}}, +/* 44677 */ {(12<<2)|2,{112,108,0}}, +/* 44678 */ {(12<<2)|2,{112,108,0}}, +/* 44679 */ {(12<<2)|2,{112,108,0}}, +/* 44680 */ {(12<<2)|2,{112,108,0}}, +/* 44681 */ {(12<<2)|2,{112,108,0}}, +/* 44682 */ {(12<<2)|2,{112,108,0}}, +/* 44683 */ {(12<<2)|2,{112,108,0}}, +/* 44684 */ {(12<<2)|2,{112,108,0}}, +/* 44685 */ {(12<<2)|2,{112,108,0}}, +/* 44686 */ {(12<<2)|2,{112,108,0}}, +/* 44687 */ {(12<<2)|2,{112,108,0}}, +/* 44688 */ {(12<<2)|2,{112,109,0}}, +/* 44689 */ {(12<<2)|2,{112,109,0}}, +/* 44690 */ {(12<<2)|2,{112,109,0}}, +/* 44691 */ {(12<<2)|2,{112,109,0}}, +/* 44692 */ {(12<<2)|2,{112,109,0}}, +/* 44693 */ {(12<<2)|2,{112,109,0}}, +/* 44694 */ {(12<<2)|2,{112,109,0}}, +/* 44695 */ {(12<<2)|2,{112,109,0}}, +/* 44696 */ {(12<<2)|2,{112,109,0}}, +/* 44697 */ {(12<<2)|2,{112,109,0}}, +/* 44698 */ {(12<<2)|2,{112,109,0}}, +/* 44699 */ {(12<<2)|2,{112,109,0}}, +/* 44700 */ {(12<<2)|2,{112,109,0}}, +/* 44701 */ {(12<<2)|2,{112,109,0}}, +/* 44702 */ {(12<<2)|2,{112,109,0}}, +/* 44703 */ {(12<<2)|2,{112,109,0}}, +/* 44704 */ {(12<<2)|2,{112,110,0}}, +/* 44705 */ {(12<<2)|2,{112,110,0}}, +/* 44706 */ {(12<<2)|2,{112,110,0}}, +/* 44707 */ {(12<<2)|2,{112,110,0}}, +/* 44708 */ {(12<<2)|2,{112,110,0}}, +/* 44709 */ {(12<<2)|2,{112,110,0}}, +/* 44710 */ {(12<<2)|2,{112,110,0}}, +/* 44711 */ {(12<<2)|2,{112,110,0}}, +/* 44712 */ {(12<<2)|2,{112,110,0}}, +/* 44713 */ {(12<<2)|2,{112,110,0}}, +/* 44714 */ {(12<<2)|2,{112,110,0}}, +/* 44715 */ {(12<<2)|2,{112,110,0}}, +/* 44716 */ {(12<<2)|2,{112,110,0}}, +/* 44717 */ {(12<<2)|2,{112,110,0}}, +/* 44718 */ {(12<<2)|2,{112,110,0}}, +/* 44719 */ {(12<<2)|2,{112,110,0}}, +/* 44720 */ {(12<<2)|2,{112,112,0}}, +/* 44721 */ {(12<<2)|2,{112,112,0}}, +/* 44722 */ {(12<<2)|2,{112,112,0}}, +/* 44723 */ {(12<<2)|2,{112,112,0}}, +/* 44724 */ {(12<<2)|2,{112,112,0}}, +/* 44725 */ {(12<<2)|2,{112,112,0}}, +/* 44726 */ {(12<<2)|2,{112,112,0}}, +/* 44727 */ {(12<<2)|2,{112,112,0}}, +/* 44728 */ {(12<<2)|2,{112,112,0}}, +/* 44729 */ {(12<<2)|2,{112,112,0}}, +/* 44730 */ {(12<<2)|2,{112,112,0}}, +/* 44731 */ {(12<<2)|2,{112,112,0}}, +/* 44732 */ {(12<<2)|2,{112,112,0}}, +/* 44733 */ {(12<<2)|2,{112,112,0}}, +/* 44734 */ {(12<<2)|2,{112,112,0}}, +/* 44735 */ {(12<<2)|2,{112,112,0}}, +/* 44736 */ {(12<<2)|2,{112,114,0}}, +/* 44737 */ {(12<<2)|2,{112,114,0}}, +/* 44738 */ {(12<<2)|2,{112,114,0}}, +/* 44739 */ {(12<<2)|2,{112,114,0}}, +/* 44740 */ {(12<<2)|2,{112,114,0}}, +/* 44741 */ {(12<<2)|2,{112,114,0}}, +/* 44742 */ {(12<<2)|2,{112,114,0}}, +/* 44743 */ {(12<<2)|2,{112,114,0}}, +/* 44744 */ {(12<<2)|2,{112,114,0}}, +/* 44745 */ {(12<<2)|2,{112,114,0}}, +/* 44746 */ {(12<<2)|2,{112,114,0}}, +/* 44747 */ {(12<<2)|2,{112,114,0}}, +/* 44748 */ {(12<<2)|2,{112,114,0}}, +/* 44749 */ {(12<<2)|2,{112,114,0}}, +/* 44750 */ {(12<<2)|2,{112,114,0}}, +/* 44751 */ {(12<<2)|2,{112,114,0}}, +/* 44752 */ {(12<<2)|2,{112,117,0}}, +/* 44753 */ {(12<<2)|2,{112,117,0}}, +/* 44754 */ {(12<<2)|2,{112,117,0}}, +/* 44755 */ {(12<<2)|2,{112,117,0}}, +/* 44756 */ {(12<<2)|2,{112,117,0}}, +/* 44757 */ {(12<<2)|2,{112,117,0}}, +/* 44758 */ {(12<<2)|2,{112,117,0}}, +/* 44759 */ {(12<<2)|2,{112,117,0}}, +/* 44760 */ {(12<<2)|2,{112,117,0}}, +/* 44761 */ {(12<<2)|2,{112,117,0}}, +/* 44762 */ {(12<<2)|2,{112,117,0}}, +/* 44763 */ {(12<<2)|2,{112,117,0}}, +/* 44764 */ {(12<<2)|2,{112,117,0}}, +/* 44765 */ {(12<<2)|2,{112,117,0}}, +/* 44766 */ {(12<<2)|2,{112,117,0}}, +/* 44767 */ {(12<<2)|2,{112,117,0}}, +/* 44768 */ {(13<<2)|2,{112,58,0}}, +/* 44769 */ {(13<<2)|2,{112,58,0}}, +/* 44770 */ {(13<<2)|2,{112,58,0}}, +/* 44771 */ {(13<<2)|2,{112,58,0}}, +/* 44772 */ {(13<<2)|2,{112,58,0}}, +/* 44773 */ {(13<<2)|2,{112,58,0}}, +/* 44774 */ {(13<<2)|2,{112,58,0}}, +/* 44775 */ {(13<<2)|2,{112,58,0}}, +/* 44776 */ {(13<<2)|2,{112,66,0}}, +/* 44777 */ {(13<<2)|2,{112,66,0}}, +/* 44778 */ {(13<<2)|2,{112,66,0}}, +/* 44779 */ {(13<<2)|2,{112,66,0}}, +/* 44780 */ {(13<<2)|2,{112,66,0}}, +/* 44781 */ {(13<<2)|2,{112,66,0}}, +/* 44782 */ {(13<<2)|2,{112,66,0}}, +/* 44783 */ {(13<<2)|2,{112,66,0}}, +/* 44784 */ {(13<<2)|2,{112,67,0}}, +/* 44785 */ {(13<<2)|2,{112,67,0}}, +/* 44786 */ {(13<<2)|2,{112,67,0}}, +/* 44787 */ {(13<<2)|2,{112,67,0}}, +/* 44788 */ {(13<<2)|2,{112,67,0}}, +/* 44789 */ {(13<<2)|2,{112,67,0}}, +/* 44790 */ {(13<<2)|2,{112,67,0}}, +/* 44791 */ {(13<<2)|2,{112,67,0}}, +/* 44792 */ {(13<<2)|2,{112,68,0}}, +/* 44793 */ {(13<<2)|2,{112,68,0}}, +/* 44794 */ {(13<<2)|2,{112,68,0}}, +/* 44795 */ {(13<<2)|2,{112,68,0}}, +/* 44796 */ {(13<<2)|2,{112,68,0}}, +/* 44797 */ {(13<<2)|2,{112,68,0}}, +/* 44798 */ {(13<<2)|2,{112,68,0}}, +/* 44799 */ {(13<<2)|2,{112,68,0}}, +/* 44800 */ {(13<<2)|2,{112,69,0}}, +/* 44801 */ {(13<<2)|2,{112,69,0}}, +/* 44802 */ {(13<<2)|2,{112,69,0}}, +/* 44803 */ {(13<<2)|2,{112,69,0}}, +/* 44804 */ {(13<<2)|2,{112,69,0}}, +/* 44805 */ {(13<<2)|2,{112,69,0}}, +/* 44806 */ {(13<<2)|2,{112,69,0}}, +/* 44807 */ {(13<<2)|2,{112,69,0}}, +/* 44808 */ {(13<<2)|2,{112,70,0}}, +/* 44809 */ {(13<<2)|2,{112,70,0}}, +/* 44810 */ {(13<<2)|2,{112,70,0}}, +/* 44811 */ {(13<<2)|2,{112,70,0}}, +/* 44812 */ {(13<<2)|2,{112,70,0}}, +/* 44813 */ {(13<<2)|2,{112,70,0}}, +/* 44814 */ {(13<<2)|2,{112,70,0}}, +/* 44815 */ {(13<<2)|2,{112,70,0}}, +/* 44816 */ {(13<<2)|2,{112,71,0}}, +/* 44817 */ {(13<<2)|2,{112,71,0}}, +/* 44818 */ {(13<<2)|2,{112,71,0}}, +/* 44819 */ {(13<<2)|2,{112,71,0}}, +/* 44820 */ {(13<<2)|2,{112,71,0}}, +/* 44821 */ {(13<<2)|2,{112,71,0}}, +/* 44822 */ {(13<<2)|2,{112,71,0}}, +/* 44823 */ {(13<<2)|2,{112,71,0}}, +/* 44824 */ {(13<<2)|2,{112,72,0}}, +/* 44825 */ {(13<<2)|2,{112,72,0}}, +/* 44826 */ {(13<<2)|2,{112,72,0}}, +/* 44827 */ {(13<<2)|2,{112,72,0}}, +/* 44828 */ {(13<<2)|2,{112,72,0}}, +/* 44829 */ {(13<<2)|2,{112,72,0}}, +/* 44830 */ {(13<<2)|2,{112,72,0}}, +/* 44831 */ {(13<<2)|2,{112,72,0}}, +/* 44832 */ {(13<<2)|2,{112,73,0}}, +/* 44833 */ {(13<<2)|2,{112,73,0}}, +/* 44834 */ {(13<<2)|2,{112,73,0}}, +/* 44835 */ {(13<<2)|2,{112,73,0}}, +/* 44836 */ {(13<<2)|2,{112,73,0}}, +/* 44837 */ {(13<<2)|2,{112,73,0}}, +/* 44838 */ {(13<<2)|2,{112,73,0}}, +/* 44839 */ {(13<<2)|2,{112,73,0}}, +/* 44840 */ {(13<<2)|2,{112,74,0}}, +/* 44841 */ {(13<<2)|2,{112,74,0}}, +/* 44842 */ {(13<<2)|2,{112,74,0}}, +/* 44843 */ {(13<<2)|2,{112,74,0}}, +/* 44844 */ {(13<<2)|2,{112,74,0}}, +/* 44845 */ {(13<<2)|2,{112,74,0}}, +/* 44846 */ {(13<<2)|2,{112,74,0}}, +/* 44847 */ {(13<<2)|2,{112,74,0}}, +/* 44848 */ {(13<<2)|2,{112,75,0}}, +/* 44849 */ {(13<<2)|2,{112,75,0}}, +/* 44850 */ {(13<<2)|2,{112,75,0}}, +/* 44851 */ {(13<<2)|2,{112,75,0}}, +/* 44852 */ {(13<<2)|2,{112,75,0}}, +/* 44853 */ {(13<<2)|2,{112,75,0}}, +/* 44854 */ {(13<<2)|2,{112,75,0}}, +/* 44855 */ {(13<<2)|2,{112,75,0}}, +/* 44856 */ {(13<<2)|2,{112,76,0}}, +/* 44857 */ {(13<<2)|2,{112,76,0}}, +/* 44858 */ {(13<<2)|2,{112,76,0}}, +/* 44859 */ {(13<<2)|2,{112,76,0}}, +/* 44860 */ {(13<<2)|2,{112,76,0}}, +/* 44861 */ {(13<<2)|2,{112,76,0}}, +/* 44862 */ {(13<<2)|2,{112,76,0}}, +/* 44863 */ {(13<<2)|2,{112,76,0}}, +/* 44864 */ {(13<<2)|2,{112,77,0}}, +/* 44865 */ {(13<<2)|2,{112,77,0}}, +/* 44866 */ {(13<<2)|2,{112,77,0}}, +/* 44867 */ {(13<<2)|2,{112,77,0}}, +/* 44868 */ {(13<<2)|2,{112,77,0}}, +/* 44869 */ {(13<<2)|2,{112,77,0}}, +/* 44870 */ {(13<<2)|2,{112,77,0}}, +/* 44871 */ {(13<<2)|2,{112,77,0}}, +/* 44872 */ {(13<<2)|2,{112,78,0}}, +/* 44873 */ {(13<<2)|2,{112,78,0}}, +/* 44874 */ {(13<<2)|2,{112,78,0}}, +/* 44875 */ {(13<<2)|2,{112,78,0}}, +/* 44876 */ {(13<<2)|2,{112,78,0}}, +/* 44877 */ {(13<<2)|2,{112,78,0}}, +/* 44878 */ {(13<<2)|2,{112,78,0}}, +/* 44879 */ {(13<<2)|2,{112,78,0}}, +/* 44880 */ {(13<<2)|2,{112,79,0}}, +/* 44881 */ {(13<<2)|2,{112,79,0}}, +/* 44882 */ {(13<<2)|2,{112,79,0}}, +/* 44883 */ {(13<<2)|2,{112,79,0}}, +/* 44884 */ {(13<<2)|2,{112,79,0}}, +/* 44885 */ {(13<<2)|2,{112,79,0}}, +/* 44886 */ {(13<<2)|2,{112,79,0}}, +/* 44887 */ {(13<<2)|2,{112,79,0}}, +/* 44888 */ {(13<<2)|2,{112,80,0}}, +/* 44889 */ {(13<<2)|2,{112,80,0}}, +/* 44890 */ {(13<<2)|2,{112,80,0}}, +/* 44891 */ {(13<<2)|2,{112,80,0}}, +/* 44892 */ {(13<<2)|2,{112,80,0}}, +/* 44893 */ {(13<<2)|2,{112,80,0}}, +/* 44894 */ {(13<<2)|2,{112,80,0}}, +/* 44895 */ {(13<<2)|2,{112,80,0}}, +/* 44896 */ {(13<<2)|2,{112,81,0}}, +/* 44897 */ {(13<<2)|2,{112,81,0}}, +/* 44898 */ {(13<<2)|2,{112,81,0}}, +/* 44899 */ {(13<<2)|2,{112,81,0}}, +/* 44900 */ {(13<<2)|2,{112,81,0}}, +/* 44901 */ {(13<<2)|2,{112,81,0}}, +/* 44902 */ {(13<<2)|2,{112,81,0}}, +/* 44903 */ {(13<<2)|2,{112,81,0}}, +/* 44904 */ {(13<<2)|2,{112,82,0}}, +/* 44905 */ {(13<<2)|2,{112,82,0}}, +/* 44906 */ {(13<<2)|2,{112,82,0}}, +/* 44907 */ {(13<<2)|2,{112,82,0}}, +/* 44908 */ {(13<<2)|2,{112,82,0}}, +/* 44909 */ {(13<<2)|2,{112,82,0}}, +/* 44910 */ {(13<<2)|2,{112,82,0}}, +/* 44911 */ {(13<<2)|2,{112,82,0}}, +/* 44912 */ {(13<<2)|2,{112,83,0}}, +/* 44913 */ {(13<<2)|2,{112,83,0}}, +/* 44914 */ {(13<<2)|2,{112,83,0}}, +/* 44915 */ {(13<<2)|2,{112,83,0}}, +/* 44916 */ {(13<<2)|2,{112,83,0}}, +/* 44917 */ {(13<<2)|2,{112,83,0}}, +/* 44918 */ {(13<<2)|2,{112,83,0}}, +/* 44919 */ {(13<<2)|2,{112,83,0}}, +/* 44920 */ {(13<<2)|2,{112,84,0}}, +/* 44921 */ {(13<<2)|2,{112,84,0}}, +/* 44922 */ {(13<<2)|2,{112,84,0}}, +/* 44923 */ {(13<<2)|2,{112,84,0}}, +/* 44924 */ {(13<<2)|2,{112,84,0}}, +/* 44925 */ {(13<<2)|2,{112,84,0}}, +/* 44926 */ {(13<<2)|2,{112,84,0}}, +/* 44927 */ {(13<<2)|2,{112,84,0}}, +/* 44928 */ {(13<<2)|2,{112,85,0}}, +/* 44929 */ {(13<<2)|2,{112,85,0}}, +/* 44930 */ {(13<<2)|2,{112,85,0}}, +/* 44931 */ {(13<<2)|2,{112,85,0}}, +/* 44932 */ {(13<<2)|2,{112,85,0}}, +/* 44933 */ {(13<<2)|2,{112,85,0}}, +/* 44934 */ {(13<<2)|2,{112,85,0}}, +/* 44935 */ {(13<<2)|2,{112,85,0}}, +/* 44936 */ {(13<<2)|2,{112,86,0}}, +/* 44937 */ {(13<<2)|2,{112,86,0}}, +/* 44938 */ {(13<<2)|2,{112,86,0}}, +/* 44939 */ {(13<<2)|2,{112,86,0}}, +/* 44940 */ {(13<<2)|2,{112,86,0}}, +/* 44941 */ {(13<<2)|2,{112,86,0}}, +/* 44942 */ {(13<<2)|2,{112,86,0}}, +/* 44943 */ {(13<<2)|2,{112,86,0}}, +/* 44944 */ {(13<<2)|2,{112,87,0}}, +/* 44945 */ {(13<<2)|2,{112,87,0}}, +/* 44946 */ {(13<<2)|2,{112,87,0}}, +/* 44947 */ {(13<<2)|2,{112,87,0}}, +/* 44948 */ {(13<<2)|2,{112,87,0}}, +/* 44949 */ {(13<<2)|2,{112,87,0}}, +/* 44950 */ {(13<<2)|2,{112,87,0}}, +/* 44951 */ {(13<<2)|2,{112,87,0}}, +/* 44952 */ {(13<<2)|2,{112,89,0}}, +/* 44953 */ {(13<<2)|2,{112,89,0}}, +/* 44954 */ {(13<<2)|2,{112,89,0}}, +/* 44955 */ {(13<<2)|2,{112,89,0}}, +/* 44956 */ {(13<<2)|2,{112,89,0}}, +/* 44957 */ {(13<<2)|2,{112,89,0}}, +/* 44958 */ {(13<<2)|2,{112,89,0}}, +/* 44959 */ {(13<<2)|2,{112,89,0}}, +/* 44960 */ {(13<<2)|2,{112,106,0}}, +/* 44961 */ {(13<<2)|2,{112,106,0}}, +/* 44962 */ {(13<<2)|2,{112,106,0}}, +/* 44963 */ {(13<<2)|2,{112,106,0}}, +/* 44964 */ {(13<<2)|2,{112,106,0}}, +/* 44965 */ {(13<<2)|2,{112,106,0}}, +/* 44966 */ {(13<<2)|2,{112,106,0}}, +/* 44967 */ {(13<<2)|2,{112,106,0}}, +/* 44968 */ {(13<<2)|2,{112,107,0}}, +/* 44969 */ {(13<<2)|2,{112,107,0}}, +/* 44970 */ {(13<<2)|2,{112,107,0}}, +/* 44971 */ {(13<<2)|2,{112,107,0}}, +/* 44972 */ {(13<<2)|2,{112,107,0}}, +/* 44973 */ {(13<<2)|2,{112,107,0}}, +/* 44974 */ {(13<<2)|2,{112,107,0}}, +/* 44975 */ {(13<<2)|2,{112,107,0}}, +/* 44976 */ {(13<<2)|2,{112,113,0}}, +/* 44977 */ {(13<<2)|2,{112,113,0}}, +/* 44978 */ {(13<<2)|2,{112,113,0}}, +/* 44979 */ {(13<<2)|2,{112,113,0}}, +/* 44980 */ {(13<<2)|2,{112,113,0}}, +/* 44981 */ {(13<<2)|2,{112,113,0}}, +/* 44982 */ {(13<<2)|2,{112,113,0}}, +/* 44983 */ {(13<<2)|2,{112,113,0}}, +/* 44984 */ {(13<<2)|2,{112,118,0}}, +/* 44985 */ {(13<<2)|2,{112,118,0}}, +/* 44986 */ {(13<<2)|2,{112,118,0}}, +/* 44987 */ {(13<<2)|2,{112,118,0}}, +/* 44988 */ {(13<<2)|2,{112,118,0}}, +/* 44989 */ {(13<<2)|2,{112,118,0}}, +/* 44990 */ {(13<<2)|2,{112,118,0}}, +/* 44991 */ {(13<<2)|2,{112,118,0}}, +/* 44992 */ {(13<<2)|2,{112,119,0}}, +/* 44993 */ {(13<<2)|2,{112,119,0}}, +/* 44994 */ {(13<<2)|2,{112,119,0}}, +/* 44995 */ {(13<<2)|2,{112,119,0}}, +/* 44996 */ {(13<<2)|2,{112,119,0}}, +/* 44997 */ {(13<<2)|2,{112,119,0}}, +/* 44998 */ {(13<<2)|2,{112,119,0}}, +/* 44999 */ {(13<<2)|2,{112,119,0}}, +/* 45000 */ {(13<<2)|2,{112,120,0}}, +/* 45001 */ {(13<<2)|2,{112,120,0}}, +/* 45002 */ {(13<<2)|2,{112,120,0}}, +/* 45003 */ {(13<<2)|2,{112,120,0}}, +/* 45004 */ {(13<<2)|2,{112,120,0}}, +/* 45005 */ {(13<<2)|2,{112,120,0}}, +/* 45006 */ {(13<<2)|2,{112,120,0}}, +/* 45007 */ {(13<<2)|2,{112,120,0}}, +/* 45008 */ {(13<<2)|2,{112,121,0}}, +/* 45009 */ {(13<<2)|2,{112,121,0}}, +/* 45010 */ {(13<<2)|2,{112,121,0}}, +/* 45011 */ {(13<<2)|2,{112,121,0}}, +/* 45012 */ {(13<<2)|2,{112,121,0}}, +/* 45013 */ {(13<<2)|2,{112,121,0}}, +/* 45014 */ {(13<<2)|2,{112,121,0}}, +/* 45015 */ {(13<<2)|2,{112,121,0}}, +/* 45016 */ {(13<<2)|2,{112,122,0}}, +/* 45017 */ {(13<<2)|2,{112,122,0}}, +/* 45018 */ {(13<<2)|2,{112,122,0}}, +/* 45019 */ {(13<<2)|2,{112,122,0}}, +/* 45020 */ {(13<<2)|2,{112,122,0}}, +/* 45021 */ {(13<<2)|2,{112,122,0}}, +/* 45022 */ {(13<<2)|2,{112,122,0}}, +/* 45023 */ {(13<<2)|2,{112,122,0}}, +/* 45024 */ {(14<<2)|2,{112,38,0}}, +/* 45025 */ {(14<<2)|2,{112,38,0}}, +/* 45026 */ {(14<<2)|2,{112,38,0}}, +/* 45027 */ {(14<<2)|2,{112,38,0}}, +/* 45028 */ {(14<<2)|2,{112,42,0}}, +/* 45029 */ {(14<<2)|2,{112,42,0}}, +/* 45030 */ {(14<<2)|2,{112,42,0}}, +/* 45031 */ {(14<<2)|2,{112,42,0}}, +/* 45032 */ {(14<<2)|2,{112,44,0}}, +/* 45033 */ {(14<<2)|2,{112,44,0}}, +/* 45034 */ {(14<<2)|2,{112,44,0}}, +/* 45035 */ {(14<<2)|2,{112,44,0}}, +/* 45036 */ {(14<<2)|2,{112,59,0}}, +/* 45037 */ {(14<<2)|2,{112,59,0}}, +/* 45038 */ {(14<<2)|2,{112,59,0}}, +/* 45039 */ {(14<<2)|2,{112,59,0}}, +/* 45040 */ {(14<<2)|2,{112,88,0}}, +/* 45041 */ {(14<<2)|2,{112,88,0}}, +/* 45042 */ {(14<<2)|2,{112,88,0}}, +/* 45043 */ {(14<<2)|2,{112,88,0}}, +/* 45044 */ {(14<<2)|2,{112,90,0}}, +/* 45045 */ {(14<<2)|2,{112,90,0}}, +/* 45046 */ {(14<<2)|2,{112,90,0}}, +/* 45047 */ {(14<<2)|2,{112,90,0}}, +/* 45048 */ {(16<<2)|2,{112,33,0}}, +/* 45049 */ {(16<<2)|2,{112,34,0}}, +/* 45050 */ {(16<<2)|2,{112,40,0}}, +/* 45051 */ {(16<<2)|2,{112,41,0}}, +/* 45052 */ {(16<<2)|2,{112,63,0}}, +/* 45053 */ {(6<<2)|1,{112,0,0}}, +/* 45054 */ {(6<<2)|1,{112,0,0}}, +/* 45055 */ {(6<<2)|1,{112,0,0}}, +/* 45056 */ {(16<<2)|3,{114,48,48}}, +/* 45057 */ {(16<<2)|3,{114,48,49}}, +/* 45058 */ {(16<<2)|3,{114,48,50}}, +/* 45059 */ {(16<<2)|3,{114,48,97}}, +/* 45060 */ {(16<<2)|3,{114,48,99}}, +/* 45061 */ {(16<<2)|3,{114,48,101}}, +/* 45062 */ {(16<<2)|3,{114,48,105}}, +/* 45063 */ {(16<<2)|3,{114,48,111}}, +/* 45064 */ {(16<<2)|3,{114,48,115}}, +/* 45065 */ {(16<<2)|3,{114,48,116}}, +/* 45066 */ {(11<<2)|2,{114,48,0}}, +/* 45067 */ {(11<<2)|2,{114,48,0}}, +/* 45068 */ {(11<<2)|2,{114,48,0}}, +/* 45069 */ {(11<<2)|2,{114,48,0}}, +/* 45070 */ {(11<<2)|2,{114,48,0}}, +/* 45071 */ {(11<<2)|2,{114,48,0}}, +/* 45072 */ {(11<<2)|2,{114,48,0}}, +/* 45073 */ {(11<<2)|2,{114,48,0}}, +/* 45074 */ {(11<<2)|2,{114,48,0}}, +/* 45075 */ {(11<<2)|2,{114,48,0}}, +/* 45076 */ {(11<<2)|2,{114,48,0}}, +/* 45077 */ {(11<<2)|2,{114,48,0}}, +/* 45078 */ {(11<<2)|2,{114,48,0}}, +/* 45079 */ {(11<<2)|2,{114,48,0}}, +/* 45080 */ {(11<<2)|2,{114,48,0}}, +/* 45081 */ {(11<<2)|2,{114,48,0}}, +/* 45082 */ {(11<<2)|2,{114,48,0}}, +/* 45083 */ {(11<<2)|2,{114,48,0}}, +/* 45084 */ {(11<<2)|2,{114,48,0}}, +/* 45085 */ {(11<<2)|2,{114,48,0}}, +/* 45086 */ {(11<<2)|2,{114,48,0}}, +/* 45087 */ {(11<<2)|2,{114,48,0}}, +/* 45088 */ {(16<<2)|3,{114,49,48}}, +/* 45089 */ {(16<<2)|3,{114,49,49}}, +/* 45090 */ {(16<<2)|3,{114,49,50}}, +/* 45091 */ {(16<<2)|3,{114,49,97}}, +/* 45092 */ {(16<<2)|3,{114,49,99}}, +/* 45093 */ {(16<<2)|3,{114,49,101}}, +/* 45094 */ {(16<<2)|3,{114,49,105}}, +/* 45095 */ {(16<<2)|3,{114,49,111}}, +/* 45096 */ {(16<<2)|3,{114,49,115}}, +/* 45097 */ {(16<<2)|3,{114,49,116}}, +/* 45098 */ {(11<<2)|2,{114,49,0}}, +/* 45099 */ {(11<<2)|2,{114,49,0}}, +/* 45100 */ {(11<<2)|2,{114,49,0}}, +/* 45101 */ {(11<<2)|2,{114,49,0}}, +/* 45102 */ {(11<<2)|2,{114,49,0}}, +/* 45103 */ {(11<<2)|2,{114,49,0}}, +/* 45104 */ {(11<<2)|2,{114,49,0}}, +/* 45105 */ {(11<<2)|2,{114,49,0}}, +/* 45106 */ {(11<<2)|2,{114,49,0}}, +/* 45107 */ {(11<<2)|2,{114,49,0}}, +/* 45108 */ {(11<<2)|2,{114,49,0}}, +/* 45109 */ {(11<<2)|2,{114,49,0}}, +/* 45110 */ {(11<<2)|2,{114,49,0}}, +/* 45111 */ {(11<<2)|2,{114,49,0}}, +/* 45112 */ {(11<<2)|2,{114,49,0}}, +/* 45113 */ {(11<<2)|2,{114,49,0}}, +/* 45114 */ {(11<<2)|2,{114,49,0}}, +/* 45115 */ {(11<<2)|2,{114,49,0}}, +/* 45116 */ {(11<<2)|2,{114,49,0}}, +/* 45117 */ {(11<<2)|2,{114,49,0}}, +/* 45118 */ {(11<<2)|2,{114,49,0}}, +/* 45119 */ {(11<<2)|2,{114,49,0}}, +/* 45120 */ {(16<<2)|3,{114,50,48}}, +/* 45121 */ {(16<<2)|3,{114,50,49}}, +/* 45122 */ {(16<<2)|3,{114,50,50}}, +/* 45123 */ {(16<<2)|3,{114,50,97}}, +/* 45124 */ {(16<<2)|3,{114,50,99}}, +/* 45125 */ {(16<<2)|3,{114,50,101}}, +/* 45126 */ {(16<<2)|3,{114,50,105}}, +/* 45127 */ {(16<<2)|3,{114,50,111}}, +/* 45128 */ {(16<<2)|3,{114,50,115}}, +/* 45129 */ {(16<<2)|3,{114,50,116}}, +/* 45130 */ {(11<<2)|2,{114,50,0}}, +/* 45131 */ {(11<<2)|2,{114,50,0}}, +/* 45132 */ {(11<<2)|2,{114,50,0}}, +/* 45133 */ {(11<<2)|2,{114,50,0}}, +/* 45134 */ {(11<<2)|2,{114,50,0}}, +/* 45135 */ {(11<<2)|2,{114,50,0}}, +/* 45136 */ {(11<<2)|2,{114,50,0}}, +/* 45137 */ {(11<<2)|2,{114,50,0}}, +/* 45138 */ {(11<<2)|2,{114,50,0}}, +/* 45139 */ {(11<<2)|2,{114,50,0}}, +/* 45140 */ {(11<<2)|2,{114,50,0}}, +/* 45141 */ {(11<<2)|2,{114,50,0}}, +/* 45142 */ {(11<<2)|2,{114,50,0}}, +/* 45143 */ {(11<<2)|2,{114,50,0}}, +/* 45144 */ {(11<<2)|2,{114,50,0}}, +/* 45145 */ {(11<<2)|2,{114,50,0}}, +/* 45146 */ {(11<<2)|2,{114,50,0}}, +/* 45147 */ {(11<<2)|2,{114,50,0}}, +/* 45148 */ {(11<<2)|2,{114,50,0}}, +/* 45149 */ {(11<<2)|2,{114,50,0}}, +/* 45150 */ {(11<<2)|2,{114,50,0}}, +/* 45151 */ {(11<<2)|2,{114,50,0}}, +/* 45152 */ {(16<<2)|3,{114,97,48}}, +/* 45153 */ {(16<<2)|3,{114,97,49}}, +/* 45154 */ {(16<<2)|3,{114,97,50}}, +/* 45155 */ {(16<<2)|3,{114,97,97}}, +/* 45156 */ {(16<<2)|3,{114,97,99}}, +/* 45157 */ {(16<<2)|3,{114,97,101}}, +/* 45158 */ {(16<<2)|3,{114,97,105}}, +/* 45159 */ {(16<<2)|3,{114,97,111}}, +/* 45160 */ {(16<<2)|3,{114,97,115}}, +/* 45161 */ {(16<<2)|3,{114,97,116}}, +/* 45162 */ {(11<<2)|2,{114,97,0}}, +/* 45163 */ {(11<<2)|2,{114,97,0}}, +/* 45164 */ {(11<<2)|2,{114,97,0}}, +/* 45165 */ {(11<<2)|2,{114,97,0}}, +/* 45166 */ {(11<<2)|2,{114,97,0}}, +/* 45167 */ {(11<<2)|2,{114,97,0}}, +/* 45168 */ {(11<<2)|2,{114,97,0}}, +/* 45169 */ {(11<<2)|2,{114,97,0}}, +/* 45170 */ {(11<<2)|2,{114,97,0}}, +/* 45171 */ {(11<<2)|2,{114,97,0}}, +/* 45172 */ {(11<<2)|2,{114,97,0}}, +/* 45173 */ {(11<<2)|2,{114,97,0}}, +/* 45174 */ {(11<<2)|2,{114,97,0}}, +/* 45175 */ {(11<<2)|2,{114,97,0}}, +/* 45176 */ {(11<<2)|2,{114,97,0}}, +/* 45177 */ {(11<<2)|2,{114,97,0}}, +/* 45178 */ {(11<<2)|2,{114,97,0}}, +/* 45179 */ {(11<<2)|2,{114,97,0}}, +/* 45180 */ {(11<<2)|2,{114,97,0}}, +/* 45181 */ {(11<<2)|2,{114,97,0}}, +/* 45182 */ {(11<<2)|2,{114,97,0}}, +/* 45183 */ {(11<<2)|2,{114,97,0}}, +/* 45184 */ {(16<<2)|3,{114,99,48}}, +/* 45185 */ {(16<<2)|3,{114,99,49}}, +/* 45186 */ {(16<<2)|3,{114,99,50}}, +/* 45187 */ {(16<<2)|3,{114,99,97}}, +/* 45188 */ {(16<<2)|3,{114,99,99}}, +/* 45189 */ {(16<<2)|3,{114,99,101}}, +/* 45190 */ {(16<<2)|3,{114,99,105}}, +/* 45191 */ {(16<<2)|3,{114,99,111}}, +/* 45192 */ {(16<<2)|3,{114,99,115}}, +/* 45193 */ {(16<<2)|3,{114,99,116}}, +/* 45194 */ {(11<<2)|2,{114,99,0}}, +/* 45195 */ {(11<<2)|2,{114,99,0}}, +/* 45196 */ {(11<<2)|2,{114,99,0}}, +/* 45197 */ {(11<<2)|2,{114,99,0}}, +/* 45198 */ {(11<<2)|2,{114,99,0}}, +/* 45199 */ {(11<<2)|2,{114,99,0}}, +/* 45200 */ {(11<<2)|2,{114,99,0}}, +/* 45201 */ {(11<<2)|2,{114,99,0}}, +/* 45202 */ {(11<<2)|2,{114,99,0}}, +/* 45203 */ {(11<<2)|2,{114,99,0}}, +/* 45204 */ {(11<<2)|2,{114,99,0}}, +/* 45205 */ {(11<<2)|2,{114,99,0}}, +/* 45206 */ {(11<<2)|2,{114,99,0}}, +/* 45207 */ {(11<<2)|2,{114,99,0}}, +/* 45208 */ {(11<<2)|2,{114,99,0}}, +/* 45209 */ {(11<<2)|2,{114,99,0}}, +/* 45210 */ {(11<<2)|2,{114,99,0}}, +/* 45211 */ {(11<<2)|2,{114,99,0}}, +/* 45212 */ {(11<<2)|2,{114,99,0}}, +/* 45213 */ {(11<<2)|2,{114,99,0}}, +/* 45214 */ {(11<<2)|2,{114,99,0}}, +/* 45215 */ {(11<<2)|2,{114,99,0}}, +/* 45216 */ {(16<<2)|3,{114,101,48}}, +/* 45217 */ {(16<<2)|3,{114,101,49}}, +/* 45218 */ {(16<<2)|3,{114,101,50}}, +/* 45219 */ {(16<<2)|3,{114,101,97}}, +/* 45220 */ {(16<<2)|3,{114,101,99}}, +/* 45221 */ {(16<<2)|3,{114,101,101}}, +/* 45222 */ {(16<<2)|3,{114,101,105}}, +/* 45223 */ {(16<<2)|3,{114,101,111}}, +/* 45224 */ {(16<<2)|3,{114,101,115}}, +/* 45225 */ {(16<<2)|3,{114,101,116}}, +/* 45226 */ {(11<<2)|2,{114,101,0}}, +/* 45227 */ {(11<<2)|2,{114,101,0}}, +/* 45228 */ {(11<<2)|2,{114,101,0}}, +/* 45229 */ {(11<<2)|2,{114,101,0}}, +/* 45230 */ {(11<<2)|2,{114,101,0}}, +/* 45231 */ {(11<<2)|2,{114,101,0}}, +/* 45232 */ {(11<<2)|2,{114,101,0}}, +/* 45233 */ {(11<<2)|2,{114,101,0}}, +/* 45234 */ {(11<<2)|2,{114,101,0}}, +/* 45235 */ {(11<<2)|2,{114,101,0}}, +/* 45236 */ {(11<<2)|2,{114,101,0}}, +/* 45237 */ {(11<<2)|2,{114,101,0}}, +/* 45238 */ {(11<<2)|2,{114,101,0}}, +/* 45239 */ {(11<<2)|2,{114,101,0}}, +/* 45240 */ {(11<<2)|2,{114,101,0}}, +/* 45241 */ {(11<<2)|2,{114,101,0}}, +/* 45242 */ {(11<<2)|2,{114,101,0}}, +/* 45243 */ {(11<<2)|2,{114,101,0}}, +/* 45244 */ {(11<<2)|2,{114,101,0}}, +/* 45245 */ {(11<<2)|2,{114,101,0}}, +/* 45246 */ {(11<<2)|2,{114,101,0}}, +/* 45247 */ {(11<<2)|2,{114,101,0}}, +/* 45248 */ {(16<<2)|3,{114,105,48}}, +/* 45249 */ {(16<<2)|3,{114,105,49}}, +/* 45250 */ {(16<<2)|3,{114,105,50}}, +/* 45251 */ {(16<<2)|3,{114,105,97}}, +/* 45252 */ {(16<<2)|3,{114,105,99}}, +/* 45253 */ {(16<<2)|3,{114,105,101}}, +/* 45254 */ {(16<<2)|3,{114,105,105}}, +/* 45255 */ {(16<<2)|3,{114,105,111}}, +/* 45256 */ {(16<<2)|3,{114,105,115}}, +/* 45257 */ {(16<<2)|3,{114,105,116}}, +/* 45258 */ {(11<<2)|2,{114,105,0}}, +/* 45259 */ {(11<<2)|2,{114,105,0}}, +/* 45260 */ {(11<<2)|2,{114,105,0}}, +/* 45261 */ {(11<<2)|2,{114,105,0}}, +/* 45262 */ {(11<<2)|2,{114,105,0}}, +/* 45263 */ {(11<<2)|2,{114,105,0}}, +/* 45264 */ {(11<<2)|2,{114,105,0}}, +/* 45265 */ {(11<<2)|2,{114,105,0}}, +/* 45266 */ {(11<<2)|2,{114,105,0}}, +/* 45267 */ {(11<<2)|2,{114,105,0}}, +/* 45268 */ {(11<<2)|2,{114,105,0}}, +/* 45269 */ {(11<<2)|2,{114,105,0}}, +/* 45270 */ {(11<<2)|2,{114,105,0}}, +/* 45271 */ {(11<<2)|2,{114,105,0}}, +/* 45272 */ {(11<<2)|2,{114,105,0}}, +/* 45273 */ {(11<<2)|2,{114,105,0}}, +/* 45274 */ {(11<<2)|2,{114,105,0}}, +/* 45275 */ {(11<<2)|2,{114,105,0}}, +/* 45276 */ {(11<<2)|2,{114,105,0}}, +/* 45277 */ {(11<<2)|2,{114,105,0}}, +/* 45278 */ {(11<<2)|2,{114,105,0}}, +/* 45279 */ {(11<<2)|2,{114,105,0}}, +/* 45280 */ {(16<<2)|3,{114,111,48}}, +/* 45281 */ {(16<<2)|3,{114,111,49}}, +/* 45282 */ {(16<<2)|3,{114,111,50}}, +/* 45283 */ {(16<<2)|3,{114,111,97}}, +/* 45284 */ {(16<<2)|3,{114,111,99}}, +/* 45285 */ {(16<<2)|3,{114,111,101}}, +/* 45286 */ {(16<<2)|3,{114,111,105}}, +/* 45287 */ {(16<<2)|3,{114,111,111}}, +/* 45288 */ {(16<<2)|3,{114,111,115}}, +/* 45289 */ {(16<<2)|3,{114,111,116}}, +/* 45290 */ {(11<<2)|2,{114,111,0}}, +/* 45291 */ {(11<<2)|2,{114,111,0}}, +/* 45292 */ {(11<<2)|2,{114,111,0}}, +/* 45293 */ {(11<<2)|2,{114,111,0}}, +/* 45294 */ {(11<<2)|2,{114,111,0}}, +/* 45295 */ {(11<<2)|2,{114,111,0}}, +/* 45296 */ {(11<<2)|2,{114,111,0}}, +/* 45297 */ {(11<<2)|2,{114,111,0}}, +/* 45298 */ {(11<<2)|2,{114,111,0}}, +/* 45299 */ {(11<<2)|2,{114,111,0}}, +/* 45300 */ {(11<<2)|2,{114,111,0}}, +/* 45301 */ {(11<<2)|2,{114,111,0}}, +/* 45302 */ {(11<<2)|2,{114,111,0}}, +/* 45303 */ {(11<<2)|2,{114,111,0}}, +/* 45304 */ {(11<<2)|2,{114,111,0}}, +/* 45305 */ {(11<<2)|2,{114,111,0}}, +/* 45306 */ {(11<<2)|2,{114,111,0}}, +/* 45307 */ {(11<<2)|2,{114,111,0}}, +/* 45308 */ {(11<<2)|2,{114,111,0}}, +/* 45309 */ {(11<<2)|2,{114,111,0}}, +/* 45310 */ {(11<<2)|2,{114,111,0}}, +/* 45311 */ {(11<<2)|2,{114,111,0}}, +/* 45312 */ {(16<<2)|3,{114,115,48}}, +/* 45313 */ {(16<<2)|3,{114,115,49}}, +/* 45314 */ {(16<<2)|3,{114,115,50}}, +/* 45315 */ {(16<<2)|3,{114,115,97}}, +/* 45316 */ {(16<<2)|3,{114,115,99}}, +/* 45317 */ {(16<<2)|3,{114,115,101}}, +/* 45318 */ {(16<<2)|3,{114,115,105}}, +/* 45319 */ {(16<<2)|3,{114,115,111}}, +/* 45320 */ {(16<<2)|3,{114,115,115}}, +/* 45321 */ {(16<<2)|3,{114,115,116}}, +/* 45322 */ {(11<<2)|2,{114,115,0}}, +/* 45323 */ {(11<<2)|2,{114,115,0}}, +/* 45324 */ {(11<<2)|2,{114,115,0}}, +/* 45325 */ {(11<<2)|2,{114,115,0}}, +/* 45326 */ {(11<<2)|2,{114,115,0}}, +/* 45327 */ {(11<<2)|2,{114,115,0}}, +/* 45328 */ {(11<<2)|2,{114,115,0}}, +/* 45329 */ {(11<<2)|2,{114,115,0}}, +/* 45330 */ {(11<<2)|2,{114,115,0}}, +/* 45331 */ {(11<<2)|2,{114,115,0}}, +/* 45332 */ {(11<<2)|2,{114,115,0}}, +/* 45333 */ {(11<<2)|2,{114,115,0}}, +/* 45334 */ {(11<<2)|2,{114,115,0}}, +/* 45335 */ {(11<<2)|2,{114,115,0}}, +/* 45336 */ {(11<<2)|2,{114,115,0}}, +/* 45337 */ {(11<<2)|2,{114,115,0}}, +/* 45338 */ {(11<<2)|2,{114,115,0}}, +/* 45339 */ {(11<<2)|2,{114,115,0}}, +/* 45340 */ {(11<<2)|2,{114,115,0}}, +/* 45341 */ {(11<<2)|2,{114,115,0}}, +/* 45342 */ {(11<<2)|2,{114,115,0}}, +/* 45343 */ {(11<<2)|2,{114,115,0}}, +/* 45344 */ {(16<<2)|3,{114,116,48}}, +/* 45345 */ {(16<<2)|3,{114,116,49}}, +/* 45346 */ {(16<<2)|3,{114,116,50}}, +/* 45347 */ {(16<<2)|3,{114,116,97}}, +/* 45348 */ {(16<<2)|3,{114,116,99}}, +/* 45349 */ {(16<<2)|3,{114,116,101}}, +/* 45350 */ {(16<<2)|3,{114,116,105}}, +/* 45351 */ {(16<<2)|3,{114,116,111}}, +/* 45352 */ {(16<<2)|3,{114,116,115}}, +/* 45353 */ {(16<<2)|3,{114,116,116}}, +/* 45354 */ {(11<<2)|2,{114,116,0}}, +/* 45355 */ {(11<<2)|2,{114,116,0}}, +/* 45356 */ {(11<<2)|2,{114,116,0}}, +/* 45357 */ {(11<<2)|2,{114,116,0}}, +/* 45358 */ {(11<<2)|2,{114,116,0}}, +/* 45359 */ {(11<<2)|2,{114,116,0}}, +/* 45360 */ {(11<<2)|2,{114,116,0}}, +/* 45361 */ {(11<<2)|2,{114,116,0}}, +/* 45362 */ {(11<<2)|2,{114,116,0}}, +/* 45363 */ {(11<<2)|2,{114,116,0}}, +/* 45364 */ {(11<<2)|2,{114,116,0}}, +/* 45365 */ {(11<<2)|2,{114,116,0}}, +/* 45366 */ {(11<<2)|2,{114,116,0}}, +/* 45367 */ {(11<<2)|2,{114,116,0}}, +/* 45368 */ {(11<<2)|2,{114,116,0}}, +/* 45369 */ {(11<<2)|2,{114,116,0}}, +/* 45370 */ {(11<<2)|2,{114,116,0}}, +/* 45371 */ {(11<<2)|2,{114,116,0}}, +/* 45372 */ {(11<<2)|2,{114,116,0}}, +/* 45373 */ {(11<<2)|2,{114,116,0}}, +/* 45374 */ {(11<<2)|2,{114,116,0}}, +/* 45375 */ {(11<<2)|2,{114,116,0}}, +/* 45376 */ {(12<<2)|2,{114,32,0}}, +/* 45377 */ {(12<<2)|2,{114,32,0}}, +/* 45378 */ {(12<<2)|2,{114,32,0}}, +/* 45379 */ {(12<<2)|2,{114,32,0}}, +/* 45380 */ {(12<<2)|2,{114,32,0}}, +/* 45381 */ {(12<<2)|2,{114,32,0}}, +/* 45382 */ {(12<<2)|2,{114,32,0}}, +/* 45383 */ {(12<<2)|2,{114,32,0}}, +/* 45384 */ {(12<<2)|2,{114,32,0}}, +/* 45385 */ {(12<<2)|2,{114,32,0}}, +/* 45386 */ {(12<<2)|2,{114,32,0}}, +/* 45387 */ {(12<<2)|2,{114,32,0}}, +/* 45388 */ {(12<<2)|2,{114,32,0}}, +/* 45389 */ {(12<<2)|2,{114,32,0}}, +/* 45390 */ {(12<<2)|2,{114,32,0}}, +/* 45391 */ {(12<<2)|2,{114,32,0}}, +/* 45392 */ {(12<<2)|2,{114,37,0}}, +/* 45393 */ {(12<<2)|2,{114,37,0}}, +/* 45394 */ {(12<<2)|2,{114,37,0}}, +/* 45395 */ {(12<<2)|2,{114,37,0}}, +/* 45396 */ {(12<<2)|2,{114,37,0}}, +/* 45397 */ {(12<<2)|2,{114,37,0}}, +/* 45398 */ {(12<<2)|2,{114,37,0}}, +/* 45399 */ {(12<<2)|2,{114,37,0}}, +/* 45400 */ {(12<<2)|2,{114,37,0}}, +/* 45401 */ {(12<<2)|2,{114,37,0}}, +/* 45402 */ {(12<<2)|2,{114,37,0}}, +/* 45403 */ {(12<<2)|2,{114,37,0}}, +/* 45404 */ {(12<<2)|2,{114,37,0}}, +/* 45405 */ {(12<<2)|2,{114,37,0}}, +/* 45406 */ {(12<<2)|2,{114,37,0}}, +/* 45407 */ {(12<<2)|2,{114,37,0}}, +/* 45408 */ {(12<<2)|2,{114,45,0}}, +/* 45409 */ {(12<<2)|2,{114,45,0}}, +/* 45410 */ {(12<<2)|2,{114,45,0}}, +/* 45411 */ {(12<<2)|2,{114,45,0}}, +/* 45412 */ {(12<<2)|2,{114,45,0}}, +/* 45413 */ {(12<<2)|2,{114,45,0}}, +/* 45414 */ {(12<<2)|2,{114,45,0}}, +/* 45415 */ {(12<<2)|2,{114,45,0}}, +/* 45416 */ {(12<<2)|2,{114,45,0}}, +/* 45417 */ {(12<<2)|2,{114,45,0}}, +/* 45418 */ {(12<<2)|2,{114,45,0}}, +/* 45419 */ {(12<<2)|2,{114,45,0}}, +/* 45420 */ {(12<<2)|2,{114,45,0}}, +/* 45421 */ {(12<<2)|2,{114,45,0}}, +/* 45422 */ {(12<<2)|2,{114,45,0}}, +/* 45423 */ {(12<<2)|2,{114,45,0}}, +/* 45424 */ {(12<<2)|2,{114,46,0}}, +/* 45425 */ {(12<<2)|2,{114,46,0}}, +/* 45426 */ {(12<<2)|2,{114,46,0}}, +/* 45427 */ {(12<<2)|2,{114,46,0}}, +/* 45428 */ {(12<<2)|2,{114,46,0}}, +/* 45429 */ {(12<<2)|2,{114,46,0}}, +/* 45430 */ {(12<<2)|2,{114,46,0}}, +/* 45431 */ {(12<<2)|2,{114,46,0}}, +/* 45432 */ {(12<<2)|2,{114,46,0}}, +/* 45433 */ {(12<<2)|2,{114,46,0}}, +/* 45434 */ {(12<<2)|2,{114,46,0}}, +/* 45435 */ {(12<<2)|2,{114,46,0}}, +/* 45436 */ {(12<<2)|2,{114,46,0}}, +/* 45437 */ {(12<<2)|2,{114,46,0}}, +/* 45438 */ {(12<<2)|2,{114,46,0}}, +/* 45439 */ {(12<<2)|2,{114,46,0}}, +/* 45440 */ {(12<<2)|2,{114,47,0}}, +/* 45441 */ {(12<<2)|2,{114,47,0}}, +/* 45442 */ {(12<<2)|2,{114,47,0}}, +/* 45443 */ {(12<<2)|2,{114,47,0}}, +/* 45444 */ {(12<<2)|2,{114,47,0}}, +/* 45445 */ {(12<<2)|2,{114,47,0}}, +/* 45446 */ {(12<<2)|2,{114,47,0}}, +/* 45447 */ {(12<<2)|2,{114,47,0}}, +/* 45448 */ {(12<<2)|2,{114,47,0}}, +/* 45449 */ {(12<<2)|2,{114,47,0}}, +/* 45450 */ {(12<<2)|2,{114,47,0}}, +/* 45451 */ {(12<<2)|2,{114,47,0}}, +/* 45452 */ {(12<<2)|2,{114,47,0}}, +/* 45453 */ {(12<<2)|2,{114,47,0}}, +/* 45454 */ {(12<<2)|2,{114,47,0}}, +/* 45455 */ {(12<<2)|2,{114,47,0}}, +/* 45456 */ {(12<<2)|2,{114,51,0}}, +/* 45457 */ {(12<<2)|2,{114,51,0}}, +/* 45458 */ {(12<<2)|2,{114,51,0}}, +/* 45459 */ {(12<<2)|2,{114,51,0}}, +/* 45460 */ {(12<<2)|2,{114,51,0}}, +/* 45461 */ {(12<<2)|2,{114,51,0}}, +/* 45462 */ {(12<<2)|2,{114,51,0}}, +/* 45463 */ {(12<<2)|2,{114,51,0}}, +/* 45464 */ {(12<<2)|2,{114,51,0}}, +/* 45465 */ {(12<<2)|2,{114,51,0}}, +/* 45466 */ {(12<<2)|2,{114,51,0}}, +/* 45467 */ {(12<<2)|2,{114,51,0}}, +/* 45468 */ {(12<<2)|2,{114,51,0}}, +/* 45469 */ {(12<<2)|2,{114,51,0}}, +/* 45470 */ {(12<<2)|2,{114,51,0}}, +/* 45471 */ {(12<<2)|2,{114,51,0}}, +/* 45472 */ {(12<<2)|2,{114,52,0}}, +/* 45473 */ {(12<<2)|2,{114,52,0}}, +/* 45474 */ {(12<<2)|2,{114,52,0}}, +/* 45475 */ {(12<<2)|2,{114,52,0}}, +/* 45476 */ {(12<<2)|2,{114,52,0}}, +/* 45477 */ {(12<<2)|2,{114,52,0}}, +/* 45478 */ {(12<<2)|2,{114,52,0}}, +/* 45479 */ {(12<<2)|2,{114,52,0}}, +/* 45480 */ {(12<<2)|2,{114,52,0}}, +/* 45481 */ {(12<<2)|2,{114,52,0}}, +/* 45482 */ {(12<<2)|2,{114,52,0}}, +/* 45483 */ {(12<<2)|2,{114,52,0}}, +/* 45484 */ {(12<<2)|2,{114,52,0}}, +/* 45485 */ {(12<<2)|2,{114,52,0}}, +/* 45486 */ {(12<<2)|2,{114,52,0}}, +/* 45487 */ {(12<<2)|2,{114,52,0}}, +/* 45488 */ {(12<<2)|2,{114,53,0}}, +/* 45489 */ {(12<<2)|2,{114,53,0}}, +/* 45490 */ {(12<<2)|2,{114,53,0}}, +/* 45491 */ {(12<<2)|2,{114,53,0}}, +/* 45492 */ {(12<<2)|2,{114,53,0}}, +/* 45493 */ {(12<<2)|2,{114,53,0}}, +/* 45494 */ {(12<<2)|2,{114,53,0}}, +/* 45495 */ {(12<<2)|2,{114,53,0}}, +/* 45496 */ {(12<<2)|2,{114,53,0}}, +/* 45497 */ {(12<<2)|2,{114,53,0}}, +/* 45498 */ {(12<<2)|2,{114,53,0}}, +/* 45499 */ {(12<<2)|2,{114,53,0}}, +/* 45500 */ {(12<<2)|2,{114,53,0}}, +/* 45501 */ {(12<<2)|2,{114,53,0}}, +/* 45502 */ {(12<<2)|2,{114,53,0}}, +/* 45503 */ {(12<<2)|2,{114,53,0}}, +/* 45504 */ {(12<<2)|2,{114,54,0}}, +/* 45505 */ {(12<<2)|2,{114,54,0}}, +/* 45506 */ {(12<<2)|2,{114,54,0}}, +/* 45507 */ {(12<<2)|2,{114,54,0}}, +/* 45508 */ {(12<<2)|2,{114,54,0}}, +/* 45509 */ {(12<<2)|2,{114,54,0}}, +/* 45510 */ {(12<<2)|2,{114,54,0}}, +/* 45511 */ {(12<<2)|2,{114,54,0}}, +/* 45512 */ {(12<<2)|2,{114,54,0}}, +/* 45513 */ {(12<<2)|2,{114,54,0}}, +/* 45514 */ {(12<<2)|2,{114,54,0}}, +/* 45515 */ {(12<<2)|2,{114,54,0}}, +/* 45516 */ {(12<<2)|2,{114,54,0}}, +/* 45517 */ {(12<<2)|2,{114,54,0}}, +/* 45518 */ {(12<<2)|2,{114,54,0}}, +/* 45519 */ {(12<<2)|2,{114,54,0}}, +/* 45520 */ {(12<<2)|2,{114,55,0}}, +/* 45521 */ {(12<<2)|2,{114,55,0}}, +/* 45522 */ {(12<<2)|2,{114,55,0}}, +/* 45523 */ {(12<<2)|2,{114,55,0}}, +/* 45524 */ {(12<<2)|2,{114,55,0}}, +/* 45525 */ {(12<<2)|2,{114,55,0}}, +/* 45526 */ {(12<<2)|2,{114,55,0}}, +/* 45527 */ {(12<<2)|2,{114,55,0}}, +/* 45528 */ {(12<<2)|2,{114,55,0}}, +/* 45529 */ {(12<<2)|2,{114,55,0}}, +/* 45530 */ {(12<<2)|2,{114,55,0}}, +/* 45531 */ {(12<<2)|2,{114,55,0}}, +/* 45532 */ {(12<<2)|2,{114,55,0}}, +/* 45533 */ {(12<<2)|2,{114,55,0}}, +/* 45534 */ {(12<<2)|2,{114,55,0}}, +/* 45535 */ {(12<<2)|2,{114,55,0}}, +/* 45536 */ {(12<<2)|2,{114,56,0}}, +/* 45537 */ {(12<<2)|2,{114,56,0}}, +/* 45538 */ {(12<<2)|2,{114,56,0}}, +/* 45539 */ {(12<<2)|2,{114,56,0}}, +/* 45540 */ {(12<<2)|2,{114,56,0}}, +/* 45541 */ {(12<<2)|2,{114,56,0}}, +/* 45542 */ {(12<<2)|2,{114,56,0}}, +/* 45543 */ {(12<<2)|2,{114,56,0}}, +/* 45544 */ {(12<<2)|2,{114,56,0}}, +/* 45545 */ {(12<<2)|2,{114,56,0}}, +/* 45546 */ {(12<<2)|2,{114,56,0}}, +/* 45547 */ {(12<<2)|2,{114,56,0}}, +/* 45548 */ {(12<<2)|2,{114,56,0}}, +/* 45549 */ {(12<<2)|2,{114,56,0}}, +/* 45550 */ {(12<<2)|2,{114,56,0}}, +/* 45551 */ {(12<<2)|2,{114,56,0}}, +/* 45552 */ {(12<<2)|2,{114,57,0}}, +/* 45553 */ {(12<<2)|2,{114,57,0}}, +/* 45554 */ {(12<<2)|2,{114,57,0}}, +/* 45555 */ {(12<<2)|2,{114,57,0}}, +/* 45556 */ {(12<<2)|2,{114,57,0}}, +/* 45557 */ {(12<<2)|2,{114,57,0}}, +/* 45558 */ {(12<<2)|2,{114,57,0}}, +/* 45559 */ {(12<<2)|2,{114,57,0}}, +/* 45560 */ {(12<<2)|2,{114,57,0}}, +/* 45561 */ {(12<<2)|2,{114,57,0}}, +/* 45562 */ {(12<<2)|2,{114,57,0}}, +/* 45563 */ {(12<<2)|2,{114,57,0}}, +/* 45564 */ {(12<<2)|2,{114,57,0}}, +/* 45565 */ {(12<<2)|2,{114,57,0}}, +/* 45566 */ {(12<<2)|2,{114,57,0}}, +/* 45567 */ {(12<<2)|2,{114,57,0}}, +/* 45568 */ {(12<<2)|2,{114,61,0}}, +/* 45569 */ {(12<<2)|2,{114,61,0}}, +/* 45570 */ {(12<<2)|2,{114,61,0}}, +/* 45571 */ {(12<<2)|2,{114,61,0}}, +/* 45572 */ {(12<<2)|2,{114,61,0}}, +/* 45573 */ {(12<<2)|2,{114,61,0}}, +/* 45574 */ {(12<<2)|2,{114,61,0}}, +/* 45575 */ {(12<<2)|2,{114,61,0}}, +/* 45576 */ {(12<<2)|2,{114,61,0}}, +/* 45577 */ {(12<<2)|2,{114,61,0}}, +/* 45578 */ {(12<<2)|2,{114,61,0}}, +/* 45579 */ {(12<<2)|2,{114,61,0}}, +/* 45580 */ {(12<<2)|2,{114,61,0}}, +/* 45581 */ {(12<<2)|2,{114,61,0}}, +/* 45582 */ {(12<<2)|2,{114,61,0}}, +/* 45583 */ {(12<<2)|2,{114,61,0}}, +/* 45584 */ {(12<<2)|2,{114,65,0}}, +/* 45585 */ {(12<<2)|2,{114,65,0}}, +/* 45586 */ {(12<<2)|2,{114,65,0}}, +/* 45587 */ {(12<<2)|2,{114,65,0}}, +/* 45588 */ {(12<<2)|2,{114,65,0}}, +/* 45589 */ {(12<<2)|2,{114,65,0}}, +/* 45590 */ {(12<<2)|2,{114,65,0}}, +/* 45591 */ {(12<<2)|2,{114,65,0}}, +/* 45592 */ {(12<<2)|2,{114,65,0}}, +/* 45593 */ {(12<<2)|2,{114,65,0}}, +/* 45594 */ {(12<<2)|2,{114,65,0}}, +/* 45595 */ {(12<<2)|2,{114,65,0}}, +/* 45596 */ {(12<<2)|2,{114,65,0}}, +/* 45597 */ {(12<<2)|2,{114,65,0}}, +/* 45598 */ {(12<<2)|2,{114,65,0}}, +/* 45599 */ {(12<<2)|2,{114,65,0}}, +/* 45600 */ {(12<<2)|2,{114,95,0}}, +/* 45601 */ {(12<<2)|2,{114,95,0}}, +/* 45602 */ {(12<<2)|2,{114,95,0}}, +/* 45603 */ {(12<<2)|2,{114,95,0}}, +/* 45604 */ {(12<<2)|2,{114,95,0}}, +/* 45605 */ {(12<<2)|2,{114,95,0}}, +/* 45606 */ {(12<<2)|2,{114,95,0}}, +/* 45607 */ {(12<<2)|2,{114,95,0}}, +/* 45608 */ {(12<<2)|2,{114,95,0}}, +/* 45609 */ {(12<<2)|2,{114,95,0}}, +/* 45610 */ {(12<<2)|2,{114,95,0}}, +/* 45611 */ {(12<<2)|2,{114,95,0}}, +/* 45612 */ {(12<<2)|2,{114,95,0}}, +/* 45613 */ {(12<<2)|2,{114,95,0}}, +/* 45614 */ {(12<<2)|2,{114,95,0}}, +/* 45615 */ {(12<<2)|2,{114,95,0}}, +/* 45616 */ {(12<<2)|2,{114,98,0}}, +/* 45617 */ {(12<<2)|2,{114,98,0}}, +/* 45618 */ {(12<<2)|2,{114,98,0}}, +/* 45619 */ {(12<<2)|2,{114,98,0}}, +/* 45620 */ {(12<<2)|2,{114,98,0}}, +/* 45621 */ {(12<<2)|2,{114,98,0}}, +/* 45622 */ {(12<<2)|2,{114,98,0}}, +/* 45623 */ {(12<<2)|2,{114,98,0}}, +/* 45624 */ {(12<<2)|2,{114,98,0}}, +/* 45625 */ {(12<<2)|2,{114,98,0}}, +/* 45626 */ {(12<<2)|2,{114,98,0}}, +/* 45627 */ {(12<<2)|2,{114,98,0}}, +/* 45628 */ {(12<<2)|2,{114,98,0}}, +/* 45629 */ {(12<<2)|2,{114,98,0}}, +/* 45630 */ {(12<<2)|2,{114,98,0}}, +/* 45631 */ {(12<<2)|2,{114,98,0}}, +/* 45632 */ {(12<<2)|2,{114,100,0}}, +/* 45633 */ {(12<<2)|2,{114,100,0}}, +/* 45634 */ {(12<<2)|2,{114,100,0}}, +/* 45635 */ {(12<<2)|2,{114,100,0}}, +/* 45636 */ {(12<<2)|2,{114,100,0}}, +/* 45637 */ {(12<<2)|2,{114,100,0}}, +/* 45638 */ {(12<<2)|2,{114,100,0}}, +/* 45639 */ {(12<<2)|2,{114,100,0}}, +/* 45640 */ {(12<<2)|2,{114,100,0}}, +/* 45641 */ {(12<<2)|2,{114,100,0}}, +/* 45642 */ {(12<<2)|2,{114,100,0}}, +/* 45643 */ {(12<<2)|2,{114,100,0}}, +/* 45644 */ {(12<<2)|2,{114,100,0}}, +/* 45645 */ {(12<<2)|2,{114,100,0}}, +/* 45646 */ {(12<<2)|2,{114,100,0}}, +/* 45647 */ {(12<<2)|2,{114,100,0}}, +/* 45648 */ {(12<<2)|2,{114,102,0}}, +/* 45649 */ {(12<<2)|2,{114,102,0}}, +/* 45650 */ {(12<<2)|2,{114,102,0}}, +/* 45651 */ {(12<<2)|2,{114,102,0}}, +/* 45652 */ {(12<<2)|2,{114,102,0}}, +/* 45653 */ {(12<<2)|2,{114,102,0}}, +/* 45654 */ {(12<<2)|2,{114,102,0}}, +/* 45655 */ {(12<<2)|2,{114,102,0}}, +/* 45656 */ {(12<<2)|2,{114,102,0}}, +/* 45657 */ {(12<<2)|2,{114,102,0}}, +/* 45658 */ {(12<<2)|2,{114,102,0}}, +/* 45659 */ {(12<<2)|2,{114,102,0}}, +/* 45660 */ {(12<<2)|2,{114,102,0}}, +/* 45661 */ {(12<<2)|2,{114,102,0}}, +/* 45662 */ {(12<<2)|2,{114,102,0}}, +/* 45663 */ {(12<<2)|2,{114,102,0}}, +/* 45664 */ {(12<<2)|2,{114,103,0}}, +/* 45665 */ {(12<<2)|2,{114,103,0}}, +/* 45666 */ {(12<<2)|2,{114,103,0}}, +/* 45667 */ {(12<<2)|2,{114,103,0}}, +/* 45668 */ {(12<<2)|2,{114,103,0}}, +/* 45669 */ {(12<<2)|2,{114,103,0}}, +/* 45670 */ {(12<<2)|2,{114,103,0}}, +/* 45671 */ {(12<<2)|2,{114,103,0}}, +/* 45672 */ {(12<<2)|2,{114,103,0}}, +/* 45673 */ {(12<<2)|2,{114,103,0}}, +/* 45674 */ {(12<<2)|2,{114,103,0}}, +/* 45675 */ {(12<<2)|2,{114,103,0}}, +/* 45676 */ {(12<<2)|2,{114,103,0}}, +/* 45677 */ {(12<<2)|2,{114,103,0}}, +/* 45678 */ {(12<<2)|2,{114,103,0}}, +/* 45679 */ {(12<<2)|2,{114,103,0}}, +/* 45680 */ {(12<<2)|2,{114,104,0}}, +/* 45681 */ {(12<<2)|2,{114,104,0}}, +/* 45682 */ {(12<<2)|2,{114,104,0}}, +/* 45683 */ {(12<<2)|2,{114,104,0}}, +/* 45684 */ {(12<<2)|2,{114,104,0}}, +/* 45685 */ {(12<<2)|2,{114,104,0}}, +/* 45686 */ {(12<<2)|2,{114,104,0}}, +/* 45687 */ {(12<<2)|2,{114,104,0}}, +/* 45688 */ {(12<<2)|2,{114,104,0}}, +/* 45689 */ {(12<<2)|2,{114,104,0}}, +/* 45690 */ {(12<<2)|2,{114,104,0}}, +/* 45691 */ {(12<<2)|2,{114,104,0}}, +/* 45692 */ {(12<<2)|2,{114,104,0}}, +/* 45693 */ {(12<<2)|2,{114,104,0}}, +/* 45694 */ {(12<<2)|2,{114,104,0}}, +/* 45695 */ {(12<<2)|2,{114,104,0}}, +/* 45696 */ {(12<<2)|2,{114,108,0}}, +/* 45697 */ {(12<<2)|2,{114,108,0}}, +/* 45698 */ {(12<<2)|2,{114,108,0}}, +/* 45699 */ {(12<<2)|2,{114,108,0}}, +/* 45700 */ {(12<<2)|2,{114,108,0}}, +/* 45701 */ {(12<<2)|2,{114,108,0}}, +/* 45702 */ {(12<<2)|2,{114,108,0}}, +/* 45703 */ {(12<<2)|2,{114,108,0}}, +/* 45704 */ {(12<<2)|2,{114,108,0}}, +/* 45705 */ {(12<<2)|2,{114,108,0}}, +/* 45706 */ {(12<<2)|2,{114,108,0}}, +/* 45707 */ {(12<<2)|2,{114,108,0}}, +/* 45708 */ {(12<<2)|2,{114,108,0}}, +/* 45709 */ {(12<<2)|2,{114,108,0}}, +/* 45710 */ {(12<<2)|2,{114,108,0}}, +/* 45711 */ {(12<<2)|2,{114,108,0}}, +/* 45712 */ {(12<<2)|2,{114,109,0}}, +/* 45713 */ {(12<<2)|2,{114,109,0}}, +/* 45714 */ {(12<<2)|2,{114,109,0}}, +/* 45715 */ {(12<<2)|2,{114,109,0}}, +/* 45716 */ {(12<<2)|2,{114,109,0}}, +/* 45717 */ {(12<<2)|2,{114,109,0}}, +/* 45718 */ {(12<<2)|2,{114,109,0}}, +/* 45719 */ {(12<<2)|2,{114,109,0}}, +/* 45720 */ {(12<<2)|2,{114,109,0}}, +/* 45721 */ {(12<<2)|2,{114,109,0}}, +/* 45722 */ {(12<<2)|2,{114,109,0}}, +/* 45723 */ {(12<<2)|2,{114,109,0}}, +/* 45724 */ {(12<<2)|2,{114,109,0}}, +/* 45725 */ {(12<<2)|2,{114,109,0}}, +/* 45726 */ {(12<<2)|2,{114,109,0}}, +/* 45727 */ {(12<<2)|2,{114,109,0}}, +/* 45728 */ {(12<<2)|2,{114,110,0}}, +/* 45729 */ {(12<<2)|2,{114,110,0}}, +/* 45730 */ {(12<<2)|2,{114,110,0}}, +/* 45731 */ {(12<<2)|2,{114,110,0}}, +/* 45732 */ {(12<<2)|2,{114,110,0}}, +/* 45733 */ {(12<<2)|2,{114,110,0}}, +/* 45734 */ {(12<<2)|2,{114,110,0}}, +/* 45735 */ {(12<<2)|2,{114,110,0}}, +/* 45736 */ {(12<<2)|2,{114,110,0}}, +/* 45737 */ {(12<<2)|2,{114,110,0}}, +/* 45738 */ {(12<<2)|2,{114,110,0}}, +/* 45739 */ {(12<<2)|2,{114,110,0}}, +/* 45740 */ {(12<<2)|2,{114,110,0}}, +/* 45741 */ {(12<<2)|2,{114,110,0}}, +/* 45742 */ {(12<<2)|2,{114,110,0}}, +/* 45743 */ {(12<<2)|2,{114,110,0}}, +/* 45744 */ {(12<<2)|2,{114,112,0}}, +/* 45745 */ {(12<<2)|2,{114,112,0}}, +/* 45746 */ {(12<<2)|2,{114,112,0}}, +/* 45747 */ {(12<<2)|2,{114,112,0}}, +/* 45748 */ {(12<<2)|2,{114,112,0}}, +/* 45749 */ {(12<<2)|2,{114,112,0}}, +/* 45750 */ {(12<<2)|2,{114,112,0}}, +/* 45751 */ {(12<<2)|2,{114,112,0}}, +/* 45752 */ {(12<<2)|2,{114,112,0}}, +/* 45753 */ {(12<<2)|2,{114,112,0}}, +/* 45754 */ {(12<<2)|2,{114,112,0}}, +/* 45755 */ {(12<<2)|2,{114,112,0}}, +/* 45756 */ {(12<<2)|2,{114,112,0}}, +/* 45757 */ {(12<<2)|2,{114,112,0}}, +/* 45758 */ {(12<<2)|2,{114,112,0}}, +/* 45759 */ {(12<<2)|2,{114,112,0}}, +/* 45760 */ {(12<<2)|2,{114,114,0}}, +/* 45761 */ {(12<<2)|2,{114,114,0}}, +/* 45762 */ {(12<<2)|2,{114,114,0}}, +/* 45763 */ {(12<<2)|2,{114,114,0}}, +/* 45764 */ {(12<<2)|2,{114,114,0}}, +/* 45765 */ {(12<<2)|2,{114,114,0}}, +/* 45766 */ {(12<<2)|2,{114,114,0}}, +/* 45767 */ {(12<<2)|2,{114,114,0}}, +/* 45768 */ {(12<<2)|2,{114,114,0}}, +/* 45769 */ {(12<<2)|2,{114,114,0}}, +/* 45770 */ {(12<<2)|2,{114,114,0}}, +/* 45771 */ {(12<<2)|2,{114,114,0}}, +/* 45772 */ {(12<<2)|2,{114,114,0}}, +/* 45773 */ {(12<<2)|2,{114,114,0}}, +/* 45774 */ {(12<<2)|2,{114,114,0}}, +/* 45775 */ {(12<<2)|2,{114,114,0}}, +/* 45776 */ {(12<<2)|2,{114,117,0}}, +/* 45777 */ {(12<<2)|2,{114,117,0}}, +/* 45778 */ {(12<<2)|2,{114,117,0}}, +/* 45779 */ {(12<<2)|2,{114,117,0}}, +/* 45780 */ {(12<<2)|2,{114,117,0}}, +/* 45781 */ {(12<<2)|2,{114,117,0}}, +/* 45782 */ {(12<<2)|2,{114,117,0}}, +/* 45783 */ {(12<<2)|2,{114,117,0}}, +/* 45784 */ {(12<<2)|2,{114,117,0}}, +/* 45785 */ {(12<<2)|2,{114,117,0}}, +/* 45786 */ {(12<<2)|2,{114,117,0}}, +/* 45787 */ {(12<<2)|2,{114,117,0}}, +/* 45788 */ {(12<<2)|2,{114,117,0}}, +/* 45789 */ {(12<<2)|2,{114,117,0}}, +/* 45790 */ {(12<<2)|2,{114,117,0}}, +/* 45791 */ {(12<<2)|2,{114,117,0}}, +/* 45792 */ {(13<<2)|2,{114,58,0}}, +/* 45793 */ {(13<<2)|2,{114,58,0}}, +/* 45794 */ {(13<<2)|2,{114,58,0}}, +/* 45795 */ {(13<<2)|2,{114,58,0}}, +/* 45796 */ {(13<<2)|2,{114,58,0}}, +/* 45797 */ {(13<<2)|2,{114,58,0}}, +/* 45798 */ {(13<<2)|2,{114,58,0}}, +/* 45799 */ {(13<<2)|2,{114,58,0}}, +/* 45800 */ {(13<<2)|2,{114,66,0}}, +/* 45801 */ {(13<<2)|2,{114,66,0}}, +/* 45802 */ {(13<<2)|2,{114,66,0}}, +/* 45803 */ {(13<<2)|2,{114,66,0}}, +/* 45804 */ {(13<<2)|2,{114,66,0}}, +/* 45805 */ {(13<<2)|2,{114,66,0}}, +/* 45806 */ {(13<<2)|2,{114,66,0}}, +/* 45807 */ {(13<<2)|2,{114,66,0}}, +/* 45808 */ {(13<<2)|2,{114,67,0}}, +/* 45809 */ {(13<<2)|2,{114,67,0}}, +/* 45810 */ {(13<<2)|2,{114,67,0}}, +/* 45811 */ {(13<<2)|2,{114,67,0}}, +/* 45812 */ {(13<<2)|2,{114,67,0}}, +/* 45813 */ {(13<<2)|2,{114,67,0}}, +/* 45814 */ {(13<<2)|2,{114,67,0}}, +/* 45815 */ {(13<<2)|2,{114,67,0}}, +/* 45816 */ {(13<<2)|2,{114,68,0}}, +/* 45817 */ {(13<<2)|2,{114,68,0}}, +/* 45818 */ {(13<<2)|2,{114,68,0}}, +/* 45819 */ {(13<<2)|2,{114,68,0}}, +/* 45820 */ {(13<<2)|2,{114,68,0}}, +/* 45821 */ {(13<<2)|2,{114,68,0}}, +/* 45822 */ {(13<<2)|2,{114,68,0}}, +/* 45823 */ {(13<<2)|2,{114,68,0}}, +/* 45824 */ {(13<<2)|2,{114,69,0}}, +/* 45825 */ {(13<<2)|2,{114,69,0}}, +/* 45826 */ {(13<<2)|2,{114,69,0}}, +/* 45827 */ {(13<<2)|2,{114,69,0}}, +/* 45828 */ {(13<<2)|2,{114,69,0}}, +/* 45829 */ {(13<<2)|2,{114,69,0}}, +/* 45830 */ {(13<<2)|2,{114,69,0}}, +/* 45831 */ {(13<<2)|2,{114,69,0}}, +/* 45832 */ {(13<<2)|2,{114,70,0}}, +/* 45833 */ {(13<<2)|2,{114,70,0}}, +/* 45834 */ {(13<<2)|2,{114,70,0}}, +/* 45835 */ {(13<<2)|2,{114,70,0}}, +/* 45836 */ {(13<<2)|2,{114,70,0}}, +/* 45837 */ {(13<<2)|2,{114,70,0}}, +/* 45838 */ {(13<<2)|2,{114,70,0}}, +/* 45839 */ {(13<<2)|2,{114,70,0}}, +/* 45840 */ {(13<<2)|2,{114,71,0}}, +/* 45841 */ {(13<<2)|2,{114,71,0}}, +/* 45842 */ {(13<<2)|2,{114,71,0}}, +/* 45843 */ {(13<<2)|2,{114,71,0}}, +/* 45844 */ {(13<<2)|2,{114,71,0}}, +/* 45845 */ {(13<<2)|2,{114,71,0}}, +/* 45846 */ {(13<<2)|2,{114,71,0}}, +/* 45847 */ {(13<<2)|2,{114,71,0}}, +/* 45848 */ {(13<<2)|2,{114,72,0}}, +/* 45849 */ {(13<<2)|2,{114,72,0}}, +/* 45850 */ {(13<<2)|2,{114,72,0}}, +/* 45851 */ {(13<<2)|2,{114,72,0}}, +/* 45852 */ {(13<<2)|2,{114,72,0}}, +/* 45853 */ {(13<<2)|2,{114,72,0}}, +/* 45854 */ {(13<<2)|2,{114,72,0}}, +/* 45855 */ {(13<<2)|2,{114,72,0}}, +/* 45856 */ {(13<<2)|2,{114,73,0}}, +/* 45857 */ {(13<<2)|2,{114,73,0}}, +/* 45858 */ {(13<<2)|2,{114,73,0}}, +/* 45859 */ {(13<<2)|2,{114,73,0}}, +/* 45860 */ {(13<<2)|2,{114,73,0}}, +/* 45861 */ {(13<<2)|2,{114,73,0}}, +/* 45862 */ {(13<<2)|2,{114,73,0}}, +/* 45863 */ {(13<<2)|2,{114,73,0}}, +/* 45864 */ {(13<<2)|2,{114,74,0}}, +/* 45865 */ {(13<<2)|2,{114,74,0}}, +/* 45866 */ {(13<<2)|2,{114,74,0}}, +/* 45867 */ {(13<<2)|2,{114,74,0}}, +/* 45868 */ {(13<<2)|2,{114,74,0}}, +/* 45869 */ {(13<<2)|2,{114,74,0}}, +/* 45870 */ {(13<<2)|2,{114,74,0}}, +/* 45871 */ {(13<<2)|2,{114,74,0}}, +/* 45872 */ {(13<<2)|2,{114,75,0}}, +/* 45873 */ {(13<<2)|2,{114,75,0}}, +/* 45874 */ {(13<<2)|2,{114,75,0}}, +/* 45875 */ {(13<<2)|2,{114,75,0}}, +/* 45876 */ {(13<<2)|2,{114,75,0}}, +/* 45877 */ {(13<<2)|2,{114,75,0}}, +/* 45878 */ {(13<<2)|2,{114,75,0}}, +/* 45879 */ {(13<<2)|2,{114,75,0}}, +/* 45880 */ {(13<<2)|2,{114,76,0}}, +/* 45881 */ {(13<<2)|2,{114,76,0}}, +/* 45882 */ {(13<<2)|2,{114,76,0}}, +/* 45883 */ {(13<<2)|2,{114,76,0}}, +/* 45884 */ {(13<<2)|2,{114,76,0}}, +/* 45885 */ {(13<<2)|2,{114,76,0}}, +/* 45886 */ {(13<<2)|2,{114,76,0}}, +/* 45887 */ {(13<<2)|2,{114,76,0}}, +/* 45888 */ {(13<<2)|2,{114,77,0}}, +/* 45889 */ {(13<<2)|2,{114,77,0}}, +/* 45890 */ {(13<<2)|2,{114,77,0}}, +/* 45891 */ {(13<<2)|2,{114,77,0}}, +/* 45892 */ {(13<<2)|2,{114,77,0}}, +/* 45893 */ {(13<<2)|2,{114,77,0}}, +/* 45894 */ {(13<<2)|2,{114,77,0}}, +/* 45895 */ {(13<<2)|2,{114,77,0}}, +/* 45896 */ {(13<<2)|2,{114,78,0}}, +/* 45897 */ {(13<<2)|2,{114,78,0}}, +/* 45898 */ {(13<<2)|2,{114,78,0}}, +/* 45899 */ {(13<<2)|2,{114,78,0}}, +/* 45900 */ {(13<<2)|2,{114,78,0}}, +/* 45901 */ {(13<<2)|2,{114,78,0}}, +/* 45902 */ {(13<<2)|2,{114,78,0}}, +/* 45903 */ {(13<<2)|2,{114,78,0}}, +/* 45904 */ {(13<<2)|2,{114,79,0}}, +/* 45905 */ {(13<<2)|2,{114,79,0}}, +/* 45906 */ {(13<<2)|2,{114,79,0}}, +/* 45907 */ {(13<<2)|2,{114,79,0}}, +/* 45908 */ {(13<<2)|2,{114,79,0}}, +/* 45909 */ {(13<<2)|2,{114,79,0}}, +/* 45910 */ {(13<<2)|2,{114,79,0}}, +/* 45911 */ {(13<<2)|2,{114,79,0}}, +/* 45912 */ {(13<<2)|2,{114,80,0}}, +/* 45913 */ {(13<<2)|2,{114,80,0}}, +/* 45914 */ {(13<<2)|2,{114,80,0}}, +/* 45915 */ {(13<<2)|2,{114,80,0}}, +/* 45916 */ {(13<<2)|2,{114,80,0}}, +/* 45917 */ {(13<<2)|2,{114,80,0}}, +/* 45918 */ {(13<<2)|2,{114,80,0}}, +/* 45919 */ {(13<<2)|2,{114,80,0}}, +/* 45920 */ {(13<<2)|2,{114,81,0}}, +/* 45921 */ {(13<<2)|2,{114,81,0}}, +/* 45922 */ {(13<<2)|2,{114,81,0}}, +/* 45923 */ {(13<<2)|2,{114,81,0}}, +/* 45924 */ {(13<<2)|2,{114,81,0}}, +/* 45925 */ {(13<<2)|2,{114,81,0}}, +/* 45926 */ {(13<<2)|2,{114,81,0}}, +/* 45927 */ {(13<<2)|2,{114,81,0}}, +/* 45928 */ {(13<<2)|2,{114,82,0}}, +/* 45929 */ {(13<<2)|2,{114,82,0}}, +/* 45930 */ {(13<<2)|2,{114,82,0}}, +/* 45931 */ {(13<<2)|2,{114,82,0}}, +/* 45932 */ {(13<<2)|2,{114,82,0}}, +/* 45933 */ {(13<<2)|2,{114,82,0}}, +/* 45934 */ {(13<<2)|2,{114,82,0}}, +/* 45935 */ {(13<<2)|2,{114,82,0}}, +/* 45936 */ {(13<<2)|2,{114,83,0}}, +/* 45937 */ {(13<<2)|2,{114,83,0}}, +/* 45938 */ {(13<<2)|2,{114,83,0}}, +/* 45939 */ {(13<<2)|2,{114,83,0}}, +/* 45940 */ {(13<<2)|2,{114,83,0}}, +/* 45941 */ {(13<<2)|2,{114,83,0}}, +/* 45942 */ {(13<<2)|2,{114,83,0}}, +/* 45943 */ {(13<<2)|2,{114,83,0}}, +/* 45944 */ {(13<<2)|2,{114,84,0}}, +/* 45945 */ {(13<<2)|2,{114,84,0}}, +/* 45946 */ {(13<<2)|2,{114,84,0}}, +/* 45947 */ {(13<<2)|2,{114,84,0}}, +/* 45948 */ {(13<<2)|2,{114,84,0}}, +/* 45949 */ {(13<<2)|2,{114,84,0}}, +/* 45950 */ {(13<<2)|2,{114,84,0}}, +/* 45951 */ {(13<<2)|2,{114,84,0}}, +/* 45952 */ {(13<<2)|2,{114,85,0}}, +/* 45953 */ {(13<<2)|2,{114,85,0}}, +/* 45954 */ {(13<<2)|2,{114,85,0}}, +/* 45955 */ {(13<<2)|2,{114,85,0}}, +/* 45956 */ {(13<<2)|2,{114,85,0}}, +/* 45957 */ {(13<<2)|2,{114,85,0}}, +/* 45958 */ {(13<<2)|2,{114,85,0}}, +/* 45959 */ {(13<<2)|2,{114,85,0}}, +/* 45960 */ {(13<<2)|2,{114,86,0}}, +/* 45961 */ {(13<<2)|2,{114,86,0}}, +/* 45962 */ {(13<<2)|2,{114,86,0}}, +/* 45963 */ {(13<<2)|2,{114,86,0}}, +/* 45964 */ {(13<<2)|2,{114,86,0}}, +/* 45965 */ {(13<<2)|2,{114,86,0}}, +/* 45966 */ {(13<<2)|2,{114,86,0}}, +/* 45967 */ {(13<<2)|2,{114,86,0}}, +/* 45968 */ {(13<<2)|2,{114,87,0}}, +/* 45969 */ {(13<<2)|2,{114,87,0}}, +/* 45970 */ {(13<<2)|2,{114,87,0}}, +/* 45971 */ {(13<<2)|2,{114,87,0}}, +/* 45972 */ {(13<<2)|2,{114,87,0}}, +/* 45973 */ {(13<<2)|2,{114,87,0}}, +/* 45974 */ {(13<<2)|2,{114,87,0}}, +/* 45975 */ {(13<<2)|2,{114,87,0}}, +/* 45976 */ {(13<<2)|2,{114,89,0}}, +/* 45977 */ {(13<<2)|2,{114,89,0}}, +/* 45978 */ {(13<<2)|2,{114,89,0}}, +/* 45979 */ {(13<<2)|2,{114,89,0}}, +/* 45980 */ {(13<<2)|2,{114,89,0}}, +/* 45981 */ {(13<<2)|2,{114,89,0}}, +/* 45982 */ {(13<<2)|2,{114,89,0}}, +/* 45983 */ {(13<<2)|2,{114,89,0}}, +/* 45984 */ {(13<<2)|2,{114,106,0}}, +/* 45985 */ {(13<<2)|2,{114,106,0}}, +/* 45986 */ {(13<<2)|2,{114,106,0}}, +/* 45987 */ {(13<<2)|2,{114,106,0}}, +/* 45988 */ {(13<<2)|2,{114,106,0}}, +/* 45989 */ {(13<<2)|2,{114,106,0}}, +/* 45990 */ {(13<<2)|2,{114,106,0}}, +/* 45991 */ {(13<<2)|2,{114,106,0}}, +/* 45992 */ {(13<<2)|2,{114,107,0}}, +/* 45993 */ {(13<<2)|2,{114,107,0}}, +/* 45994 */ {(13<<2)|2,{114,107,0}}, +/* 45995 */ {(13<<2)|2,{114,107,0}}, +/* 45996 */ {(13<<2)|2,{114,107,0}}, +/* 45997 */ {(13<<2)|2,{114,107,0}}, +/* 45998 */ {(13<<2)|2,{114,107,0}}, +/* 45999 */ {(13<<2)|2,{114,107,0}}, +/* 46000 */ {(13<<2)|2,{114,113,0}}, +/* 46001 */ {(13<<2)|2,{114,113,0}}, +/* 46002 */ {(13<<2)|2,{114,113,0}}, +/* 46003 */ {(13<<2)|2,{114,113,0}}, +/* 46004 */ {(13<<2)|2,{114,113,0}}, +/* 46005 */ {(13<<2)|2,{114,113,0}}, +/* 46006 */ {(13<<2)|2,{114,113,0}}, +/* 46007 */ {(13<<2)|2,{114,113,0}}, +/* 46008 */ {(13<<2)|2,{114,118,0}}, +/* 46009 */ {(13<<2)|2,{114,118,0}}, +/* 46010 */ {(13<<2)|2,{114,118,0}}, +/* 46011 */ {(13<<2)|2,{114,118,0}}, +/* 46012 */ {(13<<2)|2,{114,118,0}}, +/* 46013 */ {(13<<2)|2,{114,118,0}}, +/* 46014 */ {(13<<2)|2,{114,118,0}}, +/* 46015 */ {(13<<2)|2,{114,118,0}}, +/* 46016 */ {(13<<2)|2,{114,119,0}}, +/* 46017 */ {(13<<2)|2,{114,119,0}}, +/* 46018 */ {(13<<2)|2,{114,119,0}}, +/* 46019 */ {(13<<2)|2,{114,119,0}}, +/* 46020 */ {(13<<2)|2,{114,119,0}}, +/* 46021 */ {(13<<2)|2,{114,119,0}}, +/* 46022 */ {(13<<2)|2,{114,119,0}}, +/* 46023 */ {(13<<2)|2,{114,119,0}}, +/* 46024 */ {(13<<2)|2,{114,120,0}}, +/* 46025 */ {(13<<2)|2,{114,120,0}}, +/* 46026 */ {(13<<2)|2,{114,120,0}}, +/* 46027 */ {(13<<2)|2,{114,120,0}}, +/* 46028 */ {(13<<2)|2,{114,120,0}}, +/* 46029 */ {(13<<2)|2,{114,120,0}}, +/* 46030 */ {(13<<2)|2,{114,120,0}}, +/* 46031 */ {(13<<2)|2,{114,120,0}}, +/* 46032 */ {(13<<2)|2,{114,121,0}}, +/* 46033 */ {(13<<2)|2,{114,121,0}}, +/* 46034 */ {(13<<2)|2,{114,121,0}}, +/* 46035 */ {(13<<2)|2,{114,121,0}}, +/* 46036 */ {(13<<2)|2,{114,121,0}}, +/* 46037 */ {(13<<2)|2,{114,121,0}}, +/* 46038 */ {(13<<2)|2,{114,121,0}}, +/* 46039 */ {(13<<2)|2,{114,121,0}}, +/* 46040 */ {(13<<2)|2,{114,122,0}}, +/* 46041 */ {(13<<2)|2,{114,122,0}}, +/* 46042 */ {(13<<2)|2,{114,122,0}}, +/* 46043 */ {(13<<2)|2,{114,122,0}}, +/* 46044 */ {(13<<2)|2,{114,122,0}}, +/* 46045 */ {(13<<2)|2,{114,122,0}}, +/* 46046 */ {(13<<2)|2,{114,122,0}}, +/* 46047 */ {(13<<2)|2,{114,122,0}}, +/* 46048 */ {(14<<2)|2,{114,38,0}}, +/* 46049 */ {(14<<2)|2,{114,38,0}}, +/* 46050 */ {(14<<2)|2,{114,38,0}}, +/* 46051 */ {(14<<2)|2,{114,38,0}}, +/* 46052 */ {(14<<2)|2,{114,42,0}}, +/* 46053 */ {(14<<2)|2,{114,42,0}}, +/* 46054 */ {(14<<2)|2,{114,42,0}}, +/* 46055 */ {(14<<2)|2,{114,42,0}}, +/* 46056 */ {(14<<2)|2,{114,44,0}}, +/* 46057 */ {(14<<2)|2,{114,44,0}}, +/* 46058 */ {(14<<2)|2,{114,44,0}}, +/* 46059 */ {(14<<2)|2,{114,44,0}}, +/* 46060 */ {(14<<2)|2,{114,59,0}}, +/* 46061 */ {(14<<2)|2,{114,59,0}}, +/* 46062 */ {(14<<2)|2,{114,59,0}}, +/* 46063 */ {(14<<2)|2,{114,59,0}}, +/* 46064 */ {(14<<2)|2,{114,88,0}}, +/* 46065 */ {(14<<2)|2,{114,88,0}}, +/* 46066 */ {(14<<2)|2,{114,88,0}}, +/* 46067 */ {(14<<2)|2,{114,88,0}}, +/* 46068 */ {(14<<2)|2,{114,90,0}}, +/* 46069 */ {(14<<2)|2,{114,90,0}}, +/* 46070 */ {(14<<2)|2,{114,90,0}}, +/* 46071 */ {(14<<2)|2,{114,90,0}}, +/* 46072 */ {(16<<2)|2,{114,33,0}}, +/* 46073 */ {(16<<2)|2,{114,34,0}}, +/* 46074 */ {(16<<2)|2,{114,40,0}}, +/* 46075 */ {(16<<2)|2,{114,41,0}}, +/* 46076 */ {(16<<2)|2,{114,63,0}}, +/* 46077 */ {(6<<2)|1,{114,0,0}}, +/* 46078 */ {(6<<2)|1,{114,0,0}}, +/* 46079 */ {(6<<2)|1,{114,0,0}}, +/* 46080 */ {(16<<2)|3,{117,48,48}}, +/* 46081 */ {(16<<2)|3,{117,48,49}}, +/* 46082 */ {(16<<2)|3,{117,48,50}}, +/* 46083 */ {(16<<2)|3,{117,48,97}}, +/* 46084 */ {(16<<2)|3,{117,48,99}}, +/* 46085 */ {(16<<2)|3,{117,48,101}}, +/* 46086 */ {(16<<2)|3,{117,48,105}}, +/* 46087 */ {(16<<2)|3,{117,48,111}}, +/* 46088 */ {(16<<2)|3,{117,48,115}}, +/* 46089 */ {(16<<2)|3,{117,48,116}}, +/* 46090 */ {(11<<2)|2,{117,48,0}}, +/* 46091 */ {(11<<2)|2,{117,48,0}}, +/* 46092 */ {(11<<2)|2,{117,48,0}}, +/* 46093 */ {(11<<2)|2,{117,48,0}}, +/* 46094 */ {(11<<2)|2,{117,48,0}}, +/* 46095 */ {(11<<2)|2,{117,48,0}}, +/* 46096 */ {(11<<2)|2,{117,48,0}}, +/* 46097 */ {(11<<2)|2,{117,48,0}}, +/* 46098 */ {(11<<2)|2,{117,48,0}}, +/* 46099 */ {(11<<2)|2,{117,48,0}}, +/* 46100 */ {(11<<2)|2,{117,48,0}}, +/* 46101 */ {(11<<2)|2,{117,48,0}}, +/* 46102 */ {(11<<2)|2,{117,48,0}}, +/* 46103 */ {(11<<2)|2,{117,48,0}}, +/* 46104 */ {(11<<2)|2,{117,48,0}}, +/* 46105 */ {(11<<2)|2,{117,48,0}}, +/* 46106 */ {(11<<2)|2,{117,48,0}}, +/* 46107 */ {(11<<2)|2,{117,48,0}}, +/* 46108 */ {(11<<2)|2,{117,48,0}}, +/* 46109 */ {(11<<2)|2,{117,48,0}}, +/* 46110 */ {(11<<2)|2,{117,48,0}}, +/* 46111 */ {(11<<2)|2,{117,48,0}}, +/* 46112 */ {(16<<2)|3,{117,49,48}}, +/* 46113 */ {(16<<2)|3,{117,49,49}}, +/* 46114 */ {(16<<2)|3,{117,49,50}}, +/* 46115 */ {(16<<2)|3,{117,49,97}}, +/* 46116 */ {(16<<2)|3,{117,49,99}}, +/* 46117 */ {(16<<2)|3,{117,49,101}}, +/* 46118 */ {(16<<2)|3,{117,49,105}}, +/* 46119 */ {(16<<2)|3,{117,49,111}}, +/* 46120 */ {(16<<2)|3,{117,49,115}}, +/* 46121 */ {(16<<2)|3,{117,49,116}}, +/* 46122 */ {(11<<2)|2,{117,49,0}}, +/* 46123 */ {(11<<2)|2,{117,49,0}}, +/* 46124 */ {(11<<2)|2,{117,49,0}}, +/* 46125 */ {(11<<2)|2,{117,49,0}}, +/* 46126 */ {(11<<2)|2,{117,49,0}}, +/* 46127 */ {(11<<2)|2,{117,49,0}}, +/* 46128 */ {(11<<2)|2,{117,49,0}}, +/* 46129 */ {(11<<2)|2,{117,49,0}}, +/* 46130 */ {(11<<2)|2,{117,49,0}}, +/* 46131 */ {(11<<2)|2,{117,49,0}}, +/* 46132 */ {(11<<2)|2,{117,49,0}}, +/* 46133 */ {(11<<2)|2,{117,49,0}}, +/* 46134 */ {(11<<2)|2,{117,49,0}}, +/* 46135 */ {(11<<2)|2,{117,49,0}}, +/* 46136 */ {(11<<2)|2,{117,49,0}}, +/* 46137 */ {(11<<2)|2,{117,49,0}}, +/* 46138 */ {(11<<2)|2,{117,49,0}}, +/* 46139 */ {(11<<2)|2,{117,49,0}}, +/* 46140 */ {(11<<2)|2,{117,49,0}}, +/* 46141 */ {(11<<2)|2,{117,49,0}}, +/* 46142 */ {(11<<2)|2,{117,49,0}}, +/* 46143 */ {(11<<2)|2,{117,49,0}}, +/* 46144 */ {(16<<2)|3,{117,50,48}}, +/* 46145 */ {(16<<2)|3,{117,50,49}}, +/* 46146 */ {(16<<2)|3,{117,50,50}}, +/* 46147 */ {(16<<2)|3,{117,50,97}}, +/* 46148 */ {(16<<2)|3,{117,50,99}}, +/* 46149 */ {(16<<2)|3,{117,50,101}}, +/* 46150 */ {(16<<2)|3,{117,50,105}}, +/* 46151 */ {(16<<2)|3,{117,50,111}}, +/* 46152 */ {(16<<2)|3,{117,50,115}}, +/* 46153 */ {(16<<2)|3,{117,50,116}}, +/* 46154 */ {(11<<2)|2,{117,50,0}}, +/* 46155 */ {(11<<2)|2,{117,50,0}}, +/* 46156 */ {(11<<2)|2,{117,50,0}}, +/* 46157 */ {(11<<2)|2,{117,50,0}}, +/* 46158 */ {(11<<2)|2,{117,50,0}}, +/* 46159 */ {(11<<2)|2,{117,50,0}}, +/* 46160 */ {(11<<2)|2,{117,50,0}}, +/* 46161 */ {(11<<2)|2,{117,50,0}}, +/* 46162 */ {(11<<2)|2,{117,50,0}}, +/* 46163 */ {(11<<2)|2,{117,50,0}}, +/* 46164 */ {(11<<2)|2,{117,50,0}}, +/* 46165 */ {(11<<2)|2,{117,50,0}}, +/* 46166 */ {(11<<2)|2,{117,50,0}}, +/* 46167 */ {(11<<2)|2,{117,50,0}}, +/* 46168 */ {(11<<2)|2,{117,50,0}}, +/* 46169 */ {(11<<2)|2,{117,50,0}}, +/* 46170 */ {(11<<2)|2,{117,50,0}}, +/* 46171 */ {(11<<2)|2,{117,50,0}}, +/* 46172 */ {(11<<2)|2,{117,50,0}}, +/* 46173 */ {(11<<2)|2,{117,50,0}}, +/* 46174 */ {(11<<2)|2,{117,50,0}}, +/* 46175 */ {(11<<2)|2,{117,50,0}}, +/* 46176 */ {(16<<2)|3,{117,97,48}}, +/* 46177 */ {(16<<2)|3,{117,97,49}}, +/* 46178 */ {(16<<2)|3,{117,97,50}}, +/* 46179 */ {(16<<2)|3,{117,97,97}}, +/* 46180 */ {(16<<2)|3,{117,97,99}}, +/* 46181 */ {(16<<2)|3,{117,97,101}}, +/* 46182 */ {(16<<2)|3,{117,97,105}}, +/* 46183 */ {(16<<2)|3,{117,97,111}}, +/* 46184 */ {(16<<2)|3,{117,97,115}}, +/* 46185 */ {(16<<2)|3,{117,97,116}}, +/* 46186 */ {(11<<2)|2,{117,97,0}}, +/* 46187 */ {(11<<2)|2,{117,97,0}}, +/* 46188 */ {(11<<2)|2,{117,97,0}}, +/* 46189 */ {(11<<2)|2,{117,97,0}}, +/* 46190 */ {(11<<2)|2,{117,97,0}}, +/* 46191 */ {(11<<2)|2,{117,97,0}}, +/* 46192 */ {(11<<2)|2,{117,97,0}}, +/* 46193 */ {(11<<2)|2,{117,97,0}}, +/* 46194 */ {(11<<2)|2,{117,97,0}}, +/* 46195 */ {(11<<2)|2,{117,97,0}}, +/* 46196 */ {(11<<2)|2,{117,97,0}}, +/* 46197 */ {(11<<2)|2,{117,97,0}}, +/* 46198 */ {(11<<2)|2,{117,97,0}}, +/* 46199 */ {(11<<2)|2,{117,97,0}}, +/* 46200 */ {(11<<2)|2,{117,97,0}}, +/* 46201 */ {(11<<2)|2,{117,97,0}}, +/* 46202 */ {(11<<2)|2,{117,97,0}}, +/* 46203 */ {(11<<2)|2,{117,97,0}}, +/* 46204 */ {(11<<2)|2,{117,97,0}}, +/* 46205 */ {(11<<2)|2,{117,97,0}}, +/* 46206 */ {(11<<2)|2,{117,97,0}}, +/* 46207 */ {(11<<2)|2,{117,97,0}}, +/* 46208 */ {(16<<2)|3,{117,99,48}}, +/* 46209 */ {(16<<2)|3,{117,99,49}}, +/* 46210 */ {(16<<2)|3,{117,99,50}}, +/* 46211 */ {(16<<2)|3,{117,99,97}}, +/* 46212 */ {(16<<2)|3,{117,99,99}}, +/* 46213 */ {(16<<2)|3,{117,99,101}}, +/* 46214 */ {(16<<2)|3,{117,99,105}}, +/* 46215 */ {(16<<2)|3,{117,99,111}}, +/* 46216 */ {(16<<2)|3,{117,99,115}}, +/* 46217 */ {(16<<2)|3,{117,99,116}}, +/* 46218 */ {(11<<2)|2,{117,99,0}}, +/* 46219 */ {(11<<2)|2,{117,99,0}}, +/* 46220 */ {(11<<2)|2,{117,99,0}}, +/* 46221 */ {(11<<2)|2,{117,99,0}}, +/* 46222 */ {(11<<2)|2,{117,99,0}}, +/* 46223 */ {(11<<2)|2,{117,99,0}}, +/* 46224 */ {(11<<2)|2,{117,99,0}}, +/* 46225 */ {(11<<2)|2,{117,99,0}}, +/* 46226 */ {(11<<2)|2,{117,99,0}}, +/* 46227 */ {(11<<2)|2,{117,99,0}}, +/* 46228 */ {(11<<2)|2,{117,99,0}}, +/* 46229 */ {(11<<2)|2,{117,99,0}}, +/* 46230 */ {(11<<2)|2,{117,99,0}}, +/* 46231 */ {(11<<2)|2,{117,99,0}}, +/* 46232 */ {(11<<2)|2,{117,99,0}}, +/* 46233 */ {(11<<2)|2,{117,99,0}}, +/* 46234 */ {(11<<2)|2,{117,99,0}}, +/* 46235 */ {(11<<2)|2,{117,99,0}}, +/* 46236 */ {(11<<2)|2,{117,99,0}}, +/* 46237 */ {(11<<2)|2,{117,99,0}}, +/* 46238 */ {(11<<2)|2,{117,99,0}}, +/* 46239 */ {(11<<2)|2,{117,99,0}}, +/* 46240 */ {(16<<2)|3,{117,101,48}}, +/* 46241 */ {(16<<2)|3,{117,101,49}}, +/* 46242 */ {(16<<2)|3,{117,101,50}}, +/* 46243 */ {(16<<2)|3,{117,101,97}}, +/* 46244 */ {(16<<2)|3,{117,101,99}}, +/* 46245 */ {(16<<2)|3,{117,101,101}}, +/* 46246 */ {(16<<2)|3,{117,101,105}}, +/* 46247 */ {(16<<2)|3,{117,101,111}}, +/* 46248 */ {(16<<2)|3,{117,101,115}}, +/* 46249 */ {(16<<2)|3,{117,101,116}}, +/* 46250 */ {(11<<2)|2,{117,101,0}}, +/* 46251 */ {(11<<2)|2,{117,101,0}}, +/* 46252 */ {(11<<2)|2,{117,101,0}}, +/* 46253 */ {(11<<2)|2,{117,101,0}}, +/* 46254 */ {(11<<2)|2,{117,101,0}}, +/* 46255 */ {(11<<2)|2,{117,101,0}}, +/* 46256 */ {(11<<2)|2,{117,101,0}}, +/* 46257 */ {(11<<2)|2,{117,101,0}}, +/* 46258 */ {(11<<2)|2,{117,101,0}}, +/* 46259 */ {(11<<2)|2,{117,101,0}}, +/* 46260 */ {(11<<2)|2,{117,101,0}}, +/* 46261 */ {(11<<2)|2,{117,101,0}}, +/* 46262 */ {(11<<2)|2,{117,101,0}}, +/* 46263 */ {(11<<2)|2,{117,101,0}}, +/* 46264 */ {(11<<2)|2,{117,101,0}}, +/* 46265 */ {(11<<2)|2,{117,101,0}}, +/* 46266 */ {(11<<2)|2,{117,101,0}}, +/* 46267 */ {(11<<2)|2,{117,101,0}}, +/* 46268 */ {(11<<2)|2,{117,101,0}}, +/* 46269 */ {(11<<2)|2,{117,101,0}}, +/* 46270 */ {(11<<2)|2,{117,101,0}}, +/* 46271 */ {(11<<2)|2,{117,101,0}}, +/* 46272 */ {(16<<2)|3,{117,105,48}}, +/* 46273 */ {(16<<2)|3,{117,105,49}}, +/* 46274 */ {(16<<2)|3,{117,105,50}}, +/* 46275 */ {(16<<2)|3,{117,105,97}}, +/* 46276 */ {(16<<2)|3,{117,105,99}}, +/* 46277 */ {(16<<2)|3,{117,105,101}}, +/* 46278 */ {(16<<2)|3,{117,105,105}}, +/* 46279 */ {(16<<2)|3,{117,105,111}}, +/* 46280 */ {(16<<2)|3,{117,105,115}}, +/* 46281 */ {(16<<2)|3,{117,105,116}}, +/* 46282 */ {(11<<2)|2,{117,105,0}}, +/* 46283 */ {(11<<2)|2,{117,105,0}}, +/* 46284 */ {(11<<2)|2,{117,105,0}}, +/* 46285 */ {(11<<2)|2,{117,105,0}}, +/* 46286 */ {(11<<2)|2,{117,105,0}}, +/* 46287 */ {(11<<2)|2,{117,105,0}}, +/* 46288 */ {(11<<2)|2,{117,105,0}}, +/* 46289 */ {(11<<2)|2,{117,105,0}}, +/* 46290 */ {(11<<2)|2,{117,105,0}}, +/* 46291 */ {(11<<2)|2,{117,105,0}}, +/* 46292 */ {(11<<2)|2,{117,105,0}}, +/* 46293 */ {(11<<2)|2,{117,105,0}}, +/* 46294 */ {(11<<2)|2,{117,105,0}}, +/* 46295 */ {(11<<2)|2,{117,105,0}}, +/* 46296 */ {(11<<2)|2,{117,105,0}}, +/* 46297 */ {(11<<2)|2,{117,105,0}}, +/* 46298 */ {(11<<2)|2,{117,105,0}}, +/* 46299 */ {(11<<2)|2,{117,105,0}}, +/* 46300 */ {(11<<2)|2,{117,105,0}}, +/* 46301 */ {(11<<2)|2,{117,105,0}}, +/* 46302 */ {(11<<2)|2,{117,105,0}}, +/* 46303 */ {(11<<2)|2,{117,105,0}}, +/* 46304 */ {(16<<2)|3,{117,111,48}}, +/* 46305 */ {(16<<2)|3,{117,111,49}}, +/* 46306 */ {(16<<2)|3,{117,111,50}}, +/* 46307 */ {(16<<2)|3,{117,111,97}}, +/* 46308 */ {(16<<2)|3,{117,111,99}}, +/* 46309 */ {(16<<2)|3,{117,111,101}}, +/* 46310 */ {(16<<2)|3,{117,111,105}}, +/* 46311 */ {(16<<2)|3,{117,111,111}}, +/* 46312 */ {(16<<2)|3,{117,111,115}}, +/* 46313 */ {(16<<2)|3,{117,111,116}}, +/* 46314 */ {(11<<2)|2,{117,111,0}}, +/* 46315 */ {(11<<2)|2,{117,111,0}}, +/* 46316 */ {(11<<2)|2,{117,111,0}}, +/* 46317 */ {(11<<2)|2,{117,111,0}}, +/* 46318 */ {(11<<2)|2,{117,111,0}}, +/* 46319 */ {(11<<2)|2,{117,111,0}}, +/* 46320 */ {(11<<2)|2,{117,111,0}}, +/* 46321 */ {(11<<2)|2,{117,111,0}}, +/* 46322 */ {(11<<2)|2,{117,111,0}}, +/* 46323 */ {(11<<2)|2,{117,111,0}}, +/* 46324 */ {(11<<2)|2,{117,111,0}}, +/* 46325 */ {(11<<2)|2,{117,111,0}}, +/* 46326 */ {(11<<2)|2,{117,111,0}}, +/* 46327 */ {(11<<2)|2,{117,111,0}}, +/* 46328 */ {(11<<2)|2,{117,111,0}}, +/* 46329 */ {(11<<2)|2,{117,111,0}}, +/* 46330 */ {(11<<2)|2,{117,111,0}}, +/* 46331 */ {(11<<2)|2,{117,111,0}}, +/* 46332 */ {(11<<2)|2,{117,111,0}}, +/* 46333 */ {(11<<2)|2,{117,111,0}}, +/* 46334 */ {(11<<2)|2,{117,111,0}}, +/* 46335 */ {(11<<2)|2,{117,111,0}}, +/* 46336 */ {(16<<2)|3,{117,115,48}}, +/* 46337 */ {(16<<2)|3,{117,115,49}}, +/* 46338 */ {(16<<2)|3,{117,115,50}}, +/* 46339 */ {(16<<2)|3,{117,115,97}}, +/* 46340 */ {(16<<2)|3,{117,115,99}}, +/* 46341 */ {(16<<2)|3,{117,115,101}}, +/* 46342 */ {(16<<2)|3,{117,115,105}}, +/* 46343 */ {(16<<2)|3,{117,115,111}}, +/* 46344 */ {(16<<2)|3,{117,115,115}}, +/* 46345 */ {(16<<2)|3,{117,115,116}}, +/* 46346 */ {(11<<2)|2,{117,115,0}}, +/* 46347 */ {(11<<2)|2,{117,115,0}}, +/* 46348 */ {(11<<2)|2,{117,115,0}}, +/* 46349 */ {(11<<2)|2,{117,115,0}}, +/* 46350 */ {(11<<2)|2,{117,115,0}}, +/* 46351 */ {(11<<2)|2,{117,115,0}}, +/* 46352 */ {(11<<2)|2,{117,115,0}}, +/* 46353 */ {(11<<2)|2,{117,115,0}}, +/* 46354 */ {(11<<2)|2,{117,115,0}}, +/* 46355 */ {(11<<2)|2,{117,115,0}}, +/* 46356 */ {(11<<2)|2,{117,115,0}}, +/* 46357 */ {(11<<2)|2,{117,115,0}}, +/* 46358 */ {(11<<2)|2,{117,115,0}}, +/* 46359 */ {(11<<2)|2,{117,115,0}}, +/* 46360 */ {(11<<2)|2,{117,115,0}}, +/* 46361 */ {(11<<2)|2,{117,115,0}}, +/* 46362 */ {(11<<2)|2,{117,115,0}}, +/* 46363 */ {(11<<2)|2,{117,115,0}}, +/* 46364 */ {(11<<2)|2,{117,115,0}}, +/* 46365 */ {(11<<2)|2,{117,115,0}}, +/* 46366 */ {(11<<2)|2,{117,115,0}}, +/* 46367 */ {(11<<2)|2,{117,115,0}}, +/* 46368 */ {(16<<2)|3,{117,116,48}}, +/* 46369 */ {(16<<2)|3,{117,116,49}}, +/* 46370 */ {(16<<2)|3,{117,116,50}}, +/* 46371 */ {(16<<2)|3,{117,116,97}}, +/* 46372 */ {(16<<2)|3,{117,116,99}}, +/* 46373 */ {(16<<2)|3,{117,116,101}}, +/* 46374 */ {(16<<2)|3,{117,116,105}}, +/* 46375 */ {(16<<2)|3,{117,116,111}}, +/* 46376 */ {(16<<2)|3,{117,116,115}}, +/* 46377 */ {(16<<2)|3,{117,116,116}}, +/* 46378 */ {(11<<2)|2,{117,116,0}}, +/* 46379 */ {(11<<2)|2,{117,116,0}}, +/* 46380 */ {(11<<2)|2,{117,116,0}}, +/* 46381 */ {(11<<2)|2,{117,116,0}}, +/* 46382 */ {(11<<2)|2,{117,116,0}}, +/* 46383 */ {(11<<2)|2,{117,116,0}}, +/* 46384 */ {(11<<2)|2,{117,116,0}}, +/* 46385 */ {(11<<2)|2,{117,116,0}}, +/* 46386 */ {(11<<2)|2,{117,116,0}}, +/* 46387 */ {(11<<2)|2,{117,116,0}}, +/* 46388 */ {(11<<2)|2,{117,116,0}}, +/* 46389 */ {(11<<2)|2,{117,116,0}}, +/* 46390 */ {(11<<2)|2,{117,116,0}}, +/* 46391 */ {(11<<2)|2,{117,116,0}}, +/* 46392 */ {(11<<2)|2,{117,116,0}}, +/* 46393 */ {(11<<2)|2,{117,116,0}}, +/* 46394 */ {(11<<2)|2,{117,116,0}}, +/* 46395 */ {(11<<2)|2,{117,116,0}}, +/* 46396 */ {(11<<2)|2,{117,116,0}}, +/* 46397 */ {(11<<2)|2,{117,116,0}}, +/* 46398 */ {(11<<2)|2,{117,116,0}}, +/* 46399 */ {(11<<2)|2,{117,116,0}}, +/* 46400 */ {(12<<2)|2,{117,32,0}}, +/* 46401 */ {(12<<2)|2,{117,32,0}}, +/* 46402 */ {(12<<2)|2,{117,32,0}}, +/* 46403 */ {(12<<2)|2,{117,32,0}}, +/* 46404 */ {(12<<2)|2,{117,32,0}}, +/* 46405 */ {(12<<2)|2,{117,32,0}}, +/* 46406 */ {(12<<2)|2,{117,32,0}}, +/* 46407 */ {(12<<2)|2,{117,32,0}}, +/* 46408 */ {(12<<2)|2,{117,32,0}}, +/* 46409 */ {(12<<2)|2,{117,32,0}}, +/* 46410 */ {(12<<2)|2,{117,32,0}}, +/* 46411 */ {(12<<2)|2,{117,32,0}}, +/* 46412 */ {(12<<2)|2,{117,32,0}}, +/* 46413 */ {(12<<2)|2,{117,32,0}}, +/* 46414 */ {(12<<2)|2,{117,32,0}}, +/* 46415 */ {(12<<2)|2,{117,32,0}}, +/* 46416 */ {(12<<2)|2,{117,37,0}}, +/* 46417 */ {(12<<2)|2,{117,37,0}}, +/* 46418 */ {(12<<2)|2,{117,37,0}}, +/* 46419 */ {(12<<2)|2,{117,37,0}}, +/* 46420 */ {(12<<2)|2,{117,37,0}}, +/* 46421 */ {(12<<2)|2,{117,37,0}}, +/* 46422 */ {(12<<2)|2,{117,37,0}}, +/* 46423 */ {(12<<2)|2,{117,37,0}}, +/* 46424 */ {(12<<2)|2,{117,37,0}}, +/* 46425 */ {(12<<2)|2,{117,37,0}}, +/* 46426 */ {(12<<2)|2,{117,37,0}}, +/* 46427 */ {(12<<2)|2,{117,37,0}}, +/* 46428 */ {(12<<2)|2,{117,37,0}}, +/* 46429 */ {(12<<2)|2,{117,37,0}}, +/* 46430 */ {(12<<2)|2,{117,37,0}}, +/* 46431 */ {(12<<2)|2,{117,37,0}}, +/* 46432 */ {(12<<2)|2,{117,45,0}}, +/* 46433 */ {(12<<2)|2,{117,45,0}}, +/* 46434 */ {(12<<2)|2,{117,45,0}}, +/* 46435 */ {(12<<2)|2,{117,45,0}}, +/* 46436 */ {(12<<2)|2,{117,45,0}}, +/* 46437 */ {(12<<2)|2,{117,45,0}}, +/* 46438 */ {(12<<2)|2,{117,45,0}}, +/* 46439 */ {(12<<2)|2,{117,45,0}}, +/* 46440 */ {(12<<2)|2,{117,45,0}}, +/* 46441 */ {(12<<2)|2,{117,45,0}}, +/* 46442 */ {(12<<2)|2,{117,45,0}}, +/* 46443 */ {(12<<2)|2,{117,45,0}}, +/* 46444 */ {(12<<2)|2,{117,45,0}}, +/* 46445 */ {(12<<2)|2,{117,45,0}}, +/* 46446 */ {(12<<2)|2,{117,45,0}}, +/* 46447 */ {(12<<2)|2,{117,45,0}}, +/* 46448 */ {(12<<2)|2,{117,46,0}}, +/* 46449 */ {(12<<2)|2,{117,46,0}}, +/* 46450 */ {(12<<2)|2,{117,46,0}}, +/* 46451 */ {(12<<2)|2,{117,46,0}}, +/* 46452 */ {(12<<2)|2,{117,46,0}}, +/* 46453 */ {(12<<2)|2,{117,46,0}}, +/* 46454 */ {(12<<2)|2,{117,46,0}}, +/* 46455 */ {(12<<2)|2,{117,46,0}}, +/* 46456 */ {(12<<2)|2,{117,46,0}}, +/* 46457 */ {(12<<2)|2,{117,46,0}}, +/* 46458 */ {(12<<2)|2,{117,46,0}}, +/* 46459 */ {(12<<2)|2,{117,46,0}}, +/* 46460 */ {(12<<2)|2,{117,46,0}}, +/* 46461 */ {(12<<2)|2,{117,46,0}}, +/* 46462 */ {(12<<2)|2,{117,46,0}}, +/* 46463 */ {(12<<2)|2,{117,46,0}}, +/* 46464 */ {(12<<2)|2,{117,47,0}}, +/* 46465 */ {(12<<2)|2,{117,47,0}}, +/* 46466 */ {(12<<2)|2,{117,47,0}}, +/* 46467 */ {(12<<2)|2,{117,47,0}}, +/* 46468 */ {(12<<2)|2,{117,47,0}}, +/* 46469 */ {(12<<2)|2,{117,47,0}}, +/* 46470 */ {(12<<2)|2,{117,47,0}}, +/* 46471 */ {(12<<2)|2,{117,47,0}}, +/* 46472 */ {(12<<2)|2,{117,47,0}}, +/* 46473 */ {(12<<2)|2,{117,47,0}}, +/* 46474 */ {(12<<2)|2,{117,47,0}}, +/* 46475 */ {(12<<2)|2,{117,47,0}}, +/* 46476 */ {(12<<2)|2,{117,47,0}}, +/* 46477 */ {(12<<2)|2,{117,47,0}}, +/* 46478 */ {(12<<2)|2,{117,47,0}}, +/* 46479 */ {(12<<2)|2,{117,47,0}}, +/* 46480 */ {(12<<2)|2,{117,51,0}}, +/* 46481 */ {(12<<2)|2,{117,51,0}}, +/* 46482 */ {(12<<2)|2,{117,51,0}}, +/* 46483 */ {(12<<2)|2,{117,51,0}}, +/* 46484 */ {(12<<2)|2,{117,51,0}}, +/* 46485 */ {(12<<2)|2,{117,51,0}}, +/* 46486 */ {(12<<2)|2,{117,51,0}}, +/* 46487 */ {(12<<2)|2,{117,51,0}}, +/* 46488 */ {(12<<2)|2,{117,51,0}}, +/* 46489 */ {(12<<2)|2,{117,51,0}}, +/* 46490 */ {(12<<2)|2,{117,51,0}}, +/* 46491 */ {(12<<2)|2,{117,51,0}}, +/* 46492 */ {(12<<2)|2,{117,51,0}}, +/* 46493 */ {(12<<2)|2,{117,51,0}}, +/* 46494 */ {(12<<2)|2,{117,51,0}}, +/* 46495 */ {(12<<2)|2,{117,51,0}}, +/* 46496 */ {(12<<2)|2,{117,52,0}}, +/* 46497 */ {(12<<2)|2,{117,52,0}}, +/* 46498 */ {(12<<2)|2,{117,52,0}}, +/* 46499 */ {(12<<2)|2,{117,52,0}}, +/* 46500 */ {(12<<2)|2,{117,52,0}}, +/* 46501 */ {(12<<2)|2,{117,52,0}}, +/* 46502 */ {(12<<2)|2,{117,52,0}}, +/* 46503 */ {(12<<2)|2,{117,52,0}}, +/* 46504 */ {(12<<2)|2,{117,52,0}}, +/* 46505 */ {(12<<2)|2,{117,52,0}}, +/* 46506 */ {(12<<2)|2,{117,52,0}}, +/* 46507 */ {(12<<2)|2,{117,52,0}}, +/* 46508 */ {(12<<2)|2,{117,52,0}}, +/* 46509 */ {(12<<2)|2,{117,52,0}}, +/* 46510 */ {(12<<2)|2,{117,52,0}}, +/* 46511 */ {(12<<2)|2,{117,52,0}}, +/* 46512 */ {(12<<2)|2,{117,53,0}}, +/* 46513 */ {(12<<2)|2,{117,53,0}}, +/* 46514 */ {(12<<2)|2,{117,53,0}}, +/* 46515 */ {(12<<2)|2,{117,53,0}}, +/* 46516 */ {(12<<2)|2,{117,53,0}}, +/* 46517 */ {(12<<2)|2,{117,53,0}}, +/* 46518 */ {(12<<2)|2,{117,53,0}}, +/* 46519 */ {(12<<2)|2,{117,53,0}}, +/* 46520 */ {(12<<2)|2,{117,53,0}}, +/* 46521 */ {(12<<2)|2,{117,53,0}}, +/* 46522 */ {(12<<2)|2,{117,53,0}}, +/* 46523 */ {(12<<2)|2,{117,53,0}}, +/* 46524 */ {(12<<2)|2,{117,53,0}}, +/* 46525 */ {(12<<2)|2,{117,53,0}}, +/* 46526 */ {(12<<2)|2,{117,53,0}}, +/* 46527 */ {(12<<2)|2,{117,53,0}}, +/* 46528 */ {(12<<2)|2,{117,54,0}}, +/* 46529 */ {(12<<2)|2,{117,54,0}}, +/* 46530 */ {(12<<2)|2,{117,54,0}}, +/* 46531 */ {(12<<2)|2,{117,54,0}}, +/* 46532 */ {(12<<2)|2,{117,54,0}}, +/* 46533 */ {(12<<2)|2,{117,54,0}}, +/* 46534 */ {(12<<2)|2,{117,54,0}}, +/* 46535 */ {(12<<2)|2,{117,54,0}}, +/* 46536 */ {(12<<2)|2,{117,54,0}}, +/* 46537 */ {(12<<2)|2,{117,54,0}}, +/* 46538 */ {(12<<2)|2,{117,54,0}}, +/* 46539 */ {(12<<2)|2,{117,54,0}}, +/* 46540 */ {(12<<2)|2,{117,54,0}}, +/* 46541 */ {(12<<2)|2,{117,54,0}}, +/* 46542 */ {(12<<2)|2,{117,54,0}}, +/* 46543 */ {(12<<2)|2,{117,54,0}}, +/* 46544 */ {(12<<2)|2,{117,55,0}}, +/* 46545 */ {(12<<2)|2,{117,55,0}}, +/* 46546 */ {(12<<2)|2,{117,55,0}}, +/* 46547 */ {(12<<2)|2,{117,55,0}}, +/* 46548 */ {(12<<2)|2,{117,55,0}}, +/* 46549 */ {(12<<2)|2,{117,55,0}}, +/* 46550 */ {(12<<2)|2,{117,55,0}}, +/* 46551 */ {(12<<2)|2,{117,55,0}}, +/* 46552 */ {(12<<2)|2,{117,55,0}}, +/* 46553 */ {(12<<2)|2,{117,55,0}}, +/* 46554 */ {(12<<2)|2,{117,55,0}}, +/* 46555 */ {(12<<2)|2,{117,55,0}}, +/* 46556 */ {(12<<2)|2,{117,55,0}}, +/* 46557 */ {(12<<2)|2,{117,55,0}}, +/* 46558 */ {(12<<2)|2,{117,55,0}}, +/* 46559 */ {(12<<2)|2,{117,55,0}}, +/* 46560 */ {(12<<2)|2,{117,56,0}}, +/* 46561 */ {(12<<2)|2,{117,56,0}}, +/* 46562 */ {(12<<2)|2,{117,56,0}}, +/* 46563 */ {(12<<2)|2,{117,56,0}}, +/* 46564 */ {(12<<2)|2,{117,56,0}}, +/* 46565 */ {(12<<2)|2,{117,56,0}}, +/* 46566 */ {(12<<2)|2,{117,56,0}}, +/* 46567 */ {(12<<2)|2,{117,56,0}}, +/* 46568 */ {(12<<2)|2,{117,56,0}}, +/* 46569 */ {(12<<2)|2,{117,56,0}}, +/* 46570 */ {(12<<2)|2,{117,56,0}}, +/* 46571 */ {(12<<2)|2,{117,56,0}}, +/* 46572 */ {(12<<2)|2,{117,56,0}}, +/* 46573 */ {(12<<2)|2,{117,56,0}}, +/* 46574 */ {(12<<2)|2,{117,56,0}}, +/* 46575 */ {(12<<2)|2,{117,56,0}}, +/* 46576 */ {(12<<2)|2,{117,57,0}}, +/* 46577 */ {(12<<2)|2,{117,57,0}}, +/* 46578 */ {(12<<2)|2,{117,57,0}}, +/* 46579 */ {(12<<2)|2,{117,57,0}}, +/* 46580 */ {(12<<2)|2,{117,57,0}}, +/* 46581 */ {(12<<2)|2,{117,57,0}}, +/* 46582 */ {(12<<2)|2,{117,57,0}}, +/* 46583 */ {(12<<2)|2,{117,57,0}}, +/* 46584 */ {(12<<2)|2,{117,57,0}}, +/* 46585 */ {(12<<2)|2,{117,57,0}}, +/* 46586 */ {(12<<2)|2,{117,57,0}}, +/* 46587 */ {(12<<2)|2,{117,57,0}}, +/* 46588 */ {(12<<2)|2,{117,57,0}}, +/* 46589 */ {(12<<2)|2,{117,57,0}}, +/* 46590 */ {(12<<2)|2,{117,57,0}}, +/* 46591 */ {(12<<2)|2,{117,57,0}}, +/* 46592 */ {(12<<2)|2,{117,61,0}}, +/* 46593 */ {(12<<2)|2,{117,61,0}}, +/* 46594 */ {(12<<2)|2,{117,61,0}}, +/* 46595 */ {(12<<2)|2,{117,61,0}}, +/* 46596 */ {(12<<2)|2,{117,61,0}}, +/* 46597 */ {(12<<2)|2,{117,61,0}}, +/* 46598 */ {(12<<2)|2,{117,61,0}}, +/* 46599 */ {(12<<2)|2,{117,61,0}}, +/* 46600 */ {(12<<2)|2,{117,61,0}}, +/* 46601 */ {(12<<2)|2,{117,61,0}}, +/* 46602 */ {(12<<2)|2,{117,61,0}}, +/* 46603 */ {(12<<2)|2,{117,61,0}}, +/* 46604 */ {(12<<2)|2,{117,61,0}}, +/* 46605 */ {(12<<2)|2,{117,61,0}}, +/* 46606 */ {(12<<2)|2,{117,61,0}}, +/* 46607 */ {(12<<2)|2,{117,61,0}}, +/* 46608 */ {(12<<2)|2,{117,65,0}}, +/* 46609 */ {(12<<2)|2,{117,65,0}}, +/* 46610 */ {(12<<2)|2,{117,65,0}}, +/* 46611 */ {(12<<2)|2,{117,65,0}}, +/* 46612 */ {(12<<2)|2,{117,65,0}}, +/* 46613 */ {(12<<2)|2,{117,65,0}}, +/* 46614 */ {(12<<2)|2,{117,65,0}}, +/* 46615 */ {(12<<2)|2,{117,65,0}}, +/* 46616 */ {(12<<2)|2,{117,65,0}}, +/* 46617 */ {(12<<2)|2,{117,65,0}}, +/* 46618 */ {(12<<2)|2,{117,65,0}}, +/* 46619 */ {(12<<2)|2,{117,65,0}}, +/* 46620 */ {(12<<2)|2,{117,65,0}}, +/* 46621 */ {(12<<2)|2,{117,65,0}}, +/* 46622 */ {(12<<2)|2,{117,65,0}}, +/* 46623 */ {(12<<2)|2,{117,65,0}}, +/* 46624 */ {(12<<2)|2,{117,95,0}}, +/* 46625 */ {(12<<2)|2,{117,95,0}}, +/* 46626 */ {(12<<2)|2,{117,95,0}}, +/* 46627 */ {(12<<2)|2,{117,95,0}}, +/* 46628 */ {(12<<2)|2,{117,95,0}}, +/* 46629 */ {(12<<2)|2,{117,95,0}}, +/* 46630 */ {(12<<2)|2,{117,95,0}}, +/* 46631 */ {(12<<2)|2,{117,95,0}}, +/* 46632 */ {(12<<2)|2,{117,95,0}}, +/* 46633 */ {(12<<2)|2,{117,95,0}}, +/* 46634 */ {(12<<2)|2,{117,95,0}}, +/* 46635 */ {(12<<2)|2,{117,95,0}}, +/* 46636 */ {(12<<2)|2,{117,95,0}}, +/* 46637 */ {(12<<2)|2,{117,95,0}}, +/* 46638 */ {(12<<2)|2,{117,95,0}}, +/* 46639 */ {(12<<2)|2,{117,95,0}}, +/* 46640 */ {(12<<2)|2,{117,98,0}}, +/* 46641 */ {(12<<2)|2,{117,98,0}}, +/* 46642 */ {(12<<2)|2,{117,98,0}}, +/* 46643 */ {(12<<2)|2,{117,98,0}}, +/* 46644 */ {(12<<2)|2,{117,98,0}}, +/* 46645 */ {(12<<2)|2,{117,98,0}}, +/* 46646 */ {(12<<2)|2,{117,98,0}}, +/* 46647 */ {(12<<2)|2,{117,98,0}}, +/* 46648 */ {(12<<2)|2,{117,98,0}}, +/* 46649 */ {(12<<2)|2,{117,98,0}}, +/* 46650 */ {(12<<2)|2,{117,98,0}}, +/* 46651 */ {(12<<2)|2,{117,98,0}}, +/* 46652 */ {(12<<2)|2,{117,98,0}}, +/* 46653 */ {(12<<2)|2,{117,98,0}}, +/* 46654 */ {(12<<2)|2,{117,98,0}}, +/* 46655 */ {(12<<2)|2,{117,98,0}}, +/* 46656 */ {(12<<2)|2,{117,100,0}}, +/* 46657 */ {(12<<2)|2,{117,100,0}}, +/* 46658 */ {(12<<2)|2,{117,100,0}}, +/* 46659 */ {(12<<2)|2,{117,100,0}}, +/* 46660 */ {(12<<2)|2,{117,100,0}}, +/* 46661 */ {(12<<2)|2,{117,100,0}}, +/* 46662 */ {(12<<2)|2,{117,100,0}}, +/* 46663 */ {(12<<2)|2,{117,100,0}}, +/* 46664 */ {(12<<2)|2,{117,100,0}}, +/* 46665 */ {(12<<2)|2,{117,100,0}}, +/* 46666 */ {(12<<2)|2,{117,100,0}}, +/* 46667 */ {(12<<2)|2,{117,100,0}}, +/* 46668 */ {(12<<2)|2,{117,100,0}}, +/* 46669 */ {(12<<2)|2,{117,100,0}}, +/* 46670 */ {(12<<2)|2,{117,100,0}}, +/* 46671 */ {(12<<2)|2,{117,100,0}}, +/* 46672 */ {(12<<2)|2,{117,102,0}}, +/* 46673 */ {(12<<2)|2,{117,102,0}}, +/* 46674 */ {(12<<2)|2,{117,102,0}}, +/* 46675 */ {(12<<2)|2,{117,102,0}}, +/* 46676 */ {(12<<2)|2,{117,102,0}}, +/* 46677 */ {(12<<2)|2,{117,102,0}}, +/* 46678 */ {(12<<2)|2,{117,102,0}}, +/* 46679 */ {(12<<2)|2,{117,102,0}}, +/* 46680 */ {(12<<2)|2,{117,102,0}}, +/* 46681 */ {(12<<2)|2,{117,102,0}}, +/* 46682 */ {(12<<2)|2,{117,102,0}}, +/* 46683 */ {(12<<2)|2,{117,102,0}}, +/* 46684 */ {(12<<2)|2,{117,102,0}}, +/* 46685 */ {(12<<2)|2,{117,102,0}}, +/* 46686 */ {(12<<2)|2,{117,102,0}}, +/* 46687 */ {(12<<2)|2,{117,102,0}}, +/* 46688 */ {(12<<2)|2,{117,103,0}}, +/* 46689 */ {(12<<2)|2,{117,103,0}}, +/* 46690 */ {(12<<2)|2,{117,103,0}}, +/* 46691 */ {(12<<2)|2,{117,103,0}}, +/* 46692 */ {(12<<2)|2,{117,103,0}}, +/* 46693 */ {(12<<2)|2,{117,103,0}}, +/* 46694 */ {(12<<2)|2,{117,103,0}}, +/* 46695 */ {(12<<2)|2,{117,103,0}}, +/* 46696 */ {(12<<2)|2,{117,103,0}}, +/* 46697 */ {(12<<2)|2,{117,103,0}}, +/* 46698 */ {(12<<2)|2,{117,103,0}}, +/* 46699 */ {(12<<2)|2,{117,103,0}}, +/* 46700 */ {(12<<2)|2,{117,103,0}}, +/* 46701 */ {(12<<2)|2,{117,103,0}}, +/* 46702 */ {(12<<2)|2,{117,103,0}}, +/* 46703 */ {(12<<2)|2,{117,103,0}}, +/* 46704 */ {(12<<2)|2,{117,104,0}}, +/* 46705 */ {(12<<2)|2,{117,104,0}}, +/* 46706 */ {(12<<2)|2,{117,104,0}}, +/* 46707 */ {(12<<2)|2,{117,104,0}}, +/* 46708 */ {(12<<2)|2,{117,104,0}}, +/* 46709 */ {(12<<2)|2,{117,104,0}}, +/* 46710 */ {(12<<2)|2,{117,104,0}}, +/* 46711 */ {(12<<2)|2,{117,104,0}}, +/* 46712 */ {(12<<2)|2,{117,104,0}}, +/* 46713 */ {(12<<2)|2,{117,104,0}}, +/* 46714 */ {(12<<2)|2,{117,104,0}}, +/* 46715 */ {(12<<2)|2,{117,104,0}}, +/* 46716 */ {(12<<2)|2,{117,104,0}}, +/* 46717 */ {(12<<2)|2,{117,104,0}}, +/* 46718 */ {(12<<2)|2,{117,104,0}}, +/* 46719 */ {(12<<2)|2,{117,104,0}}, +/* 46720 */ {(12<<2)|2,{117,108,0}}, +/* 46721 */ {(12<<2)|2,{117,108,0}}, +/* 46722 */ {(12<<2)|2,{117,108,0}}, +/* 46723 */ {(12<<2)|2,{117,108,0}}, +/* 46724 */ {(12<<2)|2,{117,108,0}}, +/* 46725 */ {(12<<2)|2,{117,108,0}}, +/* 46726 */ {(12<<2)|2,{117,108,0}}, +/* 46727 */ {(12<<2)|2,{117,108,0}}, +/* 46728 */ {(12<<2)|2,{117,108,0}}, +/* 46729 */ {(12<<2)|2,{117,108,0}}, +/* 46730 */ {(12<<2)|2,{117,108,0}}, +/* 46731 */ {(12<<2)|2,{117,108,0}}, +/* 46732 */ {(12<<2)|2,{117,108,0}}, +/* 46733 */ {(12<<2)|2,{117,108,0}}, +/* 46734 */ {(12<<2)|2,{117,108,0}}, +/* 46735 */ {(12<<2)|2,{117,108,0}}, +/* 46736 */ {(12<<2)|2,{117,109,0}}, +/* 46737 */ {(12<<2)|2,{117,109,0}}, +/* 46738 */ {(12<<2)|2,{117,109,0}}, +/* 46739 */ {(12<<2)|2,{117,109,0}}, +/* 46740 */ {(12<<2)|2,{117,109,0}}, +/* 46741 */ {(12<<2)|2,{117,109,0}}, +/* 46742 */ {(12<<2)|2,{117,109,0}}, +/* 46743 */ {(12<<2)|2,{117,109,0}}, +/* 46744 */ {(12<<2)|2,{117,109,0}}, +/* 46745 */ {(12<<2)|2,{117,109,0}}, +/* 46746 */ {(12<<2)|2,{117,109,0}}, +/* 46747 */ {(12<<2)|2,{117,109,0}}, +/* 46748 */ {(12<<2)|2,{117,109,0}}, +/* 46749 */ {(12<<2)|2,{117,109,0}}, +/* 46750 */ {(12<<2)|2,{117,109,0}}, +/* 46751 */ {(12<<2)|2,{117,109,0}}, +/* 46752 */ {(12<<2)|2,{117,110,0}}, +/* 46753 */ {(12<<2)|2,{117,110,0}}, +/* 46754 */ {(12<<2)|2,{117,110,0}}, +/* 46755 */ {(12<<2)|2,{117,110,0}}, +/* 46756 */ {(12<<2)|2,{117,110,0}}, +/* 46757 */ {(12<<2)|2,{117,110,0}}, +/* 46758 */ {(12<<2)|2,{117,110,0}}, +/* 46759 */ {(12<<2)|2,{117,110,0}}, +/* 46760 */ {(12<<2)|2,{117,110,0}}, +/* 46761 */ {(12<<2)|2,{117,110,0}}, +/* 46762 */ {(12<<2)|2,{117,110,0}}, +/* 46763 */ {(12<<2)|2,{117,110,0}}, +/* 46764 */ {(12<<2)|2,{117,110,0}}, +/* 46765 */ {(12<<2)|2,{117,110,0}}, +/* 46766 */ {(12<<2)|2,{117,110,0}}, +/* 46767 */ {(12<<2)|2,{117,110,0}}, +/* 46768 */ {(12<<2)|2,{117,112,0}}, +/* 46769 */ {(12<<2)|2,{117,112,0}}, +/* 46770 */ {(12<<2)|2,{117,112,0}}, +/* 46771 */ {(12<<2)|2,{117,112,0}}, +/* 46772 */ {(12<<2)|2,{117,112,0}}, +/* 46773 */ {(12<<2)|2,{117,112,0}}, +/* 46774 */ {(12<<2)|2,{117,112,0}}, +/* 46775 */ {(12<<2)|2,{117,112,0}}, +/* 46776 */ {(12<<2)|2,{117,112,0}}, +/* 46777 */ {(12<<2)|2,{117,112,0}}, +/* 46778 */ {(12<<2)|2,{117,112,0}}, +/* 46779 */ {(12<<2)|2,{117,112,0}}, +/* 46780 */ {(12<<2)|2,{117,112,0}}, +/* 46781 */ {(12<<2)|2,{117,112,0}}, +/* 46782 */ {(12<<2)|2,{117,112,0}}, +/* 46783 */ {(12<<2)|2,{117,112,0}}, +/* 46784 */ {(12<<2)|2,{117,114,0}}, +/* 46785 */ {(12<<2)|2,{117,114,0}}, +/* 46786 */ {(12<<2)|2,{117,114,0}}, +/* 46787 */ {(12<<2)|2,{117,114,0}}, +/* 46788 */ {(12<<2)|2,{117,114,0}}, +/* 46789 */ {(12<<2)|2,{117,114,0}}, +/* 46790 */ {(12<<2)|2,{117,114,0}}, +/* 46791 */ {(12<<2)|2,{117,114,0}}, +/* 46792 */ {(12<<2)|2,{117,114,0}}, +/* 46793 */ {(12<<2)|2,{117,114,0}}, +/* 46794 */ {(12<<2)|2,{117,114,0}}, +/* 46795 */ {(12<<2)|2,{117,114,0}}, +/* 46796 */ {(12<<2)|2,{117,114,0}}, +/* 46797 */ {(12<<2)|2,{117,114,0}}, +/* 46798 */ {(12<<2)|2,{117,114,0}}, +/* 46799 */ {(12<<2)|2,{117,114,0}}, +/* 46800 */ {(12<<2)|2,{117,117,0}}, +/* 46801 */ {(12<<2)|2,{117,117,0}}, +/* 46802 */ {(12<<2)|2,{117,117,0}}, +/* 46803 */ {(12<<2)|2,{117,117,0}}, +/* 46804 */ {(12<<2)|2,{117,117,0}}, +/* 46805 */ {(12<<2)|2,{117,117,0}}, +/* 46806 */ {(12<<2)|2,{117,117,0}}, +/* 46807 */ {(12<<2)|2,{117,117,0}}, +/* 46808 */ {(12<<2)|2,{117,117,0}}, +/* 46809 */ {(12<<2)|2,{117,117,0}}, +/* 46810 */ {(12<<2)|2,{117,117,0}}, +/* 46811 */ {(12<<2)|2,{117,117,0}}, +/* 46812 */ {(12<<2)|2,{117,117,0}}, +/* 46813 */ {(12<<2)|2,{117,117,0}}, +/* 46814 */ {(12<<2)|2,{117,117,0}}, +/* 46815 */ {(12<<2)|2,{117,117,0}}, +/* 46816 */ {(13<<2)|2,{117,58,0}}, +/* 46817 */ {(13<<2)|2,{117,58,0}}, +/* 46818 */ {(13<<2)|2,{117,58,0}}, +/* 46819 */ {(13<<2)|2,{117,58,0}}, +/* 46820 */ {(13<<2)|2,{117,58,0}}, +/* 46821 */ {(13<<2)|2,{117,58,0}}, +/* 46822 */ {(13<<2)|2,{117,58,0}}, +/* 46823 */ {(13<<2)|2,{117,58,0}}, +/* 46824 */ {(13<<2)|2,{117,66,0}}, +/* 46825 */ {(13<<2)|2,{117,66,0}}, +/* 46826 */ {(13<<2)|2,{117,66,0}}, +/* 46827 */ {(13<<2)|2,{117,66,0}}, +/* 46828 */ {(13<<2)|2,{117,66,0}}, +/* 46829 */ {(13<<2)|2,{117,66,0}}, +/* 46830 */ {(13<<2)|2,{117,66,0}}, +/* 46831 */ {(13<<2)|2,{117,66,0}}, +/* 46832 */ {(13<<2)|2,{117,67,0}}, +/* 46833 */ {(13<<2)|2,{117,67,0}}, +/* 46834 */ {(13<<2)|2,{117,67,0}}, +/* 46835 */ {(13<<2)|2,{117,67,0}}, +/* 46836 */ {(13<<2)|2,{117,67,0}}, +/* 46837 */ {(13<<2)|2,{117,67,0}}, +/* 46838 */ {(13<<2)|2,{117,67,0}}, +/* 46839 */ {(13<<2)|2,{117,67,0}}, +/* 46840 */ {(13<<2)|2,{117,68,0}}, +/* 46841 */ {(13<<2)|2,{117,68,0}}, +/* 46842 */ {(13<<2)|2,{117,68,0}}, +/* 46843 */ {(13<<2)|2,{117,68,0}}, +/* 46844 */ {(13<<2)|2,{117,68,0}}, +/* 46845 */ {(13<<2)|2,{117,68,0}}, +/* 46846 */ {(13<<2)|2,{117,68,0}}, +/* 46847 */ {(13<<2)|2,{117,68,0}}, +/* 46848 */ {(13<<2)|2,{117,69,0}}, +/* 46849 */ {(13<<2)|2,{117,69,0}}, +/* 46850 */ {(13<<2)|2,{117,69,0}}, +/* 46851 */ {(13<<2)|2,{117,69,0}}, +/* 46852 */ {(13<<2)|2,{117,69,0}}, +/* 46853 */ {(13<<2)|2,{117,69,0}}, +/* 46854 */ {(13<<2)|2,{117,69,0}}, +/* 46855 */ {(13<<2)|2,{117,69,0}}, +/* 46856 */ {(13<<2)|2,{117,70,0}}, +/* 46857 */ {(13<<2)|2,{117,70,0}}, +/* 46858 */ {(13<<2)|2,{117,70,0}}, +/* 46859 */ {(13<<2)|2,{117,70,0}}, +/* 46860 */ {(13<<2)|2,{117,70,0}}, +/* 46861 */ {(13<<2)|2,{117,70,0}}, +/* 46862 */ {(13<<2)|2,{117,70,0}}, +/* 46863 */ {(13<<2)|2,{117,70,0}}, +/* 46864 */ {(13<<2)|2,{117,71,0}}, +/* 46865 */ {(13<<2)|2,{117,71,0}}, +/* 46866 */ {(13<<2)|2,{117,71,0}}, +/* 46867 */ {(13<<2)|2,{117,71,0}}, +/* 46868 */ {(13<<2)|2,{117,71,0}}, +/* 46869 */ {(13<<2)|2,{117,71,0}}, +/* 46870 */ {(13<<2)|2,{117,71,0}}, +/* 46871 */ {(13<<2)|2,{117,71,0}}, +/* 46872 */ {(13<<2)|2,{117,72,0}}, +/* 46873 */ {(13<<2)|2,{117,72,0}}, +/* 46874 */ {(13<<2)|2,{117,72,0}}, +/* 46875 */ {(13<<2)|2,{117,72,0}}, +/* 46876 */ {(13<<2)|2,{117,72,0}}, +/* 46877 */ {(13<<2)|2,{117,72,0}}, +/* 46878 */ {(13<<2)|2,{117,72,0}}, +/* 46879 */ {(13<<2)|2,{117,72,0}}, +/* 46880 */ {(13<<2)|2,{117,73,0}}, +/* 46881 */ {(13<<2)|2,{117,73,0}}, +/* 46882 */ {(13<<2)|2,{117,73,0}}, +/* 46883 */ {(13<<2)|2,{117,73,0}}, +/* 46884 */ {(13<<2)|2,{117,73,0}}, +/* 46885 */ {(13<<2)|2,{117,73,0}}, +/* 46886 */ {(13<<2)|2,{117,73,0}}, +/* 46887 */ {(13<<2)|2,{117,73,0}}, +/* 46888 */ {(13<<2)|2,{117,74,0}}, +/* 46889 */ {(13<<2)|2,{117,74,0}}, +/* 46890 */ {(13<<2)|2,{117,74,0}}, +/* 46891 */ {(13<<2)|2,{117,74,0}}, +/* 46892 */ {(13<<2)|2,{117,74,0}}, +/* 46893 */ {(13<<2)|2,{117,74,0}}, +/* 46894 */ {(13<<2)|2,{117,74,0}}, +/* 46895 */ {(13<<2)|2,{117,74,0}}, +/* 46896 */ {(13<<2)|2,{117,75,0}}, +/* 46897 */ {(13<<2)|2,{117,75,0}}, +/* 46898 */ {(13<<2)|2,{117,75,0}}, +/* 46899 */ {(13<<2)|2,{117,75,0}}, +/* 46900 */ {(13<<2)|2,{117,75,0}}, +/* 46901 */ {(13<<2)|2,{117,75,0}}, +/* 46902 */ {(13<<2)|2,{117,75,0}}, +/* 46903 */ {(13<<2)|2,{117,75,0}}, +/* 46904 */ {(13<<2)|2,{117,76,0}}, +/* 46905 */ {(13<<2)|2,{117,76,0}}, +/* 46906 */ {(13<<2)|2,{117,76,0}}, +/* 46907 */ {(13<<2)|2,{117,76,0}}, +/* 46908 */ {(13<<2)|2,{117,76,0}}, +/* 46909 */ {(13<<2)|2,{117,76,0}}, +/* 46910 */ {(13<<2)|2,{117,76,0}}, +/* 46911 */ {(13<<2)|2,{117,76,0}}, +/* 46912 */ {(13<<2)|2,{117,77,0}}, +/* 46913 */ {(13<<2)|2,{117,77,0}}, +/* 46914 */ {(13<<2)|2,{117,77,0}}, +/* 46915 */ {(13<<2)|2,{117,77,0}}, +/* 46916 */ {(13<<2)|2,{117,77,0}}, +/* 46917 */ {(13<<2)|2,{117,77,0}}, +/* 46918 */ {(13<<2)|2,{117,77,0}}, +/* 46919 */ {(13<<2)|2,{117,77,0}}, +/* 46920 */ {(13<<2)|2,{117,78,0}}, +/* 46921 */ {(13<<2)|2,{117,78,0}}, +/* 46922 */ {(13<<2)|2,{117,78,0}}, +/* 46923 */ {(13<<2)|2,{117,78,0}}, +/* 46924 */ {(13<<2)|2,{117,78,0}}, +/* 46925 */ {(13<<2)|2,{117,78,0}}, +/* 46926 */ {(13<<2)|2,{117,78,0}}, +/* 46927 */ {(13<<2)|2,{117,78,0}}, +/* 46928 */ {(13<<2)|2,{117,79,0}}, +/* 46929 */ {(13<<2)|2,{117,79,0}}, +/* 46930 */ {(13<<2)|2,{117,79,0}}, +/* 46931 */ {(13<<2)|2,{117,79,0}}, +/* 46932 */ {(13<<2)|2,{117,79,0}}, +/* 46933 */ {(13<<2)|2,{117,79,0}}, +/* 46934 */ {(13<<2)|2,{117,79,0}}, +/* 46935 */ {(13<<2)|2,{117,79,0}}, +/* 46936 */ {(13<<2)|2,{117,80,0}}, +/* 46937 */ {(13<<2)|2,{117,80,0}}, +/* 46938 */ {(13<<2)|2,{117,80,0}}, +/* 46939 */ {(13<<2)|2,{117,80,0}}, +/* 46940 */ {(13<<2)|2,{117,80,0}}, +/* 46941 */ {(13<<2)|2,{117,80,0}}, +/* 46942 */ {(13<<2)|2,{117,80,0}}, +/* 46943 */ {(13<<2)|2,{117,80,0}}, +/* 46944 */ {(13<<2)|2,{117,81,0}}, +/* 46945 */ {(13<<2)|2,{117,81,0}}, +/* 46946 */ {(13<<2)|2,{117,81,0}}, +/* 46947 */ {(13<<2)|2,{117,81,0}}, +/* 46948 */ {(13<<2)|2,{117,81,0}}, +/* 46949 */ {(13<<2)|2,{117,81,0}}, +/* 46950 */ {(13<<2)|2,{117,81,0}}, +/* 46951 */ {(13<<2)|2,{117,81,0}}, +/* 46952 */ {(13<<2)|2,{117,82,0}}, +/* 46953 */ {(13<<2)|2,{117,82,0}}, +/* 46954 */ {(13<<2)|2,{117,82,0}}, +/* 46955 */ {(13<<2)|2,{117,82,0}}, +/* 46956 */ {(13<<2)|2,{117,82,0}}, +/* 46957 */ {(13<<2)|2,{117,82,0}}, +/* 46958 */ {(13<<2)|2,{117,82,0}}, +/* 46959 */ {(13<<2)|2,{117,82,0}}, +/* 46960 */ {(13<<2)|2,{117,83,0}}, +/* 46961 */ {(13<<2)|2,{117,83,0}}, +/* 46962 */ {(13<<2)|2,{117,83,0}}, +/* 46963 */ {(13<<2)|2,{117,83,0}}, +/* 46964 */ {(13<<2)|2,{117,83,0}}, +/* 46965 */ {(13<<2)|2,{117,83,0}}, +/* 46966 */ {(13<<2)|2,{117,83,0}}, +/* 46967 */ {(13<<2)|2,{117,83,0}}, +/* 46968 */ {(13<<2)|2,{117,84,0}}, +/* 46969 */ {(13<<2)|2,{117,84,0}}, +/* 46970 */ {(13<<2)|2,{117,84,0}}, +/* 46971 */ {(13<<2)|2,{117,84,0}}, +/* 46972 */ {(13<<2)|2,{117,84,0}}, +/* 46973 */ {(13<<2)|2,{117,84,0}}, +/* 46974 */ {(13<<2)|2,{117,84,0}}, +/* 46975 */ {(13<<2)|2,{117,84,0}}, +/* 46976 */ {(13<<2)|2,{117,85,0}}, +/* 46977 */ {(13<<2)|2,{117,85,0}}, +/* 46978 */ {(13<<2)|2,{117,85,0}}, +/* 46979 */ {(13<<2)|2,{117,85,0}}, +/* 46980 */ {(13<<2)|2,{117,85,0}}, +/* 46981 */ {(13<<2)|2,{117,85,0}}, +/* 46982 */ {(13<<2)|2,{117,85,0}}, +/* 46983 */ {(13<<2)|2,{117,85,0}}, +/* 46984 */ {(13<<2)|2,{117,86,0}}, +/* 46985 */ {(13<<2)|2,{117,86,0}}, +/* 46986 */ {(13<<2)|2,{117,86,0}}, +/* 46987 */ {(13<<2)|2,{117,86,0}}, +/* 46988 */ {(13<<2)|2,{117,86,0}}, +/* 46989 */ {(13<<2)|2,{117,86,0}}, +/* 46990 */ {(13<<2)|2,{117,86,0}}, +/* 46991 */ {(13<<2)|2,{117,86,0}}, +/* 46992 */ {(13<<2)|2,{117,87,0}}, +/* 46993 */ {(13<<2)|2,{117,87,0}}, +/* 46994 */ {(13<<2)|2,{117,87,0}}, +/* 46995 */ {(13<<2)|2,{117,87,0}}, +/* 46996 */ {(13<<2)|2,{117,87,0}}, +/* 46997 */ {(13<<2)|2,{117,87,0}}, +/* 46998 */ {(13<<2)|2,{117,87,0}}, +/* 46999 */ {(13<<2)|2,{117,87,0}}, +/* 47000 */ {(13<<2)|2,{117,89,0}}, +/* 47001 */ {(13<<2)|2,{117,89,0}}, +/* 47002 */ {(13<<2)|2,{117,89,0}}, +/* 47003 */ {(13<<2)|2,{117,89,0}}, +/* 47004 */ {(13<<2)|2,{117,89,0}}, +/* 47005 */ {(13<<2)|2,{117,89,0}}, +/* 47006 */ {(13<<2)|2,{117,89,0}}, +/* 47007 */ {(13<<2)|2,{117,89,0}}, +/* 47008 */ {(13<<2)|2,{117,106,0}}, +/* 47009 */ {(13<<2)|2,{117,106,0}}, +/* 47010 */ {(13<<2)|2,{117,106,0}}, +/* 47011 */ {(13<<2)|2,{117,106,0}}, +/* 47012 */ {(13<<2)|2,{117,106,0}}, +/* 47013 */ {(13<<2)|2,{117,106,0}}, +/* 47014 */ {(13<<2)|2,{117,106,0}}, +/* 47015 */ {(13<<2)|2,{117,106,0}}, +/* 47016 */ {(13<<2)|2,{117,107,0}}, +/* 47017 */ {(13<<2)|2,{117,107,0}}, +/* 47018 */ {(13<<2)|2,{117,107,0}}, +/* 47019 */ {(13<<2)|2,{117,107,0}}, +/* 47020 */ {(13<<2)|2,{117,107,0}}, +/* 47021 */ {(13<<2)|2,{117,107,0}}, +/* 47022 */ {(13<<2)|2,{117,107,0}}, +/* 47023 */ {(13<<2)|2,{117,107,0}}, +/* 47024 */ {(13<<2)|2,{117,113,0}}, +/* 47025 */ {(13<<2)|2,{117,113,0}}, +/* 47026 */ {(13<<2)|2,{117,113,0}}, +/* 47027 */ {(13<<2)|2,{117,113,0}}, +/* 47028 */ {(13<<2)|2,{117,113,0}}, +/* 47029 */ {(13<<2)|2,{117,113,0}}, +/* 47030 */ {(13<<2)|2,{117,113,0}}, +/* 47031 */ {(13<<2)|2,{117,113,0}}, +/* 47032 */ {(13<<2)|2,{117,118,0}}, +/* 47033 */ {(13<<2)|2,{117,118,0}}, +/* 47034 */ {(13<<2)|2,{117,118,0}}, +/* 47035 */ {(13<<2)|2,{117,118,0}}, +/* 47036 */ {(13<<2)|2,{117,118,0}}, +/* 47037 */ {(13<<2)|2,{117,118,0}}, +/* 47038 */ {(13<<2)|2,{117,118,0}}, +/* 47039 */ {(13<<2)|2,{117,118,0}}, +/* 47040 */ {(13<<2)|2,{117,119,0}}, +/* 47041 */ {(13<<2)|2,{117,119,0}}, +/* 47042 */ {(13<<2)|2,{117,119,0}}, +/* 47043 */ {(13<<2)|2,{117,119,0}}, +/* 47044 */ {(13<<2)|2,{117,119,0}}, +/* 47045 */ {(13<<2)|2,{117,119,0}}, +/* 47046 */ {(13<<2)|2,{117,119,0}}, +/* 47047 */ {(13<<2)|2,{117,119,0}}, +/* 47048 */ {(13<<2)|2,{117,120,0}}, +/* 47049 */ {(13<<2)|2,{117,120,0}}, +/* 47050 */ {(13<<2)|2,{117,120,0}}, +/* 47051 */ {(13<<2)|2,{117,120,0}}, +/* 47052 */ {(13<<2)|2,{117,120,0}}, +/* 47053 */ {(13<<2)|2,{117,120,0}}, +/* 47054 */ {(13<<2)|2,{117,120,0}}, +/* 47055 */ {(13<<2)|2,{117,120,0}}, +/* 47056 */ {(13<<2)|2,{117,121,0}}, +/* 47057 */ {(13<<2)|2,{117,121,0}}, +/* 47058 */ {(13<<2)|2,{117,121,0}}, +/* 47059 */ {(13<<2)|2,{117,121,0}}, +/* 47060 */ {(13<<2)|2,{117,121,0}}, +/* 47061 */ {(13<<2)|2,{117,121,0}}, +/* 47062 */ {(13<<2)|2,{117,121,0}}, +/* 47063 */ {(13<<2)|2,{117,121,0}}, +/* 47064 */ {(13<<2)|2,{117,122,0}}, +/* 47065 */ {(13<<2)|2,{117,122,0}}, +/* 47066 */ {(13<<2)|2,{117,122,0}}, +/* 47067 */ {(13<<2)|2,{117,122,0}}, +/* 47068 */ {(13<<2)|2,{117,122,0}}, +/* 47069 */ {(13<<2)|2,{117,122,0}}, +/* 47070 */ {(13<<2)|2,{117,122,0}}, +/* 47071 */ {(13<<2)|2,{117,122,0}}, +/* 47072 */ {(14<<2)|2,{117,38,0}}, +/* 47073 */ {(14<<2)|2,{117,38,0}}, +/* 47074 */ {(14<<2)|2,{117,38,0}}, +/* 47075 */ {(14<<2)|2,{117,38,0}}, +/* 47076 */ {(14<<2)|2,{117,42,0}}, +/* 47077 */ {(14<<2)|2,{117,42,0}}, +/* 47078 */ {(14<<2)|2,{117,42,0}}, +/* 47079 */ {(14<<2)|2,{117,42,0}}, +/* 47080 */ {(14<<2)|2,{117,44,0}}, +/* 47081 */ {(14<<2)|2,{117,44,0}}, +/* 47082 */ {(14<<2)|2,{117,44,0}}, +/* 47083 */ {(14<<2)|2,{117,44,0}}, +/* 47084 */ {(14<<2)|2,{117,59,0}}, +/* 47085 */ {(14<<2)|2,{117,59,0}}, +/* 47086 */ {(14<<2)|2,{117,59,0}}, +/* 47087 */ {(14<<2)|2,{117,59,0}}, +/* 47088 */ {(14<<2)|2,{117,88,0}}, +/* 47089 */ {(14<<2)|2,{117,88,0}}, +/* 47090 */ {(14<<2)|2,{117,88,0}}, +/* 47091 */ {(14<<2)|2,{117,88,0}}, +/* 47092 */ {(14<<2)|2,{117,90,0}}, +/* 47093 */ {(14<<2)|2,{117,90,0}}, +/* 47094 */ {(14<<2)|2,{117,90,0}}, +/* 47095 */ {(14<<2)|2,{117,90,0}}, +/* 47096 */ {(16<<2)|2,{117,33,0}}, +/* 47097 */ {(16<<2)|2,{117,34,0}}, +/* 47098 */ {(16<<2)|2,{117,40,0}}, +/* 47099 */ {(16<<2)|2,{117,41,0}}, +/* 47100 */ {(16<<2)|2,{117,63,0}}, +/* 47101 */ {(6<<2)|1,{117,0,0}}, +/* 47102 */ {(6<<2)|1,{117,0,0}}, +/* 47103 */ {(6<<2)|1,{117,0,0}}, +/* 47104 */ {(12<<2)|2,{58,48,0}}, +/* 47105 */ {(12<<2)|2,{58,48,0}}, +/* 47106 */ {(12<<2)|2,{58,48,0}}, +/* 47107 */ {(12<<2)|2,{58,48,0}}, +/* 47108 */ {(12<<2)|2,{58,48,0}}, +/* 47109 */ {(12<<2)|2,{58,48,0}}, +/* 47110 */ {(12<<2)|2,{58,48,0}}, +/* 47111 */ {(12<<2)|2,{58,48,0}}, +/* 47112 */ {(12<<2)|2,{58,48,0}}, +/* 47113 */ {(12<<2)|2,{58,48,0}}, +/* 47114 */ {(12<<2)|2,{58,48,0}}, +/* 47115 */ {(12<<2)|2,{58,48,0}}, +/* 47116 */ {(12<<2)|2,{58,48,0}}, +/* 47117 */ {(12<<2)|2,{58,48,0}}, +/* 47118 */ {(12<<2)|2,{58,48,0}}, +/* 47119 */ {(12<<2)|2,{58,48,0}}, +/* 47120 */ {(12<<2)|2,{58,49,0}}, +/* 47121 */ {(12<<2)|2,{58,49,0}}, +/* 47122 */ {(12<<2)|2,{58,49,0}}, +/* 47123 */ {(12<<2)|2,{58,49,0}}, +/* 47124 */ {(12<<2)|2,{58,49,0}}, +/* 47125 */ {(12<<2)|2,{58,49,0}}, +/* 47126 */ {(12<<2)|2,{58,49,0}}, +/* 47127 */ {(12<<2)|2,{58,49,0}}, +/* 47128 */ {(12<<2)|2,{58,49,0}}, +/* 47129 */ {(12<<2)|2,{58,49,0}}, +/* 47130 */ {(12<<2)|2,{58,49,0}}, +/* 47131 */ {(12<<2)|2,{58,49,0}}, +/* 47132 */ {(12<<2)|2,{58,49,0}}, +/* 47133 */ {(12<<2)|2,{58,49,0}}, +/* 47134 */ {(12<<2)|2,{58,49,0}}, +/* 47135 */ {(12<<2)|2,{58,49,0}}, +/* 47136 */ {(12<<2)|2,{58,50,0}}, +/* 47137 */ {(12<<2)|2,{58,50,0}}, +/* 47138 */ {(12<<2)|2,{58,50,0}}, +/* 47139 */ {(12<<2)|2,{58,50,0}}, +/* 47140 */ {(12<<2)|2,{58,50,0}}, +/* 47141 */ {(12<<2)|2,{58,50,0}}, +/* 47142 */ {(12<<2)|2,{58,50,0}}, +/* 47143 */ {(12<<2)|2,{58,50,0}}, +/* 47144 */ {(12<<2)|2,{58,50,0}}, +/* 47145 */ {(12<<2)|2,{58,50,0}}, +/* 47146 */ {(12<<2)|2,{58,50,0}}, +/* 47147 */ {(12<<2)|2,{58,50,0}}, +/* 47148 */ {(12<<2)|2,{58,50,0}}, +/* 47149 */ {(12<<2)|2,{58,50,0}}, +/* 47150 */ {(12<<2)|2,{58,50,0}}, +/* 47151 */ {(12<<2)|2,{58,50,0}}, +/* 47152 */ {(12<<2)|2,{58,97,0}}, +/* 47153 */ {(12<<2)|2,{58,97,0}}, +/* 47154 */ {(12<<2)|2,{58,97,0}}, +/* 47155 */ {(12<<2)|2,{58,97,0}}, +/* 47156 */ {(12<<2)|2,{58,97,0}}, +/* 47157 */ {(12<<2)|2,{58,97,0}}, +/* 47158 */ {(12<<2)|2,{58,97,0}}, +/* 47159 */ {(12<<2)|2,{58,97,0}}, +/* 47160 */ {(12<<2)|2,{58,97,0}}, +/* 47161 */ {(12<<2)|2,{58,97,0}}, +/* 47162 */ {(12<<2)|2,{58,97,0}}, +/* 47163 */ {(12<<2)|2,{58,97,0}}, +/* 47164 */ {(12<<2)|2,{58,97,0}}, +/* 47165 */ {(12<<2)|2,{58,97,0}}, +/* 47166 */ {(12<<2)|2,{58,97,0}}, +/* 47167 */ {(12<<2)|2,{58,97,0}}, +/* 47168 */ {(12<<2)|2,{58,99,0}}, +/* 47169 */ {(12<<2)|2,{58,99,0}}, +/* 47170 */ {(12<<2)|2,{58,99,0}}, +/* 47171 */ {(12<<2)|2,{58,99,0}}, +/* 47172 */ {(12<<2)|2,{58,99,0}}, +/* 47173 */ {(12<<2)|2,{58,99,0}}, +/* 47174 */ {(12<<2)|2,{58,99,0}}, +/* 47175 */ {(12<<2)|2,{58,99,0}}, +/* 47176 */ {(12<<2)|2,{58,99,0}}, +/* 47177 */ {(12<<2)|2,{58,99,0}}, +/* 47178 */ {(12<<2)|2,{58,99,0}}, +/* 47179 */ {(12<<2)|2,{58,99,0}}, +/* 47180 */ {(12<<2)|2,{58,99,0}}, +/* 47181 */ {(12<<2)|2,{58,99,0}}, +/* 47182 */ {(12<<2)|2,{58,99,0}}, +/* 47183 */ {(12<<2)|2,{58,99,0}}, +/* 47184 */ {(12<<2)|2,{58,101,0}}, +/* 47185 */ {(12<<2)|2,{58,101,0}}, +/* 47186 */ {(12<<2)|2,{58,101,0}}, +/* 47187 */ {(12<<2)|2,{58,101,0}}, +/* 47188 */ {(12<<2)|2,{58,101,0}}, +/* 47189 */ {(12<<2)|2,{58,101,0}}, +/* 47190 */ {(12<<2)|2,{58,101,0}}, +/* 47191 */ {(12<<2)|2,{58,101,0}}, +/* 47192 */ {(12<<2)|2,{58,101,0}}, +/* 47193 */ {(12<<2)|2,{58,101,0}}, +/* 47194 */ {(12<<2)|2,{58,101,0}}, +/* 47195 */ {(12<<2)|2,{58,101,0}}, +/* 47196 */ {(12<<2)|2,{58,101,0}}, +/* 47197 */ {(12<<2)|2,{58,101,0}}, +/* 47198 */ {(12<<2)|2,{58,101,0}}, +/* 47199 */ {(12<<2)|2,{58,101,0}}, +/* 47200 */ {(12<<2)|2,{58,105,0}}, +/* 47201 */ {(12<<2)|2,{58,105,0}}, +/* 47202 */ {(12<<2)|2,{58,105,0}}, +/* 47203 */ {(12<<2)|2,{58,105,0}}, +/* 47204 */ {(12<<2)|2,{58,105,0}}, +/* 47205 */ {(12<<2)|2,{58,105,0}}, +/* 47206 */ {(12<<2)|2,{58,105,0}}, +/* 47207 */ {(12<<2)|2,{58,105,0}}, +/* 47208 */ {(12<<2)|2,{58,105,0}}, +/* 47209 */ {(12<<2)|2,{58,105,0}}, +/* 47210 */ {(12<<2)|2,{58,105,0}}, +/* 47211 */ {(12<<2)|2,{58,105,0}}, +/* 47212 */ {(12<<2)|2,{58,105,0}}, +/* 47213 */ {(12<<2)|2,{58,105,0}}, +/* 47214 */ {(12<<2)|2,{58,105,0}}, +/* 47215 */ {(12<<2)|2,{58,105,0}}, +/* 47216 */ {(12<<2)|2,{58,111,0}}, +/* 47217 */ {(12<<2)|2,{58,111,0}}, +/* 47218 */ {(12<<2)|2,{58,111,0}}, +/* 47219 */ {(12<<2)|2,{58,111,0}}, +/* 47220 */ {(12<<2)|2,{58,111,0}}, +/* 47221 */ {(12<<2)|2,{58,111,0}}, +/* 47222 */ {(12<<2)|2,{58,111,0}}, +/* 47223 */ {(12<<2)|2,{58,111,0}}, +/* 47224 */ {(12<<2)|2,{58,111,0}}, +/* 47225 */ {(12<<2)|2,{58,111,0}}, +/* 47226 */ {(12<<2)|2,{58,111,0}}, +/* 47227 */ {(12<<2)|2,{58,111,0}}, +/* 47228 */ {(12<<2)|2,{58,111,0}}, +/* 47229 */ {(12<<2)|2,{58,111,0}}, +/* 47230 */ {(12<<2)|2,{58,111,0}}, +/* 47231 */ {(12<<2)|2,{58,111,0}}, +/* 47232 */ {(12<<2)|2,{58,115,0}}, +/* 47233 */ {(12<<2)|2,{58,115,0}}, +/* 47234 */ {(12<<2)|2,{58,115,0}}, +/* 47235 */ {(12<<2)|2,{58,115,0}}, +/* 47236 */ {(12<<2)|2,{58,115,0}}, +/* 47237 */ {(12<<2)|2,{58,115,0}}, +/* 47238 */ {(12<<2)|2,{58,115,0}}, +/* 47239 */ {(12<<2)|2,{58,115,0}}, +/* 47240 */ {(12<<2)|2,{58,115,0}}, +/* 47241 */ {(12<<2)|2,{58,115,0}}, +/* 47242 */ {(12<<2)|2,{58,115,0}}, +/* 47243 */ {(12<<2)|2,{58,115,0}}, +/* 47244 */ {(12<<2)|2,{58,115,0}}, +/* 47245 */ {(12<<2)|2,{58,115,0}}, +/* 47246 */ {(12<<2)|2,{58,115,0}}, +/* 47247 */ {(12<<2)|2,{58,115,0}}, +/* 47248 */ {(12<<2)|2,{58,116,0}}, +/* 47249 */ {(12<<2)|2,{58,116,0}}, +/* 47250 */ {(12<<2)|2,{58,116,0}}, +/* 47251 */ {(12<<2)|2,{58,116,0}}, +/* 47252 */ {(12<<2)|2,{58,116,0}}, +/* 47253 */ {(12<<2)|2,{58,116,0}}, +/* 47254 */ {(12<<2)|2,{58,116,0}}, +/* 47255 */ {(12<<2)|2,{58,116,0}}, +/* 47256 */ {(12<<2)|2,{58,116,0}}, +/* 47257 */ {(12<<2)|2,{58,116,0}}, +/* 47258 */ {(12<<2)|2,{58,116,0}}, +/* 47259 */ {(12<<2)|2,{58,116,0}}, +/* 47260 */ {(12<<2)|2,{58,116,0}}, +/* 47261 */ {(12<<2)|2,{58,116,0}}, +/* 47262 */ {(12<<2)|2,{58,116,0}}, +/* 47263 */ {(12<<2)|2,{58,116,0}}, +/* 47264 */ {(13<<2)|2,{58,32,0}}, +/* 47265 */ {(13<<2)|2,{58,32,0}}, +/* 47266 */ {(13<<2)|2,{58,32,0}}, +/* 47267 */ {(13<<2)|2,{58,32,0}}, +/* 47268 */ {(13<<2)|2,{58,32,0}}, +/* 47269 */ {(13<<2)|2,{58,32,0}}, +/* 47270 */ {(13<<2)|2,{58,32,0}}, +/* 47271 */ {(13<<2)|2,{58,32,0}}, +/* 47272 */ {(13<<2)|2,{58,37,0}}, +/* 47273 */ {(13<<2)|2,{58,37,0}}, +/* 47274 */ {(13<<2)|2,{58,37,0}}, +/* 47275 */ {(13<<2)|2,{58,37,0}}, +/* 47276 */ {(13<<2)|2,{58,37,0}}, +/* 47277 */ {(13<<2)|2,{58,37,0}}, +/* 47278 */ {(13<<2)|2,{58,37,0}}, +/* 47279 */ {(13<<2)|2,{58,37,0}}, +/* 47280 */ {(13<<2)|2,{58,45,0}}, +/* 47281 */ {(13<<2)|2,{58,45,0}}, +/* 47282 */ {(13<<2)|2,{58,45,0}}, +/* 47283 */ {(13<<2)|2,{58,45,0}}, +/* 47284 */ {(13<<2)|2,{58,45,0}}, +/* 47285 */ {(13<<2)|2,{58,45,0}}, +/* 47286 */ {(13<<2)|2,{58,45,0}}, +/* 47287 */ {(13<<2)|2,{58,45,0}}, +/* 47288 */ {(13<<2)|2,{58,46,0}}, +/* 47289 */ {(13<<2)|2,{58,46,0}}, +/* 47290 */ {(13<<2)|2,{58,46,0}}, +/* 47291 */ {(13<<2)|2,{58,46,0}}, +/* 47292 */ {(13<<2)|2,{58,46,0}}, +/* 47293 */ {(13<<2)|2,{58,46,0}}, +/* 47294 */ {(13<<2)|2,{58,46,0}}, +/* 47295 */ {(13<<2)|2,{58,46,0}}, +/* 47296 */ {(13<<2)|2,{58,47,0}}, +/* 47297 */ {(13<<2)|2,{58,47,0}}, +/* 47298 */ {(13<<2)|2,{58,47,0}}, +/* 47299 */ {(13<<2)|2,{58,47,0}}, +/* 47300 */ {(13<<2)|2,{58,47,0}}, +/* 47301 */ {(13<<2)|2,{58,47,0}}, +/* 47302 */ {(13<<2)|2,{58,47,0}}, +/* 47303 */ {(13<<2)|2,{58,47,0}}, +/* 47304 */ {(13<<2)|2,{58,51,0}}, +/* 47305 */ {(13<<2)|2,{58,51,0}}, +/* 47306 */ {(13<<2)|2,{58,51,0}}, +/* 47307 */ {(13<<2)|2,{58,51,0}}, +/* 47308 */ {(13<<2)|2,{58,51,0}}, +/* 47309 */ {(13<<2)|2,{58,51,0}}, +/* 47310 */ {(13<<2)|2,{58,51,0}}, +/* 47311 */ {(13<<2)|2,{58,51,0}}, +/* 47312 */ {(13<<2)|2,{58,52,0}}, +/* 47313 */ {(13<<2)|2,{58,52,0}}, +/* 47314 */ {(13<<2)|2,{58,52,0}}, +/* 47315 */ {(13<<2)|2,{58,52,0}}, +/* 47316 */ {(13<<2)|2,{58,52,0}}, +/* 47317 */ {(13<<2)|2,{58,52,0}}, +/* 47318 */ {(13<<2)|2,{58,52,0}}, +/* 47319 */ {(13<<2)|2,{58,52,0}}, +/* 47320 */ {(13<<2)|2,{58,53,0}}, +/* 47321 */ {(13<<2)|2,{58,53,0}}, +/* 47322 */ {(13<<2)|2,{58,53,0}}, +/* 47323 */ {(13<<2)|2,{58,53,0}}, +/* 47324 */ {(13<<2)|2,{58,53,0}}, +/* 47325 */ {(13<<2)|2,{58,53,0}}, +/* 47326 */ {(13<<2)|2,{58,53,0}}, +/* 47327 */ {(13<<2)|2,{58,53,0}}, +/* 47328 */ {(13<<2)|2,{58,54,0}}, +/* 47329 */ {(13<<2)|2,{58,54,0}}, +/* 47330 */ {(13<<2)|2,{58,54,0}}, +/* 47331 */ {(13<<2)|2,{58,54,0}}, +/* 47332 */ {(13<<2)|2,{58,54,0}}, +/* 47333 */ {(13<<2)|2,{58,54,0}}, +/* 47334 */ {(13<<2)|2,{58,54,0}}, +/* 47335 */ {(13<<2)|2,{58,54,0}}, +/* 47336 */ {(13<<2)|2,{58,55,0}}, +/* 47337 */ {(13<<2)|2,{58,55,0}}, +/* 47338 */ {(13<<2)|2,{58,55,0}}, +/* 47339 */ {(13<<2)|2,{58,55,0}}, +/* 47340 */ {(13<<2)|2,{58,55,0}}, +/* 47341 */ {(13<<2)|2,{58,55,0}}, +/* 47342 */ {(13<<2)|2,{58,55,0}}, +/* 47343 */ {(13<<2)|2,{58,55,0}}, +/* 47344 */ {(13<<2)|2,{58,56,0}}, +/* 47345 */ {(13<<2)|2,{58,56,0}}, +/* 47346 */ {(13<<2)|2,{58,56,0}}, +/* 47347 */ {(13<<2)|2,{58,56,0}}, +/* 47348 */ {(13<<2)|2,{58,56,0}}, +/* 47349 */ {(13<<2)|2,{58,56,0}}, +/* 47350 */ {(13<<2)|2,{58,56,0}}, +/* 47351 */ {(13<<2)|2,{58,56,0}}, +/* 47352 */ {(13<<2)|2,{58,57,0}}, +/* 47353 */ {(13<<2)|2,{58,57,0}}, +/* 47354 */ {(13<<2)|2,{58,57,0}}, +/* 47355 */ {(13<<2)|2,{58,57,0}}, +/* 47356 */ {(13<<2)|2,{58,57,0}}, +/* 47357 */ {(13<<2)|2,{58,57,0}}, +/* 47358 */ {(13<<2)|2,{58,57,0}}, +/* 47359 */ {(13<<2)|2,{58,57,0}}, +/* 47360 */ {(13<<2)|2,{58,61,0}}, +/* 47361 */ {(13<<2)|2,{58,61,0}}, +/* 47362 */ {(13<<2)|2,{58,61,0}}, +/* 47363 */ {(13<<2)|2,{58,61,0}}, +/* 47364 */ {(13<<2)|2,{58,61,0}}, +/* 47365 */ {(13<<2)|2,{58,61,0}}, +/* 47366 */ {(13<<2)|2,{58,61,0}}, +/* 47367 */ {(13<<2)|2,{58,61,0}}, +/* 47368 */ {(13<<2)|2,{58,65,0}}, +/* 47369 */ {(13<<2)|2,{58,65,0}}, +/* 47370 */ {(13<<2)|2,{58,65,0}}, +/* 47371 */ {(13<<2)|2,{58,65,0}}, +/* 47372 */ {(13<<2)|2,{58,65,0}}, +/* 47373 */ {(13<<2)|2,{58,65,0}}, +/* 47374 */ {(13<<2)|2,{58,65,0}}, +/* 47375 */ {(13<<2)|2,{58,65,0}}, +/* 47376 */ {(13<<2)|2,{58,95,0}}, +/* 47377 */ {(13<<2)|2,{58,95,0}}, +/* 47378 */ {(13<<2)|2,{58,95,0}}, +/* 47379 */ {(13<<2)|2,{58,95,0}}, +/* 47380 */ {(13<<2)|2,{58,95,0}}, +/* 47381 */ {(13<<2)|2,{58,95,0}}, +/* 47382 */ {(13<<2)|2,{58,95,0}}, +/* 47383 */ {(13<<2)|2,{58,95,0}}, +/* 47384 */ {(13<<2)|2,{58,98,0}}, +/* 47385 */ {(13<<2)|2,{58,98,0}}, +/* 47386 */ {(13<<2)|2,{58,98,0}}, +/* 47387 */ {(13<<2)|2,{58,98,0}}, +/* 47388 */ {(13<<2)|2,{58,98,0}}, +/* 47389 */ {(13<<2)|2,{58,98,0}}, +/* 47390 */ {(13<<2)|2,{58,98,0}}, +/* 47391 */ {(13<<2)|2,{58,98,0}}, +/* 47392 */ {(13<<2)|2,{58,100,0}}, +/* 47393 */ {(13<<2)|2,{58,100,0}}, +/* 47394 */ {(13<<2)|2,{58,100,0}}, +/* 47395 */ {(13<<2)|2,{58,100,0}}, +/* 47396 */ {(13<<2)|2,{58,100,0}}, +/* 47397 */ {(13<<2)|2,{58,100,0}}, +/* 47398 */ {(13<<2)|2,{58,100,0}}, +/* 47399 */ {(13<<2)|2,{58,100,0}}, +/* 47400 */ {(13<<2)|2,{58,102,0}}, +/* 47401 */ {(13<<2)|2,{58,102,0}}, +/* 47402 */ {(13<<2)|2,{58,102,0}}, +/* 47403 */ {(13<<2)|2,{58,102,0}}, +/* 47404 */ {(13<<2)|2,{58,102,0}}, +/* 47405 */ {(13<<2)|2,{58,102,0}}, +/* 47406 */ {(13<<2)|2,{58,102,0}}, +/* 47407 */ {(13<<2)|2,{58,102,0}}, +/* 47408 */ {(13<<2)|2,{58,103,0}}, +/* 47409 */ {(13<<2)|2,{58,103,0}}, +/* 47410 */ {(13<<2)|2,{58,103,0}}, +/* 47411 */ {(13<<2)|2,{58,103,0}}, +/* 47412 */ {(13<<2)|2,{58,103,0}}, +/* 47413 */ {(13<<2)|2,{58,103,0}}, +/* 47414 */ {(13<<2)|2,{58,103,0}}, +/* 47415 */ {(13<<2)|2,{58,103,0}}, +/* 47416 */ {(13<<2)|2,{58,104,0}}, +/* 47417 */ {(13<<2)|2,{58,104,0}}, +/* 47418 */ {(13<<2)|2,{58,104,0}}, +/* 47419 */ {(13<<2)|2,{58,104,0}}, +/* 47420 */ {(13<<2)|2,{58,104,0}}, +/* 47421 */ {(13<<2)|2,{58,104,0}}, +/* 47422 */ {(13<<2)|2,{58,104,0}}, +/* 47423 */ {(13<<2)|2,{58,104,0}}, +/* 47424 */ {(13<<2)|2,{58,108,0}}, +/* 47425 */ {(13<<2)|2,{58,108,0}}, +/* 47426 */ {(13<<2)|2,{58,108,0}}, +/* 47427 */ {(13<<2)|2,{58,108,0}}, +/* 47428 */ {(13<<2)|2,{58,108,0}}, +/* 47429 */ {(13<<2)|2,{58,108,0}}, +/* 47430 */ {(13<<2)|2,{58,108,0}}, +/* 47431 */ {(13<<2)|2,{58,108,0}}, +/* 47432 */ {(13<<2)|2,{58,109,0}}, +/* 47433 */ {(13<<2)|2,{58,109,0}}, +/* 47434 */ {(13<<2)|2,{58,109,0}}, +/* 47435 */ {(13<<2)|2,{58,109,0}}, +/* 47436 */ {(13<<2)|2,{58,109,0}}, +/* 47437 */ {(13<<2)|2,{58,109,0}}, +/* 47438 */ {(13<<2)|2,{58,109,0}}, +/* 47439 */ {(13<<2)|2,{58,109,0}}, +/* 47440 */ {(13<<2)|2,{58,110,0}}, +/* 47441 */ {(13<<2)|2,{58,110,0}}, +/* 47442 */ {(13<<2)|2,{58,110,0}}, +/* 47443 */ {(13<<2)|2,{58,110,0}}, +/* 47444 */ {(13<<2)|2,{58,110,0}}, +/* 47445 */ {(13<<2)|2,{58,110,0}}, +/* 47446 */ {(13<<2)|2,{58,110,0}}, +/* 47447 */ {(13<<2)|2,{58,110,0}}, +/* 47448 */ {(13<<2)|2,{58,112,0}}, +/* 47449 */ {(13<<2)|2,{58,112,0}}, +/* 47450 */ {(13<<2)|2,{58,112,0}}, +/* 47451 */ {(13<<2)|2,{58,112,0}}, +/* 47452 */ {(13<<2)|2,{58,112,0}}, +/* 47453 */ {(13<<2)|2,{58,112,0}}, +/* 47454 */ {(13<<2)|2,{58,112,0}}, +/* 47455 */ {(13<<2)|2,{58,112,0}}, +/* 47456 */ {(13<<2)|2,{58,114,0}}, +/* 47457 */ {(13<<2)|2,{58,114,0}}, +/* 47458 */ {(13<<2)|2,{58,114,0}}, +/* 47459 */ {(13<<2)|2,{58,114,0}}, +/* 47460 */ {(13<<2)|2,{58,114,0}}, +/* 47461 */ {(13<<2)|2,{58,114,0}}, +/* 47462 */ {(13<<2)|2,{58,114,0}}, +/* 47463 */ {(13<<2)|2,{58,114,0}}, +/* 47464 */ {(13<<2)|2,{58,117,0}}, +/* 47465 */ {(13<<2)|2,{58,117,0}}, +/* 47466 */ {(13<<2)|2,{58,117,0}}, +/* 47467 */ {(13<<2)|2,{58,117,0}}, +/* 47468 */ {(13<<2)|2,{58,117,0}}, +/* 47469 */ {(13<<2)|2,{58,117,0}}, +/* 47470 */ {(13<<2)|2,{58,117,0}}, +/* 47471 */ {(13<<2)|2,{58,117,0}}, +/* 47472 */ {(14<<2)|2,{58,58,0}}, +/* 47473 */ {(14<<2)|2,{58,58,0}}, +/* 47474 */ {(14<<2)|2,{58,58,0}}, +/* 47475 */ {(14<<2)|2,{58,58,0}}, +/* 47476 */ {(14<<2)|2,{58,66,0}}, +/* 47477 */ {(14<<2)|2,{58,66,0}}, +/* 47478 */ {(14<<2)|2,{58,66,0}}, +/* 47479 */ {(14<<2)|2,{58,66,0}}, +/* 47480 */ {(14<<2)|2,{58,67,0}}, +/* 47481 */ {(14<<2)|2,{58,67,0}}, +/* 47482 */ {(14<<2)|2,{58,67,0}}, +/* 47483 */ {(14<<2)|2,{58,67,0}}, +/* 47484 */ {(14<<2)|2,{58,68,0}}, +/* 47485 */ {(14<<2)|2,{58,68,0}}, +/* 47486 */ {(14<<2)|2,{58,68,0}}, +/* 47487 */ {(14<<2)|2,{58,68,0}}, +/* 47488 */ {(14<<2)|2,{58,69,0}}, +/* 47489 */ {(14<<2)|2,{58,69,0}}, +/* 47490 */ {(14<<2)|2,{58,69,0}}, +/* 47491 */ {(14<<2)|2,{58,69,0}}, +/* 47492 */ {(14<<2)|2,{58,70,0}}, +/* 47493 */ {(14<<2)|2,{58,70,0}}, +/* 47494 */ {(14<<2)|2,{58,70,0}}, +/* 47495 */ {(14<<2)|2,{58,70,0}}, +/* 47496 */ {(14<<2)|2,{58,71,0}}, +/* 47497 */ {(14<<2)|2,{58,71,0}}, +/* 47498 */ {(14<<2)|2,{58,71,0}}, +/* 47499 */ {(14<<2)|2,{58,71,0}}, +/* 47500 */ {(14<<2)|2,{58,72,0}}, +/* 47501 */ {(14<<2)|2,{58,72,0}}, +/* 47502 */ {(14<<2)|2,{58,72,0}}, +/* 47503 */ {(14<<2)|2,{58,72,0}}, +/* 47504 */ {(14<<2)|2,{58,73,0}}, +/* 47505 */ {(14<<2)|2,{58,73,0}}, +/* 47506 */ {(14<<2)|2,{58,73,0}}, +/* 47507 */ {(14<<2)|2,{58,73,0}}, +/* 47508 */ {(14<<2)|2,{58,74,0}}, +/* 47509 */ {(14<<2)|2,{58,74,0}}, +/* 47510 */ {(14<<2)|2,{58,74,0}}, +/* 47511 */ {(14<<2)|2,{58,74,0}}, +/* 47512 */ {(14<<2)|2,{58,75,0}}, +/* 47513 */ {(14<<2)|2,{58,75,0}}, +/* 47514 */ {(14<<2)|2,{58,75,0}}, +/* 47515 */ {(14<<2)|2,{58,75,0}}, +/* 47516 */ {(14<<2)|2,{58,76,0}}, +/* 47517 */ {(14<<2)|2,{58,76,0}}, +/* 47518 */ {(14<<2)|2,{58,76,0}}, +/* 47519 */ {(14<<2)|2,{58,76,0}}, +/* 47520 */ {(14<<2)|2,{58,77,0}}, +/* 47521 */ {(14<<2)|2,{58,77,0}}, +/* 47522 */ {(14<<2)|2,{58,77,0}}, +/* 47523 */ {(14<<2)|2,{58,77,0}}, +/* 47524 */ {(14<<2)|2,{58,78,0}}, +/* 47525 */ {(14<<2)|2,{58,78,0}}, +/* 47526 */ {(14<<2)|2,{58,78,0}}, +/* 47527 */ {(14<<2)|2,{58,78,0}}, +/* 47528 */ {(14<<2)|2,{58,79,0}}, +/* 47529 */ {(14<<2)|2,{58,79,0}}, +/* 47530 */ {(14<<2)|2,{58,79,0}}, +/* 47531 */ {(14<<2)|2,{58,79,0}}, +/* 47532 */ {(14<<2)|2,{58,80,0}}, +/* 47533 */ {(14<<2)|2,{58,80,0}}, +/* 47534 */ {(14<<2)|2,{58,80,0}}, +/* 47535 */ {(14<<2)|2,{58,80,0}}, +/* 47536 */ {(14<<2)|2,{58,81,0}}, +/* 47537 */ {(14<<2)|2,{58,81,0}}, +/* 47538 */ {(14<<2)|2,{58,81,0}}, +/* 47539 */ {(14<<2)|2,{58,81,0}}, +/* 47540 */ {(14<<2)|2,{58,82,0}}, +/* 47541 */ {(14<<2)|2,{58,82,0}}, +/* 47542 */ {(14<<2)|2,{58,82,0}}, +/* 47543 */ {(14<<2)|2,{58,82,0}}, +/* 47544 */ {(14<<2)|2,{58,83,0}}, +/* 47545 */ {(14<<2)|2,{58,83,0}}, +/* 47546 */ {(14<<2)|2,{58,83,0}}, +/* 47547 */ {(14<<2)|2,{58,83,0}}, +/* 47548 */ {(14<<2)|2,{58,84,0}}, +/* 47549 */ {(14<<2)|2,{58,84,0}}, +/* 47550 */ {(14<<2)|2,{58,84,0}}, +/* 47551 */ {(14<<2)|2,{58,84,0}}, +/* 47552 */ {(14<<2)|2,{58,85,0}}, +/* 47553 */ {(14<<2)|2,{58,85,0}}, +/* 47554 */ {(14<<2)|2,{58,85,0}}, +/* 47555 */ {(14<<2)|2,{58,85,0}}, +/* 47556 */ {(14<<2)|2,{58,86,0}}, +/* 47557 */ {(14<<2)|2,{58,86,0}}, +/* 47558 */ {(14<<2)|2,{58,86,0}}, +/* 47559 */ {(14<<2)|2,{58,86,0}}, +/* 47560 */ {(14<<2)|2,{58,87,0}}, +/* 47561 */ {(14<<2)|2,{58,87,0}}, +/* 47562 */ {(14<<2)|2,{58,87,0}}, +/* 47563 */ {(14<<2)|2,{58,87,0}}, +/* 47564 */ {(14<<2)|2,{58,89,0}}, +/* 47565 */ {(14<<2)|2,{58,89,0}}, +/* 47566 */ {(14<<2)|2,{58,89,0}}, +/* 47567 */ {(14<<2)|2,{58,89,0}}, +/* 47568 */ {(14<<2)|2,{58,106,0}}, +/* 47569 */ {(14<<2)|2,{58,106,0}}, +/* 47570 */ {(14<<2)|2,{58,106,0}}, +/* 47571 */ {(14<<2)|2,{58,106,0}}, +/* 47572 */ {(14<<2)|2,{58,107,0}}, +/* 47573 */ {(14<<2)|2,{58,107,0}}, +/* 47574 */ {(14<<2)|2,{58,107,0}}, +/* 47575 */ {(14<<2)|2,{58,107,0}}, +/* 47576 */ {(14<<2)|2,{58,113,0}}, +/* 47577 */ {(14<<2)|2,{58,113,0}}, +/* 47578 */ {(14<<2)|2,{58,113,0}}, +/* 47579 */ {(14<<2)|2,{58,113,0}}, +/* 47580 */ {(14<<2)|2,{58,118,0}}, +/* 47581 */ {(14<<2)|2,{58,118,0}}, +/* 47582 */ {(14<<2)|2,{58,118,0}}, +/* 47583 */ {(14<<2)|2,{58,118,0}}, +/* 47584 */ {(14<<2)|2,{58,119,0}}, +/* 47585 */ {(14<<2)|2,{58,119,0}}, +/* 47586 */ {(14<<2)|2,{58,119,0}}, +/* 47587 */ {(14<<2)|2,{58,119,0}}, +/* 47588 */ {(14<<2)|2,{58,120,0}}, +/* 47589 */ {(14<<2)|2,{58,120,0}}, +/* 47590 */ {(14<<2)|2,{58,120,0}}, +/* 47591 */ {(14<<2)|2,{58,120,0}}, +/* 47592 */ {(14<<2)|2,{58,121,0}}, +/* 47593 */ {(14<<2)|2,{58,121,0}}, +/* 47594 */ {(14<<2)|2,{58,121,0}}, +/* 47595 */ {(14<<2)|2,{58,121,0}}, +/* 47596 */ {(14<<2)|2,{58,122,0}}, +/* 47597 */ {(14<<2)|2,{58,122,0}}, +/* 47598 */ {(14<<2)|2,{58,122,0}}, +/* 47599 */ {(14<<2)|2,{58,122,0}}, +/* 47600 */ {(15<<2)|2,{58,38,0}}, +/* 47601 */ {(15<<2)|2,{58,38,0}}, +/* 47602 */ {(15<<2)|2,{58,42,0}}, +/* 47603 */ {(15<<2)|2,{58,42,0}}, +/* 47604 */ {(15<<2)|2,{58,44,0}}, +/* 47605 */ {(15<<2)|2,{58,44,0}}, +/* 47606 */ {(15<<2)|2,{58,59,0}}, +/* 47607 */ {(15<<2)|2,{58,59,0}}, +/* 47608 */ {(15<<2)|2,{58,88,0}}, +/* 47609 */ {(15<<2)|2,{58,88,0}}, +/* 47610 */ {(15<<2)|2,{58,90,0}}, +/* 47611 */ {(15<<2)|2,{58,90,0}}, +/* 47612 */ {(7<<2)|1,{58,0,0}}, +/* 47613 */ {(7<<2)|1,{58,0,0}}, +/* 47614 */ {(7<<2)|1,{58,0,0}}, +/* 47615 */ {(7<<2)|1,{58,0,0}}, +/* 47616 */ {(12<<2)|2,{66,48,0}}, +/* 47617 */ {(12<<2)|2,{66,48,0}}, +/* 47618 */ {(12<<2)|2,{66,48,0}}, +/* 47619 */ {(12<<2)|2,{66,48,0}}, +/* 47620 */ {(12<<2)|2,{66,48,0}}, +/* 47621 */ {(12<<2)|2,{66,48,0}}, +/* 47622 */ {(12<<2)|2,{66,48,0}}, +/* 47623 */ {(12<<2)|2,{66,48,0}}, +/* 47624 */ {(12<<2)|2,{66,48,0}}, +/* 47625 */ {(12<<2)|2,{66,48,0}}, +/* 47626 */ {(12<<2)|2,{66,48,0}}, +/* 47627 */ {(12<<2)|2,{66,48,0}}, +/* 47628 */ {(12<<2)|2,{66,48,0}}, +/* 47629 */ {(12<<2)|2,{66,48,0}}, +/* 47630 */ {(12<<2)|2,{66,48,0}}, +/* 47631 */ {(12<<2)|2,{66,48,0}}, +/* 47632 */ {(12<<2)|2,{66,49,0}}, +/* 47633 */ {(12<<2)|2,{66,49,0}}, +/* 47634 */ {(12<<2)|2,{66,49,0}}, +/* 47635 */ {(12<<2)|2,{66,49,0}}, +/* 47636 */ {(12<<2)|2,{66,49,0}}, +/* 47637 */ {(12<<2)|2,{66,49,0}}, +/* 47638 */ {(12<<2)|2,{66,49,0}}, +/* 47639 */ {(12<<2)|2,{66,49,0}}, +/* 47640 */ {(12<<2)|2,{66,49,0}}, +/* 47641 */ {(12<<2)|2,{66,49,0}}, +/* 47642 */ {(12<<2)|2,{66,49,0}}, +/* 47643 */ {(12<<2)|2,{66,49,0}}, +/* 47644 */ {(12<<2)|2,{66,49,0}}, +/* 47645 */ {(12<<2)|2,{66,49,0}}, +/* 47646 */ {(12<<2)|2,{66,49,0}}, +/* 47647 */ {(12<<2)|2,{66,49,0}}, +/* 47648 */ {(12<<2)|2,{66,50,0}}, +/* 47649 */ {(12<<2)|2,{66,50,0}}, +/* 47650 */ {(12<<2)|2,{66,50,0}}, +/* 47651 */ {(12<<2)|2,{66,50,0}}, +/* 47652 */ {(12<<2)|2,{66,50,0}}, +/* 47653 */ {(12<<2)|2,{66,50,0}}, +/* 47654 */ {(12<<2)|2,{66,50,0}}, +/* 47655 */ {(12<<2)|2,{66,50,0}}, +/* 47656 */ {(12<<2)|2,{66,50,0}}, +/* 47657 */ {(12<<2)|2,{66,50,0}}, +/* 47658 */ {(12<<2)|2,{66,50,0}}, +/* 47659 */ {(12<<2)|2,{66,50,0}}, +/* 47660 */ {(12<<2)|2,{66,50,0}}, +/* 47661 */ {(12<<2)|2,{66,50,0}}, +/* 47662 */ {(12<<2)|2,{66,50,0}}, +/* 47663 */ {(12<<2)|2,{66,50,0}}, +/* 47664 */ {(12<<2)|2,{66,97,0}}, +/* 47665 */ {(12<<2)|2,{66,97,0}}, +/* 47666 */ {(12<<2)|2,{66,97,0}}, +/* 47667 */ {(12<<2)|2,{66,97,0}}, +/* 47668 */ {(12<<2)|2,{66,97,0}}, +/* 47669 */ {(12<<2)|2,{66,97,0}}, +/* 47670 */ {(12<<2)|2,{66,97,0}}, +/* 47671 */ {(12<<2)|2,{66,97,0}}, +/* 47672 */ {(12<<2)|2,{66,97,0}}, +/* 47673 */ {(12<<2)|2,{66,97,0}}, +/* 47674 */ {(12<<2)|2,{66,97,0}}, +/* 47675 */ {(12<<2)|2,{66,97,0}}, +/* 47676 */ {(12<<2)|2,{66,97,0}}, +/* 47677 */ {(12<<2)|2,{66,97,0}}, +/* 47678 */ {(12<<2)|2,{66,97,0}}, +/* 47679 */ {(12<<2)|2,{66,97,0}}, +/* 47680 */ {(12<<2)|2,{66,99,0}}, +/* 47681 */ {(12<<2)|2,{66,99,0}}, +/* 47682 */ {(12<<2)|2,{66,99,0}}, +/* 47683 */ {(12<<2)|2,{66,99,0}}, +/* 47684 */ {(12<<2)|2,{66,99,0}}, +/* 47685 */ {(12<<2)|2,{66,99,0}}, +/* 47686 */ {(12<<2)|2,{66,99,0}}, +/* 47687 */ {(12<<2)|2,{66,99,0}}, +/* 47688 */ {(12<<2)|2,{66,99,0}}, +/* 47689 */ {(12<<2)|2,{66,99,0}}, +/* 47690 */ {(12<<2)|2,{66,99,0}}, +/* 47691 */ {(12<<2)|2,{66,99,0}}, +/* 47692 */ {(12<<2)|2,{66,99,0}}, +/* 47693 */ {(12<<2)|2,{66,99,0}}, +/* 47694 */ {(12<<2)|2,{66,99,0}}, +/* 47695 */ {(12<<2)|2,{66,99,0}}, +/* 47696 */ {(12<<2)|2,{66,101,0}}, +/* 47697 */ {(12<<2)|2,{66,101,0}}, +/* 47698 */ {(12<<2)|2,{66,101,0}}, +/* 47699 */ {(12<<2)|2,{66,101,0}}, +/* 47700 */ {(12<<2)|2,{66,101,0}}, +/* 47701 */ {(12<<2)|2,{66,101,0}}, +/* 47702 */ {(12<<2)|2,{66,101,0}}, +/* 47703 */ {(12<<2)|2,{66,101,0}}, +/* 47704 */ {(12<<2)|2,{66,101,0}}, +/* 47705 */ {(12<<2)|2,{66,101,0}}, +/* 47706 */ {(12<<2)|2,{66,101,0}}, +/* 47707 */ {(12<<2)|2,{66,101,0}}, +/* 47708 */ {(12<<2)|2,{66,101,0}}, +/* 47709 */ {(12<<2)|2,{66,101,0}}, +/* 47710 */ {(12<<2)|2,{66,101,0}}, +/* 47711 */ {(12<<2)|2,{66,101,0}}, +/* 47712 */ {(12<<2)|2,{66,105,0}}, +/* 47713 */ {(12<<2)|2,{66,105,0}}, +/* 47714 */ {(12<<2)|2,{66,105,0}}, +/* 47715 */ {(12<<2)|2,{66,105,0}}, +/* 47716 */ {(12<<2)|2,{66,105,0}}, +/* 47717 */ {(12<<2)|2,{66,105,0}}, +/* 47718 */ {(12<<2)|2,{66,105,0}}, +/* 47719 */ {(12<<2)|2,{66,105,0}}, +/* 47720 */ {(12<<2)|2,{66,105,0}}, +/* 47721 */ {(12<<2)|2,{66,105,0}}, +/* 47722 */ {(12<<2)|2,{66,105,0}}, +/* 47723 */ {(12<<2)|2,{66,105,0}}, +/* 47724 */ {(12<<2)|2,{66,105,0}}, +/* 47725 */ {(12<<2)|2,{66,105,0}}, +/* 47726 */ {(12<<2)|2,{66,105,0}}, +/* 47727 */ {(12<<2)|2,{66,105,0}}, +/* 47728 */ {(12<<2)|2,{66,111,0}}, +/* 47729 */ {(12<<2)|2,{66,111,0}}, +/* 47730 */ {(12<<2)|2,{66,111,0}}, +/* 47731 */ {(12<<2)|2,{66,111,0}}, +/* 47732 */ {(12<<2)|2,{66,111,0}}, +/* 47733 */ {(12<<2)|2,{66,111,0}}, +/* 47734 */ {(12<<2)|2,{66,111,0}}, +/* 47735 */ {(12<<2)|2,{66,111,0}}, +/* 47736 */ {(12<<2)|2,{66,111,0}}, +/* 47737 */ {(12<<2)|2,{66,111,0}}, +/* 47738 */ {(12<<2)|2,{66,111,0}}, +/* 47739 */ {(12<<2)|2,{66,111,0}}, +/* 47740 */ {(12<<2)|2,{66,111,0}}, +/* 47741 */ {(12<<2)|2,{66,111,0}}, +/* 47742 */ {(12<<2)|2,{66,111,0}}, +/* 47743 */ {(12<<2)|2,{66,111,0}}, +/* 47744 */ {(12<<2)|2,{66,115,0}}, +/* 47745 */ {(12<<2)|2,{66,115,0}}, +/* 47746 */ {(12<<2)|2,{66,115,0}}, +/* 47747 */ {(12<<2)|2,{66,115,0}}, +/* 47748 */ {(12<<2)|2,{66,115,0}}, +/* 47749 */ {(12<<2)|2,{66,115,0}}, +/* 47750 */ {(12<<2)|2,{66,115,0}}, +/* 47751 */ {(12<<2)|2,{66,115,0}}, +/* 47752 */ {(12<<2)|2,{66,115,0}}, +/* 47753 */ {(12<<2)|2,{66,115,0}}, +/* 47754 */ {(12<<2)|2,{66,115,0}}, +/* 47755 */ {(12<<2)|2,{66,115,0}}, +/* 47756 */ {(12<<2)|2,{66,115,0}}, +/* 47757 */ {(12<<2)|2,{66,115,0}}, +/* 47758 */ {(12<<2)|2,{66,115,0}}, +/* 47759 */ {(12<<2)|2,{66,115,0}}, +/* 47760 */ {(12<<2)|2,{66,116,0}}, +/* 47761 */ {(12<<2)|2,{66,116,0}}, +/* 47762 */ {(12<<2)|2,{66,116,0}}, +/* 47763 */ {(12<<2)|2,{66,116,0}}, +/* 47764 */ {(12<<2)|2,{66,116,0}}, +/* 47765 */ {(12<<2)|2,{66,116,0}}, +/* 47766 */ {(12<<2)|2,{66,116,0}}, +/* 47767 */ {(12<<2)|2,{66,116,0}}, +/* 47768 */ {(12<<2)|2,{66,116,0}}, +/* 47769 */ {(12<<2)|2,{66,116,0}}, +/* 47770 */ {(12<<2)|2,{66,116,0}}, +/* 47771 */ {(12<<2)|2,{66,116,0}}, +/* 47772 */ {(12<<2)|2,{66,116,0}}, +/* 47773 */ {(12<<2)|2,{66,116,0}}, +/* 47774 */ {(12<<2)|2,{66,116,0}}, +/* 47775 */ {(12<<2)|2,{66,116,0}}, +/* 47776 */ {(13<<2)|2,{66,32,0}}, +/* 47777 */ {(13<<2)|2,{66,32,0}}, +/* 47778 */ {(13<<2)|2,{66,32,0}}, +/* 47779 */ {(13<<2)|2,{66,32,0}}, +/* 47780 */ {(13<<2)|2,{66,32,0}}, +/* 47781 */ {(13<<2)|2,{66,32,0}}, +/* 47782 */ {(13<<2)|2,{66,32,0}}, +/* 47783 */ {(13<<2)|2,{66,32,0}}, +/* 47784 */ {(13<<2)|2,{66,37,0}}, +/* 47785 */ {(13<<2)|2,{66,37,0}}, +/* 47786 */ {(13<<2)|2,{66,37,0}}, +/* 47787 */ {(13<<2)|2,{66,37,0}}, +/* 47788 */ {(13<<2)|2,{66,37,0}}, +/* 47789 */ {(13<<2)|2,{66,37,0}}, +/* 47790 */ {(13<<2)|2,{66,37,0}}, +/* 47791 */ {(13<<2)|2,{66,37,0}}, +/* 47792 */ {(13<<2)|2,{66,45,0}}, +/* 47793 */ {(13<<2)|2,{66,45,0}}, +/* 47794 */ {(13<<2)|2,{66,45,0}}, +/* 47795 */ {(13<<2)|2,{66,45,0}}, +/* 47796 */ {(13<<2)|2,{66,45,0}}, +/* 47797 */ {(13<<2)|2,{66,45,0}}, +/* 47798 */ {(13<<2)|2,{66,45,0}}, +/* 47799 */ {(13<<2)|2,{66,45,0}}, +/* 47800 */ {(13<<2)|2,{66,46,0}}, +/* 47801 */ {(13<<2)|2,{66,46,0}}, +/* 47802 */ {(13<<2)|2,{66,46,0}}, +/* 47803 */ {(13<<2)|2,{66,46,0}}, +/* 47804 */ {(13<<2)|2,{66,46,0}}, +/* 47805 */ {(13<<2)|2,{66,46,0}}, +/* 47806 */ {(13<<2)|2,{66,46,0}}, +/* 47807 */ {(13<<2)|2,{66,46,0}}, +/* 47808 */ {(13<<2)|2,{66,47,0}}, +/* 47809 */ {(13<<2)|2,{66,47,0}}, +/* 47810 */ {(13<<2)|2,{66,47,0}}, +/* 47811 */ {(13<<2)|2,{66,47,0}}, +/* 47812 */ {(13<<2)|2,{66,47,0}}, +/* 47813 */ {(13<<2)|2,{66,47,0}}, +/* 47814 */ {(13<<2)|2,{66,47,0}}, +/* 47815 */ {(13<<2)|2,{66,47,0}}, +/* 47816 */ {(13<<2)|2,{66,51,0}}, +/* 47817 */ {(13<<2)|2,{66,51,0}}, +/* 47818 */ {(13<<2)|2,{66,51,0}}, +/* 47819 */ {(13<<2)|2,{66,51,0}}, +/* 47820 */ {(13<<2)|2,{66,51,0}}, +/* 47821 */ {(13<<2)|2,{66,51,0}}, +/* 47822 */ {(13<<2)|2,{66,51,0}}, +/* 47823 */ {(13<<2)|2,{66,51,0}}, +/* 47824 */ {(13<<2)|2,{66,52,0}}, +/* 47825 */ {(13<<2)|2,{66,52,0}}, +/* 47826 */ {(13<<2)|2,{66,52,0}}, +/* 47827 */ {(13<<2)|2,{66,52,0}}, +/* 47828 */ {(13<<2)|2,{66,52,0}}, +/* 47829 */ {(13<<2)|2,{66,52,0}}, +/* 47830 */ {(13<<2)|2,{66,52,0}}, +/* 47831 */ {(13<<2)|2,{66,52,0}}, +/* 47832 */ {(13<<2)|2,{66,53,0}}, +/* 47833 */ {(13<<2)|2,{66,53,0}}, +/* 47834 */ {(13<<2)|2,{66,53,0}}, +/* 47835 */ {(13<<2)|2,{66,53,0}}, +/* 47836 */ {(13<<2)|2,{66,53,0}}, +/* 47837 */ {(13<<2)|2,{66,53,0}}, +/* 47838 */ {(13<<2)|2,{66,53,0}}, +/* 47839 */ {(13<<2)|2,{66,53,0}}, +/* 47840 */ {(13<<2)|2,{66,54,0}}, +/* 47841 */ {(13<<2)|2,{66,54,0}}, +/* 47842 */ {(13<<2)|2,{66,54,0}}, +/* 47843 */ {(13<<2)|2,{66,54,0}}, +/* 47844 */ {(13<<2)|2,{66,54,0}}, +/* 47845 */ {(13<<2)|2,{66,54,0}}, +/* 47846 */ {(13<<2)|2,{66,54,0}}, +/* 47847 */ {(13<<2)|2,{66,54,0}}, +/* 47848 */ {(13<<2)|2,{66,55,0}}, +/* 47849 */ {(13<<2)|2,{66,55,0}}, +/* 47850 */ {(13<<2)|2,{66,55,0}}, +/* 47851 */ {(13<<2)|2,{66,55,0}}, +/* 47852 */ {(13<<2)|2,{66,55,0}}, +/* 47853 */ {(13<<2)|2,{66,55,0}}, +/* 47854 */ {(13<<2)|2,{66,55,0}}, +/* 47855 */ {(13<<2)|2,{66,55,0}}, +/* 47856 */ {(13<<2)|2,{66,56,0}}, +/* 47857 */ {(13<<2)|2,{66,56,0}}, +/* 47858 */ {(13<<2)|2,{66,56,0}}, +/* 47859 */ {(13<<2)|2,{66,56,0}}, +/* 47860 */ {(13<<2)|2,{66,56,0}}, +/* 47861 */ {(13<<2)|2,{66,56,0}}, +/* 47862 */ {(13<<2)|2,{66,56,0}}, +/* 47863 */ {(13<<2)|2,{66,56,0}}, +/* 47864 */ {(13<<2)|2,{66,57,0}}, +/* 47865 */ {(13<<2)|2,{66,57,0}}, +/* 47866 */ {(13<<2)|2,{66,57,0}}, +/* 47867 */ {(13<<2)|2,{66,57,0}}, +/* 47868 */ {(13<<2)|2,{66,57,0}}, +/* 47869 */ {(13<<2)|2,{66,57,0}}, +/* 47870 */ {(13<<2)|2,{66,57,0}}, +/* 47871 */ {(13<<2)|2,{66,57,0}}, +/* 47872 */ {(13<<2)|2,{66,61,0}}, +/* 47873 */ {(13<<2)|2,{66,61,0}}, +/* 47874 */ {(13<<2)|2,{66,61,0}}, +/* 47875 */ {(13<<2)|2,{66,61,0}}, +/* 47876 */ {(13<<2)|2,{66,61,0}}, +/* 47877 */ {(13<<2)|2,{66,61,0}}, +/* 47878 */ {(13<<2)|2,{66,61,0}}, +/* 47879 */ {(13<<2)|2,{66,61,0}}, +/* 47880 */ {(13<<2)|2,{66,65,0}}, +/* 47881 */ {(13<<2)|2,{66,65,0}}, +/* 47882 */ {(13<<2)|2,{66,65,0}}, +/* 47883 */ {(13<<2)|2,{66,65,0}}, +/* 47884 */ {(13<<2)|2,{66,65,0}}, +/* 47885 */ {(13<<2)|2,{66,65,0}}, +/* 47886 */ {(13<<2)|2,{66,65,0}}, +/* 47887 */ {(13<<2)|2,{66,65,0}}, +/* 47888 */ {(13<<2)|2,{66,95,0}}, +/* 47889 */ {(13<<2)|2,{66,95,0}}, +/* 47890 */ {(13<<2)|2,{66,95,0}}, +/* 47891 */ {(13<<2)|2,{66,95,0}}, +/* 47892 */ {(13<<2)|2,{66,95,0}}, +/* 47893 */ {(13<<2)|2,{66,95,0}}, +/* 47894 */ {(13<<2)|2,{66,95,0}}, +/* 47895 */ {(13<<2)|2,{66,95,0}}, +/* 47896 */ {(13<<2)|2,{66,98,0}}, +/* 47897 */ {(13<<2)|2,{66,98,0}}, +/* 47898 */ {(13<<2)|2,{66,98,0}}, +/* 47899 */ {(13<<2)|2,{66,98,0}}, +/* 47900 */ {(13<<2)|2,{66,98,0}}, +/* 47901 */ {(13<<2)|2,{66,98,0}}, +/* 47902 */ {(13<<2)|2,{66,98,0}}, +/* 47903 */ {(13<<2)|2,{66,98,0}}, +/* 47904 */ {(13<<2)|2,{66,100,0}}, +/* 47905 */ {(13<<2)|2,{66,100,0}}, +/* 47906 */ {(13<<2)|2,{66,100,0}}, +/* 47907 */ {(13<<2)|2,{66,100,0}}, +/* 47908 */ {(13<<2)|2,{66,100,0}}, +/* 47909 */ {(13<<2)|2,{66,100,0}}, +/* 47910 */ {(13<<2)|2,{66,100,0}}, +/* 47911 */ {(13<<2)|2,{66,100,0}}, +/* 47912 */ {(13<<2)|2,{66,102,0}}, +/* 47913 */ {(13<<2)|2,{66,102,0}}, +/* 47914 */ {(13<<2)|2,{66,102,0}}, +/* 47915 */ {(13<<2)|2,{66,102,0}}, +/* 47916 */ {(13<<2)|2,{66,102,0}}, +/* 47917 */ {(13<<2)|2,{66,102,0}}, +/* 47918 */ {(13<<2)|2,{66,102,0}}, +/* 47919 */ {(13<<2)|2,{66,102,0}}, +/* 47920 */ {(13<<2)|2,{66,103,0}}, +/* 47921 */ {(13<<2)|2,{66,103,0}}, +/* 47922 */ {(13<<2)|2,{66,103,0}}, +/* 47923 */ {(13<<2)|2,{66,103,0}}, +/* 47924 */ {(13<<2)|2,{66,103,0}}, +/* 47925 */ {(13<<2)|2,{66,103,0}}, +/* 47926 */ {(13<<2)|2,{66,103,0}}, +/* 47927 */ {(13<<2)|2,{66,103,0}}, +/* 47928 */ {(13<<2)|2,{66,104,0}}, +/* 47929 */ {(13<<2)|2,{66,104,0}}, +/* 47930 */ {(13<<2)|2,{66,104,0}}, +/* 47931 */ {(13<<2)|2,{66,104,0}}, +/* 47932 */ {(13<<2)|2,{66,104,0}}, +/* 47933 */ {(13<<2)|2,{66,104,0}}, +/* 47934 */ {(13<<2)|2,{66,104,0}}, +/* 47935 */ {(13<<2)|2,{66,104,0}}, +/* 47936 */ {(13<<2)|2,{66,108,0}}, +/* 47937 */ {(13<<2)|2,{66,108,0}}, +/* 47938 */ {(13<<2)|2,{66,108,0}}, +/* 47939 */ {(13<<2)|2,{66,108,0}}, +/* 47940 */ {(13<<2)|2,{66,108,0}}, +/* 47941 */ {(13<<2)|2,{66,108,0}}, +/* 47942 */ {(13<<2)|2,{66,108,0}}, +/* 47943 */ {(13<<2)|2,{66,108,0}}, +/* 47944 */ {(13<<2)|2,{66,109,0}}, +/* 47945 */ {(13<<2)|2,{66,109,0}}, +/* 47946 */ {(13<<2)|2,{66,109,0}}, +/* 47947 */ {(13<<2)|2,{66,109,0}}, +/* 47948 */ {(13<<2)|2,{66,109,0}}, +/* 47949 */ {(13<<2)|2,{66,109,0}}, +/* 47950 */ {(13<<2)|2,{66,109,0}}, +/* 47951 */ {(13<<2)|2,{66,109,0}}, +/* 47952 */ {(13<<2)|2,{66,110,0}}, +/* 47953 */ {(13<<2)|2,{66,110,0}}, +/* 47954 */ {(13<<2)|2,{66,110,0}}, +/* 47955 */ {(13<<2)|2,{66,110,0}}, +/* 47956 */ {(13<<2)|2,{66,110,0}}, +/* 47957 */ {(13<<2)|2,{66,110,0}}, +/* 47958 */ {(13<<2)|2,{66,110,0}}, +/* 47959 */ {(13<<2)|2,{66,110,0}}, +/* 47960 */ {(13<<2)|2,{66,112,0}}, +/* 47961 */ {(13<<2)|2,{66,112,0}}, +/* 47962 */ {(13<<2)|2,{66,112,0}}, +/* 47963 */ {(13<<2)|2,{66,112,0}}, +/* 47964 */ {(13<<2)|2,{66,112,0}}, +/* 47965 */ {(13<<2)|2,{66,112,0}}, +/* 47966 */ {(13<<2)|2,{66,112,0}}, +/* 47967 */ {(13<<2)|2,{66,112,0}}, +/* 47968 */ {(13<<2)|2,{66,114,0}}, +/* 47969 */ {(13<<2)|2,{66,114,0}}, +/* 47970 */ {(13<<2)|2,{66,114,0}}, +/* 47971 */ {(13<<2)|2,{66,114,0}}, +/* 47972 */ {(13<<2)|2,{66,114,0}}, +/* 47973 */ {(13<<2)|2,{66,114,0}}, +/* 47974 */ {(13<<2)|2,{66,114,0}}, +/* 47975 */ {(13<<2)|2,{66,114,0}}, +/* 47976 */ {(13<<2)|2,{66,117,0}}, +/* 47977 */ {(13<<2)|2,{66,117,0}}, +/* 47978 */ {(13<<2)|2,{66,117,0}}, +/* 47979 */ {(13<<2)|2,{66,117,0}}, +/* 47980 */ {(13<<2)|2,{66,117,0}}, +/* 47981 */ {(13<<2)|2,{66,117,0}}, +/* 47982 */ {(13<<2)|2,{66,117,0}}, +/* 47983 */ {(13<<2)|2,{66,117,0}}, +/* 47984 */ {(14<<2)|2,{66,58,0}}, +/* 47985 */ {(14<<2)|2,{66,58,0}}, +/* 47986 */ {(14<<2)|2,{66,58,0}}, +/* 47987 */ {(14<<2)|2,{66,58,0}}, +/* 47988 */ {(14<<2)|2,{66,66,0}}, +/* 47989 */ {(14<<2)|2,{66,66,0}}, +/* 47990 */ {(14<<2)|2,{66,66,0}}, +/* 47991 */ {(14<<2)|2,{66,66,0}}, +/* 47992 */ {(14<<2)|2,{66,67,0}}, +/* 47993 */ {(14<<2)|2,{66,67,0}}, +/* 47994 */ {(14<<2)|2,{66,67,0}}, +/* 47995 */ {(14<<2)|2,{66,67,0}}, +/* 47996 */ {(14<<2)|2,{66,68,0}}, +/* 47997 */ {(14<<2)|2,{66,68,0}}, +/* 47998 */ {(14<<2)|2,{66,68,0}}, +/* 47999 */ {(14<<2)|2,{66,68,0}}, +/* 48000 */ {(14<<2)|2,{66,69,0}}, +/* 48001 */ {(14<<2)|2,{66,69,0}}, +/* 48002 */ {(14<<2)|2,{66,69,0}}, +/* 48003 */ {(14<<2)|2,{66,69,0}}, +/* 48004 */ {(14<<2)|2,{66,70,0}}, +/* 48005 */ {(14<<2)|2,{66,70,0}}, +/* 48006 */ {(14<<2)|2,{66,70,0}}, +/* 48007 */ {(14<<2)|2,{66,70,0}}, +/* 48008 */ {(14<<2)|2,{66,71,0}}, +/* 48009 */ {(14<<2)|2,{66,71,0}}, +/* 48010 */ {(14<<2)|2,{66,71,0}}, +/* 48011 */ {(14<<2)|2,{66,71,0}}, +/* 48012 */ {(14<<2)|2,{66,72,0}}, +/* 48013 */ {(14<<2)|2,{66,72,0}}, +/* 48014 */ {(14<<2)|2,{66,72,0}}, +/* 48015 */ {(14<<2)|2,{66,72,0}}, +/* 48016 */ {(14<<2)|2,{66,73,0}}, +/* 48017 */ {(14<<2)|2,{66,73,0}}, +/* 48018 */ {(14<<2)|2,{66,73,0}}, +/* 48019 */ {(14<<2)|2,{66,73,0}}, +/* 48020 */ {(14<<2)|2,{66,74,0}}, +/* 48021 */ {(14<<2)|2,{66,74,0}}, +/* 48022 */ {(14<<2)|2,{66,74,0}}, +/* 48023 */ {(14<<2)|2,{66,74,0}}, +/* 48024 */ {(14<<2)|2,{66,75,0}}, +/* 48025 */ {(14<<2)|2,{66,75,0}}, +/* 48026 */ {(14<<2)|2,{66,75,0}}, +/* 48027 */ {(14<<2)|2,{66,75,0}}, +/* 48028 */ {(14<<2)|2,{66,76,0}}, +/* 48029 */ {(14<<2)|2,{66,76,0}}, +/* 48030 */ {(14<<2)|2,{66,76,0}}, +/* 48031 */ {(14<<2)|2,{66,76,0}}, +/* 48032 */ {(14<<2)|2,{66,77,0}}, +/* 48033 */ {(14<<2)|2,{66,77,0}}, +/* 48034 */ {(14<<2)|2,{66,77,0}}, +/* 48035 */ {(14<<2)|2,{66,77,0}}, +/* 48036 */ {(14<<2)|2,{66,78,0}}, +/* 48037 */ {(14<<2)|2,{66,78,0}}, +/* 48038 */ {(14<<2)|2,{66,78,0}}, +/* 48039 */ {(14<<2)|2,{66,78,0}}, +/* 48040 */ {(14<<2)|2,{66,79,0}}, +/* 48041 */ {(14<<2)|2,{66,79,0}}, +/* 48042 */ {(14<<2)|2,{66,79,0}}, +/* 48043 */ {(14<<2)|2,{66,79,0}}, +/* 48044 */ {(14<<2)|2,{66,80,0}}, +/* 48045 */ {(14<<2)|2,{66,80,0}}, +/* 48046 */ {(14<<2)|2,{66,80,0}}, +/* 48047 */ {(14<<2)|2,{66,80,0}}, +/* 48048 */ {(14<<2)|2,{66,81,0}}, +/* 48049 */ {(14<<2)|2,{66,81,0}}, +/* 48050 */ {(14<<2)|2,{66,81,0}}, +/* 48051 */ {(14<<2)|2,{66,81,0}}, +/* 48052 */ {(14<<2)|2,{66,82,0}}, +/* 48053 */ {(14<<2)|2,{66,82,0}}, +/* 48054 */ {(14<<2)|2,{66,82,0}}, +/* 48055 */ {(14<<2)|2,{66,82,0}}, +/* 48056 */ {(14<<2)|2,{66,83,0}}, +/* 48057 */ {(14<<2)|2,{66,83,0}}, +/* 48058 */ {(14<<2)|2,{66,83,0}}, +/* 48059 */ {(14<<2)|2,{66,83,0}}, +/* 48060 */ {(14<<2)|2,{66,84,0}}, +/* 48061 */ {(14<<2)|2,{66,84,0}}, +/* 48062 */ {(14<<2)|2,{66,84,0}}, +/* 48063 */ {(14<<2)|2,{66,84,0}}, +/* 48064 */ {(14<<2)|2,{66,85,0}}, +/* 48065 */ {(14<<2)|2,{66,85,0}}, +/* 48066 */ {(14<<2)|2,{66,85,0}}, +/* 48067 */ {(14<<2)|2,{66,85,0}}, +/* 48068 */ {(14<<2)|2,{66,86,0}}, +/* 48069 */ {(14<<2)|2,{66,86,0}}, +/* 48070 */ {(14<<2)|2,{66,86,0}}, +/* 48071 */ {(14<<2)|2,{66,86,0}}, +/* 48072 */ {(14<<2)|2,{66,87,0}}, +/* 48073 */ {(14<<2)|2,{66,87,0}}, +/* 48074 */ {(14<<2)|2,{66,87,0}}, +/* 48075 */ {(14<<2)|2,{66,87,0}}, +/* 48076 */ {(14<<2)|2,{66,89,0}}, +/* 48077 */ {(14<<2)|2,{66,89,0}}, +/* 48078 */ {(14<<2)|2,{66,89,0}}, +/* 48079 */ {(14<<2)|2,{66,89,0}}, +/* 48080 */ {(14<<2)|2,{66,106,0}}, +/* 48081 */ {(14<<2)|2,{66,106,0}}, +/* 48082 */ {(14<<2)|2,{66,106,0}}, +/* 48083 */ {(14<<2)|2,{66,106,0}}, +/* 48084 */ {(14<<2)|2,{66,107,0}}, +/* 48085 */ {(14<<2)|2,{66,107,0}}, +/* 48086 */ {(14<<2)|2,{66,107,0}}, +/* 48087 */ {(14<<2)|2,{66,107,0}}, +/* 48088 */ {(14<<2)|2,{66,113,0}}, +/* 48089 */ {(14<<2)|2,{66,113,0}}, +/* 48090 */ {(14<<2)|2,{66,113,0}}, +/* 48091 */ {(14<<2)|2,{66,113,0}}, +/* 48092 */ {(14<<2)|2,{66,118,0}}, +/* 48093 */ {(14<<2)|2,{66,118,0}}, +/* 48094 */ {(14<<2)|2,{66,118,0}}, +/* 48095 */ {(14<<2)|2,{66,118,0}}, +/* 48096 */ {(14<<2)|2,{66,119,0}}, +/* 48097 */ {(14<<2)|2,{66,119,0}}, +/* 48098 */ {(14<<2)|2,{66,119,0}}, +/* 48099 */ {(14<<2)|2,{66,119,0}}, +/* 48100 */ {(14<<2)|2,{66,120,0}}, +/* 48101 */ {(14<<2)|2,{66,120,0}}, +/* 48102 */ {(14<<2)|2,{66,120,0}}, +/* 48103 */ {(14<<2)|2,{66,120,0}}, +/* 48104 */ {(14<<2)|2,{66,121,0}}, +/* 48105 */ {(14<<2)|2,{66,121,0}}, +/* 48106 */ {(14<<2)|2,{66,121,0}}, +/* 48107 */ {(14<<2)|2,{66,121,0}}, +/* 48108 */ {(14<<2)|2,{66,122,0}}, +/* 48109 */ {(14<<2)|2,{66,122,0}}, +/* 48110 */ {(14<<2)|2,{66,122,0}}, +/* 48111 */ {(14<<2)|2,{66,122,0}}, +/* 48112 */ {(15<<2)|2,{66,38,0}}, +/* 48113 */ {(15<<2)|2,{66,38,0}}, +/* 48114 */ {(15<<2)|2,{66,42,0}}, +/* 48115 */ {(15<<2)|2,{66,42,0}}, +/* 48116 */ {(15<<2)|2,{66,44,0}}, +/* 48117 */ {(15<<2)|2,{66,44,0}}, +/* 48118 */ {(15<<2)|2,{66,59,0}}, +/* 48119 */ {(15<<2)|2,{66,59,0}}, +/* 48120 */ {(15<<2)|2,{66,88,0}}, +/* 48121 */ {(15<<2)|2,{66,88,0}}, +/* 48122 */ {(15<<2)|2,{66,90,0}}, +/* 48123 */ {(15<<2)|2,{66,90,0}}, +/* 48124 */ {(7<<2)|1,{66,0,0}}, +/* 48125 */ {(7<<2)|1,{66,0,0}}, +/* 48126 */ {(7<<2)|1,{66,0,0}}, +/* 48127 */ {(7<<2)|1,{66,0,0}}, +/* 48128 */ {(12<<2)|2,{67,48,0}}, +/* 48129 */ {(12<<2)|2,{67,48,0}}, +/* 48130 */ {(12<<2)|2,{67,48,0}}, +/* 48131 */ {(12<<2)|2,{67,48,0}}, +/* 48132 */ {(12<<2)|2,{67,48,0}}, +/* 48133 */ {(12<<2)|2,{67,48,0}}, +/* 48134 */ {(12<<2)|2,{67,48,0}}, +/* 48135 */ {(12<<2)|2,{67,48,0}}, +/* 48136 */ {(12<<2)|2,{67,48,0}}, +/* 48137 */ {(12<<2)|2,{67,48,0}}, +/* 48138 */ {(12<<2)|2,{67,48,0}}, +/* 48139 */ {(12<<2)|2,{67,48,0}}, +/* 48140 */ {(12<<2)|2,{67,48,0}}, +/* 48141 */ {(12<<2)|2,{67,48,0}}, +/* 48142 */ {(12<<2)|2,{67,48,0}}, +/* 48143 */ {(12<<2)|2,{67,48,0}}, +/* 48144 */ {(12<<2)|2,{67,49,0}}, +/* 48145 */ {(12<<2)|2,{67,49,0}}, +/* 48146 */ {(12<<2)|2,{67,49,0}}, +/* 48147 */ {(12<<2)|2,{67,49,0}}, +/* 48148 */ {(12<<2)|2,{67,49,0}}, +/* 48149 */ {(12<<2)|2,{67,49,0}}, +/* 48150 */ {(12<<2)|2,{67,49,0}}, +/* 48151 */ {(12<<2)|2,{67,49,0}}, +/* 48152 */ {(12<<2)|2,{67,49,0}}, +/* 48153 */ {(12<<2)|2,{67,49,0}}, +/* 48154 */ {(12<<2)|2,{67,49,0}}, +/* 48155 */ {(12<<2)|2,{67,49,0}}, +/* 48156 */ {(12<<2)|2,{67,49,0}}, +/* 48157 */ {(12<<2)|2,{67,49,0}}, +/* 48158 */ {(12<<2)|2,{67,49,0}}, +/* 48159 */ {(12<<2)|2,{67,49,0}}, +/* 48160 */ {(12<<2)|2,{67,50,0}}, +/* 48161 */ {(12<<2)|2,{67,50,0}}, +/* 48162 */ {(12<<2)|2,{67,50,0}}, +/* 48163 */ {(12<<2)|2,{67,50,0}}, +/* 48164 */ {(12<<2)|2,{67,50,0}}, +/* 48165 */ {(12<<2)|2,{67,50,0}}, +/* 48166 */ {(12<<2)|2,{67,50,0}}, +/* 48167 */ {(12<<2)|2,{67,50,0}}, +/* 48168 */ {(12<<2)|2,{67,50,0}}, +/* 48169 */ {(12<<2)|2,{67,50,0}}, +/* 48170 */ {(12<<2)|2,{67,50,0}}, +/* 48171 */ {(12<<2)|2,{67,50,0}}, +/* 48172 */ {(12<<2)|2,{67,50,0}}, +/* 48173 */ {(12<<2)|2,{67,50,0}}, +/* 48174 */ {(12<<2)|2,{67,50,0}}, +/* 48175 */ {(12<<2)|2,{67,50,0}}, +/* 48176 */ {(12<<2)|2,{67,97,0}}, +/* 48177 */ {(12<<2)|2,{67,97,0}}, +/* 48178 */ {(12<<2)|2,{67,97,0}}, +/* 48179 */ {(12<<2)|2,{67,97,0}}, +/* 48180 */ {(12<<2)|2,{67,97,0}}, +/* 48181 */ {(12<<2)|2,{67,97,0}}, +/* 48182 */ {(12<<2)|2,{67,97,0}}, +/* 48183 */ {(12<<2)|2,{67,97,0}}, +/* 48184 */ {(12<<2)|2,{67,97,0}}, +/* 48185 */ {(12<<2)|2,{67,97,0}}, +/* 48186 */ {(12<<2)|2,{67,97,0}}, +/* 48187 */ {(12<<2)|2,{67,97,0}}, +/* 48188 */ {(12<<2)|2,{67,97,0}}, +/* 48189 */ {(12<<2)|2,{67,97,0}}, +/* 48190 */ {(12<<2)|2,{67,97,0}}, +/* 48191 */ {(12<<2)|2,{67,97,0}}, +/* 48192 */ {(12<<2)|2,{67,99,0}}, +/* 48193 */ {(12<<2)|2,{67,99,0}}, +/* 48194 */ {(12<<2)|2,{67,99,0}}, +/* 48195 */ {(12<<2)|2,{67,99,0}}, +/* 48196 */ {(12<<2)|2,{67,99,0}}, +/* 48197 */ {(12<<2)|2,{67,99,0}}, +/* 48198 */ {(12<<2)|2,{67,99,0}}, +/* 48199 */ {(12<<2)|2,{67,99,0}}, +/* 48200 */ {(12<<2)|2,{67,99,0}}, +/* 48201 */ {(12<<2)|2,{67,99,0}}, +/* 48202 */ {(12<<2)|2,{67,99,0}}, +/* 48203 */ {(12<<2)|2,{67,99,0}}, +/* 48204 */ {(12<<2)|2,{67,99,0}}, +/* 48205 */ {(12<<2)|2,{67,99,0}}, +/* 48206 */ {(12<<2)|2,{67,99,0}}, +/* 48207 */ {(12<<2)|2,{67,99,0}}, +/* 48208 */ {(12<<2)|2,{67,101,0}}, +/* 48209 */ {(12<<2)|2,{67,101,0}}, +/* 48210 */ {(12<<2)|2,{67,101,0}}, +/* 48211 */ {(12<<2)|2,{67,101,0}}, +/* 48212 */ {(12<<2)|2,{67,101,0}}, +/* 48213 */ {(12<<2)|2,{67,101,0}}, +/* 48214 */ {(12<<2)|2,{67,101,0}}, +/* 48215 */ {(12<<2)|2,{67,101,0}}, +/* 48216 */ {(12<<2)|2,{67,101,0}}, +/* 48217 */ {(12<<2)|2,{67,101,0}}, +/* 48218 */ {(12<<2)|2,{67,101,0}}, +/* 48219 */ {(12<<2)|2,{67,101,0}}, +/* 48220 */ {(12<<2)|2,{67,101,0}}, +/* 48221 */ {(12<<2)|2,{67,101,0}}, +/* 48222 */ {(12<<2)|2,{67,101,0}}, +/* 48223 */ {(12<<2)|2,{67,101,0}}, +/* 48224 */ {(12<<2)|2,{67,105,0}}, +/* 48225 */ {(12<<2)|2,{67,105,0}}, +/* 48226 */ {(12<<2)|2,{67,105,0}}, +/* 48227 */ {(12<<2)|2,{67,105,0}}, +/* 48228 */ {(12<<2)|2,{67,105,0}}, +/* 48229 */ {(12<<2)|2,{67,105,0}}, +/* 48230 */ {(12<<2)|2,{67,105,0}}, +/* 48231 */ {(12<<2)|2,{67,105,0}}, +/* 48232 */ {(12<<2)|2,{67,105,0}}, +/* 48233 */ {(12<<2)|2,{67,105,0}}, +/* 48234 */ {(12<<2)|2,{67,105,0}}, +/* 48235 */ {(12<<2)|2,{67,105,0}}, +/* 48236 */ {(12<<2)|2,{67,105,0}}, +/* 48237 */ {(12<<2)|2,{67,105,0}}, +/* 48238 */ {(12<<2)|2,{67,105,0}}, +/* 48239 */ {(12<<2)|2,{67,105,0}}, +/* 48240 */ {(12<<2)|2,{67,111,0}}, +/* 48241 */ {(12<<2)|2,{67,111,0}}, +/* 48242 */ {(12<<2)|2,{67,111,0}}, +/* 48243 */ {(12<<2)|2,{67,111,0}}, +/* 48244 */ {(12<<2)|2,{67,111,0}}, +/* 48245 */ {(12<<2)|2,{67,111,0}}, +/* 48246 */ {(12<<2)|2,{67,111,0}}, +/* 48247 */ {(12<<2)|2,{67,111,0}}, +/* 48248 */ {(12<<2)|2,{67,111,0}}, +/* 48249 */ {(12<<2)|2,{67,111,0}}, +/* 48250 */ {(12<<2)|2,{67,111,0}}, +/* 48251 */ {(12<<2)|2,{67,111,0}}, +/* 48252 */ {(12<<2)|2,{67,111,0}}, +/* 48253 */ {(12<<2)|2,{67,111,0}}, +/* 48254 */ {(12<<2)|2,{67,111,0}}, +/* 48255 */ {(12<<2)|2,{67,111,0}}, +/* 48256 */ {(12<<2)|2,{67,115,0}}, +/* 48257 */ {(12<<2)|2,{67,115,0}}, +/* 48258 */ {(12<<2)|2,{67,115,0}}, +/* 48259 */ {(12<<2)|2,{67,115,0}}, +/* 48260 */ {(12<<2)|2,{67,115,0}}, +/* 48261 */ {(12<<2)|2,{67,115,0}}, +/* 48262 */ {(12<<2)|2,{67,115,0}}, +/* 48263 */ {(12<<2)|2,{67,115,0}}, +/* 48264 */ {(12<<2)|2,{67,115,0}}, +/* 48265 */ {(12<<2)|2,{67,115,0}}, +/* 48266 */ {(12<<2)|2,{67,115,0}}, +/* 48267 */ {(12<<2)|2,{67,115,0}}, +/* 48268 */ {(12<<2)|2,{67,115,0}}, +/* 48269 */ {(12<<2)|2,{67,115,0}}, +/* 48270 */ {(12<<2)|2,{67,115,0}}, +/* 48271 */ {(12<<2)|2,{67,115,0}}, +/* 48272 */ {(12<<2)|2,{67,116,0}}, +/* 48273 */ {(12<<2)|2,{67,116,0}}, +/* 48274 */ {(12<<2)|2,{67,116,0}}, +/* 48275 */ {(12<<2)|2,{67,116,0}}, +/* 48276 */ {(12<<2)|2,{67,116,0}}, +/* 48277 */ {(12<<2)|2,{67,116,0}}, +/* 48278 */ {(12<<2)|2,{67,116,0}}, +/* 48279 */ {(12<<2)|2,{67,116,0}}, +/* 48280 */ {(12<<2)|2,{67,116,0}}, +/* 48281 */ {(12<<2)|2,{67,116,0}}, +/* 48282 */ {(12<<2)|2,{67,116,0}}, +/* 48283 */ {(12<<2)|2,{67,116,0}}, +/* 48284 */ {(12<<2)|2,{67,116,0}}, +/* 48285 */ {(12<<2)|2,{67,116,0}}, +/* 48286 */ {(12<<2)|2,{67,116,0}}, +/* 48287 */ {(12<<2)|2,{67,116,0}}, +/* 48288 */ {(13<<2)|2,{67,32,0}}, +/* 48289 */ {(13<<2)|2,{67,32,0}}, +/* 48290 */ {(13<<2)|2,{67,32,0}}, +/* 48291 */ {(13<<2)|2,{67,32,0}}, +/* 48292 */ {(13<<2)|2,{67,32,0}}, +/* 48293 */ {(13<<2)|2,{67,32,0}}, +/* 48294 */ {(13<<2)|2,{67,32,0}}, +/* 48295 */ {(13<<2)|2,{67,32,0}}, +/* 48296 */ {(13<<2)|2,{67,37,0}}, +/* 48297 */ {(13<<2)|2,{67,37,0}}, +/* 48298 */ {(13<<2)|2,{67,37,0}}, +/* 48299 */ {(13<<2)|2,{67,37,0}}, +/* 48300 */ {(13<<2)|2,{67,37,0}}, +/* 48301 */ {(13<<2)|2,{67,37,0}}, +/* 48302 */ {(13<<2)|2,{67,37,0}}, +/* 48303 */ {(13<<2)|2,{67,37,0}}, +/* 48304 */ {(13<<2)|2,{67,45,0}}, +/* 48305 */ {(13<<2)|2,{67,45,0}}, +/* 48306 */ {(13<<2)|2,{67,45,0}}, +/* 48307 */ {(13<<2)|2,{67,45,0}}, +/* 48308 */ {(13<<2)|2,{67,45,0}}, +/* 48309 */ {(13<<2)|2,{67,45,0}}, +/* 48310 */ {(13<<2)|2,{67,45,0}}, +/* 48311 */ {(13<<2)|2,{67,45,0}}, +/* 48312 */ {(13<<2)|2,{67,46,0}}, +/* 48313 */ {(13<<2)|2,{67,46,0}}, +/* 48314 */ {(13<<2)|2,{67,46,0}}, +/* 48315 */ {(13<<2)|2,{67,46,0}}, +/* 48316 */ {(13<<2)|2,{67,46,0}}, +/* 48317 */ {(13<<2)|2,{67,46,0}}, +/* 48318 */ {(13<<2)|2,{67,46,0}}, +/* 48319 */ {(13<<2)|2,{67,46,0}}, +/* 48320 */ {(13<<2)|2,{67,47,0}}, +/* 48321 */ {(13<<2)|2,{67,47,0}}, +/* 48322 */ {(13<<2)|2,{67,47,0}}, +/* 48323 */ {(13<<2)|2,{67,47,0}}, +/* 48324 */ {(13<<2)|2,{67,47,0}}, +/* 48325 */ {(13<<2)|2,{67,47,0}}, +/* 48326 */ {(13<<2)|2,{67,47,0}}, +/* 48327 */ {(13<<2)|2,{67,47,0}}, +/* 48328 */ {(13<<2)|2,{67,51,0}}, +/* 48329 */ {(13<<2)|2,{67,51,0}}, +/* 48330 */ {(13<<2)|2,{67,51,0}}, +/* 48331 */ {(13<<2)|2,{67,51,0}}, +/* 48332 */ {(13<<2)|2,{67,51,0}}, +/* 48333 */ {(13<<2)|2,{67,51,0}}, +/* 48334 */ {(13<<2)|2,{67,51,0}}, +/* 48335 */ {(13<<2)|2,{67,51,0}}, +/* 48336 */ {(13<<2)|2,{67,52,0}}, +/* 48337 */ {(13<<2)|2,{67,52,0}}, +/* 48338 */ {(13<<2)|2,{67,52,0}}, +/* 48339 */ {(13<<2)|2,{67,52,0}}, +/* 48340 */ {(13<<2)|2,{67,52,0}}, +/* 48341 */ {(13<<2)|2,{67,52,0}}, +/* 48342 */ {(13<<2)|2,{67,52,0}}, +/* 48343 */ {(13<<2)|2,{67,52,0}}, +/* 48344 */ {(13<<2)|2,{67,53,0}}, +/* 48345 */ {(13<<2)|2,{67,53,0}}, +/* 48346 */ {(13<<2)|2,{67,53,0}}, +/* 48347 */ {(13<<2)|2,{67,53,0}}, +/* 48348 */ {(13<<2)|2,{67,53,0}}, +/* 48349 */ {(13<<2)|2,{67,53,0}}, +/* 48350 */ {(13<<2)|2,{67,53,0}}, +/* 48351 */ {(13<<2)|2,{67,53,0}}, +/* 48352 */ {(13<<2)|2,{67,54,0}}, +/* 48353 */ {(13<<2)|2,{67,54,0}}, +/* 48354 */ {(13<<2)|2,{67,54,0}}, +/* 48355 */ {(13<<2)|2,{67,54,0}}, +/* 48356 */ {(13<<2)|2,{67,54,0}}, +/* 48357 */ {(13<<2)|2,{67,54,0}}, +/* 48358 */ {(13<<2)|2,{67,54,0}}, +/* 48359 */ {(13<<2)|2,{67,54,0}}, +/* 48360 */ {(13<<2)|2,{67,55,0}}, +/* 48361 */ {(13<<2)|2,{67,55,0}}, +/* 48362 */ {(13<<2)|2,{67,55,0}}, +/* 48363 */ {(13<<2)|2,{67,55,0}}, +/* 48364 */ {(13<<2)|2,{67,55,0}}, +/* 48365 */ {(13<<2)|2,{67,55,0}}, +/* 48366 */ {(13<<2)|2,{67,55,0}}, +/* 48367 */ {(13<<2)|2,{67,55,0}}, +/* 48368 */ {(13<<2)|2,{67,56,0}}, +/* 48369 */ {(13<<2)|2,{67,56,0}}, +/* 48370 */ {(13<<2)|2,{67,56,0}}, +/* 48371 */ {(13<<2)|2,{67,56,0}}, +/* 48372 */ {(13<<2)|2,{67,56,0}}, +/* 48373 */ {(13<<2)|2,{67,56,0}}, +/* 48374 */ {(13<<2)|2,{67,56,0}}, +/* 48375 */ {(13<<2)|2,{67,56,0}}, +/* 48376 */ {(13<<2)|2,{67,57,0}}, +/* 48377 */ {(13<<2)|2,{67,57,0}}, +/* 48378 */ {(13<<2)|2,{67,57,0}}, +/* 48379 */ {(13<<2)|2,{67,57,0}}, +/* 48380 */ {(13<<2)|2,{67,57,0}}, +/* 48381 */ {(13<<2)|2,{67,57,0}}, +/* 48382 */ {(13<<2)|2,{67,57,0}}, +/* 48383 */ {(13<<2)|2,{67,57,0}}, +/* 48384 */ {(13<<2)|2,{67,61,0}}, +/* 48385 */ {(13<<2)|2,{67,61,0}}, +/* 48386 */ {(13<<2)|2,{67,61,0}}, +/* 48387 */ {(13<<2)|2,{67,61,0}}, +/* 48388 */ {(13<<2)|2,{67,61,0}}, +/* 48389 */ {(13<<2)|2,{67,61,0}}, +/* 48390 */ {(13<<2)|2,{67,61,0}}, +/* 48391 */ {(13<<2)|2,{67,61,0}}, +/* 48392 */ {(13<<2)|2,{67,65,0}}, +/* 48393 */ {(13<<2)|2,{67,65,0}}, +/* 48394 */ {(13<<2)|2,{67,65,0}}, +/* 48395 */ {(13<<2)|2,{67,65,0}}, +/* 48396 */ {(13<<2)|2,{67,65,0}}, +/* 48397 */ {(13<<2)|2,{67,65,0}}, +/* 48398 */ {(13<<2)|2,{67,65,0}}, +/* 48399 */ {(13<<2)|2,{67,65,0}}, +/* 48400 */ {(13<<2)|2,{67,95,0}}, +/* 48401 */ {(13<<2)|2,{67,95,0}}, +/* 48402 */ {(13<<2)|2,{67,95,0}}, +/* 48403 */ {(13<<2)|2,{67,95,0}}, +/* 48404 */ {(13<<2)|2,{67,95,0}}, +/* 48405 */ {(13<<2)|2,{67,95,0}}, +/* 48406 */ {(13<<2)|2,{67,95,0}}, +/* 48407 */ {(13<<2)|2,{67,95,0}}, +/* 48408 */ {(13<<2)|2,{67,98,0}}, +/* 48409 */ {(13<<2)|2,{67,98,0}}, +/* 48410 */ {(13<<2)|2,{67,98,0}}, +/* 48411 */ {(13<<2)|2,{67,98,0}}, +/* 48412 */ {(13<<2)|2,{67,98,0}}, +/* 48413 */ {(13<<2)|2,{67,98,0}}, +/* 48414 */ {(13<<2)|2,{67,98,0}}, +/* 48415 */ {(13<<2)|2,{67,98,0}}, +/* 48416 */ {(13<<2)|2,{67,100,0}}, +/* 48417 */ {(13<<2)|2,{67,100,0}}, +/* 48418 */ {(13<<2)|2,{67,100,0}}, +/* 48419 */ {(13<<2)|2,{67,100,0}}, +/* 48420 */ {(13<<2)|2,{67,100,0}}, +/* 48421 */ {(13<<2)|2,{67,100,0}}, +/* 48422 */ {(13<<2)|2,{67,100,0}}, +/* 48423 */ {(13<<2)|2,{67,100,0}}, +/* 48424 */ {(13<<2)|2,{67,102,0}}, +/* 48425 */ {(13<<2)|2,{67,102,0}}, +/* 48426 */ {(13<<2)|2,{67,102,0}}, +/* 48427 */ {(13<<2)|2,{67,102,0}}, +/* 48428 */ {(13<<2)|2,{67,102,0}}, +/* 48429 */ {(13<<2)|2,{67,102,0}}, +/* 48430 */ {(13<<2)|2,{67,102,0}}, +/* 48431 */ {(13<<2)|2,{67,102,0}}, +/* 48432 */ {(13<<2)|2,{67,103,0}}, +/* 48433 */ {(13<<2)|2,{67,103,0}}, +/* 48434 */ {(13<<2)|2,{67,103,0}}, +/* 48435 */ {(13<<2)|2,{67,103,0}}, +/* 48436 */ {(13<<2)|2,{67,103,0}}, +/* 48437 */ {(13<<2)|2,{67,103,0}}, +/* 48438 */ {(13<<2)|2,{67,103,0}}, +/* 48439 */ {(13<<2)|2,{67,103,0}}, +/* 48440 */ {(13<<2)|2,{67,104,0}}, +/* 48441 */ {(13<<2)|2,{67,104,0}}, +/* 48442 */ {(13<<2)|2,{67,104,0}}, +/* 48443 */ {(13<<2)|2,{67,104,0}}, +/* 48444 */ {(13<<2)|2,{67,104,0}}, +/* 48445 */ {(13<<2)|2,{67,104,0}}, +/* 48446 */ {(13<<2)|2,{67,104,0}}, +/* 48447 */ {(13<<2)|2,{67,104,0}}, +/* 48448 */ {(13<<2)|2,{67,108,0}}, +/* 48449 */ {(13<<2)|2,{67,108,0}}, +/* 48450 */ {(13<<2)|2,{67,108,0}}, +/* 48451 */ {(13<<2)|2,{67,108,0}}, +/* 48452 */ {(13<<2)|2,{67,108,0}}, +/* 48453 */ {(13<<2)|2,{67,108,0}}, +/* 48454 */ {(13<<2)|2,{67,108,0}}, +/* 48455 */ {(13<<2)|2,{67,108,0}}, +/* 48456 */ {(13<<2)|2,{67,109,0}}, +/* 48457 */ {(13<<2)|2,{67,109,0}}, +/* 48458 */ {(13<<2)|2,{67,109,0}}, +/* 48459 */ {(13<<2)|2,{67,109,0}}, +/* 48460 */ {(13<<2)|2,{67,109,0}}, +/* 48461 */ {(13<<2)|2,{67,109,0}}, +/* 48462 */ {(13<<2)|2,{67,109,0}}, +/* 48463 */ {(13<<2)|2,{67,109,0}}, +/* 48464 */ {(13<<2)|2,{67,110,0}}, +/* 48465 */ {(13<<2)|2,{67,110,0}}, +/* 48466 */ {(13<<2)|2,{67,110,0}}, +/* 48467 */ {(13<<2)|2,{67,110,0}}, +/* 48468 */ {(13<<2)|2,{67,110,0}}, +/* 48469 */ {(13<<2)|2,{67,110,0}}, +/* 48470 */ {(13<<2)|2,{67,110,0}}, +/* 48471 */ {(13<<2)|2,{67,110,0}}, +/* 48472 */ {(13<<2)|2,{67,112,0}}, +/* 48473 */ {(13<<2)|2,{67,112,0}}, +/* 48474 */ {(13<<2)|2,{67,112,0}}, +/* 48475 */ {(13<<2)|2,{67,112,0}}, +/* 48476 */ {(13<<2)|2,{67,112,0}}, +/* 48477 */ {(13<<2)|2,{67,112,0}}, +/* 48478 */ {(13<<2)|2,{67,112,0}}, +/* 48479 */ {(13<<2)|2,{67,112,0}}, +/* 48480 */ {(13<<2)|2,{67,114,0}}, +/* 48481 */ {(13<<2)|2,{67,114,0}}, +/* 48482 */ {(13<<2)|2,{67,114,0}}, +/* 48483 */ {(13<<2)|2,{67,114,0}}, +/* 48484 */ {(13<<2)|2,{67,114,0}}, +/* 48485 */ {(13<<2)|2,{67,114,0}}, +/* 48486 */ {(13<<2)|2,{67,114,0}}, +/* 48487 */ {(13<<2)|2,{67,114,0}}, +/* 48488 */ {(13<<2)|2,{67,117,0}}, +/* 48489 */ {(13<<2)|2,{67,117,0}}, +/* 48490 */ {(13<<2)|2,{67,117,0}}, +/* 48491 */ {(13<<2)|2,{67,117,0}}, +/* 48492 */ {(13<<2)|2,{67,117,0}}, +/* 48493 */ {(13<<2)|2,{67,117,0}}, +/* 48494 */ {(13<<2)|2,{67,117,0}}, +/* 48495 */ {(13<<2)|2,{67,117,0}}, +/* 48496 */ {(14<<2)|2,{67,58,0}}, +/* 48497 */ {(14<<2)|2,{67,58,0}}, +/* 48498 */ {(14<<2)|2,{67,58,0}}, +/* 48499 */ {(14<<2)|2,{67,58,0}}, +/* 48500 */ {(14<<2)|2,{67,66,0}}, +/* 48501 */ {(14<<2)|2,{67,66,0}}, +/* 48502 */ {(14<<2)|2,{67,66,0}}, +/* 48503 */ {(14<<2)|2,{67,66,0}}, +/* 48504 */ {(14<<2)|2,{67,67,0}}, +/* 48505 */ {(14<<2)|2,{67,67,0}}, +/* 48506 */ {(14<<2)|2,{67,67,0}}, +/* 48507 */ {(14<<2)|2,{67,67,0}}, +/* 48508 */ {(14<<2)|2,{67,68,0}}, +/* 48509 */ {(14<<2)|2,{67,68,0}}, +/* 48510 */ {(14<<2)|2,{67,68,0}}, +/* 48511 */ {(14<<2)|2,{67,68,0}}, +/* 48512 */ {(14<<2)|2,{67,69,0}}, +/* 48513 */ {(14<<2)|2,{67,69,0}}, +/* 48514 */ {(14<<2)|2,{67,69,0}}, +/* 48515 */ {(14<<2)|2,{67,69,0}}, +/* 48516 */ {(14<<2)|2,{67,70,0}}, +/* 48517 */ {(14<<2)|2,{67,70,0}}, +/* 48518 */ {(14<<2)|2,{67,70,0}}, +/* 48519 */ {(14<<2)|2,{67,70,0}}, +/* 48520 */ {(14<<2)|2,{67,71,0}}, +/* 48521 */ {(14<<2)|2,{67,71,0}}, +/* 48522 */ {(14<<2)|2,{67,71,0}}, +/* 48523 */ {(14<<2)|2,{67,71,0}}, +/* 48524 */ {(14<<2)|2,{67,72,0}}, +/* 48525 */ {(14<<2)|2,{67,72,0}}, +/* 48526 */ {(14<<2)|2,{67,72,0}}, +/* 48527 */ {(14<<2)|2,{67,72,0}}, +/* 48528 */ {(14<<2)|2,{67,73,0}}, +/* 48529 */ {(14<<2)|2,{67,73,0}}, +/* 48530 */ {(14<<2)|2,{67,73,0}}, +/* 48531 */ {(14<<2)|2,{67,73,0}}, +/* 48532 */ {(14<<2)|2,{67,74,0}}, +/* 48533 */ {(14<<2)|2,{67,74,0}}, +/* 48534 */ {(14<<2)|2,{67,74,0}}, +/* 48535 */ {(14<<2)|2,{67,74,0}}, +/* 48536 */ {(14<<2)|2,{67,75,0}}, +/* 48537 */ {(14<<2)|2,{67,75,0}}, +/* 48538 */ {(14<<2)|2,{67,75,0}}, +/* 48539 */ {(14<<2)|2,{67,75,0}}, +/* 48540 */ {(14<<2)|2,{67,76,0}}, +/* 48541 */ {(14<<2)|2,{67,76,0}}, +/* 48542 */ {(14<<2)|2,{67,76,0}}, +/* 48543 */ {(14<<2)|2,{67,76,0}}, +/* 48544 */ {(14<<2)|2,{67,77,0}}, +/* 48545 */ {(14<<2)|2,{67,77,0}}, +/* 48546 */ {(14<<2)|2,{67,77,0}}, +/* 48547 */ {(14<<2)|2,{67,77,0}}, +/* 48548 */ {(14<<2)|2,{67,78,0}}, +/* 48549 */ {(14<<2)|2,{67,78,0}}, +/* 48550 */ {(14<<2)|2,{67,78,0}}, +/* 48551 */ {(14<<2)|2,{67,78,0}}, +/* 48552 */ {(14<<2)|2,{67,79,0}}, +/* 48553 */ {(14<<2)|2,{67,79,0}}, +/* 48554 */ {(14<<2)|2,{67,79,0}}, +/* 48555 */ {(14<<2)|2,{67,79,0}}, +/* 48556 */ {(14<<2)|2,{67,80,0}}, +/* 48557 */ {(14<<2)|2,{67,80,0}}, +/* 48558 */ {(14<<2)|2,{67,80,0}}, +/* 48559 */ {(14<<2)|2,{67,80,0}}, +/* 48560 */ {(14<<2)|2,{67,81,0}}, +/* 48561 */ {(14<<2)|2,{67,81,0}}, +/* 48562 */ {(14<<2)|2,{67,81,0}}, +/* 48563 */ {(14<<2)|2,{67,81,0}}, +/* 48564 */ {(14<<2)|2,{67,82,0}}, +/* 48565 */ {(14<<2)|2,{67,82,0}}, +/* 48566 */ {(14<<2)|2,{67,82,0}}, +/* 48567 */ {(14<<2)|2,{67,82,0}}, +/* 48568 */ {(14<<2)|2,{67,83,0}}, +/* 48569 */ {(14<<2)|2,{67,83,0}}, +/* 48570 */ {(14<<2)|2,{67,83,0}}, +/* 48571 */ {(14<<2)|2,{67,83,0}}, +/* 48572 */ {(14<<2)|2,{67,84,0}}, +/* 48573 */ {(14<<2)|2,{67,84,0}}, +/* 48574 */ {(14<<2)|2,{67,84,0}}, +/* 48575 */ {(14<<2)|2,{67,84,0}}, +/* 48576 */ {(14<<2)|2,{67,85,0}}, +/* 48577 */ {(14<<2)|2,{67,85,0}}, +/* 48578 */ {(14<<2)|2,{67,85,0}}, +/* 48579 */ {(14<<2)|2,{67,85,0}}, +/* 48580 */ {(14<<2)|2,{67,86,0}}, +/* 48581 */ {(14<<2)|2,{67,86,0}}, +/* 48582 */ {(14<<2)|2,{67,86,0}}, +/* 48583 */ {(14<<2)|2,{67,86,0}}, +/* 48584 */ {(14<<2)|2,{67,87,0}}, +/* 48585 */ {(14<<2)|2,{67,87,0}}, +/* 48586 */ {(14<<2)|2,{67,87,0}}, +/* 48587 */ {(14<<2)|2,{67,87,0}}, +/* 48588 */ {(14<<2)|2,{67,89,0}}, +/* 48589 */ {(14<<2)|2,{67,89,0}}, +/* 48590 */ {(14<<2)|2,{67,89,0}}, +/* 48591 */ {(14<<2)|2,{67,89,0}}, +/* 48592 */ {(14<<2)|2,{67,106,0}}, +/* 48593 */ {(14<<2)|2,{67,106,0}}, +/* 48594 */ {(14<<2)|2,{67,106,0}}, +/* 48595 */ {(14<<2)|2,{67,106,0}}, +/* 48596 */ {(14<<2)|2,{67,107,0}}, +/* 48597 */ {(14<<2)|2,{67,107,0}}, +/* 48598 */ {(14<<2)|2,{67,107,0}}, +/* 48599 */ {(14<<2)|2,{67,107,0}}, +/* 48600 */ {(14<<2)|2,{67,113,0}}, +/* 48601 */ {(14<<2)|2,{67,113,0}}, +/* 48602 */ {(14<<2)|2,{67,113,0}}, +/* 48603 */ {(14<<2)|2,{67,113,0}}, +/* 48604 */ {(14<<2)|2,{67,118,0}}, +/* 48605 */ {(14<<2)|2,{67,118,0}}, +/* 48606 */ {(14<<2)|2,{67,118,0}}, +/* 48607 */ {(14<<2)|2,{67,118,0}}, +/* 48608 */ {(14<<2)|2,{67,119,0}}, +/* 48609 */ {(14<<2)|2,{67,119,0}}, +/* 48610 */ {(14<<2)|2,{67,119,0}}, +/* 48611 */ {(14<<2)|2,{67,119,0}}, +/* 48612 */ {(14<<2)|2,{67,120,0}}, +/* 48613 */ {(14<<2)|2,{67,120,0}}, +/* 48614 */ {(14<<2)|2,{67,120,0}}, +/* 48615 */ {(14<<2)|2,{67,120,0}}, +/* 48616 */ {(14<<2)|2,{67,121,0}}, +/* 48617 */ {(14<<2)|2,{67,121,0}}, +/* 48618 */ {(14<<2)|2,{67,121,0}}, +/* 48619 */ {(14<<2)|2,{67,121,0}}, +/* 48620 */ {(14<<2)|2,{67,122,0}}, +/* 48621 */ {(14<<2)|2,{67,122,0}}, +/* 48622 */ {(14<<2)|2,{67,122,0}}, +/* 48623 */ {(14<<2)|2,{67,122,0}}, +/* 48624 */ {(15<<2)|2,{67,38,0}}, +/* 48625 */ {(15<<2)|2,{67,38,0}}, +/* 48626 */ {(15<<2)|2,{67,42,0}}, +/* 48627 */ {(15<<2)|2,{67,42,0}}, +/* 48628 */ {(15<<2)|2,{67,44,0}}, +/* 48629 */ {(15<<2)|2,{67,44,0}}, +/* 48630 */ {(15<<2)|2,{67,59,0}}, +/* 48631 */ {(15<<2)|2,{67,59,0}}, +/* 48632 */ {(15<<2)|2,{67,88,0}}, +/* 48633 */ {(15<<2)|2,{67,88,0}}, +/* 48634 */ {(15<<2)|2,{67,90,0}}, +/* 48635 */ {(15<<2)|2,{67,90,0}}, +/* 48636 */ {(7<<2)|1,{67,0,0}}, +/* 48637 */ {(7<<2)|1,{67,0,0}}, +/* 48638 */ {(7<<2)|1,{67,0,0}}, +/* 48639 */ {(7<<2)|1,{67,0,0}}, +/* 48640 */ {(12<<2)|2,{68,48,0}}, +/* 48641 */ {(12<<2)|2,{68,48,0}}, +/* 48642 */ {(12<<2)|2,{68,48,0}}, +/* 48643 */ {(12<<2)|2,{68,48,0}}, +/* 48644 */ {(12<<2)|2,{68,48,0}}, +/* 48645 */ {(12<<2)|2,{68,48,0}}, +/* 48646 */ {(12<<2)|2,{68,48,0}}, +/* 48647 */ {(12<<2)|2,{68,48,0}}, +/* 48648 */ {(12<<2)|2,{68,48,0}}, +/* 48649 */ {(12<<2)|2,{68,48,0}}, +/* 48650 */ {(12<<2)|2,{68,48,0}}, +/* 48651 */ {(12<<2)|2,{68,48,0}}, +/* 48652 */ {(12<<2)|2,{68,48,0}}, +/* 48653 */ {(12<<2)|2,{68,48,0}}, +/* 48654 */ {(12<<2)|2,{68,48,0}}, +/* 48655 */ {(12<<2)|2,{68,48,0}}, +/* 48656 */ {(12<<2)|2,{68,49,0}}, +/* 48657 */ {(12<<2)|2,{68,49,0}}, +/* 48658 */ {(12<<2)|2,{68,49,0}}, +/* 48659 */ {(12<<2)|2,{68,49,0}}, +/* 48660 */ {(12<<2)|2,{68,49,0}}, +/* 48661 */ {(12<<2)|2,{68,49,0}}, +/* 48662 */ {(12<<2)|2,{68,49,0}}, +/* 48663 */ {(12<<2)|2,{68,49,0}}, +/* 48664 */ {(12<<2)|2,{68,49,0}}, +/* 48665 */ {(12<<2)|2,{68,49,0}}, +/* 48666 */ {(12<<2)|2,{68,49,0}}, +/* 48667 */ {(12<<2)|2,{68,49,0}}, +/* 48668 */ {(12<<2)|2,{68,49,0}}, +/* 48669 */ {(12<<2)|2,{68,49,0}}, +/* 48670 */ {(12<<2)|2,{68,49,0}}, +/* 48671 */ {(12<<2)|2,{68,49,0}}, +/* 48672 */ {(12<<2)|2,{68,50,0}}, +/* 48673 */ {(12<<2)|2,{68,50,0}}, +/* 48674 */ {(12<<2)|2,{68,50,0}}, +/* 48675 */ {(12<<2)|2,{68,50,0}}, +/* 48676 */ {(12<<2)|2,{68,50,0}}, +/* 48677 */ {(12<<2)|2,{68,50,0}}, +/* 48678 */ {(12<<2)|2,{68,50,0}}, +/* 48679 */ {(12<<2)|2,{68,50,0}}, +/* 48680 */ {(12<<2)|2,{68,50,0}}, +/* 48681 */ {(12<<2)|2,{68,50,0}}, +/* 48682 */ {(12<<2)|2,{68,50,0}}, +/* 48683 */ {(12<<2)|2,{68,50,0}}, +/* 48684 */ {(12<<2)|2,{68,50,0}}, +/* 48685 */ {(12<<2)|2,{68,50,0}}, +/* 48686 */ {(12<<2)|2,{68,50,0}}, +/* 48687 */ {(12<<2)|2,{68,50,0}}, +/* 48688 */ {(12<<2)|2,{68,97,0}}, +/* 48689 */ {(12<<2)|2,{68,97,0}}, +/* 48690 */ {(12<<2)|2,{68,97,0}}, +/* 48691 */ {(12<<2)|2,{68,97,0}}, +/* 48692 */ {(12<<2)|2,{68,97,0}}, +/* 48693 */ {(12<<2)|2,{68,97,0}}, +/* 48694 */ {(12<<2)|2,{68,97,0}}, +/* 48695 */ {(12<<2)|2,{68,97,0}}, +/* 48696 */ {(12<<2)|2,{68,97,0}}, +/* 48697 */ {(12<<2)|2,{68,97,0}}, +/* 48698 */ {(12<<2)|2,{68,97,0}}, +/* 48699 */ {(12<<2)|2,{68,97,0}}, +/* 48700 */ {(12<<2)|2,{68,97,0}}, +/* 48701 */ {(12<<2)|2,{68,97,0}}, +/* 48702 */ {(12<<2)|2,{68,97,0}}, +/* 48703 */ {(12<<2)|2,{68,97,0}}, +/* 48704 */ {(12<<2)|2,{68,99,0}}, +/* 48705 */ {(12<<2)|2,{68,99,0}}, +/* 48706 */ {(12<<2)|2,{68,99,0}}, +/* 48707 */ {(12<<2)|2,{68,99,0}}, +/* 48708 */ {(12<<2)|2,{68,99,0}}, +/* 48709 */ {(12<<2)|2,{68,99,0}}, +/* 48710 */ {(12<<2)|2,{68,99,0}}, +/* 48711 */ {(12<<2)|2,{68,99,0}}, +/* 48712 */ {(12<<2)|2,{68,99,0}}, +/* 48713 */ {(12<<2)|2,{68,99,0}}, +/* 48714 */ {(12<<2)|2,{68,99,0}}, +/* 48715 */ {(12<<2)|2,{68,99,0}}, +/* 48716 */ {(12<<2)|2,{68,99,0}}, +/* 48717 */ {(12<<2)|2,{68,99,0}}, +/* 48718 */ {(12<<2)|2,{68,99,0}}, +/* 48719 */ {(12<<2)|2,{68,99,0}}, +/* 48720 */ {(12<<2)|2,{68,101,0}}, +/* 48721 */ {(12<<2)|2,{68,101,0}}, +/* 48722 */ {(12<<2)|2,{68,101,0}}, +/* 48723 */ {(12<<2)|2,{68,101,0}}, +/* 48724 */ {(12<<2)|2,{68,101,0}}, +/* 48725 */ {(12<<2)|2,{68,101,0}}, +/* 48726 */ {(12<<2)|2,{68,101,0}}, +/* 48727 */ {(12<<2)|2,{68,101,0}}, +/* 48728 */ {(12<<2)|2,{68,101,0}}, +/* 48729 */ {(12<<2)|2,{68,101,0}}, +/* 48730 */ {(12<<2)|2,{68,101,0}}, +/* 48731 */ {(12<<2)|2,{68,101,0}}, +/* 48732 */ {(12<<2)|2,{68,101,0}}, +/* 48733 */ {(12<<2)|2,{68,101,0}}, +/* 48734 */ {(12<<2)|2,{68,101,0}}, +/* 48735 */ {(12<<2)|2,{68,101,0}}, +/* 48736 */ {(12<<2)|2,{68,105,0}}, +/* 48737 */ {(12<<2)|2,{68,105,0}}, +/* 48738 */ {(12<<2)|2,{68,105,0}}, +/* 48739 */ {(12<<2)|2,{68,105,0}}, +/* 48740 */ {(12<<2)|2,{68,105,0}}, +/* 48741 */ {(12<<2)|2,{68,105,0}}, +/* 48742 */ {(12<<2)|2,{68,105,0}}, +/* 48743 */ {(12<<2)|2,{68,105,0}}, +/* 48744 */ {(12<<2)|2,{68,105,0}}, +/* 48745 */ {(12<<2)|2,{68,105,0}}, +/* 48746 */ {(12<<2)|2,{68,105,0}}, +/* 48747 */ {(12<<2)|2,{68,105,0}}, +/* 48748 */ {(12<<2)|2,{68,105,0}}, +/* 48749 */ {(12<<2)|2,{68,105,0}}, +/* 48750 */ {(12<<2)|2,{68,105,0}}, +/* 48751 */ {(12<<2)|2,{68,105,0}}, +/* 48752 */ {(12<<2)|2,{68,111,0}}, +/* 48753 */ {(12<<2)|2,{68,111,0}}, +/* 48754 */ {(12<<2)|2,{68,111,0}}, +/* 48755 */ {(12<<2)|2,{68,111,0}}, +/* 48756 */ {(12<<2)|2,{68,111,0}}, +/* 48757 */ {(12<<2)|2,{68,111,0}}, +/* 48758 */ {(12<<2)|2,{68,111,0}}, +/* 48759 */ {(12<<2)|2,{68,111,0}}, +/* 48760 */ {(12<<2)|2,{68,111,0}}, +/* 48761 */ {(12<<2)|2,{68,111,0}}, +/* 48762 */ {(12<<2)|2,{68,111,0}}, +/* 48763 */ {(12<<2)|2,{68,111,0}}, +/* 48764 */ {(12<<2)|2,{68,111,0}}, +/* 48765 */ {(12<<2)|2,{68,111,0}}, +/* 48766 */ {(12<<2)|2,{68,111,0}}, +/* 48767 */ {(12<<2)|2,{68,111,0}}, +/* 48768 */ {(12<<2)|2,{68,115,0}}, +/* 48769 */ {(12<<2)|2,{68,115,0}}, +/* 48770 */ {(12<<2)|2,{68,115,0}}, +/* 48771 */ {(12<<2)|2,{68,115,0}}, +/* 48772 */ {(12<<2)|2,{68,115,0}}, +/* 48773 */ {(12<<2)|2,{68,115,0}}, +/* 48774 */ {(12<<2)|2,{68,115,0}}, +/* 48775 */ {(12<<2)|2,{68,115,0}}, +/* 48776 */ {(12<<2)|2,{68,115,0}}, +/* 48777 */ {(12<<2)|2,{68,115,0}}, +/* 48778 */ {(12<<2)|2,{68,115,0}}, +/* 48779 */ {(12<<2)|2,{68,115,0}}, +/* 48780 */ {(12<<2)|2,{68,115,0}}, +/* 48781 */ {(12<<2)|2,{68,115,0}}, +/* 48782 */ {(12<<2)|2,{68,115,0}}, +/* 48783 */ {(12<<2)|2,{68,115,0}}, +/* 48784 */ {(12<<2)|2,{68,116,0}}, +/* 48785 */ {(12<<2)|2,{68,116,0}}, +/* 48786 */ {(12<<2)|2,{68,116,0}}, +/* 48787 */ {(12<<2)|2,{68,116,0}}, +/* 48788 */ {(12<<2)|2,{68,116,0}}, +/* 48789 */ {(12<<2)|2,{68,116,0}}, +/* 48790 */ {(12<<2)|2,{68,116,0}}, +/* 48791 */ {(12<<2)|2,{68,116,0}}, +/* 48792 */ {(12<<2)|2,{68,116,0}}, +/* 48793 */ {(12<<2)|2,{68,116,0}}, +/* 48794 */ {(12<<2)|2,{68,116,0}}, +/* 48795 */ {(12<<2)|2,{68,116,0}}, +/* 48796 */ {(12<<2)|2,{68,116,0}}, +/* 48797 */ {(12<<2)|2,{68,116,0}}, +/* 48798 */ {(12<<2)|2,{68,116,0}}, +/* 48799 */ {(12<<2)|2,{68,116,0}}, +/* 48800 */ {(13<<2)|2,{68,32,0}}, +/* 48801 */ {(13<<2)|2,{68,32,0}}, +/* 48802 */ {(13<<2)|2,{68,32,0}}, +/* 48803 */ {(13<<2)|2,{68,32,0}}, +/* 48804 */ {(13<<2)|2,{68,32,0}}, +/* 48805 */ {(13<<2)|2,{68,32,0}}, +/* 48806 */ {(13<<2)|2,{68,32,0}}, +/* 48807 */ {(13<<2)|2,{68,32,0}}, +/* 48808 */ {(13<<2)|2,{68,37,0}}, +/* 48809 */ {(13<<2)|2,{68,37,0}}, +/* 48810 */ {(13<<2)|2,{68,37,0}}, +/* 48811 */ {(13<<2)|2,{68,37,0}}, +/* 48812 */ {(13<<2)|2,{68,37,0}}, +/* 48813 */ {(13<<2)|2,{68,37,0}}, +/* 48814 */ {(13<<2)|2,{68,37,0}}, +/* 48815 */ {(13<<2)|2,{68,37,0}}, +/* 48816 */ {(13<<2)|2,{68,45,0}}, +/* 48817 */ {(13<<2)|2,{68,45,0}}, +/* 48818 */ {(13<<2)|2,{68,45,0}}, +/* 48819 */ {(13<<2)|2,{68,45,0}}, +/* 48820 */ {(13<<2)|2,{68,45,0}}, +/* 48821 */ {(13<<2)|2,{68,45,0}}, +/* 48822 */ {(13<<2)|2,{68,45,0}}, +/* 48823 */ {(13<<2)|2,{68,45,0}}, +/* 48824 */ {(13<<2)|2,{68,46,0}}, +/* 48825 */ {(13<<2)|2,{68,46,0}}, +/* 48826 */ {(13<<2)|2,{68,46,0}}, +/* 48827 */ {(13<<2)|2,{68,46,0}}, +/* 48828 */ {(13<<2)|2,{68,46,0}}, +/* 48829 */ {(13<<2)|2,{68,46,0}}, +/* 48830 */ {(13<<2)|2,{68,46,0}}, +/* 48831 */ {(13<<2)|2,{68,46,0}}, +/* 48832 */ {(13<<2)|2,{68,47,0}}, +/* 48833 */ {(13<<2)|2,{68,47,0}}, +/* 48834 */ {(13<<2)|2,{68,47,0}}, +/* 48835 */ {(13<<2)|2,{68,47,0}}, +/* 48836 */ {(13<<2)|2,{68,47,0}}, +/* 48837 */ {(13<<2)|2,{68,47,0}}, +/* 48838 */ {(13<<2)|2,{68,47,0}}, +/* 48839 */ {(13<<2)|2,{68,47,0}}, +/* 48840 */ {(13<<2)|2,{68,51,0}}, +/* 48841 */ {(13<<2)|2,{68,51,0}}, +/* 48842 */ {(13<<2)|2,{68,51,0}}, +/* 48843 */ {(13<<2)|2,{68,51,0}}, +/* 48844 */ {(13<<2)|2,{68,51,0}}, +/* 48845 */ {(13<<2)|2,{68,51,0}}, +/* 48846 */ {(13<<2)|2,{68,51,0}}, +/* 48847 */ {(13<<2)|2,{68,51,0}}, +/* 48848 */ {(13<<2)|2,{68,52,0}}, +/* 48849 */ {(13<<2)|2,{68,52,0}}, +/* 48850 */ {(13<<2)|2,{68,52,0}}, +/* 48851 */ {(13<<2)|2,{68,52,0}}, +/* 48852 */ {(13<<2)|2,{68,52,0}}, +/* 48853 */ {(13<<2)|2,{68,52,0}}, +/* 48854 */ {(13<<2)|2,{68,52,0}}, +/* 48855 */ {(13<<2)|2,{68,52,0}}, +/* 48856 */ {(13<<2)|2,{68,53,0}}, +/* 48857 */ {(13<<2)|2,{68,53,0}}, +/* 48858 */ {(13<<2)|2,{68,53,0}}, +/* 48859 */ {(13<<2)|2,{68,53,0}}, +/* 48860 */ {(13<<2)|2,{68,53,0}}, +/* 48861 */ {(13<<2)|2,{68,53,0}}, +/* 48862 */ {(13<<2)|2,{68,53,0}}, +/* 48863 */ {(13<<2)|2,{68,53,0}}, +/* 48864 */ {(13<<2)|2,{68,54,0}}, +/* 48865 */ {(13<<2)|2,{68,54,0}}, +/* 48866 */ {(13<<2)|2,{68,54,0}}, +/* 48867 */ {(13<<2)|2,{68,54,0}}, +/* 48868 */ {(13<<2)|2,{68,54,0}}, +/* 48869 */ {(13<<2)|2,{68,54,0}}, +/* 48870 */ {(13<<2)|2,{68,54,0}}, +/* 48871 */ {(13<<2)|2,{68,54,0}}, +/* 48872 */ {(13<<2)|2,{68,55,0}}, +/* 48873 */ {(13<<2)|2,{68,55,0}}, +/* 48874 */ {(13<<2)|2,{68,55,0}}, +/* 48875 */ {(13<<2)|2,{68,55,0}}, +/* 48876 */ {(13<<2)|2,{68,55,0}}, +/* 48877 */ {(13<<2)|2,{68,55,0}}, +/* 48878 */ {(13<<2)|2,{68,55,0}}, +/* 48879 */ {(13<<2)|2,{68,55,0}}, +/* 48880 */ {(13<<2)|2,{68,56,0}}, +/* 48881 */ {(13<<2)|2,{68,56,0}}, +/* 48882 */ {(13<<2)|2,{68,56,0}}, +/* 48883 */ {(13<<2)|2,{68,56,0}}, +/* 48884 */ {(13<<2)|2,{68,56,0}}, +/* 48885 */ {(13<<2)|2,{68,56,0}}, +/* 48886 */ {(13<<2)|2,{68,56,0}}, +/* 48887 */ {(13<<2)|2,{68,56,0}}, +/* 48888 */ {(13<<2)|2,{68,57,0}}, +/* 48889 */ {(13<<2)|2,{68,57,0}}, +/* 48890 */ {(13<<2)|2,{68,57,0}}, +/* 48891 */ {(13<<2)|2,{68,57,0}}, +/* 48892 */ {(13<<2)|2,{68,57,0}}, +/* 48893 */ {(13<<2)|2,{68,57,0}}, +/* 48894 */ {(13<<2)|2,{68,57,0}}, +/* 48895 */ {(13<<2)|2,{68,57,0}}, +/* 48896 */ {(13<<2)|2,{68,61,0}}, +/* 48897 */ {(13<<2)|2,{68,61,0}}, +/* 48898 */ {(13<<2)|2,{68,61,0}}, +/* 48899 */ {(13<<2)|2,{68,61,0}}, +/* 48900 */ {(13<<2)|2,{68,61,0}}, +/* 48901 */ {(13<<2)|2,{68,61,0}}, +/* 48902 */ {(13<<2)|2,{68,61,0}}, +/* 48903 */ {(13<<2)|2,{68,61,0}}, +/* 48904 */ {(13<<2)|2,{68,65,0}}, +/* 48905 */ {(13<<2)|2,{68,65,0}}, +/* 48906 */ {(13<<2)|2,{68,65,0}}, +/* 48907 */ {(13<<2)|2,{68,65,0}}, +/* 48908 */ {(13<<2)|2,{68,65,0}}, +/* 48909 */ {(13<<2)|2,{68,65,0}}, +/* 48910 */ {(13<<2)|2,{68,65,0}}, +/* 48911 */ {(13<<2)|2,{68,65,0}}, +/* 48912 */ {(13<<2)|2,{68,95,0}}, +/* 48913 */ {(13<<2)|2,{68,95,0}}, +/* 48914 */ {(13<<2)|2,{68,95,0}}, +/* 48915 */ {(13<<2)|2,{68,95,0}}, +/* 48916 */ {(13<<2)|2,{68,95,0}}, +/* 48917 */ {(13<<2)|2,{68,95,0}}, +/* 48918 */ {(13<<2)|2,{68,95,0}}, +/* 48919 */ {(13<<2)|2,{68,95,0}}, +/* 48920 */ {(13<<2)|2,{68,98,0}}, +/* 48921 */ {(13<<2)|2,{68,98,0}}, +/* 48922 */ {(13<<2)|2,{68,98,0}}, +/* 48923 */ {(13<<2)|2,{68,98,0}}, +/* 48924 */ {(13<<2)|2,{68,98,0}}, +/* 48925 */ {(13<<2)|2,{68,98,0}}, +/* 48926 */ {(13<<2)|2,{68,98,0}}, +/* 48927 */ {(13<<2)|2,{68,98,0}}, +/* 48928 */ {(13<<2)|2,{68,100,0}}, +/* 48929 */ {(13<<2)|2,{68,100,0}}, +/* 48930 */ {(13<<2)|2,{68,100,0}}, +/* 48931 */ {(13<<2)|2,{68,100,0}}, +/* 48932 */ {(13<<2)|2,{68,100,0}}, +/* 48933 */ {(13<<2)|2,{68,100,0}}, +/* 48934 */ {(13<<2)|2,{68,100,0}}, +/* 48935 */ {(13<<2)|2,{68,100,0}}, +/* 48936 */ {(13<<2)|2,{68,102,0}}, +/* 48937 */ {(13<<2)|2,{68,102,0}}, +/* 48938 */ {(13<<2)|2,{68,102,0}}, +/* 48939 */ {(13<<2)|2,{68,102,0}}, +/* 48940 */ {(13<<2)|2,{68,102,0}}, +/* 48941 */ {(13<<2)|2,{68,102,0}}, +/* 48942 */ {(13<<2)|2,{68,102,0}}, +/* 48943 */ {(13<<2)|2,{68,102,0}}, +/* 48944 */ {(13<<2)|2,{68,103,0}}, +/* 48945 */ {(13<<2)|2,{68,103,0}}, +/* 48946 */ {(13<<2)|2,{68,103,0}}, +/* 48947 */ {(13<<2)|2,{68,103,0}}, +/* 48948 */ {(13<<2)|2,{68,103,0}}, +/* 48949 */ {(13<<2)|2,{68,103,0}}, +/* 48950 */ {(13<<2)|2,{68,103,0}}, +/* 48951 */ {(13<<2)|2,{68,103,0}}, +/* 48952 */ {(13<<2)|2,{68,104,0}}, +/* 48953 */ {(13<<2)|2,{68,104,0}}, +/* 48954 */ {(13<<2)|2,{68,104,0}}, +/* 48955 */ {(13<<2)|2,{68,104,0}}, +/* 48956 */ {(13<<2)|2,{68,104,0}}, +/* 48957 */ {(13<<2)|2,{68,104,0}}, +/* 48958 */ {(13<<2)|2,{68,104,0}}, +/* 48959 */ {(13<<2)|2,{68,104,0}}, +/* 48960 */ {(13<<2)|2,{68,108,0}}, +/* 48961 */ {(13<<2)|2,{68,108,0}}, +/* 48962 */ {(13<<2)|2,{68,108,0}}, +/* 48963 */ {(13<<2)|2,{68,108,0}}, +/* 48964 */ {(13<<2)|2,{68,108,0}}, +/* 48965 */ {(13<<2)|2,{68,108,0}}, +/* 48966 */ {(13<<2)|2,{68,108,0}}, +/* 48967 */ {(13<<2)|2,{68,108,0}}, +/* 48968 */ {(13<<2)|2,{68,109,0}}, +/* 48969 */ {(13<<2)|2,{68,109,0}}, +/* 48970 */ {(13<<2)|2,{68,109,0}}, +/* 48971 */ {(13<<2)|2,{68,109,0}}, +/* 48972 */ {(13<<2)|2,{68,109,0}}, +/* 48973 */ {(13<<2)|2,{68,109,0}}, +/* 48974 */ {(13<<2)|2,{68,109,0}}, +/* 48975 */ {(13<<2)|2,{68,109,0}}, +/* 48976 */ {(13<<2)|2,{68,110,0}}, +/* 48977 */ {(13<<2)|2,{68,110,0}}, +/* 48978 */ {(13<<2)|2,{68,110,0}}, +/* 48979 */ {(13<<2)|2,{68,110,0}}, +/* 48980 */ {(13<<2)|2,{68,110,0}}, +/* 48981 */ {(13<<2)|2,{68,110,0}}, +/* 48982 */ {(13<<2)|2,{68,110,0}}, +/* 48983 */ {(13<<2)|2,{68,110,0}}, +/* 48984 */ {(13<<2)|2,{68,112,0}}, +/* 48985 */ {(13<<2)|2,{68,112,0}}, +/* 48986 */ {(13<<2)|2,{68,112,0}}, +/* 48987 */ {(13<<2)|2,{68,112,0}}, +/* 48988 */ {(13<<2)|2,{68,112,0}}, +/* 48989 */ {(13<<2)|2,{68,112,0}}, +/* 48990 */ {(13<<2)|2,{68,112,0}}, +/* 48991 */ {(13<<2)|2,{68,112,0}}, +/* 48992 */ {(13<<2)|2,{68,114,0}}, +/* 48993 */ {(13<<2)|2,{68,114,0}}, +/* 48994 */ {(13<<2)|2,{68,114,0}}, +/* 48995 */ {(13<<2)|2,{68,114,0}}, +/* 48996 */ {(13<<2)|2,{68,114,0}}, +/* 48997 */ {(13<<2)|2,{68,114,0}}, +/* 48998 */ {(13<<2)|2,{68,114,0}}, +/* 48999 */ {(13<<2)|2,{68,114,0}}, +/* 49000 */ {(13<<2)|2,{68,117,0}}, +/* 49001 */ {(13<<2)|2,{68,117,0}}, +/* 49002 */ {(13<<2)|2,{68,117,0}}, +/* 49003 */ {(13<<2)|2,{68,117,0}}, +/* 49004 */ {(13<<2)|2,{68,117,0}}, +/* 49005 */ {(13<<2)|2,{68,117,0}}, +/* 49006 */ {(13<<2)|2,{68,117,0}}, +/* 49007 */ {(13<<2)|2,{68,117,0}}, +/* 49008 */ {(14<<2)|2,{68,58,0}}, +/* 49009 */ {(14<<2)|2,{68,58,0}}, +/* 49010 */ {(14<<2)|2,{68,58,0}}, +/* 49011 */ {(14<<2)|2,{68,58,0}}, +/* 49012 */ {(14<<2)|2,{68,66,0}}, +/* 49013 */ {(14<<2)|2,{68,66,0}}, +/* 49014 */ {(14<<2)|2,{68,66,0}}, +/* 49015 */ {(14<<2)|2,{68,66,0}}, +/* 49016 */ {(14<<2)|2,{68,67,0}}, +/* 49017 */ {(14<<2)|2,{68,67,0}}, +/* 49018 */ {(14<<2)|2,{68,67,0}}, +/* 49019 */ {(14<<2)|2,{68,67,0}}, +/* 49020 */ {(14<<2)|2,{68,68,0}}, +/* 49021 */ {(14<<2)|2,{68,68,0}}, +/* 49022 */ {(14<<2)|2,{68,68,0}}, +/* 49023 */ {(14<<2)|2,{68,68,0}}, +/* 49024 */ {(14<<2)|2,{68,69,0}}, +/* 49025 */ {(14<<2)|2,{68,69,0}}, +/* 49026 */ {(14<<2)|2,{68,69,0}}, +/* 49027 */ {(14<<2)|2,{68,69,0}}, +/* 49028 */ {(14<<2)|2,{68,70,0}}, +/* 49029 */ {(14<<2)|2,{68,70,0}}, +/* 49030 */ {(14<<2)|2,{68,70,0}}, +/* 49031 */ {(14<<2)|2,{68,70,0}}, +/* 49032 */ {(14<<2)|2,{68,71,0}}, +/* 49033 */ {(14<<2)|2,{68,71,0}}, +/* 49034 */ {(14<<2)|2,{68,71,0}}, +/* 49035 */ {(14<<2)|2,{68,71,0}}, +/* 49036 */ {(14<<2)|2,{68,72,0}}, +/* 49037 */ {(14<<2)|2,{68,72,0}}, +/* 49038 */ {(14<<2)|2,{68,72,0}}, +/* 49039 */ {(14<<2)|2,{68,72,0}}, +/* 49040 */ {(14<<2)|2,{68,73,0}}, +/* 49041 */ {(14<<2)|2,{68,73,0}}, +/* 49042 */ {(14<<2)|2,{68,73,0}}, +/* 49043 */ {(14<<2)|2,{68,73,0}}, +/* 49044 */ {(14<<2)|2,{68,74,0}}, +/* 49045 */ {(14<<2)|2,{68,74,0}}, +/* 49046 */ {(14<<2)|2,{68,74,0}}, +/* 49047 */ {(14<<2)|2,{68,74,0}}, +/* 49048 */ {(14<<2)|2,{68,75,0}}, +/* 49049 */ {(14<<2)|2,{68,75,0}}, +/* 49050 */ {(14<<2)|2,{68,75,0}}, +/* 49051 */ {(14<<2)|2,{68,75,0}}, +/* 49052 */ {(14<<2)|2,{68,76,0}}, +/* 49053 */ {(14<<2)|2,{68,76,0}}, +/* 49054 */ {(14<<2)|2,{68,76,0}}, +/* 49055 */ {(14<<2)|2,{68,76,0}}, +/* 49056 */ {(14<<2)|2,{68,77,0}}, +/* 49057 */ {(14<<2)|2,{68,77,0}}, +/* 49058 */ {(14<<2)|2,{68,77,0}}, +/* 49059 */ {(14<<2)|2,{68,77,0}}, +/* 49060 */ {(14<<2)|2,{68,78,0}}, +/* 49061 */ {(14<<2)|2,{68,78,0}}, +/* 49062 */ {(14<<2)|2,{68,78,0}}, +/* 49063 */ {(14<<2)|2,{68,78,0}}, +/* 49064 */ {(14<<2)|2,{68,79,0}}, +/* 49065 */ {(14<<2)|2,{68,79,0}}, +/* 49066 */ {(14<<2)|2,{68,79,0}}, +/* 49067 */ {(14<<2)|2,{68,79,0}}, +/* 49068 */ {(14<<2)|2,{68,80,0}}, +/* 49069 */ {(14<<2)|2,{68,80,0}}, +/* 49070 */ {(14<<2)|2,{68,80,0}}, +/* 49071 */ {(14<<2)|2,{68,80,0}}, +/* 49072 */ {(14<<2)|2,{68,81,0}}, +/* 49073 */ {(14<<2)|2,{68,81,0}}, +/* 49074 */ {(14<<2)|2,{68,81,0}}, +/* 49075 */ {(14<<2)|2,{68,81,0}}, +/* 49076 */ {(14<<2)|2,{68,82,0}}, +/* 49077 */ {(14<<2)|2,{68,82,0}}, +/* 49078 */ {(14<<2)|2,{68,82,0}}, +/* 49079 */ {(14<<2)|2,{68,82,0}}, +/* 49080 */ {(14<<2)|2,{68,83,0}}, +/* 49081 */ {(14<<2)|2,{68,83,0}}, +/* 49082 */ {(14<<2)|2,{68,83,0}}, +/* 49083 */ {(14<<2)|2,{68,83,0}}, +/* 49084 */ {(14<<2)|2,{68,84,0}}, +/* 49085 */ {(14<<2)|2,{68,84,0}}, +/* 49086 */ {(14<<2)|2,{68,84,0}}, +/* 49087 */ {(14<<2)|2,{68,84,0}}, +/* 49088 */ {(14<<2)|2,{68,85,0}}, +/* 49089 */ {(14<<2)|2,{68,85,0}}, +/* 49090 */ {(14<<2)|2,{68,85,0}}, +/* 49091 */ {(14<<2)|2,{68,85,0}}, +/* 49092 */ {(14<<2)|2,{68,86,0}}, +/* 49093 */ {(14<<2)|2,{68,86,0}}, +/* 49094 */ {(14<<2)|2,{68,86,0}}, +/* 49095 */ {(14<<2)|2,{68,86,0}}, +/* 49096 */ {(14<<2)|2,{68,87,0}}, +/* 49097 */ {(14<<2)|2,{68,87,0}}, +/* 49098 */ {(14<<2)|2,{68,87,0}}, +/* 49099 */ {(14<<2)|2,{68,87,0}}, +/* 49100 */ {(14<<2)|2,{68,89,0}}, +/* 49101 */ {(14<<2)|2,{68,89,0}}, +/* 49102 */ {(14<<2)|2,{68,89,0}}, +/* 49103 */ {(14<<2)|2,{68,89,0}}, +/* 49104 */ {(14<<2)|2,{68,106,0}}, +/* 49105 */ {(14<<2)|2,{68,106,0}}, +/* 49106 */ {(14<<2)|2,{68,106,0}}, +/* 49107 */ {(14<<2)|2,{68,106,0}}, +/* 49108 */ {(14<<2)|2,{68,107,0}}, +/* 49109 */ {(14<<2)|2,{68,107,0}}, +/* 49110 */ {(14<<2)|2,{68,107,0}}, +/* 49111 */ {(14<<2)|2,{68,107,0}}, +/* 49112 */ {(14<<2)|2,{68,113,0}}, +/* 49113 */ {(14<<2)|2,{68,113,0}}, +/* 49114 */ {(14<<2)|2,{68,113,0}}, +/* 49115 */ {(14<<2)|2,{68,113,0}}, +/* 49116 */ {(14<<2)|2,{68,118,0}}, +/* 49117 */ {(14<<2)|2,{68,118,0}}, +/* 49118 */ {(14<<2)|2,{68,118,0}}, +/* 49119 */ {(14<<2)|2,{68,118,0}}, +/* 49120 */ {(14<<2)|2,{68,119,0}}, +/* 49121 */ {(14<<2)|2,{68,119,0}}, +/* 49122 */ {(14<<2)|2,{68,119,0}}, +/* 49123 */ {(14<<2)|2,{68,119,0}}, +/* 49124 */ {(14<<2)|2,{68,120,0}}, +/* 49125 */ {(14<<2)|2,{68,120,0}}, +/* 49126 */ {(14<<2)|2,{68,120,0}}, +/* 49127 */ {(14<<2)|2,{68,120,0}}, +/* 49128 */ {(14<<2)|2,{68,121,0}}, +/* 49129 */ {(14<<2)|2,{68,121,0}}, +/* 49130 */ {(14<<2)|2,{68,121,0}}, +/* 49131 */ {(14<<2)|2,{68,121,0}}, +/* 49132 */ {(14<<2)|2,{68,122,0}}, +/* 49133 */ {(14<<2)|2,{68,122,0}}, +/* 49134 */ {(14<<2)|2,{68,122,0}}, +/* 49135 */ {(14<<2)|2,{68,122,0}}, +/* 49136 */ {(15<<2)|2,{68,38,0}}, +/* 49137 */ {(15<<2)|2,{68,38,0}}, +/* 49138 */ {(15<<2)|2,{68,42,0}}, +/* 49139 */ {(15<<2)|2,{68,42,0}}, +/* 49140 */ {(15<<2)|2,{68,44,0}}, +/* 49141 */ {(15<<2)|2,{68,44,0}}, +/* 49142 */ {(15<<2)|2,{68,59,0}}, +/* 49143 */ {(15<<2)|2,{68,59,0}}, +/* 49144 */ {(15<<2)|2,{68,88,0}}, +/* 49145 */ {(15<<2)|2,{68,88,0}}, +/* 49146 */ {(15<<2)|2,{68,90,0}}, +/* 49147 */ {(15<<2)|2,{68,90,0}}, +/* 49148 */ {(7<<2)|1,{68,0,0}}, +/* 49149 */ {(7<<2)|1,{68,0,0}}, +/* 49150 */ {(7<<2)|1,{68,0,0}}, +/* 49151 */ {(7<<2)|1,{68,0,0}}, +/* 49152 */ {(12<<2)|2,{69,48,0}}, +/* 49153 */ {(12<<2)|2,{69,48,0}}, +/* 49154 */ {(12<<2)|2,{69,48,0}}, +/* 49155 */ {(12<<2)|2,{69,48,0}}, +/* 49156 */ {(12<<2)|2,{69,48,0}}, +/* 49157 */ {(12<<2)|2,{69,48,0}}, +/* 49158 */ {(12<<2)|2,{69,48,0}}, +/* 49159 */ {(12<<2)|2,{69,48,0}}, +/* 49160 */ {(12<<2)|2,{69,48,0}}, +/* 49161 */ {(12<<2)|2,{69,48,0}}, +/* 49162 */ {(12<<2)|2,{69,48,0}}, +/* 49163 */ {(12<<2)|2,{69,48,0}}, +/* 49164 */ {(12<<2)|2,{69,48,0}}, +/* 49165 */ {(12<<2)|2,{69,48,0}}, +/* 49166 */ {(12<<2)|2,{69,48,0}}, +/* 49167 */ {(12<<2)|2,{69,48,0}}, +/* 49168 */ {(12<<2)|2,{69,49,0}}, +/* 49169 */ {(12<<2)|2,{69,49,0}}, +/* 49170 */ {(12<<2)|2,{69,49,0}}, +/* 49171 */ {(12<<2)|2,{69,49,0}}, +/* 49172 */ {(12<<2)|2,{69,49,0}}, +/* 49173 */ {(12<<2)|2,{69,49,0}}, +/* 49174 */ {(12<<2)|2,{69,49,0}}, +/* 49175 */ {(12<<2)|2,{69,49,0}}, +/* 49176 */ {(12<<2)|2,{69,49,0}}, +/* 49177 */ {(12<<2)|2,{69,49,0}}, +/* 49178 */ {(12<<2)|2,{69,49,0}}, +/* 49179 */ {(12<<2)|2,{69,49,0}}, +/* 49180 */ {(12<<2)|2,{69,49,0}}, +/* 49181 */ {(12<<2)|2,{69,49,0}}, +/* 49182 */ {(12<<2)|2,{69,49,0}}, +/* 49183 */ {(12<<2)|2,{69,49,0}}, +/* 49184 */ {(12<<2)|2,{69,50,0}}, +/* 49185 */ {(12<<2)|2,{69,50,0}}, +/* 49186 */ {(12<<2)|2,{69,50,0}}, +/* 49187 */ {(12<<2)|2,{69,50,0}}, +/* 49188 */ {(12<<2)|2,{69,50,0}}, +/* 49189 */ {(12<<2)|2,{69,50,0}}, +/* 49190 */ {(12<<2)|2,{69,50,0}}, +/* 49191 */ {(12<<2)|2,{69,50,0}}, +/* 49192 */ {(12<<2)|2,{69,50,0}}, +/* 49193 */ {(12<<2)|2,{69,50,0}}, +/* 49194 */ {(12<<2)|2,{69,50,0}}, +/* 49195 */ {(12<<2)|2,{69,50,0}}, +/* 49196 */ {(12<<2)|2,{69,50,0}}, +/* 49197 */ {(12<<2)|2,{69,50,0}}, +/* 49198 */ {(12<<2)|2,{69,50,0}}, +/* 49199 */ {(12<<2)|2,{69,50,0}}, +/* 49200 */ {(12<<2)|2,{69,97,0}}, +/* 49201 */ {(12<<2)|2,{69,97,0}}, +/* 49202 */ {(12<<2)|2,{69,97,0}}, +/* 49203 */ {(12<<2)|2,{69,97,0}}, +/* 49204 */ {(12<<2)|2,{69,97,0}}, +/* 49205 */ {(12<<2)|2,{69,97,0}}, +/* 49206 */ {(12<<2)|2,{69,97,0}}, +/* 49207 */ {(12<<2)|2,{69,97,0}}, +/* 49208 */ {(12<<2)|2,{69,97,0}}, +/* 49209 */ {(12<<2)|2,{69,97,0}}, +/* 49210 */ {(12<<2)|2,{69,97,0}}, +/* 49211 */ {(12<<2)|2,{69,97,0}}, +/* 49212 */ {(12<<2)|2,{69,97,0}}, +/* 49213 */ {(12<<2)|2,{69,97,0}}, +/* 49214 */ {(12<<2)|2,{69,97,0}}, +/* 49215 */ {(12<<2)|2,{69,97,0}}, +/* 49216 */ {(12<<2)|2,{69,99,0}}, +/* 49217 */ {(12<<2)|2,{69,99,0}}, +/* 49218 */ {(12<<2)|2,{69,99,0}}, +/* 49219 */ {(12<<2)|2,{69,99,0}}, +/* 49220 */ {(12<<2)|2,{69,99,0}}, +/* 49221 */ {(12<<2)|2,{69,99,0}}, +/* 49222 */ {(12<<2)|2,{69,99,0}}, +/* 49223 */ {(12<<2)|2,{69,99,0}}, +/* 49224 */ {(12<<2)|2,{69,99,0}}, +/* 49225 */ {(12<<2)|2,{69,99,0}}, +/* 49226 */ {(12<<2)|2,{69,99,0}}, +/* 49227 */ {(12<<2)|2,{69,99,0}}, +/* 49228 */ {(12<<2)|2,{69,99,0}}, +/* 49229 */ {(12<<2)|2,{69,99,0}}, +/* 49230 */ {(12<<2)|2,{69,99,0}}, +/* 49231 */ {(12<<2)|2,{69,99,0}}, +/* 49232 */ {(12<<2)|2,{69,101,0}}, +/* 49233 */ {(12<<2)|2,{69,101,0}}, +/* 49234 */ {(12<<2)|2,{69,101,0}}, +/* 49235 */ {(12<<2)|2,{69,101,0}}, +/* 49236 */ {(12<<2)|2,{69,101,0}}, +/* 49237 */ {(12<<2)|2,{69,101,0}}, +/* 49238 */ {(12<<2)|2,{69,101,0}}, +/* 49239 */ {(12<<2)|2,{69,101,0}}, +/* 49240 */ {(12<<2)|2,{69,101,0}}, +/* 49241 */ {(12<<2)|2,{69,101,0}}, +/* 49242 */ {(12<<2)|2,{69,101,0}}, +/* 49243 */ {(12<<2)|2,{69,101,0}}, +/* 49244 */ {(12<<2)|2,{69,101,0}}, +/* 49245 */ {(12<<2)|2,{69,101,0}}, +/* 49246 */ {(12<<2)|2,{69,101,0}}, +/* 49247 */ {(12<<2)|2,{69,101,0}}, +/* 49248 */ {(12<<2)|2,{69,105,0}}, +/* 49249 */ {(12<<2)|2,{69,105,0}}, +/* 49250 */ {(12<<2)|2,{69,105,0}}, +/* 49251 */ {(12<<2)|2,{69,105,0}}, +/* 49252 */ {(12<<2)|2,{69,105,0}}, +/* 49253 */ {(12<<2)|2,{69,105,0}}, +/* 49254 */ {(12<<2)|2,{69,105,0}}, +/* 49255 */ {(12<<2)|2,{69,105,0}}, +/* 49256 */ {(12<<2)|2,{69,105,0}}, +/* 49257 */ {(12<<2)|2,{69,105,0}}, +/* 49258 */ {(12<<2)|2,{69,105,0}}, +/* 49259 */ {(12<<2)|2,{69,105,0}}, +/* 49260 */ {(12<<2)|2,{69,105,0}}, +/* 49261 */ {(12<<2)|2,{69,105,0}}, +/* 49262 */ {(12<<2)|2,{69,105,0}}, +/* 49263 */ {(12<<2)|2,{69,105,0}}, +/* 49264 */ {(12<<2)|2,{69,111,0}}, +/* 49265 */ {(12<<2)|2,{69,111,0}}, +/* 49266 */ {(12<<2)|2,{69,111,0}}, +/* 49267 */ {(12<<2)|2,{69,111,0}}, +/* 49268 */ {(12<<2)|2,{69,111,0}}, +/* 49269 */ {(12<<2)|2,{69,111,0}}, +/* 49270 */ {(12<<2)|2,{69,111,0}}, +/* 49271 */ {(12<<2)|2,{69,111,0}}, +/* 49272 */ {(12<<2)|2,{69,111,0}}, +/* 49273 */ {(12<<2)|2,{69,111,0}}, +/* 49274 */ {(12<<2)|2,{69,111,0}}, +/* 49275 */ {(12<<2)|2,{69,111,0}}, +/* 49276 */ {(12<<2)|2,{69,111,0}}, +/* 49277 */ {(12<<2)|2,{69,111,0}}, +/* 49278 */ {(12<<2)|2,{69,111,0}}, +/* 49279 */ {(12<<2)|2,{69,111,0}}, +/* 49280 */ {(12<<2)|2,{69,115,0}}, +/* 49281 */ {(12<<2)|2,{69,115,0}}, +/* 49282 */ {(12<<2)|2,{69,115,0}}, +/* 49283 */ {(12<<2)|2,{69,115,0}}, +/* 49284 */ {(12<<2)|2,{69,115,0}}, +/* 49285 */ {(12<<2)|2,{69,115,0}}, +/* 49286 */ {(12<<2)|2,{69,115,0}}, +/* 49287 */ {(12<<2)|2,{69,115,0}}, +/* 49288 */ {(12<<2)|2,{69,115,0}}, +/* 49289 */ {(12<<2)|2,{69,115,0}}, +/* 49290 */ {(12<<2)|2,{69,115,0}}, +/* 49291 */ {(12<<2)|2,{69,115,0}}, +/* 49292 */ {(12<<2)|2,{69,115,0}}, +/* 49293 */ {(12<<2)|2,{69,115,0}}, +/* 49294 */ {(12<<2)|2,{69,115,0}}, +/* 49295 */ {(12<<2)|2,{69,115,0}}, +/* 49296 */ {(12<<2)|2,{69,116,0}}, +/* 49297 */ {(12<<2)|2,{69,116,0}}, +/* 49298 */ {(12<<2)|2,{69,116,0}}, +/* 49299 */ {(12<<2)|2,{69,116,0}}, +/* 49300 */ {(12<<2)|2,{69,116,0}}, +/* 49301 */ {(12<<2)|2,{69,116,0}}, +/* 49302 */ {(12<<2)|2,{69,116,0}}, +/* 49303 */ {(12<<2)|2,{69,116,0}}, +/* 49304 */ {(12<<2)|2,{69,116,0}}, +/* 49305 */ {(12<<2)|2,{69,116,0}}, +/* 49306 */ {(12<<2)|2,{69,116,0}}, +/* 49307 */ {(12<<2)|2,{69,116,0}}, +/* 49308 */ {(12<<2)|2,{69,116,0}}, +/* 49309 */ {(12<<2)|2,{69,116,0}}, +/* 49310 */ {(12<<2)|2,{69,116,0}}, +/* 49311 */ {(12<<2)|2,{69,116,0}}, +/* 49312 */ {(13<<2)|2,{69,32,0}}, +/* 49313 */ {(13<<2)|2,{69,32,0}}, +/* 49314 */ {(13<<2)|2,{69,32,0}}, +/* 49315 */ {(13<<2)|2,{69,32,0}}, +/* 49316 */ {(13<<2)|2,{69,32,0}}, +/* 49317 */ {(13<<2)|2,{69,32,0}}, +/* 49318 */ {(13<<2)|2,{69,32,0}}, +/* 49319 */ {(13<<2)|2,{69,32,0}}, +/* 49320 */ {(13<<2)|2,{69,37,0}}, +/* 49321 */ {(13<<2)|2,{69,37,0}}, +/* 49322 */ {(13<<2)|2,{69,37,0}}, +/* 49323 */ {(13<<2)|2,{69,37,0}}, +/* 49324 */ {(13<<2)|2,{69,37,0}}, +/* 49325 */ {(13<<2)|2,{69,37,0}}, +/* 49326 */ {(13<<2)|2,{69,37,0}}, +/* 49327 */ {(13<<2)|2,{69,37,0}}, +/* 49328 */ {(13<<2)|2,{69,45,0}}, +/* 49329 */ {(13<<2)|2,{69,45,0}}, +/* 49330 */ {(13<<2)|2,{69,45,0}}, +/* 49331 */ {(13<<2)|2,{69,45,0}}, +/* 49332 */ {(13<<2)|2,{69,45,0}}, +/* 49333 */ {(13<<2)|2,{69,45,0}}, +/* 49334 */ {(13<<2)|2,{69,45,0}}, +/* 49335 */ {(13<<2)|2,{69,45,0}}, +/* 49336 */ {(13<<2)|2,{69,46,0}}, +/* 49337 */ {(13<<2)|2,{69,46,0}}, +/* 49338 */ {(13<<2)|2,{69,46,0}}, +/* 49339 */ {(13<<2)|2,{69,46,0}}, +/* 49340 */ {(13<<2)|2,{69,46,0}}, +/* 49341 */ {(13<<2)|2,{69,46,0}}, +/* 49342 */ {(13<<2)|2,{69,46,0}}, +/* 49343 */ {(13<<2)|2,{69,46,0}}, +/* 49344 */ {(13<<2)|2,{69,47,0}}, +/* 49345 */ {(13<<2)|2,{69,47,0}}, +/* 49346 */ {(13<<2)|2,{69,47,0}}, +/* 49347 */ {(13<<2)|2,{69,47,0}}, +/* 49348 */ {(13<<2)|2,{69,47,0}}, +/* 49349 */ {(13<<2)|2,{69,47,0}}, +/* 49350 */ {(13<<2)|2,{69,47,0}}, +/* 49351 */ {(13<<2)|2,{69,47,0}}, +/* 49352 */ {(13<<2)|2,{69,51,0}}, +/* 49353 */ {(13<<2)|2,{69,51,0}}, +/* 49354 */ {(13<<2)|2,{69,51,0}}, +/* 49355 */ {(13<<2)|2,{69,51,0}}, +/* 49356 */ {(13<<2)|2,{69,51,0}}, +/* 49357 */ {(13<<2)|2,{69,51,0}}, +/* 49358 */ {(13<<2)|2,{69,51,0}}, +/* 49359 */ {(13<<2)|2,{69,51,0}}, +/* 49360 */ {(13<<2)|2,{69,52,0}}, +/* 49361 */ {(13<<2)|2,{69,52,0}}, +/* 49362 */ {(13<<2)|2,{69,52,0}}, +/* 49363 */ {(13<<2)|2,{69,52,0}}, +/* 49364 */ {(13<<2)|2,{69,52,0}}, +/* 49365 */ {(13<<2)|2,{69,52,0}}, +/* 49366 */ {(13<<2)|2,{69,52,0}}, +/* 49367 */ {(13<<2)|2,{69,52,0}}, +/* 49368 */ {(13<<2)|2,{69,53,0}}, +/* 49369 */ {(13<<2)|2,{69,53,0}}, +/* 49370 */ {(13<<2)|2,{69,53,0}}, +/* 49371 */ {(13<<2)|2,{69,53,0}}, +/* 49372 */ {(13<<2)|2,{69,53,0}}, +/* 49373 */ {(13<<2)|2,{69,53,0}}, +/* 49374 */ {(13<<2)|2,{69,53,0}}, +/* 49375 */ {(13<<2)|2,{69,53,0}}, +/* 49376 */ {(13<<2)|2,{69,54,0}}, +/* 49377 */ {(13<<2)|2,{69,54,0}}, +/* 49378 */ {(13<<2)|2,{69,54,0}}, +/* 49379 */ {(13<<2)|2,{69,54,0}}, +/* 49380 */ {(13<<2)|2,{69,54,0}}, +/* 49381 */ {(13<<2)|2,{69,54,0}}, +/* 49382 */ {(13<<2)|2,{69,54,0}}, +/* 49383 */ {(13<<2)|2,{69,54,0}}, +/* 49384 */ {(13<<2)|2,{69,55,0}}, +/* 49385 */ {(13<<2)|2,{69,55,0}}, +/* 49386 */ {(13<<2)|2,{69,55,0}}, +/* 49387 */ {(13<<2)|2,{69,55,0}}, +/* 49388 */ {(13<<2)|2,{69,55,0}}, +/* 49389 */ {(13<<2)|2,{69,55,0}}, +/* 49390 */ {(13<<2)|2,{69,55,0}}, +/* 49391 */ {(13<<2)|2,{69,55,0}}, +/* 49392 */ {(13<<2)|2,{69,56,0}}, +/* 49393 */ {(13<<2)|2,{69,56,0}}, +/* 49394 */ {(13<<2)|2,{69,56,0}}, +/* 49395 */ {(13<<2)|2,{69,56,0}}, +/* 49396 */ {(13<<2)|2,{69,56,0}}, +/* 49397 */ {(13<<2)|2,{69,56,0}}, +/* 49398 */ {(13<<2)|2,{69,56,0}}, +/* 49399 */ {(13<<2)|2,{69,56,0}}, +/* 49400 */ {(13<<2)|2,{69,57,0}}, +/* 49401 */ {(13<<2)|2,{69,57,0}}, +/* 49402 */ {(13<<2)|2,{69,57,0}}, +/* 49403 */ {(13<<2)|2,{69,57,0}}, +/* 49404 */ {(13<<2)|2,{69,57,0}}, +/* 49405 */ {(13<<2)|2,{69,57,0}}, +/* 49406 */ {(13<<2)|2,{69,57,0}}, +/* 49407 */ {(13<<2)|2,{69,57,0}}, +/* 49408 */ {(13<<2)|2,{69,61,0}}, +/* 49409 */ {(13<<2)|2,{69,61,0}}, +/* 49410 */ {(13<<2)|2,{69,61,0}}, +/* 49411 */ {(13<<2)|2,{69,61,0}}, +/* 49412 */ {(13<<2)|2,{69,61,0}}, +/* 49413 */ {(13<<2)|2,{69,61,0}}, +/* 49414 */ {(13<<2)|2,{69,61,0}}, +/* 49415 */ {(13<<2)|2,{69,61,0}}, +/* 49416 */ {(13<<2)|2,{69,65,0}}, +/* 49417 */ {(13<<2)|2,{69,65,0}}, +/* 49418 */ {(13<<2)|2,{69,65,0}}, +/* 49419 */ {(13<<2)|2,{69,65,0}}, +/* 49420 */ {(13<<2)|2,{69,65,0}}, +/* 49421 */ {(13<<2)|2,{69,65,0}}, +/* 49422 */ {(13<<2)|2,{69,65,0}}, +/* 49423 */ {(13<<2)|2,{69,65,0}}, +/* 49424 */ {(13<<2)|2,{69,95,0}}, +/* 49425 */ {(13<<2)|2,{69,95,0}}, +/* 49426 */ {(13<<2)|2,{69,95,0}}, +/* 49427 */ {(13<<2)|2,{69,95,0}}, +/* 49428 */ {(13<<2)|2,{69,95,0}}, +/* 49429 */ {(13<<2)|2,{69,95,0}}, +/* 49430 */ {(13<<2)|2,{69,95,0}}, +/* 49431 */ {(13<<2)|2,{69,95,0}}, +/* 49432 */ {(13<<2)|2,{69,98,0}}, +/* 49433 */ {(13<<2)|2,{69,98,0}}, +/* 49434 */ {(13<<2)|2,{69,98,0}}, +/* 49435 */ {(13<<2)|2,{69,98,0}}, +/* 49436 */ {(13<<2)|2,{69,98,0}}, +/* 49437 */ {(13<<2)|2,{69,98,0}}, +/* 49438 */ {(13<<2)|2,{69,98,0}}, +/* 49439 */ {(13<<2)|2,{69,98,0}}, +/* 49440 */ {(13<<2)|2,{69,100,0}}, +/* 49441 */ {(13<<2)|2,{69,100,0}}, +/* 49442 */ {(13<<2)|2,{69,100,0}}, +/* 49443 */ {(13<<2)|2,{69,100,0}}, +/* 49444 */ {(13<<2)|2,{69,100,0}}, +/* 49445 */ {(13<<2)|2,{69,100,0}}, +/* 49446 */ {(13<<2)|2,{69,100,0}}, +/* 49447 */ {(13<<2)|2,{69,100,0}}, +/* 49448 */ {(13<<2)|2,{69,102,0}}, +/* 49449 */ {(13<<2)|2,{69,102,0}}, +/* 49450 */ {(13<<2)|2,{69,102,0}}, +/* 49451 */ {(13<<2)|2,{69,102,0}}, +/* 49452 */ {(13<<2)|2,{69,102,0}}, +/* 49453 */ {(13<<2)|2,{69,102,0}}, +/* 49454 */ {(13<<2)|2,{69,102,0}}, +/* 49455 */ {(13<<2)|2,{69,102,0}}, +/* 49456 */ {(13<<2)|2,{69,103,0}}, +/* 49457 */ {(13<<2)|2,{69,103,0}}, +/* 49458 */ {(13<<2)|2,{69,103,0}}, +/* 49459 */ {(13<<2)|2,{69,103,0}}, +/* 49460 */ {(13<<2)|2,{69,103,0}}, +/* 49461 */ {(13<<2)|2,{69,103,0}}, +/* 49462 */ {(13<<2)|2,{69,103,0}}, +/* 49463 */ {(13<<2)|2,{69,103,0}}, +/* 49464 */ {(13<<2)|2,{69,104,0}}, +/* 49465 */ {(13<<2)|2,{69,104,0}}, +/* 49466 */ {(13<<2)|2,{69,104,0}}, +/* 49467 */ {(13<<2)|2,{69,104,0}}, +/* 49468 */ {(13<<2)|2,{69,104,0}}, +/* 49469 */ {(13<<2)|2,{69,104,0}}, +/* 49470 */ {(13<<2)|2,{69,104,0}}, +/* 49471 */ {(13<<2)|2,{69,104,0}}, +/* 49472 */ {(13<<2)|2,{69,108,0}}, +/* 49473 */ {(13<<2)|2,{69,108,0}}, +/* 49474 */ {(13<<2)|2,{69,108,0}}, +/* 49475 */ {(13<<2)|2,{69,108,0}}, +/* 49476 */ {(13<<2)|2,{69,108,0}}, +/* 49477 */ {(13<<2)|2,{69,108,0}}, +/* 49478 */ {(13<<2)|2,{69,108,0}}, +/* 49479 */ {(13<<2)|2,{69,108,0}}, +/* 49480 */ {(13<<2)|2,{69,109,0}}, +/* 49481 */ {(13<<2)|2,{69,109,0}}, +/* 49482 */ {(13<<2)|2,{69,109,0}}, +/* 49483 */ {(13<<2)|2,{69,109,0}}, +/* 49484 */ {(13<<2)|2,{69,109,0}}, +/* 49485 */ {(13<<2)|2,{69,109,0}}, +/* 49486 */ {(13<<2)|2,{69,109,0}}, +/* 49487 */ {(13<<2)|2,{69,109,0}}, +/* 49488 */ {(13<<2)|2,{69,110,0}}, +/* 49489 */ {(13<<2)|2,{69,110,0}}, +/* 49490 */ {(13<<2)|2,{69,110,0}}, +/* 49491 */ {(13<<2)|2,{69,110,0}}, +/* 49492 */ {(13<<2)|2,{69,110,0}}, +/* 49493 */ {(13<<2)|2,{69,110,0}}, +/* 49494 */ {(13<<2)|2,{69,110,0}}, +/* 49495 */ {(13<<2)|2,{69,110,0}}, +/* 49496 */ {(13<<2)|2,{69,112,0}}, +/* 49497 */ {(13<<2)|2,{69,112,0}}, +/* 49498 */ {(13<<2)|2,{69,112,0}}, +/* 49499 */ {(13<<2)|2,{69,112,0}}, +/* 49500 */ {(13<<2)|2,{69,112,0}}, +/* 49501 */ {(13<<2)|2,{69,112,0}}, +/* 49502 */ {(13<<2)|2,{69,112,0}}, +/* 49503 */ {(13<<2)|2,{69,112,0}}, +/* 49504 */ {(13<<2)|2,{69,114,0}}, +/* 49505 */ {(13<<2)|2,{69,114,0}}, +/* 49506 */ {(13<<2)|2,{69,114,0}}, +/* 49507 */ {(13<<2)|2,{69,114,0}}, +/* 49508 */ {(13<<2)|2,{69,114,0}}, +/* 49509 */ {(13<<2)|2,{69,114,0}}, +/* 49510 */ {(13<<2)|2,{69,114,0}}, +/* 49511 */ {(13<<2)|2,{69,114,0}}, +/* 49512 */ {(13<<2)|2,{69,117,0}}, +/* 49513 */ {(13<<2)|2,{69,117,0}}, +/* 49514 */ {(13<<2)|2,{69,117,0}}, +/* 49515 */ {(13<<2)|2,{69,117,0}}, +/* 49516 */ {(13<<2)|2,{69,117,0}}, +/* 49517 */ {(13<<2)|2,{69,117,0}}, +/* 49518 */ {(13<<2)|2,{69,117,0}}, +/* 49519 */ {(13<<2)|2,{69,117,0}}, +/* 49520 */ {(14<<2)|2,{69,58,0}}, +/* 49521 */ {(14<<2)|2,{69,58,0}}, +/* 49522 */ {(14<<2)|2,{69,58,0}}, +/* 49523 */ {(14<<2)|2,{69,58,0}}, +/* 49524 */ {(14<<2)|2,{69,66,0}}, +/* 49525 */ {(14<<2)|2,{69,66,0}}, +/* 49526 */ {(14<<2)|2,{69,66,0}}, +/* 49527 */ {(14<<2)|2,{69,66,0}}, +/* 49528 */ {(14<<2)|2,{69,67,0}}, +/* 49529 */ {(14<<2)|2,{69,67,0}}, +/* 49530 */ {(14<<2)|2,{69,67,0}}, +/* 49531 */ {(14<<2)|2,{69,67,0}}, +/* 49532 */ {(14<<2)|2,{69,68,0}}, +/* 49533 */ {(14<<2)|2,{69,68,0}}, +/* 49534 */ {(14<<2)|2,{69,68,0}}, +/* 49535 */ {(14<<2)|2,{69,68,0}}, +/* 49536 */ {(14<<2)|2,{69,69,0}}, +/* 49537 */ {(14<<2)|2,{69,69,0}}, +/* 49538 */ {(14<<2)|2,{69,69,0}}, +/* 49539 */ {(14<<2)|2,{69,69,0}}, +/* 49540 */ {(14<<2)|2,{69,70,0}}, +/* 49541 */ {(14<<2)|2,{69,70,0}}, +/* 49542 */ {(14<<2)|2,{69,70,0}}, +/* 49543 */ {(14<<2)|2,{69,70,0}}, +/* 49544 */ {(14<<2)|2,{69,71,0}}, +/* 49545 */ {(14<<2)|2,{69,71,0}}, +/* 49546 */ {(14<<2)|2,{69,71,0}}, +/* 49547 */ {(14<<2)|2,{69,71,0}}, +/* 49548 */ {(14<<2)|2,{69,72,0}}, +/* 49549 */ {(14<<2)|2,{69,72,0}}, +/* 49550 */ {(14<<2)|2,{69,72,0}}, +/* 49551 */ {(14<<2)|2,{69,72,0}}, +/* 49552 */ {(14<<2)|2,{69,73,0}}, +/* 49553 */ {(14<<2)|2,{69,73,0}}, +/* 49554 */ {(14<<2)|2,{69,73,0}}, +/* 49555 */ {(14<<2)|2,{69,73,0}}, +/* 49556 */ {(14<<2)|2,{69,74,0}}, +/* 49557 */ {(14<<2)|2,{69,74,0}}, +/* 49558 */ {(14<<2)|2,{69,74,0}}, +/* 49559 */ {(14<<2)|2,{69,74,0}}, +/* 49560 */ {(14<<2)|2,{69,75,0}}, +/* 49561 */ {(14<<2)|2,{69,75,0}}, +/* 49562 */ {(14<<2)|2,{69,75,0}}, +/* 49563 */ {(14<<2)|2,{69,75,0}}, +/* 49564 */ {(14<<2)|2,{69,76,0}}, +/* 49565 */ {(14<<2)|2,{69,76,0}}, +/* 49566 */ {(14<<2)|2,{69,76,0}}, +/* 49567 */ {(14<<2)|2,{69,76,0}}, +/* 49568 */ {(14<<2)|2,{69,77,0}}, +/* 49569 */ {(14<<2)|2,{69,77,0}}, +/* 49570 */ {(14<<2)|2,{69,77,0}}, +/* 49571 */ {(14<<2)|2,{69,77,0}}, +/* 49572 */ {(14<<2)|2,{69,78,0}}, +/* 49573 */ {(14<<2)|2,{69,78,0}}, +/* 49574 */ {(14<<2)|2,{69,78,0}}, +/* 49575 */ {(14<<2)|2,{69,78,0}}, +/* 49576 */ {(14<<2)|2,{69,79,0}}, +/* 49577 */ {(14<<2)|2,{69,79,0}}, +/* 49578 */ {(14<<2)|2,{69,79,0}}, +/* 49579 */ {(14<<2)|2,{69,79,0}}, +/* 49580 */ {(14<<2)|2,{69,80,0}}, +/* 49581 */ {(14<<2)|2,{69,80,0}}, +/* 49582 */ {(14<<2)|2,{69,80,0}}, +/* 49583 */ {(14<<2)|2,{69,80,0}}, +/* 49584 */ {(14<<2)|2,{69,81,0}}, +/* 49585 */ {(14<<2)|2,{69,81,0}}, +/* 49586 */ {(14<<2)|2,{69,81,0}}, +/* 49587 */ {(14<<2)|2,{69,81,0}}, +/* 49588 */ {(14<<2)|2,{69,82,0}}, +/* 49589 */ {(14<<2)|2,{69,82,0}}, +/* 49590 */ {(14<<2)|2,{69,82,0}}, +/* 49591 */ {(14<<2)|2,{69,82,0}}, +/* 49592 */ {(14<<2)|2,{69,83,0}}, +/* 49593 */ {(14<<2)|2,{69,83,0}}, +/* 49594 */ {(14<<2)|2,{69,83,0}}, +/* 49595 */ {(14<<2)|2,{69,83,0}}, +/* 49596 */ {(14<<2)|2,{69,84,0}}, +/* 49597 */ {(14<<2)|2,{69,84,0}}, +/* 49598 */ {(14<<2)|2,{69,84,0}}, +/* 49599 */ {(14<<2)|2,{69,84,0}}, +/* 49600 */ {(14<<2)|2,{69,85,0}}, +/* 49601 */ {(14<<2)|2,{69,85,0}}, +/* 49602 */ {(14<<2)|2,{69,85,0}}, +/* 49603 */ {(14<<2)|2,{69,85,0}}, +/* 49604 */ {(14<<2)|2,{69,86,0}}, +/* 49605 */ {(14<<2)|2,{69,86,0}}, +/* 49606 */ {(14<<2)|2,{69,86,0}}, +/* 49607 */ {(14<<2)|2,{69,86,0}}, +/* 49608 */ {(14<<2)|2,{69,87,0}}, +/* 49609 */ {(14<<2)|2,{69,87,0}}, +/* 49610 */ {(14<<2)|2,{69,87,0}}, +/* 49611 */ {(14<<2)|2,{69,87,0}}, +/* 49612 */ {(14<<2)|2,{69,89,0}}, +/* 49613 */ {(14<<2)|2,{69,89,0}}, +/* 49614 */ {(14<<2)|2,{69,89,0}}, +/* 49615 */ {(14<<2)|2,{69,89,0}}, +/* 49616 */ {(14<<2)|2,{69,106,0}}, +/* 49617 */ {(14<<2)|2,{69,106,0}}, +/* 49618 */ {(14<<2)|2,{69,106,0}}, +/* 49619 */ {(14<<2)|2,{69,106,0}}, +/* 49620 */ {(14<<2)|2,{69,107,0}}, +/* 49621 */ {(14<<2)|2,{69,107,0}}, +/* 49622 */ {(14<<2)|2,{69,107,0}}, +/* 49623 */ {(14<<2)|2,{69,107,0}}, +/* 49624 */ {(14<<2)|2,{69,113,0}}, +/* 49625 */ {(14<<2)|2,{69,113,0}}, +/* 49626 */ {(14<<2)|2,{69,113,0}}, +/* 49627 */ {(14<<2)|2,{69,113,0}}, +/* 49628 */ {(14<<2)|2,{69,118,0}}, +/* 49629 */ {(14<<2)|2,{69,118,0}}, +/* 49630 */ {(14<<2)|2,{69,118,0}}, +/* 49631 */ {(14<<2)|2,{69,118,0}}, +/* 49632 */ {(14<<2)|2,{69,119,0}}, +/* 49633 */ {(14<<2)|2,{69,119,0}}, +/* 49634 */ {(14<<2)|2,{69,119,0}}, +/* 49635 */ {(14<<2)|2,{69,119,0}}, +/* 49636 */ {(14<<2)|2,{69,120,0}}, +/* 49637 */ {(14<<2)|2,{69,120,0}}, +/* 49638 */ {(14<<2)|2,{69,120,0}}, +/* 49639 */ {(14<<2)|2,{69,120,0}}, +/* 49640 */ {(14<<2)|2,{69,121,0}}, +/* 49641 */ {(14<<2)|2,{69,121,0}}, +/* 49642 */ {(14<<2)|2,{69,121,0}}, +/* 49643 */ {(14<<2)|2,{69,121,0}}, +/* 49644 */ {(14<<2)|2,{69,122,0}}, +/* 49645 */ {(14<<2)|2,{69,122,0}}, +/* 49646 */ {(14<<2)|2,{69,122,0}}, +/* 49647 */ {(14<<2)|2,{69,122,0}}, +/* 49648 */ {(15<<2)|2,{69,38,0}}, +/* 49649 */ {(15<<2)|2,{69,38,0}}, +/* 49650 */ {(15<<2)|2,{69,42,0}}, +/* 49651 */ {(15<<2)|2,{69,42,0}}, +/* 49652 */ {(15<<2)|2,{69,44,0}}, +/* 49653 */ {(15<<2)|2,{69,44,0}}, +/* 49654 */ {(15<<2)|2,{69,59,0}}, +/* 49655 */ {(15<<2)|2,{69,59,0}}, +/* 49656 */ {(15<<2)|2,{69,88,0}}, +/* 49657 */ {(15<<2)|2,{69,88,0}}, +/* 49658 */ {(15<<2)|2,{69,90,0}}, +/* 49659 */ {(15<<2)|2,{69,90,0}}, +/* 49660 */ {(7<<2)|1,{69,0,0}}, +/* 49661 */ {(7<<2)|1,{69,0,0}}, +/* 49662 */ {(7<<2)|1,{69,0,0}}, +/* 49663 */ {(7<<2)|1,{69,0,0}}, +/* 49664 */ {(12<<2)|2,{70,48,0}}, +/* 49665 */ {(12<<2)|2,{70,48,0}}, +/* 49666 */ {(12<<2)|2,{70,48,0}}, +/* 49667 */ {(12<<2)|2,{70,48,0}}, +/* 49668 */ {(12<<2)|2,{70,48,0}}, +/* 49669 */ {(12<<2)|2,{70,48,0}}, +/* 49670 */ {(12<<2)|2,{70,48,0}}, +/* 49671 */ {(12<<2)|2,{70,48,0}}, +/* 49672 */ {(12<<2)|2,{70,48,0}}, +/* 49673 */ {(12<<2)|2,{70,48,0}}, +/* 49674 */ {(12<<2)|2,{70,48,0}}, +/* 49675 */ {(12<<2)|2,{70,48,0}}, +/* 49676 */ {(12<<2)|2,{70,48,0}}, +/* 49677 */ {(12<<2)|2,{70,48,0}}, +/* 49678 */ {(12<<2)|2,{70,48,0}}, +/* 49679 */ {(12<<2)|2,{70,48,0}}, +/* 49680 */ {(12<<2)|2,{70,49,0}}, +/* 49681 */ {(12<<2)|2,{70,49,0}}, +/* 49682 */ {(12<<2)|2,{70,49,0}}, +/* 49683 */ {(12<<2)|2,{70,49,0}}, +/* 49684 */ {(12<<2)|2,{70,49,0}}, +/* 49685 */ {(12<<2)|2,{70,49,0}}, +/* 49686 */ {(12<<2)|2,{70,49,0}}, +/* 49687 */ {(12<<2)|2,{70,49,0}}, +/* 49688 */ {(12<<2)|2,{70,49,0}}, +/* 49689 */ {(12<<2)|2,{70,49,0}}, +/* 49690 */ {(12<<2)|2,{70,49,0}}, +/* 49691 */ {(12<<2)|2,{70,49,0}}, +/* 49692 */ {(12<<2)|2,{70,49,0}}, +/* 49693 */ {(12<<2)|2,{70,49,0}}, +/* 49694 */ {(12<<2)|2,{70,49,0}}, +/* 49695 */ {(12<<2)|2,{70,49,0}}, +/* 49696 */ {(12<<2)|2,{70,50,0}}, +/* 49697 */ {(12<<2)|2,{70,50,0}}, +/* 49698 */ {(12<<2)|2,{70,50,0}}, +/* 49699 */ {(12<<2)|2,{70,50,0}}, +/* 49700 */ {(12<<2)|2,{70,50,0}}, +/* 49701 */ {(12<<2)|2,{70,50,0}}, +/* 49702 */ {(12<<2)|2,{70,50,0}}, +/* 49703 */ {(12<<2)|2,{70,50,0}}, +/* 49704 */ {(12<<2)|2,{70,50,0}}, +/* 49705 */ {(12<<2)|2,{70,50,0}}, +/* 49706 */ {(12<<2)|2,{70,50,0}}, +/* 49707 */ {(12<<2)|2,{70,50,0}}, +/* 49708 */ {(12<<2)|2,{70,50,0}}, +/* 49709 */ {(12<<2)|2,{70,50,0}}, +/* 49710 */ {(12<<2)|2,{70,50,0}}, +/* 49711 */ {(12<<2)|2,{70,50,0}}, +/* 49712 */ {(12<<2)|2,{70,97,0}}, +/* 49713 */ {(12<<2)|2,{70,97,0}}, +/* 49714 */ {(12<<2)|2,{70,97,0}}, +/* 49715 */ {(12<<2)|2,{70,97,0}}, +/* 49716 */ {(12<<2)|2,{70,97,0}}, +/* 49717 */ {(12<<2)|2,{70,97,0}}, +/* 49718 */ {(12<<2)|2,{70,97,0}}, +/* 49719 */ {(12<<2)|2,{70,97,0}}, +/* 49720 */ {(12<<2)|2,{70,97,0}}, +/* 49721 */ {(12<<2)|2,{70,97,0}}, +/* 49722 */ {(12<<2)|2,{70,97,0}}, +/* 49723 */ {(12<<2)|2,{70,97,0}}, +/* 49724 */ {(12<<2)|2,{70,97,0}}, +/* 49725 */ {(12<<2)|2,{70,97,0}}, +/* 49726 */ {(12<<2)|2,{70,97,0}}, +/* 49727 */ {(12<<2)|2,{70,97,0}}, +/* 49728 */ {(12<<2)|2,{70,99,0}}, +/* 49729 */ {(12<<2)|2,{70,99,0}}, +/* 49730 */ {(12<<2)|2,{70,99,0}}, +/* 49731 */ {(12<<2)|2,{70,99,0}}, +/* 49732 */ {(12<<2)|2,{70,99,0}}, +/* 49733 */ {(12<<2)|2,{70,99,0}}, +/* 49734 */ {(12<<2)|2,{70,99,0}}, +/* 49735 */ {(12<<2)|2,{70,99,0}}, +/* 49736 */ {(12<<2)|2,{70,99,0}}, +/* 49737 */ {(12<<2)|2,{70,99,0}}, +/* 49738 */ {(12<<2)|2,{70,99,0}}, +/* 49739 */ {(12<<2)|2,{70,99,0}}, +/* 49740 */ {(12<<2)|2,{70,99,0}}, +/* 49741 */ {(12<<2)|2,{70,99,0}}, +/* 49742 */ {(12<<2)|2,{70,99,0}}, +/* 49743 */ {(12<<2)|2,{70,99,0}}, +/* 49744 */ {(12<<2)|2,{70,101,0}}, +/* 49745 */ {(12<<2)|2,{70,101,0}}, +/* 49746 */ {(12<<2)|2,{70,101,0}}, +/* 49747 */ {(12<<2)|2,{70,101,0}}, +/* 49748 */ {(12<<2)|2,{70,101,0}}, +/* 49749 */ {(12<<2)|2,{70,101,0}}, +/* 49750 */ {(12<<2)|2,{70,101,0}}, +/* 49751 */ {(12<<2)|2,{70,101,0}}, +/* 49752 */ {(12<<2)|2,{70,101,0}}, +/* 49753 */ {(12<<2)|2,{70,101,0}}, +/* 49754 */ {(12<<2)|2,{70,101,0}}, +/* 49755 */ {(12<<2)|2,{70,101,0}}, +/* 49756 */ {(12<<2)|2,{70,101,0}}, +/* 49757 */ {(12<<2)|2,{70,101,0}}, +/* 49758 */ {(12<<2)|2,{70,101,0}}, +/* 49759 */ {(12<<2)|2,{70,101,0}}, +/* 49760 */ {(12<<2)|2,{70,105,0}}, +/* 49761 */ {(12<<2)|2,{70,105,0}}, +/* 49762 */ {(12<<2)|2,{70,105,0}}, +/* 49763 */ {(12<<2)|2,{70,105,0}}, +/* 49764 */ {(12<<2)|2,{70,105,0}}, +/* 49765 */ {(12<<2)|2,{70,105,0}}, +/* 49766 */ {(12<<2)|2,{70,105,0}}, +/* 49767 */ {(12<<2)|2,{70,105,0}}, +/* 49768 */ {(12<<2)|2,{70,105,0}}, +/* 49769 */ {(12<<2)|2,{70,105,0}}, +/* 49770 */ {(12<<2)|2,{70,105,0}}, +/* 49771 */ {(12<<2)|2,{70,105,0}}, +/* 49772 */ {(12<<2)|2,{70,105,0}}, +/* 49773 */ {(12<<2)|2,{70,105,0}}, +/* 49774 */ {(12<<2)|2,{70,105,0}}, +/* 49775 */ {(12<<2)|2,{70,105,0}}, +/* 49776 */ {(12<<2)|2,{70,111,0}}, +/* 49777 */ {(12<<2)|2,{70,111,0}}, +/* 49778 */ {(12<<2)|2,{70,111,0}}, +/* 49779 */ {(12<<2)|2,{70,111,0}}, +/* 49780 */ {(12<<2)|2,{70,111,0}}, +/* 49781 */ {(12<<2)|2,{70,111,0}}, +/* 49782 */ {(12<<2)|2,{70,111,0}}, +/* 49783 */ {(12<<2)|2,{70,111,0}}, +/* 49784 */ {(12<<2)|2,{70,111,0}}, +/* 49785 */ {(12<<2)|2,{70,111,0}}, +/* 49786 */ {(12<<2)|2,{70,111,0}}, +/* 49787 */ {(12<<2)|2,{70,111,0}}, +/* 49788 */ {(12<<2)|2,{70,111,0}}, +/* 49789 */ {(12<<2)|2,{70,111,0}}, +/* 49790 */ {(12<<2)|2,{70,111,0}}, +/* 49791 */ {(12<<2)|2,{70,111,0}}, +/* 49792 */ {(12<<2)|2,{70,115,0}}, +/* 49793 */ {(12<<2)|2,{70,115,0}}, +/* 49794 */ {(12<<2)|2,{70,115,0}}, +/* 49795 */ {(12<<2)|2,{70,115,0}}, +/* 49796 */ {(12<<2)|2,{70,115,0}}, +/* 49797 */ {(12<<2)|2,{70,115,0}}, +/* 49798 */ {(12<<2)|2,{70,115,0}}, +/* 49799 */ {(12<<2)|2,{70,115,0}}, +/* 49800 */ {(12<<2)|2,{70,115,0}}, +/* 49801 */ {(12<<2)|2,{70,115,0}}, +/* 49802 */ {(12<<2)|2,{70,115,0}}, +/* 49803 */ {(12<<2)|2,{70,115,0}}, +/* 49804 */ {(12<<2)|2,{70,115,0}}, +/* 49805 */ {(12<<2)|2,{70,115,0}}, +/* 49806 */ {(12<<2)|2,{70,115,0}}, +/* 49807 */ {(12<<2)|2,{70,115,0}}, +/* 49808 */ {(12<<2)|2,{70,116,0}}, +/* 49809 */ {(12<<2)|2,{70,116,0}}, +/* 49810 */ {(12<<2)|2,{70,116,0}}, +/* 49811 */ {(12<<2)|2,{70,116,0}}, +/* 49812 */ {(12<<2)|2,{70,116,0}}, +/* 49813 */ {(12<<2)|2,{70,116,0}}, +/* 49814 */ {(12<<2)|2,{70,116,0}}, +/* 49815 */ {(12<<2)|2,{70,116,0}}, +/* 49816 */ {(12<<2)|2,{70,116,0}}, +/* 49817 */ {(12<<2)|2,{70,116,0}}, +/* 49818 */ {(12<<2)|2,{70,116,0}}, +/* 49819 */ {(12<<2)|2,{70,116,0}}, +/* 49820 */ {(12<<2)|2,{70,116,0}}, +/* 49821 */ {(12<<2)|2,{70,116,0}}, +/* 49822 */ {(12<<2)|2,{70,116,0}}, +/* 49823 */ {(12<<2)|2,{70,116,0}}, +/* 49824 */ {(13<<2)|2,{70,32,0}}, +/* 49825 */ {(13<<2)|2,{70,32,0}}, +/* 49826 */ {(13<<2)|2,{70,32,0}}, +/* 49827 */ {(13<<2)|2,{70,32,0}}, +/* 49828 */ {(13<<2)|2,{70,32,0}}, +/* 49829 */ {(13<<2)|2,{70,32,0}}, +/* 49830 */ {(13<<2)|2,{70,32,0}}, +/* 49831 */ {(13<<2)|2,{70,32,0}}, +/* 49832 */ {(13<<2)|2,{70,37,0}}, +/* 49833 */ {(13<<2)|2,{70,37,0}}, +/* 49834 */ {(13<<2)|2,{70,37,0}}, +/* 49835 */ {(13<<2)|2,{70,37,0}}, +/* 49836 */ {(13<<2)|2,{70,37,0}}, +/* 49837 */ {(13<<2)|2,{70,37,0}}, +/* 49838 */ {(13<<2)|2,{70,37,0}}, +/* 49839 */ {(13<<2)|2,{70,37,0}}, +/* 49840 */ {(13<<2)|2,{70,45,0}}, +/* 49841 */ {(13<<2)|2,{70,45,0}}, +/* 49842 */ {(13<<2)|2,{70,45,0}}, +/* 49843 */ {(13<<2)|2,{70,45,0}}, +/* 49844 */ {(13<<2)|2,{70,45,0}}, +/* 49845 */ {(13<<2)|2,{70,45,0}}, +/* 49846 */ {(13<<2)|2,{70,45,0}}, +/* 49847 */ {(13<<2)|2,{70,45,0}}, +/* 49848 */ {(13<<2)|2,{70,46,0}}, +/* 49849 */ {(13<<2)|2,{70,46,0}}, +/* 49850 */ {(13<<2)|2,{70,46,0}}, +/* 49851 */ {(13<<2)|2,{70,46,0}}, +/* 49852 */ {(13<<2)|2,{70,46,0}}, +/* 49853 */ {(13<<2)|2,{70,46,0}}, +/* 49854 */ {(13<<2)|2,{70,46,0}}, +/* 49855 */ {(13<<2)|2,{70,46,0}}, +/* 49856 */ {(13<<2)|2,{70,47,0}}, +/* 49857 */ {(13<<2)|2,{70,47,0}}, +/* 49858 */ {(13<<2)|2,{70,47,0}}, +/* 49859 */ {(13<<2)|2,{70,47,0}}, +/* 49860 */ {(13<<2)|2,{70,47,0}}, +/* 49861 */ {(13<<2)|2,{70,47,0}}, +/* 49862 */ {(13<<2)|2,{70,47,0}}, +/* 49863 */ {(13<<2)|2,{70,47,0}}, +/* 49864 */ {(13<<2)|2,{70,51,0}}, +/* 49865 */ {(13<<2)|2,{70,51,0}}, +/* 49866 */ {(13<<2)|2,{70,51,0}}, +/* 49867 */ {(13<<2)|2,{70,51,0}}, +/* 49868 */ {(13<<2)|2,{70,51,0}}, +/* 49869 */ {(13<<2)|2,{70,51,0}}, +/* 49870 */ {(13<<2)|2,{70,51,0}}, +/* 49871 */ {(13<<2)|2,{70,51,0}}, +/* 49872 */ {(13<<2)|2,{70,52,0}}, +/* 49873 */ {(13<<2)|2,{70,52,0}}, +/* 49874 */ {(13<<2)|2,{70,52,0}}, +/* 49875 */ {(13<<2)|2,{70,52,0}}, +/* 49876 */ {(13<<2)|2,{70,52,0}}, +/* 49877 */ {(13<<2)|2,{70,52,0}}, +/* 49878 */ {(13<<2)|2,{70,52,0}}, +/* 49879 */ {(13<<2)|2,{70,52,0}}, +/* 49880 */ {(13<<2)|2,{70,53,0}}, +/* 49881 */ {(13<<2)|2,{70,53,0}}, +/* 49882 */ {(13<<2)|2,{70,53,0}}, +/* 49883 */ {(13<<2)|2,{70,53,0}}, +/* 49884 */ {(13<<2)|2,{70,53,0}}, +/* 49885 */ {(13<<2)|2,{70,53,0}}, +/* 49886 */ {(13<<2)|2,{70,53,0}}, +/* 49887 */ {(13<<2)|2,{70,53,0}}, +/* 49888 */ {(13<<2)|2,{70,54,0}}, +/* 49889 */ {(13<<2)|2,{70,54,0}}, +/* 49890 */ {(13<<2)|2,{70,54,0}}, +/* 49891 */ {(13<<2)|2,{70,54,0}}, +/* 49892 */ {(13<<2)|2,{70,54,0}}, +/* 49893 */ {(13<<2)|2,{70,54,0}}, +/* 49894 */ {(13<<2)|2,{70,54,0}}, +/* 49895 */ {(13<<2)|2,{70,54,0}}, +/* 49896 */ {(13<<2)|2,{70,55,0}}, +/* 49897 */ {(13<<2)|2,{70,55,0}}, +/* 49898 */ {(13<<2)|2,{70,55,0}}, +/* 49899 */ {(13<<2)|2,{70,55,0}}, +/* 49900 */ {(13<<2)|2,{70,55,0}}, +/* 49901 */ {(13<<2)|2,{70,55,0}}, +/* 49902 */ {(13<<2)|2,{70,55,0}}, +/* 49903 */ {(13<<2)|2,{70,55,0}}, +/* 49904 */ {(13<<2)|2,{70,56,0}}, +/* 49905 */ {(13<<2)|2,{70,56,0}}, +/* 49906 */ {(13<<2)|2,{70,56,0}}, +/* 49907 */ {(13<<2)|2,{70,56,0}}, +/* 49908 */ {(13<<2)|2,{70,56,0}}, +/* 49909 */ {(13<<2)|2,{70,56,0}}, +/* 49910 */ {(13<<2)|2,{70,56,0}}, +/* 49911 */ {(13<<2)|2,{70,56,0}}, +/* 49912 */ {(13<<2)|2,{70,57,0}}, +/* 49913 */ {(13<<2)|2,{70,57,0}}, +/* 49914 */ {(13<<2)|2,{70,57,0}}, +/* 49915 */ {(13<<2)|2,{70,57,0}}, +/* 49916 */ {(13<<2)|2,{70,57,0}}, +/* 49917 */ {(13<<2)|2,{70,57,0}}, +/* 49918 */ {(13<<2)|2,{70,57,0}}, +/* 49919 */ {(13<<2)|2,{70,57,0}}, +/* 49920 */ {(13<<2)|2,{70,61,0}}, +/* 49921 */ {(13<<2)|2,{70,61,0}}, +/* 49922 */ {(13<<2)|2,{70,61,0}}, +/* 49923 */ {(13<<2)|2,{70,61,0}}, +/* 49924 */ {(13<<2)|2,{70,61,0}}, +/* 49925 */ {(13<<2)|2,{70,61,0}}, +/* 49926 */ {(13<<2)|2,{70,61,0}}, +/* 49927 */ {(13<<2)|2,{70,61,0}}, +/* 49928 */ {(13<<2)|2,{70,65,0}}, +/* 49929 */ {(13<<2)|2,{70,65,0}}, +/* 49930 */ {(13<<2)|2,{70,65,0}}, +/* 49931 */ {(13<<2)|2,{70,65,0}}, +/* 49932 */ {(13<<2)|2,{70,65,0}}, +/* 49933 */ {(13<<2)|2,{70,65,0}}, +/* 49934 */ {(13<<2)|2,{70,65,0}}, +/* 49935 */ {(13<<2)|2,{70,65,0}}, +/* 49936 */ {(13<<2)|2,{70,95,0}}, +/* 49937 */ {(13<<2)|2,{70,95,0}}, +/* 49938 */ {(13<<2)|2,{70,95,0}}, +/* 49939 */ {(13<<2)|2,{70,95,0}}, +/* 49940 */ {(13<<2)|2,{70,95,0}}, +/* 49941 */ {(13<<2)|2,{70,95,0}}, +/* 49942 */ {(13<<2)|2,{70,95,0}}, +/* 49943 */ {(13<<2)|2,{70,95,0}}, +/* 49944 */ {(13<<2)|2,{70,98,0}}, +/* 49945 */ {(13<<2)|2,{70,98,0}}, +/* 49946 */ {(13<<2)|2,{70,98,0}}, +/* 49947 */ {(13<<2)|2,{70,98,0}}, +/* 49948 */ {(13<<2)|2,{70,98,0}}, +/* 49949 */ {(13<<2)|2,{70,98,0}}, +/* 49950 */ {(13<<2)|2,{70,98,0}}, +/* 49951 */ {(13<<2)|2,{70,98,0}}, +/* 49952 */ {(13<<2)|2,{70,100,0}}, +/* 49953 */ {(13<<2)|2,{70,100,0}}, +/* 49954 */ {(13<<2)|2,{70,100,0}}, +/* 49955 */ {(13<<2)|2,{70,100,0}}, +/* 49956 */ {(13<<2)|2,{70,100,0}}, +/* 49957 */ {(13<<2)|2,{70,100,0}}, +/* 49958 */ {(13<<2)|2,{70,100,0}}, +/* 49959 */ {(13<<2)|2,{70,100,0}}, +/* 49960 */ {(13<<2)|2,{70,102,0}}, +/* 49961 */ {(13<<2)|2,{70,102,0}}, +/* 49962 */ {(13<<2)|2,{70,102,0}}, +/* 49963 */ {(13<<2)|2,{70,102,0}}, +/* 49964 */ {(13<<2)|2,{70,102,0}}, +/* 49965 */ {(13<<2)|2,{70,102,0}}, +/* 49966 */ {(13<<2)|2,{70,102,0}}, +/* 49967 */ {(13<<2)|2,{70,102,0}}, +/* 49968 */ {(13<<2)|2,{70,103,0}}, +/* 49969 */ {(13<<2)|2,{70,103,0}}, +/* 49970 */ {(13<<2)|2,{70,103,0}}, +/* 49971 */ {(13<<2)|2,{70,103,0}}, +/* 49972 */ {(13<<2)|2,{70,103,0}}, +/* 49973 */ {(13<<2)|2,{70,103,0}}, +/* 49974 */ {(13<<2)|2,{70,103,0}}, +/* 49975 */ {(13<<2)|2,{70,103,0}}, +/* 49976 */ {(13<<2)|2,{70,104,0}}, +/* 49977 */ {(13<<2)|2,{70,104,0}}, +/* 49978 */ {(13<<2)|2,{70,104,0}}, +/* 49979 */ {(13<<2)|2,{70,104,0}}, +/* 49980 */ {(13<<2)|2,{70,104,0}}, +/* 49981 */ {(13<<2)|2,{70,104,0}}, +/* 49982 */ {(13<<2)|2,{70,104,0}}, +/* 49983 */ {(13<<2)|2,{70,104,0}}, +/* 49984 */ {(13<<2)|2,{70,108,0}}, +/* 49985 */ {(13<<2)|2,{70,108,0}}, +/* 49986 */ {(13<<2)|2,{70,108,0}}, +/* 49987 */ {(13<<2)|2,{70,108,0}}, +/* 49988 */ {(13<<2)|2,{70,108,0}}, +/* 49989 */ {(13<<2)|2,{70,108,0}}, +/* 49990 */ {(13<<2)|2,{70,108,0}}, +/* 49991 */ {(13<<2)|2,{70,108,0}}, +/* 49992 */ {(13<<2)|2,{70,109,0}}, +/* 49993 */ {(13<<2)|2,{70,109,0}}, +/* 49994 */ {(13<<2)|2,{70,109,0}}, +/* 49995 */ {(13<<2)|2,{70,109,0}}, +/* 49996 */ {(13<<2)|2,{70,109,0}}, +/* 49997 */ {(13<<2)|2,{70,109,0}}, +/* 49998 */ {(13<<2)|2,{70,109,0}}, +/* 49999 */ {(13<<2)|2,{70,109,0}}, +/* 50000 */ {(13<<2)|2,{70,110,0}}, +/* 50001 */ {(13<<2)|2,{70,110,0}}, +/* 50002 */ {(13<<2)|2,{70,110,0}}, +/* 50003 */ {(13<<2)|2,{70,110,0}}, +/* 50004 */ {(13<<2)|2,{70,110,0}}, +/* 50005 */ {(13<<2)|2,{70,110,0}}, +/* 50006 */ {(13<<2)|2,{70,110,0}}, +/* 50007 */ {(13<<2)|2,{70,110,0}}, +/* 50008 */ {(13<<2)|2,{70,112,0}}, +/* 50009 */ {(13<<2)|2,{70,112,0}}, +/* 50010 */ {(13<<2)|2,{70,112,0}}, +/* 50011 */ {(13<<2)|2,{70,112,0}}, +/* 50012 */ {(13<<2)|2,{70,112,0}}, +/* 50013 */ {(13<<2)|2,{70,112,0}}, +/* 50014 */ {(13<<2)|2,{70,112,0}}, +/* 50015 */ {(13<<2)|2,{70,112,0}}, +/* 50016 */ {(13<<2)|2,{70,114,0}}, +/* 50017 */ {(13<<2)|2,{70,114,0}}, +/* 50018 */ {(13<<2)|2,{70,114,0}}, +/* 50019 */ {(13<<2)|2,{70,114,0}}, +/* 50020 */ {(13<<2)|2,{70,114,0}}, +/* 50021 */ {(13<<2)|2,{70,114,0}}, +/* 50022 */ {(13<<2)|2,{70,114,0}}, +/* 50023 */ {(13<<2)|2,{70,114,0}}, +/* 50024 */ {(13<<2)|2,{70,117,0}}, +/* 50025 */ {(13<<2)|2,{70,117,0}}, +/* 50026 */ {(13<<2)|2,{70,117,0}}, +/* 50027 */ {(13<<2)|2,{70,117,0}}, +/* 50028 */ {(13<<2)|2,{70,117,0}}, +/* 50029 */ {(13<<2)|2,{70,117,0}}, +/* 50030 */ {(13<<2)|2,{70,117,0}}, +/* 50031 */ {(13<<2)|2,{70,117,0}}, +/* 50032 */ {(14<<2)|2,{70,58,0}}, +/* 50033 */ {(14<<2)|2,{70,58,0}}, +/* 50034 */ {(14<<2)|2,{70,58,0}}, +/* 50035 */ {(14<<2)|2,{70,58,0}}, +/* 50036 */ {(14<<2)|2,{70,66,0}}, +/* 50037 */ {(14<<2)|2,{70,66,0}}, +/* 50038 */ {(14<<2)|2,{70,66,0}}, +/* 50039 */ {(14<<2)|2,{70,66,0}}, +/* 50040 */ {(14<<2)|2,{70,67,0}}, +/* 50041 */ {(14<<2)|2,{70,67,0}}, +/* 50042 */ {(14<<2)|2,{70,67,0}}, +/* 50043 */ {(14<<2)|2,{70,67,0}}, +/* 50044 */ {(14<<2)|2,{70,68,0}}, +/* 50045 */ {(14<<2)|2,{70,68,0}}, +/* 50046 */ {(14<<2)|2,{70,68,0}}, +/* 50047 */ {(14<<2)|2,{70,68,0}}, +/* 50048 */ {(14<<2)|2,{70,69,0}}, +/* 50049 */ {(14<<2)|2,{70,69,0}}, +/* 50050 */ {(14<<2)|2,{70,69,0}}, +/* 50051 */ {(14<<2)|2,{70,69,0}}, +/* 50052 */ {(14<<2)|2,{70,70,0}}, +/* 50053 */ {(14<<2)|2,{70,70,0}}, +/* 50054 */ {(14<<2)|2,{70,70,0}}, +/* 50055 */ {(14<<2)|2,{70,70,0}}, +/* 50056 */ {(14<<2)|2,{70,71,0}}, +/* 50057 */ {(14<<2)|2,{70,71,0}}, +/* 50058 */ {(14<<2)|2,{70,71,0}}, +/* 50059 */ {(14<<2)|2,{70,71,0}}, +/* 50060 */ {(14<<2)|2,{70,72,0}}, +/* 50061 */ {(14<<2)|2,{70,72,0}}, +/* 50062 */ {(14<<2)|2,{70,72,0}}, +/* 50063 */ {(14<<2)|2,{70,72,0}}, +/* 50064 */ {(14<<2)|2,{70,73,0}}, +/* 50065 */ {(14<<2)|2,{70,73,0}}, +/* 50066 */ {(14<<2)|2,{70,73,0}}, +/* 50067 */ {(14<<2)|2,{70,73,0}}, +/* 50068 */ {(14<<2)|2,{70,74,0}}, +/* 50069 */ {(14<<2)|2,{70,74,0}}, +/* 50070 */ {(14<<2)|2,{70,74,0}}, +/* 50071 */ {(14<<2)|2,{70,74,0}}, +/* 50072 */ {(14<<2)|2,{70,75,0}}, +/* 50073 */ {(14<<2)|2,{70,75,0}}, +/* 50074 */ {(14<<2)|2,{70,75,0}}, +/* 50075 */ {(14<<2)|2,{70,75,0}}, +/* 50076 */ {(14<<2)|2,{70,76,0}}, +/* 50077 */ {(14<<2)|2,{70,76,0}}, +/* 50078 */ {(14<<2)|2,{70,76,0}}, +/* 50079 */ {(14<<2)|2,{70,76,0}}, +/* 50080 */ {(14<<2)|2,{70,77,0}}, +/* 50081 */ {(14<<2)|2,{70,77,0}}, +/* 50082 */ {(14<<2)|2,{70,77,0}}, +/* 50083 */ {(14<<2)|2,{70,77,0}}, +/* 50084 */ {(14<<2)|2,{70,78,0}}, +/* 50085 */ {(14<<2)|2,{70,78,0}}, +/* 50086 */ {(14<<2)|2,{70,78,0}}, +/* 50087 */ {(14<<2)|2,{70,78,0}}, +/* 50088 */ {(14<<2)|2,{70,79,0}}, +/* 50089 */ {(14<<2)|2,{70,79,0}}, +/* 50090 */ {(14<<2)|2,{70,79,0}}, +/* 50091 */ {(14<<2)|2,{70,79,0}}, +/* 50092 */ {(14<<2)|2,{70,80,0}}, +/* 50093 */ {(14<<2)|2,{70,80,0}}, +/* 50094 */ {(14<<2)|2,{70,80,0}}, +/* 50095 */ {(14<<2)|2,{70,80,0}}, +/* 50096 */ {(14<<2)|2,{70,81,0}}, +/* 50097 */ {(14<<2)|2,{70,81,0}}, +/* 50098 */ {(14<<2)|2,{70,81,0}}, +/* 50099 */ {(14<<2)|2,{70,81,0}}, +/* 50100 */ {(14<<2)|2,{70,82,0}}, +/* 50101 */ {(14<<2)|2,{70,82,0}}, +/* 50102 */ {(14<<2)|2,{70,82,0}}, +/* 50103 */ {(14<<2)|2,{70,82,0}}, +/* 50104 */ {(14<<2)|2,{70,83,0}}, +/* 50105 */ {(14<<2)|2,{70,83,0}}, +/* 50106 */ {(14<<2)|2,{70,83,0}}, +/* 50107 */ {(14<<2)|2,{70,83,0}}, +/* 50108 */ {(14<<2)|2,{70,84,0}}, +/* 50109 */ {(14<<2)|2,{70,84,0}}, +/* 50110 */ {(14<<2)|2,{70,84,0}}, +/* 50111 */ {(14<<2)|2,{70,84,0}}, +/* 50112 */ {(14<<2)|2,{70,85,0}}, +/* 50113 */ {(14<<2)|2,{70,85,0}}, +/* 50114 */ {(14<<2)|2,{70,85,0}}, +/* 50115 */ {(14<<2)|2,{70,85,0}}, +/* 50116 */ {(14<<2)|2,{70,86,0}}, +/* 50117 */ {(14<<2)|2,{70,86,0}}, +/* 50118 */ {(14<<2)|2,{70,86,0}}, +/* 50119 */ {(14<<2)|2,{70,86,0}}, +/* 50120 */ {(14<<2)|2,{70,87,0}}, +/* 50121 */ {(14<<2)|2,{70,87,0}}, +/* 50122 */ {(14<<2)|2,{70,87,0}}, +/* 50123 */ {(14<<2)|2,{70,87,0}}, +/* 50124 */ {(14<<2)|2,{70,89,0}}, +/* 50125 */ {(14<<2)|2,{70,89,0}}, +/* 50126 */ {(14<<2)|2,{70,89,0}}, +/* 50127 */ {(14<<2)|2,{70,89,0}}, +/* 50128 */ {(14<<2)|2,{70,106,0}}, +/* 50129 */ {(14<<2)|2,{70,106,0}}, +/* 50130 */ {(14<<2)|2,{70,106,0}}, +/* 50131 */ {(14<<2)|2,{70,106,0}}, +/* 50132 */ {(14<<2)|2,{70,107,0}}, +/* 50133 */ {(14<<2)|2,{70,107,0}}, +/* 50134 */ {(14<<2)|2,{70,107,0}}, +/* 50135 */ {(14<<2)|2,{70,107,0}}, +/* 50136 */ {(14<<2)|2,{70,113,0}}, +/* 50137 */ {(14<<2)|2,{70,113,0}}, +/* 50138 */ {(14<<2)|2,{70,113,0}}, +/* 50139 */ {(14<<2)|2,{70,113,0}}, +/* 50140 */ {(14<<2)|2,{70,118,0}}, +/* 50141 */ {(14<<2)|2,{70,118,0}}, +/* 50142 */ {(14<<2)|2,{70,118,0}}, +/* 50143 */ {(14<<2)|2,{70,118,0}}, +/* 50144 */ {(14<<2)|2,{70,119,0}}, +/* 50145 */ {(14<<2)|2,{70,119,0}}, +/* 50146 */ {(14<<2)|2,{70,119,0}}, +/* 50147 */ {(14<<2)|2,{70,119,0}}, +/* 50148 */ {(14<<2)|2,{70,120,0}}, +/* 50149 */ {(14<<2)|2,{70,120,0}}, +/* 50150 */ {(14<<2)|2,{70,120,0}}, +/* 50151 */ {(14<<2)|2,{70,120,0}}, +/* 50152 */ {(14<<2)|2,{70,121,0}}, +/* 50153 */ {(14<<2)|2,{70,121,0}}, +/* 50154 */ {(14<<2)|2,{70,121,0}}, +/* 50155 */ {(14<<2)|2,{70,121,0}}, +/* 50156 */ {(14<<2)|2,{70,122,0}}, +/* 50157 */ {(14<<2)|2,{70,122,0}}, +/* 50158 */ {(14<<2)|2,{70,122,0}}, +/* 50159 */ {(14<<2)|2,{70,122,0}}, +/* 50160 */ {(15<<2)|2,{70,38,0}}, +/* 50161 */ {(15<<2)|2,{70,38,0}}, +/* 50162 */ {(15<<2)|2,{70,42,0}}, +/* 50163 */ {(15<<2)|2,{70,42,0}}, +/* 50164 */ {(15<<2)|2,{70,44,0}}, +/* 50165 */ {(15<<2)|2,{70,44,0}}, +/* 50166 */ {(15<<2)|2,{70,59,0}}, +/* 50167 */ {(15<<2)|2,{70,59,0}}, +/* 50168 */ {(15<<2)|2,{70,88,0}}, +/* 50169 */ {(15<<2)|2,{70,88,0}}, +/* 50170 */ {(15<<2)|2,{70,90,0}}, +/* 50171 */ {(15<<2)|2,{70,90,0}}, +/* 50172 */ {(7<<2)|1,{70,0,0}}, +/* 50173 */ {(7<<2)|1,{70,0,0}}, +/* 50174 */ {(7<<2)|1,{70,0,0}}, +/* 50175 */ {(7<<2)|1,{70,0,0}}, +/* 50176 */ {(12<<2)|2,{71,48,0}}, +/* 50177 */ {(12<<2)|2,{71,48,0}}, +/* 50178 */ {(12<<2)|2,{71,48,0}}, +/* 50179 */ {(12<<2)|2,{71,48,0}}, +/* 50180 */ {(12<<2)|2,{71,48,0}}, +/* 50181 */ {(12<<2)|2,{71,48,0}}, +/* 50182 */ {(12<<2)|2,{71,48,0}}, +/* 50183 */ {(12<<2)|2,{71,48,0}}, +/* 50184 */ {(12<<2)|2,{71,48,0}}, +/* 50185 */ {(12<<2)|2,{71,48,0}}, +/* 50186 */ {(12<<2)|2,{71,48,0}}, +/* 50187 */ {(12<<2)|2,{71,48,0}}, +/* 50188 */ {(12<<2)|2,{71,48,0}}, +/* 50189 */ {(12<<2)|2,{71,48,0}}, +/* 50190 */ {(12<<2)|2,{71,48,0}}, +/* 50191 */ {(12<<2)|2,{71,48,0}}, +/* 50192 */ {(12<<2)|2,{71,49,0}}, +/* 50193 */ {(12<<2)|2,{71,49,0}}, +/* 50194 */ {(12<<2)|2,{71,49,0}}, +/* 50195 */ {(12<<2)|2,{71,49,0}}, +/* 50196 */ {(12<<2)|2,{71,49,0}}, +/* 50197 */ {(12<<2)|2,{71,49,0}}, +/* 50198 */ {(12<<2)|2,{71,49,0}}, +/* 50199 */ {(12<<2)|2,{71,49,0}}, +/* 50200 */ {(12<<2)|2,{71,49,0}}, +/* 50201 */ {(12<<2)|2,{71,49,0}}, +/* 50202 */ {(12<<2)|2,{71,49,0}}, +/* 50203 */ {(12<<2)|2,{71,49,0}}, +/* 50204 */ {(12<<2)|2,{71,49,0}}, +/* 50205 */ {(12<<2)|2,{71,49,0}}, +/* 50206 */ {(12<<2)|2,{71,49,0}}, +/* 50207 */ {(12<<2)|2,{71,49,0}}, +/* 50208 */ {(12<<2)|2,{71,50,0}}, +/* 50209 */ {(12<<2)|2,{71,50,0}}, +/* 50210 */ {(12<<2)|2,{71,50,0}}, +/* 50211 */ {(12<<2)|2,{71,50,0}}, +/* 50212 */ {(12<<2)|2,{71,50,0}}, +/* 50213 */ {(12<<2)|2,{71,50,0}}, +/* 50214 */ {(12<<2)|2,{71,50,0}}, +/* 50215 */ {(12<<2)|2,{71,50,0}}, +/* 50216 */ {(12<<2)|2,{71,50,0}}, +/* 50217 */ {(12<<2)|2,{71,50,0}}, +/* 50218 */ {(12<<2)|2,{71,50,0}}, +/* 50219 */ {(12<<2)|2,{71,50,0}}, +/* 50220 */ {(12<<2)|2,{71,50,0}}, +/* 50221 */ {(12<<2)|2,{71,50,0}}, +/* 50222 */ {(12<<2)|2,{71,50,0}}, +/* 50223 */ {(12<<2)|2,{71,50,0}}, +/* 50224 */ {(12<<2)|2,{71,97,0}}, +/* 50225 */ {(12<<2)|2,{71,97,0}}, +/* 50226 */ {(12<<2)|2,{71,97,0}}, +/* 50227 */ {(12<<2)|2,{71,97,0}}, +/* 50228 */ {(12<<2)|2,{71,97,0}}, +/* 50229 */ {(12<<2)|2,{71,97,0}}, +/* 50230 */ {(12<<2)|2,{71,97,0}}, +/* 50231 */ {(12<<2)|2,{71,97,0}}, +/* 50232 */ {(12<<2)|2,{71,97,0}}, +/* 50233 */ {(12<<2)|2,{71,97,0}}, +/* 50234 */ {(12<<2)|2,{71,97,0}}, +/* 50235 */ {(12<<2)|2,{71,97,0}}, +/* 50236 */ {(12<<2)|2,{71,97,0}}, +/* 50237 */ {(12<<2)|2,{71,97,0}}, +/* 50238 */ {(12<<2)|2,{71,97,0}}, +/* 50239 */ {(12<<2)|2,{71,97,0}}, +/* 50240 */ {(12<<2)|2,{71,99,0}}, +/* 50241 */ {(12<<2)|2,{71,99,0}}, +/* 50242 */ {(12<<2)|2,{71,99,0}}, +/* 50243 */ {(12<<2)|2,{71,99,0}}, +/* 50244 */ {(12<<2)|2,{71,99,0}}, +/* 50245 */ {(12<<2)|2,{71,99,0}}, +/* 50246 */ {(12<<2)|2,{71,99,0}}, +/* 50247 */ {(12<<2)|2,{71,99,0}}, +/* 50248 */ {(12<<2)|2,{71,99,0}}, +/* 50249 */ {(12<<2)|2,{71,99,0}}, +/* 50250 */ {(12<<2)|2,{71,99,0}}, +/* 50251 */ {(12<<2)|2,{71,99,0}}, +/* 50252 */ {(12<<2)|2,{71,99,0}}, +/* 50253 */ {(12<<2)|2,{71,99,0}}, +/* 50254 */ {(12<<2)|2,{71,99,0}}, +/* 50255 */ {(12<<2)|2,{71,99,0}}, +/* 50256 */ {(12<<2)|2,{71,101,0}}, +/* 50257 */ {(12<<2)|2,{71,101,0}}, +/* 50258 */ {(12<<2)|2,{71,101,0}}, +/* 50259 */ {(12<<2)|2,{71,101,0}}, +/* 50260 */ {(12<<2)|2,{71,101,0}}, +/* 50261 */ {(12<<2)|2,{71,101,0}}, +/* 50262 */ {(12<<2)|2,{71,101,0}}, +/* 50263 */ {(12<<2)|2,{71,101,0}}, +/* 50264 */ {(12<<2)|2,{71,101,0}}, +/* 50265 */ {(12<<2)|2,{71,101,0}}, +/* 50266 */ {(12<<2)|2,{71,101,0}}, +/* 50267 */ {(12<<2)|2,{71,101,0}}, +/* 50268 */ {(12<<2)|2,{71,101,0}}, +/* 50269 */ {(12<<2)|2,{71,101,0}}, +/* 50270 */ {(12<<2)|2,{71,101,0}}, +/* 50271 */ {(12<<2)|2,{71,101,0}}, +/* 50272 */ {(12<<2)|2,{71,105,0}}, +/* 50273 */ {(12<<2)|2,{71,105,0}}, +/* 50274 */ {(12<<2)|2,{71,105,0}}, +/* 50275 */ {(12<<2)|2,{71,105,0}}, +/* 50276 */ {(12<<2)|2,{71,105,0}}, +/* 50277 */ {(12<<2)|2,{71,105,0}}, +/* 50278 */ {(12<<2)|2,{71,105,0}}, +/* 50279 */ {(12<<2)|2,{71,105,0}}, +/* 50280 */ {(12<<2)|2,{71,105,0}}, +/* 50281 */ {(12<<2)|2,{71,105,0}}, +/* 50282 */ {(12<<2)|2,{71,105,0}}, +/* 50283 */ {(12<<2)|2,{71,105,0}}, +/* 50284 */ {(12<<2)|2,{71,105,0}}, +/* 50285 */ {(12<<2)|2,{71,105,0}}, +/* 50286 */ {(12<<2)|2,{71,105,0}}, +/* 50287 */ {(12<<2)|2,{71,105,0}}, +/* 50288 */ {(12<<2)|2,{71,111,0}}, +/* 50289 */ {(12<<2)|2,{71,111,0}}, +/* 50290 */ {(12<<2)|2,{71,111,0}}, +/* 50291 */ {(12<<2)|2,{71,111,0}}, +/* 50292 */ {(12<<2)|2,{71,111,0}}, +/* 50293 */ {(12<<2)|2,{71,111,0}}, +/* 50294 */ {(12<<2)|2,{71,111,0}}, +/* 50295 */ {(12<<2)|2,{71,111,0}}, +/* 50296 */ {(12<<2)|2,{71,111,0}}, +/* 50297 */ {(12<<2)|2,{71,111,0}}, +/* 50298 */ {(12<<2)|2,{71,111,0}}, +/* 50299 */ {(12<<2)|2,{71,111,0}}, +/* 50300 */ {(12<<2)|2,{71,111,0}}, +/* 50301 */ {(12<<2)|2,{71,111,0}}, +/* 50302 */ {(12<<2)|2,{71,111,0}}, +/* 50303 */ {(12<<2)|2,{71,111,0}}, +/* 50304 */ {(12<<2)|2,{71,115,0}}, +/* 50305 */ {(12<<2)|2,{71,115,0}}, +/* 50306 */ {(12<<2)|2,{71,115,0}}, +/* 50307 */ {(12<<2)|2,{71,115,0}}, +/* 50308 */ {(12<<2)|2,{71,115,0}}, +/* 50309 */ {(12<<2)|2,{71,115,0}}, +/* 50310 */ {(12<<2)|2,{71,115,0}}, +/* 50311 */ {(12<<2)|2,{71,115,0}}, +/* 50312 */ {(12<<2)|2,{71,115,0}}, +/* 50313 */ {(12<<2)|2,{71,115,0}}, +/* 50314 */ {(12<<2)|2,{71,115,0}}, +/* 50315 */ {(12<<2)|2,{71,115,0}}, +/* 50316 */ {(12<<2)|2,{71,115,0}}, +/* 50317 */ {(12<<2)|2,{71,115,0}}, +/* 50318 */ {(12<<2)|2,{71,115,0}}, +/* 50319 */ {(12<<2)|2,{71,115,0}}, +/* 50320 */ {(12<<2)|2,{71,116,0}}, +/* 50321 */ {(12<<2)|2,{71,116,0}}, +/* 50322 */ {(12<<2)|2,{71,116,0}}, +/* 50323 */ {(12<<2)|2,{71,116,0}}, +/* 50324 */ {(12<<2)|2,{71,116,0}}, +/* 50325 */ {(12<<2)|2,{71,116,0}}, +/* 50326 */ {(12<<2)|2,{71,116,0}}, +/* 50327 */ {(12<<2)|2,{71,116,0}}, +/* 50328 */ {(12<<2)|2,{71,116,0}}, +/* 50329 */ {(12<<2)|2,{71,116,0}}, +/* 50330 */ {(12<<2)|2,{71,116,0}}, +/* 50331 */ {(12<<2)|2,{71,116,0}}, +/* 50332 */ {(12<<2)|2,{71,116,0}}, +/* 50333 */ {(12<<2)|2,{71,116,0}}, +/* 50334 */ {(12<<2)|2,{71,116,0}}, +/* 50335 */ {(12<<2)|2,{71,116,0}}, +/* 50336 */ {(13<<2)|2,{71,32,0}}, +/* 50337 */ {(13<<2)|2,{71,32,0}}, +/* 50338 */ {(13<<2)|2,{71,32,0}}, +/* 50339 */ {(13<<2)|2,{71,32,0}}, +/* 50340 */ {(13<<2)|2,{71,32,0}}, +/* 50341 */ {(13<<2)|2,{71,32,0}}, +/* 50342 */ {(13<<2)|2,{71,32,0}}, +/* 50343 */ {(13<<2)|2,{71,32,0}}, +/* 50344 */ {(13<<2)|2,{71,37,0}}, +/* 50345 */ {(13<<2)|2,{71,37,0}}, +/* 50346 */ {(13<<2)|2,{71,37,0}}, +/* 50347 */ {(13<<2)|2,{71,37,0}}, +/* 50348 */ {(13<<2)|2,{71,37,0}}, +/* 50349 */ {(13<<2)|2,{71,37,0}}, +/* 50350 */ {(13<<2)|2,{71,37,0}}, +/* 50351 */ {(13<<2)|2,{71,37,0}}, +/* 50352 */ {(13<<2)|2,{71,45,0}}, +/* 50353 */ {(13<<2)|2,{71,45,0}}, +/* 50354 */ {(13<<2)|2,{71,45,0}}, +/* 50355 */ {(13<<2)|2,{71,45,0}}, +/* 50356 */ {(13<<2)|2,{71,45,0}}, +/* 50357 */ {(13<<2)|2,{71,45,0}}, +/* 50358 */ {(13<<2)|2,{71,45,0}}, +/* 50359 */ {(13<<2)|2,{71,45,0}}, +/* 50360 */ {(13<<2)|2,{71,46,0}}, +/* 50361 */ {(13<<2)|2,{71,46,0}}, +/* 50362 */ {(13<<2)|2,{71,46,0}}, +/* 50363 */ {(13<<2)|2,{71,46,0}}, +/* 50364 */ {(13<<2)|2,{71,46,0}}, +/* 50365 */ {(13<<2)|2,{71,46,0}}, +/* 50366 */ {(13<<2)|2,{71,46,0}}, +/* 50367 */ {(13<<2)|2,{71,46,0}}, +/* 50368 */ {(13<<2)|2,{71,47,0}}, +/* 50369 */ {(13<<2)|2,{71,47,0}}, +/* 50370 */ {(13<<2)|2,{71,47,0}}, +/* 50371 */ {(13<<2)|2,{71,47,0}}, +/* 50372 */ {(13<<2)|2,{71,47,0}}, +/* 50373 */ {(13<<2)|2,{71,47,0}}, +/* 50374 */ {(13<<2)|2,{71,47,0}}, +/* 50375 */ {(13<<2)|2,{71,47,0}}, +/* 50376 */ {(13<<2)|2,{71,51,0}}, +/* 50377 */ {(13<<2)|2,{71,51,0}}, +/* 50378 */ {(13<<2)|2,{71,51,0}}, +/* 50379 */ {(13<<2)|2,{71,51,0}}, +/* 50380 */ {(13<<2)|2,{71,51,0}}, +/* 50381 */ {(13<<2)|2,{71,51,0}}, +/* 50382 */ {(13<<2)|2,{71,51,0}}, +/* 50383 */ {(13<<2)|2,{71,51,0}}, +/* 50384 */ {(13<<2)|2,{71,52,0}}, +/* 50385 */ {(13<<2)|2,{71,52,0}}, +/* 50386 */ {(13<<2)|2,{71,52,0}}, +/* 50387 */ {(13<<2)|2,{71,52,0}}, +/* 50388 */ {(13<<2)|2,{71,52,0}}, +/* 50389 */ {(13<<2)|2,{71,52,0}}, +/* 50390 */ {(13<<2)|2,{71,52,0}}, +/* 50391 */ {(13<<2)|2,{71,52,0}}, +/* 50392 */ {(13<<2)|2,{71,53,0}}, +/* 50393 */ {(13<<2)|2,{71,53,0}}, +/* 50394 */ {(13<<2)|2,{71,53,0}}, +/* 50395 */ {(13<<2)|2,{71,53,0}}, +/* 50396 */ {(13<<2)|2,{71,53,0}}, +/* 50397 */ {(13<<2)|2,{71,53,0}}, +/* 50398 */ {(13<<2)|2,{71,53,0}}, +/* 50399 */ {(13<<2)|2,{71,53,0}}, +/* 50400 */ {(13<<2)|2,{71,54,0}}, +/* 50401 */ {(13<<2)|2,{71,54,0}}, +/* 50402 */ {(13<<2)|2,{71,54,0}}, +/* 50403 */ {(13<<2)|2,{71,54,0}}, +/* 50404 */ {(13<<2)|2,{71,54,0}}, +/* 50405 */ {(13<<2)|2,{71,54,0}}, +/* 50406 */ {(13<<2)|2,{71,54,0}}, +/* 50407 */ {(13<<2)|2,{71,54,0}}, +/* 50408 */ {(13<<2)|2,{71,55,0}}, +/* 50409 */ {(13<<2)|2,{71,55,0}}, +/* 50410 */ {(13<<2)|2,{71,55,0}}, +/* 50411 */ {(13<<2)|2,{71,55,0}}, +/* 50412 */ {(13<<2)|2,{71,55,0}}, +/* 50413 */ {(13<<2)|2,{71,55,0}}, +/* 50414 */ {(13<<2)|2,{71,55,0}}, +/* 50415 */ {(13<<2)|2,{71,55,0}}, +/* 50416 */ {(13<<2)|2,{71,56,0}}, +/* 50417 */ {(13<<2)|2,{71,56,0}}, +/* 50418 */ {(13<<2)|2,{71,56,0}}, +/* 50419 */ {(13<<2)|2,{71,56,0}}, +/* 50420 */ {(13<<2)|2,{71,56,0}}, +/* 50421 */ {(13<<2)|2,{71,56,0}}, +/* 50422 */ {(13<<2)|2,{71,56,0}}, +/* 50423 */ {(13<<2)|2,{71,56,0}}, +/* 50424 */ {(13<<2)|2,{71,57,0}}, +/* 50425 */ {(13<<2)|2,{71,57,0}}, +/* 50426 */ {(13<<2)|2,{71,57,0}}, +/* 50427 */ {(13<<2)|2,{71,57,0}}, +/* 50428 */ {(13<<2)|2,{71,57,0}}, +/* 50429 */ {(13<<2)|2,{71,57,0}}, +/* 50430 */ {(13<<2)|2,{71,57,0}}, +/* 50431 */ {(13<<2)|2,{71,57,0}}, +/* 50432 */ {(13<<2)|2,{71,61,0}}, +/* 50433 */ {(13<<2)|2,{71,61,0}}, +/* 50434 */ {(13<<2)|2,{71,61,0}}, +/* 50435 */ {(13<<2)|2,{71,61,0}}, +/* 50436 */ {(13<<2)|2,{71,61,0}}, +/* 50437 */ {(13<<2)|2,{71,61,0}}, +/* 50438 */ {(13<<2)|2,{71,61,0}}, +/* 50439 */ {(13<<2)|2,{71,61,0}}, +/* 50440 */ {(13<<2)|2,{71,65,0}}, +/* 50441 */ {(13<<2)|2,{71,65,0}}, +/* 50442 */ {(13<<2)|2,{71,65,0}}, +/* 50443 */ {(13<<2)|2,{71,65,0}}, +/* 50444 */ {(13<<2)|2,{71,65,0}}, +/* 50445 */ {(13<<2)|2,{71,65,0}}, +/* 50446 */ {(13<<2)|2,{71,65,0}}, +/* 50447 */ {(13<<2)|2,{71,65,0}}, +/* 50448 */ {(13<<2)|2,{71,95,0}}, +/* 50449 */ {(13<<2)|2,{71,95,0}}, +/* 50450 */ {(13<<2)|2,{71,95,0}}, +/* 50451 */ {(13<<2)|2,{71,95,0}}, +/* 50452 */ {(13<<2)|2,{71,95,0}}, +/* 50453 */ {(13<<2)|2,{71,95,0}}, +/* 50454 */ {(13<<2)|2,{71,95,0}}, +/* 50455 */ {(13<<2)|2,{71,95,0}}, +/* 50456 */ {(13<<2)|2,{71,98,0}}, +/* 50457 */ {(13<<2)|2,{71,98,0}}, +/* 50458 */ {(13<<2)|2,{71,98,0}}, +/* 50459 */ {(13<<2)|2,{71,98,0}}, +/* 50460 */ {(13<<2)|2,{71,98,0}}, +/* 50461 */ {(13<<2)|2,{71,98,0}}, +/* 50462 */ {(13<<2)|2,{71,98,0}}, +/* 50463 */ {(13<<2)|2,{71,98,0}}, +/* 50464 */ {(13<<2)|2,{71,100,0}}, +/* 50465 */ {(13<<2)|2,{71,100,0}}, +/* 50466 */ {(13<<2)|2,{71,100,0}}, +/* 50467 */ {(13<<2)|2,{71,100,0}}, +/* 50468 */ {(13<<2)|2,{71,100,0}}, +/* 50469 */ {(13<<2)|2,{71,100,0}}, +/* 50470 */ {(13<<2)|2,{71,100,0}}, +/* 50471 */ {(13<<2)|2,{71,100,0}}, +/* 50472 */ {(13<<2)|2,{71,102,0}}, +/* 50473 */ {(13<<2)|2,{71,102,0}}, +/* 50474 */ {(13<<2)|2,{71,102,0}}, +/* 50475 */ {(13<<2)|2,{71,102,0}}, +/* 50476 */ {(13<<2)|2,{71,102,0}}, +/* 50477 */ {(13<<2)|2,{71,102,0}}, +/* 50478 */ {(13<<2)|2,{71,102,0}}, +/* 50479 */ {(13<<2)|2,{71,102,0}}, +/* 50480 */ {(13<<2)|2,{71,103,0}}, +/* 50481 */ {(13<<2)|2,{71,103,0}}, +/* 50482 */ {(13<<2)|2,{71,103,0}}, +/* 50483 */ {(13<<2)|2,{71,103,0}}, +/* 50484 */ {(13<<2)|2,{71,103,0}}, +/* 50485 */ {(13<<2)|2,{71,103,0}}, +/* 50486 */ {(13<<2)|2,{71,103,0}}, +/* 50487 */ {(13<<2)|2,{71,103,0}}, +/* 50488 */ {(13<<2)|2,{71,104,0}}, +/* 50489 */ {(13<<2)|2,{71,104,0}}, +/* 50490 */ {(13<<2)|2,{71,104,0}}, +/* 50491 */ {(13<<2)|2,{71,104,0}}, +/* 50492 */ {(13<<2)|2,{71,104,0}}, +/* 50493 */ {(13<<2)|2,{71,104,0}}, +/* 50494 */ {(13<<2)|2,{71,104,0}}, +/* 50495 */ {(13<<2)|2,{71,104,0}}, +/* 50496 */ {(13<<2)|2,{71,108,0}}, +/* 50497 */ {(13<<2)|2,{71,108,0}}, +/* 50498 */ {(13<<2)|2,{71,108,0}}, +/* 50499 */ {(13<<2)|2,{71,108,0}}, +/* 50500 */ {(13<<2)|2,{71,108,0}}, +/* 50501 */ {(13<<2)|2,{71,108,0}}, +/* 50502 */ {(13<<2)|2,{71,108,0}}, +/* 50503 */ {(13<<2)|2,{71,108,0}}, +/* 50504 */ {(13<<2)|2,{71,109,0}}, +/* 50505 */ {(13<<2)|2,{71,109,0}}, +/* 50506 */ {(13<<2)|2,{71,109,0}}, +/* 50507 */ {(13<<2)|2,{71,109,0}}, +/* 50508 */ {(13<<2)|2,{71,109,0}}, +/* 50509 */ {(13<<2)|2,{71,109,0}}, +/* 50510 */ {(13<<2)|2,{71,109,0}}, +/* 50511 */ {(13<<2)|2,{71,109,0}}, +/* 50512 */ {(13<<2)|2,{71,110,0}}, +/* 50513 */ {(13<<2)|2,{71,110,0}}, +/* 50514 */ {(13<<2)|2,{71,110,0}}, +/* 50515 */ {(13<<2)|2,{71,110,0}}, +/* 50516 */ {(13<<2)|2,{71,110,0}}, +/* 50517 */ {(13<<2)|2,{71,110,0}}, +/* 50518 */ {(13<<2)|2,{71,110,0}}, +/* 50519 */ {(13<<2)|2,{71,110,0}}, +/* 50520 */ {(13<<2)|2,{71,112,0}}, +/* 50521 */ {(13<<2)|2,{71,112,0}}, +/* 50522 */ {(13<<2)|2,{71,112,0}}, +/* 50523 */ {(13<<2)|2,{71,112,0}}, +/* 50524 */ {(13<<2)|2,{71,112,0}}, +/* 50525 */ {(13<<2)|2,{71,112,0}}, +/* 50526 */ {(13<<2)|2,{71,112,0}}, +/* 50527 */ {(13<<2)|2,{71,112,0}}, +/* 50528 */ {(13<<2)|2,{71,114,0}}, +/* 50529 */ {(13<<2)|2,{71,114,0}}, +/* 50530 */ {(13<<2)|2,{71,114,0}}, +/* 50531 */ {(13<<2)|2,{71,114,0}}, +/* 50532 */ {(13<<2)|2,{71,114,0}}, +/* 50533 */ {(13<<2)|2,{71,114,0}}, +/* 50534 */ {(13<<2)|2,{71,114,0}}, +/* 50535 */ {(13<<2)|2,{71,114,0}}, +/* 50536 */ {(13<<2)|2,{71,117,0}}, +/* 50537 */ {(13<<2)|2,{71,117,0}}, +/* 50538 */ {(13<<2)|2,{71,117,0}}, +/* 50539 */ {(13<<2)|2,{71,117,0}}, +/* 50540 */ {(13<<2)|2,{71,117,0}}, +/* 50541 */ {(13<<2)|2,{71,117,0}}, +/* 50542 */ {(13<<2)|2,{71,117,0}}, +/* 50543 */ {(13<<2)|2,{71,117,0}}, +/* 50544 */ {(14<<2)|2,{71,58,0}}, +/* 50545 */ {(14<<2)|2,{71,58,0}}, +/* 50546 */ {(14<<2)|2,{71,58,0}}, +/* 50547 */ {(14<<2)|2,{71,58,0}}, +/* 50548 */ {(14<<2)|2,{71,66,0}}, +/* 50549 */ {(14<<2)|2,{71,66,0}}, +/* 50550 */ {(14<<2)|2,{71,66,0}}, +/* 50551 */ {(14<<2)|2,{71,66,0}}, +/* 50552 */ {(14<<2)|2,{71,67,0}}, +/* 50553 */ {(14<<2)|2,{71,67,0}}, +/* 50554 */ {(14<<2)|2,{71,67,0}}, +/* 50555 */ {(14<<2)|2,{71,67,0}}, +/* 50556 */ {(14<<2)|2,{71,68,0}}, +/* 50557 */ {(14<<2)|2,{71,68,0}}, +/* 50558 */ {(14<<2)|2,{71,68,0}}, +/* 50559 */ {(14<<2)|2,{71,68,0}}, +/* 50560 */ {(14<<2)|2,{71,69,0}}, +/* 50561 */ {(14<<2)|2,{71,69,0}}, +/* 50562 */ {(14<<2)|2,{71,69,0}}, +/* 50563 */ {(14<<2)|2,{71,69,0}}, +/* 50564 */ {(14<<2)|2,{71,70,0}}, +/* 50565 */ {(14<<2)|2,{71,70,0}}, +/* 50566 */ {(14<<2)|2,{71,70,0}}, +/* 50567 */ {(14<<2)|2,{71,70,0}}, +/* 50568 */ {(14<<2)|2,{71,71,0}}, +/* 50569 */ {(14<<2)|2,{71,71,0}}, +/* 50570 */ {(14<<2)|2,{71,71,0}}, +/* 50571 */ {(14<<2)|2,{71,71,0}}, +/* 50572 */ {(14<<2)|2,{71,72,0}}, +/* 50573 */ {(14<<2)|2,{71,72,0}}, +/* 50574 */ {(14<<2)|2,{71,72,0}}, +/* 50575 */ {(14<<2)|2,{71,72,0}}, +/* 50576 */ {(14<<2)|2,{71,73,0}}, +/* 50577 */ {(14<<2)|2,{71,73,0}}, +/* 50578 */ {(14<<2)|2,{71,73,0}}, +/* 50579 */ {(14<<2)|2,{71,73,0}}, +/* 50580 */ {(14<<2)|2,{71,74,0}}, +/* 50581 */ {(14<<2)|2,{71,74,0}}, +/* 50582 */ {(14<<2)|2,{71,74,0}}, +/* 50583 */ {(14<<2)|2,{71,74,0}}, +/* 50584 */ {(14<<2)|2,{71,75,0}}, +/* 50585 */ {(14<<2)|2,{71,75,0}}, +/* 50586 */ {(14<<2)|2,{71,75,0}}, +/* 50587 */ {(14<<2)|2,{71,75,0}}, +/* 50588 */ {(14<<2)|2,{71,76,0}}, +/* 50589 */ {(14<<2)|2,{71,76,0}}, +/* 50590 */ {(14<<2)|2,{71,76,0}}, +/* 50591 */ {(14<<2)|2,{71,76,0}}, +/* 50592 */ {(14<<2)|2,{71,77,0}}, +/* 50593 */ {(14<<2)|2,{71,77,0}}, +/* 50594 */ {(14<<2)|2,{71,77,0}}, +/* 50595 */ {(14<<2)|2,{71,77,0}}, +/* 50596 */ {(14<<2)|2,{71,78,0}}, +/* 50597 */ {(14<<2)|2,{71,78,0}}, +/* 50598 */ {(14<<2)|2,{71,78,0}}, +/* 50599 */ {(14<<2)|2,{71,78,0}}, +/* 50600 */ {(14<<2)|2,{71,79,0}}, +/* 50601 */ {(14<<2)|2,{71,79,0}}, +/* 50602 */ {(14<<2)|2,{71,79,0}}, +/* 50603 */ {(14<<2)|2,{71,79,0}}, +/* 50604 */ {(14<<2)|2,{71,80,0}}, +/* 50605 */ {(14<<2)|2,{71,80,0}}, +/* 50606 */ {(14<<2)|2,{71,80,0}}, +/* 50607 */ {(14<<2)|2,{71,80,0}}, +/* 50608 */ {(14<<2)|2,{71,81,0}}, +/* 50609 */ {(14<<2)|2,{71,81,0}}, +/* 50610 */ {(14<<2)|2,{71,81,0}}, +/* 50611 */ {(14<<2)|2,{71,81,0}}, +/* 50612 */ {(14<<2)|2,{71,82,0}}, +/* 50613 */ {(14<<2)|2,{71,82,0}}, +/* 50614 */ {(14<<2)|2,{71,82,0}}, +/* 50615 */ {(14<<2)|2,{71,82,0}}, +/* 50616 */ {(14<<2)|2,{71,83,0}}, +/* 50617 */ {(14<<2)|2,{71,83,0}}, +/* 50618 */ {(14<<2)|2,{71,83,0}}, +/* 50619 */ {(14<<2)|2,{71,83,0}}, +/* 50620 */ {(14<<2)|2,{71,84,0}}, +/* 50621 */ {(14<<2)|2,{71,84,0}}, +/* 50622 */ {(14<<2)|2,{71,84,0}}, +/* 50623 */ {(14<<2)|2,{71,84,0}}, +/* 50624 */ {(14<<2)|2,{71,85,0}}, +/* 50625 */ {(14<<2)|2,{71,85,0}}, +/* 50626 */ {(14<<2)|2,{71,85,0}}, +/* 50627 */ {(14<<2)|2,{71,85,0}}, +/* 50628 */ {(14<<2)|2,{71,86,0}}, +/* 50629 */ {(14<<2)|2,{71,86,0}}, +/* 50630 */ {(14<<2)|2,{71,86,0}}, +/* 50631 */ {(14<<2)|2,{71,86,0}}, +/* 50632 */ {(14<<2)|2,{71,87,0}}, +/* 50633 */ {(14<<2)|2,{71,87,0}}, +/* 50634 */ {(14<<2)|2,{71,87,0}}, +/* 50635 */ {(14<<2)|2,{71,87,0}}, +/* 50636 */ {(14<<2)|2,{71,89,0}}, +/* 50637 */ {(14<<2)|2,{71,89,0}}, +/* 50638 */ {(14<<2)|2,{71,89,0}}, +/* 50639 */ {(14<<2)|2,{71,89,0}}, +/* 50640 */ {(14<<2)|2,{71,106,0}}, +/* 50641 */ {(14<<2)|2,{71,106,0}}, +/* 50642 */ {(14<<2)|2,{71,106,0}}, +/* 50643 */ {(14<<2)|2,{71,106,0}}, +/* 50644 */ {(14<<2)|2,{71,107,0}}, +/* 50645 */ {(14<<2)|2,{71,107,0}}, +/* 50646 */ {(14<<2)|2,{71,107,0}}, +/* 50647 */ {(14<<2)|2,{71,107,0}}, +/* 50648 */ {(14<<2)|2,{71,113,0}}, +/* 50649 */ {(14<<2)|2,{71,113,0}}, +/* 50650 */ {(14<<2)|2,{71,113,0}}, +/* 50651 */ {(14<<2)|2,{71,113,0}}, +/* 50652 */ {(14<<2)|2,{71,118,0}}, +/* 50653 */ {(14<<2)|2,{71,118,0}}, +/* 50654 */ {(14<<2)|2,{71,118,0}}, +/* 50655 */ {(14<<2)|2,{71,118,0}}, +/* 50656 */ {(14<<2)|2,{71,119,0}}, +/* 50657 */ {(14<<2)|2,{71,119,0}}, +/* 50658 */ {(14<<2)|2,{71,119,0}}, +/* 50659 */ {(14<<2)|2,{71,119,0}}, +/* 50660 */ {(14<<2)|2,{71,120,0}}, +/* 50661 */ {(14<<2)|2,{71,120,0}}, +/* 50662 */ {(14<<2)|2,{71,120,0}}, +/* 50663 */ {(14<<2)|2,{71,120,0}}, +/* 50664 */ {(14<<2)|2,{71,121,0}}, +/* 50665 */ {(14<<2)|2,{71,121,0}}, +/* 50666 */ {(14<<2)|2,{71,121,0}}, +/* 50667 */ {(14<<2)|2,{71,121,0}}, +/* 50668 */ {(14<<2)|2,{71,122,0}}, +/* 50669 */ {(14<<2)|2,{71,122,0}}, +/* 50670 */ {(14<<2)|2,{71,122,0}}, +/* 50671 */ {(14<<2)|2,{71,122,0}}, +/* 50672 */ {(15<<2)|2,{71,38,0}}, +/* 50673 */ {(15<<2)|2,{71,38,0}}, +/* 50674 */ {(15<<2)|2,{71,42,0}}, +/* 50675 */ {(15<<2)|2,{71,42,0}}, +/* 50676 */ {(15<<2)|2,{71,44,0}}, +/* 50677 */ {(15<<2)|2,{71,44,0}}, +/* 50678 */ {(15<<2)|2,{71,59,0}}, +/* 50679 */ {(15<<2)|2,{71,59,0}}, +/* 50680 */ {(15<<2)|2,{71,88,0}}, +/* 50681 */ {(15<<2)|2,{71,88,0}}, +/* 50682 */ {(15<<2)|2,{71,90,0}}, +/* 50683 */ {(15<<2)|2,{71,90,0}}, +/* 50684 */ {(7<<2)|1,{71,0,0}}, +/* 50685 */ {(7<<2)|1,{71,0,0}}, +/* 50686 */ {(7<<2)|1,{71,0,0}}, +/* 50687 */ {(7<<2)|1,{71,0,0}}, +/* 50688 */ {(12<<2)|2,{72,48,0}}, +/* 50689 */ {(12<<2)|2,{72,48,0}}, +/* 50690 */ {(12<<2)|2,{72,48,0}}, +/* 50691 */ {(12<<2)|2,{72,48,0}}, +/* 50692 */ {(12<<2)|2,{72,48,0}}, +/* 50693 */ {(12<<2)|2,{72,48,0}}, +/* 50694 */ {(12<<2)|2,{72,48,0}}, +/* 50695 */ {(12<<2)|2,{72,48,0}}, +/* 50696 */ {(12<<2)|2,{72,48,0}}, +/* 50697 */ {(12<<2)|2,{72,48,0}}, +/* 50698 */ {(12<<2)|2,{72,48,0}}, +/* 50699 */ {(12<<2)|2,{72,48,0}}, +/* 50700 */ {(12<<2)|2,{72,48,0}}, +/* 50701 */ {(12<<2)|2,{72,48,0}}, +/* 50702 */ {(12<<2)|2,{72,48,0}}, +/* 50703 */ {(12<<2)|2,{72,48,0}}, +/* 50704 */ {(12<<2)|2,{72,49,0}}, +/* 50705 */ {(12<<2)|2,{72,49,0}}, +/* 50706 */ {(12<<2)|2,{72,49,0}}, +/* 50707 */ {(12<<2)|2,{72,49,0}}, +/* 50708 */ {(12<<2)|2,{72,49,0}}, +/* 50709 */ {(12<<2)|2,{72,49,0}}, +/* 50710 */ {(12<<2)|2,{72,49,0}}, +/* 50711 */ {(12<<2)|2,{72,49,0}}, +/* 50712 */ {(12<<2)|2,{72,49,0}}, +/* 50713 */ {(12<<2)|2,{72,49,0}}, +/* 50714 */ {(12<<2)|2,{72,49,0}}, +/* 50715 */ {(12<<2)|2,{72,49,0}}, +/* 50716 */ {(12<<2)|2,{72,49,0}}, +/* 50717 */ {(12<<2)|2,{72,49,0}}, +/* 50718 */ {(12<<2)|2,{72,49,0}}, +/* 50719 */ {(12<<2)|2,{72,49,0}}, +/* 50720 */ {(12<<2)|2,{72,50,0}}, +/* 50721 */ {(12<<2)|2,{72,50,0}}, +/* 50722 */ {(12<<2)|2,{72,50,0}}, +/* 50723 */ {(12<<2)|2,{72,50,0}}, +/* 50724 */ {(12<<2)|2,{72,50,0}}, +/* 50725 */ {(12<<2)|2,{72,50,0}}, +/* 50726 */ {(12<<2)|2,{72,50,0}}, +/* 50727 */ {(12<<2)|2,{72,50,0}}, +/* 50728 */ {(12<<2)|2,{72,50,0}}, +/* 50729 */ {(12<<2)|2,{72,50,0}}, +/* 50730 */ {(12<<2)|2,{72,50,0}}, +/* 50731 */ {(12<<2)|2,{72,50,0}}, +/* 50732 */ {(12<<2)|2,{72,50,0}}, +/* 50733 */ {(12<<2)|2,{72,50,0}}, +/* 50734 */ {(12<<2)|2,{72,50,0}}, +/* 50735 */ {(12<<2)|2,{72,50,0}}, +/* 50736 */ {(12<<2)|2,{72,97,0}}, +/* 50737 */ {(12<<2)|2,{72,97,0}}, +/* 50738 */ {(12<<2)|2,{72,97,0}}, +/* 50739 */ {(12<<2)|2,{72,97,0}}, +/* 50740 */ {(12<<2)|2,{72,97,0}}, +/* 50741 */ {(12<<2)|2,{72,97,0}}, +/* 50742 */ {(12<<2)|2,{72,97,0}}, +/* 50743 */ {(12<<2)|2,{72,97,0}}, +/* 50744 */ {(12<<2)|2,{72,97,0}}, +/* 50745 */ {(12<<2)|2,{72,97,0}}, +/* 50746 */ {(12<<2)|2,{72,97,0}}, +/* 50747 */ {(12<<2)|2,{72,97,0}}, +/* 50748 */ {(12<<2)|2,{72,97,0}}, +/* 50749 */ {(12<<2)|2,{72,97,0}}, +/* 50750 */ {(12<<2)|2,{72,97,0}}, +/* 50751 */ {(12<<2)|2,{72,97,0}}, +/* 50752 */ {(12<<2)|2,{72,99,0}}, +/* 50753 */ {(12<<2)|2,{72,99,0}}, +/* 50754 */ {(12<<2)|2,{72,99,0}}, +/* 50755 */ {(12<<2)|2,{72,99,0}}, +/* 50756 */ {(12<<2)|2,{72,99,0}}, +/* 50757 */ {(12<<2)|2,{72,99,0}}, +/* 50758 */ {(12<<2)|2,{72,99,0}}, +/* 50759 */ {(12<<2)|2,{72,99,0}}, +/* 50760 */ {(12<<2)|2,{72,99,0}}, +/* 50761 */ {(12<<2)|2,{72,99,0}}, +/* 50762 */ {(12<<2)|2,{72,99,0}}, +/* 50763 */ {(12<<2)|2,{72,99,0}}, +/* 50764 */ {(12<<2)|2,{72,99,0}}, +/* 50765 */ {(12<<2)|2,{72,99,0}}, +/* 50766 */ {(12<<2)|2,{72,99,0}}, +/* 50767 */ {(12<<2)|2,{72,99,0}}, +/* 50768 */ {(12<<2)|2,{72,101,0}}, +/* 50769 */ {(12<<2)|2,{72,101,0}}, +/* 50770 */ {(12<<2)|2,{72,101,0}}, +/* 50771 */ {(12<<2)|2,{72,101,0}}, +/* 50772 */ {(12<<2)|2,{72,101,0}}, +/* 50773 */ {(12<<2)|2,{72,101,0}}, +/* 50774 */ {(12<<2)|2,{72,101,0}}, +/* 50775 */ {(12<<2)|2,{72,101,0}}, +/* 50776 */ {(12<<2)|2,{72,101,0}}, +/* 50777 */ {(12<<2)|2,{72,101,0}}, +/* 50778 */ {(12<<2)|2,{72,101,0}}, +/* 50779 */ {(12<<2)|2,{72,101,0}}, +/* 50780 */ {(12<<2)|2,{72,101,0}}, +/* 50781 */ {(12<<2)|2,{72,101,0}}, +/* 50782 */ {(12<<2)|2,{72,101,0}}, +/* 50783 */ {(12<<2)|2,{72,101,0}}, +/* 50784 */ {(12<<2)|2,{72,105,0}}, +/* 50785 */ {(12<<2)|2,{72,105,0}}, +/* 50786 */ {(12<<2)|2,{72,105,0}}, +/* 50787 */ {(12<<2)|2,{72,105,0}}, +/* 50788 */ {(12<<2)|2,{72,105,0}}, +/* 50789 */ {(12<<2)|2,{72,105,0}}, +/* 50790 */ {(12<<2)|2,{72,105,0}}, +/* 50791 */ {(12<<2)|2,{72,105,0}}, +/* 50792 */ {(12<<2)|2,{72,105,0}}, +/* 50793 */ {(12<<2)|2,{72,105,0}}, +/* 50794 */ {(12<<2)|2,{72,105,0}}, +/* 50795 */ {(12<<2)|2,{72,105,0}}, +/* 50796 */ {(12<<2)|2,{72,105,0}}, +/* 50797 */ {(12<<2)|2,{72,105,0}}, +/* 50798 */ {(12<<2)|2,{72,105,0}}, +/* 50799 */ {(12<<2)|2,{72,105,0}}, +/* 50800 */ {(12<<2)|2,{72,111,0}}, +/* 50801 */ {(12<<2)|2,{72,111,0}}, +/* 50802 */ {(12<<2)|2,{72,111,0}}, +/* 50803 */ {(12<<2)|2,{72,111,0}}, +/* 50804 */ {(12<<2)|2,{72,111,0}}, +/* 50805 */ {(12<<2)|2,{72,111,0}}, +/* 50806 */ {(12<<2)|2,{72,111,0}}, +/* 50807 */ {(12<<2)|2,{72,111,0}}, +/* 50808 */ {(12<<2)|2,{72,111,0}}, +/* 50809 */ {(12<<2)|2,{72,111,0}}, +/* 50810 */ {(12<<2)|2,{72,111,0}}, +/* 50811 */ {(12<<2)|2,{72,111,0}}, +/* 50812 */ {(12<<2)|2,{72,111,0}}, +/* 50813 */ {(12<<2)|2,{72,111,0}}, +/* 50814 */ {(12<<2)|2,{72,111,0}}, +/* 50815 */ {(12<<2)|2,{72,111,0}}, +/* 50816 */ {(12<<2)|2,{72,115,0}}, +/* 50817 */ {(12<<2)|2,{72,115,0}}, +/* 50818 */ {(12<<2)|2,{72,115,0}}, +/* 50819 */ {(12<<2)|2,{72,115,0}}, +/* 50820 */ {(12<<2)|2,{72,115,0}}, +/* 50821 */ {(12<<2)|2,{72,115,0}}, +/* 50822 */ {(12<<2)|2,{72,115,0}}, +/* 50823 */ {(12<<2)|2,{72,115,0}}, +/* 50824 */ {(12<<2)|2,{72,115,0}}, +/* 50825 */ {(12<<2)|2,{72,115,0}}, +/* 50826 */ {(12<<2)|2,{72,115,0}}, +/* 50827 */ {(12<<2)|2,{72,115,0}}, +/* 50828 */ {(12<<2)|2,{72,115,0}}, +/* 50829 */ {(12<<2)|2,{72,115,0}}, +/* 50830 */ {(12<<2)|2,{72,115,0}}, +/* 50831 */ {(12<<2)|2,{72,115,0}}, +/* 50832 */ {(12<<2)|2,{72,116,0}}, +/* 50833 */ {(12<<2)|2,{72,116,0}}, +/* 50834 */ {(12<<2)|2,{72,116,0}}, +/* 50835 */ {(12<<2)|2,{72,116,0}}, +/* 50836 */ {(12<<2)|2,{72,116,0}}, +/* 50837 */ {(12<<2)|2,{72,116,0}}, +/* 50838 */ {(12<<2)|2,{72,116,0}}, +/* 50839 */ {(12<<2)|2,{72,116,0}}, +/* 50840 */ {(12<<2)|2,{72,116,0}}, +/* 50841 */ {(12<<2)|2,{72,116,0}}, +/* 50842 */ {(12<<2)|2,{72,116,0}}, +/* 50843 */ {(12<<2)|2,{72,116,0}}, +/* 50844 */ {(12<<2)|2,{72,116,0}}, +/* 50845 */ {(12<<2)|2,{72,116,0}}, +/* 50846 */ {(12<<2)|2,{72,116,0}}, +/* 50847 */ {(12<<2)|2,{72,116,0}}, +/* 50848 */ {(13<<2)|2,{72,32,0}}, +/* 50849 */ {(13<<2)|2,{72,32,0}}, +/* 50850 */ {(13<<2)|2,{72,32,0}}, +/* 50851 */ {(13<<2)|2,{72,32,0}}, +/* 50852 */ {(13<<2)|2,{72,32,0}}, +/* 50853 */ {(13<<2)|2,{72,32,0}}, +/* 50854 */ {(13<<2)|2,{72,32,0}}, +/* 50855 */ {(13<<2)|2,{72,32,0}}, +/* 50856 */ {(13<<2)|2,{72,37,0}}, +/* 50857 */ {(13<<2)|2,{72,37,0}}, +/* 50858 */ {(13<<2)|2,{72,37,0}}, +/* 50859 */ {(13<<2)|2,{72,37,0}}, +/* 50860 */ {(13<<2)|2,{72,37,0}}, +/* 50861 */ {(13<<2)|2,{72,37,0}}, +/* 50862 */ {(13<<2)|2,{72,37,0}}, +/* 50863 */ {(13<<2)|2,{72,37,0}}, +/* 50864 */ {(13<<2)|2,{72,45,0}}, +/* 50865 */ {(13<<2)|2,{72,45,0}}, +/* 50866 */ {(13<<2)|2,{72,45,0}}, +/* 50867 */ {(13<<2)|2,{72,45,0}}, +/* 50868 */ {(13<<2)|2,{72,45,0}}, +/* 50869 */ {(13<<2)|2,{72,45,0}}, +/* 50870 */ {(13<<2)|2,{72,45,0}}, +/* 50871 */ {(13<<2)|2,{72,45,0}}, +/* 50872 */ {(13<<2)|2,{72,46,0}}, +/* 50873 */ {(13<<2)|2,{72,46,0}}, +/* 50874 */ {(13<<2)|2,{72,46,0}}, +/* 50875 */ {(13<<2)|2,{72,46,0}}, +/* 50876 */ {(13<<2)|2,{72,46,0}}, +/* 50877 */ {(13<<2)|2,{72,46,0}}, +/* 50878 */ {(13<<2)|2,{72,46,0}}, +/* 50879 */ {(13<<2)|2,{72,46,0}}, +/* 50880 */ {(13<<2)|2,{72,47,0}}, +/* 50881 */ {(13<<2)|2,{72,47,0}}, +/* 50882 */ {(13<<2)|2,{72,47,0}}, +/* 50883 */ {(13<<2)|2,{72,47,0}}, +/* 50884 */ {(13<<2)|2,{72,47,0}}, +/* 50885 */ {(13<<2)|2,{72,47,0}}, +/* 50886 */ {(13<<2)|2,{72,47,0}}, +/* 50887 */ {(13<<2)|2,{72,47,0}}, +/* 50888 */ {(13<<2)|2,{72,51,0}}, +/* 50889 */ {(13<<2)|2,{72,51,0}}, +/* 50890 */ {(13<<2)|2,{72,51,0}}, +/* 50891 */ {(13<<2)|2,{72,51,0}}, +/* 50892 */ {(13<<2)|2,{72,51,0}}, +/* 50893 */ {(13<<2)|2,{72,51,0}}, +/* 50894 */ {(13<<2)|2,{72,51,0}}, +/* 50895 */ {(13<<2)|2,{72,51,0}}, +/* 50896 */ {(13<<2)|2,{72,52,0}}, +/* 50897 */ {(13<<2)|2,{72,52,0}}, +/* 50898 */ {(13<<2)|2,{72,52,0}}, +/* 50899 */ {(13<<2)|2,{72,52,0}}, +/* 50900 */ {(13<<2)|2,{72,52,0}}, +/* 50901 */ {(13<<2)|2,{72,52,0}}, +/* 50902 */ {(13<<2)|2,{72,52,0}}, +/* 50903 */ {(13<<2)|2,{72,52,0}}, +/* 50904 */ {(13<<2)|2,{72,53,0}}, +/* 50905 */ {(13<<2)|2,{72,53,0}}, +/* 50906 */ {(13<<2)|2,{72,53,0}}, +/* 50907 */ {(13<<2)|2,{72,53,0}}, +/* 50908 */ {(13<<2)|2,{72,53,0}}, +/* 50909 */ {(13<<2)|2,{72,53,0}}, +/* 50910 */ {(13<<2)|2,{72,53,0}}, +/* 50911 */ {(13<<2)|2,{72,53,0}}, +/* 50912 */ {(13<<2)|2,{72,54,0}}, +/* 50913 */ {(13<<2)|2,{72,54,0}}, +/* 50914 */ {(13<<2)|2,{72,54,0}}, +/* 50915 */ {(13<<2)|2,{72,54,0}}, +/* 50916 */ {(13<<2)|2,{72,54,0}}, +/* 50917 */ {(13<<2)|2,{72,54,0}}, +/* 50918 */ {(13<<2)|2,{72,54,0}}, +/* 50919 */ {(13<<2)|2,{72,54,0}}, +/* 50920 */ {(13<<2)|2,{72,55,0}}, +/* 50921 */ {(13<<2)|2,{72,55,0}}, +/* 50922 */ {(13<<2)|2,{72,55,0}}, +/* 50923 */ {(13<<2)|2,{72,55,0}}, +/* 50924 */ {(13<<2)|2,{72,55,0}}, +/* 50925 */ {(13<<2)|2,{72,55,0}}, +/* 50926 */ {(13<<2)|2,{72,55,0}}, +/* 50927 */ {(13<<2)|2,{72,55,0}}, +/* 50928 */ {(13<<2)|2,{72,56,0}}, +/* 50929 */ {(13<<2)|2,{72,56,0}}, +/* 50930 */ {(13<<2)|2,{72,56,0}}, +/* 50931 */ {(13<<2)|2,{72,56,0}}, +/* 50932 */ {(13<<2)|2,{72,56,0}}, +/* 50933 */ {(13<<2)|2,{72,56,0}}, +/* 50934 */ {(13<<2)|2,{72,56,0}}, +/* 50935 */ {(13<<2)|2,{72,56,0}}, +/* 50936 */ {(13<<2)|2,{72,57,0}}, +/* 50937 */ {(13<<2)|2,{72,57,0}}, +/* 50938 */ {(13<<2)|2,{72,57,0}}, +/* 50939 */ {(13<<2)|2,{72,57,0}}, +/* 50940 */ {(13<<2)|2,{72,57,0}}, +/* 50941 */ {(13<<2)|2,{72,57,0}}, +/* 50942 */ {(13<<2)|2,{72,57,0}}, +/* 50943 */ {(13<<2)|2,{72,57,0}}, +/* 50944 */ {(13<<2)|2,{72,61,0}}, +/* 50945 */ {(13<<2)|2,{72,61,0}}, +/* 50946 */ {(13<<2)|2,{72,61,0}}, +/* 50947 */ {(13<<2)|2,{72,61,0}}, +/* 50948 */ {(13<<2)|2,{72,61,0}}, +/* 50949 */ {(13<<2)|2,{72,61,0}}, +/* 50950 */ {(13<<2)|2,{72,61,0}}, +/* 50951 */ {(13<<2)|2,{72,61,0}}, +/* 50952 */ {(13<<2)|2,{72,65,0}}, +/* 50953 */ {(13<<2)|2,{72,65,0}}, +/* 50954 */ {(13<<2)|2,{72,65,0}}, +/* 50955 */ {(13<<2)|2,{72,65,0}}, +/* 50956 */ {(13<<2)|2,{72,65,0}}, +/* 50957 */ {(13<<2)|2,{72,65,0}}, +/* 50958 */ {(13<<2)|2,{72,65,0}}, +/* 50959 */ {(13<<2)|2,{72,65,0}}, +/* 50960 */ {(13<<2)|2,{72,95,0}}, +/* 50961 */ {(13<<2)|2,{72,95,0}}, +/* 50962 */ {(13<<2)|2,{72,95,0}}, +/* 50963 */ {(13<<2)|2,{72,95,0}}, +/* 50964 */ {(13<<2)|2,{72,95,0}}, +/* 50965 */ {(13<<2)|2,{72,95,0}}, +/* 50966 */ {(13<<2)|2,{72,95,0}}, +/* 50967 */ {(13<<2)|2,{72,95,0}}, +/* 50968 */ {(13<<2)|2,{72,98,0}}, +/* 50969 */ {(13<<2)|2,{72,98,0}}, +/* 50970 */ {(13<<2)|2,{72,98,0}}, +/* 50971 */ {(13<<2)|2,{72,98,0}}, +/* 50972 */ {(13<<2)|2,{72,98,0}}, +/* 50973 */ {(13<<2)|2,{72,98,0}}, +/* 50974 */ {(13<<2)|2,{72,98,0}}, +/* 50975 */ {(13<<2)|2,{72,98,0}}, +/* 50976 */ {(13<<2)|2,{72,100,0}}, +/* 50977 */ {(13<<2)|2,{72,100,0}}, +/* 50978 */ {(13<<2)|2,{72,100,0}}, +/* 50979 */ {(13<<2)|2,{72,100,0}}, +/* 50980 */ {(13<<2)|2,{72,100,0}}, +/* 50981 */ {(13<<2)|2,{72,100,0}}, +/* 50982 */ {(13<<2)|2,{72,100,0}}, +/* 50983 */ {(13<<2)|2,{72,100,0}}, +/* 50984 */ {(13<<2)|2,{72,102,0}}, +/* 50985 */ {(13<<2)|2,{72,102,0}}, +/* 50986 */ {(13<<2)|2,{72,102,0}}, +/* 50987 */ {(13<<2)|2,{72,102,0}}, +/* 50988 */ {(13<<2)|2,{72,102,0}}, +/* 50989 */ {(13<<2)|2,{72,102,0}}, +/* 50990 */ {(13<<2)|2,{72,102,0}}, +/* 50991 */ {(13<<2)|2,{72,102,0}}, +/* 50992 */ {(13<<2)|2,{72,103,0}}, +/* 50993 */ {(13<<2)|2,{72,103,0}}, +/* 50994 */ {(13<<2)|2,{72,103,0}}, +/* 50995 */ {(13<<2)|2,{72,103,0}}, +/* 50996 */ {(13<<2)|2,{72,103,0}}, +/* 50997 */ {(13<<2)|2,{72,103,0}}, +/* 50998 */ {(13<<2)|2,{72,103,0}}, +/* 50999 */ {(13<<2)|2,{72,103,0}}, +/* 51000 */ {(13<<2)|2,{72,104,0}}, +/* 51001 */ {(13<<2)|2,{72,104,0}}, +/* 51002 */ {(13<<2)|2,{72,104,0}}, +/* 51003 */ {(13<<2)|2,{72,104,0}}, +/* 51004 */ {(13<<2)|2,{72,104,0}}, +/* 51005 */ {(13<<2)|2,{72,104,0}}, +/* 51006 */ {(13<<2)|2,{72,104,0}}, +/* 51007 */ {(13<<2)|2,{72,104,0}}, +/* 51008 */ {(13<<2)|2,{72,108,0}}, +/* 51009 */ {(13<<2)|2,{72,108,0}}, +/* 51010 */ {(13<<2)|2,{72,108,0}}, +/* 51011 */ {(13<<2)|2,{72,108,0}}, +/* 51012 */ {(13<<2)|2,{72,108,0}}, +/* 51013 */ {(13<<2)|2,{72,108,0}}, +/* 51014 */ {(13<<2)|2,{72,108,0}}, +/* 51015 */ {(13<<2)|2,{72,108,0}}, +/* 51016 */ {(13<<2)|2,{72,109,0}}, +/* 51017 */ {(13<<2)|2,{72,109,0}}, +/* 51018 */ {(13<<2)|2,{72,109,0}}, +/* 51019 */ {(13<<2)|2,{72,109,0}}, +/* 51020 */ {(13<<2)|2,{72,109,0}}, +/* 51021 */ {(13<<2)|2,{72,109,0}}, +/* 51022 */ {(13<<2)|2,{72,109,0}}, +/* 51023 */ {(13<<2)|2,{72,109,0}}, +/* 51024 */ {(13<<2)|2,{72,110,0}}, +/* 51025 */ {(13<<2)|2,{72,110,0}}, +/* 51026 */ {(13<<2)|2,{72,110,0}}, +/* 51027 */ {(13<<2)|2,{72,110,0}}, +/* 51028 */ {(13<<2)|2,{72,110,0}}, +/* 51029 */ {(13<<2)|2,{72,110,0}}, +/* 51030 */ {(13<<2)|2,{72,110,0}}, +/* 51031 */ {(13<<2)|2,{72,110,0}}, +/* 51032 */ {(13<<2)|2,{72,112,0}}, +/* 51033 */ {(13<<2)|2,{72,112,0}}, +/* 51034 */ {(13<<2)|2,{72,112,0}}, +/* 51035 */ {(13<<2)|2,{72,112,0}}, +/* 51036 */ {(13<<2)|2,{72,112,0}}, +/* 51037 */ {(13<<2)|2,{72,112,0}}, +/* 51038 */ {(13<<2)|2,{72,112,0}}, +/* 51039 */ {(13<<2)|2,{72,112,0}}, +/* 51040 */ {(13<<2)|2,{72,114,0}}, +/* 51041 */ {(13<<2)|2,{72,114,0}}, +/* 51042 */ {(13<<2)|2,{72,114,0}}, +/* 51043 */ {(13<<2)|2,{72,114,0}}, +/* 51044 */ {(13<<2)|2,{72,114,0}}, +/* 51045 */ {(13<<2)|2,{72,114,0}}, +/* 51046 */ {(13<<2)|2,{72,114,0}}, +/* 51047 */ {(13<<2)|2,{72,114,0}}, +/* 51048 */ {(13<<2)|2,{72,117,0}}, +/* 51049 */ {(13<<2)|2,{72,117,0}}, +/* 51050 */ {(13<<2)|2,{72,117,0}}, +/* 51051 */ {(13<<2)|2,{72,117,0}}, +/* 51052 */ {(13<<2)|2,{72,117,0}}, +/* 51053 */ {(13<<2)|2,{72,117,0}}, +/* 51054 */ {(13<<2)|2,{72,117,0}}, +/* 51055 */ {(13<<2)|2,{72,117,0}}, +/* 51056 */ {(14<<2)|2,{72,58,0}}, +/* 51057 */ {(14<<2)|2,{72,58,0}}, +/* 51058 */ {(14<<2)|2,{72,58,0}}, +/* 51059 */ {(14<<2)|2,{72,58,0}}, +/* 51060 */ {(14<<2)|2,{72,66,0}}, +/* 51061 */ {(14<<2)|2,{72,66,0}}, +/* 51062 */ {(14<<2)|2,{72,66,0}}, +/* 51063 */ {(14<<2)|2,{72,66,0}}, +/* 51064 */ {(14<<2)|2,{72,67,0}}, +/* 51065 */ {(14<<2)|2,{72,67,0}}, +/* 51066 */ {(14<<2)|2,{72,67,0}}, +/* 51067 */ {(14<<2)|2,{72,67,0}}, +/* 51068 */ {(14<<2)|2,{72,68,0}}, +/* 51069 */ {(14<<2)|2,{72,68,0}}, +/* 51070 */ {(14<<2)|2,{72,68,0}}, +/* 51071 */ {(14<<2)|2,{72,68,0}}, +/* 51072 */ {(14<<2)|2,{72,69,0}}, +/* 51073 */ {(14<<2)|2,{72,69,0}}, +/* 51074 */ {(14<<2)|2,{72,69,0}}, +/* 51075 */ {(14<<2)|2,{72,69,0}}, +/* 51076 */ {(14<<2)|2,{72,70,0}}, +/* 51077 */ {(14<<2)|2,{72,70,0}}, +/* 51078 */ {(14<<2)|2,{72,70,0}}, +/* 51079 */ {(14<<2)|2,{72,70,0}}, +/* 51080 */ {(14<<2)|2,{72,71,0}}, +/* 51081 */ {(14<<2)|2,{72,71,0}}, +/* 51082 */ {(14<<2)|2,{72,71,0}}, +/* 51083 */ {(14<<2)|2,{72,71,0}}, +/* 51084 */ {(14<<2)|2,{72,72,0}}, +/* 51085 */ {(14<<2)|2,{72,72,0}}, +/* 51086 */ {(14<<2)|2,{72,72,0}}, +/* 51087 */ {(14<<2)|2,{72,72,0}}, +/* 51088 */ {(14<<2)|2,{72,73,0}}, +/* 51089 */ {(14<<2)|2,{72,73,0}}, +/* 51090 */ {(14<<2)|2,{72,73,0}}, +/* 51091 */ {(14<<2)|2,{72,73,0}}, +/* 51092 */ {(14<<2)|2,{72,74,0}}, +/* 51093 */ {(14<<2)|2,{72,74,0}}, +/* 51094 */ {(14<<2)|2,{72,74,0}}, +/* 51095 */ {(14<<2)|2,{72,74,0}}, +/* 51096 */ {(14<<2)|2,{72,75,0}}, +/* 51097 */ {(14<<2)|2,{72,75,0}}, +/* 51098 */ {(14<<2)|2,{72,75,0}}, +/* 51099 */ {(14<<2)|2,{72,75,0}}, +/* 51100 */ {(14<<2)|2,{72,76,0}}, +/* 51101 */ {(14<<2)|2,{72,76,0}}, +/* 51102 */ {(14<<2)|2,{72,76,0}}, +/* 51103 */ {(14<<2)|2,{72,76,0}}, +/* 51104 */ {(14<<2)|2,{72,77,0}}, +/* 51105 */ {(14<<2)|2,{72,77,0}}, +/* 51106 */ {(14<<2)|2,{72,77,0}}, +/* 51107 */ {(14<<2)|2,{72,77,0}}, +/* 51108 */ {(14<<2)|2,{72,78,0}}, +/* 51109 */ {(14<<2)|2,{72,78,0}}, +/* 51110 */ {(14<<2)|2,{72,78,0}}, +/* 51111 */ {(14<<2)|2,{72,78,0}}, +/* 51112 */ {(14<<2)|2,{72,79,0}}, +/* 51113 */ {(14<<2)|2,{72,79,0}}, +/* 51114 */ {(14<<2)|2,{72,79,0}}, +/* 51115 */ {(14<<2)|2,{72,79,0}}, +/* 51116 */ {(14<<2)|2,{72,80,0}}, +/* 51117 */ {(14<<2)|2,{72,80,0}}, +/* 51118 */ {(14<<2)|2,{72,80,0}}, +/* 51119 */ {(14<<2)|2,{72,80,0}}, +/* 51120 */ {(14<<2)|2,{72,81,0}}, +/* 51121 */ {(14<<2)|2,{72,81,0}}, +/* 51122 */ {(14<<2)|2,{72,81,0}}, +/* 51123 */ {(14<<2)|2,{72,81,0}}, +/* 51124 */ {(14<<2)|2,{72,82,0}}, +/* 51125 */ {(14<<2)|2,{72,82,0}}, +/* 51126 */ {(14<<2)|2,{72,82,0}}, +/* 51127 */ {(14<<2)|2,{72,82,0}}, +/* 51128 */ {(14<<2)|2,{72,83,0}}, +/* 51129 */ {(14<<2)|2,{72,83,0}}, +/* 51130 */ {(14<<2)|2,{72,83,0}}, +/* 51131 */ {(14<<2)|2,{72,83,0}}, +/* 51132 */ {(14<<2)|2,{72,84,0}}, +/* 51133 */ {(14<<2)|2,{72,84,0}}, +/* 51134 */ {(14<<2)|2,{72,84,0}}, +/* 51135 */ {(14<<2)|2,{72,84,0}}, +/* 51136 */ {(14<<2)|2,{72,85,0}}, +/* 51137 */ {(14<<2)|2,{72,85,0}}, +/* 51138 */ {(14<<2)|2,{72,85,0}}, +/* 51139 */ {(14<<2)|2,{72,85,0}}, +/* 51140 */ {(14<<2)|2,{72,86,0}}, +/* 51141 */ {(14<<2)|2,{72,86,0}}, +/* 51142 */ {(14<<2)|2,{72,86,0}}, +/* 51143 */ {(14<<2)|2,{72,86,0}}, +/* 51144 */ {(14<<2)|2,{72,87,0}}, +/* 51145 */ {(14<<2)|2,{72,87,0}}, +/* 51146 */ {(14<<2)|2,{72,87,0}}, +/* 51147 */ {(14<<2)|2,{72,87,0}}, +/* 51148 */ {(14<<2)|2,{72,89,0}}, +/* 51149 */ {(14<<2)|2,{72,89,0}}, +/* 51150 */ {(14<<2)|2,{72,89,0}}, +/* 51151 */ {(14<<2)|2,{72,89,0}}, +/* 51152 */ {(14<<2)|2,{72,106,0}}, +/* 51153 */ {(14<<2)|2,{72,106,0}}, +/* 51154 */ {(14<<2)|2,{72,106,0}}, +/* 51155 */ {(14<<2)|2,{72,106,0}}, +/* 51156 */ {(14<<2)|2,{72,107,0}}, +/* 51157 */ {(14<<2)|2,{72,107,0}}, +/* 51158 */ {(14<<2)|2,{72,107,0}}, +/* 51159 */ {(14<<2)|2,{72,107,0}}, +/* 51160 */ {(14<<2)|2,{72,113,0}}, +/* 51161 */ {(14<<2)|2,{72,113,0}}, +/* 51162 */ {(14<<2)|2,{72,113,0}}, +/* 51163 */ {(14<<2)|2,{72,113,0}}, +/* 51164 */ {(14<<2)|2,{72,118,0}}, +/* 51165 */ {(14<<2)|2,{72,118,0}}, +/* 51166 */ {(14<<2)|2,{72,118,0}}, +/* 51167 */ {(14<<2)|2,{72,118,0}}, +/* 51168 */ {(14<<2)|2,{72,119,0}}, +/* 51169 */ {(14<<2)|2,{72,119,0}}, +/* 51170 */ {(14<<2)|2,{72,119,0}}, +/* 51171 */ {(14<<2)|2,{72,119,0}}, +/* 51172 */ {(14<<2)|2,{72,120,0}}, +/* 51173 */ {(14<<2)|2,{72,120,0}}, +/* 51174 */ {(14<<2)|2,{72,120,0}}, +/* 51175 */ {(14<<2)|2,{72,120,0}}, +/* 51176 */ {(14<<2)|2,{72,121,0}}, +/* 51177 */ {(14<<2)|2,{72,121,0}}, +/* 51178 */ {(14<<2)|2,{72,121,0}}, +/* 51179 */ {(14<<2)|2,{72,121,0}}, +/* 51180 */ {(14<<2)|2,{72,122,0}}, +/* 51181 */ {(14<<2)|2,{72,122,0}}, +/* 51182 */ {(14<<2)|2,{72,122,0}}, +/* 51183 */ {(14<<2)|2,{72,122,0}}, +/* 51184 */ {(15<<2)|2,{72,38,0}}, +/* 51185 */ {(15<<2)|2,{72,38,0}}, +/* 51186 */ {(15<<2)|2,{72,42,0}}, +/* 51187 */ {(15<<2)|2,{72,42,0}}, +/* 51188 */ {(15<<2)|2,{72,44,0}}, +/* 51189 */ {(15<<2)|2,{72,44,0}}, +/* 51190 */ {(15<<2)|2,{72,59,0}}, +/* 51191 */ {(15<<2)|2,{72,59,0}}, +/* 51192 */ {(15<<2)|2,{72,88,0}}, +/* 51193 */ {(15<<2)|2,{72,88,0}}, +/* 51194 */ {(15<<2)|2,{72,90,0}}, +/* 51195 */ {(15<<2)|2,{72,90,0}}, +/* 51196 */ {(7<<2)|1,{72,0,0}}, +/* 51197 */ {(7<<2)|1,{72,0,0}}, +/* 51198 */ {(7<<2)|1,{72,0,0}}, +/* 51199 */ {(7<<2)|1,{72,0,0}}, +/* 51200 */ {(12<<2)|2,{73,48,0}}, +/* 51201 */ {(12<<2)|2,{73,48,0}}, +/* 51202 */ {(12<<2)|2,{73,48,0}}, +/* 51203 */ {(12<<2)|2,{73,48,0}}, +/* 51204 */ {(12<<2)|2,{73,48,0}}, +/* 51205 */ {(12<<2)|2,{73,48,0}}, +/* 51206 */ {(12<<2)|2,{73,48,0}}, +/* 51207 */ {(12<<2)|2,{73,48,0}}, +/* 51208 */ {(12<<2)|2,{73,48,0}}, +/* 51209 */ {(12<<2)|2,{73,48,0}}, +/* 51210 */ {(12<<2)|2,{73,48,0}}, +/* 51211 */ {(12<<2)|2,{73,48,0}}, +/* 51212 */ {(12<<2)|2,{73,48,0}}, +/* 51213 */ {(12<<2)|2,{73,48,0}}, +/* 51214 */ {(12<<2)|2,{73,48,0}}, +/* 51215 */ {(12<<2)|2,{73,48,0}}, +/* 51216 */ {(12<<2)|2,{73,49,0}}, +/* 51217 */ {(12<<2)|2,{73,49,0}}, +/* 51218 */ {(12<<2)|2,{73,49,0}}, +/* 51219 */ {(12<<2)|2,{73,49,0}}, +/* 51220 */ {(12<<2)|2,{73,49,0}}, +/* 51221 */ {(12<<2)|2,{73,49,0}}, +/* 51222 */ {(12<<2)|2,{73,49,0}}, +/* 51223 */ {(12<<2)|2,{73,49,0}}, +/* 51224 */ {(12<<2)|2,{73,49,0}}, +/* 51225 */ {(12<<2)|2,{73,49,0}}, +/* 51226 */ {(12<<2)|2,{73,49,0}}, +/* 51227 */ {(12<<2)|2,{73,49,0}}, +/* 51228 */ {(12<<2)|2,{73,49,0}}, +/* 51229 */ {(12<<2)|2,{73,49,0}}, +/* 51230 */ {(12<<2)|2,{73,49,0}}, +/* 51231 */ {(12<<2)|2,{73,49,0}}, +/* 51232 */ {(12<<2)|2,{73,50,0}}, +/* 51233 */ {(12<<2)|2,{73,50,0}}, +/* 51234 */ {(12<<2)|2,{73,50,0}}, +/* 51235 */ {(12<<2)|2,{73,50,0}}, +/* 51236 */ {(12<<2)|2,{73,50,0}}, +/* 51237 */ {(12<<2)|2,{73,50,0}}, +/* 51238 */ {(12<<2)|2,{73,50,0}}, +/* 51239 */ {(12<<2)|2,{73,50,0}}, +/* 51240 */ {(12<<2)|2,{73,50,0}}, +/* 51241 */ {(12<<2)|2,{73,50,0}}, +/* 51242 */ {(12<<2)|2,{73,50,0}}, +/* 51243 */ {(12<<2)|2,{73,50,0}}, +/* 51244 */ {(12<<2)|2,{73,50,0}}, +/* 51245 */ {(12<<2)|2,{73,50,0}}, +/* 51246 */ {(12<<2)|2,{73,50,0}}, +/* 51247 */ {(12<<2)|2,{73,50,0}}, +/* 51248 */ {(12<<2)|2,{73,97,0}}, +/* 51249 */ {(12<<2)|2,{73,97,0}}, +/* 51250 */ {(12<<2)|2,{73,97,0}}, +/* 51251 */ {(12<<2)|2,{73,97,0}}, +/* 51252 */ {(12<<2)|2,{73,97,0}}, +/* 51253 */ {(12<<2)|2,{73,97,0}}, +/* 51254 */ {(12<<2)|2,{73,97,0}}, +/* 51255 */ {(12<<2)|2,{73,97,0}}, +/* 51256 */ {(12<<2)|2,{73,97,0}}, +/* 51257 */ {(12<<2)|2,{73,97,0}}, +/* 51258 */ {(12<<2)|2,{73,97,0}}, +/* 51259 */ {(12<<2)|2,{73,97,0}}, +/* 51260 */ {(12<<2)|2,{73,97,0}}, +/* 51261 */ {(12<<2)|2,{73,97,0}}, +/* 51262 */ {(12<<2)|2,{73,97,0}}, +/* 51263 */ {(12<<2)|2,{73,97,0}}, +/* 51264 */ {(12<<2)|2,{73,99,0}}, +/* 51265 */ {(12<<2)|2,{73,99,0}}, +/* 51266 */ {(12<<2)|2,{73,99,0}}, +/* 51267 */ {(12<<2)|2,{73,99,0}}, +/* 51268 */ {(12<<2)|2,{73,99,0}}, +/* 51269 */ {(12<<2)|2,{73,99,0}}, +/* 51270 */ {(12<<2)|2,{73,99,0}}, +/* 51271 */ {(12<<2)|2,{73,99,0}}, +/* 51272 */ {(12<<2)|2,{73,99,0}}, +/* 51273 */ {(12<<2)|2,{73,99,0}}, +/* 51274 */ {(12<<2)|2,{73,99,0}}, +/* 51275 */ {(12<<2)|2,{73,99,0}}, +/* 51276 */ {(12<<2)|2,{73,99,0}}, +/* 51277 */ {(12<<2)|2,{73,99,0}}, +/* 51278 */ {(12<<2)|2,{73,99,0}}, +/* 51279 */ {(12<<2)|2,{73,99,0}}, +/* 51280 */ {(12<<2)|2,{73,101,0}}, +/* 51281 */ {(12<<2)|2,{73,101,0}}, +/* 51282 */ {(12<<2)|2,{73,101,0}}, +/* 51283 */ {(12<<2)|2,{73,101,0}}, +/* 51284 */ {(12<<2)|2,{73,101,0}}, +/* 51285 */ {(12<<2)|2,{73,101,0}}, +/* 51286 */ {(12<<2)|2,{73,101,0}}, +/* 51287 */ {(12<<2)|2,{73,101,0}}, +/* 51288 */ {(12<<2)|2,{73,101,0}}, +/* 51289 */ {(12<<2)|2,{73,101,0}}, +/* 51290 */ {(12<<2)|2,{73,101,0}}, +/* 51291 */ {(12<<2)|2,{73,101,0}}, +/* 51292 */ {(12<<2)|2,{73,101,0}}, +/* 51293 */ {(12<<2)|2,{73,101,0}}, +/* 51294 */ {(12<<2)|2,{73,101,0}}, +/* 51295 */ {(12<<2)|2,{73,101,0}}, +/* 51296 */ {(12<<2)|2,{73,105,0}}, +/* 51297 */ {(12<<2)|2,{73,105,0}}, +/* 51298 */ {(12<<2)|2,{73,105,0}}, +/* 51299 */ {(12<<2)|2,{73,105,0}}, +/* 51300 */ {(12<<2)|2,{73,105,0}}, +/* 51301 */ {(12<<2)|2,{73,105,0}}, +/* 51302 */ {(12<<2)|2,{73,105,0}}, +/* 51303 */ {(12<<2)|2,{73,105,0}}, +/* 51304 */ {(12<<2)|2,{73,105,0}}, +/* 51305 */ {(12<<2)|2,{73,105,0}}, +/* 51306 */ {(12<<2)|2,{73,105,0}}, +/* 51307 */ {(12<<2)|2,{73,105,0}}, +/* 51308 */ {(12<<2)|2,{73,105,0}}, +/* 51309 */ {(12<<2)|2,{73,105,0}}, +/* 51310 */ {(12<<2)|2,{73,105,0}}, +/* 51311 */ {(12<<2)|2,{73,105,0}}, +/* 51312 */ {(12<<2)|2,{73,111,0}}, +/* 51313 */ {(12<<2)|2,{73,111,0}}, +/* 51314 */ {(12<<2)|2,{73,111,0}}, +/* 51315 */ {(12<<2)|2,{73,111,0}}, +/* 51316 */ {(12<<2)|2,{73,111,0}}, +/* 51317 */ {(12<<2)|2,{73,111,0}}, +/* 51318 */ {(12<<2)|2,{73,111,0}}, +/* 51319 */ {(12<<2)|2,{73,111,0}}, +/* 51320 */ {(12<<2)|2,{73,111,0}}, +/* 51321 */ {(12<<2)|2,{73,111,0}}, +/* 51322 */ {(12<<2)|2,{73,111,0}}, +/* 51323 */ {(12<<2)|2,{73,111,0}}, +/* 51324 */ {(12<<2)|2,{73,111,0}}, +/* 51325 */ {(12<<2)|2,{73,111,0}}, +/* 51326 */ {(12<<2)|2,{73,111,0}}, +/* 51327 */ {(12<<2)|2,{73,111,0}}, +/* 51328 */ {(12<<2)|2,{73,115,0}}, +/* 51329 */ {(12<<2)|2,{73,115,0}}, +/* 51330 */ {(12<<2)|2,{73,115,0}}, +/* 51331 */ {(12<<2)|2,{73,115,0}}, +/* 51332 */ {(12<<2)|2,{73,115,0}}, +/* 51333 */ {(12<<2)|2,{73,115,0}}, +/* 51334 */ {(12<<2)|2,{73,115,0}}, +/* 51335 */ {(12<<2)|2,{73,115,0}}, +/* 51336 */ {(12<<2)|2,{73,115,0}}, +/* 51337 */ {(12<<2)|2,{73,115,0}}, +/* 51338 */ {(12<<2)|2,{73,115,0}}, +/* 51339 */ {(12<<2)|2,{73,115,0}}, +/* 51340 */ {(12<<2)|2,{73,115,0}}, +/* 51341 */ {(12<<2)|2,{73,115,0}}, +/* 51342 */ {(12<<2)|2,{73,115,0}}, +/* 51343 */ {(12<<2)|2,{73,115,0}}, +/* 51344 */ {(12<<2)|2,{73,116,0}}, +/* 51345 */ {(12<<2)|2,{73,116,0}}, +/* 51346 */ {(12<<2)|2,{73,116,0}}, +/* 51347 */ {(12<<2)|2,{73,116,0}}, +/* 51348 */ {(12<<2)|2,{73,116,0}}, +/* 51349 */ {(12<<2)|2,{73,116,0}}, +/* 51350 */ {(12<<2)|2,{73,116,0}}, +/* 51351 */ {(12<<2)|2,{73,116,0}}, +/* 51352 */ {(12<<2)|2,{73,116,0}}, +/* 51353 */ {(12<<2)|2,{73,116,0}}, +/* 51354 */ {(12<<2)|2,{73,116,0}}, +/* 51355 */ {(12<<2)|2,{73,116,0}}, +/* 51356 */ {(12<<2)|2,{73,116,0}}, +/* 51357 */ {(12<<2)|2,{73,116,0}}, +/* 51358 */ {(12<<2)|2,{73,116,0}}, +/* 51359 */ {(12<<2)|2,{73,116,0}}, +/* 51360 */ {(13<<2)|2,{73,32,0}}, +/* 51361 */ {(13<<2)|2,{73,32,0}}, +/* 51362 */ {(13<<2)|2,{73,32,0}}, +/* 51363 */ {(13<<2)|2,{73,32,0}}, +/* 51364 */ {(13<<2)|2,{73,32,0}}, +/* 51365 */ {(13<<2)|2,{73,32,0}}, +/* 51366 */ {(13<<2)|2,{73,32,0}}, +/* 51367 */ {(13<<2)|2,{73,32,0}}, +/* 51368 */ {(13<<2)|2,{73,37,0}}, +/* 51369 */ {(13<<2)|2,{73,37,0}}, +/* 51370 */ {(13<<2)|2,{73,37,0}}, +/* 51371 */ {(13<<2)|2,{73,37,0}}, +/* 51372 */ {(13<<2)|2,{73,37,0}}, +/* 51373 */ {(13<<2)|2,{73,37,0}}, +/* 51374 */ {(13<<2)|2,{73,37,0}}, +/* 51375 */ {(13<<2)|2,{73,37,0}}, +/* 51376 */ {(13<<2)|2,{73,45,0}}, +/* 51377 */ {(13<<2)|2,{73,45,0}}, +/* 51378 */ {(13<<2)|2,{73,45,0}}, +/* 51379 */ {(13<<2)|2,{73,45,0}}, +/* 51380 */ {(13<<2)|2,{73,45,0}}, +/* 51381 */ {(13<<2)|2,{73,45,0}}, +/* 51382 */ {(13<<2)|2,{73,45,0}}, +/* 51383 */ {(13<<2)|2,{73,45,0}}, +/* 51384 */ {(13<<2)|2,{73,46,0}}, +/* 51385 */ {(13<<2)|2,{73,46,0}}, +/* 51386 */ {(13<<2)|2,{73,46,0}}, +/* 51387 */ {(13<<2)|2,{73,46,0}}, +/* 51388 */ {(13<<2)|2,{73,46,0}}, +/* 51389 */ {(13<<2)|2,{73,46,0}}, +/* 51390 */ {(13<<2)|2,{73,46,0}}, +/* 51391 */ {(13<<2)|2,{73,46,0}}, +/* 51392 */ {(13<<2)|2,{73,47,0}}, +/* 51393 */ {(13<<2)|2,{73,47,0}}, +/* 51394 */ {(13<<2)|2,{73,47,0}}, +/* 51395 */ {(13<<2)|2,{73,47,0}}, +/* 51396 */ {(13<<2)|2,{73,47,0}}, +/* 51397 */ {(13<<2)|2,{73,47,0}}, +/* 51398 */ {(13<<2)|2,{73,47,0}}, +/* 51399 */ {(13<<2)|2,{73,47,0}}, +/* 51400 */ {(13<<2)|2,{73,51,0}}, +/* 51401 */ {(13<<2)|2,{73,51,0}}, +/* 51402 */ {(13<<2)|2,{73,51,0}}, +/* 51403 */ {(13<<2)|2,{73,51,0}}, +/* 51404 */ {(13<<2)|2,{73,51,0}}, +/* 51405 */ {(13<<2)|2,{73,51,0}}, +/* 51406 */ {(13<<2)|2,{73,51,0}}, +/* 51407 */ {(13<<2)|2,{73,51,0}}, +/* 51408 */ {(13<<2)|2,{73,52,0}}, +/* 51409 */ {(13<<2)|2,{73,52,0}}, +/* 51410 */ {(13<<2)|2,{73,52,0}}, +/* 51411 */ {(13<<2)|2,{73,52,0}}, +/* 51412 */ {(13<<2)|2,{73,52,0}}, +/* 51413 */ {(13<<2)|2,{73,52,0}}, +/* 51414 */ {(13<<2)|2,{73,52,0}}, +/* 51415 */ {(13<<2)|2,{73,52,0}}, +/* 51416 */ {(13<<2)|2,{73,53,0}}, +/* 51417 */ {(13<<2)|2,{73,53,0}}, +/* 51418 */ {(13<<2)|2,{73,53,0}}, +/* 51419 */ {(13<<2)|2,{73,53,0}}, +/* 51420 */ {(13<<2)|2,{73,53,0}}, +/* 51421 */ {(13<<2)|2,{73,53,0}}, +/* 51422 */ {(13<<2)|2,{73,53,0}}, +/* 51423 */ {(13<<2)|2,{73,53,0}}, +/* 51424 */ {(13<<2)|2,{73,54,0}}, +/* 51425 */ {(13<<2)|2,{73,54,0}}, +/* 51426 */ {(13<<2)|2,{73,54,0}}, +/* 51427 */ {(13<<2)|2,{73,54,0}}, +/* 51428 */ {(13<<2)|2,{73,54,0}}, +/* 51429 */ {(13<<2)|2,{73,54,0}}, +/* 51430 */ {(13<<2)|2,{73,54,0}}, +/* 51431 */ {(13<<2)|2,{73,54,0}}, +/* 51432 */ {(13<<2)|2,{73,55,0}}, +/* 51433 */ {(13<<2)|2,{73,55,0}}, +/* 51434 */ {(13<<2)|2,{73,55,0}}, +/* 51435 */ {(13<<2)|2,{73,55,0}}, +/* 51436 */ {(13<<2)|2,{73,55,0}}, +/* 51437 */ {(13<<2)|2,{73,55,0}}, +/* 51438 */ {(13<<2)|2,{73,55,0}}, +/* 51439 */ {(13<<2)|2,{73,55,0}}, +/* 51440 */ {(13<<2)|2,{73,56,0}}, +/* 51441 */ {(13<<2)|2,{73,56,0}}, +/* 51442 */ {(13<<2)|2,{73,56,0}}, +/* 51443 */ {(13<<2)|2,{73,56,0}}, +/* 51444 */ {(13<<2)|2,{73,56,0}}, +/* 51445 */ {(13<<2)|2,{73,56,0}}, +/* 51446 */ {(13<<2)|2,{73,56,0}}, +/* 51447 */ {(13<<2)|2,{73,56,0}}, +/* 51448 */ {(13<<2)|2,{73,57,0}}, +/* 51449 */ {(13<<2)|2,{73,57,0}}, +/* 51450 */ {(13<<2)|2,{73,57,0}}, +/* 51451 */ {(13<<2)|2,{73,57,0}}, +/* 51452 */ {(13<<2)|2,{73,57,0}}, +/* 51453 */ {(13<<2)|2,{73,57,0}}, +/* 51454 */ {(13<<2)|2,{73,57,0}}, +/* 51455 */ {(13<<2)|2,{73,57,0}}, +/* 51456 */ {(13<<2)|2,{73,61,0}}, +/* 51457 */ {(13<<2)|2,{73,61,0}}, +/* 51458 */ {(13<<2)|2,{73,61,0}}, +/* 51459 */ {(13<<2)|2,{73,61,0}}, +/* 51460 */ {(13<<2)|2,{73,61,0}}, +/* 51461 */ {(13<<2)|2,{73,61,0}}, +/* 51462 */ {(13<<2)|2,{73,61,0}}, +/* 51463 */ {(13<<2)|2,{73,61,0}}, +/* 51464 */ {(13<<2)|2,{73,65,0}}, +/* 51465 */ {(13<<2)|2,{73,65,0}}, +/* 51466 */ {(13<<2)|2,{73,65,0}}, +/* 51467 */ {(13<<2)|2,{73,65,0}}, +/* 51468 */ {(13<<2)|2,{73,65,0}}, +/* 51469 */ {(13<<2)|2,{73,65,0}}, +/* 51470 */ {(13<<2)|2,{73,65,0}}, +/* 51471 */ {(13<<2)|2,{73,65,0}}, +/* 51472 */ {(13<<2)|2,{73,95,0}}, +/* 51473 */ {(13<<2)|2,{73,95,0}}, +/* 51474 */ {(13<<2)|2,{73,95,0}}, +/* 51475 */ {(13<<2)|2,{73,95,0}}, +/* 51476 */ {(13<<2)|2,{73,95,0}}, +/* 51477 */ {(13<<2)|2,{73,95,0}}, +/* 51478 */ {(13<<2)|2,{73,95,0}}, +/* 51479 */ {(13<<2)|2,{73,95,0}}, +/* 51480 */ {(13<<2)|2,{73,98,0}}, +/* 51481 */ {(13<<2)|2,{73,98,0}}, +/* 51482 */ {(13<<2)|2,{73,98,0}}, +/* 51483 */ {(13<<2)|2,{73,98,0}}, +/* 51484 */ {(13<<2)|2,{73,98,0}}, +/* 51485 */ {(13<<2)|2,{73,98,0}}, +/* 51486 */ {(13<<2)|2,{73,98,0}}, +/* 51487 */ {(13<<2)|2,{73,98,0}}, +/* 51488 */ {(13<<2)|2,{73,100,0}}, +/* 51489 */ {(13<<2)|2,{73,100,0}}, +/* 51490 */ {(13<<2)|2,{73,100,0}}, +/* 51491 */ {(13<<2)|2,{73,100,0}}, +/* 51492 */ {(13<<2)|2,{73,100,0}}, +/* 51493 */ {(13<<2)|2,{73,100,0}}, +/* 51494 */ {(13<<2)|2,{73,100,0}}, +/* 51495 */ {(13<<2)|2,{73,100,0}}, +/* 51496 */ {(13<<2)|2,{73,102,0}}, +/* 51497 */ {(13<<2)|2,{73,102,0}}, +/* 51498 */ {(13<<2)|2,{73,102,0}}, +/* 51499 */ {(13<<2)|2,{73,102,0}}, +/* 51500 */ {(13<<2)|2,{73,102,0}}, +/* 51501 */ {(13<<2)|2,{73,102,0}}, +/* 51502 */ {(13<<2)|2,{73,102,0}}, +/* 51503 */ {(13<<2)|2,{73,102,0}}, +/* 51504 */ {(13<<2)|2,{73,103,0}}, +/* 51505 */ {(13<<2)|2,{73,103,0}}, +/* 51506 */ {(13<<2)|2,{73,103,0}}, +/* 51507 */ {(13<<2)|2,{73,103,0}}, +/* 51508 */ {(13<<2)|2,{73,103,0}}, +/* 51509 */ {(13<<2)|2,{73,103,0}}, +/* 51510 */ {(13<<2)|2,{73,103,0}}, +/* 51511 */ {(13<<2)|2,{73,103,0}}, +/* 51512 */ {(13<<2)|2,{73,104,0}}, +/* 51513 */ {(13<<2)|2,{73,104,0}}, +/* 51514 */ {(13<<2)|2,{73,104,0}}, +/* 51515 */ {(13<<2)|2,{73,104,0}}, +/* 51516 */ {(13<<2)|2,{73,104,0}}, +/* 51517 */ {(13<<2)|2,{73,104,0}}, +/* 51518 */ {(13<<2)|2,{73,104,0}}, +/* 51519 */ {(13<<2)|2,{73,104,0}}, +/* 51520 */ {(13<<2)|2,{73,108,0}}, +/* 51521 */ {(13<<2)|2,{73,108,0}}, +/* 51522 */ {(13<<2)|2,{73,108,0}}, +/* 51523 */ {(13<<2)|2,{73,108,0}}, +/* 51524 */ {(13<<2)|2,{73,108,0}}, +/* 51525 */ {(13<<2)|2,{73,108,0}}, +/* 51526 */ {(13<<2)|2,{73,108,0}}, +/* 51527 */ {(13<<2)|2,{73,108,0}}, +/* 51528 */ {(13<<2)|2,{73,109,0}}, +/* 51529 */ {(13<<2)|2,{73,109,0}}, +/* 51530 */ {(13<<2)|2,{73,109,0}}, +/* 51531 */ {(13<<2)|2,{73,109,0}}, +/* 51532 */ {(13<<2)|2,{73,109,0}}, +/* 51533 */ {(13<<2)|2,{73,109,0}}, +/* 51534 */ {(13<<2)|2,{73,109,0}}, +/* 51535 */ {(13<<2)|2,{73,109,0}}, +/* 51536 */ {(13<<2)|2,{73,110,0}}, +/* 51537 */ {(13<<2)|2,{73,110,0}}, +/* 51538 */ {(13<<2)|2,{73,110,0}}, +/* 51539 */ {(13<<2)|2,{73,110,0}}, +/* 51540 */ {(13<<2)|2,{73,110,0}}, +/* 51541 */ {(13<<2)|2,{73,110,0}}, +/* 51542 */ {(13<<2)|2,{73,110,0}}, +/* 51543 */ {(13<<2)|2,{73,110,0}}, +/* 51544 */ {(13<<2)|2,{73,112,0}}, +/* 51545 */ {(13<<2)|2,{73,112,0}}, +/* 51546 */ {(13<<2)|2,{73,112,0}}, +/* 51547 */ {(13<<2)|2,{73,112,0}}, +/* 51548 */ {(13<<2)|2,{73,112,0}}, +/* 51549 */ {(13<<2)|2,{73,112,0}}, +/* 51550 */ {(13<<2)|2,{73,112,0}}, +/* 51551 */ {(13<<2)|2,{73,112,0}}, +/* 51552 */ {(13<<2)|2,{73,114,0}}, +/* 51553 */ {(13<<2)|2,{73,114,0}}, +/* 51554 */ {(13<<2)|2,{73,114,0}}, +/* 51555 */ {(13<<2)|2,{73,114,0}}, +/* 51556 */ {(13<<2)|2,{73,114,0}}, +/* 51557 */ {(13<<2)|2,{73,114,0}}, +/* 51558 */ {(13<<2)|2,{73,114,0}}, +/* 51559 */ {(13<<2)|2,{73,114,0}}, +/* 51560 */ {(13<<2)|2,{73,117,0}}, +/* 51561 */ {(13<<2)|2,{73,117,0}}, +/* 51562 */ {(13<<2)|2,{73,117,0}}, +/* 51563 */ {(13<<2)|2,{73,117,0}}, +/* 51564 */ {(13<<2)|2,{73,117,0}}, +/* 51565 */ {(13<<2)|2,{73,117,0}}, +/* 51566 */ {(13<<2)|2,{73,117,0}}, +/* 51567 */ {(13<<2)|2,{73,117,0}}, +/* 51568 */ {(14<<2)|2,{73,58,0}}, +/* 51569 */ {(14<<2)|2,{73,58,0}}, +/* 51570 */ {(14<<2)|2,{73,58,0}}, +/* 51571 */ {(14<<2)|2,{73,58,0}}, +/* 51572 */ {(14<<2)|2,{73,66,0}}, +/* 51573 */ {(14<<2)|2,{73,66,0}}, +/* 51574 */ {(14<<2)|2,{73,66,0}}, +/* 51575 */ {(14<<2)|2,{73,66,0}}, +/* 51576 */ {(14<<2)|2,{73,67,0}}, +/* 51577 */ {(14<<2)|2,{73,67,0}}, +/* 51578 */ {(14<<2)|2,{73,67,0}}, +/* 51579 */ {(14<<2)|2,{73,67,0}}, +/* 51580 */ {(14<<2)|2,{73,68,0}}, +/* 51581 */ {(14<<2)|2,{73,68,0}}, +/* 51582 */ {(14<<2)|2,{73,68,0}}, +/* 51583 */ {(14<<2)|2,{73,68,0}}, +/* 51584 */ {(14<<2)|2,{73,69,0}}, +/* 51585 */ {(14<<2)|2,{73,69,0}}, +/* 51586 */ {(14<<2)|2,{73,69,0}}, +/* 51587 */ {(14<<2)|2,{73,69,0}}, +/* 51588 */ {(14<<2)|2,{73,70,0}}, +/* 51589 */ {(14<<2)|2,{73,70,0}}, +/* 51590 */ {(14<<2)|2,{73,70,0}}, +/* 51591 */ {(14<<2)|2,{73,70,0}}, +/* 51592 */ {(14<<2)|2,{73,71,0}}, +/* 51593 */ {(14<<2)|2,{73,71,0}}, +/* 51594 */ {(14<<2)|2,{73,71,0}}, +/* 51595 */ {(14<<2)|2,{73,71,0}}, +/* 51596 */ {(14<<2)|2,{73,72,0}}, +/* 51597 */ {(14<<2)|2,{73,72,0}}, +/* 51598 */ {(14<<2)|2,{73,72,0}}, +/* 51599 */ {(14<<2)|2,{73,72,0}}, +/* 51600 */ {(14<<2)|2,{73,73,0}}, +/* 51601 */ {(14<<2)|2,{73,73,0}}, +/* 51602 */ {(14<<2)|2,{73,73,0}}, +/* 51603 */ {(14<<2)|2,{73,73,0}}, +/* 51604 */ {(14<<2)|2,{73,74,0}}, +/* 51605 */ {(14<<2)|2,{73,74,0}}, +/* 51606 */ {(14<<2)|2,{73,74,0}}, +/* 51607 */ {(14<<2)|2,{73,74,0}}, +/* 51608 */ {(14<<2)|2,{73,75,0}}, +/* 51609 */ {(14<<2)|2,{73,75,0}}, +/* 51610 */ {(14<<2)|2,{73,75,0}}, +/* 51611 */ {(14<<2)|2,{73,75,0}}, +/* 51612 */ {(14<<2)|2,{73,76,0}}, +/* 51613 */ {(14<<2)|2,{73,76,0}}, +/* 51614 */ {(14<<2)|2,{73,76,0}}, +/* 51615 */ {(14<<2)|2,{73,76,0}}, +/* 51616 */ {(14<<2)|2,{73,77,0}}, +/* 51617 */ {(14<<2)|2,{73,77,0}}, +/* 51618 */ {(14<<2)|2,{73,77,0}}, +/* 51619 */ {(14<<2)|2,{73,77,0}}, +/* 51620 */ {(14<<2)|2,{73,78,0}}, +/* 51621 */ {(14<<2)|2,{73,78,0}}, +/* 51622 */ {(14<<2)|2,{73,78,0}}, +/* 51623 */ {(14<<2)|2,{73,78,0}}, +/* 51624 */ {(14<<2)|2,{73,79,0}}, +/* 51625 */ {(14<<2)|2,{73,79,0}}, +/* 51626 */ {(14<<2)|2,{73,79,0}}, +/* 51627 */ {(14<<2)|2,{73,79,0}}, +/* 51628 */ {(14<<2)|2,{73,80,0}}, +/* 51629 */ {(14<<2)|2,{73,80,0}}, +/* 51630 */ {(14<<2)|2,{73,80,0}}, +/* 51631 */ {(14<<2)|2,{73,80,0}}, +/* 51632 */ {(14<<2)|2,{73,81,0}}, +/* 51633 */ {(14<<2)|2,{73,81,0}}, +/* 51634 */ {(14<<2)|2,{73,81,0}}, +/* 51635 */ {(14<<2)|2,{73,81,0}}, +/* 51636 */ {(14<<2)|2,{73,82,0}}, +/* 51637 */ {(14<<2)|2,{73,82,0}}, +/* 51638 */ {(14<<2)|2,{73,82,0}}, +/* 51639 */ {(14<<2)|2,{73,82,0}}, +/* 51640 */ {(14<<2)|2,{73,83,0}}, +/* 51641 */ {(14<<2)|2,{73,83,0}}, +/* 51642 */ {(14<<2)|2,{73,83,0}}, +/* 51643 */ {(14<<2)|2,{73,83,0}}, +/* 51644 */ {(14<<2)|2,{73,84,0}}, +/* 51645 */ {(14<<2)|2,{73,84,0}}, +/* 51646 */ {(14<<2)|2,{73,84,0}}, +/* 51647 */ {(14<<2)|2,{73,84,0}}, +/* 51648 */ {(14<<2)|2,{73,85,0}}, +/* 51649 */ {(14<<2)|2,{73,85,0}}, +/* 51650 */ {(14<<2)|2,{73,85,0}}, +/* 51651 */ {(14<<2)|2,{73,85,0}}, +/* 51652 */ {(14<<2)|2,{73,86,0}}, +/* 51653 */ {(14<<2)|2,{73,86,0}}, +/* 51654 */ {(14<<2)|2,{73,86,0}}, +/* 51655 */ {(14<<2)|2,{73,86,0}}, +/* 51656 */ {(14<<2)|2,{73,87,0}}, +/* 51657 */ {(14<<2)|2,{73,87,0}}, +/* 51658 */ {(14<<2)|2,{73,87,0}}, +/* 51659 */ {(14<<2)|2,{73,87,0}}, +/* 51660 */ {(14<<2)|2,{73,89,0}}, +/* 51661 */ {(14<<2)|2,{73,89,0}}, +/* 51662 */ {(14<<2)|2,{73,89,0}}, +/* 51663 */ {(14<<2)|2,{73,89,0}}, +/* 51664 */ {(14<<2)|2,{73,106,0}}, +/* 51665 */ {(14<<2)|2,{73,106,0}}, +/* 51666 */ {(14<<2)|2,{73,106,0}}, +/* 51667 */ {(14<<2)|2,{73,106,0}}, +/* 51668 */ {(14<<2)|2,{73,107,0}}, +/* 51669 */ {(14<<2)|2,{73,107,0}}, +/* 51670 */ {(14<<2)|2,{73,107,0}}, +/* 51671 */ {(14<<2)|2,{73,107,0}}, +/* 51672 */ {(14<<2)|2,{73,113,0}}, +/* 51673 */ {(14<<2)|2,{73,113,0}}, +/* 51674 */ {(14<<2)|2,{73,113,0}}, +/* 51675 */ {(14<<2)|2,{73,113,0}}, +/* 51676 */ {(14<<2)|2,{73,118,0}}, +/* 51677 */ {(14<<2)|2,{73,118,0}}, +/* 51678 */ {(14<<2)|2,{73,118,0}}, +/* 51679 */ {(14<<2)|2,{73,118,0}}, +/* 51680 */ {(14<<2)|2,{73,119,0}}, +/* 51681 */ {(14<<2)|2,{73,119,0}}, +/* 51682 */ {(14<<2)|2,{73,119,0}}, +/* 51683 */ {(14<<2)|2,{73,119,0}}, +/* 51684 */ {(14<<2)|2,{73,120,0}}, +/* 51685 */ {(14<<2)|2,{73,120,0}}, +/* 51686 */ {(14<<2)|2,{73,120,0}}, +/* 51687 */ {(14<<2)|2,{73,120,0}}, +/* 51688 */ {(14<<2)|2,{73,121,0}}, +/* 51689 */ {(14<<2)|2,{73,121,0}}, +/* 51690 */ {(14<<2)|2,{73,121,0}}, +/* 51691 */ {(14<<2)|2,{73,121,0}}, +/* 51692 */ {(14<<2)|2,{73,122,0}}, +/* 51693 */ {(14<<2)|2,{73,122,0}}, +/* 51694 */ {(14<<2)|2,{73,122,0}}, +/* 51695 */ {(14<<2)|2,{73,122,0}}, +/* 51696 */ {(15<<2)|2,{73,38,0}}, +/* 51697 */ {(15<<2)|2,{73,38,0}}, +/* 51698 */ {(15<<2)|2,{73,42,0}}, +/* 51699 */ {(15<<2)|2,{73,42,0}}, +/* 51700 */ {(15<<2)|2,{73,44,0}}, +/* 51701 */ {(15<<2)|2,{73,44,0}}, +/* 51702 */ {(15<<2)|2,{73,59,0}}, +/* 51703 */ {(15<<2)|2,{73,59,0}}, +/* 51704 */ {(15<<2)|2,{73,88,0}}, +/* 51705 */ {(15<<2)|2,{73,88,0}}, +/* 51706 */ {(15<<2)|2,{73,90,0}}, +/* 51707 */ {(15<<2)|2,{73,90,0}}, +/* 51708 */ {(7<<2)|1,{73,0,0}}, +/* 51709 */ {(7<<2)|1,{73,0,0}}, +/* 51710 */ {(7<<2)|1,{73,0,0}}, +/* 51711 */ {(7<<2)|1,{73,0,0}}, +/* 51712 */ {(12<<2)|2,{74,48,0}}, +/* 51713 */ {(12<<2)|2,{74,48,0}}, +/* 51714 */ {(12<<2)|2,{74,48,0}}, +/* 51715 */ {(12<<2)|2,{74,48,0}}, +/* 51716 */ {(12<<2)|2,{74,48,0}}, +/* 51717 */ {(12<<2)|2,{74,48,0}}, +/* 51718 */ {(12<<2)|2,{74,48,0}}, +/* 51719 */ {(12<<2)|2,{74,48,0}}, +/* 51720 */ {(12<<2)|2,{74,48,0}}, +/* 51721 */ {(12<<2)|2,{74,48,0}}, +/* 51722 */ {(12<<2)|2,{74,48,0}}, +/* 51723 */ {(12<<2)|2,{74,48,0}}, +/* 51724 */ {(12<<2)|2,{74,48,0}}, +/* 51725 */ {(12<<2)|2,{74,48,0}}, +/* 51726 */ {(12<<2)|2,{74,48,0}}, +/* 51727 */ {(12<<2)|2,{74,48,0}}, +/* 51728 */ {(12<<2)|2,{74,49,0}}, +/* 51729 */ {(12<<2)|2,{74,49,0}}, +/* 51730 */ {(12<<2)|2,{74,49,0}}, +/* 51731 */ {(12<<2)|2,{74,49,0}}, +/* 51732 */ {(12<<2)|2,{74,49,0}}, +/* 51733 */ {(12<<2)|2,{74,49,0}}, +/* 51734 */ {(12<<2)|2,{74,49,0}}, +/* 51735 */ {(12<<2)|2,{74,49,0}}, +/* 51736 */ {(12<<2)|2,{74,49,0}}, +/* 51737 */ {(12<<2)|2,{74,49,0}}, +/* 51738 */ {(12<<2)|2,{74,49,0}}, +/* 51739 */ {(12<<2)|2,{74,49,0}}, +/* 51740 */ {(12<<2)|2,{74,49,0}}, +/* 51741 */ {(12<<2)|2,{74,49,0}}, +/* 51742 */ {(12<<2)|2,{74,49,0}}, +/* 51743 */ {(12<<2)|2,{74,49,0}}, +/* 51744 */ {(12<<2)|2,{74,50,0}}, +/* 51745 */ {(12<<2)|2,{74,50,0}}, +/* 51746 */ {(12<<2)|2,{74,50,0}}, +/* 51747 */ {(12<<2)|2,{74,50,0}}, +/* 51748 */ {(12<<2)|2,{74,50,0}}, +/* 51749 */ {(12<<2)|2,{74,50,0}}, +/* 51750 */ {(12<<2)|2,{74,50,0}}, +/* 51751 */ {(12<<2)|2,{74,50,0}}, +/* 51752 */ {(12<<2)|2,{74,50,0}}, +/* 51753 */ {(12<<2)|2,{74,50,0}}, +/* 51754 */ {(12<<2)|2,{74,50,0}}, +/* 51755 */ {(12<<2)|2,{74,50,0}}, +/* 51756 */ {(12<<2)|2,{74,50,0}}, +/* 51757 */ {(12<<2)|2,{74,50,0}}, +/* 51758 */ {(12<<2)|2,{74,50,0}}, +/* 51759 */ {(12<<2)|2,{74,50,0}}, +/* 51760 */ {(12<<2)|2,{74,97,0}}, +/* 51761 */ {(12<<2)|2,{74,97,0}}, +/* 51762 */ {(12<<2)|2,{74,97,0}}, +/* 51763 */ {(12<<2)|2,{74,97,0}}, +/* 51764 */ {(12<<2)|2,{74,97,0}}, +/* 51765 */ {(12<<2)|2,{74,97,0}}, +/* 51766 */ {(12<<2)|2,{74,97,0}}, +/* 51767 */ {(12<<2)|2,{74,97,0}}, +/* 51768 */ {(12<<2)|2,{74,97,0}}, +/* 51769 */ {(12<<2)|2,{74,97,0}}, +/* 51770 */ {(12<<2)|2,{74,97,0}}, +/* 51771 */ {(12<<2)|2,{74,97,0}}, +/* 51772 */ {(12<<2)|2,{74,97,0}}, +/* 51773 */ {(12<<2)|2,{74,97,0}}, +/* 51774 */ {(12<<2)|2,{74,97,0}}, +/* 51775 */ {(12<<2)|2,{74,97,0}}, +/* 51776 */ {(12<<2)|2,{74,99,0}}, +/* 51777 */ {(12<<2)|2,{74,99,0}}, +/* 51778 */ {(12<<2)|2,{74,99,0}}, +/* 51779 */ {(12<<2)|2,{74,99,0}}, +/* 51780 */ {(12<<2)|2,{74,99,0}}, +/* 51781 */ {(12<<2)|2,{74,99,0}}, +/* 51782 */ {(12<<2)|2,{74,99,0}}, +/* 51783 */ {(12<<2)|2,{74,99,0}}, +/* 51784 */ {(12<<2)|2,{74,99,0}}, +/* 51785 */ {(12<<2)|2,{74,99,0}}, +/* 51786 */ {(12<<2)|2,{74,99,0}}, +/* 51787 */ {(12<<2)|2,{74,99,0}}, +/* 51788 */ {(12<<2)|2,{74,99,0}}, +/* 51789 */ {(12<<2)|2,{74,99,0}}, +/* 51790 */ {(12<<2)|2,{74,99,0}}, +/* 51791 */ {(12<<2)|2,{74,99,0}}, +/* 51792 */ {(12<<2)|2,{74,101,0}}, +/* 51793 */ {(12<<2)|2,{74,101,0}}, +/* 51794 */ {(12<<2)|2,{74,101,0}}, +/* 51795 */ {(12<<2)|2,{74,101,0}}, +/* 51796 */ {(12<<2)|2,{74,101,0}}, +/* 51797 */ {(12<<2)|2,{74,101,0}}, +/* 51798 */ {(12<<2)|2,{74,101,0}}, +/* 51799 */ {(12<<2)|2,{74,101,0}}, +/* 51800 */ {(12<<2)|2,{74,101,0}}, +/* 51801 */ {(12<<2)|2,{74,101,0}}, +/* 51802 */ {(12<<2)|2,{74,101,0}}, +/* 51803 */ {(12<<2)|2,{74,101,0}}, +/* 51804 */ {(12<<2)|2,{74,101,0}}, +/* 51805 */ {(12<<2)|2,{74,101,0}}, +/* 51806 */ {(12<<2)|2,{74,101,0}}, +/* 51807 */ {(12<<2)|2,{74,101,0}}, +/* 51808 */ {(12<<2)|2,{74,105,0}}, +/* 51809 */ {(12<<2)|2,{74,105,0}}, +/* 51810 */ {(12<<2)|2,{74,105,0}}, +/* 51811 */ {(12<<2)|2,{74,105,0}}, +/* 51812 */ {(12<<2)|2,{74,105,0}}, +/* 51813 */ {(12<<2)|2,{74,105,0}}, +/* 51814 */ {(12<<2)|2,{74,105,0}}, +/* 51815 */ {(12<<2)|2,{74,105,0}}, +/* 51816 */ {(12<<2)|2,{74,105,0}}, +/* 51817 */ {(12<<2)|2,{74,105,0}}, +/* 51818 */ {(12<<2)|2,{74,105,0}}, +/* 51819 */ {(12<<2)|2,{74,105,0}}, +/* 51820 */ {(12<<2)|2,{74,105,0}}, +/* 51821 */ {(12<<2)|2,{74,105,0}}, +/* 51822 */ {(12<<2)|2,{74,105,0}}, +/* 51823 */ {(12<<2)|2,{74,105,0}}, +/* 51824 */ {(12<<2)|2,{74,111,0}}, +/* 51825 */ {(12<<2)|2,{74,111,0}}, +/* 51826 */ {(12<<2)|2,{74,111,0}}, +/* 51827 */ {(12<<2)|2,{74,111,0}}, +/* 51828 */ {(12<<2)|2,{74,111,0}}, +/* 51829 */ {(12<<2)|2,{74,111,0}}, +/* 51830 */ {(12<<2)|2,{74,111,0}}, +/* 51831 */ {(12<<2)|2,{74,111,0}}, +/* 51832 */ {(12<<2)|2,{74,111,0}}, +/* 51833 */ {(12<<2)|2,{74,111,0}}, +/* 51834 */ {(12<<2)|2,{74,111,0}}, +/* 51835 */ {(12<<2)|2,{74,111,0}}, +/* 51836 */ {(12<<2)|2,{74,111,0}}, +/* 51837 */ {(12<<2)|2,{74,111,0}}, +/* 51838 */ {(12<<2)|2,{74,111,0}}, +/* 51839 */ {(12<<2)|2,{74,111,0}}, +/* 51840 */ {(12<<2)|2,{74,115,0}}, +/* 51841 */ {(12<<2)|2,{74,115,0}}, +/* 51842 */ {(12<<2)|2,{74,115,0}}, +/* 51843 */ {(12<<2)|2,{74,115,0}}, +/* 51844 */ {(12<<2)|2,{74,115,0}}, +/* 51845 */ {(12<<2)|2,{74,115,0}}, +/* 51846 */ {(12<<2)|2,{74,115,0}}, +/* 51847 */ {(12<<2)|2,{74,115,0}}, +/* 51848 */ {(12<<2)|2,{74,115,0}}, +/* 51849 */ {(12<<2)|2,{74,115,0}}, +/* 51850 */ {(12<<2)|2,{74,115,0}}, +/* 51851 */ {(12<<2)|2,{74,115,0}}, +/* 51852 */ {(12<<2)|2,{74,115,0}}, +/* 51853 */ {(12<<2)|2,{74,115,0}}, +/* 51854 */ {(12<<2)|2,{74,115,0}}, +/* 51855 */ {(12<<2)|2,{74,115,0}}, +/* 51856 */ {(12<<2)|2,{74,116,0}}, +/* 51857 */ {(12<<2)|2,{74,116,0}}, +/* 51858 */ {(12<<2)|2,{74,116,0}}, +/* 51859 */ {(12<<2)|2,{74,116,0}}, +/* 51860 */ {(12<<2)|2,{74,116,0}}, +/* 51861 */ {(12<<2)|2,{74,116,0}}, +/* 51862 */ {(12<<2)|2,{74,116,0}}, +/* 51863 */ {(12<<2)|2,{74,116,0}}, +/* 51864 */ {(12<<2)|2,{74,116,0}}, +/* 51865 */ {(12<<2)|2,{74,116,0}}, +/* 51866 */ {(12<<2)|2,{74,116,0}}, +/* 51867 */ {(12<<2)|2,{74,116,0}}, +/* 51868 */ {(12<<2)|2,{74,116,0}}, +/* 51869 */ {(12<<2)|2,{74,116,0}}, +/* 51870 */ {(12<<2)|2,{74,116,0}}, +/* 51871 */ {(12<<2)|2,{74,116,0}}, +/* 51872 */ {(13<<2)|2,{74,32,0}}, +/* 51873 */ {(13<<2)|2,{74,32,0}}, +/* 51874 */ {(13<<2)|2,{74,32,0}}, +/* 51875 */ {(13<<2)|2,{74,32,0}}, +/* 51876 */ {(13<<2)|2,{74,32,0}}, +/* 51877 */ {(13<<2)|2,{74,32,0}}, +/* 51878 */ {(13<<2)|2,{74,32,0}}, +/* 51879 */ {(13<<2)|2,{74,32,0}}, +/* 51880 */ {(13<<2)|2,{74,37,0}}, +/* 51881 */ {(13<<2)|2,{74,37,0}}, +/* 51882 */ {(13<<2)|2,{74,37,0}}, +/* 51883 */ {(13<<2)|2,{74,37,0}}, +/* 51884 */ {(13<<2)|2,{74,37,0}}, +/* 51885 */ {(13<<2)|2,{74,37,0}}, +/* 51886 */ {(13<<2)|2,{74,37,0}}, +/* 51887 */ {(13<<2)|2,{74,37,0}}, +/* 51888 */ {(13<<2)|2,{74,45,0}}, +/* 51889 */ {(13<<2)|2,{74,45,0}}, +/* 51890 */ {(13<<2)|2,{74,45,0}}, +/* 51891 */ {(13<<2)|2,{74,45,0}}, +/* 51892 */ {(13<<2)|2,{74,45,0}}, +/* 51893 */ {(13<<2)|2,{74,45,0}}, +/* 51894 */ {(13<<2)|2,{74,45,0}}, +/* 51895 */ {(13<<2)|2,{74,45,0}}, +/* 51896 */ {(13<<2)|2,{74,46,0}}, +/* 51897 */ {(13<<2)|2,{74,46,0}}, +/* 51898 */ {(13<<2)|2,{74,46,0}}, +/* 51899 */ {(13<<2)|2,{74,46,0}}, +/* 51900 */ {(13<<2)|2,{74,46,0}}, +/* 51901 */ {(13<<2)|2,{74,46,0}}, +/* 51902 */ {(13<<2)|2,{74,46,0}}, +/* 51903 */ {(13<<2)|2,{74,46,0}}, +/* 51904 */ {(13<<2)|2,{74,47,0}}, +/* 51905 */ {(13<<2)|2,{74,47,0}}, +/* 51906 */ {(13<<2)|2,{74,47,0}}, +/* 51907 */ {(13<<2)|2,{74,47,0}}, +/* 51908 */ {(13<<2)|2,{74,47,0}}, +/* 51909 */ {(13<<2)|2,{74,47,0}}, +/* 51910 */ {(13<<2)|2,{74,47,0}}, +/* 51911 */ {(13<<2)|2,{74,47,0}}, +/* 51912 */ {(13<<2)|2,{74,51,0}}, +/* 51913 */ {(13<<2)|2,{74,51,0}}, +/* 51914 */ {(13<<2)|2,{74,51,0}}, +/* 51915 */ {(13<<2)|2,{74,51,0}}, +/* 51916 */ {(13<<2)|2,{74,51,0}}, +/* 51917 */ {(13<<2)|2,{74,51,0}}, +/* 51918 */ {(13<<2)|2,{74,51,0}}, +/* 51919 */ {(13<<2)|2,{74,51,0}}, +/* 51920 */ {(13<<2)|2,{74,52,0}}, +/* 51921 */ {(13<<2)|2,{74,52,0}}, +/* 51922 */ {(13<<2)|2,{74,52,0}}, +/* 51923 */ {(13<<2)|2,{74,52,0}}, +/* 51924 */ {(13<<2)|2,{74,52,0}}, +/* 51925 */ {(13<<2)|2,{74,52,0}}, +/* 51926 */ {(13<<2)|2,{74,52,0}}, +/* 51927 */ {(13<<2)|2,{74,52,0}}, +/* 51928 */ {(13<<2)|2,{74,53,0}}, +/* 51929 */ {(13<<2)|2,{74,53,0}}, +/* 51930 */ {(13<<2)|2,{74,53,0}}, +/* 51931 */ {(13<<2)|2,{74,53,0}}, +/* 51932 */ {(13<<2)|2,{74,53,0}}, +/* 51933 */ {(13<<2)|2,{74,53,0}}, +/* 51934 */ {(13<<2)|2,{74,53,0}}, +/* 51935 */ {(13<<2)|2,{74,53,0}}, +/* 51936 */ {(13<<2)|2,{74,54,0}}, +/* 51937 */ {(13<<2)|2,{74,54,0}}, +/* 51938 */ {(13<<2)|2,{74,54,0}}, +/* 51939 */ {(13<<2)|2,{74,54,0}}, +/* 51940 */ {(13<<2)|2,{74,54,0}}, +/* 51941 */ {(13<<2)|2,{74,54,0}}, +/* 51942 */ {(13<<2)|2,{74,54,0}}, +/* 51943 */ {(13<<2)|2,{74,54,0}}, +/* 51944 */ {(13<<2)|2,{74,55,0}}, +/* 51945 */ {(13<<2)|2,{74,55,0}}, +/* 51946 */ {(13<<2)|2,{74,55,0}}, +/* 51947 */ {(13<<2)|2,{74,55,0}}, +/* 51948 */ {(13<<2)|2,{74,55,0}}, +/* 51949 */ {(13<<2)|2,{74,55,0}}, +/* 51950 */ {(13<<2)|2,{74,55,0}}, +/* 51951 */ {(13<<2)|2,{74,55,0}}, +/* 51952 */ {(13<<2)|2,{74,56,0}}, +/* 51953 */ {(13<<2)|2,{74,56,0}}, +/* 51954 */ {(13<<2)|2,{74,56,0}}, +/* 51955 */ {(13<<2)|2,{74,56,0}}, +/* 51956 */ {(13<<2)|2,{74,56,0}}, +/* 51957 */ {(13<<2)|2,{74,56,0}}, +/* 51958 */ {(13<<2)|2,{74,56,0}}, +/* 51959 */ {(13<<2)|2,{74,56,0}}, +/* 51960 */ {(13<<2)|2,{74,57,0}}, +/* 51961 */ {(13<<2)|2,{74,57,0}}, +/* 51962 */ {(13<<2)|2,{74,57,0}}, +/* 51963 */ {(13<<2)|2,{74,57,0}}, +/* 51964 */ {(13<<2)|2,{74,57,0}}, +/* 51965 */ {(13<<2)|2,{74,57,0}}, +/* 51966 */ {(13<<2)|2,{74,57,0}}, +/* 51967 */ {(13<<2)|2,{74,57,0}}, +/* 51968 */ {(13<<2)|2,{74,61,0}}, +/* 51969 */ {(13<<2)|2,{74,61,0}}, +/* 51970 */ {(13<<2)|2,{74,61,0}}, +/* 51971 */ {(13<<2)|2,{74,61,0}}, +/* 51972 */ {(13<<2)|2,{74,61,0}}, +/* 51973 */ {(13<<2)|2,{74,61,0}}, +/* 51974 */ {(13<<2)|2,{74,61,0}}, +/* 51975 */ {(13<<2)|2,{74,61,0}}, +/* 51976 */ {(13<<2)|2,{74,65,0}}, +/* 51977 */ {(13<<2)|2,{74,65,0}}, +/* 51978 */ {(13<<2)|2,{74,65,0}}, +/* 51979 */ {(13<<2)|2,{74,65,0}}, +/* 51980 */ {(13<<2)|2,{74,65,0}}, +/* 51981 */ {(13<<2)|2,{74,65,0}}, +/* 51982 */ {(13<<2)|2,{74,65,0}}, +/* 51983 */ {(13<<2)|2,{74,65,0}}, +/* 51984 */ {(13<<2)|2,{74,95,0}}, +/* 51985 */ {(13<<2)|2,{74,95,0}}, +/* 51986 */ {(13<<2)|2,{74,95,0}}, +/* 51987 */ {(13<<2)|2,{74,95,0}}, +/* 51988 */ {(13<<2)|2,{74,95,0}}, +/* 51989 */ {(13<<2)|2,{74,95,0}}, +/* 51990 */ {(13<<2)|2,{74,95,0}}, +/* 51991 */ {(13<<2)|2,{74,95,0}}, +/* 51992 */ {(13<<2)|2,{74,98,0}}, +/* 51993 */ {(13<<2)|2,{74,98,0}}, +/* 51994 */ {(13<<2)|2,{74,98,0}}, +/* 51995 */ {(13<<2)|2,{74,98,0}}, +/* 51996 */ {(13<<2)|2,{74,98,0}}, +/* 51997 */ {(13<<2)|2,{74,98,0}}, +/* 51998 */ {(13<<2)|2,{74,98,0}}, +/* 51999 */ {(13<<2)|2,{74,98,0}}, +/* 52000 */ {(13<<2)|2,{74,100,0}}, +/* 52001 */ {(13<<2)|2,{74,100,0}}, +/* 52002 */ {(13<<2)|2,{74,100,0}}, +/* 52003 */ {(13<<2)|2,{74,100,0}}, +/* 52004 */ {(13<<2)|2,{74,100,0}}, +/* 52005 */ {(13<<2)|2,{74,100,0}}, +/* 52006 */ {(13<<2)|2,{74,100,0}}, +/* 52007 */ {(13<<2)|2,{74,100,0}}, +/* 52008 */ {(13<<2)|2,{74,102,0}}, +/* 52009 */ {(13<<2)|2,{74,102,0}}, +/* 52010 */ {(13<<2)|2,{74,102,0}}, +/* 52011 */ {(13<<2)|2,{74,102,0}}, +/* 52012 */ {(13<<2)|2,{74,102,0}}, +/* 52013 */ {(13<<2)|2,{74,102,0}}, +/* 52014 */ {(13<<2)|2,{74,102,0}}, +/* 52015 */ {(13<<2)|2,{74,102,0}}, +/* 52016 */ {(13<<2)|2,{74,103,0}}, +/* 52017 */ {(13<<2)|2,{74,103,0}}, +/* 52018 */ {(13<<2)|2,{74,103,0}}, +/* 52019 */ {(13<<2)|2,{74,103,0}}, +/* 52020 */ {(13<<2)|2,{74,103,0}}, +/* 52021 */ {(13<<2)|2,{74,103,0}}, +/* 52022 */ {(13<<2)|2,{74,103,0}}, +/* 52023 */ {(13<<2)|2,{74,103,0}}, +/* 52024 */ {(13<<2)|2,{74,104,0}}, +/* 52025 */ {(13<<2)|2,{74,104,0}}, +/* 52026 */ {(13<<2)|2,{74,104,0}}, +/* 52027 */ {(13<<2)|2,{74,104,0}}, +/* 52028 */ {(13<<2)|2,{74,104,0}}, +/* 52029 */ {(13<<2)|2,{74,104,0}}, +/* 52030 */ {(13<<2)|2,{74,104,0}}, +/* 52031 */ {(13<<2)|2,{74,104,0}}, +/* 52032 */ {(13<<2)|2,{74,108,0}}, +/* 52033 */ {(13<<2)|2,{74,108,0}}, +/* 52034 */ {(13<<2)|2,{74,108,0}}, +/* 52035 */ {(13<<2)|2,{74,108,0}}, +/* 52036 */ {(13<<2)|2,{74,108,0}}, +/* 52037 */ {(13<<2)|2,{74,108,0}}, +/* 52038 */ {(13<<2)|2,{74,108,0}}, +/* 52039 */ {(13<<2)|2,{74,108,0}}, +/* 52040 */ {(13<<2)|2,{74,109,0}}, +/* 52041 */ {(13<<2)|2,{74,109,0}}, +/* 52042 */ {(13<<2)|2,{74,109,0}}, +/* 52043 */ {(13<<2)|2,{74,109,0}}, +/* 52044 */ {(13<<2)|2,{74,109,0}}, +/* 52045 */ {(13<<2)|2,{74,109,0}}, +/* 52046 */ {(13<<2)|2,{74,109,0}}, +/* 52047 */ {(13<<2)|2,{74,109,0}}, +/* 52048 */ {(13<<2)|2,{74,110,0}}, +/* 52049 */ {(13<<2)|2,{74,110,0}}, +/* 52050 */ {(13<<2)|2,{74,110,0}}, +/* 52051 */ {(13<<2)|2,{74,110,0}}, +/* 52052 */ {(13<<2)|2,{74,110,0}}, +/* 52053 */ {(13<<2)|2,{74,110,0}}, +/* 52054 */ {(13<<2)|2,{74,110,0}}, +/* 52055 */ {(13<<2)|2,{74,110,0}}, +/* 52056 */ {(13<<2)|2,{74,112,0}}, +/* 52057 */ {(13<<2)|2,{74,112,0}}, +/* 52058 */ {(13<<2)|2,{74,112,0}}, +/* 52059 */ {(13<<2)|2,{74,112,0}}, +/* 52060 */ {(13<<2)|2,{74,112,0}}, +/* 52061 */ {(13<<2)|2,{74,112,0}}, +/* 52062 */ {(13<<2)|2,{74,112,0}}, +/* 52063 */ {(13<<2)|2,{74,112,0}}, +/* 52064 */ {(13<<2)|2,{74,114,0}}, +/* 52065 */ {(13<<2)|2,{74,114,0}}, +/* 52066 */ {(13<<2)|2,{74,114,0}}, +/* 52067 */ {(13<<2)|2,{74,114,0}}, +/* 52068 */ {(13<<2)|2,{74,114,0}}, +/* 52069 */ {(13<<2)|2,{74,114,0}}, +/* 52070 */ {(13<<2)|2,{74,114,0}}, +/* 52071 */ {(13<<2)|2,{74,114,0}}, +/* 52072 */ {(13<<2)|2,{74,117,0}}, +/* 52073 */ {(13<<2)|2,{74,117,0}}, +/* 52074 */ {(13<<2)|2,{74,117,0}}, +/* 52075 */ {(13<<2)|2,{74,117,0}}, +/* 52076 */ {(13<<2)|2,{74,117,0}}, +/* 52077 */ {(13<<2)|2,{74,117,0}}, +/* 52078 */ {(13<<2)|2,{74,117,0}}, +/* 52079 */ {(13<<2)|2,{74,117,0}}, +/* 52080 */ {(14<<2)|2,{74,58,0}}, +/* 52081 */ {(14<<2)|2,{74,58,0}}, +/* 52082 */ {(14<<2)|2,{74,58,0}}, +/* 52083 */ {(14<<2)|2,{74,58,0}}, +/* 52084 */ {(14<<2)|2,{74,66,0}}, +/* 52085 */ {(14<<2)|2,{74,66,0}}, +/* 52086 */ {(14<<2)|2,{74,66,0}}, +/* 52087 */ {(14<<2)|2,{74,66,0}}, +/* 52088 */ {(14<<2)|2,{74,67,0}}, +/* 52089 */ {(14<<2)|2,{74,67,0}}, +/* 52090 */ {(14<<2)|2,{74,67,0}}, +/* 52091 */ {(14<<2)|2,{74,67,0}}, +/* 52092 */ {(14<<2)|2,{74,68,0}}, +/* 52093 */ {(14<<2)|2,{74,68,0}}, +/* 52094 */ {(14<<2)|2,{74,68,0}}, +/* 52095 */ {(14<<2)|2,{74,68,0}}, +/* 52096 */ {(14<<2)|2,{74,69,0}}, +/* 52097 */ {(14<<2)|2,{74,69,0}}, +/* 52098 */ {(14<<2)|2,{74,69,0}}, +/* 52099 */ {(14<<2)|2,{74,69,0}}, +/* 52100 */ {(14<<2)|2,{74,70,0}}, +/* 52101 */ {(14<<2)|2,{74,70,0}}, +/* 52102 */ {(14<<2)|2,{74,70,0}}, +/* 52103 */ {(14<<2)|2,{74,70,0}}, +/* 52104 */ {(14<<2)|2,{74,71,0}}, +/* 52105 */ {(14<<2)|2,{74,71,0}}, +/* 52106 */ {(14<<2)|2,{74,71,0}}, +/* 52107 */ {(14<<2)|2,{74,71,0}}, +/* 52108 */ {(14<<2)|2,{74,72,0}}, +/* 52109 */ {(14<<2)|2,{74,72,0}}, +/* 52110 */ {(14<<2)|2,{74,72,0}}, +/* 52111 */ {(14<<2)|2,{74,72,0}}, +/* 52112 */ {(14<<2)|2,{74,73,0}}, +/* 52113 */ {(14<<2)|2,{74,73,0}}, +/* 52114 */ {(14<<2)|2,{74,73,0}}, +/* 52115 */ {(14<<2)|2,{74,73,0}}, +/* 52116 */ {(14<<2)|2,{74,74,0}}, +/* 52117 */ {(14<<2)|2,{74,74,0}}, +/* 52118 */ {(14<<2)|2,{74,74,0}}, +/* 52119 */ {(14<<2)|2,{74,74,0}}, +/* 52120 */ {(14<<2)|2,{74,75,0}}, +/* 52121 */ {(14<<2)|2,{74,75,0}}, +/* 52122 */ {(14<<2)|2,{74,75,0}}, +/* 52123 */ {(14<<2)|2,{74,75,0}}, +/* 52124 */ {(14<<2)|2,{74,76,0}}, +/* 52125 */ {(14<<2)|2,{74,76,0}}, +/* 52126 */ {(14<<2)|2,{74,76,0}}, +/* 52127 */ {(14<<2)|2,{74,76,0}}, +/* 52128 */ {(14<<2)|2,{74,77,0}}, +/* 52129 */ {(14<<2)|2,{74,77,0}}, +/* 52130 */ {(14<<2)|2,{74,77,0}}, +/* 52131 */ {(14<<2)|2,{74,77,0}}, +/* 52132 */ {(14<<2)|2,{74,78,0}}, +/* 52133 */ {(14<<2)|2,{74,78,0}}, +/* 52134 */ {(14<<2)|2,{74,78,0}}, +/* 52135 */ {(14<<2)|2,{74,78,0}}, +/* 52136 */ {(14<<2)|2,{74,79,0}}, +/* 52137 */ {(14<<2)|2,{74,79,0}}, +/* 52138 */ {(14<<2)|2,{74,79,0}}, +/* 52139 */ {(14<<2)|2,{74,79,0}}, +/* 52140 */ {(14<<2)|2,{74,80,0}}, +/* 52141 */ {(14<<2)|2,{74,80,0}}, +/* 52142 */ {(14<<2)|2,{74,80,0}}, +/* 52143 */ {(14<<2)|2,{74,80,0}}, +/* 52144 */ {(14<<2)|2,{74,81,0}}, +/* 52145 */ {(14<<2)|2,{74,81,0}}, +/* 52146 */ {(14<<2)|2,{74,81,0}}, +/* 52147 */ {(14<<2)|2,{74,81,0}}, +/* 52148 */ {(14<<2)|2,{74,82,0}}, +/* 52149 */ {(14<<2)|2,{74,82,0}}, +/* 52150 */ {(14<<2)|2,{74,82,0}}, +/* 52151 */ {(14<<2)|2,{74,82,0}}, +/* 52152 */ {(14<<2)|2,{74,83,0}}, +/* 52153 */ {(14<<2)|2,{74,83,0}}, +/* 52154 */ {(14<<2)|2,{74,83,0}}, +/* 52155 */ {(14<<2)|2,{74,83,0}}, +/* 52156 */ {(14<<2)|2,{74,84,0}}, +/* 52157 */ {(14<<2)|2,{74,84,0}}, +/* 52158 */ {(14<<2)|2,{74,84,0}}, +/* 52159 */ {(14<<2)|2,{74,84,0}}, +/* 52160 */ {(14<<2)|2,{74,85,0}}, +/* 52161 */ {(14<<2)|2,{74,85,0}}, +/* 52162 */ {(14<<2)|2,{74,85,0}}, +/* 52163 */ {(14<<2)|2,{74,85,0}}, +/* 52164 */ {(14<<2)|2,{74,86,0}}, +/* 52165 */ {(14<<2)|2,{74,86,0}}, +/* 52166 */ {(14<<2)|2,{74,86,0}}, +/* 52167 */ {(14<<2)|2,{74,86,0}}, +/* 52168 */ {(14<<2)|2,{74,87,0}}, +/* 52169 */ {(14<<2)|2,{74,87,0}}, +/* 52170 */ {(14<<2)|2,{74,87,0}}, +/* 52171 */ {(14<<2)|2,{74,87,0}}, +/* 52172 */ {(14<<2)|2,{74,89,0}}, +/* 52173 */ {(14<<2)|2,{74,89,0}}, +/* 52174 */ {(14<<2)|2,{74,89,0}}, +/* 52175 */ {(14<<2)|2,{74,89,0}}, +/* 52176 */ {(14<<2)|2,{74,106,0}}, +/* 52177 */ {(14<<2)|2,{74,106,0}}, +/* 52178 */ {(14<<2)|2,{74,106,0}}, +/* 52179 */ {(14<<2)|2,{74,106,0}}, +/* 52180 */ {(14<<2)|2,{74,107,0}}, +/* 52181 */ {(14<<2)|2,{74,107,0}}, +/* 52182 */ {(14<<2)|2,{74,107,0}}, +/* 52183 */ {(14<<2)|2,{74,107,0}}, +/* 52184 */ {(14<<2)|2,{74,113,0}}, +/* 52185 */ {(14<<2)|2,{74,113,0}}, +/* 52186 */ {(14<<2)|2,{74,113,0}}, +/* 52187 */ {(14<<2)|2,{74,113,0}}, +/* 52188 */ {(14<<2)|2,{74,118,0}}, +/* 52189 */ {(14<<2)|2,{74,118,0}}, +/* 52190 */ {(14<<2)|2,{74,118,0}}, +/* 52191 */ {(14<<2)|2,{74,118,0}}, +/* 52192 */ {(14<<2)|2,{74,119,0}}, +/* 52193 */ {(14<<2)|2,{74,119,0}}, +/* 52194 */ {(14<<2)|2,{74,119,0}}, +/* 52195 */ {(14<<2)|2,{74,119,0}}, +/* 52196 */ {(14<<2)|2,{74,120,0}}, +/* 52197 */ {(14<<2)|2,{74,120,0}}, +/* 52198 */ {(14<<2)|2,{74,120,0}}, +/* 52199 */ {(14<<2)|2,{74,120,0}}, +/* 52200 */ {(14<<2)|2,{74,121,0}}, +/* 52201 */ {(14<<2)|2,{74,121,0}}, +/* 52202 */ {(14<<2)|2,{74,121,0}}, +/* 52203 */ {(14<<2)|2,{74,121,0}}, +/* 52204 */ {(14<<2)|2,{74,122,0}}, +/* 52205 */ {(14<<2)|2,{74,122,0}}, +/* 52206 */ {(14<<2)|2,{74,122,0}}, +/* 52207 */ {(14<<2)|2,{74,122,0}}, +/* 52208 */ {(15<<2)|2,{74,38,0}}, +/* 52209 */ {(15<<2)|2,{74,38,0}}, +/* 52210 */ {(15<<2)|2,{74,42,0}}, +/* 52211 */ {(15<<2)|2,{74,42,0}}, +/* 52212 */ {(15<<2)|2,{74,44,0}}, +/* 52213 */ {(15<<2)|2,{74,44,0}}, +/* 52214 */ {(15<<2)|2,{74,59,0}}, +/* 52215 */ {(15<<2)|2,{74,59,0}}, +/* 52216 */ {(15<<2)|2,{74,88,0}}, +/* 52217 */ {(15<<2)|2,{74,88,0}}, +/* 52218 */ {(15<<2)|2,{74,90,0}}, +/* 52219 */ {(15<<2)|2,{74,90,0}}, +/* 52220 */ {(7<<2)|1,{74,0,0}}, +/* 52221 */ {(7<<2)|1,{74,0,0}}, +/* 52222 */ {(7<<2)|1,{74,0,0}}, +/* 52223 */ {(7<<2)|1,{74,0,0}}, +/* 52224 */ {(12<<2)|2,{75,48,0}}, +/* 52225 */ {(12<<2)|2,{75,48,0}}, +/* 52226 */ {(12<<2)|2,{75,48,0}}, +/* 52227 */ {(12<<2)|2,{75,48,0}}, +/* 52228 */ {(12<<2)|2,{75,48,0}}, +/* 52229 */ {(12<<2)|2,{75,48,0}}, +/* 52230 */ {(12<<2)|2,{75,48,0}}, +/* 52231 */ {(12<<2)|2,{75,48,0}}, +/* 52232 */ {(12<<2)|2,{75,48,0}}, +/* 52233 */ {(12<<2)|2,{75,48,0}}, +/* 52234 */ {(12<<2)|2,{75,48,0}}, +/* 52235 */ {(12<<2)|2,{75,48,0}}, +/* 52236 */ {(12<<2)|2,{75,48,0}}, +/* 52237 */ {(12<<2)|2,{75,48,0}}, +/* 52238 */ {(12<<2)|2,{75,48,0}}, +/* 52239 */ {(12<<2)|2,{75,48,0}}, +/* 52240 */ {(12<<2)|2,{75,49,0}}, +/* 52241 */ {(12<<2)|2,{75,49,0}}, +/* 52242 */ {(12<<2)|2,{75,49,0}}, +/* 52243 */ {(12<<2)|2,{75,49,0}}, +/* 52244 */ {(12<<2)|2,{75,49,0}}, +/* 52245 */ {(12<<2)|2,{75,49,0}}, +/* 52246 */ {(12<<2)|2,{75,49,0}}, +/* 52247 */ {(12<<2)|2,{75,49,0}}, +/* 52248 */ {(12<<2)|2,{75,49,0}}, +/* 52249 */ {(12<<2)|2,{75,49,0}}, +/* 52250 */ {(12<<2)|2,{75,49,0}}, +/* 52251 */ {(12<<2)|2,{75,49,0}}, +/* 52252 */ {(12<<2)|2,{75,49,0}}, +/* 52253 */ {(12<<2)|2,{75,49,0}}, +/* 52254 */ {(12<<2)|2,{75,49,0}}, +/* 52255 */ {(12<<2)|2,{75,49,0}}, +/* 52256 */ {(12<<2)|2,{75,50,0}}, +/* 52257 */ {(12<<2)|2,{75,50,0}}, +/* 52258 */ {(12<<2)|2,{75,50,0}}, +/* 52259 */ {(12<<2)|2,{75,50,0}}, +/* 52260 */ {(12<<2)|2,{75,50,0}}, +/* 52261 */ {(12<<2)|2,{75,50,0}}, +/* 52262 */ {(12<<2)|2,{75,50,0}}, +/* 52263 */ {(12<<2)|2,{75,50,0}}, +/* 52264 */ {(12<<2)|2,{75,50,0}}, +/* 52265 */ {(12<<2)|2,{75,50,0}}, +/* 52266 */ {(12<<2)|2,{75,50,0}}, +/* 52267 */ {(12<<2)|2,{75,50,0}}, +/* 52268 */ {(12<<2)|2,{75,50,0}}, +/* 52269 */ {(12<<2)|2,{75,50,0}}, +/* 52270 */ {(12<<2)|2,{75,50,0}}, +/* 52271 */ {(12<<2)|2,{75,50,0}}, +/* 52272 */ {(12<<2)|2,{75,97,0}}, +/* 52273 */ {(12<<2)|2,{75,97,0}}, +/* 52274 */ {(12<<2)|2,{75,97,0}}, +/* 52275 */ {(12<<2)|2,{75,97,0}}, +/* 52276 */ {(12<<2)|2,{75,97,0}}, +/* 52277 */ {(12<<2)|2,{75,97,0}}, +/* 52278 */ {(12<<2)|2,{75,97,0}}, +/* 52279 */ {(12<<2)|2,{75,97,0}}, +/* 52280 */ {(12<<2)|2,{75,97,0}}, +/* 52281 */ {(12<<2)|2,{75,97,0}}, +/* 52282 */ {(12<<2)|2,{75,97,0}}, +/* 52283 */ {(12<<2)|2,{75,97,0}}, +/* 52284 */ {(12<<2)|2,{75,97,0}}, +/* 52285 */ {(12<<2)|2,{75,97,0}}, +/* 52286 */ {(12<<2)|2,{75,97,0}}, +/* 52287 */ {(12<<2)|2,{75,97,0}}, +/* 52288 */ {(12<<2)|2,{75,99,0}}, +/* 52289 */ {(12<<2)|2,{75,99,0}}, +/* 52290 */ {(12<<2)|2,{75,99,0}}, +/* 52291 */ {(12<<2)|2,{75,99,0}}, +/* 52292 */ {(12<<2)|2,{75,99,0}}, +/* 52293 */ {(12<<2)|2,{75,99,0}}, +/* 52294 */ {(12<<2)|2,{75,99,0}}, +/* 52295 */ {(12<<2)|2,{75,99,0}}, +/* 52296 */ {(12<<2)|2,{75,99,0}}, +/* 52297 */ {(12<<2)|2,{75,99,0}}, +/* 52298 */ {(12<<2)|2,{75,99,0}}, +/* 52299 */ {(12<<2)|2,{75,99,0}}, +/* 52300 */ {(12<<2)|2,{75,99,0}}, +/* 52301 */ {(12<<2)|2,{75,99,0}}, +/* 52302 */ {(12<<2)|2,{75,99,0}}, +/* 52303 */ {(12<<2)|2,{75,99,0}}, +/* 52304 */ {(12<<2)|2,{75,101,0}}, +/* 52305 */ {(12<<2)|2,{75,101,0}}, +/* 52306 */ {(12<<2)|2,{75,101,0}}, +/* 52307 */ {(12<<2)|2,{75,101,0}}, +/* 52308 */ {(12<<2)|2,{75,101,0}}, +/* 52309 */ {(12<<2)|2,{75,101,0}}, +/* 52310 */ {(12<<2)|2,{75,101,0}}, +/* 52311 */ {(12<<2)|2,{75,101,0}}, +/* 52312 */ {(12<<2)|2,{75,101,0}}, +/* 52313 */ {(12<<2)|2,{75,101,0}}, +/* 52314 */ {(12<<2)|2,{75,101,0}}, +/* 52315 */ {(12<<2)|2,{75,101,0}}, +/* 52316 */ {(12<<2)|2,{75,101,0}}, +/* 52317 */ {(12<<2)|2,{75,101,0}}, +/* 52318 */ {(12<<2)|2,{75,101,0}}, +/* 52319 */ {(12<<2)|2,{75,101,0}}, +/* 52320 */ {(12<<2)|2,{75,105,0}}, +/* 52321 */ {(12<<2)|2,{75,105,0}}, +/* 52322 */ {(12<<2)|2,{75,105,0}}, +/* 52323 */ {(12<<2)|2,{75,105,0}}, +/* 52324 */ {(12<<2)|2,{75,105,0}}, +/* 52325 */ {(12<<2)|2,{75,105,0}}, +/* 52326 */ {(12<<2)|2,{75,105,0}}, +/* 52327 */ {(12<<2)|2,{75,105,0}}, +/* 52328 */ {(12<<2)|2,{75,105,0}}, +/* 52329 */ {(12<<2)|2,{75,105,0}}, +/* 52330 */ {(12<<2)|2,{75,105,0}}, +/* 52331 */ {(12<<2)|2,{75,105,0}}, +/* 52332 */ {(12<<2)|2,{75,105,0}}, +/* 52333 */ {(12<<2)|2,{75,105,0}}, +/* 52334 */ {(12<<2)|2,{75,105,0}}, +/* 52335 */ {(12<<2)|2,{75,105,0}}, +/* 52336 */ {(12<<2)|2,{75,111,0}}, +/* 52337 */ {(12<<2)|2,{75,111,0}}, +/* 52338 */ {(12<<2)|2,{75,111,0}}, +/* 52339 */ {(12<<2)|2,{75,111,0}}, +/* 52340 */ {(12<<2)|2,{75,111,0}}, +/* 52341 */ {(12<<2)|2,{75,111,0}}, +/* 52342 */ {(12<<2)|2,{75,111,0}}, +/* 52343 */ {(12<<2)|2,{75,111,0}}, +/* 52344 */ {(12<<2)|2,{75,111,0}}, +/* 52345 */ {(12<<2)|2,{75,111,0}}, +/* 52346 */ {(12<<2)|2,{75,111,0}}, +/* 52347 */ {(12<<2)|2,{75,111,0}}, +/* 52348 */ {(12<<2)|2,{75,111,0}}, +/* 52349 */ {(12<<2)|2,{75,111,0}}, +/* 52350 */ {(12<<2)|2,{75,111,0}}, +/* 52351 */ {(12<<2)|2,{75,111,0}}, +/* 52352 */ {(12<<2)|2,{75,115,0}}, +/* 52353 */ {(12<<2)|2,{75,115,0}}, +/* 52354 */ {(12<<2)|2,{75,115,0}}, +/* 52355 */ {(12<<2)|2,{75,115,0}}, +/* 52356 */ {(12<<2)|2,{75,115,0}}, +/* 52357 */ {(12<<2)|2,{75,115,0}}, +/* 52358 */ {(12<<2)|2,{75,115,0}}, +/* 52359 */ {(12<<2)|2,{75,115,0}}, +/* 52360 */ {(12<<2)|2,{75,115,0}}, +/* 52361 */ {(12<<2)|2,{75,115,0}}, +/* 52362 */ {(12<<2)|2,{75,115,0}}, +/* 52363 */ {(12<<2)|2,{75,115,0}}, +/* 52364 */ {(12<<2)|2,{75,115,0}}, +/* 52365 */ {(12<<2)|2,{75,115,0}}, +/* 52366 */ {(12<<2)|2,{75,115,0}}, +/* 52367 */ {(12<<2)|2,{75,115,0}}, +/* 52368 */ {(12<<2)|2,{75,116,0}}, +/* 52369 */ {(12<<2)|2,{75,116,0}}, +/* 52370 */ {(12<<2)|2,{75,116,0}}, +/* 52371 */ {(12<<2)|2,{75,116,0}}, +/* 52372 */ {(12<<2)|2,{75,116,0}}, +/* 52373 */ {(12<<2)|2,{75,116,0}}, +/* 52374 */ {(12<<2)|2,{75,116,0}}, +/* 52375 */ {(12<<2)|2,{75,116,0}}, +/* 52376 */ {(12<<2)|2,{75,116,0}}, +/* 52377 */ {(12<<2)|2,{75,116,0}}, +/* 52378 */ {(12<<2)|2,{75,116,0}}, +/* 52379 */ {(12<<2)|2,{75,116,0}}, +/* 52380 */ {(12<<2)|2,{75,116,0}}, +/* 52381 */ {(12<<2)|2,{75,116,0}}, +/* 52382 */ {(12<<2)|2,{75,116,0}}, +/* 52383 */ {(12<<2)|2,{75,116,0}}, +/* 52384 */ {(13<<2)|2,{75,32,0}}, +/* 52385 */ {(13<<2)|2,{75,32,0}}, +/* 52386 */ {(13<<2)|2,{75,32,0}}, +/* 52387 */ {(13<<2)|2,{75,32,0}}, +/* 52388 */ {(13<<2)|2,{75,32,0}}, +/* 52389 */ {(13<<2)|2,{75,32,0}}, +/* 52390 */ {(13<<2)|2,{75,32,0}}, +/* 52391 */ {(13<<2)|2,{75,32,0}}, +/* 52392 */ {(13<<2)|2,{75,37,0}}, +/* 52393 */ {(13<<2)|2,{75,37,0}}, +/* 52394 */ {(13<<2)|2,{75,37,0}}, +/* 52395 */ {(13<<2)|2,{75,37,0}}, +/* 52396 */ {(13<<2)|2,{75,37,0}}, +/* 52397 */ {(13<<2)|2,{75,37,0}}, +/* 52398 */ {(13<<2)|2,{75,37,0}}, +/* 52399 */ {(13<<2)|2,{75,37,0}}, +/* 52400 */ {(13<<2)|2,{75,45,0}}, +/* 52401 */ {(13<<2)|2,{75,45,0}}, +/* 52402 */ {(13<<2)|2,{75,45,0}}, +/* 52403 */ {(13<<2)|2,{75,45,0}}, +/* 52404 */ {(13<<2)|2,{75,45,0}}, +/* 52405 */ {(13<<2)|2,{75,45,0}}, +/* 52406 */ {(13<<2)|2,{75,45,0}}, +/* 52407 */ {(13<<2)|2,{75,45,0}}, +/* 52408 */ {(13<<2)|2,{75,46,0}}, +/* 52409 */ {(13<<2)|2,{75,46,0}}, +/* 52410 */ {(13<<2)|2,{75,46,0}}, +/* 52411 */ {(13<<2)|2,{75,46,0}}, +/* 52412 */ {(13<<2)|2,{75,46,0}}, +/* 52413 */ {(13<<2)|2,{75,46,0}}, +/* 52414 */ {(13<<2)|2,{75,46,0}}, +/* 52415 */ {(13<<2)|2,{75,46,0}}, +/* 52416 */ {(13<<2)|2,{75,47,0}}, +/* 52417 */ {(13<<2)|2,{75,47,0}}, +/* 52418 */ {(13<<2)|2,{75,47,0}}, +/* 52419 */ {(13<<2)|2,{75,47,0}}, +/* 52420 */ {(13<<2)|2,{75,47,0}}, +/* 52421 */ {(13<<2)|2,{75,47,0}}, +/* 52422 */ {(13<<2)|2,{75,47,0}}, +/* 52423 */ {(13<<2)|2,{75,47,0}}, +/* 52424 */ {(13<<2)|2,{75,51,0}}, +/* 52425 */ {(13<<2)|2,{75,51,0}}, +/* 52426 */ {(13<<2)|2,{75,51,0}}, +/* 52427 */ {(13<<2)|2,{75,51,0}}, +/* 52428 */ {(13<<2)|2,{75,51,0}}, +/* 52429 */ {(13<<2)|2,{75,51,0}}, +/* 52430 */ {(13<<2)|2,{75,51,0}}, +/* 52431 */ {(13<<2)|2,{75,51,0}}, +/* 52432 */ {(13<<2)|2,{75,52,0}}, +/* 52433 */ {(13<<2)|2,{75,52,0}}, +/* 52434 */ {(13<<2)|2,{75,52,0}}, +/* 52435 */ {(13<<2)|2,{75,52,0}}, +/* 52436 */ {(13<<2)|2,{75,52,0}}, +/* 52437 */ {(13<<2)|2,{75,52,0}}, +/* 52438 */ {(13<<2)|2,{75,52,0}}, +/* 52439 */ {(13<<2)|2,{75,52,0}}, +/* 52440 */ {(13<<2)|2,{75,53,0}}, +/* 52441 */ {(13<<2)|2,{75,53,0}}, +/* 52442 */ {(13<<2)|2,{75,53,0}}, +/* 52443 */ {(13<<2)|2,{75,53,0}}, +/* 52444 */ {(13<<2)|2,{75,53,0}}, +/* 52445 */ {(13<<2)|2,{75,53,0}}, +/* 52446 */ {(13<<2)|2,{75,53,0}}, +/* 52447 */ {(13<<2)|2,{75,53,0}}, +/* 52448 */ {(13<<2)|2,{75,54,0}}, +/* 52449 */ {(13<<2)|2,{75,54,0}}, +/* 52450 */ {(13<<2)|2,{75,54,0}}, +/* 52451 */ {(13<<2)|2,{75,54,0}}, +/* 52452 */ {(13<<2)|2,{75,54,0}}, +/* 52453 */ {(13<<2)|2,{75,54,0}}, +/* 52454 */ {(13<<2)|2,{75,54,0}}, +/* 52455 */ {(13<<2)|2,{75,54,0}}, +/* 52456 */ {(13<<2)|2,{75,55,0}}, +/* 52457 */ {(13<<2)|2,{75,55,0}}, +/* 52458 */ {(13<<2)|2,{75,55,0}}, +/* 52459 */ {(13<<2)|2,{75,55,0}}, +/* 52460 */ {(13<<2)|2,{75,55,0}}, +/* 52461 */ {(13<<2)|2,{75,55,0}}, +/* 52462 */ {(13<<2)|2,{75,55,0}}, +/* 52463 */ {(13<<2)|2,{75,55,0}}, +/* 52464 */ {(13<<2)|2,{75,56,0}}, +/* 52465 */ {(13<<2)|2,{75,56,0}}, +/* 52466 */ {(13<<2)|2,{75,56,0}}, +/* 52467 */ {(13<<2)|2,{75,56,0}}, +/* 52468 */ {(13<<2)|2,{75,56,0}}, +/* 52469 */ {(13<<2)|2,{75,56,0}}, +/* 52470 */ {(13<<2)|2,{75,56,0}}, +/* 52471 */ {(13<<2)|2,{75,56,0}}, +/* 52472 */ {(13<<2)|2,{75,57,0}}, +/* 52473 */ {(13<<2)|2,{75,57,0}}, +/* 52474 */ {(13<<2)|2,{75,57,0}}, +/* 52475 */ {(13<<2)|2,{75,57,0}}, +/* 52476 */ {(13<<2)|2,{75,57,0}}, +/* 52477 */ {(13<<2)|2,{75,57,0}}, +/* 52478 */ {(13<<2)|2,{75,57,0}}, +/* 52479 */ {(13<<2)|2,{75,57,0}}, +/* 52480 */ {(13<<2)|2,{75,61,0}}, +/* 52481 */ {(13<<2)|2,{75,61,0}}, +/* 52482 */ {(13<<2)|2,{75,61,0}}, +/* 52483 */ {(13<<2)|2,{75,61,0}}, +/* 52484 */ {(13<<2)|2,{75,61,0}}, +/* 52485 */ {(13<<2)|2,{75,61,0}}, +/* 52486 */ {(13<<2)|2,{75,61,0}}, +/* 52487 */ {(13<<2)|2,{75,61,0}}, +/* 52488 */ {(13<<2)|2,{75,65,0}}, +/* 52489 */ {(13<<2)|2,{75,65,0}}, +/* 52490 */ {(13<<2)|2,{75,65,0}}, +/* 52491 */ {(13<<2)|2,{75,65,0}}, +/* 52492 */ {(13<<2)|2,{75,65,0}}, +/* 52493 */ {(13<<2)|2,{75,65,0}}, +/* 52494 */ {(13<<2)|2,{75,65,0}}, +/* 52495 */ {(13<<2)|2,{75,65,0}}, +/* 52496 */ {(13<<2)|2,{75,95,0}}, +/* 52497 */ {(13<<2)|2,{75,95,0}}, +/* 52498 */ {(13<<2)|2,{75,95,0}}, +/* 52499 */ {(13<<2)|2,{75,95,0}}, +/* 52500 */ {(13<<2)|2,{75,95,0}}, +/* 52501 */ {(13<<2)|2,{75,95,0}}, +/* 52502 */ {(13<<2)|2,{75,95,0}}, +/* 52503 */ {(13<<2)|2,{75,95,0}}, +/* 52504 */ {(13<<2)|2,{75,98,0}}, +/* 52505 */ {(13<<2)|2,{75,98,0}}, +/* 52506 */ {(13<<2)|2,{75,98,0}}, +/* 52507 */ {(13<<2)|2,{75,98,0}}, +/* 52508 */ {(13<<2)|2,{75,98,0}}, +/* 52509 */ {(13<<2)|2,{75,98,0}}, +/* 52510 */ {(13<<2)|2,{75,98,0}}, +/* 52511 */ {(13<<2)|2,{75,98,0}}, +/* 52512 */ {(13<<2)|2,{75,100,0}}, +/* 52513 */ {(13<<2)|2,{75,100,0}}, +/* 52514 */ {(13<<2)|2,{75,100,0}}, +/* 52515 */ {(13<<2)|2,{75,100,0}}, +/* 52516 */ {(13<<2)|2,{75,100,0}}, +/* 52517 */ {(13<<2)|2,{75,100,0}}, +/* 52518 */ {(13<<2)|2,{75,100,0}}, +/* 52519 */ {(13<<2)|2,{75,100,0}}, +/* 52520 */ {(13<<2)|2,{75,102,0}}, +/* 52521 */ {(13<<2)|2,{75,102,0}}, +/* 52522 */ {(13<<2)|2,{75,102,0}}, +/* 52523 */ {(13<<2)|2,{75,102,0}}, +/* 52524 */ {(13<<2)|2,{75,102,0}}, +/* 52525 */ {(13<<2)|2,{75,102,0}}, +/* 52526 */ {(13<<2)|2,{75,102,0}}, +/* 52527 */ {(13<<2)|2,{75,102,0}}, +/* 52528 */ {(13<<2)|2,{75,103,0}}, +/* 52529 */ {(13<<2)|2,{75,103,0}}, +/* 52530 */ {(13<<2)|2,{75,103,0}}, +/* 52531 */ {(13<<2)|2,{75,103,0}}, +/* 52532 */ {(13<<2)|2,{75,103,0}}, +/* 52533 */ {(13<<2)|2,{75,103,0}}, +/* 52534 */ {(13<<2)|2,{75,103,0}}, +/* 52535 */ {(13<<2)|2,{75,103,0}}, +/* 52536 */ {(13<<2)|2,{75,104,0}}, +/* 52537 */ {(13<<2)|2,{75,104,0}}, +/* 52538 */ {(13<<2)|2,{75,104,0}}, +/* 52539 */ {(13<<2)|2,{75,104,0}}, +/* 52540 */ {(13<<2)|2,{75,104,0}}, +/* 52541 */ {(13<<2)|2,{75,104,0}}, +/* 52542 */ {(13<<2)|2,{75,104,0}}, +/* 52543 */ {(13<<2)|2,{75,104,0}}, +/* 52544 */ {(13<<2)|2,{75,108,0}}, +/* 52545 */ {(13<<2)|2,{75,108,0}}, +/* 52546 */ {(13<<2)|2,{75,108,0}}, +/* 52547 */ {(13<<2)|2,{75,108,0}}, +/* 52548 */ {(13<<2)|2,{75,108,0}}, +/* 52549 */ {(13<<2)|2,{75,108,0}}, +/* 52550 */ {(13<<2)|2,{75,108,0}}, +/* 52551 */ {(13<<2)|2,{75,108,0}}, +/* 52552 */ {(13<<2)|2,{75,109,0}}, +/* 52553 */ {(13<<2)|2,{75,109,0}}, +/* 52554 */ {(13<<2)|2,{75,109,0}}, +/* 52555 */ {(13<<2)|2,{75,109,0}}, +/* 52556 */ {(13<<2)|2,{75,109,0}}, +/* 52557 */ {(13<<2)|2,{75,109,0}}, +/* 52558 */ {(13<<2)|2,{75,109,0}}, +/* 52559 */ {(13<<2)|2,{75,109,0}}, +/* 52560 */ {(13<<2)|2,{75,110,0}}, +/* 52561 */ {(13<<2)|2,{75,110,0}}, +/* 52562 */ {(13<<2)|2,{75,110,0}}, +/* 52563 */ {(13<<2)|2,{75,110,0}}, +/* 52564 */ {(13<<2)|2,{75,110,0}}, +/* 52565 */ {(13<<2)|2,{75,110,0}}, +/* 52566 */ {(13<<2)|2,{75,110,0}}, +/* 52567 */ {(13<<2)|2,{75,110,0}}, +/* 52568 */ {(13<<2)|2,{75,112,0}}, +/* 52569 */ {(13<<2)|2,{75,112,0}}, +/* 52570 */ {(13<<2)|2,{75,112,0}}, +/* 52571 */ {(13<<2)|2,{75,112,0}}, +/* 52572 */ {(13<<2)|2,{75,112,0}}, +/* 52573 */ {(13<<2)|2,{75,112,0}}, +/* 52574 */ {(13<<2)|2,{75,112,0}}, +/* 52575 */ {(13<<2)|2,{75,112,0}}, +/* 52576 */ {(13<<2)|2,{75,114,0}}, +/* 52577 */ {(13<<2)|2,{75,114,0}}, +/* 52578 */ {(13<<2)|2,{75,114,0}}, +/* 52579 */ {(13<<2)|2,{75,114,0}}, +/* 52580 */ {(13<<2)|2,{75,114,0}}, +/* 52581 */ {(13<<2)|2,{75,114,0}}, +/* 52582 */ {(13<<2)|2,{75,114,0}}, +/* 52583 */ {(13<<2)|2,{75,114,0}}, +/* 52584 */ {(13<<2)|2,{75,117,0}}, +/* 52585 */ {(13<<2)|2,{75,117,0}}, +/* 52586 */ {(13<<2)|2,{75,117,0}}, +/* 52587 */ {(13<<2)|2,{75,117,0}}, +/* 52588 */ {(13<<2)|2,{75,117,0}}, +/* 52589 */ {(13<<2)|2,{75,117,0}}, +/* 52590 */ {(13<<2)|2,{75,117,0}}, +/* 52591 */ {(13<<2)|2,{75,117,0}}, +/* 52592 */ {(14<<2)|2,{75,58,0}}, +/* 52593 */ {(14<<2)|2,{75,58,0}}, +/* 52594 */ {(14<<2)|2,{75,58,0}}, +/* 52595 */ {(14<<2)|2,{75,58,0}}, +/* 52596 */ {(14<<2)|2,{75,66,0}}, +/* 52597 */ {(14<<2)|2,{75,66,0}}, +/* 52598 */ {(14<<2)|2,{75,66,0}}, +/* 52599 */ {(14<<2)|2,{75,66,0}}, +/* 52600 */ {(14<<2)|2,{75,67,0}}, +/* 52601 */ {(14<<2)|2,{75,67,0}}, +/* 52602 */ {(14<<2)|2,{75,67,0}}, +/* 52603 */ {(14<<2)|2,{75,67,0}}, +/* 52604 */ {(14<<2)|2,{75,68,0}}, +/* 52605 */ {(14<<2)|2,{75,68,0}}, +/* 52606 */ {(14<<2)|2,{75,68,0}}, +/* 52607 */ {(14<<2)|2,{75,68,0}}, +/* 52608 */ {(14<<2)|2,{75,69,0}}, +/* 52609 */ {(14<<2)|2,{75,69,0}}, +/* 52610 */ {(14<<2)|2,{75,69,0}}, +/* 52611 */ {(14<<2)|2,{75,69,0}}, +/* 52612 */ {(14<<2)|2,{75,70,0}}, +/* 52613 */ {(14<<2)|2,{75,70,0}}, +/* 52614 */ {(14<<2)|2,{75,70,0}}, +/* 52615 */ {(14<<2)|2,{75,70,0}}, +/* 52616 */ {(14<<2)|2,{75,71,0}}, +/* 52617 */ {(14<<2)|2,{75,71,0}}, +/* 52618 */ {(14<<2)|2,{75,71,0}}, +/* 52619 */ {(14<<2)|2,{75,71,0}}, +/* 52620 */ {(14<<2)|2,{75,72,0}}, +/* 52621 */ {(14<<2)|2,{75,72,0}}, +/* 52622 */ {(14<<2)|2,{75,72,0}}, +/* 52623 */ {(14<<2)|2,{75,72,0}}, +/* 52624 */ {(14<<2)|2,{75,73,0}}, +/* 52625 */ {(14<<2)|2,{75,73,0}}, +/* 52626 */ {(14<<2)|2,{75,73,0}}, +/* 52627 */ {(14<<2)|2,{75,73,0}}, +/* 52628 */ {(14<<2)|2,{75,74,0}}, +/* 52629 */ {(14<<2)|2,{75,74,0}}, +/* 52630 */ {(14<<2)|2,{75,74,0}}, +/* 52631 */ {(14<<2)|2,{75,74,0}}, +/* 52632 */ {(14<<2)|2,{75,75,0}}, +/* 52633 */ {(14<<2)|2,{75,75,0}}, +/* 52634 */ {(14<<2)|2,{75,75,0}}, +/* 52635 */ {(14<<2)|2,{75,75,0}}, +/* 52636 */ {(14<<2)|2,{75,76,0}}, +/* 52637 */ {(14<<2)|2,{75,76,0}}, +/* 52638 */ {(14<<2)|2,{75,76,0}}, +/* 52639 */ {(14<<2)|2,{75,76,0}}, +/* 52640 */ {(14<<2)|2,{75,77,0}}, +/* 52641 */ {(14<<2)|2,{75,77,0}}, +/* 52642 */ {(14<<2)|2,{75,77,0}}, +/* 52643 */ {(14<<2)|2,{75,77,0}}, +/* 52644 */ {(14<<2)|2,{75,78,0}}, +/* 52645 */ {(14<<2)|2,{75,78,0}}, +/* 52646 */ {(14<<2)|2,{75,78,0}}, +/* 52647 */ {(14<<2)|2,{75,78,0}}, +/* 52648 */ {(14<<2)|2,{75,79,0}}, +/* 52649 */ {(14<<2)|2,{75,79,0}}, +/* 52650 */ {(14<<2)|2,{75,79,0}}, +/* 52651 */ {(14<<2)|2,{75,79,0}}, +/* 52652 */ {(14<<2)|2,{75,80,0}}, +/* 52653 */ {(14<<2)|2,{75,80,0}}, +/* 52654 */ {(14<<2)|2,{75,80,0}}, +/* 52655 */ {(14<<2)|2,{75,80,0}}, +/* 52656 */ {(14<<2)|2,{75,81,0}}, +/* 52657 */ {(14<<2)|2,{75,81,0}}, +/* 52658 */ {(14<<2)|2,{75,81,0}}, +/* 52659 */ {(14<<2)|2,{75,81,0}}, +/* 52660 */ {(14<<2)|2,{75,82,0}}, +/* 52661 */ {(14<<2)|2,{75,82,0}}, +/* 52662 */ {(14<<2)|2,{75,82,0}}, +/* 52663 */ {(14<<2)|2,{75,82,0}}, +/* 52664 */ {(14<<2)|2,{75,83,0}}, +/* 52665 */ {(14<<2)|2,{75,83,0}}, +/* 52666 */ {(14<<2)|2,{75,83,0}}, +/* 52667 */ {(14<<2)|2,{75,83,0}}, +/* 52668 */ {(14<<2)|2,{75,84,0}}, +/* 52669 */ {(14<<2)|2,{75,84,0}}, +/* 52670 */ {(14<<2)|2,{75,84,0}}, +/* 52671 */ {(14<<2)|2,{75,84,0}}, +/* 52672 */ {(14<<2)|2,{75,85,0}}, +/* 52673 */ {(14<<2)|2,{75,85,0}}, +/* 52674 */ {(14<<2)|2,{75,85,0}}, +/* 52675 */ {(14<<2)|2,{75,85,0}}, +/* 52676 */ {(14<<2)|2,{75,86,0}}, +/* 52677 */ {(14<<2)|2,{75,86,0}}, +/* 52678 */ {(14<<2)|2,{75,86,0}}, +/* 52679 */ {(14<<2)|2,{75,86,0}}, +/* 52680 */ {(14<<2)|2,{75,87,0}}, +/* 52681 */ {(14<<2)|2,{75,87,0}}, +/* 52682 */ {(14<<2)|2,{75,87,0}}, +/* 52683 */ {(14<<2)|2,{75,87,0}}, +/* 52684 */ {(14<<2)|2,{75,89,0}}, +/* 52685 */ {(14<<2)|2,{75,89,0}}, +/* 52686 */ {(14<<2)|2,{75,89,0}}, +/* 52687 */ {(14<<2)|2,{75,89,0}}, +/* 52688 */ {(14<<2)|2,{75,106,0}}, +/* 52689 */ {(14<<2)|2,{75,106,0}}, +/* 52690 */ {(14<<2)|2,{75,106,0}}, +/* 52691 */ {(14<<2)|2,{75,106,0}}, +/* 52692 */ {(14<<2)|2,{75,107,0}}, +/* 52693 */ {(14<<2)|2,{75,107,0}}, +/* 52694 */ {(14<<2)|2,{75,107,0}}, +/* 52695 */ {(14<<2)|2,{75,107,0}}, +/* 52696 */ {(14<<2)|2,{75,113,0}}, +/* 52697 */ {(14<<2)|2,{75,113,0}}, +/* 52698 */ {(14<<2)|2,{75,113,0}}, +/* 52699 */ {(14<<2)|2,{75,113,0}}, +/* 52700 */ {(14<<2)|2,{75,118,0}}, +/* 52701 */ {(14<<2)|2,{75,118,0}}, +/* 52702 */ {(14<<2)|2,{75,118,0}}, +/* 52703 */ {(14<<2)|2,{75,118,0}}, +/* 52704 */ {(14<<2)|2,{75,119,0}}, +/* 52705 */ {(14<<2)|2,{75,119,0}}, +/* 52706 */ {(14<<2)|2,{75,119,0}}, +/* 52707 */ {(14<<2)|2,{75,119,0}}, +/* 52708 */ {(14<<2)|2,{75,120,0}}, +/* 52709 */ {(14<<2)|2,{75,120,0}}, +/* 52710 */ {(14<<2)|2,{75,120,0}}, +/* 52711 */ {(14<<2)|2,{75,120,0}}, +/* 52712 */ {(14<<2)|2,{75,121,0}}, +/* 52713 */ {(14<<2)|2,{75,121,0}}, +/* 52714 */ {(14<<2)|2,{75,121,0}}, +/* 52715 */ {(14<<2)|2,{75,121,0}}, +/* 52716 */ {(14<<2)|2,{75,122,0}}, +/* 52717 */ {(14<<2)|2,{75,122,0}}, +/* 52718 */ {(14<<2)|2,{75,122,0}}, +/* 52719 */ {(14<<2)|2,{75,122,0}}, +/* 52720 */ {(15<<2)|2,{75,38,0}}, +/* 52721 */ {(15<<2)|2,{75,38,0}}, +/* 52722 */ {(15<<2)|2,{75,42,0}}, +/* 52723 */ {(15<<2)|2,{75,42,0}}, +/* 52724 */ {(15<<2)|2,{75,44,0}}, +/* 52725 */ {(15<<2)|2,{75,44,0}}, +/* 52726 */ {(15<<2)|2,{75,59,0}}, +/* 52727 */ {(15<<2)|2,{75,59,0}}, +/* 52728 */ {(15<<2)|2,{75,88,0}}, +/* 52729 */ {(15<<2)|2,{75,88,0}}, +/* 52730 */ {(15<<2)|2,{75,90,0}}, +/* 52731 */ {(15<<2)|2,{75,90,0}}, +/* 52732 */ {(7<<2)|1,{75,0,0}}, +/* 52733 */ {(7<<2)|1,{75,0,0}}, +/* 52734 */ {(7<<2)|1,{75,0,0}}, +/* 52735 */ {(7<<2)|1,{75,0,0}}, +/* 52736 */ {(12<<2)|2,{76,48,0}}, +/* 52737 */ {(12<<2)|2,{76,48,0}}, +/* 52738 */ {(12<<2)|2,{76,48,0}}, +/* 52739 */ {(12<<2)|2,{76,48,0}}, +/* 52740 */ {(12<<2)|2,{76,48,0}}, +/* 52741 */ {(12<<2)|2,{76,48,0}}, +/* 52742 */ {(12<<2)|2,{76,48,0}}, +/* 52743 */ {(12<<2)|2,{76,48,0}}, +/* 52744 */ {(12<<2)|2,{76,48,0}}, +/* 52745 */ {(12<<2)|2,{76,48,0}}, +/* 52746 */ {(12<<2)|2,{76,48,0}}, +/* 52747 */ {(12<<2)|2,{76,48,0}}, +/* 52748 */ {(12<<2)|2,{76,48,0}}, +/* 52749 */ {(12<<2)|2,{76,48,0}}, +/* 52750 */ {(12<<2)|2,{76,48,0}}, +/* 52751 */ {(12<<2)|2,{76,48,0}}, +/* 52752 */ {(12<<2)|2,{76,49,0}}, +/* 52753 */ {(12<<2)|2,{76,49,0}}, +/* 52754 */ {(12<<2)|2,{76,49,0}}, +/* 52755 */ {(12<<2)|2,{76,49,0}}, +/* 52756 */ {(12<<2)|2,{76,49,0}}, +/* 52757 */ {(12<<2)|2,{76,49,0}}, +/* 52758 */ {(12<<2)|2,{76,49,0}}, +/* 52759 */ {(12<<2)|2,{76,49,0}}, +/* 52760 */ {(12<<2)|2,{76,49,0}}, +/* 52761 */ {(12<<2)|2,{76,49,0}}, +/* 52762 */ {(12<<2)|2,{76,49,0}}, +/* 52763 */ {(12<<2)|2,{76,49,0}}, +/* 52764 */ {(12<<2)|2,{76,49,0}}, +/* 52765 */ {(12<<2)|2,{76,49,0}}, +/* 52766 */ {(12<<2)|2,{76,49,0}}, +/* 52767 */ {(12<<2)|2,{76,49,0}}, +/* 52768 */ {(12<<2)|2,{76,50,0}}, +/* 52769 */ {(12<<2)|2,{76,50,0}}, +/* 52770 */ {(12<<2)|2,{76,50,0}}, +/* 52771 */ {(12<<2)|2,{76,50,0}}, +/* 52772 */ {(12<<2)|2,{76,50,0}}, +/* 52773 */ {(12<<2)|2,{76,50,0}}, +/* 52774 */ {(12<<2)|2,{76,50,0}}, +/* 52775 */ {(12<<2)|2,{76,50,0}}, +/* 52776 */ {(12<<2)|2,{76,50,0}}, +/* 52777 */ {(12<<2)|2,{76,50,0}}, +/* 52778 */ {(12<<2)|2,{76,50,0}}, +/* 52779 */ {(12<<2)|2,{76,50,0}}, +/* 52780 */ {(12<<2)|2,{76,50,0}}, +/* 52781 */ {(12<<2)|2,{76,50,0}}, +/* 52782 */ {(12<<2)|2,{76,50,0}}, +/* 52783 */ {(12<<2)|2,{76,50,0}}, +/* 52784 */ {(12<<2)|2,{76,97,0}}, +/* 52785 */ {(12<<2)|2,{76,97,0}}, +/* 52786 */ {(12<<2)|2,{76,97,0}}, +/* 52787 */ {(12<<2)|2,{76,97,0}}, +/* 52788 */ {(12<<2)|2,{76,97,0}}, +/* 52789 */ {(12<<2)|2,{76,97,0}}, +/* 52790 */ {(12<<2)|2,{76,97,0}}, +/* 52791 */ {(12<<2)|2,{76,97,0}}, +/* 52792 */ {(12<<2)|2,{76,97,0}}, +/* 52793 */ {(12<<2)|2,{76,97,0}}, +/* 52794 */ {(12<<2)|2,{76,97,0}}, +/* 52795 */ {(12<<2)|2,{76,97,0}}, +/* 52796 */ {(12<<2)|2,{76,97,0}}, +/* 52797 */ {(12<<2)|2,{76,97,0}}, +/* 52798 */ {(12<<2)|2,{76,97,0}}, +/* 52799 */ {(12<<2)|2,{76,97,0}}, +/* 52800 */ {(12<<2)|2,{76,99,0}}, +/* 52801 */ {(12<<2)|2,{76,99,0}}, +/* 52802 */ {(12<<2)|2,{76,99,0}}, +/* 52803 */ {(12<<2)|2,{76,99,0}}, +/* 52804 */ {(12<<2)|2,{76,99,0}}, +/* 52805 */ {(12<<2)|2,{76,99,0}}, +/* 52806 */ {(12<<2)|2,{76,99,0}}, +/* 52807 */ {(12<<2)|2,{76,99,0}}, +/* 52808 */ {(12<<2)|2,{76,99,0}}, +/* 52809 */ {(12<<2)|2,{76,99,0}}, +/* 52810 */ {(12<<2)|2,{76,99,0}}, +/* 52811 */ {(12<<2)|2,{76,99,0}}, +/* 52812 */ {(12<<2)|2,{76,99,0}}, +/* 52813 */ {(12<<2)|2,{76,99,0}}, +/* 52814 */ {(12<<2)|2,{76,99,0}}, +/* 52815 */ {(12<<2)|2,{76,99,0}}, +/* 52816 */ {(12<<2)|2,{76,101,0}}, +/* 52817 */ {(12<<2)|2,{76,101,0}}, +/* 52818 */ {(12<<2)|2,{76,101,0}}, +/* 52819 */ {(12<<2)|2,{76,101,0}}, +/* 52820 */ {(12<<2)|2,{76,101,0}}, +/* 52821 */ {(12<<2)|2,{76,101,0}}, +/* 52822 */ {(12<<2)|2,{76,101,0}}, +/* 52823 */ {(12<<2)|2,{76,101,0}}, +/* 52824 */ {(12<<2)|2,{76,101,0}}, +/* 52825 */ {(12<<2)|2,{76,101,0}}, +/* 52826 */ {(12<<2)|2,{76,101,0}}, +/* 52827 */ {(12<<2)|2,{76,101,0}}, +/* 52828 */ {(12<<2)|2,{76,101,0}}, +/* 52829 */ {(12<<2)|2,{76,101,0}}, +/* 52830 */ {(12<<2)|2,{76,101,0}}, +/* 52831 */ {(12<<2)|2,{76,101,0}}, +/* 52832 */ {(12<<2)|2,{76,105,0}}, +/* 52833 */ {(12<<2)|2,{76,105,0}}, +/* 52834 */ {(12<<2)|2,{76,105,0}}, +/* 52835 */ {(12<<2)|2,{76,105,0}}, +/* 52836 */ {(12<<2)|2,{76,105,0}}, +/* 52837 */ {(12<<2)|2,{76,105,0}}, +/* 52838 */ {(12<<2)|2,{76,105,0}}, +/* 52839 */ {(12<<2)|2,{76,105,0}}, +/* 52840 */ {(12<<2)|2,{76,105,0}}, +/* 52841 */ {(12<<2)|2,{76,105,0}}, +/* 52842 */ {(12<<2)|2,{76,105,0}}, +/* 52843 */ {(12<<2)|2,{76,105,0}}, +/* 52844 */ {(12<<2)|2,{76,105,0}}, +/* 52845 */ {(12<<2)|2,{76,105,0}}, +/* 52846 */ {(12<<2)|2,{76,105,0}}, +/* 52847 */ {(12<<2)|2,{76,105,0}}, +/* 52848 */ {(12<<2)|2,{76,111,0}}, +/* 52849 */ {(12<<2)|2,{76,111,0}}, +/* 52850 */ {(12<<2)|2,{76,111,0}}, +/* 52851 */ {(12<<2)|2,{76,111,0}}, +/* 52852 */ {(12<<2)|2,{76,111,0}}, +/* 52853 */ {(12<<2)|2,{76,111,0}}, +/* 52854 */ {(12<<2)|2,{76,111,0}}, +/* 52855 */ {(12<<2)|2,{76,111,0}}, +/* 52856 */ {(12<<2)|2,{76,111,0}}, +/* 52857 */ {(12<<2)|2,{76,111,0}}, +/* 52858 */ {(12<<2)|2,{76,111,0}}, +/* 52859 */ {(12<<2)|2,{76,111,0}}, +/* 52860 */ {(12<<2)|2,{76,111,0}}, +/* 52861 */ {(12<<2)|2,{76,111,0}}, +/* 52862 */ {(12<<2)|2,{76,111,0}}, +/* 52863 */ {(12<<2)|2,{76,111,0}}, +/* 52864 */ {(12<<2)|2,{76,115,0}}, +/* 52865 */ {(12<<2)|2,{76,115,0}}, +/* 52866 */ {(12<<2)|2,{76,115,0}}, +/* 52867 */ {(12<<2)|2,{76,115,0}}, +/* 52868 */ {(12<<2)|2,{76,115,0}}, +/* 52869 */ {(12<<2)|2,{76,115,0}}, +/* 52870 */ {(12<<2)|2,{76,115,0}}, +/* 52871 */ {(12<<2)|2,{76,115,0}}, +/* 52872 */ {(12<<2)|2,{76,115,0}}, +/* 52873 */ {(12<<2)|2,{76,115,0}}, +/* 52874 */ {(12<<2)|2,{76,115,0}}, +/* 52875 */ {(12<<2)|2,{76,115,0}}, +/* 52876 */ {(12<<2)|2,{76,115,0}}, +/* 52877 */ {(12<<2)|2,{76,115,0}}, +/* 52878 */ {(12<<2)|2,{76,115,0}}, +/* 52879 */ {(12<<2)|2,{76,115,0}}, +/* 52880 */ {(12<<2)|2,{76,116,0}}, +/* 52881 */ {(12<<2)|2,{76,116,0}}, +/* 52882 */ {(12<<2)|2,{76,116,0}}, +/* 52883 */ {(12<<2)|2,{76,116,0}}, +/* 52884 */ {(12<<2)|2,{76,116,0}}, +/* 52885 */ {(12<<2)|2,{76,116,0}}, +/* 52886 */ {(12<<2)|2,{76,116,0}}, +/* 52887 */ {(12<<2)|2,{76,116,0}}, +/* 52888 */ {(12<<2)|2,{76,116,0}}, +/* 52889 */ {(12<<2)|2,{76,116,0}}, +/* 52890 */ {(12<<2)|2,{76,116,0}}, +/* 52891 */ {(12<<2)|2,{76,116,0}}, +/* 52892 */ {(12<<2)|2,{76,116,0}}, +/* 52893 */ {(12<<2)|2,{76,116,0}}, +/* 52894 */ {(12<<2)|2,{76,116,0}}, +/* 52895 */ {(12<<2)|2,{76,116,0}}, +/* 52896 */ {(13<<2)|2,{76,32,0}}, +/* 52897 */ {(13<<2)|2,{76,32,0}}, +/* 52898 */ {(13<<2)|2,{76,32,0}}, +/* 52899 */ {(13<<2)|2,{76,32,0}}, +/* 52900 */ {(13<<2)|2,{76,32,0}}, +/* 52901 */ {(13<<2)|2,{76,32,0}}, +/* 52902 */ {(13<<2)|2,{76,32,0}}, +/* 52903 */ {(13<<2)|2,{76,32,0}}, +/* 52904 */ {(13<<2)|2,{76,37,0}}, +/* 52905 */ {(13<<2)|2,{76,37,0}}, +/* 52906 */ {(13<<2)|2,{76,37,0}}, +/* 52907 */ {(13<<2)|2,{76,37,0}}, +/* 52908 */ {(13<<2)|2,{76,37,0}}, +/* 52909 */ {(13<<2)|2,{76,37,0}}, +/* 52910 */ {(13<<2)|2,{76,37,0}}, +/* 52911 */ {(13<<2)|2,{76,37,0}}, +/* 52912 */ {(13<<2)|2,{76,45,0}}, +/* 52913 */ {(13<<2)|2,{76,45,0}}, +/* 52914 */ {(13<<2)|2,{76,45,0}}, +/* 52915 */ {(13<<2)|2,{76,45,0}}, +/* 52916 */ {(13<<2)|2,{76,45,0}}, +/* 52917 */ {(13<<2)|2,{76,45,0}}, +/* 52918 */ {(13<<2)|2,{76,45,0}}, +/* 52919 */ {(13<<2)|2,{76,45,0}}, +/* 52920 */ {(13<<2)|2,{76,46,0}}, +/* 52921 */ {(13<<2)|2,{76,46,0}}, +/* 52922 */ {(13<<2)|2,{76,46,0}}, +/* 52923 */ {(13<<2)|2,{76,46,0}}, +/* 52924 */ {(13<<2)|2,{76,46,0}}, +/* 52925 */ {(13<<2)|2,{76,46,0}}, +/* 52926 */ {(13<<2)|2,{76,46,0}}, +/* 52927 */ {(13<<2)|2,{76,46,0}}, +/* 52928 */ {(13<<2)|2,{76,47,0}}, +/* 52929 */ {(13<<2)|2,{76,47,0}}, +/* 52930 */ {(13<<2)|2,{76,47,0}}, +/* 52931 */ {(13<<2)|2,{76,47,0}}, +/* 52932 */ {(13<<2)|2,{76,47,0}}, +/* 52933 */ {(13<<2)|2,{76,47,0}}, +/* 52934 */ {(13<<2)|2,{76,47,0}}, +/* 52935 */ {(13<<2)|2,{76,47,0}}, +/* 52936 */ {(13<<2)|2,{76,51,0}}, +/* 52937 */ {(13<<2)|2,{76,51,0}}, +/* 52938 */ {(13<<2)|2,{76,51,0}}, +/* 52939 */ {(13<<2)|2,{76,51,0}}, +/* 52940 */ {(13<<2)|2,{76,51,0}}, +/* 52941 */ {(13<<2)|2,{76,51,0}}, +/* 52942 */ {(13<<2)|2,{76,51,0}}, +/* 52943 */ {(13<<2)|2,{76,51,0}}, +/* 52944 */ {(13<<2)|2,{76,52,0}}, +/* 52945 */ {(13<<2)|2,{76,52,0}}, +/* 52946 */ {(13<<2)|2,{76,52,0}}, +/* 52947 */ {(13<<2)|2,{76,52,0}}, +/* 52948 */ {(13<<2)|2,{76,52,0}}, +/* 52949 */ {(13<<2)|2,{76,52,0}}, +/* 52950 */ {(13<<2)|2,{76,52,0}}, +/* 52951 */ {(13<<2)|2,{76,52,0}}, +/* 52952 */ {(13<<2)|2,{76,53,0}}, +/* 52953 */ {(13<<2)|2,{76,53,0}}, +/* 52954 */ {(13<<2)|2,{76,53,0}}, +/* 52955 */ {(13<<2)|2,{76,53,0}}, +/* 52956 */ {(13<<2)|2,{76,53,0}}, +/* 52957 */ {(13<<2)|2,{76,53,0}}, +/* 52958 */ {(13<<2)|2,{76,53,0}}, +/* 52959 */ {(13<<2)|2,{76,53,0}}, +/* 52960 */ {(13<<2)|2,{76,54,0}}, +/* 52961 */ {(13<<2)|2,{76,54,0}}, +/* 52962 */ {(13<<2)|2,{76,54,0}}, +/* 52963 */ {(13<<2)|2,{76,54,0}}, +/* 52964 */ {(13<<2)|2,{76,54,0}}, +/* 52965 */ {(13<<2)|2,{76,54,0}}, +/* 52966 */ {(13<<2)|2,{76,54,0}}, +/* 52967 */ {(13<<2)|2,{76,54,0}}, +/* 52968 */ {(13<<2)|2,{76,55,0}}, +/* 52969 */ {(13<<2)|2,{76,55,0}}, +/* 52970 */ {(13<<2)|2,{76,55,0}}, +/* 52971 */ {(13<<2)|2,{76,55,0}}, +/* 52972 */ {(13<<2)|2,{76,55,0}}, +/* 52973 */ {(13<<2)|2,{76,55,0}}, +/* 52974 */ {(13<<2)|2,{76,55,0}}, +/* 52975 */ {(13<<2)|2,{76,55,0}}, +/* 52976 */ {(13<<2)|2,{76,56,0}}, +/* 52977 */ {(13<<2)|2,{76,56,0}}, +/* 52978 */ {(13<<2)|2,{76,56,0}}, +/* 52979 */ {(13<<2)|2,{76,56,0}}, +/* 52980 */ {(13<<2)|2,{76,56,0}}, +/* 52981 */ {(13<<2)|2,{76,56,0}}, +/* 52982 */ {(13<<2)|2,{76,56,0}}, +/* 52983 */ {(13<<2)|2,{76,56,0}}, +/* 52984 */ {(13<<2)|2,{76,57,0}}, +/* 52985 */ {(13<<2)|2,{76,57,0}}, +/* 52986 */ {(13<<2)|2,{76,57,0}}, +/* 52987 */ {(13<<2)|2,{76,57,0}}, +/* 52988 */ {(13<<2)|2,{76,57,0}}, +/* 52989 */ {(13<<2)|2,{76,57,0}}, +/* 52990 */ {(13<<2)|2,{76,57,0}}, +/* 52991 */ {(13<<2)|2,{76,57,0}}, +/* 52992 */ {(13<<2)|2,{76,61,0}}, +/* 52993 */ {(13<<2)|2,{76,61,0}}, +/* 52994 */ {(13<<2)|2,{76,61,0}}, +/* 52995 */ {(13<<2)|2,{76,61,0}}, +/* 52996 */ {(13<<2)|2,{76,61,0}}, +/* 52997 */ {(13<<2)|2,{76,61,0}}, +/* 52998 */ {(13<<2)|2,{76,61,0}}, +/* 52999 */ {(13<<2)|2,{76,61,0}}, +/* 53000 */ {(13<<2)|2,{76,65,0}}, +/* 53001 */ {(13<<2)|2,{76,65,0}}, +/* 53002 */ {(13<<2)|2,{76,65,0}}, +/* 53003 */ {(13<<2)|2,{76,65,0}}, +/* 53004 */ {(13<<2)|2,{76,65,0}}, +/* 53005 */ {(13<<2)|2,{76,65,0}}, +/* 53006 */ {(13<<2)|2,{76,65,0}}, +/* 53007 */ {(13<<2)|2,{76,65,0}}, +/* 53008 */ {(13<<2)|2,{76,95,0}}, +/* 53009 */ {(13<<2)|2,{76,95,0}}, +/* 53010 */ {(13<<2)|2,{76,95,0}}, +/* 53011 */ {(13<<2)|2,{76,95,0}}, +/* 53012 */ {(13<<2)|2,{76,95,0}}, +/* 53013 */ {(13<<2)|2,{76,95,0}}, +/* 53014 */ {(13<<2)|2,{76,95,0}}, +/* 53015 */ {(13<<2)|2,{76,95,0}}, +/* 53016 */ {(13<<2)|2,{76,98,0}}, +/* 53017 */ {(13<<2)|2,{76,98,0}}, +/* 53018 */ {(13<<2)|2,{76,98,0}}, +/* 53019 */ {(13<<2)|2,{76,98,0}}, +/* 53020 */ {(13<<2)|2,{76,98,0}}, +/* 53021 */ {(13<<2)|2,{76,98,0}}, +/* 53022 */ {(13<<2)|2,{76,98,0}}, +/* 53023 */ {(13<<2)|2,{76,98,0}}, +/* 53024 */ {(13<<2)|2,{76,100,0}}, +/* 53025 */ {(13<<2)|2,{76,100,0}}, +/* 53026 */ {(13<<2)|2,{76,100,0}}, +/* 53027 */ {(13<<2)|2,{76,100,0}}, +/* 53028 */ {(13<<2)|2,{76,100,0}}, +/* 53029 */ {(13<<2)|2,{76,100,0}}, +/* 53030 */ {(13<<2)|2,{76,100,0}}, +/* 53031 */ {(13<<2)|2,{76,100,0}}, +/* 53032 */ {(13<<2)|2,{76,102,0}}, +/* 53033 */ {(13<<2)|2,{76,102,0}}, +/* 53034 */ {(13<<2)|2,{76,102,0}}, +/* 53035 */ {(13<<2)|2,{76,102,0}}, +/* 53036 */ {(13<<2)|2,{76,102,0}}, +/* 53037 */ {(13<<2)|2,{76,102,0}}, +/* 53038 */ {(13<<2)|2,{76,102,0}}, +/* 53039 */ {(13<<2)|2,{76,102,0}}, +/* 53040 */ {(13<<2)|2,{76,103,0}}, +/* 53041 */ {(13<<2)|2,{76,103,0}}, +/* 53042 */ {(13<<2)|2,{76,103,0}}, +/* 53043 */ {(13<<2)|2,{76,103,0}}, +/* 53044 */ {(13<<2)|2,{76,103,0}}, +/* 53045 */ {(13<<2)|2,{76,103,0}}, +/* 53046 */ {(13<<2)|2,{76,103,0}}, +/* 53047 */ {(13<<2)|2,{76,103,0}}, +/* 53048 */ {(13<<2)|2,{76,104,0}}, +/* 53049 */ {(13<<2)|2,{76,104,0}}, +/* 53050 */ {(13<<2)|2,{76,104,0}}, +/* 53051 */ {(13<<2)|2,{76,104,0}}, +/* 53052 */ {(13<<2)|2,{76,104,0}}, +/* 53053 */ {(13<<2)|2,{76,104,0}}, +/* 53054 */ {(13<<2)|2,{76,104,0}}, +/* 53055 */ {(13<<2)|2,{76,104,0}}, +/* 53056 */ {(13<<2)|2,{76,108,0}}, +/* 53057 */ {(13<<2)|2,{76,108,0}}, +/* 53058 */ {(13<<2)|2,{76,108,0}}, +/* 53059 */ {(13<<2)|2,{76,108,0}}, +/* 53060 */ {(13<<2)|2,{76,108,0}}, +/* 53061 */ {(13<<2)|2,{76,108,0}}, +/* 53062 */ {(13<<2)|2,{76,108,0}}, +/* 53063 */ {(13<<2)|2,{76,108,0}}, +/* 53064 */ {(13<<2)|2,{76,109,0}}, +/* 53065 */ {(13<<2)|2,{76,109,0}}, +/* 53066 */ {(13<<2)|2,{76,109,0}}, +/* 53067 */ {(13<<2)|2,{76,109,0}}, +/* 53068 */ {(13<<2)|2,{76,109,0}}, +/* 53069 */ {(13<<2)|2,{76,109,0}}, +/* 53070 */ {(13<<2)|2,{76,109,0}}, +/* 53071 */ {(13<<2)|2,{76,109,0}}, +/* 53072 */ {(13<<2)|2,{76,110,0}}, +/* 53073 */ {(13<<2)|2,{76,110,0}}, +/* 53074 */ {(13<<2)|2,{76,110,0}}, +/* 53075 */ {(13<<2)|2,{76,110,0}}, +/* 53076 */ {(13<<2)|2,{76,110,0}}, +/* 53077 */ {(13<<2)|2,{76,110,0}}, +/* 53078 */ {(13<<2)|2,{76,110,0}}, +/* 53079 */ {(13<<2)|2,{76,110,0}}, +/* 53080 */ {(13<<2)|2,{76,112,0}}, +/* 53081 */ {(13<<2)|2,{76,112,0}}, +/* 53082 */ {(13<<2)|2,{76,112,0}}, +/* 53083 */ {(13<<2)|2,{76,112,0}}, +/* 53084 */ {(13<<2)|2,{76,112,0}}, +/* 53085 */ {(13<<2)|2,{76,112,0}}, +/* 53086 */ {(13<<2)|2,{76,112,0}}, +/* 53087 */ {(13<<2)|2,{76,112,0}}, +/* 53088 */ {(13<<2)|2,{76,114,0}}, +/* 53089 */ {(13<<2)|2,{76,114,0}}, +/* 53090 */ {(13<<2)|2,{76,114,0}}, +/* 53091 */ {(13<<2)|2,{76,114,0}}, +/* 53092 */ {(13<<2)|2,{76,114,0}}, +/* 53093 */ {(13<<2)|2,{76,114,0}}, +/* 53094 */ {(13<<2)|2,{76,114,0}}, +/* 53095 */ {(13<<2)|2,{76,114,0}}, +/* 53096 */ {(13<<2)|2,{76,117,0}}, +/* 53097 */ {(13<<2)|2,{76,117,0}}, +/* 53098 */ {(13<<2)|2,{76,117,0}}, +/* 53099 */ {(13<<2)|2,{76,117,0}}, +/* 53100 */ {(13<<2)|2,{76,117,0}}, +/* 53101 */ {(13<<2)|2,{76,117,0}}, +/* 53102 */ {(13<<2)|2,{76,117,0}}, +/* 53103 */ {(13<<2)|2,{76,117,0}}, +/* 53104 */ {(14<<2)|2,{76,58,0}}, +/* 53105 */ {(14<<2)|2,{76,58,0}}, +/* 53106 */ {(14<<2)|2,{76,58,0}}, +/* 53107 */ {(14<<2)|2,{76,58,0}}, +/* 53108 */ {(14<<2)|2,{76,66,0}}, +/* 53109 */ {(14<<2)|2,{76,66,0}}, +/* 53110 */ {(14<<2)|2,{76,66,0}}, +/* 53111 */ {(14<<2)|2,{76,66,0}}, +/* 53112 */ {(14<<2)|2,{76,67,0}}, +/* 53113 */ {(14<<2)|2,{76,67,0}}, +/* 53114 */ {(14<<2)|2,{76,67,0}}, +/* 53115 */ {(14<<2)|2,{76,67,0}}, +/* 53116 */ {(14<<2)|2,{76,68,0}}, +/* 53117 */ {(14<<2)|2,{76,68,0}}, +/* 53118 */ {(14<<2)|2,{76,68,0}}, +/* 53119 */ {(14<<2)|2,{76,68,0}}, +/* 53120 */ {(14<<2)|2,{76,69,0}}, +/* 53121 */ {(14<<2)|2,{76,69,0}}, +/* 53122 */ {(14<<2)|2,{76,69,0}}, +/* 53123 */ {(14<<2)|2,{76,69,0}}, +/* 53124 */ {(14<<2)|2,{76,70,0}}, +/* 53125 */ {(14<<2)|2,{76,70,0}}, +/* 53126 */ {(14<<2)|2,{76,70,0}}, +/* 53127 */ {(14<<2)|2,{76,70,0}}, +/* 53128 */ {(14<<2)|2,{76,71,0}}, +/* 53129 */ {(14<<2)|2,{76,71,0}}, +/* 53130 */ {(14<<2)|2,{76,71,0}}, +/* 53131 */ {(14<<2)|2,{76,71,0}}, +/* 53132 */ {(14<<2)|2,{76,72,0}}, +/* 53133 */ {(14<<2)|2,{76,72,0}}, +/* 53134 */ {(14<<2)|2,{76,72,0}}, +/* 53135 */ {(14<<2)|2,{76,72,0}}, +/* 53136 */ {(14<<2)|2,{76,73,0}}, +/* 53137 */ {(14<<2)|2,{76,73,0}}, +/* 53138 */ {(14<<2)|2,{76,73,0}}, +/* 53139 */ {(14<<2)|2,{76,73,0}}, +/* 53140 */ {(14<<2)|2,{76,74,0}}, +/* 53141 */ {(14<<2)|2,{76,74,0}}, +/* 53142 */ {(14<<2)|2,{76,74,0}}, +/* 53143 */ {(14<<2)|2,{76,74,0}}, +/* 53144 */ {(14<<2)|2,{76,75,0}}, +/* 53145 */ {(14<<2)|2,{76,75,0}}, +/* 53146 */ {(14<<2)|2,{76,75,0}}, +/* 53147 */ {(14<<2)|2,{76,75,0}}, +/* 53148 */ {(14<<2)|2,{76,76,0}}, +/* 53149 */ {(14<<2)|2,{76,76,0}}, +/* 53150 */ {(14<<2)|2,{76,76,0}}, +/* 53151 */ {(14<<2)|2,{76,76,0}}, +/* 53152 */ {(14<<2)|2,{76,77,0}}, +/* 53153 */ {(14<<2)|2,{76,77,0}}, +/* 53154 */ {(14<<2)|2,{76,77,0}}, +/* 53155 */ {(14<<2)|2,{76,77,0}}, +/* 53156 */ {(14<<2)|2,{76,78,0}}, +/* 53157 */ {(14<<2)|2,{76,78,0}}, +/* 53158 */ {(14<<2)|2,{76,78,0}}, +/* 53159 */ {(14<<2)|2,{76,78,0}}, +/* 53160 */ {(14<<2)|2,{76,79,0}}, +/* 53161 */ {(14<<2)|2,{76,79,0}}, +/* 53162 */ {(14<<2)|2,{76,79,0}}, +/* 53163 */ {(14<<2)|2,{76,79,0}}, +/* 53164 */ {(14<<2)|2,{76,80,0}}, +/* 53165 */ {(14<<2)|2,{76,80,0}}, +/* 53166 */ {(14<<2)|2,{76,80,0}}, +/* 53167 */ {(14<<2)|2,{76,80,0}}, +/* 53168 */ {(14<<2)|2,{76,81,0}}, +/* 53169 */ {(14<<2)|2,{76,81,0}}, +/* 53170 */ {(14<<2)|2,{76,81,0}}, +/* 53171 */ {(14<<2)|2,{76,81,0}}, +/* 53172 */ {(14<<2)|2,{76,82,0}}, +/* 53173 */ {(14<<2)|2,{76,82,0}}, +/* 53174 */ {(14<<2)|2,{76,82,0}}, +/* 53175 */ {(14<<2)|2,{76,82,0}}, +/* 53176 */ {(14<<2)|2,{76,83,0}}, +/* 53177 */ {(14<<2)|2,{76,83,0}}, +/* 53178 */ {(14<<2)|2,{76,83,0}}, +/* 53179 */ {(14<<2)|2,{76,83,0}}, +/* 53180 */ {(14<<2)|2,{76,84,0}}, +/* 53181 */ {(14<<2)|2,{76,84,0}}, +/* 53182 */ {(14<<2)|2,{76,84,0}}, +/* 53183 */ {(14<<2)|2,{76,84,0}}, +/* 53184 */ {(14<<2)|2,{76,85,0}}, +/* 53185 */ {(14<<2)|2,{76,85,0}}, +/* 53186 */ {(14<<2)|2,{76,85,0}}, +/* 53187 */ {(14<<2)|2,{76,85,0}}, +/* 53188 */ {(14<<2)|2,{76,86,0}}, +/* 53189 */ {(14<<2)|2,{76,86,0}}, +/* 53190 */ {(14<<2)|2,{76,86,0}}, +/* 53191 */ {(14<<2)|2,{76,86,0}}, +/* 53192 */ {(14<<2)|2,{76,87,0}}, +/* 53193 */ {(14<<2)|2,{76,87,0}}, +/* 53194 */ {(14<<2)|2,{76,87,0}}, +/* 53195 */ {(14<<2)|2,{76,87,0}}, +/* 53196 */ {(14<<2)|2,{76,89,0}}, +/* 53197 */ {(14<<2)|2,{76,89,0}}, +/* 53198 */ {(14<<2)|2,{76,89,0}}, +/* 53199 */ {(14<<2)|2,{76,89,0}}, +/* 53200 */ {(14<<2)|2,{76,106,0}}, +/* 53201 */ {(14<<2)|2,{76,106,0}}, +/* 53202 */ {(14<<2)|2,{76,106,0}}, +/* 53203 */ {(14<<2)|2,{76,106,0}}, +/* 53204 */ {(14<<2)|2,{76,107,0}}, +/* 53205 */ {(14<<2)|2,{76,107,0}}, +/* 53206 */ {(14<<2)|2,{76,107,0}}, +/* 53207 */ {(14<<2)|2,{76,107,0}}, +/* 53208 */ {(14<<2)|2,{76,113,0}}, +/* 53209 */ {(14<<2)|2,{76,113,0}}, +/* 53210 */ {(14<<2)|2,{76,113,0}}, +/* 53211 */ {(14<<2)|2,{76,113,0}}, +/* 53212 */ {(14<<2)|2,{76,118,0}}, +/* 53213 */ {(14<<2)|2,{76,118,0}}, +/* 53214 */ {(14<<2)|2,{76,118,0}}, +/* 53215 */ {(14<<2)|2,{76,118,0}}, +/* 53216 */ {(14<<2)|2,{76,119,0}}, +/* 53217 */ {(14<<2)|2,{76,119,0}}, +/* 53218 */ {(14<<2)|2,{76,119,0}}, +/* 53219 */ {(14<<2)|2,{76,119,0}}, +/* 53220 */ {(14<<2)|2,{76,120,0}}, +/* 53221 */ {(14<<2)|2,{76,120,0}}, +/* 53222 */ {(14<<2)|2,{76,120,0}}, +/* 53223 */ {(14<<2)|2,{76,120,0}}, +/* 53224 */ {(14<<2)|2,{76,121,0}}, +/* 53225 */ {(14<<2)|2,{76,121,0}}, +/* 53226 */ {(14<<2)|2,{76,121,0}}, +/* 53227 */ {(14<<2)|2,{76,121,0}}, +/* 53228 */ {(14<<2)|2,{76,122,0}}, +/* 53229 */ {(14<<2)|2,{76,122,0}}, +/* 53230 */ {(14<<2)|2,{76,122,0}}, +/* 53231 */ {(14<<2)|2,{76,122,0}}, +/* 53232 */ {(15<<2)|2,{76,38,0}}, +/* 53233 */ {(15<<2)|2,{76,38,0}}, +/* 53234 */ {(15<<2)|2,{76,42,0}}, +/* 53235 */ {(15<<2)|2,{76,42,0}}, +/* 53236 */ {(15<<2)|2,{76,44,0}}, +/* 53237 */ {(15<<2)|2,{76,44,0}}, +/* 53238 */ {(15<<2)|2,{76,59,0}}, +/* 53239 */ {(15<<2)|2,{76,59,0}}, +/* 53240 */ {(15<<2)|2,{76,88,0}}, +/* 53241 */ {(15<<2)|2,{76,88,0}}, +/* 53242 */ {(15<<2)|2,{76,90,0}}, +/* 53243 */ {(15<<2)|2,{76,90,0}}, +/* 53244 */ {(7<<2)|1,{76,0,0}}, +/* 53245 */ {(7<<2)|1,{76,0,0}}, +/* 53246 */ {(7<<2)|1,{76,0,0}}, +/* 53247 */ {(7<<2)|1,{76,0,0}}, +/* 53248 */ {(12<<2)|2,{77,48,0}}, +/* 53249 */ {(12<<2)|2,{77,48,0}}, +/* 53250 */ {(12<<2)|2,{77,48,0}}, +/* 53251 */ {(12<<2)|2,{77,48,0}}, +/* 53252 */ {(12<<2)|2,{77,48,0}}, +/* 53253 */ {(12<<2)|2,{77,48,0}}, +/* 53254 */ {(12<<2)|2,{77,48,0}}, +/* 53255 */ {(12<<2)|2,{77,48,0}}, +/* 53256 */ {(12<<2)|2,{77,48,0}}, +/* 53257 */ {(12<<2)|2,{77,48,0}}, +/* 53258 */ {(12<<2)|2,{77,48,0}}, +/* 53259 */ {(12<<2)|2,{77,48,0}}, +/* 53260 */ {(12<<2)|2,{77,48,0}}, +/* 53261 */ {(12<<2)|2,{77,48,0}}, +/* 53262 */ {(12<<2)|2,{77,48,0}}, +/* 53263 */ {(12<<2)|2,{77,48,0}}, +/* 53264 */ {(12<<2)|2,{77,49,0}}, +/* 53265 */ {(12<<2)|2,{77,49,0}}, +/* 53266 */ {(12<<2)|2,{77,49,0}}, +/* 53267 */ {(12<<2)|2,{77,49,0}}, +/* 53268 */ {(12<<2)|2,{77,49,0}}, +/* 53269 */ {(12<<2)|2,{77,49,0}}, +/* 53270 */ {(12<<2)|2,{77,49,0}}, +/* 53271 */ {(12<<2)|2,{77,49,0}}, +/* 53272 */ {(12<<2)|2,{77,49,0}}, +/* 53273 */ {(12<<2)|2,{77,49,0}}, +/* 53274 */ {(12<<2)|2,{77,49,0}}, +/* 53275 */ {(12<<2)|2,{77,49,0}}, +/* 53276 */ {(12<<2)|2,{77,49,0}}, +/* 53277 */ {(12<<2)|2,{77,49,0}}, +/* 53278 */ {(12<<2)|2,{77,49,0}}, +/* 53279 */ {(12<<2)|2,{77,49,0}}, +/* 53280 */ {(12<<2)|2,{77,50,0}}, +/* 53281 */ {(12<<2)|2,{77,50,0}}, +/* 53282 */ {(12<<2)|2,{77,50,0}}, +/* 53283 */ {(12<<2)|2,{77,50,0}}, +/* 53284 */ {(12<<2)|2,{77,50,0}}, +/* 53285 */ {(12<<2)|2,{77,50,0}}, +/* 53286 */ {(12<<2)|2,{77,50,0}}, +/* 53287 */ {(12<<2)|2,{77,50,0}}, +/* 53288 */ {(12<<2)|2,{77,50,0}}, +/* 53289 */ {(12<<2)|2,{77,50,0}}, +/* 53290 */ {(12<<2)|2,{77,50,0}}, +/* 53291 */ {(12<<2)|2,{77,50,0}}, +/* 53292 */ {(12<<2)|2,{77,50,0}}, +/* 53293 */ {(12<<2)|2,{77,50,0}}, +/* 53294 */ {(12<<2)|2,{77,50,0}}, +/* 53295 */ {(12<<2)|2,{77,50,0}}, +/* 53296 */ {(12<<2)|2,{77,97,0}}, +/* 53297 */ {(12<<2)|2,{77,97,0}}, +/* 53298 */ {(12<<2)|2,{77,97,0}}, +/* 53299 */ {(12<<2)|2,{77,97,0}}, +/* 53300 */ {(12<<2)|2,{77,97,0}}, +/* 53301 */ {(12<<2)|2,{77,97,0}}, +/* 53302 */ {(12<<2)|2,{77,97,0}}, +/* 53303 */ {(12<<2)|2,{77,97,0}}, +/* 53304 */ {(12<<2)|2,{77,97,0}}, +/* 53305 */ {(12<<2)|2,{77,97,0}}, +/* 53306 */ {(12<<2)|2,{77,97,0}}, +/* 53307 */ {(12<<2)|2,{77,97,0}}, +/* 53308 */ {(12<<2)|2,{77,97,0}}, +/* 53309 */ {(12<<2)|2,{77,97,0}}, +/* 53310 */ {(12<<2)|2,{77,97,0}}, +/* 53311 */ {(12<<2)|2,{77,97,0}}, +/* 53312 */ {(12<<2)|2,{77,99,0}}, +/* 53313 */ {(12<<2)|2,{77,99,0}}, +/* 53314 */ {(12<<2)|2,{77,99,0}}, +/* 53315 */ {(12<<2)|2,{77,99,0}}, +/* 53316 */ {(12<<2)|2,{77,99,0}}, +/* 53317 */ {(12<<2)|2,{77,99,0}}, +/* 53318 */ {(12<<2)|2,{77,99,0}}, +/* 53319 */ {(12<<2)|2,{77,99,0}}, +/* 53320 */ {(12<<2)|2,{77,99,0}}, +/* 53321 */ {(12<<2)|2,{77,99,0}}, +/* 53322 */ {(12<<2)|2,{77,99,0}}, +/* 53323 */ {(12<<2)|2,{77,99,0}}, +/* 53324 */ {(12<<2)|2,{77,99,0}}, +/* 53325 */ {(12<<2)|2,{77,99,0}}, +/* 53326 */ {(12<<2)|2,{77,99,0}}, +/* 53327 */ {(12<<2)|2,{77,99,0}}, +/* 53328 */ {(12<<2)|2,{77,101,0}}, +/* 53329 */ {(12<<2)|2,{77,101,0}}, +/* 53330 */ {(12<<2)|2,{77,101,0}}, +/* 53331 */ {(12<<2)|2,{77,101,0}}, +/* 53332 */ {(12<<2)|2,{77,101,0}}, +/* 53333 */ {(12<<2)|2,{77,101,0}}, +/* 53334 */ {(12<<2)|2,{77,101,0}}, +/* 53335 */ {(12<<2)|2,{77,101,0}}, +/* 53336 */ {(12<<2)|2,{77,101,0}}, +/* 53337 */ {(12<<2)|2,{77,101,0}}, +/* 53338 */ {(12<<2)|2,{77,101,0}}, +/* 53339 */ {(12<<2)|2,{77,101,0}}, +/* 53340 */ {(12<<2)|2,{77,101,0}}, +/* 53341 */ {(12<<2)|2,{77,101,0}}, +/* 53342 */ {(12<<2)|2,{77,101,0}}, +/* 53343 */ {(12<<2)|2,{77,101,0}}, +/* 53344 */ {(12<<2)|2,{77,105,0}}, +/* 53345 */ {(12<<2)|2,{77,105,0}}, +/* 53346 */ {(12<<2)|2,{77,105,0}}, +/* 53347 */ {(12<<2)|2,{77,105,0}}, +/* 53348 */ {(12<<2)|2,{77,105,0}}, +/* 53349 */ {(12<<2)|2,{77,105,0}}, +/* 53350 */ {(12<<2)|2,{77,105,0}}, +/* 53351 */ {(12<<2)|2,{77,105,0}}, +/* 53352 */ {(12<<2)|2,{77,105,0}}, +/* 53353 */ {(12<<2)|2,{77,105,0}}, +/* 53354 */ {(12<<2)|2,{77,105,0}}, +/* 53355 */ {(12<<2)|2,{77,105,0}}, +/* 53356 */ {(12<<2)|2,{77,105,0}}, +/* 53357 */ {(12<<2)|2,{77,105,0}}, +/* 53358 */ {(12<<2)|2,{77,105,0}}, +/* 53359 */ {(12<<2)|2,{77,105,0}}, +/* 53360 */ {(12<<2)|2,{77,111,0}}, +/* 53361 */ {(12<<2)|2,{77,111,0}}, +/* 53362 */ {(12<<2)|2,{77,111,0}}, +/* 53363 */ {(12<<2)|2,{77,111,0}}, +/* 53364 */ {(12<<2)|2,{77,111,0}}, +/* 53365 */ {(12<<2)|2,{77,111,0}}, +/* 53366 */ {(12<<2)|2,{77,111,0}}, +/* 53367 */ {(12<<2)|2,{77,111,0}}, +/* 53368 */ {(12<<2)|2,{77,111,0}}, +/* 53369 */ {(12<<2)|2,{77,111,0}}, +/* 53370 */ {(12<<2)|2,{77,111,0}}, +/* 53371 */ {(12<<2)|2,{77,111,0}}, +/* 53372 */ {(12<<2)|2,{77,111,0}}, +/* 53373 */ {(12<<2)|2,{77,111,0}}, +/* 53374 */ {(12<<2)|2,{77,111,0}}, +/* 53375 */ {(12<<2)|2,{77,111,0}}, +/* 53376 */ {(12<<2)|2,{77,115,0}}, +/* 53377 */ {(12<<2)|2,{77,115,0}}, +/* 53378 */ {(12<<2)|2,{77,115,0}}, +/* 53379 */ {(12<<2)|2,{77,115,0}}, +/* 53380 */ {(12<<2)|2,{77,115,0}}, +/* 53381 */ {(12<<2)|2,{77,115,0}}, +/* 53382 */ {(12<<2)|2,{77,115,0}}, +/* 53383 */ {(12<<2)|2,{77,115,0}}, +/* 53384 */ {(12<<2)|2,{77,115,0}}, +/* 53385 */ {(12<<2)|2,{77,115,0}}, +/* 53386 */ {(12<<2)|2,{77,115,0}}, +/* 53387 */ {(12<<2)|2,{77,115,0}}, +/* 53388 */ {(12<<2)|2,{77,115,0}}, +/* 53389 */ {(12<<2)|2,{77,115,0}}, +/* 53390 */ {(12<<2)|2,{77,115,0}}, +/* 53391 */ {(12<<2)|2,{77,115,0}}, +/* 53392 */ {(12<<2)|2,{77,116,0}}, +/* 53393 */ {(12<<2)|2,{77,116,0}}, +/* 53394 */ {(12<<2)|2,{77,116,0}}, +/* 53395 */ {(12<<2)|2,{77,116,0}}, +/* 53396 */ {(12<<2)|2,{77,116,0}}, +/* 53397 */ {(12<<2)|2,{77,116,0}}, +/* 53398 */ {(12<<2)|2,{77,116,0}}, +/* 53399 */ {(12<<2)|2,{77,116,0}}, +/* 53400 */ {(12<<2)|2,{77,116,0}}, +/* 53401 */ {(12<<2)|2,{77,116,0}}, +/* 53402 */ {(12<<2)|2,{77,116,0}}, +/* 53403 */ {(12<<2)|2,{77,116,0}}, +/* 53404 */ {(12<<2)|2,{77,116,0}}, +/* 53405 */ {(12<<2)|2,{77,116,0}}, +/* 53406 */ {(12<<2)|2,{77,116,0}}, +/* 53407 */ {(12<<2)|2,{77,116,0}}, +/* 53408 */ {(13<<2)|2,{77,32,0}}, +/* 53409 */ {(13<<2)|2,{77,32,0}}, +/* 53410 */ {(13<<2)|2,{77,32,0}}, +/* 53411 */ {(13<<2)|2,{77,32,0}}, +/* 53412 */ {(13<<2)|2,{77,32,0}}, +/* 53413 */ {(13<<2)|2,{77,32,0}}, +/* 53414 */ {(13<<2)|2,{77,32,0}}, +/* 53415 */ {(13<<2)|2,{77,32,0}}, +/* 53416 */ {(13<<2)|2,{77,37,0}}, +/* 53417 */ {(13<<2)|2,{77,37,0}}, +/* 53418 */ {(13<<2)|2,{77,37,0}}, +/* 53419 */ {(13<<2)|2,{77,37,0}}, +/* 53420 */ {(13<<2)|2,{77,37,0}}, +/* 53421 */ {(13<<2)|2,{77,37,0}}, +/* 53422 */ {(13<<2)|2,{77,37,0}}, +/* 53423 */ {(13<<2)|2,{77,37,0}}, +/* 53424 */ {(13<<2)|2,{77,45,0}}, +/* 53425 */ {(13<<2)|2,{77,45,0}}, +/* 53426 */ {(13<<2)|2,{77,45,0}}, +/* 53427 */ {(13<<2)|2,{77,45,0}}, +/* 53428 */ {(13<<2)|2,{77,45,0}}, +/* 53429 */ {(13<<2)|2,{77,45,0}}, +/* 53430 */ {(13<<2)|2,{77,45,0}}, +/* 53431 */ {(13<<2)|2,{77,45,0}}, +/* 53432 */ {(13<<2)|2,{77,46,0}}, +/* 53433 */ {(13<<2)|2,{77,46,0}}, +/* 53434 */ {(13<<2)|2,{77,46,0}}, +/* 53435 */ {(13<<2)|2,{77,46,0}}, +/* 53436 */ {(13<<2)|2,{77,46,0}}, +/* 53437 */ {(13<<2)|2,{77,46,0}}, +/* 53438 */ {(13<<2)|2,{77,46,0}}, +/* 53439 */ {(13<<2)|2,{77,46,0}}, +/* 53440 */ {(13<<2)|2,{77,47,0}}, +/* 53441 */ {(13<<2)|2,{77,47,0}}, +/* 53442 */ {(13<<2)|2,{77,47,0}}, +/* 53443 */ {(13<<2)|2,{77,47,0}}, +/* 53444 */ {(13<<2)|2,{77,47,0}}, +/* 53445 */ {(13<<2)|2,{77,47,0}}, +/* 53446 */ {(13<<2)|2,{77,47,0}}, +/* 53447 */ {(13<<2)|2,{77,47,0}}, +/* 53448 */ {(13<<2)|2,{77,51,0}}, +/* 53449 */ {(13<<2)|2,{77,51,0}}, +/* 53450 */ {(13<<2)|2,{77,51,0}}, +/* 53451 */ {(13<<2)|2,{77,51,0}}, +/* 53452 */ {(13<<2)|2,{77,51,0}}, +/* 53453 */ {(13<<2)|2,{77,51,0}}, +/* 53454 */ {(13<<2)|2,{77,51,0}}, +/* 53455 */ {(13<<2)|2,{77,51,0}}, +/* 53456 */ {(13<<2)|2,{77,52,0}}, +/* 53457 */ {(13<<2)|2,{77,52,0}}, +/* 53458 */ {(13<<2)|2,{77,52,0}}, +/* 53459 */ {(13<<2)|2,{77,52,0}}, +/* 53460 */ {(13<<2)|2,{77,52,0}}, +/* 53461 */ {(13<<2)|2,{77,52,0}}, +/* 53462 */ {(13<<2)|2,{77,52,0}}, +/* 53463 */ {(13<<2)|2,{77,52,0}}, +/* 53464 */ {(13<<2)|2,{77,53,0}}, +/* 53465 */ {(13<<2)|2,{77,53,0}}, +/* 53466 */ {(13<<2)|2,{77,53,0}}, +/* 53467 */ {(13<<2)|2,{77,53,0}}, +/* 53468 */ {(13<<2)|2,{77,53,0}}, +/* 53469 */ {(13<<2)|2,{77,53,0}}, +/* 53470 */ {(13<<2)|2,{77,53,0}}, +/* 53471 */ {(13<<2)|2,{77,53,0}}, +/* 53472 */ {(13<<2)|2,{77,54,0}}, +/* 53473 */ {(13<<2)|2,{77,54,0}}, +/* 53474 */ {(13<<2)|2,{77,54,0}}, +/* 53475 */ {(13<<2)|2,{77,54,0}}, +/* 53476 */ {(13<<2)|2,{77,54,0}}, +/* 53477 */ {(13<<2)|2,{77,54,0}}, +/* 53478 */ {(13<<2)|2,{77,54,0}}, +/* 53479 */ {(13<<2)|2,{77,54,0}}, +/* 53480 */ {(13<<2)|2,{77,55,0}}, +/* 53481 */ {(13<<2)|2,{77,55,0}}, +/* 53482 */ {(13<<2)|2,{77,55,0}}, +/* 53483 */ {(13<<2)|2,{77,55,0}}, +/* 53484 */ {(13<<2)|2,{77,55,0}}, +/* 53485 */ {(13<<2)|2,{77,55,0}}, +/* 53486 */ {(13<<2)|2,{77,55,0}}, +/* 53487 */ {(13<<2)|2,{77,55,0}}, +/* 53488 */ {(13<<2)|2,{77,56,0}}, +/* 53489 */ {(13<<2)|2,{77,56,0}}, +/* 53490 */ {(13<<2)|2,{77,56,0}}, +/* 53491 */ {(13<<2)|2,{77,56,0}}, +/* 53492 */ {(13<<2)|2,{77,56,0}}, +/* 53493 */ {(13<<2)|2,{77,56,0}}, +/* 53494 */ {(13<<2)|2,{77,56,0}}, +/* 53495 */ {(13<<2)|2,{77,56,0}}, +/* 53496 */ {(13<<2)|2,{77,57,0}}, +/* 53497 */ {(13<<2)|2,{77,57,0}}, +/* 53498 */ {(13<<2)|2,{77,57,0}}, +/* 53499 */ {(13<<2)|2,{77,57,0}}, +/* 53500 */ {(13<<2)|2,{77,57,0}}, +/* 53501 */ {(13<<2)|2,{77,57,0}}, +/* 53502 */ {(13<<2)|2,{77,57,0}}, +/* 53503 */ {(13<<2)|2,{77,57,0}}, +/* 53504 */ {(13<<2)|2,{77,61,0}}, +/* 53505 */ {(13<<2)|2,{77,61,0}}, +/* 53506 */ {(13<<2)|2,{77,61,0}}, +/* 53507 */ {(13<<2)|2,{77,61,0}}, +/* 53508 */ {(13<<2)|2,{77,61,0}}, +/* 53509 */ {(13<<2)|2,{77,61,0}}, +/* 53510 */ {(13<<2)|2,{77,61,0}}, +/* 53511 */ {(13<<2)|2,{77,61,0}}, +/* 53512 */ {(13<<2)|2,{77,65,0}}, +/* 53513 */ {(13<<2)|2,{77,65,0}}, +/* 53514 */ {(13<<2)|2,{77,65,0}}, +/* 53515 */ {(13<<2)|2,{77,65,0}}, +/* 53516 */ {(13<<2)|2,{77,65,0}}, +/* 53517 */ {(13<<2)|2,{77,65,0}}, +/* 53518 */ {(13<<2)|2,{77,65,0}}, +/* 53519 */ {(13<<2)|2,{77,65,0}}, +/* 53520 */ {(13<<2)|2,{77,95,0}}, +/* 53521 */ {(13<<2)|2,{77,95,0}}, +/* 53522 */ {(13<<2)|2,{77,95,0}}, +/* 53523 */ {(13<<2)|2,{77,95,0}}, +/* 53524 */ {(13<<2)|2,{77,95,0}}, +/* 53525 */ {(13<<2)|2,{77,95,0}}, +/* 53526 */ {(13<<2)|2,{77,95,0}}, +/* 53527 */ {(13<<2)|2,{77,95,0}}, +/* 53528 */ {(13<<2)|2,{77,98,0}}, +/* 53529 */ {(13<<2)|2,{77,98,0}}, +/* 53530 */ {(13<<2)|2,{77,98,0}}, +/* 53531 */ {(13<<2)|2,{77,98,0}}, +/* 53532 */ {(13<<2)|2,{77,98,0}}, +/* 53533 */ {(13<<2)|2,{77,98,0}}, +/* 53534 */ {(13<<2)|2,{77,98,0}}, +/* 53535 */ {(13<<2)|2,{77,98,0}}, +/* 53536 */ {(13<<2)|2,{77,100,0}}, +/* 53537 */ {(13<<2)|2,{77,100,0}}, +/* 53538 */ {(13<<2)|2,{77,100,0}}, +/* 53539 */ {(13<<2)|2,{77,100,0}}, +/* 53540 */ {(13<<2)|2,{77,100,0}}, +/* 53541 */ {(13<<2)|2,{77,100,0}}, +/* 53542 */ {(13<<2)|2,{77,100,0}}, +/* 53543 */ {(13<<2)|2,{77,100,0}}, +/* 53544 */ {(13<<2)|2,{77,102,0}}, +/* 53545 */ {(13<<2)|2,{77,102,0}}, +/* 53546 */ {(13<<2)|2,{77,102,0}}, +/* 53547 */ {(13<<2)|2,{77,102,0}}, +/* 53548 */ {(13<<2)|2,{77,102,0}}, +/* 53549 */ {(13<<2)|2,{77,102,0}}, +/* 53550 */ {(13<<2)|2,{77,102,0}}, +/* 53551 */ {(13<<2)|2,{77,102,0}}, +/* 53552 */ {(13<<2)|2,{77,103,0}}, +/* 53553 */ {(13<<2)|2,{77,103,0}}, +/* 53554 */ {(13<<2)|2,{77,103,0}}, +/* 53555 */ {(13<<2)|2,{77,103,0}}, +/* 53556 */ {(13<<2)|2,{77,103,0}}, +/* 53557 */ {(13<<2)|2,{77,103,0}}, +/* 53558 */ {(13<<2)|2,{77,103,0}}, +/* 53559 */ {(13<<2)|2,{77,103,0}}, +/* 53560 */ {(13<<2)|2,{77,104,0}}, +/* 53561 */ {(13<<2)|2,{77,104,0}}, +/* 53562 */ {(13<<2)|2,{77,104,0}}, +/* 53563 */ {(13<<2)|2,{77,104,0}}, +/* 53564 */ {(13<<2)|2,{77,104,0}}, +/* 53565 */ {(13<<2)|2,{77,104,0}}, +/* 53566 */ {(13<<2)|2,{77,104,0}}, +/* 53567 */ {(13<<2)|2,{77,104,0}}, +/* 53568 */ {(13<<2)|2,{77,108,0}}, +/* 53569 */ {(13<<2)|2,{77,108,0}}, +/* 53570 */ {(13<<2)|2,{77,108,0}}, +/* 53571 */ {(13<<2)|2,{77,108,0}}, +/* 53572 */ {(13<<2)|2,{77,108,0}}, +/* 53573 */ {(13<<2)|2,{77,108,0}}, +/* 53574 */ {(13<<2)|2,{77,108,0}}, +/* 53575 */ {(13<<2)|2,{77,108,0}}, +/* 53576 */ {(13<<2)|2,{77,109,0}}, +/* 53577 */ {(13<<2)|2,{77,109,0}}, +/* 53578 */ {(13<<2)|2,{77,109,0}}, +/* 53579 */ {(13<<2)|2,{77,109,0}}, +/* 53580 */ {(13<<2)|2,{77,109,0}}, +/* 53581 */ {(13<<2)|2,{77,109,0}}, +/* 53582 */ {(13<<2)|2,{77,109,0}}, +/* 53583 */ {(13<<2)|2,{77,109,0}}, +/* 53584 */ {(13<<2)|2,{77,110,0}}, +/* 53585 */ {(13<<2)|2,{77,110,0}}, +/* 53586 */ {(13<<2)|2,{77,110,0}}, +/* 53587 */ {(13<<2)|2,{77,110,0}}, +/* 53588 */ {(13<<2)|2,{77,110,0}}, +/* 53589 */ {(13<<2)|2,{77,110,0}}, +/* 53590 */ {(13<<2)|2,{77,110,0}}, +/* 53591 */ {(13<<2)|2,{77,110,0}}, +/* 53592 */ {(13<<2)|2,{77,112,0}}, +/* 53593 */ {(13<<2)|2,{77,112,0}}, +/* 53594 */ {(13<<2)|2,{77,112,0}}, +/* 53595 */ {(13<<2)|2,{77,112,0}}, +/* 53596 */ {(13<<2)|2,{77,112,0}}, +/* 53597 */ {(13<<2)|2,{77,112,0}}, +/* 53598 */ {(13<<2)|2,{77,112,0}}, +/* 53599 */ {(13<<2)|2,{77,112,0}}, +/* 53600 */ {(13<<2)|2,{77,114,0}}, +/* 53601 */ {(13<<2)|2,{77,114,0}}, +/* 53602 */ {(13<<2)|2,{77,114,0}}, +/* 53603 */ {(13<<2)|2,{77,114,0}}, +/* 53604 */ {(13<<2)|2,{77,114,0}}, +/* 53605 */ {(13<<2)|2,{77,114,0}}, +/* 53606 */ {(13<<2)|2,{77,114,0}}, +/* 53607 */ {(13<<2)|2,{77,114,0}}, +/* 53608 */ {(13<<2)|2,{77,117,0}}, +/* 53609 */ {(13<<2)|2,{77,117,0}}, +/* 53610 */ {(13<<2)|2,{77,117,0}}, +/* 53611 */ {(13<<2)|2,{77,117,0}}, +/* 53612 */ {(13<<2)|2,{77,117,0}}, +/* 53613 */ {(13<<2)|2,{77,117,0}}, +/* 53614 */ {(13<<2)|2,{77,117,0}}, +/* 53615 */ {(13<<2)|2,{77,117,0}}, +/* 53616 */ {(14<<2)|2,{77,58,0}}, +/* 53617 */ {(14<<2)|2,{77,58,0}}, +/* 53618 */ {(14<<2)|2,{77,58,0}}, +/* 53619 */ {(14<<2)|2,{77,58,0}}, +/* 53620 */ {(14<<2)|2,{77,66,0}}, +/* 53621 */ {(14<<2)|2,{77,66,0}}, +/* 53622 */ {(14<<2)|2,{77,66,0}}, +/* 53623 */ {(14<<2)|2,{77,66,0}}, +/* 53624 */ {(14<<2)|2,{77,67,0}}, +/* 53625 */ {(14<<2)|2,{77,67,0}}, +/* 53626 */ {(14<<2)|2,{77,67,0}}, +/* 53627 */ {(14<<2)|2,{77,67,0}}, +/* 53628 */ {(14<<2)|2,{77,68,0}}, +/* 53629 */ {(14<<2)|2,{77,68,0}}, +/* 53630 */ {(14<<2)|2,{77,68,0}}, +/* 53631 */ {(14<<2)|2,{77,68,0}}, +/* 53632 */ {(14<<2)|2,{77,69,0}}, +/* 53633 */ {(14<<2)|2,{77,69,0}}, +/* 53634 */ {(14<<2)|2,{77,69,0}}, +/* 53635 */ {(14<<2)|2,{77,69,0}}, +/* 53636 */ {(14<<2)|2,{77,70,0}}, +/* 53637 */ {(14<<2)|2,{77,70,0}}, +/* 53638 */ {(14<<2)|2,{77,70,0}}, +/* 53639 */ {(14<<2)|2,{77,70,0}}, +/* 53640 */ {(14<<2)|2,{77,71,0}}, +/* 53641 */ {(14<<2)|2,{77,71,0}}, +/* 53642 */ {(14<<2)|2,{77,71,0}}, +/* 53643 */ {(14<<2)|2,{77,71,0}}, +/* 53644 */ {(14<<2)|2,{77,72,0}}, +/* 53645 */ {(14<<2)|2,{77,72,0}}, +/* 53646 */ {(14<<2)|2,{77,72,0}}, +/* 53647 */ {(14<<2)|2,{77,72,0}}, +/* 53648 */ {(14<<2)|2,{77,73,0}}, +/* 53649 */ {(14<<2)|2,{77,73,0}}, +/* 53650 */ {(14<<2)|2,{77,73,0}}, +/* 53651 */ {(14<<2)|2,{77,73,0}}, +/* 53652 */ {(14<<2)|2,{77,74,0}}, +/* 53653 */ {(14<<2)|2,{77,74,0}}, +/* 53654 */ {(14<<2)|2,{77,74,0}}, +/* 53655 */ {(14<<2)|2,{77,74,0}}, +/* 53656 */ {(14<<2)|2,{77,75,0}}, +/* 53657 */ {(14<<2)|2,{77,75,0}}, +/* 53658 */ {(14<<2)|2,{77,75,0}}, +/* 53659 */ {(14<<2)|2,{77,75,0}}, +/* 53660 */ {(14<<2)|2,{77,76,0}}, +/* 53661 */ {(14<<2)|2,{77,76,0}}, +/* 53662 */ {(14<<2)|2,{77,76,0}}, +/* 53663 */ {(14<<2)|2,{77,76,0}}, +/* 53664 */ {(14<<2)|2,{77,77,0}}, +/* 53665 */ {(14<<2)|2,{77,77,0}}, +/* 53666 */ {(14<<2)|2,{77,77,0}}, +/* 53667 */ {(14<<2)|2,{77,77,0}}, +/* 53668 */ {(14<<2)|2,{77,78,0}}, +/* 53669 */ {(14<<2)|2,{77,78,0}}, +/* 53670 */ {(14<<2)|2,{77,78,0}}, +/* 53671 */ {(14<<2)|2,{77,78,0}}, +/* 53672 */ {(14<<2)|2,{77,79,0}}, +/* 53673 */ {(14<<2)|2,{77,79,0}}, +/* 53674 */ {(14<<2)|2,{77,79,0}}, +/* 53675 */ {(14<<2)|2,{77,79,0}}, +/* 53676 */ {(14<<2)|2,{77,80,0}}, +/* 53677 */ {(14<<2)|2,{77,80,0}}, +/* 53678 */ {(14<<2)|2,{77,80,0}}, +/* 53679 */ {(14<<2)|2,{77,80,0}}, +/* 53680 */ {(14<<2)|2,{77,81,0}}, +/* 53681 */ {(14<<2)|2,{77,81,0}}, +/* 53682 */ {(14<<2)|2,{77,81,0}}, +/* 53683 */ {(14<<2)|2,{77,81,0}}, +/* 53684 */ {(14<<2)|2,{77,82,0}}, +/* 53685 */ {(14<<2)|2,{77,82,0}}, +/* 53686 */ {(14<<2)|2,{77,82,0}}, +/* 53687 */ {(14<<2)|2,{77,82,0}}, +/* 53688 */ {(14<<2)|2,{77,83,0}}, +/* 53689 */ {(14<<2)|2,{77,83,0}}, +/* 53690 */ {(14<<2)|2,{77,83,0}}, +/* 53691 */ {(14<<2)|2,{77,83,0}}, +/* 53692 */ {(14<<2)|2,{77,84,0}}, +/* 53693 */ {(14<<2)|2,{77,84,0}}, +/* 53694 */ {(14<<2)|2,{77,84,0}}, +/* 53695 */ {(14<<2)|2,{77,84,0}}, +/* 53696 */ {(14<<2)|2,{77,85,0}}, +/* 53697 */ {(14<<2)|2,{77,85,0}}, +/* 53698 */ {(14<<2)|2,{77,85,0}}, +/* 53699 */ {(14<<2)|2,{77,85,0}}, +/* 53700 */ {(14<<2)|2,{77,86,0}}, +/* 53701 */ {(14<<2)|2,{77,86,0}}, +/* 53702 */ {(14<<2)|2,{77,86,0}}, +/* 53703 */ {(14<<2)|2,{77,86,0}}, +/* 53704 */ {(14<<2)|2,{77,87,0}}, +/* 53705 */ {(14<<2)|2,{77,87,0}}, +/* 53706 */ {(14<<2)|2,{77,87,0}}, +/* 53707 */ {(14<<2)|2,{77,87,0}}, +/* 53708 */ {(14<<2)|2,{77,89,0}}, +/* 53709 */ {(14<<2)|2,{77,89,0}}, +/* 53710 */ {(14<<2)|2,{77,89,0}}, +/* 53711 */ {(14<<2)|2,{77,89,0}}, +/* 53712 */ {(14<<2)|2,{77,106,0}}, +/* 53713 */ {(14<<2)|2,{77,106,0}}, +/* 53714 */ {(14<<2)|2,{77,106,0}}, +/* 53715 */ {(14<<2)|2,{77,106,0}}, +/* 53716 */ {(14<<2)|2,{77,107,0}}, +/* 53717 */ {(14<<2)|2,{77,107,0}}, +/* 53718 */ {(14<<2)|2,{77,107,0}}, +/* 53719 */ {(14<<2)|2,{77,107,0}}, +/* 53720 */ {(14<<2)|2,{77,113,0}}, +/* 53721 */ {(14<<2)|2,{77,113,0}}, +/* 53722 */ {(14<<2)|2,{77,113,0}}, +/* 53723 */ {(14<<2)|2,{77,113,0}}, +/* 53724 */ {(14<<2)|2,{77,118,0}}, +/* 53725 */ {(14<<2)|2,{77,118,0}}, +/* 53726 */ {(14<<2)|2,{77,118,0}}, +/* 53727 */ {(14<<2)|2,{77,118,0}}, +/* 53728 */ {(14<<2)|2,{77,119,0}}, +/* 53729 */ {(14<<2)|2,{77,119,0}}, +/* 53730 */ {(14<<2)|2,{77,119,0}}, +/* 53731 */ {(14<<2)|2,{77,119,0}}, +/* 53732 */ {(14<<2)|2,{77,120,0}}, +/* 53733 */ {(14<<2)|2,{77,120,0}}, +/* 53734 */ {(14<<2)|2,{77,120,0}}, +/* 53735 */ {(14<<2)|2,{77,120,0}}, +/* 53736 */ {(14<<2)|2,{77,121,0}}, +/* 53737 */ {(14<<2)|2,{77,121,0}}, +/* 53738 */ {(14<<2)|2,{77,121,0}}, +/* 53739 */ {(14<<2)|2,{77,121,0}}, +/* 53740 */ {(14<<2)|2,{77,122,0}}, +/* 53741 */ {(14<<2)|2,{77,122,0}}, +/* 53742 */ {(14<<2)|2,{77,122,0}}, +/* 53743 */ {(14<<2)|2,{77,122,0}}, +/* 53744 */ {(15<<2)|2,{77,38,0}}, +/* 53745 */ {(15<<2)|2,{77,38,0}}, +/* 53746 */ {(15<<2)|2,{77,42,0}}, +/* 53747 */ {(15<<2)|2,{77,42,0}}, +/* 53748 */ {(15<<2)|2,{77,44,0}}, +/* 53749 */ {(15<<2)|2,{77,44,0}}, +/* 53750 */ {(15<<2)|2,{77,59,0}}, +/* 53751 */ {(15<<2)|2,{77,59,0}}, +/* 53752 */ {(15<<2)|2,{77,88,0}}, +/* 53753 */ {(15<<2)|2,{77,88,0}}, +/* 53754 */ {(15<<2)|2,{77,90,0}}, +/* 53755 */ {(15<<2)|2,{77,90,0}}, +/* 53756 */ {(7<<2)|1,{77,0,0}}, +/* 53757 */ {(7<<2)|1,{77,0,0}}, +/* 53758 */ {(7<<2)|1,{77,0,0}}, +/* 53759 */ {(7<<2)|1,{77,0,0}}, +/* 53760 */ {(12<<2)|2,{78,48,0}}, +/* 53761 */ {(12<<2)|2,{78,48,0}}, +/* 53762 */ {(12<<2)|2,{78,48,0}}, +/* 53763 */ {(12<<2)|2,{78,48,0}}, +/* 53764 */ {(12<<2)|2,{78,48,0}}, +/* 53765 */ {(12<<2)|2,{78,48,0}}, +/* 53766 */ {(12<<2)|2,{78,48,0}}, +/* 53767 */ {(12<<2)|2,{78,48,0}}, +/* 53768 */ {(12<<2)|2,{78,48,0}}, +/* 53769 */ {(12<<2)|2,{78,48,0}}, +/* 53770 */ {(12<<2)|2,{78,48,0}}, +/* 53771 */ {(12<<2)|2,{78,48,0}}, +/* 53772 */ {(12<<2)|2,{78,48,0}}, +/* 53773 */ {(12<<2)|2,{78,48,0}}, +/* 53774 */ {(12<<2)|2,{78,48,0}}, +/* 53775 */ {(12<<2)|2,{78,48,0}}, +/* 53776 */ {(12<<2)|2,{78,49,0}}, +/* 53777 */ {(12<<2)|2,{78,49,0}}, +/* 53778 */ {(12<<2)|2,{78,49,0}}, +/* 53779 */ {(12<<2)|2,{78,49,0}}, +/* 53780 */ {(12<<2)|2,{78,49,0}}, +/* 53781 */ {(12<<2)|2,{78,49,0}}, +/* 53782 */ {(12<<2)|2,{78,49,0}}, +/* 53783 */ {(12<<2)|2,{78,49,0}}, +/* 53784 */ {(12<<2)|2,{78,49,0}}, +/* 53785 */ {(12<<2)|2,{78,49,0}}, +/* 53786 */ {(12<<2)|2,{78,49,0}}, +/* 53787 */ {(12<<2)|2,{78,49,0}}, +/* 53788 */ {(12<<2)|2,{78,49,0}}, +/* 53789 */ {(12<<2)|2,{78,49,0}}, +/* 53790 */ {(12<<2)|2,{78,49,0}}, +/* 53791 */ {(12<<2)|2,{78,49,0}}, +/* 53792 */ {(12<<2)|2,{78,50,0}}, +/* 53793 */ {(12<<2)|2,{78,50,0}}, +/* 53794 */ {(12<<2)|2,{78,50,0}}, +/* 53795 */ {(12<<2)|2,{78,50,0}}, +/* 53796 */ {(12<<2)|2,{78,50,0}}, +/* 53797 */ {(12<<2)|2,{78,50,0}}, +/* 53798 */ {(12<<2)|2,{78,50,0}}, +/* 53799 */ {(12<<2)|2,{78,50,0}}, +/* 53800 */ {(12<<2)|2,{78,50,0}}, +/* 53801 */ {(12<<2)|2,{78,50,0}}, +/* 53802 */ {(12<<2)|2,{78,50,0}}, +/* 53803 */ {(12<<2)|2,{78,50,0}}, +/* 53804 */ {(12<<2)|2,{78,50,0}}, +/* 53805 */ {(12<<2)|2,{78,50,0}}, +/* 53806 */ {(12<<2)|2,{78,50,0}}, +/* 53807 */ {(12<<2)|2,{78,50,0}}, +/* 53808 */ {(12<<2)|2,{78,97,0}}, +/* 53809 */ {(12<<2)|2,{78,97,0}}, +/* 53810 */ {(12<<2)|2,{78,97,0}}, +/* 53811 */ {(12<<2)|2,{78,97,0}}, +/* 53812 */ {(12<<2)|2,{78,97,0}}, +/* 53813 */ {(12<<2)|2,{78,97,0}}, +/* 53814 */ {(12<<2)|2,{78,97,0}}, +/* 53815 */ {(12<<2)|2,{78,97,0}}, +/* 53816 */ {(12<<2)|2,{78,97,0}}, +/* 53817 */ {(12<<2)|2,{78,97,0}}, +/* 53818 */ {(12<<2)|2,{78,97,0}}, +/* 53819 */ {(12<<2)|2,{78,97,0}}, +/* 53820 */ {(12<<2)|2,{78,97,0}}, +/* 53821 */ {(12<<2)|2,{78,97,0}}, +/* 53822 */ {(12<<2)|2,{78,97,0}}, +/* 53823 */ {(12<<2)|2,{78,97,0}}, +/* 53824 */ {(12<<2)|2,{78,99,0}}, +/* 53825 */ {(12<<2)|2,{78,99,0}}, +/* 53826 */ {(12<<2)|2,{78,99,0}}, +/* 53827 */ {(12<<2)|2,{78,99,0}}, +/* 53828 */ {(12<<2)|2,{78,99,0}}, +/* 53829 */ {(12<<2)|2,{78,99,0}}, +/* 53830 */ {(12<<2)|2,{78,99,0}}, +/* 53831 */ {(12<<2)|2,{78,99,0}}, +/* 53832 */ {(12<<2)|2,{78,99,0}}, +/* 53833 */ {(12<<2)|2,{78,99,0}}, +/* 53834 */ {(12<<2)|2,{78,99,0}}, +/* 53835 */ {(12<<2)|2,{78,99,0}}, +/* 53836 */ {(12<<2)|2,{78,99,0}}, +/* 53837 */ {(12<<2)|2,{78,99,0}}, +/* 53838 */ {(12<<2)|2,{78,99,0}}, +/* 53839 */ {(12<<2)|2,{78,99,0}}, +/* 53840 */ {(12<<2)|2,{78,101,0}}, +/* 53841 */ {(12<<2)|2,{78,101,0}}, +/* 53842 */ {(12<<2)|2,{78,101,0}}, +/* 53843 */ {(12<<2)|2,{78,101,0}}, +/* 53844 */ {(12<<2)|2,{78,101,0}}, +/* 53845 */ {(12<<2)|2,{78,101,0}}, +/* 53846 */ {(12<<2)|2,{78,101,0}}, +/* 53847 */ {(12<<2)|2,{78,101,0}}, +/* 53848 */ {(12<<2)|2,{78,101,0}}, +/* 53849 */ {(12<<2)|2,{78,101,0}}, +/* 53850 */ {(12<<2)|2,{78,101,0}}, +/* 53851 */ {(12<<2)|2,{78,101,0}}, +/* 53852 */ {(12<<2)|2,{78,101,0}}, +/* 53853 */ {(12<<2)|2,{78,101,0}}, +/* 53854 */ {(12<<2)|2,{78,101,0}}, +/* 53855 */ {(12<<2)|2,{78,101,0}}, +/* 53856 */ {(12<<2)|2,{78,105,0}}, +/* 53857 */ {(12<<2)|2,{78,105,0}}, +/* 53858 */ {(12<<2)|2,{78,105,0}}, +/* 53859 */ {(12<<2)|2,{78,105,0}}, +/* 53860 */ {(12<<2)|2,{78,105,0}}, +/* 53861 */ {(12<<2)|2,{78,105,0}}, +/* 53862 */ {(12<<2)|2,{78,105,0}}, +/* 53863 */ {(12<<2)|2,{78,105,0}}, +/* 53864 */ {(12<<2)|2,{78,105,0}}, +/* 53865 */ {(12<<2)|2,{78,105,0}}, +/* 53866 */ {(12<<2)|2,{78,105,0}}, +/* 53867 */ {(12<<2)|2,{78,105,0}}, +/* 53868 */ {(12<<2)|2,{78,105,0}}, +/* 53869 */ {(12<<2)|2,{78,105,0}}, +/* 53870 */ {(12<<2)|2,{78,105,0}}, +/* 53871 */ {(12<<2)|2,{78,105,0}}, +/* 53872 */ {(12<<2)|2,{78,111,0}}, +/* 53873 */ {(12<<2)|2,{78,111,0}}, +/* 53874 */ {(12<<2)|2,{78,111,0}}, +/* 53875 */ {(12<<2)|2,{78,111,0}}, +/* 53876 */ {(12<<2)|2,{78,111,0}}, +/* 53877 */ {(12<<2)|2,{78,111,0}}, +/* 53878 */ {(12<<2)|2,{78,111,0}}, +/* 53879 */ {(12<<2)|2,{78,111,0}}, +/* 53880 */ {(12<<2)|2,{78,111,0}}, +/* 53881 */ {(12<<2)|2,{78,111,0}}, +/* 53882 */ {(12<<2)|2,{78,111,0}}, +/* 53883 */ {(12<<2)|2,{78,111,0}}, +/* 53884 */ {(12<<2)|2,{78,111,0}}, +/* 53885 */ {(12<<2)|2,{78,111,0}}, +/* 53886 */ {(12<<2)|2,{78,111,0}}, +/* 53887 */ {(12<<2)|2,{78,111,0}}, +/* 53888 */ {(12<<2)|2,{78,115,0}}, +/* 53889 */ {(12<<2)|2,{78,115,0}}, +/* 53890 */ {(12<<2)|2,{78,115,0}}, +/* 53891 */ {(12<<2)|2,{78,115,0}}, +/* 53892 */ {(12<<2)|2,{78,115,0}}, +/* 53893 */ {(12<<2)|2,{78,115,0}}, +/* 53894 */ {(12<<2)|2,{78,115,0}}, +/* 53895 */ {(12<<2)|2,{78,115,0}}, +/* 53896 */ {(12<<2)|2,{78,115,0}}, +/* 53897 */ {(12<<2)|2,{78,115,0}}, +/* 53898 */ {(12<<2)|2,{78,115,0}}, +/* 53899 */ {(12<<2)|2,{78,115,0}}, +/* 53900 */ {(12<<2)|2,{78,115,0}}, +/* 53901 */ {(12<<2)|2,{78,115,0}}, +/* 53902 */ {(12<<2)|2,{78,115,0}}, +/* 53903 */ {(12<<2)|2,{78,115,0}}, +/* 53904 */ {(12<<2)|2,{78,116,0}}, +/* 53905 */ {(12<<2)|2,{78,116,0}}, +/* 53906 */ {(12<<2)|2,{78,116,0}}, +/* 53907 */ {(12<<2)|2,{78,116,0}}, +/* 53908 */ {(12<<2)|2,{78,116,0}}, +/* 53909 */ {(12<<2)|2,{78,116,0}}, +/* 53910 */ {(12<<2)|2,{78,116,0}}, +/* 53911 */ {(12<<2)|2,{78,116,0}}, +/* 53912 */ {(12<<2)|2,{78,116,0}}, +/* 53913 */ {(12<<2)|2,{78,116,0}}, +/* 53914 */ {(12<<2)|2,{78,116,0}}, +/* 53915 */ {(12<<2)|2,{78,116,0}}, +/* 53916 */ {(12<<2)|2,{78,116,0}}, +/* 53917 */ {(12<<2)|2,{78,116,0}}, +/* 53918 */ {(12<<2)|2,{78,116,0}}, +/* 53919 */ {(12<<2)|2,{78,116,0}}, +/* 53920 */ {(13<<2)|2,{78,32,0}}, +/* 53921 */ {(13<<2)|2,{78,32,0}}, +/* 53922 */ {(13<<2)|2,{78,32,0}}, +/* 53923 */ {(13<<2)|2,{78,32,0}}, +/* 53924 */ {(13<<2)|2,{78,32,0}}, +/* 53925 */ {(13<<2)|2,{78,32,0}}, +/* 53926 */ {(13<<2)|2,{78,32,0}}, +/* 53927 */ {(13<<2)|2,{78,32,0}}, +/* 53928 */ {(13<<2)|2,{78,37,0}}, +/* 53929 */ {(13<<2)|2,{78,37,0}}, +/* 53930 */ {(13<<2)|2,{78,37,0}}, +/* 53931 */ {(13<<2)|2,{78,37,0}}, +/* 53932 */ {(13<<2)|2,{78,37,0}}, +/* 53933 */ {(13<<2)|2,{78,37,0}}, +/* 53934 */ {(13<<2)|2,{78,37,0}}, +/* 53935 */ {(13<<2)|2,{78,37,0}}, +/* 53936 */ {(13<<2)|2,{78,45,0}}, +/* 53937 */ {(13<<2)|2,{78,45,0}}, +/* 53938 */ {(13<<2)|2,{78,45,0}}, +/* 53939 */ {(13<<2)|2,{78,45,0}}, +/* 53940 */ {(13<<2)|2,{78,45,0}}, +/* 53941 */ {(13<<2)|2,{78,45,0}}, +/* 53942 */ {(13<<2)|2,{78,45,0}}, +/* 53943 */ {(13<<2)|2,{78,45,0}}, +/* 53944 */ {(13<<2)|2,{78,46,0}}, +/* 53945 */ {(13<<2)|2,{78,46,0}}, +/* 53946 */ {(13<<2)|2,{78,46,0}}, +/* 53947 */ {(13<<2)|2,{78,46,0}}, +/* 53948 */ {(13<<2)|2,{78,46,0}}, +/* 53949 */ {(13<<2)|2,{78,46,0}}, +/* 53950 */ {(13<<2)|2,{78,46,0}}, +/* 53951 */ {(13<<2)|2,{78,46,0}}, +/* 53952 */ {(13<<2)|2,{78,47,0}}, +/* 53953 */ {(13<<2)|2,{78,47,0}}, +/* 53954 */ {(13<<2)|2,{78,47,0}}, +/* 53955 */ {(13<<2)|2,{78,47,0}}, +/* 53956 */ {(13<<2)|2,{78,47,0}}, +/* 53957 */ {(13<<2)|2,{78,47,0}}, +/* 53958 */ {(13<<2)|2,{78,47,0}}, +/* 53959 */ {(13<<2)|2,{78,47,0}}, +/* 53960 */ {(13<<2)|2,{78,51,0}}, +/* 53961 */ {(13<<2)|2,{78,51,0}}, +/* 53962 */ {(13<<2)|2,{78,51,0}}, +/* 53963 */ {(13<<2)|2,{78,51,0}}, +/* 53964 */ {(13<<2)|2,{78,51,0}}, +/* 53965 */ {(13<<2)|2,{78,51,0}}, +/* 53966 */ {(13<<2)|2,{78,51,0}}, +/* 53967 */ {(13<<2)|2,{78,51,0}}, +/* 53968 */ {(13<<2)|2,{78,52,0}}, +/* 53969 */ {(13<<2)|2,{78,52,0}}, +/* 53970 */ {(13<<2)|2,{78,52,0}}, +/* 53971 */ {(13<<2)|2,{78,52,0}}, +/* 53972 */ {(13<<2)|2,{78,52,0}}, +/* 53973 */ {(13<<2)|2,{78,52,0}}, +/* 53974 */ {(13<<2)|2,{78,52,0}}, +/* 53975 */ {(13<<2)|2,{78,52,0}}, +/* 53976 */ {(13<<2)|2,{78,53,0}}, +/* 53977 */ {(13<<2)|2,{78,53,0}}, +/* 53978 */ {(13<<2)|2,{78,53,0}}, +/* 53979 */ {(13<<2)|2,{78,53,0}}, +/* 53980 */ {(13<<2)|2,{78,53,0}}, +/* 53981 */ {(13<<2)|2,{78,53,0}}, +/* 53982 */ {(13<<2)|2,{78,53,0}}, +/* 53983 */ {(13<<2)|2,{78,53,0}}, +/* 53984 */ {(13<<2)|2,{78,54,0}}, +/* 53985 */ {(13<<2)|2,{78,54,0}}, +/* 53986 */ {(13<<2)|2,{78,54,0}}, +/* 53987 */ {(13<<2)|2,{78,54,0}}, +/* 53988 */ {(13<<2)|2,{78,54,0}}, +/* 53989 */ {(13<<2)|2,{78,54,0}}, +/* 53990 */ {(13<<2)|2,{78,54,0}}, +/* 53991 */ {(13<<2)|2,{78,54,0}}, +/* 53992 */ {(13<<2)|2,{78,55,0}}, +/* 53993 */ {(13<<2)|2,{78,55,0}}, +/* 53994 */ {(13<<2)|2,{78,55,0}}, +/* 53995 */ {(13<<2)|2,{78,55,0}}, +/* 53996 */ {(13<<2)|2,{78,55,0}}, +/* 53997 */ {(13<<2)|2,{78,55,0}}, +/* 53998 */ {(13<<2)|2,{78,55,0}}, +/* 53999 */ {(13<<2)|2,{78,55,0}}, +/* 54000 */ {(13<<2)|2,{78,56,0}}, +/* 54001 */ {(13<<2)|2,{78,56,0}}, +/* 54002 */ {(13<<2)|2,{78,56,0}}, +/* 54003 */ {(13<<2)|2,{78,56,0}}, +/* 54004 */ {(13<<2)|2,{78,56,0}}, +/* 54005 */ {(13<<2)|2,{78,56,0}}, +/* 54006 */ {(13<<2)|2,{78,56,0}}, +/* 54007 */ {(13<<2)|2,{78,56,0}}, +/* 54008 */ {(13<<2)|2,{78,57,0}}, +/* 54009 */ {(13<<2)|2,{78,57,0}}, +/* 54010 */ {(13<<2)|2,{78,57,0}}, +/* 54011 */ {(13<<2)|2,{78,57,0}}, +/* 54012 */ {(13<<2)|2,{78,57,0}}, +/* 54013 */ {(13<<2)|2,{78,57,0}}, +/* 54014 */ {(13<<2)|2,{78,57,0}}, +/* 54015 */ {(13<<2)|2,{78,57,0}}, +/* 54016 */ {(13<<2)|2,{78,61,0}}, +/* 54017 */ {(13<<2)|2,{78,61,0}}, +/* 54018 */ {(13<<2)|2,{78,61,0}}, +/* 54019 */ {(13<<2)|2,{78,61,0}}, +/* 54020 */ {(13<<2)|2,{78,61,0}}, +/* 54021 */ {(13<<2)|2,{78,61,0}}, +/* 54022 */ {(13<<2)|2,{78,61,0}}, +/* 54023 */ {(13<<2)|2,{78,61,0}}, +/* 54024 */ {(13<<2)|2,{78,65,0}}, +/* 54025 */ {(13<<2)|2,{78,65,0}}, +/* 54026 */ {(13<<2)|2,{78,65,0}}, +/* 54027 */ {(13<<2)|2,{78,65,0}}, +/* 54028 */ {(13<<2)|2,{78,65,0}}, +/* 54029 */ {(13<<2)|2,{78,65,0}}, +/* 54030 */ {(13<<2)|2,{78,65,0}}, +/* 54031 */ {(13<<2)|2,{78,65,0}}, +/* 54032 */ {(13<<2)|2,{78,95,0}}, +/* 54033 */ {(13<<2)|2,{78,95,0}}, +/* 54034 */ {(13<<2)|2,{78,95,0}}, +/* 54035 */ {(13<<2)|2,{78,95,0}}, +/* 54036 */ {(13<<2)|2,{78,95,0}}, +/* 54037 */ {(13<<2)|2,{78,95,0}}, +/* 54038 */ {(13<<2)|2,{78,95,0}}, +/* 54039 */ {(13<<2)|2,{78,95,0}}, +/* 54040 */ {(13<<2)|2,{78,98,0}}, +/* 54041 */ {(13<<2)|2,{78,98,0}}, +/* 54042 */ {(13<<2)|2,{78,98,0}}, +/* 54043 */ {(13<<2)|2,{78,98,0}}, +/* 54044 */ {(13<<2)|2,{78,98,0}}, +/* 54045 */ {(13<<2)|2,{78,98,0}}, +/* 54046 */ {(13<<2)|2,{78,98,0}}, +/* 54047 */ {(13<<2)|2,{78,98,0}}, +/* 54048 */ {(13<<2)|2,{78,100,0}}, +/* 54049 */ {(13<<2)|2,{78,100,0}}, +/* 54050 */ {(13<<2)|2,{78,100,0}}, +/* 54051 */ {(13<<2)|2,{78,100,0}}, +/* 54052 */ {(13<<2)|2,{78,100,0}}, +/* 54053 */ {(13<<2)|2,{78,100,0}}, +/* 54054 */ {(13<<2)|2,{78,100,0}}, +/* 54055 */ {(13<<2)|2,{78,100,0}}, +/* 54056 */ {(13<<2)|2,{78,102,0}}, +/* 54057 */ {(13<<2)|2,{78,102,0}}, +/* 54058 */ {(13<<2)|2,{78,102,0}}, +/* 54059 */ {(13<<2)|2,{78,102,0}}, +/* 54060 */ {(13<<2)|2,{78,102,0}}, +/* 54061 */ {(13<<2)|2,{78,102,0}}, +/* 54062 */ {(13<<2)|2,{78,102,0}}, +/* 54063 */ {(13<<2)|2,{78,102,0}}, +/* 54064 */ {(13<<2)|2,{78,103,0}}, +/* 54065 */ {(13<<2)|2,{78,103,0}}, +/* 54066 */ {(13<<2)|2,{78,103,0}}, +/* 54067 */ {(13<<2)|2,{78,103,0}}, +/* 54068 */ {(13<<2)|2,{78,103,0}}, +/* 54069 */ {(13<<2)|2,{78,103,0}}, +/* 54070 */ {(13<<2)|2,{78,103,0}}, +/* 54071 */ {(13<<2)|2,{78,103,0}}, +/* 54072 */ {(13<<2)|2,{78,104,0}}, +/* 54073 */ {(13<<2)|2,{78,104,0}}, +/* 54074 */ {(13<<2)|2,{78,104,0}}, +/* 54075 */ {(13<<2)|2,{78,104,0}}, +/* 54076 */ {(13<<2)|2,{78,104,0}}, +/* 54077 */ {(13<<2)|2,{78,104,0}}, +/* 54078 */ {(13<<2)|2,{78,104,0}}, +/* 54079 */ {(13<<2)|2,{78,104,0}}, +/* 54080 */ {(13<<2)|2,{78,108,0}}, +/* 54081 */ {(13<<2)|2,{78,108,0}}, +/* 54082 */ {(13<<2)|2,{78,108,0}}, +/* 54083 */ {(13<<2)|2,{78,108,0}}, +/* 54084 */ {(13<<2)|2,{78,108,0}}, +/* 54085 */ {(13<<2)|2,{78,108,0}}, +/* 54086 */ {(13<<2)|2,{78,108,0}}, +/* 54087 */ {(13<<2)|2,{78,108,0}}, +/* 54088 */ {(13<<2)|2,{78,109,0}}, +/* 54089 */ {(13<<2)|2,{78,109,0}}, +/* 54090 */ {(13<<2)|2,{78,109,0}}, +/* 54091 */ {(13<<2)|2,{78,109,0}}, +/* 54092 */ {(13<<2)|2,{78,109,0}}, +/* 54093 */ {(13<<2)|2,{78,109,0}}, +/* 54094 */ {(13<<2)|2,{78,109,0}}, +/* 54095 */ {(13<<2)|2,{78,109,0}}, +/* 54096 */ {(13<<2)|2,{78,110,0}}, +/* 54097 */ {(13<<2)|2,{78,110,0}}, +/* 54098 */ {(13<<2)|2,{78,110,0}}, +/* 54099 */ {(13<<2)|2,{78,110,0}}, +/* 54100 */ {(13<<2)|2,{78,110,0}}, +/* 54101 */ {(13<<2)|2,{78,110,0}}, +/* 54102 */ {(13<<2)|2,{78,110,0}}, +/* 54103 */ {(13<<2)|2,{78,110,0}}, +/* 54104 */ {(13<<2)|2,{78,112,0}}, +/* 54105 */ {(13<<2)|2,{78,112,0}}, +/* 54106 */ {(13<<2)|2,{78,112,0}}, +/* 54107 */ {(13<<2)|2,{78,112,0}}, +/* 54108 */ {(13<<2)|2,{78,112,0}}, +/* 54109 */ {(13<<2)|2,{78,112,0}}, +/* 54110 */ {(13<<2)|2,{78,112,0}}, +/* 54111 */ {(13<<2)|2,{78,112,0}}, +/* 54112 */ {(13<<2)|2,{78,114,0}}, +/* 54113 */ {(13<<2)|2,{78,114,0}}, +/* 54114 */ {(13<<2)|2,{78,114,0}}, +/* 54115 */ {(13<<2)|2,{78,114,0}}, +/* 54116 */ {(13<<2)|2,{78,114,0}}, +/* 54117 */ {(13<<2)|2,{78,114,0}}, +/* 54118 */ {(13<<2)|2,{78,114,0}}, +/* 54119 */ {(13<<2)|2,{78,114,0}}, +/* 54120 */ {(13<<2)|2,{78,117,0}}, +/* 54121 */ {(13<<2)|2,{78,117,0}}, +/* 54122 */ {(13<<2)|2,{78,117,0}}, +/* 54123 */ {(13<<2)|2,{78,117,0}}, +/* 54124 */ {(13<<2)|2,{78,117,0}}, +/* 54125 */ {(13<<2)|2,{78,117,0}}, +/* 54126 */ {(13<<2)|2,{78,117,0}}, +/* 54127 */ {(13<<2)|2,{78,117,0}}, +/* 54128 */ {(14<<2)|2,{78,58,0}}, +/* 54129 */ {(14<<2)|2,{78,58,0}}, +/* 54130 */ {(14<<2)|2,{78,58,0}}, +/* 54131 */ {(14<<2)|2,{78,58,0}}, +/* 54132 */ {(14<<2)|2,{78,66,0}}, +/* 54133 */ {(14<<2)|2,{78,66,0}}, +/* 54134 */ {(14<<2)|2,{78,66,0}}, +/* 54135 */ {(14<<2)|2,{78,66,0}}, +/* 54136 */ {(14<<2)|2,{78,67,0}}, +/* 54137 */ {(14<<2)|2,{78,67,0}}, +/* 54138 */ {(14<<2)|2,{78,67,0}}, +/* 54139 */ {(14<<2)|2,{78,67,0}}, +/* 54140 */ {(14<<2)|2,{78,68,0}}, +/* 54141 */ {(14<<2)|2,{78,68,0}}, +/* 54142 */ {(14<<2)|2,{78,68,0}}, +/* 54143 */ {(14<<2)|2,{78,68,0}}, +/* 54144 */ {(14<<2)|2,{78,69,0}}, +/* 54145 */ {(14<<2)|2,{78,69,0}}, +/* 54146 */ {(14<<2)|2,{78,69,0}}, +/* 54147 */ {(14<<2)|2,{78,69,0}}, +/* 54148 */ {(14<<2)|2,{78,70,0}}, +/* 54149 */ {(14<<2)|2,{78,70,0}}, +/* 54150 */ {(14<<2)|2,{78,70,0}}, +/* 54151 */ {(14<<2)|2,{78,70,0}}, +/* 54152 */ {(14<<2)|2,{78,71,0}}, +/* 54153 */ {(14<<2)|2,{78,71,0}}, +/* 54154 */ {(14<<2)|2,{78,71,0}}, +/* 54155 */ {(14<<2)|2,{78,71,0}}, +/* 54156 */ {(14<<2)|2,{78,72,0}}, +/* 54157 */ {(14<<2)|2,{78,72,0}}, +/* 54158 */ {(14<<2)|2,{78,72,0}}, +/* 54159 */ {(14<<2)|2,{78,72,0}}, +/* 54160 */ {(14<<2)|2,{78,73,0}}, +/* 54161 */ {(14<<2)|2,{78,73,0}}, +/* 54162 */ {(14<<2)|2,{78,73,0}}, +/* 54163 */ {(14<<2)|2,{78,73,0}}, +/* 54164 */ {(14<<2)|2,{78,74,0}}, +/* 54165 */ {(14<<2)|2,{78,74,0}}, +/* 54166 */ {(14<<2)|2,{78,74,0}}, +/* 54167 */ {(14<<2)|2,{78,74,0}}, +/* 54168 */ {(14<<2)|2,{78,75,0}}, +/* 54169 */ {(14<<2)|2,{78,75,0}}, +/* 54170 */ {(14<<2)|2,{78,75,0}}, +/* 54171 */ {(14<<2)|2,{78,75,0}}, +/* 54172 */ {(14<<2)|2,{78,76,0}}, +/* 54173 */ {(14<<2)|2,{78,76,0}}, +/* 54174 */ {(14<<2)|2,{78,76,0}}, +/* 54175 */ {(14<<2)|2,{78,76,0}}, +/* 54176 */ {(14<<2)|2,{78,77,0}}, +/* 54177 */ {(14<<2)|2,{78,77,0}}, +/* 54178 */ {(14<<2)|2,{78,77,0}}, +/* 54179 */ {(14<<2)|2,{78,77,0}}, +/* 54180 */ {(14<<2)|2,{78,78,0}}, +/* 54181 */ {(14<<2)|2,{78,78,0}}, +/* 54182 */ {(14<<2)|2,{78,78,0}}, +/* 54183 */ {(14<<2)|2,{78,78,0}}, +/* 54184 */ {(14<<2)|2,{78,79,0}}, +/* 54185 */ {(14<<2)|2,{78,79,0}}, +/* 54186 */ {(14<<2)|2,{78,79,0}}, +/* 54187 */ {(14<<2)|2,{78,79,0}}, +/* 54188 */ {(14<<2)|2,{78,80,0}}, +/* 54189 */ {(14<<2)|2,{78,80,0}}, +/* 54190 */ {(14<<2)|2,{78,80,0}}, +/* 54191 */ {(14<<2)|2,{78,80,0}}, +/* 54192 */ {(14<<2)|2,{78,81,0}}, +/* 54193 */ {(14<<2)|2,{78,81,0}}, +/* 54194 */ {(14<<2)|2,{78,81,0}}, +/* 54195 */ {(14<<2)|2,{78,81,0}}, +/* 54196 */ {(14<<2)|2,{78,82,0}}, +/* 54197 */ {(14<<2)|2,{78,82,0}}, +/* 54198 */ {(14<<2)|2,{78,82,0}}, +/* 54199 */ {(14<<2)|2,{78,82,0}}, +/* 54200 */ {(14<<2)|2,{78,83,0}}, +/* 54201 */ {(14<<2)|2,{78,83,0}}, +/* 54202 */ {(14<<2)|2,{78,83,0}}, +/* 54203 */ {(14<<2)|2,{78,83,0}}, +/* 54204 */ {(14<<2)|2,{78,84,0}}, +/* 54205 */ {(14<<2)|2,{78,84,0}}, +/* 54206 */ {(14<<2)|2,{78,84,0}}, +/* 54207 */ {(14<<2)|2,{78,84,0}}, +/* 54208 */ {(14<<2)|2,{78,85,0}}, +/* 54209 */ {(14<<2)|2,{78,85,0}}, +/* 54210 */ {(14<<2)|2,{78,85,0}}, +/* 54211 */ {(14<<2)|2,{78,85,0}}, +/* 54212 */ {(14<<2)|2,{78,86,0}}, +/* 54213 */ {(14<<2)|2,{78,86,0}}, +/* 54214 */ {(14<<2)|2,{78,86,0}}, +/* 54215 */ {(14<<2)|2,{78,86,0}}, +/* 54216 */ {(14<<2)|2,{78,87,0}}, +/* 54217 */ {(14<<2)|2,{78,87,0}}, +/* 54218 */ {(14<<2)|2,{78,87,0}}, +/* 54219 */ {(14<<2)|2,{78,87,0}}, +/* 54220 */ {(14<<2)|2,{78,89,0}}, +/* 54221 */ {(14<<2)|2,{78,89,0}}, +/* 54222 */ {(14<<2)|2,{78,89,0}}, +/* 54223 */ {(14<<2)|2,{78,89,0}}, +/* 54224 */ {(14<<2)|2,{78,106,0}}, +/* 54225 */ {(14<<2)|2,{78,106,0}}, +/* 54226 */ {(14<<2)|2,{78,106,0}}, +/* 54227 */ {(14<<2)|2,{78,106,0}}, +/* 54228 */ {(14<<2)|2,{78,107,0}}, +/* 54229 */ {(14<<2)|2,{78,107,0}}, +/* 54230 */ {(14<<2)|2,{78,107,0}}, +/* 54231 */ {(14<<2)|2,{78,107,0}}, +/* 54232 */ {(14<<2)|2,{78,113,0}}, +/* 54233 */ {(14<<2)|2,{78,113,0}}, +/* 54234 */ {(14<<2)|2,{78,113,0}}, +/* 54235 */ {(14<<2)|2,{78,113,0}}, +/* 54236 */ {(14<<2)|2,{78,118,0}}, +/* 54237 */ {(14<<2)|2,{78,118,0}}, +/* 54238 */ {(14<<2)|2,{78,118,0}}, +/* 54239 */ {(14<<2)|2,{78,118,0}}, +/* 54240 */ {(14<<2)|2,{78,119,0}}, +/* 54241 */ {(14<<2)|2,{78,119,0}}, +/* 54242 */ {(14<<2)|2,{78,119,0}}, +/* 54243 */ {(14<<2)|2,{78,119,0}}, +/* 54244 */ {(14<<2)|2,{78,120,0}}, +/* 54245 */ {(14<<2)|2,{78,120,0}}, +/* 54246 */ {(14<<2)|2,{78,120,0}}, +/* 54247 */ {(14<<2)|2,{78,120,0}}, +/* 54248 */ {(14<<2)|2,{78,121,0}}, +/* 54249 */ {(14<<2)|2,{78,121,0}}, +/* 54250 */ {(14<<2)|2,{78,121,0}}, +/* 54251 */ {(14<<2)|2,{78,121,0}}, +/* 54252 */ {(14<<2)|2,{78,122,0}}, +/* 54253 */ {(14<<2)|2,{78,122,0}}, +/* 54254 */ {(14<<2)|2,{78,122,0}}, +/* 54255 */ {(14<<2)|2,{78,122,0}}, +/* 54256 */ {(15<<2)|2,{78,38,0}}, +/* 54257 */ {(15<<2)|2,{78,38,0}}, +/* 54258 */ {(15<<2)|2,{78,42,0}}, +/* 54259 */ {(15<<2)|2,{78,42,0}}, +/* 54260 */ {(15<<2)|2,{78,44,0}}, +/* 54261 */ {(15<<2)|2,{78,44,0}}, +/* 54262 */ {(15<<2)|2,{78,59,0}}, +/* 54263 */ {(15<<2)|2,{78,59,0}}, +/* 54264 */ {(15<<2)|2,{78,88,0}}, +/* 54265 */ {(15<<2)|2,{78,88,0}}, +/* 54266 */ {(15<<2)|2,{78,90,0}}, +/* 54267 */ {(15<<2)|2,{78,90,0}}, +/* 54268 */ {(7<<2)|1,{78,0,0}}, +/* 54269 */ {(7<<2)|1,{78,0,0}}, +/* 54270 */ {(7<<2)|1,{78,0,0}}, +/* 54271 */ {(7<<2)|1,{78,0,0}}, +/* 54272 */ {(12<<2)|2,{79,48,0}}, +/* 54273 */ {(12<<2)|2,{79,48,0}}, +/* 54274 */ {(12<<2)|2,{79,48,0}}, +/* 54275 */ {(12<<2)|2,{79,48,0}}, +/* 54276 */ {(12<<2)|2,{79,48,0}}, +/* 54277 */ {(12<<2)|2,{79,48,0}}, +/* 54278 */ {(12<<2)|2,{79,48,0}}, +/* 54279 */ {(12<<2)|2,{79,48,0}}, +/* 54280 */ {(12<<2)|2,{79,48,0}}, +/* 54281 */ {(12<<2)|2,{79,48,0}}, +/* 54282 */ {(12<<2)|2,{79,48,0}}, +/* 54283 */ {(12<<2)|2,{79,48,0}}, +/* 54284 */ {(12<<2)|2,{79,48,0}}, +/* 54285 */ {(12<<2)|2,{79,48,0}}, +/* 54286 */ {(12<<2)|2,{79,48,0}}, +/* 54287 */ {(12<<2)|2,{79,48,0}}, +/* 54288 */ {(12<<2)|2,{79,49,0}}, +/* 54289 */ {(12<<2)|2,{79,49,0}}, +/* 54290 */ {(12<<2)|2,{79,49,0}}, +/* 54291 */ {(12<<2)|2,{79,49,0}}, +/* 54292 */ {(12<<2)|2,{79,49,0}}, +/* 54293 */ {(12<<2)|2,{79,49,0}}, +/* 54294 */ {(12<<2)|2,{79,49,0}}, +/* 54295 */ {(12<<2)|2,{79,49,0}}, +/* 54296 */ {(12<<2)|2,{79,49,0}}, +/* 54297 */ {(12<<2)|2,{79,49,0}}, +/* 54298 */ {(12<<2)|2,{79,49,0}}, +/* 54299 */ {(12<<2)|2,{79,49,0}}, +/* 54300 */ {(12<<2)|2,{79,49,0}}, +/* 54301 */ {(12<<2)|2,{79,49,0}}, +/* 54302 */ {(12<<2)|2,{79,49,0}}, +/* 54303 */ {(12<<2)|2,{79,49,0}}, +/* 54304 */ {(12<<2)|2,{79,50,0}}, +/* 54305 */ {(12<<2)|2,{79,50,0}}, +/* 54306 */ {(12<<2)|2,{79,50,0}}, +/* 54307 */ {(12<<2)|2,{79,50,0}}, +/* 54308 */ {(12<<2)|2,{79,50,0}}, +/* 54309 */ {(12<<2)|2,{79,50,0}}, +/* 54310 */ {(12<<2)|2,{79,50,0}}, +/* 54311 */ {(12<<2)|2,{79,50,0}}, +/* 54312 */ {(12<<2)|2,{79,50,0}}, +/* 54313 */ {(12<<2)|2,{79,50,0}}, +/* 54314 */ {(12<<2)|2,{79,50,0}}, +/* 54315 */ {(12<<2)|2,{79,50,0}}, +/* 54316 */ {(12<<2)|2,{79,50,0}}, +/* 54317 */ {(12<<2)|2,{79,50,0}}, +/* 54318 */ {(12<<2)|2,{79,50,0}}, +/* 54319 */ {(12<<2)|2,{79,50,0}}, +/* 54320 */ {(12<<2)|2,{79,97,0}}, +/* 54321 */ {(12<<2)|2,{79,97,0}}, +/* 54322 */ {(12<<2)|2,{79,97,0}}, +/* 54323 */ {(12<<2)|2,{79,97,0}}, +/* 54324 */ {(12<<2)|2,{79,97,0}}, +/* 54325 */ {(12<<2)|2,{79,97,0}}, +/* 54326 */ {(12<<2)|2,{79,97,0}}, +/* 54327 */ {(12<<2)|2,{79,97,0}}, +/* 54328 */ {(12<<2)|2,{79,97,0}}, +/* 54329 */ {(12<<2)|2,{79,97,0}}, +/* 54330 */ {(12<<2)|2,{79,97,0}}, +/* 54331 */ {(12<<2)|2,{79,97,0}}, +/* 54332 */ {(12<<2)|2,{79,97,0}}, +/* 54333 */ {(12<<2)|2,{79,97,0}}, +/* 54334 */ {(12<<2)|2,{79,97,0}}, +/* 54335 */ {(12<<2)|2,{79,97,0}}, +/* 54336 */ {(12<<2)|2,{79,99,0}}, +/* 54337 */ {(12<<2)|2,{79,99,0}}, +/* 54338 */ {(12<<2)|2,{79,99,0}}, +/* 54339 */ {(12<<2)|2,{79,99,0}}, +/* 54340 */ {(12<<2)|2,{79,99,0}}, +/* 54341 */ {(12<<2)|2,{79,99,0}}, +/* 54342 */ {(12<<2)|2,{79,99,0}}, +/* 54343 */ {(12<<2)|2,{79,99,0}}, +/* 54344 */ {(12<<2)|2,{79,99,0}}, +/* 54345 */ {(12<<2)|2,{79,99,0}}, +/* 54346 */ {(12<<2)|2,{79,99,0}}, +/* 54347 */ {(12<<2)|2,{79,99,0}}, +/* 54348 */ {(12<<2)|2,{79,99,0}}, +/* 54349 */ {(12<<2)|2,{79,99,0}}, +/* 54350 */ {(12<<2)|2,{79,99,0}}, +/* 54351 */ {(12<<2)|2,{79,99,0}}, +/* 54352 */ {(12<<2)|2,{79,101,0}}, +/* 54353 */ {(12<<2)|2,{79,101,0}}, +/* 54354 */ {(12<<2)|2,{79,101,0}}, +/* 54355 */ {(12<<2)|2,{79,101,0}}, +/* 54356 */ {(12<<2)|2,{79,101,0}}, +/* 54357 */ {(12<<2)|2,{79,101,0}}, +/* 54358 */ {(12<<2)|2,{79,101,0}}, +/* 54359 */ {(12<<2)|2,{79,101,0}}, +/* 54360 */ {(12<<2)|2,{79,101,0}}, +/* 54361 */ {(12<<2)|2,{79,101,0}}, +/* 54362 */ {(12<<2)|2,{79,101,0}}, +/* 54363 */ {(12<<2)|2,{79,101,0}}, +/* 54364 */ {(12<<2)|2,{79,101,0}}, +/* 54365 */ {(12<<2)|2,{79,101,0}}, +/* 54366 */ {(12<<2)|2,{79,101,0}}, +/* 54367 */ {(12<<2)|2,{79,101,0}}, +/* 54368 */ {(12<<2)|2,{79,105,0}}, +/* 54369 */ {(12<<2)|2,{79,105,0}}, +/* 54370 */ {(12<<2)|2,{79,105,0}}, +/* 54371 */ {(12<<2)|2,{79,105,0}}, +/* 54372 */ {(12<<2)|2,{79,105,0}}, +/* 54373 */ {(12<<2)|2,{79,105,0}}, +/* 54374 */ {(12<<2)|2,{79,105,0}}, +/* 54375 */ {(12<<2)|2,{79,105,0}}, +/* 54376 */ {(12<<2)|2,{79,105,0}}, +/* 54377 */ {(12<<2)|2,{79,105,0}}, +/* 54378 */ {(12<<2)|2,{79,105,0}}, +/* 54379 */ {(12<<2)|2,{79,105,0}}, +/* 54380 */ {(12<<2)|2,{79,105,0}}, +/* 54381 */ {(12<<2)|2,{79,105,0}}, +/* 54382 */ {(12<<2)|2,{79,105,0}}, +/* 54383 */ {(12<<2)|2,{79,105,0}}, +/* 54384 */ {(12<<2)|2,{79,111,0}}, +/* 54385 */ {(12<<2)|2,{79,111,0}}, +/* 54386 */ {(12<<2)|2,{79,111,0}}, +/* 54387 */ {(12<<2)|2,{79,111,0}}, +/* 54388 */ {(12<<2)|2,{79,111,0}}, +/* 54389 */ {(12<<2)|2,{79,111,0}}, +/* 54390 */ {(12<<2)|2,{79,111,0}}, +/* 54391 */ {(12<<2)|2,{79,111,0}}, +/* 54392 */ {(12<<2)|2,{79,111,0}}, +/* 54393 */ {(12<<2)|2,{79,111,0}}, +/* 54394 */ {(12<<2)|2,{79,111,0}}, +/* 54395 */ {(12<<2)|2,{79,111,0}}, +/* 54396 */ {(12<<2)|2,{79,111,0}}, +/* 54397 */ {(12<<2)|2,{79,111,0}}, +/* 54398 */ {(12<<2)|2,{79,111,0}}, +/* 54399 */ {(12<<2)|2,{79,111,0}}, +/* 54400 */ {(12<<2)|2,{79,115,0}}, +/* 54401 */ {(12<<2)|2,{79,115,0}}, +/* 54402 */ {(12<<2)|2,{79,115,0}}, +/* 54403 */ {(12<<2)|2,{79,115,0}}, +/* 54404 */ {(12<<2)|2,{79,115,0}}, +/* 54405 */ {(12<<2)|2,{79,115,0}}, +/* 54406 */ {(12<<2)|2,{79,115,0}}, +/* 54407 */ {(12<<2)|2,{79,115,0}}, +/* 54408 */ {(12<<2)|2,{79,115,0}}, +/* 54409 */ {(12<<2)|2,{79,115,0}}, +/* 54410 */ {(12<<2)|2,{79,115,0}}, +/* 54411 */ {(12<<2)|2,{79,115,0}}, +/* 54412 */ {(12<<2)|2,{79,115,0}}, +/* 54413 */ {(12<<2)|2,{79,115,0}}, +/* 54414 */ {(12<<2)|2,{79,115,0}}, +/* 54415 */ {(12<<2)|2,{79,115,0}}, +/* 54416 */ {(12<<2)|2,{79,116,0}}, +/* 54417 */ {(12<<2)|2,{79,116,0}}, +/* 54418 */ {(12<<2)|2,{79,116,0}}, +/* 54419 */ {(12<<2)|2,{79,116,0}}, +/* 54420 */ {(12<<2)|2,{79,116,0}}, +/* 54421 */ {(12<<2)|2,{79,116,0}}, +/* 54422 */ {(12<<2)|2,{79,116,0}}, +/* 54423 */ {(12<<2)|2,{79,116,0}}, +/* 54424 */ {(12<<2)|2,{79,116,0}}, +/* 54425 */ {(12<<2)|2,{79,116,0}}, +/* 54426 */ {(12<<2)|2,{79,116,0}}, +/* 54427 */ {(12<<2)|2,{79,116,0}}, +/* 54428 */ {(12<<2)|2,{79,116,0}}, +/* 54429 */ {(12<<2)|2,{79,116,0}}, +/* 54430 */ {(12<<2)|2,{79,116,0}}, +/* 54431 */ {(12<<2)|2,{79,116,0}}, +/* 54432 */ {(13<<2)|2,{79,32,0}}, +/* 54433 */ {(13<<2)|2,{79,32,0}}, +/* 54434 */ {(13<<2)|2,{79,32,0}}, +/* 54435 */ {(13<<2)|2,{79,32,0}}, +/* 54436 */ {(13<<2)|2,{79,32,0}}, +/* 54437 */ {(13<<2)|2,{79,32,0}}, +/* 54438 */ {(13<<2)|2,{79,32,0}}, +/* 54439 */ {(13<<2)|2,{79,32,0}}, +/* 54440 */ {(13<<2)|2,{79,37,0}}, +/* 54441 */ {(13<<2)|2,{79,37,0}}, +/* 54442 */ {(13<<2)|2,{79,37,0}}, +/* 54443 */ {(13<<2)|2,{79,37,0}}, +/* 54444 */ {(13<<2)|2,{79,37,0}}, +/* 54445 */ {(13<<2)|2,{79,37,0}}, +/* 54446 */ {(13<<2)|2,{79,37,0}}, +/* 54447 */ {(13<<2)|2,{79,37,0}}, +/* 54448 */ {(13<<2)|2,{79,45,0}}, +/* 54449 */ {(13<<2)|2,{79,45,0}}, +/* 54450 */ {(13<<2)|2,{79,45,0}}, +/* 54451 */ {(13<<2)|2,{79,45,0}}, +/* 54452 */ {(13<<2)|2,{79,45,0}}, +/* 54453 */ {(13<<2)|2,{79,45,0}}, +/* 54454 */ {(13<<2)|2,{79,45,0}}, +/* 54455 */ {(13<<2)|2,{79,45,0}}, +/* 54456 */ {(13<<2)|2,{79,46,0}}, +/* 54457 */ {(13<<2)|2,{79,46,0}}, +/* 54458 */ {(13<<2)|2,{79,46,0}}, +/* 54459 */ {(13<<2)|2,{79,46,0}}, +/* 54460 */ {(13<<2)|2,{79,46,0}}, +/* 54461 */ {(13<<2)|2,{79,46,0}}, +/* 54462 */ {(13<<2)|2,{79,46,0}}, +/* 54463 */ {(13<<2)|2,{79,46,0}}, +/* 54464 */ {(13<<2)|2,{79,47,0}}, +/* 54465 */ {(13<<2)|2,{79,47,0}}, +/* 54466 */ {(13<<2)|2,{79,47,0}}, +/* 54467 */ {(13<<2)|2,{79,47,0}}, +/* 54468 */ {(13<<2)|2,{79,47,0}}, +/* 54469 */ {(13<<2)|2,{79,47,0}}, +/* 54470 */ {(13<<2)|2,{79,47,0}}, +/* 54471 */ {(13<<2)|2,{79,47,0}}, +/* 54472 */ {(13<<2)|2,{79,51,0}}, +/* 54473 */ {(13<<2)|2,{79,51,0}}, +/* 54474 */ {(13<<2)|2,{79,51,0}}, +/* 54475 */ {(13<<2)|2,{79,51,0}}, +/* 54476 */ {(13<<2)|2,{79,51,0}}, +/* 54477 */ {(13<<2)|2,{79,51,0}}, +/* 54478 */ {(13<<2)|2,{79,51,0}}, +/* 54479 */ {(13<<2)|2,{79,51,0}}, +/* 54480 */ {(13<<2)|2,{79,52,0}}, +/* 54481 */ {(13<<2)|2,{79,52,0}}, +/* 54482 */ {(13<<2)|2,{79,52,0}}, +/* 54483 */ {(13<<2)|2,{79,52,0}}, +/* 54484 */ {(13<<2)|2,{79,52,0}}, +/* 54485 */ {(13<<2)|2,{79,52,0}}, +/* 54486 */ {(13<<2)|2,{79,52,0}}, +/* 54487 */ {(13<<2)|2,{79,52,0}}, +/* 54488 */ {(13<<2)|2,{79,53,0}}, +/* 54489 */ {(13<<2)|2,{79,53,0}}, +/* 54490 */ {(13<<2)|2,{79,53,0}}, +/* 54491 */ {(13<<2)|2,{79,53,0}}, +/* 54492 */ {(13<<2)|2,{79,53,0}}, +/* 54493 */ {(13<<2)|2,{79,53,0}}, +/* 54494 */ {(13<<2)|2,{79,53,0}}, +/* 54495 */ {(13<<2)|2,{79,53,0}}, +/* 54496 */ {(13<<2)|2,{79,54,0}}, +/* 54497 */ {(13<<2)|2,{79,54,0}}, +/* 54498 */ {(13<<2)|2,{79,54,0}}, +/* 54499 */ {(13<<2)|2,{79,54,0}}, +/* 54500 */ {(13<<2)|2,{79,54,0}}, +/* 54501 */ {(13<<2)|2,{79,54,0}}, +/* 54502 */ {(13<<2)|2,{79,54,0}}, +/* 54503 */ {(13<<2)|2,{79,54,0}}, +/* 54504 */ {(13<<2)|2,{79,55,0}}, +/* 54505 */ {(13<<2)|2,{79,55,0}}, +/* 54506 */ {(13<<2)|2,{79,55,0}}, +/* 54507 */ {(13<<2)|2,{79,55,0}}, +/* 54508 */ {(13<<2)|2,{79,55,0}}, +/* 54509 */ {(13<<2)|2,{79,55,0}}, +/* 54510 */ {(13<<2)|2,{79,55,0}}, +/* 54511 */ {(13<<2)|2,{79,55,0}}, +/* 54512 */ {(13<<2)|2,{79,56,0}}, +/* 54513 */ {(13<<2)|2,{79,56,0}}, +/* 54514 */ {(13<<2)|2,{79,56,0}}, +/* 54515 */ {(13<<2)|2,{79,56,0}}, +/* 54516 */ {(13<<2)|2,{79,56,0}}, +/* 54517 */ {(13<<2)|2,{79,56,0}}, +/* 54518 */ {(13<<2)|2,{79,56,0}}, +/* 54519 */ {(13<<2)|2,{79,56,0}}, +/* 54520 */ {(13<<2)|2,{79,57,0}}, +/* 54521 */ {(13<<2)|2,{79,57,0}}, +/* 54522 */ {(13<<2)|2,{79,57,0}}, +/* 54523 */ {(13<<2)|2,{79,57,0}}, +/* 54524 */ {(13<<2)|2,{79,57,0}}, +/* 54525 */ {(13<<2)|2,{79,57,0}}, +/* 54526 */ {(13<<2)|2,{79,57,0}}, +/* 54527 */ {(13<<2)|2,{79,57,0}}, +/* 54528 */ {(13<<2)|2,{79,61,0}}, +/* 54529 */ {(13<<2)|2,{79,61,0}}, +/* 54530 */ {(13<<2)|2,{79,61,0}}, +/* 54531 */ {(13<<2)|2,{79,61,0}}, +/* 54532 */ {(13<<2)|2,{79,61,0}}, +/* 54533 */ {(13<<2)|2,{79,61,0}}, +/* 54534 */ {(13<<2)|2,{79,61,0}}, +/* 54535 */ {(13<<2)|2,{79,61,0}}, +/* 54536 */ {(13<<2)|2,{79,65,0}}, +/* 54537 */ {(13<<2)|2,{79,65,0}}, +/* 54538 */ {(13<<2)|2,{79,65,0}}, +/* 54539 */ {(13<<2)|2,{79,65,0}}, +/* 54540 */ {(13<<2)|2,{79,65,0}}, +/* 54541 */ {(13<<2)|2,{79,65,0}}, +/* 54542 */ {(13<<2)|2,{79,65,0}}, +/* 54543 */ {(13<<2)|2,{79,65,0}}, +/* 54544 */ {(13<<2)|2,{79,95,0}}, +/* 54545 */ {(13<<2)|2,{79,95,0}}, +/* 54546 */ {(13<<2)|2,{79,95,0}}, +/* 54547 */ {(13<<2)|2,{79,95,0}}, +/* 54548 */ {(13<<2)|2,{79,95,0}}, +/* 54549 */ {(13<<2)|2,{79,95,0}}, +/* 54550 */ {(13<<2)|2,{79,95,0}}, +/* 54551 */ {(13<<2)|2,{79,95,0}}, +/* 54552 */ {(13<<2)|2,{79,98,0}}, +/* 54553 */ {(13<<2)|2,{79,98,0}}, +/* 54554 */ {(13<<2)|2,{79,98,0}}, +/* 54555 */ {(13<<2)|2,{79,98,0}}, +/* 54556 */ {(13<<2)|2,{79,98,0}}, +/* 54557 */ {(13<<2)|2,{79,98,0}}, +/* 54558 */ {(13<<2)|2,{79,98,0}}, +/* 54559 */ {(13<<2)|2,{79,98,0}}, +/* 54560 */ {(13<<2)|2,{79,100,0}}, +/* 54561 */ {(13<<2)|2,{79,100,0}}, +/* 54562 */ {(13<<2)|2,{79,100,0}}, +/* 54563 */ {(13<<2)|2,{79,100,0}}, +/* 54564 */ {(13<<2)|2,{79,100,0}}, +/* 54565 */ {(13<<2)|2,{79,100,0}}, +/* 54566 */ {(13<<2)|2,{79,100,0}}, +/* 54567 */ {(13<<2)|2,{79,100,0}}, +/* 54568 */ {(13<<2)|2,{79,102,0}}, +/* 54569 */ {(13<<2)|2,{79,102,0}}, +/* 54570 */ {(13<<2)|2,{79,102,0}}, +/* 54571 */ {(13<<2)|2,{79,102,0}}, +/* 54572 */ {(13<<2)|2,{79,102,0}}, +/* 54573 */ {(13<<2)|2,{79,102,0}}, +/* 54574 */ {(13<<2)|2,{79,102,0}}, +/* 54575 */ {(13<<2)|2,{79,102,0}}, +/* 54576 */ {(13<<2)|2,{79,103,0}}, +/* 54577 */ {(13<<2)|2,{79,103,0}}, +/* 54578 */ {(13<<2)|2,{79,103,0}}, +/* 54579 */ {(13<<2)|2,{79,103,0}}, +/* 54580 */ {(13<<2)|2,{79,103,0}}, +/* 54581 */ {(13<<2)|2,{79,103,0}}, +/* 54582 */ {(13<<2)|2,{79,103,0}}, +/* 54583 */ {(13<<2)|2,{79,103,0}}, +/* 54584 */ {(13<<2)|2,{79,104,0}}, +/* 54585 */ {(13<<2)|2,{79,104,0}}, +/* 54586 */ {(13<<2)|2,{79,104,0}}, +/* 54587 */ {(13<<2)|2,{79,104,0}}, +/* 54588 */ {(13<<2)|2,{79,104,0}}, +/* 54589 */ {(13<<2)|2,{79,104,0}}, +/* 54590 */ {(13<<2)|2,{79,104,0}}, +/* 54591 */ {(13<<2)|2,{79,104,0}}, +/* 54592 */ {(13<<2)|2,{79,108,0}}, +/* 54593 */ {(13<<2)|2,{79,108,0}}, +/* 54594 */ {(13<<2)|2,{79,108,0}}, +/* 54595 */ {(13<<2)|2,{79,108,0}}, +/* 54596 */ {(13<<2)|2,{79,108,0}}, +/* 54597 */ {(13<<2)|2,{79,108,0}}, +/* 54598 */ {(13<<2)|2,{79,108,0}}, +/* 54599 */ {(13<<2)|2,{79,108,0}}, +/* 54600 */ {(13<<2)|2,{79,109,0}}, +/* 54601 */ {(13<<2)|2,{79,109,0}}, +/* 54602 */ {(13<<2)|2,{79,109,0}}, +/* 54603 */ {(13<<2)|2,{79,109,0}}, +/* 54604 */ {(13<<2)|2,{79,109,0}}, +/* 54605 */ {(13<<2)|2,{79,109,0}}, +/* 54606 */ {(13<<2)|2,{79,109,0}}, +/* 54607 */ {(13<<2)|2,{79,109,0}}, +/* 54608 */ {(13<<2)|2,{79,110,0}}, +/* 54609 */ {(13<<2)|2,{79,110,0}}, +/* 54610 */ {(13<<2)|2,{79,110,0}}, +/* 54611 */ {(13<<2)|2,{79,110,0}}, +/* 54612 */ {(13<<2)|2,{79,110,0}}, +/* 54613 */ {(13<<2)|2,{79,110,0}}, +/* 54614 */ {(13<<2)|2,{79,110,0}}, +/* 54615 */ {(13<<2)|2,{79,110,0}}, +/* 54616 */ {(13<<2)|2,{79,112,0}}, +/* 54617 */ {(13<<2)|2,{79,112,0}}, +/* 54618 */ {(13<<2)|2,{79,112,0}}, +/* 54619 */ {(13<<2)|2,{79,112,0}}, +/* 54620 */ {(13<<2)|2,{79,112,0}}, +/* 54621 */ {(13<<2)|2,{79,112,0}}, +/* 54622 */ {(13<<2)|2,{79,112,0}}, +/* 54623 */ {(13<<2)|2,{79,112,0}}, +/* 54624 */ {(13<<2)|2,{79,114,0}}, +/* 54625 */ {(13<<2)|2,{79,114,0}}, +/* 54626 */ {(13<<2)|2,{79,114,0}}, +/* 54627 */ {(13<<2)|2,{79,114,0}}, +/* 54628 */ {(13<<2)|2,{79,114,0}}, +/* 54629 */ {(13<<2)|2,{79,114,0}}, +/* 54630 */ {(13<<2)|2,{79,114,0}}, +/* 54631 */ {(13<<2)|2,{79,114,0}}, +/* 54632 */ {(13<<2)|2,{79,117,0}}, +/* 54633 */ {(13<<2)|2,{79,117,0}}, +/* 54634 */ {(13<<2)|2,{79,117,0}}, +/* 54635 */ {(13<<2)|2,{79,117,0}}, +/* 54636 */ {(13<<2)|2,{79,117,0}}, +/* 54637 */ {(13<<2)|2,{79,117,0}}, +/* 54638 */ {(13<<2)|2,{79,117,0}}, +/* 54639 */ {(13<<2)|2,{79,117,0}}, +/* 54640 */ {(14<<2)|2,{79,58,0}}, +/* 54641 */ {(14<<2)|2,{79,58,0}}, +/* 54642 */ {(14<<2)|2,{79,58,0}}, +/* 54643 */ {(14<<2)|2,{79,58,0}}, +/* 54644 */ {(14<<2)|2,{79,66,0}}, +/* 54645 */ {(14<<2)|2,{79,66,0}}, +/* 54646 */ {(14<<2)|2,{79,66,0}}, +/* 54647 */ {(14<<2)|2,{79,66,0}}, +/* 54648 */ {(14<<2)|2,{79,67,0}}, +/* 54649 */ {(14<<2)|2,{79,67,0}}, +/* 54650 */ {(14<<2)|2,{79,67,0}}, +/* 54651 */ {(14<<2)|2,{79,67,0}}, +/* 54652 */ {(14<<2)|2,{79,68,0}}, +/* 54653 */ {(14<<2)|2,{79,68,0}}, +/* 54654 */ {(14<<2)|2,{79,68,0}}, +/* 54655 */ {(14<<2)|2,{79,68,0}}, +/* 54656 */ {(14<<2)|2,{79,69,0}}, +/* 54657 */ {(14<<2)|2,{79,69,0}}, +/* 54658 */ {(14<<2)|2,{79,69,0}}, +/* 54659 */ {(14<<2)|2,{79,69,0}}, +/* 54660 */ {(14<<2)|2,{79,70,0}}, +/* 54661 */ {(14<<2)|2,{79,70,0}}, +/* 54662 */ {(14<<2)|2,{79,70,0}}, +/* 54663 */ {(14<<2)|2,{79,70,0}}, +/* 54664 */ {(14<<2)|2,{79,71,0}}, +/* 54665 */ {(14<<2)|2,{79,71,0}}, +/* 54666 */ {(14<<2)|2,{79,71,0}}, +/* 54667 */ {(14<<2)|2,{79,71,0}}, +/* 54668 */ {(14<<2)|2,{79,72,0}}, +/* 54669 */ {(14<<2)|2,{79,72,0}}, +/* 54670 */ {(14<<2)|2,{79,72,0}}, +/* 54671 */ {(14<<2)|2,{79,72,0}}, +/* 54672 */ {(14<<2)|2,{79,73,0}}, +/* 54673 */ {(14<<2)|2,{79,73,0}}, +/* 54674 */ {(14<<2)|2,{79,73,0}}, +/* 54675 */ {(14<<2)|2,{79,73,0}}, +/* 54676 */ {(14<<2)|2,{79,74,0}}, +/* 54677 */ {(14<<2)|2,{79,74,0}}, +/* 54678 */ {(14<<2)|2,{79,74,0}}, +/* 54679 */ {(14<<2)|2,{79,74,0}}, +/* 54680 */ {(14<<2)|2,{79,75,0}}, +/* 54681 */ {(14<<2)|2,{79,75,0}}, +/* 54682 */ {(14<<2)|2,{79,75,0}}, +/* 54683 */ {(14<<2)|2,{79,75,0}}, +/* 54684 */ {(14<<2)|2,{79,76,0}}, +/* 54685 */ {(14<<2)|2,{79,76,0}}, +/* 54686 */ {(14<<2)|2,{79,76,0}}, +/* 54687 */ {(14<<2)|2,{79,76,0}}, +/* 54688 */ {(14<<2)|2,{79,77,0}}, +/* 54689 */ {(14<<2)|2,{79,77,0}}, +/* 54690 */ {(14<<2)|2,{79,77,0}}, +/* 54691 */ {(14<<2)|2,{79,77,0}}, +/* 54692 */ {(14<<2)|2,{79,78,0}}, +/* 54693 */ {(14<<2)|2,{79,78,0}}, +/* 54694 */ {(14<<2)|2,{79,78,0}}, +/* 54695 */ {(14<<2)|2,{79,78,0}}, +/* 54696 */ {(14<<2)|2,{79,79,0}}, +/* 54697 */ {(14<<2)|2,{79,79,0}}, +/* 54698 */ {(14<<2)|2,{79,79,0}}, +/* 54699 */ {(14<<2)|2,{79,79,0}}, +/* 54700 */ {(14<<2)|2,{79,80,0}}, +/* 54701 */ {(14<<2)|2,{79,80,0}}, +/* 54702 */ {(14<<2)|2,{79,80,0}}, +/* 54703 */ {(14<<2)|2,{79,80,0}}, +/* 54704 */ {(14<<2)|2,{79,81,0}}, +/* 54705 */ {(14<<2)|2,{79,81,0}}, +/* 54706 */ {(14<<2)|2,{79,81,0}}, +/* 54707 */ {(14<<2)|2,{79,81,0}}, +/* 54708 */ {(14<<2)|2,{79,82,0}}, +/* 54709 */ {(14<<2)|2,{79,82,0}}, +/* 54710 */ {(14<<2)|2,{79,82,0}}, +/* 54711 */ {(14<<2)|2,{79,82,0}}, +/* 54712 */ {(14<<2)|2,{79,83,0}}, +/* 54713 */ {(14<<2)|2,{79,83,0}}, +/* 54714 */ {(14<<2)|2,{79,83,0}}, +/* 54715 */ {(14<<2)|2,{79,83,0}}, +/* 54716 */ {(14<<2)|2,{79,84,0}}, +/* 54717 */ {(14<<2)|2,{79,84,0}}, +/* 54718 */ {(14<<2)|2,{79,84,0}}, +/* 54719 */ {(14<<2)|2,{79,84,0}}, +/* 54720 */ {(14<<2)|2,{79,85,0}}, +/* 54721 */ {(14<<2)|2,{79,85,0}}, +/* 54722 */ {(14<<2)|2,{79,85,0}}, +/* 54723 */ {(14<<2)|2,{79,85,0}}, +/* 54724 */ {(14<<2)|2,{79,86,0}}, +/* 54725 */ {(14<<2)|2,{79,86,0}}, +/* 54726 */ {(14<<2)|2,{79,86,0}}, +/* 54727 */ {(14<<2)|2,{79,86,0}}, +/* 54728 */ {(14<<2)|2,{79,87,0}}, +/* 54729 */ {(14<<2)|2,{79,87,0}}, +/* 54730 */ {(14<<2)|2,{79,87,0}}, +/* 54731 */ {(14<<2)|2,{79,87,0}}, +/* 54732 */ {(14<<2)|2,{79,89,0}}, +/* 54733 */ {(14<<2)|2,{79,89,0}}, +/* 54734 */ {(14<<2)|2,{79,89,0}}, +/* 54735 */ {(14<<2)|2,{79,89,0}}, +/* 54736 */ {(14<<2)|2,{79,106,0}}, +/* 54737 */ {(14<<2)|2,{79,106,0}}, +/* 54738 */ {(14<<2)|2,{79,106,0}}, +/* 54739 */ {(14<<2)|2,{79,106,0}}, +/* 54740 */ {(14<<2)|2,{79,107,0}}, +/* 54741 */ {(14<<2)|2,{79,107,0}}, +/* 54742 */ {(14<<2)|2,{79,107,0}}, +/* 54743 */ {(14<<2)|2,{79,107,0}}, +/* 54744 */ {(14<<2)|2,{79,113,0}}, +/* 54745 */ {(14<<2)|2,{79,113,0}}, +/* 54746 */ {(14<<2)|2,{79,113,0}}, +/* 54747 */ {(14<<2)|2,{79,113,0}}, +/* 54748 */ {(14<<2)|2,{79,118,0}}, +/* 54749 */ {(14<<2)|2,{79,118,0}}, +/* 54750 */ {(14<<2)|2,{79,118,0}}, +/* 54751 */ {(14<<2)|2,{79,118,0}}, +/* 54752 */ {(14<<2)|2,{79,119,0}}, +/* 54753 */ {(14<<2)|2,{79,119,0}}, +/* 54754 */ {(14<<2)|2,{79,119,0}}, +/* 54755 */ {(14<<2)|2,{79,119,0}}, +/* 54756 */ {(14<<2)|2,{79,120,0}}, +/* 54757 */ {(14<<2)|2,{79,120,0}}, +/* 54758 */ {(14<<2)|2,{79,120,0}}, +/* 54759 */ {(14<<2)|2,{79,120,0}}, +/* 54760 */ {(14<<2)|2,{79,121,0}}, +/* 54761 */ {(14<<2)|2,{79,121,0}}, +/* 54762 */ {(14<<2)|2,{79,121,0}}, +/* 54763 */ {(14<<2)|2,{79,121,0}}, +/* 54764 */ {(14<<2)|2,{79,122,0}}, +/* 54765 */ {(14<<2)|2,{79,122,0}}, +/* 54766 */ {(14<<2)|2,{79,122,0}}, +/* 54767 */ {(14<<2)|2,{79,122,0}}, +/* 54768 */ {(15<<2)|2,{79,38,0}}, +/* 54769 */ {(15<<2)|2,{79,38,0}}, +/* 54770 */ {(15<<2)|2,{79,42,0}}, +/* 54771 */ {(15<<2)|2,{79,42,0}}, +/* 54772 */ {(15<<2)|2,{79,44,0}}, +/* 54773 */ {(15<<2)|2,{79,44,0}}, +/* 54774 */ {(15<<2)|2,{79,59,0}}, +/* 54775 */ {(15<<2)|2,{79,59,0}}, +/* 54776 */ {(15<<2)|2,{79,88,0}}, +/* 54777 */ {(15<<2)|2,{79,88,0}}, +/* 54778 */ {(15<<2)|2,{79,90,0}}, +/* 54779 */ {(15<<2)|2,{79,90,0}}, +/* 54780 */ {(7<<2)|1,{79,0,0}}, +/* 54781 */ {(7<<2)|1,{79,0,0}}, +/* 54782 */ {(7<<2)|1,{79,0,0}}, +/* 54783 */ {(7<<2)|1,{79,0,0}}, +/* 54784 */ {(12<<2)|2,{80,48,0}}, +/* 54785 */ {(12<<2)|2,{80,48,0}}, +/* 54786 */ {(12<<2)|2,{80,48,0}}, +/* 54787 */ {(12<<2)|2,{80,48,0}}, +/* 54788 */ {(12<<2)|2,{80,48,0}}, +/* 54789 */ {(12<<2)|2,{80,48,0}}, +/* 54790 */ {(12<<2)|2,{80,48,0}}, +/* 54791 */ {(12<<2)|2,{80,48,0}}, +/* 54792 */ {(12<<2)|2,{80,48,0}}, +/* 54793 */ {(12<<2)|2,{80,48,0}}, +/* 54794 */ {(12<<2)|2,{80,48,0}}, +/* 54795 */ {(12<<2)|2,{80,48,0}}, +/* 54796 */ {(12<<2)|2,{80,48,0}}, +/* 54797 */ {(12<<2)|2,{80,48,0}}, +/* 54798 */ {(12<<2)|2,{80,48,0}}, +/* 54799 */ {(12<<2)|2,{80,48,0}}, +/* 54800 */ {(12<<2)|2,{80,49,0}}, +/* 54801 */ {(12<<2)|2,{80,49,0}}, +/* 54802 */ {(12<<2)|2,{80,49,0}}, +/* 54803 */ {(12<<2)|2,{80,49,0}}, +/* 54804 */ {(12<<2)|2,{80,49,0}}, +/* 54805 */ {(12<<2)|2,{80,49,0}}, +/* 54806 */ {(12<<2)|2,{80,49,0}}, +/* 54807 */ {(12<<2)|2,{80,49,0}}, +/* 54808 */ {(12<<2)|2,{80,49,0}}, +/* 54809 */ {(12<<2)|2,{80,49,0}}, +/* 54810 */ {(12<<2)|2,{80,49,0}}, +/* 54811 */ {(12<<2)|2,{80,49,0}}, +/* 54812 */ {(12<<2)|2,{80,49,0}}, +/* 54813 */ {(12<<2)|2,{80,49,0}}, +/* 54814 */ {(12<<2)|2,{80,49,0}}, +/* 54815 */ {(12<<2)|2,{80,49,0}}, +/* 54816 */ {(12<<2)|2,{80,50,0}}, +/* 54817 */ {(12<<2)|2,{80,50,0}}, +/* 54818 */ {(12<<2)|2,{80,50,0}}, +/* 54819 */ {(12<<2)|2,{80,50,0}}, +/* 54820 */ {(12<<2)|2,{80,50,0}}, +/* 54821 */ {(12<<2)|2,{80,50,0}}, +/* 54822 */ {(12<<2)|2,{80,50,0}}, +/* 54823 */ {(12<<2)|2,{80,50,0}}, +/* 54824 */ {(12<<2)|2,{80,50,0}}, +/* 54825 */ {(12<<2)|2,{80,50,0}}, +/* 54826 */ {(12<<2)|2,{80,50,0}}, +/* 54827 */ {(12<<2)|2,{80,50,0}}, +/* 54828 */ {(12<<2)|2,{80,50,0}}, +/* 54829 */ {(12<<2)|2,{80,50,0}}, +/* 54830 */ {(12<<2)|2,{80,50,0}}, +/* 54831 */ {(12<<2)|2,{80,50,0}}, +/* 54832 */ {(12<<2)|2,{80,97,0}}, +/* 54833 */ {(12<<2)|2,{80,97,0}}, +/* 54834 */ {(12<<2)|2,{80,97,0}}, +/* 54835 */ {(12<<2)|2,{80,97,0}}, +/* 54836 */ {(12<<2)|2,{80,97,0}}, +/* 54837 */ {(12<<2)|2,{80,97,0}}, +/* 54838 */ {(12<<2)|2,{80,97,0}}, +/* 54839 */ {(12<<2)|2,{80,97,0}}, +/* 54840 */ {(12<<2)|2,{80,97,0}}, +/* 54841 */ {(12<<2)|2,{80,97,0}}, +/* 54842 */ {(12<<2)|2,{80,97,0}}, +/* 54843 */ {(12<<2)|2,{80,97,0}}, +/* 54844 */ {(12<<2)|2,{80,97,0}}, +/* 54845 */ {(12<<2)|2,{80,97,0}}, +/* 54846 */ {(12<<2)|2,{80,97,0}}, +/* 54847 */ {(12<<2)|2,{80,97,0}}, +/* 54848 */ {(12<<2)|2,{80,99,0}}, +/* 54849 */ {(12<<2)|2,{80,99,0}}, +/* 54850 */ {(12<<2)|2,{80,99,0}}, +/* 54851 */ {(12<<2)|2,{80,99,0}}, +/* 54852 */ {(12<<2)|2,{80,99,0}}, +/* 54853 */ {(12<<2)|2,{80,99,0}}, +/* 54854 */ {(12<<2)|2,{80,99,0}}, +/* 54855 */ {(12<<2)|2,{80,99,0}}, +/* 54856 */ {(12<<2)|2,{80,99,0}}, +/* 54857 */ {(12<<2)|2,{80,99,0}}, +/* 54858 */ {(12<<2)|2,{80,99,0}}, +/* 54859 */ {(12<<2)|2,{80,99,0}}, +/* 54860 */ {(12<<2)|2,{80,99,0}}, +/* 54861 */ {(12<<2)|2,{80,99,0}}, +/* 54862 */ {(12<<2)|2,{80,99,0}}, +/* 54863 */ {(12<<2)|2,{80,99,0}}, +/* 54864 */ {(12<<2)|2,{80,101,0}}, +/* 54865 */ {(12<<2)|2,{80,101,0}}, +/* 54866 */ {(12<<2)|2,{80,101,0}}, +/* 54867 */ {(12<<2)|2,{80,101,0}}, +/* 54868 */ {(12<<2)|2,{80,101,0}}, +/* 54869 */ {(12<<2)|2,{80,101,0}}, +/* 54870 */ {(12<<2)|2,{80,101,0}}, +/* 54871 */ {(12<<2)|2,{80,101,0}}, +/* 54872 */ {(12<<2)|2,{80,101,0}}, +/* 54873 */ {(12<<2)|2,{80,101,0}}, +/* 54874 */ {(12<<2)|2,{80,101,0}}, +/* 54875 */ {(12<<2)|2,{80,101,0}}, +/* 54876 */ {(12<<2)|2,{80,101,0}}, +/* 54877 */ {(12<<2)|2,{80,101,0}}, +/* 54878 */ {(12<<2)|2,{80,101,0}}, +/* 54879 */ {(12<<2)|2,{80,101,0}}, +/* 54880 */ {(12<<2)|2,{80,105,0}}, +/* 54881 */ {(12<<2)|2,{80,105,0}}, +/* 54882 */ {(12<<2)|2,{80,105,0}}, +/* 54883 */ {(12<<2)|2,{80,105,0}}, +/* 54884 */ {(12<<2)|2,{80,105,0}}, +/* 54885 */ {(12<<2)|2,{80,105,0}}, +/* 54886 */ {(12<<2)|2,{80,105,0}}, +/* 54887 */ {(12<<2)|2,{80,105,0}}, +/* 54888 */ {(12<<2)|2,{80,105,0}}, +/* 54889 */ {(12<<2)|2,{80,105,0}}, +/* 54890 */ {(12<<2)|2,{80,105,0}}, +/* 54891 */ {(12<<2)|2,{80,105,0}}, +/* 54892 */ {(12<<2)|2,{80,105,0}}, +/* 54893 */ {(12<<2)|2,{80,105,0}}, +/* 54894 */ {(12<<2)|2,{80,105,0}}, +/* 54895 */ {(12<<2)|2,{80,105,0}}, +/* 54896 */ {(12<<2)|2,{80,111,0}}, +/* 54897 */ {(12<<2)|2,{80,111,0}}, +/* 54898 */ {(12<<2)|2,{80,111,0}}, +/* 54899 */ {(12<<2)|2,{80,111,0}}, +/* 54900 */ {(12<<2)|2,{80,111,0}}, +/* 54901 */ {(12<<2)|2,{80,111,0}}, +/* 54902 */ {(12<<2)|2,{80,111,0}}, +/* 54903 */ {(12<<2)|2,{80,111,0}}, +/* 54904 */ {(12<<2)|2,{80,111,0}}, +/* 54905 */ {(12<<2)|2,{80,111,0}}, +/* 54906 */ {(12<<2)|2,{80,111,0}}, +/* 54907 */ {(12<<2)|2,{80,111,0}}, +/* 54908 */ {(12<<2)|2,{80,111,0}}, +/* 54909 */ {(12<<2)|2,{80,111,0}}, +/* 54910 */ {(12<<2)|2,{80,111,0}}, +/* 54911 */ {(12<<2)|2,{80,111,0}}, +/* 54912 */ {(12<<2)|2,{80,115,0}}, +/* 54913 */ {(12<<2)|2,{80,115,0}}, +/* 54914 */ {(12<<2)|2,{80,115,0}}, +/* 54915 */ {(12<<2)|2,{80,115,0}}, +/* 54916 */ {(12<<2)|2,{80,115,0}}, +/* 54917 */ {(12<<2)|2,{80,115,0}}, +/* 54918 */ {(12<<2)|2,{80,115,0}}, +/* 54919 */ {(12<<2)|2,{80,115,0}}, +/* 54920 */ {(12<<2)|2,{80,115,0}}, +/* 54921 */ {(12<<2)|2,{80,115,0}}, +/* 54922 */ {(12<<2)|2,{80,115,0}}, +/* 54923 */ {(12<<2)|2,{80,115,0}}, +/* 54924 */ {(12<<2)|2,{80,115,0}}, +/* 54925 */ {(12<<2)|2,{80,115,0}}, +/* 54926 */ {(12<<2)|2,{80,115,0}}, +/* 54927 */ {(12<<2)|2,{80,115,0}}, +/* 54928 */ {(12<<2)|2,{80,116,0}}, +/* 54929 */ {(12<<2)|2,{80,116,0}}, +/* 54930 */ {(12<<2)|2,{80,116,0}}, +/* 54931 */ {(12<<2)|2,{80,116,0}}, +/* 54932 */ {(12<<2)|2,{80,116,0}}, +/* 54933 */ {(12<<2)|2,{80,116,0}}, +/* 54934 */ {(12<<2)|2,{80,116,0}}, +/* 54935 */ {(12<<2)|2,{80,116,0}}, +/* 54936 */ {(12<<2)|2,{80,116,0}}, +/* 54937 */ {(12<<2)|2,{80,116,0}}, +/* 54938 */ {(12<<2)|2,{80,116,0}}, +/* 54939 */ {(12<<2)|2,{80,116,0}}, +/* 54940 */ {(12<<2)|2,{80,116,0}}, +/* 54941 */ {(12<<2)|2,{80,116,0}}, +/* 54942 */ {(12<<2)|2,{80,116,0}}, +/* 54943 */ {(12<<2)|2,{80,116,0}}, +/* 54944 */ {(13<<2)|2,{80,32,0}}, +/* 54945 */ {(13<<2)|2,{80,32,0}}, +/* 54946 */ {(13<<2)|2,{80,32,0}}, +/* 54947 */ {(13<<2)|2,{80,32,0}}, +/* 54948 */ {(13<<2)|2,{80,32,0}}, +/* 54949 */ {(13<<2)|2,{80,32,0}}, +/* 54950 */ {(13<<2)|2,{80,32,0}}, +/* 54951 */ {(13<<2)|2,{80,32,0}}, +/* 54952 */ {(13<<2)|2,{80,37,0}}, +/* 54953 */ {(13<<2)|2,{80,37,0}}, +/* 54954 */ {(13<<2)|2,{80,37,0}}, +/* 54955 */ {(13<<2)|2,{80,37,0}}, +/* 54956 */ {(13<<2)|2,{80,37,0}}, +/* 54957 */ {(13<<2)|2,{80,37,0}}, +/* 54958 */ {(13<<2)|2,{80,37,0}}, +/* 54959 */ {(13<<2)|2,{80,37,0}}, +/* 54960 */ {(13<<2)|2,{80,45,0}}, +/* 54961 */ {(13<<2)|2,{80,45,0}}, +/* 54962 */ {(13<<2)|2,{80,45,0}}, +/* 54963 */ {(13<<2)|2,{80,45,0}}, +/* 54964 */ {(13<<2)|2,{80,45,0}}, +/* 54965 */ {(13<<2)|2,{80,45,0}}, +/* 54966 */ {(13<<2)|2,{80,45,0}}, +/* 54967 */ {(13<<2)|2,{80,45,0}}, +/* 54968 */ {(13<<2)|2,{80,46,0}}, +/* 54969 */ {(13<<2)|2,{80,46,0}}, +/* 54970 */ {(13<<2)|2,{80,46,0}}, +/* 54971 */ {(13<<2)|2,{80,46,0}}, +/* 54972 */ {(13<<2)|2,{80,46,0}}, +/* 54973 */ {(13<<2)|2,{80,46,0}}, +/* 54974 */ {(13<<2)|2,{80,46,0}}, +/* 54975 */ {(13<<2)|2,{80,46,0}}, +/* 54976 */ {(13<<2)|2,{80,47,0}}, +/* 54977 */ {(13<<2)|2,{80,47,0}}, +/* 54978 */ {(13<<2)|2,{80,47,0}}, +/* 54979 */ {(13<<2)|2,{80,47,0}}, +/* 54980 */ {(13<<2)|2,{80,47,0}}, +/* 54981 */ {(13<<2)|2,{80,47,0}}, +/* 54982 */ {(13<<2)|2,{80,47,0}}, +/* 54983 */ {(13<<2)|2,{80,47,0}}, +/* 54984 */ {(13<<2)|2,{80,51,0}}, +/* 54985 */ {(13<<2)|2,{80,51,0}}, +/* 54986 */ {(13<<2)|2,{80,51,0}}, +/* 54987 */ {(13<<2)|2,{80,51,0}}, +/* 54988 */ {(13<<2)|2,{80,51,0}}, +/* 54989 */ {(13<<2)|2,{80,51,0}}, +/* 54990 */ {(13<<2)|2,{80,51,0}}, +/* 54991 */ {(13<<2)|2,{80,51,0}}, +/* 54992 */ {(13<<2)|2,{80,52,0}}, +/* 54993 */ {(13<<2)|2,{80,52,0}}, +/* 54994 */ {(13<<2)|2,{80,52,0}}, +/* 54995 */ {(13<<2)|2,{80,52,0}}, +/* 54996 */ {(13<<2)|2,{80,52,0}}, +/* 54997 */ {(13<<2)|2,{80,52,0}}, +/* 54998 */ {(13<<2)|2,{80,52,0}}, +/* 54999 */ {(13<<2)|2,{80,52,0}}, +/* 55000 */ {(13<<2)|2,{80,53,0}}, +/* 55001 */ {(13<<2)|2,{80,53,0}}, +/* 55002 */ {(13<<2)|2,{80,53,0}}, +/* 55003 */ {(13<<2)|2,{80,53,0}}, +/* 55004 */ {(13<<2)|2,{80,53,0}}, +/* 55005 */ {(13<<2)|2,{80,53,0}}, +/* 55006 */ {(13<<2)|2,{80,53,0}}, +/* 55007 */ {(13<<2)|2,{80,53,0}}, +/* 55008 */ {(13<<2)|2,{80,54,0}}, +/* 55009 */ {(13<<2)|2,{80,54,0}}, +/* 55010 */ {(13<<2)|2,{80,54,0}}, +/* 55011 */ {(13<<2)|2,{80,54,0}}, +/* 55012 */ {(13<<2)|2,{80,54,0}}, +/* 55013 */ {(13<<2)|2,{80,54,0}}, +/* 55014 */ {(13<<2)|2,{80,54,0}}, +/* 55015 */ {(13<<2)|2,{80,54,0}}, +/* 55016 */ {(13<<2)|2,{80,55,0}}, +/* 55017 */ {(13<<2)|2,{80,55,0}}, +/* 55018 */ {(13<<2)|2,{80,55,0}}, +/* 55019 */ {(13<<2)|2,{80,55,0}}, +/* 55020 */ {(13<<2)|2,{80,55,0}}, +/* 55021 */ {(13<<2)|2,{80,55,0}}, +/* 55022 */ {(13<<2)|2,{80,55,0}}, +/* 55023 */ {(13<<2)|2,{80,55,0}}, +/* 55024 */ {(13<<2)|2,{80,56,0}}, +/* 55025 */ {(13<<2)|2,{80,56,0}}, +/* 55026 */ {(13<<2)|2,{80,56,0}}, +/* 55027 */ {(13<<2)|2,{80,56,0}}, +/* 55028 */ {(13<<2)|2,{80,56,0}}, +/* 55029 */ {(13<<2)|2,{80,56,0}}, +/* 55030 */ {(13<<2)|2,{80,56,0}}, +/* 55031 */ {(13<<2)|2,{80,56,0}}, +/* 55032 */ {(13<<2)|2,{80,57,0}}, +/* 55033 */ {(13<<2)|2,{80,57,0}}, +/* 55034 */ {(13<<2)|2,{80,57,0}}, +/* 55035 */ {(13<<2)|2,{80,57,0}}, +/* 55036 */ {(13<<2)|2,{80,57,0}}, +/* 55037 */ {(13<<2)|2,{80,57,0}}, +/* 55038 */ {(13<<2)|2,{80,57,0}}, +/* 55039 */ {(13<<2)|2,{80,57,0}}, +/* 55040 */ {(13<<2)|2,{80,61,0}}, +/* 55041 */ {(13<<2)|2,{80,61,0}}, +/* 55042 */ {(13<<2)|2,{80,61,0}}, +/* 55043 */ {(13<<2)|2,{80,61,0}}, +/* 55044 */ {(13<<2)|2,{80,61,0}}, +/* 55045 */ {(13<<2)|2,{80,61,0}}, +/* 55046 */ {(13<<2)|2,{80,61,0}}, +/* 55047 */ {(13<<2)|2,{80,61,0}}, +/* 55048 */ {(13<<2)|2,{80,65,0}}, +/* 55049 */ {(13<<2)|2,{80,65,0}}, +/* 55050 */ {(13<<2)|2,{80,65,0}}, +/* 55051 */ {(13<<2)|2,{80,65,0}}, +/* 55052 */ {(13<<2)|2,{80,65,0}}, +/* 55053 */ {(13<<2)|2,{80,65,0}}, +/* 55054 */ {(13<<2)|2,{80,65,0}}, +/* 55055 */ {(13<<2)|2,{80,65,0}}, +/* 55056 */ {(13<<2)|2,{80,95,0}}, +/* 55057 */ {(13<<2)|2,{80,95,0}}, +/* 55058 */ {(13<<2)|2,{80,95,0}}, +/* 55059 */ {(13<<2)|2,{80,95,0}}, +/* 55060 */ {(13<<2)|2,{80,95,0}}, +/* 55061 */ {(13<<2)|2,{80,95,0}}, +/* 55062 */ {(13<<2)|2,{80,95,0}}, +/* 55063 */ {(13<<2)|2,{80,95,0}}, +/* 55064 */ {(13<<2)|2,{80,98,0}}, +/* 55065 */ {(13<<2)|2,{80,98,0}}, +/* 55066 */ {(13<<2)|2,{80,98,0}}, +/* 55067 */ {(13<<2)|2,{80,98,0}}, +/* 55068 */ {(13<<2)|2,{80,98,0}}, +/* 55069 */ {(13<<2)|2,{80,98,0}}, +/* 55070 */ {(13<<2)|2,{80,98,0}}, +/* 55071 */ {(13<<2)|2,{80,98,0}}, +/* 55072 */ {(13<<2)|2,{80,100,0}}, +/* 55073 */ {(13<<2)|2,{80,100,0}}, +/* 55074 */ {(13<<2)|2,{80,100,0}}, +/* 55075 */ {(13<<2)|2,{80,100,0}}, +/* 55076 */ {(13<<2)|2,{80,100,0}}, +/* 55077 */ {(13<<2)|2,{80,100,0}}, +/* 55078 */ {(13<<2)|2,{80,100,0}}, +/* 55079 */ {(13<<2)|2,{80,100,0}}, +/* 55080 */ {(13<<2)|2,{80,102,0}}, +/* 55081 */ {(13<<2)|2,{80,102,0}}, +/* 55082 */ {(13<<2)|2,{80,102,0}}, +/* 55083 */ {(13<<2)|2,{80,102,0}}, +/* 55084 */ {(13<<2)|2,{80,102,0}}, +/* 55085 */ {(13<<2)|2,{80,102,0}}, +/* 55086 */ {(13<<2)|2,{80,102,0}}, +/* 55087 */ {(13<<2)|2,{80,102,0}}, +/* 55088 */ {(13<<2)|2,{80,103,0}}, +/* 55089 */ {(13<<2)|2,{80,103,0}}, +/* 55090 */ {(13<<2)|2,{80,103,0}}, +/* 55091 */ {(13<<2)|2,{80,103,0}}, +/* 55092 */ {(13<<2)|2,{80,103,0}}, +/* 55093 */ {(13<<2)|2,{80,103,0}}, +/* 55094 */ {(13<<2)|2,{80,103,0}}, +/* 55095 */ {(13<<2)|2,{80,103,0}}, +/* 55096 */ {(13<<2)|2,{80,104,0}}, +/* 55097 */ {(13<<2)|2,{80,104,0}}, +/* 55098 */ {(13<<2)|2,{80,104,0}}, +/* 55099 */ {(13<<2)|2,{80,104,0}}, +/* 55100 */ {(13<<2)|2,{80,104,0}}, +/* 55101 */ {(13<<2)|2,{80,104,0}}, +/* 55102 */ {(13<<2)|2,{80,104,0}}, +/* 55103 */ {(13<<2)|2,{80,104,0}}, +/* 55104 */ {(13<<2)|2,{80,108,0}}, +/* 55105 */ {(13<<2)|2,{80,108,0}}, +/* 55106 */ {(13<<2)|2,{80,108,0}}, +/* 55107 */ {(13<<2)|2,{80,108,0}}, +/* 55108 */ {(13<<2)|2,{80,108,0}}, +/* 55109 */ {(13<<2)|2,{80,108,0}}, +/* 55110 */ {(13<<2)|2,{80,108,0}}, +/* 55111 */ {(13<<2)|2,{80,108,0}}, +/* 55112 */ {(13<<2)|2,{80,109,0}}, +/* 55113 */ {(13<<2)|2,{80,109,0}}, +/* 55114 */ {(13<<2)|2,{80,109,0}}, +/* 55115 */ {(13<<2)|2,{80,109,0}}, +/* 55116 */ {(13<<2)|2,{80,109,0}}, +/* 55117 */ {(13<<2)|2,{80,109,0}}, +/* 55118 */ {(13<<2)|2,{80,109,0}}, +/* 55119 */ {(13<<2)|2,{80,109,0}}, +/* 55120 */ {(13<<2)|2,{80,110,0}}, +/* 55121 */ {(13<<2)|2,{80,110,0}}, +/* 55122 */ {(13<<2)|2,{80,110,0}}, +/* 55123 */ {(13<<2)|2,{80,110,0}}, +/* 55124 */ {(13<<2)|2,{80,110,0}}, +/* 55125 */ {(13<<2)|2,{80,110,0}}, +/* 55126 */ {(13<<2)|2,{80,110,0}}, +/* 55127 */ {(13<<2)|2,{80,110,0}}, +/* 55128 */ {(13<<2)|2,{80,112,0}}, +/* 55129 */ {(13<<2)|2,{80,112,0}}, +/* 55130 */ {(13<<2)|2,{80,112,0}}, +/* 55131 */ {(13<<2)|2,{80,112,0}}, +/* 55132 */ {(13<<2)|2,{80,112,0}}, +/* 55133 */ {(13<<2)|2,{80,112,0}}, +/* 55134 */ {(13<<2)|2,{80,112,0}}, +/* 55135 */ {(13<<2)|2,{80,112,0}}, +/* 55136 */ {(13<<2)|2,{80,114,0}}, +/* 55137 */ {(13<<2)|2,{80,114,0}}, +/* 55138 */ {(13<<2)|2,{80,114,0}}, +/* 55139 */ {(13<<2)|2,{80,114,0}}, +/* 55140 */ {(13<<2)|2,{80,114,0}}, +/* 55141 */ {(13<<2)|2,{80,114,0}}, +/* 55142 */ {(13<<2)|2,{80,114,0}}, +/* 55143 */ {(13<<2)|2,{80,114,0}}, +/* 55144 */ {(13<<2)|2,{80,117,0}}, +/* 55145 */ {(13<<2)|2,{80,117,0}}, +/* 55146 */ {(13<<2)|2,{80,117,0}}, +/* 55147 */ {(13<<2)|2,{80,117,0}}, +/* 55148 */ {(13<<2)|2,{80,117,0}}, +/* 55149 */ {(13<<2)|2,{80,117,0}}, +/* 55150 */ {(13<<2)|2,{80,117,0}}, +/* 55151 */ {(13<<2)|2,{80,117,0}}, +/* 55152 */ {(14<<2)|2,{80,58,0}}, +/* 55153 */ {(14<<2)|2,{80,58,0}}, +/* 55154 */ {(14<<2)|2,{80,58,0}}, +/* 55155 */ {(14<<2)|2,{80,58,0}}, +/* 55156 */ {(14<<2)|2,{80,66,0}}, +/* 55157 */ {(14<<2)|2,{80,66,0}}, +/* 55158 */ {(14<<2)|2,{80,66,0}}, +/* 55159 */ {(14<<2)|2,{80,66,0}}, +/* 55160 */ {(14<<2)|2,{80,67,0}}, +/* 55161 */ {(14<<2)|2,{80,67,0}}, +/* 55162 */ {(14<<2)|2,{80,67,0}}, +/* 55163 */ {(14<<2)|2,{80,67,0}}, +/* 55164 */ {(14<<2)|2,{80,68,0}}, +/* 55165 */ {(14<<2)|2,{80,68,0}}, +/* 55166 */ {(14<<2)|2,{80,68,0}}, +/* 55167 */ {(14<<2)|2,{80,68,0}}, +/* 55168 */ {(14<<2)|2,{80,69,0}}, +/* 55169 */ {(14<<2)|2,{80,69,0}}, +/* 55170 */ {(14<<2)|2,{80,69,0}}, +/* 55171 */ {(14<<2)|2,{80,69,0}}, +/* 55172 */ {(14<<2)|2,{80,70,0}}, +/* 55173 */ {(14<<2)|2,{80,70,0}}, +/* 55174 */ {(14<<2)|2,{80,70,0}}, +/* 55175 */ {(14<<2)|2,{80,70,0}}, +/* 55176 */ {(14<<2)|2,{80,71,0}}, +/* 55177 */ {(14<<2)|2,{80,71,0}}, +/* 55178 */ {(14<<2)|2,{80,71,0}}, +/* 55179 */ {(14<<2)|2,{80,71,0}}, +/* 55180 */ {(14<<2)|2,{80,72,0}}, +/* 55181 */ {(14<<2)|2,{80,72,0}}, +/* 55182 */ {(14<<2)|2,{80,72,0}}, +/* 55183 */ {(14<<2)|2,{80,72,0}}, +/* 55184 */ {(14<<2)|2,{80,73,0}}, +/* 55185 */ {(14<<2)|2,{80,73,0}}, +/* 55186 */ {(14<<2)|2,{80,73,0}}, +/* 55187 */ {(14<<2)|2,{80,73,0}}, +/* 55188 */ {(14<<2)|2,{80,74,0}}, +/* 55189 */ {(14<<2)|2,{80,74,0}}, +/* 55190 */ {(14<<2)|2,{80,74,0}}, +/* 55191 */ {(14<<2)|2,{80,74,0}}, +/* 55192 */ {(14<<2)|2,{80,75,0}}, +/* 55193 */ {(14<<2)|2,{80,75,0}}, +/* 55194 */ {(14<<2)|2,{80,75,0}}, +/* 55195 */ {(14<<2)|2,{80,75,0}}, +/* 55196 */ {(14<<2)|2,{80,76,0}}, +/* 55197 */ {(14<<2)|2,{80,76,0}}, +/* 55198 */ {(14<<2)|2,{80,76,0}}, +/* 55199 */ {(14<<2)|2,{80,76,0}}, +/* 55200 */ {(14<<2)|2,{80,77,0}}, +/* 55201 */ {(14<<2)|2,{80,77,0}}, +/* 55202 */ {(14<<2)|2,{80,77,0}}, +/* 55203 */ {(14<<2)|2,{80,77,0}}, +/* 55204 */ {(14<<2)|2,{80,78,0}}, +/* 55205 */ {(14<<2)|2,{80,78,0}}, +/* 55206 */ {(14<<2)|2,{80,78,0}}, +/* 55207 */ {(14<<2)|2,{80,78,0}}, +/* 55208 */ {(14<<2)|2,{80,79,0}}, +/* 55209 */ {(14<<2)|2,{80,79,0}}, +/* 55210 */ {(14<<2)|2,{80,79,0}}, +/* 55211 */ {(14<<2)|2,{80,79,0}}, +/* 55212 */ {(14<<2)|2,{80,80,0}}, +/* 55213 */ {(14<<2)|2,{80,80,0}}, +/* 55214 */ {(14<<2)|2,{80,80,0}}, +/* 55215 */ {(14<<2)|2,{80,80,0}}, +/* 55216 */ {(14<<2)|2,{80,81,0}}, +/* 55217 */ {(14<<2)|2,{80,81,0}}, +/* 55218 */ {(14<<2)|2,{80,81,0}}, +/* 55219 */ {(14<<2)|2,{80,81,0}}, +/* 55220 */ {(14<<2)|2,{80,82,0}}, +/* 55221 */ {(14<<2)|2,{80,82,0}}, +/* 55222 */ {(14<<2)|2,{80,82,0}}, +/* 55223 */ {(14<<2)|2,{80,82,0}}, +/* 55224 */ {(14<<2)|2,{80,83,0}}, +/* 55225 */ {(14<<2)|2,{80,83,0}}, +/* 55226 */ {(14<<2)|2,{80,83,0}}, +/* 55227 */ {(14<<2)|2,{80,83,0}}, +/* 55228 */ {(14<<2)|2,{80,84,0}}, +/* 55229 */ {(14<<2)|2,{80,84,0}}, +/* 55230 */ {(14<<2)|2,{80,84,0}}, +/* 55231 */ {(14<<2)|2,{80,84,0}}, +/* 55232 */ {(14<<2)|2,{80,85,0}}, +/* 55233 */ {(14<<2)|2,{80,85,0}}, +/* 55234 */ {(14<<2)|2,{80,85,0}}, +/* 55235 */ {(14<<2)|2,{80,85,0}}, +/* 55236 */ {(14<<2)|2,{80,86,0}}, +/* 55237 */ {(14<<2)|2,{80,86,0}}, +/* 55238 */ {(14<<2)|2,{80,86,0}}, +/* 55239 */ {(14<<2)|2,{80,86,0}}, +/* 55240 */ {(14<<2)|2,{80,87,0}}, +/* 55241 */ {(14<<2)|2,{80,87,0}}, +/* 55242 */ {(14<<2)|2,{80,87,0}}, +/* 55243 */ {(14<<2)|2,{80,87,0}}, +/* 55244 */ {(14<<2)|2,{80,89,0}}, +/* 55245 */ {(14<<2)|2,{80,89,0}}, +/* 55246 */ {(14<<2)|2,{80,89,0}}, +/* 55247 */ {(14<<2)|2,{80,89,0}}, +/* 55248 */ {(14<<2)|2,{80,106,0}}, +/* 55249 */ {(14<<2)|2,{80,106,0}}, +/* 55250 */ {(14<<2)|2,{80,106,0}}, +/* 55251 */ {(14<<2)|2,{80,106,0}}, +/* 55252 */ {(14<<2)|2,{80,107,0}}, +/* 55253 */ {(14<<2)|2,{80,107,0}}, +/* 55254 */ {(14<<2)|2,{80,107,0}}, +/* 55255 */ {(14<<2)|2,{80,107,0}}, +/* 55256 */ {(14<<2)|2,{80,113,0}}, +/* 55257 */ {(14<<2)|2,{80,113,0}}, +/* 55258 */ {(14<<2)|2,{80,113,0}}, +/* 55259 */ {(14<<2)|2,{80,113,0}}, +/* 55260 */ {(14<<2)|2,{80,118,0}}, +/* 55261 */ {(14<<2)|2,{80,118,0}}, +/* 55262 */ {(14<<2)|2,{80,118,0}}, +/* 55263 */ {(14<<2)|2,{80,118,0}}, +/* 55264 */ {(14<<2)|2,{80,119,0}}, +/* 55265 */ {(14<<2)|2,{80,119,0}}, +/* 55266 */ {(14<<2)|2,{80,119,0}}, +/* 55267 */ {(14<<2)|2,{80,119,0}}, +/* 55268 */ {(14<<2)|2,{80,120,0}}, +/* 55269 */ {(14<<2)|2,{80,120,0}}, +/* 55270 */ {(14<<2)|2,{80,120,0}}, +/* 55271 */ {(14<<2)|2,{80,120,0}}, +/* 55272 */ {(14<<2)|2,{80,121,0}}, +/* 55273 */ {(14<<2)|2,{80,121,0}}, +/* 55274 */ {(14<<2)|2,{80,121,0}}, +/* 55275 */ {(14<<2)|2,{80,121,0}}, +/* 55276 */ {(14<<2)|2,{80,122,0}}, +/* 55277 */ {(14<<2)|2,{80,122,0}}, +/* 55278 */ {(14<<2)|2,{80,122,0}}, +/* 55279 */ {(14<<2)|2,{80,122,0}}, +/* 55280 */ {(15<<2)|2,{80,38,0}}, +/* 55281 */ {(15<<2)|2,{80,38,0}}, +/* 55282 */ {(15<<2)|2,{80,42,0}}, +/* 55283 */ {(15<<2)|2,{80,42,0}}, +/* 55284 */ {(15<<2)|2,{80,44,0}}, +/* 55285 */ {(15<<2)|2,{80,44,0}}, +/* 55286 */ {(15<<2)|2,{80,59,0}}, +/* 55287 */ {(15<<2)|2,{80,59,0}}, +/* 55288 */ {(15<<2)|2,{80,88,0}}, +/* 55289 */ {(15<<2)|2,{80,88,0}}, +/* 55290 */ {(15<<2)|2,{80,90,0}}, +/* 55291 */ {(15<<2)|2,{80,90,0}}, +/* 55292 */ {(7<<2)|1,{80,0,0}}, +/* 55293 */ {(7<<2)|1,{80,0,0}}, +/* 55294 */ {(7<<2)|1,{80,0,0}}, +/* 55295 */ {(7<<2)|1,{80,0,0}}, +/* 55296 */ {(12<<2)|2,{81,48,0}}, +/* 55297 */ {(12<<2)|2,{81,48,0}}, +/* 55298 */ {(12<<2)|2,{81,48,0}}, +/* 55299 */ {(12<<2)|2,{81,48,0}}, +/* 55300 */ {(12<<2)|2,{81,48,0}}, +/* 55301 */ {(12<<2)|2,{81,48,0}}, +/* 55302 */ {(12<<2)|2,{81,48,0}}, +/* 55303 */ {(12<<2)|2,{81,48,0}}, +/* 55304 */ {(12<<2)|2,{81,48,0}}, +/* 55305 */ {(12<<2)|2,{81,48,0}}, +/* 55306 */ {(12<<2)|2,{81,48,0}}, +/* 55307 */ {(12<<2)|2,{81,48,0}}, +/* 55308 */ {(12<<2)|2,{81,48,0}}, +/* 55309 */ {(12<<2)|2,{81,48,0}}, +/* 55310 */ {(12<<2)|2,{81,48,0}}, +/* 55311 */ {(12<<2)|2,{81,48,0}}, +/* 55312 */ {(12<<2)|2,{81,49,0}}, +/* 55313 */ {(12<<2)|2,{81,49,0}}, +/* 55314 */ {(12<<2)|2,{81,49,0}}, +/* 55315 */ {(12<<2)|2,{81,49,0}}, +/* 55316 */ {(12<<2)|2,{81,49,0}}, +/* 55317 */ {(12<<2)|2,{81,49,0}}, +/* 55318 */ {(12<<2)|2,{81,49,0}}, +/* 55319 */ {(12<<2)|2,{81,49,0}}, +/* 55320 */ {(12<<2)|2,{81,49,0}}, +/* 55321 */ {(12<<2)|2,{81,49,0}}, +/* 55322 */ {(12<<2)|2,{81,49,0}}, +/* 55323 */ {(12<<2)|2,{81,49,0}}, +/* 55324 */ {(12<<2)|2,{81,49,0}}, +/* 55325 */ {(12<<2)|2,{81,49,0}}, +/* 55326 */ {(12<<2)|2,{81,49,0}}, +/* 55327 */ {(12<<2)|2,{81,49,0}}, +/* 55328 */ {(12<<2)|2,{81,50,0}}, +/* 55329 */ {(12<<2)|2,{81,50,0}}, +/* 55330 */ {(12<<2)|2,{81,50,0}}, +/* 55331 */ {(12<<2)|2,{81,50,0}}, +/* 55332 */ {(12<<2)|2,{81,50,0}}, +/* 55333 */ {(12<<2)|2,{81,50,0}}, +/* 55334 */ {(12<<2)|2,{81,50,0}}, +/* 55335 */ {(12<<2)|2,{81,50,0}}, +/* 55336 */ {(12<<2)|2,{81,50,0}}, +/* 55337 */ {(12<<2)|2,{81,50,0}}, +/* 55338 */ {(12<<2)|2,{81,50,0}}, +/* 55339 */ {(12<<2)|2,{81,50,0}}, +/* 55340 */ {(12<<2)|2,{81,50,0}}, +/* 55341 */ {(12<<2)|2,{81,50,0}}, +/* 55342 */ {(12<<2)|2,{81,50,0}}, +/* 55343 */ {(12<<2)|2,{81,50,0}}, +/* 55344 */ {(12<<2)|2,{81,97,0}}, +/* 55345 */ {(12<<2)|2,{81,97,0}}, +/* 55346 */ {(12<<2)|2,{81,97,0}}, +/* 55347 */ {(12<<2)|2,{81,97,0}}, +/* 55348 */ {(12<<2)|2,{81,97,0}}, +/* 55349 */ {(12<<2)|2,{81,97,0}}, +/* 55350 */ {(12<<2)|2,{81,97,0}}, +/* 55351 */ {(12<<2)|2,{81,97,0}}, +/* 55352 */ {(12<<2)|2,{81,97,0}}, +/* 55353 */ {(12<<2)|2,{81,97,0}}, +/* 55354 */ {(12<<2)|2,{81,97,0}}, +/* 55355 */ {(12<<2)|2,{81,97,0}}, +/* 55356 */ {(12<<2)|2,{81,97,0}}, +/* 55357 */ {(12<<2)|2,{81,97,0}}, +/* 55358 */ {(12<<2)|2,{81,97,0}}, +/* 55359 */ {(12<<2)|2,{81,97,0}}, +/* 55360 */ {(12<<2)|2,{81,99,0}}, +/* 55361 */ {(12<<2)|2,{81,99,0}}, +/* 55362 */ {(12<<2)|2,{81,99,0}}, +/* 55363 */ {(12<<2)|2,{81,99,0}}, +/* 55364 */ {(12<<2)|2,{81,99,0}}, +/* 55365 */ {(12<<2)|2,{81,99,0}}, +/* 55366 */ {(12<<2)|2,{81,99,0}}, +/* 55367 */ {(12<<2)|2,{81,99,0}}, +/* 55368 */ {(12<<2)|2,{81,99,0}}, +/* 55369 */ {(12<<2)|2,{81,99,0}}, +/* 55370 */ {(12<<2)|2,{81,99,0}}, +/* 55371 */ {(12<<2)|2,{81,99,0}}, +/* 55372 */ {(12<<2)|2,{81,99,0}}, +/* 55373 */ {(12<<2)|2,{81,99,0}}, +/* 55374 */ {(12<<2)|2,{81,99,0}}, +/* 55375 */ {(12<<2)|2,{81,99,0}}, +/* 55376 */ {(12<<2)|2,{81,101,0}}, +/* 55377 */ {(12<<2)|2,{81,101,0}}, +/* 55378 */ {(12<<2)|2,{81,101,0}}, +/* 55379 */ {(12<<2)|2,{81,101,0}}, +/* 55380 */ {(12<<2)|2,{81,101,0}}, +/* 55381 */ {(12<<2)|2,{81,101,0}}, +/* 55382 */ {(12<<2)|2,{81,101,0}}, +/* 55383 */ {(12<<2)|2,{81,101,0}}, +/* 55384 */ {(12<<2)|2,{81,101,0}}, +/* 55385 */ {(12<<2)|2,{81,101,0}}, +/* 55386 */ {(12<<2)|2,{81,101,0}}, +/* 55387 */ {(12<<2)|2,{81,101,0}}, +/* 55388 */ {(12<<2)|2,{81,101,0}}, +/* 55389 */ {(12<<2)|2,{81,101,0}}, +/* 55390 */ {(12<<2)|2,{81,101,0}}, +/* 55391 */ {(12<<2)|2,{81,101,0}}, +/* 55392 */ {(12<<2)|2,{81,105,0}}, +/* 55393 */ {(12<<2)|2,{81,105,0}}, +/* 55394 */ {(12<<2)|2,{81,105,0}}, +/* 55395 */ {(12<<2)|2,{81,105,0}}, +/* 55396 */ {(12<<2)|2,{81,105,0}}, +/* 55397 */ {(12<<2)|2,{81,105,0}}, +/* 55398 */ {(12<<2)|2,{81,105,0}}, +/* 55399 */ {(12<<2)|2,{81,105,0}}, +/* 55400 */ {(12<<2)|2,{81,105,0}}, +/* 55401 */ {(12<<2)|2,{81,105,0}}, +/* 55402 */ {(12<<2)|2,{81,105,0}}, +/* 55403 */ {(12<<2)|2,{81,105,0}}, +/* 55404 */ {(12<<2)|2,{81,105,0}}, +/* 55405 */ {(12<<2)|2,{81,105,0}}, +/* 55406 */ {(12<<2)|2,{81,105,0}}, +/* 55407 */ {(12<<2)|2,{81,105,0}}, +/* 55408 */ {(12<<2)|2,{81,111,0}}, +/* 55409 */ {(12<<2)|2,{81,111,0}}, +/* 55410 */ {(12<<2)|2,{81,111,0}}, +/* 55411 */ {(12<<2)|2,{81,111,0}}, +/* 55412 */ {(12<<2)|2,{81,111,0}}, +/* 55413 */ {(12<<2)|2,{81,111,0}}, +/* 55414 */ {(12<<2)|2,{81,111,0}}, +/* 55415 */ {(12<<2)|2,{81,111,0}}, +/* 55416 */ {(12<<2)|2,{81,111,0}}, +/* 55417 */ {(12<<2)|2,{81,111,0}}, +/* 55418 */ {(12<<2)|2,{81,111,0}}, +/* 55419 */ {(12<<2)|2,{81,111,0}}, +/* 55420 */ {(12<<2)|2,{81,111,0}}, +/* 55421 */ {(12<<2)|2,{81,111,0}}, +/* 55422 */ {(12<<2)|2,{81,111,0}}, +/* 55423 */ {(12<<2)|2,{81,111,0}}, +/* 55424 */ {(12<<2)|2,{81,115,0}}, +/* 55425 */ {(12<<2)|2,{81,115,0}}, +/* 55426 */ {(12<<2)|2,{81,115,0}}, +/* 55427 */ {(12<<2)|2,{81,115,0}}, +/* 55428 */ {(12<<2)|2,{81,115,0}}, +/* 55429 */ {(12<<2)|2,{81,115,0}}, +/* 55430 */ {(12<<2)|2,{81,115,0}}, +/* 55431 */ {(12<<2)|2,{81,115,0}}, +/* 55432 */ {(12<<2)|2,{81,115,0}}, +/* 55433 */ {(12<<2)|2,{81,115,0}}, +/* 55434 */ {(12<<2)|2,{81,115,0}}, +/* 55435 */ {(12<<2)|2,{81,115,0}}, +/* 55436 */ {(12<<2)|2,{81,115,0}}, +/* 55437 */ {(12<<2)|2,{81,115,0}}, +/* 55438 */ {(12<<2)|2,{81,115,0}}, +/* 55439 */ {(12<<2)|2,{81,115,0}}, +/* 55440 */ {(12<<2)|2,{81,116,0}}, +/* 55441 */ {(12<<2)|2,{81,116,0}}, +/* 55442 */ {(12<<2)|2,{81,116,0}}, +/* 55443 */ {(12<<2)|2,{81,116,0}}, +/* 55444 */ {(12<<2)|2,{81,116,0}}, +/* 55445 */ {(12<<2)|2,{81,116,0}}, +/* 55446 */ {(12<<2)|2,{81,116,0}}, +/* 55447 */ {(12<<2)|2,{81,116,0}}, +/* 55448 */ {(12<<2)|2,{81,116,0}}, +/* 55449 */ {(12<<2)|2,{81,116,0}}, +/* 55450 */ {(12<<2)|2,{81,116,0}}, +/* 55451 */ {(12<<2)|2,{81,116,0}}, +/* 55452 */ {(12<<2)|2,{81,116,0}}, +/* 55453 */ {(12<<2)|2,{81,116,0}}, +/* 55454 */ {(12<<2)|2,{81,116,0}}, +/* 55455 */ {(12<<2)|2,{81,116,0}}, +/* 55456 */ {(13<<2)|2,{81,32,0}}, +/* 55457 */ {(13<<2)|2,{81,32,0}}, +/* 55458 */ {(13<<2)|2,{81,32,0}}, +/* 55459 */ {(13<<2)|2,{81,32,0}}, +/* 55460 */ {(13<<2)|2,{81,32,0}}, +/* 55461 */ {(13<<2)|2,{81,32,0}}, +/* 55462 */ {(13<<2)|2,{81,32,0}}, +/* 55463 */ {(13<<2)|2,{81,32,0}}, +/* 55464 */ {(13<<2)|2,{81,37,0}}, +/* 55465 */ {(13<<2)|2,{81,37,0}}, +/* 55466 */ {(13<<2)|2,{81,37,0}}, +/* 55467 */ {(13<<2)|2,{81,37,0}}, +/* 55468 */ {(13<<2)|2,{81,37,0}}, +/* 55469 */ {(13<<2)|2,{81,37,0}}, +/* 55470 */ {(13<<2)|2,{81,37,0}}, +/* 55471 */ {(13<<2)|2,{81,37,0}}, +/* 55472 */ {(13<<2)|2,{81,45,0}}, +/* 55473 */ {(13<<2)|2,{81,45,0}}, +/* 55474 */ {(13<<2)|2,{81,45,0}}, +/* 55475 */ {(13<<2)|2,{81,45,0}}, +/* 55476 */ {(13<<2)|2,{81,45,0}}, +/* 55477 */ {(13<<2)|2,{81,45,0}}, +/* 55478 */ {(13<<2)|2,{81,45,0}}, +/* 55479 */ {(13<<2)|2,{81,45,0}}, +/* 55480 */ {(13<<2)|2,{81,46,0}}, +/* 55481 */ {(13<<2)|2,{81,46,0}}, +/* 55482 */ {(13<<2)|2,{81,46,0}}, +/* 55483 */ {(13<<2)|2,{81,46,0}}, +/* 55484 */ {(13<<2)|2,{81,46,0}}, +/* 55485 */ {(13<<2)|2,{81,46,0}}, +/* 55486 */ {(13<<2)|2,{81,46,0}}, +/* 55487 */ {(13<<2)|2,{81,46,0}}, +/* 55488 */ {(13<<2)|2,{81,47,0}}, +/* 55489 */ {(13<<2)|2,{81,47,0}}, +/* 55490 */ {(13<<2)|2,{81,47,0}}, +/* 55491 */ {(13<<2)|2,{81,47,0}}, +/* 55492 */ {(13<<2)|2,{81,47,0}}, +/* 55493 */ {(13<<2)|2,{81,47,0}}, +/* 55494 */ {(13<<2)|2,{81,47,0}}, +/* 55495 */ {(13<<2)|2,{81,47,0}}, +/* 55496 */ {(13<<2)|2,{81,51,0}}, +/* 55497 */ {(13<<2)|2,{81,51,0}}, +/* 55498 */ {(13<<2)|2,{81,51,0}}, +/* 55499 */ {(13<<2)|2,{81,51,0}}, +/* 55500 */ {(13<<2)|2,{81,51,0}}, +/* 55501 */ {(13<<2)|2,{81,51,0}}, +/* 55502 */ {(13<<2)|2,{81,51,0}}, +/* 55503 */ {(13<<2)|2,{81,51,0}}, +/* 55504 */ {(13<<2)|2,{81,52,0}}, +/* 55505 */ {(13<<2)|2,{81,52,0}}, +/* 55506 */ {(13<<2)|2,{81,52,0}}, +/* 55507 */ {(13<<2)|2,{81,52,0}}, +/* 55508 */ {(13<<2)|2,{81,52,0}}, +/* 55509 */ {(13<<2)|2,{81,52,0}}, +/* 55510 */ {(13<<2)|2,{81,52,0}}, +/* 55511 */ {(13<<2)|2,{81,52,0}}, +/* 55512 */ {(13<<2)|2,{81,53,0}}, +/* 55513 */ {(13<<2)|2,{81,53,0}}, +/* 55514 */ {(13<<2)|2,{81,53,0}}, +/* 55515 */ {(13<<2)|2,{81,53,0}}, +/* 55516 */ {(13<<2)|2,{81,53,0}}, +/* 55517 */ {(13<<2)|2,{81,53,0}}, +/* 55518 */ {(13<<2)|2,{81,53,0}}, +/* 55519 */ {(13<<2)|2,{81,53,0}}, +/* 55520 */ {(13<<2)|2,{81,54,0}}, +/* 55521 */ {(13<<2)|2,{81,54,0}}, +/* 55522 */ {(13<<2)|2,{81,54,0}}, +/* 55523 */ {(13<<2)|2,{81,54,0}}, +/* 55524 */ {(13<<2)|2,{81,54,0}}, +/* 55525 */ {(13<<2)|2,{81,54,0}}, +/* 55526 */ {(13<<2)|2,{81,54,0}}, +/* 55527 */ {(13<<2)|2,{81,54,0}}, +/* 55528 */ {(13<<2)|2,{81,55,0}}, +/* 55529 */ {(13<<2)|2,{81,55,0}}, +/* 55530 */ {(13<<2)|2,{81,55,0}}, +/* 55531 */ {(13<<2)|2,{81,55,0}}, +/* 55532 */ {(13<<2)|2,{81,55,0}}, +/* 55533 */ {(13<<2)|2,{81,55,0}}, +/* 55534 */ {(13<<2)|2,{81,55,0}}, +/* 55535 */ {(13<<2)|2,{81,55,0}}, +/* 55536 */ {(13<<2)|2,{81,56,0}}, +/* 55537 */ {(13<<2)|2,{81,56,0}}, +/* 55538 */ {(13<<2)|2,{81,56,0}}, +/* 55539 */ {(13<<2)|2,{81,56,0}}, +/* 55540 */ {(13<<2)|2,{81,56,0}}, +/* 55541 */ {(13<<2)|2,{81,56,0}}, +/* 55542 */ {(13<<2)|2,{81,56,0}}, +/* 55543 */ {(13<<2)|2,{81,56,0}}, +/* 55544 */ {(13<<2)|2,{81,57,0}}, +/* 55545 */ {(13<<2)|2,{81,57,0}}, +/* 55546 */ {(13<<2)|2,{81,57,0}}, +/* 55547 */ {(13<<2)|2,{81,57,0}}, +/* 55548 */ {(13<<2)|2,{81,57,0}}, +/* 55549 */ {(13<<2)|2,{81,57,0}}, +/* 55550 */ {(13<<2)|2,{81,57,0}}, +/* 55551 */ {(13<<2)|2,{81,57,0}}, +/* 55552 */ {(13<<2)|2,{81,61,0}}, +/* 55553 */ {(13<<2)|2,{81,61,0}}, +/* 55554 */ {(13<<2)|2,{81,61,0}}, +/* 55555 */ {(13<<2)|2,{81,61,0}}, +/* 55556 */ {(13<<2)|2,{81,61,0}}, +/* 55557 */ {(13<<2)|2,{81,61,0}}, +/* 55558 */ {(13<<2)|2,{81,61,0}}, +/* 55559 */ {(13<<2)|2,{81,61,0}}, +/* 55560 */ {(13<<2)|2,{81,65,0}}, +/* 55561 */ {(13<<2)|2,{81,65,0}}, +/* 55562 */ {(13<<2)|2,{81,65,0}}, +/* 55563 */ {(13<<2)|2,{81,65,0}}, +/* 55564 */ {(13<<2)|2,{81,65,0}}, +/* 55565 */ {(13<<2)|2,{81,65,0}}, +/* 55566 */ {(13<<2)|2,{81,65,0}}, +/* 55567 */ {(13<<2)|2,{81,65,0}}, +/* 55568 */ {(13<<2)|2,{81,95,0}}, +/* 55569 */ {(13<<2)|2,{81,95,0}}, +/* 55570 */ {(13<<2)|2,{81,95,0}}, +/* 55571 */ {(13<<2)|2,{81,95,0}}, +/* 55572 */ {(13<<2)|2,{81,95,0}}, +/* 55573 */ {(13<<2)|2,{81,95,0}}, +/* 55574 */ {(13<<2)|2,{81,95,0}}, +/* 55575 */ {(13<<2)|2,{81,95,0}}, +/* 55576 */ {(13<<2)|2,{81,98,0}}, +/* 55577 */ {(13<<2)|2,{81,98,0}}, +/* 55578 */ {(13<<2)|2,{81,98,0}}, +/* 55579 */ {(13<<2)|2,{81,98,0}}, +/* 55580 */ {(13<<2)|2,{81,98,0}}, +/* 55581 */ {(13<<2)|2,{81,98,0}}, +/* 55582 */ {(13<<2)|2,{81,98,0}}, +/* 55583 */ {(13<<2)|2,{81,98,0}}, +/* 55584 */ {(13<<2)|2,{81,100,0}}, +/* 55585 */ {(13<<2)|2,{81,100,0}}, +/* 55586 */ {(13<<2)|2,{81,100,0}}, +/* 55587 */ {(13<<2)|2,{81,100,0}}, +/* 55588 */ {(13<<2)|2,{81,100,0}}, +/* 55589 */ {(13<<2)|2,{81,100,0}}, +/* 55590 */ {(13<<2)|2,{81,100,0}}, +/* 55591 */ {(13<<2)|2,{81,100,0}}, +/* 55592 */ {(13<<2)|2,{81,102,0}}, +/* 55593 */ {(13<<2)|2,{81,102,0}}, +/* 55594 */ {(13<<2)|2,{81,102,0}}, +/* 55595 */ {(13<<2)|2,{81,102,0}}, +/* 55596 */ {(13<<2)|2,{81,102,0}}, +/* 55597 */ {(13<<2)|2,{81,102,0}}, +/* 55598 */ {(13<<2)|2,{81,102,0}}, +/* 55599 */ {(13<<2)|2,{81,102,0}}, +/* 55600 */ {(13<<2)|2,{81,103,0}}, +/* 55601 */ {(13<<2)|2,{81,103,0}}, +/* 55602 */ {(13<<2)|2,{81,103,0}}, +/* 55603 */ {(13<<2)|2,{81,103,0}}, +/* 55604 */ {(13<<2)|2,{81,103,0}}, +/* 55605 */ {(13<<2)|2,{81,103,0}}, +/* 55606 */ {(13<<2)|2,{81,103,0}}, +/* 55607 */ {(13<<2)|2,{81,103,0}}, +/* 55608 */ {(13<<2)|2,{81,104,0}}, +/* 55609 */ {(13<<2)|2,{81,104,0}}, +/* 55610 */ {(13<<2)|2,{81,104,0}}, +/* 55611 */ {(13<<2)|2,{81,104,0}}, +/* 55612 */ {(13<<2)|2,{81,104,0}}, +/* 55613 */ {(13<<2)|2,{81,104,0}}, +/* 55614 */ {(13<<2)|2,{81,104,0}}, +/* 55615 */ {(13<<2)|2,{81,104,0}}, +/* 55616 */ {(13<<2)|2,{81,108,0}}, +/* 55617 */ {(13<<2)|2,{81,108,0}}, +/* 55618 */ {(13<<2)|2,{81,108,0}}, +/* 55619 */ {(13<<2)|2,{81,108,0}}, +/* 55620 */ {(13<<2)|2,{81,108,0}}, +/* 55621 */ {(13<<2)|2,{81,108,0}}, +/* 55622 */ {(13<<2)|2,{81,108,0}}, +/* 55623 */ {(13<<2)|2,{81,108,0}}, +/* 55624 */ {(13<<2)|2,{81,109,0}}, +/* 55625 */ {(13<<2)|2,{81,109,0}}, +/* 55626 */ {(13<<2)|2,{81,109,0}}, +/* 55627 */ {(13<<2)|2,{81,109,0}}, +/* 55628 */ {(13<<2)|2,{81,109,0}}, +/* 55629 */ {(13<<2)|2,{81,109,0}}, +/* 55630 */ {(13<<2)|2,{81,109,0}}, +/* 55631 */ {(13<<2)|2,{81,109,0}}, +/* 55632 */ {(13<<2)|2,{81,110,0}}, +/* 55633 */ {(13<<2)|2,{81,110,0}}, +/* 55634 */ {(13<<2)|2,{81,110,0}}, +/* 55635 */ {(13<<2)|2,{81,110,0}}, +/* 55636 */ {(13<<2)|2,{81,110,0}}, +/* 55637 */ {(13<<2)|2,{81,110,0}}, +/* 55638 */ {(13<<2)|2,{81,110,0}}, +/* 55639 */ {(13<<2)|2,{81,110,0}}, +/* 55640 */ {(13<<2)|2,{81,112,0}}, +/* 55641 */ {(13<<2)|2,{81,112,0}}, +/* 55642 */ {(13<<2)|2,{81,112,0}}, +/* 55643 */ {(13<<2)|2,{81,112,0}}, +/* 55644 */ {(13<<2)|2,{81,112,0}}, +/* 55645 */ {(13<<2)|2,{81,112,0}}, +/* 55646 */ {(13<<2)|2,{81,112,0}}, +/* 55647 */ {(13<<2)|2,{81,112,0}}, +/* 55648 */ {(13<<2)|2,{81,114,0}}, +/* 55649 */ {(13<<2)|2,{81,114,0}}, +/* 55650 */ {(13<<2)|2,{81,114,0}}, +/* 55651 */ {(13<<2)|2,{81,114,0}}, +/* 55652 */ {(13<<2)|2,{81,114,0}}, +/* 55653 */ {(13<<2)|2,{81,114,0}}, +/* 55654 */ {(13<<2)|2,{81,114,0}}, +/* 55655 */ {(13<<2)|2,{81,114,0}}, +/* 55656 */ {(13<<2)|2,{81,117,0}}, +/* 55657 */ {(13<<2)|2,{81,117,0}}, +/* 55658 */ {(13<<2)|2,{81,117,0}}, +/* 55659 */ {(13<<2)|2,{81,117,0}}, +/* 55660 */ {(13<<2)|2,{81,117,0}}, +/* 55661 */ {(13<<2)|2,{81,117,0}}, +/* 55662 */ {(13<<2)|2,{81,117,0}}, +/* 55663 */ {(13<<2)|2,{81,117,0}}, +/* 55664 */ {(14<<2)|2,{81,58,0}}, +/* 55665 */ {(14<<2)|2,{81,58,0}}, +/* 55666 */ {(14<<2)|2,{81,58,0}}, +/* 55667 */ {(14<<2)|2,{81,58,0}}, +/* 55668 */ {(14<<2)|2,{81,66,0}}, +/* 55669 */ {(14<<2)|2,{81,66,0}}, +/* 55670 */ {(14<<2)|2,{81,66,0}}, +/* 55671 */ {(14<<2)|2,{81,66,0}}, +/* 55672 */ {(14<<2)|2,{81,67,0}}, +/* 55673 */ {(14<<2)|2,{81,67,0}}, +/* 55674 */ {(14<<2)|2,{81,67,0}}, +/* 55675 */ {(14<<2)|2,{81,67,0}}, +/* 55676 */ {(14<<2)|2,{81,68,0}}, +/* 55677 */ {(14<<2)|2,{81,68,0}}, +/* 55678 */ {(14<<2)|2,{81,68,0}}, +/* 55679 */ {(14<<2)|2,{81,68,0}}, +/* 55680 */ {(14<<2)|2,{81,69,0}}, +/* 55681 */ {(14<<2)|2,{81,69,0}}, +/* 55682 */ {(14<<2)|2,{81,69,0}}, +/* 55683 */ {(14<<2)|2,{81,69,0}}, +/* 55684 */ {(14<<2)|2,{81,70,0}}, +/* 55685 */ {(14<<2)|2,{81,70,0}}, +/* 55686 */ {(14<<2)|2,{81,70,0}}, +/* 55687 */ {(14<<2)|2,{81,70,0}}, +/* 55688 */ {(14<<2)|2,{81,71,0}}, +/* 55689 */ {(14<<2)|2,{81,71,0}}, +/* 55690 */ {(14<<2)|2,{81,71,0}}, +/* 55691 */ {(14<<2)|2,{81,71,0}}, +/* 55692 */ {(14<<2)|2,{81,72,0}}, +/* 55693 */ {(14<<2)|2,{81,72,0}}, +/* 55694 */ {(14<<2)|2,{81,72,0}}, +/* 55695 */ {(14<<2)|2,{81,72,0}}, +/* 55696 */ {(14<<2)|2,{81,73,0}}, +/* 55697 */ {(14<<2)|2,{81,73,0}}, +/* 55698 */ {(14<<2)|2,{81,73,0}}, +/* 55699 */ {(14<<2)|2,{81,73,0}}, +/* 55700 */ {(14<<2)|2,{81,74,0}}, +/* 55701 */ {(14<<2)|2,{81,74,0}}, +/* 55702 */ {(14<<2)|2,{81,74,0}}, +/* 55703 */ {(14<<2)|2,{81,74,0}}, +/* 55704 */ {(14<<2)|2,{81,75,0}}, +/* 55705 */ {(14<<2)|2,{81,75,0}}, +/* 55706 */ {(14<<2)|2,{81,75,0}}, +/* 55707 */ {(14<<2)|2,{81,75,0}}, +/* 55708 */ {(14<<2)|2,{81,76,0}}, +/* 55709 */ {(14<<2)|2,{81,76,0}}, +/* 55710 */ {(14<<2)|2,{81,76,0}}, +/* 55711 */ {(14<<2)|2,{81,76,0}}, +/* 55712 */ {(14<<2)|2,{81,77,0}}, +/* 55713 */ {(14<<2)|2,{81,77,0}}, +/* 55714 */ {(14<<2)|2,{81,77,0}}, +/* 55715 */ {(14<<2)|2,{81,77,0}}, +/* 55716 */ {(14<<2)|2,{81,78,0}}, +/* 55717 */ {(14<<2)|2,{81,78,0}}, +/* 55718 */ {(14<<2)|2,{81,78,0}}, +/* 55719 */ {(14<<2)|2,{81,78,0}}, +/* 55720 */ {(14<<2)|2,{81,79,0}}, +/* 55721 */ {(14<<2)|2,{81,79,0}}, +/* 55722 */ {(14<<2)|2,{81,79,0}}, +/* 55723 */ {(14<<2)|2,{81,79,0}}, +/* 55724 */ {(14<<2)|2,{81,80,0}}, +/* 55725 */ {(14<<2)|2,{81,80,0}}, +/* 55726 */ {(14<<2)|2,{81,80,0}}, +/* 55727 */ {(14<<2)|2,{81,80,0}}, +/* 55728 */ {(14<<2)|2,{81,81,0}}, +/* 55729 */ {(14<<2)|2,{81,81,0}}, +/* 55730 */ {(14<<2)|2,{81,81,0}}, +/* 55731 */ {(14<<2)|2,{81,81,0}}, +/* 55732 */ {(14<<2)|2,{81,82,0}}, +/* 55733 */ {(14<<2)|2,{81,82,0}}, +/* 55734 */ {(14<<2)|2,{81,82,0}}, +/* 55735 */ {(14<<2)|2,{81,82,0}}, +/* 55736 */ {(14<<2)|2,{81,83,0}}, +/* 55737 */ {(14<<2)|2,{81,83,0}}, +/* 55738 */ {(14<<2)|2,{81,83,0}}, +/* 55739 */ {(14<<2)|2,{81,83,0}}, +/* 55740 */ {(14<<2)|2,{81,84,0}}, +/* 55741 */ {(14<<2)|2,{81,84,0}}, +/* 55742 */ {(14<<2)|2,{81,84,0}}, +/* 55743 */ {(14<<2)|2,{81,84,0}}, +/* 55744 */ {(14<<2)|2,{81,85,0}}, +/* 55745 */ {(14<<2)|2,{81,85,0}}, +/* 55746 */ {(14<<2)|2,{81,85,0}}, +/* 55747 */ {(14<<2)|2,{81,85,0}}, +/* 55748 */ {(14<<2)|2,{81,86,0}}, +/* 55749 */ {(14<<2)|2,{81,86,0}}, +/* 55750 */ {(14<<2)|2,{81,86,0}}, +/* 55751 */ {(14<<2)|2,{81,86,0}}, +/* 55752 */ {(14<<2)|2,{81,87,0}}, +/* 55753 */ {(14<<2)|2,{81,87,0}}, +/* 55754 */ {(14<<2)|2,{81,87,0}}, +/* 55755 */ {(14<<2)|2,{81,87,0}}, +/* 55756 */ {(14<<2)|2,{81,89,0}}, +/* 55757 */ {(14<<2)|2,{81,89,0}}, +/* 55758 */ {(14<<2)|2,{81,89,0}}, +/* 55759 */ {(14<<2)|2,{81,89,0}}, +/* 55760 */ {(14<<2)|2,{81,106,0}}, +/* 55761 */ {(14<<2)|2,{81,106,0}}, +/* 55762 */ {(14<<2)|2,{81,106,0}}, +/* 55763 */ {(14<<2)|2,{81,106,0}}, +/* 55764 */ {(14<<2)|2,{81,107,0}}, +/* 55765 */ {(14<<2)|2,{81,107,0}}, +/* 55766 */ {(14<<2)|2,{81,107,0}}, +/* 55767 */ {(14<<2)|2,{81,107,0}}, +/* 55768 */ {(14<<2)|2,{81,113,0}}, +/* 55769 */ {(14<<2)|2,{81,113,0}}, +/* 55770 */ {(14<<2)|2,{81,113,0}}, +/* 55771 */ {(14<<2)|2,{81,113,0}}, +/* 55772 */ {(14<<2)|2,{81,118,0}}, +/* 55773 */ {(14<<2)|2,{81,118,0}}, +/* 55774 */ {(14<<2)|2,{81,118,0}}, +/* 55775 */ {(14<<2)|2,{81,118,0}}, +/* 55776 */ {(14<<2)|2,{81,119,0}}, +/* 55777 */ {(14<<2)|2,{81,119,0}}, +/* 55778 */ {(14<<2)|2,{81,119,0}}, +/* 55779 */ {(14<<2)|2,{81,119,0}}, +/* 55780 */ {(14<<2)|2,{81,120,0}}, +/* 55781 */ {(14<<2)|2,{81,120,0}}, +/* 55782 */ {(14<<2)|2,{81,120,0}}, +/* 55783 */ {(14<<2)|2,{81,120,0}}, +/* 55784 */ {(14<<2)|2,{81,121,0}}, +/* 55785 */ {(14<<2)|2,{81,121,0}}, +/* 55786 */ {(14<<2)|2,{81,121,0}}, +/* 55787 */ {(14<<2)|2,{81,121,0}}, +/* 55788 */ {(14<<2)|2,{81,122,0}}, +/* 55789 */ {(14<<2)|2,{81,122,0}}, +/* 55790 */ {(14<<2)|2,{81,122,0}}, +/* 55791 */ {(14<<2)|2,{81,122,0}}, +/* 55792 */ {(15<<2)|2,{81,38,0}}, +/* 55793 */ {(15<<2)|2,{81,38,0}}, +/* 55794 */ {(15<<2)|2,{81,42,0}}, +/* 55795 */ {(15<<2)|2,{81,42,0}}, +/* 55796 */ {(15<<2)|2,{81,44,0}}, +/* 55797 */ {(15<<2)|2,{81,44,0}}, +/* 55798 */ {(15<<2)|2,{81,59,0}}, +/* 55799 */ {(15<<2)|2,{81,59,0}}, +/* 55800 */ {(15<<2)|2,{81,88,0}}, +/* 55801 */ {(15<<2)|2,{81,88,0}}, +/* 55802 */ {(15<<2)|2,{81,90,0}}, +/* 55803 */ {(15<<2)|2,{81,90,0}}, +/* 55804 */ {(7<<2)|1,{81,0,0}}, +/* 55805 */ {(7<<2)|1,{81,0,0}}, +/* 55806 */ {(7<<2)|1,{81,0,0}}, +/* 55807 */ {(7<<2)|1,{81,0,0}}, +/* 55808 */ {(12<<2)|2,{82,48,0}}, +/* 55809 */ {(12<<2)|2,{82,48,0}}, +/* 55810 */ {(12<<2)|2,{82,48,0}}, +/* 55811 */ {(12<<2)|2,{82,48,0}}, +/* 55812 */ {(12<<2)|2,{82,48,0}}, +/* 55813 */ {(12<<2)|2,{82,48,0}}, +/* 55814 */ {(12<<2)|2,{82,48,0}}, +/* 55815 */ {(12<<2)|2,{82,48,0}}, +/* 55816 */ {(12<<2)|2,{82,48,0}}, +/* 55817 */ {(12<<2)|2,{82,48,0}}, +/* 55818 */ {(12<<2)|2,{82,48,0}}, +/* 55819 */ {(12<<2)|2,{82,48,0}}, +/* 55820 */ {(12<<2)|2,{82,48,0}}, +/* 55821 */ {(12<<2)|2,{82,48,0}}, +/* 55822 */ {(12<<2)|2,{82,48,0}}, +/* 55823 */ {(12<<2)|2,{82,48,0}}, +/* 55824 */ {(12<<2)|2,{82,49,0}}, +/* 55825 */ {(12<<2)|2,{82,49,0}}, +/* 55826 */ {(12<<2)|2,{82,49,0}}, +/* 55827 */ {(12<<2)|2,{82,49,0}}, +/* 55828 */ {(12<<2)|2,{82,49,0}}, +/* 55829 */ {(12<<2)|2,{82,49,0}}, +/* 55830 */ {(12<<2)|2,{82,49,0}}, +/* 55831 */ {(12<<2)|2,{82,49,0}}, +/* 55832 */ {(12<<2)|2,{82,49,0}}, +/* 55833 */ {(12<<2)|2,{82,49,0}}, +/* 55834 */ {(12<<2)|2,{82,49,0}}, +/* 55835 */ {(12<<2)|2,{82,49,0}}, +/* 55836 */ {(12<<2)|2,{82,49,0}}, +/* 55837 */ {(12<<2)|2,{82,49,0}}, +/* 55838 */ {(12<<2)|2,{82,49,0}}, +/* 55839 */ {(12<<2)|2,{82,49,0}}, +/* 55840 */ {(12<<2)|2,{82,50,0}}, +/* 55841 */ {(12<<2)|2,{82,50,0}}, +/* 55842 */ {(12<<2)|2,{82,50,0}}, +/* 55843 */ {(12<<2)|2,{82,50,0}}, +/* 55844 */ {(12<<2)|2,{82,50,0}}, +/* 55845 */ {(12<<2)|2,{82,50,0}}, +/* 55846 */ {(12<<2)|2,{82,50,0}}, +/* 55847 */ {(12<<2)|2,{82,50,0}}, +/* 55848 */ {(12<<2)|2,{82,50,0}}, +/* 55849 */ {(12<<2)|2,{82,50,0}}, +/* 55850 */ {(12<<2)|2,{82,50,0}}, +/* 55851 */ {(12<<2)|2,{82,50,0}}, +/* 55852 */ {(12<<2)|2,{82,50,0}}, +/* 55853 */ {(12<<2)|2,{82,50,0}}, +/* 55854 */ {(12<<2)|2,{82,50,0}}, +/* 55855 */ {(12<<2)|2,{82,50,0}}, +/* 55856 */ {(12<<2)|2,{82,97,0}}, +/* 55857 */ {(12<<2)|2,{82,97,0}}, +/* 55858 */ {(12<<2)|2,{82,97,0}}, +/* 55859 */ {(12<<2)|2,{82,97,0}}, +/* 55860 */ {(12<<2)|2,{82,97,0}}, +/* 55861 */ {(12<<2)|2,{82,97,0}}, +/* 55862 */ {(12<<2)|2,{82,97,0}}, +/* 55863 */ {(12<<2)|2,{82,97,0}}, +/* 55864 */ {(12<<2)|2,{82,97,0}}, +/* 55865 */ {(12<<2)|2,{82,97,0}}, +/* 55866 */ {(12<<2)|2,{82,97,0}}, +/* 55867 */ {(12<<2)|2,{82,97,0}}, +/* 55868 */ {(12<<2)|2,{82,97,0}}, +/* 55869 */ {(12<<2)|2,{82,97,0}}, +/* 55870 */ {(12<<2)|2,{82,97,0}}, +/* 55871 */ {(12<<2)|2,{82,97,0}}, +/* 55872 */ {(12<<2)|2,{82,99,0}}, +/* 55873 */ {(12<<2)|2,{82,99,0}}, +/* 55874 */ {(12<<2)|2,{82,99,0}}, +/* 55875 */ {(12<<2)|2,{82,99,0}}, +/* 55876 */ {(12<<2)|2,{82,99,0}}, +/* 55877 */ {(12<<2)|2,{82,99,0}}, +/* 55878 */ {(12<<2)|2,{82,99,0}}, +/* 55879 */ {(12<<2)|2,{82,99,0}}, +/* 55880 */ {(12<<2)|2,{82,99,0}}, +/* 55881 */ {(12<<2)|2,{82,99,0}}, +/* 55882 */ {(12<<2)|2,{82,99,0}}, +/* 55883 */ {(12<<2)|2,{82,99,0}}, +/* 55884 */ {(12<<2)|2,{82,99,0}}, +/* 55885 */ {(12<<2)|2,{82,99,0}}, +/* 55886 */ {(12<<2)|2,{82,99,0}}, +/* 55887 */ {(12<<2)|2,{82,99,0}}, +/* 55888 */ {(12<<2)|2,{82,101,0}}, +/* 55889 */ {(12<<2)|2,{82,101,0}}, +/* 55890 */ {(12<<2)|2,{82,101,0}}, +/* 55891 */ {(12<<2)|2,{82,101,0}}, +/* 55892 */ {(12<<2)|2,{82,101,0}}, +/* 55893 */ {(12<<2)|2,{82,101,0}}, +/* 55894 */ {(12<<2)|2,{82,101,0}}, +/* 55895 */ {(12<<2)|2,{82,101,0}}, +/* 55896 */ {(12<<2)|2,{82,101,0}}, +/* 55897 */ {(12<<2)|2,{82,101,0}}, +/* 55898 */ {(12<<2)|2,{82,101,0}}, +/* 55899 */ {(12<<2)|2,{82,101,0}}, +/* 55900 */ {(12<<2)|2,{82,101,0}}, +/* 55901 */ {(12<<2)|2,{82,101,0}}, +/* 55902 */ {(12<<2)|2,{82,101,0}}, +/* 55903 */ {(12<<2)|2,{82,101,0}}, +/* 55904 */ {(12<<2)|2,{82,105,0}}, +/* 55905 */ {(12<<2)|2,{82,105,0}}, +/* 55906 */ {(12<<2)|2,{82,105,0}}, +/* 55907 */ {(12<<2)|2,{82,105,0}}, +/* 55908 */ {(12<<2)|2,{82,105,0}}, +/* 55909 */ {(12<<2)|2,{82,105,0}}, +/* 55910 */ {(12<<2)|2,{82,105,0}}, +/* 55911 */ {(12<<2)|2,{82,105,0}}, +/* 55912 */ {(12<<2)|2,{82,105,0}}, +/* 55913 */ {(12<<2)|2,{82,105,0}}, +/* 55914 */ {(12<<2)|2,{82,105,0}}, +/* 55915 */ {(12<<2)|2,{82,105,0}}, +/* 55916 */ {(12<<2)|2,{82,105,0}}, +/* 55917 */ {(12<<2)|2,{82,105,0}}, +/* 55918 */ {(12<<2)|2,{82,105,0}}, +/* 55919 */ {(12<<2)|2,{82,105,0}}, +/* 55920 */ {(12<<2)|2,{82,111,0}}, +/* 55921 */ {(12<<2)|2,{82,111,0}}, +/* 55922 */ {(12<<2)|2,{82,111,0}}, +/* 55923 */ {(12<<2)|2,{82,111,0}}, +/* 55924 */ {(12<<2)|2,{82,111,0}}, +/* 55925 */ {(12<<2)|2,{82,111,0}}, +/* 55926 */ {(12<<2)|2,{82,111,0}}, +/* 55927 */ {(12<<2)|2,{82,111,0}}, +/* 55928 */ {(12<<2)|2,{82,111,0}}, +/* 55929 */ {(12<<2)|2,{82,111,0}}, +/* 55930 */ {(12<<2)|2,{82,111,0}}, +/* 55931 */ {(12<<2)|2,{82,111,0}}, +/* 55932 */ {(12<<2)|2,{82,111,0}}, +/* 55933 */ {(12<<2)|2,{82,111,0}}, +/* 55934 */ {(12<<2)|2,{82,111,0}}, +/* 55935 */ {(12<<2)|2,{82,111,0}}, +/* 55936 */ {(12<<2)|2,{82,115,0}}, +/* 55937 */ {(12<<2)|2,{82,115,0}}, +/* 55938 */ {(12<<2)|2,{82,115,0}}, +/* 55939 */ {(12<<2)|2,{82,115,0}}, +/* 55940 */ {(12<<2)|2,{82,115,0}}, +/* 55941 */ {(12<<2)|2,{82,115,0}}, +/* 55942 */ {(12<<2)|2,{82,115,0}}, +/* 55943 */ {(12<<2)|2,{82,115,0}}, +/* 55944 */ {(12<<2)|2,{82,115,0}}, +/* 55945 */ {(12<<2)|2,{82,115,0}}, +/* 55946 */ {(12<<2)|2,{82,115,0}}, +/* 55947 */ {(12<<2)|2,{82,115,0}}, +/* 55948 */ {(12<<2)|2,{82,115,0}}, +/* 55949 */ {(12<<2)|2,{82,115,0}}, +/* 55950 */ {(12<<2)|2,{82,115,0}}, +/* 55951 */ {(12<<2)|2,{82,115,0}}, +/* 55952 */ {(12<<2)|2,{82,116,0}}, +/* 55953 */ {(12<<2)|2,{82,116,0}}, +/* 55954 */ {(12<<2)|2,{82,116,0}}, +/* 55955 */ {(12<<2)|2,{82,116,0}}, +/* 55956 */ {(12<<2)|2,{82,116,0}}, +/* 55957 */ {(12<<2)|2,{82,116,0}}, +/* 55958 */ {(12<<2)|2,{82,116,0}}, +/* 55959 */ {(12<<2)|2,{82,116,0}}, +/* 55960 */ {(12<<2)|2,{82,116,0}}, +/* 55961 */ {(12<<2)|2,{82,116,0}}, +/* 55962 */ {(12<<2)|2,{82,116,0}}, +/* 55963 */ {(12<<2)|2,{82,116,0}}, +/* 55964 */ {(12<<2)|2,{82,116,0}}, +/* 55965 */ {(12<<2)|2,{82,116,0}}, +/* 55966 */ {(12<<2)|2,{82,116,0}}, +/* 55967 */ {(12<<2)|2,{82,116,0}}, +/* 55968 */ {(13<<2)|2,{82,32,0}}, +/* 55969 */ {(13<<2)|2,{82,32,0}}, +/* 55970 */ {(13<<2)|2,{82,32,0}}, +/* 55971 */ {(13<<2)|2,{82,32,0}}, +/* 55972 */ {(13<<2)|2,{82,32,0}}, +/* 55973 */ {(13<<2)|2,{82,32,0}}, +/* 55974 */ {(13<<2)|2,{82,32,0}}, +/* 55975 */ {(13<<2)|2,{82,32,0}}, +/* 55976 */ {(13<<2)|2,{82,37,0}}, +/* 55977 */ {(13<<2)|2,{82,37,0}}, +/* 55978 */ {(13<<2)|2,{82,37,0}}, +/* 55979 */ {(13<<2)|2,{82,37,0}}, +/* 55980 */ {(13<<2)|2,{82,37,0}}, +/* 55981 */ {(13<<2)|2,{82,37,0}}, +/* 55982 */ {(13<<2)|2,{82,37,0}}, +/* 55983 */ {(13<<2)|2,{82,37,0}}, +/* 55984 */ {(13<<2)|2,{82,45,0}}, +/* 55985 */ {(13<<2)|2,{82,45,0}}, +/* 55986 */ {(13<<2)|2,{82,45,0}}, +/* 55987 */ {(13<<2)|2,{82,45,0}}, +/* 55988 */ {(13<<2)|2,{82,45,0}}, +/* 55989 */ {(13<<2)|2,{82,45,0}}, +/* 55990 */ {(13<<2)|2,{82,45,0}}, +/* 55991 */ {(13<<2)|2,{82,45,0}}, +/* 55992 */ {(13<<2)|2,{82,46,0}}, +/* 55993 */ {(13<<2)|2,{82,46,0}}, +/* 55994 */ {(13<<2)|2,{82,46,0}}, +/* 55995 */ {(13<<2)|2,{82,46,0}}, +/* 55996 */ {(13<<2)|2,{82,46,0}}, +/* 55997 */ {(13<<2)|2,{82,46,0}}, +/* 55998 */ {(13<<2)|2,{82,46,0}}, +/* 55999 */ {(13<<2)|2,{82,46,0}}, +/* 56000 */ {(13<<2)|2,{82,47,0}}, +/* 56001 */ {(13<<2)|2,{82,47,0}}, +/* 56002 */ {(13<<2)|2,{82,47,0}}, +/* 56003 */ {(13<<2)|2,{82,47,0}}, +/* 56004 */ {(13<<2)|2,{82,47,0}}, +/* 56005 */ {(13<<2)|2,{82,47,0}}, +/* 56006 */ {(13<<2)|2,{82,47,0}}, +/* 56007 */ {(13<<2)|2,{82,47,0}}, +/* 56008 */ {(13<<2)|2,{82,51,0}}, +/* 56009 */ {(13<<2)|2,{82,51,0}}, +/* 56010 */ {(13<<2)|2,{82,51,0}}, +/* 56011 */ {(13<<2)|2,{82,51,0}}, +/* 56012 */ {(13<<2)|2,{82,51,0}}, +/* 56013 */ {(13<<2)|2,{82,51,0}}, +/* 56014 */ {(13<<2)|2,{82,51,0}}, +/* 56015 */ {(13<<2)|2,{82,51,0}}, +/* 56016 */ {(13<<2)|2,{82,52,0}}, +/* 56017 */ {(13<<2)|2,{82,52,0}}, +/* 56018 */ {(13<<2)|2,{82,52,0}}, +/* 56019 */ {(13<<2)|2,{82,52,0}}, +/* 56020 */ {(13<<2)|2,{82,52,0}}, +/* 56021 */ {(13<<2)|2,{82,52,0}}, +/* 56022 */ {(13<<2)|2,{82,52,0}}, +/* 56023 */ {(13<<2)|2,{82,52,0}}, +/* 56024 */ {(13<<2)|2,{82,53,0}}, +/* 56025 */ {(13<<2)|2,{82,53,0}}, +/* 56026 */ {(13<<2)|2,{82,53,0}}, +/* 56027 */ {(13<<2)|2,{82,53,0}}, +/* 56028 */ {(13<<2)|2,{82,53,0}}, +/* 56029 */ {(13<<2)|2,{82,53,0}}, +/* 56030 */ {(13<<2)|2,{82,53,0}}, +/* 56031 */ {(13<<2)|2,{82,53,0}}, +/* 56032 */ {(13<<2)|2,{82,54,0}}, +/* 56033 */ {(13<<2)|2,{82,54,0}}, +/* 56034 */ {(13<<2)|2,{82,54,0}}, +/* 56035 */ {(13<<2)|2,{82,54,0}}, +/* 56036 */ {(13<<2)|2,{82,54,0}}, +/* 56037 */ {(13<<2)|2,{82,54,0}}, +/* 56038 */ {(13<<2)|2,{82,54,0}}, +/* 56039 */ {(13<<2)|2,{82,54,0}}, +/* 56040 */ {(13<<2)|2,{82,55,0}}, +/* 56041 */ {(13<<2)|2,{82,55,0}}, +/* 56042 */ {(13<<2)|2,{82,55,0}}, +/* 56043 */ {(13<<2)|2,{82,55,0}}, +/* 56044 */ {(13<<2)|2,{82,55,0}}, +/* 56045 */ {(13<<2)|2,{82,55,0}}, +/* 56046 */ {(13<<2)|2,{82,55,0}}, +/* 56047 */ {(13<<2)|2,{82,55,0}}, +/* 56048 */ {(13<<2)|2,{82,56,0}}, +/* 56049 */ {(13<<2)|2,{82,56,0}}, +/* 56050 */ {(13<<2)|2,{82,56,0}}, +/* 56051 */ {(13<<2)|2,{82,56,0}}, +/* 56052 */ {(13<<2)|2,{82,56,0}}, +/* 56053 */ {(13<<2)|2,{82,56,0}}, +/* 56054 */ {(13<<2)|2,{82,56,0}}, +/* 56055 */ {(13<<2)|2,{82,56,0}}, +/* 56056 */ {(13<<2)|2,{82,57,0}}, +/* 56057 */ {(13<<2)|2,{82,57,0}}, +/* 56058 */ {(13<<2)|2,{82,57,0}}, +/* 56059 */ {(13<<2)|2,{82,57,0}}, +/* 56060 */ {(13<<2)|2,{82,57,0}}, +/* 56061 */ {(13<<2)|2,{82,57,0}}, +/* 56062 */ {(13<<2)|2,{82,57,0}}, +/* 56063 */ {(13<<2)|2,{82,57,0}}, +/* 56064 */ {(13<<2)|2,{82,61,0}}, +/* 56065 */ {(13<<2)|2,{82,61,0}}, +/* 56066 */ {(13<<2)|2,{82,61,0}}, +/* 56067 */ {(13<<2)|2,{82,61,0}}, +/* 56068 */ {(13<<2)|2,{82,61,0}}, +/* 56069 */ {(13<<2)|2,{82,61,0}}, +/* 56070 */ {(13<<2)|2,{82,61,0}}, +/* 56071 */ {(13<<2)|2,{82,61,0}}, +/* 56072 */ {(13<<2)|2,{82,65,0}}, +/* 56073 */ {(13<<2)|2,{82,65,0}}, +/* 56074 */ {(13<<2)|2,{82,65,0}}, +/* 56075 */ {(13<<2)|2,{82,65,0}}, +/* 56076 */ {(13<<2)|2,{82,65,0}}, +/* 56077 */ {(13<<2)|2,{82,65,0}}, +/* 56078 */ {(13<<2)|2,{82,65,0}}, +/* 56079 */ {(13<<2)|2,{82,65,0}}, +/* 56080 */ {(13<<2)|2,{82,95,0}}, +/* 56081 */ {(13<<2)|2,{82,95,0}}, +/* 56082 */ {(13<<2)|2,{82,95,0}}, +/* 56083 */ {(13<<2)|2,{82,95,0}}, +/* 56084 */ {(13<<2)|2,{82,95,0}}, +/* 56085 */ {(13<<2)|2,{82,95,0}}, +/* 56086 */ {(13<<2)|2,{82,95,0}}, +/* 56087 */ {(13<<2)|2,{82,95,0}}, +/* 56088 */ {(13<<2)|2,{82,98,0}}, +/* 56089 */ {(13<<2)|2,{82,98,0}}, +/* 56090 */ {(13<<2)|2,{82,98,0}}, +/* 56091 */ {(13<<2)|2,{82,98,0}}, +/* 56092 */ {(13<<2)|2,{82,98,0}}, +/* 56093 */ {(13<<2)|2,{82,98,0}}, +/* 56094 */ {(13<<2)|2,{82,98,0}}, +/* 56095 */ {(13<<2)|2,{82,98,0}}, +/* 56096 */ {(13<<2)|2,{82,100,0}}, +/* 56097 */ {(13<<2)|2,{82,100,0}}, +/* 56098 */ {(13<<2)|2,{82,100,0}}, +/* 56099 */ {(13<<2)|2,{82,100,0}}, +/* 56100 */ {(13<<2)|2,{82,100,0}}, +/* 56101 */ {(13<<2)|2,{82,100,0}}, +/* 56102 */ {(13<<2)|2,{82,100,0}}, +/* 56103 */ {(13<<2)|2,{82,100,0}}, +/* 56104 */ {(13<<2)|2,{82,102,0}}, +/* 56105 */ {(13<<2)|2,{82,102,0}}, +/* 56106 */ {(13<<2)|2,{82,102,0}}, +/* 56107 */ {(13<<2)|2,{82,102,0}}, +/* 56108 */ {(13<<2)|2,{82,102,0}}, +/* 56109 */ {(13<<2)|2,{82,102,0}}, +/* 56110 */ {(13<<2)|2,{82,102,0}}, +/* 56111 */ {(13<<2)|2,{82,102,0}}, +/* 56112 */ {(13<<2)|2,{82,103,0}}, +/* 56113 */ {(13<<2)|2,{82,103,0}}, +/* 56114 */ {(13<<2)|2,{82,103,0}}, +/* 56115 */ {(13<<2)|2,{82,103,0}}, +/* 56116 */ {(13<<2)|2,{82,103,0}}, +/* 56117 */ {(13<<2)|2,{82,103,0}}, +/* 56118 */ {(13<<2)|2,{82,103,0}}, +/* 56119 */ {(13<<2)|2,{82,103,0}}, +/* 56120 */ {(13<<2)|2,{82,104,0}}, +/* 56121 */ {(13<<2)|2,{82,104,0}}, +/* 56122 */ {(13<<2)|2,{82,104,0}}, +/* 56123 */ {(13<<2)|2,{82,104,0}}, +/* 56124 */ {(13<<2)|2,{82,104,0}}, +/* 56125 */ {(13<<2)|2,{82,104,0}}, +/* 56126 */ {(13<<2)|2,{82,104,0}}, +/* 56127 */ {(13<<2)|2,{82,104,0}}, +/* 56128 */ {(13<<2)|2,{82,108,0}}, +/* 56129 */ {(13<<2)|2,{82,108,0}}, +/* 56130 */ {(13<<2)|2,{82,108,0}}, +/* 56131 */ {(13<<2)|2,{82,108,0}}, +/* 56132 */ {(13<<2)|2,{82,108,0}}, +/* 56133 */ {(13<<2)|2,{82,108,0}}, +/* 56134 */ {(13<<2)|2,{82,108,0}}, +/* 56135 */ {(13<<2)|2,{82,108,0}}, +/* 56136 */ {(13<<2)|2,{82,109,0}}, +/* 56137 */ {(13<<2)|2,{82,109,0}}, +/* 56138 */ {(13<<2)|2,{82,109,0}}, +/* 56139 */ {(13<<2)|2,{82,109,0}}, +/* 56140 */ {(13<<2)|2,{82,109,0}}, +/* 56141 */ {(13<<2)|2,{82,109,0}}, +/* 56142 */ {(13<<2)|2,{82,109,0}}, +/* 56143 */ {(13<<2)|2,{82,109,0}}, +/* 56144 */ {(13<<2)|2,{82,110,0}}, +/* 56145 */ {(13<<2)|2,{82,110,0}}, +/* 56146 */ {(13<<2)|2,{82,110,0}}, +/* 56147 */ {(13<<2)|2,{82,110,0}}, +/* 56148 */ {(13<<2)|2,{82,110,0}}, +/* 56149 */ {(13<<2)|2,{82,110,0}}, +/* 56150 */ {(13<<2)|2,{82,110,0}}, +/* 56151 */ {(13<<2)|2,{82,110,0}}, +/* 56152 */ {(13<<2)|2,{82,112,0}}, +/* 56153 */ {(13<<2)|2,{82,112,0}}, +/* 56154 */ {(13<<2)|2,{82,112,0}}, +/* 56155 */ {(13<<2)|2,{82,112,0}}, +/* 56156 */ {(13<<2)|2,{82,112,0}}, +/* 56157 */ {(13<<2)|2,{82,112,0}}, +/* 56158 */ {(13<<2)|2,{82,112,0}}, +/* 56159 */ {(13<<2)|2,{82,112,0}}, +/* 56160 */ {(13<<2)|2,{82,114,0}}, +/* 56161 */ {(13<<2)|2,{82,114,0}}, +/* 56162 */ {(13<<2)|2,{82,114,0}}, +/* 56163 */ {(13<<2)|2,{82,114,0}}, +/* 56164 */ {(13<<2)|2,{82,114,0}}, +/* 56165 */ {(13<<2)|2,{82,114,0}}, +/* 56166 */ {(13<<2)|2,{82,114,0}}, +/* 56167 */ {(13<<2)|2,{82,114,0}}, +/* 56168 */ {(13<<2)|2,{82,117,0}}, +/* 56169 */ {(13<<2)|2,{82,117,0}}, +/* 56170 */ {(13<<2)|2,{82,117,0}}, +/* 56171 */ {(13<<2)|2,{82,117,0}}, +/* 56172 */ {(13<<2)|2,{82,117,0}}, +/* 56173 */ {(13<<2)|2,{82,117,0}}, +/* 56174 */ {(13<<2)|2,{82,117,0}}, +/* 56175 */ {(13<<2)|2,{82,117,0}}, +/* 56176 */ {(14<<2)|2,{82,58,0}}, +/* 56177 */ {(14<<2)|2,{82,58,0}}, +/* 56178 */ {(14<<2)|2,{82,58,0}}, +/* 56179 */ {(14<<2)|2,{82,58,0}}, +/* 56180 */ {(14<<2)|2,{82,66,0}}, +/* 56181 */ {(14<<2)|2,{82,66,0}}, +/* 56182 */ {(14<<2)|2,{82,66,0}}, +/* 56183 */ {(14<<2)|2,{82,66,0}}, +/* 56184 */ {(14<<2)|2,{82,67,0}}, +/* 56185 */ {(14<<2)|2,{82,67,0}}, +/* 56186 */ {(14<<2)|2,{82,67,0}}, +/* 56187 */ {(14<<2)|2,{82,67,0}}, +/* 56188 */ {(14<<2)|2,{82,68,0}}, +/* 56189 */ {(14<<2)|2,{82,68,0}}, +/* 56190 */ {(14<<2)|2,{82,68,0}}, +/* 56191 */ {(14<<2)|2,{82,68,0}}, +/* 56192 */ {(14<<2)|2,{82,69,0}}, +/* 56193 */ {(14<<2)|2,{82,69,0}}, +/* 56194 */ {(14<<2)|2,{82,69,0}}, +/* 56195 */ {(14<<2)|2,{82,69,0}}, +/* 56196 */ {(14<<2)|2,{82,70,0}}, +/* 56197 */ {(14<<2)|2,{82,70,0}}, +/* 56198 */ {(14<<2)|2,{82,70,0}}, +/* 56199 */ {(14<<2)|2,{82,70,0}}, +/* 56200 */ {(14<<2)|2,{82,71,0}}, +/* 56201 */ {(14<<2)|2,{82,71,0}}, +/* 56202 */ {(14<<2)|2,{82,71,0}}, +/* 56203 */ {(14<<2)|2,{82,71,0}}, +/* 56204 */ {(14<<2)|2,{82,72,0}}, +/* 56205 */ {(14<<2)|2,{82,72,0}}, +/* 56206 */ {(14<<2)|2,{82,72,0}}, +/* 56207 */ {(14<<2)|2,{82,72,0}}, +/* 56208 */ {(14<<2)|2,{82,73,0}}, +/* 56209 */ {(14<<2)|2,{82,73,0}}, +/* 56210 */ {(14<<2)|2,{82,73,0}}, +/* 56211 */ {(14<<2)|2,{82,73,0}}, +/* 56212 */ {(14<<2)|2,{82,74,0}}, +/* 56213 */ {(14<<2)|2,{82,74,0}}, +/* 56214 */ {(14<<2)|2,{82,74,0}}, +/* 56215 */ {(14<<2)|2,{82,74,0}}, +/* 56216 */ {(14<<2)|2,{82,75,0}}, +/* 56217 */ {(14<<2)|2,{82,75,0}}, +/* 56218 */ {(14<<2)|2,{82,75,0}}, +/* 56219 */ {(14<<2)|2,{82,75,0}}, +/* 56220 */ {(14<<2)|2,{82,76,0}}, +/* 56221 */ {(14<<2)|2,{82,76,0}}, +/* 56222 */ {(14<<2)|2,{82,76,0}}, +/* 56223 */ {(14<<2)|2,{82,76,0}}, +/* 56224 */ {(14<<2)|2,{82,77,0}}, +/* 56225 */ {(14<<2)|2,{82,77,0}}, +/* 56226 */ {(14<<2)|2,{82,77,0}}, +/* 56227 */ {(14<<2)|2,{82,77,0}}, +/* 56228 */ {(14<<2)|2,{82,78,0}}, +/* 56229 */ {(14<<2)|2,{82,78,0}}, +/* 56230 */ {(14<<2)|2,{82,78,0}}, +/* 56231 */ {(14<<2)|2,{82,78,0}}, +/* 56232 */ {(14<<2)|2,{82,79,0}}, +/* 56233 */ {(14<<2)|2,{82,79,0}}, +/* 56234 */ {(14<<2)|2,{82,79,0}}, +/* 56235 */ {(14<<2)|2,{82,79,0}}, +/* 56236 */ {(14<<2)|2,{82,80,0}}, +/* 56237 */ {(14<<2)|2,{82,80,0}}, +/* 56238 */ {(14<<2)|2,{82,80,0}}, +/* 56239 */ {(14<<2)|2,{82,80,0}}, +/* 56240 */ {(14<<2)|2,{82,81,0}}, +/* 56241 */ {(14<<2)|2,{82,81,0}}, +/* 56242 */ {(14<<2)|2,{82,81,0}}, +/* 56243 */ {(14<<2)|2,{82,81,0}}, +/* 56244 */ {(14<<2)|2,{82,82,0}}, +/* 56245 */ {(14<<2)|2,{82,82,0}}, +/* 56246 */ {(14<<2)|2,{82,82,0}}, +/* 56247 */ {(14<<2)|2,{82,82,0}}, +/* 56248 */ {(14<<2)|2,{82,83,0}}, +/* 56249 */ {(14<<2)|2,{82,83,0}}, +/* 56250 */ {(14<<2)|2,{82,83,0}}, +/* 56251 */ {(14<<2)|2,{82,83,0}}, +/* 56252 */ {(14<<2)|2,{82,84,0}}, +/* 56253 */ {(14<<2)|2,{82,84,0}}, +/* 56254 */ {(14<<2)|2,{82,84,0}}, +/* 56255 */ {(14<<2)|2,{82,84,0}}, +/* 56256 */ {(14<<2)|2,{82,85,0}}, +/* 56257 */ {(14<<2)|2,{82,85,0}}, +/* 56258 */ {(14<<2)|2,{82,85,0}}, +/* 56259 */ {(14<<2)|2,{82,85,0}}, +/* 56260 */ {(14<<2)|2,{82,86,0}}, +/* 56261 */ {(14<<2)|2,{82,86,0}}, +/* 56262 */ {(14<<2)|2,{82,86,0}}, +/* 56263 */ {(14<<2)|2,{82,86,0}}, +/* 56264 */ {(14<<2)|2,{82,87,0}}, +/* 56265 */ {(14<<2)|2,{82,87,0}}, +/* 56266 */ {(14<<2)|2,{82,87,0}}, +/* 56267 */ {(14<<2)|2,{82,87,0}}, +/* 56268 */ {(14<<2)|2,{82,89,0}}, +/* 56269 */ {(14<<2)|2,{82,89,0}}, +/* 56270 */ {(14<<2)|2,{82,89,0}}, +/* 56271 */ {(14<<2)|2,{82,89,0}}, +/* 56272 */ {(14<<2)|2,{82,106,0}}, +/* 56273 */ {(14<<2)|2,{82,106,0}}, +/* 56274 */ {(14<<2)|2,{82,106,0}}, +/* 56275 */ {(14<<2)|2,{82,106,0}}, +/* 56276 */ {(14<<2)|2,{82,107,0}}, +/* 56277 */ {(14<<2)|2,{82,107,0}}, +/* 56278 */ {(14<<2)|2,{82,107,0}}, +/* 56279 */ {(14<<2)|2,{82,107,0}}, +/* 56280 */ {(14<<2)|2,{82,113,0}}, +/* 56281 */ {(14<<2)|2,{82,113,0}}, +/* 56282 */ {(14<<2)|2,{82,113,0}}, +/* 56283 */ {(14<<2)|2,{82,113,0}}, +/* 56284 */ {(14<<2)|2,{82,118,0}}, +/* 56285 */ {(14<<2)|2,{82,118,0}}, +/* 56286 */ {(14<<2)|2,{82,118,0}}, +/* 56287 */ {(14<<2)|2,{82,118,0}}, +/* 56288 */ {(14<<2)|2,{82,119,0}}, +/* 56289 */ {(14<<2)|2,{82,119,0}}, +/* 56290 */ {(14<<2)|2,{82,119,0}}, +/* 56291 */ {(14<<2)|2,{82,119,0}}, +/* 56292 */ {(14<<2)|2,{82,120,0}}, +/* 56293 */ {(14<<2)|2,{82,120,0}}, +/* 56294 */ {(14<<2)|2,{82,120,0}}, +/* 56295 */ {(14<<2)|2,{82,120,0}}, +/* 56296 */ {(14<<2)|2,{82,121,0}}, +/* 56297 */ {(14<<2)|2,{82,121,0}}, +/* 56298 */ {(14<<2)|2,{82,121,0}}, +/* 56299 */ {(14<<2)|2,{82,121,0}}, +/* 56300 */ {(14<<2)|2,{82,122,0}}, +/* 56301 */ {(14<<2)|2,{82,122,0}}, +/* 56302 */ {(14<<2)|2,{82,122,0}}, +/* 56303 */ {(14<<2)|2,{82,122,0}}, +/* 56304 */ {(15<<2)|2,{82,38,0}}, +/* 56305 */ {(15<<2)|2,{82,38,0}}, +/* 56306 */ {(15<<2)|2,{82,42,0}}, +/* 56307 */ {(15<<2)|2,{82,42,0}}, +/* 56308 */ {(15<<2)|2,{82,44,0}}, +/* 56309 */ {(15<<2)|2,{82,44,0}}, +/* 56310 */ {(15<<2)|2,{82,59,0}}, +/* 56311 */ {(15<<2)|2,{82,59,0}}, +/* 56312 */ {(15<<2)|2,{82,88,0}}, +/* 56313 */ {(15<<2)|2,{82,88,0}}, +/* 56314 */ {(15<<2)|2,{82,90,0}}, +/* 56315 */ {(15<<2)|2,{82,90,0}}, +/* 56316 */ {(7<<2)|1,{82,0,0}}, +/* 56317 */ {(7<<2)|1,{82,0,0}}, +/* 56318 */ {(7<<2)|1,{82,0,0}}, +/* 56319 */ {(7<<2)|1,{82,0,0}}, +/* 56320 */ {(12<<2)|2,{83,48,0}}, +/* 56321 */ {(12<<2)|2,{83,48,0}}, +/* 56322 */ {(12<<2)|2,{83,48,0}}, +/* 56323 */ {(12<<2)|2,{83,48,0}}, +/* 56324 */ {(12<<2)|2,{83,48,0}}, +/* 56325 */ {(12<<2)|2,{83,48,0}}, +/* 56326 */ {(12<<2)|2,{83,48,0}}, +/* 56327 */ {(12<<2)|2,{83,48,0}}, +/* 56328 */ {(12<<2)|2,{83,48,0}}, +/* 56329 */ {(12<<2)|2,{83,48,0}}, +/* 56330 */ {(12<<2)|2,{83,48,0}}, +/* 56331 */ {(12<<2)|2,{83,48,0}}, +/* 56332 */ {(12<<2)|2,{83,48,0}}, +/* 56333 */ {(12<<2)|2,{83,48,0}}, +/* 56334 */ {(12<<2)|2,{83,48,0}}, +/* 56335 */ {(12<<2)|2,{83,48,0}}, +/* 56336 */ {(12<<2)|2,{83,49,0}}, +/* 56337 */ {(12<<2)|2,{83,49,0}}, +/* 56338 */ {(12<<2)|2,{83,49,0}}, +/* 56339 */ {(12<<2)|2,{83,49,0}}, +/* 56340 */ {(12<<2)|2,{83,49,0}}, +/* 56341 */ {(12<<2)|2,{83,49,0}}, +/* 56342 */ {(12<<2)|2,{83,49,0}}, +/* 56343 */ {(12<<2)|2,{83,49,0}}, +/* 56344 */ {(12<<2)|2,{83,49,0}}, +/* 56345 */ {(12<<2)|2,{83,49,0}}, +/* 56346 */ {(12<<2)|2,{83,49,0}}, +/* 56347 */ {(12<<2)|2,{83,49,0}}, +/* 56348 */ {(12<<2)|2,{83,49,0}}, +/* 56349 */ {(12<<2)|2,{83,49,0}}, +/* 56350 */ {(12<<2)|2,{83,49,0}}, +/* 56351 */ {(12<<2)|2,{83,49,0}}, +/* 56352 */ {(12<<2)|2,{83,50,0}}, +/* 56353 */ {(12<<2)|2,{83,50,0}}, +/* 56354 */ {(12<<2)|2,{83,50,0}}, +/* 56355 */ {(12<<2)|2,{83,50,0}}, +/* 56356 */ {(12<<2)|2,{83,50,0}}, +/* 56357 */ {(12<<2)|2,{83,50,0}}, +/* 56358 */ {(12<<2)|2,{83,50,0}}, +/* 56359 */ {(12<<2)|2,{83,50,0}}, +/* 56360 */ {(12<<2)|2,{83,50,0}}, +/* 56361 */ {(12<<2)|2,{83,50,0}}, +/* 56362 */ {(12<<2)|2,{83,50,0}}, +/* 56363 */ {(12<<2)|2,{83,50,0}}, +/* 56364 */ {(12<<2)|2,{83,50,0}}, +/* 56365 */ {(12<<2)|2,{83,50,0}}, +/* 56366 */ {(12<<2)|2,{83,50,0}}, +/* 56367 */ {(12<<2)|2,{83,50,0}}, +/* 56368 */ {(12<<2)|2,{83,97,0}}, +/* 56369 */ {(12<<2)|2,{83,97,0}}, +/* 56370 */ {(12<<2)|2,{83,97,0}}, +/* 56371 */ {(12<<2)|2,{83,97,0}}, +/* 56372 */ {(12<<2)|2,{83,97,0}}, +/* 56373 */ {(12<<2)|2,{83,97,0}}, +/* 56374 */ {(12<<2)|2,{83,97,0}}, +/* 56375 */ {(12<<2)|2,{83,97,0}}, +/* 56376 */ {(12<<2)|2,{83,97,0}}, +/* 56377 */ {(12<<2)|2,{83,97,0}}, +/* 56378 */ {(12<<2)|2,{83,97,0}}, +/* 56379 */ {(12<<2)|2,{83,97,0}}, +/* 56380 */ {(12<<2)|2,{83,97,0}}, +/* 56381 */ {(12<<2)|2,{83,97,0}}, +/* 56382 */ {(12<<2)|2,{83,97,0}}, +/* 56383 */ {(12<<2)|2,{83,97,0}}, +/* 56384 */ {(12<<2)|2,{83,99,0}}, +/* 56385 */ {(12<<2)|2,{83,99,0}}, +/* 56386 */ {(12<<2)|2,{83,99,0}}, +/* 56387 */ {(12<<2)|2,{83,99,0}}, +/* 56388 */ {(12<<2)|2,{83,99,0}}, +/* 56389 */ {(12<<2)|2,{83,99,0}}, +/* 56390 */ {(12<<2)|2,{83,99,0}}, +/* 56391 */ {(12<<2)|2,{83,99,0}}, +/* 56392 */ {(12<<2)|2,{83,99,0}}, +/* 56393 */ {(12<<2)|2,{83,99,0}}, +/* 56394 */ {(12<<2)|2,{83,99,0}}, +/* 56395 */ {(12<<2)|2,{83,99,0}}, +/* 56396 */ {(12<<2)|2,{83,99,0}}, +/* 56397 */ {(12<<2)|2,{83,99,0}}, +/* 56398 */ {(12<<2)|2,{83,99,0}}, +/* 56399 */ {(12<<2)|2,{83,99,0}}, +/* 56400 */ {(12<<2)|2,{83,101,0}}, +/* 56401 */ {(12<<2)|2,{83,101,0}}, +/* 56402 */ {(12<<2)|2,{83,101,0}}, +/* 56403 */ {(12<<2)|2,{83,101,0}}, +/* 56404 */ {(12<<2)|2,{83,101,0}}, +/* 56405 */ {(12<<2)|2,{83,101,0}}, +/* 56406 */ {(12<<2)|2,{83,101,0}}, +/* 56407 */ {(12<<2)|2,{83,101,0}}, +/* 56408 */ {(12<<2)|2,{83,101,0}}, +/* 56409 */ {(12<<2)|2,{83,101,0}}, +/* 56410 */ {(12<<2)|2,{83,101,0}}, +/* 56411 */ {(12<<2)|2,{83,101,0}}, +/* 56412 */ {(12<<2)|2,{83,101,0}}, +/* 56413 */ {(12<<2)|2,{83,101,0}}, +/* 56414 */ {(12<<2)|2,{83,101,0}}, +/* 56415 */ {(12<<2)|2,{83,101,0}}, +/* 56416 */ {(12<<2)|2,{83,105,0}}, +/* 56417 */ {(12<<2)|2,{83,105,0}}, +/* 56418 */ {(12<<2)|2,{83,105,0}}, +/* 56419 */ {(12<<2)|2,{83,105,0}}, +/* 56420 */ {(12<<2)|2,{83,105,0}}, +/* 56421 */ {(12<<2)|2,{83,105,0}}, +/* 56422 */ {(12<<2)|2,{83,105,0}}, +/* 56423 */ {(12<<2)|2,{83,105,0}}, +/* 56424 */ {(12<<2)|2,{83,105,0}}, +/* 56425 */ {(12<<2)|2,{83,105,0}}, +/* 56426 */ {(12<<2)|2,{83,105,0}}, +/* 56427 */ {(12<<2)|2,{83,105,0}}, +/* 56428 */ {(12<<2)|2,{83,105,0}}, +/* 56429 */ {(12<<2)|2,{83,105,0}}, +/* 56430 */ {(12<<2)|2,{83,105,0}}, +/* 56431 */ {(12<<2)|2,{83,105,0}}, +/* 56432 */ {(12<<2)|2,{83,111,0}}, +/* 56433 */ {(12<<2)|2,{83,111,0}}, +/* 56434 */ {(12<<2)|2,{83,111,0}}, +/* 56435 */ {(12<<2)|2,{83,111,0}}, +/* 56436 */ {(12<<2)|2,{83,111,0}}, +/* 56437 */ {(12<<2)|2,{83,111,0}}, +/* 56438 */ {(12<<2)|2,{83,111,0}}, +/* 56439 */ {(12<<2)|2,{83,111,0}}, +/* 56440 */ {(12<<2)|2,{83,111,0}}, +/* 56441 */ {(12<<2)|2,{83,111,0}}, +/* 56442 */ {(12<<2)|2,{83,111,0}}, +/* 56443 */ {(12<<2)|2,{83,111,0}}, +/* 56444 */ {(12<<2)|2,{83,111,0}}, +/* 56445 */ {(12<<2)|2,{83,111,0}}, +/* 56446 */ {(12<<2)|2,{83,111,0}}, +/* 56447 */ {(12<<2)|2,{83,111,0}}, +/* 56448 */ {(12<<2)|2,{83,115,0}}, +/* 56449 */ {(12<<2)|2,{83,115,0}}, +/* 56450 */ {(12<<2)|2,{83,115,0}}, +/* 56451 */ {(12<<2)|2,{83,115,0}}, +/* 56452 */ {(12<<2)|2,{83,115,0}}, +/* 56453 */ {(12<<2)|2,{83,115,0}}, +/* 56454 */ {(12<<2)|2,{83,115,0}}, +/* 56455 */ {(12<<2)|2,{83,115,0}}, +/* 56456 */ {(12<<2)|2,{83,115,0}}, +/* 56457 */ {(12<<2)|2,{83,115,0}}, +/* 56458 */ {(12<<2)|2,{83,115,0}}, +/* 56459 */ {(12<<2)|2,{83,115,0}}, +/* 56460 */ {(12<<2)|2,{83,115,0}}, +/* 56461 */ {(12<<2)|2,{83,115,0}}, +/* 56462 */ {(12<<2)|2,{83,115,0}}, +/* 56463 */ {(12<<2)|2,{83,115,0}}, +/* 56464 */ {(12<<2)|2,{83,116,0}}, +/* 56465 */ {(12<<2)|2,{83,116,0}}, +/* 56466 */ {(12<<2)|2,{83,116,0}}, +/* 56467 */ {(12<<2)|2,{83,116,0}}, +/* 56468 */ {(12<<2)|2,{83,116,0}}, +/* 56469 */ {(12<<2)|2,{83,116,0}}, +/* 56470 */ {(12<<2)|2,{83,116,0}}, +/* 56471 */ {(12<<2)|2,{83,116,0}}, +/* 56472 */ {(12<<2)|2,{83,116,0}}, +/* 56473 */ {(12<<2)|2,{83,116,0}}, +/* 56474 */ {(12<<2)|2,{83,116,0}}, +/* 56475 */ {(12<<2)|2,{83,116,0}}, +/* 56476 */ {(12<<2)|2,{83,116,0}}, +/* 56477 */ {(12<<2)|2,{83,116,0}}, +/* 56478 */ {(12<<2)|2,{83,116,0}}, +/* 56479 */ {(12<<2)|2,{83,116,0}}, +/* 56480 */ {(13<<2)|2,{83,32,0}}, +/* 56481 */ {(13<<2)|2,{83,32,0}}, +/* 56482 */ {(13<<2)|2,{83,32,0}}, +/* 56483 */ {(13<<2)|2,{83,32,0}}, +/* 56484 */ {(13<<2)|2,{83,32,0}}, +/* 56485 */ {(13<<2)|2,{83,32,0}}, +/* 56486 */ {(13<<2)|2,{83,32,0}}, +/* 56487 */ {(13<<2)|2,{83,32,0}}, +/* 56488 */ {(13<<2)|2,{83,37,0}}, +/* 56489 */ {(13<<2)|2,{83,37,0}}, +/* 56490 */ {(13<<2)|2,{83,37,0}}, +/* 56491 */ {(13<<2)|2,{83,37,0}}, +/* 56492 */ {(13<<2)|2,{83,37,0}}, +/* 56493 */ {(13<<2)|2,{83,37,0}}, +/* 56494 */ {(13<<2)|2,{83,37,0}}, +/* 56495 */ {(13<<2)|2,{83,37,0}}, +/* 56496 */ {(13<<2)|2,{83,45,0}}, +/* 56497 */ {(13<<2)|2,{83,45,0}}, +/* 56498 */ {(13<<2)|2,{83,45,0}}, +/* 56499 */ {(13<<2)|2,{83,45,0}}, +/* 56500 */ {(13<<2)|2,{83,45,0}}, +/* 56501 */ {(13<<2)|2,{83,45,0}}, +/* 56502 */ {(13<<2)|2,{83,45,0}}, +/* 56503 */ {(13<<2)|2,{83,45,0}}, +/* 56504 */ {(13<<2)|2,{83,46,0}}, +/* 56505 */ {(13<<2)|2,{83,46,0}}, +/* 56506 */ {(13<<2)|2,{83,46,0}}, +/* 56507 */ {(13<<2)|2,{83,46,0}}, +/* 56508 */ {(13<<2)|2,{83,46,0}}, +/* 56509 */ {(13<<2)|2,{83,46,0}}, +/* 56510 */ {(13<<2)|2,{83,46,0}}, +/* 56511 */ {(13<<2)|2,{83,46,0}}, +/* 56512 */ {(13<<2)|2,{83,47,0}}, +/* 56513 */ {(13<<2)|2,{83,47,0}}, +/* 56514 */ {(13<<2)|2,{83,47,0}}, +/* 56515 */ {(13<<2)|2,{83,47,0}}, +/* 56516 */ {(13<<2)|2,{83,47,0}}, +/* 56517 */ {(13<<2)|2,{83,47,0}}, +/* 56518 */ {(13<<2)|2,{83,47,0}}, +/* 56519 */ {(13<<2)|2,{83,47,0}}, +/* 56520 */ {(13<<2)|2,{83,51,0}}, +/* 56521 */ {(13<<2)|2,{83,51,0}}, +/* 56522 */ {(13<<2)|2,{83,51,0}}, +/* 56523 */ {(13<<2)|2,{83,51,0}}, +/* 56524 */ {(13<<2)|2,{83,51,0}}, +/* 56525 */ {(13<<2)|2,{83,51,0}}, +/* 56526 */ {(13<<2)|2,{83,51,0}}, +/* 56527 */ {(13<<2)|2,{83,51,0}}, +/* 56528 */ {(13<<2)|2,{83,52,0}}, +/* 56529 */ {(13<<2)|2,{83,52,0}}, +/* 56530 */ {(13<<2)|2,{83,52,0}}, +/* 56531 */ {(13<<2)|2,{83,52,0}}, +/* 56532 */ {(13<<2)|2,{83,52,0}}, +/* 56533 */ {(13<<2)|2,{83,52,0}}, +/* 56534 */ {(13<<2)|2,{83,52,0}}, +/* 56535 */ {(13<<2)|2,{83,52,0}}, +/* 56536 */ {(13<<2)|2,{83,53,0}}, +/* 56537 */ {(13<<2)|2,{83,53,0}}, +/* 56538 */ {(13<<2)|2,{83,53,0}}, +/* 56539 */ {(13<<2)|2,{83,53,0}}, +/* 56540 */ {(13<<2)|2,{83,53,0}}, +/* 56541 */ {(13<<2)|2,{83,53,0}}, +/* 56542 */ {(13<<2)|2,{83,53,0}}, +/* 56543 */ {(13<<2)|2,{83,53,0}}, +/* 56544 */ {(13<<2)|2,{83,54,0}}, +/* 56545 */ {(13<<2)|2,{83,54,0}}, +/* 56546 */ {(13<<2)|2,{83,54,0}}, +/* 56547 */ {(13<<2)|2,{83,54,0}}, +/* 56548 */ {(13<<2)|2,{83,54,0}}, +/* 56549 */ {(13<<2)|2,{83,54,0}}, +/* 56550 */ {(13<<2)|2,{83,54,0}}, +/* 56551 */ {(13<<2)|2,{83,54,0}}, +/* 56552 */ {(13<<2)|2,{83,55,0}}, +/* 56553 */ {(13<<2)|2,{83,55,0}}, +/* 56554 */ {(13<<2)|2,{83,55,0}}, +/* 56555 */ {(13<<2)|2,{83,55,0}}, +/* 56556 */ {(13<<2)|2,{83,55,0}}, +/* 56557 */ {(13<<2)|2,{83,55,0}}, +/* 56558 */ {(13<<2)|2,{83,55,0}}, +/* 56559 */ {(13<<2)|2,{83,55,0}}, +/* 56560 */ {(13<<2)|2,{83,56,0}}, +/* 56561 */ {(13<<2)|2,{83,56,0}}, +/* 56562 */ {(13<<2)|2,{83,56,0}}, +/* 56563 */ {(13<<2)|2,{83,56,0}}, +/* 56564 */ {(13<<2)|2,{83,56,0}}, +/* 56565 */ {(13<<2)|2,{83,56,0}}, +/* 56566 */ {(13<<2)|2,{83,56,0}}, +/* 56567 */ {(13<<2)|2,{83,56,0}}, +/* 56568 */ {(13<<2)|2,{83,57,0}}, +/* 56569 */ {(13<<2)|2,{83,57,0}}, +/* 56570 */ {(13<<2)|2,{83,57,0}}, +/* 56571 */ {(13<<2)|2,{83,57,0}}, +/* 56572 */ {(13<<2)|2,{83,57,0}}, +/* 56573 */ {(13<<2)|2,{83,57,0}}, +/* 56574 */ {(13<<2)|2,{83,57,0}}, +/* 56575 */ {(13<<2)|2,{83,57,0}}, +/* 56576 */ {(13<<2)|2,{83,61,0}}, +/* 56577 */ {(13<<2)|2,{83,61,0}}, +/* 56578 */ {(13<<2)|2,{83,61,0}}, +/* 56579 */ {(13<<2)|2,{83,61,0}}, +/* 56580 */ {(13<<2)|2,{83,61,0}}, +/* 56581 */ {(13<<2)|2,{83,61,0}}, +/* 56582 */ {(13<<2)|2,{83,61,0}}, +/* 56583 */ {(13<<2)|2,{83,61,0}}, +/* 56584 */ {(13<<2)|2,{83,65,0}}, +/* 56585 */ {(13<<2)|2,{83,65,0}}, +/* 56586 */ {(13<<2)|2,{83,65,0}}, +/* 56587 */ {(13<<2)|2,{83,65,0}}, +/* 56588 */ {(13<<2)|2,{83,65,0}}, +/* 56589 */ {(13<<2)|2,{83,65,0}}, +/* 56590 */ {(13<<2)|2,{83,65,0}}, +/* 56591 */ {(13<<2)|2,{83,65,0}}, +/* 56592 */ {(13<<2)|2,{83,95,0}}, +/* 56593 */ {(13<<2)|2,{83,95,0}}, +/* 56594 */ {(13<<2)|2,{83,95,0}}, +/* 56595 */ {(13<<2)|2,{83,95,0}}, +/* 56596 */ {(13<<2)|2,{83,95,0}}, +/* 56597 */ {(13<<2)|2,{83,95,0}}, +/* 56598 */ {(13<<2)|2,{83,95,0}}, +/* 56599 */ {(13<<2)|2,{83,95,0}}, +/* 56600 */ {(13<<2)|2,{83,98,0}}, +/* 56601 */ {(13<<2)|2,{83,98,0}}, +/* 56602 */ {(13<<2)|2,{83,98,0}}, +/* 56603 */ {(13<<2)|2,{83,98,0}}, +/* 56604 */ {(13<<2)|2,{83,98,0}}, +/* 56605 */ {(13<<2)|2,{83,98,0}}, +/* 56606 */ {(13<<2)|2,{83,98,0}}, +/* 56607 */ {(13<<2)|2,{83,98,0}}, +/* 56608 */ {(13<<2)|2,{83,100,0}}, +/* 56609 */ {(13<<2)|2,{83,100,0}}, +/* 56610 */ {(13<<2)|2,{83,100,0}}, +/* 56611 */ {(13<<2)|2,{83,100,0}}, +/* 56612 */ {(13<<2)|2,{83,100,0}}, +/* 56613 */ {(13<<2)|2,{83,100,0}}, +/* 56614 */ {(13<<2)|2,{83,100,0}}, +/* 56615 */ {(13<<2)|2,{83,100,0}}, +/* 56616 */ {(13<<2)|2,{83,102,0}}, +/* 56617 */ {(13<<2)|2,{83,102,0}}, +/* 56618 */ {(13<<2)|2,{83,102,0}}, +/* 56619 */ {(13<<2)|2,{83,102,0}}, +/* 56620 */ {(13<<2)|2,{83,102,0}}, +/* 56621 */ {(13<<2)|2,{83,102,0}}, +/* 56622 */ {(13<<2)|2,{83,102,0}}, +/* 56623 */ {(13<<2)|2,{83,102,0}}, +/* 56624 */ {(13<<2)|2,{83,103,0}}, +/* 56625 */ {(13<<2)|2,{83,103,0}}, +/* 56626 */ {(13<<2)|2,{83,103,0}}, +/* 56627 */ {(13<<2)|2,{83,103,0}}, +/* 56628 */ {(13<<2)|2,{83,103,0}}, +/* 56629 */ {(13<<2)|2,{83,103,0}}, +/* 56630 */ {(13<<2)|2,{83,103,0}}, +/* 56631 */ {(13<<2)|2,{83,103,0}}, +/* 56632 */ {(13<<2)|2,{83,104,0}}, +/* 56633 */ {(13<<2)|2,{83,104,0}}, +/* 56634 */ {(13<<2)|2,{83,104,0}}, +/* 56635 */ {(13<<2)|2,{83,104,0}}, +/* 56636 */ {(13<<2)|2,{83,104,0}}, +/* 56637 */ {(13<<2)|2,{83,104,0}}, +/* 56638 */ {(13<<2)|2,{83,104,0}}, +/* 56639 */ {(13<<2)|2,{83,104,0}}, +/* 56640 */ {(13<<2)|2,{83,108,0}}, +/* 56641 */ {(13<<2)|2,{83,108,0}}, +/* 56642 */ {(13<<2)|2,{83,108,0}}, +/* 56643 */ {(13<<2)|2,{83,108,0}}, +/* 56644 */ {(13<<2)|2,{83,108,0}}, +/* 56645 */ {(13<<2)|2,{83,108,0}}, +/* 56646 */ {(13<<2)|2,{83,108,0}}, +/* 56647 */ {(13<<2)|2,{83,108,0}}, +/* 56648 */ {(13<<2)|2,{83,109,0}}, +/* 56649 */ {(13<<2)|2,{83,109,0}}, +/* 56650 */ {(13<<2)|2,{83,109,0}}, +/* 56651 */ {(13<<2)|2,{83,109,0}}, +/* 56652 */ {(13<<2)|2,{83,109,0}}, +/* 56653 */ {(13<<2)|2,{83,109,0}}, +/* 56654 */ {(13<<2)|2,{83,109,0}}, +/* 56655 */ {(13<<2)|2,{83,109,0}}, +/* 56656 */ {(13<<2)|2,{83,110,0}}, +/* 56657 */ {(13<<2)|2,{83,110,0}}, +/* 56658 */ {(13<<2)|2,{83,110,0}}, +/* 56659 */ {(13<<2)|2,{83,110,0}}, +/* 56660 */ {(13<<2)|2,{83,110,0}}, +/* 56661 */ {(13<<2)|2,{83,110,0}}, +/* 56662 */ {(13<<2)|2,{83,110,0}}, +/* 56663 */ {(13<<2)|2,{83,110,0}}, +/* 56664 */ {(13<<2)|2,{83,112,0}}, +/* 56665 */ {(13<<2)|2,{83,112,0}}, +/* 56666 */ {(13<<2)|2,{83,112,0}}, +/* 56667 */ {(13<<2)|2,{83,112,0}}, +/* 56668 */ {(13<<2)|2,{83,112,0}}, +/* 56669 */ {(13<<2)|2,{83,112,0}}, +/* 56670 */ {(13<<2)|2,{83,112,0}}, +/* 56671 */ {(13<<2)|2,{83,112,0}}, +/* 56672 */ {(13<<2)|2,{83,114,0}}, +/* 56673 */ {(13<<2)|2,{83,114,0}}, +/* 56674 */ {(13<<2)|2,{83,114,0}}, +/* 56675 */ {(13<<2)|2,{83,114,0}}, +/* 56676 */ {(13<<2)|2,{83,114,0}}, +/* 56677 */ {(13<<2)|2,{83,114,0}}, +/* 56678 */ {(13<<2)|2,{83,114,0}}, +/* 56679 */ {(13<<2)|2,{83,114,0}}, +/* 56680 */ {(13<<2)|2,{83,117,0}}, +/* 56681 */ {(13<<2)|2,{83,117,0}}, +/* 56682 */ {(13<<2)|2,{83,117,0}}, +/* 56683 */ {(13<<2)|2,{83,117,0}}, +/* 56684 */ {(13<<2)|2,{83,117,0}}, +/* 56685 */ {(13<<2)|2,{83,117,0}}, +/* 56686 */ {(13<<2)|2,{83,117,0}}, +/* 56687 */ {(13<<2)|2,{83,117,0}}, +/* 56688 */ {(14<<2)|2,{83,58,0}}, +/* 56689 */ {(14<<2)|2,{83,58,0}}, +/* 56690 */ {(14<<2)|2,{83,58,0}}, +/* 56691 */ {(14<<2)|2,{83,58,0}}, +/* 56692 */ {(14<<2)|2,{83,66,0}}, +/* 56693 */ {(14<<2)|2,{83,66,0}}, +/* 56694 */ {(14<<2)|2,{83,66,0}}, +/* 56695 */ {(14<<2)|2,{83,66,0}}, +/* 56696 */ {(14<<2)|2,{83,67,0}}, +/* 56697 */ {(14<<2)|2,{83,67,0}}, +/* 56698 */ {(14<<2)|2,{83,67,0}}, +/* 56699 */ {(14<<2)|2,{83,67,0}}, +/* 56700 */ {(14<<2)|2,{83,68,0}}, +/* 56701 */ {(14<<2)|2,{83,68,0}}, +/* 56702 */ {(14<<2)|2,{83,68,0}}, +/* 56703 */ {(14<<2)|2,{83,68,0}}, +/* 56704 */ {(14<<2)|2,{83,69,0}}, +/* 56705 */ {(14<<2)|2,{83,69,0}}, +/* 56706 */ {(14<<2)|2,{83,69,0}}, +/* 56707 */ {(14<<2)|2,{83,69,0}}, +/* 56708 */ {(14<<2)|2,{83,70,0}}, +/* 56709 */ {(14<<2)|2,{83,70,0}}, +/* 56710 */ {(14<<2)|2,{83,70,0}}, +/* 56711 */ {(14<<2)|2,{83,70,0}}, +/* 56712 */ {(14<<2)|2,{83,71,0}}, +/* 56713 */ {(14<<2)|2,{83,71,0}}, +/* 56714 */ {(14<<2)|2,{83,71,0}}, +/* 56715 */ {(14<<2)|2,{83,71,0}}, +/* 56716 */ {(14<<2)|2,{83,72,0}}, +/* 56717 */ {(14<<2)|2,{83,72,0}}, +/* 56718 */ {(14<<2)|2,{83,72,0}}, +/* 56719 */ {(14<<2)|2,{83,72,0}}, +/* 56720 */ {(14<<2)|2,{83,73,0}}, +/* 56721 */ {(14<<2)|2,{83,73,0}}, +/* 56722 */ {(14<<2)|2,{83,73,0}}, +/* 56723 */ {(14<<2)|2,{83,73,0}}, +/* 56724 */ {(14<<2)|2,{83,74,0}}, +/* 56725 */ {(14<<2)|2,{83,74,0}}, +/* 56726 */ {(14<<2)|2,{83,74,0}}, +/* 56727 */ {(14<<2)|2,{83,74,0}}, +/* 56728 */ {(14<<2)|2,{83,75,0}}, +/* 56729 */ {(14<<2)|2,{83,75,0}}, +/* 56730 */ {(14<<2)|2,{83,75,0}}, +/* 56731 */ {(14<<2)|2,{83,75,0}}, +/* 56732 */ {(14<<2)|2,{83,76,0}}, +/* 56733 */ {(14<<2)|2,{83,76,0}}, +/* 56734 */ {(14<<2)|2,{83,76,0}}, +/* 56735 */ {(14<<2)|2,{83,76,0}}, +/* 56736 */ {(14<<2)|2,{83,77,0}}, +/* 56737 */ {(14<<2)|2,{83,77,0}}, +/* 56738 */ {(14<<2)|2,{83,77,0}}, +/* 56739 */ {(14<<2)|2,{83,77,0}}, +/* 56740 */ {(14<<2)|2,{83,78,0}}, +/* 56741 */ {(14<<2)|2,{83,78,0}}, +/* 56742 */ {(14<<2)|2,{83,78,0}}, +/* 56743 */ {(14<<2)|2,{83,78,0}}, +/* 56744 */ {(14<<2)|2,{83,79,0}}, +/* 56745 */ {(14<<2)|2,{83,79,0}}, +/* 56746 */ {(14<<2)|2,{83,79,0}}, +/* 56747 */ {(14<<2)|2,{83,79,0}}, +/* 56748 */ {(14<<2)|2,{83,80,0}}, +/* 56749 */ {(14<<2)|2,{83,80,0}}, +/* 56750 */ {(14<<2)|2,{83,80,0}}, +/* 56751 */ {(14<<2)|2,{83,80,0}}, +/* 56752 */ {(14<<2)|2,{83,81,0}}, +/* 56753 */ {(14<<2)|2,{83,81,0}}, +/* 56754 */ {(14<<2)|2,{83,81,0}}, +/* 56755 */ {(14<<2)|2,{83,81,0}}, +/* 56756 */ {(14<<2)|2,{83,82,0}}, +/* 56757 */ {(14<<2)|2,{83,82,0}}, +/* 56758 */ {(14<<2)|2,{83,82,0}}, +/* 56759 */ {(14<<2)|2,{83,82,0}}, +/* 56760 */ {(14<<2)|2,{83,83,0}}, +/* 56761 */ {(14<<2)|2,{83,83,0}}, +/* 56762 */ {(14<<2)|2,{83,83,0}}, +/* 56763 */ {(14<<2)|2,{83,83,0}}, +/* 56764 */ {(14<<2)|2,{83,84,0}}, +/* 56765 */ {(14<<2)|2,{83,84,0}}, +/* 56766 */ {(14<<2)|2,{83,84,0}}, +/* 56767 */ {(14<<2)|2,{83,84,0}}, +/* 56768 */ {(14<<2)|2,{83,85,0}}, +/* 56769 */ {(14<<2)|2,{83,85,0}}, +/* 56770 */ {(14<<2)|2,{83,85,0}}, +/* 56771 */ {(14<<2)|2,{83,85,0}}, +/* 56772 */ {(14<<2)|2,{83,86,0}}, +/* 56773 */ {(14<<2)|2,{83,86,0}}, +/* 56774 */ {(14<<2)|2,{83,86,0}}, +/* 56775 */ {(14<<2)|2,{83,86,0}}, +/* 56776 */ {(14<<2)|2,{83,87,0}}, +/* 56777 */ {(14<<2)|2,{83,87,0}}, +/* 56778 */ {(14<<2)|2,{83,87,0}}, +/* 56779 */ {(14<<2)|2,{83,87,0}}, +/* 56780 */ {(14<<2)|2,{83,89,0}}, +/* 56781 */ {(14<<2)|2,{83,89,0}}, +/* 56782 */ {(14<<2)|2,{83,89,0}}, +/* 56783 */ {(14<<2)|2,{83,89,0}}, +/* 56784 */ {(14<<2)|2,{83,106,0}}, +/* 56785 */ {(14<<2)|2,{83,106,0}}, +/* 56786 */ {(14<<2)|2,{83,106,0}}, +/* 56787 */ {(14<<2)|2,{83,106,0}}, +/* 56788 */ {(14<<2)|2,{83,107,0}}, +/* 56789 */ {(14<<2)|2,{83,107,0}}, +/* 56790 */ {(14<<2)|2,{83,107,0}}, +/* 56791 */ {(14<<2)|2,{83,107,0}}, +/* 56792 */ {(14<<2)|2,{83,113,0}}, +/* 56793 */ {(14<<2)|2,{83,113,0}}, +/* 56794 */ {(14<<2)|2,{83,113,0}}, +/* 56795 */ {(14<<2)|2,{83,113,0}}, +/* 56796 */ {(14<<2)|2,{83,118,0}}, +/* 56797 */ {(14<<2)|2,{83,118,0}}, +/* 56798 */ {(14<<2)|2,{83,118,0}}, +/* 56799 */ {(14<<2)|2,{83,118,0}}, +/* 56800 */ {(14<<2)|2,{83,119,0}}, +/* 56801 */ {(14<<2)|2,{83,119,0}}, +/* 56802 */ {(14<<2)|2,{83,119,0}}, +/* 56803 */ {(14<<2)|2,{83,119,0}}, +/* 56804 */ {(14<<2)|2,{83,120,0}}, +/* 56805 */ {(14<<2)|2,{83,120,0}}, +/* 56806 */ {(14<<2)|2,{83,120,0}}, +/* 56807 */ {(14<<2)|2,{83,120,0}}, +/* 56808 */ {(14<<2)|2,{83,121,0}}, +/* 56809 */ {(14<<2)|2,{83,121,0}}, +/* 56810 */ {(14<<2)|2,{83,121,0}}, +/* 56811 */ {(14<<2)|2,{83,121,0}}, +/* 56812 */ {(14<<2)|2,{83,122,0}}, +/* 56813 */ {(14<<2)|2,{83,122,0}}, +/* 56814 */ {(14<<2)|2,{83,122,0}}, +/* 56815 */ {(14<<2)|2,{83,122,0}}, +/* 56816 */ {(15<<2)|2,{83,38,0}}, +/* 56817 */ {(15<<2)|2,{83,38,0}}, +/* 56818 */ {(15<<2)|2,{83,42,0}}, +/* 56819 */ {(15<<2)|2,{83,42,0}}, +/* 56820 */ {(15<<2)|2,{83,44,0}}, +/* 56821 */ {(15<<2)|2,{83,44,0}}, +/* 56822 */ {(15<<2)|2,{83,59,0}}, +/* 56823 */ {(15<<2)|2,{83,59,0}}, +/* 56824 */ {(15<<2)|2,{83,88,0}}, +/* 56825 */ {(15<<2)|2,{83,88,0}}, +/* 56826 */ {(15<<2)|2,{83,90,0}}, +/* 56827 */ {(15<<2)|2,{83,90,0}}, +/* 56828 */ {(7<<2)|1,{83,0,0}}, +/* 56829 */ {(7<<2)|1,{83,0,0}}, +/* 56830 */ {(7<<2)|1,{83,0,0}}, +/* 56831 */ {(7<<2)|1,{83,0,0}}, +/* 56832 */ {(12<<2)|2,{84,48,0}}, +/* 56833 */ {(12<<2)|2,{84,48,0}}, +/* 56834 */ {(12<<2)|2,{84,48,0}}, +/* 56835 */ {(12<<2)|2,{84,48,0}}, +/* 56836 */ {(12<<2)|2,{84,48,0}}, +/* 56837 */ {(12<<2)|2,{84,48,0}}, +/* 56838 */ {(12<<2)|2,{84,48,0}}, +/* 56839 */ {(12<<2)|2,{84,48,0}}, +/* 56840 */ {(12<<2)|2,{84,48,0}}, +/* 56841 */ {(12<<2)|2,{84,48,0}}, +/* 56842 */ {(12<<2)|2,{84,48,0}}, +/* 56843 */ {(12<<2)|2,{84,48,0}}, +/* 56844 */ {(12<<2)|2,{84,48,0}}, +/* 56845 */ {(12<<2)|2,{84,48,0}}, +/* 56846 */ {(12<<2)|2,{84,48,0}}, +/* 56847 */ {(12<<2)|2,{84,48,0}}, +/* 56848 */ {(12<<2)|2,{84,49,0}}, +/* 56849 */ {(12<<2)|2,{84,49,0}}, +/* 56850 */ {(12<<2)|2,{84,49,0}}, +/* 56851 */ {(12<<2)|2,{84,49,0}}, +/* 56852 */ {(12<<2)|2,{84,49,0}}, +/* 56853 */ {(12<<2)|2,{84,49,0}}, +/* 56854 */ {(12<<2)|2,{84,49,0}}, +/* 56855 */ {(12<<2)|2,{84,49,0}}, +/* 56856 */ {(12<<2)|2,{84,49,0}}, +/* 56857 */ {(12<<2)|2,{84,49,0}}, +/* 56858 */ {(12<<2)|2,{84,49,0}}, +/* 56859 */ {(12<<2)|2,{84,49,0}}, +/* 56860 */ {(12<<2)|2,{84,49,0}}, +/* 56861 */ {(12<<2)|2,{84,49,0}}, +/* 56862 */ {(12<<2)|2,{84,49,0}}, +/* 56863 */ {(12<<2)|2,{84,49,0}}, +/* 56864 */ {(12<<2)|2,{84,50,0}}, +/* 56865 */ {(12<<2)|2,{84,50,0}}, +/* 56866 */ {(12<<2)|2,{84,50,0}}, +/* 56867 */ {(12<<2)|2,{84,50,0}}, +/* 56868 */ {(12<<2)|2,{84,50,0}}, +/* 56869 */ {(12<<2)|2,{84,50,0}}, +/* 56870 */ {(12<<2)|2,{84,50,0}}, +/* 56871 */ {(12<<2)|2,{84,50,0}}, +/* 56872 */ {(12<<2)|2,{84,50,0}}, +/* 56873 */ {(12<<2)|2,{84,50,0}}, +/* 56874 */ {(12<<2)|2,{84,50,0}}, +/* 56875 */ {(12<<2)|2,{84,50,0}}, +/* 56876 */ {(12<<2)|2,{84,50,0}}, +/* 56877 */ {(12<<2)|2,{84,50,0}}, +/* 56878 */ {(12<<2)|2,{84,50,0}}, +/* 56879 */ {(12<<2)|2,{84,50,0}}, +/* 56880 */ {(12<<2)|2,{84,97,0}}, +/* 56881 */ {(12<<2)|2,{84,97,0}}, +/* 56882 */ {(12<<2)|2,{84,97,0}}, +/* 56883 */ {(12<<2)|2,{84,97,0}}, +/* 56884 */ {(12<<2)|2,{84,97,0}}, +/* 56885 */ {(12<<2)|2,{84,97,0}}, +/* 56886 */ {(12<<2)|2,{84,97,0}}, +/* 56887 */ {(12<<2)|2,{84,97,0}}, +/* 56888 */ {(12<<2)|2,{84,97,0}}, +/* 56889 */ {(12<<2)|2,{84,97,0}}, +/* 56890 */ {(12<<2)|2,{84,97,0}}, +/* 56891 */ {(12<<2)|2,{84,97,0}}, +/* 56892 */ {(12<<2)|2,{84,97,0}}, +/* 56893 */ {(12<<2)|2,{84,97,0}}, +/* 56894 */ {(12<<2)|2,{84,97,0}}, +/* 56895 */ {(12<<2)|2,{84,97,0}}, +/* 56896 */ {(12<<2)|2,{84,99,0}}, +/* 56897 */ {(12<<2)|2,{84,99,0}}, +/* 56898 */ {(12<<2)|2,{84,99,0}}, +/* 56899 */ {(12<<2)|2,{84,99,0}}, +/* 56900 */ {(12<<2)|2,{84,99,0}}, +/* 56901 */ {(12<<2)|2,{84,99,0}}, +/* 56902 */ {(12<<2)|2,{84,99,0}}, +/* 56903 */ {(12<<2)|2,{84,99,0}}, +/* 56904 */ {(12<<2)|2,{84,99,0}}, +/* 56905 */ {(12<<2)|2,{84,99,0}}, +/* 56906 */ {(12<<2)|2,{84,99,0}}, +/* 56907 */ {(12<<2)|2,{84,99,0}}, +/* 56908 */ {(12<<2)|2,{84,99,0}}, +/* 56909 */ {(12<<2)|2,{84,99,0}}, +/* 56910 */ {(12<<2)|2,{84,99,0}}, +/* 56911 */ {(12<<2)|2,{84,99,0}}, +/* 56912 */ {(12<<2)|2,{84,101,0}}, +/* 56913 */ {(12<<2)|2,{84,101,0}}, +/* 56914 */ {(12<<2)|2,{84,101,0}}, +/* 56915 */ {(12<<2)|2,{84,101,0}}, +/* 56916 */ {(12<<2)|2,{84,101,0}}, +/* 56917 */ {(12<<2)|2,{84,101,0}}, +/* 56918 */ {(12<<2)|2,{84,101,0}}, +/* 56919 */ {(12<<2)|2,{84,101,0}}, +/* 56920 */ {(12<<2)|2,{84,101,0}}, +/* 56921 */ {(12<<2)|2,{84,101,0}}, +/* 56922 */ {(12<<2)|2,{84,101,0}}, +/* 56923 */ {(12<<2)|2,{84,101,0}}, +/* 56924 */ {(12<<2)|2,{84,101,0}}, +/* 56925 */ {(12<<2)|2,{84,101,0}}, +/* 56926 */ {(12<<2)|2,{84,101,0}}, +/* 56927 */ {(12<<2)|2,{84,101,0}}, +/* 56928 */ {(12<<2)|2,{84,105,0}}, +/* 56929 */ {(12<<2)|2,{84,105,0}}, +/* 56930 */ {(12<<2)|2,{84,105,0}}, +/* 56931 */ {(12<<2)|2,{84,105,0}}, +/* 56932 */ {(12<<2)|2,{84,105,0}}, +/* 56933 */ {(12<<2)|2,{84,105,0}}, +/* 56934 */ {(12<<2)|2,{84,105,0}}, +/* 56935 */ {(12<<2)|2,{84,105,0}}, +/* 56936 */ {(12<<2)|2,{84,105,0}}, +/* 56937 */ {(12<<2)|2,{84,105,0}}, +/* 56938 */ {(12<<2)|2,{84,105,0}}, +/* 56939 */ {(12<<2)|2,{84,105,0}}, +/* 56940 */ {(12<<2)|2,{84,105,0}}, +/* 56941 */ {(12<<2)|2,{84,105,0}}, +/* 56942 */ {(12<<2)|2,{84,105,0}}, +/* 56943 */ {(12<<2)|2,{84,105,0}}, +/* 56944 */ {(12<<2)|2,{84,111,0}}, +/* 56945 */ {(12<<2)|2,{84,111,0}}, +/* 56946 */ {(12<<2)|2,{84,111,0}}, +/* 56947 */ {(12<<2)|2,{84,111,0}}, +/* 56948 */ {(12<<2)|2,{84,111,0}}, +/* 56949 */ {(12<<2)|2,{84,111,0}}, +/* 56950 */ {(12<<2)|2,{84,111,0}}, +/* 56951 */ {(12<<2)|2,{84,111,0}}, +/* 56952 */ {(12<<2)|2,{84,111,0}}, +/* 56953 */ {(12<<2)|2,{84,111,0}}, +/* 56954 */ {(12<<2)|2,{84,111,0}}, +/* 56955 */ {(12<<2)|2,{84,111,0}}, +/* 56956 */ {(12<<2)|2,{84,111,0}}, +/* 56957 */ {(12<<2)|2,{84,111,0}}, +/* 56958 */ {(12<<2)|2,{84,111,0}}, +/* 56959 */ {(12<<2)|2,{84,111,0}}, +/* 56960 */ {(12<<2)|2,{84,115,0}}, +/* 56961 */ {(12<<2)|2,{84,115,0}}, +/* 56962 */ {(12<<2)|2,{84,115,0}}, +/* 56963 */ {(12<<2)|2,{84,115,0}}, +/* 56964 */ {(12<<2)|2,{84,115,0}}, +/* 56965 */ {(12<<2)|2,{84,115,0}}, +/* 56966 */ {(12<<2)|2,{84,115,0}}, +/* 56967 */ {(12<<2)|2,{84,115,0}}, +/* 56968 */ {(12<<2)|2,{84,115,0}}, +/* 56969 */ {(12<<2)|2,{84,115,0}}, +/* 56970 */ {(12<<2)|2,{84,115,0}}, +/* 56971 */ {(12<<2)|2,{84,115,0}}, +/* 56972 */ {(12<<2)|2,{84,115,0}}, +/* 56973 */ {(12<<2)|2,{84,115,0}}, +/* 56974 */ {(12<<2)|2,{84,115,0}}, +/* 56975 */ {(12<<2)|2,{84,115,0}}, +/* 56976 */ {(12<<2)|2,{84,116,0}}, +/* 56977 */ {(12<<2)|2,{84,116,0}}, +/* 56978 */ {(12<<2)|2,{84,116,0}}, +/* 56979 */ {(12<<2)|2,{84,116,0}}, +/* 56980 */ {(12<<2)|2,{84,116,0}}, +/* 56981 */ {(12<<2)|2,{84,116,0}}, +/* 56982 */ {(12<<2)|2,{84,116,0}}, +/* 56983 */ {(12<<2)|2,{84,116,0}}, +/* 56984 */ {(12<<2)|2,{84,116,0}}, +/* 56985 */ {(12<<2)|2,{84,116,0}}, +/* 56986 */ {(12<<2)|2,{84,116,0}}, +/* 56987 */ {(12<<2)|2,{84,116,0}}, +/* 56988 */ {(12<<2)|2,{84,116,0}}, +/* 56989 */ {(12<<2)|2,{84,116,0}}, +/* 56990 */ {(12<<2)|2,{84,116,0}}, +/* 56991 */ {(12<<2)|2,{84,116,0}}, +/* 56992 */ {(13<<2)|2,{84,32,0}}, +/* 56993 */ {(13<<2)|2,{84,32,0}}, +/* 56994 */ {(13<<2)|2,{84,32,0}}, +/* 56995 */ {(13<<2)|2,{84,32,0}}, +/* 56996 */ {(13<<2)|2,{84,32,0}}, +/* 56997 */ {(13<<2)|2,{84,32,0}}, +/* 56998 */ {(13<<2)|2,{84,32,0}}, +/* 56999 */ {(13<<2)|2,{84,32,0}}, +/* 57000 */ {(13<<2)|2,{84,37,0}}, +/* 57001 */ {(13<<2)|2,{84,37,0}}, +/* 57002 */ {(13<<2)|2,{84,37,0}}, +/* 57003 */ {(13<<2)|2,{84,37,0}}, +/* 57004 */ {(13<<2)|2,{84,37,0}}, +/* 57005 */ {(13<<2)|2,{84,37,0}}, +/* 57006 */ {(13<<2)|2,{84,37,0}}, +/* 57007 */ {(13<<2)|2,{84,37,0}}, +/* 57008 */ {(13<<2)|2,{84,45,0}}, +/* 57009 */ {(13<<2)|2,{84,45,0}}, +/* 57010 */ {(13<<2)|2,{84,45,0}}, +/* 57011 */ {(13<<2)|2,{84,45,0}}, +/* 57012 */ {(13<<2)|2,{84,45,0}}, +/* 57013 */ {(13<<2)|2,{84,45,0}}, +/* 57014 */ {(13<<2)|2,{84,45,0}}, +/* 57015 */ {(13<<2)|2,{84,45,0}}, +/* 57016 */ {(13<<2)|2,{84,46,0}}, +/* 57017 */ {(13<<2)|2,{84,46,0}}, +/* 57018 */ {(13<<2)|2,{84,46,0}}, +/* 57019 */ {(13<<2)|2,{84,46,0}}, +/* 57020 */ {(13<<2)|2,{84,46,0}}, +/* 57021 */ {(13<<2)|2,{84,46,0}}, +/* 57022 */ {(13<<2)|2,{84,46,0}}, +/* 57023 */ {(13<<2)|2,{84,46,0}}, +/* 57024 */ {(13<<2)|2,{84,47,0}}, +/* 57025 */ {(13<<2)|2,{84,47,0}}, +/* 57026 */ {(13<<2)|2,{84,47,0}}, +/* 57027 */ {(13<<2)|2,{84,47,0}}, +/* 57028 */ {(13<<2)|2,{84,47,0}}, +/* 57029 */ {(13<<2)|2,{84,47,0}}, +/* 57030 */ {(13<<2)|2,{84,47,0}}, +/* 57031 */ {(13<<2)|2,{84,47,0}}, +/* 57032 */ {(13<<2)|2,{84,51,0}}, +/* 57033 */ {(13<<2)|2,{84,51,0}}, +/* 57034 */ {(13<<2)|2,{84,51,0}}, +/* 57035 */ {(13<<2)|2,{84,51,0}}, +/* 57036 */ {(13<<2)|2,{84,51,0}}, +/* 57037 */ {(13<<2)|2,{84,51,0}}, +/* 57038 */ {(13<<2)|2,{84,51,0}}, +/* 57039 */ {(13<<2)|2,{84,51,0}}, +/* 57040 */ {(13<<2)|2,{84,52,0}}, +/* 57041 */ {(13<<2)|2,{84,52,0}}, +/* 57042 */ {(13<<2)|2,{84,52,0}}, +/* 57043 */ {(13<<2)|2,{84,52,0}}, +/* 57044 */ {(13<<2)|2,{84,52,0}}, +/* 57045 */ {(13<<2)|2,{84,52,0}}, +/* 57046 */ {(13<<2)|2,{84,52,0}}, +/* 57047 */ {(13<<2)|2,{84,52,0}}, +/* 57048 */ {(13<<2)|2,{84,53,0}}, +/* 57049 */ {(13<<2)|2,{84,53,0}}, +/* 57050 */ {(13<<2)|2,{84,53,0}}, +/* 57051 */ {(13<<2)|2,{84,53,0}}, +/* 57052 */ {(13<<2)|2,{84,53,0}}, +/* 57053 */ {(13<<2)|2,{84,53,0}}, +/* 57054 */ {(13<<2)|2,{84,53,0}}, +/* 57055 */ {(13<<2)|2,{84,53,0}}, +/* 57056 */ {(13<<2)|2,{84,54,0}}, +/* 57057 */ {(13<<2)|2,{84,54,0}}, +/* 57058 */ {(13<<2)|2,{84,54,0}}, +/* 57059 */ {(13<<2)|2,{84,54,0}}, +/* 57060 */ {(13<<2)|2,{84,54,0}}, +/* 57061 */ {(13<<2)|2,{84,54,0}}, +/* 57062 */ {(13<<2)|2,{84,54,0}}, +/* 57063 */ {(13<<2)|2,{84,54,0}}, +/* 57064 */ {(13<<2)|2,{84,55,0}}, +/* 57065 */ {(13<<2)|2,{84,55,0}}, +/* 57066 */ {(13<<2)|2,{84,55,0}}, +/* 57067 */ {(13<<2)|2,{84,55,0}}, +/* 57068 */ {(13<<2)|2,{84,55,0}}, +/* 57069 */ {(13<<2)|2,{84,55,0}}, +/* 57070 */ {(13<<2)|2,{84,55,0}}, +/* 57071 */ {(13<<2)|2,{84,55,0}}, +/* 57072 */ {(13<<2)|2,{84,56,0}}, +/* 57073 */ {(13<<2)|2,{84,56,0}}, +/* 57074 */ {(13<<2)|2,{84,56,0}}, +/* 57075 */ {(13<<2)|2,{84,56,0}}, +/* 57076 */ {(13<<2)|2,{84,56,0}}, +/* 57077 */ {(13<<2)|2,{84,56,0}}, +/* 57078 */ {(13<<2)|2,{84,56,0}}, +/* 57079 */ {(13<<2)|2,{84,56,0}}, +/* 57080 */ {(13<<2)|2,{84,57,0}}, +/* 57081 */ {(13<<2)|2,{84,57,0}}, +/* 57082 */ {(13<<2)|2,{84,57,0}}, +/* 57083 */ {(13<<2)|2,{84,57,0}}, +/* 57084 */ {(13<<2)|2,{84,57,0}}, +/* 57085 */ {(13<<2)|2,{84,57,0}}, +/* 57086 */ {(13<<2)|2,{84,57,0}}, +/* 57087 */ {(13<<2)|2,{84,57,0}}, +/* 57088 */ {(13<<2)|2,{84,61,0}}, +/* 57089 */ {(13<<2)|2,{84,61,0}}, +/* 57090 */ {(13<<2)|2,{84,61,0}}, +/* 57091 */ {(13<<2)|2,{84,61,0}}, +/* 57092 */ {(13<<2)|2,{84,61,0}}, +/* 57093 */ {(13<<2)|2,{84,61,0}}, +/* 57094 */ {(13<<2)|2,{84,61,0}}, +/* 57095 */ {(13<<2)|2,{84,61,0}}, +/* 57096 */ {(13<<2)|2,{84,65,0}}, +/* 57097 */ {(13<<2)|2,{84,65,0}}, +/* 57098 */ {(13<<2)|2,{84,65,0}}, +/* 57099 */ {(13<<2)|2,{84,65,0}}, +/* 57100 */ {(13<<2)|2,{84,65,0}}, +/* 57101 */ {(13<<2)|2,{84,65,0}}, +/* 57102 */ {(13<<2)|2,{84,65,0}}, +/* 57103 */ {(13<<2)|2,{84,65,0}}, +/* 57104 */ {(13<<2)|2,{84,95,0}}, +/* 57105 */ {(13<<2)|2,{84,95,0}}, +/* 57106 */ {(13<<2)|2,{84,95,0}}, +/* 57107 */ {(13<<2)|2,{84,95,0}}, +/* 57108 */ {(13<<2)|2,{84,95,0}}, +/* 57109 */ {(13<<2)|2,{84,95,0}}, +/* 57110 */ {(13<<2)|2,{84,95,0}}, +/* 57111 */ {(13<<2)|2,{84,95,0}}, +/* 57112 */ {(13<<2)|2,{84,98,0}}, +/* 57113 */ {(13<<2)|2,{84,98,0}}, +/* 57114 */ {(13<<2)|2,{84,98,0}}, +/* 57115 */ {(13<<2)|2,{84,98,0}}, +/* 57116 */ {(13<<2)|2,{84,98,0}}, +/* 57117 */ {(13<<2)|2,{84,98,0}}, +/* 57118 */ {(13<<2)|2,{84,98,0}}, +/* 57119 */ {(13<<2)|2,{84,98,0}}, +/* 57120 */ {(13<<2)|2,{84,100,0}}, +/* 57121 */ {(13<<2)|2,{84,100,0}}, +/* 57122 */ {(13<<2)|2,{84,100,0}}, +/* 57123 */ {(13<<2)|2,{84,100,0}}, +/* 57124 */ {(13<<2)|2,{84,100,0}}, +/* 57125 */ {(13<<2)|2,{84,100,0}}, +/* 57126 */ {(13<<2)|2,{84,100,0}}, +/* 57127 */ {(13<<2)|2,{84,100,0}}, +/* 57128 */ {(13<<2)|2,{84,102,0}}, +/* 57129 */ {(13<<2)|2,{84,102,0}}, +/* 57130 */ {(13<<2)|2,{84,102,0}}, +/* 57131 */ {(13<<2)|2,{84,102,0}}, +/* 57132 */ {(13<<2)|2,{84,102,0}}, +/* 57133 */ {(13<<2)|2,{84,102,0}}, +/* 57134 */ {(13<<2)|2,{84,102,0}}, +/* 57135 */ {(13<<2)|2,{84,102,0}}, +/* 57136 */ {(13<<2)|2,{84,103,0}}, +/* 57137 */ {(13<<2)|2,{84,103,0}}, +/* 57138 */ {(13<<2)|2,{84,103,0}}, +/* 57139 */ {(13<<2)|2,{84,103,0}}, +/* 57140 */ {(13<<2)|2,{84,103,0}}, +/* 57141 */ {(13<<2)|2,{84,103,0}}, +/* 57142 */ {(13<<2)|2,{84,103,0}}, +/* 57143 */ {(13<<2)|2,{84,103,0}}, +/* 57144 */ {(13<<2)|2,{84,104,0}}, +/* 57145 */ {(13<<2)|2,{84,104,0}}, +/* 57146 */ {(13<<2)|2,{84,104,0}}, +/* 57147 */ {(13<<2)|2,{84,104,0}}, +/* 57148 */ {(13<<2)|2,{84,104,0}}, +/* 57149 */ {(13<<2)|2,{84,104,0}}, +/* 57150 */ {(13<<2)|2,{84,104,0}}, +/* 57151 */ {(13<<2)|2,{84,104,0}}, +/* 57152 */ {(13<<2)|2,{84,108,0}}, +/* 57153 */ {(13<<2)|2,{84,108,0}}, +/* 57154 */ {(13<<2)|2,{84,108,0}}, +/* 57155 */ {(13<<2)|2,{84,108,0}}, +/* 57156 */ {(13<<2)|2,{84,108,0}}, +/* 57157 */ {(13<<2)|2,{84,108,0}}, +/* 57158 */ {(13<<2)|2,{84,108,0}}, +/* 57159 */ {(13<<2)|2,{84,108,0}}, +/* 57160 */ {(13<<2)|2,{84,109,0}}, +/* 57161 */ {(13<<2)|2,{84,109,0}}, +/* 57162 */ {(13<<2)|2,{84,109,0}}, +/* 57163 */ {(13<<2)|2,{84,109,0}}, +/* 57164 */ {(13<<2)|2,{84,109,0}}, +/* 57165 */ {(13<<2)|2,{84,109,0}}, +/* 57166 */ {(13<<2)|2,{84,109,0}}, +/* 57167 */ {(13<<2)|2,{84,109,0}}, +/* 57168 */ {(13<<2)|2,{84,110,0}}, +/* 57169 */ {(13<<2)|2,{84,110,0}}, +/* 57170 */ {(13<<2)|2,{84,110,0}}, +/* 57171 */ {(13<<2)|2,{84,110,0}}, +/* 57172 */ {(13<<2)|2,{84,110,0}}, +/* 57173 */ {(13<<2)|2,{84,110,0}}, +/* 57174 */ {(13<<2)|2,{84,110,0}}, +/* 57175 */ {(13<<2)|2,{84,110,0}}, +/* 57176 */ {(13<<2)|2,{84,112,0}}, +/* 57177 */ {(13<<2)|2,{84,112,0}}, +/* 57178 */ {(13<<2)|2,{84,112,0}}, +/* 57179 */ {(13<<2)|2,{84,112,0}}, +/* 57180 */ {(13<<2)|2,{84,112,0}}, +/* 57181 */ {(13<<2)|2,{84,112,0}}, +/* 57182 */ {(13<<2)|2,{84,112,0}}, +/* 57183 */ {(13<<2)|2,{84,112,0}}, +/* 57184 */ {(13<<2)|2,{84,114,0}}, +/* 57185 */ {(13<<2)|2,{84,114,0}}, +/* 57186 */ {(13<<2)|2,{84,114,0}}, +/* 57187 */ {(13<<2)|2,{84,114,0}}, +/* 57188 */ {(13<<2)|2,{84,114,0}}, +/* 57189 */ {(13<<2)|2,{84,114,0}}, +/* 57190 */ {(13<<2)|2,{84,114,0}}, +/* 57191 */ {(13<<2)|2,{84,114,0}}, +/* 57192 */ {(13<<2)|2,{84,117,0}}, +/* 57193 */ {(13<<2)|2,{84,117,0}}, +/* 57194 */ {(13<<2)|2,{84,117,0}}, +/* 57195 */ {(13<<2)|2,{84,117,0}}, +/* 57196 */ {(13<<2)|2,{84,117,0}}, +/* 57197 */ {(13<<2)|2,{84,117,0}}, +/* 57198 */ {(13<<2)|2,{84,117,0}}, +/* 57199 */ {(13<<2)|2,{84,117,0}}, +/* 57200 */ {(14<<2)|2,{84,58,0}}, +/* 57201 */ {(14<<2)|2,{84,58,0}}, +/* 57202 */ {(14<<2)|2,{84,58,0}}, +/* 57203 */ {(14<<2)|2,{84,58,0}}, +/* 57204 */ {(14<<2)|2,{84,66,0}}, +/* 57205 */ {(14<<2)|2,{84,66,0}}, +/* 57206 */ {(14<<2)|2,{84,66,0}}, +/* 57207 */ {(14<<2)|2,{84,66,0}}, +/* 57208 */ {(14<<2)|2,{84,67,0}}, +/* 57209 */ {(14<<2)|2,{84,67,0}}, +/* 57210 */ {(14<<2)|2,{84,67,0}}, +/* 57211 */ {(14<<2)|2,{84,67,0}}, +/* 57212 */ {(14<<2)|2,{84,68,0}}, +/* 57213 */ {(14<<2)|2,{84,68,0}}, +/* 57214 */ {(14<<2)|2,{84,68,0}}, +/* 57215 */ {(14<<2)|2,{84,68,0}}, +/* 57216 */ {(14<<2)|2,{84,69,0}}, +/* 57217 */ {(14<<2)|2,{84,69,0}}, +/* 57218 */ {(14<<2)|2,{84,69,0}}, +/* 57219 */ {(14<<2)|2,{84,69,0}}, +/* 57220 */ {(14<<2)|2,{84,70,0}}, +/* 57221 */ {(14<<2)|2,{84,70,0}}, +/* 57222 */ {(14<<2)|2,{84,70,0}}, +/* 57223 */ {(14<<2)|2,{84,70,0}}, +/* 57224 */ {(14<<2)|2,{84,71,0}}, +/* 57225 */ {(14<<2)|2,{84,71,0}}, +/* 57226 */ {(14<<2)|2,{84,71,0}}, +/* 57227 */ {(14<<2)|2,{84,71,0}}, +/* 57228 */ {(14<<2)|2,{84,72,0}}, +/* 57229 */ {(14<<2)|2,{84,72,0}}, +/* 57230 */ {(14<<2)|2,{84,72,0}}, +/* 57231 */ {(14<<2)|2,{84,72,0}}, +/* 57232 */ {(14<<2)|2,{84,73,0}}, +/* 57233 */ {(14<<2)|2,{84,73,0}}, +/* 57234 */ {(14<<2)|2,{84,73,0}}, +/* 57235 */ {(14<<2)|2,{84,73,0}}, +/* 57236 */ {(14<<2)|2,{84,74,0}}, +/* 57237 */ {(14<<2)|2,{84,74,0}}, +/* 57238 */ {(14<<2)|2,{84,74,0}}, +/* 57239 */ {(14<<2)|2,{84,74,0}}, +/* 57240 */ {(14<<2)|2,{84,75,0}}, +/* 57241 */ {(14<<2)|2,{84,75,0}}, +/* 57242 */ {(14<<2)|2,{84,75,0}}, +/* 57243 */ {(14<<2)|2,{84,75,0}}, +/* 57244 */ {(14<<2)|2,{84,76,0}}, +/* 57245 */ {(14<<2)|2,{84,76,0}}, +/* 57246 */ {(14<<2)|2,{84,76,0}}, +/* 57247 */ {(14<<2)|2,{84,76,0}}, +/* 57248 */ {(14<<2)|2,{84,77,0}}, +/* 57249 */ {(14<<2)|2,{84,77,0}}, +/* 57250 */ {(14<<2)|2,{84,77,0}}, +/* 57251 */ {(14<<2)|2,{84,77,0}}, +/* 57252 */ {(14<<2)|2,{84,78,0}}, +/* 57253 */ {(14<<2)|2,{84,78,0}}, +/* 57254 */ {(14<<2)|2,{84,78,0}}, +/* 57255 */ {(14<<2)|2,{84,78,0}}, +/* 57256 */ {(14<<2)|2,{84,79,0}}, +/* 57257 */ {(14<<2)|2,{84,79,0}}, +/* 57258 */ {(14<<2)|2,{84,79,0}}, +/* 57259 */ {(14<<2)|2,{84,79,0}}, +/* 57260 */ {(14<<2)|2,{84,80,0}}, +/* 57261 */ {(14<<2)|2,{84,80,0}}, +/* 57262 */ {(14<<2)|2,{84,80,0}}, +/* 57263 */ {(14<<2)|2,{84,80,0}}, +/* 57264 */ {(14<<2)|2,{84,81,0}}, +/* 57265 */ {(14<<2)|2,{84,81,0}}, +/* 57266 */ {(14<<2)|2,{84,81,0}}, +/* 57267 */ {(14<<2)|2,{84,81,0}}, +/* 57268 */ {(14<<2)|2,{84,82,0}}, +/* 57269 */ {(14<<2)|2,{84,82,0}}, +/* 57270 */ {(14<<2)|2,{84,82,0}}, +/* 57271 */ {(14<<2)|2,{84,82,0}}, +/* 57272 */ {(14<<2)|2,{84,83,0}}, +/* 57273 */ {(14<<2)|2,{84,83,0}}, +/* 57274 */ {(14<<2)|2,{84,83,0}}, +/* 57275 */ {(14<<2)|2,{84,83,0}}, +/* 57276 */ {(14<<2)|2,{84,84,0}}, +/* 57277 */ {(14<<2)|2,{84,84,0}}, +/* 57278 */ {(14<<2)|2,{84,84,0}}, +/* 57279 */ {(14<<2)|2,{84,84,0}}, +/* 57280 */ {(14<<2)|2,{84,85,0}}, +/* 57281 */ {(14<<2)|2,{84,85,0}}, +/* 57282 */ {(14<<2)|2,{84,85,0}}, +/* 57283 */ {(14<<2)|2,{84,85,0}}, +/* 57284 */ {(14<<2)|2,{84,86,0}}, +/* 57285 */ {(14<<2)|2,{84,86,0}}, +/* 57286 */ {(14<<2)|2,{84,86,0}}, +/* 57287 */ {(14<<2)|2,{84,86,0}}, +/* 57288 */ {(14<<2)|2,{84,87,0}}, +/* 57289 */ {(14<<2)|2,{84,87,0}}, +/* 57290 */ {(14<<2)|2,{84,87,0}}, +/* 57291 */ {(14<<2)|2,{84,87,0}}, +/* 57292 */ {(14<<2)|2,{84,89,0}}, +/* 57293 */ {(14<<2)|2,{84,89,0}}, +/* 57294 */ {(14<<2)|2,{84,89,0}}, +/* 57295 */ {(14<<2)|2,{84,89,0}}, +/* 57296 */ {(14<<2)|2,{84,106,0}}, +/* 57297 */ {(14<<2)|2,{84,106,0}}, +/* 57298 */ {(14<<2)|2,{84,106,0}}, +/* 57299 */ {(14<<2)|2,{84,106,0}}, +/* 57300 */ {(14<<2)|2,{84,107,0}}, +/* 57301 */ {(14<<2)|2,{84,107,0}}, +/* 57302 */ {(14<<2)|2,{84,107,0}}, +/* 57303 */ {(14<<2)|2,{84,107,0}}, +/* 57304 */ {(14<<2)|2,{84,113,0}}, +/* 57305 */ {(14<<2)|2,{84,113,0}}, +/* 57306 */ {(14<<2)|2,{84,113,0}}, +/* 57307 */ {(14<<2)|2,{84,113,0}}, +/* 57308 */ {(14<<2)|2,{84,118,0}}, +/* 57309 */ {(14<<2)|2,{84,118,0}}, +/* 57310 */ {(14<<2)|2,{84,118,0}}, +/* 57311 */ {(14<<2)|2,{84,118,0}}, +/* 57312 */ {(14<<2)|2,{84,119,0}}, +/* 57313 */ {(14<<2)|2,{84,119,0}}, +/* 57314 */ {(14<<2)|2,{84,119,0}}, +/* 57315 */ {(14<<2)|2,{84,119,0}}, +/* 57316 */ {(14<<2)|2,{84,120,0}}, +/* 57317 */ {(14<<2)|2,{84,120,0}}, +/* 57318 */ {(14<<2)|2,{84,120,0}}, +/* 57319 */ {(14<<2)|2,{84,120,0}}, +/* 57320 */ {(14<<2)|2,{84,121,0}}, +/* 57321 */ {(14<<2)|2,{84,121,0}}, +/* 57322 */ {(14<<2)|2,{84,121,0}}, +/* 57323 */ {(14<<2)|2,{84,121,0}}, +/* 57324 */ {(14<<2)|2,{84,122,0}}, +/* 57325 */ {(14<<2)|2,{84,122,0}}, +/* 57326 */ {(14<<2)|2,{84,122,0}}, +/* 57327 */ {(14<<2)|2,{84,122,0}}, +/* 57328 */ {(15<<2)|2,{84,38,0}}, +/* 57329 */ {(15<<2)|2,{84,38,0}}, +/* 57330 */ {(15<<2)|2,{84,42,0}}, +/* 57331 */ {(15<<2)|2,{84,42,0}}, +/* 57332 */ {(15<<2)|2,{84,44,0}}, +/* 57333 */ {(15<<2)|2,{84,44,0}}, +/* 57334 */ {(15<<2)|2,{84,59,0}}, +/* 57335 */ {(15<<2)|2,{84,59,0}}, +/* 57336 */ {(15<<2)|2,{84,88,0}}, +/* 57337 */ {(15<<2)|2,{84,88,0}}, +/* 57338 */ {(15<<2)|2,{84,90,0}}, +/* 57339 */ {(15<<2)|2,{84,90,0}}, +/* 57340 */ {(7<<2)|1,{84,0,0}}, +/* 57341 */ {(7<<2)|1,{84,0,0}}, +/* 57342 */ {(7<<2)|1,{84,0,0}}, +/* 57343 */ {(7<<2)|1,{84,0,0}}, +/* 57344 */ {(12<<2)|2,{85,48,0}}, +/* 57345 */ {(12<<2)|2,{85,48,0}}, +/* 57346 */ {(12<<2)|2,{85,48,0}}, +/* 57347 */ {(12<<2)|2,{85,48,0}}, +/* 57348 */ {(12<<2)|2,{85,48,0}}, +/* 57349 */ {(12<<2)|2,{85,48,0}}, +/* 57350 */ {(12<<2)|2,{85,48,0}}, +/* 57351 */ {(12<<2)|2,{85,48,0}}, +/* 57352 */ {(12<<2)|2,{85,48,0}}, +/* 57353 */ {(12<<2)|2,{85,48,0}}, +/* 57354 */ {(12<<2)|2,{85,48,0}}, +/* 57355 */ {(12<<2)|2,{85,48,0}}, +/* 57356 */ {(12<<2)|2,{85,48,0}}, +/* 57357 */ {(12<<2)|2,{85,48,0}}, +/* 57358 */ {(12<<2)|2,{85,48,0}}, +/* 57359 */ {(12<<2)|2,{85,48,0}}, +/* 57360 */ {(12<<2)|2,{85,49,0}}, +/* 57361 */ {(12<<2)|2,{85,49,0}}, +/* 57362 */ {(12<<2)|2,{85,49,0}}, +/* 57363 */ {(12<<2)|2,{85,49,0}}, +/* 57364 */ {(12<<2)|2,{85,49,0}}, +/* 57365 */ {(12<<2)|2,{85,49,0}}, +/* 57366 */ {(12<<2)|2,{85,49,0}}, +/* 57367 */ {(12<<2)|2,{85,49,0}}, +/* 57368 */ {(12<<2)|2,{85,49,0}}, +/* 57369 */ {(12<<2)|2,{85,49,0}}, +/* 57370 */ {(12<<2)|2,{85,49,0}}, +/* 57371 */ {(12<<2)|2,{85,49,0}}, +/* 57372 */ {(12<<2)|2,{85,49,0}}, +/* 57373 */ {(12<<2)|2,{85,49,0}}, +/* 57374 */ {(12<<2)|2,{85,49,0}}, +/* 57375 */ {(12<<2)|2,{85,49,0}}, +/* 57376 */ {(12<<2)|2,{85,50,0}}, +/* 57377 */ {(12<<2)|2,{85,50,0}}, +/* 57378 */ {(12<<2)|2,{85,50,0}}, +/* 57379 */ {(12<<2)|2,{85,50,0}}, +/* 57380 */ {(12<<2)|2,{85,50,0}}, +/* 57381 */ {(12<<2)|2,{85,50,0}}, +/* 57382 */ {(12<<2)|2,{85,50,0}}, +/* 57383 */ {(12<<2)|2,{85,50,0}}, +/* 57384 */ {(12<<2)|2,{85,50,0}}, +/* 57385 */ {(12<<2)|2,{85,50,0}}, +/* 57386 */ {(12<<2)|2,{85,50,0}}, +/* 57387 */ {(12<<2)|2,{85,50,0}}, +/* 57388 */ {(12<<2)|2,{85,50,0}}, +/* 57389 */ {(12<<2)|2,{85,50,0}}, +/* 57390 */ {(12<<2)|2,{85,50,0}}, +/* 57391 */ {(12<<2)|2,{85,50,0}}, +/* 57392 */ {(12<<2)|2,{85,97,0}}, +/* 57393 */ {(12<<2)|2,{85,97,0}}, +/* 57394 */ {(12<<2)|2,{85,97,0}}, +/* 57395 */ {(12<<2)|2,{85,97,0}}, +/* 57396 */ {(12<<2)|2,{85,97,0}}, +/* 57397 */ {(12<<2)|2,{85,97,0}}, +/* 57398 */ {(12<<2)|2,{85,97,0}}, +/* 57399 */ {(12<<2)|2,{85,97,0}}, +/* 57400 */ {(12<<2)|2,{85,97,0}}, +/* 57401 */ {(12<<2)|2,{85,97,0}}, +/* 57402 */ {(12<<2)|2,{85,97,0}}, +/* 57403 */ {(12<<2)|2,{85,97,0}}, +/* 57404 */ {(12<<2)|2,{85,97,0}}, +/* 57405 */ {(12<<2)|2,{85,97,0}}, +/* 57406 */ {(12<<2)|2,{85,97,0}}, +/* 57407 */ {(12<<2)|2,{85,97,0}}, +/* 57408 */ {(12<<2)|2,{85,99,0}}, +/* 57409 */ {(12<<2)|2,{85,99,0}}, +/* 57410 */ {(12<<2)|2,{85,99,0}}, +/* 57411 */ {(12<<2)|2,{85,99,0}}, +/* 57412 */ {(12<<2)|2,{85,99,0}}, +/* 57413 */ {(12<<2)|2,{85,99,0}}, +/* 57414 */ {(12<<2)|2,{85,99,0}}, +/* 57415 */ {(12<<2)|2,{85,99,0}}, +/* 57416 */ {(12<<2)|2,{85,99,0}}, +/* 57417 */ {(12<<2)|2,{85,99,0}}, +/* 57418 */ {(12<<2)|2,{85,99,0}}, +/* 57419 */ {(12<<2)|2,{85,99,0}}, +/* 57420 */ {(12<<2)|2,{85,99,0}}, +/* 57421 */ {(12<<2)|2,{85,99,0}}, +/* 57422 */ {(12<<2)|2,{85,99,0}}, +/* 57423 */ {(12<<2)|2,{85,99,0}}, +/* 57424 */ {(12<<2)|2,{85,101,0}}, +/* 57425 */ {(12<<2)|2,{85,101,0}}, +/* 57426 */ {(12<<2)|2,{85,101,0}}, +/* 57427 */ {(12<<2)|2,{85,101,0}}, +/* 57428 */ {(12<<2)|2,{85,101,0}}, +/* 57429 */ {(12<<2)|2,{85,101,0}}, +/* 57430 */ {(12<<2)|2,{85,101,0}}, +/* 57431 */ {(12<<2)|2,{85,101,0}}, +/* 57432 */ {(12<<2)|2,{85,101,0}}, +/* 57433 */ {(12<<2)|2,{85,101,0}}, +/* 57434 */ {(12<<2)|2,{85,101,0}}, +/* 57435 */ {(12<<2)|2,{85,101,0}}, +/* 57436 */ {(12<<2)|2,{85,101,0}}, +/* 57437 */ {(12<<2)|2,{85,101,0}}, +/* 57438 */ {(12<<2)|2,{85,101,0}}, +/* 57439 */ {(12<<2)|2,{85,101,0}}, +/* 57440 */ {(12<<2)|2,{85,105,0}}, +/* 57441 */ {(12<<2)|2,{85,105,0}}, +/* 57442 */ {(12<<2)|2,{85,105,0}}, +/* 57443 */ {(12<<2)|2,{85,105,0}}, +/* 57444 */ {(12<<2)|2,{85,105,0}}, +/* 57445 */ {(12<<2)|2,{85,105,0}}, +/* 57446 */ {(12<<2)|2,{85,105,0}}, +/* 57447 */ {(12<<2)|2,{85,105,0}}, +/* 57448 */ {(12<<2)|2,{85,105,0}}, +/* 57449 */ {(12<<2)|2,{85,105,0}}, +/* 57450 */ {(12<<2)|2,{85,105,0}}, +/* 57451 */ {(12<<2)|2,{85,105,0}}, +/* 57452 */ {(12<<2)|2,{85,105,0}}, +/* 57453 */ {(12<<2)|2,{85,105,0}}, +/* 57454 */ {(12<<2)|2,{85,105,0}}, +/* 57455 */ {(12<<2)|2,{85,105,0}}, +/* 57456 */ {(12<<2)|2,{85,111,0}}, +/* 57457 */ {(12<<2)|2,{85,111,0}}, +/* 57458 */ {(12<<2)|2,{85,111,0}}, +/* 57459 */ {(12<<2)|2,{85,111,0}}, +/* 57460 */ {(12<<2)|2,{85,111,0}}, +/* 57461 */ {(12<<2)|2,{85,111,0}}, +/* 57462 */ {(12<<2)|2,{85,111,0}}, +/* 57463 */ {(12<<2)|2,{85,111,0}}, +/* 57464 */ {(12<<2)|2,{85,111,0}}, +/* 57465 */ {(12<<2)|2,{85,111,0}}, +/* 57466 */ {(12<<2)|2,{85,111,0}}, +/* 57467 */ {(12<<2)|2,{85,111,0}}, +/* 57468 */ {(12<<2)|2,{85,111,0}}, +/* 57469 */ {(12<<2)|2,{85,111,0}}, +/* 57470 */ {(12<<2)|2,{85,111,0}}, +/* 57471 */ {(12<<2)|2,{85,111,0}}, +/* 57472 */ {(12<<2)|2,{85,115,0}}, +/* 57473 */ {(12<<2)|2,{85,115,0}}, +/* 57474 */ {(12<<2)|2,{85,115,0}}, +/* 57475 */ {(12<<2)|2,{85,115,0}}, +/* 57476 */ {(12<<2)|2,{85,115,0}}, +/* 57477 */ {(12<<2)|2,{85,115,0}}, +/* 57478 */ {(12<<2)|2,{85,115,0}}, +/* 57479 */ {(12<<2)|2,{85,115,0}}, +/* 57480 */ {(12<<2)|2,{85,115,0}}, +/* 57481 */ {(12<<2)|2,{85,115,0}}, +/* 57482 */ {(12<<2)|2,{85,115,0}}, +/* 57483 */ {(12<<2)|2,{85,115,0}}, +/* 57484 */ {(12<<2)|2,{85,115,0}}, +/* 57485 */ {(12<<2)|2,{85,115,0}}, +/* 57486 */ {(12<<2)|2,{85,115,0}}, +/* 57487 */ {(12<<2)|2,{85,115,0}}, +/* 57488 */ {(12<<2)|2,{85,116,0}}, +/* 57489 */ {(12<<2)|2,{85,116,0}}, +/* 57490 */ {(12<<2)|2,{85,116,0}}, +/* 57491 */ {(12<<2)|2,{85,116,0}}, +/* 57492 */ {(12<<2)|2,{85,116,0}}, +/* 57493 */ {(12<<2)|2,{85,116,0}}, +/* 57494 */ {(12<<2)|2,{85,116,0}}, +/* 57495 */ {(12<<2)|2,{85,116,0}}, +/* 57496 */ {(12<<2)|2,{85,116,0}}, +/* 57497 */ {(12<<2)|2,{85,116,0}}, +/* 57498 */ {(12<<2)|2,{85,116,0}}, +/* 57499 */ {(12<<2)|2,{85,116,0}}, +/* 57500 */ {(12<<2)|2,{85,116,0}}, +/* 57501 */ {(12<<2)|2,{85,116,0}}, +/* 57502 */ {(12<<2)|2,{85,116,0}}, +/* 57503 */ {(12<<2)|2,{85,116,0}}, +/* 57504 */ {(13<<2)|2,{85,32,0}}, +/* 57505 */ {(13<<2)|2,{85,32,0}}, +/* 57506 */ {(13<<2)|2,{85,32,0}}, +/* 57507 */ {(13<<2)|2,{85,32,0}}, +/* 57508 */ {(13<<2)|2,{85,32,0}}, +/* 57509 */ {(13<<2)|2,{85,32,0}}, +/* 57510 */ {(13<<2)|2,{85,32,0}}, +/* 57511 */ {(13<<2)|2,{85,32,0}}, +/* 57512 */ {(13<<2)|2,{85,37,0}}, +/* 57513 */ {(13<<2)|2,{85,37,0}}, +/* 57514 */ {(13<<2)|2,{85,37,0}}, +/* 57515 */ {(13<<2)|2,{85,37,0}}, +/* 57516 */ {(13<<2)|2,{85,37,0}}, +/* 57517 */ {(13<<2)|2,{85,37,0}}, +/* 57518 */ {(13<<2)|2,{85,37,0}}, +/* 57519 */ {(13<<2)|2,{85,37,0}}, +/* 57520 */ {(13<<2)|2,{85,45,0}}, +/* 57521 */ {(13<<2)|2,{85,45,0}}, +/* 57522 */ {(13<<2)|2,{85,45,0}}, +/* 57523 */ {(13<<2)|2,{85,45,0}}, +/* 57524 */ {(13<<2)|2,{85,45,0}}, +/* 57525 */ {(13<<2)|2,{85,45,0}}, +/* 57526 */ {(13<<2)|2,{85,45,0}}, +/* 57527 */ {(13<<2)|2,{85,45,0}}, +/* 57528 */ {(13<<2)|2,{85,46,0}}, +/* 57529 */ {(13<<2)|2,{85,46,0}}, +/* 57530 */ {(13<<2)|2,{85,46,0}}, +/* 57531 */ {(13<<2)|2,{85,46,0}}, +/* 57532 */ {(13<<2)|2,{85,46,0}}, +/* 57533 */ {(13<<2)|2,{85,46,0}}, +/* 57534 */ {(13<<2)|2,{85,46,0}}, +/* 57535 */ {(13<<2)|2,{85,46,0}}, +/* 57536 */ {(13<<2)|2,{85,47,0}}, +/* 57537 */ {(13<<2)|2,{85,47,0}}, +/* 57538 */ {(13<<2)|2,{85,47,0}}, +/* 57539 */ {(13<<2)|2,{85,47,0}}, +/* 57540 */ {(13<<2)|2,{85,47,0}}, +/* 57541 */ {(13<<2)|2,{85,47,0}}, +/* 57542 */ {(13<<2)|2,{85,47,0}}, +/* 57543 */ {(13<<2)|2,{85,47,0}}, +/* 57544 */ {(13<<2)|2,{85,51,0}}, +/* 57545 */ {(13<<2)|2,{85,51,0}}, +/* 57546 */ {(13<<2)|2,{85,51,0}}, +/* 57547 */ {(13<<2)|2,{85,51,0}}, +/* 57548 */ {(13<<2)|2,{85,51,0}}, +/* 57549 */ {(13<<2)|2,{85,51,0}}, +/* 57550 */ {(13<<2)|2,{85,51,0}}, +/* 57551 */ {(13<<2)|2,{85,51,0}}, +/* 57552 */ {(13<<2)|2,{85,52,0}}, +/* 57553 */ {(13<<2)|2,{85,52,0}}, +/* 57554 */ {(13<<2)|2,{85,52,0}}, +/* 57555 */ {(13<<2)|2,{85,52,0}}, +/* 57556 */ {(13<<2)|2,{85,52,0}}, +/* 57557 */ {(13<<2)|2,{85,52,0}}, +/* 57558 */ {(13<<2)|2,{85,52,0}}, +/* 57559 */ {(13<<2)|2,{85,52,0}}, +/* 57560 */ {(13<<2)|2,{85,53,0}}, +/* 57561 */ {(13<<2)|2,{85,53,0}}, +/* 57562 */ {(13<<2)|2,{85,53,0}}, +/* 57563 */ {(13<<2)|2,{85,53,0}}, +/* 57564 */ {(13<<2)|2,{85,53,0}}, +/* 57565 */ {(13<<2)|2,{85,53,0}}, +/* 57566 */ {(13<<2)|2,{85,53,0}}, +/* 57567 */ {(13<<2)|2,{85,53,0}}, +/* 57568 */ {(13<<2)|2,{85,54,0}}, +/* 57569 */ {(13<<2)|2,{85,54,0}}, +/* 57570 */ {(13<<2)|2,{85,54,0}}, +/* 57571 */ {(13<<2)|2,{85,54,0}}, +/* 57572 */ {(13<<2)|2,{85,54,0}}, +/* 57573 */ {(13<<2)|2,{85,54,0}}, +/* 57574 */ {(13<<2)|2,{85,54,0}}, +/* 57575 */ {(13<<2)|2,{85,54,0}}, +/* 57576 */ {(13<<2)|2,{85,55,0}}, +/* 57577 */ {(13<<2)|2,{85,55,0}}, +/* 57578 */ {(13<<2)|2,{85,55,0}}, +/* 57579 */ {(13<<2)|2,{85,55,0}}, +/* 57580 */ {(13<<2)|2,{85,55,0}}, +/* 57581 */ {(13<<2)|2,{85,55,0}}, +/* 57582 */ {(13<<2)|2,{85,55,0}}, +/* 57583 */ {(13<<2)|2,{85,55,0}}, +/* 57584 */ {(13<<2)|2,{85,56,0}}, +/* 57585 */ {(13<<2)|2,{85,56,0}}, +/* 57586 */ {(13<<2)|2,{85,56,0}}, +/* 57587 */ {(13<<2)|2,{85,56,0}}, +/* 57588 */ {(13<<2)|2,{85,56,0}}, +/* 57589 */ {(13<<2)|2,{85,56,0}}, +/* 57590 */ {(13<<2)|2,{85,56,0}}, +/* 57591 */ {(13<<2)|2,{85,56,0}}, +/* 57592 */ {(13<<2)|2,{85,57,0}}, +/* 57593 */ {(13<<2)|2,{85,57,0}}, +/* 57594 */ {(13<<2)|2,{85,57,0}}, +/* 57595 */ {(13<<2)|2,{85,57,0}}, +/* 57596 */ {(13<<2)|2,{85,57,0}}, +/* 57597 */ {(13<<2)|2,{85,57,0}}, +/* 57598 */ {(13<<2)|2,{85,57,0}}, +/* 57599 */ {(13<<2)|2,{85,57,0}}, +/* 57600 */ {(13<<2)|2,{85,61,0}}, +/* 57601 */ {(13<<2)|2,{85,61,0}}, +/* 57602 */ {(13<<2)|2,{85,61,0}}, +/* 57603 */ {(13<<2)|2,{85,61,0}}, +/* 57604 */ {(13<<2)|2,{85,61,0}}, +/* 57605 */ {(13<<2)|2,{85,61,0}}, +/* 57606 */ {(13<<2)|2,{85,61,0}}, +/* 57607 */ {(13<<2)|2,{85,61,0}}, +/* 57608 */ {(13<<2)|2,{85,65,0}}, +/* 57609 */ {(13<<2)|2,{85,65,0}}, +/* 57610 */ {(13<<2)|2,{85,65,0}}, +/* 57611 */ {(13<<2)|2,{85,65,0}}, +/* 57612 */ {(13<<2)|2,{85,65,0}}, +/* 57613 */ {(13<<2)|2,{85,65,0}}, +/* 57614 */ {(13<<2)|2,{85,65,0}}, +/* 57615 */ {(13<<2)|2,{85,65,0}}, +/* 57616 */ {(13<<2)|2,{85,95,0}}, +/* 57617 */ {(13<<2)|2,{85,95,0}}, +/* 57618 */ {(13<<2)|2,{85,95,0}}, +/* 57619 */ {(13<<2)|2,{85,95,0}}, +/* 57620 */ {(13<<2)|2,{85,95,0}}, +/* 57621 */ {(13<<2)|2,{85,95,0}}, +/* 57622 */ {(13<<2)|2,{85,95,0}}, +/* 57623 */ {(13<<2)|2,{85,95,0}}, +/* 57624 */ {(13<<2)|2,{85,98,0}}, +/* 57625 */ {(13<<2)|2,{85,98,0}}, +/* 57626 */ {(13<<2)|2,{85,98,0}}, +/* 57627 */ {(13<<2)|2,{85,98,0}}, +/* 57628 */ {(13<<2)|2,{85,98,0}}, +/* 57629 */ {(13<<2)|2,{85,98,0}}, +/* 57630 */ {(13<<2)|2,{85,98,0}}, +/* 57631 */ {(13<<2)|2,{85,98,0}}, +/* 57632 */ {(13<<2)|2,{85,100,0}}, +/* 57633 */ {(13<<2)|2,{85,100,0}}, +/* 57634 */ {(13<<2)|2,{85,100,0}}, +/* 57635 */ {(13<<2)|2,{85,100,0}}, +/* 57636 */ {(13<<2)|2,{85,100,0}}, +/* 57637 */ {(13<<2)|2,{85,100,0}}, +/* 57638 */ {(13<<2)|2,{85,100,0}}, +/* 57639 */ {(13<<2)|2,{85,100,0}}, +/* 57640 */ {(13<<2)|2,{85,102,0}}, +/* 57641 */ {(13<<2)|2,{85,102,0}}, +/* 57642 */ {(13<<2)|2,{85,102,0}}, +/* 57643 */ {(13<<2)|2,{85,102,0}}, +/* 57644 */ {(13<<2)|2,{85,102,0}}, +/* 57645 */ {(13<<2)|2,{85,102,0}}, +/* 57646 */ {(13<<2)|2,{85,102,0}}, +/* 57647 */ {(13<<2)|2,{85,102,0}}, +/* 57648 */ {(13<<2)|2,{85,103,0}}, +/* 57649 */ {(13<<2)|2,{85,103,0}}, +/* 57650 */ {(13<<2)|2,{85,103,0}}, +/* 57651 */ {(13<<2)|2,{85,103,0}}, +/* 57652 */ {(13<<2)|2,{85,103,0}}, +/* 57653 */ {(13<<2)|2,{85,103,0}}, +/* 57654 */ {(13<<2)|2,{85,103,0}}, +/* 57655 */ {(13<<2)|2,{85,103,0}}, +/* 57656 */ {(13<<2)|2,{85,104,0}}, +/* 57657 */ {(13<<2)|2,{85,104,0}}, +/* 57658 */ {(13<<2)|2,{85,104,0}}, +/* 57659 */ {(13<<2)|2,{85,104,0}}, +/* 57660 */ {(13<<2)|2,{85,104,0}}, +/* 57661 */ {(13<<2)|2,{85,104,0}}, +/* 57662 */ {(13<<2)|2,{85,104,0}}, +/* 57663 */ {(13<<2)|2,{85,104,0}}, +/* 57664 */ {(13<<2)|2,{85,108,0}}, +/* 57665 */ {(13<<2)|2,{85,108,0}}, +/* 57666 */ {(13<<2)|2,{85,108,0}}, +/* 57667 */ {(13<<2)|2,{85,108,0}}, +/* 57668 */ {(13<<2)|2,{85,108,0}}, +/* 57669 */ {(13<<2)|2,{85,108,0}}, +/* 57670 */ {(13<<2)|2,{85,108,0}}, +/* 57671 */ {(13<<2)|2,{85,108,0}}, +/* 57672 */ {(13<<2)|2,{85,109,0}}, +/* 57673 */ {(13<<2)|2,{85,109,0}}, +/* 57674 */ {(13<<2)|2,{85,109,0}}, +/* 57675 */ {(13<<2)|2,{85,109,0}}, +/* 57676 */ {(13<<2)|2,{85,109,0}}, +/* 57677 */ {(13<<2)|2,{85,109,0}}, +/* 57678 */ {(13<<2)|2,{85,109,0}}, +/* 57679 */ {(13<<2)|2,{85,109,0}}, +/* 57680 */ {(13<<2)|2,{85,110,0}}, +/* 57681 */ {(13<<2)|2,{85,110,0}}, +/* 57682 */ {(13<<2)|2,{85,110,0}}, +/* 57683 */ {(13<<2)|2,{85,110,0}}, +/* 57684 */ {(13<<2)|2,{85,110,0}}, +/* 57685 */ {(13<<2)|2,{85,110,0}}, +/* 57686 */ {(13<<2)|2,{85,110,0}}, +/* 57687 */ {(13<<2)|2,{85,110,0}}, +/* 57688 */ {(13<<2)|2,{85,112,0}}, +/* 57689 */ {(13<<2)|2,{85,112,0}}, +/* 57690 */ {(13<<2)|2,{85,112,0}}, +/* 57691 */ {(13<<2)|2,{85,112,0}}, +/* 57692 */ {(13<<2)|2,{85,112,0}}, +/* 57693 */ {(13<<2)|2,{85,112,0}}, +/* 57694 */ {(13<<2)|2,{85,112,0}}, +/* 57695 */ {(13<<2)|2,{85,112,0}}, +/* 57696 */ {(13<<2)|2,{85,114,0}}, +/* 57697 */ {(13<<2)|2,{85,114,0}}, +/* 57698 */ {(13<<2)|2,{85,114,0}}, +/* 57699 */ {(13<<2)|2,{85,114,0}}, +/* 57700 */ {(13<<2)|2,{85,114,0}}, +/* 57701 */ {(13<<2)|2,{85,114,0}}, +/* 57702 */ {(13<<2)|2,{85,114,0}}, +/* 57703 */ {(13<<2)|2,{85,114,0}}, +/* 57704 */ {(13<<2)|2,{85,117,0}}, +/* 57705 */ {(13<<2)|2,{85,117,0}}, +/* 57706 */ {(13<<2)|2,{85,117,0}}, +/* 57707 */ {(13<<2)|2,{85,117,0}}, +/* 57708 */ {(13<<2)|2,{85,117,0}}, +/* 57709 */ {(13<<2)|2,{85,117,0}}, +/* 57710 */ {(13<<2)|2,{85,117,0}}, +/* 57711 */ {(13<<2)|2,{85,117,0}}, +/* 57712 */ {(14<<2)|2,{85,58,0}}, +/* 57713 */ {(14<<2)|2,{85,58,0}}, +/* 57714 */ {(14<<2)|2,{85,58,0}}, +/* 57715 */ {(14<<2)|2,{85,58,0}}, +/* 57716 */ {(14<<2)|2,{85,66,0}}, +/* 57717 */ {(14<<2)|2,{85,66,0}}, +/* 57718 */ {(14<<2)|2,{85,66,0}}, +/* 57719 */ {(14<<2)|2,{85,66,0}}, +/* 57720 */ {(14<<2)|2,{85,67,0}}, +/* 57721 */ {(14<<2)|2,{85,67,0}}, +/* 57722 */ {(14<<2)|2,{85,67,0}}, +/* 57723 */ {(14<<2)|2,{85,67,0}}, +/* 57724 */ {(14<<2)|2,{85,68,0}}, +/* 57725 */ {(14<<2)|2,{85,68,0}}, +/* 57726 */ {(14<<2)|2,{85,68,0}}, +/* 57727 */ {(14<<2)|2,{85,68,0}}, +/* 57728 */ {(14<<2)|2,{85,69,0}}, +/* 57729 */ {(14<<2)|2,{85,69,0}}, +/* 57730 */ {(14<<2)|2,{85,69,0}}, +/* 57731 */ {(14<<2)|2,{85,69,0}}, +/* 57732 */ {(14<<2)|2,{85,70,0}}, +/* 57733 */ {(14<<2)|2,{85,70,0}}, +/* 57734 */ {(14<<2)|2,{85,70,0}}, +/* 57735 */ {(14<<2)|2,{85,70,0}}, +/* 57736 */ {(14<<2)|2,{85,71,0}}, +/* 57737 */ {(14<<2)|2,{85,71,0}}, +/* 57738 */ {(14<<2)|2,{85,71,0}}, +/* 57739 */ {(14<<2)|2,{85,71,0}}, +/* 57740 */ {(14<<2)|2,{85,72,0}}, +/* 57741 */ {(14<<2)|2,{85,72,0}}, +/* 57742 */ {(14<<2)|2,{85,72,0}}, +/* 57743 */ {(14<<2)|2,{85,72,0}}, +/* 57744 */ {(14<<2)|2,{85,73,0}}, +/* 57745 */ {(14<<2)|2,{85,73,0}}, +/* 57746 */ {(14<<2)|2,{85,73,0}}, +/* 57747 */ {(14<<2)|2,{85,73,0}}, +/* 57748 */ {(14<<2)|2,{85,74,0}}, +/* 57749 */ {(14<<2)|2,{85,74,0}}, +/* 57750 */ {(14<<2)|2,{85,74,0}}, +/* 57751 */ {(14<<2)|2,{85,74,0}}, +/* 57752 */ {(14<<2)|2,{85,75,0}}, +/* 57753 */ {(14<<2)|2,{85,75,0}}, +/* 57754 */ {(14<<2)|2,{85,75,0}}, +/* 57755 */ {(14<<2)|2,{85,75,0}}, +/* 57756 */ {(14<<2)|2,{85,76,0}}, +/* 57757 */ {(14<<2)|2,{85,76,0}}, +/* 57758 */ {(14<<2)|2,{85,76,0}}, +/* 57759 */ {(14<<2)|2,{85,76,0}}, +/* 57760 */ {(14<<2)|2,{85,77,0}}, +/* 57761 */ {(14<<2)|2,{85,77,0}}, +/* 57762 */ {(14<<2)|2,{85,77,0}}, +/* 57763 */ {(14<<2)|2,{85,77,0}}, +/* 57764 */ {(14<<2)|2,{85,78,0}}, +/* 57765 */ {(14<<2)|2,{85,78,0}}, +/* 57766 */ {(14<<2)|2,{85,78,0}}, +/* 57767 */ {(14<<2)|2,{85,78,0}}, +/* 57768 */ {(14<<2)|2,{85,79,0}}, +/* 57769 */ {(14<<2)|2,{85,79,0}}, +/* 57770 */ {(14<<2)|2,{85,79,0}}, +/* 57771 */ {(14<<2)|2,{85,79,0}}, +/* 57772 */ {(14<<2)|2,{85,80,0}}, +/* 57773 */ {(14<<2)|2,{85,80,0}}, +/* 57774 */ {(14<<2)|2,{85,80,0}}, +/* 57775 */ {(14<<2)|2,{85,80,0}}, +/* 57776 */ {(14<<2)|2,{85,81,0}}, +/* 57777 */ {(14<<2)|2,{85,81,0}}, +/* 57778 */ {(14<<2)|2,{85,81,0}}, +/* 57779 */ {(14<<2)|2,{85,81,0}}, +/* 57780 */ {(14<<2)|2,{85,82,0}}, +/* 57781 */ {(14<<2)|2,{85,82,0}}, +/* 57782 */ {(14<<2)|2,{85,82,0}}, +/* 57783 */ {(14<<2)|2,{85,82,0}}, +/* 57784 */ {(14<<2)|2,{85,83,0}}, +/* 57785 */ {(14<<2)|2,{85,83,0}}, +/* 57786 */ {(14<<2)|2,{85,83,0}}, +/* 57787 */ {(14<<2)|2,{85,83,0}}, +/* 57788 */ {(14<<2)|2,{85,84,0}}, +/* 57789 */ {(14<<2)|2,{85,84,0}}, +/* 57790 */ {(14<<2)|2,{85,84,0}}, +/* 57791 */ {(14<<2)|2,{85,84,0}}, +/* 57792 */ {(14<<2)|2,{85,85,0}}, +/* 57793 */ {(14<<2)|2,{85,85,0}}, +/* 57794 */ {(14<<2)|2,{85,85,0}}, +/* 57795 */ {(14<<2)|2,{85,85,0}}, +/* 57796 */ {(14<<2)|2,{85,86,0}}, +/* 57797 */ {(14<<2)|2,{85,86,0}}, +/* 57798 */ {(14<<2)|2,{85,86,0}}, +/* 57799 */ {(14<<2)|2,{85,86,0}}, +/* 57800 */ {(14<<2)|2,{85,87,0}}, +/* 57801 */ {(14<<2)|2,{85,87,0}}, +/* 57802 */ {(14<<2)|2,{85,87,0}}, +/* 57803 */ {(14<<2)|2,{85,87,0}}, +/* 57804 */ {(14<<2)|2,{85,89,0}}, +/* 57805 */ {(14<<2)|2,{85,89,0}}, +/* 57806 */ {(14<<2)|2,{85,89,0}}, +/* 57807 */ {(14<<2)|2,{85,89,0}}, +/* 57808 */ {(14<<2)|2,{85,106,0}}, +/* 57809 */ {(14<<2)|2,{85,106,0}}, +/* 57810 */ {(14<<2)|2,{85,106,0}}, +/* 57811 */ {(14<<2)|2,{85,106,0}}, +/* 57812 */ {(14<<2)|2,{85,107,0}}, +/* 57813 */ {(14<<2)|2,{85,107,0}}, +/* 57814 */ {(14<<2)|2,{85,107,0}}, +/* 57815 */ {(14<<2)|2,{85,107,0}}, +/* 57816 */ {(14<<2)|2,{85,113,0}}, +/* 57817 */ {(14<<2)|2,{85,113,0}}, +/* 57818 */ {(14<<2)|2,{85,113,0}}, +/* 57819 */ {(14<<2)|2,{85,113,0}}, +/* 57820 */ {(14<<2)|2,{85,118,0}}, +/* 57821 */ {(14<<2)|2,{85,118,0}}, +/* 57822 */ {(14<<2)|2,{85,118,0}}, +/* 57823 */ {(14<<2)|2,{85,118,0}}, +/* 57824 */ {(14<<2)|2,{85,119,0}}, +/* 57825 */ {(14<<2)|2,{85,119,0}}, +/* 57826 */ {(14<<2)|2,{85,119,0}}, +/* 57827 */ {(14<<2)|2,{85,119,0}}, +/* 57828 */ {(14<<2)|2,{85,120,0}}, +/* 57829 */ {(14<<2)|2,{85,120,0}}, +/* 57830 */ {(14<<2)|2,{85,120,0}}, +/* 57831 */ {(14<<2)|2,{85,120,0}}, +/* 57832 */ {(14<<2)|2,{85,121,0}}, +/* 57833 */ {(14<<2)|2,{85,121,0}}, +/* 57834 */ {(14<<2)|2,{85,121,0}}, +/* 57835 */ {(14<<2)|2,{85,121,0}}, +/* 57836 */ {(14<<2)|2,{85,122,0}}, +/* 57837 */ {(14<<2)|2,{85,122,0}}, +/* 57838 */ {(14<<2)|2,{85,122,0}}, +/* 57839 */ {(14<<2)|2,{85,122,0}}, +/* 57840 */ {(15<<2)|2,{85,38,0}}, +/* 57841 */ {(15<<2)|2,{85,38,0}}, +/* 57842 */ {(15<<2)|2,{85,42,0}}, +/* 57843 */ {(15<<2)|2,{85,42,0}}, +/* 57844 */ {(15<<2)|2,{85,44,0}}, +/* 57845 */ {(15<<2)|2,{85,44,0}}, +/* 57846 */ {(15<<2)|2,{85,59,0}}, +/* 57847 */ {(15<<2)|2,{85,59,0}}, +/* 57848 */ {(15<<2)|2,{85,88,0}}, +/* 57849 */ {(15<<2)|2,{85,88,0}}, +/* 57850 */ {(15<<2)|2,{85,90,0}}, +/* 57851 */ {(15<<2)|2,{85,90,0}}, +/* 57852 */ {(7<<2)|1,{85,0,0}}, +/* 57853 */ {(7<<2)|1,{85,0,0}}, +/* 57854 */ {(7<<2)|1,{85,0,0}}, +/* 57855 */ {(7<<2)|1,{85,0,0}}, +/* 57856 */ {(12<<2)|2,{86,48,0}}, +/* 57857 */ {(12<<2)|2,{86,48,0}}, +/* 57858 */ {(12<<2)|2,{86,48,0}}, +/* 57859 */ {(12<<2)|2,{86,48,0}}, +/* 57860 */ {(12<<2)|2,{86,48,0}}, +/* 57861 */ {(12<<2)|2,{86,48,0}}, +/* 57862 */ {(12<<2)|2,{86,48,0}}, +/* 57863 */ {(12<<2)|2,{86,48,0}}, +/* 57864 */ {(12<<2)|2,{86,48,0}}, +/* 57865 */ {(12<<2)|2,{86,48,0}}, +/* 57866 */ {(12<<2)|2,{86,48,0}}, +/* 57867 */ {(12<<2)|2,{86,48,0}}, +/* 57868 */ {(12<<2)|2,{86,48,0}}, +/* 57869 */ {(12<<2)|2,{86,48,0}}, +/* 57870 */ {(12<<2)|2,{86,48,0}}, +/* 57871 */ {(12<<2)|2,{86,48,0}}, +/* 57872 */ {(12<<2)|2,{86,49,0}}, +/* 57873 */ {(12<<2)|2,{86,49,0}}, +/* 57874 */ {(12<<2)|2,{86,49,0}}, +/* 57875 */ {(12<<2)|2,{86,49,0}}, +/* 57876 */ {(12<<2)|2,{86,49,0}}, +/* 57877 */ {(12<<2)|2,{86,49,0}}, +/* 57878 */ {(12<<2)|2,{86,49,0}}, +/* 57879 */ {(12<<2)|2,{86,49,0}}, +/* 57880 */ {(12<<2)|2,{86,49,0}}, +/* 57881 */ {(12<<2)|2,{86,49,0}}, +/* 57882 */ {(12<<2)|2,{86,49,0}}, +/* 57883 */ {(12<<2)|2,{86,49,0}}, +/* 57884 */ {(12<<2)|2,{86,49,0}}, +/* 57885 */ {(12<<2)|2,{86,49,0}}, +/* 57886 */ {(12<<2)|2,{86,49,0}}, +/* 57887 */ {(12<<2)|2,{86,49,0}}, +/* 57888 */ {(12<<2)|2,{86,50,0}}, +/* 57889 */ {(12<<2)|2,{86,50,0}}, +/* 57890 */ {(12<<2)|2,{86,50,0}}, +/* 57891 */ {(12<<2)|2,{86,50,0}}, +/* 57892 */ {(12<<2)|2,{86,50,0}}, +/* 57893 */ {(12<<2)|2,{86,50,0}}, +/* 57894 */ {(12<<2)|2,{86,50,0}}, +/* 57895 */ {(12<<2)|2,{86,50,0}}, +/* 57896 */ {(12<<2)|2,{86,50,0}}, +/* 57897 */ {(12<<2)|2,{86,50,0}}, +/* 57898 */ {(12<<2)|2,{86,50,0}}, +/* 57899 */ {(12<<2)|2,{86,50,0}}, +/* 57900 */ {(12<<2)|2,{86,50,0}}, +/* 57901 */ {(12<<2)|2,{86,50,0}}, +/* 57902 */ {(12<<2)|2,{86,50,0}}, +/* 57903 */ {(12<<2)|2,{86,50,0}}, +/* 57904 */ {(12<<2)|2,{86,97,0}}, +/* 57905 */ {(12<<2)|2,{86,97,0}}, +/* 57906 */ {(12<<2)|2,{86,97,0}}, +/* 57907 */ {(12<<2)|2,{86,97,0}}, +/* 57908 */ {(12<<2)|2,{86,97,0}}, +/* 57909 */ {(12<<2)|2,{86,97,0}}, +/* 57910 */ {(12<<2)|2,{86,97,0}}, +/* 57911 */ {(12<<2)|2,{86,97,0}}, +/* 57912 */ {(12<<2)|2,{86,97,0}}, +/* 57913 */ {(12<<2)|2,{86,97,0}}, +/* 57914 */ {(12<<2)|2,{86,97,0}}, +/* 57915 */ {(12<<2)|2,{86,97,0}}, +/* 57916 */ {(12<<2)|2,{86,97,0}}, +/* 57917 */ {(12<<2)|2,{86,97,0}}, +/* 57918 */ {(12<<2)|2,{86,97,0}}, +/* 57919 */ {(12<<2)|2,{86,97,0}}, +/* 57920 */ {(12<<2)|2,{86,99,0}}, +/* 57921 */ {(12<<2)|2,{86,99,0}}, +/* 57922 */ {(12<<2)|2,{86,99,0}}, +/* 57923 */ {(12<<2)|2,{86,99,0}}, +/* 57924 */ {(12<<2)|2,{86,99,0}}, +/* 57925 */ {(12<<2)|2,{86,99,0}}, +/* 57926 */ {(12<<2)|2,{86,99,0}}, +/* 57927 */ {(12<<2)|2,{86,99,0}}, +/* 57928 */ {(12<<2)|2,{86,99,0}}, +/* 57929 */ {(12<<2)|2,{86,99,0}}, +/* 57930 */ {(12<<2)|2,{86,99,0}}, +/* 57931 */ {(12<<2)|2,{86,99,0}}, +/* 57932 */ {(12<<2)|2,{86,99,0}}, +/* 57933 */ {(12<<2)|2,{86,99,0}}, +/* 57934 */ {(12<<2)|2,{86,99,0}}, +/* 57935 */ {(12<<2)|2,{86,99,0}}, +/* 57936 */ {(12<<2)|2,{86,101,0}}, +/* 57937 */ {(12<<2)|2,{86,101,0}}, +/* 57938 */ {(12<<2)|2,{86,101,0}}, +/* 57939 */ {(12<<2)|2,{86,101,0}}, +/* 57940 */ {(12<<2)|2,{86,101,0}}, +/* 57941 */ {(12<<2)|2,{86,101,0}}, +/* 57942 */ {(12<<2)|2,{86,101,0}}, +/* 57943 */ {(12<<2)|2,{86,101,0}}, +/* 57944 */ {(12<<2)|2,{86,101,0}}, +/* 57945 */ {(12<<2)|2,{86,101,0}}, +/* 57946 */ {(12<<2)|2,{86,101,0}}, +/* 57947 */ {(12<<2)|2,{86,101,0}}, +/* 57948 */ {(12<<2)|2,{86,101,0}}, +/* 57949 */ {(12<<2)|2,{86,101,0}}, +/* 57950 */ {(12<<2)|2,{86,101,0}}, +/* 57951 */ {(12<<2)|2,{86,101,0}}, +/* 57952 */ {(12<<2)|2,{86,105,0}}, +/* 57953 */ {(12<<2)|2,{86,105,0}}, +/* 57954 */ {(12<<2)|2,{86,105,0}}, +/* 57955 */ {(12<<2)|2,{86,105,0}}, +/* 57956 */ {(12<<2)|2,{86,105,0}}, +/* 57957 */ {(12<<2)|2,{86,105,0}}, +/* 57958 */ {(12<<2)|2,{86,105,0}}, +/* 57959 */ {(12<<2)|2,{86,105,0}}, +/* 57960 */ {(12<<2)|2,{86,105,0}}, +/* 57961 */ {(12<<2)|2,{86,105,0}}, +/* 57962 */ {(12<<2)|2,{86,105,0}}, +/* 57963 */ {(12<<2)|2,{86,105,0}}, +/* 57964 */ {(12<<2)|2,{86,105,0}}, +/* 57965 */ {(12<<2)|2,{86,105,0}}, +/* 57966 */ {(12<<2)|2,{86,105,0}}, +/* 57967 */ {(12<<2)|2,{86,105,0}}, +/* 57968 */ {(12<<2)|2,{86,111,0}}, +/* 57969 */ {(12<<2)|2,{86,111,0}}, +/* 57970 */ {(12<<2)|2,{86,111,0}}, +/* 57971 */ {(12<<2)|2,{86,111,0}}, +/* 57972 */ {(12<<2)|2,{86,111,0}}, +/* 57973 */ {(12<<2)|2,{86,111,0}}, +/* 57974 */ {(12<<2)|2,{86,111,0}}, +/* 57975 */ {(12<<2)|2,{86,111,0}}, +/* 57976 */ {(12<<2)|2,{86,111,0}}, +/* 57977 */ {(12<<2)|2,{86,111,0}}, +/* 57978 */ {(12<<2)|2,{86,111,0}}, +/* 57979 */ {(12<<2)|2,{86,111,0}}, +/* 57980 */ {(12<<2)|2,{86,111,0}}, +/* 57981 */ {(12<<2)|2,{86,111,0}}, +/* 57982 */ {(12<<2)|2,{86,111,0}}, +/* 57983 */ {(12<<2)|2,{86,111,0}}, +/* 57984 */ {(12<<2)|2,{86,115,0}}, +/* 57985 */ {(12<<2)|2,{86,115,0}}, +/* 57986 */ {(12<<2)|2,{86,115,0}}, +/* 57987 */ {(12<<2)|2,{86,115,0}}, +/* 57988 */ {(12<<2)|2,{86,115,0}}, +/* 57989 */ {(12<<2)|2,{86,115,0}}, +/* 57990 */ {(12<<2)|2,{86,115,0}}, +/* 57991 */ {(12<<2)|2,{86,115,0}}, +/* 57992 */ {(12<<2)|2,{86,115,0}}, +/* 57993 */ {(12<<2)|2,{86,115,0}}, +/* 57994 */ {(12<<2)|2,{86,115,0}}, +/* 57995 */ {(12<<2)|2,{86,115,0}}, +/* 57996 */ {(12<<2)|2,{86,115,0}}, +/* 57997 */ {(12<<2)|2,{86,115,0}}, +/* 57998 */ {(12<<2)|2,{86,115,0}}, +/* 57999 */ {(12<<2)|2,{86,115,0}}, +/* 58000 */ {(12<<2)|2,{86,116,0}}, +/* 58001 */ {(12<<2)|2,{86,116,0}}, +/* 58002 */ {(12<<2)|2,{86,116,0}}, +/* 58003 */ {(12<<2)|2,{86,116,0}}, +/* 58004 */ {(12<<2)|2,{86,116,0}}, +/* 58005 */ {(12<<2)|2,{86,116,0}}, +/* 58006 */ {(12<<2)|2,{86,116,0}}, +/* 58007 */ {(12<<2)|2,{86,116,0}}, +/* 58008 */ {(12<<2)|2,{86,116,0}}, +/* 58009 */ {(12<<2)|2,{86,116,0}}, +/* 58010 */ {(12<<2)|2,{86,116,0}}, +/* 58011 */ {(12<<2)|2,{86,116,0}}, +/* 58012 */ {(12<<2)|2,{86,116,0}}, +/* 58013 */ {(12<<2)|2,{86,116,0}}, +/* 58014 */ {(12<<2)|2,{86,116,0}}, +/* 58015 */ {(12<<2)|2,{86,116,0}}, +/* 58016 */ {(13<<2)|2,{86,32,0}}, +/* 58017 */ {(13<<2)|2,{86,32,0}}, +/* 58018 */ {(13<<2)|2,{86,32,0}}, +/* 58019 */ {(13<<2)|2,{86,32,0}}, +/* 58020 */ {(13<<2)|2,{86,32,0}}, +/* 58021 */ {(13<<2)|2,{86,32,0}}, +/* 58022 */ {(13<<2)|2,{86,32,0}}, +/* 58023 */ {(13<<2)|2,{86,32,0}}, +/* 58024 */ {(13<<2)|2,{86,37,0}}, +/* 58025 */ {(13<<2)|2,{86,37,0}}, +/* 58026 */ {(13<<2)|2,{86,37,0}}, +/* 58027 */ {(13<<2)|2,{86,37,0}}, +/* 58028 */ {(13<<2)|2,{86,37,0}}, +/* 58029 */ {(13<<2)|2,{86,37,0}}, +/* 58030 */ {(13<<2)|2,{86,37,0}}, +/* 58031 */ {(13<<2)|2,{86,37,0}}, +/* 58032 */ {(13<<2)|2,{86,45,0}}, +/* 58033 */ {(13<<2)|2,{86,45,0}}, +/* 58034 */ {(13<<2)|2,{86,45,0}}, +/* 58035 */ {(13<<2)|2,{86,45,0}}, +/* 58036 */ {(13<<2)|2,{86,45,0}}, +/* 58037 */ {(13<<2)|2,{86,45,0}}, +/* 58038 */ {(13<<2)|2,{86,45,0}}, +/* 58039 */ {(13<<2)|2,{86,45,0}}, +/* 58040 */ {(13<<2)|2,{86,46,0}}, +/* 58041 */ {(13<<2)|2,{86,46,0}}, +/* 58042 */ {(13<<2)|2,{86,46,0}}, +/* 58043 */ {(13<<2)|2,{86,46,0}}, +/* 58044 */ {(13<<2)|2,{86,46,0}}, +/* 58045 */ {(13<<2)|2,{86,46,0}}, +/* 58046 */ {(13<<2)|2,{86,46,0}}, +/* 58047 */ {(13<<2)|2,{86,46,0}}, +/* 58048 */ {(13<<2)|2,{86,47,0}}, +/* 58049 */ {(13<<2)|2,{86,47,0}}, +/* 58050 */ {(13<<2)|2,{86,47,0}}, +/* 58051 */ {(13<<2)|2,{86,47,0}}, +/* 58052 */ {(13<<2)|2,{86,47,0}}, +/* 58053 */ {(13<<2)|2,{86,47,0}}, +/* 58054 */ {(13<<2)|2,{86,47,0}}, +/* 58055 */ {(13<<2)|2,{86,47,0}}, +/* 58056 */ {(13<<2)|2,{86,51,0}}, +/* 58057 */ {(13<<2)|2,{86,51,0}}, +/* 58058 */ {(13<<2)|2,{86,51,0}}, +/* 58059 */ {(13<<2)|2,{86,51,0}}, +/* 58060 */ {(13<<2)|2,{86,51,0}}, +/* 58061 */ {(13<<2)|2,{86,51,0}}, +/* 58062 */ {(13<<2)|2,{86,51,0}}, +/* 58063 */ {(13<<2)|2,{86,51,0}}, +/* 58064 */ {(13<<2)|2,{86,52,0}}, +/* 58065 */ {(13<<2)|2,{86,52,0}}, +/* 58066 */ {(13<<2)|2,{86,52,0}}, +/* 58067 */ {(13<<2)|2,{86,52,0}}, +/* 58068 */ {(13<<2)|2,{86,52,0}}, +/* 58069 */ {(13<<2)|2,{86,52,0}}, +/* 58070 */ {(13<<2)|2,{86,52,0}}, +/* 58071 */ {(13<<2)|2,{86,52,0}}, +/* 58072 */ {(13<<2)|2,{86,53,0}}, +/* 58073 */ {(13<<2)|2,{86,53,0}}, +/* 58074 */ {(13<<2)|2,{86,53,0}}, +/* 58075 */ {(13<<2)|2,{86,53,0}}, +/* 58076 */ {(13<<2)|2,{86,53,0}}, +/* 58077 */ {(13<<2)|2,{86,53,0}}, +/* 58078 */ {(13<<2)|2,{86,53,0}}, +/* 58079 */ {(13<<2)|2,{86,53,0}}, +/* 58080 */ {(13<<2)|2,{86,54,0}}, +/* 58081 */ {(13<<2)|2,{86,54,0}}, +/* 58082 */ {(13<<2)|2,{86,54,0}}, +/* 58083 */ {(13<<2)|2,{86,54,0}}, +/* 58084 */ {(13<<2)|2,{86,54,0}}, +/* 58085 */ {(13<<2)|2,{86,54,0}}, +/* 58086 */ {(13<<2)|2,{86,54,0}}, +/* 58087 */ {(13<<2)|2,{86,54,0}}, +/* 58088 */ {(13<<2)|2,{86,55,0}}, +/* 58089 */ {(13<<2)|2,{86,55,0}}, +/* 58090 */ {(13<<2)|2,{86,55,0}}, +/* 58091 */ {(13<<2)|2,{86,55,0}}, +/* 58092 */ {(13<<2)|2,{86,55,0}}, +/* 58093 */ {(13<<2)|2,{86,55,0}}, +/* 58094 */ {(13<<2)|2,{86,55,0}}, +/* 58095 */ {(13<<2)|2,{86,55,0}}, +/* 58096 */ {(13<<2)|2,{86,56,0}}, +/* 58097 */ {(13<<2)|2,{86,56,0}}, +/* 58098 */ {(13<<2)|2,{86,56,0}}, +/* 58099 */ {(13<<2)|2,{86,56,0}}, +/* 58100 */ {(13<<2)|2,{86,56,0}}, +/* 58101 */ {(13<<2)|2,{86,56,0}}, +/* 58102 */ {(13<<2)|2,{86,56,0}}, +/* 58103 */ {(13<<2)|2,{86,56,0}}, +/* 58104 */ {(13<<2)|2,{86,57,0}}, +/* 58105 */ {(13<<2)|2,{86,57,0}}, +/* 58106 */ {(13<<2)|2,{86,57,0}}, +/* 58107 */ {(13<<2)|2,{86,57,0}}, +/* 58108 */ {(13<<2)|2,{86,57,0}}, +/* 58109 */ {(13<<2)|2,{86,57,0}}, +/* 58110 */ {(13<<2)|2,{86,57,0}}, +/* 58111 */ {(13<<2)|2,{86,57,0}}, +/* 58112 */ {(13<<2)|2,{86,61,0}}, +/* 58113 */ {(13<<2)|2,{86,61,0}}, +/* 58114 */ {(13<<2)|2,{86,61,0}}, +/* 58115 */ {(13<<2)|2,{86,61,0}}, +/* 58116 */ {(13<<2)|2,{86,61,0}}, +/* 58117 */ {(13<<2)|2,{86,61,0}}, +/* 58118 */ {(13<<2)|2,{86,61,0}}, +/* 58119 */ {(13<<2)|2,{86,61,0}}, +/* 58120 */ {(13<<2)|2,{86,65,0}}, +/* 58121 */ {(13<<2)|2,{86,65,0}}, +/* 58122 */ {(13<<2)|2,{86,65,0}}, +/* 58123 */ {(13<<2)|2,{86,65,0}}, +/* 58124 */ {(13<<2)|2,{86,65,0}}, +/* 58125 */ {(13<<2)|2,{86,65,0}}, +/* 58126 */ {(13<<2)|2,{86,65,0}}, +/* 58127 */ {(13<<2)|2,{86,65,0}}, +/* 58128 */ {(13<<2)|2,{86,95,0}}, +/* 58129 */ {(13<<2)|2,{86,95,0}}, +/* 58130 */ {(13<<2)|2,{86,95,0}}, +/* 58131 */ {(13<<2)|2,{86,95,0}}, +/* 58132 */ {(13<<2)|2,{86,95,0}}, +/* 58133 */ {(13<<2)|2,{86,95,0}}, +/* 58134 */ {(13<<2)|2,{86,95,0}}, +/* 58135 */ {(13<<2)|2,{86,95,0}}, +/* 58136 */ {(13<<2)|2,{86,98,0}}, +/* 58137 */ {(13<<2)|2,{86,98,0}}, +/* 58138 */ {(13<<2)|2,{86,98,0}}, +/* 58139 */ {(13<<2)|2,{86,98,0}}, +/* 58140 */ {(13<<2)|2,{86,98,0}}, +/* 58141 */ {(13<<2)|2,{86,98,0}}, +/* 58142 */ {(13<<2)|2,{86,98,0}}, +/* 58143 */ {(13<<2)|2,{86,98,0}}, +/* 58144 */ {(13<<2)|2,{86,100,0}}, +/* 58145 */ {(13<<2)|2,{86,100,0}}, +/* 58146 */ {(13<<2)|2,{86,100,0}}, +/* 58147 */ {(13<<2)|2,{86,100,0}}, +/* 58148 */ {(13<<2)|2,{86,100,0}}, +/* 58149 */ {(13<<2)|2,{86,100,0}}, +/* 58150 */ {(13<<2)|2,{86,100,0}}, +/* 58151 */ {(13<<2)|2,{86,100,0}}, +/* 58152 */ {(13<<2)|2,{86,102,0}}, +/* 58153 */ {(13<<2)|2,{86,102,0}}, +/* 58154 */ {(13<<2)|2,{86,102,0}}, +/* 58155 */ {(13<<2)|2,{86,102,0}}, +/* 58156 */ {(13<<2)|2,{86,102,0}}, +/* 58157 */ {(13<<2)|2,{86,102,0}}, +/* 58158 */ {(13<<2)|2,{86,102,0}}, +/* 58159 */ {(13<<2)|2,{86,102,0}}, +/* 58160 */ {(13<<2)|2,{86,103,0}}, +/* 58161 */ {(13<<2)|2,{86,103,0}}, +/* 58162 */ {(13<<2)|2,{86,103,0}}, +/* 58163 */ {(13<<2)|2,{86,103,0}}, +/* 58164 */ {(13<<2)|2,{86,103,0}}, +/* 58165 */ {(13<<2)|2,{86,103,0}}, +/* 58166 */ {(13<<2)|2,{86,103,0}}, +/* 58167 */ {(13<<2)|2,{86,103,0}}, +/* 58168 */ {(13<<2)|2,{86,104,0}}, +/* 58169 */ {(13<<2)|2,{86,104,0}}, +/* 58170 */ {(13<<2)|2,{86,104,0}}, +/* 58171 */ {(13<<2)|2,{86,104,0}}, +/* 58172 */ {(13<<2)|2,{86,104,0}}, +/* 58173 */ {(13<<2)|2,{86,104,0}}, +/* 58174 */ {(13<<2)|2,{86,104,0}}, +/* 58175 */ {(13<<2)|2,{86,104,0}}, +/* 58176 */ {(13<<2)|2,{86,108,0}}, +/* 58177 */ {(13<<2)|2,{86,108,0}}, +/* 58178 */ {(13<<2)|2,{86,108,0}}, +/* 58179 */ {(13<<2)|2,{86,108,0}}, +/* 58180 */ {(13<<2)|2,{86,108,0}}, +/* 58181 */ {(13<<2)|2,{86,108,0}}, +/* 58182 */ {(13<<2)|2,{86,108,0}}, +/* 58183 */ {(13<<2)|2,{86,108,0}}, +/* 58184 */ {(13<<2)|2,{86,109,0}}, +/* 58185 */ {(13<<2)|2,{86,109,0}}, +/* 58186 */ {(13<<2)|2,{86,109,0}}, +/* 58187 */ {(13<<2)|2,{86,109,0}}, +/* 58188 */ {(13<<2)|2,{86,109,0}}, +/* 58189 */ {(13<<2)|2,{86,109,0}}, +/* 58190 */ {(13<<2)|2,{86,109,0}}, +/* 58191 */ {(13<<2)|2,{86,109,0}}, +/* 58192 */ {(13<<2)|2,{86,110,0}}, +/* 58193 */ {(13<<2)|2,{86,110,0}}, +/* 58194 */ {(13<<2)|2,{86,110,0}}, +/* 58195 */ {(13<<2)|2,{86,110,0}}, +/* 58196 */ {(13<<2)|2,{86,110,0}}, +/* 58197 */ {(13<<2)|2,{86,110,0}}, +/* 58198 */ {(13<<2)|2,{86,110,0}}, +/* 58199 */ {(13<<2)|2,{86,110,0}}, +/* 58200 */ {(13<<2)|2,{86,112,0}}, +/* 58201 */ {(13<<2)|2,{86,112,0}}, +/* 58202 */ {(13<<2)|2,{86,112,0}}, +/* 58203 */ {(13<<2)|2,{86,112,0}}, +/* 58204 */ {(13<<2)|2,{86,112,0}}, +/* 58205 */ {(13<<2)|2,{86,112,0}}, +/* 58206 */ {(13<<2)|2,{86,112,0}}, +/* 58207 */ {(13<<2)|2,{86,112,0}}, +/* 58208 */ {(13<<2)|2,{86,114,0}}, +/* 58209 */ {(13<<2)|2,{86,114,0}}, +/* 58210 */ {(13<<2)|2,{86,114,0}}, +/* 58211 */ {(13<<2)|2,{86,114,0}}, +/* 58212 */ {(13<<2)|2,{86,114,0}}, +/* 58213 */ {(13<<2)|2,{86,114,0}}, +/* 58214 */ {(13<<2)|2,{86,114,0}}, +/* 58215 */ {(13<<2)|2,{86,114,0}}, +/* 58216 */ {(13<<2)|2,{86,117,0}}, +/* 58217 */ {(13<<2)|2,{86,117,0}}, +/* 58218 */ {(13<<2)|2,{86,117,0}}, +/* 58219 */ {(13<<2)|2,{86,117,0}}, +/* 58220 */ {(13<<2)|2,{86,117,0}}, +/* 58221 */ {(13<<2)|2,{86,117,0}}, +/* 58222 */ {(13<<2)|2,{86,117,0}}, +/* 58223 */ {(13<<2)|2,{86,117,0}}, +/* 58224 */ {(14<<2)|2,{86,58,0}}, +/* 58225 */ {(14<<2)|2,{86,58,0}}, +/* 58226 */ {(14<<2)|2,{86,58,0}}, +/* 58227 */ {(14<<2)|2,{86,58,0}}, +/* 58228 */ {(14<<2)|2,{86,66,0}}, +/* 58229 */ {(14<<2)|2,{86,66,0}}, +/* 58230 */ {(14<<2)|2,{86,66,0}}, +/* 58231 */ {(14<<2)|2,{86,66,0}}, +/* 58232 */ {(14<<2)|2,{86,67,0}}, +/* 58233 */ {(14<<2)|2,{86,67,0}}, +/* 58234 */ {(14<<2)|2,{86,67,0}}, +/* 58235 */ {(14<<2)|2,{86,67,0}}, +/* 58236 */ {(14<<2)|2,{86,68,0}}, +/* 58237 */ {(14<<2)|2,{86,68,0}}, +/* 58238 */ {(14<<2)|2,{86,68,0}}, +/* 58239 */ {(14<<2)|2,{86,68,0}}, +/* 58240 */ {(14<<2)|2,{86,69,0}}, +/* 58241 */ {(14<<2)|2,{86,69,0}}, +/* 58242 */ {(14<<2)|2,{86,69,0}}, +/* 58243 */ {(14<<2)|2,{86,69,0}}, +/* 58244 */ {(14<<2)|2,{86,70,0}}, +/* 58245 */ {(14<<2)|2,{86,70,0}}, +/* 58246 */ {(14<<2)|2,{86,70,0}}, +/* 58247 */ {(14<<2)|2,{86,70,0}}, +/* 58248 */ {(14<<2)|2,{86,71,0}}, +/* 58249 */ {(14<<2)|2,{86,71,0}}, +/* 58250 */ {(14<<2)|2,{86,71,0}}, +/* 58251 */ {(14<<2)|2,{86,71,0}}, +/* 58252 */ {(14<<2)|2,{86,72,0}}, +/* 58253 */ {(14<<2)|2,{86,72,0}}, +/* 58254 */ {(14<<2)|2,{86,72,0}}, +/* 58255 */ {(14<<2)|2,{86,72,0}}, +/* 58256 */ {(14<<2)|2,{86,73,0}}, +/* 58257 */ {(14<<2)|2,{86,73,0}}, +/* 58258 */ {(14<<2)|2,{86,73,0}}, +/* 58259 */ {(14<<2)|2,{86,73,0}}, +/* 58260 */ {(14<<2)|2,{86,74,0}}, +/* 58261 */ {(14<<2)|2,{86,74,0}}, +/* 58262 */ {(14<<2)|2,{86,74,0}}, +/* 58263 */ {(14<<2)|2,{86,74,0}}, +/* 58264 */ {(14<<2)|2,{86,75,0}}, +/* 58265 */ {(14<<2)|2,{86,75,0}}, +/* 58266 */ {(14<<2)|2,{86,75,0}}, +/* 58267 */ {(14<<2)|2,{86,75,0}}, +/* 58268 */ {(14<<2)|2,{86,76,0}}, +/* 58269 */ {(14<<2)|2,{86,76,0}}, +/* 58270 */ {(14<<2)|2,{86,76,0}}, +/* 58271 */ {(14<<2)|2,{86,76,0}}, +/* 58272 */ {(14<<2)|2,{86,77,0}}, +/* 58273 */ {(14<<2)|2,{86,77,0}}, +/* 58274 */ {(14<<2)|2,{86,77,0}}, +/* 58275 */ {(14<<2)|2,{86,77,0}}, +/* 58276 */ {(14<<2)|2,{86,78,0}}, +/* 58277 */ {(14<<2)|2,{86,78,0}}, +/* 58278 */ {(14<<2)|2,{86,78,0}}, +/* 58279 */ {(14<<2)|2,{86,78,0}}, +/* 58280 */ {(14<<2)|2,{86,79,0}}, +/* 58281 */ {(14<<2)|2,{86,79,0}}, +/* 58282 */ {(14<<2)|2,{86,79,0}}, +/* 58283 */ {(14<<2)|2,{86,79,0}}, +/* 58284 */ {(14<<2)|2,{86,80,0}}, +/* 58285 */ {(14<<2)|2,{86,80,0}}, +/* 58286 */ {(14<<2)|2,{86,80,0}}, +/* 58287 */ {(14<<2)|2,{86,80,0}}, +/* 58288 */ {(14<<2)|2,{86,81,0}}, +/* 58289 */ {(14<<2)|2,{86,81,0}}, +/* 58290 */ {(14<<2)|2,{86,81,0}}, +/* 58291 */ {(14<<2)|2,{86,81,0}}, +/* 58292 */ {(14<<2)|2,{86,82,0}}, +/* 58293 */ {(14<<2)|2,{86,82,0}}, +/* 58294 */ {(14<<2)|2,{86,82,0}}, +/* 58295 */ {(14<<2)|2,{86,82,0}}, +/* 58296 */ {(14<<2)|2,{86,83,0}}, +/* 58297 */ {(14<<2)|2,{86,83,0}}, +/* 58298 */ {(14<<2)|2,{86,83,0}}, +/* 58299 */ {(14<<2)|2,{86,83,0}}, +/* 58300 */ {(14<<2)|2,{86,84,0}}, +/* 58301 */ {(14<<2)|2,{86,84,0}}, +/* 58302 */ {(14<<2)|2,{86,84,0}}, +/* 58303 */ {(14<<2)|2,{86,84,0}}, +/* 58304 */ {(14<<2)|2,{86,85,0}}, +/* 58305 */ {(14<<2)|2,{86,85,0}}, +/* 58306 */ {(14<<2)|2,{86,85,0}}, +/* 58307 */ {(14<<2)|2,{86,85,0}}, +/* 58308 */ {(14<<2)|2,{86,86,0}}, +/* 58309 */ {(14<<2)|2,{86,86,0}}, +/* 58310 */ {(14<<2)|2,{86,86,0}}, +/* 58311 */ {(14<<2)|2,{86,86,0}}, +/* 58312 */ {(14<<2)|2,{86,87,0}}, +/* 58313 */ {(14<<2)|2,{86,87,0}}, +/* 58314 */ {(14<<2)|2,{86,87,0}}, +/* 58315 */ {(14<<2)|2,{86,87,0}}, +/* 58316 */ {(14<<2)|2,{86,89,0}}, +/* 58317 */ {(14<<2)|2,{86,89,0}}, +/* 58318 */ {(14<<2)|2,{86,89,0}}, +/* 58319 */ {(14<<2)|2,{86,89,0}}, +/* 58320 */ {(14<<2)|2,{86,106,0}}, +/* 58321 */ {(14<<2)|2,{86,106,0}}, +/* 58322 */ {(14<<2)|2,{86,106,0}}, +/* 58323 */ {(14<<2)|2,{86,106,0}}, +/* 58324 */ {(14<<2)|2,{86,107,0}}, +/* 58325 */ {(14<<2)|2,{86,107,0}}, +/* 58326 */ {(14<<2)|2,{86,107,0}}, +/* 58327 */ {(14<<2)|2,{86,107,0}}, +/* 58328 */ {(14<<2)|2,{86,113,0}}, +/* 58329 */ {(14<<2)|2,{86,113,0}}, +/* 58330 */ {(14<<2)|2,{86,113,0}}, +/* 58331 */ {(14<<2)|2,{86,113,0}}, +/* 58332 */ {(14<<2)|2,{86,118,0}}, +/* 58333 */ {(14<<2)|2,{86,118,0}}, +/* 58334 */ {(14<<2)|2,{86,118,0}}, +/* 58335 */ {(14<<2)|2,{86,118,0}}, +/* 58336 */ {(14<<2)|2,{86,119,0}}, +/* 58337 */ {(14<<2)|2,{86,119,0}}, +/* 58338 */ {(14<<2)|2,{86,119,0}}, +/* 58339 */ {(14<<2)|2,{86,119,0}}, +/* 58340 */ {(14<<2)|2,{86,120,0}}, +/* 58341 */ {(14<<2)|2,{86,120,0}}, +/* 58342 */ {(14<<2)|2,{86,120,0}}, +/* 58343 */ {(14<<2)|2,{86,120,0}}, +/* 58344 */ {(14<<2)|2,{86,121,0}}, +/* 58345 */ {(14<<2)|2,{86,121,0}}, +/* 58346 */ {(14<<2)|2,{86,121,0}}, +/* 58347 */ {(14<<2)|2,{86,121,0}}, +/* 58348 */ {(14<<2)|2,{86,122,0}}, +/* 58349 */ {(14<<2)|2,{86,122,0}}, +/* 58350 */ {(14<<2)|2,{86,122,0}}, +/* 58351 */ {(14<<2)|2,{86,122,0}}, +/* 58352 */ {(15<<2)|2,{86,38,0}}, +/* 58353 */ {(15<<2)|2,{86,38,0}}, +/* 58354 */ {(15<<2)|2,{86,42,0}}, +/* 58355 */ {(15<<2)|2,{86,42,0}}, +/* 58356 */ {(15<<2)|2,{86,44,0}}, +/* 58357 */ {(15<<2)|2,{86,44,0}}, +/* 58358 */ {(15<<2)|2,{86,59,0}}, +/* 58359 */ {(15<<2)|2,{86,59,0}}, +/* 58360 */ {(15<<2)|2,{86,88,0}}, +/* 58361 */ {(15<<2)|2,{86,88,0}}, +/* 58362 */ {(15<<2)|2,{86,90,0}}, +/* 58363 */ {(15<<2)|2,{86,90,0}}, +/* 58364 */ {(7<<2)|1,{86,0,0}}, +/* 58365 */ {(7<<2)|1,{86,0,0}}, +/* 58366 */ {(7<<2)|1,{86,0,0}}, +/* 58367 */ {(7<<2)|1,{86,0,0}}, +/* 58368 */ {(12<<2)|2,{87,48,0}}, +/* 58369 */ {(12<<2)|2,{87,48,0}}, +/* 58370 */ {(12<<2)|2,{87,48,0}}, +/* 58371 */ {(12<<2)|2,{87,48,0}}, +/* 58372 */ {(12<<2)|2,{87,48,0}}, +/* 58373 */ {(12<<2)|2,{87,48,0}}, +/* 58374 */ {(12<<2)|2,{87,48,0}}, +/* 58375 */ {(12<<2)|2,{87,48,0}}, +/* 58376 */ {(12<<2)|2,{87,48,0}}, +/* 58377 */ {(12<<2)|2,{87,48,0}}, +/* 58378 */ {(12<<2)|2,{87,48,0}}, +/* 58379 */ {(12<<2)|2,{87,48,0}}, +/* 58380 */ {(12<<2)|2,{87,48,0}}, +/* 58381 */ {(12<<2)|2,{87,48,0}}, +/* 58382 */ {(12<<2)|2,{87,48,0}}, +/* 58383 */ {(12<<2)|2,{87,48,0}}, +/* 58384 */ {(12<<2)|2,{87,49,0}}, +/* 58385 */ {(12<<2)|2,{87,49,0}}, +/* 58386 */ {(12<<2)|2,{87,49,0}}, +/* 58387 */ {(12<<2)|2,{87,49,0}}, +/* 58388 */ {(12<<2)|2,{87,49,0}}, +/* 58389 */ {(12<<2)|2,{87,49,0}}, +/* 58390 */ {(12<<2)|2,{87,49,0}}, +/* 58391 */ {(12<<2)|2,{87,49,0}}, +/* 58392 */ {(12<<2)|2,{87,49,0}}, +/* 58393 */ {(12<<2)|2,{87,49,0}}, +/* 58394 */ {(12<<2)|2,{87,49,0}}, +/* 58395 */ {(12<<2)|2,{87,49,0}}, +/* 58396 */ {(12<<2)|2,{87,49,0}}, +/* 58397 */ {(12<<2)|2,{87,49,0}}, +/* 58398 */ {(12<<2)|2,{87,49,0}}, +/* 58399 */ {(12<<2)|2,{87,49,0}}, +/* 58400 */ {(12<<2)|2,{87,50,0}}, +/* 58401 */ {(12<<2)|2,{87,50,0}}, +/* 58402 */ {(12<<2)|2,{87,50,0}}, +/* 58403 */ {(12<<2)|2,{87,50,0}}, +/* 58404 */ {(12<<2)|2,{87,50,0}}, +/* 58405 */ {(12<<2)|2,{87,50,0}}, +/* 58406 */ {(12<<2)|2,{87,50,0}}, +/* 58407 */ {(12<<2)|2,{87,50,0}}, +/* 58408 */ {(12<<2)|2,{87,50,0}}, +/* 58409 */ {(12<<2)|2,{87,50,0}}, +/* 58410 */ {(12<<2)|2,{87,50,0}}, +/* 58411 */ {(12<<2)|2,{87,50,0}}, +/* 58412 */ {(12<<2)|2,{87,50,0}}, +/* 58413 */ {(12<<2)|2,{87,50,0}}, +/* 58414 */ {(12<<2)|2,{87,50,0}}, +/* 58415 */ {(12<<2)|2,{87,50,0}}, +/* 58416 */ {(12<<2)|2,{87,97,0}}, +/* 58417 */ {(12<<2)|2,{87,97,0}}, +/* 58418 */ {(12<<2)|2,{87,97,0}}, +/* 58419 */ {(12<<2)|2,{87,97,0}}, +/* 58420 */ {(12<<2)|2,{87,97,0}}, +/* 58421 */ {(12<<2)|2,{87,97,0}}, +/* 58422 */ {(12<<2)|2,{87,97,0}}, +/* 58423 */ {(12<<2)|2,{87,97,0}}, +/* 58424 */ {(12<<2)|2,{87,97,0}}, +/* 58425 */ {(12<<2)|2,{87,97,0}}, +/* 58426 */ {(12<<2)|2,{87,97,0}}, +/* 58427 */ {(12<<2)|2,{87,97,0}}, +/* 58428 */ {(12<<2)|2,{87,97,0}}, +/* 58429 */ {(12<<2)|2,{87,97,0}}, +/* 58430 */ {(12<<2)|2,{87,97,0}}, +/* 58431 */ {(12<<2)|2,{87,97,0}}, +/* 58432 */ {(12<<2)|2,{87,99,0}}, +/* 58433 */ {(12<<2)|2,{87,99,0}}, +/* 58434 */ {(12<<2)|2,{87,99,0}}, +/* 58435 */ {(12<<2)|2,{87,99,0}}, +/* 58436 */ {(12<<2)|2,{87,99,0}}, +/* 58437 */ {(12<<2)|2,{87,99,0}}, +/* 58438 */ {(12<<2)|2,{87,99,0}}, +/* 58439 */ {(12<<2)|2,{87,99,0}}, +/* 58440 */ {(12<<2)|2,{87,99,0}}, +/* 58441 */ {(12<<2)|2,{87,99,0}}, +/* 58442 */ {(12<<2)|2,{87,99,0}}, +/* 58443 */ {(12<<2)|2,{87,99,0}}, +/* 58444 */ {(12<<2)|2,{87,99,0}}, +/* 58445 */ {(12<<2)|2,{87,99,0}}, +/* 58446 */ {(12<<2)|2,{87,99,0}}, +/* 58447 */ {(12<<2)|2,{87,99,0}}, +/* 58448 */ {(12<<2)|2,{87,101,0}}, +/* 58449 */ {(12<<2)|2,{87,101,0}}, +/* 58450 */ {(12<<2)|2,{87,101,0}}, +/* 58451 */ {(12<<2)|2,{87,101,0}}, +/* 58452 */ {(12<<2)|2,{87,101,0}}, +/* 58453 */ {(12<<2)|2,{87,101,0}}, +/* 58454 */ {(12<<2)|2,{87,101,0}}, +/* 58455 */ {(12<<2)|2,{87,101,0}}, +/* 58456 */ {(12<<2)|2,{87,101,0}}, +/* 58457 */ {(12<<2)|2,{87,101,0}}, +/* 58458 */ {(12<<2)|2,{87,101,0}}, +/* 58459 */ {(12<<2)|2,{87,101,0}}, +/* 58460 */ {(12<<2)|2,{87,101,0}}, +/* 58461 */ {(12<<2)|2,{87,101,0}}, +/* 58462 */ {(12<<2)|2,{87,101,0}}, +/* 58463 */ {(12<<2)|2,{87,101,0}}, +/* 58464 */ {(12<<2)|2,{87,105,0}}, +/* 58465 */ {(12<<2)|2,{87,105,0}}, +/* 58466 */ {(12<<2)|2,{87,105,0}}, +/* 58467 */ {(12<<2)|2,{87,105,0}}, +/* 58468 */ {(12<<2)|2,{87,105,0}}, +/* 58469 */ {(12<<2)|2,{87,105,0}}, +/* 58470 */ {(12<<2)|2,{87,105,0}}, +/* 58471 */ {(12<<2)|2,{87,105,0}}, +/* 58472 */ {(12<<2)|2,{87,105,0}}, +/* 58473 */ {(12<<2)|2,{87,105,0}}, +/* 58474 */ {(12<<2)|2,{87,105,0}}, +/* 58475 */ {(12<<2)|2,{87,105,0}}, +/* 58476 */ {(12<<2)|2,{87,105,0}}, +/* 58477 */ {(12<<2)|2,{87,105,0}}, +/* 58478 */ {(12<<2)|2,{87,105,0}}, +/* 58479 */ {(12<<2)|2,{87,105,0}}, +/* 58480 */ {(12<<2)|2,{87,111,0}}, +/* 58481 */ {(12<<2)|2,{87,111,0}}, +/* 58482 */ {(12<<2)|2,{87,111,0}}, +/* 58483 */ {(12<<2)|2,{87,111,0}}, +/* 58484 */ {(12<<2)|2,{87,111,0}}, +/* 58485 */ {(12<<2)|2,{87,111,0}}, +/* 58486 */ {(12<<2)|2,{87,111,0}}, +/* 58487 */ {(12<<2)|2,{87,111,0}}, +/* 58488 */ {(12<<2)|2,{87,111,0}}, +/* 58489 */ {(12<<2)|2,{87,111,0}}, +/* 58490 */ {(12<<2)|2,{87,111,0}}, +/* 58491 */ {(12<<2)|2,{87,111,0}}, +/* 58492 */ {(12<<2)|2,{87,111,0}}, +/* 58493 */ {(12<<2)|2,{87,111,0}}, +/* 58494 */ {(12<<2)|2,{87,111,0}}, +/* 58495 */ {(12<<2)|2,{87,111,0}}, +/* 58496 */ {(12<<2)|2,{87,115,0}}, +/* 58497 */ {(12<<2)|2,{87,115,0}}, +/* 58498 */ {(12<<2)|2,{87,115,0}}, +/* 58499 */ {(12<<2)|2,{87,115,0}}, +/* 58500 */ {(12<<2)|2,{87,115,0}}, +/* 58501 */ {(12<<2)|2,{87,115,0}}, +/* 58502 */ {(12<<2)|2,{87,115,0}}, +/* 58503 */ {(12<<2)|2,{87,115,0}}, +/* 58504 */ {(12<<2)|2,{87,115,0}}, +/* 58505 */ {(12<<2)|2,{87,115,0}}, +/* 58506 */ {(12<<2)|2,{87,115,0}}, +/* 58507 */ {(12<<2)|2,{87,115,0}}, +/* 58508 */ {(12<<2)|2,{87,115,0}}, +/* 58509 */ {(12<<2)|2,{87,115,0}}, +/* 58510 */ {(12<<2)|2,{87,115,0}}, +/* 58511 */ {(12<<2)|2,{87,115,0}}, +/* 58512 */ {(12<<2)|2,{87,116,0}}, +/* 58513 */ {(12<<2)|2,{87,116,0}}, +/* 58514 */ {(12<<2)|2,{87,116,0}}, +/* 58515 */ {(12<<2)|2,{87,116,0}}, +/* 58516 */ {(12<<2)|2,{87,116,0}}, +/* 58517 */ {(12<<2)|2,{87,116,0}}, +/* 58518 */ {(12<<2)|2,{87,116,0}}, +/* 58519 */ {(12<<2)|2,{87,116,0}}, +/* 58520 */ {(12<<2)|2,{87,116,0}}, +/* 58521 */ {(12<<2)|2,{87,116,0}}, +/* 58522 */ {(12<<2)|2,{87,116,0}}, +/* 58523 */ {(12<<2)|2,{87,116,0}}, +/* 58524 */ {(12<<2)|2,{87,116,0}}, +/* 58525 */ {(12<<2)|2,{87,116,0}}, +/* 58526 */ {(12<<2)|2,{87,116,0}}, +/* 58527 */ {(12<<2)|2,{87,116,0}}, +/* 58528 */ {(13<<2)|2,{87,32,0}}, +/* 58529 */ {(13<<2)|2,{87,32,0}}, +/* 58530 */ {(13<<2)|2,{87,32,0}}, +/* 58531 */ {(13<<2)|2,{87,32,0}}, +/* 58532 */ {(13<<2)|2,{87,32,0}}, +/* 58533 */ {(13<<2)|2,{87,32,0}}, +/* 58534 */ {(13<<2)|2,{87,32,0}}, +/* 58535 */ {(13<<2)|2,{87,32,0}}, +/* 58536 */ {(13<<2)|2,{87,37,0}}, +/* 58537 */ {(13<<2)|2,{87,37,0}}, +/* 58538 */ {(13<<2)|2,{87,37,0}}, +/* 58539 */ {(13<<2)|2,{87,37,0}}, +/* 58540 */ {(13<<2)|2,{87,37,0}}, +/* 58541 */ {(13<<2)|2,{87,37,0}}, +/* 58542 */ {(13<<2)|2,{87,37,0}}, +/* 58543 */ {(13<<2)|2,{87,37,0}}, +/* 58544 */ {(13<<2)|2,{87,45,0}}, +/* 58545 */ {(13<<2)|2,{87,45,0}}, +/* 58546 */ {(13<<2)|2,{87,45,0}}, +/* 58547 */ {(13<<2)|2,{87,45,0}}, +/* 58548 */ {(13<<2)|2,{87,45,0}}, +/* 58549 */ {(13<<2)|2,{87,45,0}}, +/* 58550 */ {(13<<2)|2,{87,45,0}}, +/* 58551 */ {(13<<2)|2,{87,45,0}}, +/* 58552 */ {(13<<2)|2,{87,46,0}}, +/* 58553 */ {(13<<2)|2,{87,46,0}}, +/* 58554 */ {(13<<2)|2,{87,46,0}}, +/* 58555 */ {(13<<2)|2,{87,46,0}}, +/* 58556 */ {(13<<2)|2,{87,46,0}}, +/* 58557 */ {(13<<2)|2,{87,46,0}}, +/* 58558 */ {(13<<2)|2,{87,46,0}}, +/* 58559 */ {(13<<2)|2,{87,46,0}}, +/* 58560 */ {(13<<2)|2,{87,47,0}}, +/* 58561 */ {(13<<2)|2,{87,47,0}}, +/* 58562 */ {(13<<2)|2,{87,47,0}}, +/* 58563 */ {(13<<2)|2,{87,47,0}}, +/* 58564 */ {(13<<2)|2,{87,47,0}}, +/* 58565 */ {(13<<2)|2,{87,47,0}}, +/* 58566 */ {(13<<2)|2,{87,47,0}}, +/* 58567 */ {(13<<2)|2,{87,47,0}}, +/* 58568 */ {(13<<2)|2,{87,51,0}}, +/* 58569 */ {(13<<2)|2,{87,51,0}}, +/* 58570 */ {(13<<2)|2,{87,51,0}}, +/* 58571 */ {(13<<2)|2,{87,51,0}}, +/* 58572 */ {(13<<2)|2,{87,51,0}}, +/* 58573 */ {(13<<2)|2,{87,51,0}}, +/* 58574 */ {(13<<2)|2,{87,51,0}}, +/* 58575 */ {(13<<2)|2,{87,51,0}}, +/* 58576 */ {(13<<2)|2,{87,52,0}}, +/* 58577 */ {(13<<2)|2,{87,52,0}}, +/* 58578 */ {(13<<2)|2,{87,52,0}}, +/* 58579 */ {(13<<2)|2,{87,52,0}}, +/* 58580 */ {(13<<2)|2,{87,52,0}}, +/* 58581 */ {(13<<2)|2,{87,52,0}}, +/* 58582 */ {(13<<2)|2,{87,52,0}}, +/* 58583 */ {(13<<2)|2,{87,52,0}}, +/* 58584 */ {(13<<2)|2,{87,53,0}}, +/* 58585 */ {(13<<2)|2,{87,53,0}}, +/* 58586 */ {(13<<2)|2,{87,53,0}}, +/* 58587 */ {(13<<2)|2,{87,53,0}}, +/* 58588 */ {(13<<2)|2,{87,53,0}}, +/* 58589 */ {(13<<2)|2,{87,53,0}}, +/* 58590 */ {(13<<2)|2,{87,53,0}}, +/* 58591 */ {(13<<2)|2,{87,53,0}}, +/* 58592 */ {(13<<2)|2,{87,54,0}}, +/* 58593 */ {(13<<2)|2,{87,54,0}}, +/* 58594 */ {(13<<2)|2,{87,54,0}}, +/* 58595 */ {(13<<2)|2,{87,54,0}}, +/* 58596 */ {(13<<2)|2,{87,54,0}}, +/* 58597 */ {(13<<2)|2,{87,54,0}}, +/* 58598 */ {(13<<2)|2,{87,54,0}}, +/* 58599 */ {(13<<2)|2,{87,54,0}}, +/* 58600 */ {(13<<2)|2,{87,55,0}}, +/* 58601 */ {(13<<2)|2,{87,55,0}}, +/* 58602 */ {(13<<2)|2,{87,55,0}}, +/* 58603 */ {(13<<2)|2,{87,55,0}}, +/* 58604 */ {(13<<2)|2,{87,55,0}}, +/* 58605 */ {(13<<2)|2,{87,55,0}}, +/* 58606 */ {(13<<2)|2,{87,55,0}}, +/* 58607 */ {(13<<2)|2,{87,55,0}}, +/* 58608 */ {(13<<2)|2,{87,56,0}}, +/* 58609 */ {(13<<2)|2,{87,56,0}}, +/* 58610 */ {(13<<2)|2,{87,56,0}}, +/* 58611 */ {(13<<2)|2,{87,56,0}}, +/* 58612 */ {(13<<2)|2,{87,56,0}}, +/* 58613 */ {(13<<2)|2,{87,56,0}}, +/* 58614 */ {(13<<2)|2,{87,56,0}}, +/* 58615 */ {(13<<2)|2,{87,56,0}}, +/* 58616 */ {(13<<2)|2,{87,57,0}}, +/* 58617 */ {(13<<2)|2,{87,57,0}}, +/* 58618 */ {(13<<2)|2,{87,57,0}}, +/* 58619 */ {(13<<2)|2,{87,57,0}}, +/* 58620 */ {(13<<2)|2,{87,57,0}}, +/* 58621 */ {(13<<2)|2,{87,57,0}}, +/* 58622 */ {(13<<2)|2,{87,57,0}}, +/* 58623 */ {(13<<2)|2,{87,57,0}}, +/* 58624 */ {(13<<2)|2,{87,61,0}}, +/* 58625 */ {(13<<2)|2,{87,61,0}}, +/* 58626 */ {(13<<2)|2,{87,61,0}}, +/* 58627 */ {(13<<2)|2,{87,61,0}}, +/* 58628 */ {(13<<2)|2,{87,61,0}}, +/* 58629 */ {(13<<2)|2,{87,61,0}}, +/* 58630 */ {(13<<2)|2,{87,61,0}}, +/* 58631 */ {(13<<2)|2,{87,61,0}}, +/* 58632 */ {(13<<2)|2,{87,65,0}}, +/* 58633 */ {(13<<2)|2,{87,65,0}}, +/* 58634 */ {(13<<2)|2,{87,65,0}}, +/* 58635 */ {(13<<2)|2,{87,65,0}}, +/* 58636 */ {(13<<2)|2,{87,65,0}}, +/* 58637 */ {(13<<2)|2,{87,65,0}}, +/* 58638 */ {(13<<2)|2,{87,65,0}}, +/* 58639 */ {(13<<2)|2,{87,65,0}}, +/* 58640 */ {(13<<2)|2,{87,95,0}}, +/* 58641 */ {(13<<2)|2,{87,95,0}}, +/* 58642 */ {(13<<2)|2,{87,95,0}}, +/* 58643 */ {(13<<2)|2,{87,95,0}}, +/* 58644 */ {(13<<2)|2,{87,95,0}}, +/* 58645 */ {(13<<2)|2,{87,95,0}}, +/* 58646 */ {(13<<2)|2,{87,95,0}}, +/* 58647 */ {(13<<2)|2,{87,95,0}}, +/* 58648 */ {(13<<2)|2,{87,98,0}}, +/* 58649 */ {(13<<2)|2,{87,98,0}}, +/* 58650 */ {(13<<2)|2,{87,98,0}}, +/* 58651 */ {(13<<2)|2,{87,98,0}}, +/* 58652 */ {(13<<2)|2,{87,98,0}}, +/* 58653 */ {(13<<2)|2,{87,98,0}}, +/* 58654 */ {(13<<2)|2,{87,98,0}}, +/* 58655 */ {(13<<2)|2,{87,98,0}}, +/* 58656 */ {(13<<2)|2,{87,100,0}}, +/* 58657 */ {(13<<2)|2,{87,100,0}}, +/* 58658 */ {(13<<2)|2,{87,100,0}}, +/* 58659 */ {(13<<2)|2,{87,100,0}}, +/* 58660 */ {(13<<2)|2,{87,100,0}}, +/* 58661 */ {(13<<2)|2,{87,100,0}}, +/* 58662 */ {(13<<2)|2,{87,100,0}}, +/* 58663 */ {(13<<2)|2,{87,100,0}}, +/* 58664 */ {(13<<2)|2,{87,102,0}}, +/* 58665 */ {(13<<2)|2,{87,102,0}}, +/* 58666 */ {(13<<2)|2,{87,102,0}}, +/* 58667 */ {(13<<2)|2,{87,102,0}}, +/* 58668 */ {(13<<2)|2,{87,102,0}}, +/* 58669 */ {(13<<2)|2,{87,102,0}}, +/* 58670 */ {(13<<2)|2,{87,102,0}}, +/* 58671 */ {(13<<2)|2,{87,102,0}}, +/* 58672 */ {(13<<2)|2,{87,103,0}}, +/* 58673 */ {(13<<2)|2,{87,103,0}}, +/* 58674 */ {(13<<2)|2,{87,103,0}}, +/* 58675 */ {(13<<2)|2,{87,103,0}}, +/* 58676 */ {(13<<2)|2,{87,103,0}}, +/* 58677 */ {(13<<2)|2,{87,103,0}}, +/* 58678 */ {(13<<2)|2,{87,103,0}}, +/* 58679 */ {(13<<2)|2,{87,103,0}}, +/* 58680 */ {(13<<2)|2,{87,104,0}}, +/* 58681 */ {(13<<2)|2,{87,104,0}}, +/* 58682 */ {(13<<2)|2,{87,104,0}}, +/* 58683 */ {(13<<2)|2,{87,104,0}}, +/* 58684 */ {(13<<2)|2,{87,104,0}}, +/* 58685 */ {(13<<2)|2,{87,104,0}}, +/* 58686 */ {(13<<2)|2,{87,104,0}}, +/* 58687 */ {(13<<2)|2,{87,104,0}}, +/* 58688 */ {(13<<2)|2,{87,108,0}}, +/* 58689 */ {(13<<2)|2,{87,108,0}}, +/* 58690 */ {(13<<2)|2,{87,108,0}}, +/* 58691 */ {(13<<2)|2,{87,108,0}}, +/* 58692 */ {(13<<2)|2,{87,108,0}}, +/* 58693 */ {(13<<2)|2,{87,108,0}}, +/* 58694 */ {(13<<2)|2,{87,108,0}}, +/* 58695 */ {(13<<2)|2,{87,108,0}}, +/* 58696 */ {(13<<2)|2,{87,109,0}}, +/* 58697 */ {(13<<2)|2,{87,109,0}}, +/* 58698 */ {(13<<2)|2,{87,109,0}}, +/* 58699 */ {(13<<2)|2,{87,109,0}}, +/* 58700 */ {(13<<2)|2,{87,109,0}}, +/* 58701 */ {(13<<2)|2,{87,109,0}}, +/* 58702 */ {(13<<2)|2,{87,109,0}}, +/* 58703 */ {(13<<2)|2,{87,109,0}}, +/* 58704 */ {(13<<2)|2,{87,110,0}}, +/* 58705 */ {(13<<2)|2,{87,110,0}}, +/* 58706 */ {(13<<2)|2,{87,110,0}}, +/* 58707 */ {(13<<2)|2,{87,110,0}}, +/* 58708 */ {(13<<2)|2,{87,110,0}}, +/* 58709 */ {(13<<2)|2,{87,110,0}}, +/* 58710 */ {(13<<2)|2,{87,110,0}}, +/* 58711 */ {(13<<2)|2,{87,110,0}}, +/* 58712 */ {(13<<2)|2,{87,112,0}}, +/* 58713 */ {(13<<2)|2,{87,112,0}}, +/* 58714 */ {(13<<2)|2,{87,112,0}}, +/* 58715 */ {(13<<2)|2,{87,112,0}}, +/* 58716 */ {(13<<2)|2,{87,112,0}}, +/* 58717 */ {(13<<2)|2,{87,112,0}}, +/* 58718 */ {(13<<2)|2,{87,112,0}}, +/* 58719 */ {(13<<2)|2,{87,112,0}}, +/* 58720 */ {(13<<2)|2,{87,114,0}}, +/* 58721 */ {(13<<2)|2,{87,114,0}}, +/* 58722 */ {(13<<2)|2,{87,114,0}}, +/* 58723 */ {(13<<2)|2,{87,114,0}}, +/* 58724 */ {(13<<2)|2,{87,114,0}}, +/* 58725 */ {(13<<2)|2,{87,114,0}}, +/* 58726 */ {(13<<2)|2,{87,114,0}}, +/* 58727 */ {(13<<2)|2,{87,114,0}}, +/* 58728 */ {(13<<2)|2,{87,117,0}}, +/* 58729 */ {(13<<2)|2,{87,117,0}}, +/* 58730 */ {(13<<2)|2,{87,117,0}}, +/* 58731 */ {(13<<2)|2,{87,117,0}}, +/* 58732 */ {(13<<2)|2,{87,117,0}}, +/* 58733 */ {(13<<2)|2,{87,117,0}}, +/* 58734 */ {(13<<2)|2,{87,117,0}}, +/* 58735 */ {(13<<2)|2,{87,117,0}}, +/* 58736 */ {(14<<2)|2,{87,58,0}}, +/* 58737 */ {(14<<2)|2,{87,58,0}}, +/* 58738 */ {(14<<2)|2,{87,58,0}}, +/* 58739 */ {(14<<2)|2,{87,58,0}}, +/* 58740 */ {(14<<2)|2,{87,66,0}}, +/* 58741 */ {(14<<2)|2,{87,66,0}}, +/* 58742 */ {(14<<2)|2,{87,66,0}}, +/* 58743 */ {(14<<2)|2,{87,66,0}}, +/* 58744 */ {(14<<2)|2,{87,67,0}}, +/* 58745 */ {(14<<2)|2,{87,67,0}}, +/* 58746 */ {(14<<2)|2,{87,67,0}}, +/* 58747 */ {(14<<2)|2,{87,67,0}}, +/* 58748 */ {(14<<2)|2,{87,68,0}}, +/* 58749 */ {(14<<2)|2,{87,68,0}}, +/* 58750 */ {(14<<2)|2,{87,68,0}}, +/* 58751 */ {(14<<2)|2,{87,68,0}}, +/* 58752 */ {(14<<2)|2,{87,69,0}}, +/* 58753 */ {(14<<2)|2,{87,69,0}}, +/* 58754 */ {(14<<2)|2,{87,69,0}}, +/* 58755 */ {(14<<2)|2,{87,69,0}}, +/* 58756 */ {(14<<2)|2,{87,70,0}}, +/* 58757 */ {(14<<2)|2,{87,70,0}}, +/* 58758 */ {(14<<2)|2,{87,70,0}}, +/* 58759 */ {(14<<2)|2,{87,70,0}}, +/* 58760 */ {(14<<2)|2,{87,71,0}}, +/* 58761 */ {(14<<2)|2,{87,71,0}}, +/* 58762 */ {(14<<2)|2,{87,71,0}}, +/* 58763 */ {(14<<2)|2,{87,71,0}}, +/* 58764 */ {(14<<2)|2,{87,72,0}}, +/* 58765 */ {(14<<2)|2,{87,72,0}}, +/* 58766 */ {(14<<2)|2,{87,72,0}}, +/* 58767 */ {(14<<2)|2,{87,72,0}}, +/* 58768 */ {(14<<2)|2,{87,73,0}}, +/* 58769 */ {(14<<2)|2,{87,73,0}}, +/* 58770 */ {(14<<2)|2,{87,73,0}}, +/* 58771 */ {(14<<2)|2,{87,73,0}}, +/* 58772 */ {(14<<2)|2,{87,74,0}}, +/* 58773 */ {(14<<2)|2,{87,74,0}}, +/* 58774 */ {(14<<2)|2,{87,74,0}}, +/* 58775 */ {(14<<2)|2,{87,74,0}}, +/* 58776 */ {(14<<2)|2,{87,75,0}}, +/* 58777 */ {(14<<2)|2,{87,75,0}}, +/* 58778 */ {(14<<2)|2,{87,75,0}}, +/* 58779 */ {(14<<2)|2,{87,75,0}}, +/* 58780 */ {(14<<2)|2,{87,76,0}}, +/* 58781 */ {(14<<2)|2,{87,76,0}}, +/* 58782 */ {(14<<2)|2,{87,76,0}}, +/* 58783 */ {(14<<2)|2,{87,76,0}}, +/* 58784 */ {(14<<2)|2,{87,77,0}}, +/* 58785 */ {(14<<2)|2,{87,77,0}}, +/* 58786 */ {(14<<2)|2,{87,77,0}}, +/* 58787 */ {(14<<2)|2,{87,77,0}}, +/* 58788 */ {(14<<2)|2,{87,78,0}}, +/* 58789 */ {(14<<2)|2,{87,78,0}}, +/* 58790 */ {(14<<2)|2,{87,78,0}}, +/* 58791 */ {(14<<2)|2,{87,78,0}}, +/* 58792 */ {(14<<2)|2,{87,79,0}}, +/* 58793 */ {(14<<2)|2,{87,79,0}}, +/* 58794 */ {(14<<2)|2,{87,79,0}}, +/* 58795 */ {(14<<2)|2,{87,79,0}}, +/* 58796 */ {(14<<2)|2,{87,80,0}}, +/* 58797 */ {(14<<2)|2,{87,80,0}}, +/* 58798 */ {(14<<2)|2,{87,80,0}}, +/* 58799 */ {(14<<2)|2,{87,80,0}}, +/* 58800 */ {(14<<2)|2,{87,81,0}}, +/* 58801 */ {(14<<2)|2,{87,81,0}}, +/* 58802 */ {(14<<2)|2,{87,81,0}}, +/* 58803 */ {(14<<2)|2,{87,81,0}}, +/* 58804 */ {(14<<2)|2,{87,82,0}}, +/* 58805 */ {(14<<2)|2,{87,82,0}}, +/* 58806 */ {(14<<2)|2,{87,82,0}}, +/* 58807 */ {(14<<2)|2,{87,82,0}}, +/* 58808 */ {(14<<2)|2,{87,83,0}}, +/* 58809 */ {(14<<2)|2,{87,83,0}}, +/* 58810 */ {(14<<2)|2,{87,83,0}}, +/* 58811 */ {(14<<2)|2,{87,83,0}}, +/* 58812 */ {(14<<2)|2,{87,84,0}}, +/* 58813 */ {(14<<2)|2,{87,84,0}}, +/* 58814 */ {(14<<2)|2,{87,84,0}}, +/* 58815 */ {(14<<2)|2,{87,84,0}}, +/* 58816 */ {(14<<2)|2,{87,85,0}}, +/* 58817 */ {(14<<2)|2,{87,85,0}}, +/* 58818 */ {(14<<2)|2,{87,85,0}}, +/* 58819 */ {(14<<2)|2,{87,85,0}}, +/* 58820 */ {(14<<2)|2,{87,86,0}}, +/* 58821 */ {(14<<2)|2,{87,86,0}}, +/* 58822 */ {(14<<2)|2,{87,86,0}}, +/* 58823 */ {(14<<2)|2,{87,86,0}}, +/* 58824 */ {(14<<2)|2,{87,87,0}}, +/* 58825 */ {(14<<2)|2,{87,87,0}}, +/* 58826 */ {(14<<2)|2,{87,87,0}}, +/* 58827 */ {(14<<2)|2,{87,87,0}}, +/* 58828 */ {(14<<2)|2,{87,89,0}}, +/* 58829 */ {(14<<2)|2,{87,89,0}}, +/* 58830 */ {(14<<2)|2,{87,89,0}}, +/* 58831 */ {(14<<2)|2,{87,89,0}}, +/* 58832 */ {(14<<2)|2,{87,106,0}}, +/* 58833 */ {(14<<2)|2,{87,106,0}}, +/* 58834 */ {(14<<2)|2,{87,106,0}}, +/* 58835 */ {(14<<2)|2,{87,106,0}}, +/* 58836 */ {(14<<2)|2,{87,107,0}}, +/* 58837 */ {(14<<2)|2,{87,107,0}}, +/* 58838 */ {(14<<2)|2,{87,107,0}}, +/* 58839 */ {(14<<2)|2,{87,107,0}}, +/* 58840 */ {(14<<2)|2,{87,113,0}}, +/* 58841 */ {(14<<2)|2,{87,113,0}}, +/* 58842 */ {(14<<2)|2,{87,113,0}}, +/* 58843 */ {(14<<2)|2,{87,113,0}}, +/* 58844 */ {(14<<2)|2,{87,118,0}}, +/* 58845 */ {(14<<2)|2,{87,118,0}}, +/* 58846 */ {(14<<2)|2,{87,118,0}}, +/* 58847 */ {(14<<2)|2,{87,118,0}}, +/* 58848 */ {(14<<2)|2,{87,119,0}}, +/* 58849 */ {(14<<2)|2,{87,119,0}}, +/* 58850 */ {(14<<2)|2,{87,119,0}}, +/* 58851 */ {(14<<2)|2,{87,119,0}}, +/* 58852 */ {(14<<2)|2,{87,120,0}}, +/* 58853 */ {(14<<2)|2,{87,120,0}}, +/* 58854 */ {(14<<2)|2,{87,120,0}}, +/* 58855 */ {(14<<2)|2,{87,120,0}}, +/* 58856 */ {(14<<2)|2,{87,121,0}}, +/* 58857 */ {(14<<2)|2,{87,121,0}}, +/* 58858 */ {(14<<2)|2,{87,121,0}}, +/* 58859 */ {(14<<2)|2,{87,121,0}}, +/* 58860 */ {(14<<2)|2,{87,122,0}}, +/* 58861 */ {(14<<2)|2,{87,122,0}}, +/* 58862 */ {(14<<2)|2,{87,122,0}}, +/* 58863 */ {(14<<2)|2,{87,122,0}}, +/* 58864 */ {(15<<2)|2,{87,38,0}}, +/* 58865 */ {(15<<2)|2,{87,38,0}}, +/* 58866 */ {(15<<2)|2,{87,42,0}}, +/* 58867 */ {(15<<2)|2,{87,42,0}}, +/* 58868 */ {(15<<2)|2,{87,44,0}}, +/* 58869 */ {(15<<2)|2,{87,44,0}}, +/* 58870 */ {(15<<2)|2,{87,59,0}}, +/* 58871 */ {(15<<2)|2,{87,59,0}}, +/* 58872 */ {(15<<2)|2,{87,88,0}}, +/* 58873 */ {(15<<2)|2,{87,88,0}}, +/* 58874 */ {(15<<2)|2,{87,90,0}}, +/* 58875 */ {(15<<2)|2,{87,90,0}}, +/* 58876 */ {(7<<2)|1,{87,0,0}}, +/* 58877 */ {(7<<2)|1,{87,0,0}}, +/* 58878 */ {(7<<2)|1,{87,0,0}}, +/* 58879 */ {(7<<2)|1,{87,0,0}}, +/* 58880 */ {(12<<2)|2,{89,48,0}}, +/* 58881 */ {(12<<2)|2,{89,48,0}}, +/* 58882 */ {(12<<2)|2,{89,48,0}}, +/* 58883 */ {(12<<2)|2,{89,48,0}}, +/* 58884 */ {(12<<2)|2,{89,48,0}}, +/* 58885 */ {(12<<2)|2,{89,48,0}}, +/* 58886 */ {(12<<2)|2,{89,48,0}}, +/* 58887 */ {(12<<2)|2,{89,48,0}}, +/* 58888 */ {(12<<2)|2,{89,48,0}}, +/* 58889 */ {(12<<2)|2,{89,48,0}}, +/* 58890 */ {(12<<2)|2,{89,48,0}}, +/* 58891 */ {(12<<2)|2,{89,48,0}}, +/* 58892 */ {(12<<2)|2,{89,48,0}}, +/* 58893 */ {(12<<2)|2,{89,48,0}}, +/* 58894 */ {(12<<2)|2,{89,48,0}}, +/* 58895 */ {(12<<2)|2,{89,48,0}}, +/* 58896 */ {(12<<2)|2,{89,49,0}}, +/* 58897 */ {(12<<2)|2,{89,49,0}}, +/* 58898 */ {(12<<2)|2,{89,49,0}}, +/* 58899 */ {(12<<2)|2,{89,49,0}}, +/* 58900 */ {(12<<2)|2,{89,49,0}}, +/* 58901 */ {(12<<2)|2,{89,49,0}}, +/* 58902 */ {(12<<2)|2,{89,49,0}}, +/* 58903 */ {(12<<2)|2,{89,49,0}}, +/* 58904 */ {(12<<2)|2,{89,49,0}}, +/* 58905 */ {(12<<2)|2,{89,49,0}}, +/* 58906 */ {(12<<2)|2,{89,49,0}}, +/* 58907 */ {(12<<2)|2,{89,49,0}}, +/* 58908 */ {(12<<2)|2,{89,49,0}}, +/* 58909 */ {(12<<2)|2,{89,49,0}}, +/* 58910 */ {(12<<2)|2,{89,49,0}}, +/* 58911 */ {(12<<2)|2,{89,49,0}}, +/* 58912 */ {(12<<2)|2,{89,50,0}}, +/* 58913 */ {(12<<2)|2,{89,50,0}}, +/* 58914 */ {(12<<2)|2,{89,50,0}}, +/* 58915 */ {(12<<2)|2,{89,50,0}}, +/* 58916 */ {(12<<2)|2,{89,50,0}}, +/* 58917 */ {(12<<2)|2,{89,50,0}}, +/* 58918 */ {(12<<2)|2,{89,50,0}}, +/* 58919 */ {(12<<2)|2,{89,50,0}}, +/* 58920 */ {(12<<2)|2,{89,50,0}}, +/* 58921 */ {(12<<2)|2,{89,50,0}}, +/* 58922 */ {(12<<2)|2,{89,50,0}}, +/* 58923 */ {(12<<2)|2,{89,50,0}}, +/* 58924 */ {(12<<2)|2,{89,50,0}}, +/* 58925 */ {(12<<2)|2,{89,50,0}}, +/* 58926 */ {(12<<2)|2,{89,50,0}}, +/* 58927 */ {(12<<2)|2,{89,50,0}}, +/* 58928 */ {(12<<2)|2,{89,97,0}}, +/* 58929 */ {(12<<2)|2,{89,97,0}}, +/* 58930 */ {(12<<2)|2,{89,97,0}}, +/* 58931 */ {(12<<2)|2,{89,97,0}}, +/* 58932 */ {(12<<2)|2,{89,97,0}}, +/* 58933 */ {(12<<2)|2,{89,97,0}}, +/* 58934 */ {(12<<2)|2,{89,97,0}}, +/* 58935 */ {(12<<2)|2,{89,97,0}}, +/* 58936 */ {(12<<2)|2,{89,97,0}}, +/* 58937 */ {(12<<2)|2,{89,97,0}}, +/* 58938 */ {(12<<2)|2,{89,97,0}}, +/* 58939 */ {(12<<2)|2,{89,97,0}}, +/* 58940 */ {(12<<2)|2,{89,97,0}}, +/* 58941 */ {(12<<2)|2,{89,97,0}}, +/* 58942 */ {(12<<2)|2,{89,97,0}}, +/* 58943 */ {(12<<2)|2,{89,97,0}}, +/* 58944 */ {(12<<2)|2,{89,99,0}}, +/* 58945 */ {(12<<2)|2,{89,99,0}}, +/* 58946 */ {(12<<2)|2,{89,99,0}}, +/* 58947 */ {(12<<2)|2,{89,99,0}}, +/* 58948 */ {(12<<2)|2,{89,99,0}}, +/* 58949 */ {(12<<2)|2,{89,99,0}}, +/* 58950 */ {(12<<2)|2,{89,99,0}}, +/* 58951 */ {(12<<2)|2,{89,99,0}}, +/* 58952 */ {(12<<2)|2,{89,99,0}}, +/* 58953 */ {(12<<2)|2,{89,99,0}}, +/* 58954 */ {(12<<2)|2,{89,99,0}}, +/* 58955 */ {(12<<2)|2,{89,99,0}}, +/* 58956 */ {(12<<2)|2,{89,99,0}}, +/* 58957 */ {(12<<2)|2,{89,99,0}}, +/* 58958 */ {(12<<2)|2,{89,99,0}}, +/* 58959 */ {(12<<2)|2,{89,99,0}}, +/* 58960 */ {(12<<2)|2,{89,101,0}}, +/* 58961 */ {(12<<2)|2,{89,101,0}}, +/* 58962 */ {(12<<2)|2,{89,101,0}}, +/* 58963 */ {(12<<2)|2,{89,101,0}}, +/* 58964 */ {(12<<2)|2,{89,101,0}}, +/* 58965 */ {(12<<2)|2,{89,101,0}}, +/* 58966 */ {(12<<2)|2,{89,101,0}}, +/* 58967 */ {(12<<2)|2,{89,101,0}}, +/* 58968 */ {(12<<2)|2,{89,101,0}}, +/* 58969 */ {(12<<2)|2,{89,101,0}}, +/* 58970 */ {(12<<2)|2,{89,101,0}}, +/* 58971 */ {(12<<2)|2,{89,101,0}}, +/* 58972 */ {(12<<2)|2,{89,101,0}}, +/* 58973 */ {(12<<2)|2,{89,101,0}}, +/* 58974 */ {(12<<2)|2,{89,101,0}}, +/* 58975 */ {(12<<2)|2,{89,101,0}}, +/* 58976 */ {(12<<2)|2,{89,105,0}}, +/* 58977 */ {(12<<2)|2,{89,105,0}}, +/* 58978 */ {(12<<2)|2,{89,105,0}}, +/* 58979 */ {(12<<2)|2,{89,105,0}}, +/* 58980 */ {(12<<2)|2,{89,105,0}}, +/* 58981 */ {(12<<2)|2,{89,105,0}}, +/* 58982 */ {(12<<2)|2,{89,105,0}}, +/* 58983 */ {(12<<2)|2,{89,105,0}}, +/* 58984 */ {(12<<2)|2,{89,105,0}}, +/* 58985 */ {(12<<2)|2,{89,105,0}}, +/* 58986 */ {(12<<2)|2,{89,105,0}}, +/* 58987 */ {(12<<2)|2,{89,105,0}}, +/* 58988 */ {(12<<2)|2,{89,105,0}}, +/* 58989 */ {(12<<2)|2,{89,105,0}}, +/* 58990 */ {(12<<2)|2,{89,105,0}}, +/* 58991 */ {(12<<2)|2,{89,105,0}}, +/* 58992 */ {(12<<2)|2,{89,111,0}}, +/* 58993 */ {(12<<2)|2,{89,111,0}}, +/* 58994 */ {(12<<2)|2,{89,111,0}}, +/* 58995 */ {(12<<2)|2,{89,111,0}}, +/* 58996 */ {(12<<2)|2,{89,111,0}}, +/* 58997 */ {(12<<2)|2,{89,111,0}}, +/* 58998 */ {(12<<2)|2,{89,111,0}}, +/* 58999 */ {(12<<2)|2,{89,111,0}}, +/* 59000 */ {(12<<2)|2,{89,111,0}}, +/* 59001 */ {(12<<2)|2,{89,111,0}}, +/* 59002 */ {(12<<2)|2,{89,111,0}}, +/* 59003 */ {(12<<2)|2,{89,111,0}}, +/* 59004 */ {(12<<2)|2,{89,111,0}}, +/* 59005 */ {(12<<2)|2,{89,111,0}}, +/* 59006 */ {(12<<2)|2,{89,111,0}}, +/* 59007 */ {(12<<2)|2,{89,111,0}}, +/* 59008 */ {(12<<2)|2,{89,115,0}}, +/* 59009 */ {(12<<2)|2,{89,115,0}}, +/* 59010 */ {(12<<2)|2,{89,115,0}}, +/* 59011 */ {(12<<2)|2,{89,115,0}}, +/* 59012 */ {(12<<2)|2,{89,115,0}}, +/* 59013 */ {(12<<2)|2,{89,115,0}}, +/* 59014 */ {(12<<2)|2,{89,115,0}}, +/* 59015 */ {(12<<2)|2,{89,115,0}}, +/* 59016 */ {(12<<2)|2,{89,115,0}}, +/* 59017 */ {(12<<2)|2,{89,115,0}}, +/* 59018 */ {(12<<2)|2,{89,115,0}}, +/* 59019 */ {(12<<2)|2,{89,115,0}}, +/* 59020 */ {(12<<2)|2,{89,115,0}}, +/* 59021 */ {(12<<2)|2,{89,115,0}}, +/* 59022 */ {(12<<2)|2,{89,115,0}}, +/* 59023 */ {(12<<2)|2,{89,115,0}}, +/* 59024 */ {(12<<2)|2,{89,116,0}}, +/* 59025 */ {(12<<2)|2,{89,116,0}}, +/* 59026 */ {(12<<2)|2,{89,116,0}}, +/* 59027 */ {(12<<2)|2,{89,116,0}}, +/* 59028 */ {(12<<2)|2,{89,116,0}}, +/* 59029 */ {(12<<2)|2,{89,116,0}}, +/* 59030 */ {(12<<2)|2,{89,116,0}}, +/* 59031 */ {(12<<2)|2,{89,116,0}}, +/* 59032 */ {(12<<2)|2,{89,116,0}}, +/* 59033 */ {(12<<2)|2,{89,116,0}}, +/* 59034 */ {(12<<2)|2,{89,116,0}}, +/* 59035 */ {(12<<2)|2,{89,116,0}}, +/* 59036 */ {(12<<2)|2,{89,116,0}}, +/* 59037 */ {(12<<2)|2,{89,116,0}}, +/* 59038 */ {(12<<2)|2,{89,116,0}}, +/* 59039 */ {(12<<2)|2,{89,116,0}}, +/* 59040 */ {(13<<2)|2,{89,32,0}}, +/* 59041 */ {(13<<2)|2,{89,32,0}}, +/* 59042 */ {(13<<2)|2,{89,32,0}}, +/* 59043 */ {(13<<2)|2,{89,32,0}}, +/* 59044 */ {(13<<2)|2,{89,32,0}}, +/* 59045 */ {(13<<2)|2,{89,32,0}}, +/* 59046 */ {(13<<2)|2,{89,32,0}}, +/* 59047 */ {(13<<2)|2,{89,32,0}}, +/* 59048 */ {(13<<2)|2,{89,37,0}}, +/* 59049 */ {(13<<2)|2,{89,37,0}}, +/* 59050 */ {(13<<2)|2,{89,37,0}}, +/* 59051 */ {(13<<2)|2,{89,37,0}}, +/* 59052 */ {(13<<2)|2,{89,37,0}}, +/* 59053 */ {(13<<2)|2,{89,37,0}}, +/* 59054 */ {(13<<2)|2,{89,37,0}}, +/* 59055 */ {(13<<2)|2,{89,37,0}}, +/* 59056 */ {(13<<2)|2,{89,45,0}}, +/* 59057 */ {(13<<2)|2,{89,45,0}}, +/* 59058 */ {(13<<2)|2,{89,45,0}}, +/* 59059 */ {(13<<2)|2,{89,45,0}}, +/* 59060 */ {(13<<2)|2,{89,45,0}}, +/* 59061 */ {(13<<2)|2,{89,45,0}}, +/* 59062 */ {(13<<2)|2,{89,45,0}}, +/* 59063 */ {(13<<2)|2,{89,45,0}}, +/* 59064 */ {(13<<2)|2,{89,46,0}}, +/* 59065 */ {(13<<2)|2,{89,46,0}}, +/* 59066 */ {(13<<2)|2,{89,46,0}}, +/* 59067 */ {(13<<2)|2,{89,46,0}}, +/* 59068 */ {(13<<2)|2,{89,46,0}}, +/* 59069 */ {(13<<2)|2,{89,46,0}}, +/* 59070 */ {(13<<2)|2,{89,46,0}}, +/* 59071 */ {(13<<2)|2,{89,46,0}}, +/* 59072 */ {(13<<2)|2,{89,47,0}}, +/* 59073 */ {(13<<2)|2,{89,47,0}}, +/* 59074 */ {(13<<2)|2,{89,47,0}}, +/* 59075 */ {(13<<2)|2,{89,47,0}}, +/* 59076 */ {(13<<2)|2,{89,47,0}}, +/* 59077 */ {(13<<2)|2,{89,47,0}}, +/* 59078 */ {(13<<2)|2,{89,47,0}}, +/* 59079 */ {(13<<2)|2,{89,47,0}}, +/* 59080 */ {(13<<2)|2,{89,51,0}}, +/* 59081 */ {(13<<2)|2,{89,51,0}}, +/* 59082 */ {(13<<2)|2,{89,51,0}}, +/* 59083 */ {(13<<2)|2,{89,51,0}}, +/* 59084 */ {(13<<2)|2,{89,51,0}}, +/* 59085 */ {(13<<2)|2,{89,51,0}}, +/* 59086 */ {(13<<2)|2,{89,51,0}}, +/* 59087 */ {(13<<2)|2,{89,51,0}}, +/* 59088 */ {(13<<2)|2,{89,52,0}}, +/* 59089 */ {(13<<2)|2,{89,52,0}}, +/* 59090 */ {(13<<2)|2,{89,52,0}}, +/* 59091 */ {(13<<2)|2,{89,52,0}}, +/* 59092 */ {(13<<2)|2,{89,52,0}}, +/* 59093 */ {(13<<2)|2,{89,52,0}}, +/* 59094 */ {(13<<2)|2,{89,52,0}}, +/* 59095 */ {(13<<2)|2,{89,52,0}}, +/* 59096 */ {(13<<2)|2,{89,53,0}}, +/* 59097 */ {(13<<2)|2,{89,53,0}}, +/* 59098 */ {(13<<2)|2,{89,53,0}}, +/* 59099 */ {(13<<2)|2,{89,53,0}}, +/* 59100 */ {(13<<2)|2,{89,53,0}}, +/* 59101 */ {(13<<2)|2,{89,53,0}}, +/* 59102 */ {(13<<2)|2,{89,53,0}}, +/* 59103 */ {(13<<2)|2,{89,53,0}}, +/* 59104 */ {(13<<2)|2,{89,54,0}}, +/* 59105 */ {(13<<2)|2,{89,54,0}}, +/* 59106 */ {(13<<2)|2,{89,54,0}}, +/* 59107 */ {(13<<2)|2,{89,54,0}}, +/* 59108 */ {(13<<2)|2,{89,54,0}}, +/* 59109 */ {(13<<2)|2,{89,54,0}}, +/* 59110 */ {(13<<2)|2,{89,54,0}}, +/* 59111 */ {(13<<2)|2,{89,54,0}}, +/* 59112 */ {(13<<2)|2,{89,55,0}}, +/* 59113 */ {(13<<2)|2,{89,55,0}}, +/* 59114 */ {(13<<2)|2,{89,55,0}}, +/* 59115 */ {(13<<2)|2,{89,55,0}}, +/* 59116 */ {(13<<2)|2,{89,55,0}}, +/* 59117 */ {(13<<2)|2,{89,55,0}}, +/* 59118 */ {(13<<2)|2,{89,55,0}}, +/* 59119 */ {(13<<2)|2,{89,55,0}}, +/* 59120 */ {(13<<2)|2,{89,56,0}}, +/* 59121 */ {(13<<2)|2,{89,56,0}}, +/* 59122 */ {(13<<2)|2,{89,56,0}}, +/* 59123 */ {(13<<2)|2,{89,56,0}}, +/* 59124 */ {(13<<2)|2,{89,56,0}}, +/* 59125 */ {(13<<2)|2,{89,56,0}}, +/* 59126 */ {(13<<2)|2,{89,56,0}}, +/* 59127 */ {(13<<2)|2,{89,56,0}}, +/* 59128 */ {(13<<2)|2,{89,57,0}}, +/* 59129 */ {(13<<2)|2,{89,57,0}}, +/* 59130 */ {(13<<2)|2,{89,57,0}}, +/* 59131 */ {(13<<2)|2,{89,57,0}}, +/* 59132 */ {(13<<2)|2,{89,57,0}}, +/* 59133 */ {(13<<2)|2,{89,57,0}}, +/* 59134 */ {(13<<2)|2,{89,57,0}}, +/* 59135 */ {(13<<2)|2,{89,57,0}}, +/* 59136 */ {(13<<2)|2,{89,61,0}}, +/* 59137 */ {(13<<2)|2,{89,61,0}}, +/* 59138 */ {(13<<2)|2,{89,61,0}}, +/* 59139 */ {(13<<2)|2,{89,61,0}}, +/* 59140 */ {(13<<2)|2,{89,61,0}}, +/* 59141 */ {(13<<2)|2,{89,61,0}}, +/* 59142 */ {(13<<2)|2,{89,61,0}}, +/* 59143 */ {(13<<2)|2,{89,61,0}}, +/* 59144 */ {(13<<2)|2,{89,65,0}}, +/* 59145 */ {(13<<2)|2,{89,65,0}}, +/* 59146 */ {(13<<2)|2,{89,65,0}}, +/* 59147 */ {(13<<2)|2,{89,65,0}}, +/* 59148 */ {(13<<2)|2,{89,65,0}}, +/* 59149 */ {(13<<2)|2,{89,65,0}}, +/* 59150 */ {(13<<2)|2,{89,65,0}}, +/* 59151 */ {(13<<2)|2,{89,65,0}}, +/* 59152 */ {(13<<2)|2,{89,95,0}}, +/* 59153 */ {(13<<2)|2,{89,95,0}}, +/* 59154 */ {(13<<2)|2,{89,95,0}}, +/* 59155 */ {(13<<2)|2,{89,95,0}}, +/* 59156 */ {(13<<2)|2,{89,95,0}}, +/* 59157 */ {(13<<2)|2,{89,95,0}}, +/* 59158 */ {(13<<2)|2,{89,95,0}}, +/* 59159 */ {(13<<2)|2,{89,95,0}}, +/* 59160 */ {(13<<2)|2,{89,98,0}}, +/* 59161 */ {(13<<2)|2,{89,98,0}}, +/* 59162 */ {(13<<2)|2,{89,98,0}}, +/* 59163 */ {(13<<2)|2,{89,98,0}}, +/* 59164 */ {(13<<2)|2,{89,98,0}}, +/* 59165 */ {(13<<2)|2,{89,98,0}}, +/* 59166 */ {(13<<2)|2,{89,98,0}}, +/* 59167 */ {(13<<2)|2,{89,98,0}}, +/* 59168 */ {(13<<2)|2,{89,100,0}}, +/* 59169 */ {(13<<2)|2,{89,100,0}}, +/* 59170 */ {(13<<2)|2,{89,100,0}}, +/* 59171 */ {(13<<2)|2,{89,100,0}}, +/* 59172 */ {(13<<2)|2,{89,100,0}}, +/* 59173 */ {(13<<2)|2,{89,100,0}}, +/* 59174 */ {(13<<2)|2,{89,100,0}}, +/* 59175 */ {(13<<2)|2,{89,100,0}}, +/* 59176 */ {(13<<2)|2,{89,102,0}}, +/* 59177 */ {(13<<2)|2,{89,102,0}}, +/* 59178 */ {(13<<2)|2,{89,102,0}}, +/* 59179 */ {(13<<2)|2,{89,102,0}}, +/* 59180 */ {(13<<2)|2,{89,102,0}}, +/* 59181 */ {(13<<2)|2,{89,102,0}}, +/* 59182 */ {(13<<2)|2,{89,102,0}}, +/* 59183 */ {(13<<2)|2,{89,102,0}}, +/* 59184 */ {(13<<2)|2,{89,103,0}}, +/* 59185 */ {(13<<2)|2,{89,103,0}}, +/* 59186 */ {(13<<2)|2,{89,103,0}}, +/* 59187 */ {(13<<2)|2,{89,103,0}}, +/* 59188 */ {(13<<2)|2,{89,103,0}}, +/* 59189 */ {(13<<2)|2,{89,103,0}}, +/* 59190 */ {(13<<2)|2,{89,103,0}}, +/* 59191 */ {(13<<2)|2,{89,103,0}}, +/* 59192 */ {(13<<2)|2,{89,104,0}}, +/* 59193 */ {(13<<2)|2,{89,104,0}}, +/* 59194 */ {(13<<2)|2,{89,104,0}}, +/* 59195 */ {(13<<2)|2,{89,104,0}}, +/* 59196 */ {(13<<2)|2,{89,104,0}}, +/* 59197 */ {(13<<2)|2,{89,104,0}}, +/* 59198 */ {(13<<2)|2,{89,104,0}}, +/* 59199 */ {(13<<2)|2,{89,104,0}}, +/* 59200 */ {(13<<2)|2,{89,108,0}}, +/* 59201 */ {(13<<2)|2,{89,108,0}}, +/* 59202 */ {(13<<2)|2,{89,108,0}}, +/* 59203 */ {(13<<2)|2,{89,108,0}}, +/* 59204 */ {(13<<2)|2,{89,108,0}}, +/* 59205 */ {(13<<2)|2,{89,108,0}}, +/* 59206 */ {(13<<2)|2,{89,108,0}}, +/* 59207 */ {(13<<2)|2,{89,108,0}}, +/* 59208 */ {(13<<2)|2,{89,109,0}}, +/* 59209 */ {(13<<2)|2,{89,109,0}}, +/* 59210 */ {(13<<2)|2,{89,109,0}}, +/* 59211 */ {(13<<2)|2,{89,109,0}}, +/* 59212 */ {(13<<2)|2,{89,109,0}}, +/* 59213 */ {(13<<2)|2,{89,109,0}}, +/* 59214 */ {(13<<2)|2,{89,109,0}}, +/* 59215 */ {(13<<2)|2,{89,109,0}}, +/* 59216 */ {(13<<2)|2,{89,110,0}}, +/* 59217 */ {(13<<2)|2,{89,110,0}}, +/* 59218 */ {(13<<2)|2,{89,110,0}}, +/* 59219 */ {(13<<2)|2,{89,110,0}}, +/* 59220 */ {(13<<2)|2,{89,110,0}}, +/* 59221 */ {(13<<2)|2,{89,110,0}}, +/* 59222 */ {(13<<2)|2,{89,110,0}}, +/* 59223 */ {(13<<2)|2,{89,110,0}}, +/* 59224 */ {(13<<2)|2,{89,112,0}}, +/* 59225 */ {(13<<2)|2,{89,112,0}}, +/* 59226 */ {(13<<2)|2,{89,112,0}}, +/* 59227 */ {(13<<2)|2,{89,112,0}}, +/* 59228 */ {(13<<2)|2,{89,112,0}}, +/* 59229 */ {(13<<2)|2,{89,112,0}}, +/* 59230 */ {(13<<2)|2,{89,112,0}}, +/* 59231 */ {(13<<2)|2,{89,112,0}}, +/* 59232 */ {(13<<2)|2,{89,114,0}}, +/* 59233 */ {(13<<2)|2,{89,114,0}}, +/* 59234 */ {(13<<2)|2,{89,114,0}}, +/* 59235 */ {(13<<2)|2,{89,114,0}}, +/* 59236 */ {(13<<2)|2,{89,114,0}}, +/* 59237 */ {(13<<2)|2,{89,114,0}}, +/* 59238 */ {(13<<2)|2,{89,114,0}}, +/* 59239 */ {(13<<2)|2,{89,114,0}}, +/* 59240 */ {(13<<2)|2,{89,117,0}}, +/* 59241 */ {(13<<2)|2,{89,117,0}}, +/* 59242 */ {(13<<2)|2,{89,117,0}}, +/* 59243 */ {(13<<2)|2,{89,117,0}}, +/* 59244 */ {(13<<2)|2,{89,117,0}}, +/* 59245 */ {(13<<2)|2,{89,117,0}}, +/* 59246 */ {(13<<2)|2,{89,117,0}}, +/* 59247 */ {(13<<2)|2,{89,117,0}}, +/* 59248 */ {(14<<2)|2,{89,58,0}}, +/* 59249 */ {(14<<2)|2,{89,58,0}}, +/* 59250 */ {(14<<2)|2,{89,58,0}}, +/* 59251 */ {(14<<2)|2,{89,58,0}}, +/* 59252 */ {(14<<2)|2,{89,66,0}}, +/* 59253 */ {(14<<2)|2,{89,66,0}}, +/* 59254 */ {(14<<2)|2,{89,66,0}}, +/* 59255 */ {(14<<2)|2,{89,66,0}}, +/* 59256 */ {(14<<2)|2,{89,67,0}}, +/* 59257 */ {(14<<2)|2,{89,67,0}}, +/* 59258 */ {(14<<2)|2,{89,67,0}}, +/* 59259 */ {(14<<2)|2,{89,67,0}}, +/* 59260 */ {(14<<2)|2,{89,68,0}}, +/* 59261 */ {(14<<2)|2,{89,68,0}}, +/* 59262 */ {(14<<2)|2,{89,68,0}}, +/* 59263 */ {(14<<2)|2,{89,68,0}}, +/* 59264 */ {(14<<2)|2,{89,69,0}}, +/* 59265 */ {(14<<2)|2,{89,69,0}}, +/* 59266 */ {(14<<2)|2,{89,69,0}}, +/* 59267 */ {(14<<2)|2,{89,69,0}}, +/* 59268 */ {(14<<2)|2,{89,70,0}}, +/* 59269 */ {(14<<2)|2,{89,70,0}}, +/* 59270 */ {(14<<2)|2,{89,70,0}}, +/* 59271 */ {(14<<2)|2,{89,70,0}}, +/* 59272 */ {(14<<2)|2,{89,71,0}}, +/* 59273 */ {(14<<2)|2,{89,71,0}}, +/* 59274 */ {(14<<2)|2,{89,71,0}}, +/* 59275 */ {(14<<2)|2,{89,71,0}}, +/* 59276 */ {(14<<2)|2,{89,72,0}}, +/* 59277 */ {(14<<2)|2,{89,72,0}}, +/* 59278 */ {(14<<2)|2,{89,72,0}}, +/* 59279 */ {(14<<2)|2,{89,72,0}}, +/* 59280 */ {(14<<2)|2,{89,73,0}}, +/* 59281 */ {(14<<2)|2,{89,73,0}}, +/* 59282 */ {(14<<2)|2,{89,73,0}}, +/* 59283 */ {(14<<2)|2,{89,73,0}}, +/* 59284 */ {(14<<2)|2,{89,74,0}}, +/* 59285 */ {(14<<2)|2,{89,74,0}}, +/* 59286 */ {(14<<2)|2,{89,74,0}}, +/* 59287 */ {(14<<2)|2,{89,74,0}}, +/* 59288 */ {(14<<2)|2,{89,75,0}}, +/* 59289 */ {(14<<2)|2,{89,75,0}}, +/* 59290 */ {(14<<2)|2,{89,75,0}}, +/* 59291 */ {(14<<2)|2,{89,75,0}}, +/* 59292 */ {(14<<2)|2,{89,76,0}}, +/* 59293 */ {(14<<2)|2,{89,76,0}}, +/* 59294 */ {(14<<2)|2,{89,76,0}}, +/* 59295 */ {(14<<2)|2,{89,76,0}}, +/* 59296 */ {(14<<2)|2,{89,77,0}}, +/* 59297 */ {(14<<2)|2,{89,77,0}}, +/* 59298 */ {(14<<2)|2,{89,77,0}}, +/* 59299 */ {(14<<2)|2,{89,77,0}}, +/* 59300 */ {(14<<2)|2,{89,78,0}}, +/* 59301 */ {(14<<2)|2,{89,78,0}}, +/* 59302 */ {(14<<2)|2,{89,78,0}}, +/* 59303 */ {(14<<2)|2,{89,78,0}}, +/* 59304 */ {(14<<2)|2,{89,79,0}}, +/* 59305 */ {(14<<2)|2,{89,79,0}}, +/* 59306 */ {(14<<2)|2,{89,79,0}}, +/* 59307 */ {(14<<2)|2,{89,79,0}}, +/* 59308 */ {(14<<2)|2,{89,80,0}}, +/* 59309 */ {(14<<2)|2,{89,80,0}}, +/* 59310 */ {(14<<2)|2,{89,80,0}}, +/* 59311 */ {(14<<2)|2,{89,80,0}}, +/* 59312 */ {(14<<2)|2,{89,81,0}}, +/* 59313 */ {(14<<2)|2,{89,81,0}}, +/* 59314 */ {(14<<2)|2,{89,81,0}}, +/* 59315 */ {(14<<2)|2,{89,81,0}}, +/* 59316 */ {(14<<2)|2,{89,82,0}}, +/* 59317 */ {(14<<2)|2,{89,82,0}}, +/* 59318 */ {(14<<2)|2,{89,82,0}}, +/* 59319 */ {(14<<2)|2,{89,82,0}}, +/* 59320 */ {(14<<2)|2,{89,83,0}}, +/* 59321 */ {(14<<2)|2,{89,83,0}}, +/* 59322 */ {(14<<2)|2,{89,83,0}}, +/* 59323 */ {(14<<2)|2,{89,83,0}}, +/* 59324 */ {(14<<2)|2,{89,84,0}}, +/* 59325 */ {(14<<2)|2,{89,84,0}}, +/* 59326 */ {(14<<2)|2,{89,84,0}}, +/* 59327 */ {(14<<2)|2,{89,84,0}}, +/* 59328 */ {(14<<2)|2,{89,85,0}}, +/* 59329 */ {(14<<2)|2,{89,85,0}}, +/* 59330 */ {(14<<2)|2,{89,85,0}}, +/* 59331 */ {(14<<2)|2,{89,85,0}}, +/* 59332 */ {(14<<2)|2,{89,86,0}}, +/* 59333 */ {(14<<2)|2,{89,86,0}}, +/* 59334 */ {(14<<2)|2,{89,86,0}}, +/* 59335 */ {(14<<2)|2,{89,86,0}}, +/* 59336 */ {(14<<2)|2,{89,87,0}}, +/* 59337 */ {(14<<2)|2,{89,87,0}}, +/* 59338 */ {(14<<2)|2,{89,87,0}}, +/* 59339 */ {(14<<2)|2,{89,87,0}}, +/* 59340 */ {(14<<2)|2,{89,89,0}}, +/* 59341 */ {(14<<2)|2,{89,89,0}}, +/* 59342 */ {(14<<2)|2,{89,89,0}}, +/* 59343 */ {(14<<2)|2,{89,89,0}}, +/* 59344 */ {(14<<2)|2,{89,106,0}}, +/* 59345 */ {(14<<2)|2,{89,106,0}}, +/* 59346 */ {(14<<2)|2,{89,106,0}}, +/* 59347 */ {(14<<2)|2,{89,106,0}}, +/* 59348 */ {(14<<2)|2,{89,107,0}}, +/* 59349 */ {(14<<2)|2,{89,107,0}}, +/* 59350 */ {(14<<2)|2,{89,107,0}}, +/* 59351 */ {(14<<2)|2,{89,107,0}}, +/* 59352 */ {(14<<2)|2,{89,113,0}}, +/* 59353 */ {(14<<2)|2,{89,113,0}}, +/* 59354 */ {(14<<2)|2,{89,113,0}}, +/* 59355 */ {(14<<2)|2,{89,113,0}}, +/* 59356 */ {(14<<2)|2,{89,118,0}}, +/* 59357 */ {(14<<2)|2,{89,118,0}}, +/* 59358 */ {(14<<2)|2,{89,118,0}}, +/* 59359 */ {(14<<2)|2,{89,118,0}}, +/* 59360 */ {(14<<2)|2,{89,119,0}}, +/* 59361 */ {(14<<2)|2,{89,119,0}}, +/* 59362 */ {(14<<2)|2,{89,119,0}}, +/* 59363 */ {(14<<2)|2,{89,119,0}}, +/* 59364 */ {(14<<2)|2,{89,120,0}}, +/* 59365 */ {(14<<2)|2,{89,120,0}}, +/* 59366 */ {(14<<2)|2,{89,120,0}}, +/* 59367 */ {(14<<2)|2,{89,120,0}}, +/* 59368 */ {(14<<2)|2,{89,121,0}}, +/* 59369 */ {(14<<2)|2,{89,121,0}}, +/* 59370 */ {(14<<2)|2,{89,121,0}}, +/* 59371 */ {(14<<2)|2,{89,121,0}}, +/* 59372 */ {(14<<2)|2,{89,122,0}}, +/* 59373 */ {(14<<2)|2,{89,122,0}}, +/* 59374 */ {(14<<2)|2,{89,122,0}}, +/* 59375 */ {(14<<2)|2,{89,122,0}}, +/* 59376 */ {(15<<2)|2,{89,38,0}}, +/* 59377 */ {(15<<2)|2,{89,38,0}}, +/* 59378 */ {(15<<2)|2,{89,42,0}}, +/* 59379 */ {(15<<2)|2,{89,42,0}}, +/* 59380 */ {(15<<2)|2,{89,44,0}}, +/* 59381 */ {(15<<2)|2,{89,44,0}}, +/* 59382 */ {(15<<2)|2,{89,59,0}}, +/* 59383 */ {(15<<2)|2,{89,59,0}}, +/* 59384 */ {(15<<2)|2,{89,88,0}}, +/* 59385 */ {(15<<2)|2,{89,88,0}}, +/* 59386 */ {(15<<2)|2,{89,90,0}}, +/* 59387 */ {(15<<2)|2,{89,90,0}}, +/* 59388 */ {(7<<2)|1,{89,0,0}}, +/* 59389 */ {(7<<2)|1,{89,0,0}}, +/* 59390 */ {(7<<2)|1,{89,0,0}}, +/* 59391 */ {(7<<2)|1,{89,0,0}}, +/* 59392 */ {(12<<2)|2,{106,48,0}}, +/* 59393 */ {(12<<2)|2,{106,48,0}}, +/* 59394 */ {(12<<2)|2,{106,48,0}}, +/* 59395 */ {(12<<2)|2,{106,48,0}}, +/* 59396 */ {(12<<2)|2,{106,48,0}}, +/* 59397 */ {(12<<2)|2,{106,48,0}}, +/* 59398 */ {(12<<2)|2,{106,48,0}}, +/* 59399 */ {(12<<2)|2,{106,48,0}}, +/* 59400 */ {(12<<2)|2,{106,48,0}}, +/* 59401 */ {(12<<2)|2,{106,48,0}}, +/* 59402 */ {(12<<2)|2,{106,48,0}}, +/* 59403 */ {(12<<2)|2,{106,48,0}}, +/* 59404 */ {(12<<2)|2,{106,48,0}}, +/* 59405 */ {(12<<2)|2,{106,48,0}}, +/* 59406 */ {(12<<2)|2,{106,48,0}}, +/* 59407 */ {(12<<2)|2,{106,48,0}}, +/* 59408 */ {(12<<2)|2,{106,49,0}}, +/* 59409 */ {(12<<2)|2,{106,49,0}}, +/* 59410 */ {(12<<2)|2,{106,49,0}}, +/* 59411 */ {(12<<2)|2,{106,49,0}}, +/* 59412 */ {(12<<2)|2,{106,49,0}}, +/* 59413 */ {(12<<2)|2,{106,49,0}}, +/* 59414 */ {(12<<2)|2,{106,49,0}}, +/* 59415 */ {(12<<2)|2,{106,49,0}}, +/* 59416 */ {(12<<2)|2,{106,49,0}}, +/* 59417 */ {(12<<2)|2,{106,49,0}}, +/* 59418 */ {(12<<2)|2,{106,49,0}}, +/* 59419 */ {(12<<2)|2,{106,49,0}}, +/* 59420 */ {(12<<2)|2,{106,49,0}}, +/* 59421 */ {(12<<2)|2,{106,49,0}}, +/* 59422 */ {(12<<2)|2,{106,49,0}}, +/* 59423 */ {(12<<2)|2,{106,49,0}}, +/* 59424 */ {(12<<2)|2,{106,50,0}}, +/* 59425 */ {(12<<2)|2,{106,50,0}}, +/* 59426 */ {(12<<2)|2,{106,50,0}}, +/* 59427 */ {(12<<2)|2,{106,50,0}}, +/* 59428 */ {(12<<2)|2,{106,50,0}}, +/* 59429 */ {(12<<2)|2,{106,50,0}}, +/* 59430 */ {(12<<2)|2,{106,50,0}}, +/* 59431 */ {(12<<2)|2,{106,50,0}}, +/* 59432 */ {(12<<2)|2,{106,50,0}}, +/* 59433 */ {(12<<2)|2,{106,50,0}}, +/* 59434 */ {(12<<2)|2,{106,50,0}}, +/* 59435 */ {(12<<2)|2,{106,50,0}}, +/* 59436 */ {(12<<2)|2,{106,50,0}}, +/* 59437 */ {(12<<2)|2,{106,50,0}}, +/* 59438 */ {(12<<2)|2,{106,50,0}}, +/* 59439 */ {(12<<2)|2,{106,50,0}}, +/* 59440 */ {(12<<2)|2,{106,97,0}}, +/* 59441 */ {(12<<2)|2,{106,97,0}}, +/* 59442 */ {(12<<2)|2,{106,97,0}}, +/* 59443 */ {(12<<2)|2,{106,97,0}}, +/* 59444 */ {(12<<2)|2,{106,97,0}}, +/* 59445 */ {(12<<2)|2,{106,97,0}}, +/* 59446 */ {(12<<2)|2,{106,97,0}}, +/* 59447 */ {(12<<2)|2,{106,97,0}}, +/* 59448 */ {(12<<2)|2,{106,97,0}}, +/* 59449 */ {(12<<2)|2,{106,97,0}}, +/* 59450 */ {(12<<2)|2,{106,97,0}}, +/* 59451 */ {(12<<2)|2,{106,97,0}}, +/* 59452 */ {(12<<2)|2,{106,97,0}}, +/* 59453 */ {(12<<2)|2,{106,97,0}}, +/* 59454 */ {(12<<2)|2,{106,97,0}}, +/* 59455 */ {(12<<2)|2,{106,97,0}}, +/* 59456 */ {(12<<2)|2,{106,99,0}}, +/* 59457 */ {(12<<2)|2,{106,99,0}}, +/* 59458 */ {(12<<2)|2,{106,99,0}}, +/* 59459 */ {(12<<2)|2,{106,99,0}}, +/* 59460 */ {(12<<2)|2,{106,99,0}}, +/* 59461 */ {(12<<2)|2,{106,99,0}}, +/* 59462 */ {(12<<2)|2,{106,99,0}}, +/* 59463 */ {(12<<2)|2,{106,99,0}}, +/* 59464 */ {(12<<2)|2,{106,99,0}}, +/* 59465 */ {(12<<2)|2,{106,99,0}}, +/* 59466 */ {(12<<2)|2,{106,99,0}}, +/* 59467 */ {(12<<2)|2,{106,99,0}}, +/* 59468 */ {(12<<2)|2,{106,99,0}}, +/* 59469 */ {(12<<2)|2,{106,99,0}}, +/* 59470 */ {(12<<2)|2,{106,99,0}}, +/* 59471 */ {(12<<2)|2,{106,99,0}}, +/* 59472 */ {(12<<2)|2,{106,101,0}}, +/* 59473 */ {(12<<2)|2,{106,101,0}}, +/* 59474 */ {(12<<2)|2,{106,101,0}}, +/* 59475 */ {(12<<2)|2,{106,101,0}}, +/* 59476 */ {(12<<2)|2,{106,101,0}}, +/* 59477 */ {(12<<2)|2,{106,101,0}}, +/* 59478 */ {(12<<2)|2,{106,101,0}}, +/* 59479 */ {(12<<2)|2,{106,101,0}}, +/* 59480 */ {(12<<2)|2,{106,101,0}}, +/* 59481 */ {(12<<2)|2,{106,101,0}}, +/* 59482 */ {(12<<2)|2,{106,101,0}}, +/* 59483 */ {(12<<2)|2,{106,101,0}}, +/* 59484 */ {(12<<2)|2,{106,101,0}}, +/* 59485 */ {(12<<2)|2,{106,101,0}}, +/* 59486 */ {(12<<2)|2,{106,101,0}}, +/* 59487 */ {(12<<2)|2,{106,101,0}}, +/* 59488 */ {(12<<2)|2,{106,105,0}}, +/* 59489 */ {(12<<2)|2,{106,105,0}}, +/* 59490 */ {(12<<2)|2,{106,105,0}}, +/* 59491 */ {(12<<2)|2,{106,105,0}}, +/* 59492 */ {(12<<2)|2,{106,105,0}}, +/* 59493 */ {(12<<2)|2,{106,105,0}}, +/* 59494 */ {(12<<2)|2,{106,105,0}}, +/* 59495 */ {(12<<2)|2,{106,105,0}}, +/* 59496 */ {(12<<2)|2,{106,105,0}}, +/* 59497 */ {(12<<2)|2,{106,105,0}}, +/* 59498 */ {(12<<2)|2,{106,105,0}}, +/* 59499 */ {(12<<2)|2,{106,105,0}}, +/* 59500 */ {(12<<2)|2,{106,105,0}}, +/* 59501 */ {(12<<2)|2,{106,105,0}}, +/* 59502 */ {(12<<2)|2,{106,105,0}}, +/* 59503 */ {(12<<2)|2,{106,105,0}}, +/* 59504 */ {(12<<2)|2,{106,111,0}}, +/* 59505 */ {(12<<2)|2,{106,111,0}}, +/* 59506 */ {(12<<2)|2,{106,111,0}}, +/* 59507 */ {(12<<2)|2,{106,111,0}}, +/* 59508 */ {(12<<2)|2,{106,111,0}}, +/* 59509 */ {(12<<2)|2,{106,111,0}}, +/* 59510 */ {(12<<2)|2,{106,111,0}}, +/* 59511 */ {(12<<2)|2,{106,111,0}}, +/* 59512 */ {(12<<2)|2,{106,111,0}}, +/* 59513 */ {(12<<2)|2,{106,111,0}}, +/* 59514 */ {(12<<2)|2,{106,111,0}}, +/* 59515 */ {(12<<2)|2,{106,111,0}}, +/* 59516 */ {(12<<2)|2,{106,111,0}}, +/* 59517 */ {(12<<2)|2,{106,111,0}}, +/* 59518 */ {(12<<2)|2,{106,111,0}}, +/* 59519 */ {(12<<2)|2,{106,111,0}}, +/* 59520 */ {(12<<2)|2,{106,115,0}}, +/* 59521 */ {(12<<2)|2,{106,115,0}}, +/* 59522 */ {(12<<2)|2,{106,115,0}}, +/* 59523 */ {(12<<2)|2,{106,115,0}}, +/* 59524 */ {(12<<2)|2,{106,115,0}}, +/* 59525 */ {(12<<2)|2,{106,115,0}}, +/* 59526 */ {(12<<2)|2,{106,115,0}}, +/* 59527 */ {(12<<2)|2,{106,115,0}}, +/* 59528 */ {(12<<2)|2,{106,115,0}}, +/* 59529 */ {(12<<2)|2,{106,115,0}}, +/* 59530 */ {(12<<2)|2,{106,115,0}}, +/* 59531 */ {(12<<2)|2,{106,115,0}}, +/* 59532 */ {(12<<2)|2,{106,115,0}}, +/* 59533 */ {(12<<2)|2,{106,115,0}}, +/* 59534 */ {(12<<2)|2,{106,115,0}}, +/* 59535 */ {(12<<2)|2,{106,115,0}}, +/* 59536 */ {(12<<2)|2,{106,116,0}}, +/* 59537 */ {(12<<2)|2,{106,116,0}}, +/* 59538 */ {(12<<2)|2,{106,116,0}}, +/* 59539 */ {(12<<2)|2,{106,116,0}}, +/* 59540 */ {(12<<2)|2,{106,116,0}}, +/* 59541 */ {(12<<2)|2,{106,116,0}}, +/* 59542 */ {(12<<2)|2,{106,116,0}}, +/* 59543 */ {(12<<2)|2,{106,116,0}}, +/* 59544 */ {(12<<2)|2,{106,116,0}}, +/* 59545 */ {(12<<2)|2,{106,116,0}}, +/* 59546 */ {(12<<2)|2,{106,116,0}}, +/* 59547 */ {(12<<2)|2,{106,116,0}}, +/* 59548 */ {(12<<2)|2,{106,116,0}}, +/* 59549 */ {(12<<2)|2,{106,116,0}}, +/* 59550 */ {(12<<2)|2,{106,116,0}}, +/* 59551 */ {(12<<2)|2,{106,116,0}}, +/* 59552 */ {(13<<2)|2,{106,32,0}}, +/* 59553 */ {(13<<2)|2,{106,32,0}}, +/* 59554 */ {(13<<2)|2,{106,32,0}}, +/* 59555 */ {(13<<2)|2,{106,32,0}}, +/* 59556 */ {(13<<2)|2,{106,32,0}}, +/* 59557 */ {(13<<2)|2,{106,32,0}}, +/* 59558 */ {(13<<2)|2,{106,32,0}}, +/* 59559 */ {(13<<2)|2,{106,32,0}}, +/* 59560 */ {(13<<2)|2,{106,37,0}}, +/* 59561 */ {(13<<2)|2,{106,37,0}}, +/* 59562 */ {(13<<2)|2,{106,37,0}}, +/* 59563 */ {(13<<2)|2,{106,37,0}}, +/* 59564 */ {(13<<2)|2,{106,37,0}}, +/* 59565 */ {(13<<2)|2,{106,37,0}}, +/* 59566 */ {(13<<2)|2,{106,37,0}}, +/* 59567 */ {(13<<2)|2,{106,37,0}}, +/* 59568 */ {(13<<2)|2,{106,45,0}}, +/* 59569 */ {(13<<2)|2,{106,45,0}}, +/* 59570 */ {(13<<2)|2,{106,45,0}}, +/* 59571 */ {(13<<2)|2,{106,45,0}}, +/* 59572 */ {(13<<2)|2,{106,45,0}}, +/* 59573 */ {(13<<2)|2,{106,45,0}}, +/* 59574 */ {(13<<2)|2,{106,45,0}}, +/* 59575 */ {(13<<2)|2,{106,45,0}}, +/* 59576 */ {(13<<2)|2,{106,46,0}}, +/* 59577 */ {(13<<2)|2,{106,46,0}}, +/* 59578 */ {(13<<2)|2,{106,46,0}}, +/* 59579 */ {(13<<2)|2,{106,46,0}}, +/* 59580 */ {(13<<2)|2,{106,46,0}}, +/* 59581 */ {(13<<2)|2,{106,46,0}}, +/* 59582 */ {(13<<2)|2,{106,46,0}}, +/* 59583 */ {(13<<2)|2,{106,46,0}}, +/* 59584 */ {(13<<2)|2,{106,47,0}}, +/* 59585 */ {(13<<2)|2,{106,47,0}}, +/* 59586 */ {(13<<2)|2,{106,47,0}}, +/* 59587 */ {(13<<2)|2,{106,47,0}}, +/* 59588 */ {(13<<2)|2,{106,47,0}}, +/* 59589 */ {(13<<2)|2,{106,47,0}}, +/* 59590 */ {(13<<2)|2,{106,47,0}}, +/* 59591 */ {(13<<2)|2,{106,47,0}}, +/* 59592 */ {(13<<2)|2,{106,51,0}}, +/* 59593 */ {(13<<2)|2,{106,51,0}}, +/* 59594 */ {(13<<2)|2,{106,51,0}}, +/* 59595 */ {(13<<2)|2,{106,51,0}}, +/* 59596 */ {(13<<2)|2,{106,51,0}}, +/* 59597 */ {(13<<2)|2,{106,51,0}}, +/* 59598 */ {(13<<2)|2,{106,51,0}}, +/* 59599 */ {(13<<2)|2,{106,51,0}}, +/* 59600 */ {(13<<2)|2,{106,52,0}}, +/* 59601 */ {(13<<2)|2,{106,52,0}}, +/* 59602 */ {(13<<2)|2,{106,52,0}}, +/* 59603 */ {(13<<2)|2,{106,52,0}}, +/* 59604 */ {(13<<2)|2,{106,52,0}}, +/* 59605 */ {(13<<2)|2,{106,52,0}}, +/* 59606 */ {(13<<2)|2,{106,52,0}}, +/* 59607 */ {(13<<2)|2,{106,52,0}}, +/* 59608 */ {(13<<2)|2,{106,53,0}}, +/* 59609 */ {(13<<2)|2,{106,53,0}}, +/* 59610 */ {(13<<2)|2,{106,53,0}}, +/* 59611 */ {(13<<2)|2,{106,53,0}}, +/* 59612 */ {(13<<2)|2,{106,53,0}}, +/* 59613 */ {(13<<2)|2,{106,53,0}}, +/* 59614 */ {(13<<2)|2,{106,53,0}}, +/* 59615 */ {(13<<2)|2,{106,53,0}}, +/* 59616 */ {(13<<2)|2,{106,54,0}}, +/* 59617 */ {(13<<2)|2,{106,54,0}}, +/* 59618 */ {(13<<2)|2,{106,54,0}}, +/* 59619 */ {(13<<2)|2,{106,54,0}}, +/* 59620 */ {(13<<2)|2,{106,54,0}}, +/* 59621 */ {(13<<2)|2,{106,54,0}}, +/* 59622 */ {(13<<2)|2,{106,54,0}}, +/* 59623 */ {(13<<2)|2,{106,54,0}}, +/* 59624 */ {(13<<2)|2,{106,55,0}}, +/* 59625 */ {(13<<2)|2,{106,55,0}}, +/* 59626 */ {(13<<2)|2,{106,55,0}}, +/* 59627 */ {(13<<2)|2,{106,55,0}}, +/* 59628 */ {(13<<2)|2,{106,55,0}}, +/* 59629 */ {(13<<2)|2,{106,55,0}}, +/* 59630 */ {(13<<2)|2,{106,55,0}}, +/* 59631 */ {(13<<2)|2,{106,55,0}}, +/* 59632 */ {(13<<2)|2,{106,56,0}}, +/* 59633 */ {(13<<2)|2,{106,56,0}}, +/* 59634 */ {(13<<2)|2,{106,56,0}}, +/* 59635 */ {(13<<2)|2,{106,56,0}}, +/* 59636 */ {(13<<2)|2,{106,56,0}}, +/* 59637 */ {(13<<2)|2,{106,56,0}}, +/* 59638 */ {(13<<2)|2,{106,56,0}}, +/* 59639 */ {(13<<2)|2,{106,56,0}}, +/* 59640 */ {(13<<2)|2,{106,57,0}}, +/* 59641 */ {(13<<2)|2,{106,57,0}}, +/* 59642 */ {(13<<2)|2,{106,57,0}}, +/* 59643 */ {(13<<2)|2,{106,57,0}}, +/* 59644 */ {(13<<2)|2,{106,57,0}}, +/* 59645 */ {(13<<2)|2,{106,57,0}}, +/* 59646 */ {(13<<2)|2,{106,57,0}}, +/* 59647 */ {(13<<2)|2,{106,57,0}}, +/* 59648 */ {(13<<2)|2,{106,61,0}}, +/* 59649 */ {(13<<2)|2,{106,61,0}}, +/* 59650 */ {(13<<2)|2,{106,61,0}}, +/* 59651 */ {(13<<2)|2,{106,61,0}}, +/* 59652 */ {(13<<2)|2,{106,61,0}}, +/* 59653 */ {(13<<2)|2,{106,61,0}}, +/* 59654 */ {(13<<2)|2,{106,61,0}}, +/* 59655 */ {(13<<2)|2,{106,61,0}}, +/* 59656 */ {(13<<2)|2,{106,65,0}}, +/* 59657 */ {(13<<2)|2,{106,65,0}}, +/* 59658 */ {(13<<2)|2,{106,65,0}}, +/* 59659 */ {(13<<2)|2,{106,65,0}}, +/* 59660 */ {(13<<2)|2,{106,65,0}}, +/* 59661 */ {(13<<2)|2,{106,65,0}}, +/* 59662 */ {(13<<2)|2,{106,65,0}}, +/* 59663 */ {(13<<2)|2,{106,65,0}}, +/* 59664 */ {(13<<2)|2,{106,95,0}}, +/* 59665 */ {(13<<2)|2,{106,95,0}}, +/* 59666 */ {(13<<2)|2,{106,95,0}}, +/* 59667 */ {(13<<2)|2,{106,95,0}}, +/* 59668 */ {(13<<2)|2,{106,95,0}}, +/* 59669 */ {(13<<2)|2,{106,95,0}}, +/* 59670 */ {(13<<2)|2,{106,95,0}}, +/* 59671 */ {(13<<2)|2,{106,95,0}}, +/* 59672 */ {(13<<2)|2,{106,98,0}}, +/* 59673 */ {(13<<2)|2,{106,98,0}}, +/* 59674 */ {(13<<2)|2,{106,98,0}}, +/* 59675 */ {(13<<2)|2,{106,98,0}}, +/* 59676 */ {(13<<2)|2,{106,98,0}}, +/* 59677 */ {(13<<2)|2,{106,98,0}}, +/* 59678 */ {(13<<2)|2,{106,98,0}}, +/* 59679 */ {(13<<2)|2,{106,98,0}}, +/* 59680 */ {(13<<2)|2,{106,100,0}}, +/* 59681 */ {(13<<2)|2,{106,100,0}}, +/* 59682 */ {(13<<2)|2,{106,100,0}}, +/* 59683 */ {(13<<2)|2,{106,100,0}}, +/* 59684 */ {(13<<2)|2,{106,100,0}}, +/* 59685 */ {(13<<2)|2,{106,100,0}}, +/* 59686 */ {(13<<2)|2,{106,100,0}}, +/* 59687 */ {(13<<2)|2,{106,100,0}}, +/* 59688 */ {(13<<2)|2,{106,102,0}}, +/* 59689 */ {(13<<2)|2,{106,102,0}}, +/* 59690 */ {(13<<2)|2,{106,102,0}}, +/* 59691 */ {(13<<2)|2,{106,102,0}}, +/* 59692 */ {(13<<2)|2,{106,102,0}}, +/* 59693 */ {(13<<2)|2,{106,102,0}}, +/* 59694 */ {(13<<2)|2,{106,102,0}}, +/* 59695 */ {(13<<2)|2,{106,102,0}}, +/* 59696 */ {(13<<2)|2,{106,103,0}}, +/* 59697 */ {(13<<2)|2,{106,103,0}}, +/* 59698 */ {(13<<2)|2,{106,103,0}}, +/* 59699 */ {(13<<2)|2,{106,103,0}}, +/* 59700 */ {(13<<2)|2,{106,103,0}}, +/* 59701 */ {(13<<2)|2,{106,103,0}}, +/* 59702 */ {(13<<2)|2,{106,103,0}}, +/* 59703 */ {(13<<2)|2,{106,103,0}}, +/* 59704 */ {(13<<2)|2,{106,104,0}}, +/* 59705 */ {(13<<2)|2,{106,104,0}}, +/* 59706 */ {(13<<2)|2,{106,104,0}}, +/* 59707 */ {(13<<2)|2,{106,104,0}}, +/* 59708 */ {(13<<2)|2,{106,104,0}}, +/* 59709 */ {(13<<2)|2,{106,104,0}}, +/* 59710 */ {(13<<2)|2,{106,104,0}}, +/* 59711 */ {(13<<2)|2,{106,104,0}}, +/* 59712 */ {(13<<2)|2,{106,108,0}}, +/* 59713 */ {(13<<2)|2,{106,108,0}}, +/* 59714 */ {(13<<2)|2,{106,108,0}}, +/* 59715 */ {(13<<2)|2,{106,108,0}}, +/* 59716 */ {(13<<2)|2,{106,108,0}}, +/* 59717 */ {(13<<2)|2,{106,108,0}}, +/* 59718 */ {(13<<2)|2,{106,108,0}}, +/* 59719 */ {(13<<2)|2,{106,108,0}}, +/* 59720 */ {(13<<2)|2,{106,109,0}}, +/* 59721 */ {(13<<2)|2,{106,109,0}}, +/* 59722 */ {(13<<2)|2,{106,109,0}}, +/* 59723 */ {(13<<2)|2,{106,109,0}}, +/* 59724 */ {(13<<2)|2,{106,109,0}}, +/* 59725 */ {(13<<2)|2,{106,109,0}}, +/* 59726 */ {(13<<2)|2,{106,109,0}}, +/* 59727 */ {(13<<2)|2,{106,109,0}}, +/* 59728 */ {(13<<2)|2,{106,110,0}}, +/* 59729 */ {(13<<2)|2,{106,110,0}}, +/* 59730 */ {(13<<2)|2,{106,110,0}}, +/* 59731 */ {(13<<2)|2,{106,110,0}}, +/* 59732 */ {(13<<2)|2,{106,110,0}}, +/* 59733 */ {(13<<2)|2,{106,110,0}}, +/* 59734 */ {(13<<2)|2,{106,110,0}}, +/* 59735 */ {(13<<2)|2,{106,110,0}}, +/* 59736 */ {(13<<2)|2,{106,112,0}}, +/* 59737 */ {(13<<2)|2,{106,112,0}}, +/* 59738 */ {(13<<2)|2,{106,112,0}}, +/* 59739 */ {(13<<2)|2,{106,112,0}}, +/* 59740 */ {(13<<2)|2,{106,112,0}}, +/* 59741 */ {(13<<2)|2,{106,112,0}}, +/* 59742 */ {(13<<2)|2,{106,112,0}}, +/* 59743 */ {(13<<2)|2,{106,112,0}}, +/* 59744 */ {(13<<2)|2,{106,114,0}}, +/* 59745 */ {(13<<2)|2,{106,114,0}}, +/* 59746 */ {(13<<2)|2,{106,114,0}}, +/* 59747 */ {(13<<2)|2,{106,114,0}}, +/* 59748 */ {(13<<2)|2,{106,114,0}}, +/* 59749 */ {(13<<2)|2,{106,114,0}}, +/* 59750 */ {(13<<2)|2,{106,114,0}}, +/* 59751 */ {(13<<2)|2,{106,114,0}}, +/* 59752 */ {(13<<2)|2,{106,117,0}}, +/* 59753 */ {(13<<2)|2,{106,117,0}}, +/* 59754 */ {(13<<2)|2,{106,117,0}}, +/* 59755 */ {(13<<2)|2,{106,117,0}}, +/* 59756 */ {(13<<2)|2,{106,117,0}}, +/* 59757 */ {(13<<2)|2,{106,117,0}}, +/* 59758 */ {(13<<2)|2,{106,117,0}}, +/* 59759 */ {(13<<2)|2,{106,117,0}}, +/* 59760 */ {(14<<2)|2,{106,58,0}}, +/* 59761 */ {(14<<2)|2,{106,58,0}}, +/* 59762 */ {(14<<2)|2,{106,58,0}}, +/* 59763 */ {(14<<2)|2,{106,58,0}}, +/* 59764 */ {(14<<2)|2,{106,66,0}}, +/* 59765 */ {(14<<2)|2,{106,66,0}}, +/* 59766 */ {(14<<2)|2,{106,66,0}}, +/* 59767 */ {(14<<2)|2,{106,66,0}}, +/* 59768 */ {(14<<2)|2,{106,67,0}}, +/* 59769 */ {(14<<2)|2,{106,67,0}}, +/* 59770 */ {(14<<2)|2,{106,67,0}}, +/* 59771 */ {(14<<2)|2,{106,67,0}}, +/* 59772 */ {(14<<2)|2,{106,68,0}}, +/* 59773 */ {(14<<2)|2,{106,68,0}}, +/* 59774 */ {(14<<2)|2,{106,68,0}}, +/* 59775 */ {(14<<2)|2,{106,68,0}}, +/* 59776 */ {(14<<2)|2,{106,69,0}}, +/* 59777 */ {(14<<2)|2,{106,69,0}}, +/* 59778 */ {(14<<2)|2,{106,69,0}}, +/* 59779 */ {(14<<2)|2,{106,69,0}}, +/* 59780 */ {(14<<2)|2,{106,70,0}}, +/* 59781 */ {(14<<2)|2,{106,70,0}}, +/* 59782 */ {(14<<2)|2,{106,70,0}}, +/* 59783 */ {(14<<2)|2,{106,70,0}}, +/* 59784 */ {(14<<2)|2,{106,71,0}}, +/* 59785 */ {(14<<2)|2,{106,71,0}}, +/* 59786 */ {(14<<2)|2,{106,71,0}}, +/* 59787 */ {(14<<2)|2,{106,71,0}}, +/* 59788 */ {(14<<2)|2,{106,72,0}}, +/* 59789 */ {(14<<2)|2,{106,72,0}}, +/* 59790 */ {(14<<2)|2,{106,72,0}}, +/* 59791 */ {(14<<2)|2,{106,72,0}}, +/* 59792 */ {(14<<2)|2,{106,73,0}}, +/* 59793 */ {(14<<2)|2,{106,73,0}}, +/* 59794 */ {(14<<2)|2,{106,73,0}}, +/* 59795 */ {(14<<2)|2,{106,73,0}}, +/* 59796 */ {(14<<2)|2,{106,74,0}}, +/* 59797 */ {(14<<2)|2,{106,74,0}}, +/* 59798 */ {(14<<2)|2,{106,74,0}}, +/* 59799 */ {(14<<2)|2,{106,74,0}}, +/* 59800 */ {(14<<2)|2,{106,75,0}}, +/* 59801 */ {(14<<2)|2,{106,75,0}}, +/* 59802 */ {(14<<2)|2,{106,75,0}}, +/* 59803 */ {(14<<2)|2,{106,75,0}}, +/* 59804 */ {(14<<2)|2,{106,76,0}}, +/* 59805 */ {(14<<2)|2,{106,76,0}}, +/* 59806 */ {(14<<2)|2,{106,76,0}}, +/* 59807 */ {(14<<2)|2,{106,76,0}}, +/* 59808 */ {(14<<2)|2,{106,77,0}}, +/* 59809 */ {(14<<2)|2,{106,77,0}}, +/* 59810 */ {(14<<2)|2,{106,77,0}}, +/* 59811 */ {(14<<2)|2,{106,77,0}}, +/* 59812 */ {(14<<2)|2,{106,78,0}}, +/* 59813 */ {(14<<2)|2,{106,78,0}}, +/* 59814 */ {(14<<2)|2,{106,78,0}}, +/* 59815 */ {(14<<2)|2,{106,78,0}}, +/* 59816 */ {(14<<2)|2,{106,79,0}}, +/* 59817 */ {(14<<2)|2,{106,79,0}}, +/* 59818 */ {(14<<2)|2,{106,79,0}}, +/* 59819 */ {(14<<2)|2,{106,79,0}}, +/* 59820 */ {(14<<2)|2,{106,80,0}}, +/* 59821 */ {(14<<2)|2,{106,80,0}}, +/* 59822 */ {(14<<2)|2,{106,80,0}}, +/* 59823 */ {(14<<2)|2,{106,80,0}}, +/* 59824 */ {(14<<2)|2,{106,81,0}}, +/* 59825 */ {(14<<2)|2,{106,81,0}}, +/* 59826 */ {(14<<2)|2,{106,81,0}}, +/* 59827 */ {(14<<2)|2,{106,81,0}}, +/* 59828 */ {(14<<2)|2,{106,82,0}}, +/* 59829 */ {(14<<2)|2,{106,82,0}}, +/* 59830 */ {(14<<2)|2,{106,82,0}}, +/* 59831 */ {(14<<2)|2,{106,82,0}}, +/* 59832 */ {(14<<2)|2,{106,83,0}}, +/* 59833 */ {(14<<2)|2,{106,83,0}}, +/* 59834 */ {(14<<2)|2,{106,83,0}}, +/* 59835 */ {(14<<2)|2,{106,83,0}}, +/* 59836 */ {(14<<2)|2,{106,84,0}}, +/* 59837 */ {(14<<2)|2,{106,84,0}}, +/* 59838 */ {(14<<2)|2,{106,84,0}}, +/* 59839 */ {(14<<2)|2,{106,84,0}}, +/* 59840 */ {(14<<2)|2,{106,85,0}}, +/* 59841 */ {(14<<2)|2,{106,85,0}}, +/* 59842 */ {(14<<2)|2,{106,85,0}}, +/* 59843 */ {(14<<2)|2,{106,85,0}}, +/* 59844 */ {(14<<2)|2,{106,86,0}}, +/* 59845 */ {(14<<2)|2,{106,86,0}}, +/* 59846 */ {(14<<2)|2,{106,86,0}}, +/* 59847 */ {(14<<2)|2,{106,86,0}}, +/* 59848 */ {(14<<2)|2,{106,87,0}}, +/* 59849 */ {(14<<2)|2,{106,87,0}}, +/* 59850 */ {(14<<2)|2,{106,87,0}}, +/* 59851 */ {(14<<2)|2,{106,87,0}}, +/* 59852 */ {(14<<2)|2,{106,89,0}}, +/* 59853 */ {(14<<2)|2,{106,89,0}}, +/* 59854 */ {(14<<2)|2,{106,89,0}}, +/* 59855 */ {(14<<2)|2,{106,89,0}}, +/* 59856 */ {(14<<2)|2,{106,106,0}}, +/* 59857 */ {(14<<2)|2,{106,106,0}}, +/* 59858 */ {(14<<2)|2,{106,106,0}}, +/* 59859 */ {(14<<2)|2,{106,106,0}}, +/* 59860 */ {(14<<2)|2,{106,107,0}}, +/* 59861 */ {(14<<2)|2,{106,107,0}}, +/* 59862 */ {(14<<2)|2,{106,107,0}}, +/* 59863 */ {(14<<2)|2,{106,107,0}}, +/* 59864 */ {(14<<2)|2,{106,113,0}}, +/* 59865 */ {(14<<2)|2,{106,113,0}}, +/* 59866 */ {(14<<2)|2,{106,113,0}}, +/* 59867 */ {(14<<2)|2,{106,113,0}}, +/* 59868 */ {(14<<2)|2,{106,118,0}}, +/* 59869 */ {(14<<2)|2,{106,118,0}}, +/* 59870 */ {(14<<2)|2,{106,118,0}}, +/* 59871 */ {(14<<2)|2,{106,118,0}}, +/* 59872 */ {(14<<2)|2,{106,119,0}}, +/* 59873 */ {(14<<2)|2,{106,119,0}}, +/* 59874 */ {(14<<2)|2,{106,119,0}}, +/* 59875 */ {(14<<2)|2,{106,119,0}}, +/* 59876 */ {(14<<2)|2,{106,120,0}}, +/* 59877 */ {(14<<2)|2,{106,120,0}}, +/* 59878 */ {(14<<2)|2,{106,120,0}}, +/* 59879 */ {(14<<2)|2,{106,120,0}}, +/* 59880 */ {(14<<2)|2,{106,121,0}}, +/* 59881 */ {(14<<2)|2,{106,121,0}}, +/* 59882 */ {(14<<2)|2,{106,121,0}}, +/* 59883 */ {(14<<2)|2,{106,121,0}}, +/* 59884 */ {(14<<2)|2,{106,122,0}}, +/* 59885 */ {(14<<2)|2,{106,122,0}}, +/* 59886 */ {(14<<2)|2,{106,122,0}}, +/* 59887 */ {(14<<2)|2,{106,122,0}}, +/* 59888 */ {(15<<2)|2,{106,38,0}}, +/* 59889 */ {(15<<2)|2,{106,38,0}}, +/* 59890 */ {(15<<2)|2,{106,42,0}}, +/* 59891 */ {(15<<2)|2,{106,42,0}}, +/* 59892 */ {(15<<2)|2,{106,44,0}}, +/* 59893 */ {(15<<2)|2,{106,44,0}}, +/* 59894 */ {(15<<2)|2,{106,59,0}}, +/* 59895 */ {(15<<2)|2,{106,59,0}}, +/* 59896 */ {(15<<2)|2,{106,88,0}}, +/* 59897 */ {(15<<2)|2,{106,88,0}}, +/* 59898 */ {(15<<2)|2,{106,90,0}}, +/* 59899 */ {(15<<2)|2,{106,90,0}}, +/* 59900 */ {(7<<2)|1,{106,0,0}}, +/* 59901 */ {(7<<2)|1,{106,0,0}}, +/* 59902 */ {(7<<2)|1,{106,0,0}}, +/* 59903 */ {(7<<2)|1,{106,0,0}}, +/* 59904 */ {(12<<2)|2,{107,48,0}}, +/* 59905 */ {(12<<2)|2,{107,48,0}}, +/* 59906 */ {(12<<2)|2,{107,48,0}}, +/* 59907 */ {(12<<2)|2,{107,48,0}}, +/* 59908 */ {(12<<2)|2,{107,48,0}}, +/* 59909 */ {(12<<2)|2,{107,48,0}}, +/* 59910 */ {(12<<2)|2,{107,48,0}}, +/* 59911 */ {(12<<2)|2,{107,48,0}}, +/* 59912 */ {(12<<2)|2,{107,48,0}}, +/* 59913 */ {(12<<2)|2,{107,48,0}}, +/* 59914 */ {(12<<2)|2,{107,48,0}}, +/* 59915 */ {(12<<2)|2,{107,48,0}}, +/* 59916 */ {(12<<2)|2,{107,48,0}}, +/* 59917 */ {(12<<2)|2,{107,48,0}}, +/* 59918 */ {(12<<2)|2,{107,48,0}}, +/* 59919 */ {(12<<2)|2,{107,48,0}}, +/* 59920 */ {(12<<2)|2,{107,49,0}}, +/* 59921 */ {(12<<2)|2,{107,49,0}}, +/* 59922 */ {(12<<2)|2,{107,49,0}}, +/* 59923 */ {(12<<2)|2,{107,49,0}}, +/* 59924 */ {(12<<2)|2,{107,49,0}}, +/* 59925 */ {(12<<2)|2,{107,49,0}}, +/* 59926 */ {(12<<2)|2,{107,49,0}}, +/* 59927 */ {(12<<2)|2,{107,49,0}}, +/* 59928 */ {(12<<2)|2,{107,49,0}}, +/* 59929 */ {(12<<2)|2,{107,49,0}}, +/* 59930 */ {(12<<2)|2,{107,49,0}}, +/* 59931 */ {(12<<2)|2,{107,49,0}}, +/* 59932 */ {(12<<2)|2,{107,49,0}}, +/* 59933 */ {(12<<2)|2,{107,49,0}}, +/* 59934 */ {(12<<2)|2,{107,49,0}}, +/* 59935 */ {(12<<2)|2,{107,49,0}}, +/* 59936 */ {(12<<2)|2,{107,50,0}}, +/* 59937 */ {(12<<2)|2,{107,50,0}}, +/* 59938 */ {(12<<2)|2,{107,50,0}}, +/* 59939 */ {(12<<2)|2,{107,50,0}}, +/* 59940 */ {(12<<2)|2,{107,50,0}}, +/* 59941 */ {(12<<2)|2,{107,50,0}}, +/* 59942 */ {(12<<2)|2,{107,50,0}}, +/* 59943 */ {(12<<2)|2,{107,50,0}}, +/* 59944 */ {(12<<2)|2,{107,50,0}}, +/* 59945 */ {(12<<2)|2,{107,50,0}}, +/* 59946 */ {(12<<2)|2,{107,50,0}}, +/* 59947 */ {(12<<2)|2,{107,50,0}}, +/* 59948 */ {(12<<2)|2,{107,50,0}}, +/* 59949 */ {(12<<2)|2,{107,50,0}}, +/* 59950 */ {(12<<2)|2,{107,50,0}}, +/* 59951 */ {(12<<2)|2,{107,50,0}}, +/* 59952 */ {(12<<2)|2,{107,97,0}}, +/* 59953 */ {(12<<2)|2,{107,97,0}}, +/* 59954 */ {(12<<2)|2,{107,97,0}}, +/* 59955 */ {(12<<2)|2,{107,97,0}}, +/* 59956 */ {(12<<2)|2,{107,97,0}}, +/* 59957 */ {(12<<2)|2,{107,97,0}}, +/* 59958 */ {(12<<2)|2,{107,97,0}}, +/* 59959 */ {(12<<2)|2,{107,97,0}}, +/* 59960 */ {(12<<2)|2,{107,97,0}}, +/* 59961 */ {(12<<2)|2,{107,97,0}}, +/* 59962 */ {(12<<2)|2,{107,97,0}}, +/* 59963 */ {(12<<2)|2,{107,97,0}}, +/* 59964 */ {(12<<2)|2,{107,97,0}}, +/* 59965 */ {(12<<2)|2,{107,97,0}}, +/* 59966 */ {(12<<2)|2,{107,97,0}}, +/* 59967 */ {(12<<2)|2,{107,97,0}}, +/* 59968 */ {(12<<2)|2,{107,99,0}}, +/* 59969 */ {(12<<2)|2,{107,99,0}}, +/* 59970 */ {(12<<2)|2,{107,99,0}}, +/* 59971 */ {(12<<2)|2,{107,99,0}}, +/* 59972 */ {(12<<2)|2,{107,99,0}}, +/* 59973 */ {(12<<2)|2,{107,99,0}}, +/* 59974 */ {(12<<2)|2,{107,99,0}}, +/* 59975 */ {(12<<2)|2,{107,99,0}}, +/* 59976 */ {(12<<2)|2,{107,99,0}}, +/* 59977 */ {(12<<2)|2,{107,99,0}}, +/* 59978 */ {(12<<2)|2,{107,99,0}}, +/* 59979 */ {(12<<2)|2,{107,99,0}}, +/* 59980 */ {(12<<2)|2,{107,99,0}}, +/* 59981 */ {(12<<2)|2,{107,99,0}}, +/* 59982 */ {(12<<2)|2,{107,99,0}}, +/* 59983 */ {(12<<2)|2,{107,99,0}}, +/* 59984 */ {(12<<2)|2,{107,101,0}}, +/* 59985 */ {(12<<2)|2,{107,101,0}}, +/* 59986 */ {(12<<2)|2,{107,101,0}}, +/* 59987 */ {(12<<2)|2,{107,101,0}}, +/* 59988 */ {(12<<2)|2,{107,101,0}}, +/* 59989 */ {(12<<2)|2,{107,101,0}}, +/* 59990 */ {(12<<2)|2,{107,101,0}}, +/* 59991 */ {(12<<2)|2,{107,101,0}}, +/* 59992 */ {(12<<2)|2,{107,101,0}}, +/* 59993 */ {(12<<2)|2,{107,101,0}}, +/* 59994 */ {(12<<2)|2,{107,101,0}}, +/* 59995 */ {(12<<2)|2,{107,101,0}}, +/* 59996 */ {(12<<2)|2,{107,101,0}}, +/* 59997 */ {(12<<2)|2,{107,101,0}}, +/* 59998 */ {(12<<2)|2,{107,101,0}}, +/* 59999 */ {(12<<2)|2,{107,101,0}}, +/* 60000 */ {(12<<2)|2,{107,105,0}}, +/* 60001 */ {(12<<2)|2,{107,105,0}}, +/* 60002 */ {(12<<2)|2,{107,105,0}}, +/* 60003 */ {(12<<2)|2,{107,105,0}}, +/* 60004 */ {(12<<2)|2,{107,105,0}}, +/* 60005 */ {(12<<2)|2,{107,105,0}}, +/* 60006 */ {(12<<2)|2,{107,105,0}}, +/* 60007 */ {(12<<2)|2,{107,105,0}}, +/* 60008 */ {(12<<2)|2,{107,105,0}}, +/* 60009 */ {(12<<2)|2,{107,105,0}}, +/* 60010 */ {(12<<2)|2,{107,105,0}}, +/* 60011 */ {(12<<2)|2,{107,105,0}}, +/* 60012 */ {(12<<2)|2,{107,105,0}}, +/* 60013 */ {(12<<2)|2,{107,105,0}}, +/* 60014 */ {(12<<2)|2,{107,105,0}}, +/* 60015 */ {(12<<2)|2,{107,105,0}}, +/* 60016 */ {(12<<2)|2,{107,111,0}}, +/* 60017 */ {(12<<2)|2,{107,111,0}}, +/* 60018 */ {(12<<2)|2,{107,111,0}}, +/* 60019 */ {(12<<2)|2,{107,111,0}}, +/* 60020 */ {(12<<2)|2,{107,111,0}}, +/* 60021 */ {(12<<2)|2,{107,111,0}}, +/* 60022 */ {(12<<2)|2,{107,111,0}}, +/* 60023 */ {(12<<2)|2,{107,111,0}}, +/* 60024 */ {(12<<2)|2,{107,111,0}}, +/* 60025 */ {(12<<2)|2,{107,111,0}}, +/* 60026 */ {(12<<2)|2,{107,111,0}}, +/* 60027 */ {(12<<2)|2,{107,111,0}}, +/* 60028 */ {(12<<2)|2,{107,111,0}}, +/* 60029 */ {(12<<2)|2,{107,111,0}}, +/* 60030 */ {(12<<2)|2,{107,111,0}}, +/* 60031 */ {(12<<2)|2,{107,111,0}}, +/* 60032 */ {(12<<2)|2,{107,115,0}}, +/* 60033 */ {(12<<2)|2,{107,115,0}}, +/* 60034 */ {(12<<2)|2,{107,115,0}}, +/* 60035 */ {(12<<2)|2,{107,115,0}}, +/* 60036 */ {(12<<2)|2,{107,115,0}}, +/* 60037 */ {(12<<2)|2,{107,115,0}}, +/* 60038 */ {(12<<2)|2,{107,115,0}}, +/* 60039 */ {(12<<2)|2,{107,115,0}}, +/* 60040 */ {(12<<2)|2,{107,115,0}}, +/* 60041 */ {(12<<2)|2,{107,115,0}}, +/* 60042 */ {(12<<2)|2,{107,115,0}}, +/* 60043 */ {(12<<2)|2,{107,115,0}}, +/* 60044 */ {(12<<2)|2,{107,115,0}}, +/* 60045 */ {(12<<2)|2,{107,115,0}}, +/* 60046 */ {(12<<2)|2,{107,115,0}}, +/* 60047 */ {(12<<2)|2,{107,115,0}}, +/* 60048 */ {(12<<2)|2,{107,116,0}}, +/* 60049 */ {(12<<2)|2,{107,116,0}}, +/* 60050 */ {(12<<2)|2,{107,116,0}}, +/* 60051 */ {(12<<2)|2,{107,116,0}}, +/* 60052 */ {(12<<2)|2,{107,116,0}}, +/* 60053 */ {(12<<2)|2,{107,116,0}}, +/* 60054 */ {(12<<2)|2,{107,116,0}}, +/* 60055 */ {(12<<2)|2,{107,116,0}}, +/* 60056 */ {(12<<2)|2,{107,116,0}}, +/* 60057 */ {(12<<2)|2,{107,116,0}}, +/* 60058 */ {(12<<2)|2,{107,116,0}}, +/* 60059 */ {(12<<2)|2,{107,116,0}}, +/* 60060 */ {(12<<2)|2,{107,116,0}}, +/* 60061 */ {(12<<2)|2,{107,116,0}}, +/* 60062 */ {(12<<2)|2,{107,116,0}}, +/* 60063 */ {(12<<2)|2,{107,116,0}}, +/* 60064 */ {(13<<2)|2,{107,32,0}}, +/* 60065 */ {(13<<2)|2,{107,32,0}}, +/* 60066 */ {(13<<2)|2,{107,32,0}}, +/* 60067 */ {(13<<2)|2,{107,32,0}}, +/* 60068 */ {(13<<2)|2,{107,32,0}}, +/* 60069 */ {(13<<2)|2,{107,32,0}}, +/* 60070 */ {(13<<2)|2,{107,32,0}}, +/* 60071 */ {(13<<2)|2,{107,32,0}}, +/* 60072 */ {(13<<2)|2,{107,37,0}}, +/* 60073 */ {(13<<2)|2,{107,37,0}}, +/* 60074 */ {(13<<2)|2,{107,37,0}}, +/* 60075 */ {(13<<2)|2,{107,37,0}}, +/* 60076 */ {(13<<2)|2,{107,37,0}}, +/* 60077 */ {(13<<2)|2,{107,37,0}}, +/* 60078 */ {(13<<2)|2,{107,37,0}}, +/* 60079 */ {(13<<2)|2,{107,37,0}}, +/* 60080 */ {(13<<2)|2,{107,45,0}}, +/* 60081 */ {(13<<2)|2,{107,45,0}}, +/* 60082 */ {(13<<2)|2,{107,45,0}}, +/* 60083 */ {(13<<2)|2,{107,45,0}}, +/* 60084 */ {(13<<2)|2,{107,45,0}}, +/* 60085 */ {(13<<2)|2,{107,45,0}}, +/* 60086 */ {(13<<2)|2,{107,45,0}}, +/* 60087 */ {(13<<2)|2,{107,45,0}}, +/* 60088 */ {(13<<2)|2,{107,46,0}}, +/* 60089 */ {(13<<2)|2,{107,46,0}}, +/* 60090 */ {(13<<2)|2,{107,46,0}}, +/* 60091 */ {(13<<2)|2,{107,46,0}}, +/* 60092 */ {(13<<2)|2,{107,46,0}}, +/* 60093 */ {(13<<2)|2,{107,46,0}}, +/* 60094 */ {(13<<2)|2,{107,46,0}}, +/* 60095 */ {(13<<2)|2,{107,46,0}}, +/* 60096 */ {(13<<2)|2,{107,47,0}}, +/* 60097 */ {(13<<2)|2,{107,47,0}}, +/* 60098 */ {(13<<2)|2,{107,47,0}}, +/* 60099 */ {(13<<2)|2,{107,47,0}}, +/* 60100 */ {(13<<2)|2,{107,47,0}}, +/* 60101 */ {(13<<2)|2,{107,47,0}}, +/* 60102 */ {(13<<2)|2,{107,47,0}}, +/* 60103 */ {(13<<2)|2,{107,47,0}}, +/* 60104 */ {(13<<2)|2,{107,51,0}}, +/* 60105 */ {(13<<2)|2,{107,51,0}}, +/* 60106 */ {(13<<2)|2,{107,51,0}}, +/* 60107 */ {(13<<2)|2,{107,51,0}}, +/* 60108 */ {(13<<2)|2,{107,51,0}}, +/* 60109 */ {(13<<2)|2,{107,51,0}}, +/* 60110 */ {(13<<2)|2,{107,51,0}}, +/* 60111 */ {(13<<2)|2,{107,51,0}}, +/* 60112 */ {(13<<2)|2,{107,52,0}}, +/* 60113 */ {(13<<2)|2,{107,52,0}}, +/* 60114 */ {(13<<2)|2,{107,52,0}}, +/* 60115 */ {(13<<2)|2,{107,52,0}}, +/* 60116 */ {(13<<2)|2,{107,52,0}}, +/* 60117 */ {(13<<2)|2,{107,52,0}}, +/* 60118 */ {(13<<2)|2,{107,52,0}}, +/* 60119 */ {(13<<2)|2,{107,52,0}}, +/* 60120 */ {(13<<2)|2,{107,53,0}}, +/* 60121 */ {(13<<2)|2,{107,53,0}}, +/* 60122 */ {(13<<2)|2,{107,53,0}}, +/* 60123 */ {(13<<2)|2,{107,53,0}}, +/* 60124 */ {(13<<2)|2,{107,53,0}}, +/* 60125 */ {(13<<2)|2,{107,53,0}}, +/* 60126 */ {(13<<2)|2,{107,53,0}}, +/* 60127 */ {(13<<2)|2,{107,53,0}}, +/* 60128 */ {(13<<2)|2,{107,54,0}}, +/* 60129 */ {(13<<2)|2,{107,54,0}}, +/* 60130 */ {(13<<2)|2,{107,54,0}}, +/* 60131 */ {(13<<2)|2,{107,54,0}}, +/* 60132 */ {(13<<2)|2,{107,54,0}}, +/* 60133 */ {(13<<2)|2,{107,54,0}}, +/* 60134 */ {(13<<2)|2,{107,54,0}}, +/* 60135 */ {(13<<2)|2,{107,54,0}}, +/* 60136 */ {(13<<2)|2,{107,55,0}}, +/* 60137 */ {(13<<2)|2,{107,55,0}}, +/* 60138 */ {(13<<2)|2,{107,55,0}}, +/* 60139 */ {(13<<2)|2,{107,55,0}}, +/* 60140 */ {(13<<2)|2,{107,55,0}}, +/* 60141 */ {(13<<2)|2,{107,55,0}}, +/* 60142 */ {(13<<2)|2,{107,55,0}}, +/* 60143 */ {(13<<2)|2,{107,55,0}}, +/* 60144 */ {(13<<2)|2,{107,56,0}}, +/* 60145 */ {(13<<2)|2,{107,56,0}}, +/* 60146 */ {(13<<2)|2,{107,56,0}}, +/* 60147 */ {(13<<2)|2,{107,56,0}}, +/* 60148 */ {(13<<2)|2,{107,56,0}}, +/* 60149 */ {(13<<2)|2,{107,56,0}}, +/* 60150 */ {(13<<2)|2,{107,56,0}}, +/* 60151 */ {(13<<2)|2,{107,56,0}}, +/* 60152 */ {(13<<2)|2,{107,57,0}}, +/* 60153 */ {(13<<2)|2,{107,57,0}}, +/* 60154 */ {(13<<2)|2,{107,57,0}}, +/* 60155 */ {(13<<2)|2,{107,57,0}}, +/* 60156 */ {(13<<2)|2,{107,57,0}}, +/* 60157 */ {(13<<2)|2,{107,57,0}}, +/* 60158 */ {(13<<2)|2,{107,57,0}}, +/* 60159 */ {(13<<2)|2,{107,57,0}}, +/* 60160 */ {(13<<2)|2,{107,61,0}}, +/* 60161 */ {(13<<2)|2,{107,61,0}}, +/* 60162 */ {(13<<2)|2,{107,61,0}}, +/* 60163 */ {(13<<2)|2,{107,61,0}}, +/* 60164 */ {(13<<2)|2,{107,61,0}}, +/* 60165 */ {(13<<2)|2,{107,61,0}}, +/* 60166 */ {(13<<2)|2,{107,61,0}}, +/* 60167 */ {(13<<2)|2,{107,61,0}}, +/* 60168 */ {(13<<2)|2,{107,65,0}}, +/* 60169 */ {(13<<2)|2,{107,65,0}}, +/* 60170 */ {(13<<2)|2,{107,65,0}}, +/* 60171 */ {(13<<2)|2,{107,65,0}}, +/* 60172 */ {(13<<2)|2,{107,65,0}}, +/* 60173 */ {(13<<2)|2,{107,65,0}}, +/* 60174 */ {(13<<2)|2,{107,65,0}}, +/* 60175 */ {(13<<2)|2,{107,65,0}}, +/* 60176 */ {(13<<2)|2,{107,95,0}}, +/* 60177 */ {(13<<2)|2,{107,95,0}}, +/* 60178 */ {(13<<2)|2,{107,95,0}}, +/* 60179 */ {(13<<2)|2,{107,95,0}}, +/* 60180 */ {(13<<2)|2,{107,95,0}}, +/* 60181 */ {(13<<2)|2,{107,95,0}}, +/* 60182 */ {(13<<2)|2,{107,95,0}}, +/* 60183 */ {(13<<2)|2,{107,95,0}}, +/* 60184 */ {(13<<2)|2,{107,98,0}}, +/* 60185 */ {(13<<2)|2,{107,98,0}}, +/* 60186 */ {(13<<2)|2,{107,98,0}}, +/* 60187 */ {(13<<2)|2,{107,98,0}}, +/* 60188 */ {(13<<2)|2,{107,98,0}}, +/* 60189 */ {(13<<2)|2,{107,98,0}}, +/* 60190 */ {(13<<2)|2,{107,98,0}}, +/* 60191 */ {(13<<2)|2,{107,98,0}}, +/* 60192 */ {(13<<2)|2,{107,100,0}}, +/* 60193 */ {(13<<2)|2,{107,100,0}}, +/* 60194 */ {(13<<2)|2,{107,100,0}}, +/* 60195 */ {(13<<2)|2,{107,100,0}}, +/* 60196 */ {(13<<2)|2,{107,100,0}}, +/* 60197 */ {(13<<2)|2,{107,100,0}}, +/* 60198 */ {(13<<2)|2,{107,100,0}}, +/* 60199 */ {(13<<2)|2,{107,100,0}}, +/* 60200 */ {(13<<2)|2,{107,102,0}}, +/* 60201 */ {(13<<2)|2,{107,102,0}}, +/* 60202 */ {(13<<2)|2,{107,102,0}}, +/* 60203 */ {(13<<2)|2,{107,102,0}}, +/* 60204 */ {(13<<2)|2,{107,102,0}}, +/* 60205 */ {(13<<2)|2,{107,102,0}}, +/* 60206 */ {(13<<2)|2,{107,102,0}}, +/* 60207 */ {(13<<2)|2,{107,102,0}}, +/* 60208 */ {(13<<2)|2,{107,103,0}}, +/* 60209 */ {(13<<2)|2,{107,103,0}}, +/* 60210 */ {(13<<2)|2,{107,103,0}}, +/* 60211 */ {(13<<2)|2,{107,103,0}}, +/* 60212 */ {(13<<2)|2,{107,103,0}}, +/* 60213 */ {(13<<2)|2,{107,103,0}}, +/* 60214 */ {(13<<2)|2,{107,103,0}}, +/* 60215 */ {(13<<2)|2,{107,103,0}}, +/* 60216 */ {(13<<2)|2,{107,104,0}}, +/* 60217 */ {(13<<2)|2,{107,104,0}}, +/* 60218 */ {(13<<2)|2,{107,104,0}}, +/* 60219 */ {(13<<2)|2,{107,104,0}}, +/* 60220 */ {(13<<2)|2,{107,104,0}}, +/* 60221 */ {(13<<2)|2,{107,104,0}}, +/* 60222 */ {(13<<2)|2,{107,104,0}}, +/* 60223 */ {(13<<2)|2,{107,104,0}}, +/* 60224 */ {(13<<2)|2,{107,108,0}}, +/* 60225 */ {(13<<2)|2,{107,108,0}}, +/* 60226 */ {(13<<2)|2,{107,108,0}}, +/* 60227 */ {(13<<2)|2,{107,108,0}}, +/* 60228 */ {(13<<2)|2,{107,108,0}}, +/* 60229 */ {(13<<2)|2,{107,108,0}}, +/* 60230 */ {(13<<2)|2,{107,108,0}}, +/* 60231 */ {(13<<2)|2,{107,108,0}}, +/* 60232 */ {(13<<2)|2,{107,109,0}}, +/* 60233 */ {(13<<2)|2,{107,109,0}}, +/* 60234 */ {(13<<2)|2,{107,109,0}}, +/* 60235 */ {(13<<2)|2,{107,109,0}}, +/* 60236 */ {(13<<2)|2,{107,109,0}}, +/* 60237 */ {(13<<2)|2,{107,109,0}}, +/* 60238 */ {(13<<2)|2,{107,109,0}}, +/* 60239 */ {(13<<2)|2,{107,109,0}}, +/* 60240 */ {(13<<2)|2,{107,110,0}}, +/* 60241 */ {(13<<2)|2,{107,110,0}}, +/* 60242 */ {(13<<2)|2,{107,110,0}}, +/* 60243 */ {(13<<2)|2,{107,110,0}}, +/* 60244 */ {(13<<2)|2,{107,110,0}}, +/* 60245 */ {(13<<2)|2,{107,110,0}}, +/* 60246 */ {(13<<2)|2,{107,110,0}}, +/* 60247 */ {(13<<2)|2,{107,110,0}}, +/* 60248 */ {(13<<2)|2,{107,112,0}}, +/* 60249 */ {(13<<2)|2,{107,112,0}}, +/* 60250 */ {(13<<2)|2,{107,112,0}}, +/* 60251 */ {(13<<2)|2,{107,112,0}}, +/* 60252 */ {(13<<2)|2,{107,112,0}}, +/* 60253 */ {(13<<2)|2,{107,112,0}}, +/* 60254 */ {(13<<2)|2,{107,112,0}}, +/* 60255 */ {(13<<2)|2,{107,112,0}}, +/* 60256 */ {(13<<2)|2,{107,114,0}}, +/* 60257 */ {(13<<2)|2,{107,114,0}}, +/* 60258 */ {(13<<2)|2,{107,114,0}}, +/* 60259 */ {(13<<2)|2,{107,114,0}}, +/* 60260 */ {(13<<2)|2,{107,114,0}}, +/* 60261 */ {(13<<2)|2,{107,114,0}}, +/* 60262 */ {(13<<2)|2,{107,114,0}}, +/* 60263 */ {(13<<2)|2,{107,114,0}}, +/* 60264 */ {(13<<2)|2,{107,117,0}}, +/* 60265 */ {(13<<2)|2,{107,117,0}}, +/* 60266 */ {(13<<2)|2,{107,117,0}}, +/* 60267 */ {(13<<2)|2,{107,117,0}}, +/* 60268 */ {(13<<2)|2,{107,117,0}}, +/* 60269 */ {(13<<2)|2,{107,117,0}}, +/* 60270 */ {(13<<2)|2,{107,117,0}}, +/* 60271 */ {(13<<2)|2,{107,117,0}}, +/* 60272 */ {(14<<2)|2,{107,58,0}}, +/* 60273 */ {(14<<2)|2,{107,58,0}}, +/* 60274 */ {(14<<2)|2,{107,58,0}}, +/* 60275 */ {(14<<2)|2,{107,58,0}}, +/* 60276 */ {(14<<2)|2,{107,66,0}}, +/* 60277 */ {(14<<2)|2,{107,66,0}}, +/* 60278 */ {(14<<2)|2,{107,66,0}}, +/* 60279 */ {(14<<2)|2,{107,66,0}}, +/* 60280 */ {(14<<2)|2,{107,67,0}}, +/* 60281 */ {(14<<2)|2,{107,67,0}}, +/* 60282 */ {(14<<2)|2,{107,67,0}}, +/* 60283 */ {(14<<2)|2,{107,67,0}}, +/* 60284 */ {(14<<2)|2,{107,68,0}}, +/* 60285 */ {(14<<2)|2,{107,68,0}}, +/* 60286 */ {(14<<2)|2,{107,68,0}}, +/* 60287 */ {(14<<2)|2,{107,68,0}}, +/* 60288 */ {(14<<2)|2,{107,69,0}}, +/* 60289 */ {(14<<2)|2,{107,69,0}}, +/* 60290 */ {(14<<2)|2,{107,69,0}}, +/* 60291 */ {(14<<2)|2,{107,69,0}}, +/* 60292 */ {(14<<2)|2,{107,70,0}}, +/* 60293 */ {(14<<2)|2,{107,70,0}}, +/* 60294 */ {(14<<2)|2,{107,70,0}}, +/* 60295 */ {(14<<2)|2,{107,70,0}}, +/* 60296 */ {(14<<2)|2,{107,71,0}}, +/* 60297 */ {(14<<2)|2,{107,71,0}}, +/* 60298 */ {(14<<2)|2,{107,71,0}}, +/* 60299 */ {(14<<2)|2,{107,71,0}}, +/* 60300 */ {(14<<2)|2,{107,72,0}}, +/* 60301 */ {(14<<2)|2,{107,72,0}}, +/* 60302 */ {(14<<2)|2,{107,72,0}}, +/* 60303 */ {(14<<2)|2,{107,72,0}}, +/* 60304 */ {(14<<2)|2,{107,73,0}}, +/* 60305 */ {(14<<2)|2,{107,73,0}}, +/* 60306 */ {(14<<2)|2,{107,73,0}}, +/* 60307 */ {(14<<2)|2,{107,73,0}}, +/* 60308 */ {(14<<2)|2,{107,74,0}}, +/* 60309 */ {(14<<2)|2,{107,74,0}}, +/* 60310 */ {(14<<2)|2,{107,74,0}}, +/* 60311 */ {(14<<2)|2,{107,74,0}}, +/* 60312 */ {(14<<2)|2,{107,75,0}}, +/* 60313 */ {(14<<2)|2,{107,75,0}}, +/* 60314 */ {(14<<2)|2,{107,75,0}}, +/* 60315 */ {(14<<2)|2,{107,75,0}}, +/* 60316 */ {(14<<2)|2,{107,76,0}}, +/* 60317 */ {(14<<2)|2,{107,76,0}}, +/* 60318 */ {(14<<2)|2,{107,76,0}}, +/* 60319 */ {(14<<2)|2,{107,76,0}}, +/* 60320 */ {(14<<2)|2,{107,77,0}}, +/* 60321 */ {(14<<2)|2,{107,77,0}}, +/* 60322 */ {(14<<2)|2,{107,77,0}}, +/* 60323 */ {(14<<2)|2,{107,77,0}}, +/* 60324 */ {(14<<2)|2,{107,78,0}}, +/* 60325 */ {(14<<2)|2,{107,78,0}}, +/* 60326 */ {(14<<2)|2,{107,78,0}}, +/* 60327 */ {(14<<2)|2,{107,78,0}}, +/* 60328 */ {(14<<2)|2,{107,79,0}}, +/* 60329 */ {(14<<2)|2,{107,79,0}}, +/* 60330 */ {(14<<2)|2,{107,79,0}}, +/* 60331 */ {(14<<2)|2,{107,79,0}}, +/* 60332 */ {(14<<2)|2,{107,80,0}}, +/* 60333 */ {(14<<2)|2,{107,80,0}}, +/* 60334 */ {(14<<2)|2,{107,80,0}}, +/* 60335 */ {(14<<2)|2,{107,80,0}}, +/* 60336 */ {(14<<2)|2,{107,81,0}}, +/* 60337 */ {(14<<2)|2,{107,81,0}}, +/* 60338 */ {(14<<2)|2,{107,81,0}}, +/* 60339 */ {(14<<2)|2,{107,81,0}}, +/* 60340 */ {(14<<2)|2,{107,82,0}}, +/* 60341 */ {(14<<2)|2,{107,82,0}}, +/* 60342 */ {(14<<2)|2,{107,82,0}}, +/* 60343 */ {(14<<2)|2,{107,82,0}}, +/* 60344 */ {(14<<2)|2,{107,83,0}}, +/* 60345 */ {(14<<2)|2,{107,83,0}}, +/* 60346 */ {(14<<2)|2,{107,83,0}}, +/* 60347 */ {(14<<2)|2,{107,83,0}}, +/* 60348 */ {(14<<2)|2,{107,84,0}}, +/* 60349 */ {(14<<2)|2,{107,84,0}}, +/* 60350 */ {(14<<2)|2,{107,84,0}}, +/* 60351 */ {(14<<2)|2,{107,84,0}}, +/* 60352 */ {(14<<2)|2,{107,85,0}}, +/* 60353 */ {(14<<2)|2,{107,85,0}}, +/* 60354 */ {(14<<2)|2,{107,85,0}}, +/* 60355 */ {(14<<2)|2,{107,85,0}}, +/* 60356 */ {(14<<2)|2,{107,86,0}}, +/* 60357 */ {(14<<2)|2,{107,86,0}}, +/* 60358 */ {(14<<2)|2,{107,86,0}}, +/* 60359 */ {(14<<2)|2,{107,86,0}}, +/* 60360 */ {(14<<2)|2,{107,87,0}}, +/* 60361 */ {(14<<2)|2,{107,87,0}}, +/* 60362 */ {(14<<2)|2,{107,87,0}}, +/* 60363 */ {(14<<2)|2,{107,87,0}}, +/* 60364 */ {(14<<2)|2,{107,89,0}}, +/* 60365 */ {(14<<2)|2,{107,89,0}}, +/* 60366 */ {(14<<2)|2,{107,89,0}}, +/* 60367 */ {(14<<2)|2,{107,89,0}}, +/* 60368 */ {(14<<2)|2,{107,106,0}}, +/* 60369 */ {(14<<2)|2,{107,106,0}}, +/* 60370 */ {(14<<2)|2,{107,106,0}}, +/* 60371 */ {(14<<2)|2,{107,106,0}}, +/* 60372 */ {(14<<2)|2,{107,107,0}}, +/* 60373 */ {(14<<2)|2,{107,107,0}}, +/* 60374 */ {(14<<2)|2,{107,107,0}}, +/* 60375 */ {(14<<2)|2,{107,107,0}}, +/* 60376 */ {(14<<2)|2,{107,113,0}}, +/* 60377 */ {(14<<2)|2,{107,113,0}}, +/* 60378 */ {(14<<2)|2,{107,113,0}}, +/* 60379 */ {(14<<2)|2,{107,113,0}}, +/* 60380 */ {(14<<2)|2,{107,118,0}}, +/* 60381 */ {(14<<2)|2,{107,118,0}}, +/* 60382 */ {(14<<2)|2,{107,118,0}}, +/* 60383 */ {(14<<2)|2,{107,118,0}}, +/* 60384 */ {(14<<2)|2,{107,119,0}}, +/* 60385 */ {(14<<2)|2,{107,119,0}}, +/* 60386 */ {(14<<2)|2,{107,119,0}}, +/* 60387 */ {(14<<2)|2,{107,119,0}}, +/* 60388 */ {(14<<2)|2,{107,120,0}}, +/* 60389 */ {(14<<2)|2,{107,120,0}}, +/* 60390 */ {(14<<2)|2,{107,120,0}}, +/* 60391 */ {(14<<2)|2,{107,120,0}}, +/* 60392 */ {(14<<2)|2,{107,121,0}}, +/* 60393 */ {(14<<2)|2,{107,121,0}}, +/* 60394 */ {(14<<2)|2,{107,121,0}}, +/* 60395 */ {(14<<2)|2,{107,121,0}}, +/* 60396 */ {(14<<2)|2,{107,122,0}}, +/* 60397 */ {(14<<2)|2,{107,122,0}}, +/* 60398 */ {(14<<2)|2,{107,122,0}}, +/* 60399 */ {(14<<2)|2,{107,122,0}}, +/* 60400 */ {(15<<2)|2,{107,38,0}}, +/* 60401 */ {(15<<2)|2,{107,38,0}}, +/* 60402 */ {(15<<2)|2,{107,42,0}}, +/* 60403 */ {(15<<2)|2,{107,42,0}}, +/* 60404 */ {(15<<2)|2,{107,44,0}}, +/* 60405 */ {(15<<2)|2,{107,44,0}}, +/* 60406 */ {(15<<2)|2,{107,59,0}}, +/* 60407 */ {(15<<2)|2,{107,59,0}}, +/* 60408 */ {(15<<2)|2,{107,88,0}}, +/* 60409 */ {(15<<2)|2,{107,88,0}}, +/* 60410 */ {(15<<2)|2,{107,90,0}}, +/* 60411 */ {(15<<2)|2,{107,90,0}}, +/* 60412 */ {(7<<2)|1,{107,0,0}}, +/* 60413 */ {(7<<2)|1,{107,0,0}}, +/* 60414 */ {(7<<2)|1,{107,0,0}}, +/* 60415 */ {(7<<2)|1,{107,0,0}}, +/* 60416 */ {(12<<2)|2,{113,48,0}}, +/* 60417 */ {(12<<2)|2,{113,48,0}}, +/* 60418 */ {(12<<2)|2,{113,48,0}}, +/* 60419 */ {(12<<2)|2,{113,48,0}}, +/* 60420 */ {(12<<2)|2,{113,48,0}}, +/* 60421 */ {(12<<2)|2,{113,48,0}}, +/* 60422 */ {(12<<2)|2,{113,48,0}}, +/* 60423 */ {(12<<2)|2,{113,48,0}}, +/* 60424 */ {(12<<2)|2,{113,48,0}}, +/* 60425 */ {(12<<2)|2,{113,48,0}}, +/* 60426 */ {(12<<2)|2,{113,48,0}}, +/* 60427 */ {(12<<2)|2,{113,48,0}}, +/* 60428 */ {(12<<2)|2,{113,48,0}}, +/* 60429 */ {(12<<2)|2,{113,48,0}}, +/* 60430 */ {(12<<2)|2,{113,48,0}}, +/* 60431 */ {(12<<2)|2,{113,48,0}}, +/* 60432 */ {(12<<2)|2,{113,49,0}}, +/* 60433 */ {(12<<2)|2,{113,49,0}}, +/* 60434 */ {(12<<2)|2,{113,49,0}}, +/* 60435 */ {(12<<2)|2,{113,49,0}}, +/* 60436 */ {(12<<2)|2,{113,49,0}}, +/* 60437 */ {(12<<2)|2,{113,49,0}}, +/* 60438 */ {(12<<2)|2,{113,49,0}}, +/* 60439 */ {(12<<2)|2,{113,49,0}}, +/* 60440 */ {(12<<2)|2,{113,49,0}}, +/* 60441 */ {(12<<2)|2,{113,49,0}}, +/* 60442 */ {(12<<2)|2,{113,49,0}}, +/* 60443 */ {(12<<2)|2,{113,49,0}}, +/* 60444 */ {(12<<2)|2,{113,49,0}}, +/* 60445 */ {(12<<2)|2,{113,49,0}}, +/* 60446 */ {(12<<2)|2,{113,49,0}}, +/* 60447 */ {(12<<2)|2,{113,49,0}}, +/* 60448 */ {(12<<2)|2,{113,50,0}}, +/* 60449 */ {(12<<2)|2,{113,50,0}}, +/* 60450 */ {(12<<2)|2,{113,50,0}}, +/* 60451 */ {(12<<2)|2,{113,50,0}}, +/* 60452 */ {(12<<2)|2,{113,50,0}}, +/* 60453 */ {(12<<2)|2,{113,50,0}}, +/* 60454 */ {(12<<2)|2,{113,50,0}}, +/* 60455 */ {(12<<2)|2,{113,50,0}}, +/* 60456 */ {(12<<2)|2,{113,50,0}}, +/* 60457 */ {(12<<2)|2,{113,50,0}}, +/* 60458 */ {(12<<2)|2,{113,50,0}}, +/* 60459 */ {(12<<2)|2,{113,50,0}}, +/* 60460 */ {(12<<2)|2,{113,50,0}}, +/* 60461 */ {(12<<2)|2,{113,50,0}}, +/* 60462 */ {(12<<2)|2,{113,50,0}}, +/* 60463 */ {(12<<2)|2,{113,50,0}}, +/* 60464 */ {(12<<2)|2,{113,97,0}}, +/* 60465 */ {(12<<2)|2,{113,97,0}}, +/* 60466 */ {(12<<2)|2,{113,97,0}}, +/* 60467 */ {(12<<2)|2,{113,97,0}}, +/* 60468 */ {(12<<2)|2,{113,97,0}}, +/* 60469 */ {(12<<2)|2,{113,97,0}}, +/* 60470 */ {(12<<2)|2,{113,97,0}}, +/* 60471 */ {(12<<2)|2,{113,97,0}}, +/* 60472 */ {(12<<2)|2,{113,97,0}}, +/* 60473 */ {(12<<2)|2,{113,97,0}}, +/* 60474 */ {(12<<2)|2,{113,97,0}}, +/* 60475 */ {(12<<2)|2,{113,97,0}}, +/* 60476 */ {(12<<2)|2,{113,97,0}}, +/* 60477 */ {(12<<2)|2,{113,97,0}}, +/* 60478 */ {(12<<2)|2,{113,97,0}}, +/* 60479 */ {(12<<2)|2,{113,97,0}}, +/* 60480 */ {(12<<2)|2,{113,99,0}}, +/* 60481 */ {(12<<2)|2,{113,99,0}}, +/* 60482 */ {(12<<2)|2,{113,99,0}}, +/* 60483 */ {(12<<2)|2,{113,99,0}}, +/* 60484 */ {(12<<2)|2,{113,99,0}}, +/* 60485 */ {(12<<2)|2,{113,99,0}}, +/* 60486 */ {(12<<2)|2,{113,99,0}}, +/* 60487 */ {(12<<2)|2,{113,99,0}}, +/* 60488 */ {(12<<2)|2,{113,99,0}}, +/* 60489 */ {(12<<2)|2,{113,99,0}}, +/* 60490 */ {(12<<2)|2,{113,99,0}}, +/* 60491 */ {(12<<2)|2,{113,99,0}}, +/* 60492 */ {(12<<2)|2,{113,99,0}}, +/* 60493 */ {(12<<2)|2,{113,99,0}}, +/* 60494 */ {(12<<2)|2,{113,99,0}}, +/* 60495 */ {(12<<2)|2,{113,99,0}}, +/* 60496 */ {(12<<2)|2,{113,101,0}}, +/* 60497 */ {(12<<2)|2,{113,101,0}}, +/* 60498 */ {(12<<2)|2,{113,101,0}}, +/* 60499 */ {(12<<2)|2,{113,101,0}}, +/* 60500 */ {(12<<2)|2,{113,101,0}}, +/* 60501 */ {(12<<2)|2,{113,101,0}}, +/* 60502 */ {(12<<2)|2,{113,101,0}}, +/* 60503 */ {(12<<2)|2,{113,101,0}}, +/* 60504 */ {(12<<2)|2,{113,101,0}}, +/* 60505 */ {(12<<2)|2,{113,101,0}}, +/* 60506 */ {(12<<2)|2,{113,101,0}}, +/* 60507 */ {(12<<2)|2,{113,101,0}}, +/* 60508 */ {(12<<2)|2,{113,101,0}}, +/* 60509 */ {(12<<2)|2,{113,101,0}}, +/* 60510 */ {(12<<2)|2,{113,101,0}}, +/* 60511 */ {(12<<2)|2,{113,101,0}}, +/* 60512 */ {(12<<2)|2,{113,105,0}}, +/* 60513 */ {(12<<2)|2,{113,105,0}}, +/* 60514 */ {(12<<2)|2,{113,105,0}}, +/* 60515 */ {(12<<2)|2,{113,105,0}}, +/* 60516 */ {(12<<2)|2,{113,105,0}}, +/* 60517 */ {(12<<2)|2,{113,105,0}}, +/* 60518 */ {(12<<2)|2,{113,105,0}}, +/* 60519 */ {(12<<2)|2,{113,105,0}}, +/* 60520 */ {(12<<2)|2,{113,105,0}}, +/* 60521 */ {(12<<2)|2,{113,105,0}}, +/* 60522 */ {(12<<2)|2,{113,105,0}}, +/* 60523 */ {(12<<2)|2,{113,105,0}}, +/* 60524 */ {(12<<2)|2,{113,105,0}}, +/* 60525 */ {(12<<2)|2,{113,105,0}}, +/* 60526 */ {(12<<2)|2,{113,105,0}}, +/* 60527 */ {(12<<2)|2,{113,105,0}}, +/* 60528 */ {(12<<2)|2,{113,111,0}}, +/* 60529 */ {(12<<2)|2,{113,111,0}}, +/* 60530 */ {(12<<2)|2,{113,111,0}}, +/* 60531 */ {(12<<2)|2,{113,111,0}}, +/* 60532 */ {(12<<2)|2,{113,111,0}}, +/* 60533 */ {(12<<2)|2,{113,111,0}}, +/* 60534 */ {(12<<2)|2,{113,111,0}}, +/* 60535 */ {(12<<2)|2,{113,111,0}}, +/* 60536 */ {(12<<2)|2,{113,111,0}}, +/* 60537 */ {(12<<2)|2,{113,111,0}}, +/* 60538 */ {(12<<2)|2,{113,111,0}}, +/* 60539 */ {(12<<2)|2,{113,111,0}}, +/* 60540 */ {(12<<2)|2,{113,111,0}}, +/* 60541 */ {(12<<2)|2,{113,111,0}}, +/* 60542 */ {(12<<2)|2,{113,111,0}}, +/* 60543 */ {(12<<2)|2,{113,111,0}}, +/* 60544 */ {(12<<2)|2,{113,115,0}}, +/* 60545 */ {(12<<2)|2,{113,115,0}}, +/* 60546 */ {(12<<2)|2,{113,115,0}}, +/* 60547 */ {(12<<2)|2,{113,115,0}}, +/* 60548 */ {(12<<2)|2,{113,115,0}}, +/* 60549 */ {(12<<2)|2,{113,115,0}}, +/* 60550 */ {(12<<2)|2,{113,115,0}}, +/* 60551 */ {(12<<2)|2,{113,115,0}}, +/* 60552 */ {(12<<2)|2,{113,115,0}}, +/* 60553 */ {(12<<2)|2,{113,115,0}}, +/* 60554 */ {(12<<2)|2,{113,115,0}}, +/* 60555 */ {(12<<2)|2,{113,115,0}}, +/* 60556 */ {(12<<2)|2,{113,115,0}}, +/* 60557 */ {(12<<2)|2,{113,115,0}}, +/* 60558 */ {(12<<2)|2,{113,115,0}}, +/* 60559 */ {(12<<2)|2,{113,115,0}}, +/* 60560 */ {(12<<2)|2,{113,116,0}}, +/* 60561 */ {(12<<2)|2,{113,116,0}}, +/* 60562 */ {(12<<2)|2,{113,116,0}}, +/* 60563 */ {(12<<2)|2,{113,116,0}}, +/* 60564 */ {(12<<2)|2,{113,116,0}}, +/* 60565 */ {(12<<2)|2,{113,116,0}}, +/* 60566 */ {(12<<2)|2,{113,116,0}}, +/* 60567 */ {(12<<2)|2,{113,116,0}}, +/* 60568 */ {(12<<2)|2,{113,116,0}}, +/* 60569 */ {(12<<2)|2,{113,116,0}}, +/* 60570 */ {(12<<2)|2,{113,116,0}}, +/* 60571 */ {(12<<2)|2,{113,116,0}}, +/* 60572 */ {(12<<2)|2,{113,116,0}}, +/* 60573 */ {(12<<2)|2,{113,116,0}}, +/* 60574 */ {(12<<2)|2,{113,116,0}}, +/* 60575 */ {(12<<2)|2,{113,116,0}}, +/* 60576 */ {(13<<2)|2,{113,32,0}}, +/* 60577 */ {(13<<2)|2,{113,32,0}}, +/* 60578 */ {(13<<2)|2,{113,32,0}}, +/* 60579 */ {(13<<2)|2,{113,32,0}}, +/* 60580 */ {(13<<2)|2,{113,32,0}}, +/* 60581 */ {(13<<2)|2,{113,32,0}}, +/* 60582 */ {(13<<2)|2,{113,32,0}}, +/* 60583 */ {(13<<2)|2,{113,32,0}}, +/* 60584 */ {(13<<2)|2,{113,37,0}}, +/* 60585 */ {(13<<2)|2,{113,37,0}}, +/* 60586 */ {(13<<2)|2,{113,37,0}}, +/* 60587 */ {(13<<2)|2,{113,37,0}}, +/* 60588 */ {(13<<2)|2,{113,37,0}}, +/* 60589 */ {(13<<2)|2,{113,37,0}}, +/* 60590 */ {(13<<2)|2,{113,37,0}}, +/* 60591 */ {(13<<2)|2,{113,37,0}}, +/* 60592 */ {(13<<2)|2,{113,45,0}}, +/* 60593 */ {(13<<2)|2,{113,45,0}}, +/* 60594 */ {(13<<2)|2,{113,45,0}}, +/* 60595 */ {(13<<2)|2,{113,45,0}}, +/* 60596 */ {(13<<2)|2,{113,45,0}}, +/* 60597 */ {(13<<2)|2,{113,45,0}}, +/* 60598 */ {(13<<2)|2,{113,45,0}}, +/* 60599 */ {(13<<2)|2,{113,45,0}}, +/* 60600 */ {(13<<2)|2,{113,46,0}}, +/* 60601 */ {(13<<2)|2,{113,46,0}}, +/* 60602 */ {(13<<2)|2,{113,46,0}}, +/* 60603 */ {(13<<2)|2,{113,46,0}}, +/* 60604 */ {(13<<2)|2,{113,46,0}}, +/* 60605 */ {(13<<2)|2,{113,46,0}}, +/* 60606 */ {(13<<2)|2,{113,46,0}}, +/* 60607 */ {(13<<2)|2,{113,46,0}}, +/* 60608 */ {(13<<2)|2,{113,47,0}}, +/* 60609 */ {(13<<2)|2,{113,47,0}}, +/* 60610 */ {(13<<2)|2,{113,47,0}}, +/* 60611 */ {(13<<2)|2,{113,47,0}}, +/* 60612 */ {(13<<2)|2,{113,47,0}}, +/* 60613 */ {(13<<2)|2,{113,47,0}}, +/* 60614 */ {(13<<2)|2,{113,47,0}}, +/* 60615 */ {(13<<2)|2,{113,47,0}}, +/* 60616 */ {(13<<2)|2,{113,51,0}}, +/* 60617 */ {(13<<2)|2,{113,51,0}}, +/* 60618 */ {(13<<2)|2,{113,51,0}}, +/* 60619 */ {(13<<2)|2,{113,51,0}}, +/* 60620 */ {(13<<2)|2,{113,51,0}}, +/* 60621 */ {(13<<2)|2,{113,51,0}}, +/* 60622 */ {(13<<2)|2,{113,51,0}}, +/* 60623 */ {(13<<2)|2,{113,51,0}}, +/* 60624 */ {(13<<2)|2,{113,52,0}}, +/* 60625 */ {(13<<2)|2,{113,52,0}}, +/* 60626 */ {(13<<2)|2,{113,52,0}}, +/* 60627 */ {(13<<2)|2,{113,52,0}}, +/* 60628 */ {(13<<2)|2,{113,52,0}}, +/* 60629 */ {(13<<2)|2,{113,52,0}}, +/* 60630 */ {(13<<2)|2,{113,52,0}}, +/* 60631 */ {(13<<2)|2,{113,52,0}}, +/* 60632 */ {(13<<2)|2,{113,53,0}}, +/* 60633 */ {(13<<2)|2,{113,53,0}}, +/* 60634 */ {(13<<2)|2,{113,53,0}}, +/* 60635 */ {(13<<2)|2,{113,53,0}}, +/* 60636 */ {(13<<2)|2,{113,53,0}}, +/* 60637 */ {(13<<2)|2,{113,53,0}}, +/* 60638 */ {(13<<2)|2,{113,53,0}}, +/* 60639 */ {(13<<2)|2,{113,53,0}}, +/* 60640 */ {(13<<2)|2,{113,54,0}}, +/* 60641 */ {(13<<2)|2,{113,54,0}}, +/* 60642 */ {(13<<2)|2,{113,54,0}}, +/* 60643 */ {(13<<2)|2,{113,54,0}}, +/* 60644 */ {(13<<2)|2,{113,54,0}}, +/* 60645 */ {(13<<2)|2,{113,54,0}}, +/* 60646 */ {(13<<2)|2,{113,54,0}}, +/* 60647 */ {(13<<2)|2,{113,54,0}}, +/* 60648 */ {(13<<2)|2,{113,55,0}}, +/* 60649 */ {(13<<2)|2,{113,55,0}}, +/* 60650 */ {(13<<2)|2,{113,55,0}}, +/* 60651 */ {(13<<2)|2,{113,55,0}}, +/* 60652 */ {(13<<2)|2,{113,55,0}}, +/* 60653 */ {(13<<2)|2,{113,55,0}}, +/* 60654 */ {(13<<2)|2,{113,55,0}}, +/* 60655 */ {(13<<2)|2,{113,55,0}}, +/* 60656 */ {(13<<2)|2,{113,56,0}}, +/* 60657 */ {(13<<2)|2,{113,56,0}}, +/* 60658 */ {(13<<2)|2,{113,56,0}}, +/* 60659 */ {(13<<2)|2,{113,56,0}}, +/* 60660 */ {(13<<2)|2,{113,56,0}}, +/* 60661 */ {(13<<2)|2,{113,56,0}}, +/* 60662 */ {(13<<2)|2,{113,56,0}}, +/* 60663 */ {(13<<2)|2,{113,56,0}}, +/* 60664 */ {(13<<2)|2,{113,57,0}}, +/* 60665 */ {(13<<2)|2,{113,57,0}}, +/* 60666 */ {(13<<2)|2,{113,57,0}}, +/* 60667 */ {(13<<2)|2,{113,57,0}}, +/* 60668 */ {(13<<2)|2,{113,57,0}}, +/* 60669 */ {(13<<2)|2,{113,57,0}}, +/* 60670 */ {(13<<2)|2,{113,57,0}}, +/* 60671 */ {(13<<2)|2,{113,57,0}}, +/* 60672 */ {(13<<2)|2,{113,61,0}}, +/* 60673 */ {(13<<2)|2,{113,61,0}}, +/* 60674 */ {(13<<2)|2,{113,61,0}}, +/* 60675 */ {(13<<2)|2,{113,61,0}}, +/* 60676 */ {(13<<2)|2,{113,61,0}}, +/* 60677 */ {(13<<2)|2,{113,61,0}}, +/* 60678 */ {(13<<2)|2,{113,61,0}}, +/* 60679 */ {(13<<2)|2,{113,61,0}}, +/* 60680 */ {(13<<2)|2,{113,65,0}}, +/* 60681 */ {(13<<2)|2,{113,65,0}}, +/* 60682 */ {(13<<2)|2,{113,65,0}}, +/* 60683 */ {(13<<2)|2,{113,65,0}}, +/* 60684 */ {(13<<2)|2,{113,65,0}}, +/* 60685 */ {(13<<2)|2,{113,65,0}}, +/* 60686 */ {(13<<2)|2,{113,65,0}}, +/* 60687 */ {(13<<2)|2,{113,65,0}}, +/* 60688 */ {(13<<2)|2,{113,95,0}}, +/* 60689 */ {(13<<2)|2,{113,95,0}}, +/* 60690 */ {(13<<2)|2,{113,95,0}}, +/* 60691 */ {(13<<2)|2,{113,95,0}}, +/* 60692 */ {(13<<2)|2,{113,95,0}}, +/* 60693 */ {(13<<2)|2,{113,95,0}}, +/* 60694 */ {(13<<2)|2,{113,95,0}}, +/* 60695 */ {(13<<2)|2,{113,95,0}}, +/* 60696 */ {(13<<2)|2,{113,98,0}}, +/* 60697 */ {(13<<2)|2,{113,98,0}}, +/* 60698 */ {(13<<2)|2,{113,98,0}}, +/* 60699 */ {(13<<2)|2,{113,98,0}}, +/* 60700 */ {(13<<2)|2,{113,98,0}}, +/* 60701 */ {(13<<2)|2,{113,98,0}}, +/* 60702 */ {(13<<2)|2,{113,98,0}}, +/* 60703 */ {(13<<2)|2,{113,98,0}}, +/* 60704 */ {(13<<2)|2,{113,100,0}}, +/* 60705 */ {(13<<2)|2,{113,100,0}}, +/* 60706 */ {(13<<2)|2,{113,100,0}}, +/* 60707 */ {(13<<2)|2,{113,100,0}}, +/* 60708 */ {(13<<2)|2,{113,100,0}}, +/* 60709 */ {(13<<2)|2,{113,100,0}}, +/* 60710 */ {(13<<2)|2,{113,100,0}}, +/* 60711 */ {(13<<2)|2,{113,100,0}}, +/* 60712 */ {(13<<2)|2,{113,102,0}}, +/* 60713 */ {(13<<2)|2,{113,102,0}}, +/* 60714 */ {(13<<2)|2,{113,102,0}}, +/* 60715 */ {(13<<2)|2,{113,102,0}}, +/* 60716 */ {(13<<2)|2,{113,102,0}}, +/* 60717 */ {(13<<2)|2,{113,102,0}}, +/* 60718 */ {(13<<2)|2,{113,102,0}}, +/* 60719 */ {(13<<2)|2,{113,102,0}}, +/* 60720 */ {(13<<2)|2,{113,103,0}}, +/* 60721 */ {(13<<2)|2,{113,103,0}}, +/* 60722 */ {(13<<2)|2,{113,103,0}}, +/* 60723 */ {(13<<2)|2,{113,103,0}}, +/* 60724 */ {(13<<2)|2,{113,103,0}}, +/* 60725 */ {(13<<2)|2,{113,103,0}}, +/* 60726 */ {(13<<2)|2,{113,103,0}}, +/* 60727 */ {(13<<2)|2,{113,103,0}}, +/* 60728 */ {(13<<2)|2,{113,104,0}}, +/* 60729 */ {(13<<2)|2,{113,104,0}}, +/* 60730 */ {(13<<2)|2,{113,104,0}}, +/* 60731 */ {(13<<2)|2,{113,104,0}}, +/* 60732 */ {(13<<2)|2,{113,104,0}}, +/* 60733 */ {(13<<2)|2,{113,104,0}}, +/* 60734 */ {(13<<2)|2,{113,104,0}}, +/* 60735 */ {(13<<2)|2,{113,104,0}}, +/* 60736 */ {(13<<2)|2,{113,108,0}}, +/* 60737 */ {(13<<2)|2,{113,108,0}}, +/* 60738 */ {(13<<2)|2,{113,108,0}}, +/* 60739 */ {(13<<2)|2,{113,108,0}}, +/* 60740 */ {(13<<2)|2,{113,108,0}}, +/* 60741 */ {(13<<2)|2,{113,108,0}}, +/* 60742 */ {(13<<2)|2,{113,108,0}}, +/* 60743 */ {(13<<2)|2,{113,108,0}}, +/* 60744 */ {(13<<2)|2,{113,109,0}}, +/* 60745 */ {(13<<2)|2,{113,109,0}}, +/* 60746 */ {(13<<2)|2,{113,109,0}}, +/* 60747 */ {(13<<2)|2,{113,109,0}}, +/* 60748 */ {(13<<2)|2,{113,109,0}}, +/* 60749 */ {(13<<2)|2,{113,109,0}}, +/* 60750 */ {(13<<2)|2,{113,109,0}}, +/* 60751 */ {(13<<2)|2,{113,109,0}}, +/* 60752 */ {(13<<2)|2,{113,110,0}}, +/* 60753 */ {(13<<2)|2,{113,110,0}}, +/* 60754 */ {(13<<2)|2,{113,110,0}}, +/* 60755 */ {(13<<2)|2,{113,110,0}}, +/* 60756 */ {(13<<2)|2,{113,110,0}}, +/* 60757 */ {(13<<2)|2,{113,110,0}}, +/* 60758 */ {(13<<2)|2,{113,110,0}}, +/* 60759 */ {(13<<2)|2,{113,110,0}}, +/* 60760 */ {(13<<2)|2,{113,112,0}}, +/* 60761 */ {(13<<2)|2,{113,112,0}}, +/* 60762 */ {(13<<2)|2,{113,112,0}}, +/* 60763 */ {(13<<2)|2,{113,112,0}}, +/* 60764 */ {(13<<2)|2,{113,112,0}}, +/* 60765 */ {(13<<2)|2,{113,112,0}}, +/* 60766 */ {(13<<2)|2,{113,112,0}}, +/* 60767 */ {(13<<2)|2,{113,112,0}}, +/* 60768 */ {(13<<2)|2,{113,114,0}}, +/* 60769 */ {(13<<2)|2,{113,114,0}}, +/* 60770 */ {(13<<2)|2,{113,114,0}}, +/* 60771 */ {(13<<2)|2,{113,114,0}}, +/* 60772 */ {(13<<2)|2,{113,114,0}}, +/* 60773 */ {(13<<2)|2,{113,114,0}}, +/* 60774 */ {(13<<2)|2,{113,114,0}}, +/* 60775 */ {(13<<2)|2,{113,114,0}}, +/* 60776 */ {(13<<2)|2,{113,117,0}}, +/* 60777 */ {(13<<2)|2,{113,117,0}}, +/* 60778 */ {(13<<2)|2,{113,117,0}}, +/* 60779 */ {(13<<2)|2,{113,117,0}}, +/* 60780 */ {(13<<2)|2,{113,117,0}}, +/* 60781 */ {(13<<2)|2,{113,117,0}}, +/* 60782 */ {(13<<2)|2,{113,117,0}}, +/* 60783 */ {(13<<2)|2,{113,117,0}}, +/* 60784 */ {(14<<2)|2,{113,58,0}}, +/* 60785 */ {(14<<2)|2,{113,58,0}}, +/* 60786 */ {(14<<2)|2,{113,58,0}}, +/* 60787 */ {(14<<2)|2,{113,58,0}}, +/* 60788 */ {(14<<2)|2,{113,66,0}}, +/* 60789 */ {(14<<2)|2,{113,66,0}}, +/* 60790 */ {(14<<2)|2,{113,66,0}}, +/* 60791 */ {(14<<2)|2,{113,66,0}}, +/* 60792 */ {(14<<2)|2,{113,67,0}}, +/* 60793 */ {(14<<2)|2,{113,67,0}}, +/* 60794 */ {(14<<2)|2,{113,67,0}}, +/* 60795 */ {(14<<2)|2,{113,67,0}}, +/* 60796 */ {(14<<2)|2,{113,68,0}}, +/* 60797 */ {(14<<2)|2,{113,68,0}}, +/* 60798 */ {(14<<2)|2,{113,68,0}}, +/* 60799 */ {(14<<2)|2,{113,68,0}}, +/* 60800 */ {(14<<2)|2,{113,69,0}}, +/* 60801 */ {(14<<2)|2,{113,69,0}}, +/* 60802 */ {(14<<2)|2,{113,69,0}}, +/* 60803 */ {(14<<2)|2,{113,69,0}}, +/* 60804 */ {(14<<2)|2,{113,70,0}}, +/* 60805 */ {(14<<2)|2,{113,70,0}}, +/* 60806 */ {(14<<2)|2,{113,70,0}}, +/* 60807 */ {(14<<2)|2,{113,70,0}}, +/* 60808 */ {(14<<2)|2,{113,71,0}}, +/* 60809 */ {(14<<2)|2,{113,71,0}}, +/* 60810 */ {(14<<2)|2,{113,71,0}}, +/* 60811 */ {(14<<2)|2,{113,71,0}}, +/* 60812 */ {(14<<2)|2,{113,72,0}}, +/* 60813 */ {(14<<2)|2,{113,72,0}}, +/* 60814 */ {(14<<2)|2,{113,72,0}}, +/* 60815 */ {(14<<2)|2,{113,72,0}}, +/* 60816 */ {(14<<2)|2,{113,73,0}}, +/* 60817 */ {(14<<2)|2,{113,73,0}}, +/* 60818 */ {(14<<2)|2,{113,73,0}}, +/* 60819 */ {(14<<2)|2,{113,73,0}}, +/* 60820 */ {(14<<2)|2,{113,74,0}}, +/* 60821 */ {(14<<2)|2,{113,74,0}}, +/* 60822 */ {(14<<2)|2,{113,74,0}}, +/* 60823 */ {(14<<2)|2,{113,74,0}}, +/* 60824 */ {(14<<2)|2,{113,75,0}}, +/* 60825 */ {(14<<2)|2,{113,75,0}}, +/* 60826 */ {(14<<2)|2,{113,75,0}}, +/* 60827 */ {(14<<2)|2,{113,75,0}}, +/* 60828 */ {(14<<2)|2,{113,76,0}}, +/* 60829 */ {(14<<2)|2,{113,76,0}}, +/* 60830 */ {(14<<2)|2,{113,76,0}}, +/* 60831 */ {(14<<2)|2,{113,76,0}}, +/* 60832 */ {(14<<2)|2,{113,77,0}}, +/* 60833 */ {(14<<2)|2,{113,77,0}}, +/* 60834 */ {(14<<2)|2,{113,77,0}}, +/* 60835 */ {(14<<2)|2,{113,77,0}}, +/* 60836 */ {(14<<2)|2,{113,78,0}}, +/* 60837 */ {(14<<2)|2,{113,78,0}}, +/* 60838 */ {(14<<2)|2,{113,78,0}}, +/* 60839 */ {(14<<2)|2,{113,78,0}}, +/* 60840 */ {(14<<2)|2,{113,79,0}}, +/* 60841 */ {(14<<2)|2,{113,79,0}}, +/* 60842 */ {(14<<2)|2,{113,79,0}}, +/* 60843 */ {(14<<2)|2,{113,79,0}}, +/* 60844 */ {(14<<2)|2,{113,80,0}}, +/* 60845 */ {(14<<2)|2,{113,80,0}}, +/* 60846 */ {(14<<2)|2,{113,80,0}}, +/* 60847 */ {(14<<2)|2,{113,80,0}}, +/* 60848 */ {(14<<2)|2,{113,81,0}}, +/* 60849 */ {(14<<2)|2,{113,81,0}}, +/* 60850 */ {(14<<2)|2,{113,81,0}}, +/* 60851 */ {(14<<2)|2,{113,81,0}}, +/* 60852 */ {(14<<2)|2,{113,82,0}}, +/* 60853 */ {(14<<2)|2,{113,82,0}}, +/* 60854 */ {(14<<2)|2,{113,82,0}}, +/* 60855 */ {(14<<2)|2,{113,82,0}}, +/* 60856 */ {(14<<2)|2,{113,83,0}}, +/* 60857 */ {(14<<2)|2,{113,83,0}}, +/* 60858 */ {(14<<2)|2,{113,83,0}}, +/* 60859 */ {(14<<2)|2,{113,83,0}}, +/* 60860 */ {(14<<2)|2,{113,84,0}}, +/* 60861 */ {(14<<2)|2,{113,84,0}}, +/* 60862 */ {(14<<2)|2,{113,84,0}}, +/* 60863 */ {(14<<2)|2,{113,84,0}}, +/* 60864 */ {(14<<2)|2,{113,85,0}}, +/* 60865 */ {(14<<2)|2,{113,85,0}}, +/* 60866 */ {(14<<2)|2,{113,85,0}}, +/* 60867 */ {(14<<2)|2,{113,85,0}}, +/* 60868 */ {(14<<2)|2,{113,86,0}}, +/* 60869 */ {(14<<2)|2,{113,86,0}}, +/* 60870 */ {(14<<2)|2,{113,86,0}}, +/* 60871 */ {(14<<2)|2,{113,86,0}}, +/* 60872 */ {(14<<2)|2,{113,87,0}}, +/* 60873 */ {(14<<2)|2,{113,87,0}}, +/* 60874 */ {(14<<2)|2,{113,87,0}}, +/* 60875 */ {(14<<2)|2,{113,87,0}}, +/* 60876 */ {(14<<2)|2,{113,89,0}}, +/* 60877 */ {(14<<2)|2,{113,89,0}}, +/* 60878 */ {(14<<2)|2,{113,89,0}}, +/* 60879 */ {(14<<2)|2,{113,89,0}}, +/* 60880 */ {(14<<2)|2,{113,106,0}}, +/* 60881 */ {(14<<2)|2,{113,106,0}}, +/* 60882 */ {(14<<2)|2,{113,106,0}}, +/* 60883 */ {(14<<2)|2,{113,106,0}}, +/* 60884 */ {(14<<2)|2,{113,107,0}}, +/* 60885 */ {(14<<2)|2,{113,107,0}}, +/* 60886 */ {(14<<2)|2,{113,107,0}}, +/* 60887 */ {(14<<2)|2,{113,107,0}}, +/* 60888 */ {(14<<2)|2,{113,113,0}}, +/* 60889 */ {(14<<2)|2,{113,113,0}}, +/* 60890 */ {(14<<2)|2,{113,113,0}}, +/* 60891 */ {(14<<2)|2,{113,113,0}}, +/* 60892 */ {(14<<2)|2,{113,118,0}}, +/* 60893 */ {(14<<2)|2,{113,118,0}}, +/* 60894 */ {(14<<2)|2,{113,118,0}}, +/* 60895 */ {(14<<2)|2,{113,118,0}}, +/* 60896 */ {(14<<2)|2,{113,119,0}}, +/* 60897 */ {(14<<2)|2,{113,119,0}}, +/* 60898 */ {(14<<2)|2,{113,119,0}}, +/* 60899 */ {(14<<2)|2,{113,119,0}}, +/* 60900 */ {(14<<2)|2,{113,120,0}}, +/* 60901 */ {(14<<2)|2,{113,120,0}}, +/* 60902 */ {(14<<2)|2,{113,120,0}}, +/* 60903 */ {(14<<2)|2,{113,120,0}}, +/* 60904 */ {(14<<2)|2,{113,121,0}}, +/* 60905 */ {(14<<2)|2,{113,121,0}}, +/* 60906 */ {(14<<2)|2,{113,121,0}}, +/* 60907 */ {(14<<2)|2,{113,121,0}}, +/* 60908 */ {(14<<2)|2,{113,122,0}}, +/* 60909 */ {(14<<2)|2,{113,122,0}}, +/* 60910 */ {(14<<2)|2,{113,122,0}}, +/* 60911 */ {(14<<2)|2,{113,122,0}}, +/* 60912 */ {(15<<2)|2,{113,38,0}}, +/* 60913 */ {(15<<2)|2,{113,38,0}}, +/* 60914 */ {(15<<2)|2,{113,42,0}}, +/* 60915 */ {(15<<2)|2,{113,42,0}}, +/* 60916 */ {(15<<2)|2,{113,44,0}}, +/* 60917 */ {(15<<2)|2,{113,44,0}}, +/* 60918 */ {(15<<2)|2,{113,59,0}}, +/* 60919 */ {(15<<2)|2,{113,59,0}}, +/* 60920 */ {(15<<2)|2,{113,88,0}}, +/* 60921 */ {(15<<2)|2,{113,88,0}}, +/* 60922 */ {(15<<2)|2,{113,90,0}}, +/* 60923 */ {(15<<2)|2,{113,90,0}}, +/* 60924 */ {(7<<2)|1,{113,0,0}}, +/* 60925 */ {(7<<2)|1,{113,0,0}}, +/* 60926 */ {(7<<2)|1,{113,0,0}}, +/* 60927 */ {(7<<2)|1,{113,0,0}}, +/* 60928 */ {(12<<2)|2,{118,48,0}}, +/* 60929 */ {(12<<2)|2,{118,48,0}}, +/* 60930 */ {(12<<2)|2,{118,48,0}}, +/* 60931 */ {(12<<2)|2,{118,48,0}}, +/* 60932 */ {(12<<2)|2,{118,48,0}}, +/* 60933 */ {(12<<2)|2,{118,48,0}}, +/* 60934 */ {(12<<2)|2,{118,48,0}}, +/* 60935 */ {(12<<2)|2,{118,48,0}}, +/* 60936 */ {(12<<2)|2,{118,48,0}}, +/* 60937 */ {(12<<2)|2,{118,48,0}}, +/* 60938 */ {(12<<2)|2,{118,48,0}}, +/* 60939 */ {(12<<2)|2,{118,48,0}}, +/* 60940 */ {(12<<2)|2,{118,48,0}}, +/* 60941 */ {(12<<2)|2,{118,48,0}}, +/* 60942 */ {(12<<2)|2,{118,48,0}}, +/* 60943 */ {(12<<2)|2,{118,48,0}}, +/* 60944 */ {(12<<2)|2,{118,49,0}}, +/* 60945 */ {(12<<2)|2,{118,49,0}}, +/* 60946 */ {(12<<2)|2,{118,49,0}}, +/* 60947 */ {(12<<2)|2,{118,49,0}}, +/* 60948 */ {(12<<2)|2,{118,49,0}}, +/* 60949 */ {(12<<2)|2,{118,49,0}}, +/* 60950 */ {(12<<2)|2,{118,49,0}}, +/* 60951 */ {(12<<2)|2,{118,49,0}}, +/* 60952 */ {(12<<2)|2,{118,49,0}}, +/* 60953 */ {(12<<2)|2,{118,49,0}}, +/* 60954 */ {(12<<2)|2,{118,49,0}}, +/* 60955 */ {(12<<2)|2,{118,49,0}}, +/* 60956 */ {(12<<2)|2,{118,49,0}}, +/* 60957 */ {(12<<2)|2,{118,49,0}}, +/* 60958 */ {(12<<2)|2,{118,49,0}}, +/* 60959 */ {(12<<2)|2,{118,49,0}}, +/* 60960 */ {(12<<2)|2,{118,50,0}}, +/* 60961 */ {(12<<2)|2,{118,50,0}}, +/* 60962 */ {(12<<2)|2,{118,50,0}}, +/* 60963 */ {(12<<2)|2,{118,50,0}}, +/* 60964 */ {(12<<2)|2,{118,50,0}}, +/* 60965 */ {(12<<2)|2,{118,50,0}}, +/* 60966 */ {(12<<2)|2,{118,50,0}}, +/* 60967 */ {(12<<2)|2,{118,50,0}}, +/* 60968 */ {(12<<2)|2,{118,50,0}}, +/* 60969 */ {(12<<2)|2,{118,50,0}}, +/* 60970 */ {(12<<2)|2,{118,50,0}}, +/* 60971 */ {(12<<2)|2,{118,50,0}}, +/* 60972 */ {(12<<2)|2,{118,50,0}}, +/* 60973 */ {(12<<2)|2,{118,50,0}}, +/* 60974 */ {(12<<2)|2,{118,50,0}}, +/* 60975 */ {(12<<2)|2,{118,50,0}}, +/* 60976 */ {(12<<2)|2,{118,97,0}}, +/* 60977 */ {(12<<2)|2,{118,97,0}}, +/* 60978 */ {(12<<2)|2,{118,97,0}}, +/* 60979 */ {(12<<2)|2,{118,97,0}}, +/* 60980 */ {(12<<2)|2,{118,97,0}}, +/* 60981 */ {(12<<2)|2,{118,97,0}}, +/* 60982 */ {(12<<2)|2,{118,97,0}}, +/* 60983 */ {(12<<2)|2,{118,97,0}}, +/* 60984 */ {(12<<2)|2,{118,97,0}}, +/* 60985 */ {(12<<2)|2,{118,97,0}}, +/* 60986 */ {(12<<2)|2,{118,97,0}}, +/* 60987 */ {(12<<2)|2,{118,97,0}}, +/* 60988 */ {(12<<2)|2,{118,97,0}}, +/* 60989 */ {(12<<2)|2,{118,97,0}}, +/* 60990 */ {(12<<2)|2,{118,97,0}}, +/* 60991 */ {(12<<2)|2,{118,97,0}}, +/* 60992 */ {(12<<2)|2,{118,99,0}}, +/* 60993 */ {(12<<2)|2,{118,99,0}}, +/* 60994 */ {(12<<2)|2,{118,99,0}}, +/* 60995 */ {(12<<2)|2,{118,99,0}}, +/* 60996 */ {(12<<2)|2,{118,99,0}}, +/* 60997 */ {(12<<2)|2,{118,99,0}}, +/* 60998 */ {(12<<2)|2,{118,99,0}}, +/* 60999 */ {(12<<2)|2,{118,99,0}}, +/* 61000 */ {(12<<2)|2,{118,99,0}}, +/* 61001 */ {(12<<2)|2,{118,99,0}}, +/* 61002 */ {(12<<2)|2,{118,99,0}}, +/* 61003 */ {(12<<2)|2,{118,99,0}}, +/* 61004 */ {(12<<2)|2,{118,99,0}}, +/* 61005 */ {(12<<2)|2,{118,99,0}}, +/* 61006 */ {(12<<2)|2,{118,99,0}}, +/* 61007 */ {(12<<2)|2,{118,99,0}}, +/* 61008 */ {(12<<2)|2,{118,101,0}}, +/* 61009 */ {(12<<2)|2,{118,101,0}}, +/* 61010 */ {(12<<2)|2,{118,101,0}}, +/* 61011 */ {(12<<2)|2,{118,101,0}}, +/* 61012 */ {(12<<2)|2,{118,101,0}}, +/* 61013 */ {(12<<2)|2,{118,101,0}}, +/* 61014 */ {(12<<2)|2,{118,101,0}}, +/* 61015 */ {(12<<2)|2,{118,101,0}}, +/* 61016 */ {(12<<2)|2,{118,101,0}}, +/* 61017 */ {(12<<2)|2,{118,101,0}}, +/* 61018 */ {(12<<2)|2,{118,101,0}}, +/* 61019 */ {(12<<2)|2,{118,101,0}}, +/* 61020 */ {(12<<2)|2,{118,101,0}}, +/* 61021 */ {(12<<2)|2,{118,101,0}}, +/* 61022 */ {(12<<2)|2,{118,101,0}}, +/* 61023 */ {(12<<2)|2,{118,101,0}}, +/* 61024 */ {(12<<2)|2,{118,105,0}}, +/* 61025 */ {(12<<2)|2,{118,105,0}}, +/* 61026 */ {(12<<2)|2,{118,105,0}}, +/* 61027 */ {(12<<2)|2,{118,105,0}}, +/* 61028 */ {(12<<2)|2,{118,105,0}}, +/* 61029 */ {(12<<2)|2,{118,105,0}}, +/* 61030 */ {(12<<2)|2,{118,105,0}}, +/* 61031 */ {(12<<2)|2,{118,105,0}}, +/* 61032 */ {(12<<2)|2,{118,105,0}}, +/* 61033 */ {(12<<2)|2,{118,105,0}}, +/* 61034 */ {(12<<2)|2,{118,105,0}}, +/* 61035 */ {(12<<2)|2,{118,105,0}}, +/* 61036 */ {(12<<2)|2,{118,105,0}}, +/* 61037 */ {(12<<2)|2,{118,105,0}}, +/* 61038 */ {(12<<2)|2,{118,105,0}}, +/* 61039 */ {(12<<2)|2,{118,105,0}}, +/* 61040 */ {(12<<2)|2,{118,111,0}}, +/* 61041 */ {(12<<2)|2,{118,111,0}}, +/* 61042 */ {(12<<2)|2,{118,111,0}}, +/* 61043 */ {(12<<2)|2,{118,111,0}}, +/* 61044 */ {(12<<2)|2,{118,111,0}}, +/* 61045 */ {(12<<2)|2,{118,111,0}}, +/* 61046 */ {(12<<2)|2,{118,111,0}}, +/* 61047 */ {(12<<2)|2,{118,111,0}}, +/* 61048 */ {(12<<2)|2,{118,111,0}}, +/* 61049 */ {(12<<2)|2,{118,111,0}}, +/* 61050 */ {(12<<2)|2,{118,111,0}}, +/* 61051 */ {(12<<2)|2,{118,111,0}}, +/* 61052 */ {(12<<2)|2,{118,111,0}}, +/* 61053 */ {(12<<2)|2,{118,111,0}}, +/* 61054 */ {(12<<2)|2,{118,111,0}}, +/* 61055 */ {(12<<2)|2,{118,111,0}}, +/* 61056 */ {(12<<2)|2,{118,115,0}}, +/* 61057 */ {(12<<2)|2,{118,115,0}}, +/* 61058 */ {(12<<2)|2,{118,115,0}}, +/* 61059 */ {(12<<2)|2,{118,115,0}}, +/* 61060 */ {(12<<2)|2,{118,115,0}}, +/* 61061 */ {(12<<2)|2,{118,115,0}}, +/* 61062 */ {(12<<2)|2,{118,115,0}}, +/* 61063 */ {(12<<2)|2,{118,115,0}}, +/* 61064 */ {(12<<2)|2,{118,115,0}}, +/* 61065 */ {(12<<2)|2,{118,115,0}}, +/* 61066 */ {(12<<2)|2,{118,115,0}}, +/* 61067 */ {(12<<2)|2,{118,115,0}}, +/* 61068 */ {(12<<2)|2,{118,115,0}}, +/* 61069 */ {(12<<2)|2,{118,115,0}}, +/* 61070 */ {(12<<2)|2,{118,115,0}}, +/* 61071 */ {(12<<2)|2,{118,115,0}}, +/* 61072 */ {(12<<2)|2,{118,116,0}}, +/* 61073 */ {(12<<2)|2,{118,116,0}}, +/* 61074 */ {(12<<2)|2,{118,116,0}}, +/* 61075 */ {(12<<2)|2,{118,116,0}}, +/* 61076 */ {(12<<2)|2,{118,116,0}}, +/* 61077 */ {(12<<2)|2,{118,116,0}}, +/* 61078 */ {(12<<2)|2,{118,116,0}}, +/* 61079 */ {(12<<2)|2,{118,116,0}}, +/* 61080 */ {(12<<2)|2,{118,116,0}}, +/* 61081 */ {(12<<2)|2,{118,116,0}}, +/* 61082 */ {(12<<2)|2,{118,116,0}}, +/* 61083 */ {(12<<2)|2,{118,116,0}}, +/* 61084 */ {(12<<2)|2,{118,116,0}}, +/* 61085 */ {(12<<2)|2,{118,116,0}}, +/* 61086 */ {(12<<2)|2,{118,116,0}}, +/* 61087 */ {(12<<2)|2,{118,116,0}}, +/* 61088 */ {(13<<2)|2,{118,32,0}}, +/* 61089 */ {(13<<2)|2,{118,32,0}}, +/* 61090 */ {(13<<2)|2,{118,32,0}}, +/* 61091 */ {(13<<2)|2,{118,32,0}}, +/* 61092 */ {(13<<2)|2,{118,32,0}}, +/* 61093 */ {(13<<2)|2,{118,32,0}}, +/* 61094 */ {(13<<2)|2,{118,32,0}}, +/* 61095 */ {(13<<2)|2,{118,32,0}}, +/* 61096 */ {(13<<2)|2,{118,37,0}}, +/* 61097 */ {(13<<2)|2,{118,37,0}}, +/* 61098 */ {(13<<2)|2,{118,37,0}}, +/* 61099 */ {(13<<2)|2,{118,37,0}}, +/* 61100 */ {(13<<2)|2,{118,37,0}}, +/* 61101 */ {(13<<2)|2,{118,37,0}}, +/* 61102 */ {(13<<2)|2,{118,37,0}}, +/* 61103 */ {(13<<2)|2,{118,37,0}}, +/* 61104 */ {(13<<2)|2,{118,45,0}}, +/* 61105 */ {(13<<2)|2,{118,45,0}}, +/* 61106 */ {(13<<2)|2,{118,45,0}}, +/* 61107 */ {(13<<2)|2,{118,45,0}}, +/* 61108 */ {(13<<2)|2,{118,45,0}}, +/* 61109 */ {(13<<2)|2,{118,45,0}}, +/* 61110 */ {(13<<2)|2,{118,45,0}}, +/* 61111 */ {(13<<2)|2,{118,45,0}}, +/* 61112 */ {(13<<2)|2,{118,46,0}}, +/* 61113 */ {(13<<2)|2,{118,46,0}}, +/* 61114 */ {(13<<2)|2,{118,46,0}}, +/* 61115 */ {(13<<2)|2,{118,46,0}}, +/* 61116 */ {(13<<2)|2,{118,46,0}}, +/* 61117 */ {(13<<2)|2,{118,46,0}}, +/* 61118 */ {(13<<2)|2,{118,46,0}}, +/* 61119 */ {(13<<2)|2,{118,46,0}}, +/* 61120 */ {(13<<2)|2,{118,47,0}}, +/* 61121 */ {(13<<2)|2,{118,47,0}}, +/* 61122 */ {(13<<2)|2,{118,47,0}}, +/* 61123 */ {(13<<2)|2,{118,47,0}}, +/* 61124 */ {(13<<2)|2,{118,47,0}}, +/* 61125 */ {(13<<2)|2,{118,47,0}}, +/* 61126 */ {(13<<2)|2,{118,47,0}}, +/* 61127 */ {(13<<2)|2,{118,47,0}}, +/* 61128 */ {(13<<2)|2,{118,51,0}}, +/* 61129 */ {(13<<2)|2,{118,51,0}}, +/* 61130 */ {(13<<2)|2,{118,51,0}}, +/* 61131 */ {(13<<2)|2,{118,51,0}}, +/* 61132 */ {(13<<2)|2,{118,51,0}}, +/* 61133 */ {(13<<2)|2,{118,51,0}}, +/* 61134 */ {(13<<2)|2,{118,51,0}}, +/* 61135 */ {(13<<2)|2,{118,51,0}}, +/* 61136 */ {(13<<2)|2,{118,52,0}}, +/* 61137 */ {(13<<2)|2,{118,52,0}}, +/* 61138 */ {(13<<2)|2,{118,52,0}}, +/* 61139 */ {(13<<2)|2,{118,52,0}}, +/* 61140 */ {(13<<2)|2,{118,52,0}}, +/* 61141 */ {(13<<2)|2,{118,52,0}}, +/* 61142 */ {(13<<2)|2,{118,52,0}}, +/* 61143 */ {(13<<2)|2,{118,52,0}}, +/* 61144 */ {(13<<2)|2,{118,53,0}}, +/* 61145 */ {(13<<2)|2,{118,53,0}}, +/* 61146 */ {(13<<2)|2,{118,53,0}}, +/* 61147 */ {(13<<2)|2,{118,53,0}}, +/* 61148 */ {(13<<2)|2,{118,53,0}}, +/* 61149 */ {(13<<2)|2,{118,53,0}}, +/* 61150 */ {(13<<2)|2,{118,53,0}}, +/* 61151 */ {(13<<2)|2,{118,53,0}}, +/* 61152 */ {(13<<2)|2,{118,54,0}}, +/* 61153 */ {(13<<2)|2,{118,54,0}}, +/* 61154 */ {(13<<2)|2,{118,54,0}}, +/* 61155 */ {(13<<2)|2,{118,54,0}}, +/* 61156 */ {(13<<2)|2,{118,54,0}}, +/* 61157 */ {(13<<2)|2,{118,54,0}}, +/* 61158 */ {(13<<2)|2,{118,54,0}}, +/* 61159 */ {(13<<2)|2,{118,54,0}}, +/* 61160 */ {(13<<2)|2,{118,55,0}}, +/* 61161 */ {(13<<2)|2,{118,55,0}}, +/* 61162 */ {(13<<2)|2,{118,55,0}}, +/* 61163 */ {(13<<2)|2,{118,55,0}}, +/* 61164 */ {(13<<2)|2,{118,55,0}}, +/* 61165 */ {(13<<2)|2,{118,55,0}}, +/* 61166 */ {(13<<2)|2,{118,55,0}}, +/* 61167 */ {(13<<2)|2,{118,55,0}}, +/* 61168 */ {(13<<2)|2,{118,56,0}}, +/* 61169 */ {(13<<2)|2,{118,56,0}}, +/* 61170 */ {(13<<2)|2,{118,56,0}}, +/* 61171 */ {(13<<2)|2,{118,56,0}}, +/* 61172 */ {(13<<2)|2,{118,56,0}}, +/* 61173 */ {(13<<2)|2,{118,56,0}}, +/* 61174 */ {(13<<2)|2,{118,56,0}}, +/* 61175 */ {(13<<2)|2,{118,56,0}}, +/* 61176 */ {(13<<2)|2,{118,57,0}}, +/* 61177 */ {(13<<2)|2,{118,57,0}}, +/* 61178 */ {(13<<2)|2,{118,57,0}}, +/* 61179 */ {(13<<2)|2,{118,57,0}}, +/* 61180 */ {(13<<2)|2,{118,57,0}}, +/* 61181 */ {(13<<2)|2,{118,57,0}}, +/* 61182 */ {(13<<2)|2,{118,57,0}}, +/* 61183 */ {(13<<2)|2,{118,57,0}}, +/* 61184 */ {(13<<2)|2,{118,61,0}}, +/* 61185 */ {(13<<2)|2,{118,61,0}}, +/* 61186 */ {(13<<2)|2,{118,61,0}}, +/* 61187 */ {(13<<2)|2,{118,61,0}}, +/* 61188 */ {(13<<2)|2,{118,61,0}}, +/* 61189 */ {(13<<2)|2,{118,61,0}}, +/* 61190 */ {(13<<2)|2,{118,61,0}}, +/* 61191 */ {(13<<2)|2,{118,61,0}}, +/* 61192 */ {(13<<2)|2,{118,65,0}}, +/* 61193 */ {(13<<2)|2,{118,65,0}}, +/* 61194 */ {(13<<2)|2,{118,65,0}}, +/* 61195 */ {(13<<2)|2,{118,65,0}}, +/* 61196 */ {(13<<2)|2,{118,65,0}}, +/* 61197 */ {(13<<2)|2,{118,65,0}}, +/* 61198 */ {(13<<2)|2,{118,65,0}}, +/* 61199 */ {(13<<2)|2,{118,65,0}}, +/* 61200 */ {(13<<2)|2,{118,95,0}}, +/* 61201 */ {(13<<2)|2,{118,95,0}}, +/* 61202 */ {(13<<2)|2,{118,95,0}}, +/* 61203 */ {(13<<2)|2,{118,95,0}}, +/* 61204 */ {(13<<2)|2,{118,95,0}}, +/* 61205 */ {(13<<2)|2,{118,95,0}}, +/* 61206 */ {(13<<2)|2,{118,95,0}}, +/* 61207 */ {(13<<2)|2,{118,95,0}}, +/* 61208 */ {(13<<2)|2,{118,98,0}}, +/* 61209 */ {(13<<2)|2,{118,98,0}}, +/* 61210 */ {(13<<2)|2,{118,98,0}}, +/* 61211 */ {(13<<2)|2,{118,98,0}}, +/* 61212 */ {(13<<2)|2,{118,98,0}}, +/* 61213 */ {(13<<2)|2,{118,98,0}}, +/* 61214 */ {(13<<2)|2,{118,98,0}}, +/* 61215 */ {(13<<2)|2,{118,98,0}}, +/* 61216 */ {(13<<2)|2,{118,100,0}}, +/* 61217 */ {(13<<2)|2,{118,100,0}}, +/* 61218 */ {(13<<2)|2,{118,100,0}}, +/* 61219 */ {(13<<2)|2,{118,100,0}}, +/* 61220 */ {(13<<2)|2,{118,100,0}}, +/* 61221 */ {(13<<2)|2,{118,100,0}}, +/* 61222 */ {(13<<2)|2,{118,100,0}}, +/* 61223 */ {(13<<2)|2,{118,100,0}}, +/* 61224 */ {(13<<2)|2,{118,102,0}}, +/* 61225 */ {(13<<2)|2,{118,102,0}}, +/* 61226 */ {(13<<2)|2,{118,102,0}}, +/* 61227 */ {(13<<2)|2,{118,102,0}}, +/* 61228 */ {(13<<2)|2,{118,102,0}}, +/* 61229 */ {(13<<2)|2,{118,102,0}}, +/* 61230 */ {(13<<2)|2,{118,102,0}}, +/* 61231 */ {(13<<2)|2,{118,102,0}}, +/* 61232 */ {(13<<2)|2,{118,103,0}}, +/* 61233 */ {(13<<2)|2,{118,103,0}}, +/* 61234 */ {(13<<2)|2,{118,103,0}}, +/* 61235 */ {(13<<2)|2,{118,103,0}}, +/* 61236 */ {(13<<2)|2,{118,103,0}}, +/* 61237 */ {(13<<2)|2,{118,103,0}}, +/* 61238 */ {(13<<2)|2,{118,103,0}}, +/* 61239 */ {(13<<2)|2,{118,103,0}}, +/* 61240 */ {(13<<2)|2,{118,104,0}}, +/* 61241 */ {(13<<2)|2,{118,104,0}}, +/* 61242 */ {(13<<2)|2,{118,104,0}}, +/* 61243 */ {(13<<2)|2,{118,104,0}}, +/* 61244 */ {(13<<2)|2,{118,104,0}}, +/* 61245 */ {(13<<2)|2,{118,104,0}}, +/* 61246 */ {(13<<2)|2,{118,104,0}}, +/* 61247 */ {(13<<2)|2,{118,104,0}}, +/* 61248 */ {(13<<2)|2,{118,108,0}}, +/* 61249 */ {(13<<2)|2,{118,108,0}}, +/* 61250 */ {(13<<2)|2,{118,108,0}}, +/* 61251 */ {(13<<2)|2,{118,108,0}}, +/* 61252 */ {(13<<2)|2,{118,108,0}}, +/* 61253 */ {(13<<2)|2,{118,108,0}}, +/* 61254 */ {(13<<2)|2,{118,108,0}}, +/* 61255 */ {(13<<2)|2,{118,108,0}}, +/* 61256 */ {(13<<2)|2,{118,109,0}}, +/* 61257 */ {(13<<2)|2,{118,109,0}}, +/* 61258 */ {(13<<2)|2,{118,109,0}}, +/* 61259 */ {(13<<2)|2,{118,109,0}}, +/* 61260 */ {(13<<2)|2,{118,109,0}}, +/* 61261 */ {(13<<2)|2,{118,109,0}}, +/* 61262 */ {(13<<2)|2,{118,109,0}}, +/* 61263 */ {(13<<2)|2,{118,109,0}}, +/* 61264 */ {(13<<2)|2,{118,110,0}}, +/* 61265 */ {(13<<2)|2,{118,110,0}}, +/* 61266 */ {(13<<2)|2,{118,110,0}}, +/* 61267 */ {(13<<2)|2,{118,110,0}}, +/* 61268 */ {(13<<2)|2,{118,110,0}}, +/* 61269 */ {(13<<2)|2,{118,110,0}}, +/* 61270 */ {(13<<2)|2,{118,110,0}}, +/* 61271 */ {(13<<2)|2,{118,110,0}}, +/* 61272 */ {(13<<2)|2,{118,112,0}}, +/* 61273 */ {(13<<2)|2,{118,112,0}}, +/* 61274 */ {(13<<2)|2,{118,112,0}}, +/* 61275 */ {(13<<2)|2,{118,112,0}}, +/* 61276 */ {(13<<2)|2,{118,112,0}}, +/* 61277 */ {(13<<2)|2,{118,112,0}}, +/* 61278 */ {(13<<2)|2,{118,112,0}}, +/* 61279 */ {(13<<2)|2,{118,112,0}}, +/* 61280 */ {(13<<2)|2,{118,114,0}}, +/* 61281 */ {(13<<2)|2,{118,114,0}}, +/* 61282 */ {(13<<2)|2,{118,114,0}}, +/* 61283 */ {(13<<2)|2,{118,114,0}}, +/* 61284 */ {(13<<2)|2,{118,114,0}}, +/* 61285 */ {(13<<2)|2,{118,114,0}}, +/* 61286 */ {(13<<2)|2,{118,114,0}}, +/* 61287 */ {(13<<2)|2,{118,114,0}}, +/* 61288 */ {(13<<2)|2,{118,117,0}}, +/* 61289 */ {(13<<2)|2,{118,117,0}}, +/* 61290 */ {(13<<2)|2,{118,117,0}}, +/* 61291 */ {(13<<2)|2,{118,117,0}}, +/* 61292 */ {(13<<2)|2,{118,117,0}}, +/* 61293 */ {(13<<2)|2,{118,117,0}}, +/* 61294 */ {(13<<2)|2,{118,117,0}}, +/* 61295 */ {(13<<2)|2,{118,117,0}}, +/* 61296 */ {(14<<2)|2,{118,58,0}}, +/* 61297 */ {(14<<2)|2,{118,58,0}}, +/* 61298 */ {(14<<2)|2,{118,58,0}}, +/* 61299 */ {(14<<2)|2,{118,58,0}}, +/* 61300 */ {(14<<2)|2,{118,66,0}}, +/* 61301 */ {(14<<2)|2,{118,66,0}}, +/* 61302 */ {(14<<2)|2,{118,66,0}}, +/* 61303 */ {(14<<2)|2,{118,66,0}}, +/* 61304 */ {(14<<2)|2,{118,67,0}}, +/* 61305 */ {(14<<2)|2,{118,67,0}}, +/* 61306 */ {(14<<2)|2,{118,67,0}}, +/* 61307 */ {(14<<2)|2,{118,67,0}}, +/* 61308 */ {(14<<2)|2,{118,68,0}}, +/* 61309 */ {(14<<2)|2,{118,68,0}}, +/* 61310 */ {(14<<2)|2,{118,68,0}}, +/* 61311 */ {(14<<2)|2,{118,68,0}}, +/* 61312 */ {(14<<2)|2,{118,69,0}}, +/* 61313 */ {(14<<2)|2,{118,69,0}}, +/* 61314 */ {(14<<2)|2,{118,69,0}}, +/* 61315 */ {(14<<2)|2,{118,69,0}}, +/* 61316 */ {(14<<2)|2,{118,70,0}}, +/* 61317 */ {(14<<2)|2,{118,70,0}}, +/* 61318 */ {(14<<2)|2,{118,70,0}}, +/* 61319 */ {(14<<2)|2,{118,70,0}}, +/* 61320 */ {(14<<2)|2,{118,71,0}}, +/* 61321 */ {(14<<2)|2,{118,71,0}}, +/* 61322 */ {(14<<2)|2,{118,71,0}}, +/* 61323 */ {(14<<2)|2,{118,71,0}}, +/* 61324 */ {(14<<2)|2,{118,72,0}}, +/* 61325 */ {(14<<2)|2,{118,72,0}}, +/* 61326 */ {(14<<2)|2,{118,72,0}}, +/* 61327 */ {(14<<2)|2,{118,72,0}}, +/* 61328 */ {(14<<2)|2,{118,73,0}}, +/* 61329 */ {(14<<2)|2,{118,73,0}}, +/* 61330 */ {(14<<2)|2,{118,73,0}}, +/* 61331 */ {(14<<2)|2,{118,73,0}}, +/* 61332 */ {(14<<2)|2,{118,74,0}}, +/* 61333 */ {(14<<2)|2,{118,74,0}}, +/* 61334 */ {(14<<2)|2,{118,74,0}}, +/* 61335 */ {(14<<2)|2,{118,74,0}}, +/* 61336 */ {(14<<2)|2,{118,75,0}}, +/* 61337 */ {(14<<2)|2,{118,75,0}}, +/* 61338 */ {(14<<2)|2,{118,75,0}}, +/* 61339 */ {(14<<2)|2,{118,75,0}}, +/* 61340 */ {(14<<2)|2,{118,76,0}}, +/* 61341 */ {(14<<2)|2,{118,76,0}}, +/* 61342 */ {(14<<2)|2,{118,76,0}}, +/* 61343 */ {(14<<2)|2,{118,76,0}}, +/* 61344 */ {(14<<2)|2,{118,77,0}}, +/* 61345 */ {(14<<2)|2,{118,77,0}}, +/* 61346 */ {(14<<2)|2,{118,77,0}}, +/* 61347 */ {(14<<2)|2,{118,77,0}}, +/* 61348 */ {(14<<2)|2,{118,78,0}}, +/* 61349 */ {(14<<2)|2,{118,78,0}}, +/* 61350 */ {(14<<2)|2,{118,78,0}}, +/* 61351 */ {(14<<2)|2,{118,78,0}}, +/* 61352 */ {(14<<2)|2,{118,79,0}}, +/* 61353 */ {(14<<2)|2,{118,79,0}}, +/* 61354 */ {(14<<2)|2,{118,79,0}}, +/* 61355 */ {(14<<2)|2,{118,79,0}}, +/* 61356 */ {(14<<2)|2,{118,80,0}}, +/* 61357 */ {(14<<2)|2,{118,80,0}}, +/* 61358 */ {(14<<2)|2,{118,80,0}}, +/* 61359 */ {(14<<2)|2,{118,80,0}}, +/* 61360 */ {(14<<2)|2,{118,81,0}}, +/* 61361 */ {(14<<2)|2,{118,81,0}}, +/* 61362 */ {(14<<2)|2,{118,81,0}}, +/* 61363 */ {(14<<2)|2,{118,81,0}}, +/* 61364 */ {(14<<2)|2,{118,82,0}}, +/* 61365 */ {(14<<2)|2,{118,82,0}}, +/* 61366 */ {(14<<2)|2,{118,82,0}}, +/* 61367 */ {(14<<2)|2,{118,82,0}}, +/* 61368 */ {(14<<2)|2,{118,83,0}}, +/* 61369 */ {(14<<2)|2,{118,83,0}}, +/* 61370 */ {(14<<2)|2,{118,83,0}}, +/* 61371 */ {(14<<2)|2,{118,83,0}}, +/* 61372 */ {(14<<2)|2,{118,84,0}}, +/* 61373 */ {(14<<2)|2,{118,84,0}}, +/* 61374 */ {(14<<2)|2,{118,84,0}}, +/* 61375 */ {(14<<2)|2,{118,84,0}}, +/* 61376 */ {(14<<2)|2,{118,85,0}}, +/* 61377 */ {(14<<2)|2,{118,85,0}}, +/* 61378 */ {(14<<2)|2,{118,85,0}}, +/* 61379 */ {(14<<2)|2,{118,85,0}}, +/* 61380 */ {(14<<2)|2,{118,86,0}}, +/* 61381 */ {(14<<2)|2,{118,86,0}}, +/* 61382 */ {(14<<2)|2,{118,86,0}}, +/* 61383 */ {(14<<2)|2,{118,86,0}}, +/* 61384 */ {(14<<2)|2,{118,87,0}}, +/* 61385 */ {(14<<2)|2,{118,87,0}}, +/* 61386 */ {(14<<2)|2,{118,87,0}}, +/* 61387 */ {(14<<2)|2,{118,87,0}}, +/* 61388 */ {(14<<2)|2,{118,89,0}}, +/* 61389 */ {(14<<2)|2,{118,89,0}}, +/* 61390 */ {(14<<2)|2,{118,89,0}}, +/* 61391 */ {(14<<2)|2,{118,89,0}}, +/* 61392 */ {(14<<2)|2,{118,106,0}}, +/* 61393 */ {(14<<2)|2,{118,106,0}}, +/* 61394 */ {(14<<2)|2,{118,106,0}}, +/* 61395 */ {(14<<2)|2,{118,106,0}}, +/* 61396 */ {(14<<2)|2,{118,107,0}}, +/* 61397 */ {(14<<2)|2,{118,107,0}}, +/* 61398 */ {(14<<2)|2,{118,107,0}}, +/* 61399 */ {(14<<2)|2,{118,107,0}}, +/* 61400 */ {(14<<2)|2,{118,113,0}}, +/* 61401 */ {(14<<2)|2,{118,113,0}}, +/* 61402 */ {(14<<2)|2,{118,113,0}}, +/* 61403 */ {(14<<2)|2,{118,113,0}}, +/* 61404 */ {(14<<2)|2,{118,118,0}}, +/* 61405 */ {(14<<2)|2,{118,118,0}}, +/* 61406 */ {(14<<2)|2,{118,118,0}}, +/* 61407 */ {(14<<2)|2,{118,118,0}}, +/* 61408 */ {(14<<2)|2,{118,119,0}}, +/* 61409 */ {(14<<2)|2,{118,119,0}}, +/* 61410 */ {(14<<2)|2,{118,119,0}}, +/* 61411 */ {(14<<2)|2,{118,119,0}}, +/* 61412 */ {(14<<2)|2,{118,120,0}}, +/* 61413 */ {(14<<2)|2,{118,120,0}}, +/* 61414 */ {(14<<2)|2,{118,120,0}}, +/* 61415 */ {(14<<2)|2,{118,120,0}}, +/* 61416 */ {(14<<2)|2,{118,121,0}}, +/* 61417 */ {(14<<2)|2,{118,121,0}}, +/* 61418 */ {(14<<2)|2,{118,121,0}}, +/* 61419 */ {(14<<2)|2,{118,121,0}}, +/* 61420 */ {(14<<2)|2,{118,122,0}}, +/* 61421 */ {(14<<2)|2,{118,122,0}}, +/* 61422 */ {(14<<2)|2,{118,122,0}}, +/* 61423 */ {(14<<2)|2,{118,122,0}}, +/* 61424 */ {(15<<2)|2,{118,38,0}}, +/* 61425 */ {(15<<2)|2,{118,38,0}}, +/* 61426 */ {(15<<2)|2,{118,42,0}}, +/* 61427 */ {(15<<2)|2,{118,42,0}}, +/* 61428 */ {(15<<2)|2,{118,44,0}}, +/* 61429 */ {(15<<2)|2,{118,44,0}}, +/* 61430 */ {(15<<2)|2,{118,59,0}}, +/* 61431 */ {(15<<2)|2,{118,59,0}}, +/* 61432 */ {(15<<2)|2,{118,88,0}}, +/* 61433 */ {(15<<2)|2,{118,88,0}}, +/* 61434 */ {(15<<2)|2,{118,90,0}}, +/* 61435 */ {(15<<2)|2,{118,90,0}}, +/* 61436 */ {(7<<2)|1,{118,0,0}}, +/* 61437 */ {(7<<2)|1,{118,0,0}}, +/* 61438 */ {(7<<2)|1,{118,0,0}}, +/* 61439 */ {(7<<2)|1,{118,0,0}}, +/* 61440 */ {(12<<2)|2,{119,48,0}}, +/* 61441 */ {(12<<2)|2,{119,48,0}}, +/* 61442 */ {(12<<2)|2,{119,48,0}}, +/* 61443 */ {(12<<2)|2,{119,48,0}}, +/* 61444 */ {(12<<2)|2,{119,48,0}}, +/* 61445 */ {(12<<2)|2,{119,48,0}}, +/* 61446 */ {(12<<2)|2,{119,48,0}}, +/* 61447 */ {(12<<2)|2,{119,48,0}}, +/* 61448 */ {(12<<2)|2,{119,48,0}}, +/* 61449 */ {(12<<2)|2,{119,48,0}}, +/* 61450 */ {(12<<2)|2,{119,48,0}}, +/* 61451 */ {(12<<2)|2,{119,48,0}}, +/* 61452 */ {(12<<2)|2,{119,48,0}}, +/* 61453 */ {(12<<2)|2,{119,48,0}}, +/* 61454 */ {(12<<2)|2,{119,48,0}}, +/* 61455 */ {(12<<2)|2,{119,48,0}}, +/* 61456 */ {(12<<2)|2,{119,49,0}}, +/* 61457 */ {(12<<2)|2,{119,49,0}}, +/* 61458 */ {(12<<2)|2,{119,49,0}}, +/* 61459 */ {(12<<2)|2,{119,49,0}}, +/* 61460 */ {(12<<2)|2,{119,49,0}}, +/* 61461 */ {(12<<2)|2,{119,49,0}}, +/* 61462 */ {(12<<2)|2,{119,49,0}}, +/* 61463 */ {(12<<2)|2,{119,49,0}}, +/* 61464 */ {(12<<2)|2,{119,49,0}}, +/* 61465 */ {(12<<2)|2,{119,49,0}}, +/* 61466 */ {(12<<2)|2,{119,49,0}}, +/* 61467 */ {(12<<2)|2,{119,49,0}}, +/* 61468 */ {(12<<2)|2,{119,49,0}}, +/* 61469 */ {(12<<2)|2,{119,49,0}}, +/* 61470 */ {(12<<2)|2,{119,49,0}}, +/* 61471 */ {(12<<2)|2,{119,49,0}}, +/* 61472 */ {(12<<2)|2,{119,50,0}}, +/* 61473 */ {(12<<2)|2,{119,50,0}}, +/* 61474 */ {(12<<2)|2,{119,50,0}}, +/* 61475 */ {(12<<2)|2,{119,50,0}}, +/* 61476 */ {(12<<2)|2,{119,50,0}}, +/* 61477 */ {(12<<2)|2,{119,50,0}}, +/* 61478 */ {(12<<2)|2,{119,50,0}}, +/* 61479 */ {(12<<2)|2,{119,50,0}}, +/* 61480 */ {(12<<2)|2,{119,50,0}}, +/* 61481 */ {(12<<2)|2,{119,50,0}}, +/* 61482 */ {(12<<2)|2,{119,50,0}}, +/* 61483 */ {(12<<2)|2,{119,50,0}}, +/* 61484 */ {(12<<2)|2,{119,50,0}}, +/* 61485 */ {(12<<2)|2,{119,50,0}}, +/* 61486 */ {(12<<2)|2,{119,50,0}}, +/* 61487 */ {(12<<2)|2,{119,50,0}}, +/* 61488 */ {(12<<2)|2,{119,97,0}}, +/* 61489 */ {(12<<2)|2,{119,97,0}}, +/* 61490 */ {(12<<2)|2,{119,97,0}}, +/* 61491 */ {(12<<2)|2,{119,97,0}}, +/* 61492 */ {(12<<2)|2,{119,97,0}}, +/* 61493 */ {(12<<2)|2,{119,97,0}}, +/* 61494 */ {(12<<2)|2,{119,97,0}}, +/* 61495 */ {(12<<2)|2,{119,97,0}}, +/* 61496 */ {(12<<2)|2,{119,97,0}}, +/* 61497 */ {(12<<2)|2,{119,97,0}}, +/* 61498 */ {(12<<2)|2,{119,97,0}}, +/* 61499 */ {(12<<2)|2,{119,97,0}}, +/* 61500 */ {(12<<2)|2,{119,97,0}}, +/* 61501 */ {(12<<2)|2,{119,97,0}}, +/* 61502 */ {(12<<2)|2,{119,97,0}}, +/* 61503 */ {(12<<2)|2,{119,97,0}}, +/* 61504 */ {(12<<2)|2,{119,99,0}}, +/* 61505 */ {(12<<2)|2,{119,99,0}}, +/* 61506 */ {(12<<2)|2,{119,99,0}}, +/* 61507 */ {(12<<2)|2,{119,99,0}}, +/* 61508 */ {(12<<2)|2,{119,99,0}}, +/* 61509 */ {(12<<2)|2,{119,99,0}}, +/* 61510 */ {(12<<2)|2,{119,99,0}}, +/* 61511 */ {(12<<2)|2,{119,99,0}}, +/* 61512 */ {(12<<2)|2,{119,99,0}}, +/* 61513 */ {(12<<2)|2,{119,99,0}}, +/* 61514 */ {(12<<2)|2,{119,99,0}}, +/* 61515 */ {(12<<2)|2,{119,99,0}}, +/* 61516 */ {(12<<2)|2,{119,99,0}}, +/* 61517 */ {(12<<2)|2,{119,99,0}}, +/* 61518 */ {(12<<2)|2,{119,99,0}}, +/* 61519 */ {(12<<2)|2,{119,99,0}}, +/* 61520 */ {(12<<2)|2,{119,101,0}}, +/* 61521 */ {(12<<2)|2,{119,101,0}}, +/* 61522 */ {(12<<2)|2,{119,101,0}}, +/* 61523 */ {(12<<2)|2,{119,101,0}}, +/* 61524 */ {(12<<2)|2,{119,101,0}}, +/* 61525 */ {(12<<2)|2,{119,101,0}}, +/* 61526 */ {(12<<2)|2,{119,101,0}}, +/* 61527 */ {(12<<2)|2,{119,101,0}}, +/* 61528 */ {(12<<2)|2,{119,101,0}}, +/* 61529 */ {(12<<2)|2,{119,101,0}}, +/* 61530 */ {(12<<2)|2,{119,101,0}}, +/* 61531 */ {(12<<2)|2,{119,101,0}}, +/* 61532 */ {(12<<2)|2,{119,101,0}}, +/* 61533 */ {(12<<2)|2,{119,101,0}}, +/* 61534 */ {(12<<2)|2,{119,101,0}}, +/* 61535 */ {(12<<2)|2,{119,101,0}}, +/* 61536 */ {(12<<2)|2,{119,105,0}}, +/* 61537 */ {(12<<2)|2,{119,105,0}}, +/* 61538 */ {(12<<2)|2,{119,105,0}}, +/* 61539 */ {(12<<2)|2,{119,105,0}}, +/* 61540 */ {(12<<2)|2,{119,105,0}}, +/* 61541 */ {(12<<2)|2,{119,105,0}}, +/* 61542 */ {(12<<2)|2,{119,105,0}}, +/* 61543 */ {(12<<2)|2,{119,105,0}}, +/* 61544 */ {(12<<2)|2,{119,105,0}}, +/* 61545 */ {(12<<2)|2,{119,105,0}}, +/* 61546 */ {(12<<2)|2,{119,105,0}}, +/* 61547 */ {(12<<2)|2,{119,105,0}}, +/* 61548 */ {(12<<2)|2,{119,105,0}}, +/* 61549 */ {(12<<2)|2,{119,105,0}}, +/* 61550 */ {(12<<2)|2,{119,105,0}}, +/* 61551 */ {(12<<2)|2,{119,105,0}}, +/* 61552 */ {(12<<2)|2,{119,111,0}}, +/* 61553 */ {(12<<2)|2,{119,111,0}}, +/* 61554 */ {(12<<2)|2,{119,111,0}}, +/* 61555 */ {(12<<2)|2,{119,111,0}}, +/* 61556 */ {(12<<2)|2,{119,111,0}}, +/* 61557 */ {(12<<2)|2,{119,111,0}}, +/* 61558 */ {(12<<2)|2,{119,111,0}}, +/* 61559 */ {(12<<2)|2,{119,111,0}}, +/* 61560 */ {(12<<2)|2,{119,111,0}}, +/* 61561 */ {(12<<2)|2,{119,111,0}}, +/* 61562 */ {(12<<2)|2,{119,111,0}}, +/* 61563 */ {(12<<2)|2,{119,111,0}}, +/* 61564 */ {(12<<2)|2,{119,111,0}}, +/* 61565 */ {(12<<2)|2,{119,111,0}}, +/* 61566 */ {(12<<2)|2,{119,111,0}}, +/* 61567 */ {(12<<2)|2,{119,111,0}}, +/* 61568 */ {(12<<2)|2,{119,115,0}}, +/* 61569 */ {(12<<2)|2,{119,115,0}}, +/* 61570 */ {(12<<2)|2,{119,115,0}}, +/* 61571 */ {(12<<2)|2,{119,115,0}}, +/* 61572 */ {(12<<2)|2,{119,115,0}}, +/* 61573 */ {(12<<2)|2,{119,115,0}}, +/* 61574 */ {(12<<2)|2,{119,115,0}}, +/* 61575 */ {(12<<2)|2,{119,115,0}}, +/* 61576 */ {(12<<2)|2,{119,115,0}}, +/* 61577 */ {(12<<2)|2,{119,115,0}}, +/* 61578 */ {(12<<2)|2,{119,115,0}}, +/* 61579 */ {(12<<2)|2,{119,115,0}}, +/* 61580 */ {(12<<2)|2,{119,115,0}}, +/* 61581 */ {(12<<2)|2,{119,115,0}}, +/* 61582 */ {(12<<2)|2,{119,115,0}}, +/* 61583 */ {(12<<2)|2,{119,115,0}}, +/* 61584 */ {(12<<2)|2,{119,116,0}}, +/* 61585 */ {(12<<2)|2,{119,116,0}}, +/* 61586 */ {(12<<2)|2,{119,116,0}}, +/* 61587 */ {(12<<2)|2,{119,116,0}}, +/* 61588 */ {(12<<2)|2,{119,116,0}}, +/* 61589 */ {(12<<2)|2,{119,116,0}}, +/* 61590 */ {(12<<2)|2,{119,116,0}}, +/* 61591 */ {(12<<2)|2,{119,116,0}}, +/* 61592 */ {(12<<2)|2,{119,116,0}}, +/* 61593 */ {(12<<2)|2,{119,116,0}}, +/* 61594 */ {(12<<2)|2,{119,116,0}}, +/* 61595 */ {(12<<2)|2,{119,116,0}}, +/* 61596 */ {(12<<2)|2,{119,116,0}}, +/* 61597 */ {(12<<2)|2,{119,116,0}}, +/* 61598 */ {(12<<2)|2,{119,116,0}}, +/* 61599 */ {(12<<2)|2,{119,116,0}}, +/* 61600 */ {(13<<2)|2,{119,32,0}}, +/* 61601 */ {(13<<2)|2,{119,32,0}}, +/* 61602 */ {(13<<2)|2,{119,32,0}}, +/* 61603 */ {(13<<2)|2,{119,32,0}}, +/* 61604 */ {(13<<2)|2,{119,32,0}}, +/* 61605 */ {(13<<2)|2,{119,32,0}}, +/* 61606 */ {(13<<2)|2,{119,32,0}}, +/* 61607 */ {(13<<2)|2,{119,32,0}}, +/* 61608 */ {(13<<2)|2,{119,37,0}}, +/* 61609 */ {(13<<2)|2,{119,37,0}}, +/* 61610 */ {(13<<2)|2,{119,37,0}}, +/* 61611 */ {(13<<2)|2,{119,37,0}}, +/* 61612 */ {(13<<2)|2,{119,37,0}}, +/* 61613 */ {(13<<2)|2,{119,37,0}}, +/* 61614 */ {(13<<2)|2,{119,37,0}}, +/* 61615 */ {(13<<2)|2,{119,37,0}}, +/* 61616 */ {(13<<2)|2,{119,45,0}}, +/* 61617 */ {(13<<2)|2,{119,45,0}}, +/* 61618 */ {(13<<2)|2,{119,45,0}}, +/* 61619 */ {(13<<2)|2,{119,45,0}}, +/* 61620 */ {(13<<2)|2,{119,45,0}}, +/* 61621 */ {(13<<2)|2,{119,45,0}}, +/* 61622 */ {(13<<2)|2,{119,45,0}}, +/* 61623 */ {(13<<2)|2,{119,45,0}}, +/* 61624 */ {(13<<2)|2,{119,46,0}}, +/* 61625 */ {(13<<2)|2,{119,46,0}}, +/* 61626 */ {(13<<2)|2,{119,46,0}}, +/* 61627 */ {(13<<2)|2,{119,46,0}}, +/* 61628 */ {(13<<2)|2,{119,46,0}}, +/* 61629 */ {(13<<2)|2,{119,46,0}}, +/* 61630 */ {(13<<2)|2,{119,46,0}}, +/* 61631 */ {(13<<2)|2,{119,46,0}}, +/* 61632 */ {(13<<2)|2,{119,47,0}}, +/* 61633 */ {(13<<2)|2,{119,47,0}}, +/* 61634 */ {(13<<2)|2,{119,47,0}}, +/* 61635 */ {(13<<2)|2,{119,47,0}}, +/* 61636 */ {(13<<2)|2,{119,47,0}}, +/* 61637 */ {(13<<2)|2,{119,47,0}}, +/* 61638 */ {(13<<2)|2,{119,47,0}}, +/* 61639 */ {(13<<2)|2,{119,47,0}}, +/* 61640 */ {(13<<2)|2,{119,51,0}}, +/* 61641 */ {(13<<2)|2,{119,51,0}}, +/* 61642 */ {(13<<2)|2,{119,51,0}}, +/* 61643 */ {(13<<2)|2,{119,51,0}}, +/* 61644 */ {(13<<2)|2,{119,51,0}}, +/* 61645 */ {(13<<2)|2,{119,51,0}}, +/* 61646 */ {(13<<2)|2,{119,51,0}}, +/* 61647 */ {(13<<2)|2,{119,51,0}}, +/* 61648 */ {(13<<2)|2,{119,52,0}}, +/* 61649 */ {(13<<2)|2,{119,52,0}}, +/* 61650 */ {(13<<2)|2,{119,52,0}}, +/* 61651 */ {(13<<2)|2,{119,52,0}}, +/* 61652 */ {(13<<2)|2,{119,52,0}}, +/* 61653 */ {(13<<2)|2,{119,52,0}}, +/* 61654 */ {(13<<2)|2,{119,52,0}}, +/* 61655 */ {(13<<2)|2,{119,52,0}}, +/* 61656 */ {(13<<2)|2,{119,53,0}}, +/* 61657 */ {(13<<2)|2,{119,53,0}}, +/* 61658 */ {(13<<2)|2,{119,53,0}}, +/* 61659 */ {(13<<2)|2,{119,53,0}}, +/* 61660 */ {(13<<2)|2,{119,53,0}}, +/* 61661 */ {(13<<2)|2,{119,53,0}}, +/* 61662 */ {(13<<2)|2,{119,53,0}}, +/* 61663 */ {(13<<2)|2,{119,53,0}}, +/* 61664 */ {(13<<2)|2,{119,54,0}}, +/* 61665 */ {(13<<2)|2,{119,54,0}}, +/* 61666 */ {(13<<2)|2,{119,54,0}}, +/* 61667 */ {(13<<2)|2,{119,54,0}}, +/* 61668 */ {(13<<2)|2,{119,54,0}}, +/* 61669 */ {(13<<2)|2,{119,54,0}}, +/* 61670 */ {(13<<2)|2,{119,54,0}}, +/* 61671 */ {(13<<2)|2,{119,54,0}}, +/* 61672 */ {(13<<2)|2,{119,55,0}}, +/* 61673 */ {(13<<2)|2,{119,55,0}}, +/* 61674 */ {(13<<2)|2,{119,55,0}}, +/* 61675 */ {(13<<2)|2,{119,55,0}}, +/* 61676 */ {(13<<2)|2,{119,55,0}}, +/* 61677 */ {(13<<2)|2,{119,55,0}}, +/* 61678 */ {(13<<2)|2,{119,55,0}}, +/* 61679 */ {(13<<2)|2,{119,55,0}}, +/* 61680 */ {(13<<2)|2,{119,56,0}}, +/* 61681 */ {(13<<2)|2,{119,56,0}}, +/* 61682 */ {(13<<2)|2,{119,56,0}}, +/* 61683 */ {(13<<2)|2,{119,56,0}}, +/* 61684 */ {(13<<2)|2,{119,56,0}}, +/* 61685 */ {(13<<2)|2,{119,56,0}}, +/* 61686 */ {(13<<2)|2,{119,56,0}}, +/* 61687 */ {(13<<2)|2,{119,56,0}}, +/* 61688 */ {(13<<2)|2,{119,57,0}}, +/* 61689 */ {(13<<2)|2,{119,57,0}}, +/* 61690 */ {(13<<2)|2,{119,57,0}}, +/* 61691 */ {(13<<2)|2,{119,57,0}}, +/* 61692 */ {(13<<2)|2,{119,57,0}}, +/* 61693 */ {(13<<2)|2,{119,57,0}}, +/* 61694 */ {(13<<2)|2,{119,57,0}}, +/* 61695 */ {(13<<2)|2,{119,57,0}}, +/* 61696 */ {(13<<2)|2,{119,61,0}}, +/* 61697 */ {(13<<2)|2,{119,61,0}}, +/* 61698 */ {(13<<2)|2,{119,61,0}}, +/* 61699 */ {(13<<2)|2,{119,61,0}}, +/* 61700 */ {(13<<2)|2,{119,61,0}}, +/* 61701 */ {(13<<2)|2,{119,61,0}}, +/* 61702 */ {(13<<2)|2,{119,61,0}}, +/* 61703 */ {(13<<2)|2,{119,61,0}}, +/* 61704 */ {(13<<2)|2,{119,65,0}}, +/* 61705 */ {(13<<2)|2,{119,65,0}}, +/* 61706 */ {(13<<2)|2,{119,65,0}}, +/* 61707 */ {(13<<2)|2,{119,65,0}}, +/* 61708 */ {(13<<2)|2,{119,65,0}}, +/* 61709 */ {(13<<2)|2,{119,65,0}}, +/* 61710 */ {(13<<2)|2,{119,65,0}}, +/* 61711 */ {(13<<2)|2,{119,65,0}}, +/* 61712 */ {(13<<2)|2,{119,95,0}}, +/* 61713 */ {(13<<2)|2,{119,95,0}}, +/* 61714 */ {(13<<2)|2,{119,95,0}}, +/* 61715 */ {(13<<2)|2,{119,95,0}}, +/* 61716 */ {(13<<2)|2,{119,95,0}}, +/* 61717 */ {(13<<2)|2,{119,95,0}}, +/* 61718 */ {(13<<2)|2,{119,95,0}}, +/* 61719 */ {(13<<2)|2,{119,95,0}}, +/* 61720 */ {(13<<2)|2,{119,98,0}}, +/* 61721 */ {(13<<2)|2,{119,98,0}}, +/* 61722 */ {(13<<2)|2,{119,98,0}}, +/* 61723 */ {(13<<2)|2,{119,98,0}}, +/* 61724 */ {(13<<2)|2,{119,98,0}}, +/* 61725 */ {(13<<2)|2,{119,98,0}}, +/* 61726 */ {(13<<2)|2,{119,98,0}}, +/* 61727 */ {(13<<2)|2,{119,98,0}}, +/* 61728 */ {(13<<2)|2,{119,100,0}}, +/* 61729 */ {(13<<2)|2,{119,100,0}}, +/* 61730 */ {(13<<2)|2,{119,100,0}}, +/* 61731 */ {(13<<2)|2,{119,100,0}}, +/* 61732 */ {(13<<2)|2,{119,100,0}}, +/* 61733 */ {(13<<2)|2,{119,100,0}}, +/* 61734 */ {(13<<2)|2,{119,100,0}}, +/* 61735 */ {(13<<2)|2,{119,100,0}}, +/* 61736 */ {(13<<2)|2,{119,102,0}}, +/* 61737 */ {(13<<2)|2,{119,102,0}}, +/* 61738 */ {(13<<2)|2,{119,102,0}}, +/* 61739 */ {(13<<2)|2,{119,102,0}}, +/* 61740 */ {(13<<2)|2,{119,102,0}}, +/* 61741 */ {(13<<2)|2,{119,102,0}}, +/* 61742 */ {(13<<2)|2,{119,102,0}}, +/* 61743 */ {(13<<2)|2,{119,102,0}}, +/* 61744 */ {(13<<2)|2,{119,103,0}}, +/* 61745 */ {(13<<2)|2,{119,103,0}}, +/* 61746 */ {(13<<2)|2,{119,103,0}}, +/* 61747 */ {(13<<2)|2,{119,103,0}}, +/* 61748 */ {(13<<2)|2,{119,103,0}}, +/* 61749 */ {(13<<2)|2,{119,103,0}}, +/* 61750 */ {(13<<2)|2,{119,103,0}}, +/* 61751 */ {(13<<2)|2,{119,103,0}}, +/* 61752 */ {(13<<2)|2,{119,104,0}}, +/* 61753 */ {(13<<2)|2,{119,104,0}}, +/* 61754 */ {(13<<2)|2,{119,104,0}}, +/* 61755 */ {(13<<2)|2,{119,104,0}}, +/* 61756 */ {(13<<2)|2,{119,104,0}}, +/* 61757 */ {(13<<2)|2,{119,104,0}}, +/* 61758 */ {(13<<2)|2,{119,104,0}}, +/* 61759 */ {(13<<2)|2,{119,104,0}}, +/* 61760 */ {(13<<2)|2,{119,108,0}}, +/* 61761 */ {(13<<2)|2,{119,108,0}}, +/* 61762 */ {(13<<2)|2,{119,108,0}}, +/* 61763 */ {(13<<2)|2,{119,108,0}}, +/* 61764 */ {(13<<2)|2,{119,108,0}}, +/* 61765 */ {(13<<2)|2,{119,108,0}}, +/* 61766 */ {(13<<2)|2,{119,108,0}}, +/* 61767 */ {(13<<2)|2,{119,108,0}}, +/* 61768 */ {(13<<2)|2,{119,109,0}}, +/* 61769 */ {(13<<2)|2,{119,109,0}}, +/* 61770 */ {(13<<2)|2,{119,109,0}}, +/* 61771 */ {(13<<2)|2,{119,109,0}}, +/* 61772 */ {(13<<2)|2,{119,109,0}}, +/* 61773 */ {(13<<2)|2,{119,109,0}}, +/* 61774 */ {(13<<2)|2,{119,109,0}}, +/* 61775 */ {(13<<2)|2,{119,109,0}}, +/* 61776 */ {(13<<2)|2,{119,110,0}}, +/* 61777 */ {(13<<2)|2,{119,110,0}}, +/* 61778 */ {(13<<2)|2,{119,110,0}}, +/* 61779 */ {(13<<2)|2,{119,110,0}}, +/* 61780 */ {(13<<2)|2,{119,110,0}}, +/* 61781 */ {(13<<2)|2,{119,110,0}}, +/* 61782 */ {(13<<2)|2,{119,110,0}}, +/* 61783 */ {(13<<2)|2,{119,110,0}}, +/* 61784 */ {(13<<2)|2,{119,112,0}}, +/* 61785 */ {(13<<2)|2,{119,112,0}}, +/* 61786 */ {(13<<2)|2,{119,112,0}}, +/* 61787 */ {(13<<2)|2,{119,112,0}}, +/* 61788 */ {(13<<2)|2,{119,112,0}}, +/* 61789 */ {(13<<2)|2,{119,112,0}}, +/* 61790 */ {(13<<2)|2,{119,112,0}}, +/* 61791 */ {(13<<2)|2,{119,112,0}}, +/* 61792 */ {(13<<2)|2,{119,114,0}}, +/* 61793 */ {(13<<2)|2,{119,114,0}}, +/* 61794 */ {(13<<2)|2,{119,114,0}}, +/* 61795 */ {(13<<2)|2,{119,114,0}}, +/* 61796 */ {(13<<2)|2,{119,114,0}}, +/* 61797 */ {(13<<2)|2,{119,114,0}}, +/* 61798 */ {(13<<2)|2,{119,114,0}}, +/* 61799 */ {(13<<2)|2,{119,114,0}}, +/* 61800 */ {(13<<2)|2,{119,117,0}}, +/* 61801 */ {(13<<2)|2,{119,117,0}}, +/* 61802 */ {(13<<2)|2,{119,117,0}}, +/* 61803 */ {(13<<2)|2,{119,117,0}}, +/* 61804 */ {(13<<2)|2,{119,117,0}}, +/* 61805 */ {(13<<2)|2,{119,117,0}}, +/* 61806 */ {(13<<2)|2,{119,117,0}}, +/* 61807 */ {(13<<2)|2,{119,117,0}}, +/* 61808 */ {(14<<2)|2,{119,58,0}}, +/* 61809 */ {(14<<2)|2,{119,58,0}}, +/* 61810 */ {(14<<2)|2,{119,58,0}}, +/* 61811 */ {(14<<2)|2,{119,58,0}}, +/* 61812 */ {(14<<2)|2,{119,66,0}}, +/* 61813 */ {(14<<2)|2,{119,66,0}}, +/* 61814 */ {(14<<2)|2,{119,66,0}}, +/* 61815 */ {(14<<2)|2,{119,66,0}}, +/* 61816 */ {(14<<2)|2,{119,67,0}}, +/* 61817 */ {(14<<2)|2,{119,67,0}}, +/* 61818 */ {(14<<2)|2,{119,67,0}}, +/* 61819 */ {(14<<2)|2,{119,67,0}}, +/* 61820 */ {(14<<2)|2,{119,68,0}}, +/* 61821 */ {(14<<2)|2,{119,68,0}}, +/* 61822 */ {(14<<2)|2,{119,68,0}}, +/* 61823 */ {(14<<2)|2,{119,68,0}}, +/* 61824 */ {(14<<2)|2,{119,69,0}}, +/* 61825 */ {(14<<2)|2,{119,69,0}}, +/* 61826 */ {(14<<2)|2,{119,69,0}}, +/* 61827 */ {(14<<2)|2,{119,69,0}}, +/* 61828 */ {(14<<2)|2,{119,70,0}}, +/* 61829 */ {(14<<2)|2,{119,70,0}}, +/* 61830 */ {(14<<2)|2,{119,70,0}}, +/* 61831 */ {(14<<2)|2,{119,70,0}}, +/* 61832 */ {(14<<2)|2,{119,71,0}}, +/* 61833 */ {(14<<2)|2,{119,71,0}}, +/* 61834 */ {(14<<2)|2,{119,71,0}}, +/* 61835 */ {(14<<2)|2,{119,71,0}}, +/* 61836 */ {(14<<2)|2,{119,72,0}}, +/* 61837 */ {(14<<2)|2,{119,72,0}}, +/* 61838 */ {(14<<2)|2,{119,72,0}}, +/* 61839 */ {(14<<2)|2,{119,72,0}}, +/* 61840 */ {(14<<2)|2,{119,73,0}}, +/* 61841 */ {(14<<2)|2,{119,73,0}}, +/* 61842 */ {(14<<2)|2,{119,73,0}}, +/* 61843 */ {(14<<2)|2,{119,73,0}}, +/* 61844 */ {(14<<2)|2,{119,74,0}}, +/* 61845 */ {(14<<2)|2,{119,74,0}}, +/* 61846 */ {(14<<2)|2,{119,74,0}}, +/* 61847 */ {(14<<2)|2,{119,74,0}}, +/* 61848 */ {(14<<2)|2,{119,75,0}}, +/* 61849 */ {(14<<2)|2,{119,75,0}}, +/* 61850 */ {(14<<2)|2,{119,75,0}}, +/* 61851 */ {(14<<2)|2,{119,75,0}}, +/* 61852 */ {(14<<2)|2,{119,76,0}}, +/* 61853 */ {(14<<2)|2,{119,76,0}}, +/* 61854 */ {(14<<2)|2,{119,76,0}}, +/* 61855 */ {(14<<2)|2,{119,76,0}}, +/* 61856 */ {(14<<2)|2,{119,77,0}}, +/* 61857 */ {(14<<2)|2,{119,77,0}}, +/* 61858 */ {(14<<2)|2,{119,77,0}}, +/* 61859 */ {(14<<2)|2,{119,77,0}}, +/* 61860 */ {(14<<2)|2,{119,78,0}}, +/* 61861 */ {(14<<2)|2,{119,78,0}}, +/* 61862 */ {(14<<2)|2,{119,78,0}}, +/* 61863 */ {(14<<2)|2,{119,78,0}}, +/* 61864 */ {(14<<2)|2,{119,79,0}}, +/* 61865 */ {(14<<2)|2,{119,79,0}}, +/* 61866 */ {(14<<2)|2,{119,79,0}}, +/* 61867 */ {(14<<2)|2,{119,79,0}}, +/* 61868 */ {(14<<2)|2,{119,80,0}}, +/* 61869 */ {(14<<2)|2,{119,80,0}}, +/* 61870 */ {(14<<2)|2,{119,80,0}}, +/* 61871 */ {(14<<2)|2,{119,80,0}}, +/* 61872 */ {(14<<2)|2,{119,81,0}}, +/* 61873 */ {(14<<2)|2,{119,81,0}}, +/* 61874 */ {(14<<2)|2,{119,81,0}}, +/* 61875 */ {(14<<2)|2,{119,81,0}}, +/* 61876 */ {(14<<2)|2,{119,82,0}}, +/* 61877 */ {(14<<2)|2,{119,82,0}}, +/* 61878 */ {(14<<2)|2,{119,82,0}}, +/* 61879 */ {(14<<2)|2,{119,82,0}}, +/* 61880 */ {(14<<2)|2,{119,83,0}}, +/* 61881 */ {(14<<2)|2,{119,83,0}}, +/* 61882 */ {(14<<2)|2,{119,83,0}}, +/* 61883 */ {(14<<2)|2,{119,83,0}}, +/* 61884 */ {(14<<2)|2,{119,84,0}}, +/* 61885 */ {(14<<2)|2,{119,84,0}}, +/* 61886 */ {(14<<2)|2,{119,84,0}}, +/* 61887 */ {(14<<2)|2,{119,84,0}}, +/* 61888 */ {(14<<2)|2,{119,85,0}}, +/* 61889 */ {(14<<2)|2,{119,85,0}}, +/* 61890 */ {(14<<2)|2,{119,85,0}}, +/* 61891 */ {(14<<2)|2,{119,85,0}}, +/* 61892 */ {(14<<2)|2,{119,86,0}}, +/* 61893 */ {(14<<2)|2,{119,86,0}}, +/* 61894 */ {(14<<2)|2,{119,86,0}}, +/* 61895 */ {(14<<2)|2,{119,86,0}}, +/* 61896 */ {(14<<2)|2,{119,87,0}}, +/* 61897 */ {(14<<2)|2,{119,87,0}}, +/* 61898 */ {(14<<2)|2,{119,87,0}}, +/* 61899 */ {(14<<2)|2,{119,87,0}}, +/* 61900 */ {(14<<2)|2,{119,89,0}}, +/* 61901 */ {(14<<2)|2,{119,89,0}}, +/* 61902 */ {(14<<2)|2,{119,89,0}}, +/* 61903 */ {(14<<2)|2,{119,89,0}}, +/* 61904 */ {(14<<2)|2,{119,106,0}}, +/* 61905 */ {(14<<2)|2,{119,106,0}}, +/* 61906 */ {(14<<2)|2,{119,106,0}}, +/* 61907 */ {(14<<2)|2,{119,106,0}}, +/* 61908 */ {(14<<2)|2,{119,107,0}}, +/* 61909 */ {(14<<2)|2,{119,107,0}}, +/* 61910 */ {(14<<2)|2,{119,107,0}}, +/* 61911 */ {(14<<2)|2,{119,107,0}}, +/* 61912 */ {(14<<2)|2,{119,113,0}}, +/* 61913 */ {(14<<2)|2,{119,113,0}}, +/* 61914 */ {(14<<2)|2,{119,113,0}}, +/* 61915 */ {(14<<2)|2,{119,113,0}}, +/* 61916 */ {(14<<2)|2,{119,118,0}}, +/* 61917 */ {(14<<2)|2,{119,118,0}}, +/* 61918 */ {(14<<2)|2,{119,118,0}}, +/* 61919 */ {(14<<2)|2,{119,118,0}}, +/* 61920 */ {(14<<2)|2,{119,119,0}}, +/* 61921 */ {(14<<2)|2,{119,119,0}}, +/* 61922 */ {(14<<2)|2,{119,119,0}}, +/* 61923 */ {(14<<2)|2,{119,119,0}}, +/* 61924 */ {(14<<2)|2,{119,120,0}}, +/* 61925 */ {(14<<2)|2,{119,120,0}}, +/* 61926 */ {(14<<2)|2,{119,120,0}}, +/* 61927 */ {(14<<2)|2,{119,120,0}}, +/* 61928 */ {(14<<2)|2,{119,121,0}}, +/* 61929 */ {(14<<2)|2,{119,121,0}}, +/* 61930 */ {(14<<2)|2,{119,121,0}}, +/* 61931 */ {(14<<2)|2,{119,121,0}}, +/* 61932 */ {(14<<2)|2,{119,122,0}}, +/* 61933 */ {(14<<2)|2,{119,122,0}}, +/* 61934 */ {(14<<2)|2,{119,122,0}}, +/* 61935 */ {(14<<2)|2,{119,122,0}}, +/* 61936 */ {(15<<2)|2,{119,38,0}}, +/* 61937 */ {(15<<2)|2,{119,38,0}}, +/* 61938 */ {(15<<2)|2,{119,42,0}}, +/* 61939 */ {(15<<2)|2,{119,42,0}}, +/* 61940 */ {(15<<2)|2,{119,44,0}}, +/* 61941 */ {(15<<2)|2,{119,44,0}}, +/* 61942 */ {(15<<2)|2,{119,59,0}}, +/* 61943 */ {(15<<2)|2,{119,59,0}}, +/* 61944 */ {(15<<2)|2,{119,88,0}}, +/* 61945 */ {(15<<2)|2,{119,88,0}}, +/* 61946 */ {(15<<2)|2,{119,90,0}}, +/* 61947 */ {(15<<2)|2,{119,90,0}}, +/* 61948 */ {(7<<2)|1,{119,0,0}}, +/* 61949 */ {(7<<2)|1,{119,0,0}}, +/* 61950 */ {(7<<2)|1,{119,0,0}}, +/* 61951 */ {(7<<2)|1,{119,0,0}}, +/* 61952 */ {(12<<2)|2,{120,48,0}}, +/* 61953 */ {(12<<2)|2,{120,48,0}}, +/* 61954 */ {(12<<2)|2,{120,48,0}}, +/* 61955 */ {(12<<2)|2,{120,48,0}}, +/* 61956 */ {(12<<2)|2,{120,48,0}}, +/* 61957 */ {(12<<2)|2,{120,48,0}}, +/* 61958 */ {(12<<2)|2,{120,48,0}}, +/* 61959 */ {(12<<2)|2,{120,48,0}}, +/* 61960 */ {(12<<2)|2,{120,48,0}}, +/* 61961 */ {(12<<2)|2,{120,48,0}}, +/* 61962 */ {(12<<2)|2,{120,48,0}}, +/* 61963 */ {(12<<2)|2,{120,48,0}}, +/* 61964 */ {(12<<2)|2,{120,48,0}}, +/* 61965 */ {(12<<2)|2,{120,48,0}}, +/* 61966 */ {(12<<2)|2,{120,48,0}}, +/* 61967 */ {(12<<2)|2,{120,48,0}}, +/* 61968 */ {(12<<2)|2,{120,49,0}}, +/* 61969 */ {(12<<2)|2,{120,49,0}}, +/* 61970 */ {(12<<2)|2,{120,49,0}}, +/* 61971 */ {(12<<2)|2,{120,49,0}}, +/* 61972 */ {(12<<2)|2,{120,49,0}}, +/* 61973 */ {(12<<2)|2,{120,49,0}}, +/* 61974 */ {(12<<2)|2,{120,49,0}}, +/* 61975 */ {(12<<2)|2,{120,49,0}}, +/* 61976 */ {(12<<2)|2,{120,49,0}}, +/* 61977 */ {(12<<2)|2,{120,49,0}}, +/* 61978 */ {(12<<2)|2,{120,49,0}}, +/* 61979 */ {(12<<2)|2,{120,49,0}}, +/* 61980 */ {(12<<2)|2,{120,49,0}}, +/* 61981 */ {(12<<2)|2,{120,49,0}}, +/* 61982 */ {(12<<2)|2,{120,49,0}}, +/* 61983 */ {(12<<2)|2,{120,49,0}}, +/* 61984 */ {(12<<2)|2,{120,50,0}}, +/* 61985 */ {(12<<2)|2,{120,50,0}}, +/* 61986 */ {(12<<2)|2,{120,50,0}}, +/* 61987 */ {(12<<2)|2,{120,50,0}}, +/* 61988 */ {(12<<2)|2,{120,50,0}}, +/* 61989 */ {(12<<2)|2,{120,50,0}}, +/* 61990 */ {(12<<2)|2,{120,50,0}}, +/* 61991 */ {(12<<2)|2,{120,50,0}}, +/* 61992 */ {(12<<2)|2,{120,50,0}}, +/* 61993 */ {(12<<2)|2,{120,50,0}}, +/* 61994 */ {(12<<2)|2,{120,50,0}}, +/* 61995 */ {(12<<2)|2,{120,50,0}}, +/* 61996 */ {(12<<2)|2,{120,50,0}}, +/* 61997 */ {(12<<2)|2,{120,50,0}}, +/* 61998 */ {(12<<2)|2,{120,50,0}}, +/* 61999 */ {(12<<2)|2,{120,50,0}}, +/* 62000 */ {(12<<2)|2,{120,97,0}}, +/* 62001 */ {(12<<2)|2,{120,97,0}}, +/* 62002 */ {(12<<2)|2,{120,97,0}}, +/* 62003 */ {(12<<2)|2,{120,97,0}}, +/* 62004 */ {(12<<2)|2,{120,97,0}}, +/* 62005 */ {(12<<2)|2,{120,97,0}}, +/* 62006 */ {(12<<2)|2,{120,97,0}}, +/* 62007 */ {(12<<2)|2,{120,97,0}}, +/* 62008 */ {(12<<2)|2,{120,97,0}}, +/* 62009 */ {(12<<2)|2,{120,97,0}}, +/* 62010 */ {(12<<2)|2,{120,97,0}}, +/* 62011 */ {(12<<2)|2,{120,97,0}}, +/* 62012 */ {(12<<2)|2,{120,97,0}}, +/* 62013 */ {(12<<2)|2,{120,97,0}}, +/* 62014 */ {(12<<2)|2,{120,97,0}}, +/* 62015 */ {(12<<2)|2,{120,97,0}}, +/* 62016 */ {(12<<2)|2,{120,99,0}}, +/* 62017 */ {(12<<2)|2,{120,99,0}}, +/* 62018 */ {(12<<2)|2,{120,99,0}}, +/* 62019 */ {(12<<2)|2,{120,99,0}}, +/* 62020 */ {(12<<2)|2,{120,99,0}}, +/* 62021 */ {(12<<2)|2,{120,99,0}}, +/* 62022 */ {(12<<2)|2,{120,99,0}}, +/* 62023 */ {(12<<2)|2,{120,99,0}}, +/* 62024 */ {(12<<2)|2,{120,99,0}}, +/* 62025 */ {(12<<2)|2,{120,99,0}}, +/* 62026 */ {(12<<2)|2,{120,99,0}}, +/* 62027 */ {(12<<2)|2,{120,99,0}}, +/* 62028 */ {(12<<2)|2,{120,99,0}}, +/* 62029 */ {(12<<2)|2,{120,99,0}}, +/* 62030 */ {(12<<2)|2,{120,99,0}}, +/* 62031 */ {(12<<2)|2,{120,99,0}}, +/* 62032 */ {(12<<2)|2,{120,101,0}}, +/* 62033 */ {(12<<2)|2,{120,101,0}}, +/* 62034 */ {(12<<2)|2,{120,101,0}}, +/* 62035 */ {(12<<2)|2,{120,101,0}}, +/* 62036 */ {(12<<2)|2,{120,101,0}}, +/* 62037 */ {(12<<2)|2,{120,101,0}}, +/* 62038 */ {(12<<2)|2,{120,101,0}}, +/* 62039 */ {(12<<2)|2,{120,101,0}}, +/* 62040 */ {(12<<2)|2,{120,101,0}}, +/* 62041 */ {(12<<2)|2,{120,101,0}}, +/* 62042 */ {(12<<2)|2,{120,101,0}}, +/* 62043 */ {(12<<2)|2,{120,101,0}}, +/* 62044 */ {(12<<2)|2,{120,101,0}}, +/* 62045 */ {(12<<2)|2,{120,101,0}}, +/* 62046 */ {(12<<2)|2,{120,101,0}}, +/* 62047 */ {(12<<2)|2,{120,101,0}}, +/* 62048 */ {(12<<2)|2,{120,105,0}}, +/* 62049 */ {(12<<2)|2,{120,105,0}}, +/* 62050 */ {(12<<2)|2,{120,105,0}}, +/* 62051 */ {(12<<2)|2,{120,105,0}}, +/* 62052 */ {(12<<2)|2,{120,105,0}}, +/* 62053 */ {(12<<2)|2,{120,105,0}}, +/* 62054 */ {(12<<2)|2,{120,105,0}}, +/* 62055 */ {(12<<2)|2,{120,105,0}}, +/* 62056 */ {(12<<2)|2,{120,105,0}}, +/* 62057 */ {(12<<2)|2,{120,105,0}}, +/* 62058 */ {(12<<2)|2,{120,105,0}}, +/* 62059 */ {(12<<2)|2,{120,105,0}}, +/* 62060 */ {(12<<2)|2,{120,105,0}}, +/* 62061 */ {(12<<2)|2,{120,105,0}}, +/* 62062 */ {(12<<2)|2,{120,105,0}}, +/* 62063 */ {(12<<2)|2,{120,105,0}}, +/* 62064 */ {(12<<2)|2,{120,111,0}}, +/* 62065 */ {(12<<2)|2,{120,111,0}}, +/* 62066 */ {(12<<2)|2,{120,111,0}}, +/* 62067 */ {(12<<2)|2,{120,111,0}}, +/* 62068 */ {(12<<2)|2,{120,111,0}}, +/* 62069 */ {(12<<2)|2,{120,111,0}}, +/* 62070 */ {(12<<2)|2,{120,111,0}}, +/* 62071 */ {(12<<2)|2,{120,111,0}}, +/* 62072 */ {(12<<2)|2,{120,111,0}}, +/* 62073 */ {(12<<2)|2,{120,111,0}}, +/* 62074 */ {(12<<2)|2,{120,111,0}}, +/* 62075 */ {(12<<2)|2,{120,111,0}}, +/* 62076 */ {(12<<2)|2,{120,111,0}}, +/* 62077 */ {(12<<2)|2,{120,111,0}}, +/* 62078 */ {(12<<2)|2,{120,111,0}}, +/* 62079 */ {(12<<2)|2,{120,111,0}}, +/* 62080 */ {(12<<2)|2,{120,115,0}}, +/* 62081 */ {(12<<2)|2,{120,115,0}}, +/* 62082 */ {(12<<2)|2,{120,115,0}}, +/* 62083 */ {(12<<2)|2,{120,115,0}}, +/* 62084 */ {(12<<2)|2,{120,115,0}}, +/* 62085 */ {(12<<2)|2,{120,115,0}}, +/* 62086 */ {(12<<2)|2,{120,115,0}}, +/* 62087 */ {(12<<2)|2,{120,115,0}}, +/* 62088 */ {(12<<2)|2,{120,115,0}}, +/* 62089 */ {(12<<2)|2,{120,115,0}}, +/* 62090 */ {(12<<2)|2,{120,115,0}}, +/* 62091 */ {(12<<2)|2,{120,115,0}}, +/* 62092 */ {(12<<2)|2,{120,115,0}}, +/* 62093 */ {(12<<2)|2,{120,115,0}}, +/* 62094 */ {(12<<2)|2,{120,115,0}}, +/* 62095 */ {(12<<2)|2,{120,115,0}}, +/* 62096 */ {(12<<2)|2,{120,116,0}}, +/* 62097 */ {(12<<2)|2,{120,116,0}}, +/* 62098 */ {(12<<2)|2,{120,116,0}}, +/* 62099 */ {(12<<2)|2,{120,116,0}}, +/* 62100 */ {(12<<2)|2,{120,116,0}}, +/* 62101 */ {(12<<2)|2,{120,116,0}}, +/* 62102 */ {(12<<2)|2,{120,116,0}}, +/* 62103 */ {(12<<2)|2,{120,116,0}}, +/* 62104 */ {(12<<2)|2,{120,116,0}}, +/* 62105 */ {(12<<2)|2,{120,116,0}}, +/* 62106 */ {(12<<2)|2,{120,116,0}}, +/* 62107 */ {(12<<2)|2,{120,116,0}}, +/* 62108 */ {(12<<2)|2,{120,116,0}}, +/* 62109 */ {(12<<2)|2,{120,116,0}}, +/* 62110 */ {(12<<2)|2,{120,116,0}}, +/* 62111 */ {(12<<2)|2,{120,116,0}}, +/* 62112 */ {(13<<2)|2,{120,32,0}}, +/* 62113 */ {(13<<2)|2,{120,32,0}}, +/* 62114 */ {(13<<2)|2,{120,32,0}}, +/* 62115 */ {(13<<2)|2,{120,32,0}}, +/* 62116 */ {(13<<2)|2,{120,32,0}}, +/* 62117 */ {(13<<2)|2,{120,32,0}}, +/* 62118 */ {(13<<2)|2,{120,32,0}}, +/* 62119 */ {(13<<2)|2,{120,32,0}}, +/* 62120 */ {(13<<2)|2,{120,37,0}}, +/* 62121 */ {(13<<2)|2,{120,37,0}}, +/* 62122 */ {(13<<2)|2,{120,37,0}}, +/* 62123 */ {(13<<2)|2,{120,37,0}}, +/* 62124 */ {(13<<2)|2,{120,37,0}}, +/* 62125 */ {(13<<2)|2,{120,37,0}}, +/* 62126 */ {(13<<2)|2,{120,37,0}}, +/* 62127 */ {(13<<2)|2,{120,37,0}}, +/* 62128 */ {(13<<2)|2,{120,45,0}}, +/* 62129 */ {(13<<2)|2,{120,45,0}}, +/* 62130 */ {(13<<2)|2,{120,45,0}}, +/* 62131 */ {(13<<2)|2,{120,45,0}}, +/* 62132 */ {(13<<2)|2,{120,45,0}}, +/* 62133 */ {(13<<2)|2,{120,45,0}}, +/* 62134 */ {(13<<2)|2,{120,45,0}}, +/* 62135 */ {(13<<2)|2,{120,45,0}}, +/* 62136 */ {(13<<2)|2,{120,46,0}}, +/* 62137 */ {(13<<2)|2,{120,46,0}}, +/* 62138 */ {(13<<2)|2,{120,46,0}}, +/* 62139 */ {(13<<2)|2,{120,46,0}}, +/* 62140 */ {(13<<2)|2,{120,46,0}}, +/* 62141 */ {(13<<2)|2,{120,46,0}}, +/* 62142 */ {(13<<2)|2,{120,46,0}}, +/* 62143 */ {(13<<2)|2,{120,46,0}}, +/* 62144 */ {(13<<2)|2,{120,47,0}}, +/* 62145 */ {(13<<2)|2,{120,47,0}}, +/* 62146 */ {(13<<2)|2,{120,47,0}}, +/* 62147 */ {(13<<2)|2,{120,47,0}}, +/* 62148 */ {(13<<2)|2,{120,47,0}}, +/* 62149 */ {(13<<2)|2,{120,47,0}}, +/* 62150 */ {(13<<2)|2,{120,47,0}}, +/* 62151 */ {(13<<2)|2,{120,47,0}}, +/* 62152 */ {(13<<2)|2,{120,51,0}}, +/* 62153 */ {(13<<2)|2,{120,51,0}}, +/* 62154 */ {(13<<2)|2,{120,51,0}}, +/* 62155 */ {(13<<2)|2,{120,51,0}}, +/* 62156 */ {(13<<2)|2,{120,51,0}}, +/* 62157 */ {(13<<2)|2,{120,51,0}}, +/* 62158 */ {(13<<2)|2,{120,51,0}}, +/* 62159 */ {(13<<2)|2,{120,51,0}}, +/* 62160 */ {(13<<2)|2,{120,52,0}}, +/* 62161 */ {(13<<2)|2,{120,52,0}}, +/* 62162 */ {(13<<2)|2,{120,52,0}}, +/* 62163 */ {(13<<2)|2,{120,52,0}}, +/* 62164 */ {(13<<2)|2,{120,52,0}}, +/* 62165 */ {(13<<2)|2,{120,52,0}}, +/* 62166 */ {(13<<2)|2,{120,52,0}}, +/* 62167 */ {(13<<2)|2,{120,52,0}}, +/* 62168 */ {(13<<2)|2,{120,53,0}}, +/* 62169 */ {(13<<2)|2,{120,53,0}}, +/* 62170 */ {(13<<2)|2,{120,53,0}}, +/* 62171 */ {(13<<2)|2,{120,53,0}}, +/* 62172 */ {(13<<2)|2,{120,53,0}}, +/* 62173 */ {(13<<2)|2,{120,53,0}}, +/* 62174 */ {(13<<2)|2,{120,53,0}}, +/* 62175 */ {(13<<2)|2,{120,53,0}}, +/* 62176 */ {(13<<2)|2,{120,54,0}}, +/* 62177 */ {(13<<2)|2,{120,54,0}}, +/* 62178 */ {(13<<2)|2,{120,54,0}}, +/* 62179 */ {(13<<2)|2,{120,54,0}}, +/* 62180 */ {(13<<2)|2,{120,54,0}}, +/* 62181 */ {(13<<2)|2,{120,54,0}}, +/* 62182 */ {(13<<2)|2,{120,54,0}}, +/* 62183 */ {(13<<2)|2,{120,54,0}}, +/* 62184 */ {(13<<2)|2,{120,55,0}}, +/* 62185 */ {(13<<2)|2,{120,55,0}}, +/* 62186 */ {(13<<2)|2,{120,55,0}}, +/* 62187 */ {(13<<2)|2,{120,55,0}}, +/* 62188 */ {(13<<2)|2,{120,55,0}}, +/* 62189 */ {(13<<2)|2,{120,55,0}}, +/* 62190 */ {(13<<2)|2,{120,55,0}}, +/* 62191 */ {(13<<2)|2,{120,55,0}}, +/* 62192 */ {(13<<2)|2,{120,56,0}}, +/* 62193 */ {(13<<2)|2,{120,56,0}}, +/* 62194 */ {(13<<2)|2,{120,56,0}}, +/* 62195 */ {(13<<2)|2,{120,56,0}}, +/* 62196 */ {(13<<2)|2,{120,56,0}}, +/* 62197 */ {(13<<2)|2,{120,56,0}}, +/* 62198 */ {(13<<2)|2,{120,56,0}}, +/* 62199 */ {(13<<2)|2,{120,56,0}}, +/* 62200 */ {(13<<2)|2,{120,57,0}}, +/* 62201 */ {(13<<2)|2,{120,57,0}}, +/* 62202 */ {(13<<2)|2,{120,57,0}}, +/* 62203 */ {(13<<2)|2,{120,57,0}}, +/* 62204 */ {(13<<2)|2,{120,57,0}}, +/* 62205 */ {(13<<2)|2,{120,57,0}}, +/* 62206 */ {(13<<2)|2,{120,57,0}}, +/* 62207 */ {(13<<2)|2,{120,57,0}}, +/* 62208 */ {(13<<2)|2,{120,61,0}}, +/* 62209 */ {(13<<2)|2,{120,61,0}}, +/* 62210 */ {(13<<2)|2,{120,61,0}}, +/* 62211 */ {(13<<2)|2,{120,61,0}}, +/* 62212 */ {(13<<2)|2,{120,61,0}}, +/* 62213 */ {(13<<2)|2,{120,61,0}}, +/* 62214 */ {(13<<2)|2,{120,61,0}}, +/* 62215 */ {(13<<2)|2,{120,61,0}}, +/* 62216 */ {(13<<2)|2,{120,65,0}}, +/* 62217 */ {(13<<2)|2,{120,65,0}}, +/* 62218 */ {(13<<2)|2,{120,65,0}}, +/* 62219 */ {(13<<2)|2,{120,65,0}}, +/* 62220 */ {(13<<2)|2,{120,65,0}}, +/* 62221 */ {(13<<2)|2,{120,65,0}}, +/* 62222 */ {(13<<2)|2,{120,65,0}}, +/* 62223 */ {(13<<2)|2,{120,65,0}}, +/* 62224 */ {(13<<2)|2,{120,95,0}}, +/* 62225 */ {(13<<2)|2,{120,95,0}}, +/* 62226 */ {(13<<2)|2,{120,95,0}}, +/* 62227 */ {(13<<2)|2,{120,95,0}}, +/* 62228 */ {(13<<2)|2,{120,95,0}}, +/* 62229 */ {(13<<2)|2,{120,95,0}}, +/* 62230 */ {(13<<2)|2,{120,95,0}}, +/* 62231 */ {(13<<2)|2,{120,95,0}}, +/* 62232 */ {(13<<2)|2,{120,98,0}}, +/* 62233 */ {(13<<2)|2,{120,98,0}}, +/* 62234 */ {(13<<2)|2,{120,98,0}}, +/* 62235 */ {(13<<2)|2,{120,98,0}}, +/* 62236 */ {(13<<2)|2,{120,98,0}}, +/* 62237 */ {(13<<2)|2,{120,98,0}}, +/* 62238 */ {(13<<2)|2,{120,98,0}}, +/* 62239 */ {(13<<2)|2,{120,98,0}}, +/* 62240 */ {(13<<2)|2,{120,100,0}}, +/* 62241 */ {(13<<2)|2,{120,100,0}}, +/* 62242 */ {(13<<2)|2,{120,100,0}}, +/* 62243 */ {(13<<2)|2,{120,100,0}}, +/* 62244 */ {(13<<2)|2,{120,100,0}}, +/* 62245 */ {(13<<2)|2,{120,100,0}}, +/* 62246 */ {(13<<2)|2,{120,100,0}}, +/* 62247 */ {(13<<2)|2,{120,100,0}}, +/* 62248 */ {(13<<2)|2,{120,102,0}}, +/* 62249 */ {(13<<2)|2,{120,102,0}}, +/* 62250 */ {(13<<2)|2,{120,102,0}}, +/* 62251 */ {(13<<2)|2,{120,102,0}}, +/* 62252 */ {(13<<2)|2,{120,102,0}}, +/* 62253 */ {(13<<2)|2,{120,102,0}}, +/* 62254 */ {(13<<2)|2,{120,102,0}}, +/* 62255 */ {(13<<2)|2,{120,102,0}}, +/* 62256 */ {(13<<2)|2,{120,103,0}}, +/* 62257 */ {(13<<2)|2,{120,103,0}}, +/* 62258 */ {(13<<2)|2,{120,103,0}}, +/* 62259 */ {(13<<2)|2,{120,103,0}}, +/* 62260 */ {(13<<2)|2,{120,103,0}}, +/* 62261 */ {(13<<2)|2,{120,103,0}}, +/* 62262 */ {(13<<2)|2,{120,103,0}}, +/* 62263 */ {(13<<2)|2,{120,103,0}}, +/* 62264 */ {(13<<2)|2,{120,104,0}}, +/* 62265 */ {(13<<2)|2,{120,104,0}}, +/* 62266 */ {(13<<2)|2,{120,104,0}}, +/* 62267 */ {(13<<2)|2,{120,104,0}}, +/* 62268 */ {(13<<2)|2,{120,104,0}}, +/* 62269 */ {(13<<2)|2,{120,104,0}}, +/* 62270 */ {(13<<2)|2,{120,104,0}}, +/* 62271 */ {(13<<2)|2,{120,104,0}}, +/* 62272 */ {(13<<2)|2,{120,108,0}}, +/* 62273 */ {(13<<2)|2,{120,108,0}}, +/* 62274 */ {(13<<2)|2,{120,108,0}}, +/* 62275 */ {(13<<2)|2,{120,108,0}}, +/* 62276 */ {(13<<2)|2,{120,108,0}}, +/* 62277 */ {(13<<2)|2,{120,108,0}}, +/* 62278 */ {(13<<2)|2,{120,108,0}}, +/* 62279 */ {(13<<2)|2,{120,108,0}}, +/* 62280 */ {(13<<2)|2,{120,109,0}}, +/* 62281 */ {(13<<2)|2,{120,109,0}}, +/* 62282 */ {(13<<2)|2,{120,109,0}}, +/* 62283 */ {(13<<2)|2,{120,109,0}}, +/* 62284 */ {(13<<2)|2,{120,109,0}}, +/* 62285 */ {(13<<2)|2,{120,109,0}}, +/* 62286 */ {(13<<2)|2,{120,109,0}}, +/* 62287 */ {(13<<2)|2,{120,109,0}}, +/* 62288 */ {(13<<2)|2,{120,110,0}}, +/* 62289 */ {(13<<2)|2,{120,110,0}}, +/* 62290 */ {(13<<2)|2,{120,110,0}}, +/* 62291 */ {(13<<2)|2,{120,110,0}}, +/* 62292 */ {(13<<2)|2,{120,110,0}}, +/* 62293 */ {(13<<2)|2,{120,110,0}}, +/* 62294 */ {(13<<2)|2,{120,110,0}}, +/* 62295 */ {(13<<2)|2,{120,110,0}}, +/* 62296 */ {(13<<2)|2,{120,112,0}}, +/* 62297 */ {(13<<2)|2,{120,112,0}}, +/* 62298 */ {(13<<2)|2,{120,112,0}}, +/* 62299 */ {(13<<2)|2,{120,112,0}}, +/* 62300 */ {(13<<2)|2,{120,112,0}}, +/* 62301 */ {(13<<2)|2,{120,112,0}}, +/* 62302 */ {(13<<2)|2,{120,112,0}}, +/* 62303 */ {(13<<2)|2,{120,112,0}}, +/* 62304 */ {(13<<2)|2,{120,114,0}}, +/* 62305 */ {(13<<2)|2,{120,114,0}}, +/* 62306 */ {(13<<2)|2,{120,114,0}}, +/* 62307 */ {(13<<2)|2,{120,114,0}}, +/* 62308 */ {(13<<2)|2,{120,114,0}}, +/* 62309 */ {(13<<2)|2,{120,114,0}}, +/* 62310 */ {(13<<2)|2,{120,114,0}}, +/* 62311 */ {(13<<2)|2,{120,114,0}}, +/* 62312 */ {(13<<2)|2,{120,117,0}}, +/* 62313 */ {(13<<2)|2,{120,117,0}}, +/* 62314 */ {(13<<2)|2,{120,117,0}}, +/* 62315 */ {(13<<2)|2,{120,117,0}}, +/* 62316 */ {(13<<2)|2,{120,117,0}}, +/* 62317 */ {(13<<2)|2,{120,117,0}}, +/* 62318 */ {(13<<2)|2,{120,117,0}}, +/* 62319 */ {(13<<2)|2,{120,117,0}}, +/* 62320 */ {(14<<2)|2,{120,58,0}}, +/* 62321 */ {(14<<2)|2,{120,58,0}}, +/* 62322 */ {(14<<2)|2,{120,58,0}}, +/* 62323 */ {(14<<2)|2,{120,58,0}}, +/* 62324 */ {(14<<2)|2,{120,66,0}}, +/* 62325 */ {(14<<2)|2,{120,66,0}}, +/* 62326 */ {(14<<2)|2,{120,66,0}}, +/* 62327 */ {(14<<2)|2,{120,66,0}}, +/* 62328 */ {(14<<2)|2,{120,67,0}}, +/* 62329 */ {(14<<2)|2,{120,67,0}}, +/* 62330 */ {(14<<2)|2,{120,67,0}}, +/* 62331 */ {(14<<2)|2,{120,67,0}}, +/* 62332 */ {(14<<2)|2,{120,68,0}}, +/* 62333 */ {(14<<2)|2,{120,68,0}}, +/* 62334 */ {(14<<2)|2,{120,68,0}}, +/* 62335 */ {(14<<2)|2,{120,68,0}}, +/* 62336 */ {(14<<2)|2,{120,69,0}}, +/* 62337 */ {(14<<2)|2,{120,69,0}}, +/* 62338 */ {(14<<2)|2,{120,69,0}}, +/* 62339 */ {(14<<2)|2,{120,69,0}}, +/* 62340 */ {(14<<2)|2,{120,70,0}}, +/* 62341 */ {(14<<2)|2,{120,70,0}}, +/* 62342 */ {(14<<2)|2,{120,70,0}}, +/* 62343 */ {(14<<2)|2,{120,70,0}}, +/* 62344 */ {(14<<2)|2,{120,71,0}}, +/* 62345 */ {(14<<2)|2,{120,71,0}}, +/* 62346 */ {(14<<2)|2,{120,71,0}}, +/* 62347 */ {(14<<2)|2,{120,71,0}}, +/* 62348 */ {(14<<2)|2,{120,72,0}}, +/* 62349 */ {(14<<2)|2,{120,72,0}}, +/* 62350 */ {(14<<2)|2,{120,72,0}}, +/* 62351 */ {(14<<2)|2,{120,72,0}}, +/* 62352 */ {(14<<2)|2,{120,73,0}}, +/* 62353 */ {(14<<2)|2,{120,73,0}}, +/* 62354 */ {(14<<2)|2,{120,73,0}}, +/* 62355 */ {(14<<2)|2,{120,73,0}}, +/* 62356 */ {(14<<2)|2,{120,74,0}}, +/* 62357 */ {(14<<2)|2,{120,74,0}}, +/* 62358 */ {(14<<2)|2,{120,74,0}}, +/* 62359 */ {(14<<2)|2,{120,74,0}}, +/* 62360 */ {(14<<2)|2,{120,75,0}}, +/* 62361 */ {(14<<2)|2,{120,75,0}}, +/* 62362 */ {(14<<2)|2,{120,75,0}}, +/* 62363 */ {(14<<2)|2,{120,75,0}}, +/* 62364 */ {(14<<2)|2,{120,76,0}}, +/* 62365 */ {(14<<2)|2,{120,76,0}}, +/* 62366 */ {(14<<2)|2,{120,76,0}}, +/* 62367 */ {(14<<2)|2,{120,76,0}}, +/* 62368 */ {(14<<2)|2,{120,77,0}}, +/* 62369 */ {(14<<2)|2,{120,77,0}}, +/* 62370 */ {(14<<2)|2,{120,77,0}}, +/* 62371 */ {(14<<2)|2,{120,77,0}}, +/* 62372 */ {(14<<2)|2,{120,78,0}}, +/* 62373 */ {(14<<2)|2,{120,78,0}}, +/* 62374 */ {(14<<2)|2,{120,78,0}}, +/* 62375 */ {(14<<2)|2,{120,78,0}}, +/* 62376 */ {(14<<2)|2,{120,79,0}}, +/* 62377 */ {(14<<2)|2,{120,79,0}}, +/* 62378 */ {(14<<2)|2,{120,79,0}}, +/* 62379 */ {(14<<2)|2,{120,79,0}}, +/* 62380 */ {(14<<2)|2,{120,80,0}}, +/* 62381 */ {(14<<2)|2,{120,80,0}}, +/* 62382 */ {(14<<2)|2,{120,80,0}}, +/* 62383 */ {(14<<2)|2,{120,80,0}}, +/* 62384 */ {(14<<2)|2,{120,81,0}}, +/* 62385 */ {(14<<2)|2,{120,81,0}}, +/* 62386 */ {(14<<2)|2,{120,81,0}}, +/* 62387 */ {(14<<2)|2,{120,81,0}}, +/* 62388 */ {(14<<2)|2,{120,82,0}}, +/* 62389 */ {(14<<2)|2,{120,82,0}}, +/* 62390 */ {(14<<2)|2,{120,82,0}}, +/* 62391 */ {(14<<2)|2,{120,82,0}}, +/* 62392 */ {(14<<2)|2,{120,83,0}}, +/* 62393 */ {(14<<2)|2,{120,83,0}}, +/* 62394 */ {(14<<2)|2,{120,83,0}}, +/* 62395 */ {(14<<2)|2,{120,83,0}}, +/* 62396 */ {(14<<2)|2,{120,84,0}}, +/* 62397 */ {(14<<2)|2,{120,84,0}}, +/* 62398 */ {(14<<2)|2,{120,84,0}}, +/* 62399 */ {(14<<2)|2,{120,84,0}}, +/* 62400 */ {(14<<2)|2,{120,85,0}}, +/* 62401 */ {(14<<2)|2,{120,85,0}}, +/* 62402 */ {(14<<2)|2,{120,85,0}}, +/* 62403 */ {(14<<2)|2,{120,85,0}}, +/* 62404 */ {(14<<2)|2,{120,86,0}}, +/* 62405 */ {(14<<2)|2,{120,86,0}}, +/* 62406 */ {(14<<2)|2,{120,86,0}}, +/* 62407 */ {(14<<2)|2,{120,86,0}}, +/* 62408 */ {(14<<2)|2,{120,87,0}}, +/* 62409 */ {(14<<2)|2,{120,87,0}}, +/* 62410 */ {(14<<2)|2,{120,87,0}}, +/* 62411 */ {(14<<2)|2,{120,87,0}}, +/* 62412 */ {(14<<2)|2,{120,89,0}}, +/* 62413 */ {(14<<2)|2,{120,89,0}}, +/* 62414 */ {(14<<2)|2,{120,89,0}}, +/* 62415 */ {(14<<2)|2,{120,89,0}}, +/* 62416 */ {(14<<2)|2,{120,106,0}}, +/* 62417 */ {(14<<2)|2,{120,106,0}}, +/* 62418 */ {(14<<2)|2,{120,106,0}}, +/* 62419 */ {(14<<2)|2,{120,106,0}}, +/* 62420 */ {(14<<2)|2,{120,107,0}}, +/* 62421 */ {(14<<2)|2,{120,107,0}}, +/* 62422 */ {(14<<2)|2,{120,107,0}}, +/* 62423 */ {(14<<2)|2,{120,107,0}}, +/* 62424 */ {(14<<2)|2,{120,113,0}}, +/* 62425 */ {(14<<2)|2,{120,113,0}}, +/* 62426 */ {(14<<2)|2,{120,113,0}}, +/* 62427 */ {(14<<2)|2,{120,113,0}}, +/* 62428 */ {(14<<2)|2,{120,118,0}}, +/* 62429 */ {(14<<2)|2,{120,118,0}}, +/* 62430 */ {(14<<2)|2,{120,118,0}}, +/* 62431 */ {(14<<2)|2,{120,118,0}}, +/* 62432 */ {(14<<2)|2,{120,119,0}}, +/* 62433 */ {(14<<2)|2,{120,119,0}}, +/* 62434 */ {(14<<2)|2,{120,119,0}}, +/* 62435 */ {(14<<2)|2,{120,119,0}}, +/* 62436 */ {(14<<2)|2,{120,120,0}}, +/* 62437 */ {(14<<2)|2,{120,120,0}}, +/* 62438 */ {(14<<2)|2,{120,120,0}}, +/* 62439 */ {(14<<2)|2,{120,120,0}}, +/* 62440 */ {(14<<2)|2,{120,121,0}}, +/* 62441 */ {(14<<2)|2,{120,121,0}}, +/* 62442 */ {(14<<2)|2,{120,121,0}}, +/* 62443 */ {(14<<2)|2,{120,121,0}}, +/* 62444 */ {(14<<2)|2,{120,122,0}}, +/* 62445 */ {(14<<2)|2,{120,122,0}}, +/* 62446 */ {(14<<2)|2,{120,122,0}}, +/* 62447 */ {(14<<2)|2,{120,122,0}}, +/* 62448 */ {(15<<2)|2,{120,38,0}}, +/* 62449 */ {(15<<2)|2,{120,38,0}}, +/* 62450 */ {(15<<2)|2,{120,42,0}}, +/* 62451 */ {(15<<2)|2,{120,42,0}}, +/* 62452 */ {(15<<2)|2,{120,44,0}}, +/* 62453 */ {(15<<2)|2,{120,44,0}}, +/* 62454 */ {(15<<2)|2,{120,59,0}}, +/* 62455 */ {(15<<2)|2,{120,59,0}}, +/* 62456 */ {(15<<2)|2,{120,88,0}}, +/* 62457 */ {(15<<2)|2,{120,88,0}}, +/* 62458 */ {(15<<2)|2,{120,90,0}}, +/* 62459 */ {(15<<2)|2,{120,90,0}}, +/* 62460 */ {(7<<2)|1,{120,0,0}}, +/* 62461 */ {(7<<2)|1,{120,0,0}}, +/* 62462 */ {(7<<2)|1,{120,0,0}}, +/* 62463 */ {(7<<2)|1,{120,0,0}}, +/* 62464 */ {(12<<2)|2,{121,48,0}}, +/* 62465 */ {(12<<2)|2,{121,48,0}}, +/* 62466 */ {(12<<2)|2,{121,48,0}}, +/* 62467 */ {(12<<2)|2,{121,48,0}}, +/* 62468 */ {(12<<2)|2,{121,48,0}}, +/* 62469 */ {(12<<2)|2,{121,48,0}}, +/* 62470 */ {(12<<2)|2,{121,48,0}}, +/* 62471 */ {(12<<2)|2,{121,48,0}}, +/* 62472 */ {(12<<2)|2,{121,48,0}}, +/* 62473 */ {(12<<2)|2,{121,48,0}}, +/* 62474 */ {(12<<2)|2,{121,48,0}}, +/* 62475 */ {(12<<2)|2,{121,48,0}}, +/* 62476 */ {(12<<2)|2,{121,48,0}}, +/* 62477 */ {(12<<2)|2,{121,48,0}}, +/* 62478 */ {(12<<2)|2,{121,48,0}}, +/* 62479 */ {(12<<2)|2,{121,48,0}}, +/* 62480 */ {(12<<2)|2,{121,49,0}}, +/* 62481 */ {(12<<2)|2,{121,49,0}}, +/* 62482 */ {(12<<2)|2,{121,49,0}}, +/* 62483 */ {(12<<2)|2,{121,49,0}}, +/* 62484 */ {(12<<2)|2,{121,49,0}}, +/* 62485 */ {(12<<2)|2,{121,49,0}}, +/* 62486 */ {(12<<2)|2,{121,49,0}}, +/* 62487 */ {(12<<2)|2,{121,49,0}}, +/* 62488 */ {(12<<2)|2,{121,49,0}}, +/* 62489 */ {(12<<2)|2,{121,49,0}}, +/* 62490 */ {(12<<2)|2,{121,49,0}}, +/* 62491 */ {(12<<2)|2,{121,49,0}}, +/* 62492 */ {(12<<2)|2,{121,49,0}}, +/* 62493 */ {(12<<2)|2,{121,49,0}}, +/* 62494 */ {(12<<2)|2,{121,49,0}}, +/* 62495 */ {(12<<2)|2,{121,49,0}}, +/* 62496 */ {(12<<2)|2,{121,50,0}}, +/* 62497 */ {(12<<2)|2,{121,50,0}}, +/* 62498 */ {(12<<2)|2,{121,50,0}}, +/* 62499 */ {(12<<2)|2,{121,50,0}}, +/* 62500 */ {(12<<2)|2,{121,50,0}}, +/* 62501 */ {(12<<2)|2,{121,50,0}}, +/* 62502 */ {(12<<2)|2,{121,50,0}}, +/* 62503 */ {(12<<2)|2,{121,50,0}}, +/* 62504 */ {(12<<2)|2,{121,50,0}}, +/* 62505 */ {(12<<2)|2,{121,50,0}}, +/* 62506 */ {(12<<2)|2,{121,50,0}}, +/* 62507 */ {(12<<2)|2,{121,50,0}}, +/* 62508 */ {(12<<2)|2,{121,50,0}}, +/* 62509 */ {(12<<2)|2,{121,50,0}}, +/* 62510 */ {(12<<2)|2,{121,50,0}}, +/* 62511 */ {(12<<2)|2,{121,50,0}}, +/* 62512 */ {(12<<2)|2,{121,97,0}}, +/* 62513 */ {(12<<2)|2,{121,97,0}}, +/* 62514 */ {(12<<2)|2,{121,97,0}}, +/* 62515 */ {(12<<2)|2,{121,97,0}}, +/* 62516 */ {(12<<2)|2,{121,97,0}}, +/* 62517 */ {(12<<2)|2,{121,97,0}}, +/* 62518 */ {(12<<2)|2,{121,97,0}}, +/* 62519 */ {(12<<2)|2,{121,97,0}}, +/* 62520 */ {(12<<2)|2,{121,97,0}}, +/* 62521 */ {(12<<2)|2,{121,97,0}}, +/* 62522 */ {(12<<2)|2,{121,97,0}}, +/* 62523 */ {(12<<2)|2,{121,97,0}}, +/* 62524 */ {(12<<2)|2,{121,97,0}}, +/* 62525 */ {(12<<2)|2,{121,97,0}}, +/* 62526 */ {(12<<2)|2,{121,97,0}}, +/* 62527 */ {(12<<2)|2,{121,97,0}}, +/* 62528 */ {(12<<2)|2,{121,99,0}}, +/* 62529 */ {(12<<2)|2,{121,99,0}}, +/* 62530 */ {(12<<2)|2,{121,99,0}}, +/* 62531 */ {(12<<2)|2,{121,99,0}}, +/* 62532 */ {(12<<2)|2,{121,99,0}}, +/* 62533 */ {(12<<2)|2,{121,99,0}}, +/* 62534 */ {(12<<2)|2,{121,99,0}}, +/* 62535 */ {(12<<2)|2,{121,99,0}}, +/* 62536 */ {(12<<2)|2,{121,99,0}}, +/* 62537 */ {(12<<2)|2,{121,99,0}}, +/* 62538 */ {(12<<2)|2,{121,99,0}}, +/* 62539 */ {(12<<2)|2,{121,99,0}}, +/* 62540 */ {(12<<2)|2,{121,99,0}}, +/* 62541 */ {(12<<2)|2,{121,99,0}}, +/* 62542 */ {(12<<2)|2,{121,99,0}}, +/* 62543 */ {(12<<2)|2,{121,99,0}}, +/* 62544 */ {(12<<2)|2,{121,101,0}}, +/* 62545 */ {(12<<2)|2,{121,101,0}}, +/* 62546 */ {(12<<2)|2,{121,101,0}}, +/* 62547 */ {(12<<2)|2,{121,101,0}}, +/* 62548 */ {(12<<2)|2,{121,101,0}}, +/* 62549 */ {(12<<2)|2,{121,101,0}}, +/* 62550 */ {(12<<2)|2,{121,101,0}}, +/* 62551 */ {(12<<2)|2,{121,101,0}}, +/* 62552 */ {(12<<2)|2,{121,101,0}}, +/* 62553 */ {(12<<2)|2,{121,101,0}}, +/* 62554 */ {(12<<2)|2,{121,101,0}}, +/* 62555 */ {(12<<2)|2,{121,101,0}}, +/* 62556 */ {(12<<2)|2,{121,101,0}}, +/* 62557 */ {(12<<2)|2,{121,101,0}}, +/* 62558 */ {(12<<2)|2,{121,101,0}}, +/* 62559 */ {(12<<2)|2,{121,101,0}}, +/* 62560 */ {(12<<2)|2,{121,105,0}}, +/* 62561 */ {(12<<2)|2,{121,105,0}}, +/* 62562 */ {(12<<2)|2,{121,105,0}}, +/* 62563 */ {(12<<2)|2,{121,105,0}}, +/* 62564 */ {(12<<2)|2,{121,105,0}}, +/* 62565 */ {(12<<2)|2,{121,105,0}}, +/* 62566 */ {(12<<2)|2,{121,105,0}}, +/* 62567 */ {(12<<2)|2,{121,105,0}}, +/* 62568 */ {(12<<2)|2,{121,105,0}}, +/* 62569 */ {(12<<2)|2,{121,105,0}}, +/* 62570 */ {(12<<2)|2,{121,105,0}}, +/* 62571 */ {(12<<2)|2,{121,105,0}}, +/* 62572 */ {(12<<2)|2,{121,105,0}}, +/* 62573 */ {(12<<2)|2,{121,105,0}}, +/* 62574 */ {(12<<2)|2,{121,105,0}}, +/* 62575 */ {(12<<2)|2,{121,105,0}}, +/* 62576 */ {(12<<2)|2,{121,111,0}}, +/* 62577 */ {(12<<2)|2,{121,111,0}}, +/* 62578 */ {(12<<2)|2,{121,111,0}}, +/* 62579 */ {(12<<2)|2,{121,111,0}}, +/* 62580 */ {(12<<2)|2,{121,111,0}}, +/* 62581 */ {(12<<2)|2,{121,111,0}}, +/* 62582 */ {(12<<2)|2,{121,111,0}}, +/* 62583 */ {(12<<2)|2,{121,111,0}}, +/* 62584 */ {(12<<2)|2,{121,111,0}}, +/* 62585 */ {(12<<2)|2,{121,111,0}}, +/* 62586 */ {(12<<2)|2,{121,111,0}}, +/* 62587 */ {(12<<2)|2,{121,111,0}}, +/* 62588 */ {(12<<2)|2,{121,111,0}}, +/* 62589 */ {(12<<2)|2,{121,111,0}}, +/* 62590 */ {(12<<2)|2,{121,111,0}}, +/* 62591 */ {(12<<2)|2,{121,111,0}}, +/* 62592 */ {(12<<2)|2,{121,115,0}}, +/* 62593 */ {(12<<2)|2,{121,115,0}}, +/* 62594 */ {(12<<2)|2,{121,115,0}}, +/* 62595 */ {(12<<2)|2,{121,115,0}}, +/* 62596 */ {(12<<2)|2,{121,115,0}}, +/* 62597 */ {(12<<2)|2,{121,115,0}}, +/* 62598 */ {(12<<2)|2,{121,115,0}}, +/* 62599 */ {(12<<2)|2,{121,115,0}}, +/* 62600 */ {(12<<2)|2,{121,115,0}}, +/* 62601 */ {(12<<2)|2,{121,115,0}}, +/* 62602 */ {(12<<2)|2,{121,115,0}}, +/* 62603 */ {(12<<2)|2,{121,115,0}}, +/* 62604 */ {(12<<2)|2,{121,115,0}}, +/* 62605 */ {(12<<2)|2,{121,115,0}}, +/* 62606 */ {(12<<2)|2,{121,115,0}}, +/* 62607 */ {(12<<2)|2,{121,115,0}}, +/* 62608 */ {(12<<2)|2,{121,116,0}}, +/* 62609 */ {(12<<2)|2,{121,116,0}}, +/* 62610 */ {(12<<2)|2,{121,116,0}}, +/* 62611 */ {(12<<2)|2,{121,116,0}}, +/* 62612 */ {(12<<2)|2,{121,116,0}}, +/* 62613 */ {(12<<2)|2,{121,116,0}}, +/* 62614 */ {(12<<2)|2,{121,116,0}}, +/* 62615 */ {(12<<2)|2,{121,116,0}}, +/* 62616 */ {(12<<2)|2,{121,116,0}}, +/* 62617 */ {(12<<2)|2,{121,116,0}}, +/* 62618 */ {(12<<2)|2,{121,116,0}}, +/* 62619 */ {(12<<2)|2,{121,116,0}}, +/* 62620 */ {(12<<2)|2,{121,116,0}}, +/* 62621 */ {(12<<2)|2,{121,116,0}}, +/* 62622 */ {(12<<2)|2,{121,116,0}}, +/* 62623 */ {(12<<2)|2,{121,116,0}}, +/* 62624 */ {(13<<2)|2,{121,32,0}}, +/* 62625 */ {(13<<2)|2,{121,32,0}}, +/* 62626 */ {(13<<2)|2,{121,32,0}}, +/* 62627 */ {(13<<2)|2,{121,32,0}}, +/* 62628 */ {(13<<2)|2,{121,32,0}}, +/* 62629 */ {(13<<2)|2,{121,32,0}}, +/* 62630 */ {(13<<2)|2,{121,32,0}}, +/* 62631 */ {(13<<2)|2,{121,32,0}}, +/* 62632 */ {(13<<2)|2,{121,37,0}}, +/* 62633 */ {(13<<2)|2,{121,37,0}}, +/* 62634 */ {(13<<2)|2,{121,37,0}}, +/* 62635 */ {(13<<2)|2,{121,37,0}}, +/* 62636 */ {(13<<2)|2,{121,37,0}}, +/* 62637 */ {(13<<2)|2,{121,37,0}}, +/* 62638 */ {(13<<2)|2,{121,37,0}}, +/* 62639 */ {(13<<2)|2,{121,37,0}}, +/* 62640 */ {(13<<2)|2,{121,45,0}}, +/* 62641 */ {(13<<2)|2,{121,45,0}}, +/* 62642 */ {(13<<2)|2,{121,45,0}}, +/* 62643 */ {(13<<2)|2,{121,45,0}}, +/* 62644 */ {(13<<2)|2,{121,45,0}}, +/* 62645 */ {(13<<2)|2,{121,45,0}}, +/* 62646 */ {(13<<2)|2,{121,45,0}}, +/* 62647 */ {(13<<2)|2,{121,45,0}}, +/* 62648 */ {(13<<2)|2,{121,46,0}}, +/* 62649 */ {(13<<2)|2,{121,46,0}}, +/* 62650 */ {(13<<2)|2,{121,46,0}}, +/* 62651 */ {(13<<2)|2,{121,46,0}}, +/* 62652 */ {(13<<2)|2,{121,46,0}}, +/* 62653 */ {(13<<2)|2,{121,46,0}}, +/* 62654 */ {(13<<2)|2,{121,46,0}}, +/* 62655 */ {(13<<2)|2,{121,46,0}}, +/* 62656 */ {(13<<2)|2,{121,47,0}}, +/* 62657 */ {(13<<2)|2,{121,47,0}}, +/* 62658 */ {(13<<2)|2,{121,47,0}}, +/* 62659 */ {(13<<2)|2,{121,47,0}}, +/* 62660 */ {(13<<2)|2,{121,47,0}}, +/* 62661 */ {(13<<2)|2,{121,47,0}}, +/* 62662 */ {(13<<2)|2,{121,47,0}}, +/* 62663 */ {(13<<2)|2,{121,47,0}}, +/* 62664 */ {(13<<2)|2,{121,51,0}}, +/* 62665 */ {(13<<2)|2,{121,51,0}}, +/* 62666 */ {(13<<2)|2,{121,51,0}}, +/* 62667 */ {(13<<2)|2,{121,51,0}}, +/* 62668 */ {(13<<2)|2,{121,51,0}}, +/* 62669 */ {(13<<2)|2,{121,51,0}}, +/* 62670 */ {(13<<2)|2,{121,51,0}}, +/* 62671 */ {(13<<2)|2,{121,51,0}}, +/* 62672 */ {(13<<2)|2,{121,52,0}}, +/* 62673 */ {(13<<2)|2,{121,52,0}}, +/* 62674 */ {(13<<2)|2,{121,52,0}}, +/* 62675 */ {(13<<2)|2,{121,52,0}}, +/* 62676 */ {(13<<2)|2,{121,52,0}}, +/* 62677 */ {(13<<2)|2,{121,52,0}}, +/* 62678 */ {(13<<2)|2,{121,52,0}}, +/* 62679 */ {(13<<2)|2,{121,52,0}}, +/* 62680 */ {(13<<2)|2,{121,53,0}}, +/* 62681 */ {(13<<2)|2,{121,53,0}}, +/* 62682 */ {(13<<2)|2,{121,53,0}}, +/* 62683 */ {(13<<2)|2,{121,53,0}}, +/* 62684 */ {(13<<2)|2,{121,53,0}}, +/* 62685 */ {(13<<2)|2,{121,53,0}}, +/* 62686 */ {(13<<2)|2,{121,53,0}}, +/* 62687 */ {(13<<2)|2,{121,53,0}}, +/* 62688 */ {(13<<2)|2,{121,54,0}}, +/* 62689 */ {(13<<2)|2,{121,54,0}}, +/* 62690 */ {(13<<2)|2,{121,54,0}}, +/* 62691 */ {(13<<2)|2,{121,54,0}}, +/* 62692 */ {(13<<2)|2,{121,54,0}}, +/* 62693 */ {(13<<2)|2,{121,54,0}}, +/* 62694 */ {(13<<2)|2,{121,54,0}}, +/* 62695 */ {(13<<2)|2,{121,54,0}}, +/* 62696 */ {(13<<2)|2,{121,55,0}}, +/* 62697 */ {(13<<2)|2,{121,55,0}}, +/* 62698 */ {(13<<2)|2,{121,55,0}}, +/* 62699 */ {(13<<2)|2,{121,55,0}}, +/* 62700 */ {(13<<2)|2,{121,55,0}}, +/* 62701 */ {(13<<2)|2,{121,55,0}}, +/* 62702 */ {(13<<2)|2,{121,55,0}}, +/* 62703 */ {(13<<2)|2,{121,55,0}}, +/* 62704 */ {(13<<2)|2,{121,56,0}}, +/* 62705 */ {(13<<2)|2,{121,56,0}}, +/* 62706 */ {(13<<2)|2,{121,56,0}}, +/* 62707 */ {(13<<2)|2,{121,56,0}}, +/* 62708 */ {(13<<2)|2,{121,56,0}}, +/* 62709 */ {(13<<2)|2,{121,56,0}}, +/* 62710 */ {(13<<2)|2,{121,56,0}}, +/* 62711 */ {(13<<2)|2,{121,56,0}}, +/* 62712 */ {(13<<2)|2,{121,57,0}}, +/* 62713 */ {(13<<2)|2,{121,57,0}}, +/* 62714 */ {(13<<2)|2,{121,57,0}}, +/* 62715 */ {(13<<2)|2,{121,57,0}}, +/* 62716 */ {(13<<2)|2,{121,57,0}}, +/* 62717 */ {(13<<2)|2,{121,57,0}}, +/* 62718 */ {(13<<2)|2,{121,57,0}}, +/* 62719 */ {(13<<2)|2,{121,57,0}}, +/* 62720 */ {(13<<2)|2,{121,61,0}}, +/* 62721 */ {(13<<2)|2,{121,61,0}}, +/* 62722 */ {(13<<2)|2,{121,61,0}}, +/* 62723 */ {(13<<2)|2,{121,61,0}}, +/* 62724 */ {(13<<2)|2,{121,61,0}}, +/* 62725 */ {(13<<2)|2,{121,61,0}}, +/* 62726 */ {(13<<2)|2,{121,61,0}}, +/* 62727 */ {(13<<2)|2,{121,61,0}}, +/* 62728 */ {(13<<2)|2,{121,65,0}}, +/* 62729 */ {(13<<2)|2,{121,65,0}}, +/* 62730 */ {(13<<2)|2,{121,65,0}}, +/* 62731 */ {(13<<2)|2,{121,65,0}}, +/* 62732 */ {(13<<2)|2,{121,65,0}}, +/* 62733 */ {(13<<2)|2,{121,65,0}}, +/* 62734 */ {(13<<2)|2,{121,65,0}}, +/* 62735 */ {(13<<2)|2,{121,65,0}}, +/* 62736 */ {(13<<2)|2,{121,95,0}}, +/* 62737 */ {(13<<2)|2,{121,95,0}}, +/* 62738 */ {(13<<2)|2,{121,95,0}}, +/* 62739 */ {(13<<2)|2,{121,95,0}}, +/* 62740 */ {(13<<2)|2,{121,95,0}}, +/* 62741 */ {(13<<2)|2,{121,95,0}}, +/* 62742 */ {(13<<2)|2,{121,95,0}}, +/* 62743 */ {(13<<2)|2,{121,95,0}}, +/* 62744 */ {(13<<2)|2,{121,98,0}}, +/* 62745 */ {(13<<2)|2,{121,98,0}}, +/* 62746 */ {(13<<2)|2,{121,98,0}}, +/* 62747 */ {(13<<2)|2,{121,98,0}}, +/* 62748 */ {(13<<2)|2,{121,98,0}}, +/* 62749 */ {(13<<2)|2,{121,98,0}}, +/* 62750 */ {(13<<2)|2,{121,98,0}}, +/* 62751 */ {(13<<2)|2,{121,98,0}}, +/* 62752 */ {(13<<2)|2,{121,100,0}}, +/* 62753 */ {(13<<2)|2,{121,100,0}}, +/* 62754 */ {(13<<2)|2,{121,100,0}}, +/* 62755 */ {(13<<2)|2,{121,100,0}}, +/* 62756 */ {(13<<2)|2,{121,100,0}}, +/* 62757 */ {(13<<2)|2,{121,100,0}}, +/* 62758 */ {(13<<2)|2,{121,100,0}}, +/* 62759 */ {(13<<2)|2,{121,100,0}}, +/* 62760 */ {(13<<2)|2,{121,102,0}}, +/* 62761 */ {(13<<2)|2,{121,102,0}}, +/* 62762 */ {(13<<2)|2,{121,102,0}}, +/* 62763 */ {(13<<2)|2,{121,102,0}}, +/* 62764 */ {(13<<2)|2,{121,102,0}}, +/* 62765 */ {(13<<2)|2,{121,102,0}}, +/* 62766 */ {(13<<2)|2,{121,102,0}}, +/* 62767 */ {(13<<2)|2,{121,102,0}}, +/* 62768 */ {(13<<2)|2,{121,103,0}}, +/* 62769 */ {(13<<2)|2,{121,103,0}}, +/* 62770 */ {(13<<2)|2,{121,103,0}}, +/* 62771 */ {(13<<2)|2,{121,103,0}}, +/* 62772 */ {(13<<2)|2,{121,103,0}}, +/* 62773 */ {(13<<2)|2,{121,103,0}}, +/* 62774 */ {(13<<2)|2,{121,103,0}}, +/* 62775 */ {(13<<2)|2,{121,103,0}}, +/* 62776 */ {(13<<2)|2,{121,104,0}}, +/* 62777 */ {(13<<2)|2,{121,104,0}}, +/* 62778 */ {(13<<2)|2,{121,104,0}}, +/* 62779 */ {(13<<2)|2,{121,104,0}}, +/* 62780 */ {(13<<2)|2,{121,104,0}}, +/* 62781 */ {(13<<2)|2,{121,104,0}}, +/* 62782 */ {(13<<2)|2,{121,104,0}}, +/* 62783 */ {(13<<2)|2,{121,104,0}}, +/* 62784 */ {(13<<2)|2,{121,108,0}}, +/* 62785 */ {(13<<2)|2,{121,108,0}}, +/* 62786 */ {(13<<2)|2,{121,108,0}}, +/* 62787 */ {(13<<2)|2,{121,108,0}}, +/* 62788 */ {(13<<2)|2,{121,108,0}}, +/* 62789 */ {(13<<2)|2,{121,108,0}}, +/* 62790 */ {(13<<2)|2,{121,108,0}}, +/* 62791 */ {(13<<2)|2,{121,108,0}}, +/* 62792 */ {(13<<2)|2,{121,109,0}}, +/* 62793 */ {(13<<2)|2,{121,109,0}}, +/* 62794 */ {(13<<2)|2,{121,109,0}}, +/* 62795 */ {(13<<2)|2,{121,109,0}}, +/* 62796 */ {(13<<2)|2,{121,109,0}}, +/* 62797 */ {(13<<2)|2,{121,109,0}}, +/* 62798 */ {(13<<2)|2,{121,109,0}}, +/* 62799 */ {(13<<2)|2,{121,109,0}}, +/* 62800 */ {(13<<2)|2,{121,110,0}}, +/* 62801 */ {(13<<2)|2,{121,110,0}}, +/* 62802 */ {(13<<2)|2,{121,110,0}}, +/* 62803 */ {(13<<2)|2,{121,110,0}}, +/* 62804 */ {(13<<2)|2,{121,110,0}}, +/* 62805 */ {(13<<2)|2,{121,110,0}}, +/* 62806 */ {(13<<2)|2,{121,110,0}}, +/* 62807 */ {(13<<2)|2,{121,110,0}}, +/* 62808 */ {(13<<2)|2,{121,112,0}}, +/* 62809 */ {(13<<2)|2,{121,112,0}}, +/* 62810 */ {(13<<2)|2,{121,112,0}}, +/* 62811 */ {(13<<2)|2,{121,112,0}}, +/* 62812 */ {(13<<2)|2,{121,112,0}}, +/* 62813 */ {(13<<2)|2,{121,112,0}}, +/* 62814 */ {(13<<2)|2,{121,112,0}}, +/* 62815 */ {(13<<2)|2,{121,112,0}}, +/* 62816 */ {(13<<2)|2,{121,114,0}}, +/* 62817 */ {(13<<2)|2,{121,114,0}}, +/* 62818 */ {(13<<2)|2,{121,114,0}}, +/* 62819 */ {(13<<2)|2,{121,114,0}}, +/* 62820 */ {(13<<2)|2,{121,114,0}}, +/* 62821 */ {(13<<2)|2,{121,114,0}}, +/* 62822 */ {(13<<2)|2,{121,114,0}}, +/* 62823 */ {(13<<2)|2,{121,114,0}}, +/* 62824 */ {(13<<2)|2,{121,117,0}}, +/* 62825 */ {(13<<2)|2,{121,117,0}}, +/* 62826 */ {(13<<2)|2,{121,117,0}}, +/* 62827 */ {(13<<2)|2,{121,117,0}}, +/* 62828 */ {(13<<2)|2,{121,117,0}}, +/* 62829 */ {(13<<2)|2,{121,117,0}}, +/* 62830 */ {(13<<2)|2,{121,117,0}}, +/* 62831 */ {(13<<2)|2,{121,117,0}}, +/* 62832 */ {(14<<2)|2,{121,58,0}}, +/* 62833 */ {(14<<2)|2,{121,58,0}}, +/* 62834 */ {(14<<2)|2,{121,58,0}}, +/* 62835 */ {(14<<2)|2,{121,58,0}}, +/* 62836 */ {(14<<2)|2,{121,66,0}}, +/* 62837 */ {(14<<2)|2,{121,66,0}}, +/* 62838 */ {(14<<2)|2,{121,66,0}}, +/* 62839 */ {(14<<2)|2,{121,66,0}}, +/* 62840 */ {(14<<2)|2,{121,67,0}}, +/* 62841 */ {(14<<2)|2,{121,67,0}}, +/* 62842 */ {(14<<2)|2,{121,67,0}}, +/* 62843 */ {(14<<2)|2,{121,67,0}}, +/* 62844 */ {(14<<2)|2,{121,68,0}}, +/* 62845 */ {(14<<2)|2,{121,68,0}}, +/* 62846 */ {(14<<2)|2,{121,68,0}}, +/* 62847 */ {(14<<2)|2,{121,68,0}}, +/* 62848 */ {(14<<2)|2,{121,69,0}}, +/* 62849 */ {(14<<2)|2,{121,69,0}}, +/* 62850 */ {(14<<2)|2,{121,69,0}}, +/* 62851 */ {(14<<2)|2,{121,69,0}}, +/* 62852 */ {(14<<2)|2,{121,70,0}}, +/* 62853 */ {(14<<2)|2,{121,70,0}}, +/* 62854 */ {(14<<2)|2,{121,70,0}}, +/* 62855 */ {(14<<2)|2,{121,70,0}}, +/* 62856 */ {(14<<2)|2,{121,71,0}}, +/* 62857 */ {(14<<2)|2,{121,71,0}}, +/* 62858 */ {(14<<2)|2,{121,71,0}}, +/* 62859 */ {(14<<2)|2,{121,71,0}}, +/* 62860 */ {(14<<2)|2,{121,72,0}}, +/* 62861 */ {(14<<2)|2,{121,72,0}}, +/* 62862 */ {(14<<2)|2,{121,72,0}}, +/* 62863 */ {(14<<2)|2,{121,72,0}}, +/* 62864 */ {(14<<2)|2,{121,73,0}}, +/* 62865 */ {(14<<2)|2,{121,73,0}}, +/* 62866 */ {(14<<2)|2,{121,73,0}}, +/* 62867 */ {(14<<2)|2,{121,73,0}}, +/* 62868 */ {(14<<2)|2,{121,74,0}}, +/* 62869 */ {(14<<2)|2,{121,74,0}}, +/* 62870 */ {(14<<2)|2,{121,74,0}}, +/* 62871 */ {(14<<2)|2,{121,74,0}}, +/* 62872 */ {(14<<2)|2,{121,75,0}}, +/* 62873 */ {(14<<2)|2,{121,75,0}}, +/* 62874 */ {(14<<2)|2,{121,75,0}}, +/* 62875 */ {(14<<2)|2,{121,75,0}}, +/* 62876 */ {(14<<2)|2,{121,76,0}}, +/* 62877 */ {(14<<2)|2,{121,76,0}}, +/* 62878 */ {(14<<2)|2,{121,76,0}}, +/* 62879 */ {(14<<2)|2,{121,76,0}}, +/* 62880 */ {(14<<2)|2,{121,77,0}}, +/* 62881 */ {(14<<2)|2,{121,77,0}}, +/* 62882 */ {(14<<2)|2,{121,77,0}}, +/* 62883 */ {(14<<2)|2,{121,77,0}}, +/* 62884 */ {(14<<2)|2,{121,78,0}}, +/* 62885 */ {(14<<2)|2,{121,78,0}}, +/* 62886 */ {(14<<2)|2,{121,78,0}}, +/* 62887 */ {(14<<2)|2,{121,78,0}}, +/* 62888 */ {(14<<2)|2,{121,79,0}}, +/* 62889 */ {(14<<2)|2,{121,79,0}}, +/* 62890 */ {(14<<2)|2,{121,79,0}}, +/* 62891 */ {(14<<2)|2,{121,79,0}}, +/* 62892 */ {(14<<2)|2,{121,80,0}}, +/* 62893 */ {(14<<2)|2,{121,80,0}}, +/* 62894 */ {(14<<2)|2,{121,80,0}}, +/* 62895 */ {(14<<2)|2,{121,80,0}}, +/* 62896 */ {(14<<2)|2,{121,81,0}}, +/* 62897 */ {(14<<2)|2,{121,81,0}}, +/* 62898 */ {(14<<2)|2,{121,81,0}}, +/* 62899 */ {(14<<2)|2,{121,81,0}}, +/* 62900 */ {(14<<2)|2,{121,82,0}}, +/* 62901 */ {(14<<2)|2,{121,82,0}}, +/* 62902 */ {(14<<2)|2,{121,82,0}}, +/* 62903 */ {(14<<2)|2,{121,82,0}}, +/* 62904 */ {(14<<2)|2,{121,83,0}}, +/* 62905 */ {(14<<2)|2,{121,83,0}}, +/* 62906 */ {(14<<2)|2,{121,83,0}}, +/* 62907 */ {(14<<2)|2,{121,83,0}}, +/* 62908 */ {(14<<2)|2,{121,84,0}}, +/* 62909 */ {(14<<2)|2,{121,84,0}}, +/* 62910 */ {(14<<2)|2,{121,84,0}}, +/* 62911 */ {(14<<2)|2,{121,84,0}}, +/* 62912 */ {(14<<2)|2,{121,85,0}}, +/* 62913 */ {(14<<2)|2,{121,85,0}}, +/* 62914 */ {(14<<2)|2,{121,85,0}}, +/* 62915 */ {(14<<2)|2,{121,85,0}}, +/* 62916 */ {(14<<2)|2,{121,86,0}}, +/* 62917 */ {(14<<2)|2,{121,86,0}}, +/* 62918 */ {(14<<2)|2,{121,86,0}}, +/* 62919 */ {(14<<2)|2,{121,86,0}}, +/* 62920 */ {(14<<2)|2,{121,87,0}}, +/* 62921 */ {(14<<2)|2,{121,87,0}}, +/* 62922 */ {(14<<2)|2,{121,87,0}}, +/* 62923 */ {(14<<2)|2,{121,87,0}}, +/* 62924 */ {(14<<2)|2,{121,89,0}}, +/* 62925 */ {(14<<2)|2,{121,89,0}}, +/* 62926 */ {(14<<2)|2,{121,89,0}}, +/* 62927 */ {(14<<2)|2,{121,89,0}}, +/* 62928 */ {(14<<2)|2,{121,106,0}}, +/* 62929 */ {(14<<2)|2,{121,106,0}}, +/* 62930 */ {(14<<2)|2,{121,106,0}}, +/* 62931 */ {(14<<2)|2,{121,106,0}}, +/* 62932 */ {(14<<2)|2,{121,107,0}}, +/* 62933 */ {(14<<2)|2,{121,107,0}}, +/* 62934 */ {(14<<2)|2,{121,107,0}}, +/* 62935 */ {(14<<2)|2,{121,107,0}}, +/* 62936 */ {(14<<2)|2,{121,113,0}}, +/* 62937 */ {(14<<2)|2,{121,113,0}}, +/* 62938 */ {(14<<2)|2,{121,113,0}}, +/* 62939 */ {(14<<2)|2,{121,113,0}}, +/* 62940 */ {(14<<2)|2,{121,118,0}}, +/* 62941 */ {(14<<2)|2,{121,118,0}}, +/* 62942 */ {(14<<2)|2,{121,118,0}}, +/* 62943 */ {(14<<2)|2,{121,118,0}}, +/* 62944 */ {(14<<2)|2,{121,119,0}}, +/* 62945 */ {(14<<2)|2,{121,119,0}}, +/* 62946 */ {(14<<2)|2,{121,119,0}}, +/* 62947 */ {(14<<2)|2,{121,119,0}}, +/* 62948 */ {(14<<2)|2,{121,120,0}}, +/* 62949 */ {(14<<2)|2,{121,120,0}}, +/* 62950 */ {(14<<2)|2,{121,120,0}}, +/* 62951 */ {(14<<2)|2,{121,120,0}}, +/* 62952 */ {(14<<2)|2,{121,121,0}}, +/* 62953 */ {(14<<2)|2,{121,121,0}}, +/* 62954 */ {(14<<2)|2,{121,121,0}}, +/* 62955 */ {(14<<2)|2,{121,121,0}}, +/* 62956 */ {(14<<2)|2,{121,122,0}}, +/* 62957 */ {(14<<2)|2,{121,122,0}}, +/* 62958 */ {(14<<2)|2,{121,122,0}}, +/* 62959 */ {(14<<2)|2,{121,122,0}}, +/* 62960 */ {(15<<2)|2,{121,38,0}}, +/* 62961 */ {(15<<2)|2,{121,38,0}}, +/* 62962 */ {(15<<2)|2,{121,42,0}}, +/* 62963 */ {(15<<2)|2,{121,42,0}}, +/* 62964 */ {(15<<2)|2,{121,44,0}}, +/* 62965 */ {(15<<2)|2,{121,44,0}}, +/* 62966 */ {(15<<2)|2,{121,59,0}}, +/* 62967 */ {(15<<2)|2,{121,59,0}}, +/* 62968 */ {(15<<2)|2,{121,88,0}}, +/* 62969 */ {(15<<2)|2,{121,88,0}}, +/* 62970 */ {(15<<2)|2,{121,90,0}}, +/* 62971 */ {(15<<2)|2,{121,90,0}}, +/* 62972 */ {(7<<2)|1,{121,0,0}}, +/* 62973 */ {(7<<2)|1,{121,0,0}}, +/* 62974 */ {(7<<2)|1,{121,0,0}}, +/* 62975 */ {(7<<2)|1,{121,0,0}}, +/* 62976 */ {(12<<2)|2,{122,48,0}}, +/* 62977 */ {(12<<2)|2,{122,48,0}}, +/* 62978 */ {(12<<2)|2,{122,48,0}}, +/* 62979 */ {(12<<2)|2,{122,48,0}}, +/* 62980 */ {(12<<2)|2,{122,48,0}}, +/* 62981 */ {(12<<2)|2,{122,48,0}}, +/* 62982 */ {(12<<2)|2,{122,48,0}}, +/* 62983 */ {(12<<2)|2,{122,48,0}}, +/* 62984 */ {(12<<2)|2,{122,48,0}}, +/* 62985 */ {(12<<2)|2,{122,48,0}}, +/* 62986 */ {(12<<2)|2,{122,48,0}}, +/* 62987 */ {(12<<2)|2,{122,48,0}}, +/* 62988 */ {(12<<2)|2,{122,48,0}}, +/* 62989 */ {(12<<2)|2,{122,48,0}}, +/* 62990 */ {(12<<2)|2,{122,48,0}}, +/* 62991 */ {(12<<2)|2,{122,48,0}}, +/* 62992 */ {(12<<2)|2,{122,49,0}}, +/* 62993 */ {(12<<2)|2,{122,49,0}}, +/* 62994 */ {(12<<2)|2,{122,49,0}}, +/* 62995 */ {(12<<2)|2,{122,49,0}}, +/* 62996 */ {(12<<2)|2,{122,49,0}}, +/* 62997 */ {(12<<2)|2,{122,49,0}}, +/* 62998 */ {(12<<2)|2,{122,49,0}}, +/* 62999 */ {(12<<2)|2,{122,49,0}}, +/* 63000 */ {(12<<2)|2,{122,49,0}}, +/* 63001 */ {(12<<2)|2,{122,49,0}}, +/* 63002 */ {(12<<2)|2,{122,49,0}}, +/* 63003 */ {(12<<2)|2,{122,49,0}}, +/* 63004 */ {(12<<2)|2,{122,49,0}}, +/* 63005 */ {(12<<2)|2,{122,49,0}}, +/* 63006 */ {(12<<2)|2,{122,49,0}}, +/* 63007 */ {(12<<2)|2,{122,49,0}}, +/* 63008 */ {(12<<2)|2,{122,50,0}}, +/* 63009 */ {(12<<2)|2,{122,50,0}}, +/* 63010 */ {(12<<2)|2,{122,50,0}}, +/* 63011 */ {(12<<2)|2,{122,50,0}}, +/* 63012 */ {(12<<2)|2,{122,50,0}}, +/* 63013 */ {(12<<2)|2,{122,50,0}}, +/* 63014 */ {(12<<2)|2,{122,50,0}}, +/* 63015 */ {(12<<2)|2,{122,50,0}}, +/* 63016 */ {(12<<2)|2,{122,50,0}}, +/* 63017 */ {(12<<2)|2,{122,50,0}}, +/* 63018 */ {(12<<2)|2,{122,50,0}}, +/* 63019 */ {(12<<2)|2,{122,50,0}}, +/* 63020 */ {(12<<2)|2,{122,50,0}}, +/* 63021 */ {(12<<2)|2,{122,50,0}}, +/* 63022 */ {(12<<2)|2,{122,50,0}}, +/* 63023 */ {(12<<2)|2,{122,50,0}}, +/* 63024 */ {(12<<2)|2,{122,97,0}}, +/* 63025 */ {(12<<2)|2,{122,97,0}}, +/* 63026 */ {(12<<2)|2,{122,97,0}}, +/* 63027 */ {(12<<2)|2,{122,97,0}}, +/* 63028 */ {(12<<2)|2,{122,97,0}}, +/* 63029 */ {(12<<2)|2,{122,97,0}}, +/* 63030 */ {(12<<2)|2,{122,97,0}}, +/* 63031 */ {(12<<2)|2,{122,97,0}}, +/* 63032 */ {(12<<2)|2,{122,97,0}}, +/* 63033 */ {(12<<2)|2,{122,97,0}}, +/* 63034 */ {(12<<2)|2,{122,97,0}}, +/* 63035 */ {(12<<2)|2,{122,97,0}}, +/* 63036 */ {(12<<2)|2,{122,97,0}}, +/* 63037 */ {(12<<2)|2,{122,97,0}}, +/* 63038 */ {(12<<2)|2,{122,97,0}}, +/* 63039 */ {(12<<2)|2,{122,97,0}}, +/* 63040 */ {(12<<2)|2,{122,99,0}}, +/* 63041 */ {(12<<2)|2,{122,99,0}}, +/* 63042 */ {(12<<2)|2,{122,99,0}}, +/* 63043 */ {(12<<2)|2,{122,99,0}}, +/* 63044 */ {(12<<2)|2,{122,99,0}}, +/* 63045 */ {(12<<2)|2,{122,99,0}}, +/* 63046 */ {(12<<2)|2,{122,99,0}}, +/* 63047 */ {(12<<2)|2,{122,99,0}}, +/* 63048 */ {(12<<2)|2,{122,99,0}}, +/* 63049 */ {(12<<2)|2,{122,99,0}}, +/* 63050 */ {(12<<2)|2,{122,99,0}}, +/* 63051 */ {(12<<2)|2,{122,99,0}}, +/* 63052 */ {(12<<2)|2,{122,99,0}}, +/* 63053 */ {(12<<2)|2,{122,99,0}}, +/* 63054 */ {(12<<2)|2,{122,99,0}}, +/* 63055 */ {(12<<2)|2,{122,99,0}}, +/* 63056 */ {(12<<2)|2,{122,101,0}}, +/* 63057 */ {(12<<2)|2,{122,101,0}}, +/* 63058 */ {(12<<2)|2,{122,101,0}}, +/* 63059 */ {(12<<2)|2,{122,101,0}}, +/* 63060 */ {(12<<2)|2,{122,101,0}}, +/* 63061 */ {(12<<2)|2,{122,101,0}}, +/* 63062 */ {(12<<2)|2,{122,101,0}}, +/* 63063 */ {(12<<2)|2,{122,101,0}}, +/* 63064 */ {(12<<2)|2,{122,101,0}}, +/* 63065 */ {(12<<2)|2,{122,101,0}}, +/* 63066 */ {(12<<2)|2,{122,101,0}}, +/* 63067 */ {(12<<2)|2,{122,101,0}}, +/* 63068 */ {(12<<2)|2,{122,101,0}}, +/* 63069 */ {(12<<2)|2,{122,101,0}}, +/* 63070 */ {(12<<2)|2,{122,101,0}}, +/* 63071 */ {(12<<2)|2,{122,101,0}}, +/* 63072 */ {(12<<2)|2,{122,105,0}}, +/* 63073 */ {(12<<2)|2,{122,105,0}}, +/* 63074 */ {(12<<2)|2,{122,105,0}}, +/* 63075 */ {(12<<2)|2,{122,105,0}}, +/* 63076 */ {(12<<2)|2,{122,105,0}}, +/* 63077 */ {(12<<2)|2,{122,105,0}}, +/* 63078 */ {(12<<2)|2,{122,105,0}}, +/* 63079 */ {(12<<2)|2,{122,105,0}}, +/* 63080 */ {(12<<2)|2,{122,105,0}}, +/* 63081 */ {(12<<2)|2,{122,105,0}}, +/* 63082 */ {(12<<2)|2,{122,105,0}}, +/* 63083 */ {(12<<2)|2,{122,105,0}}, +/* 63084 */ {(12<<2)|2,{122,105,0}}, +/* 63085 */ {(12<<2)|2,{122,105,0}}, +/* 63086 */ {(12<<2)|2,{122,105,0}}, +/* 63087 */ {(12<<2)|2,{122,105,0}}, +/* 63088 */ {(12<<2)|2,{122,111,0}}, +/* 63089 */ {(12<<2)|2,{122,111,0}}, +/* 63090 */ {(12<<2)|2,{122,111,0}}, +/* 63091 */ {(12<<2)|2,{122,111,0}}, +/* 63092 */ {(12<<2)|2,{122,111,0}}, +/* 63093 */ {(12<<2)|2,{122,111,0}}, +/* 63094 */ {(12<<2)|2,{122,111,0}}, +/* 63095 */ {(12<<2)|2,{122,111,0}}, +/* 63096 */ {(12<<2)|2,{122,111,0}}, +/* 63097 */ {(12<<2)|2,{122,111,0}}, +/* 63098 */ {(12<<2)|2,{122,111,0}}, +/* 63099 */ {(12<<2)|2,{122,111,0}}, +/* 63100 */ {(12<<2)|2,{122,111,0}}, +/* 63101 */ {(12<<2)|2,{122,111,0}}, +/* 63102 */ {(12<<2)|2,{122,111,0}}, +/* 63103 */ {(12<<2)|2,{122,111,0}}, +/* 63104 */ {(12<<2)|2,{122,115,0}}, +/* 63105 */ {(12<<2)|2,{122,115,0}}, +/* 63106 */ {(12<<2)|2,{122,115,0}}, +/* 63107 */ {(12<<2)|2,{122,115,0}}, +/* 63108 */ {(12<<2)|2,{122,115,0}}, +/* 63109 */ {(12<<2)|2,{122,115,0}}, +/* 63110 */ {(12<<2)|2,{122,115,0}}, +/* 63111 */ {(12<<2)|2,{122,115,0}}, +/* 63112 */ {(12<<2)|2,{122,115,0}}, +/* 63113 */ {(12<<2)|2,{122,115,0}}, +/* 63114 */ {(12<<2)|2,{122,115,0}}, +/* 63115 */ {(12<<2)|2,{122,115,0}}, +/* 63116 */ {(12<<2)|2,{122,115,0}}, +/* 63117 */ {(12<<2)|2,{122,115,0}}, +/* 63118 */ {(12<<2)|2,{122,115,0}}, +/* 63119 */ {(12<<2)|2,{122,115,0}}, +/* 63120 */ {(12<<2)|2,{122,116,0}}, +/* 63121 */ {(12<<2)|2,{122,116,0}}, +/* 63122 */ {(12<<2)|2,{122,116,0}}, +/* 63123 */ {(12<<2)|2,{122,116,0}}, +/* 63124 */ {(12<<2)|2,{122,116,0}}, +/* 63125 */ {(12<<2)|2,{122,116,0}}, +/* 63126 */ {(12<<2)|2,{122,116,0}}, +/* 63127 */ {(12<<2)|2,{122,116,0}}, +/* 63128 */ {(12<<2)|2,{122,116,0}}, +/* 63129 */ {(12<<2)|2,{122,116,0}}, +/* 63130 */ {(12<<2)|2,{122,116,0}}, +/* 63131 */ {(12<<2)|2,{122,116,0}}, +/* 63132 */ {(12<<2)|2,{122,116,0}}, +/* 63133 */ {(12<<2)|2,{122,116,0}}, +/* 63134 */ {(12<<2)|2,{122,116,0}}, +/* 63135 */ {(12<<2)|2,{122,116,0}}, +/* 63136 */ {(13<<2)|2,{122,32,0}}, +/* 63137 */ {(13<<2)|2,{122,32,0}}, +/* 63138 */ {(13<<2)|2,{122,32,0}}, +/* 63139 */ {(13<<2)|2,{122,32,0}}, +/* 63140 */ {(13<<2)|2,{122,32,0}}, +/* 63141 */ {(13<<2)|2,{122,32,0}}, +/* 63142 */ {(13<<2)|2,{122,32,0}}, +/* 63143 */ {(13<<2)|2,{122,32,0}}, +/* 63144 */ {(13<<2)|2,{122,37,0}}, +/* 63145 */ {(13<<2)|2,{122,37,0}}, +/* 63146 */ {(13<<2)|2,{122,37,0}}, +/* 63147 */ {(13<<2)|2,{122,37,0}}, +/* 63148 */ {(13<<2)|2,{122,37,0}}, +/* 63149 */ {(13<<2)|2,{122,37,0}}, +/* 63150 */ {(13<<2)|2,{122,37,0}}, +/* 63151 */ {(13<<2)|2,{122,37,0}}, +/* 63152 */ {(13<<2)|2,{122,45,0}}, +/* 63153 */ {(13<<2)|2,{122,45,0}}, +/* 63154 */ {(13<<2)|2,{122,45,0}}, +/* 63155 */ {(13<<2)|2,{122,45,0}}, +/* 63156 */ {(13<<2)|2,{122,45,0}}, +/* 63157 */ {(13<<2)|2,{122,45,0}}, +/* 63158 */ {(13<<2)|2,{122,45,0}}, +/* 63159 */ {(13<<2)|2,{122,45,0}}, +/* 63160 */ {(13<<2)|2,{122,46,0}}, +/* 63161 */ {(13<<2)|2,{122,46,0}}, +/* 63162 */ {(13<<2)|2,{122,46,0}}, +/* 63163 */ {(13<<2)|2,{122,46,0}}, +/* 63164 */ {(13<<2)|2,{122,46,0}}, +/* 63165 */ {(13<<2)|2,{122,46,0}}, +/* 63166 */ {(13<<2)|2,{122,46,0}}, +/* 63167 */ {(13<<2)|2,{122,46,0}}, +/* 63168 */ {(13<<2)|2,{122,47,0}}, +/* 63169 */ {(13<<2)|2,{122,47,0}}, +/* 63170 */ {(13<<2)|2,{122,47,0}}, +/* 63171 */ {(13<<2)|2,{122,47,0}}, +/* 63172 */ {(13<<2)|2,{122,47,0}}, +/* 63173 */ {(13<<2)|2,{122,47,0}}, +/* 63174 */ {(13<<2)|2,{122,47,0}}, +/* 63175 */ {(13<<2)|2,{122,47,0}}, +/* 63176 */ {(13<<2)|2,{122,51,0}}, +/* 63177 */ {(13<<2)|2,{122,51,0}}, +/* 63178 */ {(13<<2)|2,{122,51,0}}, +/* 63179 */ {(13<<2)|2,{122,51,0}}, +/* 63180 */ {(13<<2)|2,{122,51,0}}, +/* 63181 */ {(13<<2)|2,{122,51,0}}, +/* 63182 */ {(13<<2)|2,{122,51,0}}, +/* 63183 */ {(13<<2)|2,{122,51,0}}, +/* 63184 */ {(13<<2)|2,{122,52,0}}, +/* 63185 */ {(13<<2)|2,{122,52,0}}, +/* 63186 */ {(13<<2)|2,{122,52,0}}, +/* 63187 */ {(13<<2)|2,{122,52,0}}, +/* 63188 */ {(13<<2)|2,{122,52,0}}, +/* 63189 */ {(13<<2)|2,{122,52,0}}, +/* 63190 */ {(13<<2)|2,{122,52,0}}, +/* 63191 */ {(13<<2)|2,{122,52,0}}, +/* 63192 */ {(13<<2)|2,{122,53,0}}, +/* 63193 */ {(13<<2)|2,{122,53,0}}, +/* 63194 */ {(13<<2)|2,{122,53,0}}, +/* 63195 */ {(13<<2)|2,{122,53,0}}, +/* 63196 */ {(13<<2)|2,{122,53,0}}, +/* 63197 */ {(13<<2)|2,{122,53,0}}, +/* 63198 */ {(13<<2)|2,{122,53,0}}, +/* 63199 */ {(13<<2)|2,{122,53,0}}, +/* 63200 */ {(13<<2)|2,{122,54,0}}, +/* 63201 */ {(13<<2)|2,{122,54,0}}, +/* 63202 */ {(13<<2)|2,{122,54,0}}, +/* 63203 */ {(13<<2)|2,{122,54,0}}, +/* 63204 */ {(13<<2)|2,{122,54,0}}, +/* 63205 */ {(13<<2)|2,{122,54,0}}, +/* 63206 */ {(13<<2)|2,{122,54,0}}, +/* 63207 */ {(13<<2)|2,{122,54,0}}, +/* 63208 */ {(13<<2)|2,{122,55,0}}, +/* 63209 */ {(13<<2)|2,{122,55,0}}, +/* 63210 */ {(13<<2)|2,{122,55,0}}, +/* 63211 */ {(13<<2)|2,{122,55,0}}, +/* 63212 */ {(13<<2)|2,{122,55,0}}, +/* 63213 */ {(13<<2)|2,{122,55,0}}, +/* 63214 */ {(13<<2)|2,{122,55,0}}, +/* 63215 */ {(13<<2)|2,{122,55,0}}, +/* 63216 */ {(13<<2)|2,{122,56,0}}, +/* 63217 */ {(13<<2)|2,{122,56,0}}, +/* 63218 */ {(13<<2)|2,{122,56,0}}, +/* 63219 */ {(13<<2)|2,{122,56,0}}, +/* 63220 */ {(13<<2)|2,{122,56,0}}, +/* 63221 */ {(13<<2)|2,{122,56,0}}, +/* 63222 */ {(13<<2)|2,{122,56,0}}, +/* 63223 */ {(13<<2)|2,{122,56,0}}, +/* 63224 */ {(13<<2)|2,{122,57,0}}, +/* 63225 */ {(13<<2)|2,{122,57,0}}, +/* 63226 */ {(13<<2)|2,{122,57,0}}, +/* 63227 */ {(13<<2)|2,{122,57,0}}, +/* 63228 */ {(13<<2)|2,{122,57,0}}, +/* 63229 */ {(13<<2)|2,{122,57,0}}, +/* 63230 */ {(13<<2)|2,{122,57,0}}, +/* 63231 */ {(13<<2)|2,{122,57,0}}, +/* 63232 */ {(13<<2)|2,{122,61,0}}, +/* 63233 */ {(13<<2)|2,{122,61,0}}, +/* 63234 */ {(13<<2)|2,{122,61,0}}, +/* 63235 */ {(13<<2)|2,{122,61,0}}, +/* 63236 */ {(13<<2)|2,{122,61,0}}, +/* 63237 */ {(13<<2)|2,{122,61,0}}, +/* 63238 */ {(13<<2)|2,{122,61,0}}, +/* 63239 */ {(13<<2)|2,{122,61,0}}, +/* 63240 */ {(13<<2)|2,{122,65,0}}, +/* 63241 */ {(13<<2)|2,{122,65,0}}, +/* 63242 */ {(13<<2)|2,{122,65,0}}, +/* 63243 */ {(13<<2)|2,{122,65,0}}, +/* 63244 */ {(13<<2)|2,{122,65,0}}, +/* 63245 */ {(13<<2)|2,{122,65,0}}, +/* 63246 */ {(13<<2)|2,{122,65,0}}, +/* 63247 */ {(13<<2)|2,{122,65,0}}, +/* 63248 */ {(13<<2)|2,{122,95,0}}, +/* 63249 */ {(13<<2)|2,{122,95,0}}, +/* 63250 */ {(13<<2)|2,{122,95,0}}, +/* 63251 */ {(13<<2)|2,{122,95,0}}, +/* 63252 */ {(13<<2)|2,{122,95,0}}, +/* 63253 */ {(13<<2)|2,{122,95,0}}, +/* 63254 */ {(13<<2)|2,{122,95,0}}, +/* 63255 */ {(13<<2)|2,{122,95,0}}, +/* 63256 */ {(13<<2)|2,{122,98,0}}, +/* 63257 */ {(13<<2)|2,{122,98,0}}, +/* 63258 */ {(13<<2)|2,{122,98,0}}, +/* 63259 */ {(13<<2)|2,{122,98,0}}, +/* 63260 */ {(13<<2)|2,{122,98,0}}, +/* 63261 */ {(13<<2)|2,{122,98,0}}, +/* 63262 */ {(13<<2)|2,{122,98,0}}, +/* 63263 */ {(13<<2)|2,{122,98,0}}, +/* 63264 */ {(13<<2)|2,{122,100,0}}, +/* 63265 */ {(13<<2)|2,{122,100,0}}, +/* 63266 */ {(13<<2)|2,{122,100,0}}, +/* 63267 */ {(13<<2)|2,{122,100,0}}, +/* 63268 */ {(13<<2)|2,{122,100,0}}, +/* 63269 */ {(13<<2)|2,{122,100,0}}, +/* 63270 */ {(13<<2)|2,{122,100,0}}, +/* 63271 */ {(13<<2)|2,{122,100,0}}, +/* 63272 */ {(13<<2)|2,{122,102,0}}, +/* 63273 */ {(13<<2)|2,{122,102,0}}, +/* 63274 */ {(13<<2)|2,{122,102,0}}, +/* 63275 */ {(13<<2)|2,{122,102,0}}, +/* 63276 */ {(13<<2)|2,{122,102,0}}, +/* 63277 */ {(13<<2)|2,{122,102,0}}, +/* 63278 */ {(13<<2)|2,{122,102,0}}, +/* 63279 */ {(13<<2)|2,{122,102,0}}, +/* 63280 */ {(13<<2)|2,{122,103,0}}, +/* 63281 */ {(13<<2)|2,{122,103,0}}, +/* 63282 */ {(13<<2)|2,{122,103,0}}, +/* 63283 */ {(13<<2)|2,{122,103,0}}, +/* 63284 */ {(13<<2)|2,{122,103,0}}, +/* 63285 */ {(13<<2)|2,{122,103,0}}, +/* 63286 */ {(13<<2)|2,{122,103,0}}, +/* 63287 */ {(13<<2)|2,{122,103,0}}, +/* 63288 */ {(13<<2)|2,{122,104,0}}, +/* 63289 */ {(13<<2)|2,{122,104,0}}, +/* 63290 */ {(13<<2)|2,{122,104,0}}, +/* 63291 */ {(13<<2)|2,{122,104,0}}, +/* 63292 */ {(13<<2)|2,{122,104,0}}, +/* 63293 */ {(13<<2)|2,{122,104,0}}, +/* 63294 */ {(13<<2)|2,{122,104,0}}, +/* 63295 */ {(13<<2)|2,{122,104,0}}, +/* 63296 */ {(13<<2)|2,{122,108,0}}, +/* 63297 */ {(13<<2)|2,{122,108,0}}, +/* 63298 */ {(13<<2)|2,{122,108,0}}, +/* 63299 */ {(13<<2)|2,{122,108,0}}, +/* 63300 */ {(13<<2)|2,{122,108,0}}, +/* 63301 */ {(13<<2)|2,{122,108,0}}, +/* 63302 */ {(13<<2)|2,{122,108,0}}, +/* 63303 */ {(13<<2)|2,{122,108,0}}, +/* 63304 */ {(13<<2)|2,{122,109,0}}, +/* 63305 */ {(13<<2)|2,{122,109,0}}, +/* 63306 */ {(13<<2)|2,{122,109,0}}, +/* 63307 */ {(13<<2)|2,{122,109,0}}, +/* 63308 */ {(13<<2)|2,{122,109,0}}, +/* 63309 */ {(13<<2)|2,{122,109,0}}, +/* 63310 */ {(13<<2)|2,{122,109,0}}, +/* 63311 */ {(13<<2)|2,{122,109,0}}, +/* 63312 */ {(13<<2)|2,{122,110,0}}, +/* 63313 */ {(13<<2)|2,{122,110,0}}, +/* 63314 */ {(13<<2)|2,{122,110,0}}, +/* 63315 */ {(13<<2)|2,{122,110,0}}, +/* 63316 */ {(13<<2)|2,{122,110,0}}, +/* 63317 */ {(13<<2)|2,{122,110,0}}, +/* 63318 */ {(13<<2)|2,{122,110,0}}, +/* 63319 */ {(13<<2)|2,{122,110,0}}, +/* 63320 */ {(13<<2)|2,{122,112,0}}, +/* 63321 */ {(13<<2)|2,{122,112,0}}, +/* 63322 */ {(13<<2)|2,{122,112,0}}, +/* 63323 */ {(13<<2)|2,{122,112,0}}, +/* 63324 */ {(13<<2)|2,{122,112,0}}, +/* 63325 */ {(13<<2)|2,{122,112,0}}, +/* 63326 */ {(13<<2)|2,{122,112,0}}, +/* 63327 */ {(13<<2)|2,{122,112,0}}, +/* 63328 */ {(13<<2)|2,{122,114,0}}, +/* 63329 */ {(13<<2)|2,{122,114,0}}, +/* 63330 */ {(13<<2)|2,{122,114,0}}, +/* 63331 */ {(13<<2)|2,{122,114,0}}, +/* 63332 */ {(13<<2)|2,{122,114,0}}, +/* 63333 */ {(13<<2)|2,{122,114,0}}, +/* 63334 */ {(13<<2)|2,{122,114,0}}, +/* 63335 */ {(13<<2)|2,{122,114,0}}, +/* 63336 */ {(13<<2)|2,{122,117,0}}, +/* 63337 */ {(13<<2)|2,{122,117,0}}, +/* 63338 */ {(13<<2)|2,{122,117,0}}, +/* 63339 */ {(13<<2)|2,{122,117,0}}, +/* 63340 */ {(13<<2)|2,{122,117,0}}, +/* 63341 */ {(13<<2)|2,{122,117,0}}, +/* 63342 */ {(13<<2)|2,{122,117,0}}, +/* 63343 */ {(13<<2)|2,{122,117,0}}, +/* 63344 */ {(14<<2)|2,{122,58,0}}, +/* 63345 */ {(14<<2)|2,{122,58,0}}, +/* 63346 */ {(14<<2)|2,{122,58,0}}, +/* 63347 */ {(14<<2)|2,{122,58,0}}, +/* 63348 */ {(14<<2)|2,{122,66,0}}, +/* 63349 */ {(14<<2)|2,{122,66,0}}, +/* 63350 */ {(14<<2)|2,{122,66,0}}, +/* 63351 */ {(14<<2)|2,{122,66,0}}, +/* 63352 */ {(14<<2)|2,{122,67,0}}, +/* 63353 */ {(14<<2)|2,{122,67,0}}, +/* 63354 */ {(14<<2)|2,{122,67,0}}, +/* 63355 */ {(14<<2)|2,{122,67,0}}, +/* 63356 */ {(14<<2)|2,{122,68,0}}, +/* 63357 */ {(14<<2)|2,{122,68,0}}, +/* 63358 */ {(14<<2)|2,{122,68,0}}, +/* 63359 */ {(14<<2)|2,{122,68,0}}, +/* 63360 */ {(14<<2)|2,{122,69,0}}, +/* 63361 */ {(14<<2)|2,{122,69,0}}, +/* 63362 */ {(14<<2)|2,{122,69,0}}, +/* 63363 */ {(14<<2)|2,{122,69,0}}, +/* 63364 */ {(14<<2)|2,{122,70,0}}, +/* 63365 */ {(14<<2)|2,{122,70,0}}, +/* 63366 */ {(14<<2)|2,{122,70,0}}, +/* 63367 */ {(14<<2)|2,{122,70,0}}, +/* 63368 */ {(14<<2)|2,{122,71,0}}, +/* 63369 */ {(14<<2)|2,{122,71,0}}, +/* 63370 */ {(14<<2)|2,{122,71,0}}, +/* 63371 */ {(14<<2)|2,{122,71,0}}, +/* 63372 */ {(14<<2)|2,{122,72,0}}, +/* 63373 */ {(14<<2)|2,{122,72,0}}, +/* 63374 */ {(14<<2)|2,{122,72,0}}, +/* 63375 */ {(14<<2)|2,{122,72,0}}, +/* 63376 */ {(14<<2)|2,{122,73,0}}, +/* 63377 */ {(14<<2)|2,{122,73,0}}, +/* 63378 */ {(14<<2)|2,{122,73,0}}, +/* 63379 */ {(14<<2)|2,{122,73,0}}, +/* 63380 */ {(14<<2)|2,{122,74,0}}, +/* 63381 */ {(14<<2)|2,{122,74,0}}, +/* 63382 */ {(14<<2)|2,{122,74,0}}, +/* 63383 */ {(14<<2)|2,{122,74,0}}, +/* 63384 */ {(14<<2)|2,{122,75,0}}, +/* 63385 */ {(14<<2)|2,{122,75,0}}, +/* 63386 */ {(14<<2)|2,{122,75,0}}, +/* 63387 */ {(14<<2)|2,{122,75,0}}, +/* 63388 */ {(14<<2)|2,{122,76,0}}, +/* 63389 */ {(14<<2)|2,{122,76,0}}, +/* 63390 */ {(14<<2)|2,{122,76,0}}, +/* 63391 */ {(14<<2)|2,{122,76,0}}, +/* 63392 */ {(14<<2)|2,{122,77,0}}, +/* 63393 */ {(14<<2)|2,{122,77,0}}, +/* 63394 */ {(14<<2)|2,{122,77,0}}, +/* 63395 */ {(14<<2)|2,{122,77,0}}, +/* 63396 */ {(14<<2)|2,{122,78,0}}, +/* 63397 */ {(14<<2)|2,{122,78,0}}, +/* 63398 */ {(14<<2)|2,{122,78,0}}, +/* 63399 */ {(14<<2)|2,{122,78,0}}, +/* 63400 */ {(14<<2)|2,{122,79,0}}, +/* 63401 */ {(14<<2)|2,{122,79,0}}, +/* 63402 */ {(14<<2)|2,{122,79,0}}, +/* 63403 */ {(14<<2)|2,{122,79,0}}, +/* 63404 */ {(14<<2)|2,{122,80,0}}, +/* 63405 */ {(14<<2)|2,{122,80,0}}, +/* 63406 */ {(14<<2)|2,{122,80,0}}, +/* 63407 */ {(14<<2)|2,{122,80,0}}, +/* 63408 */ {(14<<2)|2,{122,81,0}}, +/* 63409 */ {(14<<2)|2,{122,81,0}}, +/* 63410 */ {(14<<2)|2,{122,81,0}}, +/* 63411 */ {(14<<2)|2,{122,81,0}}, +/* 63412 */ {(14<<2)|2,{122,82,0}}, +/* 63413 */ {(14<<2)|2,{122,82,0}}, +/* 63414 */ {(14<<2)|2,{122,82,0}}, +/* 63415 */ {(14<<2)|2,{122,82,0}}, +/* 63416 */ {(14<<2)|2,{122,83,0}}, +/* 63417 */ {(14<<2)|2,{122,83,0}}, +/* 63418 */ {(14<<2)|2,{122,83,0}}, +/* 63419 */ {(14<<2)|2,{122,83,0}}, +/* 63420 */ {(14<<2)|2,{122,84,0}}, +/* 63421 */ {(14<<2)|2,{122,84,0}}, +/* 63422 */ {(14<<2)|2,{122,84,0}}, +/* 63423 */ {(14<<2)|2,{122,84,0}}, +/* 63424 */ {(14<<2)|2,{122,85,0}}, +/* 63425 */ {(14<<2)|2,{122,85,0}}, +/* 63426 */ {(14<<2)|2,{122,85,0}}, +/* 63427 */ {(14<<2)|2,{122,85,0}}, +/* 63428 */ {(14<<2)|2,{122,86,0}}, +/* 63429 */ {(14<<2)|2,{122,86,0}}, +/* 63430 */ {(14<<2)|2,{122,86,0}}, +/* 63431 */ {(14<<2)|2,{122,86,0}}, +/* 63432 */ {(14<<2)|2,{122,87,0}}, +/* 63433 */ {(14<<2)|2,{122,87,0}}, +/* 63434 */ {(14<<2)|2,{122,87,0}}, +/* 63435 */ {(14<<2)|2,{122,87,0}}, +/* 63436 */ {(14<<2)|2,{122,89,0}}, +/* 63437 */ {(14<<2)|2,{122,89,0}}, +/* 63438 */ {(14<<2)|2,{122,89,0}}, +/* 63439 */ {(14<<2)|2,{122,89,0}}, +/* 63440 */ {(14<<2)|2,{122,106,0}}, +/* 63441 */ {(14<<2)|2,{122,106,0}}, +/* 63442 */ {(14<<2)|2,{122,106,0}}, +/* 63443 */ {(14<<2)|2,{122,106,0}}, +/* 63444 */ {(14<<2)|2,{122,107,0}}, +/* 63445 */ {(14<<2)|2,{122,107,0}}, +/* 63446 */ {(14<<2)|2,{122,107,0}}, +/* 63447 */ {(14<<2)|2,{122,107,0}}, +/* 63448 */ {(14<<2)|2,{122,113,0}}, +/* 63449 */ {(14<<2)|2,{122,113,0}}, +/* 63450 */ {(14<<2)|2,{122,113,0}}, +/* 63451 */ {(14<<2)|2,{122,113,0}}, +/* 63452 */ {(14<<2)|2,{122,118,0}}, +/* 63453 */ {(14<<2)|2,{122,118,0}}, +/* 63454 */ {(14<<2)|2,{122,118,0}}, +/* 63455 */ {(14<<2)|2,{122,118,0}}, +/* 63456 */ {(14<<2)|2,{122,119,0}}, +/* 63457 */ {(14<<2)|2,{122,119,0}}, +/* 63458 */ {(14<<2)|2,{122,119,0}}, +/* 63459 */ {(14<<2)|2,{122,119,0}}, +/* 63460 */ {(14<<2)|2,{122,120,0}}, +/* 63461 */ {(14<<2)|2,{122,120,0}}, +/* 63462 */ {(14<<2)|2,{122,120,0}}, +/* 63463 */ {(14<<2)|2,{122,120,0}}, +/* 63464 */ {(14<<2)|2,{122,121,0}}, +/* 63465 */ {(14<<2)|2,{122,121,0}}, +/* 63466 */ {(14<<2)|2,{122,121,0}}, +/* 63467 */ {(14<<2)|2,{122,121,0}}, +/* 63468 */ {(14<<2)|2,{122,122,0}}, +/* 63469 */ {(14<<2)|2,{122,122,0}}, +/* 63470 */ {(14<<2)|2,{122,122,0}}, +/* 63471 */ {(14<<2)|2,{122,122,0}}, +/* 63472 */ {(15<<2)|2,{122,38,0}}, +/* 63473 */ {(15<<2)|2,{122,38,0}}, +/* 63474 */ {(15<<2)|2,{122,42,0}}, +/* 63475 */ {(15<<2)|2,{122,42,0}}, +/* 63476 */ {(15<<2)|2,{122,44,0}}, +/* 63477 */ {(15<<2)|2,{122,44,0}}, +/* 63478 */ {(15<<2)|2,{122,59,0}}, +/* 63479 */ {(15<<2)|2,{122,59,0}}, +/* 63480 */ {(15<<2)|2,{122,88,0}}, +/* 63481 */ {(15<<2)|2,{122,88,0}}, +/* 63482 */ {(15<<2)|2,{122,90,0}}, +/* 63483 */ {(15<<2)|2,{122,90,0}}, +/* 63484 */ {(7<<2)|1,{122,0,0}}, +/* 63485 */ {(7<<2)|1,{122,0,0}}, +/* 63486 */ {(7<<2)|1,{122,0,0}}, +/* 63487 */ {(7<<2)|1,{122,0,0}}, +/* 63488 */ {(13<<2)|2,{38,48,0}}, +/* 63489 */ {(13<<2)|2,{38,48,0}}, +/* 63490 */ {(13<<2)|2,{38,48,0}}, +/* 63491 */ {(13<<2)|2,{38,48,0}}, +/* 63492 */ {(13<<2)|2,{38,48,0}}, +/* 63493 */ {(13<<2)|2,{38,48,0}}, +/* 63494 */ {(13<<2)|2,{38,48,0}}, +/* 63495 */ {(13<<2)|2,{38,48,0}}, +/* 63496 */ {(13<<2)|2,{38,49,0}}, +/* 63497 */ {(13<<2)|2,{38,49,0}}, +/* 63498 */ {(13<<2)|2,{38,49,0}}, +/* 63499 */ {(13<<2)|2,{38,49,0}}, +/* 63500 */ {(13<<2)|2,{38,49,0}}, +/* 63501 */ {(13<<2)|2,{38,49,0}}, +/* 63502 */ {(13<<2)|2,{38,49,0}}, +/* 63503 */ {(13<<2)|2,{38,49,0}}, +/* 63504 */ {(13<<2)|2,{38,50,0}}, +/* 63505 */ {(13<<2)|2,{38,50,0}}, +/* 63506 */ {(13<<2)|2,{38,50,0}}, +/* 63507 */ {(13<<2)|2,{38,50,0}}, +/* 63508 */ {(13<<2)|2,{38,50,0}}, +/* 63509 */ {(13<<2)|2,{38,50,0}}, +/* 63510 */ {(13<<2)|2,{38,50,0}}, +/* 63511 */ {(13<<2)|2,{38,50,0}}, +/* 63512 */ {(13<<2)|2,{38,97,0}}, +/* 63513 */ {(13<<2)|2,{38,97,0}}, +/* 63514 */ {(13<<2)|2,{38,97,0}}, +/* 63515 */ {(13<<2)|2,{38,97,0}}, +/* 63516 */ {(13<<2)|2,{38,97,0}}, +/* 63517 */ {(13<<2)|2,{38,97,0}}, +/* 63518 */ {(13<<2)|2,{38,97,0}}, +/* 63519 */ {(13<<2)|2,{38,97,0}}, +/* 63520 */ {(13<<2)|2,{38,99,0}}, +/* 63521 */ {(13<<2)|2,{38,99,0}}, +/* 63522 */ {(13<<2)|2,{38,99,0}}, +/* 63523 */ {(13<<2)|2,{38,99,0}}, +/* 63524 */ {(13<<2)|2,{38,99,0}}, +/* 63525 */ {(13<<2)|2,{38,99,0}}, +/* 63526 */ {(13<<2)|2,{38,99,0}}, +/* 63527 */ {(13<<2)|2,{38,99,0}}, +/* 63528 */ {(13<<2)|2,{38,101,0}}, +/* 63529 */ {(13<<2)|2,{38,101,0}}, +/* 63530 */ {(13<<2)|2,{38,101,0}}, +/* 63531 */ {(13<<2)|2,{38,101,0}}, +/* 63532 */ {(13<<2)|2,{38,101,0}}, +/* 63533 */ {(13<<2)|2,{38,101,0}}, +/* 63534 */ {(13<<2)|2,{38,101,0}}, +/* 63535 */ {(13<<2)|2,{38,101,0}}, +/* 63536 */ {(13<<2)|2,{38,105,0}}, +/* 63537 */ {(13<<2)|2,{38,105,0}}, +/* 63538 */ {(13<<2)|2,{38,105,0}}, +/* 63539 */ {(13<<2)|2,{38,105,0}}, +/* 63540 */ {(13<<2)|2,{38,105,0}}, +/* 63541 */ {(13<<2)|2,{38,105,0}}, +/* 63542 */ {(13<<2)|2,{38,105,0}}, +/* 63543 */ {(13<<2)|2,{38,105,0}}, +/* 63544 */ {(13<<2)|2,{38,111,0}}, +/* 63545 */ {(13<<2)|2,{38,111,0}}, +/* 63546 */ {(13<<2)|2,{38,111,0}}, +/* 63547 */ {(13<<2)|2,{38,111,0}}, +/* 63548 */ {(13<<2)|2,{38,111,0}}, +/* 63549 */ {(13<<2)|2,{38,111,0}}, +/* 63550 */ {(13<<2)|2,{38,111,0}}, +/* 63551 */ {(13<<2)|2,{38,111,0}}, +/* 63552 */ {(13<<2)|2,{38,115,0}}, +/* 63553 */ {(13<<2)|2,{38,115,0}}, +/* 63554 */ {(13<<2)|2,{38,115,0}}, +/* 63555 */ {(13<<2)|2,{38,115,0}}, +/* 63556 */ {(13<<2)|2,{38,115,0}}, +/* 63557 */ {(13<<2)|2,{38,115,0}}, +/* 63558 */ {(13<<2)|2,{38,115,0}}, +/* 63559 */ {(13<<2)|2,{38,115,0}}, +/* 63560 */ {(13<<2)|2,{38,116,0}}, +/* 63561 */ {(13<<2)|2,{38,116,0}}, +/* 63562 */ {(13<<2)|2,{38,116,0}}, +/* 63563 */ {(13<<2)|2,{38,116,0}}, +/* 63564 */ {(13<<2)|2,{38,116,0}}, +/* 63565 */ {(13<<2)|2,{38,116,0}}, +/* 63566 */ {(13<<2)|2,{38,116,0}}, +/* 63567 */ {(13<<2)|2,{38,116,0}}, +/* 63568 */ {(14<<2)|2,{38,32,0}}, +/* 63569 */ {(14<<2)|2,{38,32,0}}, +/* 63570 */ {(14<<2)|2,{38,32,0}}, +/* 63571 */ {(14<<2)|2,{38,32,0}}, +/* 63572 */ {(14<<2)|2,{38,37,0}}, +/* 63573 */ {(14<<2)|2,{38,37,0}}, +/* 63574 */ {(14<<2)|2,{38,37,0}}, +/* 63575 */ {(14<<2)|2,{38,37,0}}, +/* 63576 */ {(14<<2)|2,{38,45,0}}, +/* 63577 */ {(14<<2)|2,{38,45,0}}, +/* 63578 */ {(14<<2)|2,{38,45,0}}, +/* 63579 */ {(14<<2)|2,{38,45,0}}, +/* 63580 */ {(14<<2)|2,{38,46,0}}, +/* 63581 */ {(14<<2)|2,{38,46,0}}, +/* 63582 */ {(14<<2)|2,{38,46,0}}, +/* 63583 */ {(14<<2)|2,{38,46,0}}, +/* 63584 */ {(14<<2)|2,{38,47,0}}, +/* 63585 */ {(14<<2)|2,{38,47,0}}, +/* 63586 */ {(14<<2)|2,{38,47,0}}, +/* 63587 */ {(14<<2)|2,{38,47,0}}, +/* 63588 */ {(14<<2)|2,{38,51,0}}, +/* 63589 */ {(14<<2)|2,{38,51,0}}, +/* 63590 */ {(14<<2)|2,{38,51,0}}, +/* 63591 */ {(14<<2)|2,{38,51,0}}, +/* 63592 */ {(14<<2)|2,{38,52,0}}, +/* 63593 */ {(14<<2)|2,{38,52,0}}, +/* 63594 */ {(14<<2)|2,{38,52,0}}, +/* 63595 */ {(14<<2)|2,{38,52,0}}, +/* 63596 */ {(14<<2)|2,{38,53,0}}, +/* 63597 */ {(14<<2)|2,{38,53,0}}, +/* 63598 */ {(14<<2)|2,{38,53,0}}, +/* 63599 */ {(14<<2)|2,{38,53,0}}, +/* 63600 */ {(14<<2)|2,{38,54,0}}, +/* 63601 */ {(14<<2)|2,{38,54,0}}, +/* 63602 */ {(14<<2)|2,{38,54,0}}, +/* 63603 */ {(14<<2)|2,{38,54,0}}, +/* 63604 */ {(14<<2)|2,{38,55,0}}, +/* 63605 */ {(14<<2)|2,{38,55,0}}, +/* 63606 */ {(14<<2)|2,{38,55,0}}, +/* 63607 */ {(14<<2)|2,{38,55,0}}, +/* 63608 */ {(14<<2)|2,{38,56,0}}, +/* 63609 */ {(14<<2)|2,{38,56,0}}, +/* 63610 */ {(14<<2)|2,{38,56,0}}, +/* 63611 */ {(14<<2)|2,{38,56,0}}, +/* 63612 */ {(14<<2)|2,{38,57,0}}, +/* 63613 */ {(14<<2)|2,{38,57,0}}, +/* 63614 */ {(14<<2)|2,{38,57,0}}, +/* 63615 */ {(14<<2)|2,{38,57,0}}, +/* 63616 */ {(14<<2)|2,{38,61,0}}, +/* 63617 */ {(14<<2)|2,{38,61,0}}, +/* 63618 */ {(14<<2)|2,{38,61,0}}, +/* 63619 */ {(14<<2)|2,{38,61,0}}, +/* 63620 */ {(14<<2)|2,{38,65,0}}, +/* 63621 */ {(14<<2)|2,{38,65,0}}, +/* 63622 */ {(14<<2)|2,{38,65,0}}, +/* 63623 */ {(14<<2)|2,{38,65,0}}, +/* 63624 */ {(14<<2)|2,{38,95,0}}, +/* 63625 */ {(14<<2)|2,{38,95,0}}, +/* 63626 */ {(14<<2)|2,{38,95,0}}, +/* 63627 */ {(14<<2)|2,{38,95,0}}, +/* 63628 */ {(14<<2)|2,{38,98,0}}, +/* 63629 */ {(14<<2)|2,{38,98,0}}, +/* 63630 */ {(14<<2)|2,{38,98,0}}, +/* 63631 */ {(14<<2)|2,{38,98,0}}, +/* 63632 */ {(14<<2)|2,{38,100,0}}, +/* 63633 */ {(14<<2)|2,{38,100,0}}, +/* 63634 */ {(14<<2)|2,{38,100,0}}, +/* 63635 */ {(14<<2)|2,{38,100,0}}, +/* 63636 */ {(14<<2)|2,{38,102,0}}, +/* 63637 */ {(14<<2)|2,{38,102,0}}, +/* 63638 */ {(14<<2)|2,{38,102,0}}, +/* 63639 */ {(14<<2)|2,{38,102,0}}, +/* 63640 */ {(14<<2)|2,{38,103,0}}, +/* 63641 */ {(14<<2)|2,{38,103,0}}, +/* 63642 */ {(14<<2)|2,{38,103,0}}, +/* 63643 */ {(14<<2)|2,{38,103,0}}, +/* 63644 */ {(14<<2)|2,{38,104,0}}, +/* 63645 */ {(14<<2)|2,{38,104,0}}, +/* 63646 */ {(14<<2)|2,{38,104,0}}, +/* 63647 */ {(14<<2)|2,{38,104,0}}, +/* 63648 */ {(14<<2)|2,{38,108,0}}, +/* 63649 */ {(14<<2)|2,{38,108,0}}, +/* 63650 */ {(14<<2)|2,{38,108,0}}, +/* 63651 */ {(14<<2)|2,{38,108,0}}, +/* 63652 */ {(14<<2)|2,{38,109,0}}, +/* 63653 */ {(14<<2)|2,{38,109,0}}, +/* 63654 */ {(14<<2)|2,{38,109,0}}, +/* 63655 */ {(14<<2)|2,{38,109,0}}, +/* 63656 */ {(14<<2)|2,{38,110,0}}, +/* 63657 */ {(14<<2)|2,{38,110,0}}, +/* 63658 */ {(14<<2)|2,{38,110,0}}, +/* 63659 */ {(14<<2)|2,{38,110,0}}, +/* 63660 */ {(14<<2)|2,{38,112,0}}, +/* 63661 */ {(14<<2)|2,{38,112,0}}, +/* 63662 */ {(14<<2)|2,{38,112,0}}, +/* 63663 */ {(14<<2)|2,{38,112,0}}, +/* 63664 */ {(14<<2)|2,{38,114,0}}, +/* 63665 */ {(14<<2)|2,{38,114,0}}, +/* 63666 */ {(14<<2)|2,{38,114,0}}, +/* 63667 */ {(14<<2)|2,{38,114,0}}, +/* 63668 */ {(14<<2)|2,{38,117,0}}, +/* 63669 */ {(14<<2)|2,{38,117,0}}, +/* 63670 */ {(14<<2)|2,{38,117,0}}, +/* 63671 */ {(14<<2)|2,{38,117,0}}, +/* 63672 */ {(15<<2)|2,{38,58,0}}, +/* 63673 */ {(15<<2)|2,{38,58,0}}, +/* 63674 */ {(15<<2)|2,{38,66,0}}, +/* 63675 */ {(15<<2)|2,{38,66,0}}, +/* 63676 */ {(15<<2)|2,{38,67,0}}, +/* 63677 */ {(15<<2)|2,{38,67,0}}, +/* 63678 */ {(15<<2)|2,{38,68,0}}, +/* 63679 */ {(15<<2)|2,{38,68,0}}, +/* 63680 */ {(15<<2)|2,{38,69,0}}, +/* 63681 */ {(15<<2)|2,{38,69,0}}, +/* 63682 */ {(15<<2)|2,{38,70,0}}, +/* 63683 */ {(15<<2)|2,{38,70,0}}, +/* 63684 */ {(15<<2)|2,{38,71,0}}, +/* 63685 */ {(15<<2)|2,{38,71,0}}, +/* 63686 */ {(15<<2)|2,{38,72,0}}, +/* 63687 */ {(15<<2)|2,{38,72,0}}, +/* 63688 */ {(15<<2)|2,{38,73,0}}, +/* 63689 */ {(15<<2)|2,{38,73,0}}, +/* 63690 */ {(15<<2)|2,{38,74,0}}, +/* 63691 */ {(15<<2)|2,{38,74,0}}, +/* 63692 */ {(15<<2)|2,{38,75,0}}, +/* 63693 */ {(15<<2)|2,{38,75,0}}, +/* 63694 */ {(15<<2)|2,{38,76,0}}, +/* 63695 */ {(15<<2)|2,{38,76,0}}, +/* 63696 */ {(15<<2)|2,{38,77,0}}, +/* 63697 */ {(15<<2)|2,{38,77,0}}, +/* 63698 */ {(15<<2)|2,{38,78,0}}, +/* 63699 */ {(15<<2)|2,{38,78,0}}, +/* 63700 */ {(15<<2)|2,{38,79,0}}, +/* 63701 */ {(15<<2)|2,{38,79,0}}, +/* 63702 */ {(15<<2)|2,{38,80,0}}, +/* 63703 */ {(15<<2)|2,{38,80,0}}, +/* 63704 */ {(15<<2)|2,{38,81,0}}, +/* 63705 */ {(15<<2)|2,{38,81,0}}, +/* 63706 */ {(15<<2)|2,{38,82,0}}, +/* 63707 */ {(15<<2)|2,{38,82,0}}, +/* 63708 */ {(15<<2)|2,{38,83,0}}, +/* 63709 */ {(15<<2)|2,{38,83,0}}, +/* 63710 */ {(15<<2)|2,{38,84,0}}, +/* 63711 */ {(15<<2)|2,{38,84,0}}, +/* 63712 */ {(15<<2)|2,{38,85,0}}, +/* 63713 */ {(15<<2)|2,{38,85,0}}, +/* 63714 */ {(15<<2)|2,{38,86,0}}, +/* 63715 */ {(15<<2)|2,{38,86,0}}, +/* 63716 */ {(15<<2)|2,{38,87,0}}, +/* 63717 */ {(15<<2)|2,{38,87,0}}, +/* 63718 */ {(15<<2)|2,{38,89,0}}, +/* 63719 */ {(15<<2)|2,{38,89,0}}, +/* 63720 */ {(15<<2)|2,{38,106,0}}, +/* 63721 */ {(15<<2)|2,{38,106,0}}, +/* 63722 */ {(15<<2)|2,{38,107,0}}, +/* 63723 */ {(15<<2)|2,{38,107,0}}, +/* 63724 */ {(15<<2)|2,{38,113,0}}, +/* 63725 */ {(15<<2)|2,{38,113,0}}, +/* 63726 */ {(15<<2)|2,{38,118,0}}, +/* 63727 */ {(15<<2)|2,{38,118,0}}, +/* 63728 */ {(15<<2)|2,{38,119,0}}, +/* 63729 */ {(15<<2)|2,{38,119,0}}, +/* 63730 */ {(15<<2)|2,{38,120,0}}, +/* 63731 */ {(15<<2)|2,{38,120,0}}, +/* 63732 */ {(15<<2)|2,{38,121,0}}, +/* 63733 */ {(15<<2)|2,{38,121,0}}, +/* 63734 */ {(15<<2)|2,{38,122,0}}, +/* 63735 */ {(15<<2)|2,{38,122,0}}, +/* 63736 */ {(16<<2)|2,{38,38,0}}, +/* 63737 */ {(16<<2)|2,{38,42,0}}, +/* 63738 */ {(16<<2)|2,{38,44,0}}, +/* 63739 */ {(16<<2)|2,{38,59,0}}, +/* 63740 */ {(16<<2)|2,{38,88,0}}, +/* 63741 */ {(16<<2)|2,{38,90,0}}, +/* 63742 */ {(8<<2)|1,{38,0,0}}, +/* 63743 */ {(8<<2)|1,{38,0,0}}, +/* 63744 */ {(13<<2)|2,{42,48,0}}, +/* 63745 */ {(13<<2)|2,{42,48,0}}, +/* 63746 */ {(13<<2)|2,{42,48,0}}, +/* 63747 */ {(13<<2)|2,{42,48,0}}, +/* 63748 */ {(13<<2)|2,{42,48,0}}, +/* 63749 */ {(13<<2)|2,{42,48,0}}, +/* 63750 */ {(13<<2)|2,{42,48,0}}, +/* 63751 */ {(13<<2)|2,{42,48,0}}, +/* 63752 */ {(13<<2)|2,{42,49,0}}, +/* 63753 */ {(13<<2)|2,{42,49,0}}, +/* 63754 */ {(13<<2)|2,{42,49,0}}, +/* 63755 */ {(13<<2)|2,{42,49,0}}, +/* 63756 */ {(13<<2)|2,{42,49,0}}, +/* 63757 */ {(13<<2)|2,{42,49,0}}, +/* 63758 */ {(13<<2)|2,{42,49,0}}, +/* 63759 */ {(13<<2)|2,{42,49,0}}, +/* 63760 */ {(13<<2)|2,{42,50,0}}, +/* 63761 */ {(13<<2)|2,{42,50,0}}, +/* 63762 */ {(13<<2)|2,{42,50,0}}, +/* 63763 */ {(13<<2)|2,{42,50,0}}, +/* 63764 */ {(13<<2)|2,{42,50,0}}, +/* 63765 */ {(13<<2)|2,{42,50,0}}, +/* 63766 */ {(13<<2)|2,{42,50,0}}, +/* 63767 */ {(13<<2)|2,{42,50,0}}, +/* 63768 */ {(13<<2)|2,{42,97,0}}, +/* 63769 */ {(13<<2)|2,{42,97,0}}, +/* 63770 */ {(13<<2)|2,{42,97,0}}, +/* 63771 */ {(13<<2)|2,{42,97,0}}, +/* 63772 */ {(13<<2)|2,{42,97,0}}, +/* 63773 */ {(13<<2)|2,{42,97,0}}, +/* 63774 */ {(13<<2)|2,{42,97,0}}, +/* 63775 */ {(13<<2)|2,{42,97,0}}, +/* 63776 */ {(13<<2)|2,{42,99,0}}, +/* 63777 */ {(13<<2)|2,{42,99,0}}, +/* 63778 */ {(13<<2)|2,{42,99,0}}, +/* 63779 */ {(13<<2)|2,{42,99,0}}, +/* 63780 */ {(13<<2)|2,{42,99,0}}, +/* 63781 */ {(13<<2)|2,{42,99,0}}, +/* 63782 */ {(13<<2)|2,{42,99,0}}, +/* 63783 */ {(13<<2)|2,{42,99,0}}, +/* 63784 */ {(13<<2)|2,{42,101,0}}, +/* 63785 */ {(13<<2)|2,{42,101,0}}, +/* 63786 */ {(13<<2)|2,{42,101,0}}, +/* 63787 */ {(13<<2)|2,{42,101,0}}, +/* 63788 */ {(13<<2)|2,{42,101,0}}, +/* 63789 */ {(13<<2)|2,{42,101,0}}, +/* 63790 */ {(13<<2)|2,{42,101,0}}, +/* 63791 */ {(13<<2)|2,{42,101,0}}, +/* 63792 */ {(13<<2)|2,{42,105,0}}, +/* 63793 */ {(13<<2)|2,{42,105,0}}, +/* 63794 */ {(13<<2)|2,{42,105,0}}, +/* 63795 */ {(13<<2)|2,{42,105,0}}, +/* 63796 */ {(13<<2)|2,{42,105,0}}, +/* 63797 */ {(13<<2)|2,{42,105,0}}, +/* 63798 */ {(13<<2)|2,{42,105,0}}, +/* 63799 */ {(13<<2)|2,{42,105,0}}, +/* 63800 */ {(13<<2)|2,{42,111,0}}, +/* 63801 */ {(13<<2)|2,{42,111,0}}, +/* 63802 */ {(13<<2)|2,{42,111,0}}, +/* 63803 */ {(13<<2)|2,{42,111,0}}, +/* 63804 */ {(13<<2)|2,{42,111,0}}, +/* 63805 */ {(13<<2)|2,{42,111,0}}, +/* 63806 */ {(13<<2)|2,{42,111,0}}, +/* 63807 */ {(13<<2)|2,{42,111,0}}, +/* 63808 */ {(13<<2)|2,{42,115,0}}, +/* 63809 */ {(13<<2)|2,{42,115,0}}, +/* 63810 */ {(13<<2)|2,{42,115,0}}, +/* 63811 */ {(13<<2)|2,{42,115,0}}, +/* 63812 */ {(13<<2)|2,{42,115,0}}, +/* 63813 */ {(13<<2)|2,{42,115,0}}, +/* 63814 */ {(13<<2)|2,{42,115,0}}, +/* 63815 */ {(13<<2)|2,{42,115,0}}, +/* 63816 */ {(13<<2)|2,{42,116,0}}, +/* 63817 */ {(13<<2)|2,{42,116,0}}, +/* 63818 */ {(13<<2)|2,{42,116,0}}, +/* 63819 */ {(13<<2)|2,{42,116,0}}, +/* 63820 */ {(13<<2)|2,{42,116,0}}, +/* 63821 */ {(13<<2)|2,{42,116,0}}, +/* 63822 */ {(13<<2)|2,{42,116,0}}, +/* 63823 */ {(13<<2)|2,{42,116,0}}, +/* 63824 */ {(14<<2)|2,{42,32,0}}, +/* 63825 */ {(14<<2)|2,{42,32,0}}, +/* 63826 */ {(14<<2)|2,{42,32,0}}, +/* 63827 */ {(14<<2)|2,{42,32,0}}, +/* 63828 */ {(14<<2)|2,{42,37,0}}, +/* 63829 */ {(14<<2)|2,{42,37,0}}, +/* 63830 */ {(14<<2)|2,{42,37,0}}, +/* 63831 */ {(14<<2)|2,{42,37,0}}, +/* 63832 */ {(14<<2)|2,{42,45,0}}, +/* 63833 */ {(14<<2)|2,{42,45,0}}, +/* 63834 */ {(14<<2)|2,{42,45,0}}, +/* 63835 */ {(14<<2)|2,{42,45,0}}, +/* 63836 */ {(14<<2)|2,{42,46,0}}, +/* 63837 */ {(14<<2)|2,{42,46,0}}, +/* 63838 */ {(14<<2)|2,{42,46,0}}, +/* 63839 */ {(14<<2)|2,{42,46,0}}, +/* 63840 */ {(14<<2)|2,{42,47,0}}, +/* 63841 */ {(14<<2)|2,{42,47,0}}, +/* 63842 */ {(14<<2)|2,{42,47,0}}, +/* 63843 */ {(14<<2)|2,{42,47,0}}, +/* 63844 */ {(14<<2)|2,{42,51,0}}, +/* 63845 */ {(14<<2)|2,{42,51,0}}, +/* 63846 */ {(14<<2)|2,{42,51,0}}, +/* 63847 */ {(14<<2)|2,{42,51,0}}, +/* 63848 */ {(14<<2)|2,{42,52,0}}, +/* 63849 */ {(14<<2)|2,{42,52,0}}, +/* 63850 */ {(14<<2)|2,{42,52,0}}, +/* 63851 */ {(14<<2)|2,{42,52,0}}, +/* 63852 */ {(14<<2)|2,{42,53,0}}, +/* 63853 */ {(14<<2)|2,{42,53,0}}, +/* 63854 */ {(14<<2)|2,{42,53,0}}, +/* 63855 */ {(14<<2)|2,{42,53,0}}, +/* 63856 */ {(14<<2)|2,{42,54,0}}, +/* 63857 */ {(14<<2)|2,{42,54,0}}, +/* 63858 */ {(14<<2)|2,{42,54,0}}, +/* 63859 */ {(14<<2)|2,{42,54,0}}, +/* 63860 */ {(14<<2)|2,{42,55,0}}, +/* 63861 */ {(14<<2)|2,{42,55,0}}, +/* 63862 */ {(14<<2)|2,{42,55,0}}, +/* 63863 */ {(14<<2)|2,{42,55,0}}, +/* 63864 */ {(14<<2)|2,{42,56,0}}, +/* 63865 */ {(14<<2)|2,{42,56,0}}, +/* 63866 */ {(14<<2)|2,{42,56,0}}, +/* 63867 */ {(14<<2)|2,{42,56,0}}, +/* 63868 */ {(14<<2)|2,{42,57,0}}, +/* 63869 */ {(14<<2)|2,{42,57,0}}, +/* 63870 */ {(14<<2)|2,{42,57,0}}, +/* 63871 */ {(14<<2)|2,{42,57,0}}, +/* 63872 */ {(14<<2)|2,{42,61,0}}, +/* 63873 */ {(14<<2)|2,{42,61,0}}, +/* 63874 */ {(14<<2)|2,{42,61,0}}, +/* 63875 */ {(14<<2)|2,{42,61,0}}, +/* 63876 */ {(14<<2)|2,{42,65,0}}, +/* 63877 */ {(14<<2)|2,{42,65,0}}, +/* 63878 */ {(14<<2)|2,{42,65,0}}, +/* 63879 */ {(14<<2)|2,{42,65,0}}, +/* 63880 */ {(14<<2)|2,{42,95,0}}, +/* 63881 */ {(14<<2)|2,{42,95,0}}, +/* 63882 */ {(14<<2)|2,{42,95,0}}, +/* 63883 */ {(14<<2)|2,{42,95,0}}, +/* 63884 */ {(14<<2)|2,{42,98,0}}, +/* 63885 */ {(14<<2)|2,{42,98,0}}, +/* 63886 */ {(14<<2)|2,{42,98,0}}, +/* 63887 */ {(14<<2)|2,{42,98,0}}, +/* 63888 */ {(14<<2)|2,{42,100,0}}, +/* 63889 */ {(14<<2)|2,{42,100,0}}, +/* 63890 */ {(14<<2)|2,{42,100,0}}, +/* 63891 */ {(14<<2)|2,{42,100,0}}, +/* 63892 */ {(14<<2)|2,{42,102,0}}, +/* 63893 */ {(14<<2)|2,{42,102,0}}, +/* 63894 */ {(14<<2)|2,{42,102,0}}, +/* 63895 */ {(14<<2)|2,{42,102,0}}, +/* 63896 */ {(14<<2)|2,{42,103,0}}, +/* 63897 */ {(14<<2)|2,{42,103,0}}, +/* 63898 */ {(14<<2)|2,{42,103,0}}, +/* 63899 */ {(14<<2)|2,{42,103,0}}, +/* 63900 */ {(14<<2)|2,{42,104,0}}, +/* 63901 */ {(14<<2)|2,{42,104,0}}, +/* 63902 */ {(14<<2)|2,{42,104,0}}, +/* 63903 */ {(14<<2)|2,{42,104,0}}, +/* 63904 */ {(14<<2)|2,{42,108,0}}, +/* 63905 */ {(14<<2)|2,{42,108,0}}, +/* 63906 */ {(14<<2)|2,{42,108,0}}, +/* 63907 */ {(14<<2)|2,{42,108,0}}, +/* 63908 */ {(14<<2)|2,{42,109,0}}, +/* 63909 */ {(14<<2)|2,{42,109,0}}, +/* 63910 */ {(14<<2)|2,{42,109,0}}, +/* 63911 */ {(14<<2)|2,{42,109,0}}, +/* 63912 */ {(14<<2)|2,{42,110,0}}, +/* 63913 */ {(14<<2)|2,{42,110,0}}, +/* 63914 */ {(14<<2)|2,{42,110,0}}, +/* 63915 */ {(14<<2)|2,{42,110,0}}, +/* 63916 */ {(14<<2)|2,{42,112,0}}, +/* 63917 */ {(14<<2)|2,{42,112,0}}, +/* 63918 */ {(14<<2)|2,{42,112,0}}, +/* 63919 */ {(14<<2)|2,{42,112,0}}, +/* 63920 */ {(14<<2)|2,{42,114,0}}, +/* 63921 */ {(14<<2)|2,{42,114,0}}, +/* 63922 */ {(14<<2)|2,{42,114,0}}, +/* 63923 */ {(14<<2)|2,{42,114,0}}, +/* 63924 */ {(14<<2)|2,{42,117,0}}, +/* 63925 */ {(14<<2)|2,{42,117,0}}, +/* 63926 */ {(14<<2)|2,{42,117,0}}, +/* 63927 */ {(14<<2)|2,{42,117,0}}, +/* 63928 */ {(15<<2)|2,{42,58,0}}, +/* 63929 */ {(15<<2)|2,{42,58,0}}, +/* 63930 */ {(15<<2)|2,{42,66,0}}, +/* 63931 */ {(15<<2)|2,{42,66,0}}, +/* 63932 */ {(15<<2)|2,{42,67,0}}, +/* 63933 */ {(15<<2)|2,{42,67,0}}, +/* 63934 */ {(15<<2)|2,{42,68,0}}, +/* 63935 */ {(15<<2)|2,{42,68,0}}, +/* 63936 */ {(15<<2)|2,{42,69,0}}, +/* 63937 */ {(15<<2)|2,{42,69,0}}, +/* 63938 */ {(15<<2)|2,{42,70,0}}, +/* 63939 */ {(15<<2)|2,{42,70,0}}, +/* 63940 */ {(15<<2)|2,{42,71,0}}, +/* 63941 */ {(15<<2)|2,{42,71,0}}, +/* 63942 */ {(15<<2)|2,{42,72,0}}, +/* 63943 */ {(15<<2)|2,{42,72,0}}, +/* 63944 */ {(15<<2)|2,{42,73,0}}, +/* 63945 */ {(15<<2)|2,{42,73,0}}, +/* 63946 */ {(15<<2)|2,{42,74,0}}, +/* 63947 */ {(15<<2)|2,{42,74,0}}, +/* 63948 */ {(15<<2)|2,{42,75,0}}, +/* 63949 */ {(15<<2)|2,{42,75,0}}, +/* 63950 */ {(15<<2)|2,{42,76,0}}, +/* 63951 */ {(15<<2)|2,{42,76,0}}, +/* 63952 */ {(15<<2)|2,{42,77,0}}, +/* 63953 */ {(15<<2)|2,{42,77,0}}, +/* 63954 */ {(15<<2)|2,{42,78,0}}, +/* 63955 */ {(15<<2)|2,{42,78,0}}, +/* 63956 */ {(15<<2)|2,{42,79,0}}, +/* 63957 */ {(15<<2)|2,{42,79,0}}, +/* 63958 */ {(15<<2)|2,{42,80,0}}, +/* 63959 */ {(15<<2)|2,{42,80,0}}, +/* 63960 */ {(15<<2)|2,{42,81,0}}, +/* 63961 */ {(15<<2)|2,{42,81,0}}, +/* 63962 */ {(15<<2)|2,{42,82,0}}, +/* 63963 */ {(15<<2)|2,{42,82,0}}, +/* 63964 */ {(15<<2)|2,{42,83,0}}, +/* 63965 */ {(15<<2)|2,{42,83,0}}, +/* 63966 */ {(15<<2)|2,{42,84,0}}, +/* 63967 */ {(15<<2)|2,{42,84,0}}, +/* 63968 */ {(15<<2)|2,{42,85,0}}, +/* 63969 */ {(15<<2)|2,{42,85,0}}, +/* 63970 */ {(15<<2)|2,{42,86,0}}, +/* 63971 */ {(15<<2)|2,{42,86,0}}, +/* 63972 */ {(15<<2)|2,{42,87,0}}, +/* 63973 */ {(15<<2)|2,{42,87,0}}, +/* 63974 */ {(15<<2)|2,{42,89,0}}, +/* 63975 */ {(15<<2)|2,{42,89,0}}, +/* 63976 */ {(15<<2)|2,{42,106,0}}, +/* 63977 */ {(15<<2)|2,{42,106,0}}, +/* 63978 */ {(15<<2)|2,{42,107,0}}, +/* 63979 */ {(15<<2)|2,{42,107,0}}, +/* 63980 */ {(15<<2)|2,{42,113,0}}, +/* 63981 */ {(15<<2)|2,{42,113,0}}, +/* 63982 */ {(15<<2)|2,{42,118,0}}, +/* 63983 */ {(15<<2)|2,{42,118,0}}, +/* 63984 */ {(15<<2)|2,{42,119,0}}, +/* 63985 */ {(15<<2)|2,{42,119,0}}, +/* 63986 */ {(15<<2)|2,{42,120,0}}, +/* 63987 */ {(15<<2)|2,{42,120,0}}, +/* 63988 */ {(15<<2)|2,{42,121,0}}, +/* 63989 */ {(15<<2)|2,{42,121,0}}, +/* 63990 */ {(15<<2)|2,{42,122,0}}, +/* 63991 */ {(15<<2)|2,{42,122,0}}, +/* 63992 */ {(16<<2)|2,{42,38,0}}, +/* 63993 */ {(16<<2)|2,{42,42,0}}, +/* 63994 */ {(16<<2)|2,{42,44,0}}, +/* 63995 */ {(16<<2)|2,{42,59,0}}, +/* 63996 */ {(16<<2)|2,{42,88,0}}, +/* 63997 */ {(16<<2)|2,{42,90,0}}, +/* 63998 */ {(8<<2)|1,{42,0,0}}, +/* 63999 */ {(8<<2)|1,{42,0,0}}, +/* 64000 */ {(13<<2)|2,{44,48,0}}, +/* 64001 */ {(13<<2)|2,{44,48,0}}, +/* 64002 */ {(13<<2)|2,{44,48,0}}, +/* 64003 */ {(13<<2)|2,{44,48,0}}, +/* 64004 */ {(13<<2)|2,{44,48,0}}, +/* 64005 */ {(13<<2)|2,{44,48,0}}, +/* 64006 */ {(13<<2)|2,{44,48,0}}, +/* 64007 */ {(13<<2)|2,{44,48,0}}, +/* 64008 */ {(13<<2)|2,{44,49,0}}, +/* 64009 */ {(13<<2)|2,{44,49,0}}, +/* 64010 */ {(13<<2)|2,{44,49,0}}, +/* 64011 */ {(13<<2)|2,{44,49,0}}, +/* 64012 */ {(13<<2)|2,{44,49,0}}, +/* 64013 */ {(13<<2)|2,{44,49,0}}, +/* 64014 */ {(13<<2)|2,{44,49,0}}, +/* 64015 */ {(13<<2)|2,{44,49,0}}, +/* 64016 */ {(13<<2)|2,{44,50,0}}, +/* 64017 */ {(13<<2)|2,{44,50,0}}, +/* 64018 */ {(13<<2)|2,{44,50,0}}, +/* 64019 */ {(13<<2)|2,{44,50,0}}, +/* 64020 */ {(13<<2)|2,{44,50,0}}, +/* 64021 */ {(13<<2)|2,{44,50,0}}, +/* 64022 */ {(13<<2)|2,{44,50,0}}, +/* 64023 */ {(13<<2)|2,{44,50,0}}, +/* 64024 */ {(13<<2)|2,{44,97,0}}, +/* 64025 */ {(13<<2)|2,{44,97,0}}, +/* 64026 */ {(13<<2)|2,{44,97,0}}, +/* 64027 */ {(13<<2)|2,{44,97,0}}, +/* 64028 */ {(13<<2)|2,{44,97,0}}, +/* 64029 */ {(13<<2)|2,{44,97,0}}, +/* 64030 */ {(13<<2)|2,{44,97,0}}, +/* 64031 */ {(13<<2)|2,{44,97,0}}, +/* 64032 */ {(13<<2)|2,{44,99,0}}, +/* 64033 */ {(13<<2)|2,{44,99,0}}, +/* 64034 */ {(13<<2)|2,{44,99,0}}, +/* 64035 */ {(13<<2)|2,{44,99,0}}, +/* 64036 */ {(13<<2)|2,{44,99,0}}, +/* 64037 */ {(13<<2)|2,{44,99,0}}, +/* 64038 */ {(13<<2)|2,{44,99,0}}, +/* 64039 */ {(13<<2)|2,{44,99,0}}, +/* 64040 */ {(13<<2)|2,{44,101,0}}, +/* 64041 */ {(13<<2)|2,{44,101,0}}, +/* 64042 */ {(13<<2)|2,{44,101,0}}, +/* 64043 */ {(13<<2)|2,{44,101,0}}, +/* 64044 */ {(13<<2)|2,{44,101,0}}, +/* 64045 */ {(13<<2)|2,{44,101,0}}, +/* 64046 */ {(13<<2)|2,{44,101,0}}, +/* 64047 */ {(13<<2)|2,{44,101,0}}, +/* 64048 */ {(13<<2)|2,{44,105,0}}, +/* 64049 */ {(13<<2)|2,{44,105,0}}, +/* 64050 */ {(13<<2)|2,{44,105,0}}, +/* 64051 */ {(13<<2)|2,{44,105,0}}, +/* 64052 */ {(13<<2)|2,{44,105,0}}, +/* 64053 */ {(13<<2)|2,{44,105,0}}, +/* 64054 */ {(13<<2)|2,{44,105,0}}, +/* 64055 */ {(13<<2)|2,{44,105,0}}, +/* 64056 */ {(13<<2)|2,{44,111,0}}, +/* 64057 */ {(13<<2)|2,{44,111,0}}, +/* 64058 */ {(13<<2)|2,{44,111,0}}, +/* 64059 */ {(13<<2)|2,{44,111,0}}, +/* 64060 */ {(13<<2)|2,{44,111,0}}, +/* 64061 */ {(13<<2)|2,{44,111,0}}, +/* 64062 */ {(13<<2)|2,{44,111,0}}, +/* 64063 */ {(13<<2)|2,{44,111,0}}, +/* 64064 */ {(13<<2)|2,{44,115,0}}, +/* 64065 */ {(13<<2)|2,{44,115,0}}, +/* 64066 */ {(13<<2)|2,{44,115,0}}, +/* 64067 */ {(13<<2)|2,{44,115,0}}, +/* 64068 */ {(13<<2)|2,{44,115,0}}, +/* 64069 */ {(13<<2)|2,{44,115,0}}, +/* 64070 */ {(13<<2)|2,{44,115,0}}, +/* 64071 */ {(13<<2)|2,{44,115,0}}, +/* 64072 */ {(13<<2)|2,{44,116,0}}, +/* 64073 */ {(13<<2)|2,{44,116,0}}, +/* 64074 */ {(13<<2)|2,{44,116,0}}, +/* 64075 */ {(13<<2)|2,{44,116,0}}, +/* 64076 */ {(13<<2)|2,{44,116,0}}, +/* 64077 */ {(13<<2)|2,{44,116,0}}, +/* 64078 */ {(13<<2)|2,{44,116,0}}, +/* 64079 */ {(13<<2)|2,{44,116,0}}, +/* 64080 */ {(14<<2)|2,{44,32,0}}, +/* 64081 */ {(14<<2)|2,{44,32,0}}, +/* 64082 */ {(14<<2)|2,{44,32,0}}, +/* 64083 */ {(14<<2)|2,{44,32,0}}, +/* 64084 */ {(14<<2)|2,{44,37,0}}, +/* 64085 */ {(14<<2)|2,{44,37,0}}, +/* 64086 */ {(14<<2)|2,{44,37,0}}, +/* 64087 */ {(14<<2)|2,{44,37,0}}, +/* 64088 */ {(14<<2)|2,{44,45,0}}, +/* 64089 */ {(14<<2)|2,{44,45,0}}, +/* 64090 */ {(14<<2)|2,{44,45,0}}, +/* 64091 */ {(14<<2)|2,{44,45,0}}, +/* 64092 */ {(14<<2)|2,{44,46,0}}, +/* 64093 */ {(14<<2)|2,{44,46,0}}, +/* 64094 */ {(14<<2)|2,{44,46,0}}, +/* 64095 */ {(14<<2)|2,{44,46,0}}, +/* 64096 */ {(14<<2)|2,{44,47,0}}, +/* 64097 */ {(14<<2)|2,{44,47,0}}, +/* 64098 */ {(14<<2)|2,{44,47,0}}, +/* 64099 */ {(14<<2)|2,{44,47,0}}, +/* 64100 */ {(14<<2)|2,{44,51,0}}, +/* 64101 */ {(14<<2)|2,{44,51,0}}, +/* 64102 */ {(14<<2)|2,{44,51,0}}, +/* 64103 */ {(14<<2)|2,{44,51,0}}, +/* 64104 */ {(14<<2)|2,{44,52,0}}, +/* 64105 */ {(14<<2)|2,{44,52,0}}, +/* 64106 */ {(14<<2)|2,{44,52,0}}, +/* 64107 */ {(14<<2)|2,{44,52,0}}, +/* 64108 */ {(14<<2)|2,{44,53,0}}, +/* 64109 */ {(14<<2)|2,{44,53,0}}, +/* 64110 */ {(14<<2)|2,{44,53,0}}, +/* 64111 */ {(14<<2)|2,{44,53,0}}, +/* 64112 */ {(14<<2)|2,{44,54,0}}, +/* 64113 */ {(14<<2)|2,{44,54,0}}, +/* 64114 */ {(14<<2)|2,{44,54,0}}, +/* 64115 */ {(14<<2)|2,{44,54,0}}, +/* 64116 */ {(14<<2)|2,{44,55,0}}, +/* 64117 */ {(14<<2)|2,{44,55,0}}, +/* 64118 */ {(14<<2)|2,{44,55,0}}, +/* 64119 */ {(14<<2)|2,{44,55,0}}, +/* 64120 */ {(14<<2)|2,{44,56,0}}, +/* 64121 */ {(14<<2)|2,{44,56,0}}, +/* 64122 */ {(14<<2)|2,{44,56,0}}, +/* 64123 */ {(14<<2)|2,{44,56,0}}, +/* 64124 */ {(14<<2)|2,{44,57,0}}, +/* 64125 */ {(14<<2)|2,{44,57,0}}, +/* 64126 */ {(14<<2)|2,{44,57,0}}, +/* 64127 */ {(14<<2)|2,{44,57,0}}, +/* 64128 */ {(14<<2)|2,{44,61,0}}, +/* 64129 */ {(14<<2)|2,{44,61,0}}, +/* 64130 */ {(14<<2)|2,{44,61,0}}, +/* 64131 */ {(14<<2)|2,{44,61,0}}, +/* 64132 */ {(14<<2)|2,{44,65,0}}, +/* 64133 */ {(14<<2)|2,{44,65,0}}, +/* 64134 */ {(14<<2)|2,{44,65,0}}, +/* 64135 */ {(14<<2)|2,{44,65,0}}, +/* 64136 */ {(14<<2)|2,{44,95,0}}, +/* 64137 */ {(14<<2)|2,{44,95,0}}, +/* 64138 */ {(14<<2)|2,{44,95,0}}, +/* 64139 */ {(14<<2)|2,{44,95,0}}, +/* 64140 */ {(14<<2)|2,{44,98,0}}, +/* 64141 */ {(14<<2)|2,{44,98,0}}, +/* 64142 */ {(14<<2)|2,{44,98,0}}, +/* 64143 */ {(14<<2)|2,{44,98,0}}, +/* 64144 */ {(14<<2)|2,{44,100,0}}, +/* 64145 */ {(14<<2)|2,{44,100,0}}, +/* 64146 */ {(14<<2)|2,{44,100,0}}, +/* 64147 */ {(14<<2)|2,{44,100,0}}, +/* 64148 */ {(14<<2)|2,{44,102,0}}, +/* 64149 */ {(14<<2)|2,{44,102,0}}, +/* 64150 */ {(14<<2)|2,{44,102,0}}, +/* 64151 */ {(14<<2)|2,{44,102,0}}, +/* 64152 */ {(14<<2)|2,{44,103,0}}, +/* 64153 */ {(14<<2)|2,{44,103,0}}, +/* 64154 */ {(14<<2)|2,{44,103,0}}, +/* 64155 */ {(14<<2)|2,{44,103,0}}, +/* 64156 */ {(14<<2)|2,{44,104,0}}, +/* 64157 */ {(14<<2)|2,{44,104,0}}, +/* 64158 */ {(14<<2)|2,{44,104,0}}, +/* 64159 */ {(14<<2)|2,{44,104,0}}, +/* 64160 */ {(14<<2)|2,{44,108,0}}, +/* 64161 */ {(14<<2)|2,{44,108,0}}, +/* 64162 */ {(14<<2)|2,{44,108,0}}, +/* 64163 */ {(14<<2)|2,{44,108,0}}, +/* 64164 */ {(14<<2)|2,{44,109,0}}, +/* 64165 */ {(14<<2)|2,{44,109,0}}, +/* 64166 */ {(14<<2)|2,{44,109,0}}, +/* 64167 */ {(14<<2)|2,{44,109,0}}, +/* 64168 */ {(14<<2)|2,{44,110,0}}, +/* 64169 */ {(14<<2)|2,{44,110,0}}, +/* 64170 */ {(14<<2)|2,{44,110,0}}, +/* 64171 */ {(14<<2)|2,{44,110,0}}, +/* 64172 */ {(14<<2)|2,{44,112,0}}, +/* 64173 */ {(14<<2)|2,{44,112,0}}, +/* 64174 */ {(14<<2)|2,{44,112,0}}, +/* 64175 */ {(14<<2)|2,{44,112,0}}, +/* 64176 */ {(14<<2)|2,{44,114,0}}, +/* 64177 */ {(14<<2)|2,{44,114,0}}, +/* 64178 */ {(14<<2)|2,{44,114,0}}, +/* 64179 */ {(14<<2)|2,{44,114,0}}, +/* 64180 */ {(14<<2)|2,{44,117,0}}, +/* 64181 */ {(14<<2)|2,{44,117,0}}, +/* 64182 */ {(14<<2)|2,{44,117,0}}, +/* 64183 */ {(14<<2)|2,{44,117,0}}, +/* 64184 */ {(15<<2)|2,{44,58,0}}, +/* 64185 */ {(15<<2)|2,{44,58,0}}, +/* 64186 */ {(15<<2)|2,{44,66,0}}, +/* 64187 */ {(15<<2)|2,{44,66,0}}, +/* 64188 */ {(15<<2)|2,{44,67,0}}, +/* 64189 */ {(15<<2)|2,{44,67,0}}, +/* 64190 */ {(15<<2)|2,{44,68,0}}, +/* 64191 */ {(15<<2)|2,{44,68,0}}, +/* 64192 */ {(15<<2)|2,{44,69,0}}, +/* 64193 */ {(15<<2)|2,{44,69,0}}, +/* 64194 */ {(15<<2)|2,{44,70,0}}, +/* 64195 */ {(15<<2)|2,{44,70,0}}, +/* 64196 */ {(15<<2)|2,{44,71,0}}, +/* 64197 */ {(15<<2)|2,{44,71,0}}, +/* 64198 */ {(15<<2)|2,{44,72,0}}, +/* 64199 */ {(15<<2)|2,{44,72,0}}, +/* 64200 */ {(15<<2)|2,{44,73,0}}, +/* 64201 */ {(15<<2)|2,{44,73,0}}, +/* 64202 */ {(15<<2)|2,{44,74,0}}, +/* 64203 */ {(15<<2)|2,{44,74,0}}, +/* 64204 */ {(15<<2)|2,{44,75,0}}, +/* 64205 */ {(15<<2)|2,{44,75,0}}, +/* 64206 */ {(15<<2)|2,{44,76,0}}, +/* 64207 */ {(15<<2)|2,{44,76,0}}, +/* 64208 */ {(15<<2)|2,{44,77,0}}, +/* 64209 */ {(15<<2)|2,{44,77,0}}, +/* 64210 */ {(15<<2)|2,{44,78,0}}, +/* 64211 */ {(15<<2)|2,{44,78,0}}, +/* 64212 */ {(15<<2)|2,{44,79,0}}, +/* 64213 */ {(15<<2)|2,{44,79,0}}, +/* 64214 */ {(15<<2)|2,{44,80,0}}, +/* 64215 */ {(15<<2)|2,{44,80,0}}, +/* 64216 */ {(15<<2)|2,{44,81,0}}, +/* 64217 */ {(15<<2)|2,{44,81,0}}, +/* 64218 */ {(15<<2)|2,{44,82,0}}, +/* 64219 */ {(15<<2)|2,{44,82,0}}, +/* 64220 */ {(15<<2)|2,{44,83,0}}, +/* 64221 */ {(15<<2)|2,{44,83,0}}, +/* 64222 */ {(15<<2)|2,{44,84,0}}, +/* 64223 */ {(15<<2)|2,{44,84,0}}, +/* 64224 */ {(15<<2)|2,{44,85,0}}, +/* 64225 */ {(15<<2)|2,{44,85,0}}, +/* 64226 */ {(15<<2)|2,{44,86,0}}, +/* 64227 */ {(15<<2)|2,{44,86,0}}, +/* 64228 */ {(15<<2)|2,{44,87,0}}, +/* 64229 */ {(15<<2)|2,{44,87,0}}, +/* 64230 */ {(15<<2)|2,{44,89,0}}, +/* 64231 */ {(15<<2)|2,{44,89,0}}, +/* 64232 */ {(15<<2)|2,{44,106,0}}, +/* 64233 */ {(15<<2)|2,{44,106,0}}, +/* 64234 */ {(15<<2)|2,{44,107,0}}, +/* 64235 */ {(15<<2)|2,{44,107,0}}, +/* 64236 */ {(15<<2)|2,{44,113,0}}, +/* 64237 */ {(15<<2)|2,{44,113,0}}, +/* 64238 */ {(15<<2)|2,{44,118,0}}, +/* 64239 */ {(15<<2)|2,{44,118,0}}, +/* 64240 */ {(15<<2)|2,{44,119,0}}, +/* 64241 */ {(15<<2)|2,{44,119,0}}, +/* 64242 */ {(15<<2)|2,{44,120,0}}, +/* 64243 */ {(15<<2)|2,{44,120,0}}, +/* 64244 */ {(15<<2)|2,{44,121,0}}, +/* 64245 */ {(15<<2)|2,{44,121,0}}, +/* 64246 */ {(15<<2)|2,{44,122,0}}, +/* 64247 */ {(15<<2)|2,{44,122,0}}, +/* 64248 */ {(16<<2)|2,{44,38,0}}, +/* 64249 */ {(16<<2)|2,{44,42,0}}, +/* 64250 */ {(16<<2)|2,{44,44,0}}, +/* 64251 */ {(16<<2)|2,{44,59,0}}, +/* 64252 */ {(16<<2)|2,{44,88,0}}, +/* 64253 */ {(16<<2)|2,{44,90,0}}, +/* 64254 */ {(8<<2)|1,{44,0,0}}, +/* 64255 */ {(8<<2)|1,{44,0,0}}, +/* 64256 */ {(13<<2)|2,{59,48,0}}, +/* 64257 */ {(13<<2)|2,{59,48,0}}, +/* 64258 */ {(13<<2)|2,{59,48,0}}, +/* 64259 */ {(13<<2)|2,{59,48,0}}, +/* 64260 */ {(13<<2)|2,{59,48,0}}, +/* 64261 */ {(13<<2)|2,{59,48,0}}, +/* 64262 */ {(13<<2)|2,{59,48,0}}, +/* 64263 */ {(13<<2)|2,{59,48,0}}, +/* 64264 */ {(13<<2)|2,{59,49,0}}, +/* 64265 */ {(13<<2)|2,{59,49,0}}, +/* 64266 */ {(13<<2)|2,{59,49,0}}, +/* 64267 */ {(13<<2)|2,{59,49,0}}, +/* 64268 */ {(13<<2)|2,{59,49,0}}, +/* 64269 */ {(13<<2)|2,{59,49,0}}, +/* 64270 */ {(13<<2)|2,{59,49,0}}, +/* 64271 */ {(13<<2)|2,{59,49,0}}, +/* 64272 */ {(13<<2)|2,{59,50,0}}, +/* 64273 */ {(13<<2)|2,{59,50,0}}, +/* 64274 */ {(13<<2)|2,{59,50,0}}, +/* 64275 */ {(13<<2)|2,{59,50,0}}, +/* 64276 */ {(13<<2)|2,{59,50,0}}, +/* 64277 */ {(13<<2)|2,{59,50,0}}, +/* 64278 */ {(13<<2)|2,{59,50,0}}, +/* 64279 */ {(13<<2)|2,{59,50,0}}, +/* 64280 */ {(13<<2)|2,{59,97,0}}, +/* 64281 */ {(13<<2)|2,{59,97,0}}, +/* 64282 */ {(13<<2)|2,{59,97,0}}, +/* 64283 */ {(13<<2)|2,{59,97,0}}, +/* 64284 */ {(13<<2)|2,{59,97,0}}, +/* 64285 */ {(13<<2)|2,{59,97,0}}, +/* 64286 */ {(13<<2)|2,{59,97,0}}, +/* 64287 */ {(13<<2)|2,{59,97,0}}, +/* 64288 */ {(13<<2)|2,{59,99,0}}, +/* 64289 */ {(13<<2)|2,{59,99,0}}, +/* 64290 */ {(13<<2)|2,{59,99,0}}, +/* 64291 */ {(13<<2)|2,{59,99,0}}, +/* 64292 */ {(13<<2)|2,{59,99,0}}, +/* 64293 */ {(13<<2)|2,{59,99,0}}, +/* 64294 */ {(13<<2)|2,{59,99,0}}, +/* 64295 */ {(13<<2)|2,{59,99,0}}, +/* 64296 */ {(13<<2)|2,{59,101,0}}, +/* 64297 */ {(13<<2)|2,{59,101,0}}, +/* 64298 */ {(13<<2)|2,{59,101,0}}, +/* 64299 */ {(13<<2)|2,{59,101,0}}, +/* 64300 */ {(13<<2)|2,{59,101,0}}, +/* 64301 */ {(13<<2)|2,{59,101,0}}, +/* 64302 */ {(13<<2)|2,{59,101,0}}, +/* 64303 */ {(13<<2)|2,{59,101,0}}, +/* 64304 */ {(13<<2)|2,{59,105,0}}, +/* 64305 */ {(13<<2)|2,{59,105,0}}, +/* 64306 */ {(13<<2)|2,{59,105,0}}, +/* 64307 */ {(13<<2)|2,{59,105,0}}, +/* 64308 */ {(13<<2)|2,{59,105,0}}, +/* 64309 */ {(13<<2)|2,{59,105,0}}, +/* 64310 */ {(13<<2)|2,{59,105,0}}, +/* 64311 */ {(13<<2)|2,{59,105,0}}, +/* 64312 */ {(13<<2)|2,{59,111,0}}, +/* 64313 */ {(13<<2)|2,{59,111,0}}, +/* 64314 */ {(13<<2)|2,{59,111,0}}, +/* 64315 */ {(13<<2)|2,{59,111,0}}, +/* 64316 */ {(13<<2)|2,{59,111,0}}, +/* 64317 */ {(13<<2)|2,{59,111,0}}, +/* 64318 */ {(13<<2)|2,{59,111,0}}, +/* 64319 */ {(13<<2)|2,{59,111,0}}, +/* 64320 */ {(13<<2)|2,{59,115,0}}, +/* 64321 */ {(13<<2)|2,{59,115,0}}, +/* 64322 */ {(13<<2)|2,{59,115,0}}, +/* 64323 */ {(13<<2)|2,{59,115,0}}, +/* 64324 */ {(13<<2)|2,{59,115,0}}, +/* 64325 */ {(13<<2)|2,{59,115,0}}, +/* 64326 */ {(13<<2)|2,{59,115,0}}, +/* 64327 */ {(13<<2)|2,{59,115,0}}, +/* 64328 */ {(13<<2)|2,{59,116,0}}, +/* 64329 */ {(13<<2)|2,{59,116,0}}, +/* 64330 */ {(13<<2)|2,{59,116,0}}, +/* 64331 */ {(13<<2)|2,{59,116,0}}, +/* 64332 */ {(13<<2)|2,{59,116,0}}, +/* 64333 */ {(13<<2)|2,{59,116,0}}, +/* 64334 */ {(13<<2)|2,{59,116,0}}, +/* 64335 */ {(13<<2)|2,{59,116,0}}, +/* 64336 */ {(14<<2)|2,{59,32,0}}, +/* 64337 */ {(14<<2)|2,{59,32,0}}, +/* 64338 */ {(14<<2)|2,{59,32,0}}, +/* 64339 */ {(14<<2)|2,{59,32,0}}, +/* 64340 */ {(14<<2)|2,{59,37,0}}, +/* 64341 */ {(14<<2)|2,{59,37,0}}, +/* 64342 */ {(14<<2)|2,{59,37,0}}, +/* 64343 */ {(14<<2)|2,{59,37,0}}, +/* 64344 */ {(14<<2)|2,{59,45,0}}, +/* 64345 */ {(14<<2)|2,{59,45,0}}, +/* 64346 */ {(14<<2)|2,{59,45,0}}, +/* 64347 */ {(14<<2)|2,{59,45,0}}, +/* 64348 */ {(14<<2)|2,{59,46,0}}, +/* 64349 */ {(14<<2)|2,{59,46,0}}, +/* 64350 */ {(14<<2)|2,{59,46,0}}, +/* 64351 */ {(14<<2)|2,{59,46,0}}, +/* 64352 */ {(14<<2)|2,{59,47,0}}, +/* 64353 */ {(14<<2)|2,{59,47,0}}, +/* 64354 */ {(14<<2)|2,{59,47,0}}, +/* 64355 */ {(14<<2)|2,{59,47,0}}, +/* 64356 */ {(14<<2)|2,{59,51,0}}, +/* 64357 */ {(14<<2)|2,{59,51,0}}, +/* 64358 */ {(14<<2)|2,{59,51,0}}, +/* 64359 */ {(14<<2)|2,{59,51,0}}, +/* 64360 */ {(14<<2)|2,{59,52,0}}, +/* 64361 */ {(14<<2)|2,{59,52,0}}, +/* 64362 */ {(14<<2)|2,{59,52,0}}, +/* 64363 */ {(14<<2)|2,{59,52,0}}, +/* 64364 */ {(14<<2)|2,{59,53,0}}, +/* 64365 */ {(14<<2)|2,{59,53,0}}, +/* 64366 */ {(14<<2)|2,{59,53,0}}, +/* 64367 */ {(14<<2)|2,{59,53,0}}, +/* 64368 */ {(14<<2)|2,{59,54,0}}, +/* 64369 */ {(14<<2)|2,{59,54,0}}, +/* 64370 */ {(14<<2)|2,{59,54,0}}, +/* 64371 */ {(14<<2)|2,{59,54,0}}, +/* 64372 */ {(14<<2)|2,{59,55,0}}, +/* 64373 */ {(14<<2)|2,{59,55,0}}, +/* 64374 */ {(14<<2)|2,{59,55,0}}, +/* 64375 */ {(14<<2)|2,{59,55,0}}, +/* 64376 */ {(14<<2)|2,{59,56,0}}, +/* 64377 */ {(14<<2)|2,{59,56,0}}, +/* 64378 */ {(14<<2)|2,{59,56,0}}, +/* 64379 */ {(14<<2)|2,{59,56,0}}, +/* 64380 */ {(14<<2)|2,{59,57,0}}, +/* 64381 */ {(14<<2)|2,{59,57,0}}, +/* 64382 */ {(14<<2)|2,{59,57,0}}, +/* 64383 */ {(14<<2)|2,{59,57,0}}, +/* 64384 */ {(14<<2)|2,{59,61,0}}, +/* 64385 */ {(14<<2)|2,{59,61,0}}, +/* 64386 */ {(14<<2)|2,{59,61,0}}, +/* 64387 */ {(14<<2)|2,{59,61,0}}, +/* 64388 */ {(14<<2)|2,{59,65,0}}, +/* 64389 */ {(14<<2)|2,{59,65,0}}, +/* 64390 */ {(14<<2)|2,{59,65,0}}, +/* 64391 */ {(14<<2)|2,{59,65,0}}, +/* 64392 */ {(14<<2)|2,{59,95,0}}, +/* 64393 */ {(14<<2)|2,{59,95,0}}, +/* 64394 */ {(14<<2)|2,{59,95,0}}, +/* 64395 */ {(14<<2)|2,{59,95,0}}, +/* 64396 */ {(14<<2)|2,{59,98,0}}, +/* 64397 */ {(14<<2)|2,{59,98,0}}, +/* 64398 */ {(14<<2)|2,{59,98,0}}, +/* 64399 */ {(14<<2)|2,{59,98,0}}, +/* 64400 */ {(14<<2)|2,{59,100,0}}, +/* 64401 */ {(14<<2)|2,{59,100,0}}, +/* 64402 */ {(14<<2)|2,{59,100,0}}, +/* 64403 */ {(14<<2)|2,{59,100,0}}, +/* 64404 */ {(14<<2)|2,{59,102,0}}, +/* 64405 */ {(14<<2)|2,{59,102,0}}, +/* 64406 */ {(14<<2)|2,{59,102,0}}, +/* 64407 */ {(14<<2)|2,{59,102,0}}, +/* 64408 */ {(14<<2)|2,{59,103,0}}, +/* 64409 */ {(14<<2)|2,{59,103,0}}, +/* 64410 */ {(14<<2)|2,{59,103,0}}, +/* 64411 */ {(14<<2)|2,{59,103,0}}, +/* 64412 */ {(14<<2)|2,{59,104,0}}, +/* 64413 */ {(14<<2)|2,{59,104,0}}, +/* 64414 */ {(14<<2)|2,{59,104,0}}, +/* 64415 */ {(14<<2)|2,{59,104,0}}, +/* 64416 */ {(14<<2)|2,{59,108,0}}, +/* 64417 */ {(14<<2)|2,{59,108,0}}, +/* 64418 */ {(14<<2)|2,{59,108,0}}, +/* 64419 */ {(14<<2)|2,{59,108,0}}, +/* 64420 */ {(14<<2)|2,{59,109,0}}, +/* 64421 */ {(14<<2)|2,{59,109,0}}, +/* 64422 */ {(14<<2)|2,{59,109,0}}, +/* 64423 */ {(14<<2)|2,{59,109,0}}, +/* 64424 */ {(14<<2)|2,{59,110,0}}, +/* 64425 */ {(14<<2)|2,{59,110,0}}, +/* 64426 */ {(14<<2)|2,{59,110,0}}, +/* 64427 */ {(14<<2)|2,{59,110,0}}, +/* 64428 */ {(14<<2)|2,{59,112,0}}, +/* 64429 */ {(14<<2)|2,{59,112,0}}, +/* 64430 */ {(14<<2)|2,{59,112,0}}, +/* 64431 */ {(14<<2)|2,{59,112,0}}, +/* 64432 */ {(14<<2)|2,{59,114,0}}, +/* 64433 */ {(14<<2)|2,{59,114,0}}, +/* 64434 */ {(14<<2)|2,{59,114,0}}, +/* 64435 */ {(14<<2)|2,{59,114,0}}, +/* 64436 */ {(14<<2)|2,{59,117,0}}, +/* 64437 */ {(14<<2)|2,{59,117,0}}, +/* 64438 */ {(14<<2)|2,{59,117,0}}, +/* 64439 */ {(14<<2)|2,{59,117,0}}, +/* 64440 */ {(15<<2)|2,{59,58,0}}, +/* 64441 */ {(15<<2)|2,{59,58,0}}, +/* 64442 */ {(15<<2)|2,{59,66,0}}, +/* 64443 */ {(15<<2)|2,{59,66,0}}, +/* 64444 */ {(15<<2)|2,{59,67,0}}, +/* 64445 */ {(15<<2)|2,{59,67,0}}, +/* 64446 */ {(15<<2)|2,{59,68,0}}, +/* 64447 */ {(15<<2)|2,{59,68,0}}, +/* 64448 */ {(15<<2)|2,{59,69,0}}, +/* 64449 */ {(15<<2)|2,{59,69,0}}, +/* 64450 */ {(15<<2)|2,{59,70,0}}, +/* 64451 */ {(15<<2)|2,{59,70,0}}, +/* 64452 */ {(15<<2)|2,{59,71,0}}, +/* 64453 */ {(15<<2)|2,{59,71,0}}, +/* 64454 */ {(15<<2)|2,{59,72,0}}, +/* 64455 */ {(15<<2)|2,{59,72,0}}, +/* 64456 */ {(15<<2)|2,{59,73,0}}, +/* 64457 */ {(15<<2)|2,{59,73,0}}, +/* 64458 */ {(15<<2)|2,{59,74,0}}, +/* 64459 */ {(15<<2)|2,{59,74,0}}, +/* 64460 */ {(15<<2)|2,{59,75,0}}, +/* 64461 */ {(15<<2)|2,{59,75,0}}, +/* 64462 */ {(15<<2)|2,{59,76,0}}, +/* 64463 */ {(15<<2)|2,{59,76,0}}, +/* 64464 */ {(15<<2)|2,{59,77,0}}, +/* 64465 */ {(15<<2)|2,{59,77,0}}, +/* 64466 */ {(15<<2)|2,{59,78,0}}, +/* 64467 */ {(15<<2)|2,{59,78,0}}, +/* 64468 */ {(15<<2)|2,{59,79,0}}, +/* 64469 */ {(15<<2)|2,{59,79,0}}, +/* 64470 */ {(15<<2)|2,{59,80,0}}, +/* 64471 */ {(15<<2)|2,{59,80,0}}, +/* 64472 */ {(15<<2)|2,{59,81,0}}, +/* 64473 */ {(15<<2)|2,{59,81,0}}, +/* 64474 */ {(15<<2)|2,{59,82,0}}, +/* 64475 */ {(15<<2)|2,{59,82,0}}, +/* 64476 */ {(15<<2)|2,{59,83,0}}, +/* 64477 */ {(15<<2)|2,{59,83,0}}, +/* 64478 */ {(15<<2)|2,{59,84,0}}, +/* 64479 */ {(15<<2)|2,{59,84,0}}, +/* 64480 */ {(15<<2)|2,{59,85,0}}, +/* 64481 */ {(15<<2)|2,{59,85,0}}, +/* 64482 */ {(15<<2)|2,{59,86,0}}, +/* 64483 */ {(15<<2)|2,{59,86,0}}, +/* 64484 */ {(15<<2)|2,{59,87,0}}, +/* 64485 */ {(15<<2)|2,{59,87,0}}, +/* 64486 */ {(15<<2)|2,{59,89,0}}, +/* 64487 */ {(15<<2)|2,{59,89,0}}, +/* 64488 */ {(15<<2)|2,{59,106,0}}, +/* 64489 */ {(15<<2)|2,{59,106,0}}, +/* 64490 */ {(15<<2)|2,{59,107,0}}, +/* 64491 */ {(15<<2)|2,{59,107,0}}, +/* 64492 */ {(15<<2)|2,{59,113,0}}, +/* 64493 */ {(15<<2)|2,{59,113,0}}, +/* 64494 */ {(15<<2)|2,{59,118,0}}, +/* 64495 */ {(15<<2)|2,{59,118,0}}, +/* 64496 */ {(15<<2)|2,{59,119,0}}, +/* 64497 */ {(15<<2)|2,{59,119,0}}, +/* 64498 */ {(15<<2)|2,{59,120,0}}, +/* 64499 */ {(15<<2)|2,{59,120,0}}, +/* 64500 */ {(15<<2)|2,{59,121,0}}, +/* 64501 */ {(15<<2)|2,{59,121,0}}, +/* 64502 */ {(15<<2)|2,{59,122,0}}, +/* 64503 */ {(15<<2)|2,{59,122,0}}, +/* 64504 */ {(16<<2)|2,{59,38,0}}, +/* 64505 */ {(16<<2)|2,{59,42,0}}, +/* 64506 */ {(16<<2)|2,{59,44,0}}, +/* 64507 */ {(16<<2)|2,{59,59,0}}, +/* 64508 */ {(16<<2)|2,{59,88,0}}, +/* 64509 */ {(16<<2)|2,{59,90,0}}, +/* 64510 */ {(8<<2)|1,{59,0,0}}, +/* 64511 */ {(8<<2)|1,{59,0,0}}, +/* 64512 */ {(13<<2)|2,{88,48,0}}, +/* 64513 */ {(13<<2)|2,{88,48,0}}, +/* 64514 */ {(13<<2)|2,{88,48,0}}, +/* 64515 */ {(13<<2)|2,{88,48,0}}, +/* 64516 */ {(13<<2)|2,{88,48,0}}, +/* 64517 */ {(13<<2)|2,{88,48,0}}, +/* 64518 */ {(13<<2)|2,{88,48,0}}, +/* 64519 */ {(13<<2)|2,{88,48,0}}, +/* 64520 */ {(13<<2)|2,{88,49,0}}, +/* 64521 */ {(13<<2)|2,{88,49,0}}, +/* 64522 */ {(13<<2)|2,{88,49,0}}, +/* 64523 */ {(13<<2)|2,{88,49,0}}, +/* 64524 */ {(13<<2)|2,{88,49,0}}, +/* 64525 */ {(13<<2)|2,{88,49,0}}, +/* 64526 */ {(13<<2)|2,{88,49,0}}, +/* 64527 */ {(13<<2)|2,{88,49,0}}, +/* 64528 */ {(13<<2)|2,{88,50,0}}, +/* 64529 */ {(13<<2)|2,{88,50,0}}, +/* 64530 */ {(13<<2)|2,{88,50,0}}, +/* 64531 */ {(13<<2)|2,{88,50,0}}, +/* 64532 */ {(13<<2)|2,{88,50,0}}, +/* 64533 */ {(13<<2)|2,{88,50,0}}, +/* 64534 */ {(13<<2)|2,{88,50,0}}, +/* 64535 */ {(13<<2)|2,{88,50,0}}, +/* 64536 */ {(13<<2)|2,{88,97,0}}, +/* 64537 */ {(13<<2)|2,{88,97,0}}, +/* 64538 */ {(13<<2)|2,{88,97,0}}, +/* 64539 */ {(13<<2)|2,{88,97,0}}, +/* 64540 */ {(13<<2)|2,{88,97,0}}, +/* 64541 */ {(13<<2)|2,{88,97,0}}, +/* 64542 */ {(13<<2)|2,{88,97,0}}, +/* 64543 */ {(13<<2)|2,{88,97,0}}, +/* 64544 */ {(13<<2)|2,{88,99,0}}, +/* 64545 */ {(13<<2)|2,{88,99,0}}, +/* 64546 */ {(13<<2)|2,{88,99,0}}, +/* 64547 */ {(13<<2)|2,{88,99,0}}, +/* 64548 */ {(13<<2)|2,{88,99,0}}, +/* 64549 */ {(13<<2)|2,{88,99,0}}, +/* 64550 */ {(13<<2)|2,{88,99,0}}, +/* 64551 */ {(13<<2)|2,{88,99,0}}, +/* 64552 */ {(13<<2)|2,{88,101,0}}, +/* 64553 */ {(13<<2)|2,{88,101,0}}, +/* 64554 */ {(13<<2)|2,{88,101,0}}, +/* 64555 */ {(13<<2)|2,{88,101,0}}, +/* 64556 */ {(13<<2)|2,{88,101,0}}, +/* 64557 */ {(13<<2)|2,{88,101,0}}, +/* 64558 */ {(13<<2)|2,{88,101,0}}, +/* 64559 */ {(13<<2)|2,{88,101,0}}, +/* 64560 */ {(13<<2)|2,{88,105,0}}, +/* 64561 */ {(13<<2)|2,{88,105,0}}, +/* 64562 */ {(13<<2)|2,{88,105,0}}, +/* 64563 */ {(13<<2)|2,{88,105,0}}, +/* 64564 */ {(13<<2)|2,{88,105,0}}, +/* 64565 */ {(13<<2)|2,{88,105,0}}, +/* 64566 */ {(13<<2)|2,{88,105,0}}, +/* 64567 */ {(13<<2)|2,{88,105,0}}, +/* 64568 */ {(13<<2)|2,{88,111,0}}, +/* 64569 */ {(13<<2)|2,{88,111,0}}, +/* 64570 */ {(13<<2)|2,{88,111,0}}, +/* 64571 */ {(13<<2)|2,{88,111,0}}, +/* 64572 */ {(13<<2)|2,{88,111,0}}, +/* 64573 */ {(13<<2)|2,{88,111,0}}, +/* 64574 */ {(13<<2)|2,{88,111,0}}, +/* 64575 */ {(13<<2)|2,{88,111,0}}, +/* 64576 */ {(13<<2)|2,{88,115,0}}, +/* 64577 */ {(13<<2)|2,{88,115,0}}, +/* 64578 */ {(13<<2)|2,{88,115,0}}, +/* 64579 */ {(13<<2)|2,{88,115,0}}, +/* 64580 */ {(13<<2)|2,{88,115,0}}, +/* 64581 */ {(13<<2)|2,{88,115,0}}, +/* 64582 */ {(13<<2)|2,{88,115,0}}, +/* 64583 */ {(13<<2)|2,{88,115,0}}, +/* 64584 */ {(13<<2)|2,{88,116,0}}, +/* 64585 */ {(13<<2)|2,{88,116,0}}, +/* 64586 */ {(13<<2)|2,{88,116,0}}, +/* 64587 */ {(13<<2)|2,{88,116,0}}, +/* 64588 */ {(13<<2)|2,{88,116,0}}, +/* 64589 */ {(13<<2)|2,{88,116,0}}, +/* 64590 */ {(13<<2)|2,{88,116,0}}, +/* 64591 */ {(13<<2)|2,{88,116,0}}, +/* 64592 */ {(14<<2)|2,{88,32,0}}, +/* 64593 */ {(14<<2)|2,{88,32,0}}, +/* 64594 */ {(14<<2)|2,{88,32,0}}, +/* 64595 */ {(14<<2)|2,{88,32,0}}, +/* 64596 */ {(14<<2)|2,{88,37,0}}, +/* 64597 */ {(14<<2)|2,{88,37,0}}, +/* 64598 */ {(14<<2)|2,{88,37,0}}, +/* 64599 */ {(14<<2)|2,{88,37,0}}, +/* 64600 */ {(14<<2)|2,{88,45,0}}, +/* 64601 */ {(14<<2)|2,{88,45,0}}, +/* 64602 */ {(14<<2)|2,{88,45,0}}, +/* 64603 */ {(14<<2)|2,{88,45,0}}, +/* 64604 */ {(14<<2)|2,{88,46,0}}, +/* 64605 */ {(14<<2)|2,{88,46,0}}, +/* 64606 */ {(14<<2)|2,{88,46,0}}, +/* 64607 */ {(14<<2)|2,{88,46,0}}, +/* 64608 */ {(14<<2)|2,{88,47,0}}, +/* 64609 */ {(14<<2)|2,{88,47,0}}, +/* 64610 */ {(14<<2)|2,{88,47,0}}, +/* 64611 */ {(14<<2)|2,{88,47,0}}, +/* 64612 */ {(14<<2)|2,{88,51,0}}, +/* 64613 */ {(14<<2)|2,{88,51,0}}, +/* 64614 */ {(14<<2)|2,{88,51,0}}, +/* 64615 */ {(14<<2)|2,{88,51,0}}, +/* 64616 */ {(14<<2)|2,{88,52,0}}, +/* 64617 */ {(14<<2)|2,{88,52,0}}, +/* 64618 */ {(14<<2)|2,{88,52,0}}, +/* 64619 */ {(14<<2)|2,{88,52,0}}, +/* 64620 */ {(14<<2)|2,{88,53,0}}, +/* 64621 */ {(14<<2)|2,{88,53,0}}, +/* 64622 */ {(14<<2)|2,{88,53,0}}, +/* 64623 */ {(14<<2)|2,{88,53,0}}, +/* 64624 */ {(14<<2)|2,{88,54,0}}, +/* 64625 */ {(14<<2)|2,{88,54,0}}, +/* 64626 */ {(14<<2)|2,{88,54,0}}, +/* 64627 */ {(14<<2)|2,{88,54,0}}, +/* 64628 */ {(14<<2)|2,{88,55,0}}, +/* 64629 */ {(14<<2)|2,{88,55,0}}, +/* 64630 */ {(14<<2)|2,{88,55,0}}, +/* 64631 */ {(14<<2)|2,{88,55,0}}, +/* 64632 */ {(14<<2)|2,{88,56,0}}, +/* 64633 */ {(14<<2)|2,{88,56,0}}, +/* 64634 */ {(14<<2)|2,{88,56,0}}, +/* 64635 */ {(14<<2)|2,{88,56,0}}, +/* 64636 */ {(14<<2)|2,{88,57,0}}, +/* 64637 */ {(14<<2)|2,{88,57,0}}, +/* 64638 */ {(14<<2)|2,{88,57,0}}, +/* 64639 */ {(14<<2)|2,{88,57,0}}, +/* 64640 */ {(14<<2)|2,{88,61,0}}, +/* 64641 */ {(14<<2)|2,{88,61,0}}, +/* 64642 */ {(14<<2)|2,{88,61,0}}, +/* 64643 */ {(14<<2)|2,{88,61,0}}, +/* 64644 */ {(14<<2)|2,{88,65,0}}, +/* 64645 */ {(14<<2)|2,{88,65,0}}, +/* 64646 */ {(14<<2)|2,{88,65,0}}, +/* 64647 */ {(14<<2)|2,{88,65,0}}, +/* 64648 */ {(14<<2)|2,{88,95,0}}, +/* 64649 */ {(14<<2)|2,{88,95,0}}, +/* 64650 */ {(14<<2)|2,{88,95,0}}, +/* 64651 */ {(14<<2)|2,{88,95,0}}, +/* 64652 */ {(14<<2)|2,{88,98,0}}, +/* 64653 */ {(14<<2)|2,{88,98,0}}, +/* 64654 */ {(14<<2)|2,{88,98,0}}, +/* 64655 */ {(14<<2)|2,{88,98,0}}, +/* 64656 */ {(14<<2)|2,{88,100,0}}, +/* 64657 */ {(14<<2)|2,{88,100,0}}, +/* 64658 */ {(14<<2)|2,{88,100,0}}, +/* 64659 */ {(14<<2)|2,{88,100,0}}, +/* 64660 */ {(14<<2)|2,{88,102,0}}, +/* 64661 */ {(14<<2)|2,{88,102,0}}, +/* 64662 */ {(14<<2)|2,{88,102,0}}, +/* 64663 */ {(14<<2)|2,{88,102,0}}, +/* 64664 */ {(14<<2)|2,{88,103,0}}, +/* 64665 */ {(14<<2)|2,{88,103,0}}, +/* 64666 */ {(14<<2)|2,{88,103,0}}, +/* 64667 */ {(14<<2)|2,{88,103,0}}, +/* 64668 */ {(14<<2)|2,{88,104,0}}, +/* 64669 */ {(14<<2)|2,{88,104,0}}, +/* 64670 */ {(14<<2)|2,{88,104,0}}, +/* 64671 */ {(14<<2)|2,{88,104,0}}, +/* 64672 */ {(14<<2)|2,{88,108,0}}, +/* 64673 */ {(14<<2)|2,{88,108,0}}, +/* 64674 */ {(14<<2)|2,{88,108,0}}, +/* 64675 */ {(14<<2)|2,{88,108,0}}, +/* 64676 */ {(14<<2)|2,{88,109,0}}, +/* 64677 */ {(14<<2)|2,{88,109,0}}, +/* 64678 */ {(14<<2)|2,{88,109,0}}, +/* 64679 */ {(14<<2)|2,{88,109,0}}, +/* 64680 */ {(14<<2)|2,{88,110,0}}, +/* 64681 */ {(14<<2)|2,{88,110,0}}, +/* 64682 */ {(14<<2)|2,{88,110,0}}, +/* 64683 */ {(14<<2)|2,{88,110,0}}, +/* 64684 */ {(14<<2)|2,{88,112,0}}, +/* 64685 */ {(14<<2)|2,{88,112,0}}, +/* 64686 */ {(14<<2)|2,{88,112,0}}, +/* 64687 */ {(14<<2)|2,{88,112,0}}, +/* 64688 */ {(14<<2)|2,{88,114,0}}, +/* 64689 */ {(14<<2)|2,{88,114,0}}, +/* 64690 */ {(14<<2)|2,{88,114,0}}, +/* 64691 */ {(14<<2)|2,{88,114,0}}, +/* 64692 */ {(14<<2)|2,{88,117,0}}, +/* 64693 */ {(14<<2)|2,{88,117,0}}, +/* 64694 */ {(14<<2)|2,{88,117,0}}, +/* 64695 */ {(14<<2)|2,{88,117,0}}, +/* 64696 */ {(15<<2)|2,{88,58,0}}, +/* 64697 */ {(15<<2)|2,{88,58,0}}, +/* 64698 */ {(15<<2)|2,{88,66,0}}, +/* 64699 */ {(15<<2)|2,{88,66,0}}, +/* 64700 */ {(15<<2)|2,{88,67,0}}, +/* 64701 */ {(15<<2)|2,{88,67,0}}, +/* 64702 */ {(15<<2)|2,{88,68,0}}, +/* 64703 */ {(15<<2)|2,{88,68,0}}, +/* 64704 */ {(15<<2)|2,{88,69,0}}, +/* 64705 */ {(15<<2)|2,{88,69,0}}, +/* 64706 */ {(15<<2)|2,{88,70,0}}, +/* 64707 */ {(15<<2)|2,{88,70,0}}, +/* 64708 */ {(15<<2)|2,{88,71,0}}, +/* 64709 */ {(15<<2)|2,{88,71,0}}, +/* 64710 */ {(15<<2)|2,{88,72,0}}, +/* 64711 */ {(15<<2)|2,{88,72,0}}, +/* 64712 */ {(15<<2)|2,{88,73,0}}, +/* 64713 */ {(15<<2)|2,{88,73,0}}, +/* 64714 */ {(15<<2)|2,{88,74,0}}, +/* 64715 */ {(15<<2)|2,{88,74,0}}, +/* 64716 */ {(15<<2)|2,{88,75,0}}, +/* 64717 */ {(15<<2)|2,{88,75,0}}, +/* 64718 */ {(15<<2)|2,{88,76,0}}, +/* 64719 */ {(15<<2)|2,{88,76,0}}, +/* 64720 */ {(15<<2)|2,{88,77,0}}, +/* 64721 */ {(15<<2)|2,{88,77,0}}, +/* 64722 */ {(15<<2)|2,{88,78,0}}, +/* 64723 */ {(15<<2)|2,{88,78,0}}, +/* 64724 */ {(15<<2)|2,{88,79,0}}, +/* 64725 */ {(15<<2)|2,{88,79,0}}, +/* 64726 */ {(15<<2)|2,{88,80,0}}, +/* 64727 */ {(15<<2)|2,{88,80,0}}, +/* 64728 */ {(15<<2)|2,{88,81,0}}, +/* 64729 */ {(15<<2)|2,{88,81,0}}, +/* 64730 */ {(15<<2)|2,{88,82,0}}, +/* 64731 */ {(15<<2)|2,{88,82,0}}, +/* 64732 */ {(15<<2)|2,{88,83,0}}, +/* 64733 */ {(15<<2)|2,{88,83,0}}, +/* 64734 */ {(15<<2)|2,{88,84,0}}, +/* 64735 */ {(15<<2)|2,{88,84,0}}, +/* 64736 */ {(15<<2)|2,{88,85,0}}, +/* 64737 */ {(15<<2)|2,{88,85,0}}, +/* 64738 */ {(15<<2)|2,{88,86,0}}, +/* 64739 */ {(15<<2)|2,{88,86,0}}, +/* 64740 */ {(15<<2)|2,{88,87,0}}, +/* 64741 */ {(15<<2)|2,{88,87,0}}, +/* 64742 */ {(15<<2)|2,{88,89,0}}, +/* 64743 */ {(15<<2)|2,{88,89,0}}, +/* 64744 */ {(15<<2)|2,{88,106,0}}, +/* 64745 */ {(15<<2)|2,{88,106,0}}, +/* 64746 */ {(15<<2)|2,{88,107,0}}, +/* 64747 */ {(15<<2)|2,{88,107,0}}, +/* 64748 */ {(15<<2)|2,{88,113,0}}, +/* 64749 */ {(15<<2)|2,{88,113,0}}, +/* 64750 */ {(15<<2)|2,{88,118,0}}, +/* 64751 */ {(15<<2)|2,{88,118,0}}, +/* 64752 */ {(15<<2)|2,{88,119,0}}, +/* 64753 */ {(15<<2)|2,{88,119,0}}, +/* 64754 */ {(15<<2)|2,{88,120,0}}, +/* 64755 */ {(15<<2)|2,{88,120,0}}, +/* 64756 */ {(15<<2)|2,{88,121,0}}, +/* 64757 */ {(15<<2)|2,{88,121,0}}, +/* 64758 */ {(15<<2)|2,{88,122,0}}, +/* 64759 */ {(15<<2)|2,{88,122,0}}, +/* 64760 */ {(16<<2)|2,{88,38,0}}, +/* 64761 */ {(16<<2)|2,{88,42,0}}, +/* 64762 */ {(16<<2)|2,{88,44,0}}, +/* 64763 */ {(16<<2)|2,{88,59,0}}, +/* 64764 */ {(16<<2)|2,{88,88,0}}, +/* 64765 */ {(16<<2)|2,{88,90,0}}, +/* 64766 */ {(8<<2)|1,{88,0,0}}, +/* 64767 */ {(8<<2)|1,{88,0,0}}, +/* 64768 */ {(13<<2)|2,{90,48,0}}, +/* 64769 */ {(13<<2)|2,{90,48,0}}, +/* 64770 */ {(13<<2)|2,{90,48,0}}, +/* 64771 */ {(13<<2)|2,{90,48,0}}, +/* 64772 */ {(13<<2)|2,{90,48,0}}, +/* 64773 */ {(13<<2)|2,{90,48,0}}, +/* 64774 */ {(13<<2)|2,{90,48,0}}, +/* 64775 */ {(13<<2)|2,{90,48,0}}, +/* 64776 */ {(13<<2)|2,{90,49,0}}, +/* 64777 */ {(13<<2)|2,{90,49,0}}, +/* 64778 */ {(13<<2)|2,{90,49,0}}, +/* 64779 */ {(13<<2)|2,{90,49,0}}, +/* 64780 */ {(13<<2)|2,{90,49,0}}, +/* 64781 */ {(13<<2)|2,{90,49,0}}, +/* 64782 */ {(13<<2)|2,{90,49,0}}, +/* 64783 */ {(13<<2)|2,{90,49,0}}, +/* 64784 */ {(13<<2)|2,{90,50,0}}, +/* 64785 */ {(13<<2)|2,{90,50,0}}, +/* 64786 */ {(13<<2)|2,{90,50,0}}, +/* 64787 */ {(13<<2)|2,{90,50,0}}, +/* 64788 */ {(13<<2)|2,{90,50,0}}, +/* 64789 */ {(13<<2)|2,{90,50,0}}, +/* 64790 */ {(13<<2)|2,{90,50,0}}, +/* 64791 */ {(13<<2)|2,{90,50,0}}, +/* 64792 */ {(13<<2)|2,{90,97,0}}, +/* 64793 */ {(13<<2)|2,{90,97,0}}, +/* 64794 */ {(13<<2)|2,{90,97,0}}, +/* 64795 */ {(13<<2)|2,{90,97,0}}, +/* 64796 */ {(13<<2)|2,{90,97,0}}, +/* 64797 */ {(13<<2)|2,{90,97,0}}, +/* 64798 */ {(13<<2)|2,{90,97,0}}, +/* 64799 */ {(13<<2)|2,{90,97,0}}, +/* 64800 */ {(13<<2)|2,{90,99,0}}, +/* 64801 */ {(13<<2)|2,{90,99,0}}, +/* 64802 */ {(13<<2)|2,{90,99,0}}, +/* 64803 */ {(13<<2)|2,{90,99,0}}, +/* 64804 */ {(13<<2)|2,{90,99,0}}, +/* 64805 */ {(13<<2)|2,{90,99,0}}, +/* 64806 */ {(13<<2)|2,{90,99,0}}, +/* 64807 */ {(13<<2)|2,{90,99,0}}, +/* 64808 */ {(13<<2)|2,{90,101,0}}, +/* 64809 */ {(13<<2)|2,{90,101,0}}, +/* 64810 */ {(13<<2)|2,{90,101,0}}, +/* 64811 */ {(13<<2)|2,{90,101,0}}, +/* 64812 */ {(13<<2)|2,{90,101,0}}, +/* 64813 */ {(13<<2)|2,{90,101,0}}, +/* 64814 */ {(13<<2)|2,{90,101,0}}, +/* 64815 */ {(13<<2)|2,{90,101,0}}, +/* 64816 */ {(13<<2)|2,{90,105,0}}, +/* 64817 */ {(13<<2)|2,{90,105,0}}, +/* 64818 */ {(13<<2)|2,{90,105,0}}, +/* 64819 */ {(13<<2)|2,{90,105,0}}, +/* 64820 */ {(13<<2)|2,{90,105,0}}, +/* 64821 */ {(13<<2)|2,{90,105,0}}, +/* 64822 */ {(13<<2)|2,{90,105,0}}, +/* 64823 */ {(13<<2)|2,{90,105,0}}, +/* 64824 */ {(13<<2)|2,{90,111,0}}, +/* 64825 */ {(13<<2)|2,{90,111,0}}, +/* 64826 */ {(13<<2)|2,{90,111,0}}, +/* 64827 */ {(13<<2)|2,{90,111,0}}, +/* 64828 */ {(13<<2)|2,{90,111,0}}, +/* 64829 */ {(13<<2)|2,{90,111,0}}, +/* 64830 */ {(13<<2)|2,{90,111,0}}, +/* 64831 */ {(13<<2)|2,{90,111,0}}, +/* 64832 */ {(13<<2)|2,{90,115,0}}, +/* 64833 */ {(13<<2)|2,{90,115,0}}, +/* 64834 */ {(13<<2)|2,{90,115,0}}, +/* 64835 */ {(13<<2)|2,{90,115,0}}, +/* 64836 */ {(13<<2)|2,{90,115,0}}, +/* 64837 */ {(13<<2)|2,{90,115,0}}, +/* 64838 */ {(13<<2)|2,{90,115,0}}, +/* 64839 */ {(13<<2)|2,{90,115,0}}, +/* 64840 */ {(13<<2)|2,{90,116,0}}, +/* 64841 */ {(13<<2)|2,{90,116,0}}, +/* 64842 */ {(13<<2)|2,{90,116,0}}, +/* 64843 */ {(13<<2)|2,{90,116,0}}, +/* 64844 */ {(13<<2)|2,{90,116,0}}, +/* 64845 */ {(13<<2)|2,{90,116,0}}, +/* 64846 */ {(13<<2)|2,{90,116,0}}, +/* 64847 */ {(13<<2)|2,{90,116,0}}, +/* 64848 */ {(14<<2)|2,{90,32,0}}, +/* 64849 */ {(14<<2)|2,{90,32,0}}, +/* 64850 */ {(14<<2)|2,{90,32,0}}, +/* 64851 */ {(14<<2)|2,{90,32,0}}, +/* 64852 */ {(14<<2)|2,{90,37,0}}, +/* 64853 */ {(14<<2)|2,{90,37,0}}, +/* 64854 */ {(14<<2)|2,{90,37,0}}, +/* 64855 */ {(14<<2)|2,{90,37,0}}, +/* 64856 */ {(14<<2)|2,{90,45,0}}, +/* 64857 */ {(14<<2)|2,{90,45,0}}, +/* 64858 */ {(14<<2)|2,{90,45,0}}, +/* 64859 */ {(14<<2)|2,{90,45,0}}, +/* 64860 */ {(14<<2)|2,{90,46,0}}, +/* 64861 */ {(14<<2)|2,{90,46,0}}, +/* 64862 */ {(14<<2)|2,{90,46,0}}, +/* 64863 */ {(14<<2)|2,{90,46,0}}, +/* 64864 */ {(14<<2)|2,{90,47,0}}, +/* 64865 */ {(14<<2)|2,{90,47,0}}, +/* 64866 */ {(14<<2)|2,{90,47,0}}, +/* 64867 */ {(14<<2)|2,{90,47,0}}, +/* 64868 */ {(14<<2)|2,{90,51,0}}, +/* 64869 */ {(14<<2)|2,{90,51,0}}, +/* 64870 */ {(14<<2)|2,{90,51,0}}, +/* 64871 */ {(14<<2)|2,{90,51,0}}, +/* 64872 */ {(14<<2)|2,{90,52,0}}, +/* 64873 */ {(14<<2)|2,{90,52,0}}, +/* 64874 */ {(14<<2)|2,{90,52,0}}, +/* 64875 */ {(14<<2)|2,{90,52,0}}, +/* 64876 */ {(14<<2)|2,{90,53,0}}, +/* 64877 */ {(14<<2)|2,{90,53,0}}, +/* 64878 */ {(14<<2)|2,{90,53,0}}, +/* 64879 */ {(14<<2)|2,{90,53,0}}, +/* 64880 */ {(14<<2)|2,{90,54,0}}, +/* 64881 */ {(14<<2)|2,{90,54,0}}, +/* 64882 */ {(14<<2)|2,{90,54,0}}, +/* 64883 */ {(14<<2)|2,{90,54,0}}, +/* 64884 */ {(14<<2)|2,{90,55,0}}, +/* 64885 */ {(14<<2)|2,{90,55,0}}, +/* 64886 */ {(14<<2)|2,{90,55,0}}, +/* 64887 */ {(14<<2)|2,{90,55,0}}, +/* 64888 */ {(14<<2)|2,{90,56,0}}, +/* 64889 */ {(14<<2)|2,{90,56,0}}, +/* 64890 */ {(14<<2)|2,{90,56,0}}, +/* 64891 */ {(14<<2)|2,{90,56,0}}, +/* 64892 */ {(14<<2)|2,{90,57,0}}, +/* 64893 */ {(14<<2)|2,{90,57,0}}, +/* 64894 */ {(14<<2)|2,{90,57,0}}, +/* 64895 */ {(14<<2)|2,{90,57,0}}, +/* 64896 */ {(14<<2)|2,{90,61,0}}, +/* 64897 */ {(14<<2)|2,{90,61,0}}, +/* 64898 */ {(14<<2)|2,{90,61,0}}, +/* 64899 */ {(14<<2)|2,{90,61,0}}, +/* 64900 */ {(14<<2)|2,{90,65,0}}, +/* 64901 */ {(14<<2)|2,{90,65,0}}, +/* 64902 */ {(14<<2)|2,{90,65,0}}, +/* 64903 */ {(14<<2)|2,{90,65,0}}, +/* 64904 */ {(14<<2)|2,{90,95,0}}, +/* 64905 */ {(14<<2)|2,{90,95,0}}, +/* 64906 */ {(14<<2)|2,{90,95,0}}, +/* 64907 */ {(14<<2)|2,{90,95,0}}, +/* 64908 */ {(14<<2)|2,{90,98,0}}, +/* 64909 */ {(14<<2)|2,{90,98,0}}, +/* 64910 */ {(14<<2)|2,{90,98,0}}, +/* 64911 */ {(14<<2)|2,{90,98,0}}, +/* 64912 */ {(14<<2)|2,{90,100,0}}, +/* 64913 */ {(14<<2)|2,{90,100,0}}, +/* 64914 */ {(14<<2)|2,{90,100,0}}, +/* 64915 */ {(14<<2)|2,{90,100,0}}, +/* 64916 */ {(14<<2)|2,{90,102,0}}, +/* 64917 */ {(14<<2)|2,{90,102,0}}, +/* 64918 */ {(14<<2)|2,{90,102,0}}, +/* 64919 */ {(14<<2)|2,{90,102,0}}, +/* 64920 */ {(14<<2)|2,{90,103,0}}, +/* 64921 */ {(14<<2)|2,{90,103,0}}, +/* 64922 */ {(14<<2)|2,{90,103,0}}, +/* 64923 */ {(14<<2)|2,{90,103,0}}, +/* 64924 */ {(14<<2)|2,{90,104,0}}, +/* 64925 */ {(14<<2)|2,{90,104,0}}, +/* 64926 */ {(14<<2)|2,{90,104,0}}, +/* 64927 */ {(14<<2)|2,{90,104,0}}, +/* 64928 */ {(14<<2)|2,{90,108,0}}, +/* 64929 */ {(14<<2)|2,{90,108,0}}, +/* 64930 */ {(14<<2)|2,{90,108,0}}, +/* 64931 */ {(14<<2)|2,{90,108,0}}, +/* 64932 */ {(14<<2)|2,{90,109,0}}, +/* 64933 */ {(14<<2)|2,{90,109,0}}, +/* 64934 */ {(14<<2)|2,{90,109,0}}, +/* 64935 */ {(14<<2)|2,{90,109,0}}, +/* 64936 */ {(14<<2)|2,{90,110,0}}, +/* 64937 */ {(14<<2)|2,{90,110,0}}, +/* 64938 */ {(14<<2)|2,{90,110,0}}, +/* 64939 */ {(14<<2)|2,{90,110,0}}, +/* 64940 */ {(14<<2)|2,{90,112,0}}, +/* 64941 */ {(14<<2)|2,{90,112,0}}, +/* 64942 */ {(14<<2)|2,{90,112,0}}, +/* 64943 */ {(14<<2)|2,{90,112,0}}, +/* 64944 */ {(14<<2)|2,{90,114,0}}, +/* 64945 */ {(14<<2)|2,{90,114,0}}, +/* 64946 */ {(14<<2)|2,{90,114,0}}, +/* 64947 */ {(14<<2)|2,{90,114,0}}, +/* 64948 */ {(14<<2)|2,{90,117,0}}, +/* 64949 */ {(14<<2)|2,{90,117,0}}, +/* 64950 */ {(14<<2)|2,{90,117,0}}, +/* 64951 */ {(14<<2)|2,{90,117,0}}, +/* 64952 */ {(15<<2)|2,{90,58,0}}, +/* 64953 */ {(15<<2)|2,{90,58,0}}, +/* 64954 */ {(15<<2)|2,{90,66,0}}, +/* 64955 */ {(15<<2)|2,{90,66,0}}, +/* 64956 */ {(15<<2)|2,{90,67,0}}, +/* 64957 */ {(15<<2)|2,{90,67,0}}, +/* 64958 */ {(15<<2)|2,{90,68,0}}, +/* 64959 */ {(15<<2)|2,{90,68,0}}, +/* 64960 */ {(15<<2)|2,{90,69,0}}, +/* 64961 */ {(15<<2)|2,{90,69,0}}, +/* 64962 */ {(15<<2)|2,{90,70,0}}, +/* 64963 */ {(15<<2)|2,{90,70,0}}, +/* 64964 */ {(15<<2)|2,{90,71,0}}, +/* 64965 */ {(15<<2)|2,{90,71,0}}, +/* 64966 */ {(15<<2)|2,{90,72,0}}, +/* 64967 */ {(15<<2)|2,{90,72,0}}, +/* 64968 */ {(15<<2)|2,{90,73,0}}, +/* 64969 */ {(15<<2)|2,{90,73,0}}, +/* 64970 */ {(15<<2)|2,{90,74,0}}, +/* 64971 */ {(15<<2)|2,{90,74,0}}, +/* 64972 */ {(15<<2)|2,{90,75,0}}, +/* 64973 */ {(15<<2)|2,{90,75,0}}, +/* 64974 */ {(15<<2)|2,{90,76,0}}, +/* 64975 */ {(15<<2)|2,{90,76,0}}, +/* 64976 */ {(15<<2)|2,{90,77,0}}, +/* 64977 */ {(15<<2)|2,{90,77,0}}, +/* 64978 */ {(15<<2)|2,{90,78,0}}, +/* 64979 */ {(15<<2)|2,{90,78,0}}, +/* 64980 */ {(15<<2)|2,{90,79,0}}, +/* 64981 */ {(15<<2)|2,{90,79,0}}, +/* 64982 */ {(15<<2)|2,{90,80,0}}, +/* 64983 */ {(15<<2)|2,{90,80,0}}, +/* 64984 */ {(15<<2)|2,{90,81,0}}, +/* 64985 */ {(15<<2)|2,{90,81,0}}, +/* 64986 */ {(15<<2)|2,{90,82,0}}, +/* 64987 */ {(15<<2)|2,{90,82,0}}, +/* 64988 */ {(15<<2)|2,{90,83,0}}, +/* 64989 */ {(15<<2)|2,{90,83,0}}, +/* 64990 */ {(15<<2)|2,{90,84,0}}, +/* 64991 */ {(15<<2)|2,{90,84,0}}, +/* 64992 */ {(15<<2)|2,{90,85,0}}, +/* 64993 */ {(15<<2)|2,{90,85,0}}, +/* 64994 */ {(15<<2)|2,{90,86,0}}, +/* 64995 */ {(15<<2)|2,{90,86,0}}, +/* 64996 */ {(15<<2)|2,{90,87,0}}, +/* 64997 */ {(15<<2)|2,{90,87,0}}, +/* 64998 */ {(15<<2)|2,{90,89,0}}, +/* 64999 */ {(15<<2)|2,{90,89,0}}, +/* 65000 */ {(15<<2)|2,{90,106,0}}, +/* 65001 */ {(15<<2)|2,{90,106,0}}, +/* 65002 */ {(15<<2)|2,{90,107,0}}, +/* 65003 */ {(15<<2)|2,{90,107,0}}, +/* 65004 */ {(15<<2)|2,{90,113,0}}, +/* 65005 */ {(15<<2)|2,{90,113,0}}, +/* 65006 */ {(15<<2)|2,{90,118,0}}, +/* 65007 */ {(15<<2)|2,{90,118,0}}, +/* 65008 */ {(15<<2)|2,{90,119,0}}, +/* 65009 */ {(15<<2)|2,{90,119,0}}, +/* 65010 */ {(15<<2)|2,{90,120,0}}, +/* 65011 */ {(15<<2)|2,{90,120,0}}, +/* 65012 */ {(15<<2)|2,{90,121,0}}, +/* 65013 */ {(15<<2)|2,{90,121,0}}, +/* 65014 */ {(15<<2)|2,{90,122,0}}, +/* 65015 */ {(15<<2)|2,{90,122,0}}, +/* 65016 */ {(16<<2)|2,{90,38,0}}, +/* 65017 */ {(16<<2)|2,{90,42,0}}, +/* 65018 */ {(16<<2)|2,{90,44,0}}, +/* 65019 */ {(16<<2)|2,{90,59,0}}, +/* 65020 */ {(16<<2)|2,{90,88,0}}, +/* 65021 */ {(16<<2)|2,{90,90,0}}, +/* 65022 */ {(8<<2)|1,{90,0,0}}, +/* 65023 */ {(8<<2)|1,{90,0,0}}, +/* 65024 */ {(15<<2)|2,{33,48,0}}, +/* 65025 */ {(15<<2)|2,{33,48,0}}, +/* 65026 */ {(15<<2)|2,{33,49,0}}, +/* 65027 */ {(15<<2)|2,{33,49,0}}, +/* 65028 */ {(15<<2)|2,{33,50,0}}, +/* 65029 */ {(15<<2)|2,{33,50,0}}, +/* 65030 */ {(15<<2)|2,{33,97,0}}, +/* 65031 */ {(15<<2)|2,{33,97,0}}, +/* 65032 */ {(15<<2)|2,{33,99,0}}, +/* 65033 */ {(15<<2)|2,{33,99,0}}, +/* 65034 */ {(15<<2)|2,{33,101,0}}, +/* 65035 */ {(15<<2)|2,{33,101,0}}, +/* 65036 */ {(15<<2)|2,{33,105,0}}, +/* 65037 */ {(15<<2)|2,{33,105,0}}, +/* 65038 */ {(15<<2)|2,{33,111,0}}, +/* 65039 */ {(15<<2)|2,{33,111,0}}, +/* 65040 */ {(15<<2)|2,{33,115,0}}, +/* 65041 */ {(15<<2)|2,{33,115,0}}, +/* 65042 */ {(15<<2)|2,{33,116,0}}, +/* 65043 */ {(15<<2)|2,{33,116,0}}, +/* 65044 */ {(16<<2)|2,{33,32,0}}, +/* 65045 */ {(16<<2)|2,{33,37,0}}, +/* 65046 */ {(16<<2)|2,{33,45,0}}, +/* 65047 */ {(16<<2)|2,{33,46,0}}, +/* 65048 */ {(16<<2)|2,{33,47,0}}, +/* 65049 */ {(16<<2)|2,{33,51,0}}, +/* 65050 */ {(16<<2)|2,{33,52,0}}, +/* 65051 */ {(16<<2)|2,{33,53,0}}, +/* 65052 */ {(16<<2)|2,{33,54,0}}, +/* 65053 */ {(16<<2)|2,{33,55,0}}, +/* 65054 */ {(16<<2)|2,{33,56,0}}, +/* 65055 */ {(16<<2)|2,{33,57,0}}, +/* 65056 */ {(16<<2)|2,{33,61,0}}, +/* 65057 */ {(16<<2)|2,{33,65,0}}, +/* 65058 */ {(16<<2)|2,{33,95,0}}, +/* 65059 */ {(16<<2)|2,{33,98,0}}, +/* 65060 */ {(16<<2)|2,{33,100,0}}, +/* 65061 */ {(16<<2)|2,{33,102,0}}, +/* 65062 */ {(16<<2)|2,{33,103,0}}, +/* 65063 */ {(16<<2)|2,{33,104,0}}, +/* 65064 */ {(16<<2)|2,{33,108,0}}, +/* 65065 */ {(16<<2)|2,{33,109,0}}, +/* 65066 */ {(16<<2)|2,{33,110,0}}, +/* 65067 */ {(16<<2)|2,{33,112,0}}, +/* 65068 */ {(16<<2)|2,{33,114,0}}, +/* 65069 */ {(16<<2)|2,{33,117,0}}, +/* 65070 */ {(10<<2)|1,{33,0,0}}, +/* 65071 */ {(10<<2)|1,{33,0,0}}, +/* 65072 */ {(10<<2)|1,{33,0,0}}, +/* 65073 */ {(10<<2)|1,{33,0,0}}, +/* 65074 */ {(10<<2)|1,{33,0,0}}, +/* 65075 */ {(10<<2)|1,{33,0,0}}, +/* 65076 */ {(10<<2)|1,{33,0,0}}, +/* 65077 */ {(10<<2)|1,{33,0,0}}, +/* 65078 */ {(10<<2)|1,{33,0,0}}, +/* 65079 */ {(10<<2)|1,{33,0,0}}, +/* 65080 */ {(10<<2)|1,{33,0,0}}, +/* 65081 */ {(10<<2)|1,{33,0,0}}, +/* 65082 */ {(10<<2)|1,{33,0,0}}, +/* 65083 */ {(10<<2)|1,{33,0,0}}, +/* 65084 */ {(10<<2)|1,{33,0,0}}, +/* 65085 */ {(10<<2)|1,{33,0,0}}, +/* 65086 */ {(10<<2)|1,{33,0,0}}, +/* 65087 */ {(10<<2)|1,{33,0,0}}, +/* 65088 */ {(15<<2)|2,{34,48,0}}, +/* 65089 */ {(15<<2)|2,{34,48,0}}, +/* 65090 */ {(15<<2)|2,{34,49,0}}, +/* 65091 */ {(15<<2)|2,{34,49,0}}, +/* 65092 */ {(15<<2)|2,{34,50,0}}, +/* 65093 */ {(15<<2)|2,{34,50,0}}, +/* 65094 */ {(15<<2)|2,{34,97,0}}, +/* 65095 */ {(15<<2)|2,{34,97,0}}, +/* 65096 */ {(15<<2)|2,{34,99,0}}, +/* 65097 */ {(15<<2)|2,{34,99,0}}, +/* 65098 */ {(15<<2)|2,{34,101,0}}, +/* 65099 */ {(15<<2)|2,{34,101,0}}, +/* 65100 */ {(15<<2)|2,{34,105,0}}, +/* 65101 */ {(15<<2)|2,{34,105,0}}, +/* 65102 */ {(15<<2)|2,{34,111,0}}, +/* 65103 */ {(15<<2)|2,{34,111,0}}, +/* 65104 */ {(15<<2)|2,{34,115,0}}, +/* 65105 */ {(15<<2)|2,{34,115,0}}, +/* 65106 */ {(15<<2)|2,{34,116,0}}, +/* 65107 */ {(15<<2)|2,{34,116,0}}, +/* 65108 */ {(16<<2)|2,{34,32,0}}, +/* 65109 */ {(16<<2)|2,{34,37,0}}, +/* 65110 */ {(16<<2)|2,{34,45,0}}, +/* 65111 */ {(16<<2)|2,{34,46,0}}, +/* 65112 */ {(16<<2)|2,{34,47,0}}, +/* 65113 */ {(16<<2)|2,{34,51,0}}, +/* 65114 */ {(16<<2)|2,{34,52,0}}, +/* 65115 */ {(16<<2)|2,{34,53,0}}, +/* 65116 */ {(16<<2)|2,{34,54,0}}, +/* 65117 */ {(16<<2)|2,{34,55,0}}, +/* 65118 */ {(16<<2)|2,{34,56,0}}, +/* 65119 */ {(16<<2)|2,{34,57,0}}, +/* 65120 */ {(16<<2)|2,{34,61,0}}, +/* 65121 */ {(16<<2)|2,{34,65,0}}, +/* 65122 */ {(16<<2)|2,{34,95,0}}, +/* 65123 */ {(16<<2)|2,{34,98,0}}, +/* 65124 */ {(16<<2)|2,{34,100,0}}, +/* 65125 */ {(16<<2)|2,{34,102,0}}, +/* 65126 */ {(16<<2)|2,{34,103,0}}, +/* 65127 */ {(16<<2)|2,{34,104,0}}, +/* 65128 */ {(16<<2)|2,{34,108,0}}, +/* 65129 */ {(16<<2)|2,{34,109,0}}, +/* 65130 */ {(16<<2)|2,{34,110,0}}, +/* 65131 */ {(16<<2)|2,{34,112,0}}, +/* 65132 */ {(16<<2)|2,{34,114,0}}, +/* 65133 */ {(16<<2)|2,{34,117,0}}, +/* 65134 */ {(10<<2)|1,{34,0,0}}, +/* 65135 */ {(10<<2)|1,{34,0,0}}, +/* 65136 */ {(10<<2)|1,{34,0,0}}, +/* 65137 */ {(10<<2)|1,{34,0,0}}, +/* 65138 */ {(10<<2)|1,{34,0,0}}, +/* 65139 */ {(10<<2)|1,{34,0,0}}, +/* 65140 */ {(10<<2)|1,{34,0,0}}, +/* 65141 */ {(10<<2)|1,{34,0,0}}, +/* 65142 */ {(10<<2)|1,{34,0,0}}, +/* 65143 */ {(10<<2)|1,{34,0,0}}, +/* 65144 */ {(10<<2)|1,{34,0,0}}, +/* 65145 */ {(10<<2)|1,{34,0,0}}, +/* 65146 */ {(10<<2)|1,{34,0,0}}, +/* 65147 */ {(10<<2)|1,{34,0,0}}, +/* 65148 */ {(10<<2)|1,{34,0,0}}, +/* 65149 */ {(10<<2)|1,{34,0,0}}, +/* 65150 */ {(10<<2)|1,{34,0,0}}, +/* 65151 */ {(10<<2)|1,{34,0,0}}, +/* 65152 */ {(15<<2)|2,{40,48,0}}, +/* 65153 */ {(15<<2)|2,{40,48,0}}, +/* 65154 */ {(15<<2)|2,{40,49,0}}, +/* 65155 */ {(15<<2)|2,{40,49,0}}, +/* 65156 */ {(15<<2)|2,{40,50,0}}, +/* 65157 */ {(15<<2)|2,{40,50,0}}, +/* 65158 */ {(15<<2)|2,{40,97,0}}, +/* 65159 */ {(15<<2)|2,{40,97,0}}, +/* 65160 */ {(15<<2)|2,{40,99,0}}, +/* 65161 */ {(15<<2)|2,{40,99,0}}, +/* 65162 */ {(15<<2)|2,{40,101,0}}, +/* 65163 */ {(15<<2)|2,{40,101,0}}, +/* 65164 */ {(15<<2)|2,{40,105,0}}, +/* 65165 */ {(15<<2)|2,{40,105,0}}, +/* 65166 */ {(15<<2)|2,{40,111,0}}, +/* 65167 */ {(15<<2)|2,{40,111,0}}, +/* 65168 */ {(15<<2)|2,{40,115,0}}, +/* 65169 */ {(15<<2)|2,{40,115,0}}, +/* 65170 */ {(15<<2)|2,{40,116,0}}, +/* 65171 */ {(15<<2)|2,{40,116,0}}, +/* 65172 */ {(16<<2)|2,{40,32,0}}, +/* 65173 */ {(16<<2)|2,{40,37,0}}, +/* 65174 */ {(16<<2)|2,{40,45,0}}, +/* 65175 */ {(16<<2)|2,{40,46,0}}, +/* 65176 */ {(16<<2)|2,{40,47,0}}, +/* 65177 */ {(16<<2)|2,{40,51,0}}, +/* 65178 */ {(16<<2)|2,{40,52,0}}, +/* 65179 */ {(16<<2)|2,{40,53,0}}, +/* 65180 */ {(16<<2)|2,{40,54,0}}, +/* 65181 */ {(16<<2)|2,{40,55,0}}, +/* 65182 */ {(16<<2)|2,{40,56,0}}, +/* 65183 */ {(16<<2)|2,{40,57,0}}, +/* 65184 */ {(16<<2)|2,{40,61,0}}, +/* 65185 */ {(16<<2)|2,{40,65,0}}, +/* 65186 */ {(16<<2)|2,{40,95,0}}, +/* 65187 */ {(16<<2)|2,{40,98,0}}, +/* 65188 */ {(16<<2)|2,{40,100,0}}, +/* 65189 */ {(16<<2)|2,{40,102,0}}, +/* 65190 */ {(16<<2)|2,{40,103,0}}, +/* 65191 */ {(16<<2)|2,{40,104,0}}, +/* 65192 */ {(16<<2)|2,{40,108,0}}, +/* 65193 */ {(16<<2)|2,{40,109,0}}, +/* 65194 */ {(16<<2)|2,{40,110,0}}, +/* 65195 */ {(16<<2)|2,{40,112,0}}, +/* 65196 */ {(16<<2)|2,{40,114,0}}, +/* 65197 */ {(16<<2)|2,{40,117,0}}, +/* 65198 */ {(10<<2)|1,{40,0,0}}, +/* 65199 */ {(10<<2)|1,{40,0,0}}, +/* 65200 */ {(10<<2)|1,{40,0,0}}, +/* 65201 */ {(10<<2)|1,{40,0,0}}, +/* 65202 */ {(10<<2)|1,{40,0,0}}, +/* 65203 */ {(10<<2)|1,{40,0,0}}, +/* 65204 */ {(10<<2)|1,{40,0,0}}, +/* 65205 */ {(10<<2)|1,{40,0,0}}, +/* 65206 */ {(10<<2)|1,{40,0,0}}, +/* 65207 */ {(10<<2)|1,{40,0,0}}, +/* 65208 */ {(10<<2)|1,{40,0,0}}, +/* 65209 */ {(10<<2)|1,{40,0,0}}, +/* 65210 */ {(10<<2)|1,{40,0,0}}, +/* 65211 */ {(10<<2)|1,{40,0,0}}, +/* 65212 */ {(10<<2)|1,{40,0,0}}, +/* 65213 */ {(10<<2)|1,{40,0,0}}, +/* 65214 */ {(10<<2)|1,{40,0,0}}, +/* 65215 */ {(10<<2)|1,{40,0,0}}, +/* 65216 */ {(15<<2)|2,{41,48,0}}, +/* 65217 */ {(15<<2)|2,{41,48,0}}, +/* 65218 */ {(15<<2)|2,{41,49,0}}, +/* 65219 */ {(15<<2)|2,{41,49,0}}, +/* 65220 */ {(15<<2)|2,{41,50,0}}, +/* 65221 */ {(15<<2)|2,{41,50,0}}, +/* 65222 */ {(15<<2)|2,{41,97,0}}, +/* 65223 */ {(15<<2)|2,{41,97,0}}, +/* 65224 */ {(15<<2)|2,{41,99,0}}, +/* 65225 */ {(15<<2)|2,{41,99,0}}, +/* 65226 */ {(15<<2)|2,{41,101,0}}, +/* 65227 */ {(15<<2)|2,{41,101,0}}, +/* 65228 */ {(15<<2)|2,{41,105,0}}, +/* 65229 */ {(15<<2)|2,{41,105,0}}, +/* 65230 */ {(15<<2)|2,{41,111,0}}, +/* 65231 */ {(15<<2)|2,{41,111,0}}, +/* 65232 */ {(15<<2)|2,{41,115,0}}, +/* 65233 */ {(15<<2)|2,{41,115,0}}, +/* 65234 */ {(15<<2)|2,{41,116,0}}, +/* 65235 */ {(15<<2)|2,{41,116,0}}, +/* 65236 */ {(16<<2)|2,{41,32,0}}, +/* 65237 */ {(16<<2)|2,{41,37,0}}, +/* 65238 */ {(16<<2)|2,{41,45,0}}, +/* 65239 */ {(16<<2)|2,{41,46,0}}, +/* 65240 */ {(16<<2)|2,{41,47,0}}, +/* 65241 */ {(16<<2)|2,{41,51,0}}, +/* 65242 */ {(16<<2)|2,{41,52,0}}, +/* 65243 */ {(16<<2)|2,{41,53,0}}, +/* 65244 */ {(16<<2)|2,{41,54,0}}, +/* 65245 */ {(16<<2)|2,{41,55,0}}, +/* 65246 */ {(16<<2)|2,{41,56,0}}, +/* 65247 */ {(16<<2)|2,{41,57,0}}, +/* 65248 */ {(16<<2)|2,{41,61,0}}, +/* 65249 */ {(16<<2)|2,{41,65,0}}, +/* 65250 */ {(16<<2)|2,{41,95,0}}, +/* 65251 */ {(16<<2)|2,{41,98,0}}, +/* 65252 */ {(16<<2)|2,{41,100,0}}, +/* 65253 */ {(16<<2)|2,{41,102,0}}, +/* 65254 */ {(16<<2)|2,{41,103,0}}, +/* 65255 */ {(16<<2)|2,{41,104,0}}, +/* 65256 */ {(16<<2)|2,{41,108,0}}, +/* 65257 */ {(16<<2)|2,{41,109,0}}, +/* 65258 */ {(16<<2)|2,{41,110,0}}, +/* 65259 */ {(16<<2)|2,{41,112,0}}, +/* 65260 */ {(16<<2)|2,{41,114,0}}, +/* 65261 */ {(16<<2)|2,{41,117,0}}, +/* 65262 */ {(10<<2)|1,{41,0,0}}, +/* 65263 */ {(10<<2)|1,{41,0,0}}, +/* 65264 */ {(10<<2)|1,{41,0,0}}, +/* 65265 */ {(10<<2)|1,{41,0,0}}, +/* 65266 */ {(10<<2)|1,{41,0,0}}, +/* 65267 */ {(10<<2)|1,{41,0,0}}, +/* 65268 */ {(10<<2)|1,{41,0,0}}, +/* 65269 */ {(10<<2)|1,{41,0,0}}, +/* 65270 */ {(10<<2)|1,{41,0,0}}, +/* 65271 */ {(10<<2)|1,{41,0,0}}, +/* 65272 */ {(10<<2)|1,{41,0,0}}, +/* 65273 */ {(10<<2)|1,{41,0,0}}, +/* 65274 */ {(10<<2)|1,{41,0,0}}, +/* 65275 */ {(10<<2)|1,{41,0,0}}, +/* 65276 */ {(10<<2)|1,{41,0,0}}, +/* 65277 */ {(10<<2)|1,{41,0,0}}, +/* 65278 */ {(10<<2)|1,{41,0,0}}, +/* 65279 */ {(10<<2)|1,{41,0,0}}, +/* 65280 */ {(15<<2)|2,{63,48,0}}, +/* 65281 */ {(15<<2)|2,{63,48,0}}, +/* 65282 */ {(15<<2)|2,{63,49,0}}, +/* 65283 */ {(15<<2)|2,{63,49,0}}, +/* 65284 */ {(15<<2)|2,{63,50,0}}, +/* 65285 */ {(15<<2)|2,{63,50,0}}, +/* 65286 */ {(15<<2)|2,{63,97,0}}, +/* 65287 */ {(15<<2)|2,{63,97,0}}, +/* 65288 */ {(15<<2)|2,{63,99,0}}, +/* 65289 */ {(15<<2)|2,{63,99,0}}, +/* 65290 */ {(15<<2)|2,{63,101,0}}, +/* 65291 */ {(15<<2)|2,{63,101,0}}, +/* 65292 */ {(15<<2)|2,{63,105,0}}, +/* 65293 */ {(15<<2)|2,{63,105,0}}, +/* 65294 */ {(15<<2)|2,{63,111,0}}, +/* 65295 */ {(15<<2)|2,{63,111,0}}, +/* 65296 */ {(15<<2)|2,{63,115,0}}, +/* 65297 */ {(15<<2)|2,{63,115,0}}, +/* 65298 */ {(15<<2)|2,{63,116,0}}, +/* 65299 */ {(15<<2)|2,{63,116,0}}, +/* 65300 */ {(16<<2)|2,{63,32,0}}, +/* 65301 */ {(16<<2)|2,{63,37,0}}, +/* 65302 */ {(16<<2)|2,{63,45,0}}, +/* 65303 */ {(16<<2)|2,{63,46,0}}, +/* 65304 */ {(16<<2)|2,{63,47,0}}, +/* 65305 */ {(16<<2)|2,{63,51,0}}, +/* 65306 */ {(16<<2)|2,{63,52,0}}, +/* 65307 */ {(16<<2)|2,{63,53,0}}, +/* 65308 */ {(16<<2)|2,{63,54,0}}, +/* 65309 */ {(16<<2)|2,{63,55,0}}, +/* 65310 */ {(16<<2)|2,{63,56,0}}, +/* 65311 */ {(16<<2)|2,{63,57,0}}, +/* 65312 */ {(16<<2)|2,{63,61,0}}, +/* 65313 */ {(16<<2)|2,{63,65,0}}, +/* 65314 */ {(16<<2)|2,{63,95,0}}, +/* 65315 */ {(16<<2)|2,{63,98,0}}, +/* 65316 */ {(16<<2)|2,{63,100,0}}, +/* 65317 */ {(16<<2)|2,{63,102,0}}, +/* 65318 */ {(16<<2)|2,{63,103,0}}, +/* 65319 */ {(16<<2)|2,{63,104,0}}, +/* 65320 */ {(16<<2)|2,{63,108,0}}, +/* 65321 */ {(16<<2)|2,{63,109,0}}, +/* 65322 */ {(16<<2)|2,{63,110,0}}, +/* 65323 */ {(16<<2)|2,{63,112,0}}, +/* 65324 */ {(16<<2)|2,{63,114,0}}, +/* 65325 */ {(16<<2)|2,{63,117,0}}, +/* 65326 */ {(10<<2)|1,{63,0,0}}, +/* 65327 */ {(10<<2)|1,{63,0,0}}, +/* 65328 */ {(10<<2)|1,{63,0,0}}, +/* 65329 */ {(10<<2)|1,{63,0,0}}, +/* 65330 */ {(10<<2)|1,{63,0,0}}, +/* 65331 */ {(10<<2)|1,{63,0,0}}, +/* 65332 */ {(10<<2)|1,{63,0,0}}, +/* 65333 */ {(10<<2)|1,{63,0,0}}, +/* 65334 */ {(10<<2)|1,{63,0,0}}, +/* 65335 */ {(10<<2)|1,{63,0,0}}, +/* 65336 */ {(10<<2)|1,{63,0,0}}, +/* 65337 */ {(10<<2)|1,{63,0,0}}, +/* 65338 */ {(10<<2)|1,{63,0,0}}, +/* 65339 */ {(10<<2)|1,{63,0,0}}, +/* 65340 */ {(10<<2)|1,{63,0,0}}, +/* 65341 */ {(10<<2)|1,{63,0,0}}, +/* 65342 */ {(10<<2)|1,{63,0,0}}, +/* 65343 */ {(10<<2)|1,{63,0,0}}, +/* 65344 */ {(16<<2)|2,{39,48,0}}, +/* 65345 */ {(16<<2)|2,{39,49,0}}, +/* 65346 */ {(16<<2)|2,{39,50,0}}, +/* 65347 */ {(16<<2)|2,{39,97,0}}, +/* 65348 */ {(16<<2)|2,{39,99,0}}, +/* 65349 */ {(16<<2)|2,{39,101,0}}, +/* 65350 */ {(16<<2)|2,{39,105,0}}, +/* 65351 */ {(16<<2)|2,{39,111,0}}, +/* 65352 */ {(16<<2)|2,{39,115,0}}, +/* 65353 */ {(16<<2)|2,{39,116,0}}, +/* 65354 */ {(11<<2)|1,{39,0,0}}, +/* 65355 */ {(11<<2)|1,{39,0,0}}, +/* 65356 */ {(11<<2)|1,{39,0,0}}, +/* 65357 */ {(11<<2)|1,{39,0,0}}, +/* 65358 */ {(11<<2)|1,{39,0,0}}, +/* 65359 */ {(11<<2)|1,{39,0,0}}, +/* 65360 */ {(11<<2)|1,{39,0,0}}, +/* 65361 */ {(11<<2)|1,{39,0,0}}, +/* 65362 */ {(11<<2)|1,{39,0,0}}, +/* 65363 */ {(11<<2)|1,{39,0,0}}, +/* 65364 */ {(11<<2)|1,{39,0,0}}, +/* 65365 */ {(11<<2)|1,{39,0,0}}, +/* 65366 */ {(11<<2)|1,{39,0,0}}, +/* 65367 */ {(11<<2)|1,{39,0,0}}, +/* 65368 */ {(11<<2)|1,{39,0,0}}, +/* 65369 */ {(11<<2)|1,{39,0,0}}, +/* 65370 */ {(11<<2)|1,{39,0,0}}, +/* 65371 */ {(11<<2)|1,{39,0,0}}, +/* 65372 */ {(11<<2)|1,{39,0,0}}, +/* 65373 */ {(11<<2)|1,{39,0,0}}, +/* 65374 */ {(11<<2)|1,{39,0,0}}, +/* 65375 */ {(11<<2)|1,{39,0,0}}, +/* 65376 */ {(16<<2)|2,{43,48,0}}, +/* 65377 */ {(16<<2)|2,{43,49,0}}, +/* 65378 */ {(16<<2)|2,{43,50,0}}, +/* 65379 */ {(16<<2)|2,{43,97,0}}, +/* 65380 */ {(16<<2)|2,{43,99,0}}, +/* 65381 */ {(16<<2)|2,{43,101,0}}, +/* 65382 */ {(16<<2)|2,{43,105,0}}, +/* 65383 */ {(16<<2)|2,{43,111,0}}, +/* 65384 */ {(16<<2)|2,{43,115,0}}, +/* 65385 */ {(16<<2)|2,{43,116,0}}, +/* 65386 */ {(11<<2)|1,{43,0,0}}, +/* 65387 */ {(11<<2)|1,{43,0,0}}, +/* 65388 */ {(11<<2)|1,{43,0,0}}, +/* 65389 */ {(11<<2)|1,{43,0,0}}, +/* 65390 */ {(11<<2)|1,{43,0,0}}, +/* 65391 */ {(11<<2)|1,{43,0,0}}, +/* 65392 */ {(11<<2)|1,{43,0,0}}, +/* 65393 */ {(11<<2)|1,{43,0,0}}, +/* 65394 */ {(11<<2)|1,{43,0,0}}, +/* 65395 */ {(11<<2)|1,{43,0,0}}, +/* 65396 */ {(11<<2)|1,{43,0,0}}, +/* 65397 */ {(11<<2)|1,{43,0,0}}, +/* 65398 */ {(11<<2)|1,{43,0,0}}, +/* 65399 */ {(11<<2)|1,{43,0,0}}, +/* 65400 */ {(11<<2)|1,{43,0,0}}, +/* 65401 */ {(11<<2)|1,{43,0,0}}, +/* 65402 */ {(11<<2)|1,{43,0,0}}, +/* 65403 */ {(11<<2)|1,{43,0,0}}, +/* 65404 */ {(11<<2)|1,{43,0,0}}, +/* 65405 */ {(11<<2)|1,{43,0,0}}, +/* 65406 */ {(11<<2)|1,{43,0,0}}, +/* 65407 */ {(11<<2)|1,{43,0,0}}, +/* 65408 */ {(16<<2)|2,{124,48,0}}, +/* 65409 */ {(16<<2)|2,{124,49,0}}, +/* 65410 */ {(16<<2)|2,{124,50,0}}, +/* 65411 */ {(16<<2)|2,{124,97,0}}, +/* 65412 */ {(16<<2)|2,{124,99,0}}, +/* 65413 */ {(16<<2)|2,{124,101,0}}, +/* 65414 */ {(16<<2)|2,{124,105,0}}, +/* 65415 */ {(16<<2)|2,{124,111,0}}, +/* 65416 */ {(16<<2)|2,{124,115,0}}, +/* 65417 */ {(16<<2)|2,{124,116,0}}, +/* 65418 */ {(11<<2)|1,{124,0,0}}, +/* 65419 */ {(11<<2)|1,{124,0,0}}, +/* 65420 */ {(11<<2)|1,{124,0,0}}, +/* 65421 */ {(11<<2)|1,{124,0,0}}, +/* 65422 */ {(11<<2)|1,{124,0,0}}, +/* 65423 */ {(11<<2)|1,{124,0,0}}, +/* 65424 */ {(11<<2)|1,{124,0,0}}, +/* 65425 */ {(11<<2)|1,{124,0,0}}, +/* 65426 */ {(11<<2)|1,{124,0,0}}, +/* 65427 */ {(11<<2)|1,{124,0,0}}, +/* 65428 */ {(11<<2)|1,{124,0,0}}, +/* 65429 */ {(11<<2)|1,{124,0,0}}, +/* 65430 */ {(11<<2)|1,{124,0,0}}, +/* 65431 */ {(11<<2)|1,{124,0,0}}, +/* 65432 */ {(11<<2)|1,{124,0,0}}, +/* 65433 */ {(11<<2)|1,{124,0,0}}, +/* 65434 */ {(11<<2)|1,{124,0,0}}, +/* 65435 */ {(11<<2)|1,{124,0,0}}, +/* 65436 */ {(11<<2)|1,{124,0,0}}, +/* 65437 */ {(11<<2)|1,{124,0,0}}, +/* 65438 */ {(11<<2)|1,{124,0,0}}, +/* 65439 */ {(11<<2)|1,{124,0,0}}, +/* 65440 */ {(12<<2)|1,{35,0,0}}, +/* 65441 */ {(12<<2)|1,{35,0,0}}, +/* 65442 */ {(12<<2)|1,{35,0,0}}, +/* 65443 */ {(12<<2)|1,{35,0,0}}, +/* 65444 */ {(12<<2)|1,{35,0,0}}, +/* 65445 */ {(12<<2)|1,{35,0,0}}, +/* 65446 */ {(12<<2)|1,{35,0,0}}, +/* 65447 */ {(12<<2)|1,{35,0,0}}, +/* 65448 */ {(12<<2)|1,{35,0,0}}, +/* 65449 */ {(12<<2)|1,{35,0,0}}, +/* 65450 */ {(12<<2)|1,{35,0,0}}, +/* 65451 */ {(12<<2)|1,{35,0,0}}, +/* 65452 */ {(12<<2)|1,{35,0,0}}, +/* 65453 */ {(12<<2)|1,{35,0,0}}, +/* 65454 */ {(12<<2)|1,{35,0,0}}, +/* 65455 */ {(12<<2)|1,{35,0,0}}, +/* 65456 */ {(12<<2)|1,{62,0,0}}, +/* 65457 */ {(12<<2)|1,{62,0,0}}, +/* 65458 */ {(12<<2)|1,{62,0,0}}, +/* 65459 */ {(12<<2)|1,{62,0,0}}, +/* 65460 */ {(12<<2)|1,{62,0,0}}, +/* 65461 */ {(12<<2)|1,{62,0,0}}, +/* 65462 */ {(12<<2)|1,{62,0,0}}, +/* 65463 */ {(12<<2)|1,{62,0,0}}, +/* 65464 */ {(12<<2)|1,{62,0,0}}, +/* 65465 */ {(12<<2)|1,{62,0,0}}, +/* 65466 */ {(12<<2)|1,{62,0,0}}, +/* 65467 */ {(12<<2)|1,{62,0,0}}, +/* 65468 */ {(12<<2)|1,{62,0,0}}, +/* 65469 */ {(12<<2)|1,{62,0,0}}, +/* 65470 */ {(12<<2)|1,{62,0,0}}, +/* 65471 */ {(12<<2)|1,{62,0,0}}, +/* 65472 */ {(13<<2)|1,{0,0,0}}, +/* 65473 */ {(13<<2)|1,{0,0,0}}, +/* 65474 */ {(13<<2)|1,{0,0,0}}, +/* 65475 */ {(13<<2)|1,{0,0,0}}, +/* 65476 */ {(13<<2)|1,{0,0,0}}, +/* 65477 */ {(13<<2)|1,{0,0,0}}, +/* 65478 */ {(13<<2)|1,{0,0,0}}, +/* 65479 */ {(13<<2)|1,{0,0,0}}, +/* 65480 */ {(13<<2)|1,{36,0,0}}, +/* 65481 */ {(13<<2)|1,{36,0,0}}, +/* 65482 */ {(13<<2)|1,{36,0,0}}, +/* 65483 */ {(13<<2)|1,{36,0,0}}, +/* 65484 */ {(13<<2)|1,{36,0,0}}, +/* 65485 */ {(13<<2)|1,{36,0,0}}, +/* 65486 */ {(13<<2)|1,{36,0,0}}, +/* 65487 */ {(13<<2)|1,{36,0,0}}, +/* 65488 */ {(13<<2)|1,{64,0,0}}, +/* 65489 */ {(13<<2)|1,{64,0,0}}, +/* 65490 */ {(13<<2)|1,{64,0,0}}, +/* 65491 */ {(13<<2)|1,{64,0,0}}, +/* 65492 */ {(13<<2)|1,{64,0,0}}, +/* 65493 */ {(13<<2)|1,{64,0,0}}, +/* 65494 */ {(13<<2)|1,{64,0,0}}, +/* 65495 */ {(13<<2)|1,{64,0,0}}, +/* 65496 */ {(13<<2)|1,{91,0,0}}, +/* 65497 */ {(13<<2)|1,{91,0,0}}, +/* 65498 */ {(13<<2)|1,{91,0,0}}, +/* 65499 */ {(13<<2)|1,{91,0,0}}, +/* 65500 */ {(13<<2)|1,{91,0,0}}, +/* 65501 */ {(13<<2)|1,{91,0,0}}, +/* 65502 */ {(13<<2)|1,{91,0,0}}, +/* 65503 */ {(13<<2)|1,{91,0,0}}, +/* 65504 */ {(13<<2)|1,{93,0,0}}, +/* 65505 */ {(13<<2)|1,{93,0,0}}, +/* 65506 */ {(13<<2)|1,{93,0,0}}, +/* 65507 */ {(13<<2)|1,{93,0,0}}, +/* 65508 */ {(13<<2)|1,{93,0,0}}, +/* 65509 */ {(13<<2)|1,{93,0,0}}, +/* 65510 */ {(13<<2)|1,{93,0,0}}, +/* 65511 */ {(13<<2)|1,{93,0,0}}, +/* 65512 */ {(13<<2)|1,{126,0,0}}, +/* 65513 */ {(13<<2)|1,{126,0,0}}, +/* 65514 */ {(13<<2)|1,{126,0,0}}, +/* 65515 */ {(13<<2)|1,{126,0,0}}, +/* 65516 */ {(13<<2)|1,{126,0,0}}, +/* 65517 */ {(13<<2)|1,{126,0,0}}, +/* 65518 */ {(13<<2)|1,{126,0,0}}, +/* 65519 */ {(13<<2)|1,{126,0,0}}, +/* 65520 */ {(14<<2)|1,{94,0,0}}, +/* 65521 */ {(14<<2)|1,{94,0,0}}, +/* 65522 */ {(14<<2)|1,{94,0,0}}, +/* 65523 */ {(14<<2)|1,{94,0,0}}, +/* 65524 */ {(14<<2)|1,{125,0,0}}, +/* 65525 */ {(14<<2)|1,{125,0,0}}, +/* 65526 */ {(14<<2)|1,{125,0,0}}, +/* 65527 */ {(14<<2)|1,{125,0,0}}, +/* 65528 */ {(15<<2)|1,{60,0,0}}, +/* 65529 */ {(15<<2)|1,{60,0,0}}, +/* 65530 */ {(15<<2)|1,{96,0,0}}, +/* 65531 */ {(15<<2)|1,{96,0,0}}, +/* 65532 */ {(15<<2)|1,{123,0,0}}, +/* 65533 */ {(15<<2)|1,{123,0,0}}, +/* 65534 */ {0,{0,0,0,}}, +/* 65535 */ {0,{0,0,0,}}, +}; +#endif diff --git a/external/lsquic/src/lshpack/lshpack.c b/external/lsquic/src/lshpack/lshpack.c new file mode 100644 index 0000000..65223d1 --- /dev/null +++ b/external/lsquic/src/lshpack/lshpack.c @@ -0,0 +1,2073 @@ +/* +MIT License + +Copyright (c) 2018 - 2023 LiteSpeed Technologies Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include +#include +#include +#include +#include +#include + +#include "lshpack.h" +#if LS_HPACK_EMIT_TEST_CODE +#include "lshpack-test.h" +#endif +#include XXH_HEADER_NAME + +#ifdef _MSC_VER +# define FALL_THROUGH +#endif + +#ifndef FALL_THROUGH +# if defined __has_attribute && __has_attribute (fallthrough) +# define FALL_THROUGH __attribute__ ((fallthrough)) +# else +# define FALL_THROUGH +# endif +#endif + +#ifndef LS_HPACK_USE_LARGE_TABLES +#define LS_HPACK_USE_LARGE_TABLES 1 +#endif + +#include "huff-tables.h" + +#define HPACK_STATIC_TABLE_SIZE 61 +#define INITIAL_DYNAMIC_TABLE_SIZE 4096 + +/* RFC 7541, Section 4.1: + * + * " The size of the dynamic table is the sum of the size of its entries. + * " + * " The size of an entry is the sum of its name's length in octets (as + * " defined in Section 5.2), its value's length in octets, and 32. + */ +#define DYNAMIC_ENTRY_OVERHEAD 32 + +#define NAME_VAL(a, b) sizeof(a) - 1, sizeof(b) - 1, (a), (b) + +static const struct +{ + unsigned name_len; + unsigned val_len; + const char *name; + const char *val; +} +static_table[HPACK_STATIC_TABLE_SIZE] = +{ + { NAME_VAL(":authority", "") }, + { NAME_VAL(":method", "GET") }, + { NAME_VAL(":method", "POST") }, + { NAME_VAL(":path", "/") }, + { NAME_VAL(":path", "/index.html") }, + { NAME_VAL(":scheme", "http") }, + { NAME_VAL(":scheme", "https") }, + { NAME_VAL(":status", "200") }, + { NAME_VAL(":status", "204") }, + { NAME_VAL(":status", "206") }, + { NAME_VAL(":status", "304") }, + { NAME_VAL(":status", "400") }, + { NAME_VAL(":status", "404") }, + { NAME_VAL(":status", "500") }, + { NAME_VAL("accept-charset", "") }, + { NAME_VAL("accept-encoding", "gzip, deflate") }, + { NAME_VAL("accept-language", "") }, + { NAME_VAL("accept-ranges", "") }, + { NAME_VAL("accept", "") }, + { NAME_VAL("access-control-allow-origin", "") }, + { NAME_VAL("age", "") }, + { NAME_VAL("allow", "") }, + { NAME_VAL("authorization", "") }, + { NAME_VAL("cache-control", "") }, + { NAME_VAL("content-disposition", "") }, + { NAME_VAL("content-encoding", "") }, + { NAME_VAL("content-language", "") }, + { NAME_VAL("content-length", "") }, + { NAME_VAL("content-location", "") }, + { NAME_VAL("content-range", "") }, + { NAME_VAL("content-type", "") }, + { NAME_VAL("cookie", "") }, + { NAME_VAL("date", "") }, + { NAME_VAL("etag", "") }, + { NAME_VAL("expect", "") }, + { NAME_VAL("expires", "") }, + { NAME_VAL("from", "") }, + { NAME_VAL("host", "") }, + { NAME_VAL("if-match", "") }, + { NAME_VAL("if-modified-since", "") }, + { NAME_VAL("if-none-match", "") }, + { NAME_VAL("if-range", "") }, + { NAME_VAL("if-unmodified-since", "") }, + { NAME_VAL("last-modified", "") }, + { NAME_VAL("link", "") }, + { NAME_VAL("location", "") }, + { NAME_VAL("max-forwards", "") }, + { NAME_VAL("proxy-authenticate", "") }, + { NAME_VAL("proxy-authorization", "") }, + { NAME_VAL("range", "") }, + { NAME_VAL("referer", "") }, + { NAME_VAL("refresh", "") }, + { NAME_VAL("retry-after", "") }, + { NAME_VAL("server", "") }, + { NAME_VAL("set-cookie", "") }, + { NAME_VAL("strict-transport-security", "") }, + { NAME_VAL("transfer-encoding", "") }, + { NAME_VAL("user-agent", "") }, + { NAME_VAL("vary", "") }, + { NAME_VAL("via", "") }, + { NAME_VAL("www-authenticate", "") } +}; + + +static const uint32_t static_table_name_hash[HPACK_STATIC_TABLE_SIZE] = +{ + 0x653A915Bu, 0xC7742BE4u, 0xC7742BE4u, 0x3513518Du, 0x3513518Du, + 0xF49F1451u, 0xF49F1451u, 0x672BDA53u, 0x672BDA53u, 0x672BDA53u, + 0x672BDA53u, 0x672BDA53u, 0x672BDA53u, 0x672BDA53u, 0xCD2C0296u, + 0xF93AD8A9u, 0x98BD32D3u, 0x1DC691C8u, 0x1AB214F8u, 0x7D3B7A3Bu, + 0xBEC8E440u, 0xE9C1D9E1u, 0x19D88141u, 0xC25511F2u, 0x16020A90u, + 0x48011191u, 0x7D9AAB7Eu, 0x48F5CC19u, 0x8847A08Cu, 0x0D19F766u, + 0x085EF7C5u, 0x0B486ED8u, 0x1A7AA369u, 0x6DE855BAu, 0xA6006EFDu, + 0xA1BB4284u, 0xAE56E25Fu, 0xB6787110u, 0x791C6A0Du, 0xF2BADABEu, + 0xD8CA2594u, 0xFBA64C54u, 0x4BEB0951u, 0x6B86C0B5u, 0xC62FECD2u, + 0x8DA64A26u, 0x6CA35045u, 0xF614D165u, 0xE4D1DF14u, 0xB396750Au, + 0x01F10233u, 0x798BEE18u, 0x5239F142u, 0x82E1B4E1u, 0x8F7E493Eu, + 0x85E74C58u, 0xBD17F160u, 0x34C0456Au, 0x1A04DF3Du, 0xB1B15AB2u, + 0xDDDAB6FFu, +}; + + +static const uint32_t static_table_nameval_hash[HPACK_STATIC_TABLE_SIZE] = +{ + 0xF8614896u, 0x25D95A15u, 0x33968BB7u, 0xC8C267F6u, 0x8351136Fu, + 0x98573F68u, 0x16DDE443u, 0x352A6556u, 0xD4F462D2u, 0x125E66E0u, + 0xD7988BC9u, 0x4C3C90DEu, 0x65E6ECA1u, 0xB05B7B87u, 0x96816317u, + 0x8BBF5398u, 0x97E01849u, 0xD7B48DD4u, 0x9C180569u, 0xC7C63B45u, + 0xF4223EE5u, 0x12C8A744u, 0xAA95A0BCu, 0x14F65730u, 0x8410A906u, + 0x98F440DDu, 0x627E4803u, 0x5A5CC325u, 0x137FC223u, 0x1529262Fu, + 0x7950B9BDu, 0x51D448A4u, 0x52C167CFu, 0xFB22AA54u, 0x540DB9FEu, + 0x75A6C685u, 0xE1C54196u, 0xDC0C3733u, 0x6D78CB84u, 0x4F5272CDu, + 0x9D4170E4u, 0xD4E28BA1u, 0x028C7846u, 0x4E8C1DC3u, 0x684BDDBCu, + 0xE113A2B0u, 0x55F7BBD1u, 0x15BD3710u, 0xE82B715Du, 0x3674BC1Fu, + 0x5010D24Bu, 0x953DE1CBu, 0x9F2C92D9u, 0xB2DE5570u, 0xBCA5998Fu, + 0x0FF5B88Eu, 0x1FED156Bu, 0xDC83E7ECu, 0x07B79E35u, 0xA6D145A9u, + 0x43638CBAu, +}; + + +#define lshpack_arr_init(a) do { \ + memset((a), 0, sizeof(*(a))); \ +} while (0) + +#define lshpack_arr_cleanup(a) do { \ + free((a)->els); \ + memset((a), 0, sizeof(*(a))); \ +} while (0) + +#define lshpack_arr_get(a, i) ( \ + assert((i) < (a)->nelem), \ + (a)->els[(a)->off + (i)] \ +) + +#define lshpack_arr_shift(a) ( \ + assert((a)->nelem > 0), \ + (a)->nelem -= 1, \ + (a)->els[(a)->off++] \ +) + +#define lshpack_arr_pop(a) ( \ + assert((a)->nelem > 0), \ + (a)->nelem -= 1, \ + (a)->els[(a)->off + (a)->nelem] \ +) + +#define lshpack_arr_count(a) (+(a)->nelem) + +static int +lshpack_arr_push (struct lshpack_arr *arr, uintptr_t val) +{ + uintptr_t *new_els; + unsigned n; + + if (arr->off + arr->nelem < arr->nalloc) + { + arr->els[arr->off + arr->nelem] = val; + ++arr->nelem; + return 0; + } + + if (arr->off > arr->nalloc / 2) + { + memmove(arr->els, arr->els + arr->off, + sizeof(arr->els[0]) * arr->nelem); + arr->off = 0; + arr->els[arr->nelem] = val; + ++arr->nelem; + return 0; + } + + if (arr->nalloc) + n = arr->nalloc * 2; + else + n = 64; + new_els = malloc(n * sizeof(arr->els[0])); + if (!new_els) + return -1; + memcpy(new_els, arr->els + arr->off, sizeof(arr->els[0]) * arr->nelem); + free(arr->els); + arr->off = 0; + arr->els = new_els; + arr->nalloc = n; + arr->els[arr->off + arr->nelem] = val; + ++arr->nelem; + return 0; +} + +struct lshpack_double_enc_head +{ + struct lshpack_enc_head by_name; + struct lshpack_enc_head by_nameval; +}; + +struct lshpack_enc_table_entry +{ + /* An entry always lives on the `all' and `nameval' lists. If its name + * is not in the static table, it also lives on the `name' list. + */ + STAILQ_ENTRY(lshpack_enc_table_entry) + ete_next_nameval, + ete_next_name, + ete_next_all; + unsigned ete_id; + unsigned ete_nameval_hash; + unsigned ete_name_hash; + unsigned ete_name_len; + unsigned ete_val_len; + char ete_buf[]; +}; + +#define ETE_NAME(ete) ((ete)->ete_buf) +#define ETE_VALUE(ete) (&(ete)->ete_buf[(ete)->ete_name_len]) + + +#define N_BUCKETS(n_bits) (1U << (n_bits)) +#define BUCKNO(n_bits, hash) ((hash) & (N_BUCKETS(n_bits) - 1)) + + +/* We estimate average number of entries in the dynamic table to be 1/3 + * of the theoretical maximum. This number is used to size the history + * buffer: we want it large enough to cover recent entries, yet not too + * large to cover entries that appear with a period larger than the + * dynamic table. + */ +static unsigned +henc_hist_size (unsigned max_capacity) +{ + return max_capacity / DYNAMIC_ENTRY_OVERHEAD / 3; +} + + +int +lshpack_enc_init (struct lshpack_enc *enc) +{ + struct lshpack_double_enc_head *buckets; + unsigned nbits = 2; + unsigned i; + + buckets = malloc(sizeof(buckets[0]) * N_BUCKETS(nbits)); + if (!buckets) + return -1; + + for (i = 0; i < N_BUCKETS(nbits); ++i) + { + STAILQ_INIT(&buckets[i].by_name); + STAILQ_INIT(&buckets[i].by_nameval); + } + + memset(enc, 0, sizeof(*enc)); + STAILQ_INIT(&enc->hpe_all_entries); + enc->hpe_max_capacity = INITIAL_DYNAMIC_TABLE_SIZE; + enc->hpe_buckets = buckets; + /* The initial value of the entry ID is completely arbitrary. As long as + * there are fewer than 2^32 dynamic table entries, the math to calculate + * the entry ID works. To prove to ourselves that the wraparound works + * and to have the unit tests cover it, we initialize the next ID so that + * it is just about to wrap around. + */ + enc->hpe_next_id = ~0 - 3; + enc->hpe_nbits = nbits; + enc->hpe_nelem = 0; + return 0; +} + + +void +lshpack_enc_cleanup (struct lshpack_enc *enc) +{ + struct lshpack_enc_table_entry *entry, *next; + for (entry = STAILQ_FIRST(&enc->hpe_all_entries); entry; entry = next) + { + next = STAILQ_NEXT(entry, ete_next_all); + free(entry); + } + free(enc->hpe_hist_buf); + free(enc->hpe_buckets); +} + + +static int +henc_use_hist (struct lshpack_enc *enc) +{ + unsigned hist_size; + + if (enc->hpe_hist_buf) + return 0; + + hist_size = henc_hist_size(INITIAL_DYNAMIC_TABLE_SIZE); + if (!hist_size) + return 0; + + enc->hpe_hist_buf = malloc(sizeof(enc->hpe_hist_buf[0]) * (hist_size + 1)); + if (!enc->hpe_hist_buf) + return -1; + + enc->hpe_hist_size = hist_size; + enc->hpe_flags |= LSHPACK_ENC_USE_HIST; + return 0; +} + + +int +lshpack_enc_use_hist (struct lshpack_enc *enc, int on) +{ + if (on) + return henc_use_hist(enc); + else + { + enc->hpe_flags &= ~LSHPACK_ENC_USE_HIST; + free(enc->hpe_hist_buf); + enc->hpe_hist_buf = NULL; + enc->hpe_hist_size = 0; + enc->hpe_hist_idx = 0; + enc->hpe_hist_wrapped = 0; + return 0; + } +} + + +int +lshpack_enc_hist_used (const struct lshpack_enc *enc) +{ + return (enc->hpe_flags & LSHPACK_ENC_USE_HIST) != 0; +} + + +#define LSHPACK_XXH_SEED 39378473 +#define XXH_NAMEVAL_WIDTH 9 +#define XXH_NAMEVAL_SHIFT 0 +#define XXH_NAME_WIDTH 9 +#define XXH_NAME_SHIFT 0 + +static const unsigned char nameval2id[ 1 << XXH_NAMEVAL_WIDTH ] = +{ + [150] = 1, [21] = 2, [439] = 3, [502] = 4, [367] = 5, + [360] = 6, [67] = 7, [342] = 8, [210] = 9, [224] = 10, + [457] = 11, [222] = 12, [161] = 13, [391] = 14, [279] = 15, + [408] = 16, [73] = 17, [468] = 18, [361] = 19, [325] = 20, + [229] = 21, [324] = 22, [188] = 23, [304] = 24, [262] = 25, + [221] = 26, [3] = 27, [293] = 28, [35] = 29, [47] = 30, + [445] = 31, [164] = 32, [463] = 33, [84] = 34, [510] = 35, + [133] = 36, [406] = 37, [307] = 38, [388] = 39, [205] = 40, + [228] = 41, [417] = 42, [70] = 43, [451] = 44, [444] = 45, + [176] = 46, [465] = 47, [272] = 48, [349] = 49, [31] = 50, + [75] = 51, [459] = 52, [217] = 53, [368] = 54, [399] = 55, + [142] = 56, [363] = 57, [492] = 58, [53] = 59, [425] = 60, + [186] = 61, +}; + +static const unsigned char name2id[ 1 << XXH_NAME_WIDTH ] = +{ + [347] = 1, [484] = 2, [397] = 4, [81] = 6, [83] = 8, + [150] = 15, [169] = 16, [211] = 17, [456] = 18, [248] = 19, + [59] = 20, [64] = 21, [481] = 22, [321] = 23, [498] = 24, + [144] = 25, [401] = 26, [382] = 27, [25] = 28, [140] = 29, + [358] = 30, [453] = 31, [216] = 32, [361] = 33, [442] = 34, + [253] = 35, [132] = 36, [95] = 37, [272] = 38, [13] = 39, + [190] = 40, [404] = 41, [84] = 42, [337] = 43, [181] = 44, + [210] = 45, [38] = 46, [69] = 47, [357] = 48, [276] = 49, + [266] = 50, [51] = 51, [24] = 52, [322] = 53, [225] = 54, + [318] = 55, [88] = 56, [352] = 57, [362] = 58, [317] = 59, + [178] = 60, [255] = 61, +}; + +//not find return 0, otherwise return the index +#if !LS_HPACK_EMIT_TEST_CODE +static +#endif + unsigned +lshpack_enc_get_static_nameval (const struct lsxpack_header *input) +{ + unsigned i; + + assert(input->name_len > 0); + assert(input->flags & LSXPACK_NAMEVAL_HASH); + i = (input->nameval_hash >> XXH_NAMEVAL_SHIFT) & ((1 << XXH_NAMEVAL_WIDTH) - 1); + if (nameval2id[i]) + { + i = nameval2id[i] - 1; + if (static_table[i].name_len == input->name_len + && static_table[i].val_len == input->val_len + && memcmp(lsxpack_header_get_name(input), static_table[i].name, input->name_len) == 0 + && memcmp(lsxpack_header_get_value(input), static_table[i].val, input->val_len) == 0) + { + return i + 1; + } + } + + return 0; +} + +#if !LS_HPACK_EMIT_TEST_CODE +static +#endif + unsigned +lshpack_enc_get_static_name (const struct lsxpack_header *input) +{ + unsigned i; + + assert(input->flags & LSXPACK_NAME_HASH); + i = (input->name_hash >> XXH_NAME_SHIFT) & ((1 << XXH_NAME_WIDTH) - 1); + if (name2id[i]) + { + i = name2id[i] - 1; + if (static_table[i].name_len == input->name_len + && memcmp(lsxpack_header_get_name(input), static_table[i].name, + input->name_len) == 0) + { + return i + 1; + } + } + + return 0; +} + + +static void +update_hash (struct lsxpack_header *input) +{ + if (!(input->flags & LSXPACK_NAME_HASH)) + input->name_hash = XXH32(lsxpack_header_get_name(input), + input->name_len, LSHPACK_XXH_SEED); + else + assert(input->name_hash == XXH32(lsxpack_header_get_name(input), + input->name_len, LSHPACK_XXH_SEED)); + + if (!(input->flags & LSXPACK_NAMEVAL_HASH)) + input->nameval_hash = XXH32(input->buf + input->val_offset, + input->val_len, input->name_hash); + else + assert(input->nameval_hash == XXH32(input->buf + input->val_offset, + input->val_len, input->name_hash)); + + input->flags |= (LSXPACK_NAME_HASH | LSXPACK_NAMEVAL_HASH); +} + + +unsigned +lshpack_enc_get_stx_tab_id (struct lsxpack_header *input) +{ + unsigned i; + + update_hash(input); + + i = (input->nameval_hash >> XXH_NAMEVAL_SHIFT) & ((1 << XXH_NAMEVAL_WIDTH) - 1); + if (nameval2id[i]) + { + i = nameval2id[i] - 1; + if (static_table[i].name_len == input->name_len + && static_table[i].val_len == input->val_len + && memcmp(lsxpack_header_get_name(input), static_table[i].name, + input->name_len) == 0 + && memcmp(input->buf + input->val_offset, static_table[i].val, + input->val_len) == 0) + { + return i + 1; + } + } + + i = (input->name_hash >> XXH_NAME_SHIFT) & ((1 << XXH_NAME_WIDTH) - 1); + if (name2id[i]) + { + i = name2id[i] - 1; + if (static_table[i].name_len == input->name_len + && memcmp(lsxpack_header_get_name(input), static_table[i].name, + input->name_len) == 0) + { + return i + 1; + } + } + + return 0; +} + + +/* Given a dynamic entry, return its table ID */ +static unsigned +henc_calc_table_id (const struct lshpack_enc *enc, + const struct lshpack_enc_table_entry *entry) +{ + return HPACK_STATIC_TABLE_SIZE + + (enc->hpe_next_id - entry->ete_id) + ; +} + + +static unsigned +henc_find_table_id (struct lshpack_enc *enc, lsxpack_header_t *input, + int *val_matched) +{ + struct lshpack_enc_table_entry *entry; + unsigned buckno, id; + const char *val_ptr = input->buf + input->val_offset; + const char *name; + unsigned int name_len; + + name_len = input->name_len; + name = lsxpack_header_get_name(input); + + /* First, look for a match in the static table: */ + if (input->hpack_index) + { + id = input->hpack_index - 1; +#ifndef NDEBUG + if (name_len) + { + lsxpack_header_t input_copy = *input; + const unsigned hpack_index = lshpack_enc_get_stx_tab_id(&input_copy); + assert(input_copy.hpack_index == hpack_index); + } +#endif + if (id <= LSHPACK_HDR_ACCEPT_ENCODING || input->val_len == 0) + { + if (static_table[id].val_len == input->val_len + && memcmp(val_ptr, static_table[id].val, input->val_len) == 0) + { + input->flags |= LSXPACK_HPACK_VAL_MATCHED; + *val_matched = 1; + return input->hpack_index; + } + } + if (!name_len) + { + name = static_table[id].name; + name_len = static_table[id].name_len; + } + + if (!(input->flags & LSXPACK_NAME_HASH)) + input->name_hash = static_table_name_hash[id]; + else + assert(input->name_hash == static_table_name_hash[id]); + if (!(input->flags & LSXPACK_NAMEVAL_HASH)) + input->nameval_hash = XXH32(val_ptr, input->val_len, + input->name_hash); + else + assert(input->nameval_hash == XXH32(val_ptr, input->val_len, + input->name_hash)); + input->flags |= (LSXPACK_NAME_HASH | LSXPACK_NAMEVAL_HASH); + } + else + { + update_hash(input); + input->hpack_index = lshpack_enc_get_static_nameval(input); + if (input->hpack_index != LSHPACK_HDR_UNKNOWN) + { + input->flags |= LSXPACK_HPACK_VAL_MATCHED; + *val_matched = 1; + return input->hpack_index; + } + } + + /* Search by name and value: */ + buckno = BUCKNO(enc->hpe_nbits, input->nameval_hash); + STAILQ_FOREACH(entry, &enc->hpe_buckets[buckno].by_nameval, + ete_next_nameval) + if (input->nameval_hash == entry->ete_nameval_hash && + name_len == entry->ete_name_len && + input->val_len == entry->ete_val_len && + 0 == memcmp(name, ETE_NAME(entry), name_len) && + 0 == memcmp(val_ptr, ETE_VALUE(entry), input->val_len)) + { + *val_matched = 1; + return henc_calc_table_id(enc, entry); + } + + /* Name/value match is not found, look for header: */ + if (input->hpack_index == LSHPACK_HDR_UNKNOWN) + input->hpack_index = lshpack_enc_get_static_name(input); + if (input->hpack_index != LSHPACK_HDR_UNKNOWN) + { + input->flags &= ~LSXPACK_HPACK_VAL_MATCHED; + return input->hpack_index; + } + + /* Search by name only: */ + buckno = BUCKNO(enc->hpe_nbits, input->name_hash); + STAILQ_FOREACH(entry, &enc->hpe_buckets[buckno].by_name, ete_next_name) + if (input->name_hash == entry->ete_name_hash && + input->name_len == entry->ete_name_len && + 0 == memcmp(name, ETE_NAME(entry), name_len)) + { + input->flags &= ~LSXPACK_HPACK_VAL_MATCHED; + return henc_calc_table_id(enc, entry); + } + + return 0; +} + + +#if !LS_HPACK_EMIT_TEST_CODE +static +#endif + unsigned char * +lshpack_enc_enc_int (unsigned char *dst, unsigned char *const end, + uint32_t value, uint8_t prefix_bits) +{ + unsigned char *const dst_orig = dst; + + /* This function assumes that at least one byte is available */ + assert(dst < end); + if (value < (uint32_t)(1 << prefix_bits) - 1) + *dst++ |= value; + else + { + *dst++ |= (1 << prefix_bits) - 1; + value -= (1 << prefix_bits) - 1; + while (value >= 128) + { + if (dst < end) + { + *dst++ = (0x80 | value); + value >>= 7; + } + else + return dst_orig; + } + if (dst < end) + *dst++ = value; + else + return dst_orig; + } + return dst; +} + + +/* This whole pragma business has to do with turning off uninitialized warnings. + * We do it for gcc and clang. Other compilers get slightly slower code, where + * unnecessary initialization is performed. + */ +#if __GNUC__ +#pragma GCC diagnostic ignored "-Wunknown-pragmas" +#if __clang__ +#pragma GCC diagnostic ignored "-Wunknown-warning-option" +#endif +#endif + + +int +lshpack_enc_huff_encode (const unsigned char *src, + const unsigned char *const src_end, unsigned char *const dst, int dst_len) +{ + unsigned char *p_dst = dst; + unsigned char *dst_end = p_dst + dst_len; + uintptr_t bits; /* OK not to initialize this variable */ + unsigned bits_used = 0, adj; + struct encode_el cur_enc_code; +#if __GNUC__ && (__clang__ || __GNUC__ >= 5) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#pragma GCC diagnostic ignored "-Wuninitialized" +#else + bits = 0; +#endif +#if LS_HPACK_USE_LARGE_TABLES + const struct henc *henc; + uint16_t idx; + + while (src + sizeof(bits) * 8 / 5 + sizeof(idx) < src_end + && p_dst + sizeof(bits) <= dst_end) + { + memcpy(&idx, src, 2); + henc = &hencs[idx]; + src += 2; + while (bits_used + henc->lens < sizeof(bits) * 8) + { + bits <<= henc->lens; + bits |= henc->code; + bits_used += henc->lens; + memcpy(&idx, src, 2); + henc = &hencs[idx]; + src += 2; + } + if (henc->lens < 64) + { + bits <<= sizeof(bits) * 8 - bits_used; + bits_used = henc->lens - (sizeof(bits) * 8 - bits_used); + bits |= henc->code >> bits_used; +#if UINTPTR_MAX == 18446744073709551615ull + *p_dst++ = bits >> 56; + *p_dst++ = bits >> 48; + *p_dst++ = bits >> 40; + *p_dst++ = bits >> 32; +#endif + *p_dst++ = bits >> 24; + *p_dst++ = bits >> 16; + *p_dst++ = bits >> 8; + *p_dst++ = bits; + bits = henc->code; /* OK not to clear high bits */ + } + else + { + src -= 2; + break; + } + } +#endif + + while (src != src_end) + { + cur_enc_code = encode_table[*src++]; + if (bits_used + cur_enc_code.bits < sizeof(bits) * 8) + { + bits <<= cur_enc_code.bits; + bits |= cur_enc_code.code; + bits_used += cur_enc_code.bits; + continue; + } + else if (p_dst + sizeof(bits) <= dst_end) + { + bits <<= sizeof(bits) * 8 - bits_used; + bits_used = cur_enc_code.bits - (sizeof(bits) * 8 - bits_used); + bits |= cur_enc_code.code >> bits_used; +#if UINTPTR_MAX == 18446744073709551615ull + *p_dst++ = bits >> 56; + *p_dst++ = bits >> 48; + *p_dst++ = bits >> 40; + *p_dst++ = bits >> 32; +#endif + *p_dst++ = bits >> 24; + *p_dst++ = bits >> 16; + *p_dst++ = bits >> 8; + *p_dst++ = bits; + bits = cur_enc_code.code; /* OK not to clear high bits */ + } + else + return -1; + } + + adj = bits_used + (-bits_used & 7); /* Round up to 8 */ + if (bits_used && p_dst + (adj >> 3) <= dst_end) + { + bits <<= -bits_used & 7; /* Align to byte boundary */ + bits |= ((1 << (-bits_used & 7)) - 1); /* EOF */ + switch (adj >> 3) + { /* Write out */ +#if UINTPTR_MAX == 18446744073709551615ull + case 8: *p_dst++ = bits >> 56; + FALL_THROUGH; + case 7: *p_dst++ = bits >> 48; + FALL_THROUGH; + case 6: *p_dst++ = bits >> 40; + FALL_THROUGH; + case 5: *p_dst++ = bits >> 32; + FALL_THROUGH; +#endif + case 4: *p_dst++ = bits >> 24; + FALL_THROUGH; + case 3: *p_dst++ = bits >> 16; + FALL_THROUGH; + case 2: *p_dst++ = bits >> 8; + FALL_THROUGH; + default: *p_dst++ = bits; + } + return p_dst - dst; + } + else if (p_dst + (adj >> 3) <= dst_end) + return p_dst - dst; + else + return -1; +#if __GNUC__ && (__clang__ || __GNUC__ >= 5) +#pragma GCC diagnostic pop +#endif +} + + +#if !LS_HPACK_EMIT_TEST_CODE +static +#endif + int +lshpack_enc_enc_str (unsigned char *const dst, size_t dst_len, + const unsigned char *str, unsigned str_len) +{ + unsigned char size_buf[4]; + unsigned char *p; + unsigned size_len; + int rc; + + if (dst_len > 1) + /* We guess that the string size fits into a single byte -- meaning + * compressed string of size 126 and smaller -- which is the normal + * case. Thus, we immediately write compressed string to the output + * buffer. If our guess is not correct, we fix it later. + */ + rc = lshpack_enc_huff_encode(str, str + str_len, dst + 1, dst_len - 1); + else if (dst_len == 1) + /* Here, the call can only succeed if the string to encode is empty. */ + rc = 0; + else + return -1; + + /* + * Check if need huffman encoding or not + * Comment: (size_t)rc <= str_len = means if same length, still use + * Huffman + * ^ + */ + if (rc > 0 && (size_t)rc <= str_len) + { + if (rc < 127) + { + *dst = 0x80 | rc; + return 1 + rc; + } + size_buf[0] = 0x80; + str_len = rc; + str = dst + 1; + } + else if (str_len <= dst_len - 1) + { + if (str_len < 127) + { + *dst = (unsigned char) str_len; + memcpy(dst + 1, str, str_len); + return 1 + str_len; + } + size_buf[0] = 0x00; + } + else + return -1; + + /* The guess of one-byte size was incorrect. Perform necessary + * adjustments. + */ + p = lshpack_enc_enc_int(size_buf, size_buf + sizeof(size_buf), str_len, 7); + if (p == size_buf) + return -1; + + size_len = p - size_buf; + assert(size_len > 1); + + /* Check if there is enough room in the output buffer for both + * encoded size and the string. + */ + if (size_len + str_len > dst_len) + return -1; + + memmove(dst + size_len, str, str_len); + memcpy(dst, size_buf, size_len); + return size_len + str_len; +} + + +static void +henc_drop_oldest_entry (struct lshpack_enc *enc) +{ + struct lshpack_enc_table_entry *entry; + unsigned buckno; + + entry = STAILQ_FIRST(&enc->hpe_all_entries); + assert(entry); + STAILQ_REMOVE_HEAD(&enc->hpe_all_entries, ete_next_all); + buckno = BUCKNO(enc->hpe_nbits, entry->ete_nameval_hash); + assert(entry == STAILQ_FIRST(&enc->hpe_buckets[buckno].by_nameval)); + STAILQ_REMOVE_HEAD(&enc->hpe_buckets[buckno].by_nameval, ete_next_nameval); + buckno = BUCKNO(enc->hpe_nbits, entry->ete_name_hash); + if (entry == STAILQ_FIRST(&enc->hpe_buckets[buckno].by_name)) + STAILQ_REMOVE_HEAD(&enc->hpe_buckets[buckno].by_name, ete_next_name); + + enc->hpe_cur_capacity -= DYNAMIC_ENTRY_OVERHEAD + entry->ete_name_len + + entry->ete_val_len; + --enc->hpe_nelem; + free(entry); +} + + +static void +henc_remove_overflow_entries (struct lshpack_enc *enc) +{ + while (enc->hpe_cur_capacity > enc->hpe_max_capacity) + henc_drop_oldest_entry(enc); +} + + +static int +henc_grow_tables (struct lshpack_enc *enc) +{ + struct lshpack_double_enc_head *new_buckets, *new[2]; + struct lshpack_enc_table_entry *entry; + unsigned n, old_nbits; + int idx; + + old_nbits = enc->hpe_nbits; + new_buckets = malloc(sizeof(enc->hpe_buckets[0]) + * N_BUCKETS(old_nbits + 1)); + if (!new_buckets) + return -1; + + for (n = 0; n < N_BUCKETS(old_nbits); ++n) + { + new[0] = &new_buckets[n]; + new[1] = &new_buckets[n + N_BUCKETS(old_nbits)]; + STAILQ_INIT(&new[0]->by_name); + STAILQ_INIT(&new[1]->by_name); + STAILQ_INIT(&new[0]->by_nameval); + STAILQ_INIT(&new[1]->by_nameval); + while ((entry = STAILQ_FIRST(&enc->hpe_buckets[n].by_name))) + { + STAILQ_REMOVE_HEAD(&enc->hpe_buckets[n].by_name, ete_next_name); + idx = (BUCKNO(old_nbits + 1, entry->ete_name_hash) + >> old_nbits) & 1; + STAILQ_INSERT_TAIL(&new[idx]->by_name, entry, ete_next_name); + } + while ((entry = STAILQ_FIRST(&enc->hpe_buckets[n].by_nameval))) + { + STAILQ_REMOVE_HEAD(&enc->hpe_buckets[n].by_nameval, + ete_next_nameval); + idx = (BUCKNO(old_nbits + 1, entry->ete_nameval_hash) + >> old_nbits) & 1; + STAILQ_INSERT_TAIL(&new[idx]->by_nameval, entry, + ete_next_nameval); + } + } + + free(enc->hpe_buckets); + enc->hpe_nbits = old_nbits + 1; + enc->hpe_buckets = new_buckets; + return 0; +} + + +#if !LS_HPACK_EMIT_TEST_CODE +static +#endif + int +lshpack_enc_push_entry (struct lshpack_enc *enc, + const struct lsxpack_header *input) +{ + unsigned buckno; + struct lshpack_enc_table_entry *entry; + size_t size; + const char *name; + unsigned int name_len; + + if (enc->hpe_nelem >= N_BUCKETS(enc->hpe_nbits) / 2 && + 0 != henc_grow_tables(enc)) + return -1; + name_len = input->name_len; + if (name_len == 0) + { + assert(input->hpack_index != LSHPACK_HDR_UNKNOWN); + name = static_table[input->hpack_index - 1].name; + name_len = static_table[input->hpack_index - 1].name_len; + } + else + name = lsxpack_header_get_name(input); + size = sizeof(*entry) + name_len + input->val_len; + entry = malloc(size); + if (!entry) + return -1; + + entry->ete_name_hash = input->name_hash; + entry->ete_nameval_hash = input->nameval_hash; + entry->ete_name_len = name_len; + entry->ete_val_len = input->val_len; + entry->ete_id = enc->hpe_next_id++; + memcpy(ETE_NAME(entry), name, name_len); + memcpy(ETE_VALUE(entry), input->buf + input->val_offset, input->val_len); + + STAILQ_INSERT_TAIL(&enc->hpe_all_entries, entry, ete_next_all); + buckno = BUCKNO(enc->hpe_nbits, input->nameval_hash); + STAILQ_INSERT_TAIL(&enc->hpe_buckets[buckno].by_nameval, entry, + ete_next_nameval); + if (input->hpack_index == LSHPACK_HDR_UNKNOWN) + { + buckno = BUCKNO(enc->hpe_nbits, input->name_hash); + STAILQ_INSERT_TAIL(&enc->hpe_buckets[buckno].by_name, entry, + ete_next_name); + } + enc->hpe_cur_capacity += DYNAMIC_ENTRY_OVERHEAD + name_len + + input->val_len; + ++enc->hpe_nelem; + henc_remove_overflow_entries(enc); + return 0; +} + + +static void +henc_resize_history (struct lshpack_enc *enc) +{ + uint32_t *hist_buf; + unsigned hist_size, first, count, i, j; + + hist_size = henc_hist_size(enc->hpe_max_capacity); + + if (hist_size == enc->hpe_hist_size) + return; + + if (hist_size == 0) + { + free(enc->hpe_hist_buf); + enc->hpe_hist_buf = NULL; + enc->hpe_hist_size = 0; + enc->hpe_hist_idx = 0; + enc->hpe_hist_wrapped = 0; + return; + } + + hist_buf = malloc(sizeof(hist_buf[0]) * (hist_size + 1)); + if (!hist_buf) + return; + + if (enc->hpe_hist_wrapped) + { + first = (enc->hpe_hist_idx + 1) % enc->hpe_hist_size; + count = enc->hpe_hist_size; + } + else + { + first = 0; + count = enc->hpe_hist_idx; + } + for (i = 0, j = 0; count > 0 && j < hist_size; ++i, ++j, --count) + hist_buf[j] = enc->hpe_hist_buf[ (first + i) % enc->hpe_hist_size ]; + enc->hpe_hist_size = hist_size; + enc->hpe_hist_idx = j % hist_size; + enc->hpe_hist_wrapped = enc->hpe_hist_idx == 0; + free(enc->hpe_hist_buf); + enc->hpe_hist_buf = hist_buf; +} + + +/* Returns true if `nameval_hash' was already in history, false otherwise. */ +static int +henc_hist_add (struct lshpack_enc *enc, uint32_t nameval_hash) +{ + unsigned last; + uint32_t *p; + + if (enc->hpe_hist_wrapped) + last = enc->hpe_hist_size; + else + last = enc->hpe_hist_idx; + + enc->hpe_hist_buf[ last ] = nameval_hash; + for (p = enc->hpe_hist_buf; *p != nameval_hash; ++p) + ; + enc->hpe_hist_buf[ enc->hpe_hist_idx ] = nameval_hash; + enc->hpe_hist_idx = (enc->hpe_hist_idx + 1) % enc->hpe_hist_size; + enc->hpe_hist_wrapped |= enc->hpe_hist_idx == 0; + + return p < enc->hpe_hist_buf + last; +} + + +unsigned char * +lshpack_enc_encode (struct lshpack_enc *enc, unsigned char *dst, + unsigned char *dst_end, lsxpack_header_t *input) +{ + //indexed_type: 0, Add, 1,: without, 2: never + static const char indexed_prefix_number[] = {0x40, 0x00, 0x10}; + unsigned char *const dst_org = dst; + int rc; + int val_matched = 0; + unsigned table_id; + + if (dst_end <= dst) + return dst_org; + + if (input->flags & LSXPACK_HPACK_VAL_MATCHED) + { + assert(input->hpack_index != LSHPACK_HDR_UNKNOWN); + assert(input->val_len == static_table[input->hpack_index - 1].val_len); + assert(memcmp(lsxpack_header_get_value(input), + static_table[input->hpack_index - 1].val, + input->val_len) == 0); + table_id = input->hpack_index; + val_matched = 1; + } + else + { + if (input->flags & LSXPACK_NEVER_INDEX) + input->indexed_type = 2; + table_id = henc_find_table_id(enc, input, &val_matched); + if (enc->hpe_hist_buf) + { + rc = henc_hist_add(enc, input->nameval_hash); + if (!rc && enc->hpe_hist_wrapped && input->indexed_type == 0) + input->indexed_type = 1; + } + } + + if (table_id > 0) + { + if (val_matched) + { + // LSXPACK_VAL_MATCHED MUST NOT set for dynamic table + // otherwise, it may cause trouble when feed the input to a different encoder. + if (table_id > HPACK_STATIC_TABLE_SIZE) + assert(!(input->flags & LSXPACK_HPACK_VAL_MATCHED)); + + *dst = 0x80; + dst = lshpack_enc_enc_int(dst, dst_end, table_id, 7); + /* No need to check return value: we pass it up as-is because + * the behavior is the same. + */ + return dst; + } + else + { + *dst = indexed_prefix_number[input->indexed_type]; + dst = lshpack_enc_enc_int(dst, dst_end, table_id, + ((input->indexed_type == 0) ? 6 : 4)); + if (dst == dst_org) + return dst_org; + } + } + else + { + assert(input->name_len > 0); + *dst++ = indexed_prefix_number[input->indexed_type]; + rc = lshpack_enc_enc_str(dst, dst_end - dst, + (unsigned char *)lsxpack_header_get_name(input), + input->name_len); + if (rc < 0) + return dst_org; //Failed to enc this header, return unchanged ptr. + dst += rc; + } + + rc = lshpack_enc_enc_str(dst, dst_end - dst, + (const unsigned char *)input->buf + input->val_offset, + input->val_len); + if (rc < 0) + return dst_org; //Failed to enc this header, return unchanged ptr. + dst += rc; + + if (input->indexed_type == 0) + { + rc = lshpack_enc_push_entry(enc, input); + if (rc != 0) + return dst_org; //Failed to enc this header, return unchanged ptr. + } + + return dst; +} + + +void +lshpack_enc_set_max_capacity (struct lshpack_enc *enc, unsigned max_capacity) +{ + enc->hpe_max_capacity = max_capacity; + henc_remove_overflow_entries(enc); + if (lshpack_enc_hist_used(enc)) + henc_resize_history(enc); +} + +#if LS_HPACK_EMIT_TEST_CODE +void +lshpack_enc_iter_init (struct lshpack_enc *enc, void **iter) +{ + *iter = STAILQ_FIRST(&enc->hpe_all_entries); +} + + +/* Returns 0 if entry is found */ +int +lshpack_enc_iter_next (struct lshpack_enc *enc, void **iter, + struct enc_dyn_table_entry *retval) +{ + const struct lshpack_enc_table_entry *entry; + + entry = *iter; + if (!entry) + return -1; + + *iter = STAILQ_NEXT(entry, ete_next_all); + + retval->name = ETE_NAME(entry); + retval->value = ETE_VALUE(entry); + retval->name_len = entry->ete_name_len; + retval->value_len = entry->ete_val_len; + retval->entry_id = henc_calc_table_id(enc, entry); + return 0; +} +#endif + + +/* Dynamic table entry: */ +struct dec_table_entry +{ + unsigned dte_name_len; + unsigned dte_val_len; +#if LSHPACK_DEC_CALC_HASH + uint32_t dte_name_hash; + uint32_t dte_nameval_hash; + enum { + DTEF_NAME_HASH = LSXPACK_NAME_HASH, + DTEF_NAMEVAL_HASH = LSXPACK_NAMEVAL_HASH, + } dte_flags:8; +#endif + uint8_t dte_name_idx; + char dte_buf[]; /* Contains both name and value */ +}; + +#define DTE_NAME(dte) ((dte)->dte_buf) +#define DTE_VALUE(dte) (&(dte)->dte_buf[(dte)->dte_name_len]) + +enum +{ + HPACK_HUFFMAN_FLAG_ACCEPTED = 0x01, + HPACK_HUFFMAN_FLAG_SYM = 0x02, + HPACK_HUFFMAN_FLAG_FAIL = 0x04, +}; + +struct decode_status +{ + uint8_t state; + uint8_t eos; +}; + + +void +lshpack_dec_init (struct lshpack_dec *dec) +{ + memset(dec, 0, sizeof(*dec)); + dec->hpd_max_capacity = INITIAL_DYNAMIC_TABLE_SIZE; + dec->hpd_cur_max_capacity = INITIAL_DYNAMIC_TABLE_SIZE; + lshpack_arr_init(&dec->hpd_dyn_table); +} + + +void +lshpack_dec_cleanup (struct lshpack_dec *dec) +{ + uintptr_t val; + + while (lshpack_arr_count(&dec->hpd_dyn_table) > 0) + { + val = lshpack_arr_pop(&dec->hpd_dyn_table); + free((struct dec_table_entry *) val); + } + lshpack_arr_cleanup(&dec->hpd_dyn_table); +} + + +/* Maximum number of bytes required to encode a 32-bit integer */ +#define LSHPACK_UINT32_ENC_SZ 6 + + +/* Assumption: we have at least one byte to work with */ +#if !LS_HPACK_EMIT_TEST_CODE +static +#endif + int +lshpack_dec_dec_int (const unsigned char **src_p, const unsigned char *src_end, + unsigned prefix_bits, uint32_t *value_p) +{ + const unsigned char *const orig_src = *src_p; + const unsigned char *src; + unsigned prefix_max, M; + uint32_t val, B; + + src = *src_p; + + prefix_max = (1 << prefix_bits) - 1; + val = *src++; + val &= prefix_max; + + if (val < prefix_max) + { + *src_p = src; + *value_p = val; + return 0; + } + + M = 0; + do + { + if (src < src_end) + { + B = *src++; + val = val + ((B & 0x7f) << M); + M += 7; + } + else if (src - orig_src < LSHPACK_UINT32_ENC_SZ) + return -1; + else + return -2; + } + while (B & 0x80); + + if (M <= 28 || (M == 35 && src[-1] <= 0xF && val - (src[-1] << 28) < val)) + { + *src_p = src; + *value_p = val; + return 0; + } + else + return -2; +} + + +static void +hdec_drop_oldest_entry (struct lshpack_dec *dec) +{ + struct dec_table_entry *entry; + entry = (void *) lshpack_arr_shift(&dec->hpd_dyn_table); + dec->hpd_cur_capacity -= DYNAMIC_ENTRY_OVERHEAD + entry->dte_name_len + + entry->dte_val_len; + ++dec->hpd_state; + free(entry); +} + + +static void +hdec_remove_overflow_entries (struct lshpack_dec *dec) +{ + while (dec->hpd_cur_capacity > dec->hpd_cur_max_capacity) + hdec_drop_oldest_entry(dec); +} + + +static void +hdec_update_max_capacity (struct lshpack_dec *dec, uint32_t new_capacity) +{ + dec->hpd_cur_max_capacity = new_capacity; + hdec_remove_overflow_entries(dec); +} + + +void +lshpack_dec_set_max_capacity (struct lshpack_dec *dec, unsigned max_capacity) +{ + dec->hpd_max_capacity = max_capacity; + hdec_update_max_capacity(dec, max_capacity); +} + + +static unsigned char * +hdec_huff_dec4bits (uint8_t src_4bits, unsigned char *dst, + struct decode_status *status) +{ + const struct decode_el cur_dec_code = + decode_tables[status->state][src_4bits]; + if (cur_dec_code.flags & HPACK_HUFFMAN_FLAG_FAIL) { + return NULL; //failed + } + if (cur_dec_code.flags & HPACK_HUFFMAN_FLAG_SYM) + { + *dst = cur_dec_code.sym; + dst++; + } + + status->state = cur_dec_code.state; + status->eos = ((cur_dec_code.flags & HPACK_HUFFMAN_FLAG_ACCEPTED) != 0); + return dst; +} + + +#if !LS_HPACK_USE_LARGE_TABLES +#define lshpack_dec_huff_decode_full lshpack_dec_huff_decode +#endif + +int +lshpack_dec_huff_decode_full (const unsigned char *src, int src_len, + unsigned char *dst, int dst_len) +{ + const unsigned char *p_src = src; + const unsigned char *const src_end = src + src_len; + unsigned char *p_dst = dst; + unsigned char *dst_end = dst + dst_len; + struct decode_status status = { 0, 1 }; + + while (p_src != src_end) + { + if (p_dst == dst_end) + return LSHPACK_ERR_MORE_BUF; + if ((p_dst = hdec_huff_dec4bits(*p_src >> 4, p_dst, &status)) + == NULL) + return -1; + if (p_dst == dst_end) + return LSHPACK_ERR_MORE_BUF; + if ((p_dst = hdec_huff_dec4bits(*p_src & 0xf, p_dst, &status)) + == NULL) + return -1; + ++p_src; + } + + if (!status.eos) + return -1; + + return p_dst - dst; +} + + +int +lshpack_dec_huff_decode (const unsigned char *src, int src_len, + unsigned char *dst, int dst_len); + + +//reutrn the length in the dst, also update the src +#if !LS_HPACK_EMIT_TEST_CODE +static +#endif + int +hdec_dec_str (unsigned char *dst, size_t dst_len, const unsigned char **src, + const unsigned char *src_end) +{ + if ((*src) == src_end) + return 0; + + int is_huffman = (*(*src) & 0x80); + uint32_t len; + if (0 != lshpack_dec_dec_int(src, src_end, 7, &len)) + return LSHPACK_ERR_BAD_DATA; //wrong int + + int ret = 0; + if ((uint32_t)(src_end - (*src)) < len) { + return LSHPACK_ERR_BAD_DATA; //wrong int + } + + if (is_huffman) + { + ret = lshpack_dec_huff_decode(*src, len, dst, dst_len); + if (ret < 0) + return ret; //Wrong code + + (*src) += len; + } + else + { + if (dst_len < len) + { + ret = dst_len - len; + if (ret > LSHPACK_ERR_MORE_BUF) + ret = LSHPACK_ERR_MORE_BUF; //dst not enough space + } + else + { + memcpy(dst, (*src), len); + (*src) += len; + ret = len; + } + } + + return ret; +} + + +/* hpd_dyn_table is a dynamic array. New entries are pushed onto it, + * while old entries are shifted from it. + */ +static struct dec_table_entry * +hdec_get_table_entry (struct lshpack_dec *dec, uint32_t index) +{ + uintptr_t val; + + index -= HPACK_STATIC_TABLE_SIZE; + if (index == 0 || index > lshpack_arr_count(&dec->hpd_dyn_table)) + return NULL; + + index = lshpack_arr_count(&dec->hpd_dyn_table) - index; + val = lshpack_arr_get(&dec->hpd_dyn_table, index); + return (struct dec_table_entry *) val; +} + + +#if !LS_HPACK_EMIT_TEST_CODE +static +#endif + int +lshpack_dec_push_entry (struct lshpack_dec *dec, + const struct lsxpack_header *xhdr) +{ + struct dec_table_entry *entry; + unsigned name_len, val_len; + size_t size; + + name_len = xhdr->name_len; + val_len = xhdr->val_len; + + size = sizeof(*entry) + name_len + val_len; + entry = malloc(size); + if (!entry) + return -1; + + if (0 != lshpack_arr_push(&dec->hpd_dyn_table, (uintptr_t) entry)) + { + free(entry); + return -1; + } + ++dec->hpd_state; + dec->hpd_cur_capacity += DYNAMIC_ENTRY_OVERHEAD + name_len + val_len; + entry->dte_name_len = name_len; + entry->dte_val_len = val_len; + entry->dte_name_idx = xhdr->hpack_index; +#if LSHPACK_DEC_CALC_HASH + entry->dte_flags = xhdr->flags & (LSXPACK_NAME_HASH|LSXPACK_NAMEVAL_HASH); + entry->dte_name_hash = xhdr->name_hash; + entry->dte_nameval_hash = xhdr->nameval_hash; +#endif + memcpy(DTE_NAME(entry), lsxpack_header_get_name(xhdr), name_len); + memcpy(DTE_VALUE(entry), lsxpack_header_get_value(xhdr), val_len); + + hdec_remove_overflow_entries(dec); + return 0; +} + + +static int +lshpack_dec_copy_value (lsxpack_header_t *output, char *dest, const char *val, + unsigned val_len) +{ + if (val_len + LSHPACK_DEC_HTTP1X_EXTRA > (unsigned)output->val_len) + return LSHPACK_ERR_MORE_BUF; + output->val_offset = output->name_offset + output->name_len + + LSHPACK_DEC_HTTP1X_EXTRA; + + assert(dest == output->buf + output->val_offset); + output->val_len = val_len; + memcpy(dest, val, output->val_len); + dest += output->val_len; +#if LSHPACK_DEC_HTTP1X_OUTPUT + *dest++ = '\r'; + *dest++ = '\n'; +#endif + return 0; +} + + +static int +lshpack_dec_copy_name (lsxpack_header_t *output, char **dest, const char *name, + unsigned name_len) +{ + if (name_len + LSHPACK_DEC_HTTP1X_EXTRA > (unsigned)output->val_len) + return LSHPACK_ERR_MORE_BUF; + output->val_len -= name_len + LSHPACK_DEC_HTTP1X_EXTRA; + output->name_len = name_len; + memcpy(*dest, name, name_len); + *dest += name_len; +#if LSHPACK_DEC_HTTP1X_OUTPUT + *(*dest)++ = ':'; + *(*dest)++ = ' '; +#endif + return 0; +} + + +enum +{ + LSHPACK_ADD_INDEX = 0, + LSHPACK_NO_INDEX = 1, + LSHPACK_NEVER_INDEX = 2, + LSHPACK_VAL_INDEX = 3, +}; + + +int +lshpack_dec_decode (struct lshpack_dec *dec, + const unsigned char **src, const unsigned char *src_end, + struct lsxpack_header *output) +{ + struct dec_table_entry *entry; + uint32_t index, new_capacity; + int indexed_type, len; + const unsigned char *s; + size_t buf_len = output->val_len; + size_t extra_buf = 0; + + if ((*src) == src_end) + return LSHPACK_ERR_BAD_DATA; + + buf_len = output->val_len; + extra_buf = 0; + s = *src; + while ((*s & 0xe0) == 0x20) //001 xxxxx + { + if (0 != lshpack_dec_dec_int(&s, src_end, 5, &new_capacity)) + return LSHPACK_ERR_BAD_DATA; + if (new_capacity > dec->hpd_max_capacity) + return LSHPACK_ERR_BAD_DATA; + hdec_update_max_capacity(dec, new_capacity); + if (s == src_end) + return LSHPACK_ERR_BAD_DATA; + } + + /* lshpack_dec_dec_int() sets `index' and advances `src'. If we do not + * call it, we set `index' and advance `src' ourselves: + */ + if (*s & 0x80) //1 xxxxxxx + { + if (0 != lshpack_dec_dec_int(&s, src_end, 7, &index)) + return LSHPACK_ERR_BAD_DATA; + if (index == 0) + return LSHPACK_ERR_BAD_DATA; + indexed_type = LSHPACK_VAL_INDEX; //need to parse value + } + else if (*s > 0x40) //01 xxxxxx + { + if (0 != lshpack_dec_dec_int(&s, src_end, 6, &index)) + return LSHPACK_ERR_BAD_DATA; + + indexed_type = LSHPACK_ADD_INDEX; + } + else if (*s == 0x40) //custmized //0100 0000 + { + indexed_type = LSHPACK_ADD_INDEX; + index = LSHPACK_HDR_UNKNOWN; + ++s; + } + + //Never indexed + else if (*s == 0x10) //00010000 + { + indexed_type = LSHPACK_NEVER_INDEX; + output->flags |= LSXPACK_NEVER_INDEX; + index = LSHPACK_HDR_UNKNOWN; + ++s; + } + else if ((*s & 0xf0) == 0x10) //0001 xxxx + { + if (0 != lshpack_dec_dec_int(&s, src_end, 4, &index)) + return LSHPACK_ERR_BAD_DATA; + + indexed_type = LSHPACK_NEVER_INDEX; + output->flags |= LSXPACK_NEVER_INDEX; + } + + //without indexed + else if (*s == 0x00) //0000 0000 + { + indexed_type = LSHPACK_NO_INDEX; + index = LSHPACK_HDR_UNKNOWN; + ++s; + } + else // 0000 xxxx + { + if (0 != lshpack_dec_dec_int(&s, src_end, 4, &index)) + return LSHPACK_ERR_BAD_DATA; + + indexed_type = LSHPACK_NO_INDEX; + } + + if (index == LSHPACK_HDR_UNKNOWN && s == src_end) + { + return LSHPACK_ERR_BAD_DATA; + } + + if (index != LSHPACK_HDR_UNKNOWN && index <= LSHPACK_HDR_WWW_AUTHENTICATE) + { + output->hpack_index = index; + } + + char *name = output->buf + output->name_offset; + if (index > 0) + { + if (index <= HPACK_STATIC_TABLE_SIZE) //static table + { + if (lshpack_dec_copy_name(output, &name, + static_table[index - 1].name, + static_table[index - 1].name_len) == LSHPACK_ERR_MORE_BUF) + { + extra_buf = static_table[index - 1].name_len + + LSHPACK_DEC_HTTP1X_EXTRA; + goto need_more_buf; + } + output->flags |= LSXPACK_NAME_HASH; + output->name_hash = static_table_name_hash[index - 1]; + + if (indexed_type == LSHPACK_VAL_INDEX) + { + if (lshpack_dec_copy_value(output, name, + static_table[index - 1].val, + static_table[index - 1].val_len) == 0) + { + output->flags |= LSXPACK_NAMEVAL_HASH; + output->nameval_hash = static_table_nameval_hash[index - 1]; + goto decode_end; + } + else + { + extra_buf = static_table[index - 1].val_len + + LSHPACK_DEC_HTTP1X_EXTRA; + goto need_more_buf; + } + } + } + else + { + entry = hdec_get_table_entry(dec, index); + if (entry == NULL) + return LSHPACK_ERR_BAD_DATA; + if (lshpack_dec_copy_name(output, &name, DTE_NAME(entry), + entry->dte_name_len) == LSHPACK_ERR_MORE_BUF) + { + extra_buf = entry->dte_name_len + LSHPACK_DEC_HTTP1X_EXTRA; + goto need_more_buf; + } + + if (entry->dte_name_idx) + output->hpack_index = entry->dte_name_idx; + else + output->hpack_index = LSHPACK_HDR_UNKNOWN; +#if LSHPACK_DEC_CALC_HASH + output->flags |= entry->dte_flags & DTEF_NAME_HASH; + output->name_hash = entry->dte_name_hash; +#endif + if (indexed_type == LSHPACK_VAL_INDEX) + { + if (lshpack_dec_copy_value(output, name, DTE_VALUE(entry), + entry->dte_val_len) == 0) + { +#if LSHPACK_DEC_CALC_HASH + output->flags |= entry->dte_flags & DTEF_NAMEVAL_HASH; + output->nameval_hash = entry->dte_nameval_hash; +#endif + goto decode_end; + } + else + { + extra_buf = entry->dte_val_len + LSHPACK_DEC_HTTP1X_EXTRA; + goto need_more_buf; + } + } + } + } + else + { + len = hdec_dec_str((unsigned char *)name, output->val_len, + &s, src_end); + if (len < 0) + { + if (len <= LSHPACK_ERR_MORE_BUF) + { + extra_buf = -len; + goto need_more_buf; + } + return len; //error + } + if (len > UINT16_MAX) + return LSHPACK_ERR_TOO_LARGE; + while(len > 0 && isspace(*(name + len - 1))) + --len; + if (len == 0) + return LSHPACK_ERR_BAD_DATA; + +#if LSHPACK_DEC_CALC_HASH + output->flags |= LSXPACK_NAME_HASH; + output->name_hash = XXH32(name, (size_t) len, LSHPACK_XXH_SEED); +#endif + output->name_len = len; + name += output->name_len; +#if LSHPACK_DEC_HTTP1X_OUTPUT + if (output->name_len + 2 <= output->val_len) + { + *name++ = ':'; + *name++ = ' '; + } + else + { + extra_buf = 2; + goto need_more_buf; + } +#endif + output->val_len -= len + LSHPACK_DEC_HTTP1X_EXTRA; + } + + len = hdec_dec_str((unsigned char *)name, output->val_len, &s, src_end); + if (len < 0) + { + if (len <= LSHPACK_ERR_MORE_BUF) + { + extra_buf = -len; + goto need_more_buf; + } + return len; //error + } + if (len > UINT16_MAX) + return LSHPACK_ERR_TOO_LARGE; +#if LSHPACK_DEC_CALC_HASH + assert(output->flags & LSXPACK_NAME_HASH); + output->flags |= LSXPACK_NAMEVAL_HASH; + output->nameval_hash = XXH32(name, (size_t) len, output->name_hash); +#endif +#if LSHPACK_DEC_HTTP1X_OUTPUT + if ((unsigned) len + 2 <= output->val_len) + memcpy(name + len, "\r\n", 2); + else + { + extra_buf = 2; + goto need_more_buf; + } +#endif + output->val_offset = output->name_offset + output->name_len + + LSHPACK_DEC_HTTP1X_EXTRA; + output->val_len = len; + + if (indexed_type == LSHPACK_ADD_INDEX && + 0 != lshpack_dec_push_entry(dec, output)) + return LSHPACK_ERR_BAD_DATA; //error +decode_end: + *src = s; +#if LSHPACK_DEC_HTTP1X_OUTPUT + output->dec_overhead = 4; +#endif + return 0; +need_more_buf: + buf_len += extra_buf; + output->val_len = buf_len; + return LSHPACK_ERR_MORE_BUF; +} + + +#if LS_HPACK_USE_LARGE_TABLES +#define SHORTEST_CODE 5 + + +/* The decoder is optimized for the common case. Most of the time, we decode + * data whose encoding is 16 bits or shorter. This lets us use a 64 KB table + * indexed by two bytes of input and outputs 1, 2, or 3 bytes at a time. + * + * In the case a longer code is encoutered, we fall back to the original + * Huffman decoder that supports all code lengths. + */ +int +lshpack_dec_huff_decode (const unsigned char *src, int src_len, + unsigned char *dst, int dst_len) +{ + unsigned char *const orig_dst = dst; + const unsigned char *const src_end = src + src_len; + unsigned char *const dst_end = dst + dst_len; + uintptr_t buf; /* OK not to initialize the buffer */ + unsigned avail_bits, len; + struct hdec hdec; + uint16_t idx; + int r; + +#if __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#pragma GCC diagnostic ignored "-Wuninitialized" +#else + buf = 0; +#endif + + avail_bits = 0; + while (1) + { + if (src + sizeof(buf) <= src_end) + { + len = (sizeof(buf) * 8 - avail_bits) >> 3; + avail_bits += len << 3; + switch (len) + { +#if UINTPTR_MAX == 18446744073709551615ull + case 8: + buf <<= 8; + buf |= (uintptr_t) *src++; + FALL_THROUGH; + case 7: + buf <<= 8; + buf |= (uintptr_t) *src++; + FALL_THROUGH; + default: + buf <<= 48; + buf |= (uintptr_t) *src++ << 40; + buf |= (uintptr_t) *src++ << 32; + buf |= (uintptr_t) *src++ << 24; + buf |= (uintptr_t) *src++ << 16; +#else + FALL_THROUGH; + case 4: + buf <<= 8; + buf |= (uintptr_t) *src++; + FALL_THROUGH; + case 3: + buf <<= 8; + buf |= (uintptr_t) *src++; + FALL_THROUGH; + default: + buf <<= 16; +#endif + buf |= (uintptr_t) *src++ << 8; + buf |= (uintptr_t) *src++ << 0; + } + } + else if (src < src_end) + do + { + buf <<= 8; + buf |= (uintptr_t) *src++; + avail_bits += 8; + } + while (src < src_end && avail_bits <= sizeof(buf) * 8 - 8); + else + break; /* Normal case terminating condition: out of input */ + + if (dst_end - dst >= (ptrdiff_t) (8 * sizeof(buf) / SHORTEST_CODE) + && avail_bits >= 16) + { + /* Fast path: don't check destination bounds */ + do + { + idx = buf >> (avail_bits - 16); + hdec = hdecs[idx]; + dst[0] = hdec.out[0]; + dst[1] = hdec.out[1]; + dst[2] = hdec.out[2]; + dst += hdec.lens & 3; + avail_bits -= hdec.lens >> 2; + } + while (avail_bits >= 16 && hdec.lens); + if (avail_bits < 16) + continue; + goto slow_path; + } + else + while (avail_bits >= 16) + { + idx = buf >> (avail_bits - 16); + hdec = hdecs[idx]; + len = hdec.lens & 3; + if (len && dst + len <= dst_end) + { + switch (len) + { + case 3: + *dst++ = hdec.out[0]; + *dst++ = hdec.out[1]; + *dst++ = hdec.out[2]; + break; + case 2: + *dst++ = hdec.out[0]; + *dst++ = hdec.out[1]; + break; + default: + *dst++ = hdec.out[0]; + break; + } + avail_bits -= hdec.lens >> 2; + } + else if (dst + len > dst_end) + { + r = dst_end - dst - len; + if (r > LSHPACK_ERR_MORE_BUF) + r = LSHPACK_ERR_MORE_BUF; + return r; + } + else + goto slow_path; + } + } + + if (avail_bits >= SHORTEST_CODE) + { + idx = buf << (16 - avail_bits); + idx |= (1 << (16 - avail_bits)) - 1; /* EOF */ + if (idx == 0xFFFF && avail_bits < 8) + goto end; + /* If a byte or more of input is left, this mean there is a valid + * encoding, not just EOF. + */ + hdec = hdecs[idx]; + len = hdec.lens & 3; + if (((unsigned) hdec.lens >> 2) > avail_bits) + return -1; + if (len && dst + len <= dst_end) + { + switch (len) + { + case 3: + *dst++ = hdec.out[0]; + *dst++ = hdec.out[1]; + *dst++ = hdec.out[2]; + break; + case 2: + *dst++ = hdec.out[0]; + *dst++ = hdec.out[1]; + break; + default: + *dst++ = hdec.out[0]; + break; + } + avail_bits -= hdec.lens >> 2; + } + else if (dst + len > dst_end) + { + r = dst_end - dst - len; + if (r > LSHPACK_ERR_MORE_BUF) + r = LSHPACK_ERR_MORE_BUF; + return r; + } + else + /* This must be an invalid code, otherwise it would have fit */ + return -1; + } + + if (avail_bits > 0) + { + if (((1u << avail_bits) - 1) != (buf & ((1u << avail_bits) - 1))) + return -1; /* Not EOF as expected */ + } +#if __GNUC__ +#pragma GCC diagnostic pop +#endif + + end: + return dst - orig_dst; + + slow_path: + /* Find previous byte boundary and finish decoding thence. */ + while ((avail_bits & 7) && dst > orig_dst) + avail_bits += encode_table[ *--dst ].bits; + assert((avail_bits & 7) == 0); + src -= avail_bits >> 3; + r = lshpack_dec_huff_decode_full(src, src_end - src, dst, dst_end - dst); + if (r >= 0) + return dst - orig_dst + r; + else + return r; +} +#endif +#if __GNUC__ +#pragma GCC diagnostic pop /* -Wunknown-pragmas */ +#endif diff --git a/external/lsquic/src/lshpack/lshpack.h b/external/lsquic/src/lshpack/lshpack.h new file mode 100644 index 0000000..3f90960 --- /dev/null +++ b/external/lsquic/src/lshpack/lshpack.h @@ -0,0 +1,295 @@ +/* +MIT License + +Copyright (c) 2018 - 2023 LiteSpeed Technologies Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#ifndef LITESPEED_HPACK_H +#define LITESPEED_HPACK_H 1 + + +#include +#include +#include +#include "lsxpack_header.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define LSHPACK_MAJOR_VERSION 2 +#define LSHPACK_MINOR_VERSION 3 +#define LSHPACK_PATCH_VERSION 4 + +#define lshpack_strlen_t lsxpack_strlen_t +#define LSHPACK_MAX_STRLEN LSXPACK_MAX_STRLEN + +#ifndef LSHPACK_DEC_HTTP1X_OUTPUT +#define LSHPACK_DEC_HTTP1X_OUTPUT 1 +#endif +#ifndef LSHPACK_DEC_CALC_HASH +#define LSHPACK_DEC_CALC_HASH 1 +#endif + +struct lshpack_enc; +struct lshpack_dec; + +enum lshpack_static_hdr_idx +{ + LSHPACK_HDR_UNKNOWN, + LSHPACK_HDR_AUTHORITY, + LSHPACK_HDR_METHOD_GET, + LSHPACK_HDR_METHOD_POST, + LSHPACK_HDR_PATH, + LSHPACK_HDR_PATH_INDEX_HTML, + LSHPACK_HDR_SCHEME_HTTP, + LSHPACK_HDR_SCHEME_HTTPS, + LSHPACK_HDR_STATUS_200, + LSHPACK_HDR_STATUS_204, + LSHPACK_HDR_STATUS_206, + LSHPACK_HDR_STATUS_304, + LSHPACK_HDR_STATUS_400, + LSHPACK_HDR_STATUS_404, + LSHPACK_HDR_STATUS_500, + LSHPACK_HDR_ACCEPT_CHARSET, + LSHPACK_HDR_ACCEPT_ENCODING, + LSHPACK_HDR_ACCEPT_LANGUAGE, + LSHPACK_HDR_ACCEPT_RANGES, + LSHPACK_HDR_ACCEPT, + LSHPACK_HDR_ACCESS_CONTROL_ALLOW_ORIGIN, + LSHPACK_HDR_AGE, + LSHPACK_HDR_ALLOW, + LSHPACK_HDR_AUTHORIZATION, + LSHPACK_HDR_CACHE_CONTROL, + LSHPACK_HDR_CONTENT_DISPOSITION, + LSHPACK_HDR_CONTENT_ENCODING, + LSHPACK_HDR_CONTENT_LANGUAGE, + LSHPACK_HDR_CONTENT_LENGTH, + LSHPACK_HDR_CONTENT_LOCATION, + LSHPACK_HDR_CONTENT_RANGE, + LSHPACK_HDR_CONTENT_TYPE, + LSHPACK_HDR_COOKIE, + LSHPACK_HDR_DATE, + LSHPACK_HDR_ETAG, + LSHPACK_HDR_EXPECT, + LSHPACK_HDR_EXPIRES, + LSHPACK_HDR_FROM, + LSHPACK_HDR_HOST, + LSHPACK_HDR_IF_MATCH, + LSHPACK_HDR_IF_MODIFIED_SINCE, + LSHPACK_HDR_IF_NONE_MATCH, + LSHPACK_HDR_IF_RANGE, + LSHPACK_HDR_IF_UNMODIFIED_SINCE, + LSHPACK_HDR_LAST_MODIFIED, + LSHPACK_HDR_LINK, + LSHPACK_HDR_LOCATION, + LSHPACK_HDR_MAX_FORWARDS, + LSHPACK_HDR_PROXY_AUTHENTICATE, + LSHPACK_HDR_PROXY_AUTHORIZATION, + LSHPACK_HDR_RANGE, + LSHPACK_HDR_REFERER, + LSHPACK_HDR_REFRESH, + LSHPACK_HDR_RETRY_AFTER, + LSHPACK_HDR_SERVER, + LSHPACK_HDR_SET_COOKIE, + LSHPACK_HDR_STRICT_TRANSPORT_SECURITY, + LSHPACK_HDR_TRANSFER_ENCODING, + LSHPACK_HDR_USER_AGENT, + LSHPACK_HDR_VARY, + LSHPACK_HDR_VIA, + LSHPACK_HDR_WWW_AUTHENTICATE, + LSHPACK_HDR_TOBE_INDEXED = 255 +}; + +#define LSHPACK_MAX_INDEX 61 + +#define LSHPACK_ERR_MORE_BUF (-3) +#define LSHPACK_ERR_TOO_LARGE (-2) +#define LSHPACK_ERR_BAD_DATA (-1) +#define LSHPACK_OK (0) + +/** + * Initialization routine allocates memory. -1 is returned if memory + * could not be allocated. 0 is returned on success. + */ +int +lshpack_enc_init (struct lshpack_enc *); + +/** + * Clean up HPACK encoder, freeing all allocated memory. + */ +void +lshpack_enc_cleanup (struct lshpack_enc *); + +/** + * @brief Encode one name/value pair + * + * @param[in,out] henc - A pointer to a valid HPACK API struct + * @param[out] dst - A pointer to destination buffer + * @param[out] dst_end - A pointer to end of destination buffer + * @param[in] input - Header to encode + * + * @return The (possibly advanced) dst pointer. If the destination + * pointer was not advanced, an error must have occurred. + */ +unsigned char * +lshpack_enc_encode (struct lshpack_enc *henc, unsigned char *dst, + unsigned char *dst_end, struct lsxpack_header *input); + +void +lshpack_enc_set_max_capacity (struct lshpack_enc *, unsigned); + +/** + * Turn history on or off. Turning history on may fail (malloc), in + * which case -1 is returned. + */ +int +lshpack_enc_use_hist (struct lshpack_enc *, int on); + +/** + * Return true if history is used, false otherwise. By default, + * history is off. + */ +int +lshpack_enc_hist_used (const struct lshpack_enc *); + +/** + * Initialize HPACK decoder structure. + */ +void +lshpack_dec_init (struct lshpack_dec *); + +/** + * Clean up HPACK decoder structure, freeing all allocated memory. + */ +void +lshpack_dec_cleanup (struct lshpack_dec *); + +/* + * Returns 0 on success, a negative value on failure. + * + * If 0 is returned, `src' is advanced. Calling with a zero-length input + * buffer results in an error. + * + * To calculate number of bytes written to the output buffer: + * output->name_len + output->val_len + lshpack_dec_extra_bytes(dec) + */ +int +lshpack_dec_decode (struct lshpack_dec *dec, + const unsigned char **src, const unsigned char *src_end, + struct lsxpack_header *output); + +/* Return number of extra bytes per header */ +#if LSHPACK_DEC_HTTP1X_OUTPUT +#define LSHPACK_DEC_HTTP1X_EXTRA (2) +#define lshpack_dec_extra_bytes(dec_) (4) +#else +#define LSHPACK_DEC_HTTP1X_EXTRA (0) +#define lshpack_dec_extra_bytes(dec_) (0) +#endif + +void +lshpack_dec_set_max_capacity (struct lshpack_dec *, unsigned); + +/* Some internals follow. Struct definitions are exposed to save a malloc. + * These structures are not very complicated. + */ + +#ifdef __OpenBSD__ +#define STAILQ_HEAD SIMPLEQ_HEAD +#define STAILQ_ENTRY SIMPLEQ_ENTRY +#define STAILQ_INIT SIMPLEQ_INIT +#define STAILQ_INSERT_TAIL SIMPLEQ_INSERT_TAIL +#define STAILQ_EMPTY SIMPLEQ_EMPTY +#define STAILQ_FIRST SIMPLEQ_FIRST +#define STAILQ_NEXT SIMPLEQ_NEXT +#define STAILQ_REMOVE_HEAD SIMPLEQ_REMOVE_HEAD +#define STAILQ_FOREACH SIMPLEQ_FOREACH +#endif + +#ifndef STAILQ_FOREACH +#define STAILQ_FOREACH(var, head, field) \ + for((var) = STAILQ_FIRST((head)); \ + (var); \ + (var) = STAILQ_NEXT((var), field)) +#endif + +struct lshpack_enc_table_entry; + +STAILQ_HEAD(lshpack_enc_head, lshpack_enc_table_entry); +struct lshpack_double_enc_head; + +struct lshpack_enc +{ + unsigned hpe_cur_capacity; + unsigned hpe_max_capacity; + + /* Each new dynamic table entry gets the next number. It is used to + * calculate the entry's position in the decoder table without having + * to maintain an actual array. + */ + unsigned hpe_next_id; + + /* Dynamic table entries (struct enc_table_entry) live in two hash + * tables: name/value hash table and name hash table. These tables + * are the same size. + */ + unsigned hpe_nelem; + unsigned hpe_nbits; + struct lshpack_enc_head + hpe_all_entries; + struct lshpack_double_enc_head + *hpe_buckets; + + uint32_t *hpe_hist_buf; + unsigned hpe_hist_size, hpe_hist_idx; + int hpe_hist_wrapped; + enum { + LSHPACK_ENC_USE_HIST = 1 << 0, + } hpe_flags; +}; + +struct lshpack_arr +{ + unsigned nalloc, + nelem, + off; + uintptr_t *els; +}; + +struct lshpack_dec +{ + struct lshpack_arr hpd_dyn_table; + unsigned hpd_max_capacity; /* Maximum set by caller */ + unsigned hpd_cur_max_capacity; /* Adjusted at runtime */ + unsigned hpd_cur_capacity; + unsigned hpd_state; +}; + +/* This function may update hash values and flags */ +unsigned +lshpack_enc_get_stx_tab_id (struct lsxpack_header *); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/lsquic/src/lsquic-ns3.cpp b/external/lsquic/src/lsquic-ns3.cpp new file mode 100644 index 0000000..206fa53 --- /dev/null +++ b/external/lsquic/src/lsquic-ns3.cpp @@ -0,0 +1,596 @@ +#ifndef NS3_ASSERT_ENABLE +#define NS3_ASSERT_ENABLE +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "liblsquic/lsquic_int_types.h" + +extern "C" lsquic_time_t lsquic_time_now() { + return ns3::Simulator::Now().GetMicroSeconds(); +} + +template +inline auto optionTake(std::optional &optional) { + auto result = std::move(optional); + optional.reset(); + return result; +} + +namespace ns3 { + constexpr uint32_t kWindowSize = 64 << 10; + constexpr std::chrono::seconds kIdleTimeout{5}; + + struct LsquicCertificate { + ssl_ctx_st *ctx_{SSL_CTX_new(TLS_method())}; + }; + + class LsquicSocket; + class LsquicSocketFactory; + + inline sockaddr toSockaddr(const ns3::Address &address) { + auto endpoint = InetSocketAddress::ConvertFrom(address); + sockaddr_in sockaddr_in{ + sizeof(sockaddr_in), + AF_INET, + htons(endpoint.GetPort()), + {htonl(endpoint.GetIpv4().Get())}, + {}, + }; + return reinterpret_cast(sockaddr_in); + } + inline ns3::Address fromSockaddr(const sockaddr &sockaddr) { + auto &sockaddr_in = reinterpret_cast(sockaddr); + return InetSocketAddress{ + Ipv4Address{ntohl(sockaddr_in.sin_addr.s_addr)}, + ntohs(sockaddr_in.sin_port), + }; + } + + class LsquicEngine : public Object { + public: + LsquicEngine(Ptr factory, + const std::optional
&listen); + + ~LsquicEngine() { + // will call `LsquicEngine::on_conn_closed`, `LsquicEngine::on_close`. + lsquic_engine_destroy(engine_); + } + + void pollRead(Ptr); + + void pollWrite(Ptr, uint32_t) { + // will call `LsquicEngine::ea_packets_out`. + lsquic_engine_send_unsent_packets(engine_); + } + + void process(); + void wantProcess() { + if (want_process_) { + return; + } + want_process_ = true; + ns3::Simulator::ScheduleNow([this] { process(); }); + } + + /** + * Called from `lsquic_engine_connect` (client), + * `lsquic_engine_process_conns` (server). + */ + static lsquic_conn_ctx_t *on_new_conn(void *void_self, + lsquic_conn_t *ls_conn); + /** + * Called from `lsquic_engine_process_conns`, `lsquic_engine_destroy`. + */ + static void on_conn_closed(lsquic_conn_t *ls_conn); + /** + * Called from `lsquic_engine_packet_in` (client), + * `on_new_conn` (server). + */ + static void on_hsk_done(lsquic_conn_t *ls_conn, lsquic_hsk_status status); + /** + * Called from `lsquic_conn_make_stream` (client), + * `lsquic_engine_process_conns` (server). + */ + static lsquic_stream_ctx_t *on_new_stream(void *void_self, + lsquic_stream_t *ls_stream); + /** + * Called from `lsquic_engine_process_conns`, `lsquic_engine_destroy`. + */ + static void on_close(lsquic_stream_t *ls_stream, + lsquic_stream_ctx_t *ls_stream_ctx); + /** + * Called from `lsquic_engine_process_conns`. + * `lsquic_stream_flush` doesn't work inside `on_read`. + */ + static void on_read(lsquic_stream_t *ls_stream, + lsquic_stream_ctx_t *ls_stream_ctx); + /** + * Called from `lsquic_engine_process_conns`. + */ + static void on_write(lsquic_stream_t *ls_stream, + lsquic_stream_ctx_t *ls_stream_ctx); + /** + * Called from `lsquic_engine_connect` (client), + * `lsquic_engine_packet_in` (server). + */ + static ssl_ctx_st *ea_get_ssl_ctx(void *void_self, const sockaddr *); + /** + * Called from `lsquic_engine_process_conns`, + * `lsquic_engine_send_unsent_packets`. + */ + static int ea_packets_out(void *void_self, + const lsquic_out_spec *out_spec, + unsigned n_packets_out); + + Ptr factory_; + Ptr socket_; + sockaddr address_raw_; + lsquic_engine_t *engine_ = nullptr; + Ptr listener_; + std::optional> connecting_; + bool want_process_ = false; + std::vector> want_flush_; + }; + + class LsquicSocketFactory : public SocketFactory { + public: + static TypeId GetTypeId() { + static TypeId tid = TypeId("ns3::LsquicSocketFactory") + .SetParent() + .AddConstructor(); + return tid; + } + + // Object + void DoDispose() override; + + // SocketFactory + Ptr CreateSocket() override; + + Ptr node_; + Ptr client_; + std::map> servers_; + std::vector buffer_; + LsquicCertificate certificate_; + }; + NS_OBJECT_ENSURE_REGISTERED(LsquicSocketFactory); + + class LsquicSocket : public Socket { + friend class LsquicEngine; + + public: + static TypeId GetTypeId() { + static TypeId tid = TypeId("ns3::LsquicSocket") + .SetParent() + .AddConstructor(); + return tid; + } + + // Socket + SocketErrno GetErrno() const override { + return errno_; + } + SocketType GetSocketType() const override { + NS_ABORT_MSG("TODO: GetSocketType"); + } + Ptr GetNode() const override { + return factory_->node_; + } + int Bind(const Address &address) override { + NS_ASSERT(not server_.has_value()); + server_.emplace(true); + NS_ASSERT(not factory_->servers_.contains(address)); + NS_ASSERT(engine_ == nullptr); + engine_ = Create(factory_, address); + engine_->listener_ = this; + factory_->servers_.emplace(address, engine_); + return 0; + } + int Bind() override { + NS_ABORT_MSG("TODO: Bind"); + } + int Bind6() override { + NS_ABORT_MSG("TODO: Bind6"); + } + int Close() override { + NS_ABORT_MSG("TODO: Close"); + } + int ShutdownSend() override { + NS_ABORT_MSG("TODO: ShutdownSend"); + } + int ShutdownRecv() override { + NS_ABORT_MSG("TODO: ShutdownRecv"); + } + int Connect(const Address &address) override { + NS_ASSERT(not server_.has_value()); + server_.emplace(false); + NS_ASSERT(not connecting_); + connecting_ = true; + if (factory_->client_ == nullptr) { + factory_->client_ = Create(factory_, std::nullopt); + } + NS_ASSERT(engine_ == nullptr); + engine_ = factory_->client_; + NS_ASSERT(not engine_->connecting_.has_value()); + engine_->connecting_.emplace(this); + auto address_raw = toSockaddr(address); + // will call `LsquicEngine::ea_get_ssl_ctx`, `LsquicEngine::on_new_conn`. + lsquic_engine_connect(engine_->engine_, + N_LSQVER, + &engine_->address_raw_, + &address_raw, + &*engine_, + nullptr, + nullptr, + 0, + nullptr, + 0, + nullptr, + 0); + engine_->wantProcess(); + if (auto connecting = optionTake(engine_->connecting_)) { + NS_ABORT_MSG("TODO: lsquic_engine_connect error"); + return -1; + } + return 0; + } + int Listen() override { + NS_ASSERT(server_.has_value() and server_.value()); + return 0; + } + uint32_t GetTxAvailable() const override { + NS_ASSERT(server_.has_value() and not server_.value()); + if (ls_stream_ == nullptr) { + return 0; + } + return lsquic_stream_write_avail(ls_stream_); + } + int Send(Ptr packet, uint32_t flags) override { + NS_ASSERT(server_.has_value() and not server_.value()); + if (ls_stream_ == nullptr) { + errno_ = ERROR_AGAIN; + return -1; + } + factory_->buffer_.resize(packet->GetSize()); + packet->CopyData(factory_->buffer_.data(), packet->GetSize()); + auto r = lsquic_stream_write( + ls_stream_, factory_->buffer_.data(), factory_->buffer_.size()); + if (r == 0) { + errno_ = ERROR_AGAIN; + return -1; + } + errno_ = ERROR_NOTERROR; + NS_ASSERT(r > 0); + if (not want_flush_) { + want_flush_ = true; + engine_->want_flush_.emplace_back(this); + engine_->wantProcess(); + } + return r; + } + int SendTo(Ptr p, + uint32_t flags, + const Address &toAddress) override { + NS_ABORT_MSG("TODO: SendTo"); + } + uint32_t GetRxAvailable() const override { + NS_ABORT_MSG("TODO: GetRxAvailable"); + } + Ptr Recv(uint32_t maxSize, uint32_t flags) override { + NS_ASSERT(server_.has_value() and not server_.value()); + NS_ASSERT(ls_stream_ != nullptr); + maxSize = std::min(maxSize, kWindowSize); + if (factory_->buffer_.size() < maxSize) { + factory_->buffer_.resize(maxSize); + } + auto r = + lsquic_stream_read(ls_stream_, factory_->buffer_.data(), maxSize); + if (r == -1 and errno == EWOULDBLOCK) { + errno_ = ERROR_AGAIN; + return nullptr; + } + errno_ = ERROR_NOTERROR; + NS_ASSERT(r > 0); + return Create(factory_->buffer_.data(), r); + } + Ptr RecvFrom(uint32_t maxSize, + uint32_t flags, + Address &fromAddress) override { + NS_ABORT_MSG("TODO: RecvFrom"); + } + int GetSockName(Address &address) const override { + NS_ABORT_MSG("TODO: GetSockName"); + } + int GetPeerName(Address &address) const override { + NS_ABORT_MSG("TODO: GetPeerName"); + } + bool SetAllowBroadcast(bool allowBroadcast) override { + NS_ABORT_MSG("TODO: SetAllowBroadcast"); + } + bool GetAllowBroadcast() const override { + NS_ABORT_MSG("TODO: GetAllowBroadcast"); + } + + lsquic_conn_ctx_t *connCtx() { + return reinterpret_cast(this); + } + lsquic_stream_ctx_t *streamCtx() { + return reinterpret_cast(this); + } + static Ptr from(lsquic_conn_t *ls_conn) { + return reinterpret_cast(lsquic_conn_get_ctx(ls_conn)); + } + static Ptr from(lsquic_stream_ctx_t *ls_stream_ctx) { + return reinterpret_cast(ls_stream_ctx); + } + + Ptr factory_; + Ptr engine_; + std::optional server_; + bool connecting_ = false; + lsquic_conn_t *ls_conn_ = nullptr; + lsquic_stream_t *ls_stream_ = nullptr; + SocketErrno errno_ = ERROR_NOTERROR; + bool want_flush_ = false; + }; + NS_OBJECT_ENSURE_REGISTERED(LsquicSocket); + + void InstallLsquic(const Ptr &node) { + auto factory = + ObjectFactory{"ns3::LsquicSocketFactory"}.Create(); + factory->node_ = node; + node->AggregateObject(factory); + } + + LsquicEngine::LsquicEngine(Ptr factory, + const std::optional
&listen) + : factory_{factory} { + [[maybe_unused]] static auto init = [] { + NS_ASSERT(lsquic_global_init(LSQUIC_GLOBAL_CLIENT | LSQUIC_GLOBAL_SERVER) + == 0); + return 0; + }(); + + static auto tid = TypeId::LookupByName("ns3::UdpSocketFactory"); + socket_ = Socket::CreateSocket(factory_->node_, tid); + Address address; + if (listen.has_value()) { + address = listen.value(); + NS_ASSERT(socket_->Bind(address) == 0); + } else { + NS_ASSERT(socket_->Bind() == 0); + NS_ASSERT(socket_->GetSockName(address) == 0); + } + address_raw_ = toSockaddr(address); + socket_->SetRecvCallback(MakeCallback(&LsquicEngine::pollRead, this)); + socket_->SetSendCallback(MakeCallback(&LsquicEngine::pollWrite, this)); + + uint32_t flags = 0; + if (listen.has_value()) { + flags |= LSENG_SERVER; + } + + lsquic_engine_settings settings{}; + lsquic_engine_init_settings(&settings, flags); + settings.es_init_max_stream_data_bidi_remote = kWindowSize; + settings.es_init_max_stream_data_bidi_local = kWindowSize; + settings.es_idle_timeout = kIdleTimeout.count(); + settings.es_versions = LSQUIC_IETF_VERSIONS; + + static lsquic_stream_if stream_if{}; + stream_if.on_new_conn = on_new_conn; + stream_if.on_conn_closed = on_conn_closed; + stream_if.on_hsk_done = on_hsk_done; + stream_if.on_new_stream = on_new_stream; + stream_if.on_close = on_close; + stream_if.on_read = on_read; + stream_if.on_write = on_write; + + lsquic_engine_api api{}; + api.ea_settings = &settings; + api.ea_stream_if = &stream_if; + api.ea_stream_if_ctx = this; + api.ea_packets_out = ea_packets_out; + api.ea_packets_out_ctx = this; + api.ea_get_ssl_ctx = ea_get_ssl_ctx; + + engine_ = lsquic_engine_new(flags, &api); + NS_ASSERT(engine_ != nullptr); + } + + void LsquicEngine::pollRead(Ptr) { + Address from_address; + while (auto packet = socket_->RecvFrom(from_address)) { + auto packet_size = packet->GetSize(); + if (factory_->buffer_.size() < packet_size) { + factory_->buffer_.resize(packet_size); + } + packet->CopyData(factory_->buffer_.data(), packet_size); + auto from_address_raw = toSockaddr(from_address); + // will call `LsquicEngine::on_hsk_done`, `LsquicEngine::ea_get_ssl_ctx`. + lsquic_engine_packet_in(engine_, + factory_->buffer_.data(), + packet_size, + &address_raw_, + &from_address_raw, + this, + 0); + } + + process(); + } + + void LsquicEngine::process() { + want_process_ = false; + while (not want_flush_.empty()) { + auto socket = want_flush_.back(); + want_flush_.pop_back(); + socket->want_flush_ = false; + NS_ASSERT(socket->ls_stream_ != nullptr); + lsquic_stream_flush(socket->ls_stream_); + } + // will call `LsquicEngine::on_new_conn`, `LsquicEngine::on_conn_closed`, + // `LsquicEngine::on_new_stream`, `LsquicEngine::on_close`, `LsquicEngine::on_read`, + // `LsquicEngine::on_write`, `LsquicEngine::ea_packets_out`. + lsquic_engine_process_conns(engine_); + int us = 0; + if (not lsquic_engine_earliest_adv_tick(engine_, &us)) { + return; + } + if (us <= 0) { + return; + } + ns3::Simulator::Schedule(ns3::MicroSeconds(us), [this] { process(); }); + } + + lsquic_conn_ctx_t *LsquicEngine::on_new_conn(void *void_self, + lsquic_conn_t *ls_conn) { + LsquicEngine *self = static_cast(void_self); + auto connecting = optionTake(self->connecting_); + auto is_connecting = connecting.has_value(); + Ptr socket; + if (connecting.has_value()) { + socket = connecting.value(); + } else { + socket = Create(); + socket->factory_ = self->factory_; + socket->engine_ = self; + socket->server_.emplace(false); + } + socket->ls_conn_ = ls_conn; + socket->Ref(); + lsquic_conn_set_ctx(ls_conn, socket->connCtx()); + if (not is_connecting) { + // lsquic doesn't call `on_hsk_done` for incoming connection + on_hsk_done(ls_conn, LSQ_HSK_OK); + } + return socket->connCtx(); + } + + void LsquicEngine::on_conn_closed(lsquic_conn_t *ls_conn) { + auto socket = LsquicSocket::from(ls_conn); + lsquic_conn_set_ctx(ls_conn, nullptr); + if (socket->connecting_) { + socket->connecting_ = false; + socket->NotifyConnectionFailed(); + } else { + socket->NotifyNormalClose(); + } + socket->ls_conn_ = nullptr; + socket->Unref(); + } + + void LsquicEngine::on_hsk_done(lsquic_conn_t *ls_conn, + lsquic_hsk_status status) { + auto socket = LsquicSocket::from(ls_conn); + auto ok = status == LSQ_HSK_OK or status == LSQ_HSK_RESUMED_OK; + if (not ok) { + lsquic_conn_close(ls_conn); + } + if (socket->connecting_) { + if (not ok) { + socket->connecting_ = false; + socket->NotifyConnectionFailed(); + } else { + NS_ASSERT(socket->ls_stream_ == nullptr); + // will call `Engine::on_new_stream`. + lsquic_conn_make_stream(socket->ls_conn_); + NS_ASSERT(not socket->connecting_); + NS_ASSERT(socket->ls_stream_ != nullptr); + } + } + } + + lsquic_stream_ctx_t *LsquicEngine::on_new_stream(void *, + lsquic_stream_t *ls_stream) { + auto socket = LsquicSocket::from(lsquic_stream_conn(ls_stream)); + NS_ASSERT(socket->ls_stream_ == nullptr); + socket->ls_stream_ = ls_stream; + socket->Ref(); + lsquic_stream_set_ctx(ls_stream, socket->streamCtx()); + lsquic_stream_wantread(ls_stream, 1); + lsquic_stream_wantwrite(ls_stream, 1); + if (socket->connecting_) { + socket->connecting_ = false; + socket->NotifyConnectionSucceeded(); + } else { + const sockaddr *local_address_raw = nullptr; + const sockaddr *address_raw = nullptr; + lsquic_conn_get_sockaddr( + socket->ls_conn_, &local_address_raw, &address_raw); + socket->engine_->listener_->NotifyNewConnectionCreated( + socket, fromSockaddr(*address_raw)); + } + return socket->streamCtx(); + } + + void LsquicEngine::on_close(lsquic_stream_t *ls_stream, + lsquic_stream_ctx_t *ls_stream_ctx) { + auto socket = LsquicSocket::from(ls_stream_ctx); + NS_ABORT_MSG("TODO: notify close"); + socket->ls_stream_ = nullptr; + socket->Unref(); + } + + void LsquicEngine::on_read(lsquic_stream_t *ls_stream, + lsquic_stream_ctx_t *ls_stream_ctx) { + auto socket = LsquicSocket::from(ls_stream_ctx); + socket->NotifyDataRecv(); + } + + void LsquicEngine::on_write(lsquic_stream_t *ls_stream, + lsquic_stream_ctx_t *ls_stream_ctx) { + auto socket = LsquicSocket::from(ls_stream_ctx); + socket->NotifySend(socket->GetTxAvailable()); + } + + ssl_ctx_st *LsquicEngine::ea_get_ssl_ctx(void *void_self, const sockaddr *) { + LsquicEngine *self = static_cast(void_self); + return self->factory_->certificate_.ctx_; + } + + int LsquicEngine::ea_packets_out(void *void_self, + const lsquic_out_spec *out_spec, + unsigned n_packets_out) { + LsquicEngine *self = static_cast(void_self); + int packets = 0; + for (auto &spec : std::span{out_spec, n_packets_out}) { + auto address = fromSockaddr(*spec.dest_sa); + auto packet = Create(); + for (auto &iovec : std::span{spec.iov, spec.iovlen}) { + packet->AddAtEnd(Create( + static_cast(iovec.iov_base), iovec.iov_len)); + } + auto r = self->socket_->SendTo(packet, 0, address); + NS_ASSERT(r == packet->GetSize()); + ++packets; + } + return packets; + } + + void LsquicSocketFactory::DoDispose() { + node_ = nullptr; + client_ = nullptr; + servers_.clear(); + SocketFactory::DoDispose(); + } + + Ptr LsquicSocketFactory::CreateSocket() { + auto socket = Create(); + socket->factory_ = this; + return socket; + } +} // namespace ns3 diff --git a/lsquic-test.cpp b/lsquic-test.cpp new file mode 100644 index 0000000..74ad9d0 --- /dev/null +++ b/lsquic-test.cpp @@ -0,0 +1,259 @@ +#ifndef NS3_ASSERT_ENABLE +#define NS3_ASSERT_ENABLE +#endif + +#include +#include +#include +#include + +#include +#include + +using SocketPtr = ns3::Ptr; + +constexpr uint16_t kPort = 10000; +constexpr size_t kServer = 0; +constexpr size_t kClient0 = 1; + +const ns3::Ipv4Address kNetwork = "10.1.0.0"; +const ns3::Ipv4Mask kNetworkMask = "255.255.0.0"; +const uint32_t kNetworkReserved = 2; + +ns3::Ipv4Address indexIp(size_t index) { + return ns3::Ipv4Address{kNetwork.Get() + | (uint32_t)(index + kNetworkReserved)}; +} +ns3::InetSocketAddress indexAddress(size_t index) { + return ns3::InetSocketAddress{indexIp(index), kPort}; +} +size_t ipIndex(const ns3::Ipv4Address &ip) { + size_t index = ip.Get() & kNetworkMask.GetInverse(); + NS_ASSERT(index >= kNetworkReserved); + return index - kNetworkReserved; +} +size_t addressIndex(const ns3::Address &address) { + return ipIndex(ns3::InetSocketAddress::ConvertFrom(address).GetIpv4()); +} + +void wireNodes(ns3::PointToPointHelper &wire, + const ns3::NodeContainer &nodes, + size_t index1, + size_t index2) { + auto devices = wire.Install(nodes.Get(index1), nodes.Get(index2)); + auto route = + [&](size_t index1, size_t index2, ns3::Ptr device) { + auto ipv4 = device->GetNode()->GetObject(); + auto interface = ipv4->AddInterface(device); + auto routing = ns3::Ipv4StaticRoutingHelper{}.GetStaticRouting(ipv4); + ipv4->AddAddress(interface, {indexIp(index1), kNetworkMask}); + ipv4->SetUp(interface); + routing->RemoveRoute(routing->GetNRoutes() - 1); + routing->AddHostRouteTo(indexIp(index2), interface); + }; + route(index1, index2, devices.Get(0)); + route(index2, index1, devices.Get(1)); +} + +struct Config { + size_t client_count; + size_t message_size; +}; + +struct State { + struct Reading { + size_t remaining; + size_t last_time = 0; + }; + + const Config &config; + bool tcp; + size_t accept_remaining; + std::map> reading; + std::map> writing; + + State(const Config &config, bool tcp) + : config{config}, tcp{tcp}, accept_remaining{config.client_count} { + for (size_t index = kClient0; index <= config.client_count; ++index) { + reading[kServer].emplace(index, Reading{config.message_size}); + reading[index].emplace(kServer, Reading{config.message_size}); + writing[kServer].emplace(index, 0); + writing[index].emplace(kServer, 0); + } + } +}; + +struct App : ns3::Application { + App(size_t index, State &state) : index_{index}, state_{state} {} + + void StartApplication() override { + if (index_ == kServer) { + listener_ = makeSocket(); + NS_ASSERT(listener_->Bind(ns3::InetSocketAddress{ + ns3::Ipv4Address::GetAny(), + kPort, + }) + == 0); + NS_ASSERT(listener_->Listen() == 0); + listener_->SetAcceptCallback( + {}, [this](SocketPtr socket, const ns3::Address &address) { + --state_.accept_remaining; + auto index = addressIndex(address); + sockets_.emplace(index, socket); + setReadWrite(index); + }); + } + if (index_ != kServer) { + auto index = kServer; + auto socket = makeSocket(); + sockets_.emplace(index, socket); + setReadWrite(index); + NS_ASSERT(socket->Connect(indexAddress(index)) == 0); + write(index, state_.config.message_size); + } + } + + void setReadWrite(size_t index) { + auto &socket = sockets_.at(index); + auto &writing = state_.writing.at(index_).at(index); + socket->SetRecvCallback([this, index](SocketPtr) { pollRead(index); }); + socket->SetSendCallback( + [this, index, socket, &writing](SocketPtr, uint32_t) { + pollWrite(index, socket, writing); + }); + } + + void write(size_t index, size_t size) { + auto socket = sockets_.at(index); + auto &writing = state_.writing.at(index_).at(index); + writing = size; + pollWrite(index, socket, writing); + } + + void pollWrite(size_t index, SocketPtr socket, size_t &writing) { + if (writing == 0) { + return; + } + auto available = socket->GetTxAvailable(); + if (available == 0) { + return; + } + auto packet = + ns3::Create(std::min(writing, available)); + auto r = socket->Send(packet, 0); + if (r == -1) { + NS_ASSERT(socket->GetErrno() == ns3::Socket::ERROR_AGAIN); + return; + } + NS_ASSERT(r > 0); + writing -= r; + } + + void pollRead(size_t index) { + auto socket = sockets_.at(index); + while (auto packet = socket->Recv()) { + auto &reading1 = state_.reading.at(index_); + auto &reading = reading1.at(index); + reading.last_time = ns3::Simulator::Now().GetSeconds(); + auto size = packet->GetSize(); + NS_ASSERT(reading.remaining >= size); + reading.remaining -= size; + if (reading.remaining == 0) { + reading1.erase(index); + if (index_ == kServer) { + write(index, state_.config.message_size); + } + if (reading1.empty()) { + state_.reading.erase(index_); + } + if (state_.reading.empty()) { + ns3::Simulator::Stop(); + } + } + } + } + + SocketPtr makeSocket() { + return ns3::Socket::CreateSocket( + GetNode(), + ns3::TypeId::LookupByName(state_.tcp ? "ns3::TcpSocketFactory" + : "ns3::LsquicSocketFactory")); + } + + size_t index_; + State &state_; + SocketPtr listener_; + std::map sockets_; +}; + +void test(const Config &config, bool tcp) { + using C = std::chrono::steady_clock; + auto t0 = C::now(); + std::println("BEGIN clients={} size={} {}", + config.client_count, + config.message_size, + tcp ? "tcp" : "quic"); + State state{config, tcp}; + ns3::PointToPointHelper wire; + wire.SetDeviceAttribute("DataRate", ns3::DataRateValue{1024 * 1024 * 8}); + wire.SetChannelAttribute("Delay", ns3::TimeValue{ns3::MilliSeconds(1)}); + ns3::NodeContainer nodes; + nodes.Create(kClient0 + config.client_count); + for (size_t index = 0; index < nodes.GetN(); ++index) { + auto node = nodes.Get(index); + ns3::InternetStackHelper{}.Install(node); + ns3::InstallLsquic(node); + node->AddApplication(ns3::Create(index, state)); + if (index != kServer) { + wireNodes(wire, nodes, index, kServer); + } + } + + ns3::Simulator::Stop(ns3::Seconds(60)); + ns3::Simulator::Run(); + if (state.accept_remaining != 0) { + std::println("accept remaining {}", state.accept_remaining); + } + size_t read_remaining_n = 0; + std::string read_remaining_s; + for (auto &[index1, reading1] : state.reading) { + for (auto &[index2, reading] : reading1) { + read_remaining_n += reading.remaining; + read_remaining_s += std::format(" {} < {} {} {}s;", + index1, + index2, + reading.remaining, + reading.last_time); + } + } + if (read_remaining_n != 0) { + std::println("read remaining {}: {}", read_remaining_n, read_remaining_s); + } + std::println( + "END {}ms ({}ms)", + (size_t)ns3::Simulator::Now().GetMilliSeconds(), + std::chrono::duration_cast(C::now() - t0) + .count()); + ns3::Simulator::Destroy(); + std::println(); +} + +void test(bool tcp) { + test({1, 1000000}, tcp); + test({10, 1 * 1000000}, tcp); + test({10, 2 * 1000000}, tcp); + test({10, 4 * 1000000}, tcp); +} + +int main(int argc, char **argv) { + if (argc == 1) { + for (auto &tcp : {true, false}) { + test(tcp); + } + } else { + std::string_view arg{argv[1]}; + auto tcp = arg == "tcp", quic = arg == "quic"; + NS_ASSERT(tcp or quic); + test(tcp); + } +} diff --git a/main.cpp b/main.cpp index dde3e84..25213fc 100644 --- a/main.cpp +++ b/main.cpp @@ -621,7 +621,8 @@ namespace beamsim::example { PeerIndex index, SharedState &shared_state, Random &random) - : PeerBase{simulator, index, shared_state}, gossip_{*this, random,shared_state_.gossip_config} {} + : PeerBase{simulator, index, shared_state}, + gossip_{*this, random, shared_state_.gossip_config} {} // IPeer void onStart() override { @@ -924,6 +925,7 @@ void run_simulation(const SimulationConfig &config) { case SimulationConfig::Backend::NS3_DIRECT: { #ifdef ns3_FOUND beamsim::ns3_::Simulator simulator{metrics_ptr}; + simulator.setProtocol(config.protocol); if (config.backend == SimulationConfig::Backend::NS3) { simulator.routing_.initRouters(routers); } else { diff --git a/src/beamsim/ns3/protocol.hpp b/src/beamsim/ns3/protocol.hpp new file mode 100644 index 0000000..0aaced6 --- /dev/null +++ b/src/beamsim/ns3/protocol.hpp @@ -0,0 +1,8 @@ +#pragma once + +namespace beamsim::ns3_ { + enum class Protocol { + TCP, + QUIC, + }; +} // namespace beamsim::ns3_ diff --git a/src/beamsim/ns3/routing.hpp b/src/beamsim/ns3/routing.hpp index ffde56d..8c2f2af 100644 --- a/src/beamsim/ns3/routing.hpp +++ b/src/beamsim/ns3/routing.hpp @@ -282,7 +282,7 @@ namespace beamsim::ns3_ { } } if (mpiIsMain()) { - std::println(std::cout, "routing table rules: {}", + std::println("routing table rules: {}", ns3_::countRoutingTableRules(routers_)); } } diff --git a/src/beamsim/ns3/simulator.hpp b/src/beamsim/ns3/simulator.hpp index 9cf9665..4ff5a60 100644 --- a/src/beamsim/ns3/simulator.hpp +++ b/src/beamsim/ns3/simulator.hpp @@ -6,7 +6,9 @@ #include #include +#include #include +#include #include namespace beamsim::ns3_ { @@ -124,29 +126,44 @@ namespace beamsim::ns3_ { queue_.emplace_back(std::move(item)); } - ns3::Ptr readPacket(uint32_t available) { + ns3::Ptr peekPacket(uint32_t available) const { auto packet = ns3::Create(); - while (available != 0 and not queue_.empty()) { - auto &item = queue_.front(); - if (item.offset < item.data.size()) { - auto n = - std::min(available, item.data.size() - item.offset); + for (auto &item : queue_) { + auto offset = item.offset; + if (offset < item.data.size()) { + auto n = std::min(available, item.data.size() - offset); packet->AddAtEnd( - ns3::Create(item.data.data() + item.offset, n)); - item.offset += n; + ns3::Create(item.data.data() + offset, n)); + offset += n; available -= n; - } else if (item.offset < item.size) { - auto n = std::min(available, item.size - item.offset); + } + if (available == 0) { + break; + } + if (offset < item.size) { + auto n = std::min(available, item.size - offset); packet->AddPaddingAtEnd(n); - item.offset += n; available -= n; - } else { - queue_.pop_front(); + } + if (available == 0) { + break; } } return packet; } + void read(uint32_t want) { + while (want != 0 and not queue_.empty()) { + auto &item = queue_.front(); + auto n = std::min(want, item.size - item.offset); + item.offset += n; + want -= n; + if (item.offset >= item.size) { + queue_.pop_front(); + } + } + } + std::deque queue_; }; @@ -178,11 +195,7 @@ namespace beamsim::ns3_ { peer_->onStart(); } - SocketPtr makeSocket() { - auto socket = ns3::Socket::CreateSocket( - GetNode(), ns3::TypeId::LookupByName("ns3::TcpSocketFactory")); - return socket; - } + SocketPtr makeSocket(); void listen() { tcp_listener_ = makeSocket(); tcp_listener_->Bind(ns3::InetSocketAddress{ @@ -208,8 +221,14 @@ namespace beamsim::ns3_ { if (available == 0) { break; } - auto packet = state.writing.readPacket(available); - assert2(socket->Send(packet) == static_cast(packet->GetSize())); + auto packet = state.writing.peekPacket(available); + auto r = socket->Send(packet); + if (r == -1) { + assert2(socket->GetErrno() == socket->ERROR_AGAIN); + break; + } + assert2(r > 0); + state.writing.read(r); } } void onConnect(SocketPtr socket) { @@ -252,6 +271,10 @@ namespace beamsim::ns3_ { } } + void setProtocol(Protocol protocol) { + protocol_ = protocol; + } + // ISimulator ~Simulator() override { ns3::Simulator::Destroy(); @@ -305,7 +328,11 @@ namespace beamsim::ns3_ { if (isLocalPeer(index)) { auto peer = std::make_unique(*this, index, std::forward(a)...); application = ns3::Create(*this, std::move(peer)); - routing_.peers_.Get(index)->AddApplication(std::move(application)); + auto node = routing_.peers_.Get(index); + node->AddApplication(std::move(application)); + if (protocol_ == Protocol::QUIC) { + ns3::InstallLsquic(node); + } } } template @@ -367,6 +394,7 @@ namespace beamsim::ns3_ { } IMetrics *metrics_; + Protocol protocol_ = Protocol::TCP; bool cache_messages_ = true; std::vector> applications_; Routing routing_; @@ -374,6 +402,14 @@ namespace beamsim::ns3_ { std::unordered_map messages_; }; + SocketPtr Application::makeSocket() { + return ns3::Socket::CreateSocket( + GetNode(), + ns3::TypeId::LookupByName(simulator_.protocol_ == Protocol::TCP + ? "ns3::TcpSocketFactory" + : "ns3::LsquicSocketFactory")); + } + void Application::onAccept(SocketPtr socket, const ns3::Address &address) { auto index = simulator_.routing_.ip_peer_index_.at( ns3::InetSocketAddress::ConvertFrom(address).GetIpv4());